diff --git a/.clang-tidy b/.clang-tidy index 33d7a66d14c..bc854d57f8a 100644 --- a/.clang-tidy +++ b/.clang-tidy @@ -62,6 +62,7 @@ Checks: '*, -google-build-using-namespace, -google-readability-braces-around-statements, + -google-readability-casting, -google-readability-function-size, -google-readability-namespace-comments, -google-readability-todo, diff --git a/.github/workflows/backport.yml b/.github/workflows/backport.yml index 620c698284e..da42bbae78a 100644 --- a/.github/workflows/backport.yml +++ b/.github/workflows/backport.yml @@ -9,9 +9,11 @@ concurrency: on: # yamllint disable-line rule:truthy schedule: - cron: '0 */3 * * *' + workflow_dispatch: + jobs: CherryPick: - runs-on: [self-hosted, style-checker] + runs-on: [self-hosted, style-checker-aarch64] steps: - name: Set envs # https://docs.github.com/en/actions/learn-github-actions/workflow-commands-for-github-actions#multiline-strings diff --git a/.github/workflows/backport_branches.yml b/.github/workflows/backport_branches.yml index 57474c3d9dd..e88a121b5d3 100644 --- a/.github/workflows/backport_branches.yml +++ b/.github/workflows/backport_branches.yml @@ -143,6 +143,8 @@ jobs: sudo rm -fr "$GITHUB_WORKSPACE" && mkdir "$GITHUB_WORKSPACE" - name: Check out repository code uses: actions/checkout@v2 + with: + fetch-depth: 0 # For a proper version and performance artifacts - name: Build run: | git -C "$GITHUB_WORKSPACE" submodule sync --recursive @@ -188,6 +190,8 @@ jobs: sudo rm -fr "$GITHUB_WORKSPACE" && mkdir "$GITHUB_WORKSPACE" - name: Check out repository code uses: actions/checkout@v2 + with: + fetch-depth: 0 # For a proper version and performance artifacts - name: Build run: | git -C "$GITHUB_WORKSPACE" submodule sync --recursive @@ -359,15 +363,11 @@ jobs: steps: - name: Set envs run: | - DEPENDENCIES=$(cat << 'EOF' | jq '. | length' - ${{ toJSON(needs) }} - EOF - ) - echo "DEPENDENCIES=$DEPENDENCIES" >> "$GITHUB_ENV" cat >> "$GITHUB_ENV" << 'EOF' CHECK_NAME=ClickHouse build check (actions) REPORTS_PATH=${{runner.temp}}/reports_dir TEMP_PATH=${{runner.temp}}/report_check + NEEDS_DATA_PATH=${{runner.temp}}/needs.json EOF - name: Download json reports uses: actions/download-artifact@v2 @@ -382,8 +382,11 @@ jobs: run: | sudo rm -fr "$TEMP_PATH" mkdir -p "$TEMP_PATH" + cat > "$NEEDS_DATA_PATH" << 'EOF' + ${{ toJSON(needs) }} + EOF cd "$GITHUB_WORKSPACE/tests/ci" - python3 build_report_check.py "$CHECK_NAME" "$DEPENDENCIES" + python3 build_report_check.py "$CHECK_NAME" - name: Cleanup if: always() run: | diff --git a/.github/workflows/jepsen.yml b/.github/workflows/jepsen.yml index 9b7c4e63d48..1682cd1e812 100644 --- a/.github/workflows/jepsen.yml +++ b/.github/workflows/jepsen.yml @@ -7,11 +7,8 @@ concurrency: on: # yamllint disable-line rule:truthy schedule: - cron: '0 */6 * * *' - workflow_run: - workflows: ["PullRequestCI"] - types: - - completed workflow_dispatch: + workflow_call: jobs: KeeperJepsenRelease: runs-on: [self-hosted, style-checker] diff --git a/.github/workflows/master.yml b/.github/workflows/master.yml index 2af54da5e16..66ba8547894 100644 --- a/.github/workflows/master.yml +++ b/.github/workflows/master.yml @@ -643,7 +643,7 @@ jobs: # shellcheck disable=SC2046 docker rm -f $(docker ps -a -q) ||: sudo rm -fr "$TEMP_PATH" "$CACHES_PATH" - BuilderBinTidy: + BuilderBinClangTidy: needs: [DockerHubPush] runs-on: [self-hosted, builder] steps: @@ -970,16 +970,12 @@ jobs: steps: - name: Set envs run: | - DEPENDENCIES=$(cat << 'EOF' | jq '. | length' - ${{ toJSON(needs) }} - EOF - ) - echo "DEPENDENCIES=$DEPENDENCIES" >> "$GITHUB_ENV" cat >> "$GITHUB_ENV" << 'EOF' CHECK_NAME=ClickHouse build check (actions) REPORTS_PATH=${{runner.temp}}/reports_dir REPORTS_PATH=${{runner.temp}}/reports_dir TEMP_PATH=${{runner.temp}}/report_check + NEEDS_DATA_PATH=${{runner.temp}}/needs.json EOF - name: Download json reports uses: actions/download-artifact@v2 @@ -994,8 +990,11 @@ jobs: run: | sudo rm -fr "$TEMP_PATH" mkdir -p "$TEMP_PATH" + cat > "$NEEDS_DATA_PATH" << 'EOF' + ${{ toJSON(needs) }} + EOF cd "$GITHUB_WORKSPACE/tests/ci" - python3 build_report_check.py "$CHECK_NAME" "$DEPENDENCIES" + python3 build_report_check.py "$CHECK_NAME" - name: Cleanup if: always() run: | @@ -1012,21 +1011,17 @@ jobs: - BuilderBinFreeBSD # - BuilderBinGCC - BuilderBinPPC64 - - BuilderBinTidy + - BuilderBinClangTidy - BuilderDebSplitted runs-on: [self-hosted, style-checker] steps: - name: Set envs run: | - DEPENDENCIES=$(cat << 'EOF' | jq '. | length' - ${{ toJSON(needs) }} - EOF - ) - echo "DEPENDENCIES=$DEPENDENCIES" >> "$GITHUB_ENV" cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/report_check REPORTS_PATH=${{runner.temp}}/reports_dir CHECK_NAME=ClickHouse special build check (actions) + NEEDS_DATA_PATH=${{runner.temp}}/needs.json EOF - name: Download json reports uses: actions/download-artifact@v2 @@ -1041,8 +1036,11 @@ jobs: run: | sudo rm -fr "$TEMP_PATH" mkdir -p "$TEMP_PATH" + cat > "$NEEDS_DATA_PATH" << 'EOF' + ${{ toJSON(needs) }} + EOF cd "$GITHUB_WORKSPACE/tests/ci" - python3 build_report_check.py "$CHECK_NAME" "$DEPENDENCIES" + python3 build_report_check.py "$CHECK_NAME" - name: Cleanup if: always() run: | @@ -2913,7 +2911,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/performance_comparison REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Performance Comparison (actions) + CHECK_NAME=Performance Comparison REPO_COPY=${{runner.temp}}/performance_comparison/ClickHouse RUN_BY_HASH_NUM=0 RUN_BY_HASH_TOTAL=4 @@ -2951,7 +2949,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/performance_comparison REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Performance Comparison (actions) + CHECK_NAME=Performance Comparison REPO_COPY=${{runner.temp}}/performance_comparison/ClickHouse RUN_BY_HASH_NUM=1 RUN_BY_HASH_TOTAL=4 @@ -2989,7 +2987,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/performance_comparison REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Performance Comparison (actions) + CHECK_NAME=Performance Comparison REPO_COPY=${{runner.temp}}/performance_comparison/ClickHouse RUN_BY_HASH_NUM=2 RUN_BY_HASH_TOTAL=4 @@ -3027,7 +3025,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/performance_comparison REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Performance Comparison (actions) + CHECK_NAME=Performance Comparison REPO_COPY=${{runner.temp}}/performance_comparison/ClickHouse RUN_BY_HASH_NUM=3 RUN_BY_HASH_TOTAL=4 diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index b2ddd87d173..e712ada1551 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -81,7 +81,6 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' BUILD_NAME=coverity CACHES_PATH=${{runner.temp}}/../ccaches - CHECK_NAME=ClickHouse build check (actions) IMAGES_PATH=${{runner.temp}}/images_path REPO_COPY=${{runner.temp}}/build_check/ClickHouse TEMP_PATH=${{runner.temp}}/build_check @@ -99,13 +98,15 @@ jobs: id: coverity-checkout uses: actions/checkout@v2 with: - submodules: 'true' + fetch-depth: 0 # otherwise we will have no info about contributors - name: Build run: | + git -C "$GITHUB_WORKSPACE" submodule sync + git -C "$GITHUB_WORKSPACE" submodule update --depth=1 --init --jobs=10 sudo rm -fr "$TEMP_PATH" mkdir -p "$TEMP_PATH" cp -r "$GITHUB_WORKSPACE" "$TEMP_PATH" - cd "$REPO_COPY/tests/ci" && python3 build_check.py "$CHECK_NAME" "$BUILD_NAME" + cd "$REPO_COPY/tests/ci" && python3 build_check.py "$BUILD_NAME" - name: Upload Coverity Analysis if: ${{ success() || failure() }} run: | diff --git a/.github/workflows/pull_request.yml b/.github/workflows/pull_request.yml index 01490dff59e..9cd8fd6f49d 100644 --- a/.github/workflows/pull_request.yml +++ b/.github/workflows/pull_request.yml @@ -707,7 +707,7 @@ jobs: # shellcheck disable=SC2046 docker rm -f $(docker ps -a -q) ||: sudo rm -fr "$TEMP_PATH" "$CACHES_PATH" - BuilderBinTidy: + BuilderBinClangTidy: needs: [DockerHubPush, FastTest] runs-on: [self-hosted, builder] steps: @@ -1025,15 +1025,11 @@ jobs: steps: - name: Set envs run: | - DEPENDENCIES=$(cat << 'EOF' | jq '. | length' - ${{ toJSON(needs) }} - EOF - ) - echo "DEPENDENCIES=$DEPENDENCIES" >> "$GITHUB_ENV" cat >> "$GITHUB_ENV" << 'EOF' CHECK_NAME=ClickHouse build check (actions) REPORTS_PATH=${{runner.temp}}/reports_dir TEMP_PATH=${{runner.temp}}/report_check + NEEDS_DATA_PATH=${{runner.temp}}/needs.json EOF - name: Download json reports uses: actions/download-artifact@v2 @@ -1048,8 +1044,11 @@ jobs: run: | sudo rm -fr "$TEMP_PATH" mkdir -p "$TEMP_PATH" + cat > "$NEEDS_DATA_PATH" << 'EOF' + ${{ toJSON(needs) }} + EOF cd "$GITHUB_WORKSPACE/tests/ci" - python3 build_report_check.py "$CHECK_NAME" "$DEPENDENCIES" + python3 build_report_check.py "$CHECK_NAME" - name: Cleanup if: always() run: | @@ -1066,22 +1065,18 @@ jobs: - BuilderBinFreeBSD # - BuilderBinGCC - BuilderBinPPC64 - - BuilderBinTidy + - BuilderBinClangTidy - BuilderDebSplitted runs-on: [self-hosted, style-checker] if: ${{ success() || failure() }} steps: - name: Set envs run: | - DEPENDENCIES=$(cat << 'EOF' | jq '. | length' - ${{ toJSON(needs) }} - EOF - ) - echo "DEPENDENCIES=$DEPENDENCIES" >> "$GITHUB_ENV" cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/report_check REPORTS_PATH=${{runner.temp}}/reports_dir CHECK_NAME=ClickHouse special build check (actions) + NEEDS_DATA_PATH=${{runner.temp}}/needs.json EOF - name: Download json reports uses: actions/download-artifact@v2 @@ -1096,8 +1091,11 @@ jobs: run: | sudo rm -fr "$TEMP_PATH" mkdir -p "$TEMP_PATH" + cat > "$NEEDS_DATA_PATH" << 'EOF' + ${{ toJSON(needs) }} + EOF cd "$GITHUB_WORKSPACE/tests/ci" - python3 build_report_check.py "$CHECK_NAME" "$DEPENDENCIES" + python3 build_report_check.py "$CHECK_NAME" - name: Cleanup if: always() run: | @@ -3129,7 +3127,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/performance_comparison REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Performance Comparison (actions) + CHECK_NAME=Performance Comparison REPO_COPY=${{runner.temp}}/performance_comparison/ClickHouse RUN_BY_HASH_NUM=0 RUN_BY_HASH_TOTAL=4 @@ -3167,7 +3165,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/performance_comparison REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Performance Comparison (actions) + CHECK_NAME=Performance Comparison REPO_COPY=${{runner.temp}}/performance_comparison/ClickHouse RUN_BY_HASH_NUM=1 RUN_BY_HASH_TOTAL=4 @@ -3205,7 +3203,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/performance_comparison REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Performance Comparison (actions) + CHECK_NAME=Performance Comparison REPO_COPY=${{runner.temp}}/performance_comparison/ClickHouse RUN_BY_HASH_NUM=2 RUN_BY_HASH_TOTAL=4 @@ -3243,7 +3241,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/performance_comparison REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Performance Comparison (actions) + CHECK_NAME=Performance Comparison REPO_COPY=${{runner.temp}}/performance_comparison/ClickHouse RUN_BY_HASH_NUM=3 RUN_BY_HASH_TOTAL=4 @@ -3272,6 +3270,165 @@ jobs: # shellcheck disable=SC2046 docker rm -f $(docker ps -a -q) ||: sudo rm -fr "$TEMP_PATH" + PerformanceComparisonAarch0: + needs: [BuilderDebAarch64] + runs-on: [self-hosted, func-tester-aarch64] + steps: + - name: Set envs + run: | + cat >> "$GITHUB_ENV" << 'EOF' + TEMP_PATH=${{runner.temp}}/performance_comparison + REPORTS_PATH=${{runner.temp}}/reports_dir + CHECK_NAME=Performance Comparison Aarch64 + REPO_COPY=${{runner.temp}}/performance_comparison/ClickHouse + RUN_BY_HASH_NUM=0 + RUN_BY_HASH_TOTAL=4 + EOF + - name: Download json reports + uses: actions/download-artifact@v2 + with: + path: ${{ env.REPORTS_PATH }} + - name: Clear repository + run: | + sudo rm -fr "$GITHUB_WORKSPACE" && mkdir "$GITHUB_WORKSPACE" + - name: Check out repository code + uses: actions/checkout@v2 + - name: Performance Comparison + run: | + sudo rm -fr "$TEMP_PATH" + mkdir -p "$TEMP_PATH" + cp -r "$GITHUB_WORKSPACE" "$TEMP_PATH" + cd "$REPO_COPY/tests/ci" + python3 performance_comparison_check.py "$CHECK_NAME" + - name: Cleanup + if: always() + run: | + # shellcheck disable=SC2046 + docker kill $(docker ps -q) ||: + # shellcheck disable=SC2046 + docker rm -f $(docker ps -a -q) ||: + sudo rm -fr "$TEMP_PATH" + PerformanceComparisonAarch1: + needs: [BuilderDebAarch64] + runs-on: [self-hosted, func-tester-aarch64] + steps: + - name: Set envs + run: | + cat >> "$GITHUB_ENV" << 'EOF' + TEMP_PATH=${{runner.temp}}/performance_comparison + REPORTS_PATH=${{runner.temp}}/reports_dir + CHECK_NAME=Performance Comparison Aarch64 + REPO_COPY=${{runner.temp}}/performance_comparison/ClickHouse + RUN_BY_HASH_NUM=1 + RUN_BY_HASH_TOTAL=4 + EOF + - name: Download json reports + uses: actions/download-artifact@v2 + with: + path: ${{ env.REPORTS_PATH }} + - name: Clear repository + run: | + sudo rm -fr "$GITHUB_WORKSPACE" && mkdir "$GITHUB_WORKSPACE" + - name: Check out repository code + uses: actions/checkout@v2 + - name: Performance Comparison + run: | + sudo rm -fr "$TEMP_PATH" + mkdir -p "$TEMP_PATH" + cp -r "$GITHUB_WORKSPACE" "$TEMP_PATH" + cd "$REPO_COPY/tests/ci" + python3 performance_comparison_check.py "$CHECK_NAME" + - name: Cleanup + if: always() + run: | + # shellcheck disable=SC2046 + docker kill $(docker ps -q) ||: + # shellcheck disable=SC2046 + docker rm -f $(docker ps -a -q) ||: + sudo rm -fr "$TEMP_PATH" + PerformanceComparisonAarch2: + needs: [BuilderDebAarch64] + runs-on: [self-hosted, func-tester-aarch64] + steps: + - name: Set envs + run: | + cat >> "$GITHUB_ENV" << 'EOF' + TEMP_PATH=${{runner.temp}}/performance_comparison + REPORTS_PATH=${{runner.temp}}/reports_dir + CHECK_NAME=Performance Comparison Aarch64 + REPO_COPY=${{runner.temp}}/performance_comparison/ClickHouse + RUN_BY_HASH_NUM=2 + RUN_BY_HASH_TOTAL=4 + EOF + - name: Download json reports + uses: actions/download-artifact@v2 + with: + path: ${{ env.REPORTS_PATH }} + - name: Clear repository + run: | + sudo rm -fr "$GITHUB_WORKSPACE" && mkdir "$GITHUB_WORKSPACE" + - name: Check out repository code + uses: actions/checkout@v2 + - name: Performance Comparison + run: | + sudo rm -fr "$TEMP_PATH" + mkdir -p "$TEMP_PATH" + cp -r "$GITHUB_WORKSPACE" "$TEMP_PATH" + cd "$REPO_COPY/tests/ci" + python3 performance_comparison_check.py "$CHECK_NAME" + - name: Cleanup + if: always() + run: | + # shellcheck disable=SC2046 + docker kill $(docker ps -q) ||: + # shellcheck disable=SC2046 + docker rm -f $(docker ps -a -q) ||: + sudo rm -fr "$TEMP_PATH" + PerformanceComparisonAarch3: + needs: [BuilderDebAarch64] + runs-on: [self-hosted, func-tester-aarch64] + steps: + - name: Set envs + run: | + cat >> "$GITHUB_ENV" << 'EOF' + TEMP_PATH=${{runner.temp}}/performance_comparison + REPORTS_PATH=${{runner.temp}}/reports_dir + CHECK_NAME=Performance Comparison Aarch64 + REPO_COPY=${{runner.temp}}/performance_comparison/ClickHouse + RUN_BY_HASH_NUM=3 + RUN_BY_HASH_TOTAL=4 + EOF + - name: Download json reports + uses: actions/download-artifact@v2 + with: + path: ${{ env.REPORTS_PATH }} + - name: Clear repository + run: | + sudo rm -fr "$GITHUB_WORKSPACE" && mkdir "$GITHUB_WORKSPACE" + - name: Check out repository code + uses: actions/checkout@v2 + - name: Performance Comparison + run: | + sudo rm -fr "$TEMP_PATH" + mkdir -p "$TEMP_PATH" + cp -r "$GITHUB_WORKSPACE" "$TEMP_PATH" + cd "$REPO_COPY/tests/ci" + python3 performance_comparison_check.py "$CHECK_NAME" + - name: Cleanup + if: always() + run: | + # shellcheck disable=SC2046 + docker kill $(docker ps -q) ||: + # shellcheck disable=SC2046 + docker rm -f $(docker ps -a -q) ||: + sudo rm -fr "$TEMP_PATH" +############################################################################################# +###################################### JEPSEN TESTS ######################################### +############################################################################################# + Jepsen: + needs: [BuilderBinRelease] + uses: ./.github/workflows/jepsen.yml + FinishCheck: needs: - StyleCheck @@ -3328,6 +3485,10 @@ jobs: - PerformanceComparison1 - PerformanceComparison2 - PerformanceComparison3 + - PerformanceComparisonAarch0 + - PerformanceComparisonAarch1 + - PerformanceComparisonAarch2 + - PerformanceComparisonAarch3 - UnitTestsAsan - UnitTestsTsan - UnitTestsMsan @@ -3336,6 +3497,7 @@ jobs: - SplitBuildSmokeTest - CompatibilityCheck - IntegrationTestsFlakyCheck + - Jepsen runs-on: [self-hosted, style-checker] steps: - name: Clear repository diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 83e22c0b7c6..4d57ae450c4 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -21,6 +21,9 @@ jobs: EOF - name: Check out repository code uses: actions/checkout@v2 + with: + # Always use the most recent script version + ref: master - name: Download packages and push to Artifactory run: | rm -rf "$TEMP_PATH" && mkdir -p "$TEMP_PATH" diff --git a/.github/workflows/release_branches.yml b/.github/workflows/release_branches.yml index c16a4a6a568..a7a4b62a494 100644 --- a/.github/workflows/release_branches.yml +++ b/.github/workflows/release_branches.yml @@ -442,16 +442,12 @@ jobs: steps: - name: Set envs run: | - DEPENDENCIES=$(cat << 'EOF' | jq '. | length' - ${{ toJSON(needs) }} - EOF - ) - echo "DEPENDENCIES=$DEPENDENCIES" >> "$GITHUB_ENV" cat >> "$GITHUB_ENV" << 'EOF' CHECK_NAME=ClickHouse build check (actions) REPORTS_PATH=${{runner.temp}}/reports_dir REPORTS_PATH=${{runner.temp}}/reports_dir TEMP_PATH=${{runner.temp}}/report_check + NEEDS_DATA_PATH=${{runner.temp}}/needs.json EOF - name: Download json reports uses: actions/download-artifact@v2 @@ -466,8 +462,11 @@ jobs: run: | sudo rm -fr "$TEMP_PATH" mkdir -p "$TEMP_PATH" + cat > "$NEEDS_DATA_PATH" << 'EOF' + ${{ toJSON(needs) }} + EOF cd "$GITHUB_WORKSPACE/tests/ci" - python3 build_report_check.py "$CHECK_NAME" "$DEPENDENCIES" + python3 build_report_check.py "$CHECK_NAME" - name: Cleanup if: always() run: | diff --git a/.gitmodules b/.gitmodules index 88f89618857..979f347e6ad 100644 --- a/.gitmodules +++ b/.gitmodules @@ -86,9 +86,6 @@ [submodule "contrib/h3"] path = contrib/h3 url = https://github.com/ClickHouse/h3 -[submodule "contrib/hyperscan"] - path = contrib/hyperscan - url = https://github.com/ClickHouse/hyperscan.git [submodule "contrib/libunwind"] path = contrib/libunwind url = https://github.com/ClickHouse/libunwind.git @@ -271,3 +268,12 @@ [submodule "contrib/nats-io"] path = contrib/nats-io url = https://github.com/ClickHouse/nats.c.git +[submodule "contrib/vectorscan"] + path = contrib/vectorscan + url = https://github.com/VectorCamp/vectorscan.git +[submodule "contrib/liburing"] + path = contrib/liburing + url = https://github.com/axboe/liburing.git +[submodule "contrib/base-x"] + path = contrib/base-x + url = https://github.com/ClickHouse/base-x.git diff --git a/.pylintrc b/.pylintrc index add9a2aa94b..b672cbfdfad 100644 --- a/.pylintrc +++ b/.pylintrc @@ -13,9 +13,7 @@ max-statements=200 ignore-long-lines = (# )??$ [MESSAGES CONTROL] -disable = bad-continuation, - missing-docstring, - bad-whitespace, +disable = missing-docstring, too-few-public-methods, invalid-name, too-many-arguments, diff --git a/CHANGELOG.md b/CHANGELOG.md index e92f93b54ac..dfc51952250 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,10 +1,176 @@ ### Table of Contents +**[ClickHouse release v22.6, 2022-06-16](#226)**
**[ClickHouse release v22.5, 2022-05-19](#225)**
**[ClickHouse release v22.4, 2022-04-20](#224)**
**[ClickHouse release v22.3-lts, 2022-03-17](#223)**
**[ClickHouse release v22.2, 2022-02-17](#222)**
**[ClickHouse release v22.1, 2022-01-18](#221)**
-**[Changelog for 2021](https://github.com/ClickHouse/ClickHouse/blob/master/docs/en/whats-new/changelog/2021.md)**
+**[Changelog for 2021](https://clickhouse.com/docs/en/whats-new/changelog/2021/)**
+ +### ClickHouse release 22.6, 2022-06-16 + +#### Backward Incompatible Change +* Remove support for octal number literals in SQL. In previous versions they were parsed as Float64. [#37765](https://github.com/ClickHouse/ClickHouse/pull/37765) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)). +* Changes how settings using `seconds` as type are parsed to support floating point values (for example: `max_execution_time=0.5`). Infinity or NaN values will throw an exception. [#37187](https://github.com/ClickHouse/ClickHouse/pull/37187) ([Raúl Marín](https://github.com/Algunenano)). +* Changed format of binary serialization of columns of experimental type `Object`. New format is more convenient to implement by third-party clients. [#37482](https://github.com/ClickHouse/ClickHouse/pull/37482) ([Anton Popov](https://github.com/CurtizJ)). +* Turn on setting `output_format_json_named_tuples_as_objects` by default. It allows to serialize named tuples as JSON objects in JSON formats. [#37756](https://github.com/ClickHouse/ClickHouse/pull/37756) ([Anton Popov](https://github.com/CurtizJ)). +* LIKE patterns with trailing escape symbol ('\\') are now disallowed (as mandated by the SQL standard). [#37764](https://github.com/ClickHouse/ClickHouse/pull/37764) ([Robert Schulze](https://github.com/rschu1ze)). +* If you run different ClickHouse versions on a cluster with AArch64 CPU or mix AArch64 and amd64 on a cluster, and use distributed queries with GROUP BY multiple keys of fixed-size type that fit in 256 bits but don't fit in 64 bits, and the size of the result is huge, the data will not be fully aggregated in the result of these queries during upgrade. Workaround: upgrade with downtime instead of a rolling upgrade. + +#### New Feature +* Add `GROUPING` function. It allows to disambiguate the records in the queries with `ROLLUP`, `CUBE` or `GROUPING SETS`. Closes [#19426](https://github.com/ClickHouse/ClickHouse/issues/19426). [#37163](https://github.com/ClickHouse/ClickHouse/pull/37163) ([Dmitry Novik](https://github.com/novikd)). +* A new codec [FPC](https://userweb.cs.txstate.edu/~burtscher/papers/dcc07a.pdf) algorithm for floating point data compression. [#37553](https://github.com/ClickHouse/ClickHouse/pull/37553) ([Mikhail Guzov](https://github.com/koloshmet)). +* Add new columnar JSON formats: `JSONColumns`, `JSONCompactColumns`, `JSONColumnsWithMetadata`. Closes [#36338](https://github.com/ClickHouse/ClickHouse/issues/36338) Closes [#34509](https://github.com/ClickHouse/ClickHouse/issues/34509). [#36975](https://github.com/ClickHouse/ClickHouse/pull/36975) ([Kruglov Pavel](https://github.com/Avogar)). +* Added open telemetry traces visualizing tool based on d3js. [#37810](https://github.com/ClickHouse/ClickHouse/pull/37810) ([Sergei Trifonov](https://github.com/serxa)). +* Support INSERTs into `system.zookeeper` table. Closes [#22130](https://github.com/ClickHouse/ClickHouse/issues/22130). [#37596](https://github.com/ClickHouse/ClickHouse/pull/37596) ([Han Fei](https://github.com/hanfei1991)). +* Support non-constant pattern argument for `LIKE`, `ILIKE` and `match` functions. [#37251](https://github.com/ClickHouse/ClickHouse/pull/37251) ([Robert Schulze](https://github.com/rschu1ze)). +* Executable user defined functions now support parameters. Example: `SELECT test_function(parameters)(arguments)`. Closes [#37578](https://github.com/ClickHouse/ClickHouse/issues/37578). [#37720](https://github.com/ClickHouse/ClickHouse/pull/37720) ([Maksim Kita](https://github.com/kitaisreal)). +* Add `merge_reason` column to system.part_log table. [#36912](https://github.com/ClickHouse/ClickHouse/pull/36912) ([Sema Checherinda](https://github.com/CheSema)). +* Add support for Maps and Records in Avro format. Add new setting `input_format_avro_null_as_default ` that allow to insert null as default in Avro format. Closes [#18925](https://github.com/ClickHouse/ClickHouse/issues/18925) Closes [#37378](https://github.com/ClickHouse/ClickHouse/issues/37378) Closes [#32899](https://github.com/ClickHouse/ClickHouse/issues/32899). [#37525](https://github.com/ClickHouse/ClickHouse/pull/37525) ([Kruglov Pavel](https://github.com/Avogar)). +* Add `clickhouse-disks` tool to introspect and operate on virtual filesystems configured for ClickHouse. [#36060](https://github.com/ClickHouse/ClickHouse/pull/36060) ([Artyom Yurkov](https://github.com/Varinara)). +* Adds H3 unidirectional edge functions. [#36843](https://github.com/ClickHouse/ClickHouse/pull/36843) ([Bharat Nallan](https://github.com/bharatnc)). +* Add support for calculating [hashids](https://hashids.org/) from unsigned integers. [#37013](https://github.com/ClickHouse/ClickHouse/pull/37013) ([Michael Nutt](https://github.com/mnutt)). +* Explicit `SALT` specification is allowed for `CREATE USER IDENTIFIED WITH sha256_hash`. [#37377](https://github.com/ClickHouse/ClickHouse/pull/37377) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)). +* Add two new settings `input_format_csv_skip_first_lines/input_format_tsv_skip_first_lines` to allow skipping specified number of lines in the beginning of the file in CSV/TSV formats. [#37537](https://github.com/ClickHouse/ClickHouse/pull/37537) ([Kruglov Pavel](https://github.com/Avogar)). +* `showCertificate` function shows current server's SSL certificate. [#37540](https://github.com/ClickHouse/ClickHouse/pull/37540) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)). +* HTTP source for Data Dictionaries in Named Collections is supported. [#37581](https://github.com/ClickHouse/ClickHouse/pull/37581) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)). +* Implemented changing the comment for `ReplicatedMergeTree` tables. [#37416](https://github.com/ClickHouse/ClickHouse/pull/37416) ([Vasily Nemkov](https://github.com/Enmk)). +* Added `SYSTEM UNFREEZE` query that deletes the whole backup regardless if the corresponding table is deleted or not. [#36424](https://github.com/ClickHouse/ClickHouse/pull/36424) ([Vadim Volodin](https://github.com/PolyProgrammist)). + +#### Experimental Feature +* Enables `POPULATE` for `WINDOW VIEW`. [#36945](https://github.com/ClickHouse/ClickHouse/pull/36945) ([vxider](https://github.com/Vxider)). +* `ALTER TABLE ... MODIFY QUERY` support for `WINDOW VIEW`. [#37188](https://github.com/ClickHouse/ClickHouse/pull/37188) ([vxider](https://github.com/Vxider)). +* This PR changes the behavior of the `ENGINE` syntax in `WINDOW VIEW`, to make it like in `MATERIALIZED VIEW`. [#37214](https://github.com/ClickHouse/ClickHouse/pull/37214) ([vxider](https://github.com/Vxider)). + +#### Performance Improvement +* Added numerous optimizations for ARM NEON [#38093](https://github.com/ClickHouse/ClickHouse/pull/38093)([Daniel Kutenin](https://github.com/danlark1)), ([Alexandra Pilipyuk](https://github.com/chalice19)) Note: if you run different ClickHouse versions on a cluster with ARM CPU and use distributed queries with GROUP BY multiple keys of fixed-size type that fit in 256 bits but don't fit in 64 bits, the result of the aggregation query will be wrong during upgrade. Workaround: upgrade with downtime instead of a rolling upgrade. +* Improve performance and memory usage for select of subset of columns for formats Native, Protobuf, CapnProto, JSONEachRow, TSKV, all formats with suffixes WithNames/WithNamesAndTypes. Previously while selecting only subset of columns from files in these formats all columns were read and stored in memory. Now only required columns are read. This PR enables setting `input_format_skip_unknown_fields` by default, because otherwise in case of select of subset of columns exception will be thrown. [#37192](https://github.com/ClickHouse/ClickHouse/pull/37192) ([Kruglov Pavel](https://github.com/Avogar)). +* Now more filters can be pushed down for join. [#37472](https://github.com/ClickHouse/ClickHouse/pull/37472) ([Amos Bird](https://github.com/amosbird)). +* Load marks for only necessary columns when reading wide parts. [#36879](https://github.com/ClickHouse/ClickHouse/pull/36879) ([Anton Kozlov](https://github.com/tonickkozlov)). +* Improved performance of aggregation in case, when sparse columns (can be enabled by experimental setting `ratio_of_defaults_for_sparse_serialization` in `MergeTree` tables) are used as arguments in aggregate functions. [#37617](https://github.com/ClickHouse/ClickHouse/pull/37617) ([Anton Popov](https://github.com/CurtizJ)). +* Optimize function `COALESCE` with two arguments. [#37666](https://github.com/ClickHouse/ClickHouse/pull/37666) ([Anton Popov](https://github.com/CurtizJ)). +* Replace `multiIf` to `if` in case when `multiIf` has only one condition, because function `if` is more performant. [#37695](https://github.com/ClickHouse/ClickHouse/pull/37695) ([Anton Popov](https://github.com/CurtizJ)). +* Improve performance of `dictGetDescendants`, `dictGetChildren` functions, create temporary parent to children hierarchical index per query, not per function call during query. Allow to specify `BIDIRECTIONAL` for `HIERARHICAL` attributes, dictionary will maintain parent to children index in memory, that way functions `dictGetDescendants`, `dictGetChildren` will not create temporary index per query. Closes [#32481](https://github.com/ClickHouse/ClickHouse/issues/32481). [#37148](https://github.com/ClickHouse/ClickHouse/pull/37148) ([Maksim Kita](https://github.com/kitaisreal)). +* Aggregates state destruction now may be posted on a thread pool. For queries with LIMIT and big state it provides significant speedup, e.g. `select uniq(number) from numbers_mt(1e7) group by number limit 100` became around 2.5x faster. [#37855](https://github.com/ClickHouse/ClickHouse/pull/37855) ([Nikita Taranov](https://github.com/nickitat)). +* Improve sort performance by single column. [#37195](https://github.com/ClickHouse/ClickHouse/pull/37195) ([Maksim Kita](https://github.com/kitaisreal)). +* Improve performance of single column sorting using sorting queue specializations. [#37990](https://github.com/ClickHouse/ClickHouse/pull/37990) ([Maksim Kita](https://github.com/kitaisreal)). +* Improved performance on array norm and distance functions 2x-4x times. [#37394](https://github.com/ClickHouse/ClickHouse/pull/37394) ([Alexander Gololobov](https://github.com/davenger)). +* Improve performance of number comparison functions using dynamic dispatch. [#37399](https://github.com/ClickHouse/ClickHouse/pull/37399) ([Maksim Kita](https://github.com/kitaisreal)). +* Improve performance of ORDER BY with LIMIT. [#37481](https://github.com/ClickHouse/ClickHouse/pull/37481) ([Maksim Kita](https://github.com/kitaisreal)). +* Improve performance of `hasAll` function using dynamic dispatch infrastructure. [#37484](https://github.com/ClickHouse/ClickHouse/pull/37484) ([Maksim Kita](https://github.com/kitaisreal)). +* Improve performance of `greatCircleAngle`, `greatCircleDistance`, `geoDistance` functions. [#37524](https://github.com/ClickHouse/ClickHouse/pull/37524) ([Maksim Kita](https://github.com/kitaisreal)). +* Improve performance of insert into MergeTree if there are multiple columns in ORDER BY. [#35762](https://github.com/ClickHouse/ClickHouse/pull/35762) ([Maksim Kita](https://github.com/kitaisreal)). +* Fix excessive CPU usage in background when there are a lot of tables. [#38028](https://github.com/ClickHouse/ClickHouse/pull/38028) ([Maksim Kita](https://github.com/kitaisreal)). +* Improve performance of `not` function using dynamic dispatch. [#38058](https://github.com/ClickHouse/ClickHouse/pull/38058) ([Maksim Kita](https://github.com/kitaisreal)). +* Optimized the internal caching of re2 patterns which occur e.g. in LIKE and MATCH functions. [#37544](https://github.com/ClickHouse/ClickHouse/pull/37544) ([Robert Schulze](https://github.com/rschu1ze)). +* Improve filter bitmask generator function all in one with AVX-512 instructions. [#37588](https://github.com/ClickHouse/ClickHouse/pull/37588) ([yaqi-zhao](https://github.com/yaqi-zhao)). +* Apply read method `threadpool` for Hive integration engine. This will significantly speed up reading. [#36328](https://github.com/ClickHouse/ClickHouse/pull/36328) ([李扬](https://github.com/taiyang-li)). +* When all the columns to read are partition keys, construct columns by the file's row number without real reading the Hive file. [#37103](https://github.com/ClickHouse/ClickHouse/pull/37103) ([lgbo](https://github.com/lgbo-ustc)). +* Support multi disks for caching hive files. [#37279](https://github.com/ClickHouse/ClickHouse/pull/37279) ([lgbo](https://github.com/lgbo-ustc)). +* Limiting the maximum cache usage per query can effectively prevent cache pool contamination. [Related Issues](https://github.com/ClickHouse/ClickHouse/issues/28961). [#37859](https://github.com/ClickHouse/ClickHouse/pull/37859) ([Han Shukai](https://github.com/KinderRiven)). +* Currently clickhouse directly downloads all remote files to the local cache (even if they are only read once), which will frequently cause IO of the local hard disk. In some scenarios, these IOs may not be necessary and may easily cause negative optimization. As shown in the figure below, when we run SSB Q1-Q4, the performance of the cache has caused negative optimization. [#37516](https://github.com/ClickHouse/ClickHouse/pull/37516) ([Han Shukai](https://github.com/KinderRiven)). +* Allow to prune the list of files via virtual columns such as `_file` and `_path` when reading from S3. This is for [#37174](https://github.com/ClickHouse/ClickHouse/issues/37174) , [#23494](https://github.com/ClickHouse/ClickHouse/issues/23494). [#37356](https://github.com/ClickHouse/ClickHouse/pull/37356) ([Amos Bird](https://github.com/amosbird)). +* In function: CompressedWriteBuffer::nextImpl(), there is an unnecessary write-copy step that would happen frequently during inserting data. Below shows the differentiation with this patch: - Before: 1. Compress "working_buffer" into "compressed_buffer" 2. write-copy into "out" - After: Directly Compress "working_buffer" into "out". [#37242](https://github.com/ClickHouse/ClickHouse/pull/37242) ([jasperzhu](https://github.com/jinjunzh)). + +#### Improvement +* Support types with non-standard defaults in ROLLUP, CUBE, GROUPING SETS. Closes [#37360](https://github.com/ClickHouse/ClickHouse/issues/37360). [#37667](https://github.com/ClickHouse/ClickHouse/pull/37667) ([Dmitry Novik](https://github.com/novikd)). +* Fix stack traces collection on ARM. Closes [#37044](https://github.com/ClickHouse/ClickHouse/issues/37044). Closes [#15638](https://github.com/ClickHouse/ClickHouse/issues/15638). [#37797](https://github.com/ClickHouse/ClickHouse/pull/37797) ([Maksim Kita](https://github.com/kitaisreal)). +* Client will try every IP address returned by DNS resolution until successful connection. [#37273](https://github.com/ClickHouse/ClickHouse/pull/37273) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)). +* Allow to use String type instead of Binary in Arrow/Parquet/ORC formats. This PR introduces 3 new settings for it: `output_format_arrow_string_as_string`, `output_format_parquet_string_as_string`, `output_format_orc_string_as_string`. Default value for all settings is `false`. [#37327](https://github.com/ClickHouse/ClickHouse/pull/37327) ([Kruglov Pavel](https://github.com/Avogar)). +* Apply setting `input_format_max_rows_to_read_for_schema_inference` for all read rows in total from all files in globs. Previously setting `input_format_max_rows_to_read_for_schema_inference` was applied for each file in glob separately and in case of huge number of nulls we could read first `input_format_max_rows_to_read_for_schema_inference` rows from each file and get nothing. Also increase default value for this setting to 25000. [#37332](https://github.com/ClickHouse/ClickHouse/pull/37332) ([Kruglov Pavel](https://github.com/Avogar)). +* Add separate `CLUSTER` grant (and `access_control_improvements.on_cluster_queries_require_cluster_grant` configuration directive, for backward compatibility, default to `false`). [#35767](https://github.com/ClickHouse/ClickHouse/pull/35767) ([Azat Khuzhin](https://github.com/azat)). +* Added support for schema inference for `hdfsCluster`. [#35812](https://github.com/ClickHouse/ClickHouse/pull/35812) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)). +* Implement `least_used` load balancing algorithm for disks inside volume (multi disk configuration). [#36686](https://github.com/ClickHouse/ClickHouse/pull/36686) ([Azat Khuzhin](https://github.com/azat)). +* Modify the HTTP Endpoint to return the full stats under the `X-ClickHouse-Summary` header when `send_progress_in_http_headers=0` (before it would return all zeros). - Modify the HTTP Endpoint to return `X-ClickHouse-Exception-Code` header when progress has been sent before (`send_progress_in_http_headers=1`) - Modify the HTTP Endpoint to return `HTTP_REQUEST_TIMEOUT` (408) instead of `HTTP_INTERNAL_SERVER_ERROR` (500) on `TIMEOUT_EXCEEDED` errors. [#36884](https://github.com/ClickHouse/ClickHouse/pull/36884) ([Raúl Marín](https://github.com/Algunenano)). +* Allow a user to inspect grants from granted roles. [#36941](https://github.com/ClickHouse/ClickHouse/pull/36941) ([nvartolomei](https://github.com/nvartolomei)). +* Do not calculate an integral numerically but use CDF functions instead. This will speed up execution and will increase the precision. This fixes [#36714](https://github.com/ClickHouse/ClickHouse/issues/36714). [#36953](https://github.com/ClickHouse/ClickHouse/pull/36953) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)). +* Add default implementation for Nothing in functions. Now most of the functions will return column with type Nothing in case one of it's arguments is Nothing. It also solves problem with functions like arrayMap/arrayFilter and similar when they have empty array as an argument. Previously queries like `select arrayMap(x -> 2 * x, []);` failed because function inside lambda cannot work with type `Nothing`, now such queries return empty array with type `Array(Nothing)`. Also add support for arrays of nullable types in functions like arrayFilter/arrayFill. Previously, queries like `select arrayFilter(x -> x % 2, [1, NULL])` failed, now they work (if the result of lambda is NULL, then this value won't be included in the result). Closes [#37000](https://github.com/ClickHouse/ClickHouse/issues/37000). [#37048](https://github.com/ClickHouse/ClickHouse/pull/37048) ([Kruglov Pavel](https://github.com/Avogar)). +* Now if a shard has local replica we create a local plan and a plan to read from all remote replicas. They have shared initiator which coordinates reading. [#37204](https://github.com/ClickHouse/ClickHouse/pull/37204) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)). +* Do no longer abort server startup if configuration option "mark_cache_size" is not explicitly set. [#37326](https://github.com/ClickHouse/ClickHouse/pull/37326) ([Robert Schulze](https://github.com/rschu1ze)). +* Allows providing `NULL`/`NOT NULL` right after type in column declaration. [#37337](https://github.com/ClickHouse/ClickHouse/pull/37337) ([Igor Nikonov](https://github.com/devcrafter)). +* optimize file segment PARTIALLY_DOWNLOADED get read buffer. [#37338](https://github.com/ClickHouse/ClickHouse/pull/37338) ([xiedeyantu](https://github.com/xiedeyantu)). +* Try to improve short circuit functions processing to fix problems with stress tests. [#37384](https://github.com/ClickHouse/ClickHouse/pull/37384) ([Kruglov Pavel](https://github.com/Avogar)). +* Closes [#37395](https://github.com/ClickHouse/ClickHouse/issues/37395). [#37415](https://github.com/ClickHouse/ClickHouse/pull/37415) ([Memo](https://github.com/Joeywzr)). +* Fix extremely rare deadlock during part fetch in zero-copy replication. Fixes [#37423](https://github.com/ClickHouse/ClickHouse/issues/37423). [#37424](https://github.com/ClickHouse/ClickHouse/pull/37424) ([metahys](https://github.com/metahys)). +* Don't allow to create storage with unknown data format. [#37450](https://github.com/ClickHouse/ClickHouse/pull/37450) ([Kruglov Pavel](https://github.com/Avogar)). +* Set `global_memory_usage_overcommit_max_wait_microseconds` default value to 5 seconds. Add info about `OvercommitTracker` to OOM exception message. Add `MemoryOvercommitWaitTimeMicroseconds` profile event. [#37460](https://github.com/ClickHouse/ClickHouse/pull/37460) ([Dmitry Novik](https://github.com/novikd)). +* Do not display `-0.0` CPU time in clickhouse-client. It can appear due to rounding errors. This closes [#38003](https://github.com/ClickHouse/ClickHouse/issues/38003). This closes [#38038](https://github.com/ClickHouse/ClickHouse/issues/38038). [#38064](https://github.com/ClickHouse/ClickHouse/pull/38064) ([Alexey Milovidov](https://github.com/alexey-milovidov)). +* Play UI: Keep controls in place when the page is scrolled horizontally. This makes edits comfortable even if the table is wide and it was scrolled far to the right. The feature proposed by Maksym Tereshchenko from CaspianDB. [#37470](https://github.com/ClickHouse/ClickHouse/pull/37470) ([Alexey Milovidov](https://github.com/alexey-milovidov)). +* Modify query div in play.html to be extendable beyond 20% height. In case of very long queries it is helpful to extend the textarea element, only today, since the div is fixed height, the extended textarea hides the data div underneath. With this fix, extending the textarea element will push the data div down/up such the extended textarea won't hide it. Also, keeps query box width 100% even when the user adjusting the size of the query textarea. [#37488](https://github.com/ClickHouse/ClickHouse/pull/37488) ([guyco87](https://github.com/guyco87)). +* Added `ProfileEvents` for introspection of type of written (inserted or merged) parts (`Inserted{Wide/Compact/InMemory}Parts`, `MergedInto{Wide/Compact/InMemory}Parts`. Added column `part_type` to `system.part_log`. Resolves [#37495](https://github.com/ClickHouse/ClickHouse/issues/37495). [#37536](https://github.com/ClickHouse/ClickHouse/pull/37536) ([Anton Popov](https://github.com/CurtizJ)). +* clickhouse-keeper improvement: move broken logs to a timestamped folder. [#37565](https://github.com/ClickHouse/ClickHouse/pull/37565) ([Antonio Andelic](https://github.com/antonio2368)). +* Do not write expired columns by TTL after subsequent merges (before only first merge/optimize of the part will not write expired by TTL columns, all other will do). [#37570](https://github.com/ClickHouse/ClickHouse/pull/37570) ([Azat Khuzhin](https://github.com/azat)). +* More precise result of the `dumpColumnStructure` miscellaneous function in presence of LowCardinality or Sparse columns. In previous versions, these functions were converting the argument to a full column before returning the result. This is needed to provide an answer in [#6935](https://github.com/ClickHouse/ClickHouse/issues/6935). [#37633](https://github.com/ClickHouse/ClickHouse/pull/37633) ([Alexey Milovidov](https://github.com/alexey-milovidov)). +* clickhouse-keeper: store only unique session IDs for watches. [#37641](https://github.com/ClickHouse/ClickHouse/pull/37641) ([Azat Khuzhin](https://github.com/azat)). +* Fix possible "Cannot write to finalized buffer". [#37645](https://github.com/ClickHouse/ClickHouse/pull/37645) ([Azat Khuzhin](https://github.com/azat)). +* Add setting `support_batch_delete` for `DiskS3` to disable multiobject delete calls, which Google Cloud Storage doesn't support. [#37659](https://github.com/ClickHouse/ClickHouse/pull/37659) ([Fred Wulff](https://github.com/frew)). +* Add an option to disable connection pooling in ODBC bridge. [#37705](https://github.com/ClickHouse/ClickHouse/pull/37705) ([Anton Kozlov](https://github.com/tonickkozlov)). +* Functions `dictGetHierarchy`, `dictIsIn`, `dictGetChildren`, `dictGetDescendants` added support nullable `HIERARCHICAL` attribute in dictionaries. Closes [#35521](https://github.com/ClickHouse/ClickHouse/issues/35521). [#37805](https://github.com/ClickHouse/ClickHouse/pull/37805) ([Maksim Kita](https://github.com/kitaisreal)). +* Expose BoringSSL version related info in the `system.build_options` table. [#37850](https://github.com/ClickHouse/ClickHouse/pull/37850) ([Bharat Nallan](https://github.com/bharatnc)). +* Now clickhouse-server removes `delete_tmp` directories on server start. Fixes [#26503](https://github.com/ClickHouse/ClickHouse/issues/26503). [#37906](https://github.com/ClickHouse/ClickHouse/pull/37906) ([alesapin](https://github.com/alesapin)). +* Clean up broken detached parts after timeout. Closes [#25195](https://github.com/ClickHouse/ClickHouse/issues/25195). [#37975](https://github.com/ClickHouse/ClickHouse/pull/37975) ([Kseniia Sumarokova](https://github.com/kssenii)). +* Now in MergeTree table engines family failed-to-move parts will be removed instantly. [#37994](https://github.com/ClickHouse/ClickHouse/pull/37994) ([alesapin](https://github.com/alesapin)). +* Now if setting `always_fetch_merged_part` is enabled for ReplicatedMergeTree merges will try to find parts on other replicas rarely with smaller load for [Zoo]Keeper. [#37995](https://github.com/ClickHouse/ClickHouse/pull/37995) ([alesapin](https://github.com/alesapin)). +* Add implicit grants with grant option too. For example `GRANT CREATE TABLE ON test.* TO A WITH GRANT OPTION` now allows `A` to execute `GRANT CREATE VIEW ON test.* TO B`. [#38017](https://github.com/ClickHouse/ClickHouse/pull/38017) ([Vitaly Baranov](https://github.com/vitlibar)). + +#### Build/Testing/Packaging Improvement +* Use `clang-14` and LLVM infrastructure version 14 for builds. This closes [#34681](https://github.com/ClickHouse/ClickHouse/issues/34681). [#34754](https://github.com/ClickHouse/ClickHouse/pull/34754) ([Alexey Milovidov](https://github.com/alexey-milovidov)). Note: `clang-14` has [a bug](https://github.com/google/sanitizers/issues/1540) in ThreadSanitizer that makes our CI work worse. +* Allow to drop privileges at startup. This simplifies Docker images. Closes [#36293](https://github.com/ClickHouse/ClickHouse/issues/36293). [#36341](https://github.com/ClickHouse/ClickHouse/pull/36341) ([Alexey Milovidov](https://github.com/alexey-milovidov)). +* Add docs spellcheck to CI. [#37790](https://github.com/ClickHouse/ClickHouse/pull/37790) ([Vladimir C](https://github.com/vdimir)). +* Fix overly aggressive stripping which removed the embedded hash required for checking the consistency of the executable. [#37993](https://github.com/ClickHouse/ClickHouse/pull/37993) ([Robert Schulze](https://github.com/rschu1ze)). + +#### Bug Fix + +* Fix `SELECT ... INTERSECT` and `EXCEPT SELECT` statements with constant string types. [#37738](https://github.com/ClickHouse/ClickHouse/pull/37738) ([Antonio Andelic](https://github.com/antonio2368)). +* Fix `GROUP BY` `AggregateFunction` (i.e. you `GROUP BY` by the column that has `AggregateFunction` type). [#37093](https://github.com/ClickHouse/ClickHouse/pull/37093) ([Azat Khuzhin](https://github.com/azat)). +* (experimental WINDOW VIEW) Fix `addDependency` in WindowView. This bug can be reproduced like [#37237](https://github.com/ClickHouse/ClickHouse/issues/37237). [#37224](https://github.com/ClickHouse/ClickHouse/pull/37224) ([vxider](https://github.com/Vxider)). +* Fix inconsistency in ORDER BY ... WITH FILL feature. Query, containing ORDER BY ... WITH FILL, can generate extra rows when multiple WITH FILL columns are present. [#38074](https://github.com/ClickHouse/ClickHouse/pull/38074) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)). +* This PR moving `addDependency` from constructor to `startup()` to avoid adding dependency to a *dropped* table, fix [#37237](https://github.com/ClickHouse/ClickHouse/issues/37237). [#37243](https://github.com/ClickHouse/ClickHouse/pull/37243) ([vxider](https://github.com/Vxider)). +* Fix inserting defaults for missing values in columnar formats. Previously missing columns were filled with defaults for types, not for columns. [#37253](https://github.com/ClickHouse/ClickHouse/pull/37253) ([Kruglov Pavel](https://github.com/Avogar)). +* (experimental Object type) Fix some cases of insertion nested arrays to columns of type `Object`. [#37305](https://github.com/ClickHouse/ClickHouse/pull/37305) ([Anton Popov](https://github.com/CurtizJ)). +* Fix unexpected errors with a clash of constant strings in aggregate function, prewhere and join. Close [#36891](https://github.com/ClickHouse/ClickHouse/issues/36891). [#37336](https://github.com/ClickHouse/ClickHouse/pull/37336) ([Vladimir C](https://github.com/vdimir)). +* Fix projections with GROUP/ORDER BY in query and optimize_aggregation_in_order (before the result was incorrect since only finish sorting was performed). [#37342](https://github.com/ClickHouse/ClickHouse/pull/37342) ([Azat Khuzhin](https://github.com/azat)). +* Fixed error with symbols in key name in S3. Fixes [#33009](https://github.com/ClickHouse/ClickHouse/issues/33009). [#37344](https://github.com/ClickHouse/ClickHouse/pull/37344) ([Vladimir Chebotarev](https://github.com/excitoon)). +* Throw an exception when GROUPING SETS used with ROLLUP or CUBE. [#37367](https://github.com/ClickHouse/ClickHouse/pull/37367) ([Dmitry Novik](https://github.com/novikd)). +* Fix LOGICAL_ERROR in getMaxSourcePartsSizeForMerge during merges (in case of non standard, greater, values of `background_pool_size`/`background_merges_mutations_concurrency_ratio` has been specified in `config.xml` (new way) not in `users.xml` (deprecated way)). [#37413](https://github.com/ClickHouse/ClickHouse/pull/37413) ([Azat Khuzhin](https://github.com/azat)). +* Stop removing UTF-8 BOM in RowBinary format. [#37428](https://github.com/ClickHouse/ClickHouse/pull/37428) ([Paul Loyd](https://github.com/loyd)). [#37428](https://github.com/ClickHouse/ClickHouse/pull/37428) ([Paul Loyd](https://github.com/loyd)). +* clickhouse-keeper bugfix: fix force recovery for single node cluster. [#37440](https://github.com/ClickHouse/ClickHouse/pull/37440) ([Antonio Andelic](https://github.com/antonio2368)). +* Fix logical error in normalizeUTF8 functions. Closes [#37298](https://github.com/ClickHouse/ClickHouse/issues/37298). [#37443](https://github.com/ClickHouse/ClickHouse/pull/37443) ([Maksim Kita](https://github.com/kitaisreal)). +* Fix cast lowcard of nullable in JoinSwitcher, close [#37385](https://github.com/ClickHouse/ClickHouse/issues/37385). [#37453](https://github.com/ClickHouse/ClickHouse/pull/37453) ([Vladimir C](https://github.com/vdimir)). +* Fix named tuples output in ORC/Arrow/Parquet formats. [#37458](https://github.com/ClickHouse/ClickHouse/pull/37458) ([Kruglov Pavel](https://github.com/Avogar)). +* Fix optimization of monotonous functions in ORDER BY clause in presence of GROUPING SETS. Fixes [#37401](https://github.com/ClickHouse/ClickHouse/issues/37401). [#37493](https://github.com/ClickHouse/ClickHouse/pull/37493) ([Dmitry Novik](https://github.com/novikd)). +* Fix error on joining with dictionary on some conditions. Close [#37386](https://github.com/ClickHouse/ClickHouse/issues/37386). [#37530](https://github.com/ClickHouse/ClickHouse/pull/37530) ([Vladimir C](https://github.com/vdimir)). +* Prohibit `optimize_aggregation_in_order` with `GROUPING SETS` (fixes `LOGICAL_ERROR`). [#37542](https://github.com/ClickHouse/ClickHouse/pull/37542) ([Azat Khuzhin](https://github.com/azat)). +* Fix wrong dump information of ActionsDAG. [#37587](https://github.com/ClickHouse/ClickHouse/pull/37587) ([zhanglistar](https://github.com/zhanglistar)). +* Fix converting types for UNION queries (may produce LOGICAL_ERROR). [#37593](https://github.com/ClickHouse/ClickHouse/pull/37593) ([Azat Khuzhin](https://github.com/azat)). +* Fix `WITH FILL` modifier with negative intervals in `STEP` clause. Fixes [#37514](https://github.com/ClickHouse/ClickHouse/issues/37514). [#37600](https://github.com/ClickHouse/ClickHouse/pull/37600) ([Anton Popov](https://github.com/CurtizJ)). +* Fix illegal joinGet array usage when ` join_use_nulls = 1`. This fixes [#37562](https://github.com/ClickHouse/ClickHouse/issues/37562) . [#37650](https://github.com/ClickHouse/ClickHouse/pull/37650) ([Amos Bird](https://github.com/amosbird)). +* Fix columns number mismatch in cross join, close [#37561](https://github.com/ClickHouse/ClickHouse/issues/37561). [#37653](https://github.com/ClickHouse/ClickHouse/pull/37653) ([Vladimir C](https://github.com/vdimir)). +* Fix segmentation fault in `show create table` from mysql database when it is configured with named collections. Closes [#37683](https://github.com/ClickHouse/ClickHouse/issues/37683). [#37690](https://github.com/ClickHouse/ClickHouse/pull/37690) ([Kseniia Sumarokova](https://github.com/kssenii)). +* Fix RabbitMQ Storage not being able to startup on server restart if storage was create without SETTINGS clause. Closes [#37463](https://github.com/ClickHouse/ClickHouse/issues/37463). [#37691](https://github.com/ClickHouse/ClickHouse/pull/37691) ([Kseniia Sumarokova](https://github.com/kssenii)). +* SQL user defined functions disable CREATE/DROP in readonly mode. Closes [#37280](https://github.com/ClickHouse/ClickHouse/issues/37280). [#37699](https://github.com/ClickHouse/ClickHouse/pull/37699) ([Maksim Kita](https://github.com/kitaisreal)). +* Fix formatting of Nullable arguments for executable user defined functions. Closes [#35897](https://github.com/ClickHouse/ClickHouse/issues/35897). [#37711](https://github.com/ClickHouse/ClickHouse/pull/37711) ([Maksim Kita](https://github.com/kitaisreal)). +* Fix optimization enabled by setting `optimize_monotonous_functions_in_order_by` in distributed queries. Fixes [#36037](https://github.com/ClickHouse/ClickHouse/issues/36037). [#37724](https://github.com/ClickHouse/ClickHouse/pull/37724) ([Anton Popov](https://github.com/CurtizJ)). +* Fix possible logical error: `Invalid Field get from type UInt64 to type Float64` in `values` table function. Closes [#37602](https://github.com/ClickHouse/ClickHouse/issues/37602). [#37754](https://github.com/ClickHouse/ClickHouse/pull/37754) ([Kruglov Pavel](https://github.com/Avogar)). +* Fix possible segfault in schema inference in case of exception in SchemaReader constructor. Closes [#37680](https://github.com/ClickHouse/ClickHouse/issues/37680). [#37760](https://github.com/ClickHouse/ClickHouse/pull/37760) ([Kruglov Pavel](https://github.com/Avogar)). +* Fix setting cast_ipv4_ipv6_default_on_conversion_error for internal cast function. Closes [#35156](https://github.com/ClickHouse/ClickHouse/issues/35156). [#37761](https://github.com/ClickHouse/ClickHouse/pull/37761) ([Maksim Kita](https://github.com/kitaisreal)). +* Fix toString error on DatatypeDate32. [#37775](https://github.com/ClickHouse/ClickHouse/pull/37775) ([LiuNeng](https://github.com/liuneng1994)). +* The clickhouse-keeper setting `dead_session_check_period_ms` was transformed into microseconds (multiplied by 1000), which lead to dead sessions only being cleaned up after several minutes (instead of 500ms). [#37824](https://github.com/ClickHouse/ClickHouse/pull/37824) ([Michael Lex](https://github.com/mlex)). +* Fix possible "No more packets are available" for distributed queries (in case of `async_socket_for_remote`/`use_hedged_requests` is disabled). [#37826](https://github.com/ClickHouse/ClickHouse/pull/37826) ([Azat Khuzhin](https://github.com/azat)). +* (experimental WINDOW VIEW) Do not drop the inner target table when executing `ALTER TABLE … MODIFY QUERY` in WindowView. [#37879](https://github.com/ClickHouse/ClickHouse/pull/37879) ([vxider](https://github.com/Vxider)). +* Fix directory ownership of coordination dir in clickhouse-keeper Docker image. Fixes [#37914](https://github.com/ClickHouse/ClickHouse/issues/37914). [#37915](https://github.com/ClickHouse/ClickHouse/pull/37915) ([James Maidment](https://github.com/jamesmaidment)). +* Dictionaries fix custom query with update field and `{condition}`. Closes [#33746](https://github.com/ClickHouse/ClickHouse/issues/33746). [#37947](https://github.com/ClickHouse/ClickHouse/pull/37947) ([Maksim Kita](https://github.com/kitaisreal)). +* Fix possible incorrect result of `SELECT ... WITH FILL` in the case when `ORDER BY` should be applied after `WITH FILL` result (e.g. for outer query). Incorrect result was caused by optimization for `ORDER BY` expressions ([#35623](https://github.com/ClickHouse/ClickHouse/issues/35623)). Closes [#37904](https://github.com/ClickHouse/ClickHouse/issues/37904). [#37959](https://github.com/ClickHouse/ClickHouse/pull/37959) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)). +* (experimental WINDOW VIEW) Add missing default columns when pushing to the target table in WindowView, fix [#37815](https://github.com/ClickHouse/ClickHouse/issues/37815). [#37965](https://github.com/ClickHouse/ClickHouse/pull/37965) ([vxider](https://github.com/Vxider)). +* Fixed too large stack frame that would cause compilation to fail. [#37996](https://github.com/ClickHouse/ClickHouse/pull/37996) ([Han Shukai](https://github.com/KinderRiven)). +* When open enable_filesystem_query_cache_limit, throw Reserved cache size exceeds the remaining cache size. [#38004](https://github.com/ClickHouse/ClickHouse/pull/38004) ([xiedeyantu](https://github.com/xiedeyantu)). +* Fix converting types for UNION queries (may produce LOGICAL_ERROR). [#34775](https://github.com/ClickHouse/ClickHouse/pull/34775) ([Azat Khuzhin](https://github.com/azat)). +* TTL merge may not be scheduled again if BackgroundExecutor is busy. --merges_with_ttl_counter is increased in selectPartsToMerge() --merge task will be ignored if BackgroundExecutor is busy --merges_with_ttl_counter will not be decrease. [#36387](https://github.com/ClickHouse/ClickHouse/pull/36387) ([lthaooo](https://github.com/lthaooo)). +* Fix overridden settings value of `normalize_function_names`. [#36937](https://github.com/ClickHouse/ClickHouse/pull/36937) ([李扬](https://github.com/taiyang-li)). +* Fix for exponential time decaying window functions. Now respecting boundaries of the window. [#36944](https://github.com/ClickHouse/ClickHouse/pull/36944) ([Vladimir Chebotarev](https://github.com/excitoon)). +* Fix possible heap-use-after-free error when reading system.projection_parts and system.projection_parts_columns . This fixes [#37184](https://github.com/ClickHouse/ClickHouse/issues/37184). [#37185](https://github.com/ClickHouse/ClickHouse/pull/37185) ([Amos Bird](https://github.com/amosbird)). +* Fixed `DateTime64` fractional seconds behavior prior to Unix epoch. [#37697](https://github.com/ClickHouse/ClickHouse/pull/37697) ([Andrey Zvonov](https://github.com/zvonand)). [#37039](https://github.com/ClickHouse/ClickHouse/pull/37039) ([李扬](https://github.com/taiyang-li)). + ### ClickHouse release 22.5, 2022-05-19 @@ -172,7 +338,7 @@ #### Backward Incompatible Change -* Do not allow SETTINGS after FORMAT for INSERT queries (there is compatibility setting `parser_settings_after_format_compact` to accept such queries, but it is turned OFF by default). [#35883](https://github.com/ClickHouse/ClickHouse/pull/35883) ([Azat Khuzhin](https://github.com/azat)). +* Do not allow SETTINGS after FORMAT for INSERT queries (there is compatibility setting `allow_settings_after_format_in_insert` to accept such queries, but it is turned OFF by default). [#35883](https://github.com/ClickHouse/ClickHouse/pull/35883) ([Azat Khuzhin](https://github.com/azat)). * Function `yandexConsistentHash` (consistent hashing algorithm by Konstantin "kostik" Oblakov) is renamed to `kostikConsistentHash`. The old name is left as an alias for compatibility. Although this change is backward compatible, we may remove the alias in subsequent releases, that's why it's recommended to update the usages of this function in your apps. [#35553](https://github.com/ClickHouse/ClickHouse/pull/35553) ([Alexey Milovidov](https://github.com/alexey-milovidov)). #### New Feature @@ -801,4 +967,4 @@ * Fix hang up with command `DROP TABLE system.query_log sync`. [#33293](https://github.com/ClickHouse/ClickHouse/pull/33293) ([zhanghuajie](https://github.com/zhanghuajieHIT)). -## [Changelog for 2021](https://github.com/ClickHouse/ClickHouse/blob/master/docs/en/whats-new/changelog/2021.md) +## [Changelog for 2021](https://clickhouse.com/docs/en/whats-new/changelog/2021) diff --git a/CMakeLists.txt b/CMakeLists.txt index abe263834ed..4c7b732c68c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -36,7 +36,7 @@ set_property(GLOBAL PROPERTY USE_FOLDERS ON) # Check that submodules are present if (NOT EXISTS "${ClickHouse_SOURCE_DIR}/contrib/sysroot/README.md") - message (FATAL_ERROR "Submodules are not initialized. Run\n\tgit submodule update --init --recursive") + message (FATAL_ERROR "Submodules are not initialized. Run\n\tgit submodule update --init") endif () # Take care to add prlimit in command line before ccache, or else ccache thinks that @@ -244,16 +244,18 @@ endif () # Add a section with the hash of the compiled machine code for integrity checks. # Only for official builds, because adding a section can be time consuming (rewrite of several GB). # And cross compiled binaries are not supported (since you cannot execute clickhouse hash-binary) -if (OBJCOPY_PATH AND CLICKHOUSE_OFFICIAL_BUILD AND (NOT CMAKE_TOOLCHAIN_FILE OR CMAKE_TOOLCHAIN_FILE MATCHES "linux/toolchain-x86_64.cmake$")) +if (CLICKHOUSE_OFFICIAL_BUILD AND (NOT CMAKE_TOOLCHAIN_FILE OR CMAKE_TOOLCHAIN_FILE MATCHES "linux/toolchain-x86_64.cmake$")) + message(STATUS "Official build: A checksum hash will be added to the clickhouse executable") set (USE_BINARY_HASH 1 CACHE STRING "Calculate binary hash and store it in the separate section") +else () + message(STATUS "No official build: A checksum hash will not be added to the clickhouse executable") endif () -# Allows to build stripped binary in a separate directory -if (OBJCOPY_PATH AND STRIP_PATH) - option(INSTALL_STRIPPED_BINARIES "Build stripped binaries with debug info in separate directory" OFF) - if (INSTALL_STRIPPED_BINARIES) - set(STRIPPED_BINARIES_OUTPUT "stripped" CACHE STRING "A separate directory for stripped information") - endif() +# Optionally split binaries and debug symbols. +option(SPLIT_DEBUG_SYMBOLS "Split binaries and debug symbols" OFF) +if (SPLIT_DEBUG_SYMBOLS) + message(STATUS "Will split binaries and debug symbols") + set(SPLITTED_DEBUG_SYMBOLS_DIR "stripped" CACHE STRING "A separate directory for stripped information") endif() cmake_host_system_information(RESULT AVAILABLE_PHYSICAL_MEMORY QUERY AVAILABLE_PHYSICAL_MEMORY) # Not available under freebsd diff --git a/PreLoad.cmake b/PreLoad.cmake index 793207e1e31..8ef93a7aa51 100644 --- a/PreLoad.cmake +++ b/PreLoad.cmake @@ -15,25 +15,33 @@ if (NOT DEFINED ENV{CLION_IDE} AND NOT DEFINED ENV{XCODE_IDE}) find_program(NINJA_PATH ninja) if (NINJA_PATH) - set(CMAKE_GENERATOR "Ninja" CACHE INTERNAL "" FORCE) + set(CMAKE_GENERATOR "Ninja" CACHE INTERNAL "") endif () endif() # Check if environment is polluted. -if (NOT $ENV{CFLAGS} STREQUAL "" - OR NOT $ENV{CXXFLAGS} STREQUAL "" - OR NOT $ENV{LDFLAGS} STREQUAL "" +if (NOT "$ENV{CFLAGS}" STREQUAL "" + OR NOT "$ENV{CXXFLAGS}" STREQUAL "" + OR NOT "$ENV{LDFLAGS}" STREQUAL "" OR CMAKE_C_FLAGS OR CMAKE_CXX_FLAGS OR CMAKE_EXE_LINKER_FLAGS OR CMAKE_SHARED_LINKER_FLAGS OR CMAKE_MODULE_LINKER_FLAGS OR CMAKE_C_FLAGS_INIT OR CMAKE_CXX_FLAGS_INIT OR CMAKE_EXE_LINKER_FLAGS_INIT OR CMAKE_SHARED_LINKER_FLAGS_INIT OR CMAKE_MODULE_LINKER_FLAGS_INIT) + # if $ENV message("CFLAGS: $ENV{CFLAGS}") message("CXXFLAGS: $ENV{CXXFLAGS}") message("LDFLAGS: $ENV{LDFLAGS}") + # if *_FLAGS message("CMAKE_C_FLAGS: ${CMAKE_C_FLAGS}") message("CMAKE_CXX_FLAGS: ${CMAKE_CXX_FLAGS}") message("CMAKE_EXE_LINKER_FLAGS: ${CMAKE_EXE_LINKER_FLAGS}") message("CMAKE_SHARED_LINKER_FLAGS: ${CMAKE_SHARED_LINKER_FLAGS}") message("CMAKE_MODULE_LINKER_FLAGS: ${CMAKE_MODULE_LINKER_FLAGS}") + # if *_FLAGS_INIT + message("CMAKE_C_FLAGS_INIT: ${CMAKE_C_FLAGS_INIT}") + message("CMAKE_CXX_FLAGS_INIT: ${CMAKE_CXX_FLAGS_INIT}") + message("CMAKE_EXE_LINKER_FLAGS_INIT: ${CMAKE_EXE_LINKER_FLAGS_INIT}") + message("CMAKE_SHARED_LINKER_FLAGS_INIT: ${CMAKE_SHARED_LINKER_FLAGS_INIT}") + message("CMAKE_MODULE_LINKER_FLAGS_INIT: ${CMAKE_MODULE_LINKER_FLAGS_INIT}") message(FATAL_ERROR " Some of the variables like CFLAGS, CXXFLAGS, LDFLAGS are not empty. @@ -51,18 +59,35 @@ endif() execute_process(COMMAND uname -s OUTPUT_VARIABLE OS) execute_process(COMMAND uname -m OUTPUT_VARIABLE ARCH) +# By default, prefer clang on Linux +# But note, that you still may change the compiler with -DCMAKE_C_COMPILER/-DCMAKE_CXX_COMPILER. +if (OS MATCHES "Linux" + # some build systems may use CC/CXX env variables + AND "$ENV{CC}" STREQUAL "" + AND "$ENV{CXX}" STREQUAL "") + find_program(CLANG_PATH clang) + if (CLANG_PATH) + set(CMAKE_C_COMPILER "clang" CACHE INTERNAL "") + endif() + + find_program(CLANG_CXX_PATH clang++) + if (CLANG_CXX_PATH) + set(CMAKE_CXX_COMPILER "clang++" CACHE INTERNAL "") + endif() +endif() + if (OS MATCHES "Linux" AND NOT DEFINED CMAKE_TOOLCHAIN_FILE AND NOT DISABLE_HERMETIC_BUILD - AND ($ENV{CC} MATCHES ".*clang.*" OR CMAKE_C_COMPILER MATCHES ".*clang.*")) + AND ("$ENV{CC}" MATCHES ".*clang.*" OR CMAKE_C_COMPILER MATCHES ".*clang.*")) if (ARCH MATCHES "amd64|x86_64") - set (CMAKE_TOOLCHAIN_FILE "cmake/linux/toolchain-x86_64.cmake" CACHE INTERNAL "" FORCE) + set (CMAKE_TOOLCHAIN_FILE "cmake/linux/toolchain-x86_64.cmake" CACHE INTERNAL "") elseif (ARCH MATCHES "^(aarch64.*|AARCH64.*|arm64.*|ARM64.*)") - set (CMAKE_TOOLCHAIN_FILE "cmake/linux/toolchain-aarch64.cmake" CACHE INTERNAL "" FORCE) + set (CMAKE_TOOLCHAIN_FILE "cmake/linux/toolchain-aarch64.cmake" CACHE INTERNAL "") elseif (ARCH MATCHES "^(ppc64le.*|PPC64LE.*)") - set (CMAKE_TOOLCHAIN_FILE "cmake/linux/toolchain-ppc64le.cmake" CACHE INTERNAL "" FORCE) - else () + set (CMAKE_TOOLCHAIN_FILE "cmake/linux/toolchain-ppc64le.cmake" CACHE INTERNAL "") +else () message (FATAL_ERROR "Unsupported architecture: ${ARCH}") endif () diff --git a/README.md b/README.md index e6dc9f1e6fc..1d0146582a6 100644 --- a/README.md +++ b/README.md @@ -13,3 +13,10 @@ ClickHouse® is an open-source column-oriented database management system that a * [Code Browser (Woboq)](https://clickhouse.com/codebrowser/ClickHouse/index.html) with syntax highlight and navigation. * [Code Browser (github.dev)](https://github.dev/ClickHouse/ClickHouse) with syntax highlight, powered by github.dev. * [Contacts](https://clickhouse.com/company/#contact) can help to get your questions answered if there are any. + +## Upcoming events +* [v22.7 Release Webinar](https://clickhouse.com/company/events/v22-7-release-webinar/) Original creator, co-founder, and CTO of ClickHouse Alexey Milovidov will walk us through the highlights of the release, provide live demos, and share vision into what is coming in the roadmap. +* [ClickHouse Meetup at the Cloudflare office in London](https://www.meetup.com/clickhouse-london-user-group/events/286891586/) ClickHouse meetup at the Cloudflare office space in central London +* [ClickHouse Meetup at the Metoda office in Munich](https://www.meetup.com/clickhouse-meetup-munich/events/286891667/) ClickHouse meetup at the Metoda office in Munich + + diff --git a/SECURITY.md b/SECURITY.md index 426559a0439..467bdb51466 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -1,3 +1,4 @@ + # Security Policy ## Security Announcements @@ -7,29 +8,30 @@ Security fixes will be announced by posting them in the [security changelog](htt The following versions of ClickHouse server are currently being supported with security updates: -| Version | Supported | -| ------- | ------------------ | -| 1.x | :x: | -| 18.x | :x: | -| 19.x | :x: | -| 20.x | :x: | -| 21.1 | :x: | -| 21.2 | :x: | -| 21.3 | :x: | -| 21.4 | :x: | -| 21.5 | :x: | -| 21.6 | :x: | -| 21.7 | :x: | -| 21.8 | ✅ | -| 21.9 | :x: | -| 21.10 | :x: | -| 21.11 | :x: | -| 21.12 | :x: | -| 22.1 | :x: | -| 22.2 | :x: | -| 22.3 | ✅ | -| 22.4 | ✅ | -| 22.5 | ✅ | +| Version | Supported | +|:-|:-| +| 22.6 | ✔️ | +| 22.5 | ✔️ | +| 22.4 | ✔️ | +| 22.3 | ✔️ | +| 22.2 | ❌ | +| 22.1 | ❌ | +| 21.12 | ❌ | +| 21.11 | ❌ | +| 21.10 | ❌ | +| 21.9 | ❌ | +| 21.8 | ✔️ | +| 21.7 | ❌ | +| 21.6 | ❌ | +| 21.5 | ❌ | +| 21.4 | ❌ | +| 21.3 | ❌ | +| 21.2 | ❌ | +| 21.1 | ❌ | +| 20.* | ❌ | +| 19.* | ❌ | +| 18.* | ❌ | +| 1.* | ❌ | ## Reporting a Vulnerability @@ -57,4 +59,3 @@ As the security issue moves from triage, to identified fix, to release planning A public disclosure date is negotiated by the ClickHouse maintainers and the bug submitter. We prefer to fully disclose the bug as soon as possible once a user mitigation is available. It is reasonable to delay disclosure when the bug or the fix is not yet fully understood, the solution is not well-tested, or for vendor coordination. The timeframe for disclosure is from immediate (especially if it's already publicly known) to 90 days. For a vulnerability with a straightforward mitigation, we expect report date to disclosure date to be on the order of 7 days. - diff --git a/base/base/BorrowedObjectPool.h b/base/base/BorrowedObjectPool.h index 10dcc41d862..bb4c9cd1c21 100644 --- a/base/base/BorrowedObjectPool.h +++ b/base/base/BorrowedObjectPool.h @@ -89,7 +89,7 @@ public: inline void returnObject(T && object_to_return) { { - std::lock_guard lock(objects_mutex); + std::lock_guard lock(objects_mutex); objects.emplace_back(std::move(object_to_return)); --borrowed_objects_size; @@ -107,14 +107,14 @@ public: /// Allocated objects size by the pool. If allocatedObjectsSize == maxSize then pool is full. inline size_t allocatedObjectsSize() const { - std::unique_lock lock(objects_mutex); + std::lock_guard lock(objects_mutex); return allocated_objects_size; } /// Returns allocatedObjectsSize == maxSize inline bool isFull() const { - std::unique_lock lock(objects_mutex); + std::lock_guard lock(objects_mutex); return allocated_objects_size == max_size; } @@ -122,7 +122,7 @@ public: /// Then client will wait during borrowObject function call. inline size_t borrowedObjectsSize() const { - std::unique_lock lock(objects_mutex); + std::lock_guard lock(objects_mutex); return borrowed_objects_size; } diff --git a/base/base/CMakeLists.txt b/base/base/CMakeLists.txt index adffb91625c..175a4836e64 100644 --- a/base/base/CMakeLists.txt +++ b/base/base/CMakeLists.txt @@ -17,15 +17,12 @@ set (SRCS sleep.cpp terminalColors.cpp errnoToString.cpp + ReplxxLineReader.cpp StringRef.cpp safeExit.cpp throwError.cpp ) -if (ENABLE_REPLXX) - list (APPEND SRCS ReplxxLineReader.cpp) -endif () - if (USE_DEBUG_HELPERS) get_target_property(MAGIC_ENUM_INCLUDE_DIR ch_contrib::magic_enum INTERFACE_INCLUDE_DIRECTORIES) # CMake generator expression will do insane quoting when it encounters special character like quotes, spaces, etc. diff --git a/base/base/Decimal.h b/base/base/Decimal.h index aefe852b749..1efb8ba8d92 100644 --- a/base/base/Decimal.h +++ b/base/base/Decimal.h @@ -49,7 +49,7 @@ struct Decimal using NativeType = T; constexpr Decimal() = default; - constexpr Decimal(Decimal &&) = default; + constexpr Decimal(Decimal &&) noexcept = default; constexpr Decimal(const Decimal &) = default; constexpr Decimal(const T & value_): value(value_) {} @@ -57,7 +57,7 @@ struct Decimal template constexpr Decimal(const Decimal & x): value(x.value) {} - constexpr Decimal & operator = (Decimal &&) = default; + constexpr Decimal & operator=(Decimal &&) noexcept = default; constexpr Decimal & operator = (const Decimal &) = default; constexpr operator T () const { return value; } diff --git a/base/base/LineReader.h b/base/base/LineReader.h index 33daae49974..d4ab327fe00 100644 --- a/base/base/LineReader.h +++ b/base/base/LineReader.h @@ -7,6 +7,7 @@ #include #include +#include class LineReader { @@ -20,8 +21,8 @@ public: void addWords(Words && new_words); private: - Words words; - Words words_no_case; + Words words TSA_GUARDED_BY(mutex); + Words words_no_case TSA_GUARDED_BY(mutex); std::mutex mutex; }; @@ -29,7 +30,7 @@ public: using Patterns = std::vector; LineReader(const String & history_file_path, bool multiline, Patterns extenders, Patterns delimiters); - virtual ~LineReader() {} + virtual ~LineReader() = default; /// Reads the whole line until delimiter (in multiline mode) or until the last line without extender. /// If resulting line is empty, it means the user interrupted the input. diff --git a/base/base/ReplxxLineReader.cpp b/base/base/ReplxxLineReader.cpp index 0569567d4f8..bd26ec69c89 100644 --- a/base/base/ReplxxLineReader.cpp +++ b/base/base/ReplxxLineReader.cpp @@ -45,14 +45,16 @@ std::string replxx_now_ms_str() time_t t = ms.count() / 1000; tm broken; if (!localtime_r(&t, &broken)) - { - return std::string(); - } + return {}; static int const BUFF_SIZE(32); char str[BUFF_SIZE]; - strftime(str, BUFF_SIZE, "%Y-%m-%d %H:%M:%S.", &broken); - snprintf(str + sizeof("YYYY-mm-dd HH:MM:SS"), 5, "%03d", static_cast(ms.count() % 1000)); + if (strftime(str, BUFF_SIZE, "%Y-%m-%d %H:%M:%S.", &broken) <= 0) + return {}; + + if (snprintf(str + sizeof("YYYY-mm-dd HH:MM:SS"), 5, "%03d", static_cast(ms.count() % 1000)) <= 0) + return {}; + return str; } diff --git a/base/base/argsToConfig.h b/base/base/argsToConfig.h index 134eed64fd2..9b7b44b7b7f 100644 --- a/base/base/argsToConfig.h +++ b/base/base/argsToConfig.h @@ -4,7 +4,7 @@ namespace Poco::Util { -class LayeredConfiguration; +class LayeredConfiguration; // NOLINT(cppcoreguidelines-virtual-class-destructor) } /// Import extra command line arguments to configuration. These are command line arguments after --. diff --git a/base/base/defines.h b/base/base/defines.h index 084e710abf6..a707e965675 100644 --- a/base/base/defines.h +++ b/base/base/defines.h @@ -124,6 +124,39 @@ #endif #endif +/// Macros for Clang Thread Safety Analysis (TSA). They can be safely ignored by other compilers. +/// Feel free to extend, but please stay close to https://clang.llvm.org/docs/ThreadSafetyAnalysis.html#mutexheader +#if defined(__clang__) +# define TSA_GUARDED_BY(...) __attribute__((guarded_by(__VA_ARGS__))) /// data is protected by given capability +# define TSA_PT_GUARDED_BY(...) __attribute__((pt_guarded_by(__VA_ARGS__))) /// pointed-to data is protected by the given capability +# define TSA_REQUIRES(...) __attribute__((requires_capability(__VA_ARGS__))) /// thread needs exclusive possession of given capability +# define TSA_REQUIRES_SHARED(...) __attribute__((requires_shared_capability(__VA_ARGS__))) /// thread needs shared possession of given capability +# define TSA_ACQUIRED_AFTER(...) __attribute__((acquired_after(__VA_ARGS__))) /// annotated lock must be locked after given lock +# define TSA_NO_THREAD_SAFETY_ANALYSIS __attribute__((no_thread_safety_analysis)) /// disable TSA for a function + +/// Macros for suppressing TSA warnings for specific reads/writes (instead of suppressing it for the whole function) +/// Consider adding a comment before using these macros. +# define TSA_SUPPRESS_WARNING_FOR_READ(x) [&]() TSA_NO_THREAD_SAFETY_ANALYSIS -> const auto & { return (x); }() +# define TSA_SUPPRESS_WARNING_FOR_WRITE(x) [&]() TSA_NO_THREAD_SAFETY_ANALYSIS -> auto & { return (x); }() + +/// This macro is useful when only one thread writes to a member +/// and you want to read this member from the same thread without locking a mutex. +/// It's safe (because no concurrent writes are possible), but TSA generates a warning. +/// (Seems like there's no way to verify it, but it makes sense to distinguish it from TSA_SUPPRESS_WARNING_FOR_READ for readability) +# define TSA_READ_ONE_THREAD(x) TSA_SUPPRESS_WARNING_FOR_READ(x) + +#else +# define TSA_GUARDED_BY(...) +# define TSA_PT_GUARDED_BY(...) +# define TSA_REQUIRES(...) +# define TSA_REQUIRES_SHARED(...) +# define TSA_NO_THREAD_SAFETY_ANALYSIS + +# define TSA_SUPPRESS_WARNING_FOR_READ(x) +# define TSA_SUPPRESS_WARNING_FOR_WRITE(x) +# define TSA_READ_ONE_THREAD(x) +#endif + /// A template function for suppressing warnings about unused variables or function results. template constexpr void UNUSED(Args &&... args [[maybe_unused]]) diff --git a/base/base/demangle.h b/base/base/demangle.h index 3c20920ab7c..ddca264ecab 100644 --- a/base/base/demangle.h +++ b/base/base/demangle.h @@ -27,6 +27,6 @@ struct FreeingDeleter } }; -typedef std::unique_ptr DemangleResult; +using DemangleResult = std::unique_ptr; DemangleResult tryDemangle(const char * name); diff --git a/base/base/errnoToString.cpp b/base/base/errnoToString.cpp index cdadba2c615..c6d1139a9de 100644 --- a/base/base/errnoToString.cpp +++ b/base/base/errnoToString.cpp @@ -9,7 +9,7 @@ std::string errnoToString(int code, int the_errno) char buf[buf_size]; #ifndef _GNU_SOURCE int rc = strerror_r(the_errno, buf, buf_size); -#ifdef __APPLE__ +#ifdef OS_DARWIN if (rc != 0 && rc != EINVAL) #else if (rc != 0) diff --git a/base/base/getAvailableMemoryAmount.cpp b/base/base/getAvailableMemoryAmount.cpp index e9bbbd95caf..61ba97dd025 100644 --- a/base/base/getAvailableMemoryAmount.cpp +++ b/base/base/getAvailableMemoryAmount.cpp @@ -16,7 +16,7 @@ uint64_t getAvailableMemoryAmountOrZero() { #if defined(_SC_PHYS_PAGES) // linux return getPageSize() * sysconf(_SC_PHYS_PAGES); -#elif defined(__FreeBSD__) +#elif defined(OS_FREEBSD) struct vmtotal vmt; size_t vmt_size = sizeof(vmt); if (sysctlbyname("vm.vmtotal", &vmt, &vmt_size, NULL, 0) == 0) diff --git a/base/base/phdr_cache.cpp b/base/base/phdr_cache.cpp index 36a9b4f1f62..c3d7fed2d3f 100644 --- a/base/base/phdr_cache.cpp +++ b/base/base/phdr_cache.cpp @@ -6,7 +6,7 @@ #include -#if defined(__linux__) && !defined(THREAD_SANITIZER) && !defined(USE_MUSL) +#if defined(OS_LINUX) && !defined(THREAD_SANITIZER) && !defined(USE_MUSL) #define USE_PHDR_CACHE 1 #endif diff --git a/base/base/strong_typedef.h b/base/base/strong_typedef.h index 0c2e9ca7e8e..c9ea30b73fd 100644 --- a/base/base/strong_typedef.h +++ b/base/base/strong_typedef.h @@ -23,10 +23,10 @@ public: constexpr StrongTypedef(): t() {} constexpr StrongTypedef(const Self &) = default; - constexpr StrongTypedef(Self &&) = default; + constexpr StrongTypedef(Self &&) noexcept(std::is_nothrow_move_constructible_v) = default; Self & operator=(const Self &) = default; - Self & operator=(Self &&) = default; + Self & operator=(Self &&) noexcept(std::is_nothrow_move_assignable_v)= default; template ::type> Self & operator=(const T & rhs) { t = rhs; return *this;} diff --git a/base/base/time.h b/base/base/time.h index d0b8e94a9a5..b029c9e3d42 100644 --- a/base/base/time.h +++ b/base/base/time.h @@ -1,6 +1,6 @@ #pragma once -#include +#include #if defined (OS_DARWIN) || defined (OS_SUNOS) # define CLOCK_MONOTONIC_COARSE CLOCK_MONOTONIC diff --git a/base/base/unaligned.h b/base/base/unaligned.h index ca73298adfb..013aa5274e9 100644 --- a/base/base/unaligned.h +++ b/base/base/unaligned.h @@ -1,6 +1,6 @@ #pragma once -#include +#include #include diff --git a/base/base/wide_integer.h b/base/base/wide_integer.h index de349633723..ffd30460c03 100644 --- a/base/base/wide_integer.h +++ b/base/base/wide_integer.h @@ -27,6 +27,8 @@ #include #include +// NOLINTBEGIN(*) + namespace wide { template @@ -257,4 +259,7 @@ struct hash>; } +// NOLINTEND(*) + #include "wide_integer_impl.h" + diff --git a/base/base/wide_integer_impl.h b/base/base/wide_integer_impl.h index ed2c2972cfe..5e32b286871 100644 --- a/base/base/wide_integer_impl.h +++ b/base/base/wide_integer_impl.h @@ -15,6 +15,8 @@ #include #include +// NOLINTBEGIN(*) + /// Use same extended double for all platforms #if (LDBL_MANT_DIG == 64) #define CONSTEXPR_FROM_DOUBLE constexpr @@ -576,8 +578,8 @@ private: else if constexpr (Bits == 128 && sizeof(base_type) == 8) { using CompilerUInt128 = unsigned __int128; - CompilerUInt128 a = (CompilerUInt128(lhs.items[1]) << 64) + lhs.items[0]; - CompilerUInt128 b = (CompilerUInt128(rhs.items[1]) << 64) + rhs.items[0]; + CompilerUInt128 a = (CompilerUInt128(lhs.items[1]) << 64) + lhs.items[0]; // NOLINT(clang-analyzer-core.UndefinedBinaryOperatorResult) + CompilerUInt128 b = (CompilerUInt128(rhs.items[1]) << 64) + rhs.items[0]; // NOLINT(clang-analyzer-core.UndefinedBinaryOperatorResult) CompilerUInt128 c = a * b; integer res; res.items[0] = c; @@ -841,8 +843,8 @@ public: { using CompilerUInt128 = unsigned __int128; - CompilerUInt128 a = (CompilerUInt128(numerator.items[1]) << 64) + numerator.items[0]; - CompilerUInt128 b = (CompilerUInt128(denominator.items[1]) << 64) + denominator.items[0]; + CompilerUInt128 a = (CompilerUInt128(numerator.items[1]) << 64) + numerator.items[0]; // NOLINT(clang-analyzer-core.UndefinedBinaryOperatorResult) + CompilerUInt128 b = (CompilerUInt128(denominator.items[1]) << 64) + denominator.items[0]; // NOLINT(clang-analyzer-core.UndefinedBinaryOperatorResult) CompilerUInt128 c = a / b; // NOLINT integer res; @@ -1204,7 +1206,7 @@ constexpr integer::operator T() const noexcept UnsignedT res{}; for (unsigned i = 0; i < _impl::item_count && i < (sizeof(T) + sizeof(base_type) - 1) / sizeof(base_type); ++i) - res += UnsignedT(items[i]) << (sizeof(base_type) * 8 * i); + res += UnsignedT(items[i]) << (sizeof(base_type) * 8 * i); // NOLINT(clang-analyzer-core.UndefinedBinaryOperatorResult) return res; } @@ -1478,3 +1480,5 @@ struct hash> }; } + +// NOLINTEND(*) diff --git a/base/harmful/harmful.c b/base/harmful/harmful.c index 5a27cae0383..6112f9a339c 100644 --- a/base/harmful/harmful.c +++ b/base/harmful/harmful.c @@ -260,4 +260,35 @@ TRAP(mq_timedreceive) TRAP(wordexp) TRAP(wordfree) +/// C11 threading primitives are not supported by ThreadSanitizer. +/// Also we should avoid using them for compatibility with old libc. +TRAP(thrd_create) +TRAP(thrd_equal) +TRAP(thrd_current) +TRAP(thrd_sleep) +TRAP(thrd_yield) +TRAP(thrd_exit) +TRAP(thrd_detach) +TRAP(thrd_join) + +TRAP(mtx_init) +TRAP(mtx_lock) +TRAP(mtx_timedlock) +TRAP(mtx_trylock) +TRAP(mtx_unlock) +TRAP(mtx_destroy) +TRAP(call_once) + +TRAP(cnd_init) +TRAP(cnd_signal) +TRAP(cnd_broadcast) +TRAP(cnd_wait) +TRAP(cnd_timedwait) +TRAP(cnd_destroy) + +TRAP(tss_create) +TRAP(tss_get) +TRAP(tss_set) +TRAP(tss_delete) + #endif diff --git a/base/pcg-random/pcg_extras.hpp b/base/pcg-random/pcg_extras.hpp index 39c91c4ecfa..f5ba4d48849 100644 --- a/base/pcg-random/pcg_extras.hpp +++ b/base/pcg-random/pcg_extras.hpp @@ -90,6 +90,7 @@ #define PCG_EMULATED_128BIT_MATH 1 #endif +// NOLINTBEGIN(*) namespace pcg_extras { @@ -552,4 +553,6 @@ std::ostream& operator<<(std::ostream& out, printable_typename) { } // namespace pcg_extras +// NOLINTEND(*) + #endif // PCG_EXTRAS_HPP_INCLUDED diff --git a/base/pcg-random/pcg_random.hpp b/base/pcg-random/pcg_random.hpp index d9d3519a4cf..94e43e1007b 100644 --- a/base/pcg-random/pcg_random.hpp +++ b/base/pcg-random/pcg_random.hpp @@ -113,6 +113,8 @@ #include "pcg_extras.hpp" +// NOLINTBEGIN(*) + namespace DB { struct PcgSerializer; @@ -1777,4 +1779,6 @@ typedef pcg_engines::ext_oneseq_xsh_rs_64_32<14,32,true> pcg32_k16384_fast; #pragma warning(default:4146) #endif +// NOLINTEND(*) + #endif // PCG_RAND_HPP_INCLUDED diff --git a/base/widechar_width/widechar_width.h b/base/widechar_width/widechar_width.h index 3007a112886..4927b67eb91 100644 --- a/base/widechar_width/widechar_width.h +++ b/base/widechar_width/widechar_width.h @@ -16,6 +16,8 @@ #include #include +// NOLINTBEGIN(*) + /* Special width values */ enum { widechar_nonprint = -1, // The character is not printable. @@ -518,4 +520,6 @@ inline int widechar_wcwidth(wchar_t c) { return 1; } +// NOLINTEND(*) + #endif // WIDECHAR_WIDTH_H diff --git a/benchmark/benchmark.sh b/benchmark/benchmark.sh deleted file mode 100755 index 5fea1bfbb88..00000000000 --- a/benchmark/benchmark.sh +++ /dev/null @@ -1,180 +0,0 @@ -#!/usr/bin/env bash -# script to run query to databases - -function usage() -{ - cat < /proc/sys/vm/drop_caches" - - if [[ "$restart_server_each_query" == "1" && "$use_service" == "1" ]]; then - echo "restart server: $etc_init_d_service restart" - sudo $etc_init_d_service restart - fi - - for i in $(seq $TIMES) - do - if [[ -f $etc_init_d_service && "$use_service" == "1" ]]; then - sudo $etc_init_d_service status - server_status=$? - expect -f $expect_file "" - - if [[ "$?" != "0" || $server_status != "0" ]]; then - echo "restart server: $etc_init_d_service restart" - sudo $etc_init_d_service restart - fi - - #wait until can connect to server - restart_timer=0 - restart_limit=60 - expect -f $expect_file "" &> /dev/null - while [ "$?" != "0" ]; do - echo "waiting" - sleep 1 - let "restart_timer = $restart_timer + 1" - if (( $restart_limit < $restart_timer )); then - sudo $etc_init_d_service restart - restart_timer=0 - fi - expect -f $expect_file "" &> /dev/null - done - fi - - echo - echo "times: $i" - - echo "query:" "$query" - expect -f $expect_file "$query" - - done - fi - - let "index = $index + 1" - done -} - -temp_test_file=temp_queries_$table_name -cat $test_file | sed s/$table_name_pattern/$table_name/g > $temp_test_file -mapfile -t test_queries < $temp_test_file - -echo "start time: $(date)" -time execute "${test_queries[@]}" -echo "stop time: $(date)" diff --git a/benchmark/create_dump.sh b/benchmark/create_dump.sh deleted file mode 100755 index 3e26f8c1426..00000000000 --- a/benchmark/create_dump.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env bash - -table=hits_10m; time clickhouse-client --max_bytes_before_external_sort=30000000000 --query="SELECT toInt64(WatchID), JavaEnable, Title, GoodEvent, (EventTime < toDateTime('1971-01-01 00:00:00') ? toDateTime('1971-01-01 00:00:01') : EventTime), (EventDate < toDate('1971-01-01') ? toDate('1971-01-01') : EventDate), CounterID, ClientIP, RegionID, toInt64(UserID), CounterClass, OS, UserAgent, URL, Referer, Refresh, RefererCategoryID, RefererRegionID, URLCategoryID, URLRegionID, ResolutionWidth, ResolutionHeight, ResolutionDepth, FlashMajor, FlashMinor, FlashMinor2, NetMajor, NetMinor, UserAgentMajor, UserAgentMinor, CookieEnable, JavascriptEnable, IsMobile, MobilePhone, MobilePhoneModel, Params, IPNetworkID, TraficSourceID, SearchEngineID, SearchPhrase, AdvEngineID, IsArtifical, WindowClientWidth, WindowClientHeight, ClientTimeZone, (ClientEventTime < toDateTime('1971-01-01 00:00:01') ? toDateTime('1971-01-01 00:00:01') : ClientEventTime), SilverlightVersion1, SilverlightVersion2, SilverlightVersion3, SilverlightVersion4, PageCharset, CodeVersion, IsLink, IsDownload, IsNotBounce, toInt64(FUniqID), OriginalURL, HID, IsOldCounter, IsEvent, IsParameter, DontCountHits, WithHash, HitColor, (LocalEventTime < toDateTime('1971-01-01 00:00:01') ? toDateTime('1971-01-01 00:00:01') : LocalEventTime), Age, Sex, Income, Interests, Robotness, RemoteIP, WindowName, OpenerName, HistoryLength, BrowserLanguage, BrowserCountry, SocialNetwork, SocialAction, HTTPError, SendTiming, DNSTiming, ConnectTiming, ResponseStartTiming, ResponseEndTiming, FetchTiming, SocialSourceNetworkID, SocialSourcePage, ParamPrice, ParamOrderID, ParamCurrency, ParamCurrencyID, OpenstatServiceName, OpenstatCampaignID, OpenstatAdID, OpenstatSourceID, UTMSource, UTMMedium, UTMCampaign, UTMContent, UTMTerm, FromTag, HasGCLID, toInt64(RefererHash), toInt64(URLHash), CLID FROM $table ORDER BY rand()" | corrector_utf8 > /opt/dumps/${table}_corrected.tsv diff --git a/benchmark/hardware.sh b/benchmark/hardware.sh index f6206d0257c..da7b3c81f32 100755 --- a/benchmark/hardware.sh +++ b/benchmark/hardware.sh @@ -1,107 +1,25 @@ #!/bin/bash -e -if [[ -n $1 ]]; then - SCALE=$1 -else - SCALE=100 -fi - -TABLE="hits_${SCALE}m_obfuscated" -DATASET="${TABLE}_v1.tar.xz" QUERIES_FILE="queries.sql" TRIES=3 -# Note: on older Ubuntu versions, 'axel' does not support IPv6. If you are using IPv6-only servers on very old Ubuntu, just don't install 'axel'. +mkdir -p clickhouse-benchmark +pushd clickhouse-benchmark -FASTER_DOWNLOAD=wget -if command -v axel >/dev/null; then - FASTER_DOWNLOAD=axel -else - echo "It's recommended to install 'axel' for faster downloads." +# Download the binary +if [[ ! -x clickhouse ]]; then + curl https://clickhouse.com/ | sh fi -if command -v pixz >/dev/null; then - TAR_PARAMS='-Ipixz' -else - echo "It's recommended to install 'pixz' for faster decompression of the dataset." -fi - -mkdir -p clickhouse-benchmark-$SCALE -pushd clickhouse-benchmark-$SCALE - -OS=$(uname -s) -ARCH=$(uname -m) - -DIR= - -if [ "${OS}" = "Linux" ] -then - if [ "${ARCH}" = "x86_64" ] - then - DIR="amd64" - elif [ "${ARCH}" = "aarch64" ] - then - DIR="aarch64" - elif [ "${ARCH}" = "powerpc64le" ] - then - DIR="powerpc64le" - fi -elif [ "${OS}" = "FreeBSD" ] -then - if [ "${ARCH}" = "x86_64" ] - then - DIR="freebsd" - elif [ "${ARCH}" = "aarch64" ] - then - DIR="freebsd-aarch64" - elif [ "${ARCH}" = "powerpc64le" ] - then - DIR="freebsd-powerpc64le" - fi -elif [ "${OS}" = "Darwin" ] -then - if [ "${ARCH}" = "x86_64" ] - then - DIR="macos" - elif [ "${ARCH}" = "aarch64" -o "${ARCH}" = "arm64" ] - then - DIR="macos-aarch64" - fi -fi - -if [ -z "${DIR}" ] -then - echo "The '${OS}' operating system with the '${ARCH}' architecture is not supported." - exit 1 -fi - -URL="https://builds.clickhouse.com/master/${DIR}/clickhouse" -echo -echo "Will download ${URL}" -echo -curl -O "${URL}" && chmod a+x clickhouse || exit 1 -echo -echo "Successfully downloaded the ClickHouse binary" - -chmod a+x clickhouse - if [[ ! -f $QUERIES_FILE ]]; then wget "https://raw.githubusercontent.com/ClickHouse/ClickHouse/master/benchmark/clickhouse/$QUERIES_FILE" fi -if [[ ! -d data ]]; then - if [[ ! -f $DATASET ]]; then - $FASTER_DOWNLOAD "https://datasets.clickhouse.com/hits/partitions/$DATASET" - fi - - tar $TAR_PARAMS --strip-components=1 --directory=. -x -v -f $DATASET -fi - uptime echo "Starting clickhouse-server" -./clickhouse server > server.log 2>&1 & +./clickhouse server >/dev/null 2>&1 & PID=$! function finish { @@ -114,18 +32,45 @@ echo "Waiting for clickhouse-server to start" for i in {1..30}; do sleep 1 - ./clickhouse client --query "SELECT 'The dataset size is: ', count() FROM $TABLE" 2>/dev/null && break || echo '.' + ./clickhouse client --query "SELECT 'Ok.'" 2>/dev/null && break || echo -n '.' if [[ $i == 30 ]]; then exit 1; fi done +if [[ $(./clickhouse client --query "EXISTS hits") == '1' && $(./clickhouse client --query "SELECT count() FROM hits") == '100000000' ]]; then + echo "Dataset already downloaded" +else + echo "Will download the dataset" + if [ "`uname`" = "Darwin" ] + then + ./clickhouse client --receive_timeout 1000 --max_insert_threads $(sysctl -n hw.ncpu) --progress --query " + CREATE OR REPLACE TABLE hits ENGINE = MergeTree PARTITION BY toYYYYMM(EventDate) ORDER BY (CounterID, EventDate, intHash32(UserID), EventTime) + AS SELECT * FROM url('https://datasets.clickhouse.com/hits/native/hits_100m_obfuscated_{0..255}.native.zst')" + else + ./clickhouse client --receive_timeout 1000 --max_insert_threads $(nproc || 4) --progress --query " + CREATE OR REPLACE TABLE hits ENGINE = MergeTree PARTITION BY toYYYYMM(EventDate) ORDER BY (CounterID, EventDate, intHash32(UserID), EventTime) + AS SELECT * FROM url('https://datasets.clickhouse.com/hits/native/hits_100m_obfuscated_{0..255}.native.zst')" + fi + ./clickhouse client --query "SELECT 'The dataset size is: ', count() FROM hits" +fi + +if [[ $(./clickhouse client --query "SELECT count() FROM system.parts WHERE table = 'hits' AND database = 'default' AND active") == '1' ]]; then + echo "Dataset already prepared" +else + echo "Will prepare the dataset" + ./clickhouse client --receive_timeout 1000 --query "OPTIMIZE TABLE hits FINAL" +fi + echo echo "Will perform benchmark. Results:" echo -cat "$QUERIES_FILE" | sed "s/{table}/${TABLE}/g" | while read query; do +>result.csv +QUERY_NUM=1 + +cat "$QUERIES_FILE" | sed "s/{table}/hits/g" | while read query; do sync - if [ "${OS}" = "Darwin" ] - then + if [ "`uname`" = "Darwin" ] + then sudo purge > /dev/null else echo 3 | sudo tee /proc/sys/vm/drop_caches >/dev/null @@ -133,11 +78,15 @@ cat "$QUERIES_FILE" | sed "s/{table}/${TABLE}/g" | while read query; do echo -n "[" for i in $(seq 1 $TRIES); do - RES=$(./clickhouse client --max_memory_usage 100G --time --format=Null --query="$query" 2>&1 ||:) + RES=$(./clickhouse client --time --format=Null --query="$query" 2>&1 ||:) [[ "$?" == "0" ]] && echo -n "${RES}" || echo -n "null" [[ "$i" != $TRIES ]] && echo -n ", " + + echo "${QUERY_NUM},${i},${RES}" >> result.csv done echo "]," + + QUERY_NUM=$((QUERY_NUM + 1)) done @@ -145,22 +94,23 @@ echo echo "Benchmark complete. System info:" echo -if [ "${OS}" = "Darwin" ] -then +touch {cpu_model,cpu,df,memory,memory_total,blk,mdstat,instance}.txt + +if [ "`uname`" = "Darwin" ] +then echo '----Version, build id-----------' ./clickhouse local --query "SELECT format('Version: {}', version())" - sw_vers | grep BuildVersion ./clickhouse local --query "SELECT format('The number of threads is: {}', value) FROM system.settings WHERE name = 'max_threads'" --output-format TSVRaw ./clickhouse local --query "SELECT format('Current time: {}', toString(now(), 'UTC'))" echo '----CPU-------------------------' - sysctl hw.model - sysctl -a | grep -E 'hw.activecpu|hw.memsize|hw.byteorder|cachesize' + sysctl hw.model | tee cpu_model.txt + sysctl -a | grep -E 'hw.activecpu|hw.memsize|hw.byteorder|cachesize' | tee cpu.txt echo '----Disk Free and Total--------' - df -h . + df -h . | tee df.txt echo '----Memory Free and Total-------' - vm_stat + vm_stat | tee memory.txt echo '----Physical Memory Amount------' - ls -l /var/vm + ls -l /var/vm | tee memory_total.txt echo '--------------------------------' else echo '----Version, build id-----------' @@ -168,22 +118,130 @@ else ./clickhouse local --query "SELECT format('The number of threads is: {}', value) FROM system.settings WHERE name = 'max_threads'" --output-format TSVRaw ./clickhouse local --query "SELECT format('Current time: {}', toString(now(), 'UTC'))" echo '----CPU-------------------------' - cat /proc/cpuinfo | grep -i -F 'model name' | uniq - lscpu + cat /proc/cpuinfo | grep -i -F 'model name' | uniq | tee cpu_model.txt + lscpu | tee cpu.txt echo '----Block Devices---------------' - lsblk + lsblk | tee blk.txt echo '----Disk Free and Total--------' - df -h . + df -h . | tee df.txt echo '----Memory Free and Total-------' - free -h + free -h | tee memory.txt echo '----Physical Memory Amount------' - cat /proc/meminfo | grep MemTotal + cat /proc/meminfo | grep MemTotal | tee memory_total.txt echo '----RAID Info-------------------' - cat /proc/mdstat - #echo '----PCI-------------------------' - #lspci - #echo '----All Hardware Info-----------' - #lshw + cat /proc/mdstat| tee mdstat.txt echo '--------------------------------' fi echo + +echo "Instance type from IMDS (if available):" +curl -s --connect-timeout 1 'http://169.254.169.254/latest/meta-data/instance-type' | tee instance.txt +echo + +echo "Uploading the results (if possible)" + +UUID=$(./clickhouse local --query "SELECT generateUUIDv4()") + +./clickhouse local --query " + SELECT + '${UUID}' AS run_id, + version() AS version, + now() AS test_time, + (SELECT value FROM system.settings WHERE name = 'max_threads') AS threads, + filesystemCapacity() AS fs_capacity, + filesystemAvailable() AS fs_available, + file('cpu_model.txt') AS cpu_model, + file('cpu.txt') AS cpu, + file('df.txt') AS df, + file('memory.txt') AS memory, + file('memory_total.txt') AS memory_total, + file('blk.txt') AS blk, + file('mdstat.txt') AS mdstat, + file('instance.txt') AS instance +" | tee meta.tsv | ./clickhouse client --host play.clickhouse.com --secure --user benchmark --query " + INSERT INTO benchmark_runs + (run_id, version, test_time, threads, fs_capacity, fs_available, cpu_model, cpu, df, memory, memory_total, blk, mdstat, instance) + FORMAT TSV" || echo "Cannot upload results." + +./clickhouse local --query " + SELECT + '${UUID}' AS run_id, + c1 AS query_num, + c2 AS try_num, + c3 AS time + FROM file('result.csv') +" | tee results.tsv | ./clickhouse client --host play.clickhouse.com --secure --user benchmark --query " + INSERT INTO benchmark_results + (run_id, query_num, try_num, time) + FORMAT TSV" || echo "Cannot upload results. Please send the output to feedback@clickhouse.com" + +< 1 + ) + GROUP BY run_id + ORDER BY k ASC +) AS t +INNER JOIN benchmark_runs USING (run_id) + +//// diff --git a/cmake/autogenerated_versions.txt b/cmake/autogenerated_versions.txt index 210c927b2fd..e6c60e74c36 100644 --- a/cmake/autogenerated_versions.txt +++ b/cmake/autogenerated_versions.txt @@ -2,11 +2,11 @@ # NOTE: has nothing common with DBMS_TCP_PROTOCOL_VERSION, # only DBMS_TCP_PROTOCOL_VERSION should be incremented on protocol changes. -SET(VERSION_REVISION 54463) +SET(VERSION_REVISION 54464) SET(VERSION_MAJOR 22) -SET(VERSION_MINOR 6) +SET(VERSION_MINOR 7) SET(VERSION_PATCH 1) -SET(VERSION_GITHASH df0cb0620985eb5ec59760cc76f7736e5b6209bb) -SET(VERSION_DESCRIBE v22.6.1.1-testing) -SET(VERSION_STRING 22.6.1.1) +SET(VERSION_GITHASH 7000c4e0033bb9e69050ab8ef73e8e7465f78059) +SET(VERSION_DESCRIBE v22.7.1.1-testing) +SET(VERSION_STRING 22.7.1.1) # end of autochange diff --git a/cmake/cpu_features.cmake b/cmake/cpu_features.cmake index fd4cc51b6f9..7b966e1acac 100644 --- a/cmake/cpu_features.cmake +++ b/cmake/cpu_features.cmake @@ -29,7 +29,7 @@ if (ARCH_NATIVE) set (COMPILER_FLAGS "${COMPILER_FLAGS} -march=native") elseif (ARCH_AARCH64) - set (COMPILER_FLAGS "${COMPILER_FLAGS} -march=armv8-a+crc") + set (COMPILER_FLAGS "${COMPILER_FLAGS} -march=armv8-a+crc+simd+crypto+dotprod+ssbs") elseif (ARCH_PPC64LE) # Note that gcc and clang have support for x86 SSE2 intrinsics when building for PowerPC diff --git a/cmake/strip_binary.cmake b/cmake/split_debug_symbols.cmake similarity index 84% rename from cmake/strip_binary.cmake rename to cmake/split_debug_symbols.cmake index be23a4c1c30..12182ed9c20 100644 --- a/cmake/strip_binary.cmake +++ b/cmake/split_debug_symbols.cmake @@ -1,4 +1,4 @@ -macro(clickhouse_strip_binary) +macro(clickhouse_split_debug_symbols) set(oneValueArgs TARGET DESTINATION_DIR BINARY_PATH) cmake_parse_arguments(STRIP "" "${oneValueArgs}" "" ${ARGN}) @@ -19,9 +19,12 @@ macro(clickhouse_strip_binary) COMMAND mkdir -p "${STRIP_DESTINATION_DIR}/lib/debug/bin" COMMAND mkdir -p "${STRIP_DESTINATION_DIR}/bin" COMMAND cp "${STRIP_BINARY_PATH}" "${STRIP_DESTINATION_DIR}/bin/${STRIP_TARGET}" + # Splits debug symbols into separate file, leaves the binary untouched: COMMAND "${OBJCOPY_PATH}" --only-keep-debug --compress-debug-sections "${STRIP_DESTINATION_DIR}/bin/${STRIP_TARGET}" "${STRIP_DESTINATION_DIR}/lib/debug/bin/${STRIP_TARGET}.debug" COMMAND chmod 0644 "${STRIP_DESTINATION_DIR}/lib/debug/bin/${STRIP_TARGET}.debug" - COMMAND "${STRIP_PATH}" --remove-section=.comment --remove-section=.note "${STRIP_DESTINATION_DIR}/bin/${STRIP_TARGET}" + # Strips binary, sections '.note' & '.comment' are removed in line with Debian's stripping policy: www.debian.org/doc/debian-policy/ch-files.html, section '.clickhouse.hash' is needed for integrity check: + COMMAND "${STRIP_PATH}" --remove-section=.comment --remove-section=.note --keep-section=.clickhouse.hash "${STRIP_DESTINATION_DIR}/bin/${STRIP_TARGET}" + # Associate stripped binary with debug symbols: COMMAND "${OBJCOPY_PATH}" --add-gnu-debuglink "${STRIP_DESTINATION_DIR}/lib/debug/bin/${STRIP_TARGET}.debug" "${STRIP_DESTINATION_DIR}/bin/${STRIP_TARGET}" COMMENT "Stripping clickhouse binary" VERBATIM ) diff --git a/cmake/tools.cmake b/cmake/tools.cmake index 5e3acf10bd5..5b005a6f1f9 100644 --- a/cmake/tools.cmake +++ b/cmake/tools.cmake @@ -77,6 +77,7 @@ if (OS_LINUX AND NOT LINKER_NAME) if (NOT LINKER_NAME) if (GOLD_PATH) + message (WARNING "Linking with gold is not recommended. Please use lld.") if (COMPILER_GCC) set (LINKER_NAME "gold") else () @@ -111,7 +112,7 @@ endif() # Archiver if (COMPILER_GCC) - find_program (LLVM_AR_PATH NAMES "llvm-ar" "llvm-ar-13" "llvm-ar-12" "llvm-ar-11") + find_program (LLVM_AR_PATH NAMES "llvm-ar" "llvm-ar-14" "llvm-ar-13" "llvm-ar-12") else () find_program (LLVM_AR_PATH NAMES "llvm-ar-${COMPILER_VERSION_MAJOR}" "llvm-ar") endif () @@ -125,7 +126,7 @@ message(STATUS "Using archiver: ${CMAKE_AR}") # Ranlib if (COMPILER_GCC) - find_program (LLVM_RANLIB_PATH NAMES "llvm-ranlib" "llvm-ranlib-13" "llvm-ranlib-12" "llvm-ranlib-11") + find_program (LLVM_RANLIB_PATH NAMES "llvm-ranlib" "llvm-ranlib-14" "llvm-ranlib-13" "llvm-ranlib-12") else () find_program (LLVM_RANLIB_PATH NAMES "llvm-ranlib-${COMPILER_VERSION_MAJOR}" "llvm-ranlib") endif () @@ -139,7 +140,7 @@ message(STATUS "Using ranlib: ${CMAKE_RANLIB}") # Install Name Tool if (COMPILER_GCC) - find_program (LLVM_INSTALL_NAME_TOOL_PATH NAMES "llvm-install-name-tool" "llvm-install-name-tool-13" "llvm-install-name-tool-12" "llvm-install-name-tool-11") + find_program (LLVM_INSTALL_NAME_TOOL_PATH NAMES "llvm-install-name-tool" "llvm-install-name-tool-14" "llvm-install-name-tool-13" "llvm-install-name-tool-12") else () find_program (LLVM_INSTALL_NAME_TOOL_PATH NAMES "llvm-install-name-tool-${COMPILER_VERSION_MAJOR}" "llvm-install-name-tool") endif () @@ -153,7 +154,7 @@ message(STATUS "Using install-name-tool: ${CMAKE_INSTALL_NAME_TOOL}") # Objcopy if (COMPILER_GCC) - find_program (OBJCOPY_PATH NAMES "llvm-objcopy" "llvm-objcopy-13" "llvm-objcopy-12" "llvm-objcopy-11" "objcopy") + find_program (OBJCOPY_PATH NAMES "llvm-objcopy" "llvm-objcopy-14" "llvm-objcopy-13" "llvm-objcopy-12" "objcopy") else () find_program (OBJCOPY_PATH NAMES "llvm-objcopy-${COMPILER_VERSION_MAJOR}" "llvm-objcopy" "objcopy") endif () @@ -167,7 +168,7 @@ endif () # Strip if (COMPILER_GCC) - find_program (STRIP_PATH NAMES "llvm-strip" "llvm-strip-13" "llvm-strip-12" "llvm-strip-11" "strip") + find_program (STRIP_PATH NAMES "llvm-strip" "llvm-strip-14" "llvm-strip-13" "llvm-strip-12" "strip") else () find_program (STRIP_PATH NAMES "llvm-strip-${COMPILER_VERSION_MAJOR}" "llvm-strip" "strip") endif () @@ -177,3 +178,17 @@ if (STRIP_PATH) else () message (FATAL_ERROR "Cannot find strip.") endif () + +if (OS_DARWIN AND NOT CMAKE_TOOLCHAIN_FILE) + # utils/list-licenses/list-licenses.sh (which generates system table system.licenses) needs the GNU versions of find and grep. These are + # not available out-of-the-box on Mac. As a special case, Darwin builds in CI are cross-compiled from x86 Linux where the GNU userland is + # available. + find_program(GFIND_PATH NAMES "gfind") + if (NOT GFIND_PATH) + message (FATAL_ERROR "GNU find not found. You can install it with 'brew install findutils'.") + endif() + find_program(GGREP_PATH NAMES "ggrep") + if (NOT GGREP_PATH) + message (FATAL_ERROR "GNU grep not found. You can install it with 'brew install grep'.") + endif() +endif () diff --git a/cmake/warnings.cmake b/cmake/warnings.cmake index 4b8f83df090..6b08f1fda05 100644 --- a/cmake/warnings.cmake +++ b/cmake/warnings.cmake @@ -19,7 +19,6 @@ if (COMPILER_CLANG) # Add some warnings that are not available even with -Wall -Wextra -Wpedantic. # We want to get everything out of the compiler for code quality. add_warning(everything) - add_warning(pedantic) no_warning(vla-extension) no_warning(zero-length-array) @@ -51,6 +50,7 @@ if (COMPILER_CLANG) no_warning(vla) no_warning(weak-template-vtables) no_warning(weak-vtables) + no_warning(thread-safety-negative) # experimental flag, too many false positives # TODO Enable conversion, sign-conversion, double-promotion warnings. elseif (COMPILER_GCC) # Add compiler options only to c++ compiler diff --git a/contrib/CMakeLists.txt b/contrib/CMakeLists.txt index b1f6a38a63b..d4a3f164214 100644 --- a/contrib/CMakeLists.txt +++ b/contrib/CMakeLists.txt @@ -37,6 +37,8 @@ function(add_contrib cmake_folder) file(GLOB contrib_files "${base_folder}/*") if (NOT contrib_files) + # Checking out *all* submodules takes > 5 min. Therefore, the smoke build ("FastTest") in CI initializes only the set of + # submodules minimally needed for a build and we cannot assume here that all submodules are populated. message(STATUS "submodule ${base_folder} is missing or empty. to fix try run:") message(STATUS " git submodule update --init") return() @@ -56,7 +58,7 @@ add_contrib (boost-cmake boost) add_contrib (cctz-cmake cctz) add_contrib (consistent-hashing) add_contrib (dragonbox-cmake dragonbox) -add_contrib (hyperscan-cmake hyperscan) +add_contrib (vectorscan-cmake vectorscan) add_contrib (jemalloc-cmake jemalloc) add_contrib (libcpuid-cmake libcpuid) add_contrib (libdivide) @@ -154,6 +156,7 @@ endif() add_contrib (sqlite-cmake sqlite-amalgamation) add_contrib (s2geometry-cmake s2geometry) +add_contrib (base-x-cmake base-x) # Put all targets defined here and in subdirectories under "contrib/" folders in GUI-based IDEs. # Some of third-party projects may override CMAKE_FOLDER or FOLDER property of their targets, so they would not appear diff --git a/contrib/NuRaft b/contrib/NuRaft index 24a13f15cf0..1334b9ae725 160000 --- a/contrib/NuRaft +++ b/contrib/NuRaft @@ -1 +1 @@ -Subproject commit 24a13f15cf0838b93f3b1beb62ed010dffdb2117 +Subproject commit 1334b9ae72576821a698d657d08838861cf33007 diff --git a/contrib/abseil-cpp-cmake/CMakeLists.txt b/contrib/abseil-cpp-cmake/CMakeLists.txt index 4fb02327d17..4c31ecfc599 100644 --- a/contrib/abseil-cpp-cmake/CMakeLists.txt +++ b/contrib/abseil-cpp-cmake/CMakeLists.txt @@ -1,7 +1,4 @@ set(ABSL_ROOT_DIR "${ClickHouse_SOURCE_DIR}/contrib/abseil-cpp") -if(NOT EXISTS "${ABSL_ROOT_DIR}/CMakeLists.txt") - message(FATAL_ERROR " submodule third_party/abseil-cpp is missing. To fix try run: \n git submodule update --init --recursive") -endif() set(BUILD_TESTING OFF) set(ABSL_PROPAGATE_CXX_STD ON) add_subdirectory("${ABSL_ROOT_DIR}" "${ClickHouse_BINARY_DIR}/contrib/abseil-cpp") diff --git a/contrib/amqpcpp-cmake/CMakeLists.txt b/contrib/amqpcpp-cmake/CMakeLists.txt index 974d097e06f..6f6a0188e6f 100644 --- a/contrib/amqpcpp-cmake/CMakeLists.txt +++ b/contrib/amqpcpp-cmake/CMakeLists.txt @@ -5,6 +5,12 @@ if (NOT ENABLE_AMQPCPP) return() endif() +# can be removed once libuv build on MacOS with GCC is possible +if (NOT TARGET ch_contrib::uv) + message(STATUS "Not using AMQP-CPP because libuv is disabled") + return() +endif() + set (LIBRARY_DIR "${ClickHouse_SOURCE_DIR}/contrib/AMQP-CPP") set (SRCS @@ -32,21 +38,6 @@ set (SRCS add_library(_amqp-cpp ${SRCS}) -target_compile_options (_amqp-cpp - PRIVATE - -Wno-old-style-cast - -Wno-inconsistent-missing-destructor-override - -Wno-deprecated - -Wno-unused-parameter - -Wno-shadow - -Wno-tautological-type-limit-compare - -Wno-extra-semi -# NOTE: disable all warnings at last because the warning: - # "conversion function converting 'XXX' to itself will never be used" - # doesn't have it's own diagnostic flag yet. - -w -) - target_include_directories (_amqp-cpp SYSTEM BEFORE PUBLIC "${LIBRARY_DIR}/include" "${LIBRARY_DIR}") target_link_libraries (_amqp-cpp PUBLIC OpenSSL::Crypto OpenSSL::SSL ch_contrib::uv) add_library (ch_contrib::amqp_cpp ALIAS _amqp-cpp) diff --git a/contrib/arrow-cmake/CMakeLists.txt b/contrib/arrow-cmake/CMakeLists.txt index a4574493440..74bbb300fa5 100644 --- a/contrib/arrow-cmake/CMakeLists.txt +++ b/contrib/arrow-cmake/CMakeLists.txt @@ -20,7 +20,7 @@ endif() option (ENABLE_PARQUET "Enable parquet" ${ENABLE_PARQUET_DEFAULT}) if (NOT ENABLE_PARQUET) - message(STATUS "Building without Parquet support") + message(STATUS "Not using parquet") return() endif() diff --git a/contrib/avro-cmake/CMakeLists.txt b/contrib/avro-cmake/CMakeLists.txt index c5bda41782d..25474650d0e 100644 --- a/contrib/avro-cmake/CMakeLists.txt +++ b/contrib/avro-cmake/CMakeLists.txt @@ -60,14 +60,6 @@ target_compile_definitions (_avrocpp PUBLIC SNAPPY_CODEC_AVAILABLE) target_include_directories (_avrocpp PRIVATE ${SNAPPY_INCLUDE_DIR}) target_link_libraries (_avrocpp PRIVATE ch_contrib::snappy) -if (COMPILER_GCC) - set (SUPPRESS_WARNINGS -Wno-non-virtual-dtor) -elseif (COMPILER_CLANG) - set (SUPPRESS_WARNINGS -Wno-non-virtual-dtor) -endif () - -target_compile_options(_avrocpp PRIVATE ${SUPPRESS_WARNINGS}) - # create a symlink to include headers with set(AVRO_INCLUDE_DIR "${CMAKE_CURRENT_BINARY_DIR}/include") ADD_CUSTOM_TARGET(avro_symlink_headers ALL diff --git a/contrib/azure-cmake/CMakeLists.txt b/contrib/azure-cmake/CMakeLists.txt index 031d8dc9a0b..19f2940cbf0 100644 --- a/contrib/azure-cmake/CMakeLists.txt +++ b/contrib/azure-cmake/CMakeLists.txt @@ -52,20 +52,6 @@ include("${AZURE_DIR}/cmake-modules/AzureTransportAdapters.cmake") add_library(_azure_sdk ${AZURE_SDK_UNIFIED_SRC}) -if (COMPILER_CLANG) - target_compile_options(_azure_sdk PRIVATE - -Wno-deprecated-copy-dtor - -Wno-extra-semi - -Wno-suggest-destructor-override - -Wno-inconsistent-missing-destructor-override - -Wno-error=unknown-warning-option - ) - - if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 13) - target_compile_options(_azure_sdk PRIVATE -Wno-reserved-identifier) - endif() -endif() - # Originally, on Windows azure-core is built with bcrypt and crypt32 by default if (TARGET OpenSSL::SSL) target_link_libraries(_azure_sdk PRIVATE OpenSSL::Crypto OpenSSL::SSL) diff --git a/contrib/base-x b/contrib/base-x new file mode 160000 index 00000000000..a85f98fb4ed --- /dev/null +++ b/contrib/base-x @@ -0,0 +1 @@ +Subproject commit a85f98fb4ed52c2f4029a4b6ac1ef0bafdfc56f5 diff --git a/contrib/base-x-cmake/CMakeLists.txt b/contrib/base-x-cmake/CMakeLists.txt new file mode 100644 index 00000000000..b0c11a176c6 --- /dev/null +++ b/contrib/base-x-cmake/CMakeLists.txt @@ -0,0 +1,28 @@ +option (ENABLE_BASEX "Enable base-x" ${ENABLE_LIBRARIES}) + +if (NOT ENABLE_BASEX) + message(STATUS "Not using base-x") + return() +endif() + +set(LIBRARY_DIR "${ClickHouse_SOURCE_DIR}/contrib/base-x") + +set (SRCS + ${LIBRARY_DIR}/base_x.hh + ${LIBRARY_DIR}/uinteger_t.hh + ) + +add_library(_base-x INTERFACE) +target_include_directories(_base-x SYSTEM BEFORE INTERFACE "${ClickHouse_SOURCE_DIR}/contrib/base-x") + +if (XCODE OR XCODE_VERSION) + # https://gitlab.kitware.com/cmake/cmake/issues/17457 + # Some native build systems may not like targets that have only object files, so consider adding at least one real source file + # This applies to Xcode. + if (NOT EXISTS "${CMAKE_CURRENT_BINARY_DIR}/dummy.c") + file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/dummy.c" "") + endif () + target_sources(_base-x PRIVATE "${CMAKE_CURRENT_BINARY_DIR}/dummy.c") +endif () + +add_library(ch_contrib::base-x ALIAS _base-x) \ No newline at end of file diff --git a/contrib/boringssl b/contrib/boringssl index 9c0715ce459..c1e01a441d6 160000 --- a/contrib/boringssl +++ b/contrib/boringssl @@ -1 +1 @@ -Subproject commit 9c0715ce459de443e7b08f270a518c1702f1a380 +Subproject commit c1e01a441d6db234f4f12e63a7657d1f9e6db9c1 diff --git a/contrib/boringssl-cmake/CMakeLists.txt b/contrib/boringssl-cmake/CMakeLists.txt index 180fb3874c1..9a1f667f52e 100644 --- a/contrib/boringssl-cmake/CMakeLists.txt +++ b/contrib/boringssl-cmake/CMakeLists.txt @@ -1,7 +1,12 @@ # Needed for: # - securely connecting to an external server, e.g. clickhouse-client --host ... --secure # - lots of thirdparty libraries -option(ENABLE_SSL "Enable ssl" ${ENABLE_LIBRARIES}) + +# Actually, so many 3rd party libraries + unit tests need SSL that we cannot disable it +# without breaking the build ... +option(ENABLE_SSL "Enable ssl" ON) # breaks if OFF +# TODO: Making SSL dependent on ENABLE_LIBRARIES is desirable but needs fixing dependent libs + tests. +# option(ENABLE_SSL "Enable ssl" ${ENABLE_LIBRARIES}) if(NOT ENABLE_SSL) message(STATUS "Not using openssl") @@ -154,14 +159,12 @@ set( ios-aarch64/crypto/fipsmodule/sha512-armv8.S ios-aarch64/crypto/fipsmodule/vpaes-armv8.S ios-aarch64/crypto/test/trampoline-armv8.S - ios-aarch64/crypto/third_party/sike/asm/fp-armv8.S ) set( CRYPTO_ios_arm_SOURCES ios-arm/crypto/chacha/chacha-armv4.S - ios-arm/crypto/fipsmodule/aes-armv4.S ios-arm/crypto/fipsmodule/aesv8-armx32.S ios-arm/crypto/fipsmodule/armv4-mont.S ios-arm/crypto/fipsmodule/bsaes-armv7.S @@ -187,14 +190,12 @@ set( linux-aarch64/crypto/fipsmodule/sha512-armv8.S linux-aarch64/crypto/fipsmodule/vpaes-armv8.S linux-aarch64/crypto/test/trampoline-armv8.S - linux-aarch64/crypto/third_party/sike/asm/fp-armv8.S ) set( CRYPTO_linux_arm_SOURCES linux-arm/crypto/chacha/chacha-armv4.S - linux-arm/crypto/fipsmodule/aes-armv4.S linux-arm/crypto/fipsmodule/aesv8-armx32.S linux-arm/crypto/fipsmodule/armv4-mont.S linux-arm/crypto/fipsmodule/bsaes-armv7.S @@ -214,13 +215,13 @@ set( linux-ppc64le/crypto/fipsmodule/aesp8-ppc.S linux-ppc64le/crypto/fipsmodule/ghashp8-ppc.S + linux-ppc64le/crypto/test/trampoline-ppc.S ) set( CRYPTO_linux_x86_SOURCES linux-x86/crypto/chacha/chacha-x86.S - linux-x86/crypto/fipsmodule/aes-586.S linux-x86/crypto/fipsmodule/aesni-x86.S linux-x86/crypto/fipsmodule/bn-586.S linux-x86/crypto/fipsmodule/co-586.S @@ -241,7 +242,6 @@ set( linux-x86_64/crypto/chacha/chacha-x86_64.S linux-x86_64/crypto/cipher_extra/aes128gcmsiv-x86_64.S linux-x86_64/crypto/cipher_extra/chacha20_poly1305_x86_64.S - linux-x86_64/crypto/fipsmodule/aes-x86_64.S linux-x86_64/crypto/fipsmodule/aesni-gcm-x86_64.S linux-x86_64/crypto/fipsmodule/aesni-x86_64.S linux-x86_64/crypto/fipsmodule/ghash-ssse3-x86_64.S @@ -258,7 +258,6 @@ set( linux-x86_64/crypto/fipsmodule/x86_64-mont.S linux-x86_64/crypto/fipsmodule/x86_64-mont5.S linux-x86_64/crypto/test/trampoline-x86_64.S - linux-x86_64/crypto/third_party/sike/asm/fp-x86_64.S "${BORINGSSL_SOURCE_DIR}/crypto/hrss/asm/poly_rq_mul.S" ) @@ -266,7 +265,6 @@ set( CRYPTO_mac_x86_SOURCES mac-x86/crypto/chacha/chacha-x86.S - mac-x86/crypto/fipsmodule/aes-586.S mac-x86/crypto/fipsmodule/aesni-x86.S mac-x86/crypto/fipsmodule/bn-586.S mac-x86/crypto/fipsmodule/co-586.S @@ -287,7 +285,6 @@ set( mac-x86_64/crypto/chacha/chacha-x86_64.S mac-x86_64/crypto/cipher_extra/aes128gcmsiv-x86_64.S mac-x86_64/crypto/cipher_extra/chacha20_poly1305_x86_64.S - mac-x86_64/crypto/fipsmodule/aes-x86_64.S mac-x86_64/crypto/fipsmodule/aesni-gcm-x86_64.S mac-x86_64/crypto/fipsmodule/aesni-x86_64.S mac-x86_64/crypto/fipsmodule/ghash-ssse3-x86_64.S @@ -304,7 +301,6 @@ set( mac-x86_64/crypto/fipsmodule/x86_64-mont.S mac-x86_64/crypto/fipsmodule/x86_64-mont5.S mac-x86_64/crypto/test/trampoline-x86_64.S - mac-x86_64/crypto/third_party/sike/asm/fp-x86_64.S ) set( @@ -326,7 +322,6 @@ set( CRYPTO_win_x86_SOURCES win-x86/crypto/chacha/chacha-x86.asm - win-x86/crypto/fipsmodule/aes-586.asm win-x86/crypto/fipsmodule/aesni-x86.asm win-x86/crypto/fipsmodule/bn-586.asm win-x86/crypto/fipsmodule/co-586.asm @@ -347,7 +342,6 @@ set( win-x86_64/crypto/chacha/chacha-x86_64.asm win-x86_64/crypto/cipher_extra/aes128gcmsiv-x86_64.asm win-x86_64/crypto/cipher_extra/chacha20_poly1305_x86_64.asm - win-x86_64/crypto/fipsmodule/aes-x86_64.asm win-x86_64/crypto/fipsmodule/aesni-gcm-x86_64.asm win-x86_64/crypto/fipsmodule/aesni-x86_64.asm win-x86_64/crypto/fipsmodule/ghash-ssse3-x86_64.asm @@ -364,7 +358,6 @@ set( win-x86_64/crypto/fipsmodule/x86_64-mont.asm win-x86_64/crypto/fipsmodule/x86_64-mont5.asm win-x86_64/crypto/test/trampoline-x86_64.asm - win-x86_64/crypto/third_party/sike/asm/fp-x86_64.asm ) if(APPLE AND ARCH STREQUAL "aarch64") @@ -396,6 +389,7 @@ add_library( "${BORINGSSL_SOURCE_DIR}/crypto/asn1/a_object.c" "${BORINGSSL_SOURCE_DIR}/crypto/asn1/a_octet.c" "${BORINGSSL_SOURCE_DIR}/crypto/asn1/a_print.c" + "${BORINGSSL_SOURCE_DIR}/crypto/asn1/a_strex.c" "${BORINGSSL_SOURCE_DIR}/crypto/asn1/a_strnid.c" "${BORINGSSL_SOURCE_DIR}/crypto/asn1/a_time.c" "${BORINGSSL_SOURCE_DIR}/crypto/asn1/a_type.c" @@ -425,6 +419,7 @@ add_library( "${BORINGSSL_SOURCE_DIR}/crypto/bio/printf.c" "${BORINGSSL_SOURCE_DIR}/crypto/bio/socket.c" "${BORINGSSL_SOURCE_DIR}/crypto/bio/socket_helper.c" + "${BORINGSSL_SOURCE_DIR}/crypto/blake2/blake2.c" "${BORINGSSL_SOURCE_DIR}/crypto/bn_extra/bn_asn1.c" "${BORINGSSL_SOURCE_DIR}/crypto/bn_extra/convert.c" "${BORINGSSL_SOURCE_DIR}/crypto/buf/buf.c" @@ -449,20 +444,22 @@ add_library( "${BORINGSSL_SOURCE_DIR}/crypto/conf/conf.c" "${BORINGSSL_SOURCE_DIR}/crypto/cpu-aarch64-fuchsia.c" "${BORINGSSL_SOURCE_DIR}/crypto/cpu-aarch64-linux.c" + "${BORINGSSL_SOURCE_DIR}/crypto/cpu-aarch64-win.c" "${BORINGSSL_SOURCE_DIR}/crypto/cpu-arm-linux.c" "${BORINGSSL_SOURCE_DIR}/crypto/cpu-arm.c" "${BORINGSSL_SOURCE_DIR}/crypto/cpu-intel.c" "${BORINGSSL_SOURCE_DIR}/crypto/cpu-ppc64le.c" "${BORINGSSL_SOURCE_DIR}/crypto/crypto.c" + "${BORINGSSL_SOURCE_DIR}/crypto/curve25519/curve25519.c" "${BORINGSSL_SOURCE_DIR}/crypto/curve25519/spake25519.c" - "${BORINGSSL_SOURCE_DIR}/crypto/dh/check.c" - "${BORINGSSL_SOURCE_DIR}/crypto/dh/dh.c" - "${BORINGSSL_SOURCE_DIR}/crypto/dh/dh_asn1.c" - "${BORINGSSL_SOURCE_DIR}/crypto/dh/params.c" + "${BORINGSSL_SOURCE_DIR}/crypto/dh_extra/dh_asn1.c" + "${BORINGSSL_SOURCE_DIR}/crypto/dh_extra/params.c" "${BORINGSSL_SOURCE_DIR}/crypto/digest_extra/digest_extra.c" "${BORINGSSL_SOURCE_DIR}/crypto/dsa/dsa.c" "${BORINGSSL_SOURCE_DIR}/crypto/dsa/dsa_asn1.c" "${BORINGSSL_SOURCE_DIR}/crypto/ec_extra/ec_asn1.c" + "${BORINGSSL_SOURCE_DIR}/crypto/ec_extra/ec_derive.c" + "${BORINGSSL_SOURCE_DIR}/crypto/ec_extra/hash_to_curve.c" "${BORINGSSL_SOURCE_DIR}/crypto/ecdh_extra/ecdh_extra.c" "${BORINGSSL_SOURCE_DIR}/crypto/ecdsa_extra/ecdsa_asn1.c" "${BORINGSSL_SOURCE_DIR}/crypto/engine/engine.c" @@ -487,8 +484,8 @@ add_library( "${BORINGSSL_SOURCE_DIR}/crypto/ex_data.c" "${BORINGSSL_SOURCE_DIR}/crypto/fipsmodule/bcm.c" "${BORINGSSL_SOURCE_DIR}/crypto/fipsmodule/fips_shared_support.c" - "${BORINGSSL_SOURCE_DIR}/crypto/fipsmodule/is_fips.c" "${BORINGSSL_SOURCE_DIR}/crypto/hkdf/hkdf.c" + "${BORINGSSL_SOURCE_DIR}/crypto/hpke/hpke.c" "${BORINGSSL_SOURCE_DIR}/crypto/hrss/hrss.c" "${BORINGSSL_SOURCE_DIR}/crypto/lhash/lhash.c" "${BORINGSSL_SOURCE_DIR}/crypto/mem.c" @@ -514,6 +511,7 @@ add_library( "${BORINGSSL_SOURCE_DIR}/crypto/rand_extra/deterministic.c" "${BORINGSSL_SOURCE_DIR}/crypto/rand_extra/forkunsafe.c" "${BORINGSSL_SOURCE_DIR}/crypto/rand_extra/fuchsia.c" + "${BORINGSSL_SOURCE_DIR}/crypto/rand_extra/passive.c" "${BORINGSSL_SOURCE_DIR}/crypto/rand_extra/rand_extra.c" "${BORINGSSL_SOURCE_DIR}/crypto/rand_extra/windows.c" "${BORINGSSL_SOURCE_DIR}/crypto/rc4/rc4.c" @@ -527,15 +525,18 @@ add_library( "${BORINGSSL_SOURCE_DIR}/crypto/thread_none.c" "${BORINGSSL_SOURCE_DIR}/crypto/thread_pthread.c" "${BORINGSSL_SOURCE_DIR}/crypto/thread_win.c" + "${BORINGSSL_SOURCE_DIR}/crypto/trust_token/pmbtoken.c" + "${BORINGSSL_SOURCE_DIR}/crypto/trust_token/trust_token.c" + "${BORINGSSL_SOURCE_DIR}/crypto/trust_token/voprf.c" "${BORINGSSL_SOURCE_DIR}/crypto/x509/a_digest.c" "${BORINGSSL_SOURCE_DIR}/crypto/x509/a_sign.c" - "${BORINGSSL_SOURCE_DIR}/crypto/x509/a_strex.c" "${BORINGSSL_SOURCE_DIR}/crypto/x509/a_verify.c" "${BORINGSSL_SOURCE_DIR}/crypto/x509/algorithm.c" "${BORINGSSL_SOURCE_DIR}/crypto/x509/asn1_gen.c" "${BORINGSSL_SOURCE_DIR}/crypto/x509/by_dir.c" "${BORINGSSL_SOURCE_DIR}/crypto/x509/by_file.c" "${BORINGSSL_SOURCE_DIR}/crypto/x509/i2d_pr.c" + "${BORINGSSL_SOURCE_DIR}/crypto/x509/name_print.c" "${BORINGSSL_SOURCE_DIR}/crypto/x509/rsa_pss.c" "${BORINGSSL_SOURCE_DIR}/crypto/x509/t_crl.c" "${BORINGSSL_SOURCE_DIR}/crypto/x509/t_req.c" @@ -601,19 +602,11 @@ add_library( "${BORINGSSL_SOURCE_DIR}/crypto/x509v3/v3_pci.c" "${BORINGSSL_SOURCE_DIR}/crypto/x509v3/v3_pcia.c" "${BORINGSSL_SOURCE_DIR}/crypto/x509v3/v3_pcons.c" - "${BORINGSSL_SOURCE_DIR}/crypto/x509v3/v3_pku.c" "${BORINGSSL_SOURCE_DIR}/crypto/x509v3/v3_pmaps.c" "${BORINGSSL_SOURCE_DIR}/crypto/x509v3/v3_prn.c" "${BORINGSSL_SOURCE_DIR}/crypto/x509v3/v3_purp.c" "${BORINGSSL_SOURCE_DIR}/crypto/x509v3/v3_skey.c" - "${BORINGSSL_SOURCE_DIR}/crypto/x509v3/v3_sxnet.c" "${BORINGSSL_SOURCE_DIR}/crypto/x509v3/v3_utl.c" - "${BORINGSSL_SOURCE_DIR}/third_party/fiat/curve25519.c" - "${BORINGSSL_SOURCE_DIR}/third_party/sike/asm/fp_generic.c" - "${BORINGSSL_SOURCE_DIR}/third_party/sike/curve_params.c" - "${BORINGSSL_SOURCE_DIR}/third_party/sike/fpx.c" - "${BORINGSSL_SOURCE_DIR}/third_party/sike/isogeny.c" - "${BORINGSSL_SOURCE_DIR}/third_party/sike/sike.c" ) add_library( @@ -626,6 +619,8 @@ add_library( "${BORINGSSL_SOURCE_DIR}/ssl/d1_srtp.cc" "${BORINGSSL_SOURCE_DIR}/ssl/dtls_method.cc" "${BORINGSSL_SOURCE_DIR}/ssl/dtls_record.cc" + "${BORINGSSL_SOURCE_DIR}/ssl/encrypted_client_hello.cc" + "${BORINGSSL_SOURCE_DIR}/ssl/extensions.cc" "${BORINGSSL_SOURCE_DIR}/ssl/handoff.cc" "${BORINGSSL_SOURCE_DIR}/ssl/handshake.cc" "${BORINGSSL_SOURCE_DIR}/ssl/handshake_client.cc" @@ -648,7 +643,6 @@ add_library( "${BORINGSSL_SOURCE_DIR}/ssl/ssl_versions.cc" "${BORINGSSL_SOURCE_DIR}/ssl/ssl_x509.cc" "${BORINGSSL_SOURCE_DIR}/ssl/t1_enc.cc" - "${BORINGSSL_SOURCE_DIR}/ssl/t1_lib.cc" "${BORINGSSL_SOURCE_DIR}/ssl/tls13_both.cc" "${BORINGSSL_SOURCE_DIR}/ssl/tls13_client.cc" "${BORINGSSL_SOURCE_DIR}/ssl/tls13_enc.cc" @@ -669,7 +663,9 @@ add_executable( "${BORINGSSL_SOURCE_DIR}/tool/client.cc" "${BORINGSSL_SOURCE_DIR}/tool/const.cc" "${BORINGSSL_SOURCE_DIR}/tool/digest.cc" + "${BORINGSSL_SOURCE_DIR}/tool/fd.cc" "${BORINGSSL_SOURCE_DIR}/tool/file.cc" + "${BORINGSSL_SOURCE_DIR}/tool/generate_ech.cc" "${BORINGSSL_SOURCE_DIR}/tool/generate_ed25519.cc" "${BORINGSSL_SOURCE_DIR}/tool/genrsa.cc" "${BORINGSSL_SOURCE_DIR}/tool/pkcs12.cc" @@ -700,3 +696,109 @@ target_compile_options(_crypto PRIVATE -Wno-gnu-anonymous-struct) add_library(OpenSSL::Crypto ALIAS _crypto) add_library(OpenSSL::SSL ALIAS _ssl) + +# Helper function used in the populate_openssl_vars function below +function(from_hex HEX DEC) + string(TOUPPER "${HEX}" HEX) + set(_res 0) + string(LENGTH "${HEX}" _strlen) + + while (_strlen GREATER 0) + math(EXPR _res "${_res} * 16") + string(SUBSTRING "${HEX}" 0 1 NIBBLE) + string(SUBSTRING "${HEX}" 1 -1 HEX) + if (NIBBLE STREQUAL "A") + math(EXPR _res "${_res} + 10") + elseif (NIBBLE STREQUAL "B") + math(EXPR _res "${_res} + 11") + elseif (NIBBLE STREQUAL "C") + math(EXPR _res "${_res} + 12") + elseif (NIBBLE STREQUAL "D") + math(EXPR _res "${_res} + 13") + elseif (NIBBLE STREQUAL "E") + math(EXPR _res "${_res} + 14") + elseif (NIBBLE STREQUAL "F") + math(EXPR _res "${_res} + 15") + else () + math(EXPR _res "${_res} + ${NIBBLE}") + endif () + + string(LENGTH "${HEX}" _strlen) + endwhile () + + set(${DEC} ${_res} PARENT_SCOPE) +endfunction() + +# ClickHouse uses BoringSSL which is a fork of OpenSSL. +# This populates CMAKE var OPENSSL_VERSION from the OPENSSL_VERSION_NUMBER defined +# in contrib/boringssl/include/openssl/base.h. It also sets the CMAKE var OPENSSL_IS_BORING_SSL +# if it's defined in the file. Both OPENSSL_VERSION and OPENSSL_IS_BORING_SSL variables will be +# used to populate flags in the `system.build_options` table for more context on ssl version used. +# This cmake script is adopted from FindOpenSSL cmake module and slightly modified for this use-case . +if (EXISTS "${BORINGSSL_SOURCE_DIR}/include/openssl/base.h") + file(STRINGS "${BORINGSSL_SOURCE_DIR}/include/openssl/base.h" openssl_version_str + REGEX "^#[\t ]*define[\t ]+OPENSSL_VERSION_NUMBER[\t ]+0x([0-9a-fA-F])+.*") + + file(STRINGS "${BORINGSSL_SOURCE_DIR}/include/openssl/base.h" openssl_is_boringssl + REGEX "^#[\t ]*define[\t ]+OPENSSL_IS_BORINGSSL.*") + + # Set to true if OPENSSL_IS_BORING_SSL is defined + if (openssl_is_boringssl) + set(OPENSSL_IS_BORING_SSL 1) + endif () + + # If openssl_version_str is defined extrapolate and set OPENSSL_VERSION + if (openssl_version_str) + # The version number is encoded as 0xMNNFFPPS: major minor fix patch status + # The status gives if this is a developer or prerelease and is ignored here. + # Major, minor, and fix directly translate into the version numbers shown in + # the string. The patch field translates to the single character suffix that + # indicates the bug fix state, which 00 -> nothing, 01 -> a, 02 -> b and so + # on. + + string(REGEX REPLACE "^.*OPENSSL_VERSION_NUMBER[\t ]+0x([0-9a-fA-F])([0-9a-fA-F][0-9a-fA-F])([0-9a-fA-F][0-9a-fA-F])([0-9a-fA-F][0-9a-fA-F])([0-9a-fA-F]).*$" + "\\1;\\2;\\3;\\4;\\5" OPENSSL_VERSION_LIST "${openssl_version_str}") + list(GET OPENSSL_VERSION_LIST 0 OPENSSL_VERSION_MAJOR) + list(GET OPENSSL_VERSION_LIST 1 OPENSSL_VERSION_MINOR) + from_hex("${OPENSSL_VERSION_MINOR}" OPENSSL_VERSION_MINOR) + list(GET OPENSSL_VERSION_LIST 2 OPENSSL_VERSION_FIX) + from_hex("${OPENSSL_VERSION_FIX}" OPENSSL_VERSION_FIX) + list(GET OPENSSL_VERSION_LIST 3 OPENSSL_VERSION_PATCH) + + if (NOT OPENSSL_VERSION_PATCH STREQUAL "00") + from_hex("${OPENSSL_VERSION_PATCH}" _tmp) + # 96 is the ASCII code of 'a' minus 1 + math(EXPR OPENSSL_VERSION_PATCH_ASCII "${_tmp} + 96") + unset(_tmp) + # Once anyone knows how OpenSSL would call the patch versions beyond 'z' + # this should be updated to handle that, too. This has not happened yet + # so it is simply ignored here for now. + string(ASCII "${OPENSSL_VERSION_PATCH_ASCII}" OPENSSL_VERSION_PATCH_STRING) + endif () + + set(OPENSSL_VERSION "${OPENSSL_VERSION_MAJOR}.${OPENSSL_VERSION_MINOR}.${OPENSSL_VERSION_FIX}${OPENSSL_VERSION_PATCH_STRING}") + else () + # Since OpenSSL 3.0.0, the new version format is MAJOR.MINOR.PATCH and + # a new OPENSSL_VERSION_STR macro contains exactly that + file(STRINGS "${BORINGSSL_SOURCE_DIR}/include/openssl/base.h" OPENSSL_VERSION_STR + REGEX "^#[\t ]*define[\t ]+OPENSSL_VERSION_STR[\t ]+\"([0-9])+\\.([0-9])+\\.([0-9])+\".*") + string(REGEX REPLACE "^.*OPENSSL_VERSION_STR[\t ]+\"([0-9]+\\.[0-9]+\\.[0-9]+)\".*$" + "\\1" OPENSSL_VERSION_STR "${OPENSSL_VERSION_STR}") + + set(OPENSSL_VERSION "${OPENSSL_VERSION_STR}") + + # Setting OPENSSL_VERSION_MAJOR OPENSSL_VERSION_MINOR and OPENSSL_VERSION_FIX + string(REGEX MATCHALL "([0-9])+" OPENSSL_VERSION_NUMBER "${OPENSSL_VERSION}") + list(POP_FRONT OPENSSL_VERSION_NUMBER + OPENSSL_VERSION_MAJOR + OPENSSL_VERSION_MINOR + OPENSSL_VERSION_FIX) + + unset(OPENSSL_VERSION_NUMBER) + unset(OPENSSL_VERSION_STR) + endif () +endif () + +# Set CMAKE variables so that they can be referenced properly from everywhere +set(OPENSSL_VERSION "${OPENSSL_VERSION}" CACHE INTERNAL "") +set(OPENSSL_IS_BORING_SSL "${OPENSSL_IS_BORING_SSL}" CACHE INTERNAL 0) diff --git a/contrib/boringssl-cmake/crypto_test_data.cc b/contrib/boringssl-cmake/crypto_test_data.cc index 91675df55dd..c7f75386825 100644 --- a/contrib/boringssl-cmake/crypto_test_data.cc +++ b/contrib/boringssl-cmake/crypto_test_data.cc @@ -22,6 +22,7 @@ * crypto/cipher_extra/test/aes_128_ctr_hmac_sha256.txt \ * crypto/cipher_extra/test/aes_128_gcm_siv_tests.txt \ * crypto/cipher_extra/test/aes_128_gcm_tests.txt \ + * crypto/cipher_extra/test/aes_192_gcm_tests.txt \ * crypto/cipher_extra/test/aes_256_cbc_sha1_tls_implicit_iv_tests.txt \ * crypto/cipher_extra/test/aes_256_cbc_sha1_tls_tests.txt \ * crypto/cipher_extra/test/aes_256_cbc_sha256_tls_tests.txt \ @@ -54,6 +55,7 @@ * crypto/evp/scrypt_tests.txt \ * crypto/fipsmodule/aes/aes_tests.txt \ * crypto/fipsmodule/bn/bn_tests.txt \ + * crypto/fipsmodule/bn/miller_rabin_tests.txt \ * crypto/fipsmodule/ec/ec_scalar_base_mult_tests.txt \ * crypto/fipsmodule/ec/p256-x86_64_tests.txt \ * crypto/fipsmodule/ecdsa/ecdsa_sign_tests.txt \ @@ -61,15 +63,46 @@ * crypto/fipsmodule/modes/gcm_tests.txt \ * crypto/fipsmodule/rand/ctrdrbg_vectors.txt \ * crypto/hmac_extra/hmac_tests.txt \ + * crypto/hpke/hpke_test_vectors.txt \ * crypto/poly1305/poly1305_tests.txt \ * crypto/siphash/siphash_tests.txt \ - * crypto/x509/many_constraints.pem \ - * crypto/x509/many_names1.pem \ - * crypto/x509/many_names2.pem \ - * crypto/x509/many_names3.pem \ - * crypto/x509/some_names1.pem \ - * crypto/x509/some_names2.pem \ - * crypto/x509/some_names3.pem \ + * crypto/x509/test/basic_constraints_ca.pem \ + * crypto/x509/test/basic_constraints_ca_pathlen_0.pem \ + * crypto/x509/test/basic_constraints_ca_pathlen_1.pem \ + * crypto/x509/test/basic_constraints_ca_pathlen_10.pem \ + * crypto/x509/test/basic_constraints_leaf.pem \ + * crypto/x509/test/basic_constraints_none.pem \ + * crypto/x509/test/invalid_extension_intermediate.pem \ + * crypto/x509/test/invalid_extension_intermediate_authority_key_identifier.pem \ + * crypto/x509/test/invalid_extension_intermediate_basic_constraints.pem \ + * crypto/x509/test/invalid_extension_intermediate_ext_key_usage.pem \ + * crypto/x509/test/invalid_extension_intermediate_key_usage.pem \ + * crypto/x509/test/invalid_extension_intermediate_name_constraints.pem \ + * crypto/x509/test/invalid_extension_intermediate_subject_alt_name.pem \ + * crypto/x509/test/invalid_extension_intermediate_subject_key_identifier.pem \ + * crypto/x509/test/invalid_extension_leaf.pem \ + * crypto/x509/test/invalid_extension_leaf_authority_key_identifier.pem \ + * crypto/x509/test/invalid_extension_leaf_basic_constraints.pem \ + * crypto/x509/test/invalid_extension_leaf_ext_key_usage.pem \ + * crypto/x509/test/invalid_extension_leaf_key_usage.pem \ + * crypto/x509/test/invalid_extension_leaf_name_constraints.pem \ + * crypto/x509/test/invalid_extension_leaf_subject_alt_name.pem \ + * crypto/x509/test/invalid_extension_leaf_subject_key_identifier.pem \ + * crypto/x509/test/invalid_extension_root.pem \ + * crypto/x509/test/invalid_extension_root_authority_key_identifier.pem \ + * crypto/x509/test/invalid_extension_root_basic_constraints.pem \ + * crypto/x509/test/invalid_extension_root_ext_key_usage.pem \ + * crypto/x509/test/invalid_extension_root_key_usage.pem \ + * crypto/x509/test/invalid_extension_root_name_constraints.pem \ + * crypto/x509/test/invalid_extension_root_subject_alt_name.pem \ + * crypto/x509/test/invalid_extension_root_subject_key_identifier.pem \ + * crypto/x509/test/many_constraints.pem \ + * crypto/x509/test/many_names1.pem \ + * crypto/x509/test/many_names2.pem \ + * crypto/x509/test/many_names3.pem \ + * crypto/x509/test/some_names1.pem \ + * crypto/x509/test/some_names2.pem \ + * crypto/x509/test/some_names3.pem \ * third_party/wycheproof_testvectors/aes_cbc_pkcs5_test.txt \ * third_party/wycheproof_testvectors/aes_cmac_test.txt \ * third_party/wycheproof_testvectors/aes_gcm_siv_test.txt \ @@ -89,8 +122,39 @@ * third_party/wycheproof_testvectors/ecdsa_secp384r1_sha512_test.txt \ * third_party/wycheproof_testvectors/ecdsa_secp521r1_sha512_test.txt \ * third_party/wycheproof_testvectors/eddsa_test.txt \ + * third_party/wycheproof_testvectors/hkdf_sha1_test.txt \ + * third_party/wycheproof_testvectors/hkdf_sha256_test.txt \ + * third_party/wycheproof_testvectors/hkdf_sha384_test.txt \ + * third_party/wycheproof_testvectors/hkdf_sha512_test.txt \ + * third_party/wycheproof_testvectors/hmac_sha1_test.txt \ + * third_party/wycheproof_testvectors/hmac_sha224_test.txt \ + * third_party/wycheproof_testvectors/hmac_sha256_test.txt \ + * third_party/wycheproof_testvectors/hmac_sha384_test.txt \ + * third_party/wycheproof_testvectors/hmac_sha512_test.txt \ * third_party/wycheproof_testvectors/kwp_test.txt \ * third_party/wycheproof_testvectors/kw_test.txt \ + * third_party/wycheproof_testvectors/primality_test.txt \ + * third_party/wycheproof_testvectors/rsa_oaep_2048_sha1_mgf1sha1_test.txt \ + * third_party/wycheproof_testvectors/rsa_oaep_2048_sha224_mgf1sha1_test.txt \ + * third_party/wycheproof_testvectors/rsa_oaep_2048_sha224_mgf1sha224_test.txt \ + * third_party/wycheproof_testvectors/rsa_oaep_2048_sha256_mgf1sha1_test.txt \ + * third_party/wycheproof_testvectors/rsa_oaep_2048_sha256_mgf1sha256_test.txt \ + * third_party/wycheproof_testvectors/rsa_oaep_2048_sha384_mgf1sha1_test.txt \ + * third_party/wycheproof_testvectors/rsa_oaep_2048_sha384_mgf1sha384_test.txt \ + * third_party/wycheproof_testvectors/rsa_oaep_2048_sha512_mgf1sha1_test.txt \ + * third_party/wycheproof_testvectors/rsa_oaep_2048_sha512_mgf1sha512_test.txt \ + * third_party/wycheproof_testvectors/rsa_oaep_3072_sha256_mgf1sha1_test.txt \ + * third_party/wycheproof_testvectors/rsa_oaep_3072_sha256_mgf1sha256_test.txt \ + * third_party/wycheproof_testvectors/rsa_oaep_3072_sha512_mgf1sha1_test.txt \ + * third_party/wycheproof_testvectors/rsa_oaep_3072_sha512_mgf1sha512_test.txt \ + * third_party/wycheproof_testvectors/rsa_oaep_4096_sha256_mgf1sha1_test.txt \ + * third_party/wycheproof_testvectors/rsa_oaep_4096_sha256_mgf1sha256_test.txt \ + * third_party/wycheproof_testvectors/rsa_oaep_4096_sha512_mgf1sha1_test.txt \ + * third_party/wycheproof_testvectors/rsa_oaep_4096_sha512_mgf1sha512_test.txt \ + * third_party/wycheproof_testvectors/rsa_oaep_misc_test.txt \ + * third_party/wycheproof_testvectors/rsa_pkcs1_2048_test.txt \ + * third_party/wycheproof_testvectors/rsa_pkcs1_3072_test.txt \ + * third_party/wycheproof_testvectors/rsa_pkcs1_4096_test.txt \ * third_party/wycheproof_testvectors/rsa_pss_2048_sha1_mgf1_20_test.txt \ * third_party/wycheproof_testvectors/rsa_pss_2048_sha256_mgf1_0_test.txt \ * third_party/wycheproof_testvectors/rsa_pss_2048_sha256_mgf1_32_test.txt \ @@ -98,8 +162,19 @@ * third_party/wycheproof_testvectors/rsa_pss_4096_sha256_mgf1_32_test.txt \ * third_party/wycheproof_testvectors/rsa_pss_4096_sha512_mgf1_32_test.txt \ * third_party/wycheproof_testvectors/rsa_pss_misc_test.txt \ + * third_party/wycheproof_testvectors/rsa_sig_gen_misc_test.txt \ + * third_party/wycheproof_testvectors/rsa_signature_2048_sha224_test.txt \ + * third_party/wycheproof_testvectors/rsa_signature_2048_sha256_test.txt \ + * third_party/wycheproof_testvectors/rsa_signature_2048_sha384_test.txt \ + * third_party/wycheproof_testvectors/rsa_signature_2048_sha512_test.txt \ + * third_party/wycheproof_testvectors/rsa_signature_3072_sha256_test.txt \ + * third_party/wycheproof_testvectors/rsa_signature_3072_sha384_test.txt \ + * third_party/wycheproof_testvectors/rsa_signature_3072_sha512_test.txt \ + * third_party/wycheproof_testvectors/rsa_signature_4096_sha384_test.txt \ + * third_party/wycheproof_testvectors/rsa_signature_4096_sha512_test.txt \ * third_party/wycheproof_testvectors/rsa_signature_test.txt \ - * third_party/wycheproof_testvectors/x25519_test.txt */ + * third_party/wycheproof_testvectors/x25519_test.txt \ + * third_party/wycheproof_testvectors/xchacha20_poly1305_test.txt */ /* clang-format off */ @@ -348,9 +423,14 @@ static const char *kData7[] = { "397440f1a4a0c7c9c2773c0a0cd3b890effb010dbcc00237dbed1177b86bf60913309bfda9376b4192da59a360afc5bcfaf8be16ea8313de97b417aaddceadc63a1c3a355693616413ed4101ad68f6e6aaa99c839dd2a9ff536\nAD: 18e3195358bae4ccf43ff8daa34902fe48f99fc1371d34060aaa442a43016a1d756f795fa5c9c4a828525554571e18c27134f46094790dd1e68471ee40c17bfa02f175b2c2f7f2aef20f00e4d71926560b58f015de19c871d808acdd341675d8fc19d1e6d4028e1e8926df500c4685c14729c6a056898cf919bf3ae429fa3ca8746495716d78c9a8f2ecde596f985b1c25ad0e73aa305a86259319176b4c4f3bb231fdaa478a856f46416ddb10a14ed23c96dcb86f5bea3114568a44d8fc6ff4bb47fd0e2538b70d964842910a682e7bc7c7263249832c21b7083a1e8b143828de0f3dea8b404cbd82efb19a11e4d60aeef13abd86621ccbc3d8f220715730eabbe04a6bf0e11a4f78cd2c4369ce2447a76f4fa48ef8d322a8a28a67039c24c4bfbf\nCT: 6beeb306c71318cedabe3877ec916ce2074b2c3f1df887cc3a3e8019c10d353854b6b65c947359138d5decc62a42d50921dc8f6cf63a16062af47aa8cd50d0b2dcbc3300ba0d7d069a5e4b4fe03bbf7062c6001e276be116fdd00d15a6399d1b0db71c58f396f8bc7e51c2b1f47430d4ebd6c5d05328b29aa79bcb26927ea5a40c82715aa0e36cc83ca6d250812c1305c02ed4291a25762cd709cb3d808031b5f918ce253f622c1afcb83c43707edc493d18ec6f0dba4353a1cde7184db65654088fa13baf45f7643f0dfedf4058e6095156b791ed30827c556a7721658314356e7a3f3c62cd62fe938b008cda56ceca71442fa0ffeb78b13c5847a3ee9668bcd2a01c753bd797c240378505d1e8f2b8905428b23bf589de9af390f94f21630d1826\nTAG: df5a21a399354b2b3346a9eb6820b81f\n\nKEY: 06a4c6a8aa189134f5784a525d46ff10\nNONCE: 0f765d3893af99f5c3e6d9e1\nIN: 706b754094869313523493089e591d34868b708cbde9bd8b42cba8175d1fdb6a8769bb9ec156d44bcb8f9cbf2685a0dc18b5a802dcf7a12570bb9042a0aa53dfb19af8c0f13763f388d9626a480d6d435dd90fbdbb4292d9015a5633252aa0583498d6f7ec54460d8589c1d6a6d16a349d10ec6070e1cc52e5fb996f810d333675a7130e4f3db9f4db0e3fd3541d32e0b2efbd40ba70cd59295bc8d08481f0f137832b01bac1778ffd7450376e174067b3ec23d0495cbf936bdc176cabc3f42e2991947a4fa87dd8343c32fa3d7ac0e2d22660a0c128a00e1b51a8742fdb2aff44540e39e588c5920ea16293aaa522513c944d3b77f3a0e90bd9105319c170886202e336893d100b0a25aa609a49a8255f78233561f7b88256386d1c3c002c3ee68f2775585c65\nAD: 18e2ed6d500b176e49f7e1b5074c0b7dbfdefdf00a63d9fa2fea8c5e78a1c4ae00f17b23442933543ac864097629e112a099f3dce6d5beb1e3f3c8e19522c6b8f615cbe23444bc91a802edf8a08995a55125da805ebb073fd89863996ef708f7293069a744ad95db8c17cbcfedc331119e85020df8852d74b8092fd38ad424f3da41b4775beac19536ed801ac1069925b12303d8ad2c52c36ca5b4ec95e96f02ebc5725ee6cdc099e666d9055b789e39ded77a8fdca0fe2d94b8039be55b6a75209cbee4fc7864957402b50427db71bc75a0b1e3d2ed6ea20f12a980c5ee916067d0dde7d686570d075da4df7088fe5dccf0d440064a96998da6f318b603d513104c723f27484780bdad586ee358d821b480f9569e4dbdd1a45ab9056f8d8e5a879789a0d65338\nCT: 5f3627bd53f8da0bbe6f3c9246d6f96fe9abb91cdecf66ddd42f833d98f4d4634c2e1e1ad4088c84c22191bdb9d99ef227320e455dd112c4a9e9cca95724fcc9ae024ed12bf60a802d0b87b99d9bf22590786567c2962171d2b05bec9754c627608e9eba7bccc70540aa4da72e1e04b26d8f968b10230f707501c0091a8ac118f86e87aae1ac00257aee29c3345bd3839154977acd378fc1b2197f5c1fd8e12262f9c2974fb92dc481eeb51aadd44a8851f61b93a84ba57f2870df0423d289bfdcfe634f9ecb7d7c6110a95b49418a2dd6663377690275c205b3efa79a0a77c92567fb429d8ee437312a39df7516dc238f7b9414938223d7ec24d256d3fb3a5954a7c75dbd79486d49ba6bb38a7ccce0f58700260b71319adf98ab8684e34913abe2d9d97193e2\nTAG: e690e89af39ff367f5d40a1b7c7ccd4f\n\nKEY: 31323334353637383930313233343536\nNONCE: 31323334353637383930313233343536\nIN: 48656c6c6f2c20576f726c64\nAD:\nCT: cec189d0e8419b90fb16d555\nTAG: 32893832a8d609224d77c2e56a922282\n\n# AES GCM test vectors from http://csrc.nist.gov/groups/ST/toolkit/BCM/documents/proposedmodes/gcm/gcm-spec.pdf\n\nKEY: 00000000000000000000000000000000\nNONCE: 000000000000000000000000\nIN: \"\"\nCT: \"\"\nAD: \"\"\nTAG: 58e2fccefa7e3061367f1d57a4e7455a\n\nKEY: 00000000000000000000000000000000\nNONCE: 000000000000000000000000\nIN: 00000000000000000000000000000000\nCT: 0388dace60b6a392f328c2b971b2fe78\nAD: \"\"\nTAG: ab6e47d42cec13bdf53a67b21257bddf\n\nKEY: feffe9928665731c6d6a8f9467308308\nNONCE: cafebabefacedbaddecaf888\nIN: d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b391aafd255\nCT: 42831ec2217774244b7221b784d0d49ce3aa212f2c02a4e035c17e2329aca12e21d514b25466931c7d8f6a5aac84aa051ba30b396a0aac973d58e091473f5985\nAD: \"\"\nTAG: 4d5c2af327cd64a62cf35abd2ba6fab4\n\nKEY: feffe9928665731c6d6a8f9467308308\nNONCE: cafebabefacedbaddecaf888\nIN: d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39\nCT: 42831ec2217774244b7221b784d0d49ce3aa212f2c02a4e035c17e2329aca12e21d514b25466931c7d8f6a5aac84aa051ba30b396a0aac973d58e091\nAD: feedfacedeadbeeffeedfacedeadbeefabaddad2\nTAG: 5bc94fbc3221a5db94fae95ae7121a47\n\nKEY: feffe9928665731c6d6a8f9467308308\nNONCE: cafebabefacedbad\nIN: d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39\nCT: 61353b4c2806934a777ff51fa22a4755699b2a714fcdc6f83766e5f97b6c742373806900e49f24b22b097544d4896b424989b5e1ebac0f07c23f4598\nAD: feedfacedeadbeeffeedfacedeadbeefabaddad2\nTAG: 3612d2e79e3b0785561be14aaca2fccb\n\nKEY: feffe9928665731c6d6a8f9467308308\nNONCE: 9313225df88406e555909c5aff5269aa6a7a9538534f7da1e4c303d2a318a728c3c0c95156809539fcf0e2429a6b525416aedbf5a0de6a57a637b39b\nIN: d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39\nCT: 8ce24998625615b603a033aca13fb894be9112a5c3a211a8ba262a3cca7e2ca701e4a9a4fba43c90ccdcb281d48c7c6fd62875d2aca417034c34aee5\nAD: feedfacedeadbeeffeedfacedeadbeefabaddad2\nTAG: 619cc5aefffe0bfa462af43c1699d050\n\n# local add-ons, primarily streaming ghash tests\n\n# 128 bytes AD\nKEY: 00000000000000000000000000000000\nNONCE: 000000000000000000000000\nIN: \"\"\nCT: \"\"\nAD: d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b391aafd255522dc1f099567d07f47f37a32a84427d643a8cdcbfe5c0c97598a2bd2555d1aa8cb08e48590dbb3da7b08b1056828838c5f61e6393ba7a0abcc9f662898015ad\nTAG: 5fea793a2d6f974d37e68e0cb8ff9492\n\n# 48 bytes plaintext\nKEY: 00000000000000000000000000000000\nNONCE: 000000000000000000000000\nIN: 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nCT: 0388dace60b6a392f328c2b971b2fe78f795aaab494b5923f7fd89ff948bc1e0200211214e7394da2089b6acd093abe0\nAD: \"\"\nTAG: 9dd0a376b08e40eb00c35f29f9ea61a4\n\n# 80 bytes plaintext\nKEY: 00000000000000000000000000000000\nNONCE: 000000000000000000000000\nIN: 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nCT: 0388dace60b6a392f328c2b971b2fe78f795aaab494b5923f7fd89ff948bc1e0200211214e7394da2089b6acd093abe0c94da219118e297d7b7ebcbcc9c388f28ade7d85a8ee35616f7124a9d5270291\nAD: \"\"\nTAG: 98885a3a22bd4742fe7b72172193b163\n\n# 128 bytes plaintext\nKEY: 00000000000000000000000000000000\nNONCE: 000000000000000000000000\nIN: 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nCT: 0388dace60b6a392f328c2b971b2fe78f795aaab494b5923f7fd89ff948bc1e0200211214e7394da2089b6acd093abe0c94da219118e297d7b7ebcbcc9c388f28ade7d85a8ee35616f7124a9d527029195b84d1b96c690ff2f2de30bf2ec89e00253786e126504f0dab90c48a30321de3345e6b0461e7c9e6c6b7afedde83f40\nAD: \"\"\nTAG: cac45f60e31efd3b5a43b98a22ce1aa1\n\n# 192 bytes plaintext, iv is chosen so that initial counter LSB is 0xFF\nKEY: 00000000000000000000000000000000\nNONCE: ffffffff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nIN: 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nCT: 56b3373ca9ef6e4a2b64fe1e9a17b61425f10d47a75a5fce13efc6bc784af", "24f4141bdd48cf7c770887afd573cca5418a9aeffcd7c5ceddfc6a78397b9a85b499da558257267caab2ad0b23ca476a53cb17fb41c4b8b475cb4f3f7165094c229c9e8c4dc0a2a5ff1903e501511221376a1cdb8364c5061a20cae74bc4acd76ceb0abc9fd3217ef9f8c90be402ddf6d8697f4f880dff15bfb7a6b28241ec8fe183c2d59e3f9dfff653c7126f0acb9e64211f42bae12af462b1070bef1ab5e3606\nAD: \"\"\nTAG: 566f8ef683078bfdeeffa869d751a017\n\n# 288 bytes plaintext, iv is chosen so that initial counter LSB is 0xFF\nKEY: 00000000000000000000000000000000\nNONCE: ffffffff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nIN: 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nCT: 56b3373ca9ef6e4a2b64fe1e9a17b61425f10d47a75a5fce13efc6bc784af24f4141bdd48cf7c770887afd573cca5418a9aeffcd7c5ceddfc6a78397b9a85b499da558257267caab2ad0b23ca476a53cb17fb41c4b8b475cb4f3f7165094c229c9e8c4dc0a2a5ff1903e501511221376a1cdb8364c5061a20cae74bc4acd76ceb0abc9fd3217ef9f8c90be402ddf6d8697f4f880dff15bfb7a6b28241ec8fe183c2d59e3f9dfff653c7126f0acb9e64211f42bae12af462b1070bef1ab5e3606872ca10dee15b3249b1a1b958f23134c4bccb7d03200bce420a2f8eb66dcf3644d1423c1b5699003c13ecef4bf38a3b60eedc34033bac1902783dc6d89e2e774188a439c7ebcc0672dbda4ddcfb2794613b0be41315ef778708a70ee7d75165c\nAD: \"\"\nTAG: 8b307f6b33286d0ab026a9ed3fe1e85f\n\n# 80 bytes plaintext, submitted by Intel\nKEY: 843ffcf5d2b72694d19ed01d01249412\nNONCE: dbcca32ebf9b804617c3aa9e\nIN: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f\nAD: 00000000000000000000000000000000101112131415161718191a1b1c1d1e1f\nCT: 6268c6fa2a80b2d137467f092f657ac04d89be2beaa623d61b5a868c8f03ff95d3dcee23ad2f1ab3a6c80eaf4b140eb05de3457f0fbc111a6b43d0763aa422a3013cf1dc37fe417d1fbfc449b75d4cc5\nTAG: 3b629ccfbc1119b7319e1dce2cd6fd6d\n", }; -static const size_t kLen8 = 469493; +static const size_t kLen8 = 2196; static const char *kData8[] = { + "# Test vectors from NIST: http://csrc.nist.gov/groups/ST/toolkit/BCM/documents/proposedmodes/gcm/gcm-spec.pdf\n\nKEY: 000000000000000000000000000000000000000000000000\nNONCE: 000000000000000000000000\nAD:\nTAG: cd33b28ac773f74ba00ed1f312572435\nIN:\nCT:\n\nKEY: 000000000000000000000000000000000000000000000000\nNONCE: 000000000000000000000000\nAD:\nTAG: 2ff58d80033927ab8ef4d4587514f0fb\nIN: 00000000000000000000000000000000\nCT: 98e7247c07f0fe411c267e4384b0f600\n\nKEY: feffe9928665731c6d6a8f9467308308feffe9928665731c\nNONCE: cafebabefacedbaddecaf888\nAD:\nTAG: 9924a7c8587336bfb118024db8674a14\nIN: d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b391aafd255\nCT: 3980ca0b3c00e841eb06fac4872a2757859e1ceaa6efd984628593b40ca1e19c7d773d00c144c525ac619d18c84a3f4718e2448b2fe324d9ccda2710acade256\n\nKEY: feffe9928665731c6d6a8f9467308308feffe9928665731c\nNONCE: cafebabefacedbaddecaf888\nAD: feedfacedeadbeeffeedfacedeadbeefabaddad2\nTAG: 2519498e80f1478f37ba55bd6d27618c\nIN: d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39\nCT: 3980ca0b3c00e841eb06fac4872a2757859e1ceaa6efd984628593b40ca1e19c7d773d00c144c525ac619d18c84a3f4718e2448b2fe324d9ccda2710\n\nKEY: feffe9928665731c6d6a8f9467308308feffe9928665731c\nNONCE: cafebabefacedbad\nAD: feedfacedeadbeeffeedfacedeadbeefabaddad2\nTAG: 65dcc57fcf623a24094fcca40d3533f8\nIN: d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39\nCT: 0f10f599ae14a154ed24b36e25324db8c566632ef2bbb34f8347280fc4507057fddc29df9a471f75c66541d4d4dad1c9e93a19a58e8b473fa0f062f7\n\nKEY: feffe9928665731c6d6a8f9467308308feffe9928665731c\nNONCE: 9313225df88406e555909c5aff5269aa6a7a9538534f7da1e4c303d2a318a728c3c0c95156809539fcf0e2429a6b525416aedbf5a0de6a57a637b39b\nAD: feedfacedeadbeeffeedfacedeadbeefabaddad2\nTAG: dcf566ff291c25bbb8568fc3d376a6d9\nIN: d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39\nCT: d27e88681ce3243c4830165a8fdcf9ff1de9a1d8e6b447ef6ef7b79828666e4581e79012af34ddd9e2f037589b292db3e67c036745fa22e7e9b7373b\n", +}; +static const size_t kLen9 = 469493; + +static const char *kData9[] = { "# Generated by\n# go run make_legacy_aead_tests.go -cipher aes256 -mac sha1 -implicit-iv\n#\n# Note: aead_test's input format splits the ciphertext and tag positions of the\n# sealed input. But these legacy AEADs are MAC-then-encrypt and so the 'TAG' may\n# also include padding. We write the byte length of the MAC to 'TAG_LEN' and\n# include the unencrypted MAC in the 'DIGEST' tag above # each test case.\n# each test case.\n\n# Test with non-minimal padding.\n# DIGEST: 7f3a0e20bde700d3c5596909282e5c3e764c99e7\nKEY: 86d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660\nNONCE: \nIN: 936a91d0b5\nAD: d2c0267218cb7090c61713\nCT: d88861dcbb\nTAG: 181ebd603365ed262b8f2faf5b86ab90a8930bfc0c55cb9f1c88defe20893b2d5eb8ee6809c2452f302315\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with bad padding values.\n# DIGEST: 7f3a0e20bde700d3c5596909282e5c3e764c99e7\nKEY: 86d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660\nNONCE: \nIN: 936a91d0b5\nAD: d2c0267218cb7090c61713\nCT: d88861dcbb\nTAG: 181ebd603365ed262b8f2f9292c597b813c031f09b7a7144e557dd\nTAG_LEN: 20\nNO_SEAL: 01\nFAILS: 01\n\n# Test with no padding.\n# DIGEST: c6105cc86e18eb8376c16ea37693db5c07b77137\nKEY: 8503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f0\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748\nAD: 1df3f4183aa23fd8d7efd8\nCT: c90e0c2567341ea7e9d968dbde46ecb46ad78dc8be7d47672068de66d6e7eae14b500b94927f24ff6a4f7b07\nTAG: ec90d128ef465f4a3645fd0b2601fbe2b0bceae2\nTAG_LEN: 20\nNO_SEAL: 01\nFAILS: 01\n\n# Test with maximal padding (0 mod 64).\n# DIGEST: ceb2d295bd0efd37c6c34dab1854c80e986174fc\nKEY: 37446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d4120\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba\nAD: 2fd6773e0d0c302a5f47e0\nCT: 000893d3434c5be7cbf9daffd81f03545f735cb70d1bd16eab26e07da7ee29b4c607d9a57077d74437e5b01a89c808c7ceca0d3838e5c6ee9947f1d4ee1d5e5e\nTAG: 6d8dc4edeeea81cb503d7389da209ae335876393fdab048965c7eb1a1403d05f8ef059788d08c2e906444388fd416a87bf8706f78d35797453b242618f4a99f47c3756116ec0318d96435032225ff82b902b9b6985189ca438e466154ded91676676c645926e2cf8a5d6f3bfafbb713d646cfd35b091f68e5ac2e7ec10badf1fd80767e6953abeecdc89beb2180dc92be21631164ef801147917e0c8d7841bdcdb52ea03344ab5f2bf3d5157794f5be79f51eb1efdacc0b77b27b72e2ce03d05473203522e3c2c196390d77dc28a35951f3aebd72ee58021d55e521dd029719a7660408ed0da5ab41830102bceb514b0b172d0ee10937111edba82b47e719c3beb3ce49a665accdc1c5bf028d465b5e1\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (1 mod 64).\n# DIGEST: a07054c760cc66fc704edf950201005031f3faac\nKEY: 446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2f\nAD: d6773e0d0c302a5f47e037\nCT: a1e92776d0ffcfed03d1be956169f606733755d5a7011620c7ced6a825d8e59627e75692a41a1f2a86e62fc6052873b5458616414584e36bad698cf4c44909e0a2\nTAG: 6e0b32528feac2d7f69abb480efc7aae6cd1c5f8a654bcd10ec5be08b58f5a2198bddd83439d69ba9f55408cdf087e8a7f33fca6859638c5a4e8bc6961afee7534d8ffd95249d554b02e5beb81100be5e10abf679300f4ba514c03f4fbbba3cc62bd13dc8c8b9a726a9f217446c6e3b89cadb40488b177926c88c9d22a6c4ad9deca67f0d976fe62cd24c3cbb2e51dd16ee2e7bfe91d867b77c77a9a65c387e2682d946e617d0128034f5fe436eb7fa88aca82526d71dfefbdeeeb5a2c15d57fce0cf12e6ce0b101ef92d9ca540447e0bb65bc04b6a02e4e6d9378c6eebcd6d530c4ae14243beebb18403e8bcd434c2d88cc121e2df182edc3e1f52b060b1aecc48490c6cf3260299449945c803891\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (2 mod 64).\n# DIGEST: d059c266cf6233af730b7a229b19356a4c6fcf06\nKEY: 6f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5d\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6\nAD: 773e0d0c302a5f47e03744\nCT: f414f0321370af1490839677747893befa438051fef5f02fef488d7b84dc03140b3a5dc3a57041be4c8b688633110fc07251d877de0d6242928e4d937e3cc58ed611\nTAG: 4ee98ac6f10e179314a251a9db190037c47b9fdfc66321d83a995f6dccc5259801b18c3f466f7f4939b7d2d7196e0b161aaa013721e81bb9707b974b904f670e4aa495357b562a254908417b65fa69e86c42b3efdd423838575db08465a7f4889c85201629f6350c0865b5b0cfbac4f51ea1eacc8f9768014975d780438c3bd77f7f18612080abdeac9331e1a068c8f3a345d0026c5723bdbc48643c1a733a5b7ca9078424522db9491bc38d2644dab2d75499715707cd83ed655343ca73672d480f1420754fbbfeae0fba05be3b5235a5fa48bda9f39df0b298351d8f4da3fb8a2feab8b1aca9335eb31ab03f40ab19f668bb864c798ae08de37bf848fe2e898172d26fa23f383787d7199a6990\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (3 mod 64).\n# DIGEST: 8aac0687e33041fcc18da154b41f20a6af2bfb28\nKEY: 5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd677\nAD: 3e0d0c302a5f47e037446f\nCT: b51ab2f8c4ba3e8638d454ea72da5e3cb15336c347c442b8e1ade85c5cbd0dde790dc707d60d452d5b88d72e718f13cd0e0f4c9149b72e8d6be869d817a3232513c958\nTAG: dc8feba112517f6a820ca12de43c5d64c51cca713d3702a2b4a5cdbe86a90946a7369ec26ea8b5b35df329bfc6e29ef50c2774649134bd6e3f3fb38ef13d9c7fbe066e9cac4fb88dd0c02b677472ebbb2d0679dffedcaf13fccef6a25aed3a272ec01e7680becf80a624518e1333d28c97487b06e0581cc80c94989db4e93489f3dece9eab6dbbee73aeab572d1ee7705d18b899d9c62d7a370311e64131a801400b580d3c8f7af88be485b84fbdd89f7f7dacb29afeb56658f3d8e49f27adc542e412b0fd652b9f60575bf61622d7306c54bed50b43d89cdaecf1981ede09f9ea36fd174118ac178ade5f26ba04fcbd2eb035f030e2139506456ff8d342a4e59bd55dfafebda23a66cacfe6d1\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (4 mod 64).\n# DIGEST: 53658226c112b86438dd27b58a71f9e36fc73c1e\nKEY: 91d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce99\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e\nAD: 0d0c302a5f47e037446f58\nCT: 87bf1af7e4987cdab35bfe32adc6b1be286751426cf926217f2c699bc095bde7b6ff3d6cc96b79328ab776547c2cb756d9de8c1245d21619a51dba8364ef6914590f15f8\nTAG: 55b9a1ee198080846389dd088016acab73622b1e2f902b0776846c74d99c27e67c7bbb55b2ac0efff91af0f6cb2ddcc0b5b8bab768048bb1662bb343d2f3a164bd4ca4850fbf8111b29e9be7bb836e2a8ac50ec2cb0b1c4529e50904007372284ec9187ea27d8faa03fc9535ba744155d06c06a0a97d96c03de71c13c95f185f426615f1368be346aa5ebf80049ac6771763235f2ee44dc910a01035c53caf8f9fa6f51fe3ad094513a8db177b6a66e24d21e1e40a23aa3629fffad45f84a58a29ef9237fac5eb6f5deb3825de6f399e46b2b2b91faf64ce45d164155e4dc757f6005c7c3e7fb3d8829623fd7c6ca48b923be90c38f5209c6d94696d2b2b7ebc5dfbf2cfa1a37e8ed038e830\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (5 mod 64).\n# DIGEST: 6b7d5268b0b5037afb5be5af6a0ceb34e7656ac4\nKEY: d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d\nAD: 0c302a5f47e037446f5891\nCT: 44237c388c3d017300db0fc9827f9b575e59bd971a0fd89cde4aeb1763912b49d50e92ba19d7594ef6da27320ac2bd1db3bcfe56b68a9ea8e2347d69890fa1fdc8bed782ad\nTAG: c1068d84aa962e7b89090993378806194ffbf677e7a66524d2ebfa7bdc52d76d09b914168eec4a5fde0953d4567affd3a4e0e48190e7a84471efe8ad1ce577c21df93b9d641c865d90ea1e6069bd703c4ee372379a4ec94f7e99867179561d41e9053977cc985b98f7a9fbc675d77052809b89b8f23f993e191ed1a07f97b89d05de948107f94245f216c413288eb4e40f3cee9c00c15926657d9ef9187ab405ee8000b4bd84d", "5771464401d59156a97eea7b23b4a6e9f1587cd3b75826a621b699515829dfc57740ad5719c43e88d835e13ebf703a0966779d31dc26866e0e9d27e3376137c92c97af49a876eed425d3980f1904f013143faeccb4fc920185ec2325361e5b318434487f9\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (6 mod 64).\n# DIGEST: 63efe7af502231420ed5aecce9a28446b257828d\nKEY: 7df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8f\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c\nAD: 302a5f47e037446f5891d7\nCT: 2f25b5a3b01af5411466c8aa5d8ece037434d5e12b62306f2732cb063d0dcdfc2725e67118a242a5576d470fcaf9be6d811bf2789cc66f5561d0542438b5432fe713187a879f\nTAG: d80e1f4edc2137f430d36a5ac93680c973fd7c64a03f7c2ce1b7e33085fe94da70ee26f47998947310508448cc70daa595687eaa540e48f048132de108a045da6d71170e39bb45160a344a2fdb5cb56ab020b9c0842ef2a1a5c83b4d63359fb8d71506d1e611fafa29e77d0669474d135e37bd8aefc3e17f024093186ff80fef73889e887b8d6672256dd592946ea84becc08c29445c8d978e896b1dad5e2608e347e54a97f3f757d7362f95f4cedebed07ab45b05713f7119c38d15a0f22d4259893f5e2401267543b3f78b52d54dd2d608173119e2dc7fe01f66589628e95fd7528958e993b21e4db664b8cba2f776d5cc305c42553da936d580c17d6f5090ff04e106c6488b5b18dd\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (7 mod 64).\n# DIGEST: 1a555c300a1d1bd5b03cdd6bf2a678621624eb05\nKEY: f660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c30\nAD: 2a5f47e037446f5891d77d\nCT: bbf934979c5d9da5c8b27d0341a164d640f12956a392303b0f1665935b5c39de458f53e0a6f824cc56081db1615fc67ffff0d300d1564666b81bb37da59e4da30de9d6a19df74e\nTAG: 9c18b0f9ee6a167a23566325eb330660997193385214abaf945dc18fb8252fbab8330b9809a6f1b300ae5a0c9d841fdd6f77e8d65f1cd0b221fb9b94b5e5d7215e6f501f490a7fa0a754efa7f2d9f5b927a5da2bea736e73af067e5d988901032d503ef3ab89894d03e48a096e7c31fe64bbc2c13f02d878590659ee7606d9212898d4d246e52b03c5646b1c3fbd43baaeda6548156987fc8f490f5763da18198bf0754d20f16dcf7df6bd35ca4bd95cd5c95a60427fc541aaf1f6923ff150de825cff9900ac9492350770bdd13fc4d0ac858ccdf36efbaeeb572aa45ca5470a04a7fa1ce5954d58771730b7202def47b303e560e81ebba2080d044a0851043c5af1a05c30a5a448eb\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (8 mod 64).\n# DIGEST: de9156349b578f2f44945ec6a676a67a829daea1\nKEY: 60ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2ea\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a\nAD: 5f47e037446f5891d77df6\nCT: 9b9bb61ca4d5aab8d0342d2b174e8f39b8e21db0fb7146025fb298016df3bab4363bb47f5b1fa038587df98851d09d473a68c959ead8062c52b9d6de86bd6a0fc9a2daab4667c621\nTAG: 897472da6d837ec173c2ae738721306e8d3c9e5353b65d1ecb3be3d0039739de379c9b06f42af8e952aa9acb4780a6de888dc8c54fe9a2eec19ae4a864b3b9696d712153bb66c49825ec5c891e30915c4b7b66b190525195429426ad694467dab09e8c2f9f21ffae4d54b74c0c5ed9a05963651dfcb9560677693429c63f3024043385ab0a31066243d42b80d2aa9854005504d6c8b9b7f736a8731c5dea0f3fc9007aae0c6edcd0a91dd1bbc5750de12ee13d4a77379cd3b2c2bbac885fa17338011b7b81cec6711fd5d65178f20a06f5475e09c202deef57939161ca8ed3e4aa9b010277acddc4478d1afb64138b276e265182ef2dea321b4f136c5c439ef6d099621813209a43\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (9 mod 64).\n# DIGEST: 12812df3aa7f3bbc899f6f248f5590e02570c292\nKEY: ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f\nAD: 47e037446f5891d77df660\nCT: 33ac574b7962d03b7816c0199a7f661a485832b9023867a749fc4bfe8ff0485571744f801139afd8215863b23e2d68ee7a254c60d8029e0f1ee10a1b947a4984f37f98a6767f52661e\nTAG: 3ee493d8cc764880f4ae7fc3c189b95bfe11d89640e3c9ddb55b230ba0d142d53fe18be8b955cf0d0d237c3b295459fc4c723b27ba8a29ed8dd5c80fb9839e30bc92e6afbf28ef6f72d1c28e5452460f986444678e7ea982d8bae63b69788012bd43aa66e5a521840c79831ae74426fb16f0917c5d2747b9c31fe43ecee604f26afddb093a9f1f1205a4451d50080ed0a9208a88ed6dbde37a674932bca837c46dd8725982c2ef6ac54511151c4cd59e511ca3835ea9bdbbd2e0842dc9674a854b8d4b063d0685086cdf917a7b7983dcc28af2addf3bc302034e365da1a87334a68477aa34a3a878d926d4c17f50316749d917e172e47597d060403a0279ee68dcd864652f37c6\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (10 mod 64).\n# DIGEST: f3c89f21c327fca4aa400fabea9e39780378e901\nKEY: 82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad40\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47\nAD: e037446f5891d77df660ed\nCT: 8517e13ca00214ebfc748efd3a233e8b64801dcce99f9fee3d271357220dff7b1678c1cd6392a6ade62146c0e783248918a7cb69dd26dea525bd9060f380dba75e502bdc19581ebc3295\nTAG: d1f1280699f5514e4a56b08a5c3146142ef8e44c18ccac74577ec0feffbc29884da82212cba95b31d8464954498340f35e9a3d84256e8628368edd166d4b429fcb76e0072d2f5276ed8dc7bd5f34e754f6577ba00ee7ad74e9c89c4f82af0a7716d6ac77c39643909dedcc9356ba42f07874031878229a076da9ac7b0e49b2d170239089ceaf84392e889e7bceb3e383d0f744e229c53e8654ef0099a11773885efc456883e4a973557852f70c0e35668f3f212260e131962087416e668c9f995f226152251f5873fb89047a9dfa65b9fd0116486092b1092c4ee33e7625772944c06a2969b162986cd46d2b4185af2658c25c69a7a599d17f37be0fe1c8250cd7df5e6cf304\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (11 mod 64).\n# DIGEST: e8e41988fad6c8b44c56544964cfe0a347b35b1e\nKEY: 933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409a\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e0\nAD: 37446f5891d77df660ed82\nCT: b1cf0005c93547664e09031d923c4ef9ad663a808189cd8aaa68fbada340d8bb13330499131ef3788cd91e9527702a2388802fdd2e91998a53ffbb466bb7e362d06677edd673cae71418a6\nTAG: 7cad97328236aee512598d1a4c7d51b2154218fddf0ef21724921c1afe61fed1b7a1d1b56b8099dafff77362c4154e4bd7089fb0908ab1de49244a053997a0d04229250e52bc1ecf4550da5753a35108b6752f907ddf7a77fefbdb5d7290b02ae231d019d04ad9a5295336639e7e6c81ea46863d2bc3c4fca7d0f3b05237306759b156ac1fd10b044730987d04a943f0f598704f2191f6c627299b92a2c01a4004111c21f650376c3f28fc9793eddaefd74a2bb3cc5dea73685c954c63b71f2924ebcf9853ff084117cc84a0785d96d8d55d02723a2082ecd8c4b49b8d4068071593aff50c2e08fe7c49f6de1d7586e299b42ec723063f2341fd9b3445cf40893cf8c2bfa5\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (12 mod 64).\n# DIGEST: d1c7b2c04dc25fe7b742a1d659aec20e1475ee4f\nKEY: 3f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae0\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037\nAD: 446f5891d77df660ed8293\nCT: 7195b9643e0f7a4293c865db36442d4fe2cf3ea2c648dc88cd5636fe5e6bcea3d1197966e800da8c78bcb8830f3fa97671aebce98549e62827adf612e70f946673b07e2f953c8fe5e0b97aa1\nTAG: 3a909a9fa57e720bea6251ebbc1a71bbae1fd894f6bbd16e11abe51bbd1293abc0ad4c152a08b4acfac7a65b723fc6bd6923db66bbf202e184e8dbba150e6021ad1310ab4752cd4ae874409688996fdf88636084db7762b9578bb0c98d77c5156a82a97a3f6989db2359d252ff7c6405bd4834708c88d4481b35eabe2f7069bf8bac374fa382f4225659b41dd2a8006c0ff8d7c77c8d157e0373f45fcc0abc804a9f8a6b816f2b729befd606dc61e7f763f18121f56255662e36d120b27adfc8e1b528bd8ced5386cdb62cc73e58cc7918d27253297e9cbb9c740c7765cb014cf7bf160cbf09e00d32d31d462f356791bcf1286bb9023254afa6c41fe3d165f1bf7e6c002ef64ecdf3b5e073fb569028032e6713\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (13 mod 64).\n", "# DIGEST: 116e20ff1e79e0af464d473b1e7c187f4dd66007\nKEY: 62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae021\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e03744\nAD: 6f5891d77df660ed82933f\nCT: 1d50f3eb1cd76d8e08a9f386db0cdc3eddfc694e8502ccae47ab431c2935fc461254b80386c87690b01c22f38ea9bd118d2e0ed316ac249437a3e9c30f6c1f767c150216ec90e6c8913ff3d469\nTAG: e44bfe162cbba654362d1c86088564b14120815f181932e9f111d6da5efb5f4caad61f1161d1d148cc429ad34fcad9128bab101c7cc004fb8f0b516216a809a6599b5144b4c5828cf159fcecac46a86ba0698a6e5267610bad10cd7ce9079b6c691c2ecd522dbe3563074f2ac85712e58cca41761aa94449199a8b440016e68eb8bc9db3ff2c2bd9c64d9d3c71566bfb5d234af1a144859431f16ce6d65b4cc604e9cbf4e5539c192f07a2981b55582376bedc07aa20f5a841c9f500915fef353c37446511da3affd743fc551d5c22454797b3eb957770f1ca16da138c71bf5c00ab7893ae83b3f499a2c42f55551a986555925337e0604227ebf1c65312f0b1a8cdf2d06b5daf3e5ea97ceeb2f33421d0b44b\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (14 mod 64).\n# DIGEST: c081d0d09b2c9eb39a372ef4a7b0246a0956b0f9\nKEY: be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f\nAD: 5891d77df660ed82933f62\nCT: 4d754c684658bcc89208bcd75f24dc8e18b70a28b8a2201535e60ab755fb20e1ddfa98742d257eadd02d96c6a65f880d058312311efdf67f9a106beff9f5ace0ac6af586aefbb5e8b4850e584bb7\nTAG: a9bc9bdf2c16ace8cd471c2bcfbc2cf933fc1886faeec62d4809ed5cc4dd4fcb6ca6c42f31bab300264b278dc0b10fe8a54005b590160b410dcdfa3db413dd04a72c897b262ed0fe4ad6683fc5229010f1d2bc939e61a2c9e0480ef3e03e90f74a3edd8bb523271adc45d097b197ca9034bff48677efa763e1ae7528d3f775f827b9c56ba7f042d7f9413b4c5d01972e86976ab3a398afae27faf3cd19ef1b24b5342f9d067e7702bf1ae9679540a72f7a12cdbfbac234d596856b3bfdc2190dff0b50f45b4355cfa25ebf8d1d16528fe6c4baf9b0e5a50f95c4091704e939c8ffe69183c2695ecb1f12f24fdf288a8e8bdf3fe510bae70c46d0214303d5503d21366c4eec24cc2808542a203d81789efbb6\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (15 mod 64).\n# DIGEST: 6f7bb1f9e2772eb909c315e653e4737cfed78a18\nKEY: 8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae0211641\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f58\nAD: 91d77df660ed82933f62be\nCT: 25bc47e58e7d4f3a417c95768699c92240a2be0e86232a41fe02d64f66716023996772e1118be48e685042f989dcd9cdc574614c9c3989f1885b4b71dfd5b1c32c1321ca41ca1e6ff1828e677e30fe\nTAG: c96a78b9ca68054bc1ed2a150dff9f9585174f343d3df80350982002b4c95106b72813a90028f2855faef235909686607f39655ec48f4024e170c9f9574b0c81b63c8df7af6b4d0f0633853a09c334379952bbaead7415125f541a01e320c5f5d9806b71c3ba71890e3229e751f25ac82c245596b5fa688f1b13844d91169354bf0cc03cccf576c2216aeb9eeab33e2a9f8bad2145d36cf0e7585a02296a7a3b434f4efeeaa4d7ed65befda32b287d9d0946e25dbc0edc22de871184ae8c76777528b917585be784d5e0674b1e5693d0b8cbe8253f8db67c879e1d2b7ddd5df4777a15509f813eb4d0f5a935aa011daaf0cc1ba2ebba9a20a74847e9c53b648f6fce4c08b6e7babc1919e6de22210a6f05\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (16 mod 64).\n# DIGEST: 172f4992e692a88f49628e5d3937959be01aed2e\nKEY: c55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417d\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891\nAD: d77df660ed82933f62be8d\nCT: f1ab85a35a17541efb4f906e7fc85e64efec6ab40d59d3da920c4ec09797c3ad47820e9d934e51e3f4d097c4a555575939bfaeb8cfea062b64816a160d6e4d1ff02a5fded435ab9aa2daf22fa7d676fa\nTAG: 14684ce099f4f0e11e785320debb89c79c03e8bb8751860d3779b4b553f6dedabdb23119d2866ad63fc974a6c6442b734394cb6705309a4d3889e90c4a222bbd14624cd89a9c3f904367c418140375dd592107f839ca94d43d09495a8dc8273201bd8f5a447bdf57506421a975ff4db3aab7878ff18e5b73c8f072a8d092461257d0182710ee9df9f86ac5ad321eac7ee96dddb27ecf561db222ed1c7c183c2ecdf4c7f57cf295638de3c4176ea244100d51c006282e98af1a8fd540daf0ca6f2fc0b88c550b4ab638760d95f2f9d09612da198616cd13fbfa1ad12a3fd30ac9956491cb11539a1be43175fb1452393f13f8d03501c89cf5962730125a7e185dc089b41124fc1e7f69b1fad46bd661c1\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (17 mod 64).\n# DIGEST: 00133da1f7c63fd5f0eec364e9a359be02c1d3da\nKEY: 5b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d7\nAD: 7df660ed82933f62be8dc5\nCT: 5d6bfe91cd2273a9b986397a38e81be5fbbcd0403ef51873c2c467a9fbadc7bf540e83c538a43dc0e0ab780a4c4b1f5b77ced74f65b61f8b8b58b26fa3e8cba568bb717dc7071bf82dd8c68b068e739706\nTAG: 2ab9e654859c35e065f763d949d43c65dc85dc5d918850809ad8efaed6569d4b3ad064bef3427ae4c3be571fb914cefe2362169bed5b4c0cb17d2106fd6993d20ab8a8b70edb5f5d59b3357c8499c36e2b0b67edf7f334ff02d599031f43252b8d30d39affbd2093a6687c771b672329e14901ad9128f063267d3ab332ea31a79d37cb24ad0fd2d07f23b13d4643d1d9c529e1dd0490c851b0009fc1192f2438a48aba5a39be2ee925b1a38647197ead5cdea3499daa5abf9f4503d3581115a6847363348d5e7933948dce867752cde69ecc401012674ad75e12245dee86d775989275a5fc635c66d42c01b7646e180d28798905a3beb210c049be35b522ad580e1ca29f81b9469448749fce961ba6\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (18 mod 64).\n# DIGEST: 60a6821269be6c5b985576b245f106128eb0b325\nKEY: 436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0c\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77d\nAD: f660ed82933f62be8dc55b\nCT: 16e3c681ba1ece3bdbfb1da491f877e806ddac5f1ae96bc406bd195c9d48bcd4a9b700a8ced21d824bfb99eb057e401c3529818725b51e96c576e8009bfe4866e98f550a23ef4748ff761a4d1c44ccb5eba0\nTAG: a30286b3d06306818a268db0e5116abc2c7361c5a32d334d8ce5f4007aaeab750980018b435c79391151fdd33df2a97dc2cf62c4426ce45be43f7e4949be735bcd33f0e81cc6b5a3c2255fbac9ff5a8fd7e7b57554d7ef00640d92b605c9afb0c19dd5ca4c79c409d85c197e8f21d79e91df01a817bf68e8718bc771028c945471ae003c0a210c572b79d772560031b5d3e5495aa8d9bd6fa3f8ae9976ed7e7f8d7275030d2f12ed5ab05276ebebafcac7d0ca41f9d860583f800e4f1b9658b12fab31fd63f6a5e4b80463918f8295ae11d7b97f9b5f89b8166861aec8f1b1417163a6a8adce23ce66c9a4306acae7ca75435cbaece814d6010a3e335bd7db9783812052179d5337d1c353be6e0b\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (19 mod 64).\n# DIGEST: e2593f3b6741a9ed9fa188fc06efd057556ee624\nKEY: 6965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df6\nAD: 60ed82933f62be8dc55b43\nCT: 9b51ba0eebf72bbcd7a1b8452a49f30bf2d96bf0cde4d9e5efe7f1903eb4e09f53aec649c5a8ad7e7fc6c28a0dcf4bd3556f4377bbf8b3f9c79dffa5978692559f732c109a7a02390746f5975d5a0aac4d04ce\nTAG: 636f7bcc9b0b5320643f4b6acbecd60a0a89d2511621ab47fa4c9af610fa1ff9c6cc5cb8fb64493d6a4dca0e94a90794f31698cb1c5bb5658e8b6a63a2cc9b2f1f297240d3d6c62087e32f5d5e9f9d608eccf4b41253933c7391983db1138012a5f5caa5abde25c8a16fc33cccb0604421d985f198c48552650f5dd299bf9163c136c042c9a35cdf7120a702bf460d739ab264fe1f58453ff4990f7315379ff074e01730e7cace8d45a5d0355c0acc409db8fbc759516ad56818b37700548aca769719937103787311b6dbc8488d9e68ee439cec3075bafb725f44734326df9b10d6a4f7133ba84489a9985febc96200276a1fb513f8a3c062466cbe63e7ad668cade7ea70c3b8cd040a6162be\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with max", @@ -410,9 +490,9 @@ static const char *kData8[] = { "02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c2\nAD: 7f4372480974454879c41d\nCT: fcbf4939de59426da2002fcb8e3a4d07604a168e9ffb5f13afcfbdc45325e3ecf0659ea736f9dbf61cec1dbed1024eff9e3bcb721c28d004549fd84e2cdeae36dc5e5abba4f0102835740bb877858814fa38290344addefb47ae583171a510719d9aa18c8f8a5e01396fecf1a982e162edf1047f56e8e4a839c5560473f389a4c7ea8fd5e03c7f2d31ccbc094f04e2a510aa57fe30f37cda765ddcd2bec89ab3f1f5f2ca423c68664c3303520c71439230116409dd84b4a26c1a102e521253ccd455793b0d883b1569b5013653b1c606143fcba7252a70d2a2026b989d1f67fdd594d2b33bde1bf7ee9bcb6c013ea8886e0ec1341039b8d8fbb4d865754a62d0e2a1151c917368e93fed0cb29e2d63ae176cbd95991db0a2864b27b6cf5782093bbe0ae117c7b2931f678bcb07aaae3d955b61e7ebbab8e84442295700cebf1a8f7d846fe788baa0660608bcbfa59c4bc9e5d163654aea99635f9bb63b8074478fc97b4981f5e5d35430b1e18332370dc5f4e94616b0270112dc446335d10a169e8a6923765647607ba9ad65c6f6f008cdf041af2e136b398bd1d1f67044f8360d9c1e90012e594a353d8e45aefac62173fd1b03ee5e4aa6961d83cbf1096dfa02f36ef62ceea5bf88f95301464d0046cc8ae3bfa611caa0c63d07\nTAG: 850f8608529bdc90c222092bfab0239a3b07b9cb1f\nTAG_LEN: 20\n\n# DIGEST: e654b4c78e1c0061eea2996fc126c9bfd41eb6d9\nKEY: 3b5a7379a561792c0f3116430e8b6ea058c4799eea80abde04ee1de13e937af8f1a6944f44d722271233a825264e977045318c9b66262c0f0368fe9d0cb746bbd55813e8\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c27f43724809\nAD: 74454879c41de9ac9f9823\nCT: 3a35e98cfbeeabc993af7e952b148ceb87a110d851bf2d036e5eed8482b39b881b3180dc50ce782a8cbe2c586863c5d038fc4f37d4a96ce8732abb984ae90bbccb86f7766e9712e43d3ec40fdd7a1c88cfbf14743908c78dd4c19d449db7557e0c30127d35a49503d8dce6c9a9e6f07e1c86d7e365162ec05a8b4ed301645f8274999a6c5beafc5b27dd68608aeb2efdd9cb00c6236bb143e7d91709a3fea0e865330680a854d47ae3b6067002a01aec6bdab9e60c19ca66cc39d4a44ada1e21720bd5bd87cdfb31b8a9bfac77feeafc9f8e92c4131d73a3cfb64efae2e8d14fed99c2bc88f63f88079d30b78df18ac03db855338986c0fd1614dc6afaea71130290bf52270999f3392128bc48fb0a6d6425c383b637f4c293e177f479f6a2d6323ed545bbd564f743850a121da96256a8daf163fd80835558b21e0286cf008e7cd87bab94222fd7faa395ee2ba19aa3abf5d000e7514a35357941b97e4ef433c30972e995b0991c862cefdf79712cbd3655ceb43e1e5f5b0d3f5e275bfad98a667d997333d704e4d70acc488b6829d18d1263b841307d592f760a66761e800b4676d64546a1d8630d97218a7c5f555d4a90cf58eee4bd1e1fc0e15f8f64d336edf9ca00183169f237a924e7efd5a339f3cc1bb90b4c513bb9969ecdc9beb5c5\nTAG: b24af9f27ebc204aace6315a197550907bf6079b848eb1dca1a96192ee7c8107\nTAG_LEN: 20\n\n# DIGEST: 654b8591c7f0506261713e9ce7a6fd24a6b9357e\nKEY: 61792c0f3116430e8b6ea058c4799eea80abde04ee1de13e937af8f1a6944f44d722271233a825264e977045318c9b66262c0f0368fe9d0cb746bbd55813e8d454817c21\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c27f4372480974454879c4\nAD: 1de9ac9f98233b5a7379a5\nCT: 7e1b59c791aeef6577c7ac69f8624352b7c2c7d1c8b14a7a0daf8240cc9d71ff1298eebf18ab6d469e1a327bbc3bb539df445ddcf7dccacb54f0a4ce6cf18bec20101bcd62bb2b30d8426a1e3ba949dcb69767aab5b8d2228267d784bde55bf887403188cd39453d32d50428bb9846212e4bbd3843161dc830646ba6e251ffad5d1b382101c7a3c87163867391fe44a58639e8a29fbd34cce657d321d004f842e0efa9d4cf03f557bf07a1201ac36258a4810dc101c427e19bb79f0800f27732094ee1dbab2abfc061fd4a1e84b2d36e560a38465cd4c8bc04bc27ffe90f1ce5999fc78d9432ed98c8dac4047a61547b6205bebe2191782ca63e50bb29c9bea553f5de0e9051cef35e3122c00e0d3a2468ecb2a898225c5f65fae573b17a15e013655a2ddc62adfe61ce5a7e352539c6d27c9726d2ca5492ee25b6d8233e32383100d131abce97b33dfe18a415156917ead8fe854c53bde97c0202e782679ac46f05afe1b9ad6b41bcb65bc8a80682ea8092bba0c47a9a03d08004a11756d9274ff83d5d468475c8a4a56f81cd1367040a3f75fd998b5fb3380cf8c1630fdb948fa2d0930fa5b009abc755f4bf70a59847969500d43e2db40ee517c9a6826e8e3746b3d40f9a6e7b35362550cabfa601a887bfabfd28476b3d7eb8917d66bbe9d21bfebb5a\nTAG: 22e74d37769a86785c57bb760e8a28de7a7ca3207fef4e80c284b4\nTAG_LEN: 20\n\n# DIGEST: 1eaad32c8d0cefaa5e2c503bb2185a73e6387fac\nKEY: 16430e8b6ea058c4799eea80abde04ee1de13e937af8f1a6944f44d722271233a825264e977045318c9b66262c0f0368fe9d0cb746bbd55813e8d454817c212d3a0063be\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c27f4372480974454879c41de9ac9f98\nAD: 233b5a7379a561792c0f31\nCT: 26234359615c88fbbf5fddd43d4832a57bda2037e2177b264309e2e50c28efc28c5ed5cbf6dea046a14caa64d499352ecba0eb2d4bd376c6b1e14048033e21b9ec63f500a70c53be60099d9c9e46ea8f250d3d20c834c3c0638a9245377fe2b76b74ea14bca6b4bdc7e8d86ca59f397fe72b8c4cbb8edc3dca7f9f234529034fe5f1441210a8ad9b4694fe013f7e4a906fc400a27279f2a1a31700750e2209f6296ed808c893a42214b46f765c9d01cee46df18b02d5493c3a1da3a6258e89e47934ade4da2fa9eef7f5b1887a60585684b1c5c2ac60d94a62d79694b063444fa36674ecde12095e9203d281da3118d058f547ede5e4b67a11ab55c1b42fe01a94a601ba031c5b0b4088563344cc28d640bf2e7c81a259211b130bb9ba9ad93090c0e11cc939b99046fe7f25132672c3714f9973513af628f21942da6b459a60e31fe1bb9bf4f6259d8c9fa07d796a264f94d64122d186a0220d9f44b040396c9c187d5ad1d806ca613a4d0f5038a8b77177f39361f9107bea7700ba835dcd38cb48a6c5af0bfbb07b7a2543f1c661", "f1dec06acadf8860fa2220c67bbc9c97c44cb7cc58831563153149713ca2db85af46932a8de891da1d4662e52ed5b7c1c15d5557a0930c7177c2046b50aaf14874512cd9ed62efabe5704573a4f44a4ddf71202a6ea8c706842299\nTAG: 8eb60165231c67e88b0abd1d7c1c3dcab1b7006d4d3f\nTAG_LEN: 20\n\n# DIGEST: 862c0517b3658e9b9cd27db608d49e24e9b4667d\nKEY: a058c4799eea80abde04ee1de13e937af8f1a6944f44d722271233a825264e977045318c9b66262c0f0368fe9d0cb746bbd55813e8d454817c212d3a0063be26e0636617\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c27f4372480974454879c41de9ac9f98233b5a7379\nAD: a561792c0f3116430e8b6e\nCT: 6f2cea3b4aa1b3ae78d31e47c0c1e03df944352b9bd5483cfc09577aab2095a0a7e977e9c1c6451625d85d162c1653423609f141aac93123b2a0bd093c5bcdd9a49b27ace4dbe6acb486446f437c27e619a0f69405afc83240f087feb029fdf8f3f25a8a262b4a3efc4bc80512a96a45cca61d46e42132abd34c2821e7ff588c742062c01eacf9d1689f11648ebe326a91fe79275b5b1fb2af4d1440ff4a9ad35381daf2a2c0aa928216351c5b89ea33bf225d34efd7ec2c81c5af325b138a5f4ac50c5aca196d1b32ce8352431a8f08cb3b59d2f8de5c850e2a06d00c1d7f7027b4aa6757eb0c9fd3035063669a5ff8db2402818c88a7137ee309ef2735dd575e43b7508c81306dc50da65aa2276dbcd98537636ef06d1736f14e2babbc39457dc8d101d22e5516d652151c2092812814e9f73dd6cc805e670ca36e62799b42bc07fa1d93b9332c43a4b759e53ae138fd2b2b419b21a332ea304fb7db57e860509855b2a540cc909aff57e1433f295e8052c7609a88170feb7623cee8ee651ae1dca4b1afa427e2e43569d5b7f2ea688d2e2afb33f1dc0666c4b0df8aee281cbcbf5e964beb3851f7b929e5a4e06766746f22d4fa1a32913c0f449b4da8aac6294348f711d4d75bca509516668944d2a162a53a31229528e54e4bfbe13cef013efcd6687e890d292e42119529c92c\nTAG: 76c80a678b6cd735a2d01acc18dbd90bc3997f57efc2c5c78c22fe4dd13f06fb91\nTAG_LEN: 20\n\n", }; -static const size_t kLen9 = 469480; +static const size_t kLen10 = 469480; -static const char *kData9[] = { +static const char *kData10[] = { "# Generated by\n# go run make_legacy_aead_tests.go -cipher aes256 -mac sha1\n#\n# Note: aead_test's input format splits the ciphertext and tag positions of the\n# sealed input. But these legacy AEADs are MAC-then-encrypt and so the 'TAG' may\n# also include padding. We write the byte length of the MAC to 'TAG_LEN' and\n# include the unencrypted MAC in the 'DIGEST' tag above # each test case.\n# each test case.\n\n# Test with non-minimal padding.\n# DIGEST: 7f3a0e20bde700d3c5596909282e5c3e764c99e7\nKEY: 86d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e\nNONCE: 0d0c302a5f47e037446f5891d77df660\nIN: 936a91d0b5\nAD: d2c0267218cb7090c61713\nCT: d88861dcbb\nTAG: 181ebd603365ed262b8f2faf5b86ab90a8930bfc0c55cb9f1c88defe20893b2d5eb8ee6809c2452f302315\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with bad padding values.\n# DIGEST: 7f3a0e20bde700d3c5596909282e5c3e764c99e7\nKEY: 86d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e\nNONCE: 0d0c302a5f47e037446f5891d77df660\nIN: 936a91d0b5\nAD: d2c0267218cb7090c61713\nCT: d88861dcbb\nTAG: 181ebd603365ed262b8f2f9292c597b813c031f09b7a7144e557dd\nTAG_LEN: 20\nNO_SEAL: 01\nFAILS: 01\n\n# Test with no padding.\n# DIGEST: c6105cc86e18eb8376c16ea37693db5c07b77137\nKEY: 8503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371e\nNONCE: b8da7dac997deafd64b1fc65de39f4f0\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748\nAD: 1df3f4183aa23fd8d7efd8\nCT: c90e0c2567341ea7e9d968dbde46ecb46ad78dc8be7d47672068de66d6e7eae14b500b94927f24ff6a4f7b07\nTAG: ec90d128ef465f4a3645fd0b2601fbe2b0bceae2\nTAG_LEN: 20\nNO_SEAL: 01\nFAILS: 01\n\n# Test with maximal padding (0 mod 64).\n# DIGEST: ceb2d295bd0efd37c6c34dab1854c80e986174fc\nKEY: 37446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11b\nNONCE: e112a72933c7b54ed4fad0be905d4120\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba\nAD: 2fd6773e0d0c302a5f47e0\nCT: 000893d3434c5be7cbf9daffd81f03545f735cb70d1bd16eab26e07da7ee29b4c607d9a57077d74437e5b01a89c808c7ceca0d3838e5c6ee9947f1d4ee1d5e5e\nTAG: 6d8dc4edeeea81cb503d7389da209ae335876393fdab048965c7eb1a1403d05f8ef059788d08c2e906444388fd416a87bf8706f78d35797453b242618f4a99f47c3756116ec0318d96435032225ff82b902b9b6985189ca438e466154ded91676676c645926e2cf8a5d6f3bfafbb713d646cfd35b091f68e5ac2e7ec10badf1fd80767e6953abeecdc89beb2180dc92be21631164ef801147917e0c8d7841bdcdb52ea03344ab5f2bf3d5157794f5be79f51eb1efdacc0b77b27b72e2ce03d05473203522e3c2c196390d77dc28a35951f3aebd72ee58021d55e521dd029719a7660408ed0da5ab41830102bceb514b0b172d0ee10937111edba82b47e719c3beb3ce49a665accdc1c5bf028d465b5e1\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (1 mod 64).\n# DIGEST: a07054c760cc66fc704edf950201005031f3faac\nKEY: 446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be1\nNONCE: 12a72933c7b54ed4fad0be905d41203f\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2f\nAD: d6773e0d0c302a5f47e037\nCT: a1e92776d0ffcfed03d1be956169f606733755d5a7011620c7ced6a825d8e59627e75692a41a1f2a86e62fc6052873b5458616414584e36bad698cf4c44909e0a2\nTAG: 6e0b32528feac2d7f69abb480efc7aae6cd1c5f8a654bcd10ec5be08b58f5a2198bddd83439d69ba9f55408cdf087e8a7f33fca6859638c5a4e8bc6961afee7534d8ffd95249d554b02e5beb81100be5e10abf679300f4ba514c03f4fbbba3cc62bd13dc8c8b9a726a9f217446c6e3b89cadb40488b177926c88c9d22a6c4ad9deca67f0d976fe62cd24c3cbb2e51dd16ee2e7bfe91d867b77c77a9a65c387e2682d946e617d0128034f5fe436eb7fa88aca82526d71dfefbdeeeb5a2c15d57fce0cf12e6ce0b101ef92d9ca540447e0bb65bc04b6a02e4e6d9378c6eebcd6d530c4ae14243beebb18403e8bcd434c2d88cc121e2df182edc3e1f52b060b1aecc48490c6cf3260299449945c803891\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (2 mod 64).\n# DIGEST: d059c266cf6233af730b7a229b19356a4c6fcf06\nKEY: 6f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112\nNONCE: a72933c7b54ed4fad0be905d41203f5d\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6\nAD: 773e0d0c302a5f47e03744\nCT: f414f0321370af1490839677747893befa438051fef5f02fef488d7b84dc03140b3a5dc3a57041be4c8b688633110fc07251d877de0d6242928e4d937e3cc58ed611\nTAG: 4ee98ac6f10e179314a251a9db190037c47b9fdfc66321d83a995f6dccc5259801b18c3f466f7f4939b7d2d7196e0b161aaa013721e81bb9707b974b904f670e4aa495357b562a254908417b65fa69e86c42b3efdd423838575db08465a7f4889c85201629f6350c0865b5b0cfbac4f51ea1eacc8f9768014975d780438c3bd77f7f18612080abdeac9331e1a068c8f3a345d0026c5723bdbc48643c1a733a5b7ca9078424522db9491bc38d2644dab2d75499715707cd83ed655343ca73672d480f1420754fbbfeae0fba05be3b5235a5fa48bda9f39df0b298351d8f4da3fb8a2feab8b1aca9335eb31ab03f40ab19f668bb864c798ae08de37bf848fe2e898172d26fa23f383787d7199a6990\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (3 mod 64).\n# DIGEST: 8aac0687e33041fcc18da154b41f20a6af2bfb28\nKEY: 5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a7\nNONCE: 2933c7b54ed4fad0be905d41203f5dce\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd677\nAD: 3e0d0c302a5f47e037446f\nCT: b51ab2f8c4ba3e8638d454ea72da5e3cb15336c347c442b8e1ade85c5cbd0dde790dc707d60d452d5b88d72e718f13cd0e0f4c9149b72e8d6be869d817a3232513c958\nTAG: dc8feba112517f6a820ca12de43c5d64c51cca713d3702a2b4a5cdbe86a90946a7369ec26ea8b5b35df329bfc6e29ef50c2774649134bd6e3f3fb38ef13d9c7fbe066e9cac4fb88dd0c02b677472ebbb2d0679dffedcaf13fccef6a25aed3a272ec01e7680becf80a624518e1333d28c97487b06e0581cc80c94989db4e93489f3dece9eab6dbbee73aeab572d1ee7705d18b899d9c62d7a370311e64131a801400b580d3c8f7af88be485b84fbdd89f7f7dacb29afeb56658f3d8e49f27adc542e412b0fd652b9f60575bf61622d7306c54bed50b43d89cdaecf1981ede09f9ea36fd174118ac178ade5f26ba04fcbd2eb035f030e2139506456ff8d342a4e59bd55dfafebda23a66cacfe6d1\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (4 mod 64).\n# DIGEST: 53658226c112b86438dd27b58a71f9e36fc73c1e\nKEY: 91d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a729\nNONCE: 33c7b54ed4fad0be905d41203f5dce99\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e\nAD: 0d0c302a5f47e037446f58\nCT: 87bf1af7e4987cdab35bfe32adc6b1be286751426cf926217f2c699bc095bde7b6ff3d6cc96b79328ab776547c2cb756d9de8c1245d21619a51dba8364ef6914590f15f8\nTAG: 55b9a1ee198080846389dd088016acab73622b1e2f902b0776846c74d99c27e67c7bbb55b2ac0efff91af0f6cb2ddcc0b5b8bab768048bb1662bb343d2f3a164bd4ca4850fbf8111b29e9be7bb836e2a8ac50ec2cb0b1c4529e50904007372284ec9187ea27d8faa03fc9535ba744155d06c06a0a97d96c03de71c13c95f185f426615f1368be346aa5ebf80049ac6771763235f2ee44dc910a01035c53caf8f9fa6f51fe3ad094513a8db177b6a66e24d21e1e40a23aa3629fffad45f84a58a29ef9237fac5eb6f5deb3825de6f399e46b2b2b91faf64ce45d164155e4dc757f6005c7c3e7fb3d8829623fd7c6ca48b923be90c38f5209c6d94696d2b2b7ebc5dfbf2cfa1a37e8ed038e830\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (5 mod 64).\n# DIGEST: 6b7d5268b0b5037afb5be5af6a0ceb34e7656ac4\nKEY: d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933\nNONCE: c7b54ed4fad0be905d41203f5dce998f\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d\nAD: 0c302a5f47e037446f5891\nCT: 44237c388c3d017300db0fc9827f9b575e59bd971a0fd89cde4aeb1763912b49d50e92ba19d7594ef6da27320ac2bd1db3bcfe56b68a9ea8e2347d69890fa1fdc8bed782ad\nTAG: c1068d84aa962e7b89090993378806194ffbf677e7a66524d2ebfa7bdc52d76d09b914168eec4a5fde0953d4567affd3a4e0e48190e7a84471efe8ad1ce577c21df93b9d641c865d90ea1e6069bd703c4ee372379a4ec94f7e99867179561d41e9053977cc985b98f7a9fbc675d77052809b89b8f23f993e191ed1a07f97b89d05de948107f94245f216c413288eb4e40f3cee9c00c15926657d9ef9187ab405ee8000b4bd84d5771464401d59", "156a97eea7b23b4a6e9f1587cd3b75826a621b699515829dfc57740ad5719c43e88d835e13ebf703a0966779d31dc26866e0e9d27e3376137c92c97af49a876eed425d3980f1904f013143faeccb4fc920185ec2325361e5b318434487f9\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (6 mod 64).\n# DIGEST: 63efe7af502231420ed5aecce9a28446b257828d\nKEY: 7df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7\nNONCE: b54ed4fad0be905d41203f5dce998f8f\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c\nAD: 302a5f47e037446f5891d7\nCT: 2f25b5a3b01af5411466c8aa5d8ece037434d5e12b62306f2732cb063d0dcdfc2725e67118a242a5576d470fcaf9be6d811bf2789cc66f5561d0542438b5432fe713187a879f\nTAG: d80e1f4edc2137f430d36a5ac93680c973fd7c64a03f7c2ce1b7e33085fe94da70ee26f47998947310508448cc70daa595687eaa540e48f048132de108a045da6d71170e39bb45160a344a2fdb5cb56ab020b9c0842ef2a1a5c83b4d63359fb8d71506d1e611fafa29e77d0669474d135e37bd8aefc3e17f024093186ff80fef73889e887b8d6672256dd592946ea84becc08c29445c8d978e896b1dad5e2608e347e54a97f3f757d7362f95f4cedebed07ab45b05713f7119c38d15a0f22d4259893f5e2401267543b3f78b52d54dd2d608173119e2dc7fe01f66589628e95fd7528958e993b21e4db664b8cba2f776d5cc305c42553da936d580c17d6f5090ff04e106c6488b5b18dd\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (7 mod 64).\n# DIGEST: 1a555c300a1d1bd5b03cdd6bf2a678621624eb05\nKEY: f660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b5\nNONCE: 4ed4fad0be905d41203f5dce998f8fb2\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c30\nAD: 2a5f47e037446f5891d77d\nCT: bbf934979c5d9da5c8b27d0341a164d640f12956a392303b0f1665935b5c39de458f53e0a6f824cc56081db1615fc67ffff0d300d1564666b81bb37da59e4da30de9d6a19df74e\nTAG: 9c18b0f9ee6a167a23566325eb330660997193385214abaf945dc18fb8252fbab8330b9809a6f1b300ae5a0c9d841fdd6f77e8d65f1cd0b221fb9b94b5e5d7215e6f501f490a7fa0a754efa7f2d9f5b927a5da2bea736e73af067e5d988901032d503ef3ab89894d03e48a096e7c31fe64bbc2c13f02d878590659ee7606d9212898d4d246e52b03c5646b1c3fbd43baaeda6548156987fc8f490f5763da18198bf0754d20f16dcf7df6bd35ca4bd95cd5c95a60427fc541aaf1f6923ff150de825cff9900ac9492350770bdd13fc4d0ac858ccdf36efbaeeb572aa45ca5470a04a7fa1ce5954d58771730b7202def47b303e560e81ebba2080d044a0851043c5af1a05c30a5a448eb\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (8 mod 64).\n# DIGEST: de9156349b578f2f44945ec6a676a67a829daea1\nKEY: 60ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54e\nNONCE: d4fad0be905d41203f5dce998f8fb2ea\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a\nAD: 5f47e037446f5891d77df6\nCT: 9b9bb61ca4d5aab8d0342d2b174e8f39b8e21db0fb7146025fb298016df3bab4363bb47f5b1fa038587df98851d09d473a68c959ead8062c52b9d6de86bd6a0fc9a2daab4667c621\nTAG: 897472da6d837ec173c2ae738721306e8d3c9e5353b65d1ecb3be3d0039739de379c9b06f42af8e952aa9acb4780a6de888dc8c54fe9a2eec19ae4a864b3b9696d712153bb66c49825ec5c891e30915c4b7b66b190525195429426ad694467dab09e8c2f9f21ffae4d54b74c0c5ed9a05963651dfcb9560677693429c63f3024043385ab0a31066243d42b80d2aa9854005504d6c8b9b7f736a8731c5dea0f3fc9007aae0c6edcd0a91dd1bbc5750de12ee13d4a77379cd3b2c2bbac885fa17338011b7b81cec6711fd5d65178f20a06f5475e09c202deef57939161ca8ed3e4aa9b010277acddc4478d1afb64138b276e265182ef2dea321b4f136c5c439ef6d099621813209a43\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (9 mod 64).\n# DIGEST: 12812df3aa7f3bbc899f6f248f5590e02570c292\nKEY: ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4\nNONCE: fad0be905d41203f5dce998f8fb2eaad\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f\nAD: 47e037446f5891d77df660\nCT: 33ac574b7962d03b7816c0199a7f661a485832b9023867a749fc4bfe8ff0485571744f801139afd8215863b23e2d68ee7a254c60d8029e0f1ee10a1b947a4984f37f98a6767f52661e\nTAG: 3ee493d8cc764880f4ae7fc3c189b95bfe11d89640e3c9ddb55b230ba0d142d53fe18be8b955cf0d0d237c3b295459fc4c723b27ba8a29ed8dd5c80fb9839e30bc92e6afbf28ef6f72d1c28e5452460f986444678e7ea982d8bae63b69788012bd43aa66e5a521840c79831ae74426fb16f0917c5d2747b9c31fe43ecee604f26afddb093a9f1f1205a4451d50080ed0a9208a88ed6dbde37a674932bca837c46dd8725982c2ef6ac54511151c4cd59e511ca3835ea9bdbbd2e0842dc9674a854b8d4b063d0685086cdf917a7b7983dcc28af2addf3bc302034e365da1a87334a68477aa34a3a878d926d4c17f50316749d917e172e47597d060403a0279ee68dcd864652f37c6\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (10 mod 64).\n# DIGEST: f3c89f21c327fca4aa400fabea9e39780378e901\nKEY: 82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fa\nNONCE: d0be905d41203f5dce998f8fb2eaad40\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47\nAD: e037446f5891d77df660ed\nCT: 8517e13ca00214ebfc748efd3a233e8b64801dcce99f9fee3d271357220dff7b1678c1cd6392a6ade62146c0e783248918a7cb69dd26dea525bd9060f380dba75e502bdc19581ebc3295\nTAG: d1f1280699f5514e4a56b08a5c3146142ef8e44c18ccac74577ec0feffbc29884da82212cba95b31d8464954498340f35e9a3d84256e8628368edd166d4b429fcb76e0072d2f5276ed8dc7bd5f34e754f6577ba00ee7ad74e9c89c4f82af0a7716d6ac77c39643909dedcc9356ba42f07874031878229a076da9ac7b0e49b2d170239089ceaf84392e889e7bceb3e383d0f744e229c53e8654ef0099a11773885efc456883e4a973557852f70c0e35668f3f212260e131962087416e668c9f995f226152251f5873fb89047a9dfa65b9fd0116486092b1092c4ee33e7625772944c06a2969b162986cd46d2b4185af2658c25c69a7a599d17f37be0fe1c8250cd7df5e6cf304\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (11 mod 64).\n# DIGEST: e8e41988fad6c8b44c56544964cfe0a347b35b1e\nKEY: 933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0\nNONCE: be905d41203f5dce998f8fb2eaad409a\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e0\nAD: 37446f5891d77df660ed82\nCT: b1cf0005c93547664e09031d923c4ef9ad663a808189cd8aaa68fbada340d8bb13330499131ef3788cd91e9527702a2388802fdd2e91998a53ffbb466bb7e362d06677edd673cae71418a6\nTAG: 7cad97328236aee512598d1a4c7d51b2154218fddf0ef21724921c1afe61fed1b7a1d1b56b8099dafff77362c4154e4bd7089fb0908ab1de49244a053997a0d04229250e52bc1ecf4550da5753a35108b6752f907ddf7a77fefbdb5d7290b02ae231d019d04ad9a5295336639e7e6c81ea46863d2bc3c4fca7d0f3b05237306759b156ac1fd10b044730987d04a943f0f598704f2191f6c627299b92a2c01a4004111c21f650376c3f28fc9793eddaefd74a2bb3cc5dea73685c954c63b71f2924ebcf9853ff084117cc84a0785d96d8d55d02723a2082ecd8c4b49b8d4068071593aff50c2e08fe7c49f6de1d7586e299b42ec723063f2341fd9b3445cf40893cf8c2bfa5\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (12 mod 64).\n# DIGEST: d1c7b2c04dc25fe7b742a1d659aec20e1475ee4f\nKEY: 3f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be\nNONCE: 905d41203f5dce998f8fb2eaad409ae0\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037\nAD: 446f5891d77df660ed8293\nCT: 7195b9643e0f7a4293c865db36442d4fe2cf3ea2c648dc88cd5636fe5e6bcea3d1197966e800da8c78bcb8830f3fa97671aebce98549e62827adf612e70f946673b07e2f953c8fe5e0b97aa1\nTAG: 3a909a9fa57e720bea6251ebbc1a71bbae1fd894f6bbd16e11abe51bbd1293abc0ad4c152a08b4acfac7a65b723fc6bd6923db66bbf202e184e8dbba150e6021ad1310ab4752cd4ae874409688996fdf88636084db7762b9578bb0c98d77c5156a82a97a3f6989db2359d252ff7c6405bd4834708c88d4481b35eabe2f7069bf8bac374fa382f4225659b41dd2a8006c0ff8d7c77c8d157e0373f45fcc0abc804a9f8a6b816f2b729befd606dc61e7f763f18121f56255662e36d120b27adfc8e1b528bd8ced5386cdb62cc73e58cc7918d27253297e9cbb9c740c7765cb014cf7bf160cbf09e00d32d31d462f356791bcf1286bb9023254afa6c41fe3d165f1bf7e6c002ef64ecdf3b5e073fb569028032e6713\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (13 mod 64).\n# DIGEST: 116", "e20ff1e79e0af464d473b1e7c187f4dd66007\nKEY: 62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be90\nNONCE: 5d41203f5dce998f8fb2eaad409ae021\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e03744\nAD: 6f5891d77df660ed82933f\nCT: 1d50f3eb1cd76d8e08a9f386db0cdc3eddfc694e8502ccae47ab431c2935fc461254b80386c87690b01c22f38ea9bd118d2e0ed316ac249437a3e9c30f6c1f767c150216ec90e6c8913ff3d469\nTAG: e44bfe162cbba654362d1c86088564b14120815f181932e9f111d6da5efb5f4caad61f1161d1d148cc429ad34fcad9128bab101c7cc004fb8f0b516216a809a6599b5144b4c5828cf159fcecac46a86ba0698a6e5267610bad10cd7ce9079b6c691c2ecd522dbe3563074f2ac85712e58cca41761aa94449199a8b440016e68eb8bc9db3ff2c2bd9c64d9d3c71566bfb5d234af1a144859431f16ce6d65b4cc604e9cbf4e5539c192f07a2981b55582376bedc07aa20f5a841c9f500915fef353c37446511da3affd743fc551d5c22454797b3eb957770f1ca16da138c71bf5c00ab7893ae83b3f499a2c42f55551a986555925337e0604227ebf1c65312f0b1a8cdf2d06b5daf3e5ea97ceeb2f33421d0b44b\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (14 mod 64).\n# DIGEST: c081d0d09b2c9eb39a372ef4a7b0246a0956b0f9\nKEY: be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d\nNONCE: 41203f5dce998f8fb2eaad409ae02116\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f\nAD: 5891d77df660ed82933f62\nCT: 4d754c684658bcc89208bcd75f24dc8e18b70a28b8a2201535e60ab755fb20e1ddfa98742d257eadd02d96c6a65f880d058312311efdf67f9a106beff9f5ace0ac6af586aefbb5e8b4850e584bb7\nTAG: a9bc9bdf2c16ace8cd471c2bcfbc2cf933fc1886faeec62d4809ed5cc4dd4fcb6ca6c42f31bab300264b278dc0b10fe8a54005b590160b410dcdfa3db413dd04a72c897b262ed0fe4ad6683fc5229010f1d2bc939e61a2c9e0480ef3e03e90f74a3edd8bb523271adc45d097b197ca9034bff48677efa763e1ae7528d3f775f827b9c56ba7f042d7f9413b4c5d01972e86976ab3a398afae27faf3cd19ef1b24b5342f9d067e7702bf1ae9679540a72f7a12cdbfbac234d596856b3bfdc2190dff0b50f45b4355cfa25ebf8d1d16528fe6c4baf9b0e5a50f95c4091704e939c8ffe69183c2695ecb1f12f24fdf288a8e8bdf3fe510bae70c46d0214303d5503d21366c4eec24cc2808542a203d81789efbb6\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (15 mod 64).\n# DIGEST: 6f7bb1f9e2772eb909c315e653e4737cfed78a18\nKEY: 8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41\nNONCE: 203f5dce998f8fb2eaad409ae0211641\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f58\nAD: 91d77df660ed82933f62be\nCT: 25bc47e58e7d4f3a417c95768699c92240a2be0e86232a41fe02d64f66716023996772e1118be48e685042f989dcd9cdc574614c9c3989f1885b4b71dfd5b1c32c1321ca41ca1e6ff1828e677e30fe\nTAG: c96a78b9ca68054bc1ed2a150dff9f9585174f343d3df80350982002b4c95106b72813a90028f2855faef235909686607f39655ec48f4024e170c9f9574b0c81b63c8df7af6b4d0f0633853a09c334379952bbaead7415125f541a01e320c5f5d9806b71c3ba71890e3229e751f25ac82c245596b5fa688f1b13844d91169354bf0cc03cccf576c2216aeb9eeab33e2a9f8bad2145d36cf0e7585a02296a7a3b434f4efeeaa4d7ed65befda32b287d9d0946e25dbc0edc22de871184ae8c76777528b917585be784d5e0674b1e5693d0b8cbe8253f8db67c879e1d2b7ddd5df4777a15509f813eb4d0f5a935aa011daaf0cc1ba2ebba9a20a74847e9c53b648f6fce4c08b6e7babc1919e6de22210a6f05\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (16 mod 64).\n# DIGEST: 172f4992e692a88f49628e5d3937959be01aed2e\nKEY: c55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d4120\nNONCE: 3f5dce998f8fb2eaad409ae02116417d\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891\nAD: d77df660ed82933f62be8d\nCT: f1ab85a35a17541efb4f906e7fc85e64efec6ab40d59d3da920c4ec09797c3ad47820e9d934e51e3f4d097c4a555575939bfaeb8cfea062b64816a160d6e4d1ff02a5fded435ab9aa2daf22fa7d676fa\nTAG: 14684ce099f4f0e11e785320debb89c79c03e8bb8751860d3779b4b553f6dedabdb23119d2866ad63fc974a6c6442b734394cb6705309a4d3889e90c4a222bbd14624cd89a9c3f904367c418140375dd592107f839ca94d43d09495a8dc8273201bd8f5a447bdf57506421a975ff4db3aab7878ff18e5b73c8f072a8d092461257d0182710ee9df9f86ac5ad321eac7ee96dddb27ecf561db222ed1c7c183c2ecdf4c7f57cf295638de3c4176ea244100d51c006282e98af1a8fd540daf0ca6f2fc0b88c550b4ab638760d95f2f9d09612da198616cd13fbfa1ad12a3fd30ac9956491cb11539a1be43175fb1452393f13f8d03501c89cf5962730125a7e185dc089b41124fc1e7f69b1fad46bd661c1\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (17 mod 64).\n# DIGEST: 00133da1f7c63fd5f0eec364e9a359be02c1d3da\nKEY: 5b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f\nNONCE: 5dce998f8fb2eaad409ae02116417dae\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d7\nAD: 7df660ed82933f62be8dc5\nCT: 5d6bfe91cd2273a9b986397a38e81be5fbbcd0403ef51873c2c467a9fbadc7bf540e83c538a43dc0e0ab780a4c4b1f5b77ced74f65b61f8b8b58b26fa3e8cba568bb717dc7071bf82dd8c68b068e739706\nTAG: 2ab9e654859c35e065f763d949d43c65dc85dc5d918850809ad8efaed6569d4b3ad064bef3427ae4c3be571fb914cefe2362169bed5b4c0cb17d2106fd6993d20ab8a8b70edb5f5d59b3357c8499c36e2b0b67edf7f334ff02d599031f43252b8d30d39affbd2093a6687c771b672329e14901ad9128f063267d3ab332ea31a79d37cb24ad0fd2d07f23b13d4643d1d9c529e1dd0490c851b0009fc1192f2438a48aba5a39be2ee925b1a38647197ead5cdea3499daa5abf9f4503d3581115a6847363348d5e7933948dce867752cde69ecc401012674ad75e12245dee86d775989275a5fc635c66d42c01b7646e180d28798905a3beb210c049be35b522ad580e1ca29f81b9469448749fce961ba6\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (18 mod 64).\n# DIGEST: 60a6821269be6c5b985576b245f106128eb0b325\nKEY: 436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5d\nNONCE: ce998f8fb2eaad409ae02116417dae0c\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77d\nAD: f660ed82933f62be8dc55b\nCT: 16e3c681ba1ece3bdbfb1da491f877e806ddac5f1ae96bc406bd195c9d48bcd4a9b700a8ced21d824bfb99eb057e401c3529818725b51e96c576e8009bfe4866e98f550a23ef4748ff761a4d1c44ccb5eba0\nTAG: a30286b3d06306818a268db0e5116abc2c7361c5a32d334d8ce5f4007aaeab750980018b435c79391151fdd33df2a97dc2cf62c4426ce45be43f7e4949be735bcd33f0e81cc6b5a3c2255fbac9ff5a8fd7e7b57554d7ef00640d92b605c9afb0c19dd5ca4c79c409d85c197e8f21d79e91df01a817bf68e8718bc771028c945471ae003c0a210c572b79d772560031b5d3e5495aa8d9bd6fa3f8ae9976ed7e7f8d7275030d2f12ed5ab05276ebebafcac7d0ca41f9d860583f800e4f1b9658b12fab31fd63f6a5e4b80463918f8295ae11d7b97f9b5f89b8166861aec8f1b1417163a6a8adce23ce66c9a4306acae7ca75435cbaece814d6010a3e335bd7db9783812052179d5337d1c353be6e0b\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (19 mod 64).\n# DIGEST: e2593f3b6741a9ed9fa188fc06efd057556ee624\nKEY: 6965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce\nNONCE: 998f8fb2eaad409ae02116417dae0cef\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df6\nAD: 60ed82933f62be8dc55b43\nCT: 9b51ba0eebf72bbcd7a1b8452a49f30bf2d96bf0cde4d9e5efe7f1903eb4e09f53aec649c5a8ad7e7fc6c28a0dcf4bd3556f4377bbf8b3f9c79dffa5978692559f732c109a7a02390746f5975d5a0aac4d04ce\nTAG: 636f7bcc9b0b5320643f4b6acbecd60a0a89d2511621ab47fa4c9af610fa1ff9c6cc5cb8fb64493d6a4dca0e94a90794f31698cb1c5bb5658e8b6a63a2cc9b2f1f297240d3d6c62087e32f5d5e9f9d608eccf4b41253933c7391983db1138012a5f5caa5abde25c8a16fc33cccb0604421d985f198c48552650f5dd299bf9163c136c042c9a35cdf7120a702bf460d739ab264fe1f58453ff4990f7315379ff074e01730e7cace8d45a5d0355c0acc409db8fbc759516ad56818b37700548aca769719937103787311b6dbc8488d9e68ee439cec3075bafb725f44734326df9b10d6a4f7133ba84489a9985febc96200276a1fb513f8a3c062466cbe63e7ad668cade7ea70c3b8cd040a6162be\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding ", @@ -472,9 +552,9 @@ static const char *kData9[] = { "ef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c2\nAD: 7f4372480974454879c41d\nCT: fcbf4939de59426da2002fcb8e3a4d07604a168e9ffb5f13afcfbdc45325e3ecf0659ea736f9dbf61cec1dbed1024eff9e3bcb721c28d004549fd84e2cdeae36dc5e5abba4f0102835740bb877858814fa38290344addefb47ae583171a510719d9aa18c8f8a5e01396fecf1a982e162edf1047f56e8e4a839c5560473f389a4c7ea8fd5e03c7f2d31ccbc094f04e2a510aa57fe30f37cda765ddcd2bec89ab3f1f5f2ca423c68664c3303520c71439230116409dd84b4a26c1a102e521253ccd455793b0d883b1569b5013653b1c606143fcba7252a70d2a2026b989d1f67fdd594d2b33bde1bf7ee9bcb6c013ea8886e0ec1341039b8d8fbb4d865754a62d0e2a1151c917368e93fed0cb29e2d63ae176cbd95991db0a2864b27b6cf5782093bbe0ae117c7b2931f678bcb07aaae3d955b61e7ebbab8e84442295700cebf1a8f7d846fe788baa0660608bcbfa59c4bc9e5d163654aea99635f9bb63b8074478fc97b4981f5e5d35430b1e18332370dc5f4e94616b0270112dc446335d10a169e8a6923765647607ba9ad65c6f6f008cdf041af2e136b398bd1d1f67044f8360d9c1e90012e594a353d8e45aefac62173fd1b03ee5e4aa6961d83cbf1096dfa02f36ef62ceea5bf88f95301464d0046cc8ae3bfa611caa0c63d07\nTAG: 850f8608529bdc90c222092bfab0239a3b07b9cb1f\nTAG_LEN: 20\n\n# DIGEST: e654b4c78e1c0061eea2996fc126c9bfd41eb6d9\nKEY: 3b5a7379a561792c0f3116430e8b6ea058c4799eea80abde04ee1de13e937af8f1a6944f44d722271233a825264e977045318c9b\nNONCE: 66262c0f0368fe9d0cb746bbd55813e8\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c27f43724809\nAD: 74454879c41de9ac9f9823\nCT: 3a35e98cfbeeabc993af7e952b148ceb87a110d851bf2d036e5eed8482b39b881b3180dc50ce782a8cbe2c586863c5d038fc4f37d4a96ce8732abb984ae90bbccb86f7766e9712e43d3ec40fdd7a1c88cfbf14743908c78dd4c19d449db7557e0c30127d35a49503d8dce6c9a9e6f07e1c86d7e365162ec05a8b4ed301645f8274999a6c5beafc5b27dd68608aeb2efdd9cb00c6236bb143e7d91709a3fea0e865330680a854d47ae3b6067002a01aec6bdab9e60c19ca66cc39d4a44ada1e21720bd5bd87cdfb31b8a9bfac77feeafc9f8e92c4131d73a3cfb64efae2e8d14fed99c2bc88f63f88079d30b78df18ac03db855338986c0fd1614dc6afaea71130290bf52270999f3392128bc48fb0a6d6425c383b637f4c293e177f479f6a2d6323ed545bbd564f743850a121da96256a8daf163fd80835558b21e0286cf008e7cd87bab94222fd7faa395ee2ba19aa3abf5d000e7514a35357941b97e4ef433c30972e995b0991c862cefdf79712cbd3655ceb43e1e5f5b0d3f5e275bfad98a667d997333d704e4d70acc488b6829d18d1263b841307d592f760a66761e800b4676d64546a1d8630d97218a7c5f555d4a90cf58eee4bd1e1fc0e15f8f64d336edf9ca00183169f237a924e7efd5a339f3cc1bb90b4c513bb9969ecdc9beb5c5\nTAG: b24af9f27ebc204aace6315a197550907bf6079b848eb1dca1a96192ee7c8107\nTAG_LEN: 20\n\n# DIGEST: 654b8591c7f0506261713e9ce7a6fd24a6b9357e\nKEY: 61792c0f3116430e8b6ea058c4799eea80abde04ee1de13e937af8f1a6944f44d722271233a825264e977045318c9b66262c0f03\nNONCE: 68fe9d0cb746bbd55813e8d454817c21\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c27f4372480974454879c4\nAD: 1de9ac9f98233b5a7379a5\nCT: 7e1b59c791aeef6577c7ac69f8624352b7c2c7d1c8b14a7a0daf8240cc9d71ff1298eebf18ab6d469e1a327bbc3bb539df445ddcf7dccacb54f0a4ce6cf18bec20101bcd62bb2b30d8426a1e3ba949dcb69767aab5b8d2228267d784bde55bf887403188cd39453d32d50428bb9846212e4bbd3843161dc830646ba6e251ffad5d1b382101c7a3c87163867391fe44a58639e8a29fbd34cce657d321d004f842e0efa9d4cf03f557bf07a1201ac36258a4810dc101c427e19bb79f0800f27732094ee1dbab2abfc061fd4a1e84b2d36e560a38465cd4c8bc04bc27ffe90f1ce5999fc78d9432ed98c8dac4047a61547b6205bebe2191782ca63e50bb29c9bea553f5de0e9051cef35e3122c00e0d3a2468ecb2a898225c5f65fae573b17a15e013655a2ddc62adfe61ce5a7e352539c6d27c9726d2ca5492ee25b6d8233e32383100d131abce97b33dfe18a415156917ead8fe854c53bde97c0202e782679ac46f05afe1b9ad6b41bcb65bc8a80682ea8092bba0c47a9a03d08004a11756d9274ff83d5d468475c8a4a56f81cd1367040a3f75fd998b5fb3380cf8c1630fdb948fa2d0930fa5b009abc755f4bf70a59847969500d43e2db40ee517c9a6826e8e3746b3d40f9a6e7b35362550cabfa601a887bfabfd28476b3d7eb8917d66bbe9d21bfebb5a\nTAG: 22e74d37769a86785c57bb760e8a28de7a7ca3207fef4e80c284b4\nTAG_LEN: 20\n\n# DIGEST: 1eaad32c8d0cefaa5e2c503bb2185a73e6387fac\nKEY: 16430e8b6ea058c4799eea80abde04ee1de13e937af8f1a6944f44d722271233a825264e977045318c9b66262c0f0368fe9d0cb7\nNONCE: 46bbd55813e8d454817c212d3a0063be\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c27f4372480974454879c41de9ac9f98\nAD: 233b5a7379a561792c0f31\nCT: 26234359615c88fbbf5fddd43d4832a57bda2037e2177b264309e2e50c28efc28c5ed5cbf6dea046a14caa64d499352ecba0eb2d4bd376c6b1e14048033e21b9ec63f500a70c53be60099d9c9e46ea8f250d3d20c834c3c0638a9245377fe2b76b74ea14bca6b4bdc7e8d86ca59f397fe72b8c4cbb8edc3dca7f9f234529034fe5f1441210a8ad9b4694fe013f7e4a906fc400a27279f2a1a31700750e2209f6296ed808c893a42214b46f765c9d01cee46df18b02d5493c3a1da3a6258e89e47934ade4da2fa9eef7f5b1887a60585684b1c5c2ac60d94a62d79694b063444fa36674ecde12095e9203d281da3118d058f547ede5e4b67a11ab55c1b42fe01a94a601ba031c5b0b4088563344cc28d640bf2e7c81a259211b130bb9ba9ad93090c0e11cc939b99046fe7f25132672c3714f9973513af628f21942da6b459a60e31fe1bb9bf4f6259d8c9fa07d796a264f94d64122d186a0220d9f44b040396c9c187d5ad1d806ca613a4d0f5038a8b77177f39361f9107bea7700ba835dcd38cb48a6c5af0bfbb07b7a2543f1c661f1dec06acadf8", "860fa2220c67bbc9c97c44cb7cc58831563153149713ca2db85af46932a8de891da1d4662e52ed5b7c1c15d5557a0930c7177c2046b50aaf14874512cd9ed62efabe5704573a4f44a4ddf71202a6ea8c706842299\nTAG: 8eb60165231c67e88b0abd1d7c1c3dcab1b7006d4d3f\nTAG_LEN: 20\n\n# DIGEST: 862c0517b3658e9b9cd27db608d49e24e9b4667d\nKEY: a058c4799eea80abde04ee1de13e937af8f1a6944f44d722271233a825264e977045318c9b66262c0f0368fe9d0cb746bbd55813\nNONCE: e8d454817c212d3a0063be26e0636617\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c27f4372480974454879c41de9ac9f98233b5a7379\nAD: a561792c0f3116430e8b6e\nCT: 6f2cea3b4aa1b3ae78d31e47c0c1e03df944352b9bd5483cfc09577aab2095a0a7e977e9c1c6451625d85d162c1653423609f141aac93123b2a0bd093c5bcdd9a49b27ace4dbe6acb486446f437c27e619a0f69405afc83240f087feb029fdf8f3f25a8a262b4a3efc4bc80512a96a45cca61d46e42132abd34c2821e7ff588c742062c01eacf9d1689f11648ebe326a91fe79275b5b1fb2af4d1440ff4a9ad35381daf2a2c0aa928216351c5b89ea33bf225d34efd7ec2c81c5af325b138a5f4ac50c5aca196d1b32ce8352431a8f08cb3b59d2f8de5c850e2a06d00c1d7f7027b4aa6757eb0c9fd3035063669a5ff8db2402818c88a7137ee309ef2735dd575e43b7508c81306dc50da65aa2276dbcd98537636ef06d1736f14e2babbc39457dc8d101d22e5516d652151c2092812814e9f73dd6cc805e670ca36e62799b42bc07fa1d93b9332c43a4b759e53ae138fd2b2b419b21a332ea304fb7db57e860509855b2a540cc909aff57e1433f295e8052c7609a88170feb7623cee8ee651ae1dca4b1afa427e2e43569d5b7f2ea688d2e2afb33f1dc0666c4b0df8aee281cbcbf5e964beb3851f7b929e5a4e06766746f22d4fa1a32913c0f449b4da8aac6294348f711d4d75bca509516668944d2a162a53a31229528e54e4bfbe13cef013efcd6687e890d292e42119529c92c\nTAG: 76c80a678b6cd735a2d01acc18dbd90bc3997f57efc2c5c78c22fe4dd13f06fb91\nTAG_LEN: 20\n\n", }; -static const size_t kLen10 = 487666; +static const size_t kLen11 = 487666; -static const char *kData10[] = { +static const char *kData11[] = { "# Generated by\n# go run make_legacy_aead_tests.go -cipher aes256 -mac sha256\n#\n# Note: aead_test's input format splits the ciphertext and tag positions of the\n# sealed input. But these legacy AEADs are MAC-then-encrypt and so the 'TAG' may\n# also include padding. We write the byte length of the MAC to 'TAG_LEN' and\n# include the unencrypted MAC in the 'DIGEST' tag above # each test case.\n# each test case.\n\n# Test with non-minimal padding.\n# DIGEST: 9c95dd31953799bae5073105f0694f1a0e48afce9277fe009ff26b28ca9ce072\nKEY: 86d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891\nNONCE: d77df660ed82933f62be8dc55b436965\nIN: 936a91d0b5\nAD: d2c0267218cb7090c61713\nCT: 5485a38963\nTAG: 7bd49a1ea251ed03f3478129a62964bc26d5d16c69be13c2e657f10e971352bae57fd40d369aa902d9e8d365c498a4f4829af1a7e0da1bbd913e36\nTAG_LEN: 32\nNO_SEAL: 01\n\n# Test with bad padding values.\n# DIGEST: 9c95dd31953799bae5073105f0694f1a0e48afce9277fe009ff26b28ca9ce072\nKEY: 86d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891\nNONCE: d77df660ed82933f62be8dc55b436965\nIN: 936a91d0b5\nAD: d2c0267218cb7090c61713\nCT: 5485a38963\nTAG: 7bd49a1ea251ed03f3478129a62964bc26d5d16c69be13c2e657f1ae0fe30a3006727ffecf985f1a015f16\nTAG_LEN: 32\nNO_SEAL: 01\nFAILS: 01\n\n# Test with no padding.\n# DIGEST: 3519ab2b2943d2a50996628f6c26bea29f84c95af4c128cc3af012bb358ee9f7\nKEY: 481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371e\nNONCE: b8da7dac997deafd64b1fc65de39f4f0\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8\nAD: afa22993a340b9b3c589c7\nCT: c90e0c2567341ea7e9d968dbde46ecb46ad78dc8be7d47672068de66d6e7eae1\nTAG: bc33ca235ae35aad13e540cc9f0714dab00678652cc476d57c543967c39dddc9\nTAG_LEN: 32\nNO_SEAL: 01\nFAILS: 01\n\n# Test with maximal padding (0 mod 64).\n# DIGEST: 6d9cc64eaa0b3c7482d8431bff6d24c9bec634ef6459d873af4ff97756c9fe46\nKEY: 37446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be\nNONCE: 905d41203f5dce998f8fb2eaad409ae0\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba\nAD: 2fd6773e0d0c302a5f47e0\nCT: 7195b9643e0f7a4293c865db36442d4fe2cf3ea2c648dc88cd5636fe5e6bcea3d1197966e800da8c78bcb8830f3fa97671aebce98549e62827adf612e70f9466\nTAG: aecfefa9e983ae857f033408f04a2f4dc9069ce275e00f9c35649716c3c65e9bebbcbf75ea3445ffde4dea79bf5c3d1dc4cd15a351972492445d1fdca03f7834b18e556e7e37e1ee1fe9a3c9d99010fee3a7506677e3ac5cbd5448549ee3a5e7bdd5a7b584767e76f1964a864ad2dad467e35702a5771d960b47f0cc4654a09a5cb4b7336fd43cd4fe5290b15ff50ca286f654b215c3bdbf3b918ae042fc17626ebdae135302ab9553416224cfee1203f804d99804d9653ec2a99a7fbf5d2a54bccbac2ef38e6d58b22ed53804cd5851e07f7cefc52df184a3c9acce574ec14c99a3abfda4f21ad119dec4a7743b384490136e77b1216d0df8b58607cc1cb4dcdbf25682dcdee237b773fe9714d24f2b3531037614585df4f56c855fda9949cd\nTAG_LEN: 32\nNO_SEAL: 01\n\n# Test with maximal padding (1 mod 64).\n# DIGEST: bb57bd76fe5f29b96ee3f2d62d8f3c4d1c8c986c0991382834046dc907fe1ea7\nKEY: 446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be90\nNONCE: 5d41203f5dce998f8fb2eaad409ae021\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2f\nAD: d6773e0d0c302a5f47e037\nCT: 1d50f3eb1cd76d8e08a9f386db0cdc3eddfc694e8502ccae47ab431c2935fc461254b80386c87690b01c22f38ea9bd118d2e0ed316ac249437a3e9c30f6c1f7636\nTAG: 4b376f558ddf76137f0690dd8eb88720c506760c182e4cbb2fddb2f64e269bbf9e4bd20d1f2e1b8203f10df5a92a5950a7394525c2c36006716d741e686473de9895bbbf47849ad3a340dd262c095263be3d7678734ca7edeebd4eee8d3375c8f552436e3a90c7305aa0bafed0bd42f8f651a38666e28455e335ed58d86ed265da1e9cb77c780d4be9a5674e3bf7b624ec862aa9f5201793cc1cfbad7d0f700ce44d3894ed8e19884277bb1e58fe2ff4d4439163c6642f11f13be03c62d5a13182edc3e62bb72cdd7d0e157fb20fe4815a6803425781c1701d0601153811ef79ecf6ed3852eb87f886abee0e4ff13622b32dd040691810a80f3e21cb1d24fd2dd2b74cdeca38c49a7a1d68d72aad5484c6907a4e6440743a56cb8b6394d2a9\nTAG_LEN: 32\nNO_SEAL: 01\n\n# Test with maximal padding (2 mod 64).\n# DIGEST: b09802c727f0f85cb590791372c52bfdc2e69de36b9695daaf7a93d2fcf56fda\nKEY: 6f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d\nNONCE: 41203f5dce998f8fb2eaad409ae02116\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6\nAD: 773e0d0c302a5f47e03744\nCT: 4d754c684658bcc89208bcd75f24dc8e18b70a28b8a2201535e60ab755fb20e1ddfa98742d257eadd02d96c6a65f880d058312311efdf67f9a106beff9f5ace06577\nTAG: 261eb376dbb9e82baf29687e823a93bd63961414b1bc396d5fd21e70afa47aafee1103248a9be160a0cc35a7cf05e6a07984ccfc354d37903f9a199698485d5e136648b1fe6adee40b0dfb589979df3b158fd8b3d35c8ab4c387f61782242e23e5698e5f7ebb4e733a63f3282ecd0c565f9c9535df36f6156aabd988e06e754fb3082afa90800af3e564a8d275d9afe184a72d538bd26ca1b4b8c12dc0ed449e643c1a1aeb8b943bd74abda7dc19b2e303a778d348fbbfe221df38d538c921030ce6485ea2bf899284e5bc8329432b16e4562d1609af0fdc616d3bd91688c2655dc0d5b436c0db8e0b434d897687e91a60f749a7e5a6e88e43a16b5f7a4c68d5c8325c260915139d901988ab924f7e9b72bb16020f0cc0c6b3f97ce4380f\nTAG_LEN: 32\nNO_SEAL: 01\n\n# Test with maximal padding (3 mod 64).\n# DIGEST: 13588ebf114df38b7b59f890dffab8b1a4c85f090c3f4a0e508603ecd34f78f4\nKEY: 5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41\nNONCE: 203f5dce998f8fb2eaad409ae0211641\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd677\nAD: 3e0d0c302a5f47e037446f\nCT: 25bc47e58e7d4f3a417c95768699c92240a2be0e86232a41fe02d64f66716023996772e1118be48e685042f989dcd9cdc574614c9c3989f1885b4b71dfd5b1c323db52\nTAG: 9e72a44693493371870022657655991223f9a9570caa8d43b20b7e567cacc129dcbf03e2a7583b5b494bd6c52cc66ff1d1b3ecb7c39e26efb5fe025ea5bbef7dc579c58c9cc8f272d36b3b596910477d4af7e7105055f7769ee01dbdfc684956d44d583748085de4d2d4f5a9aea177e1f59f4b851c2794e1ee26ef2462b77f1ffb6d41fa793cac4aaac3aa88bcafc60066cbfba2af3a006bf929621350aa66aeffcd8fd7928e50df5dd27ca0831119107aeb0a2e7af5531da7b4033a049180a477ba24b8bd8042c4d30385ca098f9a8f16be6c286811bc036b827576da12beabf69c481a2633f6bcc7cc9255d5c2ffbaf5fc5813c6350f45b8cc664ad18304cf895907ac6c1c1fa5f9485f8d87e0a61f702334db886fa0aedc353fe50f\nTAG_LEN: 32\nNO_SEAL: 01\n\n# Test with maximal padding (4 mod 64).\n# DIGEST: 25c98c13e308408c882677b48f3a49a53b500146eadf5bbc0f5a240ab6ccbfb8\nKEY: 91d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d4120\nNONCE: 3f5dce998f8fb2eaad409ae02116417d\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e\nAD: 0d0c302a5f47e037446f58\nCT: f1ab85a35a17541efb4f906e7fc85e64efec6ab40d59d3da920c4ec09797c3ad47820e9d934e51e3f4d097c4a555575939bfaeb8cfea062b64816a160d6e4d1f282dbe90\nTAG: 2e3eea7d54f2a95572c0dc382ef826f9fa138637df323adf2f64e42a4be6d493ee3d087704d9a1ddadfa34b0cc2c35f4d7802a87fe3e14be035b269c8135e822771faf57a21ee9f892f26e2231a0e4e03b32f2a809d560ce72c7e910ba4c1b524b171bd50a7a150ed327e791e2f76551d4eaac1e53091f5d701caa50edb892c6e1e2c2f8ac0413b864847fc10875d6f702c03fe366ee4971ee4602d078ce648f54b8e71bcd383bc4c3a14342ebfae042fa52f59bc5ad73a51cd1c561ae615fbfe24eda7301794349431ae59fa6a791dbd0691a83dfe1f8cb0fbe9e385708a9dc9449186cd6026f962552903753372934e220c7d5eadc2ea75356a73cd086f850f40a9b83f1e9331009d23785bb5468feee97f6e9e21d2a17a9eb2b5d\nTAG_LEN: 32\nNO_SEAL: 01\n\n# Test with maximal padding (5 mod 64).\n# DIGEST: 3fb8ba4df90f52332bc7a20df805fe903351279e0424c232365cfc4e62982296\nKEY: d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f\nNONCE: 5dce998f8fb2eaad409ae02116417dae\nIN: 936a91d0b5d2c0267218cb7090", "c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d\nAD: 0c302a5f47e037446f5891\nCT: 5d6bfe91cd2273a9b986397a38e81be5fbbcd0403ef51873c2c467a9fbadc7bf540e83c538a43dc0e0ab780a4c4b1f5b77ced74f65b61f8b8b58b26fa3e8cba574bb9527e4\nTAG: 8f360ea3d348aa4a950019f720333de020f23bb86eb11ab2bad10665f2294b914eace65dd890642fe33979f0ab04de5fd00b98757e734cc1becc43830eaabd48d415ca58dedad92d4c71f0b7744b74326b9d1dcc7b9afa134c097fd563bb001d8e91dd71a41d5f906080097d811355c268581ddc1c7698d9a65179526eb8c96bfc03aca614f84aa2c871958e71fcef12efe601309efdd7084c7c02aec5a6649dd7fde231de46b4b0b4c52676edc19edb740b33f8c90885147137011c921336b52b3597a30334319d69d71498b11feb841c09577c2167b58430784a056310d1b264e52af8ae737d7f8dc6431b305afe2ad43640cb90c2eb6fb4d5cb8540ebeed729416c04d2260a6b923ad698541a3315f938ed6a1b1626b1e73ea0\nTAG_LEN: 32\nNO_SEAL: 01\n\n# Test with maximal padding (6 mod 64).\n# DIGEST: 23f13497afad98ac65bd2a1642935ff7185a839a672fd94b18279ff92202a3b7\nKEY: 7df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5d\nNONCE: ce998f8fb2eaad409ae02116417dae0c\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c\nAD: 302a5f47e037446f5891d7\nCT: 16e3c681ba1ece3bdbfb1da491f877e806ddac5f1ae96bc406bd195c9d48bcd4a9b700a8ced21d824bfb99eb057e401c3529818725b51e96c576e8009bfe486610501aa3068c\nTAG: 52e952e88946079d0e7e443f24f113c0c13ee17438fb7c302d82abec8e24524ddb4121bd1f2f1ba18389ea5aaa2ff43b9978425f1795cf3b2b5245f13d74afbce0e6f4107c9478c9e76a803be141320ed0ebd81ad6133d0ba901cfc4ef9802c29dafb2fa0d4b6ec49bde0ad8e359265b9fcdb9caed5c2c3772f2777c8dc59190d554a76d6ddeb67f12a3cb382015a36a93ea747a808feee5cf9abb7dd413acadd6519125a68071f7f490209f2de8049724a87dedfe208322cc01ebafac59d1d7bcc8c2896074908b40c23094a878a0b33592ecb8d407a9c68016a112ff1b5226a0ca7ffc9fcebc4f674b4f13711ee64dafd5bfa757f3820366a26b12f74fc30297a1209c16ea6299841713d46b72d03a12a51c5309317939d556\nTAG_LEN: 32\nNO_SEAL: 01\n\n# Test with maximal padding (7 mod 64).\n# DIGEST: fc71e48cdc62c15988a84f32ad60aa760b5766c892e559fa1ebd882a587ce590\nKEY: f660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce\nNONCE: 998f8fb2eaad409ae02116417dae0cef\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c30\nAD: 2a5f47e037446f5891d77d\nCT: 9b51ba0eebf72bbcd7a1b8452a49f30bf2d96bf0cde4d9e5efe7f1903eb4e09f53aec649c5a8ad7e7fc6c28a0dcf4bd3556f4377bbf8b3f9c79dffa597869255f783cf0c89206f\nTAG: d94d45b132507172de566b7fafe7ff2f6b50387ba1cb27c2f2d566eeb644490a01e89745aeec464c3aae3fcb240dacea5c13f8fab5e3db55a415052a01e0ea77d0ce06a75cdcbe0b7c83433b33022de91034a18188f7ddb699c55957611f0d1f2fccbf1e8e325d33e50ffde6b62cb153c43547f7faa3934eadc45b5bb18a88dc25470dbe6456ccc99ad306e664226630a761e9673f673262690af6e2922f2376ee9dd486872314d2afa8be11db1baa876a9c0c8d4f2050d65bcebf39a11656760142d0d4d505e2a80a0ae3533608c161cf6f9ed4de850a9fe77a0212bbab0c82b9fec6fd151bf391bc794229736b1a51bdb2b012393ee405f8ac64db7471aa63077d9aca9ab11da3d078947dbb7e8c3935c0dbce060df66655\nTAG_LEN: 32\nNO_SEAL: 01\n\n# Test with maximal padding (8 mod 64).\n# DIGEST: ff4f42d72ae561abda38963a2713bb743038589bc2d7efa0f3fab298630b9c02\nKEY: 60ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce99\nNONCE: 8f8fb2eaad409ae02116417dae0cef45\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a\nAD: 5f47e037446f5891d77df6\nCT: 5e4df84379f9736d784d9166047003e3ce3375a8e7add80c8687e94f68595aaa52e3bd39a45a7f67d35b4df0c5d62abc81680ebea78d1ec02153833b4dc4bc5112f4dc2b3f14deeb\nTAG: 9772a910db4e6582b98dbcd4ddcf7833fd0e20fb8044161467d80288acdc76685c62394023653d4942a5d1d27e63c12b44dcca72217d43555728199bf2e751a1e17bfddbc0ff8c6b618715fbcd27990a7f94fa7009466dcf570508fcce46e0a807c6892e805aed7141fb4cd151642dffce62f8d9e677a6a5b3f3506c4aab3cf3cac29bf4bc04d8a2379b8ae4d55a3f7b1414cfa7f576f8345457a87f257a75cbe7862829a5b0f9f779aa50bdeaf36ac6411a1fa7ddbba9519fa933a0729f02a404eaeb2c35ba4ee424bab056ee3a8ad0cc5b5199e6eafa0795dab533d062410f775277907f36375ec1cda175ab1b8f8032899298557bab8f3eb67190175b710854f0338418cd46da7e1d4d0ef8fb8881df16f781df7f47b7\nTAG_LEN: 32\nNO_SEAL: 01\n\n# Test with maximal padding (9 mod 64).\n# DIGEST: f4f7f147b43ea50a1f5a4f19c093ef917d3b92b46e5798e18b5294b0a0fef814\nKEY: ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f\nNONCE: 8fb2eaad409ae02116417dae0cef457b\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f\nAD: 47e037446f5891d77df660\nCT: 1ddce9b3f674dfc1b94a6cb34418e6b75c93f14941a6dbe028ed59667404b93afead95ec50b9393a8e0e5f469fc1cbc5136f4dc54f3a005af6c88cf70ff39487dec8dec0a9e6ad33c0\nTAG: 6875fe08d6aec1a18c56b4f446562a523b95c8434fcea5942abbc10f6e10ff7c455db0e80f945f81462a0e689df450630a34a8c9c3379c4494821e762c16a73b029df8e3e5775e78ac2a4106d539a5aa2522dd0a586a974b84bc09e86ffb21f3fc6a0d1c9e1d75179bada55085a3d9f9779c2461f2ccc990765da2450815da4cff73913b224bb946204ba50acf5884f71da7a487b743bfa20a09175a4dc11e9ee6a0b12bba1a7330fb482f925f36532c52a3ead78a8924cd30a1e3053faa174d5acf16fc3e02e0867b921d382c842afe2b69556bb89c853338f6f32434e2b9da81bcf7a237e709fd55ede388b51b2ae62e10b1ca69b4fcbdfa3ac73114713c66eb51fb36678137aa4516530a92e03b9454ca6b8ef35263\nTAG_LEN: 32\nNO_SEAL: 01\n\n# Test with maximal padding (10 mod 64).\n# DIGEST: c48f43e4386dbf727ca93d57b5b2a4ccd8e1f27b201db03000660078b773faf7\nKEY: 82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8f\nNONCE: b2eaad409ae02116417dae0cef457b9e\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47\nAD: e037446f5891d77df660ed\nCT: 6736ca287cf31ea3ec92c68697bfd1f88642e67d9dcab11c5dc8ecfc61611ecffc54a04119f53f9e5476196f220486ab53e2b21e1135bc6745731f0bd32eee9752fe18aa410159805977\nTAG: 5e40a60a3661940d928cc1818e0f0277390296d5a20f1d020452845b5ecf83dabb95153285213d50438bfd32980c294aefd1d302517cf2aad8bdefc63d87d2995523db2f2380cbec94cf5f5a7af4f605d7c9cb2c2c5fc67b567c5c219de53c39e92ce4e597ff10c929d7e66f7a156f3bb8fcf5c05df504924dc282bb94fbc7045e5c758239b70c3f171bc9c34e95f8821738b02b1049c8e1b21d66e8ce2ad606c8492749b78592ddb0df4a51de74514a1f25fc4278b22dfd5aa0761e1afc5e4d622e9088879df40964ba02503e876ebc70ab5e75c33d7ba0d3879e32255ac7a884a723a673fcf7007c8105e7dedcfa91832ebecf6a929033da1069839a1ad5ea9f659e2f2d295b06d5d6c5e685732f8d9c4b95eca515\nTAG_LEN: 32\nNO_SEAL: 01\n\n# Test with maximal padding (11 mod 64).\n# DIGEST: 4fb8d7ccd762998c343aef821e49cf91783d15669105b725eb1123ddc16ea445\nKEY: 933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2\nNONCE: eaad409ae02116417dae0cef457b9e5e\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e0\nAD: 37446f5891d77df660ed82\nCT: 95b9375058667abde693e7e3a598dd4c326ae4db29f54667c54453e6191c52f86d2fb4fe324e9a02b94f094f1dc272b1e6ad85529206a511468879d31ab9e74f44d9f388b72cd2461fb67f\nTAG: 7d5b0073be50f1aa588d60ff430da154c9793c30646b9d98ff8581febbf8541698a3a14e8dcd317d3f5102a828923b4a060843e4f813cc0198d19bc7b8c7c3fb00bbeadde45d84393bcbf90e4caa0b4fb7e8ce97584d639aaedca28b685083417c996ea73686a504e58ce170d5e59dd1e75cc2527c9a9976ab552533fd3e9c22603c5b4b25456d833182821116d7f80fbfeb9b0a840c127a755b4ac4121cd82f12508b0eabcf1255d5ed866b11366f9a2a59becf0aa3944ed0b1531c92342cb89dc819fa342d19db29556a98a6f1d7f166406257c4fc2019f5cfb8e1a2f02a161e2e6e91bd717c3c0b7429e9eb9d50f873ccdf0b487ee1996e38b248b0bc29ff17d713b810907bacca6f4dcc0633757d84bc065497\nTAG_LEN: 32\nNO_SEAL: 01\n\n# Test with maximal padding (12 mod 64).\n# DIGEST: 756ef874fe4546df371e012", "dc34660cebd6321b67dac201988cc72e48917d7b0\nKEY: 3f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2ea\nNONCE: ad409ae02116417dae0cef457b9e5e16\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037\nAD: 446f5891d77df660ed8293\nCT: eded2db8c302b3b5b5b0c0d556f8d34408fdb2af75d38231049b5f91e02a4086e6ffcfabcba5e3ec68173dfde382a41523d3c8ea1f7944351baad1588516c548942da82684d52639453ffdca\nTAG: 518bf4d7ce510d2d8b41b8948c72f652efcc6973337da9e53d8daafd49a8fadebd391c0867ffe253dc07d26c12985933288fc617b9f1e0b74ba51b4a85e11d14de331f9af1c3ec66f4c85e0db13e2669a0429b3be48cb3e8a59f3fae779aba1ae3cf8a9c7d3c7c3d7046b3e7592c67da2779af921b2fe68801d739ebc0fe61ff52724a034f8d6ab916cfac58e9530a541148da1bcd17957a9fd9481571d054e6e38f6f13460fc1bfcc51052a7ae75f514a4d6525dd85d067698197322e61212d58c3fdd3f08e0a06189d8773f87f18c0156eda94657acf5659c6bd687188fe8e3f09b7cceb63d6c78e0198cfb985bfea1e6ef70f2e1727b50c45b123d189607c3dbe0e06f1b359ac5f8dfe1766580afe966c8f68\nTAG_LEN: 32\nNO_SEAL: 01\n\n# Test with maximal padding (13 mod 64).\n# DIGEST: 01fbec0db232a15b4f3e02a14f412e296a0f2c7bbc539ea1e5e835206e197929\nKEY: 62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad\nNONCE: 409ae02116417dae0cef457b9e5e16dc\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e03744\nAD: 6f5891d77df660ed82933f\nCT: a56c9d8579b78c9ef40c4a230e8bd42750510340fbd0cf55393bd13d93b105fd2cd1d701b6882bacc661e8da81b7c9eed6b5dd4da12353298150819c748f464fa35936dbdb39149ed790f58777\nTAG: ec23664bb72e227a2d60f8e04aa12b33b78d59f1237f2305c1041793344510993f4dee5081f28a969c122c414a4218d4a73e4e8ba26ad8f6a8c3f73bfde7b0412f8fd6941f26ab73eca7110a4873cceccd43a917d5ea6418c85788512fbd262c72e594d2defd5a0a136ee74e9d1e76f335965a7679b3a059fdd6b72eab855763e4af5e028e9239418197e00088c7e2f661142d63babe769de4df2bb36f2fbb39b3723516d0c85b1214e82f12367582e9c707097cbd91650f2b0ae6f13a006cdaf65f9384496055bed36622b4b495335850b10fc6376112b99c4ca121228814539a2024bd4e839bb020efb32f858322b4474bf5317fced4ba64817e022bd53eb839793c59e673d4a50aea352db65143bc0a1d14\nTAG_LEN: 32\nNO_SEAL: 01\n\n# Test with maximal padding (14 mod 64).\n# DIGEST: c49af18a935082656e153daa62270e736e336727424bf48be78da0b7dced9de0\nKEY: be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad40\nNONCE: 9ae02116417dae0cef457b9e5e16dcc5\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f\nAD: 5891d77df660ed82933f62\nCT: bf13550fa32201ffc699cbf22de17ca268652f8ba2693dde72b626d01855eea7c21f0afae3fa03dc757491e8efb9091a4c100f8dccfd15a9b4dd94e4fe1f5e90a96a8ee973df3f67b1b87adde382\nTAG: 45c6bd5afe30cb502e43d1b3b2440faaa2908d171c8e7f53480efb6d74fecc454a6dbe10ca0ea6368b4afc200632c1b078250369c85a463c63c8c79a95a8d5c3b2ed6ea220b8f624e381022f78cb94d401bc384c5c6be68e8f56f353524d93b68dbb590ca9afefe04e642fb8d8650c8e94a873985c14c1fc7f7e114b2dadf9c9cd89e504636329f476fce6fec894337704b6406c634aed0330cc20030543261a628efd49bbd4c52e7d70fe4b32415359135e2328027b388e3dd4edc43977e8eeecc04919087ec0935f3b7482defceac851adad46db682cb19d407a2615164e2930278c26f942572b64ff9ade93d2debb185309fc2c526a80aa57ce225ca7cfbddd4ae17cea86afaf38b1544a8efcef6df761\nTAG_LEN: 32\nNO_SEAL: 01\n\n# Test with maximal padding (15 mod 64).\n# DIGEST: 8d6f1fdc3d60175573775cc289d7436b88d10dfa029e90e10e513c8e739666c4\nKEY: 8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409a\nNONCE: e02116417dae0cef457b9e5e16dcc5b6\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f58\nAD: 91d77df660ed82933f62be\nCT: 9f9a3ab733e50c1584c4f0c2a2dc0ff71bb3a9b32dbe92da2fcff8fe46a4bf16d4f30ec8efb1319891b7d2586839fffe5012a6dc3d5f0ad21e1572a1ffb48fbb82daa5c2de27d8d64515d8b50556ac\nTAG: d59e25e24c745028ce4239294565972873c4debbf863e3a3b5d69c5a32127916516037aff509bacc58b89e041ef8d2c56b7a3898aad9426f6c26c7d61adf61790362e299c73eda72314b6429d9f64985d91820bcfa806cf4b99d45d60369f52c369970c8162499f6c39948bea9a7ccb7ded6b4f69f13a98cb1665a9be4ad2f8e3e584157a7cf74009f504622b4529e55d36e92cc45df30bfea3d3687437ade9ae87e16f64da2960d30d6660faea9c890d4110e18c20576b729bf0157c151397aec86b563c1234f2deedfea18b2ed2a780b3fba34ddf21edef8bacc5155834e2ad144b39eacde01196a70e309122eeada9c1c589ecb7cd22a954a8025edd31383b2e36f453f9bc1fd8779e7a23653cfbea7\nTAG_LEN: 32\nNO_SEAL: 01\n\n# Test with maximal padding (16 mod 64).\n# DIGEST: 11a40304bc276c51e2e7d8e3fa16f905bf050f3861586be68ca4257b1e6cc566\nKEY: c55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae0\nNONCE: 2116417dae0cef457b9e5e16dcc5b6f2\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891\nAD: d77df660ed82933f62be8d\nCT: b4d33c5131701c960eda4c50fc0a918acbe28cd47fbcaa328c6a9eb08e3c36b697928c6981992ab155c30984c6b8e9340cb00decef7086f589ed2d730cfafd5ccfb95373b8c55044fa1c95927d02278a\nTAG: 713f2e3e88f54fa870bb429940553f8a55526f219f062dadacd69284718a21914f86d905517eb301bb5693610d69a32becab289041fb962d940eb0a37da57724b4d07c3b968700dec4d019f6672cfc45be30e4ea80a33dfa7d88abc6733a1cc7a788c6dd12f2e18f001a9d8f0deea3411c00e9234d9484fd030375bb6c3519e8068694019cd8e7eda59760cbb775a01d68626f88ccb026604fb260c0e3eeecd3482619d1108c3ed9ee2f992c0d221f8a0b3964a6ac23bdab18f2a825a2bd8893551686224eaab405e027bcf3cf6cfd840479be33ebd22479b72d61e1d26c0d62ec8e378982a61e85da137019fdb017338fb245ed0f82c531be137dcd56af636c69197228ed2be7ae7dfb0097c4f7e5144577a2cb0cff362c52e28bb1d2b284c0\nTAG_LEN: 32\nNO_SEAL: 01\n\n# Test with maximal padding (17 mod 64).\n# DIGEST: da3fd1aaca630fe609395b45a44384c57f779505188c8b12391b9f34de17dbf5\nKEY: 5b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae021\nNONCE: 16417dae0cef457b9e5e16dcc5b6f256\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d7\nAD: 7df660ed82933f62be8dc5\nCT: fe6540372ad1c40ec1dd644e935c480b9e34aed05a7f21e2e37dd46db52ebc5352cbc3be2aa289cc2e9712aa7d393f4454c9fa3a4acc30db41ada1257693d3469b0a1d5680dc8dbfea8cbb4768161f8291\nTAG: fb0e5d817e59ba33aad224a3d75b490058e8d743e6db43e920b30fff5e931aa17ebdd9f33ffd1eb9d73a2b9301fec0981bd29d85edd9804def4edcc9d25c04e7bb4f092b71322dbfb1c54fb71de189c88b0c63a4fc615a389b7d67758732f2356924813539ba0248d47fe0a536d141210b4e01d3a3cd1a846933c45abf7441eba3de98bf42c217ba29eab4dd52bdb44bc8ba97c7cdf10106f0e5ed04df11835e1ed86290c2b4b79e5b9a3597dfce92a71958957ceed5bab67ca5b00eb19c0897ea081929a9fa4c45db9dceb70875cf9773cb5dc543885f62bede29135a5e637c078029b09b290347f1e39b6ce35c43294fbee0cf3d9359c25d2a55083eb7d3d13486e851b1b60e1f51ef7fc48d16fa427d7440aa890d300d7a2876ab371686\nTAG_LEN: 32\nNO_SEAL: 01\n\n# Test with maximal padding (18 mod 64).\n# DIGEST: 2ea803a4525d24849aeda1b0adb81676b32d99c42bcd0011932085424a0a8078\nKEY: 436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116\nNONCE: 417dae0cef457b9e5e16dcc5b6f25607\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77d\nAD: f660ed82933f62be8dc55b\nCT: 22e6c691ae1ba796667ceeaba4dcf85582e398e529d938da63c8221a58c2fbe242f6da82eae8c896dd31b45b3e8b72ff3dd7906130954f7b68d4c8729d3ff66ffad72104047209a56f1d6cdd927b57e8d08e\nTAG: 0325aa247e8c830cb0fbe906d495777fb41894e5721f07b1aadd8b0a2419dd28c973681d131ad8866e938ceb84e65762930d3961ec13c2ca461e927a8aa79cab8508709520b1dee01e81ab4c6f5ee93eb610d6185469d88b32f8acd04f6e8e138aab41456c9ecbe0ebc1d6f9edbcf8e4d543", @@ -536,9 +616,9 @@ static const char *kData10[] = { "9a468797639a48f1b8318d531531696b2aaec489306c070d6fa6bc1f00d0956a4b995db24049c6ead0065f28f570a857bf2a78fd8ead6784ec7c2182db92da136a38c6bf0489cc342fc6ddcd1be1f96fc040923078faa8e259572472b9353cd2a8ea88ffd99fb6173de97e45479fd93b6830b92775a7d831dc0070f7292b44a8242df02e2f1a0d3d9415209052f14f6a6c0d3e1773e6900c8e4d18e6ee0785d651f465fc629e4228cf0c56bad63a74f1f4146f1e411996199ecc7058ef56eeb9e04803bf6751bb544f79a9414a4e23ec1ad6fc998a64ceb4d6649946980be065aa274434c1244045bf6494c38d41c2527e7bcfefd97b56e02a88714517ce9e8bc09bd95bcfce333d8365af3ae81a7f925a18af9dfc3d66a3de394fb3126d596edbd85e17d9de30e70adc2049df16d73b7ec3a5034cc6e3a909e08dbc863d69cecff8035f49cce01fe284e5f52245f1ef8bb27f46939372c5d4f7cb5089b3bedf3eb7940442994081f6413716e831362acc732e8f0ad1670251a664ce3db8a32f87a172e77df3ad3722b56d0a40da18139a6\nTAG: f64196334f9a8a0ec08819927d2ba1e0796124f4d752f084f1c58725b45930fd2d873c4126c8c9019d95\nTAG_LEN: 32\n\n# DIGEST: ff2a290f638f41038a81fe1e1e9bf3835c0423886d264bc60adbdfc38e7441f1\nKEY: e9ac9f98233b5a7379a561792c0f3116430e8b6ea058c4799eea80abde04ee1de13e937af8f1a6944f44d722271233a825264e977045318c9b66262c0f0368fe\nNONCE: 9d0cb746bbd55813e8d454817c212d3a\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c2\nAD: 7f4372480974454879c41d\nCT: aca825e4559f40de2808ef65930926da912bfe99aec6688bfe17727cf5518ecf004cd88dd52a9a8657924068c7651c64378b763909e06cd3c60fe97c75ea15ec3dcc043588f17ca9cc59b7e85f7fa3bb10bdf28437e9bdc37207c79789033cc97a37bc9fbf31d7084b59a2b47918a9dd331bcb3431cb8a76de859ebced78927ef0d1871674312671dd99aa03a68df7fd62b0d6e3bb96434ddad5361670b38004e1e70e85b4a67912f93f69996c571e0deab051b1ffad32e16b7a5f93092d3f11b32df90de0405eedbcc122f97066e8455e1ac186c37634478e2a1d9ce9b3f17209bfe611ac69efd50ee698f9749d095d36edbe03e7ba5e28dc69a44cbc06bf3e3841400f3ca60bf8032e0d4d09b6d68156ade78a488932a6f44af7394b148e0f5420594ed37eab06f53e1cb266fdd16ce53ad4b012e341f99cfc78d25dec223b30f78b672ccceb034f3f5e0168f5a6287e7d6880ce00f3fb968fc3f101697a126d9e1b39d03bb064bf52ddde36acc2be4e6d753dfa767230f942dcdbed8fe360a9d3e2120459c24274f64761ddeb7934632d900ac60e5f78bbc31c94606173cddf966f86c45d51b69b9bff5fbbf8a7a94baf284713876be230a959347dcc4e1da5a326a78c9c28af0dba48877d0ea0cdcec88cae74ece4ffaa89a9\nTAG: abb6640954263403c1e8aa601023bc08e4e56e0876908ff7c7ba5c5effeadee6b98fe24dde\nTAG_LEN: 32\n\n# DIGEST: 989e0d1b57528f06473357bb0001d552849b928083a8bd2a4642e72be7dd71d6\nKEY: 3b5a7379a561792c0f3116430e8b6ea058c4799eea80abde04ee1de13e937af8f1a6944f44d722271233a825264e977045318c9b66262c0f0368fe9d0cb746bb\nNONCE: d55813e8d454817c212d3a0063be26e0\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c27f43724809\nAD: 74454879c41de9ac9f9823\nCT: 8d0aa9d329e5b0dada9bf8d38ee8a980f7dce1ddc16eb9efd3d41006b2df5d3daba48f09736f75d8abce242dd2911cf80b233530e8d70905e26984b9e392063117f20e92c0cf0f3a7a50c8ee839fd18549ba2db16f724dd3d03a2b8e79877c8b4a213150338e0b1a4e57042886f3982579362fdf5204416bb0edbb8be587a4a2c4ca64ae03cb7306785d2eec45eabee789321ef52b8aadd397aee9acb996da928f5fd2e6f44118a50f0bf044a316f954c45e2b6c17120e873c15cb80eb44d2565609e08644b561219f0c343e1d0b01904db4c69a03a4c00479ccd4f8696579aa601fddc12dc61bc72a40e084df39621e0726b1dab7894c68b4182f3b0ff8c4e0d46bec9744d95e27646904ebfbfa7a8b58de71fece8908a14ddb9157aec0c97327f760519594cf8d0720040e7e27c570dba60febd7e3f289e1f583e721d67ff0d8d5b31e3a51ab68a008abc80febade9cc2023b35a7b001bd5196d9785789b8dc1ffa1fc69c6c10f0eb3eef9e764c1e1a40d26310c567ea8d98cbdd29dbec0df6bcb7b222d4b86941270bebbb0be0535eb15903afb3c5148372e1e616c16f300a6698c983e5eb8fd42dd6816007afe1f42f0d86cdd2ce4cdf0c0ee2fee29ce6cc326f91686e670050ee76b5f6897639d5d30df19e4aa15ae3d0b73d6bad3e870\nTAG: ad95c5e3840e677351b30d88f11a43bd8e30261054a605d54ad1777b82804210c251870d9a6cce9b3dc5b21a7b7b3f77\nTAG_LEN: 32\n\n# DIGEST: a6924d514c1b926c930a9da2091f42787d1e8111ae5ce12a0292e9d25d906c8e\nKEY: 61792c0f3116430e8b6ea058c4799eea80abde04ee1de13e937af8f1a6944f44d722271233a825264e977045318c9b66262c0f0368fe9d0cb746bbd55813e8d4\nNONCE: 54817c212d3a0063be26e0636617781e\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c27f4372480974454879c4\nAD: 1de9ac9f98233b5a7379a5\nCT: f1848c2b876ebd13f307d4a98d2834e994bc7b884b767aaab9e59ea5893a8dfd82d05c3fa9a0a59b8720c29c5ebb01293a30372c05dab5eb3c3d2427915289ab212a882128f584e62e201d10df90bce4202e48511fe41c8f1cf03dd2a843016802b489a10b3b3b0282a684b2162ddb2f9dbb23d0ebdc6820dc87263547eb00a8e54dc9193f3e1c2fdfce901fb36c982865c76b6a49cc2d6132a825c645be6ecc30af67d1b5738f69a4b8e6299440a3c396dcdf70d36079239f5a4f9a7ee28e4765a009324a9091472091864e7773708c1d0610d521a8634e1a6c1505ce79cf8c012caf3d6578782fc374c52dd6b78a5c7fee68ab99872ec8dd4b55858bd48df1ef39d2ef8c6fda201371a41d086946ce3d8daf107cdb5a5aceed9530b40e27a274a31de3688e0bb2fa89b6b3dc8bc5bc146d4fe0b7e565556cb9be1575e7661c43d4f385d571439fd3400841b96723277edea50154b6ae2b93f9040e4c5613690f690f3330fe06b293386de70d3c313985eda63f7f2ea35053b53d9bf8de93703bc5a43930e44a0ea6ac82a102f957ff13a19f42a328e9b5b586433d421b520c55fb6e2f9eaef264931679866a88731d716eb513236b44661b3d186d7273320a6fef5140ec5e6ff32da365ff9d393143a3e4f7e62b9a065313738d437b550cd1694c1b9900\nTAG: 5ffebc8724d29794a04cd2157479f16efc49829ad7b25b7a97b0e216c4092711d833e82d4152bbe1965398\nTAG_LEN: 32\n\n# DIGEST: eac0a728eea929714da1c2a7934747811313b16a918363bd291d7eeeb8082047\nKEY: 16430e8b6ea058c4799eea80abde04ee1de13e937af8f1a6944f44d722271233a825264e977045318c9b66262c0f0368fe9d0cb746bbd55813e8d454817c212d\nNONCE: 3a0063be26e0636617781e8591a6c6a1\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23", "fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c27f4372480974454879c41de9ac9f98\nAD: 233b5a7379a561792c0f31\nCT: 9ce57bbeec62f4bb724c36bc2fc4da15d2f371e09f9de5cd436f99f39ba84a07959c002ec82006a69f5624333abf264dc93ab263d4202e8a078890927212f68fcbc2850dd569498db53b7a8e24921fa186b1575e6150b1785cc649aa6728ad08a57e6eb1aa1eb95635fee0ed3a689b3131c939e4de3aa8ff479784b10fae712c9d94708a8a4095acae2ac4ffe2685a3d1b654aa3a879683c54df1aaf42ae496d911789707c2b7598e418a8bb4b3ce767fa7d9f970691b010b529d770cc3fb9e5dfb840a9c815e09f47a5f8178e91af1ff10c1112c0e7f70cb9d31391dd7e7002a80774d101e18407d514bb28d5cf7db5a7c694c1cca10b447689ecc00aebde49652f8d8d65368a2f2e8039a06d7660c7f0743cb5e3144e3301509c003e803ca47587afc081b58799952cd17a53a891c6530797e288ff8543955c3011ec924024f7e2a1dd539285075783ddd478d4d06e7c20bb2037a5e9ffdfb5359d85a066f0d23aaf762996d97c15f7e42659395b7130945b62f6ed8c31996ecef0c5ce098c0530fed5a012540a3c4f5b1aa821a5c2a3e25c07d61d95de4d124d64cfeedbc8d1925a1d75a01e9e870005156786181e7c606ba058e29374a45f066cdf3f5b4acb607e6e5cc56c95931438f4f8973b7124cc176ed66b83d398b7c7507cfee916818a34c4627560f525a0\nTAG: 87f23cb98be68f9ce0a655e72b55443984e2db06b61f29cbca726534113013f257f403766ddd\nTAG_LEN: 32\n\n# DIGEST: 8ad5314b867b5272f447c02f6666e53ceb37d99aaf1ee5833e3827cd1725b5b7\nKEY: a058c4799eea80abde04ee1de13e937af8f1a6944f44d722271233a825264e977045318c9b66262c0f0368fe9d0cb746bbd55813e8d454817c212d3a0063be26\nNONCE: e0636617781e8591a6c6a196868dee0c\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c27f4372480974454879c41de9ac9f98233b5a7379\nAD: a561792c0f3116430e8b6e\nCT: 02c37207bdef46b95ac29c1f55c4068c5ac406490ed3843c9d507fc562a05bd2e8f6dfa6446b927ee18944d2e6e87521332e0e4d01ec2e1927e89c367e465579b0b7a9b37e32b57d0389e1d313ea25223f4b2d93fda46c87ad9c5fdc180c031df2c43cc53458322ba003c3502cc4eb19ac388e75f2eed8e2d071a678fb9d23a187644ac6e7e1ba36af68225950fda501a403bcb8d54619f4bff98e5b10d68dd74ee86944974d1142b87fec029d34a2e7c35c02b14b17c396f60a07f6a9676430a7745a90a223243bef3fe7ff6b555c40c93aee082f0285837a3abe8afe704b80862f59884e1fb71d3e7906dd33e951d93b6827c787d6c8666d0a56520f9d1bd78620ad0d806d03ce996e5b84e019877a320508ecb30088a09abe023a92b0956ea61020370f8df95c78ab2d136e18877892e7ed1da39a40550f561ba041b5c35bb82631dff76e8f5c4d3cdd2c8b3dd3d49874219ffdd6c9441190d71e2bb52af177a0961c120a68c81bdacc4766d7c0cef8bcaf2cae6906571d3bdc5c332a2bc81528a1529d0158af7e78fea2023f3b69134f54490a7a27cf1a6239e99fddd09d01f11f6d3e11a9a67d4233d9e4f6f26c3e065096276b59904006353edaf40efdf9bb77112c5952ad0bfc8cce42a2e4348b41530dfa12bb993fc19f40766f843d3428f60be569faeafead6a412187b3\nTAG: 2007b01b5ebc9c9b6aa3ca1db3b26e6e3df8db6b41f774220ec075286a7e894dbe\nTAG_LEN: 32\n\n", }; -static const size_t kLen11 = 650606; +static const size_t kLen12 = 650606; -static const char *kData11[] = { +static const char *kData12[] = { "# Generated by\n# go run make_legacy_aead_tests.go -cipher aes256 -mac sha384\n#\n# Note: aead_test's input format splits the ciphertext and tag positions of the\n# sealed input. But these legacy AEADs are MAC-then-encrypt and so the 'TAG' may\n# also include padding. We write the byte length of the MAC to 'TAG_LEN' and\n# include the unencrypted MAC in the 'DIGEST' tag above # each test case.\n# each test case.\n\n# Test with non-minimal padding.\n# DIGEST: 2e661c639db0b3d4e89d27c55e03361e12fab46ed2e8c795f131ead30d185257790e87bcaf3af7fa0399583386f12648\nKEY: 86d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965\nNONCE: aabe477e0cdd46be99371eb8da7dac99\nIN: 936a91d0b5\nAD: d2c0267218cb7090c61713\nCT: f6f8de8547\nTAG: cadb667c8c823a2ff44444bdc80dc7de80e5faffb40880dcf4d20f706109ef1d8fb6bed697545eeb0060e7f680d30dd70e8ecd3135b7e01e895983de56fb0889a4ab0856040dba57e94dcb\nTAG_LEN: 48\nNO_SEAL: 01\n\n# Test with bad padding values.\n# DIGEST: 2e661c639db0b3d4e89d27c55e03361e12fab46ed2e8c795f131ead30d185257790e87bcaf3af7fa0399583386f12648\nKEY: 86d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965\nNONCE: aabe477e0cdd46be99371eb8da7dac99\nIN: 936a91d0b5\nAD: d2c0267218cb7090c61713\nCT: f6f8de8547\nTAG: cadb667c8c823a2ff44444bdc80dc7de80e5faffb40880dcf4d20f706109ef1d8fb6bed697545eeb0060e723a2dc7485b3546d50b6ba7fab863b28\nTAG_LEN: 48\nNO_SEAL: 01\nFAILS: 01\n\n# Test with no padding.\n# DIGEST: 43a413967bf0fc76201e7b4427191338c74b86300fbb5a193e01a1a4c743a36168ec2f52433b8ad4075186e5c7fed1c0\nKEY: f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371e\nNONCE: b8da7dac997deafd64b1fc65de39f4f0\nIN: 936a91d0b5d2c0267218cb7090c61713\nAD: 86d641b87797b684e0fb56\nCT: c90e0c2567341ea7e9d968dbde46ecb4\nTAG: 8b4323f68c2cb1882cff4dd9ed10f49aa406481275509633d33028a0b510a77e780d4297ab8ad09b60445146ce85b21e\nTAG_LEN: 48\nNO_SEAL: 01\nFAILS: 01\n\n# Test with maximal padding (0 mod 128).\n# DIGEST: e0da414882ab12a63e2a2d6a11652cbd8ed8db8c8c25d862c9b760e6692f58c6744e1613a741a49481e0bc357c59e343\nKEY: 905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c\nNONCE: 5f3aacefe61b184ad2463939ed518ce9\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be1\nAD: 12a72933c7b54ed4fad0be\nCT: 4c249d9e3db726a097f647c83121c90d779a31f5dd7c7945b8f3133b11dc94e8bc926a7c522cd78a1574fddd63a0afbc58bc956c8370719f321b511438e6449da18d28a15b5a602553551ab1e9a057983fd1ba0aad005716f10747406fb3726697d50ab5a1fc83e1ffc9a0579022af54530671a90ded71569b8fb4c62607419a\nTAG: ade1d9bcdc913506b8507f69e3914fc26b62110590a2d8963c6950c41958e688c96583aac18c5797083d2956597e5d242fcbe08fb795d92c5af302beb4c1dc00de1bf7953613f8534b7f919503151482e4320b55f46c043b60afde3d754d1957112386e61c0ca1bbda510a76b2ffcbb4785e26d385f2a34cf7204b03be69561ea321c389ffdbacdd40b5ef7be69c49ef547346b7d88be9734120c2be3db817e6f2680b6e92de05efb3d26bb95ef911a62892d858a533a410cda7b366e75943c3b6382a064b7639611b4f643e9b64af54dd93e942ce566984823c25bb8f813e4c18300ed5eb91a174bf7bf98e29941161a0f17c7e5ae30fd0bc8547bb525be66224740a587f16a3b5d0e9de5280e2676c247ed818907b5fd1553e611bbb22c419801857ae3f31b3586dfd01c8c8a0881a\nTAG_LEN: 48\nNO_SEAL: 01\n\n# Test with maximal padding (1 mod 128).\n# DIGEST: 920d7224487e682bff3c7989152cfbfdf747453c05930f9b92c23ad65e4ab47c203765597116dbc5462e1385d15ffd37\nKEY: 5d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f\nNONCE: 3aacefe61b184ad2463939ed518ce97c\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112\nAD: a72933c7b54ed4fad0be90\nCT: a8b0f34da40f7b7f9669e5eee8148fbee9d53a83583043dabd4c11cb01fb74c044ed01878f8a28d49f8a45530f9d4fb7918bbef7eecfb86f1573605e68e87d0ba1b1bc554d863a11f8439d9623ae316285e9440fae8c50c92175ad7d83ac5c0e4cf9856f5857920e981799f0e25669e61a4487febcd0ae165f9117d9ec79725049\nTAG: f6293f1e91d53348c8f02c290e83d1d67a339cc65fe2ca90f2bab29af3f6bbb1767afd77031eac18a4821f7435f959053adead3c4a51f0947c0b41e8ee1c0f264d4dd4699800f3a3e0ea6f4e792cf4dd524c64ead7d9f3fef924b5c309b2528ca486c7435f759fd91163afa34cd558641b42e41a5dfb80f3e88ed6adea18dc196716036bcc126dc45792470fedc6062103e94cfea9ac827362118e8cfcbedf67db51ed403cb26046fa2f5c4953d4092a3a1d96a71eac5098ca06b9b89d1fb41853b4de7f0bb0259aea0f2df05a06ca3eb2ad08788abce7d38ae3d5278554036e21cf4819e8a3fddbf2f1919e9a0aa7d013c8c10012c91ea06c8dd81735fe55b5bce6c251a1feb66cd5d61219df7f799e57134b636de716726ca1c13786827f4d1e5979b168fd15b588bfba195e416f\nTAG_LEN: 48\nNO_SEAL: 01\n\n# Test with maximal padding (2 mod 128).\n# DIGEST: 2f2f9bc024a04218f1863efcd195fb4576836915ee658a38d3da7db7ba2e535e452b309b381ca5105040017b0a4d0b12\nKEY: 41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3a\nNONCE: acefe61b184ad2463939ed518ce97c3f\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a7\nAD: 2933c7b54ed4fad0be905d\nCT: 77b4e444d271670653f04d99105b36886383a2853163a47615b431eb3347fcb7e013392376ca0c7bd2ba68e9b3e9e8513c783df10c1e71650c952c31821db41a509b7163f509f1445ec13f31090fcf566b69f6f1c5330ab588eea6f229025409c4b749edc4e22e1f4612a9dd9df978e685e30d6c27a8f50d7063c73be06ba9e85fc8\nTAG: a15c86236a1519eb952f87295688ae78628bcaf9984c97193aa897609ba6666c3d50c39f7b20d7cd92a672018369aa71196cf8bced2373fb06dc141ade6f867e0373871c684f6c876b9b49e31197edf57e3500d437ff7ccfafc23e4fc3581f07295310341e45fc0fa9efe351faba7360a6d981b123ac68310ba6759fedff004e92d4f6091284bc3bc9edc3e9585d1f5b5d18f1e6dcea6a0806f63c2bee3eb9fbb69960dc050b3b39d151737676ce121842a24c6c36a6897cbc161cd5217e520403677e1aad786505c8307fed2bb4e87dfe869f660d705049b19da3c0a0e49d51551a18f327cf6f457f57d860ffd11d007e32a2ed48628e6956675c2e3c1e50b158fe401864188c12e4c5c874ae435412f2a62ff6f3155474335a40b6f1afb88bfd9b8451e7891dde13b739d2d45d\nTAG_LEN: 48\nNO_SEAL: 01\n\n# Test with maximal padding (3 mod 128).\n# DIGEST: 013f5656642276661f8938885e9023770a997cff7c994c2a607ccdaf86e638dcc740d890203c23c4fb3453f329c6937d\nKEY: 203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aac\nNONCE: efe61b184ad2463939ed518ce97c3fdd\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a729\nAD: 33c7b54ed4fad0be905d41\nCT: 1bc46fc0214a2958091da3c57d9f883f63bc865959e851aab36c328d9087f7f053b97466f2c08c32a9dbd9b6c1a443410ce6d78c63d3dd9c93ce5eb7d9026da4b9be6d5866f99abda5d82032d8db8f2d10ee35e1d045607fcec06a05529c95598f7a024553eefb4bf32662d4852d2aed23911b749f3d19fe7c116bb0863a798eb94504\nTAG: 289f9e94cd28fa6e519325ef0ea9c47d47a8b2afb8ec086dd243e4057d3e9a074e90d67e8ef62e832925a69d535ba2bda326676e8b0a59936f4cd829627098f6b7984afc2f45474c27a287ffc6e91ffacbfaef2ce9946a4bd9306af337e21d03a9d81d83c58caa75d57b1d4d62cec552f96a1dc365c44ebb549c1c670c7f882f6ac12088242553dfe137c55b0558a2de916f6ea80576515a76fa3bac1fd7a2d8d3c0dc0ccdf9e8b5f7f855c478edaa824e7d044336b870042cca2b25b5facd952e4fea10fb4969d5064e7fe3fd6a2fb9f4c3b237a3ba6c9bfbf1339ea20bb9941b8d92dc7f63d34e5da9d6ff4793b493c357573b94e7e09432dc99ddd812", "d740ce95b2dacecd28849f4d9c5d9dcba1f2c8ec5b4178467cc0efafda2ca32d9a086d67840d26ae7a629f2f5877a7\nTAG_LEN: 48\nNO_SEAL: 01\n\n# Test with maximal padding (4 mod 128).\n# DIGEST: 0e1dc79d3d1bbc3220e65cb3383b22228b1d003c2d14de0f6d4551c8157aa1ca9f7f2b59919326a69f50241bb879b28d\nKEY: 3f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacef\nNONCE: e61b184ad2463939ed518ce97c3fdd29\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933\nAD: c7b54ed4fad0be905d4120\nCT: a6fda8e3bc0c1a2cc69ac359d338159b984f31ed1e1f8747bcd7ba473c3d0aa7f0f577d8115e74bc71e077ad5c320f3250a0fd21ff531e09f746f39377e4ad02f34843b5467ed61c839ca899e2b0cfc5e37c5889b934c4ddf9b862ee4f5c9bfa0db31dcfe6622e81a7caeb65a96d5059d6b58f9f440ef473be63192420a6f753ce79ef45\nTAG: ba30b6a295ac73d62fbe71cfd2b83a7c2907dde3a800e334e89477d3ecfd9286a91fc7011dcd6c5ce6d2442bce64735e805f82cf56c7acc0eb429c082651eacf09fd59fafc10899826eed4f68d9cb67ebc5ca558e64875c8bd25d3af9f357a9869ecf4523d7fa5e4846e949850c42a10252d71db0503b7022e524dac1d333ebffda7bd264e711c9d59eff54c1e584a0e1b1444b1b725d7d441cc9889f6e8b393f0d7ca3d000c268415b66047575389d15dd2c1eca0b4af385ea4f426e800a1e5ac539a4b81aa09855b6431c8a4b89f7842aea03162a9c7cb35b3396c6258297e7814f7ffcf8d8602dbd0e5fb0e9aaa0467c680cd9d9bf93b471362f766ebb0ccb9ff959e6095d9c15b3d8377737a28b78610058f26ab050630687de4495ad6f01189a1cd945011e21fbb9b30\nTAG_LEN: 48\nNO_SEAL: 01\n\n# Test with maximal padding (5 mod 128).\n# DIGEST: c32ef0d9579c66bcc4f7e4027cabfa21d7aeb4ae68bcf88ef88ccf6aaae503fe3bf313bf7586b603b321e6b5ae9eec58\nKEY: 5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe6\nNONCE: 1b184ad2463939ed518ce97c3fdd293d\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7\nAD: b54ed4fad0be905d41203f\nCT: 1289661db1fef390402ba70abb2e4b9178007f650e06f4a96f0a80f346d1b525fe4d65fb78b4a358684c04aa21d3be6cae4c6edb70448b046733dbd27e669826e257fc3a129d0d07f6fc48031817d65420d9badf7358b3b7eef8803b8cccbf05047a517541f66e0a182134cc0f24ec77302ab350e7a1a52a4a06cc9b4f235f7fe02ff1bfbf\nTAG: 5444d4aa3eb69bccf9224c22d69460be9deb561392044a3aa8c279053def8f591211d409deb46b1a78f586fbecbbb32fe756162fe0cc33390b85da86a458bc856277d01d8b31895d0607fa34dc6c06ff49ab48a3b7e88e5a6f62df5efbe1fd1456497e41142c3e57b6dde69aa177cb76d5616930f99d2f25632cb301ac5c947a031ee2a9067ab9e81d61ae811d8be121251c7c6cfcf45ed7b0833bfa7c1120432bef0d904f12dfddbcfaf53f4611a0dfefe1bcf8a1b9d57a99d021c0b443af27b9c01180cbfaecee67b13848f8b9787953909dbb893f0e0393cf1a32366f6b3536ef4b17586c3714ed62e210f0a1de2cd77f03f1403305ae975eae1b325f4a0edf2021f1e1dd8698ceab70e91bf5255b0c5c99e8de8702a4874905129c0c0800d68da81184162c0deb152f\nTAG_LEN: 48\nNO_SEAL: 01\n\n# Test with maximal padding (6 mod 128).\n# DIGEST: c7f000a1337dc472ed5cd98b7bc52340b5388ce0e48b81729c2743b98ce2b096b70da9284e31daddf8586c83ce603b8d\nKEY: ce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b\nNONCE: 184ad2463939ed518ce97c3fdd293d72\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b5\nAD: 4ed4fad0be905d41203f5d\nCT: 0f480ed31ef27cb2f1d317cde4541ab855c9f5ff474cbfae88156a9d44b557a1febac105a4b2f70c468431e316d3a72bd51e6044b0e619cb8aa255fb5802ff9f026593b0576c3bbafc0ce1c0721e9e2bdd6cbab1d298f5c48f78e92806eaab2dd7c5975e1adba426c720f20e1cf06615cf54d75abb82be5729797cefabf42047dd800d50a95b\nTAG: feb68cf72e130472bb57d43d251ae0173c414a8baaef07594034cb66959e0fc104c6b54a39bf540b87884b6216ecb9062017418c3a3c8c47987d63761399d0c7e3e907007b4acec1de5fca7026fbe86f2cdb508a99613ba0eb0a56074f15e9c4e85931ded12f5ae3631677713d3ef273e5013177ba4d1488c48d8aa4c97b5d64fde3c3d7405eae4e5fd588aa5fce1fda6ef97022eeb1ab228a29485f37bd9f62815c76f38ab970c86feab605780631930ea7acf4603e145b7486d78dd6d3b369cc64e795984b9f4b87ad63e62d7e548d245c092ea38c3b4e84f78f2d3961383d18d7f3675163286c3b7a8484c43dfdc64339b4a77457ade3fcdb647f9b5164b153a29a588ea3601db2879646c061b66df5a8537992fa7451744c43062d31016e3557f860868bcc540513\nTAG_LEN: 48\nNO_SEAL: 01\n\n# Test with maximal padding (7 mod 128).\n# DIGEST: 20a22396a997be31e1bfc48c6599519cc1362918f955976a90e0c9303a61e95c80af563819337001c9da724f05c1cba3\nKEY: 998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b18\nNONCE: 4ad2463939ed518ce97c3fdd293d72af\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54e\nAD: d4fad0be905d41203f5dce\nCT: f48adc232363a0490e75ff78e4071f299eb70eccefe5e2b93a5e223e2521a266d9b5f9f2d6ee01c1aee3e4b85e71551c8d22535406146d9561eee1ab3b3ddf46cb55cbe4f38d309da8c71a508892f19a86940101e191d0b2fedda544b64f5baff9829554be885553500f09d707357c4cbbc7fe96ecd36a699645d5257f71ce7d0f1defe3a0db65\nTAG: dd2d4910cd800c9837702ff168bc6fcd623f65ba01cdc6424545e12e9936d87979a83200472ab1e18ce60e4e07b15c02526c69f5f64e71100d8663df8dda051794bb0210ad043913511e8a3a60cf4a7fa7b0b57b22769f178c35ef5a951ec7200d13c08cf98ea828ecb1a6259a005fe148845ca5ae5d40311e99d06fc3bc7a522ffd348a4ff91ca0606c643ccf270e6072ab5b954cfaa5e71f9e280b449e24963edfc75c37500294f78a7784167b08c5db3b1489922223508101a312fc1eb5f4f3d68d6f9fe0729a68277e3a4e830450f94178ed81f6a5ebb42818b5ed52ee8d4ee24f6a2ea66939db614bed0054638f8ec44fc7fc9a1653b05a4452b9858b76407c9af1ac2b4ce3b47f734b51c7a100f87f3a1a0c56684fd6609a73776fc2888abcde5a24cfc4b1fe\nTAG_LEN: 48\nNO_SEAL: 01\n\n# Test with maximal padding (8 mod 128).\n# DIGEST: 7fcbcde0c60de1fe6892f76945272c267fca7502a1acd42dfa5315fb5da69395a29144ca273d54e9e7ccb2b01035f233\nKEY: 8f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184a\nNONCE: d2463939ed518ce97c3fdd293d72afc0\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4\nAD: fad0be905d41203f5dce99\nCT: 2d77b3924e76b153521ef2bf93aa42ca89142b0ca2f10bbf395df321f1f0d860914c6880901b58fde174a121ed8c18582dc166542167507a6b00047f15d522b54e0d1a25c5ed36ac9264fa3e1e8fd96de78c99d012699c7fd24d0aeba63f6bcf549e3e7435444d817830d0235f2b52d34a390851f66ffbd386eea48828b71576691944660053464d\nTAG: 35c8ada83304c12f5d3d0f7caacdbdbbe50b6375efbdb64238ae643b74ff6cc3c6315929657fd58364addacda253c0e42395cdf6a1a2a451c6caee947bdcd783625bfc461e49b81e7fa79fdc81b34feeb0a0eed211c67500a668f42fe9d5aee63dd42b7a42f1b76cbeb58cc38ce96ec406f472ce23728ea3c0eb3881f713aef73787f100d434de3da0cafc111ae3d8e84b748b23ebead7016662ba43610301c5b34a12ce0b144728052ce965c7abf58cd83cc112c6ee04ac8825cdcbc2443766f466c34bcd2c7694947f83f1d0371aef02aff0bf6b4504e9ae211f38f307a0d3a8c407f46eb10da8c53aac465e7a65e25c4dfe13148472d9dbee5c60c1ef4eae7ef3e6395f59a772c543e375b7d4287a9651c2d8e26d0def8127c3960159e9c413e43c53fec73e65\nTAG_LEN: 48\nNO_SEAL: 01\n\n# Test with maximal padding (9 mod 128).\n# DIGEST: dd003e935b6429dbce52f9dac780a52562ccd7b621f3a3dbec443a371a6295dd76769ce42f6414c9b12b4ebae8019a18\nKEY: 8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aace", "fe61b184ad2\nNONCE: 463939ed518ce97c3fdd293d72afc09f\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fa\nAD: d0be905d41203f5dce998f\nCT: 61239a68ef268c69afa1f73aec32aceae19915a59fb977f948fce8352f16cd782fee60f9fdcf7b98357b7220a727081344285deb0a4f866e12a9c77791b5cf506fe35fe1d153e928138952c64a4091fe9d337d7b760960261476e338cb18c0c057ca756aafbf62f2c38e5a5faa398e5c5a043f33fc7ca61a633e78b22c007fb7758834807370805bab\nTAG: 9706658cb636004e496b5f20042ba5aad6e2becd4b76258b6a4dcb27887f1b98b93fd2c61771b7f50dea47eacfd1b89f6040d444208d37a29383ab985533f8d65b751a15448990badcd2ba2002704d5e041d651df074ec83091280583313a6ef9bb0cc8056570834aa52b06ba2b205a735295894d144dde4e95883b84599ed97ad99b01fff72244df316a47c7812950fc07ca0daac08925a85de568199c6a12386b75f9b737fc1abd3b3005a267c301976a4ea3bf0105e92799278a0344b82859ab0e5cb13f7965ec0f08093d0f1110d0687bc6d5ac6bc251557bef0b2b18bb4f5ff9c262992025bf31f46c2cff9cfe2196d8081469987446dd8ab9224f8ab6c8c0e626efd1ae005a8b581f4c1ae2c470899424cff4de54ce97c33a68cbeea9eb0882de1840db6\nTAG_LEN: 48\nNO_SEAL: 01\n\n# Test with maximal padding (10 mod 128).\n# DIGEST: eec7cdbbaa8aafd58bc1ec2b3f5719c263a13d42fbab03b10264fc1178e64970e0d1969d503e8daf031ac4118d112400\nKEY: b2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad246\nNONCE: 3939ed518ce97c3fdd293d72afc09ffd\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0\nAD: be905d41203f5dce998f8f\nCT: c80e7d052c8c9b29df147282ec0041a85f51c31a7f9a74523a4a116509eeadaeadb7ae55951f6fc3f854b16f6318c2a5c6426b6431f9693fa9ca186f70ee9aacba7f5afe57dca613fc193c9d3d84f75c11a655a40c3e9cb75c071cac98eaca01c100f4cb787a652b9754edb40027833fd11865757c863351c5d69903a135559f5e62ccebd582349b1624\nTAG: a8d9569582799f87602c08ae3cd56b6a6ac16d7f220977c0dfbbf9ada2e3d6698e93b118e14f71d7828a3527f765f88313b74592435f153bb0cbee013a1592a8e3d60043342c18c327c2ee8f6c4afa76f53d7bd4d98417dacfe958c8d6f357aacc05b3165b9c9f16edfc72767f996fafd2ba47d736ec142d4be750ccc321932775c33b3f4443906c557d0fe9b96567647aad12509066bbf121560f33d123b7b3294238175cd842658c5295e2c892b6c401f13098fda08185b7838ad6b99451e34beb775afc127f8593fc1f70769a1d4cd94bb8a8f2daa58049b045f352b1af0dd1f31afca7c6241f37ab3c865c5cbefefc6f5e5615ba7eb3b6d460140d7c85958a693232d159204ac2c753ca1da3cce6d6b9872edf6863546111671c7cc39ac03dc2290ec157\nTAG_LEN: 48\nNO_SEAL: 01\n\n# Test with maximal padding (11 mod 128).\n# DIGEST: c8cb0897b6e5a7501c7cf297420e9da5b63f56acff75016fa90051b0626c98ce3f6e1a315e161354b488c2a2ad0ba366\nKEY: eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad24639\nNONCE: 39ed518ce97c3fdd293d72afc09ffdd4\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be\nAD: 905d41203f5dce998f8fb2\nCT: 1545bc0aca055503fba91292148a0707f2f6e32c9fa51a432bfd630d7c7d82992e2c5364dddfbb313df2e82b36a05aeb1565607a44217d3a70b425d045e6eba799ff1f2b081108f9895cac6cc1c390b9bbbef4a946ffa535e96267b7f87bd0bca11c519aec7a80d0586ae5d0475ee0ca537e74cdfdb4d9f96a3ff8d23b24cc1aabf83e715896ce7d120d93\nTAG: 20357e2b0ea27f5d118a7a69e21f293f2d12a5615ca40050fdbde6877a04779713ed32e7dcd3080eefb3b78206a7a779f38682a9662af00974183683150bdfbbc72fc3305f1f96d67f8dcea9bffccf1a3629bdb7df9b2af9c355b55ecf05a68d7d4d1e75bd6065786153bf5b83cab2736be6fa5c5599ec7dd873be55bbe752c6565ef5db268f2b9f670c076ced82180e1d7f00602027a7f81a1ffb7a4efe75cffcf06563e5db914a36cba87e5979c3e4da6add4e87529143817cdc3f28cb5b7bac443203c2aa0c575bb328c7471bc5f5a734a77f12f13a605d84640a2fd2bb7ef89988d7a124f631a52f6f6a014c244e425607c45b0e74ff462701e646ced351af0aeef71e69967af384ba12468203b905da111fd39660e09c282d59db4808d015090912cb\nTAG_LEN: 48\nNO_SEAL: 01\n\n# Test with maximal padding (12 mod 128).\n# DIGEST: 95f818eb95b73edf2473f9c8ba94a6db66c085bf46bd9fa44a70705148e60e30688f65818126a70dfd4f3c26d2a20a5e\nKEY: ad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939\nNONCE: ed518ce97c3fdd293d72afc09ffdd4f4\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be90\nAD: 5d41203f5dce998f8fb2ea\nCT: f4cbe7ed67750574ab0716367351b71575476b76987a082de8c92e79861d945779aff8e89905bf3c9ba0bad99b8710fdba8298510063b646b4e1dda6ab11890e6cb30350d110c46f954f3bde6738828d339c6380b5008ae314ff09ba49dfaffce583400765a52af8970ca0e542b963219c0cf6c0d627b68df25ae47e1d81df1d26d670410d41a87b9a8e6790\nTAG: 0c9a3e5bbeb14b0645b8990d824180606057e1953ee69b74091ff3da651879021d1b830040a7efc05623d7b0ff1560819455be5cc6f0a097578e55c8354b298eeedf2a3f670552198feb2ad5d742435b2ed6f76e9fffc69fecf596c33cbdbf8b4294d4a66be7d2e47de8f43f2861703fd51810bdf1cd2b3d7d324c9ff219dc85c1b70fe41403838f1555556017efb4bd0b090ad841e2b0cdb60c9ca6e7420630ca033fe7ddfb57a1213fcc7a3bb41918a8b60e1ece0190acf3227dad7735fff14715f2756a6ec0ab6fb8db6a6a8cc5bfffa0d80b13f0a7777b86186d7be845baaa7306089affec15d5ee42011e84cf441d93cd20cafd0f23a0c0b1b675f0757c5d4f72ddb1df01c7644bbb53bc5041db63bab067de5b25272a52d1ce0f472504b650b26f\nTAG_LEN: 48\nNO_SEAL: 01\n\n# Test with maximal padding (13 mod 128).\n# DIGEST: d958cc86261d3367dfacb874a49bb2fc87e01e834279fee67a8f469a6d400520acdc17803a7bc8c1cdaa72e7fd8e8c6e\nKEY: 409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed\nNONCE: 518ce97c3fdd293d72afc09ffdd4f419\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d\nAD: 41203f5dce998f8fb2eaad\nCT: fb03d97f254e965546ab119a07be5ef4bf5027ef03f07c703c0be652bdf96957c36a0b5f3b283a8e23b9cca14d0df06cb6adbefe252360da3cdaa6acba162468ca3dae01f881bf47e962e9ed6bf23cbc921e067e6b0f3248fae15b43018e3584d1a81a6d9048b33774167e387e3fdc32a9814684c8bcd6dc06439a5ab8076eaf6bf57deb446f9aecdaac75ab76\nTAG: 4bc5dae86f239c99790cf3d913f0cb2edbe9fcac0a992c1c58f3407cc2de3e34728d5a0d10dfe595bc662ff3acc56498e293904e5ef14bf587ef1ca49fab3a577ab442799ef67ed986a627308b8b0670d9ec2a0f395fa2d0811f61b83a189daa953b9972de4df10d124c9044cbf3c13cad0a349825c809a9e6bb4170aea4680ec1398144b2e62c2b88d2f80c22a791d03bacf300de54279a9df6bf2daa9f819b1af43c57e7a0e010fd28198ba3ba3bdaa17f66f7d02a8c91fdce893abf56b7bdf32025f8642149fca74ac94632f7beae30858ccedcff15bbf2bff19da8789816f8b409918d47e85065f02a61aceef6bc7d52accbec115813fa3535806bd85237037c3988a37bbb0e713519091ec3634599c4ce19dfbcd7f87a7b2cb764c000e1b2d5f8\nTAG_LEN: 48\nNO_SEAL: 01\n\n# Test with maximal padding (14 mod 128).\n# DIGEST: d5c9dc28df5cec36b17c2cb928eba4ccd15c1a8e65f9576137ba53673a0e286a4016c4953cf1cd5b05b3e53989a7a1c1\nKEY: 9ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed51\nNONCE: 8ce97c3fdd293d72afc09ffdd4f41963\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41\nAD: 203f5dce998f8fb2eaad40", @@ -620,16 +700,16 @@ static const char *kData11[] = { "5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c2\nAD: 7f4372480974454879c41d\nCT: 2b71c8e3167dc7f9af0b0262a21fb3a0c96e4d718746e696727ea6ad66f7025da2068763234fc0145f4bfd1fd72823a561765b7deb09d94e450a7900d9bbc043fc357b4b0b7a3c58c9296ddf24cdb1e512f21c7a985149ecd8ced6c37b8e978478e375493c6d4d8a6370200364bd475bf3ea057c027f0fdc943eb995437420672ac97605c32646aef8a041b24c7161c8d9442630e4969f03ff0496f76df605d074de57c2fcd0148b3775e17f33a732b6b98ddc859aeffee95be88d82394e1f1afefdc8495c24dabf73b8c6c6cbcac255bc72269778bade183be2fba30b7689ed9517fa5defaf515826ee20144f870efff3d78d34c66c61a87f1b0d9376fc0da7bd0cfdcb7393d36d1c4bfa21840cd06aa097655ae5aa2902c6ffed0cb1065d24664e5cc28188bb72f0a056a6ab451e6a6eb030533a9111c3744a4845807c7282e85a24daa3a06943e8bf0471328025995fa15ec0164810405bee5175211bce9fe27d321e4536dd3d6e15469ff370d1c400f29bae50441c085ce78f91fcab367c15a0b9e3b01f741b067709e684d607154875f34f4bdf03fb29ead4687310349b1501b3afeea224bbb95a26c25622e40e244214af2bbf3907905ecd88f46c89a5061f27b19adbc6c788fbc9ccaf9fa6ffb101c4dc2c06efb3cab8f0\nTAG: 04126d789d9b5d62a77353e22bdd46652a8619c7b3001789a7ef746fe37afaf8a509c1662da515b4a8c4e8292e1e07e977ded352f9\nTAG_LEN: 48\n\n# DIGEST: 9e5fa1cdd02e7db7705cfe6107db39192c778c1ec2f6c58116e4159394858791effea9245bf0ddb0c6982cf91df5d9b2\nKEY: 3b5a7379a561792c0f3116430e8b6ea058c4799eea80abde04ee1de13e937af8f1a6944f44d722271233a825264e977045318c9b66262c0f0368fe9d0cb746bbd55813e8d454817c212d3a0063be26e0\nNONCE: 636617781e8591a6c6a196868dee0c1c\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c27f43724809\nAD: 74454879c41de9ac9f9823\nCT: f29d253023b7c21c9ba097e4110101081b3d6af8d9d3b785c4c3a0e47a152cf7eecb33b5717e7f0a7d78c447aab987a70bc9c972f6b7cb4f43e8ca5001870cd306df554c70b3c327215634ad992c6d5b33f759a22123b4e376132656f9913b3b87bcac24fad0f123dfbf546ee71292c282c1c4bb21b6f4d6a56dda5d8968da822c2f6e45e7cb9284bb6f84eb64fa50d418104e966f488828cbd6f312f05c188b68b8aa824d7df75b4a2edfff1d67c0c6fe708dcae42ce7f1e11164e5ada8babfdb81f3ec54a8735ecac4afa54360b2fe766c7a7a1a4e037d77e5d4e5017399282ed1fcb8cb1b234f9565261449b32edbdbf01208cf573512cbd8155af6e00c4ffa98e2f4dd3acbecc132f92226db83fdc28f6532b143a8c25625b759a50b27aeef92bf840b77aba3103aef102b4750c752ca422ff6654ede8341306fb7a1d4251e753bf19d26a8637287634c2ca6baca7d3fe0edf5fc913808976006391f9f16657958374e2e0715b28e1bb1446845674c88c24f369969de33fad62118e24be11f8db058b27aa15bdde4e3ff803ba4a264eada9d69f3157551b4f2a728f223dd986708c9f9763fc2d02101a40a0648b1c211f48c0d720645fd18beb6137b2a7cd0ff20a445e99d66a872c3714e52a553d2e66ae3033778ed2837b3dc540b50b7\nTAG: 0e2608bc3483bf8e9db8a2abbe288655e130f0459c4dfde80d3ca84b598695e2e678735157258dc238b6457f5e464473352e019cb4bac880e72332581d5aca03\nTAG_LEN: 48\n\n# DIGEST: 703473db66fec69eb1310c49e13b6a10777d97c5239fdd4a32449f2b5c32bdf1d08dddeaedc0251cc0bfb87da2030de6\nKEY: 61792c0f3116430e8b6ea058c4799eea80abde04ee1de13e937af8f1a6944f44d722271233a825264e977045318c9b66262c0f0368fe9d0cb746bbd55813e8d454817c212d3a0063be26e0636617781e\nNONCE: 8591a6c6a196868dee0c1c0781065055\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c27f4372480974454879c4\nAD: 1de9ac9f98233b5a7379a5\nCT: 74683b4d9443a715d1783e37f9f33d37c8c7d47d628204abaa590cf604ff88070045f76f8027875c1ad708b601200fc8f181757f8270a2d146b22a388c015de42b2b271d754ef89b6e4c3ab1244ad81d9978bb9f43bb0fd99ed601ea0c14ed1127bda4b0960c500663bc4f34ee9d1ff105f857934fb04793a22208a51f13905410538ee56df3111e6a55776582a6c927b95c2b6e3c1a91355fbba474046a26a6480138be5dcee13215edb98ee28b75ce567ccf5de3d8767078d1f9f755cbd0d19911cfa6b2a6fa97636c9984f2e4b86276a860e49ed2a1ce47fa5572d80b384c37c091698778a52c6e1c87ac73f26443803ba2945f8ebf35f3ab9f2f0136869f6acae5eea4ebacc674679a2c58858452ae86e064242183cff9306a3874925af99fbc4b919cd5f949c692a83786d9d4063a10598acfe0fedc863330b45a4a2d9eaee3a2ed8fdcc848feb6008f14f88e6e110c9f2491a83f6e216ac034dc1319d63739df19b5607001195ed45feb35dbb47ea38cba7a5051db17119631a40cc99f7f956e4b9adf05ff111faad50e5ca78167ba37dda6019e3786b042aa57d328f639e12b782743d0f94a45a4ecabb72fce616c416ee77d8031542a4e59638696c71640e09717fe9ee248097c27c86fee64806624d9540990410dac0cbd06330568bbcc303d10\nTAG: 70a48c36b93a775550a2cbb4789c75916cdf2df8a1ad1095e327f46e91a05b4ca26e01fe51a51af3a5d73f2b653e76eef70a3ca290b1482f3279c7\nTAG_LEN: 48\n\n# DIGEST: e96830967214251621bbf449099c3333ce8b37d4417d13943955d1d56ce43fab845de9e38405f6cc4fba07b8f238f80c\nKEY: 16430e8b6ea058c4799eea80abde04ee1de13e937af8f1a6944f44d722271233a825264e977045318c9b66262c0f0368fe9d0cb746bbd55813e8d454817c212d3a0063be26e0636617781e8591a6c6a1\nNONCE: 96868dee0c1c07810650555861d449dd\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c27f4372480974454879c41de9ac9f98\nAD: 233b5a7379a561792c0f31\nCT: 57878ab87bdc04e3c96214d485d14caa3f65c7d0b7ce5a03b7ab53ee501e21b91d227423dcb5a8f4629c01561bb17ba56d433ae648f2886ec087b", "9f6a2beff3a079ee25809a12534bfb65e94e0c2f7ff74497db708219840266102371609564e7dbc476bcd1d00866bef78a7f96843478760c2ae7338f789e73a2bb8b1a3e604b6c38cc0134bcfda72da30c5de221390099396709ced02a0312e6f86d29852878a6cb1fcf966d62b72d2099bd22007dcb1d42a8903bd70b5ca5610a8a4112837474963d1e6ce105b8c58e548e553b60ab5e1bbb9f1df31f4518b40bc6d69078a62013bbd78c9786881c4c53a75a710787d15a9ff0a4f0bd355cabc7df781702fbe124232331e0d0260f9810190245e346ab086ee986c7c9c0c84a1d531fa6900aaefd0a8b9b9c0e0372751f6d23cfe9f98294fa114da2f52409bd6ed73069f0dabbc7571ec10161cf07f1fa60c2901a05fefb88632e3e88b62a799b80ad6ed506c3442f064712dbebe893ff034620c0fce4a2d89b3a101c6652cdd46cf98073f7de3e1c3efa8211a9ec8ef7273ed0e1333eda03b8a3c57381175dc7495ca799b419f72169534dc8995fb0f63d396f5c5bbfd86f9e1822fe8590b24ccb11f7b66ff5c515bc7e9654238dfdaa70bdd6b7236954914dd332886ef2840c5aaace8c39968ad277303d78cbe2f\nTAG: 7e02b3d7d2f5af4901d32845aa5d64289a40ca03a2235c8801c7d4adb18a8c3a4e84af83c2842e973483d5cff6a1a6050aff512cc7b9\nTAG_LEN: 48\n\n# DIGEST: 5e69338cb47e83dc76efcd3d20ebb4a9c9e8288b709c554a39f344dfdc691b58fe2234ec740167f6976d1e9f2775cca6\nKEY: a058c4799eea80abde04ee1de13e937af8f1a6944f44d722271233a825264e977045318c9b66262c0f0368fe9d0cb746bbd55813e8d454817c212d3a0063be26e0636617781e8591a6c6a196868dee0c\nNONCE: 1c07810650555861d449dd43726a4e03\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c27f4372480974454879c41de9ac9f98233b5a7379\nAD: a561792c0f3116430e8b6e\nCT: 7082642b0cc17e3ef8cadb87d81d3e973dd92e18a45e72833b34e6c4a2d24a77a1048b96e6c19a82732eb355438d577ef8e33ac646d374d99ad15c633bfccbea5e31ca27aff9e1e9b335708bbd62e3ceb7db34178a9111fc2a395957fde085b7c17645d7a473326919e7c24206a332ed8db0ac372aba510c72f1e3d480197b6811fe9bdaaad328bea365a8e732911be04a7e4bf8adb9f7d2d2e2b436287b5a5eee1dc11f43b7e12d83f83c1d928d1ace7c625abdb704745c4e2d5575aa4f0eface8bddb22c9db6aa9a32f5fe879b8210ee78c09c0be83e039ca7d64bef8dadf89bb966966e0306fc138a57d6a3f208e987c643d80b2bdb8a71eaf8b2e8ca33eadd49e422c99dafe511fbdcbfaa39aa6170d57d1107f9ccc80caee2bf0b3d3928628694e3d42b49d69c02c13685a2175493771fcf93704b95b621b491f4cd3231c1736a5abcc41d0b20722c21b23c4631a0e13134c36be19bd8a8ddcac189518facf810688cf69b28d9548621357ad635b40c253a1af855b896395db2e5ffa2f1388b3860dd5997ab42e329c6beb926db93899a7daec7b408a86f848d7db34374fcfac9fe8a875622947fa067954b47946dff7d042bbde8e64fe5e3bf894bd632a80c63581c26935abf19a944989568511983c6e3839a0f4f5c521671da973f756da87e146a3db56314254d95172f19\nTAG: 640c5cc64d87084321fc1707667d2c39e6186e9690aa90bc2ba26007fbac8878ac9f769b29375119c5d6cac500eba86cab\nTAG_LEN: 48\n\n", }; -static const size_t kLen12 = 23568; +static const size_t kLen13 = 23568; -static const char *kData12[] = { +static const char *kData13[] = { "KEY: a5060fecb0a738d8ff6dd50009a757c6e58db73228534d03f32c26baa1c209f402c3e03a6947c1d9421d63ce43f6df26d30ce783f5ed0d6b88edd389d9f92d8d\nNONCE: b52227e92203630a79ec7f5c\nIN: \nAD: \nCT: \nTAG: e61a28f5df7061b4236834d2034d2b62cb63c660b7de696c26b345e66b34d222\n\nKEY: d676047046bd5be9263ae39caaa0f688abb1bc67c083658894da6aeeff80b6d58ffc7ca1a1c88f49e629bf5544b2cc7669367202b158fce83fc4a4826dd90a7c\nNONCE: eabef87a00fd99ebb6ed6d25\nIN: \nAD: 83\nCT: \nTAG: 473cf728899cd5fdd54f18d6f934c3901f7ca118fc5ab2cbb837feefa7852a67\n\nKEY: 5eaef3b8e068fbb652bd37df4dfad6490095642cd49761a35476dffc2b5b5f75236d0351d96a9028660788893323a777ea8a2ac88bb5e500b334af02b1c2a648\nNONCE: 34d049342b9db5ffa039eac0\nIN: \nAD: 7578949699d44dec9188a7f7e14b0a23637cddb9107dbb1f8e2a968aad0443356d7eeceff4316ba7b2e8fe\nCT: \nTAG: 4d2612c21357638bada9290d2a272f10fb5f070337bf87bae396a1e7253633ae\n\nKEY: eb7b3d7eeb5f26010915a36837dc83da2bad07eba714566584bf1ce62fa9b61210b0ead7182bc28c8f0427699bf04786583fa32f3c3a8a6582cdc254930043bc\nNONCE: 3bee5ebcdfc72f4ab0023211\nIN: \nAD: efecb57e79a326c6b2ce0ae74d7656992a005fbb8da5a55b9595fc5348a5489ee2e69541ec0e8a727a560625\nCT: \nTAG: f457db1e274adabe5fc898fb1eb7c4a5a8e9a2b66f964d0958aa058c1f9e15ba\n\nKEY: 1c1abffa8a2667a8c1ab347860528162d316d58e3966050dc140fd360e6ff7c557520a8982aae97c5db5495d8951eaa485e1cac4cd8f448a13d071d759885474\nNONCE: 4fdce4e59bfdf5d9b57c78e9\nIN: \nAD: 55125cefc919379b3b4b2a24ee1794f44ac66fd99b8b68f98d4abd45ba50a5b76e5375d08abe3b8b8d3c576bc8\nCT: \nTAG: c021d2c73737e54ac6e7f61f9bb44818e5bdbf8d81d43842fd25a535790fafba\n\nKEY: 366cf53bc185473acf62610b74231e53aace84e9c5d6fbf71fc24db4f42956065d3eec01ecc72a6c89266565ff530075f4532c860e3192e866b41aee98c5c42a\nNONCE: 9ff54bd7b10f4fdfd8db76c7\nIN: \nAD: 853ef59ae873bf0bfe1465e9dd8c2cddfcf123d213ba4f599d984e4ea69d3c85a23508ec7941ca740a9157ca2a788e9b519291240b307d6c5a8c6860a96b4be698659d19e31ab0ac7ae6ba31dcd609c1db67ad580fe4422e42d368c3e93a56f2a087b0d587188462310c2ebe58ecfcf7178412223808eeb2eda76446168730fe\nCT: \nTAG: 12d869dc4bd4ac4ce9ed643cccda9e11a1ade65c76f7c1535fa4ec2bcc5eb4c3\n\nKEY: 147b41369bed390f0a9561586fd975474e3b3bbf7f7ebb7a35e5cc43b516c044dce93e154ac790a109709ac5299bb17b709a913d33fd57ebfef2b48ed66393b3\nNONCE: 85b81732d2863b41d2551763\nIN: 73\nAD: \nCT: bc\nTAG: 47fd81f6eed8d3c66afe06d788ffe40717847785f4b4c617d75a11171690a60c\n\nKEY: 9bf35c1194659c1da634eab6707c55b853c8f61d087187162e926adbae02f8bd4d15bae5b05865d0e2236d64715fc39f32e4e3679a0309396c37eab13d1c637b\nNONCE: 8da14a98ee741a5fce0de732\nIN: 10\nAD: 8e\nCT: 17\nTAG: b76af41002a946af4947f98f42a873b7da0871f482990a70bda8f005274ca179\n\nKEY: 0befac10caec674c9f23676d121f065dbcc8c91852dd5eb4e80c41076995a2138077592fec665954d21fd6787234d32d3d54bf9c220cf2bf018b374bde29926e\nNONCE: a96bfb49f3a136840a0e32ff\nIN: 59\nAD: 236adab55e1bb8a8db384c01bb2afd30ff35da71f955fb217b8305a45ee075e7f8d863d4c0e5dbe36e297c\nCT: ac\nTAG: 7bb634357e0835b02a0642352a834ff6598c2ded1af8e8ab60b9ef0641fe863d\n\nKEY: acc672aecf6f10119ee77070abbc2b4fade7e910efd1f93a5716161f88606469a49df05b40332b390d3ac289abfdf6bf7c37c033b1671082922d939139de0d42\nNONCE: af0f57b55f1a73794b3ce5cc\nIN: ee\nAD: f385a50ef027e532635878a4df0deb23369774be47c42f17cbd44925b668f628338ea5f8256c5ad8219c13cf\nCT: 71\nTAG: 13a5296075ef23216c2f2e83b940d24e8e1e6a01967af96599360f11499ac0a6\n\nKEY: 6195ef5ce3ee01188c48b04ce7a28b3ddd04b78711a6d1233121fc8ec3db3a7a0e496d1b6a416675b1e666b9a3df167efb8ade29e4f22fc77111f32ba8bd1ec2\nNONCE: 092070b2f8b65fcfe646f6bc\nIN: 26\nAD: 98526dba4437d88f657c0b7ce2a2be44ef4951711a40747a7d14b195e4c0eae97247256bba7dbd93d6a8f738c1\nCT: 83\nTAG: b6aad3f91a26a38245031d6a7eb97be0d386939d4536b2a27c90a2ddb891de73\n\nKEY: 40335487f9958dfc00b76ff06dfec162ae5c6be4e26918bd12e3f21760cb0bd364521a11f5bfae11dee989627525ab5295ee404bce476c280d13d238dea1bd40\nNONCE: ecf77c7c827a34efd8cdf79d\nIN: 34\nAD: f6e661254bf235c7d5b8ee330cb754087480dec5fe4c31dee65d1ab4479642101404bb563522937fb2e41d3aa8a4d269a222e6e0bcfd07ec4b29c1185f99fff7cb5bd2ca8c5b38742270e586c8db19138b446833f2ee07a11dae5b6a1a4c28657f3380e84bffe1bafeccad57d9cfea3da7f728119ec5bb18b79e002954f4379c\nCT: 5c\nTAG: f3420d4cecae2c1ad79d977abbe408045bd87525c0da2b93e0af3e6c53ba7d74\n\nKEY: bf32ef44c7ca9851f397e70df736d7e0e6243cfd875ebb81d76ad7612dbcfd084cab6b0d67c6a6e8b567c93fd0c3abb78ae121fdb3051a62ccfa045692d3453c\nNONCE: 46e0cc64d6e431c1efc2bd2d\nIN: 959348a8ad6912d7d6c8eae52f19b1\nAD: \nCT: 55e8cb6fd958f18b3c19451c5c79a7\nTAG: af09194071cb0ed4488d27e79700f938ce77386e5d772f9853b17b719f2b1ebc\n\nKEY: a6b5b8b051edf5cea0353ead88ea887fab048ef32f8303275e93d8f926da0d4b0e34b9447cf44fa70c24c9ab964380065398336bbb20be167fc6cd5e591ef50e\nNONCE: 371363612c4675a2e59ebd39\nIN: 443d16621b0cf9a12552216f9558ca\nAD: 32\nCT: b7f432eeda8e4b8a25f0445f17ca7c\nTAG: 649934922826febab4d59dfb52a7558e6d30d56e273602b98f3c55fd8e24f4da\n\nKEY: 075b75434269a3fcc57922ee8cc55b5bbe1b90516a3b71838ade73d41ed1d1f33ae1e0e86f88f6ed7e091cae3ccb05144b3ef239831554d6e79ff97c4d8f150e\nNONCE: 754d5c4ccbfb291133859de3\nIN: 62a151add825077c59459fbf82b708\nAD: c8db27487de71124a95eb6359270a8363908159200333b46ee74e2709b308878779686bd43c24e9ecabfc3\nCT: 2ffb9a9f65c9fe3daad13768ab56bf\nTAG: 4430a90fed7d4b5b2adf5a60d6854956be4feef497781ac7d864a04259e99516\n\nKEY: e787fdeca1095f2f2760a1c5e0f302e07d6b08de39ce31fe6a0db2f76e4626eb0968768ae04d37082c114573c307699707630b8c7ceef60abe3b7831d2adcd6e\nNONCE: 9dc9bcfe8b4e2ea059e349bb\nIN: 3ad57105144e544f95b82d485f80bb\nAD: 96bce5dcaf4a90f6638a7e30cfd840a1e8dbc60cb70ab9592803f8799f909cafe71a83c2d884e1e289cc61e7\nCT: e504109cdbf57b0e8a87080379e00d\nTAG: 1798a64b5261761ecd88f36eaf7f86ed3db62100aed20dc6e337bc93c459487e\n\nKEY: b43ab650bdd201cf05e0436afe89ac54867383f04c5ed2faea5db8e6784c720d905234f1f5443c550ca14edd8d697fa2d9e288aa58c9a337b30e6d41cfa56545\nNONCE: 4e3dd3efe527902b9de45a5f\nIN: e386663e249b241fb8249cfec33ac2\nAD: 3cf7a396e1bd034ea77a54ffca789f206f94263d90d98bf3e69cb42205fc5c95cfbd0481b0ec490ea447299159\nCT: 94aacf00092723e778d25ba78e9d27\nTAG: bd5fcf90b9532e7abfa858aed90d5170f08edcdd28ff2c673e0ab45b8c0a0f39\n\nKEY: b22a7c5bb38715025cd59cc0feed9ad8e51101200000168052b294fb1ead545a517dee636a7acd22b8283afb33d30adbe02c1c8557715eea7147f3d98a97cbb9\nNONCE: 3b4244c9ad9fedd3f10fdf7a\nIN: da79e1ed131856cec3250fde7bda4b\nAD: 4b77472ade3f06500169405b86a793d63cfa58f57bde0dd706f369b391142c2fa8a3e6345ccf0a9c29b2182f578e22f55c576f155a05be5e81997fbe06410034ecddd871e5ed94b5eeffc6dbd90a8e66449da01f8ef47d28a4a4bd253ffc427f868867c73b5c709b01732bd8035b1a23ff0a903def1eb136fc90d8b3c8279769\nCT: 5d8ad7abc047bfdf9d9cd0b0aaa53e\nTAG: 41d050d518d0e51ce16bc2920aa6c76eb8eabd4ed76373c59618c6354885f47a\n\nKEY: 04b3fd8126d65f851f47b3dea22cd6e32506f21effaa3e29820ac7825e01b51c5a2816f0298154f2d8addefa2fdc34c0635d4d6b80ad23eb320c4d4f2aa1de1c\nNONCE: fae1b1da40471dbdcec64d4e\nIN: 509f116ef7435b0640cf141d5b958aaf\nAD: \nCT: ecf553eba80e6dd1fae2eab24d772a89\nTAG: 11473566e80cff5d7421f65949c34301f34de378e91ad50928cf2caeadc466d4\n\nKEY: 413d154dadc7d8869e9e0f24b3320019a04b7a37620dd9e7aa40b5c08d70dea03c12ccf7faad7009e972680e81544b647650c6ff033f56e5bcdac9a35bd7f804\nNONCE: 6a4404adae3f4a7bd2bef95c\nIN: 3539fe02b75981fad4f8762772b3c11f\nAD: eb\nCT: 3f8a96905609a4ef1a95fdb87337503d\nTAG: 8ee076fd624d90e1f6336a92165e80408ca6f0e165b201547d351177c95e8d51\n\nKEY: ddc10df673e720c00f28fdfb69f1b8fba99696f23b6f29704a0114444cc0c8a6c8606e8d37fa95aabfd65b29c655678fcec50966c8758a3fb15332a1854a8eac\nNONCE: 06331613842b4af86c13f8a2\nIN: 55d74bcfc3d1cfc716c6e6b7153c6369\nAD: acc264344ae79959f9dd5130664273ba6f345c3fc7bc33c6c1ce33312bfbd5f181a3c7a24f15e7acf72ccf\nCT: 20650d9e846eb42854692d438b21d5e8\nTAG: 973857523e7ff600cf9bcfcc98403b34ab38d939a6d76716beac42678ca5f5bd\n\nKEY: be0c884db54cf761fc24ff3dd572362910dedacece5e1d93a916df277f923f78e7dcd908e60beb0043503c5b4877a9d962a7de37cacc7387a7553949b52894ec\nNONCE: 3f027a93e2716668c7634195\nIN: 1ba8f3a87ac6738167aac1491b602ddd\nAD: d06dd1b9360a68afa3de5d239b6d91d212c5c555567545a4f133bf5a3b0f26addb9379e1cc1cd690cd427c57\nCT: 3596cc50ae72db932dd83bbc8661641d\nTAG: 44a1834b1587d0f88e34137dcebbca059dfb8f65ddab18f338a8a30152167be0\n\nKEY: 2ee848726730c64332877a4f88ad7fb241a73b71fbee8eeb4d9d6485855ea32b487e03968e1a7b9e8ac8ab7fbd84257efbce0aa207aeefa67302d5847e0d9c05\nNONCE: 526b0a79b6359d133ad51011\nIN: a0c0477e8a9ebfd275b674ed33230d42\nAD: ded2f0f3f28aea28b17aa58d4b906c6a9b3078f97ffe95b7e161b0c3dbf", "66879bea7603a046da4945c802ac8b3\nCT: b1691c8275f12f7d9af85e71dde9dd5d\nTAG: 65a5742dcbc49295c4805387e0a15f986ae47e51add9389dfabb6468a6e83013\n\nKEY: f4a7c0e29ff510c034778e47bb30a468a92140a707936d381b1554d421af107c578e74c53ea08c7f7d93cf67612061359ae458408a9c79250f776ca4192016c0\nNONCE: 025bc10dc99346c4d0766a7d\nIN: d449a2e812429beb5c466d344f5b5eec\nAD: 304dbf9a59bfd33b777d8dec9dddce4c365e72aed851210eb964c1da18119bd13248266a67408e88ac2eadfc54def0fb57f23743d376b11293377565d253d2bffe0309f2946cb78d4e9536dde4691fe1eef9ce2dc916a773d06b42fe2b014e7974d4aeffce25a0902c9b44265e5d6d26809b5f24875e80cc13f1f8872b04a237\nCT: f366e7b66683f52586e1c363c15b7fb1\nTAG: e0e1bb733471f150ddce1b83f3fc2d88589d286ca052574b7f0735bb598362d2\n\nKEY: eb78ea626b219e12937057155884547cb7578718f569dc8f2b370c0fea80e7f0d0f5cb590f0b7341d20c775bcd6a3c818e23b6cea949cf99eb94a23a81cd2249\nNONCE: 75a10f16d429b809cf12b9ef\nIN: 6b0203316e8108ff01b12df91ba6644382\nAD: \nCT: 7ee07054f76471115be159259340c24391\nTAG: ab970669d1603767d588a93cf215673ad307244f9179f46fca56e97f64a5fbac\n\nKEY: 3221167926be262b7bd0591f56be6bf030365d45ab84a93a94ea41a5e07735b17245ad43787e8791e7ceaa0472b562ed17e3b609c66c868c9b08304c8bb328b1\nNONCE: a94d8417d2bb0323bcfd354d\nIN: cec81bac7b85c441b6261163d67921eb49\nAD: dd\nCT: ddd8860fa9e2e8087db30c9da1ec9f9487\nTAG: 26a3b9bc4d4cd802cc22e7647a19fc2a5092293c9f5b1c84bdab7245a6d8f4ab\n\nKEY: 4b16e2d62294f76cd2a6c8e0928279d9de40f0b169ef9465738cbfa064c520128ee89cf657da27e4e532d8c4709d992970bfc9daab2f31b3a67e53200d3d6710\nNONCE: e746d498b9031007332447f7\nIN: 16841e3fc1f53990d33f7ba525dab121a0\nAD: a785917bc9f3aaadfd170abe83bb30c0c5d595fc8b491d983131aeab1a7b8d8771f1a963c251976152dd63\nCT: 6bcf5eac15ef74cb8a706856f62eb5e8c7\nTAG: 9dc84b06e8ec8921be4bc7762e8cebb61a95ac5660022520f9438e8f77b45796\n\nKEY: ff2f5944111226df1d9a300533d3e871694fe15a418b2090265cd8c0111b249dfb7ee86bd9228f7ea5d89d8afcf10bf69942ee4c29bfa8409b63c00c2213629e\nNONCE: 477060f0c61555873bbeb225\nIN: f091891c43e2374c2755a88a11b04beb4a\nAD: f1323fd1ac4de9719dc5966dae45dd7b8ddbee3f8da4f4f4d5f25d06bdb8ebf57328dde76d0bdb9bdc5f6b12\nCT: e0d96f6f3ed0493a289d4c3b79238b9ed6\nTAG: 71276c05b52bab0063108dbf4e8ff57cf3e15079055a309d725f14bb86671ce1\n\nKEY: 1ce841bcf2ad8accc458a2d94774c3aa53a99e7dbec587376212101303ca2b42272a23fe28514be190b82e503e7772a3713800f4360fdb767e85ea5e1f7b8eca\nNONCE: a2f8afc5ceb5382882907630\nIN: 620fece1e843d1d0b5c5a541a6f615a81d\nAD: ded910647464d0fbb0a5d93ffb9839de3360c675179c5991ad3470285d79071436025111153628c563ad1b595e\nCT: 34431c3422e009373c50f3ee6c5b3fcc2d\nTAG: 6e4e8a3967307f47e233a36ce05a4826a698fada2ac19543bab7c9ac4f79451b\n\nKEY: 6bafd28a32690851fda667eb2d3c5993f13df52b2e97630527f26c498fd5019f26177a78f27c0c41616d2a4a73757fcaf9cd92a7da8498f90315d41e7479d90a\nNONCE: 75166c506c8e1d10da4da8b9\nIN: 697bea4d6eed5e6ed243cf01cc79bfd3a5\nAD: c0fa663961c3f7e09a8c7bc73e252a232977dd6c9483f02067b34fe695f341d05338ea2002952439ce08295ee5c12f38dafffeb5716908d3f1d4bfbf9eb0e4077bf8e534f19568ed04fca3bbff95da9088cb939f7a20cc97cc0994f9308e184219bf12c8af0d66df436c296ad39832d661b88c98cbb168c751719ac1383c9124\nCT: 8f37885b9602725385fd9a244ab2a156ea\nTAG: 7fa5cedd330887900f4a44d098e04d5eca16cf94e21f897fa54b0fc116b711b6\n\nKEY: 815786c7744d15afe1d6ab452cb6696fead8b88269ba3eb35c458f6248bad77b404acc744ebb74612c4f97deaccb99a7bcc6ad41917d61057c05b30c581dc4a0\nNONCE: 12342e4704f02336ebfc91df\nIN: 7f15e696b49ae5104ced5bebbf58a9d8ddcfaf46ddce9df88fe0d58a2f8546feeb83b975c66e4dafddb7fd9d17e80127e70af06b3b8b13c3390f1f50a227e7\nAD: \nCT: 22e7c5d54a7b622c47a9edb77cfe7c094e500b0ef9595bc346de736e0088e5934dc07160aea34f24d3ab21440878213d28059551cbfdaa418af40d344674f7\nTAG: 8c271ea5c15aa771c900388267efb2f435f001c2e83f4ec297e77c608de2d579\n\nKEY: 66d87d2b18e46257476456a1f87123424477decf196b88b09acfd3ca74bdebef4c98f1b93803098a141e0acc3ce8eede065417a0c1eda9b4614558d2383762b6\nNONCE: 1ec0ca1d3b09ef186ac4bb1a\nIN: cbb59e14098c2a8ab7e84ace913515c74e056e0fb272c7b88d0dddfb62e395afb695647d97d1071eb09cc1e1776b609fceaf4e30e92640379bb8f0e762ca9c\nAD: ec\nCT: 832804b8003b0ca1b4eff1dc4da6f6a9649e5a582854bb72cd74357476bf38d81ea3bc8ac0463f21fe37683bcbe07360d0ec2d7ab90b588adf669099303ac1\nTAG: 9fecafc768fca71ffe7d640dbb7a052d97d6c8e2fc86001d71feaf284ab609f0\n\nKEY: fbff97085351f4500e73190ac139dd3ac91e268042b5926b57e0394c750b10348b47641d195d5fb5b0846256ab229f102538b81e209db5d93b4d55f30c453d9c\nNONCE: d4868c918de2af7d3e3f57d3\nIN: 4f14aa5a680d66ae15ce0ce4739888f64d827def862572f9a6cd620badbe4ee9d75f4f9bc1f73d409f519a657f53a50d50e68e22f33a8ef5aa08b1212889e5\nAD: c41253e96696a948ce500030af27086842aacb79c04cc02a42b858a65c630065a5292bb9b2e69ea5fe5a7a\nCT: 08596ac0550574e352edc13d7e390d8fd0a57406dd61e1543066b4aa0ea06670f356e26ada0d6c61c1e41de1b4fd7a251c961fae44b23523ce227eec99a338\nTAG: 72f58de3e6697c8419ef518748fe0bb3cb930907c71b6d682c5e61068206d991\n\nKEY: c78c550aba82b571d39ce21d6ecf5e5f7c2a7bf921c6162c64ec1fdff4d0b8c41bfcea0e2486cc86b9ed9e9ceb73c4ec228a2ecbcfa0379174e76475cc21ae31\nNONCE: b5adf4de19980a71cb8ae8e6\nIN: 3d5e43ce95ff9d7f797f27b904c07291a35678fe76a9c57f0c0cba724f38acbb22c6c185db864a2a17b7ef2d67a04810ee5a45fd5a4e28a15a1ae16971451d\nAD: b5eeb9a18d436ada7bd5601944784f50fb0a989397b5c781a2cdf29337315dc7664f3c1cbf17f37fd0cc8b30\nCT: f91f1f20d06ad4480ff233480228994cfa052f9bf3038d06d997d31eb68bffa4960341b93eb5ed2260341e6816519c47bf231db2a41ad8a9719f4de6a33de5\nTAG: 6e5eabda421961e26dc17a7e1f750425235df4eaf9a97934c1e1b4439fc22791\n\nKEY: 17b90dec44546d9dbc489e55a01f2cc64452a9b0e50506a8ad7c81bc6fb21328285cafed901a7204048866ff3bd543003fdcbeb3e9e2f3d580f9062362879633\nNONCE: f0c0cb247d210031f9b233bc\nIN: 75b9b524cbfd1287259da116f536aff56112a406f069aa08f545b5372d45b66d7a5d05e02728c4bc2c779609dfe251386f78c5f48b9dad90b363d324826cd6\nAD: 8a604a9b06ad595ce0b9ad1644a596c7d3cde81490abc80840c764c40d6df08fc71d1e8196eae0802f8c8dfc24\nCT: 23ad62a668f942e613c3b5a7828142048f1f6a67f7f0e0cc8bf3fffb2d1dd967da472d080353dc9c23b900a566f20afb850e4a47688ee507faa6178fef2afd\nTAG: e9e82d3221f964d9e6c09d761afa3f05d1316d39c82618a82dafa23607bb40a3\n\nKEY: d5c09fe24201fcc3ad4c9a9c4b759345f643e930301c3714f62c8dd4974bb15a026b217ac637b4f0e8d6ef40f36be967c50aaea83b2e72df18eeb9576865f1d8\nNONCE: 9cfa0df1fe0910b33ee9849d\nIN: bfeb3d86ce3f4c5ccd0c3945e1da0e75dd057aa5b4e1f070593394f4a0227abedac0b77478e04d498506245b162e909cb711d8b875d33f9c4578e80a0e2113\nAD: b874a8523799554436a1174ab124677dc2ae2042a436c85065c50d5b5e7519623379ffed9a9c2b84b9626214b13c1806b65a432ba79066ff28ed94d17628f5ff84618593954389181e997ebd245d31f520539e250b31c86b99992983820f79e74aeaacb3a95e690e2841aba5a384d0333ebaa5d1fde06b4b8e3e1cabc6639459\nCT: afa649ea47db94936f89612ece681bb175664a97aa6faae5745f49ac9fcbfd4287b73cb58e8d8aa12eccf309182f075098f339db697fc60540481dad0cd82e\nTAG: 9909335130df0326650823de5a4f5b6f45e6941a6a72ceaf80ef32fe67363944\n\nKEY: a13c4654606f532a8df47c367dab1b214166e4f7188c20560831ac30ba5e58d316d29764e4c716ec0126657c926ba2e4541da062447228ae61340a951101b4a0\nNONCE: a2df3417ebb86bbb2f954939\nIN: f1954e59a319547d32e81f846e0c79db41c681166b43eb9c10458948606ced50a44df26fad5654a7c25d3fb52539cf25fcc1c11707c4b5aca7910a76e2374740\nAD: \nCT: 374726a4691f178a4c0a6f96108ba30c4ca8a30242c14e84380969473879d4a5de580fab4cf6ef6e465560a15028ba78a1a88f9e62322cb698b15ccce6ba83a8\nTAG: 683e5a3e61d9d9c8b170f1d4eaa4f74dcbecb1a4cb1551dc364bbb336d4e4109\n\nKEY: 0c1751677a9b7373e0c2ceab2c8e4dab50af22e2230be3187c21ed46069168d173c28a7474d8f7c3cab39401663405aebdcc474ce136e1fff9cfc520bfe17ca6\nNONCE: 38bc2efcd97998de1528b064\nIN: 8a3c6212240bdcb86da98f0e3ab3e9e78f7f61f0627ea088ab283e739a0bed5c360eeed26cea43ec09b4f3556049a1d7f8ef86abfd1118f9c0e34cc6eea4544a\nAD: 20\nCT: a1a9f7f4750be3d89fc4f25917f8ffa7dd462ce712ddf61792a01b1840bc8e428000372252f1b41055416a961db3be8fbe774f0a0a71a82e79e74927522703a0\nTAG: ae24708df0d5893a902765f6c6c2eebae0c11312936cd415bf4a74bb8498a367\n\nKEY: 154c21eb43d8d556e5f782ddd64d577ac8066fa172c2936fc2b2e875aa437f941819d9ecfaefa2e388fdeea81a0ece8dcb7647f2c68da48884aeb1315b577c09\nNONCE: e14d1bd8681373d41702a762\nIN: a2c880fcda87d9d4681a735a6790d93a1c9c68e55b87d5f7b3146665a6b2051398eb9895e1f5d522841668b9915633aa8cb40048c619baf6d63ca2da486cdeb8\nAD: b0b725cf634349ce1d3ac49d48313a09697efd9996cc5afd06b1d0817181d0374db05825dc2f08207bfb3b\nCT: 1cc0db5980863df7a40c78e323a78be6c6d556d4e3b5f930d8d0f2c6a10c6477e31c000d3f0563b4", "6e1a4aa566a4ef4b433e17e94c43338b51a7a3f862739b6e\nTAG: fe005424112de2a5ca6e68ada40984df1ae5ac666cf5fee19e9a0f203dd69f52\n\nKEY: c34482341724ee431b5272ee2964b245d7657778f7927cad4b5a1bc30a176b1eb88a83ac9faf58215a72855edf94f8e86fade58c5b5907994bb8381c9f21b753\nNONCE: 4934d9afc32fc7e2d8851594\nIN: aa3d32adc47b0b84d1b038ddcaeb007a7d5c96cc06a943eba5da6d0d367625330556e67da099c84086b3f46bb4b72986e076eb426913e415cd20bee34e434bd0\nAD: 076a7bc587b306f3da3ba88e66a55cb8125bbf8aa000dda266e950f381e35ac938ac86f8a15a83022a25f28b\nCT: cf017d87da8927e42c1f10fd3d73cf483bae43f4e110363159a9fbb7cba363930a0364cd42a5de2c70171edc4caf15bfc7238f7087bf1402b32c7bdb1f493393\nTAG: 3961efea656aab1b83082522b801fafdae346f7d4be70db1981283f323e5b5dd\n\nKEY: 363e10d8b3fe349014d6222761bba7af86545dcd1812fe2e5ada564c5008f8ea1850f374208e87362afa135f20f9e79dd0ad32f86448263416086d3afc5d37c0\nNONCE: cc545928edd3b21c0e8bc0f1\nIN: b68e3a54d17dab6eb41b03de2df14e792201d78a9c1cbf341da421da82b026ff471d4305ede5c6baae162a098c73da5cab93f30d6d540b4eaa0ee772448dade8\nAD: e21498edf4e25ada2dd6a382eceaf737623e501db34f5c5bd5c963f45818b146a6e45aa92db2a2069e55d46a4c\nCT: e4920c1fddb5dfed2268781fbb17e9ad2ea88bf2a0f116fbb7b309b25a5b9f989e1abc334999ab175b65f87e874d8ba80792044b458dc27d2b24c989d24385e1\nTAG: f0dcfa064cdf042e0b9a0443d634c38695dd09b99dadc647195fc2ad53dde547\n\nKEY: ae93f58aefa94e4e0622f2e962529fd2efdab840fd0bce62e163ca0fb004ec3b22e246073614203d9b63fe2842ef5903ed08b3e52abf7ea18acbe16fa8f66368\nNONCE: c9ac237c87270f2d88b91b64\nIN: a75f49778a6c03b0f8915f5d09efe99c5f4e9cd928713882e6b9b78bab3541812db41792b893c7e2259debc6c660ce708851912a5b9eaf91416d86b5de114ce1\nAD: a4b198a329e9c5bb6d9f31a6415811eb33c79422b0db130b78d788c38c0b9a5122688cbc50fea811afa20789465f9ee4362336cc3701ece701179af96eb7c86d5a00ed8582f24364393287d5dbc3e83a82b7a585cee5b152b5da40aa45ccd46dc841004778998c7efe9eb43c9762d1c8581eee64e18c5a961bda5aafdd5cfec8\nCT: 453fad9395106a703ccbfe811bf775f1827ea960c71d79242d2ea0e3e31b14baa76eb6d107dfc6e484f4e5146f8cad5b389e4c0fa18260c96a193edbc8091a36\nTAG: b67082c21557b31392a9821fbce4b93706f96856d2581c92e7fb65dd2166624f\n\nKEY: a145adafac46280e1cee8696903c5f3866540f27f17a519637373d95dca4ac5ac0bfd85ca6e1f8df8ae3fcfc9158421581669db52c20a3e19c5d251952f63218\nNONCE: 90bd43611f235ff225b23208\nIN: cbe5f3a5b7a94b8665cac1a4d173a225679e1a3926d8596b5adc0ef4fd00f7d93a432ff141cc04f877be60b6a17fff40ac845a91bcee3b483862f67d9a76ef498ce5e49c361bfc018e401aff47b397e96b2982d4fdcd043ca09905be9634e83dc22a667c955bc992ec96ca1b76f73631767f64fc7151284d5aa81c1aa42eb3aa\nAD: \nCT: 604f718dbce17dfca1fc5e0f400151cb65bea9d7d8f26d56687a76a23f89201aab01ef928006d15493f5b1501bb99c517cf123acd956ab575e687298488a88d5739c266e67ca6a20a5dbe5f5f27ac778816f04e7b1764cb716477f3aa01482cb6b25fe034ab5d942013164aa124608cacf13d6cc9487446cfba54315fc6bfc42\nTAG: 8e3e1a01945bfd9e1aa4eff1cdd0a6da6d8fdd5446e6d732a673effe8e44d76a\n\nKEY: 63ac8e2561341587bc066c87cd23f7f33e6023bdc1521a91d6ce63d3ab213825d95d674928b56da1741aad8e85a8b703239ad74e0304ad555eeadebf4ae30aa6\nNONCE: 4f3073c3b780ebb146e136c7\nIN: 7f9a05b1aead29b4d5361c2606e5db8a48122858842679cd46f8386ef9359f998cd2c6c266791429624ff634a160d08faf1523b650c30b2fcd71517da5f377000251ef23cfd2510a0630215ad45fa6d2313f9add040a07df8259b82d3f29cf1ab8477cd114c9ee579d3e2ce60c5da2f3375b68b4d6e0913d39dac9399c00bd32\nAD: 22\nCT: d4ed811c8db932348e0c311e9278ef22f22cec8af88b3ac0cef77f13bbd9b8cca037c1ea87590a0ce3f3e7b3ffe1dcc4c7cd9e721baa5f126a3e0afb26dcfa02bf44428846c0f1e07ba0e026c23a39877de1e69e16a2766ff4fa3d4e8d3a97ba28f407f459ae3520dd840e8f9e149ea582048dc6e3d0227bd86a9c26ddd59895\nTAG: 0abc9111229bcb725953d139a2dcb1aa0cb9d3d6c01ef4733482dc5edcc88958\n\nKEY: 355454fbe12f125edbc13550a7494f37efbe12b843058d29f892e1524289c2868ef0050a75a232d3083c381289e4950e352d68d64bf05f0608d694763c36641c\nNONCE: 0a344bb3da1c4260f2daf256\nIN: 362e97f8ef09f30e5db2f21d40568d347d9bc42d4c94a563484b12eb109886ccfd2c61c40dfe93eb836bb6aa4f828e77c137485da2df494cbeb6a9a0192c3777b4d7a927fba11a8eaf604b85a81ac4719ce8b595a74656286fd0b80d1ad3f3393e6038b258af97af9a77f6760d486d9caf5a451ba26dee51bda0f76d75bfc26e\nAD: c7c2e8196f37185b44515480d5d9451d79d07df4c1256bff6382f942727ce9b3a4f81ae964d8af2cd9f638\nCT: 32a67922947fd6b1c1bfaf3e1d41397173b97095e55307cae1c574daca275778d4aa4313fb1fe5b3997ff18800903ce044c7d0976abbb03b6cc1f7498d8b56d00672bd74f7cb152b677c632ef7a6f6fc13e95e82b6e35d663eb47f27c229c81174fd7c62c94c414e47216af2580fe822643e54907af77ae18e903fe856a02173\nTAG: 72d0fe5baee8090c5f8e79890b77f6d72a4213a7d1a81e0d1f1c9e6731e44d54\n\nKEY: 664478c9d30d2cbc39351ec3b3494f3edb81e32e48bd4ef05969da07e770e4181a9ada3b2f83b46f40fc2d9ad35fd8ee6864ff3d70436d6cca3f8e0563cc3b06\nNONCE: 7313df9679181ffad2972a6b\nIN: 142f073f2ce443c68822f120b5009e39bea3453017dc04c1b091adfddcb2a7e361c2b79eab1bf0818bc86e9d7964834d3775698b56a11ee07a0c9c03cb7bb895bf1a1dde3975c3662d233052824f1539f58cd6ad5cadb58fecaf2b34935ff711c45a639d642fb8fc3a52929b1296683bb13e67f2cc8ed9090126cdf28a4395c6\nAD: d0d78b94505793af546912f3780699dd72e288c775bfc75da6e306defcd868f6d40c6d6ce34fab9c11574ef5\nCT: cb913e40ea5dfe76beae612e9732d23ce352789987134822b2324db585179bf90d0ee20bee102e93a49a55fc978d19e99ba316cf8d9a10d2f2bcb75da4b135d1fcb8057edc33a180586015d8829a128f8fdc87b72497016c280f54f4d974c2c7e9d32ae137eaa1bcb670be237269fa73c3a0f273da9e70d89600ae7c231fc9d4\nTAG: dcc158c254ff7e131ad854a2158d51c643c281dfd7df342d5481384ab236a685\n\nKEY: 409d1b4e1c187c8b1c053e999f2af648583e1045d56d553cce9270d08c5643ef365eb35e3bdeaedcd164b0122ad185e71c75146a9807104d9b65b56d9bc1dc55\nNONCE: 1cce3f08a5aa5824d063a6f2\nIN: a255239e4065f3effe6aa5e88814d516236d016c51cd8eb35af7cee86418966559802f8ff7ac39c6a45acc1f1b18cc28d7cc32ae66dff43289fe44c3a2a72fbadf3a7249d76c1ba9671dfc420ddf513539f2da5f31030f2b6775c57432c2c3486621d841e80dd4894229debc12ef47d74716838f2d807e208f0fdaf733bce76e\nAD: 8f34f8b676e71844841c6a7b63fef1ad3061f2449c1044e1a281595da2d9e9fd141aea7350bd8cf9774d375e67\nCT: 969fc2c64261db415e51eee8cc5e0cf5185b8e3325dea516a70e32115a5b72233a44458c40f2daff3594d71e42ca2e3fc1c444ce171d22ef40009d798456613fa4b76beaa6d469e235997a302ac468c8bcfb8ef5de5cda58d7e554a9eab6cb568945dc37f28b0dbd674c083dfbd2e42fda1b42d0c1966e9652a21b32af71e2d5\nTAG: fa0789a83c255412501944a67bdceaff3f01d9a23b0c749be38abc956e2acae6\n\nKEY: e6fd8144cdb305bf9e62a2c901764c62902f354409d8c5b9c8cbfc0ba8ac7d0859ff8994e573e46784395d89c355a91a313f601b56e86ed3fd10ba428a5481ce\nNONCE: bae080718d3e5c5998542f15\nIN: 2258ffcd6fcf91b1723f8db0047525d61cc8ffc440acf3290690685d16384292493807312b7dfc23ac9d9c3ee1405baab21a3770a05875cfe325268b65fc877463e3208c842ea4a32cf144cc46d57afd91f6b6b5d85fb2dedb0702f0c4e7f742cf4c9b4aec02f07267ec1f7b96a5a3ef25f6c1b4c27bd829e86583e239cd854b\nAD: 51ae57749b7757718aef9b9c47da5794659516e7f98bc80e6c18c89253f8617963331f54d4f009f087d1d2bd69a083f3a4b98f2a51ce24ffc6079774f7c7b01638b6131bfccebe21fea67bc839c259a50fcc0a16a69ada3c5adee4097d9e053a03266cb9b4b39ee2a465ec1aa058e61a0b9888b93bfcfd103f91ca3a7b274a10\nCT: 5b2fe8eea3313cc04d5ec75d75d05b3242b6e3b65c6fa1761716780c9529ff8ca523096dd037c5bda27984aa93c702ce9c01c63569a90657cc6373ad5d4473028b7eef69dd79c44c38d0063e8a8b7f1aa2bf6b646711ecd4eea3fa27408e089d9c4c4aceedff29a25baa6a9069eb7eac83a53212c0b387d700547c46cdc525e3\nTAG: 60319de093aec5c0bb8d5f17e950b0f4df0dfd20ad96490f6f12db461b2a4a84\n\n", }; -static const size_t kLen13 = 178545; +static const size_t kLen14 = 178545; -static const char *kData13[] = { +static const char *kData14[] = { "# Test vectors from\n# https://tools.ietf.org/html/draft-irtf-cfrg-gcmsiv-04#appendix-C\n\nKEY: 0100000000000000000000000000000000000000000000000000000000000000\nNONCE: 030000000000000000000000\nIN: \nAD: \nCT: \nTAG: 07f5f4169bbf55a8400cd47ea6fd400f\n\nKEY: 0100000000000000000000000000000000000000000000000000000000000000\nNONCE: 030000000000000000000000\nIN: 0100000000000000\nAD: \nCT: c2ef328e5c71c83b\nTAG: 843122130f7364b761e0b97427e3df28\n\nKEY: 0100000000000000000000000000000000000000000000000000000000000000\nNONCE: 030000000000000000000000\nIN: 010000000000000000000000\nAD: \nCT: 9aab2aeb3faa0a34aea8e2b1\nTAG: 8ca50da9ae6559e48fd10f6e5c9ca17e\n\nKEY: 0100000000000000000000000000000000000000000000000000000000000000\nNONCE: 030000000000000000000000\nIN: 01000000000000000000000000000000\nAD: \nCT: 85a01b63025ba19b7fd3ddfc033b3e76\nTAG: c9eac6fa700942702e90862383c6c366\n\nKEY: 0100000000000000000000000000000000000000000000000000000000000000\nNONCE: 030000000000000000000000\nIN: 0100000000000000000000000000000002000000000000000000000000000000\nAD: \nCT: 4a6a9db4c8c6549201b9edb53006cba821ec9cf850948a7c86c68ac7539d027f\nTAG: e819e63abcd020b006a976397632eb5d\n\nKEY: 0100000000000000000000000000000000000000000000000000000000000000\nNONCE: 030000000000000000000000\nIN: 010000000000000000000000000000000200000000000000000000000000000003000000000000000000000000000000\nAD: \nCT: c00d121893a9fa603f48ccc1ca3c57ce7499245ea0046db16c53c7c66fe717e39cf6c748837b61f6ee3adcee17534ed5\nTAG: 790bc96880a99ba804bd12c0e6a22cc4\n\nKEY: 0100000000000000000000000000000000000000000000000000000000000000\nNONCE: 030000000000000000000000\nIN: 01000000000000000000000000000000020000000000000000000000000000000300000000000000000000000000000004000000000000000000000000000000\nAD: \nCT: c2d5160a1f8683834910acdafc41fbb1632d4a353e8b905ec9a5499ac34f96c7e1049eb080883891a4db8caaa1f99dd004d80487540735234e3744512c6f90ce\nTAG: 112864c269fc0d9d88c61fa47e39aa08\n\nKEY: 0100000000000000000000000000000000000000000000000000000000000000\nNONCE: 030000000000000000000000\nIN: 0200000000000000\nAD: 01\nCT: 1de22967237a8132\nTAG: 91213f267e3b452f02d01ae33e4ec854\n\nKEY: 0100000000000000000000000000000000000000000000000000000000000000\nNONCE: 030000000000000000000000\nIN: 020000000000000000000000\nAD: 01\nCT: 163d6f9cc1b346cd453a2e4c\nTAG: c1a4a19ae800941ccdc57cc8413c277f\n\nKEY: 0100000000000000000000000000000000000000000000000000000000000000\nNONCE: 030000000000000000000000\nIN: 02000000000000000000000000000000\nAD: 01\nCT: c91545823cc24f17dbb0e9e807d5ec17\nTAG: b292d28ff61189e8e49f3875ef91aff7\n\nKEY: 0100000000000000000000000000000000000000000000000000000000000000\nNONCE: 030000000000000000000000\nIN: 0200000000000000000000000000000003000000000000000000000000000000\nAD: 01\nCT: 07dad364bfc2b9da89116d7bef6daaaf6f255510aa654f920ac81b94e8bad365\nTAG: aea1bad12702e1965604374aab96dbbc\n\nKEY: 0100000000000000000000000000000000000000000000000000000000000000\nNONCE: 030000000000000000000000\nIN: 020000000000000000000000000000000300000000000000000000000000000004000000000000000000000000000000\nAD: 01\nCT: c67a1f0f567a5198aa1fcc8e3f21314336f7f51ca8b1af61feac35a86416fa47fbca3b5f749cdf564527f2314f42fe25\nTAG: 03332742b228c647173616cfd44c54eb\n\nKEY: 0100000000000000000000000000000000000000000000000000000000000000\nNONCE: 030000000000000000000000\nIN: 02000000000000000000000000000000030000000000000000000000000000000400000000000000000000000000000005000000000000000000000000000000\nAD: 01\nCT: 67fd45e126bfb9a79930c43aad2d36967d3f0e4d217c1e551f59727870beefc98cb933a8fce9de887b1e40799988db1fc3f91880ed405b2dd298318858467c89\nTAG: 5bde0285037c5de81e5b570a049b62a0\n\nKEY: 0100000000000000000000000000000000000000000000000000000000000000\nNONCE: 030000000000000000000000\nIN: 02000000\nAD: 010000000000000000000000\nCT: 22b3f4cd\nTAG: 1835e517741dfddccfa07fa4661b74cf\n\nKEY: 0100000000000000000000000000000000000000000000000000000000000000\nNONCE: 030000000000000000000000\nIN: 0300000000000000000000000000000004000000\nAD: 010000000000000000000000000000000200\nCT: 43dd0163cdb48f9fe3212bf61b201976067f342b\nTAG: b879ad976d8242acc188ab59cabfe307\n\nKEY: 0100000000000000000000000000000000000000000000000000000000000000\nNONCE: 030000000000000000000000\nIN: 030000000000000000000000000000000400\nAD: 0100000000000000000000000000000002000000\nCT: 462401724b5ce6588d5a54aae5375513a075\nTAG: cfcdf5042112aa29685c912fc2056543\n\n# Random vectors generated by the reference code.\n\nKEY: e66021d5eb8e4f4066d4adb9c33560e4f46e44bb3da0015c94f7088736864200\nNONCE: e0eaf5284d884a0e77d31646\nIN: \nAD: \nCT: \nTAG: 169fbb2fbf389a995f6390af22228a62\n\nKEY: bae8e37fc83441b16034566b7a806c46bb91c3c5aedb64a6c590bc84d1a5e269\nNONCE: e4b47801afc0577e34699b9e\nIN: 671fdd4fbdc66f146545fc880c94a95198\nAD: 874296d5cc1fd16132\nCT: 9209cfae7372e0a3ec2e5d072d5e26b7b9\nTAG: f3acb73908e54cddf7be1864914e13cf\n\nKEY: 0b6920ce07787f86743b275d1ab32f6d1f0434d8848c1177441f195495860f04\nNONCE: 6787f3ea22c127aaf195d189\nIN: 4728b3fed1473c528b8426a582995929a1499e9ad8780c8d63d0ab4149c09f572c61\nAD: 4b4745914474e7c7c9882e5386fd9f92ec48\nCT: 8ad7deb4be91cdc4e75c77de1c746d816212b109c5a485c6cb79e3005d2e94355104\nTAG: d71002b6a9de0addb173f49e34edab61\n\nKEY: 9c8fde2be2cf97e74e932d4ed87da44102952ef94b02b805249bac80e6f61455\nNONCE: bfac8308a2d40d8c84511780\nIN: 82355c9e940fea2f582950a70d5a1db2316fd568378da107b52b0da55210cc1c1b0abde3b2f204d1e9f8b06bc47f9745b3d1ae\nAD: 06556fb6aa7890bebc18fe6b3db4da3d57aa94842b9803a96e07fb\nCT: ced477a00135f16006e100b9d7521f9e1bddbc7d339cc41333abe3cc79dd8e3a18e310dd1dd53ac664673ab9090d5dc07b4859\nTAG: fdfb01ef873060efc7c3c32adf3b46cc\n\nKEY: 6de71860f762ebfbd08284e421702de0de18baa9c9596291b08466f37de21c7f\nNONCE: f901cfe8a69615a93fdf7a98\nIN: cad481796245709fb18853f68d833640e42a3c02c25b64869e146d7b233987bddfc240871d7576f7028ec6eb5ea7e298342a94d4b202b370ef9768ec6561c4fe6b7e7296\nAD: fa859c2159058b1f0fe91433a5bdc20e214eab7fecef4454a10ef0657df21ac73c535de1\nCT: 01fcded8e89997d446236c8e3a77ba755b85b9b5ab8fa8f355be587a3954c4a4231a7c8c198b72525ce4304125a4dabd1574453437f6584790d8cd90d5957b0d5c804a6e\nTAG: ecb5e6b6e75d241c221a2f4dbd7d0448\n\nKEY: 92eaed3822a2fbbe2ca9dfc88255e14a661b8aa82cc54236093bbc23688089e5\nNONCE: 5540db1872504e1cced532ce\nIN: 4159b035277d4dfbb7db62968b13cd4eec734320ccc9d9bbbb19cb81b2af4ecbc3e72834321f7aa0f70b7282b4f33df23f167541ac15c8417abaf17a282ac7a57252ff224ae7911a905b8c699b20e40c1e9569a6b2\nAD: aa0232d4b10bb6f20406135861c19795b95f9597f9b72c20931c41164f1b469b0901f2b5da3a956a6e278c940e\nCT: c49082d9a1bb49356f1a9b75b443832a56387066b617b939b60381db47711bfd174324e8d20c9713d562fb8f5c698dab02b5c00ecb652c182ac5544648599fd7fdd042009ed44961efd975972ae3c9aed8a4f58ddb\nTAG: 75639e5472bec58e96b358cbe429c4ac\n\nKEY: 82593eb58f56f6d3681fb00dedf7f612c4cb3193b73ab35f9a5a9cc8d13aa27f\nNONCE: f1dea3b2a7d832ed8ab959d8\nIN: 2ee795df8e1ef530cc6fd9a1f10543b44c49383921d74fe0c71d50da4adb9e9c7e5491a488ceb5c384ebafadf0f484fae982019a8ea22efd1358adf7ad4f5fa0d2acd2f1ee095cdfc13310241243fa53b8c2610d1924b1d55cb6d9cb6a5b98a72127255967b8\nAD: ff23623c5453e61cecf9e624e5c803250c382481d3c10febfa54d03894ba8f9ed72637fcf5631f7b7312cc74e6ff63ecb240349a575f\nCT: 6841f9ffed11d165b18917ed0aeed507bfdbea3a57beac2f2e08625e9929d3f2d84373ac3b21813f7dde1b25c93129b541fc640e09f5233cd9f0587edad70b73c423011cccae55a9deff9f29308fbdfc9a73f5fff4a7b0ad308ca9b545223adcf724d3d8b127\nTAG: 479bf5015121d25bf2346429a5c569b4\n\nKEY: 2cd817f2afbaaf21815bf08ac1e8f87520244b4a3fc492c7120296607ef64d0a\nNONCE: db4c74b73839e13455fd91dd\nIN: f7f81d460034b9c41eaf0cc6040a84e17e6108372f1ca50656793554ea1d05181310711d0e60d4d556b2bedb24d7b622c01fe8025119ae0c8a20b679dc40c9908f88fecfafd688b0ebec6a2ac13421012874c80685c481b41323a1724ea96c1df644a595e8cc73955e6f661e0fa30737d78e7cec11629b\nAD: 8f1fa4bbd8e8e655f50019859514dbc4cbcf944f95084e45337d9d9d8972bd8da92b4eb5a75c0b284305601de859f8d1fac6d6b3fdd42210fdcf696119e436\nCT: 97d729cde56ec1f95bfbc16ca5dec6a208543c3255f7a2b97fbf5fcbbb34908ace9ce13bd9e90474ed620715a5e9e43c34802b85feebc4d4a23d1bc8b4b5a6c11da7158765c40d2c863185c5551cb2b10eb0b45c61b939f8274ad84fe0a74e163bfd6afc5759946362adc74b4a7f705827323f8291ec38\nTAG: ea1c9094241c5b75ea880723ccb17ca7\n\nKEY: 006a5a863859d5b70806197fdb9f0da3e4c31b0c7545809808bf7683757cd11b\nNONCE: 9d0f8621664df31eb95b5e17\nIN: 567d680b1a26980772e8ad3e9b2e2de537414368c4f97adff1408d36c1dfee65b78375c7361", "c91452e7d463338474a400ef9efcaa648e93f38f8784a1598bca461211195d7844de56b91cccc96d89e6471bca6b7374aa5ec4b2f5fba66c17a435970411f2af3d6e33c0d094f74fcb77beb6cbbac1f3a8a19f69ca087f94a5b80d5e3692e0d10ec34\nAD: aa67269c824b382d6238bcfaaed586177b852f816c31e9966744188f02647d881990d98c3eabd477557a739262bb3f682f64d2208faf98097586053a32cbf37e\nCT: 85f7411a7f8ab505a7c10c5c1fb9bdabcd9a7826465de96e3b7c762830ce133b33d8956756ec29c00b429d30047040043cd5b3bd87dff60e09e4d7c3a95bcbfa2603ac964be32a82250741e19b6786638be28709ddeae496cba7558b7acbc5545b259e6a1b2ac1f5135f5719987dc547f97f68ffb7b9eac892527a4bf0ffbf59f77327ee763c54d6\nTAG: 3a8cb8fdab2c79aceaef6680daaf3ecc\n\nKEY: 78413a2d89613a81966e8d654cac0aa34107947a036f403bda53e74bc524e7bc\nNONCE: 2d2c51dc426b38c308cc5748\nIN: 39129e5e6251f41dec9cff7ccf256c38e4994e15ca976d3185ae17030ad3751e56367f86886acc32e27fe04d0b89cc89b0206f281aa2d80f9be19928dabf07417e7659b17f09c56d170ed1ef10d2fadf01e0c78473d06a1685ef0bb112e4ec7e6ce0cbc601fc8a2dd64045c8fada4a28c0c6f0ec98542e365279d00ffdf5e2eae3b663c4b79342f2f265db30a86d6e1b325318d7f7a622b36e\nAD: 746875b71165defd5ca1afc0a92db6ef4fb9e20b81018a5293899f1e0d06b18a2e65f7616638f79a0db3f2cfdcc0eac2ee1e2e454958e2e6d214a20ad13156f97d0f2cf4276b09f594\nCT: 142722bf554b8c70e8e76e52b9c0e0bb19b618f7bbc7ffbc91a66031f418d031d3c111eddb9f1ff7c2e64191be8dad4f8cd175079d2ada20c8880d0565c56afe5c9742753cbd50b93620b081f0877f045d0be91ff05a603fdc87e1940ac1e1f0c9aa96d5aaf4a58e0393ced4fad8e83171fa71c397817cd48ce6991e3b73d3356ef0448be1bd8114feff5f23db3b9cacdcfb4d25fd4dbfcae7\nTAG: e489f6c52120c8cfdc0f164b3440de99\n\nKEY: 5c11f6b20b7bede26d6c2f0e5cf2786eea66e18d6ece02156f9233bdfc57c75b\nNONCE: 1a8a8b1f4ab85be5a4a089f0\nIN: ac762060a336aa502f5a1df1e0a647fb9d5d932dc0654e0725122f6a567681a7d1cb7625ed0404d540d8b3145c911280d2a0ff9d1c53e27677be0436faeb39009fe5751c0b37c7a5f1137a26995577faa109071bee1c87d5e6772ca55fdec02348a625b49c3c881aab162f20ba0b834e8159d9bf20ee0c5d14da0221961c4fc7d9b44c7822f32298d30775cf974172ebfdb36cfb2881ccb15e5f69ed27880b920f4a092815357e03d982\nAD: f75590af08b447f0f8466b031ed2409e9f5eb479affd9e18017a369486914c63a7494168d91df157f5e56fbc4ab6ee5a8f3af1fbe1bf9324338a1f4acad45fc7137676797c89620b15feb8512544771f280f\nCT: d8355d51bcd69356ec74b9b8657cec57335731cebfe83202c1557fd208480a2c25747625bcc70533d1ef75d2bfbeb9354066a8650f59a575e836339dd45d0d8a5cac221954b77cabba5e95da7437665fe9b48257148b7e8a88cb2cc4e0912f511aba0a013aaaf09255ec13b27cd9cd05ea11fe2ff21c9ab8a3fe86090dfe13166b172ba08e76d30ad48bef0e2325da08835ecc468cc40222db0552834ae94458366f28f6ba63b3e656bf\nTAG: 0c7f16d3294d5ef185c2d06ed719ed8d\n\nKEY: 322cbaac9c4d7cfb4c326824825ba5b5f5190fcde0d399ef1f52b82abb5a8b1e\nNONCE: 5f2eea2c79702dec4cfbee3d\nIN: 1f5cc11e085d2254f8b37f8030bd285d6aa1cc53868d18ecfdd963153485dce5a3e3e8cb0a3cf8074571f7a2e9e841229466463f506a2bc90f2d6413128efee043e01eccb930fbc002563510e499457161083ed7997e58ebf03ce7ed2f8d5487936311922884bfd31cf828f3d0ce78f3c6981932268108a369048cdc0a75c062c0ed02e27bbd11754e621ff67c511ed98c6fadc3e95e7100644ebe1aa147a7e99f25ce5c2edb8ab6446749441027a211b8d04a6247299dfea9d75e\nAD: ab257a625aeb51f74e0b47b302fb5c0475ab23e99f4d93ecf07694497ff6b27c9848805af93a5615bc71486b26fc9da67cf60c8d3a396bc0164985fab2c64bbaa4dd0fdc22c9d9e433e8c70dcdeeebf230c7a3cb3e5d0d48573a64\nCT: e8d083e25f9332d30bfe60ac071f502909b26393440a848d1f81c3f5fd521de98cd9ad1fc3e806724f5b3732582853cf280f1b99cffdc6b46874d42adb8784cf9ab8e158531b4dbbd76391d48727b585fca0610777fa8ec6a2a7f070627f1ed254e430e55472622289f44089ff22f02b7f3c5e45e228b7b03a5d1e1abdc18b154124f8cdd3b2229e4720cbc1bd3cc3f86f3a6a745de0bffa2536027ee03d447b306ae69b1232e964ca27a6d252c1582422c99373ca2b9541a27081\nTAG: f6b8a72d4235589f7811ee1c6f8d2167\n\nKEY: b068daf90f56b15579767ecdd420c0858fabe23abc0b313b97a9c1ceddcb59d5\nNONCE: 322e47a85cc58e753f00d6f0\nIN: d032d4c5110c8f22e98895279a30a86da0ef71cea6ef2738fe3e747ee54d2e96e3afb8916281f6369ab1a397ca0a18c6c0e9a0c4edeaa4190ce6422bd116ac254a12235eb66fb5cc7ef55b721d3d2db4c67c38bbbb0bcac9234ea7d733f200e6b86fc55f4abb9b65ee1897c262533cccd118b0f493c849a7aa7f35d243f9438f1858da62bdd03fd5a8c7b01d8097d7ce319a41f80104968a46599e9a3289a29a16b245877898f345f92fa70d3e613c38e6e4ebbf0bcb64c1c41f8b83ec8e9f159d4b830d9a1b79f2ad90db06\nAD: 7856eb8621e52ab3060e8d72dfe782b62364c163fa00b49aa6fbe4210fb7208c642b7a6735b1a8b2f1dbc4b3d4952985ef207a3eb0a07b1341700762e9f9d1c3438fc6633da2fbade15844cb1813d258aa5bfa4ac129d693792a89622a0c686f05d87019\nCT: 00d34f899f0a8b40fdfe9fcec98a96c5995b4524b144545026aaa55f629c3befbb8ff794b726e759e18b7198bb2fd2a866379418e6dc4f9fa9e4edc84d21454a5cd212f68a7df321b18e9eb2c537e0cf2e0bf65e80218b841ae8a994ea3f6832d667430dc314567267d7f31519fd856d73eaa1d3bfca419abc5001b25cc1fdf860812b077fda4b01abbe8f8a81a16ad2ab5d9299ea9a0d81aa26e1a573504d5fbdf29e6b2098ce975f2f3c8c212939569c8ea8ed63c4847f2d0fd16f47bcb30bd7e00956ab8a9deddc54e009\nTAG: 6152a0401a33257c8148e65440601d5c\n\nKEY: a266f91387d96bf2baae0262782b9c23162f5271cfa3144265deefe2c569e829\nNONCE: 11e842e5c9ae8fb79becf42c\nIN: 3afe389acfdc9a34bec7b45705ba68e205b83b33f50b7852fbb7f4ae5dfdfdfb3cfee8a03c96a036388aa8f7809bd47eaa073f92905d0d5f199d466cc0ebd9bceb207f4209bf9925c6109973194742dc8d813f3cb212bbd8d92d7eef645fb0f8245811876dee5f241763edaf7d79c1b83d973f9ba3b29a9b9408418f73743ff0546f0d9290010cf3a665c443b85255759ec6248021e4b6eb825c398b5af7b5257efb7afc481abc20d90249bed5b30d44f725c78ad0ce2821f86838874dceb6b6207ad6fa34579126de720ce34bdfd2058d92b8bbbb3f1bec607de3f0a0\nAD: 28d8f6e13d0d4d2d3861e1a26d79cb68d3fef68127e8458eb599915022da751e271cd047cc712fae5b0459ae7815a24f4edf806889fc462c83181111f4de5bbb7e66a701460f508eaf73798c3ca9c08cc1a046472f4b18c69b7ed249a96f9bfa05a276499a5f499c586027c64a\nCT: 11bd92445b4e43dca339491c8100cf933795ef7cf4c3c4d6c42ae5b729ca22869d443505fbb49ccd29b44046569da104f7ddaf325e71e7f30487e83acd012bd492cb4e98342ac7d64843eb499744b3d17db402d51b5bf8cbcb8995fad4a81dad4221ca30ceb3590df41e124c327fd31aa53c86514a12e22c477489871bfeb38cf71cb3a959f4167402576f142bd88b1221281a94661c8d643f89fc92dffef322ce97f8c19b133e55f8020232dbdf42e4527d9f133b8a5934bf0a2df3754d6455a9d765182691ab94ec7a2e68f3ff59805c7457428ee4af8388f91e88b3\nTAG: 8f1bd0ef9d08299f494054ab9409f663\n\nKEY: d6a68dcb52a50aa6d1b1d4d202e6f184f01daa08fbd643523f4f73ae6b8d764a\nNONCE: 7f567087a5fec5ad1ee3e4be\nIN: 5b677b87109e69eae9a635ac2ea185ba08ebce3ba4be06d53b2da081c5030f5a746fea7bbdda340e10eccd47238340b9244b9442c0efae7644cff53c7abd8445163e891cf30bc8e26eea01f0c461b4796c2106e1ffdfdd1bac29f7d3c72c8ca7f625008d8d333d2a2092c08ef83c8002ed90e2ad01dadfe4cc0681384b489f38d25e83c2c563485fb361f81d44aea205e5bb4c1912d00d8f99f8d7a931e55ae72f749147fbd97699ec730bfb01b8261f1f94696278fc703263cc789b283460af9d74647a8c039ad2184674e78f6a355a26eefc6fcd4cd32d96d245d583836312652fd9e6694ac5644eeb4c2bd667\nAD: b52e5af14bcb108c8e277728d6d6116e8ed1981993771b8bb783bb351982f9f8c2a0e7c20a5a863c6d71b7145b73d7e6d84d47780d66847244d0b8ef559f2297f39e26501d8a2aae8c36189580292da842c4d0d06a21d21ab175e34589e3b814d8a00ac1d8a3b2eca2a91b21e36c55fc6dad8c0a1b2c\nCT: ddc900dd582d322c567e3fd7eb23069b9e559bb16639cc79ffc6f3deb6e92cbf71ee66c839b4115e883390646245a42480ae6c638fe7fa04b575b4a8341050e2f3de075f2f19ad9b24d9cc1c39a659b0ffc362d46354da6bee0e41319221cf7cb160017d589413e5c1f07e5f626c2a1f8ae9e8b9ba0320a2de9e1b5f7baa4d551c090521d8ee0b30c8c709fbc00f1fdce999f1f96883e3b83b363cc47665e5a21fcf25afb6aa2bbcd0a374618c3dd8b8f97f21037946dde9bfdc7e907ac39e64f1a5ec8dda60a47148bd066f907a25b9caeb3804c0423836a8d9c35bc58c57882c5b23e00c7f4e3b1743cb14f102\nTAG: 8ac7e104a0165df543c7454223a01f90\n\nKEY: c7bcb2108b2e21fafeaa26a2d4881b183b899210b474bdc43a8f0b8464075d86\nNONCE: a2ba1e9cd195a8ecadd31587\nIN: 0d5740c4e22eab0783de87d541fa834647c3fc6543c60d5df31c19c6ca38707649fa8dcfc3c0ccc16b1bb60283d7ae2778a8f83ba07b905e23cb06d5656f614f1efcb346f34e190bcc636cdca229b64af9ae4b1f05b58f1ffd1a077a51bbf9ede69ac3954de7daf569cc8de12282cac09b9a49dfb92dcc409b8c63f2ae4a34091633f4aaf225aa02ba9c57b910a76535f0cba67fbab0e6fa0bc876217fc9a546a97dabc9be41209bdb582d8d8a62865df7398d4f7e9ac681bcd102e31bfd40cfb8e9352b1e8ff7a7b81cfe2a62849e8b77dcfb645d2046404a83442133e245bd1df35d69dba9ee097dbc867cde7b431565c72fec31719318dd27c3e47dc5f8\nAD: 729ea794668d8724a1d4115adcee0725e4c1e3ce16ed9e31bd5a409cd074c0277e21a0b431d3b30ddd361ecd176a8d86927c2f6693105d7d3c47d9be8bd90d0b2fb20587623b2e838624b5", "90a5c9f0e6d519b35eb5332b16bd2c2f9534e376ba68316efdb963d63e2c87cb0716973297d986bbd885a7306e2bdca0855447b5\nCT: d0e58d936c8b83c253ae9bd29f45afaaba9712647b3da6c6ffd40a9390a4476a0e74a2f2d458c88056bcc0a57fb64597a7c8a5e2be39669dec53c6bf0f7b4a2bacaff9aef36b43fe37b80cccc7d42cc283ba1c1eca739167c07754edec14375d86e88668b156d04c989bcf3fdc70e8a25aa3e6052d6befe3072ec0993d6b520c722dda62b6879324eb4ae016e54d139d816be7fb1bf9c0168d8f7225bc8ed9b7509b45cdb2c8a1db4b3619120c824d0bad7deb7fd0dfdb3674ab15a712f6196a5a840ee8895670cf3b20b8a5e43caa41c5524bf47c2ed4ae7027c2b566dc3e2548244057b880da2a3f1abe5e4eff090f9358970da6568bdb5f8288f9d25829\nTAG: 057ab8d811b5c3819781752230badd5c\n\nKEY: 7817285801341c10baf67bb5f71b75a11856d2551eb47e60025a0021b9948afd\nNONCE: 8818888585a6957eb59680a5\nIN: 5a5c42458f2d0e0f39bcbada0ba0b6e72340193500e22d243e32be0e7d7bc5c632ef3dc7e79ad5acc895cbba3111d8d1faa69bfe2ce634fc0d7b12242dd8bb105c6ce54cc9718921378c906ff5e61f48fa259b25bd10fee96856a206a928b450a0098089d5cb7378c2935c4537172076d829975798d4f24ad243e4aad474fd5e59e25a6dd133944918709e33f84b4daf4bc6d3ba1e0b9e364dcad5834024066ab5c8e672a999bbf23a83956623943e0011e3a2883d23a767b280ad84e2d7fe5811099395edd269077162310481ff304128271d4ce5c84ea738fde318cb2528bc5cd448c67837cb7dedb632d47e8f90e351b0a8942da2f78e2065cdf827a85f51\nAD: 0e22156bfd971ab3f123e9774bf3ff7c224af19bc79e812839eeb3f1c14f89e5666c16c44a5483efbe449237508ab2436939098640931fe3b928cb3a9378b6b9fc2a54c6bf59f34b16f06d5ef132ae2a7161034f26a6e07badc61ea51a94a20e4692a0a0525726f3de9bd1d6151fa6a0ea3acef3634847cfbc98d2e0bb9ae89e\nCT: 5eb6120cae6df4766b40ffb4d204ade5ae08aa2cda263b39ec7b47756ed7e6b7837fdcde8d01a2bf01367e9398e25991f9da11bc9f8de8e6c1b4e922af05d20d683edb4a245e22eb6cc4fec2375e8d81f9f27af5f118a16fde654b4ceabe770fb3a00bc7a88763b670b5e3a6ca06aea1824e20b9c1a304c4bdb62643fea73030ef6d18ee2e22095b4c73abc51abc4883f2bcce14033608ff7e1ce72ab3382c29069eb75426d283a4a71348123be19f480dba1d1677055de9e82d683c2d6413a6a4e0c6d58f7f2188ca5c8b916aa49975b80630d27a89ac284b971478376ad6e55dc64098951bec2ca7d77ebe790b1ed7fe7f33fe571d8613f143e3d3ab6bc613\nTAG: 6f3f79c6231d7e45ebc1ccbe5d110a0b\n\nKEY: 4f91a78c56558ac92b4f33fb1d96b1ade26cf4b2fec779bfbf6709e531ce0e62\nNONCE: 19f75c4c31873d4915b1af3a\nIN: 51c2ef5e89218ac4060dd12be216654eff2991e8d7bce6f6a437966f80c59c527679b8983e75c617c917fa9b63bc60748f5ca179645afdfe6a126a73d3fbcd41a9df6d734e8783aff3a5134ecacbb289f93febbd8eb493693264026f8678e9fdb779038ac13199459caf9c4e86f4cf8306af6dc04d9dbb678d3ce9e41d154c4c1bca018bbc4d744655af04ee2cd524db41170f0946df225d156dcdca3e52139561b61c26bfc56bc90c21cffa69468863afb66c3e1524303f8f42103e435fa2fe2c2956feffe5b06ed20bdba730d675166f13118a193b06d7985d54d46e4150468df1252d7cd144afc99ce99b93ce9526ea4dec2cde1d0d72fb82f55db65ec2035e387e7923d98490cacc793046afaa2e49\nAD: bed34cd7e4eaa52e75bac5e86f9e9eb81028cbe8a515870edb9a151334e1f961949855565abc51af9a1bbac0222e9bd217d3e3a642b0f3df8e7c47c2c9d5a801cc8028c425b3becbe31df39d30637c38f981d268017da818010189c93d2d135024f239407623496c5435f04f9cae86e63ef46fcf9787c946b400249d8476f82dee274cc0cd3714973f\nCT: 27bf7ffbf2c9733c3da8947db11ac8801475451b0a65c96a2a3934bf45ff54fd5fb21ff0d51c83ddf0f49b005d424620b04d0c731cb214f4beb6d353a6d6b7bf1a706b070faf5146b562c9f4e6c0ba5dc9ef9ccde79cd162bcdd887dc02bc95e29dd606d22845f35d0cd6d5eb1f1b154607c0c5c2e8c7dac005eeb17c238e3d4d1e1caab72b20a9d7b2676e6491eb84e9cab903bb0c05751a33642e145de8391ca9e598ffe2e579486ce32d5d76a35d440836ede088267e8cecf4b660fc5eaf05f68872b6cd9427607b146e15fae406ae7089ae446cc2172b8ac9e42cbc27d4e5ee38c21d3fd6d4d52b2d43462756d93995b9333a079dc1f2bea9ac4248c448d932c5c0f6b76da4698d15a64f761a7380b\nTAG: 7efb02056e18e98960cc5718edd07cb2\n\nKEY: 1b6e0ebc443d681af25ee26a8ed475136ed8bfaeaa8315a4cd198961518c7bc7\nNONCE: b15c68437005a4973a068187\nIN: 38adcaa250949af910aeb807096595b3af54bacbedd966f83f784f651f7a2044461a94f1a6925e6d2064e72319dae75d3883a50afb6be1395d429f24029dc9b8cc021f15e305e5418d844aa4a89ddd299bf2e8c698a8f6a6cf0165c37bcf2e5885d73bb81ca15a33ea75da5946678dfcd546d475149dd1a2dab0e11cc8b07c0b06105a497b1fdb1a720b9510d7d8819b6d946dd85c73be515c6ec00a10a69661c59fcd7a005dd08f3cad722bf3560f356c624404f3be55a02b3301ed756f557a51593ba90d18a1c13e227c8d5180fefdde4957484dcb81d08ee3331a6fa74c9c549ae13b2dc2a80ca0435710eb9f0dc2c908d896957b87325180d397c37ea7cf65db45960c4d791bf8cf798bd7626b13bc5e6b45b45be1a8ff687572ece86d1f5361\nAD: abaedc1a7f9d9ff8003bca97af7dcc42b4399f9da4a0e7e829c0e12f4d41607303f60d1df5949fca0dd9ef171678e013b88789ac1f51a8160687d842c273a2dda93c5fba1eb5bed7476ba96a12e70cabba43d509b311e9d000212c81c483b7e9e7bae1d9869a125558b2c7ef8f838bdfe97af413b460bd9dc5e372afcb105832ee4c406d74781d3e9f2aa581ba4fe458989a\nCT: 92aa5661d04af60245f6f56153cd86c6a61d5584473979eef596d6d0c205db9e4d928ba4827dbb08d5b34946b8f3e58ff62a976461ea5639fe2ee79839f99f83cde00e3fa3258e21754fa91a17e0d1fa22cc76fbce0bebb7adad09f99bd12e70e519048d96c1f97a183d8ae66445e63a4a1f936821fa7b58f569a16e25a0d0b202231a79eca0e8a2ed21755f496d8b7a9f59f6bfcf47ee4bf35788935cfb1b5ec2af2ce11c002b2843090e2267d5fc5e26f927e8836d6a97dea2a7e508f82a4cb7df375110217f88f4376782626039af166b080e181d8a310ea7fbb4fb11d5b24367f63ae83475269281aa09b7bd259a348fca28f2e1d7938127c888c68bad2608f89a2440add0c644de2b5f08d3477641675cdb428393758317c273536942caad42\nTAG: 4a43c15d469378383e9a9a26dca7083a\n\nKEY: 03679744edb73ba31c7d9d37920d4d57a766104afc9c96650e5a602ba885d207\nNONCE: 8f1c67d44d6e86eff0c96a14\nIN: 6bad3420c7dd0c64d800ea5ab7ff472d0f61bdf2e5634e06cb4f3c022dff8c4b46f2a47fdca2d04572b67f24125c66a551a1f150a02f635e1e99895807efa8001f46388365c48e4afe49c04f6681510f7e4cdfa02deb3e60eed745cf6d7ca6b773e1537d057a043cf517e5388dbbc44ff4bd68d2a7243587f8929ef07df5d001a6099bebedf8f26f49323209496d50109c383071e4a61ce18f495d98b6c4bcffd0fc2496b7eb0ba612e2a4cca8eee2a3daa0c21d854d49ca73cf5b24b38940dc2b44a2a6623e8404fc30c4e3aaf759425ebff85cb1c661744adf34c6c5d538f3210dcd0270a3d12784effc48734b53c1a228db291e2e5573b6ba2aed0a7296c1bbfdd1f4a86d6057d5534675a3f4897fe3a1200c54af7e09b97b0a2ab9f25d5ed375e7bac921f28f7b6983a41580362dcf0820\nAD: a2dfe82989ccf0a998286623617453722bea0b6e8fba504b93cd043c7e6c7cccfbccea43f7e87502026f94cc7035c5e84cc14a5fef9bf2be53dc379053725a9a29c4e86252369bf6dfd3cf2801af7447fd0529e94beba961ed65dcfd492398123faa55346edfc3ecff720966b74fd0ff28f443ca67f88b8f5a4a73007f79ef782bef601a0827888c4c74f7777279c625de8a4b51db94f94f846474\nCT: d64a6980718a5fe833da2e6c1a119f2f16a5bf3cc5089168520603d37998d5fab07a9e18ebdc0b8417cb6a4d34357f8d598753affd51e93b451269dc24354d197885ce9a3b2f575fdc9c572b05bd7bc8df091a6675185ac15bd1c4f2cc0a8a412ff72baa6fbe95065bf2111910f4f004f6c39cd8e7ff5bab5f86abdb231406763233354734807fe0346ff6ad23a1c9c81b9942b370e02bd79eacf703ebcd53a54a5782f13ad3591801d1ece15c6deb56bb5e32d959ed1363875c57cd9d42881dc1799e652bd554059ce059a9d00a126de35f0285d5d82bfdc383b1b37d77cc1180184b2180aa35d46f816fcf125c9e8e3bbdd67c8770da26b89c7e406f02ec515edca3910de72fc76ddad8344ae36fec1d72315e1a568ee69a08154696e4545ec5ca53b3c0f5ec9cfe82792380c1b9a151a8d6\nTAG: a258557d32e1924b3eafceb7b73e43d2\n\nKEY: f8563001339afb3db339ab997cd1eb1eb7b03b228162a480e129c66ad47dbd18\nNONCE: b4c98f6d51fee205805a50c1\nIN: 63beb176b754366e13c57c18433228a81089be18b534ee5f9567d529c802d34bbca36807bf845a9d14dd141c5de85607a4b4c5521e5aa717f78fe78612b770a4677cacd77a425e2496ae50ab2e559526c37ea723f2b8d14bd8314e4cc3727bfb835ea4062e87870b13d94d52c25f0c631668292f184fc048dfeed7a9d1a88cc5c4662030700cd8c257784009b4da9039909f73840b600eaf670cd4d988845b1d41cfeeb1ea740db129c12f66a74e6234ebccf4df706ed30fc736cb5cc0db17ed108229e87d6b039da5c4f0568a4cbef9d513dfbc0af9313f02d5129cf616487934f741a0a60bf11fdc8d29ec81eb37577726f54f3e35bb10ef98b1d15bd5726fe501a9249e409eccae128df61762447962ba2a63f30b59ea25e18895d2fd11431606caf6b45b908b08cf2e150c031e20e6cc649699fed5785cfc6a0e22bd8bd8c6d25221\nAD: e9c9a8d2869d236388fdcdcff990cc940ddefd06da0524a351ae6113b29db9822adf9cb548d92f23e3951ae8522ab113579232e58578e80bd2fe3e1d06414a27ce0ae2e40d87745a8991dd5bd2e8ecbcad8b903195c15ac2eaf9bfe0104bae32f772a7d7416c5671350524419a6df6ed5e1df32b961ea39b164eb7e1353b046100998ba6853674ebd5ba011691a270c046096143daa84752f872e1ae32ac07c4f0d2a048\nCT: 2ac34bf9d0d909a32322cbfb765875297c50110ad859857c641ffba8efd60ca003b8f32d157b6fd8fcfb1c6037b13285be884ae2dbcbc9194e8757560807a14b2219b9f2dac11af7dbbb2f504e3d8ad47ff73657a4d1283c78bcd", @@ -653,9 +733,9 @@ static const char *kData13[] = { "613c3be18aab77c708f5e91af8006e11b6ddebb8b0ef98c06dc3c97d008e058bf3e534582c24a1485f68214cdd88167814802c89d5c07a7453aff1010d6db0b778d9d8fc64b5bf3bb84cb97cef38a4b30a7deee12f0af806833c8c6d35a7f995b414eb0d9a900e3e56afaf2dd0d162063c4dd52bc6ffa56cfece2ed90bc7c9f4276459c9bd128ee40a5aa514de786ec15d04a16adddd64c7613ec9eed738fd36e24fbcbdcd0d3318fab948f47314a5400d71c5ee07a8c1fa17e4a4c08f4a467291cec1e8266342a42646d138331b08498f2dc3fda0374ef736d05c2a363fe08dc71ec799f0256ac9114743f40641ed8d9a039c57cd409bff29bde518657cb305a875cc6c0a58fe9ea3452df3e3802cf316a0c1f477179f6cdcb39c7c9424c07997500989a600887dd9f04c92226df10e9a8301818a5ec2f0b7b06b6d1443dec46f478a9271498b956b72060dd2b3021b004358b\nAD: 7eb6a083ff2facc3e9500278352790ccb6f9df67dccf7a03c33a34c6f33c1b4dc4ced2d5f69e5f68e79c582bf0db7751b774019d9399329f1a6692c5c527a646c9bb866e69d4f1ba4e6065cf0c5b09e941c5bb6e96d7edcb19a5cc02411507701b65987dc206ffbfaba4f06cf394976bdde1ac343e368ec1083813417cd0a325aa0e88913958974fcc911478a460b79b9978e33b21064ffdc1fc4df1e314948df71af9a6e0a40907e6b35ec6304bcaada85b456298637b6fa582ef331e2815fef135dcb66870107b2149c5aaa790f7127c0f0819b83bec46c0f6d30edb61b6fdf4f35f4b5345f1c684f41eed8088aa2f1d42c920a06092058e7c225d10fe1e5befb4dc593badee754fa12b843a6e9f67ea0e0616eaca697b22f526fb79a2ec259076971185678aaebc6449ba3bd284230ee621bc02ef1f5ff23651a6116cbb7770ec7385a44f4d54e7cb04aecd59a99660a1021eb6abb5d2cffd76e6e7380c22d0224e499e0c7b69aa0e7dd6deb47b22b1f1fb882dc35eb944a495fc3f6345b08da8f7185c3be95952bd7c982d9c8b2410a1cf1f5164961f6d1db6160d252e631f77b02d4e23dcd655e7e875b9b703fd27c57008184772c73fb5dc626ba43f54cbdc2937de7b4c470235098cb0a3e699baaa8e2adc09f8182ae1f168aa86a790688795003c3598293ca269a944\nCT: ac837bdf77bb97a1bac4cdde49ef8d6c7024f5f25a7bdcf924fa87b0c77ddd66bdb67c9b8798922f5378c0405be67d5da47f7c245c5f7330accaf74d5bec6a8667c911384d9c77e9d3ca38d88bf87deaca62b58d092bbabe64895b944fa9f6bca0aa17a55031fa19ab0c324948816c57f67adf84077b277e71a7db9a6ac537a95e54d3cd4c9517bcdb7e9e1ccc8e7dc252c27c89b9c20c9876ce7c01b17b80a05c6f75006cdd1e081ade6f9353c66f7113613a5f72d82dd28a65efb74d0d1c92793d652edf23bf7c70f6dcfd5d40b2799b60c2a6fb53beb02571c78001381fc97d4a9292a0eb7a4a0a67cdf20b4810aebe5aa4a6d20fc30e2971924a09f106d0b5b7fcf181321b6f8442f91fb7ff3b5610353500b9d6f8a36301e7cb12d94d1aab6ec0f797fdb57232c02d5fb4b2ffc7d0cd2336ff96a4a811cd1aa02248f4a48c7646591507f9e02f8f441cacee92b5bb3cfcb7a5dbb02993d0fb1818e0ec4cb719a6b43d82e15ce576f95912ebeac7a7aa377a50d1190799b00a6da2fe7cd7231c3fecfd4e6913df0b46887ae8412cd2c9de49ad7a4e8f55e7f53239649b566c4940db50e0ba9a915acbdf0ed97905b0c70930d49c5c31cb398fa4f52222d3cdbd9374ae9d7d979991fa50a2cefeee88b3943578f99b9a46e58900378ef22880c862103ab7e0c2066685571b28c3407cfef5bc0c9b176be8dacf6130bbc44389aac32cd0011aaedcb752e16a1f99838030f7364c17441de87d5ec670a25a2b55a77a57f2304233b3d9d1f4c7b145e7e145eb8607f2d9b6159e954f14b02609830fe54ce1a7dab775b49d77a0ed503773c81e3c53f50e0cb676387dec6e506494ea7843fe533aa7f09dd1d4c960dca585a1590035a9c36cc9f821b4a8aaff6548fddce5250efc4211b0ad0ad4dbc3dc5038218e58851da4848f399f8d7938da211484139000dbf8b6c6314312586311ca1d8639fcdbb20b6a6a608c23027eb46938cd6bb869ea2d3b327728f31012de124a9b57dc96d5d98154b98045943a24e4f788e48bbcf0dc20598fb91627f09495c8fd5bce762b1193fdcf9c45174005d589ba6ad971b5d7ee13e1aab89447a14f9d750621184cdf55ef4ac2f7fedd7b8fe89e0fefb4382ea18cc4feb62e9650e9ba5a12f9366584ec774f5aa09793293b558293991de7fd1793bc44341a5b59cdb45095d5b53a4b847512dd2ea621f9778b4c0f33cb7bdbee1061505f08f1f2919cafc5d6e45206cc35e89e1d366b7abfff3da64f6cfc0d0b855bf5d425a85d93ecb01186697f60a7a47870ee2a6a50cdf134a67a51565d28974dbaa9c62ffc960b70fcdadf79dc489741095ef3052df69c55b99c95a44728d30e267a02922c7a6ef2523ec379239a5148eef6\nTAG: 09a43ea9d67cec2b3f35d401141af9a8\n\nKEY: 94f159c5d19a22469924c5fbfd198b8add28b37cf7bc3258fb4b906f2ecd672f\nNONCE: 4fe1fd1359a4332402251d90\nIN: b2e081fc4457b3387c1033affd15747b79dad1d6d3b69c076d4dc5c209ba1cdd383a5196fc21fbc49fc65c69b85ec299b1daa26a4bd2e5ec2559cb230b21c3bb62e2831830a2b86da2abaa289d98eb04eaf3cf8d583ffc7291c3201df2c09b7d900a4bce0972e390fc980eb67cfe654ba3b9c579f997e319496b57819b36dd2b4484b88ea3cc1ba777b10ecaf526a08afd9e2b3b32b2bc02932af5d09c2ee3fdcfa18d6261808e418c4bb80be4315a5581d405841341bf2775d8d0adc21c10b9ffdc0ea4b22e22f61b46f844d8caeda0aeb7e1c3f84d337898af24fa68d60e2f19ff815713e1587e0d6e68d64cd088ed432c45637e1767913343d899b2f8c01bdb83253219878a5b3a4e6166e02387124e711a56e49da1893b4f72198c6339943262cdfccba33428009dff70a0c8c79af248d081ca04edb2ad4f35ed1819f0846dfade107c7e9f4094c014087c719517d943e524b86047d24aef8b901a7b1ec4e839400b717e758520cfc7a2dbced0ef491eef6aa2695b2ab9a92296b6e75251f124168c36a6555c4a465cf84a7b36f3277859dd5bb0f10f84cbc944b87e37b6b8ff6958bf1f0546839effd30995853c734a11c062414fe841113d0ae62597cd12ef80dbd4dc4f72e065171c8394e45dc6f87c86154e9846c1eb58f560b8c503848eacf05107c445a6a06420e67e2297a9975d23a406f8b8ee46d958d10d8724d90bb26e2b38be1c0e8258de3a09541826486ad28af8f2fa8c7befc95510589baf81a88f3823e87eaa8e40759cf0853547301de1e87b2eeccd76967bb364278174823c1cb1963f34fab537915031cead844dbb1c614eda56e9952b1eb4cb153d06c59c8da3b10af499b1c15ab0f03559fea13b81bd35fa5eb9a5431e12ab87c3c094861154d3d8eda448af7e15017103ad3dc7e9991b10cbe61cb33d2ff90121f4e40bd5d9e9c34b89679b6e1b54e38f00b128093af3e4ca9830a1a4d7a5e9db067c9c51fa26232945fa3e1e31e28c5000e1965cc7aa11a051305e68be9d60fb92f46eb2b701b3f959819f525ebefd5339bebfb64636d680a2a4f32afce85e287f8936bf62676c37ba810754186e30b812b1196e8661e345fb5b09b8dbe5f96e0010c5e3dd0a4e983149f4a058437cd46e3b32ca04c51ae3a4a39a7e15768a8fc379563450c616a5c7d7d98c46c0b934c894727532a9e713d330d294a2753f0f46049c88eed68711e9c49632144d5cb14d76848a6f7741d36c969edecdde52cbfb57a628678d31befa7ae3198343deae760d5c92c31f3c045b3e932e9051cd201d2dae66ca0368b94445d662acd6442c39eb945c8a4b46129a8cf5bbb2b27927729406f9b081695ce148a10226bc345c648fe557b7f8db4604fd0704831e5bdef6694afe716ddc3a8d69ccad4113\nAD: ebe1684346b493db264417cde9c0e48db46aed1984f72903e94b72cc2b2f151fec80b32523f96f61485f026d63734ff80015a1cad4b21ed1ba057627b387eaecdfc6d7a195b7d46e485bc137726d96c4ba51e1656c3f234174759ad922f3493077d65c149d1e871855490b6fa5924f6270cf15920838b66e3250a99ff7a55ecc9944cf3fd204081a61ce05bb989e5abeae4b2f24801e7f2223d5ce05c2b61f32344a0370c22751293bb898061ff50d6364ea0275bece795be21c9dc0b2749ff68a6d15896d4692474bd46fb256d1d012e45e7a58d880fba240ac6b89d2087da1ff7d41df44c768fee5bdf51f36b090bbf85e7ecb69f61312463eb0b4b1a04a153f593f8d43f62ac96f76e13ab5928147c5e63788bba4f076d12eb6dd15842e2c40fc9f1ad5dcb80bd95d9d41222953776b3304badd650afc783b7342196ab551a474579d95f826f53d15b96ac98a10c2c6d50a7b9b947cda9fb8d8d7dc7def72c5283a93112d2b58487a25debc9ca06946bb0a52a1e4ed3bcf0fb8decae49fa6607c55501f01b7441671f08c814023f7d46f4bc596d709d305ce320b1b0160bf35c8f17622c65b8e5c97b3fe7327e8e22384f6c400e551dd438d6d3d0f9ba6101abd1bc2486ba249b4cc83c47982c1210328968f2b28e4a7c4880d598d5b47aca2093965622ba7b4e4062c86d81070ecaad93d5e47ec\nCT: c5311b1a6e3d93da070ee0fc2c1007558db64bfdabdc23c832d151472513482314e7d9385918abe772970c7d8b3ae4eb0d12965e6d7f6d01f6c97d06b51d3be812dfb290592578713ed6342a690ac115c29d471826f37f7f7b46936ab9f431cc0e4029579036bc6311574205810fecd3a17ebccd0f15752152276d5169b48b0a4fa93613fde13997517956f84500edd7eac1082ab6b69bf43f56fb9046cefe8425140db5f6bd3bb201b3345b2138c7f42120a3009ccc19e2d95ddb2b4384205d2aecb47c89cb43fab6c353f781caafae280e93dff5bd213640c41cfcd81b9dfd1be05ce21758c5474c38bd24819e5d085241dd54c8d2cbb5b21a616e47c05d4c64c0f397fc16d52d008fe4e83c040a6304c41a448784fb0c54f8a66fb00b240b9d66e8db234d14534dcdd6b3ba78db0403cf0219406ca858fef6bcb259fb69c53c6f964f450bcd12997955d0190ccbb2d9ae6b3562d85dc7de2bf1bd5a8d49651fe5de73243d7f89ac8796387e0a04c74d5834e47afb6b7444df7d27592fbfdeca72428582703ae52aab48c1b587b12fad6c887e451a54ef81481e3d8b4da1e3fc09404a7c209db8c880c40b3fedc579fdf19f956bfb36d5b2d1affa0a3631681084ae4e41e3a0fed84e056bc72b6c0eb1f5449935f7c2d3de07a2a5fb65af65f91d2c1d730edb80b437cba66fea779449b68c557c5f8bc6a2581b6808a98a1acb9e6de414377f5b08fd5cfeb4806e8699e50236dc8100a88f4f55d887caaa6ae8ca09c23019126b62b5c3186b459c39ee397076c825b6e28ab62d8286743f9d07182cfc634eb4512ec3beb04ba81bc20294b16fb6d42301a74fa95f95510155a15eb953eaa51d82fc363c0c63d1cf401a3ccc0c577474f99f7c4f187316fb85e1db38dac1df4b5e7c710be5b5949dbb1925723d042944eac09dbfd74d7e876f5931f619bfba1ea9580bf4e", "6c2540fd68d5aa9cd21203ba207f0f62e325c1e054271933563063acb4d932eef201bf3312763dddf6992fbd128cb8fc8b7936acbe8712ad398c5a8719b9efbe0927b9f637f323c4bea80901091608ab76e483b5ef666560937705bff96d430e6e17b0b24c755de19bb88aa81077852c92a96e902d538b4e11b78a4b5d1f5669aacdfe5125d806a21c06ccf4980edee24e41b7e17672fed0ace9b19e4d55415d097f0b5874d60dbe311871abaf47220893c398d5595ee16275eecc6d15f39aa5e2181ad1448345406a4c77a34c3fac77b4c506cf393791d69e113270adf0393cad689a07056e388ea3bbd00ee5878e1120c869531a8b4745ca2debc1e008493d17bb3777992cfcaa165188b4801122af5422acfa0a1807a2a35e793ebdd95aa9e025edc065cf9ae85972a5f42da193cd9b653373a6e15d647b8d26207f3230e50bb49\nTAG: e2df8917d70683fb6e6ea67db55367b0\n\nKEY: e22480e24a29b2910b227930344f6a00916bb215e57e1f3155fa9437603fabc6\nNONCE: a4c6732e0887f40b5017de54\nIN: e46035c45b6ebf14c5088c5f15f552a4d233de7d3750d7736838a5cd4a7b41df1b71e6c5e6a7dc63519ec43bcb4fc603168352b8b8e261c15e76e73556aaffa32193c1f5641b2eab29497c80eb06543c1b0f1787bc616a4e6618f751dd0a2b28a87fcabf405e97efa91becc8ac1b036a2ca244e13dcbae589f0d6bf8e19bf91caff673f2a80de93a6fd5da1e63516e2760ca12a64c8175071de22b26ce72ff9e15e5c55fb253cae55a3f48c0b507bfd423f66ebdecd0b6227d0e67c4347f2a4819a6825dfc2651e97c1da629e92bed3827a15dec0f0c8743731baef8035fb0a790f49e5b2a7339485df313a9633496fd9e7a9904ec566bf20b8dbc0e3c1e4572411da7835b5eb5cd51313b78a1d6ed96bd9aff2fba37e86d475d95fd7e14c6fe8ab23645b15e7823b7bc9d0a02fbd9a43c05a6c660b6690891c4d055af21b50a5500d72c91695536eb1a3852caceae05803486c64535747df691ebc62e888bce8a5c820569b3d80edb4e29027e737fcdc4f49f6eae43b4bf68a5731fbd09778d6b205bd8b3ab4cf251ff31dd94f2033118ff0c4154c78af27570d12def873fcf4de7ccb6b6cc8924dc63f8104e9a3323ddd32006d8ec3aa530818e299490dfa0a9d811fb3bbb5f624f26dd7d0d7a87a7e7748af5ee4f4bbeb150ea4078b504aadaf92b8f9edfb701c6df7ca615416f61bd770d5fc6675db01394a26f585ffb8f86b254d0e08d0a0f5a499ef1b2bb0216e486229f5deb16d1e95332b8673652a86a6e3fa0e479987b2bdb1909fb772c6836d15cc57d97f29acf335ec1873c1bc6e714b689db855c8ba59289fe792d93774dd83313e3fdf11bfd6a40d6c8b57a5989e844cdf2fb38c239f6116c1c3aafb9356ad4b07ab37f7fb089cd424a8c1f19e5a13f085ec8cd74c3c9f0aefccd6fe5340eb1e419d15285b6b0d3b57a5545f6e28b75bf4795d995a20dc7a618f0f77a174e3eaafe221f8da0cb071473c507054243a7f9eee7d5c77b071602936fd5bc411e9923fc82016cf5345454285e9c1396696e05d984649a2955d7446a1d3966adda11bddbf3dbc11e093c15b7d4fa2a7a0c33fa28dd3242738d7a77775cbeb8176a6e9a4e4e58e03f631a67c3229d57302fe5967c7e3362ff926fd584edc32905a350b390391f7fc3343f22498bd198ad56cc2827926b0c4700cc352bb990876db7c17e2d32b5b0af617554a1f76c32b94cf7728e89bc208f22e986e7d2faef190f820918afa4e08cc46adf0704aab761cbb9791aa12eb31a7785d7716c3f0a46afbe2a44a52e5d0944fbe207ac78d54c407679814cc03d9c9ea28f1e518a10e0cf034d1ffa27b67c9f027d738e0a96a381571bb52afe2e983b34f9159f05d4ac9973d996c4612b7c60407a66925068fd98ba6b7742a219d8bed4ceb720a8541f4cd9eb990384f8f8698515ed3692\nAD: 8eb26d00d61388ca0f06d45cd697e36f11e25f618eaee0562dbba21d10abfd0bbfe232e6efca4947adfa7fc59de529652d11847d3cca84ad147f8905bfd0743be43cd21a9ece92d2d7397f74b1632ec2b1e398565e3f37039f1e147c061b51d59eb31bd16bf830b7824d1ec5e79441e5c5e5131062171467a037c350fd16f58854e3dfd9c1224d26fd600b006d4bcae123a7a9d4e98c47b9e9e3fdbc22abce09b3c24a5a060e371ee70110227c9a8b6049f194dc4f74cc97d01247d76b460774acf7c5d4a8fb4f01888e29ffc517839c234836cf513951435f226e635ff8b02b18225402b026566e951449023fcf7f6bc2285dac1b7dd83028697dac70927db01c22921f6a7a6304052e58c8e87819bbb75de9cbe6239cb1ae8fd4849eb4f48759aed59d5a0ec3108b3131b0b74a4f860e37d02e04b9501e5e3c306cb25820abc50cdfbb05f8e5e2d2b94c58190c5d950f804786fb2ef97eb013f6f049b38fc57561b9cdfce5ae30516050d13d0ad8c1d750b51a552520785a9dd03c68203d91e72e3bab17cd67989bd103532071676718e889b94ee12856547a6d0a6c88c236d7fc7b0d8f222592d00aad4e813f8c738bc10c0b1fbf23bdb2baa56b1047348ed172a15dffd0bab088e2b406f040ef81d3362d0f86d129fde70ffaf87ef3c4554fa43850d1816407b4d5b0459bc622414a2d9cf2809e60e467fde6ecb7f4d9\nCT: 98763c2423882eb5a1e9075920b2245f2243341f6dd2dceae7780aa738fab65c7d86f41dd4a64283752db5e86cecaed0ac1afe966171e94f2c30d63a93ff11343ce15ff3bf464d88a6912fbba42c08e6225cfaa63c6da17a6354a34362fda3d993920050dfb99c84a235726aa4cbd66260b0e5675bfe89078e33e76ef537d2071d5801758c6cf07557c0e8bfe0a49aa6e212d69617d1a22ff15a26ae28f4d724d6b537ed34af62672cc9d48836f284cbc7eaae8cd15b46b8e233c94bf3036713f2679e23e0bd829dde5b3a5d7a2d65193f55a45def3d52830cfb1ce3f8208c1425d8171a053ab076c2377f7c26b37970bc3c937db75181a47467b9735be331a0f30a7f3ae135a533153ecd0a5e0cc1568e303a6ba6065c0dca8162a33df7c5b69542938c88e2141e2aa697c48e72ec0573065e9d9a9945cfd070d45218f646e5cf0c0ba145ed1fc7b7cf96c64e3a4671eb6b51ac8eb79bf0b4abd56fffa2ad8a93c001e2baf0b65e257782d7b7e3a837cbae16d40183a8b629467f77f2c7f8640da57904ab75a642e99fe4b45ba7ee488f889b07ce7a4e74540c3e0e0e67f88d473509295a66e27d4ebda1d4d3313add2555477aebf7fb84edbfdba18afc6f04c4af6a90730518a8ce28c12ab90921c413bb822e63cae113e5254039cdcad2dbfecfd97c183679c6c4691c99ba771b1389384259b966f358f871343b4bc5f9a92d8f27588202ae1269658ed91bae33deec6a6a35b9fbc523cc11cbc15024f4dd386b8f41c3fc7097d717099e722e6243a13bc475d5f2b1b2569f14cae6710c8650bfd78520caeceb035f58adae811c0fe9857c8cec59a01123e5eb2774190943c2cc7d535af77ea1f79cdce94e23de21004c73fb8469c230e25fe245c8a5a6314736166a7fe4e1bb0f91ee8d60daa0e576b9b7c6b5957d4bd8d8b928d36aa46fbdf742dd602f9cda2ed1608255d6dc962cc6d3f270d6a42f5185b38e6f0085f39dd17260f0580b62d49cdb668e3e5f76d47dd1deaba0db5b315ed6deb62e6e4388a74ff21903d7bed3c3e87585675a608668bc031aa83e7546cee77bacf9d3f5cbcf00ca71d6f6c86751a5db0d7f7065324d33458b7fe66e2b63bf9d8b514006d14da70f0d64f171a7bc11b2fa5955b85090701260a13cb52b930681e10e9daf89bdffacb9c13b9b60319e3be0ed29f7b7d4723ac5af888375c9e23bc97d3b189ec778eaefb3e4649d1b1ea96979c8f004064abefdfb3479e924dd974ff6478beb1034124b1cf27fc739872bd24bf257df2068475f0b144e61411481a48739e2691e535b64066acce2e0fee9c239c4015014dd38570b01646bbe97a389a3604312f06bcf7ae288790b73434288ba0c90d7015bc1bbcd5a0fe84564cd6a692df04d53716bb96d769074d758bf1199f716cfe5c4c542f9852435fc9675a80b4d\nTAG: 9f62d794a54433e79c71a5a5cc8d282e\n\n# Counter wrapping tests\nKEY: 0000000000000000000000000000000000000000000000000000000000000000\nNONCE: 000000000000000000000000\nIN: 000000000000000000000000000000004db923dc793ee6497c76dcc03a98e108\nAD:\nCT: f3f80f2cf0cb2dd9c5984fcda908456cc537703b5ba70324a6793a7bf218d3ea\nTAG: ffffffff000000000000000000000000\n\nKEY: 0000000000000000000000000000000000000000000000000000000000000000\nNONCE: 000000000000000000000000\nIN: eb3640277c7ffd1303c7a542d02d3e4c0000000000000000\nAD:\nCT: 18ce4f0b8cb4d0cac65fea8f79257b20888e53e72299e56d\nTAG: ffffffff000000000000000000000000\n", }; -static const size_t kLen14 = 64853; +static const size_t kLen15 = 64853; -static const char *kData14[] = { +static const char *kData15[] = { "# The AES-256-GCM test cases from cipher_tests.txt have been merged into this\n# file.\n\nKEY: e5ac4a32c67e425ac4b143c83c6f161312a97d88d634afdf9f4da5bd35223f01\nNONCE: 5bf11a0951f0bfc7ea5c9e58\nIN: \nAD: \nCT: \nTAG: d7cba289d6d19a5af45dc13857016bac\n\nKEY: 73ad7bbbbc640c845a150f67d058b279849370cd2c1f3c67c4dd6c869213e13a\nNONCE: a330a184fc245812f4820caa\nIN: f0535fe211\nAD: e91428be04\nCT: e9b8a896da\nTAG: 9115ed79f26a030c14947b3e454db9e7\n\nKEY: 80e2e561886eb2a953cf923aaac1653ed2db0111ee62e09cb20d9e2652bd3476\nNONCE: 5daf201589654da8884c3c68\nIN: 96669d2d3542a4d49c7c\nAD: e51e5bce7cbceb660399\nCT: 4521953e7d39497e4563\nTAG: 2083e3c0d84d663066bbe2961b08dcf7\n\nKEY: 881cca012ef9d6f1241b88e4364084d8c95470c6022e59b62732a1afcc02e657\nNONCE: 172ec639be736062bba5c32f\nIN: 8ed8ef4c09360ef70bb22c716554ef\nAD: 98c115f2c3bbe22e3a0c562e8e67ff\nCT: 06a761987a7eb0e57a31979043747d\nTAG: cf07239b9d40a759e0f4f8ef088f016a\n\nKEY: a6efd2e2b0056d0f955e008ca88ca59fb21a8f5fc0e9aa6d730fbfc5a28b5f90\nNONCE: f6775dca7cd8674c16fdb4ee\nIN: 5dc495d949f4b2c8a709092b120ac8078cdfd104\nAD: 86a597f5e2c398fff963fcfe126eae1bc13f097f\nCT: 04416e23586ee364b1cf3fb75405f8ef28fddbde\nTAG: e7b9d5ecb2cf30162a28c8f645f62f87\n\nKEY: 8d6ed9a6d410989e3bd37874edb5a89f9ab355fa395967dcbbfa216ec9ce3f45\nNONCE: 55debbb289b9439eb47834ab\nIN: 52939c7416220822a77435a46687f134cebc70a2f1a4c33d37\nAD: 7790af913d84a04c1b72d4484ea2e09fdaa802d8b1733b8470\nCT: d7bddae8929ed6bbc9ac077e2415d9fbafae4a0432f8f7eb6b\nTAG: e6383b16ed9c32521dcaeef3a7b9b67f\n\nKEY: 525429d45a66b9d860c83860111cc65324ab91ff77938bbc30a654220bb3e526\nNONCE: 31535d82b9b46f5ad75a1629\nIN: 677eca74660499acf2e2fd6c7800fd6da2d0273a31906a691205b5765b85\nAD: 513bc218acee89848e73ab108401bfc4f9c2aa70310a4e543644c37dd2f3\nCT: f1e6032ee3ce224b2e8f17f91055c81a480398e07fd9366ad69d84dca712\nTAG: e39da5658f1d2994a529646d692c55d8\n\nKEY: 630b506aa4b15c555cf279dc4a7ee9add213219d2c68163ceaeda903fb892c30\nNONCE: 79eca200a5cdf92b28be5a7a\nIN: b12e6f1f8160cd65278c48f68ad53c8c82fd17c2c39bbb109f077c17fdcb8a0b3a5dbf\nAD: 46cb18593b3b26ba75e4cb20a252caef31d00be31093d2369e93572a393d650c68313f\nCT: 9a9ad1f78b4d411afe450d2e46347a7df98f39daa4fd478b9ab6e6b417878bcd52743a\nTAG: 55453a003b021c8a247379cdc4fa6da6\n\nKEY: d10bb6641e9ba0a3f1b016317831ad4232f81c2137adac0940ecd7fa36de0563\nNONCE: 99c922d37c95ebeda8e81ae8\nIN: 8b9089df5bb048cebbe709cb61e178ec768515a0031288d95b7cc4dfffeb51b836e126a237ec50cc\nAD: f1cbf6c83493b2087d9f88e02121a114f45ed51817e46ffc0b66a783350eae89c6700db3f3be5f4a\nCT: 8a838c51a8ef8134481e9951033295ae686624aa4df72f869d140980347a5e69a6d7cb3d7119b303\nTAG: 9152bef766579a3e9a1e36abd7ebb64c\n\nKEY: ca665229adcc7554f1b1c8f50e7444c6d4059c525f9c0da1406ffb35d50cae97\nNONCE: 8e2df19123ce0ad41df416d4\nIN: 12365eaac86b270e9c61b3ae7702a6f3583ef4accb80a98454c56e34e2ab97d8afa23ddee34e7e3a522497f985\nAD: bf539d8e9e3a02f3e5834970e7efd40cc7cb340a075041428d6a69ed9fa5105e4bc63720be9a7040ce5b4af6e1\nCT: 96027efdcd4433df8e7f6181c05be365cdce550b09d45cfc96fe258eab6d55976a9306a0070c9589ef08cf7a42\nTAG: ec9fb5e79cdf8ad4c8a79c900975159d\n\nKEY: 5033338bf7526cca0425f4a620424662ebc58364c8d985d130e525fd1f598f3f\nNONCE: b40842b30758aa3eef7cda62\nIN: 69a62b8c5f9b81cebee3a9345f4e49ea089b0d9c1cc57b4ef707956d0287de83fcca6d8f5270a9393e00693075028189bda7\nAD: 3efe0ed6fbafa61070388abc59c0d06589309736b02418df5534c8c594d61a2afefbee17af8283d01634b6ca3e8e2aeadff8\nCT: d6184677a21978b6443d99d7de1fd01c6b6334cf01b7e7d58456267453f4de96708b62301172c8c87e970f91c5301e0ff61e\nTAG: f8ac7aef208712845d137b8b176c89f1\n\nKEY: f33c39140999a2cb69e43129cb5df18fffeb3513ec3560792e9909784daee43b\nNONCE: 70608463f1dfabb1fc4451e9\nIN: e2802c4d290468177fdb031a717345753cd7c3028ed07dea428db84e7c50c3eb7b24f7381a167b4ee31bf88dcaf5251fdb90ecbb74ac2f\nAD: 10a6f463dc59d4791b3c2b4c93cbe2dec579a154962cb2c4cc77664e8c2b106c574fe115fd43dad94b8b1bf2f74820e28435b4444b2b82\nCT: a27419a46037323c033d7cf2a716777fedc02a5ddd8bfbdbca82ffbdea3037bc1cc80df7c5e502b32276ae88ad6fd0f0cfe72604648812\nTAG: b1ae330d47fd399aaaa687e141e23fc7\n\nKEY: 2121056225a7b2316a93c4bfeb970486fa9c586c14ba8b40be5844a31e9449c0\nNONCE: b4b7d1e8fa7d0e2334c92315\nIN: 2038e2c6cdf5282f081292448f8febbb60a1520fa3771cbfef387f48c5915a1438ab709628e8d4c81623ddbc2f6f159c3c9a8922905c4994269898b8\nAD: b07f66508a39c4932b04c16172d6462d78273cd9463e52284bb73e3b8b8e7047bdf10c5ace1f903e5a5eacbf67c9351f82c74bda140df2fe0480c80a\nCT: 7b54618ae09b37ee72e51873c82cdd20b6dca37c334af89548f52f34df3a757e632cc0d453fc97270898eb50ce2f2a98c4cbd4cbb22a5b7c7564406b\nTAG: de3a9e2aab2439675c4f7f0b61216d5a\n\nKEY: efb15235bc91771aa32d51472877b0eb364de2f88766908eebc6e6b57a702099\nNONCE: 1a510b42dc20d1d0fb34fb52\nIN: 4eff604dd4bba67f143dab0728b8597e269d4e0ecb4ce80c9850afc645d96da239d9db360605bb4268d74e1fe3431a44242ae862fa2340c076db13315f615b85f0\nAD: e8dad34f727e77444a96cf06425640f1fc80fe3b01dafd1d91476140afe8204286d01b0ebdadc0270a3d218516ff5f08a69a7ba251ac325983caccbe0d9e1de359\nCT: 989fef0145e2fe93b9f99fd90123632d83d9df8f37d8e1f80dac329dbe0c214c2191009e31232538fec63a29665f0fc1c77dc86b2f5f2050b86b3ae48e85d63116\nTAG: 6816304faeb45da4e4772f5c35730f8a\n\nKEY: 998c22912d5687fc3faac262a902783fcb0c738520b5c4135a8dd2cdbd7b0dfb\nNONCE: eeb535c5bd6edfd696655b60\nIN: 1f6ae10d425923c882b7d2f556571acfc10333ec665b07bfad9f8948a3b8c5e5f163a4e99d4726da1a35359c657c848f327b7fd9b5f61987440ab12b9399db24715715a2d1c8\nAD: 9a3c76dbaeb69a6481a89318caeb6358267ef51a1a364a48387bf77526837c9c70afb6f105cd47d2b976dbda7d2b6bfea7b76b135810c53437472f7b80ffc8ce4dc95c7e5045\nCT: 87f4e2c80a4f15f92a8e94f468e70fe7f0e0f83c0a7799a1d465043d25210ac6f0f39a5e9765b4daca637864d1bcc090d2ef33ddfccded2d2dad61dab443b3cfcc683147c490\nTAG: 0744d928a5b5ec95f3087cc2623f0031\n\nKEY: e12effa8da2c90a5d35d257c07d1b467991bd5f75fecd7129aea4e26b9e27ff1\nNONCE: 4edd0b4cc349d37eb77f5576\nIN: 21dc87984edca46a629ed95ffb04471397da8806c525a781d9a71818422e344e4af577f38e7cdbc556d4766770a9a3c95bea59ad497fe0127816ec4dcecb6b999486719b0b86cdb2c9d09e\nAD: bc158e6570fb0a08d73367dba65b80a8c8e57ba6c7b99493ebdaef0424e18d8ab1f7c88670cf51c4d91b77eb9ce0f89a46ed1316141e4299ec6c3d6e712ec9e92d3db44640402aa4ac00ba\nCT: 07ab8c623d683ff83030392e2864edd4b8e3d296d60579a226a8d2aff6bc5af3c4598a18cc1e8d7db4ac8eb56a082af864ac52a324851dd29af51a0945cee4bf303ea111b9b627aabf5ff8\nTAG: 53e69b7be969c39560c016c6bc1aa4e1\n\nKEY: 3d9723c9235939df8647529b7e4a57b8536476d5b71b424e2c27ba4d0b82b0e8\nNONCE: 60163d2eb7822af7fad64c04\nIN: b44face0f45e4a8da19aa0c5cbe3aa960ed6b74fe3d3d9201f52523dfe7651756b2ce482e759c87bde4ec670a0e808fb4883e437c7cbcf2f6470352174327824200cb0897edc4def1736f51e229addaa\nAD: a4b2b7bf36a70a5246feee52c474058100bc618fb0e3d32e8c1f76153edec47fab3045dcc7eed9ca1886bb2593703c9ffb8883c45386d2f4e3fbb0b7c722d19f2eca94767174d9127450549e8993ae33\nCT: 66fa63ded066ac67bf218af7bc21169a875f4bd695f44fbdff906f0a9b8a067be721fd260571c53a8b51661c8d49fe178dcb28c31deb3fa71b096b387f9fc8f3657d280404c05d2b6443eba7e60b562e\nTAG: 59d5450872510c4bfb590d9497524331\n\nKEY: 75b0a20935c4a5e2126ac7420d632bfda8d41bc947c2402bed4759b6e617ff92\nNONCE: 0c3edf0dcd1125d7e263b897\nIN: 8edc98e70030e40bea1548f6f56b4561272be0c333f3b7ae53ff3e27c35a91b1aa42d39e6305ec4811e75931e5cae2261d88a6f7d6c5b05bfb48802264e9cac782411f1de579e29d464ba56840b126a3fad07f01c4\nAD: 7e35081ef652424da6304852243ce43ff711da17f7881d5e0433b1ad7535e755a8531b93d67ce99ffe66e59fbb24f6b42655524b39f2c84daa5cdacb5e7916266c05711a118b2128930b95de83ff1a67e53337474a\nCT: 858dc74dbec6fdbe4ef15a3596ff7201c8f4fcca765bf5452f678b1493a66ed9852a6fa174a73099acf951a35699f33289ec50625538c01eaa456dc658013a29e4d133b856eb969c1f221f99e11fadc98b0ee08243\nTAG: 3d8f17838c4fc69f04d7e2b76eebbc0b\n\nKEY: 7a3823191abcebadb7970d1b65c2a8dab8a908151737bd5400b3b6c0d59e3b08\nNONCE: e32eb00e5106097e2ef0e8ba\nIN: 220db5400dce604adee4cb698cdc02d2ca61622bbdeebe347b0bfef55cc45319b940f93773a9878725c5f55485d7a26363251b9ce0d3da1f8f6e34ad5329dc9f752ec7dc12b2d259ac89a8059085996a431a56cc2dc2400a26b4\nAD: a83b6dc78931cb7500eddcf77792e810c1edbd5f4e33f85018807a8539a3cace094fb794fa9ea058e82c830d42d5a6b3e22b7785698774aec5c73edd92731c51106a23c569c0c0fef18d13da1562a9a42aa435b243c4fbc9fe42\nCT: 5ce6ec0e1d67ced5a6aa46c909b9b8907b372be03331dd0940ceb6d87e928c14a1a1e8ef9096c9b63ab4cd93242ec7be7e38b80643f9c52e7e90ffa06b8f2d238fa63dcd97af74ae37802d124623b8a272e68ca18b3432b7c017\nTAG: e21c61d604253bc5b5d58283756b9eb3\n\nKEY: 53ff6d", "c0af3e89fc2de7370caa433f539d068609fcfed6400a5b9fda4c83e3aa\nNONCE: 91a824c5e023283959858062\nIN: fc23e07b4018460279f8392e86423ecfe465b25b60382f58995ef5fa1f9ca235e4bf87112554aa0e72836831d7b5f39125df11518b8aeb1809d804419beb05ae013482213012e4ce980ddd1c58e11608b775d12b450ecace83e678c69d2c5d\nAD: b3a1db2d467780480f166859e0e7aab212738b85e88237c2782496c9c503347de02f3dad6bfc671fda71a04ff1e4661767c11303daa0c36d944346d39e3e29ec63d695cdcd83b2b57181582c5ac692b13e4299ab5e86c59d09c2dc6194ebe9\nCT: 88af588ec33bdac2cc748a01ee3eec97e5bbfdf69de1d66176f42b66383bbffa8b185cdedc25b11a62237d334d68120fccfd68c2f9447b3b8e1f623f33f7f97ad8815d29bf11bc0c65641ba8fca4a087783f4694fb1d574450191825f84402\nTAG: 2c4973323e635a885f78ee106eddf19e\n\nKEY: ca2b4d335598f26d3d3607e62b9ef853d3543e741350f92f3050894721d3d450\nNONCE: 2431b5cee8c3ecec4caad278\nIN: 75e29e46350d1fa99403b1e5baa414e41a8e714910f313f8e850cf3076508ff650011af766b51283fbd5626166d775fd4b4cb7124d26d77b41eb17bf642bf67a34c1caf0fa9b43eec12103f864e56c5ccdc81b89c1a35e394362688d05dd94eda3d05dd2\nAD: 31c3ce532bc1bae65b5ced69449129b112019cc6078268b853dd17c41832ecae07f9c6b068ef6cba2b55f352904afd6096ff8432081aed408d9340c319fd8e2029c389b6e3a4bdc38853444c3f7be9385ff1ca27e59c43b542e99799bb4ce56b8e26d6c1\nCT: 90c13ec26d01b7b96bdd6816d3ee57df57efeabdb15ba602229ff71d71793fe8081eb1b462e8b2967bc4af96fd6dc72cee3d2b6495c7f04c9068b2ad0b073e11cd5999df541ad705c6315eefa8da49c5dbc258f7ba922908489c1ce672971c3bfb6e8482\nTAG: 3a7741a094be92b838850c32e4b06c6d\n\nKEY: 49fbbdb5ae21cd955be7f7603cb8563ea0b02b77a9ea14016baa5cffc55d20c9\nNONCE: c0a4463350506d2af9e35d8f\nIN: f31003aaf5d8fd6261c01c5bb1e7bf6af248e0be3cf8aac67ccaeb0b7468a40d98be526a8e4f692dd23763563e601915ebcb59ecbf03bf9c665c4c5313c318939a911888fd427d5297b9b2fd91dd33eb7ed38e2f0f6ab74ec263989cdd9915811a022d4a46ed35eef0\nAD: 17e01af2386531ce67d5bc3325d8f83b53a87b38f1c305f99c0798380a7e59d3ecddf33a5ad23a82e33f0fa34eb2438b17e958451439774ab642fafd3794f80a0ee1b9bc165f32df705a6175310670ba54af3a204e446db35170ab02670086c47a475c22d1f14cbe44\nCT: bd661836d1b74244baca62d7d1cb6717e17e2fb0bcbc8d36b3265a983d557c562b0be60708499d0e7e9626825bc049db79a0ef4d2393fef6024d849089455e55693fd4da3d910eac11496492a645e4376855732765e1b3580461a2a2533cebb482736ac928cba175bb\nTAG: 4596e3802109c899f27f6cfcbdceac5d\n\nKEY: 30d0e4f6425e38c92ac34dcaa06a815166f301289ca9cb0ed08156617d87bdf4\nNONCE: 525618ac9e317405c7d44367\nIN: 06f2204ca864dd3f7c9d0290f6fe3d0337eb9442cd5d2b586d1d5c30e58951fc2f4e99831ac7bca4356db4609a0428c482f2580b9e8cf5fd00d86d474fd88ac3b2413f44c1ff66e59e7538c090b2444396f02004ff636aca05ec40439f4e3f470a24916fa4033cb60127223addc1\nAD: 23c1a3e1083904f7226be7242027abb7af9d62f1115340cd4a57611be88303955cbcbeba44eab5488c80aed3e063c70cb7bbdd9ac289c8c8977868c3702be63d0358836838a97b31f6aee148f2b8615ad7c5dc0de7c48db7752e5f1ae8637f8c70335bbecf1313ae1b972ffb9442\nCT: afe3e71953bad46ad28113b7c8f2092fdebaeb81626bf94bd7e9dd59e000e8ba31c1ce7f728fe19dbbb42322e54aab278e3c29beb59b2d085e65cb8e54ea45d6a9fb1f561bac0bb74afe18cc8de51abf962c2fbc974c7ed54ccf2c063ff148b3e6cccdaa65cc89ab19fcd9cd0436\nTAG: e9f5edea1fdfc31cd5da693b50b72094\n\nKEY: 661309741227606892db13ab553070b456c5e421cca59087144873ae6d59e590\nNONCE: 9f07692c017e1391a981e70e\nIN: 40b5f8081b5dd173203e02e90a6c171fc41f804b2903ea18109edcf77c03dba687b47ca389c55389bd7b0ac59bfaefaf43b5f97065df6a5375c1fbb95d95cad589c2a45cd9e1e7960b1d13622440f7180aa565863b4f9dfe26ed336ff4318653e1a520bdb830e01db78a7e598f251834d0c9bb\nAD: e8540d084f24b80414af554f470048b29a5af8adb2f9d55c9759e5ff1595ca74884af67027324587131d90c77ca72b2d15b66564549ce93df7f667d0218a6e874848563a33886c6a0c5a9d00fa435dfabaa9053243b4c8c25779a4dbf79eb4b8530a7c7bf4263ea824713a90cee92dec78c449\nCT: d543f49e6cbe26f1d8a6e058769d5b16e6f8255a28b4d73ba2cbdf664bbc5ded73f9dea12a11b86b6a6acd578f685afabc232dbe9ff8431a5318ec7f0202959a310595b147353a7ca89c9d1fc2d2b92ea610cf6d9ad2716df2dfed70f5b74d498edab114058c22c96873a2a64abc254c82af46\nTAG: 31a8441886d0e4c6bfcd6d74f6a5ee5e\n\nKEY: a248b0d683973d205ef2d3f86468cf5a343d6ad7c5aaac0b9b6b2a412eed3552\nNONCE: 8f62ffac4027f4dfeacf3df2\nIN: c2d7d29256832def577392acb9fe4f249eb4859025ea55cc0c4a67806caba3e1cb81bc7f5717d94e1c91ff06607b23c238daafcb0fa96905616f02205b702508970fe3bfca87270ed1102a9ab96df57ebdcfd86ef6e9c4c4242b4febd82b0220b0d6f76d8c2d0fba33ca49279907f6bcf7e8401d1419ed58\nAD: c738cdbde6dc277ab81dae20fbbb4a50d71bcf0ac1ee0ec6a39747ccd87be40b1f0f2c37f2c6b32ea99722979fcfddd0ddc2e4ff34a2e6113b591cbfda317c6f4b021ad30325276f8d8dd78f757618b53297fec091f029f9b00850b35f3863a3801c882422b318b4a1bdd89002f928371ea05c6fabcb1792\nCT: 7a837df292ad2e58f21b89da43a74de411e1746556fe47db55a136757513bd249384bf67887a5c1f605e7f7e3057596e17039701ea351e5ccaf0fd4882559e87197144632977cf07cf9e86784a959fa7399476a4fd196d7c507fe3876d759e2b37bd37edb3c12b89716f29ddc8b64974263a1ec1b6364b0e\nTAG: 291098a2376a0faa5da6fb2606b4f2a4\n\nKEY: 80634a8baea1c4fe5dedb664c9b5d714422dd1726d642e60d15e02364195206e\nNONCE: 725ee5023ae08fece15d621a\nIN: 4d1d8855b4d155e77bd1bf34b3d049ef09b2b94f4e604306406b015a2d520e8772b084ed668b868e32c7563085f2a82e7d99219da549e507aff9515e45a045c7cd5292c0e09a3a38c769acfd0a11826b27d8bf05184971670200e79c49754debbfc57d9ebc661b25f22f241c4d143bd922f7b0981a48c6a63462cb5cfd\nAD: 12b3fa94a64454dc5b47433df1ce0a7dd5e8066d05b2433c6cbcb83087bb7d22d153a19c05aeb76141431c5f9801cb13531691655939c0c812611c6a30083ed3ec27e63e6868f186be559c48367a00b18085ffb8c7727638e833a7b907ff8465e3a01d654b52432767b18b855c05a9cfb5d4aabae19164f0dc2ca6346c\nCT: 6b01e934916823f391cd0d2829c224a12eeddc79f18351d2484ef6cb5d492ec9ec4d8c4bd3354f01d538bbd81327f6360a7d157feee64b539489bfdd1be4d7f724d2a6dfa1af91e4108dbfffd529afa71388b07e5079236644da289ae236100b2fbeda0c17bf2a01e76cd1f88081682c2d074223fb8a41d59e70a37870\nTAG: 55762e95d897a33c4c75106449112986\n\nKEY: 4f2edc967b11983f05ef5ee2a4364039ac02dbcccef3f3719913ae2719c8217c\nNONCE: 255f8209b0c67a6277bdb42e\nIN: f8217163bcaf77c1383089e396b271e22c517e8ccda244256cc39315fab7d0c291078d90e9b6e336992f015282caa1ec0ea858a179c9735b7a2f0d50f6f1eecaf3b9308772279ebb95f8aa53826e9dd60fb354de0c50c10001c98812b59d7c0f36daa1aecda6782ca36130fbb559363fe07704b0b91ea85be319ada027e47840c764\nAD: 1dc7065f1585384b88be47598ca484782716c78f49b3b6bf5d24a5b0d24fbd7831f18d77d80951d2c4fafb6f939d46362a69b558afadb3bb4d8aa27f7fcf3dd9624e1e075fce9bb239926d51ea9dff03619d64d5828103a414e360adcda8fd864fca55c21df86c76972c3765ab1d68ce89f708e7e5a3e06cd4de08573cf750c6f5f9\nCT: 6719849b7cea3f7f2a8e4de13d7a864d581b7c638f49fb06378a768d2034548179963c33f0ad099254c2edda9ef771daf5d299f58850033e2e449d7bc21ca3f7d3b7408429b596da615c8582886a6d8c1a9ba81fec4a41a38b7cbf1a80ee0ec8bd71451e727051fbf2a1d1e3c6ca98ee113e47650ba4fe80451e79b04abc8bb99a2a\nTAG: 2ac7f962553a8007de3369c7795bc876\n\nKEY: 51c5cf1f0c76ec96f4a5f9aa50a36185521f3ba259145ac6cb4da3cd12467696\nNONCE: c751e5e7e3d75874acfd2bfa\nIN: fcda42cd098b7936f4bebaa37d5850cb0fdd6526966b1b5734f23d5050ee44466627576e1144957929123198e40b64eaef74476870afecd7b70f7583208603a1b5247074c6c77e10b9bbd41a3d468ff41db89895b0e9ca95be77526ddb30d4c5eb0796ba97d7d5c56d0eece344dde3ebd7de586226c00da224b04e74d9abe832686797df067c52\nAD: 343ae5e73fd1da48dce92ba7b86d21de0a203ba8587536fbaf4646bc45051a7feb343e38916f6c4c75b65f940045e830857c7b62b34a44622a36b34268b8a397892ed3e4de5df3fa7384d4ca50202b5b0833f921349c877931f4b735cec45db6b95410c8042ba49c1a39870276e0165f09c73b14bdf7f36d19084f958695c7ad2cc56f0487eae9\nCT: 04192659d6a2f1b7be472372c8f969a7de388c97d37b4a89653593e48b630947d2160b569379698e94de49b21572ef0b4dd330487a8be814a84e959a1a8e3cf33dcc9f7464fd44814d0cd7ab85e4c01c9d015f42ce3723c8ef8c311222b0c78eb83d81696c217992be725faf27701b4922c6e6099442787ddde2b7572500a5320a4d0c787b786e\nTAG: 23c7a866574976dca8f401c4b5b58292\n\nKEY: 1cec3efc0311d623f34b6853b3dc97e470fa728cdfd65993d9d48fdc192b28e9\nNONCE: 320fe742ef171b7b8cb615cc\nIN: 722e503a97166a07974dcbf136fbaec6c03668fa52495b040383433ca59f6311103f2fc6a95ba4c925f8637167537321eff6949aa3051269fc094393a7b17d1ac8d29af052760835665b0ee89adda5dae7738656af9e8513c96e8a532a46ef34cd7430832d2be51c586a14e9aaec2458c1911bbc0f90b496737e838a12ff37d3db058bda9360d7d33e11629a\nAD: fd5ccf6b6948c3eb96543aa40f107fafe94e5206c326dd8900ea510c6b61d1bcf746151a75404e31406c8e991fbf6e660db7c18e243fd2608aa22dd7ca9de88f277037661ce6dea4ff0a86809dbfe1708cd47d3061a34657cad143e6577549c9944e08", "1f79c276300bb406378b26f349a91fa87de02a1405d712c516ae11b4bcf30ac9d56e677d03eb33e3be\nCT: 363c1d6b806a6d97e2fddf53b242378e1d2b818828863fbb3f856f7737d63998a84e02d6c91e1df5f5eb6cf89f7ef53e16d10ad52f82362292d3acafaa02c23be7da7616a8b8daf8ee3ae74ee1078742c4ddc3e5a110e510417b9f43fbcbb00e17af3301b2fbcb784fb0a05b66469e771fbd78114fce3c4352c42928bf5a0ecc49228a3c930b0790bde7ad7b\nTAG: 669482999be99149f9b723b60fec62d3\n\nKEY: d3465cdecaecbf25943b7bbf8084ccabc15474a4228c46cbe652a99be24a861b\nNONCE: 04fc836de3a1420b8e7136ca\nIN: 81e0e984ce0a4074a44524f93e375eabc650a847a42393f5c524c65523368d38a7e2b677fe08502dd3bc42311775016b5689c660cc0ca8cb33a09b89f3ed3d02fa0fb75ca5bf0dc3c27c546b369ab5e7731f93bc074d37ee50d6f8366f6c8a45f73ac92b05c4aa552ecc5266041dc122a0df69a36ad625a26edb57bfff43a84e527ea0d9d3cf076f8de9eda28eb09de3ff\nAD: e4adc14ac4bbf3ae7ec7d97f5c0e6090bf8127a75e8b70e9b86496a62a759dba5a4eef64a8c679c362785501260d29b58e1af647782564947950428dbf14edab8e6841c7afaf9e7949b560419c44bae30315c597f6f6e02204da7ec605a4d9a8753de1268bb0b1c84c972b4e7296da5c969781feeb35a44d2aef799ed228aa399ea04e21cf9f7d5600a2c07b047aa78388\nCT: d7995e7b610eede708526c05c584039d48b9b4356fc71b0c37ec2559309a688a7c69ac9655f94e178cd2311db58587863b0fbb990554dc9a6aa849571f945c61e5611ae7e1a96903be725a1aa75adc381b86e43fbc68a36f44e0e0cb8fe5c494caa91f758597b6ef3b80a879154cd8a7e5f570893b4f768105b24b58efb67c5f07c6db60e0f48eba9563f17d38aaf0847e\nTAG: cc3fe61642c2d7fcbd579048fdfb19ec\n\nKEY: 1a0dfe2a6bc6a69659c68942ad0858e1df905890f47dab728ab9c73f742f469f\nNONCE: f8f76b014116ba61392597de\nIN: d93eead436e835a061ca061e3a53c3f9c66c6f011b21682b8a6fed098bde2018a2462aa5ab542c69bfa2805612cf6146c9150888b9720db1dcd0f359c1fa3416df4cd225dd0b0d949e917adfb3e83bf5ba2b967d48908e6b6d8aabc545335014d951a67390d7b5c7cd7dcbcf66e4e3f02aa4e5e9cccaf73e75622bad006c63433d36cb1c6aa4aa253dd1b2eacac75c548aa6648ecf9d\nAD: 56ca2d5340629ca75de4e98921da352941559bd79f47ef0ab42d1d5857059352f96ee877f5458f090ca237e4eef5b08a53311c8dfd4c4582f18a93aaa8cf75080734cb2ea3389c9c74d2b04ead614eb54512ea93f0e3434e9a9366454b303a8129d6ce6cf96b1d6dd4f751311c736b517dcb50a6f6e0962c46637b4f5aaf0f34bff518cbd551a7aad3fa615708b17cf6d8fbc864f580\nCT: 8dc4d8483dc665b174ba32d6b6244da5f2a8fcc4b1865d662ec23057838b332a07ff073ecc893d413696f3fffc6dca5d107a5673f14abe8e0457a02e61138380d25e269686cbbd23cb7da3060f482f62bf80a40dcc2e711ecf5f7836ca14e456c4b73a48bef90749024393f5f8af01b73302e81bc37c4110dc26174702231d831cd14231905d2dd3f375cf2bef0425084d5b19f1039f\nTAG: 825e7b7e195f65c454ce9fdd637138c1\n\nKEY: 03cec87d0a947822493b5b67b918b5c6a6bbdebe45d016ec5cb6779c3ddfb35d\nNONCE: eb7d261a6b56a179c88e88ad\nIN: 2326102c58524326759ad399222c5b5a563cd01a29809d6aed4d49772a4723cfdf30c9f85f031063e838f543c201412d6f085a8f5435b0b2fe94659aaf70cf7bde99309239ed5b815b48342d4f81011f5aefe10ba105ac15601c64a91076c29c3cdafaa12bdd5706dd7305b48e923873cf06944b5027b210c59d79856f602bd6481980ea909152216756d77362c59d57673cedb91ee6f56a40061e\nAD: 4d0fbeb69c1869d2d23198ec49b3dc23149005a84aace7025293c3afb8cb2e38c167a822e25c2fdf667d3677f4e94ed6574529c987de506d26b7ffccf3b7a36d9adac48bca76084710338eeb5bfca9df1bf6b403e33e90761a0b3152afac333071a5ef4f54010b945d03b51f123865673e8877f41ca23359e60518f076cc64232b306bd858634417e92e546ede4ac6231635c9cfcf43aab1f8fc1e\nCT: 06746f993843901ce72f2fcd4af7d15e64b3102d2f9bec0fe72cdd0b97e43177a1a2238c9c1dfc3311f701196653249e767a73dbe819b660cee07a5f3bb8f25823875fb4b4d34a5a3a212d2e166311bbe11fb1d36f4e725c3b74054ed7fffb7082203ccb5e9d65873cb8a1ce28d5c6e2b6555c1a864a725e6c7d5555d37dcaf1d0884264be72d38cc4b65bc2f0d039d542c5055da56c57e084b804\nTAG: d36a4b6d2f592d4f0d347d906fc319cc\n\nKEY: 7f4b4bfa26719d9610c80ba3f474c43127f4aa3414fb070fc2f389e5219886e1\nNONCE: b144d4df961d4f1c25342d12\nIN: 638982b95d66ddb689b7b92e3adb683ac0ac19480148bac9db550be034cd18dbd10f2459c915e99c385cd8dc4dc6ec48b75f97e818030fc2d8fcdf66d66b80df64f0ca4af91bba83a74f3946b17af405bbbc6e216435641f5633ad3ee24c1a2ed1b39f649acce59ee56c282a3aebaee6e97f96b34cfc63d5b0482fec20d755f399dd5f61688fe55878713cc55d562c2d72236eb674a340d1a64932cdd8534a06\nAD: f2fe3d27bfc278cdcf16fffc541846d428b31534ec5cf51c30c8b6d988dc36cd6c0d41a4485a3f4469e92ea0fc7e694065bd8130c2854c95549630bd9cbaab2205f27a6efdc2c918c3be53f2d12f8f7cc8e6a81dc8be7cccd217be1fa2e6887cea7d637d2e2a390f50d2c5be10a32a9b380a400cddbdd40eac67f1fe9ba6033d4bfa88c563eaf57272c8a7052916cf4460f31ad026a0ac2588a45d082fbb5c0e\nCT: 0d4de3489e09c7239972b675063579e409acbb663bea76bee8fb3f7e8785158ebe1c26db9219a9b97ea29e74762999518613249c3a87fbcd0128f651e2db8e2167f10ab532eced3464b56bcaa09780e5ece18182a6e092477ad933bd8de015c80e67c6802257a97a647fe2b1e9ab6a76c1cbf7d905deeb824aba2a34095f84b276d55ff940d6ab788c16cd63d9b16e0908d718c851a3230b0a37257751df5a38\nTAG: 9f0a882d4456847f44c7287c8ff3ba04\n\nKEY: 9799ae8045d58250e4d9c3b0ccc8897a04b5b9fb164e54019dc58d7d77b65459\nNONCE: 0f20d002dbcd06528a23d5e0\nIN: 8f323018b1b636617c935791e1c8023f887da67974080af07378b533a7573424f1de9193c5d38f55e9af870f6c60ab49c80d7d1ad1f18f1a34893fd2892d49c315ee668c431f5f35e3f60ecfd534b4b09b64cc77cd16b0e1b8882872cd109a5ca377518e5b660d75052e9a4228e3935705b6bf6b4f4249346b7bf4afb891641a76621cd315cd75de391c898959be945ccca7a96073f2569f217617b08502f7d569bd2f80e0\nAD: 3f1e297bd91a276a4a4b613add617b0488414a57ede2ac75d10934e03be58ec518a418e98a4dbb39d2365889db7c5f389b2a16d8c702cf21b888a4cbf77b356df48a30298c825fb86128de45d7fa0e5f4b0b7bf82a2c4cad2470f33c231802263901fbda54a6edbf2df638716492157ec1407e7fc2eb6c663d9a215afbec3612778b8115e78a5fd68cf6ce66c12c0ca26e5c1f7ab079bc09c3bc7b673d21835671a13dd2a0\nCT: 9a5758dad7997a766db05d698b43fd491bdcec21352032cc023bcf10e136523219745a56f0360efee75a37de55da23cc7d8184a50ccebb110bcb960dcf6b25fe731e21f26290281d9c1c7715c4e6ff3dc0026cce52929163ba222f123d4f50e1d3cf67725fb4737f4010ee2b5b163ca6251c50efe05c5ab0b1ff57b97ffa24c98653f5c82690d40c791047a3d5e553a0142fa2f4346cfcd1c849a9647885c0daaac9efe222\nTAG: 5b85501a476217f100be680b2f5882cb\n\nKEY: a26c0e3864a7dd3b589d17a74a7c9c1f7e8f9adb4aafa0e75c083d10956b6bf6\nNONCE: b54a2a43ca3f84aef3824375\nIN: 6fd4ec60613646490791d82de30ded1a12e61fd270f1642d2221272dbb150ef63ef2604213e203b740dfc9c4bcdf722b3c85aa20abb1197949de710d7e8311956c8649524afc72a9bf5eddf0b284c7fc6d48a741b82c215a0dcd73bb8afd08d5532a6f7f99b5c6beb2ad793d6da53a81e6523b2240729924ddac996a723421f57125f928990daa7a55a5b6b53d7361d9728f66590d969659aacd9aa5c0ec627d991b55e9fd0bf9c3210f\nAD: d6d8b570eca29a48a4d408d5b27ec6aec291d70cfefcd02bbfe8d8ba8aeb6db770bfd723d2c3a4859f1992767d24e7b33e3e241874292af640e2bd22a5b77e0e9e1e0d5e485041cac41d4694ac929ae1fbc08e7591e1cef689028f5db26f95fc9e0868887fb9c635579fc6335757697f63b4f2b46664ae338eafdd827988c8f2ebad80ea9787871ed8d6b302d5dbf7e8019f2e139c59036cb5964a3701ec049b839e19e33e68b83539c8\nCT: 2420e09adb24098038b2750c946551a5f6a5bdf23b126947348ddb5e938b3fcb874b33fbac6407095e05ce62df999e7234cd2b4e413009c71d855b23993cd58c1e26ba0deed891dc88f099fdf852cec0aab45f488a90edd8feb6f4c837036945bd304edbf7a2737921a2f8c1b00a1daaf9e25b908a65a8f69963fc767bc975b5b7bcc215ce37009009dc90b5c7edb1a1174a10ad28f4c1d1a2241e7ffc215edef4f847ceedf7b64f2d15\nTAG: 20521b35310385ae66557740b435d204\n\nKEY: 53ef3dc7a10e435650dd20550cf3ec2b997afc8d9e79cca8f7062622afac3496\nNONCE: 257a205ed0f84016183f4613\nIN: 081e2769935f945419aa06fb5fa7d8412efd1f9b52a45863808022850836c1974d53d2b2c5c0cd420711a71e6d1a09e984366b8b677e6c61bbce8f3adf9f5a9fb5860887617a08c923171d681c4fbc6d569690f6a183d42b52a80ef0693862efd22bf83b7b4014a7008424c356b5022df1842309b3a4a2caee0fd3f4d3fc52a17d53959daccf8e0ca889578ee2905dd8c17d52e76712dc104344148e8184c82af8165ea8386f91de585b54fc8535c3\nAD: 5b73ae02bf4a70e57f5d48fbf45f85b8496ae8514c8aeb779c184f9cf823d8c1883c9e5a42b2c099d959c2298ace2d86c4479059256d6a4325e109fa4b6c4ce90f84a8228316e80aa86de9b5e111d88b2be447a29297b35ca90a8eb280d4c0fe92a1d593cb966cb0010bc06831efb0c72c1e222b031e900ef06ab8da542a5abe2870a0efbe92351d5915ab545b14900e41a27c5ca9d75d6277afafe7ae861131c2767eb314c0c3da5c264f8f2b4ac7\nCT: 20ecb6cda861b660656d692c626436227bd4ac17a9bc71f6c84a1917ef3b5a0f6ba370f00fa2e7f1bd5aa8d6c15032572090482c23e4ab7376ef1f4dfb77f79d5dc065792fe3476c9c37614e32f493e461981b519dd7d10234c2c69264ffe5be06a8e14c81022b652c8cfa24adcc7c7536a55a2fc41e9ffcd09e1c483541cba814eafd5e09e9e44477018a41b073e387c9257c07d97e40f0761fe295d015e1f2df5be65b13f34b6ef0fe1b109ad109\nTAG: c129ba4", @@ -665,9 +745,9 @@ static const char *kData14[] = { "2d59740c9b9d4b97075b874015251ad55483068b00f87502b18182b140db07c70a80fd884fd79b7b5fef1d307ca4db0ff046494443e1cae83478d275c31402035f1fc24e26214b78d9a4dac78d074150012f9fee810a121d87a16d8e1eec5700e9facba350029788480a259d9f30df1c2b8df7691629314391719853c0b68614134f6028865700b1fc4e7f34ff28f449c6abc3027f38d7a7f6d84b8f27f7cc5afa09478c809eec346bb58244ab42a3bef61a14ae7640d76591343983de9fe5f1b985ce56c9fcfb2e3f6220779ca6f92a6b8aa726573b38ed7663ebe4c85066ae3f488ea3309593fa41dba8efd2b8f44b9fa8f7a427823c1228093a3\nTAG: f1832022e06228c36181856325d4eb68\n\nKEY: 3828b138f72f8fe793d46c55ad413bab31a51e7a9093cdd10fddb4739e28e678\nNONCE: a60413c0ab529ccf3de58468\nIN: fec017c1c51da5ce9dcd8e84cdc03a43145b31edfd039c7c85d8811a2f58efe7a2d7590149a98cf0b5af82d3e0a325223bc9d5585ceb1afc4cdd96024be6c8064c2abac14f68e65de49e25e3e967500ce5b4504d00a9cbad1e86bbdcf65c01a7a92de27583b7b92122b6a4923b7192994a1edf00b75d14a982f92559dbc2d5e427a75ad29715375d90193ddbb39b9a52c1a23d75629c539e0a6ce822c7c08fc77dcd3adc357893215df4694673a16d34513de21217ce86897c8f0575d213ce0c66eb1d1985fe73dd86da3ab5e89df4243e1be9dd95af94f878995d02929ee42a062100d6d4d3884730f54593d5ff7b7ae53e03d4f0e10f6f4c3077206499ab7d4de1e825d532d0918f\nAD: e2b16ff2b6c73c9374704ffb4cdfe7bad9eeee32157f2eedf427f99c2cce80c5aa4d9145e85af0cb08e6ed477cbe79ee168ded5c0895f9f4f939c21916b3dd5c9d268b3aabdefb85d953bce9b70732fc9acf6c7b727f78d8c9aaca9e022d7cf0f95583e81744227d87fa34ae19de44d202ba01e3d03993f38c9b2fb00b54dfb677d67e6f5a15f46c29eb5597ae3d5384b37bbeca3f3d825e2b7cceaaeb36a8c1273062259608956dd0c79877cc460d0268de27355e34b9d8d1188c062ac5e10a73f2d70fd0636304b3de06cffeedd246e2db19b8b66785f9f9c62b8f0198f29d37a4ab5280f4aa0320559810f89a1618844d0ad5f3a4f5a0e834ab31e56798b7158217f834d372c36f\nCT: 88ea11ef6b6ee6fb0be77bcbf227e77508922550ef0d7534bf05668ae5fcab2f4defe643747716e7e000950e36c6cb24b79987389a150382c091d39ddf841b0a5e31d763d9c59753a3ef36a23b81f38e6e715357395ce715d30c14d6ab5b7454804ecf633daa39b6107f562fae6a646efb25c1119dd17955bb9e640105a21566345408f72f2acc8f2726a0be465551f9ae566da559fc0b92c36764c5ca20a18a316c02e606030a53450e7ae1146050a48a64c600d33cb84389b0bdac7ff45d3d1f2f669a6e365ef722d76d2fe9bef2df93c58bbdd6965e18111b5de0f4a62dbb874161bf8adfa61e9cdecd97b4fff668b3efeb3e32eeb929cf58d94ad8077c0a2ca79e80877c5d9329\nTAG: 9b47afc5816b7229213cd3c9135545ed\n\nKEY: 91ea63dc27d9d6bbc279ec6cecdce6c45ff0b247cfb8e26b6ab15f9b63b031a4\nNONCE: 80a134fac73eca30459d5964\nIN: a848e41c77ac8c733370435b5b6a9960af36031e96260d5703ce15b003606875a7901cd11e4571bf88dda29a627c0b98065a8b4e6d382852dfa4f47d86fa08e48ad8f5a98e55c305900b83200d44029f304abd21e0264115192a3fd7b0eb69b9f8ca7865b3be93f4ba5a28468fd7bbb584c32ae867f5146efbeb1412d3ac36c30cb308c327a6f207e30f561d6efe0a535446c693e14176e9e714ffb5a5b1075812909a362a6c4bbe18322e15690c2c9cf5a18e0120c11551cb7055b5aee97e7a56d7c24fdf1214641c8eacb196d74f3d96a7fbecdd4fe52dc7b6ead9041cafd5a3fdf91fd3614e63189b488d4d7c1ea3c6351d112a2223b29d390ac3ab7f09a60bbd3df6e0d606d902aa44244334\nAD: 47940a0694183b2fcb5e760c9ef6dbe4cbff6ccf33208337a981138f9d35c03f8adbd810e94636acaebef6791b531a65e99b03fc78e7eb48036615874e97cf762fa6ca5d880bb2c2f644f1aed70c667880f98834d501caa277cb8ef1095ff882e79c3a92ea8982abebf63ea9ed7e9a24d32cb81d5d98e891974e3d636a59e165984e00f05a040d33f07b39eccb924fb24780a422a6b2b7bddb5b316beddcf6fad20e4cee7d0141c2f7c4e4f759db8691dc7b8525ccbc3ee6071a2ead63e750d6d92dde7eb1303d5b1194702b6c3e0c2e6f9649e60eeddec9c1f71cf309af0672cd2ffcf94ba7e6c3d7cee020a224a9a956274d1d36ba16030e215d90a165756666eff066a8e51bf7d4babe8b7d8d\nCT: b90449af99327afb1124bb24f1c8b5cb878423b0370d5f7cd297b28cc4135ee77d6f1913a221cfeee119bafa873072bfa79e303fe377bbed05add41ce3a42ca4632b98f40a36227de1a9ba84d6176c01eca9d33d954d0ebdf4e40f136e0f6a56156fbb33b344a8a433941fd6e08774bd00075aedb0e396c2bc37d1250541248dbeb899e1b5170cdfeaf7b89995b049428bb277c501354f8cd48fb58f6f04f956dfd099c48778dbdbb4c95b7c9d6797cf6d3bcd1d00e88cea885ee4a10d94356509e148990a0e10dd89103a9d5c8434a7bdbed6c0ac1271e0709eba144abf3cf075c020e9f7835d5a98fb2439b399e377ae6e19fc5f32df9ddfb9e936190d3e9c62de99835249d1f32ca3f92ecd44\nTAG: 6ccaf7c142d86b83e4d0b4289b49c4d4\n\nKEY: 1344db082889367fd48c5f06bc39f9cb9e3ad4b92fa484ccf49418dd4caa2e19\nNONCE: c04a98e7e29326b5330818d4\nIN: b0e12e3122c1ebfdcadded5a45163a6208548e9bdf95cfd18ea504e5d2e97372e58dbfe460a57b724d38f3bc0ce02a54015779bcf127343474d7d4c1402d598bee56897203b903da5b819e2218bd0d1a2af11c542544f02c46969cd2bfac683b76a8de61698ccba63361a1a0b570adf69d24e9a7e466873c8c12e25e0bcead7828386179a4d65d5bbdb800eb52fc01b67498d7b5f9864270162158a8572eccf541b07833f001848672098c57708eb479855799567c318b1aa097efa70db0d8a8d36fe0ac22ebcc2870baacac690a79e07ab286acad9f7a877939cf2989cd6200eb86dfa7a41e969a3683ceacc7c97d1cd5487f13c439a9777a67770687657d38267a347a0b6d3aa3cf64e7f31017246e4369da\nAD: c96db14dbc2aa0ce3ac63794f75c7e78037dac6763282edb307821a7938de4baa3d2e35a8cfe0c8724c2a8d870d0a462ea157e15aacc69a3c881d9c819225ea8be479872d55e655c897936c95b9ab340820264567495fc5e4e3354f42b84e191b470ca9f4d8fc25d011bf9c9e73e1590e1bb919dd2f288b26935fbfb8c93e54331dc8edad5e1cc4aec103c2f3320d59870c1770319f105ee790b704ed655be423e63ab040f1153f41e7070ae3a0f34d217c4649c180c84814463902d99a9396f8c7c85a3a4c8ae2f01737649fae478a40fc72303a108822775e9c421f945cc0eea992730790a9aa0c0d014518dab371b52d30b5a560f34946a9344cfb8a19b09ee9b123bcb8f642780697508f04983b790dd2d\nCT: ffda075dbde7b874995230e1324f17894689baaa7f1354e26100befb546ea23dc74807818e43a3cee00ec1bbb95c82180489ae5f3a1c482dec28f96ecaf5ca4655ff7f33c814197cb1973cf02a0b720a5c44068d8ddff0789fc1e7f20ef408c1a438133fce4f7a3e8c85d95a381b94e949ce47a85895c4be7cbfad468e52a160dee34b8ddeef2ab280eaaed4990ecec790ac16de3c74aac6fe2d5e28ea2b66a921c894a3971cee4a2158054c3567e0d941f867ded5ed1d21d8ab090848fb3eddfb1559bf11815db52b8eed871cfc117980f297da79da31da32de3f162a03d95090d3329da3662df29e6ec9b236e0f7c1d7d957cfd54d5efc99c694b9dece989912388254798513d881e5943ce830729a8e2ddf\nTAG: 81c55fe9aa2de0d63efe3f74a3d8096f\n\nKEY: 31dbefe589b661af00a6fbad426e013f30f448c763f957bbcbaf9c09764f4a95\nNONCE: 147fe99bba0f606c57242314\nIN: 908bd801b70d85085dd480e1207a4a4b7ef179dac495a9befb16afe5adf7cb6f6d734882e6e96f587d38bfc080341dc8d5428a5fe3498b9d5faa497f60646bcb1155d2342f6b26381795daeb261d4ab1415f35c6c8ac9c8e90ea34823122df25c6ddae365cc66d92fc2fe2941f60895e00233b2e5968b01e2811c8c6f7a0a229f1c301a72715bd5c35234c1be81ef7d5cc2779e146314d3783a7aa72d87a8f107654b93cb66e3648c26fc9e4a2f0378fa178c586d096092f6a80e2e03708da72d6e4d7316c2384a522459a4ad369c82d192f6f695b0d90fcc47c6f86b8bbc6f2f4ea303aa64f5ce8b8710da62482147bcc29c8238116549256a7a011fd9c78bbb8c40e278740dc156c2cc99c3591fec2918cdeb5240fb428\nAD: 5a32d7044f003b2ffefffe5896933f4d8d64909fa03e321a1bdf063099b9f89752d72e877291d8da12340c5dd570d7d42984ffab5177824fc5483b4faf488504e6822e371dca9af541c6a97312b9cbf341b4198b0902cd2985ac10a8b5b5fe9691bb29a88344f863c980e4e871a72a8b74f92eef68c176e9d2ef037898ff567298e186af52ec62eb7429a8004ac46b945678b82859396d36d388ec3d67653aec35cf1da2684bbc6c78a5f9e3ce1b355af3b207f64e0fa73501c5d48a14638d0906c87eaa876debcf1a532c1475d80ed3d4b96458d2236eb9f67988863bc6d5c16b96b93d898683d248d7bc601b5035fc365481b89465e37a8f7dd64635e19a0282639cecde72c6b1638e0aa6e56f9c00d031cdadc59ce37e\nCT: aeab9db30a579ca54195e54a9e6c787f40100c6d12ceee35643f36ae45f618cc9bb66aa4c0fae0ec2686cb4101a5b23a46877460c7e020b38b0d8d1f533ecfa99df03d346bc854a578276d7d5685ad1fb03655683a64aae4159c9efa6781f053057e0811226c7c533967a94587f4025353b28cc3a2ce5763783b4c31e7818b8ad9195bc03be8f294f9f6ceac578f9d30b22b1f5a68d647d46cf6db4a9c3a8a5c06fa97c9efb4578f501ea96db1f40942e3f24c44a7e4070a6b931c39947d9692930b67767357015de51a39e46fff94b6019e4bc1ad9d216a571ba0dc88859c49d2c487ca657384e49b4d382d86a60c8d5195320909c4e82fc077a3b22bd4eccf0f067e66ec78eed642b2d16f0f304f60f1d9ba69e205c982\nTAG: 17ca09e3084504fc22e914ee28312c8e\n\nKEY: 0ecc44c9036961fba57c841ace4ca3c547c51d9f126567bf41626765cfcbd53b\nNONCE: aa98b6ddff7e4b2041f29d70\nIN: e49a2a5713f507bfa00c140dfbefc0c43e37bcb932e0741db03f0055da61cd837b6e2d8f99115d70750fb23685a17121b52e98a37c87204e0207729fd9219d11a48e57970d790338793cf329f7b239512a44dd4409fe9d157f92123dfc5cba24af106442644dedda87e1d9e95fd395f2f0ad8f7d27f313e6ce1a07d9845dec5ad732e6e4749b3a161527c8ce42331f5de1d700650072fb68e9c7645a0e0e529d0563d2727e3fb38ed341f74ef1ad95a0216a440e1384d0e7ef71cde38ce", "cdc9e2b2d563f19014c40c1f92ea0af3b4f6da9146d433ae85f647153db326a28ef6ea2e0ebac0cc1aff157067c7dba7cc4317d56920ee9deab5764368e7e5b3ce8bebd0fa129f869b15897c09659c53188bf8efb7b6ac7d265c9b85fe96166\nAD: df41db4ef5350d4afcaa88b4a577b3370b96699bbd73e59aeebca6ea856cf22694a9399ae7f97a3bec226d82f5598f8949dfb92530dcfe77770f066f2af988fba5543b8ba7655bc43f8dca032981a34a1beff695c6908169d475c55b2119fe5578623f68a9dd85b653656881b0db4006d3336fdfc784d1805e48ff478fdc196601f044c9d33fca3ddde2db0102f90fff0b370f520e00e3786c2a9b0b4a9a7ea6f9d866f77d870c8ef0f3a8bedef17949a32598512af665679dfbe71e1c3efc3dee8f5d4499e20dc63281191751f67e51f201973a6675896484527d66bed94d6aaceff65fbc4192cec19452b8873f22d72bf2f4981fe656285cb24be5c58e77dafd3e096166b230f18d3f4197fe16f6ec84c060ce0793ae6848311a18b7\nCT: b15b2bc4b9e8ecc5d9c4a6359a805b7590bdb4bfaa9b3fc4d7676d721edc4b3b1ef71b18a3d78f1b31a477cf25e55b278eb3ed774805ae8e5a2a0204f7291d9587663c4d8b1b744154f3b7cef796e0b91590161f3bde82f1d8139cb8d017606ae6d0552ba144788fd8caf435ab09a43a1f4057776af49bad98fc35cefefb159cfebfed76f2e4d18b7be143677ff8b3d6e2b440fe68475b5a1193bcd19ab157d0d2257f33de8e50091ea3388648c3410aa68c830566a0413d92454e4eff433c3edc74e8f7516ec17b2c01cf57a2d7c48db97b706b8d7da0b68051f2d6a87c417f46cf217a48611980890f669d39b478c35d834ed2c79299df2381a1215d6db303cb63e2795fe517649874226e0a6dbfe2c86370b9fbdd8c5de349bfa25f\nTAG: 7082c7ef72c82d23e0ba524132acd208\n\nKEY: c05dc14b5def43f2e8f86c3008ef44e4dc6513768812e9218b2b216818c4cec6\nNONCE: 5cfe0dca6e599ed9aa89ba97\nIN: 8a06e2997b8e5f8040b22e07978c83c48d0f90bd2b2f8b426b43feea0b614d3b0681745ea4224cabcaa25ca45c3053a6300c47ffa4f72e838db135ae35c27939aad4cf7f75fb61daa3148d869057598e4e8b44c6fb19b0d9281e18676d8bc137489bb77a51a3a8f807a896d558f00040e8729ea9bbdc7db6102c8b99c8a1eacb0735577bc6533cd1d8147013935b6344116090a1bdef1f2e38a877a50c8fc0f394bafede31375c57476ba06d95ae734e6dae771a32e5091dff71d845c5f7385b9b9069ced12fcfea34a510880b088bb0016e94a5932c89baee038cbafbf06b3d09426afd2d5dd5e392636362e9ffa9186b5c753eb84f82f68fb1286ed06c58a5a936cad018ebc4269037b49f2ea0349373adea99f06062e5dbb0bf94f2883f5c0556\nAD: f2a3f7af8ea984bbd85953f14202c6e478f98d0bcaacd414329ec480d0c29fb4c1a052d3228c883928448f0bef12cee5b69829b4a3eb4680084131867cfc3d3af84fcc0d80c2292d3fe02405634f6cfb20b0fb90345da3a557fb30582175c32e432be66ad096f9425ff4060df54d6741fd6567a1e2fc5f6f3ed95cefc806ff64ae91ae82920b5c829ea026f83fd90d760e240da3c9ddaafe4d08507f4af1049056dc6d09657779a3dbd889d851e97d4ac60dc66df2d24979ba8947a7890a304bb301d0d42b67824e0c68fc882e90cb6deee50c2e3d9f0da59ab23c997b05635a0d56c71fc39aa0e6b19c43a7fe12d4e4145453cd7fbd8a3f33bf5451addf05052df7ef044a33513bc5f1a4cfc8b68015664bb5c8e4bf54a85efff109ee96af75d4a5\nCT: 2cf630548d6f2b449057c7861920308958199f77b123a142c6b7c89c4982f4ed0efa2fe899914ddbf4543e70865a5e683b0721d6c8443df2e697acf31e11c8809aba94196409020a7c64d396fe136826455aec973af23a6c7733cb567f5ea550e50e0b796623a97807d042855568e3c568990cfc818c31a1bf415337f43e9baed57fada2fb2ad3c3543f2b7f2777e03f84040c1c854c310ab1cc5dc7f2a5fb213af79ac068b46c7d9475bea126adf079e2100bb57904a931faf248e0f7d5832ca83ea8a283e0136979737132afb1f4ab38d307ac0774814f4d5ecdc4aad79185c05f8a706f579b78f2c1c7004cb38e6cd22c2080735b34c3f6134955ed3bc36b1ad5c8e33209c9f3c658fb07b59b6002b2526cd8d853a5c624b7108573d7df60c827\nTAG: 3dcdabcd1c82002a551cea41921570e5\n\nKEY: b33f449deccc2ef0d7616f22b4a00fcd84c51a8383782f66f1696bc6405005ee\nNONCE: 6afa8baf923f986b5779ac6a\nIN: b0af85a6deae5fcaa94778bce015ce2da7400ab768f3e114cc1b645fb2716789e2aeb96894fda6da5bc24fcf2466124720d6ba99e5475d77e5bcf2c2f8c8e5becf5eb73ad650861bbdeb51ba5ee789c227478934200fc18f36e4fe392c99d4c3fe0b38b40d2e84f831b8ef9bce9ac1362c755943521ecf5b5cf8fbcdf08f2d47ff7cd62838597dd342695a1b037bcede69500bf70bf1edbb40a17b44695bd8ff8bc8664b3211a6bbfdcbd1bffbfb1a2ea0141cfbc6ac841c803b137be5eeb2666c46c09cc1c4fa82be43bfd56e7a2b8ceeecb6efc1933a90213a0e1bc7aca2af35f2d1dad5f0d9002561064a699f1ce76c39d9c2224ae596e88a1517e19c2115370768d50107f3f2a55051838ae5897acf2ac0814ccd864eee2f6b5d7a6728c6ac6e6a57327102\nAD: 2134f74e882a44e457c38b6580cd58ce20e81267baeb4a9d50c41ababc2a91ddf300c39963643d3c0797b628c75a5fc39c058d319e7d6deb836334dbe8e1fe3cc5704b90c712e1fb60a3c8b58d474a73d65fae886394f8b2c029e420b923f2af4d54c9de3c7fa2bccaa1e96664ccf681cacbbf9845069a4bfd6c135c4392d7d6be338eca414e3a45f50510718e2a5a3e5815eafa0c50172cf5f147510645d2269929843bbbab682deb5823d4cdf42bd250bdbd20c43e2919d7a6e48973f43a4cab73454b97cdca96721ebd83b6dbaaec7e12cf0dae678a57c431b81421657037dd47dccbee73a41f56495fd7c25c75744fe8f55cbd1eac4a174d8f7dd6f6ba57b3e53449a9ce7806517e3e07cf6546a0fa62c7b1fa244d42eee64a3182461792edb628e567b23a\nCT: 0fe35823610ea698aeb5b571f3ebbaf0ac3586ecb3b24fcc7c56943d4426f7fdf4e4a53fb430751456d41551f8e5502faa0e1ac5f452b27b13c1dc63e9231c6b192f8dd2978300293298acb6293459d3204429e374881085d49ed6ad76f1d85e3f6dd5455a7a5a9d7127386a30f80658395dc8eb158e5ca052a7137feef28aa247e176cceb9c031f73fb8d48139e3bdb30e2e19627f7fc3501a6d6287e2fb89ad184cefa1774585aa663586f289c778462eee3cd88071140274770e4ed98b9b83cd4fa659fcdd2d1fde7e58333c6cf7f83fe285b97ad8f276a375fafa15f88e6167f5f2bfb95af1aefee80b0620a9bc09402ab79036e716f0c8d518ae2fa15094f6ea4c5e8b283f97cc27f2f1d0b6367b4b508c7bad16f1539325751bd785e9e08cd508bdb3b84\nTAG: 1976d7e121704ce463a8d4fe1b93d90f\n\n# AES GCM test vectors from http://csrc.nist.gov/groups/ST/toolkit/BCM/documents/proposedmodes/gcm/gcm-spec.pdf\n\nKEY: 0000000000000000000000000000000000000000000000000000000000000000\nNONCE: 000000000000000000000000\nIN: \"\"\nCT: \"\"\nAD: \"\"\nTAG: 530f8afbc74536b9a963b4f1c4cb738b\n\nKEY: 0000000000000000000000000000000000000000000000000000000000000000\nNONCE: 000000000000000000000000\nIN: 00000000000000000000000000000000\nCT: cea7403d4d606b6e074ec5d3baf39d18\nAD: \"\"\nTAG: d0d1c8a799996bf0265b98b5d48ab919\n\nKEY: feffe9928665731c6d6a8f9467308308feffe9928665731c6d6a8f9467308308\nNONCE: cafebabefacedbaddecaf888\nIN: d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b391aafd255\nCT: 522dc1f099567d07f47f37a32a84427d643a8cdcbfe5c0c97598a2bd2555d1aa8cb08e48590dbb3da7b08b1056828838c5f61e6393ba7a0abcc9f662898015ad\nAD: \"\"\nTAG: b094dac5d93471bdec1a502270e3cc6c\n\nKEY: feffe9928665731c6d6a8f9467308308feffe9928665731c6d6a8f9467308308\nNONCE: cafebabefacedbaddecaf888\nIN: d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39\nCT: 522dc1f099567d07f47f37a32a84427d643a8cdcbfe5c0c97598a2bd2555d1aa8cb08e48590dbb3da7b08b1056828838c5f61e6393ba7a0abcc9f662\nAD: feedfacedeadbeeffeedfacedeadbeefabaddad2\nTAG: 76fc6ece0f4e1768cddf8853bb2d551b\n\nKEY: feffe9928665731c6d6a8f9467308308feffe9928665731c6d6a8f9467308308\nNONCE: cafebabefacedbad\nIN: d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39\nCT: c3762df1ca787d32ae47c13bf19844cbaf1ae14d0b976afac52ff7d79bba9de0feb582d33934a4f0954cc2363bc73f7862ac430e64abe499f47c9b1f\nAD: feedfacedeadbeeffeedfacedeadbeefabaddad2\nTAG: 3a337dbf46a792c45e454913fe2ea8f2\n\nKEY: feffe9928665731c6d6a8f9467308308feffe9928665731c6d6a8f9467308308\nNONCE: 9313225df88406e555909c5aff5269aa6a7a9538534f7da1e4c303d2a318a728c3c0c95156809539fcf0e2429a6b525416aedbf5a0de6a57a637b39b\nIN: d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39\nCT: 5a8def2f0c9e53f1f75d7853659e2a20eeb2b22aafde6419a058ab4f6f746bf40fc0c3b780f244452da3ebf1c5d82cdea2418997200ef82e44ae7e3f\nAD: feedfacedeadbeeffeedfacedeadbeefabaddad2\nTAG: a44a8266ee1c8eb0c8b5d4cf5ae9f19a\n", }; -static const size_t kLen15 = 69162; +static const size_t kLen16 = 69162; -static const char *kData15[] = { +static const char *kData16[] = { "# Test vector from RFC 7539 Section 2.8.1.\n\nKEY: 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nNONCE: 070000004041424344454647\nIN: \"Ladies and Gentlemen of the class of '99: If I could offer you only one tip for the future, sunscreen would be it.\"\nAD: 50515253c0c1c2c3c4c5c6c7\nCT: d31a8d34648e60db7b86afbc53ef7ec2a4aded51296e08fea9e2b5a736ee62d63dbea45e8ca9671282fafb69da92728b1a71de0a9e060b2905d6a5b67ecd3b3692ddbd7f2d778b8c9803aee328091b58fab324e4fad675945585808b4831d7bc3ff4def08e4b7a9de576d26586cec64b6116\nTAG: 1ae10b594f09e26a7e902ecbd0600691\n\n# Test padding AD with 15 zeros in the tag calculation.\nKEY: 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nNONCE: 070000004041424344454647\nIN: \"123456789abcdef0\"\nAD: \"1\"\nCT: ae49da6934cb77822c83ed9852e46c9e\nTAG: dac9c841c168379dcf8f2bb8e22d6da2\n\n# Test padding IN with 15 zeros in the tag calculation.\nKEY: 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nNONCE: 070000004041424344454647\nIN: \"1\"\nAD: \"123456789abcdef0\"\nCT: ae\nTAG: 3ed2f824f901a8994052f852127c196a\n\n# Test padding AD with 1 zero in the tag calculation.\nKEY: 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nNONCE: 070000004041424344454647\nIN: \"123456789abcdef0\"\nAD: \"123456789abcdef\"\nCT: ae49da6934cb77822c83ed9852e46c9e\nTAG: 2e9c9b1689adb5ec444002eb920efb66\n\n# Test padding IN with 1 zero in the tag calculation.\nKEY: 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nNONCE: 070000004041424344454647\nIN: \"123456789abcdef\"\nAD: \"123456789abcdef0\"\nCT: ae49da6934cb77822c83ed9852e46c\nTAG: 05b2937f8bbc64fed21f0fb74cd7147c\n\n# Test maximal nonce value.\nKEY: 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nNONCE: ffffffffffffffffffffffff\nIN: \"123456789abcdef0\"\nAD: \"123456789abcdef0\"\nCT: e275aeb341e1fc9a70c4fd4496fc7cdb\nTAG: 41acd0560ea6843d3e5d4e5babf6e946\n\nKEY: 9a97f65b9b4c721b960a672145fca8d4e32e67f9111ea979ce9c4826806aeee6\nNONCE: 000000003de9c0da2bd7f91e\nIN: \"\"\nAD: \"\"\nCT: \"\"\nTAG: 5a6e21f4ba6dbee57380e79e79c30def\n\nKEY: bcb2639bf989c6251b29bf38d39a9bdce7c55f4b2ac12a39c8a37b5d0a5cc2b5\nNONCE: 000000001e8b4c510f5ca083\nIN: 8c8419bc27\nAD: 34ab88c265\nCT: 1a7c2f33f5\nTAG: 2a63876a887f4f080c9df418813fc1fd\n\nKEY: 4290bcb154173531f314af57f3be3b5006da371ece272afa1b5dbdd1100a1007\nNONCE: 00000000cd7cf67be39c794a\nIN: 86d09974840bded2a5ca\nAD: 87e229d4500845a079c0\nCT: e3e446f7ede9a19b62a4\nTAG: 356d9eda66d08016b853d87c08b5c1b3\n\nKEY: 422a5355b56dcf2b436aa8152858106a88d9ba23cdfe087b5e74e817a52388b3\nNONCE: 000000001d12d6d91848f2ea\nIN: 537a645387f22d6f6dbbea568d3feb\nAD: bef267c99aec8af56bc238612bfea6\nCT: 281a366705c5a24b94e56146681e44\nTAG: 59143dab187449060a3ec2a1681613cc\n\nKEY: ec7b864a078c3d05d970b6ea3ba6d33d6bb73dfa64c622a4727a96ede876f685\nNONCE: 000000002bca0e59e39508d3\nIN: b76733895c871edd728a45ed1a21f15a9597d49d\nAD: cc1243ea54272db602fb0853c8e7027c56338b6c\nCT: 1fb9b2958fce47a5cada9d895fbb0c00d3569858\nTAG: 219b4252deb16a43b292165aabc5d5ce\n\nKEY: 2c4c0fdb611df2d4d5e7898c6af0022795364adb8749155e2c68776a090e7d5c\nNONCE: 0000000013ce7382734c4a71\nIN: 0dc6ff21a346e1337dd0db81d8f7d9f6fd1864418b98aadcdb\nAD: 0115edcb176ab8bfa947d1f7c3a86a845d310bf6706c59a8f9\nCT: dad65e4244a1a17ce59d88b00af4f7434bd7830ffdd4c5558f\nTAG: 7ae32f186cf9ec59b41b764b34307d4f\n\nKEY: c66e89fbab01208f6a60847f4f34b38d27b554c119cf8d9e0b118aa7266ab865\nNONCE: 000000005d9856060c54ab06\nIN: f9e3e9b5ed07b2080db8c1ffc37e4a6cb3cd544608921e18610d00b17c6e\nAD: 85c112a1efe0a20ef3a550526a7afbc98f6367ebbede4e703099abd78f51\nCT: b5cc754f6dd19ef2d66f90e6bc9a322ddf216ef248cbe76b5ab6dd53bc36\nTAG: d3f7b9c295f374651a84138648a5919a\n\nKEY: a8b9766f404dea8cf7d7dfaf5822f53df9ccd092e332a57f007b301b507d5e14\nNONCE: 00000000c7f2f7a233104a2d\nIN: 4d6faeaee39179a7c892faae3719656cc614c7e6ecd8fcb570a3b82c4dace969090338\nAD: c6d83b6a56408a356e68d0494d4eff150530b09551d008373d6dee2b8d6b5619d67fdb\nCT: a15443f083316eef627a371f4c9ac654d0dd75255d8a303125e9f51af4233ff4ceb7fe\nTAG: 63c2b4e0973096299488b0a66ffa54c1\n\nKEY: 5e8d0e5f1467f7a750c55144d0c670f7d91075f386795b230c9bf1c04ba250bc\nNONCE: 0000000088049f44ba61b88f\nIN: 51a1eebcc348e0582196a0bce16ed1f8ac2e91c3e8a690e04a9f4b5cf63313d7ad08d1efbff85c89\nAD: 5d09bf0be90026f9fc51f73418d6d864b6d197ea030b3de072bd2c2f5cab5860a342abbd29dba9dc\nCT: 35aa4bd4537aa611fd7578fc227df50ebcb00c692a1cf6f02e50ed9270bd93af3bc68f4c75b96638\nTAG: 4461139c4055333106cf7f7556fd4171\n\nKEY: 21a9f07ec891d488805e9b92bb1b2286f3f0410c323b07fee1dc6f7379e22e48\nNONCE: 00000000066215be6567377a\nIN: c1b0affaf2b8d7ef51cca9aacf7969f92f928c2e3cc7db2e15f47ee1f65023910d09f209d007b7436ee898133d\nAD: dfdfdf4d3a68b47ad0d48828dc17b2585da9c81c3a8d71d826b5fa8020fee002397e91fc9658e9d61d728b93eb\nCT: 8ff4ceb600e7d45696d02467f8e30df0d33864a040a41ffb9e4c2da09b92e88b6f6b850e9f7258d827b9aaf346\nTAG: b2ad07b86aca1b3ab34033c12d6a08cc\n\nKEY: 54c93db9aa0e00d10b45041c7a7e41ee9f90ab78ae4c1bba18d673c3b370abde\nNONCE: 000000003f2d44e7b352360f\nIN: 1241e7d6fbe5eef5d8af9c2fb8b516e0f1dd49aa4ebe5491205194fe5aea3704efaf30d392f44cc99e0925b84460d4873344\nAD: f1d1b08dd6fe96c46578c1d1ad38881840b10cb5eae41e5f05fe5287223fa72242aea48cb374a80be937b541f9381efa66bb\nCT: 027b86865b80b4c4da823a7d3dbcf5845bf57d58ee334eb357e82369cc628979e2947830d9d4817efd3d0bc4779f0b388943\nTAG: 6de01091d749f189c4e25aa315b31495\n\nKEY: 808e0e73e9bcd274d4c6f65df2fe957822a602f039d4752616ba29a28926ef4a\nNONCE: 000000001b9cd73d2fc3cb8e\nIN: 3436c7b5be2394af7e88320c82326a6db37887ff9de41961c7d654dd22dd1f7d40444d48f5c663b86ff41f3e15b5c8ca1337f97635858f\nAD: d57cfbe5f2538044282e53b2f0bb4e86ea2233041fb36adb8338ded092148f8c2e894ef8766a7ec2dd02c6ac5dbab0c3703c5e9119e37c\nCT: 9b950b3caf7d25eaf5fca6fa3fe12ed077d80dcd5579851233c766bb8bb613ec91d925a939bb52fb88d5eda803cfe2a8cda2e055b962fd\nTAG: 0887ec7d5e1a4e532746ec247a30825a\n\nKEY: 4adfe1a26c5636536cd7cb72aa5bded0b1aa64487ad0e4078f311e8782768e97\nNONCE: 00000000d69e54badec11560\nIN: 19b3f9411ce875fcb684cbdc07938c4c1347e164f9640d37b22f975b4b9a373c4302ae0e7dfdeba1e0d00ced446e338f4c5bc01b4becef5115825276\nAD: bda1b0f6c2f4eb8121dcbd2eebd91a03ae1d6e0523b9b6f34b6f16ceca0d086654fb0552bfd5c8e1887730e1449ea02d7f647ae835bc2dab4bbc65b9\nCT: ea765a829d961e08bacaed801237ef4067df38ad3737b7c6de4db587a102a86fc4abbaabea0ee97c95ca7f571c7bab6f38cbae60cd6e6a4ce3c7a320\nTAG: a27f18846f5a4f7fcc724656c91cf4f3\n\nKEY: eb3db86c14b7cc2e494345d0dfb4841bbd3aa1e2bc640cca0c6c405520685639\nNONCE: 0000000088b54b28d6da8c81\nIN: f75c0a357271430b1ecff07a307b6c29325c6e66935046704a19845e629f87a9e3b8aa6c1df55dd426a487d533bb333e46f0d3418464ac1bef059231f8e87e6284\nAD: 34b08bb0df821c573dcb56f5b8b4a9920465067f3b5bf3e3254ea1da1a7fc9847fd38bdfe6b30927945263a91fa288c7cf1bee0fddb0fadf5948c5d83eb4623575\nCT: 146ec84f5dc1c9fe9de3307a9182dbaa75965bf85f5e64563e68d039a5b659aa8863b89228edb93ff3d8c3323ab0d03300476aa4aca206d4626a6b269b2078912d\nTAG: 854cbb42bade86a09597482c8604681a\n\nKEY: dd5b49b5953e04d926d664da3b65ebcffbbf06abbe93a3819dfc1abbecbaab13\nNONCE: 00000000c5c8009459b9e31a\nIN: f21f6706a4dc33a361362c214defd56d353bcb29811e5819ab3c5c2c13950c7aa0000b9d1fe69bb46454514dcce88a4a5eda097c281b81e51d6a4dba47c80326ba6cea8e2bab\nAD: fe6f4cbb00794adea59e9de8b03c7fdf482e46f6c47a35f96997669c735ed5e729a49416b42468777e6a8d7aa173c18b8177418ded600124a98cbb65489f9c24a04f1e7127ce\nCT: 911ead61b2aa81d00c5eff53aeea3ab713709ed571765890d558fb59d3993b45f598a39e5eff4be844c4d4bd1ef9622e60412b21140007d54dcf31b2c0e3e98cf33a00fd27f0\nTAG: 2865d2a26f413cc92416340f9491e1be\n\nKEY: 3b319e40148a67dc0bb19271d9272b327bc5eee087173d3d134ad56c8c7dc020\nNONCE: 00000000ce5cf6fef84d0010\nIN: 27b5627b17a2de31ad00fc2ecb347da0a399bb75cc6eadd4d6ee02de8fbd6a2168d4763ba9368ba982e97a2db8126df0343cdad06d2bc7d7e12eec731d130f8b8745c1954bfd1d717b4ea2\nAD: a026b6638f2939ec9cc28d935fb7113157f3b5b7e26c12f8f25b36412b0cd560b7f11b62788a76bd171342e2ae858bcecb8266ff8482bbaed593afe818b9829e05e8e2b281ae7799580142\nCT: 368fb69892447b75778f1c5236e1e9d5d89255c3d68d565a5bba4f524d6ad27de13087f301e2ef4c08f5e2c6128b1d3e26de845c4ac4869e4c8bd8858ad0d26dec3b5d61a9e3666a3911ba\nTAG: 1414f1b91966340417c38226ccca9d3d\n\nKEY: 43bf97407a82d0f684bb85342380d66b85fcc81c3e22f1c0d972cd5bfdf407f4\nNONCE: 000000008b6ba494c540fba4\nIN: 4b4c7e292a357f56fdf567c32fc0f33608110d7ce5c69112987d7b5a0bd46d8627a721b0aed070b54ea9726084188c518cba829f3920365a", "fc9382c6a5eb0dd332b84612366735be2479b63c9efc7ff5\nAD: 1e0acf4070e8d6758b60d81b6d289a4ecdc30e3de4f9090c13691d5b93d5bbcef984f90956de53c5cf44be6c70440661fa58e65dec2734ff51d6d03f57bddda1f47807247e3194e2f7ddd5f3cafd250f\nCT: d0076c88ad4bc12d77eb8ae8d9b5bf3a2c5888a8d4c15297b38ece5d64f673191dc81547240a0cbe066c9c563f5c3424809971b5a07dcc70b107305561ce85aecb0b0ea0e8b4ff4d1e4f84836955a945\nTAG: c5ca34599c6a8b357c6723ee12b24da8\n\nKEY: 12fc0bc94104ed8150bde1e56856ce3c57cd1cf633954d22552140e1f4e7c65d\nNONCE: 00000000d3875d1b6c808353\nIN: 24592082d6e73eb65c409b26ceae032e57f6877514947fc45eb007b8a6034494dde5563ac586ea081dc12fa6cda32266be858e4748be40bb20f71320711bf84c3f0e2783a63ad6e25a63b44c373a99af845cdf452c\nAD: b8be08463e84a909d071f5ff87213391b7da889dc56fd2f1e3cf86a0a03e2c8eaa2f539bf73f90f5298c26f27ef4a673a12784833acb4d0861562142c974ee37b09ae7708a19f14d1ad8c402bd1ecf5ea280fab280\nCT: 9d9ae6328711fb897a88462d20b8aa1b278134cdf7b23e1f1c809fa408b68a7bfc2be61a790008edaa98823381f45ae65f71042689d88acfa5f63332f0fba737c4772c972eba266640056452903d6522cefd3f264e\nTAG: e84211b6cfd43543f8b1b4db07a494d1\n\nKEY: 7b6300f7dc21c9fddeaa71f439d53b553a7bf3e69ff515b5cb6495d652a0f99c\nNONCE: 0000000040b32e3fdc646453\nIN: 572f60d98c8becc8ba80dd6b8d2d0f7b7bbfd7e4abc235f374abd44d9035c7650a79d1dd545fa2f6fb0b5eba271779913e5c5eb450528e4128909a96d11a652bf3f7ae9d0d17adbf612ec9ca32e73ef6e87d7f4e21fe3412ce14\nAD: 9ff377545a35cf1bfb77c734ad900c703aee6c3174fdb3736664863036a3a9d09163c2992f093e2408911b8751f001e493decc41e4eeeed04f698b6daed48452a7e1a74ec3b4f3dcf2151ca249fa568aa084c8428a41f20be5fd\nCT: 229da76844426639e2fd3ef253a195e0a93f08452ba37219b6773f103134f3f87b1345f9b4bf8cfc11277c311780a2b6e19a363b6ac2efe6c4cc54a39b144e29c94b9ebbde6fd094c30f59d1b770ebf9fcad2a5c695dc003bf51\nTAG: 55e025a1eb87bc84d4be00c775c92ad2\n\nKEY: 4aeb62f024e187606ee7cc9f5865c391c43df1963f459c87ba00e44bb163a866\nNONCE: 000000009559bd08718b75af\nIN: c5d586ceece6f41812c969bcf1e727fe6ff8d1ae8c8c52367c612caa7cdf50e0662f5dffc5ea7d3cc39400dfe3dc1897905f6490fd7747b5f5f9842739c67d07ce7c339a5b3997a7fb4cd0d8e4817ff8916b251c11ef919167f858e41504b9\nAD: 51f5b503b73a5de8b96534c2a3f2d859ece0bd063ea6dfa486a7eec99f6c020983f7148cccb86202cf9685cc1cc266930f04e536ad8bc26094252baa4606d883bd2aeed6b430152202e9b6cc797ff24fc365315ed67391374c1357c9a845f2\nCT: 252ea42b6e5740306816974a4fe67b66e793ebe0914778ef485d55288eb6c9c45fa34ac853dc7a39252520514c3cb34c72b973b14b32bc257687d398f36f64cc2a668faffa7305ab240171343b5f9f49b6c2197e4fbe187b10540d7cdcfa37\nTAG: ab1d8a5a1f3eda9b5609c0028737477f\n\nKEY: 9a19e72f005cae1ae78b8e350d7aabe59fc8845999e8c52fad545b942c225eaf\nNONCE: 00000000d9dae2ea8d2ffc31\nIN: 2110378d856ded07eb2be8e8f43308e0c75bc8a3fcc7b1773b0725b7de49f6a166c4528e64120bdf7c9776615d3ce6feeb03de964a7b919206a77392f80437faceb6745845cafc166e1c13b68e70ca2a1d00c71737b8fcbbbd50902565c32159e05fcd23\nAD: 1cd73b72c4e103afbefd7c777e0480f3f5e68c60b85bd2e71ef5caebb175d7fc6535d39f38f92c24f2eb0fe97d878ed3d5967c0bb4394a5d41f7d34cda6e1523d3848f049cde554a7d31e1afeab5d3e6150f85858335cbd28c8a7f87d528058df50eea06\nCT: 5f009fbce4ec8e4ca9d8d42258b1a3e4e920b2fbad33d5e9f07557d9595e841025193b521ba440110dd83958e8ee30219d952b418e98a6c624894aa248aedc0678f2d263e7bfaf54ca379fef6c5d2f7ac422ea4b4369408b82d6225a7a2cf9a9f46fd4ef\nTAG: 1c6bdff7d8b9554dc7bf40e50b37d352\n\nKEY: ba1d0b3329ecc009f1da0fab4c854b00ad944870fdca561838e38bad364da507\nNONCE: 000000008a81c92b37221f2f\nIN: 6289944ffa3ccea4bf25cd601b271f64e6deb0eba77d65efb4d69ca93e01996e4727168b6f74f3ccf17bd44715f23ceb8fc030c0e035e77f53263db025021fd2d04b87a1b54b12229c5e860481452a80a125cb0693a2ba1b47e28ee7cbaf9e683c178232c7f6d34f97\nAD: e57883961b8d041d9b9eeaddcfd61fa9f59213f66571fadffffdd1498b9b014f1ef2e7e56c3044d7f9fa7a1403a1169e86430a2a782137093f5456e142aad03a5f7a66d38009dd01b7fc02c9cf61642dedaf7cc8d46066c281ee17780674c3a36eae66c58d2d765075\nCT: 9c44d9135db0dbf81c862c1f69bec55a279794cdd29a58e61909aa29ec4c120c9c5a508d856b9e56138095714a4bb58402a1ad06774cf4ecdf2273839c0007cb88b5444b25c76f6d2424281101d043fc6369ebb3b2ff63cdb0f11a6ea1b8a7dafc80cdaef2813fa661\nTAG: 689a141bc11159d306dad7a4ecf6ad9d\n\nKEY: 0cf8c73a6cffc1b8b2f5d320da1d859d314374e4a9468db7fd42c8d270b7613a\nNONCE: 000000003c4c6f0281841aff\nIN: 4434728d234603c916e2faa06b25d83bad3348990ecde2344368d1a7af1309bd04251bb2e0b72044948f8dea33cce2618283b6af742073a9586b26c1089335fe735141e099785a1235810a3a67ff309e2f0ce68220ba0077ad1a5dc1a4aef898a3b9ff8f5ad7fe60149bd0bd6d83\nAD: a38d09a4f1c9241623c639b7688d8d35345ea5824080c9d74e4352919db63c74d318f19e1cbb9b14eebd7c74b0ad0119247651911f3551583e749ea50ff648858dcaaa789b7419d9e93a5bf6c8167188dbac2f36804380db325201982b8b06597efeb7684546b272642941591e92\nCT: bdfbfea261b1f4c134445321db9e6e40476e2dd2f4e4dbe86e31d6a116d25830762e065b07b11a3799aab93a94b4f98c31c0faeb77ec52c02048e9579257e67f5a6bae9bc65210c25b37fc16ee93bda88fd5f30a533e470b6188c6ce5739fa3e90f77120b490fc1027964f277f40\nTAG: 780cc54bb6f1c9b78545c1562cd9d550\n\nKEY: 69f4e5788d486a75adf9207df1bd262dd2fe3dd3a0236420390d16e2a3040466\nNONCE: 000000006255bf5c71bb27d1\nIN: c15048ca2941ef9600e767a5045aa98ac615225b805a9fbda3ac6301cd5a66aef611400fa3bc04838ead9924d382bef8251a47f1e487d2f3ca4bccd3476a6ca7f13e94fd639a259ef23cc2f8b8d248a471d30ac9219631c3e6985100dc45e0b59b8fc62046309165ddb6f092da3a4f067c8a44\nAD: 0c83039504c8464b49d63b7f944802f0d39c85e9f3745e250f10119fa2c960490f75ae4dced8503b156d072a69f20400e9494ab2fa58446c255d82ff0be4b7e43046580bc1cf34060c6f076c72ea455c3687381a3b908e152b10c95c7b94155b0b4b303b7764a8a27d1db0a885f1040d5dbcc3\nCT: f0bb2b73d94f2a7cef70fe77e054f206998eacf2b86c05c4fa3f40f2b8cebf034fe17bcbee4dea821f51c18c0aa85b160f8508bd1dc455cc7f49668b1fb25557cdae147bf2399e07fcacaca18eccded741e026ef25365a6b0f44a6b3dd975ee6bb580f5fccd040b73c18b0fbf8f63199ba10fe\nTAG: 2ecccea4607d14dbb2d2475792aeb468\n\nKEY: ad7b9409147a896648a2a2fe2128f79022a70d96dc482730cd85c70db492b638\nNONCE: 00000000a28a6dedf3f2b01a\nIN: 791d293ff0a3b8510b4d494b30f50b38a01638bf130e58c7601904f12cb8900871e8cf3d50abd4d34fda122c76dfee5b7f82cd6e8590647535c915ae08714e427da52f80aef09f40040036034ca52718ea68313c534e7a045cd51745ec52f2e1b59463db07de7ca401c6f6453841d247f370341b2dbc1212\nAD: 9a6defddb9b8d5c24a26dd8096f5b8c3af7a89e1f7d886f560fabbe64f14db838d6eb9d6879f4f0b769fe1f9eebf67fcd47b6f9ceb4840b2dba7587e98dc5cae186ef2a0f8601060e8058d9dda812d91387c583da701d2ba3347f285c5d44385a2b0bf07150cbc95e7fcfa8ae07132849a023c98817c03d2\nCT: c2f109d6d94f77a7289c8a2ab33bc6a98d976554721b0c726cbf4121069473e62ba36e7090e02414f3edc25c5d83ac80b49ad528cda1e3ad815b5a8c8ae9ad0753de725319df236983abd3f69ab4465d9b806c075b1896d40bdba72d73ba84c4a530896eb94ffccf5fb67eb59119e66a1861872218f928cf\nTAG: 17ec6cf2b172f01e3c456ad047196805\n\nKEY: 48470da98228c9b53f58747673504f74ca1737d7d4bb6dbf7c0cba6ca42f80b9\nNONCE: 0000000056fb4923a97e9320\nIN: bc6626d651e2b237f22ee51608ddcffeba5f31c26df72f443f701f2b085d6f34f806e29673584cb21522179edb62a82427d946acabce065b88b2878e9eb87ed1004e55ef58f51ec46375ac542c5782725ff013136cb506fcf99496e13fcd224b8a74a971cc8ddb8b393ccc6ac910bd1906ea9f2ed8a5d066dc639c20cd\nAD: df8ab634d3dca14e2e091b15ecc78f91e229a1a13cba5edd6526d182525ec575aa45bc70fb6193ffcd59bad3c347159099c4f139c323c30a230753d070018786b2e59b758dd4a97d1a88e8f672092bef780b451fd66ba7431cbb5660ea7816cdf26e19a6ebb9aadc3088e6923f29f53f877a6758068f79a6f2a182b4bf\nCT: a62e313ecf258cc9087cbb94fcc12643eb722d255c3f98c39f130e10058a375f0809662442c7b18044feb1602d89be40facae8e89ca967015f0b7f8c2e4e4a3855dbb46a066e49abf9cef67e6036400c8ff46b241fc99ba1974ba3ba6ea20dc52ec6753f6fc7697adbccd02b0bbea1df8352629b03b43cc3d632576787\nTAG: d29a8968067aeb457ffc114c3a9efb95\n\nKEY: b62fb85c1decd0faf242ce662140ad1b82975e99a3fa01666cac2385ab91da54\nNONCE: 000000002f4a5ca096a4faf8\nIN: 03b14f13c0065e4a4421de62ab1d842bffb80f3da30bf47d115c09857f5bdd5756fd7c9ac3d9af1c9fb94f2640f7f4386cfba74db468e5288dbe4dd78bfe4f69e41480ca6138e8beacc6eaa3374157c713cfa900c07dd836eaecc8827fa3e70e052ae09e8473e2ae1a10b1bb669ef60a8dd957f6553daa8114918e17371f2ac327bd\nAD: cfe3b7ab7550b0e8e2e8235fa0dcef95647ce6814abd3dc3f5a3bd7d6d282504660c34ad8341e4d11402c7d46c83a494d7ddb105e1002979023e0e3dc2978c9ae53e10eb8567e7a02b60e51e945c7040d832ca900d132b4205a35034fed939a1b7965183c25654931a9b744401c4649c945710b0d9733b87451348b32ba81de30ea7\nCT: 8965db3d3ae4fb483208f147276e7d81b71a86e7202ffc9b1eaade009bc01683", "8dc09ca4bcf30887b2f4243fbd652cd90ebed1ceef8151ff17ea70518d03b0f2a24960aa7de9b30fa65c2e2d57360061aae6d9376e984e9fcd5e5dd0911a4bc8deca832ffb76f252bd7da523076593ba6b174f7d9fb0377e066ecbb6638036241e86\nTAG: 28a5284696ed82714eaa94c9ebe6e815\n\nKEY: de9c657258774d4ebc09d109a0fc79d66493ae578797cac4eb8830a6a4b547e0\nNONCE: 00000000b5e35fe3398efa34\nIN: 4d68fb683aa4f4c7a16ba1114fc0b1b8d8898610fa2763e435ded8771b3651078bef73d4dfd14e76a34cd5eb9ef4db4ead4da9e83f4ce50fe059977b2d17d687c29335a04d87389d211f8215449749969f7652dc1935a0f9a94538dc81dc9a39af63446a6517609076987920547d0098a9c6766cf5e704883ea32feaea1889b1554b5eb0ce5ecc\nAD: 436ea5a5fee8293b93e4e8488116c94d3269c19f1d5050def23d280515457b931bbed64a542b317cc5023d648330a4b7adca14dd6f3783207b94f86ccaa0a0ac39b7db00ac87a99e3cd8a764ed9c75da8454479636ab2b29e770b166a5b75cacc425c919bf1ce9ac34afe6b4425c3d9fd2e48bc81e7d15516d60e592bfcc2ebefb660f0995f2b5\nCT: 97a97b8f0f5420845ae8d57567f9bba693d30e6db916fad0b971f553ad7d993f806f27ab8b458d8046062ced4778c004b4f958a4436141637c6039963308dea2f54008b7feab79650295ed41bf9e65e1a2d75ab1c7b2a70ebb9e9f38d07a9a672d3e95ea78afe9ac02f2566b48b0251aef6eeeca8bd15bd8d43b559426aa9d15d960ee35cb3edf\nTAG: 4ef49e8a0c2ef85826d7f03e81c577f2\n\nKEY: 6885bd333c336c7672db8ebdf24c1a1b605c5a4ae279f0f698162f47e6c73401\nNONCE: 00000000f0c4a213a6168aab\nIN: fa905a2bfa5b5bad767239fb070a7bc0b303d1503ecd2b429418cc8feba843e5444ed89022fdb379c3b155a0f9ceab2979000a0f60292a631771f2fde4ef065aa746426609082969530a9c70ad145308c30ba389ea122fd766081511a031ce3a0bd9f9f583c7000b333b79ac004fbde6ec3eb2d905977ff95dcff77858e3c424fe8932a6a12139e6ec8d5e98\nAD: 8ded368f919efb522bb6a9ad009e02ffbc6a16536e34d95cdb34f1153d7cb7b0f3c2b13dd05cedae27cfe68ec3aca8047e0930a29c9d0770c1b83c234dcb0385deae7ae85da73a5f8de3dfb28612a001f4e552c4f67ae0e2ec53853289b7017a58591fd6f70b0e954876bb2f7ec33001e298856a64bb16181017ba924648c09fc63c62eff262c80d614679bd\nCT: 0cb3d6c31e0f4029eca5524f951244df042fc637c4162511fea512a52d3f7581af097eb642e79e48666cb1086edbd38c4777c535a20945fabc23e7c9277e2b960aac46865f1026eb6da82759108b9baece5da930ccfc1052b1656b0eadaa120ed0c45ad04b24ae8cdb22ceab76c5f180b46a392ab45b1b99c612546e6b947f4d5c06ad5abee92ff96345ad43\nTAG: fad7d5a5193dfb121c68529ba8c0c35d\n\nKEY: fbc978abb1240a6937ccc16735b8d6ed5411cdbc1897214165a174e16f4e699b\nNONCE: 000000007968379a8ce88117\nIN: 1a8196cd4a1389ec916ef8b7da5078a2afa8e9f1081223fa72f6524ac0a1a8019e44a09563a953615587429295052cc904b89f778ef446ed341430d7d8f747cf2db4308478524639f44457253ae5a4451c7efca8ae0b6c5c051aaa781e9c505489b381a6dcba87b157edc7f820a8fbaf2a52e484dc121f33d9d8b9ac59d4901d6ed8996ed4f62d9d4d82274c449cd74efa\nAD: 3913cd01299b8a4e507f067d887d7e9a6ded16dd9f9bb3115c5779aa14239fd33ee9f25756d45262dc3011069356425b5c81a4729594e17c9747119f81463e85625d5603d05e00f568b0c800bb181eb717be8d7a93166a504ce1bc817e15530c5bd2b3df1d4222245ea78a38bc10f66c5cf68d661503131f11af885c8a910b6dce70bc3a7448dfae00595beb707fe054d3\nCT: d152bcb4c24c3711b0fad28548dc4db605bbc89237cdbea7dbf956b8855d1161a0781f27bd56d798141e2ace339955efb98fe05d9b44cd011e645106bf47726183958cb6df34ce5766695f60bc70b6fe0fabb9afa009a8ef043dbf75f861881368fa07726625448fe608d578cdc48277f2dc53eaaf1bdc075269a42f9302a57cad387a82c6969608acacda20e1cac4596c\nTAG: 96ae06cd7c72456e5568a42317046158\n\nKEY: 77d1a857fbadfe01aba7974eea2dfb3dc7bf41de73686aece403993e5016c714\nNONCE: 00000000fdd913a321c40eb0\nIN: db8915bfe651e2ecb3ce0b27d99a6bfa7a7c507cfcb2987293018636c365a459c6a138b4428be538413db15bda69e697cbb92b154b7f4d2cbb07965225aa6865d7dcd1ba2c17c484b00b1986fed63e889f25a4966dc3ed4273f1577768f665362d7d3e824484f0dded7f82b8be8797ad951719719365e45abbf76324bc7d657799d4d4f4bb1dba67d96ab1c88519a5bee704f7214814\nAD: 3cb2c06c20cb0832bbacebfc205d77393ca1816346ea2681de4d3ab1fadb774ad273e4713290454496f5281ebc65e04cfe84ed37cd0aedc4bbe3decbd8d79d04a4e434876650e0d64309e336bfb10e924066a64acb92260b2dbd96735d03af03909aa6a80a6e89fda81037257aec21fe9be7e91a64e88e0a58fa38ecba4c4c4cffb61958f3c486cbb0b1d0b0014a2d1d3df248eec1ca\nCT: acb825e6023b44b03b2efc265603e887954e8612b2ee134bdcb61501cfb9492952bf67be597c3a005b09af74d9e421a576d2c65e98104780feab838d8cb1bd135452ea39dc8907a4c1a6a9161805e4fa3e16989e6a418a7eea2582bf895da967028eab7c95d846a6de4b9980785814cf00484baa2f6de609912fff689bce6e854261ffe866bd8e63274605c7c5ad677bd7897ade543e\nTAG: bcf523a9bcf772e157941753c6d7401e\n\nKEY: b7e9b90dc02b5cd6df5df7283ef293ed4dc07513d9e67331b606f4d42dec7d29\nNONCE: 00000000a6c191f6d1818f8e\nIN: 2ada0e3c7ca6db1f780ce8c79472af4e8e951ddc828e0d6e8a67df520638ff5f14a2f95a5e5931749ae2c4e9946ae4d5eb5de42fb5b77d2236e2e2bd817df51be40b1b8a6c21015a7c79fe06dba4a08b34013dfa02747b5f03930268404c455dc54a74d9c6e35485e10026da573cb41cd50b64cfafe4cfcdf3c9684ef877e45d84e22bd5e15fa6c8fd5be921366ff0dc6fe2df45f7252972c9b303\nAD: 0f4269ed5ef0bfff7be39946a4e86e8bf79f84b70cd0b14fecb7be3c071316ce86de3d99d6871e0ba5667d9d7bba7dcaba10cb2a36668b6c3e2fb6c102938b75008bb9c213ebf9b85b5e91a802df0d31d7f11d764b2289f6225212694ab6b7c0e3ff36e84245d9f4f43fc5f98e654dea7ba9bd918658879c5bb4a1642af0d83113e3cf935d3c0d5208318f66f654eb17d8c28a602543e77ad3e815\nCT: 22586fe7338e99cdaad9f85bd724ba4cfe6249b8a71399f9a3707b5c4323b8d96679568dfc8d230aefb453df596e13eb3e8a439249bd64bc93a58f95089a62b94f6562b821c83d91f56c55147381e9de4beb4ae81bd6fe7caef7e7e9a2078f2fba8f3e70d4910da9accc92b8e81a61b0fefbece4bd89443e66e8ddda8e47a66a62f17fd0e7d0a4852ce1a4d43d72a0b5e8914bbec698f060f2b092\nTAG: bd05336ed6426de412aac37661953052\n\nKEY: 6b2cb2678d1102f2fbbd028794a79f14585c223d405e1ae904c0361e9b241e99\nNONCE: 000000007b3ae31f8f938251\nIN: b3cb745930e05f3ab8c926c0a343a6eb14809fd21b8390a6fcc58adb5579e5432021765b2d249a0ecf6ba678634c4f53f71495865f031ee97aa159f9ead3a3fcb823ee5238bdf12706a9c6137d236e2e7110ce650c321e41daf0afd62bab2a8fe55d7018de49a14efe6d83a15b2f256d595e998d25309f23633360f5745c50c4e5af8ccc9a8a2cb47064105a023e919c7795d2dc331d3f2afb8c42e5c0bcc26d\nAD: 1c32fd3df22b3e440e2a3c7a7624990194cb16a5f74af36f87fd6ca7d410ce9064316a2d091945deef7d9b35ceec8396069307caced2b80afd7d53ec479c35cedf2dfd4c95c3dd8400f71ad34028c6e4f8681d93d0774064ba38f3fb9b0c1dfa1f5f0c7d20676a5911d999fb6a1d41367a8e99d852bf3d3b7b3f4c233249ed1ca135389a674ff48232ded3f6800a97b6d409c40e6cd70d09bf9d2ad25d9b9485\nCT: ef70c7de98ab1d4ad817024a970be463443640eb0cd7ff234bdd00e653074a77a1d5749e698bd526dc709f82df06f4c0e64046b3dc5f3c7044aef53aebb807d32239d0652dd990362c44ec25bf5aeae641e27bf716e0c4a1c9fbd37bbf602bb0d0c35b0638be20dd5d5891d446137e842f92c0ee075c68225e4dbacb63cc6fb32442b4bcda5e62cb500a4df2741a4059034d2ccb71b0b8b0112bf1c4ca6eec74\nTAG: d48657033095db3f873c33445fec8d35\n\nKEY: 4dbc80a402c9fceaa755e1105dc49ef6489016776883e06fcf3aed93bf7f6af7\nNONCE: 000000002358ae0ce3fb8e9f\nIN: 197c06403eb896d2fa6465e4d64426d24cc7476aa1ae4127cd2bd8a48ce2c99c16b1cbf3064856e84073b6cf12e7406698ef3dd1240c026cbd1ab04ee603e1e6e735c9b7551fd0d355202b4f64b482dd4a7c7d82c4fe2eb494d0d5e17788982d704c1356c41a94655530deda23118cba281d0f717e149fbeb2c59b22d0c0574c1a2e640afad1a6ceb92e1bf1dde71752a1c991e9a5517fe98688a16b073dbf6884cfde61ac\nAD: cf6ce7b899fb700a90d2a5466d54d31358ecf0562e02b330a27ba0138006b342b7ed6349d73c4c5c6d29bde75a25089b11dac5b27adea7e7640ca1a7ceb050e3aae84a47e11640a6e485bd54ae9fdb547edc7313d24a0328429fcffd8b18f39880edd616447344ebeec9eadb2dcb1fa7e67179e7f913c194ebd8f5a58aea73b0c5d1133561245b6d9c5cfd8bb0c25b38ffb37db5e2de5cdded6b57355e9d215cb095b8731f\nCT: aa87f9a83048b6919c8f2b050315db4e2adae4a9c2ca0109b81961b520e63299dcb028cec0b9d3249a945ee67dd029b40f361245c740f004f8cf0d2214fcfa65e6124a3e74b78aa94345c46fdc158d34823ed249ee550431eaae9218367321cdd6e6a477650469bb3cc137a8f48d9cf27934b16703608b383d2145659922fb83bb2e7ee2ef938a90f2ff846a4a949129b1fb74dde55c5ae013c2f285de84f7dac7d1662f23\nTAG: 298f84c8312029a7b1f38c5ea6021f57\n\nKEY: 9e4a62016dae4b3223fed1d01d0787e31d30694f79e8142224fe4c4735248a83\nNONCE: 00000000263a2fc06a2872e7\nIN: 5a46946601f93a0cee5993c69575e599cc24f51aafa2d7c28d816a5b9b4decda2e59c111075fb60a903d701ad2680bb14aeda14af2ae9c07a759d8388b30446f28b85f0a05cd150050bd2e715ff550ebbd24da3ebb1eac15aba23d448659de34be962ab3ab31cb1758db76c468b5bb8ce44b06c4e4db9bd2f0615b1e727f053f6b4ffb6358d248f022bcad6ca973044bed23d3920906a89a9a9c5d8024ec67d7f061f64529a955ce16b3\nAD: 4cd65f68f9f88c0516231f2a425c8f8a287de47d409d5ecde3ad151e906b3839fb01bb91a456f20ea9d394d4b06604ab1f9009ef29019af79", @@ -678,16 +758,16 @@ static const char *kData15[] = { "16b39afee75e53602de319484db89a51e844f38c361634e474f8f1f01c340f3f3594860d671346449c6d08ee38de22d246309bc7e4a252a29c86aa6d94b5b4fa58904c70\nAD: 1c2503d5aa1aad193f0da12874074ea0432bb76a61cd43a3017061514da0759846a0f3ae3a49fdb0b6d29f713de665beacb6568f2694112ca380d13f3c1698316866a7a7f87f1d7503a92176ab84fc08977b46ba664508a858e7525753c45511b3d2f407d5e993c6ede77f13d12975707e5195704970a89f71fc30828049f92f944f3aa93d6a5297e678e08952919beb7eac5919df1919cab3c3da6aa696a1eeab6371f310f7e81143e7d240b0213ae554524b52000306160dd4877bf13ba0f13bbe867da7c7d707f31335eef4cd942938ac890a0829ec66bd30ae01a2188a6e5ea0f17cd7dc875e17f03c0ab5dd18e36db8a1fc1f72859ee046b62368f168b3bea2234e0432c07b7d8e1b9277f21e692c513b9e816e6860\nCT: 7d35cfe4be56bd6e0e09dedcd01735b915bc1891a4d1f6a541abc4bcd0ebe89dcb8e365e5813742e8ec65777b6159422fada747da99394252baf8a046fc1b60ad79755f545f4448627b7acaf403000894f5641e78d3f946dfca29ec617f0660dcd6e8d8827e67e1022a245c595d86e60fbd176bf721b171bbe5ecaf4ae671b9f3dd3920146e6ad431bd8fc431820e19454b6ca209723d80fdbee187fca9c937c979206ae97be55f6ba7366a5608770a11d537396485eb0a66586385f4d4cf3905d1fc90831c3e136d5d513fa22be285193142994a3ed477145bacdcbdd791e8b3b88b0d4f1d18b27382550a818c4fd8884bf36f677c6c3ff5677406e510911e696af75e5b3f859bef699bdd16e6215fdb98d874025eada50\nTAG: 0fa4cb2bab84336409aa4349ab99a8bd\n\nKEY: 923d4b086b9e43b986f7b65e4cea6113a3d8aabefa89323c5e4d5b6f158bb7e0\nNONCE: 00000000a0f73297b87f5deb\nIN: 21435e8d5c8edf0684f58c2cba4070c10b4801adf46b6c4d322eb3990a38a9ad338ad704b9df6597f3e68d66cd5b56290c8466db2231e56d6bcb9c44e1bd081f42ca2a894dad369df2bd0d2c63d6c881732d6ea22bb22b5bc9a62eaffa1b094d0845f6b966d2cb095e7b3b8bcbc15e707449d35c8df4aea30c3b7243e977fffd59c80f1c5c9af4bb5a54b9c786fbbe8d21b2b906a87a786caed841a34a3e0cc0ac3209d83c58afba19edd63622dd261532d2cfb0b49d527d8eaa0887a087f5129d897f665264b229f860363d71a88b7d49c8dc6360182b357b0662391bb41337f46010ac32b9fada2d60a2efcb99365d3b27b7ac396900d1c821d0df8b86cc9cc1f2673259a33efea610bf8e1d00d7e9db2afea21da8f58c55f799999d\nAD: c853a8b39c0dc597d562f123cd221e4104b65423a062a4f4ba890ba344feb84290f61817e23330c365f58c3583ce08360d3c1171982ead5496d525ac878f23a57480a6ee39d4e65afd6268245bb982a2545fa1195427cdbbcd404cdad5198f55cce2a5a028fae435f71b15921d066e8d43766c32b2f2c3f57c0674e129607dcd3703eca529414adaee79d81fed432153cceb6f3fc53404810d8ec878f7d94be5d379d0e0e1aa9bc404b4b5d396038a9d76a5ce53c9f3759b8e50fb331858ca58cee81bfc3ee58baef5d19c402a3dc8b36370ec1ace5a4aa2527fb94b4f933a4ab8ccaaf6a5af5a779eae5667c2a24ab027e781c8d4f30c377aa5885a2fdaf6507d18cd824a847c35368b4ea984d2c3c3824a5b8ba3042e1852504a21a3\nCT: f2e21052eebbb86a4f5e803360855d8632aa727dca6f5e79dd74d7aff106e442001928d113005b030f8446f8eff2ee951db663978abe43090dd5ad2c51ba97a0ecf988c607d95e486d02524f690fa3c28d5c48c1f75c1f555e7b43fe7e46f2ca2b9fdb408ec4ba18b6cdde2af673183cb7b1a3c23ae77eddd4cac75e1ea14743fc571f8d31ce2e96787524cd48aadaa474181c096a032184574ddc25a6e0ac8441c212bc36298708e33c963ae931e6c6241d1affeef7b6ef759495df44b6ab647447693cf703569e69aa72f1def9a342b8978c1edea9703a421ca75b92cac4de14b88c693200022b8a2ed22b1c4678b99f4d695e080dd1196d7168e14f0d0f8ff880d742e97b9f6d00af1f7118e10b77c5ef3ea6c52f84a20fd6ea46dc\nTAG: 9bd8b7743c056bb2334833afd6143e18\n\nKEY: df73adab2768559ea983cce85453fe81d79be3b3c57f202b31b94d6635cf2e4b\nNONCE: 00000000e7a87e6bf6b5a354\nIN: 0032a37abf661faa18c587fd2aa88885c061deeba81105dd221969bed5d59c7204b09b1a8c4c8de3b9f748c7fc70626ebeaca060233a57b102221b1bf0f3d9fdaaad3d2b1439c24d08f9c67f49f3c47128f92ee530abf4c4f4573bc60ae4b38109f55bca3ca9e1ba9f9fd6e34ba0d174892977a53356e1f5c88c614fe3ff3b3dd0818e7a2285412e3b37444bbe8a80942efcfd03958809a6966cda9430b2f0c9e552f4bced6e19eb3e85fc5758bd7b588297ccbed37ed94c3adc8c08ea8b058462aac9d57a939ec711bc4ecfec944d2b653b7cfc7b02a65d7057c9fdadd51b9da8cc4a3c68dae9da8b9c5319c1a2baa3d6c891c5ac4a39461484b5a01abc64df447ada24c04a4363e605eaccf339a9aa515e724206206da6d22bbd2f52e64cd7c895\nAD: f833e5ab4f8bc89167f80f576b1d6b22cdd0e30721f5f735799746cf645b6eff531d4c7b03584f3dfcb73cbd35ac42736216dc7f0de098a4f42c61ceb4b227ee288e47d697a0a76afc762f084e8fdbf9351c28340c324771c109a469341ab10ca10483ed2af5e878d7d3dc2bced2f72da3d1a25852b103ee9878e8158eb4309c1ce528f3a178ace153b6d3ae0af0d577cb3cb1540489e80427f792217ad8a09b84f027fca7ceb651b4264e98e94b4cb8a37b133390897233e8ba9103628d05b9609e8552c4a4b11e3f2fa8d56af36957390e88cba44656be3edace798cf8cdf7771bac338a256bc3cba6df97728f222f423ca7c6d149c9372d66163a98f79a234b00d4b75fb2ec860dcc2d1998105e4b9c01d68f079f3e0aa21cc534047fc7b858f8\nCT: b842eadfdf431c135bd6581d3eccae54e2267d8890036aa33dfe2d2d9715c44625441210a3a0d666d708d30588fe851ec36e10d8fa3584ed77b095149494b7c54379d62c8935e1d2b9a8f47e4759ad0b3437fdf2cc2fb6c5ea25ad10e0bdc9dc5b0517fc237eb783cc461c46665e2b1d1a5b8008dbf409ea2a63fea0276de23a32c99d92a498807a0f95e208fc6262321a78aafaf0cc3f833fff37bd4efa66f6023a25cdc6702cee3912799563d908a5183c9956a06aa71085d855dc7c809ed6e2889592b361ab3ab39060f8e419152187a794a19c2a1128882201900ea2cd597860674bf78d9720643df8701676718fd201baed4935a88e50558daf86edd08a9ab227ac7afae55c974b68de8dacad4a4d79b13ed6dfe74017a4cb9148e033436fb6\nTAG: ee1ec36804e1d5cdbddb52608c711fd8\n\nKEY: 55a4be2448b464c2ea52a2f2664ed6aba865c14ea1fea77f4689331fd105c8d4\nNONCE: 00000000db37c0a405b4626d\nIN: d266e66272e5d3462081b004cb42429c8b9741e9f678153754d726f6f9aa513464763c5e793b482fe512fece97585f1426120d4cefb3d0a8cc0a8db4bde93fc72c78f44d4fecca14650c660d3e285b327e7cdd813063e7e867b8a2d059a41bab70432b7f857199894da90dca3fe5272bae1ec694a1a07b60b05df275784d4975637e4673109f3ba846dfd1a048b202ed8e89973be608b91ee4743b1e759900f1443038951fe6189e806638985f3c16338c3c60695df58e621154d79bb973859c4558e9dca90470f77c73f004443ad5db0717abbe43266f90e57397b83ac34d1fef2e897e2483d5bcdcb627abd64b0d1aef525835f25e76d6e9158232cdde6dce970b59f58de8a98e653be32fb58edabbcefa5065d73afdf1c9c4fbf50c1022bd22bfcb98e4b422\nAD: fd6a3fdd879f8880843eac20ae01c1b9dc3487d270a806572088ef2ddc1f1e0de495e71d4813bf5c501ad31e5d791c4b5b3a0a71b63fdddcc8de4b056064ef467989ecccc5d0160d403bf3a025d4892b3b1de3e062bc3581d4410f273338311eb4637529e4a680a6e4a5e26e308630a5b6d49ead6d543f8f2bf9050aa94ce091318721e1d8b96e279f34b9759b65037bec4bf6ccda6929705aeeeebe49e327e4d7a916620c9faf3765120658af34c53fbb97ec07657b3f088fcbdc401aa7949ddeda34d885018c2c23f4f0bb8218bf0d4fc90643658b4d8834f4a8c08e590c2a790995baa9e77627c342d283e454f84fcc05be15e9627a2d9be340c9d72f222bbdfc47905f56616cd9f936d49e4732f319f020513340fb8b22828db251b102b6b137c9533936d6\nCT: bd11ed07b7b4b30eeaf25d6a41a549cca0a5aee71f990ac566a37265d7af2ce3c03703427ee0b2755c2bdfc29f9d826aec6ee4ad28af48079ac23db16580b97424f3a4e35cc23625d39f95699d9ff5143e9a2bc26fcfee4f125f5aa2d968ccfc2faaf9db3c28850f6757f735cbc50c94c498bcde4f23bffafa8dd5f70d1a011e35eb26e905d4e68848fedebeb197be595c085ba33f11ba8398258445051751888e9bba111f800f31b37c447074ca6dce6d54b4dfad6cee5138643d4f6ac045e8047248924e88ea4294c7878bc22c9b41924ce301f22693c33733107bf1ba85e34806c5e4366ea66fc52a5f89dd9bf213239158b3d4d2600dde696c61d76c398b9bf10de9118e812e891c8f3355c0ecc6405f79bc32a58905e37888a1d8395fbedc3ac54eca569f\nTAG: 296a397d280d026fc3627f4718971be9\n\n# Tag truncation tests.\n\nKEY: c66e89fbab01208f6a60847f4f34b38d27b554c119cf8d9e0b118aa7266ab865\nNONCE: 000000005d9856060c54ab06\nIN: f9e3e9b5ed07b2080db8c1ffc37e4a6cb3cd544608921e18610d00b17c6e\nAD: 85c112a1efe0a20ef3a550526a7afbc98f6367ebbede4e703099abd78f51\nCT: b5cc754f6dd19ef2d66f90e6bc9a322ddf216ef248cbe76b5ab6dd53bc36\nTAG: d3\n\nKEY: c66e89fbab01208f6a60847f4f34b38d27b554c119cf8d9e0b118aa7266ab865\nNONCE: 000000005d9856060c54ab06\nIN: f9e3e9b5ed07b2080db8c1ffc37e4a6cb3cd544608921e18610d00b17c6e\nAD: 85c112a1efe0a20ef3a550526a7afbc98f6367ebbede4e703099abd78f51\nCT: b5cc754f6dd19ef2d66f90e6bc9a322ddf216ef248cbe76b5ab6dd53bc36\nTAG: d3f7\n\nKEY: c66e89fbab01208f6a60847f4f34b38d27b554c119cf8d9e0b118aa7266ab865\nNONCE: 000000005d9856060c54ab06\nIN: f9e3e9b5ed07b2080db8c1ffc37e4a6cb3cd544608921e18610d00b17c6e\nAD: 85c112a1efe0a20ef3a550526a7afbc98f6367ebbede4e703099abd78f51\nCT: b5cc754f6dd19ef2d66f90e6bc9a322ddf216ef248cbe76b5ab6dd53bc36\nTAG: d3f7b9\n\nKEY: c66e89fbab01208f6a60847f4f34b38d27b554c119cf8d9e0b118aa7266ab865\nNONCE: 000000005d9856060c54ab06\nIN: f9e3e9b5ed07b2080db8c1ffc37e4a6cb3cd544608921e18610d00b17c6e\nAD: 85c112a1efe0a20ef3a550526a7afbc98f6367ebbede4e703099abd78f51\nCT: b5cc754f6dd19", "ef2d66f90e6bc9a322ddf216ef248cbe76b5ab6dd53bc36\nTAG: d3f7b9c2\n\nKEY: c66e89fbab01208f6a60847f4f34b38d27b554c119cf8d9e0b118aa7266ab865\nNONCE: 000000005d9856060c54ab06\nIN: f9e3e9b5ed07b2080db8c1ffc37e4a6cb3cd544608921e18610d00b17c6e\nAD: 85c112a1efe0a20ef3a550526a7afbc98f6367ebbede4e703099abd78f51\nCT: b5cc754f6dd19ef2d66f90e6bc9a322ddf216ef248cbe76b5ab6dd53bc36\nTAG: d3f7b9c295\n\nKEY: c66e89fbab01208f6a60847f4f34b38d27b554c119cf8d9e0b118aa7266ab865\nNONCE: 000000005d9856060c54ab06\nIN: f9e3e9b5ed07b2080db8c1ffc37e4a6cb3cd544608921e18610d00b17c6e\nAD: 85c112a1efe0a20ef3a550526a7afbc98f6367ebbede4e703099abd78f51\nCT: b5cc754f6dd19ef2d66f90e6bc9a322ddf216ef248cbe76b5ab6dd53bc36\nTAG: d3f7b9c295f3\n\nKEY: c66e89fbab01208f6a60847f4f34b38d27b554c119cf8d9e0b118aa7266ab865\nNONCE: 000000005d9856060c54ab06\nIN: f9e3e9b5ed07b2080db8c1ffc37e4a6cb3cd544608921e18610d00b17c6e\nAD: 85c112a1efe0a20ef3a550526a7afbc98f6367ebbede4e703099abd78f51\nCT: b5cc754f6dd19ef2d66f90e6bc9a322ddf216ef248cbe76b5ab6dd53bc36\nTAG: d3f7b9c295f374\n\nKEY: c66e89fbab01208f6a60847f4f34b38d27b554c119cf8d9e0b118aa7266ab865\nNONCE: 000000005d9856060c54ab06\nIN: f9e3e9b5ed07b2080db8c1ffc37e4a6cb3cd544608921e18610d00b17c6e\nAD: 85c112a1efe0a20ef3a550526a7afbc98f6367ebbede4e703099abd78f51\nCT: b5cc754f6dd19ef2d66f90e6bc9a322ddf216ef248cbe76b5ab6dd53bc36\nTAG: d3f7b9c295f37465\n\nKEY: c66e89fbab01208f6a60847f4f34b38d27b554c119cf8d9e0b118aa7266ab865\nNONCE: 000000005d9856060c54ab06\nIN: f9e3e9b5ed07b2080db8c1ffc37e4a6cb3cd544608921e18610d00b17c6e\nAD: 85c112a1efe0a20ef3a550526a7afbc98f6367ebbede4e703099abd78f51\nCT: b5cc754f6dd19ef2d66f90e6bc9a322ddf216ef248cbe76b5ab6dd53bc36\nTAG: d3f7b9c295f374651a\n\nKEY: c66e89fbab01208f6a60847f4f34b38d27b554c119cf8d9e0b118aa7266ab865\nNONCE: 000000005d9856060c54ab06\nIN: f9e3e9b5ed07b2080db8c1ffc37e4a6cb3cd544608921e18610d00b17c6e\nAD: 85c112a1efe0a20ef3a550526a7afbc98f6367ebbede4e703099abd78f51\nCT: b5cc754f6dd19ef2d66f90e6bc9a322ddf216ef248cbe76b5ab6dd53bc36\nTAG: d3f7b9c295f374651a84\n\nKEY: c66e89fbab01208f6a60847f4f34b38d27b554c119cf8d9e0b118aa7266ab865\nNONCE: 000000005d9856060c54ab06\nIN: f9e3e9b5ed07b2080db8c1ffc37e4a6cb3cd544608921e18610d00b17c6e\nAD: 85c112a1efe0a20ef3a550526a7afbc98f6367ebbede4e703099abd78f51\nCT: b5cc754f6dd19ef2d66f90e6bc9a322ddf216ef248cbe76b5ab6dd53bc36\nTAG: d3f7b9c295f374651a8413\n\nKEY: c66e89fbab01208f6a60847f4f34b38d27b554c119cf8d9e0b118aa7266ab865\nNONCE: 000000005d9856060c54ab06\nIN: f9e3e9b5ed07b2080db8c1ffc37e4a6cb3cd544608921e18610d00b17c6e\nAD: 85c112a1efe0a20ef3a550526a7afbc98f6367ebbede4e703099abd78f51\nCT: b5cc754f6dd19ef2d66f90e6bc9a322ddf216ef248cbe76b5ab6dd53bc36\nTAG: d3f7b9c295f374651a841386\n\nKEY: c66e89fbab01208f6a60847f4f34b38d27b554c119cf8d9e0b118aa7266ab865\nNONCE: 000000005d9856060c54ab06\nIN: f9e3e9b5ed07b2080db8c1ffc37e4a6cb3cd544608921e18610d00b17c6e\nAD: 85c112a1efe0a20ef3a550526a7afbc98f6367ebbede4e703099abd78f51\nCT: b5cc754f6dd19ef2d66f90e6bc9a322ddf216ef248cbe76b5ab6dd53bc36\nTAG: d3f7b9c295f374651a84138648\n\nKEY: c66e89fbab01208f6a60847f4f34b38d27b554c119cf8d9e0b118aa7266ab865\nNONCE: 000000005d9856060c54ab06\nIN: f9e3e9b5ed07b2080db8c1ffc37e4a6cb3cd544608921e18610d00b17c6e\nAD: 85c112a1efe0a20ef3a550526a7afbc98f6367ebbede4e703099abd78f51\nCT: b5cc754f6dd19ef2d66f90e6bc9a322ddf216ef248cbe76b5ab6dd53bc36\nTAG: d3f7b9c295f374651a84138648a5\n\nKEY: c66e89fbab01208f6a60847f4f34b38d27b554c119cf8d9e0b118aa7266ab865\nNONCE: 000000005d9856060c54ab06\nIN: f9e3e9b5ed07b2080db8c1ffc37e4a6cb3cd544608921e18610d00b17c6e\nAD: 85c112a1efe0a20ef3a550526a7afbc98f6367ebbede4e703099abd78f51\nCT: b5cc754f6dd19ef2d66f90e6bc9a322ddf216ef248cbe76b5ab6dd53bc36\nTAG: d3f7b9c295f374651a84138648a591\n", }; -static const size_t kLen16 = 17493; +static const size_t kLen17 = 17493; -static const char *kData16[] = { +static const char *kData17[] = { "# Test vectors generated from libsodium with this code:\n#\n# #include \n# #include \n# #include \n#\n# void hexdump(const uint8_t *in, size_t in_len) {\n# for (size_t i = 0; i < in_len; i++) {\n# printf(\"%02x\", in[i]);\n# }\n# printf(\"\\n\");\n# }\n#\n# int main() {\n# uint8_t nonce[24];\n# uint8_t key[32];\n# uint8_t m[64], c[64];\n# uint8_t ad[16], tag[16];\n#\n# for (size_t ad_len = 0; ad_len < sizeof(ad); ad_len += 4) {\n# for (size_t m_len = 0; m_len < sizeof(m); m_len += 5) {\n# randombytes(nonce, sizeof(nonce));\n# randombytes(key, sizeof(key));\n# randombytes(m, m_len);\n# randombytes(ad, ad_len);\n#\n# unsigned long long tag_len = sizeof(tag);\n#\n# if (crypto_aead_xchacha20poly1305_ietf_encrypt_detached(\n# c, tag, &tag_len, m, m_len, ad, ad_len, NULL, nonce, key)) {\n# abort();\n# }\n#\n# printf(\"KEY: \");\n# hexdump(key, sizeof(key));\n# printf(\"NONCE: \");\n# hexdump(nonce, sizeof(nonce));\n# printf(\"IN: \");\n# hexdump(m, m_len);\n# printf(\"AD: \");\n# hexdump(ad, ad_len);\n# printf(\"CT: \");\n# hexdump(c, m_len);\n# printf(\"TAG: \");\n# hexdump(tag, sizeof(tag));\n# printf(\"\\n\");\n# }\n# }\n#\n# return 0;\n# }\n\nKEY: 1f4774fbe6324700d62dd6a104e7b3ca7160cfd958413f2afdb96695475f007e\nNONCE: 029174e5102710975a8a4a936075eb3e0f470d436884d250\nIN:\nAD:\nCT:\nTAG: f55cf0949af356f977479f1f187d7291\n\nKEY: eb27969c7abf9aff79348e1e77f1fcba7508ceb29a7471961b017aef9ceaf1c2\nNONCE: 990009311eab3459c1bee84b5b860bb5bdf93c7bec8767e2\nIN: e7ec3d4b9f\nAD:\nCT: 66bd484861\nTAG: 07e31b4dd0f51f0819a0641c86380f32\n\nKEY: 4b6d89dbd7d019c0e1683d4c2a497305c778e2089ddb0f383f2c7fa2a5a52153\nNONCE: 97525eb02a8d347fcf38c81b1be5c3ba59406241cf251ba6\nIN: 074db54ef9fbc680b41a\nAD:\nCT: 1221898afd6f516f770f\nTAG: 75e7182e7d715f5a32ee6733fd324539\n\nKEY: 766997b1dc6c3c73b1f50e8c28c0fcb90f206258e685aff320f2d4884506c8f4\nNONCE: 30e7a9454892ef304776b6dc3d2c2f767ed97041b331c173\nIN: b8250c93ac6cf28902137b4522cc67\nAD:\nCT: e2a13eeff8831a35d9336cb3b5c5d9\nTAG: 62fdf67735cad0172f9b88603b5f3c13\n\nKEY: 6585031b5649fcabd9d4971d4ac5646fc7dca22f991dfa7dac39647001004e20\nNONCE: 705ee25d03fec430e24c9c6ccaa633f5b86dd43682778278\nIN: 9a4ca0633886a742e0241f132e8f90794c34dfd4\nAD:\nCT: 0a8e6fd4cd1640be77c4c87dde4ae6222c887ed7\nTAG: edc4fbc91dfa07021e74ae0d9d1c98dc\n\nKEY: dfc6f7c86a10a319ebcb6362997e585f55b67f3434f47dc4039c2d67973e3077\nNONCE: 6097f30fd75229d928454c7d59a2d2c58bfddcb14c16438e\nIN: 74c946a7f0733377e852a23087506a28dccef86e101a4359c0\nAD:\nCT: 6e8ea0bb4c2f1323841d8e236816c61c3295866b75cefb5c25\nTAG: f16c0e9487ca7de5e7cb2a1b8bb370fc\n\nKEY: 59b8d488773767c4804d918709cfec6c69a193371145bb94f183899851aaadac\nNONCE: ad5bdf8f190ca2d2cc02a75bb62aa22274cb3c98fe2d25f2\nIN: 066b9ed10f16d3dc132b409aae02d8cac209dd9b4fb789c4d34725ab2a1f\nAD:\nCT: 2bbd4542489006df66ad1462a932524642b139ddcbf86b6b480e9e6d976c\nTAG: ca4835419ba029bc57010a8cc8bca80c\n\nKEY: 8c0cb4633cf8dc6b4b9552d1035f85517cb1ba4c36bcbc43338a8c6c7d15ce20\nNONCE: 8418b9655a0376fadefa3cdf8805815c4f7b56f467a74a95\nIN: 50c205a9c5d4088ba8e59a96fcd837f5170669854547678288199f1078ff2a81f0b19a\nAD:\nCT: 8b55a12df1a85dd3fb19c34ab047a85849d15a30225bb5360bad1f0a8f5f2bd49f5898\nTAG: bce13201df6e4a7e6d896262e45d969d\n\nKEY: b45386a75a5772e34bd193e1946f69ebfb90c37ae4581d39c9669d75e4584f50\nNONCE: 9fb763d0926585b5f726af9b8e3babdb331e9aa97f8d99ed\nIN: 64df0e341145d9e4a0d090153591a74893bc36cb9dae1e9570d8fee62e907cf004f9d8a360343483\nAD:\nCT: 3146d8a5c898edd832ec9d126e93b3a433ec97dc47dce0e1985bda88c88c6aeca46fc7d9a68e30ab\nTAG: 44fdb0d69abd8068442cb2ea6df8b2f2\n\nKEY: f2efbd358dd353639a162be39a957d27c0175d5ab72aeba4a266aeda434e4a58\nNONCE: 65a6f7ebe48de78beb183b518589a0afacf71b40a949fa59\nIN: f7473947996e6682a3b9c720f03cfaf26bbcdaf76c83342d2ad922435e227a5d1eacbd9bd6ea1727ec19fb0e42\nAD:\nCT: 778a0fb701b9d671ccfaf1454e8928158ede9bb4395119356a8133036840c1bcbb8fe5e19922fbbcf8b18596e7\nTAG: 9d195a89fdd29ca271405d3330f996f9\n\nKEY: 9dd674fb4a30a7bb85fc78050479ab0e2c3cc9f9f5b8689a7a67413aca304b21\nNONCE: ad9e8fe15940694725f232e88f79cda7c82fe1b8aae58ba4\nIN: 7272bb6609cbd1399a0b89f6ea255165f99330aeb170ac88fccdd8e226df0952407e35718fb5edc9e987faabb271cc69f7e7\nAD:\nCT: 846901650cb38974463a18c367676e1579ebdaf3e96b57224e842f5d5f678f3270b9a15f01241795662befb3db0768800e25\nTAG: 900004db3613acbeb33d65d74dd437d7\n\nKEY: 280cbe7380a0d8bb4d8dd4476012f2eeb388a37b8b71067969abb99f6a888007\nNONCE: 2e1854617c67002599e6b077a812c326deb22fe29d093cbb\nIN: d0901ec3d31ece2832685ff577f383bdff26c31341ea254acee7c5929a5df74fea2aa964524dc680b2f55fbd4fea900e956c304cc4ac3c\nAD:\nCT: 546370726cc63068d3520d67f4f57f65d03b9ecec21c2a8c7b1133089ad28b07025a7181bddeb4a49f514fac1a44f64ee3af33d778fb98\nTAG: 39084e33e42a1b05f58da65ba487d138\n\nKEY: 887564f75afa78f595cdadcea7340d20f5c5a2df169d0ad14b15fe32ce337004\nNONCE: 54c11df13d1f444da80b0964caeb59474b17b23a650a33f5\nIN: f0f008eece79ecb24b715dff8a3456dfe253924b99f98f2f1b18564cced50925fca860d1c2d4785bdf4a964c76c3079efa6b37c4ba2cacc534fb590c\nAD:\nCT: 32bb077268568d569b39e8ccdeeeb447ef424eaa2ffab565209a19b16a25952f897e5405bb0d67d8c9005d1c0b32687164d17fa4d0f412b80414c025\nTAG: 0bac7c0f8dce12917fbd4ed1738ac0cc\n\nKEY: 21c6aa88eb1a320d251f71a4b312ca75347040990d869a1dd2a1982c30fda2c7\nNONCE: 7dead2f1a3d9d45a9124a40efe8994300976991a4417ef4d\nIN:\nAD: e1bf7de4\nCT:\nTAG: 341e9d0687006f981bced2f985f953e6\n\nKEY: 0c97b9a65ffcd80b8f7c20c3904d0d6dd8809a7f97d7f46d39a12c198a85da5d\nNONCE: 1f2c1dbc5f52fc9c8f9ca7695515d01d15904b86f703fba3\nIN: ecaf65b66d\nAD: bd8a6f18\nCT: 8d1b2b0e38\nTAG: 27a7c7ac8bda627085414f0f31206a07\n\nKEY: 4ab5e3595f39c4379a924e5f8ebcf3279075c08d18daff01d9ddfa40e03faf12\nNONCE: 94e6ddc294f5f1531924ec018823343ebcc220a88ea5ee33\nIN: c91b73abe5316c3effc6\nAD: c576f6ea\nCT: abe960fbc64b339c53b1\nTAG: 7ebae48a2ff10117069324f04619ad6f\n\nKEY: a1e6146c71c2ea22300e9063455f621e15bd5bf1a3762e17f845e1aba5dd5a9c\nNONCE: 82ddb6929abff8a9ad03dfb86c0bb3e7c092d45ebfa60a1b\nIN: f011f32ccc2955158c117f53cf7b12\nAD: 5d14bc05\nCT: 44592321c665f51e9ffea052df1fea\nTAG: d556798b97f9b647729801419424affc\n\nKEY: 7a1af30362c27fd55b8c24b7fca324d350decee1d1f8fae56b66253a9dd127dd\nNONCE: 61201d6247992002e24e1a893180d4f0c19a3ae4cc74bf0c\nIN: 5c7150b6a4daa362e62f82f676fdc4c4b558df64\nAD: 00c49210\nCT: 27d9e2730b6809c08efbd4b0d24639c7b67486f3\nTAG: 5889fdee25379960038778e36b2cedb2\n\nKEY: 0b3fd9073e545ac44a7967263ead139c9547f7a54f06228fd3c8609fa2620784\nNONCE: 6450e1097d6f9ea76eb42e8e65972d501041c3a58baf8770\nIN: d679ae442b0351e5bff9906b099d45aab4f6aea5306a7a794f\nAD: 318d292b\nCT: a3f9ee45316d7b0f948a26145ee4fd0552bc6dc25e577e777a\nTAG: 0068a401a194b8417ec0e198baa81830\n\nKEY: 047c7d378fe80c02ee48df6f679a859253aed534fdcdd87023eb3d2f93fcafe3\nNONCE: ed240b0ff6f8ac585b3ea1ab2dab8080fc2f6401b010c5d0\nIN: 7288afb4e0fa5c58602090a75c10d84b5f5f1c0e03498519afe457251aa7\nAD: e4310302\nCT: 87906b14ca3e32ab01523b31ae0bb74590ce9e1df0811e743a2c7a93415a\nTAG: 3a0abeab93792b1ffe768d316da74741\n\nKEY: 1ad4e42acc5dfd07eb0a2456e9103cd0e150a36c667eb2f2b73c0d1ac1089ce3\nNONCE: 48efb52387284c5d38b4940c75f0c39a3f81f60bfebb48cb\nIN: da7edb5b3193b4484f09efa85fcf85600968ecdc537d3829a469c866ee67b0df677866\nAD: 446be8e3\nCT: b76457ca99e95b6539b12f1d6bdac55a6d5c6469b1ff274459363ec05241f7e6e5d3ce\nTAG: 06880ee508ce929da5a81f8b9de0031c\n\nKEY: 702a554c1b703d4dd69ad51234293ab787a01e15bdb3ce88bf89e18c01a67164\nNONCE: ea535d9c371241b9850b8b4a596b63db79eea60bd2cd9fbb\nIN: a97156e9b39d05c00b811552d22088d7ee090a117a7f08adac574820d592021f16207720d49fb5fd\nAD: ba5790e3\nCT: 8d0b2b04479c33287096f0c6276a73f6c037edc1a2b28f8d3b2b8e6d4c5f9dc5113309dd3ecb15e6\nTAG: 3cf303305e12924d29c223976699fb73\n\nKEY: 1bb7303fefa4d8d344bb9a215901b2314324bf1f3aeb9df5d1c1532c3a55ebf1\nNONCE: a304551e5f0dc98995ddfee6215a9995023a3696debfd302\nIN: 6cf6819ce3e7ed9d4f85f4a5699701dbcaf3161adc210c0b7825ddfd83d6d7c685db62f68b3801ccc8a786066d\nAD: 901c5feb\nCT: bc5ef09c111f76e54f897e6fce4aee1d25b6ed934f641ed5262d0c5eed45f610a6aea3b58b7771e34256d43a16\nTAG: b83f73f7995ba1b243dbf48ddfeb8e3a\n\nKEY: 24b294f6cbac10d87158d1c6aca83b337d596132afac7633f69a3b3e58823f11\nNONCE: 805772ff619cc6fcc5ec0e9965435d6f74a2290c055ec754\nIN: 65e8581286868caabcec1a9814db00b805edc660b94ee3babc6ce19a3ca868bd322105484d59b4ce02ced4071bc16642a1f2\nAD: 7ae1", "c561\nCT: fe1d463b1466e8e411f0b0700f90760472ee5141f3e5afef43fd729f1623dca75cd4d00576765b335f8b2b77b00527599cb3\nTAG: 111d8540fd5ec04b9ba16ed810133026\n\nKEY: 38e63e8b6402ac3f6d1641a1e3b74d2074be0fe41129975a3ff62b74ca52af05\nNONCE: 228d671b036710cbdaa72e9bf1d9ed6982b0bb3428a69fd6\nIN: 20a8d18878924d09aac32853c10e73dbd741134b7050ae6999839f2dbc727cb0052b5497c4bbd2a89e716278f15c81b871953614a49693\nAD: e9e6ac73\nCT: 80e0fe8eb26e5df229c6d939c944d440a37aa3cabf76eab5b9a420095513021ea4241ab367f6f44a20817b14631549ae6c96aa963970e1\nTAG: 1e80fbafcc7168e0494fce4cd76d692c\n\nKEY: 4325dd8406fdb8431a81f1b5db3603995256de36121019724cca2190c87a6e83\nNONCE: dcbf3077b36d5d678d668fd2d0c99284c780b55c4658ea75\nIN: 4f599ad04f79be9add10fdc649b8be53e1062ea5e9c2bed22265dc6fb30d5ab4fd4425b38ff14d8e68013405bec1eff8c9ef3069902e492aac73dcd9\nAD: 6fa0d757\nCT: 7decbdc7043495c59ecc64e720436bb0708b586a46f8745f74391477f5a2520905dfcebc3765a330999013d309dfaa997bf70bab6a0b8f4f2a2a3cdf\nTAG: 051ec4ecce208d9be0cd17f434e13be3\n\nKEY: 2d3d9ed4bc9eb9668733bafbb73e88be2cd17021c3a23be69b981d9f0df71df1\nNONCE: 84cae69639240c82b58895997511f145e474ebe1b008f391\nIN:\nAD: 64db597c26a4c3da\nCT:\nTAG: 2a22c4a962d46a719014ab7b0ffaf6d3\n\nKEY: 09ec4e79a02db53b19b54dd2d3592afc92c74ef57d1e0f51f3726a6631b1b73f\nNONCE: 2907ced16e0777fedb1e2de30df11b3fd712af41dd714a4b\nIN: b6e50cd4ea\nAD: b5488e9b7f339b7b\nCT: 0163e75330\nTAG: e29401c6d756adcc516580ae656852aa\n\nKEY: 9d5ac25a417b8a57b85332979e8a7cbad23617bb27772bbccc2acb0acae7b755\nNONCE: ff152421688dd6af7fef87817b508493a32d97a06fbda4f3\nIN: 92f4b9bc809be77e6a0d\nAD: 892b793f7a6e0727\nCT: bcc594f59de8ee8c22c6\nTAG: 1a8275816c0d32a1b6cfd41fa3889558\n\nKEY: eccf80c5f744d2ecc932f95ade0d9fe9327e19795023db1846d68d04720a2401\nNONCE: abc050fad8876589633b222d6a0f2e0bf709f73610aa23ee\nIN: 45a380e438405314510c166bac6840\nAD: c32c9a1ce6852046\nCT: 9fa452dc9ca04c16ff7bde9925e246\nTAG: 3d5e826162fa78de3fc043af26044a08\n\nKEY: b1912d6bc3cff47f0c3beccff85d7cd915b70ab88d0d3a8a59e994e1b0da8ac8\nNONCE: d8756090a42eea14ff25be890e66bfe4949fad498776ea20\nIN: e2f85df2ebcfa6045bd521abfe8af37fc88a0be1\nAD: 4576bb59b78032c8\nCT: 5eb6324aa48e0a4f72f5cb0a4917faf93af4209c\nTAG: 774f8077f039588495045fee07950e14\n\nKEY: 85162b111c9f3163f57c2cbc311a1e9aeed9dd6136b5784bc9c0b5052f8bffbd\nNONCE: 23cdb8b546bb8a5a746b24446f0ab4199f0543d915ff51f1\nIN: dc81000077d5743beef09ac91663885d984212bbccf3dbe6f3\nAD: 3084f3e9c4d0a15f\nCT: 692d17ae0b524ec6edc0cf49b69ac90c99bed44691f7ae63b7\nTAG: efe72ff84b3bccb4d83a27ddc574bc21\n\nKEY: b05ca358d8ca79f51283d83e2673bfb741c379ba271a773b8dd9c6a108e758d3\nNONCE: 9a53ad79f535c6e9da011463063c896f2ec7645e6e3548fc\nIN: 44e793742c774020e7349c996418042dc0dc30ee2bfd2654008c8929a436\nAD: 71ab5948c5e0f4c6\nCT: c5eddb7aeaa175b5f3dab68cf746f2acaf56fc62b29804629e25e2d63879\nTAG: bec3b7a8b8dad22ff3d14d26273294d2\n\nKEY: abb5136a01354c765a96e832df58bec3b088bd19dc4d6bd6674f2f02007ebdaa\nNONCE: 71267ac9f4fe5caa1d52cd85948a170a778f0141d54dbffe\nIN: afb526fe41c4e2a767ce77c4145b9d054268f5f3b279237dec97f8bc46f9d158868b86\nAD: 047baa2b04748b62\nCT: 0032d4c1e65da2266539464c5d3c2b1618454a6af0e7f1e3cfc87845c75f2f4ae8b03f\nTAG: b526a95a33f17ab61f2cdfc1e2dd486a\n\nKEY: bb826ed38008a0d7fb34c0c1a1a1149d2cad16b691d5129cc83f5eff2b3e5748\nNONCE: 4e02fe0915d81e9d5a62e5b3551b9db882e3873c0aaa230d\nIN: 20270d291a8d9791b0f5e35a64387bb4237bad61169841d7e1667c994ad49869c7d5580ffa752a2d\nAD: db852a275081e29b\nCT: d740012efb7e1bb986ce2c535134a45f658b92163c109bdecf1ce5b836879fe9e006a56be1fac8d7\nTAG: 21e931042e7df80695262198a06286c9\n\nKEY: 938d2c59f6f3e2e7316726537932372e05e8c1b5577aae0ee870bf712ff001ab\nNONCE: fb4d71cf7eb2f70df9759a64c76a36b75203f88bf64f4edb\nIN: 8910415d674a93c54c8f5e4aa88e59648d9a0a5039a66837d58ab14f0665a5f6d9af9b839f9033d0fe8bc58f19\nAD: a3fca278a63bf944\nCT: 1905c6987a702980b7f87f1ed2d3ae073abe1401b23434f3db43b5c37c979c2068ce9a92afedcdc218003848ea\nTAG: 1bd712f64777381f68be5ccc73f364a3\n\nKEY: dd0521842f498d23236692a22db0eb2f0f14fef57577e5fb194503e206b0973d\nNONCE: 519e0eee8f86c75c7a364e0905a5d10d82073e11b91083a5\nIN: 61ff13acb99c5a7fd1921ec787c8de23c1a712ff002b08cecc644a78c47341eab78e7680380c93c7d53d5e56ef050d6ff192\nAD: bb5c4e5ae8f7e461\nCT: 9bfdb0fd195fa5d37da3416b3b1e8f67bd2a456eb0317c02aabf9aac9d833a19bda299e6388e7b7119be235761477a34d49e\nTAG: 0f0c03b8423583cb8305a74f622fa1f9\n\nKEY: 189bd84be3fb02723539b29cf76d41507c8b85b7217777ee1fb8f84a24aa7fee\nNONCE: ef1bf39f22ba2edf86853505c24fafdf62c1a067963c63ba\nIN: d5f96e240b5dd77b9fb2bf11c154fcbff312a791c3eb0717684e4fd84bf943e788050b47e76c427f42f3e5344b2636091603ba3b1d7a91\nAD: 93368a8e0900c7b6\nCT: c55a8b7f587bee4f97514582c5115582abffd6312914d76c2568be6836f62ba098789ed897c9a7508a5dc214bf8c218664f29941ccdfd6\nTAG: 78f87352dcb1143038c95dc6e7352cfd\n\nKEY: 23a2dbfcd02d265805169fa86e6927c7d49c9a24d2707884e18955e32dafc542\nNONCE: 305c7851f46f23ea8d832d5ed09d266714fd14f82ba0f69c\nIN: 224de94a938d49cad46144e657e548bd86690a1b57b81558095eace59df1c552600dea389aaa609304fbc1eadf2241f2118c8bdf04522e1898efe1d4\nAD: 0075b20502bd29b2\nCT: 8e10c59369bbb0d72958100b05788498f59588795e075b8bce21d92d320206348b04010ced9b8cd3d651e825488915ce4a6e4f1af2f4d2f77b955376\nTAG: c39f0595ae8112dea6ef96df1c12458b\n\nKEY: 264e3c3f47bdf795cdde57d9a30be5a4da8b18463c0e3e05df28b7bf4e56410b\nNONCE: 3ee09b6e205c261bf48ac53a9ba0afa460a5d5c0f2d80be8\nIN:\nAD: 8eeec09d8972cb8ab0069554\nCT:\nTAG: 245a034d84edab9fa6f0decb6b984766\n\nKEY: d8ba98a272b5f91797b04b114311c3b92b7f2e3bb72edb7f78ed311b9f8ea2ad\nNONCE: 481de9a06eee76a501e3c2b9d7423d90596193ad9d8a6564\nIN: 9ee1a3134d\nAD: 928653701f6d6c8429b08c0d\nCT: 459a07898f\nTAG: 9188ec8d8e3bd91dcfda48fcc76773f7\n\nKEY: ac9afd627a745df682bb003517056f07876eb94d2f8c610c61b6ac0d34ec4ec0\nNONCE: eaae7b8704530db1e8c3dcc968a00604a333c7c27ba51b16\nIN: f7c3f6ee2e9c03394dc8\nAD: 796620b367d5f041821baf69\nCT: d4a69005790cc91d8d34\nTAG: e4c83def113afcf83a1ea8cb204a0eae\n\nKEY: ea1a07c1fd60a5421f1fb6c43b4318090e290c97aa3bfa037e6fc5ee00fd47d4\nNONCE: 37327805cce92b38a669affbca1de92e068727fcf6fbb09a\nIN: 7002ca765b91913ee719e7521ef5ac\nAD: 64e7c48fc3041eac0734737f\nCT: 9d8857a8c52a9ab3bf44b024b191b6\nTAG: d072c31714a7d0fe1596fd443a96e715\n\nKEY: b3beb34fe0229fc8f49b354e941025bde6a788f25017a60e8a49591ed5d7e7da\nNONCE: dd0e9fec76de1f6efb022b12164f7e9248b8e8c01d14ac02\nIN: acf360d7529a42be1f132f74745a940da9e823f2\nAD: 1489ca8d852f0a8547dbe8bc\nCT: 2e8718372d6e8167213cf112dc41c80377244f5a\nTAG: e4f31e8f84b9356999dc60989009e698\n\nKEY: 9357cecd10bab8d2e42ed88c0386204827c3b76e9e51150d09fd4e3b4e0e1e6f\nNONCE: 81f2106a5379e0ed861cf76b3cf95afb17515478b5cbcae9\nIN: ee51a0f25d091288b5e2b91ad11d491329e48b35a18a3a8685\nAD: b80cb677f4b409cd1537363b\nCT: f681f19fa8de1fdea3538001a46f30fa6333b76d6439337e68\nTAG: afad5e6d282d9df6d8119c32237b3e60\n\nKEY: 9f868600fbf81e40398b7dfb201fcae35d34bba10908860b0b2bf8b942b4e8fa\nNONCE: 2ddcc13c97185614095d437900b8c0a9170e0a4a50e46ba5\nIN: 133fa3ac176fee6df67472752e41c6834f13300c0064ff5b190f903b7ac7\nAD: 0d61321fbee8bb1f3f5cb454\nCT: b93abb311ec0bf018dc300c7d511b42ade72780373186e231820b44f22f0\nTAG: f8bd2f649a337783ff911e37966037bd\n\nKEY: 05affcdfce0a28539924370db8d80a78b835254778ec41acbff52bfab092fa33\nNONCE: 3edaeb185f7273b1a7cccba54f84c5f7d6583433b49d3694\nIN: 7657581faad266cc1037962a380c8aa5306f88000427d0a05397696b503790ad2643c6\nAD: d7c213e9e6f4a40f3e5b662c\nCT: 5eb19080aadc89f2329da4f5c41dc60568651c424c1b05d827f2bfb8dbff42c5a08224\nTAG: 2da20087b5674f0b967d1baa664bbd82\n\nKEY: 645ed60ec74ddfe1f02694792db4436c262d20405d8645cd9755d64876219799\nNONCE: d83665b44c1fdf567299f2b8501e9c0e7ae2dda0bb8f2c82\nIN: ceee69d32ad4667a00909964d9611bf34fd98be41ad7f0feaaaff8169060d64cf310c13bcb9394cf\nAD: 57379f8f44191ec9cf3b1a07\nCT: 4496a0666f0f895ebce224b448a04502f2ae7b354d868b7c54295bf051162e82c530c767d1ffd2cc\nTAG: 1ffc56da4fb961ffdfabe66d82ec8f29\n\nKEY: 06624c9a75bb7dbe224a3f23791281f53c40b407a14161a3f82f34924623dc02\nNONCE: e647b8b4739bf542a81d72d695e1cd6ba348fa593987ac47\nIN: 2658763f8d70e8c3303582d66ba3d736ce9d407e9507f6c6627e382d0144da157d73d0aee10ef034083cdd9013\nAD: 75536443a6c2189a57d553bb\nCT: 305cab5c2f9a6edccac307d6965febe3c86f2a1e31ac8c74e88924a10c2a29106bce980c803b7886985bba8ec5\nTAG: 8c12bb58c84175b9f601b704d0f8a25c\n\nKEY: 63aeb46083100bbcc430f4f09bcc34410df9cfd5883d629e4af8645ffabb89c2\nNONCE: b09830874dc549195a5d6da93b9dcc12aa1ec8af201c96bd\nIN: 1b3c9050e0a062f5a5cff7bec8706864c", "f8648142ec5cb1f9867ace384e9b2bba33aab8dc83e83b2d2fac70cd5189f2b5ab5\nAD: 7dcc05b0940198bd5c68cdf1\nCT: d8b22e5d381de08a50b163c00dbbca6c07d61c80199cebd52234c7bd4f7ed0a90d47ef05617cdb8e3f782875ae629c0f0ad6\nTAG: 194077f0e6d415bf7307d171e8484a9c\n\nKEY: 4826c1bf8b48088fece4008922173c500ff45790f945b1027f36110da4fecc92\nNONCE: 3a78fc7397944d762303b0a75974ac92a60e250bf112600a\nIN: d26e3a2b92120ff8056bb992660cc8a2364792589c16a518b8d232b8184aed05ba8d4fd0b2ad2b928cd873e11905a21ffece5f1e63c974\nAD: 904d2cd3e50f7bfb9352f142\nCT: 21f4cf679662fad36f57945fc0c0753c3791261eb58d643278dfe1f14bfb585c5a01370ba96f18dc3f6b6945a2c6997330b24f12f5219a\nTAG: 95397c54428f9d069c511b5c82e0151c\n\nKEY: ec526c03d8a08e8a63751112428a76399c399e8b83d98c9247c73164805ac8fe\nNONCE: 2cc1a6ae89c2a091415fa2964b44a0e5da629d40d77b77f1\nIN: 567377f5b6df5442e70bc9a31bc450bd4febfcf89d7ca611353c7e612d8b7e36e859f6365ec7e5e99e9e0e882532666dd7203d06f6e25439ed871237\nAD: 35575b56716868b66cd21e24\nCT: 6b738274fe974438f1f5fca8ef1ee7df664f1e72bc54ccd3fb58c4a3df67ef9a73261df41ffe9c52aeafc8be4f6524baf9efb1558d4a57defec7bee3\nTAG: 92599d4b14a795e8c375ec2a8960b4dc\n\n", }; -static const size_t kLen17 = 98266; +static const size_t kLen18 = 98266; -static const char *kData17[] = { +static const char *kData18[] = { "# RC4 tests (from rc4test)\nCipher = RC4\nKey = 0123456789abcdef0123456789abcdef\nPlaintext = 0123456789abcdef\nCiphertext = 75b7878099e0c596\n\nCipher = RC4\nKey = 0123456789abcdef0123456789abcdef\nPlaintext = 0000000000000000\nCiphertext = 7494c2e7104b0879\n\nCipher = RC4\nKey = 00000000000000000000000000000000\nPlaintext = 0000000000000000\nCiphertext = de188941a3375d3a\n\nCipher = RC4\nKey = ef012345ef012345ef012345ef012345\nPlaintext = 0000000000000000000000000000000000000000\nCiphertext = d6a141a7ec3c38dfbd615a1162e1c7ba36b67858\n\nCipher = RC4\nKey = 0123456789abcdef0123456789abcdef\nPlaintext = 123456789ABCDEF0123456789ABCDEF0123456789ABCDEF012345678\nCiphertext = 66a0949f8af7d6891f7f832ba833c00c892ebe30143ce28740011ecf\n\nCipher = RC4\nKey = ef012345ef012345ef012345ef012345\nPlaintext = 00000000000000000000\nCiphertext = d6a141a7ec3c38dfbd61\n\n\n# DES EDE3 ECB tests\nCipher = DES-EDE3\nKey = 2eaf97304cfaeb822c04a7b7bef328c7b82fef2ae81b06b5\nPlaintext = b3ed255d4f5e2d6d9a1aa2bc03489064d28fe1431eceee183b7231fad3273140\nCiphertext = 629d608789e51dff699343d061ec01d94c0681c7698ab617ea0145f37304c8e2\n\nCipher = DES-EDE3\nKey = 72f52e1ded0a88eac6c88d2901b27c2fd6e9f3f3387432ee\nPlaintext = 60de7b5667a1ad5995f178553d695d9b0fb537562876faa9b6cc50d05a1271ac\nCiphertext = 09875b215ed2499318c2d99c48209ca5f288830cc6edb9538190fa3ca31fa175\n\nCipher = DES-EDE3\nKey = 4cd30f1e14d485dbc05c69b65ebf44e556056a2261c9e714\nPlaintext = 7ae59441bbd665d8867273386fc72a8cd62cc5bc6bb7cbd57fc1f5dcdc73adfd\nCiphertext = 004d0daad970bfee944c8779927867b964dd0afaae7a830c2b8e7fdcaeac2158\n\nCipher = DES-EDE3\nKey = 7a07ac63adfaf1b26860ce39edfc402758bc4d1edda156ab\nPlaintext = ed4f18cf10bfcbd4354710df053d3e2b776860137349471b8dcf526b8eea8b22\nCiphertext = a1fc1014abda7e198ac8e096a368f65d9b59e1eddf5d97715015a2408dd8e799\n\nCipher = DES-EDE3\nKey = 37c443ab336fed59b0efae51ea7f5d07b7040868beefcd99\nPlaintext = a10a180cc94b75fc9d6556dfc0a816b71020dc3906f9d59d9dd4c839dfc1c1d3\nCiphertext = 0a874652b621618635138a7d4b33bb624f91a39ef1422b3e0490311ac6df3602\n\nCipher = DES-EDE3\nKey = 1ff1a7f4839d484e308d9b8c2c052b126def413d5fb8e0c5\nPlaintext = 4f28ef6683d36c80556ff240b247a3967aec23f859e3afb93aefad93b1e9964b\nCiphertext = 87a8f3fb4c51b3caf19c4ac51363d92025acc053e538c1502d347a618314a4bd\n\nCipher = DES-EDE3\nKey = 5642c4d1859a85b342e3f253fd8bd835e856c451e63673e5\nPlaintext = 687af9b298db752b47982f64ad9bff52a9ae487aa5e5c08f902035b0633225bf\nCiphertext = ca2ed48392ba5d70879ac8772180c3028ef946b6ac1df0348f206ce16bc449bd\n\nCipher = DES-EDE3\nKey = 30f9d27472f9deee309dbca76ba29ca174c39d0631084735\nPlaintext = 85db2c266902932c8e46d0207459b203f90955adcd7506b49bc82e2796de764f\nCiphertext = bbb5940b45add7c587cc9fcfc40674bac7e081baf71285891c65ed9573947a07\n\nCipher = DES-EDE3\nKey = ebc5a73005b77a812c3f4f61669ba859939852580fa61cbc\nPlaintext = 808d22c60b883a986dcb0860e8d92a75441cca0a2a4b06dd78dbcbec198b38d9\nCiphertext = 75d39d30862431ab07227e22b4c8218f1fbc2a3816daebc555c1b999c86d15c9\n\nCipher = DES-EDE3\nKey = 2e8eb05dd8a2b7a5a61a6b8a3830b12da2c4b1bea1e884d5\nPlaintext = cc7569d005afd1a365f5c5836c14475fc15091199902af4a78460d56c16f91ca\nCiphertext = 64db8af7a30363051a017cc92ed67ac6c0e2e1ffda0c94bbf0eeb803ba6b3d22\n\n\n# DES EDE3 CBC tests (from destest)\nCipher = DES-EDE3-CBC\nKey = 0123456789abcdeff1e0d3c2b5a49786fedcba9876543210\nIV = fedcba9876543210\nPlaintext = 37363534333231204E6F77206973207468652074696D6520666F722000000000\nCiphertext = 3FE301C962AC01D02213763C1CBD4CDC799657C064ECF5D41C673812CFDE9675\n\n\n# DES EDE CBC tests\nCipher = DES-EDE-CBC\nKey = 0123456789abcdeff1e0d3c2b5a49786\nIV = fedcba9876543210\nPlaintext = 37363534333231204E6F77206973207468652074696D6520666F722000000000\nCiphertext = 7948C0DA4FE91CD815DCA96DBC9B60A857EB954F4DEB08EB98722642AE69257B\n\n\n# DES EDE tests\nCipher = DES-EDE\nKey = 0123456789abcdeff1e0d3c2b5a49786\nIV = fedcba9876543210\nPlaintext = 37363534333231204E6F77206973207468652074696D6520666F722000000000\nCiphertext = 22E889402E28422F8167AD279D90A566DA75B734E12C671FC2669AECB3E4FE8F\n\n\n# AES 128 ECB tests (from FIPS-197 test vectors, encrypt)\nCipher = AES-128-ECB\nKey = 000102030405060708090A0B0C0D0E0F\nOperation = ENCRYPT\nPlaintext = 00112233445566778899AABBCCDDEEFF\nCiphertext = 69C4E0D86A7B0430D8CDB78070B4C55A\n\n\n# AES 256 ECB tests (from FIPS-197 test vectors, encrypt)\nCipher = AES-256-ECB\nKey = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F\nOperation = ENCRYPT\nPlaintext = 00112233445566778899AABBCCDDEEFF\nCiphertext = 8EA2B7CA516745BFEAFC49904B496089\n\n\n# AES tests from NIST document SP800-38A\n# For all ECB encrypts and decrypts, the transformed sequence is\n# AES-bits-ECB:key::plaintext:ciphertext:encdec\n# ECB-AES128.Encrypt and ECB-AES128.Decrypt\nCipher = AES-128-ECB\nKey = 2B7E151628AED2A6ABF7158809CF4F3C\nPlaintext = 6BC1BEE22E409F96E93D7E117393172A\nCiphertext = 3AD77BB40D7A3660A89ECAF32466EF97\n\nCipher = AES-128-ECB\nKey = 2B7E151628AED2A6ABF7158809CF4F3C\nPlaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51\nCiphertext = F5D3D58503B9699DE785895A96FDBAAF\n\nCipher = AES-128-ECB\nKey = 2B7E151628AED2A6ABF7158809CF4F3C\nPlaintext = 30C81C46A35CE411E5FBC1191A0A52EF\nCiphertext = 43B1CD7F598ECE23881B00E3ED030688\n\nCipher = AES-128-ECB\nKey = 2B7E151628AED2A6ABF7158809CF4F3C\nPlaintext = F69F2445DF4F9B17AD2B417BE66C3710\nCiphertext = 7B0C785E27E8AD3F8223207104725DD4\n\n\n# ECB-AES256.Encrypt and ECB-AES256.Decrypt\nCipher = AES-256-ECB\nKey = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4\nPlaintext = 6BC1BEE22E409F96E93D7E117393172A\nCiphertext = F3EED1BDB5D2A03C064B5A7E3DB181F8\n\nCipher = AES-256-ECB\nKey = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4\nPlaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51\nCiphertext = 591CCB10D410ED26DC5BA74A31362870\n\nCipher = AES-256-ECB\nKey = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4\nPlaintext = 30C81C46A35CE411E5FBC1191A0A52EF\nCiphertext = B6ED21B99CA6F4F9F153E7B1BEAFED1D\n\nCipher = AES-256-ECB\nKey = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4\nPlaintext = F69F2445DF4F9B17AD2B417BE66C3710\nCiphertext = 23304B7A39F9F3FF067D8D8F9E24ECC7\n\n\n# For all CBC encrypts and decrypts, the transformed sequence is\n# AES-bits-CBC:key:IV/ciphertext':plaintext:ciphertext:encdec\n# CBC-AES128.Encrypt and CBC-AES128.Decrypt\nCipher = AES-128-CBC\nKey = 2B7E151628AED2A6ABF7158809CF4F3C\nIV = 000102030405060708090A0B0C0D0E0F\nPlaintext = 6BC1BEE22E409F96E93D7E117393172A\nCiphertext = 7649ABAC8119B246CEE98E9B12E9197D\n\nCipher = AES-128-CBC\nKey = 2B7E151628AED2A6ABF7158809CF4F3C\nIV = 7649ABAC8119B246CEE98E9B12E9197D\nPlaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51\nCiphertext = 5086CB9B507219EE95DB113A917678B2\n\nCipher = AES-128-CBC\nKey = 2B7E151628AED2A6ABF7158809CF4F3C\nIV = 5086CB9B507219EE95DB113A917678B2\nPlaintext = 30C81C46A35CE411E5FBC1191A0A52EF\nCiphertext = 73BED6B8E3C1743B7116E69E22229516\n\nCipher = AES-128-CBC\nKey = 2B7E151628AED2A6ABF7158809CF4F3C\nIV = 73BED6B8E3C1743B7116E69E22229516\nPlaintext = F69F2445DF4F9B17AD2B417BE66C3710\nCiphertext = 3FF1CAA1681FAC09120ECA307586E1A7\n\n\n# CBC-AES256.Encrypt and CBC-AES256.Decrypt\nCipher = AES-256-CBC\nKey = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4\nIV = 000102030405060708090A0B0C0D0E0F\nPlaintext = 6BC1BEE22E409F96E93D7E117393172A\nCiphertext = F58C4C04D6E5F1BA779EABFB5F7BFBD6\n\nCipher = AES-256-CBC\nKey = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4\nIV = F58C4C04D6E5F1BA779EABFB5F7BFBD6\nPlaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51\nCiphertext = 9CFC4E967EDB808D679F777BC6702C7D\n\nCipher = AES-256-CBC\nKey = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4\nIV = 9CFC4E967EDB808D679F777BC6702C7D\nPlaintext = 30C81C46A35CE411E5FBC1191A0A52EF\nCiphertext = 39F23369A9D9BACFA530E26304231461\n\nCipher = AES-256-CBC\nKey = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4\nIV = 39F23369A9D9BACFA530E26304231461\nPlaintext = F69F2445DF4F9B17AD2B417BE66C3710\nCiphertext = B2EB05E2C39BE9FCDA6C19078C6A9D1B\n\n\n# AES Counter test vectors from RFC3686\nCipher = AES-128-CTR\nKey = AE6852F8121067CC4BF7A5765577F39E\nIV = 00000030000000000000000000000001\nOperation = ENCRYPT\nPlaintext = 53696E676C6520626C6F636B206D7367\nCiphertext = E4095D4FB7A7B3792D6175A3261311B8\n\nCipher = AES-128-CTR\nKey = 7E24067817FAE0", "D743D6CE1F32539163\nIV = 006CB6DBC0543B59DA48D90B00000001\nOperation = ENCRYPT\nPlaintext = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F\nCiphertext = 5104A106168A72D9790D41EE8EDAD388EB2E1EFC46DA57C8FCE630DF9141BE28\n\nCipher = AES-128-CTR\nKey = 7691BE035E5020A8AC6E618529F9A0DC\nIV = 00E0017B27777F3F4A1786F000000001\nOperation = ENCRYPT\nPlaintext = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20212223\nCiphertext = C1CF48A89F2FFDD9CF4652E9EFDB72D74540A42BDE6D7836D59A5CEAAEF3105325B2072F\n\nCipher = AES-256-CTR\nKey = 776BEFF2851DB06F4C8A0542C8696F6C6A81AF1EEC96B4D37FC1D689E6C1C104\nIV = 00000060DB5672C97AA8F0B200000001\nOperation = ENCRYPT\nPlaintext = 53696E676C6520626C6F636B206D7367\nCiphertext = 145AD01DBF824EC7560863DC71E3E0C0\n\nCipher = AES-256-CTR\nKey = F6D66D6BD52D59BB0796365879EFF886C66DD51A5B6A99744B50590C87A23884\nIV = 00FAAC24C1585EF15A43D87500000001\nOperation = ENCRYPT\nPlaintext = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F\nCiphertext = F05E231B3894612C49EE000B804EB2A9B8306B508F839D6A5530831D9344AF1C\n\nCipher = AES-256-CTR\nKey = FF7A617CE69148E4F1726E2F43581DE2AA62D9F805532EDFF1EED687FB54153D\nIV = 001CC5B751A51D70A1C1114800000001\nOperation = ENCRYPT\nPlaintext = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20212223\nCiphertext = EB6C52821D0BBBF7CE7594462ACA4FAAB407DF866569FD07F48CC0B583D6071F1EC0E6B8\n\n# Regression test for https://github.com/openssl/openssl/issues/1916.\nCipher = AES-128-CTR\nKey = 7E24067817FAE0D743D6CE1F32539163\nIV = 00000000000000007FFFFFFFFFFFFFFF\nOperation = ENCRYPT\nPlaintext = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F\nCiphertext = A2D459477E6432BD74184B1B5370D2243CDC202BC43583B2A55D288CDBBD1E03\n\n\n# AES GCM test vectors from http://csrc.nist.gov/groups/ST/toolkit/BCM/documents/proposedmodes/gcm/gcm-spec.pdf\nCipher = AES-128-GCM\nKey = 00000000000000000000000000000000\nIV = 000000000000000000000000\nPlaintext =\nCiphertext =\nAAD =\nTag = 58e2fccefa7e3061367f1d57a4e7455a\n\nCipher = AES-128-GCM\nKey = 00000000000000000000000000000000\nIV = 000000000000000000000000\nPlaintext = 00000000000000000000000000000000\nCiphertext = 0388dace60b6a392f328c2b971b2fe78\nAAD =\nTag = ab6e47d42cec13bdf53a67b21257bddf\n\nCipher = AES-128-GCM\nKey = feffe9928665731c6d6a8f9467308308\nIV = cafebabefacedbaddecaf888\nPlaintext = d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b391aafd255\nCiphertext = 42831ec2217774244b7221b784d0d49ce3aa212f2c02a4e035c17e2329aca12e21d514b25466931c7d8f6a5aac84aa051ba30b396a0aac973d58e091473f5985\nAAD =\nTag = 4d5c2af327cd64a62cf35abd2ba6fab4\n\nCipher = AES-128-GCM\nKey = feffe9928665731c6d6a8f9467308308\nIV = cafebabefacedbaddecaf888\nPlaintext = d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39\nCiphertext = 42831ec2217774244b7221b784d0d49ce3aa212f2c02a4e035c17e2329aca12e21d514b25466931c7d8f6a5aac84aa051ba30b396a0aac973d58e091\nAAD = feedfacedeadbeeffeedfacedeadbeefabaddad2\nTag = 5bc94fbc3221a5db94fae95ae7121a47\n\nCipher = AES-128-GCM\nKey = feffe9928665731c6d6a8f9467308308\nIV = cafebabefacedbad\nPlaintext = d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39\nCiphertext = 61353b4c2806934a777ff51fa22a4755699b2a714fcdc6f83766e5f97b6c742373806900e49f24b22b097544d4896b424989b5e1ebac0f07c23f4598\nAAD = feedfacedeadbeeffeedfacedeadbeefabaddad2\nTag = 3612d2e79e3b0785561be14aaca2fccb\n\nCipher = AES-128-GCM\nKey = feffe9928665731c6d6a8f9467308308\nIV = 9313225df88406e555909c5aff5269aa6a7a9538534f7da1e4c303d2a318a728c3c0c95156809539fcf0e2429a6b525416aedbf5a0de6a57a637b39b\nPlaintext = d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39\nCiphertext = 8ce24998625615b603a033aca13fb894be9112a5c3a211a8ba262a3cca7e2ca701e4a9a4fba43c90ccdcb281d48c7c6fd62875d2aca417034c34aee5\nAAD = feedfacedeadbeeffeedfacedeadbeefabaddad2\nTag = 619cc5aefffe0bfa462af43c1699d050\n\nCipher = AES-128-GCM\nKey = 3de7b368783bd7287f2b9b731814c876\nIV = 90dedcfff100eb1f1db9d935\nPlaintext = 8d766795cadc0961c0f448c62df3827eef3a8664599b3adbaab0cfd63875bceb8f992b4f7447dca10ddd716aa0bc4fe925e1aa3e3fd1d5c430c650fe3546d6b9a24d576a857c5f04e8c0a3b149df277aa19cfa64ee235891d3b8ec0e840d268b1e70dd8a4bf97628a0c7aea38aa21eeb8fb1a8437f2abfee05e0d2c30659e312ec03d30da51b7c19073a2341c17df806e27e796d581143d39e4de8d3f8d46aa6d6fc1a98d94fa69b92dab751d930cc12de21fb1a7468af09e3c12ff6c3db3967d10cf140bc46f17a16e24b010b6cba5ebf777341c52042596ee53008389c48d9690ab9f5625795c3e588f72f7a1670b2b25a9f4eee1c8845ac90f1bf47ae4ea4b607a50aca88ed304cbb700d02d5486139b0bc81ec042e574abf986972fa008b83ef22dbfe720c2f2f6355c87c975932cec545ebed657e5e7570c503e9aa7f0b87d0b2648e421ed1d34749637c95d1e931af8925236387e50454f0ba2e22ed05f90450fad46f4eb7ddb08656511dd065c0f852a7e42f618a961a6c6bec42226c6b6043580b009ec9837cf99844cb74794a82c269ff648e0bae9ae50256a0ad98ad9f5a35057b3004ac96f469f9ee966dadc16dc47616586cf242706df96bb2f7ee43d3bd1c65d2eac7b82ef242e77ab509afb9639e5f3995380e926305729ca762c487f4411ec2a9c688b8347e5287216dbb38c3fe2281a89fcb47ee2ee7ddf79bfa3ab61cd56a00981019bbcea8aa0444eb75958e5fa56ea0036d2de4950a7db886f4a318b433bd41e00905ab158171e0ef13172293bdf70064b9dc7b243bf9dc927589bf9e99468d1cb330639dbff1850cc51929b8971b0b2ede9d06bc5f6ba39d4551b587f09bf6f8206e8f1524f55714612581d6aa45d8fb83425f84a736576deeecafdcbfbb8670d14cd2ab2a7f8b7f374c07881b7bac2605fd5ff7ff7cf43e30cf49910961a9079c0343b8601be8c3e9fe38f49fdab0b7e1a8c1536cf84e4d80d26ae5ec37570839b5cda02929221898d611525c3a88fc444167ffc532b256cdd0a8f31ff08097d75b629fab99c9e1062d1d9962b211e15ec8709934029c4934e64db8d7a2f32e23dc541be306e9a57a3419115994cbc3a8f8d5ea2a6f45b9ea9ac0e51ed0c6680fa029f4552a6c8665aab00ab77928342e7284c321e9500ad4774ef1fed0f596d5aea371fe1793271aef38cde55547f34701a525526e83a72673385a85f44db511bc87ce1f831fc6ccf8204ca4f4a20eac09897aae93684f14ede21bcaf40a09c08012b92600d6a839ebdf8bdca7b34192c6c50bad8796b3be3c375dbae6217815d2c75cc878d39b4e842d4eaa5f5df2242cf230e44a240e18e47827f089b18bf880fd41a2516eac8e6ba3fc2db64a4bc28789860d7b18d9edeae8b3059f4d945b15d0ee27b1f74842dd1df117fe83a8fdade23a47c93902eedc4d33f2dbfcd1996e6dc1458409fde2302830e8d44c58c5ae67486b9950dd938f14c38bc4c9484fdc4ded93a0f90875773453fc14d428cd6e7beb0c705d61229d2b3df09632ebb30b325fefe2aebbf2a7aa8e4ad46277ca4b8b078818b63d04e7652057f6cbbab7c43ac355537e0d3918b4a73c00dbe6b30a27ee7a6fa213d3347ae478e8edc323404b8322b9c7b0173ed61c38ed25f3576a675d527d22edd51d6dfa5767560d3a50a91226338e8c4e6436eedbcd3d2efe9dc1e686b15d2f57d553abcfda57dc316ca453a690f20148f0dfa20c1c4a58240aaf7195095fedfa56d839d0230d55ce9a8ca1b9d1acd6fe98d583148ba0f4a4e3413c76e6ec57ddb79428d3a90079f64d3321c791f60d501c3fd02c8403f0f5e6c6836bbc96430c1b48e83350c3a3cfd017f15bee3e4bb1295d821dc98b85ab3145555cce2c34a8142fe50f8db19918b514a165d12ff6301fb2296788760ac0b6d9e3a57770ad5111cde5d24b6321918cb0b0887a282b827a8749733171914b000e7d3c0edad1d42ca60da37f0698554bb2a1749f73b3120dbeaa32951f8217a781a200467d5b569d16f56fc9b7dff0ac524f03fee0617f4c692d94613b1e13b18075dc9f0d32811d4a8949a95f6b5fa46aeb83597adb409e68b2a0177c36dcc95dcb2e7dd4fb7337ff97c013364fe139e185014948fa698741d822044fa3f6978b16afd18138c845587c405ebf7a6cd1c28610ce67e992ed49e406658a0a202feed9709500d064b6f53eecfca57dd4b38363ce3aae9d59126d8ae7e140a373851188ae28c909181d0ac64770df70dd2475809350cb367825b59d521d5e457b4e36aea6dedd90a2266898b753b57fa359d43cd388e7d6c7ed90bc4c2af34ceafe88a3af6ac376fec35f1240f08af4f3eb30bc53dd68e5762e6d39e6b16f63003fbe0bee828d0d7adc58c41e857c2c44702215b202701fc696eae021af19c79e59c3e32627cd571f5db99b17f1772b5d746196befabb0b7446687827f3315b391d5dff069b1c39c00bb143218ef458e3b397e1c99640d57fc8db2e0083d3d22ed4111a8fc9e0e6f55fe6a56e946dbee43909bdd7d516fdf756ed8099ba80b1e17a5e279119345104379a36962ca9c8b2a53c414d79eb09fe79862ca749a9eabd9185ad1df57215945882f5894868a134bfc35c835e040e77ecf077d6a98a73ee022963d70b036be3fe5718280ae52c5d751211b22950c0597aaedd35af41f7dd5999e5f7ee34a37edcf97df54a46742b0252b196eaee454ff0c30685b15f8de087de208906be1d971f0fd89f7cdff2af0bdc96759d6889fba9ef092ad1c8deab0404562a7f3977d211c28dfd1573aebd5427a8773f03986101703fa", "19cd4ab96a381c76a747f63b63f7a9a3a08e251cdc593a024f63b443b76d17dd9e151809da3c582fbd334fa6dd0221b6d410c6a78ba95bb0154bb8999f619f2e084a6b9755ceee4ca3c7e0481a47776c8814f13054e627e37630d593bd09d5f10a049c66c9999f4b0b037e81ef70615d674c7c7975972994a053c069675fad3fae5ae3e779233b70254fb87f25d44c104afc3d5911b8b695173f9337130e39a02cf97356cb817f6cd23f55ef74dd06bd24ce5887a7001ef576262ffaa99f9bb5e3f55bda2aa0f199115909af48bb4d6b1a0a0847774515302cafebe75aad1f63362b1f38141e8721851c3ef1a247931b3b450581eb5d09027b9e3ba60ae9801d629b74991b7fd65520eac561d47115a85141d9a757bc75710bedff1630561ae05254ea541a7ff1846ed5e164834417556dd562c45543c88d8030bb56451fd5b3cbf10fb0164c5288789d2aac7e7a836e79bc3dd401a8e3e05aa6714ffb2dfddb3037c35fa1ebed62a073b2da42133f2620ae88de5e3f46cc69f2b9b3c9b88e39b8b108059ac6bd493be5f7a39f6b53ee825f4593b77ec9238f5ab804d533f48803e7d8187291ee25cfac4da5d8c9279517adfb09c422f6d704711726c73828a5082b4c7b3d85611b8f496d3e0f78c5c4f1dd1c722b1b11d55861f232beee6aaef8a00fd2eeeb45f182af191ca6de8eaa25ceda5451416fbf6d1abc0670b8c10e2815076f271044c690bdcb64856b91265bac202043a28f6bbeb807535aad4bd89e572a9427c826b170d3862f4cca70ddffb4769d6593a1cc6c42fd06cf68642835fe474a23e6f63df316f8361bab959b768d78e20c03c2a99913c162a9662bd9981eee55922f36792de0af68da04ab49dca72e3d9b0de79df828b433bcf6be073f851a36418c03a717d54d48c1014ccb793577c8393b7cb53cad6bc7060a54cc6363734f6ad388763519ca09b533078d3cfa61d7bdd4c4dd0ffe64d68d501b55903d3f4a1f310a3826ac2ca700de01d656188dcf577fd1b63e305614b8d13471f6f84a5d4b12c5e119870a63d1e3dbd39d3b5c26b09f9d80f8a59ce836b20bc933496923d278a022c00f3aac204d07d2e5075bbcef1e4820d633a3a2b35974f72a033484a91a1d6a9913239c93e5783b01833073c98f358e3465efd5087af37ad60b7285550e776d67ea7019e788776c5a456102358c32eb4e7c28096af88b9a20d8ce379ba3928a10ffd539c106f4927e7ac0f382c74017d6e4438fb128c660affd45e9bb68452de72b574eeffe3ce239d0718908c3800bc7e8ecd2fc7d9754171506017fd7868594c9373a96579fed475a28811649ce5dc8a3107bd0d8578748878ce4998684620931dc3981a2499568c2f61174c3b3fc46a7010468e8ff75c08cd43ac764d95e2ad1659f9db62e9554f811e0f43bb74779d923c8c243d12a5314d3c0c6ec84fe60e1d2b2e2b20d3e64054d62049ef9233ff55223a319c285e4e3f4c98dc95b2ca81230d7fed9bb99fd7d97430eb32c9c11647992bd85dcb47cfd58ea3e221d095bcf9374a6baa7c8333581f62b9e489282483023fdd18451f09bec764146b587209160b3d1d7a3d2e145fdb640c4bc382541e0d84255122d51a710887ebe1ccf29d41b4dd7fd7368d68ada250d3968d6f0971f0849c13c09abadb9db8b08960a18f84f0346ea0aa71227afa55b90cabc062d549b616400d36450b19adb67d7358e48c043fa1135abfca89374c906f8d1a6a845debf6b37f055d390b029c7f4524958bdf8d7e2755dde3b957f0926f9d3b8821ba96044d3cad2d637b973bfb657fcc06ff44c17965acf572ab7a0c87604c7dd1cfd136a0ad02b22e8ef320e101ea09772588e8c5b4d88f40fe1be18d27146a2b9559491949671700cebff9a709f297c2621ca9d5d1749623abc20a326ff5be55cb9435c03bf49b147b1e0a4a918bfdc3642df90b396a474f81d75c953d87b3f3b4e31fced630bd7c481c63acbb84dd31249101ac5277a36dcdfc80d8d9a2e928e9b2d65bb257bce97ccda83b187da8a7886dc96eab93d0864d88c358105f9cfe1ad0f0a8508b5b3985ff95de652e684da970b57669aa3fdfbe590a631522abe8246393639709a9a6cd549e78e3c2d1acf84643e9f554c5e076f75a5c1dce1be20a66722d0b896837b7036509ab8d473d5d2b7a8374d6a575f69d54afe3e7e18f4faf4e917be8a74e55c271b96d966e0c0b883f84b3ef2e4f278daeda2efd3ce770801d2c4bda5eb9b646deeab9fa55324e917e63e4eb6aeb4176cb4e43af3db61aea1546fbf16e76a12fcdbe726b565710e3f9866551023e5fbac0038678717e6ab4d3e92dcc53049e8cb65c00216d31a8869ff4d3539313fe2fd7ce0f53b255e3659e7dfc5f92b7627dd9ba42972f0ba72b888932d870ab97226040c4c0f4826be131fe1d2cdc21005ec2addd7796f0927501251ab26b0e5f3f9d2a1cb346a774e18bc233cc89aa69f5f70e3d5c17098eed350ec419c82837153b5c7f5813bf5918defc8df143063f3fe45125deded2b15892d5cebce589b60f2ada0f9d608983e8d107d8e6482b5f542c6650b014445e8c055aac142f16cfc59229fc9626f7aaa40cefacef777e494e13dfa93d27c201788ca9f60e572af8d65ffb513473dade5fe494cbf7377bd1ed03db2571d65af3be4b0bf27c1f069797bfb67ef0bd8a88c6286af6712c106df9c418d88054e3b46c88296a2e63894d6bee0dda8833c373d6a1b27637e1510fea3eb2fb34ae27354571369653a282a8d19f2c34f9e5ec34555b4ed24327dc5d246df13736bd41021697104f80c85bd0ae920e9aeb4e628fb8aec269d55858df149af298b06d61250b043c8a14a15f0646d0aaa18109d031c449e66dd7336044dbdec912b1bb615fae2a3df480bd64cbed74be65c8f1acac247e80bbaeb6f9dab38c6addf4f3b094d5934ef5c9749053b9159e280034e601731a12d6688ff27ee3581ae289de424d16676fb750d2ccd5b3f964dd77bdefc15bb204e2350632822384cc194cf9130f1ee81bfc3887d3366ec0b48cbbe0fe674281ae7445f03791887873659825680448f162452cef57d783821a73047078a8cf94c416850092ac772ef0b2e48517ef101ee0681b5259aa27fd56edf3c01e6dba6298ccc91b09bb304b637eccf8c673b816e74bd7f8ceffa6b17ab03df7ee9ca4098d24d044015a07df782a309cb6761528272632a6e1323c4e18284b463dfcabed708e4fc95cef133865cdbec8bfdde100621c65a92762cc3141ff37b66dea8fa6e3aad61dcbf3b512467c4773d36e58989e12a636389c1678c191137a5f7f59668c8a527dddcdd0c3fbb14cf48b8f3ea306850a5eda76c57aad06312d7bbfc18969d7b611f512358a7bdf959cc2f41de1c408133ef02b1fb2cdf8efe9973c27536434e56fc1bb4880db7fe901087b53ef3c0de18aafa47c25f1cd62c362f2e5da41c2dbff0e13adaba26c1e0829f027dc0320442e851eaed9507b70ac17180725349f6ea7b59bf39c095a9d10790e87221c7c2d24b8bca184ee95a3ef7449aad6c1d905f688498ae7a0cd1b01f76dabc342fb2be0295ca1484bece3c9b8a1b91e53de2d2587f3607a7f348f5cbefaa7a6dcf61bbbcae9444e2d25a77b016cbd1508c8cd319e9812b43b0bbca52df155d418dacb6ab1360a9e605fb53c6e20588a10bef42d884989e836b2ff16fbcdd2c1704f75dc8c1ac2cc6aeb92726f5d46e4784c70e1e249c102be6da506e5e3c2cef6a8bc4a60dac7adf3cacca8679f8f792ddc27613e44a70fd849b7617e042da46d65a3e6cf425f59b83cbae5b6e911142abd13a0a8cdf06d041435ee20e2ca417e905d2dc49c15b863ae5920ff7f9380a86bb0c86b69a000c157cd35245bf71f9dfdefbd1760af90ec3e554ebc511aebf650633221ca9157226f613f41406872765f8d7b916ff3877266f017b8d840dca0697ec3dffce7912ea9eafb62cc2f2d0a112c9bc0727444b47b62766bddf5b5f26d391f653b6894b069069979d0cf8cc7fc4143626a8420bc0a3866db3860096cc128d620ceff059d1614487004adbdf6b0c4428ac8897dcf16e6b11a692a6b465a92b40010f3480b444d4d2e24b0af8467666905c2a6233bdd6502521b621d3cdd4a5e1f268d65bf6a1879608ffd3abf635c5f0948f3cec7e087485c72b00258ba69783cfe7d611bc41c27814ef5674185791dbe626e1f276cf2c399a4eb264f19c77ee95d94252f546528f629188318e9ede65a927aafd2f2af56ff32c0ef39862d2f92268bc9400afa8ddeff591f3ef99681263a33b873bd9e01a59c8b281da30875245cbffee5268563c7f6f20b9e22d998934131dd219624d3cef6df2f3d2d6401833f72c619d6f763837141dbf93179d0f01375581ebe227185166aa7988eb9fd453d510ca6616cc013d551d23a33a4241e85aac3201284344977d496d768f5d920c5670b1d8bb608efc1b99abd261afb0a4ebe191605cc5c2e20523a13b3b94dd1fb24a27009d9a5b6329336f3516a327642386ba64c8769da1324a8a3d1f304cf0700df2b3e38215a954523e1d40ae96d0046e2929a815bf70785e94bc9b89246ab6aded60d65170eeb49b0ee0a57ee2e57db92409105c25f2d0c1a17b5556d06511bd0991a426258372c7f2b402dd533a75aa175524eb5d6b9575300b81fdb2258bd74429add8aa477bd1182db57107d411d16147defc3582861c68f5ce82e0a0316edd5d0f3cf36825a2c79a33e376cce2e63274b3b41bcbdd755845ad9ed2a3bdacb6fa3fa9484b7b60edeb1d9ef84772e78e39adca14c9fa0bb3ad1f1c17fb9449270e9b4c97b5b320839947fc73853fc58304ee9c9e86f3775f5469554d5006eb7ce9d02d5f900c771806c275ee7022e2b55d111338dd93ad51d14008df4c13d8c03fd9bb3689607e5cbdd499c3a372b487af74cb140f6300cd2dc2acda07277ea3dab57ecf09f1a8f2d6abf7c44fcdaa6dcb1f6e791164004b20b3b4c860f409c1483c7044b6fa445f7224606894e386ba08057a387b48920d4de203b1acc4dbe2b0b4cbdc3f7d7bbb097abbf81e01db09e120eab83def925a059cdb513efe6bc93f0579ebf75638df3c3d7f9eba3c36a169e9d88495c452888853640d93ee70f254f86e2d2d3fbb5e8883b36fbd2da105cf3a75cfe998068203186bb37f1d1ebead8ce1f9383b816f1da2fd0a9e01377b6ebfed4f05bec08b4ff9b90e385736fd13a3af7980c21b0dab58decea8e9545af5d0fb11bb51aeda2c8616960e8f6f84e6c2fc4f50d7e413afe030f75475509fbcf49cbe14445d267994fd3f38f41a1339f2895c0b2969a9bf9c59b85e629486c7bb5107c7a6b069793be7690f7a7c96c93b09a9d610594a156ab27a32d5557a5b1ec8920761cd2f559ad808dff3da64717ea5f10fba87b8ff2712ce322eb3c288939e0007f779a3920f45fdd533369f6f85a8cce21f91552fe03702ef81a926af0e402b418fbb25a6a3dad0ec18ec663126b3f48c341e2725abfeae865352d5ad275a9e3ca20393c64d118968023daac84bdc724a3c522d97a5878ed788cf8e44f80f8803d57584d8c8688cff24dd8c0e881b62d16ea30104d62007a4bec051da7fdc95d1df8556ebdf607383a0825ae503e24661ceb8ba773b793360c3f4ed3b761bd372570cb17e7c2030f07b0b45a7974e45ee6fcf5bd7ae9e9abde5421b42cff6af0c6eb7fc73f4deb67bb4e0b3dc9b4008da30c67071243cda649091a14b89bdacf2ae98dd230e", @@ -701,9 +781,9 @@ static const char *kData17[] = { "6d417de31eb5dba123e3ce9e2269867d9a94fdcd8ccac40a9451953085109f5ae0c3e04daadb4a2a47b0e176917660eb3c9f1aae0ec6b00635fa387e056623947c0621f0a12e86fac1881ed1dc1b9f523388d6b6596a152b3e732c561972879dcd3f0232ef0773a4fb195a90c3186c4688ea58967ce7f18386b80bd38e90cfd4cb899337ab27cba8db6523e979b4c449645bb2f320ccd28578bc7ec38f47225273fa61a2e5df97c4d76c556fbe2b0fd30e615f5fc82c3de7194caed9f5946c151c22b7a0c48f4a7cf78aa153414f2913c5eb95e3dbcea7ca544272cd13a1c52fa87759aeb430aab144fab418c835344605df3a044825965ca15de6ba0e59b2080f5844b2d110d71587e19acf14264cec2de5b8c77d18893215d1c1da0a940e7c2ee429a99e2633c216aecb7675a2314a09044951ca5a8eac798f8878fb5ea65f4ddccac53ee0c786e597169079fb6e8ceb37a71580b0904a97450909ca454a690821e249aebb75449e582fe1b30f1fa9f6464bdef654daa5ede6d4f223f4589ea25a25f4672cfbe974d51008bce296628556f55d26646e40b59f40e3149273760b40806ace3b5171e0b79865c6adb53513da2f24c4115de243150cec76107b48ca8da19117f00b5870e67eb8357e43c1b7b593c9875795d46ede26a109e05406b69fda988947e49ab195f22454c3c743c2ec51b91370b4df8d38653b353e51bb83215d122bcfa591009c007bbb6124bc590fed3f9c5699180b3b1424ad02f7c90a149b77d22dea5c996aba675c2a1a20e206d9c25d9446247d495a26486c0d0bfb09d0b5a1a177a09fa749dc36cee73af0116a6b779c2b827512a04ff0f60b483edbcdb33d2a18339463c498ae67ffa9da0aa3f3beb6bc99212f9e6961afde89045520b1f3f2e2761666a333d76030f443f53322f099035584a60978ef8b49f46d7d4d8c5c758ea52a04b59c1a3a1c2f9df3f3b6f5c45cf4b3547043b18c1d615a2c965c3918d090cc72946e8fd0b938e60e03464f4bc71fb719a1d173b0931930e58bf7f6d4403971d36b40f83be6b57244a7029e1d41dc908764d57a5442557218b509faeda4e9fcf31debbc54ae671ef636871233f29e0013c0e33933543f4b59df1978ec89b109c3977b0cf938b7f6166d6c93be5e87684a703c8b7b5fe1a8bfe153a179b55575ff05e599b39e32ed10d958699a1ffe07136081f0719b18c69dc74f66f211103e9c544f3c81a88ba9f66a9bc7017d9ca9e2cd97634052694a598476b99daf1cdfb6122869375ca5873d32d5c1e07d9b5b380b4f09dbe04478cfb1a13853eafacfed70c8abcd444ed095f78d07c0e8b4093be95c3aa24b2e5b6bfe3a06e9d2d9fedfcfeac4cea2490627e6da6a5cca383351952f654ce2b0ad359c0f7f4ad3f8d1d4a030a947d4a2e417bb79102729115cc8b6558c3362b1d805fb48ce4858deff97677e60375ed13e150a12ee7dcc8ccc64d9710c7f516555c1f7a1a08f0d7c6fd21f864fcf28c8f748c40494e01fc32006f977a5100577f86a484d11b82c90cfe6b4d6b1902fef486cc6f3e033904e150e67283e49a5382961dabd244412ca9657b48796e476a82443167e277d5a65c0c563a6abca77d316e5d3ab639a1ecfb1110af2d29f146508bd9874486dbb56328d6f59479e2766692821660462aa60b6bc8a710707ceeb0ea6429e5113e03c9f41ce0d69c7589deb547527673e8a9f9a9a74e9e4bbcabf2e306b35504c1da99730ae86e94cd047b2e6ea5e97e63a492430d37ec446434fb3b066adde08b17d7d903ad194a4a863d6cfe181a45c8c97b5062bf7c4e44d69c0d1a7e1f5029b805b7c21d1b5e56e697999a32557870ebaae8d87dcb5ca5eea2c5547a16b3f30ef9df8df821028c106f86e091050ff8b6ea4171e59dc2592d405073bea53f8ea62edf112dfbc7ca69809db8005783d63557d3d90d123a944be395c1dc3b5e1476dff188346327769fea65f3cf9363e88ed67335870ec8ef13eb9d9ff5317c4e24dfce9d11699e5f47b4233cc8f9d1b915e716a5730a5898ee65d30b1628b484a5e82eda95a590964a8d8bc89dd3c5cf6c4f9137b8c6ee9d6a692e0c0d1d858dd5b3c12de48badade4d01bff312c56ce3ddb34b0fdde3b0c2706fc292b9fac7e1a0dcd0b6534c968117f7de15eba84d2754e4bcb8093a5440297605598659f686075e2b1b464b6b3ec68abb13cde263b1c607545c45746338b9b207b5c381da690f653b35e363e1249551ad938b9fd7b0a944151cda07127bf9ba76958e926472f4aa1de8512ce834cfcae5414b226f23acdb1fe5cf685d2201b78167ad35fc1da282744c2a43cc49d49242f968f7e06de14455e7ef5adedc5b33184346018114e2d1fc7a5349e378da9b2af5b328c213888652aca9f1145363809eca7c1fd8e64a5cc3255418736e048a731f3053db77971f67014e6121a8e464833e5dbd02ea6caf385e43e9f378bfba657986bf852b32adb55e35a2675bfc8d70d43a902032a61f59f57dad2dd7d7963322136233200cb9a90c952074e9ba0fc0654f1b6fd6f7f0eb77c0fa6d8143213ce6e8b0c178f73e17a7c64839f9bebca2fc955ea8ae406a13b80a9045fa8d129fd859faa46fd27c48bde7b890f98ee938c0d78889f84181ae2f5711304fe554d4251bbc6437ced59d577a2a1f26da736193c3674adb13cef9f4cb4aa6585c4d6874b0309ecde300493b1642c595746f09e03977c8902f3a4a877db1153b248f295a0ca2f1e437d15fcab8fd77c5f967304efb5c4920b990674ae61b954af40be17a8559dc377c591b68067fdcaf2d27bd9a22041b981a84be3de50d5962b58f8c4a22fa05192c5ac99a0a9423284fe62a3a59f085136cec72cda2a53af106a2eb5bda28b6e02c299118cd91714c2e7d045346c78d9ed1b41c73231a21e42c298949f70122277f4134ed5c56639edbf3c3e717310e3d1f03dc5a94e64c4ce148bc5c6bde64eb80b17d5979892786a31225eb89bf9f5a582bcf65b83ff7aa361ccd9238d144f6a22a3f77dd8a01382df4ee90a2057dd310a6b0c4b81dfc92a2cc0c606d3be8b18fbe64ddfdf2004eeabea892be2f914edd1edd8e8829dc7704d71bbaaf08c41824dd0f4b34c9eedead9e10e53bfc6fc0bd37417de0c5c71cff0754d672f29c262d8e27b524427e12bc4e4705ab311d3bedcb1ddd09a3ca0c268c05c64951b7d724a9dafe4d249aaabda91d68633aaab845bf78f9a22d467c7e0c5fc70fc9a318b01d7492efea7fffd329d70692e76647ae665c62b280da0d62f870a52e4dc4cd92c9150c96aab16f8c23475e3152d4debb41b6756f000c3d8aceef18b49e295be7a71da1eeadf4eb96509d45d7cc42af4b7013d8bb445f577e8d4cff92770b8ba0e451f3e24c6d981efdb68c7f2dfafee40b8a425955796e369f0d4da3e998c1626ae0fa583334475f1fdde68ca211c3f2e9afb003f553191702e11f8b731c89ea26059ea4466f2bd0a1a5601025ca9417006bca5c9a57dfdba44c603ef9ad38922623b40feda036d84425c47fa42973e348a180a7570e1215044c375313ab08d6f521052dda415707ebb74d6c4774e039bb04cadc2799224bde1802e2ee2a018032e3a341700c0fa2aa28bf93cc479231efe7da0e9f68e572415348c08cf648117e9b6d1267fef6617f5927252c86cc087775db3e30180feb5ce7e1ac9c3761161e07a4853aa6d97e525aa88302954cf9390fde81f8e11d97a11c79e3bad261364c18890dd1f8fc71127edefe3571518a42be611a46a0426a33221aa25a0ae6514daaf96038cb59aaba898de49e3b215a4464e0af614e638c2d9b6e676ec427fc906bc516331a18121f306a5246d179e2d3d0f38ab8393f7ea5a2d24585e7cca649637b9983924a15483c167e8780f8dd7aa1154cbf731745a8d8d54a8c4f8d854371bb8172303f9ba3c8c7cfe8c378ee56bc35c6376aafe907d3294ee9a8786281b7deff78ff125761f1a31d0e8fffe04a52a7574eeb8679670ca3bfb740167a559488d4337819613d32752d8a89013622f6a8d70f3c64b84a4215f4b7bb282a2d17c36a326167e3270757b8f1d9a0137bfc5ec278e8ca35a69e49779cfc25b95a89cc18732b5b9d1986b18878c57e118506909207207ad0b4edf32fb2b35b6e70546f45d0849bd139ffff9d8ae547787e7b51403b54f110e2ac65468cd0910d80a4e321deafd46e9af19609bee1efa41b762b8ace989dd681503539e7d9948664cf7a73ffac9ce2a34b514253c4f21bbccd38057a6d68732930dcdfc9a32219b53339d100db0037a8bbd101e71f5054f3\nAAD = 7b3b9c07148fcd897f657ecfcc87e530191536b8e77f9309e8d7323888b3b21477f2ab7c885c105d9c29ac96aed23b366f9fde4177401b7038c6770c7bd2ee8b4335105cc0eab9e367f0cea90d6f1ae3fa76cd21ceb9f3500ce7fb4b2a3f9e90f900a231ec693aeced7afb6821391d1f5b1b957895777aa7a2b71d9571c00336f26d54d756392cdb74bfb67d5a621d517db20441f74d0940180baf613b09452f64224f8af7bbc864ab4a8434ff624d0c0646ee07132fd376506951899bde975df8c836ab4ed9cc084f1f6d500ad56345d2f250a0d6991b9e458c62b6023191f341c8659e8a38c878cfac12b032674503df9c9bb01c4340c709eb6dd7c74907d769a317f4dd7317843c47bdb4c5e1f07f2380d464b0c47269389cc8a43a09adba86f6aa8f44c8fe514e73b5fe8d344769c1aa20a4538ecfbf47562ca79fa497b0f02f103f75522db9ead50d56dbe86997d6085f1b5aa7a4cab9e51a1247ce4f724a14983b6bafd17369fac973c6be268e20d800de870928e100990ebb0d3bedfceda36c64be3a729b603bce677a49e8caf282c9159b6e3e1e775129bd30dc3f5c9849535d86a27474be03bb5749b4c0115e2614f8feaa7405cc69b1de479b3b57e551f876a9c8c57ab9879cc68bb2ea110b2e77e59dd6a65eaa67cc4d4b2f4d6e646b2a298d3c80fb43969275d4414734e74726145dab06124c040656c39a94846e8fd58d326f4f9eafe5b95d85254765a21993f55070fcb9e85db5d42ab6b9464ce66de3f236dd2a0a26c4e5535dbdcd6eb350209a65aee785c6647ad4103d092a8ac932470880eb314f7c98cdff34fdf35ee2d36f09bd443b5defad7a5acb9df55965421fd043def6f4771e1bb27385b30ba22c0d8972aead6b654085a7dd3b60c4004a0dae22e25100e54e0badd0cadf909799329ddff699de8066dd6c3822d80c73c52d87e6fcbdb2dbbf852e37804b1256e23e76dbe43f30be4a577bc23c7941a3d708d1e1f579e9c6eebc219c74768168f6790a41f883790e08cd1e88ad09a544eb97b3d1d5af67eea666b9c027e5c7c976921189b955a9e605f6cc9c012c1c2e197c5b02504cb9ffbcb0f3ed778d540d5194fdf5d38dba6340c93da7c5501a082689616f337d8b59c2a92c25e777515726e1d7f6cc9552693cc7c30f1294b37f97d49814250d6c1e3eb335c5d214ef3641739d508b87106eaaf367902433a148ca962ec694409acb82d7749e1c88938ad382d0ca6e6cbe8255746832fe737c3e71dae8397f260c98d4a292a126ec21935c24096d2f91ae114194af659455d8a4206197495a28474dd2809debf5f550d77ffac2b0db521559910c352f23472d7aa9f4dbbdb158f40aa36912cbd918ae4c642e76d78d57ade1075c4fe1086ddee3d554353b4693bbcef1cfa87e49890838c36156af0edf384b0413d6d7aa\nTag = ", "51cbcf4a2fd82f221de1bfebf86a8c24\n\n# OFB tests from OpenSSL upstream.\n\n# OFB-AES128.Encrypt\nCipher = AES-128-OFB\nKey = 2B7E151628AED2A6ABF7158809CF4F3C\nIV = 000102030405060708090A0B0C0D0E0F\nOperation = ENCRYPT\nPlaintext = 6BC1BEE22E409F96E93D7E117393172A\nCiphertext = 3B3FD92EB72DAD20333449F8E83CFB4A\n\nCipher = AES-128-OFB\nKey = 2B7E151628AED2A6ABF7158809CF4F3C\nIV = 50FE67CC996D32B6DA0937E99BAFEC60\nOperation = ENCRYPT\nPlaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51\nCiphertext = 7789508D16918F03F53C52DAC54ED825\n\nCipher = AES-128-OFB\nKey = 2B7E151628AED2A6ABF7158809CF4F3C\nIV = D9A4DADA0892239F6B8B3D7680E15674\nOperation = ENCRYPT\nPlaintext = 30C81C46A35CE411E5FBC1191A0A52EF\nCiphertext = 9740051E9C5FECF64344F7A82260EDCC\n\nCipher = AES-128-OFB\nKey = 2B7E151628AED2A6ABF7158809CF4F3C\nIV = A78819583F0308E7A6BF36B1386ABF23\nOperation = ENCRYPT\nPlaintext = F69F2445DF4F9B17AD2B417BE66C3710\nCiphertext = 304C6528F659C77866A510D9C1D6AE5E\n\n# OFB-AES128.Decrypt\nCipher = AES-128-OFB\nKey = 2B7E151628AED2A6ABF7158809CF4F3C\nIV = 000102030405060708090A0B0C0D0E0F\nOperation = DECRYPT\nPlaintext = 6BC1BEE22E409F96E93D7E117393172A\nCiphertext = 3B3FD92EB72DAD20333449F8E83CFB4A\n\nCipher = AES-128-OFB\nKey = 2B7E151628AED2A6ABF7158809CF4F3C\nIV = 50FE67CC996D32B6DA0937E99BAFEC60\nOperation = DECRYPT\nPlaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51\nCiphertext = 7789508D16918F03F53C52DAC54ED825\n\nCipher = AES-128-OFB\nKey = 2B7E151628AED2A6ABF7158809CF4F3C\nIV = D9A4DADA0892239F6B8B3D7680E15674\nOperation = DECRYPT\nPlaintext = 30C81C46A35CE411E5FBC1191A0A52EF\nCiphertext = 9740051E9C5FECF64344F7A82260EDCC\n\nCipher = AES-128-OFB\nKey = 2B7E151628AED2A6ABF7158809CF4F3C\nIV = A78819583F0308E7A6BF36B1386ABF23\nOperation = DECRYPT\nPlaintext = F69F2445DF4F9B17AD2B417BE66C3710\nCiphertext = 304C6528F659C77866A510D9C1D6AE5E\n\n# OFB-AES192.Encrypt\nCipher = AES-192-OFB\nKey = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B\nIV = 000102030405060708090A0B0C0D0E0F\nOperation = ENCRYPT\nPlaintext = 6BC1BEE22E409F96E93D7E117393172A\nCiphertext = CDC80D6FDDF18CAB34C25909C99A4174\n\nCipher = AES-192-OFB\nKey = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B\nIV = A609B38DF3B1133DDDFF2718BA09565E\nOperation = ENCRYPT\nPlaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51\nCiphertext = FCC28B8D4C63837C09E81700C1100401\n\nCipher = AES-192-OFB\nKey = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B\nIV = 52EF01DA52602FE0975F78AC84BF8A50\nOperation = ENCRYPT\nPlaintext = 30C81C46A35CE411E5FBC1191A0A52EF\nCiphertext = 8D9A9AEAC0F6596F559C6D4DAF59A5F2\n\nCipher = AES-192-OFB\nKey = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B\nIV = BD5286AC63AABD7EB067AC54B553F71D\nOperation = ENCRYPT\nPlaintext = F69F2445DF4F9B17AD2B417BE66C3710\nCiphertext = 6D9F200857CA6C3E9CAC524BD9ACC92A\n\n# OFB-AES192.Decrypt\nCipher = AES-192-OFB\nKey = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B\nIV = 000102030405060708090A0B0C0D0E0F\nOperation = ENCRYPT\nPlaintext = 6BC1BEE22E409F96E93D7E117393172A\nCiphertext = CDC80D6FDDF18CAB34C25909C99A4174\n\nCipher = AES-192-OFB\nKey = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B\nIV = A609B38DF3B1133DDDFF2718BA09565E\nOperation = ENCRYPT\nPlaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51\nCiphertext = FCC28B8D4C63837C09E81700C1100401\n\nCipher = AES-192-OFB\nKey = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B\nIV = 52EF01DA52602FE0975F78AC84BF8A50\nOperation = ENCRYPT\nPlaintext = 30C81C46A35CE411E5FBC1191A0A52EF\nCiphertext = 8D9A9AEAC0F6596F559C6D4DAF59A5F2\n\nCipher = AES-192-OFB\nKey = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B\nIV = BD5286AC63AABD7EB067AC54B553F71D\nOperation = ENCRYPT\nPlaintext = F69F2445DF4F9B17AD2B417BE66C3710\nCiphertext = 6D9F200857CA6C3E9CAC524BD9ACC92A\n\n# OFB-AES256.Encrypt\nCipher = AES-256-OFB\nKey = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4\nIV = 000102030405060708090A0B0C0D0E0F\nOperation = ENCRYPT\nPlaintext = 6BC1BEE22E409F96E93D7E117393172A\nCiphertext = DC7E84BFDA79164B7ECD8486985D3860\n\nCipher = AES-256-OFB\nKey = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4\nIV = B7BF3A5DF43989DD97F0FA97EBCE2F4A\nOperation = ENCRYPT\nPlaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51\nCiphertext = 4FEBDC6740D20B3AC88F6AD82A4FB08D\n\nCipher = AES-256-OFB\nKey = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4\nIV = E1C656305ED1A7A6563805746FE03EDC\nOperation = ENCRYPT\nPlaintext = 30C81C46A35CE411E5FBC1191A0A52EF\nCiphertext = 71AB47A086E86EEDF39D1C5BBA97C408\n\nCipher = AES-256-OFB\nKey = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4\nIV = 41635BE625B48AFC1666DD42A09D96E7\nOperation = ENCRYPT\nPlaintext = F69F2445DF4F9B17AD2B417BE66C3710\nCiphertext = 0126141D67F37BE8538F5A8BE740E484\n\n\n# OFB-AES256.Decrypt\nCipher = AES-256-OFB\nKey = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4\nIV = 000102030405060708090A0B0C0D0E0F\nOperation = DECRYPT\nPlaintext = 6BC1BEE22E409F96E93D7E117393172A\nCiphertext = DC7E84BFDA79164B7ECD8486985D3860\n\nCipher = AES-256-OFB\nKey = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4\nIV = B7BF3A5DF43989DD97F0FA97EBCE2F4A\nOperation = DECRYPT\nPlaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51\nCiphertext = 4FEBDC6740D20B3AC88F6AD82A4FB08D\n\nCipher = AES-256-OFB\nKey = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4\nIV = E1C656305ED1A7A6563805746FE03EDC\nOperation = DECRYPT\nPlaintext = 30C81C46A35CE411E5FBC1191A0A52EF\nCiphertext = 71AB47A086E86EEDF39D1C5BBA97C408\n\nCipher = AES-256-OFB\nKey = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4\nIV = 41635BE625B48AFC1666DD42A09D96E7\nOperation = DECRYPT\nPlaintext = F69F2445DF4F9B17AD2B417BE66C3710\nCiphertext = 0126141D67F37BE8538F5A8BE740E484\n\n\n# AES-192 CBC-mode test from upstream OpenSSL.\nCipher = AES-192-CBC\nKey = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B\nIV = 000102030405060708090A0B0C0D0E0F\nPlaintext = 6BC1BEE22E409F96E93D7E117393172A\nCiphertext = 4F021DB243BC633D7178183A9FA071E8\n\nCipher = AES-192-CBC\nKey = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B\nIV = 4F021DB243BC633D7178183A9FA071E8\nPlaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51\nCiphertext = B4D9ADA9AD7DEDF4E5E738763F69145A\n\nCipher = AES-192-CBC\nKey = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B\nIV = B4D9ADA9AD7DEDF4E5E738763F69145A\nPlaintext = 30C81C46A35CE411E5FBC1191A0A52EF\nCiphertext = 571B242012FB7AE07FA9BAAC3DF102E0\n\nCipher = AES-192-CBC\nKey = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B\nIV = 571B242012FB7AE07FA9BAAC3DF102E0\nPlaintext = F69F2445DF4F9B17AD2B417BE66C3710\nCiphertext = 08B0E27988598881D920A9E64F5615CD\n\n\n# AES-192-ECB tests from FIPS-197\nCipher = AES-192-ECB\nKey = 000102030405060708090A0B0C0D0E0F1011121314151617\nOperation = ENCRYPT\nPlaintext = 00112233445566778899AABBCCDDEEFF\nCiphertext = DDA97CA4864CDFE06EAF70A0EC0D7191\n\n\n# AES-192-ECB tests from NIST document SP800-38A\nCipher = AES-192-ECB\nKey = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B\nPlaintext = 6BC1BEE22E409F96E93D7E117393172A\nCiphertext = BD334F1D6E45F25FF712A214571FA5CC\n\nCipher = AES-192-ECB\nKey = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B\nPlaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51\nCiphertext = 974104846D0AD3AD7734ECB3ECEE4EEF\n\nCipher = AES-192-ECB\nKey = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B\nPlaintext = 30C81C46A35CE411E5FBC1191A0A52EF\nCiphertext = EF7AFD2270E2E60ADCE0BA2FACE6444E\n\nCipher = AES-192-ECB\nKey = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B\nPlaintext = F69F2445DF4F9B17AD2B417BE66C3710\nCiphertext = 9A4B41BA738D6C72FB16691603C18E0E\n\n# DES ECB tests\n\nCipher = DES-ECB\nKey = 0000000000000000\nPlaintext = 0000000000000000\nCiphertext = 8CA64DE9C1B123A7\n\nCipher = DES-ECB\nKey = FFFFFFFFFFFFFFFF\nPlaintext = FFFFFFFFFFFFFFFF\nCiphertext = 7359B2163E4EDC58\n\nCipher = DES-ECB\nKey = 3000000000000000\nPlaintext = 1000000000000001\nCiphertext = 958E6E627A05557B\n\nCipher = DES-ECB\nKey = 1111111111111111\nPlaintext = 1111111111111111\nCiphertext = F40379AB9E0EC533\n\nCipher = DES-ECB\nKey = 0123456789ABCDEF\nPlaintext = 1111111111111111\nCiphertext = 17668DFC7292532D\n\nCipher = DES-ECB\nKey = 1111111111111111\nPlaintext = 0123456789ABCDEF\nCiphertext = 8A5AE1F81AB8F2DD\n\nCipher = DES-ECB\nKey = FEDCBA9876543210\nPlaintext = 0123456789ABCDEF\nCiphertext = ED39D950FA74BCC4\n", }; -static const size_t kLen18 = 455619; +static const size_t kLen19 = 455619; -static const char *kData18[] = { +static const char *kData19[] = { "# Generated by\n# go run make_legacy_aead_tests.go -cipher 3des -mac sha1 -implicit-iv\n#\n# Note: aead_test's input format splits the ciphertext and tag positions of the\n# sealed input. But these legacy AEADs are MAC-then-encrypt and so the 'TAG' may\n# also include padding. We write the byte length of the MAC to 'TAG_LEN' and\n# include the unencrypted MAC in the 'DIGEST' tag above # each test case.\n# each test case.\n\n# Test with non-minimal padding.\n# DIGEST: 7f3a0e20bde700d3c5596909282e5c3e764c99e7\nKEY: 86d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e\nNONCE: \nIN: 936a91d0b5\nAD: d2c0267218cb7090c61713\nCT: 144c98ca1f\nTAG: 4a40ffe530b338e5173a8e62c8530b0c14b15046d12f2ca3158ad71effd0f46b29b3ae\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with bad padding values.\n# DIGEST: 7f3a0e20bde700d3c5596909282e5c3e764c99e7\nKEY: 86d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e\nNONCE: \nIN: 936a91d0b5\nAD: d2c0267218cb7090c61713\nCT: 144c98ca1f\nTAG: 4a40ffe530b338e5173a8e62c8530b0c14b1508045d58f4bdae400\nTAG_LEN: 20\nNO_SEAL: 01\nFAILS: 01\n\n# Test with no padding.\n# DIGEST: c6105cc86e18eb8376c16ea37693db5c07b77137\nKEY: 8503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371e\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748\nAD: 1df3f4183aa23fd8d7efd8\nCT: 17944422f667bf1356c234189f9c6cf7af52b2832b2fbaa990ccef4e7f9bc3841e59e25c00e3686d5bd5c29f\nTAG: 3ebd1b0bee840e8a6e992421c62de5a8fda3a82f\nTAG_LEN: 20\nNO_SEAL: 01\nFAILS: 01\n\n# Test with maximal padding (0 mod 64).\n# DIGEST: ceb2d295bd0efd37c6c34dab1854c80e986174fc\nKEY: 37446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11b\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba\nAD: 2fd6773e0d0c302a5f47e0\nCT: f2ab16ba87c52d066c0637d387b89d700a66828ef231b480f39aa08ac2447c8ddd205d1a95da37f267c06a1338532de890904f9f19c930adfb684e81cc06bdf2\nTAG: 3ff610fb9e208ff6ad58b78c5b2cf54b997eb3f24ac0171229ff7ee9cd5070de5a604f78b35b6cd25b3f2ab487847ca1e3928bf7f19bd19c9c9a1015dabd2de426fe57d342009ae4a2e67fdea378f24ec8dec1e87b62b6f70626bfd71f8d8d5e5c5b935a76527ee8a9a3094d635dc2b01a31dc4df336aa023517d7c35e142ccd6a79bc689e335f187a5358a00a7d4eb168cca3f9c6523ad4d74609a5b5c9e36db6bdf8464c4c8497c501084afa17557d070a7671c9144c86b4de9d57f033bc6b59a7f1f4e947b6a2d69c85877de731f6eb3db71d9f4c2dc086a3303bcbcd2f5b71643058b7ce08ef5879e0578ec81ced96ce907d4f32e67fd4cd269de9b60e09ff74bad6c86356ee297475ea7fe75d75\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (1 mod 64).\n# DIGEST: a07054c760cc66fc704edf950201005031f3faac\nKEY: 446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be1\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2f\nAD: d6773e0d0c302a5f47e037\nCT: d7059edbabb5cfc2cd5c459abd74e136790aad50d988c6c9271428597617db171b89ab171a68b14f9d417bb81f9f7d2e2045aa47c0b5d166c8b2622bd914c4e752\nTAG: e3d17e303776640b3ab712f6068c44e0e3b5d375203a8b01ad47e6f4681011eff04a41d03ff073e61c630b5faacb744447226a35e7496204911ddd660792be62c5f34c918a0d8514872100c4637ca12bc9c13b1580aed10a68c9187377441bcdf213bf3aa72831f3498d990a7a5960e1e6795bb11e4c7910a881d76ac81320ae61b151b8dbde093bc9e56b8204463d8ec31dc32b3cad5cd8cb48b5f20e54c17469ce97c069051c8e4b2ae5dffc0c2651d868a9909187c2732056213e41e315e94d14a84a24a676155ba86ef0b96efee3e4765dfc750953dc9a7ed739422c7d988f290432320313848a2eb7723c7c85ca3590eb35e3058d0462ddaab0cd48730107d4031a216c6c2595d1ca0b3f1815\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (2 mod 64).\n# DIGEST: d059c266cf6233af730b7a229b19356a4c6fcf06\nKEY: 6f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6\nAD: 773e0d0c302a5f47e03744\nCT: 8864e31c8b2ce1bcd1745671da5bd66e1e366b0af66b91f605574c841084a5df358483c7839e4456ae5a442930f21d4bde67578186a91c0a603468339ffbe3bfc607\nTAG: d8a0bcddd40964405ef006e0083e67a607b9f926e6508880d7784248a626d56a0673ff990920960fb307ed9cf40c2a1cc3b632b1f94aeb30efa02123e66165b77aa4be5e2aaba4c4a52372b403cae2f78a3bffc1cae8dc6f53839de7f16b8984304abc4a81ffe1ffb42799b54dc43ca0b963be6299a404fd4b3acf65939ac319966aae0a941c74135705092567e1237044c88f79b02b68ef622f9c776bbc04dbc2f58338c129f25afcd8cad7a0e91f30339457075b68df4960c003ef574e3aaae870787ae9ddab96495861388b341aa63ab2721abb176c4f2e6d5704cae123c20f1394d6a12d51fd5782dcb59d075775dfeb72df846995b87b1d374c0d0b8a003ba60f713ad777b8d6ad42c5e373\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (3 mod 64).\n# DIGEST: 8aac0687e33041fcc18da154b41f20a6af2bfb28\nKEY: 5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a7\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd677\nAD: 3e0d0c302a5f47e037446f\nCT: 1d239b3880e2261806ee770e7296d573d308d9850c8bd90a0764822faf5f65770f98f18ce4738538f03ad9b289bd5fa1367258f00d3ed91e32885bc45c30a240cad8c2\nTAG: dbeb6d1a1165a902128a27d7f55f4d928b56a3b83fa430d47bc4f935219fcc6005487f1ab14df0a07a270645d1c2fc23efc9866ec7e4427fe0382b75215c0f994f09c4ac54bf360f8ec938b02c17c4104127d2cb1eb51a11455180931b8e473838e5b1e61cf5cd05947a5b154be5df49905e6e7c049d00f065f680b0e5f3f4a7e9dad37d493f13c7ba318ca2bae086136d67b17a6ebf28b45cebcbfe115a45dfa32786a8b8354d51acf58bc126a13146e0ca509a26cc32c3e8ecf5b9d6ce76a9f76d674316c42f3140d5139304479376db2a167c65da7250e6fefc9d3b37a2072180ab3202f1fc7dd7f4598d1d976b15945fa73e1be07a91186ce7c16c4249d9f7287baafc572673925e95caba\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (4 mod 64).\n# DIGEST: 53658226c112b86438dd27b58a71f9e36fc73c1e\nKEY: 91d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a729\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e\nAD: 0d0c302a5f47e037446f58\nCT: 719d9de3bc86d08510354817d0fb94340ab1ddeefdb95a1cf460f7c9b185837b5320dd862b4c319619a0b18dc75f1762cf7c9bed63713c31e39a6f7069563441b9e6f106\nTAG: 8b61062c9480ffa62f7b96e9f50249426d05bf237d25e2b676e0041d40ba97101843d9ebc978949eb7ba53b8989ed0e93e5b91f13365345baefa1d7f59b694f6ef0bef0adc1d6763978e12fe354e57b90127533f3f991ce611e31e88a97962f859ebbc0e50d130c323aff35581f1f45cb5c650299025a03d99026d6f6a844ed9d5fe66e15a9fca79726afdaa54c077d148d561ca9e77e427b8f8074714aaf8b011697524e4d91bbab69bc01c8346e9055d7269cf124b503f7ad38c384abfd91ca36159d8a41e6389212167278b830ea464f7dffc3e01c9807368d3457ad5f21b33bcb1afd41ab7d805c9ed2f2c32da9bd4b510366b362dd02f50666ab8e5a72486b3c0d6b9bafb38c9375dda42daef635a0007ef\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (5 mod 64).\n# DIGEST: 6b7d5268b0b5037afb5be5af6a0ceb34e7656ac4\nKEY: d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d\nAD: 0c302a5f47e037446f5891\nCT: 9adce31c760d09ff911ed98eeb7146e82017261c8017d9a5fae1127479f6fb54d081cacc1ab7150f05d13547b992c1fe36a6e8e55ef1fa3bcc45bca495a981000a0c0b4f62\nTAG: 51d033e8003b06bf819a4f7978d75abec450c6b11a00bdf27f549f6060390ff99e0feb9509c6ac882777da699f5d5332d1b838a0436101574789ba485769ea6f4d73a10db775f06331140b218fa2ddad7fecf381fb9e3d26b06b3577bdf57e2a8435ba0e5b1e305ddf28070d1749d11ec5504cd9aa51ffe9133152ff35de21e4bbc3b109a318075d924bbaf0e267a1abd3d7afd2d3d8f4d951d4e96fa63741087a975eee8156b01fe566f7f6a309257c17a0bd9faae4c2781aae72eeab1903602b09b69026540a84b4786b8dce2a3e5ca26c65eb7b220dfad400cd236a4435d7fb1be60b9074f2f226e810d54abe7ec0cf10e7c465059720baf93915dda8a56d5a012a990d72408d2c9ab9b8dc813eb2f1caec\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (6 mod 64).\n# DIGES", "T: 63efe7af502231420ed5aecce9a28446b257828d\nKEY: 7df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c\nAD: 302a5f47e037446f5891d7\nCT: b81f6e678c5a08244a5f578970d64f96f50ad5b5724a9287ee7b293308db34e03456f1745f79c594ecc480fb2a9412bd685e6c0df028eda06aaa15c90afa4ec01736450e3eb8\nTAG: 63b849636c212d353918c6e3044d298da268ccf1042987617860b58eb7ec8314ccd7762ebc39b62c0f0f1c346c8f4bbcbf3bd0134c0a7374de1868b08ba013398d8e4b578bb8d7359f2cff1629ede34da00138efa4a724d892fe4ed2b28613e66e0bb4830f66c14dccbf8656e615d66f267182662fee8a3e1fcde0941793f0bf2b00d6ab6e9fcb30553b620cf8e9e0a15f122808d739e698f88aa157baba12428541e928ed556517978f6c9f29c6ae8fe5b4e9ed6f0ce49351ac2a63e74bda9288a874a7fd5327c6856596a3271039dcf54affbaf29a5556f1fe1062279d2600b920f4e26c96e9e8fa696c521f60e9418975befa58ad564e730d1de312ca1b999a5e89b813743b1512659d809078243170ab\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (7 mod 64).\n# DIGEST: 1a555c300a1d1bd5b03cdd6bf2a678621624eb05\nKEY: f660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b5\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c30\nAD: 2a5f47e037446f5891d77d\nCT: 6b6f94bc2326760d257d8156de961acac0b32d7f4d0e20363532e76ce76641ba66a1aa7945b9ee58527039cf83fcb01d8ef85254566947347463e161ec8cdec74a839637288d09\nTAG: 77b18bca8ed1d056d9c974054598216bc15bae5b7d70f3bbe32b3deb92398b0ce25a1efc5eb6782fa5fbcdbb415ef43eca090fcad4d34d53b1fd89cdd760e6424715c7703c51e08b72cb3e3b8a30bff159d5126f1473f216d5c931ae03703d3baf311a59d7ef3d6db123f3e8c0ca26fd3f8809ca63265d2fac935bec32631af43626ed1ee9785c81d7bd0cbc0c5178e1ca7de5d12c3592a7880be6590072c4728b2afa1eaaeecdf7cadd8304c2d4b614af7af14efa00dda595be92de09c74b39df05d7d023db721f86992c57061a264dead21e24fa47816f43b77b8ccccde44bfc32a015134a2cfaf04c582fb839202b08b81543ea9358d5735e7c197762a6a39936e26de58690a02dfc273e6779e77708\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (8 mod 64).\n# DIGEST: de9156349b578f2f44945ec6a676a67a829daea1\nKEY: 60ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54e\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a\nAD: 5f47e037446f5891d77df6\nCT: 8f211be563f98f493745cca0e385e5b0113027efe3b0a880805427e363014323c4f6c7e6b30d2466c70ed56d63157f2c4f6dabe14d5a22c6c708ab3fb667a6c64ce5c8de22f5261b\nTAG: e5807ffa59e0005c9dd7eef0b854ee1b2cfccef9977f8a963167cc563d844f795c4ce4f9d03da95e4cfd2fc80c9efb6424df8cd3b7875a6ca129da8f509ab09d1f0eec0211e0ffe5492913fb688796a29a8eac54f374e8948991059f6e73a68eba75a892b3e2ed5ab9680eb0b308b07337e75ad5b406c260af5d27955aa820bd0435549700e960e66c211000885e19b804579acfa8c526603f8d743491d916fd4d0e250159e485a4db2fea39a8eb9443516518e6612aae97b1d9b7ac48066d5fbe2c1be3b2e20233a2fb4d39052ef4ca3bfc47e561aaac9c57a7dbff922d6d997821f6b09bf3b4c91bc6162b150e17bfa2544f93f2bebcb4d20322bf0357fdffeec8f75679e6627b4ffbf8e0bfee63c8\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (9 mod 64).\n# DIGEST: 12812df3aa7f3bbc899f6f248f5590e02570c292\nKEY: ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f\nAD: 47e037446f5891d77df660\nCT: eeb6afcfd2626da1230067ed9938f7df35e99d2ba1c91d0e91c3db53034a3dd2ce3352b06e3d1b9e8415ef4ced9b2257eb05bc86db8204a8bd943bde51423a09459fecd528faccb646\nTAG: a69c7d8db2c021284e73b3c07620022eb6f199509e34611ed671c3558ae7c103c78024d96c00c791f3450d1e0338598a246855811af4cc9ae1a6522487a4a77b57b58ce29038ab0a2036404eae59133512b9ea40e2d7176e1b36965a27ee2c898d6514872bec952a029d9d85bfb0c99d8b348db6a3bbfedb6d1a3128664c454b9ef29f075fecc469f233e18567fe16759b378600a1d71504231e6caee5688e9858e14fe6fe850d95d7c010865781f0457a22f53add7ef57071c7153d312ca303e4884b83c9acfe86686517d80ce271c148cf3ab6464a9751b66ac7682a5f885ad9301a5602c099e89977f06b41badd1c2ea1f7027a38b749e2ca1a3ff4e4889e6dbd3674a52c8e24d2c76f64a6bc77\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (10 mod 64).\n# DIGEST: f3c89f21c327fca4aa400fabea9e39780378e901\nKEY: 82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fa\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47\nAD: e037446f5891d77df660ed\nCT: e1eb2175bfee27951357b7536e2c3a4c607bf511d1922f6cce462fdf98de9dfbbea66d38884c270e29d08c5ace1d6bb7bcd2b46eaffc67a99e225927421a9894238cefa73bdb48694abf\nTAG: fc1d8ef98aa65ba8a288ca04990bfb373071633eb1e8f30847d3c19ebef66962cce12d015b045e10c9e0aa7f275137e00cb2c9a0508c0187827a74faca4bcd015620f1cdd8f72161bebbb8231ad4b705d1982db6f9fa1d2303c429469737a3141adf729729144f55223df1fb45705fb15adb5cd03c2936674a47d7f6aa5d2a4d9a017e57a4f5dd954504abb588866457730304878ca322f776e3c8e7becb8437002bc757d5b34b16d04ae4710553a624a3fca8866fb3d20672d6f4a2f937edecd58e68b7b0a8c39819ab48788956c1f3f5f4a15e7d13350090a20c61620c9181f03b4d68d7e4f336cb7e4a1a277df5101511150dd39fb43a84cfc480fd548035c8e9ec26602dd66d250fce39dfd8\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (11 mod 64).\n# DIGEST: e8e41988fad6c8b44c56544964cfe0a347b35b1e\nKEY: 933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e0\nAD: 37446f5891d77df660ed82\nCT: a799c4a6590a4c48735d1da9746e5441cb11b664daada5d4d68d3a0110c4ad8d5e96d7331d5f7a0d1df9af5da4208065b6bf31affdfcd4944e8ed55b0ba7b7911be1a9052fbd93d5fbe292\nTAG: 6a6e5ced88748f87682759b554d9685280e094e083d297dc5fd474c4a2605612b2f8b1c31dea24d58c25bcacfbf03b8b09dc662d6e1120868ae9a0f1dbd2799756136c2a26a22e3a61a0216e76e94393534586e1a59c570d8bdb37d5ee6d0762e60c7171fc7953e59d74b0f2ff4a061d27a7baa8ed138c51264b356d9a42b0768bca1c1c458acdc82bd621031e2ae7790596594d2f6eda2c8d58d4b53cf6990434da8aa9e9eafec648d52233e9b92994ca5cbc071dceeed57b02e36f93f8d22551660cc4c1e425aa77dcda3bf6c98bff7905becc075e1707e37453de8f300be5aabc96c1051fa46c796a2c8367a00af3c4dccc58bb7dc8aa2e21e0886eceb898080bbc7259648f2be9da0f1b56\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (12 mod 64).\n# DIGEST: d1c7b2c04dc25fe7b742a1d659aec20e1475ee4f\nKEY: 3f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037\nAD: 446f5891d77df660ed8293\nCT: 2b8ac97f05a67490bf16bc64381e9c49e7f348212d0645056ca5405e9e0a248b6918568481ceca70e20ae4b7c1f62700a2954188793b34504fa86decc73f667e5fae944211059dfa94ef072e\nTAG: 5f91838f37198290b43fc04a186db6a05261ea9916a1dd6450604ed8a7d0bb59751f6637f593ef1a7e3aab6421b7a0cc6b5b47477d36bf439806dd8156e2bc2e229bcbaed9a3beedfa383d674d3b91922e6248d1aa8ad62361a4bdcfd3d86daeb6d775a521916ecefa2244aefbb0cfc0ede1b1c0e0059a4d69850160d2f4f662ea2b77fb074a6de69feab87bb56f27edc3a42037a041007f0a08d204cbad0a9047f7798dad51e5c04126519b53772ad4f3017f9d9fe91920aa7585a5f2d95e7a8fe5c7b22fc696be10e308f939c34e52b7bc2e71b06a56e3ffa5a0ed529eaf5a8c4b6857b1f144f51fc8bbc858c88ede7ca325d231b34e4ae0e7ac8fec3e8f6a9bbc6f8975fec1e877f0d05046c3fd7a0e15ebb3\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (13 mod 64).\n# DIGEST: 116e20ff1e79e0af464d473b1e7c187f4dd66007\nKEY: 62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be90\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e03744\nAD: 6f5891d77df660ed82933f\nCT: 783a362232c871213daa72d58658aee2ceb4de66198", "df21e227326010be056d5c4d2481ffead6c80733603b132b256d1c52d64eb8b700d614dca0adeacc0c7a05d1a64ee7b5c8163d1eae17fdd\nTAG: ba611208a3cc40e2cc638c335fd508441aaa15c612a5100c960543d2ceef9709bbb3e70904f3f2efac3112fc61bdfe7accfb5f0e9d640812a4f5b0676d95b1d5298eddc97ce3aa16ee761491e9f424af39119c9f56322b10e8575697bc93d1f6a63007ae085bd20c83fc32a5d4e59ce8840f75b8c52f6aeda4fc34f11301d64e058b39ff765e1ec9997ec51aeb43b35cba9ad4b020e7dcee79ad532b897faee018dae1231ceafa1a5fca1ff1a01f863580c9c07b13354e31b0067a2fb16477150ab6d027fe88276767ebb46b1029c7d6dcacbf418f10d932dea2ea161ff8a4f6d79e0bdbf0a67227d5c9100a45fde25e2d4e360c0c0942e9ce13b570b5ea149dfe422fea36251e226b3f7eb709ed7c7339aaff\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (14 mod 64).\n# DIGEST: c081d0d09b2c9eb39a372ef4a7b0246a0956b0f9\nKEY: be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f\nAD: 5891d77df660ed82933f62\nCT: 894d8fc70288c7b8a5d12e63ed6e6e8c74b8d9837720762ccc519a42e024ee05e8f770180e5213a7c7ceac56cab05834d49847aa1432fcfad8286e092feddd421b33212e41716b3db5358903c11e\nTAG: c00612f3ee6619c87aa5c7958da77fdac74ea2ad1af9115fd003edc7bdb36f639dc2d89668f6c2440827a1e7bdb65acd172be229f8852d4b81d1d2ee1e167ff127fed768d0a6eb822c2fd88e733a0884f06e47d5f3a7e84e7f20d8b630c8e748a03f2eb807f3d6bf67d3f93ec97f22a3bfc477143f9e34049fd9143ad5e480bf538464fa847a5302e6d9ec3710122fe6c295191906d98d69e01e81a79de0538442a76a17fea214c74bec28c01370a0aed01e1a32a629857f5d48c3275b79a25d3fe549829e5d72d9d26c2e07fe133e214e40dfba4cd19ddccb01a6887bfba26db80b40eaee435a7619415af7be271739dc339fbe4a500db56613498b34c2b1f9dfbea13aff30c84fd1380ecd821b57cb3775\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (15 mod 64).\n# DIGEST: 6f7bb1f9e2772eb909c315e653e4737cfed78a18\nKEY: 8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f58\nAD: 91d77df660ed82933f62be\nCT: e5d56aea96fb40312e288074a21691ed29f17a547529d2427e8bcd5024e617411c08999a8a514adc83a14fe27c51b0f7d44f684fc60274c009274ff9af14d4b1277cc03453e02c0ceb26c796432f0d\nTAG: 07cea5df6c6594985f9af65319e2fcb1882f6d1d66fae0ab595ee72dc4a1118a7ef8ea450209809349b41664ee21afcb053e8edfa53bb1e66d9aefde4c48c6ff5b5e411c1228cbf5c1021d605311a20bd6708aa004d7da8bf72ddce1cbc9a12100969131d596cca0fe61c82208d0848ae0d098036a07600cc4b443e344b06d3162c8ebe14850239f77d178152fee009b1bd81a68bbf632082f9a62dbe60a1ba579077842c713ab4d5619b7abb15eb8fd3b1ee1506fe8df31bc90a63eeeefc0f23ab5ec83f4a1e9fa8833f15c90d6b68615ce297b466d5d67a87ac9fb10a2ffba5a91d31d1b18aaee8c00ff1a8b8df9584a33e946e85d8c6a6c8719421b75a8a56f964725abb4a4be790acbd60efde68671\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (16 mod 64).\n# DIGEST: 172f4992e692a88f49628e5d3937959be01aed2e\nKEY: c55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d4120\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891\nAD: d77df660ed82933f62be8d\nCT: 7923c66ac88a9d3a2c9d9e714d491372caea0658b4e5692a7df8da934dce8525d0974848545ce89a44a735eedb22f18b5b8f1455c0aeedea9cb8f5c0bb51addd065a83c4e825ff3993ff58cf0af7577b\nTAG: 06b8d51726fe8d46fce9a59b084c3924c4aa9575d3b3f9b9e31a098c2c0475e460a89639863652164b724927ef13d2c52faeba797d38ddcb9274dfc6478c06626ec55954ce17df075f0b089ef155daf416980039458b7979afeefe9fa3e365ca19637b05cd17987e25f20e62031c32d441a102c22efb3660e4e3c13800acbfba0e7dc99175e35338b87ebb56d09a3b4bca72774d87e9cf92ce8e66917835c765129c8946c7f42ad8acd9afc22acc44a89dbebf6f4b2a55c139312559e2aaf6115aa617ce07cb2a63c66cbaeeeb5c95ce617928f93031f6dcbd3ee30a6fcd4cd9606695b690d95fb8d126c4962f49f11910a6e9daa2227f46a249819074a06cb5ffd449bd5744f9d9c70dc14475fd4b9a\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (17 mod 64).\n# DIGEST: 00133da1f7c63fd5f0eec364e9a359be02c1d3da\nKEY: 5b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d7\nAD: 7df660ed82933f62be8dc5\nCT: e0b671d572a26f0553cdeca68a4d023615570ed0e9414e5783691fb6d1c2bc30bb4a7590d3138972345f3a55f2f90fdc8ad46555d41968a00a6462c2bc0931a18df5480e48cfcfcc00078314cabe0e44ce\nTAG: d01f174c6f726b83162a8a0734e1b1e9e9498fa067454e3a488cee1a04703987d5ce9a219b4ba168a809a181d6a291eae84f91705fc0701166400f24775bf5816a67ea6f011829ca07ef1aec6ac3b7ba0576c26b557b00fb76e84b6e633c48b8c425678ae12c922a7af7ce0484861efccf958ed418e2658b03b5c978fe624b16428c41a2a7ee1cc07c9d730b689cf92f2041b5e68908fc93d8221821106d73363e2d53df824a82841be5bdc0668c5b8759a1e79e193dac2e55e4cc083569fa727b952a45e71840fc330977e072457de678d3f3694e429131e25efd339421094512755604e1ec84efdb52259f6e8284bb7ebdf229cd3e4f1abfd6498e3b493b21184f8a42ba31f4f22dbeacbb1d977d\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (18 mod 64).\n# DIGEST: 60a6821269be6c5b985576b245f106128eb0b325\nKEY: 436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5d\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77d\nAD: f660ed82933f62be8dc55b\nCT: aa02a8b8deeb507cd2b2ee187af85b5afa85583c258df91df9cf5307316d03b5d8aad0441bacc27c4cb26c56239423f8e46746978c0edd3c21018f6b9a1c39278f71b462c6da999a6f4d9513a47cd7986c88\nTAG: 5cea96fc3da1457f7e66f324a3c634829a6382fb75efc614bf944cafda4c9cde5bf3118838487401497849d59f895d761b8b0da9f339123aeab5b237edd48d6c1ab4120da7769a7f8510bfca3d7313f0f38dc6c34fea81f60dd3e421afef2d9a61e6b0d7be96b357f1a293fe5c21d4ee858725a4c088f49a24930d846d2c0fad98002fa66a618367425cbae16fe570f3058fcfa2544f1d085ddbc6226e35c4355c916660f7f8fef4f5ab705c93b5182269adb8a4eeff4e62ee278c0588b96043f1ad24ca39a7ad458f541101e1d6cef99d742e2e4a124e4f3a57986d0192537d956231f4e49f5a87f5b7f5a4cdae6cc647b90177dc4d81232c62bad3d99036812f84b3208ed2edb8058f4973abd7\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (19 mod 64).\n# DIGEST: e2593f3b6741a9ed9fa188fc06efd057556ee624\nKEY: 6965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df6\nAD: 60ed82933f62be8dc55b43\nCT: 8b397fb4fa218359120058dbd145f4bd99def7e5e0a88249783128801b3828909ea19d9f5fb0f3e15ebd624fc32525796ccf9ec01b1da3acc6dec2a9306c57db4eeeeef4830575fd8166c13c23664d4df4cbac\nTAG: fe141cebcd20919976fe53fa1a9e186db43122704ac5dcfd23abc2da394907a9da4011bf32a3948b0ae848d6d010024c6f37191f6fe5cdc46430b915a9c5cc80329ab5d32797fc97bf3ca270d8b35c14e3091c99ca3947492613d183845ea5b80619d20c38434261dab80d4068449a0880eadc55f0b43cc344a875adfd23020b6e63c3015c887ef52c72750c09f60c7bc0dc29ac7a6494bf9771c4aa931aa440ad400c1cdff8f3d1bc4173977128d1eb57731e4b69d3e6d4715dc5d2a9cfdc2afeabf3513b3e3c107a83ac48f511750f887f59b10f40e8f2d197832dbb1febb82c29627232e3793c8a72d7033c86cf99fb54dd2e3ce099d4fdb50a63b06d5f595d5bf59474cb190245a36095bd\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (20 mod 64).\n# DIGEST: 17450a437efe239e1858ac4062f34024305372be\nKEY: 65aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce99\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660\nAD: ed82933f62be8dc55b4369\nCT: 24e568a27d8bce547f628bfa545c4b7ccffce40f73b5abd6e1b60d5efca7cd6d5feda872e172f64d9193d3d2d3381efb52c05f98d3e1fb689fb05d7017654eb57346f1b3dee23b0f166e50531626582115af7cf0\nTAG: 4dae8797b02d7f1d8dc42b10f18973c094880a10207d9479aa825", @@ -761,9 +841,9 @@ static const char *kData18[] = { "642aae9f7bc42060e\nTAG_LEN: 20\n\n# DIGEST: 6b7295febce7fba8d79d1e7ab8fdfc452191e2ba\nKEY: 454879c41de9ac9f98233b5a7379a561792c0f3116430e8b6ea058c4799eea80abde04ee1de13e937af8f1a6944f44d722271233\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e\nAD: 6da12dd4c27f4372480974\nCT: a1d0537c3bddc7459a37268608d30ee8e15377c922a4300d7e7f00084cb45a9ab7cfc7f89dfb68f3cf7defd102012361782e977e22c12ac1d91d1e093a21ab26bd171b426af9af7b2dec9d1f2dcf78f19748b39e9b0736e24b44dabf677296db10dc28cd37751d020e1780e5fb00142e972baffc546b9b55bd0067e22ffee4f10312a590394a296cf6fba3456b3c0a64b662d232f185a41762bbad664f977328bba56b62f489d33821d4d604265c388b5ea852968db95ab844c7cb9498bd28d4b055760f83fa94f2a35492a4dd03a1fe9f0c2947fedd44b96948447054e2da7fd3b9d95bfcd0cfe3d1c909e84c9f87ba2a50c33d588592ff3c7c7b56442d52683e222f2610b740a2187159b05f2b15afbba7a97ef2dcb30813b89393706011397f4aa3c537e91fab098ecbf3a87c2185b9001ff1a78e104fbeac85bea4ad609bf1571d83969934d483794944c2e6bea9d778d2deac2d6344106c1dc30d56251faaab3f4dda43a2ed8c3345d9773e4fa4effc5edc3a68cc423b539ed63e8b0605b58aa881906e38b38f02a4df3708e9de4333056c96a02ad6d235636da61fedc631f705e771af9f522109a4d3b34d684b3b175d28a389ea574215131aa68016ea9cf3664b0baa6491f85d3a4370f73967e4c23637fd1d\nTAG: 131597a4dd3057b4a44498ea09294f2df51a5e81adcb3318ccd5\nTAG_LEN: 20\n\n# DIGEST: 1dadffba439570155af2509a548764a93042d23a\nKEY: e9ac9f98233b5a7379a561792c0f3116430e8b6ea058c4799eea80abde04ee1de13e937af8f1a6944f44d722271233a825264e97\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c2\nAD: 7f4372480974454879c41d\nCT: 98c951eccacf8dcba5b819312f0ed234ea1cc06abee5f70888558000c2857de7411feffdf379c187d327943c63ab697675557a62c68c13f48d3970531225d5fb6c1434a126cfd6ba80b8f6dda08b3e3629ed12f7bbb45f45148f8544f0a8eb70c849260916eb62baa1bd850e082ad69ca5817594e8f26f63a1909ff03f5696b7a52f146af246c0c6485ea5826c89471c04fd6c373e9d0fef06f4a7b01400962ebfa4ef4166dc895619864accfef9a4be874111cb333518b33a3a2565d032a2434931a16e000d01e35317338ddbc48317517367603697a225d81fc63fcc7d4b8463bbd24910b4972375a995e13baa148b644993b9a7bd706ae64da00f898599957e406c1ab15fd44b6e85b41d47ffaec8136a5dadab324cb0ce95c738a1f8d246af90d98a68b8ab7003d74aa29591b58ca7b2dc38f21f4cfbc04f2e239728e1350b0f074293a13970b264bee368ff98c6960a805346c19702983d3ddfb6306f24cc7f8224e553b0668180787e48ca8e5d851f84df71d5ce6fd7815d39d7e3941b8e0562af98e6e244216bf418d7ca2d9e29ecd3997573b2c4d92aea1a5a82f2272af1218b379ca40a28cc7ce09ad60028a5a6aac6ce145cc3936f89a5d34ba54aeec8d99f84ebf7367fa5fdc12def2294fd3fa3299ba1a59aacc0d7\nTAG: f65b77267d53b2dfc87a936ae08ef7a3f630176553\nTAG_LEN: 20\n\n# DIGEST: e654b4c78e1c0061eea2996fc126c9bfd41eb6d9\nKEY: 3b5a7379a561792c0f3116430e8b6ea058c4799eea80abde04ee1de13e937af8f1a6944f44d722271233a825264e977045318c9b\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c27f43724809\nAD: 74454879c41de9ac9f9823\nCT: 5a1c2b7a8d5bc74901521e1300567f30e2b7755f004ddcfd8fe64f471cbaec4bc6d445ea931bafe6ad78034d0ac1d3916f1e0405c2f2aa4b193c2cd599d34b86029840ad379b136aea5c2a74ea70e22e8c8d1e017a2f7d47f8ebac7b85087075c28d6d2846e357ce031abe09e03629a32cef0b205d631f36ec9a1c9c4e90a80900e01688c7298b99be65f204ebaf312364bfdf57d9e16b0142e879a47b9ae0e96fc62e90883624ee2dc110f3a83ab341f4558f360df399170bbae57cb2eb377a87aaed9755e8057d76609d447a33a8255450504b71439fc0d03e0fffb775019ebf921325b42ef56e1b454b5c87ba5daa1f0d0920e860eea43c913d417cd9e9b6676759a4e2c71b0180b432fe2aab4e4fcffb51b4198ffbedbfcdb4dd4e105847f5a5832e85744f34bf3b9929ffeb177ceb4c5e68585a3ff8fda6569921b3d093a2f1d77e710f78245eacd471af88da8ff8f268293845a9a8550ef34e2bbff9d6cf55b18987c71eb98803bac42b0e6c062015fafb754c6a75f927cac4a8adfcfa8ee05a3f115f1f90d734f78180aec2aa621fa7908d350b0cd8550895cf4b5c3cc75eb95fa574f9a91c1f5efa61f054bedd9267f10a08a21b19e63754de10a1bb0c4ffd8c5c08558882a2f98f1175920a71b981affffde44ae1c9281eee161c4c\nTAG: 28f3243632b13692a2f175644a0e192d8102dd9e2affc5c1\nTAG_LEN: 20\n\n# DIGEST: 654b8591c7f0506261713e9ce7a6fd24a6b9357e\nKEY: 61792c0f3116430e8b6ea058c4799eea80abde04ee1de13e937af8f1a6944f44d722271233a825264e977045318c9b66262c0f03\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c27f4372480974454879c4\nAD: 1de9ac9f98233b5a7379a5\nCT: 62d0c56ae3e695bafc3cfa3c2d8b9d17ac8ff3b84ccac28d568c1ac84e1574ea06f31605caf86d4e809e39e9c275eed4a8f27eb00dc78e1c10dae719519d949dbc22e00d8644bc3806e54e6531864ae4cb5694002e2a3d7146b39b0b38acadbf1651401805f6394831c608b0478d496cc939b24aa3d3e6d445faceb798a69ae1308a593244645e242829f64f7945d0af8af0eeb6d391c69c2d5bf7b00e42092b36c23362bdd627af43ca7336d88cc36e95ede07b83afb54c8758678d19e0ea7956d8f26776b0f4b6b637c1152853651b6c130f436ffa2d4fd0c344e7583c5e56d6262f43767a1011d8398", "311dd6e3d7f9ea89d3eb3f6a1a9cb98905c0761fc5be1d83005fb9ca039b877c30b402743bdf0109ee5de42eef860be676a399a206c08dca8e757f059f7d9611137039b9053430e7d6406abcbf7aed645110aae84f758fcf0d225738cc7c90ace5d83eb9fe65d1e65efa4f6c9d808060cb0f72605e3d7c70e0d13d84689aa1e44aa4dcb152f230d456eb6cf520898bb249262d30c64fde02d6894f72ddff201e4bc41c5fc1f394f2620f764d40098292b04aee45e26812f3abf9a020b5215beb7938e2c121e809ab825d22a2d560bb9bde47572ecb891dd49b38f41af9649dfbdc83ab9bceb444bacdfca2fcbefd623364d4e255e2c0f3164ad92\nTAG: 42174887a9a11a8ac5d1d13e83f8502a3cb0310bbf46b24ff42e3d\nTAG_LEN: 20\n\n# DIGEST: 1eaad32c8d0cefaa5e2c503bb2185a73e6387fac\nKEY: 16430e8b6ea058c4799eea80abde04ee1de13e937af8f1a6944f44d722271233a825264e977045318c9b66262c0f0368fe9d0cb7\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c27f4372480974454879c41de9ac9f98\nAD: 233b5a7379a561792c0f31\nCT: cc269c9aed42c9ba90c768710fa03985372a219f391327e438b1593af29aaf2b66cf8fd60f137d8ce8438a7bcbf7c1c7010c06636f191802daa26fe12ac1c1458baefb2a51fc7361b2d98311c2eaa27e046fffbb76fc855ac01a1321672658e394043367e89478a789d662c88e91642af53824097326d991abd62d1ab818452fc152aa1bd05032027fbb691886d9269937f7f57e214a2186a191b2249ba6fe79b69a94623d85ef0db6b5c2363627ea15a614e6ee42ce0a26a90faaa3ec45451c69c7d472d98b0376a95503b16c6f17eeeb42e0ad5c8775584819aa01309e6071e6b9494da6ddcf992ec6bfc81e0031d74353afa042abfe62fae02792bb6dcae82694cb651689e4039208bf677c90ed6245606cae81732d9d32043e5435f8c40cb76b55a03593dda1271aaccdbc24f18c9a881c77e1dca0e62bfdd36208ee94370b166d66203dfb90c8602dfb48159410840c669c47e7514bf91ef603834bc213173458a87909979b3b77aaa77262e1a634fcb40241818f544f9d207e91ca1f46f77c5c4f606398938f764080dda0978c6b76ce76830a15098870e72b5c9f4975b495d2c5d969688b555773601ad8c857ca8c38565674539fa71a8acadac5415b563f55811b0c010ca1e6793ad08e6c830a0ec2b385402fb8af3b6f0ea0b70b458667953207e4d44f1959\nTAG: ecd2bdb2e683ff8bc7d20482e698ce2b608032094cc2\nTAG_LEN: 20\n\n# DIGEST: 862c0517b3658e9b9cd27db608d49e24e9b4667d\nKEY: a058c4799eea80abde04ee1de13e937af8f1a6944f44d722271233a825264e977045318c9b66262c0f0368fe9d0cb746bbd55813\nNONCE: \nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c27f4372480974454879c41de9ac9f98233b5a7379\nAD: a561792c0f3116430e8b6e\nCT: def7eba4397065d05a7a1b742179c1d8eff65e7e4ac18bec49ed020a95497a58af4ce62679a36b77f95f72913c2a58184ea0c3b59b60784bdf63893a2a84f76ab2b6324a218361316971ebb1e2850b6c7baaf9130715580626bf298f60d862cc4b9c4f353a9e4c7536fd697ece9407eb8ad434c97e325cebd5aa0cf4a5342724f2950c8623aa3a5322f2e06a6b1d71a57b22a2f85ed1acacbeba192cb29ced37983e4231bb930c07f7266728c54e8fa9a0b7195975095fd714440e07d63aa87778061a361b4d44f0241a504089b738cdf3a6323b7a709d39637a2c61677c1f034214a4da6471a89425a5cc6040f37261b9a8e55589b2c24a01b4379dfe00ce758e9e617b6d15abcf0974be46d151c5d26e69c50d3fe68d1854b788d6a43e72a00b1602bb9e7557c4c298b99cccaa17fd950123d672978cd359e115eceb88480d59f5496a920949e09d0590283280d78df0ee068c475706701034b5b8686c60e2c4c4d4bafb2dd25c86293d472d195186f3fbaaaa000cf678295143aa290b011ec35e1eb2dcc6ad12593a934b60af7b570bc59569df2e99bf618aaa60e533265e2bfcfe3e01dd1620cd7d6df8b70726b5fa1191b0cdbe627f714744b2bf2abaddf800cc091ce5ee447f2a61ad36094743182ebbe236745bbeb27a946c8d8dba54dd3597fc4328bb3fa5f43371b531bb\nTAG: bcb4795a551fa0b1d147e2c8f70c31f20a60228963076b32bb\nTAG_LEN: 20\n\n", }; -static const size_t kLen19 = 455606; +static const size_t kLen20 = 455606; -static const char *kData19[] = { +static const char *kData20[] = { "# Generated by\n# go run make_legacy_aead_tests.go -cipher 3des -mac sha1\n#\n# Note: aead_test's input format splits the ciphertext and tag positions of the\n# sealed input. But these legacy AEADs are MAC-then-encrypt and so the 'TAG' may\n# also include padding. We write the byte length of the MAC to 'TAG_LEN' and\n# include the unencrypted MAC in the 'DIGEST' tag above # each test case.\n# each test case.\n\n# Test with non-minimal padding.\n# DIGEST: 7f3a0e20bde700d3c5596909282e5c3e764c99e7\nKEY: 86d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8e\nNONCE: d1c8e9ba2fd6773e\nIN: 936a91d0b5\nAD: d2c0267218cb7090c61713\nCT: 144c98ca1f\nTAG: 4a40ffe530b338e5173a8e62c8530b0c14b15046d12f2ca3158ad71effd0f46b29b3ae\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with bad padding values.\n# DIGEST: 7f3a0e20bde700d3c5596909282e5c3e764c99e7\nKEY: 86d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8e\nNONCE: d1c8e9ba2fd6773e\nIN: 936a91d0b5\nAD: d2c0267218cb7090c61713\nCT: 144c98ca1f\nTAG: 4a40ffe530b338e5173a8e62c8530b0c14b1508045d58f4bdae400\nTAG_LEN: 20\nNO_SEAL: 01\nFAILS: 01\n\n# Test with no padding.\n# DIGEST: c6105cc86e18eb8376c16ea37693db5c07b77137\nKEY: 8503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe47\nNONCE: 7e0cdd46be99371e\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748\nAD: 1df3f4183aa23fd8d7efd8\nCT: 17944422f667bf1356c234189f9c6cf7af52b2832b2fbaa990ccef4e7f9bc3841e59e25c00e3686d5bd5c29f\nTAG: 3ebd1b0bee840e8a6e992421c62de5a8fda3a82f\nTAG_LEN: 20\nNO_SEAL: 01\nFAILS: 01\n\n# Test with maximal padding (0 mod 64).\n# DIGEST: ceb2d295bd0efd37c6c34dab1854c80e986174fc\nKEY: 37446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65\nNONCE: de39f4f03541a11b\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba\nAD: 2fd6773e0d0c302a5f47e0\nCT: f2ab16ba87c52d066c0637d387b89d700a66828ef231b480f39aa08ac2447c8ddd205d1a95da37f267c06a1338532de890904f9f19c930adfb684e81cc06bdf2\nTAG: 3ff610fb9e208ff6ad58b78c5b2cf54b997eb3f24ac0171229ff7ee9cd5070de5a604f78b35b6cd25b3f2ab487847ca1e3928bf7f19bd19c9c9a1015dabd2de426fe57d342009ae4a2e67fdea378f24ec8dec1e87b62b6f70626bfd71f8d8d5e5c5b935a76527ee8a9a3094d635dc2b01a31dc4df336aa023517d7c35e142ccd6a79bc689e335f187a5358a00a7d4eb168cca3f9c6523ad4d74609a5b5c9e36db6bdf8464c4c8497c501084afa17557d070a7671c9144c86b4de9d57f033bc6b59a7f1f4e947b6a2d69c85877de731f6eb3db71d9f4c2dc086a3303bcbcd2f5b71643058b7ce08ef5879e0578ec81ced96ce907d4f32e67fd4cd269de9b60e09ff74bad6c86356ee297475ea7fe75d75\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (1 mod 64).\n# DIGEST: a07054c760cc66fc704edf950201005031f3faac\nKEY: 446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de\nNONCE: 39f4f03541a11be1\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2f\nAD: d6773e0d0c302a5f47e037\nCT: d7059edbabb5cfc2cd5c459abd74e136790aad50d988c6c9271428597617db171b89ab171a68b14f9d417bb81f9f7d2e2045aa47c0b5d166c8b2622bd914c4e752\nTAG: e3d17e303776640b3ab712f6068c44e0e3b5d375203a8b01ad47e6f4681011eff04a41d03ff073e61c630b5faacb744447226a35e7496204911ddd660792be62c5f34c918a0d8514872100c4637ca12bc9c13b1580aed10a68c9187377441bcdf213bf3aa72831f3498d990a7a5960e1e6795bb11e4c7910a881d76ac81320ae61b151b8dbde093bc9e56b8204463d8ec31dc32b3cad5cd8cb48b5f20e54c17469ce97c069051c8e4b2ae5dffc0c2651d868a9909187c2732056213e41e315e94d14a84a24a676155ba86ef0b96efee3e4765dfc750953dc9a7ed739422c7d988f290432320313848a2eb7723c7c85ca3590eb35e3058d0462ddaab0cd48730107d4031a216c6c2595d1ca0b3f1815\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (2 mod 64).\n# DIGEST: d059c266cf6233af730b7a229b19356a4c6fcf06\nKEY: 6f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39\nNONCE: f4f03541a11be112\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6\nAD: 773e0d0c302a5f47e03744\nCT: 8864e31c8b2ce1bcd1745671da5bd66e1e366b0af66b91f605574c841084a5df358483c7839e4456ae5a442930f21d4bde67578186a91c0a603468339ffbe3bfc607\nTAG: d8a0bcddd40964405ef006e0083e67a607b9f926e6508880d7784248a626d56a0673ff990920960fb307ed9cf40c2a1cc3b632b1f94aeb30efa02123e66165b77aa4be5e2aaba4c4a52372b403cae2f78a3bffc1cae8dc6f53839de7f16b8984304abc4a81ffe1ffb42799b54dc43ca0b963be6299a404fd4b3acf65939ac319966aae0a941c74135705092567e1237044c88f79b02b68ef622f9c776bbc04dbc2f58338c129f25afcd8cad7a0e91f30339457075b68df4960c003ef574e3aaae870787ae9ddab96495861388b341aa63ab2721abb176c4f2e6d5704cae123c20f1394d6a12d51fd5782dcb59d075775dfeb72df846995b87b1d374c0d0b8a003ba60f713ad777b8d6ad42c5e373\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (3 mod 64).\n# DIGEST: 8aac0687e33041fcc18da154b41f20a6af2bfb28\nKEY: 5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4\nNONCE: f03541a11be112a7\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd677\nAD: 3e0d0c302a5f47e037446f\nCT: 1d239b3880e2261806ee770e7296d573d308d9850c8bd90a0764822faf5f65770f98f18ce4738538f03ad9b289bd5fa1367258f00d3ed91e32885bc45c30a240cad8c2\nTAG: dbeb6d1a1165a902128a27d7f55f4d928b56a3b83fa430d47bc4f935219fcc6005487f1ab14df0a07a270645d1c2fc23efc9866ec7e4427fe0382b75215c0f994f09c4ac54bf360f8ec938b02c17c4104127d2cb1eb51a11455180931b8e473838e5b1e61cf5cd05947a5b154be5df49905e6e7c049d00f065f680b0e5f3f4a7e9dad37d493f13c7ba318ca2bae086136d67b17a6ebf28b45cebcbfe115a45dfa32786a8b8354d51acf58bc126a13146e0ca509a26cc32c3e8ecf5b9d6ce76a9f76d674316c42f3140d5139304479376db2a167c65da7250e6fefc9d3b37a2072180ab3202f1fc7dd7f4598d1d976b15945fa73e1be07a91186ce7c16c4249d9f7287baafc572673925e95caba\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (4 mod 64).\n# DIGEST: 53658226c112b86438dd27b58a71f9e36fc73c1e\nKEY: 91d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f0\nNONCE: 3541a11be112a729\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e\nAD: 0d0c302a5f47e037446f58\nCT: 719d9de3bc86d08510354817d0fb94340ab1ddeefdb95a1cf460f7c9b185837b5320dd862b4c319619a0b18dc75f1762cf7c9bed63713c31e39a6f7069563441b9e6f106\nTAG: 8b61062c9480ffa62f7b96e9f50249426d05bf237d25e2b676e0041d40ba97101843d9ebc978949eb7ba53b8989ed0e93e5b91f13365345baefa1d7f59b694f6ef0bef0adc1d6763978e12fe354e57b90127533f3f991ce611e31e88a97962f859ebbc0e50d130c323aff35581f1f45cb5c650299025a03d99026d6f6a844ed9d5fe66e15a9fca79726afdaa54c077d148d561ca9e77e427b8f8074714aaf8b011697524e4d91bbab69bc01c8346e9055d7269cf124b503f7ad38c384abfd91ca36159d8a41e6389212167278b830ea464f7dffc3e01c9807368d3457ad5f21b33bcb1afd41ab7d805c9ed2f2c32da9bd4b510366b362dd02f50666ab8e5a72486b3c0d6b9bafb38c9375dda42daef635a0007ef\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (5 mod 64).\n# DIGEST: 6b7d5268b0b5037afb5be5af6a0ceb34e7656ac4\nKEY: d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f035\nNONCE: 41a11be112a72933\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d\nAD: 0c302a5f47e037446f5891\nCT: 9adce31c760d09ff911ed98eeb7146e82017261c8017d9a5fae1127479f6fb54d081cacc1ab7150f05d13547b992c1fe36a6e8e55ef1fa3bcc45bca495a981000a0c0b4f62\nTAG: 51d033e8003b06bf819a4f7978d75abec450c6b11a00bdf27f549f6060390ff99e0feb9509c6ac882777da699f5d5332d1b838a0436101574789ba485769ea6f4d73a10db775f06331140b218fa2ddad7fecf381fb9e3d26b06b3577bdf57e2a8435ba0e5b1e305ddf28070d1749d11ec5504cd9aa51ffe9133152ff35de21e4bbc3b109a318075d924bbaf0e267a1abd3d7afd2d3d8f4d951d4e96fa63741087a975eee8156b01fe566f7f6a309257c17a0bd9faae4c2781aae72eeab1903602b09b69026540a84b4786b8dce2a3e5ca26c65eb7b220dfad400cd236a4435d7fb1be60b9074f2f226e810d54abe7ec0cf10e7c465059720baf93915dda8a56d5a012a990d72408d2c9ab9b8dc813eb2f1caec\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (6 mod 64).\n# DIGEST: 63efe7af50", "2231420ed5aecce9a28446b257828d\nKEY: 7df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541\nNONCE: a11be112a72933c7\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c\nAD: 302a5f47e037446f5891d7\nCT: b81f6e678c5a08244a5f578970d64f96f50ad5b5724a9287ee7b293308db34e03456f1745f79c594ecc480fb2a9412bd685e6c0df028eda06aaa15c90afa4ec01736450e3eb8\nTAG: 63b849636c212d353918c6e3044d298da268ccf1042987617860b58eb7ec8314ccd7762ebc39b62c0f0f1c346c8f4bbcbf3bd0134c0a7374de1868b08ba013398d8e4b578bb8d7359f2cff1629ede34da00138efa4a724d892fe4ed2b28613e66e0bb4830f66c14dccbf8656e615d66f267182662fee8a3e1fcde0941793f0bf2b00d6ab6e9fcb30553b620cf8e9e0a15f122808d739e698f88aa157baba12428541e928ed556517978f6c9f29c6ae8fe5b4e9ed6f0ce49351ac2a63e74bda9288a874a7fd5327c6856596a3271039dcf54affbaf29a5556f1fe1062279d2600b920f4e26c96e9e8fa696c521f60e9418975befa58ad564e730d1de312ca1b999a5e89b813743b1512659d809078243170ab\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (7 mod 64).\n# DIGEST: 1a555c300a1d1bd5b03cdd6bf2a678621624eb05\nKEY: f660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a1\nNONCE: 1be112a72933c7b5\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c30\nAD: 2a5f47e037446f5891d77d\nCT: 6b6f94bc2326760d257d8156de961acac0b32d7f4d0e20363532e76ce76641ba66a1aa7945b9ee58527039cf83fcb01d8ef85254566947347463e161ec8cdec74a839637288d09\nTAG: 77b18bca8ed1d056d9c974054598216bc15bae5b7d70f3bbe32b3deb92398b0ce25a1efc5eb6782fa5fbcdbb415ef43eca090fcad4d34d53b1fd89cdd760e6424715c7703c51e08b72cb3e3b8a30bff159d5126f1473f216d5c931ae03703d3baf311a59d7ef3d6db123f3e8c0ca26fd3f8809ca63265d2fac935bec32631af43626ed1ee9785c81d7bd0cbc0c5178e1ca7de5d12c3592a7880be6590072c4728b2afa1eaaeecdf7cadd8304c2d4b614af7af14efa00dda595be92de09c74b39df05d7d023db721f86992c57061a264dead21e24fa47816f43b77b8ccccde44bfc32a015134a2cfaf04c582fb839202b08b81543ea9358d5735e7c197762a6a39936e26de58690a02dfc273e6779e77708\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (8 mod 64).\n# DIGEST: de9156349b578f2f44945ec6a676a67a829daea1\nKEY: 60ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11b\nNONCE: e112a72933c7b54e\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a\nAD: 5f47e037446f5891d77df6\nCT: 8f211be563f98f493745cca0e385e5b0113027efe3b0a880805427e363014323c4f6c7e6b30d2466c70ed56d63157f2c4f6dabe14d5a22c6c708ab3fb667a6c64ce5c8de22f5261b\nTAG: e5807ffa59e0005c9dd7eef0b854ee1b2cfccef9977f8a963167cc563d844f795c4ce4f9d03da95e4cfd2fc80c9efb6424df8cd3b7875a6ca129da8f509ab09d1f0eec0211e0ffe5492913fb688796a29a8eac54f374e8948991059f6e73a68eba75a892b3e2ed5ab9680eb0b308b07337e75ad5b406c260af5d27955aa820bd0435549700e960e66c211000885e19b804579acfa8c526603f8d743491d916fd4d0e250159e485a4db2fea39a8eb9443516518e6612aae97b1d9b7ac48066d5fbe2c1be3b2e20233a2fb4d39052ef4ca3bfc47e561aaac9c57a7dbff922d6d997821f6b09bf3b4c91bc6162b150e17bfa2544f93f2bebcb4d20322bf0357fdffeec8f75679e6627b4ffbf8e0bfee63c8\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (9 mod 64).\n# DIGEST: 12812df3aa7f3bbc899f6f248f5590e02570c292\nKEY: ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be1\nNONCE: 12a72933c7b54ed4\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f\nAD: 47e037446f5891d77df660\nCT: eeb6afcfd2626da1230067ed9938f7df35e99d2ba1c91d0e91c3db53034a3dd2ce3352b06e3d1b9e8415ef4ced9b2257eb05bc86db8204a8bd943bde51423a09459fecd528faccb646\nTAG: a69c7d8db2c021284e73b3c07620022eb6f199509e34611ed671c3558ae7c103c78024d96c00c791f3450d1e0338598a246855811af4cc9ae1a6522487a4a77b57b58ce29038ab0a2036404eae59133512b9ea40e2d7176e1b36965a27ee2c898d6514872bec952a029d9d85bfb0c99d8b348db6a3bbfedb6d1a3128664c454b9ef29f075fecc469f233e18567fe16759b378600a1d71504231e6caee5688e9858e14fe6fe850d95d7c010865781f0457a22f53add7ef57071c7153d312ca303e4884b83c9acfe86686517d80ce271c148cf3ab6464a9751b66ac7682a5f885ad9301a5602c099e89977f06b41badd1c2ea1f7027a38b749e2ca1a3ff4e4889e6dbd3674a52c8e24d2c76f64a6bc77\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (10 mod 64).\n# DIGEST: f3c89f21c327fca4aa400fabea9e39780378e901\nKEY: 82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112\nNONCE: a72933c7b54ed4fa\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47\nAD: e037446f5891d77df660ed\nCT: e1eb2175bfee27951357b7536e2c3a4c607bf511d1922f6cce462fdf98de9dfbbea66d38884c270e29d08c5ace1d6bb7bcd2b46eaffc67a99e225927421a9894238cefa73bdb48694abf\nTAG: fc1d8ef98aa65ba8a288ca04990bfb373071633eb1e8f30847d3c19ebef66962cce12d015b045e10c9e0aa7f275137e00cb2c9a0508c0187827a74faca4bcd015620f1cdd8f72161bebbb8231ad4b705d1982db6f9fa1d2303c429469737a3141adf729729144f55223df1fb45705fb15adb5cd03c2936674a47d7f6aa5d2a4d9a017e57a4f5dd954504abb588866457730304878ca322f776e3c8e7becb8437002bc757d5b34b16d04ae4710553a624a3fca8866fb3d20672d6f4a2f937edecd58e68b7b0a8c39819ab48788956c1f3f5f4a15e7d13350090a20c61620c9181f03b4d68d7e4f336cb7e4a1a277df5101511150dd39fb43a84cfc480fd548035c8e9ec26602dd66d250fce39dfd8\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (11 mod 64).\n# DIGEST: e8e41988fad6c8b44c56544964cfe0a347b35b1e\nKEY: 933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a7\nNONCE: 2933c7b54ed4fad0\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e0\nAD: 37446f5891d77df660ed82\nCT: a799c4a6590a4c48735d1da9746e5441cb11b664daada5d4d68d3a0110c4ad8d5e96d7331d5f7a0d1df9af5da4208065b6bf31affdfcd4944e8ed55b0ba7b7911be1a9052fbd93d5fbe292\nTAG: 6a6e5ced88748f87682759b554d9685280e094e083d297dc5fd474c4a2605612b2f8b1c31dea24d58c25bcacfbf03b8b09dc662d6e1120868ae9a0f1dbd2799756136c2a26a22e3a61a0216e76e94393534586e1a59c570d8bdb37d5ee6d0762e60c7171fc7953e59d74b0f2ff4a061d27a7baa8ed138c51264b356d9a42b0768bca1c1c458acdc82bd621031e2ae7790596594d2f6eda2c8d58d4b53cf6990434da8aa9e9eafec648d52233e9b92994ca5cbc071dceeed57b02e36f93f8d22551660cc4c1e425aa77dcda3bf6c98bff7905becc075e1707e37453de8f300be5aabc96c1051fa46c796a2c8367a00af3c4dccc58bb7dc8aa2e21e0886eceb898080bbc7259648f2be9da0f1b56\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (12 mod 64).\n# DIGEST: d1c7b2c04dc25fe7b742a1d659aec20e1475ee4f\nKEY: 3f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a729\nNONCE: 33c7b54ed4fad0be\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037\nAD: 446f5891d77df660ed8293\nCT: 2b8ac97f05a67490bf16bc64381e9c49e7f348212d0645056ca5405e9e0a248b6918568481ceca70e20ae4b7c1f62700a2954188793b34504fa86decc73f667e5fae944211059dfa94ef072e\nTAG: 5f91838f37198290b43fc04a186db6a05261ea9916a1dd6450604ed8a7d0bb59751f6637f593ef1a7e3aab6421b7a0cc6b5b47477d36bf439806dd8156e2bc2e229bcbaed9a3beedfa383d674d3b91922e6248d1aa8ad62361a4bdcfd3d86daeb6d775a521916ecefa2244aefbb0cfc0ede1b1c0e0059a4d69850160d2f4f662ea2b77fb074a6de69feab87bb56f27edc3a42037a041007f0a08d204cbad0a9047f7798dad51e5c04126519b53772ad4f3017f9d9fe91920aa7585a5f2d95e7a8fe5c7b22fc696be10e308f939c34e52b7bc2e71b06a56e3ffa5a0ed529eaf5a8c4b6857b1f144f51fc8bbc858c88ede7ca325d231b34e4ae0e7ac8fec3e8f6a9bbc6f8975fec1e877f0d05046c3fd7a0e15ebb3\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (13 mod 64).\n# DIGEST: 116e20ff1e79e0af464d473b1e7c187f4dd66007\nKEY: 62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933\nNONCE: c7b54ed4fad0be90\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e03744\nAD: 6f5891d77df660ed82933f\nCT: 783a362232c871213daa72d58658aee2ceb4de66198df21e22732601", "0be056d5c4d2481ffead6c80733603b132b256d1c52d64eb8b700d614dca0adeacc0c7a05d1a64ee7b5c8163d1eae17fdd\nTAG: ba611208a3cc40e2cc638c335fd508441aaa15c612a5100c960543d2ceef9709bbb3e70904f3f2efac3112fc61bdfe7accfb5f0e9d640812a4f5b0676d95b1d5298eddc97ce3aa16ee761491e9f424af39119c9f56322b10e8575697bc93d1f6a63007ae085bd20c83fc32a5d4e59ce8840f75b8c52f6aeda4fc34f11301d64e058b39ff765e1ec9997ec51aeb43b35cba9ad4b020e7dcee79ad532b897faee018dae1231ceafa1a5fca1ff1a01f863580c9c07b13354e31b0067a2fb16477150ab6d027fe88276767ebb46b1029c7d6dcacbf418f10d932dea2ea161ff8a4f6d79e0bdbf0a67227d5c9100a45fde25e2d4e360c0c0942e9ce13b570b5ea149dfe422fea36251e226b3f7eb709ed7c7339aaff\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (14 mod 64).\n# DIGEST: c081d0d09b2c9eb39a372ef4a7b0246a0956b0f9\nKEY: be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7\nNONCE: b54ed4fad0be905d\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f\nAD: 5891d77df660ed82933f62\nCT: 894d8fc70288c7b8a5d12e63ed6e6e8c74b8d9837720762ccc519a42e024ee05e8f770180e5213a7c7ceac56cab05834d49847aa1432fcfad8286e092feddd421b33212e41716b3db5358903c11e\nTAG: c00612f3ee6619c87aa5c7958da77fdac74ea2ad1af9115fd003edc7bdb36f639dc2d89668f6c2440827a1e7bdb65acd172be229f8852d4b81d1d2ee1e167ff127fed768d0a6eb822c2fd88e733a0884f06e47d5f3a7e84e7f20d8b630c8e748a03f2eb807f3d6bf67d3f93ec97f22a3bfc477143f9e34049fd9143ad5e480bf538464fa847a5302e6d9ec3710122fe6c295191906d98d69e01e81a79de0538442a76a17fea214c74bec28c01370a0aed01e1a32a629857f5d48c3275b79a25d3fe549829e5d72d9d26c2e07fe133e214e40dfba4cd19ddccb01a6887bfba26db80b40eaee435a7619415af7be271739dc339fbe4a500db56613498b34c2b1f9dfbea13aff30c84fd1380ecd821b57cb3775\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (15 mod 64).\n# DIGEST: 6f7bb1f9e2772eb909c315e653e4737cfed78a18\nKEY: 8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b5\nNONCE: 4ed4fad0be905d41\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f58\nAD: 91d77df660ed82933f62be\nCT: e5d56aea96fb40312e288074a21691ed29f17a547529d2427e8bcd5024e617411c08999a8a514adc83a14fe27c51b0f7d44f684fc60274c009274ff9af14d4b1277cc03453e02c0ceb26c796432f0d\nTAG: 07cea5df6c6594985f9af65319e2fcb1882f6d1d66fae0ab595ee72dc4a1118a7ef8ea450209809349b41664ee21afcb053e8edfa53bb1e66d9aefde4c48c6ff5b5e411c1228cbf5c1021d605311a20bd6708aa004d7da8bf72ddce1cbc9a12100969131d596cca0fe61c82208d0848ae0d098036a07600cc4b443e344b06d3162c8ebe14850239f77d178152fee009b1bd81a68bbf632082f9a62dbe60a1ba579077842c713ab4d5619b7abb15eb8fd3b1ee1506fe8df31bc90a63eeeefc0f23ab5ec83f4a1e9fa8833f15c90d6b68615ce297b466d5d67a87ac9fb10a2ffba5a91d31d1b18aaee8c00ff1a8b8df9584a33e946e85d8c6a6c8719421b75a8a56f964725abb4a4be790acbd60efde68671\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (16 mod 64).\n# DIGEST: 172f4992e692a88f49628e5d3937959be01aed2e\nKEY: c55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54e\nNONCE: d4fad0be905d4120\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891\nAD: d77df660ed82933f62be8d\nCT: 7923c66ac88a9d3a2c9d9e714d491372caea0658b4e5692a7df8da934dce8525d0974848545ce89a44a735eedb22f18b5b8f1455c0aeedea9cb8f5c0bb51addd065a83c4e825ff3993ff58cf0af7577b\nTAG: 06b8d51726fe8d46fce9a59b084c3924c4aa9575d3b3f9b9e31a098c2c0475e460a89639863652164b724927ef13d2c52faeba797d38ddcb9274dfc6478c06626ec55954ce17df075f0b089ef155daf416980039458b7979afeefe9fa3e365ca19637b05cd17987e25f20e62031c32d441a102c22efb3660e4e3c13800acbfba0e7dc99175e35338b87ebb56d09a3b4bca72774d87e9cf92ce8e66917835c765129c8946c7f42ad8acd9afc22acc44a89dbebf6f4b2a55c139312559e2aaf6115aa617ce07cb2a63c66cbaeeeb5c95ce617928f93031f6dcbd3ee30a6fcd4cd9606695b690d95fb8d126c4962f49f11910a6e9daa2227f46a249819074a06cb5ffd449bd5744f9d9c70dc14475fd4b9a\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (17 mod 64).\n# DIGEST: 00133da1f7c63fd5f0eec364e9a359be02c1d3da\nKEY: 5b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4\nNONCE: fad0be905d41203f\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d7\nAD: 7df660ed82933f62be8dc5\nCT: e0b671d572a26f0553cdeca68a4d023615570ed0e9414e5783691fb6d1c2bc30bb4a7590d3138972345f3a55f2f90fdc8ad46555d41968a00a6462c2bc0931a18df5480e48cfcfcc00078314cabe0e44ce\nTAG: d01f174c6f726b83162a8a0734e1b1e9e9498fa067454e3a488cee1a04703987d5ce9a219b4ba168a809a181d6a291eae84f91705fc0701166400f24775bf5816a67ea6f011829ca07ef1aec6ac3b7ba0576c26b557b00fb76e84b6e633c48b8c425678ae12c922a7af7ce0484861efccf958ed418e2658b03b5c978fe624b16428c41a2a7ee1cc07c9d730b689cf92f2041b5e68908fc93d8221821106d73363e2d53df824a82841be5bdc0668c5b8759a1e79e193dac2e55e4cc083569fa727b952a45e71840fc330977e072457de678d3f3694e429131e25efd339421094512755604e1ec84efdb52259f6e8284bb7ebdf229cd3e4f1abfd6498e3b493b21184f8a42ba31f4f22dbeacbb1d977d\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (18 mod 64).\n# DIGEST: 60a6821269be6c5b985576b245f106128eb0b325\nKEY: 436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fa\nNONCE: d0be905d41203f5d\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77d\nAD: f660ed82933f62be8dc55b\nCT: aa02a8b8deeb507cd2b2ee187af85b5afa85583c258df91df9cf5307316d03b5d8aad0441bacc27c4cb26c56239423f8e46746978c0edd3c21018f6b9a1c39278f71b462c6da999a6f4d9513a47cd7986c88\nTAG: 5cea96fc3da1457f7e66f324a3c634829a6382fb75efc614bf944cafda4c9cde5bf3118838487401497849d59f895d761b8b0da9f339123aeab5b237edd48d6c1ab4120da7769a7f8510bfca3d7313f0f38dc6c34fea81f60dd3e421afef2d9a61e6b0d7be96b357f1a293fe5c21d4ee858725a4c088f49a24930d846d2c0fad98002fa66a618367425cbae16fe570f3058fcfa2544f1d085ddbc6226e35c4355c916660f7f8fef4f5ab705c93b5182269adb8a4eeff4e62ee278c0588b96043f1ad24ca39a7ad458f541101e1d6cef99d742e2e4a124e4f3a57986d0192537d956231f4e49f5a87f5b7f5a4cdae6cc647b90177dc4d81232c62bad3d99036812f84b3208ed2edb8058f4973abd7\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (19 mod 64).\n# DIGEST: e2593f3b6741a9ed9fa188fc06efd057556ee624\nKEY: 6965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0\nNONCE: be905d41203f5dce\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df6\nAD: 60ed82933f62be8dc55b43\nCT: 8b397fb4fa218359120058dbd145f4bd99def7e5e0a88249783128801b3828909ea19d9f5fb0f3e15ebd624fc32525796ccf9ec01b1da3acc6dec2a9306c57db4eeeeef4830575fd8166c13c23664d4df4cbac\nTAG: fe141cebcd20919976fe53fa1a9e186db43122704ac5dcfd23abc2da394907a9da4011bf32a3948b0ae848d6d010024c6f37191f6fe5cdc46430b915a9c5cc80329ab5d32797fc97bf3ca270d8b35c14e3091c99ca3947492613d183845ea5b80619d20c38434261dab80d4068449a0880eadc55f0b43cc344a875adfd23020b6e63c3015c887ef52c72750c09f60c7bc0dc29ac7a6494bf9771c4aa931aa440ad400c1cdff8f3d1bc4173977128d1eb57731e4b69d3e6d4715dc5d2a9cfdc2afeabf3513b3e3c107a83ac48f511750f887f59b10f40e8f2d197832dbb1febb82c29627232e3793c8a72d7033c86cf99fb54dd2e3ce099d4fdb50a63b06d5f595d5bf59474cb190245a36095bd\nTAG_LEN: 20\nNO_SEAL: 01\n\n# Test with maximal padding (20 mod 64).\n# DIGEST: 17450a437efe239e1858ac4062f34024305372be\nKEY: 65aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be\nNONCE: 905d41203f5dce99\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660\nAD: ed82933f62be8dc55b4369\nCT: 24e568a27d8bce547f628bfa545c4b7ccffce40f73b5abd6e1b60d5efca7cd6d5feda872e172f64d9193d3d2d3381efb52c05f98d3e1fb689fb05d7017654eb57346f1b3dee23b0f166e50531626582115af7cf0\nTAG: 4dae8797b02d7f1d8dc42b10f18973c094880a10207d9479aa8252df66e855a7a4", @@ -821,9 +901,9 @@ static const char *kData19[] = { "060e\nTAG_LEN: 20\n\n# DIGEST: 6b7295febce7fba8d79d1e7ab8fdfc452191e2ba\nKEY: 454879c41de9ac9f98233b5a7379a561792c0f3116430e8b6ea058c4799eea80abde04ee1de13e937af8f1a6\nNONCE: 944f44d722271233\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e\nAD: 6da12dd4c27f4372480974\nCT: a1d0537c3bddc7459a37268608d30ee8e15377c922a4300d7e7f00084cb45a9ab7cfc7f89dfb68f3cf7defd102012361782e977e22c12ac1d91d1e093a21ab26bd171b426af9af7b2dec9d1f2dcf78f19748b39e9b0736e24b44dabf677296db10dc28cd37751d020e1780e5fb00142e972baffc546b9b55bd0067e22ffee4f10312a590394a296cf6fba3456b3c0a64b662d232f185a41762bbad664f977328bba56b62f489d33821d4d604265c388b5ea852968db95ab844c7cb9498bd28d4b055760f83fa94f2a35492a4dd03a1fe9f0c2947fedd44b96948447054e2da7fd3b9d95bfcd0cfe3d1c909e84c9f87ba2a50c33d588592ff3c7c7b56442d52683e222f2610b740a2187159b05f2b15afbba7a97ef2dcb30813b89393706011397f4aa3c537e91fab098ecbf3a87c2185b9001ff1a78e104fbeac85bea4ad609bf1571d83969934d483794944c2e6bea9d778d2deac2d6344106c1dc30d56251faaab3f4dda43a2ed8c3345d9773e4fa4effc5edc3a68cc423b539ed63e8b0605b58aa881906e38b38f02a4df3708e9de4333056c96a02ad6d235636da61fedc631f705e771af9f522109a4d3b34d684b3b175d28a389ea574215131aa68016ea9cf3664b0baa6491f85d3a4370f73967e4c23637fd1d\nTAG: 131597a4dd3057b4a44498ea09294f2df51a5e81adcb3318ccd5\nTAG_LEN: 20\n\n# DIGEST: 1dadffba439570155af2509a548764a93042d23a\nKEY: e9ac9f98233b5a7379a561792c0f3116430e8b6ea058c4799eea80abde04ee1de13e937af8f1a6944f44d722\nNONCE: 271233a825264e97\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c2\nAD: 7f4372480974454879c41d\nCT: 98c951eccacf8dcba5b819312f0ed234ea1cc06abee5f70888558000c2857de7411feffdf379c187d327943c63ab697675557a62c68c13f48d3970531225d5fb6c1434a126cfd6ba80b8f6dda08b3e3629ed12f7bbb45f45148f8544f0a8eb70c849260916eb62baa1bd850e082ad69ca5817594e8f26f63a1909ff03f5696b7a52f146af246c0c6485ea5826c89471c04fd6c373e9d0fef06f4a7b01400962ebfa4ef4166dc895619864accfef9a4be874111cb333518b33a3a2565d032a2434931a16e000d01e35317338ddbc48317517367603697a225d81fc63fcc7d4b8463bbd24910b4972375a995e13baa148b644993b9a7bd706ae64da00f898599957e406c1ab15fd44b6e85b41d47ffaec8136a5dadab324cb0ce95c738a1f8d246af90d98a68b8ab7003d74aa29591b58ca7b2dc38f21f4cfbc04f2e239728e1350b0f074293a13970b264bee368ff98c6960a805346c19702983d3ddfb6306f24cc7f8224e553b0668180787e48ca8e5d851f84df71d5ce6fd7815d39d7e3941b8e0562af98e6e244216bf418d7ca2d9e29ecd3997573b2c4d92aea1a5a82f2272af1218b379ca40a28cc7ce09ad60028a5a6aac6ce145cc3936f89a5d34ba54aeec8d99f84ebf7367fa5fdc12def2294fd3fa3299ba1a59aacc0d7\nTAG: f65b77267d53b2dfc87a936ae08ef7a3f630176553\nTAG_LEN: 20\n\n# DIGEST: e654b4c78e1c0061eea2996fc126c9bfd41eb6d9\nKEY: 3b5a7379a561792c0f3116430e8b6ea058c4799eea80abde04ee1de13e937af8f1a6944f44d722271233a825\nNONCE: 264e977045318c9b\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c27f43724809\nAD: 74454879c41de9ac9f9823\nCT: 5a1c2b7a8d5bc74901521e1300567f30e2b7755f004ddcfd8fe64f471cbaec4bc6d445ea931bafe6ad78034d0ac1d3916f1e0405c2f2aa4b193c2cd599d34b86029840ad379b136aea5c2a74ea70e22e8c8d1e017a2f7d47f8ebac7b85087075c28d6d2846e357ce031abe09e03629a32cef0b205d631f36ec9a1c9c4e90a80900e01688c7298b99be65f204ebaf312364bfdf57d9e16b0142e879a47b9ae0e96fc62e90883624ee2dc110f3a83ab341f4558f360df399170bbae57cb2eb377a87aaed9755e8057d76609d447a33a8255450504b71439fc0d03e0fffb775019ebf921325b42ef56e1b454b5c87ba5daa1f0d0920e860eea43c913d417cd9e9b6676759a4e2c71b0180b432fe2aab4e4fcffb51b4198ffbedbfcdb4dd4e105847f5a5832e85744f34bf3b9929ffeb177ceb4c5e68585a3ff8fda6569921b3d093a2f1d77e710f78245eacd471af88da8ff8f268293845a9a8550ef34e2bbff9d6cf55b18987c71eb98803bac42b0e6c062015fafb754c6a75f927cac4a8adfcfa8ee05a3f115f1f90d734f78180aec2aa621fa7908d350b0cd8550895cf4b5c3cc75eb95fa574f9a91c1f5efa61f054bedd9267f10a08a21b19e63754de10a1bb0c4ffd8c5c08558882a2f98f1175920a71b981affffde44ae1c9281eee161c4c\nTAG: 28f3243632b13692a2f175644a0e192d8102dd9e2affc5c1\nTAG_LEN: 20\n\n# DIGEST: 654b8591c7f0506261713e9ce7a6fd24a6b9357e\nKEY: 61792c0f3116430e8b6ea058c4799eea80abde04ee1de13e937af8f1a6944f44d722271233a825264e977045\nNONCE: 318c9b66262c0f03\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c27f4372480974454879c4\nAD: 1de9ac9f98233b5a7379a5\nCT: 62d0c56ae3e695bafc3cfa3c2d8b9d17ac8ff3b84ccac28d568c1ac84e1574ea06f31605caf86d4e809e39e9c275eed4a8f27eb00dc78e1c10dae719519d949dbc22e00d8644bc3806e54e6531864ae4cb5694002e2a3d7146b39b0b38acadbf1651401805f6394831c608b0478d496cc939b24aa3d3e6d445faceb798a69ae1308a593244645e242829f64f7945d0af8af0eeb6d391c69c2d5bf7b00e42092b36c23362bdd627af43ca7336d88cc36e95ede07b83afb54c8758678d19e0ea7956d8f26776b0f4b6b637c1152853651b6c130f436ffa2d4fd0c344e7583c5e56d6262f43767a1011d8398311dd6e3d7f9e", "a89d3eb3f6a1a9cb98905c0761fc5be1d83005fb9ca039b877c30b402743bdf0109ee5de42eef860be676a399a206c08dca8e757f059f7d9611137039b9053430e7d6406abcbf7aed645110aae84f758fcf0d225738cc7c90ace5d83eb9fe65d1e65efa4f6c9d808060cb0f72605e3d7c70e0d13d84689aa1e44aa4dcb152f230d456eb6cf520898bb249262d30c64fde02d6894f72ddff201e4bc41c5fc1f394f2620f764d40098292b04aee45e26812f3abf9a020b5215beb7938e2c121e809ab825d22a2d560bb9bde47572ecb891dd49b38f41af9649dfbdc83ab9bceb444bacdfca2fcbefd623364d4e255e2c0f3164ad92\nTAG: 42174887a9a11a8ac5d1d13e83f8502a3cb0310bbf46b24ff42e3d\nTAG_LEN: 20\n\n# DIGEST: 1eaad32c8d0cefaa5e2c503bb2185a73e6387fac\nKEY: 16430e8b6ea058c4799eea80abde04ee1de13e937af8f1a6944f44d722271233a825264e977045318c9b6626\nNONCE: 2c0f0368fe9d0cb7\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c27f4372480974454879c41de9ac9f98\nAD: 233b5a7379a561792c0f31\nCT: cc269c9aed42c9ba90c768710fa03985372a219f391327e438b1593af29aaf2b66cf8fd60f137d8ce8438a7bcbf7c1c7010c06636f191802daa26fe12ac1c1458baefb2a51fc7361b2d98311c2eaa27e046fffbb76fc855ac01a1321672658e394043367e89478a789d662c88e91642af53824097326d991abd62d1ab818452fc152aa1bd05032027fbb691886d9269937f7f57e214a2186a191b2249ba6fe79b69a94623d85ef0db6b5c2363627ea15a614e6ee42ce0a26a90faaa3ec45451c69c7d472d98b0376a95503b16c6f17eeeb42e0ad5c8775584819aa01309e6071e6b9494da6ddcf992ec6bfc81e0031d74353afa042abfe62fae02792bb6dcae82694cb651689e4039208bf677c90ed6245606cae81732d9d32043e5435f8c40cb76b55a03593dda1271aaccdbc24f18c9a881c77e1dca0e62bfdd36208ee94370b166d66203dfb90c8602dfb48159410840c669c47e7514bf91ef603834bc213173458a87909979b3b77aaa77262e1a634fcb40241818f544f9d207e91ca1f46f77c5c4f606398938f764080dda0978c6b76ce76830a15098870e72b5c9f4975b495d2c5d969688b555773601ad8c857ca8c38565674539fa71a8acadac5415b563f55811b0c010ca1e6793ad08e6c830a0ec2b385402fb8af3b6f0ea0b70b458667953207e4d44f1959\nTAG: ecd2bdb2e683ff8bc7d20482e698ce2b608032094cc2\nTAG_LEN: 20\n\n# DIGEST: 862c0517b3658e9b9cd27db608d49e24e9b4667d\nKEY: a058c4799eea80abde04ee1de13e937af8f1a6944f44d722271233a825264e977045318c9b66262c0f0368fe\nNONCE: 9d0cb746bbd55813\nIN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c27f4372480974454879c41de9ac9f98233b5a7379\nAD: a561792c0f3116430e8b6e\nCT: def7eba4397065d05a7a1b742179c1d8eff65e7e4ac18bec49ed020a95497a58af4ce62679a36b77f95f72913c2a58184ea0c3b59b60784bdf63893a2a84f76ab2b6324a218361316971ebb1e2850b6c7baaf9130715580626bf298f60d862cc4b9c4f353a9e4c7536fd697ece9407eb8ad434c97e325cebd5aa0cf4a5342724f2950c8623aa3a5322f2e06a6b1d71a57b22a2f85ed1acacbeba192cb29ced37983e4231bb930c07f7266728c54e8fa9a0b7195975095fd714440e07d63aa87778061a361b4d44f0241a504089b738cdf3a6323b7a709d39637a2c61677c1f034214a4da6471a89425a5cc6040f37261b9a8e55589b2c24a01b4379dfe00ce758e9e617b6d15abcf0974be46d151c5d26e69c50d3fe68d1854b788d6a43e72a00b1602bb9e7557c4c298b99cccaa17fd950123d672978cd359e115eceb88480d59f5496a920949e09d0590283280d78df0ee068c475706701034b5b8686c60e2c4c4d4bafb2dd25c86293d472d195186f3fbaaaa000cf678295143aa290b011ec35e1eb2dcc6ad12593a934b60af7b570bc59569df2e99bf618aaa60e533265e2bfcfe3e01dd1620cd7d6df8b70726b5fa1191b0cdbe627f714744b2bf2abaddf800cc091ce5ee447f2a61ad36094743182ebbe236745bbeb27a946c8d8dba54dd3597fc4328bb3fa5f43371b531bb\nTAG: bcb4795a551fa0b1d147e2c8f70c31f20a60228963076b32bb\nTAG_LEN: 20\n\n", }; -static const size_t kLen20 = 116191; +static const size_t kLen21 = 116191; -static const char *kData20[] = { +static const char *kData21[] = { "# Generated by \"make_cavp -cipher=aes -extra-labels=Cipher=AES-128-CBC kat_aes/CBCGFSbox128.rsp kat_aes/CBCKeySbox128.rsp kat_aes/CBCVarKey128.rsp kat_aes/CBCVarTxt128.rsp\"\n\n# File 1: kat_aes/CBCGFSbox128.rsp\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: f34481ec3cc627bacd5dc3fb08f273e6\nCiphertext: 0336763e966d92595a567cc9ce537f5e\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 9798c4640bad75c7c3227db910174e72\nCiphertext: a9a1631bf4996954ebc093957b234589\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 96ab5c2ff612d9dfaae8c31f30c42168\nCiphertext: ff4f8391a6a40ca5b25d23bedd44a597\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 6a118a874519e64e9963798a503f1d35\nCiphertext: dc43be40be0e53712f7e2bf5ca707209\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: cb9fceec81286ca3e989bd979b0cb284\nCiphertext: 92beedab1895a94faa69b632e5cc47ce\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: b26aeb1874e47ca8358ff22378f09144\nCiphertext: 459264f4798f6a78bacb89c15ed3d601\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 58c8e00b2631686d54eab84b91f0aca1\nCiphertext: 08a4e2efec8a8e3312ca7460b9040bbf\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 0336763e966d92595a567cc9ce537f5e\nPlaintext: f34481ec3cc627bacd5dc3fb08f273e6\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: a9a1631bf4996954ebc093957b234589\nPlaintext: 9798c4640bad75c7c3227db910174e72\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: ff4f8391a6a40ca5b25d23bedd44a597\nPlaintext: 96ab5c2ff612d9dfaae8c31f30c42168\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: dc43be40be0e53712f7e2bf5ca707209\nPlaintext: 6a118a874519e64e9963798a503f1d35\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 92beedab1895a94faa69b632e5cc47ce\nPlaintext: cb9fceec81286ca3e989bd979b0cb284\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 459264f4798f6a78bacb89c15ed3d601\nPlaintext: b26aeb1874e47ca8358ff22378f09144\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 08a4e2efec8a8e3312ca7460b9040bbf\nPlaintext: 58c8e00b2631686d54eab84b91f0aca1\n\n# File 2: kat_aes/CBCKeySbox128.rsp\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: 10a58869d74be5a374cf867cfb473859\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 6d251e6944b051e04eaa6fb4dbf78465\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: caea65cdbb75e9169ecd22ebe6e54675\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 6e29201190152df4ee058139def610bb\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: a2e2fa9baf7d20822ca9f0542f764a41\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: c3b44b95d9d2f25670eee9a0de099fa3\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: b6364ac4e1de1e285eaf144a2415f7a0\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 5d9b05578fc944b3cf1ccf0e746cd581\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: 64cf9c7abc50b888af65f49d521944b2\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: f7efc89d5dba578104016ce5ad659c05\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: 47d6742eefcc0465dc96355e851b64d9\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 0306194f666d183624aa230a8b264ae7\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: 3eb39790678c56bee34bbcdeccf6cdb5\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 858075d536d79ccee571f7d7204b1f67\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: 64110a924f0743d500ccadae72c13427\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 35870c6a57e9e92314bcb8087cde72ce\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: 18d8126516f8a12ab1a36d9f04d68e51\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 6c68e9be5ec41e22c825b7c7affb4363\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: f530357968578480b398a3c251cd1093\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: f5df39990fc688f1b07224cc03e86cea\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: da84367f325d42d601b4326964802e8e\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: bba071bcb470f8f6586e5d3add18bc66\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: e37b1c6aa2846f6fdb413f238b089f23\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 43c9f7e62f5d288bb27aa40ef8fe1ea8\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: 6c002b682483e0cabcc731c253be5674\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 3580d19cff44f1014a7c966a69059de5\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: 143ae8ed6555aba96110ab58893a8ae1\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 806da864dd29d48deafbe764f8202aef\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: b69418a85332240dc82492353956ae0c\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: a303d940ded8f0baff6f75414cac5243\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: 71b5c08a1993e1362e4d0ce9b22b78d5\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: c2dabd117f8a3ecabfbb11d12194d9d0\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: e234cdca2606b81f29408d5f6da21206\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: fff60a4740086b3b9c56195b98d91a7b\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: 13237c49074a3da078dc1d828bb78c6f\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 8146a08e2357f0caa30ca8c94d1a0544\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: 3071a2a48fe6cbd04f1a129098e308f8\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 4b98e06d356deb07ebb824e5713f7be3\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: 90f42ec0f68385f2ffc5dfc03a654dce\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 7a20a53d460fc9ce0423a7a0764c6cf2\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: febd9a24d8b65c1c787d50a4ed3619a9\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: f4a70d8af877f9b02b4c40df57d45b17\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 10a58869d74be5a374cf867cfb473859\nIV: 00000000000000000000000000000000\nCiphertext: 6d251e6944b051e04eaa6fb4dbf78465\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: caea65cdbb75e9169ecd22ebe6e54675\nIV: 00000000000000000000000000000000\nCiphertext: 6e29201190152df4ee058139def610bb\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: a2e2fa9baf7d20822ca9f0542f764a41\nIV: 00000000000000000000000000000000\nCiphertext: c3b44b95d9d2f25670eee9a0de099fa3\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: b6364ac4e1de1e285eaf144a2415f7a0\nIV: 00000000000000000000000000000000\nCiphertext: 5d9b05578fc944b3cf1ccf0e746cd581\nPlaintext: 00000000000000000000000", "000000000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 64cf9c7abc50b888af65f49d521944b2\nIV: 00000000000000000000000000000000\nCiphertext: f7efc89d5dba578104016ce5ad659c05\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 47d6742eefcc0465dc96355e851b64d9\nIV: 00000000000000000000000000000000\nCiphertext: 0306194f666d183624aa230a8b264ae7\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 3eb39790678c56bee34bbcdeccf6cdb5\nIV: 00000000000000000000000000000000\nCiphertext: 858075d536d79ccee571f7d7204b1f67\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 64110a924f0743d500ccadae72c13427\nIV: 00000000000000000000000000000000\nCiphertext: 35870c6a57e9e92314bcb8087cde72ce\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 18d8126516f8a12ab1a36d9f04d68e51\nIV: 00000000000000000000000000000000\nCiphertext: 6c68e9be5ec41e22c825b7c7affb4363\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: f530357968578480b398a3c251cd1093\nIV: 00000000000000000000000000000000\nCiphertext: f5df39990fc688f1b07224cc03e86cea\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: da84367f325d42d601b4326964802e8e\nIV: 00000000000000000000000000000000\nCiphertext: bba071bcb470f8f6586e5d3add18bc66\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: e37b1c6aa2846f6fdb413f238b089f23\nIV: 00000000000000000000000000000000\nCiphertext: 43c9f7e62f5d288bb27aa40ef8fe1ea8\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 6c002b682483e0cabcc731c253be5674\nIV: 00000000000000000000000000000000\nCiphertext: 3580d19cff44f1014a7c966a69059de5\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 143ae8ed6555aba96110ab58893a8ae1\nIV: 00000000000000000000000000000000\nCiphertext: 806da864dd29d48deafbe764f8202aef\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: b69418a85332240dc82492353956ae0c\nIV: 00000000000000000000000000000000\nCiphertext: a303d940ded8f0baff6f75414cac5243\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 71b5c08a1993e1362e4d0ce9b22b78d5\nIV: 00000000000000000000000000000000\nCiphertext: c2dabd117f8a3ecabfbb11d12194d9d0\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: e234cdca2606b81f29408d5f6da21206\nIV: 00000000000000000000000000000000\nCiphertext: fff60a4740086b3b9c56195b98d91a7b\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 13237c49074a3da078dc1d828bb78c6f\nIV: 00000000000000000000000000000000\nCiphertext: 8146a08e2357f0caa30ca8c94d1a0544\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 3071a2a48fe6cbd04f1a129098e308f8\nIV: 00000000000000000000000000000000\nCiphertext: 4b98e06d356deb07ebb824e5713f7be3\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 90f42ec0f68385f2ffc5dfc03a654dce\nIV: 00000000000000000000000000000000\nCiphertext: 7a20a53d460fc9ce0423a7a0764c6cf2\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: febd9a24d8b65c1c787d50a4ed3619a9\nIV: 00000000000000000000000000000000\nCiphertext: f4a70d8af877f9b02b4c40df57d45b17\nPlaintext: 00000000000000000000000000000000\n\n# File 3: kat_aes/CBCVarKey128.rsp\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: 80000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 0edd33d3c621e546455bd8ba1418bec8\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: c0000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 4bc3f883450c113c64ca42e1112a9e87\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: e0000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 72a1da770f5d7ac4c9ef94d822affd97\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: f0000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 970014d634e2b7650777e8e84d03ccd8\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: f8000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: f17e79aed0db7e279e955b5f493875a7\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: fc000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 9ed5a75136a940d0963da379db4af26a\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: fe000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: c4295f83465c7755e8fa364bac6a7ea5\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: ff000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: b1d758256b28fd850ad4944208cf1155\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: ff800000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 42ffb34c743de4d88ca38011c990890b\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: ffc00000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 9958f0ecea8b2172c0c1995f9182c0f3\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: ffe00000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 956d7798fac20f82a8823f984d06f7f5\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: fff00000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: a01bf44f2d16be928ca44aaf7b9b106b\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: fff80000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: b5f1a33e50d40d103764c76bd4c6b6f8\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: fffc0000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 2637050c9fc0d4817e2d69de878aee8d\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: fffe0000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 113ecbe4a453269a0dd26069467fb5b5\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: ffff0000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 97d0754fe68f11b9e375d070a608c884\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: ffff8000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: c6a0b3e998d05068a5399778405200b4\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: ffffc000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: df556a33438db87bc41b1752c55e5e49\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: ffffe000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 90fb128d3a1af6e548521bb962bf1f05\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: fffff000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 26298e9c1db517c215fadfb7d2a8d691\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: fffff800000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: a6cb761d61f8292d0df393a279ad0380\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: fffffc00000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 12acd89b13cd5f8726e34d44fd486108\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: fffffe00000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 95b1703fc57ba09fe0c", "3580febdd7ed4\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: ffffff00000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: de11722d893e9f9121c381becc1da59a\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: ffffff80000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 6d114ccb27bf391012e8974c546d9bf2\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: ffffffc0000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 5ce37e17eb4646ecfac29b9cc38d9340\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: ffffffe0000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 18c1b6e2157122056d0243d8a165cddb\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: fffffff0000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 99693e6a59d1366c74d823562d7e1431\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: fffffff8000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 6c7c64dc84a8bba758ed17eb025a57e3\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: fffffffc000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: e17bc79f30eaab2fac2cbbe3458d687a\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: fffffffe000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 1114bc2028009b923f0b01915ce5e7c4\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: ffffffff000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 9c28524a16a1e1c1452971caa8d13476\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: ffffffff800000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: ed62e16363638360fdd6ad62112794f0\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: ffffffffc00000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 5a8688f0b2a2c16224c161658ffd4044\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: ffffffffe00000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 23f710842b9bb9c32f26648c786807ca\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: fffffffff00000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 44a98bf11e163f632c47ec6a49683a89\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: fffffffff80000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 0f18aff94274696d9b61848bd50ac5e5\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: fffffffffc0000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 82408571c3e2424540207f833b6dda69\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: fffffffffe0000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 303ff996947f0c7d1f43c8f3027b9b75\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: ffffffffff0000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 7df4daf4ad29a3615a9b6ece5c99518a\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: ffffffffff8000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: c72954a48d0774db0b4971c526260415\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: ffffffffffc000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 1df9b76112dc6531e07d2cfda04411f0\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: ffffffffffe000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 8e4d8e699119e1fc87545a647fb1d34f\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: fffffffffff000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: e6c4807ae11f36f091c57d9fb68548d1\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: fffffffffff800000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 8ebf73aad49c82007f77a5c1ccec6ab4\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: fffffffffffc00000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 4fb288cc2040049001d2c7585ad123fc\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: fffffffffffe00000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 04497110efb9dceb13e2b13fb4465564\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: ffffffffffff00000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 75550e6cb5a88e49634c9ab69eda0430\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: ffffffffffff80000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: b6768473ce9843ea66a81405dd50b345\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: ffffffffffffc0000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: cb2f430383f9084e03a653571e065de6\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: ffffffffffffe0000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: ff4e66c07bae3e79fb7d210847a3b0ba\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: fffffffffffff0000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 7b90785125505fad59b13c186dd66ce3\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: fffffffffffff8000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 8b527a6aebdaec9eaef8eda2cb7783e5\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: fffffffffffffc000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 43fdaf53ebbc9880c228617d6a9b548b\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: fffffffffffffe000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 53786104b9744b98f052c46f1c850d0b\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: ffffffffffffff000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: b5ab3013dd1e61df06cbaf34ca2aee78\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: ffffffffffffff800000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 7470469be9723030fdcc73a8cd4fbb10\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: ffffffffffffffc00000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: a35a63f5343ebe9ef8167bcb48ad122e\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: ffffffffffffffe00000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: fd8687f0757a210e9fdf181204c30863\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: fffffffffffffff00000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 7a181e84bd5457d26a88fbae96018fb0\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: fffffffffffffff80000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 653317b9362b6f9b9e1a580e68d494b5\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: fffffffffffffffc0000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 995c9dc0b689f03c45867b5faa5c18d1\n\nCipher: AES-128-CBC\nOperation: ENCRYPT\nKey: fffffffffffffffe0000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 77a4d96d56dda398b9aabecfc75729fd\n\nCipher: AES-128-C", @@ -840,9 +920,9 @@ static const char *kData20[] = { "0000000000000000\nCiphertext: b87c921b91829ef3b13ca541ee1130a6\nPlaintext: ffffffffffffffffffff800000000000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 2e65eb6b6ea383e109accce8326b0393\nPlaintext: ffffffffffffffffffffc00000000000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 9ca547f7439edc3e255c0f4d49aa8990\nPlaintext: ffffffffffffffffffffe00000000000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: a5e652614c9300f37816b1f9fd0c87f9\nPlaintext: fffffffffffffffffffff00000000000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 14954f0b4697776f44494fe458d814ed\nPlaintext: fffffffffffffffffffff80000000000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 7c8d9ab6c2761723fe42f8bb506cbcf7\nPlaintext: fffffffffffffffffffffc0000000000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: db7e1932679fdd99742aab04aa0d5a80\nPlaintext: fffffffffffffffffffffe0000000000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 4c6a1c83e568cd10f27c2d73ded19c28\nPlaintext: ffffffffffffffffffffff0000000000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 90ecbe6177e674c98de412413f7ac915\nPlaintext: ffffffffffffffffffffff8000000000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 90684a2ac55fe1ec2b8ebd5622520b73\nPlaintext: ffffffffffffffffffffffc000000000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 7472f9a7988607ca79707795991035e6\nPlaintext: ffffffffffffffffffffffe000000000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 56aff089878bf3352f8df172a3ae47d8\nPlaintext: fffffffffffffffffffffff000000000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 65c0526cbe40161b8019a2a3171abd23\nPlaintext: fffffffffffffffffffffff800000000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 377be0be33b4e3e310b4aabda173f84f\nPlaintext: fffffffffffffffffffffffc00000000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 9402e9aa6f69de6504da8d20c4fcaa2f\nPlaintext: fffffffffffffffffffffffe00000000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 123c1f4af313ad8c2ce648b2e71fb6e1\nPlaintext: ffffffffffffffffffffffff00000000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 1ffc626d30203dcdb0019fb80f726cf4\nPlaintext: ffffffffffffffffffffffff80000000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 76da1fbe3a50728c50fd2e621b5ad885\nPlaintext: ffffffffffffffffffffffffc0000000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 082eb8be35f442fb52668e16a591d1d6\nPlaintext: ffffffffffffffffffffffffe0000000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: e656f9ecf5fe27ec3e4a73d00c282fb3\nPlaintext: fffffffffffffffffffffffff0000000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 2ca8209d63274cd9a29bb74bcd77683a\nPlaintext: fffffffffffffffffffffffff8000000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 79bf5dce14bb7dd73a8e3611de7ce026\nPlaintext: fffffffffffffffffffffffffc000000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 3c849939a5d29399f344c4a0eca8a576\nPlaintext: fffffffffffffffffffffffffe000000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: ed3c0a94d59bece98835da7aa4f07ca2\nPlaintext: ffffffffffffffffffffffffff000000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 63919ed4ce10196438b6ad09d99cd795\nPlaintext: ffffffffffffffffffffffffff800000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 7678f3a833f19fea95f3c6029e2bc610\nPlaintext: ffffffffffffffffffffffffffc00000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 3aa426831067d36b92be7c5f81c13c56\nPlaintext: ffffffffffffffffffffffffffe00000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 9272e2d2cdd11050998c845077a30ea0\nPlaintext: fffffffffffffffffffffffffff00000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 088c4b53f5ec0ff814c19adae7f6246c\nPlaintext: fffffffffffffffffffffffffff80000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 4010a5e401fdf0a0354ddbcc0d012b17\nPlaintext: fffffffffffffffffffffffffffc0000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: a87a385736c0a6189bd6589bd8445a93\nPlaintext: fffffffffffffffffffffffffffe0000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 545f2b83d9616dccf60fa9830e9cd287\nPlaintext: ffffffffffffffffffffffffffff0000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 4b706f7f92406352394037a6d4f4688d\nPlaintext: ffffffffffffffffffffffffffff8000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: b7972b3941c44b90afa7b264bfba7387\nPlaintext: ffffffffffffffffffffffffffffc000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 6f45732cf10881546f0fd23896d2bb60\nPlaintext: ffffffffffffffffffffffffffffe000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 2e3579ca15af27f64b3c955a5bfc30ba\nPlaintext: fffffffffffffffffffffffffffff000\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 34a2c5a91ae2aec99b7d1b5fa6780447\nPlaintext: fffffffffffffffffffffffffffff800\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: a4d6616bd04f87335b0e53351227a9ee\nPlaintext: fffffffffffffffffffffffffffffc00\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 7f692b03945867d16179a8cefc83ea3f\nPlaintext: fffffffffffffffffffffffffffffe00\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 3bd141ee84a0e6414a26e7a4f281f8a2\nPlaintext: ffffffffffffffffffffffffffffff00\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: d17", "88f572d98b2b16ec5d5f3922b99bc\nPlaintext: ffffffffffffffffffffffffffffff80\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 0833ff6f61d98a57b288e8c3586b85a6\nPlaintext: ffffffffffffffffffffffffffffffc0\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 8568261797de176bf0b43becc6285afb\nPlaintext: ffffffffffffffffffffffffffffffe0\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: f9b0fda0c4a898f5b9e6f661c4ce4d07\nPlaintext: fffffffffffffffffffffffffffffff0\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 8ade895913685c67c5269f8aae42983e\nPlaintext: fffffffffffffffffffffffffffffff8\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 39bde67d5c8ed8a8b1c37eb8fa9f5ac0\nPlaintext: fffffffffffffffffffffffffffffffc\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 5c005e72c1418c44f569f2ea33ba54f3\nPlaintext: fffffffffffffffffffffffffffffffe\n\nCipher: AES-128-CBC\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 3f5b8cc9ea855a0afa7347d23e8d664e\nPlaintext: ffffffffffffffffffffffffffffffff\n\n", }; -static const size_t kLen21 = 116210; +static const size_t kLen22 = 116210; -static const char *kData21[] = { +static const char *kData22[] = { "# Generated by \"make_cavp -cipher=aes -extra-labels=Cipher=AES-128-CTR -swap-iv-plaintext kat_aes/CBCGFSbox128.rsp kat_aes/CBCKeySbox128.rsp kat_aes/CBCVarKey128.rsp kat_aes/CBCVarTxt128.rsp\"\n\n# File 1: kat_aes/CBCGFSbox128.rsp\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: f34481ec3cc627bacd5dc3fb08f273e6\nCiphertext: 0336763e966d92595a567cc9ce537f5e\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 9798c4640bad75c7c3227db910174e72\nCiphertext: a9a1631bf4996954ebc093957b234589\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 96ab5c2ff612d9dfaae8c31f30c42168\nCiphertext: ff4f8391a6a40ca5b25d23bedd44a597\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 6a118a874519e64e9963798a503f1d35\nCiphertext: dc43be40be0e53712f7e2bf5ca707209\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: cb9fceec81286ca3e989bd979b0cb284\nCiphertext: 92beedab1895a94faa69b632e5cc47ce\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: b26aeb1874e47ca8358ff22378f09144\nCiphertext: 459264f4798f6a78bacb89c15ed3d601\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 58c8e00b2631686d54eab84b91f0aca1\nCiphertext: 08a4e2efec8a8e3312ca7460b9040bbf\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 0336763e966d92595a567cc9ce537f5e\nIV: f34481ec3cc627bacd5dc3fb08f273e6\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: a9a1631bf4996954ebc093957b234589\nIV: 9798c4640bad75c7c3227db910174e72\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: ff4f8391a6a40ca5b25d23bedd44a597\nIV: 96ab5c2ff612d9dfaae8c31f30c42168\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: dc43be40be0e53712f7e2bf5ca707209\nIV: 6a118a874519e64e9963798a503f1d35\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 92beedab1895a94faa69b632e5cc47ce\nIV: cb9fceec81286ca3e989bd979b0cb284\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 459264f4798f6a78bacb89c15ed3d601\nIV: b26aeb1874e47ca8358ff22378f09144\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 08a4e2efec8a8e3312ca7460b9040bbf\nIV: 58c8e00b2631686d54eab84b91f0aca1\n\n# File 2: kat_aes/CBCKeySbox128.rsp\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: 10a58869d74be5a374cf867cfb473859\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 6d251e6944b051e04eaa6fb4dbf78465\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: caea65cdbb75e9169ecd22ebe6e54675\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 6e29201190152df4ee058139def610bb\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: a2e2fa9baf7d20822ca9f0542f764a41\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: c3b44b95d9d2f25670eee9a0de099fa3\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: b6364ac4e1de1e285eaf144a2415f7a0\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 5d9b05578fc944b3cf1ccf0e746cd581\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: 64cf9c7abc50b888af65f49d521944b2\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: f7efc89d5dba578104016ce5ad659c05\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: 47d6742eefcc0465dc96355e851b64d9\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 0306194f666d183624aa230a8b264ae7\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: 3eb39790678c56bee34bbcdeccf6cdb5\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 858075d536d79ccee571f7d7204b1f67\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: 64110a924f0743d500ccadae72c13427\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 35870c6a57e9e92314bcb8087cde72ce\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: 18d8126516f8a12ab1a36d9f04d68e51\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 6c68e9be5ec41e22c825b7c7affb4363\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: f530357968578480b398a3c251cd1093\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: f5df39990fc688f1b07224cc03e86cea\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: da84367f325d42d601b4326964802e8e\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: bba071bcb470f8f6586e5d3add18bc66\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: e37b1c6aa2846f6fdb413f238b089f23\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 43c9f7e62f5d288bb27aa40ef8fe1ea8\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: 6c002b682483e0cabcc731c253be5674\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 3580d19cff44f1014a7c966a69059de5\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: 143ae8ed6555aba96110ab58893a8ae1\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 806da864dd29d48deafbe764f8202aef\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: b69418a85332240dc82492353956ae0c\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: a303d940ded8f0baff6f75414cac5243\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: 71b5c08a1993e1362e4d0ce9b22b78d5\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: c2dabd117f8a3ecabfbb11d12194d9d0\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: e234cdca2606b81f29408d5f6da21206\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: fff60a4740086b3b9c56195b98d91a7b\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: 13237c49074a3da078dc1d828bb78c6f\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 8146a08e2357f0caa30ca8c94d1a0544\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: 3071a2a48fe6cbd04f1a129098e308f8\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 4b98e06d356deb07ebb824e5713f7be3\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: 90f42ec0f68385f2ffc5dfc03a654dce\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 7a20a53d460fc9ce0423a7a0764c6cf2\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: febd9a24d8b65c1c787d50a4ed3619a9\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: f4a70d8af877f9b02b4c40df57d45b17\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 10a58869d74be5a374cf867cfb473859\nPlaintext: 00000000000000000000000000000000\nCiphertext: 6d251e6944b051e04eaa6fb4dbf78465\nIV: 00000000000000000000000000000000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: caea65cdbb75e9169ecd22ebe6e54675\nPlaintext: 00000000000000000000000000000000\nCiphertext: 6e29201190152df4ee058139def610bb\nIV: 00000000000000000000000000000000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: a2e2fa9baf7d20822ca9f0542f764a41\nPlaintext: 00000000000000000000000000000000\nCiphertext: c3b44b95d9d2f25670eee9a0de099fa3\nIV: 00000000000000000000000000000000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: b6364ac4e1de1e285eaf144a2415f7a0\nPlaintext: 00000000000000000000000000000000\nCiphertext: 5d9b05578fc944b3cf1ccf0e746cd581\nIV: 0000", "0000000000000000000000000000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 64cf9c7abc50b888af65f49d521944b2\nPlaintext: 00000000000000000000000000000000\nCiphertext: f7efc89d5dba578104016ce5ad659c05\nIV: 00000000000000000000000000000000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 47d6742eefcc0465dc96355e851b64d9\nPlaintext: 00000000000000000000000000000000\nCiphertext: 0306194f666d183624aa230a8b264ae7\nIV: 00000000000000000000000000000000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 3eb39790678c56bee34bbcdeccf6cdb5\nPlaintext: 00000000000000000000000000000000\nCiphertext: 858075d536d79ccee571f7d7204b1f67\nIV: 00000000000000000000000000000000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 64110a924f0743d500ccadae72c13427\nPlaintext: 00000000000000000000000000000000\nCiphertext: 35870c6a57e9e92314bcb8087cde72ce\nIV: 00000000000000000000000000000000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 18d8126516f8a12ab1a36d9f04d68e51\nPlaintext: 00000000000000000000000000000000\nCiphertext: 6c68e9be5ec41e22c825b7c7affb4363\nIV: 00000000000000000000000000000000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: f530357968578480b398a3c251cd1093\nPlaintext: 00000000000000000000000000000000\nCiphertext: f5df39990fc688f1b07224cc03e86cea\nIV: 00000000000000000000000000000000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: da84367f325d42d601b4326964802e8e\nPlaintext: 00000000000000000000000000000000\nCiphertext: bba071bcb470f8f6586e5d3add18bc66\nIV: 00000000000000000000000000000000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: e37b1c6aa2846f6fdb413f238b089f23\nPlaintext: 00000000000000000000000000000000\nCiphertext: 43c9f7e62f5d288bb27aa40ef8fe1ea8\nIV: 00000000000000000000000000000000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 6c002b682483e0cabcc731c253be5674\nPlaintext: 00000000000000000000000000000000\nCiphertext: 3580d19cff44f1014a7c966a69059de5\nIV: 00000000000000000000000000000000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 143ae8ed6555aba96110ab58893a8ae1\nPlaintext: 00000000000000000000000000000000\nCiphertext: 806da864dd29d48deafbe764f8202aef\nIV: 00000000000000000000000000000000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: b69418a85332240dc82492353956ae0c\nPlaintext: 00000000000000000000000000000000\nCiphertext: a303d940ded8f0baff6f75414cac5243\nIV: 00000000000000000000000000000000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 71b5c08a1993e1362e4d0ce9b22b78d5\nPlaintext: 00000000000000000000000000000000\nCiphertext: c2dabd117f8a3ecabfbb11d12194d9d0\nIV: 00000000000000000000000000000000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: e234cdca2606b81f29408d5f6da21206\nPlaintext: 00000000000000000000000000000000\nCiphertext: fff60a4740086b3b9c56195b98d91a7b\nIV: 00000000000000000000000000000000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 13237c49074a3da078dc1d828bb78c6f\nPlaintext: 00000000000000000000000000000000\nCiphertext: 8146a08e2357f0caa30ca8c94d1a0544\nIV: 00000000000000000000000000000000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 3071a2a48fe6cbd04f1a129098e308f8\nPlaintext: 00000000000000000000000000000000\nCiphertext: 4b98e06d356deb07ebb824e5713f7be3\nIV: 00000000000000000000000000000000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 90f42ec0f68385f2ffc5dfc03a654dce\nPlaintext: 00000000000000000000000000000000\nCiphertext: 7a20a53d460fc9ce0423a7a0764c6cf2\nIV: 00000000000000000000000000000000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: febd9a24d8b65c1c787d50a4ed3619a9\nPlaintext: 00000000000000000000000000000000\nCiphertext: f4a70d8af877f9b02b4c40df57d45b17\nIV: 00000000000000000000000000000000\n\n# File 3: kat_aes/CBCVarKey128.rsp\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: 80000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 0edd33d3c621e546455bd8ba1418bec8\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: c0000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 4bc3f883450c113c64ca42e1112a9e87\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: e0000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 72a1da770f5d7ac4c9ef94d822affd97\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: f0000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 970014d634e2b7650777e8e84d03ccd8\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: f8000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: f17e79aed0db7e279e955b5f493875a7\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: fc000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 9ed5a75136a940d0963da379db4af26a\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: fe000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: c4295f83465c7755e8fa364bac6a7ea5\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: ff000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: b1d758256b28fd850ad4944208cf1155\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: ff800000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 42ffb34c743de4d88ca38011c990890b\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: ffc00000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 9958f0ecea8b2172c0c1995f9182c0f3\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: ffe00000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 956d7798fac20f82a8823f984d06f7f5\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: fff00000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: a01bf44f2d16be928ca44aaf7b9b106b\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: fff80000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: b5f1a33e50d40d103764c76bd4c6b6f8\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: fffc0000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 2637050c9fc0d4817e2d69de878aee8d\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: fffe0000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 113ecbe4a453269a0dd26069467fb5b5\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: ffff0000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 97d0754fe68f11b9e375d070a608c884\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: ffff8000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: c6a0b3e998d05068a5399778405200b4\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: ffffc000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: df556a33438db87bc41b1752c55e5e49\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: ffffe000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 90fb128d3a1af6e548521bb962bf1f05\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: fffff000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 26298e9c1db517c215fadfb7d2a8d691\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: fffff800000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: a6cb761d61f8292d0df393a279ad0380\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: fffffc00000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 12acd89b13cd5f8726e34d44fd486108\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: fffffe00000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: ", "95b1703fc57ba09fe0c3580febdd7ed4\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: ffffff00000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: de11722d893e9f9121c381becc1da59a\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: ffffff80000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 6d114ccb27bf391012e8974c546d9bf2\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: ffffffc0000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 5ce37e17eb4646ecfac29b9cc38d9340\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: ffffffe0000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 18c1b6e2157122056d0243d8a165cddb\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: fffffff0000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 99693e6a59d1366c74d823562d7e1431\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: fffffff8000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 6c7c64dc84a8bba758ed17eb025a57e3\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: fffffffc000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: e17bc79f30eaab2fac2cbbe3458d687a\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: fffffffe000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 1114bc2028009b923f0b01915ce5e7c4\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: ffffffff000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 9c28524a16a1e1c1452971caa8d13476\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: ffffffff800000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: ed62e16363638360fdd6ad62112794f0\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: ffffffffc00000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 5a8688f0b2a2c16224c161658ffd4044\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: ffffffffe00000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 23f710842b9bb9c32f26648c786807ca\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: fffffffff00000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 44a98bf11e163f632c47ec6a49683a89\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: fffffffff80000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 0f18aff94274696d9b61848bd50ac5e5\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: fffffffffc0000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 82408571c3e2424540207f833b6dda69\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: fffffffffe0000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 303ff996947f0c7d1f43c8f3027b9b75\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: ffffffffff0000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 7df4daf4ad29a3615a9b6ece5c99518a\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: ffffffffff8000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: c72954a48d0774db0b4971c526260415\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: ffffffffffc000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 1df9b76112dc6531e07d2cfda04411f0\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: ffffffffffe000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 8e4d8e699119e1fc87545a647fb1d34f\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: fffffffffff000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: e6c4807ae11f36f091c57d9fb68548d1\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: fffffffffff800000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 8ebf73aad49c82007f77a5c1ccec6ab4\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: fffffffffffc00000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 4fb288cc2040049001d2c7585ad123fc\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: fffffffffffe00000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 04497110efb9dceb13e2b13fb4465564\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: ffffffffffff00000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 75550e6cb5a88e49634c9ab69eda0430\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: ffffffffffff80000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: b6768473ce9843ea66a81405dd50b345\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: ffffffffffffc0000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: cb2f430383f9084e03a653571e065de6\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: ffffffffffffe0000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: ff4e66c07bae3e79fb7d210847a3b0ba\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: fffffffffffff0000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 7b90785125505fad59b13c186dd66ce3\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: fffffffffffff8000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 8b527a6aebdaec9eaef8eda2cb7783e5\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: fffffffffffffc000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 43fdaf53ebbc9880c228617d6a9b548b\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: fffffffffffffe000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 53786104b9744b98f052c46f1c850d0b\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: ffffffffffffff000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: b5ab3013dd1e61df06cbaf34ca2aee78\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: ffffffffffffff800000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 7470469be9723030fdcc73a8cd4fbb10\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: ffffffffffffffc00000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: a35a63f5343ebe9ef8167bcb48ad122e\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: ffffffffffffffe00000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: fd8687f0757a210e9fdf181204c30863\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: fffffffffffffff00000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 7a181e84bd5457d26a88fbae96018fb0\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: fffffffffffffff80000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 653317b9362b6f9b9e1a580e68d494b5\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: fffffffffffffffc0000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 995c9dc0b689f03c45867b5faa5c18d1\n\nCipher: AES-128-CTR\nOperation: ENCRYPT\nKey: fffffffffffffffe0000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 77a4d96d56dda398b9aabecfc75729fd", @@ -859,9 +939,9 @@ static const char *kData21[] = { "laintext: 00000000000000000000000000000000\nCiphertext: b87c921b91829ef3b13ca541ee1130a6\nIV: ffffffffffffffffffff800000000000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 2e65eb6b6ea383e109accce8326b0393\nIV: ffffffffffffffffffffc00000000000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 9ca547f7439edc3e255c0f4d49aa8990\nIV: ffffffffffffffffffffe00000000000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: a5e652614c9300f37816b1f9fd0c87f9\nIV: fffffffffffffffffffff00000000000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 14954f0b4697776f44494fe458d814ed\nIV: fffffffffffffffffffff80000000000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 7c8d9ab6c2761723fe42f8bb506cbcf7\nIV: fffffffffffffffffffffc0000000000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: db7e1932679fdd99742aab04aa0d5a80\nIV: fffffffffffffffffffffe0000000000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 4c6a1c83e568cd10f27c2d73ded19c28\nIV: ffffffffffffffffffffff0000000000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 90ecbe6177e674c98de412413f7ac915\nIV: ffffffffffffffffffffff8000000000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 90684a2ac55fe1ec2b8ebd5622520b73\nIV: ffffffffffffffffffffffc000000000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 7472f9a7988607ca79707795991035e6\nIV: ffffffffffffffffffffffe000000000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 56aff089878bf3352f8df172a3ae47d8\nIV: fffffffffffffffffffffff000000000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 65c0526cbe40161b8019a2a3171abd23\nIV: fffffffffffffffffffffff800000000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 377be0be33b4e3e310b4aabda173f84f\nIV: fffffffffffffffffffffffc00000000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 9402e9aa6f69de6504da8d20c4fcaa2f\nIV: fffffffffffffffffffffffe00000000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 123c1f4af313ad8c2ce648b2e71fb6e1\nIV: ffffffffffffffffffffffff00000000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 1ffc626d30203dcdb0019fb80f726cf4\nIV: ffffffffffffffffffffffff80000000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 76da1fbe3a50728c50fd2e621b5ad885\nIV: ffffffffffffffffffffffffc0000000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 082eb8be35f442fb52668e16a591d1d6\nIV: ffffffffffffffffffffffffe0000000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: e656f9ecf5fe27ec3e4a73d00c282fb3\nIV: fffffffffffffffffffffffff0000000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 2ca8209d63274cd9a29bb74bcd77683a\nIV: fffffffffffffffffffffffff8000000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 79bf5dce14bb7dd73a8e3611de7ce026\nIV: fffffffffffffffffffffffffc000000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 3c849939a5d29399f344c4a0eca8a576\nIV: fffffffffffffffffffffffffe000000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: ed3c0a94d59bece98835da7aa4f07ca2\nIV: ffffffffffffffffffffffffff000000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 63919ed4ce10196438b6ad09d99cd795\nIV: ffffffffffffffffffffffffff800000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 7678f3a833f19fea95f3c6029e2bc610\nIV: ffffffffffffffffffffffffffc00000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 3aa426831067d36b92be7c5f81c13c56\nIV: ffffffffffffffffffffffffffe00000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 9272e2d2cdd11050998c845077a30ea0\nIV: fffffffffffffffffffffffffff00000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 088c4b53f5ec0ff814c19adae7f6246c\nIV: fffffffffffffffffffffffffff80000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 4010a5e401fdf0a0354ddbcc0d012b17\nIV: fffffffffffffffffffffffffffc0000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: a87a385736c0a6189bd6589bd8445a93\nIV: fffffffffffffffffffffffffffe0000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 545f2b83d9616dccf60fa9830e9cd287\nIV: ffffffffffffffffffffffffffff0000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 4b706f7f92406352394037a6d4f4688d\nIV: ffffffffffffffffffffffffffff8000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: b7972b3941c44b90afa7b264bfba7387\nIV: ffffffffffffffffffffffffffffc000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 6f45732cf10881546f0fd23896d2bb60\nIV: ffffffffffffffffffffffffffffe000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 2e3579ca15af27f64b3c955a5bfc30ba\nIV: fffffffffffffffffffffffffffff000\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 34a2c5a91ae2aec99b7d1b5fa6780447\nIV: fffffffffffffffffffffffffffff800\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: a4d6616bd04f87335b0e53351227a9ee\nIV: fffffffffffffffffffffffffffffc00\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 7f692b03945867d16179a8cefc83ea3f\nIV: fffffffffffffffffffffffffffffe00\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 3bd141ee84a0e6414a26e7a4f281f8a2\nIV: ffffffffffffffffffffffffffffff00\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 0000000000000000000000", "0000000000\nCiphertext: d1788f572d98b2b16ec5d5f3922b99bc\nIV: ffffffffffffffffffffffffffffff80\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 0833ff6f61d98a57b288e8c3586b85a6\nIV: ffffffffffffffffffffffffffffffc0\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 8568261797de176bf0b43becc6285afb\nIV: ffffffffffffffffffffffffffffffe0\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: f9b0fda0c4a898f5b9e6f661c4ce4d07\nIV: fffffffffffffffffffffffffffffff0\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 8ade895913685c67c5269f8aae42983e\nIV: fffffffffffffffffffffffffffffff8\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 39bde67d5c8ed8a8b1c37eb8fa9f5ac0\nIV: fffffffffffffffffffffffffffffffc\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 5c005e72c1418c44f569f2ea33ba54f3\nIV: fffffffffffffffffffffffffffffffe\n\nCipher: AES-128-CTR\nOperation: DECRYPT\nKey: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 3f5b8cc9ea855a0afa7347d23e8d664e\nIV: ffffffffffffffffffffffffffffffff\n\n", }; -static const size_t kLen22 = 5321952; +static const size_t kLen23 = 5321952; -static const char *kData22[] = { +static const char *kData23[] = { "# Generated by \"make_cavp -cipher gcm kat_gcm/gcmDecrypt128.rsp kat_gcm/gcmEncryptExtIV128.rsp\"\n\n# File 1: kat_gcm/gcmDecrypt128.rsp\n\nKEY: cf063a34d4a9a76c2c86787d3f96db71\nNONCE: 113b9785971864c83b01c787\nCT: \nAD: \nTAG: 72ac8493e3a5228b5d130a69d2510e42\nIN: \n\nKEY: a49a5e26a2f8cb63d05546c2a62f5343\nNONCE: 907763b19b9b4ab6bd4f0281\nCT: \nAD: \nTAG: a2be08210d8c470a8df6e8fbd79ec5cf\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 2ad0bf5aeb47a0c1a98da3dfdab4fded\nNONCE: 25f1b6091ee7040fea4ba854\nCT: \nAD: \nTAG: d7963d240317653e01cf5abe5d0966ae\nIN: \n\nKEY: d8cd400a0a73d114cd3ecf36537cab3d\nNONCE: 3c162c9f16a49b8fe6c92a81\nCT: \nAD: \nTAG: 4203aec165f9d397cf9009770a088c16\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: a982a7bae2b3eae1b7832f16faf693b4\nNONCE: 78d2d2fa43850483ce933576\nCT: \nAD: \nTAG: ceabb89ee3179e25ed32d5a225006361\nIN: \n\nKEY: f9e3992196f7d7a21bd956f4b5a5ffce\nNONCE: 0794a6bdf5f198c9f193b9ba\nCT: \nAD: \nTAG: f8247fd5dc7bd6d40e96af32aa9c1889\nIN: \n\nKEY: c91aab7ebe13653a71a4232fd1beb793\nNONCE: 7799464b6de6383da0daec52\nCT: \nAD: \nTAG: 00c4f7033f3c05e9d531f3ca573dc98d\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: e7e4eefd0a3abd4ee1bef270d257eab7\nNONCE: f548f2a04a50a2f0342b2250\nCT: \nAD: \nTAG: 044159b8a18668167fbd28ac500c20fe\nIN: \n\nKEY: 1bd49e553457459aee1b5d83e7c216a2\nNONCE: 2b37cf40ed2685eb2a907cd0\nCT: \nAD: \nTAG: fcb41d17fdb023d4d14f84a387d3ad77\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 4d6486fa68ce5a14b9db7334ab4838cb\nNONCE: afad3f4190d56a1b8eb08e58\nCT: \nAD: \nTAG: 4bda04755b7ce9da020ce7467a5ced8f\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: da5b59d5eb448fd6c08c350df9a82114\nNONCE: 15fb65d9fe2fa27f226312c0\nCT: \nAD: \nTAG: e407fccbb9f00eeb9cef4a520cff957c\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 07d5a7d405b21c64d74cc0988693b784\nNONCE: 2eefd7990ea025925e9ca6f9\nCT: \nAD: \nTAG: 1439522d18c9eb129f1f776590027761\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 48760dec952010140ffc4b4078438b56\nNONCE: 930cc3ff276d7bbb74d187ef\nCT: \nAD: \nTAG: 8673dcb97934d54dc17de0037344737f\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: ed7c50762dc0dc4aa5c8be4cf0a56b88\nNONCE: 50dfb73b5034cffb6709af8f\nCT: \nAD: \nTAG: cb02203ee8eccec446ed1c2cf68fd1c0\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: b5d4b3e80a56adbc780ff02c5da6a7ab\nNONCE: abc5b96c5e872502971dcc55\nCT: \nAD: \nTAG: 4e85677cc16e2b2fb50a2ca9c0ac1b9c\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: eac258e99c55e6ae8ef1da26640613d7\nNONCE: 4e8df20faaf2c8eebe922902\nCT: \nAD: \nTAG: e39aeaebe86aa309a4d062d6274339\nIN: \n\nKEY: 3726cf02fcc6b8639a5497652c94350d\nNONCE: 55fef82cde693ce76efcc193\nCT: \nAD: \nTAG: 3d68111a81ed22d2ef5bccac4fc27f\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: f202299d5fd74f03b12d2119a6c4c038\nNONCE: eec51e7958c3f20a1bb71815\nCT: \nAD: \nTAG: a81886b3fb26e51fca87b267e1e157\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: fd52925f39546b4c55ffb6b20c59898c\nNONCE: f5cf3227444afd905a5f6dba\nCT: \nAD: \nTAG: 1665b0f1a0b456e1664cfd3de08ccd\nIN: \n\nKEY: 39c070eaace1c6e30ab004bfbfa830fd\nNONCE: 6e55ff3bba561f17f338313c\nCT: \nAD: \nTAG: 4e3c2db540790f26a4704e72ef9b4f\nIN: \n\nKEY: 96b12ebb99edca96838f88caaa74abbc\nNONCE: 679feb33d6e35962518a63c1\nCT: \nAD: \nTAG: cbe9d90bb8600bb14e8ca81cde5b2e\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 5b1a1ad45349cb7ec3afb613674c9381\nNONCE: 7ef3542c0ca2415f767eec7c\nCT: \nAD: \nTAG: fbc65cc7f1f4edbb746b47f950e472\nIN: \n\nKEY: b349f8d86e91144c86ed49a100358239\nNONCE: 3e3879e1a4ccf74cc442b9c5\nCT: \nAD: \nTAG: 0d935691c84813b8c1e5ba23ee621f\nIN: \n\nKEY: df4074001cf89ad0b046fceeea5a1ef2\nNONCE: 080fb68a083a219354a7cdcd\nCT: \nAD: \nTAG: eaa44ef28c446610b33dd2fdbdb8a0\nIN: \n\nKEY: 84816510accb68149ee65be220df3d9e\nNONCE: 99c41452f73f3a2dd48f2eaf\nCT: \nAD: \nTAG: 5d5f3c09d2498587c7230dbe5fd497\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 98740d9ac6cee9379253d4e6718a1de5\nNONCE: b723dd15270c767a31636117\nCT: \nAD: \nTAG: 199630b915021b98055f295d08befc\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 79b8cb97ec3e3f7536eeaffc64bdb372\nNONCE: e945122f1e4d960a2e9f9a41\nCT: \nAD: \nTAG: cb9c041f18070030399006d77954cb\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 26e7fb1c3b5448d7ad7b67aadaf360bb\nNONCE: 34bf017f9283236dee171e10\nCT: \nAD: \nTAG: 8756ca5c8aa644a852e5eb2c49bf39\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: d6a515d24ef9099695b179c01bc1f4b1\nNONCE: b54a5bbbf6faae5f33b8c133\nCT: \nAD: \nTAG: 02b1243c92f6b059d00bd672dfb8e5\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 9e9ec40db0a07f24c417d3c63d1b946b\nNONCE: 8605c97fa5d8f94798b845f9\nCT: \nAD: \nTAG: 10ce3c41553e7f5b413d1470ced09b\nIN: \n\nKEY: dc1b3fdce56baf77ddb22246ebb224db\nNONCE: 1394643db950ac42366cda3c\nCT: \nAD: \nTAG: 25bfdb151d21994e90b095230247\nIN: \n\nKEY: c1b668ee720eb90730d7c30e663e941b\nNONCE: b8f27f51092d65697a9740de\nCT: \nAD: \nTAG: d6acce523efdb3e7b28220896827\nIN: \n\nKEY: 7a25451203338a3a046902fc5169a9ac\nNONCE: 070a0b0fb560999c6b778aa5\nCT: \nAD: \nTAG: 51d73876b57dea6ef24e2740fc69\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 8747e8b9058632721cab00c217e24fca\nNONCE: c44c7bbf8b4a48e2b64c4e41\nCT: \nAD: \nTAG: 2f7fccde59ec9e6ad2cbd6ced7c1\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 79d9e7d647dbe9926ba08f078b2c4768\nNONCE: b7fef625e03c6e97bb7988eb\nCT: \nAD: \nTAG: 8508fe578eacef69d8e1468cc905\nIN: \n\nKEY: 84ade1f350d68ceff9fe8a7ef120e7b6\nNONCE: 7617886bff63257768f54173\nCT: \nAD: \nTAG: 461ecfef2f3b746cc3a47c28a43a\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: f7a85574fb8be04e92d219cf3524877b\nNONCE: 9a3febc5d2bd389e0db3863c\nCT: \nAD: \nTAG: 69a1d7bbf81f830534312c641068\nIN: \n\nKEY: 18f42b8a3dca6e80777d5c681d8c4a32\nNONCE: ed425811547c5989ea6d4cb2\nCT: \nAD: \nTAG: 60b5712b52b56facc8758aec40c9\nIN: \n\nKEY: adeb972fe5160e14137c286b6e281163\nNONCE: 38e536e647b83fc429bbcabd\nCT: \nAD: \nTAG: 22e32a3c2637ac48c0deaf06435c\nIN: \n\nKEY: 0686f241ca82a590980929858c789d7a\nNONCE: c5d0737448692684c5ac1c8c\nCT: \nAD: \nTAG: 65eecbd0fe423c6e1608745ab677\nIN: \n\nKEY: f7d57c6e4699d4f242270f41781d39dc\nNONCE: a2842a9dd1b5874cb50e8707\nCT: \nAD: \nTAG: 09999cdc3dd28e818b88a6485c8d\nIN: \n\nKEY: 4df05ee5ee95c69938b4049a2be92504\nNONCE: afdefd136622128fd6c2c534\nCT: \nAD: \nTAG: 3a24e5f166d70627954b55029fc3\nIN: \n\nKEY: 0f4469766ea265d22cba4c7105bc49b0\nNONCE: 25ede41ed4c638195354713a\nCT: \nAD: \nTAG: 6dd4e9cc6ed04976f2cced5804b4\nIN: \n\nKEY: 24c7de158fcb0808b3cfda0e95706e6f\nNONCE: 88eb7f00a129040d05952d17\nCT: \nAD: \nTAG: 2d587fd20457566fed19cca36d2b\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 2610de38144b05876b0d0b34a1c7812e\nNONCE: 6673bf587f9f90df3a1715fd\nCT: \nAD: \nTAG: 7b13fff5e79951ebee51d12f8422\nIN: \n\nKEY: a830c905dad3a8e5aae739d7ab60a5dc\nNONCE: 54633aa565952e80fb0b9869\nCT: \nAD: \nTAG: 482d9381230cd015b2a16976b6\nIN: \n\nKEY: eb7ae9788a5dc09a7812e389c67138ea\nNONCE: 2ecd19b70ffe87cad58a0029\nCT: \nAD: \nTAG: c1ebf4e3594a722bab9f61e084\nIN: \n\nKEY: 9c247b33ffb3fe486f8f1c06b3db6563\nNONCE: 978769bc16a7dd3d90ab9d76\nCT: \nAD: \nTAG: 09acccba7e7be6b5687b478327\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 23281eec6b12fe1184e6c113788915b8\nNONCE: 78538fb690491381daa41ef5\nCT: \nAD: \nTAG: 80d9c8d781035be9f68de209ad\nIN: \n\nKEY: 443657744df4b5d5de80f27efe244b27\nNONCE: a637b48e67d1cf8f3ddf6d7c\nCT: \nAD: \nTAG: bf84664af0260e0b5b352e5cd9\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: b93ae43e8eb3e94b67b09b833e376327\nNONCE: 14ef4f357845d34ce06b170a\nCT: \nAD: \nTAG: 22c987ec9c91ce7714fbb794d8\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 6eff3644c83c75c0678cf4f6713561f7\nNONCE: e7bf04fab5909668065d2b43\nCT: \nAD: \nTAG: 2fab50a07c1a50ba8e4381dad9\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 9613b9b4c70e5ab130534309059e99b7\nNONCE: 40414f80b586ecfb22860442\nCT: \nAD: \nTAG: 9cc1a298d9d57b6d4bcdf3e5b5\nIN: \n\nKEY: 400fcee6ea1b8b1fccffdbccef08a5e2\nNONCE: dc16236581a6da126550b08a\nCT: \nAD: \nTAG: 6ceeca2188cf4da42ed3f248df\nIN: \n\nKEY: d27c84466faf1a45a2435eb9293478e2\nNONCE: cdd7e1bdf60bd12885dc8fdc\nCT: \nAD: \nTAG: 5397381a8817ef557ac6c57a22\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 8ed40d2b24f52dbf2fa8486c8fde62e9\nNONCE: 837f36e0f6fb34d08e8df9f9\nCT: \nAD: \nTAG: e6c787dfeae37a34dc49d52caa\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 34395d007dac4a4b83c943de4406d821\nNONCE: 4bbfe5f3276461e594b1fd2e\nCT: \nAD: \nTAG: 30daec9c07fa2e11a1acc28baa\nIN: \n\nKEY: 5a8321edf8d532d51299ecbaffc56cbc\nNONCE: c512db4e75e52950f89f458e\nCT: \nAD: \nTAG: 88fddfe667c3519963ebb6d0b7\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: d9ed395776deb772a218db03abbd8606\nNONCE: 600075a6d85d86d6a3f6624a\nCT: \nAD: \nTAG: 7f486053d65559dca0a3761e00\nIN: \n\nKEY: 16b5d6282fa184deeb837c706f191079\nNONCE: ea09b0a8f65f3ac16d954c9a\nCT: \nAD: \nTAG: 6defe4a6354e1383111d96fcb3\nIN: \n\nKEY: 4c5a02440befba5820539ccf74b40355\nNONCE: 3852fd7da7a375a2a2227e9c\nCT: \nAD: \nTAG: 9f45b723d14708dad1edd831\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: d4e885208426247f27428ede3b318e68\nNONCE: 5513f9ec35e2e72be3470f57\nCT: \nAD: \nTAG: 48d716f0f94ac7fbc291932e\nIN: \n\nKEY: 25954f34970b4fc834fff", "1552bea4896\nNONCE: b66b254e66240f0e8e262f01\nCT: \nAD: \nTAG: 5b5569b200c06bd24382ec73\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 303b5662bcf71ca82e07e10248c17629\nNONCE: 45f9c33e03f84fa88209858d\nCT: \nAD: \nTAG: e8b99255a0e953d57361db29\nIN: \n\nKEY: 8394912058620e935335f7627b18b1b3\nNONCE: 772149bd434c0b27ac45e672\nCT: \nAD: \nTAG: c7a43e2ee7e161a52583ad83\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 2ca00481ac56aac664b28f29781a7e82\nNONCE: 14574966f3b12bc0502a3a55\nCT: \nAD: \nTAG: 938628eba4b72f79fd7b7396\nIN: \n\nKEY: 8ed5a13a5046d10379c75eaa3fd17bb2\nNONCE: 2b111cc8c84ff7f1c262ec1c\nCT: \nAD: \nTAG: 82e8bed016ae384ae75ac16c\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 7041298fe906405905e8b4de1de3c0f0\nNONCE: e4fbdc72d00a331bfa326d59\nCT: \nAD: \nTAG: 17292560680114395372691a\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: faeeee9bbaff25e221121d1122807009\nNONCE: e9e872d525c2315f49e2d94f\nCT: \nAD: \nTAG: 98146c72b9365016ff33b7e2\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: df0a1dd37c0144e0bcff6e7deed857f0\nNONCE: eba039eaf7f2f48f761abc9c\nCT: \nAD: \nTAG: 973e0ff877b085ad8083d6c9\nIN: \n\nKEY: 27f19b4b2d23285d92480ca2dc3799dc\nNONCE: 335b2f88f2fc4b6188867558\nCT: \nAD: \nTAG: 8b1c43ade7a3c5af9a639e02\nIN: \n\nKEY: 6edf19775190943d196148165087ebe1\nNONCE: c2fcf9919d85407086c2be20\nCT: \nAD: \nTAG: dda2c0cfe5d922a3cfb15ab8\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 9acca9099afc2ec75441587bdd96a469\nNONCE: ca178e969478e36621db60df\nCT: \nAD: \nTAG: 86a70322e57fd6cca64a6aa6\nIN: \n\nKEY: d0718716395e03f7fde7fb40f497f9cf\nNONCE: dd20e6b684a0f53d3785df71\nCT: \nAD: \nTAG: 70cfeb7a503a1869fa0dc0ee\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 5fcbf7953da6781ae96852885ae01488\nNONCE: 34ca7d2a0aaf09fcb8a5b39a\nCT: \nAD: \nTAG: 142828e093e80e346008c2b6\nIN: \n\nKEY: a958dea10183955fb62b5cf0d6560efd\nNONCE: 9c6fd7fcb79ab149a2ef8416\nCT: \nAD: \nTAG: 0fa19df0ef498402\nIN: \n\nKEY: 2bd8c68da36fc74a66e8bc9c58c7b3d9\nNONCE: 0a0c9cee4e712ce526271644\nCT: \nAD: \nTAG: f94a128bb6c31902\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 5f8441de9b68a525bd77a9f8db9ac1ec\nNONCE: 7b704888d905e11b3e8f6751\nCT: \nAD: \nTAG: 1920f39509e495ec\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 47a49ee87638b74b48dfc42b9892ff93\nNONCE: 927f32a1fdeed0da6c80c4c1\nCT: \nAD: \nTAG: 568ca20233ab20e1\nIN: \n\nKEY: 871616dda80c31ef677f770774f41d27\nNONCE: 94f9c4a7f7d69cfef745c085\nCT: \nAD: \nTAG: f779d3356f60d96c\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: e6a7ce1c109162cc24552b2de8355bd8\nNONCE: b140aa5f0f2312cf7b8696c1\nCT: \nAD: \nTAG: ea5f6c5b9224afcc\nIN: \n\nKEY: a90b62bfba34ca0cfb4d5ccd52ff7369\nNONCE: 5fd3cf7a9a1e2a15ad6a58e2\nCT: \nAD: \nTAG: 6f3dd881088a0b29\nIN: \n\nKEY: 6280067b5626d5d6bf35ab1c903c1d75\nNONCE: 99523c6f792e03276c44ba7a\nCT: \nAD: \nTAG: 3a68ccdb69008d9d\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: f40b500c70209092efa29a2a7e96ca64\nNONCE: 86d1047059ee2986bd96daf7\nCT: \nAD: \nTAG: c594ea04f674de69\nIN: \n\nKEY: 6cb7829e2295e60036bb967d06116601\nNONCE: 4dfb5fb2ea41fae7653e1438\nCT: \nAD: \nTAG: bb9b39fe673ffd18\nIN: \n\nKEY: 05cd9b0de53c072321ae4a1cdc2cafc3\nNONCE: c869859421df985bbc8c9c62\nCT: \nAD: \nTAG: 0f8ad033a0ae3cb2\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: fd025400ab17f5e35c3cae3aeed4ebc7\nNONCE: 6c3b7e178df39504d3ca2e31\nCT: \nAD: \nTAG: 5fd986d21ac0bb49\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: c7678eeb06cd24484b81a469c024c3d6\nNONCE: a1fea7d9afd9493a83b5d531\nCT: \nAD: \nTAG: 8c5828f475c4f902\nIN: \n\nKEY: 056c731555048f5831a4c7ba57f9022b\nNONCE: a8a13e93a33807811ed327f6\nCT: \nAD: \nTAG: c2d9d4fb79d675f3\nIN: \n\nKEY: c0395a8391049d30f7e0fa7afd1b0ec4\nNONCE: 381894100b3d786bfca314b7\nCT: \nAD: \nTAG: 2fef77ef639adc00\nIN: \n\nKEY: d1cb603b886e9deb62cbf5182caaeb35\nNONCE: cd23f90cfd17727ea0975ff2\nCT: \nAD: \nTAG: e319af65\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: e626638a113c617077f5c4b2284921c5\nNONCE: c4a8864b4c3385a78cb8759f\nCT: \nAD: \nTAG: 039d51f8\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 8f74a8b922fcf1a8eed7320df9f03fd6\nNONCE: 925ec6414e777062ac839f06\nCT: \nAD: \nTAG: bb0dc912\nIN: \n\nKEY: f59152b1d2991e7dfbd6b9cf91d2a9f1\nNONCE: 776f95b088803b537dfbe941\nCT: \nAD: \nTAG: 9163e80b\nIN: \n\nKEY: 72a9159c9f8f4953b6ab4fbad02c019a\nNONCE: 7ca4d31dba07c89b3d5cf059\nCT: \nAD: \nTAG: ee28643d\nIN: \n\nKEY: 6ca652634faee86176a8bbff37f5234c\nNONCE: 77bbe192e81594223b8869cb\nCT: \nAD: \nTAG: d054e86e\nIN: \n\nKEY: d06a1cebb4b1cf8b2f48126bffd4530b\nNONCE: ac7c4c669d5d7749d114448a\nCT: \nAD: \nTAG: c606dbcb\nIN: \n\nKEY: 42797f87d381cbbec3dddb8e7ee1b30e\nNONCE: c4be94c9b2f76132875374d0\nCT: \nAD: \nTAG: 40156799\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: accec0302ba0f854c2c5a6faf08f4972\nNONCE: 2722ce4848acc2b4cc9aafa2\nCT: \nAD: \nTAG: d90c055f\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 117ecaafb5c844ceb9e505f8a33bfa79\nNONCE: cb95b76c9dbf4b6ee4fe6a46\nCT: \nAD: \nTAG: 641e2aa6\nIN: \n\nKEY: 453e89f0646d2532e3d0d019a7d7e302\nNONCE: 14732cb98fb4ad26c0ee9e1b\nCT: \nAD: \nTAG: 232f4035\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 121143f3835cb0d1f88f8f53a7abdb11\nNONCE: 601c15958cf77c0ea1c3862e\nCT: \nAD: \nTAG: 43c61d3d\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: c5d7666d37ced3e4c2b9b738d4b38557\nNONCE: 012fa72716b777e0bc248f2d\nCT: \nAD: \nTAG: f4208947\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 5d06c11668c4aa9899496b5d7f229b83\nNONCE: 0ca7102fff9fe056a5afa9f8\nCT: \nAD: \nTAG: d7a7af6d\nIN: \n\nKEY: b63a6afbc9906d23f1e9c0f487b6d919\nNONCE: 2b091d6b35e4f9ba5f9cfdb8\nCT: \nAD: \nTAG: d1eafd50\nIN: \n\nKEY: d1f6af919cde85661208bdce0c27cb22\nNONCE: 898c6929b435017bf031c3c5\nCT: \nAD: 7c5faa40e636bbc91107e68010c92b9f\nTAG: ae45f11777540a2caeb128be8092468a\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 2370e320d4344208e0ff5683f243b213\nNONCE: 04dbb82f044d30831c441228\nCT: \nAD: d43a8e5089eea0d026c03a85178b27da\nTAG: 2a049c049d25aa95969b451d93c31c6e\nIN: \n\nKEY: bc3ab28150fd4cb731d5f48ed2784173\nNONCE: 40408445c203c647312b8f01\nCT: \nAD: 53d2fc19963fc99a36a524e39cb68aa8\nTAG: 3f04dbd2f49909f73044175041fd9eff\nIN: \n\nKEY: 34537f1a0ba093aefedefe8b4b6b34e7\nNONCE: 9c5fc88eb388ef6776aa2182\nCT: \nAD: 4dd377d089c617dda1ecd42341d1878b\nTAG: c0fccde30ba354e23c05b5371c40d088\nIN: \n\nKEY: 54c3f935982de19de88d6384f9493389\nNONCE: 3d7eec1cdf3cd419511793ab\nCT: \nAD: 2ded8cbc69fa57678aadc7477f2a2173\nTAG: 74107fc192c94a7d85d0f9205f8b02c9\nIN: \n\nKEY: 790f8945b127a1a418d6d58b4378e0dc\nNONCE: f5694d77b816f2cef0ac80fc\nCT: \nAD: e5c71b82a60c97f050511a3b9a09e450\nTAG: 4c75effb688dccd0affe92c0e0391d64\nIN: \n\nKEY: f6ed6f0afea7e99ab320b525107715c9\nNONCE: 351e7dc999b9de77ce61b2f7\nCT: \nAD: c9101b64e0b6abc0e46828aec14d29cc\nTAG: 4f2ec2e1ab001443a60722671a9c9656\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 2eccf9cda0e4e70f273ee8251120c768\nNONCE: 1d869f4b8497bc19d948cea6\nCT: \nAD: 1d86a6a21f23ee56ad0fa6c1de525906\nTAG: 37ffc390298c3ea8cceb382f394c2fc2\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: d61767f07b959e94f73c64cb5a5520b3\nNONCE: ecfa850395f8cf9348f1324f\nCT: \nAD: c3571bf1700b114bbf0c6bb2278d4d88\nTAG: 1065f86bc9e22197880ea87ac326a17f\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 9421cac15ce7d49ec7c088f7524a1ff5\nNONCE: b3d395bca123b265c05577cc\nCT: \nAD: eb6e06071dae4360e8347bfb72d9c188\nTAG: 1f04c228c7efc71f1706d10fd819f35e\nIN: \n\nKEY: 8580395a5d777c1690af79f6068e291b\nNONCE: cad1a0f2b76f064ca56be3cf\nCT: \nAD: 174388edf0b7f86fe634cb942c13754b\nTAG: 0067b03f2e0efc72cb08792fbe3b0267\nIN: \n\nKEY: 0c21da9c8b84d371fde59e6d1752113e\nNONCE: f8c13e58aaa329427438db8b\nCT: \nAD: b8b197789cfd085b09a47760c28c7e8a\nTAG: f8613cc5dcb4cc5c78f1f7c2d8084ec6\nIN: \n\nKEY: 162fc51e46e771222a04842f5546db8c\nNONCE: 13557e09e738eb895eca2d8d\nCT: \nAD: 691e71952c31a6b49b785f627c03e948\nTAG: 4f7ea723b1abd74e53fa356809275ca4\nIN: \n\nKEY: c46d9562d954801b8e99e4e57cbcc0ec\nNONCE: 30414c934b14e0bb0110ae44\nCT: \nAD: 41ae6a63855c1944446491e80670bf68\nTAG: 3e2366a2cf5632c1ecfde33f1f5f6d18\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 2904df4dafcc6bbb8375baf6a7eede80\nNONCE: 6aae8ff4b1609f4026b47259\nCT: \nAD: c4afa7b21e5f41b892be52365a18584e\nTAG: e1810fe340207fa83815182bbad62bde\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: a663a6aeac790c61e07e5f8ab843439d\nNONCE: e287d287051c82e2253e33f7\nCT: \nAD: d211a58e7d4884a26669b335c0af8d5c\nTAG: cdf52e39cced5c04ddaec8227826da\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 6dfa1a07c14f978020ace450ad663d18\nNONCE: 34edfa462a14c6969a680ec1\nCT: \nAD: 2a35c7f5f8578e919a581c60500c04f6\nTAG: 751f3098d59cf4ea1d2fb0853bde1c\nIN: \n\nKEY: 5f20eb8f6f579ec235b3403831fd58b1\nNONCE: b989444625a730876cc1a439\nCT: \nAD: 5881865ceb44bf171a7ba87d63f1fdcb\nTAG: 2d9c926c872c04bd0915f3e4ffccc5\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: d1e376ecfa46321a3a4a187fc1524789\nNONCE: 7387c1af03adfffc53248ac8\nCT: \nAD: e9d8269ecf857dd6afd85fa90260a565\nTAG: 6a1da57b70e9c4fd006e4a669008d5\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: f20681f4b61e72f8a6517e40b5860e0a\nNONCE: df80104736d5acba2348e5be\nCT: \nAD: e4247e85dafdabff95b6d8c27e8979a2\n", "TAG: 746ee686eddfac0785341bb616f90e\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 0f6ee618d0b66fa269398d5d3279931b\nNONCE: 7ac7c776a9a77aa8f7fc653b\nCT: \nAD: 2774b19121188965922c4a702c45fcfb\nTAG: 58d810fd408978d0f5eb33f06aa861\nIN: \n\nKEY: 9405240a2e0fbef7ac89f66f9188472f\nNONCE: 60718e8fb2866d27ddff8a78\nCT: \nAD: e86f19201889740743a9b95091283ab5\nTAG: 2984f343aff7e0ad84aa7134f77699\nIN: \n\nKEY: 9a5f24a325ac049169f7073b9583fa79\nNONCE: bf364dee6ac48e711aa2af2e\nCT: \nAD: 131339c8b9c785350efee37c0c37b6e5\nTAG: 69b1815c978cccdd146c51ad164429\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 2b51c516898ded4dfedf1839eb09f059\nNONCE: 8080260add3b5d2182b3574a\nCT: \nAD: 303f4aa89c1ce37ff8b36940c65586e6\nTAG: 3750db28f9a09493ab60c9cb426e0b\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 084877d61fd67442461c741afc4cf5f8\nNONCE: 798bce4a6b8663919dc922e0\nCT: \nAD: 056221633de809d2f48ff41c2d75d851\nTAG: a6c40f9765113e9dea6fd2f8bae96b\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: fe9cb0d7753d80686621fcf28705a39a\nNONCE: bd71586f2509814283ca1ec8\nCT: \nAD: 8676d9c9952340c31c9eb9e0d75c68d4\nTAG: d55ab183b959d697fb9145d37a7b27\nIN: \n\nKEY: 0ddee4104e896aae2849e8c4c5b97da4\nNONCE: 03d4bf8a036f974f92c77ed3\nCT: \nAD: 742838addd4a519d901736aa0a08d769\nTAG: cfb89c9ad51c348d65f7ce7cc4b72a\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: a22e58bd9a09eddaa630d499dd6d410c\nNONCE: ea9a7f75676dcc2f79b9147b\nCT: \nAD: 0a730acd7b5805ca0fbfdd5bef7690c5\nTAG: f3c63684015db6cc958bfb3ac84222\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 8e5f16c84b0dd5357ad66f0540f1bf87\nNONCE: 6231ff08e050b7f7c5204842\nCT: \nAD: ab622472635a3ebae68aaaf8153df35a\nTAG: 1df90759291bfebd7cb239e75746ee\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 31c987a595a80a4c91de68805f66e5b9\nNONCE: 67edf7afbc125ecf99a804a2\nCT: \nAD: 8648a3452aaa3ff68d488de1abecef41\nTAG: 1c9199d9465ba5c9314911b4ad2057\nIN: \n\nKEY: 2d4fe4c17b1e86f0316846e642ff3a4d\nNONCE: a8b283438ad968e17fb5a755\nCT: \nAD: d0fdf6e1543d2b0f62c96c6e9c09c977\nTAG: 80149613bc962e4735acf317a3a4\nIN: \n\nKEY: aebb04a17265c4720d5a377c38efc460\nNONCE: b607be60340e557013e7adce\nCT: \nAD: 3cff96ceffa4c9a2193beeca9444e474\nTAG: a207fb626fb731c3234bad3573e8\nIN: \n\nKEY: 0807bf020df6ce3aba407e4d4f76ef6e\nNONCE: de63592624932a0805bce0a2\nCT: \nAD: 7c85c60c15301bfff6f2a4a3038b3c9f\nTAG: 5c83dce13c5bed35d8941f16627a\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: efaa4666776ff4c6a87f563dd2e2794e\nNONCE: 9eb99f9741d9de6d3cbc9703\nCT: \nAD: 3addaaf513eb42606a24311ca7058846\nTAG: df02cfaace61423d45f64cec0e78\nIN: \n\nKEY: cf8d3e7cd62754bea5092409db3dc6c4\nNONCE: 5af3d5f1d144de8aca4bbda3\nCT: \nAD: 907083ee93cbf0b9b8421b8083bfcde8\nTAG: f19ebbc361dff17249251c9a7f5c\nIN: \n\nKEY: b894e7483c9f367b41af103f2860a6c8\nNONCE: 42d71d79e22740e1d1871ab5\nCT: \nAD: 8f78015bb82fbe032a6595e679198b47\nTAG: 96ce7b7f620b697f074f109c4488\nIN: \n\nKEY: 8299ee6ebdf1ea6e2561933b406de656\nNONCE: 98aade4ae4cda264b364987b\nCT: \nAD: 29a0fdb89ec5c5f969932e0aa0c170a8\nTAG: 60e0a7c2384f1d208abcfd4e4b3d\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 29ac8dc4b69fb48289ceecd435ce3066\nNONCE: 2ecc8b95fae59fe59402bae5\nCT: \nAD: ec279eebc147897ea067a105c7e418c9\nTAG: d6f6127ec39852f18a7941948e41\nIN: \n\nKEY: 065bcae64ef1a982237e5977e73382ae\nNONCE: 164fed8cbe6d6cb0bbb6d608\nCT: \nAD: ed7da5abf307f9ceb18b630de9291b4a\nTAG: ac22e57ebf8ff258ffc77fa4bbb5\nIN: \n\nKEY: 1ad71eb24ea2a8055533fc1ec1b51b98\nNONCE: b27b640c3919a21da93e42c5\nCT: \nAD: 882acc108ee77afc6754089e864f0080\nTAG: dc36f18c131004e815c228a3fe9c\nIN: \n\nKEY: 54f06e8769711b40076d3cfc0239c324\nNONCE: d607633bd5336ce01c98f458\nCT: \nAD: e8f2f9edf850ade8e7cb55fba052e27a\nTAG: ff32f6d2418b2e646288bb105dcf\nIN: \n\nKEY: 8a473ce70b7694cb36efe5f5f268f1c4\nNONCE: 8236c764c7614dedabdd2dc0\nCT: \nAD: 4ea00a00b2bde6f183366b1ce8c33400\nTAG: 158bba897c1ab0cbce33355947fb\nIN: \n\nKEY: 4b42945e4361de3f6623b01872ff5f95\nNONCE: 5d7ec8f90b140049a8ef85f6\nCT: \nAD: 50feab5dce291d771df81b0124da29ed\nTAG: 90590e115ba688b50a66d59eb8b2\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: f2bad7d4f033b19c3b918da3021b3edb\nNONCE: 3825afbecc01cc66caddd402\nCT: \nAD: 49a6738279742410a0ce63276306c288\nTAG: 95a5980947205fe2225dbd39d098\nIN: \n\nKEY: 2c113bdd16d5f827bb84d9a9f1e2ced8\nNONCE: 97ce5737ca5305cebc3dbd0f\nCT: \nAD: 6833844c135173f2641190a5c81e2d38\nTAG: 9576596016c502bfb51adf861405\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 1dfee02fd2e411d8a95218059717e65e\nNONCE: 534f2db1833e2b95d17f4749\nCT: \nAD: 969f2d219986f9e3305b8be533ca164a\nTAG: 750e26041514a140374e857b19\nIN: \n\nKEY: 80a351296fdf716a59ce9cd3f3db1378\nNONCE: d57877a78eaea750131e1f62\nCT: \nAD: 89d5b612686f10f4523ad8721abb4a17\nTAG: 1445fe02c7eacc1968b5c2f436\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 44cdf8d44d4a85d4c718b6dfb3565f1f\nNONCE: 5fe0e438db113e46f73f0227\nCT: \nAD: 76fbc7e5d64be21cbb341b32ea61d8c6\nTAG: 98aaad6c40345751803926295d\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 5e86779506b46f0eabc6181b5a313222\nNONCE: ad02946f9f4e148462d14eea\nCT: \nAD: 89d777550c1c2148dbef73d7179d2bef\nTAG: dbfdb23c13eec51652128a223e\nIN: \n\nKEY: 0ea30aaa137345525472dbaa01918c86\nNONCE: 5ab6b70b7ede3b3fb08fcc39\nCT: \nAD: 64c3471c9ee1da88220ebae0a48cf98f\nTAG: cd171585c15995cedfcd148582\nIN: \n\nKEY: b0589030b2496a3b7ef823e2cc39bfd5\nNONCE: 6b9d5bc27d46fcdc6fbc39a9\nCT: \nAD: 7639433669bd4c1a1f3b1ac04fbf9cd8\nTAG: 83328a0e57afdf647e59a2d2c1\nIN: \n\nKEY: 81b27f066e5508f361cb98b3f378199c\nNONCE: 9ead7424a30cdc069b8668ed\nCT: \nAD: c19b80309e4aa34569f3058d13372b94\nTAG: a1127f3719147804e4eaeed8ca\nIN: \n\nKEY: 61a35d01df1b36fdbce2a6fc52b28305\nNONCE: 9d1708a0221d1d9bf3354a79\nCT: \nAD: 5ed9b0cd7a5e4072cce8f782a5438d1f\nTAG: 954fd6412d4b5f93d681c27baa\nIN: \n\nKEY: 15bbdcee8d262dfcf68f451e24bf26ca\nNONCE: c33f1f1eb456e6fb6d2277d3\nCT: \nAD: a3562c2071373e21cf346fee25cec4f2\nTAG: 1ce20f2935f8b8433a6820c228\nIN: \n\nKEY: eeda4ca996042630c017972b3bdaf09a\nNONCE: 0e02cd8bb87275df5287cee9\nCT: \nAD: 4ff3c0e013efca89e774b5794a8ba170\nTAG: 3b0e6daa01ad734c2eca681bf2\nIN: \n\nKEY: 75798e2e0ee570b06d4c47786336a099\nNONCE: e17c46acd0b0bbb15a5f9349\nCT: \nAD: e3779798212e7e9b4b2f387fbbbd95fe\nTAG: 1ab3d2c1cd55a89278224fc037\nIN: \n\nKEY: af2b060a94b20c9960f94fced963b2c5\nNONCE: dc8defbb5e45227e8576f45e\nCT: \nAD: 122f529fef4445f11a34111e10fd8b5d\nTAG: bb862654b76bd729ced4b4e9ad\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: e1d07f1bc8f4a4b145badb96c85a82a6\nNONCE: 685e9636a2915adfc867889d\nCT: \nAD: 80c001fbf00b2bfd38ce903f0cd72db4\nTAG: ac9191dbb057b670dc76a194c2\nIN: \n\nKEY: ec4b3c2e077de7c2d62e28e3d05fe6c4\nNONCE: 704106b91d3a8f4dbee3ddbf\nCT: \nAD: f27dc1430cb30f8018cfc670eec9bb71\nTAG: d28d19fbedf2439140b0573083\nIN: \n\nKEY: 0dbbad4a54122500bb584787bfe94a86\nNONCE: dcad55f03d29103503858ff9\nCT: \nAD: 3c26ce754334b7fcc4576f4014349134\nTAG: 3251f275a3be44de87c5ff0544\nIN: \n\nKEY: d36cd8e8dd709b68433b4cef15efa4b8\nNONCE: dc859fa01cf3992fd5e74ba3\nCT: \nAD: 5983b73431118f294a4de08a4fbfbcc3\nTAG: 109412f2cd3dee2e75d9d90d\nIN: \n\nKEY: aa2717236879b0bfc29661187c0d2420\nNONCE: 1264dcda92ded29c03d846be\nCT: \nAD: 6b12dfb961f2e4d0ca2cea60666003af\nTAG: d69227a40670b13097d6f583\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 308a70f727df2e3c0f9da9f6607710b6\nNONCE: 1a790ff86fc2e6a428c9dd89\nCT: \nAD: fa18646779fa5a8ce9e271de0872f76d\nTAG: 68ffa9b8b2cc804935136712\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: fb01d2721acc1c4a832232bb7ec59163\nNONCE: 6cd3cf1bc45c6f26b87b95a3\nCT: \nAD: 3fde68f37caf7e0f38c0281e3fb5e9a1\nTAG: f9da75272d67a6e180764a18\nIN: \n\nKEY: 8478e6653acf07ebb766bc941953aa23\nNONCE: 143b6fe40260052ddfc4537b\nCT: \nAD: 12f49ae610cea95e776f27f0ea433dc6\nTAG: 60aa4aefb53b800e1efd64bf\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: f56ab97fbd0a2d8c6725f5a5ad117a2c\nNONCE: 266a436d9d05ee331a3ec858\nCT: \nAD: f31a01cd934b44208e9abe08c21f8be7\nTAG: b07258864aa6083fc15899e7\nIN: \n\nKEY: ba8a42bcc9d0bcbc9129d536d2364ebd\nNONCE: 6fc5c4ddb461acee4e3c2271\nCT: \nAD: 6bbb55b97c9cc3cfffa4f450b0debfee\nTAG: 3696c121fbb1def560c14182\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 827e4e3e9a4de530ae43510b94a55d54\nNONCE: d6c7fba9a73e76f6d1b015c6\nCT: \nAD: 3beff1d14cd6021b709d399d02015b05\nTAG: 2d58236b7e8113c821ddb4a0\nIN: \n\nKEY: 608ab3f94dd16b51c9afe4ba8dbdf852\nNONCE: a7b32bc6c976e8bd839f9af9\nCT: \nAD: eb212ef0a3a307024978a2c41a41d8a5\nTAG: 7aed47ba76b07717558bb87b\nIN: \n\nKEY: ef50e9ca5c53c2ddf49ccbd3c41a5a56\nNONCE: 817bee5ddedd26601cdb7cbc\nCT: \nAD: 75e26952eeaae53d83f77a3a502d3ca3\nTAG: 37245789deaada2d0dc5f2d4\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: a9811b598adf0bbc34395b43829e86f6\nNONCE: c0def2f064789ad5d8f63799\nCT: \nAD: a735aab3b327ca3f575a09157b77a1c7\nTAG: 9f457e8e4757dae5cbd395bc\nIN: \n\nKEY: 3d906fa69252e00551b4a6347fe367ac\nNONCE: 067ea32f23e29d116fb0512b\nCT: \nAD: 4bf2a2096e27e75448cde7744b0209b", @@ -1513,9 +1593,9 @@ static const char *kData22[] = { "45795cf2a4ea1f33cbb4e1d769231b72a590ce3dc408ec7386a265d65102833edd8dd43b718e9ccf2655ccab0a6022dd81f6697544d9e8bd69c5e6511879686dc2d936cf9e4fb23ef1273fb61eb7bd62ab2b8c49fb916368d7f4a1fa081fd9b3633c1e4cf\nIN: 15ecba6f0f8a42236d020573bbc866d29a86dbff689694e0ba3087bcaade496eacf110d903cd99b81b808c6ecb6f36cb990b63\nAD: 6e848ab8f7f4971a52cbcd42eca24d33a8ba4a43a473444fe2a5f69cac5209779939349d7a73e65db30ff0adbdbf7f99db3f4a810764e4edde1a95b6138e08c7c939549d83aecd46a84a9b897b6896ab07a6a9de663376d6197d\nCT: 9c7d13e78bacc849c76072c527abba06046075fae2a3d13079f0f66635a521e0e1e822e05e009ce3aa788052f5600c00e71031\nTAG: cf632f67bc5092e0\n\nKEY: b4166038b75dec191fc0ddf8375ff4c7\nNONCE: 7f4ab1196310affe7d2d3c165f48c4a5652dc76e0baa1497727a87c49b445d350e810e8b73f9d53590fcc041a863971bf70c715f90bc594a5b98c521b0a91907b0058583f48aa10aba51c45937dfad510b5772e4875186954a575e906e48efa26bb1cf6201fec8f13a3a477da68fb6288b3573095d7027c1fea292d0ba2f2aa0\nIN: e4f6678ac787f6b6ea1c2f04ebae8afdb8941f1ca363f5654d4822358d6041af03979e269f070ba9f03e814114bedaea88a203\nAD: b9bf722d2eae013fa11c49f3475514f9592556abfc334cf9dfba3cfe37d0de7d7c996eb6712facb376651178585d4a60844f52e2590837c35acf169817b692bfae8d08ef374bba4bb0301005b4aae16c54f848b8226a312ad6b3\nCT: b16224062ade5afd4796e658b3beef0d13683e494aa0d745d930378d4b8bd0465f4e58b8ec9c85e97779a461a426e337abe399\nTAG: 3fc244c1caca2757\n\nKEY: d16e4e7ec43a42bd7156f259b369ce93\nNONCE: 34834e81b1ed4ea895cc76788c3adb48c2884b213a46f24a2012a5d06dd6a7175b61d9d4ffdc0e00c54163280b2ed247be68788866094b5b8846e0da034940f800cf3dd0ccd44163a085cb0194461fbde7d621e029fe3effbdde9d856d70fa3398ace4216a94d530b71408bdb9d3036ec81a8a21df120965629c13b796d7d9a7\nIN: 3c6791d91654bf4069f7ccce712fcfb82dac85f2669b80dae7d23f94ebcb280ef621ed8c5cc77fc582dc4f8240061b5e269a1a\nAD: 4bfeb3935a388f15b7418182f8b37c61487865f519c5e7dfbfa4c3b74e60398d82d449ed418ee301895bcd8ddf5a9d50b74037af9a261bad3633600ba7dc79f06a5f09f350ad43c90c27f744779e82f850e23fd79136adafb555\nCT: aa546ace6bd092399bdefe0ab0985f9c380006117be38648e3a0da80cf4d32ece831c06e532b9324fd1df14a6acf8d75275fc3\nTAG: 7068e4ca6ac26998\n\nKEY: c4a8b2c99b62a2a64f8086aab1fd6c43\nNONCE: 2e6d6f434c72c71560f05b55fb7c07e310260aec112aab0e64e8f87fe738fc1b23dea859bbefbe9545fb575fc0a6d45fef42af09dccc9fde0a52ee84afe8d1339641ee5e00239e42b310d9acfd428c2075d93112bcf9ebe728707966ec29b1f72e87cccf75a2255875bf78abf0cd6534520625ac7d0df18bd6a1fd613f894198\nIN: a77ccd123128b46d9144fc5a90ec64bce6b4b5efc5646c8d4961eebe253235baeb236d8af9d1d81ad2bd4c86db78c31c1c8c90\nAD: 23463bb91dcd4716b7364e71a2ebe5e1aaef3cba8ea4214dbd6a987c9850af86518747c4869e00ce244f418ce19f0113705999aac35ad0bbda719573d69101046b34df89774d0093684ad7ec66eb509d8e7c25f552956c488095\nCT: a3632572e59a7c558d5e1ee9f5c059a5e118964c14e3d4e953b5c15d105db76bf970ed17bcccd84162feecbb3fc93d7015143a\nTAG: 27ccd8eae70c6ec9\n\nKEY: 2633d1781ce54f74ac609a5b5209a01f\nNONCE: 7d0e90b7e9f36f760d2dcbd66f352df45f3917afdbe1d0a89cc44be0bd85cf8bf75edbdd33f1d16dad02824d81389210b0f146f3df63f9232d7035eb9e8297a09474985b3e038a5fa6840155d8848fc7c53061ba0f442b84408660a997176ca5bf3473103fd3c9a1de2580b9e539af872259ecae925a8ef50f5a176a069b1fb8\nIN: ae695828625b264e0b13d3c9a539f2cf306a7501cdd35b817b699b2d7c25cf20d2dceec3fa883019db807272fddfdca8e7f672\nAD: 584c3cad3035d1427d6f5f1b261e97a5ea7d97c0b88cedf3b1aa5e21e5916805a63964eab4449d8806e7af60618465cf39f82769b7528bba9bb9c04992cd7b9e26efe9be38e1bfeeb41678c52d5ba3508fd7a2b1e8478505bfde\nCT: fbc32a56885100a36c276ff368db9236906021a8cc7500f2b3e78a6ca01546827073ff1103145f139f4d116eb47b84e33c7160\nTAG: 49589b3a\n\nKEY: 62dc8e1a98863c7de64f30b74c01d530\nNONCE: e9f658589f973895510cb34eef99b0cf34fc311c20c21464e07c4d6d34a15fcad3ea9ef51ef05513fb700cbb92aeef35e4cdda47b2c06c1104e987afa1cd6f827e7bc5a8db6d0657345945c068cabfd6e6b57533c929fe5804e121809b8b43d050a211fbee319879b1ba4cc2768df3a92014839086a377663a1d1967d7c602e9\nIN: f2c54a35286a225389e853e51f3f64b6980a79262e5545856c053d558d87d7b739eb75f27587efe219eb82e9a176fa14419dbe\nAD: 5d78b486c29131866569768d5eedb61afc48de7d1a223d0cccc647cf35408bb932293f3bc1b51a504e13c27548d083c8e8a45d4e9d4dc923c3c2bde38d6cdeaed2929b67e371356f74f635b3b1183ee0db71476f2024e1f5e13c\nCT: fe0c3ae08418ef91b478360942a84a58f8d93df7fe5bde138f59cc23432f04b9637841ccf7a5d539a36f621a7d17e026d4cc2c\nTAG: e413041a\n\nKEY: 9cb4b060870a2563d9f38b7c84f45ad0\nNONCE: 6f268f644af70b43d71c881009a29d966d4d4b13e9a22dae30c299d69d195f92d7ac45579444358acb2de20b78afa3f258eae68f7abc68a664f375efe43f8d39c69668931dd0daba24c8fb74b0a0eca13434ee9573246d342a91514a2495b6c8fce8ec9ecfc93400601d80ac9c4711777a7cc00086d31cc536c05b961c4fc5e8\nIN: 0f75400a6deb4427878b0ac3a1cc3950b39531716cab167ba2113aac383627b173ccd942858b0a3dc5bea3144f9a52179a8565\nAD: 99932f2dcd9dd63a4af30ede3b00d8e12fd24f2328fb03a3251cb1ff9b67b9bfcfe5432e444d4d60a8ce6a39fa41a391c0bccf686d9ac044f72c60ee8f3f26b8355267343b31bc0d2886c84dc6bb1c7c20388c16d04fada74915\nCT: 872ffa67cc633f74ad29cb8b0595989c0c79a5028f629b2800d1412abf1df68a10142e760ecadafba3361f2d43afe79c29c168\nTAG: 15851c9b\n\nKEY: b9587f9d7f881ec94a096b7fddfdc5ce\nNONCE: 107ab768521c30b4778ff9191934249561b8df2e803190da64de20f05979d2376ff6c048aefca35b246a888319b21306f52d1f1f1913545f532a3cf1de4cd52b926321a5a27f501bda538e1418c4b07599a9f897cd6d37320d1e08ffd4a2697bdf91fd5123038ccafd38457e061e3c48def212f94a5efe259ff276ee86c91337\nIN: 5d69699972afef8d1a7fcbb513a87dfdcbfcf01c367d5a378a649cbf92812c6da38815270a9ba0af4be351ad8b062a73a7f63b\nAD: a9d648927fce9991ae15571e1f7810536b41714506ee0197b9471e06613bcb8636203c1c67b93af6d1545baa181c2a149ac471dbd54dbae9784848a4b7ac6894a67bf40ed892df9bc720376e866e92c05c16bc58db1286d5ccb4\nCT: ee550d3368a1115d9cbb1dc37715d7e16e827eabc7d73b537c4cb6fd437e7c88e4afac6ee8807046f0da4788b3b26eb31e4a58\nTAG: dcd71cee\n\nKEY: 1e0c8c8cd53c942ca29dd3d202eb343f\nNONCE: beaf4a32b50c86f92611d7ab665ba344a12f8e5b281580f043633e9bf515d572520b23bf9e5214c38ab43fa4ef2f1a1bca05bba703c5c529943f069ea6f6053e8af0c7eb751b628a82e3ac22ada6e17a12152ae2d5d4162f70e34a8d0685af1d174db91cdc1c103678245cd9483753aca6ac240e5909c18c84f0c090dede24ee\nIN: 2dba40b971012ee4f3b443fd815726065859a28a06d22a1c35cd04529c7b805999cde4ce370b2ed3ea675428dcf5a3a99f7622\nAD: b61a1b5501326d7e67387500835f788574d21fa80df4a9fc6184259a8f0fd8180ef988e12baa645b7500ee246ea52284722051ec4c345a803714f2bc8f02dad385c575128cc6247ca3d293e2b487327f69b0304d402f97dcfa5c\nCT: ce5e806ad840e78042c2e0da0ff3af376a1f7d38adcab0226da6d34887b2b3ae17efcafeb0e32f5070d7cdb850c9ab5b0d8614\nTAG: 6d82627c\n\nKEY: 2fadbffa3eae8caba795506e9d9db0ef\nNONCE: f67d45a1d51912eed0e80d5f5ae05ce4c2c381aee2c4a391823df6b44ad123802602160cd679bdf893dc3aaa547a604e7d1e94de79523891ad32fc0943c822cfb995e5efa197f37a885aab5fd91d47c5ccf852977d7e689f663c5e933a5a72eb4417fce7f3a635cdcaffd60bfa875ad6c2f72cf284831fe640a23fdda21fcf77\nIN: 2f01fb5b9036ab22af19b326769f332b3f6adffbaa9583474bcc5499e00413f9b273a76412ce7d268f12471c078600a2f15bef\nAD: b872df430bd4400030ec5c38289a4be8d4bae608023b6f3922aab24f75bc0d29c2fc378bfdf47a99d7d3d53e1ea2e9420c2752f5b9b6e06b18b9eebd2344e190c4c1ee0f60b14ca89b5c8d3a25c9546a2d013b22ee9fbf92a247\nCT: c1d0f6f53c885b6470372f7d7468eb42fa1f4e20b540a68cac91060050f430d27c50e85403428a75de816c4747776476ae4e3d\nTAG: 8a457c98\n\nKEY: 3f3ec6bb52cc9a725abbf7b9b3f9fa4d\nNONCE: a700805e157f5fd7cec77bc556c2ad7e662c4b55b284970175d0476189822855d44fdecbe28b3fe7a73a6040e6994b8460262b5b5ac1049dbcf4a5febe21eb8574d3a679cc480958852efe787746b4b85acb86757cc855b9db99193208029ad1446631e4a101a115122a98e861c62ef1e3d6587122353b5f958420dc7c80d751\nIN: 07029e02ff512e948112d4f51d5f86d04edd2003447aba21f3976a7200f765130b8971508acbdaa6191c7691dccdde8617a86b\nAD: c6ca6cc319e5296e2ee085036193bbfc4e25a6079dfce25171ef0a2dd569355c73c69cfba69dfac17834ed3226886c07e5461bd605e83be4edd20173f395b37093bef321949d8a0797987796b30aa3387bfd3137506d6fbe5080\nCT: 3b26164ad8088f7e16ae82bd48c7c09230b05a820ea8f89cb4ca54529ccfd74addc308d00ef18f6712d3beac1946ab7da0852e\nTAG: 7e25563d\n\nKEY: 2f2f448e677da243aed2046c864db4dd\nNONCE: e0e01fea2c7c412f6365486b8859d1955075d82f68fb217047db274042d5fec731765541c2111e2ebd17894fd38b82cfadaa34c16526c1bc2efd3b8d6eacd7c4643da5288f37a0c61e8eebf6da76d641ad4c6545c0d7a7d4ae4a23373687e08b8e2d9c457ceff49947bf59e96db4f7304665584d22a0bc858a49721987afa904\nIN: 07a1024ae506ac70abb723c606eea5f6df328195c2f5a3fb629dd2813251abc7d3874deccca999", "44caefcb83f5bbbf36566807\nAD: be09b05e89a7e910f21607bed4e950d120e9d935c715023febdcd4639de7e440189aac53009cfbcd2acb230688abca97165943c65b1e8ed24ca72c4b57084e0610040929b918922d0f1b8a0d25c8cce46889add73b0b6d8a89bf\nCT: 15e4f0f567861361eb342ca281bf1b860f6681b33ba7c547682c4e92d48805cccce12b4be0c3b13af464fba9e79c561e3f0f00\nTAG: e7a6dfb2\n\nKEY: c35b35f68743e2e4f88bb48059f2e21b\nNONCE: 2dfae4843d58be3cc005915c357c5bdfaf7c4e7817e0164b123ec1ad08187269c323568f2bb80c50100b0de276dee9c81ba98801b848bdfdd6185a1926b3eb6adf1df193a6609932a150e0eeee08ee58d3027c712cc729abf9e7bfd3d5b328aa2887109b606704cee0455bf7135a3b4179c8aa86ac31e5e3209c04921975fb83\nIN: b1f1dd264e4f26da74f839728cf70743ef435c016a6549b17b70ac93ac37b0e97bbc3fd092dc07f2b020527b781a38f8d2687c\nAD: 65556a625bfa8b96e71ab5eca7bacb87c9140828b8605d9f3e441628d76281d5a5aca1fec44f038162977cff46d64f965bc4f94214fc63cc56c496aa9aca5adb855faef1f54123633a5d4dc367ab3cceb0c9e42eff3d981945d6\nCT: dabfba195ac7f737153810c3b6db598e2e346af941108f6535b3cbd389428280daf4d86b78148197fd6e0831434a0fdda3bf93\nTAG: c85e1c09\n\nKEY: f6e086357ed6cb07dbb463aa500ae69c\nNONCE: 15b56fb043a72881081a72bce9298e21fe60aeaf1e4b4a85bde873930adecb48d4c8f17362aef0cdf2c3bbbdbc00ce29669b633f181bfcb85c44511c5754ca07595dbdcd335b0078ebf8b09f5190096a9078259168b5a5e1b79211b62d8f0c306e5a0c4e81ea0c6c78e63f5529b633c28494c6f0a42ffe51be150df24aed1602\nIN: fe49c833bfcb93c401b3483d7c7fc9fdaaf3a2146bcc36e0ffe37ef1ac6ce855d0fad3675c9c9fe7cb908589cddf43c4c35421\nAD: b3f36b821f294d33a90c4675aba4b32f32abc3683843ad1689acf130a43a3b21b3473d3a6c7cccecd4c767a7682a26fc524eb6c9688719acfd708c304d3db201b662f48610cbb6c1ae521f00de7904d668b95b812be2b4298807\nCT: e56f27f5aea684a8421f1d559b56d80b3790cf3fbb5cd309f2866ae628c8196605edaca9be512cf6a42e53aca4478405a95d6a\nTAG: d2d608be\n\nKEY: 0dbefe872ed2ea2a964fe991541ae834\nNONCE: 82f382aee615f224677e876367268b31c89981e816c7c5a5ed1c7fa50370ce6a6e13dc2d1ffefef5d317302e22874d28fc67e0cf4d6fdbf1b5c8ff5645256378eca8426454ea600376aadf02d17bc171e40faa2e62530235063e73ac50d06c2a88d9e5e35739cffe8ac70aa2c4f4e00716052f823e0dcdd2b4b5afacbc79f4c1\nIN: 8445831a7b481e187978afbf195eb65eac1ebf3acf1fa452da79248ea484c9bc00d233c2e3b827de9b46bad3726c315080ca7f\nAD: 72caa4d008c9f7f9667fb98501c7e44972f491a8723db27e4a404d377cb4456234f9b56b9235087e25016e00cc6e6be08de7d8739a546db4a78407cc9200404332955a3c68d1f3c6bebf9c74d2e9bc54dc1c56c6b62c72bad6d0\nCT: 800fa98daa36955ab30dd4044756cccf382210a6548069d2f740094c29bdd10ba9bb0db0ca7a7db5fdaf2217c59ff5e0bce136\nTAG: fbc8e65c\n\nKEY: 92666e547ca6722278bc41f78c606014\nNONCE: 2e9733e8dc10ca3964e96b56839fbce9969f5f821fdf2f278e5465b6cf3fac8ed407d04b602209a0c97c14b710f6a3f29f65a1599869139f8061824745ad4470406956d3018eec8ff2584164db279a5a5f724030fa8478e7dacb949e473dee12332fd611bd66b06faa380b57b530a5cac30f3aacd607233c22460240edad253d\nIN: 97ce2ebd1850551b96813179b2bad2270eccf7195fe70273c9b4045e68a501781e47f808cb248326cb6425635db1d516ec760f\nAD: 20d0f02f1346ed9c8a697a5b507ed482033a177d4a71bd694b1533e94b72aaf54e48be64b6f7a30b2c6e94a00159ad60ce84d677d035790591a00e8068275e5caebe185bdb14ad24ab41e8fa3d0f4e19f57a390707efcd191cd0\nCT: 44af16eb4079f52009592436a0f1d7373a992fb5679c048466804495b9e1264e8292afe33c2661e30d3c2fedab5963bf0c63f5\nTAG: 917b6024\n\nKEY: d3f7d84e2a2f2e45e19e7dd4432f6cbb\nNONCE: bf1b1afa5c28d0f6883a12a4eb984ee8edd3c75e91d44628eb1133bad58506285961fd3d2d3f671788895a55824022c4b5a2ee0e470124c9b7cc00d6082e95991deedff69e366e9eb96a9e814e58e89c58abb224dc13d78db68797bbccdacf082f8563cc4c40137203c206476668482d51eee902c7e3344e7355ac18b61d3e1a\nIN: e02d21da508ab1157ec2aee2c18a924a34b84d7746bba79da3662402c111d686fb5f50a8831f01623e1b22f1a79b2cd014d715\nAD: 951ea13d95700d0c97e12df456280532ef86260307cf95375211b7fb44c3eb50ddeb5ef350714ac2c620ef8f66eb0da1796915400210568360d571e58de7d30e06b812112069667370376812e4e593362226997fe2947ded6371\nCT: d948b5f4f415423b656abf715c9fc756f90117f694b32961fa8f4bf003cffd463716644eef0ce5919dca38788e0df24a7d1367\nTAG: 19a23818\n\nKEY: 357e9c3ab5323ff141bdf17228b80a61\nNONCE: de8cd40a5db81e8b7083807a8a5c16d4808f48c52a56c68b77edb01b563f80513518eac2672c8f5524aa6e3850337233c693dec99a547cf6599dc33a6d89763e5f91d9a74715c9a635ed1931403b2fbec8be85f287506ed4bd7da3c6e2b25e29becf9466f4abdf3b0daa4818a7f31563fb5be7aba7cbd53c6522331fc04d4573\nIN: 995142af8870fd1c805aa9919f76485dc1fed5ead1e8366633ef09db5595c1a305bd10d945409148744d3998aba6434172087f\nAD: 863ebc2231af641f620f618567007847057146db69b1066dc1c4464d251729eb6ea3871d3e997e71a963439e9d81691a7196ddd439748e795a2cc62b8382a61e79863259cb643851f9a271130e0f9f54e15f0dc3ec8b27084c39\nCT: fc12b78280d4a9eef7d536f2f5b3b3d63cf641e07f6b91332b9200d224632c5b1ee41ee136693bf0c26d569e998d9a09ad24f8\nTAG: c0f7d0e6\n\nKEY: 0e00c76561d2bd9b40c3c15427e2b08f\nNONCE: 492cadaccd3ca3fbc9cf9f06eb3325c4e159850b0dbe98199b89b7af528806610b6f63998e1eae80c348e74cbb921d8326631631fc6a5d304f39166daf7ea15fa1977f101819adb510b50fe9932e12c5a85aa3fd1e73d8d760af218be829903a77c63359d75edd91b4f6ed5465a72662f5055999e059e7654a8edc921aa0d496\nIN: fef03c2d7fb15bf0d2df18007d99f967c878ad59359034f7bb2c19af120685d78e32f6b8b83b032019956ca9c0195721476b85\nAD: d8f1163d8c840292a2b2dacf4ac7c36aff8733f18fabb4fa5594544125e03d1e6e5d6d0fd61656c8d8f327c92839ae5539bb469c9257f109ebff85aad7bd220fdaa95c022dbd0c7bb2d878ad504122c943045d3c5eba8f1f56c0\nCT: 4f6cf471be7cbd2575cd5a1747aea8fe9dea83e51936beac3e68f66206922060c697ffa7af80ad6bb68f2cf4fc97416ee52abe\nTAG: e20b6655\n\n", }; -static const size_t kLen23 = 154319; +static const size_t kLen24 = 154319; -static const char *kData23[] = { +static const char *kData24[] = { "# Generated by \"make_cavp -cipher=aes -extra-labels=Cipher=AES-192-CBC kat_aes/CBCGFSbox192.rsp kat_aes/CBCKeySbox192.rsp kat_aes/CBCVarKey192.rsp kat_aes/CBCVarTxt192.rsp\"\n\n# File 1: kat_aes/CBCGFSbox192.rsp\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 1b077a6af4b7f98229de786d7516b639\nCiphertext: 275cfc0413d8ccb70513c3859b1d0f72\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 9c2d8842e5f48f57648205d39a239af1\nCiphertext: c9b8135ff1b5adc413dfd053b21bd96d\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: bff52510095f518ecca60af4205444bb\nCiphertext: 4a3650c3371ce2eb35e389a171427440\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 51719783d3185a535bd75adc65071ce1\nCiphertext: 4f354592ff7c8847d2d0870ca9481b7c\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 26aa49dcfe7629a8901a69a9914e6dfd\nCiphertext: d5e08bf9a182e857cf40b3a36ee248cc\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 941a4773058224e1ef66d10e0a6ee782\nCiphertext: 067cd9d3749207791841562507fa9626\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 275cfc0413d8ccb70513c3859b1d0f72\nPlaintext: 1b077a6af4b7f98229de786d7516b639\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: c9b8135ff1b5adc413dfd053b21bd96d\nPlaintext: 9c2d8842e5f48f57648205d39a239af1\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 4a3650c3371ce2eb35e389a171427440\nPlaintext: bff52510095f518ecca60af4205444bb\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 4f354592ff7c8847d2d0870ca9481b7c\nPlaintext: 51719783d3185a535bd75adc65071ce1\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: d5e08bf9a182e857cf40b3a36ee248cc\nPlaintext: 26aa49dcfe7629a8901a69a9914e6dfd\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 067cd9d3749207791841562507fa9626\nPlaintext: 941a4773058224e1ef66d10e0a6ee782\n\n# File 2: kat_aes/CBCKeySbox192.rsp\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: e9f065d7c13573587f7875357dfbb16c53489f6a4bd0f7cd\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 0956259c9cd5cfd0181cca53380cde06\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: 15d20f6ebc7e649fd95b76b107e6daba967c8a9484797f29\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 8e4e18424e591a3d5b6f0876f16f8594\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: a8a282ee31c03fae4f8e9b8930d5473c2ed695a347e88b7c\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 93f3270cfc877ef17e106ce938979cb0\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: cd62376d5ebb414917f0c78f05266433dc9192a1ec943300\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 7f6c25ff41858561bb62f36492e93c29\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: 502a6ab36984af268bf423c7f509205207fc1552af4a91e5\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 8e06556dcbb00b809a025047cff2a940\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: 25a39dbfd8034f71a81f9ceb55026e4037f8f6aa30ab44ce\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 3608c344868e94555d23a120f8a5502d\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: e08c15411774ec4a908b64eadc6ac4199c7cd453f3aaef53\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 77da2021935b840b7f5dcc39132da9e5\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: 3b375a1ff7e8d44409696e6326ec9dec86138e2ae010b980\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 3b7c24f825e3bf9873c9f14d39a0e6f4\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: 950bb9f22cc35be6fe79f52c320af93dec5bc9c0c2f9cd53\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 64ebf95686b353508c90ecd8b6134316\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: 7001c487cc3e572cfc92f4d0e697d982e8856fdcc957da40\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: ff558c5d27210b7929b73fc708eb4cf1\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: f029ce61d4e5a405b41ead0a883cc6a737da2cf50a6c92ae\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: a2c3b2a818075490a7b4c14380f02702\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: 61257134a518a0d57d9d244d45f6498cbc32f2bafc522d79\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: cfe4d74002696ccf7d87b14a2f9cafc9\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: b0ab0a6a818baef2d11fa33eac947284fb7d748cfb75e570\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: d2eafd86f63b109b91f5dbb3a3fb7e13\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: ee053aa011c8b428cdcc3636313c54d6a03cac01c71579d6\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 9b9fdd1c5975655f539998b306a324af\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: d2926527e0aa9f37b45e2ec2ade5853ef807576104c7ace3\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: dd619e1cf204446112e0af2b9afa8f8c\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: 982215f4e173dfa0fcffe5d3da41c4812c7bcc8ed3540f93\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: d4f0aae13c8fe9339fbf9e69ed0ad74d\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: 98c6b8e01e379fbd14e61af6af891596583565f2a27d59e9\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 19c80ec4a6deb7e5ed1033dda933498f\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: b3ad5cea1dddc214ca969ac35f37dae1a9a9d1528f89bb35\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 3cf5e1d21a17956d1dffad6a7c41c659\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: 45899367c3132849763073c435a9288a766c8b9ec2308516\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 69fd12e8505f8ded2fdcb197a121b362\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: ec250e04c3903f602647b85a401a1ae7ca2f02f67fa4253e\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 8aa584e2cc4d17417a97cb9a28ba29c8\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: d077a03bd8a38973928ccafe4a9d2f455130bd0af5ae46a9\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: abc786fb1edb504580c4d882ef29a0c7\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: d184c36cf0dddfec39e654195006022237871a47c33d3198\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 2e19fb60a3e1de0166f483c97824a978\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: 4c6994ffa9dcdc805b60c2c0095334c42d95a8fc0ca5b080\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 7656709538dd5fec41e0ce6a0f8e207d\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: c88f5b00a4ef9a6840e2acaf33f00a3bdc4e25895303fa72\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: a67cf333b314d411d3c0ae6e1cfcd8f5\n\nCipher: AES-192-CBC\nOpera", "tion: DECRYPT\nKey: e9f065d7c13573587f7875357dfbb16c53489f6a4bd0f7cd\nIV: 00000000000000000000000000000000\nCiphertext: 0956259c9cd5cfd0181cca53380cde06\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 15d20f6ebc7e649fd95b76b107e6daba967c8a9484797f29\nIV: 00000000000000000000000000000000\nCiphertext: 8e4e18424e591a3d5b6f0876f16f8594\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: a8a282ee31c03fae4f8e9b8930d5473c2ed695a347e88b7c\nIV: 00000000000000000000000000000000\nCiphertext: 93f3270cfc877ef17e106ce938979cb0\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: cd62376d5ebb414917f0c78f05266433dc9192a1ec943300\nIV: 00000000000000000000000000000000\nCiphertext: 7f6c25ff41858561bb62f36492e93c29\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 502a6ab36984af268bf423c7f509205207fc1552af4a91e5\nIV: 00000000000000000000000000000000\nCiphertext: 8e06556dcbb00b809a025047cff2a940\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 25a39dbfd8034f71a81f9ceb55026e4037f8f6aa30ab44ce\nIV: 00000000000000000000000000000000\nCiphertext: 3608c344868e94555d23a120f8a5502d\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: e08c15411774ec4a908b64eadc6ac4199c7cd453f3aaef53\nIV: 00000000000000000000000000000000\nCiphertext: 77da2021935b840b7f5dcc39132da9e5\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 3b375a1ff7e8d44409696e6326ec9dec86138e2ae010b980\nIV: 00000000000000000000000000000000\nCiphertext: 3b7c24f825e3bf9873c9f14d39a0e6f4\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 950bb9f22cc35be6fe79f52c320af93dec5bc9c0c2f9cd53\nIV: 00000000000000000000000000000000\nCiphertext: 64ebf95686b353508c90ecd8b6134316\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 7001c487cc3e572cfc92f4d0e697d982e8856fdcc957da40\nIV: 00000000000000000000000000000000\nCiphertext: ff558c5d27210b7929b73fc708eb4cf1\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: f029ce61d4e5a405b41ead0a883cc6a737da2cf50a6c92ae\nIV: 00000000000000000000000000000000\nCiphertext: a2c3b2a818075490a7b4c14380f02702\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 61257134a518a0d57d9d244d45f6498cbc32f2bafc522d79\nIV: 00000000000000000000000000000000\nCiphertext: cfe4d74002696ccf7d87b14a2f9cafc9\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: b0ab0a6a818baef2d11fa33eac947284fb7d748cfb75e570\nIV: 00000000000000000000000000000000\nCiphertext: d2eafd86f63b109b91f5dbb3a3fb7e13\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: ee053aa011c8b428cdcc3636313c54d6a03cac01c71579d6\nIV: 00000000000000000000000000000000\nCiphertext: 9b9fdd1c5975655f539998b306a324af\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: d2926527e0aa9f37b45e2ec2ade5853ef807576104c7ace3\nIV: 00000000000000000000000000000000\nCiphertext: dd619e1cf204446112e0af2b9afa8f8c\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 982215f4e173dfa0fcffe5d3da41c4812c7bcc8ed3540f93\nIV: 00000000000000000000000000000000\nCiphertext: d4f0aae13c8fe9339fbf9e69ed0ad74d\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 98c6b8e01e379fbd14e61af6af891596583565f2a27d59e9\nIV: 00000000000000000000000000000000\nCiphertext: 19c80ec4a6deb7e5ed1033dda933498f\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: b3ad5cea1dddc214ca969ac35f37dae1a9a9d1528f89bb35\nIV: 00000000000000000000000000000000\nCiphertext: 3cf5e1d21a17956d1dffad6a7c41c659\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 45899367c3132849763073c435a9288a766c8b9ec2308516\nIV: 00000000000000000000000000000000\nCiphertext: 69fd12e8505f8ded2fdcb197a121b362\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: ec250e04c3903f602647b85a401a1ae7ca2f02f67fa4253e\nIV: 00000000000000000000000000000000\nCiphertext: 8aa584e2cc4d17417a97cb9a28ba29c8\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: d077a03bd8a38973928ccafe4a9d2f455130bd0af5ae46a9\nIV: 00000000000000000000000000000000\nCiphertext: abc786fb1edb504580c4d882ef29a0c7\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: d184c36cf0dddfec39e654195006022237871a47c33d3198\nIV: 00000000000000000000000000000000\nCiphertext: 2e19fb60a3e1de0166f483c97824a978\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 4c6994ffa9dcdc805b60c2c0095334c42d95a8fc0ca5b080\nIV: 00000000000000000000000000000000\nCiphertext: 7656709538dd5fec41e0ce6a0f8e207d\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: c88f5b00a4ef9a6840e2acaf33f00a3bdc4e25895303fa72\nIV: 00000000000000000000000000000000\nCiphertext: a67cf333b314d411d3c0ae6e1cfcd8f5\nPlaintext: 00000000000000000000000000000000\n\n# File 3: kat_aes/CBCVarKey192.rsp\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: 800000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: de885dc87f5a92594082d02cc1e1b42c\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: c00000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 132b074e80f2a597bf5febd8ea5da55e\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: e00000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 6eccedf8de592c22fb81347b79f2db1f\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: f00000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 180b09f267c45145db2f826c2582d35c\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: f80000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: edd807ef7652d7eb0e13c8b5e15b3bc0\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: fc0000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 9978bcf8dd8fd72241223ad24b31b8a4\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: fe0000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 5310f654343e8f27e12c83a48d24ff81\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: ff0000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 833f71258d53036b02952c76c744f5a1\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: ff8000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: eba83ff200cff9318a92f8691a06b09f\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: ffc000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: ff620ccbe9f3292abdf2176b09f04eba\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: ffe000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 7ababc4b3f516c9aafb35f4140b548f9\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: fff000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: aa187824d9c4582b0916493ecbde8c57\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: fff800000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 1c0ad553177fd5ea1092c9d626a29dc4\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKe", "y: fffc00000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: a5dc46c37261194124ecaebd680408ec\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: fffe00000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: e4f2f2ae23e9b10bacfa58601531ba54\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: ffff00000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: b7d67cf1a1e91e8ff3a57a172c7bf412\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: ffff80000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 26706be06967884e847d137128ce47b3\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: ffffc0000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: b2f8b409b0585909aad3a7b5a219072a\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: ffffe0000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 5e4b7bff0290c78344c54a23b722cd20\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: fffff0000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 07093657552d4414227ce161e9ebf7dd\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: fffff8000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: e1af1e7d8bc225ed4dffb771ecbb9e67\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: fffffc000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: ef6555253635d8432156cfd9c11b145a\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: fffffe000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: fb4035074a5d4260c90cbd6da6c3fceb\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: ffffff000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 446ee416f9ad1c103eb0cc96751c88e1\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: ffffff800000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 198ae2a4637ac0a7890a8fd1485445c9\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: ffffffc00000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 562012ec8faded0825fb2fa70ab30cbd\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: ffffffe00000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: cc8a64b46b5d88bf7f247d4dbaf38f05\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: fffffff00000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: a168253762e2cc81b42d1e5001762699\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: fffffff80000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 1b41f83b38ce5032c6cd7af98cf62061\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: fffffffc0000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 61a89990cd1411750d5fb0dc988447d4\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: fffffffe0000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: b5accc8ed629edf8c68a539183b1ea82\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: ffffffff0000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: b16fa71f846b81a13f361c43a851f290\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: ffffffff8000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 4fad6efdff5975aee7692234bcd54488\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: ffffffffc000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: ebfdb05a783d03082dfe5fdd80a00b17\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: ffffffffe000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: eb81b584766997af6ba5529d3bdd8609\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: fffffffff000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 0cf4ff4f49c8a0ca060c443499e29313\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: fffffffff800000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: cc4ba8a8e029f8b26d8afff9df133bb6\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: fffffffffc00000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: fefebf64360f38e4e63558f0ffc550c3\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: fffffffffe00000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 12ad98cbf725137d6a8108c2bed99322\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: ffffffffff00000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 6afaa996226198b3e2610413ce1b3f78\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: ffffffffff80000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 2a8ce6747a7e39367828e290848502d9\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: ffffffffffc0000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 223736e8b8f89ca1e37b6deab40facf1\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: ffffffffffe0000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: c0f797e50418b95fa6013333917a9480\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: fffffffffff0000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: a758de37c2ece2a02c73c01fedc9a132\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: fffffffffff8000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 3a9b87ae77bae706803966c66c73adbd\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: fffffffffffc000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: d365ab8df8ffd782e358121a4a4fc541\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: fffffffffffe000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: c8dcd9e6f75e6c36c8daee0466f0ed74\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: ffffffffffff000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: c79a637beb1c0304f14014c037e736dd\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: ffffffffffff800000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 105f0a25e84ac930d996281a5f954dd9\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: ffffffffffffc00000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 42e4074b2927973e8d17ffa92f7fe615\n\nCipher: AES-192-CBC\nOperation: ENCRYPT\nKey: ffffffffffffe00000000000000000000000000000000000\n", @@ -1536,9 +1616,9 @@ static const char *kData23[] = { "0000\nCiphertext: 0882a16f44088d42447a29ac090ec17e\nPlaintext: fffffffffffffff00000000000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 3a3c15bfc11a9537c130687004e136ee\nPlaintext: fffffffffffffff80000000000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 22c0a7678dc6d8cf5c8a6d5a9960767c\nPlaintext: fffffffffffffffc0000000000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: b46b09809d68b9a456432a79bdc2e38c\nPlaintext: fffffffffffffffe0000000000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 93baaffb35fbe739c17c6ac22eecf18f\nPlaintext: ffffffffffffffff0000000000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: c8aa80a7850675bc007c46df06b49868\nPlaintext: ffffffffffffffff8000000000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 12c6f3877af421a918a84b775858021d\nPlaintext: ffffffffffffffffc000000000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 33f123282c5d633924f7d5ba3f3cab11\nPlaintext: ffffffffffffffffe000000000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: a8f161002733e93ca4527d22c1a0c5bb\nPlaintext: fffffffffffffffff000000000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: b72f70ebf3e3fda23f508eec76b42c02\nPlaintext: fffffffffffffffff800000000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 6a9d965e6274143f25afdcfc88ffd77c\nPlaintext: fffffffffffffffffc00000000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: a0c74fd0b9361764ce91c5200b095357\nPlaintext: fffffffffffffffffe00000000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 091d1fdc2bd2c346cd5046a8c6209146\nPlaintext: ffffffffffffffffff00000000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: e2a37580116cfb71856254496ab0aca8\nPlaintext: ffffffffffffffffff80000000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: e0b3a00785917c7efc9adba322813571\nPlaintext: ffffffffffffffffffc0000000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 733d41f4727b5ef0df4af4cf3cffa0cb\nPlaintext: ffffffffffffffffffe0000000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: a99ebb030260826f981ad3e64490aa4f\nPlaintext: fffffffffffffffffff0000000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 73f34c7d3eae5e80082c1647524308ee\nPlaintext: fffffffffffffffffff8000000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 40ebd5ad082345b7a2097ccd3464da02\nPlaintext: fffffffffffffffffffc000000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 7cc4ae9a424b2cec90c97153c2457ec5\nPlaintext: fffffffffffffffffffe000000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 54d632d03aba0bd0f91877ebdd4d09cb\nPlaintext: ffffffffffffffffffff000000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: d3427be7e4d27cd54f5fe37b03cf0897\nPlaintext: ffffffffffffffffffff800000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: b2099795e88cc158fd75ea133d7e7fbe\nPlaintext: ffffffffffffffffffffc00000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: a6cae46fb6fadfe7a2c302a34242817b\nPlaintext: ffffffffffffffffffffe00000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 026a7024d6a902e0b3ffccbaa910cc3f\nPlaintext: fffffffffffffffffffff00000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 156f07767a85a4312321f63968338a01\nPlaintext: fffffffffffffffffffff80000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 15eec9ebf42b9ca76897d2cd6c5a12e2\nPlaintext: fffffffffffffffffffffc0000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: db0d3a6fdcc13f915e2b302ceeb70fd8\nPlaintext: fffffffffffffffffffffe0000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 71dbf37e87a2e34d15b20e8f10e48924\nPlaintext: ffffffffffffffffffffff0000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: c745c451e96ff3c045e4367c833e3b54\nPlaintext: ffffffffffffffffffffff8000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 340da09c2dd11c3b679d08ccd27dd595\nPlaintext: ffffffffffffffffffffffc000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 8279f7c0c2a03ee660c6d392db025d18\nPlaintext: ffffffffffffffffffffffe000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: a4b2c7d8eba531ff47c5041a55fbd1ec\nPlaintext: fffffffffffffffffffffff000000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 74569a2ca5a7bd5131ce8dc7cbfbf72f\nPlaintext: fffffffffffffffffffffff800000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 3713da0c0219b63454035613b5a403dd\nPlaintext: fffffffffffffffffffffffc00000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 8827551ddcc9df23fa72a3de4e9f0b07\nPlaintext: fffffffffffffffffffffffe00000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 2e3febfd625bfcd0a2c06eb460da1732\nPlaintext: ffffffffffffffffffffffff00000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: ee82e6ba488156f76496311da6941deb\nPl", "aintext: ffffffffffffffffffffffff80000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 4770446f01d1f391256e85a1b30d89d3\nPlaintext: ffffffffffffffffffffffffc0000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: af04b68f104f21ef2afb4767cf74143c\nPlaintext: ffffffffffffffffffffffffe0000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: cf3579a9ba38c8e43653173e14f3a4c6\nPlaintext: fffffffffffffffffffffffff0000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: b3bba904f4953e09b54800af2f62e7d4\nPlaintext: fffffffffffffffffffffffff8000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: fc4249656e14b29eb9c44829b4c59a46\nPlaintext: fffffffffffffffffffffffffc000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 9b31568febe81cfc2e65af1c86d1a308\nPlaintext: fffffffffffffffffffffffffe000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 9ca09c25f273a766db98a480ce8dfedc\nPlaintext: ffffffffffffffffffffffffff000000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: b909925786f34c3c92d971883c9fbedf\nPlaintext: ffffffffffffffffffffffffff800000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 82647f1332fe570a9d4d92b2ee771d3b\nPlaintext: ffffffffffffffffffffffffffc00000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 3604a7e80832b3a99954bca6f5b9f501\nPlaintext: ffffffffffffffffffffffffffe00000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 884607b128c5de3ab39a529a1ef51bef\nPlaintext: fffffffffffffffffffffffffff00000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 670cfa093d1dbdb2317041404102435e\nPlaintext: fffffffffffffffffffffffffff80000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 7a867195f3ce8769cbd336502fbb5130\nPlaintext: fffffffffffffffffffffffffffc0000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 52efcf64c72b2f7ca5b3c836b1078c15\nPlaintext: fffffffffffffffffffffffffffe0000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 4019250f6eefb2ac5ccbcae044e75c7e\nPlaintext: ffffffffffffffffffffffffffff0000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 022c4f6f5a017d292785627667ddef24\nPlaintext: ffffffffffffffffffffffffffff8000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: e9c21078a2eb7e03250f71000fa9e3ed\nPlaintext: ffffffffffffffffffffffffffffc000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: a13eaeeb9cd391da4e2b09490b3e7fad\nPlaintext: ffffffffffffffffffffffffffffe000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: c958a171dca1d4ed53e1af1d380803a9\nPlaintext: fffffffffffffffffffffffffffff000\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 21442e07a110667f2583eaeeee44dc8c\nPlaintext: fffffffffffffffffffffffffffff800\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 59bbb353cf1dd867a6e33737af655e99\nPlaintext: fffffffffffffffffffffffffffffc00\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 43cd3b25375d0ce41087ff9fe2829639\nPlaintext: fffffffffffffffffffffffffffffe00\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 6b98b17e80d1118e3516bd768b285a84\nPlaintext: ffffffffffffffffffffffffffffff00\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: ae47ed3676ca0c08deea02d95b81db58\nPlaintext: ffffffffffffffffffffffffffffff80\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 34ec40dc20413795ed53628ea748720b\nPlaintext: ffffffffffffffffffffffffffffffc0\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 4dc68163f8e9835473253542c8a65d46\nPlaintext: ffffffffffffffffffffffffffffffe0\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 2aabb999f43693175af65c6c612c46fb\nPlaintext: fffffffffffffffffffffffffffffff0\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: e01f94499dac3547515c5b1d756f0f58\nPlaintext: fffffffffffffffffffffffffffffff8\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 9d12435a46480ce00ea349f71799df9a\nPlaintext: fffffffffffffffffffffffffffffffc\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: cef41d16d266bdfe46938ad7884cc0cf\nPlaintext: fffffffffffffffffffffffffffffffe\n\nCipher: AES-192-CBC\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: b13db4da1f718bc6904797c82bcf2d32\nPlaintext: ffffffffffffffffffffffffffffffff\n\n", }; -static const size_t kLen24 = 154338; +static const size_t kLen25 = 154338; -static const char *kData24[] = { +static const char *kData25[] = { "# Generated by \"make_cavp -cipher=aes -extra-labels=Cipher=AES-192-CTR -swap-iv-plaintext kat_aes/CBCGFSbox192.rsp kat_aes/CBCKeySbox192.rsp kat_aes/CBCVarKey192.rsp kat_aes/CBCVarTxt192.rsp\"\n\n# File 1: kat_aes/CBCGFSbox192.rsp\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 1b077a6af4b7f98229de786d7516b639\nCiphertext: 275cfc0413d8ccb70513c3859b1d0f72\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 9c2d8842e5f48f57648205d39a239af1\nCiphertext: c9b8135ff1b5adc413dfd053b21bd96d\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: bff52510095f518ecca60af4205444bb\nCiphertext: 4a3650c3371ce2eb35e389a171427440\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 51719783d3185a535bd75adc65071ce1\nCiphertext: 4f354592ff7c8847d2d0870ca9481b7c\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 26aa49dcfe7629a8901a69a9914e6dfd\nCiphertext: d5e08bf9a182e857cf40b3a36ee248cc\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 941a4773058224e1ef66d10e0a6ee782\nCiphertext: 067cd9d3749207791841562507fa9626\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 275cfc0413d8ccb70513c3859b1d0f72\nIV: 1b077a6af4b7f98229de786d7516b639\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: c9b8135ff1b5adc413dfd053b21bd96d\nIV: 9c2d8842e5f48f57648205d39a239af1\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 4a3650c3371ce2eb35e389a171427440\nIV: bff52510095f518ecca60af4205444bb\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 4f354592ff7c8847d2d0870ca9481b7c\nIV: 51719783d3185a535bd75adc65071ce1\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: d5e08bf9a182e857cf40b3a36ee248cc\nIV: 26aa49dcfe7629a8901a69a9914e6dfd\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 067cd9d3749207791841562507fa9626\nIV: 941a4773058224e1ef66d10e0a6ee782\n\n# File 2: kat_aes/CBCKeySbox192.rsp\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: e9f065d7c13573587f7875357dfbb16c53489f6a4bd0f7cd\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 0956259c9cd5cfd0181cca53380cde06\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: 15d20f6ebc7e649fd95b76b107e6daba967c8a9484797f29\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 8e4e18424e591a3d5b6f0876f16f8594\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: a8a282ee31c03fae4f8e9b8930d5473c2ed695a347e88b7c\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 93f3270cfc877ef17e106ce938979cb0\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: cd62376d5ebb414917f0c78f05266433dc9192a1ec943300\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 7f6c25ff41858561bb62f36492e93c29\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: 502a6ab36984af268bf423c7f509205207fc1552af4a91e5\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 8e06556dcbb00b809a025047cff2a940\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: 25a39dbfd8034f71a81f9ceb55026e4037f8f6aa30ab44ce\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 3608c344868e94555d23a120f8a5502d\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: e08c15411774ec4a908b64eadc6ac4199c7cd453f3aaef53\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 77da2021935b840b7f5dcc39132da9e5\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: 3b375a1ff7e8d44409696e6326ec9dec86138e2ae010b980\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 3b7c24f825e3bf9873c9f14d39a0e6f4\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: 950bb9f22cc35be6fe79f52c320af93dec5bc9c0c2f9cd53\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 64ebf95686b353508c90ecd8b6134316\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: 7001c487cc3e572cfc92f4d0e697d982e8856fdcc957da40\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: ff558c5d27210b7929b73fc708eb4cf1\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: f029ce61d4e5a405b41ead0a883cc6a737da2cf50a6c92ae\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: a2c3b2a818075490a7b4c14380f02702\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: 61257134a518a0d57d9d244d45f6498cbc32f2bafc522d79\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: cfe4d74002696ccf7d87b14a2f9cafc9\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: b0ab0a6a818baef2d11fa33eac947284fb7d748cfb75e570\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: d2eafd86f63b109b91f5dbb3a3fb7e13\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: ee053aa011c8b428cdcc3636313c54d6a03cac01c71579d6\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 9b9fdd1c5975655f539998b306a324af\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: d2926527e0aa9f37b45e2ec2ade5853ef807576104c7ace3\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: dd619e1cf204446112e0af2b9afa8f8c\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: 982215f4e173dfa0fcffe5d3da41c4812c7bcc8ed3540f93\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: d4f0aae13c8fe9339fbf9e69ed0ad74d\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: 98c6b8e01e379fbd14e61af6af891596583565f2a27d59e9\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 19c80ec4a6deb7e5ed1033dda933498f\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: b3ad5cea1dddc214ca969ac35f37dae1a9a9d1528f89bb35\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 3cf5e1d21a17956d1dffad6a7c41c659\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: 45899367c3132849763073c435a9288a766c8b9ec2308516\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 69fd12e8505f8ded2fdcb197a121b362\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: ec250e04c3903f602647b85a401a1ae7ca2f02f67fa4253e\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 8aa584e2cc4d17417a97cb9a28ba29c8\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: d077a03bd8a38973928ccafe4a9d2f455130bd0af5ae46a9\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: abc786fb1edb504580c4d882ef29a0c7\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: d184c36cf0dddfec39e654195006022237871a47c33d3198\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 2e19fb60a3e1de0166f483c97824a978\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: 4c6994ffa9dcdc805b60c2c0095334c42d95a8fc0ca5b080\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 7656709538dd5fec41e0ce6a0f8e207d\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: c88f5b00a4ef9a6840e2acaf33f00a3bdc4e25895303fa72\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: a67cf333b314d411d3c0ae6e1cfcd8f5\n\nCipher", ": AES-192-CTR\nOperation: DECRYPT\nKey: e9f065d7c13573587f7875357dfbb16c53489f6a4bd0f7cd\nPlaintext: 00000000000000000000000000000000\nCiphertext: 0956259c9cd5cfd0181cca53380cde06\nIV: 00000000000000000000000000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 15d20f6ebc7e649fd95b76b107e6daba967c8a9484797f29\nPlaintext: 00000000000000000000000000000000\nCiphertext: 8e4e18424e591a3d5b6f0876f16f8594\nIV: 00000000000000000000000000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: a8a282ee31c03fae4f8e9b8930d5473c2ed695a347e88b7c\nPlaintext: 00000000000000000000000000000000\nCiphertext: 93f3270cfc877ef17e106ce938979cb0\nIV: 00000000000000000000000000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: cd62376d5ebb414917f0c78f05266433dc9192a1ec943300\nPlaintext: 00000000000000000000000000000000\nCiphertext: 7f6c25ff41858561bb62f36492e93c29\nIV: 00000000000000000000000000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 502a6ab36984af268bf423c7f509205207fc1552af4a91e5\nPlaintext: 00000000000000000000000000000000\nCiphertext: 8e06556dcbb00b809a025047cff2a940\nIV: 00000000000000000000000000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 25a39dbfd8034f71a81f9ceb55026e4037f8f6aa30ab44ce\nPlaintext: 00000000000000000000000000000000\nCiphertext: 3608c344868e94555d23a120f8a5502d\nIV: 00000000000000000000000000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: e08c15411774ec4a908b64eadc6ac4199c7cd453f3aaef53\nPlaintext: 00000000000000000000000000000000\nCiphertext: 77da2021935b840b7f5dcc39132da9e5\nIV: 00000000000000000000000000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 3b375a1ff7e8d44409696e6326ec9dec86138e2ae010b980\nPlaintext: 00000000000000000000000000000000\nCiphertext: 3b7c24f825e3bf9873c9f14d39a0e6f4\nIV: 00000000000000000000000000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 950bb9f22cc35be6fe79f52c320af93dec5bc9c0c2f9cd53\nPlaintext: 00000000000000000000000000000000\nCiphertext: 64ebf95686b353508c90ecd8b6134316\nIV: 00000000000000000000000000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 7001c487cc3e572cfc92f4d0e697d982e8856fdcc957da40\nPlaintext: 00000000000000000000000000000000\nCiphertext: ff558c5d27210b7929b73fc708eb4cf1\nIV: 00000000000000000000000000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: f029ce61d4e5a405b41ead0a883cc6a737da2cf50a6c92ae\nPlaintext: 00000000000000000000000000000000\nCiphertext: a2c3b2a818075490a7b4c14380f02702\nIV: 00000000000000000000000000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 61257134a518a0d57d9d244d45f6498cbc32f2bafc522d79\nPlaintext: 00000000000000000000000000000000\nCiphertext: cfe4d74002696ccf7d87b14a2f9cafc9\nIV: 00000000000000000000000000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: b0ab0a6a818baef2d11fa33eac947284fb7d748cfb75e570\nPlaintext: 00000000000000000000000000000000\nCiphertext: d2eafd86f63b109b91f5dbb3a3fb7e13\nIV: 00000000000000000000000000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: ee053aa011c8b428cdcc3636313c54d6a03cac01c71579d6\nPlaintext: 00000000000000000000000000000000\nCiphertext: 9b9fdd1c5975655f539998b306a324af\nIV: 00000000000000000000000000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: d2926527e0aa9f37b45e2ec2ade5853ef807576104c7ace3\nPlaintext: 00000000000000000000000000000000\nCiphertext: dd619e1cf204446112e0af2b9afa8f8c\nIV: 00000000000000000000000000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 982215f4e173dfa0fcffe5d3da41c4812c7bcc8ed3540f93\nPlaintext: 00000000000000000000000000000000\nCiphertext: d4f0aae13c8fe9339fbf9e69ed0ad74d\nIV: 00000000000000000000000000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 98c6b8e01e379fbd14e61af6af891596583565f2a27d59e9\nPlaintext: 00000000000000000000000000000000\nCiphertext: 19c80ec4a6deb7e5ed1033dda933498f\nIV: 00000000000000000000000000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: b3ad5cea1dddc214ca969ac35f37dae1a9a9d1528f89bb35\nPlaintext: 00000000000000000000000000000000\nCiphertext: 3cf5e1d21a17956d1dffad6a7c41c659\nIV: 00000000000000000000000000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 45899367c3132849763073c435a9288a766c8b9ec2308516\nPlaintext: 00000000000000000000000000000000\nCiphertext: 69fd12e8505f8ded2fdcb197a121b362\nIV: 00000000000000000000000000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: ec250e04c3903f602647b85a401a1ae7ca2f02f67fa4253e\nPlaintext: 00000000000000000000000000000000\nCiphertext: 8aa584e2cc4d17417a97cb9a28ba29c8\nIV: 00000000000000000000000000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: d077a03bd8a38973928ccafe4a9d2f455130bd0af5ae46a9\nPlaintext: 00000000000000000000000000000000\nCiphertext: abc786fb1edb504580c4d882ef29a0c7\nIV: 00000000000000000000000000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: d184c36cf0dddfec39e654195006022237871a47c33d3198\nPlaintext: 00000000000000000000000000000000\nCiphertext: 2e19fb60a3e1de0166f483c97824a978\nIV: 00000000000000000000000000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 4c6994ffa9dcdc805b60c2c0095334c42d95a8fc0ca5b080\nPlaintext: 00000000000000000000000000000000\nCiphertext: 7656709538dd5fec41e0ce6a0f8e207d\nIV: 00000000000000000000000000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: c88f5b00a4ef9a6840e2acaf33f00a3bdc4e25895303fa72\nPlaintext: 00000000000000000000000000000000\nCiphertext: a67cf333b314d411d3c0ae6e1cfcd8f5\nIV: 00000000000000000000000000000000\n\n# File 3: kat_aes/CBCVarKey192.rsp\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: 800000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: de885dc87f5a92594082d02cc1e1b42c\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: c00000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 132b074e80f2a597bf5febd8ea5da55e\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: e00000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 6eccedf8de592c22fb81347b79f2db1f\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: f00000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 180b09f267c45145db2f826c2582d35c\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: f80000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: edd807ef7652d7eb0e13c8b5e15b3bc0\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: fc0000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 9978bcf8dd8fd72241223ad24b31b8a4\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: fe0000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 5310f654343e8f27e12c83a48d24ff81\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: ff0000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 833f71258d53036b02952c76c744f5a1\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: ff8000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: eba83ff200cff9318a92f8691a06b09f\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: ffc000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: ff620ccbe9f3292abdf2176b09f04eba\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: ffe000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 7ababc4b3f516c9aafb35f4140b548f9\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: fff000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: aa187824d9c4582b0916493ecbde8c57\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: fff800000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 1c0ad553177fd5ea1092c9d626a29dc4\n\nCipher: AES-192-CTR\nOp", "eration: ENCRYPT\nKey: fffc00000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: a5dc46c37261194124ecaebd680408ec\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: fffe00000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: e4f2f2ae23e9b10bacfa58601531ba54\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: ffff00000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: b7d67cf1a1e91e8ff3a57a172c7bf412\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: ffff80000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 26706be06967884e847d137128ce47b3\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: ffffc0000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: b2f8b409b0585909aad3a7b5a219072a\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: ffffe0000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 5e4b7bff0290c78344c54a23b722cd20\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: fffff0000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 07093657552d4414227ce161e9ebf7dd\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: fffff8000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: e1af1e7d8bc225ed4dffb771ecbb9e67\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: fffffc000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: ef6555253635d8432156cfd9c11b145a\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: fffffe000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: fb4035074a5d4260c90cbd6da6c3fceb\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: ffffff000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 446ee416f9ad1c103eb0cc96751c88e1\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: ffffff800000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 198ae2a4637ac0a7890a8fd1485445c9\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: ffffffc00000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 562012ec8faded0825fb2fa70ab30cbd\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: ffffffe00000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: cc8a64b46b5d88bf7f247d4dbaf38f05\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: fffffff00000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: a168253762e2cc81b42d1e5001762699\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: fffffff80000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 1b41f83b38ce5032c6cd7af98cf62061\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: fffffffc0000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 61a89990cd1411750d5fb0dc988447d4\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: fffffffe0000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: b5accc8ed629edf8c68a539183b1ea82\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: ffffffff0000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: b16fa71f846b81a13f361c43a851f290\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: ffffffff8000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 4fad6efdff5975aee7692234bcd54488\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: ffffffffc000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: ebfdb05a783d03082dfe5fdd80a00b17\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: ffffffffe000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: eb81b584766997af6ba5529d3bdd8609\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: fffffffff000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 0cf4ff4f49c8a0ca060c443499e29313\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: fffffffff800000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: cc4ba8a8e029f8b26d8afff9df133bb6\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: fffffffffc00000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: fefebf64360f38e4e63558f0ffc550c3\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: fffffffffe00000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 12ad98cbf725137d6a8108c2bed99322\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: ffffffffff00000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 6afaa996226198b3e2610413ce1b3f78\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: ffffffffff80000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 2a8ce6747a7e39367828e290848502d9\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: ffffffffffc0000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 223736e8b8f89ca1e37b6deab40facf1\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: ffffffffffe0000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: c0f797e50418b95fa6013333917a9480\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: fffffffffff0000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: a758de37c2ece2a02c73c01fedc9a132\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: fffffffffff8000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 3a9b87ae77bae706803966c66c73adbd\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: fffffffffffc000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: d365ab8df8ffd782e358121a4a4fc541\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: fffffffffffe000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: c8dcd9e6f75e6c36c8daee0466f0ed74\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: ffffffffffff000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: c79a637beb1c0304f14014c037e736dd\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: ffffffffffff800000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 105f0a25e84ac930d996281a5f954dd9\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: ffffffffffffc00000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 42e4074b2927973e8d17ffa92f7fe615\n\nCipher: AES-192-CTR\nOperation: ENCRYPT\nKey: ffffffffffffe00000000000000000", @@ -1559,9 +1639,9 @@ static const char *kData24[] = { "000000000000000000000000000000\nCiphertext: 0882a16f44088d42447a29ac090ec17e\nIV: fffffffffffffff00000000000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 3a3c15bfc11a9537c130687004e136ee\nIV: fffffffffffffff80000000000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 22c0a7678dc6d8cf5c8a6d5a9960767c\nIV: fffffffffffffffc0000000000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: b46b09809d68b9a456432a79bdc2e38c\nIV: fffffffffffffffe0000000000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 93baaffb35fbe739c17c6ac22eecf18f\nIV: ffffffffffffffff0000000000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: c8aa80a7850675bc007c46df06b49868\nIV: ffffffffffffffff8000000000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 12c6f3877af421a918a84b775858021d\nIV: ffffffffffffffffc000000000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 33f123282c5d633924f7d5ba3f3cab11\nIV: ffffffffffffffffe000000000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: a8f161002733e93ca4527d22c1a0c5bb\nIV: fffffffffffffffff000000000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: b72f70ebf3e3fda23f508eec76b42c02\nIV: fffffffffffffffff800000000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 6a9d965e6274143f25afdcfc88ffd77c\nIV: fffffffffffffffffc00000000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: a0c74fd0b9361764ce91c5200b095357\nIV: fffffffffffffffffe00000000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 091d1fdc2bd2c346cd5046a8c6209146\nIV: ffffffffffffffffff00000000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: e2a37580116cfb71856254496ab0aca8\nIV: ffffffffffffffffff80000000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: e0b3a00785917c7efc9adba322813571\nIV: ffffffffffffffffffc0000000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 733d41f4727b5ef0df4af4cf3cffa0cb\nIV: ffffffffffffffffffe0000000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: a99ebb030260826f981ad3e64490aa4f\nIV: fffffffffffffffffff0000000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 73f34c7d3eae5e80082c1647524308ee\nIV: fffffffffffffffffff8000000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 40ebd5ad082345b7a2097ccd3464da02\nIV: fffffffffffffffffffc000000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 7cc4ae9a424b2cec90c97153c2457ec5\nIV: fffffffffffffffffffe000000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 54d632d03aba0bd0f91877ebdd4d09cb\nIV: ffffffffffffffffffff000000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: d3427be7e4d27cd54f5fe37b03cf0897\nIV: ffffffffffffffffffff800000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: b2099795e88cc158fd75ea133d7e7fbe\nIV: ffffffffffffffffffffc00000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: a6cae46fb6fadfe7a2c302a34242817b\nIV: ffffffffffffffffffffe00000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 026a7024d6a902e0b3ffccbaa910cc3f\nIV: fffffffffffffffffffff00000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 156f07767a85a4312321f63968338a01\nIV: fffffffffffffffffffff80000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 15eec9ebf42b9ca76897d2cd6c5a12e2\nIV: fffffffffffffffffffffc0000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: db0d3a6fdcc13f915e2b302ceeb70fd8\nIV: fffffffffffffffffffffe0000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 71dbf37e87a2e34d15b20e8f10e48924\nIV: ffffffffffffffffffffff0000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: c745c451e96ff3c045e4367c833e3b54\nIV: ffffffffffffffffffffff8000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 340da09c2dd11c3b679d08ccd27dd595\nIV: ffffffffffffffffffffffc000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 8279f7c0c2a03ee660c6d392db025d18\nIV: ffffffffffffffffffffffe000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: a4b2c7d8eba531ff47c5041a55fbd1ec\nIV: fffffffffffffffffffffff000000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 74569a2ca5a7bd5131ce8dc7cbfbf72f\nIV: fffffffffffffffffffffff800000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 3713da0c0219b63454035613b5a403dd\nIV: fffffffffffffffffffffffc00000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 8827551ddcc9df23fa72a3de4e9f0b07\nIV: fffffffffffffffffffffffe00000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 2e3febfd625bfcd0a2c06eb460da1732\nIV: ffffffffffffffffffffffff00000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: ee82e6ba4", "88156f76496311da6941deb\nIV: ffffffffffffffffffffffff80000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 4770446f01d1f391256e85a1b30d89d3\nIV: ffffffffffffffffffffffffc0000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: af04b68f104f21ef2afb4767cf74143c\nIV: ffffffffffffffffffffffffe0000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: cf3579a9ba38c8e43653173e14f3a4c6\nIV: fffffffffffffffffffffffff0000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: b3bba904f4953e09b54800af2f62e7d4\nIV: fffffffffffffffffffffffff8000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: fc4249656e14b29eb9c44829b4c59a46\nIV: fffffffffffffffffffffffffc000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 9b31568febe81cfc2e65af1c86d1a308\nIV: fffffffffffffffffffffffffe000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 9ca09c25f273a766db98a480ce8dfedc\nIV: ffffffffffffffffffffffffff000000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: b909925786f34c3c92d971883c9fbedf\nIV: ffffffffffffffffffffffffff800000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 82647f1332fe570a9d4d92b2ee771d3b\nIV: ffffffffffffffffffffffffffc00000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 3604a7e80832b3a99954bca6f5b9f501\nIV: ffffffffffffffffffffffffffe00000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 884607b128c5de3ab39a529a1ef51bef\nIV: fffffffffffffffffffffffffff00000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 670cfa093d1dbdb2317041404102435e\nIV: fffffffffffffffffffffffffff80000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 7a867195f3ce8769cbd336502fbb5130\nIV: fffffffffffffffffffffffffffc0000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 52efcf64c72b2f7ca5b3c836b1078c15\nIV: fffffffffffffffffffffffffffe0000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 4019250f6eefb2ac5ccbcae044e75c7e\nIV: ffffffffffffffffffffffffffff0000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 022c4f6f5a017d292785627667ddef24\nIV: ffffffffffffffffffffffffffff8000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: e9c21078a2eb7e03250f71000fa9e3ed\nIV: ffffffffffffffffffffffffffffc000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: a13eaeeb9cd391da4e2b09490b3e7fad\nIV: ffffffffffffffffffffffffffffe000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: c958a171dca1d4ed53e1af1d380803a9\nIV: fffffffffffffffffffffffffffff000\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 21442e07a110667f2583eaeeee44dc8c\nIV: fffffffffffffffffffffffffffff800\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 59bbb353cf1dd867a6e33737af655e99\nIV: fffffffffffffffffffffffffffffc00\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 43cd3b25375d0ce41087ff9fe2829639\nIV: fffffffffffffffffffffffffffffe00\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 6b98b17e80d1118e3516bd768b285a84\nIV: ffffffffffffffffffffffffffffff00\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: ae47ed3676ca0c08deea02d95b81db58\nIV: ffffffffffffffffffffffffffffff80\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 34ec40dc20413795ed53628ea748720b\nIV: ffffffffffffffffffffffffffffffc0\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 4dc68163f8e9835473253542c8a65d46\nIV: ffffffffffffffffffffffffffffffe0\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 2aabb999f43693175af65c6c612c46fb\nIV: fffffffffffffffffffffffffffffff0\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: e01f94499dac3547515c5b1d756f0f58\nIV: fffffffffffffffffffffffffffffff8\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 9d12435a46480ce00ea349f71799df9a\nIV: fffffffffffffffffffffffffffffffc\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: cef41d16d266bdfe46938ad7884cc0cf\nIV: fffffffffffffffffffffffffffffffe\n\nCipher: AES-192-CTR\nOperation: DECRYPT\nKey: 000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: b13db4da1f718bc6904797c82bcf2d32\nIV: ffffffffffffffffffffffffffffffff\n\n", }; -static const size_t kLen25 = 191479; +static const size_t kLen26 = 191479; -static const char *kData25[] = { +static const char *kData26[] = { "# Generated by \"make_cavp -cipher=aes -extra-labels=Cipher=AES-256-CBC kat_aes/CBCGFSbox256.rsp kat_aes/CBCKeySbox256.rsp kat_aes/CBCVarKey256.rsp kat_aes/CBCVarTxt256.rsp\"\n\n# File 1: kat_aes/CBCGFSbox256.rsp\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 014730f80ac625fe84f026c60bfd547d\nCiphertext: 5c9d844ed46f9885085e5d6a4f94c7d7\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 0b24af36193ce4665f2825d7b4749c98\nCiphertext: a9ff75bd7cf6613d3731c77c3b6d0c04\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 761c1fe41a18acf20d241650611d90f1\nCiphertext: 623a52fcea5d443e48d9181ab32c7421\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 8a560769d605868ad80d819bdba03771\nCiphertext: 38f2c7ae10612415d27ca190d27da8b4\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 91fbef2d15a97816060bee1feaa49afe\nCiphertext: 1bc704f1bce135ceb810341b216d7abe\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 5c9d844ed46f9885085e5d6a4f94c7d7\nPlaintext: 014730f80ac625fe84f026c60bfd547d\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: a9ff75bd7cf6613d3731c77c3b6d0c04\nPlaintext: 0b24af36193ce4665f2825d7b4749c98\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 623a52fcea5d443e48d9181ab32c7421\nPlaintext: 761c1fe41a18acf20d241650611d90f1\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 38f2c7ae10612415d27ca190d27da8b4\nPlaintext: 8a560769d605868ad80d819bdba03771\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 1bc704f1bce135ceb810341b216d7abe\nPlaintext: 91fbef2d15a97816060bee1feaa49afe\n\n# File 2: kat_aes/CBCKeySbox256.rsp\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: c47b0294dbbbee0fec4757f22ffeee3587ca4730c3d33b691df38bab076bc558\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 46f2fb342d6f0ab477476fc501242c5f\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: 28d46cffa158533194214a91e712fc2b45b518076675affd910edeca5f41ac64\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 4bf3b0a69aeb6657794f2901b1440ad4\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: c1cc358b449909a19436cfbb3f852ef8bcb5ed12ac7058325f56e6099aab1a1c\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 352065272169abf9856843927d0674fd\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: 984ca75f4ee8d706f46c2d98c0bf4a45f5b00d791c2dfeb191b5ed8e420fd627\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 4307456a9e67813b452e15fa8fffe398\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: b43d08a447ac8609baadae4ff12918b9f68fc1653f1269222f123981ded7a92f\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 4663446607354989477a5c6f0f007ef4\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: 1d85a181b54cde51f0e098095b2962fdc93b51fe9b88602b3f54130bf76a5bd9\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 531c2c38344578b84d50b3c917bbb6e1\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: dc0eba1f2232a7879ded34ed8428eeb8769b056bbaf8ad77cb65c3541430b4cf\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: fc6aec906323480005c58e7e1ab004ad\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: f8be9ba615c5a952cabbca24f68f8593039624d524c816acda2c9183bd917cb9\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: a3944b95ca0b52043584ef02151926a8\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: 797f8b3d176dac5b7e34a2d539c4ef367a16f8635f6264737591c5c07bf57a3e\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: a74289fe73a4c123ca189ea1e1b49ad5\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: 6838d40caf927749c13f0329d331f448e202c73ef52c5f73a37ca635d4c47707\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: b91d4ea4488644b56cf0812fa7fcf5fc\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: ccd1bc3c659cd3c59bc437484e3c5c724441da8d6e90ce556cd57d0752663bbc\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 304f81ab61a80c2e743b94d5002a126b\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: 13428b5e4c005e0636dd338405d173ab135dec2a25c22c5df0722d69dcc43887\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 649a71545378c783e368c9ade7114f6c\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: 07eb03a08d291d1b07408bf3512ab40c91097ac77461aad4bb859647f74f00ee\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 47cb030da2ab051dfc6c4bf6910d12bb\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: 90143ae20cd78c5d8ebdd6cb9dc1762427a96c78c639bccc41a61424564eafe1\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 798c7c005dee432b2c8ea5dfa381ecc3\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: b7a5794d52737475d53d5a377200849be0260a67a2b22ced8bbef12882270d07\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 637c31dc2591a07636f646b72daabbe7\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: fca02f3d5011cfc5c1e23165d413a049d4526a991827424d896fe3435e0bf68e\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 179a49c712154bbffbe6e7a84a18e220\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: c47b0294dbbbee0fec4757f22ffeee3587ca4730c3d33b691df38bab076bc558\nIV: 00000000000000000000000000000000\nCiphertext: 46f2fb342d6f0ab477476fc501242c5f\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 28d46cffa158533194214a91e712fc2b45b518076675affd910edeca5f41ac64\nIV: 00000000000000000000000000000000\nCiphertext: 4bf3b0a69aeb6657794f2901b1440ad4\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: c1cc358b449909a19436cfbb3f852ef8bcb5ed12ac7058325f56e6099aab1a1c\nIV: 00000000000000000000000000000000\nCiphertext: 352065272169abf9856843927d0674fd\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 984ca75f4ee8d706f46c2d98c0bf4a45f5b00d791c2dfeb191b5ed8e420fd627\nIV: 00000000000000000000000000000000\nCiphertext: 4307456a9e67813b452e15fa8fffe398\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: b43d08a447ac8609baadae4ff12918b9f68fc1653f1269222f123981ded7a92f\nIV: 00000000000000000000000000000000\nCiphertext: 4663446607354989477a5c6f0f007ef4\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 1d85a181b54cde51f0e098095b2962fdc93b51fe9b88602b3f54130bf76a5bd9\nIV: 00000000000000000000000000000000\nCiphertext: 531c2c38344578b84d50b3c917bbb6e1\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: dc0eba1f2232a7879ded34ed8428eeb8769b056bbaf8ad77cb65c3541430b4cf\nIV: 00000000000000000000000000000000\nCiphertext: fc6aec906323480005c58e7e1ab004ad\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: f8be9ba615c5a952cabbca24f68f8593039624d524c816acda2c9183bd917cb9\nIV: 00000000000000000000000000000000\nCiphertext:", " a3944b95ca0b52043584ef02151926a8\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 797f8b3d176dac5b7e34a2d539c4ef367a16f8635f6264737591c5c07bf57a3e\nIV: 00000000000000000000000000000000\nCiphertext: a74289fe73a4c123ca189ea1e1b49ad5\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 6838d40caf927749c13f0329d331f448e202c73ef52c5f73a37ca635d4c47707\nIV: 00000000000000000000000000000000\nCiphertext: b91d4ea4488644b56cf0812fa7fcf5fc\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: ccd1bc3c659cd3c59bc437484e3c5c724441da8d6e90ce556cd57d0752663bbc\nIV: 00000000000000000000000000000000\nCiphertext: 304f81ab61a80c2e743b94d5002a126b\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 13428b5e4c005e0636dd338405d173ab135dec2a25c22c5df0722d69dcc43887\nIV: 00000000000000000000000000000000\nCiphertext: 649a71545378c783e368c9ade7114f6c\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 07eb03a08d291d1b07408bf3512ab40c91097ac77461aad4bb859647f74f00ee\nIV: 00000000000000000000000000000000\nCiphertext: 47cb030da2ab051dfc6c4bf6910d12bb\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 90143ae20cd78c5d8ebdd6cb9dc1762427a96c78c639bccc41a61424564eafe1\nIV: 00000000000000000000000000000000\nCiphertext: 798c7c005dee432b2c8ea5dfa381ecc3\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: b7a5794d52737475d53d5a377200849be0260a67a2b22ced8bbef12882270d07\nIV: 00000000000000000000000000000000\nCiphertext: 637c31dc2591a07636f646b72daabbe7\nPlaintext: 00000000000000000000000000000000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: fca02f3d5011cfc5c1e23165d413a049d4526a991827424d896fe3435e0bf68e\nIV: 00000000000000000000000000000000\nCiphertext: 179a49c712154bbffbe6e7a84a18e220\nPlaintext: 00000000000000000000000000000000\n\n# File 3: kat_aes/CBCVarKey256.rsp\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: 8000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: e35a6dcb19b201a01ebcfa8aa22b5759\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: c000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: b29169cdcf2d83e838125a12ee6aa400\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: e000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: d8f3a72fc3cdf74dfaf6c3e6b97b2fa6\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: f000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 1c777679d50037c79491a94da76a9a35\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: f800000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 9cf4893ecafa0a0247a898e040691559\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: fc00000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 8fbb413703735326310a269bd3aa94b2\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: fe00000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 60e32246bed2b0e859e55c1cc6b26502\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: ff00000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: ec52a212f80a09df6317021bc2a9819e\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: ff80000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: f23e5b600eb70dbccf6c0b1d9a68182c\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: ffc0000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: a3f599d63a82a968c33fe26590745970\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: ffe0000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: d1ccb9b1337002cbac42c520b5d67722\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: fff0000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: cc111f6c37cf40a1159d00fb59fb0488\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: fff8000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: dc43b51ab609052372989a26e9cdd714\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: fffc000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 4dcede8da9e2578f39703d4433dc6459\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: fffe000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 1a4c1c263bbccfafc11782894685e3a8\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: ffff000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 937ad84880db50613423d6d527a2823d\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: ffff800000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 610b71dfc688e150d8152c5b35ebc14d\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: ffffc00000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 27ef2495dabf323885aab39c80f18d8b\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: ffffe00000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 633cafea395bc03adae3a1e2068e4b4e\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: fffff00000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 6e1b482b53761cf631819b749a6f3724\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: fffff80000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 976e6f851ab52c771998dbb2d71c75a9\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: fffffc0000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 85f2ba84f8c307cf525e124c3e22e6cc\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: fffffe0000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 6bcca98bf6a835fa64955f72de4115fe\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: ffffff0000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 2c75e2d36eebd65411f14fd0eb1d2a06\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: ffffff8000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: bd49295006250ffca5100b6007a0eade\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: ffffffc000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: a190527d0ef7c70f459cd3940df316ec\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: ffffffe00", "0000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: bbd1097a62433f79449fa97d4ee80dbf\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: fffffff000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 07058e408f5b99b0e0f061a1761b5b3b\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: fffffff800000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 5fd1f13fa0f31e37fabde328f894eac2\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: fffffffc00000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: fc4af7c948df26e2ef3e01c1ee5b8f6f\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: fffffffe00000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 829fd7208fb92d44a074a677ee9861ac\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: ffffffff00000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: ad9fc613a703251b54c64a0e76431711\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: ffffffff80000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 33ac9eccc4cc75e2711618f80b1548e8\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: ffffffffc0000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 2025c74b8ad8f4cda17ee2049c4c902d\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: ffffffffe0000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: f85ca05fe528f1ce9b790166e8d551e7\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: fffffffff0000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 6f6238d8966048d4967154e0dad5a6c9\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: fffffffff8000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: f2b21b4e7640a9b3346de8b82fb41e49\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: fffffffffc000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: f836f251ad1d11d49dc344628b1884e1\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: fffffffffe000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 077e9470ae7abea5a9769d49182628c3\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: ffffffffff000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: e0dcc2d27fc9865633f85223cf0d611f\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: ffffffffff800000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: be66cfea2fecd6bf0ec7b4352c99bcaa\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: ffffffffffc00000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: df31144f87a2ef523facdcf21a427804\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: ffffffffffe00000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: b5bb0f5629fb6aae5e1839a3c3625d63\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: fffffffffff00000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 3c9db3335306fe1ec612bdbfae6b6028\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: fffffffffff80000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 3dd5c34634a79d3cfcc8339760e6f5f4\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: fffffffffffc0000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 82bda118a3ed7af314fa2ccc5c07b761\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: fffffffffffe0000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 2937a64f7d4f46fe6fea3b349ec78e38\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: ffffffffffff0000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 225f068c28476605735ad671bb8f39f3\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: ffffffffffff8000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: ae682c5ecd71898e08942ac9aa89875c\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: ffffffffffffc000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 5e031cb9d676c3022d7f26227e85c38f\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: ffffffffffffe000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: a78463fb064db5d52bb64bfef64f2dda\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: fffffffffffff000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 8aa9b75e784593876c53a00eae5af52b\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: fffffffffffff800000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 3f84566df23da48af692722fe980573a\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: fffffffffffffc00000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 31690b5ed41c7eb42a1e83270a7ff0e6\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: fffffffffffffe00000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 77dd7702646d55f08365e477d3590eda\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: ffffffffffffff00000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 4c022ac62b3cb78d739cc67b3e20bb7e\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: ffffffffffffff80000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 092fa137ce18b5dfe7906f550bb13370\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: ffffffffffffffc0000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 3e0cdadf2e68353c0027672c97144dd3\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: ffffffffffffffe0000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: d8c4b200b383fc1f2b2ea677618a1d27\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: fffffffffffffff0000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 11825f99b0e9bb3477c1c0713b015aac\n\nCipher: AES-256-CBC\nOperation: ENCRYPT\nKey: fffffffffffffff8000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: f8b9fffb5c187f7ddc7", @@ -1587,9 +1667,9 @@ static const char *kData25[] = { "00000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 4cc42fc1407b008fe350907c092e80ac\nPlaintext: ffffffffffffffffffff800000000000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 08b244ce7cbc8ee97fbba808cb146fda\nPlaintext: ffffffffffffffffffffc00000000000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 39b333e8694f21546ad1edd9d87ed95b\nPlaintext: ffffffffffffffffffffe00000000000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 3b271f8ab2e6e4a20ba8090f43ba78f3\nPlaintext: fffffffffffffffffffff00000000000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 9ad983f3bf651cd0393f0a73cccdea50\nPlaintext: fffffffffffffffffffff80000000000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 8f476cbff75c1f725ce18e4bbcd19b32\nPlaintext: fffffffffffffffffffffc0000000000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 905b6267f1d6ab5320835a133f096f2a\nPlaintext: fffffffffffffffffffffe0000000000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 145b60d6d0193c23f4221848a892d61a\nPlaintext: ffffffffffffffffffffff0000000000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 55cfb3fb6d75cad0445bbc8dafa25b0f\nPlaintext: ffffffffffffffffffffff8000000000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 7b8e7098e357ef71237d46d8b075b0f5\nPlaintext: ffffffffffffffffffffffc000000000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 2bf27229901eb40f2df9d8398d1505ae\nPlaintext: ffffffffffffffffffffffe000000000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 83a63402a77f9ad5c1e931a931ecd706\nPlaintext: fffffffffffffffffffffff000000000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 6f8ba6521152d31f2bada1843e26b973\nPlaintext: fffffffffffffffffffffff800000000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: e5c3b8e30fd2d8e6239b17b44bd23bbd\nPlaintext: fffffffffffffffffffffffc00000000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 1ac1f7102c59933e8b2ddc3f14e94baa\nPlaintext: fffffffffffffffffffffffe00000000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 21d9ba49f276b45f11af8fc71a088e3d\nPlaintext: ffffffffffffffffffffffff00000000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 649f1cddc3792b4638635a392bc9bade\nPlaintext: ffffffffffffffffffffffff80000000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: e2775e4b59c1bc2e31a2078c11b5a08c\nPlaintext: ffffffffffffffffffffffffc0000000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 2be1fae5048a25582a679ca10905eb80\nPlaintext: ffffffffffffffffffffffffe0000000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: da86f292c6f41ea34fb2068df75ecc29\nPlaintext: fffffffffffffffffffffffff0000000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 220df19f85d69b1b562fa69a3c5beca5\nPlaintext: fffffffffffffffffffffffff8000000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 1f11d5d0355e0b556ccdb6c7f5083b4d\nPlaintext: fffffffffffffffffffffffffc000000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 62526b78be79cb384633c91f83b4151b\nPlaintext: fffffffffffffffffffffffffe000000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 90ddbcb950843592dd47bbef00fdc876\nPlaintext: ffffffffffffffffffffffffff000000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 2fd0e41c5b8402277354a7391d2618e2\nPlaintext: ffffffffffffffffffffffffff800000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 3cdf13e72dee4c581bafec70b85f9660\nPlaintext: ffffffffffffffffffffffffffc00000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: afa2ffc137577092e2b654fa199d2c43\nPlaintext: ffffffffffffffffffffffffffe00000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 8d683ee63e60d208e343ce48dbc44cac\nPlaintext: fffffffffffffffffffffffffff00000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 705a4ef8ba2133729c20185c3d3a4763\nPlaintext: fffffffffffffffffffffffffff80000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 0861a861c3db4e94194211b77ed761b9\nPlaintext: fffffffffffffffffffffffffffc0000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 4b00c27e8b26da7eab9d3a88dec8b031\nPlaintext: fffffffffffffffffffffffffffe0000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 5f397bf03084820cc8810d52e5b666e9\nPlaintext: ffffffffffffffffffffffffffff0000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 63fafabb72c07bfbd3ddc9b1203104b8\nPlaintext: ffffffffffffffffffffffffffff8000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 683e2140585b18452dd4ffbb93c95df9\nPlaintext: ffffffffffffffffffffffffffffc000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 286894e48e537f8763b56707d7d155c8\nPlaintext: ffffffffffffffffffffffffffffe000\n\nCiphe", "r: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: a423deabc173dcf7e2c4c53e77d37cd1\nPlaintext: fffffffffffffffffffffffffffff000\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: eb8168313e1cfdfdb5e986d5429cf172\nPlaintext: fffffffffffffffffffffffffffff800\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 27127daafc9accd2fb334ec3eba52323\nPlaintext: fffffffffffffffffffffffffffffc00\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: ee0715b96f72e3f7a22a5064fc592f4c\nPlaintext: fffffffffffffffffffffffffffffe00\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 29ee526770f2a11dcfa989d1ce88830f\nPlaintext: ffffffffffffffffffffffffffffff00\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 0493370e054b09871130fe49af730a5a\nPlaintext: ffffffffffffffffffffffffffffff80\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 9b7b940f6c509f9e44a4ee140448ee46\nPlaintext: ffffffffffffffffffffffffffffffc0\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 2915be4a1ecfdcbe3e023811a12bb6c7\nPlaintext: ffffffffffffffffffffffffffffffe0\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 7240e524bc51d8c4d440b1be55d1062c\nPlaintext: fffffffffffffffffffffffffffffff0\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: da63039d38cb4612b2dc36ba26684b93\nPlaintext: fffffffffffffffffffffffffffffff8\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 0f59cb5a4b522e2ac56c1a64f558ad9a\nPlaintext: fffffffffffffffffffffffffffffffc\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 7bfe9d876c6d63c1d035da8fe21c409d\nPlaintext: fffffffffffffffffffffffffffffffe\n\nCipher: AES-256-CBC\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: acdace8078a32b1a182bfa4987ca1347\nPlaintext: ffffffffffffffffffffffffffffffff\n\n", }; -static const size_t kLen26 = 191498; +static const size_t kLen27 = 191498; -static const char *kData26[] = { +static const char *kData27[] = { "# Generated by \"make_cavp -cipher=aes -extra-labels=Cipher=AES-256-CTR -swap-iv-plaintext kat_aes/CBCGFSbox256.rsp kat_aes/CBCKeySbox256.rsp kat_aes/CBCVarKey256.rsp kat_aes/CBCVarTxt256.rsp\"\n\n# File 1: kat_aes/CBCGFSbox256.rsp\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 014730f80ac625fe84f026c60bfd547d\nCiphertext: 5c9d844ed46f9885085e5d6a4f94c7d7\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 0b24af36193ce4665f2825d7b4749c98\nCiphertext: a9ff75bd7cf6613d3731c77c3b6d0c04\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 761c1fe41a18acf20d241650611d90f1\nCiphertext: 623a52fcea5d443e48d9181ab32c7421\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 8a560769d605868ad80d819bdba03771\nCiphertext: 38f2c7ae10612415d27ca190d27da8b4\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 91fbef2d15a97816060bee1feaa49afe\nCiphertext: 1bc704f1bce135ceb810341b216d7abe\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 5c9d844ed46f9885085e5d6a4f94c7d7\nIV: 014730f80ac625fe84f026c60bfd547d\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: a9ff75bd7cf6613d3731c77c3b6d0c04\nIV: 0b24af36193ce4665f2825d7b4749c98\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 623a52fcea5d443e48d9181ab32c7421\nIV: 761c1fe41a18acf20d241650611d90f1\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 38f2c7ae10612415d27ca190d27da8b4\nIV: 8a560769d605868ad80d819bdba03771\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 1bc704f1bce135ceb810341b216d7abe\nIV: 91fbef2d15a97816060bee1feaa49afe\n\n# File 2: kat_aes/CBCKeySbox256.rsp\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: c47b0294dbbbee0fec4757f22ffeee3587ca4730c3d33b691df38bab076bc558\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 46f2fb342d6f0ab477476fc501242c5f\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: 28d46cffa158533194214a91e712fc2b45b518076675affd910edeca5f41ac64\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 4bf3b0a69aeb6657794f2901b1440ad4\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: c1cc358b449909a19436cfbb3f852ef8bcb5ed12ac7058325f56e6099aab1a1c\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 352065272169abf9856843927d0674fd\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: 984ca75f4ee8d706f46c2d98c0bf4a45f5b00d791c2dfeb191b5ed8e420fd627\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 4307456a9e67813b452e15fa8fffe398\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: b43d08a447ac8609baadae4ff12918b9f68fc1653f1269222f123981ded7a92f\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 4663446607354989477a5c6f0f007ef4\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: 1d85a181b54cde51f0e098095b2962fdc93b51fe9b88602b3f54130bf76a5bd9\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 531c2c38344578b84d50b3c917bbb6e1\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: dc0eba1f2232a7879ded34ed8428eeb8769b056bbaf8ad77cb65c3541430b4cf\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: fc6aec906323480005c58e7e1ab004ad\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: f8be9ba615c5a952cabbca24f68f8593039624d524c816acda2c9183bd917cb9\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: a3944b95ca0b52043584ef02151926a8\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: 797f8b3d176dac5b7e34a2d539c4ef367a16f8635f6264737591c5c07bf57a3e\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: a74289fe73a4c123ca189ea1e1b49ad5\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: 6838d40caf927749c13f0329d331f448e202c73ef52c5f73a37ca635d4c47707\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: b91d4ea4488644b56cf0812fa7fcf5fc\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: ccd1bc3c659cd3c59bc437484e3c5c724441da8d6e90ce556cd57d0752663bbc\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 304f81ab61a80c2e743b94d5002a126b\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: 13428b5e4c005e0636dd338405d173ab135dec2a25c22c5df0722d69dcc43887\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 649a71545378c783e368c9ade7114f6c\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: 07eb03a08d291d1b07408bf3512ab40c91097ac77461aad4bb859647f74f00ee\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 47cb030da2ab051dfc6c4bf6910d12bb\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: 90143ae20cd78c5d8ebdd6cb9dc1762427a96c78c639bccc41a61424564eafe1\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 798c7c005dee432b2c8ea5dfa381ecc3\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: b7a5794d52737475d53d5a377200849be0260a67a2b22ced8bbef12882270d07\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 637c31dc2591a07636f646b72daabbe7\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: fca02f3d5011cfc5c1e23165d413a049d4526a991827424d896fe3435e0bf68e\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 179a49c712154bbffbe6e7a84a18e220\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: c47b0294dbbbee0fec4757f22ffeee3587ca4730c3d33b691df38bab076bc558\nPlaintext: 00000000000000000000000000000000\nCiphertext: 46f2fb342d6f0ab477476fc501242c5f\nIV: 00000000000000000000000000000000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 28d46cffa158533194214a91e712fc2b45b518076675affd910edeca5f41ac64\nPlaintext: 00000000000000000000000000000000\nCiphertext: 4bf3b0a69aeb6657794f2901b1440ad4\nIV: 00000000000000000000000000000000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: c1cc358b449909a19436cfbb3f852ef8bcb5ed12ac7058325f56e6099aab1a1c\nPlaintext: 00000000000000000000000000000000\nCiphertext: 352065272169abf9856843927d0674fd\nIV: 00000000000000000000000000000000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 984ca75f4ee8d706f46c2d98c0bf4a45f5b00d791c2dfeb191b5ed8e420fd627\nPlaintext: 00000000000000000000000000000000\nCiphertext: 4307456a9e67813b452e15fa8fffe398\nIV: 00000000000000000000000000000000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: b43d08a447ac8609baadae4ff12918b9f68fc1653f1269222f123981ded7a92f\nPlaintext: 00000000000000000000000000000000\nCiphertext: 4663446607354989477a5c6f0f007ef4\nIV: 00000000000000000000000000000000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 1d85a181b54cde51f0e098095b2962fdc93b51fe9b88602b3f54130bf76a5bd9\nPlaintext: 00000000000000000000000000000000\nCiphertext: 531c2c38344578b84d50b3c917bbb6e1\nIV: 00000000000000000000000000000000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: dc0eba1f2232a7879ded34ed8428eeb8769b056bbaf8ad77cb65c3541430b4cf\nPlaintext: 00000000000000000000000000000000\nCiphertext: fc6aec906323480005c58e7e1ab004ad\nIV: 00000000000000000000000000000000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: f8be9ba615c5a952cabbca24f68f8593039624d524c816acda2c9183bd917cb9\nPlaintext: 000000000000000000", "00000000000000\nCiphertext: a3944b95ca0b52043584ef02151926a8\nIV: 00000000000000000000000000000000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 797f8b3d176dac5b7e34a2d539c4ef367a16f8635f6264737591c5c07bf57a3e\nPlaintext: 00000000000000000000000000000000\nCiphertext: a74289fe73a4c123ca189ea1e1b49ad5\nIV: 00000000000000000000000000000000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 6838d40caf927749c13f0329d331f448e202c73ef52c5f73a37ca635d4c47707\nPlaintext: 00000000000000000000000000000000\nCiphertext: b91d4ea4488644b56cf0812fa7fcf5fc\nIV: 00000000000000000000000000000000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: ccd1bc3c659cd3c59bc437484e3c5c724441da8d6e90ce556cd57d0752663bbc\nPlaintext: 00000000000000000000000000000000\nCiphertext: 304f81ab61a80c2e743b94d5002a126b\nIV: 00000000000000000000000000000000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 13428b5e4c005e0636dd338405d173ab135dec2a25c22c5df0722d69dcc43887\nPlaintext: 00000000000000000000000000000000\nCiphertext: 649a71545378c783e368c9ade7114f6c\nIV: 00000000000000000000000000000000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 07eb03a08d291d1b07408bf3512ab40c91097ac77461aad4bb859647f74f00ee\nPlaintext: 00000000000000000000000000000000\nCiphertext: 47cb030da2ab051dfc6c4bf6910d12bb\nIV: 00000000000000000000000000000000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 90143ae20cd78c5d8ebdd6cb9dc1762427a96c78c639bccc41a61424564eafe1\nPlaintext: 00000000000000000000000000000000\nCiphertext: 798c7c005dee432b2c8ea5dfa381ecc3\nIV: 00000000000000000000000000000000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: b7a5794d52737475d53d5a377200849be0260a67a2b22ced8bbef12882270d07\nPlaintext: 00000000000000000000000000000000\nCiphertext: 637c31dc2591a07636f646b72daabbe7\nIV: 00000000000000000000000000000000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: fca02f3d5011cfc5c1e23165d413a049d4526a991827424d896fe3435e0bf68e\nPlaintext: 00000000000000000000000000000000\nCiphertext: 179a49c712154bbffbe6e7a84a18e220\nIV: 00000000000000000000000000000000\n\n# File 3: kat_aes/CBCVarKey256.rsp\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: 8000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: e35a6dcb19b201a01ebcfa8aa22b5759\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: c000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: b29169cdcf2d83e838125a12ee6aa400\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: e000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: d8f3a72fc3cdf74dfaf6c3e6b97b2fa6\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: f000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 1c777679d50037c79491a94da76a9a35\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: f800000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 9cf4893ecafa0a0247a898e040691559\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: fc00000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 8fbb413703735326310a269bd3aa94b2\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: fe00000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 60e32246bed2b0e859e55c1cc6b26502\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: ff00000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: ec52a212f80a09df6317021bc2a9819e\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: ff80000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: f23e5b600eb70dbccf6c0b1d9a68182c\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: ffc0000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: a3f599d63a82a968c33fe26590745970\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: ffe0000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: d1ccb9b1337002cbac42c520b5d67722\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: fff0000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: cc111f6c37cf40a1159d00fb59fb0488\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: fff8000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: dc43b51ab609052372989a26e9cdd714\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: fffc000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 4dcede8da9e2578f39703d4433dc6459\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: fffe000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 1a4c1c263bbccfafc11782894685e3a8\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: ffff000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 937ad84880db50613423d6d527a2823d\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: ffff800000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 610b71dfc688e150d8152c5b35ebc14d\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: ffffc00000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 27ef2495dabf323885aab39c80f18d8b\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: ffffe00000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 633cafea395bc03adae3a1e2068e4b4e\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: fffff00000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 6e1b482b53761cf631819b749a6f3724\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: fffff80000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 976e6f851ab52c771998dbb2d71c75a9\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: fffffc0000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 85f2ba84f8c307cf525e124c3e22e6cc\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: fffffe0000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 6bcca98bf6a835fa64955f72de4115fe\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: ffffff0000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 2c75e2d36eebd65411f14fd0eb1d2a06\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: ffffff8000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: bd49295006250ffca5100b6007a0eade\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: ffffffc000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: a190527d0ef7c70f459cd3940df316ec\n\nCipher: AES-256-CTR\nOperation: ENC", "RYPT\nKey: ffffffe000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: bbd1097a62433f79449fa97d4ee80dbf\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: fffffff000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 07058e408f5b99b0e0f061a1761b5b3b\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: fffffff800000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 5fd1f13fa0f31e37fabde328f894eac2\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: fffffffc00000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: fc4af7c948df26e2ef3e01c1ee5b8f6f\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: fffffffe00000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 829fd7208fb92d44a074a677ee9861ac\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: ffffffff00000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: ad9fc613a703251b54c64a0e76431711\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: ffffffff80000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 33ac9eccc4cc75e2711618f80b1548e8\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: ffffffffc0000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 2025c74b8ad8f4cda17ee2049c4c902d\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: ffffffffe0000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: f85ca05fe528f1ce9b790166e8d551e7\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: fffffffff0000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 6f6238d8966048d4967154e0dad5a6c9\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: fffffffff8000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: f2b21b4e7640a9b3346de8b82fb41e49\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: fffffffffc000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: f836f251ad1d11d49dc344628b1884e1\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: fffffffffe000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 077e9470ae7abea5a9769d49182628c3\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: ffffffffff000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: e0dcc2d27fc9865633f85223cf0d611f\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: ffffffffff800000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: be66cfea2fecd6bf0ec7b4352c99bcaa\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: ffffffffffc00000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: df31144f87a2ef523facdcf21a427804\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: ffffffffffe00000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: b5bb0f5629fb6aae5e1839a3c3625d63\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: fffffffffff00000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 3c9db3335306fe1ec612bdbfae6b6028\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: fffffffffff80000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 3dd5c34634a79d3cfcc8339760e6f5f4\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: fffffffffffc0000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 82bda118a3ed7af314fa2ccc5c07b761\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: fffffffffffe0000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 2937a64f7d4f46fe6fea3b349ec78e38\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: ffffffffffff0000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 225f068c28476605735ad671bb8f39f3\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: ffffffffffff8000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: ae682c5ecd71898e08942ac9aa89875c\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: ffffffffffffc000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 5e031cb9d676c3022d7f26227e85c38f\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: ffffffffffffe000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: a78463fb064db5d52bb64bfef64f2dda\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: fffffffffffff000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 8aa9b75e784593876c53a00eae5af52b\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: fffffffffffff800000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 3f84566df23da48af692722fe980573a\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: fffffffffffffc00000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 31690b5ed41c7eb42a1e83270a7ff0e6\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: fffffffffffffe00000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 77dd7702646d55f08365e477d3590eda\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: ffffffffffffff00000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 4c022ac62b3cb78d739cc67b3e20bb7e\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: ffffffffffffff80000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 092fa137ce18b5dfe7906f550bb13370\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: ffffffffffffffc0000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 3e0cdadf2e68353c0027672c97144dd3\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: ffffffffffffffe0000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: d8c4b200b383fc1f2b2ea677618a1d27\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: fffffffffffffff0000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: 11825f99b0e9bb3477c1c0713b015aac\n\nCipher: AES-256-CTR\nOperation: ENCRYPT\nKey: fffffffffffffff8000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nIV: 00000000000000000000000000000000\nCiphertext: ", @@ -1615,9 +1695,9 @@ static const char *kData26[] = { "000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 4cc42fc1407b008fe350907c092e80ac\nIV: ffffffffffffffffffff800000000000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 08b244ce7cbc8ee97fbba808cb146fda\nIV: ffffffffffffffffffffc00000000000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 39b333e8694f21546ad1edd9d87ed95b\nIV: ffffffffffffffffffffe00000000000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 3b271f8ab2e6e4a20ba8090f43ba78f3\nIV: fffffffffffffffffffff00000000000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 9ad983f3bf651cd0393f0a73cccdea50\nIV: fffffffffffffffffffff80000000000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 8f476cbff75c1f725ce18e4bbcd19b32\nIV: fffffffffffffffffffffc0000000000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 905b6267f1d6ab5320835a133f096f2a\nIV: fffffffffffffffffffffe0000000000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 145b60d6d0193c23f4221848a892d61a\nIV: ffffffffffffffffffffff0000000000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 55cfb3fb6d75cad0445bbc8dafa25b0f\nIV: ffffffffffffffffffffff8000000000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 7b8e7098e357ef71237d46d8b075b0f5\nIV: ffffffffffffffffffffffc000000000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 2bf27229901eb40f2df9d8398d1505ae\nIV: ffffffffffffffffffffffe000000000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 83a63402a77f9ad5c1e931a931ecd706\nIV: fffffffffffffffffffffff000000000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 6f8ba6521152d31f2bada1843e26b973\nIV: fffffffffffffffffffffff800000000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: e5c3b8e30fd2d8e6239b17b44bd23bbd\nIV: fffffffffffffffffffffffc00000000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 1ac1f7102c59933e8b2ddc3f14e94baa\nIV: fffffffffffffffffffffffe00000000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 21d9ba49f276b45f11af8fc71a088e3d\nIV: ffffffffffffffffffffffff00000000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 649f1cddc3792b4638635a392bc9bade\nIV: ffffffffffffffffffffffff80000000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: e2775e4b59c1bc2e31a2078c11b5a08c\nIV: ffffffffffffffffffffffffc0000000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 2be1fae5048a25582a679ca10905eb80\nIV: ffffffffffffffffffffffffe0000000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: da86f292c6f41ea34fb2068df75ecc29\nIV: fffffffffffffffffffffffff0000000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 220df19f85d69b1b562fa69a3c5beca5\nIV: fffffffffffffffffffffffff8000000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 1f11d5d0355e0b556ccdb6c7f5083b4d\nIV: fffffffffffffffffffffffffc000000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 62526b78be79cb384633c91f83b4151b\nIV: fffffffffffffffffffffffffe000000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 90ddbcb950843592dd47bbef00fdc876\nIV: ffffffffffffffffffffffffff000000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 2fd0e41c5b8402277354a7391d2618e2\nIV: ffffffffffffffffffffffffff800000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 3cdf13e72dee4c581bafec70b85f9660\nIV: ffffffffffffffffffffffffffc00000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: afa2ffc137577092e2b654fa199d2c43\nIV: ffffffffffffffffffffffffffe00000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 8d683ee63e60d208e343ce48dbc44cac\nIV: fffffffffffffffffffffffffff00000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 705a4ef8ba2133729c20185c3d3a4763\nIV: fffffffffffffffffffffffffff80000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 0861a861c3db4e94194211b77ed761b9\nIV: fffffffffffffffffffffffffffc0000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 4b00c27e8b26da7eab9d3a88dec8b031\nIV: fffffffffffffffffffffffffffe0000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 5f397bf03084820cc8810d52e5b666e9\nIV: ffffffffffffffffffffffffffff0000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 63fafabb72c07bfbd3ddc9b1203104b8\nIV: ffffffffffffffffffffffffffff8000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 683e2140585b18452dd4ffbb93c95df9\nIV: ffffffffffffffffffffffffffffc000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 286894e48e537f8763b56707d7d155c8\nIV: ffffffffffffffffffff", "ffffffffe000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: a423deabc173dcf7e2c4c53e77d37cd1\nIV: fffffffffffffffffffffffffffff000\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: eb8168313e1cfdfdb5e986d5429cf172\nIV: fffffffffffffffffffffffffffff800\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 27127daafc9accd2fb334ec3eba52323\nIV: fffffffffffffffffffffffffffffc00\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: ee0715b96f72e3f7a22a5064fc592f4c\nIV: fffffffffffffffffffffffffffffe00\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 29ee526770f2a11dcfa989d1ce88830f\nIV: ffffffffffffffffffffffffffffff00\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 0493370e054b09871130fe49af730a5a\nIV: ffffffffffffffffffffffffffffff80\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 9b7b940f6c509f9e44a4ee140448ee46\nIV: ffffffffffffffffffffffffffffffc0\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 2915be4a1ecfdcbe3e023811a12bb6c7\nIV: ffffffffffffffffffffffffffffffe0\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 7240e524bc51d8c4d440b1be55d1062c\nIV: fffffffffffffffffffffffffffffff0\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: da63039d38cb4612b2dc36ba26684b93\nIV: fffffffffffffffffffffffffffffff8\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 0f59cb5a4b522e2ac56c1a64f558ad9a\nIV: fffffffffffffffffffffffffffffffc\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: 7bfe9d876c6d63c1d035da8fe21c409d\nIV: fffffffffffffffffffffffffffffffe\n\nCipher: AES-256-CTR\nOperation: DECRYPT\nKey: 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext: 00000000000000000000000000000000\nCiphertext: acdace8078a32b1a182bfa4987ca1347\nIV: ffffffffffffffffffffffffffffffff\n\n", }; -static const size_t kLen27 = 5825374; +static const size_t kLen28 = 5825374; -static const char *kData27[] = { +static const char *kData28[] = { "# Generated by \"make_cavp -cipher gcm kat_gcm/gcmDecrypt256.rsp kat_gcm/gcmEncryptExtIV256.rsp\"\n\n# File 1: kat_gcm/gcmDecrypt256.rsp\n\nKEY: f5a2b27c74355872eb3ef6c5feafaa740e6ae990d9d48c3bd9bb8235e589f010\nNONCE: 58d2240f580a31c1d24948e9\nCT: \nAD: \nTAG: 15e051a5e4a5f5da6cea92e2ebee5bac\nIN: \n\nKEY: e5a8123f2e2e007d4e379ba114a2fb66e6613f57c72d4e4f024964053028a831\nNONCE: 51e43385bf533e168427e1ad\nCT: \nAD: \nTAG: 38fe845c66e66bdd884c2aecafd280e6\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: c5ba3bf9ada560fb0301cd4e0b8b8a46a2aff2400395a72ed5804b3c755c4e59\nNONCE: de2b956e704063c000f28bbb\nCT: \nAD: \nTAG: 04eb9b20fd4548dc71594f20073a45a2\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: c1d6162b585e2bac14d554d5675c6ddaa6b93be2eb07f8df86c9bb30f93ae688\nNONCE: f04dfce5c8e7713c71a70cc9\nCT: \nAD: \nTAG: 37fb4f33c82f6fce0c562896b3e10fc2\nIN: \n\nKEY: 70458edea4d95c8b3e069f14e1ad71d9186f482fe6d85088c71db58267e747ec\nNONCE: d6413ee8453a1729a658c6f4\nCT: \nAD: \nTAG: bd9e5e0c6ddc94acf65bf4e301d20a37\nIN: \n\nKEY: aa0bedc56b30418235aa94327062c34e0ddbf931e7bcb964b60678d411baf6cb\nNONCE: 8a7220c9a7e417e5da182bdb\nCT: \nAD: \nTAG: ae7e608491439940b4d1046c28361258\nIN: \n\nKEY: c11ce73ba45d5e33be3efd335c4d67d659284b3a824ae35d5982e9ea4c68145d\nNONCE: 1eeffdbab0745a757789018f\nCT: \nAD: \nTAG: d387f9e6bbbbf273746c9b5276a8618c\nIN: \n\nKEY: 639664a00278e45d18cd4ac1265a4fea39d1cd8d7907a0adb38723209c46a4bf\nNONCE: d838ba74c7ad57ee5266c5b7\nCT: \nAD: \nTAG: 3750f87de43cfa02ef882d6497da082d\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: dc18f40a774ceeb930f0bb45070404783c66988a515db1a36ec0cc0d70fac2fd\nNONCE: 9c3a7dd947e6f50a6577c5ff\nCT: \nAD: \nTAG: 511924f2603d6d38920539fb10178989\nIN: \n\nKEY: 39aed23722e201752d2e53efe66c8f0f695658a63a9a8cecf4e25f02dd7da1d5\nNONCE: ce0108bc35e7ff7ba8408f3f\nCT: \nAD: \nTAG: 66acc084d5f62e639338131f5ab8f6c1\nIN: \n\nKEY: c5c19e080bbbce795754ae25e36dc7aea1589d823fe89835d0286e54de7f3153\nNONCE: 3109398abd423349b9b50adc\nCT: \nAD: \nTAG: 73c92b76997dbd9fe251436a7f61a666\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 831640f910ef709eb0ec3998ea5aa55470082de05ee20ed8b19f067d8af1308e\nNONCE: 443dcee827eb4cc49fe2b287\nCT: \nAD: \nTAG: 005ec26c2d708d5234b7937313dc7384\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 56567431c5210979a8dbb432966a81b3f1db5ec021f8aae0f0c3cce3678cc6fd\nNONCE: 45a97d48000ce1dab68de02e\nCT: \nAD: \nTAG: bbb295fd1e37c317f8130221af50496b\nIN: \n\nKEY: fdf71650d60cb7aa566cdd7ba66f462ed613a1c6c1dfdab0ba8e676fb7a8b935\nNONCE: a035553c5a9b88a67627dbcc\nCT: \nAD: \nTAG: 4a7361a05757e2cb60cc17ff8c5911b7\nIN: \n\nKEY: 3b19d8a4795b52e6dc4f8fd3c091c05a65c8f3cddc665ab473e6144011ae54a4\nNONCE: 23744265b6865b99bed99f11\nCT: \nAD: \nTAG: b7a67b6068d2b22c1b26f795ee1701be\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 31201b86ccb6cbcf289798225c55de5a1c936a18aec996b5b8dcceb33bf96b41\nNONCE: c2c6402f1f5ae89a6fa0fb65\nCT: \nAD: \nTAG: 0b0bebb86a5d60f1f1881cea155e33\nIN: \n\nKEY: 2878cdd980bd1289e2efef7f3116b0a2772d272412e1cfeaf20f90cc278820e9\nNONCE: 9ada69a2f393958cc3866bf9\nCT: \nAD: \nTAG: cff55846db838aaf5e08e88f8d7fe2\nIN: \n\nKEY: 1ee02b8c391d6559ceb1683221821e377d20fb186733d24d2becb73e4121e92b\nNONCE: 70181ecf28be85c68f4dbe86\nCT: \nAD: \nTAG: b90acb4d41e2df4c148d8837ca712b\nIN: \n\nKEY: e8cd41c3d9ee7dca4c5d66753384cd1a034f729595fbeb00042874fe704fe4a8\nNONCE: cab88d202761537e288dcd47\nCT: \nAD: \nTAG: 954296ab400209335f424eb22636a5\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 56fec15de81f78182f3f4d9cda32c3d7744568ab6e2285c7c3384bd17f0a4e22\nNONCE: 71e09145955273fd889cefda\nCT: \nAD: \nTAG: 3b2191283125d17f1f41558279630f\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: f66d1d2bd210d75c555b856c5c61d9c09b035498a9896284c34d9312e35b1065\nNONCE: 10dda1bf8ebca4b0a1f3396d\nCT: \nAD: \nTAG: 6da9c30516fe1d60355a01211669dd\nIN: \n\nKEY: 421ad8416b0558e225e9e3de2ec1c7fc0ea5a3378291dfd4c43f85fb3fa63d59\nNONCE: 23a84ef01256fa90a44e502b\nCT: \nAD: \nTAG: 237b556e56c27f03ff2e893d46dc14\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 5a848b232b428015fc1a86134774558bdb3180f8b853bc32be40b6e4f098a857\nNONCE: cc87b1468b8ee9a5a4e1d7e1\nCT: \nAD: \nTAG: 329be89d4cd62d3d3a755d0989f3e7\nIN: \n\nKEY: 9a865aa04969fe50bcb48b90d75ce72f1ced9337ef81acec5a633eac7544f86d\nNONCE: cf4962b18e6b8f6f4146a0e7\nCT: \nAD: \nTAG: da7e4d68f4f77271537786350f8fcc\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: e106e692ae0285dad853a3232e150c1ccc602d74bf3bd91e0ffa36c33855d152\nNONCE: c4fe31cf2f36bf29080e6317\nCT: \nAD: \nTAG: 2523855a9d0bf9db28c39142aabb76\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: cfae5da8cabe9bd774713bc5b6c5a3ae42a872154636b6f976ee51e6a197a949\nNONCE: 033a03e2d701d1aafea3c399\nCT: \nAD: \nTAG: bb94014b3268e39eb71a2e3f5e65b2\nIN: \n\nKEY: 267b7087ad528cb9564c909b4fd8f9a80787ac2f85f23d10be6d0b2bfa043c09\nNONCE: cf8e3f28b1af597a76d0f538\nCT: \nAD: \nTAG: acec8a91da886b56075e5661fd5281\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 174162718b2e85482533322741309a4d3100c77e4178cd936b9881ab868b9bf9\nNONCE: 6a4abe063efd24fc960c56cb\nCT: \nAD: \nTAG: 1dc929a76cc0f4e28e65367e29002b\nIN: \n\nKEY: badd602c95d173fcb1334a32cd1437fbbfc21813bbefa8457b543a6f05c7ca80\nNONCE: c28a85678f63fd46edf03810\nCT: \nAD: \nTAG: 94f4cc2fb26c2d487b20b01441574f\nIN: \n\nKEY: 8ff59e7c71865c94b637a924132e5519137da18573ee797c981dfd41c70538e7\nNONCE: 80b277f8789d5f1165924d21\nCT: \nAD: \nTAG: fc1bd57ced8be952b9ff6017502ff6\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 799c0a95a15bbe3915cd55ff2af71a437247c74092819c8f398f820b5829b4de\nNONCE: 53be11fdaa1cef09b7cbbdf7\nCT: \nAD: \nTAG: e81916926bbd1cf8d0378467dd99\nIN: \n\nKEY: d24580e7584b7fce9bce2e6a0d1d3bab184ac25171e57c9d67db832325202a96\nNONCE: 2d40c5487ea483e543238c93\nCT: \nAD: \nTAG: ed989ab0f70be34acf71f6ac6a00\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: a8b15b30aa3f69190611031906cc125c98289fed2836f99b29e1d38b2c32c8ed\nNONCE: 317a4522cc374f32458142e2\nCT: \nAD: \nTAG: 4d421b1e0551f632b80f14cc433e\nIN: \n\nKEY: 8f85436046b48589390986646a5ed0e1587d431d1d10ec66d490f38c60ae9182\nNONCE: 6bbe054c533f5d659f5442fd\nCT: \nAD: \nTAG: edf25381a757cf747676fea43772\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 9254c8375c3fe74b35a125a8e9f5109cf880f13ad03b7ff35ac0255efbc51a5d\nNONCE: 912705e60880ea3b9554dd69\nCT: \nAD: \nTAG: a5c899aea5e9483d9506682b6a66\nIN: \n\nKEY: 3a3908ae84d595b377fa7325374a7cf8ab6b70e62d21b8b5be75ae2e31334481\nNONCE: ec3ec0cec10bcbd3f2ea0002\nCT: \nAD: \nTAG: c122ee4d6df5f23f1e48732516e7\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 57eb6a05eb054b404f2d87623fe1340b052d20597e9331ef90ad684d4f660202\nNONCE: ee2468096c2befc44e16d351\nCT: \nAD: \nTAG: 0894132b1594df56b6114419cd4c\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 8704fce138b35ccf644ed70285300df5a7ddb19c3a1e244b6c6764c565812fc6\nNONCE: 8acfc17f01e8200da86009c1\nCT: \nAD: \nTAG: 914a956e661b064f91cfe779bf14\nIN: \n\nKEY: 6bdf1a1a465dc9777147de2f73527f193883ea5241d5cd209939290d73a3e149\nNONCE: c9e36c568487a78cf85269d6\nCT: \nAD: \nTAG: 34fbc5a0c2bb9bf937c4316838da\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 4da9edd0d5f7fe42bd0ff2d6342c9588625bf24ed3e3f5c1a456f2915ead961a\nNONCE: 3f1ece70c54dcc320de79733\nCT: \nAD: \nTAG: 083510a941749021d64ba5ec59d4\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 7a83b53a0b11f4477f673cad123ea5548903759e9d5d856235c59ff3af1caa8d\nNONCE: 7c3f82f7bf425398742916fc\nCT: \nAD: \nTAG: 7de106e354fe15c5111cb127335f\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 4f17984fd466eede268b8ef75629cc7bac53b2dfcaf326700ac1a9841ea580fe\nNONCE: 2a9d7d283c33c953ed0fb90a\nCT: \nAD: \nTAG: 9befbbe25a1f2d7e8eb39689f39b\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: d7a5f32bc7ba818b26fdc03fc1a4de7d8837bcebc023b36591284a0973fde527\nNONCE: d590b0a69cea63c8c3293f2c\nCT: \nAD: \nTAG: 1080033d9a947bb879b1df5576c3\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 270b3ca4321ba7346226c89868483a6e6e679cd896f8e9d52cea9000e1939746\nNONCE: 3f29410035eeb93d03a7b2d1\nCT: \nAD: \nTAG: 7529cd4204b9a8e149034907e829\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 0bf97de28518991a5043c1b6d56d2ef87d38d195d47984fc1ccbfcb7f3860908\nNONCE: 1d76c092d2dd79a62b970403\nCT: \nAD: \nTAG: e63432142ef64756c38d693fd8fe\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 585daad086f48a3dffd89e3712f1f8033e8b168c107ddc7f3454690decc132d5\nNONCE: e2f2a83f6aaec072d8268cee\nCT: \nAD: \nTAG: d400ebadcef9ce147a3b00ea39\nIN: \n\nKEY: 42de0aed7e4b699546d351af85db208d79273393bde6318e33232850c65457e7\nNONCE: 82bd822d011e38319a76dfe2\nCT: \nAD: \nTAG: e262760567ca2ca6cbb3fa5703\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 00ae365607def9dd57d4f38f131ea9659abdd96eae6c52179b16796cf1ee53a0\nNONCE: 56d2485bb17cd4a6791ebd07\nCT: \nAD: \nTAG: 8460e8e8fbb4c8212c96fee330\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 27271e1fa38fadaae145b7fdb15c357c95cf7cbe77961561b59b0ad27df57b5b\nNONCE: 22fb1457c21627e8ddf5017c\nCT: \nAD: \nTAG: 0b6b620e9f5d1ba6e886d71e75\nIN: \n\nKEY: eb9fd8b60a524219cf09805e6aabf65ebb1730fe3b1ef0d91adf054", "44088d665\nNONCE: f8745cf1171199ee02607d59\nCT: \nAD: \nTAG: 65866a3b4455bd3ee58a88d7c3\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: cc72d5bdb02986acecd74dfcf20d880ae5bc14afd26db1b9f04fe08b85a4bf6e\nNONCE: b2d26145ed1be0cf782ea5fd\nCT: \nAD: \nTAG: 101f1e5c96748958462434cdd5\nIN: \n\nKEY: 4ac59235d7350ddad294fa9e0ea8e246a7c9f10689d2b0bd9e0145ecebf89885\nNONCE: cef0563a1797cc62589af02b\nCT: \nAD: \nTAG: a5299a6eaaf9b3ad82bd23b340\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 30fc4f8d634f404d1a66791d7c745d841c635320b7a1b28fbd26f3154b952d19\nNONCE: e7addadf0740e62ee32dd111\nCT: \nAD: \nTAG: 4c9a4fdecf2af9a609b67b6564\nIN: \n\nKEY: 3896ca84611b23bda4af5cc9fe0d62cf093019f1192a2c27cd7d2c1320102998\nNONCE: 0cc3ae5b56f3db71e2195e6e\nCT: \nAD: \nTAG: 0413fefe638d6613ad15ff5422\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 9d4cfc649a6c146c20b17e44af835c42cafe4c8e1ebcba092c22d77fdb0a5478\nNONCE: a27cce894b2dc42f1754aae0\nCT: \nAD: \nTAG: b1259f4cae8c4708fd46e60c26\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: e7ad81d26e5a639b7e99d3b205ddb6a09598ac804b5913ee8b8e724e5b69d003\nNONCE: 08fc7f46f6f600feecefc008\nCT: \nAD: \nTAG: e51e2ed634294d73942a9aafd8\nIN: \n\nKEY: d9288c7e44440398e9c5b6156615bb0d63064cbcee22cee46e710cdf6753e2cf\nNONCE: dc37870991b27ae42dfd6c33\nCT: \nAD: \nTAG: 5408193318902ae3e92b4b6eca\nIN: \n\nKEY: 3e7c2c5dd3c9e092e45d0ee9eaa2f8c2714cf845f50be787cb6a3e65726a7a56\nNONCE: 0e39d519e9d6db4dc462f2ec\nCT: \nAD: \nTAG: bbf6cd3c840ba5347b281ccd99\nIN: \n\nKEY: 29ae533689bc22ea72580a42260b71128504ff55f4025f455fe656a7cd534c08\nNONCE: fd0a67e9cdea915eb367e069\nCT: \nAD: \nTAG: 6421e4d996407496e09231a96e\nIN: \n\nKEY: 7930342c63e26215a80eaa824ec382d452c6d71f81a7ac2667b1baf1b139cee8\nNONCE: 920cf0199c32cdcf419971ad\nCT: \nAD: \nTAG: 866e974b681af38f0a98074ec1\nIN: \n\nKEY: 96ad13bf2492f4675340e65b455bd0b884574f5b6c4fea774462496b8a0925ad\nNONCE: 2ddf6aa50c2ea9106ce0a951\nCT: \nAD: \nTAG: 10a471540cc7bae14273f2e2\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: b1599e78f21b175a3038aacde9141f7198c301ff80276020c1974342baad1e55\nNONCE: abdd25c66d7821fde6ec0b76\nCT: \nAD: \nTAG: ab077a703bfb6646d5aef26b\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 7c487e31244dcbf84ee6e7c03714302aa3e52ae1282f8de72c44d3777e73593c\nNONCE: 297e056784c12646ed2fa6c7\nCT: \nAD: \nTAG: 08c53ea6cc85662f0d9bb018\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: d9304fc27885ac2ac5cf871e9c5758ad66babbc50b26d1c3e32d00ebb4273525\nNONCE: c73d0831e8e23cec9ac4143c\nCT: \nAD: \nTAG: 2f19c7a022909777853ccd5a\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 9f6fed7d59ef1650244ee0966f647179968edb74f5d9b4ea412300979d2c9d9d\nNONCE: c0d8eafd572e76402bf2421b\nCT: \nAD: \nTAG: 157519d699f8f19b6ed0a4c9\nIN: \n\nKEY: 72eb01f911a998bd534b696b0ce99cbbe7788f1d5f3f1c07f5286daef7007ad0\nNONCE: 6930e168edf7be096aa92f77\nCT: \nAD: \nTAG: 8229b618c52079abd2d8cf96\nIN: \n\nKEY: e625dc4d57da4975c5e2bbdc3be61716c910975848f2a06a8a375c12ceff702a\nNONCE: 44925a2c8f2eaa0d02d33047\nCT: \nAD: \nTAG: 9a0f456312dce97e23d4af58\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 648914e5322383a1984b84726deeead89dd19c60556622d61ce649ba74b152b5\nNONCE: 8a070725978278d7e3e6fae4\nCT: \nAD: \nTAG: 40819c4375be0ec64543f5c2\nIN: \n\nKEY: b0a2fc05e05eb23b03f6fd073d1502fa071cfdde6e4a57f344d3b46587d44667\nNONCE: 6b05139925fca211928767ab\nCT: \nAD: \nTAG: b927b087690a7d2fdc5da1d7\nIN: \n\nKEY: 9a56a45297bf12c63db8207118c3570f05eebcc31a87ad20ac85fad9a9cfcbce\nNONCE: 2108bf02ae1b9191e5f20e06\nCT: \nAD: \nTAG: c1a03eeb46a080507fb39e33\nIN: \n\nKEY: 98f9da937717a7698eda75b5671ea209dde1b37506d2a5874b9ec57805310e73\nNONCE: 4db9d0d9cb66a80565af6c84\nCT: \nAD: \nTAG: eeef79af87fe6bc0d0476d16\nIN: \n\nKEY: b5c699b548cd0839a24eec8aee1b0a5bc42de0bec78aacaa9b18b666986891b4\nNONCE: 87e21a74da97bc02d7f9e0cc\nCT: \nAD: \nTAG: c4a584270a5b0bfe0ac979bb\nIN: \n\nKEY: cd3adadded7c7ae047ae38c93a73d029fdf4e12a8a0c2fbc6c5f354fe07b0fa9\nNONCE: acf47c06e93b5d042c8444b9\nCT: \nAD: \nTAG: f1391598e2172300fb5279dc\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: cf90a8f6731d71abaaa354076c69812a96145b4d283369b0c519ce1818c85cff\nNONCE: 718b1b2d8979f54e357bce92\nCT: \nAD: \nTAG: ea7dc6b16c9a870a560facbc\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 849ee5f331af0bbb2366033ca07c29fe8ec64b2e18f8d2af91d88c08b958763c\nNONCE: 23b34d13fa0e2c954e0a5974\nCT: \nAD: \nTAG: c4a18f7724ca968055aa0d8a\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: caed02e544e9eb475360e9b3e4b6e7572605081790ec54ea39ab9bc67932e0fd\nNONCE: d2ffaa7f0b6c3c708238a1b0\nCT: \nAD: \nTAG: eb053ee206ab47cc\nIN: \n\nKEY: ddd2cc50ed30a394387adcef5dcfdb7405082d62b3a513902977301f22ccf851\nNONCE: 4dc0d75a392e1b1cd2e5b6d6\nCT: \nAD: \nTAG: 11e713078f660a45\nIN: \n\nKEY: ae166cba7907a50a2faeb8a1f835e0a21b6074f403d2fbf265ca8525663865c5\nNONCE: d70ea09bd1dc20d47625a7ce\nCT: \nAD: \nTAG: 8a0138d6b06dbee0\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 119c935ac47a3d2e2bbc2fe753c34727ea28e96c288a8b46a0c884066a85edc5\nNONCE: e04c72c0dfec84d52bcda87d\nCT: \nAD: \nTAG: 5ca9d3a5b75b519a\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 166ebf390a9aa54e3c525b06497adcdc9b394ba25e65731c0004e9ff9793e0e5\nNONCE: 7e8e61d97c17a303510d581c\nCT: \nAD: \nTAG: 7c2a0b411cc8f2f5\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 7f3c7d35e06b60a0e948212da1170467a54b88a488e7edf4b7fbf9d03f645d4f\nNONCE: 3b21437bd320ffc3f90f835c\nCT: \nAD: \nTAG: 7e18457fe81b2302\nIN: \n\nKEY: 37875cda07364dae174c1b422e0daa8b949b6478332988504ef3f633d58df4ca\nNONCE: 746e59be002990d169b4a783\nCT: \nAD: \nTAG: 81be9ff1ddfb32bc\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 6e1eec50f2eb68da620a913a2a0d2250ad0541f3acf88fed2f890f840c0046ad\nNONCE: a75bf504651adadd31743464\nCT: \nAD: \nTAG: 49d75b1504d39ebb\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 2864eb7a7025da05ea9ed75f07baf26d90b8eb93f2c57dec6dcc87e650f48f54\nNONCE: 98b764326898d43e443f441b\nCT: \nAD: \nTAG: 1996834986570afe\nIN: \n\nKEY: 8ef06b7a47655a6248c782291476d983d43e17cf419852868d488d2a6093f750\nNONCE: 40c3ceb10e9dddfe23569244\nCT: \nAD: \nTAG: ce828e8aa6056b7f\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 30ec395340ba1d05b9964dc932750e6bcfb3acabd1c07656ca3654128893d77c\nNONCE: 69d240b1d240c0c71cf10966\nCT: \nAD: \nTAG: 18b112b18cd0bd86\nIN: \n\nKEY: 18efa6f3395d20ddbd483924fabdbe105d70e69f4652b929207d9746b098ee11\nNONCE: 4f166cb3acc43383ec9b2bfd\nCT: \nAD: \nTAG: 4b34f4c59236dcbf\nIN: \n\nKEY: 540407922c1056e6e0df4c9a7af8360222cec57167161ad00121a5cc19bebd53\nNONCE: 6d9f32e3139a18fcd34c1e73\nCT: \nAD: \nTAG: f12553f984d4a1d0\nIN: \n\nKEY: ddd54500533cffd1af87c6f58d880d45c1d27c22ed283c110d04227658d443ac\nNONCE: 2cb369234c276e1838c9575a\nCT: \nAD: \nTAG: 7f43b5a32da7b9f2\nIN: \n\nKEY: 62450ce465840e8d49e7aab125f66817bf57ccb0553e5aa633150913406281eb\nNONCE: da552ec45463002256b07393\nCT: \nAD: \nTAG: dccb3788c2e2a66f\nIN: \n\nKEY: 5765ad16f4dbd4d4e6370dbfa18b8ef5ac37459e39556afaba9b553dea4c1b23\nNONCE: 59678f262588e4d526d9fc34\nCT: \nAD: \nTAG: a68f33ed\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: a29fa93614e9f714c73d3707d1142b2514fa8a14641f79ef14e9bf0e812f49fa\nNONCE: 68272acf71b1cdad4655dbdc\nCT: \nAD: \nTAG: b90e554a\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 717d2a5396ae21560a895a7847f53c47956d155ca4dd2165137d3506ff48a7bf\nNONCE: 6ccd8086830f586fa3b0e777\nCT: \nAD: \nTAG: a618ac6a\nIN: \n\nKEY: 6ecf9a1db3e42ed91d2206646369d9eab43fab9efbf797a6b2633db3eebcff18\nNONCE: 7142907a03b12ba332d84107\nCT: \nAD: \nTAG: 57e1882b\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 186361bee6c4d37b94b6c9389216db63b7cf7c5b28592c290c02c9aa0978b6e7\nNONCE: f1a7b61b6a503665049d36ae\nCT: \nAD: \nTAG: aa52f4e2\nIN: \n\nKEY: d8d3fd180da0136621d9a7ebb273bdc4ae48fa72997c7b902c2c512c2bcc11e6\nNONCE: 4f7692221b2e295220f6a1a9\nCT: \nAD: \nTAG: 7c16931d\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 2231071e59bbfa627f0881f04ea13290302674e05f405f75e3c62d787d07c2f3\nNONCE: 65b3758e6418f04afa2b4d9d\nCT: \nAD: \nTAG: a56259a6\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: fa1dc19ed84ffa40c94ffd1021208f50dffe16e9f0a53b5ee6be55163a408618\nNONCE: 09bb332baa725ca0c72a150b\nCT: \nAD: \nTAG: 76c71a63\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 0a7733e3c0e7017b17abc46e25047b3b5d5a3f95bd45e069953d08761b826e9e\nNONCE: 0257955c4f6b354ae46b5d44\nCT: \nAD: \nTAG: 04f4bffe\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 060ecdff8a7325d76017b93071797b2c299d6519d0605b565c8550c66875cdd5\nNONCE: a8f8288d9124ee73c6b89f47\nCT: \nAD: \nTAG: f493e8eb\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 9a9d85fff37716f90d4523586e99046e66cede008fd8acdb55ecefcd9228d7b8\nNONCE: 8a7296be2b691ea45bf4cf9d\nCT: \nAD: \nTAG: d63728a4\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 2344f2cb986326d931d768e8f9bf7cbf7aa0fe91fe5d7a9d8e0591e1144a064a\nNONCE: 0fd7ad08c13f0c97f5c85d75\nCT: \nAD: \nTAG: 6196202c\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 17b00458ce181235bc704ea54cfed4a74d792350ea4e3e1dd4d1817b3720b4f6\nNONCE: c4ec09b35b857bea94a728a2\nCT: \nAD: \nTAG: acceb73a\nIN: \n\nKEY: 7e6c0a5cc37125408f8f11f5607054a3314924c36a7f1b1988c46cd06", "ebe4ffa\nNONCE: 299973ab4a56aaa8a67e6e59\nCT: \nAD: \nTAG: 1f450c0a\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 1b5b987676d7ce62c42d9103f7ee8b3964da272eaae5097a0e0b0a2678e6a382\nNONCE: 1828385a47e53ce3810c0bc0\nCT: \nAD: \nTAG: f938bdc2\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 6dfdafd6703c285c01f14fd10a6012862b2af950d4733abb403b2e745b26945d\nNONCE: 3749d0b3d5bacb71be06ade6\nCT: \nAD: c0d249871992e70302ae008193d1e89f\nTAG: 4aa4cc69f84ee6ac16d9bfb4e05de500\nIN: \n\nKEY: 033360a08d0b2963ce4dcf807b772ac86ae3e8b8fabb9cd3a636f8ec54365646\nNONCE: 8dcaa63d13a2425395609914\nCT: \nAD: f9d15fc34984b8f4a7caa29a82b24c52\nTAG: 42bc9cc93a1c8592bd29c9ef9f907780\nIN: \n\nKEY: 4f1a5fc8e4689c493ef8e23a653e86e4d4c8972a2338653375b0f36a4feb91d7\nNONCE: 9b8221a631404088218fe487\nCT: \nAD: f09b0fc4e4ccb5e28dfcc0792a6800f3\nTAG: 31073f1a0050462a03c7ad0bbefaf93b\nIN: \n\nKEY: e70e4f6919b521dab68f0dff6b4aa57e443db4f8301186819d8611969af33b28\nNONCE: 63d5ff1ba0d5e69f5dc1c92f\nCT: \nAD: c29abcf1f61063c6765747da8980fde4\nTAG: 3d78ec2d237dfd57b8b125ff0912653a\nIN: \n\nKEY: 2c392a5eb1a9c705371beda3a901c7c61dca4d93b4291de1dd0dd15ec11ffc45\nNONCE: 0723fb84a08f4ea09841f32a\nCT: \nAD: 140be561b6171eab942c486a94d33d43\nTAG: aa0e1c9b57975bfc91aa137231977d2c\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 48f7b300acde77c3a00e8dcde06063761d2dc64809db5d39c7a671d2b2f7902e\nNONCE: 194e611ed5980b0e93a4a388\nCT: \nAD: 72ce59bdf0059bf33e03e5fc21f3a6df\nTAG: 7d26231fd58aea00331165c8adf912f3\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 94233d297c08899ccd69eeec3e4e258eacabee0cdc2c363c352e833200162599\nNONCE: 733fa0c7e0e692b0ea66a402\nCT: \nAD: b5bcc7ef6837b61253db277118fafc9d\nTAG: 024174b6f7fed276966d17b31cab2b47\nIN: \n\nKEY: c90ac1e868bb79467a58383f02440f9155d57dc719f0a22d0d6f088ebe7c18ae\nNONCE: 149a0b9691b35750f72e03e9\nCT: \nAD: 2426db7f430a090f5132c63d23504350\nTAG: 807b58bebd6de9752f62eec313def53b\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: efc390eb39011ec8078700f4de848298c26d750c9127fa79cb8c1089038da129\nNONCE: 13b65b7cf33db33b3d5afb1f\nCT: \nAD: 7e56ab79b176488969e51a58de554979\nTAG: 35ec21526ab815582d201582e7ddcd77\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 5c202933d7efedc1bdc4fcf72794bf448f6c22959978e1947e399d9f3386bf2b\nNONCE: fef59a2f3e7d9eae573ff06a\nCT: \nAD: 9cdab8e46ef227f113e1ce1dc7ee2733\nTAG: 76bf3a22f991625dda441975b4af8952\nIN: \n\nKEY: 577cd9f1a9f0f4b61455db0d5183536c2e5d000df5c812e140ca746ea9d05cbd\nNONCE: 7d6a93560b53453681028e45\nCT: \nAD: 7b4114eb668366fc26bc2078f04cac9a\nTAG: 294409118a4ac46ee9444464ac352cd6\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 942c44274a9dabdb86328484ee933d0d632efb6a074323ab41fac267c0b25e48\nNONCE: 961645b7ec62bb4e4bda29f6\nCT: \nAD: 0e4f8509aaa009192fa04425b9d803b9\nTAG: 2fd7f29b68ec985ec564926484df7e3d\nIN: \n\nKEY: ebacc6cd567c245f37100d76f2898a471a435b07d605a3251835f450f9861da3\nNONCE: 164617867a09dd08d75b8675\nCT: \nAD: 7f5b2c707a8199c8795d7d440664e9cb\nTAG: c8881e8c4dd1d62a2cf6f8458b45c0af\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 415fbefbe947204a5a4412372922cd68ef7cab6b7f48d8da868f24c2426e755f\nNONCE: f939844564c5b26e18b907d8\nCT: \nAD: 462ef98fe991867d0888954adc772edf\nTAG: 811b9c99e66456002558c8a8392b04ff\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 8f82e4eb127be9b5a2dedf8f3f16ed46df0443eab39d604523b2a0909044426e\nNONCE: e0d06f20e17990d17abedfd3\nCT: \nAD: 81f78234cb6c9f8c8134a81e29712457\nTAG: bbde500c67c81f7d2ecb214b33f298b6\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 3395a1485315c5b5e6353acb05ae9499c440a2e9f5c57494662f827235ea314c\nNONCE: 3b7e632571602456b49880f0\nCT: \nAD: f283f80226dacb69c8af089ec6b59e81\nTAG: 84c8beff4b0d160ee68ac613097f51\nIN: \n\nKEY: 737ef66d81c3c2610f77f90244b45c9fcbb3f46b41c8cfa959f1b64bf1af9a30\nNONCE: ee35b4f52756562c53f34710\nCT: \nAD: 591d20b3dad931c15958a6c08945f2c0\nTAG: 67786146498e15b97785ed29e3cf4d\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 667eb074e723473425639188aeb1137645968b37fd51ac85ecf887630537e790\nNONCE: 66259c4c34952325039dae8f\nCT: \nAD: be4e71df8b90ae61fcfe2522fad707be\nTAG: 313f387ceb2fee4113a3b97a75a0cb\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 864c3c19d43a850bf696f546be59fa4939ee7a2b39fe0f3e56f6b777c4929d09\nNONCE: d53bb663a8d0aac07eddd12a\nCT: \nAD: 4ad4e048c24b370530f482a4d7a6d1ba\nTAG: fc0e69cd020693a0186da50cdc6f69\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 42b434401a46ab08b799571e8b2ff3834bf002ca910989ed86bafd5a6142d190\nNONCE: 81eb9cc03444f5d0dc3b76d9\nCT: \nAD: 82f75629976fd7ab11ef70c6f8f977f9\nTAG: bd1bb7d7cdb7f25a457b85e939c131\nIN: \n\nKEY: 7e4d9071738036cad1ddcaf8439d0f243aef78116dff67269fc3fec66b86384b\nNONCE: 3a7fbd41615e656a0ff3738a\nCT: \nAD: f4adfe43c17af941168fa4b879ebf209\nTAG: 48a7f7b1a1c05f20e9bf049bb562b2\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 345e15dfc70d4f0609cbc5724276f606ab3aa9d0ae4bcb5a6536dbfef8f5df62\nNONCE: 970bc624e62e6834b7f3fe5d\nCT: \nAD: 44a5fa62b3babf2c86064cc0a65b1cb8\nTAG: d7b83a03f18f6623bd41acc3f6f3aa\nIN: \n\nKEY: 6dcb770c7777225902bae16a6e77045ffe682a7985c265566c61c4ffb405a547\nNONCE: 1faf5b86290e23ff7411c146\nCT: \nAD: fbe8e5e071969c7baf0f4c1c2a830327\nTAG: 78a4078b4decc5e34d477e308f0cc7\nIN: \n\nKEY: ef9a0377ae02c600f6fdd5dd6f4f7a30954235539bc9b3fce0085b3b30d6c354\nNONCE: 33db5adfa43c37d002e82038\nCT: \nAD: 945b8a540c57923e7cd4ca319e40063d\nTAG: 3c0e1f73433c5d229e739fed399ff6\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 6ec5526e7cff0b75f9af20ea59e7cdbaa91a4194d51374527909a3bd6d8ba3bb\nNONCE: c23ff927bba76205628506bc\nCT: \nAD: 8ed268badda27f8fe5a16ce8a3d7fc2e\nTAG: 3079599fc1b2e66e1c9f668cf9c001\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: fdf860cfc7e769d262f1e0b0640a56e0081c75ea96376e4a51ff728dc4b11503\nNONCE: d29767af7bb47bc18fd7076b\nCT: \nAD: ee7e40f375e100fdaf39765d60429289\nTAG: 19f95691d2fc7d7724474ebb501738\nIN: \n\nKEY: b548e4934f5c64d3c0f0b78f7b4d8824aac46b3c8d2cc35ee4bfb254e4fcbaf7\nNONCE: 2eede1dc6447c7afc4415358\nCT: \nAD: 8bd50878c430718b7b3775fed76e5aeb\nTAG: a7186df4cec4bcf921ee8733359567\nIN: \n\nKEY: eb70ee93654a3ae49775d315e51c758bc0b61c1fa848089fc12c65419a00afc2\nNONCE: 87cd3cadd925b79636bf128a\nCT: \nAD: 80b04fb39d7b6096be12dec866de2d37\nTAG: 3f9902ce6dd2fefe0a9578276250f0\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: db8151b0d80c930331ed8c7ff7d8038b34ad20fbf537844f7ba9912b71213f1a\nNONCE: 32f9e46e555eeabf12bc59ce\nCT: \nAD: f2ba52d1e09c37eebdcf15250979643e\nTAG: 8817c90146b70b252c124e03ada704\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: 65b90acf1544349bfa1871163c92680139aa9a5e2b620c43b41cc59fe1cfc15c\nNONCE: 5cff688f2ba29cf9a6d94a7d\nCT: \nAD: 43d55cfde3d5832f0adbf3dc47943d00\nTAG: bb787f2450cda0c33b08579dca4e63\nIN: \n\nKEY: 34d3dd0a9cbec32dfe94c9707b48dff9e2ecdbee7ca28b3ca9dabbb3701ae493\nNONCE: f8e05f6e7a04cadca8b5c4fd\nCT: \nAD: 9e52b1a7c1fb736d659754e671caa840\nTAG: d6615a18f437f38311f5ac3a9f60\nIN: \n\nKEY: e8ad0a2b1bfceeac69ed3e075d4dc5fc03b3633919bc5edf0f1ffd9842424985\nNONCE: f8b5b6bde3fc26b7a553ecef\nCT: \nAD: ed8bc8a123b35e0e7ed3aa8f8820b0fd\nTAG: 008bb8ed513bf8d3210d1278382e\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: ac9d68e15be409d5998885b714bb51f0d5a75df29e4ed7be2c1c1e4c6db49ae4\nNONCE: 4bcd1869cdcb16adb45dfb98\nCT: \nAD: 9f81a65554c7185181fec88601051cfc\nTAG: a7ca610547cba6ec333371528c0c\nIN: \n\nKEY: e9a4f481187083070dc1956a7c34ee9b86791cd6e40353e3f868560ee77127c3\nNONCE: b7894710eb0cea0acf1838fc\nCT: \nAD: caf33a8552cd0caaf1333c9aed7eda13\nTAG: 326e875a09b9df1ada0321a005f2\nIN: \n\nKEY: 0220d839e195821944f343a71dde45006a2c3600df8883bc83a9fd60cc67771e\nNONCE: 8d22fe9571e9096c22f3fae9\nCT: \nAD: bad23a8f33857c447e89b0691b7fb03f\nTAG: 43c0cabf088b71fed4dabd63c2e8\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: b253cdbb8519abd630435f277d9d69f25c3fc7c87004e506092f05855854b9a9\nNONCE: 493bacee0dbe6edb5b77d1fd\nCT: \nAD: ccd5a9521aaa06b967316be581487a63\nTAG: 01afc617f6a2786dcf13ecc00bbe\nIN: \n\nKEY: a0cf288734824493aa3673f95e68d07e289d394a04f2e3e5881afab773f1e242\nNONCE: 2c18ee9f12c5229c0cfc3f43\nCT: \nAD: 0b89b94d636559adc46902e463514e12\nTAG: c933b5cee0de1a2cab183afe3ec5\nIN: \n\nKEY: 3271f86968b3fd49bf4ec0e572616e2b96edd4a530c519b542ca926b09a92efe\nNONCE: af184a643754b70eb60b15f1\nCT: \nAD: cd839a71cd04bac3bc3c17871b6853f0\nTAG: ee6ba4f92dcee9c20b734811318a\nIN: \n\nKEY: 31a3e5aa9da7b44c302cd716937584195adfd26f24a6c49720a50d49762df80f\nNONCE: 9a999c5f8dade4184aae1301\nCT: \nAD: 0d84dd614fc04e58a971a270bec5b8f6\nTAG: 230bc3c4cb7c46e73ce3662d1e15\nIN: \n\nKEY: 865f524ea89d3299b372c01f5c072c1fe07f78e86620fcab5e3e96cd3044962e\nNONCE: 8df4d357882c805d5a5a5d95\nCT: \nAD: f9b70b9d4bb6f9562b10cb65ba1c0a7d\nTAG: ab59a2107248e6651e3d6f3e116d\nFAILS: \nNO_SEAL: \nIN: \n\nKEY: c12c83994e125c98e588d93f968572460345c44b5f94deecd538f0e5e7b0fd66\nNONCE: b684791dd61b9d940a0dee14\nCT: \nAD: 57a128a7ac50137520ffce721271b8ca\nTAG: e322ccdcd7594", @@ -2331,9 +2411,9 @@ static const char *kData27[] = { "ac4f2cd8a71f0fb078323449c5bd4e3cac8422318b06b44c49ccb701d69831\nTAG: 7347166e\n\nKEY: 36f610b6f08b020f4d3ca0faba582222016aa4ae44c619efc3aa8a3d794c4678\nNONCE: 842b957ca5f56f3b3686269f17f7e5b712593b8f37fd6079459958e31e07955f1a1861204e4c9e5a6b70205a0f45a33229b948524f7102dbaaf4e7a66900006168ec0c99e766fe89da8ae72dcda8e071f4c2fe75ce3cf903dd7b53ddf5ef95a88663c381afea00abc5e6be5c6477a9c5152312cf54af7b0c718a5985e5e8c7ec\nIN: 78a7deed4eb613cf2b3e572a3ff47e6551c7908fded855fba64247493a7360505f1a08e7ab850d00d02b970e3a2b5da9bb6c33\nAD: 6f91e23494601696841fd9dc0a0e7fdcb6b32aaaf2ee7b84270a59aaa2bb13b5bd1990a9fe3b0534751f10c2058dd3a550fbab61bdb4525fe6bd45326419a48339398f3191e7ddb0d8f65f4b00b4f5b6ca4aba9e99edcd0ad05f\nCT: aab48f5510ad845ebe79e7689dbf7ffb1dc3c6a810c1b754576576675e77fa81eace7882045220baded90ac098c6c65f26613d\nTAG: b21bccec\n\nKEY: 14644de3b6efc121077952f76c3e76ce847306a355e734e0869b51506f6bd979\nNONCE: 84a47e799c51d8052b27644399a4b807487d64c06ea037b62af6a0b0d1212f4acfd1d080518c1a9fec5b2c8ba4699ad7df155715cd049f5085e86c0601fab79ef1472fbb35065e7dfee9e4077e0e365d185f3c88564abf1fd1c3d3bf1a209a5e24a2b027895ef1524fe199c31a4bf690ea3ce209cbb9ffcbac4c06461e010fb9\nIN: ed1a2abba7e782a8f3625f5abcf613cb3d353837fb88edc5b117fc35ab553e244a60dd2ed67aa6b8a99ade1bab69cf04405957\nAD: 7e223758e23e4bb99ee7406030a2db698d5e32c69d5f19170c052bd597bbfd4bbbdcebbdcc801b1bcad869da195a8c4452bedec0fcd91fedb6fa49c38e187e8b536b69da683ce4a322b81e70c93eb66c9010ca3be5d54200d87c\nCT: 80b8c3829d991e5b1331cf229d7448988ed6271efccfe84998acc67e924c73362337da0d697f4b4613d06a88bb4ae8fa81c2cb\nTAG: 38b59916\n\nKEY: eb3fe1c8bb57d72fea9f9e9cc3cc746d41742716dd3cbf574eee95162bd93f9f\nNONCE: 1ee1a2fe7dab975fffd19230d80804b45662855c0a5bbd2802e47b2d3fe55b0c15e2383e7070404ce46670c0a2840a6e14945c5bd9ac521bad8ca7effd6dbe71f74eca082a490d15088d7bbfeb9cbb1e8ee86d77b1db35b43a259a14ab6b771ac58ce36bf99d28417a04d2d3ff2d4380a6b23ccd6e68b0ae58a6fa54c973b6a0\nIN: 0ace576340e524019888cb4900fd9b52e5382e4e36ac9a969c5f6bdddfac12c2d991ea9e2ed5f68dc4a51d62dab83df8f838af\nAD: 28d402e6e8cce27e47a0eb03b5497915c3b71399fb95f4bc6d3255cad73508eed443cd44e59cacf9177dd3ac1cdca5233bce39621227951d11f2a2012930822ee929dc791f3eaf1a97e219db04d6f178b804de60224ab120abdd\nCT: 50096632df34a1f2d8848304e20060d999a5b1eda1932774e30f36026da8c6c0baca7f6e59a7c74018c5f51075008b74424bd2\nTAG: 7d9d2417\n\nKEY: 85ee354b4675a9c5d16e3d6f4118043bd92f209f016f49efab7ce3023b78112e\nNONCE: 5c3b5a95147880f9d14373bc3886e92036a0abcb49fb6768e2811761cfcddbcac813bea95a5b76fa1ce5fc726708ddeee5d1a9196d31eb1f0c1d4992ba37a9c4179d223c460ff2b512a9d3cf3562c586d793efd94a5e93d4b1e86ae96c3aa6711a291ec710dfbd7ec46b2ed4f4085df511fabcc5e42bded5214253d235f12d14\nIN: 1b56de101a75bb9d1a5e77590be302837d3921278e480347944b92975e819e7a233339f31ecf02b874842fb5a136c810a9a9ca\nAD: d2eb4e760ed4fb687b32c6bd073bffaf9631ed3ab83101cab236352d024cf422b917a7660a484be236e4d3b3fa3343d3f9e87d86c50834a213b7ca2a3212c254564e1c59551c7bd3e01710a7d8c8419320a6d3362489aa368424\nCT: 67dec658a84468cb86268099e03ce701e9936c27b50059b5c9e8743df7df5b828364ab7025f854cb9e3cfb27ca5b717502b838\nTAG: 65a1bfa1\n\nKEY: 6f79bf94da7dde3c86009934d9258f1b3fc2f5382aca9c9cb8e216eed235f34c\nNONCE: 83e413c8e6f76b32aeb2960c11aa9e522d3994e14c18609c634c9cc1cf94f2c49a5347d3f440367f08a3322eb3560675bc4715d03abbe0da4a75208775e8bdc3ff2d33daa301f53dd75a83f74c998245c1826ad41602c3fea313098d20a65e417e7c6ff954d9c9b2458a04ab4deddf07dd22bc409211dbd121f5a95215d40094\nIN: 738516823e8f5d23f3181b297eb70be633e3b0cdd61117384e474e3223658167ad6afd83d9839bc925876e4e41a001f678a06a\nAD: 02a59b404f7fceabc06e0988bcbfbca1d08f75a83f2cb9542edf106702e2c9964d7e37ef86fb368a9890a4f2ae7f58f336cb2df990cdaa2775959c99cf1d11a59abe348cc5a47f98c447e6500b1013b38418677bd582c5fbdcd8\nCT: 183cc63f537b301e928a1efa211818a128964e5d025c7dde9ccd69e6a8dddc2b9824520e31d52cde506062d225407520a00155\nTAG: bb1df68d\n\nKEY: 0c5aa8e0b1979183b997f29362ae83700d3ba6190a210fc90541b17e45a46668\nNONCE: 96a1f2559204788f6bb0ea50bd598614a7ce518ec4dab951e9517bc46357448a6b4aed200ee21a7543fbff861ed56321195675d9225cac72547d3e4880b9517672b86206e9acffba53d66526e919587e7b284a612aec391517e907f2bf6a625a990466d66cb14c690be17b7a22085ab032a05dbc16a99437670cfa2bb8a283d6\nIN: f460e28cb67fb2b0aa5315c25f8132e5a8298ae3077ee0bd918fe1acd6312a98a3412a3198c834beb932200281fe6128a08be3\nAD: 9c410a60931ef1cb5f6fa9c7da0a96ca537daac174fd4f1bf247de1e25d3dd44a37f54d58ca48d1ecdcf2ebff8959c2db0ac82244ac76243404adf45be72aff4b19be063c088e1810f9eb4b894f405c61691e2789297b17430b8\nCT: 3e12c2a17cad65077073385c055054bc8f72f1beca59b0636384d027dc1350d39a8f3c77f5bc26eb916287dd742bcd3a819299\nTAG: 154a3b39\n\nKEY: ace49b23bebdbb36cae24809c68cd4763c000c689c77d230256f6e5206ba178c\nNONCE: 34e829796c7d186b3c83c894b3f36f3f07d66261670f4c1f74c83b074b2b7e5fabd8756d2c9676bb52e9c7a62c7c26376128d1ffda5f9ad5d7b48724d46672eabf83ab9e6cd596510bd9ab3be81089c4262a9f8a88820c6e27a49593bf91b9dbc884b4548aa9ec4bed9e1d5be57d413553459f5d8e7cbca84ac89babb45f501c\nIN: 9c85b9c441034e26c5ebf04580cf617eea19a001098c910a7eac423af2f5fb2cee0335fde1fe56bdfd31af513e99e92d5ad7cd\nAD: 419583e7bd2f698ddbbdd429a81654c37b07dd2d80f34c9ac3d0f9ef7329f39fb5c21db57bdd496fd69097736989fd0f1d3c803ebbff7d128ac31873754f881247896907574bcecfdf2eb3a5e6996050eafd68f0401d0543fd46\nCT: 9141c922cb598ae9dd3aefd9593e2788870e9ac546fb3fbf5ba0bd1479216743cb603c4cc2fad030796f9cdb5b325ee4c33d8a\nTAG: 356fdb25\n\nKEY: 69e095a9ae4cd697869b845c4e848b7fe1511d1ee334ffa63ea427eee18a6b54\nNONCE: 7ae669a8b81bbcc2b72724a14169f1e2e1c114c0ff3ef33434a82d368272525398ae1a9aabb1c50ddebfca5e853dde04b46518bc94b91b51364c82301087ca30852ec7ac52f51ecda1c2ca2e099c040929f6d1236157011ddf7e928df7fb329a012752eb66cdb725e416e7a10108b2bd4f676b5ab85b8f33438c273bddb8cffa\nIN: b2727222246b940448a24741984ab6afe5e9474e60cbb8ce714110390f1c90b33ed0ec0267b86cc305b9807e370ca146bd61c4\nAD: 74a1899056c4ef9d848cd7c8d8ca377c6810912c62e428fe5acb60908abae48c887e7460943e9d6795fa6203b994e05799ab8edb55c29fcdccc3c41b3b74346f354a214d3abf891b8058e55461d3f68c3a2897bc514212aac91d\nCT: ddeaac80cb1db067d40143a382eedb2183809153db5b23528c476ae25c9db5d28d53dbab6f59ac5c016150f8384f5b84767189\nTAG: 0936e1ff\n\nKEY: 9c8e8c0638b76c552d1ce80028b707286bf2a84568d7021179be55708e820adb\nNONCE: f414375eb3faa866349ee5a6f11db10b2d2b32719906fb25f22ac2053e9f402c4cf545ae973336ada616d99fd57e7b2fbb6bb8f167fd907efbd9983515d509cbb6966778bccfdedacd9cb58b0a8fbf0a3900128f9f47317485e2c8e30a65f68e43ff8ed0b20c83681e750214b8f004f2529f1f3fb06554a47ffb8532edecf949\nIN: 8af304c8d9ff794d784cca9bafec22868cf7cf5c038b2afa7cefbd84be5d98b50d3009bad9d69083abf47b5068d59465c10389\nAD: 913b191b128e8d021ca46d29455b8082e7013ea49e1c931fe94adf3cfde26785ad9e9828eb48bdda066eb530c5af62481eca4401fe31eb320f6c52011db38f98144a0ea5f9fa6d5c373c76eead287e67e83f9dde0f2e27a6c40e\nCT: 63a8f8e0183e5c30532dd6d5235d6418828243e4ef9aab82ad537e20fa11fe188d440a7fd5a53669422c65fed98a00e4631f44\nTAG: 33491cd4\n\nKEY: d74eb3cfdd9fd9fe176415e1973a12f0110ef55568746e99d07d91b339cee79f\nNONCE: 06b5cc871a93bf13726836392a7e134f2b122f2238b086f18ec88f16d21f1914551a63a169e97c9dadabc9f488bf54a7883e618e59472041dd74ad356e7d92f8666af1b4b2cdb35fb0d722ac0b31d2fd475052507eafb98d5c2109b5f10254957fc9b4c6dbfb3bf4692771b4ed305d7521f5842d1aeaca0ffbab8247fc3b76bd\nIN: d654f510806c9ece9c12dc749cb9a08467cac2cad1afcf3b4a41a2e0873dea9bc0cf61b7aac2ebba93eb46ae6c5f11610d0b41\nAD: 9855a05c20be9b2416fa0032d94db428c949e68262f8a084ce3762f85c3edbe6175ef48279141822c101929aecf36e8a68e8fec8524945debb54e046b3c71a44630e569ec849691c7f0f9a74e374d27732df33578c5bde492907\nCT: af6f67769f0f099e6590e97dc6d605dea986772a68966408e81d49b1e8d24fd835daed0d4bda048c47d5ef87f22752e99e1446\nTAG: d449dec7\n\nKEY: b5f849da887e3c1878b6775aff7e49f5f31ed8cdf9f79ead5b36219eea87af80\nNONCE: 63f75fd55a8bf19eadfa23eb7a3e5c8fd13d79f6bb6ba414d2027fb08283f5108c11c2d49db52f4c68c11164c8a1585bf115512cbe5f5aa478c6c0e91864f5198862a694f0c2471aacd32ba57be1a33f04a56fdc60a3dcdde73c7714c10eb67b749433b1b3027b3c4b4f29fc57c3eaad9eefd033dc4d42bc75b36e7445a383db\nIN: c1a27f693387a1c8f5fd1eed0c5cf3111897dc8797b4e63e89bcea06cb19b734e354d9f539f5af700641f0f4acf91ab52147f0\nAD: 6dc78b3a5ea409838b533ebd77cf1d1b4808fef131275a0d4dcd94ca0f55b9dd86017bd664e036c2fa756c65a7a7d246229900fa468349eb2de18b5bf1af0f7da56ed0377a65f5e650ddf081c4a29eb985456b276b4d303b7832\nCT: 837a", "ff99c32f665841239e0897134461fc3e8faa8f9965eca5dae67b2934e0816f39d36c45ef8a0b8066ae4f9752e65ef3a6d9\nTAG: 94b73bcf\n\nKEY: cd670a8ac109d0f0e436ee42e490d5576bb7c13230f727b150b473bde659826d\nNONCE: 719191db1dc5ae92cf75cd8ff02ff036e78d6bef59714e5d40c24301443952148c61ab2e7e15d95f8d1792ee307a27c0112ec1b28c4a0416f76290b77d89088542d13649d17af09d6c5302438895534dedbb587f543c0d76b1e3e065ce6a261473d27dab6a928ad1fc786333dac512f3b521760dd1f67907292d868423a4f64b\nIN: c94ebec7d8aa421bfa9a0203520e02570338d12359c5b16d51050cd3f802351b17cad85b52ea9b42147f528a25e52c170c6308\nAD: abdf817a7ff3f28bd0b5ef0c2ec02ccde1799d4dea806580941f63b7840b2deedd3873ad1c3186ee3c6b6fa95062fcb56e33c6737532e7c326e116f2da4cc920c8bb354e8d2e27c1920962e16a4c89521c4e1699f2145f742d36\nCT: 286b594cf9a92b2d7348f0c75619e14916f2cafb990cc2d6aa07162d0703a9f7591e40eae402edfc64cafbedfc7ec2147acd51\nTAG: 22d3ec0f\n\n", }; -static const size_t kLen28 = 81764; +static const size_t kLen29 = 81764; -static const char *kData28[] = { +static const char *kData29[] = { "# Generated by \"make_cavp -extra-labels Cipher=DES-EDE3-CBC -cipher tdes kat_des/KAT_TDES/TCBCinvperm.rsp kat_des/KAT_TDES/TCBCpermop.rsp kat_des/KAT_TDES/TCBCsubtab.rsp kat_des/KAT_TDES/TCBCvarkey.rsp kat_des/KAT_TDES/TCBCvartext.rsp\"\n\n# File 1: kat_des/KAT_TDES/TCBCinvperm.rsp\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 95f8a5e5dd31d900\nCiphertext: 8000000000000000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: dd7f121ca5015619\nCiphertext: 4000000000000000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 2e8653104f3834ea\nCiphertext: 2000000000000000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 4bd388ff6cd81d4f\nCiphertext: 1000000000000000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 20b9e767b2fb1456\nCiphertext: 0800000000000000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 55579380d77138ef\nCiphertext: 0400000000000000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 6cc5defaaf04512f\nCiphertext: 0200000000000000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 0d9f279ba5d87260\nCiphertext: 0100000000000000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: d9031b0271bd5a0a\nCiphertext: 0080000000000000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 424250b37c3dd951\nCiphertext: 0040000000000000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: b8061b7ecd9a21e5\nCiphertext: 0020000000000000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: f15d0f286b65bd28\nCiphertext: 0010000000000000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: add0cc8d6e5deba1\nCiphertext: 0008000000000000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: e6d5f82752ad63d1\nCiphertext: 0004000000000000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: ecbfe3bd3f591a5e\nCiphertext: 0002000000000000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: f356834379d165cd\nCiphertext: 0001000000000000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 2b9f982f20037fa9\nCiphertext: 0000800000000000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 889de068a16f0be6\nCiphertext: 0000400000000000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: e19e275d846a1298\nCiphertext: 0000200000000000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 329a8ed523d71aec\nCiphertext: 0000100000000000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: e7fce22557d23c97\nCiphertext: 0000080000000000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 12a9f5817ff2d65d\nCiphertext: 0000040000000000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: a484c3ad38dc9c19\nCiphertext: 0000020000000000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: fbe00a8a1ef8ad72\nCiphertext: 0000010000000000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 750d079407521363\nCiphertext: 0000008000000000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 64feed9c724c2faf\nCiphertext: 0000004000000000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: f02b263b328e2b60\nCiphertext: 0000002000000000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 9d64555a9a10b852\nCiphertext: 0000001000000000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: d106ff0bed5255d7\nCiphertext: 0000000800000000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: e1652c6b138c64a5\nCiphertext: 0000000400000000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: e428581186ec8f46\nCiphertext: 0000000200000000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: aeb5f5ede22d1a36\nCiphertext: 0000000100000000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: e943d7568aec0c5c\nCiphertext: 0000000080000000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: df98c8276f54b04b\nCiphertext: 0000000040000000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: b160e4680f6c696f\nCiphertext: 0000000020000000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: fa0752b07d9c4ab8\nCiphertext: 0000000010000000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: ca3a2b036dbc8502\nCiphertext: 0000000008000000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 5e0905517bb59bcf\nCiphertext: 0000000004000000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 814eeb3b91d90726\nCiphertext: 0000000002000000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 4d49db1532919c9f\nCiphertext: 0000000001000000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 25eb5fc3f8cf0621\nCiphertext: 0000000000800000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: ab6a20c0620d1c6f\nCiphertext: 0000000000400000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 79e90dbc98f92cca\nCiphertext: 0000000000200000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 866ecedd8072bb0e\nCiphertext: 0000000000100000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 8b54536f2f3e64a8\nCiphertext: 0000000000080000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: ", "ea51d3975595b86b\nCiphertext: 0000000000040000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: caffc6ac4542de31\nCiphertext: 0000000000020000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 8dd45a2ddf90796c\nCiphertext: 0000000000010000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 1029d55e880ec2d0\nCiphertext: 0000000000008000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 5d86cb23639dbea9\nCiphertext: 0000000000004000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 1d1ca853ae7c0c5f\nCiphertext: 0000000000002000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: ce332329248f3228\nCiphertext: 0000000000001000\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 8405d1abe24fb942\nCiphertext: 0000000000000800\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: e643d78090ca4207\nCiphertext: 0000000000000400\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 48221b9937748a23\nCiphertext: 0000000000000200\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: dd7c0bbd61fafd54\nCiphertext: 0000000000000100\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 2fbc291a570db5c4\nCiphertext: 0000000000000080\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: e07c30d7e4e26e12\nCiphertext: 0000000000000040\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 0953e2258e8e90a1\nCiphertext: 0000000000000020\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 5b711bc4ceebf2ee\nCiphertext: 0000000000000010\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: cc083f1e6d9e85f6\nCiphertext: 0000000000000008\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: d2fd8867d50d2dfe\nCiphertext: 0000000000000004\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 06e7ea22ce92708f\nCiphertext: 0000000000000002\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 166b40b44aba4bd6\nCiphertext: 0000000000000001\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 8000000000000000\nPlaintext: 95f8a5e5dd31d900\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 4000000000000000\nPlaintext: dd7f121ca5015619\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 2000000000000000\nPlaintext: 2e8653104f3834ea\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 1000000000000000\nPlaintext: 4bd388ff6cd81d4f\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0800000000000000\nPlaintext: 20b9e767b2fb1456\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0400000000000000\nPlaintext: 55579380d77138ef\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0200000000000000\nPlaintext: 6cc5defaaf04512f\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0100000000000000\nPlaintext: 0d9f279ba5d87260\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0080000000000000\nPlaintext: d9031b0271bd5a0a\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0040000000000000\nPlaintext: 424250b37c3dd951\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0020000000000000\nPlaintext: b8061b7ecd9a21e5\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0010000000000000\nPlaintext: f15d0f286b65bd28\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0008000000000000\nPlaintext: add0cc8d6e5deba1\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0004000000000000\nPlaintext: e6d5f82752ad63d1\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0002000000000000\nPlaintext: ecbfe3bd3f591a5e\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0001000000000000\nPlaintext: f356834379d165cd\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000800000000000\nPlaintext: 2b9f982f20037fa9\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000400000000000\nPlaintext: 889de068a16f0be6\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000200000000000\nPlaintext: e19e275d846a1298\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000100000000000\nPlaintext: 329a8ed523d71aec\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000080000000000\nPlaintext: e7fce22557d23c97\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000040000000000\nPlaintext: 12a9f5817ff2d65d\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000020000000000\nPlaintext: a484c3ad38dc9c19\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000010000000000\nPlaintext: fbe00a8a1ef8ad72\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000008000000000\nPlaintext: 750d079407521363\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000004000000000\nPlaintext: 64feed9c724c2faf\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000002000000000\nPlaintext: f02b263b328e2b60\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000001000000000\nPlaintext: 9d64555a9a10b852\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000000800000000\nPlaintext: d106ff0bed5255d7\n\nCipher: DES-ED", "E3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000000400000000\nPlaintext: e1652c6b138c64a5\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000000200000000\nPlaintext: e428581186ec8f46\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000000100000000\nPlaintext: aeb5f5ede22d1a36\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000000080000000\nPlaintext: e943d7568aec0c5c\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000000040000000\nPlaintext: df98c8276f54b04b\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000000020000000\nPlaintext: b160e4680f6c696f\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000000010000000\nPlaintext: fa0752b07d9c4ab8\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000000008000000\nPlaintext: ca3a2b036dbc8502\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000000004000000\nPlaintext: 5e0905517bb59bcf\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000000002000000\nPlaintext: 814eeb3b91d90726\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000000001000000\nPlaintext: 4d49db1532919c9f\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000000000800000\nPlaintext: 25eb5fc3f8cf0621\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000000000400000\nPlaintext: ab6a20c0620d1c6f\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000000000200000\nPlaintext: 79e90dbc98f92cca\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000000000100000\nPlaintext: 866ecedd8072bb0e\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000000000080000\nPlaintext: 8b54536f2f3e64a8\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000000000040000\nPlaintext: ea51d3975595b86b\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000000000020000\nPlaintext: caffc6ac4542de31\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000000000010000\nPlaintext: 8dd45a2ddf90796c\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000000000008000\nPlaintext: 1029d55e880ec2d0\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000000000004000\nPlaintext: 5d86cb23639dbea9\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000000000002000\nPlaintext: 1d1ca853ae7c0c5f\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000000000001000\nPlaintext: ce332329248f3228\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000000000000800\nPlaintext: 8405d1abe24fb942\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000000000000400\nPlaintext: e643d78090ca4207\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000000000000200\nPlaintext: 48221b9937748a23\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000000000000100\nPlaintext: dd7c0bbd61fafd54\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000000000000080\nPlaintext: 2fbc291a570db5c4\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000000000000040\nPlaintext: e07c30d7e4e26e12\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000000000000020\nPlaintext: 0953e2258e8e90a1\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000000000000010\nPlaintext: 5b711bc4ceebf2ee\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000000000000008\nPlaintext: cc083f1e6d9e85f6\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000000000000004\nPlaintext: d2fd8867d50d2dfe\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000000000000002\nPlaintext: 06e7ea22ce92708f\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0000000000000001\nPlaintext: 166b40b44aba4bd6\n\n# File 2: kat_des/KAT_TDES/TCBCpermop.rsp\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 104691348998013110469134899801311046913489980131\nIV: 0000000000000000\nPlaintext: 0000000000000000\nCiphertext: 88d55e54f54c97b4\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 100710348998802010071034899880201007103489988020\nIV: 0000000000000000\nPlaintext: 0000000000000000\nCiphertext: 0c0cc00c83ea48fd\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 10071034c898012010071034c898012010071034c8980120\nIV: 0000000000000000\nPlaintext: 0000000000000000\nCiphertext: 83bc8ef3a6570183\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 104610348998802010461034899880201046103489988020\nIV: 0000000000000000\nPlaintext: 0000000000000000\nCiphertext: df725dcad94ea2e9\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 108691151919010110869115191901011086911519190101\nIV: 0000000000000000\nPlaintext: 0000000000000000\nCiphertext: e652b53b550be8b0\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 108691151958010110869115195801011086911519580101\nIV: 0000000000000000\nPlaintext: 0000000000000000\nCiphertext: af527120c485cbb0\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 5107b015195801015107b015195801015107b01519580101\nIV: 0000000000000000\nPlaintext: 0000000000000000\nCiphertext: 0f04ce393db926d5\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 1007b015191901011007b015191901011007b01519190101\nIV: 0000000000000000\nPlaintext: 0000000000000000\nCiphertext: c9f00ffc74079067\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 310791549808010131079154980801013107915498080101\nIV: 0000000000000000\nPlaintext: 0000000000000000\nCiphertext: 7cfd82a593252b4e\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 310791949808010131079194980801013107919498080101\nIV: 0000000000000000\nPlaintext: 0000000000000000\nCiphertext: cb49a2f9e91363e3\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 10079115b908014010079115b908014010079115b9080140\nIV: 0000000000000000\nPlaintext: 0000000000000000\nCiphertext: 00b588be70d23f56\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 310791159808014031079115980801403107911598080140\nIV: 0000000000000000\nPlaintext: 0000000000000000\nCiphertext: 406a9a6ab43399ae\n\nCipher: DES-EDE3-CBC\nOperation: ", @@ -2345,9 +2425,9 @@ static const char *kData28[] = { "CRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 0000000020000000\nCiphertext: b160e4680f6c696f\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 0000000010000000\nCiphertext: fa0752b07d9c4ab8\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 0000000008000000\nCiphertext: ca3a2b036dbc8502\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 0000000004000000\nCiphertext: 5e0905517bb59bcf\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 0000000002000000\nCiphertext: 814eeb3b91d90726\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 0000000001000000\nCiphertext: 4d49db1532919c9f\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 0000000000800000\nCiphertext: 25eb5fc3f8cf0621\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 0000000000400000\nCiphertext: ab6a20c0620d1c6f\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 0000000000200000\nCiphertext: 79e90dbc98f92cca\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 0000000000100000\nCiphertext: 866ecedd8072bb0e\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 0000000000080000\nCiphertext: 8b54536f2f3e64a8\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 0000000000040000\nCiphertext: ea51d3975595b86b\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 0000000000020000\nCiphertext: caffc6ac4542de31\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 0000000000010000\nCiphertext: 8dd45a2ddf90796c\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 0000000000008000\nCiphertext: 1029d55e880ec2d0\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 0000000000004000\nCiphertext: 5d86cb23639dbea9\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 0000000000002000\nCiphertext: 1d1ca853ae7c0c5f\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 0000000000001000\nCiphertext: ce332329248f3228\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 0000000000000800\nCiphertext: 8405d1abe24fb942\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 0000000000000400\nCiphertext: e643d78090ca4207\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 0000000000000200\nCiphertext: 48221b9937748a23\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 0000000000000100\nCiphertext: dd7c0bbd61fafd54\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 0000000000000080\nCiphertext: 2fbc291a570db5c4\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 0000000000000040\nCiphertext: e07c30d7e4e26e12\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 0000000000000020\nCiphertext: 0953e2258e8e90a1\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 0000000000000010\nCiphertext: 5b711bc4ceebf2ee\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 0000000000000008\nCiphertext: cc083f1e6d9e85f6\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 0000000000000004\nCiphertext: d2fd8867d50d2dfe\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 0000000000000002\nCiphertext: 06e7ea22ce92708f\n\nCipher: DES-EDE3-CBC\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nPlaintext: 0000000000000001\nCiphertext: 166b40b44aba4bd6\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 95f8a5e5dd31d900\nPlaintext: 8000000000000000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: dd7f121ca5015619\nPlaintext: 4000000000000000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 2e8653104f3834ea\nPlaintext: 2000000000000000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 4bd388ff6cd81d4f\nPlaintext: 1000000000000000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 20b9e767b2fb1456\nPlaintext: 0800000000000000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 55579380d77138ef\nPlaintext: 0400000000000000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 6cc5defaaf04512f\nPlaintext: 0200000000000000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0d9f279ba5d87260\nPlaintext: 0100000000000000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: d9031b0271bd5a0a\nPlaintext: 0080000000000000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 424250b37c3dd951\nPlaintext: 0040000000000000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: b8061b7ecd9a21e5\nPlaintext: 0020000000000000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: f15d0f286b65bd28\nPlaintext: 0010000000000000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: add0cc8d6e5deba1\nPlaintext: 0008000000000000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: e6d5f82752ad63d1\nPlaintext: 0004000000000000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: ecbfe3bd3f591a5e\nPlaintext: 0002000000000000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: f356834379d165cd\nPlaintext: 0001000000000000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 2b9f982f20037fa9\nPlaintext: 0000800000000000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nI", "V: 0000000000000000\nCiphertext: 889de068a16f0be6\nPlaintext: 0000400000000000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: e19e275d846a1298\nPlaintext: 0000200000000000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 329a8ed523d71aec\nPlaintext: 0000100000000000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: e7fce22557d23c97\nPlaintext: 0000080000000000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 12a9f5817ff2d65d\nPlaintext: 0000040000000000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: a484c3ad38dc9c19\nPlaintext: 0000020000000000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: fbe00a8a1ef8ad72\nPlaintext: 0000010000000000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 750d079407521363\nPlaintext: 0000008000000000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 64feed9c724c2faf\nPlaintext: 0000004000000000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: f02b263b328e2b60\nPlaintext: 0000002000000000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 9d64555a9a10b852\nPlaintext: 0000001000000000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: d106ff0bed5255d7\nPlaintext: 0000000800000000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: e1652c6b138c64a5\nPlaintext: 0000000400000000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: e428581186ec8f46\nPlaintext: 0000000200000000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: aeb5f5ede22d1a36\nPlaintext: 0000000100000000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: e943d7568aec0c5c\nPlaintext: 0000000080000000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: df98c8276f54b04b\nPlaintext: 0000000040000000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: b160e4680f6c696f\nPlaintext: 0000000020000000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: fa0752b07d9c4ab8\nPlaintext: 0000000010000000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: ca3a2b036dbc8502\nPlaintext: 0000000008000000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 5e0905517bb59bcf\nPlaintext: 0000000004000000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 814eeb3b91d90726\nPlaintext: 0000000002000000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 4d49db1532919c9f\nPlaintext: 0000000001000000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 25eb5fc3f8cf0621\nPlaintext: 0000000000800000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: ab6a20c0620d1c6f\nPlaintext: 0000000000400000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 79e90dbc98f92cca\nPlaintext: 0000000000200000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 866ecedd8072bb0e\nPlaintext: 0000000000100000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 8b54536f2f3e64a8\nPlaintext: 0000000000080000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: ea51d3975595b86b\nPlaintext: 0000000000040000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: caffc6ac4542de31\nPlaintext: 0000000000020000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 8dd45a2ddf90796c\nPlaintext: 0000000000010000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 1029d55e880ec2d0\nPlaintext: 0000000000008000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 5d86cb23639dbea9\nPlaintext: 0000000000004000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 1d1ca853ae7c0c5f\nPlaintext: 0000000000002000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: ce332329248f3228\nPlaintext: 0000000000001000\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 8405d1abe24fb942\nPlaintext: 0000000000000800\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: e643d78090ca4207\nPlaintext: 0000000000000400\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 48221b9937748a23\nPlaintext: 0000000000000200\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: dd7c0bbd61fafd54\nPlaintext: 0000000000000100\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 2fbc291a570db5c4\nPlaintext: 0000000000000080\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: e07c30d7e4e26e12\nPlaintext: 0000000000000040\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 0953e2258e8e90a1\nPlaintext: 0000000000000020\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 5b711bc4ceebf2ee\nPlaintext: 0000000000000010\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: cc083f1e6d9e85f6\nPlaintext: 0000000000000008\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: d2fd8867d50d2dfe\nPlaintext: 0000000000000004\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 06e7ea22ce92708f\nPlaintext: 0000000000000002\n\nCipher: DES-EDE3-CBC\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nIV: 0000000000000000\nCiphertext: 166b40b44aba4bd6\nPlaintext: 0000000000000001\n\n", }; -static const size_t kLen29 = 70010; +static const size_t kLen30 = 70010; -static const char *kData29[] = { +static const char *kData30[] = { "# Generated by \"make_cavp -extra-labels Cipher=DES-EDE3 -cipher tdes kat_des/KAT_TDES/TECBinvperm.rsp kat_des/KAT_TDES/TECBpermop.rsp kat_des/KAT_TDES/TECBsubtab.rsp kat_des/KAT_TDES/TECBvarkey.rsp kat_des/KAT_TDES/TECBvartext.rsp\"\n\n# File 1: kat_des/KAT_TDES/TECBinvperm.rsp\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 95f8a5e5dd31d900\nCiphertext: 8000000000000000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: dd7f121ca5015619\nCiphertext: 4000000000000000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 2e8653104f3834ea\nCiphertext: 2000000000000000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 4bd388ff6cd81d4f\nCiphertext: 1000000000000000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 20b9e767b2fb1456\nCiphertext: 0800000000000000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 55579380d77138ef\nCiphertext: 0400000000000000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 6cc5defaaf04512f\nCiphertext: 0200000000000000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 0d9f279ba5d87260\nCiphertext: 0100000000000000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: d9031b0271bd5a0a\nCiphertext: 0080000000000000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 424250b37c3dd951\nCiphertext: 0040000000000000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: b8061b7ecd9a21e5\nCiphertext: 0020000000000000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: f15d0f286b65bd28\nCiphertext: 0010000000000000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: add0cc8d6e5deba1\nCiphertext: 0008000000000000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: e6d5f82752ad63d1\nCiphertext: 0004000000000000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: ecbfe3bd3f591a5e\nCiphertext: 0002000000000000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: f356834379d165cd\nCiphertext: 0001000000000000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 2b9f982f20037fa9\nCiphertext: 0000800000000000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 889de068a16f0be6\nCiphertext: 0000400000000000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: e19e275d846a1298\nCiphertext: 0000200000000000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 329a8ed523d71aec\nCiphertext: 0000100000000000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: e7fce22557d23c97\nCiphertext: 0000080000000000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 12a9f5817ff2d65d\nCiphertext: 0000040000000000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: a484c3ad38dc9c19\nCiphertext: 0000020000000000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: fbe00a8a1ef8ad72\nCiphertext: 0000010000000000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 750d079407521363\nCiphertext: 0000008000000000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 64feed9c724c2faf\nCiphertext: 0000004000000000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: f02b263b328e2b60\nCiphertext: 0000002000000000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 9d64555a9a10b852\nCiphertext: 0000001000000000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: d106ff0bed5255d7\nCiphertext: 0000000800000000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: e1652c6b138c64a5\nCiphertext: 0000000400000000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: e428581186ec8f46\nCiphertext: 0000000200000000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: aeb5f5ede22d1a36\nCiphertext: 0000000100000000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: e943d7568aec0c5c\nCiphertext: 0000000080000000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: df98c8276f54b04b\nCiphertext: 0000000040000000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: b160e4680f6c696f\nCiphertext: 0000000020000000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: fa0752b07d9c4ab8\nCiphertext: 0000000010000000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: ca3a2b036dbc8502\nCiphertext: 0000000008000000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 5e0905517bb59bcf\nCiphertext: 0000000004000000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 814eeb3b91d90726\nCiphertext: 0000000002000000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 4d49db1532919c9f\nCiphertext: 0000000001000000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 25eb5fc3f8cf0621\nCiphertext: 0000000000800000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: ab6a20c0620d1c6f\nCiphertext: 0000000000400000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 79e90dbc98f92cca\nCiphertext: 0000000000200000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 866ecedd8072bb0e\nCiphertext: 0000000000100000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 8b54536f2f3e64a8\nCiphertext: 0000000000080000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: ea51d3975595b86b\nCiphertext: 0000000000040000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: caffc6ac4542de31\nCiphertext: 0000000000020000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 8dd45a2ddf90796c\nCiphertext: 0000000000010000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 1029d55e880ec2d0\nCiphertext: 0000000000008000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 5d86cb23639dbea9\nCiphertext: 0000000000004000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 1d1ca853ae7c0c5f\nCiphertext: 0000000000002000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: ce332329248f3228\nCiphertext: 0000000000001000\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 8405d1abe24fb942\nCiphertext: 0000000000000800\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101", "010101010101010101\nPlaintext: e643d78090ca4207\nCiphertext: 0000000000000400\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 48221b9937748a23\nCiphertext: 0000000000000200\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: dd7c0bbd61fafd54\nCiphertext: 0000000000000100\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 2fbc291a570db5c4\nCiphertext: 0000000000000080\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: e07c30d7e4e26e12\nCiphertext: 0000000000000040\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 0953e2258e8e90a1\nCiphertext: 0000000000000020\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 5b711bc4ceebf2ee\nCiphertext: 0000000000000010\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: cc083f1e6d9e85f6\nCiphertext: 0000000000000008\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: d2fd8867d50d2dfe\nCiphertext: 0000000000000004\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 06e7ea22ce92708f\nCiphertext: 0000000000000002\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 166b40b44aba4bd6\nCiphertext: 0000000000000001\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 8000000000000000\nPlaintext: 95f8a5e5dd31d900\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 4000000000000000\nPlaintext: dd7f121ca5015619\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 2000000000000000\nPlaintext: 2e8653104f3834ea\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 1000000000000000\nPlaintext: 4bd388ff6cd81d4f\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0800000000000000\nPlaintext: 20b9e767b2fb1456\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0400000000000000\nPlaintext: 55579380d77138ef\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0200000000000000\nPlaintext: 6cc5defaaf04512f\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0100000000000000\nPlaintext: 0d9f279ba5d87260\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0080000000000000\nPlaintext: d9031b0271bd5a0a\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0040000000000000\nPlaintext: 424250b37c3dd951\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0020000000000000\nPlaintext: b8061b7ecd9a21e5\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0010000000000000\nPlaintext: f15d0f286b65bd28\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0008000000000000\nPlaintext: add0cc8d6e5deba1\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0004000000000000\nPlaintext: e6d5f82752ad63d1\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0002000000000000\nPlaintext: ecbfe3bd3f591a5e\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0001000000000000\nPlaintext: f356834379d165cd\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000800000000000\nPlaintext: 2b9f982f20037fa9\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000400000000000\nPlaintext: 889de068a16f0be6\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000200000000000\nPlaintext: e19e275d846a1298\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000100000000000\nPlaintext: 329a8ed523d71aec\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000080000000000\nPlaintext: e7fce22557d23c97\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000040000000000\nPlaintext: 12a9f5817ff2d65d\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000020000000000\nPlaintext: a484c3ad38dc9c19\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000010000000000\nPlaintext: fbe00a8a1ef8ad72\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000008000000000\nPlaintext: 750d079407521363\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000004000000000\nPlaintext: 64feed9c724c2faf\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000002000000000\nPlaintext: f02b263b328e2b60\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000001000000000\nPlaintext: 9d64555a9a10b852\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000000800000000\nPlaintext: d106ff0bed5255d7\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000000400000000\nPlaintext: e1652c6b138c64a5\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000000200000000\nPlaintext: e428581186ec8f46\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000000100000000\nPlaintext: aeb5f5ede22d1a36\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000000080000000\nPlaintext: e943d7568aec0c5c\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000000040000000\nPlaintext: df98c8276f54b04b\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000000020000000\nPlaintext: b160e4680f6c696f\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000000010000000\nPlaintext: fa0752b07d9c4ab8\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000000008000000\nPlaintext: ca3a2b036dbc8502\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000000004000000\nPlaintext: 5e0905517bb59bcf\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000000002000000\nPlaintext: 814eeb3b91d90726\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000000001000000\nPlaintext: 4d49db1532919c9f\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000000000800000\nPlaintext: 25eb5fc3f8cf0621\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000000000400000\nPlaintext: ab6a20c0620d1c6f\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000000000200000\nPlaintext: 79e90dbc98f92cca\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000000000100000\nPlaintext: 866ecedd8072bb0e\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000000000080000\nPlai", "ntext: 8b54536f2f3e64a8\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000000000040000\nPlaintext: ea51d3975595b86b\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000000000020000\nPlaintext: caffc6ac4542de31\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000000000010000\nPlaintext: 8dd45a2ddf90796c\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000000000008000\nPlaintext: 1029d55e880ec2d0\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000000000004000\nPlaintext: 5d86cb23639dbea9\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000000000002000\nPlaintext: 1d1ca853ae7c0c5f\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000000000001000\nPlaintext: ce332329248f3228\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000000000000800\nPlaintext: 8405d1abe24fb942\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000000000000400\nPlaintext: e643d78090ca4207\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000000000000200\nPlaintext: 48221b9937748a23\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000000000000100\nPlaintext: dd7c0bbd61fafd54\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000000000000080\nPlaintext: 2fbc291a570db5c4\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000000000000040\nPlaintext: e07c30d7e4e26e12\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000000000000020\nPlaintext: 0953e2258e8e90a1\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000000000000010\nPlaintext: 5b711bc4ceebf2ee\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000000000000008\nPlaintext: cc083f1e6d9e85f6\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000000000000004\nPlaintext: d2fd8867d50d2dfe\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000000000000002\nPlaintext: 06e7ea22ce92708f\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0000000000000001\nPlaintext: 166b40b44aba4bd6\n\n# File 2: kat_des/KAT_TDES/TECBpermop.rsp\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 104691348998013110469134899801311046913489980131\nPlaintext: 0000000000000000\nCiphertext: 88d55e54f54c97b4\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 100710348998802010071034899880201007103489988020\nPlaintext: 0000000000000000\nCiphertext: 0c0cc00c83ea48fd\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 10071034c898012010071034c898012010071034c8980120\nPlaintext: 0000000000000000\nCiphertext: 83bc8ef3a6570183\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 104610348998802010461034899880201046103489988020\nPlaintext: 0000000000000000\nCiphertext: df725dcad94ea2e9\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 108691151919010110869115191901011086911519190101\nPlaintext: 0000000000000000\nCiphertext: e652b53b550be8b0\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 108691151958010110869115195801011086911519580101\nPlaintext: 0000000000000000\nCiphertext: af527120c485cbb0\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 5107b015195801015107b015195801015107b01519580101\nPlaintext: 0000000000000000\nCiphertext: 0f04ce393db926d5\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 1007b015191901011007b015191901011007b01519190101\nPlaintext: 0000000000000000\nCiphertext: c9f00ffc74079067\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 310791549808010131079154980801013107915498080101\nPlaintext: 0000000000000000\nCiphertext: 7cfd82a593252b4e\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 310791949808010131079194980801013107919498080101\nPlaintext: 0000000000000000\nCiphertext: cb49a2f9e91363e3\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 10079115b908014010079115b908014010079115b9080140\nPlaintext: 0000000000000000\nCiphertext: 00b588be70d23f56\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 310791159808014031079115980801403107911598080140\nPlaintext: 0000000000000000\nCiphertext: 406a9a6ab43399ae\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 1007d015899801011007d015899801011007d01589980101\nPlaintext: 0000000000000000\nCiphertext: 6cb773611dca9ada\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 910791158998010191079115899801019107911589980101\nPlaintext: 0000000000000000\nCiphertext: 67fd21c17dbb5d70\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 9107d015891901019107d015891901019107d01589190101\nPlaintext: 0000000000000000\nCiphertext: 9592cb4110430787\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 1007d015989801201007d015989801201007d01598980120\nPlaintext: 0000000000000000\nCiphertext: a6b7ff68a318ddd3\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 100794049819010110079404981901011007940498190101\nPlaintext: 0000000000000000\nCiphertext: 4d102196c914ca16\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010791049119040101079104911904010107910491190401\nPlaintext: 0000000000000000\nCiphertext: 2dfa9f4573594965\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010791049119010101079104911901010107910491190101\nPlaintext: 0000000000000000\nCiphertext: b46604816c0e0774\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010794049119040101079404911904010107940491190401\nPlaintext: 0000000000000000\nCiphertext: 6e7e6221a4f34e87\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 19079210981a010119079210981a010119079210981a0101\nPlaintext: 0000000000000000\nCiphertext: aa85e74643233199\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 100791199819080110079119981908011007911998190801\nPlaintext: 0000000000000000\nCiphertext: 2e5a19db4d1962d6\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 10079119981a080110079119981a080110079119981a0801\nPlaintext: 0000000000000000\nCiphertext: 23a866a809d30894\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 100792109819010110079210981901011007921098190101\nPlaintext: 0000000000000000\nCiphertext: d812d961f017d320\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 100791159819010b100791159819010b100791159819010b\nPlaintext: 0000000000000000\nCiphertext: 055605816e58608f\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 100480159819010110048015981901011004801598190101\nPlaintext: 0000000000000000\nCiphertext: abd88e8b1b7716f1\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 100480159819010210048015981901021004801598190102\nPlaintext: 0000000000000000\nCiphertext: 537ac95be69da1e1\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 100480159819010810048015981901081004801598190108\nPlaintext: 0000000000000000\nCiphertext: aed0f6ae3c25cdd8\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 100291159810010410029115981001041002911598100104\nPlaintext: 0000000000000000\nCiphertext: b3e35a5ee53e7b8d\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 100291159819010410029115981901041002911598190104\nPlaintext: 0000000000000000\nCiphertext: 61c79c71921a2ef8\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 100291159810020110029115981002011002911598100201\nPlaintext: 0000000000000000\nCiphertext: e2f5728f0995013c\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 100291169810010110029116981001011002911698100101\nPlaintext: 0000000000000000\nCiphertext: 1aeac39a61f0a464\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 104691348998013110469134899801311046913489980131\nCiphertext: 88d55e54f54c97b4\nPlaintext: 0000000000000000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 100710348998802010071034899880201007103489988020\nCiphertext: 0c0cc00c83ea48fd\nPlaintext: 0000000000000000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 10071034c898012010071034c898012010071034c8980120\nCiphertext: 83bc8ef3a6570183\nPlaintext: 0000000000000000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 104610348998802010461034899880201046103489988020\nCiphertext: df725dcad94ea2e9\nPlaintext: 00", @@ -2358,9 +2438,9 @@ static const char *kData29[] = { "101010101010101010101010101\nPlaintext: 0000000000200000\nCiphertext: 79e90dbc98f92cca\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 0000000000100000\nCiphertext: 866ecedd8072bb0e\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 0000000000080000\nCiphertext: 8b54536f2f3e64a8\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 0000000000040000\nCiphertext: ea51d3975595b86b\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 0000000000020000\nCiphertext: caffc6ac4542de31\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 0000000000010000\nCiphertext: 8dd45a2ddf90796c\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 0000000000008000\nCiphertext: 1029d55e880ec2d0\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 0000000000004000\nCiphertext: 5d86cb23639dbea9\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 0000000000002000\nCiphertext: 1d1ca853ae7c0c5f\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 0000000000001000\nCiphertext: ce332329248f3228\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 0000000000000800\nCiphertext: 8405d1abe24fb942\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 0000000000000400\nCiphertext: e643d78090ca4207\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 0000000000000200\nCiphertext: 48221b9937748a23\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 0000000000000100\nCiphertext: dd7c0bbd61fafd54\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 0000000000000080\nCiphertext: 2fbc291a570db5c4\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 0000000000000040\nCiphertext: e07c30d7e4e26e12\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 0000000000000020\nCiphertext: 0953e2258e8e90a1\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 0000000000000010\nCiphertext: 5b711bc4ceebf2ee\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 0000000000000008\nCiphertext: cc083f1e6d9e85f6\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 0000000000000004\nCiphertext: d2fd8867d50d2dfe\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 0000000000000002\nCiphertext: 06e7ea22ce92708f\n\nCipher: DES-EDE3\nOperation: ENCRYPT\nKey: 010101010101010101010101010101010101010101010101\nPlaintext: 0000000000000001\nCiphertext: 166b40b44aba4bd6\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 95f8a5e5dd31d900\nPlaintext: 8000000000000000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: dd7f121ca5015619\nPlaintext: 4000000000000000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 2e8653104f3834ea\nPlaintext: 2000000000000000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 4bd388ff6cd81d4f\nPlaintext: 1000000000000000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 20b9e767b2fb1456\nPlaintext: 0800000000000000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 55579380d77138ef\nPlaintext: 0400000000000000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 6cc5defaaf04512f\nPlaintext: 0200000000000000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0d9f279ba5d87260\nPlaintext: 0100000000000000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: d9031b0271bd5a0a\nPlaintext: 0080000000000000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 424250b37c3dd951\nPlaintext: 0040000000000000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: b8061b7ecd9a21e5\nPlaintext: 0020000000000000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: f15d0f286b65bd28\nPlaintext: 0010000000000000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: add0cc8d6e5deba1\nPlaintext: 0008000000000000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: e6d5f82752ad63d1\nPlaintext: 0004000000000000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: ecbfe3bd3f591a5e\nPlaintext: 0002000000000000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: f356834379d165cd\nPlaintext: 0001000000000000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 2b9f982f20037fa9\nPlaintext: 0000800000000000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 889de068a16f0be6\nPlaintext: 0000400000000000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: e19e275d846a1298\nPlaintext: 0000200000000000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 329a8ed523d71aec\nPlaintext: 0000100000000000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: e7fce22557d23c97\nPlaintext: 0000080000000000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 12a9f5817ff2d65d\nPlaintext: 0000040000000000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: a484c3ad38dc9c19\nPlaintext: 0000020000000000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: fbe00a8a1ef8ad72\nPlaintext: 0000010000000000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 750d079407521363\nPlaintext: 0000008000000000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 64feed9c724c2faf\nPlaintext: 0000004000000000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: f02b263b328e2b60\nPlaintext: 0000002000000000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 9d64555a9a10b852\nPlaintext: 0000001000000000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: d106ff0bed5255d7\nPlaintext: 0000000800000000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: e1652c6b138c64a5\nPlaintext: 0000000400000000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: e428581186ec8f46\nPlaintext: 0000000200000000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: aeb5f5ede22d1a36\nPlaintext: 0000000100000000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: e943d7568aec0c5c\nPlaintext: 0000000080000000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: df98c8276f54", "b04b\nPlaintext: 0000000040000000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: b160e4680f6c696f\nPlaintext: 0000000020000000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: fa0752b07d9c4ab8\nPlaintext: 0000000010000000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: ca3a2b036dbc8502\nPlaintext: 0000000008000000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 5e0905517bb59bcf\nPlaintext: 0000000004000000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 814eeb3b91d90726\nPlaintext: 0000000002000000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 4d49db1532919c9f\nPlaintext: 0000000001000000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 25eb5fc3f8cf0621\nPlaintext: 0000000000800000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: ab6a20c0620d1c6f\nPlaintext: 0000000000400000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 79e90dbc98f92cca\nPlaintext: 0000000000200000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 866ecedd8072bb0e\nPlaintext: 0000000000100000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 8b54536f2f3e64a8\nPlaintext: 0000000000080000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: ea51d3975595b86b\nPlaintext: 0000000000040000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: caffc6ac4542de31\nPlaintext: 0000000000020000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 8dd45a2ddf90796c\nPlaintext: 0000000000010000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 1029d55e880ec2d0\nPlaintext: 0000000000008000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 5d86cb23639dbea9\nPlaintext: 0000000000004000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 1d1ca853ae7c0c5f\nPlaintext: 0000000000002000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: ce332329248f3228\nPlaintext: 0000000000001000\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 8405d1abe24fb942\nPlaintext: 0000000000000800\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: e643d78090ca4207\nPlaintext: 0000000000000400\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 48221b9937748a23\nPlaintext: 0000000000000200\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: dd7c0bbd61fafd54\nPlaintext: 0000000000000100\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 2fbc291a570db5c4\nPlaintext: 0000000000000080\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: e07c30d7e4e26e12\nPlaintext: 0000000000000040\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 0953e2258e8e90a1\nPlaintext: 0000000000000020\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 5b711bc4ceebf2ee\nPlaintext: 0000000000000010\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: cc083f1e6d9e85f6\nPlaintext: 0000000000000008\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: d2fd8867d50d2dfe\nPlaintext: 0000000000000004\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 06e7ea22ce92708f\nPlaintext: 0000000000000002\n\nCipher: DES-EDE3\nOperation: DECRYPT\nKey: 010101010101010101010101010101010101010101010101\nCiphertext: 166b40b44aba4bd6\nPlaintext: 0000000000000001\n\n", }; -static const size_t kLen30 = 444193; +static const size_t kLen31 = 444193; -static const char *kData30[] = { +static const char *kData31[] = { "# The contents of this file were generated from\n# http://ed25519.cr.yp.to/python/sign.input using the following Python script:\n#\n# import sys\n#\n# isFirst = True\n#\n# for line in sys.stdin.readlines():\n# (private, public, message, sig_and_message, _) = line.split(':')\n#\n# if not isFirst:\n# print\n# print \"PRIV:\", private\n# print \"PUB:\", public\n# print \"MESSAGE:\", message\n# print \"SIG:\", sig_and_message[:128]\n# isFirst = False\n\nPRIV: 9d61b19deffd5a60ba844af492ec2cc44449c5697b326919703bac031cae7f60d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a\nPUB: d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a\nMESSAGE: \nSIG: e5564300c360ac729086e2cc806e828a84877f1eb8e5d974d873e065224901555fb8821590a33bacc61e39701cf9b46bd25bf5f0595bbe24655141438e7a100b\n\nPRIV: 4ccd089b28ff96da9db6c346ec114e0f5b8a319f35aba624da8cf6ed4fb8a6fb3d4017c3e843895a92b70aa74d1b7ebc9c982ccf2ec4968cc0cd55f12af4660c\nPUB: 3d4017c3e843895a92b70aa74d1b7ebc9c982ccf2ec4968cc0cd55f12af4660c\nMESSAGE: 72\nSIG: 92a009a9f0d4cab8720e820b5f642540a2b27b5416503f8fb3762223ebdb69da085ac1e43e15996e458f3613d0f11d8c387b2eaeb4302aeeb00d291612bb0c00\n\nPRIV: c5aa8df43f9f837bedb7442f31dcb7b166d38535076f094b85ce3a2e0b4458f7fc51cd8e6218a1a38da47ed00230f0580816ed13ba3303ac5deb911548908025\nPUB: fc51cd8e6218a1a38da47ed00230f0580816ed13ba3303ac5deb911548908025\nMESSAGE: af82\nSIG: 6291d657deec24024827e69c3abe01a30ce548a284743a445e3680d7db5ac3ac18ff9b538d16f290ae67f760984dc6594a7c15e9716ed28dc027beceea1ec40a\n\nPRIV: 0d4a05b07352a5436e180356da0ae6efa0345ff7fb1572575772e8005ed978e9e61a185bcef2613a6c7cb79763ce945d3b245d76114dd440bcf5f2dc1aa57057\nPUB: e61a185bcef2613a6c7cb79763ce945d3b245d76114dd440bcf5f2dc1aa57057\nMESSAGE: cbc77b\nSIG: d9868d52c2bebce5f3fa5a79891970f309cb6591e3e1702a70276fa97c24b3a8e58606c38c9758529da50ee31b8219cba45271c689afa60b0ea26c99db19b00c\n\nPRIV: 6df9340c138cc188b5fe4464ebaa3f7fc206a2d55c3434707e74c9fc04e20ebbc0dac102c4533186e25dc43128472353eaabdb878b152aeb8e001f92d90233a7\nPUB: c0dac102c4533186e25dc43128472353eaabdb878b152aeb8e001f92d90233a7\nMESSAGE: 5f4c8989\nSIG: 124f6fc6b0d100842769e71bd530664d888df8507df6c56dedfdb509aeb93416e26b918d38aa06305df3095697c18b2aa832eaa52edc0ae49fbae5a85e150c07\n\nPRIV: b780381a65edf8b78f6945e8dbec7941ac049fd4c61040cf0c324357975a293ce253af0766804b869bb1595be9765b534886bbaab8305bf50dbc7f899bfb5f01\nPUB: e253af0766804b869bb1595be9765b534886bbaab8305bf50dbc7f899bfb5f01\nMESSAGE: 18b6bec097\nSIG: b2fc46ad47af464478c199e1f8be169f1be6327c7f9a0a6689371ca94caf04064a01b22aff1520abd58951341603faed768cf78ce97ae7b038abfe456aa17c09\n\nPRIV: 78ae9effe6f245e924a7be63041146ebc670dbd3060cba67fbc6216febc44546fbcfbfa40505d7f2be444a33d185cc54e16d615260e1640b2b5087b83ee3643d\nPUB: fbcfbfa40505d7f2be444a33d185cc54e16d615260e1640b2b5087b83ee3643d\nMESSAGE: 89010d855972\nSIG: 6ed629fc1d9ce9e1468755ff636d5a3f40a5d9c91afd93b79d241830f7e5fa29854b8f20cc6eecbb248dbd8d16d14e99752194e4904d09c74d639518839d2300\n\nPRIV: 691865bfc82a1e4b574eecde4c7519093faf0cf867380234e3664645c61c5f7998a5e3a36e67aaba89888bf093de1ad963e774013b3902bfab356d8b90178a63\nPUB: 98a5e3a36e67aaba89888bf093de1ad963e774013b3902bfab356d8b90178a63\nMESSAGE: b4a8f381e70e7a\nSIG: 6e0af2fe55ae377a6b7a7278edfb419bd321e06d0df5e27037db8812e7e3529810fa5552f6c0020985ca17a0e02e036d7b222a24f99b77b75fdd16cb05568107\n\nPRIV: 3b26516fb3dc88eb181b9ed73f0bcd52bcd6b4c788e4bcaf46057fd078bee073f81fb54a825fced95eb033afcd64314075abfb0abd20a970892503436f34b863\nPUB: f81fb54a825fced95eb033afcd64314075abfb0abd20a970892503436f34b863\nMESSAGE: 4284abc51bb67235\nSIG: d6addec5afb0528ac17bb178d3e7f2887f9adbb1ad16e110545ef3bc57f9de2314a5c8388f723b8907be0f3ac90c6259bbe885ecc17645df3db7d488f805fa08\n\nPRIV: edc6f5fbdd1cee4d101c063530a30490b221be68c036f5b07d0f953b745df192c1a49c66e617f9ef5ec66bc4c6564ca33de2a5fb5e1464062e6d6c6219155efd\nPUB: c1a49c66e617f9ef5ec66bc4c6564ca33de2a5fb5e1464062e6d6c6219155efd\nMESSAGE: 672bf8965d04bc5146\nSIG: 2c76a04af2391c147082e33faacdbe56642a1e134bd388620b852b901a6bc16ff6c9cc9404c41dea12ed281da067a1513866f9d964f8bdd24953856c50042901\n\nPRIV: 4e7d21fb3b1897571a445833be0f9fd41cd62be3aa04040f8934e1fcbdcacd4531b2524b8348f7ab1dfafa675cc538e9a84e3fe5819e27c12ad8bbc1a36e4dff\nPUB: 31b2524b8348f7ab1dfafa675cc538e9a84e3fe5819e27c12ad8bbc1a36e4dff\nMESSAGE: 33d7a786aded8c1bf691\nSIG: 28e4598c415ae9de01f03f9f3fab4e919e8bf537dd2b0cdf6e79b9e6559c9409d9151a4c40f083193937627c369488259e99da5a9f0a87497fa6696a5dd6ce08\n\nPRIV: a980f892db13c99a3e8971e965b2ff3d41eafd54093bc9f34d1fd22d84115bb644b57ee30cdb55829d0a5d4f046baef078f1e97a7f21b62d75f8e96ea139c35f\nPUB: 44b57ee30cdb55829d0a5d4f046baef078f1e97a7f21b62d75f8e96ea139c35f\nMESSAGE: 3486f68848a65a0eb5507d\nSIG: 77d389e599630d934076329583cd4105a649a9292abc44cd28c40000c8e2f5ac7660a81c85b72af8452d7d25c070861dae91601c7803d656531650dd4e5c4100\n\nPRIV: 5b5a619f8ce1c66d7ce26e5a2ae7b0c04febcd346d286c929e19d0d5973bfef96fe83693d011d111131c4f3fbaaa40a9d3d76b30012ff73bb0e39ec27ab18257\nPUB: 6fe83693d011d111131c4f3fbaaa40a9d3d76b30012ff73bb0e39ec27ab18257\nMESSAGE: 5a8d9d0a22357e6655f9c785\nSIG: 0f9ad9793033a2fa06614b277d37381e6d94f65ac2a5a94558d09ed6ce922258c1a567952e863ac94297aec3c0d0c8ddf71084e504860bb6ba27449b55adc40e\n\nPRIV: 940c89fe40a81dafbdb2416d14ae469119869744410c3303bfaa0241dac57800a2eb8c0501e30bae0cf842d2bde8dec7386f6b7fc3981b8c57c9792bb94cf2dd\nPUB: a2eb8c0501e30bae0cf842d2bde8dec7386f6b7fc3981b8c57c9792bb94cf2dd\nMESSAGE: b87d3813e03f58cf19fd0b6395\nSIG: d8bb64aad8c9955a115a793addd24f7f2b077648714f49c4694ec995b330d09d640df310f447fd7b6cb5c14f9fe9f490bcf8cfadbfd2169c8ac20d3b8af49a0c\n\nPRIV: 9acad959d216212d789a119252ebfe0c96512a23c73bd9f3b202292d6916a738cf3af898467a5b7a52d33d53bc037e2642a8da996903fc252217e9c033e2f291\nPUB: cf3af898467a5b7a52d33d53bc037e2642a8da996903fc252217e9c033e2f291\nMESSAGE: 55c7fa434f5ed8cdec2b7aeac173\nSIG: 6ee3fe81e23c60eb2312b2006b3b25e6838e02106623f844c44edb8dafd66ab0671087fd195df5b8f58a1d6e52af42908053d55c7321010092748795ef94cf06\n\nPRIV: d5aeee41eeb0e9d1bf8337f939587ebe296161e6bf5209f591ec939e1440c300fd2a565723163e29f53c9de3d5e8fbe36a7ab66e1439ec4eae9c0a604af291a5\nPUB: fd2a565723163e29f53c9de3d5e8fbe36a7ab66e1439ec4eae9c0a604af291a5\nMESSAGE: 0a688e79be24f866286d4646b5d81c\nSIG: f68d04847e5b249737899c014d31c805c5007a62c0a10d50bb1538c5f35503951fbc1e08682f2cc0c92efe8f4985dec61dcbd54d4b94a22547d24451271c8b00\n\nPRIV: 0a47d10452ae2febec518a1c7c362890c3fc1a49d34b03b6467d35c904a8362d34e5a8508c4743746962c066e4badea2201b8ab484de5c4f94476ccd2143955b\nPUB: 34e5a8508c4743746962c066e4badea2201b8ab484de5c4f94476ccd2143955b\nMESSAGE: c942fa7ac6b23ab7ff612fdc8e68ef39\nSIG: 2a3d27dc40d0a8127949a3b7f908b3688f63b7f14f651aacd715940bdbe27a0809aac142f47ab0e1e44fa490ba87ce5392f33a891539caf1ef4c367cae54500c\n\nPRIV: f8148f7506b775ef46fdc8e8c756516812d47d6cfbfa318c27c9a22641e56f170445e456dacc7d5b0bbed23c8200cdb74bdcb03e4c7b73f0a2b9b46eac5d4372\nPUB: 0445e456dacc7d5b0bbed23c8200cdb74bdcb03e4c7b73f0a2b9b46eac5d4372\nMESSAGE: 7368724a5b0efb57d28d97622dbde725af\nSIG: 3653ccb21219202b8436fb41a32ba2618c4a133431e6e63463ceb3b6106c4d56e1d2ba165ba76eaad3dc39bffb130f1de3d8e6427db5b71938db4e272bc3e20b\n\nPRIV: 77f88691c4eff23ebb7364947092951a5ff3f10785b417e918823a552dab7c7574d29127f199d86a8676aec33b4ce3f225ccb191f52c191ccd1e8cca65213a6b\nPUB: 74d29127f199d86a8676aec33b4ce3f225ccb191f52c191ccd1e8cca65213a6b\nMESSAGE: bd8e05033f3a8bcdcbf4beceb70901c82e31\nSIG: fbe929d743a03c17910575492f3092ee2a2bf14a60a3fcacec74a58c7334510fc262db582791322d6c8c41f1700adb80027ecabc14270b703444ae3ee7623e0a\n\nPRIV: ab6f7aee6a0837b334ba5eb1b2ad7fcecfab7e323cab187fe2e0a95d80eff1325b96dca497875bf9664c5e75facf3f9bc54bae913d66ca15ee85f1491ca24d2c\nPUB: 5b96dca497875bf9664c5e75facf3f9bc54bae913d66ca15ee85f1491ca24d2c\nMESSAGE: 8171456f8b907189b1d779e26bc5afbb08c67a\nSIG: 73bca64e9dd0db88138eedfafcea8f5436cfb74bfb0e7733cf349baa0c49775c56d5934e1d38e36f39b7c5beb0a836510c45126f8ec4b6810519905b0ca07c09\n\nPRIV: 8d135de7c8411bbdbd1b31e5dc678f2ac7109e792b60f38cd24936e8a898c32d1ca281938529896535a7714e3584085b86ef9fec723f42819fc8dd5d8c00817f\nPUB: 1ca281938529896535a7714e3584085b86ef9fec723f42819fc8dd5d8c00817f\nMESSAGE: 8ba6a4c9a15a244a9c26bb2a59b1026f21348b49\nSIG: a1adc2bc6a2d980662677e7fdff6424de7dba50f5795ca90fdf3e96e256f3285cac71d3360482e993d0294ba4ec7440c61affdf35f", "e83e6e04263937db93f105\n\nPRIV: 0e765d720e705f9366c1ab8c3fa84c9a44370c06969f803296884b2846a652a47fae45dd0a05971026d410bc497af5be7d0827a82a145c203f625dfcb8b03ba8\nPUB: 7fae45dd0a05971026d410bc497af5be7d0827a82a145c203f625dfcb8b03ba8\nMESSAGE: 1d566a6232bbaab3e6d8804bb518a498ed0f904986\nSIG: bb61cf84de61862207c6a455258bc4db4e15eea0317ff88718b882a06b5cf6ec6fd20c5a269e5d5c805bafbcc579e2590af414c7c227273c102a10070cdfe80f\n\nPRIV: db36e326d676c2d19cc8fe0c14b709202ecfc761d27089eb6ea4b1bb021ecfa748359b850d23f0715d94bb8bb75e7e14322eaf14f06f28a805403fbda002fc85\nPUB: 48359b850d23f0715d94bb8bb75e7e14322eaf14f06f28a805403fbda002fc85\nMESSAGE: 1b0afb0ac4ba9ab7b7172cddc9eb42bba1a64bce47d4\nSIG: b6dcd09989dfbac54322a3ce87876e1d62134da998c79d24b50bd7a6a797d86a0e14dc9d7491d6c14a673c652cfbec9f962a38c945da3b2f0879d0b68a921300\n\nPRIV: c89955e0f7741d905df0730b3dc2b0ce1a13134e44fef3d40d60c020ef19df77fdb30673402faf1c8033714f3517e47cc0f91fe70cf3836d6c23636e3fd2287c\nPUB: fdb30673402faf1c8033714f3517e47cc0f91fe70cf3836d6c23636e3fd2287c\nMESSAGE: 507c94c8820d2a5793cbf3442b3d71936f35fe3afef316\nSIG: 7ef66e5e86f2360848e0014e94880ae2920ad8a3185a46b35d1e07dea8fa8ae4f6b843ba174d99fa7986654a0891c12a794455669375bf92af4cc2770b579e0c\n\nPRIV: 4e62627fc221142478aee7f00781f817f662e3b75db29bb14ab47cf8e84104d6b1d39801892027d58a8c64335163195893bfc1b61dbeca3260497e1f30371107\nPUB: b1d39801892027d58a8c64335163195893bfc1b61dbeca3260497e1f30371107\nMESSAGE: d3d615a8472d9962bb70c5b5466a3d983a4811046e2a0ef5\nSIG: 836afa764d9c48aa4770a4388b654e97b3c16f082967febca27f2fc47ddfd9244b03cfc729698acf5109704346b60b230f255430089ddc56912399d1122de70a\n\nPRIV: 6b83d7da8908c3e7205b39864b56e5f3e17196a3fc9c2f5805aad0f5554c142dd0c846f97fe28585c0ee159015d64c56311c886eddcc185d296dbb165d2625d6\nPUB: d0c846f97fe28585c0ee159015d64c56311c886eddcc185d296dbb165d2625d6\nMESSAGE: 6ada80b6fa84f7034920789e8536b82d5e4678059aed27f71c\nSIG: 16e462a29a6dd498685a3718b3eed00cc1598601ee47820486032d6b9acc9bf89f57684e08d8c0f05589cda2882a05dc4c63f9d0431d6552710812433003bc08\n\nPRIV: 19a91fe23a4e9e33ecc474878f57c64cf154b394203487a7035e1ad9cd697b0d2bf32ba142ba4622d8f3e29ecd85eea07b9c47be9d64412c9b510b27dd218b23\nPUB: 2bf32ba142ba4622d8f3e29ecd85eea07b9c47be9d64412c9b510b27dd218b23\nMESSAGE: 82cb53c4d5a013bae5070759ec06c3c6955ab7a4050958ec328c\nSIG: 881f5b8c5a030df0f75b6634b070dd27bd1ee3c08738ae349338b3ee6469bbf9760b13578a237d5182535ede121283027a90b5f865d63a6537dca07b44049a0f\n\nPRIV: 1d5b8cb6215c18141666baeefcf5d69dad5bea9a3493dddaa357a4397a13d4de94d23d977c33e49e5e4992c68f25ec99a27c41ce6b91f2bfa0cd8292fe962835\nPUB: 94d23d977c33e49e5e4992c68f25ec99a27c41ce6b91f2bfa0cd8292fe962835\nMESSAGE: a9a8cbb0ad585124e522abbfb40533bdd6f49347b55b18e8558cb0\nSIG: 3acd39bec8c3cd2b44299722b5850a0400c1443590fd4861d59aae7496acb3df73fc3fdf7969ae5f50ba47dddc435246e5fd376f6b891cd4c2caf5d614b6170c\n\nPRIV: 6a91b3227c472299089bdce9356e726a40efd840f11002708b7ee55b64105ac29d084aa8b97a6b9bafa496dbc6f76f3306a116c9d917e681520a0f914369427e\nPUB: 9d084aa8b97a6b9bafa496dbc6f76f3306a116c9d917e681520a0f914369427e\nMESSAGE: 5cb6f9aa59b80eca14f6a68fb40cf07b794e75171fba96262c1c6adc\nSIG: f5875423781b66216cb5e8998de5d9ffc29d1d67107054ace3374503a9c3ef811577f269de81296744bd706f1ac478caf09b54cdf871b3f802bd57f9a6cb9101\n\nPRIV: 93eaa854d791f05372ce72b94fc6503b2ff8ae6819e6a21afe825e27ada9e4fb16cee8a3f2631834c88b670897ff0b08ce90cc147b4593b3f1f403727f7e7ad5\nPUB: 16cee8a3f2631834c88b670897ff0b08ce90cc147b4593b3f1f403727f7e7ad5\nMESSAGE: 32fe27994124202153b5c70d3813fdee9c2aa6e7dc743d4d535f1840a5\nSIG: d834197c1a3080614e0a5fa0aaaa808824f21c38d692e6ffbd200f7dfb3c8f44402a7382180b98ad0afc8eec1a02acecf3cb7fde627b9f18111f260ab1db9a07\n\nPRIV: 941cac69fb7b1815c57bb987c4d6c2ad2c35d5f9a3182a79d4ba13eab253a8ad23be323c562dfd71ce65f5bba56a74a3a6dfc36b573d2f94f635c7f9b4fd5a5b\nPUB: 23be323c562dfd71ce65f5bba56a74a3a6dfc36b573d2f94f635c7f9b4fd5a5b\nMESSAGE: bb3172795710fe00054d3b5dfef8a11623582da68bf8e46d72d27cece2aa\nSIG: 0f8fad1e6bde771b4f5420eac75c378bae6db5ac6650cd2bc210c1823b432b48e016b10595458ffab92f7a8989b293ceb8dfed6c243a2038fc06652aaaf16f02\n\nPRIV: 1acdbb793b0384934627470d795c3d1dd4d79cea59ef983f295b9b59179cbb283f60c7541afa76c019cf5aa82dcdb088ed9e4ed9780514aefb379dabc844f31a\nPUB: 3f60c7541afa76c019cf5aa82dcdb088ed9e4ed9780514aefb379dabc844f31a\nMESSAGE: 7cf34f75c3dac9a804d0fcd09eba9b29c9484e8a018fa9e073042df88e3c56\nSIG: be71ef4806cb041d885effd9e6b0fbb73d65d7cdec47a89c8a994892f4e55a568c4cc78d61f901e80dbb628b86a23ccd594e712b57fa94c2d67ec26634878507\n\nPRIV: 8ed7a797b9cea8a8370d419136bcdf683b759d2e3c6947f17e13e2485aa9d420b49f3a78b1c6a7fca8f3466f33bc0e929f01fba04306c2a7465f46c3759316d9\nPUB: b49f3a78b1c6a7fca8f3466f33bc0e929f01fba04306c2a7465f46c3759316d9\nMESSAGE: a750c232933dc14b1184d86d8b4ce72e16d69744ba69818b6ac33b1d823bb2c3\nSIG: 04266c033b91c1322ceb3446c901ffcf3cc40c4034e887c9597ca1893ba7330becbbd8b48142ef35c012c6ba51a66df9308cb6268ad6b1e4b03e70102495790b\n\nPRIV: f2ab396fe8906e3e5633e99cabcd5b09df0859b516230b1e0450b580b65f616c8ea074245159a116aa7122a25ec16b891d625a68f33660423908f6bdc44f8c1b\nPUB: 8ea074245159a116aa7122a25ec16b891d625a68f33660423908f6bdc44f8c1b\nMESSAGE: 5a44e34b746c5fd1898d552ab354d28fb4713856d7697dd63eb9bd6b99c280e187\nSIG: a06a23d982d81ab883aae230adbc368a6a9977f003cebb00d4c2e4018490191a84d3a282fdbfb2fc88046e62de43e15fb575336b3c8b77d19ce6a009ce51f50c\n\nPRIV: 550a41c013f79bab8f06e43ad1836d51312736a9713806fafe6645219eaa1f9daf6b7145474dc9954b9af93a9cdb34449d5b7c651c824d24e230b90033ce59c0\nPUB: af6b7145474dc9954b9af93a9cdb34449d5b7c651c824d24e230b90033ce59c0\nMESSAGE: 8bc4185e50e57d5f87f47515fe2b1837d585f0aae9e1ca383b3ec908884bb900ff27\nSIG: 16dc1e2b9fa909eefdc277ba16ebe207b8da5e91143cde78c5047a89f681c33c4e4e3428d5c928095903a811ec002d52a39ed7f8b3fe1927200c6dd0b9ab3e04\n\nPRIV: 19ac3e272438c72ddf7b881964867cb3b31ff4c793bb7ea154613c1db068cb7ef85b80e050a1b9620db138bfc9e100327e25c257c59217b601f1f6ac9a413d3f\nPUB: f85b80e050a1b9620db138bfc9e100327e25c257c59217b601f1f6ac9a413d3f\nMESSAGE: 95872d5f789f95484e30cbb0e114028953b16f5c6a8d9f65c003a83543beaa46b38645\nSIG: ea855d781cbea4682e350173cb89e8619ccfddb97cdce16f9a2f6f6892f46dbe68e04b12b8d88689a7a31670cdff409af98a93b49a34537b6aa009d2eb8b4701\n\nPRIV: ca267de96c93c238fafb1279812059ab93ac03059657fd994f8fa5a09239c821017370c879090a81c7f272c2fc80e3aac2bc603fcb379afc98691160ab745b26\nPUB: 017370c879090a81c7f272c2fc80e3aac2bc603fcb379afc98691160ab745b26\nMESSAGE: e05f71e4e49a72ec550c44a3b85aca8f20ff26c3ee94a80f1b431c7d154ec9603ee02531\nSIG: ac957f82335aa7141e96b59d63e3ccee95c3a2c47d026540c2af42dc9533d5fd81827d1679ad187aeaf37834915e75b147a9286806c8017516ba43dd051a5e0c\n\nPRIV: 3dff5e899475e7e91dd261322fab09980c52970de1da6e2e201660cc4fce7032f30162bac98447c4042fac05da448034629be2c6a58d30dfd578ba9fb5e3930b\nPUB: f30162bac98447c4042fac05da448034629be2c6a58d30dfd578ba9fb5e3930b\nMESSAGE: 938f0e77621bf3ea52c7c4911c5157c2d8a2a858093ef16aa9b107e69d98037ba139a3c382\nSIG: 5efe7a92ff9623089b3e3b78f352115366e26ba3fb1a416209bc029e9cadccd9f4affa333555a8f3a35a9d0f7c34b292cae77ec96fa3adfcaadee2d9ced8f805\n\nPRIV: 9a6b847864e70cfe8ba6ab22fa0ca308c0cc8bec7141fbcaa3b81f5d1e1cfcfc34ad0fbdb2566507a81c2b1f8aa8f53dccaa64cc87ada91b903e900d07eee930\nPUB: 34ad0fbdb2566507a81c2b1f8aa8f53dccaa64cc87ada91b903e900d07eee930\nMESSAGE: 838367471183c71f7e717724f89d401c3ad9863fd9cc7aa3cf33d3c529860cb581f3093d87da\nSIG: 2ab255169c489c54c732232e37c87349d486b1eba20509dbabe7fed329ef08fd75ba1cd145e67b2ea26cb5cc51cab343eeb085fe1fd7b0ec4c6afcd9b979f905\n\nPRIV: 575be07afca5d063c238cd9b8028772cc49cda34471432a2e166e096e2219efc94e5eb4d5024f49d7ebf79817c8de11497dc2b55622a51ae123ffc749dbb16e0\nPUB: 94e5eb4d5024f49d7ebf79817c8de11497dc2b55622a51ae123ffc749dbb16e0\nMESSAGE: 33e5918b66d33d55fe717ca34383eae78f0af82889caf6696e1ac9d95d1ffb32cba755f9e3503e\nSIG: 58271d44236f3b98c58fd7ae0d2f49ef2b6e3affdb225aa3ba555f0e11cc53c23ad19baf24346590d05d7d5390582082cf94d39cad6530ab93d13efb39279506\n\nPRIV: 15ffb45514d43444d61fcb105e30e135fd268523dda20b82758b1794231104411772c5abc2d23fd2f9d1c3257be7bc3c1cd79cee40844b749b3a7743d2f964b8\nPUB: 1772c5abc2d23fd2f9d1c3257be7bc3c1cd79cee40844b749b3a7743d2f964b8\nMESSAGE: da9c5559d0ea51d255b6bd9d7638b876472f942b330fc0e2b30aea68d77368fce4948272991d257e\nSIG: 6828cd7624e793b8a4ceb96d3c2a975bf773e5ff6645f353614058621e58835289e7f31f42dfe6", "af6d736f2644511e320c0fa698582a79778d18730ed3e8cb08\n\nPRIV: fe0568642943b2e1afbfd1f10fe8df87a4236bea40dce742072cb21886eec1fa299ebd1f13177dbdb66a912bbf712038fdf73b06c3ac020c7b19126755d47f61\nPUB: 299ebd1f13177dbdb66a912bbf712038fdf73b06c3ac020c7b19126755d47f61\nMESSAGE: c59d0862ec1c9746abcc3cf83c9eeba2c7082a036a8cb57ce487e763492796d47e6e063a0c1feccc2d\nSIG: d59e6dfcc6d7e3e2c58dec81e985d245e681acf6594a23c59214f7bed8015d813c7682b60b3583440311e72a8665ba2c96dec23ce826e160127e18132b030404\n\nPRIV: 5ecb16c2df27c8cf58e436a9d3affbd58e9538a92659a0f97c4c4f994635a8cada768b20c437dd3aa5f84bb6a077ffa34ab68501c5352b5cc3fdce7fe6c2398d\nPUB: da768b20c437dd3aa5f84bb6a077ffa34ab68501c5352b5cc3fdce7fe6c2398d\nMESSAGE: 56f1329d9a6be25a6159c72f12688dc8314e85dd9e7e4dc05bbecb7729e023c86f8e0937353f27c7ede9\nSIG: 1c723a20c6772426a670e4d5c4a97c6ebe9147f71bb0a415631e44406e290322e4ca977d348fe7856a8edc235d0fe95f7ed91aefddf28a77e2c7dbfd8f552f0a\n\nPRIV: d599d637b3c30a82a9984e2f758497d144de6f06b9fba04dd40fd949039d7c846791d8ce50a44689fc178727c5c3a1c959fbeed74ef7d8e7bd3c1ab4da31c51f\nPUB: 6791d8ce50a44689fc178727c5c3a1c959fbeed74ef7d8e7bd3c1ab4da31c51f\nMESSAGE: a7c04e8ba75d0a03d8b166ad7a1d77e1b91c7aaf7befdd99311fc3c54a684ddd971d5b3211c3eeaff1e54e\nSIG: ebf10d9ac7c96108140e7def6fe9533d727646ff5b3af273c1df95762a66f32b65a09634d013f54b5dd6011f91bc336ca8b355ce33f8cfbec2535a4c427f8205\n\nPRIV: 30ab8232fa7018f0ce6c39bd8f782fe2e159758bb0f2f4386c7f28cfd2c85898ecfb6a2bd42f31b61250ba5de7e46b4719afdfbc660db71a7bd1df7b0a3abe37\nPUB: ecfb6a2bd42f31b61250ba5de7e46b4719afdfbc660db71a7bd1df7b0a3abe37\nMESSAGE: 63b80b7956acbecf0c35e9ab06b914b0c7014fe1a4bbc0217240c1a33095d707953ed77b15d211adaf9b97dc\nSIG: 9af885344cc7239498f712df80bc01b80638291ed4a1d28baa5545017a72e2f65649ccf9603da6eb5bfab9f5543a6ca4a7af3866153c76bf66bf95def615b00c\n\nPRIV: 0ddcdc872c7b748d40efe96c2881ae189d87f56148ed8af3ebbbc80324e38bdd588ddadcbcedf40df0e9697d8bb277c7bb1498fa1d26ce0a835a760b92ca7c85\nPUB: 588ddadcbcedf40df0e9697d8bb277c7bb1498fa1d26ce0a835a760b92ca7c85\nMESSAGE: 65641cd402add8bf3d1d67dbeb6d41debfbef67e4317c35b0a6d5bbbae0e034de7d670ba1413d056f2d6f1de12\nSIG: c179c09456e235fe24105afa6e8ec04637f8f943817cd098ba95387f9653b2add181a31447d92d1a1ddf1ceb0db62118de9dffb7dcd2424057cbdff5d41d0403\n\nPRIV: 89f0d68299ba0a5a83f248ae0c169f8e3849a9b47bd4549884305c9912b46603aba3e795aab2012acceadd7b3bd9daeeed6ff5258bdcd7c93699c2a3836e3832\nPUB: aba3e795aab2012acceadd7b3bd9daeeed6ff5258bdcd7c93699c2a3836e3832\nMESSAGE: 4f1846dd7ad50e545d4cfbffbb1dc2ff145dc123754d08af4e44ecc0bc8c91411388bc7653e2d893d1eac2107d05\nSIG: 2c691fa8d487ce20d5d2fa41559116e0bbf4397cf5240e152556183541d66cf753582401a4388d390339dbef4d384743caa346f55f8daba68ba7b9131a8a6e0b\n\nPRIV: 0a3c1844e2db070fb24e3c95cb1cc6714ef84e2ccd2b9dd2f1460ebf7ecf13b172e409937e0610eb5c20b326dc6ea1bbbc0406701c5cd67d1fbde09192b07c01\nPUB: 72e409937e0610eb5c20b326dc6ea1bbbc0406701c5cd67d1fbde09192b07c01\nMESSAGE: 4c8274d0ed1f74e2c86c08d955bde55b2d54327e82062a1f71f70d536fdc8722cdead7d22aaead2bfaa1ad00b82957\nSIG: 87f7fdf46095201e877a588fe3e5aaf476bd63138d8a878b89d6ac60631b3458b9d41a3c61a588e1db8d29a5968981b018776c588780922f5aa732ba6379dd05\n\nPRIV: c8d7a8818b98dfdb20839c871cb5c48e9e9470ca3ad35ba2613a5d3199c8ab2390d2efbba4d43e6b2b992ca16083dbcfa2b322383907b0ee75f3e95845d3c47f\nPUB: 90d2efbba4d43e6b2b992ca16083dbcfa2b322383907b0ee75f3e95845d3c47f\nMESSAGE: 783e33c3acbdbb36e819f544a7781d83fc283d3309f5d3d12c8dcd6b0b3d0e89e38cfd3b4d0885661ca547fb9764abff\nSIG: fa2e994421aef1d5856674813d05cbd2cf84ef5eb424af6ecd0dc6fdbdc2fe605fe985883312ecf34f59bfb2f1c9149e5b9cc9ecda05b2731130f3ed28ddae0b\n\nPRIV: b482703612d0c586f76cfcb21cfd2103c957251504a8c0ac4c86c9c6f3e429fffd711dc7dd3b1dfb9df9704be3e6b26f587fe7dd7ba456a91ba43fe51aec09ad\nPUB: fd711dc7dd3b1dfb9df9704be3e6b26f587fe7dd7ba456a91ba43fe51aec09ad\nMESSAGE: 29d77acfd99c7a0070a88feb6247a2bce9984fe3e6fbf19d4045042a21ab26cbd771e184a9a75f316b648c6920db92b87b\nSIG: 58832bdeb26feafc31b46277cf3fb5d7a17dfb7ccd9b1f58ecbe6feb979666828f239ba4d75219260ecac0acf40f0e5e2590f4caa16bbbcd8a155d347967a607\n\nPRIV: 84e50dd9a0f197e3893c38dbd91fafc344c1776d3a400e2f0f0ee7aa829eb8a22c50f870ee48b36b0ac2f8a5f336fb090b113050dbcc25e078200a6e16153eea\nPUB: 2c50f870ee48b36b0ac2f8a5f336fb090b113050dbcc25e078200a6e16153eea\nMESSAGE: f3992cde6493e671f1e129ddca8038b0abdb77bb9035f9f8be54bd5d68c1aeff724ff47d29344391dc536166b8671cbbf123\nSIG: 69e6a4491a63837316e86a5f4ba7cd0d731ecc58f1d0a264c67c89befdd8d3829d8de13b33cc0bf513931715c7809657e2bfb960e5c764c971d733746093e500\n\nPRIV: b322d46577a2a991a4d1698287832a39c487ef776b4bff037a05c7f1812bdeeceb2bcadfd3eec2986baff32b98e7c4dbf03ff95d8ad5ff9aa9506e5472ff845f\nPUB: eb2bcadfd3eec2986baff32b98e7c4dbf03ff95d8ad5ff9aa9506e5472ff845f\nMESSAGE: 19f1bf5dcf1750c611f1c4a2865200504d82298edd72671f62a7b1471ac3d4a30f7de9e5da4108c52a4ce70a3e114a52a3b3c5\nSIG: c7b55137317ca21e33489ff6a9bfab97c855dc6f85684a70a9125a261b56d5e6f149c5774d734f2d8debfc77b721896a8267c23768e9badb910eef83ec258802\n\nPRIV: 960cab5034b9838d098d2dcbf4364bec16d388f6376d73a6273b70f82bbc98c05e3c19f2415acf729f829a4ebd5c40e1a6bc9fbca95703a9376087ed0937e51a\nPUB: 5e3c19f2415acf729f829a4ebd5c40e1a6bc9fbca95703a9376087ed0937e51a\nMESSAGE: f8b21962447b0a8f2e4279de411bea128e0be44b6915e6cda88341a68a0d818357db938eac73e0af6d31206b3948f8c48a447308\nSIG: 27d4c3a1811ef9d4360b3bdd133c2ccc30d02c2f248215776cb07ee4177f9b13fc42dd70a6c2fed8f225c7663c7f182e7ee8eccff20dc7b0e1d5834ec5b1ea01\n\nPRIV: eb77b2638f23eebc82efe45ee9e5a0326637401e663ed029699b21e6443fb48e9ef27608961ac711de71a6e2d4d4663ea3ecd42fb7e4e8627c39622df4af0bbc\nPUB: 9ef27608961ac711de71a6e2d4d4663ea3ecd42fb7e4e8627c39622df4af0bbc\nMESSAGE: 99e3d00934003ebafc3e9fdb687b0f5ff9d5782a4b1f56b9700046c077915602c3134e22fc90ed7e690fddd4433e2034dcb2dc99ab\nSIG: 18dc56d7bd9acd4f4daa78540b4ac8ff7aa9815f45a0bba370731a14eaabe96df8b5f37dbf8eae4cb15a64b244651e59d6a3d6761d9e3c50f2d0cbb09c05ec06\n\nPRIV: b625aa89d3f7308715427b6c39bbac58effd3a0fb7316f7a22b99ee5922f2dc965a99c3e16fea894ec33c6b20d9105e2a04e2764a4769d9bbd4d8bacfeab4a2e\nPUB: 65a99c3e16fea894ec33c6b20d9105e2a04e2764a4769d9bbd4d8bacfeab4a2e\nMESSAGE: e07241dbd3adbe610bbe4d005dd46732a4c25086ecb8ec29cd7bca116e1bf9f53bfbf3e11fa49018d39ff1154a06668ef7df5c678e6a\nSIG: 01bb901d83b8b682d3614af46a807ba2691358feb775325d3423f549ff0aa5757e4e1a74e9c70f9721d8f354b319d4f4a1d91445c870fd0ffb94fed64664730d\n\nPRIV: b1c9f8bd03fe82e78f5c0fb06450f27dacdf716434db268275df3e1dc177af427fc88b1f7b3f11c629be671c21621f5c10672fafc8492da885742059ee6774cf\nPUB: 7fc88b1f7b3f11c629be671c21621f5c10672fafc8492da885742059ee6774cf\nMESSAGE: 331da7a9c1f87b2ac91ee3b86d06c29163c05ed6f8d8a9725b471b7db0d6acec7f0f702487163f5eda020ca5b493f399e1c8d308c3c0c2\nSIG: 4b229951ef262f16978f7914bc672e7226c5f8379d2778c5a2dc0a2650869f7acfbd0bcd30fdb0619bb44fc1ae5939b87cc318133009c20395b6c7eb98107701\n\nPRIV: 6d8cdb2e075f3a2f86137214cb236ceb89a6728bb4a200806bf3557fb78fac6957a04c7a5113cddfe49a4c124691d46c1f9cdc8f343f9dcb72a1330aeca71fda\nPUB: 57a04c7a5113cddfe49a4c124691d46c1f9cdc8f343f9dcb72a1330aeca71fda\nMESSAGE: 7f318dbd121c08bfddfeff4f6aff4e45793251f8abf658403358238984360054f2a862c5bb83ed89025d2014a7a0cee50da3cb0e76bbb6bf\nSIG: a6cbc947f9c87d1455cf1a708528c090f11ecee4855d1dbaadf47454a4de55fa4ce84b36d73a5b5f8f59298ccf21992df492ef34163d87753b7e9d32f2c3660b\n\nPRIV: 47adc6d6bf571ee9570ca0f75b604ac43e303e4ab339ca9b53cacc5be45b2ccba3f527a1c1f17dfeed92277347c9f98ab475de1755b0ab546b8a15d01b9bd0be\nPUB: a3f527a1c1f17dfeed92277347c9f98ab475de1755b0ab546b8a15d01b9bd0be\nMESSAGE: ce497c5ff5a77990b7d8f8699eb1f5d8c0582f70cb7ac5c54d9d924913278bc654d37ea227590e15202217fc98dac4c0f3be2183d133315739\nSIG: 4e8c318343c306adbba60c92b75cb0569b9219d8a86e5d57752ed235fc109a43c2cf4e942cacf297279fbb28675347e08027722a4eb7395e00a17495d32edf0b\n\nPRIV: 3c19b50b0fe47961719c381d0d8da9b9869d312f13e3298b97fb22f0af29cbbe0f7eda091499625e2bae8536ea35cda5483bd16a9c7e416b341d6f2c83343612\nPUB: 0f7eda091499625e2bae8536ea35cda5483bd16a9c7e416b341d6f2c83343612\nMESSAGE: 8ddcd63043f55ec3bfc83dceae69d8f8b32f4cdb6e2aebd94b4314f8fe7287dcb62732c9052e7557fe63534338efb5b6254c5d41d2690cf5144f\nSIG: efbd41f26a5d62685516f882b6ec74e0d5a71830d203c231248f26e99a9c6578ec900d68cdb8fa7216ad0d24f9ecbc9ffa655351666582f626645395a31fa704\n\nPRIV: 34e1e9d539107eb86b393a5ccea1496d35bc7d5e9a8c5159d957", @@ -2417,9 +2497,9 @@ static const char *kData30[] = { "28bb92e9a0edec8951ce2009a88ee1b64d9b9e89f69051203384210a102a44d2d6703173b68507dceadd3bf6510df2a5cefd9c80e4f385b2f9e6215813ed32\nSIG: 9da60cc4a64d07dee1346bd3d3010995ce2738208ab35b34c2a8fd1787ae3a1e207fe784525154fae4f5794cd8503045fea85cf77fd92f6a70cd0c5a52c0810e\n\nPRIV: 1126496a582ce58d3d618dd8a3933547aa7a8a30fb54063b8dfdd31671c6c73de10229c623fa8ad8982c3e4c36ff52df0f219b57915b6e980e5fe72ea0962e22\nPUB: e10229c623fa8ad8982c3e4c36ff52df0f219b57915b6e980e5fe72ea0962e22\nMESSAGE: 6a4b52d730ddab829b2a179590cbd4c372498e9f439977c0a10dc13c0ae1736eaaff063371434fd0da80360ec5890607d2fae1c9a2e1ab0b7f3d667f5b1b9c418f18b10c9e6fd669d3ebec168efef44163e577a2ebd0f2cb768f80c23188e86069e4d10f410306cedd7a341a61e0f4f3bc25041bc2f922ed073e1e2f1b709c579d10630f33071754d707894a1c62190de18882c564dc4c01dc545dd8966404ed78fa3267a9469f63b6120abb65f9b3ba3eee28d79c2eb4e7020cc6987dfc5c29672f8c0fa3e690d584fe000c64f352610179621bfd5ff3eb30d18f1a0250416db93b1c1e93cf8a3646517560d1cc8fff822b51ef27b200e987b592390753453ef138bd3d29db7cb1b5f45e4795b89c53f49704192752237c6ab274849f9594ee9777f6efe70483129d067f97199d9ae36090703864f7ca4750a6f3b6ff83824c910484394d1e2eceba18446fe4e994ce07433a740ddd05f0e396d482894e6f14acf7b97bae6c7eb88703039fa785d60a3af78b13243a4f88dde1d998617f2e3fa7eafc2f435dd4ac1ea9c238407aa09b4eea8ed434927b406674ac270458cfb3bf29c347f94559613179b9502192321b88e9af0a90e9a4ab9eddaae382e3734d1415ebe32499c34e6fdeaf15b0d9787985e08dfe495460c54f6743d81ff16881e5e30c51f4b092373783f12423c3e1ae8591130a269980caa1cb5c\nSIG: b30eb56ca9b120bf849a3a9d56af033de8a590c9e1240c1e36dbc6cf0a71b78a11ec143fb9959a8f25b57711d6a90a67e01be3a4da2b69394869bb8d64b87e0f\n\nPRIV: 9c167aff3b1b788f133d422de8ca9a64316409f9e35bfe22032ec417ae9abc6defb534f0d47c068e77b28a906d95ad8d213a4d4fc1c70542f01e596d57b5f019\nPUB: efb534f0d47c068e77b28a906d95ad8d213a4d4fc1c70542f01e596d57b5f019\nMESSAGE: 68ac0fc2b607ba38e377fae845c808c8f9fa614eb1f31158a9620a937d3e301e85acaa69144bc349a39dfb582041c4a197ae99b4d4d59b7a2ca3d16228b5591cbf57c18a781efd19193c47b16c6023a3a8ba3d668f05a37f1e83b0d7febdd10f63e48ef7a20e015b1c6725d4c300a986c60e3a115469c8e52ba05b51c05d0af40d89fd9ed76f36950aee3c7819898a903cfe0361a91c69100b495141e86ee79d63d17403fb1a1629ef63cb7e9d2720cbfff0002b190bcdc26794124dd38d42bcaa7175405eb0bbcf8e37d65d05a37195b479371fa2bbbb167d91cee88235dd72ea88fc73ce3ce43d33b715f25f192ec215dac124899c5e7586e86340d8cbe53735defbe02e4cc9fde69fb9794d1db72b98c0f19766ee5138bbfa78909aa299b4913c499deaf54b4841d5044829984936700dcf92f36542b2fc7e86441b9925f5d0b78c17a85cfcfcb20b0fd751349c27463abde4d27df74265288713f96dea013b945521808b4996b1b2dc0338b6d236efd6d2b27dafda46ec5fa32b965e8bb5e8bb61bd966edeb774681e0ea8c17b8c99fa7d660f0f66c9bc6d95cbd7dc094724098eb05191b53a3df6566b9c90e0d7dff2943848b61a20d48c22b6d3c958e293d709c8f48110230ff51918562877daf6d920c85a82e07c451fe7ae9759c0a77e97bb298b5d0592a41d08f67a4ed5a1bb41e937b6a68aeb38fd5be9\nSIG: c9ae67fd6415dcbab292fab394ca6c3b7d90ca244dc6a7764e74fd202bf4b2905bd2030e6beb914c3c238db371b1cba6d9261aa392ec871a4b8b12fe9c1c970e\n\nPRIV: e9948805eb341b2867479c668fd3532c309941c0ad4cb2e54231756e6a1bdecb5447a8e34d6a640002d8d60bcf1ddc711e4c465c94c34b50bdef358960ff81f1\nPUB: 5447a8e34d6a640002d8d60bcf1ddc711e4c465c94c34b50bdef358960ff81f1\nMESSAGE: 91cffd7eb1cf6bd4756bce6a30af9dfba26ddd1cce0394c194a3e39cc3d1cbc221b7eb70bea18d29c267457176a3c9e53c18e47d10a67c464505197702e6b2470d38869db5174b158f9992e4435d02246f540258dedd3ce33df582555a681fb76ecaccb1c2989b177e3b7e454aaa529de59bf5a03123d571df2e7f7cb830805c58b74a653bac0e5a888e08dc2236d6cd496aa06d0d67cf3b335e218c49dedad82fc1be9ef20cac61905c30eb132d739b16ca8a8c906619c0e0d8b33985327e36f3d4b8fda387c186cc50443104db761f7ff9301270204a713e58902101fad000ce931647c577fdec148dca95cdc08918ebed037c60332fadf088f036083ebc92e173b7ddcc30c493f27e69cd17a20d30b78f83a72e4f5a747d86d96c5e1bb7a438166204013e2164d6aabc0d562f54015c365c80445607145e5692ee34f6353077fab7452d88ce3eb01d2b3797dc91b341a3a726301516baae18e851f74dfbdf0866bb2376867de55231e362c472c52116544cd4f81e93571c4ec820e7e653f4e21be0a942576c9de91e7d1251683d859de448f822dcf3d2cf55ede2f9c71b6063d1373061f8f5936b698d1384e65459ea2bc26ec96775ef425207432dda0ac1fe28526c5e4559349c3d8df9918230f4044683cc2c1b858d141ab8d0805bb9336067522aa89c810f3eaa7ac2d8dd28c3751225a19ecec8bcca52439946\nSIG: d3dc62d6ce9c766f2abaf9a7fbe09d6bdb07a4747b56080db09beb4a4e804a70d7ddf4119475c7be834f31956f4a71dad029cdf2363dd0365ce22dc27f078003\n\nPRIV: b01753efa73bb3de7aa778be7afcbff66a5d3e2c2f8b5aa2b048844050996965d0cc6cf109c999fbf6d16f471fafd0232b0a68d4c46406ec7545dbaba8194158\nPUB: d0cc6cf109c999fbf6d16f471fafd0232b0a68d4c46406ec7545dbaba8194158\nMESSAGE: 684e612f27eead0d34844cc81ba911c28aaf6d66e71229e8cc3462f7c7a050daa30cb74471150f07dad459b5a91358476c0598255d8a642dd7c0802811bd88e4cac597efe41ebd96cd0f3b5ce72db4be1a3dbd6b84f5446e3da600d3b1d2b460a009bd31cacd98a91518ce33e9a703d404288736ccc43103fc69e67974f31652fa3dadef3337f6c897a3d201303c8f03597b4a87c98f291ccd58a3f1e898332aa5993b47fcb5ddaa1c0868b643742d0e4a4b9cd427038b3b74999bc89ac3484c0ca13f25aae8e78ae1ccee6218accab81a4f694f5324a347629d49b55e4037504a9acc8df58c6841dddcd4fc4347f7b6f1fd9de0564577e6f329ed951a0a6b9124ff63e22eb36d3a8863bc1bf69cea24c605967e7d8948953f27d5c4c75f0849f872a3e3d16d422fa5a11e1b9a74df6f38b90f277d81fce8437a14d99d2bef189d7cac83ddc61377ed348b3c4fc09ec2b9005925d04a71e26d641667bdf549294331c6ea01cd5c0bd1b6a7ecfda20b0f1929582b74697cb262c3927d6b223f4b5f3043aa6eb4571a78e9da11c2b36f64552580caa7b5fa6b90f929e0162e608d1240d7242cd2f47025c03debe059b1dc94770232bc6765148480bb1d9f50da1ee6448cf9c88b19dd459932c06ed811c4a64a12d5938bd1c757bcfaeaee8933fe5fff21763de740482bcf1ba59afdc8fcf873c3d507bb394e32e45f736519\nSIG: 16b7421227ae09130685cbb1a0c60aa57a5e1afe1bbe6bacea0c281bcc8998e6824a772c3208a6b6b4d236695505c9be82700cf93a783985a39e16e377a7410e\n\nPRIV: 4f4b20d899366f2f23ee628f229b236cf80f43ba183177c97ee34829546f1742c94576641f4a893cdfcee7b39fc21929b86b349976d7b0a46d39a588bcfe4357\nPUB: c94576641f4a893cdfcee7b39fc21929b86b349976d7b0a46d39a588bcfe4357\nMESSAGE: db8ef02e3033e6b96a56cab05082fb4695f4a1c916250dd75173f430a10c9468817709d37623346ae8245b42bda0da6b60462ccfdfc75a9ab994e66c9ab9fecdd8599610910affe4f10215cb280bf8f9f2700a444796dae93e06c6bea7d8b4fe1301baa79ccec769368feb2442c7de84f095e6b3bff63d388cbafb2b9809dc38e9b12ebd039c0a57f4d522e91ec8d1f2b8d23a4a0ae059af85393bb0a15f749110f6774a1fd731a6ec213e4ff435daab546d31ed9ec3b6d8cc2edacebf4facc5566556eea92e5b3f2542239b25e28012dd4ef40072eebf83ed2a255181f3a442189d68c6c609f4dfdf3db7d67d087a2fcd6d2dc50bbfed8bfbbfcb74d3c41f02a87865b13b8efcf5c3581257be0aa913f60c370527bde11a475c136a17c5eefeb03f5bff28693ed841e8ed1f7c29102f5599dd444009bcea6a92d5574152458e0caf8a36aa72b5dc4908a6461c9b741453005c8fbcc68113ae184208ee14b835480c6efafed18a76000b38e5858290f4d51f52f096cbe490e1eb5cacb226ec495a55a7fa457843d57fab67f8be7e209334785bdd665d7b63e4daf57b6e78928b603c8c0f9bc85464733b61273ef9e2b8a0cd7c3bf8ee0a6872e34d5a27a625e35eaf7ff5440b8b141af704df70c9c18623bd11209513192505105cd7bcfa5f0d919da706948fbe1f761f315846aa3b4813dd9ba3d81b9204e5409c0382b6eb\nSIG: 0f80ff5d17488fe26f93c543b04ed959b5f0643fc61c7f2c3bc60132ba9c6210c8b250ea5e84d07b01de68bc174414eeeb31fdc2ba6823e231e312a91ededd02\n\n\n# Additional test vectors from RFC 8032\n\nPRIV: f5e5767cf153319517630f226876b86c8160cc583bc013744c6bf255f5cc0ee5278117fc144c72340f67d0f2316e8386ceffbf2b2428c9c51fef7c597f1d426e\nPUB: 278117fc144c72340f67d0f2316e8386ceffbf2b2428c9c51fef7c597f1d426e\nMESSAGE: 08b8b2b733424243760fe426a4b54908632110a66c2f6591eabd3345e3e4eb98fa6e264bf09efe12ee50f8f54e9f77b1e355f6c50544e23fb1433ddf73be84d879de7c0046dc4996d9e773f4bc9efe5738829adb26c81b37c93a1b270b20329d658675fc6ea534e0810a4432826bf58c941efb65d57a338bbd2e26640f89ffbc1a858efcb8550ee3a5e1998bd177e93a7363c344fe6b199ee5d02e82d522c4feba15452f80288a821a579116ec6dad2b3b310da903401aa62100ab5d1a36553e06203b33890cc9b832f79ef80560ccb9a39ce767967ed628c6ad573cb116dbefefd75499da96bd68a8a97b928a8bbc103b6621fcde2beca1231d206be6cd9ec7aff6f6c94fcd7204ed3455c68c83f4a41da4af2b74ef5c53f1d8ac70bdcb7ed185ce81bd84359d44254d95629e9855a94a7c1958d1f8ada5d0532ed8a5aa3fb2d17ba70eb6248e594e1a2297acbbb39d502f1a8c6eb6f1ce22b3de1a1f40cc24554119a831a9aad6079cad88425de6bde1a9187ebb6092cf67bf2b13fd65f27088d78b7e883c8759d2c4f5c65adb7553878ad575f9fad878e80a0c9ba63bcbcc27", "32e69485bbc9c90bfbd62481d9089beccf80cfe2df16a2cf65bd92dd597b0707e0917af48bbb75fed413d238f5555a7a569d80c3414a8d0859dc65a46128bab27af87a71314f318c782b23ebfe808b82b0ce26401d2e22f04d83d1255dc51addd3b75a2b1ae0784504df543af8969be3ea7082ff7fc9888c144da2af58429ec96031dbcad3dad9af0dcbaaaf268cb8fcffead94f3c7ca495e056a9b47acdb751fb73e666c6c655ade8297297d07ad1ba5e43f1bca32301651339e22904cc8c42f58c30c04aafdb038dda0847dd988dcda6f3bfd15c4b4c4525004aa06eeff8ca61783aacec57fb3d1f92b0fe2fd1a85f6724517b65e614ad6808d6f6ee34dff7310fdc82aebfd904b01e1dc54b2927094b2db68d6f903b68401adebf5a7e08d78ff4ef5d63653a65040cf9bfd4aca7984a74d37145986780fc0b16ac451649de6188a7dbdf191f64b5fc5e2ab47b57f7f7276cd419c17a3ca8e1b939ae49e488acba6b965610b5480109c8b17b80e1b7b750dfc7598d5d5011fd2dcc5600a32ef5b52a1ecc820e308aa342721aac0943bf6686b64b2579376504ccc493d97e6aed3fb0f9cd71a43dd497f01f17c0e2cb3797aa2a2f256656168e6c496afc5fb93246f6b1116398a346f1a641f3b041e989f7914f90cc2c7fff357876e506b50d334ba77c225bc307ba537152f3f1610e4eafe595f6d9d90d11faa933a15ef1369546868a7f3a45a96768d40fd9d03412c091c6315cf4fde7cb68606937380db2eaaa707b4c4185c32eddcdd306705e4dc1ffc872eeee475a64dfac86aba41c0618983f8741c5ef68d3a101e8a3b8cac60c905c15fc910840b94c00a0b9d0\nSIG: 0aab4c900501b3e24d7cdf4663326a3a87df5e4843b2cbdb67cbf6e460fec350aa5371b1508f9f4528ecea23c436d94b5e8fcd4f681e30a6ac00a9704a188a03\n\nPRIV: 833fe62409237b9d62ec77587520911e9a759cec1d19755b7da901b96dca3d42ec172b93ad5e563bf4932c70e1245034c35467ef2efd4d64ebf819683467e2bf\nPUB: ec172b93ad5e563bf4932c70e1245034c35467ef2efd4d64ebf819683467e2bf\nMESSAGE: ddaf35a193617abacc417349ae20413112e6fa4e89a97ea20a9eeee64b55d39a2192992a274fc1a836ba3c23a3feebbd454d4423643ce80e2a9ac94fa54ca49f\nSIG: dc2a4459e7369633a52b1bf277839a00201009a3efbf3ecb69bea2186c26b58909351fc9ac90b3ecfdfbc7c66431e0303dca179c138ac17ad9bef1177331a704\n", }; -static const size_t kLen31 = 41961; +static const size_t kLen32 = 41961; -static const char *kData31[] = { +static const char *kData32[] = { "# This file has been modified to remove the 65536-byte long inputs.\r\n\r\n# CAVS 11.0\r\n# CMACVer information \r\n# Algorithms tested:Alg = TDES KeySize = 3 Mode = Verify \r\n# Generated on Tue Mar 15 08:40:47 2011\r\n\r\n\r\nCount = 0\r\nKlen = 3 \r\nMlen = 0\r\nTlen = 1\r\nKey1 = 3bb96170d5df4cce\r\nKey2 = 25d5daa22a982f08\r\nKey3 = 52f4a110dcdc9e45\r\nMsg = 00\r\nMac = 96\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 1\r\nKlen = 3 \r\nMlen = 0\r\nTlen = 1\r\nKey1 = 9413d38685688f58\r\nKey2 = dc38b6b3cef125f1\r\nKey3 = 5b61f4f7a1c46ed6\r\nMsg = 00\r\nMac = fc\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 2\r\nKlen = 3 \r\nMlen = 0\r\nTlen = 1\r\nKey1 = 101a2f13fbb69473\r\nKey2 = 76fb98f24073f4d5\r\nKey3 = 2ca2706d76d00b67\r\nMsg = 00\r\nMac = 53\r\nResult = P\r\n\r\nCount = 3\r\nKlen = 3 \r\nMlen = 0\r\nTlen = 1\r\nKey1 = 2f8a238552c1e367\r\nKey2 = f8131f1c26ab3289\r\nKey3 = 83d5b6ba253bea31\r\nMsg = 00\r\nMac = 95\r\nResult = F (1 - MAC changed - for 0-len msg)\r\n\r\nCount = 4\r\nKlen = 3 \r\nMlen = 0\r\nTlen = 1\r\nKey1 = c1bafb5dc7100758\r\nKey2 = e9ef047a58b5ba89\r\nKey3 = 76cb4fb55ebcc1c7\r\nMsg = 00\r\nMac = f4\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 5\r\nKlen = 3 \r\nMlen = 0\r\nTlen = 1\r\nKey1 = c82c29f1cb5851b6\r\nKey2 = 8b5b45dcbf0d8079\r\nKey3 = e6407057ae34ec0b\r\nMsg = 00\r\nMac = 03\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 6\r\nKlen = 3 \r\nMlen = 0\r\nTlen = 1\r\nKey1 = 6b455116f4f883d5\r\nKey2 = a81a206d25152aab\r\nKey3 = 86dc07b607202abc\r\nMsg = 00\r\nMac = 75\r\nResult = P\r\n\r\nCount = 7\r\nKlen = 3 \r\nMlen = 0\r\nTlen = 1\r\nKey1 = c873d5bc4598d0b0\r\nKey2 = 1c1523cb4f794c8a\r\nKey3 = cedf6797d523dcab\r\nMsg = 00\r\nMac = 2e\r\nResult = F (1 - MAC changed - for 0-len msg)\r\n\r\nCount = 8\r\nKlen = 3 \r\nMlen = 0\r\nTlen = 1\r\nKey1 = 45ce943bd31fe9b5\r\nKey2 = 677cc47c13c24923\r\nKey3 = 6b2086f14934838a\r\nMsg = 00\r\nMac = 01\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 9\r\nKlen = 3 \r\nMlen = 0\r\nTlen = 1\r\nKey1 = 804f9ef7baf7dfc7\r\nKey2 = 9bb6494cb60b8c07\r\nKey3 = 2080fe52e0d3943d\r\nMsg = 00\r\nMac = c3\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 10\r\nKlen = 3 \r\nMlen = 0\r\nTlen = 1\r\nKey1 = 73c10b833e1043ab\r\nKey2 = 16dcd343645d5207\r\nKey3 = 6426f7f88c3473c8\r\nMsg = 00\r\nMac = 8b\r\nResult = F (1 - MAC changed - for 0-len msg)\r\n\r\nCount = 11\r\nKlen = 3 \r\nMlen = 0\r\nTlen = 1\r\nKey1 = 310d54d96bc73452\r\nKey2 = bae34f158ceafb04\r\nKey3 = 4651c1b53de3da26\r\nMsg = 00\r\nMac = ce\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 12\r\nKlen = 3 \r\nMlen = 0\r\nTlen = 1\r\nKey1 = 0e3d49d0e692f20e\r\nKey2 = a9cd384a3b688c0e\r\nKey3 = 584ae5f794f8fe7f\r\nMsg = 00\r\nMac = 4b\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 13\r\nKlen = 3 \r\nMlen = 0\r\nTlen = 1\r\nKey1 = b0fda857ea402f0b\r\nKey2 = d567e9f48568f1e0\r\nKey3 = 0ec2ad452a547a91\r\nMsg = 00\r\nMac = 04\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 14\r\nKlen = 3 \r\nMlen = 0\r\nTlen = 1\r\nKey1 = 1ac1543b1591f270\r\nKey2 = dcda0e9870b9d949\r\nKey3 = 68ea9b1c4380ae9e\r\nMsg = 00\r\nMac = 43\r\nResult = P\r\n\r\nCount = 15\r\nKlen = 3 \r\nMlen = 0\r\nTlen = 1\r\nKey1 = d0b008aea4454551\r\nKey2 = 9234a7731ab610b5\r\nKey3 = 2fb97a8ffbaedae6\r\nMsg = 00\r\nMac = 4c\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 16\r\nKlen = 3 \r\nMlen = 0\r\nTlen = 1\r\nKey1 = 04793b0b0e976d0b\r\nKey2 = bf493e58fb73681f\r\nKey3 = 1f54a262d649b985\r\nMsg = 00\r\nMac = 77\r\nResult = F (1 - MAC changed - for 0-len msg)\r\n\r\nCount = 17\r\nKlen = 3 \r\nMlen = 0\r\nTlen = 1\r\nKey1 = 043b759b578ae570\r\nKey2 = 5e522f19cb9de092\r\nKey3 = 2af2e90eb6dcc1fd\r\nMsg = 00\r\nMac = 77\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 18\r\nKlen = 3 \r\nMlen = 0\r\nTlen = 1\r\nKey1 = e58520088910513d\r\nKey2 = 7c10196e1a310dd5\r\nKey3 = 5b043b2a1ab97f85\r\nMsg = 00\r\nMac = 1c\r\nResult = P\r\n\r\nCount = 19\r\nKlen = 3 \r\nMlen = 0\r\nTlen = 1\r\nKey1 = f27fd0f189452c15\r\nKey2 = 04681651014916ab\r\nKey3 = 204046aeeffecd15\r\nMsg = 00\r\nMac = 0b\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 20\r\nKlen = 3 \r\nMlen = 0\r\nTlen = 8\r\nKey1 = 860864a710ab0475\r\nKey2 = b9205751bfd91f7f\r\nKey3 = 3bf72abf13d97640\r\nMsg = 00\r\nMac = e890abe6ea126215\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 21\r\nKlen = 3 \r\nMlen = 0\r\nTlen = 8\r\nKey1 = a7a1d57aabf1137c\r\nKey2 = fd0df2e35b8cdf2a\r\nKey3 = b386755bc2ab3d9d\r\nMsg = 00\r\nMac = f475587c2101eff2\r\nResult = F (1 - MAC changed - for 0-len msg)\r\n\r\nCount = 22\r\nKlen = 3 \r\nMlen = 0\r\nTlen = 8\r\nKey1 = c2c28a4c7698804c\r\nKey2 = ab25b53783dc0419\r\nKey3 = ab16341f4cead054\r\nMsg = 00\r\nMac = d335575aa3a4d8af\r\nResult = P\r\n\r\nCount = 23\r\nKlen = 3 \r\nMlen = 0\r\nTlen = 8\r\nKey1 = 7594a7aed3e986ba\r\nKey2 = 52a280e662d9e9da\r\nKey3 = 7649d3ad6838f2c2\r\nMsg = 00\r\nMac = 0e109f43557f250f\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 24\r\nKlen = 3 \r\nMlen = 0\r\nTlen = 8\r\nKey1 = 0798d9ef158cd698\r\nKey2 = fff4ade09b169762\r\nKey3 = 5b6e6849ec2c238a\r\nMsg = 00\r\nMac = 05af623529b168a9\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 25\r\nKlen = 3 \r\nMlen = 0\r\nTlen = 8\r\nKey1 = 254991cb4af76dc8\r\nKey2 = 2cf2e915918a025b\r\nKey3 = 2c61bfaee69b2676\r\nMsg = 00\r\nMac = 725ab7a770762894\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 26\r\nKlen = 3 \r\nMlen = 0\r\nTlen = 8\r\nKey1 = 9f68cbbf3bb5b3da\r\nKey2 = 31adb5a46e2cc8e3\r\nKey3 = f86ed9eaabb625da\r\nMsg = 00\r\nMac = 0422d94f874dda7e\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 27\r\nKlen = 3 \r\nMlen = 0\r\nTlen = 8\r\nKey1 = 1fd51f70a77ac8e9\r\nKey2 = 5dd9986e974c08ec\r\nKey3 = fd61ce34a75279f7\r\nMsg = 00\r\nMac = a163a5d269b3cc3e\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 28\r\nKlen = 3 \r\nMlen = 0\r\nTlen = 8\r\nKey1 = 078c57d6df9ba1d5\r\nKey2 = 08d94ac1b3d3c183\r\nKey3 = e90bf4fe7973c2c7\r\nMsg = 00\r\nMac = 9af3f01e20dc7c1e\r\nResult = P\r\n\r\nCount = 29\r\nKlen = 3 \r\nMlen = 0\r\nTlen = 8\r\nKey1 = 08df322f040e7c01\r\nKey2 = e92343e69d83eac7\r\nKey3 = fe94c1ec0da22c1a\r\nMsg = 00\r\nMac = 3d88c20a4f828c5b\r\nResult = F (1 - MAC changed - for 0-len msg)\r\n\r\nCount = 30\r\nKlen = 3 \r\nMlen = 0\r\nTlen = 8\r\nKey1 = b2ecf41c8692c2b0\r\nKey2 = 8ff18c1f1f296454\r\nKey3 = 383dcbc4a28c7629\r\nMsg = 00\r\nMac = 17241dc726fa4c56\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 31\r\nKlen = 3 \r\nMlen = 0\r\nTlen = 8\r\nKey1 = 07d99d58f2ec1fd5\r\nKey2 = ea46c73bf4b60ed0\r\nKey3 = f20ec149c831aecb\r\nMsg = 00\r\nMac = f6a8a0b536fd97d3\r\nResult = P\r\n\r\nCount = 32\r\nKlen = 3 \r\nMlen = 0\r\nTlen = 8\r\nKey1 = 3dfdc19426fbd56d\r\nKey2 = b03b7985b32af857\r\nKey3 = a807c7b3621ffdda\r\nMsg = 00\r\nMac = 3ef9b263ae1df460\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 33\r\nKlen = 3 \r\nMlen = 0\r\nTlen = 8\r\nKey1 = fbc79bab46b97923\r\nKey2 = ece6da4c40f1e6e9\r\nKey3 = eaa76770ef517a40\r\nMsg = 00\r\nMac = b2da3efa7fc64abe\r\nResult = F (1 - MAC changed - for 0-len msg)\r\n\r\nCount = 34\r\nKlen = 3 \r\nMlen = 0\r\nTlen = 8\r\nKey1 = 5ba4a1d5a80db5ef\r\nKey2 = 7ce6aeb9261cb00b\r\nKey3 = 8a5df23ea445e0c8\r\nMsg = 00\r\nMac = 51b2e75334d90889\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 35\r\nKlen = 3 \r\nMlen = 0\r\nTlen = 8\r\nKey1 = e9c494e001027c86\r\nKey2 = c4649e58ea251904\r\nKey3 = 8025343dec34409e\r\nMsg = 00\r\nMac = 166123f1c59132a3\r\nResult = P\r\n\r\nCount = 36\r\nKlen = 3 \r\nMlen = 0\r\nTlen = 8\r\nKey1 = 6bce61e646452a46\r\nKey2 = 54ba8a020d0876fb\r\nKey3 = 34ea2f6149bad664\r\nMsg = 00\r\nMac = b0d0f625f06f2a3a\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 37\r\nKlen = 3 \r\nMlen = 0\r\nTlen = 8\r\nKey1 = 2f38f79bc8e0ea4a\r\nKey2 = d09876f22ca43e10\r\nKey3 = 3b8fab02299d328c\r\nMsg = 00\r\nMac = b26d377a504b8985\r\nResult = F (1 - MAC changed - for 0-len msg)\r\n\r\nCount = 38\r\nKlen = 3 \r\nMlen = 0\r\nTlen = 8\r\nKey1 = 51febf790815f1d0\r\nKey2 = 9152d5e32f6713fb\r\nKey3 = 4a40c2c8fdb9f2b5\r\nMsg = 00\r\nMac = a27978e62026743b\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 39\r\nKlen = 3 \r\nMlen = 0\r\nTlen = 8\r\nKey1 = 10ba8fd6256ee9a4\r\nKey2 = fa8332a46ead52ab\r\nKey3 = b0e06e1fef04abb5\r\nMsg = 00\r\nMac = e1b0a228c142555c\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 40\r\nKlen = 3 \r\nMlen = 16\r\nTlen = 1\r\nKey1 = f2fbab6734769e9b\r\nKey2 = ab45910e5775ab0d\r\nKey3 = 5bd5ea0db015a89e\r\nMsg = 7efeb7d4d14b3f2b3df4b8a276b18b49\r\nMac = 5c\r\nResult = P\r\n\r\nCount = 41\r\nKlen = 3 \r\nMlen = 16\r\nTlen = 1\r\nKey1 = 5bc776ba64adf4ea\r\nKey2 = 195e04987c62a4f2\r\nKey3 = c1642fdc1a31705d\r\nMsg = d1fb4f35914404af9df3bf5c368c0e69\r\nMac = 4d\r\nResult = F (1 - Message changed)\r\n\r\nCount = 42\r\nKlen = 3 \r\nMlen = 16\r\nTlen = 1\r\nKey1 = b67c57f770202c6e\r\nKey2 = e91f4fb361bcae37\r\nKey3 = ada8d3df4fbcf4b9\r\nMsg = 9800db878187c87ea05bf92054b0e3e3\r\nMac = 8b\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 43\r\nKlen = 3 \r\nMlen = 16\r\nTlen = 1\r\nKey1 = ce0bc48002fe7602\r\nKey2 = e702abe31c7a2313\r\nKey3 = d61964867f2579da\r\nMsg = 704e4e75be1623b21332c14555bf5edc\r\nMac = b0\r\nResult = F (2 - Key or Key2 changed", ")\r\n\r\nCount = 44\r\nKlen = 3 \r\nMlen = 16\r\nTlen = 1\r\nKey1 = ad75e32cc11980f2\r\nKey2 = d0570429680e9486\r\nKey3 = c2379207f862dcfd\r\nMsg = 197de855b3962b1fdad687f9c4f1efd6\r\nMac = 44\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 45\r\nKlen = 3 \r\nMlen = 16\r\nTlen = 1\r\nKey1 = 9db504803d29f126\r\nKey2 = 07fe58b3da765bad\r\nKey3 = 6dc489516e9bb5f8\r\nMsg = 8f296b265fa575d146799f9e39d52965\r\nMac = 14\r\nResult = P\r\n\r\nCount = 46\r\nKlen = 3 \r\nMlen = 16\r\nTlen = 1\r\nKey1 = 991f0ed04079293d\r\nKey2 = 57077ff1baecd907\r\nKey3 = dcc7a719c4372967\r\nMsg = d9cfcc67520c5b2ceeb622c694a8e3fe\r\nMac = a3\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 47\r\nKlen = 3 \r\nMlen = 16\r\nTlen = 1\r\nKey1 = eca815d6b0371cf1\r\nKey2 = 597980cdb6c892df\r\nKey3 = 3dba0ed3ba16ae1c\r\nMsg = a03636db2fdc84722aeb9d98a6ed70d0\r\nMac = 78\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 48\r\nKlen = 3 \r\nMlen = 16\r\nTlen = 1\r\nKey1 = ea80a43d5886dfef\r\nKey2 = 08bf4f76a8893732\r\nKey3 = 4557a13752d6730d\r\nMsg = 0371a63ad722523ef297d8399b124593\r\nMac = be\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 49\r\nKlen = 3 \r\nMlen = 16\r\nTlen = 1\r\nKey1 = e9fe73e640808c02\r\nKey2 = 9be6986446012091\r\nKey3 = 707023615462a40e\r\nMsg = 83bcb484dca73d49ac234ece3a5d2ad3\r\nMac = d6\r\nResult = F (1 - Message changed)\r\n\r\nCount = 50\r\nKlen = 3 \r\nMlen = 16\r\nTlen = 1\r\nKey1 = 1fe9800ecb0dd9f1\r\nKey2 = dbbc6bc72c794c23\r\nKey3 = 899b08469b6bc8b5\r\nMsg = 95f4a41c4c64cd7310fba748aa267a14\r\nMac = 59\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 51\r\nKlen = 3 \r\nMlen = 16\r\nTlen = 1\r\nKey1 = 34546261a21c1c43\r\nKey2 = 0449eaeca4f29725\r\nKey3 = 4cc4e6525186802f\r\nMsg = d204de1e671d3e43670dd67fee114402\r\nMac = 6e\r\nResult = F (1 - Message changed)\r\n\r\nCount = 52\r\nKlen = 3 \r\nMlen = 16\r\nTlen = 1\r\nKey1 = 048aa8701fb5fe26\r\nKey2 = d56bd53d83e60bd9\r\nKey3 = 6707d6523ebc32f4\r\nMsg = f4e9f92fd2c9313fb61a889eaa4ff283\r\nMac = d5\r\nResult = P\r\n\r\nCount = 53\r\nKlen = 3 \r\nMlen = 16\r\nTlen = 1\r\nKey1 = 6ec19b02976e5ba2\r\nKey2 = 13540732d997c2b6\r\nKey3 = 7f4068926183251c\r\nMsg = 963363ab7c82b634974954bd0fe2c307\r\nMac = d7\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 54\r\nKlen = 3 \r\nMlen = 16\r\nTlen = 1\r\nKey1 = f4ecea5d32e32c6e\r\nKey2 = 385710cd3eb0fe51\r\nKey3 = 5d4c8f7ccdf10154\r\nMsg = a298857dc60ad2f0a8fa878607b50c18\r\nMac = 4c\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 55\r\nKlen = 3 \r\nMlen = 16\r\nTlen = 1\r\nKey1 = b31ff49dd970f8e9\r\nKey2 = 164aefb00efb5461\r\nKey3 = 981629757f4532dc\r\nMsg = fc3957b2ed0558bce61d478be615b774\r\nMac = 90\r\nResult = P\r\n\r\nCount = 56\r\nKlen = 3 \r\nMlen = 16\r\nTlen = 1\r\nKey1 = 85384543d3aef157\r\nKey2 = 57ea916d9b2fd0c8\r\nKey3 = 1a85830473fbe6c4\r\nMsg = 87db0d9d69bc0cf69cabeb92570e482b\r\nMac = 53\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 57\r\nKlen = 3 \r\nMlen = 16\r\nTlen = 1\r\nKey1 = 9bf8fb0b464070f8\r\nKey2 = 10ea23c7e5a19bcb\r\nKey3 = 408c236e10863e2a\r\nMsg = f9c98cd8a7d27553da946427b8276349\r\nMac = 53\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 58\r\nKlen = 3 \r\nMlen = 16\r\nTlen = 1\r\nKey1 = 91b083e9c8e9803b\r\nKey2 = 76d0341cd54c38e5\r\nKey3 = 07bca7f44a3e76bc\r\nMsg = 7e5b64dc6bcbae6bb4496fc033947343\r\nMac = de\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 59\r\nKlen = 3 \r\nMlen = 16\r\nTlen = 1\r\nKey1 = e6795b1ffe8f3e38\r\nKey2 = 4fdcea8c73c76e75\r\nKey3 = df0726ae4c079461\r\nMsg = 5265fb6a796d99a6beec6f71ba267b5d\r\nMac = e0\r\nResult = F (1 - Message changed)\r\n\r\nCount = 60\r\nKlen = 3 \r\nMlen = 16\r\nTlen = 8\r\nKey1 = 375710c76202bff1\r\nKey2 = 3bb96170d5df4cce\r\nKey3 = 23d5daa22a982f08\r\nMsg = 52f5a110dddc9f44f8a534eef9df0b22\r\nMac = b1b9e11939228900\r\nResult = P\r\n\r\nCount = 61\r\nKlen = 3 \r\nMlen = 16\r\nTlen = 8\r\nKey1 = b59b855dce76adf4\r\nKey2 = be9bae10fe34fb1c\r\nKey3 = 0d49159bf804a4ea\r\nMsg = 869f3b62ee78bfeb5287168eacf69ccb\r\nMac = 169a389352793c8b\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 62\r\nKlen = 3 \r\nMlen = 16\r\nTlen = 8\r\nKey1 = 615d792a7038fd89\r\nKey2 = 98ce972f016e75a8\r\nKey3 = c470255783b32f01\r\nMsg = e5aed6715aa4291f9c32baf6b8449b53\r\nMac = 73ac2da999bfdf5d\r\nResult = F (1 - Message changed)\r\n\r\nCount = 63\r\nKlen = 3 \r\nMlen = 16\r\nTlen = 8\r\nKey1 = 1fb09443a1074564\r\nKey2 = 3d1aa82c086eba13\r\nKey3 = c137d0f4ea54d604\r\nMsg = 16f02efd285381d7657ca5cd99d9e25b\r\nMac = 38126d16957893ce\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 64\r\nKlen = 3 \r\nMlen = 16\r\nTlen = 8\r\nKey1 = 2e5d163461fea761\r\nKey2 = 9173bf75372fb640\r\nKey3 = 9e3d1c3dcdbfbc31\r\nMsg = b10fcb03443302ae929ff95a17b025fa\r\nMac = b70f2d761ca643c9\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 65\r\nKlen = 3 \r\nMlen = 16\r\nTlen = 8\r\nKey1 = b9e5861c1c4013d3\r\nKey2 = d554806efd3801a1\r\nKey3 = 64d9bc3d646e76dc\r\nMsg = 0e6c9fced82669cffe7b5a6f09dceec8\r\nMac = 78ce4635e486635a\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 66\r\nKlen = 3 \r\nMlen = 16\r\nTlen = 8\r\nKey1 = ad2376516b974c70\r\nKey2 = cd3b5870c2312929\r\nKey3 = 1a731a7feacbf783\r\nMsg = 88eb7a0379da9d113343dc1fe0f3e6f7\r\nMac = 0c949483e7fa7d0c\r\nResult = F (1 - Message changed)\r\n\r\nCount = 67\r\nKlen = 3 \r\nMlen = 16\r\nTlen = 8\r\nKey1 = 9ada194c100eeacb\r\nKey2 = da23ad9825c194d0\r\nKey3 = 3ef1f4c438dce031\r\nMsg = 0f9703a3454c25c0b1053de62b0ffc5b\r\nMac = c78a4ca3662527e5\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 68\r\nKlen = 3 \r\nMlen = 16\r\nTlen = 8\r\nKey1 = e375f870f4d55b02\r\nKey2 = 1b015791e3e337b3\r\nKey3 = 370dc45b15671c5b\r\nMsg = 5ad9dd3b112ea4cee1654d2dfabab01e\r\nMac = 22becbbe7bfcade5\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 69\r\nKlen = 3 \r\nMlen = 16\r\nTlen = 8\r\nKey1 = d61f4aeff4b5f2f8\r\nKey2 = 0486b53de3ecc297\r\nKey3 = 807fe92fc2fed376\r\nMsg = d094cf77a709c0fa5d6b4b7e9e86a2c2\r\nMac = 947d024d9d5359a8\r\nResult = P\r\n\r\nCount = 70\r\nKlen = 3 \r\nMlen = 16\r\nTlen = 8\r\nKey1 = c2c28a4c7698804c\r\nKey2 = ab25b53783dc0419\r\nKey3 = ab16341f4cead054\r\nMsg = 7295a7aed3e987baef19ad68c33ba5a5\r\nMac = 58de82acc10d556f\r\nResult = P\r\n\r\nCount = 71\r\nKlen = 3 \r\nMlen = 16\r\nTlen = 8\r\nKey1 = f1ce4992c851e3a8\r\nKey2 = 835ec1abef97f2c8\r\nKey3 = 5b92384f20dcc2ad\r\nMsg = 9094935fcd7c389dd17b5b121cddadf9\r\nMac = 319c70370c172de3\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 72\r\nKlen = 3 \r\nMlen = 16\r\nTlen = 8\r\nKey1 = c16ebcc1165d6892\r\nKey2 = 75268c4602f8c8bf\r\nKey3 = dab97f79544cf1cd\r\nMsg = b7ba1c66282cb6092ba601407ff9578a\r\nMac = d73c26311bd44a32\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 73\r\nKlen = 3 \r\nMlen = 16\r\nTlen = 8\r\nKey1 = fe4a796720a46dbc\r\nKey2 = 98f45289e9f8b080\r\nKey3 = e05def5b25520d43\r\nMsg = 31c9eed491bb0cda9b8c0eb5afa31019\r\nMac = 8c2ce22633c62751\r\nResult = F (1 - Message changed)\r\n\r\nCount = 74\r\nKlen = 3 \r\nMlen = 16\r\nTlen = 8\r\nKey1 = eefb40c715c4546d\r\nKey2 = 5b2325c8d9daa48a\r\nKey3 = d5ec4a6bc82a7a62\r\nMsg = 5a97259dfa081f040d3893da2f231ca3\r\nMac = a64113544f509be8\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 75\r\nKlen = 3 \r\nMlen = 16\r\nTlen = 8\r\nKey1 = 0d0851311ca45db0\r\nKey2 = 3d7c458957c8c408\r\nKey3 = 98d37c9d51ab2f25\r\nMsg = 8be16380af3e2dbc6cf678c2e3331335\r\nMac = 8817baeaa909e33a\r\nResult = P\r\n\r\nCount = 76\r\nKlen = 3 \r\nMlen = 16\r\nTlen = 8\r\nKey1 = b7239438d61cd626\r\nKey2 = 082c6404cb3897b5\r\nKey3 = c4c732cdd5e043c2\r\nMsg = 7120f19169e7cbb913c7d1f0ceb006c0\r\nMac = 32841ad7621cc0fc\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 77\r\nKlen = 3 \r\nMlen = 16\r\nTlen = 8\r\nKey1 = 73f449ef83df75e9\r\nKey2 = 5f3d2016bfd0703b\r\nKey3 = 31abc16b58b64af4\r\nMsg = 83ecbfcff3bc37f1305d83bc0290350c\r\nMac = 8f8ba8bfc74203fa\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 78\r\nKlen = 3 \r\nMlen = 16\r\nTlen = 8\r\nKey1 = 9b6ea461c7b9abe6\r\nKey2 = 4a08dcdc5b9e01fe\r\nKey3 = 6b850e9b6ebae9d6\r\nMsg = c538416fba487fac5c94449d0757f3e9\r\nMac = c13f372e9a061db8\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 79\r\nKlen = 3 \r\nMlen = 16\r\nTlen = 8\r\nKey1 = c7aeeacb156dfbfb\r\nKey2 = ba43ef516232a7d3\r\nKey3 = 2c572aea62808c68\r\nMsg = a1bc9950759d0df4cffaf29345dfb340\r\nMac = d7dad4519b56a1eb\r\nResult = F (1 - Message changed)\r\n\r\nCount = 80\r\nKlen = 3 \r\nMlen = 32\r\nTlen = 1\r\nKey1 = cda4d34370234946\r\nKey2 = c408ea6bec07c78c\r\nKey3 = 19eff7f798fd6808\r\nMsg = d1fb0b68176269cf9fda18bf13efc054f0c24fd042b9e2ecaf75e86cb60484f6\r\nMac = d8\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 81\r\nKlen = 3 \r\nMlen = 32\r\nTlen = 1\r\nKey1 = 02100be5627686a8\r\nKey2 = 7f0b38ec073e75ef\r\nKey3 = 373b1a64ba5416d9\r\nMsg = c60be37fb0bda4f46894690b3344643c772fbd2237db348adaa407ca2eae1654\r\nMac = fb\r\nResult = F (1 - Message changed)\r\n\r\nCount = 82\r\nKlen = 3 \r\nMlen = 32\r\nTlen = 1\r\nKey1 = 7597571a6e7c6bc8\r\nKey2 = c143a2a461626b1a\r\nKey3 = 6b1307d910434cc7\r\nMsg = 49cb128641f7952dfdf34f338da268b2ef1482557b593e", "c57f930164264ff83e\r\nMac = 90\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 83\r\nKlen = 3 \r\nMlen = 32\r\nTlen = 1\r\nKey1 = ae89ad615201546b\r\nKey2 = ae20765745458fce\r\nKey3 = efd0867fba43dcb0\r\nMsg = e47d8659c9ad94971adedd6bce744206e1cfb65d042b942d93c4363cc73ec3e3\r\nMac = 95\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 84\r\nKlen = 3 \r\nMlen = 32\r\nTlen = 1\r\nKey1 = b65886f13d6e8c4a\r\nKey2 = 0708e0b0730473a8\r\nKey3 = d04f2a86dc0b9e7a\r\nMsg = b97c12251d91512fe7b3a349a982409c7412f39494d970e77acbe9d3fac3dca7\r\nMac = 05\r\nResult = P\r\n\r\nCount = 85\r\nKlen = 3 \r\nMlen = 32\r\nTlen = 1\r\nKey1 = 3197a4a26261588a\r\nKey2 = 0dc4a75ec8b99b58\r\nKey3 = efb93e7620205289\r\nMsg = 65f4b3a00c1c1ef39445a69b2150b034705410140ff9dad0ce21740271cef04a\r\nMac = 57\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 86\r\nKlen = 3 \r\nMlen = 32\r\nTlen = 1\r\nKey1 = 62c4a16e946b4313\r\nKey2 = d09ea80e7fb33449\r\nKey3 = 164fdc04c2d5f116\r\nMsg = 898e824fdc89f21779156a9e58564c4b99004b95226c2ebb8aebd0b5365a6c6a\r\nMac = 93\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 87\r\nKlen = 3 \r\nMlen = 32\r\nTlen = 1\r\nKey1 = 6eeff20d3d5d5223\r\nKey2 = 258076b313611c1c\r\nKey3 = b013b957f70d9e62\r\nMsg = 2d7fec1a1e9ee85cf960e5dc4e239619ed85f4b14d32cbd42dfa79f77a27f2cd\r\nMac = 0a\r\nResult = F (1 - Message changed)\r\n\r\nCount = 88\r\nKlen = 3 \r\nMlen = 32\r\nTlen = 1\r\nKey1 = 193e23e6fd8aa185\r\nKey2 = 1910cbdc549da804\r\nKey3 = 6b769b4923523425\r\nMsg = bd65798a1d02ab164e2d31b1387e505874779539046820bd429043c617854c36\r\nMac = d3\r\nResult = P\r\n\r\nCount = 89\r\nKlen = 3 \r\nMlen = 32\r\nTlen = 1\r\nKey1 = 150789ab37ef2ce9\r\nKey2 = 10cdf45dad9ed9e5\r\nKey3 = f475fd3e153898fe\r\nMsg = 044dd73a7d1ef37a437c09e9268708c82ebad189dc1e989ab3bd8d7ff75abc23\r\nMac = e4\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 90\r\nKlen = 3 \r\nMlen = 32\r\nTlen = 1\r\nKey1 = 48d9d08a6bdcc4f8\r\nKey2 = 1383641c08735d0e\r\nKey3 = 374a89c8cb73a7f4\r\nMsg = d62fb84f2a2442b52acf817d7f067edca031970bea092c35f29f9a931aa06dd6\r\nMac = 26\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 91\r\nKlen = 3 \r\nMlen = 32\r\nTlen = 1\r\nKey1 = 68f4620da8b00201\r\nKey2 = df1c8362345180d3\r\nKey3 = 26abda897f89d90d\r\nMsg = 0ac3f7f22d24b64aa584845d3a990bb69e5d2d4650640056c16c17c0b636045f\r\nMac = f9\r\nResult = P\r\n\r\nCount = 92\r\nKlen = 3 \r\nMlen = 32\r\nTlen = 1\r\nKey1 = 1c259df7492361b6\r\nKey2 = cd4acdb65b3e5b1c\r\nKey3 = 3b01addc2579ef64\r\nMsg = 607f4730a5ea9dabfbcd8586f680c3021c7ebc858e73354beb975d58713b0eb1\r\nMac = fa\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 93\r\nKlen = 3 \r\nMlen = 32\r\nTlen = 1\r\nKey1 = f18a9dba9db5dff1\r\nKey2 = d5987013a4b69e38\r\nKey3 = dc16e0ce1351e3f4\r\nMsg = bfe99e184a7d7bf0b4ade8f402f2c49aa4948e74b2d5c905756ba5d32934dbbd\r\nMac = e4\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 94\r\nKlen = 3 \r\nMlen = 32\r\nTlen = 1\r\nKey1 = 8361bac48afb1091\r\nKey2 = da85400d107fbf8f\r\nKey3 = 31ec732cc29d7045\r\nMsg = 3a1ee70d4607325c13bff68e402e0a72742f6a63ae972c6dda74b6b2a3922f0c\r\nMac = 0e\r\nResult = F (1 - Message changed)\r\n\r\nCount = 95\r\nKlen = 3 \r\nMlen = 32\r\nTlen = 1\r\nKey1 = d0df1adf1cf72032\r\nKey2 = 1504d564ec1aea61\r\nKey3 = c42fada45d80a43e\r\nMsg = 3a53d9c7ae59e7811699fb0973e43256ed92162267c7ca4b57f5887ad5a24e02\r\nMac = 8a\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 96\r\nKlen = 3 \r\nMlen = 32\r\nTlen = 1\r\nKey1 = 973bfe5b3be573da\r\nKey2 = 94b3ec7f343e46ab\r\nKey3 = dcaeabc8df405db6\r\nMsg = c8437dba76591a9031b3aa3b59fec0562d4eac439ca8efca57c3f2022b0ff775\r\nMac = 53\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 97\r\nKlen = 3 \r\nMlen = 32\r\nTlen = 1\r\nKey1 = bc89867c43a74640\r\nKey2 = df347fb319464c80\r\nKey3 = fd92108a266bcdcd\r\nMsg = 1c9898ede16139560519e808ee9ddaf710a5bab30f54ed98230d1a44c189ea4f\r\nMac = f6\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 98\r\nKlen = 3 \r\nMlen = 32\r\nTlen = 1\r\nKey1 = fde925e301897f67\r\nKey2 = 54b3ab80f815df15\r\nKey3 = dc58928aa286c8e5\r\nMsg = b34f898d98a3aa0fa022b1b1d76953a5b3ecc88d60f2c79b59e1b1f636bc0d60\r\nMac = 0f\r\nResult = F (1 - Message changed)\r\n\r\nCount = 99\r\nKlen = 3 \r\nMlen = 32\r\nTlen = 1\r\nKey1 = 8a704ffe43e951f8\r\nKey2 = 2346dc8501202a40\r\nKey3 = d67afed616230113\r\nMsg = b2b4cb5e90ebf4bd265093b7f5efd4d62dc60e29737aa496e14929724e40c74f\r\nMac = df\r\nResult = P\r\n\r\nCount = 100\r\nKlen = 3 \r\nMlen = 32\r\nTlen = 8\r\nKey1 = 8c1f29f440f7f8b5\r\nKey2 = 5b45fe8f1f688661\r\nKey3 = ba40f43d9e7cc86b\r\nMsg = 220817144a15a0a654fc1beaabce60270aa72df83591754ee7a5fbb40b7420d7\r\nMac = 80ac51c2ef7bd5d7\r\nResult = P\r\n\r\nCount = 101\r\nKlen = 3 \r\nMlen = 32\r\nTlen = 8\r\nKey1 = d66e76d97f94ea16\r\nKey2 = f15e3ed06dd94598\r\nKey3 = ae073d1a6e5bc819\r\nMsg = 233d547ab33790859ab0dbc7a93f3bbebb610bed9acbfbce1fff580e9a1e8ef9\r\nMac = 4cb8ce681e4bc7c8\r\nResult = F (1 - Message changed)\r\n\r\nCount = 102\r\nKlen = 3 \r\nMlen = 32\r\nTlen = 8\r\nKey1 = 0437836df770e943\r\nKey2 = c96e2c43bffd5298\r\nKey3 = 8552fbc16215e0c4\r\nMsg = 4f87d730bdfc7a7c72525c6b26ee9cae9a219b30d9575fedbd913a07b615a616\r\nMac = ea79cbc28f4264db\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 103\r\nKlen = 3 \r\nMlen = 32\r\nTlen = 8\r\nKey1 = d849ba8570b6ef9d\r\nKey2 = f1405732aeb61f92\r\nKey3 = 73c8e51ff167f857\r\nMsg = fd03202d0bd109b6e4299c7390c1407cd21ffb110013e6381185dea8f8707de6\r\nMac = 71070b17d05dabef\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 104\r\nKlen = 3 \r\nMlen = 32\r\nTlen = 8\r\nKey1 = 914cef7ab6d998dc\r\nKey2 = a767abc18cf485e9\r\nKey3 = a2624ff20b2a408a\r\nMsg = bc5ce4c0bf3ad1a93e5306c9d7dbb620dde8708efe84e78c2200f41a958cdef8\r\nMac = 3cf4aaf3d337c9c8\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 105\r\nKlen = 3 \r\nMlen = 32\r\nTlen = 8\r\nKey1 = 757f52e626eabce0\r\nKey2 = 700d91f14554bcb0\r\nKey3 = 548640d0dfaec2ab\r\nMsg = 22a4cf581584346095783be0982744c6201ff040760f868ab63895058d1edb88\r\nMac = b008b1150535ef11\r\nResult = F (1 - Message changed)\r\n\r\nCount = 106\r\nKlen = 3 \r\nMlen = 32\r\nTlen = 8\r\nKey1 = d65d0e58d3133b34\r\nKey2 = 289e58704994a249\r\nKey3 = e3df20ae3d585e2f\r\nMsg = 94c8414cbbec52e2d73bb8f02ef687c91432495c0c744666317d02e6d46706d2\r\nMac = b1292e1c7074dcfc\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 107\r\nKlen = 3 \r\nMlen = 32\r\nTlen = 8\r\nKey1 = d77a4989f4a17f2a\r\nKey2 = 409d91d51fa4d045\r\nKey3 = 6bb652ea1526fd4f\r\nMsg = 7a08ce579ae7af8004421cff72715e0b137da81f47d8f84da34c3ed53c32c0f6\r\nMac = 8b3cb70477ca7ca8\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 108\r\nKlen = 3 \r\nMlen = 32\r\nTlen = 8\r\nKey1 = e670c17519d9c2f2\r\nKey2 = dcc8a132629b462f\r\nKey3 = 58c1d52543ad570d\r\nMsg = a6dbad96ad23ff61479df39b99f0673a09f2a7eaebbd34b95d05c4146fa989f2\r\nMac = c470ec40599a0a11\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 109\r\nKlen = 3 \r\nMlen = 32\r\nTlen = 8\r\nKey1 = 290d292a15b6268a\r\nKey2 = 2638d9ad83ad1f34\r\nKey3 = a7d9ba62735dc2d3\r\nMsg = ef995cbfc49b0ebccdbd37d9f40a431c385d33d4b8234d7f0d6211eaddfb709a\r\nMac = 67ae62fb8142bd8b\r\nResult = P\r\n\r\nCount = 110\r\nKlen = 3 \r\nMlen = 32\r\nTlen = 8\r\nKey1 = 4faba73bcd5b5dfe\r\nKey2 = 1c97ea85207a97a7\r\nKey3 = 19eff116100dc82f\r\nMsg = c48e53c6956432460584c7ee1577c1c38b7fae2ff288199be25bf64081154139\r\nMac = d68a4558e95a67e4\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 111\r\nKlen = 3 \r\nMlen = 32\r\nTlen = 8\r\nKey1 = d37c3dbc2f68baba\r\nKey2 = 918cb5e39237e016\r\nKey3 = f286b0739d38c4fb\r\nMsg = 2533361761ac80578fa262a50462045e3ec6e4d5d25c6e99a5c4ccf75f5affc0\r\nMac = c20f36e67732f864\r\nResult = P\r\n\r\nCount = 112\r\nKlen = 3 \r\nMlen = 32\r\nTlen = 8\r\nKey1 = a0baa71c38d6d064\r\nKey2 = 8f58ba45cb494ab9\r\nKey3 = 853decc431f7b3cd\r\nMsg = 20e394c7cc90bdfa6186fc1ba6fff158dfc690e24ba4c9fbf11b68519d573a8a\r\nMac = 4ba956b98a99d7bf\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 113\r\nKlen = 3 \r\nMlen = 32\r\nTlen = 8\r\nKey1 = b69752407c68b6bf\r\nKey2 = 8fceb05201ec4320\r\nKey3 = 2a755e372373ef26\r\nMsg = e884d65c87411584a56956d5b27ca9725b473c205b64cff09400671f5ee0473a\r\nMac = 9f3de5e8cddc374d\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 114\r\nKlen = 3 \r\nMlen = 32\r\nTlen = 8\r\nKey1 = 8c04e0f27f83b0ec\r\nKey2 = 042cfb6883348fe6\r\nKey3 = 404f5dfe587ab591\r\nMsg = 8a34cd562b111fe04fa0bf5e004faedaef99d0bab9344d966c8b3847486e6f40\r\nMac = 6c530215fb25015b\r\nResult = F (1 - Message changed)\r\n\r\nCount = 115\r\nKlen = 3 \r\nMlen = 32\r\nTlen = 8\r\nKey1 = 429401ea49cd97b0\r\nKey2 = a8f1b6b63101cee0\r\nKey3 = 20bcd08c5d16e049\r\nMsg = 591d88123fc9a786b247e8d5ce155f136d6fe4084117c41f2056b67f9e3e1077\r\nMac = 6c414640b424cf56\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 116\r\nKlen = 3 \r\nMlen = 32\r\nTlen = 8\r\nKey1 = c470255783b32f01\r\nKey2 = e3aed6705ba4291f\r\nKey3 = 7319100e54f432d3\r\nMsg = 01acc3282fe41b62f95f5dbfb7e7bfef694c5fe34ca87d31abe7e7bbf887b48c\r", @@ -2427,9 +2507,9 @@ static const char *kData31[] = { "6a1eddd80737a724c\r\nMac = 0ff14761c982f890\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 158\r\nKlen = 3 \r\nMlen = 10\r\nTlen = 8\r\nKey1 = bc327a0bcb2575df\r\nKey2 = 6b9483e6e0755d2a\r\nKey3 = 622cdc5b2916ab89\r\nMsg = e1be89af98ffd7d9257a\r\nMac = d6f4c8d96b3e2180\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 159\r\nKlen = 3 \r\nMlen = 10\r\nTlen = 8\r\nKey1 = 9e517cd616a48ada\r\nKey2 = 6d266192d5387a97\r\nKey3 = 8a081fda97c86b94\r\nMsg = 9e9fb0b2b77be6eeaae8\r\nMac = ba0b73fbffc0ab0b\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 160\r\nKlen = 3 \r\nMlen = 20\r\nTlen = 1\r\nKey1 = e0b9a826a85efe94\r\nKey2 = 4f615bce7cc1ba68\r\nKey3 = 3bb56d3d9816103e\r\nMsg = cfe9ee956cb1f5a60aa6ec79a3e454224b456879\r\nMac = 64\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 161\r\nKlen = 3 \r\nMlen = 20\r\nTlen = 1\r\nKey1 = 1e08a794a175b69e\r\nKey2 = f7d3ab46aeb9073e\r\nKey3 = 3e7cf8cea19d0891\r\nMsg = eb4f5b04517ee93e2c900e01948ac81ca56b2b26\r\nMac = 79\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 162\r\nKlen = 3 \r\nMlen = 20\r\nTlen = 1\r\nKey1 = 8f26700dc140570b\r\nKey2 = 8325e3a889c823ad\r\nKey3 = 6b048aa73decf83b\r\nMsg = cefb55151933a488e2b3d421dea9720727188106\r\nMac = 85\r\nResult = P\r\n\r\nCount = 163\r\nKlen = 3 \r\nMlen = 20\r\nTlen = 1\r\nKey1 = 3443f4016dadcd86\r\nKey2 = 255dec80323e5838\r\nKey3 = fd583285e6efbc51\r\nMsg = e64eeb89828b4297601a5b3fcde60075fc2424ae\r\nMac = c0\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 164\r\nKlen = 3 \r\nMlen = 20\r\nTlen = 1\r\nKey1 = 91a401cbb6460b16\r\nKey2 = 85438675f15b6e73\r\nKey3 = b09140318a767038\r\nMsg = 8c65cde13149d9d54a5bccc17747f1d5f3e807e3\r\nMac = 56\r\nResult = F (1 - Message changed)\r\n\r\nCount = 165\r\nKlen = 3 \r\nMlen = 20\r\nTlen = 1\r\nKey1 = b78a16fb9b075d3b\r\nKey2 = dcabbf7a07150261\r\nKey3 = f7644a01d5dcea46\r\nMsg = abe2fd996bb6804ed3286c057df9cea6836a2dad\r\nMac = 09\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 166\r\nKlen = 3 \r\nMlen = 20\r\nTlen = 1\r\nKey1 = ce8a467534cd679e\r\nKey2 = cb9ee6fb70a42f4f\r\nKey3 = 16c1e5c1459e4ac8\r\nMsg = 3c56ccfbe92023109983e740d6a53488b813ee87\r\nMac = c8\r\nResult = F (1 - Message changed)\r\n\r\nCount = 167\r\nKlen = 3 \r\nMlen = 20\r\nTlen = 1\r\nKey1 = 401f0de0efd6dfa8\r\nKey2 = 16ae7c3bbc6e5b86\r\nKey3 = 4ffebf790815f1d0\r\nMsg = 9052d5e22e6712fab88e8dfaa928b6e015ca589c\r\nMac = 61\r\nResult = P\r\n\r\nCount = 168\r\nKlen = 3 \r\nMlen = 20\r\nTlen = 1\r\nKey1 = d357bf5bef2cfba7\r\nKey2 = b757d3abf49b4ac2\r\nKey3 = 16388051da8a04a7\r\nMsg = b04e8f6d20924be8e4e2c6767f87b74377bdf90c\r\nMac = 72\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 169\r\nKlen = 3 \r\nMlen = 20\r\nTlen = 1\r\nKey1 = f8ea68aba1bcd9e6\r\nKey2 = 4abaa4260d864573\r\nKey3 = a49840ab737af7b0\r\nMsg = 1fc99e586f87932445930a300eb28191d9c6215b\r\nMac = 19\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 170\r\nKlen = 3 \r\nMlen = 20\r\nTlen = 1\r\nKey1 = 94ec086d8c0110cd\r\nKey2 = 4ea11f327f70c245\r\nKey3 = c8d07adf7c7c5eb9\r\nMsg = 812dbc453a1fda59f73aceea3bc84d2c7a437dfc\r\nMac = b2\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 171\r\nKlen = 3 \r\nMlen = 20\r\nTlen = 1\r\nKey1 = 9d575d582a9723c1\r\nKey2 = 294af47a54b051fe\r\nKey3 = 5131bff85bf12608\r\nMsg = 266e5305b96f497a956ae82b20367ebac0b14215\r\nMac = a9\r\nResult = F (1 - Message changed)\r\n\r\nCount = 172\r\nKlen = 3 \r\nMlen = 20\r\nTlen = 1\r\nKey1 = 913d800ecd0dc762\r\nKey2 = 7f6ec476b6b07c15\r\nKey3 = 973262ab7c83b634\r\nMsg = 4670a266bebcdf95c62d36cda33d50e6650fcdcd\r\nMac = 4f\r\nResult = P\r\n\r\nCount = 173\r\nKlen = 3 \r\nMlen = 20\r\nTlen = 1\r\nKey1 = b97ffe79d068ece5\r\nKey2 = 4a75fe2f67dae392\r\nKey3 = 45a4d9f17a9d70f8\r\nMsg = b53017500c100dea0511845597214484fc5f7f34\r\nMac = 6d\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 174\r\nKlen = 3 \r\nMlen = 20\r\nTlen = 1\r\nKey1 = 7e1af10bcd86c283\r\nKey2 = 51cd37540e19021a\r\nKey3 = 988fd3c7250e2a6d\r\nMsg = da1919d4a2a7fcc34c88fb2065e52bf9dbc50731\r\nMac = 22\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 175\r\nKlen = 3 \r\nMlen = 20\r\nTlen = 1\r\nKey1 = 8c0dc16eb9c80775\r\nKey2 = 6eeff20d3d5d5223\r\nKey3 = 258076b313611c1c\r\nMsg = b212b857f70c9f63d0c9d2ccd253c28d1534631f\r\nMac = 2e\r\nResult = F (1 - Message changed)\r\n\r\nCount = 176\r\nKlen = 3 \r\nMlen = 20\r\nTlen = 1\r\nKey1 = 92c29eb0bf3e73a4\r\nKey2 = c6ecfbe6cd49bf4f\r\nKey3 = ef19d9d06d7a5e7f\r\nMsg = 969304e651ca62039088f8123085ac3263796b67\r\nMac = 57\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 177\r\nKlen = 3 \r\nMlen = 20\r\nTlen = 1\r\nKey1 = a4432f52975e4316\r\nKey2 = 7f2086da04fddf4f\r\nKey3 = 8302139e79684329\r\nMsg = 5c9bcd197ea59e1b58b3da707b253491cc5a5ef8\r\nMac = ea\r\nResult = P\r\n\r\nCount = 178\r\nKlen = 3 \r\nMlen = 20\r\nTlen = 1\r\nKey1 = 5ae0b6d6c2855b7a\r\nKey2 = ec675d3e73bfd685\r\nKey3 = d3406b868fd3ae0e\r\nMsg = 89b9ecfef6f10e81f7956dbc7ca4a335047535a8\r\nMac = 70\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 179\r\nKlen = 3 \r\nMlen = 20\r\nTlen = 1\r\nKey1 = 8f7f85649d5e08a4\r\nKey2 = ceda75687308e07a\r\nKey3 = 9215c4c19bdc0d46\r\nMsg = e53101e6eabcda32c13d7b1dd1d88e7c2ca3ddc2\r\nMac = 14\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 180\r\nKlen = 3 \r\nMlen = 20\r\nTlen = 8\r\nKey1 = 7061b5f46b98d394\r\nKey2 = 58c2ce3807623475\r\nKey3 = 0df8e3c432da8a37\r\nMsg = 1086953d352e94a51a6d4c59a2295e8fff5b311e\r\nMac = 554d4df88228eba3\r\nResult = P\r\n\r\nCount = 181\r\nKlen = 3 \r\nMlen = 20\r\nTlen = 8\r\nKey1 = 347a25a1ec433b52\r\nKey2 = ec75d97046152c10\r\nKey3 = 86b937b6ad1ccbf8\r\nMsg = 4fe6bd43c28143ea5d40919cb5330a7e674f5bd8\r\nMac = 3d0d841895fb7c65\r\nResult = F (1 - Message changed)\r\n\r\nCount = 182\r\nKlen = 3 \r\nMlen = 20\r\nTlen = 8\r\nKey1 = b3701aa7da61512c\r\nKey2 = 46dacba40740e3c1\r\nKey3 = 8f79a4dcadbc315e\r\nMsg = 4612fb4586d7518d0d648894347ae7d49d043f29\r\nMac = e5dd4392afbeabe7\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 183\r\nKlen = 3 \r\nMlen = 20\r\nTlen = 8\r\nKey1 = b5b57acb2c7fd6cb\r\nKey2 = 70b02c9d8651c889\r\nKey3 = 07f485f7b00e45d9\r\nMsg = 9011231ec382ecaaae57f34de1ac6bbb50741014\r\nMac = d34581ad5a3e9e57\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 184\r\nKlen = 3 \r\nMlen = 20\r\nTlen = 8\r\nKey1 = 88985bdfd9852604\r\nKey2 = f7f829aec8a208b3\r\nKey3 = d5ba012ce6754554\r\nMsg = 6cad7f3b9f196839bbc5a7f755c09aa8e17c83d9\r\nMac = fc7c93552aa14ca2\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 185\r\nKlen = 3 \r\nMlen = 20\r\nTlen = 8\r\nKey1 = cd0815194319d552\r\nKey2 = 346bb634027668d9\r\nKey3 = c17f2a26257afbad\r\nMsg = e31b3d97ba6ee6f2e18f084215ca0a5ca0d816d7\r\nMac = af5772396bb63d20\r\nResult = F (1 - Message changed)\r\n\r\nCount = 186\r\nKlen = 3 \r\nMlen = 20\r\nTlen = 8\r\nKey1 = 236e5201dfc1081a\r\nKey2 = c81526bc85c7a2ce\r\nKey3 = ab91d0aee0d68931\r\nMsg = 1f36b9cbf3d4d4dfcc4ba7fafa7c229f0a9253f4\r\nMac = 27586cf856a41e82\r\nResult = P\r\n\r\nCount = 187\r\nKlen = 3 \r\nMlen = 20\r\nTlen = 8\r\nKey1 = 2e01198faeb6986e\r\nKey2 = 7cb564801f15bc5d\r\nKey3 = f2d3ef0d4fec61c1\r\nMsg = 27c8c90c9e46e14b8cbb0b7559bb166d65f58aeb\r\nMac = eaa7b4a171e449ef\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 188\r\nKlen = 3 \r\nMlen = 20\r\nTlen = 8\r\nKey1 = df575b851331b016\r\nKey2 = 33ec7326e9ef31e5\r\nKey3 = 1686c1ec8a3ea16d\r\nMsg = 1e4e01d38ff65d05646d544b52a6df49b897eacc\r\nMac = 45789bd32147c0ae\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 189\r\nKlen = 3 \r\nMlen = 20\r\nTlen = 8\r\nKey1 = 43b68c1f29ef5b94\r\nKey2 = a7dfa1cbe9ea3df1\r\nKey3 = 83d3c286e973ada1\r\nMsg = 0ca9b0f6465db0e101f8c14b2e73859d9c355b0a\r\nMac = da439a51157ff0d5\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 190\r\nKlen = 3 \r\nMlen = 20\r\nTlen = 8\r\nKey1 = bf91d679268c85ce\r\nKey2 = 46b9f7bf4aa1a2c2\r\nKey3 = f7fd15fda2cd6408\r\nMsg = 0c2933e39d7e601ee6f2519eaf01294853664262\r\nMac = 455cd46d3b452a55\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 191\r\nKlen = 3 \r\nMlen = 20\r\nTlen = 8\r\nKey1 = 0dad9d451f890b38\r\nKey2 = 3416e3c240a16ee6\r\nKey3 = 5b80d6aefd4ab5a4\r\nMsg = b6e1de9abef7525c5dabbdc85746958781d50139\r\nMac = 3445a869cca839fb\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 192\r\nKlen = 3 \r\nMlen = 20\r\nTlen = 8\r\nKey1 = 96858f8f2ab56df2\r\nKey2 = 5edc3b04b94ca7cd\r\nKey3 = bf10614ce0491645\r\nMsg = ec9aa18b3e7da99dcbd7de7617a79130abe3348a\r\nMac = c744a1392fc656c2\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 193\r\nKlen = 3 \r\nMlen = 20\r\nTlen = 8\r\nKey1 = 46ad6ebad9644a67\r\nKey2 = da684aa48f23d619\r\nKey3 = 43a2316b40a46e25\r\nMsg = cf97c2abe3d0fc89e05538b50147a3f405391219\r\nMac = 7ac08967edc5730b\r\nResult = P\r\n\r\nCount = 194\r\nKlen = 3 \r\nMlen = 20\r\nTlen = 8\r\nKey1 = 68647694efb32023\r\nKey2 = 0d2938c8fe1a4057\r\nKey3 = f479f16e7552942f\r\nMsg = 33a9c750bb532d2d37ec86fa851aeb3cad1eaad8\r\nMac = 3873ae02210eb5fc\r\nResult = F (1 - Message changed)\r\n\r\nCount = 195\r\nKlen = 3 \r\nMlen = 20\r\nTlen = 8\r\nKey1 = 58d62fd92af7437f\r\nKey2 = 89dfb51fc807cd6d\r\nKey3 = 024fd04f40d5d0e3\r", "\nMsg = cc293c9e1780b401d2e7fceef6f69edcf0f70b86\r\nMac = 6574bfceaf04b4e1\r\nResult = F (1 - Message changed)\r\n\r\nCount = 196\r\nKlen = 3 \r\nMlen = 20\r\nTlen = 8\r\nKey1 = 4b377f98df0b7598\r\nKey2 = bf73f4c2cb074001\r\nKey3 = dc9857f47fe6101f\r\nMsg = 9ba5dbe7a8ecfbedadd7889cd7f1ae073e01ee3b\r\nMac = aaaeb7223578bbad\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 197\r\nKlen = 3 \r\nMlen = 20\r\nTlen = 8\r\nKey1 = 91c8851934cdecc2\r\nKey2 = 582562aef1205e32\r\nKey3 = a12a70eacbad310e\r\nMsg = aa390a0ae33751b0bd8de5723df91d999aa70358\r\nMac = 67f76912ed61eaab\r\nResult = P\r\n\r\nCount = 198\r\nKlen = 3 \r\nMlen = 20\r\nTlen = 8\r\nKey1 = dcc2bacbea0dcd10\r\nKey2 = c18ca45ed57f8f97\r\nKey3 = 5d58157a677f1951\r\nMsg = a7573e5b7dd7f4ce9e4480f603c14145a27f7c7a\r\nMac = 2b6af968464ac63f\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 199\r\nKlen = 3 \r\nMlen = 20\r\nTlen = 8\r\nKey1 = fe6d49702f044f40\r\nKey2 = 33321613da401004\r\nKey3 = 8c3438f74cc2680d\r\nMsg = b15a118b3132c20c31e6c9d09acdee0e15fcc59d\r\nMac = 9f28413a00da00ab\r\nResult = F (2 - Key or Key2 changed)\r\n", }; -static const size_t kLen32 = 53587; +static const size_t kLen33 = 53587; -static const char *kData32[] = { +static const char *kData33[] = { "# CAVS 11.0\r\n# CMACVer information \r\n# Algorithms tested:Alg = AES KeySize = 128 Mode = Verify \r\n# Generated on Tue Mar 15 08:40:37 2011\r\n\r\n\r\nCount = 0\r\nKlen = 16 \r\nMlen = 0\r\nTlen = 8\r\nKey = 27b5686c79b3d242f96d3892c6135b26\r\nMsg = 00\r\nMac = c98d11822b9b4d7a\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 1\r\nKlen = 16 \r\nMlen = 0\r\nTlen = 8\r\nKey = b4542a22baa348ee2d11ef62d44cebab\r\nMsg = 00\r\nMac = f7a2a3f519fc462f\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 2\r\nKlen = 16 \r\nMlen = 0\r\nTlen = 8\r\nKey = 7256e344f68b3e7f9dd6e04c5c65135c\r\nMsg = 00\r\nMac = d4d7fcc5f979230f\r\nResult = P\r\n\r\nCount = 3\r\nKlen = 16 \r\nMlen = 0\r\nTlen = 8\r\nKey = 7a2116595c5cf6482199d3312498006d\r\nMsg = 00\r\nMac = c3c4fa28709060b0\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 4\r\nKlen = 16 \r\nMlen = 0\r\nTlen = 8\r\nKey = 0341551d6c7e7c57f678068f0b41d1fe\r\nMsg = 00\r\nMac = 821030d4b7889fcf\r\nResult = F (1 - MAC changed - for 0-len msg)\r\n\r\nCount = 5\r\nKlen = 16 \r\nMlen = 0\r\nTlen = 8\r\nKey = b67ba2aa4e9ea9871c3def87e2dd77f4\r\nMsg = 00\r\nMac = ea896182698ac145\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 6\r\nKlen = 16 \r\nMlen = 0\r\nTlen = 8\r\nKey = 0091d39f3478d2c59bf874b96db9ce0f\r\nMsg = 00\r\nMac = fb12c5971b0f2f18\r\nResult = F (1 - MAC changed - for 0-len msg)\r\n\r\nCount = 7\r\nKlen = 16 \r\nMlen = 0\r\nTlen = 8\r\nKey = 46a2e6bd3fd5336abf02eace3cd1e1f6\r\nMsg = 00\r\nMac = 9c6b46ef046ae1d1\r\nResult = P\r\n\r\nCount = 8\r\nKlen = 16 \r\nMlen = 0\r\nTlen = 8\r\nKey = 4b0fbd5e6f9298e5ced5ebdc60fc18a7\r\nMsg = 00\r\nMac = 221857badcbcd2be\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 9\r\nKlen = 16 \r\nMlen = 0\r\nTlen = 8\r\nKey = fb20547da671acd4c6df37f6568a6428\r\nMsg = 00\r\nMac = ba0c9bfd3d9c0c95\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 10\r\nKlen = 16 \r\nMlen = 0\r\nTlen = 8\r\nKey = b787def50aaf446bf15c562434844562\r\nMsg = 00\r\nMac = ba60bdae64068330\r\nResult = F (1 - MAC changed - for 0-len msg)\r\n\r\nCount = 11\r\nKlen = 16 \r\nMlen = 0\r\nTlen = 8\r\nKey = 67d77f50727c7cd5b38e0b175a888c88\r\nMsg = 00\r\nMac = 555923e6b5fbc504\r\nResult = P\r\n\r\nCount = 12\r\nKlen = 16 \r\nMlen = 0\r\nTlen = 8\r\nKey = 6f552ef7d309bb98597b91cecc21e158\r\nMsg = 00\r\nMac = c2aa402c0443dfbd\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 13\r\nKlen = 16 \r\nMlen = 0\r\nTlen = 8\r\nKey = 411871267919a145532cc401e753ebff\r\nMsg = 00\r\nMac = 167a31913228f45f\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 14\r\nKlen = 16 \r\nMlen = 0\r\nTlen = 8\r\nKey = abfe32efdf0464cb2eaafca8eac30d9b\r\nMsg = 00\r\nMac = 8edbc729b1923e10\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 15\r\nKlen = 16 \r\nMlen = 0\r\nTlen = 8\r\nKey = 85504d59a12f3e17edfb0b6337d4a081\r\nMsg = 00\r\nMac = 9045fd77cb26dcb2\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 16\r\nKlen = 16 \r\nMlen = 0\r\nTlen = 8\r\nKey = 55f7565826b0e2ccc1368f4de32022de\r\nMsg = 00\r\nMac = f82395416a8dc209\r\nResult = F (1 - MAC changed - for 0-len msg)\r\n\r\nCount = 17\r\nKlen = 16 \r\nMlen = 0\r\nTlen = 8\r\nKey = 43c8f984390debb0f26c6b9c2df8518c\r\nMsg = 00\r\nMac = b5d732086bf8feab\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 18\r\nKlen = 16 \r\nMlen = 0\r\nTlen = 8\r\nKey = da288d2014616f16a2abf5923dea49ad\r\nMsg = 00\r\nMac = e03b67b53fc7863f\r\nResult = P\r\n\r\nCount = 19\r\nKlen = 16 \r\nMlen = 0\r\nTlen = 8\r\nKey = e2f962d076df051c2d291b47a902ea0c\r\nMsg = 00\r\nMac = df1456a7edeb4e42\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 20\r\nKlen = 16 \r\nMlen = 0\r\nTlen = 16\r\nKey = 191b53e0c7d90161e5e2014e9b8aea31\r\nMsg = 00\r\nMac = 1e210cff3c90bd2e2a27a78ef7662f61\r\nResult = F (1 - MAC changed - for 0-len msg)\r\n\r\nCount = 21\r\nKlen = 16 \r\nMlen = 0\r\nTlen = 16\r\nKey = 54666bdf6db300ee10982d14dac828bc\r\nMsg = 00\r\nMac = 9fef67209b8da28049b80efe98f85f13\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 22\r\nKlen = 16 \r\nMlen = 0\r\nTlen = 16\r\nKey = 9a143c21cc6c9528b9ddd7e4405682e1\r\nMsg = 00\r\nMac = 1c3c3b6d1d86ac5787234f8f6d707acc\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 23\r\nKlen = 16 \r\nMlen = 0\r\nTlen = 16\r\nKey = 802047ee1309e548ae81e93a17bff9e7\r\nMsg = 00\r\nMac = 1472aecaa0a09e45893a14090ed9a17f\r\nResult = P\r\n\r\nCount = 24\r\nKlen = 16 \r\nMlen = 0\r\nTlen = 16\r\nKey = ab79ce74c0959aea0fd0b28ea5d0afe2\r\nMsg = 00\r\nMac = fde8a95536cc334f7fc8881a187afc61\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 25\r\nKlen = 16 \r\nMlen = 0\r\nTlen = 16\r\nKey = 644ac6fdc1e713ecb7ff1e0bd5729a57\r\nMsg = 00\r\nMac = 95a93bb50703521e6c1a8be1aab6a646\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 26\r\nKlen = 16 \r\nMlen = 0\r\nTlen = 16\r\nKey = b4571e56f66a857daffbdc99370ceddd\r\nMsg = 00\r\nMac = d2742ea62f1d6513c4eb0e533922f251\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 27\r\nKlen = 16 \r\nMlen = 0\r\nTlen = 16\r\nKey = abff2b097d688293701ff2c49ba48eb3\r\nMsg = 00\r\nMac = 17e724f66d4a9ef5dfc0cf903f8ff04a\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 28\r\nKlen = 16 \r\nMlen = 0\r\nTlen = 16\r\nKey = 9d45f6d97d1573de3cb3488befaf5b7f\r\nMsg = 00\r\nMac = 96ec3cf234d6704483a93885bd67e6dc\r\nResult = P\r\n\r\nCount = 29\r\nKlen = 16 \r\nMlen = 0\r\nTlen = 16\r\nKey = 00d385629e5df815a5300e6635351934\r\nMsg = 00\r\nMac = cb23bb449ac26e2186b02f7428fa022b\r\nResult = F (1 - MAC changed - for 0-len msg)\r\n\r\nCount = 30\r\nKlen = 16 \r\nMlen = 0\r\nTlen = 16\r\nKey = 2f9109e7eea21b2615c81c03182ce603\r\nMsg = 00\r\nMac = 4532211f48124a9eacd795ea4313adaf\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 31\r\nKlen = 16 \r\nMlen = 0\r\nTlen = 16\r\nKey = 9f3830f5cd40a2396b6093b358cef1e9\r\nMsg = 00\r\nMac = f5ea59ec909a8ec2d8b11f5f276201fd\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 32\r\nKlen = 16 \r\nMlen = 0\r\nTlen = 16\r\nKey = 17378e17c41586b88523a6b6af738dc4\r\nMsg = 00\r\nMac = 40cc8b388be6789aca584659acc7aa06\r\nResult = P\r\n\r\nCount = 33\r\nKlen = 16 \r\nMlen = 0\r\nTlen = 16\r\nKey = 064e8c88a0a0766186d75867b5ca3acd\r\nMsg = 00\r\nMac = b2f94222a68fcf803868b00404ad170f\r\nResult = F (1 - MAC changed - for 0-len msg)\r\n\r\nCount = 34\r\nKlen = 16 \r\nMlen = 0\r\nTlen = 16\r\nKey = 1e39f1cba97dac4e4d4f3bce7fda72e5\r\nMsg = 00\r\nMac = 60763815c1075c31078a9b44fe4b8427\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 35\r\nKlen = 16 \r\nMlen = 0\r\nTlen = 16\r\nKey = 06f0e4618e0ea8fa5443b50ea005b672\r\nMsg = 00\r\nMac = 295c6cd08b1d668d9fa85ef851b1e029\r\nResult = P\r\n\r\nCount = 36\r\nKlen = 16 \r\nMlen = 0\r\nTlen = 16\r\nKey = 648d77b57770b67ecda1ce7951eaaeea\r\nMsg = 00\r\nMac = 2f3fbc6edf5827fce440b9a7ff8535b4\r\nResult = F (1 - MAC changed - for 0-len msg)\r\n\r\nCount = 37\r\nKlen = 16 \r\nMlen = 0\r\nTlen = 16\r\nKey = 6f3938932b5c1280311e892280d8a822\r\nMsg = 00\r\nMac = df02edfb316350c81dbee385d6e1d8e4\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 38\r\nKlen = 16 \r\nMlen = 0\r\nTlen = 16\r\nKey = f909903451d1f9f45ffcb93a407ffb50\r\nMsg = 00\r\nMac = d176620722c5327270ef30956d7ac02f\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 39\r\nKlen = 16 \r\nMlen = 0\r\nTlen = 16\r\nKey = 181d92c7df1ebb0924719e066e08b95e\r\nMsg = 00\r\nMac = 144f688fa0d29faf787c48cd0765eecd\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 40\r\nKlen = 16 \r\nMlen = 32\r\nTlen = 8\r\nKey = 0c5b763b1e97b4f4dfc7059e4896ba58\r\nMsg = a0b3c6944b35f7208dfb40b4c4ba134a14dac928b679950793b3b6751221f178\r\nMac = d922ea85b3992a67\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 41\r\nKlen = 16 \r\nMlen = 32\r\nTlen = 8\r\nKey = 461d7d629778c8b05a688bee4fc01e9f\r\nMsg = 07571a6c9bcb6f97d626796bc74e551d1c45cce38afed761706f6264b7e751d3\r\nMac = 794b224a85396a27\r\nResult = P\r\n\r\nCount = 42\r\nKlen = 16 \r\nMlen = 32\r\nTlen = 8\r\nKey = b91c6b09bf5a0487a9b5ea2fe0c1f3d2\r\nMsg = d31fd388e97727ba0a35d34ae05d9980e5974f6b3d86e2d4dd569b70f394a159\r\nMac = 2665ff2785bcb606\r\nResult = F (1 - Message changed)\r\n\r\nCount = 43\r\nKlen = 16 \r\nMlen = 32\r\nTlen = 8\r\nKey = 0737836cf771e842a70f3eeed7206799\r\nMsg = fce631a9eb130178018ca88cec966ae53ecc83a51d0a73173c8a9af10b4d04d6\r\nMac = 1eee822e37dd1e84\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 44\r\nKlen = 16 \r\nMlen = 32\r\nTlen = 8\r\nKey = 120132c315bfc9c4fb93023f5d3500d7\r\nMsg = c2576ed3189eff3205f5e01dd8fe7c64f12dc73c807c22918f607f9e43fcc5ba\r\nMac = ddca15c8b5a80cb2\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 45\r\nKlen = 16 \r\nMlen = 32\r\nTlen = 8\r\nKey = 5363bd7d867a9f9f0592dd9940a791e8\r\nMsg = f34e86b8803d386573b81045df945df8319a93b613de4c41904c8e1879844cee\r\nMac = 109dd7c920ebbf41\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 46\r\nKlen = 16 \r\nMlen = 32\r\nTlen = 8\r\nKey = 3fa1c7cffaa167557b250634e8052fa0\r\nMsg = 4255f8af18df7237e0abe98421aec9634443561752d893aaffe76380e829ef32\r\nMac = 0eceab8d28dd4a2a\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 47\r\nKlen = 16 \r\nMlen = 32\r\nTlen = 8\r\nKey = 6583a4ff27b6e109046d11b977c8293d\r\nMsg = b63be320f92", "e01260fba37312224494a2764dfc928287c75dc1cafee7b698d48\r\nMac = fa0cced22e896b40\r\nResult = F (1 - Message changed)\r\n\r\nCount = 48\r\nKlen = 16 \r\nMlen = 32\r\nTlen = 8\r\nKey = 5949378fd3135dd02ee1929014000411\r\nMsg = 65c16f4e66b10c7c153be7ba2dbe3a6d4eed3b04fec44188edc229747d52f8c8\r\nMac = 9ef023345848680b\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 49\r\nKlen = 16 \r\nMlen = 32\r\nTlen = 8\r\nKey = 0e80fa889b1d96a0d23d236d4d642a27\r\nMsg = f6f094e46cdb2e45fe49b18aff1427ebdac9710fa7f47f75fc9ec7140613ef3e\r\nMac = a09774009934c9d4\r\nResult = P\r\n\r\nCount = 50\r\nKlen = 16 \r\nMlen = 32\r\nTlen = 8\r\nKey = 1f88dfd4f5c52c22b1db47f9f4fb6e2f\r\nMsg = de433ebd1cdabeac46b94cc00d984f172923535ca8fdfeeb860546357dd8e266\r\nMac = bb17b3983faee0db\r\nResult = P\r\n\r\nCount = 51\r\nKlen = 16 \r\nMlen = 32\r\nTlen = 8\r\nKey = ab0ab9e79ee53a6946a31ea807258dbb\r\nMsg = 89ddbb042aa2aea5207b312c9831fb48138aca90626ef7c5ce474d5797ae1b2b\r\nMac = 72f316d5bfcfcf6f\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 52\r\nKlen = 16 \r\nMlen = 32\r\nTlen = 8\r\nKey = 1eb19542a0064564e096e5d7d60acaa6\r\nMsg = ca25504f3f5559aa0e88199ce1551c9240b5c76f55b83bdbf2777cded54ad3af\r\nMac = d936b1fca0a96aec\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 53\r\nKlen = 16 \r\nMlen = 32\r\nTlen = 8\r\nKey = 33f11aa36d8ab0fc53486839a576b31e\r\nMsg = a58524e37c2504468f77a9c21b0e6d1a6b5e06fa051d5b8025ef97fa69417cf2\r\nMac = fd64f7cb283adce1\r\nResult = F (1 - Message changed)\r\n\r\nCount = 54\r\nKlen = 16 \r\nMlen = 32\r\nTlen = 8\r\nKey = a7b81d8245129aa451dcb7229de415e5\r\nMsg = 2b2ec02aba10aee056443cf90585caa2510b3b835454a99f1324567b0dcbe682\r\nMac = f4cd48f32c9dc66b\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 55\r\nKlen = 16 \r\nMlen = 32\r\nTlen = 8\r\nKey = 3c1baf0d915e5aec92bb62babad0ba2c\r\nMsg = f8f2424c2dc0d0f3821af7244038da0832c547be4ff0850b98c04d4d44a716b1\r\nMac = e17ea6862129d6b9\r\nResult = P\r\n\r\nCount = 56\r\nKlen = 16 \r\nMlen = 32\r\nTlen = 8\r\nKey = 943a49073db6ae94a88844ed895f8fd9\r\nMsg = 8a15e5be479d3a39a459ca7b50457472cbf44f6a8324ee3d4096e2c3bf1d8190\r\nMac = adcce0ea2c8b11d9\r\nResult = F (1 - Message changed)\r\n\r\nCount = 57\r\nKlen = 16 \r\nMlen = 32\r\nTlen = 8\r\nKey = ebf8935f53dfb3bd40453c31f627c73e\r\nMsg = 7edddb03d861dc9796f8e069bde434681620f604db436f34b7a6a3beeec925b3\r\nMac = e8ea88729d49bea4\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 58\r\nKlen = 16 \r\nMlen = 32\r\nTlen = 8\r\nKey = f18e8feed77d1b80c31483fe69073d56\r\nMsg = 37c6206e23163c39a13f19de48cc25dc26e6f83cb376e8d2048ad7c141fa503d\r\nMac = 0d4f5cdb2a49b471\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 59\r\nKlen = 16 \r\nMlen = 32\r\nTlen = 8\r\nKey = b4e41c7bfb8fcaa5236f656185c1496b\r\nMsg = 32758ae47884fcef766dd1fee1a7f55ca6f6691574e2ea097a68cd4072ef2e7d\r\nMac = bad08badb66c8e5f\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 60\r\nKlen = 16 \r\nMlen = 32\r\nTlen = 16\r\nKey = 708484fba04972b815256c5dab12d5d4\r\nMsg = 97751b4893a83cfe6b760e10da795682e9668749c09036f9bfadce9dcbdd85e6\r\nMac = fa74b33267c5ffeca75e5e16978bd7b0\r\nResult = F (1 - Message changed)\r\n\r\nCount = 61\r\nKlen = 16 \r\nMlen = 32\r\nTlen = 16\r\nKey = d0df1bdf1df6203241722fb9c9c1cf74\r\nMsg = 0e41361ebfbe4e6580fb5751e58e98de8ee5d9849fe875026fdab15a85804c1d\r\nMac = de4992c9d33659620cc203848e42a279\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 62\r\nKlen = 16 \r\nMlen = 32\r\nTlen = 16\r\nKey = 7c0b7db9811f10d00e476c7a0d92f6e0\r\nMsg = 1ee0ec466d46fd849b40c066b4fbbd22a20a4d80a008ac9af17e4fdfd106785e\r\nMac = baecdc91e9a1fc3572adf1e4232ae285\r\nResult = P\r\n\r\nCount = 63\r\nKlen = 16 \r\nMlen = 32\r\nTlen = 16\r\nKey = 7b4c800f5071521119e4cc6deee8729f\r\nMsg = 775946f3014523b6ea37804585cadd35e74e9382ebc1022579fbebe407281b6e\r\nMac = 2f6697f5d067aecdb3ff5a09d9169b3b\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 64\r\nKlen = 16 \r\nMlen = 32\r\nTlen = 16\r\nKey = 7618d222630138cc14246e8fddcf98cf\r\nMsg = 432e3575a966958434da38dda3606f1f69adeaca536a7bf66c8b1e451edc3716\r\nMac = d7d78aac615ffc1bb32dfea41f2b8771\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 65\r\nKlen = 16 \r\nMlen = 32\r\nTlen = 16\r\nKey = c8804fef18ef263c010c8a205e14516e\r\nMsg = f2d23bc605181e3894f61fa63d61ed4a610123ab7d3531c0b7579a58b74161ba\r\nMac = bfe5e2c10a5cecccd3de2529f340cf6b\r\nResult = F (1 - Message changed)\r\n\r\nCount = 66\r\nKlen = 16 \r\nMlen = 32\r\nTlen = 16\r\nKey = f98ac86ecb742c188852980b5150d100\r\nMsg = 4e6fd4fa7669ce9552154bd796644961b51067dc02303430150aacf671280031\r\nMac = 73df5f4d3ab9240d4fb2be775188adc0\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 67\r\nKlen = 16 \r\nMlen = 32\r\nTlen = 16\r\nKey = 638d7d95ff5f57571261e23ffa081189\r\nMsg = 5f5bc4e32764bb00085667b7f1b15433f09c1f6fa48689f8f50dcaf5021f2864\r\nMac = 96b270629b2bfbf721f1a70eccf9abe0\r\nResult = P\r\n\r\nCount = 68\r\nKlen = 16 \r\nMlen = 32\r\nTlen = 16\r\nKey = a5a20d8139472a4cb38993c5711ac2ca\r\nMsg = 73e1e75538f9a63e49a068189e3b0a1a1e65ca5d1295589bdafa3136deaa287c\r\nMac = 320647d53ccdf2335a9c9a3452c1cee5\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 69\r\nKlen = 16 \r\nMlen = 32\r\nTlen = 16\r\nKey = 57656be54860414e8a62223381ca4405\r\nMsg = 3447e82ecec6c8b6fe1e44ed91f933e4a70c431911eb86eefe222d5ad78193df\r\nMac = 47c6b5a28d723129648aef418b74daa8\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 70\r\nKlen = 16 \r\nMlen = 32\r\nTlen = 16\r\nKey = e7b665600a2aa413e117c53816cbed34\r\nMsg = 5e4d49ab796025157add6d42258b9c506d9ce82bdd85c604360db0ff5aa4262c\r\nMac = e741166cfa2a58003dcae357d7a199b8\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 71\r\nKlen = 16 \r\nMlen = 32\r\nTlen = 16\r\nKey = 693cbb46bc8366086ec7cd7776f2c563\r\nMsg = 5a908ae85ff721ffc5096aeeda5ee83bddcf639e7be68d109394e5253c22dc9b\r\nMac = 9d56b03ef83082f601a9cc8730b0de42\r\nResult = F (1 - Message changed)\r\n\r\nCount = 72\r\nKlen = 16 \r\nMlen = 32\r\nTlen = 16\r\nKey = b4190e3462e07fca26496adcb877724f\r\nMsg = 02097035a312cb02ea7f09fc1accc230a205e4a208e64a8f204291f581a12756\r\nMac = eb9604ec71aac0cacb63e0b369ae7664\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 73\r\nKlen = 16 \r\nMlen = 32\r\nTlen = 16\r\nKey = 4ae06c3b2940819e58eb24122a2988c9\r\nMsg = a2e7be3314238d7e4f604e134790bb15a87c09356c091b1aacb9f605b67475b5\r\nMac = 14b4507ae4b50cfe4989b544bede756c\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 74\r\nKlen = 16 \r\nMlen = 32\r\nTlen = 16\r\nKey = 8d560de2e310ea69389221ce2e850625\r\nMsg = 04d9db45e4df19db757b9b95c25be43e822b8372ed148d49ce824a36da2b2f2e\r\nMac = 647f2874a083e82fa804b6c58c7b5c90\r\nResult = P\r\n\r\nCount = 75\r\nKlen = 16 \r\nMlen = 32\r\nTlen = 16\r\nKey = 0e1a79c5d734118c19eaba700f5da238\r\nMsg = 026470d57dad9893dc037b80978bf70c2e552fe46c8fe8c3ebf8338bda984d94\r\nMac = b936ff3bb8afb9e42351a2a3ad49d70a\r\nResult = F (1 - Message changed)\r\n\r\nCount = 76\r\nKlen = 16 \r\nMlen = 32\r\nTlen = 16\r\nKey = c88b1bc0050e19780ab53efbea175634\r\nMsg = 7207aa8fa87283f1f57019bf1c89645ff8fc36ab1102704e6d577671a9f7e098\r\nMac = c1dbd79e31c3b0bb824f16f735ccdfe6\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 77\r\nKlen = 16 \r\nMlen = 32\r\nTlen = 16\r\nKey = d87df10a53eb3ea24c003d2a65e44921\r\nMsg = fedd5813146a8c2af398d6066956829833b75e44b6e010e4f025ac0fad6f869b\r\nMac = 9dd7cbb34445bfb351d01e8cdb21d695\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 78\r\nKlen = 16 \r\nMlen = 32\r\nTlen = 16\r\nKey = 4d436a4a5c02b22ad49548b97216f277\r\nMsg = 2d73204f0b2d35806a8227206922ac9c18eff6ebddc73809179d67a702cf3e21\r\nMac = d2654d9bd6396075296cbe918d90670f\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 79\r\nKlen = 16 \r\nMlen = 32\r\nTlen = 16\r\nKey = 8af7b74e35eb38f4086343bc329ab465\r\nMsg = ada1fa439c653d0cc88c0d129ba252e86c7d20a3087be93e920bf13d8e6f0391\r\nMac = 0fc9b177c874ea909b6beb1db1b802b4\r\nResult = P\r\n\r\nCount = 80\r\nKlen = 16 \r\nMlen = 64\r\nTlen = 8\r\nKey = 91ce6c87860aa84053f42e1abc16f489\r\nMsg = 4c287bc16196698d762d5fb428e801975fdaa29026b7b78dba968bfee0f534f27cfec57c6009c55c6261e0dbb14bddf76944d0c0648b910254df6c240e8a1a50\r\nMac = c1ce12f51aa823d0\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 81\r\nKlen = 16 \r\nMlen = 64\r\nTlen = 8\r\nKey = b7b774e5c9e2f6926660c48b8df52354\r\nMsg = 937273c7355e7b88a630d15be875234cacaa44e815f31997bf10b52c008cc3bb6d3724aaa0d7da0b391b252923d0eb6119575d346857d89af6af099883af5514\r\nMac = ff845eb2d77aa5a7\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 82\r\nKlen = 16 \r\nMlen = 64\r\nTlen = 8\r\nKey = d7572ed0e37261efa02f8c83e695efdc\r\nMsg = 85a327b0c7a31a4116e7fae0c0971e1578ab6fbdf90124b9ecacd0e70c909f51882cdca5a8b6b7e6b46d4660122bc9e1ae3932269f68e594075dbc293a2d4eb1\r\nMac = b8b3b7526419e069\r\nResult = P\r\n\r\nCount = 83\r\nKlen = 16 \r\nMlen = 64\r\nTlen = 8\r\nKey = 259129eb760f8a770410c160e4e13a6b\r\nMsg = 77d9c30", "6aa257379053cf1f2043c388a301dac2a9e2bb89eb8bab6eb3f150fe391b7a3f628be6b4b649c5c108a108f0e0c55a0800b9954251ab07e94450a23d0\r\nMac = f9376f11cbec0ec0\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 84\r\nKlen = 16 \r\nMlen = 64\r\nTlen = 8\r\nKey = 6ccd61ed20f16ca7a78192f5b6ab5528\r\nMsg = 9211231ec382ecaaae57f34de1ac6bbb50741014a978160ce59c60491e64f30da0b8aa1442e42bc0f7e31973a0dd8c3c24eebeb7c329072ea7dd0b04bc163254\r\nMac = 94c275e6a4675d8a\r\nResult = F (1 - Message changed)\r\n\r\nCount = 85\r\nKlen = 16 \r\nMlen = 64\r\nTlen = 8\r\nKey = 1cdc44c40efc3c0ed6fb84b0c2f78aec\r\nMsg = 818c636772036761af037c23aa8cb63e424f0ba0375b645de2f8f5af23d3ca3b9a5ca3951a6d02075a2c828eee326a2676ed8247164226b0267798632a519bf1\r\nMac = 74355397c7a29bb1\r\nResult = P\r\n\r\nCount = 86\r\nKlen = 16 \r\nMlen = 64\r\nTlen = 8\r\nKey = 2e523e9d8a5532127ec63b220838f11b\r\nMsg = e6d067907610109b8789e1ad00542539991677b9efc97a98d8bfcb50f3e334d0844323207fcb5a47e353e76d49dd573dbd17278dcc287b41dea8126cc7f07ab9\r\nMac = 7bd6745c6f73d92e\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 87\r\nKlen = 16 \r\nMlen = 64\r\nTlen = 8\r\nKey = 0eee5bc8994b723a580f67d45ccb194a\r\nMsg = 1dc4fcbc73dab4e73ed9d7606acdcd42b74972460c640fe50f028abdf255d9368fa3bc65b849ac31c8000eb47e5fade40ca167726aa927f2f043133d24ad0613\r\nMac = 486721355fff9cbc\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 88\r\nKlen = 16 \r\nMlen = 64\r\nTlen = 8\r\nKey = 388468d10bf0b770cc125f8b7d359261\r\nMsg = b9aaadfb3f60e48f1b421a9450129d75af2ce811ab0b1661680e9d5b147c38167ac7252ed40d916ae1e4519c3857d2c9dc2c538a106951b26d16433131438839\r\nMac = e13cef9392f4a80b\r\nResult = F (1 - Message changed)\r\n\r\nCount = 89\r\nKlen = 16 \r\nMlen = 64\r\nTlen = 8\r\nKey = edfe2e15edf0b0c28875651d4becfca5\r\nMsg = 70b1e2e4cf260b108f5a52d0d8234838ffd6ffe7b4acd78d7d6b95aa6342b598eaf402cb47396358ce61f8b4aa3a65bed0346e0036c3c5323f051f007aa58d0e\r\nMac = 7b70730219907d18\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 90\r\nKlen = 16 \r\nMlen = 64\r\nTlen = 8\r\nKey = 6876df1a77e11165331a5ce2e0e6bea6\r\nMsg = 34b73ba208bbe1df06da768b0321243815df4ece555974dee2bf5732295f5ea9631939425e13c47681ae2ecb0bb85aa69be38560f5752a9d034222d91ad71044\r\nMac = 80e00df873439fe7\r\nResult = F (1 - Message changed)\r\n\r\nCount = 91\r\nKlen = 16 \r\nMlen = 64\r\nTlen = 8\r\nKey = e65d5fd5f446b4eab63d56b0a5eb1d29\r\nMsg = 554395f9b113c0f2a1f155de171d6c0a805c838beb90c3756e8b864dc52517c03d8cb894d1dceae092f0e8784c7775ac664ad7320afd246086b3bc9ef237171c\r\nMac = c60f8ced2efd52fe\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 92\r\nKlen = 16 \r\nMlen = 64\r\nTlen = 8\r\nKey = 5bdbd06f4df6e15d644f3a635d7bb14f\r\nMsg = 4fcc7c2763a8dd5bfe74e34f512be8042af9ba1c73a944edfb616ad47a8d34cbcf192f3e8be3101bb3709b29c2dec39aee1913e3ac524ccb76ad50c2cc3a3e75\r\nMac = af33d5a2746bfa5c\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 93\r\nKlen = 16 \r\nMlen = 64\r\nTlen = 8\r\nKey = 13bf2f72211cc8e16ac1986a22e19f60\r\nMsg = 8ee212ed4bd110ca6a91b37bca59e19ba842e3a1b50619bc6b07ec02a09303ca5c66ba56e870d0b627d95fe829431244fe4f9218c862418f14a92bd76b5a3a82\r\nMac = 18e8cd5bd42c75ea\r\nResult = P\r\n\r\nCount = 94\r\nKlen = 16 \r\nMlen = 64\r\nTlen = 8\r\nKey = e9b913c2f0630562eb1c16b3b1ed8409\r\nMsg = 031105ff01daa66ff95834e47b6f5c683994084d0fcb84c140d1dfa2039a95933efe6a4f91af993d966e2e45677eb1e36159047928a38eeaeb5c9a64ea59f97d\r\nMac = f00a17da0fb9e6b6\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 95\r\nKlen = 16 \r\nMlen = 64\r\nTlen = 8\r\nKey = 6fa5a5991315702cba3beb33867c7bca\r\nMsg = bb0fabffbcc6935ca35755fd4bfbd192b6812cf75c4dc95bc3a175a1501be2065d7f57058cb7a5785a185dfff7e740a5551cf7c17e65051b2c6ef9509360e878\r\nMac = dcfd143f86442183\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 96\r\nKlen = 16 \r\nMlen = 64\r\nTlen = 8\r\nKey = 3f8c6d21ec05bc439bf82774f1812bd2\r\nMsg = d726deb8537bcd671ddbaff8fcc6968f951b71aa82dfc802a53aadb2bcc2ef9a35fd90064320798b311d6d32f7dd3cd90bca39d57991eddc36260d23b108aac3\r\nMac = 449e20567875d56f\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 97\r\nKlen = 16 \r\nMlen = 64\r\nTlen = 8\r\nKey = 8ed1a4873bb37fafd4f8c2ee417443cf\r\nMsg = 1652c9539bff4b6e9f303f3e6b5d4b9ff7e85aa2a401ee8c2dc7b722dbaf6424f92ab9188882e2483405070e8666204f5a600b46949cdb830fd57433d63a55a1\r\nMac = 601eb06acc5a4e0a\r\nResult = P\r\n\r\nCount = 98\r\nKlen = 16 \r\nMlen = 64\r\nTlen = 8\r\nKey = 83a4669cb9961448cf418cb83a16098b\r\nMsg = 26d97c3e28460d46216da39e043e024ed08e387b1e5fcfd3f962472cf1bac4676b03039b3b93927075ff41c87fe1d4a56bd9fa4784d283942787cdbdd5457f1f\r\nMac = 01a42494a10691ce\r\nResult = F (1 - Message changed)\r\n\r\nCount = 99\r\nKlen = 16 \r\nMlen = 64\r\nTlen = 8\r\nKey = c9e6d0b3dcd8ab50ba5ff31d9c1bd95d\r\nMsg = 0d32c1cd73569ab2b10c67c167875fe22625358ed3469b424c5e052d4e49af2c97dfe1f947c972a08c938b327e01adbc48a7f57a89b49f49fa0fca5b50a57a2e\r\nMac = 476add8ee51b5e3e\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 100\r\nKlen = 16 \r\nMlen = 64\r\nTlen = 16\r\nKey = 17281acb525b13653000ab45d86e7010\r\nMsg = 225750ca982e5b34fc62e277eaaa0f248532abf374933e572b0278566cc7cf980df26abefb493ef57f8477cac0bd19408a22e71f4ded84906996d8e7a846b5c0\r\nMac = 0f2aa7f2dffcf7df34c84d101aa9bab5\r\nResult = P\r\n\r\nCount = 101\r\nKlen = 16 \r\nMlen = 64\r\nTlen = 16\r\nKey = d3624653ad0ed144667df0e0e355c29e\r\nMsg = 39dd298acc45cb597f0733572677f7102536c0dd86fcfcc44895d29af92a5b6a87c20f1b53087d4c874f4083aad32e877142d20ad87b1d8b7295587bfd235d9f\r\nMac = 795da5a50f5b7df40317616b5a470c02\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 102\r\nKlen = 16 \r\nMlen = 64\r\nTlen = 16\r\nKey = 813b3d579664cebe50a8e7050a0b4e65\r\nMsg = 78ad6517a09b99c1113d175f3129aade4d4a2516ebe054f15bc833d08ffe5e2a2d60c976e1b4b14cf8edd2c72baadb2db8001fd2b8798d39ac5ce27d592f1def\r\nMac = 20f40553bedb6496233e0b53143b6d10\r\nResult = F (1 - Message changed)\r\n\r\nCount = 103\r\nKlen = 16 \r\nMlen = 64\r\nTlen = 16\r\nKey = 21095cdbe94afa27d84bcd68276993f3\r\nMsg = 10525eb2794d03409faeab22a6d4cc4ebc0421daacb0e865b0f94eb387722897c827e31676debec9d49c36837b6bc234a95bc10ddcc7b1e5a0d9a1dca550e93e\r\nMac = c0b806ce5eaceb51b53b028e6efea9c7\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 104\r\nKlen = 16 \r\nMlen = 64\r\nTlen = 16\r\nKey = 6c769a4822523525bb36c02518475549\r\nMsg = 4af38908fa44b46873535b39f432d9b3e677f6d06d8719af3d15b936afe515fc13d62566481fd0108bd95f6e8dbe32b3c830b1f1127d868273610aa834ccfc70\r\nMac = c1934b9c74127cfd515521df330c0333\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 105\r\nKlen = 16 \r\nMlen = 64\r\nTlen = 16\r\nKey = 6b454930925ca09d39e1e39a2e78fbfc\r\nMsg = 2bc884394ab7050c14d66fb8901cac109c0126668d918a4419bfcc5d75fb6bc2ba07f6598d06cf8cffd62f3eb29f6a033eac7490d27aa4701f0fb9f9718d1b7f\r\nMac = db19b8ef218018e5a53abcc39b7c514a\r\nResult = F (1 - Message changed)\r\n\r\nCount = 106\r\nKlen = 16 \r\nMlen = 64\r\nTlen = 16\r\nKey = 5df295be7c44d59c44fead3f1988356f\r\nMsg = 3d7370cc2d61af35bf7b2ba50a143b23bfa0d1eff66c5ace2d8de5a28d17883d708fff7721a2977ee2164b6e34022c22523a0649ff0e40bc8134040fee02a065\r\nMac = 81b3181acbc2d6d2960ec57441ff3c40\r\nResult = P\r\n\r\nCount = 107\r\nKlen = 16 \r\nMlen = 64\r\nTlen = 16\r\nKey = 387fc73be9f019913f2222d98053f95b\r\nMsg = 944daaa76249bd9d3bd517d01b074920b7d4434d1a2618af902e0228c3fca658244d990f8ca42208239c42d4827cf114140cabebc2a72bb3cf9277ef008c1c81\r\nMac = 5de79be9ff9c3c9d64f9cce35b188648\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 108\r\nKlen = 16 \r\nMlen = 64\r\nTlen = 16\r\nKey = 7424990dee834ad05f4218861ab21eae\r\nMsg = 49fd56dec210e903f6c703332637f9c267eab9333e2701a16c74ce5e0b5a16d9da68b9c5d67bb6770a3c9a90a7e93fdd5759b27bcf3a753fa39ee7545fb60026\r\nMac = 38b66049ee8ed81f3f8ce2b45a4001ad\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 109\r\nKlen = 16 \r\nMlen = 64\r\nTlen = 16\r\nKey = 232407986ad4a8e438990fd04ffa35bf\r\nMsg = 9d88a7970d4c58cecc20ed1811298a5b37297419ca49c74fe216679dafc938a656cb92bafb78efb31f24e71c2d5b5f994f6dfd82862adfd2faeb8c408fd22aab\r\nMac = 313d46dda3ccb75f497f9069c9478b3a\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 110\r\nKlen = 16 \r\nMlen = 64\r\nTlen = 16\r\nKey = d9bd6ac153cb0bc4e19e59c45cfe0d6f\r\nMsg = c68094c26c7f017b79f126dc26b3bbcb95f97535ca412da5f7853e15fcb52f042e6492c857c22b26ffca5520eabca20ee2cec2f0b71ea60383ece49232065e0f\r\nMac = 3b17778955990ae58e03feda7fc43998\r\nResult = P\r\n\r\nCount = 111\r\nKlen = 16 \r\nMlen = 64\r\nTlen = 16\r\nKey = 857fa35c6f70f637a9a5e6f215c694fd\r\nMsg = a1fc1307757ed91665980e2d3cf9778d8bffc9a84cce6bd5c5a07e47af5c1b409869db8286c49d07dd5083f1826e3ec441ce8cd36c85fef8c55fff889e761286\r\nMac = e1ddd63db51d3035adfd309ddc186238\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 112\r\nKlen = 16 \r\nMlen", @@ -2438,9 +2518,9 @@ static const char *kData32[] = { "35\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 195\r\nKlen = 16 \r\nMlen = 20\r\nTlen = 16\r\nKey = baf5afafd7d0c8ad42a44e4e0a90fd2c\r\nMsg = cc5a4209a6a60dcf12621e17150b4576b918732e\r\nMac = 5a43002d9144a1d5e48c2dc8dc167a52\r\nResult = P\r\n\r\nCount = 196\r\nKlen = 16 \r\nMlen = 20\r\nTlen = 16\r\nKey = fa6405355bfb5065dc81e764d20277bb\r\nMsg = 5dd1febed8e94d4715e772c3295b48eaf471daee\r\nMac = 29e96ce5ba930134670b3c68b5c512f3\r\nResult = F (1 - Message changed)\r\n\r\nCount = 197\r\nKlen = 16 \r\nMlen = 20\r\nTlen = 16\r\nKey = ad2e3d3af6195e74b3e43296b1f618d3\r\nMsg = ca776f79b8581014ae58a4d533b60483fd1fbbd0\r\nMac = b32ce1f493b126fccb9829d4dbe76382\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 198\r\nKlen = 16 \r\nMlen = 20\r\nTlen = 16\r\nKey = 04ae7190f0cabd117d30a359f80b720c\r\nMsg = b885e5e147f967032ab2552829a6e09210c44a45\r\nMac = 9386d73a01960ab399bb7d290674b21f\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 199\r\nKlen = 16 \r\nMlen = 20\r\nTlen = 16\r\nKey = 51fdc65f6bb0d20a3c08ac1493ddddb2\r\nMsg = 1f0a56fb615b594d938bb8a27f4b2f5463ee9a61\r\nMac = 8506fb1b74806381e2654c8764464d8d\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 200\r\nKlen = 16 \r\nMlen = 65\r\nTlen = 8\r\nKey = cfb7e930b838dc3644f6c06f2ad0c8d1\r\nMsg = 611db4c194dbb54d80a4f4fa731cd9a6a330eaca734d3351f2cfebaba4bd541d86b3e35b4c1fa158edb0d15d610cd359a9c24878117f77f6b284f0363a576e0ef0\r\nMac = e9589a711f5d4a5a\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 201\r\nKlen = 16 \r\nMlen = 65\r\nTlen = 8\r\nKey = d179dfeead9d765d000462785459b1e2\r\nMsg = 795ee78ffdf302f3f1f2b31629ae918409cb42979afe3752dd14968d603678520e6b55884b5ebcce416248aa74b3cfe39dfedc2bb5246001503ca4d62cd7826f0a\r\nMac = f16ea84f554dfb54\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 202\r\nKlen = 16 \r\nMlen = 65\r\nTlen = 8\r\nKey = 22b7eb25e688672ab0e17206623094b0\r\nMsg = d830b16fa236a1dbe60f6db8d7e81a3ddb5f658c9f446e94639cae3699ec2ea6afb4fb152939d58df287271cf4b73c34e66eaf5265a623de47b135522c7aaf9f55\r\nMac = 16229efcb7523025\r\nResult = F (1 - Message changed)\r\n\r\nCount = 203\r\nKlen = 16 \r\nMlen = 65\r\nTlen = 8\r\nKey = a64fa98b4662d801159f61eefd1c8bc5\r\nMsg = d5982c462ad40458660cd7b120ce07fce9afe812caedcebdee536ac19b5d561d679dee8ea85d62552c86093a2ac1f8d179dbd4fc006ee4b16ebe6afd2be134498e\r\nMac = 2f9a2fbcb96461fd\r\nResult = P\r\n\r\nCount = 204\r\nKlen = 16 \r\nMlen = 65\r\nTlen = 8\r\nKey = e4fb10325d18666c382e6cc2442381e1\r\nMsg = dc28484ebfd293d62ac759d5754bdf502423e4d419fa79020805134b2ce3dff738c7556c91d810adbad8dd210f041296b73c2185d4646c97fc0a5b69ed49ac8c7c\r\nMac = 8f771ffe0c8d3445\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 205\r\nKlen = 16 \r\nMlen = 65\r\nTlen = 8\r\nKey = fdcd3459061c36c9a0daa0dcab2b967f\r\nMsg = 1cfa3342540d03ec3fcc8378c021443ba3321fbc26dad7c5b859faba004a082a21d6d7a43d2836cc3820d1adbe4c55518714d48fd9346a254f702107da8212f605\r\nMac = 6635f9e17949a14e\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 206\r\nKlen = 16 \r\nMlen = 65\r\nTlen = 8\r\nKey = fc593384e6eebc508d181fc49ee10e56\r\nMsg = a6c891c9dd1fcc982c35bc74cfe71651bae424602519672b466d80e160af51eefccc5fcf76467a25bce1a10853a0209d9beffbeb53228fea5f1e77ddc956ade207\r\nMac = 7a6fd94e3928d2a0\r\nResult = F (1 - Message changed)\r\n\r\nCount = 207\r\nKlen = 16 \r\nMlen = 65\r\nTlen = 8\r\nKey = 4e4ff248f591ca27665960d9357a8de1\r\nMsg = 198d5c9c4aa35d12b62e8c4bf6f3f141e6ebefd8ab396c71f55e32bc82b094cde409547383bcc4c5e5cd2cfd2d616c8ae273e260f2c98e93f7267424b8c2421bf3\r\nMac = 9140f91a0cf70762\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 208\r\nKlen = 16 \r\nMlen = 65\r\nTlen = 8\r\nKey = f20826990acdf225d9451a3d22f89747\r\nMsg = 03d340904ace1cd52d4b72a96d96afd77aee68ac3936415005ed0d56f46036915b1e5f2994ad49effe7bf3ee46170642e5a16f2eea804e68fa520fb79529d6c09a\r\nMac = f30b668f16bfe6c4\r\nResult = P\r\n\r\nCount = 209\r\nKlen = 16 \r\nMlen = 65\r\nTlen = 8\r\nKey = c231ea8b75c65de68c49b76e7a3128de\r\nMsg = 5b50879191a6debdb96c0bfaf9086b7dc6e25594416b08d2c75fe16cc347d2e3c7410fe3dc030a6c161ea22f6b80973bc43d42d8558f83b32a1bfa3c03757a4d62\r\nMac = 65ba53ef4711e807\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 210\r\nKlen = 16 \r\nMlen = 65\r\nTlen = 8\r\nKey = 8ef18639bc8c831dc0b4aeeca25eff4f\r\nMsg = 094c4d9baead7c5acd7dc58f3b4b4f57f1406b4e6af81a034d90cfa94c01760f4cacb4d2c63671d16d9594e1116b0dc2c39319523afac10175b1a485a240f7cf3f\r\nMac = d84f89e16c3b1633\r\nResult = P\r\n\r\nCount = 211\r\nKlen = 16 \r\nMlen = 65\r\nTlen = 8\r\nKey = bab9d79aae4a1b282d8c5aa35d5c0876\r\nMsg = 02815f53c2be5f7246d4794895b4b15b6c3944819dfd3051b371f6d7d52d9f8ced84fd84095c33ea013c78aa5aa7176d6aa9bacabdafe9bab89cce4d7c183b9c0d\r\nMac = a01f976031bc8140\r\nResult = F (1 - Message changed)\r\n\r\nCount = 212\r\nKlen = 16 \r\nMlen = 65\r\nTlen = 8\r\nKey = 42b97f583f64d88358885c66add5d03a\r\nMsg = 187fe16a764c0987a28088f5cfcf55a6b9591b6395d2d41043e09932cbc4b8ae073d08d39da9799b316eef2ed89851a8cfc4dc1c6d3cbed95663e0ecf25403e61d\r\nMac = 0820b1ca0cd34e5f\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 213\r\nKlen = 16 \r\nMlen = 65\r\nTlen = 8\r\nKey = 4fd555bd3a5253a90b68b5d4d46bd050\r\nMsg = 1ef253c61ac8ac66734ea80eefc1dc077edd660dc3518b5ecf709f10302925a72a3938e7449f2ae707506a67022dab63113242e9dff0d027aa3d22c8462a558165\r\nMac = 3770a6cc988a28eb\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 214\r\nKlen = 16 \r\nMlen = 65\r\nTlen = 8\r\nKey = d3a8eb3f9e5fb264ff098d85c28dd763\r\nMsg = e97a0986bf75e0e821f5adda80778863d9d479bd8ac3e7fe64a053f8016c465d581487278ef6923610a1463bdedcded62aeb22fb210dde9a0949947f8c6a6e7753\r\nMac = 4947e6e28dbba216\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 215\r\nKlen = 16 \r\nMlen = 65\r\nTlen = 8\r\nKey = 3043857fc40be37fb0bda4f46894690b\r\nMsg = 14874a8b59b0178c5ec89cd7316d909371969c1a1a1bc8a29f78341d39ce085e7e2aad7c350a3e7b691d3929bc4b7b47fef56be9fe7e7520a00abad5308505f8f6\r\nMac = 1a8c82e9109a68a5\r\nResult = F (1 - Message changed)\r\n\r\nCount = 216\r\nKlen = 16 \r\nMlen = 65\r\nTlen = 8\r\nKey = b325d425c810d22deb3209f29c5c1377\r\nMsg = e44c4202499440c12109296a35dfb1f669f97e7f415cd251a5e36943e134a548f0f2e841fa3541151b374c04665053382a24b99d731b99f3d411aa22644f66cd07\r\nMac = 84faaeb5a9756a27\r\nResult = P\r\n\r\nCount = 217\r\nKlen = 16 \r\nMlen = 65\r\nTlen = 8\r\nKey = 7cb6a84e99f5573c1eb27c0078f2127b\r\nMsg = d7fa7be9c10252d6e41bc1a08195a344ef77b81785cea6b4ba453d398bf6ffb31d80e0d6a45a4af283676422b5ca94c76bfb4334f61ae0abe884278976a5a3bd21\r\nMac = 64fa7f9284c24f14\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 218\r\nKlen = 16 \r\nMlen = 65\r\nTlen = 8\r\nKey = 00341fb81209c2abdfe3a9d607b98277\r\nMsg = 74f6fd37ccb4b7702bb3a03b7322c0d5fcc657cb2c3f1361488d853589d2d6207359b65d62d896ed66f217395000c2fa0d11f956332f2d4bdae55251adfe903b41\r\nMac = 4cf05b6e583c70f9\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 219\r\nKlen = 16 \r\nMlen = 65\r\nTlen = 8\r\nKey = 647a5be8a66c83b4b238975388e15d00\r\nMsg = 0db33eda4188a9165147e24e40f79fee1985eb68d51627287e9c4ec995a77d89b27fb2fa6a6fd3fb7563f3e710b6d20ca145a25f9ac8116d9f628395eb769f75f0\r\nMac = e8ef4f3cd7442246\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 220\r\nKlen = 16 \r\nMlen = 65\r\nTlen = 16\r\nKey = c98fc3416457d9eed0fa7ab1dc1b8a6a\r\nMsg = 190ae57ab8bb70464e4a10c112a54c646438301b5662f3536c26d754a02451d1a9c76abd7dbf656115b2a2ac702ec2cadae30cf86e0f0f96da39897d6222889428\r\nMac = 1bea94a457b2886e9098bf3ded932a3a\r\nResult = P\r\n\r\nCount = 221\r\nKlen = 16 \r\nMlen = 65\r\nTlen = 16\r\nKey = 87428d5a53f750abdb335f70ee13b5d1\r\nMsg = 7bb0c2ecfd141e7e93a897b259732b6153af3542eb7289b1a18dc0aefeb4d129c9e0e27d7ef25d3afc9945277e75cb87cc7d1c9cb39e7e6ab2a49bbdf65e1c6d89\r\nMac = a854d2da46afb77a787f0606a69cf467\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 222\r\nKlen = 16 \r\nMlen = 65\r\nTlen = 16\r\nKey = c725d9ef0dc6cfca84865cf5cc91d403\r\nMsg = d3208eb695e84c7a9250378e18be2f231ca3ebe72ba68e3ea4ff7bcf25206b43439bbd497e400dde738507cb542c7d6f961fb8bee99f0c8a6d9daf022368cc78a2\r\nMac = 35d57445a5f10fd567595fc668293e95\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 223\r\nKlen = 16 \r\nMlen = 65\r\nTlen = 16\r\nKey = 13e3fe7856cd680593a85cda3d6ff873\r\nMsg = b208e5a1a852caef0795150cf8313ee0cff06e3d28d438c2351484005661cbdcea6d8a3466aef0c6a460da4d7dc902ec99c073d086704112085a76dab0994fcab0\r\nMac = efb2bef5aae555463ebbeebe69791459\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 224\r\nKlen = 16 \r\nMlen = 65\r\nTlen = 16\r\nKey = 9b8112c1fb29fba2c8b0d8f16481b993\r\nMsg = f54105a04a4a02a1a07e020a6a4f4176e9c92bf40018ccac434988c650550c87625b84bd232d0e5ec20e6f6c46ba061b22a7fe36098bc7bf031ec6d6c1214bdb2d\r\nMac = 673281bc0effe92adfac4fef49477ee2\r\nResult = F (1 - Message changed)\r\n\r\nCount = 225\r\nKlen = 16 \r", "\nMlen = 65\r\nTlen = 16\r\nKey = 82e71e3ad1bc9a12a46e460a05ad9c05\r\nMsg = 41fb3dd6df78fe267175297e208ac753d50aaabd9edbf5e45385dfb47988b3d966f31be7a6329fd89e2869bc6f7e4bac1e3a0300f193bdc21c03d9629c9fefaa64\r\nMac = 36f7df58abb54a053988cae066110ecb\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 226\r\nKlen = 16 \r\nMlen = 65\r\nTlen = 16\r\nKey = b46e219217ab73c34904e24c6d995b72\r\nMsg = 887d6576572a3d8f6a1649394248c4d09d15026ffa930c0659508bac4243e7360802af084f363c2bcc4c91a04c6e86f4f8b22615d7915564949ab60b8267cb91dd\r\nMac = 10c1d8054ac549ad24ae4af2d8de97e2\r\nResult = F (1 - Message changed)\r\n\r\nCount = 227\r\nKlen = 16 \r\nMlen = 65\r\nTlen = 16\r\nKey = b66edcc59dc9d8e34bea3baf4bfc0d5e\r\nMsg = 57caadbb1a56cc5b8a5cf9584552e17e7af9542ba13e9c54695e0dc8f24eddb93d5a3678e10c8a80ff4f27b677d40bef5cb5f9b3a659cc4127970cd2c11ebf22d5\r\nMac = 0c5864eefc04a6cac4f053ab2f65f851\r\nResult = P\r\n\r\nCount = 228\r\nKlen = 16 \r\nMlen = 65\r\nTlen = 16\r\nKey = c607f631d792499ea43586b81fa3e2f2\r\nMsg = 21ed22abc7bbb62fb2d51d1fb8830ca95b16213f56291af976274934ab0d43805f71d9b906c44973f7d4b59b7a94d35c2220e7405dfcee98499c1c1dc92a89d7d9\r\nMac = 4e65b3d58492a0eebb66928a8214498f\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 229\r\nKlen = 16 \r\nMlen = 65\r\nTlen = 16\r\nKey = d9e9136339d361949242e4d8a0cd6917\r\nMsg = 419b9c9b093052577837862900e7de29273eb0678bf6238223b59176c78430b6f382f27bc8d9a95b53f26f1d12e545ccb434fa0a21b84fa7badb5872e208254fbd\r\nMac = 6c81094aded51ccd4da38d0412e7ca67\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 230\r\nKlen = 16 \r\nMlen = 65\r\nTlen = 16\r\nKey = 6f349dd8b69dd41c6f246a1685115772\r\nMsg = a5a3c8afe5b84e0c3ba4f708a87b596d1b7c8694dbe691d7240e4e4815ad5aa4ca7e5b82c50989d092b96e80aa35e97f99ed79e75cf3b8750d0d263dc208289cb2\r\nMac = cbf41299c35e65fa4e2626430f95051e\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 231\r\nKlen = 16 \r\nMlen = 65\r\nTlen = 16\r\nKey = c15e4e552c9197184b3eb0a74f5fffe0\r\nMsg = 7c4699a7d9e2d9f31410f20029676f3c97f5793f6732f95f6d33fd7ecc205d27b8e89eda803316a3cb9951f12111b4a6aeac606b43835a469eede86eebf63e5e8b\r\nMac = 77e77de5c5600900e5b928d4be3d5f8c\r\nResult = F (1 - Message changed)\r\n\r\nCount = 232\r\nKlen = 16 \r\nMlen = 65\r\nTlen = 16\r\nKey = 2eda9b2c6d7ad95b644a8739580ab4a4\r\nMsg = beadccddcf392ee56a8913f057da183ab06ec538e581b52c027ff7f63574b32d8bc4116efa1c56f4a4a851695a87f5fc5f7c47b46fe67b0400f2599fc80fe68d7f\r\nMac = 948e63657b8b6e2d130f6f25369d6160\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 233\r\nKlen = 16 \r\nMlen = 65\r\nTlen = 16\r\nKey = 233088b67b741f07859d122a6a406d89\r\nMsg = 5717ed57ca0b6921f04dcacad34e0f6210c36673dc9f4d92493ff733c6e5f1c2e56805ef622a5f496049ee0ef51a0d41e9d363febb87070be558e8af61e86dc76c\r\nMac = c778152b00760fcd85bced0f58861d13\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 234\r\nKlen = 16 \r\nMlen = 65\r\nTlen = 16\r\nKey = b7471a8b2e50fb319f198a09cdaeb319\r\nMsg = 385f9fb139dbf88561b7a500b0c7b835fe57e2698c6d9f76de4fae6dcd45c47fd8a0811ebbfba35f43c17aa360f09c767c1cd9b70bb671fa638e852ace97cc73de\r\nMac = 1a8b81be875a4814e3f988c274784a63\r\nResult = P\r\n\r\nCount = 235\r\nKlen = 16 \r\nMlen = 65\r\nTlen = 16\r\nKey = adf072ebb71e3400a2175c96fb0007a3\r\nMsg = a49840ab727bf6b03015eaca3f15a2bb64fd27b51b27fe7a2e0559c287ac8fdd4294ca990799ff66974624b8a4539dade66cf7f06b35d8dd2f8a36e6ec0bc83533\r\nMac = ceac74b3af8750467e3b3c51624d96d1\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 236\r\nKlen = 16 \r\nMlen = 65\r\nTlen = 16\r\nKey = 1b1d471add4e7f4fe197e3a4a44d06ab\r\nMsg = da06bd1405028d93fefa3c037b5ad551879451a28314bae86a7591b359f56e4b4e26e6fb2fe7b1af0f930cc2ae785d113e8b16546d59dbae9f41e7827be1ac89aa\r\nMac = 16d0021b1f9c00b37fefb60af3358d87\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 237\r\nKlen = 16 \r\nMlen = 65\r\nTlen = 16\r\nKey = af5d4991c189dada2cb552c3c52d599d\r\nMsg = 1bb1e0efa2d6811d2370a039a0c47c59683befbd46c04257f86a468ae25ba03304e865e62afae77a62b3cec7b3556aae0c60475a7bfb02c69f955c7f60cc8dacdd\r\nMac = d7056fe01f0ed1b20adbe05cbccc544b\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 238\r\nKlen = 16 \r\nMlen = 65\r\nTlen = 16\r\nKey = d149441e667b245d4640e04c53ca6f51\r\nMsg = cbb34794bc8bfdf93d3c8d9f87ec1482b516b48b1e8a89b5e3b5df70c423a243384215b4bc69c76c6b18c497cf82088af74839a8c98895869a16294dfc094360d7\r\nMac = 64f5e8dce5c3e0f9cc224e306de70b87\r\nResult = P\r\n\r\nCount = 239\r\nKlen = 16 \r\nMlen = 65\r\nTlen = 16\r\nKey = c2f5d4837f9f75fb440c3bccad7c2e69\r\nMsg = 6a84594c4b3865f047c96038060b5b413db0d4e081c62e405b815ecd9e3be651f8b9075dc8b032eb2f87c1416a5fe4195f51defe75f671f9a92d966ddf18724075\r\nMac = df8c8c61e8d604e24c7e3d0115dbe898\r\nResult = F (1 - Message changed)\r\n", }; -static const size_t kLen33 = 69750; +static const size_t kLen34 = 69750; -static const char *kData33[] = { +static const char *kData34[] = { "# This file has been modified to remove the 65536-byte long inputs.\r\n\r\n# CAVS 11.0\r\n# CMACVer information \r\n# Algorithms tested:Alg = AES KeySize = 192 Mode = Verify \r\n# Generated on Tue Mar 15 08:40:38 2011\r\n\r\n\r\nCount = 0\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 8\r\nKey = 771887708683bcb3577fbd0e6c13cad39955eafdc226d17b\r\nMsg = 00\r\nMac = a0db9bb6e8891e92\r\nResult = P\r\n\r\nCount = 1\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 8\r\nKey = 733fd349c56d1086794eb20ed59ddc89b065bb8533b968c6\r\nMsg = 00\r\nMac = c76f82937b457105\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 2\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 8\r\nKey = 761d74be5fae170a1bdfa16081b44c1e49972e15ce0818df\r\nMsg = 00\r\nMac = c65feb3d5336dffa\r\nResult = F (1 - MAC changed - for 0-len msg)\r\n\r\nCount = 3\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 8\r\nKey = 40f4a2261f154280a311f5b172c7ae34243cf2c59b98d37e\r\nMsg = 00\r\nMac = 05d920e78520839e\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 4\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 8\r\nKey = e27150ee958b998c8a7e8b9324ead937d15580d09d6ffc3a\r\nMsg = 00\r\nMac = cf60783b5defbe3f\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 5\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 8\r\nKey = d9bf5efb694089b2de533b1a65c12ae96d8c5bd75bd67fa5\r\nMsg = 00\r\nMac = ccde2029fb26c8ff\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 6\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 8\r\nKey = bcc658b2e53d51ed00c567ded2a124f8d1f85fc72dce5f80\r\nMsg = 00\r\nMac = 35d0d9ccab5b0f41\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 7\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 8\r\nKey = e31fdf3891c9068f621430315fb1daf418c328baf5e6da97\r\nMsg = 00\r\nMac = 8802047c11abcf2a\r\nResult = F (1 - MAC changed - for 0-len msg)\r\n\r\nCount = 8\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 8\r\nKey = 16a10208e91807fc479607cbaa39fa9c7273d89ce403b796\r\nMsg = 00\r\nMac = fcedadeca37381c1\r\nResult = P\r\n\r\nCount = 9\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 8\r\nKey = 50fec559910391abc23eb7f5eddbc26a1031c0abd0a29ad6\r\nMsg = 00\r\nMac = cdc41e9b491092ce\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 10\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 8\r\nKey = 6e9e0ae953b1b486ecd6b766d7b961ab79bcdfe2ffe95e94\r\nMsg = 00\r\nMac = 5096b9fc700929c6\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 11\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 8\r\nKey = 48043c405ef221c281d1e88246b6e1dda77e072f9d10353d\r\nMsg = 00\r\nMac = cab96cfcaad5cc20\r\nResult = P\r\n\r\nCount = 12\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 8\r\nKey = 10c361934fd6ff77a5051879ff228b08d841660d48b4067e\r\nMsg = 00\r\nMac = 167e7227d59d65e1\r\nResult = F (1 - MAC changed - for 0-len msg)\r\n\r\nCount = 13\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 8\r\nKey = 867ab71470f2dc3f5f11f8bfa7272dfc9c888e8e03323103\r\nMsg = 00\r\nMac = 96d9e7b084448004\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 14\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 8\r\nKey = 5b10c228b447968267293ede9131d9345daa18c11d71eff4\r\nMsg = 00\r\nMac = f7055fcd9e8a8fd0\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 15\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 8\r\nKey = 997b712cd9295dc43cc19b40679f218c27af3e8c638d2e5d\r\nMsg = 00\r\nMac = 79a13778151aaaba\r\nResult = F (1 - MAC changed - for 0-len msg)\r\n\r\nCount = 16\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 8\r\nKey = 465b9364b3f06f3c28da12707673fecb4b8071de06b6e0a3\r\nMsg = 00\r\nMac = 945198b568ed3db3\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 17\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 8\r\nKey = d233ef50e0ce1924abd315510464ce22de377026529085ce\r\nMsg = 00\r\nMac = 240698cd0183f002\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 18\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 8\r\nKey = eb6e828e01930a4b0afc8bda63160942ce32df7b2c38a8c9\r\nMsg = 00\r\nMac = c68fc388f0633ecf\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 19\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 8\r\nKey = 471b8a2e5cb08c21d87e9eb7ecff1d6e6fc2335581769dc4\r\nMsg = 00\r\nMac = ab5e7c91c35a0e91\r\nResult = P\r\n\r\nCount = 20\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 10\r\nKey = 8b404993b4c3f62a57e4aef272788206c8076acc32cf3a1d\r\nMsg = 00\r\nMac = 6a3beff4d1d0e84ea4d4\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 21\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 10\r\nKey = 7cccb84fa5c1c795bc05a05ea5bc6497acd2de2d193fba72\r\nMsg = 00\r\nMac = 557b8efe4ca9c4e603f7\r\nResult = F (1 - MAC changed - for 0-len msg)\r\n\r\nCount = 22\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 10\r\nKey = f1d434dac8cefca05ba120a34840531bf1542c8fd03b1ff9\r\nMsg = 00\r\nMac = e2c299a2c5159eb777cb\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 23\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 10\r\nKey = 7fac8beb476b470e13a404ded315db1b15a85c2783eb3017\r\nMsg = 00\r\nMac = 50faaf26afd61c5f616c\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 24\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 10\r\nKey = f5b4c2a9f096e13ab426dd8654fc7b8ae6a4a8d3daa16b9c\r\nMsg = 00\r\nMac = 535cde3d2c32788bf167\r\nResult = P\r\n\r\nCount = 25\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 10\r\nKey = f72879cc3446de9a0a43ae1cf08935b8c83f9265b8cb2258\r\nMsg = 00\r\nMac = 4eeea4a1847f2a30010c\r\nResult = F (1 - MAC changed - for 0-len msg)\r\n\r\nCount = 26\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 10\r\nKey = 7021eaab074be980543cc70c809186d93652d7674c10ddd9\r\nMsg = 00\r\nMac = d98c93f4e0228ff68cad\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 27\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 10\r\nKey = 7fd546397a9a0129861fb6815d419a307f90d259d55f3503\r\nMsg = 00\r\nMac = 13597bb97e38f400e686\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 28\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 10\r\nKey = 563cfb49f1af034cd38d2112685a52ebce8dca93e84ca10f\r\nMsg = 00\r\nMac = 866bc21135b11ea1bc24\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 29\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 10\r\nKey = 17e9555b9b4f89cb63f2e90aca95c27ead6a099bc41c4c05\r\nMsg = 00\r\nMac = b04b3bd1719d35e80e2d\r\nResult = P\r\n\r\nCount = 30\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 10\r\nKey = a65d24bd1ab92d8d294d654423412860e113c976f12ed76b\r\nMsg = 00\r\nMac = 83c1c0f3e89f6584bdd1\r\nResult = F (1 - MAC changed - for 0-len msg)\r\n\r\nCount = 31\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 10\r\nKey = 35555c801a2e7c68cd0c347e0f006be00fcce70fdd8d60ae\r\nMsg = 00\r\nMac = 7e3670cab617e79b3f57\r\nResult = P\r\n\r\nCount = 32\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 10\r\nKey = 138b3db9baca13bc66e893efee2b767ce6a912b172c2cda7\r\nMsg = 00\r\nMac = 4686805681afa38cb7c4\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 33\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 10\r\nKey = 1bc05440ee3e34d0f25e90ca1ecbb555d0fb92b311621d17\r\nMsg = 00\r\nMac = 1e9f80432b39f7318433\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 34\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 10\r\nKey = 5776d94b577ed26820fb13c00ab0e2d1a1c3589bfdc45cbd\r\nMsg = 00\r\nMac = 4d5f56d3543abed97233\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 35\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 10\r\nKey = 22e493c1f2e27c9be7bb07fc00fdd51089582d139b0a9f68\r\nMsg = 00\r\nMac = efe1c6493542a8412118\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 36\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 10\r\nKey = d52f030107a2becde77331fff0c24cd72ef62c0f46ae3e6b\r\nMsg = 00\r\nMac = d1b9c7f13b189cd828c7\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 37\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 10\r\nKey = be31363e5144d9ff49ee67efebeef6d9a97e22f8a3ceb209\r\nMsg = 00\r\nMac = 03228a1a80d5f3d87b56\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 38\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 10\r\nKey = 6a46492ab7ae5f3dbf16ee7b8876e0b4f0449f3b4f8cd89a\r\nMsg = 00\r\nMac = f016af853140edf22d31\r\nResult = F (1 - MAC changed - for 0-len msg)\r\n\r\nCount = 39\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 10\r\nKey = 89ef2284d8245d87f88919d4d2f71a2df05ee21d85b7d689\r\nMsg = 00\r\nMac = acdbd54bfb1f20bb65cf\r\nResult = P\r\n\r\nCount = 40\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 15\r\nKey = f4e74acdeb91d0f0ab143823102d5baed1ffe168fdb5587a\r\nMsg = 00\r\nMac = 9c15bfd3c766f88190e54d395e5387\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 41\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 15\r\nKey = d9aa4efa5d75195a400018bd38f7d8cd53fdffe88df1837f\r\nMsg = 00\r\nMac = 4a11b22e871b051ea74db3f763f140\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 42\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 15\r\nKey = 13439fb32b1514d48de6002f5d12e19e1ced4caf35042602\r\nMsg = 00\r\nMac = 1412aad5e6b7f0d924700b438e0aaa\r\nResult = F (1 - MAC changed - for 0-len msg)\r\n\r\nCount = 43\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 15\r\nKey = ffead92a4a5dc1eec6d2e441de9a9e1b7a88c607c9a79079\r\nMsg = 00\r\nMac = 6fb18d51e9a30fe6b7a6f405b3d3b4\r\nResult = P\r\n\r\nCount = 44\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 15\r\nKey = 176ad1686a81992e042d6497a305038ba0cabf74c6ecd8eb\r\nMsg = 00\r\nMac = f676bdc753ffdad36628b1724b967e\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 45\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 15\r\nKey = acd58261bcb2eb6345af7290b1d216c3016af6697bf5ab88\r\nMsg = 00\r\nMac = a6ae95e5a23b5f5a2dd8c8a520b9a4\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 46\r\nKlen = 24 \r\n", "Mlen = 0\r\nTlen = 15\r\nKey = 0b5eb52135dc6d9c1f56a2571c1389852482e7aa3edc245a\r\nMsg = 00\r\nMac = a46221058177012b073c6ebc6aff1c\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 47\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 15\r\nKey = 7bd398d1b9b45f7a024e70e71c1ee7132795fbaa2d63306d\r\nMsg = 00\r\nMac = 119bc07d7f3da0be3a87844b425c0d\r\nResult = P\r\n\r\nCount = 48\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 15\r\nKey = 47575b64fd4797cda8d67e9cf115ae850d7998c39d2f8709\r\nMsg = 00\r\nMac = 3f2010bdcb2fd70241475db9381570\r\nResult = F (1 - MAC changed - for 0-len msg)\r\n\r\nCount = 49\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 15\r\nKey = 68627d802cfc43bb1a987e1ef4401fa84e8a7b2b43759f50\r\nMsg = 00\r\nMac = 1e0e3333ca5790a7e7df0d6d4bf860\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 50\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 15\r\nKey = 7f16b90a18deec135d32c836063cde963fc4e6daa1555476\r\nMsg = 00\r\nMac = 013e1d0bfc7a7a6c838ac98ce0da2e\r\nResult = F (1 - MAC changed - for 0-len msg)\r\n\r\nCount = 51\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 15\r\nKey = 3c89c59ab30eba6e5be8f69f597adc534cb52e94259780f6\r\nMsg = 00\r\nMac = 7f9f1bdba93d26cc3c1f022244bff6\r\nResult = P\r\n\r\nCount = 52\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 15\r\nKey = fdcf28931c91b4b79c8f8332b4eeb3f995eb1ed2fb1e8ab9\r\nMsg = 00\r\nMac = ad7f8852f1bfd65dfbce3bb39db59b\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 53\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 15\r\nKey = 8f570ddd0963a80abec82caf8883eaddfd63cee9f375fa7a\r\nMsg = 00\r\nMac = 82b16380d804b8eef855afb5eb839d\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 54\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 15\r\nKey = cc1d70d3050f022442093e3210f5b45f1b610dc0f12fef74\r\nMsg = 00\r\nMac = d1dc61c2ef7e2cd1a4e43dc34c0ba5\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 55\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 15\r\nKey = a8a1cf9547543045fa2f00edf79bd85436bc1ae1d746790b\r\nMsg = 00\r\nMac = 48fc14782a351553ea453a3ec2538f\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 56\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 15\r\nKey = 123ff732cccb535ec7a1c47a6b0ead68df31094d896709a1\r\nMsg = 00\r\nMac = 8f29dcec0a5d026d6fe4dc64cd1d4a\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 57\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 15\r\nKey = ed06bd049d772cb6cc5a705faa734e87321dc8f2a4ea366a\r\nMsg = 00\r\nMac = e3fcf2590fa9ffe093bbfe8d3d7b0b\r\nResult = F (1 - MAC changed - for 0-len msg)\r\n\r\nCount = 58\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 15\r\nKey = fa18c0b348aad167b7050c0ef6e7caf0436750873c7e4929\r\nMsg = 00\r\nMac = 630915919b6108770f5c3deaece1af\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 59\r\nKlen = 24 \r\nMlen = 0\r\nTlen = 15\r\nKey = f66296bf67b6e91d8ad629c1b260cb5ca1985273925e73fb\r\nMsg = 00\r\nMac = 729f983d3b49b2ebf24eb04368a851\r\nResult = P\r\n\r\nCount = 60\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 8\r\nKey = 2f4a6501d8fe7b65f607757ddff6ed87ae0681b98b53331d\r\nMsg = 2361d2ed837c14b6c231daf0acf2623779e0d952e98e14149308807f79145c30\r\nMac = 9a8ad7bb37d79321\r\nResult = P\r\n\r\nCount = 61\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 8\r\nKey = e2d592cb412e65f9044257d78e7491f9f80c8b08102c2d5d\r\nMsg = 4163b7ad671761a3f27394776970b413e35a2c43ca85560cdd3c9b407bfadb4f\r\nMac = ab85ac3a4f92ee2c\r\nResult = F (1 - Message changed)\r\n\r\nCount = 62\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 8\r\nKey = 1534e69565cbc541bfde6901bd6e598e41a7a703091c2240\r\nMsg = 85b78269899a4712eaa9c3de041f5a74766ec27dd5265da8a117c6f277baaa24\r\nMac = 6b177203b17cc7c2\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 63\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 8\r\nKey = f0302d9a197a285909657d611ce12458b8d24652e91ffe8c\r\nMsg = 3fd6b98961f31c7b7fff0baf1cbb5884a9290ea7b5ee49915efb4b510b6ccd8c\r\nMac = d2d84fac8ecb665d\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 64\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 8\r\nKey = 2081442435626f7ce377132c46385510d9febfdd90c3f104\r\nMsg = c4185eb75fc23adff60d6380006a1c20fa2ff466ffddf67e99a421bfd729188b\r\nMac = 7373df1900b7a3df\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 65\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 8\r\nKey = 715fb6fb464513f3650a9d0c3687980ab9caa9876d69dfeb\r\nMsg = d60b3402ad9f5f09375862ae7a370f0c744ffaf5001c80e3fd150730ab848689\r\nMac = ba39c81c18821872\r\nResult = F (1 - Message changed)\r\n\r\nCount = 66\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 8\r\nKey = a4d9f94e644fbcd97e0d993cb0af507eed259fbcf8fd7083\r\nMsg = 677acb68500d6cbbf77a3f34f58840f0c16044827641dc43d6767ce98f85dd5c\r\nMac = b129c1785acf17ba\r\nResult = P\r\n\r\nCount = 67\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 8\r\nKey = 94b911cdc3137a6f7f32651b788eb82975660aea52b2c03b\r\nMsg = 549aa84bb182312dd016e3107f3b1f9c5b6a89b543561a450ccf713c76e66ad5\r\nMac = 7b92156f8b36d5eb\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 68\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 8\r\nKey = d3fff7b6f08dc4256239fc112890429fa00393e84e9b294f\r\nMsg = 15d1522654bcdce344b5d9753a0a6f31c859d547edf520478a8b5ae41506d5f7\r\nMac = 2d778849023fc9e9\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 69\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 8\r\nKey = 77bbda69ec034d73e02b06f0af30e2dab60ac80cb7822eb1\r\nMsg = 1e6ee96598bd014c95e9540f5cadfe6885cd094e04048e81633d1d634f065f09\r\nMac = d35f3c169f67b597\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 70\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 8\r\nKey = 544a757bc50658d7e73b25688e7fef86fb1f9f08ffb33a70\r\nMsg = e473fe5656713b3b0e4fd12c640e8c542950577f446b01d09cbc41b6393ef81c\r\nMac = e1dad03ab8d2f432\r\nResult = F (1 - Message changed)\r\n\r\nCount = 71\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 8\r\nKey = 1bebfde2d5468ba0a3031bde629b11fd4094afcb205393fa\r\nMsg = cf27b30423bd7e40d6b3aeb4b1bc01b40aec081aa00f2e3bc63ff61ac4b684dc\r\nMac = 617fdf927d0e4e42\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 72\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 8\r\nKey = ab83567833d2f3461b5fbecc0e366694bb5ea00933b2b3e7\r\nMsg = 58d43b9f1581c590daab1a5c56d6fbcff749e489acc3ed51ee6aeeac0104e6ae\r\nMac = b29232e882dcb8ef\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 73\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 8\r\nKey = 0e0fece7b6b659b642668e8ba3dca330523e70279155f485\r\nMsg = d8c35129ca5a84e2e6723332217f0fd2e19fd06eb27d84a93b75276270f97335\r\nMac = d7ea4755260630e2\r\nResult = P\r\n\r\nCount = 74\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 8\r\nKey = b15763294afa61bc27e0785500ab5739136f51bc78b65562\r\nMsg = 8e8271b2758964fa71520f26aab6f870fa76ea4aa220475b3b379ec4ef8e80a7\r\nMac = 6357fb64482d171c\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 75\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 8\r\nKey = 6dd6efd6f6caa63b729aa8186e308bc1bda06307c05a2c0a\r\nMsg = d2c9c1300f5a7520614550f9d23dcba6b41be6733426616f32912f155045282c\r\nMac = a12adaf849719778\r\nResult = P\r\n\r\nCount = 76\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 8\r\nKey = 35631c844313ac335aa0d590fec472d805521f0905d44ca4\r\nMsg = 766f9ac761a06f4e006f405f7b3398aecad253f5cb8653e091e17427ff0fc1f9\r\nMac = 49090265af87c220\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 77\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 8\r\nKey = 35008ef5baf263ae233758ca237dec1a51d67fcd3573094c\r\nMsg = a8f1b7b73100cfe1a03003331d9d55b75fb0d2596ede723fae9240581967ba38\r\nMac = af6c2ebe004c6d71\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 78\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 8\r\nKey = 6f383f798df8f4b9f0a99206cff82709c367340c7b3b0401\r\nMsg = 9668a011e5a3a613ddfd149b0e529e9e66665006f98e730400adb4a8226283af\r\nMac = f97fcc39e240b547\r\nResult = F (1 - Message changed)\r\n\r\nCount = 79\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 8\r\nKey = 9071be7a11dcf7a062d582dd5932f047396fd9eb71982bcd\r\nMsg = a8a6703044010f8301ea33bd9a808ca35838c9f58683ae3925ab67b9e1fe1ccf\r\nMac = 9065cbc5249ff8b3\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 80\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 10\r\nKey = 36ad69f192ae4dcab771aeeacf01bbd32609bcbbea8ff9df\r\nMsg = 6e60fac7c027aed4632444a95824e61e2c50aa3ecdaf09ed9cec92cec35adf63\r\nMac = b6bf70e67b315c256f41\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 81\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 10\r\nKey = 0cbb1d567bce009d1dc5bdb8115607213ed9a516389f728f\r\nMsg = 634efdf89ce2a9fcbd38bdc0b4cece54dfd7532880e0b4ce6eb3a4010b7cb1e7\r\nMac = 4f0af4ff9a9c9e844fe6\r\nResult = F (1 - Message changed)\r\n\r\nCount = 82\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 10\r\nKey = ec65afd2d72bf477c7fdd9fbe3f1694c328088cb5f39d9a2\r\nMsg = 10d0e88b0db8d515bdff3a791c830b28e4e3ff4fa63f45b31a3f73dfb457bf82\r\nMac = 7172095284694f5ccdf5\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 83\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 10\r\nKey = a76b981540ce229e73064af4474a7ca4a042d03a6e6bdcbf\r\nMsg = 740d4b25ca7221d0826057701a6bfd66c50a82f010a57be8c5efa0af0f761764\r\nMac = 94b657fb57cb2fd6ed3c\r\nResult = P\r\n\r\nCount = 84\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 10\r\nKey = 36bf85bf63b28093d2dae511990a0bbd75184044b033c66d\r\nMsg = c1fbbae61b81ae", "bacf151f1bccfb1584f3a211fe797996938c03e806392e14c1\r\nMac = 71796cf452f61db7f540\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 85\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 10\r\nKey = 67b79d9ef1a47867c7d21f19f99ed1085f17a9f092fac689\r\nMsg = d354c54151c9dcdf0d0fd8c51413c2645efafb2bf6b680b25ad76d3825a4c04f\r\nMac = e324e8d377447b40629f\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 86\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 10\r\nKey = eafa8699695431ab3cfa1e87ffeae4b822a391653d2e9d78\r\nMsg = bd647990f7afec76c8f726d1de806ca0cae6f708b5024b514f11c4320913724e\r\nMac = b0da9d38a1e821ef1f39\r\nResult = P\r\n\r\nCount = 87\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 10\r\nKey = 1fc4fcbc73dab4e73ed9d7606acdcd42b74972460c640fe5\r\nMsg = c86553a60da69bec1924788fc3ab985158a2d4788f33c01abead80974d26dd67\r\nMac = 992fd0b735b9fa9255c1\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 88\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 10\r\nKey = 618041501dfcfdd2b60d71c04d635f6357ad8b0643af77aa\r\nMsg = e7e6b57e74ce7afbde3697e2a69d61ca615aa3dfd32fe31f5521e6ca79877613\r\nMac = c183b8f21cb2aac7201a\r\nResult = F (1 - Message changed)\r\n\r\nCount = 89\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 10\r\nKey = 53bcc9e9244e2fa1752c61e65aa5c592138447ef9287fdcb\r\nMsg = 92e962f0086591b6f61c2ce5af62480722ba6a640c3f53806c421de438358721\r\nMac = 105d286777da3f2a03a5\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 90\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 10\r\nKey = 6d2429921f90a22893cb65c4530e56068e9944d0b0f61fa7\r\nMsg = ea2ad7b7d3f80793391af0328fbb594d79898e1047210628bbc7441e135bfbe3\r\nMac = 482a75ec0ecf1ea59f5c\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 91\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 10\r\nKey = 3100d3c70e823fee9a1bf486ec1c56771acae35246535de1\r\nMsg = 4e6ddae0d805afcd10a055bce584c848d050fb29fe8f1c64b18e1abfe46b6578\r\nMac = b0deaf1bb6d0425d1810\r\nResult = P\r\n\r\nCount = 92\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 10\r\nKey = 79aa6c03dde4bc5949921563264b440ebef71b3298da67b9\r\nMsg = 879954f977e945cd4db33d20e6749a6832677adbdd9c7e262e4acf632f665f45\r\nMac = 9863fe041d191777067d\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 93\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 10\r\nKey = 85467aa82c22ab019f9243c203b4371c95604dccee5d81ef\r\nMsg = b86edcc59dc9d8e34bea3baf4bfc0d5e117482a48e522c1b02a370e9124b379e\r\nMac = 54b2f4664eca96639f7a\r\nResult = F (1 - Message changed)\r\n\r\nCount = 94\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 10\r\nKey = d37e7aa9215cb5c2c2fe81834f200192ada3dd0f4ccb9d69\r\nMsg = 064f85a23e049529c74c4f8267abbbe685b6a838841a9e304fdf14b835eee396\r\nMac = 536701771f51d2ec354f\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 95\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 10\r\nKey = 72e8c7d74cec3e248fe938a1159d8d969928e6da26b8cf96\r\nMsg = 58019989445d5ee855e0ffcf84e76f3383ae09cfad74276a3edaf05cbf8d714f\r\nMac = 182d3bf14cc391aef27b\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 96\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 10\r\nKey = 5f847950d2a5d44137110594d3c0afa995b36422ab36d044\r\nMsg = 70523bc397417e09d791a4976960e02636ca7144a5681cf7b116daa33eface2d\r\nMac = 5f0b325fbfaede23de5c\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 97\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 10\r\nKey = b01e84220a7d514060a79088b754ac0beacb60e5b3a47020\r\nMsg = 036137cfed567fc5e234f18d6c2b8c7e9ae0f3fa526d6596e9a9ee7bf1abdf0d\r\nMac = dbe49af18c1e1bc99b73\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 98\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 10\r\nKey = d90ba47d7c9107b103cf167041dbd7b41d96016d93961917\r\nMsg = 2d53836a0437ccf27cdfe2bf2ad53f3082100a9f045cebe6b3031d21c9a6c5b6\r\nMac = 7252ee3b5eb76abeec9a\r\nResult = F (1 - Message changed)\r\n\r\nCount = 99\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 10\r\nKey = 02e5a1306f612bdec098458cff3e691d93f050ba11ba6273\r\nMsg = 4bef96da992ab9386a3463213773f3ca7164813a15e014ab819f153386fa04a3\r\nMac = 5fac9c1a1636b66e2f55\r\nResult = P\r\n\r\nCount = 100\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 15\r\nKey = 4c99ce359b8b82b67ee990529a10f2ecceadad456925a57d\r\nMsg = 89ed296a3ac03fbfb71422b9211799150b9d766a8116bebd48bd0a5068132dbc\r\nMac = e0e9583d784f87e0b7dd8fd7494a81\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 101\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 15\r\nKey = f085fb257ab64013b43a59150864a31e76c9ae94913a56ef\r\nMsg = b90ef6b773f250d4dac6fb9e62babad69ab424c96a8c0625987c030a91d27d64\r\nMac = 96f1dc9a1c668bb203428181c016ec\r\nResult = P\r\n\r\nCount = 102\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 15\r\nKey = 8109f3208d5cda0f12141e40c85959b72eff1a937dae7f4c\r\nMsg = 49ab30d5c01e91bf113764342cb8ad32e6af945341a9c6a0ee2319a910416fd6\r\nMac = d13777a33f9520793eb8cbcec047cd\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 103\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 15\r\nKey = 1eba29062320df7275a51aa090ab489571057e64f0ff6a52\r\nMsg = 754f03c2e298a699568d10c3e40390e0f8c398283ce1c35dbc4916fe479b87be\r\nMac = 87dcee48dfaa43e8223a2b338b220f\r\nResult = F (1 - Message changed)\r\n\r\nCount = 104\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 15\r\nKey = a04b976fa01411bcc9a3863cec91f486944fdca6e8754615\r\nMsg = abf45f39904a8f5766763fe80fa189ed9c6c15bb1a7a8fa0ae3058c9e5b87c63\r\nMac = 577aa39884335a4f66dce2a612515b\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 105\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 15\r\nKey = c6f0a3692c9280c48393b0dd763e5d0b90477f34ad69f192\r\nMsg = 737bab64c8a0fd6a07329bd729d2ec88685cb5404bd13a40e095a61846dbacbc\r\nMac = d61ad5f6d8aecb7b3fc1ddb1aff64d\r\nResult = F (1 - Message changed)\r\n\r\nCount = 106\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 15\r\nKey = 095eb52135dc6d9c1f56a2571c1389852482e7aa3edc245a\r\nMsg = 47c577d1a7e69828b5c3264738dd334be8d7678ec77bf1ccb5fec3843f85ffa1\r\nMac = 4fd309a62435edd9b1ac8861f904c1\r\nResult = P\r\n\r\nCount = 107\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 15\r\nKey = 2f853c1ddb31694985ea5e47322bfc8567fd7a74a46b0597\r\nMsg = 5719e671686e87e931c2c0e5842e907bf584d226e040645eaebb896b53a28c7a\r\nMac = 75ed56da2db0ffa101578118e3f620\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 108\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 15\r\nKey = 67f5adc0842d7e1a4f8591d678334c95ac83df95c4341c30\r\nMsg = 6c8aaf2f91ba87b61814ed689331264c7bf98c2223c426a4ebbf7b0db692a8d8\r\nMac = b7c591522e9a5a4f3af3aea24121b6\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 109\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 15\r\nKey = 8702cfd1ff87a749ceb0a7192f5a872740b7fc600845df4f\r\nMsg = d29b6a2d421abd00a59b756af34bd72a42f5557a2ed40f8a7ea59b2e05ff01d3\r\nMac = 33b597665d375c95464af2ad56465c\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 110\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 15\r\nKey = 64ec1fd6af554485856b7bb3c0ad16fcd9c4ec690914a09f\r\nMsg = 0418a0afc13d6215c7bd68b12a327587eb63c145120ea626fce59c16f7d66717\r\nMac = 80a85e77efe4f47d8938dd9c55d67e\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 111\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 15\r\nKey = f2991112c2cbd3038ae37b772a5090690006009f0c1965dc\r\nMsg = 231d72c9325f8c17aef4efc94855803eb2fc1eea601c84a98e8f7053840f0591\r\nMac = 14269c545a0e3d56ac9cb195cb6197\r\nResult = F (1 - Message changed)\r\n\r\nCount = 112\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 15\r\nKey = 2c6d7fb9e92d98a1dd92e96f6b4013954ce1aaa5de242e6f\r\nMsg = 87ec7423f1ebfc37ee83c85938d58259efd16e3c8e55fb871e9998baa9cac81a\r\nMac = 782b7ebbada87c3572a3918a03305f\r\nResult = P\r\n\r\nCount = 113\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 15\r\nKey = d95a1b24964bfea5dd5a65f5a1398c6f9d43b26d98b47816\r\nMsg = 92f9cf56188322d18cb41d723847e6d419cd163e2be71b78e7b8dbdd099a99b2\r\nMac = 2498787836840fe1411a17f153c546\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 114\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 15\r\nKey = 62f2490ba0c658848859fcbea8cc6774e24c9de979dd29d0\r\nMsg = 0822e3e6ba982091d532cd5271fbde25305d1f6e71880f81c618f267a9f122e0\r\nMac = ffb6c2a6c73245138ce06e458cf914\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 115\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 15\r\nKey = 1841161a3752de1491b2b2f519d8447636e149437478d2ff\r\nMsg = 238e36b73b474de88226d4298121393ac9162f1736040bcd717b6e8db85125ff\r\nMac = 4d1656a2c8632260aa55a097451fe7\r\nResult = P\r\n\r\nCount = 116\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 15\r\nKey = d7d9a5f750078f1a82dffe2c70e6b0016eb42d13e1a8aad1\r\nMsg = 28a107d22fcd0499e0ea5aceda6dbc288a5f1d9da003c626bfb9a6c27922e9bd\r\nMac = b67bc2e20c422f9c7c27a84ba0bcfe\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 117\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 15\r\nKey = dc3ca30782c9c0a7fe8923d4b8d31aaf21e63895f51fb2f1\r\nMsg = 8716298bc17ed51aa273711873e2c2863e7a5021e46a183e6c6c81f99c02918e\r\nMac = f41b1896a22db30dac50b6b3e5e2b8\r\nResult = F (1 - Message changed)\r\n\r\nCount = 118\r\nKlen = 24 \r\nMlen = 32\r\nTlen = 15\r\nKey = 0b6b36339122610178c4bb72eb558abf15e5ed9ea0077a5c\r\nMsg = 52839f2f0853a30df14ec897a1914c685c1ac21470d00654c8c37", @@ -2451,9 +2531,9 @@ static const char *kData33[] = { "= 247\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 8\r\nKey = 4f98838899bb47fd3b0fd5efcf55403996567a0fbe1abdda\r\nMsg = 0c8cc752ae8d487c621be129326513a5ccb4141e324d21aab399148c1a83\r\nMac = 1aef1b7bc7856c6e\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 248\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 8\r\nKey = c98a22a667aafab0c94047e03837d51b11490693d5c57ea2\r\nMsg = e4fb1612e50607457dee8087ec41e57fcd7fc550497eaf1c8b0d47c773d8\r\nMac = 2c467fe37fee5342\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 249\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 8\r\nKey = bc6d4c46476ac1ea902be391b8a3f04e102aecead167f0e4\r\nMsg = 93b3314baf20e28a39e89592012c35adfaa3ee6d3d8e494051ee9944aaf4\r\nMac = 7f10757d2d36a55d\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 250\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 8\r\nKey = 5783548205826853ae740d35d6d69ab524c38fdfc5c51eb1\r\nMsg = 11c90809f9c53d2f77b56af0a42287ac6920e3d2921cceb824d496caf1a7\r\nMac = 07630c2fc52a24b2\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 251\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 8\r\nKey = 9cac76976750b7937b3bbc6986b4c726f0d0a63310db85d7\r\nMsg = 5de2265292780222349ac793eaa17c5a22902344063f497aabb9dc038ce2\r\nMac = fd092bab159861c0\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 252\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 8\r\nKey = 616de0b0f868eec923bf9edebbbaa51d3faaa3f86b2a5687\r\nMsg = 38013d62558647bc21d293830aa3ba80ff3fb84a8e0938754c5213077771\r\nMac = b4e782780989dc11\r\nResult = F (1 - Message changed)\r\n\r\nCount = 253\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 8\r\nKey = 5df77b26f3d34eba49d287addf0a38d20514e2b7e6059935\r\nMsg = 1930a8b428334df9fa1ac16890f3a6a93fcf9d6855d00b06ff831d8f6a70\r\nMac = a8ad975046cd7571\r\nResult = P\r\n\r\nCount = 254\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 8\r\nKey = c56f710e39deed799ffde6d10e8aebfa2bab5e5e073d78e2\r\nMsg = f6fe0f16403182d012f8b6e02539c386075b4585be5b18d6ae1c5f9ebdff\r\nMac = d0df47dda012655d\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 255\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 8\r\nKey = fef8982f7342f1b953658453cd5ea413700eff00f1ee7d6f\r\nMsg = 269b6c1c95bc079398bb31e285a887c1832202d6ec257a2cf62468e29358\r\nMac = d2c90040bf66b2a6\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 256\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 8\r\nKey = a34dfa24847c365291ce1b54bcf8d9a75d861e5133cc3a74\r\nMsg = 105d2b82676bf67ca9575ffd31d7d114e709826fccb6a5c3d3d7e26ff258\r\nMac = 5e60278f98b3135c\r\nResult = F (1 - Message changed)\r\n\r\nCount = 257\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 8\r\nKey = 520fe80cc4a3a5ad9c31f7010504923b7a7fd88292a64f98\r\nMsg = 2e1e0712ce74a1ad02079aeb0ce35edacc33f9a5d907cf70d0548d84ec3c\r\nMac = daf839ef84f1c81d\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 258\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 8\r\nKey = da4775b8f7d654bc4cf2eb75ecf4831411bbc9a960ea2df0\r\nMsg = bfaccce3a9e66f45e454090ffedc348306dc2807951ce0bf100178612703\r\nMac = 3e2eb7f029e687be\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 259\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 8\r\nKey = 15e3b3c5794fececd703ac58ccb22a78e15bbd55c579416b\r\nMsg = c6c3457ffcb6e66c085ecb69492deaa704e25aeeabb7b7795fdcc807b325\r\nMac = afd75cdc02222e65\r\nResult = P\r\n\r\nCount = 260\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 10\r\nKey = e0f2cdfb64bda8f02ab90620fc5a1943c4b536a99f3f8820\r\nMsg = fd0365ff6061e5f55c0e382f5861aad99c135f9511f33ace4bdcfe48c6e4\r\nMac = a1046d4b29fc50ed94a4\r\nResult = F (1 - Message changed)\r\n\r\nCount = 261\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 10\r\nKey = c7aafe7d3b419fa4ea06143897054846ac4b25e4744b62ba\r\nMsg = f1baf3be69f69611fcd47256e43830a1b3fd8bd3952eb26ed679eda7a4e0\r\nMac = dbc419e1ddd5cfdc63a7\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 262\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 10\r\nKey = 58c219f2bc8ef2ed7a82cf70e4af4747e36a30809a5a6222\r\nMsg = 622642aa69b3efe14abe0a1d2ba20f3f76efddf62e6cafe2845c4dfaa501\r\nMac = 4e496c3d2d84d11923c2\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 263\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 10\r\nKey = abccee975feb10f635d548a8502f7c8b6adbd2be74117257\r\nMsg = 4f37a460d180a12789779fc335326c983ad6b18295b47f1715b82b2dc704\r\nMac = 41b234e0173770c469b9\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 264\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 10\r\nKey = 0218eb619dbbde2e846218339aee4383792856496eb3b85c\r\nMsg = 28d3510a37d5f8481e7f22941c1fb1d6c70686fbad9747a23c9d5f18dfe2\r\nMac = 3cede44c942387d91767\r\nResult = P\r\n\r\nCount = 265\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 10\r\nKey = 88b2514f368d51db283039efcde1891652a77daf68feec43\r\nMsg = 067a3a0434e92cac02710221fbb6dfcb7ef0264e2994905491317c8c3697\r\nMac = 128e652ce0a8f1a6194d\r\nResult = F (1 - Message changed)\r\n\r\nCount = 266\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 10\r\nKey = f2a78c449621278e9e927fcd50742d042d98d5142380fd3d\r\nMsg = df899dd6b99cc28d66604ca92431fa7f442a4927d03b392e707b548b8ebf\r\nMac = 2eca3c42b5e5d0f3b9e4\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 267\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 10\r\nKey = 01fbfbde7dfdd6f0a0c5244cf6c36eece4d6dedd8baa463b\r\nMsg = 485ef613bdab5473763bb269a0d8c7a4bf4850bba072a96f8fc39a31cbd0\r\nMac = 333eb331d6a0d46fa279\r\nResult = P\r\n\r\nCount = 268\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 10\r\nKey = 6ce99c231d2ef0fd48c2375dca93f8bb0df97d4a44e835cf\r\nMsg = 32d71e59634126ac6c6156a80a0dfa0175b29e9f40a3169680b1c15830fc\r\nMac = 3e90350e115c425ba466\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 269\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 10\r\nKey = f7a93aab5707ca3d2362c5669198e0218493acc3cb7b02d3\r\nMsg = aeec40ca8964fd6a67d3dc871ebf1bfb72f52907f1d6ad441bf2cadcc6d8\r\nMac = 7381d65aa138c86713b5\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 270\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 10\r\nKey = 84f39f5207afcfd677a7544579f2b888a1eabdee4e835924\r\nMsg = b8d21e9c70bf63f04be311d50f84aad7e1bd2b0e517434ab978d68d01c5d\r\nMac = 4ab61c537f8b15f824cd\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 271\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 10\r\nKey = d488bdda400932de56a9f105f0e74ee79c2ed869faaadc31\r\nMsg = e64949ed85de6359595f286e29014c26daa7759aee56e4194ee958774606\r\nMac = 2752bc490802b9dd8686\r\nResult = F (1 - Message changed)\r\n\r\nCount = 272\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 10\r\nKey = 76ddfb075fce4be8854185c6899a88d06e24854506b31237\r\nMsg = 9d86ae7d70e839078babf7fd60480a4351690867c6a8af837d9ad465220c\r\nMac = 2522efecaa1ba11c0260\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 273\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 10\r\nKey = 618041501dfcfdd2b60d71c04d635f6357ad8b0643af77aa\r\nMsg = e5e6b57e74ce7afbde3697e2a69d61ca615aa3dfd32fe31f5521e6ca7987\r\nMac = d958753757a11eacc848\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 274\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 10\r\nKey = dff6b9493de80447ee18ea7311fc9b8d74f77ac1ab21ce84\r\nMsg = d70aef3532bdc5293a3ebb11589ac1f801c9f93ea0d656e1d04068facf9f\r\nMac = 9a761e0e54767e414cf2\r\nResult = P\r\n\r\nCount = 275\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 10\r\nKey = d7780ba2dc5cc584472b64bc9f6246bedb27c70aca22c0a3\r\nMsg = 14691c1b47ff1547c1d2151913c2d1862d8f54782291ea202caa3d8ef07a\r\nMac = 78a2bf3a5fc87a14e090\r\nResult = P\r\n\r\nCount = 276\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 10\r\nKey = 3bc5dba883e2e3b81df06760cc32f11009cf5a5503cbe864\r\nMsg = 9d043e368b41acb5eebb99197e15adbc3d19175a0bfcc97275e3e5efcfa5\r\nMac = f457293acf683c873add\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 277\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 10\r\nKey = 7b3fba25c5ef410ecec62276b105ecc01c325dc2530e8364\r\nMsg = fda4bede287c57eea4448af5e99d41c7d307d1f202af7f387f874342a29c\r\nMac = 0cfb78ede5f4c185c33b\r\nResult = F (1 - Message changed)\r\n\r\nCount = 278\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 10\r\nKey = 38efdbbc5645f65414b9cb81d2f9e4f190cf6e6e05eaedbe\r\nMsg = 50422c5e6a0fb8231b3bb6e2f89607019be6ad92a4dae8e0fe3f9e486476\r\nMac = 0c1acd8e8527e2663486\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 279\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 10\r\nKey = 94ea5b0aa6c8b07e379122006042c920077bd61610df6b4b\r\nMsg = 1d52f401f01058356d8c4c630f64c5322caa6063d6365ebf0040ec4ee12e\r\nMac = 2dec0d3bca617209b07a\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 280\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 15\r\nKey = 5584994f80640233ac8eb4d2f873e8c997499095250b48b3\r\nMsg = 91febca4f1ae7e27501400c44ce8681ec90f5a5637c962db142c9284b1d1\r\nMac = f0b3135c1748e823aed10c4694fc60\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 281\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 15\r\nKey = 57e99653fdcab10135a2ee3bf45c1be69e9ed57bd74dfbad\r\nMsg = 51c88fd98a7d82043a1500fc3d8a66ba7ab7760467c7fd89cfeeb22dd257\r\nMac = c588ee1d4f330e51872065c02cae61\r\nResult = F (1 - Message changed)\r\n\r\nCount = 282\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 15\r\nKey = f622d736124641bb7d53706bf2a69db2fc31461fb92818be\r\nMsg = f09569906", "381138cc49e3fc2384c5d33c34abd3d617c487b52ec6ee7b510\r\nMac = 610e1c1f9ab35059580061b8662a81\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 283\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 15\r\nKey = 9662baae49c26e5452f3304ceed3b78326d2020a99a63f69\r\nMsg = 1d93aca4e2e31f5ebb84fad580fe74f5b6d1d86ab30cd0c8031be4090be1\r\nMac = 3c5a4eb51ec58ef3468bb00e7cae8c\r\nResult = P\r\n\r\nCount = 284\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 15\r\nKey = f2100615431349aba5c4f5a7f358fe7be579f4cb9e8f33d2\r\nMsg = aaf26bff7ad4116969c15d9206de6c737b7dda87619e3575d9b6b2efd8b0\r\nMac = 7396deeb4316fc6d84d3af119656f3\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 285\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 15\r\nKey = a5993acbea8c55d7eb55d60596f83e1d9f2cf636d06240da\r\nMsg = 0bc1fede6a6ed9e1deda82612fbaa6e60f0b2461fd5d131e6a7206f41a07\r\nMac = 2f6b0a9f2a972d299bfa5892f8ea83\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 286\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 15\r\nKey = 775846f9dbf36415640276642cccf87e3dbdf6519c5b2db8\r\nMsg = 4fc989f327e1a1cc7b8af618ee6ae6d25f78e2b76b681455336945655f13\r\nMac = 8b3cf3171912096763a2ebe5ea9e41\r\nResult = P\r\n\r\nCount = 287\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 15\r\nKey = b214b16bbac27ccc9773d3c8dd31275da4876c039740ca8d\r\nMsg = 7786a3e30acffd6dde375bd859dd6be2c9221b979d0c66d1d5ed6e00b73f\r\nMac = 1a73acbf4e9250610b74c727b9c42c\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 288\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 15\r\nKey = 032b4cfce8a1acd89de5f6f78794e2813bbcdb89959dafec\r\nMsg = 3f0bf0141dd3ace0fabeace61811eac5ec801deb7ffe3b0514d43db90bf0\r\nMac = c24066cbc00cb5c28e48141b627411\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 289\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 15\r\nKey = a053255875ed4b5193bd9c5fa4172a1f660ecfd2a394c2a5\r\nMsg = 14666eb960c6b4f8b6ccc49f79a039b12c02e0972c300f1e9d0a38c0a474\r\nMac = abce3abc224772a43c058016bf25bc\r\nResult = F (1 - Message changed)\r\n\r\nCount = 290\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 15\r\nKey = 0ee87b40abaa99f598fba22c3e677a85ca3ec95c3a51aca8\r\nMsg = 1bff19aacb9c7d0a44a15ce686a2469e3934d086365d36f449484498353d\r\nMac = 4d565c2e12901845e77ed8b02746ca\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 291\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 15\r\nKey = 3384f8563cfd0fc8019bacc9b691c9ba4ae6dc8cf4c00629\r\nMsg = d31e959cf7842db351db407266ddae0b36e37f34270576724083e9989764\r\nMac = 96d0dbf51d96b532321da593383964\r\nResult = P\r\n\r\nCount = 292\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 15\r\nKey = 375904fb9fcafb7f19877b145b0284cef61ac7a3d88f537c\r\nMsg = 441bd4db5e80c7db1b575a19b7bad021a719658a2c818566291d3cdd32fd\r\nMac = 3b8dac029f6658e44e5f5bb8f8ee40\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 293\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 15\r\nKey = 3c1ca347a7d3d8db8f704410c493d7a65718cb7bffec2dff\r\nMsg = 555fd02fad4f44484133f9472c050f9da27390fa2a3e48cb0be0d7020171\r\nMac = 32be39d874c15a0fffc7111f76bbc4\r\nResult = F (1 - Message changed)\r\n\r\nCount = 294\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 15\r\nKey = 8bed296a3ac03fbfb71422b9211799150b9d766a8116bebd\r\nMsg = 6df3de543cdb6d1adb6ca7df6b5a4510fc8379a4f2c87497ad1c2b9a69da\r\nMac = f24ff3218e7905d81c3e99c84bfd26\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 295\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 15\r\nKey = 9530bb291d38f6bed10318081dde8fd178f02eb0e8b7d022\r\nMsg = 5f48624302d1acf7750994d45f0999ecd89a3861cd0268d5a51e672124b1\r\nMac = 0afed54c577e550eba7ac94a2d82d8\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 296\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 15\r\nKey = f5400b86ace6e3da5f090befb96fc05d0409bf41fc77b4e0\r\nMsg = 1c79b055fded54af5ad2f3253f93a090ec003863d9458d3ff718c4c13937\r\nMac = 59f94d4b13539a5f0a8672e4599bad\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 297\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 15\r\nKey = c033e4a512297caecdbead892b11a9f7007af9a74bcab89e\r\nMsg = 3ce965d58856663d54269af4791ec57ef98227ea387d525769c23ab74674\r\nMac = 0dc19e37a255dabb61957f7f89ab06\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 298\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 15\r\nKey = 2459f951d1255d093b72144b83b05ea3185d5123d1ca864d\r\nMsg = 661c6ff41af91a6d828a4d5d507f8a9130abe91412070950c5fa4c75c8d7\r\nMac = ac8e75b4465a52b3a7da3746f9875a\r\nResult = F (1 - Message changed)\r\n\r\nCount = 299\r\nKlen = 24 \r\nMlen = 30\r\nTlen = 15\r\nKey = 3b63415210361822e23cccf0faae88cd7642f44cec45fe37\r\nMsg = d7f78e950d2ab520a6f1e82ec6f206b2e8c71131c85234bd80500527f131\r\nMac = 15e59760acd3dd74155d6d3739c189\r\nResult = P\r\n", }; -static const size_t kLen34 = 61387; +static const size_t kLen35 = 61387; -static const char *kData34[] = { +static const char *kData35[] = { "# CAVS 11.0\r\n# CMACVer information \r\n# Algorithms tested:Alg = AES KeySize = 256 Mode = Verify \r\n# Generated on Tue Mar 15 08:40:45 2011\r\n\r\n\r\nCount = 0\r\nKlen = 32 \r\nMlen = 0\r\nTlen = 4\r\nKey = 45b74171271e1fdc19f9beadda58010d843af69dc2f4ad003dd74b9b570d5a98\r\nMsg = 00\r\nMac = dc0ee796\r\nResult = P\r\n\r\nCount = 1\r\nKlen = 32 \r\nMlen = 0\r\nTlen = 4\r\nKey = 2cb4239fffd13762fb5391f5a4760d12d96ea12666a793b4d651e9f4891c22c1\r\nMsg = 00\r\nMac = 2e19d6cf\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 2\r\nKlen = 32 \r\nMlen = 0\r\nTlen = 4\r\nKey = d88586da8b605a6fd5a45d316b89fea15e27ff4d92238397718e68b8e00ad605\r\nMsg = 00\r\nMac = 8ad78885\r\nResult = F (1 - MAC changed - for 0-len msg)\r\n\r\nCount = 3\r\nKlen = 32 \r\nMlen = 0\r\nTlen = 4\r\nKey = 136ffda3359fee8c81e6dac131256f4bffc0d3c3e74f8aaf2f979a0fa5b8ed32\r\nMsg = 00\r\nMac = e430d0da\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 4\r\nKlen = 32 \r\nMlen = 0\r\nTlen = 4\r\nKey = e1a7867476bee9928b7237ab7a3d502fbe3d2d45b6e4c41aa9f12b79099f019d\r\nMsg = 00\r\nMac = b6f00f90\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 5\r\nKlen = 32 \r\nMlen = 0\r\nTlen = 4\r\nKey = 5b4d945d55dea22e37821ec396476a4bfb617d2f392ad93afe67bcfda9cd9b72\r\nMsg = 00\r\nMac = 5076ef43\r\nResult = P\r\n\r\nCount = 6\r\nKlen = 32 \r\nMlen = 0\r\nTlen = 4\r\nKey = 23df62a79fd5866425427d0ccabf05b16590e8452ee22e028b51910926ad314a\r\nMsg = 00\r\nMac = 7bd29398\r\nResult = F (1 - MAC changed - for 0-len msg)\r\n\r\nCount = 7\r\nKlen = 32 \r\nMlen = 0\r\nTlen = 4\r\nKey = ce9da814595f76a7e52a1222c7c9a6579b3cc2e393ba51580ff6cc9b6ea2ad8a\r\nMsg = 00\r\nMac = ce872fd7\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 8\r\nKlen = 32 \r\nMlen = 0\r\nTlen = 4\r\nKey = 507c4f32246d637fe08e454c638b014438109e1fca31f724d40ac6ec1aa20268\r\nMsg = 00\r\nMac = 282a7ec2\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 9\r\nKlen = 32 \r\nMlen = 0\r\nTlen = 4\r\nKey = 537dfe9fc000468dde29800549b1cfaae67ad89d22c8264d7eadcd914ac54ef4\r\nMsg = 00\r\nMac = 7936b7d5\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 10\r\nKlen = 32 \r\nMlen = 0\r\nTlen = 4\r\nKey = 1f57959cecbd377374477e33b34979814f260f77867392ed645998f73a3b06ae\r\nMsg = 00\r\nMac = b4b63264\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 11\r\nKlen = 32 \r\nMlen = 0\r\nTlen = 4\r\nKey = 3d272b4a1a1031369aff514e2df98d580f972b5abeacc05cb1288e6e473c0fed\r\nMsg = 00\r\nMac = 18b35edb\r\nResult = P\r\n\r\nCount = 12\r\nKlen = 32 \r\nMlen = 0\r\nTlen = 4\r\nKey = 8774d1acf96362215a3d1e51e1a52a980685dec4f3afd2d438c03c00c04a79f9\r\nMsg = 00\r\nMac = 80eb7a84\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 13\r\nKlen = 32 \r\nMlen = 0\r\nTlen = 4\r\nKey = f37155beb5eed8899d9ed4b5fa21b60b40af289f090a355d5bb1aee52957cd99\r\nMsg = 00\r\nMac = 6827f73d\r\nResult = F (1 - MAC changed - for 0-len msg)\r\n\r\nCount = 14\r\nKlen = 32 \r\nMlen = 0\r\nTlen = 4\r\nKey = fcb52c44379ae8083bdc7b827383df93cb1a7ecc21574730f9fe003b7302de23\r\nMsg = 00\r\nMac = ccad16d9\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 15\r\nKlen = 32 \r\nMlen = 0\r\nTlen = 4\r\nKey = 83e231ecf8913ebce00e62b8f00c1abbaad710142fdb912c54664169f7af0e51\r\nMsg = 00\r\nMac = 8e393f56\r\nResult = P\r\n\r\nCount = 16\r\nKlen = 32 \r\nMlen = 0\r\nTlen = 4\r\nKey = 7d35e77450e2adf8805d5ad67de5835b2c5dccafe8440865c7e7a1501ed53a98\r\nMsg = 00\r\nMac = c6899710\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 17\r\nKlen = 32 \r\nMlen = 0\r\nTlen = 4\r\nKey = 87143071241bb65261fe7afcc102416e59b9e46ee0c9007308f0eec10e45f6d6\r\nMsg = 00\r\nMac = a1a4449e\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 18\r\nKlen = 32 \r\nMlen = 0\r\nTlen = 4\r\nKey = d30d2d1670553c71ff0264ab861574dd03a103d954226d1b540f18fc47b3fc29\r\nMsg = 00\r\nMac = 217ac763\r\nResult = F (1 - MAC changed - for 0-len msg)\r\n\r\nCount = 19\r\nKlen = 32 \r\nMlen = 0\r\nTlen = 4\r\nKey = d6983226b2c3a431abcceb77c8ec6b9bae80199115b28c5d7c56561e1b12944c\r\nMsg = 00\r\nMac = 26c717ce\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 20\r\nKlen = 32 \r\nMlen = 0\r\nTlen = 8\r\nKey = 0cf53b4aae3e0a209e58385dd32d9cc6163265241332c332af4de4b99b4022fa\r\nMsg = 00\r\nMac = 1bfd19f6e1070186\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 21\r\nKlen = 32 \r\nMlen = 0\r\nTlen = 8\r\nKey = 5f988f38410d26d293ef32d74eaa81acca82545e767ab59dcc750a09849cebad\r\nMsg = 00\r\nMac = 7e52911c0d7987a2\r\nResult = P\r\n\r\nCount = 22\r\nKlen = 32 \r\nMlen = 0\r\nTlen = 8\r\nKey = d8fd6e1dfcca8f656705aed7e356a576baf8907c8d10d54c833d62a8a6703624\r\nMsg = 00\r\nMac = 31b478b4b4adaae0\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 23\r\nKlen = 32 \r\nMlen = 0\r\nTlen = 8\r\nKey = 49fd56dec210e903f6c703332637f9c267eab9333e2701a16c74ce5e0b5a16d9\r\nMsg = 00\r\nMac = c8be2b36c93684f3\r\nResult = F (1 - MAC changed - for 0-len msg)\r\n\r\nCount = 24\r\nKlen = 32 \r\nMlen = 0\r\nTlen = 8\r\nKey = fa282e1f3276a3e0c769f2ba25ce830591e860300cc03ab57abdb14c0374d060\r\nMsg = 00\r\nMac = 27b8111c3d9f14f1\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 25\r\nKlen = 32 \r\nMlen = 0\r\nTlen = 8\r\nKey = 1c6942e914218135496e0d7910abe67b9f7f29bb09029bb37021865d7543c4f6\r\nMsg = 00\r\nMac = 466b7077bec98b7b\r\nResult = P\r\n\r\nCount = 26\r\nKlen = 32 \r\nMlen = 0\r\nTlen = 8\r\nKey = 08f199a8d7e3ea821dd3106e8947cd2e9d485342b25a64713db2b8a650a49ffd\r\nMsg = 00\r\nMac = 796deae0d06b1bf4\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 27\r\nKlen = 32 \r\nMlen = 0\r\nTlen = 8\r\nKey = febacddf3448c7464297ae53166793e2ed962de0d0947c5e5e17abe3cc103b07\r\nMsg = 00\r\nMac = 5e2d21aa3351a2a0\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 28\r\nKlen = 32 \r\nMlen = 0\r\nTlen = 8\r\nKey = 59b9fb83b6a85f017bde6c0ff3ced955b9f343cc71b680c6b591302f52759412\r\nMsg = 00\r\nMac = 3e5428eca10808b6\r\nResult = F (1 - MAC changed - for 0-len msg)\r\n\r\nCount = 29\r\nKlen = 32 \r\nMlen = 0\r\nTlen = 8\r\nKey = f07e6655424125462a96390e02bfee9d89cb271bd9bbf22a9de45f6b7e949343\r\nMsg = 00\r\nMac = eed5aed01096226b\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 30\r\nKlen = 32 \r\nMlen = 0\r\nTlen = 8\r\nKey = a04f84bd79406c138d02698f003276d0449120bef4578d78fecabe8e070e1171\r\nMsg = 00\r\nMac = 18553226e5f9788a\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 31\r\nKlen = 32 \r\nMlen = 0\r\nTlen = 8\r\nKey = 1673a52494e9af02472c1777232aa3813c7c162593eca7112f34b3807009af5e\r\nMsg = 00\r\nMac = c5907fff58c68ee7\r\nResult = P\r\n\r\nCount = 32\r\nKlen = 32 \r\nMlen = 0\r\nTlen = 8\r\nKey = 1e4ffbed2d5a7bcda5e24a66048660629d57567f83307087a846db8246ff332a\r\nMsg = 00\r\nMac = 29599bc212927246\r\nResult = F (1 - MAC changed - for 0-len msg)\r\n\r\nCount = 33\r\nKlen = 32 \r\nMlen = 0\r\nTlen = 8\r\nKey = 8b80c24ab4a3c24ced82ca8c69924553a37a139bfa2541c59e15188ab0fa5a34\r\nMsg = 00\r\nMac = 299746d93b0b4881\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 34\r\nKlen = 32 \r\nMlen = 0\r\nTlen = 8\r\nKey = a00ebf59768f6437b48a91923f5effcf31c745b980f79f2edde9ed18dcf2ffa0\r\nMsg = 00\r\nMac = 61950ed83db6bf74\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 35\r\nKlen = 32 \r\nMlen = 0\r\nTlen = 8\r\nKey = 319d3f58fd7257901ff364fa68b86b1ba27c11962b2c5be8e33eb95548444322\r\nMsg = 00\r\nMac = 26793e8f8d5eb7c2\r\nResult = F (1 - MAC changed - for 0-len msg)\r\n\r\nCount = 36\r\nKlen = 32 \r\nMlen = 0\r\nTlen = 8\r\nKey = 015a9d1f2df2c31f14cfbdc0bd68725fe8113a024f2a43312d963207fd6f0d88\r\nMsg = 00\r\nMac = b19fc2680b8b82b7\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 37\r\nKlen = 32 \r\nMlen = 0\r\nTlen = 8\r\nKey = 003cff344c4e1932ac628440d819eaaafcc3ebe7c525cb7abb7a6716d2b76e05\r\nMsg = 00\r\nMac = 48a98dbf16257142\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 38\r\nKlen = 32 \r\nMlen = 0\r\nTlen = 8\r\nKey = 1a581f36e1816d346f7bcc6df78316aa353111e447fee6f0bd05d562f30626ab\r\nMsg = 00\r\nMac = 587155c18ebbf8b8\r\nResult = P\r\n\r\nCount = 39\r\nKlen = 32 \r\nMlen = 0\r\nTlen = 8\r\nKey = ebab54c4a22a16f7d9546bbf682b995a6ce944e949f1920eee058db95ab9c93f\r\nMsg = 00\r\nMac = 067927f063adfaac\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 40\r\nKlen = 32 \r\nMlen = 32\r\nTlen = 4\r\nKey = 58405ef8fb69e88221edc10a92c01cc44255aa7083096adb79bec3a8cec6d050\r\nMsg = b4aaf9ad1bde60a8d7e7cb16c1cf6b713df17d1507b028973068a95963a5ad5b\r\nMac = 42ffe65f\r\nResult = P\r\n\r\nCount = 41\r\nKlen = 32 \r\nMlen = 32\r\nTlen = 4\r\nKey = ca0f404e3389e9527135f53eb58bca7726266b8086d33fb512e8143daad7633a\r\nMsg = 8f2a6b2185f73372ccaeaa7f93d30d1ca80a451ee0e46ccbbaf98c8f3f37aaf1\r\nMac = f2b311b4\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 42\r\nKlen = 32 \r\nMlen = 32\r\nTlen = 4\r\nKey = 67b896b88f07962e08471634ab7e522144d716a2969bde55a05c3c931f747a8d\r\nMsg = 0218eb619dbbde2e846218339aee4383792856496eb3b85cc43fa81446fedc5d\r\nMac = 69db1949\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 43\r\nKlen = 32 \r\nMlen = 32\r\nTlen = 4\r\nKey = 422994df8766f7a6a7ebfa2ca57ed6189d9e9e8455c8715c14f3f407b75dff4a\r\nMsg =", " 12f0c45d06a138a964fb11b2d450620a2977bcd2952afe371cad6e3d48b009bc\r\nMac = fc5f1ccc\r\nResult = F (1 - Message changed)\r\n\r\nCount = 44\r\nKlen = 32 \r\nMlen = 32\r\nTlen = 4\r\nKey = 3291be3aecd2e06cd2ee61a14d723450043d450567cbb0bf88ba32972d86dca3\r\nMsg = 343d5a4ad39acf81adcf24e9807618932abcb3bc076734f179174c77c8cb89e9\r\nMac = 3593d615\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 45\r\nKlen = 32 \r\nMlen = 32\r\nTlen = 4\r\nKey = a1885ce431cedbb60f7b3d96a06cbc60a964df156ea4b4191abc5a9f60a0c361\r\nMsg = eedd0d767a25b24ee25fe747718256af51d7b4bfe900adc069381a71a2dc7aad\r\nMac = c558f768\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 46\r\nKlen = 32 \r\nMlen = 32\r\nTlen = 4\r\nKey = 039188ec58fa55acde53c337fcfd0013f0c6efa55c60ce470112159bcaada11e\r\nMsg = 009f47f180e085776be6644aeac0070be64c289f84a7ba3dece7cdc54f0db354\r\nMac = 20d3639b\r\nResult = P\r\n\r\nCount = 47\r\nKlen = 32 \r\nMlen = 32\r\nTlen = 4\r\nKey = f7d946f66e1cc4e5a79dfb5559cbea5a128545eac38e17ee7f3bac9a806faefa\r\nMsg = f250c49f9882f10db247adfdb2112c2589e1011f77c48e0f219dbf85e326f8a5\r\nMac = 90b4bfcb\r\nResult = F (1 - Message changed)\r\n\r\nCount = 48\r\nKlen = 32 \r\nMlen = 32\r\nTlen = 4\r\nKey = a61f586ddbbe0219187f8f446d4b172f5e9bf855d1d5d6592ad8e03eb4d555d6\r\nMsg = 71c8eb0079559a306e236c49b7ce1b6cfe26c7888733eb7ec07690831a72c0c5\r\nMac = 78ce0135\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 49\r\nKlen = 32 \r\nMlen = 32\r\nTlen = 4\r\nKey = 7774802fd82fe96c05431acd40b49b1160d403c0db09b10f23d0bd0435022edc\r\nMsg = e75b6ca1b87e775b33536979422a1cf743f58c71b1599adb00050972c843cdf2\r\nMac = d885703e\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 50\r\nKlen = 32 \r\nMlen = 32\r\nTlen = 4\r\nKey = c4261ebb87a76aaa82a00392ee2e2318f0b52d5f2724e374847ad9ea5c8929c1\r\nMsg = a41bb1f256228302cd0548ae2148ff42774d18c2d6d3e38b36bc4938da13bac3\r\nMac = 857d8909\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 51\r\nKlen = 32 \r\nMlen = 32\r\nTlen = 4\r\nKey = 6219c19233c1b91d7785fde3b65df3bd2e1d74331ba62e4d365947a77cd243c4\r\nMsg = 68f17b9f57734784144112c79bf360ee324d37f9a7718137d954b15e796fa9db\r\nMac = 0e85de57\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 52\r\nKlen = 32 \r\nMlen = 32\r\nTlen = 4\r\nKey = 7e8cae1374d3a21bf2dd3786754668f17aa63dd5e3654cff9dd18041806d1968\r\nMsg = 2d335be62ecfed45183f5a04014c1a52afb7b918b9cc1f2be93b15c6e5240537\r\nMac = b56ee72c\r\nResult = P\r\n\r\nCount = 53\r\nKlen = 32 \r\nMlen = 32\r\nTlen = 4\r\nKey = c2425ed20cd28fda67a2bcc0ab342a49d79d6b4eb196266cb0d116fc18895545\r\nMsg = b5f24c00cd15e377f444ae55e02b335379e7ae14e7c9bd05f0575d8981941553\r\nMac = 2e44c573\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 54\r\nKlen = 32 \r\nMlen = 32\r\nTlen = 4\r\nKey = 1f7871680bfa59a8a178604dc513b51a3d4c682cc4c421de594512e9dd062ad0\r\nMsg = fcb43224bf8989e1809d90481ba043328febaf4b6c1c05d18800ed98f4b71c52\r\nMac = bee03b92\r\nResult = F (1 - Message changed)\r\n\r\nCount = 55\r\nKlen = 32 \r\nMlen = 32\r\nTlen = 4\r\nKey = d8a27558d070214d3f765cf969b2b8f09c0b14ebc492cb2539072b04db9f29fc\r\nMsg = fc69a1f0d0ba8eca9e7c0570cec9c76b511c74b2d8b65928444189675eb42fbc\r\nMac = fab3b2f6\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 56\r\nKlen = 32 \r\nMlen = 32\r\nTlen = 4\r\nKey = 72354b455230b72a6dbfa5cf6c3726d7f8e65ca773f9d469e99d165743657b36\r\nMsg = aac60835c309d837aacc635931af95702a4784c214283ebbfb43c4e29973560b\r\nMac = 69519d9e\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 57\r\nKlen = 32 \r\nMlen = 32\r\nTlen = 4\r\nKey = ca92b095173076a40e24522297be27fd3a765c8d417f24c71a9f03b3fe3d8e20\r\nMsg = a96c4d5c89a364263c97a453308b9360bc0ed868602b9ff54fe13f162ad31ab2\r\nMac = c59a1a39\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 58\r\nKlen = 32 \r\nMlen = 32\r\nTlen = 4\r\nKey = aa56f98e03f559eea02ad958e125f2312ff97bc3310079ce437b383f247a9b3f\r\nMsg = 01bf2aa8dc66ca44d16d4567f1adddd4461f78706ff15cf68ad937eb57aa62d5\r\nMac = 31171cfc\r\nResult = P\r\n\r\nCount = 59\r\nKlen = 32 \r\nMlen = 32\r\nTlen = 4\r\nKey = a0e317b790870e6703e6077dfb8ea327c12e29a17107284cb89d5effddb2d9a1\r\nMsg = eb4ea6b72dfc6657e835bf82054796183330c02a8db3c5b179abe37fd0a05675\r\nMac = 05d54199\r\nResult = F (1 - Message changed)\r\n\r\nCount = 60\r\nKlen = 32 \r\nMlen = 32\r\nTlen = 8\r\nKey = e3de27949ff64066131c81bfee172b308f9bb0b31710678ec394837b79434605\r\nMsg = e41557341e8dae33568524f3f64b23426044c9db3526463ad16786af14f611b2\r\nMac = 975ad1d2fcff6a85\r\nResult = F (1 - Message changed)\r\n\r\nCount = 61\r\nKlen = 32 \r\nMlen = 32\r\nTlen = 8\r\nKey = 492dacdcb4a35fc438a6eaa35e26d2f683a1e85e92df28f213dfe1da6511161a\r\nMsg = 0515ad7b8576258645d37b7ac771745620e2e9e009cd778f34ed77a7dc5c30a6\r\nMac = 9f43dba2aad2f539\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 62\r\nKlen = 32 \r\nMlen = 32\r\nTlen = 8\r\nKey = d71c50d55850d432cd8c8ff4ea427b3f19cbe14c785a7704202fcbcead0de5a5\r\nMsg = 7ffbc4a09583029cbb0acb6b13f08a189033da22c2ecf921f01d79ac68a9397b\r\nMac = 5d00ffc5f8cf1ddd\r\nResult = P\r\n\r\nCount = 63\r\nKlen = 32 \r\nMlen = 32\r\nTlen = 8\r\nKey = 557eb2e709d58915a8bada6433f2e5660247e0cb1588ea84a9d24028090eb396\r\nMsg = 003132645e3026f6a2b9d0644c16e5e4d1bf8b53a51f0e1b999bd45a67d19341\r\nMac = 6f3d9f50d09476ef\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 64\r\nKlen = 32 \r\nMlen = 32\r\nTlen = 8\r\nKey = 351d779277148ab4474843cc798942cacbe863eb1c1c9338dc25e251c12fda68\r\nMsg = 34bcdd3d0469c01d0d95a85ca705d887385bfde20596a90b47d902db826dbc8d\r\nMac = 79ded259f93456bc\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 65\r\nKlen = 32 \r\nMlen = 32\r\nTlen = 8\r\nKey = e1c17ce3d3c61468a7652a95128bc0f6c33d9ccc46e7490327f15f645a94040c\r\nMsg = 97829c60ca9a71c23eaf1c4b4fbd72043037ef0cd356b68e0db0d4f0f50cc54d\r\nMac = a93f0d16499f63ec\r\nResult = F (1 - Message changed)\r\n\r\nCount = 66\r\nKlen = 32 \r\nMlen = 32\r\nTlen = 8\r\nKey = a9a86a4407b7ecebc89434baa65ef173e88bd2dad9899b717ca578867c2d916f\r\nMsg = 25a152850b4b80b19d8f0b504b2a8a241824b3a1fca8d85c8713b2c0c84b5e02\r\nMac = fe84ce3defe00f67\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 67\r\nKlen = 32 \r\nMlen = 32\r\nTlen = 8\r\nKey = ed14373671cd8041e00874b5d098ea225eaf9c68bb51cecbe8083149bdda062a\r\nMsg = 38106cdc72b1ddd0fe11f23819096dd7479e95ee9730940c28f51e28eca653ed\r\nMac = 470404ed731640a7\r\nResult = P\r\n\r\nCount = 68\r\nKlen = 32 \r\nMlen = 32\r\nTlen = 8\r\nKey = 009f47f180e085776be6644aeac0070be64c289f84a7ba3dece7cdc54f0db354\r\nMsg = 2eced43c084a86f89f61e7237425137c167aac29e4cac4071afafd3f0c9dee1a\r\nMac = f67d432e5b6fc5e4\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 69\r\nKlen = 32 \r\nMlen = 32\r\nTlen = 8\r\nKey = f250c49f9882f10db247adfdb2112c2589e1011f77c48e0f219dbf85e326f8a5\r\nMsg = ce61d6d8de1b299c9b063d1e1cb1faf7a616faa7c6673d7f9c0a1ebe7ae285fa\r\nMac = e1d950593abc14e4\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 70\r\nKlen = 32 \r\nMlen = 32\r\nTlen = 8\r\nKey = 001150b2dd572288b6fde466ec2c2a64c75a9d516b7096f7082bec9f52c20ad8\r\nMsg = 6dc38e37d1379732df4dd535db88d17aa59d7cf9e8d60ae695b4047b90d899f7\r\nMac = 2de6700fc1562ad3\r\nResult = P\r\n\r\nCount = 71\r\nKlen = 32 \r\nMlen = 32\r\nTlen = 8\r\nKey = 68e00d394855b6697da8213a120dc2213b3a8a1e88c9b93f5edef465a809974a\r\nMsg = d21aed2073e8ae9c0560f9dc1adb961d4f959fa12c0384a44c675192bea13477\r\nMac = 9594f10d5ce5e616\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 72\r\nKlen = 32 \r\nMlen = 32\r\nTlen = 8\r\nKey = be0f6052baf658a3607d999b81401edf7e2afac2b143e1b908c8ea0ff38193d9\r\nMsg = e502f0b4710bfe517e783c4bbb85055c8471b04e12dd6776f276367fb5d36369\r\nMac = d409a879dccca77d\r\nResult = F (1 - Message changed)\r\n\r\nCount = 73\r\nKlen = 32 \r\nMlen = 32\r\nTlen = 8\r\nKey = 7147b3c5ffb2660c45cd8d78a6fd44bdd5ba75349642b32ec88f6688a287297f\r\nMsg = cebe84df789c98dd125bf43cd993e2f089611b98d10be04904e2468d116dd2ab\r\nMac = 21cfc1e6c1c38df8\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 74\r\nKlen = 32 \r\nMlen = 32\r\nTlen = 8\r\nKey = 205e751926038ef940c6599d84a9e1b4737bc826e9fcde544d43f2a10b5de931\r\nMsg = 86ffd5bd3bd1cae10706a61d247b2257b165f37cb53ff21761077a2295a9111b\r\nMac = 73d66ea826b84fc0\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 75\r\nKlen = 32 \r\nMlen = 32\r\nTlen = 8\r\nKey = 8c8a502eafcfbb813dd1ea907b1660a41fcaa3f905aa93c22320f96ebfaf632a\r\nMsg = 626aed82974ef29a1ba0a6c6fefcbf34ca982e6214835183502f6a24ea2e500f\r\nMac = ca3d007ecd99be83\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 76\r\nKlen = 32 \r\nMlen = 32\r\nTlen = 8\r\nKey = 596db502a357e102566291b916b32b8a09e99d3739f5e6543a2cd8fb0c9a1cc2\r\nMsg = 22bade59214fa4b933cb5e3dc5f096e239af4c2f44f582b095c7fea6b8914bfd\r\nMac = ff4ec21d89d4762c\r\nResult = P\r\n\r\nCount = 77\r\nKlen = 32 \r\nMlen = 32\r\nTlen = 8\r\nKey = f51f2fb4b3fd8045b70d34b600a2697cbf7503be0d8cfb5cdc60f9312e3e269", "5\r\nMsg = 4d43702be4f0530319555d7f1a3356160f6cae48051f12e22a153d7e405c1149\r\nMac = 3d615ee77043d8b4\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 78\r\nKlen = 32 \r\nMlen = 32\r\nTlen = 8\r\nKey = 80a4b14f951490618ce53d39abd3d786b425d4f76b26a25052d98ebdb7e9e666\r\nMsg = 0b2a77b0175ffafee40cf83bd19e785dc7ec4319786c49b3e7a741142aea901d\r\nMac = aedcaa2e26d2f5a7\r\nResult = F (1 - Message changed)\r\n\r\nCount = 79\r\nKlen = 32 \r\nMlen = 32\r\nTlen = 8\r\nKey = 39fb57fadff7cd9e1cfdba154422b71d693d08807d86da46ba63c929417ea549\r\nMsg = 567c7400f190d06e682b3dac5f751639a9007362b1a2a8b618800fbb9f6c08df\r\nMac = e29461fe8c6b3767\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 80\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 4\r\nKey = 535ed61510eb268100be032b7a258e84bdb32448269d3000a76444ca74b4695c\r\nMsg = f7f28df82f910badc5f4b3860af28cbb6a1c7af3fafa6dae5398d8e0a14165def78be77ee6948f7a4d8a64167271ed0352203082368de1cd874bd3b2e351b281\r\nMac = 4a0fd541\r\nResult = F (1 - Message changed)\r\n\r\nCount = 81\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 4\r\nKey = 713fd349c56d1086794eb20ed59ddc89b065bb8533b968c6dfa60bddd16646fd\r\nMsg = 4f3b91aeaaabfc7d4dd6821549d4eee2ea17f59aa196c67b422be2d46f3a2ec65494464c969b157985a6a30199a72dfb1c0b7be524e16ee9c43fd95e83e19192\r\nMac = bd4eab1e\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 82\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 4\r\nKey = 1f89d9ee93294aeaf3503d15a6dbef48708de48897a72b3545b9e3852eb7fe31\r\nMsg = ea0608b19f47676f0f342cc2742e003a6a74fa2850f41e0cf162235163887a3830dd8b13b45842b3c686ca239bdb9897e646ac9f440713a0d8c5b18532db3db2\r\nMac = 8bddd404\r\nResult = P\r\n\r\nCount = 83\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 4\r\nKey = 2b50dbe8a5ed0c7cb69aa60a38d10cfa4553c73d58c0ce84b26504b0fd55038a\r\nMsg = 2586563b0102f662b5a8f9bfb0c1d107a4c27569d27bc066889213e3e830427ceafaae1ca543aecaca7f34c671fbadd518cc28d9e806bba43b2e220e5cf1aa45\r\nMac = 987514d4\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 84\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 4\r\nKey = 29a7ed3aa55c7eb7e5bf343ca0efbf8b2062ce67b086255551a8efa0ae16569f\r\nMsg = 2e6f2d21aa133a5061622f08ac64c6b3a3dc8154862033055c27c3a3d9e42dc885d2c9f91bd1d0212f301c3e140b2f5bfdd777be623bd162a6214ba8f60e2e49\r\nMac = 1bf45457\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 85\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 4\r\nKey = a16a2e741f1cd9717285b6d882c1fc53655e9773761ad697a7ee6410184c7982\r\nMsg = 65916ae3d88ab2add5c0c6910ea993d385cbd35c5077ea0d9db30e53f378abfcbb1e0649fe14204470d4dd53ae16650ec444cb4ef22fed86b0009b57ef71fb5e\r\nMac = 578f80b2\r\nResult = F (1 - Message changed)\r\n\r\nCount = 86\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 4\r\nKey = 47e49e5b57fbb834932fa32107697471119f1be3c3a6e71a8c474d4b1596e539\r\nMsg = b3cec7ad75e2bf6c87029a67365aa83cf797ae2f4d42e720ed4c48ba21ea08ee6aa3609f69a6909fff6222dbb45172d255146e4ce1c59b48a7895936a8646766\r\nMac = e6e64597\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 87\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 4\r\nKey = f0b0aaacc25a791c236aed0e9b537fad00a15efa9c89b5068ac52c64639fb1de\r\nMsg = 9a5a9560baed3b8e0e90b92655d4e5f33889e5d7253d9f6c5aff71ea4069224cfbdd19ae3f0ecdfa65c27dc3bed721712784a09fdde243c193ab6a0ac2417e8d\r\nMac = 990bb31e\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 88\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 4\r\nKey = 14db1ffc1c87117fc72981706c0f90404acc98aabe950839baeb6f0b727bd6d4\r\nMsg = 3d736aeca5720f5c7bbb16df61f6d785facfa070aaa89c2d9e8af9450d62490ebd6a29c7c8e521e4a00fcca7515439f006c09056cfb7f976a1e6b98b9f799e40\r\nMac = a6786e52\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 89\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 4\r\nKey = c6f0a3692c9280c48393b0dd763e5d0b90477f34ad69f192ae4dcab771aeeacf\r\nMsg = 8439ff717e1e15161119494d368d7f3812601588265bbefbc6d48e22cc8a51688dd021500cee38fe6ec402f9aeb0762f92b2a73adece96e1c7b24be2aa9924ef\r\nMac = 70126cfa\r\nResult = P\r\n\r\nCount = 90\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 4\r\nKey = 75225a26d63e91281fb37ace46354f81de99dedfde8b770ea47f08503aea87d8\r\nMsg = d729d8cd1631aacfe485b1f408a4fb60256e7a8ed6e5b53afc34be7e57f1643b549fa9ba2677779318688ece225cc149babd6259ec37fbb4adc03e8f6dd63f03\r\nMac = 5112f762\r\nResult = P\r\n\r\nCount = 91\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 4\r\nKey = ab72eef2aba30205c986e2052d6e2c67881d24ae5fceaa8fa77969539152527e\r\nMsg = 5251a0aadbc92b76705eb053d09b25b5ad38eebabfe1980d143ac90aa81f7723353059824c8d9befa5ded6f5b4973f407c7a1f4aa85d8337d82d34fd3933e9c7\r\nMac = 52f7a014\r\nResult = F (1 - Message changed)\r\n\r\nCount = 92\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 4\r\nKey = 6906d6533fbc33f56e38e6a639798005daa228ebd2fc8f93803d26fef30b8e95\r\nMsg = 6341370e126097f9721a13c977eb4875cf1286e15c3adfa4e7597e0e13d93b6a8ff66c809067fd5e7f40c358ee170d4ed1657c2deb3015b886e79589678e0452\r\nMac = 1b6a021e\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 93\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 4\r\nKey = cd9072aeffebbdfcce95b569c34158d0e130ef24dc99e3f98a4dd246949be269\r\nMsg = f882339f93ff114bfead78044aab1c7fe109dbf1bb2d968ad476403fdd2034cd3168ccfb0cf02f1ff7646ae3875ec349478749edf300b08be7005cc0d6bebc15\r\nMac = d16bcdc7\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 94\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 4\r\nKey = 3005c0100dff59e5e4b0e3b95abbbc79749dc49ba29a79b1fcf7613ecb6aa9c8\r\nMsg = 4c2c670f3ac1c4e33a8d43063c8983e20f1ce6a73299fef1e70a42a5882c061b1ebaaa8330ee1181d946541b1d84b8d57df8de1ac9013ade36d2c682b172f8f8\r\nMac = e5689100\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 95\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 4\r\nKey = f32eefb301356fb1cad6dfa94864542b5f8cd8e98438bdbfbbb431f0c10f12b3\r\nMsg = dae6db62842a8a25123e50041b701ad17e2f63a0496443c3d905a9f943e6e4e2f3d369b693ddd0372ff11fe496af4b700378fc72fcc9915e7bc864b44c1d4f77\r\nMac = 280624c3\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 96\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 4\r\nKey = b0212ca369c611b725eccc3daa58df412787a3475f418d820971af46773382c0\r\nMsg = 13ca022396285bf7b82a600b560208c54ee14f8496bce684895029027e6451a09f4eeb0af9b889dacfa4b7b934ae30c7d991523e23edd0528048a75bfc525335\r\nMac = 8e9759db\r\nResult = F (1 - Message changed)\r\n\r\nCount = 97\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 4\r\nKey = 57a9d1ea216c69c6e360221f8c858a9d356598a8b253e2cf67f1116b5df5927f\r\nMsg = 77772e91be674abb0f496b47dbd632e5616177a0d16a8c11b271c2d381082f379b2cae385dd526b189cc10cdebbd33bf3d8db2b449ed49064d30d4b3a359110d\r\nMac = 41022947\r\nResult = P\r\n\r\nCount = 98\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 4\r\nKey = 749f2fb720d321757473afc5d3a377a0eaacb425e5591026e3a1bae6a785b921\r\nMsg = 2e4f5149d67c955c409b63b04d95538808da6202e69a50ed4d3846da52fcbc76c7089a17758d9d94a63efd5ae7054dbc0bf5a28b7381f7e78debd0549bff1e11\r\nMac = 67b34b0a\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 99\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 4\r\nKey = f8ebad761b9e73c77faae3fd9390093fef595e77e6d7f6b35e2dfccbde925c44\r\nMsg = 18430f34d5b5fddbd228a910cab9c48e1ba2b5f57819eacbde756cc0c993b736a778c8008d37776a2915077af8ecfc76b8cd2ca621e9195bd0b27e31843d2890\r\nMac = 7a446398\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 100\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 8\r\nKey = 5bb9fb83b6a85f017bde6c0ff3ced955b9f343cc71b680c6b591302f52759412\r\nMsg = ee7e6655424125462a96390e02bfee9d89cb271bd9bbf22a9de45f6b7e949343def818dfc93d777528f609cd38be0a013b1eef816eb1f9593a850bb7aec5b9a7\r\nMac = 5e1fa5b9c9dcd90e\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 101\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 8\r\nKey = 57a9d1ea216c69c6e360221f8c858a9d356598a8b253e2cf67f1116b5df5927f\r\nMsg = 77772e91be674abb0f496b47dbd632e5616177a0d16a8c11b271c2d381082f379b2cae385dd526b189cc10cdebbd33bf3d8db2b449ed49064d30d4b3a359110d\r\nMac = 430229471a1cf1b5\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 102\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 8\r\nKey = 749f2fb720d321757473afc5d3a377a0eaacb425e5591026e3a1bae6a785b921\r\nMsg = 304f5149d67c955c409b63b04d95538808da6202e69a50ed4d3846da52fcbc76c7089a17758d9d94a63efd5ae7054dbc0bf5a28b7381f7e78debd0549bff1e11\r\nMac = 65b34b0ace2fc6bc\r\nResult = F (1 - Message changed)\r\n\r\nCount = 103\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 8\r\nKey = f8ebad761b9e73c77faae3fd9390093fef595e77e6d7f6b35e2dfccbde925c44\r\nMsg = 18430f34d5b5fddbd228a910cab9c48e1ba2b5f57819eacbde756cc0c993b736a778c8008d37776a2915077af8ecfc76b8cd2ca621e9195bd0b27e31843d2890\r\nMac = 7a446398a5c59ec6\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 104\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 8\r\nKey = b228c753292acd5df351000a591bf960d8555c3f6284afe7c6846cbb6c6f5445\r\nMsg = c66d322247ebf272e6a353f9940b00847cf78e27f2bc0c81a696db411e47c0e9630137d3fa860a71158e23d80b699e8006e52345fb7273b2e084407f19394258\r\nMac = 129", @@ -2463,9 +2543,9 @@ static const char *kData34[] = { " 32 \r\nMlen = 64\r\nTlen = 4\r\nKey = 5c77fe134af3fef72fcd16006097dc7dbc45ca10339ae3bc85e0993e4cdcefa1\r\nMsg = fab52c44379ae8083bdc7b827383df93cb1a7ecc21574730f9fe003b7302de237bed535d40832763e7a2cab5806de91d39aa3f38d167ae3250e48ed1f6ad45b5\r\nMac = 03f36c5a\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 201\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 4\r\nKey = 997c6b4b513bbdeaf701867bbe81bdee63de0d0d18c870bcc1e9ff7f627f093e\r\nMsg = 4c23d92665e88a4f6f732de384034d493d5df37b767a8260557de05688e8d60dcd0eba9cb8cc4bceb174dcbd3c0ab5a37db3b6ecfb6a3d90a4f54a9f1117e11e\r\nMac = 9e798c73\r\nResult = F (1 - Message changed)\r\n\r\nCount = 202\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 4\r\nKey = 64e390edd97c0af1ba5165900828e0630606f83d4df5240e1b05c307ee9153ff\r\nMsg = 1ae71094fc1b304adfa3378c4efa8fb290526bb314714c9613beca2a709c91f7e3f6aa74561bfc7b8fcd12f910941eea3b593e85ba2fffb31e7420c6c6199868\r\nMac = 1977347f\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 203\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 4\r\nKey = 44e2f6d41e04b75f541e724c6f6325f27d7475b3676fa0247f28b36e58b6fdf5\r\nMsg = b9ac624288352617e4d375f33953b431cbf8f03f9ecbda9893330ff2d3c59db8705dc3ba4a6ef924309630ac48765b10b1c02ec0669126d76602c95012fa2f77\r\nMac = 2cba4713\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 204\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 4\r\nKey = 8e0f75b7029d4afc2a86adb4a088b89ef9783965027c1176497ada0fdfd0cd99\r\nMsg = 21cd3ff946e2b3c1c61932205899502852b1333d1c79a3d4e5b6617996ffba17041e5b746ab967fb1632c7be62cbc2bbe60ecd5eec6ca4482424994f9a662cc6\r\nMac = b651d356\r\nResult = P\r\n\r\nCount = 205\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 4\r\nKey = 35b1106d174acce103ecf5801b03d3c10d579c4ee491ebad25fb6f1f1787e0c8\r\nMsg = 960026395d0544975dffaaa2c56db1df5816cd80cde513dc76f6f81d21f15c383c97c7233c9af2423fb28922efed2f69aa47c30de17ae1c5be17acbd0ad6cb8e\r\nMac = 8a8f65a8\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 206\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 4\r\nKey = 71efa75961dfd60ad533082a8cfe111214eb02573adc4591c5d0e961640a3ab2\r\nMsg = 6bafbd22b75e21e1fa5444af283e69d53ac2f0412f717a2153f74eb1c195fc5127d240dbc96d2833c9957920a55c505a016a05e4a7ee549bccdbbf1095502e93\r\nMac = 88fea081\r\nResult = F (1 - Message changed)\r\n\r\nCount = 207\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 4\r\nKey = 11752eb8aeffa364c9947092c1612461cc19b6c3a3ddd1817b5e6f7f3745a942\r\nMsg = 2d9109e7eea21b2615c81c03182ce6033c93783b13d698624392bd2a8a202bd0ffc860f29b31afa2f71c2bb85752c66ce8dbba244671288a4135ffe2e1a0209b\r\nMac = b5a26c1c\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 208\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 4\r\nKey = 279a6c226f6a48f3128626012baaa309d99065a59dc0a4c003a6e94d85e61638\r\nMsg = 9bff96ba07a52d9ea2415283321395cf57cb37c610fad7a482c74de9f5e3d7f520bf73d4a6fc8b5be023d774dd9680b6a7c68139c8a753a80d61c9978a493917\r\nMac = 5e281941\r\nResult = P\r\n\r\nCount = 209\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 4\r\nKey = 0bcdcaa87ddf8bbe6db8411d14bb9064e4a121286cc8a6e97fce1844935f436b\r\nMsg = 3ec0aa8d30d5ed825b77dc7095f421b1e608158797a377ff8bed641bd387832f7c14818cabf9bd5ced6044cdc883ff7296272be693660ab234b2d870ba170131\r\nMac = 1da79d07\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 210\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 4\r\nKey = 1b41d148e3c202d419ce16385139da196dede5be63987e6940a2bae86d62e567\r\nMsg = 13ecd70e2d76dd53a19b2e5fc0afe0c0793577ba8948b7d4ef3ab797a07a37927dbb33a18252b96f40e0f73a8d3298d67a6551f5854eb6a51019531a122ff8ae\r\nMac = 91bd49b2\r\nResult = F (1 - Message changed)\r\n\r\nCount = 211\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 4\r\nKey = a1ccc9c992c8a307ad39504854456696f8eafd7c8da0c0c53b3a4485570e985e\r\nMsg = f68b0c3b4556c7f8866b3fa873ed2014418d6421d3f224512e5dae8c2d8dd92175e09508acbcc66ae62d536260cf790671ef66a1bded0343ace4117c1b8d7764\r\nMac = b9317feb\r\nResult = P\r\n\r\nCount = 212\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 4\r\nKey = 4d8d0264ae6d8f7a7440dd760e0ded25a3a94cb0491fe81e7b55221ac8ed24f7\r\nMsg = 5faaf6b8ee8ed5b56bfc1a7f886f9f91a6566ceb99c39462ab675a3ae3be98f68787626fdf77e6243c2e96d1396a8a43417b1f6a51f7e5b0ffaeb889bce02c4b\r\nMac = 3f610010\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 213\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 4\r\nKey = bcf95051ae2ae84ac32a763d5477ccc4659a9ed3e25de5932939826dc90e2464\r\nMsg = fce924dd27db3e07837694c34f576c16084e5b0a254ca3af0582bf6026c73b47973ac924b02992490032cae987a887932539d3fa53cdfff711b03bd11ff464bb\r\nMac = 7b7e89ef\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 214\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 4\r\nKey = 45ce953ad31ee9b53a9c948883bc86f4bbe0f0744085a9943cbad1066cd7b4f3\r\nMsg = edb1aaa7e8ac37bca99ff8eff5516464aa33fc2bebef8a727d43abf971108bc604aef019c3837aa2f3d429f22fda1f305319a70d99ed77f902663298f855316f\r\nMac = cbf4addd\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 215\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 4\r\nKey = d60841cd71d7227ab56e767817760edba9ce2290f8da504b341ee2c1910b5018\r\nMsg = 365fea641559759d1e5b5581218486318b1c776de812b1aca6a9ba6b1c6e39c5cb6d5a44e3a474f709b8eac457e74f00a43ecd3d060cc7639696bd03730c70e7\r\nMac = 7406f935\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 216\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 4\r\nKey = d172f991eb697ffdefc57349dadbe51066d2744c39041cd55ca75024eead495d\r\nMsg = 6a91da64812b9bb41a026e727b4f77c384813da2948caed5a9846420c86a26b89f46b2fa6975b95d12452ca69bbfb65bc1c48a79d95c5e69ff4ab7316fe468e8\r\nMac = 6bd82bcc\r\nResult = F (1 - Message changed)\r\n\r\nCount = 217\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 4\r\nKey = 3725c7905bfaca415908c617b78f8deeeff286e0c2bba268d0de92c7664238a7\r\nMsg = fc4bbe329a86089ebe2a2f3320dad55a9bdac1133dd28ddc9ace9ed665885a2341ea9492d4cf4b7e1d0a95f308a9d613407b35b845cf515bbe7f2f35102d78a3\r\nMac = c8e11823\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 218\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 4\r\nKey = bb3087d1b5b0f6f14a532c3604c82874fb15e97a4b3883dfc50e71ffe5752d40\r\nMsg = 979a9f96112d1ea95eec2cdfdf48c55114472360aa7de24bb53761013af96b33f02b17ae470fece8aaf649d801b4040b7b5152f58a01e7852f565efc77b5dafe\r\nMac = 66466425\r\nResult = P\r\n\r\nCount = 219\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 4\r\nKey = eeb983439a03ee6a315ebf941e9368f90bb6845b03b31839d72a1946c17d2f19\r\nMsg = 6d5573c9279897d7d1602d8a95c04bb5ca3fad2dbe89a024b3651eb227e73bb559e7c0db08b215fd7efe64afcd24fb155989f2f8965d0e181389e6c4b8e244a9\r\nMac = 7f77d596\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 220\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 8\r\nKey = 6f0353a0ad95df6d3190a251435f62c30ed6b9cc0dd024c3c316565cad83d2e1\r\nMsg = 83011a83db0524628b55589ba0165523ce7c916465eaf185805b97ec7f00fc01b82a3e356a6bbb44f2f8deb6425239ac8e26d4d94871c5cf4fe7017c649672f4\r\nMac = 9e56e4574dd01fe8\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 221\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 8\r\nKey = 777a22c5fa2f864a9233587e3e9634172ce25006daacbba97b68e7429c8266a8\r\nMsg = 1f7d58d65c36142620172fda3197d3c629bc7bc584e1aaa0f8b6dd320588becaccc39ad124b515adeb941de49ac31c851c5172c4e1c322e42e13cb5ab7f8db2f\r\nMac = 498dafe2807ba34e\r\nResult = P\r\n\r\nCount = 222\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 8\r\nKey = e17736560b1a13aa8e536500ea6cdb9a6757309aadf25a6a9189055a309c3f8b\r\nMsg = 1a6b80d506147c3c02c89f50892bd1f04d34f9f21e8307140df43835d17495c56a13be7a045be5441de01d84ea19d579f76e9ffa0f92376b5b13c0eacd3050c9\r\nMac = 52d3fbc6e5821f1d\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 223\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 8\r\nKey = f31f2fb4b3fd8045b70d34b600a2697cbf7503be0d8cfb5cdc60f9312e3e2695\r\nMsg = 4f43702be4f0530319555d7f1a3356160f6cae48051f12e22a153d7e405c11494c31e6098e24225eb676094755c6d7e992ec0c8c1e2608e76a72d79d173a4e07\r\nMac = 71239a4c38fa04b3\r\nResult = F (1 - Message changed)\r\n\r\nCount = 224\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 8\r\nKey = 10a678f591b4d87280f42d77a91635575e2e82ef610a7c9105c3a9418f932c24\r\nMsg = f7b577f1396b23c27eb637e53d3d92460270b001cc612fd3b4d68bcdd09c2d50571ea4350636324cc2428a087e7bd8785f8202791e3c2d2bafe084a1204e34dd\r\nMac = 5b11c1407904c15e\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 225\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 8\r\nKey = b8728441226558fa9764824597fe254bf8c2623789541feaf6c007efeb0dd2b1\r\nMsg = 80a2be15809f12738f305be3a210ba0c933599c4b24b48257c60e8e3aae189dc6ec58ff1f9085a15405b26a3001a2ff5ff7e1932961490676c6d2cda8417979b\r\nMac = e73ed6c4f81b0ecd\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 226\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 8\r\nKey = 22a877d974cdf4d65bbd77958b2b77fc5ddb33a221aca3ecb6d5ae76596f9db4\r\nMsg = ce2ce41f76ca7477972d38a3e8fad1122db34ee80c379fa01f884cf648d1670445a8bfab8490563438c21537ac2dbfbcd7bb24a132d6973cc62ba14089adf7e5\r\nMac = 0ff91813a56b98dd\r\nResult = F (1 - Message", " changed)\r\n\r\nCount = 227\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 8\r\nKey = 03fa02c4df99b8295f502e3145e2edd3ff16722b87092e708bc8d126cc1ec894\r\nMsg = ec9a9babb68e09c38617c9b16e8a2d92e711030bcda4b9e0ab35c4c2392b41692312dde30c91f32cd39cf5fe15ea0deaf3aa04a8157262acee78d7f94204d93a\r\nMac = e50d9a04f79cf9b4\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 228\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 8\r\nKey = 0e12df1bf17e9645c5507bc2069ca4611dc0488c9996231dbcee1c73393b26c4\r\nMsg = 86814ce4a867f80ce9b618c6aecce37c89851508bbb095c8f7c055f569c47a30f79abe5ec75f12b601298718d6f96ea1c1ebbe7c0cb0b7fb973ec5e6d5c6a713\r\nMac = 05338bce9ed8f495\r\nResult = P\r\n\r\nCount = 229\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 8\r\nKey = 51c88fd98a7d82043a1500fc3d8a66ba7ab7760467c7fd89cfeeb22dd25762a2\r\nMsg = 0e403cff47adee3ec5bb6b178dabfc7d53b60a04eaad33a2fedd9db705358a4c73ab2d982ddbbdc941f1c701d4cac89e5c56fbbe0f4170029ad25e931713ba63\r\nMac = 38c34175627b07e8\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 230\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 8\r\nKey = 0feb23c7e4a19bcbd70bd300d76ec9045d696f8c9687f49ec4154400e231d2f0\r\nMsg = 0330ed97e44e8b15a49f29c72a7997d05d398a9d45dae41a6cc635258beb824362124691e86cb7fea46e4ab85bdf79e4eb30c492770bf6f0c42ea9bde37a0c01\r\nMac = 271a7c2e687d84c5\r\nResult = P\r\n\r\nCount = 231\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 8\r\nKey = 5d649799771f9074d18a2477ccd4d9e136e01451c1eb2e8bb370cb79e0486770\r\nMsg = d715bc0520dbb86543e76fede49dc6be2cce59d3c0db133ff31efcb63a85514fe080da88fa1e788b9e73feb0503c4142bdc67386ac0bacf9311ecada23ca7be8\r\nMac = 42de9f52567b4506\r\nResult = F (1 - Message changed)\r\n\r\nCount = 232\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 8\r\nKey = 4c96d520d8d5a54eb73f8f558e328d1b3e5ba360161fb8444739a40a97a58a1b\r\nMsg = ee409b050346fbd319c8630e4bc9dd6d055355fbb961f018d3fda0c1eea6f61248f43709737fb18d4efc4faf34a96c2f73ece54200367292692e36870a0c94c5\r\nMac = 28610f524d88e727\r\nResult = F (2 - Key or Key2 changed)\r\n\r\nCount = 233\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 8\r\nKey = b186b9273d8cd77d68c05ec5389b2f6e2f267fe6cd6e7cb35a3233c0dfe0b1f4\r\nMsg = 0df3fc6396f851785fca9aa5ffb0cd98bdecf8bbae4c82641efcb34d319e7643ca9c5e22acbde800e0f700a95685c64ccf399173f9123438dc1181b676490cbf\r\nMac = 8d2f69b44614485a\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 234\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 8\r\nKey = 1b1374648d93aadb186326e4ca2b82fd37f7234712816fe4feb339a3a16880df\r\nMsg = 9a661677f1e07153e1c9c661c91901757f5b4d9938031f01a802773d6a9863b2a169c44be0d4546c4780e828ef37f3b389f84c1a41473131e9c88bcd530c7334\r\nMac = 72838b59593c011c\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 235\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 8\r\nKey = f70b8a4eee3518bba071af55f25f7b698a5b7dc8865cdaca6d1c7993657acc95\r\nMsg = 795ee1af7504621aac329f5081912de545fa11174f3979b14f11aa30df813a235b467fd8f3a14734fe5ac9e39105dcb25184673885cd19bc70ee5a53dd4e8149\r\nMac = 93542734d6cd43de\r\nResult = P\r\n\r\nCount = 236\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 8\r\nKey = 0c456d199abae4758734f506c4e9ccdb767e4fd156d5a4085726f3938a516d74\r\nMsg = 78f3bf568f1c3f2866eff8a246a70cf0faee4c3078f3fb27c4bdd53312bf50812bac2280118c0396e610b4110a22406084c18283a30ce7c0e49c769817170df9\r\nMac = c4c5be3c94fb7b9c\r\nResult = F (4 - Key or Key1 changed)\r\n\r\nCount = 237\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 8\r\nKey = 0a8725bd8c8eab9ed52ca47835837b9f00a6c8d834ab17105b01eb4eb30402e7\r\nMsg = d7867ff428c37836161a534d1d697fba43e86b0096c49b63d50afaf06ec772bda86eba7222796f087c5367d1547642b974d041cb496c5cf7984e8e126c9f741e\r\nMac = b5d40f8633965c33\r\nResult = F (3 - MAC changed)\r\n\r\nCount = 238\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 8\r\nKey = ce9ea80e7fb235486b5f1d0321c68a0e44cd5f15e21f27c402754a2f7c138772\r\nMsg = c246453f5d0f4957e6418b4d17b748f5c30e7ee672b4af2e4e41e145400be94056f4e94768871849fb44c1ee65378fce32d007e0c7ee5635453d4de6b0c2aa4b\r\nMac = 33ae4c66895989ee\r\nResult = F (1 - Message changed)\r\n\r\nCount = 239\r\nKlen = 32 \r\nMlen = 64\r\nTlen = 8\r\nKey = f26fad377bf7d6b35d8ea2e0621b678dad85826fadd3ee684d9215086b77e555\r\nMsg = 63539f949990883ac4f3ef9158b382a30254023c301de9fcd3cd4faa638a0ecb241a2573a9555a5c96da2435aa02c73cfc12c10f84b565bfdea9c6274bb8d67c\r\nMac = 8cda222f03f92913\r\nResult = F (2 - Key or Key2 changed)\r\n", }; -static const size_t kLen35 = 58307; +static const size_t kLen36 = 58307; -static const char *kData35[] = { +static const char *kData36[] = { "# Tests from NIST CAVP SP 800-56A ECCCDH Primitive Test Vectors.\n# http://csrc.nist.gov/groups/STM/cavp/documents/components/ecccdhtestvectors.zip\n#\n# P-521 test vectors were fixed to have the right length.\n\nCurve = P-224\nPrivate = 8346a60fc6f293ca5a0d2af68ba71d1dd389e5e40837942df3e43cbd\nX = 8de2e26adf72c582d6568ef638c4fd59b18da171bdf501f1d929e048\nY = 4a68a1c2b0fb22930d120555c1ece50ea98dea8407f71be36efac0de\nPeerX = af33cd0629bc7e996320a3f40368f74de8704fa37b8fab69abaae280\nPeerY = 882092ccbba7930f419a8a4f9bb16978bbc3838729992559a6f2e2d7\nZ = 7d96f9a3bd3c05cf5cc37feb8b9d5209d5c2597464dec3e9983743e8\n\nCurve = P-224\nPrivate = 043cb216f4b72cdf7629d63720a54aee0c99eb32d74477dac0c2f73d\nX = 2f90f5c8eac9c7decdbb97b6c2f715ab725e4fe40fe6d746efbf4e1b\nY = 66897351454f927a309b269c5a6d31338be4c19a5acfc32cf656f45c\nPeerX = 13bfcd4f8e9442393cab8fb46b9f0566c226b22b37076976f0617a46\nPeerY = eeb2427529b288c63c2f8963c1e473df2fca6caa90d52e2f8db56dd4\nZ = ee93ce06b89ff72009e858c68eb708e7bc79ee0300f73bed69bbca09\n\nCurve = P-224\nPrivate = 5ad0dd6dbabb4f3c2ea5fe32e561b2ca55081486df2c7c15c9622b08\nX = 005bca45d793e7fe99a843704ed838315ab14a5f6277507e9bc37531\nY = 43e9d421e1486ae5893bfd23c210e5c140d7c6b1ada59d842c9a98de\nPeerX = 756dd806b9d9c34d899691ecb45b771af468ec004486a0fdd283411e\nPeerY = 4d02c2ca617bb2c5d9613f25dd72413d229fd2901513aa29504eeefb\nZ = 3fcc01e34d4449da2a974b23fc36f9566754259d39149790cfa1ebd3\n\nCurve = P-224\nPrivate = 0aa6ff55a5d820efcb4e7d10b845ea3c9f9bc5dff86106db85318e22\nX = 2f96754131e0968198aa78fbe8c201dc5f3581c792de487340d32448\nY = 61e8a5cd79615203b6d89e9496f9e236fe3b6be8731e743d615519c6\nPeerX = 0f537bf1c1122c55656d25e8aa8417e0b44b1526ae0523144f9921c4\nPeerY = f79b26d30e491a773696cc2c79b4f0596bc5b9eebaf394d162fb8684\nZ = 49129628b23afcef48139a3f6f59ff5e9811aa746aa4ff33c24bb940\n\nCurve = P-224\nPrivate = efe6e6e25affaf54c98d002abbc6328da159405a1b752e32dc23950a\nX = 355e962920bde043695f6bffb4b355c63da6f5de665ed46f2ec817e2\nY = 748e095368f62e1d364edd461719793b404adbdaacbcadd88922ff37\nPeerX = 2b3631d2b06179b3174a100f7f57131eeea8947be0786c3dc64b2239\nPeerY = 83de29ae3dad31adc0236c6de7f14561ca2ea083c5270c78a2e6cbc0\nZ = fcdc69a40501d308a6839653a8f04309ec00233949522902ffa5eac6\n\nCurve = P-224\nPrivate = 61cb2932524001e5e9eeed6df7d9c8935ee3322029edd7aa8acbfd51\nX = d50e4adabfd989d7dbc7cf4052546cc7c447a97630436997ad4b9536\nY = 5bea503473c5eaef9552d42c40b1f2f7ca292733b255b9bbe1b12337\nPeerX = 4511403de29059f69a475c5a6a5f6cabed5d9f014436a8cb70a02338\nPeerY = 7d2d1b62aa046df9340f9c37a087a06b32cf7f08a223f992812a828b\nZ = 827e9025cb62e0e837c596063f3b9b5a0f7afd8d8783200086d61ec1\n\nCurve = P-224\nPrivate = 8c7ace347171f92def98d845475fc82e1d1496da81ee58f505b985fa\nX = b1a8dcac89aca2799320b451df1c7ff4d97567abb68141c0d95fc2aa\nY = 3524950902b1510bdc987d860afc27ad871ceaea66935abd3c0a99a8\nPeerX = 314a0b26dd31c248845d7cc17b61cad4608259bed85a58d1f1ffd378\nPeerY = 66e4b350352e119eecada382907f3619fd748ea73ae4899dfd496302\nZ = 335ba51228d94acbed851ca7821c801d5cb1c7975d7aa90a7159f8fa\n\nCurve = P-224\nPrivate = 382feb9b9ba10f189d99e71a89cdfe44cb554cec13a212840977fb68\nX = abb6f1e3773ff8fc73aea2a0b107809ce70adcefed6e41fc5cb43045\nY = a963897ae906c10a055eeadb97ffdd6f748d3e5621e5fff304e48ba7\nPeerX = abe6843beec2fd9e5fb64730d0be4d165438ce922ed75dd80b4603e5\nPeerY = 6afe8673a96c4ba9900ad85995e631e436c6cc88a2c2b47b7c4886b8\nZ = 8c2e627594206b34f7356d3426eb3d79f518ef843fbe94014cceace3\n\nCurve = P-224\nPrivate = e0d62035101ef487c485c60fb4500eebe6a32ec64dbe97dbe0232c46\nX = 88537735e9b23e3e0e076f135a82d33f9bffb465f3abce8322a62a62\nY = b4c8c123673197875c0bd14ed097606d330fba2b9200ef65a44764d3\nPeerX = 13cf9d6d2c9aae8274c27d446afd0c888ffdd52ae299a35984d4f527\nPeerY = dcbee75b515751f8ee2ae355e8afd5de21c62a939a6507b538cbc4af\nZ = 632abb662728dbc994508873d5c527ca5ef923c0d31fa6c47ef4c825\n\nCurve = P-224\nPrivate = b96ade5b73ba72aa8b6e4d74d7bf9c58e962ff78eb542287c7b44ba2\nX = 37682926a54f70a4c1748f54d50d5b00138a055f924f2c65e5b0bbe4\nY = 596afefcdd640d29635015b89bdddd1f8c2723686d332e7a06ca8799\nPeerX = 965b637c0dfbc0cf954035686d70f7ec30929e664e521dbaa2280659\nPeerY = 82a58ff61bc90019bbcbb5875d3863db0bc2a1fa34b0ad4de1a83f99\nZ = 34641141aab05ef58bd376d609345901fb8f63477c6be9097f037f1f\n\nCurve = P-224\nPrivate = a40d7e12049c71e6522c7ff2384224061c3a457058b310557655b854\nX = 399801243bfe0c2da9b0a53c8ca57f2eee87aaa94a8e4d5e029f42ca\nY = aa49e6d4b47cee7a5c4ab71d5a67da84e0b9b425ce3e70da68c889e7\nPeerX = 73cc645372ca2e71637cda943d8148f3382ab6dd0f2e1a49da94e134\nPeerY = df5c355c23e6e232ebc3bee2ab1873ee0d83e3382f8e6fe613f6343c\nZ = 4f74ac8507501a32bfc5a78d8271c200e835966e187e8d00011a8c75\n\nCurve = P-224\nPrivate = ad2519bc724d484e02a69f05149bb047714bf0f5986fac2e222cd946\nX = df9c1e0ef15e53b9f626e2be1cbe893639c06f3e0439ee95d7d4b1e3\nY = 7a52a7386adda243efdf8941085c84e31239cab92b8017336748965e\nPeerX = 546578216250354e449e21546dd11cd1c5174236739acad9ce0f4512\nPeerY = d2a22fcd66d1abedc767668327c5cb9c599043276239cf3c8516af24\nZ = ad09c9ae4d2324ea81bb555b200d3c003e22a6870ee03b52df49e4de\n\nCurve = P-224\nPrivate = 3d312a9b9d8ed09140900bbac1e095527ebc9e3c6493bcf3666e3a29\nX = b4a0198dc8810e884425b750928b0c960c31f7a99663400b01a179df\nY = 812b601bfc0738242c6f86f830f27acd632ca618a0b5280c9d5769f7\nPeerX = 1d46b1dc3a28123cb51346e67baec56404868678faf7d0e8b2afa22a\nPeerY = 0ec9e65ec97e218373e7fc115c2274d5b829a60d93f71e01d58136c3\nZ = ef029c28c68064b8abd2965a38c404fb5e944ace57e8638daba9d3cd\n\nCurve = P-224\nPrivate = 8ce0822dc24c153995755ac350737ef506641c7d752b4f9300c612ed\nX = 00dfc7ec137690cd6d12fdb2fd0b8c5314582108769c2b722ffb3958\nY = 5eef3da4ba458127346bb64023868bddb7558a2ecfc813645f4ce9fe\nPeerX = 266d038cc7a4fe21f6c976318e827b82bb5b8f7443a55298136506e0\nPeerY = df123d98a7a20bbdf3943df2e3563422f8c0cf74d53aaabdd7c973ba\nZ = f83c16661dfcbad021cc3b5a5af51d9a18db4653866b3ff90787ce3e\n\nCurve = P-224\nPrivate = 0ff9b485325ab77f29e7bc379fed74bfac859482da0dee7528c19db2\nX = 7e603e6976db83c36011508fa695d1b515249e2e54b48fcbcfb90247\nY = 0179a600ce86adfca9b1b931fa5173d618da09e841803d19b0264286\nPeerX = eb0a09f7a1c236a61f595809ec5670efd92e4598d5e613e092cdfdca\nPeerY = 50787ae2f2f15b88bc10f7b5f0aee1418373f16153aebd1fba54288d\nZ = f51258c63f232e55a66aa25ebd597b2018d1052c02eeb63866758005\n\nCurve = P-224\nPrivate = 19cf5ff6306467f28b9fe0675a43c0582552c8c12e59ce7c38f292b1\nX = fc20e906e609c112cfc2e0fea6303882c5db94e87e022373ab2c082a\nY = aecdf1daa71782bc5a26bbbd8d7e8a76490e26abc17dffc774bd7341\nPeerX = 6b2f6b18a587f562ffc61bd9b0047322286986a78f1fd139b84f7c24\nPeerY = 7096908e4615266be59a53cd655515056ff92370a6271a5d3823d704\nZ = 7fdc969a186ff18429f2a276dac43beea21182d82ce2e5a0876552b1\n\nCurve = P-224\nPrivate = 90a15368e3532c0b1e51e55d139447c2c89bc160719d697291ea7c14\nX = c6837d506e976da7db3ad1267c359dff2ea6fb0b7f7f8e77024c59e9\nY = 67eb491d2fc8a530c46525d2a8b2d7c1df5fba1ae740a4649c683ee6\nPeerX = 328101ba826acd75ff9f34d5574ce0dbc92f709bad8d7a33c47940c1\nPeerY = df39f1ea88488c55d5538160878b9ced18a887ea261dd712d14024ff\nZ = 3d60ab6db2b3ffe2d29ccff46d056e54230cf34982e241556ed2920c\n\nCurve = P-224\nPrivate = 8e0838e05e1721491067e1cabc2e8051b290e2616eec427b7121897d\nX = e9150f770075626019e18f95473b71e6828041791d3f08d3faeeaa2b\nY = 475f70735eaae52308a3b763dc88efe18ab590ebafa035f6e08b001c\nPeerX = 0081e34270871e2ebbd94183f617b4ae15f0416dd634fe6e934cf3c0\nPeerY = 3a1e9f38a7b90b7317d26b9f6311063ab58b268cf489b2e50386d5d6\nZ = 9116d72786f4db5df7a8b43078c6ab9160d423513d35ea5e2559306d\n\nCurve = P-224\nPrivate = 38106e93f16a381adb1d72cee3da66ae462ad4bbfea9ecdf35d0814e\nX = 7be6c4c917829ab657dd79e8637d7aefd2f81f0de7654d957e97658d\nY = 430d22d9e8438310f61e0d43f25fa3e34585f432baad27db3021bf0d\nPeerX = 2623632fdf0bd856805a69aa186d4133ef5904e1f655a972d66cce07\nPeerY = 2cef9728dd06fb8b50150f529b695076d4507983912585c89bd0682e\nZ = 207c53dcefac789aaa0276d9200b3a940ce5f2296f4cb2e81a185d3d\n\nCurve = P-224\nPrivate = e5d1718431cf50f6cbd1bc8019fa16762dfa12c989e5999977fb4ea2\nX = 2ea4966e7f92ed7f5cc61fde792045f63b731d6e7d0de2577f2d8ece\nY = 1c4a7b1ede6f839162292df424be78e8176fb6f942a3c02391700f31\nPeerX = 8ee4d1dcc31dee4bf6fe21ca8a587721d910acfb122c16c2a77a8152\nPeerY = 4ebf323fff04eb477069a0ac68b345f6b1ae134efc31940e513cb99f\nZ = 10e467da34f48ad7072005bccd6da1b2ba3f71eafa1c393842f91d74\n\nCurve = P-224\nPrivate = 3d635691b62a9a927c633951c9369c8862bd2119d30970c2644727d6\nX =", " 438bbb980517afb20be1d674e3ac2b31cef07a9b23fb8f6e38e0d6c0\nY = 0be5f1c47d58d21b6ed28423b32f5a94750da47edcef33ea79942afd\nPeerX = 97dcbe6d28335882a6d193cc54a1063dd0775dc328565300bb99e691\nPeerY = dad11dd5ece8cfd9f97c9a526e4a1506e6355969ee87826fc38bcd24\nZ = 82fd2f9c60c4f999ac00bbe64bfc11da8ff8cda2e499fced65230bb1\n\nCurve = P-224\nPrivate = acf3c85bbdc379f02f5ea36e7f0f53095a9e7046a28685a8659bf798\nX = ff7511215c71d796bd646e8474be4416b91684ce0d269ef6f422013b\nY = b7bf5e79b5a9393bb9ea42c0bdb2d3c2dc806e1a7306aa58e4fdbea5\nPeerX = ce9126dd53972dea1de1d11efef900de34b661859c4648c5c0e534f7\nPeerY = e113b6f2c1659d07f2716e64a83c18bbce344dd2121fe85168eae085\nZ = 530f7e7fc932613b29c981f261cb036cba3f1df3864e0e1cba2685a2\n\nCurve = P-224\nPrivate = cffd62cb00a0e3163fbf2c397fadc9618210f86b4f54a675287305f0\nX = 04bf4d948f4430d18b4ed6c96dbaf981fa11a403ed16887f06754981\nY = 7c1326a9cef51f79d4e78303d6064b459f612584ac2fdf593d7d5d84\nPeerX = 84419967d6cfad41e75a02b6da605a97949a183a97c306c4b46e66a5\nPeerY = 5cc9b259718b1bc8b144fde633a894616ffd59a3a6d5d8e942c7cbb7\nZ = 49f6fd0139248ef4df2db05d1319bd5b1489e249827a45a8a5f12427\n\nCurve = P-224\nPrivate = 85f903e43943d13c68932e710e80de52cbc0b8f1a1418ea4da079299\nX = 970a4a7e01d4188497ceb46955eb1b842d9085819a9b925c84529d3d\nY = dfa2526480f833ea0edbd204e4e365fef3472888fe7d9691c3ebc09f\nPeerX = 7c9cac35768063c2827f60a7f51388f2a8f4b7f8cd736bd6bc337477\nPeerY = 29ee6b849c6025d577dbcc55fbd17018f4edbc2ef105b004d6257bcd\nZ = 8f7e34e597ae8093b98270a74a8dfcdbed457f42f43df487c5487161\n\nCurve = P-224\nPrivate = cce64891a3d0129fee0d4a96cfbe7ac470b85e967529057cfa31a1d9\nX = a6b29632db94da2125dc1cf80e03702687b2acc1122022fa2174765a\nY = 61723edd73e10daed73775278f1958ba56f1fc9d085ebc2b64c84fe5\nPeerX = 085a7642ad8e59b1a3e8726a7547afbecffdac1dab7e57230c6a9df4\nPeerY = f91c36d881fe9b8047a3530713554a1af4c25c5a8e654dcdcf689f2e\nZ = 71954e2261e8510be1a060733671d2e9d0a2d012eb4e09556d697d2a\n\nCurve = P-256\nPrivate = 7d7dc5f71eb29ddaf80d6214632eeae03d9058af1fb6d22ed80badb62bc1a534\nX = ead218590119e8876b29146ff89ca61770c4edbbf97d38ce385ed281d8a6b230\nY = 28af61281fd35e2fa7002523acc85a429cb06ee6648325389f59edfce1405141\nPeerX = 700c48f77f56584c5cc632ca65640db91b6bacce3a4df6b42ce7cc838833d287\nPeerY = db71e509e3fd9b060ddb20ba5c51dcc5948d46fbf640dfe0441782cab85fa4ac\nZ = 46fc62106420ff012e54a434fbdd2d25ccc5852060561e68040dd7778997bd7b\n\nCurve = P-256\nPrivate = 38f65d6dce47676044d58ce5139582d568f64bb16098d179dbab07741dd5caf5\nX = 119f2f047902782ab0c9e27a54aff5eb9b964829ca99c06b02ddba95b0a3f6d0\nY = 8f52b726664cac366fc98ac7a012b2682cbd962e5acb544671d41b9445704d1d\nPeerX = 809f04289c64348c01515eb03d5ce7ac1a8cb9498f5caa50197e58d43a86a7ae\nPeerY = b29d84e811197f25eba8f5194092cb6ff440e26d4421011372461f579271cda3\nZ = 057d636096cb80b67a8c038c890e887d1adfa4195e9b3ce241c8a778c59cda67\n\nCurve = P-256\nPrivate = 1accfaf1b97712b85a6f54b148985a1bdc4c9bec0bd258cad4b3d603f49f32c8\nX = d9f2b79c172845bfdb560bbb01447ca5ecc0470a09513b6126902c6b4f8d1051\nY = f815ef5ec32128d3487834764678702e64e164ff7315185e23aff5facd96d7bc\nPeerX = a2339c12d4a03c33546de533268b4ad667debf458b464d77443636440ee7fec3\nPeerY = ef48a3ab26e20220bcda2c1851076839dae88eae962869a497bf73cb66faf536\nZ = 2d457b78b4614132477618a5b077965ec90730a8c81a1c75d6d4ec68005d67ec\n\nCurve = P-256\nPrivate = 207c43a79bfee03db6f4b944f53d2fb76cc49ef1c9c4d34d51b6c65c4db6932d\nX = 24277c33f450462dcb3d4801d57b9ced05188f16c28eda873258048cd1607e0d\nY = c4789753e2b1f63b32ff014ec42cd6a69fac81dfe6d0d6fd4af372ae27c46f88\nPeerX = df3989b9fa55495719b3cf46dccd28b5153f7808191dd518eff0c3cff2b705ed\nPeerY = 422294ff46003429d739a33206c8752552c8ba54a270defc06e221e0feaf6ac4\nZ = 96441259534b80f6aee3d287a6bb17b5094dd4277d9e294f8fe73e48bf2a0024\n\nCurve = P-256\nPrivate = 59137e38152350b195c9718d39673d519838055ad908dd4757152fd8255c09bf\nX = a8c5fdce8b62c5ada598f141adb3b26cf254c280b2857a63d2ad783a73115f6b\nY = 806e1aafec4af80a0d786b3de45375b517a7e5b51ffb2c356537c9e6ef227d4a\nPeerX = 41192d2813e79561e6a1d6f53c8bc1a433a199c835e141b05a74a97b0faeb922\nPeerY = 1af98cc45e98a7e041b01cf35f462b7562281351c8ebf3ffa02e33a0722a1328\nZ = 19d44c8d63e8e8dd12c22a87b8cd4ece27acdde04dbf47f7f27537a6999a8e62\n\nCurve = P-256\nPrivate = f5f8e0174610a661277979b58ce5c90fee6c9b3bb346a90a7196255e40b132ef\nX = 7b861dcd2844a5a8363f6b8ef8d493640f55879217189d80326aad9480dfc149\nY = c4675b45eeb306405f6c33c38bc69eb2bdec9b75ad5af4706aab84543b9cc63a\nPeerX = 33e82092a0f1fb38f5649d5867fba28b503172b7035574bf8e5b7100a3052792\nPeerY = f2cf6b601e0a05945e335550bf648d782f46186c772c0f20d3cd0d6b8ca14b2f\nZ = 664e45d5bba4ac931cd65d52017e4be9b19a515f669bea4703542a2c525cd3d3\n\nCurve = P-256\nPrivate = 3b589af7db03459c23068b64f63f28d3c3c6bc25b5bf76ac05f35482888b5190\nX = 9fb38e2d58ea1baf7622e96720101cae3cde4ba6c1e9fa26d9b1de0899102863\nY = d5561b900406edf50802dd7d73e89395f8aed72fba0e1d1b61fe1d22302260f0\nPeerX = 6a9e0c3f916e4e315c91147be571686d90464e8bf981d34a90b6353bca6eeba7\nPeerY = 40f9bead39c2f2bcc2602f75b8a73ec7bdffcbcead159d0174c6c4d3c5357f05\nZ = ca342daa50dc09d61be7c196c85e60a80c5cb04931746820be548cdde055679d\n\nCurve = P-256\nPrivate = d8bf929a20ea7436b2461b541a11c80e61d826c0a4c9d322b31dd54e7f58b9c8\nX = 20f07631e4a6512a89ad487c4e9d63039e579cb0d7a556cb9e661cd59c1e7fa4\nY = 6de91846b3eee8a5ec09c2ab1f41e21bd83620ccdd1bdce3ab7ea6e02dd274f5\nPeerX = a9c0acade55c2a73ead1a86fb0a9713223c82475791cd0e210b046412ce224bb\nPeerY = f6de0afa20e93e078467c053d241903edad734c6b403ba758c2b5ff04c9d4229\nZ = 35aa9b52536a461bfde4e85fc756be928c7de97923f0416c7a3ac8f88b3d4489\n\nCurve = P-256\nPrivate = 0f9883ba0ef32ee75ded0d8bda39a5146a29f1f2507b3bd458dbea0b2bb05b4d\nX = abb61b423be5d6c26e21c605832c9142dc1dfe5a5fff28726737936e6fbf516d\nY = 733d2513ef58beab202090586fac91bf0fee31e80ab33473ab23a2d89e58fad6\nPeerX = 94e94f16a98255fff2b9ac0c9598aac35487b3232d3231bd93b7db7df36f9eb9\nPeerY = d8049a43579cfa90b8093a94416cbefbf93386f15b3f6e190b6e3455fedfe69a\nZ = 605c16178a9bc875dcbff54d63fe00df699c03e8a888e9e94dfbab90b25f39b4\n\nCurve = P-256\nPrivate = 2beedb04b05c6988f6a67500bb813faf2cae0d580c9253b6339e4a3337bb6c08\nX = 3d63e429cb5fa895a9247129bf4e48e89f35d7b11de8158efeb3e106a2a87395\nY = 0cae9e477ef41e7c8c1064379bb7b554ddcbcae79f9814281f1e50f0403c61f3\nPeerX = e099bf2a4d557460b5544430bbf6da11004d127cb5d67f64ab07c94fcdf5274f\nPeerY = d9c50dbe70d714edb5e221f4e020610eeb6270517e688ca64fb0e98c7ef8c1c5\nZ = f96e40a1b72840854bb62bc13c40cc2795e373d4e715980b261476835a092e0b\n\nCurve = P-256\nPrivate = 77c15dcf44610e41696bab758943eff1409333e4d5a11bbe72c8f6c395e9f848\nX = ad5d13c3db508ddcd38457e5991434a251bed49cf5ddcb59cdee73865f138c9f\nY = 62cec1e70588aa4fdfc7b9a09daa678081c04e1208b9d662b8a2214bf8e81a21\nPeerX = f75a5fe56bda34f3c1396296626ef012dc07e4825838778a645c8248cff01658\nPeerY = 33bbdf1b1772d8059df568b061f3f1122f28a8d819167c97be448e3dc3fb0c3c\nZ = 8388fa79c4babdca02a8e8a34f9e43554976e420a4ad273c81b26e4228e9d3a3\n\nCurve = P-256\nPrivate = 42a83b985011d12303db1a800f2610f74aa71cdf19c67d54ce6c9ed951e9093e\nX = ab48caa61ea35f13f8ed07ffa6a13e8db224dfecfae1a7df8b1bb6ebaf0cb97d\nY = 1274530ca2c385a3218bddfbcbf0b4024c9badd5243bff834ebff24a8618dccb\nPeerX = 2db4540d50230756158abf61d9835712b6486c74312183ccefcaef2797b7674d\nPeerY = 62f57f314e3f3495dc4e099012f5e0ba71770f9660a1eada54104cdfde77243e\nZ = 72877cea33ccc4715038d4bcbdfe0e43f42a9e2c0c3b017fc2370f4b9acbda4a\n\nCurve = P-256\nPrivate = ceed35507b5c93ead5989119b9ba342cfe38e6e638ba6eea343a55475de2800b\nX = 9a8cd9bd72e71752df91440f77c547509a84df98114e7de4f26cdb39234a625d\nY = d07cfc84c8e144fab2839f5189bb1d7c88631d579bbc58012ed9a2327da52f62\nPeerX = cd94fc9497e8990750309e9a8534fd114b0a6e54da89c4796101897041d14ecb\nPeerY = c3def4b5fe04faee0a11932229fff563637bfdee0e79c6deeaf449f85401c5c4\nZ = e4e7408d85ff0e0e9c838003f28cdbd5247cdce31f32f62494b70e5f1bc36307\n\nCurve = P-256\nPrivate = 43e0e9d95af4dc36483cdd1968d2b7eeb8611fcce77f3a4e7d059ae43e509604\nX = f989cf8ee956a82e7ebd9881cdbfb2fd946189b08db53559bc8cfdd48071eb14\nY = 5eff28f1a18a616b04b7d337868679f6dd84f9a7b3d7b6f8af276c19611a541d\nPeerX = 15b9e467af4d290c417402e040426fe4cf236bae72baa392ed89780dfccdb471\nPeerY = cdf4e9170fb904302b8fd93a820ba8cc7ed4efd3a6f2d6b05b80b2ff2aee4e77\nZ = ed56bcf695b734142c24ecb1fc1bb64d08f175eb243a31f37b3d9bb4407f3b96\n\nCurve = P-256\nPrivate = b2f3600df3368ef8a0bb85ab22f41fc0e5f4fdd54be8167a5c3cd4b08db04903\nX = 69c627", "625b36a429c398b45c38677cb35d8beb1cf78a571e40e99fe4eac1cd4e\nY = 81690112b0a88f20f7136b28d7d47e5fbc2ada3c8edd87589bc19ec9590637bd\nPeerX = 49c503ba6c4fa605182e186b5e81113f075bc11dcfd51c932fb21e951eee2fa1\nPeerY = 8af706ff0922d87b3f0c5e4e31d8b259aeb260a9269643ed520a13bb25da5924\nZ = bc5c7055089fc9d6c89f83c1ea1ada879d9934b2ea28fcf4e4a7e984b28ad2cf\n\nCurve = P-256\nPrivate = 4002534307f8b62a9bf67ff641ddc60fef593b17c3341239e95bdb3e579bfdc8\nX = 5fe964671315a18aa68a2a6e3dd1fde7e23b8ce7181471cfac43c99e1ae80262\nY = d5827be282e62c84de531b963884ba832db5d6b2c3a256f0e604fe7e6b8a7f72\nPeerX = 19b38de39fdd2f70f7091631a4f75d1993740ba9429162c2a45312401636b29c\nPeerY = 09aed7232b28e060941741b6828bcdfa2bc49cc844f3773611504f82a390a5ae\nZ = 9a4e8e657f6b0e097f47954a63c75d74fcba71a30d83651e3e5a91aa7ccd8343\n\nCurve = P-256\nPrivate = 4dfa12defc60319021b681b3ff84a10a511958c850939ed45635934ba4979147\nX = c9b2b8496f1440bd4a2d1e52752fd372835b364885e154a7dac49295f281ec7c\nY = fbe6b926a8a4de26ccc83b802b1212400754be25d9f3eeaf008b09870ae76321\nPeerX = 2c91c61f33adfe9311c942fdbff6ba47020feff416b7bb63cec13faf9b099954\nPeerY = 6cab31b06419e5221fca014fb84ec870622a1b12bab5ae43682aa7ea73ea08d0\nZ = 3ca1fc7ad858fb1a6aba232542f3e2a749ffc7203a2374a3f3d3267f1fc97b78\n\nCurve = P-256\nPrivate = 1331f6d874a4ed3bc4a2c6e9c74331d3039796314beee3b7152fcdba5556304e\nX = 59e1e101521046ad9cf1d082e9d2ec7dd22530cce064991f1e55c5bcf5fcb591\nY = 482f4f673176c8fdaa0bb6e59b15a3e47454e3a04297d3863c9338d98add1f37\nPeerX = a28a2edf58025668f724aaf83a50956b7ac1cfbbff79b08c3bf87dfd2828d767\nPeerY = dfa7bfffd4c766b86abeaf5c99b6e50cb9ccc9d9d00b7ffc7804b0491b67bc03\nZ = 1aaabe7ee6e4a6fa732291202433a237df1b49bc53866bfbe00db96a0f58224f\n\nCurve = P-256\nPrivate = dd5e9f70ae740073ca0204df60763fb6036c45709bf4a7bb4e671412fad65da3\nX = 30b9db2e2e977bcdc98cb87dd736cbd8e78552121925cf16e1933657c2fb2314\nY = 6a45028800b81291bce5c2e1fed7ded650620ebbe6050c6f3a7f0dfb4673ab5c\nPeerX = a2ef857a081f9d6eb206a81c4cf78a802bdf598ae380c8886ecd85fdc1ed7644\nPeerY = 563c4c20419f07bc17d0539fade1855e34839515b892c0f5d26561f97fa04d1a\nZ = 430e6a4fba4449d700d2733e557f66a3bf3d50517c1271b1ddae1161b7ac798c\n\nCurve = P-256\nPrivate = 5ae026cfc060d55600717e55b8a12e116d1d0df34af831979057607c2d9c2f76\nX = 46c9ebd1a4a3c8c0b6d572b5dcfba12467603208a9cb5d2acfbb733c40cf6391\nY = 46c913a27d044185d38b467ace011e04d4d9bbbb8cb9ae25fa92aaf15a595e86\nPeerX = ccd8a2d86bc92f2e01bce4d6922cf7fe1626aed044685e95e2eebd464505f01f\nPeerY = e9ddd583a9635a667777d5b8a8f31b0f79eba12c75023410b54b8567dddc0f38\nZ = 1ce9e6740529499f98d1f1d71329147a33df1d05e4765b539b11cf615d6974d3\n\nCurve = P-256\nPrivate = b601ac425d5dbf9e1735c5e2d5bdb79ca98b3d5be4a2cfd6f2273f150e064d9d\nX = 7c9e950841d26c8dde8994398b8f5d475a022bc63de7773fcf8d552e01f1ba0a\nY = cc42b9885c9b3bee0f8d8c57d3a8f6355016c019c4062fa22cff2f209b5cc2e1\nPeerX = c188ffc8947f7301fb7b53e36746097c2134bf9cc981ba74b4e9c4361f595e4e\nPeerY = bf7d2f2056e72421ef393f0c0f2b0e00130e3cac4abbcc00286168e85ec55051\nZ = 4690e3743c07d643f1bc183636ab2a9cb936a60a802113c49bb1b3f2d0661660\n\nCurve = P-256\nPrivate = fefb1dda1845312b5fce6b81b2be205af2f3a274f5a212f66c0d9fc33d7ae535\nX = 38b54db85500cb20c61056edd3d88b6a9dc26780a047f213a6e1b900f76596eb\nY = 6387e4e5781571e4eb8ae62991a33b5dc33301c5bc7e125d53794a39160d8fd0\nPeerX = 317e1020ff53fccef18bf47bb7f2dd7707fb7b7a7578e04f35b3beed222a0eb6\nPeerY = 09420ce5a19d77c6fe1ee587e6a49fbaf8f280e8df033d75403302e5a27db2ae\nZ = 30c2261bd0004e61feda2c16aa5e21ffa8d7e7f7dbf6ec379a43b48e4b36aeb0\n\nCurve = P-256\nPrivate = 334ae0c4693d23935a7e8e043ebbde21e168a7cba3fa507c9be41d7681e049ce\nX = 3f2bf1589abf3047bf3e54ac9a95379bff95f8f55405f64eca36a7eebe8ffca7\nY = 5212a94e66c5ae9a8991872f66a72723d80ec5b2e925745c456f5371943b3a06\nPeerX = 45fb02b2ceb9d7c79d9c2fa93e9c7967c2fa4df5789f9640b24264b1e524fcb1\nPeerY = 5c6e8ecf1f7d3023893b7b1ca1e4d178972ee2a230757ddc564ffe37f5c5a321\nZ = 2adae4a138a239dcd93c243a3803c3e4cf96e37fe14e6a9b717be9599959b11c\n\nCurve = P-256\nPrivate = 2c4bde40214fcc3bfc47d4cf434b629acbe9157f8fd0282540331de7942cf09d\nX = 29c0807f10cbc42fb45c9989da50681eead716daa7b9e91fd32e062f5eb92ca0\nY = ff1d6d1955d7376b2da24fe1163a271659136341bc2eb1195fc706dc62e7f34d\nPeerX = a19ef7bff98ada781842fbfc51a47aff39b5935a1c7d9625c8d323d511c92de6\nPeerY = e9c184df75c955e02e02e400ffe45f78f339e1afe6d056fb3245f4700ce606ef\nZ = 2e277ec30f5ea07d6ce513149b9479b96e07f4b6913b1b5c11305c1444a1bc0b\n\nCurve = P-256\nPrivate = 85a268f9d7772f990c36b42b0a331adc92b5941de0b862d5d89a347cbf8faab0\nX = 9cf4b98581ca1779453cc816ff28b4100af56cf1bf2e5bc312d83b6b1b21d333\nY = 7a5504fcac5231a0d12d658218284868229c844a04a3450d6c7381abe080bf3b\nPeerX = 356c5a444c049a52fee0adeb7e5d82ae5aa83030bfff31bbf8ce2096cf161c4b\nPeerY = 57d128de8b2a57a094d1a001e572173f96e8866ae352bf29cddaf92fc85b2f92\nZ = 1e51373bd2c6044c129c436e742a55be2a668a85ae08441b6756445df5493857\n\nCurve = P-384\nPrivate = 3cc3122a68f0d95027ad38c067916ba0eb8c38894d22e1b15618b6818a661774ad463b205da88cf699ab4d43c9cf98a1\nX = 9803807f2f6d2fd966cdd0290bd410c0190352fbec7ff6247de1302df86f25d34fe4a97bef60cff548355c015dbb3e5f\nY = ba26ca69ec2f5b5d9dad20cc9da711383a9dbe34ea3fa5a2af75b46502629ad54dd8b7d73a8abb06a3a3be47d650cc99\nPeerX = a7c76b970c3b5fe8b05d2838ae04ab47697b9eaf52e764592efda27fe7513272734466b400091adbf2d68c58e0c50066\nPeerY = ac68f19f2e1cb879aed43a9969b91a0839c4c38a49749b661efedf243451915ed0905a32b060992b468c64766fc8437a\nZ = 5f9d29dc5e31a163060356213669c8ce132e22f57c9a04f40ba7fcead493b457e5621e766c40a2e3d4d6a04b25e533f1\n\nCurve = P-384\nPrivate = 92860c21bde06165f8e900c687f8ef0a05d14f290b3f07d8b3a8cc6404366e5d5119cd6d03fb12dc58e89f13df9cd783\nX = ea4018f5a307c379180bf6a62fd2ceceebeeb7d4df063a66fb838aa35243419791f7e2c9d4803c9319aa0eb03c416b66\nY = 68835a91484f05ef028284df6436fb88ffebabcdd69ab0133e6735a1bcfb37203d10d340a8328a7b68770ca75878a1a6\nPeerX = 30f43fcf2b6b00de53f624f1543090681839717d53c7c955d1d69efaf0349b7363acb447240101cbb3af6641ce4b88e0\nPeerY = 25e46c0c54f0162a77efcc27b6ea792002ae2ba82714299c860857a68153ab62e525ec0530d81b5aa15897981e858757\nZ = a23742a2c267d7425fda94b93f93bbcc24791ac51cd8fd501a238d40812f4cbfc59aac9520d758cf789c76300c69d2ff\n\nCurve = P-384\nPrivate = 12cf6a223a72352543830f3f18530d5cb37f26880a0b294482c8a8ef8afad09aa78b7dc2f2789a78c66af5d1cc553853\nX = fcfcea085e8cf74d0dced1620ba8423694f903a219bbf901b0b59d6ac81baad316a242ba32bde85cb248119b852fab66\nY = 972e3c68c7ab402c5836f2a16ed451a33120a7750a6039f3ff15388ee622b7065f7122bf6d51aefbc29b37b03404581b\nPeerX = 1aefbfa2c6c8c855a1a216774550b79a24cda37607bb1f7cc906650ee4b3816d68f6a9c75da6e4242cebfb6652f65180\nPeerY = 419d28b723ebadb7658fcebb9ad9b7adea674f1da3dc6b6397b55da0f61a3eddacb4acdb14441cb214b04a0844c02fa3\nZ = 3d2e640f350805eed1ff43b40a72b2abed0a518bcebe8f2d15b111b6773223da3c3489121db173d414b5bd5ad7153435\n\nCurve = P-384\nPrivate = 8dd48063a3a058c334b5cc7a4ce07d02e5ee6d8f1f3c51a1600962cbab462690ae3cd974fb39e40b0e843daa0fd32de1\nX = e38c9846248123c3421861ea4d32669a7b5c3c08376ad28104399494c84ff5efa3894adb2c6cbe8c3c913ef2eec5bd3c\nY = 9fa84024a1028796df84021f7b6c9d02f0f4bd1a612a03cbf75a0beea43fef8ae84b48c60172aadf09c1ad016d0bf3ce\nPeerX = 8bc089326ec55b9cf59b34f0eb754d93596ca290fcb3444c83d4de3a5607037ec397683f8cef07eab2fe357eae36c449\nPeerY = d9d16ce8ac85b3f1e94568521aae534e67139e310ec72693526aa2e927b5b322c95a1a033c229cb6770c957cd3148dd7\nZ = 6a42cfc392aba0bfd3d17b7ccf062b91fc09bbf3417612d02a90bdde62ae40c54bb2e56e167d6b70db670097eb8db854\n\nCurve = P-384\nPrivate = 84ece6cc3429309bd5b23e959793ed2b111ec5cb43b6c18085fcaea9efa0685d98a6262ee0d330ee250bc8a67d0e733f\nX = 3222063a2997b302ee60ee1961108ff4c7acf1c0ef1d5fb0d164b84bce71c431705cb9aea9a45f5d73806655a058bee3\nY = e61fa9e7fbe7cd43abf99596a3d3a039e99fa9dc93b0bdd9cad81966d17eeaf557068afa7c78466bb5b22032d1100fa6\nPeerX = eb952e2d9ac0c20c6cc48fb225c2ad154f53c8750b003fd3b4ed8ed1dc0defac61bcdde02a2bcfee7067d75d342ed2b0\nPeerY = f1828205baece82d1b267d0d7ff2f9c9e15b69a72df47058a97f3891005d1fb38858f5603de840e591dfa4f6e7d489e1\nZ = ce7ba454d4412729a32bb833a2d1fd2ae612d4667c3a900e069214818613447df8c611de66da200db7c375cf913e4405\n\nCurve = P-384\nPrivate = 68fce2121dc3a1e37b10f1dde309f9e2e18fac47cd1770951451c3484cdb77cb136d00e731260597cc2859601c01a25b\nX = 868be0e694841830e424d913d8e7d86b84ee1021d82b0ecf523f09fe89a76c0c95c49f2dfbcf829c1e39709d55efbb3b\nY = 9195eb183675b40fd", @@ -2475,40 +2555,40 @@ static const char *kData35[] = { "fd3e0faceb636b34ed17e044a9f249dae8fc132e937e2d9349cd2ed77bb1049ceb692a2ec5b17ad61502a64c\nY = 001ec91d3058573fa6c0564a02a1a010160c313bc7c73510dc983e5461682b5be00dbce7e2c682ad73f29ca822cdc111f68fabe33a7b384a648342c3cdb9f050bcdb\nPeerX = 017200b3f16a68cbaed2bf78ba8cddfb6cffac262bba00fbc25f9dc72a07ce59372904899f364c44cb264c097b647d4412bee3e519892d534d9129f8a28f7500fee7\nPeerY = 00baba8d672a4f4a3b63de48b96f56e18df5d68f7d70d5109833f43770d6732e06b39ad60d93e5b43db8789f1ec0aba47286a39ea584235acea757dbf13d53b58364\nZ = 0101e462e9d9159968f6440e956f11dcf2227ae4aea81667122b6af9239a291eb5d6cf5a4087f358525fcacfa46bb2db01a75af1ba519b2d31da33eda87a9d565748\n\nCurve = P-521\nPrivate = 005bacfff268acf6553c3c583b464ea36a1d35e2b257a5d49eb3419d5a095087c2fb4d15cf5bf5af816d0f3ff7586490ccd3ddc1a98b39ce63749c6288ce0dbdac7d\nX = 0036e488da7581472a9d8e628c58d6ad727311b7e6a3f6ae33a8544f34b09280249020be7196916fafd90e2ec54b66b5468d2361b99b56fa00d7ac37abb8c6f16653\nY = 011edb9fb8adb6a43f4f5f5fdc1421c9fe04fc8ba46c9b66334e3af927c8befb4307104f299acec4e30f812d9345c9720d19869dbfffd4ca3e7d2713eb5fc3f42615\nPeerX = 004efd5dbd2f979e3831ce98f82355d6ca14a5757842875882990ab85ab9b7352dd6b9b2f4ea9a1e95c3880d65d1f3602f9ca653dc346fac858658d75626f4d4fb08\nPeerY = 0061cf15dbdaa7f31589c98400373da284506d70c89f074ed262a9e28140796b7236c2eef99016085e71552ff488c72b7339fefb7915c38459cb20ab85aec4e45052\nZ = 0141d6a4b719ab67eaf04a92c0a41e2dda78f4354fb90bdc35202cc7699b9b04d49616f82255debf7bbec045ae58f982a66905fcfae69d689785e38c868eb4a27e7b\n\nCurve = P-521\nPrivate = 008e2c93c5423876223a637cad367c8589da69a2d0fc68612f31923ae50219df2452e7cc92615b67f17b57ffd2f52b19154bb40d7715336420fde2e89fee244f59dc\nX = 00fa3b35118d6c422570f724a26f90b2833b19239174cea081c53133f64db60d6940ea1261299c04c1f4587cdb0c4c39616479c1bb0c146799a118032dcf98f899c0\nY = 0069f040229006151fa32b51f679c8816f7c17506b403809dc77cd58a2aec430d94d13b6c916de99f355aa45fcfbc6853d686c71be496a067d24bfaea4818fc51f75\nPeerX = 0129891de0cf3cf82e8c2cf1bf90bb296fe00ab08ca45bb7892e0e227a504fdd05d2381a4448b68adff9c4153c87eacb78330d8bd52515f9f9a0b58e85f446bb4e10\nPeerY = 009edd679696d3d1d0ef327f200383253f6413683d9e4fcc87bb35f112c2f110098d15e5701d7ceee416291ff5fed85e687f727388b9afe26a4f6feed560b218e6bb\nZ = 00345e26e0abb1aac12b75f3a9cf41efe1c336396dffa4a067a4c2cfeb878c68b2b045faa4e5b4e6fa4678f5b603c351903b14bf9a6a70c439257199a640890b61d1\n\nCurve = P-521\nPrivate = 0004d49d39d40d8111bf16d28c5936554326b197353eebbcf47545393bc8d3aaf98f14f5be7074bfb38e6cc97b989754074daddb3045f4e4ce745669fdb3ec0d5fa8\nX = 012ec226d050ce07c79b3df4d0f0891f9f7adf462e8c98dbc1a2a14f5e53a3f5ad894433587cc429a8be9ea1d84fa33b1803690dae04da7218d30026157fc995cf52\nY = 004837dfbf3426f57b5c793269130abb9a38f618532211931154db4eeb9aede88e57290f842ea0f2ea9a5f74c6203a3920fe4e305f6118f676b154e1d75b9cb5eb88\nPeerX = 01a3c20240e59f5b7a3e17c275d2314ba1741210ad58b71036f8c83cc1f6b0f409dfdd9113e94b67ec39c3291426c23ffcc447054670d2908ff8fe67dc2306034c5c\nPeerY = 01d2825bfd3af8b1e13205780c137fe938f84fde40188e61ea02cead81badfdb425c29f7d7fb0324debadc10bbb93de68f62c35069268283f5265865db57a79f7bf7\nZ = 006fe9de6fb8e672e7fd150fdc5e617fabb0d43906354ccfd224757c7276f7a1010091b17ed072074f8d10a5ec971eb35a5cb7076603b7bc38d432cbc059f80f9488\n\nCurve = P-521\nPrivate = 011a5d1cc79cd2bf73ea106f0e60a5ace220813b53e27b739864334a07c03367efda7a4619fa6eef3a9746492283b3c445610a023a9cc49bf4591140384fca5c8bb5\nX = 00eb07c7332eedb7d3036059d35f7d2288d4377d5f42337ad3964079fb120ccd4c8bd384b585621055217023acd9a94fcb3b965bfb394675e788ade41a1de73e620c\nY = 00491a835de2e6e7deb7e090f4a11f2c460c0b1f3d5e94ee8d751014dc720784fd3b54500c86ebaef18429f09e8e876d5d1538968a030d7715dde99f0d8f06e29d59\nPeerX = 007e2d138f2832e345ae8ff65957e40e5ec7163f016bdf6d24a2243daa631d878a4a16783990c722382130f9e51f0c1bd6ff5ac96780e48b68f5dec95f42e6144bb5\nPeerY = 00b0de5c896791f52886b0f09913e26e78dd0b69798fc4df6d95e3ca708ecbcbcce1c1895f5561bbabaae372e9e67e6e1a3be60e19b470cdf673ec1fc393d3426e20\nZ = 01e4e759ecedce1013baf73e6fcc0b92451d03bdd50489b78871c333114990c9ba6a9b2fc7b1a2d9a1794c1b60d9279af6f146f0bbfb0683140403bfa4ccdb524a29\n\nCurve = P-521\nPrivate = 010c908caf1be74c616b625fc8c1f514446a6aec83b5937141d6afbb0a8c7666a7746fa1f7a6664a2123e8cdf6cd8bf836c56d3c0ebdcc980e43a186f938f3a78ae7\nX = 0031890f4c7abec3f723362285d77d2636f876817db3bbc88b01e773597b969ff6f013ea470c854ab4a7739004eb8cbea69b82ddf36acadd406871798ecb2ac3aa7f\nY = 00d8b429ae3250266b9643c0c765a60dc10155bc2531cf8627296f4978b6640a9e600e19d0037d58503fa80799546a814d7478a550aa90e5ebeb052527faaeae5d08\nPeerX = 00118c36022209b1af8ebad1a12b566fc48744576e1199fe80de1cdf851cdf03e5b9091a8f7e079e83b7f827259b691d0c22ee29d6bdf73ec7bbfd746f2cd97a357d\nPeerY = 00da5ff4904548a342e2e7ba6a1f4ee5f840411a96cf63e6fe622f22c13e614e0a847c11a1ab3f1d12cc850c32e095614ca8f7e2721477b486e9ff40372977c3f65c\nZ = 0163c9191d651039a5fe985a0eea1eba018a40ab1937fcd2b61220820ee8f2302e9799f6edfc3f5174f369d672d377ea8954a8d0c8b851e81a56fda95212a6578f0e\n\nCurve = P-521\nPrivate = 01b37d6b7288de671360425d3e5ac1ccb21815079d8d73431e9b74a6f0e7ae004a357575b11ad66642ce8b775593eba9d98bf25c75ef0b4d3a2098bbc641f59a2b77\nX = 00189a5ee34de7e35aefeaeef9220c18071b4c29a4c3bd9d954458bd3e82a7a34da34cff5579b8101c065b1f2f527cf4581501e28ef5671873e65267733d003520af\nY = 01eb4bc50a7b4d4599d7e3fa773ddb9eb252c9b3422872e544bdf75c7bf60f5166ddc11eb08fa7c30822dabaee373ab468eb2d922e484e2a527fff2ebb804b7d9a37\nPeerX = 01780edff1ca1c03cfbe593edc6c049bcb2860294a92c355489d9afb2e702075ade1c953895a456230a0cde905de4a3f38573dbfcccd67ad6e7e93f0b5581e926a5d\nPeerY = 00a5481962c9162962e7f0ebdec936935d0eaa813e8226d40d7f6119bfd940602380c86721e61db1830f51e139f210000bcec0d8edd39e54d73a9a129f95cd5fa979\nZ = 015d613e267a36342e0d125cdad643d80d97ed0600afb9e6b9545c9e64a98cc6da7c5aaa3a8da0bdd9dd3b97e9788218a80abafc106ef065c8f1c4e1119ef58d298b\n\nCurve = P-521\nPrivate = 00f2661ac762f60c5fff23be5d969ccd4ec6f98e4e72618d12bdcdb9b4102162333788c0bae59f91cdfc172c7a1681ee44d96ab2135a6e5f3415ebbcd55165b1afb0\nX = 00a8e25a6902d687b4787cdc94c364ac7cecc5c495483ed363dc0aa95ee2bd739c4c4d46b17006c728b076350d7d7e54c6822f52f47162a25109aaaba690cab696ec\nY = 0168d2f08fe19e4dc9ee7a195b03c9f7fe6676f9f520b6270557504e72ca4394a2c6918625e15ac0c51b8f95cd560123653fb8e8ee6db961e2c4c62cc54e92e2a2a9\nPeerX = 016dacffa183e5303083a334f765de724ec5ec9402026d4797884a9828a0d321a8cfac74ab737fe20a7d6befcfc73b6a35c1c7b01d373e31abc192d48a4241a35803\nPeerY = 011e5327cac22d305e7156e559176e19bee7e4f2f59e86f1a9d0b6603b6a7df1069bde6387feb71587b8ffce5b266e1bae86de29378a34e5c74b6724c4d40a719923\nZ = 014d6082a3b5ced1ab8ca265a8106f302146c4acb8c30bb14a4c991e3c82a9731288bdb91e0e85bda313912d06384fc44f2153fb13506fa9cf43c9aab5750988c943\n\nCurve = P-521\nPrivate = 00f430ca1261f09681a9282e9e970a9234227b1d5e58d558c3cc6eff44d1bdf53de16ad5ee2b18b92d62fc79586116b0efc15f79340fb7eaf5ce6c44341dcf8dde27\nX = 006c1d9b5eca87de1fb871a0a32f807c725adccde9b3967453a71347d608f0c030cd09e338cdecbf4a02015bc8a6e8d3e2595fe773ffc2fc4e4a55d0b1a2cc00323b\nY = 01141b2109e7f4981c952aa818a2b9f6f5c41feccdb7a7a45b9b4b672937771b008cae5f934dfe3fed10d383ab1f38769c92ce88d9be5414817ecb073a31ab368ccb\nPeerX = 00a091421d3703e3b341e9f1e7d58f8cf7bdbd1798d001967b801d1cec27e605c580b2387c1cb464f55ce7ac80334102ab03cfb86d88af76c9f4129c01bedd3bbfc4\nPeerY = 008c9c577a8e6fc446815e9d40baa66025f15dae285f19eb668ee60ae9c98e7ecdbf2b2a68e22928059f67db188007161d3ecf397e0883f0c4eb7eaf7827a62205cc\nZ = 0020c00747cb8d492fd497e0fec54644bf027d418ab686381f109712a99cabe328b9743d2225836f9ad66e5d7fed1de247e0da92f60d5b31f9e47672e57f710598f4\n\nCurve = P-521\nPrivate = 005dc33aeda03c2eb233014ee468dff753b72f73b00991043ea353828ae69d4cd0fadeda7bb278b535d7c57406ff2e6e473a5a4ff98e90f90d6dadd25100e8d85666\nX = 00c825ba307373cec8dd2498eef82e21fd9862168dbfeb83593980ca9f82875333899fe94f137daf1c4189eb502937c3a367ea7951ed8b0f3377fcdf2922021d46a5\nY = 016b8a2540d5e65493888bc337249e67c0a68774f3e8d81e3b4574a0125165f0bd58b8af9de74b35832539f95c3cd9f1b759408560aa6851ae3ac7555347b0d3b13b\nPeerX = 004f38816681771289ce0cb83a5e29a1ab06fc91f786994b23708ff08a08a0f675b809ae99e9f9967eb1a49f196057d69e50d6dedb4dd2d9a81c02bdcc8f7f518460\nPeerY = 009efb244c8b91087de1eed766500f0e81530752d469256ef79f6b965d8a2232a0c2dbc4e8e1d09214bab38485be6e357c4200d073b52f04e4a16fc6f5247187aecb\nZ = 00c2bfafcd7fbd3e2fd1c", "750fdea61e70bd4787a7e68468c574ee99ebc47eedef064e8944a73bcb7913dbab5d93dca660d216c553622362794f7a2acc71022bdb16f\n\nCurve = P-521\nPrivate = 00df14b1f1432a7b0fb053965fd8643afee26b2451ecb6a8a53a655d5fbe16e4c64ce8647225eb11e7fdcb23627471dffc5c2523bd2ae89957cba3a57a23933e5a78\nX = 004e8583bbbb2ecd93f0714c332dff5ab3bc6396e62f3c560229664329baa5138c3bb1c36428abd4e23d17fcb7a2cfcc224b2e734c8941f6f121722d7b6b94154576\nY = 01cf0874f204b0363f020864672fadbf87c8811eb147758b254b74b14fae742159f0f671a018212bbf25b8519e126d4cad778cfff50d288fd39ceb0cac635b175ec0\nPeerX = 01a32099b02c0bd85371f60b0dd20890e6c7af048c8179890fda308b359dbbc2b7a832bb8c6526c4af99a7ea3f0b3cb96ae1eb7684132795c478ad6f962e4a6f446d\nPeerY = 017627357b39e9d7632a1370b3e93c1afb5c851b910eb4ead0c9d387df67cde85003e0e427552f1cd09059aad0262e235cce5fba8cedc4fdc1463da76dcd4b6d1a46\nZ = 01aaf24e5d47e4080c18c55ea35581cd8da30f1a079565045d2008d51b12d0abb4411cda7a0785b15d149ed301a3697062f42da237aa7f07e0af3fd00eb1800d9c41\n", }; -static const size_t kLen36 = 132435; - -static const char *kData36[] = { - "# Public key algorithm tests\n\n# Keys used for PKEY operations.\n\n# RSA 2048 bit key.\nPrivateKey = RSA-2048\nType = RSA\nInput = 308204bc020100300d06092a864886f70d0101010500048204a6308204a20201000282010100cd0081ea7b2ae1ea06d59f7c73d9ffb94a09615c2e4ba7c636cef08dd3533ec3185525b015c769b99a77d6725bf9c3532a9b6e5f6627d5fb85160768d3dda9cbd35974511717dc3d309d2fc47ee41f97e32adb7f9dd864a1c4767a666ecd71bc1aacf5e7517f4b38594fea9b05e42d5ada9912008013e45316a4d9bb8ed086b88d28758bacaf922d46a868b485d239c9baeb0e2b64592710f42b2d1ea0a4b4802c0becab328f8a68b0073bdb546feea9809d2849912b390c1532bc7e29c7658f8175fae46f34332ff87bcab3e40649b98577869da0ea718353f0722754886913648760d122be676e0fc483dd20ffc31bda96a31966c9aa2e75ad03de47e1c44f02030100010282010060297ac7991b167a06d6b24758b8cbe208beb9b2d9ec9738bd80f90a2e35005dd7ce292d9e29ba885bd316fef1f20913bc0ac90d6b0808b2414d82104441d8624a33ce0233c8f780a48b375aff02d76712228a702484db3f9ebecccfbbee1709dba182800d949e9e4216e0bff3558388f8bd90da373a1d82743ec3fbdd1427fd16825a657a316912e8695365117ca2f845c909405fcac55f895fc15d20386c26ee78c9e99075029a178a6c1e4cf0c200e8a9cfb27e9d156f86e6c2adc22b1a84a1cd5ca5b2790875d79407c84b352395cb81cc3fed5bb043b69ede0c07204550025cee8c5f440170b6120bb48e0f747bcd8f522110850df043c428dfd187053102818100f6f961b47cbc035d3aedebc7de850a956b65ecdb9cf60764063f15aa48553c58d972fe6675056e35ddfdc37bf3b9f2f622ee271337256849c9bef2176fe8f7c3f8bb91ba374dd53baf3dec814d2bdec10c1fdc88cdd16876f26b1edfa3f094197edf4d42ff1fb2971103b898ca859c427287086a842ab410bb69cf2d35af6be302818100d47e724a7ff41048b270c2524a4101878b73159bb73d3dbc187b220e635b3534f96e243a184d93f860b6bfbb6b71c1ed9a1e1f458583023c301e96a692c1a08b53d0ec9ca910100d80451e3b7dc6a01bac4aecef8df798846bc235a08cbba2cf4c06804cc11219e95608c714e3f1430d491fadbba32a5751a04f97745834c9a502818021f2452bb9b95dfd028c914bf799f1ca77e89a95d50d3c16d384f8455f8bd7af9eb3dfa3d591d9842def235f7630a8e48c088ff6642e101794535a933e1e976fa8509fc728b2da0c4a1a08d7fcf37abaae1ff3001aca1dc1bbb05d9dffbaa1a09f7fb1eef38237d9ebccc722b9338436dde7119112798c26809c1a8dec4320610281801f7510aa62c2d8de4a3c53282781f41e02d0e8b402ae78432e449c48110161a11403f02d01880a8dcc938152d79721a4711a607ac4471ebf964810f95be47a45e60499e29f4c9773c83773404f606637728c2d0351bb03c326c8bb73a721e7fa5440ea2172bba1465fcc30dcb0d9f89930e815aa1f7f9729a857e00e0338dd590281804d1f0d756fe77e01099a652f50a88b7b685dc5bf00981d5d2376fd0c6fe29cd5b638734479305a73ad3c1599d39eae3bae035fbd6fed07c28de705933879a06e48e6a603686ed8e2560a5f6af1f2c24faf4aa960e382186f15eedce9a2491ae730680dd4cf778b70faa86826ab3223477cc91377b19a6d5a2eaea219760beed5\nExpectNoRawPrivate\nExpectNoRawPublic\n\n# The public half of the same key encoded as a SubjectPublicKeyInfo.\nPublicKey = RSA-2048-SPKI\nType = RSA\nInput = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100cd0081ea7b2ae1ea06d59f7c73d9ffb94a09615c2e4ba7c636cef08dd3533ec3185525b015c769b99a77d6725bf9c3532a9b6e5f6627d5fb85160768d3dda9cbd35974511717dc3d309d2fc47ee41f97e32adb7f9dd864a1c4767a666ecd71bc1aacf5e7517f4b38594fea9b05e42d5ada9912008013e45316a4d9bb8ed086b88d28758bacaf922d46a868b485d239c9baeb0e2b64592710f42b2d1ea0a4b4802c0becab328f8a68b0073bdb546feea9809d2849912b390c1532bc7e29c7658f8175fae46f34332ff87bcab3e40649b98577869da0ea718353f0722754886913648760d122be676e0fc483dd20ffc31bda96a31966c9aa2e75ad03de47e1c44f0203010001\nExpectNoRawPrivate\nExpectNoRawPublic\n\n# The same key but with a negative RSA modulus.\nPublicKey = RSA-2048-SPKI-Negative\nInput = 30820121300d06092a864886f70d01010105000382010e003082010902820100cd0081ea7b2ae1ea06d59f7c73d9ffb94a09615c2e4ba7c636cef08dd3533ec3185525b015c769b99a77d6725bf9c3532a9b6e5f6627d5fb85160768d3dda9cbd35974511717dc3d309d2fc47ee41f97e32adb7f9dd864a1c4767a666ecd71bc1aacf5e7517f4b38594fea9b05e42d5ada9912008013e45316a4d9bb8ed086b88d28758bacaf922d46a868b485d239c9baeb0e2b64592710f42b2d1ea0a4b4802c0becab328f8a68b0073bdb546feea9809d2849912b390c1532bc7e29c7658f8175fae46f34332ff87bcab3e40649b98577869da0ea718353f0722754886913648760d122be676e0fc483dd20ffc31bda96a31966c9aa2e75ad03de47e1c44f0203010001\nError = NEGATIVE_NUMBER\n\n# The same key but with missing parameters rather than a NULL.\nPublicKey = RSA-2048-SPKI-Invalid\nInput = 30820120300b06092a864886f70d0101010382010f003082010a0282010100cd0081ea7b2ae1ea06d59f7c73d9ffb94a09615c2e4ba7c636cef08dd3533ec3185525b015c769b99a77d6725bf9c3532a9b6e5f6627d5fb85160768d3dda9cbd35974511717dc3d309d2fc47ee41f97e32adb7f9dd864a1c4767a666ecd71bc1aacf5e7517f4b38594fea9b05e42d5ada9912008013e45316a4d9bb8ed086b88d28758bacaf922d46a868b485d239c9baeb0e2b64592710f42b2d1ea0a4b4802c0becab328f8a68b0073bdb546feea9809d2849912b390c1532bc7e29c7658f8175fae46f34332ff87bcab3e40649b98577869da0ea718353f0722754886913648760d122be676e0fc483dd20ffc31bda96a31966c9aa2e75ad03de47e1c44f0203010001\nError = DECODE_ERROR\n\n# The same key but with an incorrectly-encoded length prefix.\nPublicKey = RSA-2048-SPKI-Invalid2\nInput = 3083000122300d06092a864886f70d01010105000382010f003082010a0282010100cd0081ea7b2ae1ea06d59f7c73d9ffb94a09615c2e4ba7c636cef08dd3533ec3185525b015c769b99a77d6725bf9c3532a9b6e5f6627d5fb85160768d3dda9cbd35974511717dc3d309d2fc47ee41f97e32adb7f9dd864a1c4767a666ecd71bc1aacf5e7517f4b38594fea9b05e42d5ada9912008013e45316a4d9bb8ed086b88d28758bacaf922d46a868b485d239c9baeb0e2b64592710f42b2d1ea0a4b4802c0becab328f8a68b0073bdb546feea9809d2849912b390c1532bc7e29c7658f8175fae46f34332ff87bcab3e40649b98577869da0ea718353f0722754886913648760d122be676e0fc483dd20ffc31bda96a31966c9aa2e75ad03de47e1c44f0203010001\nError = DECODE_ERROR\n\n# RSA 512 bit key.\nPrivateKey = RSA-512\nType = RSA\nInput = 30820154020100300d06092a864886f70d01010105000482013e3082013a020100024100dd20403d976a38c9d79152d87b5c8e9f05033eadd7b7de709bf5b0c4a5182a97d18483526b02362b992e154a9f37faa396ca2685cdab8fec09877ebe705f4dd70203010001024055bebcca655d7e39de8a6eaa9d636db682161907064039544755c53eeb99ec618c03a210dbc61471eaba10c5c365c9726d6b7a96f54d455f7d168d49367270e1022100f21a05d9fd6817301ce49ce10448f9bdd44f5ef5b7557cd7d83155db46382ae7022100e9d1f7157783db2feab1936954ddc4e83aa365695868144cda1be6813b61d791022100d6001eb0040920860ce41fafdf23ca6dfbdf74e6e9f98cf3164cf5c16f9e727d02206f6f73f4b52b10517be6f9bc5f87fa0a3bb817e2e711636b651f9af1c85d4f21022063eff2e57f5b4ca20342cfe793e25526624e3692f192461f9e1ce7f13f2d72c8\nExpectNoRawPrivate\nExpectNoRawPublic\n\n# RSA 515 bit key.\nPrivateKey = RSA-515\nType = RSA\nInput = 30820157020100300d06092a864886f70d0101010500048201413082013d0201000241054fa166e205e658bbe8a2dc35311c0c2b75b7e4569fd9642c8bae809279271fc824f26baa1166ea46298ca63379ea76adbada2b61e5066820a35beaec1aca227f020301000102410266c972be0d30e53ac2acb1aa13b4bd0401cccf212452a66b4615f7e943831f67b4ca48560582d0ca886044aaaaf87945252a848c1947944186e6eb83969bf91102210309e631761842cc8a2ccfd372c20a9cba21de1a199c30ab440bc6b51079f4e825022101bf715c1db432627ca7c29a293b9210f2eff1e92d12f306ebaa5334f8ee03dcd30221018ac58a765f2b8f37d434081fe5ff92b81735ead2f263f4968ccf63d61fbe3d0d0221015b247a1159a2d5a25d0db049593c6405f77f3a278c521d066e290c2a2d8fb59d0221026224aa31fd95c14d24fd03b8a195bba4cc88df7c37f5370a5ab19f882f1404d6\nExpectNoRawPrivate\nExpectNoRawPublic\n\n# EC P-256 key\nPrivateKey = P-256\nType = EC\nInput = 308187020100301306072a8648ce3d020106082a8648ce3d030107046d306b02010104208a872fb62893c4d1ffc5b9f0f91758069f8352e08fa05a49f8db926cb5728725a144034200042c150f429ce70f216c252cf5e062ce1f639cd5d165c7f89424072c27197d78b33b920e95cdb664e990dcf0cfea0d94e2a8e6af9d0e58056e653104925b9fe6c9\nExpectNoRawPrivate\nExpectNoRawPublic\n\n# The same key as above with the optional public key omitted.\nPrivateKey = P-256-MissingPublic\nType = EC\nInput = 3041020100301306072a8648ce3d020106082a8648ce3d0301070427302502010104208a872fb62893c4d1ffc5b9f0f91758069f8352e08fa05a49f8db926cb5728725\nExpectNoRawPrivate\nExpectNoRawPublic\n\n# The same key as above with redundant parameters.\nPrivateKey = P-256-ExtraParameters\nType = EC\nInput = 308193020100301306072a8648ce3d020106082a8648ce3d0301070479307702010104208a872fb62893c4d1ffc5b9f0f91758069f8352e08fa05a49f8db926cb5728725a00a06082a8648ce3d030107a144034200042c150f429ce70f216c252cf5e062ce1f639cd5d165c7f89424072c27197d78b33b920e95cdb664e990dcf0cfea0d94e2a8e6af9d0e58056e653104925b9fe6c9\n# The key re-encodes with the parameters removed.\nOutput = 308187020100301306072a8648c", - "e3d020106082a8648ce3d030107046d306b02010104208a872fb62893c4d1ffc5b9f0f91758069f8352e08fa05a49f8db926cb5728725a144034200042c150f429ce70f216c252cf5e062ce1f639cd5d165c7f89424072c27197d78b33b920e95cdb664e990dcf0cfea0d94e2a8e6af9d0e58056e653104925b9fe6c9\nExpectNoRawPrivate\nExpectNoRawPublic\n\n# The same key, but with the redundant parameters in the ECPrivateKey mismatched.\nPrivateKey = P-256-BadInnerParameters\nInput = 308190020100301306072a8648ce3d020106082a8648ce3d0301070476307402010104208a872fb62893c4d1ffc5b9f0f91758069f8352e08fa05a49f8db926cb5728725a00706052b81040022a144034200042c150f429ce70f216c252cf5e062ce1f639cd5d165c7f89424072c27197d78b33b920e95cdb664e990dcf0cfea0d94e2a8e6af9d0e58056e653104925b9fe6c9\nError = GROUP_MISMATCH\n\n# The public half of the same key encoded as a PublicKey.\nPublicKey = P-256-SPKI\nType = EC\nInput = 3059301306072a8648ce3d020106082a8648ce3d030107034200042c150f429ce70f216c252cf5e062ce1f639cd5d165c7f89424072c27197d78b33b920e95cdb664e990dcf0cfea0d94e2a8e6af9d0e58056e653104925b9fe6c9\nExpectNoRawPrivate\nExpectNoRawPublic\n\n# The same as above, but with the curve explicitly spelled out.\nPublicKey = P-256-SPKI\nInput = 3082014b3082010306072a8648ce3d02013081f7020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff305b0420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b031500c49d360886e704936a6678e1139d26b7819f7e900441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551020101034200042c150f429ce70f216c252cf5e062ce1f639cd5d165c7f89424072c27197d78b33b920e95cdb664e990dcf0cfea0d94e2a8e6af9d0e58056e653104925b9fe6c9\nError = DECODE_ERROR\n\n# The same as above, but with trailing data after the curve name.\nPublicKey = P-256-SPKI\nInput = 305b301506072a8648ce3d020106082a8648ce3d0301070500034200042c150f429ce70f216c252cf5e062ce1f639cd5d165c7f89424072c27197d78b33b920e95cdb664e990dcf0cfea0d94e2a8e6af9d0e58056e653104925b9fe6c9\nError = DECODE_ERROR\n\n# A DSA private key.\nPrivateKey = DSA-1024\nType = DSA\nInput = 308202650201003082023906072a8648ce3804013082022c02820101009e12fab3de12213501dd82aa10ca2d101d2d4ebfef4d2a3f8daa0fe0cedad8d6af85616aa2f3252c0a2b5a6db09e6f14900e0ddb8311876dd8f9669525f99ed65949e184d5064793271169a228680b95ec12f59a8e20b21f2b58eb2a2012d35bde2ee351822fe8f32d0a330565dcce5c672b7259c14b2433d0b5b2ca2b2db0ab626e8f13f47fe0345d904e7294bb038e9ce21a9e580b83356278706cfe768436c69de149ccff98b4aab8cb4f6385c9f102ce59346eaeef27e0ad222d53d6e89cc8cde5776dd00057b03f2d88ab3cedbafd7b585f0b7f7835e17a3728bbf25ea62572f245dc111f3ce39cb6ffacc31b0a2790e7bde90224ea9b09315362af3d2b022100f381dcf53ebf724f8b2e5ca82c010fb4b5eda9358d0fd88ed278589488b54fc3028201000c402a725dcc3a62e02bf4cf43cd17f4a493591220223669cf4193edab423ad08dfb552e308a6a57a5ffbc7cd0fb2087f81f8df0cb08ab2133287d2b6968714a94f633c940845a48a3e16708dde761cc6a8eab2d84db21b6ea5b07681493cc9c31fbc368b243f6ddf8c932a8b4038f44e7b15ca876344a147859f2b43b39458668ad5e0a1a9a669546dd2812e3b3617a0aef99d58e3bb4cc87fd94225e01d2dcc469a77268146c51918f18e8b4d70aa1f0c7623bcc52cf3731d38641b2d2830b7eecb2f09552ff137d046e494e7f33c3590002b16d1b97d936fda28f90c3ed3ca35338168ac16f77c3c57adc2e8f7c6c2256e41a5f65450590dbb5bcf06d66610423022100b0c768702743bc51242993a971a52889795444f7c6452203d0ce84fe6117d46e\nExpectNoRawPrivate\nExpectNoRawPublic\n\n# A DSA public key.\nPublicKey = DSA-1024-SPKI\nType = DSA\nInput = 308201b73082012c06072a8648ce3804013082011f02818100b3429b8b128c9079f9b72e86857e98d265e5d91661ed8b5f4cc56e5eed1e571da30186983a9dd76297eab73ee13a1db841f8800d04a7cab478af6cde2ea4a2868531af169a24858c6268efa39ceb7ed0d4227eb5bbb01124a2a5a26038c7bcfb8cc827f68f5202345166e4718596799b65c9def82828ce44e62e38e41a0d24b1021500c5a56c81ddd87f47e676546c56d05706421624cf0281810094de40d27314fe929e47ff9b1ac65cfc73ef38c4d381c890be6217b15039ae18190e6b421af8c0bda35a5cfd050f58ae2644adce83e68c8e5ba11729df56bbb21e227a60b816cc033fa799a38fe1ba5b4aa1801b6f841ce3df99feb3b4fb96950c960af13fa2ce920aabc12dd24ad2044a35063ea0e25f67f560f4cfbdc5598303818400028180258c30ebbb7f34fdc873ce679f6cea373c7886d75d4421b90920db034daedd292c64d8edd8cdbdd7f3ad23d74cfa2135247d0cef6ecf2e14f99e19d22a8c1266bd8fb8719c0e5667c716c45c7adbdabe548085bdad2dfee636f8d52fd6adb2193df6c4f0520fbd171b91882e0e4f321f8250ffecf4dbea00e114427d3ef96c1a\nExpectNoRawPrivate\nExpectNoRawPublic\n\n# The same key as above, but without the parameters.\nPublicKey = DSA-1024-SPKI-No-Params\nType = DSA\nInput = 308192300906072a8648ce38040103818400028180258c30ebbb7f34fdc873ce679f6cea373c7886d75d4421b90920db034daedd292c64d8edd8cdbdd7f3ad23d74cfa2135247d0cef6ecf2e14f99e19d22a8c1266bd8fb8719c0e5667c716c45c7adbdabe548085bdad2dfee636f8d52fd6adb2193df6c4f0520fbd171b91882e0e4f321f8250ffecf4dbea00e114427d3ef96c1a\nExpectNoRawPrivate\nExpectNoRawPublic\n\n# Private keys from RFC 8032.\nPrivateKey = Ed25519\nType = Ed25519\nInput = 302e020100300506032b6570042204209d61b19deffd5a60ba844af492ec2cc44449c5697b326919703bac031cae7f60\nExpectRawPrivate = 9d61b19deffd5a60ba844af492ec2cc44449c5697b326919703bac031cae7f60\nExpectRawPublic = d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a\n\nPrivateKey = Ed25519-2\nType = Ed25519\nInput = 302e020100300506032b6570042204204ccd089b28ff96da9db6c346ec114e0f5b8a319f35aba624da8cf6ed4fb8a6fb\nExpectRawPrivate = 4ccd089b28ff96da9db6c346ec114e0f5b8a319f35aba624da8cf6ed4fb8a6fb\nExpectRawPublic = 3d4017c3e843895a92b70aa74d1b7ebc9c982ccf2ec4968cc0cd55f12af4660c\n\nPrivateKey = Ed25519-3\nType = Ed25519\nInput = 302e020100300506032b657004220420c5aa8df43f9f837bedb7442f31dcb7b166d38535076f094b85ce3a2e0b4458f7\nExpectRawPrivate = c5aa8df43f9f837bedb7442f31dcb7b166d38535076f094b85ce3a2e0b4458f7\nExpectRawPublic = fc51cd8e6218a1a38da47ed00230f0580816ed13ba3303ac5deb911548908025\n\nPrivateKey = Ed25519-4\nType = Ed25519\nInput = 302e020100300506032b657004220420f5e5767cf153319517630f226876b86c8160cc583bc013744c6bf255f5cc0ee5\nExpectRawPrivate = f5e5767cf153319517630f226876b86c8160cc583bc013744c6bf255f5cc0ee5\nExpectRawPublic = 278117fc144c72340f67d0f2316e8386ceffbf2b2428c9c51fef7c597f1d426e\n\nPrivateKey = Ed25519-5\nType = Ed25519\nInput = 302e020100300506032b657004220420833fe62409237b9d62ec77587520911e9a759cec1d19755b7da901b96dca3d42\nExpectRawPrivate = 833fe62409237b9d62ec77587520911e9a759cec1d19755b7da901b96dca3d42\nExpectRawPublic = ec172b93ad5e563bf4932c70e1245034c35467ef2efd4d64ebf819683467e2bf\n\n# Public keys from RFC 8032.\nPublicKey = Ed25519-SPKI\nType = Ed25519\nInput = 302a300506032b6570032100d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a\nExpectNoRawPrivate\nExpectRawPublic = d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a\n\nPublicKey = Ed25519-SPKI-2\nType = Ed25519\nInput = 302a300506032b65700321003d4017c3e843895a92b70aa74d1b7ebc9c982ccf2ec4968cc0cd55f12af4660c\nExpectNoRawPrivate\nExpectRawPublic = 3d4017c3e843895a92b70aa74d1b7ebc9c982ccf2ec4968cc0cd55f12af4660c\n\nPublicKey = Ed25519-SPKI-3\nType = Ed25519\nInput = 302a300506032b6570032100fc51cd8e6218a1a38da47ed00230f0580816ed13ba3303ac5deb911548908025\nExpectNoRawPrivate\nExpectRawPublic = fc51cd8e6218a1a38da47ed00230f0580816ed13ba3303ac5deb911548908025\n\nPublicKey = Ed25519-SPKI-4\nType = Ed25519\nInput = 302a300506032b6570032100278117fc144c72340f67d0f2316e8386ceffbf2b2428c9c51fef7c597f1d426e\nExpectNoRawPrivate\nExpectRawPublic = 278117fc144c72340f67d0f2316e8386ceffbf2b2428c9c51fef7c597f1d426e\n\nPublicKey = Ed25519-SPKI-5\nType = Ed25519\nInput = 302a300506032b6570032100ec172b93ad5e563bf4932c70e1245034c35467ef2efd4d64ebf819683467e2bf\nExpectNoRawPrivate\nExpectRawPublic = ec172b93ad5e563bf4932c70e1245034c35467ef2efd4d64ebf819683467e2bf\n\n# The first key, private and public, with invalid NULL parameters.\nPrivateKey = Ed25519-NULL\nInput = 3030020100300706032b65700500042204209d61b19deffd5a60ba844af492ec2cc44449c5697b326919703bac031cae7f60\nError = DECODE_ERROR\n\nPublicKey = Ed25519-SPKI-NULL\nInput = 302c300706032b65700500032100d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a\nError = DECODE_ERROR\n\n# Sample public key from RFC 8410.\nPublicKey = Ed25519-SPKI-Spec\nType = Ed25", - "519\nInput = 302a300506032b657003210019bf44096984cdfe8541bac167dc3b96c85086aa30b6b6cb0c5c38ad703166e1\n\n# Sample private key from RFC 8410.\nPrivateKey = Ed25519-Spec\nType = Ed25519\nInput = 302e020100300506032b657004220420d4ee72dbf913584ad5b6d8f1f769f8ad3afe7c28cbf1d4fbe097a88f44755842\n\n\n# RSA tests\n\nSign = RSA-2048\nDigest = SHA1\nInput = \"0123456789ABCDEF1234\"\nOutput = c09d402423cbf233d26cae21f954547bc43fe80fd41360a0336cfdbe9aedad05bef6fd2eaee6cd60089a52482d4809a238149520df3bdde4cb9e23d9307b05c0a6f327052325a29adf2cc95b66523be7024e2a585c3d4db15dfbe146efe0ecdc0402e33fe5d40324ee96c5c3edd374a15cdc0f5d84aa243c0f07e188c6518fbfceae158a9943be398e31097da81b62074f626eff738be6160741d5a26957a482b3251fd85d8df78b98148459de10aa93305dbb4a5230aa1da291a9b0e481918f99b7638d72bb687f97661d304ae145d64a474437a4ef39d7b8059332ddeb07e92bf6e0e3acaf8afedc93795e4511737ec1e7aab6d5bc9466afc950c1c17b48ad\n\nVerify = RSA-2048\nDigest = SHA1\nInput = \"0123456789ABCDEF1234\"\nOutput = c09d402423cbf233d26cae21f954547bc43fe80fd41360a0336cfdbe9aedad05bef6fd2eaee6cd60089a52482d4809a238149520df3bdde4cb9e23d9307b05c0a6f327052325a29adf2cc95b66523be7024e2a585c3d4db15dfbe146efe0ecdc0402e33fe5d40324ee96c5c3edd374a15cdc0f5d84aa243c0f07e188c6518fbfceae158a9943be398e31097da81b62074f626eff738be6160741d5a26957a482b3251fd85d8df78b98148459de10aa93305dbb4a5230aa1da291a9b0e481918f99b7638d72bb687f97661d304ae145d64a474437a4ef39d7b8059332ddeb07e92bf6e0e3acaf8afedc93795e4511737ec1e7aab6d5bc9466afc950c1c17b48ad\n\nVerify = RSA-2048-SPKI\nDigest = SHA1\nInput = \"0123456789ABCDEF1234\"\nOutput = c09d402423cbf233d26cae21f954547bc43fe80fd41360a0336cfdbe9aedad05bef6fd2eaee6cd60089a52482d4809a238149520df3bdde4cb9e23d9307b05c0a6f327052325a29adf2cc95b66523be7024e2a585c3d4db15dfbe146efe0ecdc0402e33fe5d40324ee96c5c3edd374a15cdc0f5d84aa243c0f07e188c6518fbfceae158a9943be398e31097da81b62074f626eff738be6160741d5a26957a482b3251fd85d8df78b98148459de10aa93305dbb4a5230aa1da291a9b0e481918f99b7638d72bb687f97661d304ae145d64a474437a4ef39d7b8059332ddeb07e92bf6e0e3acaf8afedc93795e4511737ec1e7aab6d5bc9466afc950c1c17b48ad\n\n# Digest too long\nSign = RSA-2048\nDigest = SHA1\nInput = \"0123456789ABCDEF12345\"\nError = INVALID_MESSAGE_LENGTH\n\nVerify = RSA-2048\nDigest = SHA1\nInput = \"0123456789ABCDEF12345\"\nOutput = c09d402423cbf233d26cae21f954547bc43fe80fd41360a0336cfdbe9aedad05bef6fd2eaee6cd60089a52482d4809a238149520df3bdde4cb9e23d9307b05c0a6f327052325a29adf2cc95b66523be7024e2a585c3d4db15dfbe146efe0ecdc0402e33fe5d40324ee96c5c3edd374a15cdc0f5d84aa243c0f07e188c6518fbfceae158a9943be398e31097da81b62074f626eff738be6160741d5a26957a482b3251fd85d8df78b98148459de10aa93305dbb4a5230aa1da291a9b0e481918f99b7638d72bb687f97661d304ae145d64a474437a4ef39d7b8059332ddeb07e92bf6e0e3acaf8afedc93795e4511737ec1e7aab6d5bc9466afc950c1c17b48ad\nError = INVALID_MESSAGE_LENGTH\n\n# Digest too short\nSign = RSA-2048\nDigest = SHA1\nInput = \"0123456789ABCDEF123\"\nError = INVALID_MESSAGE_LENGTH\n\nVerify = RSA-2048\nDigest = SHA1\nInput = \"0123456789ABCDEF123\"\nOutput = c09d402423cbf233d26cae21f954547bc43fe80fd41360a0336cfdbe9aedad05bef6fd2eaee6cd60089a52482d4809a238149520df3bdde4cb9e23d9307b05c0a6f327052325a29adf2cc95b66523be7024e2a585c3d4db15dfbe146efe0ecdc0402e33fe5d40324ee96c5c3edd374a15cdc0f5d84aa243c0f07e188c6518fbfceae158a9943be398e31097da81b62074f626eff738be6160741d5a26957a482b3251fd85d8df78b98148459de10aa93305dbb4a5230aa1da291a9b0e481918f99b7638d72bb687f97661d304ae145d64a474437a4ef39d7b8059332ddeb07e92bf6e0e3acaf8afedc93795e4511737ec1e7aab6d5bc9466afc950c1c17b48ad\nError = INVALID_MESSAGE_LENGTH\n\n# Digest too large for key.\nSign = RSA-512\nDigest = SHA512\nInput = \"0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF\"\nError = DIGEST_TOO_BIG_FOR_RSA_KEY\n\n# Mismatched digest\nVerify = RSA-2048\nDigest = SHA1\nInput = \"0123456789ABCDEF1233\"\nOutput = c09d402423cbf233d26cae21f954547bc43fe80fd41360a0336cfdbe9aedad05bef6fd2eaee6cd60089a52482d4809a238149520df3bdde4cb9e23d9307b05c0a6f327052325a29adf2cc95b66523be7024e2a585c3d4db15dfbe146efe0ecdc0402e33fe5d40324ee96c5c3edd374a15cdc0f5d84aa243c0f07e188c6518fbfceae158a9943be398e31097da81b62074f626eff738be6160741d5a26957a482b3251fd85d8df78b98148459de10aa93305dbb4a5230aa1da291a9b0e481918f99b7638d72bb687f97661d304ae145d64a474437a4ef39d7b8059332ddeb07e92bf6e0e3acaf8afedc93795e4511737ec1e7aab6d5bc9466afc950c1c17b48ad\nError = BAD_SIGNATURE\n\n# Corrupted signature\nVerify = RSA-2048\nDigest = SHA1\nInput = \"0123456789ABCDEF1233\"\nOutput = c09d402423cbf233d26cae21f954547bc43fe80fd41360a0336cfdbe9aedad05bef6fd2eaee6cd60089a52482d4809a238149520df3bdde4cb9e23d9307b05c0a6f327052325a29adf2cc95b66523be7024e2a585c3d4db15dfbe146efe0ecdc0402e33fe5d40324ee96c5c3edd374a15cdc0f5d84aa243c0f07e188c6518fbfceae158a9943be398e31097da81b62074f626eff738be6160741d5a26957a482b3251fd85d8df78b98148459de10aa93305dbb4a5230aa1da291a9b0e481918f99b7638d72bb687f97661d304ae145d64a474437a4ef39d7b8059332ddeb07e92bf6e0e3acaf8afedc93795e4511737ec1e7aab6d5bc9466afc950c1c17b48ae\nError = BLOCK_TYPE_IS_NOT_01\n\n# parameter missing (NOTE: this differs from upstream)\nVerify = RSA-2048\nDigest = SHA1\nInput = \"0123456789ABCDEF1234\"\nOutput = 3ec3fc29eb6e122bd7aa361cd09fe1bcbe85311096a7b9e4799cedfb2351ce0ab7fe4e75b4f6b37f67edd9c60c800f9ab941c0c157d7d880ca9de40c951d60fd293ae220d4bc510b1572d6e85a1bbbd8605b52e05f1c64fafdae59a1c2fbed214b7844d0134619de62851d5a0522e32e556e5950f3f97b8150e3f0dffee612c924201c27cd9bc8b423a71533380c276d3d59fcba35a2e80a1a192ec266a6c2255012cd86a349fe90a542b355fa3355b04da6cdf1df77f0e7bd44a90e880e1760266d233e465226f5db1c68857847d82072861ee266ddfc2e596845b77e1803274a579835ab5e4975d81d20b7df9cec7795489e4a2bdb8c1cf6a6b359945ac92c\nError = BAD_SIGNATURE\n\n# embedded digest too long\nVerify = RSA-2048\nDigest = SHA1\nInput = \"0123456789ABCDEF1234\"\nOutput = afec9a0d5330a08f54283bb4a9d4e7e7e70fc1342336c4c766fba713f66970151c6e27413c48c33864ea45a0238787004f338ed3e21b53b0fe9c1151c42c388cbc7cba5a06b706c407a5b48324fbe994dc7afc3a19fb3d2841e66222596c14cd72a0f0a7455a019d8eb554f59c0183f9552b75aa96fee8bf935945e079ca283d2bd3534a86f11351f6d6181fbf433e5b01a6d1422145c7a72214d3aacdd5d3af12b2d6bf6438f9f9a64010d8aeed801c87f0859412b236150b86a545f7239be022f4a7ad246b59df87514294cb4a4c7c5a997ee53c66054d9f38ca4e76c1f7af83c30f737ef70f83a45aebe18238ddb95e1998814ca4fc72388f1533147c169d\nError = BAD_SIGNATURE\n\n# embedded digest too short\nVerify = RSA-2048\nDigest = SHA1\nInput = \"0123456789ABCDEF1234\"\nOutput = afec9a0d5330a08f54283bb4a9d4e7e7e70fc1342336c4c766fba713f66970151c6e27413c48c33864ea45a0238787004f338ed3e21b53b0fe9c1151c42c388cbc7cba5a06b706c407a5b48324fbe994dc7afc3a19fb3d2841e66222596c14cd72a0f0a7455a019d8eb554f59c0183f9552b75aa96fee8bf935945e079ca283d2bd3534a86f11351f6d6181fbf433e5b01a6d1422145c7a72214d3aacdd5d3af12b2d6bf6438f9f9a64010d8aeed801c87f0859412b236150b86a545f7239be022f4a7ad246b59df87514294cb4a4c7c5a997ee53c66054d9f38ca4e76c1f7af83c30f737ef70f83a45aebe18238ddb95e1998814ca4fc72388f1533147c169d\nError = BAD_SIGNATURE\n\n# Garbage after DigestInfo\nVerify = RSA-2048\nDigest = SHA1\nInput = \"0123456789ABCDEF1234\"\nOutput = 9ee34872d4271a7d8808af0a4052a145a6d6a8437d00da3ed14428c7f087cd39f4d43334c41af63e7fa1ba363fee7bcef401d9d36a662abbab55ce89a696e1be0dfa19a5d09ca617dd488787b6048baaefeb29bc8688b2fe3882de2b77c905b5a8b56cf9616041e5ec934ba6de863efe93acc4eef783fe7f72a00fa65d6093ed32bf98ce527e62ccb1d56317f4be18b7e0f55d7c36617d2d0678a306e3350956b662ac15df45215dd8f6b314babb9788e6c272fa461e4c9b512a11a4b92bc77c3a4c95c903fccb238794eca5c750477bf56ea6ee6a167367d881b485ae3889e7c489af8fdf38e0c0f2aed780831182e34abedd43c39281b290774bf35cc25274\nError = BAD_SIGNATURE\n\n# invalid tag for parameter\nVerify = RSA-2048\nDigest = SHA1\nInput = \"0123456789ABCDEF1234\"\nOutput = 49525db4d44c755e560cba980b1d85ea604b0e077fcadd4ba44072a3487bbddb835016200a7d8739cce2dc3223d9c20cbdd25059ab02277f1f21318efd18e21038ec89aa9d40680987129e8b41ba33bceb86518bdf47268b921cce2037acabca6575d832499538d6f40cdba0d40bd7f4d8ea6ca6e2eec87f294efc971407857f5d7db09f6a7b31e301f571c6d82a5e3d08d2bb3a36e673d28b910f5bec57f0fcc4d968fd7c94d0b9226dec17f5192ad8b42bcab6f26e1bea1fdc3b958199acb00f14ebcb2a352f3afcedd4c09000128a603bbeb9696dea13040445253972d46237a25c7845e3b464e6984c2348ea1f1210a9ff0b00d2d72b50db00c009bb39f9\nError = BAD_SIGNATURE\n\n\n# RSA-PSS tests.\n\n# Zero salt leng", - "th makes the output deterministic\nSign = RSA-2048\nRSAPadding = PSS\nPSSSaltLength = 0\nDigest = SHA256\nInput = \"0123456789ABCDEF0123456789ABCDEF\"\nOutput = 4de433d5844043ef08d354da03cb29068780d52706d7d1e4d50efb7d58c9d547d83a747ddd0635a96b28f854e50145518482cb49e963054621b53c60c498d07c16e9c2789c893cf38d4d86900de71bde463bd2761d1271e358c7480a1ac0bab930ddf39602ad1bc165b5d7436b516b7a7858e8eb7ab1c420eeb482f4d207f0e462b1724959320a084e13848d11d10fb593e66bf680bf6d3f345fc3e9c3de60abbac37e1c6ec80a268c8d9fc49626c679097aa690bc1aa662b95eb8db70390861aa0898229f9349b4b5fdd030d4928c47084708a933144be23bd3c6e661b85b2c0ef9ed36d498d5b7320e8194d363d4ad478c059bae804181965e0b81b663158a\n\n# Verify of above signature\nVerify = RSA-2048-SPKI\nRSAPadding = PSS\nPSSSaltLength = 0\nDigest = SHA256\nInput = \"0123456789ABCDEF0123456789ABCDEF\"\nOutput = 4de433d5844043ef08d354da03cb29068780d52706d7d1e4d50efb7d58c9d547d83a747ddd0635a96b28f854e50145518482cb49e963054621b53c60c498d07c16e9c2789c893cf38d4d86900de71bde463bd2761d1271e358c7480a1ac0bab930ddf39602ad1bc165b5d7436b516b7a7858e8eb7ab1c420eeb482f4d207f0e462b1724959320a084e13848d11d10fb593e66bf680bf6d3f345fc3e9c3de60abbac37e1c6ec80a268c8d9fc49626c679097aa690bc1aa662b95eb8db70390861aa0898229f9349b4b5fdd030d4928c47084708a933144be23bd3c6e661b85b2c0ef9ed36d498d5b7320e8194d363d4ad478c059bae804181965e0b81b663158a\n\n# A non-zero salt length must be checked by round-tripping.\nSign = RSA-2048\nRSAPadding = PSS\nPSSSaltLength = 32\nDigest = SHA256\nInput = \"0123456789ABCDEF0123456789ABCDEF\"\nCheckVerify\n\n# Check a salt length with a non-standard digest length, to verify things are\n# not just working due to defaults. (The current default is a maximum salt\n# length, but the ecosystem has converged on matching the digest length, so we\n# may change this in the future.)\nSign = RSA-2048\nRSAPadding = PSS\nPSSSaltLength = 42\nDigest = SHA256\nInput = \"0123456789ABCDEF0123456789ABCDEF\"\nCheckVerify\n\n# Auto-detected salt length\nVerify = RSA-2048-SPKI\nRSAPadding = PSS\nPSSSaltLength = -2\nDigest = SHA256\nInput = \"0123456789ABCDEF0123456789ABCDEF\"\nOutput = 4de433d5844043ef08d354da03cb29068780d52706d7d1e4d50efb7d58c9d547d83a747ddd0635a96b28f854e50145518482cb49e963054621b53c60c498d07c16e9c2789c893cf38d4d86900de71bde463bd2761d1271e358c7480a1ac0bab930ddf39602ad1bc165b5d7436b516b7a7858e8eb7ab1c420eeb482f4d207f0e462b1724959320a084e13848d11d10fb593e66bf680bf6d3f345fc3e9c3de60abbac37e1c6ec80a268c8d9fc49626c679097aa690bc1aa662b95eb8db70390861aa0898229f9349b4b5fdd030d4928c47084708a933144be23bd3c6e661b85b2c0ef9ed36d498d5b7320e8194d363d4ad478c059bae804181965e0b81b663158a\n\n# Signing with salt length -1 means to match the digest length.\nSign = RSA-2048\nRSAPadding = PSS\nPSSSaltLength = -1\nVerifyPSSSaltLength = 32\nDigest = SHA256\nInput = \"0123456789ABCDEF0123456789ABCDEF\"\nCheckVerify\n\n# Signing with salt length -2 means to maximize the salt length.\nSign = RSA-2048\nRSAPadding = PSS\nPSSSaltLength = -2\nVerifyPSSSaltLength = 222 # 256 - 32 - 2\nDigest = SHA256\nInput = \"0123456789ABCDEF0123456789ABCDEF\"\nCheckVerify\n\n# Wrong digest\nVerify = RSA-2048-SPKI\nRSAPadding = PSS\nPSSSaltLength = 0\nDigest = SHA256\nInput = \"00000000000000000000000000000000\"\nOutput = 4de433d5844043ef08d354da03cb29068780d52706d7d1e4d50efb7d58c9d547d83a747ddd0635a96b28f854e50145518482cb49e963054621b53c60c498d07c16e9c2789c893cf38d4d86900de71bde463bd2761d1271e358c7480a1ac0bab930ddf39602ad1bc165b5d7436b516b7a7858e8eb7ab1c420eeb482f4d207f0e462b1724959320a084e13848d11d10fb593e66bf680bf6d3f345fc3e9c3de60abbac37e1c6ec80a268c8d9fc49626c679097aa690bc1aa662b95eb8db70390861aa0898229f9349b4b5fdd030d4928c47084708a933144be23bd3c6e661b85b2c0ef9ed36d498d5b7320e8194d363d4ad478c059bae804181965e0b81b663158a\nError = BAD_SIGNATURE\n\n# Digest too short\nVerify = RSA-2048-SPKI\nRSAPadding = PSS\nPSSSaltLength = 0\nDigest = SHA256\nInput = \"0123456789ABCDEF0123456789ABCDE\"\nOutput = 4de433d5844043ef08d354da03cb29068780d52706d7d1e4d50efb7d58c9d547d83a747ddd0635a96b28f854e50145518482cb49e963054621b53c60c498d07c16e9c2789c893cf38d4d86900de71bde463bd2761d1271e358c7480a1ac0bab930ddf39602ad1bc165b5d7436b516b7a7858e8eb7ab1c420eeb482f4d207f0e462b1724959320a084e13848d11d10fb593e66bf680bf6d3f345fc3e9c3de60abbac37e1c6ec80a268c8d9fc49626c679097aa690bc1aa662b95eb8db70390861aa0898229f9349b4b5fdd030d4928c47084708a933144be23bd3c6e661b85b2c0ef9ed36d498d5b7320e8194d363d4ad478c059bae804181965e0b81b663158a\nError = INVALID_MESSAGE_LENGTH\n\n# Digest too long\nVerify = RSA-2048-SPKI\nRSAPadding = PSS\nPSSSaltLength = 0\nDigest = SHA256\nInput = \"0123456789ABCDEF0123456789ABCDEF0\"\nOutput = 4de433d5844043ef08d354da03cb29068780d52706d7d1e4d50efb7d58c9d547d83a747ddd0635a96b28f854e50145518482cb49e963054621b53c60c498d07c16e9c2789c893cf38d4d86900de71bde463bd2761d1271e358c7480a1ac0bab930ddf39602ad1bc165b5d7436b516b7a7858e8eb7ab1c420eeb482f4d207f0e462b1724959320a084e13848d11d10fb593e66bf680bf6d3f345fc3e9c3de60abbac37e1c6ec80a268c8d9fc49626c679097aa690bc1aa662b95eb8db70390861aa0898229f9349b4b5fdd030d4928c47084708a933144be23bd3c6e661b85b2c0ef9ed36d498d5b7320e8194d363d4ad478c059bae804181965e0b81b663158a\nError = INVALID_MESSAGE_LENGTH\n\n# Wrong salt length\nVerify = RSA-2048\nRSAPadding = PSS\nPSSSaltLength = 2\nDigest = SHA256\nInput = \"0123456789ABCDEF0123456789ABCDEF\"\nOutput = 4de433d5844043ef08d354da03cb29068780d52706d7d1e4d50efb7d58c9d547d83a747ddd0635a96b28f854e50145518482cb49e963054621b53c60c498d07c16e9c2789c893cf38d4d86900de71bde463bd2761d1271e358c7480a1ac0bab930ddf39602ad1bc165b5d7436b516b7a7858e8eb7ab1c420eeb482f4d207f0e462b1724959320a084e13848d11d10fb593e66bf680bf6d3f345fc3e9c3de60abbac37e1c6ec80a268c8d9fc49626c679097aa690bc1aa662b95eb8db70390861aa0898229f9349b4b5fdd030d4928c47084708a933144be23bd3c6e661b85b2c0ef9ed36d498d5b7320e8194d363d4ad478c059bae804181965e0b81b663158a\nError = SLEN_CHECK_FAILED\n\n# Wrong salt length using implicit hash length\nVerify = RSA-2048\nRSAPadding = PSS\nPSSSaltLength = -1\nDigest = SHA256\nInput = \"0123456789ABCDEF0123456789ABCDEF\"\nOutput = 4de433d5844043ef08d354da03cb29068780d52706d7d1e4d50efb7d58c9d547d83a747ddd0635a96b28f854e50145518482cb49e963054621b53c60c498d07c16e9c2789c893cf38d4d86900de71bde463bd2761d1271e358c7480a1ac0bab930ddf39602ad1bc165b5d7436b516b7a7858e8eb7ab1c420eeb482f4d207f0e462b1724959320a084e13848d11d10fb593e66bf680bf6d3f345fc3e9c3de60abbac37e1c6ec80a268c8d9fc49626c679097aa690bc1aa662b95eb8db70390861aa0898229f9349b4b5fdd030d4928c47084708a933144be23bd3c6e661b85b2c0ef9ed36d498d5b7320e8194d363d4ad478c059bae804181965e0b81b663158a\nError = SLEN_CHECK_FAILED\n\n# Wrong MGF1 digest, SHA-1\nVerify = RSA-2048\nRSAPadding = PSS\nPSSSaltLength = 0\nDigest = SHA256\nMGF1Digest = SHA1\nInput = \"0123456789ABCDEF0123456789ABCDEF\"\nOutput = 4de433d5844043ef08d354da03cb29068780d52706d7d1e4d50efb7d58c9d547d83a747ddd0635a96b28f854e50145518482cb49e963054621b53c60c498d07c16e9c2789c893cf38d4d86900de71bde463bd2761d1271e358c7480a1ac0bab930ddf39602ad1bc165b5d7436b516b7a7858e8eb7ab1c420eeb482f4d207f0e462b1724959320a084e13848d11d10fb593e66bf680bf6d3f345fc3e9c3de60abbac37e1c6ec80a268c8d9fc49626c679097aa690bc1aa662b95eb8db70390861aa0898229f9349b4b5fdd030d4928c47084708a933144be23bd3c6e661b85b2c0ef9ed36d498d5b7320e8194d363d4ad478c059bae804181965e0b81b663158a\n# If SHA-1, this input happens to succeed recovering a salt length, but it does\n# not match.\nError = SLEN_CHECK_FAILED\n\n# Wrong MGF1 digest, SHA-384\nVerify = RSA-2048\nRSAPadding = PSS\nPSSSaltLength = 0\nDigest = SHA256\nMGF1Digest = SHA384\nInput = \"0123456789ABCDEF0123456789ABCDEF\"\nOutput = 4de433d5844043ef08d354da03cb29068780d52706d7d1e4d50efb7d58c9d547d83a747ddd0635a96b28f854e50145518482cb49e963054621b53c60c498d07c16e9c2789c893cf38d4d86900de71bde463bd2761d1271e358c7480a1ac0bab930ddf39602ad1bc165b5d7436b516b7a7858e8eb7ab1c420eeb482f4d207f0e462b1724959320a084e13848d11d10fb593e66bf680bf6d3f345fc3e9c3de60abbac37e1c6ec80a268c8d9fc49626c679097aa690bc1aa662b95eb8db70390861aa0898229f9349b4b5fdd030d4928c47084708a933144be23bd3c6e661b85b2c0ef9ed36d498d5b7320e8194d363d4ad478c059bae804181965e0b81b663158a\n# If SHA-384, this input happens fail to recover the salt length altogether.\nError = SLEN_RECOVERY_FAILED\n\n# The salt length is too large for the modulus (signing).\nSign = RSA-2048\nRSAPadding = PSS\nPSSSaltLength = 223\nDigest = SHA256\nInput = ", - "\"0123456789ABCDEF0123456789ABCDEF\"\nError = DATA_TOO_LARGE_FOR_KEY_SIZE\n\n# The salt length is too large for the modulus (verifying).\nVerify = RSA-2048\nRSAPadding = PSS\nPSSSaltLength = 223\nDigest = SHA256\nInput = \"0123456789ABCDEF0123456789ABCDEF\"\nOutput = 4de433d5844043ef08d354da03cb29068780d52706d7d1e4d50efb7d58c9d547d83a747ddd0635a96b28f854e50145518482cb49e963054621b53c60c498d07c16e9c2789c893cf38d4d86900de71bde463bd2761d1271e358c7480a1ac0bab930ddf39602ad1bc165b5d7436b516b7a7858e8eb7ab1c420eeb482f4d207f0e462b1724959320a084e13848d11d10fb593e66bf680bf6d3f345fc3e9c3de60abbac37e1c6ec80a268c8d9fc49626c679097aa690bc1aa662b95eb8db70390861aa0898229f9349b4b5fdd030d4928c47084708a933144be23bd3c6e661b85b2c0ef9ed36d498d5b7320e8194d363d4ad478c059bae804181965e0b81b663158a\nError = DATA_TOO_LARGE\n\n# The hash is too large for the modulus (signing).\nSign = RSA-512\nRSAPadding = PSS\nPSSSaltLength = 0\nDigest = SHA512\nInput = \"0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF\"\nError = DATA_TOO_LARGE_FOR_KEY_SIZE\n\nSign = RSA-512\nRSAPadding = PSS\nPSSSaltLength = -2\nDigest = SHA512\nInput = \"0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF\"\nError = DATA_TOO_LARGE_FOR_KEY_SIZE\n\n# The hash is too large for the modulus (verifying).\nVerify = RSA-512\nRSAPadding = PSS\nPSSSaltLength = 0\nDigest = SHA512\nInput = \"0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF\"\nOutput = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\nError = DATA_TOO_LARGE\n\nVerify = RSA-512\nRSAPadding = PSS\nPSSSaltLength = -2\nDigest = SHA512\nInput = \"0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF\"\nOutput = 457001d9ca50a93385fc5ec721c9dbbe7a0f2e9e4a2f846a30a8811dde66347b83901c7492039243537c7a667fafffd69049bcbd36afd0010d9b425e2d8785c1\nError = DATA_TOO_LARGE\n\n# Sample RSA-515 signature.\nVerify = RSA-515\nRSAPadding = PSS\nPSSSaltLength = 0\nDigest = SHA256\nInput = \"0123456789ABCDEF0123456789ABCDEF\"\nOutput = 00c5926600f160f85e7fe950cfe123908384211cd8fe25c90cb8e8cc0593308e9aa2efe3acbf100ec1658ded8f72f506525fc2c44f06251b08d896e7bb3f05b135\n\n# The above, but with too few leading zeros.\nVerify = RSA-515\nRSAPadding = PSS\nPSSSaltLength = 0\nDigest = SHA256\nInput = \"0123456789ABCDEF0123456789ABCDEF\"\nOutput = c5926600f160f85e7fe950cfe123908384211cd8fe25c90cb8e8cc0593308e9aa2efe3acbf100ec1658ded8f72f506525fc2c44f06251b08d896e7bb3f05b135\nError = DATA_LEN_NOT_EQUAL_TO_MOD_LEN\n\n# The above, but with too many leading zeros.\nVerify = RSA-515\nRSAPadding = PSS\nPSSSaltLength = 0\nDigest = SHA256\nInput = \"0123456789ABCDEF0123456789ABCDEF\"\nOutput = 0000c5926600f160f85e7fe950cfe123908384211cd8fe25c90cb8e8cc0593308e9aa2efe3acbf100ec1658ded8f72f506525fc2c44f06251b08d896e7bb3f05b135\nError = DATA_LEN_NOT_EQUAL_TO_MOD_LEN\n\n# The above with an invalid leading byte. The top few bits of EM are required to\n# be cleared.\nVerify = RSA-515\nRSAPadding = PSS\nPSSSaltLength = 0\nDigest = SHA256\nInput = \"0123456789ABCDEF0123456789ABCDEF\"\nOutput = 007f803c832a2090aea04013d9fa9c1630732a1625232826d235f0950f7050d3fb0eb06ef9ea8b260fad68e1165a2d770a8c7fc7a8aaa68620b021fc19c97e0041\nError = FIRST_OCTET_INVALID\n\n# The above with an invalid trailing byte.\nVerify = RSA-515\nRSAPadding = PSS\nPSSSaltLength = 0\nDigest = SHA256\nInput = \"0123456789ABCDEF0123456789ABCDEF\"\nOutput = 03e68555035891eb08d96c0967db22328cd892ad2856d88516ecb946bfdba732bb029b5c0dfa2119ed7349897d2324e95e86d91d0c4afc82700a36db8933abbf58\nError = LAST_OCTET_INVALID\n\n# Non-zero salt length.\nVerify = RSA-2048-SPKI\nRSAPadding = PSS\nPSSSaltLength = 32\nDigest = SHA256\nInput = \"0123456789ABCDEF0123456789ABCDEF\"\nOutput = 4065b284b0a6e98d4c41a8427007f878d8dd61599c87764fa79b8bf03f030c48127a4b1a5af5a6e0cf9055e57a1f47e5b0c0d8c600e78369cf1c39374899fac91a812692aa2216ba10900ce85a5cf7fddcafb726e4b83479c5bb7b3b84b08ffe183b4c2973aa3193ec7b7d4ea73bf1b579c6657b78ad7800e1975a4838c28ffe353fafef96be27b5c69677760a71b6f4df65ba6fe6b3565580a536f966928294c6e9ece807a90c1477779bcbfa3a250e98d685097c162c1c8c56ab02bd2e16eec7a019b51c067bdba7fa8cd5460796e22c607a8b6d12e1deb9be51c6943c46590f416800c48bb4cbb8c409d316573e59eadf7d3b9e6e5c2d0e570692e511e139\n\n# Non-zero salt length, wrong salt length.\nVerify = RSA-2048-SPKI\nRSAPadding = PSS\nPSSSaltLength = 31\nDigest = SHA256\nInput = \"0123456789ABCDEF0123456789ABCDEF\"\nOutput = 4065b284b0a6e98d4c41a8427007f878d8dd61599c87764fa79b8bf03f030c48127a4b1a5af5a6e0cf9055e57a1f47e5b0c0d8c600e78369cf1c39374899fac91a812692aa2216ba10900ce85a5cf7fddcafb726e4b83479c5bb7b3b84b08ffe183b4c2973aa3193ec7b7d4ea73bf1b579c6657b78ad7800e1975a4838c28ffe353fafef96be27b5c69677760a71b6f4df65ba6fe6b3565580a536f966928294c6e9ece807a90c1477779bcbfa3a250e98d685097c162c1c8c56ab02bd2e16eec7a019b51c067bdba7fa8cd5460796e22c607a8b6d12e1deb9be51c6943c46590f416800c48bb4cbb8c409d316573e59eadf7d3b9e6e5c2d0e570692e511e139\nError = SLEN_CHECK_FAILED\n\n# Non-zero salt length, match hash length.\nVerify = RSA-2048-SPKI\nRSAPadding = PSS\nPSSSaltLength = -1\nDigest = SHA256\nInput = \"0123456789ABCDEF0123456789ABCDEF\"\nOutput = 4065b284b0a6e98d4c41a8427007f878d8dd61599c87764fa79b8bf03f030c48127a4b1a5af5a6e0cf9055e57a1f47e5b0c0d8c600e78369cf1c39374899fac91a812692aa2216ba10900ce85a5cf7fddcafb726e4b83479c5bb7b3b84b08ffe183b4c2973aa3193ec7b7d4ea73bf1b579c6657b78ad7800e1975a4838c28ffe353fafef96be27b5c69677760a71b6f4df65ba6fe6b3565580a536f966928294c6e9ece807a90c1477779bcbfa3a250e98d685097c162c1c8c56ab02bd2e16eec7a019b51c067bdba7fa8cd5460796e22c607a8b6d12e1deb9be51c6943c46590f416800c48bb4cbb8c409d316573e59eadf7d3b9e6e5c2d0e570692e511e139\n\n# Non-zero salt length, auto-detected.\nVerify = RSA-2048-SPKI\nRSAPadding = PSS\nPSSSaltLength = -2\nDigest = SHA256\nInput = \"0123456789ABCDEF0123456789ABCDEF\"\nOutput = 4065b284b0a6e98d4c41a8427007f878d8dd61599c87764fa79b8bf03f030c48127a4b1a5af5a6e0cf9055e57a1f47e5b0c0d8c600e78369cf1c39374899fac91a812692aa2216ba10900ce85a5cf7fddcafb726e4b83479c5bb7b3b84b08ffe183b4c2973aa3193ec7b7d4ea73bf1b579c6657b78ad7800e1975a4838c28ffe353fafef96be27b5c69677760a71b6f4df65ba6fe6b3565580a536f966928294c6e9ece807a90c1477779bcbfa3a250e98d685097c162c1c8c56ab02bd2e16eec7a019b51c067bdba7fa8cd5460796e22c607a8b6d12e1deb9be51c6943c46590f416800c48bb4cbb8c409d316573e59eadf7d3b9e6e5c2d0e570692e511e139\n\n\n# RSA decrypt\n\nDecrypt = RSA-2048\nInput = 550af55a2904e7b9762352f8fb7fa235a9cb053aacb2d5fcb8ca48453cb2ee3619746c701abf2d4cc67003471a187900b05aa812bd25ed05c675dfc8c97a24a7bf49bd6214992cad766d05a9a2b57b74f26a737e0237b8b76c45f1f226a836d7cfbc75ba999bdbe48dbc09227aa46c88f21dccba7840141ad5a5d71fd122e6bd6ac3e564780dfe623fc1ca9b995a6037bf0bbd43b205a84ac5444f34202c05ce9113087176432476576de6ffff9a52ea57c08be3ec2f49676cb8e12f762ac71fa3c321e00ac988910c85ff52f93825666ce0d40ffaa0592078919d4493f46d95ccf76364c6d57760dd0b64805f9afc76a2365a5575ca301d5103f0ea76cb9a78\nOutput = \"Hello World\"\n\n# Corrupted ciphertext\nDecrypt = RSA-2048\nInput = 550af55a2904e7b9762352f8fb7fa235a9cb053aacb2d5fcb8ca48453cb2ee3619746c701abf2d4cc67003471a187900b05aa812bd25ed05c675dfc8c97a24a7bf49bd6214992cad766d05a9a2b57b74f26a737e0237b8b76c45f1f226a836d7cfbc75ba999bdbe48dbc09227aa46c88f21dccba7840141ad5a5d71fd122e6bd6ac3e564780dfe623fc1ca9b995a6037bf0bbd43b205a84ac5444f34202c05ce9113087176432476576de6ffff9a52ea57c08be3ec2f49676cb8e12f762ac71fa3c321e00ac988910c85ff52f93825666ce0d40ffaa0592078919d4493f46d95ccf76364c6d57760dd0b64805f9afc76a2365a5575ca301d5103f0ea76cb9a79\nError = PKCS_DECODING_ERROR\n\n# OAEP padding\nDecrypt = RSA-2048\nRSAPadding = OAEP\nInput = 458708dfbd42a1297ce7a9c86c7087ab80b1754810929b89c5107ca55368587686986fce94d86cc1595b3fb736223a656ec0f34d18ba1cc5665593610f56c58e26b272d584f3d983a5c91085700755aebd921fb280bba3eda7046ec07b43e7298e52d59edc92be4639a8ce08b2f85976ecf6d98cc469eeb9d5d8e2a32ea8a6626edafe1038b3df455668a9f3c77cad8b92fb872e00058c3d2a7ede1a1f03fc5622084ae04d9d24f6bf0995c58d35b93b699b9763595e123f2ab0863cc9229eb290e2ede7715c7a8f39e0b9a3e2e1b56ebb62f1cbfbb5986fb212ebd785b83d01d968b11d1756c7337f70c1f1a63bff03608e24f3a2fd44e67f832a8701c5d5af\nOutput = \"Hello World\"\n\n# OAEP padding with label and custom hash.\nDecrypt = RSA-2048\nRSAPadding = OAEP\nOAEPDigest = SHA512\nOAEPLabel = 00112233445566778899aabbccddeeff\nInput = 48b956c22b8e40cc38f", - "0893672ddf488fc806cf1fcc6239c66dd8345eb543d6b5cac589e6c7ae86dac1c2436c4d72c48009a737b2c649e6000dbab17203e4d9c078bd70b649700a0830d4ddc396af0c48973177a229e48259d93247f04f76474c7611b530c66f020c4da2cc861c2e4104831ecc0336e0cb10d6520fdefd0b33606f5cdd736dd439583b9b6011cce99623c93caf5f76e21e9fefab414795dd5ac12cba551be74ebf266834fcffab182c5e7c9b6c064df154cb26ddfd4fe2fd87590005f4bf45e776a0082803e9f68995b8eeb4c6802c67b5ef349e5b2dc0cf7a12fc097030f2bd28f0253f17129b04c82993a12957728b35880fdd2f8d0cc469f\nOutput = \"Hello World\"\n\n# OAEP padding, corrupted ciphertext\nDecrypt = RSA-2048\nRSAPadding = OAEP\nInput = 458708dfbd42a1297ce7a9c86c7087ab80b1754810929b89c5107ca55368587686986fce94d86cc1595b3fb736223a656ec0f34d18ba1cc5665593610f56c58e26b272d584f3d983a5c91085700755aebd921fb280bba3eda7046ec07b43e7298e52d59edc92be4639a8ce08b2f85976ecf6d98cc469eeb9d5d8e2a32ea8a6626edafe1038b3df455668a9f3c77cad8b92fb872e00058c3d2a7ede1a1f03fc5622084ae04d9d24f6bf0995c58d35b93b699b9763595e123f2ab0863cc9229eb290e2ede7715c7a8f39e0b9a3e2e1b56ebb62f1cbfbb5986fb212ebd785b83d01d968b11d1756c7337f70c1f1a63bff03608e24f3a2fd44e67f832a8701c5d5ac\nError = OAEP_DECODING_ERROR\n\n# Test that RSA encryption successfully round-trips through decryption\n# with various parameters.\nEncrypt = RSA-2048\nInput = \"Hello World\"\nCheckDecrypt\n\nEncrypt = RSA-2048\nRSAPadding = OAEP\nInput = \"Hello World\"\nCheckDecrypt\n\nEncrypt = RSA-2048\nRSAPadding = OAEP\nOAEPDigest = SHA512\nOAEPLabel = 00112233445566778899aabbccddeeff\nInput = \"Hello World\"\nCheckDecrypt\n\n# Though we will never generate such a key, test that RSA keys where p < q work\n# properly.\nPrivateKey = RSA-Swapped\nType = RSA\nInput = 30820275020100300d06092a864886f70d01010105000482025f3082025b02010002818100ab28f98747934779011417d5bbb4095eae6f48ed09e13081616cf390aac75b10a206a98953d402647dfef7fa363be2765a303b05ec388bd9a1d75123a1205b4ecb43c33f2e37d3e30842181d694a3acfc39afc52554946e699d97d97066596a46725ce6dea322623afcafecbd2884d9a0c5eae9c4d7da8874c29c19edb762e1902030100010281800d637ea568e169f15ab6be288f6ec55edd29425c9c6dbb941b5160fa1b89cda34ef15378b5107c016d63b0f52721e71497f876dd7f3d6b1f228c4bc20c3c12384644200e91130c9195660d1e706f55b2accf00c5e2174a1d9ee289f0e763ee58860485ec97d19d7fa2df38af5b5910b1fa52087768d288e6ec4c8d5eca23c8d3024100be757a24dc2c923692d964693b2d71ca33ccb2f946f9e5232d2090b715a97dca554068fab8876105bc9ed6dccfd0917c5e0b80339306535c3eeb787e89397bc7024100e60f5c9e52434da079b8c641791a81a96daa4d9921a07e5b48292a9fce230df7c9fc2b97b5e38834ed5caaa387a0bca35c474e989a68dd65b79a6f691a74471f0240438ccf017bc5a3260ff76291a01782204136fcd344c524ebd0f997da17a8c1a09d93f6a7d602cdfa86e79f3539cfb389f4a1079b432e1f2abc762f8a51893dc9024046604ca4e1e554c9d27283b363a888219c3a8ca25b770d303f52d8872a37eefdedfc0619d2ba57e058fc0ff71676453e73ec1c4ef26d41ccebed824754a05d6102404445374d8450e753e0a42085b56b0d6d500b3e3518536dc8f12ec8fd77aa75491835327ac0e12d73b5c3f1b09d03f6a24fe63b9c551dee6559b625435ec92429\n\nSign = RSA-Swapped\nDigest = SHA256\nInput = \"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\"\nOutput = 07fa4e3de9c002c41c952dc292ef5a814c4c17dc1a6cf958c4c971e8089676d6661b442270ef9295c41e5385c9628aa1bdee2cc2558b8473ba212f2ba04b9ff2264c19187b9506b1d0a1cc2751844cc8dedf555d62ce81bc0e70bfe83d0184ee964593af91b9b327c0fb272c799148cd8737d412cbf36c2ad25fd66977bf805f\n\n# Though we will never generate such a key, test that RSA keys where p and q are\n# different sizes work properly.\nPrivateKey = RSA-PrimeMismatch\nType = RSA\nInput = 30820295020100300d06092a864886f70d01010105000482027f3082027b02010002818100c766f4fef89f5e9a8e13ed500fb38523ea94d7f8be066900eee58c913b4c6fdcb13d63d39b9108feabcefd1ffd04776403dc58f968ae817977d0809e567d8af512d604a0e9cb448fa5e402204ee519712a5ebbfd002faf8169495a782f54366b4665aac0d968bfec63c5446b6f9b13061c7f3d1f3f1b6bede8fff881b410a66f0203010001028180528c062f49485c771a0b18ca747d8a47f8941ea63c305626cb3f1f067e6861c4441c432687dbd08d484aac3b01f3ffdc3b762c719167f7cb22e565aa6acd597306ef6f7828b9720e9d440816186d940c4c5a9720dddf71fe0b59483f02a751515c8c27e43c575d6725d55f5bb77e0f977773b00afc058cfab6617ec90d0b62a9026100cb8f97c37b4fbc298b645bc3dc0526f8a4274e9a193b33c3acb76499b5b96330e4b586cbaa56368ffc12644952322253bc669496d572c0980f125fd7273739cf790d24401052b13732114d397c8c16a44716dc62d2320fb1ced99290dfd53e07022100fac51ac653609cdaba53280c6b6f209052e270be0c3c68fe8b37d6bf05fbba59026038dff2f04c58d7e2e7ae6fb1469d2de954bc22cb0d77ac1be4fb0ca1a1d39d7240c4b357de4cde4bd68b30f8077e38771af1b25c7e60e48cd7d1337402e1fc460ab57046720918b8aa4589452196669119c7ba65e602d4bdc264a9fdce7c5f2b0220773af0180bdc8bb7938fa6230191bcb1e236b7d4248d347e9242e25fc0c0874102605c4894cde334889f5b52ed8f86a2ee9c1fbe4166287e24ce44f3093bff383962f08043842f6ff3e6002104b0e29442c4a4483c5d06e2254fbe5e3930de3d0e28af10e96c6e341a4b8859382dbba24536a38ae71118e3e22413a93f298a7f744c\n\nSign = RSA-PrimeMismatch\nDigest = SHA256\nInput = \"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\"\nOutput = 6192b1ce630c87d02e8245fd74d4f6ecac37eef979d188c8fa48c4d355fbe814e7dd3152f42bb020d769b540d11867af5b947387b8c99158d56901ff3708e423931178213916ae1002f162c9d497aacacdcb20e6ffe7ed40138a253fc943ddf3587433df5831a3ce46aeefce358a009bf6bad12d82d77424c2755d984d7da196\n\n\n# EC tests\n\nVerify = P-256\nDigest = SHA1\nInput = \"0123456789ABCDEF1234\"\nOutput = 3045022100b1d1cb1a577035bccdd5a86c6148c2cc7c633cd42b7234139b593076d041e15202201898cdd52b41ca502098184b409cf83a21bc945006746e3b7cea52234e043ec8\n\nVerify = P-256-SPKI\nDigest = SHA1\nInput = \"0123456789ABCDEF1234\"\nOutput = 3045022100b1d1cb1a577035bccdd5a86c6148c2cc7c633cd42b7234139b593076d041e15202201898cdd52b41ca502098184b409cf83a21bc945006746e3b7cea52234e043ec8\n\n# Digest too long\nVerify = P-256\nDigest = SHA1\nInput = \"0123456789ABCDEF12345\"\nOutput = 3045022100b1d1cb1a577035bccdd5a86c6148c2cc7c633cd42b7234139b593076d041e15202201898cdd52b41ca502098184b409cf83a21bc945006746e3b7cea52234e043ec8\nError = BAD_SIGNATURE\n\n# Digest too short\nVerify = P-256\nDigest = SHA1\nInput = \"0123456789ABCDEF123\"\nOutput = 3045022100b1d1cb1a577035bccdd5a86c6148c2cc7c633cd42b7234139b593076d041e15202201898cdd52b41ca502098184b409cf83a21bc945006746e3b7cea52234e043ec8\nError = BAD_SIGNATURE\n\n# Digest invalid\nVerify = P-256\nDigest = SHA1\nInput = \"0123456789ABCDEF1235\"\nOutput = 3045022100b1d1cb1a577035bccdd5a86c6148c2cc7c633cd42b7234139b593076d041e15202201898cdd52b41ca502098184b409cf83a21bc945006746e3b7cea52234e043ec8\nError = BAD_SIGNATURE\n\n# Invalid signature\nVerify = P-256\nDigest = SHA1\nInput = \"0123456789ABCDEF1234\"\nOutput = 3045022100b1d1cb1a577035bccdd5a86c6148c2cc7c633cd42b7234139b593076d041e15202201898cdd52b41ca502098184b409cf83a21bc945006746e3b7cea52234e043ec7\nError = BAD_SIGNATURE\n\n# Garbage after signature\nVerify = P-256\nDigest = SHA1\nInput = \"0123456789ABCDEF1234\"\nOutput = 3045022100b1d1cb1a577035bccdd5a86c6148c2cc7c633cd42b7234139b593076d041e15202201898cdd52b41ca502098184b409cf83a21bc945006746e3b7cea52234e043ec800\nError = BAD_SIGNATURE\n\n# BER signature\nVerify = P-256\nDigest = SHA1\nInput = \"0123456789ABCDEF1234\"\nOutput = 3080022100b1d1cb1a577035bccdd5a86c6148c2cc7c633cd42b7234139b593076d041e15202201898cdd52b41ca502098184b409cf83a21bc945006746e3b7cea52234e043ec80000\nError = BAD_SIGNATURE\n\n\n# Additional RSA-PSS and RSA-OAEP tests converted from\n# ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-1/pkcs-1v2-1-vec.zip\n\nPublicKey = RSA-PSS-1\nType = RSA\nInput = 30819f300d06092a864886f70d010101050003818d0030818902818100a56e4a0e701017589a5187dc7ea841d156f2ec0e36ad52a44dfeb1e61f7ad991d8c51056ffedb162b4c0f283a12a88a394dff526ab7291cbb307ceabfce0b1dfd5cd9508096d5b2b8b6df5d671ef6377c0921cb23c270a70e2598e6ff89d19f105acc2d3f0cb35f29280e1386b6f64c4ef22e1e1f20d0ce8cffb2249bd9a21370203010001\n\nVerify = RSA-PSS-1\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = cd8b6538cb8e8de566b68bd067569dbf1ee2718e\nOutput = 9074308fb598e9701b2294388e52f971faac2b60a5145af185df5287b5ed2887e57ce7fd44dc8634e407c8e0e4360bc226f3ec227f9d9e54638e8d31f5051215df6ebb9c2f9579aa77598a38f914b5b9c1bd83c4e2f9f382a0d0aa3542ffee65984a601bc69eb28deb27dca12c82c2d4c3f66cd500f1ff2b994d8a4e30cbb33c\n\nVerify = RSA-PSS-1\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = e35befc17a1d160b9ce35fbd8eb16e7ee491d3fd\nOutput = 3ef7f46e831bf92b32274142a585ffcefbdca7b32ae90d10fb0f0c729984f04ef29a9df0780775ce43739b97838390db0a5505e63de927028d9d29b219ca2c4517832558a55d694a6", - "d25b9dab66003c4cccd907802193be5170d26147d37b93590241be51c25055f47ef62752cfbe21418fafe98c22c4d4d47724fdb5669e843\n\nVerify = RSA-PSS-1\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 0652ec67bcee30f9d2699122b91c19abdba89f91\nOutput = 666026fba71bd3e7cf13157cc2c51a8e4aa684af9778f91849f34335d141c00154c4197621f9624a675b5abc22ee7d5baaffaae1c9baca2cc373b3f33e78e6143c395a91aa7faca664eb733afd14d8827259d99a7550faca501ef2b04e33c23aa51f4b9e8282efdb728cc0ab09405a91607c6369961bc8270d2d4f39fce612b1\n\nVerify = RSA-PSS-1\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 39c21c4cceda9c1adf839c744e1212a6437575ec\nOutput = 4609793b23e9d09362dc21bb47da0b4f3a7622649a47d464019b9aeafe53359c178c91cd58ba6bcb78be0346a7bc637f4b873d4bab38ee661f199634c547a1ad8442e03da015b136e543f7ab07c0c13e4225b8de8cce25d4f6eb8400f81f7e1833b7ee6e334d370964ca79fdb872b4d75223b5eeb08101591fb532d155a6de87\n\nVerify = RSA-PSS-1\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 36dae913b77bd17cae6e7b09453d24544cebb33c\nOutput = 1d2aad221ca4d31ddf13509239019398e3d14b32dc34dc5af4aeaea3c095af73479cf0a45e5629635a53a018377615b16cb9b13b3e09d671eb71e387b8545c5960da5a64776e768e82b2c93583bf104c3fdb23512b7b4e89f633dd0063a530db4524b01c3f384c09310e315a79dcd3d684022a7f31c865a664e316978b759fad\n\nVerify = RSA-PSS-1\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 45eef191f4f79c31fe5d2ede7e5098994e929d2d\nOutput = 2a34f6125e1f6b0bf971e84fbd41c632be8f2c2ace7de8b6926e31ff93e9af987fbc06e51e9be14f5198f91f3f953bd67da60a9df59764c3dc0fe08e1cbef0b75f868d10ad3fba749fef59fb6dac46a0d6e504369331586f58e4628f39aa278982543bc0eeb537dc61958019b394fb273f215858a0a01ac4d650b955c67f4c58\n\nPublicKey = RSA-PSS-2\nType = RSA\nInput = 30819f300d06092a864886f70d010101050003818d0030818902818101d40c1bcf97a68ae7cdbd8a7bf3e34fa19dcca4ef75a47454375f94514d88fed006fb829f8419ff87d6315da68a1ff3a0938e9abb3464011c303ad99199cf0c7c7a8b477dce829e8844f625b115e5e9c4a59cf8f8113b6834336a2fd2689b472cbb5e5cabe674350c59b6c17e176874fb42f8fc3d176a017edc61fd326c4b33c90203010001\n\nVerify = RSA-PSS-2\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 5c81a3e2a658246628cd0ee8b00bb4c012bc9739\nOutput = 014c5ba5338328ccc6e7a90bf1c0ab3fd606ff4796d3c12e4b639ed9136a5fec6c16d8884bdd99cfdc521456b0742b736868cf90de099adb8d5ffd1deff39ba4007ab746cefdb22d7df0e225f54627dc65466131721b90af445363a8358b9f607642f78fab0ab0f43b7168d64bae70d8827848d8ef1e421c5754ddf42c2589b5b3\n\nVerify = RSA-PSS-2\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 27f71611446aa6eabf037f7dedeede3203244991\nOutput = 010991656cca182b7f29d2dbc007e7ae0fec158eb6759cb9c45c5ff87c7635dd46d150882f4de1e9ae65e7f7d9018f6836954a47c0a81a8a6b6f83f2944d6081b1aa7c759b254b2c34b691da67cc0226e20b2f18b42212761dcd4b908a62b371b5918c5742af4b537e296917674fb914194761621cc19a41f6fb953fbcbb649dea\n\nVerify = RSA-PSS-2\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 03ecc2c33e93f05fc7224fcc0d461356cb897217\nOutput = 007f0030018f53cdc71f23d03659fde54d4241f758a750b42f185f87578520c30742afd84359b6e6e8d3ed959dc6fe486bedc8e2cf001f63a7abe16256a1b84df0d249fc05d3194ce5f0912742dbbf80dd174f6c51f6bad7f16cf3364eba095a06267dc3793803ac7526aebe0a475d38b8c2247ab51c4898df7047dc6adf52c6c4\n\nVerify = RSA-PSS-2\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 246c727b4b9494849dddb068d582e179ac20999c\nOutput = 009cd2f4edbe23e12346ae8c76dd9ad3230a62076141f16c152ba18513a48ef6f010e0e37fd3df10a1ec629a0cb5a3b5d2893007298c30936a95903b6ba85555d9ec3673a06108fd62a2fda56d1ce2e85c4db6b24a81ca3b496c36d4fd06eb7c9166d8e94877c42bea622b3bfe9251fdc21d8d5371badad78a488214796335b40b\n\nVerify = RSA-PSS-2\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = e8617ca3ea66ce6a58ede2d11af8c3ba8a6ba912\nOutput = 00ec430824931ebd3baa43034dae98ba646b8c36013d1671c3cf1cf8260c374b19f8e1cc8d965012405e7e9bf7378612dfcc85fce12cda11f950bd0ba8876740436c1d2595a64a1b32efcfb74a21c873b3cc33aaf4e3dc3953de67f0674c0453b4fd9f604406d441b816098cb106fe3472bc251f815f59db2e4378a3addc181ecf\n\nVerify = RSA-PSS-2\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 7a6fdc1a4e434ecbc35d657ad49a2f4fafd43bc8\nOutput = 00475b1648f814a8dc0abdc37b5527f543b666bb6e39d30e5b49d3b876dccc58eac14e32a2d55c2616014456ad2f246fc8e3d560da3ddf379a1c0bd200f10221df078c219a151bc8d4ec9d2fc2564467811014ef15d8ea01c2ebbff8c2c8efab38096e55fcbe3285c7aa558851254faffa92c1c72b78758663ef4582843139d7a6\n\nPublicKey = RSA-PSS-3\nType = RSA\nInput = 30819f300d06092a864886f70d010101050003818d0030818902818102f246ef451ed3eebb9a310200cc25859c048e4be798302991112eb68ce6db674e280da21feded1ae74880ca522b18db249385012827c515f0e466a1ffa691d98170574e9d0eadb087586ca48933da3cc953d95bd0ed50de10ddcb6736107d6c831c7f663e833ca4c097e700ce0fb945f88fb85fe8e5a773172565b914a471a4430203010001\n\nVerify = RSA-PSS-3\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 3552be69dd74bdc56d2cf8c38ef7bafe269040fe\nOutput = 0088b135fb1794b6b96c4a3e678197f8cac52b64b2fe907d6f27de761124964a99a01a882740ecfaed6c01a47464bb05182313c01338a8cd097214cd68ca103bd57d3bc9e816213e61d784f182467abf8a01cf253e99a156eaa8e3e1f90e3c6e4e3aa2d83ed0345b89fafc9c26077c14b6ac51454fa26e446e3a2f153b2b16797f\n\nVerify = RSA-PSS-3\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 609143ff7240e55c062aba8b9e4426a781919bc9\nOutput = 02a5f0a858a0864a4f65017a7d69454f3f973a2999839b7bbc48bf78641169179556f595fa41f6ff18e286c2783079bc0910ee9cc34f49ba681124f923dfa88f426141a368a5f5a930c628c2c3c200e18a7644721a0cbec6dd3f6279bde3e8f2be5e2d4ee56f97e7ceaf33054be7042bd91a63bb09f897bd41e81197dee99b11af\n\nVerify = RSA-PSS-3\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 0afd22f879a9cda7c584f4135f8f1c961db114c0\nOutput = 0244bcd1c8c16955736c803be401272e18cb990811b14f72db964124d5fa760649cbb57afb8755dbb62bf51f466cf23a0a1607576e983d778fceffa92df7548aea8ea4ecad2c29dd9f95bc07fe91ecf8bee255bfe8762fd7690aa9bfa4fa0849ef728c2c42c4532364522df2ab7f9f8a03b63f7a499175828668f5ef5a29e3802c\n\nVerify = RSA-PSS-3\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 405dd56d395ef0f01b555c48f748cc32b210650b\nOutput = 0196f12a005b98129c8df13c4cb16f8aa887d3c40d96df3a88e7532ef39cd992f273abc370bc1be6f097cfebbf0118fd9ef4b927155f3df22b904d90702d1f7ba7a52bed8b8942f412cd7bd676c9d18e170391dcd345c06a730964b3f30bcce0bb20ba106f9ab0eeb39cf8a6607f75c0347f0af79f16afa081d2c92d1ee6f836b8\n\nVerify = RSA-PSS-3\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = a2c313b0440c8a0c47233b87f0a160c61af3eae7\nOutput = 021eca3ab4892264ec22411a752d92221076d4e01c0e6f0dde9afd26ba5acf6d739ef987545d16683e5674c9e70f1de649d7e61d48d0caeb4fb4d8b24fba84a6e3108fee7d0705973266ac524b4ad280f7ae17dc59d96d3351586b5a3bdb895d1e1f7820ac6135d8753480998382ba32b7349559608c38745290a85ef4e9f9bd83\n\nVerify = RSA-PSS-3\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = f1bf6ca7b4bbdbb6bf20a4bf55728725d177154a\nOutput = 012fafec862f56e9e92f60ab0c77824f4299a0ca734ed26e0644d5d222c7f0bde03964f8e70a5cb65ed44e44d56ae0edf1ff86ca032cc5dd4404dbb76ab854586c44eed8336d08d457ce6c03693b45c0f1efef93624b95b8ec169c616d20e5538ebc0b6737a6f82b4bc0570924fc6b35759a3348426279f8b3d7744e2d222426ce\n\nPublicKey = RSA-PSS-4\nType = RSA\nInput = 30819f300d06092a864886f70d010101050003818d00308189028181054adb7886447efe6f57e0368f06cf52b0a3370760d161cef126b91be7f89c421b62a6ec1da3c311d75ed50e0ab5fff3fd338acc3aa8a4e77ee26369acb81ba900fa83f5300cf9bb6c53ad1dc8a178b815db4235a9a9da0c06de4e615ea1277ce559e9c108de58c14a81aa77f5a6f8d1335494498848c8b95940740be7bf7c37050203010001\n\nVerify = RSA-PSS-4\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = f8b0abf70fec0bca74f0accbc24f75e6e90d3bfd\nOutput = 0323d5b7bf20ba4539289ae452ae4297080feff4518423ff4811a817837e7d82f1836cdfab54514ff0887bddeebf40bf99b047abc3ecfa6a37a3ef00f4a0c4a88aae0904b745c846c4107e8797723e8ac810d9e3d95dfa30ff4966f4d75d13768d20857f2b1406f264cfe75e27d7652f4b5ed3575f28a702f8c4ed9cf9b2d44948\n\nVerify = RSA-PSS-4\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 04a10944bfe11ab801e77889f3fd3d7f4ff0b629\nOutput = 049d0185845a264d28feb1e69edaec090609e8e46d93abb38371ce51f4aa65a599bdaaa81d24fba66a08a116cb644f3f1e653d95c89db8bbd5daac2709c8984000178410a7c6aa8667ddc38c741f710ec8665aa9052be929d4e3b16782c1662114c5414bb0353455c392fc28f3db59054b5f365c49e1d156f876ee10cb4fd70598\n\nVerify = RSA-PSS-4\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = ba01243db223eb97fb86d746c3148adaaa0ca344\nOutput = 03fbc410a2ced59500fb99f9e2af2781ada74e13145624602782e2994813eefca0519ecd253b855fb626a90d771eae028b0c47a199cbd9f8e3269734af4163599090713a3fa910fa0960652721432b971036a7181a2bc0cab4", - "3b0b598bc6217461d7db305ff7e954c5b5bb231c39e791af6bcfa76b147b081321f72641482a2aad\n\nVerify = RSA-PSS-4\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 934bb0d38d6836daec9de82a9648d4593da67cd2\nOutput = 0486644bc66bf75d28335a6179b10851f43f09bded9fac1af33252bb9953ba4298cd6466b27539a70adaa3f89b3db3c74ab635d122f4ee7ce557a61e59b82ffb786630e5f9db53c77d9a0c12fab5958d4c2ce7daa807cd89ba2cc7fcd02ff470ca67b229fcce814c852c73cc93bea35be68459ce478e9d4655d121c8472f371d4f\n\nVerify = RSA-PSS-4\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = ec35d81abd1cceac425a935758b683465c8bd879\nOutput = 022a80045353904cb30cbb542d7d4990421a6eec16a8029a8422adfd22d6aff8c4cc0294af110a0c067ec86a7d364134459bb1ae8ff836d5a8a2579840996b320b19f13a13fad378d931a65625dae2739f0c53670b35d9d3cbac08e733e4ec2b83af4b9196d63e7c4ff1ddeae2a122791a125bfea8deb0de8ccf1f4ffaf6e6fb0a\n\nVerify = RSA-PSS-4\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 72ce251d17b04dd3970d6ff1fbe3624899e9e941\nOutput = 00938dcb6d583046065f69c78da7a1f1757066a7fa75125a9d2929f0b79a60b627b082f11f5b196f28eb9daa6f21c05e5140f6aef1737d2023075c05ecf04a028c686a2ab3e7d5a0664f295ce12995e890908b6ad21f0839eb65b70393a7b5afd9871de0caa0cedec5b819626756209d13ab1e7bb9546a26ff37e9a51af9fd562e\n\nPublicKey = RSA-PSS-5\nType = RSA\nInput = 30819f300d06092a864886f70d010101050003818d003081890281810d10f661f29940f5ed39aa260966deb47843679d2b6fb25b3de370f3ac7c19916391fd25fb527ebfa6a4b4df45a1759d996c4bb4ebd18828c44fc52d0191871740525f47a4b0cc8da325ed8aa676b0d0f626e0a77f07692170acac8082f42faa7dc7cd123e730e31a87985204cabcbe6670d43a2dd2b2ddef5e05392fc213bc5070203010001\n\nVerify = RSA-PSS-5\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = d98b7061943510bc3dd9162f7169aabdbdcd0222\nOutput = 0ba373f76e0921b70a8fbfe622f0bf77b28a3db98e361051c3d7cb92ad0452915a4de9c01722f6823eeb6adf7e0ca8290f5de3e549890ac2a3c5950ab217ba58590894952de96f8df111b2575215da6c161590c745be612476ee578ed384ab33e3ece97481a252f5c79a98b5532ae00cdd62f2ecc0cd1baefe80d80b962193ec1d\n\nVerify = RSA-PSS-5\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 7ae8e699f754988f4fd645e463302e49a2552072\nOutput = 08180de825e4b8b014a32da8ba761555921204f2f90d5f24b712908ff84f3e220ad17997c0dd6e706630ba3e84add4d5e7ab004e58074b549709565d43ad9e97b5a7a1a29e85b9f90f4aafcdf58321de8c5974ef9abf2d526f33c0f2f82e95d158ea6b81f1736db8d1af3d6ac6a83b32d18bae0ff1b2fe27de4c76ed8c7980a34e\n\nVerify = RSA-PSS-5\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 8d46c7c05534c1ba2cc7624500d48a4531604bff\nOutput = 05e0fdbdf6f756ef733185ccfa8ced2eb6d029d9d56e35561b5db8e70257ee6fd019d2f0bbf669fe9b9821e78df6d41e31608d58280f318ee34f559941c8df13287574bac000b7e58dc4f414ba49fb127f9d0f8936638c76e85356c994f79750f7fa3cf4fd482df75e3fb9978cd061f7abb17572e6e63e0bde12cbdcf18c68b979\n\nVerify = RSA-PSS-5\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = ee3de96783fd0a157c8b20bf5566124124dcfe65\nOutput = 0bc989853bc2ea86873271ce183a923ab65e8a53100e6df5d87a24c4194eb797813ee2a187c097dd872d591da60c568605dd7e742d5af4e33b11678ccb63903204a3d080b0902c89aba8868f009c0f1c0cb85810bbdd29121abb8471ff2d39e49fd92d56c655c8e037ad18fafbdc92c95863f7f61ea9efa28fea401369d19daea1\n\nVerify = RSA-PSS-5\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 1204df0b03c2724e2709c23fc71789a21b00ae4c\nOutput = 0aefa943b698b9609edf898ad22744ac28dc239497cea369cbbd84f65c95c0ad776b594740164b59a739c6ff7c2f07c7c077a86d95238fe51e1fcf33574a4ae0684b42a3f6bf677d91820ca89874467b2c23add77969c80717430d0efc1d3695892ce855cb7f7011630f4df26def8ddf36fc23905f57fa6243a485c770d5681fcd\n\nVerify = RSA-PSS-5\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 29926bc3280c841f601acd0d6f17ea38023eddbc\nOutput = 02802dccfa8dfaf5279bf0b4a29ba1b157611faeaaf419b8919d15941900c1339e7e92e6fae562c53e6cc8e84104b110bce03ad18525e3c49a0eadad5d3f28f244a8ed89edbafbb686277cfa8ae909714d6b28f4bf8e293aa04c41efe7c0a81266d5c061e2575be032aa464674ff71626219bd74cc45f0e7ed4e3ff96eee758e8f\n\nPublicKey = RSA-PSS-6\nType = RSA\nInput = 30819f300d06092a864886f70d010101050003818d00308189028181164ca31cff609f3a0e7101b039f2e4fe6dd37519ab98598d179e174996598071f47d3a04559158d7be373cf1aa53f0aa6ef09039e5678c2a4c63900514c8c4f8aaed5de12a5f10b09c311af8c0ffb5b7a297f2efc63b8d6b0510931f0b98e48bf5fc6ec4e7b8db1ffaeb08c38e02adb8f03a48229c99e969431f61cb8c4dc698d10203010001\n\nVerify = RSA-PSS-6\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = ab464e8cb65ae5fdea47a53fa84b234d6bfd52f6\nOutput = 04c0cfacec04e5badbece159a5a1103f69b3f32ba593cb4cc4b1b7ab455916a96a27cd2678ea0f46ba37f7fc9c86325f29733b389f1d97f43e7201c0f348fc45fe42892335362eee018b5b161f2f9393031225c713012a576bc88e23052489868d9010cbf033ecc568e8bc152bdc59d560e41291915d28565208e22aeec9ef85d1\n\nVerify = RSA-PSS-6\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 92d0bcae82b641f578f040f5151be8eda6d42299\nOutput = 0a2314250cf52b6e4e908de5b35646bcaa24361da8160fb0f9257590ab3ace42b0dc3e77ad2db7c203a20bd952fbb56b1567046ecfaa933d7b1000c3de9ff05b7d989ba46fd43bc4c2d0a3986b7ffa13471d37eb5b47d64707bd290cfd6a9f393ad08ec1e3bd71bb5792615035cdaf2d8929aed3be098379377e777ce79aaa4773\n\nVerify = RSA-PSS-6\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 3569bd8fd2e28f2443375efa94f186f6911ffc2b\nOutput = 086df6b500098c120f24ff8423f727d9c61a5c9007d3b6a31ce7cf8f3cbec1a26bb20e2bd4a046793299e03e37a21b40194fb045f90b18bf20a47992ccd799cf9c059c299c0526854954aade8a6ad9d97ec91a1145383f42468b231f4d72f23706d9853c3fa43ce8ace8bfe7484987a1ec6a16c8daf81f7c8bf42774707a9df456\n\nVerify = RSA-PSS-6\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 7abbb7b42de335730a0b641f1e314b6950b84f98\nOutput = 0b5b11ad549863ffa9c51a14a1106c2a72cc8b646e5c7262509786105a984776534ca9b54c1cc64bf2d5a44fd7e8a69db699d5ea52087a4748fd2abc1afed1e5d6f7c89025530bdaa2213d7e030fa55df6f34bcf1ce46d2edf4e3ae4f3b01891a068c9e3a44bbc43133edad6ecb9f35400c4252a5762d65744b99cb9f4c559329f\n\nVerify = RSA-PSS-6\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 55b7eb27be7a787a59eb7e5fac468db8917a7725\nOutput = 02d71fa9b53e4654fefb7f08385cf6b0ae3a817942ebf66c35ac67f0b069952a3ce9c7e1f1b02e480a9500836de5d64cdb7ecde04542f7a79988787e24c2ba05f5fd482c023ed5c30e04839dc44bed2a3a3a4fee01113c891a47d32eb8025c28cb050b5cdb576c70fe76ef523405c08417faf350b037a43c379339fcb18d3a356b\n\nVerify = RSA-PSS-6\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = de2fa0367ef49083ff89b9905d3fd646fcc12c38\nOutput = 0a40a16e2fe2b38d1df90546167cf9469c9e3c3681a3442b4b2c2f581deb385ce99fc6188bb02a841d56e76d301891e24560550fcc2a26b55f4ccb26d837d350a154bcaca8392d98fa67959e9727b78cad03269f56968fc56b68bd679926d83cc9cb215550645ccda31c760ff35888943d2d8a1d351e81e5d07b86182e751081ef\n\nPublicKey = RSA-PSS-7\nType = RSA\nInput = 30819f300d06092a864886f70d010101050003818d0030818902818137c9da4a66c8c408b8da27d0c9d79f8ccb1eafc1d2fe48746d940b7c4ef5dee18ad12647cefaa0c4b3188b221c515386759b93f02024b25ab9242f8357d8f3fd49640ee5e643eaf6c64deefa7089727c8ff03993333915c6ef21bf5975b6e50d118b51008ec33e9f01a0a545a10a836a43ddbca9d8b5c5d3548022d7064ea29ab30203010001\n\nVerify = RSA-PSS-7\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 8be4afbdd76bd8d142c5f4f46dba771ee5d6d29d\nOutput = 187f390723c8902591f0154bae6d4ecbffe067f0e8b795476ea4f4d51ccc810520bb3ca9bca7d0b1f2ea8a17d873fa27570acd642e3808561cb9e975ccfd80b23dc5771cdb3306a5f23159dacbd3aa2db93d46d766e09ed15d900ad897a8d274dc26b47e994a27e97e2268a766533ae4b5e42a2fcaf755c1c4794b294c60555823\n\nVerify = RSA-PSS-7\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 402140dc605b2f5c5ec0d15bce9f9ba8857fe117\nOutput = 10fd89768a60a67788abb5856a787c8561f3edcf9a83e898f7dc87ab8cce79429b43e56906941a886194f137e591fe7c339555361fbbe1f24feb2d4bcdb80601f3096bc9132deea60ae13082f44f9ad41cd628936a4d51176e42fc59cb76db815ce5ab4db99a104aafea68f5d330329ebf258d4ede16064bd1d00393d5e1570eb8\n\nVerify = RSA-PSS-7\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 3e885205892ff2b6b37c2c4eb486c4bf2f9e7f20\nOutput = 2b31fde99859b977aa09586d8e274662b25a2a640640b457f594051cb1e7f7a911865455242926cf88fe80dfa3a75ba9689844a11e634a82b075afbd69c12a0df9d25f84ad4945df3dc8fe90c3cefdf26e95f0534304b5bdba20d3e5640a2ebfb898aac35ae40f26fce5563c2f9f24f3042af76f3c7072d687bbfb959a88460af1\n\nVerify = RSA-PSS-7\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 1fc2201d0c442a4736cd8b2cd00c959c47a3bf42\nOutput = 32c7ca38ff26949a15000c4ba04b2b13b35a3810e568184d7ecabaa166b7ffabddf2b6cf4ba07124923790f2e5b1a5be040aea36fe132ec130e1f10567982d17ac3e89b8d26c3094034e762d2e031264f01170beecb3d1439e05846f25458367a7d9c0206", - "0444672671e64e877864559ca19b2074d588a281b5804d23772fbbe19\n\nVerify = RSA-PSS-7\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = e4351b66819e5a31501f89acc7faf57030e9aac5\nOutput = 07eb651d75f1b52bc263b2e198336e99fbebc4f332049a922a10815607ee2d989db3a4495b7dccd38f58a211fb7e193171a3d891132437ebca44f318b280509e52b5fa98fcce8205d9697c8ee4b7ff59d4c59c79038a1970bd2a0d451ecdc5ef11d9979c9d35f8c70a6163717607890d586a7c6dc01c79f86a8f28e85235f8c2f1\n\nVerify = RSA-PSS-7\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 49f6cc58365e514e1a3f301f4de16f9fb5347ff2\nOutput = 18da3cdcfe79bfb77fd9c32f377ad399146f0a8e810620233271a6e3ed3248903f5cdc92dc79b55d3e11615aa056a795853792a3998c349ca5c457e8ca7d29d796aa24f83491709befcfb1510ea513c92829a3f00b104f655634f320752e130ec0ccf6754ff893db302932bb025eb60e87822598fc619e0e981737a9a4c4152d33\n\nPublicKey = RSA-PSS-8\nType = RSA\nInput = 30819f300d06092a864886f70d010101050003818d00308189028181495370a1fb18543c16d3631e3163255df62be6eee890d5f25509e4f778a8ea6fbbbcdf85dff64e0d972003ab3681fbba6dd41fd541829b2e582de9f2a4a4e0a2d0900bef4753db3cee0ee06c7dfae8b1d53b5953218f9cceea695b08668edeaadced9463b1d790d5ebf27e9115b46cad4d9a2b8efab0561b0810344739ada0733f0203010001\n\nVerify = RSA-PSS-8\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = a1dd230d8ead860199b6277c2ecfe3d95f6d9160\nOutput = 0262ac254bfa77f3c1aca22c5179f8f040422b3c5bafd40a8f21cf0fa5a667ccd5993d42dbafb409c520e25fce2b1ee1e716577f1efa17f3da28052f40f0419b23106d7845aaf01125b698e7a4dfe92d3967bb00c4d0d35ba3552ab9a8b3eef07c7fecdbc5424ac4db1e20cb37d0b2744769940ea907e17fbbca673b20522380c5\n\nVerify = RSA-PSS-8\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = f6e68e53c602c5c65fa67b5aa6d786e5524b12ab\nOutput = 2707b9ad5115c58c94e932e8ec0a280f56339e44a1b58d4ddcff2f312e5f34dcfe39e89c6a94dcee86dbbdae5b79ba4e0819a9e7bfd9d982e7ee6c86ee68396e8b3a14c9c8f34b178eb741f9d3f121109bf5c8172fada2e768f9ea1433032c004a8aa07eb990000a48dc94c8bac8aabe2b09b1aa46c0a2aa0e12f63fbba775ba7e\n\nVerify = RSA-PSS-8\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = d6f9fcd3ae27f32bb2c7c93536782eba52af1f76\nOutput = 2ad20509d78cf26d1b6c406146086e4b0c91a91c2bd164c87b966b8faa42aa0ca446022323ba4b1a1b89706d7f4c3be57d7b69702d168ab5955ee290356b8c4a29ed467d547ec23cbadf286ccb5863c6679da467fc9324a151c7ec55aac6db4084f82726825cfe1aa421bc64049fb42f23148f9c25b2dc300437c38d428aa75f96\n\nVerify = RSA-PSS-8\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 7ff2a53ce2e2d900d468e498f230a5f5dd0020de\nOutput = 1e24e6e58628e5175044a9eb6d837d48af1260b0520e87327de7897ee4d5b9f0df0be3e09ed4dea8c1454ff3423bb08e1793245a9df8bf6ab3968c8eddc3b5328571c77f091cc578576912dfebd164b9de5454fe0be1c1f6385b328360ce67ec7a05f6e30eb45c17c48ac70041d2cab67f0a2ae7aafdcc8d245ea3442a6300ccc7\n\nVerify = RSA-PSS-8\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 4eb309f7022ba0b03bb78601b12931ec7c1be8d3\nOutput = 33341ba3576a130a50e2a5cf8679224388d5693f5accc235ac95add68e5eb1eec31666d0ca7a1cda6f70a1aa762c05752a51950cdb8af3c5379f18cfe6b5bc55a4648226a15e912ef19ad77adeea911d67cfefd69ba43fa4119135ff642117ba985a7e0100325e9519f1ca6a9216bda055b5785015291125e90dcd07a2ca9673ee\n\nVerify = RSA-PSS-8\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 65033bc2f67d6aba7d526acb873b8d9241e5e4d9\nOutput = 1ed1d848fb1edb44129bd9b354795af97a069a7a00d0151048593e0c72c3517ff9ff2a41d0cb5a0ac860d736a199704f7cb6a53986a88bbd8abcc0076a2ce847880031525d449da2ac78356374c536e343faa7cba42a5aaa6506087791c06a8e989335aed19bfab2d5e67e27fb0c2875af896c21b6e8e7309d04e4f6727e69463e\n\nPublicKey = RSA-PSS-9\nType = RSA\nInput = 3081df300d06092a864886f70d01010105000381cd003081c90281c100e6bd692ac96645790403fdd0f5beb8b9bf92ed10007fc365046419dd06c05c5b5b2f48ecf989e4ce269109979cbb40b4a0ad24d22483d1ee315ad4ccb1534268352691c524f6dd8e6c29d224cf246973aec86c5bf6b1401a850d1b9ad1bb8cbcec47b06f0f8c7f45d3fc8f319299c5433ddbc2b3053b47ded2ecd4a4caefd614833dc8bb622f317ed076b8057fe8de3f84480ad5e83e4a61904a4f248fb397027357e1d30e463139815c6fd4fd5ac5b8172a45230ecb6318a04f1455d84e5a8b0203010001\n\nVerify = RSA-PSS-9\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 2715a49b8b0012cd7aee84c116446e6dfe3faec0\nOutput = 586107226c3ce013a7c8f04d1a6a2959bb4b8e205ba43a27b50f124111bc35ef589b039f5932187cb696d7d9a32c0c38300a5cdda4834b62d2eb240af33f79d13dfbf095bf599e0d9686948c1964747b67e89c9aba5cd85016236f566cc5802cb13ead51bc7ca6bef3b94dcbdbb1d570469771df0e00b1a8a06777472d2316279edae86474668d4e1efff95f1de61c6020da32ae92bbf16520fef3cf4d88f61121f24bbd9fe91b59caf1235b2a93ff81fc403addf4ebdea84934a9cdaf8e1a9e\n\nVerify = RSA-PSS-9\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 2dac956d53964748ac364d06595827c6b4f143cd\nOutput = 80b6d643255209f0a456763897ac9ed259d459b49c2887e5882ecb4434cfd66dd7e1699375381e51cd7f554f2c271704b399d42b4be2540a0eca61951f55267f7c2878c122842dadb28b01bd5f8c025f7e228418a673c03d6bc0c736d0a29546bd67f786d9d692ccea778d71d98c2063b7a71092187a4d35af108111d83e83eae46c46aa34277e06044589903788f1d5e7cee25fb485e92949118814d6f2c3ee361489016f327fb5bc517eb50470bffa1afa5f4ce9aa0ce5b8ee19bf5501b958\n\nVerify = RSA-PSS-9\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 28d98c46cccafbd3bc04e72f967a54bd3ea12298\nOutput = 484408f3898cd5f53483f80819efbf2708c34d27a8b2a6fae8b322f9240237f981817aca1846f1084daa6d7c0795f6e5bf1af59c38e1858437ce1f7ec419b98c8736adf6dd9a00b1806d2bd3ad0a73775e05f52dfef3a59ab4b08143f0df05cd1ad9d04bececa6daa4a2129803e200cbc77787caf4c1d0663a6c5987b605952019782caf2ec1426d68fb94ed1d4be816a7ed081b77e6ab330b3ffc073820fecde3727fcbe295ee61a050a343658637c3fd659cfb63736de32d9f90d3c2f63eca\n\nVerify = RSA-PSS-9\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 0866d2ff5a79f25ef668cd6f31b42dee421e4c0e\nOutput = 84ebeb481be59845b46468bafb471c0112e02b235d84b5d911cbd1926ee5074ae0424495cb20e82308b8ebb65f419a03fb40e72b78981d88aad143053685172c97b29c8b7bf0ae73b5b2263c403da0ed2f80ff7450af7828eb8b86f0028bd2a8b176a4d228cccea18394f238b09ff758cc00bc04301152355742f282b54e663a919e709d8da24ade5500a7b9aa50226e0ca52923e6c2d860ec50ff480fa57477e82b0565f4379f79c772d5c2da80af9fbf325ece6fc20b00961614bee89a183e\n\nVerify = RSA-PSS-9\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 6a5b4be4cd36cc97dfde9995efbf8f097a4a991a\nOutput = 82102df8cb91e7179919a04d26d335d64fbc2f872c44833943241de8454810274cdf3db5f42d423db152af7135f701420e39b494a67cbfd19f9119da233a23da5c6439b5ba0d2bc373eee3507001378d4a4073856b7fe2aba0b5ee93b27f4afec7d4d120921c83f606765b02c19e4d6a1a3b95fa4c422951be4f52131077ef17179729cddfbdb56950dbaceefe78cb16640a099ea56d24389eef10f8fecb31ba3ea3b227c0a86698bb89e3e9363905bf22777b2a3aa521b65b4cef76d83bde4c\n\nVerify = RSA-PSS-9\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = b9dfd1df76a461c51e6576c6c8ed0a923d1c50e7\nOutput = a7fdb0d259165ca2c88d00bbf1028a867d337699d061193b17a9648e14ccbbaadeacaacdec815e7571294ebb8a117af205fa078b47b0712c199e3ad05135c504c24b81705115740802487992ffd511d4afc6b854491eb3f0dd523139542ff15c3101ee85543517c6a3c79417c67e2dd9aa741e9a29b06dcb593c2336b3670ae3afbac7c3e76e215473e866e338ca244de00b62624d6b9426822ceae9f8cc460895f41250073fd45c5a1e7b425c204a423a699159f6903e710b37a7bb2bc8049f\n\nPublicKey = RSA-PSS-10\nType = RSA\nInput = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100a5dd867ac4cb02f90b9457d48c14a770ef991c56c39c0ec65fd11afa8937cea57b9be7ac73b45c0017615b82d622e318753b6027c0fd157be12f8090fee2a7adcd0eef759f88ba4997c7a42d58c9aa12cb99ae001fe521c13bb5431445a8d5ae4f5e4c7e948ac227d3604071f20e577e905fbeb15dfaf06d1de5ae6253d63a6a2120b31a5da5dabc9550600e20f27d3739e2627925fea3cc509f21dff04e6eea4549c540d6809ff9307eede91fff58733d8385a237d6d3705a33e391900992070df7adf1357cf7e3700ce3667de83f17b8df1778db381dce09cb4ad058a511001a738198ee27cf55a13b754539906582ec8b174bd58d5d1f3d767c613721ae050203010001\n\nVerify = RSA-PSS-10\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 9596bb630cf6a8d4ea4600422b9eba8b13675dd4\nOutput = 82c2b160093b8aa3c0f7522b19f87354066c77847abf2a9fce542d0e84e920c5afb49ffdfdace16560ee94a1369601148ebad7a0e151cf16331791a5727d05f21e74e7eb811440206935d744765a15e79f015cb66c532c87a6a05961c8bfad741a9a6657022894393e7223739796c02a77455d0f555b0ec01ddf259b6207fd0fd57614cef1a5573baaff4ec00069951659b85f24300a25160ca8522dc6e6727e57d019d7e63629b8fe5e89e25cc15beb3a647577559299280b9b28f79b0409000be25bbd96408ba3b43cc486184dd1c8e62553fa1af4040f60663de7f5e49c04388e257f1ce89c95dab48a315d9b66b1b7628233876ff2385230d070d07e1666\n\nVerify = RSA-PSS-10\nRSAPadding = PSS\nMGF1Digest ", - "= SHA1\nInput = b503319399277fd6c1c8f1033cbf04199ea21716\nOutput = 14ae35d9dd06ba92f7f3b897978aed7cd4bf5ff0b585a40bd46ce1b42cd2703053bb9044d64e813d8f96db2dd7007d10118f6f8f8496097ad75e1ff692341b2892ad55a633a1c55e7f0a0ad59a0e203a5b8278aec54dd8622e2831d87174f8caff43ee6c46445345d84a59659bfb92ecd4c818668695f34706f66828a89959637f2bf3e3251c24bdba4d4b7649da0022218b119c84e79a6527ec5b8a5f861c159952e23ec05e1e717346faefe8b1686825bd2b262fb2531066c0de09acde2e4231690728b5d85e115a2f6b92b79c25abc9bd9399ff8bcf825a52ea1f56ea76dd26f43baafa18bfa92a504cbd35699e26d1dcc5a2887385f3c63232f06f3244c3\n\nVerify = RSA-PSS-10\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 50aaede8536b2c307208b275a67ae2df196c7628\nOutput = 6e3e4d7b6b15d2fb46013b8900aa5bbb3939cf2c095717987042026ee62c74c54cffd5d7d57efbbf950a0f5c574fa09d3fc1c9f513b05b4ff50dd8df7edfa20102854c35e592180119a70ce5b085182aa02d9ea2aa90d1df03f2daae885ba2f5d05afdac97476f06b93b5bc94a1a80aa9116c4d615f333b098892b25fface266f5db5a5a3bcc10a824ed55aad35b727834fb8c07da28fcf416a5d9b2224f1f8b442b36f91e456fdea2d7cfe3367268de0307a4c74e924159ed33393d5e0655531c77327b89821bdedf880161c78cd4196b5419f7acc3f13e5ebf161b6e7c6724716ca33b85c2e25640192ac2859651d50bde7eb976e51cec828b98b6563b86bb\n\nVerify = RSA-PSS-10\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = aa0b72b8b371ddd10c8ae474425ccccf8842a294\nOutput = 34047ff96c4dc0dc90b2d4ff59a1a361a4754b255d2ee0af7d8bf87c9bc9e7ddeede33934c63ca1c0e3d262cb145ef932a1f2c0a997aa6a34f8eaee7477d82ccf09095a6b8acad38d4eec9fb7eab7ad02da1d11d8e54c1825e55bf58c2a23234b902be124f9e9038a8f68fa45dab72f66e0945bf1d8bacc9044c6f07098c9fcec58a3aab100c805178155f030a124c450e5acbda47d0e4f10b80a23f803e774d023b0015c20b9f9bbe7c91296338d5ecb471cafb032007b67a60be5f69504a9f01abb3cb467b260e2bce860be8d95bf92c0c8e1496ed1e528593a4abb6df462dde8a0968dffe4683116857a232f5ebf6c85be238745ad0f38f767a5fdbf486fb\n\nVerify = RSA-PSS-10\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = fad3902c9750622a2bc672622c48270cc57d3ea8\nOutput = 7e0935ea18f4d6c1d17ce82eb2b3836c55b384589ce19dfe743363ac9948d1f346b7bfddfe92efd78adb21faefc89ade42b10f374003fe122e67429a1cb8cbd1f8d9014564c44d120116f4990f1a6e38774c194bd1b8213286b077b0499d2e7b3f434ab12289c556684deed78131934bb3dd6537236f7c6f3dcb09d476be07721e37e1ceed9b2f7b406887bd53157305e1c8b4f84d733bc1e186fe06cc59b6edb8f4bd7ffefdf4f7ba9cfb9d570689b5a1a4109a746a690893db3799255a0cb9215d2d1cd490590e952e8c8786aa0011265252470c041dfbc3eec7c3cbf71c24869d115c0cb4a956f56d530b80ab589acfefc690751ddf36e8d383f83cedd2cc\n\nVerify = RSA-PSS-10\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 122196deb5d122bd8c6fc781ff6924d7c695aade\nOutput = 6d3b5b87f67ea657af21f75441977d2180f91b2c5f692de82955696a686730d9b9778d970758ccb26071c2209ffbd6125be2e96ea81b67cb9b9308239fda17f7b2b64ecda096b6b935640a5a1cb42a9155b1c9ef7a633a02c59f0d6ee59b852c43b35029e73c940ff0410e8f114eed46bbd0fae165e42be2528a401c3b28fd818ef3232dca9f4d2a0f5166ec59c42396d6c11dbc1215a56fa17169db9575343ef34f9de32a49cdc3174922f229c23e18e45df9353119ec4319cedce7a17c64088c1f6f52be29634100b3919d38f3d1ed94e6891e66a73b8fb849f5874df59459e298c7bbce2eee782a195aa66fe2d0732b25e595f57d3e061b1fc3e4063bf98f\n\nPrivateKey = RSA-OAEP-1\nType = RSA\nInput = 30820276020100300d06092a864886f70d0101010500048202603082025c02010002818100a8b3b284af8eb50b387034a860f146c4919f318763cd6c5598c8ae4811a1e0abc4c7e0b082d693a5e7fced675cf4668512772c0cbc64a742c6c630f533c8cc72f62ae833c40bf25842e984bb78bdbf97c0107d55bdb662f5c4e0fab9845cb5148ef7392dd3aaff93ae1e6b667bb3d4247616d4f5ba10d4cfd226de88d39f16fb020301000102818053339cfdb79fc8466a655c7316aca85c55fd8f6dd898fdaf119517ef4f52e8fd8e258df93fee180fa0e4ab29693cd83b152a553d4ac4d1812b8b9fa5af0e7f55fe7304df41570926f3311f15c4d65a732c483116ee3d3d2d0af3549ad9bf7cbfb78ad884f84d5beb04724dc7369b31def37d0cf539e9cfcdd3de653729ead5d1024100d32737e7267ffe1341b2d5c0d150a81b586fb3132bed2f8d5262864a9cb9f30af38be448598d413a172efb802c21acf1c11c520c2f26a471dcad212eac7ca39d024100cc8853d1d54da630fac004f471f281c7b8982d8224a490edbeb33d3e3d5cc93c4765703d1dd791642f1f116a0dd852be2419b2af72bfe9a030e860b0288b5d7702400e12bf1718e9cef5599ba1c3882fe8046a90874eefce8f2ccc20e4f2741fb0a33a3848aec9c9305fbecbd2d76819967d4671acc6431e4037968db37878e695c102410095297b0f95a2fa67d00707d609dfd4fc05c89dafc2ef6d6ea55bec771ea333734d9251e79082ecda866efef13c459e1a631386b7e354c899f5f112ca85d7158302404f456c502493bdc0ed2ab756a3a6ed4d67352a697d4216e93212b127a63d5411ce6fa98d5dbefd73263e3728142743818166ed7dd63687dd2a8ca1d2f4fbd8e1\n\nDecrypt = RSA-OAEP-1\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 354fe67b4a126d5d35fe36c777791a3f7ba13def484e2d3908aff722fad468fb21696de95d0be911c2d3174f8afcc201035f7b6d8e69402de5451618c21a535fa9d7bfc5b8dd9fc243f8cf927db31322d6e881eaa91a996170e657a05a266426d98c88003f8477c1227094a0d9fa1e8c4024309ce1ecccb5210035d47ac72e8a\nOutput = 6628194e12073db03ba94cda9ef9532397d50dba79b987004afefe34\n\nDecrypt = RSA-OAEP-1\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 640db1acc58e0568fe5407e5f9b701dff8c3c91e716c536fc7fcec6cb5b71c1165988d4a279e1577d730fc7a29932e3f00c81515236d8d8e31017a7a09df4352d904cdeb79aa583adcc31ea698a4c05283daba9089be5491f67c1a4ee48dc74bbbe6643aef846679b4cb395a352d5ed115912df696ffe0702932946d71492b44\nOutput = 750c4047f547e8e41411856523298ac9bae245efaf1397fbe56f9dd5\n\nDecrypt = RSA-OAEP-1\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 423736ed035f6026af276c35c0b3741b365e5f76ca091b4e8c29e2f0befee603595aa8322d602d2e625e95eb81b2f1c9724e822eca76db8618cf09c5343503a4360835b5903bc637e3879fb05e0ef32685d5aec5067cd7cc96fe4b2670b6eac3066b1fcf5686b68589aafb7d629b02d8f8625ca3833624d4800fb081b1cf94eb\nOutput = d94ae0832e6445ce42331cb06d531a82b1db4baad30f746dc916df24d4e3c2451fff59a6423eb0e1d02d4fe646cf699dfd818c6e97b051\n\nDecrypt = RSA-OAEP-1\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 45ead4ca551e662c9800f1aca8283b0525e6abae30be4b4aba762fa40fd3d38e22abefc69794f6ebbbc05ddbb11216247d2f412fd0fba87c6e3acd888813646fd0e48e785204f9c3f73d6d8239562722dddd8771fec48b83a31ee6f592c4cfd4bc88174f3b13a112aae3b9f7b80e0fc6f7255ba880dc7d8021e22ad6a85f0755\nOutput = 52e650d98e7f2a048b4f86852153b97e01dd316f346a19f67a85\n\nDecrypt = RSA-OAEP-1\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 36f6e34d94a8d34daacba33a2139d00ad85a9345a86051e73071620056b920e219005855a213a0f23897cdcd731b45257c777fe908202befdd0b58386b1244ea0cf539a05d5d10329da44e13030fd760dcd644cfef2094d1910d3f433e1c7c6dd18bc1f2df7f643d662fb9dd37ead9059190f4fa66ca39e869c4eb449cbdc439\nOutput = 8da89fd9e5f974a29feffb462b49180f6cf9e802\n\nDecrypt = RSA-OAEP-1\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 42cee2617b1ecea4db3f4829386fbd61dafbf038e180d837c96366df24c097b4ab0fac6bdf590d821c9f10642e681ad05b8d78b378c0f46ce2fad63f74e0ad3df06b075d7eb5f5636f8d403b9059ca761b5c62bb52aa45002ea70baace08ded243b9d8cbd62a68ade265832b56564e43a6fa42ed199a099769742df1539e8255\nOutput = 26521050844271\n\nPrivateKey = RSA-OAEP-2\nType = RSA\nInput = 30820276020100300d06092a864886f70d0101010500048202603082025c02010002818101947c7fce90425f47279e70851f25d5e62316fe8a1df19371e3e628e260543e4901ef6081f68c0b8141190d2ae8daba7d1250ec6db636e944ec3722877c7c1d0a67f14b1694c5f0379451a43e49a32dde83670b73da91a1c99bc23b436a60055c610f0baf99c1a079565b95a3f1526632d1d4da60f20eda25e653c4f002766f4502030100010281800823f20fadb5da89088a9d00893e21fa4a1b11fbc93c64a3be0baaea97fb3b93c3ff713704c19c963c1d107aae99054739f79e02e186de86f87a6ddefea6d8ccd1d3c81a47bfa7255be20601a4a4b2f08a167b5e279d715b1b455bdd7eab245941d9768b9acefb3ccda5952da3cee72525b4501663a8ee15c9e992d92462fe3902410159dbde04a33ef06fb608b80b190f4d3e22bcc13ac8e4a081033abfa416edb0b338aa08b57309ea5a5240e7dc6e54378c69414c31d97ddb1f406db3769cc41a430241012b652f30403b38b40995fd6ff41a1acc8ada70373236b7202d39b2ee30cfb46db09511f6f307cc61cc21606c18a75b8a62f822df031ba0df0dafd5506f568bd70240436ef508de736519c2da4c580d98c82cb7452a3fb5efadc3b9c7789a1bc6584f795addbbd32439c74686552ecb6c2c307a4d3af7f539eec157248c7b31f1a2550241012b15a89f3dfb2b39073e73f02bdd0c1a7b379dd435f05cdde2eff9e462948b7cec62ee9050d5e0816e0785a856b49108dcb75f3683874d1ca6329a19013066ff02400270db17d5914b018d76118b24389a7350ec836b0063a21721236fd8edb6d89b51e7eeb87b611b7132cb7ea7356c23151c1e7751507c786d9ee1794170a8c8e8\n\nDecrypt = RSA-OAEP-2\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 0181af8922b9fcb4d79d92ebe19815992fc0c1439d8bcd491398a0f4ad3a329a5bd9385560db532683c8b7da", - "04e4b12aed6aacdf471c34c9cda891addcc2df3456653aa6382e9ae59b54455257eb099d562bbe10453f2b6d13c59c02e10f1f8abb5da0d0570932dacf2d0901db729d0fefcc054e70968ea540c81b04bcaefe720e\nOutput = 8ff00caa605c702830634d9a6c3d42c652b58cf1d92fec570beee7\n\nDecrypt = RSA-OAEP-2\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 018759ff1df63b2792410562314416a8aeaf2ac634b46f940ab82d64dbf165eee33011da749d4bab6e2fcd18129c9e49277d8453112b429a222a8471b070993998e758861c4d3f6d749d91c4290d332c7a4ab3f7ea35ff3a07d497c955ff0ffc95006b62c6d296810d9bfab024196c7934012c2df978ef299aba239940cba10245\nOutput = 2d\n\nDecrypt = RSA-OAEP-2\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 018802bab04c60325e81c4962311f2be7c2adce93041a00719c88f957575f2c79f1b7bc8ced115c706b311c08a2d986ca3b6a9336b147c29c6f229409ddec651bd1fdd5a0b7f610c9937fdb4a3a762364b8b3206b4ea485fd098d08f63d4aa8bb2697d027b750c32d7f74eaf5180d2e9b66b17cb2fa55523bc280da10d14be2053\nOutput = 74fc88c51bc90f77af9d5e9a4a70133d4b4e0b34da3c37c7ef8e\n\nDecrypt = RSA-OAEP-2\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 00a4578cbc176318a638fba7d01df15746af44d4f6cd96d7e7c495cbf425b09c649d32bf886da48fbaf989a2117187cafb1fb580317690e3ccd446920b7af82b31db5804d87d01514acbfa9156e782f867f6bed9449e0e9a2c09bcecc6aa087636965e34b3ec766f2fe2e43018a2fddeb140616a0e9d82e5331024ee0652fc7641\nOutput = a7eb2a5036931d27d4e891326d99692ffadda9bf7efd3e34e622c4adc085f721dfe885072c78a203b151739be540fa8c153a10f00a\n\nDecrypt = RSA-OAEP-2\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 00ebc5f5fda77cfdad3c83641a9025e77d72d8a6fb33a810f5950f8d74c73e8d931e8634d86ab1246256ae07b6005b71b7f2fb98351218331ce69b8ffbdc9da08bbc9c704f876deb9df9fc2ec065cad87f9090b07acc17aa7f997b27aca48806e897f771d95141fe4526d8a5301b678627efab707fd40fbebd6e792a25613e7aec\nOutput = 2ef2b066f854c33f3bdcbb5994a435e73d6c6c\n\nDecrypt = RSA-OAEP-2\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 010839ec20c27b9052e55befb9b77e6fc26e9075d7a54378c646abdf51e445bd5715de81789f56f1803d9170764a9e93cb78798694023ee7393ce04bc5d8f8c5a52c171d43837e3aca62f609eb0aa5ffb0960ef04198dd754f57f7fbe6abf765cf118b4ca443b23b5aab266f952326ac4581100644325f8b721acd5d04ff14ef3a\nOutput = 8a7fb344c8b6cb2cf2ef1f643f9a3218f6e19bba89c0\n\nPrivateKey = RSA-OAEP-3\nType = RSA\nInput = 30820277020100300d06092a864886f70d0101010500048202613082025d02010002818102b58fec039a860700a4d7b6462f93e6cdd491161ddd74f4e810b40e3c1652006a5c277b2774c11305a4cbab5a78efa57e17a86df7a3fa36fc4b1d2249f22ec7c2dd6a463232accea906d66ebe80b5704b10729da6f833234abb5efdd4a292cbfad33b4d33fa7a14b8c397b56e3acd21203428b77cdfa33a6da706b3d8b0fc43e9020301000102818015b48a5b5683a94670e23b5718f814fa0e13f85038f50711182cba61510581f3d22c7e232ef937e22e551d68b86e2f8cb1aad8be2e488f5df7efd279e3f568d4eaf36f80cf7141ace60fcc9113fb6c4a841fd50bbc7c512ffcbeff21487aa811eb3ca8c62005346a86de86bfa1d8a948fd3f348c22eaadf333c3ce6ce13208fd024101bf01d216d73595cf0270c2beb78d40a0d8447d31da919a983f7eea781b77d85fe371b3e9373e7b69217d3150a02d8958de7fad9d555160958b4454127e0e7eaf0241018d3399658166db3829816d7b295416759e9c91987f5b2d8aecd63b04b48bd7b2fcf229bb7f8a6dc88ba13dd2e39ad55b6d1a06160708f9700be80b8fd3744ce7024006c0a249d20a6f2ee75c88b494d53f6aae99aa427c88c28b163a769445e5f390cf40c274fd6ea6329a5ce7c7ce03a2158396ee2a7845786e09e2885a9728e4e5024100d1d27c29fedd92d86c348edd0ccbfac14f746e051ce1d1811df35d61f2ee1c97d4bf2804802f6427187ba8e90a8af44243b4079b03445e602e29fa5193e64fe90241008cb2f756bd8941b1d3b770e5ad31ee373b28acda69ff9b6f40fe578b9f1afb85836f9627d37acff73c2779e634bb26011c2c8f7f3361ae2a9ea65ed689e3639a\n\nDecrypt = RSA-OAEP-3\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 026a0485d96aebd96b4382085099b962e6a2bdec3d90c8db625e14372de85e2d5b7baab65c8faf91bb5504fb495afce5c988b3f6a52e20e1d6cbd3566c5cd1f2b8318bb542cc0ea25c4aab9932afa20760eaddec784396a07ea0ef24d4e6f4d37e5052a7a31e146aa480a111bbe926401307e00f410033842b6d82fe5ce4dfae80\nOutput = 087820b569e8fa8d\n\nDecrypt = RSA-OAEP-3\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 024db89c7802989be0783847863084941bf209d761987e38f97cb5f6f1bc88da72a50b73ebaf11c879c4f95df37b850b8f65d7622e25b1b889e80fe80baca2069d6e0e1d829953fc459069de98ea9798b451e557e99abf8fe3d9ccf9096ebbf3e5255d3b4e1c6d2ecadf067a359eea86405acd47d5e165517ccafd47d6dbee4bf5\nOutput = 4653acaf171960b01f52a7be63a3ab21dc368ec43b50d82ec3781e04\n\nDecrypt = RSA-OAEP-3\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 0239bce681032441528877d6d1c8bb28aa3bc97f1df584563618995797683844ca86664732f4bed7a0aab083aaabfb7238f582e30958c2024e44e57043b97950fd543da977c90cdde5337d618442f99e60d7783ab59ce6dd9d69c47ad1e962bec22d05895cff8d3f64ed5261d92b2678510393484990ba3f7f06818ae6ffce8a3a\nOutput = d94cd0e08fa404ed89\n\nDecrypt = RSA-OAEP-3\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 02994c62afd76f498ba1fd2cf642857fca81f4373cb08f1cbaee6f025c3b512b42c3e8779113476648039dbe0493f9246292fac28950600e7c0f32edf9c81b9dec45c3bde0cc8d8847590169907b7dc5991ceb29bb0714d613d96df0f12ec5d8d3507c8ee7ae78dd83f216fa61de100363aca48a7e914ae9f42ddfbe943b09d9a0\nOutput = 6cc641b6b61e6f963974dad23a9013284ef1\n\nDecrypt = RSA-OAEP-3\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 0162042ff6969592a6167031811a239834ce638abf54fec8b99478122afe2ee67f8c5b18b0339805bfdbc5a4e6720b37c59cfba942464c597ff532a119821545fd2e59b114e61daf71820529f5029cf524954327c34ec5e6f5ba7efcc4de943ab8ad4ed787b1454329f70db798a3a8f4d92f8274e2b2948ade627ce8ee33e43c60\nOutput = df5151832b61f4f25891fb4172f328d2eddf8371ffcfdbe997939295f30eca6918017cfda1153bf7a6af87593223\n\nDecrypt = RSA-OAEP-3\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 00112051e75d064943bc4478075e43482fd59cee0679de6893eec3a943daa490b9691c93dfc0464b6623b9f3dbd3e70083264f034b374f74164e1a00763725e574744ba0b9db83434f31df96f6e2a26f6d8eba348bd4686c2238ac07c37aac3785d1c7eea2f819fd91491798ed8e9cef5e43b781b0e0276e37c43ff9492d005730\nOutput = 3c3bad893c544a6d520ab022319188c8d504b7a788b850903b85972eaa18552e1134a7ad6098826254ff7ab672b3d8eb3158fac6d4cbaef1\n\nPrivateKey = RSA-OAEP-4\nType = RSA\nInput = 30820277020100300d06092a864886f70d0101010500048202613082025d020100028181051240b6cc0004fa48d0134671c078c7c8dec3b3e2f25bc2564467339db38853d06b85eea5b2de353bff42ac2e46bc97fae6ac9618da9537a5c8f553c1e357625991d6108dcd7885fb3a25413f53efcad948cb35cd9b9ae9c1c67626d113d57dde4c5bea76bb5bb7de96c00d07372e9685a6d75cf9d239fa148d70931b5f3fb03902030100010281800411ffca3b7ca5e9e9be7fe38a85105e353896db05c5796aecd2a725161eb3651c8629a9b862b904d7b0c7b37f8cb5a1c2b54001018a00a1eb2cafe4ee4e9492c348bc2bedab4b9ebbf064e8eff322b9009f8eec653905f40df88a3cdc49d4567f75627d41aca624129b46a0b7c698e5e65f2b7ba102c749a10135b6540d04010241027458c19ec1636919e736c9af25d609a51b8f561d19c6bf6943dd1ee1ab8a4a3f232100bd40b88decc6ba235548b6ef792a11c9de823d0a7922c7095b6eba570102410210ee9b33ab61716e27d251bd465f4b35a1a232e2da00901c294bf22350ce490d099f642b5375612db63ba1f20386492bf04d34b3c22bceb909d13441b53b5139024039fa028b826e88c1121b750a8b242fa9a35c5b66bdfd1fa637d3cc48a84a4f457a194e7727e49f7bcc6e5a5a412657fc470c7322ebc37416ef458c307a8c09010241015d99a84195943979fa9e1be2c3c1b69f432f46fd03e47d5befbbbfd6b1d1371d83efb330a3e020942b2fed115e5d02be24fd92c9019d1cecd6dd4cf1e54cc899024101f0b7015170b3f5e42223ba30301c41a6d87cbb70e30cb7d3c67d25473db1f6cbf03e3f9126e3e97968279a865b2c2b426524cfc52a683d31ed30eb984be412ba\n\nDecrypt = RSA-OAEP-4\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 04cce19614845e094152a3fe18e54e3330c44e5efbc64ae16886cb1869014cc5781b1f8f9e045384d0112a135ca0d12e9c88a8e4063416deaae3844f60d6e96fe155145f4525b9a34431ca3766180f70e15a5e5d8e8b1a516ff870609f13f896935ced188279a58ed13d07114277d75c6568607e0ab092fd803a223e4a8ee0b1a8\nOutput = 4a86609534ee434a6cbca3f7e962e76d455e3264c19f605f6e5ff6137c65c56d7fb344cd52bc93374f3d166c9f0c6f9c506bad19330972d2\n\nDecrypt = RSA-OAEP-4\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 0097b698c6165645b303486fbf5a2a4479c0ee85889b541a6f0b858d6b6597b13b854eb4f839af03399a80d79bda6578c841f90d645715b280d37143992dd186c80b949b775cae97370e4ec97443136c6da484e970ffdb1323a20847821d3b18381de13bb49aaea66530c4a4b8271f3eae172cd366e07e6636f1019d2a28aed15e\nOutput = b0adc4f3fe11da59ce992773d9059943c03046497ee9d9f9a06df1166db46d98f58d27ec074c02eee6cbe2449c8b9fc5080c5c3f4433092512ec46aa793743c8\n\nDecrypt = RSA-OAEP-4\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 0301f935e9c47abcb48acbbe09895d9f5971af14839da4ff95417ee453d1fd77319072bb7297e1b55d7561cd9d1bb2", - "4c1a9a37c619864308242804879d86ebd001dce5183975e1506989b70e5a83434154d5cbfd6a24787e60eb0c658d2ac193302d1192c6e622d4a12ad4b53923bca246df31c6395e37702c6a78ae081fb9d065\nOutput = bf6d42e701707b1d0206b0c8b45a1c72641ff12889219a82bdea965b5e79a96b0d0163ed9d578ec9ada20f2fbcf1ea3c4089d83419ba81b0c60f3606da99\n\nDecrypt = RSA-OAEP-4\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 02d110ad30afb727beb691dd0cf17d0af1a1e7fa0cc040ec1a4ba26a42c59d0a796a2e22c8f357ccc98b6519aceb682e945e62cb734614a529407cd452bee3e44fece8423cc19e55548b8b994b849c7ecde4933e76037e1d0ce44275b08710c68e430130b929730ed77e09b015642c5593f04e4ffb9410798102a8e96ffdfe11e4\nOutput = fb2ef112f5e766eb94019297934794f7be2f6fc1c58e\n\nDecrypt = RSA-OAEP-4\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 00dbb8a7439d90efd919a377c54fae8fe11ec58c3b858362e23ad1b8a44310799066b99347aa525691d2adc58d9b06e34f288c170390c5f0e11c0aa3645959f18ee79e8f2be8d7ac5c23d061f18dd74b8c5f2a58fcb5eb0c54f99f01a83247568292536583340948d7a8c97c4acd1e98d1e29dc320e97a260532a8aa7a758a1ec2\nOutput = 28ccd447bb9e85166dabb9e5b7d1adadc4b9d39f204e96d5e440ce9ad928bc1c2284\n\nDecrypt = RSA-OAEP-4\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 00a5ffa4768c8bbecaee2db77e8f2eec99595933545520835e5ba7db9493d3e17cddefe6a5f567624471908db4e2d83a0fbee60608fc84049503b2234a07dc83b27b22847ad8920ff42f674ef79b76280b00233d2b51b8cb2703a9d42bfbc8250c96ec32c051e57f1b4ba528db89c37e4c54e27e6e64ac69635ae887d9541619a9\nOutput = f22242751ec6b1\n\nPrivateKey = RSA-OAEP-5\nType = RSA\nInput = 30820279020100300d06092a864886f70d0101010500048202633082025f0201000281810aadf3f9c125e5d891f31ac448e993defe580f802b45f9d7f22ba5021e9c47576b5a1e68031ba9db4e6dabe4d96a1d6f3d267268cff408005f118efcadb99888d1c234467166b2a2b849a05a889c060ac0da0c5fae8b55f309ba62e703742fa0326f2d10b011021489ff497770190d895fd39f52293c39efd73a698bdab9f10ed902030100010281810256eb4cba7067f2d2be540dcdff4582a36b7d31d1c9099bb214b79848466a268f80f58a49ac04c0e3648934a0206c04537c19b236643a6082732144df75fa217588f794682be89168276dc726c5c0cbdb84d31bbf26d0a43af495717f7d528acfee341561f6ff3cae05c578f8470d9682f9c0d072f9f6068b56d5880f682be2c5024103b0d3962f6d17549cbfca11294348dcf0e7e39f8c2bc6824f2164b606d687860dae1e632393cfedf513228229069e2f60e4acd7e633a436063f82385f48993707024102e4c32e2f517269b7072309f00c0e31365f7ce28b236b82912df239abf39572cf0ed604b02982e53564c52d6a05397de5c052a2fddc141ef7189836346aeb331f024101e84b119d25161fa67b00256a5bd9b645d2b232ecb05b015180029a88622adc3f09b3aeacde6161ab7cde22c2ad26e7797df54e072cbd3b2673800b3e4338dbd5024100eb90aa1a40135b4cea07197cedc8819be1e7cbff2547662116f465a4a9f487ab12f3ba4fef13822265a65297d98b7bded9372e3ffe81a38b3e9600fed055754f0241012f7f8138f9404062eb85a42924520b38f5bb886a0196f48bb8dcea60fd92cc027f18e78158a34a5c5d5f860a0f6c04071a7d01312c065062f1eb48b79d1c83cb\n\nDecrypt = RSA-OAEP-5\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 036046a4a47d9ed3ba9a89139c105038eb7492b05a5d68bfd53accff4597f7a68651b47b4a4627d927e485eed7b4566420e8b409879e5d606eae251d22a5df799f7920bfc117b992572a53b1263146bcea03385cc5e853c9a101c8c3e1bda31a519807496c6cb5e5efb408823a352b8fa0661fb664efadd593deb99fff5ed000e5\nOutput = af71a901e3a61d3132f0fc1fdb474f9ea6579257ffc24d164170145b3dbde8\n\nDecrypt = RSA-OAEP-5\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 03d6eb654edce615bc59f455265ed4e5a18223cbb9be4e4069b473804d5de96f54dcaaa603d049c5d94aa1470dfcd2254066b7c7b61ff1f6f6770e3215c51399fd4e34ec5082bc48f089840ad04354ae66dc0f1bd18e461a33cc1258b443a2837a6df26759aa2302334986f87380c9cc9d53be9f99605d2c9a97da7b0915a4a7ad\nOutput = a3b844a08239a8ac41605af17a6cfda4d350136585903a417a79268760519a4b4ac3303ec73f0f87cfb32399\n\nDecrypt = RSA-OAEP-5\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 0770952181649f9f9f07ff626ff3a22c35c462443d905d456a9fd0bff43cac2ca7a9f554e9478b9acc3ac838b02040ffd3e1847de2e4253929f9dd9ee4044325a9b05cabb808b2ee840d34e15d105a3f1f7b27695a1a07a2d73fe08ecaaa3c9c9d4d5a89ff890d54727d7ae40c0ec1a8dd86165d8ee2c6368141016a48b55b6967\nOutput = 308b0ecbd2c76cb77fc6f70c5edd233fd2f20929d629f026953bb62a8f4a3a314bde195de85b5f816da2aab074d26cb6acddf323ae3b9c678ac3cf12fbdde7\n\nDecrypt = RSA-OAEP-5\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 0812b76768ebcb642d040258e5f4441a018521bd96687e6c5e899fcd6c17588ff59a82cc8ae03a4b45b31299af1788c329f7dcd285f8cf4ced82606b97612671a45bedca133442144d1617d114f802857f0f9d739751c57a3f9ee400912c61e2e6992be031a43dd48fa6ba14eef7c422b5edc4e7afa04fdd38f402d1c8bb719abf\nOutput = 15c5b9ee1185\n\nDecrypt = RSA-OAEP-5\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 07b60e14ec954bfd29e60d0047e789f51d57186c63589903306793ced3f68241c743529aba6a6374f92e19e0163efa33697e196f7661dfaaa47aac6bde5e51deb507c72c589a2ca1693d96b1460381249b2cdb9eac44769f2489c5d3d2f99f0ee3c7ee5bf64a5ac79c42bd433f149be8cb59548361640595513c97af7bc2509723\nOutput = 21026e6800c7fa728fcaaba0d196ae28d7a2ac4ffd8abce794f0985f60c8a6737277365d3fea11db8923a2029a\n\nDecrypt = RSA-OAEP-5\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 08c36d4dda33423b2ed6830d85f6411ba1dcf470a1fae0ebefee7c089f256cef74cb96ea69c38f60f39abee44129bcb4c92de7f797623b20074e3d9c2899701ed9071e1efa0bdd84d4c3e5130302d8f0240baba4b84a71cc032f2235a5ff0fae277c3e8f9112bef44c9ae20d175fc9a4058bfc930ba31b02e2e4f444483710f24a\nOutput = 541e37b68b6c8872b84c02\n\nPrivateKey = RSA-OAEP-6\nType = RSA\nInput = 30820279020100300d06092a864886f70d0101010500048202633082025f02010002818112b17f6dad2ecd19ff46dc13f7860f09e0e0cfb677b38a52592305ceaf022c166db90d04ac29e33f7dd12d9faf66e0816bb63ead267cc7d46c17c37be214bca2a22d723a64e44407436b6fc965729aefc2554f376cd5dcea68293780a62bf39d0029485a160bbb9e5dc0972d21a504f52e5ee028aa416332f510b2e9cff5f722af02030100010281810295eca3560618369559cecd303aa9cfdafc1d9f06959df75ffef929aa896961bcd190dc6997eda7f5963e724d07b4dc11f3065e5ae97d96835112280b9084bb14f2a21ebd4e889d41b9c4132ec1956fcab8bb2fed0575884936522c5ff7d33261904824e7cadee4e0bb372d2457cf78e2bd1286228ff83f10731ce63c90cff3f9024104a6ce8b7358dfa69bdcf742617005afb5385f5f3a58a24ef74a22a8c05cb7cc38ebd4cc9d9a9d789a62cd0f60f0cb941d3423c9692efa4fe3adff290c4749a38b02410404c9a803371fedb4c5be39f3c00b009e5e08a63be1e40035cdaca5011cc701cf7eebcb99f0ffe17cfd0a4bf7befd2dd536ac946db797fdbc4abe8f29349b91ed024103961c8f760aa2bd5154c7aafd77225b3bacd0139ae7b5948ea3311fccd86fb95c75afa767284b9b2de559572f15d8d044c7eb83a1be5fadf2cc377c0d8475294b0241022197e066742196aabc03fa2feeb4e70b15cb787d617acd31bb75c7bc234ad706f7c48d2182d1f0ff9c228dcf41967b6c0ba6d2c0ad110a1b857831ec245e2cb102410401c4c0c53d45dbdb5e9d96d0fecf4275df0974bc4a0736b4a74c3269053efb686ace2406e22c9e058ddb4ae540627ae2fdb08261e8e7e4bcbc994daafa305c45\n\nDecrypt = RSA-OAEP-6\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 0630eebcd2856c24f798806e41f9e67345eda9ceda386acc9facaea1eeed06ace583709718d9d169fadf414d5c76f92996833ef305b75b1e4b95f662a20faedc3bae0c4827a8bf8a88edbd57ec203a27a841f02e43a615bab1a8cac0701de34debdef62a088089b55ec36ea7522fd3ec8d06b6a073e6df833153bc0aefd93bd1a3\nOutput = 4046ca8baa3347ca27f49e0d81f9cc1d71be9ba517d4\n\nDecrypt = RSA-OAEP-6\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 0ebc37376173a4fd2f89cc55c2ca62b26b11d51c3c7ce49e8845f74e7607317c436bc8d23b9667dfeb9d087234b47bc6837175ae5c0559f6b81d7d22416d3e50f4ac533d8f0812f2db9e791fe9c775ac8b6ad0f535ad9ceb23a4a02014c58ab3f8d3161499a260f39348e714ae2a1d3443208fd8b722ccfdfb393e98011f99e63f\nOutput = 5cc72c60231df03b3d40f9b57931bc31109f972527f28b19e7480c7288cb3c92b22512214e4be6c914792ddabdf57faa8aa7\n\nDecrypt = RSA-OAEP-6\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 0a98bf1093619394436cf68d8f38e2f158fde8ea54f3435f239b8d06b8321844202476aeed96009492480ce3a8d705498c4c8c68f01501dc81db608f60087350c8c3b0bd2e9ef6a81458b7c801b89f2e4fe99d4900ba6a4b5e5a96d865dc676c7755928794130d6280a8160a190f2df3ea7cf9aa0271d88e9e6905ecf1c5152d65\nOutput = b20e651303092f4bccb43070c0f86d23049362ed96642fc5632c27db4a52e3d831f2ab068b23b149879c002f6bf3feee97591112562c\n\nDecrypt = RSA-OAEP-6\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 008e7a67cacfb5c4e24bec7dee149117f19598ce8c45808fef88c608ff9cd6e695263b9a3c0ad4b8ba4c95238e96a8422b8535629c8d5382374479ad13fa39974b242f9a759eeaf9c83ad5a8ca18940a0162ba755876df263f4bd50c6525c56090267c1f0e09ce0899a0cf359e88120abd9bf893445b3cae77d3607359ae9a52f8\nOutput = 684e3038c5c041f7\n\nDecrypt = RSA-OAEP-6\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 00003474416c7b68bdf961c385737944d7f1f40c", - "b395343c693cc0b4fe63b31fedf1eaeeac9ccc0678b31dc32e0977489514c4f09085f6298a9653f01aea4045ff582ee887be26ae575b73eef7f3774921e375a3d19adda0ca31aa1849887c1f42cac9677f7a2f4e923f6e5a868b38c084ef187594dc9f7f048fea2e02955384ab\nOutput = 32488cb262d041d6e4dd35f987bf3ca696db1f06ac29a44693\n\nDecrypt = RSA-OAEP-6\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 0a026dda5fc8785f7bd9bf75327b63e85e2c0fdee5dadb65ebdcac9ae1de95c92c672ab433aa7a8e69ce6a6d8897fac4ac4a54de841ae5e5bbce7687879d79634cea7a30684065c714d52409b928256bbf53eabcd5231eb7259504537399bd29164b726d33a46da701360a4168a091ccab72d44a62fed246c0ffea5b1348ab5470\nOutput = 50ba14be8462720279c306ba\n\nPrivateKey = RSA-OAEP-7\nType = RSA\nInput = 30820278020100300d06092a864886f70d0101010500048202623082025e020100028181311179f0bcfc9b9d3ca315d00ef30d7bdd3a2cfae9911bfedcb948b3a4782d0732b6ab44aa4bf03741a644dc01bec3e69b01a033e675d8acd7c4925c6b1aec3119051dfd89762d215d45475ffcb59f908148623f37177156f6ae86dd7a7c5f43dc1e1f908254058a284a5f06c0021793a87f1ac5feff7dcaee69c5e51a3789e3730203010001028181070cfcff2feb8276e27432c45dfee48f49b7917d6530e1f0ca3460f32e0276174487c56e22a45d2500d7775495219d7d165a9cf3bd92c32af9a98d8dc9cc296800adc94a0a54fb40f34291bf84ee8ea12b6f109359c6d3542a50f9c767f5cfff05a681c2e656fb77caaadb4be9468d8abcd4df98f58e86d2053fa1349f748e21b102410749262c111cd470ec2566e6b3732fc09329469aa19071d3b9c01906514c6f1d26baa14beab0971c8b7e611a4f79009d6fea776928ca25285b0de3643d1a3f8c71024106bc1e50e96c02bf636e9eea8b899bbebf7651de77dd474c3e9bc23bad8182b61904c7d97dfbebfb1e00108878b6e67e415391d67942c2b2bf9b4435f88b0cb023024103bc7ea7f0aab143abc6ce8b97118636a30172e4cfe02c8fa0dda3b7baaf90f8092982985525f488bdfcb4bd726e22639ac64a3092ab7ffcbf1d5334cfa50b5bf102410262a6aa29c2a3c67dc5346c06381afd987aa3cc93cfbfecf54fdd9f9d787d7f59a523d398979da137a2f6381fe94801f7c94da21518dc34cb40870c4697994ad90240649d4c17b6ee1721e772d0389a559c3d3cdf9550d457c46b037b74641b1d52166af8a213c8396206cdfba4422f18d6f61dbcb5d214c971bf482aeb976a7370c2\n\nDecrypt = RSA-OAEP-7\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 1688e4ce7794bba6cb7014169ecd559cede2a30b56a52b68d9fe18cf1973ef97b2a03153951c755f6294aa49adbdb55845ab6875fb3986c93ecf927962840d282f9e54ce8b690f7c0cb8bbd73440d9571d1b16cd9260f9eab4783cc482e5223dc60973871783ec27b0ae0fd47732cbc286a173fc92b00fb4ba6824647cd93c85c1\nOutput = 47aae909\n\nDecrypt = RSA-OAEP-7\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 1052ed397b2e01e1d0ee1c50bf24363f95e504f4a03434a08fd822574ed6b9736edbb5f390db10321479a8a139350e2bd4977c3778ef331f3e78ae118b268451f20a2f01d471f5d53c566937171b2dbc2d4bde459a5799f0372d6574239b2323d245d0bb81c286b63c89a361017337e4902f88a467f4c7f244bfd5ab46437ff3b6\nOutput = 1d9b2e2223d9bc13bfb9f162ce735db48ba7c68f6822a0a1a7b6ae165834e7\n\nDecrypt = RSA-OAEP-7\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 2155cd843ff24a4ee8badb7694260028a490813ba8b369a4cbf106ec148e5298707f5965be7d101c1049ea8584c24cd63455ad9c104d686282d3fb803a4c11c1c2e9b91c7178801d1b6640f003f5728df007b8a4ccc92bce05e41a27278d7c85018c52414313a5077789001d4f01910b72aad05d220aa14a58733a7489bc54556b\nOutput = d976fc\n\nDecrypt = RSA-OAEP-7\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 0ab14c373aeb7d4328d0aaad8c094d88b9eb098b95f21054a29082522be7c27a312878b637917e3d819e6c3c568db5d843802b06d51d9e98a2be0bf40c031423b00edfbff8320efb9171bd2044653a4cb9c5122f6c65e83cda2ec3c126027a9c1a56ba874d0fea23f380b82cf240b8cf540004758c4c77d934157a74f3fc12bfac\nOutput = d4738623df223aa43843df8467534c41d013e0c803c624e263666b239bde40a5f29aeb8de79e3daa61dd0370f49bd4b013834b98212aef6b1c5ee373b3cb\n\nDecrypt = RSA-OAEP-7\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 028387a318277434798b4d97f460068df5298faba5041ba11761a1cb7316b24184114ec500257e2589ed3b607a1ebbe97a6cc2e02bf1b681f42312a33b7a77d8e7855c4a6de03e3c04643f786b91a264a0d6805e2cea91e68177eb7a64d9255e4f27e713b7ccec00dc200ebd21c2ea2bb890feae4942df941dc3f97890ed347478\nOutput = bb47231ca5ea1d3ad46c99345d9a8a61\n\nDecrypt = RSA-OAEP-7\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 14c678a94ad60525ef39e959b2f3ba5c097a94ff912b67dbace80535c187abd47d075420b1872152bba08f7fc31f313bbf9273c912fc4c0149a9b0cfb79807e346eb332069611bec0ff9bcd168f1f7c33e77313cea454b94e2549eecf002e2acf7f6f2d2845d4fe0aab2e5a92ddf68c480ae11247935d1f62574842216ae674115\nOutput = 2184827095d35c3f86f600e8e59754013296\n\nPrivateKey = RSA-OAEP-8\nType = RSA\nInput = 30820279020100300d06092a864886f70d0101010500048202633082025f0201000281815bdf0e30d321dda5147f882408fa69195480df8f80d3f6e8bf5818504f36427ca9b1f5540b9c65a8f6974cf8447a244d9280201bb49fcbbe6378d1944cd227e230f96e3d10f819dcef276c64a00b2a4b6701e7d01de5fabde3b1e9a0df82f4631359cd22669647fbb1717246134ed7b497cfffbdc42b59c73a96ed90166212dff702030100010281810f7d1e9e5aaa25fd13e4a0663ae144e0d15f5cd18bcdb09df2cc7e64e3c5e915ad62645304161d098c715bb7ab8bd01d07eaf3fed7c7ed08af2a8a62ef44ab16b320e14af72a48f96afe262a0ae4cf65e635e910790cd4ee5cea768a4b2639f7e6f677b3f0bb6be32b75747d8909036f0264f58d401cdba131716157a75ecf633102410a02ef8448d9fad8bbd0d004c8c2aa9751ef9721c1b0d03236a54b0df947cbaed5a255ee9e8e20d491ea1723fe094704a9762e88afd16ebb5994412ca966dc4f9f0241092d362e7ed3a0bfd9e9fd0e6c0301b6df29159cf50cc83b9b0cf4d6eea71a61e002b46e0ae9f2de62d25b5d7452d498b81c9ac6fc58593d4c3fb4f5d72dfbb0a9024107c71410af103962db367404e37ae850baa4e9c29dd92145815294a67c7d1c6ded263aa030a9b633ae50303e14035d1af014123eba687820308d8ebc85b6957d7d024100ae2c75380c02c016ad05891b3301de881f28ae1171182b6b2c83bea7c515eca9ca298c7b1cab5817a597068fc85060de4da8a016378aae43c7f967bcc37904b902410598d1059e3ada4f6320752c09d805ff7d1f1ae0d017aeeee9cefa0d7dd7ff775e44b578322f6405d6211da19519666aa87fdc4cd8c88f6b6e3d67e961dcbba3d0\n\nDecrypt = RSA-OAEP-8\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 09b3683d8a2eb0fb295b62ed1fb9290b714457b7825319f4647872af889b30409472020ad12912bf19b11d4819f49614824ffd84d09c0a17e7d17309d12919790410aa2995699f6a86dbe3242b5acc23af45691080d6b1ae810fb3e3057087f0970092ce00be9562ff4053b6262ce0caa93e13723d2e3a5ba075d45f0d61b54b61\nOutput = 050b755e5e6880f7b9e9d692a74c37aae449b31bfea6deff83747a897f6c2c825bb1adbf850a3c96994b5de5b33cbc7d4a17913a7967\n\nDecrypt = RSA-OAEP-8\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 2ecf15c97c5a15b1476ae986b371b57a24284f4a162a8d0c8182e7905e792256f1812ba5f83f1f7a130e42dcc02232844edc14a31a68ee97ae564a383a3411656424c5f62ddb646093c367be1fcda426cf00a06d8acb7e57776fbbd855ac3df506fc16b1d7c3f2110f3d8068e91e186363831c8409680d8da9ecd8cf1fa20ee39d\nOutput = 4eb68dcd93ca9b19df111bd43608f557026fe4aa1d5cfac227a3eb5ab9548c18a06dded23f81825986b2fcd71109ecef7eff88873f075c2aa0c469f69c92bc\n\nDecrypt = RSA-OAEP-8\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 4bc89130a5b2dabb7c2fcf90eb5d0eaf9e681b7146a38f3173a3d9cfec52ea9e0a41932e648a9d69344c50da763f51a03c95762131e8052254dcd2248cba40fd31667786ce05a2b7b531ac9dac9ed584a59b677c1a8aed8c5d15d68c05569e2be780bf7db638fd2bfd2a85ab276860f3777338fca989ffd743d13ee08e0ca9893f\nOutput = 8604ac56328c1ab5ad917861\n\nDecrypt = RSA-OAEP-8\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 2e456847d8fc36ff0147d6993594b9397227d577752c79d0f904fcb039d4d812fea605a7b574dd82ca786f93752348438ee9f5b5454985d5f0e1699e3e7ad175a32e15f03deb042ab9fe1dd9db1bb86f8c089ccb45e7ef0c5ee7ca9b7290ca6b15bed47039788a8a93ff83e0e8d6244c71006362deef69b6f416fb3c684383fbd0\nOutput = fdda5fbf6ec361a9d9a4ac68af216a0686f438b1e0e5c36b955f74e107f39c0dddcc\n\nDecrypt = RSA-OAEP-8\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 1fb9356fd5c4b1796db2ebf7d0d393cc810adf6145defc2fce714f79d93800d5e2ac211ea8bbecca4b654b94c3b18b30dd576ce34dc95436ef57a09415645923359a5d7b4171ef22c24670f1b229d3603e91f76671b7df97e7317c97734476d5f3d17d21cf82b5ba9f83df2e588d36984fd1b584468bd23b2e875f32f68953f7b2\nOutput = 4a5f4914bee25de3c69341de07\n\nDecrypt = RSA-OAEP-8\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 3afd9c6600147b21798d818c655a0f4c9212db26d0b0dfdc2a7594ccb3d22f5bf1d7c3e112cd73fc7d509c7a8bafdd3c274d1399009f9609ec4be6477e453f075aa33db382870c1c3409aef392d7386ae3a696b99a94b4da0589447e955d16c98b17602a59bd736279fcd8fb280c4462d590bfa9bf13fed570eafde97330a2c210\nOutput = 8e07d66f7b880a72563abcd3f35092bc33409fb7f88f2472be\n\nPrivateKey = RSA-OAEP-9\nType = RSA\nInput = 30820397020100300d06092a864886f70d0101010500048203813082037d0201000281c100cf2cd41e34ca3a728ea5cb8aff64c36d27bdef5364e336fd68d3123c5a196a8c287013e853d5156d58d151954520fb4f6d7b17abb68177", - "65909c576119659d902b1906ed8a2b10c155c24d124528dab9eeae379beac66e4a411786dcb8fd0062ebc030de1219a04c2a8c1b7dd3131e4d6b6caee2e31a5ed41ac1509b2ef1ee2ab18364be568ca941c25ecc84ff9d643b5ec1aaae102a20d73f479b780fd6da91075212d9eac03a0674d899eba2e431f4c44b615b6ba2232bd4b33baed73d625d02030100010281c0198c141e23715a92bccf6a119a5bc11389468d2811f548d727e17b4ab0eb986d6f211efb53b71f7ccbea87ee69c75ee615008c5332deb52bf390abdfbfe37d7205368159b2638c1de326e21d22251f0fb5848b3bf15005d2a74330f0afe916ee62ccc1344d1d83a709e60676273840f7f377424a5e0a4da75f01b31ff76819cf9cbfdd215243c3917c03ef38199312e567b3bf7aed3ab457f371ef8a1423f45b68c6e282ec111bba2833b987fd69fad83bc1b8c613c5e1ea16c11ed125ea7ec1026100fc8d6c04bec4eb9a8192ca7900cbe536e2e8b519decf33b2459798c6909df4f176db7d23190fc72b8865a718af895f1bcd9145298027423b605e70a47cf58390a8c3e88fc8c48e8b32e3da210dfbe3e881ea5674b6a348c21e93f9e55ea65efd026100d200d45e788aacea606a401d0460f87dd5c1027e12dc1a0d7586e8939d9cf789b40f51ac0442961de7d21cc21e05c83155c1f2aa9193387cfdf956cb48d153ba270406f9bbba537d4987d9e2f9942d7a14cbfffea74fecdda928d23e259f5ee1026100db16802f79a2f0d45f358d69fd33e44b81fae828622e93a54253e997d01b0743759da0e812b4aa4e6c8beab2328d5431955a418a67ff26a8c5c807a5da354e05ef31cc8cf758f463732950b03e265726fb94e39d6a572a26244ab08db75752ad026100a0a317cfe7df1423f87a6dee8451f4e2b4a67e5497f29b4f1e4e830b9fadd9401167026f5596e5a39c97817e0f5f16e27e19ec9902e01d7ea6fb9aa3c760afee1e381b69de6ac9c07585a06ad9c4ba00bf75c8ad2fa898a479e80ae294fed2a102600b21f335c353342eb44c3aa24445780c2d655b940174cae38c7c8a4e6493c0ba9fd303748267b083b9a7a6cb61e42db362b8c9896db7064e02ad5ae61587da15b4649c90594909feb37dbcb654beb7268ec801e5a8b4aa3911bebd88542f05be\n\nDecrypt = RSA-OAEP-9\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 267bcd118acab1fc8ba81c85d73003cb8610fa55c1d97da8d48a7c7f06896a4db751aa284255b9d36ad65f37653d829f1b37f97b8001942545b2fc2c55a7376ca7a1be4b1760c8e05a33e5aa2526b8d98e317088e7834c755b2a59b12631a182c05d5d43ab1779264f8456f515ce57dfdf512d5493dab7b7338dc4b7d78db9c091ac3baf537a69fc7f549d979f0eff9a94fda4169bd4d1d19a69c99e33c3b55490d501b39b1edae118ff6793a153261584d3a5f39f6e682e3d17c8cd1261fa72\nOutput = f735fd55ba92592c3b52b8f9c4f69aaa1cbef8fe88add095595412467f9cf4ec0b896c59eda16210e7549c8abb10cdbc21a12ec9b6b5b8fd2f10399eb6\n\nDecrypt = RSA-OAEP-9\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 93ac9f0671ec29acbb444effc1a5741351d60fdb0e393fbf754acf0de49761a14841df7772e9bc82773966a1584c4d72baea00118f83f35cca6e537cbd4d811f5583b29783d8a6d94cd31be70d6f526c10ff09c6fa7ce069795a3fcd0511fd5fcb564bcc80ea9c78f38b80012539d8a4ddf6fe81e9cddb7f50dbbbbcc7e5d86097ccf4ec49189fb8bf318be6d5a0715d516b49af191258cd32dc833ce6eb4673c03a19bbace88cc54895f636cc0c1ec89096d11ce235a265ca1764232a689ae8\nOutput = 81b906605015a63aabe42ddf11e1978912f5404c7474b26dce3ed482bf961ecc818bf420c54659\n\nDecrypt = RSA-OAEP-9\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 81ebdd95054b0c822ef9ad7693f5a87adfb4b4c4ce70df2df84ed49c04da58ba5fc20a19e1a6e8b7a3900b22796dc4e869ee6b42792d15a8eceb56c09c69914e813cea8f6931e4b8ed6f421af298d595c97f4789c7caa612c7ef360984c21b93edc5401068b5af4c78a8771b984d53b8ea8adf2f6a7d4a0ba76c75e1dd9f658f20ded4a46071d46d7791b56803d8fea7f0b0f8e41ae3f09383a6f9585fe7753eaaffd2bf94563108beecc207bbb535f5fcc705f0dde9f708c62f49a9c90371d3\nOutput = fd326429df9b890e09b54b18b8f34f1e24\n\nDecrypt = RSA-OAEP-9\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = bcc35f94cde66cb1136625d625b94432a35b22f3d2fa11a613ff0fca5bd57f87b902ccdc1cd0aebcb0715ee869d1d1fe395f6793003f5eca465059c88660d446ff5f0818552022557e38c08a67ead991262254f10682975ec56397768537f4977af6d5f6aaceb7fb25dec5937230231fd8978af49119a29f29e424ab8272b47562792d5c94f774b8829d0b0d9f1a8c9eddf37574d5fa248eefa9c5271fc5ec2579c81bdd61b410fa61fe36e424221c113addb275664c801d34ca8c6351e4a858\nOutput = f1459b5f0c92f01a0f723a2e5662484d8f8c0a20fc29dad6acd43bb5f3effdf4e1b63e07fdfe6628d0d74ca19bf2d69e4a0abf86d293925a796772f8088e\n\nDecrypt = RSA-OAEP-9\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 232afbc927fa08c2f6a27b87d4a5cb09c07dc26fae73d73a90558839f4fd66d281b87ec734bce237ba166698ed829106a7de6942cd6cdce78fed8d2e4d81428e66490d036264cef92af941d3e35055fe3981e14d29cbb9a4f67473063baec79a1179f5a17c9c1832f2838fd7d5e59bb9659d56dce8a019edef1bb3accc697cc6cc7a778f60a064c7f6f5d529c6210262e003de583e81e3167b89971fb8c0e15d44fffef89b53d8d64dd797d159b56d2b08ea5307ea12c241bd58d4ee278a1f2e\nOutput = 53e6e8c729d6f9c319dd317e74b0db8e4ccca25f3c8305746e137ac63a63ef3739e7b595abb96e8d55e54f7bd41ab433378ffb911d\n\nDecrypt = RSA-OAEP-9\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 438cc7dc08a68da249e42505f8573ba60e2c2773d5b290f4cf9dff718e842081c383e67024a0f29594ea987b9d25e4b738f285970d195abb3a8c8054e3d79d6b9c9a8327ba596f1259e27126674766907d8d582ff3a8476154929adb1e6d1235b2ccb4ec8f663ba9cc670a92bebd853c8dbf69c6436d016f61add836e94732450434207f9fd4c43dec2a12a958efa01efe2669899b5e604c255c55fb7166de5589e369597bb09168c06dd5db177e06a1740eb2d5c82faeca6d92fcee9931ba9f\nOutput = b6b28ea2198d0c1008bc64\n\nPrivateKey = RSA-OAEP-10\nType = RSA\nInput = 308204bd020100300d06092a864886f70d0101010500048204a7308204a30201000282010100ae45ed5601cec6b8cc05f803935c674ddbe0d75c4c09fd7951fc6b0caec313a8df39970c518bffba5ed68f3f0d7f22a4029d413f1ae07e4ebe9e4177ce23e7f5404b569e4ee1bdcf3c1fb03ef113802d4f855eb9b5134b5a7c8085adcae6fa2fa1417ec3763be171b0c62b760ede23c12ad92b980884c641f5a8fac26bdad4a03381a22fe1b754885094c82506d4019a535a286afeb271bb9ba592de18dcf600c2aeeae56e02f7cf79fc14cf3bdc7cd84febbbf950ca90304b2219a7aa063aefa2c3c1980e560cd64afe779585b6107657b957857efde6010988ab7de417fc88d8f384c4e6e72c3f943e0c31c0c4a5cc36f879d8a3ac9d7d59860eaada6b83bb020301000102820100056b04216fe5f354ac77250a4b6b0c8525a85c59b0bd80c56450a22d5f438e596a333aa875e291dd43f48cb88b9d5fc0d499f9fcd1c397f9afc070cd9e398c8d19e61db7c7410a6b2675dfbf5d345b804d201add502d5ce2dfcb091ce9997bbebe57306f383e4d588103f036f7e85d1934d152a323e4a8db451d6f4a5b1b0f102cc150e02feee2b88dea4ad4c1baccb24d84072d14e1d24a6771f7408ee30564fb86d4393a34bcf0b788501d193303f13a2284b001f0f649eaf79328d4ac5c430ab4414920a9460ed1b7bc40ec653e876d09abc509ae45b525190116a0c26101848298509c1c3bf3a483e7274054e15e97075036e989f60932807b5257751e7902818100ecf5aecd1e5515fffacbd75a2816c6ebf49018cdfb4638e185d66a7396b6f8090f8018c7fd95cc34b857dc17f0cc6516bb1346ab4d582cadad7b4103352387b70338d084047c9d9539b6496204b3dd6ea442499207bec01f964287ff6336c3984658336846f56e46861881c10233d2176bf15a5e96ddc780bc868aa77d3ce76902818100bc46c464fc6ac4ca783b0eb08a3c841b772f7e9b2f28babd588ae885e1a0c61e4858a0fb25ac299990f35be85164c259ba1175cdd7192707135184992b6c29b746dd0d2cabe142835f7d148cc161524b4a09946d48b828473f1ce76b6cb6886c345c03e05f41d51b5c3a90a3f24073c7d74a4fe25d9cf21c75960f3fc386318302818100c73564571d00fb15d08a3de9957a50915d7126e9442dacf42bc82e862e5673ff6a008ed4d2e374617df89f17a160b43b7fda9cb6b6b74218609815f7d45ca263c159aa32d272d127faf4bc8ca2d77378e8aeb19b0ad7da3cb3de0ae7314980f62b6d4b0a875d1df03c1bae39ccd833ef6cd7e2d9528bf084d1f969e794e9f6c10281802658b37f6df9c1030be1db68117fa9d87e39ea2b693b7e6d3a2f70947413eec6142e18fb8dfcb6ac545d7c86a0ad48f8457170f0efb26bc48126c53efd1d16920198dc2a1107dc282db6a80cd3062360ba3fa13f70e4312ff1a6cd6b8fc4cd9c5c3db17c6d6a57212f73ae29f619327bad59b153858585ba4e28b60a62a45e490281806f38526b3925085534ef3e415a836ede8b86158a2c7cbfeccb0bd834304fec683ba8d4f479c433d43416e63269623cea100776d85aff401d3fff610ee65411ce3b1363d63a9709eede42647cea561493d54570a879c18682cd97710b96205ec31117d73b5f36223fadd6e8ba90dd7c0ee61d44e163251e20c7f66eb305117cb8\n\nDecrypt = RSA-OAEP-10\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 53ea5dc08cd260fb3b858567287fa91552c30b2febfba213f0ae87702d068d19bab07fe574523dfb42139d68c3c5afeee0bfe4cb7969cbf382b804d6e61396144e2d0e60741f8993c3014b58b9b1957a8babcd23af854f4c356fb1662aa72bfcc7e586559dc4280d160c126785a723ebeebeff71f11594440aaef87d10793a8774a239d4a04c87fe1467b9daf85208ec6c7255794a96cc29142f9a8bd418e3c1fd67344b0cd0829df3b2bec60253196293c6b34d3f75d32f213dd45c6273d505adf4cced1057cb758fc26aeefa441255ed4e64c199ee075e7f16646182fdb464739b68ab5daff0e63e9552016824f054bf4d3c8c90a97bb6b6553284eb429fcc\nOutput = 8bba6bf82a6c0f86d5f1756e97956870b08953b06b4eb205bc1694ee\n\nDecrypt = RSA-OAEP-10\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = a2b1a430a9d657e2fa1c2bb5ed43ffb25c05a308fe9093c01031795f5874400110828ae58fb9b581ce9d", - "ddd3e549ae04a0985459bde6c626594e7b05dc4278b2a1465c1368408823c85e96dc66c3a30983c639664fc4569a37fe21e5a195b5776eed2df8d8d361af686e750229bbd663f161868a50615e0c337bec0ca35fec0bb19c36eb2e0bbcc0582fa1d93aacdb061063f59f2ce1ee43605e5d89eca183d2acdfe9f81011022ad3b43a3dd417dac94b4e11ea81b192966e966b182082e71964607b4f8002f36299844a11f2ae0faeac2eae70f8f4f98088acdcd0ac556e9fccc511521908fad26f04c64201450305778758b0538bf8b5bb144a828e629795\nOutput = e6ad181f053b58a904f2457510373e57\n\nDecrypt = RSA-OAEP-10\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 9886c3e6764a8b9a84e84148ebd8c3b1aa8050381a78f668714c16d9cfd2a6edc56979c535d9dee3b44b85c18be8928992371711472216d95dda98d2ee8347c9b14dffdff84aa48d25ac06f7d7e65398ac967b1ce90925f67dce049b7f812db0742997a74d44fe81dbe0e7a3feaf2e5c40af888d550ddbbe3bc20657a29543f8fc2913b9bd1a61b2ab2256ec409bbd7dc0d17717ea25c43f42ed27df8738bf4afc6766ff7aff0859555ee283920f4c8a63c4a7340cbafddc339ecdb4b0515002f96c932b5b79167af699c0ad3fccfdf0f44e85a70262bf2e18fe34b850589975e867ff969d48eabf212271546cdc05a69ecb526e52870c836f307bd798780ede\nOutput = 510a2cf60e866fa2340553c94ea39fbc256311e83e94454b4124\n\nDecrypt = RSA-OAEP-10\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 6318e9fb5c0d05e5307e1683436e903293ac4642358aaa223d7163013aba87e2dfda8e60c6860e29a1e92686163ea0b9175f329ca3b131a1edd3a77759a8b97bad6a4f8f4396f28cf6f39ca58112e48160d6e203daa5856f3aca5ffed577af499408e3dfd233e3e604dbe34a9c4c9082de65527cac6331d29dc80e0508a0fa7122e7f329f6cca5cfa34d4d1da417805457e008bec549e478ff9e12a763c477d15bbb78f5b69bd57830fc2c4ed686d79bc72a95d85f88134c6b0afe56a8ccfbc855828bb339bd17909cf1d70de3335ae07039093e606d655365de6550b872cd6de1d440ee031b61945f629ad8a353b0d40939e96a3c450d2a8d5eee9f678093c8\nOutput = bcdd190da3b7d300df9a06e22caae2a75f10c91ff667b7c16bde8b53064a2649a94045c9\n\nDecrypt = RSA-OAEP-10\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 75290872ccfd4a4505660d651f56da6daa09ca1301d890632f6a992f3d565cee464afded40ed3b5be9356714ea5aa7655f4a1366c2f17c728f6f2c5a5d1f8e28429bc4e6f8f2cff8da8dc0e0a9808e45fd09ea2fa40cb2b6ce6ffff5c0e159d11b68d90a85f7b84e103b09e682666480c657505c0929259468a314786d74eab131573cf234bf57db7d9e66cc6748192e002dc0deea930585f0831fdcd9bc33d51f79ed2ffc16bcf4d59812fcebcaa3f9069b0e445686d644c25ccf63b456ee5fa6ffe96f19cdf751fed9eaf35957754dbf4bfea5216aa1844dc507cb2d080e722eba150308c2b5ff1193620f1766ecf4481bafb943bd292877f2136ca494aba0\nOutput = a7dd6c7dc24b46f9dd5f1e91ada4c3b3df947e877232a9\n\nDecrypt = RSA-OAEP-10\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 2d207a73432a8fb4c03051b3f73b28a61764098dfa34c47a20995f8115aa6816679b557e82dbee584908c6e69782d7deb34dbd65af063d57fca76a5fd069492fd6068d9984d209350565a62e5c77f23038c12cb10c6634709b547c46f6b4a709bd85ca122d74465ef97762c29763e06dbc7a9e738c78bfca0102dc5e79d65b973f28240caab2e161a78b57d262457ed8195d53e3c7ae9da021883c6db7c24afdd2322eac972ad3c354c5fcef1e146c3a0290fb67adf007066e00428d2cec18ce58f9328698defef4b2eb5ec76918fde1c198cbb38b7afc67626a9aefec4322bfd90d2563481c9a221f78c8272c82d1b62ab914e1c69f6af6ef30ca5260db4a46\nOutput = eaf1a73a1b0c4609537de69cd9228bbcfb9a8ca8c6c3efaf056fe4a7f4634ed00b7c39ec6922d7b8ea2c04ebac\n\n\n# Single-shot signing tests.\n\nSignMessage = RSA-2048\nDigest = SHA256\nInput = \"Hello world\"\nOutput = 301894798b49d6ec55d32dcc74314f04230591a515781f3eb4492f5324b56046836c4bc3e25942af341e88558cb4c3814a849207575d343189147989b16e296b5138dbbc717116dc416f201dfa35943d15060493953cda1f04a13ff89845cf7fd69e1a78d5d38522a77bb234e5d0ba2ae17ada6e22fdae27a4052fdb8ac267507dfe06ed7a865e61a52b530bbbf65c7caa89739613df10ae3b0e62ff6831ee0770086aad39c329462aede9f1b29a501bc3d09e0fe4034aa5d6831d44491d508111d88a1d7ba50cee5ef7e701b3a589adc09a752a974a6805956f4a1a0582f66309a1e02e9fb6b10d2c820fe98bb2eb04f435bc8a649cc9ab6c5a4c03e83800d1\n\nVerifyMessage = RSA-2048\nDigest = SHA256\nInput = \"Hello world\"\nOutput = 301894798b49d6ec55d32dcc74314f04230591a515781f3eb4492f5324b56046836c4bc3e25942af341e88558cb4c3814a849207575d343189147989b16e296b5138dbbc717116dc416f201dfa35943d15060493953cda1f04a13ff89845cf7fd69e1a78d5d38522a77bb234e5d0ba2ae17ada6e22fdae27a4052fdb8ac267507dfe06ed7a865e61a52b530bbbf65c7caa89739613df10ae3b0e62ff6831ee0770086aad39c329462aede9f1b29a501bc3d09e0fe4034aa5d6831d44491d508111d88a1d7ba50cee5ef7e701b3a589adc09a752a974a6805956f4a1a0582f66309a1e02e9fb6b10d2c820fe98bb2eb04f435bc8a649cc9ab6c5a4c03e83800d1\n\nVerifyMessage = RSA-2048-SPKI\nDigest = SHA256\nInput = \"Hello world\"\nOutput = 301894798b49d6ec55d32dcc74314f04230591a515781f3eb4492f5324b56046836c4bc3e25942af341e88558cb4c3814a849207575d343189147989b16e296b5138dbbc717116dc416f201dfa35943d15060493953cda1f04a13ff89845cf7fd69e1a78d5d38522a77bb234e5d0ba2ae17ada6e22fdae27a4052fdb8ac267507dfe06ed7a865e61a52b530bbbf65c7caa89739613df10ae3b0e62ff6831ee0770086aad39c329462aede9f1b29a501bc3d09e0fe4034aa5d6831d44491d508111d88a1d7ba50cee5ef7e701b3a589adc09a752a974a6805956f4a1a0582f66309a1e02e9fb6b10d2c820fe98bb2eb04f435bc8a649cc9ab6c5a4c03e83800d1\n\nVerifyMessage = P-256\nDigest = SHA256\nInput = \"Hello world\"\nOutput = 304502204c66004635c267394bd6857c1e0b53b22a2bab1ca7dff9d5c1b42143858b3ea7022100ae81228510e03cd49a8863d2ebd1c05fe0c87eacd1150433132b909994cd0dbd\n\n# Digest can't be omitted in many algorithms.\nSignMessage = RSA-2048\nInput = \"Hello world\"\nError = NO_DEFAULT_DIGEST\n\nVerifyMessage = RSA-2048\nInput = \"Hello world\"\nOutput = 301894798b49d6ec55d32dcc74314f04230591a515781f3eb4492f5324b56046836c4bc3e25942af341e88558cb4c3814a849207575d343189147989b16e296b5138dbbc717116dc416f201dfa35943d15060493953cda1f04a13ff89845cf7fd69e1a78d5d38522a77bb234e5d0ba2ae17ada6e22fdae27a4052fdb8ac267507dfe06ed7a865e61a52b530bbbf65c7caa89739613df10ae3b0e62ff6831ee0770086aad39c329462aede9f1b29a501bc3d09e0fe4034aa5d6831d44491d508111d88a1d7ba50cee5ef7e701b3a589adc09a752a974a6805956f4a1a0582f66309a1e02e9fb6b10d2c820fe98bb2eb04f435bc8a649cc9ab6c5a4c03e83800d1\nError = NO_DEFAULT_DIGEST\n\n# Signing test vectors from RFC 8032.\nSignMessage = Ed25519\nInput = \"\"\nOutput = e5564300c360ac729086e2cc806e828a84877f1eb8e5d974d873e065224901555fb8821590a33bacc61e39701cf9b46bd25bf5f0595bbe24655141438e7a100b\n\nSignMessage = Ed25519-2\nInput = 72\nOutput = 92a009a9f0d4cab8720e820b5f642540a2b27b5416503f8fb3762223ebdb69da085ac1e43e15996e458f3613d0f11d8c387b2eaeb4302aeeb00d291612bb0c00\n\nSignMessage = Ed25519-3\nInput = af82\nOutput = 6291d657deec24024827e69c3abe01a30ce548a284743a445e3680d7db5ac3ac18ff9b538d16f290ae67f760984dc6594a7c15e9716ed28dc027beceea1ec40a\n\nSignMessage = Ed25519-4\nInput = 08b8b2b733424243760fe426a4b54908632110a66c2f6591eabd3345e3e4eb98fa6e264bf09efe12ee50f8f54e9f77b1e355f6c50544e23fb1433ddf73be84d879de7c0046dc4996d9e773f4bc9efe5738829adb26c81b37c93a1b270b20329d658675fc6ea534e0810a4432826bf58c941efb65d57a338bbd2e26640f89ffbc1a858efcb8550ee3a5e1998bd177e93a7363c344fe6b199ee5d02e82d522c4feba15452f80288a821a579116ec6dad2b3b310da903401aa62100ab5d1a36553e06203b33890cc9b832f79ef80560ccb9a39ce767967ed628c6ad573cb116dbefefd75499da96bd68a8a97b928a8bbc103b6621fcde2beca1231d206be6cd9ec7aff6f6c94fcd7204ed3455c68c83f4a41da4af2b74ef5c53f1d8ac70bdcb7ed185ce81bd84359d44254d95629e9855a94a7c1958d1f8ada5d0532ed8a5aa3fb2d17ba70eb6248e594e1a2297acbbb39d502f1a8c6eb6f1ce22b3de1a1f40cc24554119a831a9aad6079cad88425de6bde1a9187ebb6092cf67bf2b13fd65f27088d78b7e883c8759d2c4f5c65adb7553878ad575f9fad878e80a0c9ba63bcbcc2732e69485bbc9c90bfbd62481d9089beccf80cfe2df16a2cf65bd92dd597b0707e0917af48bbb75fed413d238f5555a7a569d80c3414a8d0859dc65a46128bab27af87a71314f318c782b23ebfe808b82b0ce26401d2e22f04d83d1255dc51addd3b75a2b1ae0784504df543af8969be3ea7082ff7fc9888c144da2af58429ec96031dbcad3dad9af0dcbaaaf268cb8fcffead94f3c7ca495e056a9b47acdb751fb73e666c6c655ade8297297d07ad1ba5e43f1bca32301651339e22904cc8c42f58c30c04aafdb038dda0847dd988dcda6f3bfd15c4b4c4525004aa06eeff8ca61783aacec57fb3d1f92b0fe2fd1a85f6724517b65e614ad6808d6f6ee34dff7310fdc82aebfd904b01e1dc54b2927094b2db68d6f903b68401adebf5a7e08d78ff4ef5d63653a65040cf9bfd4aca7984a74d37145986780fc0b16ac451649de6188a7dbdf191f64b5fc5e2ab47b57f7f7276cd419c17a3ca8e1b939ae49e488acba6b965610b5480109c8b17b80e1b7b750dfc7598d5d5011fd2dcc5600a32ef5b52a1ecc820e308aa342721aac0943bf6686b64b2579376504ccc493d97e6aed3fb0f9cd71a43dd497f01f17c0e2cb3797aa2a2f256656168e6c496afc5fb93246f6b1116398a346f1a641f3b041e989f7914f90cc2c7fff357876e50", - "6b50d334ba77c225bc307ba537152f3f1610e4eafe595f6d9d90d11faa933a15ef1369546868a7f3a45a96768d40fd9d03412c091c6315cf4fde7cb68606937380db2eaaa707b4c4185c32eddcdd306705e4dc1ffc872eeee475a64dfac86aba41c0618983f8741c5ef68d3a101e8a3b8cac60c905c15fc910840b94c00a0b9d0\nOutput = 0aab4c900501b3e24d7cdf4663326a3a87df5e4843b2cbdb67cbf6e460fec350aa5371b1508f9f4528ecea23c436d94b5e8fcd4f681e30a6ac00a9704a188a03\n\nSignMessage = Ed25519-5\nInput = ddaf35a193617abacc417349ae20413112e6fa4e89a97ea20a9eeee64b55d39a2192992a274fc1a836ba3c23a3feebbd454d4423643ce80e2a9ac94fa54ca49f\nOutput = dc2a4459e7369633a52b1bf277839a00201009a3efbf3ecb69bea2186c26b58909351fc9ac90b3ecfdfbc7c66431e0303dca179c138ac17ad9bef1177331a704\n\n# Signing with public keys is not allowed.\nSignMessage = Ed25519-SPKI\nInput = \"\"\nError = NOT_A_PRIVATE_KEY\n\n# Verify test vectors from RFC 8032. Test verifying with both the public and\n# private key.\nVerifyMessage = Ed25519\nInput = \"\"\nOutput = e5564300c360ac729086e2cc806e828a84877f1eb8e5d974d873e065224901555fb8821590a33bacc61e39701cf9b46bd25bf5f0595bbe24655141438e7a100b\n\nVerifyMessage = Ed25519-SPKI\nInput = \"\"\nOutput = e5564300c360ac729086e2cc806e828a84877f1eb8e5d974d873e065224901555fb8821590a33bacc61e39701cf9b46bd25bf5f0595bbe24655141438e7a100b\n\nVerifyMessage = Ed25519-2\nInput = 72\nOutput = 92a009a9f0d4cab8720e820b5f642540a2b27b5416503f8fb3762223ebdb69da085ac1e43e15996e458f3613d0f11d8c387b2eaeb4302aeeb00d291612bb0c00\n\nVerifyMessage = Ed25519-SPKI-2\nInput = 72\nOutput = 92a009a9f0d4cab8720e820b5f642540a2b27b5416503f8fb3762223ebdb69da085ac1e43e15996e458f3613d0f11d8c387b2eaeb4302aeeb00d291612bb0c00\n\nVerifyMessage = Ed25519-3\nInput = af82\nOutput = 6291d657deec24024827e69c3abe01a30ce548a284743a445e3680d7db5ac3ac18ff9b538d16f290ae67f760984dc6594a7c15e9716ed28dc027beceea1ec40a\n\nVerifyMessage = Ed25519-SPKI-3\nInput = af82\nOutput = 6291d657deec24024827e69c3abe01a30ce548a284743a445e3680d7db5ac3ac18ff9b538d16f290ae67f760984dc6594a7c15e9716ed28dc027beceea1ec40a\n\nVerifyMessage = Ed25519-4\nInput = 08b8b2b733424243760fe426a4b54908632110a66c2f6591eabd3345e3e4eb98fa6e264bf09efe12ee50f8f54e9f77b1e355f6c50544e23fb1433ddf73be84d879de7c0046dc4996d9e773f4bc9efe5738829adb26c81b37c93a1b270b20329d658675fc6ea534e0810a4432826bf58c941efb65d57a338bbd2e26640f89ffbc1a858efcb8550ee3a5e1998bd177e93a7363c344fe6b199ee5d02e82d522c4feba15452f80288a821a579116ec6dad2b3b310da903401aa62100ab5d1a36553e06203b33890cc9b832f79ef80560ccb9a39ce767967ed628c6ad573cb116dbefefd75499da96bd68a8a97b928a8bbc103b6621fcde2beca1231d206be6cd9ec7aff6f6c94fcd7204ed3455c68c83f4a41da4af2b74ef5c53f1d8ac70bdcb7ed185ce81bd84359d44254d95629e9855a94a7c1958d1f8ada5d0532ed8a5aa3fb2d17ba70eb6248e594e1a2297acbbb39d502f1a8c6eb6f1ce22b3de1a1f40cc24554119a831a9aad6079cad88425de6bde1a9187ebb6092cf67bf2b13fd65f27088d78b7e883c8759d2c4f5c65adb7553878ad575f9fad878e80a0c9ba63bcbcc2732e69485bbc9c90bfbd62481d9089beccf80cfe2df16a2cf65bd92dd597b0707e0917af48bbb75fed413d238f5555a7a569d80c3414a8d0859dc65a46128bab27af87a71314f318c782b23ebfe808b82b0ce26401d2e22f04d83d1255dc51addd3b75a2b1ae0784504df543af8969be3ea7082ff7fc9888c144da2af58429ec96031dbcad3dad9af0dcbaaaf268cb8fcffead94f3c7ca495e056a9b47acdb751fb73e666c6c655ade8297297d07ad1ba5e43f1bca32301651339e22904cc8c42f58c30c04aafdb038dda0847dd988dcda6f3bfd15c4b4c4525004aa06eeff8ca61783aacec57fb3d1f92b0fe2fd1a85f6724517b65e614ad6808d6f6ee34dff7310fdc82aebfd904b01e1dc54b2927094b2db68d6f903b68401adebf5a7e08d78ff4ef5d63653a65040cf9bfd4aca7984a74d37145986780fc0b16ac451649de6188a7dbdf191f64b5fc5e2ab47b57f7f7276cd419c17a3ca8e1b939ae49e488acba6b965610b5480109c8b17b80e1b7b750dfc7598d5d5011fd2dcc5600a32ef5b52a1ecc820e308aa342721aac0943bf6686b64b2579376504ccc493d97e6aed3fb0f9cd71a43dd497f01f17c0e2cb3797aa2a2f256656168e6c496afc5fb93246f6b1116398a346f1a641f3b041e989f7914f90cc2c7fff357876e506b50d334ba77c225bc307ba537152f3f1610e4eafe595f6d9d90d11faa933a15ef1369546868a7f3a45a96768d40fd9d03412c091c6315cf4fde7cb68606937380db2eaaa707b4c4185c32eddcdd306705e4dc1ffc872eeee475a64dfac86aba41c0618983f8741c5ef68d3a101e8a3b8cac60c905c15fc910840b94c00a0b9d0\nOutput = 0aab4c900501b3e24d7cdf4663326a3a87df5e4843b2cbdb67cbf6e460fec350aa5371b1508f9f4528ecea23c436d94b5e8fcd4f681e30a6ac00a9704a188a03\n\nVerifyMessage = Ed25519-SPKI-4\nInput = 08b8b2b733424243760fe426a4b54908632110a66c2f6591eabd3345e3e4eb98fa6e264bf09efe12ee50f8f54e9f77b1e355f6c50544e23fb1433ddf73be84d879de7c0046dc4996d9e773f4bc9efe5738829adb26c81b37c93a1b270b20329d658675fc6ea534e0810a4432826bf58c941efb65d57a338bbd2e26640f89ffbc1a858efcb8550ee3a5e1998bd177e93a7363c344fe6b199ee5d02e82d522c4feba15452f80288a821a579116ec6dad2b3b310da903401aa62100ab5d1a36553e06203b33890cc9b832f79ef80560ccb9a39ce767967ed628c6ad573cb116dbefefd75499da96bd68a8a97b928a8bbc103b6621fcde2beca1231d206be6cd9ec7aff6f6c94fcd7204ed3455c68c83f4a41da4af2b74ef5c53f1d8ac70bdcb7ed185ce81bd84359d44254d95629e9855a94a7c1958d1f8ada5d0532ed8a5aa3fb2d17ba70eb6248e594e1a2297acbbb39d502f1a8c6eb6f1ce22b3de1a1f40cc24554119a831a9aad6079cad88425de6bde1a9187ebb6092cf67bf2b13fd65f27088d78b7e883c8759d2c4f5c65adb7553878ad575f9fad878e80a0c9ba63bcbcc2732e69485bbc9c90bfbd62481d9089beccf80cfe2df16a2cf65bd92dd597b0707e0917af48bbb75fed413d238f5555a7a569d80c3414a8d0859dc65a46128bab27af87a71314f318c782b23ebfe808b82b0ce26401d2e22f04d83d1255dc51addd3b75a2b1ae0784504df543af8969be3ea7082ff7fc9888c144da2af58429ec96031dbcad3dad9af0dcbaaaf268cb8fcffead94f3c7ca495e056a9b47acdb751fb73e666c6c655ade8297297d07ad1ba5e43f1bca32301651339e22904cc8c42f58c30c04aafdb038dda0847dd988dcda6f3bfd15c4b4c4525004aa06eeff8ca61783aacec57fb3d1f92b0fe2fd1a85f6724517b65e614ad6808d6f6ee34dff7310fdc82aebfd904b01e1dc54b2927094b2db68d6f903b68401adebf5a7e08d78ff4ef5d63653a65040cf9bfd4aca7984a74d37145986780fc0b16ac451649de6188a7dbdf191f64b5fc5e2ab47b57f7f7276cd419c17a3ca8e1b939ae49e488acba6b965610b5480109c8b17b80e1b7b750dfc7598d5d5011fd2dcc5600a32ef5b52a1ecc820e308aa342721aac0943bf6686b64b2579376504ccc493d97e6aed3fb0f9cd71a43dd497f01f17c0e2cb3797aa2a2f256656168e6c496afc5fb93246f6b1116398a346f1a641f3b041e989f7914f90cc2c7fff357876e506b50d334ba77c225bc307ba537152f3f1610e4eafe595f6d9d90d11faa933a15ef1369546868a7f3a45a96768d40fd9d03412c091c6315cf4fde7cb68606937380db2eaaa707b4c4185c32eddcdd306705e4dc1ffc872eeee475a64dfac86aba41c0618983f8741c5ef68d3a101e8a3b8cac60c905c15fc910840b94c00a0b9d0\nOutput = 0aab4c900501b3e24d7cdf4663326a3a87df5e4843b2cbdb67cbf6e460fec350aa5371b1508f9f4528ecea23c436d94b5e8fcd4f681e30a6ac00a9704a188a03\n\nVerifyMessage = Ed25519-5\nInput = ddaf35a193617abacc417349ae20413112e6fa4e89a97ea20a9eeee64b55d39a2192992a274fc1a836ba3c23a3feebbd454d4423643ce80e2a9ac94fa54ca49f\nOutput = dc2a4459e7369633a52b1bf277839a00201009a3efbf3ecb69bea2186c26b58909351fc9ac90b3ecfdfbc7c66431e0303dca179c138ac17ad9bef1177331a704\n\nVerifyMessage = Ed25519-SPKI-5\nInput = ddaf35a193617abacc417349ae20413112e6fa4e89a97ea20a9eeee64b55d39a2192992a274fc1a836ba3c23a3feebbd454d4423643ce80e2a9ac94fa54ca49f\nOutput = dc2a4459e7369633a52b1bf277839a00201009a3efbf3ecb69bea2186c26b58909351fc9ac90b3ecfdfbc7c66431e0303dca179c138ac17ad9bef1177331a704\n\n# Length is wrong.\nVerifyMessage = Ed25519-SPKI\nInput = \"\"\nOutput = e5564300c360ac729086e2cc806e828a84877f1eb8e5d974d873e065224901555fb8821590a33bacc61e39701cf9b46bd25bf5f0595bbe24655141438e7a10\nError = INVALID_SIGNATURE\n\n# Message is wrong.\nVerifyMessage = Ed25519-SPKI\nInput = \"Hello world\"\nOutput = e5564300c360ac729086e2cc806e828a84877f1eb8e5d974d873e065224901555fb8821590a33bacc61e39701cf9b46bd25bf5f0595bbe24655141438e7a100b\nError = INVALID_SIGNATURE\n\n# Ed25519 does not support configuring a digest.\nSignMessage = Ed25519\nInput = \"\"\nDigest = SHA256\nError = COMMAND_NOT_SUPPORTED\n\n# Ed25519 does not support signing a pre-hashed value.\nSign = Ed25519\nInput = \"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\"\nError = OPERATION_NOT_SUPPORTED_FOR_THIS_KEYTYPE\n\nVerify = Ed25519\nInput = \"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\"\nOutput = e5564300c360ac729086e2cc806e828a84877f1eb8e5d974d873e065224901555fb8821590a33bacc61e39701cf9b46bd25bf5f0595bbe24655141438e7a100b\nError = OPERATION_NOT_SUPPORTED_FOR_THIS_KEYTYPE\n\n\n# Derive tests.\n\nPrivateKey = ECDH-P256-Private\nType = EC\nInput = 3041020100301306072a8648ce3d020106082a864", - "8ce3d0301070427302502010104207d7dc5f71eb29ddaf80d6214632eeae03d9058af1fb6d22ed80badb62bc1a534\n\nPublicKey = ECDH-P256-Peer\nType = EC\nInput = 3059301306072a8648ce3d020106082a8648ce3d03010703420004700c48f77f56584c5cc632ca65640db91b6bacce3a4df6b42ce7cc838833d287db71e509e3fd9b060ddb20ba5c51dcc5948d46fbf640dfe0441782cab85fa4ac\n\nDerive = ECDH-P256-Private\nDerivePeer = ECDH-P256-Peer\nOutput = 46fc62106420ff012e54a434fbdd2d25ccc5852060561e68040dd7778997bd7b\nSmallBufferTruncates\n\nPrivateKey = X25519-Private\nType = X25519\nInput = 302e020100300506032b656e04220420a546e36bf0527c9d3b16154b82465edd62144c0ac1fc5a18506a2244ba449ac4\nExpectRawPrivate = a546e36bf0527c9d3b16154b82465edd62144c0ac1fc5a18506a2244ba449ac4\n\nPublicKey = X25519-Peer\nType = X25519\nInput = 302a300506032b656e032100e6db6867583030db3594c1a424b15f7c726624ec26b3353b10a903a6d0ab1c4c\nExpectRawPublic = e6db6867583030db3594c1a424b15f7c726624ec26b3353b10a903a6d0ab1c4c\n\nPublicKey = X25519-SmallOrderPeer\nType = X25519\nExpectRawPublic = e0eb7a7c3b41b8ae1656e3faf19fc46ada098deb9c32b1fd866205165f49b800\nInput = 302a300506032b656e032100e0eb7a7c3b41b8ae1656e3faf19fc46ada098deb9c32b1fd866205165f49b800\n\nDerive = X25519-Private\nDerivePeer = X25519-Peer\nOutput = c3da55379de9c6908e94ea4df28d084f32eccf03491c71f754b4075577a28552\n\nDerive = X25519-Private\nDerivePeer = X25519-SmallOrderPeer\nError = INVALID_PEER_KEY\n", -}; -static const size_t kLen37 = 1262; +static const size_t kLen37 = 136462; static const char *kData37[] = { - "#\n# Copyright 2001-2017 The OpenSSL Project Authors. All Rights Reserved.\n#\n# Licensed under the OpenSSL license (the \"License\"). You may not use\n# this file except in compliance with the License. You can obtain a copy\n# in the file LICENSE in the source distribution or at\n# https://www.openssl.org/source/license.html\n\nPassword = \"\"\nSalt = \"\"\nN = 16\nr = 1\np = 1\nKey = 77d6576238657b203b19ca42c18a0497f16b4844e3074ae8dfdffa3fede21442fcd0069ded0948f8326a753a0fc81f17e8d3e0fb2e0d3628cf35e20c38d18906\n\nPassword = \"password\"\nSalt = \"NaCl\"\nN = 1024\nr = 8\np = 16\nKey = fdbabe1c9d3472007856e7190d01e9fe7c6ad7cbc8237830e77376634b3731622eaf30d92e22a3886ff109279d9830dac727afb94a83ee6d8360cbdfa2cc0640\n\nPassword = \"pleaseletmein\"\nSalt = \"SodiumChloride\"\nN = 16384\nr = 8\np = 1\nKey = 7023bdcb3afd7348461c06cd81fd38ebfda8fbba904f8e3ea9b543f6545da1f2d5432955613f0fcf62d49705242a9af9e61e85dc0d651e40dfcf017b45575887\n\n# NB: this test requires more than 1GB of memory to run so it is disabled by\n# default. Uncomment it to run.\n# Password = \"pleaseletmein\"\n# Salt = \"SodiumChloride\"\n# N = 1048576\n# r = 8\n# p = 1\n# Key = 2101cb9b6a511aaeaddbbe09cf70f881ec568d574a2ffd4dabe5ee9820adaa478e56fd8f4ba5d09ffa1c6d927c40f4c337304049e8a952fbcbf45c6fa77a41a4\n# MaxMemory = 10000000000\n", + "# Public key algorithm tests\n\n# Keys used for PKEY operations.\n\n# RSA 2048 bit key.\nPrivateKey = RSA-2048\nType = RSA\nInput = 308204bc020100300d06092a864886f70d0101010500048204a6308204a20201000282010100cd0081ea7b2ae1ea06d59f7c73d9ffb94a09615c2e4ba7c636cef08dd3533ec3185525b015c769b99a77d6725bf9c3532a9b6e5f6627d5fb85160768d3dda9cbd35974511717dc3d309d2fc47ee41f97e32adb7f9dd864a1c4767a666ecd71bc1aacf5e7517f4b38594fea9b05e42d5ada9912008013e45316a4d9bb8ed086b88d28758bacaf922d46a868b485d239c9baeb0e2b64592710f42b2d1ea0a4b4802c0becab328f8a68b0073bdb546feea9809d2849912b390c1532bc7e29c7658f8175fae46f34332ff87bcab3e40649b98577869da0ea718353f0722754886913648760d122be676e0fc483dd20ffc31bda96a31966c9aa2e75ad03de47e1c44f02030100010282010060297ac7991b167a06d6b24758b8cbe208beb9b2d9ec9738bd80f90a2e35005dd7ce292d9e29ba885bd316fef1f20913bc0ac90d6b0808b2414d82104441d8624a33ce0233c8f780a48b375aff02d76712228a702484db3f9ebecccfbbee1709dba182800d949e9e4216e0bff3558388f8bd90da373a1d82743ec3fbdd1427fd16825a657a316912e8695365117ca2f845c909405fcac55f895fc15d20386c26ee78c9e99075029a178a6c1e4cf0c200e8a9cfb27e9d156f86e6c2adc22b1a84a1cd5ca5b2790875d79407c84b352395cb81cc3fed5bb043b69ede0c07204550025cee8c5f440170b6120bb48e0f747bcd8f522110850df043c428dfd187053102818100f6f961b47cbc035d3aedebc7de850a956b65ecdb9cf60764063f15aa48553c58d972fe6675056e35ddfdc37bf3b9f2f622ee271337256849c9bef2176fe8f7c3f8bb91ba374dd53baf3dec814d2bdec10c1fdc88cdd16876f26b1edfa3f094197edf4d42ff1fb2971103b898ca859c427287086a842ab410bb69cf2d35af6be302818100d47e724a7ff41048b270c2524a4101878b73159bb73d3dbc187b220e635b3534f96e243a184d93f860b6bfbb6b71c1ed9a1e1f458583023c301e96a692c1a08b53d0ec9ca910100d80451e3b7dc6a01bac4aecef8df798846bc235a08cbba2cf4c06804cc11219e95608c714e3f1430d491fadbba32a5751a04f97745834c9a502818021f2452bb9b95dfd028c914bf799f1ca77e89a95d50d3c16d384f8455f8bd7af9eb3dfa3d591d9842def235f7630a8e48c088ff6642e101794535a933e1e976fa8509fc728b2da0c4a1a08d7fcf37abaae1ff3001aca1dc1bbb05d9dffbaa1a09f7fb1eef38237d9ebccc722b9338436dde7119112798c26809c1a8dec4320610281801f7510aa62c2d8de4a3c53282781f41e02d0e8b402ae78432e449c48110161a11403f02d01880a8dcc938152d79721a4711a607ac4471ebf964810f95be47a45e60499e29f4c9773c83773404f606637728c2d0351bb03c326c8bb73a721e7fa5440ea2172bba1465fcc30dcb0d9f89930e815aa1f7f9729a857e00e0338dd590281804d1f0d756fe77e01099a652f50a88b7b685dc5bf00981d5d2376fd0c6fe29cd5b638734479305a73ad3c1599d39eae3bae035fbd6fed07c28de705933879a06e48e6a603686ed8e2560a5f6af1f2c24faf4aa960e382186f15eedce9a2491ae730680dd4cf778b70faa86826ab3223477cc91377b19a6d5a2eaea219760beed5\nExpectNoRawPrivate\nExpectNoRawPublic\n\n# The public half of the same key encoded as a SubjectPublicKeyInfo.\nPublicKey = RSA-2048-SPKI\nType = RSA\nInput = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100cd0081ea7b2ae1ea06d59f7c73d9ffb94a09615c2e4ba7c636cef08dd3533ec3185525b015c769b99a77d6725bf9c3532a9b6e5f6627d5fb85160768d3dda9cbd35974511717dc3d309d2fc47ee41f97e32adb7f9dd864a1c4767a666ecd71bc1aacf5e7517f4b38594fea9b05e42d5ada9912008013e45316a4d9bb8ed086b88d28758bacaf922d46a868b485d239c9baeb0e2b64592710f42b2d1ea0a4b4802c0becab328f8a68b0073bdb546feea9809d2849912b390c1532bc7e29c7658f8175fae46f34332ff87bcab3e40649b98577869da0ea718353f0722754886913648760d122be676e0fc483dd20ffc31bda96a31966c9aa2e75ad03de47e1c44f0203010001\nExpectNoRawPrivate\nExpectNoRawPublic\n\n# The same key but with a negative RSA modulus.\nPublicKey = RSA-2048-SPKI-Negative\nInput = 30820121300d06092a864886f70d01010105000382010e003082010902820100cd0081ea7b2ae1ea06d59f7c73d9ffb94a09615c2e4ba7c636cef08dd3533ec3185525b015c769b99a77d6725bf9c3532a9b6e5f6627d5fb85160768d3dda9cbd35974511717dc3d309d2fc47ee41f97e32adb7f9dd864a1c4767a666ecd71bc1aacf5e7517f4b38594fea9b05e42d5ada9912008013e45316a4d9bb8ed086b88d28758bacaf922d46a868b485d239c9baeb0e2b64592710f42b2d1ea0a4b4802c0becab328f8a68b0073bdb546feea9809d2849912b390c1532bc7e29c7658f8175fae46f34332ff87bcab3e40649b98577869da0ea718353f0722754886913648760d122be676e0fc483dd20ffc31bda96a31966c9aa2e75ad03de47e1c44f0203010001\nError = NEGATIVE_NUMBER\n\n# The same key but with missing parameters rather than a NULL.\nPublicKey = RSA-2048-SPKI-Invalid\nInput = 30820120300b06092a864886f70d0101010382010f003082010a0282010100cd0081ea7b2ae1ea06d59f7c73d9ffb94a09615c2e4ba7c636cef08dd3533ec3185525b015c769b99a77d6725bf9c3532a9b6e5f6627d5fb85160768d3dda9cbd35974511717dc3d309d2fc47ee41f97e32adb7f9dd864a1c4767a666ecd71bc1aacf5e7517f4b38594fea9b05e42d5ada9912008013e45316a4d9bb8ed086b88d28758bacaf922d46a868b485d239c9baeb0e2b64592710f42b2d1ea0a4b4802c0becab328f8a68b0073bdb546feea9809d2849912b390c1532bc7e29c7658f8175fae46f34332ff87bcab3e40649b98577869da0ea718353f0722754886913648760d122be676e0fc483dd20ffc31bda96a31966c9aa2e75ad03de47e1c44f0203010001\nError = DECODE_ERROR\n\n# The same key but with an incorrectly-encoded length prefix.\nPublicKey = RSA-2048-SPKI-Invalid2\nInput = 3083000122300d06092a864886f70d01010105000382010f003082010a0282010100cd0081ea7b2ae1ea06d59f7c73d9ffb94a09615c2e4ba7c636cef08dd3533ec3185525b015c769b99a77d6725bf9c3532a9b6e5f6627d5fb85160768d3dda9cbd35974511717dc3d309d2fc47ee41f97e32adb7f9dd864a1c4767a666ecd71bc1aacf5e7517f4b38594fea9b05e42d5ada9912008013e45316a4d9bb8ed086b88d28758bacaf922d46a868b485d239c9baeb0e2b64592710f42b2d1ea0a4b4802c0becab328f8a68b0073bdb546feea9809d2849912b390c1532bc7e29c7658f8175fae46f34332ff87bcab3e40649b98577869da0ea718353f0722754886913648760d122be676e0fc483dd20ffc31bda96a31966c9aa2e75ad03de47e1c44f0203010001\nError = DECODE_ERROR\n\n# RSA 512 bit key.\nPrivateKey = RSA-512\nType = RSA\nInput = 30820154020100300d06092a864886f70d01010105000482013e3082013a020100024100dd20403d976a38c9d79152d87b5c8e9f05033eadd7b7de709bf5b0c4a5182a97d18483526b02362b992e154a9f37faa396ca2685cdab8fec09877ebe705f4dd70203010001024055bebcca655d7e39de8a6eaa9d636db682161907064039544755c53eeb99ec618c03a210dbc61471eaba10c5c365c9726d6b7a96f54d455f7d168d49367270e1022100f21a05d9fd6817301ce49ce10448f9bdd44f5ef5b7557cd7d83155db46382ae7022100e9d1f7157783db2feab1936954ddc4e83aa365695868144cda1be6813b61d791022100d6001eb0040920860ce41fafdf23ca6dfbdf74e6e9f98cf3164cf5c16f9e727d02206f6f73f4b52b10517be6f9bc5f87fa0a3bb817e2e711636b651f9af1c85d4f21022063eff2e57f5b4ca20342cfe793e25526624e3692f192461f9e1ce7f13f2d72c8\nExpectNoRawPrivate\nExpectNoRawPublic\n\n# RSA 515 bit key.\nPrivateKey = RSA-515\nType = RSA\nInput = 30820157020100300d06092a864886f70d0101010500048201413082013d0201000241054fa166e205e658bbe8a2dc35311c0c2b75b7e4569fd9642c8bae809279271fc824f26baa1166ea46298ca63379ea76adbada2b61e5066820a35beaec1aca227f020301000102410266c972be0d30e53ac2acb1aa13b4bd0401cccf212452a66b4615f7e943831f67b4ca48560582d0ca886044aaaaf87945252a848c1947944186e6eb83969bf91102210309e631761842cc8a2ccfd372c20a9cba21de1a199c30ab440bc6b51079f4e825022101bf715c1db432627ca7c29a293b9210f2eff1e92d12f306ebaa5334f8ee03dcd30221018ac58a765f2b8f37d434081fe5ff92b81735ead2f263f4968ccf63d61fbe3d0d0221015b247a1159a2d5a25d0db049593c6405f77f3a278c521d066e290c2a2d8fb59d0221026224aa31fd95c14d24fd03b8a195bba4cc88df7c37f5370a5ab19f882f1404d6\nExpectNoRawPrivate\nExpectNoRawPublic\n\n# EC P-256 key\nPrivateKey = P-256\nType = EC\nInput = 308187020100301306072a8648ce3d020106082a8648ce3d030107046d306b02010104208a872fb62893c4d1ffc5b9f0f91758069f8352e08fa05a49f8db926cb5728725a144034200042c150f429ce70f216c252cf5e062ce1f639cd5d165c7f89424072c27197d78b33b920e95cdb664e990dcf0cfea0d94e2a8e6af9d0e58056e653104925b9fe6c9\nExpectNoRawPrivate\nExpectNoRawPublic\n\n# The same key as above with the optional public key omitted.\nPrivateKey = P-256-MissingPublic\nType = EC\nInput = 3041020100301306072a8648ce3d020106082a8648ce3d0301070427302502010104208a872fb62893c4d1ffc5b9f0f91758069f8352e08fa05a49f8db926cb5728725\nExpectNoRawPrivate\nExpectNoRawPublic\n\n# The same key as above with redundant parameters.\nPrivateKey = P-256-ExtraParameters\nType = EC\nInput = 308193020100301306072a8648ce3d020106082a8648ce3d0301070479307702010104208a872fb62893c4d1ffc5b9f0f91758069f8352e08fa05a49f8db926cb5728725a00a06082a8648ce3d030107a144034200042c150f429ce70f216c252cf5e062ce1f639cd5d165c7f89424072c27197d78b33b920e95cdb664e990dcf0cfea0d94e2a8e6af9d0e58056e653104925b9fe6c9\n# The key re-encodes with the parameters removed.\nOutput = 308187020100301306072a8648c", + "e3d020106082a8648ce3d030107046d306b02010104208a872fb62893c4d1ffc5b9f0f91758069f8352e08fa05a49f8db926cb5728725a144034200042c150f429ce70f216c252cf5e062ce1f639cd5d165c7f89424072c27197d78b33b920e95cdb664e990dcf0cfea0d94e2a8e6af9d0e58056e653104925b9fe6c9\nExpectNoRawPrivate\nExpectNoRawPublic\n\n# The same key, but with the redundant parameters in the ECPrivateKey mismatched.\nPrivateKey = P-256-BadInnerParameters\nInput = 308190020100301306072a8648ce3d020106082a8648ce3d0301070476307402010104208a872fb62893c4d1ffc5b9f0f91758069f8352e08fa05a49f8db926cb5728725a00706052b81040022a144034200042c150f429ce70f216c252cf5e062ce1f639cd5d165c7f89424072c27197d78b33b920e95cdb664e990dcf0cfea0d94e2a8e6af9d0e58056e653104925b9fe6c9\nError = GROUP_MISMATCH\n\n# The same key, but with the curve spelled explicitly.\nPrivateKey = P-256-ExplicitParameters\nType = EC\nInput = 308201610201003081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551020101046d306b02010104208a872fb62893c4d1ffc5b9f0f91758069f8352e08fa05a49f8db926cb5728725a144034200042c150f429ce70f216c252cf5e062ce1f639cd5d165c7f89424072c27197d78b33b920e95cdb664e990dcf0cfea0d94e2a8e6af9d0e58056e653104925b9fe6c9\nOutput = 308187020100301306072a8648ce3d020106082a8648ce3d030107046d306b02010104208a872fb62893c4d1ffc5b9f0f91758069f8352e08fa05a49f8db926cb5728725a144034200042c150f429ce70f216c252cf5e062ce1f639cd5d165c7f89424072c27197d78b33b920e95cdb664e990dcf0cfea0d94e2a8e6af9d0e58056e653104925b9fe6c9\nExpectNoRawPrivate\nExpectNoRawPublic\n\n# The same as above, but with the optional cofactor omitted.\nPrivateKey = P-256-ExplicitParameters-NoCofactor\nType = EC\nInput = 3082015e0201003081e906072a8648ce3d02013081dd020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551046d306b02010104208a872fb62893c4d1ffc5b9f0f91758069f8352e08fa05a49f8db926cb5728725a144034200042c150f429ce70f216c252cf5e062ce1f639cd5d165c7f89424072c27197d78b33b920e95cdb664e990dcf0cfea0d94e2a8e6af9d0e58056e653104925b9fe6c9\nOutput = 308187020100301306072a8648ce3d020106082a8648ce3d030107046d306b02010104208a872fb62893c4d1ffc5b9f0f91758069f8352e08fa05a49f8db926cb5728725a144034200042c150f429ce70f216c252cf5e062ce1f639cd5d165c7f89424072c27197d78b33b920e95cdb664e990dcf0cfea0d94e2a8e6af9d0e58056e653104925b9fe6c9\nExpectNoRawPrivate\nExpectNoRawPublic\n\n# The same as above, but the cofactor is zero instead of one.\nPrivateKey = P-256-ExplicitParameters-CofactorZero\nInput = 308201610201003081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551020100046d306b02010104208a872fb62893c4d1ffc5b9f0f91758069f8352e08fa05a49f8db926cb5728725a144034200042c150f429ce70f216c252cf5e062ce1f639cd5d165c7f89424072c27197d78b33b920e95cdb664e990dcf0cfea0d94e2a8e6af9d0e58056e653104925b9fe6c9\nError = UNKNOWN_GROUP\n\n# The same as above, but the cofactor is two instead of one.\nPrivateKey = P-256-ExplicitParameters-CofactorTwo\nInput = 308201610201003081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551020102046d306b02010104208a872fb62893c4d1ffc5b9f0f91758069f8352e08fa05a49f8db926cb5728725a144034200042c150f429ce70f216c252cf5e062ce1f639cd5d165c7f89424072c27197d78b33b920e95cdb664e990dcf0cfea0d94e2a8e6af9d0e58056e653104925b9fe6c9\nError = UNKNOWN_GROUP\n\n# The public half of the same key encoded as a PublicKey.\nPublicKey = P-256-SPKI\nType = EC\nInput = 3059301306072a8648ce3d020106082a8648ce3d030107034200042c150f429ce70f216c252cf5e062ce1f639cd5d165c7f89424072c27197d78b33b920e95cdb664e990dcf0cfea0d94e2a8e6af9d0e58056e653104925b9fe6c9\nExpectNoRawPrivate\nExpectNoRawPublic\n\n# The same as above, but with the curve explicitly spelled out.\nPublicKey = P-256-SPKI\nInput = 3082014b3082010306072a8648ce3d02013081f7020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff305b0420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b031500c49d360886e704936a6678e1139d26b7819f7e900441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551020101034200042c150f429ce70f216c252cf5e062ce1f639cd5d165c7f89424072c27197d78b33b920e95cdb664e990dcf0cfea0d94e2a8e6af9d0e58056e653104925b9fe6c9\nError = DECODE_ERROR\n\n# The same as above, but with trailing data after the curve name.\nPublicKey = P-256-SPKI\nInput = 305b301506072a8648ce3d020106082a8648ce3d0301070500034200042c150f429ce70f216c252cf5e062ce1f639cd5d165c7f89424072c27197d78b33b920e95cdb664e990dcf0cfea0d94e2a8e6af9d0e58056e653104925b9fe6c9\nError = DECODE_ERROR\n\n# A DSA private key.\nPrivateKey = DSA-1024\nType = DSA\nInput = 308202650201003082023906072a8648ce3804013082022c02820101009e12fab3de12213501dd82aa10ca2d101d2d4ebfef4d2a3f8daa0fe0cedad8d6af85616aa2f3252c0a2b5a6db09e6f14900e0ddb8311876dd8f9669525f99ed65949e184d5064793271169a228680b95ec12f59a8e20b21f2b58eb2a2012d35bde2ee351822fe8f32d0a330565dcce5c672b7259c14b2433d0b5b2ca2b2db0ab626e8f13f47fe0345d904e7294bb038e9ce21a9e580b83356278706cfe768436c69de149ccff98b4aab8cb4f6385c9f102ce59346eaeef27e0ad222d53d6e89cc8cde5776dd00057b03f2d88ab3cedbafd7b585f0b7f7835e17a3728bbf25ea62572f245dc111f3ce39cb6ffacc31b0a2790e7bde90224ea9b09315362af3d2b022100f381dcf53ebf724f8b2e5ca82c010fb4b5eda9358d0fd88ed278589488b54fc3028201000c402a725dcc3a62e02bf4cf43cd17f4a493591220223669cf4193edab423ad08dfb552e308a6a57a5ffbc7cd0fb2087f81f8df0cb08ab2133287d2b6968714a94f633c940845a48a3e16708dde761cc6a8eab2d84db21b6ea5b07681493cc9c31fbc368b243f6ddf8c932a8b4038f44e7b15ca876344a147859f2b43b39458668ad5e0a1a9a669546dd2812e3b3617a0aef99d58e3bb4cc87fd94225e01d2dcc469a77268146c51918f18e8b4d70aa1f0c7623bcc52cf3731d38641b2d2830b7eecb2f09552ff137d046e494e7f33c3590002b16d1b97d936fda28f90c3ed3ca35338168ac16f77c3c57adc2e8f7c6c2256e41a5f65450590dbb5bcf06d66610423022100b0c768702743bc51242993a971a52889795444f7c6452203d0ce84fe6117d46e\nExpectNoRawPrivate\nExpectNoRawPublic\n\n# A DSA public key.\nPublicKey = DSA-1024-SPKI\nType = DSA\nInput = 308201b73082012c06072a8648ce3804013082011f02818100b3429b8b128c9079f9b72e86857e98d265e5d91661ed8b5f4cc56e5eed1e571da30186983a9dd76297eab73ee13a1db841f8800d04a7cab478af6cde2ea4a2868531af169a24858c6268efa39ceb7ed0d4227eb5bbb01124a2a5a26038c7bcfb8cc827f68f5202345166e4718596799b65c9def82828ce44e62e38e41a0d24b1021500c5a56c81ddd87f47e676546c56d05706421624cf0281810094de40d27314fe929e47ff9b1ac65cfc73ef38c4d381c890be6217b15039ae18190e6b421af8c0bda35a5cfd050f58ae2644adce83e68c8e5ba11729df56bbb21e227a60b816cc033fa799a38fe1ba5b4aa1801b6f841ce3df99feb3b4fb96950c960af13fa2ce920aabc12dd24ad2044a35063ea0e25f67f560f4cfbdc55983", + "03818400028180258c30ebbb7f34fdc873ce679f6cea373c7886d75d4421b90920db034daedd292c64d8edd8cdbdd7f3ad23d74cfa2135247d0cef6ecf2e14f99e19d22a8c1266bd8fb8719c0e5667c716c45c7adbdabe548085bdad2dfee636f8d52fd6adb2193df6c4f0520fbd171b91882e0e4f321f8250ffecf4dbea00e114427d3ef96c1a\nExpectNoRawPrivate\nExpectNoRawPublic\n\n# The same key as above, but without the parameters.\nPublicKey = DSA-1024-SPKI-No-Params\nType = DSA\nInput = 308192300906072a8648ce38040103818400028180258c30ebbb7f34fdc873ce679f6cea373c7886d75d4421b90920db034daedd292c64d8edd8cdbdd7f3ad23d74cfa2135247d0cef6ecf2e14f99e19d22a8c1266bd8fb8719c0e5667c716c45c7adbdabe548085bdad2dfee636f8d52fd6adb2193df6c4f0520fbd171b91882e0e4f321f8250ffecf4dbea00e114427d3ef96c1a\nExpectNoRawPrivate\nExpectNoRawPublic\n\n# Private keys from RFC 8032.\nPrivateKey = Ed25519\nType = Ed25519\nInput = 302e020100300506032b6570042204209d61b19deffd5a60ba844af492ec2cc44449c5697b326919703bac031cae7f60\nExpectRawPrivate = 9d61b19deffd5a60ba844af492ec2cc44449c5697b326919703bac031cae7f60\nExpectRawPublic = d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a\n\nPrivateKey = Ed25519-2\nType = Ed25519\nInput = 302e020100300506032b6570042204204ccd089b28ff96da9db6c346ec114e0f5b8a319f35aba624da8cf6ed4fb8a6fb\nExpectRawPrivate = 4ccd089b28ff96da9db6c346ec114e0f5b8a319f35aba624da8cf6ed4fb8a6fb\nExpectRawPublic = 3d4017c3e843895a92b70aa74d1b7ebc9c982ccf2ec4968cc0cd55f12af4660c\n\nPrivateKey = Ed25519-3\nType = Ed25519\nInput = 302e020100300506032b657004220420c5aa8df43f9f837bedb7442f31dcb7b166d38535076f094b85ce3a2e0b4458f7\nExpectRawPrivate = c5aa8df43f9f837bedb7442f31dcb7b166d38535076f094b85ce3a2e0b4458f7\nExpectRawPublic = fc51cd8e6218a1a38da47ed00230f0580816ed13ba3303ac5deb911548908025\n\nPrivateKey = Ed25519-4\nType = Ed25519\nInput = 302e020100300506032b657004220420f5e5767cf153319517630f226876b86c8160cc583bc013744c6bf255f5cc0ee5\nExpectRawPrivate = f5e5767cf153319517630f226876b86c8160cc583bc013744c6bf255f5cc0ee5\nExpectRawPublic = 278117fc144c72340f67d0f2316e8386ceffbf2b2428c9c51fef7c597f1d426e\n\nPrivateKey = Ed25519-5\nType = Ed25519\nInput = 302e020100300506032b657004220420833fe62409237b9d62ec77587520911e9a759cec1d19755b7da901b96dca3d42\nExpectRawPrivate = 833fe62409237b9d62ec77587520911e9a759cec1d19755b7da901b96dca3d42\nExpectRawPublic = ec172b93ad5e563bf4932c70e1245034c35467ef2efd4d64ebf819683467e2bf\n\n# Public keys from RFC 8032.\nPublicKey = Ed25519-SPKI\nType = Ed25519\nInput = 302a300506032b6570032100d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a\nExpectNoRawPrivate\nExpectRawPublic = d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a\n\nPublicKey = Ed25519-SPKI-2\nType = Ed25519\nInput = 302a300506032b65700321003d4017c3e843895a92b70aa74d1b7ebc9c982ccf2ec4968cc0cd55f12af4660c\nExpectNoRawPrivate\nExpectRawPublic = 3d4017c3e843895a92b70aa74d1b7ebc9c982ccf2ec4968cc0cd55f12af4660c\n\nPublicKey = Ed25519-SPKI-3\nType = Ed25519\nInput = 302a300506032b6570032100fc51cd8e6218a1a38da47ed00230f0580816ed13ba3303ac5deb911548908025\nExpectNoRawPrivate\nExpectRawPublic = fc51cd8e6218a1a38da47ed00230f0580816ed13ba3303ac5deb911548908025\n\nPublicKey = Ed25519-SPKI-4\nType = Ed25519\nInput = 302a300506032b6570032100278117fc144c72340f67d0f2316e8386ceffbf2b2428c9c51fef7c597f1d426e\nExpectNoRawPrivate\nExpectRawPublic = 278117fc144c72340f67d0f2316e8386ceffbf2b2428c9c51fef7c597f1d426e\n\nPublicKey = Ed25519-SPKI-5\nType = Ed25519\nInput = 302a300506032b6570032100ec172b93ad5e563bf4932c70e1245034c35467ef2efd4d64ebf819683467e2bf\nExpectNoRawPrivate\nExpectRawPublic = ec172b93ad5e563bf4932c70e1245034c35467ef2efd4d64ebf819683467e2bf\n\n# The first key, private and public, with invalid NULL parameters.\nPrivateKey = Ed25519-NULL\nInput = 3030020100300706032b65700500042204209d61b19deffd5a60ba844af492ec2cc44449c5697b326919703bac031cae7f60\nError = DECODE_ERROR\n\nPublicKey = Ed25519-SPKI-NULL\nInput = 302c300706032b65700500032100d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a\nError = DECODE_ERROR\n\n# Sample public key from RFC 8410.\nPublicKey = Ed25519-SPKI-Spec\nType = Ed25519\nInput = 302a300506032b657003210019bf44096984cdfe8541bac167dc3b96c85086aa30b6b6cb0c5c38ad703166e1\n\n# Sample private key from RFC 8410.\nPrivateKey = Ed25519-Spec\nType = Ed25519\nInput = 302e020100300506032b657004220420d4ee72dbf913584ad5b6d8f1f769f8ad3afe7c28cbf1d4fbe097a88f44755842\n\n\n# RSA tests\n\nSign = RSA-2048\nDigest = SHA1\nInput = \"0123456789ABCDEF1234\"\nOutput = c09d402423cbf233d26cae21f954547bc43fe80fd41360a0336cfdbe9aedad05bef6fd2eaee6cd60089a52482d4809a238149520df3bdde4cb9e23d9307b05c0a6f327052325a29adf2cc95b66523be7024e2a585c3d4db15dfbe146efe0ecdc0402e33fe5d40324ee96c5c3edd374a15cdc0f5d84aa243c0f07e188c6518fbfceae158a9943be398e31097da81b62074f626eff738be6160741d5a26957a482b3251fd85d8df78b98148459de10aa93305dbb4a5230aa1da291a9b0e481918f99b7638d72bb687f97661d304ae145d64a474437a4ef39d7b8059332ddeb07e92bf6e0e3acaf8afedc93795e4511737ec1e7aab6d5bc9466afc950c1c17b48ad\n\nVerify = RSA-2048\nDigest = SHA1\nInput = \"0123456789ABCDEF1234\"\nOutput = c09d402423cbf233d26cae21f954547bc43fe80fd41360a0336cfdbe9aedad05bef6fd2eaee6cd60089a52482d4809a238149520df3bdde4cb9e23d9307b05c0a6f327052325a29adf2cc95b66523be7024e2a585c3d4db15dfbe146efe0ecdc0402e33fe5d40324ee96c5c3edd374a15cdc0f5d84aa243c0f07e188c6518fbfceae158a9943be398e31097da81b62074f626eff738be6160741d5a26957a482b3251fd85d8df78b98148459de10aa93305dbb4a5230aa1da291a9b0e481918f99b7638d72bb687f97661d304ae145d64a474437a4ef39d7b8059332ddeb07e92bf6e0e3acaf8afedc93795e4511737ec1e7aab6d5bc9466afc950c1c17b48ad\n\nVerify = RSA-2048-SPKI\nDigest = SHA1\nInput = \"0123456789ABCDEF1234\"\nOutput = c09d402423cbf233d26cae21f954547bc43fe80fd41360a0336cfdbe9aedad05bef6fd2eaee6cd60089a52482d4809a238149520df3bdde4cb9e23d9307b05c0a6f327052325a29adf2cc95b66523be7024e2a585c3d4db15dfbe146efe0ecdc0402e33fe5d40324ee96c5c3edd374a15cdc0f5d84aa243c0f07e188c6518fbfceae158a9943be398e31097da81b62074f626eff738be6160741d5a26957a482b3251fd85d8df78b98148459de10aa93305dbb4a5230aa1da291a9b0e481918f99b7638d72bb687f97661d304ae145d64a474437a4ef39d7b8059332ddeb07e92bf6e0e3acaf8afedc93795e4511737ec1e7aab6d5bc9466afc950c1c17b48ad\n\n# Digest too long\nSign = RSA-2048\nDigest = SHA1\nInput = \"0123456789ABCDEF12345\"\nError = INVALID_MESSAGE_LENGTH\n\nVerify = RSA-2048\nDigest = SHA1\nInput = \"0123456789ABCDEF12345\"\nOutput = c09d402423cbf233d26cae21f954547bc43fe80fd41360a0336cfdbe9aedad05bef6fd2eaee6cd60089a52482d4809a238149520df3bdde4cb9e23d9307b05c0a6f327052325a29adf2cc95b66523be7024e2a585c3d4db15dfbe146efe0ecdc0402e33fe5d40324ee96c5c3edd374a15cdc0f5d84aa243c0f07e188c6518fbfceae158a9943be398e31097da81b62074f626eff738be6160741d5a26957a482b3251fd85d8df78b98148459de10aa93305dbb4a5230aa1da291a9b0e481918f99b7638d72bb687f97661d304ae145d64a474437a4ef39d7b8059332ddeb07e92bf6e0e3acaf8afedc93795e4511737ec1e7aab6d5bc9466afc950c1c17b48ad\nError = INVALID_MESSAGE_LENGTH\n\n# Digest too short\nSign = RSA-2048\nDigest = SHA1\nInput = \"0123456789ABCDEF123\"\nError = INVALID_MESSAGE_LENGTH\n\nVerify = RSA-2048\nDigest = SHA1\nInput = \"0123456789ABCDEF123\"\nOutput = c09d402423cbf233d26cae21f954547bc43fe80fd41360a0336cfdbe9aedad05bef6fd2eaee6cd60089a52482d4809a238149520df3bdde4cb9e23d9307b05c0a6f327052325a29adf2cc95b66523be7024e2a585c3d4db15dfbe146efe0ecdc0402e33fe5d40324ee96c5c3edd374a15cdc0f5d84aa243c0f07e188c6518fbfceae158a9943be398e31097da81b62074f626eff738be6160741d5a26957a482b3251fd85d8df78b98148459de10aa93305dbb4a5230aa1da291a9b0e481918f99b7638d72bb687f97661d304ae145d64a474437a4ef39d7b8059332ddeb07e92bf6e0e3acaf8afedc93795e4511737ec1e7aab6d5bc9466afc950c1c17b48ad\nError = INVALID_MESSAGE_LENGTH\n\n# Digest too large for key.\nSign = RSA-512\nDigest = SHA512\nInput = \"0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF\"\nError = DIGEST_TOO_BIG_FOR_RSA_KEY\n\n# Mismatched digest\nVerify = RSA-2048\nDigest = SHA1\nInput = \"0123456789ABCDEF1233\"\nOutput = c09d402423cbf233d26cae21f954547bc43fe80fd41360a0336cfdbe9aedad05bef6fd2eaee6cd60089a52482d4809a238149520df3bdde4cb9e23d9307b05c0a6f327052325a29adf2cc95b66523be7024e2a585c3d4db15dfbe146efe0ecdc0402e33fe5d40324ee96c5c3edd374a15cdc0f5d84aa243c0f07e188c6518fbfceae158a9943be398e31097da81b62074f626eff738be6160741d5a26957a482b3251fd85d8df78b98148459de10aa93305dbb4a5230aa1da291a9b0e481918f99", + "b7638d72bb687f97661d304ae145d64a474437a4ef39d7b8059332ddeb07e92bf6e0e3acaf8afedc93795e4511737ec1e7aab6d5bc9466afc950c1c17b48ad\nError = BAD_SIGNATURE\n\n# Corrupted signature\nVerify = RSA-2048\nDigest = SHA1\nInput = \"0123456789ABCDEF1233\"\nOutput = c09d402423cbf233d26cae21f954547bc43fe80fd41360a0336cfdbe9aedad05bef6fd2eaee6cd60089a52482d4809a238149520df3bdde4cb9e23d9307b05c0a6f327052325a29adf2cc95b66523be7024e2a585c3d4db15dfbe146efe0ecdc0402e33fe5d40324ee96c5c3edd374a15cdc0f5d84aa243c0f07e188c6518fbfceae158a9943be398e31097da81b62074f626eff738be6160741d5a26957a482b3251fd85d8df78b98148459de10aa93305dbb4a5230aa1da291a9b0e481918f99b7638d72bb687f97661d304ae145d64a474437a4ef39d7b8059332ddeb07e92bf6e0e3acaf8afedc93795e4511737ec1e7aab6d5bc9466afc950c1c17b48ae\nError = BLOCK_TYPE_IS_NOT_01\n\n# parameter missing (NOTE: this differs from upstream)\nVerify = RSA-2048\nDigest = SHA1\nInput = \"0123456789ABCDEF1234\"\nOutput = 3ec3fc29eb6e122bd7aa361cd09fe1bcbe85311096a7b9e4799cedfb2351ce0ab7fe4e75b4f6b37f67edd9c60c800f9ab941c0c157d7d880ca9de40c951d60fd293ae220d4bc510b1572d6e85a1bbbd8605b52e05f1c64fafdae59a1c2fbed214b7844d0134619de62851d5a0522e32e556e5950f3f97b8150e3f0dffee612c924201c27cd9bc8b423a71533380c276d3d59fcba35a2e80a1a192ec266a6c2255012cd86a349fe90a542b355fa3355b04da6cdf1df77f0e7bd44a90e880e1760266d233e465226f5db1c68857847d82072861ee266ddfc2e596845b77e1803274a579835ab5e4975d81d20b7df9cec7795489e4a2bdb8c1cf6a6b359945ac92c\nError = BAD_SIGNATURE\n\n# embedded digest too long\nVerify = RSA-2048\nDigest = SHA1\nInput = \"0123456789ABCDEF1234\"\nOutput = afec9a0d5330a08f54283bb4a9d4e7e7e70fc1342336c4c766fba713f66970151c6e27413c48c33864ea45a0238787004f338ed3e21b53b0fe9c1151c42c388cbc7cba5a06b706c407a5b48324fbe994dc7afc3a19fb3d2841e66222596c14cd72a0f0a7455a019d8eb554f59c0183f9552b75aa96fee8bf935945e079ca283d2bd3534a86f11351f6d6181fbf433e5b01a6d1422145c7a72214d3aacdd5d3af12b2d6bf6438f9f9a64010d8aeed801c87f0859412b236150b86a545f7239be022f4a7ad246b59df87514294cb4a4c7c5a997ee53c66054d9f38ca4e76c1f7af83c30f737ef70f83a45aebe18238ddb95e1998814ca4fc72388f1533147c169d\nError = BAD_SIGNATURE\n\n# embedded digest too short\nVerify = RSA-2048\nDigest = SHA1\nInput = \"0123456789ABCDEF1234\"\nOutput = afec9a0d5330a08f54283bb4a9d4e7e7e70fc1342336c4c766fba713f66970151c6e27413c48c33864ea45a0238787004f338ed3e21b53b0fe9c1151c42c388cbc7cba5a06b706c407a5b48324fbe994dc7afc3a19fb3d2841e66222596c14cd72a0f0a7455a019d8eb554f59c0183f9552b75aa96fee8bf935945e079ca283d2bd3534a86f11351f6d6181fbf433e5b01a6d1422145c7a72214d3aacdd5d3af12b2d6bf6438f9f9a64010d8aeed801c87f0859412b236150b86a545f7239be022f4a7ad246b59df87514294cb4a4c7c5a997ee53c66054d9f38ca4e76c1f7af83c30f737ef70f83a45aebe18238ddb95e1998814ca4fc72388f1533147c169d\nError = BAD_SIGNATURE\n\n# Garbage after DigestInfo\nVerify = RSA-2048\nDigest = SHA1\nInput = \"0123456789ABCDEF1234\"\nOutput = 9ee34872d4271a7d8808af0a4052a145a6d6a8437d00da3ed14428c7f087cd39f4d43334c41af63e7fa1ba363fee7bcef401d9d36a662abbab55ce89a696e1be0dfa19a5d09ca617dd488787b6048baaefeb29bc8688b2fe3882de2b77c905b5a8b56cf9616041e5ec934ba6de863efe93acc4eef783fe7f72a00fa65d6093ed32bf98ce527e62ccb1d56317f4be18b7e0f55d7c36617d2d0678a306e3350956b662ac15df45215dd8f6b314babb9788e6c272fa461e4c9b512a11a4b92bc77c3a4c95c903fccb238794eca5c750477bf56ea6ee6a167367d881b485ae3889e7c489af8fdf38e0c0f2aed780831182e34abedd43c39281b290774bf35cc25274\nError = BAD_SIGNATURE\n\n# invalid tag for parameter\nVerify = RSA-2048\nDigest = SHA1\nInput = \"0123456789ABCDEF1234\"\nOutput = 49525db4d44c755e560cba980b1d85ea604b0e077fcadd4ba44072a3487bbddb835016200a7d8739cce2dc3223d9c20cbdd25059ab02277f1f21318efd18e21038ec89aa9d40680987129e8b41ba33bceb86518bdf47268b921cce2037acabca6575d832499538d6f40cdba0d40bd7f4d8ea6ca6e2eec87f294efc971407857f5d7db09f6a7b31e301f571c6d82a5e3d08d2bb3a36e673d28b910f5bec57f0fcc4d968fd7c94d0b9226dec17f5192ad8b42bcab6f26e1bea1fdc3b958199acb00f14ebcb2a352f3afcedd4c09000128a603bbeb9696dea13040445253972d46237a25c7845e3b464e6984c2348ea1f1210a9ff0b00d2d72b50db00c009bb39f9\nError = BAD_SIGNATURE\n\n\n# RSA-PSS tests.\n\n# Zero salt length makes the output deterministic\nSign = RSA-2048\nRSAPadding = PSS\nPSSSaltLength = 0\nDigest = SHA256\nInput = \"0123456789ABCDEF0123456789ABCDEF\"\nOutput = 4de433d5844043ef08d354da03cb29068780d52706d7d1e4d50efb7d58c9d547d83a747ddd0635a96b28f854e50145518482cb49e963054621b53c60c498d07c16e9c2789c893cf38d4d86900de71bde463bd2761d1271e358c7480a1ac0bab930ddf39602ad1bc165b5d7436b516b7a7858e8eb7ab1c420eeb482f4d207f0e462b1724959320a084e13848d11d10fb593e66bf680bf6d3f345fc3e9c3de60abbac37e1c6ec80a268c8d9fc49626c679097aa690bc1aa662b95eb8db70390861aa0898229f9349b4b5fdd030d4928c47084708a933144be23bd3c6e661b85b2c0ef9ed36d498d5b7320e8194d363d4ad478c059bae804181965e0b81b663158a\n\n# Verify of above signature\nVerify = RSA-2048-SPKI\nRSAPadding = PSS\nPSSSaltLength = 0\nDigest = SHA256\nInput = \"0123456789ABCDEF0123456789ABCDEF\"\nOutput = 4de433d5844043ef08d354da03cb29068780d52706d7d1e4d50efb7d58c9d547d83a747ddd0635a96b28f854e50145518482cb49e963054621b53c60c498d07c16e9c2789c893cf38d4d86900de71bde463bd2761d1271e358c7480a1ac0bab930ddf39602ad1bc165b5d7436b516b7a7858e8eb7ab1c420eeb482f4d207f0e462b1724959320a084e13848d11d10fb593e66bf680bf6d3f345fc3e9c3de60abbac37e1c6ec80a268c8d9fc49626c679097aa690bc1aa662b95eb8db70390861aa0898229f9349b4b5fdd030d4928c47084708a933144be23bd3c6e661b85b2c0ef9ed36d498d5b7320e8194d363d4ad478c059bae804181965e0b81b663158a\n\n# A non-zero salt length must be checked by round-tripping.\nSign = RSA-2048\nRSAPadding = PSS\nPSSSaltLength = 32\nDigest = SHA256\nInput = \"0123456789ABCDEF0123456789ABCDEF\"\nCheckVerify\n\n# Check a salt length with a non-standard digest length, to verify things are\n# not just working due to defaults. (The current default is a maximum salt\n# length, but the ecosystem has converged on matching the digest length, so we\n# may change this in the future.)\nSign = RSA-2048\nRSAPadding = PSS\nPSSSaltLength = 42\nDigest = SHA256\nInput = \"0123456789ABCDEF0123456789ABCDEF\"\nCheckVerify\n\n# Auto-detected salt length\nVerify = RSA-2048-SPKI\nRSAPadding = PSS\nPSSSaltLength = -2\nDigest = SHA256\nInput = \"0123456789ABCDEF0123456789ABCDEF\"\nOutput = 4de433d5844043ef08d354da03cb29068780d52706d7d1e4d50efb7d58c9d547d83a747ddd0635a96b28f854e50145518482cb49e963054621b53c60c498d07c16e9c2789c893cf38d4d86900de71bde463bd2761d1271e358c7480a1ac0bab930ddf39602ad1bc165b5d7436b516b7a7858e8eb7ab1c420eeb482f4d207f0e462b1724959320a084e13848d11d10fb593e66bf680bf6d3f345fc3e9c3de60abbac37e1c6ec80a268c8d9fc49626c679097aa690bc1aa662b95eb8db70390861aa0898229f9349b4b5fdd030d4928c47084708a933144be23bd3c6e661b85b2c0ef9ed36d498d5b7320e8194d363d4ad478c059bae804181965e0b81b663158a\n\n# Signing with salt length -1 means to match the digest length.\nSign = RSA-2048\nRSAPadding = PSS\nPSSSaltLength = -1\nVerifyPSSSaltLength = 32\nDigest = SHA256\nInput = \"0123456789ABCDEF0123456789ABCDEF\"\nCheckVerify\n\n# Signing with salt length -2 means to maximize the salt length.\nSign = RSA-2048\nRSAPadding = PSS\nPSSSaltLength = -2\nVerifyPSSSaltLength = 222 # 256 - 32 - 2\nDigest = SHA256\nInput = \"0123456789ABCDEF0123456789ABCDEF\"\nCheckVerify\n\n# Wrong digest\nVerify = RSA-2048-SPKI\nRSAPadding = PSS\nPSSSaltLength = 0\nDigest = SHA256\nInput = \"00000000000000000000000000000000\"\nOutput = 4de433d5844043ef08d354da03cb29068780d52706d7d1e4d50efb7d58c9d547d83a747ddd0635a96b28f854e50145518482cb49e963054621b53c60c498d07c16e9c2789c893cf38d4d86900de71bde463bd2761d1271e358c7480a1ac0bab930ddf39602ad1bc165b5d7436b516b7a7858e8eb7ab1c420eeb482f4d207f0e462b1724959320a084e13848d11d10fb593e66bf680bf6d3f345fc3e9c3de60abbac37e1c6ec80a268c8d9fc49626c679097aa690bc1aa662b95eb8db70390861aa0898229f9349b4b5fdd030d4928c47084708a933144be23bd3c6e661b85b2c0ef9ed36d498d5b7320e8194d363d4ad478c059bae804181965e0b81b663158a\nError = BAD_SIGNATURE\n\n# Digest too short\nVerify = RSA-2048-SPKI\nRSAPadding = PSS\nPSSSaltLength = 0\nDigest = SHA256\nInput = \"0123456789ABCDEF0123456789ABCDE\"\nOutput = 4de433d5844043ef08d354da03cb29068780d52706d7d1e4d50efb7d58c9d547d83a747ddd0635a96b28f854e50145518482cb49e963054621b53c60c498d07c16e9c2789c893cf38d4d86900de71bde463bd2761d1271e358c7480a1ac0bab930ddf39602ad1bc165b5d7436b516b7a7858e8eb7ab1c420eeb482f4d207f0e462b1724959320a084e13848d11d10fb593e66bf680bf6d3f345fc3e9c3de60abba", + "c37e1c6ec80a268c8d9fc49626c679097aa690bc1aa662b95eb8db70390861aa0898229f9349b4b5fdd030d4928c47084708a933144be23bd3c6e661b85b2c0ef9ed36d498d5b7320e8194d363d4ad478c059bae804181965e0b81b663158a\nError = INVALID_MESSAGE_LENGTH\n\n# Digest too long\nVerify = RSA-2048-SPKI\nRSAPadding = PSS\nPSSSaltLength = 0\nDigest = SHA256\nInput = \"0123456789ABCDEF0123456789ABCDEF0\"\nOutput = 4de433d5844043ef08d354da03cb29068780d52706d7d1e4d50efb7d58c9d547d83a747ddd0635a96b28f854e50145518482cb49e963054621b53c60c498d07c16e9c2789c893cf38d4d86900de71bde463bd2761d1271e358c7480a1ac0bab930ddf39602ad1bc165b5d7436b516b7a7858e8eb7ab1c420eeb482f4d207f0e462b1724959320a084e13848d11d10fb593e66bf680bf6d3f345fc3e9c3de60abbac37e1c6ec80a268c8d9fc49626c679097aa690bc1aa662b95eb8db70390861aa0898229f9349b4b5fdd030d4928c47084708a933144be23bd3c6e661b85b2c0ef9ed36d498d5b7320e8194d363d4ad478c059bae804181965e0b81b663158a\nError = INVALID_MESSAGE_LENGTH\n\n# Wrong salt length\nVerify = RSA-2048\nRSAPadding = PSS\nPSSSaltLength = 2\nDigest = SHA256\nInput = \"0123456789ABCDEF0123456789ABCDEF\"\nOutput = 4de433d5844043ef08d354da03cb29068780d52706d7d1e4d50efb7d58c9d547d83a747ddd0635a96b28f854e50145518482cb49e963054621b53c60c498d07c16e9c2789c893cf38d4d86900de71bde463bd2761d1271e358c7480a1ac0bab930ddf39602ad1bc165b5d7436b516b7a7858e8eb7ab1c420eeb482f4d207f0e462b1724959320a084e13848d11d10fb593e66bf680bf6d3f345fc3e9c3de60abbac37e1c6ec80a268c8d9fc49626c679097aa690bc1aa662b95eb8db70390861aa0898229f9349b4b5fdd030d4928c47084708a933144be23bd3c6e661b85b2c0ef9ed36d498d5b7320e8194d363d4ad478c059bae804181965e0b81b663158a\nError = SLEN_CHECK_FAILED\n\n# Wrong salt length using implicit hash length\nVerify = RSA-2048\nRSAPadding = PSS\nPSSSaltLength = -1\nDigest = SHA256\nInput = \"0123456789ABCDEF0123456789ABCDEF\"\nOutput = 4de433d5844043ef08d354da03cb29068780d52706d7d1e4d50efb7d58c9d547d83a747ddd0635a96b28f854e50145518482cb49e963054621b53c60c498d07c16e9c2789c893cf38d4d86900de71bde463bd2761d1271e358c7480a1ac0bab930ddf39602ad1bc165b5d7436b516b7a7858e8eb7ab1c420eeb482f4d207f0e462b1724959320a084e13848d11d10fb593e66bf680bf6d3f345fc3e9c3de60abbac37e1c6ec80a268c8d9fc49626c679097aa690bc1aa662b95eb8db70390861aa0898229f9349b4b5fdd030d4928c47084708a933144be23bd3c6e661b85b2c0ef9ed36d498d5b7320e8194d363d4ad478c059bae804181965e0b81b663158a\nError = SLEN_CHECK_FAILED\n\n# Wrong MGF1 digest, SHA-1\nVerify = RSA-2048\nRSAPadding = PSS\nPSSSaltLength = 0\nDigest = SHA256\nMGF1Digest = SHA1\nInput = \"0123456789ABCDEF0123456789ABCDEF\"\nOutput = 4de433d5844043ef08d354da03cb29068780d52706d7d1e4d50efb7d58c9d547d83a747ddd0635a96b28f854e50145518482cb49e963054621b53c60c498d07c16e9c2789c893cf38d4d86900de71bde463bd2761d1271e358c7480a1ac0bab930ddf39602ad1bc165b5d7436b516b7a7858e8eb7ab1c420eeb482f4d207f0e462b1724959320a084e13848d11d10fb593e66bf680bf6d3f345fc3e9c3de60abbac37e1c6ec80a268c8d9fc49626c679097aa690bc1aa662b95eb8db70390861aa0898229f9349b4b5fdd030d4928c47084708a933144be23bd3c6e661b85b2c0ef9ed36d498d5b7320e8194d363d4ad478c059bae804181965e0b81b663158a\n# If SHA-1, this input happens to succeed recovering a salt length, but it does\n# not match.\nError = SLEN_CHECK_FAILED\n\n# Wrong MGF1 digest, SHA-384\nVerify = RSA-2048\nRSAPadding = PSS\nPSSSaltLength = 0\nDigest = SHA256\nMGF1Digest = SHA384\nInput = \"0123456789ABCDEF0123456789ABCDEF\"\nOutput = 4de433d5844043ef08d354da03cb29068780d52706d7d1e4d50efb7d58c9d547d83a747ddd0635a96b28f854e50145518482cb49e963054621b53c60c498d07c16e9c2789c893cf38d4d86900de71bde463bd2761d1271e358c7480a1ac0bab930ddf39602ad1bc165b5d7436b516b7a7858e8eb7ab1c420eeb482f4d207f0e462b1724959320a084e13848d11d10fb593e66bf680bf6d3f345fc3e9c3de60abbac37e1c6ec80a268c8d9fc49626c679097aa690bc1aa662b95eb8db70390861aa0898229f9349b4b5fdd030d4928c47084708a933144be23bd3c6e661b85b2c0ef9ed36d498d5b7320e8194d363d4ad478c059bae804181965e0b81b663158a\n# If SHA-384, this input happens fail to recover the salt length altogether.\nError = SLEN_RECOVERY_FAILED\n\n# The salt length is too large for the modulus (signing).\nSign = RSA-2048\nRSAPadding = PSS\nPSSSaltLength = 223\nDigest = SHA256\nInput = \"0123456789ABCDEF0123456789ABCDEF\"\nError = DATA_TOO_LARGE_FOR_KEY_SIZE\n\n# The salt length is too large for the modulus (verifying).\nVerify = RSA-2048\nRSAPadding = PSS\nPSSSaltLength = 223\nDigest = SHA256\nInput = \"0123456789ABCDEF0123456789ABCDEF\"\nOutput = 4de433d5844043ef08d354da03cb29068780d52706d7d1e4d50efb7d58c9d547d83a747ddd0635a96b28f854e50145518482cb49e963054621b53c60c498d07c16e9c2789c893cf38d4d86900de71bde463bd2761d1271e358c7480a1ac0bab930ddf39602ad1bc165b5d7436b516b7a7858e8eb7ab1c420eeb482f4d207f0e462b1724959320a084e13848d11d10fb593e66bf680bf6d3f345fc3e9c3de60abbac37e1c6ec80a268c8d9fc49626c679097aa690bc1aa662b95eb8db70390861aa0898229f9349b4b5fdd030d4928c47084708a933144be23bd3c6e661b85b2c0ef9ed36d498d5b7320e8194d363d4ad478c059bae804181965e0b81b663158a\nError = DATA_TOO_LARGE\n\n# The hash is too large for the modulus (signing).\nSign = RSA-512\nRSAPadding = PSS\nPSSSaltLength = 0\nDigest = SHA512\nInput = \"0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF\"\nError = DATA_TOO_LARGE_FOR_KEY_SIZE\n\nSign = RSA-512\nRSAPadding = PSS\nPSSSaltLength = -2\nDigest = SHA512\nInput = \"0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF\"\nError = DATA_TOO_LARGE_FOR_KEY_SIZE\n\n# The hash is too large for the modulus (verifying).\nVerify = RSA-512\nRSAPadding = PSS\nPSSSaltLength = 0\nDigest = SHA512\nInput = \"0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF\"\nOutput = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\nError = DATA_TOO_LARGE\n\nVerify = RSA-512\nRSAPadding = PSS\nPSSSaltLength = -2\nDigest = SHA512\nInput = \"0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF\"\nOutput = 457001d9ca50a93385fc5ec721c9dbbe7a0f2e9e4a2f846a30a8811dde66347b83901c7492039243537c7a667fafffd69049bcbd36afd0010d9b425e2d8785c1\nError = DATA_TOO_LARGE\n\n# Sample RSA-515 signature.\nVerify = RSA-515\nRSAPadding = PSS\nPSSSaltLength = 0\nDigest = SHA256\nInput = \"0123456789ABCDEF0123456789ABCDEF\"\nOutput = 00c5926600f160f85e7fe950cfe123908384211cd8fe25c90cb8e8cc0593308e9aa2efe3acbf100ec1658ded8f72f506525fc2c44f06251b08d896e7bb3f05b135\n\n# The above, but with too few leading zeros.\nVerify = RSA-515\nRSAPadding = PSS\nPSSSaltLength = 0\nDigest = SHA256\nInput = \"0123456789ABCDEF0123456789ABCDEF\"\nOutput = c5926600f160f85e7fe950cfe123908384211cd8fe25c90cb8e8cc0593308e9aa2efe3acbf100ec1658ded8f72f506525fc2c44f06251b08d896e7bb3f05b135\nError = DATA_LEN_NOT_EQUAL_TO_MOD_LEN\n\n# The above, but with too many leading zeros.\nVerify = RSA-515\nRSAPadding = PSS\nPSSSaltLength = 0\nDigest = SHA256\nInput = \"0123456789ABCDEF0123456789ABCDEF\"\nOutput = 0000c5926600f160f85e7fe950cfe123908384211cd8fe25c90cb8e8cc0593308e9aa2efe3acbf100ec1658ded8f72f506525fc2c44f06251b08d896e7bb3f05b135\nError = DATA_LEN_NOT_EQUAL_TO_MOD_LEN\n\n# The above with an invalid leading byte. The top few bits of EM are required to\n# be cleared.\nVerify = RSA-515\nRSAPadding = PSS\nPSSSaltLength = 0\nDigest = SHA256\nInput = \"0123456789ABCDEF0123456789ABCDEF\"\nOutput = 007f803c832a2090aea04013d9fa9c1630732a1625232826d235f0950f7050d3fb0eb06ef9ea8b260fad68e1165a2d770a8c7fc7a8aaa68620b021fc19c97e0041\nError = FIRST_OCTET_INVALID\n\n# The above with an invalid trailing byte.\nVerify = RSA-515\nRSAPadding = PSS\nPSSSaltLength = 0\nDigest = SHA256\nInput = \"0123456789ABCDEF0123456789ABCDEF\"\nOutput = 03e68555035891eb08d96c0967db22328cd892ad2856d88516ecb946bfdba732bb029b5c0dfa2119ed7349897d2324e95e86d91d0c4afc82700a36db8933abbf58\nError = LAST_OCTET_INVALID\n\n# Non-zero salt length.\nVerify = RSA-2048-SPKI\nRSAPadding = PSS\nPSSSaltLength = 32\nDigest = SHA256\nInput = \"0123456789ABCDEF0123456789ABCDEF\"\nOutput = 4065b284b0a6e98d4c41a8427007f878d8dd61599c87764fa79b8bf03f030c48127a4b1a5af5a6e0cf9055e57a1f47e5b0c0d8c600e78369cf1c39374899fac91a812692aa2216ba10900ce85a5cf7fddcafb726e4b83479c5bb7b3b84b08ffe183b4c2973aa3193ec7b7d4ea73bf1b579c6657b78ad7800e1975a4838c28ffe353fafef96be27b5c69677760a71b6f4df65ba6fe6b3565580a536f966928294c6e9ece807a90c1477779bcbfa3a250e98d685097c162c1c8c56ab02bd2e16eec7a019b51c067bdba7fa8cd5460796e22c607a8b6d12e1deb9be51c6943c46590f416800c48bb4cbb8c409d316573e59eadf7d3b9e6e5c2d0e5706", + "92e511e139\n\n# Non-zero salt length, wrong salt length.\nVerify = RSA-2048-SPKI\nRSAPadding = PSS\nPSSSaltLength = 31\nDigest = SHA256\nInput = \"0123456789ABCDEF0123456789ABCDEF\"\nOutput = 4065b284b0a6e98d4c41a8427007f878d8dd61599c87764fa79b8bf03f030c48127a4b1a5af5a6e0cf9055e57a1f47e5b0c0d8c600e78369cf1c39374899fac91a812692aa2216ba10900ce85a5cf7fddcafb726e4b83479c5bb7b3b84b08ffe183b4c2973aa3193ec7b7d4ea73bf1b579c6657b78ad7800e1975a4838c28ffe353fafef96be27b5c69677760a71b6f4df65ba6fe6b3565580a536f966928294c6e9ece807a90c1477779bcbfa3a250e98d685097c162c1c8c56ab02bd2e16eec7a019b51c067bdba7fa8cd5460796e22c607a8b6d12e1deb9be51c6943c46590f416800c48bb4cbb8c409d316573e59eadf7d3b9e6e5c2d0e570692e511e139\nError = SLEN_CHECK_FAILED\n\n# Non-zero salt length, match hash length.\nVerify = RSA-2048-SPKI\nRSAPadding = PSS\nPSSSaltLength = -1\nDigest = SHA256\nInput = \"0123456789ABCDEF0123456789ABCDEF\"\nOutput = 4065b284b0a6e98d4c41a8427007f878d8dd61599c87764fa79b8bf03f030c48127a4b1a5af5a6e0cf9055e57a1f47e5b0c0d8c600e78369cf1c39374899fac91a812692aa2216ba10900ce85a5cf7fddcafb726e4b83479c5bb7b3b84b08ffe183b4c2973aa3193ec7b7d4ea73bf1b579c6657b78ad7800e1975a4838c28ffe353fafef96be27b5c69677760a71b6f4df65ba6fe6b3565580a536f966928294c6e9ece807a90c1477779bcbfa3a250e98d685097c162c1c8c56ab02bd2e16eec7a019b51c067bdba7fa8cd5460796e22c607a8b6d12e1deb9be51c6943c46590f416800c48bb4cbb8c409d316573e59eadf7d3b9e6e5c2d0e570692e511e139\n\n# Non-zero salt length, auto-detected.\nVerify = RSA-2048-SPKI\nRSAPadding = PSS\nPSSSaltLength = -2\nDigest = SHA256\nInput = \"0123456789ABCDEF0123456789ABCDEF\"\nOutput = 4065b284b0a6e98d4c41a8427007f878d8dd61599c87764fa79b8bf03f030c48127a4b1a5af5a6e0cf9055e57a1f47e5b0c0d8c600e78369cf1c39374899fac91a812692aa2216ba10900ce85a5cf7fddcafb726e4b83479c5bb7b3b84b08ffe183b4c2973aa3193ec7b7d4ea73bf1b579c6657b78ad7800e1975a4838c28ffe353fafef96be27b5c69677760a71b6f4df65ba6fe6b3565580a536f966928294c6e9ece807a90c1477779bcbfa3a250e98d685097c162c1c8c56ab02bd2e16eec7a019b51c067bdba7fa8cd5460796e22c607a8b6d12e1deb9be51c6943c46590f416800c48bb4cbb8c409d316573e59eadf7d3b9e6e5c2d0e570692e511e139\n\n\n# RSA decrypt\n\nDecrypt = RSA-2048\nInput = 550af55a2904e7b9762352f8fb7fa235a9cb053aacb2d5fcb8ca48453cb2ee3619746c701abf2d4cc67003471a187900b05aa812bd25ed05c675dfc8c97a24a7bf49bd6214992cad766d05a9a2b57b74f26a737e0237b8b76c45f1f226a836d7cfbc75ba999bdbe48dbc09227aa46c88f21dccba7840141ad5a5d71fd122e6bd6ac3e564780dfe623fc1ca9b995a6037bf0bbd43b205a84ac5444f34202c05ce9113087176432476576de6ffff9a52ea57c08be3ec2f49676cb8e12f762ac71fa3c321e00ac988910c85ff52f93825666ce0d40ffaa0592078919d4493f46d95ccf76364c6d57760dd0b64805f9afc76a2365a5575ca301d5103f0ea76cb9a78\nOutput = \"Hello World\"\n\n# Corrupted ciphertext\nDecrypt = RSA-2048\nInput = 550af55a2904e7b9762352f8fb7fa235a9cb053aacb2d5fcb8ca48453cb2ee3619746c701abf2d4cc67003471a187900b05aa812bd25ed05c675dfc8c97a24a7bf49bd6214992cad766d05a9a2b57b74f26a737e0237b8b76c45f1f226a836d7cfbc75ba999bdbe48dbc09227aa46c88f21dccba7840141ad5a5d71fd122e6bd6ac3e564780dfe623fc1ca9b995a6037bf0bbd43b205a84ac5444f34202c05ce9113087176432476576de6ffff9a52ea57c08be3ec2f49676cb8e12f762ac71fa3c321e00ac988910c85ff52f93825666ce0d40ffaa0592078919d4493f46d95ccf76364c6d57760dd0b64805f9afc76a2365a5575ca301d5103f0ea76cb9a79\nError = PKCS_DECODING_ERROR\n\n# OAEP padding\nDecrypt = RSA-2048\nRSAPadding = OAEP\nInput = 458708dfbd42a1297ce7a9c86c7087ab80b1754810929b89c5107ca55368587686986fce94d86cc1595b3fb736223a656ec0f34d18ba1cc5665593610f56c58e26b272d584f3d983a5c91085700755aebd921fb280bba3eda7046ec07b43e7298e52d59edc92be4639a8ce08b2f85976ecf6d98cc469eeb9d5d8e2a32ea8a6626edafe1038b3df455668a9f3c77cad8b92fb872e00058c3d2a7ede1a1f03fc5622084ae04d9d24f6bf0995c58d35b93b699b9763595e123f2ab0863cc9229eb290e2ede7715c7a8f39e0b9a3e2e1b56ebb62f1cbfbb5986fb212ebd785b83d01d968b11d1756c7337f70c1f1a63bff03608e24f3a2fd44e67f832a8701c5d5af\nOutput = \"Hello World\"\n\n# OAEP padding with label and custom hash.\nDecrypt = RSA-2048\nRSAPadding = OAEP\nOAEPDigest = SHA512\nOAEPLabel = 00112233445566778899aabbccddeeff\nInput = 48b956c22b8e40cc38f0893672ddf488fc806cf1fcc6239c66dd8345eb543d6b5cac589e6c7ae86dac1c2436c4d72c48009a737b2c649e6000dbab17203e4d9c078bd70b649700a0830d4ddc396af0c48973177a229e48259d93247f04f76474c7611b530c66f020c4da2cc861c2e4104831ecc0336e0cb10d6520fdefd0b33606f5cdd736dd439583b9b6011cce99623c93caf5f76e21e9fefab414795dd5ac12cba551be74ebf266834fcffab182c5e7c9b6c064df154cb26ddfd4fe2fd87590005f4bf45e776a0082803e9f68995b8eeb4c6802c67b5ef349e5b2dc0cf7a12fc097030f2bd28f0253f17129b04c82993a12957728b35880fdd2f8d0cc469f\nOutput = \"Hello World\"\n\n# OAEP padding, corrupted ciphertext\nDecrypt = RSA-2048\nRSAPadding = OAEP\nInput = 458708dfbd42a1297ce7a9c86c7087ab80b1754810929b89c5107ca55368587686986fce94d86cc1595b3fb736223a656ec0f34d18ba1cc5665593610f56c58e26b272d584f3d983a5c91085700755aebd921fb280bba3eda7046ec07b43e7298e52d59edc92be4639a8ce08b2f85976ecf6d98cc469eeb9d5d8e2a32ea8a6626edafe1038b3df455668a9f3c77cad8b92fb872e00058c3d2a7ede1a1f03fc5622084ae04d9d24f6bf0995c58d35b93b699b9763595e123f2ab0863cc9229eb290e2ede7715c7a8f39e0b9a3e2e1b56ebb62f1cbfbb5986fb212ebd785b83d01d968b11d1756c7337f70c1f1a63bff03608e24f3a2fd44e67f832a8701c5d5ac\nError = OAEP_DECODING_ERROR\n\n# Test that RSA encryption successfully round-trips through decryption\n# with various parameters.\nEncrypt = RSA-2048\nInput = \"Hello World\"\nCheckDecrypt\n\nEncrypt = RSA-2048\nRSAPadding = OAEP\nInput = \"Hello World\"\nCheckDecrypt\n\nEncrypt = RSA-2048\nRSAPadding = OAEP\nOAEPDigest = SHA512\nOAEPLabel = 00112233445566778899aabbccddeeff\nInput = \"Hello World\"\nCheckDecrypt\n\n# Though we will never generate such a key, test that RSA keys where p < q work\n# properly.\nPrivateKey = RSA-Swapped\nType = RSA\nInput = 30820275020100300d06092a864886f70d01010105000482025f3082025b02010002818100ab28f98747934779011417d5bbb4095eae6f48ed09e13081616cf390aac75b10a206a98953d402647dfef7fa363be2765a303b05ec388bd9a1d75123a1205b4ecb43c33f2e37d3e30842181d694a3acfc39afc52554946e699d97d97066596a46725ce6dea322623afcafecbd2884d9a0c5eae9c4d7da8874c29c19edb762e1902030100010281800d637ea568e169f15ab6be288f6ec55edd29425c9c6dbb941b5160fa1b89cda34ef15378b5107c016d63b0f52721e71497f876dd7f3d6b1f228c4bc20c3c12384644200e91130c9195660d1e706f55b2accf00c5e2174a1d9ee289f0e763ee58860485ec97d19d7fa2df38af5b5910b1fa52087768d288e6ec4c8d5eca23c8d3024100be757a24dc2c923692d964693b2d71ca33ccb2f946f9e5232d2090b715a97dca554068fab8876105bc9ed6dccfd0917c5e0b80339306535c3eeb787e89397bc7024100e60f5c9e52434da079b8c641791a81a96daa4d9921a07e5b48292a9fce230df7c9fc2b97b5e38834ed5caaa387a0bca35c474e989a68dd65b79a6f691a74471f0240438ccf017bc5a3260ff76291a01782204136fcd344c524ebd0f997da17a8c1a09d93f6a7d602cdfa86e79f3539cfb389f4a1079b432e1f2abc762f8a51893dc9024046604ca4e1e554c9d27283b363a888219c3a8ca25b770d303f52d8872a37eefdedfc0619d2ba57e058fc0ff71676453e73ec1c4ef26d41ccebed824754a05d6102404445374d8450e753e0a42085b56b0d6d500b3e3518536dc8f12ec8fd77aa75491835327ac0e12d73b5c3f1b09d03f6a24fe63b9c551dee6559b625435ec92429\n\nSign = RSA-Swapped\nDigest = SHA256\nInput = \"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\"\nOutput = 07fa4e3de9c002c41c952dc292ef5a814c4c17dc1a6cf958c4c971e8089676d6661b442270ef9295c41e5385c9628aa1bdee2cc2558b8473ba212f2ba04b9ff2264c19187b9506b1d0a1cc2751844cc8dedf555d62ce81bc0e70bfe83d0184ee964593af91b9b327c0fb272c799148cd8737d412cbf36c2ad25fd66977bf805f\n\n# Though we will never generate such a key, test that RSA keys where p and q are\n# different sizes work properly.\nPrivateKey = RSA-PrimeMismatch\nType = RSA\nInput = 30820295020100300d06092a864886f70d01010105000482027f3082027b02010002818100c766f4fef89f5e9a8e13ed500fb38523ea94d7f8be066900eee58c913b4c6fdcb13d63d39b9108feabcefd1ffd04776403dc58f968ae817977d0809e567d8af512d604a0e9cb448fa5e402204ee519712a5ebbfd002faf8169495a782f54366b4665aac0d968bfec63c5446b6f9b13061c7f3d1f3f1b6bede8fff881b410a66f0203010001028180528c062f49485c771a0b18ca747d8a47f8941ea63c305626cb3f1f067e6861c4441c432687dbd08d484aac3b01f3ffdc3b762c719167f7cb22e565aa6acd597306ef6f7828b9720e9d440816186d940c4c5a9720dddf71fe0b59483f02a751515c8c27e43c575d6725d55f5bb77e0f977773b00afc058cfab6617ec90d0b62a9026100cb8f97c37b4fbc298b645bc3dc0526f8a4274e9a193b33c3acb76499b5b96330e4b586cbaa56368ffc12644952322253bc669496d572c0980f125fd7273739cf790d244010", + "52b13732114d397c8c16a44716dc62d2320fb1ced99290dfd53e07022100fac51ac653609cdaba53280c6b6f209052e270be0c3c68fe8b37d6bf05fbba59026038dff2f04c58d7e2e7ae6fb1469d2de954bc22cb0d77ac1be4fb0ca1a1d39d7240c4b357de4cde4bd68b30f8077e38771af1b25c7e60e48cd7d1337402e1fc460ab57046720918b8aa4589452196669119c7ba65e602d4bdc264a9fdce7c5f2b0220773af0180bdc8bb7938fa6230191bcb1e236b7d4248d347e9242e25fc0c0874102605c4894cde334889f5b52ed8f86a2ee9c1fbe4166287e24ce44f3093bff383962f08043842f6ff3e6002104b0e29442c4a4483c5d06e2254fbe5e3930de3d0e28af10e96c6e341a4b8859382dbba24536a38ae71118e3e22413a93f298a7f744c\n\nSign = RSA-PrimeMismatch\nDigest = SHA256\nInput = \"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\"\nOutput = 6192b1ce630c87d02e8245fd74d4f6ecac37eef979d188c8fa48c4d355fbe814e7dd3152f42bb020d769b540d11867af5b947387b8c99158d56901ff3708e423931178213916ae1002f162c9d497aacacdcb20e6ffe7ed40138a253fc943ddf3587433df5831a3ce46aeefce358a009bf6bad12d82d77424c2755d984d7da196\n\n\n# EC tests\n\nVerify = P-256\nDigest = SHA1\nInput = \"0123456789ABCDEF1234\"\nOutput = 3045022100b1d1cb1a577035bccdd5a86c6148c2cc7c633cd42b7234139b593076d041e15202201898cdd52b41ca502098184b409cf83a21bc945006746e3b7cea52234e043ec8\n\nVerify = P-256-SPKI\nDigest = SHA1\nInput = \"0123456789ABCDEF1234\"\nOutput = 3045022100b1d1cb1a577035bccdd5a86c6148c2cc7c633cd42b7234139b593076d041e15202201898cdd52b41ca502098184b409cf83a21bc945006746e3b7cea52234e043ec8\n\n# Digest too long\nVerify = P-256\nDigest = SHA1\nInput = \"0123456789ABCDEF12345\"\nOutput = 3045022100b1d1cb1a577035bccdd5a86c6148c2cc7c633cd42b7234139b593076d041e15202201898cdd52b41ca502098184b409cf83a21bc945006746e3b7cea52234e043ec8\nError = BAD_SIGNATURE\n\n# Digest too short\nVerify = P-256\nDigest = SHA1\nInput = \"0123456789ABCDEF123\"\nOutput = 3045022100b1d1cb1a577035bccdd5a86c6148c2cc7c633cd42b7234139b593076d041e15202201898cdd52b41ca502098184b409cf83a21bc945006746e3b7cea52234e043ec8\nError = BAD_SIGNATURE\n\n# Digest invalid\nVerify = P-256\nDigest = SHA1\nInput = \"0123456789ABCDEF1235\"\nOutput = 3045022100b1d1cb1a577035bccdd5a86c6148c2cc7c633cd42b7234139b593076d041e15202201898cdd52b41ca502098184b409cf83a21bc945006746e3b7cea52234e043ec8\nError = BAD_SIGNATURE\n\n# Invalid signature\nVerify = P-256\nDigest = SHA1\nInput = \"0123456789ABCDEF1234\"\nOutput = 3045022100b1d1cb1a577035bccdd5a86c6148c2cc7c633cd42b7234139b593076d041e15202201898cdd52b41ca502098184b409cf83a21bc945006746e3b7cea52234e043ec7\nError = BAD_SIGNATURE\n\n# Garbage after signature\nVerify = P-256\nDigest = SHA1\nInput = \"0123456789ABCDEF1234\"\nOutput = 3045022100b1d1cb1a577035bccdd5a86c6148c2cc7c633cd42b7234139b593076d041e15202201898cdd52b41ca502098184b409cf83a21bc945006746e3b7cea52234e043ec800\nError = BAD_SIGNATURE\n\n# BER signature\nVerify = P-256\nDigest = SHA1\nInput = \"0123456789ABCDEF1234\"\nOutput = 3080022100b1d1cb1a577035bccdd5a86c6148c2cc7c633cd42b7234139b593076d041e15202201898cdd52b41ca502098184b409cf83a21bc945006746e3b7cea52234e043ec80000\nError = BAD_SIGNATURE\n\n\n# Additional RSA-PSS and RSA-OAEP tests converted from\n# ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-1/pkcs-1v2-1-vec.zip\n\nPublicKey = RSA-PSS-1\nType = RSA\nInput = 30819f300d06092a864886f70d010101050003818d0030818902818100a56e4a0e701017589a5187dc7ea841d156f2ec0e36ad52a44dfeb1e61f7ad991d8c51056ffedb162b4c0f283a12a88a394dff526ab7291cbb307ceabfce0b1dfd5cd9508096d5b2b8b6df5d671ef6377c0921cb23c270a70e2598e6ff89d19f105acc2d3f0cb35f29280e1386b6f64c4ef22e1e1f20d0ce8cffb2249bd9a21370203010001\n\nVerify = RSA-PSS-1\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = cd8b6538cb8e8de566b68bd067569dbf1ee2718e\nOutput = 9074308fb598e9701b2294388e52f971faac2b60a5145af185df5287b5ed2887e57ce7fd44dc8634e407c8e0e4360bc226f3ec227f9d9e54638e8d31f5051215df6ebb9c2f9579aa77598a38f914b5b9c1bd83c4e2f9f382a0d0aa3542ffee65984a601bc69eb28deb27dca12c82c2d4c3f66cd500f1ff2b994d8a4e30cbb33c\n\nVerify = RSA-PSS-1\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = e35befc17a1d160b9ce35fbd8eb16e7ee491d3fd\nOutput = 3ef7f46e831bf92b32274142a585ffcefbdca7b32ae90d10fb0f0c729984f04ef29a9df0780775ce43739b97838390db0a5505e63de927028d9d29b219ca2c4517832558a55d694a6d25b9dab66003c4cccd907802193be5170d26147d37b93590241be51c25055f47ef62752cfbe21418fafe98c22c4d4d47724fdb5669e843\n\nVerify = RSA-PSS-1\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 0652ec67bcee30f9d2699122b91c19abdba89f91\nOutput = 666026fba71bd3e7cf13157cc2c51a8e4aa684af9778f91849f34335d141c00154c4197621f9624a675b5abc22ee7d5baaffaae1c9baca2cc373b3f33e78e6143c395a91aa7faca664eb733afd14d8827259d99a7550faca501ef2b04e33c23aa51f4b9e8282efdb728cc0ab09405a91607c6369961bc8270d2d4f39fce612b1\n\nVerify = RSA-PSS-1\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 39c21c4cceda9c1adf839c744e1212a6437575ec\nOutput = 4609793b23e9d09362dc21bb47da0b4f3a7622649a47d464019b9aeafe53359c178c91cd58ba6bcb78be0346a7bc637f4b873d4bab38ee661f199634c547a1ad8442e03da015b136e543f7ab07c0c13e4225b8de8cce25d4f6eb8400f81f7e1833b7ee6e334d370964ca79fdb872b4d75223b5eeb08101591fb532d155a6de87\n\nVerify = RSA-PSS-1\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 36dae913b77bd17cae6e7b09453d24544cebb33c\nOutput = 1d2aad221ca4d31ddf13509239019398e3d14b32dc34dc5af4aeaea3c095af73479cf0a45e5629635a53a018377615b16cb9b13b3e09d671eb71e387b8545c5960da5a64776e768e82b2c93583bf104c3fdb23512b7b4e89f633dd0063a530db4524b01c3f384c09310e315a79dcd3d684022a7f31c865a664e316978b759fad\n\nVerify = RSA-PSS-1\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 45eef191f4f79c31fe5d2ede7e5098994e929d2d\nOutput = 2a34f6125e1f6b0bf971e84fbd41c632be8f2c2ace7de8b6926e31ff93e9af987fbc06e51e9be14f5198f91f3f953bd67da60a9df59764c3dc0fe08e1cbef0b75f868d10ad3fba749fef59fb6dac46a0d6e504369331586f58e4628f39aa278982543bc0eeb537dc61958019b394fb273f215858a0a01ac4d650b955c67f4c58\n\nPublicKey = RSA-PSS-2\nType = RSA\nInput = 30819f300d06092a864886f70d010101050003818d0030818902818101d40c1bcf97a68ae7cdbd8a7bf3e34fa19dcca4ef75a47454375f94514d88fed006fb829f8419ff87d6315da68a1ff3a0938e9abb3464011c303ad99199cf0c7c7a8b477dce829e8844f625b115e5e9c4a59cf8f8113b6834336a2fd2689b472cbb5e5cabe674350c59b6c17e176874fb42f8fc3d176a017edc61fd326c4b33c90203010001\n\nVerify = RSA-PSS-2\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 5c81a3e2a658246628cd0ee8b00bb4c012bc9739\nOutput = 014c5ba5338328ccc6e7a90bf1c0ab3fd606ff4796d3c12e4b639ed9136a5fec6c16d8884bdd99cfdc521456b0742b736868cf90de099adb8d5ffd1deff39ba4007ab746cefdb22d7df0e225f54627dc65466131721b90af445363a8358b9f607642f78fab0ab0f43b7168d64bae70d8827848d8ef1e421c5754ddf42c2589b5b3\n\nVerify = RSA-PSS-2\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 27f71611446aa6eabf037f7dedeede3203244991\nOutput = 010991656cca182b7f29d2dbc007e7ae0fec158eb6759cb9c45c5ff87c7635dd46d150882f4de1e9ae65e7f7d9018f6836954a47c0a81a8a6b6f83f2944d6081b1aa7c759b254b2c34b691da67cc0226e20b2f18b42212761dcd4b908a62b371b5918c5742af4b537e296917674fb914194761621cc19a41f6fb953fbcbb649dea\n\nVerify = RSA-PSS-2\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 03ecc2c33e93f05fc7224fcc0d461356cb897217\nOutput = 007f0030018f53cdc71f23d03659fde54d4241f758a750b42f185f87578520c30742afd84359b6e6e8d3ed959dc6fe486bedc8e2cf001f63a7abe16256a1b84df0d249fc05d3194ce5f0912742dbbf80dd174f6c51f6bad7f16cf3364eba095a06267dc3793803ac7526aebe0a475d38b8c2247ab51c4898df7047dc6adf52c6c4\n\nVerify = RSA-PSS-2\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 246c727b4b9494849dddb068d582e179ac20999c\nOutput = 009cd2f4edbe23e12346ae8c76dd9ad3230a62076141f16c152ba18513a48ef6f010e0e37fd3df10a1ec629a0cb5a3b5d2893007298c30936a95903b6ba85555d9ec3673a06108fd62a2fda56d1ce2e85c4db6b24a81ca3b496c36d4fd06eb7c9166d8e94877c42bea622b3bfe9251fdc21d8d5371badad78a488214796335b40b\n\nVerify = RSA-PSS-2\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = e8617ca3ea66ce6a58ede2d11af8c3ba8a6ba912\nOutput = 00ec430824931ebd3baa43034dae98ba646b8c36013d1671c3cf1cf8260c374b19f8e1cc8d965012405e7e9bf7378612dfcc85fce12cda11f950bd0ba8876740436c1d2595a64a1b32efcfb74a21c873b3cc33aaf4e3dc3953de67f0674c0453b4fd9f604406d441b816098cb106fe3472bc251f815f59db2e4378a3addc181ecf\n\nVerify = RSA-PSS-2\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 7a6fdc1a4e434ecbc35d657ad49a2f4fafd43bc8\nOutput = 00475b1648f814a8dc0abdc37b5527f543b666bb6e39d30e5b49d3b876dccc58eac14e32a2d55c2616014456ad2f246fc8e3d560da3ddf379a1c0bd200f10221df078c219a151bc8d4ec9d2fc2564467811014ef15d8ea01c2ebbff8c2c8efab38096e55fcbe3285c7aa558851254faffa92c1c72", + "b78758663ef4582843139d7a6\n\nPublicKey = RSA-PSS-3\nType = RSA\nInput = 30819f300d06092a864886f70d010101050003818d0030818902818102f246ef451ed3eebb9a310200cc25859c048e4be798302991112eb68ce6db674e280da21feded1ae74880ca522b18db249385012827c515f0e466a1ffa691d98170574e9d0eadb087586ca48933da3cc953d95bd0ed50de10ddcb6736107d6c831c7f663e833ca4c097e700ce0fb945f88fb85fe8e5a773172565b914a471a4430203010001\n\nVerify = RSA-PSS-3\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 3552be69dd74bdc56d2cf8c38ef7bafe269040fe\nOutput = 0088b135fb1794b6b96c4a3e678197f8cac52b64b2fe907d6f27de761124964a99a01a882740ecfaed6c01a47464bb05182313c01338a8cd097214cd68ca103bd57d3bc9e816213e61d784f182467abf8a01cf253e99a156eaa8e3e1f90e3c6e4e3aa2d83ed0345b89fafc9c26077c14b6ac51454fa26e446e3a2f153b2b16797f\n\nVerify = RSA-PSS-3\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 609143ff7240e55c062aba8b9e4426a781919bc9\nOutput = 02a5f0a858a0864a4f65017a7d69454f3f973a2999839b7bbc48bf78641169179556f595fa41f6ff18e286c2783079bc0910ee9cc34f49ba681124f923dfa88f426141a368a5f5a930c628c2c3c200e18a7644721a0cbec6dd3f6279bde3e8f2be5e2d4ee56f97e7ceaf33054be7042bd91a63bb09f897bd41e81197dee99b11af\n\nVerify = RSA-PSS-3\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 0afd22f879a9cda7c584f4135f8f1c961db114c0\nOutput = 0244bcd1c8c16955736c803be401272e18cb990811b14f72db964124d5fa760649cbb57afb8755dbb62bf51f466cf23a0a1607576e983d778fceffa92df7548aea8ea4ecad2c29dd9f95bc07fe91ecf8bee255bfe8762fd7690aa9bfa4fa0849ef728c2c42c4532364522df2ab7f9f8a03b63f7a499175828668f5ef5a29e3802c\n\nVerify = RSA-PSS-3\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 405dd56d395ef0f01b555c48f748cc32b210650b\nOutput = 0196f12a005b98129c8df13c4cb16f8aa887d3c40d96df3a88e7532ef39cd992f273abc370bc1be6f097cfebbf0118fd9ef4b927155f3df22b904d90702d1f7ba7a52bed8b8942f412cd7bd676c9d18e170391dcd345c06a730964b3f30bcce0bb20ba106f9ab0eeb39cf8a6607f75c0347f0af79f16afa081d2c92d1ee6f836b8\n\nVerify = RSA-PSS-3\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = a2c313b0440c8a0c47233b87f0a160c61af3eae7\nOutput = 021eca3ab4892264ec22411a752d92221076d4e01c0e6f0dde9afd26ba5acf6d739ef987545d16683e5674c9e70f1de649d7e61d48d0caeb4fb4d8b24fba84a6e3108fee7d0705973266ac524b4ad280f7ae17dc59d96d3351586b5a3bdb895d1e1f7820ac6135d8753480998382ba32b7349559608c38745290a85ef4e9f9bd83\n\nVerify = RSA-PSS-3\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = f1bf6ca7b4bbdbb6bf20a4bf55728725d177154a\nOutput = 012fafec862f56e9e92f60ab0c77824f4299a0ca734ed26e0644d5d222c7f0bde03964f8e70a5cb65ed44e44d56ae0edf1ff86ca032cc5dd4404dbb76ab854586c44eed8336d08d457ce6c03693b45c0f1efef93624b95b8ec169c616d20e5538ebc0b6737a6f82b4bc0570924fc6b35759a3348426279f8b3d7744e2d222426ce\n\nPublicKey = RSA-PSS-4\nType = RSA\nInput = 30819f300d06092a864886f70d010101050003818d00308189028181054adb7886447efe6f57e0368f06cf52b0a3370760d161cef126b91be7f89c421b62a6ec1da3c311d75ed50e0ab5fff3fd338acc3aa8a4e77ee26369acb81ba900fa83f5300cf9bb6c53ad1dc8a178b815db4235a9a9da0c06de4e615ea1277ce559e9c108de58c14a81aa77f5a6f8d1335494498848c8b95940740be7bf7c37050203010001\n\nVerify = RSA-PSS-4\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = f8b0abf70fec0bca74f0accbc24f75e6e90d3bfd\nOutput = 0323d5b7bf20ba4539289ae452ae4297080feff4518423ff4811a817837e7d82f1836cdfab54514ff0887bddeebf40bf99b047abc3ecfa6a37a3ef00f4a0c4a88aae0904b745c846c4107e8797723e8ac810d9e3d95dfa30ff4966f4d75d13768d20857f2b1406f264cfe75e27d7652f4b5ed3575f28a702f8c4ed9cf9b2d44948\n\nVerify = RSA-PSS-4\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 04a10944bfe11ab801e77889f3fd3d7f4ff0b629\nOutput = 049d0185845a264d28feb1e69edaec090609e8e46d93abb38371ce51f4aa65a599bdaaa81d24fba66a08a116cb644f3f1e653d95c89db8bbd5daac2709c8984000178410a7c6aa8667ddc38c741f710ec8665aa9052be929d4e3b16782c1662114c5414bb0353455c392fc28f3db59054b5f365c49e1d156f876ee10cb4fd70598\n\nVerify = RSA-PSS-4\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = ba01243db223eb97fb86d746c3148adaaa0ca344\nOutput = 03fbc410a2ced59500fb99f9e2af2781ada74e13145624602782e2994813eefca0519ecd253b855fb626a90d771eae028b0c47a199cbd9f8e3269734af4163599090713a3fa910fa0960652721432b971036a7181a2bc0cab43b0b598bc6217461d7db305ff7e954c5b5bb231c39e791af6bcfa76b147b081321f72641482a2aad\n\nVerify = RSA-PSS-4\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 934bb0d38d6836daec9de82a9648d4593da67cd2\nOutput = 0486644bc66bf75d28335a6179b10851f43f09bded9fac1af33252bb9953ba4298cd6466b27539a70adaa3f89b3db3c74ab635d122f4ee7ce557a61e59b82ffb786630e5f9db53c77d9a0c12fab5958d4c2ce7daa807cd89ba2cc7fcd02ff470ca67b229fcce814c852c73cc93bea35be68459ce478e9d4655d121c8472f371d4f\n\nVerify = RSA-PSS-4\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = ec35d81abd1cceac425a935758b683465c8bd879\nOutput = 022a80045353904cb30cbb542d7d4990421a6eec16a8029a8422adfd22d6aff8c4cc0294af110a0c067ec86a7d364134459bb1ae8ff836d5a8a2579840996b320b19f13a13fad378d931a65625dae2739f0c53670b35d9d3cbac08e733e4ec2b83af4b9196d63e7c4ff1ddeae2a122791a125bfea8deb0de8ccf1f4ffaf6e6fb0a\n\nVerify = RSA-PSS-4\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 72ce251d17b04dd3970d6ff1fbe3624899e9e941\nOutput = 00938dcb6d583046065f69c78da7a1f1757066a7fa75125a9d2929f0b79a60b627b082f11f5b196f28eb9daa6f21c05e5140f6aef1737d2023075c05ecf04a028c686a2ab3e7d5a0664f295ce12995e890908b6ad21f0839eb65b70393a7b5afd9871de0caa0cedec5b819626756209d13ab1e7bb9546a26ff37e9a51af9fd562e\n\nPublicKey = RSA-PSS-5\nType = RSA\nInput = 30819f300d06092a864886f70d010101050003818d003081890281810d10f661f29940f5ed39aa260966deb47843679d2b6fb25b3de370f3ac7c19916391fd25fb527ebfa6a4b4df45a1759d996c4bb4ebd18828c44fc52d0191871740525f47a4b0cc8da325ed8aa676b0d0f626e0a77f07692170acac8082f42faa7dc7cd123e730e31a87985204cabcbe6670d43a2dd2b2ddef5e05392fc213bc5070203010001\n\nVerify = RSA-PSS-5\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = d98b7061943510bc3dd9162f7169aabdbdcd0222\nOutput = 0ba373f76e0921b70a8fbfe622f0bf77b28a3db98e361051c3d7cb92ad0452915a4de9c01722f6823eeb6adf7e0ca8290f5de3e549890ac2a3c5950ab217ba58590894952de96f8df111b2575215da6c161590c745be612476ee578ed384ab33e3ece97481a252f5c79a98b5532ae00cdd62f2ecc0cd1baefe80d80b962193ec1d\n\nVerify = RSA-PSS-5\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 7ae8e699f754988f4fd645e463302e49a2552072\nOutput = 08180de825e4b8b014a32da8ba761555921204f2f90d5f24b712908ff84f3e220ad17997c0dd6e706630ba3e84add4d5e7ab004e58074b549709565d43ad9e97b5a7a1a29e85b9f90f4aafcdf58321de8c5974ef9abf2d526f33c0f2f82e95d158ea6b81f1736db8d1af3d6ac6a83b32d18bae0ff1b2fe27de4c76ed8c7980a34e\n\nVerify = RSA-PSS-5\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 8d46c7c05534c1ba2cc7624500d48a4531604bff\nOutput = 05e0fdbdf6f756ef733185ccfa8ced2eb6d029d9d56e35561b5db8e70257ee6fd019d2f0bbf669fe9b9821e78df6d41e31608d58280f318ee34f559941c8df13287574bac000b7e58dc4f414ba49fb127f9d0f8936638c76e85356c994f79750f7fa3cf4fd482df75e3fb9978cd061f7abb17572e6e63e0bde12cbdcf18c68b979\n\nVerify = RSA-PSS-5\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = ee3de96783fd0a157c8b20bf5566124124dcfe65\nOutput = 0bc989853bc2ea86873271ce183a923ab65e8a53100e6df5d87a24c4194eb797813ee2a187c097dd872d591da60c568605dd7e742d5af4e33b11678ccb63903204a3d080b0902c89aba8868f009c0f1c0cb85810bbdd29121abb8471ff2d39e49fd92d56c655c8e037ad18fafbdc92c95863f7f61ea9efa28fea401369d19daea1\n\nVerify = RSA-PSS-5\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 1204df0b03c2724e2709c23fc71789a21b00ae4c\nOutput = 0aefa943b698b9609edf898ad22744ac28dc239497cea369cbbd84f65c95c0ad776b594740164b59a739c6ff7c2f07c7c077a86d95238fe51e1fcf33574a4ae0684b42a3f6bf677d91820ca89874467b2c23add77969c80717430d0efc1d3695892ce855cb7f7011630f4df26def8ddf36fc23905f57fa6243a485c770d5681fcd\n\nVerify = RSA-PSS-5\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 29926bc3280c841f601acd0d6f17ea38023eddbc\nOutput = 02802dccfa8dfaf5279bf0b4a29ba1b157611faeaaf419b8919d15941900c1339e7e92e6fae562c53e6cc8e84104b110bce03ad18525e3c49a0eadad5d3f28f244a8ed89edbafbb686277cfa8ae909714d6b28f4bf8e293aa04c41efe7c0a81266d5c061e2575be032aa464674ff71626219bd74cc45f0e7ed4e3ff96eee758e8f\n\nPublicKey = RSA-PSS-6\nType = RSA\nInput = 30819f300d06092a864886f70d010101050003818d00308189028181164ca31cff609f3a0e7101b039f2e4fe6dd37519ab98598d179e174996598071f47d3a04559158d7be373cf1aa53f0aa6ef09039e5678c2a4c63900514c8c4f8aaed5de12a5f10b09c311af8c0ffb5b7a297f2efc63b8d6b0510931f0b98e48bf5fc6ec4e7b8db1ffaeb08c38e02adb8f03a48229c99e969431f61cb8c4dc698d10203010001\n\nV", + "erify = RSA-PSS-6\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = ab464e8cb65ae5fdea47a53fa84b234d6bfd52f6\nOutput = 04c0cfacec04e5badbece159a5a1103f69b3f32ba593cb4cc4b1b7ab455916a96a27cd2678ea0f46ba37f7fc9c86325f29733b389f1d97f43e7201c0f348fc45fe42892335362eee018b5b161f2f9393031225c713012a576bc88e23052489868d9010cbf033ecc568e8bc152bdc59d560e41291915d28565208e22aeec9ef85d1\n\nVerify = RSA-PSS-6\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 92d0bcae82b641f578f040f5151be8eda6d42299\nOutput = 0a2314250cf52b6e4e908de5b35646bcaa24361da8160fb0f9257590ab3ace42b0dc3e77ad2db7c203a20bd952fbb56b1567046ecfaa933d7b1000c3de9ff05b7d989ba46fd43bc4c2d0a3986b7ffa13471d37eb5b47d64707bd290cfd6a9f393ad08ec1e3bd71bb5792615035cdaf2d8929aed3be098379377e777ce79aaa4773\n\nVerify = RSA-PSS-6\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 3569bd8fd2e28f2443375efa94f186f6911ffc2b\nOutput = 086df6b500098c120f24ff8423f727d9c61a5c9007d3b6a31ce7cf8f3cbec1a26bb20e2bd4a046793299e03e37a21b40194fb045f90b18bf20a47992ccd799cf9c059c299c0526854954aade8a6ad9d97ec91a1145383f42468b231f4d72f23706d9853c3fa43ce8ace8bfe7484987a1ec6a16c8daf81f7c8bf42774707a9df456\n\nVerify = RSA-PSS-6\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 7abbb7b42de335730a0b641f1e314b6950b84f98\nOutput = 0b5b11ad549863ffa9c51a14a1106c2a72cc8b646e5c7262509786105a984776534ca9b54c1cc64bf2d5a44fd7e8a69db699d5ea52087a4748fd2abc1afed1e5d6f7c89025530bdaa2213d7e030fa55df6f34bcf1ce46d2edf4e3ae4f3b01891a068c9e3a44bbc43133edad6ecb9f35400c4252a5762d65744b99cb9f4c559329f\n\nVerify = RSA-PSS-6\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 55b7eb27be7a787a59eb7e5fac468db8917a7725\nOutput = 02d71fa9b53e4654fefb7f08385cf6b0ae3a817942ebf66c35ac67f0b069952a3ce9c7e1f1b02e480a9500836de5d64cdb7ecde04542f7a79988787e24c2ba05f5fd482c023ed5c30e04839dc44bed2a3a3a4fee01113c891a47d32eb8025c28cb050b5cdb576c70fe76ef523405c08417faf350b037a43c379339fcb18d3a356b\n\nVerify = RSA-PSS-6\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = de2fa0367ef49083ff89b9905d3fd646fcc12c38\nOutput = 0a40a16e2fe2b38d1df90546167cf9469c9e3c3681a3442b4b2c2f581deb385ce99fc6188bb02a841d56e76d301891e24560550fcc2a26b55f4ccb26d837d350a154bcaca8392d98fa67959e9727b78cad03269f56968fc56b68bd679926d83cc9cb215550645ccda31c760ff35888943d2d8a1d351e81e5d07b86182e751081ef\n\nPublicKey = RSA-PSS-7\nType = RSA\nInput = 30819f300d06092a864886f70d010101050003818d0030818902818137c9da4a66c8c408b8da27d0c9d79f8ccb1eafc1d2fe48746d940b7c4ef5dee18ad12647cefaa0c4b3188b221c515386759b93f02024b25ab9242f8357d8f3fd49640ee5e643eaf6c64deefa7089727c8ff03993333915c6ef21bf5975b6e50d118b51008ec33e9f01a0a545a10a836a43ddbca9d8b5c5d3548022d7064ea29ab30203010001\n\nVerify = RSA-PSS-7\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 8be4afbdd76bd8d142c5f4f46dba771ee5d6d29d\nOutput = 187f390723c8902591f0154bae6d4ecbffe067f0e8b795476ea4f4d51ccc810520bb3ca9bca7d0b1f2ea8a17d873fa27570acd642e3808561cb9e975ccfd80b23dc5771cdb3306a5f23159dacbd3aa2db93d46d766e09ed15d900ad897a8d274dc26b47e994a27e97e2268a766533ae4b5e42a2fcaf755c1c4794b294c60555823\n\nVerify = RSA-PSS-7\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 402140dc605b2f5c5ec0d15bce9f9ba8857fe117\nOutput = 10fd89768a60a67788abb5856a787c8561f3edcf9a83e898f7dc87ab8cce79429b43e56906941a886194f137e591fe7c339555361fbbe1f24feb2d4bcdb80601f3096bc9132deea60ae13082f44f9ad41cd628936a4d51176e42fc59cb76db815ce5ab4db99a104aafea68f5d330329ebf258d4ede16064bd1d00393d5e1570eb8\n\nVerify = RSA-PSS-7\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 3e885205892ff2b6b37c2c4eb486c4bf2f9e7f20\nOutput = 2b31fde99859b977aa09586d8e274662b25a2a640640b457f594051cb1e7f7a911865455242926cf88fe80dfa3a75ba9689844a11e634a82b075afbd69c12a0df9d25f84ad4945df3dc8fe90c3cefdf26e95f0534304b5bdba20d3e5640a2ebfb898aac35ae40f26fce5563c2f9f24f3042af76f3c7072d687bbfb959a88460af1\n\nVerify = RSA-PSS-7\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 1fc2201d0c442a4736cd8b2cd00c959c47a3bf42\nOutput = 32c7ca38ff26949a15000c4ba04b2b13b35a3810e568184d7ecabaa166b7ffabddf2b6cf4ba07124923790f2e5b1a5be040aea36fe132ec130e1f10567982d17ac3e89b8d26c3094034e762d2e031264f01170beecb3d1439e05846f25458367a7d9c02060444672671e64e877864559ca19b2074d588a281b5804d23772fbbe19\n\nVerify = RSA-PSS-7\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = e4351b66819e5a31501f89acc7faf57030e9aac5\nOutput = 07eb651d75f1b52bc263b2e198336e99fbebc4f332049a922a10815607ee2d989db3a4495b7dccd38f58a211fb7e193171a3d891132437ebca44f318b280509e52b5fa98fcce8205d9697c8ee4b7ff59d4c59c79038a1970bd2a0d451ecdc5ef11d9979c9d35f8c70a6163717607890d586a7c6dc01c79f86a8f28e85235f8c2f1\n\nVerify = RSA-PSS-7\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 49f6cc58365e514e1a3f301f4de16f9fb5347ff2\nOutput = 18da3cdcfe79bfb77fd9c32f377ad399146f0a8e810620233271a6e3ed3248903f5cdc92dc79b55d3e11615aa056a795853792a3998c349ca5c457e8ca7d29d796aa24f83491709befcfb1510ea513c92829a3f00b104f655634f320752e130ec0ccf6754ff893db302932bb025eb60e87822598fc619e0e981737a9a4c4152d33\n\nPublicKey = RSA-PSS-8\nType = RSA\nInput = 30819f300d06092a864886f70d010101050003818d00308189028181495370a1fb18543c16d3631e3163255df62be6eee890d5f25509e4f778a8ea6fbbbcdf85dff64e0d972003ab3681fbba6dd41fd541829b2e582de9f2a4a4e0a2d0900bef4753db3cee0ee06c7dfae8b1d53b5953218f9cceea695b08668edeaadced9463b1d790d5ebf27e9115b46cad4d9a2b8efab0561b0810344739ada0733f0203010001\n\nVerify = RSA-PSS-8\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = a1dd230d8ead860199b6277c2ecfe3d95f6d9160\nOutput = 0262ac254bfa77f3c1aca22c5179f8f040422b3c5bafd40a8f21cf0fa5a667ccd5993d42dbafb409c520e25fce2b1ee1e716577f1efa17f3da28052f40f0419b23106d7845aaf01125b698e7a4dfe92d3967bb00c4d0d35ba3552ab9a8b3eef07c7fecdbc5424ac4db1e20cb37d0b2744769940ea907e17fbbca673b20522380c5\n\nVerify = RSA-PSS-8\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = f6e68e53c602c5c65fa67b5aa6d786e5524b12ab\nOutput = 2707b9ad5115c58c94e932e8ec0a280f56339e44a1b58d4ddcff2f312e5f34dcfe39e89c6a94dcee86dbbdae5b79ba4e0819a9e7bfd9d982e7ee6c86ee68396e8b3a14c9c8f34b178eb741f9d3f121109bf5c8172fada2e768f9ea1433032c004a8aa07eb990000a48dc94c8bac8aabe2b09b1aa46c0a2aa0e12f63fbba775ba7e\n\nVerify = RSA-PSS-8\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = d6f9fcd3ae27f32bb2c7c93536782eba52af1f76\nOutput = 2ad20509d78cf26d1b6c406146086e4b0c91a91c2bd164c87b966b8faa42aa0ca446022323ba4b1a1b89706d7f4c3be57d7b69702d168ab5955ee290356b8c4a29ed467d547ec23cbadf286ccb5863c6679da467fc9324a151c7ec55aac6db4084f82726825cfe1aa421bc64049fb42f23148f9c25b2dc300437c38d428aa75f96\n\nVerify = RSA-PSS-8\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 7ff2a53ce2e2d900d468e498f230a5f5dd0020de\nOutput = 1e24e6e58628e5175044a9eb6d837d48af1260b0520e87327de7897ee4d5b9f0df0be3e09ed4dea8c1454ff3423bb08e1793245a9df8bf6ab3968c8eddc3b5328571c77f091cc578576912dfebd164b9de5454fe0be1c1f6385b328360ce67ec7a05f6e30eb45c17c48ac70041d2cab67f0a2ae7aafdcc8d245ea3442a6300ccc7\n\nVerify = RSA-PSS-8\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 4eb309f7022ba0b03bb78601b12931ec7c1be8d3\nOutput = 33341ba3576a130a50e2a5cf8679224388d5693f5accc235ac95add68e5eb1eec31666d0ca7a1cda6f70a1aa762c05752a51950cdb8af3c5379f18cfe6b5bc55a4648226a15e912ef19ad77adeea911d67cfefd69ba43fa4119135ff642117ba985a7e0100325e9519f1ca6a9216bda055b5785015291125e90dcd07a2ca9673ee\n\nVerify = RSA-PSS-8\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 65033bc2f67d6aba7d526acb873b8d9241e5e4d9\nOutput = 1ed1d848fb1edb44129bd9b354795af97a069a7a00d0151048593e0c72c3517ff9ff2a41d0cb5a0ac860d736a199704f7cb6a53986a88bbd8abcc0076a2ce847880031525d449da2ac78356374c536e343faa7cba42a5aaa6506087791c06a8e989335aed19bfab2d5e67e27fb0c2875af896c21b6e8e7309d04e4f6727e69463e\n\nPublicKey = RSA-PSS-9\nType = RSA\nInput = 3081df300d06092a864886f70d01010105000381cd003081c90281c100e6bd692ac96645790403fdd0f5beb8b9bf92ed10007fc365046419dd06c05c5b5b2f48ecf989e4ce269109979cbb40b4a0ad24d22483d1ee315ad4ccb1534268352691c524f6dd8e6c29d224cf246973aec86c5bf6b1401a850d1b9ad1bb8cbcec47b06f0f8c7f45d3fc8f319299c5433ddbc2b3053b47ded2ecd4a4caefd614833dc8bb622f317ed076b8057fe8de3f84480ad5e83e4a61904a4f248fb397027357e1d30e463139815c6fd4fd5ac5b8172a45230ecb6318a04f1455d84e5a8b0203010001\n\nVerify = RSA-PSS-9\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 2715a49b8b0012cd7aee84c116446e6dfe3faec0\nOutput = 586107226c3ce013a7c8f04d1a6a2959bb4b8e205ba43a27b50f124111bc35ef589b039f5932187cb696d7d9a32c0c38300a5cdda4834b62d2eb240af33f79d13dfbf095bf599e0d9686948c1964", + "747b67e89c9aba5cd85016236f566cc5802cb13ead51bc7ca6bef3b94dcbdbb1d570469771df0e00b1a8a06777472d2316279edae86474668d4e1efff95f1de61c6020da32ae92bbf16520fef3cf4d88f61121f24bbd9fe91b59caf1235b2a93ff81fc403addf4ebdea84934a9cdaf8e1a9e\n\nVerify = RSA-PSS-9\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 2dac956d53964748ac364d06595827c6b4f143cd\nOutput = 80b6d643255209f0a456763897ac9ed259d459b49c2887e5882ecb4434cfd66dd7e1699375381e51cd7f554f2c271704b399d42b4be2540a0eca61951f55267f7c2878c122842dadb28b01bd5f8c025f7e228418a673c03d6bc0c736d0a29546bd67f786d9d692ccea778d71d98c2063b7a71092187a4d35af108111d83e83eae46c46aa34277e06044589903788f1d5e7cee25fb485e92949118814d6f2c3ee361489016f327fb5bc517eb50470bffa1afa5f4ce9aa0ce5b8ee19bf5501b958\n\nVerify = RSA-PSS-9\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 28d98c46cccafbd3bc04e72f967a54bd3ea12298\nOutput = 484408f3898cd5f53483f80819efbf2708c34d27a8b2a6fae8b322f9240237f981817aca1846f1084daa6d7c0795f6e5bf1af59c38e1858437ce1f7ec419b98c8736adf6dd9a00b1806d2bd3ad0a73775e05f52dfef3a59ab4b08143f0df05cd1ad9d04bececa6daa4a2129803e200cbc77787caf4c1d0663a6c5987b605952019782caf2ec1426d68fb94ed1d4be816a7ed081b77e6ab330b3ffc073820fecde3727fcbe295ee61a050a343658637c3fd659cfb63736de32d9f90d3c2f63eca\n\nVerify = RSA-PSS-9\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 0866d2ff5a79f25ef668cd6f31b42dee421e4c0e\nOutput = 84ebeb481be59845b46468bafb471c0112e02b235d84b5d911cbd1926ee5074ae0424495cb20e82308b8ebb65f419a03fb40e72b78981d88aad143053685172c97b29c8b7bf0ae73b5b2263c403da0ed2f80ff7450af7828eb8b86f0028bd2a8b176a4d228cccea18394f238b09ff758cc00bc04301152355742f282b54e663a919e709d8da24ade5500a7b9aa50226e0ca52923e6c2d860ec50ff480fa57477e82b0565f4379f79c772d5c2da80af9fbf325ece6fc20b00961614bee89a183e\n\nVerify = RSA-PSS-9\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 6a5b4be4cd36cc97dfde9995efbf8f097a4a991a\nOutput = 82102df8cb91e7179919a04d26d335d64fbc2f872c44833943241de8454810274cdf3db5f42d423db152af7135f701420e39b494a67cbfd19f9119da233a23da5c6439b5ba0d2bc373eee3507001378d4a4073856b7fe2aba0b5ee93b27f4afec7d4d120921c83f606765b02c19e4d6a1a3b95fa4c422951be4f52131077ef17179729cddfbdb56950dbaceefe78cb16640a099ea56d24389eef10f8fecb31ba3ea3b227c0a86698bb89e3e9363905bf22777b2a3aa521b65b4cef76d83bde4c\n\nVerify = RSA-PSS-9\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = b9dfd1df76a461c51e6576c6c8ed0a923d1c50e7\nOutput = a7fdb0d259165ca2c88d00bbf1028a867d337699d061193b17a9648e14ccbbaadeacaacdec815e7571294ebb8a117af205fa078b47b0712c199e3ad05135c504c24b81705115740802487992ffd511d4afc6b854491eb3f0dd523139542ff15c3101ee85543517c6a3c79417c67e2dd9aa741e9a29b06dcb593c2336b3670ae3afbac7c3e76e215473e866e338ca244de00b62624d6b9426822ceae9f8cc460895f41250073fd45c5a1e7b425c204a423a699159f6903e710b37a7bb2bc8049f\n\nPublicKey = RSA-PSS-10\nType = RSA\nInput = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100a5dd867ac4cb02f90b9457d48c14a770ef991c56c39c0ec65fd11afa8937cea57b9be7ac73b45c0017615b82d622e318753b6027c0fd157be12f8090fee2a7adcd0eef759f88ba4997c7a42d58c9aa12cb99ae001fe521c13bb5431445a8d5ae4f5e4c7e948ac227d3604071f20e577e905fbeb15dfaf06d1de5ae6253d63a6a2120b31a5da5dabc9550600e20f27d3739e2627925fea3cc509f21dff04e6eea4549c540d6809ff9307eede91fff58733d8385a237d6d3705a33e391900992070df7adf1357cf7e3700ce3667de83f17b8df1778db381dce09cb4ad058a511001a738198ee27cf55a13b754539906582ec8b174bd58d5d1f3d767c613721ae050203010001\n\nVerify = RSA-PSS-10\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 9596bb630cf6a8d4ea4600422b9eba8b13675dd4\nOutput = 82c2b160093b8aa3c0f7522b19f87354066c77847abf2a9fce542d0e84e920c5afb49ffdfdace16560ee94a1369601148ebad7a0e151cf16331791a5727d05f21e74e7eb811440206935d744765a15e79f015cb66c532c87a6a05961c8bfad741a9a6657022894393e7223739796c02a77455d0f555b0ec01ddf259b6207fd0fd57614cef1a5573baaff4ec00069951659b85f24300a25160ca8522dc6e6727e57d019d7e63629b8fe5e89e25cc15beb3a647577559299280b9b28f79b0409000be25bbd96408ba3b43cc486184dd1c8e62553fa1af4040f60663de7f5e49c04388e257f1ce89c95dab48a315d9b66b1b7628233876ff2385230d070d07e1666\n\nVerify = RSA-PSS-10\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = b503319399277fd6c1c8f1033cbf04199ea21716\nOutput = 14ae35d9dd06ba92f7f3b897978aed7cd4bf5ff0b585a40bd46ce1b42cd2703053bb9044d64e813d8f96db2dd7007d10118f6f8f8496097ad75e1ff692341b2892ad55a633a1c55e7f0a0ad59a0e203a5b8278aec54dd8622e2831d87174f8caff43ee6c46445345d84a59659bfb92ecd4c818668695f34706f66828a89959637f2bf3e3251c24bdba4d4b7649da0022218b119c84e79a6527ec5b8a5f861c159952e23ec05e1e717346faefe8b1686825bd2b262fb2531066c0de09acde2e4231690728b5d85e115a2f6b92b79c25abc9bd9399ff8bcf825a52ea1f56ea76dd26f43baafa18bfa92a504cbd35699e26d1dcc5a2887385f3c63232f06f3244c3\n\nVerify = RSA-PSS-10\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 50aaede8536b2c307208b275a67ae2df196c7628\nOutput = 6e3e4d7b6b15d2fb46013b8900aa5bbb3939cf2c095717987042026ee62c74c54cffd5d7d57efbbf950a0f5c574fa09d3fc1c9f513b05b4ff50dd8df7edfa20102854c35e592180119a70ce5b085182aa02d9ea2aa90d1df03f2daae885ba2f5d05afdac97476f06b93b5bc94a1a80aa9116c4d615f333b098892b25fface266f5db5a5a3bcc10a824ed55aad35b727834fb8c07da28fcf416a5d9b2224f1f8b442b36f91e456fdea2d7cfe3367268de0307a4c74e924159ed33393d5e0655531c77327b89821bdedf880161c78cd4196b5419f7acc3f13e5ebf161b6e7c6724716ca33b85c2e25640192ac2859651d50bde7eb976e51cec828b98b6563b86bb\n\nVerify = RSA-PSS-10\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = aa0b72b8b371ddd10c8ae474425ccccf8842a294\nOutput = 34047ff96c4dc0dc90b2d4ff59a1a361a4754b255d2ee0af7d8bf87c9bc9e7ddeede33934c63ca1c0e3d262cb145ef932a1f2c0a997aa6a34f8eaee7477d82ccf09095a6b8acad38d4eec9fb7eab7ad02da1d11d8e54c1825e55bf58c2a23234b902be124f9e9038a8f68fa45dab72f66e0945bf1d8bacc9044c6f07098c9fcec58a3aab100c805178155f030a124c450e5acbda47d0e4f10b80a23f803e774d023b0015c20b9f9bbe7c91296338d5ecb471cafb032007b67a60be5f69504a9f01abb3cb467b260e2bce860be8d95bf92c0c8e1496ed1e528593a4abb6df462dde8a0968dffe4683116857a232f5ebf6c85be238745ad0f38f767a5fdbf486fb\n\nVerify = RSA-PSS-10\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = fad3902c9750622a2bc672622c48270cc57d3ea8\nOutput = 7e0935ea18f4d6c1d17ce82eb2b3836c55b384589ce19dfe743363ac9948d1f346b7bfddfe92efd78adb21faefc89ade42b10f374003fe122e67429a1cb8cbd1f8d9014564c44d120116f4990f1a6e38774c194bd1b8213286b077b0499d2e7b3f434ab12289c556684deed78131934bb3dd6537236f7c6f3dcb09d476be07721e37e1ceed9b2f7b406887bd53157305e1c8b4f84d733bc1e186fe06cc59b6edb8f4bd7ffefdf4f7ba9cfb9d570689b5a1a4109a746a690893db3799255a0cb9215d2d1cd490590e952e8c8786aa0011265252470c041dfbc3eec7c3cbf71c24869d115c0cb4a956f56d530b80ab589acfefc690751ddf36e8d383f83cedd2cc\n\nVerify = RSA-PSS-10\nRSAPadding = PSS\nMGF1Digest = SHA1\nInput = 122196deb5d122bd8c6fc781ff6924d7c695aade\nOutput = 6d3b5b87f67ea657af21f75441977d2180f91b2c5f692de82955696a686730d9b9778d970758ccb26071c2209ffbd6125be2e96ea81b67cb9b9308239fda17f7b2b64ecda096b6b935640a5a1cb42a9155b1c9ef7a633a02c59f0d6ee59b852c43b35029e73c940ff0410e8f114eed46bbd0fae165e42be2528a401c3b28fd818ef3232dca9f4d2a0f5166ec59c42396d6c11dbc1215a56fa17169db9575343ef34f9de32a49cdc3174922f229c23e18e45df9353119ec4319cedce7a17c64088c1f6f52be29634100b3919d38f3d1ed94e6891e66a73b8fb849f5874df59459e298c7bbce2eee782a195aa66fe2d0732b25e595f57d3e061b1fc3e4063bf98f\n\nPrivateKey = RSA-OAEP-1\nType = RSA\nInput = 30820276020100300d06092a864886f70d0101010500048202603082025c02010002818100a8b3b284af8eb50b387034a860f146c4919f318763cd6c5598c8ae4811a1e0abc4c7e0b082d693a5e7fced675cf4668512772c0cbc64a742c6c630f533c8cc72f62ae833c40bf25842e984bb78bdbf97c0107d55bdb662f5c4e0fab9845cb5148ef7392dd3aaff93ae1e6b667bb3d4247616d4f5ba10d4cfd226de88d39f16fb020301000102818053339cfdb79fc8466a655c7316aca85c55fd8f6dd898fdaf119517ef4f52e8fd8e258df93fee180fa0e4ab29693cd83b152a553d4ac4d1812b8b9fa5af0e7f55fe7304df41570926f3311f15c4d65a732c483116ee3d3d2d0af3549ad9bf7cbfb78ad884f84d5beb04724dc7369b31def37d0cf539e9cfcdd3de653729ead5d1024100d32737e7267ffe1341b2d5c0d150a81b586fb3132bed2f8d5262864a9cb9f30af38be448598d413a172efb802c21acf1c11c520c2f26a471dcad212eac7ca39d024100cc8853d1d54da630fac004f471f281c7b8982d8224a490edbeb33d3e3d5cc93c4765703d1dd791642f1f116a0dd852be2419b2af72bfe9a030e860b0288b5d7702400e12bf1718e9cef5599ba1c3882fe8046a90874eefce8f2ccc20e4f2741fb0a33a3848aec9c9305fbecbd2d76819967d4671acc6431e4037968db37878e695c102410095297b0f95a2fa67d00707d609d", + "fd4fc05c89dafc2ef6d6ea55bec771ea333734d9251e79082ecda866efef13c459e1a631386b7e354c899f5f112ca85d7158302404f456c502493bdc0ed2ab756a3a6ed4d67352a697d4216e93212b127a63d5411ce6fa98d5dbefd73263e3728142743818166ed7dd63687dd2a8ca1d2f4fbd8e1\n\nDecrypt = RSA-OAEP-1\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 354fe67b4a126d5d35fe36c777791a3f7ba13def484e2d3908aff722fad468fb21696de95d0be911c2d3174f8afcc201035f7b6d8e69402de5451618c21a535fa9d7bfc5b8dd9fc243f8cf927db31322d6e881eaa91a996170e657a05a266426d98c88003f8477c1227094a0d9fa1e8c4024309ce1ecccb5210035d47ac72e8a\nOutput = 6628194e12073db03ba94cda9ef9532397d50dba79b987004afefe34\n\nDecrypt = RSA-OAEP-1\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 640db1acc58e0568fe5407e5f9b701dff8c3c91e716c536fc7fcec6cb5b71c1165988d4a279e1577d730fc7a29932e3f00c81515236d8d8e31017a7a09df4352d904cdeb79aa583adcc31ea698a4c05283daba9089be5491f67c1a4ee48dc74bbbe6643aef846679b4cb395a352d5ed115912df696ffe0702932946d71492b44\nOutput = 750c4047f547e8e41411856523298ac9bae245efaf1397fbe56f9dd5\n\nDecrypt = RSA-OAEP-1\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 423736ed035f6026af276c35c0b3741b365e5f76ca091b4e8c29e2f0befee603595aa8322d602d2e625e95eb81b2f1c9724e822eca76db8618cf09c5343503a4360835b5903bc637e3879fb05e0ef32685d5aec5067cd7cc96fe4b2670b6eac3066b1fcf5686b68589aafb7d629b02d8f8625ca3833624d4800fb081b1cf94eb\nOutput = d94ae0832e6445ce42331cb06d531a82b1db4baad30f746dc916df24d4e3c2451fff59a6423eb0e1d02d4fe646cf699dfd818c6e97b051\n\nDecrypt = RSA-OAEP-1\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 45ead4ca551e662c9800f1aca8283b0525e6abae30be4b4aba762fa40fd3d38e22abefc69794f6ebbbc05ddbb11216247d2f412fd0fba87c6e3acd888813646fd0e48e785204f9c3f73d6d8239562722dddd8771fec48b83a31ee6f592c4cfd4bc88174f3b13a112aae3b9f7b80e0fc6f7255ba880dc7d8021e22ad6a85f0755\nOutput = 52e650d98e7f2a048b4f86852153b97e01dd316f346a19f67a85\n\nDecrypt = RSA-OAEP-1\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 36f6e34d94a8d34daacba33a2139d00ad85a9345a86051e73071620056b920e219005855a213a0f23897cdcd731b45257c777fe908202befdd0b58386b1244ea0cf539a05d5d10329da44e13030fd760dcd644cfef2094d1910d3f433e1c7c6dd18bc1f2df7f643d662fb9dd37ead9059190f4fa66ca39e869c4eb449cbdc439\nOutput = 8da89fd9e5f974a29feffb462b49180f6cf9e802\n\nDecrypt = RSA-OAEP-1\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 42cee2617b1ecea4db3f4829386fbd61dafbf038e180d837c96366df24c097b4ab0fac6bdf590d821c9f10642e681ad05b8d78b378c0f46ce2fad63f74e0ad3df06b075d7eb5f5636f8d403b9059ca761b5c62bb52aa45002ea70baace08ded243b9d8cbd62a68ade265832b56564e43a6fa42ed199a099769742df1539e8255\nOutput = 26521050844271\n\nPrivateKey = RSA-OAEP-2\nType = RSA\nInput = 30820276020100300d06092a864886f70d0101010500048202603082025c02010002818101947c7fce90425f47279e70851f25d5e62316fe8a1df19371e3e628e260543e4901ef6081f68c0b8141190d2ae8daba7d1250ec6db636e944ec3722877c7c1d0a67f14b1694c5f0379451a43e49a32dde83670b73da91a1c99bc23b436a60055c610f0baf99c1a079565b95a3f1526632d1d4da60f20eda25e653c4f002766f4502030100010281800823f20fadb5da89088a9d00893e21fa4a1b11fbc93c64a3be0baaea97fb3b93c3ff713704c19c963c1d107aae99054739f79e02e186de86f87a6ddefea6d8ccd1d3c81a47bfa7255be20601a4a4b2f08a167b5e279d715b1b455bdd7eab245941d9768b9acefb3ccda5952da3cee72525b4501663a8ee15c9e992d92462fe3902410159dbde04a33ef06fb608b80b190f4d3e22bcc13ac8e4a081033abfa416edb0b338aa08b57309ea5a5240e7dc6e54378c69414c31d97ddb1f406db3769cc41a430241012b652f30403b38b40995fd6ff41a1acc8ada70373236b7202d39b2ee30cfb46db09511f6f307cc61cc21606c18a75b8a62f822df031ba0df0dafd5506f568bd70240436ef508de736519c2da4c580d98c82cb7452a3fb5efadc3b9c7789a1bc6584f795addbbd32439c74686552ecb6c2c307a4d3af7f539eec157248c7b31f1a2550241012b15a89f3dfb2b39073e73f02bdd0c1a7b379dd435f05cdde2eff9e462948b7cec62ee9050d5e0816e0785a856b49108dcb75f3683874d1ca6329a19013066ff02400270db17d5914b018d76118b24389a7350ec836b0063a21721236fd8edb6d89b51e7eeb87b611b7132cb7ea7356c23151c1e7751507c786d9ee1794170a8c8e8\n\nDecrypt = RSA-OAEP-2\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 0181af8922b9fcb4d79d92ebe19815992fc0c1439d8bcd491398a0f4ad3a329a5bd9385560db532683c8b7da04e4b12aed6aacdf471c34c9cda891addcc2df3456653aa6382e9ae59b54455257eb099d562bbe10453f2b6d13c59c02e10f1f8abb5da0d0570932dacf2d0901db729d0fefcc054e70968ea540c81b04bcaefe720e\nOutput = 8ff00caa605c702830634d9a6c3d42c652b58cf1d92fec570beee7\n\nDecrypt = RSA-OAEP-2\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 018759ff1df63b2792410562314416a8aeaf2ac634b46f940ab82d64dbf165eee33011da749d4bab6e2fcd18129c9e49277d8453112b429a222a8471b070993998e758861c4d3f6d749d91c4290d332c7a4ab3f7ea35ff3a07d497c955ff0ffc95006b62c6d296810d9bfab024196c7934012c2df978ef299aba239940cba10245\nOutput = 2d\n\nDecrypt = RSA-OAEP-2\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 018802bab04c60325e81c4962311f2be7c2adce93041a00719c88f957575f2c79f1b7bc8ced115c706b311c08a2d986ca3b6a9336b147c29c6f229409ddec651bd1fdd5a0b7f610c9937fdb4a3a762364b8b3206b4ea485fd098d08f63d4aa8bb2697d027b750c32d7f74eaf5180d2e9b66b17cb2fa55523bc280da10d14be2053\nOutput = 74fc88c51bc90f77af9d5e9a4a70133d4b4e0b34da3c37c7ef8e\n\nDecrypt = RSA-OAEP-2\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 00a4578cbc176318a638fba7d01df15746af44d4f6cd96d7e7c495cbf425b09c649d32bf886da48fbaf989a2117187cafb1fb580317690e3ccd446920b7af82b31db5804d87d01514acbfa9156e782f867f6bed9449e0e9a2c09bcecc6aa087636965e34b3ec766f2fe2e43018a2fddeb140616a0e9d82e5331024ee0652fc7641\nOutput = a7eb2a5036931d27d4e891326d99692ffadda9bf7efd3e34e622c4adc085f721dfe885072c78a203b151739be540fa8c153a10f00a\n\nDecrypt = RSA-OAEP-2\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 00ebc5f5fda77cfdad3c83641a9025e77d72d8a6fb33a810f5950f8d74c73e8d931e8634d86ab1246256ae07b6005b71b7f2fb98351218331ce69b8ffbdc9da08bbc9c704f876deb9df9fc2ec065cad87f9090b07acc17aa7f997b27aca48806e897f771d95141fe4526d8a5301b678627efab707fd40fbebd6e792a25613e7aec\nOutput = 2ef2b066f854c33f3bdcbb5994a435e73d6c6c\n\nDecrypt = RSA-OAEP-2\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 010839ec20c27b9052e55befb9b77e6fc26e9075d7a54378c646abdf51e445bd5715de81789f56f1803d9170764a9e93cb78798694023ee7393ce04bc5d8f8c5a52c171d43837e3aca62f609eb0aa5ffb0960ef04198dd754f57f7fbe6abf765cf118b4ca443b23b5aab266f952326ac4581100644325f8b721acd5d04ff14ef3a\nOutput = 8a7fb344c8b6cb2cf2ef1f643f9a3218f6e19bba89c0\n\nPrivateKey = RSA-OAEP-3\nType = RSA\nInput = 30820277020100300d06092a864886f70d0101010500048202613082025d02010002818102b58fec039a860700a4d7b6462f93e6cdd491161ddd74f4e810b40e3c1652006a5c277b2774c11305a4cbab5a78efa57e17a86df7a3fa36fc4b1d2249f22ec7c2dd6a463232accea906d66ebe80b5704b10729da6f833234abb5efdd4a292cbfad33b4d33fa7a14b8c397b56e3acd21203428b77cdfa33a6da706b3d8b0fc43e9020301000102818015b48a5b5683a94670e23b5718f814fa0e13f85038f50711182cba61510581f3d22c7e232ef937e22e551d68b86e2f8cb1aad8be2e488f5df7efd279e3f568d4eaf36f80cf7141ace60fcc9113fb6c4a841fd50bbc7c512ffcbeff21487aa811eb3ca8c62005346a86de86bfa1d8a948fd3f348c22eaadf333c3ce6ce13208fd024101bf01d216d73595cf0270c2beb78d40a0d8447d31da919a983f7eea781b77d85fe371b3e9373e7b69217d3150a02d8958de7fad9d555160958b4454127e0e7eaf0241018d3399658166db3829816d7b295416759e9c91987f5b2d8aecd63b04b48bd7b2fcf229bb7f8a6dc88ba13dd2e39ad55b6d1a06160708f9700be80b8fd3744ce7024006c0a249d20a6f2ee75c88b494d53f6aae99aa427c88c28b163a769445e5f390cf40c274fd6ea6329a5ce7c7ce03a2158396ee2a7845786e09e2885a9728e4e5024100d1d27c29fedd92d86c348edd0ccbfac14f746e051ce1d1811df35d61f2ee1c97d4bf2804802f6427187ba8e90a8af44243b4079b03445e602e29fa5193e64fe90241008cb2f756bd8941b1d3b770e5ad31ee373b28acda69ff9b6f40fe578b9f1afb85836f9627d37acff73c2779e634bb26011c2c8f7f3361ae2a9ea65ed689e3639a\n\nDecrypt = RSA-OAEP-3\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 026a0485d96aebd96b4382085099b962e6a2bdec3d90c8db625e14372de85e2d5b7baab65c8faf91bb5504fb495afce5c988b3f6a52e20e1d6cbd3566c5cd1f2b8318bb542cc0ea25c4aab9932afa20760eaddec784396a07ea0ef24d4e6f4d37e5052a7a31e146aa480a111bbe926401307e00f410033842b6d82fe5ce4dfae80\nOutput = 087820b569e8fa8d\n\nDecrypt = RSA-OAEP-3\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 024db89c7802989be0783847863084941bf209d761987e38f97cb5f6f1bc88da72a50b73ebaf11c879c4f95df37b850b8f65d7622e25b1b889e80fe80baca2069d6e0e1d829953fc459069de98ea9798b451e557e99abf8fe3d9ccf9096ebbf3e5255d3b4e1c6d2ecadf067a359eea86405acd47d5e165517ccafd47d6dbee4bf5\nOutput = 4653acaf17196", + "0b01f52a7be63a3ab21dc368ec43b50d82ec3781e04\n\nDecrypt = RSA-OAEP-3\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 0239bce681032441528877d6d1c8bb28aa3bc97f1df584563618995797683844ca86664732f4bed7a0aab083aaabfb7238f582e30958c2024e44e57043b97950fd543da977c90cdde5337d618442f99e60d7783ab59ce6dd9d69c47ad1e962bec22d05895cff8d3f64ed5261d92b2678510393484990ba3f7f06818ae6ffce8a3a\nOutput = d94cd0e08fa404ed89\n\nDecrypt = RSA-OAEP-3\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 02994c62afd76f498ba1fd2cf642857fca81f4373cb08f1cbaee6f025c3b512b42c3e8779113476648039dbe0493f9246292fac28950600e7c0f32edf9c81b9dec45c3bde0cc8d8847590169907b7dc5991ceb29bb0714d613d96df0f12ec5d8d3507c8ee7ae78dd83f216fa61de100363aca48a7e914ae9f42ddfbe943b09d9a0\nOutput = 6cc641b6b61e6f963974dad23a9013284ef1\n\nDecrypt = RSA-OAEP-3\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 0162042ff6969592a6167031811a239834ce638abf54fec8b99478122afe2ee67f8c5b18b0339805bfdbc5a4e6720b37c59cfba942464c597ff532a119821545fd2e59b114e61daf71820529f5029cf524954327c34ec5e6f5ba7efcc4de943ab8ad4ed787b1454329f70db798a3a8f4d92f8274e2b2948ade627ce8ee33e43c60\nOutput = df5151832b61f4f25891fb4172f328d2eddf8371ffcfdbe997939295f30eca6918017cfda1153bf7a6af87593223\n\nDecrypt = RSA-OAEP-3\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 00112051e75d064943bc4478075e43482fd59cee0679de6893eec3a943daa490b9691c93dfc0464b6623b9f3dbd3e70083264f034b374f74164e1a00763725e574744ba0b9db83434f31df96f6e2a26f6d8eba348bd4686c2238ac07c37aac3785d1c7eea2f819fd91491798ed8e9cef5e43b781b0e0276e37c43ff9492d005730\nOutput = 3c3bad893c544a6d520ab022319188c8d504b7a788b850903b85972eaa18552e1134a7ad6098826254ff7ab672b3d8eb3158fac6d4cbaef1\n\nPrivateKey = RSA-OAEP-4\nType = RSA\nInput = 30820277020100300d06092a864886f70d0101010500048202613082025d020100028181051240b6cc0004fa48d0134671c078c7c8dec3b3e2f25bc2564467339db38853d06b85eea5b2de353bff42ac2e46bc97fae6ac9618da9537a5c8f553c1e357625991d6108dcd7885fb3a25413f53efcad948cb35cd9b9ae9c1c67626d113d57dde4c5bea76bb5bb7de96c00d07372e9685a6d75cf9d239fa148d70931b5f3fb03902030100010281800411ffca3b7ca5e9e9be7fe38a85105e353896db05c5796aecd2a725161eb3651c8629a9b862b904d7b0c7b37f8cb5a1c2b54001018a00a1eb2cafe4ee4e9492c348bc2bedab4b9ebbf064e8eff322b9009f8eec653905f40df88a3cdc49d4567f75627d41aca624129b46a0b7c698e5e65f2b7ba102c749a10135b6540d04010241027458c19ec1636919e736c9af25d609a51b8f561d19c6bf6943dd1ee1ab8a4a3f232100bd40b88decc6ba235548b6ef792a11c9de823d0a7922c7095b6eba570102410210ee9b33ab61716e27d251bd465f4b35a1a232e2da00901c294bf22350ce490d099f642b5375612db63ba1f20386492bf04d34b3c22bceb909d13441b53b5139024039fa028b826e88c1121b750a8b242fa9a35c5b66bdfd1fa637d3cc48a84a4f457a194e7727e49f7bcc6e5a5a412657fc470c7322ebc37416ef458c307a8c09010241015d99a84195943979fa9e1be2c3c1b69f432f46fd03e47d5befbbbfd6b1d1371d83efb330a3e020942b2fed115e5d02be24fd92c9019d1cecd6dd4cf1e54cc899024101f0b7015170b3f5e42223ba30301c41a6d87cbb70e30cb7d3c67d25473db1f6cbf03e3f9126e3e97968279a865b2c2b426524cfc52a683d31ed30eb984be412ba\n\nDecrypt = RSA-OAEP-4\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 04cce19614845e094152a3fe18e54e3330c44e5efbc64ae16886cb1869014cc5781b1f8f9e045384d0112a135ca0d12e9c88a8e4063416deaae3844f60d6e96fe155145f4525b9a34431ca3766180f70e15a5e5d8e8b1a516ff870609f13f896935ced188279a58ed13d07114277d75c6568607e0ab092fd803a223e4a8ee0b1a8\nOutput = 4a86609534ee434a6cbca3f7e962e76d455e3264c19f605f6e5ff6137c65c56d7fb344cd52bc93374f3d166c9f0c6f9c506bad19330972d2\n\nDecrypt = RSA-OAEP-4\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 0097b698c6165645b303486fbf5a2a4479c0ee85889b541a6f0b858d6b6597b13b854eb4f839af03399a80d79bda6578c841f90d645715b280d37143992dd186c80b949b775cae97370e4ec97443136c6da484e970ffdb1323a20847821d3b18381de13bb49aaea66530c4a4b8271f3eae172cd366e07e6636f1019d2a28aed15e\nOutput = b0adc4f3fe11da59ce992773d9059943c03046497ee9d9f9a06df1166db46d98f58d27ec074c02eee6cbe2449c8b9fc5080c5c3f4433092512ec46aa793743c8\n\nDecrypt = RSA-OAEP-4\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 0301f935e9c47abcb48acbbe09895d9f5971af14839da4ff95417ee453d1fd77319072bb7297e1b55d7561cd9d1bb24c1a9a37c619864308242804879d86ebd001dce5183975e1506989b70e5a83434154d5cbfd6a24787e60eb0c658d2ac193302d1192c6e622d4a12ad4b53923bca246df31c6395e37702c6a78ae081fb9d065\nOutput = bf6d42e701707b1d0206b0c8b45a1c72641ff12889219a82bdea965b5e79a96b0d0163ed9d578ec9ada20f2fbcf1ea3c4089d83419ba81b0c60f3606da99\n\nDecrypt = RSA-OAEP-4\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 02d110ad30afb727beb691dd0cf17d0af1a1e7fa0cc040ec1a4ba26a42c59d0a796a2e22c8f357ccc98b6519aceb682e945e62cb734614a529407cd452bee3e44fece8423cc19e55548b8b994b849c7ecde4933e76037e1d0ce44275b08710c68e430130b929730ed77e09b015642c5593f04e4ffb9410798102a8e96ffdfe11e4\nOutput = fb2ef112f5e766eb94019297934794f7be2f6fc1c58e\n\nDecrypt = RSA-OAEP-4\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 00dbb8a7439d90efd919a377c54fae8fe11ec58c3b858362e23ad1b8a44310799066b99347aa525691d2adc58d9b06e34f288c170390c5f0e11c0aa3645959f18ee79e8f2be8d7ac5c23d061f18dd74b8c5f2a58fcb5eb0c54f99f01a83247568292536583340948d7a8c97c4acd1e98d1e29dc320e97a260532a8aa7a758a1ec2\nOutput = 28ccd447bb9e85166dabb9e5b7d1adadc4b9d39f204e96d5e440ce9ad928bc1c2284\n\nDecrypt = RSA-OAEP-4\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 00a5ffa4768c8bbecaee2db77e8f2eec99595933545520835e5ba7db9493d3e17cddefe6a5f567624471908db4e2d83a0fbee60608fc84049503b2234a07dc83b27b22847ad8920ff42f674ef79b76280b00233d2b51b8cb2703a9d42bfbc8250c96ec32c051e57f1b4ba528db89c37e4c54e27e6e64ac69635ae887d9541619a9\nOutput = f22242751ec6b1\n\nPrivateKey = RSA-OAEP-5\nType = RSA\nInput = 30820279020100300d06092a864886f70d0101010500048202633082025f0201000281810aadf3f9c125e5d891f31ac448e993defe580f802b45f9d7f22ba5021e9c47576b5a1e68031ba9db4e6dabe4d96a1d6f3d267268cff408005f118efcadb99888d1c234467166b2a2b849a05a889c060ac0da0c5fae8b55f309ba62e703742fa0326f2d10b011021489ff497770190d895fd39f52293c39efd73a698bdab9f10ed902030100010281810256eb4cba7067f2d2be540dcdff4582a36b7d31d1c9099bb214b79848466a268f80f58a49ac04c0e3648934a0206c04537c19b236643a6082732144df75fa217588f794682be89168276dc726c5c0cbdb84d31bbf26d0a43af495717f7d528acfee341561f6ff3cae05c578f8470d9682f9c0d072f9f6068b56d5880f682be2c5024103b0d3962f6d17549cbfca11294348dcf0e7e39f8c2bc6824f2164b606d687860dae1e632393cfedf513228229069e2f60e4acd7e633a436063f82385f48993707024102e4c32e2f517269b7072309f00c0e31365f7ce28b236b82912df239abf39572cf0ed604b02982e53564c52d6a05397de5c052a2fddc141ef7189836346aeb331f024101e84b119d25161fa67b00256a5bd9b645d2b232ecb05b015180029a88622adc3f09b3aeacde6161ab7cde22c2ad26e7797df54e072cbd3b2673800b3e4338dbd5024100eb90aa1a40135b4cea07197cedc8819be1e7cbff2547662116f465a4a9f487ab12f3ba4fef13822265a65297d98b7bded9372e3ffe81a38b3e9600fed055754f0241012f7f8138f9404062eb85a42924520b38f5bb886a0196f48bb8dcea60fd92cc027f18e78158a34a5c5d5f860a0f6c04071a7d01312c065062f1eb48b79d1c83cb\n\nDecrypt = RSA-OAEP-5\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 036046a4a47d9ed3ba9a89139c105038eb7492b05a5d68bfd53accff4597f7a68651b47b4a4627d927e485eed7b4566420e8b409879e5d606eae251d22a5df799f7920bfc117b992572a53b1263146bcea03385cc5e853c9a101c8c3e1bda31a519807496c6cb5e5efb408823a352b8fa0661fb664efadd593deb99fff5ed000e5\nOutput = af71a901e3a61d3132f0fc1fdb474f9ea6579257ffc24d164170145b3dbde8\n\nDecrypt = RSA-OAEP-5\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 03d6eb654edce615bc59f455265ed4e5a18223cbb9be4e4069b473804d5de96f54dcaaa603d049c5d94aa1470dfcd2254066b7c7b61ff1f6f6770e3215c51399fd4e34ec5082bc48f089840ad04354ae66dc0f1bd18e461a33cc1258b443a2837a6df26759aa2302334986f87380c9cc9d53be9f99605d2c9a97da7b0915a4a7ad\nOutput = a3b844a08239a8ac41605af17a6cfda4d350136585903a417a79268760519a4b4ac3303ec73f0f87cfb32399\n\nDecrypt = RSA-OAEP-5\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 0770952181649f9f9f07ff626ff3a22c35c462443d905d456a9fd0bff43cac2ca7a9f554e9478b9acc3ac838b02040ffd3e1847de2e4253929f9dd9ee4044325a9b05cabb808b2ee840d34e15d105a3f1f7b27695a1a07a2d73fe08ecaaa3c9c9d4d5a89ff890d54727d7ae40c0ec1a8dd86165d8ee2c6368141016a48b55b6967\nOutput = 308b0ecbd2c76cb77fc6f70c5edd233fd2f20929d629f026953bb62a8f4a3a314bde195de85b5f816da2aab074d26cb6acddf323ae3b9c678ac3cf12fbdde7\n\nDecrypt = RSA-OAEP-5\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 0812b76768ebcb642d040258e5f4441a018521bd96687e6c5e899fcd6c17588ff59a8", + "2cc8ae03a4b45b31299af1788c329f7dcd285f8cf4ced82606b97612671a45bedca133442144d1617d114f802857f0f9d739751c57a3f9ee400912c61e2e6992be031a43dd48fa6ba14eef7c422b5edc4e7afa04fdd38f402d1c8bb719abf\nOutput = 15c5b9ee1185\n\nDecrypt = RSA-OAEP-5\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 07b60e14ec954bfd29e60d0047e789f51d57186c63589903306793ced3f68241c743529aba6a6374f92e19e0163efa33697e196f7661dfaaa47aac6bde5e51deb507c72c589a2ca1693d96b1460381249b2cdb9eac44769f2489c5d3d2f99f0ee3c7ee5bf64a5ac79c42bd433f149be8cb59548361640595513c97af7bc2509723\nOutput = 21026e6800c7fa728fcaaba0d196ae28d7a2ac4ffd8abce794f0985f60c8a6737277365d3fea11db8923a2029a\n\nDecrypt = RSA-OAEP-5\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 08c36d4dda33423b2ed6830d85f6411ba1dcf470a1fae0ebefee7c089f256cef74cb96ea69c38f60f39abee44129bcb4c92de7f797623b20074e3d9c2899701ed9071e1efa0bdd84d4c3e5130302d8f0240baba4b84a71cc032f2235a5ff0fae277c3e8f9112bef44c9ae20d175fc9a4058bfc930ba31b02e2e4f444483710f24a\nOutput = 541e37b68b6c8872b84c02\n\nPrivateKey = RSA-OAEP-6\nType = RSA\nInput = 30820279020100300d06092a864886f70d0101010500048202633082025f02010002818112b17f6dad2ecd19ff46dc13f7860f09e0e0cfb677b38a52592305ceaf022c166db90d04ac29e33f7dd12d9faf66e0816bb63ead267cc7d46c17c37be214bca2a22d723a64e44407436b6fc965729aefc2554f376cd5dcea68293780a62bf39d0029485a160bbb9e5dc0972d21a504f52e5ee028aa416332f510b2e9cff5f722af02030100010281810295eca3560618369559cecd303aa9cfdafc1d9f06959df75ffef929aa896961bcd190dc6997eda7f5963e724d07b4dc11f3065e5ae97d96835112280b9084bb14f2a21ebd4e889d41b9c4132ec1956fcab8bb2fed0575884936522c5ff7d33261904824e7cadee4e0bb372d2457cf78e2bd1286228ff83f10731ce63c90cff3f9024104a6ce8b7358dfa69bdcf742617005afb5385f5f3a58a24ef74a22a8c05cb7cc38ebd4cc9d9a9d789a62cd0f60f0cb941d3423c9692efa4fe3adff290c4749a38b02410404c9a803371fedb4c5be39f3c00b009e5e08a63be1e40035cdaca5011cc701cf7eebcb99f0ffe17cfd0a4bf7befd2dd536ac946db797fdbc4abe8f29349b91ed024103961c8f760aa2bd5154c7aafd77225b3bacd0139ae7b5948ea3311fccd86fb95c75afa767284b9b2de559572f15d8d044c7eb83a1be5fadf2cc377c0d8475294b0241022197e066742196aabc03fa2feeb4e70b15cb787d617acd31bb75c7bc234ad706f7c48d2182d1f0ff9c228dcf41967b6c0ba6d2c0ad110a1b857831ec245e2cb102410401c4c0c53d45dbdb5e9d96d0fecf4275df0974bc4a0736b4a74c3269053efb686ace2406e22c9e058ddb4ae540627ae2fdb08261e8e7e4bcbc994daafa305c45\n\nDecrypt = RSA-OAEP-6\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 0630eebcd2856c24f798806e41f9e67345eda9ceda386acc9facaea1eeed06ace583709718d9d169fadf414d5c76f92996833ef305b75b1e4b95f662a20faedc3bae0c4827a8bf8a88edbd57ec203a27a841f02e43a615bab1a8cac0701de34debdef62a088089b55ec36ea7522fd3ec8d06b6a073e6df833153bc0aefd93bd1a3\nOutput = 4046ca8baa3347ca27f49e0d81f9cc1d71be9ba517d4\n\nDecrypt = RSA-OAEP-6\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 0ebc37376173a4fd2f89cc55c2ca62b26b11d51c3c7ce49e8845f74e7607317c436bc8d23b9667dfeb9d087234b47bc6837175ae5c0559f6b81d7d22416d3e50f4ac533d8f0812f2db9e791fe9c775ac8b6ad0f535ad9ceb23a4a02014c58ab3f8d3161499a260f39348e714ae2a1d3443208fd8b722ccfdfb393e98011f99e63f\nOutput = 5cc72c60231df03b3d40f9b57931bc31109f972527f28b19e7480c7288cb3c92b22512214e4be6c914792ddabdf57faa8aa7\n\nDecrypt = RSA-OAEP-6\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 0a98bf1093619394436cf68d8f38e2f158fde8ea54f3435f239b8d06b8321844202476aeed96009492480ce3a8d705498c4c8c68f01501dc81db608f60087350c8c3b0bd2e9ef6a81458b7c801b89f2e4fe99d4900ba6a4b5e5a96d865dc676c7755928794130d6280a8160a190f2df3ea7cf9aa0271d88e9e6905ecf1c5152d65\nOutput = b20e651303092f4bccb43070c0f86d23049362ed96642fc5632c27db4a52e3d831f2ab068b23b149879c002f6bf3feee97591112562c\n\nDecrypt = RSA-OAEP-6\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 008e7a67cacfb5c4e24bec7dee149117f19598ce8c45808fef88c608ff9cd6e695263b9a3c0ad4b8ba4c95238e96a8422b8535629c8d5382374479ad13fa39974b242f9a759eeaf9c83ad5a8ca18940a0162ba755876df263f4bd50c6525c56090267c1f0e09ce0899a0cf359e88120abd9bf893445b3cae77d3607359ae9a52f8\nOutput = 684e3038c5c041f7\n\nDecrypt = RSA-OAEP-6\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 00003474416c7b68bdf961c385737944d7f1f40cb395343c693cc0b4fe63b31fedf1eaeeac9ccc0678b31dc32e0977489514c4f09085f6298a9653f01aea4045ff582ee887be26ae575b73eef7f3774921e375a3d19adda0ca31aa1849887c1f42cac9677f7a2f4e923f6e5a868b38c084ef187594dc9f7f048fea2e02955384ab\nOutput = 32488cb262d041d6e4dd35f987bf3ca696db1f06ac29a44693\n\nDecrypt = RSA-OAEP-6\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 0a026dda5fc8785f7bd9bf75327b63e85e2c0fdee5dadb65ebdcac9ae1de95c92c672ab433aa7a8e69ce6a6d8897fac4ac4a54de841ae5e5bbce7687879d79634cea7a30684065c714d52409b928256bbf53eabcd5231eb7259504537399bd29164b726d33a46da701360a4168a091ccab72d44a62fed246c0ffea5b1348ab5470\nOutput = 50ba14be8462720279c306ba\n\nPrivateKey = RSA-OAEP-7\nType = RSA\nInput = 30820278020100300d06092a864886f70d0101010500048202623082025e020100028181311179f0bcfc9b9d3ca315d00ef30d7bdd3a2cfae9911bfedcb948b3a4782d0732b6ab44aa4bf03741a644dc01bec3e69b01a033e675d8acd7c4925c6b1aec3119051dfd89762d215d45475ffcb59f908148623f37177156f6ae86dd7a7c5f43dc1e1f908254058a284a5f06c0021793a87f1ac5feff7dcaee69c5e51a3789e3730203010001028181070cfcff2feb8276e27432c45dfee48f49b7917d6530e1f0ca3460f32e0276174487c56e22a45d2500d7775495219d7d165a9cf3bd92c32af9a98d8dc9cc296800adc94a0a54fb40f34291bf84ee8ea12b6f109359c6d3542a50f9c767f5cfff05a681c2e656fb77caaadb4be9468d8abcd4df98f58e86d2053fa1349f748e21b102410749262c111cd470ec2566e6b3732fc09329469aa19071d3b9c01906514c6f1d26baa14beab0971c8b7e611a4f79009d6fea776928ca25285b0de3643d1a3f8c71024106bc1e50e96c02bf636e9eea8b899bbebf7651de77dd474c3e9bc23bad8182b61904c7d97dfbebfb1e00108878b6e67e415391d67942c2b2bf9b4435f88b0cb023024103bc7ea7f0aab143abc6ce8b97118636a30172e4cfe02c8fa0dda3b7baaf90f8092982985525f488bdfcb4bd726e22639ac64a3092ab7ffcbf1d5334cfa50b5bf102410262a6aa29c2a3c67dc5346c06381afd987aa3cc93cfbfecf54fdd9f9d787d7f59a523d398979da137a2f6381fe94801f7c94da21518dc34cb40870c4697994ad90240649d4c17b6ee1721e772d0389a559c3d3cdf9550d457c46b037b74641b1d52166af8a213c8396206cdfba4422f18d6f61dbcb5d214c971bf482aeb976a7370c2\n\nDecrypt = RSA-OAEP-7\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 1688e4ce7794bba6cb7014169ecd559cede2a30b56a52b68d9fe18cf1973ef97b2a03153951c755f6294aa49adbdb55845ab6875fb3986c93ecf927962840d282f9e54ce8b690f7c0cb8bbd73440d9571d1b16cd9260f9eab4783cc482e5223dc60973871783ec27b0ae0fd47732cbc286a173fc92b00fb4ba6824647cd93c85c1\nOutput = 47aae909\n\nDecrypt = RSA-OAEP-7\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 1052ed397b2e01e1d0ee1c50bf24363f95e504f4a03434a08fd822574ed6b9736edbb5f390db10321479a8a139350e2bd4977c3778ef331f3e78ae118b268451f20a2f01d471f5d53c566937171b2dbc2d4bde459a5799f0372d6574239b2323d245d0bb81c286b63c89a361017337e4902f88a467f4c7f244bfd5ab46437ff3b6\nOutput = 1d9b2e2223d9bc13bfb9f162ce735db48ba7c68f6822a0a1a7b6ae165834e7\n\nDecrypt = RSA-OAEP-7\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 2155cd843ff24a4ee8badb7694260028a490813ba8b369a4cbf106ec148e5298707f5965be7d101c1049ea8584c24cd63455ad9c104d686282d3fb803a4c11c1c2e9b91c7178801d1b6640f003f5728df007b8a4ccc92bce05e41a27278d7c85018c52414313a5077789001d4f01910b72aad05d220aa14a58733a7489bc54556b\nOutput = d976fc\n\nDecrypt = RSA-OAEP-7\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 0ab14c373aeb7d4328d0aaad8c094d88b9eb098b95f21054a29082522be7c27a312878b637917e3d819e6c3c568db5d843802b06d51d9e98a2be0bf40c031423b00edfbff8320efb9171bd2044653a4cb9c5122f6c65e83cda2ec3c126027a9c1a56ba874d0fea23f380b82cf240b8cf540004758c4c77d934157a74f3fc12bfac\nOutput = d4738623df223aa43843df8467534c41d013e0c803c624e263666b239bde40a5f29aeb8de79e3daa61dd0370f49bd4b013834b98212aef6b1c5ee373b3cb\n\nDecrypt = RSA-OAEP-7\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 028387a318277434798b4d97f460068df5298faba5041ba11761a1cb7316b24184114ec500257e2589ed3b607a1ebbe97a6cc2e02bf1b681f42312a33b7a77d8e7855c4a6de03e3c04643f786b91a264a0d6805e2cea91e68177eb7a64d9255e4f27e713b7ccec00dc200ebd21c2ea2bb890feae4942df941dc3f97890ed347478\nOutput = bb47231ca5ea1d3ad46c99345d9a8a61\n\nDecrypt = RSA-OAEP-7\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 14c678a94ad60525ef39e959b2f3ba5c097a94ff912b67dbace80535c187abd47d075420b1872152bba08f7fc31f313bbf9273c912fc4c0149a9b0cfb79807e346eb332069611bec0ff9bcd168f1f7c33e77313cea454b94e2549eecf002e2acf7f6f2d2845d4fe0aab2e5a92ddf68c480ae11247935d", + "1f62574842216ae674115\nOutput = 2184827095d35c3f86f600e8e59754013296\n\nPrivateKey = RSA-OAEP-8\nType = RSA\nInput = 30820279020100300d06092a864886f70d0101010500048202633082025f0201000281815bdf0e30d321dda5147f882408fa69195480df8f80d3f6e8bf5818504f36427ca9b1f5540b9c65a8f6974cf8447a244d9280201bb49fcbbe6378d1944cd227e230f96e3d10f819dcef276c64a00b2a4b6701e7d01de5fabde3b1e9a0df82f4631359cd22669647fbb1717246134ed7b497cfffbdc42b59c73a96ed90166212dff702030100010281810f7d1e9e5aaa25fd13e4a0663ae144e0d15f5cd18bcdb09df2cc7e64e3c5e915ad62645304161d098c715bb7ab8bd01d07eaf3fed7c7ed08af2a8a62ef44ab16b320e14af72a48f96afe262a0ae4cf65e635e910790cd4ee5cea768a4b2639f7e6f677b3f0bb6be32b75747d8909036f0264f58d401cdba131716157a75ecf633102410a02ef8448d9fad8bbd0d004c8c2aa9751ef9721c1b0d03236a54b0df947cbaed5a255ee9e8e20d491ea1723fe094704a9762e88afd16ebb5994412ca966dc4f9f0241092d362e7ed3a0bfd9e9fd0e6c0301b6df29159cf50cc83b9b0cf4d6eea71a61e002b46e0ae9f2de62d25b5d7452d498b81c9ac6fc58593d4c3fb4f5d72dfbb0a9024107c71410af103962db367404e37ae850baa4e9c29dd92145815294a67c7d1c6ded263aa030a9b633ae50303e14035d1af014123eba687820308d8ebc85b6957d7d024100ae2c75380c02c016ad05891b3301de881f28ae1171182b6b2c83bea7c515eca9ca298c7b1cab5817a597068fc85060de4da8a016378aae43c7f967bcc37904b902410598d1059e3ada4f6320752c09d805ff7d1f1ae0d017aeeee9cefa0d7dd7ff775e44b578322f6405d6211da19519666aa87fdc4cd8c88f6b6e3d67e961dcbba3d0\n\nDecrypt = RSA-OAEP-8\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 09b3683d8a2eb0fb295b62ed1fb9290b714457b7825319f4647872af889b30409472020ad12912bf19b11d4819f49614824ffd84d09c0a17e7d17309d12919790410aa2995699f6a86dbe3242b5acc23af45691080d6b1ae810fb3e3057087f0970092ce00be9562ff4053b6262ce0caa93e13723d2e3a5ba075d45f0d61b54b61\nOutput = 050b755e5e6880f7b9e9d692a74c37aae449b31bfea6deff83747a897f6c2c825bb1adbf850a3c96994b5de5b33cbc7d4a17913a7967\n\nDecrypt = RSA-OAEP-8\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 2ecf15c97c5a15b1476ae986b371b57a24284f4a162a8d0c8182e7905e792256f1812ba5f83f1f7a130e42dcc02232844edc14a31a68ee97ae564a383a3411656424c5f62ddb646093c367be1fcda426cf00a06d8acb7e57776fbbd855ac3df506fc16b1d7c3f2110f3d8068e91e186363831c8409680d8da9ecd8cf1fa20ee39d\nOutput = 4eb68dcd93ca9b19df111bd43608f557026fe4aa1d5cfac227a3eb5ab9548c18a06dded23f81825986b2fcd71109ecef7eff88873f075c2aa0c469f69c92bc\n\nDecrypt = RSA-OAEP-8\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 4bc89130a5b2dabb7c2fcf90eb5d0eaf9e681b7146a38f3173a3d9cfec52ea9e0a41932e648a9d69344c50da763f51a03c95762131e8052254dcd2248cba40fd31667786ce05a2b7b531ac9dac9ed584a59b677c1a8aed8c5d15d68c05569e2be780bf7db638fd2bfd2a85ab276860f3777338fca989ffd743d13ee08e0ca9893f\nOutput = 8604ac56328c1ab5ad917861\n\nDecrypt = RSA-OAEP-8\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 2e456847d8fc36ff0147d6993594b9397227d577752c79d0f904fcb039d4d812fea605a7b574dd82ca786f93752348438ee9f5b5454985d5f0e1699e3e7ad175a32e15f03deb042ab9fe1dd9db1bb86f8c089ccb45e7ef0c5ee7ca9b7290ca6b15bed47039788a8a93ff83e0e8d6244c71006362deef69b6f416fb3c684383fbd0\nOutput = fdda5fbf6ec361a9d9a4ac68af216a0686f438b1e0e5c36b955f74e107f39c0dddcc\n\nDecrypt = RSA-OAEP-8\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 1fb9356fd5c4b1796db2ebf7d0d393cc810adf6145defc2fce714f79d93800d5e2ac211ea8bbecca4b654b94c3b18b30dd576ce34dc95436ef57a09415645923359a5d7b4171ef22c24670f1b229d3603e91f76671b7df97e7317c97734476d5f3d17d21cf82b5ba9f83df2e588d36984fd1b584468bd23b2e875f32f68953f7b2\nOutput = 4a5f4914bee25de3c69341de07\n\nDecrypt = RSA-OAEP-8\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 3afd9c6600147b21798d818c655a0f4c9212db26d0b0dfdc2a7594ccb3d22f5bf1d7c3e112cd73fc7d509c7a8bafdd3c274d1399009f9609ec4be6477e453f075aa33db382870c1c3409aef392d7386ae3a696b99a94b4da0589447e955d16c98b17602a59bd736279fcd8fb280c4462d590bfa9bf13fed570eafde97330a2c210\nOutput = 8e07d66f7b880a72563abcd3f35092bc33409fb7f88f2472be\n\nPrivateKey = RSA-OAEP-9\nType = RSA\nInput = 30820397020100300d06092a864886f70d0101010500048203813082037d0201000281c100cf2cd41e34ca3a728ea5cb8aff64c36d27bdef5364e336fd68d3123c5a196a8c287013e853d5156d58d151954520fb4f6d7b17abb6817765909c576119659d902b1906ed8a2b10c155c24d124528dab9eeae379beac66e4a411786dcb8fd0062ebc030de1219a04c2a8c1b7dd3131e4d6b6caee2e31a5ed41ac1509b2ef1ee2ab18364be568ca941c25ecc84ff9d643b5ec1aaae102a20d73f479b780fd6da91075212d9eac03a0674d899eba2e431f4c44b615b6ba2232bd4b33baed73d625d02030100010281c0198c141e23715a92bccf6a119a5bc11389468d2811f548d727e17b4ab0eb986d6f211efb53b71f7ccbea87ee69c75ee615008c5332deb52bf390abdfbfe37d7205368159b2638c1de326e21d22251f0fb5848b3bf15005d2a74330f0afe916ee62ccc1344d1d83a709e60676273840f7f377424a5e0a4da75f01b31ff76819cf9cbfdd215243c3917c03ef38199312e567b3bf7aed3ab457f371ef8a1423f45b68c6e282ec111bba2833b987fd69fad83bc1b8c613c5e1ea16c11ed125ea7ec1026100fc8d6c04bec4eb9a8192ca7900cbe536e2e8b519decf33b2459798c6909df4f176db7d23190fc72b8865a718af895f1bcd9145298027423b605e70a47cf58390a8c3e88fc8c48e8b32e3da210dfbe3e881ea5674b6a348c21e93f9e55ea65efd026100d200d45e788aacea606a401d0460f87dd5c1027e12dc1a0d7586e8939d9cf789b40f51ac0442961de7d21cc21e05c83155c1f2aa9193387cfdf956cb48d153ba270406f9bbba537d4987d9e2f9942d7a14cbfffea74fecdda928d23e259f5ee1026100db16802f79a2f0d45f358d69fd33e44b81fae828622e93a54253e997d01b0743759da0e812b4aa4e6c8beab2328d5431955a418a67ff26a8c5c807a5da354e05ef31cc8cf758f463732950b03e265726fb94e39d6a572a26244ab08db75752ad026100a0a317cfe7df1423f87a6dee8451f4e2b4a67e5497f29b4f1e4e830b9fadd9401167026f5596e5a39c97817e0f5f16e27e19ec9902e01d7ea6fb9aa3c760afee1e381b69de6ac9c07585a06ad9c4ba00bf75c8ad2fa898a479e80ae294fed2a102600b21f335c353342eb44c3aa24445780c2d655b940174cae38c7c8a4e6493c0ba9fd303748267b083b9a7a6cb61e42db362b8c9896db7064e02ad5ae61587da15b4649c90594909feb37dbcb654beb7268ec801e5a8b4aa3911bebd88542f05be\n\nDecrypt = RSA-OAEP-9\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 267bcd118acab1fc8ba81c85d73003cb8610fa55c1d97da8d48a7c7f06896a4db751aa284255b9d36ad65f37653d829f1b37f97b8001942545b2fc2c55a7376ca7a1be4b1760c8e05a33e5aa2526b8d98e317088e7834c755b2a59b12631a182c05d5d43ab1779264f8456f515ce57dfdf512d5493dab7b7338dc4b7d78db9c091ac3baf537a69fc7f549d979f0eff9a94fda4169bd4d1d19a69c99e33c3b55490d501b39b1edae118ff6793a153261584d3a5f39f6e682e3d17c8cd1261fa72\nOutput = f735fd55ba92592c3b52b8f9c4f69aaa1cbef8fe88add095595412467f9cf4ec0b896c59eda16210e7549c8abb10cdbc21a12ec9b6b5b8fd2f10399eb6\n\nDecrypt = RSA-OAEP-9\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 93ac9f0671ec29acbb444effc1a5741351d60fdb0e393fbf754acf0de49761a14841df7772e9bc82773966a1584c4d72baea00118f83f35cca6e537cbd4d811f5583b29783d8a6d94cd31be70d6f526c10ff09c6fa7ce069795a3fcd0511fd5fcb564bcc80ea9c78f38b80012539d8a4ddf6fe81e9cddb7f50dbbbbcc7e5d86097ccf4ec49189fb8bf318be6d5a0715d516b49af191258cd32dc833ce6eb4673c03a19bbace88cc54895f636cc0c1ec89096d11ce235a265ca1764232a689ae8\nOutput = 81b906605015a63aabe42ddf11e1978912f5404c7474b26dce3ed482bf961ecc818bf420c54659\n\nDecrypt = RSA-OAEP-9\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 81ebdd95054b0c822ef9ad7693f5a87adfb4b4c4ce70df2df84ed49c04da58ba5fc20a19e1a6e8b7a3900b22796dc4e869ee6b42792d15a8eceb56c09c69914e813cea8f6931e4b8ed6f421af298d595c97f4789c7caa612c7ef360984c21b93edc5401068b5af4c78a8771b984d53b8ea8adf2f6a7d4a0ba76c75e1dd9f658f20ded4a46071d46d7791b56803d8fea7f0b0f8e41ae3f09383a6f9585fe7753eaaffd2bf94563108beecc207bbb535f5fcc705f0dde9f708c62f49a9c90371d3\nOutput = fd326429df9b890e09b54b18b8f34f1e24\n\nDecrypt = RSA-OAEP-9\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = bcc35f94cde66cb1136625d625b94432a35b22f3d2fa11a613ff0fca5bd57f87b902ccdc1cd0aebcb0715ee869d1d1fe395f6793003f5eca465059c88660d446ff5f0818552022557e38c08a67ead991262254f10682975ec56397768537f4977af6d5f6aaceb7fb25dec5937230231fd8978af49119a29f29e424ab8272b47562792d5c94f774b8829d0b0d9f1a8c9eddf37574d5fa248eefa9c5271fc5ec2579c81bdd61b410fa61fe36e424221c113addb275664c801d34ca8c6351e4a858\nOutput = f1459b5f0c92f01a0f723a2e5662484d8f8c0a20fc29dad6acd43bb5f3effdf4e1b63e07fdfe6628d0d74ca19bf2d69e4a0abf86d293925a796772f8088e\n\nDecrypt = RSA-OAEP-9\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 232afbc927fa08c2f6a27b87d4a5cb09c07dc26fae73d73a90558839f4fd66d281b87ec734bce237ba166698ed829106a7de6942cd6cdce78fed8d2e4d81428e66490d036264cef92af941d3e35055fe3981e14d29cbb9a4f67473063baec79a1179f5a17c9c1832f2838fd7d5e59bb9659d56dce8", + "a019edef1bb3accc697cc6cc7a778f60a064c7f6f5d529c6210262e003de583e81e3167b89971fb8c0e15d44fffef89b53d8d64dd797d159b56d2b08ea5307ea12c241bd58d4ee278a1f2e\nOutput = 53e6e8c729d6f9c319dd317e74b0db8e4ccca25f3c8305746e137ac63a63ef3739e7b595abb96e8d55e54f7bd41ab433378ffb911d\n\nDecrypt = RSA-OAEP-9\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 438cc7dc08a68da249e42505f8573ba60e2c2773d5b290f4cf9dff718e842081c383e67024a0f29594ea987b9d25e4b738f285970d195abb3a8c8054e3d79d6b9c9a8327ba596f1259e27126674766907d8d582ff3a8476154929adb1e6d1235b2ccb4ec8f663ba9cc670a92bebd853c8dbf69c6436d016f61add836e94732450434207f9fd4c43dec2a12a958efa01efe2669899b5e604c255c55fb7166de5589e369597bb09168c06dd5db177e06a1740eb2d5c82faeca6d92fcee9931ba9f\nOutput = b6b28ea2198d0c1008bc64\n\nPrivateKey = RSA-OAEP-10\nType = RSA\nInput = 308204bd020100300d06092a864886f70d0101010500048204a7308204a30201000282010100ae45ed5601cec6b8cc05f803935c674ddbe0d75c4c09fd7951fc6b0caec313a8df39970c518bffba5ed68f3f0d7f22a4029d413f1ae07e4ebe9e4177ce23e7f5404b569e4ee1bdcf3c1fb03ef113802d4f855eb9b5134b5a7c8085adcae6fa2fa1417ec3763be171b0c62b760ede23c12ad92b980884c641f5a8fac26bdad4a03381a22fe1b754885094c82506d4019a535a286afeb271bb9ba592de18dcf600c2aeeae56e02f7cf79fc14cf3bdc7cd84febbbf950ca90304b2219a7aa063aefa2c3c1980e560cd64afe779585b6107657b957857efde6010988ab7de417fc88d8f384c4e6e72c3f943e0c31c0c4a5cc36f879d8a3ac9d7d59860eaada6b83bb020301000102820100056b04216fe5f354ac77250a4b6b0c8525a85c59b0bd80c56450a22d5f438e596a333aa875e291dd43f48cb88b9d5fc0d499f9fcd1c397f9afc070cd9e398c8d19e61db7c7410a6b2675dfbf5d345b804d201add502d5ce2dfcb091ce9997bbebe57306f383e4d588103f036f7e85d1934d152a323e4a8db451d6f4a5b1b0f102cc150e02feee2b88dea4ad4c1baccb24d84072d14e1d24a6771f7408ee30564fb86d4393a34bcf0b788501d193303f13a2284b001f0f649eaf79328d4ac5c430ab4414920a9460ed1b7bc40ec653e876d09abc509ae45b525190116a0c26101848298509c1c3bf3a483e7274054e15e97075036e989f60932807b5257751e7902818100ecf5aecd1e5515fffacbd75a2816c6ebf49018cdfb4638e185d66a7396b6f8090f8018c7fd95cc34b857dc17f0cc6516bb1346ab4d582cadad7b4103352387b70338d084047c9d9539b6496204b3dd6ea442499207bec01f964287ff6336c3984658336846f56e46861881c10233d2176bf15a5e96ddc780bc868aa77d3ce76902818100bc46c464fc6ac4ca783b0eb08a3c841b772f7e9b2f28babd588ae885e1a0c61e4858a0fb25ac299990f35be85164c259ba1175cdd7192707135184992b6c29b746dd0d2cabe142835f7d148cc161524b4a09946d48b828473f1ce76b6cb6886c345c03e05f41d51b5c3a90a3f24073c7d74a4fe25d9cf21c75960f3fc386318302818100c73564571d00fb15d08a3de9957a50915d7126e9442dacf42bc82e862e5673ff6a008ed4d2e374617df89f17a160b43b7fda9cb6b6b74218609815f7d45ca263c159aa32d272d127faf4bc8ca2d77378e8aeb19b0ad7da3cb3de0ae7314980f62b6d4b0a875d1df03c1bae39ccd833ef6cd7e2d9528bf084d1f969e794e9f6c10281802658b37f6df9c1030be1db68117fa9d87e39ea2b693b7e6d3a2f70947413eec6142e18fb8dfcb6ac545d7c86a0ad48f8457170f0efb26bc48126c53efd1d16920198dc2a1107dc282db6a80cd3062360ba3fa13f70e4312ff1a6cd6b8fc4cd9c5c3db17c6d6a57212f73ae29f619327bad59b153858585ba4e28b60a62a45e490281806f38526b3925085534ef3e415a836ede8b86158a2c7cbfeccb0bd834304fec683ba8d4f479c433d43416e63269623cea100776d85aff401d3fff610ee65411ce3b1363d63a9709eede42647cea561493d54570a879c18682cd97710b96205ec31117d73b5f36223fadd6e8ba90dd7c0ee61d44e163251e20c7f66eb305117cb8\n\nDecrypt = RSA-OAEP-10\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 53ea5dc08cd260fb3b858567287fa91552c30b2febfba213f0ae87702d068d19bab07fe574523dfb42139d68c3c5afeee0bfe4cb7969cbf382b804d6e61396144e2d0e60741f8993c3014b58b9b1957a8babcd23af854f4c356fb1662aa72bfcc7e586559dc4280d160c126785a723ebeebeff71f11594440aaef87d10793a8774a239d4a04c87fe1467b9daf85208ec6c7255794a96cc29142f9a8bd418e3c1fd67344b0cd0829df3b2bec60253196293c6b34d3f75d32f213dd45c6273d505adf4cced1057cb758fc26aeefa441255ed4e64c199ee075e7f16646182fdb464739b68ab5daff0e63e9552016824f054bf4d3c8c90a97bb6b6553284eb429fcc\nOutput = 8bba6bf82a6c0f86d5f1756e97956870b08953b06b4eb205bc1694ee\n\nDecrypt = RSA-OAEP-10\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = a2b1a430a9d657e2fa1c2bb5ed43ffb25c05a308fe9093c01031795f5874400110828ae58fb9b581ce9dddd3e549ae04a0985459bde6c626594e7b05dc4278b2a1465c1368408823c85e96dc66c3a30983c639664fc4569a37fe21e5a195b5776eed2df8d8d361af686e750229bbd663f161868a50615e0c337bec0ca35fec0bb19c36eb2e0bbcc0582fa1d93aacdb061063f59f2ce1ee43605e5d89eca183d2acdfe9f81011022ad3b43a3dd417dac94b4e11ea81b192966e966b182082e71964607b4f8002f36299844a11f2ae0faeac2eae70f8f4f98088acdcd0ac556e9fccc511521908fad26f04c64201450305778758b0538bf8b5bb144a828e629795\nOutput = e6ad181f053b58a904f2457510373e57\n\nDecrypt = RSA-OAEP-10\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 9886c3e6764a8b9a84e84148ebd8c3b1aa8050381a78f668714c16d9cfd2a6edc56979c535d9dee3b44b85c18be8928992371711472216d95dda98d2ee8347c9b14dffdff84aa48d25ac06f7d7e65398ac967b1ce90925f67dce049b7f812db0742997a74d44fe81dbe0e7a3feaf2e5c40af888d550ddbbe3bc20657a29543f8fc2913b9bd1a61b2ab2256ec409bbd7dc0d17717ea25c43f42ed27df8738bf4afc6766ff7aff0859555ee283920f4c8a63c4a7340cbafddc339ecdb4b0515002f96c932b5b79167af699c0ad3fccfdf0f44e85a70262bf2e18fe34b850589975e867ff969d48eabf212271546cdc05a69ecb526e52870c836f307bd798780ede\nOutput = 510a2cf60e866fa2340553c94ea39fbc256311e83e94454b4124\n\nDecrypt = RSA-OAEP-10\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 6318e9fb5c0d05e5307e1683436e903293ac4642358aaa223d7163013aba87e2dfda8e60c6860e29a1e92686163ea0b9175f329ca3b131a1edd3a77759a8b97bad6a4f8f4396f28cf6f39ca58112e48160d6e203daa5856f3aca5ffed577af499408e3dfd233e3e604dbe34a9c4c9082de65527cac6331d29dc80e0508a0fa7122e7f329f6cca5cfa34d4d1da417805457e008bec549e478ff9e12a763c477d15bbb78f5b69bd57830fc2c4ed686d79bc72a95d85f88134c6b0afe56a8ccfbc855828bb339bd17909cf1d70de3335ae07039093e606d655365de6550b872cd6de1d440ee031b61945f629ad8a353b0d40939e96a3c450d2a8d5eee9f678093c8\nOutput = bcdd190da3b7d300df9a06e22caae2a75f10c91ff667b7c16bde8b53064a2649a94045c9\n\nDecrypt = RSA-OAEP-10\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 75290872ccfd4a4505660d651f56da6daa09ca1301d890632f6a992f3d565cee464afded40ed3b5be9356714ea5aa7655f4a1366c2f17c728f6f2c5a5d1f8e28429bc4e6f8f2cff8da8dc0e0a9808e45fd09ea2fa40cb2b6ce6ffff5c0e159d11b68d90a85f7b84e103b09e682666480c657505c0929259468a314786d74eab131573cf234bf57db7d9e66cc6748192e002dc0deea930585f0831fdcd9bc33d51f79ed2ffc16bcf4d59812fcebcaa3f9069b0e445686d644c25ccf63b456ee5fa6ffe96f19cdf751fed9eaf35957754dbf4bfea5216aa1844dc507cb2d080e722eba150308c2b5ff1193620f1766ecf4481bafb943bd292877f2136ca494aba0\nOutput = a7dd6c7dc24b46f9dd5f1e91ada4c3b3df947e877232a9\n\nDecrypt = RSA-OAEP-10\nRSAPadding = OAEP\nMGF1Digest = SHA1\nInput = 2d207a73432a8fb4c03051b3f73b28a61764098dfa34c47a20995f8115aa6816679b557e82dbee584908c6e69782d7deb34dbd65af063d57fca76a5fd069492fd6068d9984d209350565a62e5c77f23038c12cb10c6634709b547c46f6b4a709bd85ca122d74465ef97762c29763e06dbc7a9e738c78bfca0102dc5e79d65b973f28240caab2e161a78b57d262457ed8195d53e3c7ae9da021883c6db7c24afdd2322eac972ad3c354c5fcef1e146c3a0290fb67adf007066e00428d2cec18ce58f9328698defef4b2eb5ec76918fde1c198cbb38b7afc67626a9aefec4322bfd90d2563481c9a221f78c8272c82d1b62ab914e1c69f6af6ef30ca5260db4a46\nOutput = eaf1a73a1b0c4609537de69cd9228bbcfb9a8ca8c6c3efaf056fe4a7f4634ed00b7c39ec6922d7b8ea2c04ebac\n\n\n# Single-shot signing tests.\n\nSignMessage = RSA-2048\nDigest = SHA256\nInput = \"Hello world\"\nOutput = 301894798b49d6ec55d32dcc74314f04230591a515781f3eb4492f5324b56046836c4bc3e25942af341e88558cb4c3814a849207575d343189147989b16e296b5138dbbc717116dc416f201dfa35943d15060493953cda1f04a13ff89845cf7fd69e1a78d5d38522a77bb234e5d0ba2ae17ada6e22fdae27a4052fdb8ac267507dfe06ed7a865e61a52b530bbbf65c7caa89739613df10ae3b0e62ff6831ee0770086aad39c329462aede9f1b29a501bc3d09e0fe4034aa5d6831d44491d508111d88a1d7ba50cee5ef7e701b3a589adc09a752a974a6805956f4a1a0582f66309a1e02e9fb6b10d2c820fe98bb2eb04f435bc8a649cc9ab6c5a4c03e83800d1\n\nVerifyMessage = RSA-2048\nDigest = SHA256\nInput = \"Hello world\"\nOutput = 301894798b49d6ec55d32dcc74314f04230591a515781f3eb4492f5324b56046836c4bc3e25942af341e88558cb4c3814a849207575d343189147989b16e296b5138dbbc717116dc416f201dfa35943d15060493953cda1f04a13ff89845cf7fd69e1a78d5d38522a77bb234e5d0ba2ae17ada6e22fdae27a4052fdb8ac267507dfe06ed7a865e61a52b530bbbf65c7caa89739613df10ae3b0e62ff6831ee0770086aad39c329462aede9f1b29a501bc3d09e0fe4034aa5d6831d44491d508111", + "d88a1d7ba50cee5ef7e701b3a589adc09a752a974a6805956f4a1a0582f66309a1e02e9fb6b10d2c820fe98bb2eb04f435bc8a649cc9ab6c5a4c03e83800d1\n\nVerifyMessage = RSA-2048-SPKI\nDigest = SHA256\nInput = \"Hello world\"\nOutput = 301894798b49d6ec55d32dcc74314f04230591a515781f3eb4492f5324b56046836c4bc3e25942af341e88558cb4c3814a849207575d343189147989b16e296b5138dbbc717116dc416f201dfa35943d15060493953cda1f04a13ff89845cf7fd69e1a78d5d38522a77bb234e5d0ba2ae17ada6e22fdae27a4052fdb8ac267507dfe06ed7a865e61a52b530bbbf65c7caa89739613df10ae3b0e62ff6831ee0770086aad39c329462aede9f1b29a501bc3d09e0fe4034aa5d6831d44491d508111d88a1d7ba50cee5ef7e701b3a589adc09a752a974a6805956f4a1a0582f66309a1e02e9fb6b10d2c820fe98bb2eb04f435bc8a649cc9ab6c5a4c03e83800d1\n\nVerifyMessage = P-256\nDigest = SHA256\nInput = \"Hello world\"\nOutput = 304502204c66004635c267394bd6857c1e0b53b22a2bab1ca7dff9d5c1b42143858b3ea7022100ae81228510e03cd49a8863d2ebd1c05fe0c87eacd1150433132b909994cd0dbd\n\n# Digest can't be omitted in many algorithms.\nSignMessage = RSA-2048\nInput = \"Hello world\"\nError = NO_DEFAULT_DIGEST\n\nVerifyMessage = RSA-2048\nInput = \"Hello world\"\nOutput = 301894798b49d6ec55d32dcc74314f04230591a515781f3eb4492f5324b56046836c4bc3e25942af341e88558cb4c3814a849207575d343189147989b16e296b5138dbbc717116dc416f201dfa35943d15060493953cda1f04a13ff89845cf7fd69e1a78d5d38522a77bb234e5d0ba2ae17ada6e22fdae27a4052fdb8ac267507dfe06ed7a865e61a52b530bbbf65c7caa89739613df10ae3b0e62ff6831ee0770086aad39c329462aede9f1b29a501bc3d09e0fe4034aa5d6831d44491d508111d88a1d7ba50cee5ef7e701b3a589adc09a752a974a6805956f4a1a0582f66309a1e02e9fb6b10d2c820fe98bb2eb04f435bc8a649cc9ab6c5a4c03e83800d1\nError = NO_DEFAULT_DIGEST\n\n# Signing test vectors from RFC 8032.\nSignMessage = Ed25519\nInput = \"\"\nOutput = e5564300c360ac729086e2cc806e828a84877f1eb8e5d974d873e065224901555fb8821590a33bacc61e39701cf9b46bd25bf5f0595bbe24655141438e7a100b\n\nSignMessage = Ed25519-2\nInput = 72\nOutput = 92a009a9f0d4cab8720e820b5f642540a2b27b5416503f8fb3762223ebdb69da085ac1e43e15996e458f3613d0f11d8c387b2eaeb4302aeeb00d291612bb0c00\n\nSignMessage = Ed25519-3\nInput = af82\nOutput = 6291d657deec24024827e69c3abe01a30ce548a284743a445e3680d7db5ac3ac18ff9b538d16f290ae67f760984dc6594a7c15e9716ed28dc027beceea1ec40a\n\nSignMessage = Ed25519-4\nInput = 08b8b2b733424243760fe426a4b54908632110a66c2f6591eabd3345e3e4eb98fa6e264bf09efe12ee50f8f54e9f77b1e355f6c50544e23fb1433ddf73be84d879de7c0046dc4996d9e773f4bc9efe5738829adb26c81b37c93a1b270b20329d658675fc6ea534e0810a4432826bf58c941efb65d57a338bbd2e26640f89ffbc1a858efcb8550ee3a5e1998bd177e93a7363c344fe6b199ee5d02e82d522c4feba15452f80288a821a579116ec6dad2b3b310da903401aa62100ab5d1a36553e06203b33890cc9b832f79ef80560ccb9a39ce767967ed628c6ad573cb116dbefefd75499da96bd68a8a97b928a8bbc103b6621fcde2beca1231d206be6cd9ec7aff6f6c94fcd7204ed3455c68c83f4a41da4af2b74ef5c53f1d8ac70bdcb7ed185ce81bd84359d44254d95629e9855a94a7c1958d1f8ada5d0532ed8a5aa3fb2d17ba70eb6248e594e1a2297acbbb39d502f1a8c6eb6f1ce22b3de1a1f40cc24554119a831a9aad6079cad88425de6bde1a9187ebb6092cf67bf2b13fd65f27088d78b7e883c8759d2c4f5c65adb7553878ad575f9fad878e80a0c9ba63bcbcc2732e69485bbc9c90bfbd62481d9089beccf80cfe2df16a2cf65bd92dd597b0707e0917af48bbb75fed413d238f5555a7a569d80c3414a8d0859dc65a46128bab27af87a71314f318c782b23ebfe808b82b0ce26401d2e22f04d83d1255dc51addd3b75a2b1ae0784504df543af8969be3ea7082ff7fc9888c144da2af58429ec96031dbcad3dad9af0dcbaaaf268cb8fcffead94f3c7ca495e056a9b47acdb751fb73e666c6c655ade8297297d07ad1ba5e43f1bca32301651339e22904cc8c42f58c30c04aafdb038dda0847dd988dcda6f3bfd15c4b4c4525004aa06eeff8ca61783aacec57fb3d1f92b0fe2fd1a85f6724517b65e614ad6808d6f6ee34dff7310fdc82aebfd904b01e1dc54b2927094b2db68d6f903b68401adebf5a7e08d78ff4ef5d63653a65040cf9bfd4aca7984a74d37145986780fc0b16ac451649de6188a7dbdf191f64b5fc5e2ab47b57f7f7276cd419c17a3ca8e1b939ae49e488acba6b965610b5480109c8b17b80e1b7b750dfc7598d5d5011fd2dcc5600a32ef5b52a1ecc820e308aa342721aac0943bf6686b64b2579376504ccc493d97e6aed3fb0f9cd71a43dd497f01f17c0e2cb3797aa2a2f256656168e6c496afc5fb93246f6b1116398a346f1a641f3b041e989f7914f90cc2c7fff357876e506b50d334ba77c225bc307ba537152f3f1610e4eafe595f6d9d90d11faa933a15ef1369546868a7f3a45a96768d40fd9d03412c091c6315cf4fde7cb68606937380db2eaaa707b4c4185c32eddcdd306705e4dc1ffc872eeee475a64dfac86aba41c0618983f8741c5ef68d3a101e8a3b8cac60c905c15fc910840b94c00a0b9d0\nOutput = 0aab4c900501b3e24d7cdf4663326a3a87df5e4843b2cbdb67cbf6e460fec350aa5371b1508f9f4528ecea23c436d94b5e8fcd4f681e30a6ac00a9704a188a03\n\nSignMessage = Ed25519-5\nInput = ddaf35a193617abacc417349ae20413112e6fa4e89a97ea20a9eeee64b55d39a2192992a274fc1a836ba3c23a3feebbd454d4423643ce80e2a9ac94fa54ca49f\nOutput = dc2a4459e7369633a52b1bf277839a00201009a3efbf3ecb69bea2186c26b58909351fc9ac90b3ecfdfbc7c66431e0303dca179c138ac17ad9bef1177331a704\n\n# Signing with public keys is not allowed.\nSignMessage = Ed25519-SPKI\nInput = \"\"\nError = NOT_A_PRIVATE_KEY\n\n# Verify test vectors from RFC 8032. Test verifying with both the public and\n# private key.\nVerifyMessage = Ed25519\nInput = \"\"\nOutput = e5564300c360ac729086e2cc806e828a84877f1eb8e5d974d873e065224901555fb8821590a33bacc61e39701cf9b46bd25bf5f0595bbe24655141438e7a100b\n\nVerifyMessage = Ed25519-SPKI\nInput = \"\"\nOutput = e5564300c360ac729086e2cc806e828a84877f1eb8e5d974d873e065224901555fb8821590a33bacc61e39701cf9b46bd25bf5f0595bbe24655141438e7a100b\n\nVerifyMessage = Ed25519-2\nInput = 72\nOutput = 92a009a9f0d4cab8720e820b5f642540a2b27b5416503f8fb3762223ebdb69da085ac1e43e15996e458f3613d0f11d8c387b2eaeb4302aeeb00d291612bb0c00\n\nVerifyMessage = Ed25519-SPKI-2\nInput = 72\nOutput = 92a009a9f0d4cab8720e820b5f642540a2b27b5416503f8fb3762223ebdb69da085ac1e43e15996e458f3613d0f11d8c387b2eaeb4302aeeb00d291612bb0c00\n\nVerifyMessage = Ed25519-3\nInput = af82\nOutput = 6291d657deec24024827e69c3abe01a30ce548a284743a445e3680d7db5ac3ac18ff9b538d16f290ae67f760984dc6594a7c15e9716ed28dc027beceea1ec40a\n\nVerifyMessage = Ed25519-SPKI-3\nInput = af82\nOutput = 6291d657deec24024827e69c3abe01a30ce548a284743a445e3680d7db5ac3ac18ff9b538d16f290ae67f760984dc6594a7c15e9716ed28dc027beceea1ec40a\n\nVerifyMessage = Ed25519-4\nInput = 08b8b2b733424243760fe426a4b54908632110a66c2f6591eabd3345e3e4eb98fa6e264bf09efe12ee50f8f54e9f77b1e355f6c50544e23fb1433ddf73be84d879de7c0046dc4996d9e773f4bc9efe5738829adb26c81b37c93a1b270b20329d658675fc6ea534e0810a4432826bf58c941efb65d57a338bbd2e26640f89ffbc1a858efcb8550ee3a5e1998bd177e93a7363c344fe6b199ee5d02e82d522c4feba15452f80288a821a579116ec6dad2b3b310da903401aa62100ab5d1a36553e06203b33890cc9b832f79ef80560ccb9a39ce767967ed628c6ad573cb116dbefefd75499da96bd68a8a97b928a8bbc103b6621fcde2beca1231d206be6cd9ec7aff6f6c94fcd7204ed3455c68c83f4a41da4af2b74ef5c53f1d8ac70bdcb7ed185ce81bd84359d44254d95629e9855a94a7c1958d1f8ada5d0532ed8a5aa3fb2d17ba70eb6248e594e1a2297acbbb39d502f1a8c6eb6f1ce22b3de1a1f40cc24554119a831a9aad6079cad88425de6bde1a9187ebb6092cf67bf2b13fd65f27088d78b7e883c8759d2c4f5c65adb7553878ad575f9fad878e80a0c9ba63bcbcc2732e69485bbc9c90bfbd62481d9089beccf80cfe2df16a2cf65bd92dd597b0707e0917af48bbb75fed413d238f5555a7a569d80c3414a8d0859dc65a46128bab27af87a71314f318c782b23ebfe808b82b0ce26401d2e22f04d83d1255dc51addd3b75a2b1ae0784504df543af8969be3ea7082ff7fc9888c144da2af58429ec96031dbcad3dad9af0dcbaaaf268cb8fcffead94f3c7ca495e056a9b47acdb751fb73e666c6c655ade8297297d07ad1ba5e43f1bca32301651339e22904cc8c42f58c30c04aafdb038dda0847dd988dcda6f3bfd15c4b4c4525004aa06eeff8ca61783aacec57fb3d1f92b0fe2fd1a85f6724517b65e614ad6808d6f6ee34dff7310fdc82aebfd904b01e1dc54b2927094b2db68d6f903b68401adebf5a7e08d78ff4ef5d63653a65040cf9bfd4aca7984a74d37145986780fc0b16ac451649de6188a7dbdf191f64b5fc5e2ab47b57f7f7276cd419c17a3ca8e1b939ae49e488acba6b965610b5480109c8b17b80e1b7b750dfc7598d5d5011fd2dcc5600a32ef5b52a1ecc820e308aa342721aac0943bf6686b64b2579376504ccc493d97e6aed3fb0f9cd71a43dd497f01f17c0e2cb3797aa2a2f256656168e6c496afc5fb93246f6b1116398a346f1a641f3b041e989f7914f90cc2c7fff357876e506b50d334ba77c225bc307ba537152f3f1610e4eafe595f6d9d90d11faa933a15ef1369546868a7f3a45a96768d40fd9d03412c091c6315cf4fde7cb68606937380db2eaaa707b4c4185c32eddcdd306705e4dc1ffc872eeee475a64dfac86aba41c0618983f8741c5ef68d3a101e8a3b8cac60c905c15fc910840b94c00a0b9d0\nOutput = 0aab4c900501b3e24d7cdf4663326a3a87df5e4843b2cbdb67cbf6e460fec350aa5371b1508f9f4528ecea23c436d94b5e8fcd4f681", + "e30a6ac00a9704a188a03\n\nVerifyMessage = Ed25519-SPKI-4\nInput = 08b8b2b733424243760fe426a4b54908632110a66c2f6591eabd3345e3e4eb98fa6e264bf09efe12ee50f8f54e9f77b1e355f6c50544e23fb1433ddf73be84d879de7c0046dc4996d9e773f4bc9efe5738829adb26c81b37c93a1b270b20329d658675fc6ea534e0810a4432826bf58c941efb65d57a338bbd2e26640f89ffbc1a858efcb8550ee3a5e1998bd177e93a7363c344fe6b199ee5d02e82d522c4feba15452f80288a821a579116ec6dad2b3b310da903401aa62100ab5d1a36553e06203b33890cc9b832f79ef80560ccb9a39ce767967ed628c6ad573cb116dbefefd75499da96bd68a8a97b928a8bbc103b6621fcde2beca1231d206be6cd9ec7aff6f6c94fcd7204ed3455c68c83f4a41da4af2b74ef5c53f1d8ac70bdcb7ed185ce81bd84359d44254d95629e9855a94a7c1958d1f8ada5d0532ed8a5aa3fb2d17ba70eb6248e594e1a2297acbbb39d502f1a8c6eb6f1ce22b3de1a1f40cc24554119a831a9aad6079cad88425de6bde1a9187ebb6092cf67bf2b13fd65f27088d78b7e883c8759d2c4f5c65adb7553878ad575f9fad878e80a0c9ba63bcbcc2732e69485bbc9c90bfbd62481d9089beccf80cfe2df16a2cf65bd92dd597b0707e0917af48bbb75fed413d238f5555a7a569d80c3414a8d0859dc65a46128bab27af87a71314f318c782b23ebfe808b82b0ce26401d2e22f04d83d1255dc51addd3b75a2b1ae0784504df543af8969be3ea7082ff7fc9888c144da2af58429ec96031dbcad3dad9af0dcbaaaf268cb8fcffead94f3c7ca495e056a9b47acdb751fb73e666c6c655ade8297297d07ad1ba5e43f1bca32301651339e22904cc8c42f58c30c04aafdb038dda0847dd988dcda6f3bfd15c4b4c4525004aa06eeff8ca61783aacec57fb3d1f92b0fe2fd1a85f6724517b65e614ad6808d6f6ee34dff7310fdc82aebfd904b01e1dc54b2927094b2db68d6f903b68401adebf5a7e08d78ff4ef5d63653a65040cf9bfd4aca7984a74d37145986780fc0b16ac451649de6188a7dbdf191f64b5fc5e2ab47b57f7f7276cd419c17a3ca8e1b939ae49e488acba6b965610b5480109c8b17b80e1b7b750dfc7598d5d5011fd2dcc5600a32ef5b52a1ecc820e308aa342721aac0943bf6686b64b2579376504ccc493d97e6aed3fb0f9cd71a43dd497f01f17c0e2cb3797aa2a2f256656168e6c496afc5fb93246f6b1116398a346f1a641f3b041e989f7914f90cc2c7fff357876e506b50d334ba77c225bc307ba537152f3f1610e4eafe595f6d9d90d11faa933a15ef1369546868a7f3a45a96768d40fd9d03412c091c6315cf4fde7cb68606937380db2eaaa707b4c4185c32eddcdd306705e4dc1ffc872eeee475a64dfac86aba41c0618983f8741c5ef68d3a101e8a3b8cac60c905c15fc910840b94c00a0b9d0\nOutput = 0aab4c900501b3e24d7cdf4663326a3a87df5e4843b2cbdb67cbf6e460fec350aa5371b1508f9f4528ecea23c436d94b5e8fcd4f681e30a6ac00a9704a188a03\n\nVerifyMessage = Ed25519-5\nInput = ddaf35a193617abacc417349ae20413112e6fa4e89a97ea20a9eeee64b55d39a2192992a274fc1a836ba3c23a3feebbd454d4423643ce80e2a9ac94fa54ca49f\nOutput = dc2a4459e7369633a52b1bf277839a00201009a3efbf3ecb69bea2186c26b58909351fc9ac90b3ecfdfbc7c66431e0303dca179c138ac17ad9bef1177331a704\n\nVerifyMessage = Ed25519-SPKI-5\nInput = ddaf35a193617abacc417349ae20413112e6fa4e89a97ea20a9eeee64b55d39a2192992a274fc1a836ba3c23a3feebbd454d4423643ce80e2a9ac94fa54ca49f\nOutput = dc2a4459e7369633a52b1bf277839a00201009a3efbf3ecb69bea2186c26b58909351fc9ac90b3ecfdfbc7c66431e0303dca179c138ac17ad9bef1177331a704\n\n# Length is wrong.\nVerifyMessage = Ed25519-SPKI\nInput = \"\"\nOutput = e5564300c360ac729086e2cc806e828a84877f1eb8e5d974d873e065224901555fb8821590a33bacc61e39701cf9b46bd25bf5f0595bbe24655141438e7a10\nError = INVALID_SIGNATURE\n\n# Message is wrong.\nVerifyMessage = Ed25519-SPKI\nInput = \"Hello world\"\nOutput = e5564300c360ac729086e2cc806e828a84877f1eb8e5d974d873e065224901555fb8821590a33bacc61e39701cf9b46bd25bf5f0595bbe24655141438e7a100b\nError = INVALID_SIGNATURE\n\n# Ed25519 does not support configuring a digest.\nSignMessage = Ed25519\nInput = \"\"\nDigest = SHA256\nError = COMMAND_NOT_SUPPORTED\n\n# Ed25519 does not support signing a pre-hashed value.\nSign = Ed25519\nInput = \"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\"\nError = OPERATION_NOT_SUPPORTED_FOR_THIS_KEYTYPE\n\nVerify = Ed25519\nInput = \"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\"\nOutput = e5564300c360ac729086e2cc806e828a84877f1eb8e5d974d873e065224901555fb8821590a33bacc61e39701cf9b46bd25bf5f0595bbe24655141438e7a100b\nError = OPERATION_NOT_SUPPORTED_FOR_THIS_KEYTYPE\n\n\n# Derive tests.\n\nPrivateKey = ECDH-P256-Private\nType = EC\nInput = 3041020100301306072a8648ce3d020106082a8648ce3d0301070427302502010104207d7dc5f71eb29ddaf80d6214632eeae03d9058af1fb6d22ed80badb62bc1a534\n\nPublicKey = ECDH-P256-Peer\nType = EC\nInput = 3059301306072a8648ce3d020106082a8648ce3d03010703420004700c48f77f56584c5cc632ca65640db91b6bacce3a4df6b42ce7cc838833d287db71e509e3fd9b060ddb20ba5c51dcc5948d46fbf640dfe0441782cab85fa4ac\n\nDerive = ECDH-P256-Private\nDerivePeer = ECDH-P256-Peer\nOutput = 46fc62106420ff012e54a434fbdd2d25ccc5852060561e68040dd7778997bd7b\nSmallBufferTruncates\n\nPrivateKey = X25519-Private\nType = X25519\nInput = 302e020100300506032b656e04220420a546e36bf0527c9d3b16154b82465edd62144c0ac1fc5a18506a2244ba449ac4\nExpectRawPrivate = a546e36bf0527c9d3b16154b82465edd62144c0ac1fc5a18506a2244ba449ac4\n\nPublicKey = X25519-Peer\nType = X25519\nInput = 302a300506032b656e032100e6db6867583030db3594c1a424b15f7c726624ec26b3353b10a903a6d0ab1c4c\nExpectRawPublic = e6db6867583030db3594c1a424b15f7c726624ec26b3353b10a903a6d0ab1c4c\n\nPublicKey = X25519-SmallOrderPeer\nType = X25519\nExpectRawPublic = e0eb7a7c3b41b8ae1656e3faf19fc46ada098deb9c32b1fd866205165f49b800\nInput = 302a300506032b656e032100e0eb7a7c3b41b8ae1656e3faf19fc46ada098deb9c32b1fd866205165f49b800\n\nDerive = X25519-Private\nDerivePeer = X25519-Peer\nOutput = c3da55379de9c6908e94ea4df28d084f32eccf03491c71f754b4075577a28552\n\nDerive = X25519-Private\nDerivePeer = X25519-SmallOrderPeer\nError = INVALID_PEER_KEY\n", }; -static const size_t kLen38 = 2270; +static const size_t kLen38 = 1262; static const char *kData38[] = { - "# Test vectors from FIPS-197, Appendix C.\n\nMode = Raw\nKey = 000102030405060708090a0b0c0d0e0f\nPlaintext = 00112233445566778899aabbccddeeff\nCiphertext = 69c4e0d86a7b0430d8cdb78070b4c55a\n\nMode = Raw\nKey = 000102030405060708090a0b0c0d0e0f1011121314151617\nPlaintext = 00112233445566778899aabbccddeeff\nCiphertext = dda97ca4864cdfe06eaf70a0ec0d7191\n\nMode = Raw\nKey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nPlaintext = 00112233445566778899aabbccddeeff\nCiphertext = 8ea2b7ca516745bfeafc49904b496089\n\n\n# Test vectors from\n# http://csrc.nist.gov/groups/ST/toolkit/documents/kms/key-wrap.pdf\n\nMode = KeyWrap\nKey = 000102030405060708090a0b0c0d0e0f\nPlaintext = 00112233445566778899aabbccddeeff\nCiphertext = 1fa68b0a8112b447aef34bd8fb5a7b829d3e862371d2cfe5\n\nMode = KeyWrap\nKey = 000102030405060708090a0b0c0d0e0f1011121314151617\nPlaintext = 00112233445566778899aabbccddeeff\nCiphertext = 96778b25ae6ca435f92b5b97c050aed2468ab8a17ad84e5d\n\nMode = KeyWrap\nKey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nPlaintext = 00112233445566778899aabbccddeeff\nCiphertext = 64e8c3f9ce0f5ba263e9777905818a2a93c8191e7d6e8ae7\n\nMode = KeyWrap\nKey = 000102030405060708090a0b0c0d0e0f1011121314151617\nPlaintext = 00112233445566778899aabbccddeeff0001020304050607\nCiphertext = 031d33264e15d33268f24ec260743edce1c6c7ddee725a936ba814915c6762d2\n\nMode = KeyWrap\nKey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nPlaintext = 00112233445566778899aabbccddeeff0001020304050607\nCiphertext = a8f9bc1612c68b3ff6e6f4fbe30e71e4769c8b80a32cb8958cd5d17d6b254da1\n\nMode = KeyWrap\nKey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nPlaintext = 00112233445566778899aabbccddeeff000102030405060708090a0b0c0d0e0f\nCiphertext = 28c9f404c4b810f4cbccb35cfb87f8263f5786e2d80ed326cbc7f0e71a99f43bfb988b9b7a02dd21\n\n\n# Test vectors from https://tools.ietf.org/html/rfc5649#section-6\n\nMode = KeyWrapWithPadding\nKey = 5840df6e29b02af1ab493b705bf16ea1ae8338f4dcc176a8\nPlaintext = c37b7e6492584340bed12207808941155068f738\nCiphertext = 138bdeaa9b8fa7fc61f97742e72248ee5ae6ae5360d1ae6a5f54f373fa543b6a\n\nMode = KeyWrapWithPadding\nKey = 5840df6e29b02af1ab493b705bf16ea1ae8338f4dcc176a8\nPlaintext = 466f7250617369\nCiphertext = afbeb0f07dfbf5419200f2ccb50bb24f\n", + "#\n# Copyright 2001-2017 The OpenSSL Project Authors. All Rights Reserved.\n#\n# Licensed under the OpenSSL license (the \"License\"). You may not use\n# this file except in compliance with the License. You can obtain a copy\n# in the file LICENSE in the source distribution or at\n# https://www.openssl.org/source/license.html\n\nPassword = \"\"\nSalt = \"\"\nN = 16\nr = 1\np = 1\nKey = 77d6576238657b203b19ca42c18a0497f16b4844e3074ae8dfdffa3fede21442fcd0069ded0948f8326a753a0fc81f17e8d3e0fb2e0d3628cf35e20c38d18906\n\nPassword = \"password\"\nSalt = \"NaCl\"\nN = 1024\nr = 8\np = 16\nKey = fdbabe1c9d3472007856e7190d01e9fe7c6ad7cbc8237830e77376634b3731622eaf30d92e22a3886ff109279d9830dac727afb94a83ee6d8360cbdfa2cc0640\n\nPassword = \"pleaseletmein\"\nSalt = \"SodiumChloride\"\nN = 16384\nr = 8\np = 1\nKey = 7023bdcb3afd7348461c06cd81fd38ebfda8fbba904f8e3ea9b543f6545da1f2d5432955613f0fcf62d49705242a9af9e61e85dc0d651e40dfcf017b45575887\n\n# NB: this test requires more than 1GB of memory to run so it is disabled by\n# default. Uncomment it to run.\n# Password = \"pleaseletmein\"\n# Salt = \"SodiumChloride\"\n# N = 1048576\n# r = 8\n# p = 1\n# Key = 2101cb9b6a511aaeaddbbe09cf70f881ec568d574a2ffd4dabe5ee9820adaa478e56fd8f4ba5d09ffa1c6d927c40f4c337304049e8a952fbcbf45c6fa77a41a4\n# MaxMemory = 10000000000\n", }; -static const size_t kLen39 = 909405; +static const size_t kLen39 = 2270; static const char *kData39[] = { + "# Test vectors from FIPS-197, Appendix C.\n\nMode = Raw\nKey = 000102030405060708090a0b0c0d0e0f\nPlaintext = 00112233445566778899aabbccddeeff\nCiphertext = 69c4e0d86a7b0430d8cdb78070b4c55a\n\nMode = Raw\nKey = 000102030405060708090a0b0c0d0e0f1011121314151617\nPlaintext = 00112233445566778899aabbccddeeff\nCiphertext = dda97ca4864cdfe06eaf70a0ec0d7191\n\nMode = Raw\nKey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nPlaintext = 00112233445566778899aabbccddeeff\nCiphertext = 8ea2b7ca516745bfeafc49904b496089\n\n\n# Test vectors from\n# http://csrc.nist.gov/groups/ST/toolkit/documents/kms/key-wrap.pdf\n\nMode = KeyWrap\nKey = 000102030405060708090a0b0c0d0e0f\nPlaintext = 00112233445566778899aabbccddeeff\nCiphertext = 1fa68b0a8112b447aef34bd8fb5a7b829d3e862371d2cfe5\n\nMode = KeyWrap\nKey = 000102030405060708090a0b0c0d0e0f1011121314151617\nPlaintext = 00112233445566778899aabbccddeeff\nCiphertext = 96778b25ae6ca435f92b5b97c050aed2468ab8a17ad84e5d\n\nMode = KeyWrap\nKey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nPlaintext = 00112233445566778899aabbccddeeff\nCiphertext = 64e8c3f9ce0f5ba263e9777905818a2a93c8191e7d6e8ae7\n\nMode = KeyWrap\nKey = 000102030405060708090a0b0c0d0e0f1011121314151617\nPlaintext = 00112233445566778899aabbccddeeff0001020304050607\nCiphertext = 031d33264e15d33268f24ec260743edce1c6c7ddee725a936ba814915c6762d2\n\nMode = KeyWrap\nKey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nPlaintext = 00112233445566778899aabbccddeeff0001020304050607\nCiphertext = a8f9bc1612c68b3ff6e6f4fbe30e71e4769c8b80a32cb8958cd5d17d6b254da1\n\nMode = KeyWrap\nKey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nPlaintext = 00112233445566778899aabbccddeeff000102030405060708090a0b0c0d0e0f\nCiphertext = 28c9f404c4b810f4cbccb35cfb87f8263f5786e2d80ed326cbc7f0e71a99f43bfb988b9b7a02dd21\n\n\n# Test vectors from https://tools.ietf.org/html/rfc5649#section-6\n\nMode = KeyWrapWithPadding\nKey = 5840df6e29b02af1ab493b705bf16ea1ae8338f4dcc176a8\nPlaintext = c37b7e6492584340bed12207808941155068f738\nCiphertext = 138bdeaa9b8fa7fc61f97742e72248ee5ae6ae5360d1ae6a5f54f373fa543b6a\n\nMode = KeyWrapWithPadding\nKey = 5840df6e29b02af1ab493b705bf16ea1ae8338f4dcc176a8\nPlaintext = 466f7250617369\nCiphertext = afbeb0f07dfbf5419200f2ccb50bb24f\n", +}; +static const size_t kLen40 = 916997; + +static const char *kData40[] = { "# Sum tests.\n#\n# These test vectors satisfy A + B = Sum.\n\nSum = 0\nA = 0\nB = 0\n\nSum = c590e57ee64fced3ca84d4bb013bba7d633e68b2ff4e27bf1db43f386dbfcce501f112b7fff6fb9436a576ccfccce12867becf02b91961453ea41f414764407d\nA = c590e57ee64fced3ca84d4bb013bba7d633e68b2ff4e27bf1db43f386dbfcce501f112b7fff6fb9436a576ccfccce12867becf02b91961453ea41f414764407d\nB = 0\n\nSum = -c590e57ee64fced3ca84d4bb013bba7d633e68b2ff4e27bf1db43f386dbfcce501f112b7fff6fb9436a576ccfccce12867becf02b91961453ea41f414764407d\nA = -c590e57ee64fced3ca84d4bb013bba7d633e68b2ff4e27bf1db43f386dbfcce501f112b7fff6fb9436a576ccfccce12867becf02b91961453ea41f414764407d\nB = 0\n\nSum = 0\nA = c590e57ee64fced3ca84d4bb013bba7d633e68b2ff4e27bf1db43f386dbfcce501f112b7fff6fb9436a576ccfccce12867becf02b91961453ea41f414764407d\nB = -c590e57ee64fced3ca84d4bb013bba7d633e68b2ff4e27bf1db43f386dbfcce501f112b7fff6fb9436a576ccfccce12867becf02b91961453ea41f414764407d\n\nSum = c590e57ee64fced3ca84d4bb013bba7d633e68b2ff4e27bf1db43f386dbfcce501f112b7fff6fb9436a576ccfccce12867becf02b91961453ea41f414764407d\nA = c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = 23f85668bf4d0fa273d8c7f63c5fee57811062a674111e295a73a58e08dd0fd58eda1f473960559d5b96d1862164e96efded31f756df3f57c\n\nSum = c590e57ee64fceccd54e0bdc52476a756d32e794922dca0acc780d2c6af8852351102b40dfb97009f95e019a5bf38e5d127aa78bc34425edf96f763084a8b09f\nA = c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = -4b5b16252ba2355e0b87f01baa721783c403607a4c1b5652c09a68e96926c8e314fa580bf0ad3f8f59bd70f14df86a4676661899b54c79a62\n\nSum = -c590e57ee64fcec882fef3ffd015a3fd9024d8f5f6d53eb537d6abdb0ff5e76a8fb08d5feed113fc9e74745d957adf32704a08339ba42efd5746c5d478e3f57b\nA = -c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = 908007a2f3c551c58958d1059427a0391d4d768f61cb802e4cb062c778354ea3eaa8f0dfbd14ca8203e07ae6d07269b58088a39f7608c5586\n\nSum = -c590e57ee64fceeb242f8a0893eaa0d2ccc3dc57ec40fe917cfde66618fba678ce0c8fffc566d4e8c7944d6443def8014fe8ee410a1b8dfd06cb0b436619e0dd\nA = -c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = -1999301bd9877fe07ca711f308b2f1bc4a704fd194ec4dbc297355d6285340d6ad7e90cb0add1770aea19737a06750c3a7a6fa0b778ca995dc\n\nSum = c590e57ee64fcef321395bba088ca0a867e1e85a1ea77478f8783e6a6cf8f3e582bff83cb2d7d9fd549fcbb40dea22ac140351007030059500bdca81413600e9\nA = c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = 219639ed8afc21e052422fff0ae5583231ebca2999404b099628093e6540b1dbc20b9c495aa7229b5965b19a5fcd653b3fa0eccab567c5b5e8\n\nSum = c590e57ee64fce834a00cc6282cb0eef49eac7a8d5b51988cb49253ed85ae261c76f2327a691fc63eceab02614807048b2816cdb9b89ca66a17b6ed1abdab580\nA = c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = -4e40fea1cc899fb166dbc721a6639a28be4164ef92545307ed934796afcb9401d75c18d23352471709fbd049c50740ffeebe5590fa2d959581\n\nSum = -c590e57ee64fce1a17609c61ce02f1020c6eb6e241e3fdd01546ce7247725589de32db95f36718d410f9ce9a94fecc8fb205e876fde75ce83f4d01e1bd5d818d\nA = -c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = b7739ed1cd3e67cf541943326cf76b4476f767465ee53b94c57c83de417ebee5673809b3bed1c8bac2fc4bce29a4e36d6d2083fdea1c12c974\n\nSum = -c590e57ee64fd03e2d08c3d8e5110d08e3d36557d82e0e49b408337a8c9d4298802ae5f0145a9587531a70d2f8af932b8262245428b5c549817d333f2dfaeeec\nA = -c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = -16ca20955a9d8a64cb2be217c089edecc02a75a1ea95fef584925742c18a234974c0a16ee7991e80bd8d4106db385eafaf421ac3373548aa3eb\n\nSum = c590e57ee64fd1bcac71b5b055e5934ba15dd7f56370063369c36e57a6b753269e085d0f4d38bfb711d5579dd1d89d07f266e727b232a497d5b0d9bfbc02d8a5\nA = c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = 2eb21724781497ad2f57babeea62a20c3ec5d1559867a0968d74351a337db12c17bc8d1d5446b1115b5441530870f67da4275dfd9f3e2928da4\n\nSum = c590e57ee64fc7860b0be6ce861bc2f099db7fb623912b7b0729c019a8183c669c73efe02b195483a4cd2c78244cd59678ac4d62f6887fe686a3eed37ed460ff\nA = c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = -74b7ff38760864efd658bd6699915be16cc058454b78495ade8be42c9f7470ca9b7a43655e1427ab1bc35a5693dac424a6ed92d10f85a9bea02\n\nSum = -c590e57ee64fc3126776e79d9fca06233bd2ef5570a65e4521183627bdbdbc555e9118508cf63f519bc0caedbffd5b1a913ee8c3603804820a9ce54b1207bdef\nA = -c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = bbf238886916ca0ba32e9def9f9c8a8e401eb95dea96ef02df9fc25a186e52fbee9ad42b76ba6ca2c381d12cddd4292c5d355341a80c7688d12\n\nSum = -c590e57ee64fe6dfd728dfbe45aee52380b5a00cf1e05e9f09ac582e2714bb589caf2ad038111c5b1b5573a45706ab1f6fd5d5a1ee7ef4a9bf186dca8a9ede12\nA = -c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = -180e4c29718f394424cd5b03b6bdb8911c57fcfe435cfa66d10941f870f8c5eb1e1fd251f14af03f23ccc1841f014bb42a545f476dfeb12e9311\n\nSum = c590e57ee65004b3e18a5820de4a6d25e7c3d310003e0b8716bbfd51d5f0f3e87fdf8e00599d713397255281e66ef419a9d9bb228e8f052764f5f861ccca656f\nA = c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = 35e2568ae9f1d1dfaccfc211e9c0c6eec9400a0de880a94309992528d428e77772f84e21d0287fa76cc6fb880481ebc43ad20524f895f35a1a6e\n\nSum = c590e57ee64f84896a5f11f575d34b6001f27d4b4d6e7cd9485260629f8f7f1c6ca6f6115b98d776774295dde4d59cdbbceccad097a0a054b501bfb47d81e85c\nA = c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = -4a4820a05c39969774f623bf6c03ebe0c56dc45bb46e8d1e6b32ee0fc3c6168d26c4d1c0ec7b81f1ea76f164ebd00b2a2a00aacf40175bee62a5\n\nSum = -c590e57ee64edf1b2b57b4cbb92d778ea6b9d9878a0374d4ea81691b09811b105bb6dbf23a57d89264f0e6c83f8d00fe00681644feed56e15fc81103ab9b7dd6\nA = -c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = efb65fa7b963533d48c77ef80fc7af4bcd72222cabb6232ccf3efeffdde537ce25a8e4129b91273a8654ade9a05ba3dd73740008eec82dd4cd2b\n\nSum = -c590e57ee650e25da7b60146e014f472bfff9809aa8f519db7943f69d9ad09ee75a3427c6127cce7bd27f224b9dec03111fb066956b4903f9f9740cce1aa4ba7\nA = -c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = -1138c1cb69317d3aa341c9a4daeba71400f56aae62a98acff1f9f1aec88a4ef01ceac74246fcb531738de63a94fc8b3e9c5ea3fc64101083a00a6\n\nSum = c590e57ee653af8752322840ed720f628f9674c81073b58372e49ef26d4a2a9d46a0391bc170336614b27849de98709a4b321da4ddfb978e9f10df29154edb9f\nA = c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = 3e0b5c732ba11e1074f0c69e48b78d724733c66368a21409c404debe97f444f4a352acbaef5f077d0e9479ce067043b30cd393f3fdf5d3bde909e\n\nSum = c590e57ee64bc13634cbd149aae35ee47bde6ea3663f74ff300cfdb2d845f902f017586c6d4f83f08c3b4f0c035055d13fc9d340b7b9ed164432aed44e8f4d7c\nA = c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = -40d9b56339ce561876171a9d37aabd30fcd47dca1171e5467f14c6a9f616b04d67a4abcc8334d637731816e87e35feb10dd3f1b9e50f78ae0fd85\n\nSum = -c590e57ee6477eb692705f8da1357e71591336907a5e0a6e39715088d53b2610882765357563fd101bcf05ca545a0c718f52879fdf4f80cb9a12cf108eca60ed\nA = -c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0f", "fcbd9704b01\nB = 8501af88f0ea16b3541e4cc9eb2bebef137d8d33cc4485772c43ed28f54a1fcc2012b2d347c8f126d7ae11eff2f00c37b4989c5be30bb4aa5ea14\n\nSum = -c590e57ee669b662e37f5abf13d00d2f0c1c9a8b99ec546361aad255f375bc2742a3487c351c5ba00efef09c77331577460a47c57125c620b643e9eaf36a146b\nA = -c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = -19e791587fec9007654cd8e66ab13c609d121c54fcbd84c6c7d1d7e7ec8ea4c2f65d64c5fb6e43106b8e2497b89124ce5afbcb5672ea1f19f9c96a\n\nSum = c590e57ee681dcbf1554f22c0b1ffead917dd414299cb37ce6967ffec9c333931e70358729843c8130ac95aba47fa1fa5da74000eff25eecae176f093a4effca\nA = c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = 320ded8a5583fcfeb53e576bcbeac4f04d7135d9e86b2d9d154943c3b97bafb75e3e45e7a913523db81aa7af5589604d2794974e466f3d60deb4c9\n\nSum = c590e57ee5e505ae4a2e1f25a1ae9b7b4d17dd2cccc09f2416d964e55af6d0d31fe259c160f87646a72e6732d5110256b3b35425225d622b81418435c9dd8cc4\nA = c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = -6ac92340d14f096abc24dad89a0c226c8ea322f5d4afebd1b7197c3ad46016112d87f4a1d51b2691b684fbfa9e627b806d6829de8f7b960f92be3d\n\nSum = -c590e57ee58c3ef1582bf7a516e36f92b60f5a587e2c8cb071d1d52ff215854e52de1519fd5204fa52292dfdc397d8d76b78005941358b63a3e6ca41b0eb09b7\nA = -c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = c38fe032d37689f58750c36fa28ef6bb22b5969adc3fa13a98650107d8a4bd74d3f940f6da545ba32fae7b42d9b64761953ef1bbea358a2885414a\n\nSum = -c590e57ee80262967da4038a143f8ff2e78646108f25ff7183444ba507d76f9b05a34c8310e682c05495d0863ceff264964dbfa7c064adf6d26d2dca6e22ab13\nA = -c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = -1b293c4f2a4955b07d4cf9cc1d45cc155d6bd2a769636d3db29854baaec92ab9ec084850b924e2cd6286b11e7fc09071d99e3a1729c2dfe94b26012\n\nSum = c590e57ee85427f08e8c89ffebfcc05c73370ad4cb77696c2b2f3878e6f6df341d4d931b5097aba49f14ac0312e7da1c843d6fd08119822e75e6e7a8c7bcb7b0\nA = c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = 204591f038d1bd0df9200064d852185922827251e8123a7ba48f4e4c296d943de71ad69561129a9ac2052c9d5ebb92fde4eb7d91615e7dcee4c6caf\n\nSum = c590e57ee051ca1a363c47a4cc016c3de7f7e17985009b545528289e9fbc9086f4b42a73826eca0c278b0d1b4ef6d74b9a0bfcb7855d40fdb201fbad1074b927\nA = c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = -5fe04b754c3268a406954183dba07d5b44ea6f2b785ec328cf159c866028f63efb7342f2178753e17d0b0071445b9e91d6d8957adcf041ec8fb91da\n\nSum = -c590e57edcd6e9ef06fe33f3817ba3d0c50c8122b77615c4b8fa50c5514f113d7ba53ce057d487bcbc373c4384d07b29a527b7ef785ca609474879b42a9a4c3a\nA = -c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = 978e4e284013a3b8aef1c8560a5682c81d92c8253b3c40bdb5ed911df117cf71a51767e8ccc4615e1f70c290929feb12a6e244c18888617aed5fec7\n\nSum = -c590e57f0436bdceb586a093522eb1630e0fc08f8790957aba1875a42b7676f9ca936e8f6f3478d6ef5cd590bf6ded0700440dcd769496822af8015f0a6ba2b6\nA = -c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = -1de6eefd2a87326445c3f10ce85dd7404e415333ad6a60d2fec88caa6fdcb4b7fd0e7a9ba659533758a665b451f2572cd3c9cc2ccb27019330fb57b5\n\nSum = c590e57f1df3f004d5e49f49fa28603b26659f1fd35e0d8d7a2753591dbc12c51e6b588427dbe3faba2f0c1f2f0a2aea9ba1fcb2fe71c6ff40555058d23c8661\nA = c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = 37a421334ae5311aedbd9fe500b3b5d09a0ecb466d793e87f10e2875c3b49eacb5b5e5bf712b89c5c842a397ed5046125ba6fca9e084508cf8cc3b60\n\nSum = c590e57e9a4abf4572fa7c4c9f73e9d3fd1227646fd6d15b51924bd7a5d417b01fe6b4273eaa6ece387422b81c8116f29702d7d66d2f6e8c3454807b3b7d413c\nA = c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = -4c050f8c1804f1e26cf6d682289fc1eac97870ebbb1bc8f986d9d29f3ad005b0337b8f6d108f5fa14a467060174edeca359b5bc92b7c7f509df309c5\n\nSum = -c590e57e64216c306f17017ac9dd7085113e16c83168664dbb77c7ad3ddfc79b09f9ea0c474a0b497ca15e7fb258eed9666fd009f691a3b2d691c2c6b22ba3b3\nA = -c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = 822e62a11be86cb4428d4fd11473d28707e6dbf951364d23eece22b450bccfcb2adbf2f1cc6223d9b46e987947e1e696ac3926a2893f3d052744a74e\n\nSum = -c590e5806ab4d09773c4f94a4aac09f6ed7609eec1d0bafecb09e30f032f706e9adadc191ff9e6d7dccc821f7a8666a590e521749d24912c5a5ffeff246f7c85\nA = -c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = -1846501c5e8c58b1b3e4149a0c7c4209f888178b7be5bce3dd681861f40242241add3e89c93c8ffc613bedf52e2936ad3fa59c6d6fa8eff334aff3184\n\nSum = c590e58248cbf5dd61ec57994fc862ab479dc6cda51cc17356c45cef66bbfdd12f5cc421940a561581c123fb17483beb7a1cce2596fa9ca76e722a6f4621eae9\nA = c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = 3627c270bd6ece96a435da25521ebdd7e6bcd7f2c4a16481e3a0e1381d4a60a4a21e457da38bda1a1b080b498cbcb1784f42fd2520ea12aa36cb19fe8\n\nSum = c590e5771a85bdb1f26c0386ce837bec4b0af5656496efdf4f134d875f066dd6d477ca8f87ffb275da07da4dd1bed4232849a526836b47f2d69f2d53b6b3e2f1\nA = c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = -7cbca111f98936aa83de74469daa6f3e9d4b85267bd9ac749cda77c78863eef47ea264bc56efba80b9508b32f8608117a1f5f82628931d27822bc6810\n\nSum = -c590e571c76afad23439f904e8a80fc28dcabb6cb732e361ed3eef471be6fa755e3fe746edbfe448c1f289ffed7dfc01fe9066d780564f57f93abbca9b9a995a\nA = -c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = d1ee4d3ff56c5752a23c2b09397e72de2821c5ee51f6f258a10c6efd9fc76d290846619f28710f85979498b50afc14fc922747afd669644013dd5b1a7\n\nSum = -c590e598cd5d4a59ff5d6c97c6370fb517f1d492a7776f90063b0ddd6702e37c60fc78bb12857911cea37b7263584d7dc815676de6b8880200acea154b59b08b\nA = -c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = -19e70d7b88745dfe68b9cc4f5ef23feb436e282d48f98cf90c3a54f92d0645bee3a05f7ad6859ff918fc90c62b19c3b0cd43edbdaca0dbea4971e9658a\n\nSum = c590e5b5829e6fceb77830fbe999a98127b50302fd0f6a86ea4aea27b846747a07e6fcf5457676e6446137d6bdd8ff4fb7ca747b650b066d65d7dc1e172488e7\nA = c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = 369c4ea0fd2c78c2ccdd2ee92b020319b3c3c0283fdd9cd5568b988a2aad30431dd35078aafb5db57d571177fd0978bddac2403c180606dc523db43de6\n\nSum = c590e52a3ab5d5c458634254e2f672a322000750741e969d2f6cd12d172480ad1455300e3a0575b068b85d50b58f9737be13073188d0f03b71494bd0fd2fea16\nA = c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = -54ab99f90d329c2bda29744db303b1e1fec530aba9dd4143a4158969a2466189c93820888ae04b2508b137f01af03eaf6f19f9da19ee87b3fadc4060eb\n\nSum = -c590e4880579ef7241bde94e8c7847badc705f53828751f9975f0e66371d2ddff8740b143f32e88be8e686e2bf5a3ce03d864d7699a813b1777b9239af242c7d\nA = -c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = f6e0d5df5f494184e07ff2789b494189fbb6c7f04d754f066af590bc6f6242aec332f315af601cfb76a76d4a7270cb692a0922b6a3e8556d922a4c1e84\n\nSum = -c590e6dbe54098694155509e38c61d503ab7e5237d2cdfc2b87fb57e3a8420fe37fe50a0dad4f0eae3d38fad6198e4ecaeae183a12078f53d09ac8099c715242\nA = -c590e5", "7ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = -15cfef0c997b655e26f2c5b5cfa1505fbd443dd9d7babd1a0ad0dd636aedd4796c968aef2af9ad00d53fad15d9a005c61996f3cc4fe70c9c83dc3010741\n\nSum = c590e906254d013be2021ad591e76e26706a6815b8c484b6528fec65416e1066957002713e1183f1005f565983aad7aa031e549e6fc57094ca3e4383e7fdbc15\nA = c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = 3873efd326a5702aca6857cadd04ab87ec67f75426f45e1d79414c026173ab94899cbeb85b5b75bd4001ce3505754cc9dfdccfaa63f6a6d43b80e8d7114\n\nSum = c590e0e0079190d7afd80acd6326fe93cc00903318608df31ee4493d11271dac7291bd142cca0e5dd7dda59dabd460a69b7855d9c2acb5f062de76665e07cbd7\nA = c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = -49edebe3df9db276361a943c1c259b1591c20eeb453edc9cb941b86cca2e824fcc3455befdd7125dcbbbaf326ac12d960c6e01e1464fcf289657b687f2a\n\nSum = -c590d9ae456d66c1b132d844eb223867ba4560b36f53c42a616cf8cc657e6d252f813847fb9fc50127227684e5c0f5cd890eceb341d21e788e42f843e9b64080\nA = -c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = bd0a0e2680fd9cc95ea214887ee6b6c889bc9fb7e1cab411c04c72f7d2a2b35818f7686393a21e10bd4810691852542e7ed60f8abdcd18e0787efba0a81\n\nSum = -c5910498291472fe1d0047d5bdd9e46deb3f26000e943fce8d83d700d9ae233ab3a28849bbb346803da142db6a471e9f79cd49571f40dbc46f7b727a4bb3016a\nA = -c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = -1f1942c4a42c9200d9a6b16f2417c58d3cb0d544fd8780d5c22fad0038eb58ebce72498d4844f49dc082037f974ccb7b92b67c76116f0faa72ae7242b669\n\nSum = c59112d841ea109440e78563d9eefef201c81e86ae967083f8b7db80d1eaf58551d30519ca6dd79164fe69a29cf1ba22446cb2999f73292241005bf17b37528e\nA = c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = 2d595b9a41c2b5e81734cd843e9bdc16353775472e3cec09c6afa53d0b35f71c4b425847d9561bfae749362a32cf961afbf8fca85ecce12f5c25a1c7078d\n\nSum = c590671f890ca06c74ac6d2c4d75aabeaaa55312e85a5e1ea9cef0e08e154e2b090eaba869e9f6e4a47ae10b9c1eb0f6ae4fb3ef12b3121d96066c6c8e592b6e\nA = c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = -7e5f5d432e6516530102bef515977b0c963c50f4e42862df23f09e989c2451a80e2f083c0756a488a14dcaa8d65c000202b19017b837c9ca935f4b171f93\n\nSum = -c58ff0ae92ab03072154949a7143d45278ef77a0ba71a785d5a370e0d30a9b4b4f7e96a395d13e6afeebbd717365d471ee56ba11c472a63c0532558104bedfc5\nA = -c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = f4d053a4cbca69aad9949b26ec03acc271ae7edd9ac1370aa3f059a34f040b382333dc54bfd04a17c4e7f361b2e0bffafc8ede5824195a9eaa4ad4b16b3c\n\nSum = -c5927a5fcc3b31abeca3998ad99c07626112288a6ad95b24929fed581040757fdce73881c48b02daf09986ea436a3f5ceb6833c31fa2e1691567601a26c7a6c9\nA = -c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = -194e0e5eb62da61a42b5bcd31470c3b603f3b318a18dd85f1d886e3928b3082307eaa5265049fa7960490dca2b80a3d167d227cd81713b596604e4d575bc8\n\nSum = c59395e94d495451e3fea153f3e4361a088004a7d5426c1b94aec44108ad6f5cecc3a80dda0cea9f51b882747258137e171bf021b4fc59f4dcf0106d4ba952fa\nA = c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = 2b06a66f9858058ff3324e77975c3e2ce1b589bf329d48800af6fdbff850d920cee3667e6ec6408b5001b0b908c2b68ca398112318f9f7d1f10a1723907f9\n\nSum = c58bdb26c0fd6766f3affea389cbe7db25c06d5d56356d3d945347775bddf479ffc9e279e7d1ee88eddb239906749815ae4502fbbc6fe978a001ccdafd89cb10\nA = c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = -50a582552676a974f6f8b829ed87afff17bf1e319d509785acd59d0cff5d55aecd75d8a540fb25b285ec06052ef3d000cb3a4e65ae0dcbfcf32f0dbe67ff1\n\nSum = -c581afe9b7ae86d4b7053f19649beea6cb935799a553f035f9b9a7fba6d5559e4ecdcd1637c73c8052c6cc52ee1c28d1e5aed9db7261b7356afd6e3dbc213684\nA = -c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = f35952ea147fcd3fa2f15a7ced1af5a1e91b593fb521112f46cd585d894b10be8ecc13a5ec1baf63cb60678ab5e80c8a2dcc53069131ff4d3918e1d4f147d\n\nSum = -c5a19f36a65a6a8d52a53a63f99a1b957d6e376b7010ad14695d78d67b0d7c86881006188bd27bbf205c8c9c200dc8f5c08ab6b97dcd512f6cb93ed9a361ff9f\nA = -c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = -10b9b7c00a9bbbc7a5cc34ed2f5b3f57bc4e1c36c16acd5caf64054e5f92372d594c4119ac7d83d7590a42b94641a312390018db0286da0ce83f0dc9f1b49e\n\nSum = c5cd0e5da24b67a894402b0eee5dd586ab70e5beb0693e263a54995193663a9b770141379c1f097a49d1a889bbf0c348c6f40ed50bd7bdc11a7869c6106c6d80\nA = c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = 3c28debbfb98d70940bcdfe1f3153085befc6f7719fbdf2da6848066b8504c1c4a876029f90b3f00ce263055293bf618a25834690cf36bbaa769fa36fc227f\n\nSum = c54e2c560a00226701b76cf03d5de27a8c69b38a6b85dad9f7c903d2e87f9a7d247522e72491460f6a529e5ca2aaaf690cb238b873ffb49d9fb0ecacfedd4e90\nA = c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = -42b928dc4fac6a8948013ecf0cdddb994835c4cdc9676d14e510fe442e4fd2364196f04d94b82bdeb0e3fcc41cd7e9a19f7de82ecb15b7c020131eda92fc71\n\nSum = -c4bfb037f6e6e861efb090ee610c33e7568790259f747dc6e55d442aadd68c0cc93c7617f83980e8813c0fb7dd28c8aaca6ad8fdde5d2bfec9ae096faa9ef54e\nA = -c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = d13546ef68e66f9b4edd40ab5e8c6ecf2a592999dac4802750d0a67ed75e42917a43bf79ec7d52c7c772a1899ebea7e3e6dda2c46d9e569622f65c2ed155b3\n\nSum = -c6aa2af8c9ae8be4aada83f66b7f31a8bce5e92c67d8938424a1405903e5502bffc4ee1e333da4bcfd0cb383b19a566372f877a8344b66dbceabc9786dd0e4f2\nA = -c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = -1194579e35ebd131fdb15c75f1471529733ffdd2e89513d17f32b87d73765dca50e3446c117a681b409312a4ad2cf10c4a6c10791809c866edac9ac946099f1\n\nSum = c8aff66c9bdaa49eafac0f65d3ddff223b7a5471f7400431ca3a54615d600fc4a163f8fb648bddb5fd6915db1991611805040e0f86f152c8fd3333ef70d632e4\nA = c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = 31f10edb58ad5cd24aca136c7733ecc15c86b22bdf0c1eabd8c3f9030b2257546ad3f23f265df7ab4659381b2c9d9c556b2576ee42688739d6234239765e7e3\n\nSum = be1b6eb768e2cef388eebe31f9b21e51b38b351cc8175eba06d49eef04c2936f32167174dcb82297fd4180d0afb5da2c455d158c7a5bf01bdef8c295a4f20390\nA = c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = -77576c77d6cffde0210affd12b8a2047226b4327137e38d05d975e227eb56e028a04862956ddba34bc20188b711ad2668f4a114286eda3980d83d36347e4771\n\nSum = -ba32fca1d5cc5f31ecaf5407f376d3aef9f4abc04fd4c6893721d3e50e9141abf356eb2ff6f7a4f9b42983148670d2918e1dff7aa7ae33a6e9dadcb708b4f9dc\nA = -c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = b5de8dd10836f9f9e501a2718f3eca72bbd3d8ee97a7bbdd58c40ec1e1ca8a3675fcea77b2e594194d9ff44e056b4c12033b725fb1c96ae75f62314d0bb5125\n\nSum = -e388afbf17c495f86aa7298a45f848eb57e5baaee42b1f7de8c2311bfbb8f74549712c05fd3bd11ab8874fb55abb22a37ba3512e733ecd5c472842e8e6f7b179\nA = -c590e57ee64fced18aff6e2f0c6ac05625b1e94f394f42470cae14d12cadea4f5ab6b9d77225fe3b4903825966c78752ae51b6a0a2caca555fd0ffcbd9704b01\nB = -1df7ca403174c726dfa7bb5b398d88953233d15faadbdd36dc141c", @@ -2614,17 +2694,24 @@ static const char *kData39[] = { " 81dd561d5d5327fc5ed7c9236b5fb21ef713c6d5e36264ba65ccc801b8eb107b714aad65bb503bb1f4721c0a6f97e5ab89300f049f42a4616ae43d29c089c286687484d18629c1be1b5befbdd0b3cfc86b1d28add89df4cc5e68dac3f56f2490a9068ca9c634ec258c030ec5023baa9133fd2af32fd1112895f9da549d410247\n\nModExp = 1\nA = 9dd1e6f2d3ff24096b54e0ebf0f10e283e484a1cbafc0431adda1296ed97692f3ba99440fd4f67c96dd8bab850e1123361c99362df9ea205ff8e90d1b329459f54730992d5a360e46fcc5f5a909e691abb9a06613d6991bd7c2aa609f0d7b441d7ded0c07b8c394327672d38a905efb2d76aa3be5bb14d0c002aa37e287aee79\nE = 0\nM = fda6f9d8588e3614f5a68ce867a5619f6ddbb8d64450ff402e1c4f1a08b518f79dca21e5983c207c5b7324c16895a1e9f1282fc6cf60b0645f6b02b652ed5b129e67c939e854ab492dec30ea878c3edde10a4b7d1d14c57100c6cbcc5fc085a0d7308715ed132fb917251919c727487fedb66500d5610b0014a43419acfbb92f\n\nModExp = 0\nA = 0\nE = 8622c37631e428402343dccf8ed09d47b3f4201e95058910289a62707c3ce0b7113c390056cc4796cc9893e471b12cb3f63f900f3356ffd25c8b2fed6f6a7fba2c684eb241ca706c76cecbf72473d8a58c02338e40714b5610465cc319f0a529a7aa3898d9e638b247abd1380c6e8f7fa210c9f1a1a2164db6db83a6bba79436\nM = fda6f9d8588e3614f5a68ce867a5619f6ddbb8d64450ff402e1c4f1a08b518f79dca21e5983c207c5b7324c16895a1e9f1282fc6cf60b0645f6b02b652ed5b129e67c939e854ab492dec30ea878c3edde10a4b7d1d14c57100c6cbcc5fc085a0d7308715ed132fb917251919c727487fedb66500d5610b0014a43419acfbb92f\n\nModExp = 86fb0b8dc161c41de2adb0f3ddcc8ad49c1efd729a52793a3ac987d4011c9c1dadb18657dca718df75c8ddcc49d60f152c46ab85ae9076ee7bfd405679a7da3a5195a1bbfd7d2b998c7b135ea91f8c445cbafe1276fa502c2a85477716829a2e0d24ba02623405a3654bed8f355bc7ccdb67c3f9a01e249e358b60d7699498a9\nA = 816610e6018ca47074d55750dd16a281019dbf95dc752605794cbb8ea8d75775317ce685737859728320b529fb3b4414b40bf3a93d08d8994a21ae54682cc1c357eb529837a7b0129a0843eebd9341c9bee3a8ae30475bdbff517e885a0c9f2b6a680643bd981efb53bf9dd49f3dc3cb757e117895fb34b1b4336d9bf8384558\nE = 8622c37631e428402343dccf8ed09d47b3f4201e95058910289a62707c3ce0b7113c390056cc4796cc9893e471b12cb3f63f900f3356ffd25c8b2fed6f6a7fba2c684eb241ca706c76cecbf72473d8a58c02338e40714b5610465cc319f0a529a7aa3898d9e638b247abd1380c6e8f7fa210c9f1a1a2164db6db83a6bba79436\nM = fda6f9d8588e3614f5a68ce867a5619f6ddbb8d64450ff402e1c4f1a08b518f79dca21e5983c207c5b7324c16895a1e9f1282fc6cf60b0645f6b02b652ed5b129e67c939e854ab492dec30ea878c3edde10a4b7d1d14c57100c6cbcc5fc085a0d7308715ed132fb917251919c727487fedb66500d5610b0014a43419acfbb92f\n\nModExp = 1\nA = 9edfce4691f46eadaa2043c7b1092b831ed50f3429f0bca02f985c0b77c686d951be84d772ae4b55f08935bed6e3206c8441574f215736b5c1c1b7595b3b789b55cf56db83741b10144d6767ba2b97b23a5e83504c60e06ab22834b0145655aa0463108317a379cbfc8a93de8a66925a999b8b02bf88dd85fb9898cefe9c95c8\nE = 0\nM = dcb68f6aa530ae9b31d078e2e82670adcc98228e7cf1aa59f81e66426ef14b1591b833d889463564c75b5fd5551ea295a0da581dd80f62c7008ff0f26a1c9f4f756431d48198af157149be8698336b306b0a8b8635d3fc2c4c2194ecc4d2af31ca1892917cc2e621d702eaaeed0d9a0c3dca575451eb8bc5487e313988cae745\n\nModExp = 0\nA = 0\nE = a3be10ef04535fca6784e5dbf3733d677dedd50fabbc3a860496628950b4747a328c2ce0d903cbe1e700f0af30f59fb917202257815097a2b516df5d0a82642faeffdfc3b7883766c78fc4be5901ebef891a9ca27f3bcf00960729e659bb3fddd54a19ce628e95ab86e4c7a168588bc9f67b05dd21a583acd8dc36e615945648\nM = dcb68f6aa530ae9b31d078e2e82670adcc98228e7cf1aa59f81e66426ef14b1591b833d889463564c75b5fd5551ea295a0da581dd80f62c7008ff0f26a1c9f4f756431d48198af157149be8698336b306b0a8b8635d3fc2c4c2194ecc4d2af31ca1892917cc2e621d702eaaeed0d9a0c3dca575451eb8bc5487e313988cae745\n\nModExp = 442866609915aa6f1bae9dfb59e721e1b63f42c0f75fbf0a88344120fbbd7aacf15208fb7c9d8bb8477d553cbd826d7e685ad764a8423e81c2131c040ee83a03cab8d5ce50866a941b48c78e9f1330794d908562d4141cfbf26e8c80c69551339eec41e37e2b37b54330f7bd75748f8d26d56ab9eb3b0c127540484c6445a7fa\nA = 8ff65e2cbcbcd8697cc3ce9a26855d6422ac7eb4e66500648c08be697e005cc3c854a54cfab91d43489cd60be8b516a9b3c9688e5e009a1689c6b164a133859a5464ef422c86344fef42cc477c9df27768377c126a066d1b62f593b7f6d6e906feaee16addb7cfbfc043d741b7dc81a87c17f167b7b8ef1b1fb3dfd1eb14102d\nE = a3be10ef04535fca6784e5dbf3733d677dedd50fabbc3a860496628950b4747a328c2ce0d903cbe1e700f0af30f59fb917202257815097a2b516df5d0a82642faeffdfc3b7883766c78fc4be5901ebef891a9ca27f3bcf00960729e659bb3fddd54a19ce628e95ab86e4c7a168588bc9f67b05dd21a583acd8dc36e615945648\nM = dcb68f6aa530ae9b31d078e2e82670adcc98228e7cf1aa59f81e66426ef14b1591b833d889463564c75b5fd5551ea295a0da581dd80f62c7008ff0f26a1c9f4f756431d48198af157149be8698336b306b0a8b8635d3fc2c4c2194ecc4d2af31ca1892917cc2e621d702eaaeed0d9a0c3dca575451eb8bc5487e313988cae745\n\nModExp = 1\nA = fe9f77f7d0475e00ec964c0effb9b8e079c32e376ce77a9c40ce4018c3df44a77b4f294d9565502b2b79accb30cb58dda6d15e1543b6d4a53296543ed11c7f51baab60283ef03fae37dfeacb431392487ec2839551a933895c4dbf18844f7b375d3e6f558d3c39993cea1bbf7fb743a6a07bd3753c03eb7298811476d7f3ff1d\nE = 0\nM = e7a96cf6fa930f73c8bdc2726bbba246001a9d27f39cc2b978c99dc6f15af0e8aaf26b565302f1112e607e2df4066948baba931b89cd9bbdea2072e05b9a4968fdf282c43d997987c3a3a0434e925a679ac81f316b7a7b724b79be3d6888b66f4512759bf66cfaaa88b9513dd27a44aaea75437268a014c4eb50ba2e50093511\n\nModExp = 0\nA = 0\nE = a0bc148ed50a9b54036bb8fa1f214979052ebd47db8b347af3bb03b806bb457b468ba34781f8a25f289a7a90af4903dc14809a166df2f4c3527de2ea6911cb1afb9071a4afbb522a7d50634d66fd584c73f32d05217dc9f7f16394c68a692a953492ca85f89cc11da95fd8cac6231647923ced48a1b3b0ee68c010286d452836\nM = e7a96cf6fa930f73c8bdc2726bbba246001a9d27f39cc2b978c99dc6f15af0e8aaf26b565302f1112e607e2df4066948baba931b89cd9bbdea2072e05b9a4968fdf282c43d997987c3a3a0434e925a679ac81f316b7a7b724b79be3d6888b66f4512759bf66cfaaa88b9513dd27a44aaea75437268a014c4eb50ba2e50093511\n\nModExp = 91fd879d02f95a9f40fcd1037726f73892caf84e9b43b4aa4126d9062a0d22c464e7af2fbd91aa849612d99d9519b724a7fb1cb018fffdcff321d883ab2519953c9f174f09dd8f13ac87339887385966eb4a94842276637b2c36c0a5036b1d3bbea438bc6efd4b4851c7ec06879d60694df894717569bcd31c4b13d80df6cbca\nA = cdec5edc1cb3ea974342b85aabc0f9385cf877ca328747d40dd4d297623ad69ab6582653faeed5aef225208305135cfbee32e066cb43e18afacea3a32acc8aabbc49617ac33e741651924ae56dd6aa044a12a1ea50fef573b5befb2f4b21b9cf83ab2aaa6fd153580a0761666ade8fb94f202a3c3dc4f33297eabb4564374168\nE = a0bc148ed50a9b54036bb8fa1f214979052ebd47db8b347af3bb03b806bb457b468ba34781f8a25f289a7a90af4903dc14809a166df2f4c3527de2ea6911cb1afb9071a4afbb522a7d50634d66fd584c73f32d05217dc9f7f16394c68a692a953492ca85f89cc11da95fd8cac6231647923ced48a1b3b0ee68c010286d452836\nM = e7a96cf6fa930f73c8bdc2726bbba246001a9d27f39cc2b978c99dc6f15af0e8aaf26b565302f1112e607e2df4066948baba931b89cd9bbdea2072e05b9a4968fdf282c43d997987c3a3a0434e925a679ac81f316b7a7b724b79be3d6888b66f4512759bf66cfaaa88b9513dd27a44aaea75437268a014c4eb50ba2e50093511\n\n# Craft inputs whose Montgomery representation is 1, i.e., shorter than M, in\n# order to test the const time precomputation scattering/gathering.\n\nModExp = 9442d2eca2905ad796383947b14ddfcc341f5be8fec079135c36f6f0d9b8b2212f43e08bf29c46167ff0fe16b247cd365df4417d96cc31c94db1cf44b73b0ee3ebcc4920d9b0d003b68e49c1df91e61bc7758a8a1d2d6192ff4e1590b1a792f8be3a1b83db3ad9667d14398d873faf5d885ec3a2bef955026fae6dbf64daea2b\nA = 3a4b4c57e62c5e9d1a9065191f8268fed9d5f6f424d071acef66f0662b8210f4c029ed991512e40c9c912043c816d2c4c5b53fa0e5c253e16808aad4225130dafbbb89fd4f30cdfc1c2f2179b636a7ddc4be579795820b4b9377637bd8a21a0ef5a90d0e0f865321eee23d9be2a3b7320b4012d02941b892df2c40bdc85c1898\nE = a2c56ea1362511cac0301918e15a9afe7d37edd438a5c3538d258ea01f0a6df758de07111e868b3ad8fc89b629b4955d78a1b3af902be1806410ddde25ccc6a196ba5949395c1ad5d8725b18815dc1cd5ac1c7dd17773f571e3f2e628255af14476e0494be23a4a4dfd18e23142f33d7a59c236fec61660e360d9676a747c69f\nM = ede35a3a7afac817d413373a2032abbc067b1493f709ae6e1282ee5469743391d891b904938857168802b7872d3cd7ac18ab249a9e540a86f970b1d0f310a4cc29df1cc9d4063d98c554f1a32f4ca5eba3523cdfb142e0fc609907c7a92bb0187009d97ec471db3545f42dd5fd29c07b7816085d09477ba31fcf90084660116d\n\nModExp = a7f5844fa9e7202d4b70ee252c9846e63d3d091b0387768ded872cec53458e19df0d9b4960226e269b8ca5dd4c4eda423a67b6dbb48235c08c12c6c7c78db47287756d3ed9cecb9232f7d18d5d80b9676cb68ba4a290c97e220beb1a069976b5e6022a4c1e5ddbeec86b62dda24ffea1deda37695c9f61a8817218e6370c0679\nA = 7d6d0cc947ceb949cdc4e9e1044f5deca5bb05a491041e0d85bc4b92a0944a57c72845fad91e", "59010c61ad1712bd2f612d53a846a044632262a9f2e3373b062fde2484e0c165ff947f2469f743ab6e2e5e13c640fc4029b1c9213eb8473c674e7f9e95a4a5c5636d4656c1e696962340d77b322daba47d6fc894f2a2cd9e0afc\nE = b78012afe806e2344d004c739c97324256850980ac97d88c4ed9a838517639ca112e235978d21a176c33f5a68703aba0f2a05501bbe3fc8d49a000fbf530cdb431581dfaf8683cb15a2aee5e239cbc542827100da3b47babf4a16ca7c588aff9912e674abb449e0b767a15e415f4e7f2bbd6380d7131da3df8d49b13bfd35ce3\nM = b72d5c55bd2998472f1965e75a51be6155c1ba04656da8f66bcb34db36a7b1db66a89d1d05b1bde10206acf85be7b474ab689220faf1bb52ab39d8dc00512dd4e26df1179c11b973e1274db85a88c7cc2a17113abdffe58cb930ddc5f3ccc4d68b4e65c913730509f7ce5656e8bbaba9b1be177ab9f766678f018fea05da9cdf\n\nModExp = 465ff295786a88496828fdc763e9292d557957544e9322b7996807b87fdbfa7a11614bffeec557ca831c4824c8e4ca3b1a1c7f3f4f95ec3fd6a86b73bb13d78b73af2b3c7e76954d0cc03bcb0cd606867ebb3765a8b3d0108cbe4f343a14016be9c33f6d200f0dc547e7d6b02bfab1e79dcdf9c9835a814cc6c855a12ebeb66d\nA = 89ad02bea3e9ab839a6e23f20122409daba52c68e1e893034b30d321c0305434a6af940015e3fa5ca9c35230da34beeb1ed4fbce6c1da3a8bfe3f3ae172276c1d1723b47ee61e6f8fcfdafad102d6f7ee2a79f510c7edb93096205a40a6c9e665b88b18f39a979e2e61286d939952a6f02fe8148b7515bb25f4252337cb6e60d\nE = cbd6ac628cc7afa3c61bee9c22a06a395087ec1811fe9681b55216700c435996c815e7cec8aaa90016dd2382d0306a5414630124e14f3d396a4ba02ee17851bf720f1607ff813e4bbddf01338983db12f59bd6371a738eee3eeb716f21051d6174d2d6c77602942b9edaac18d4b3a723096c0d00dd23a8a605c585022f311560\nM = fa7a3e40364c8a8d0f14f0213a3f3e035222ca0ea19d46d10ba41580e5dd2805c8a133f3856d7d5d97f922ea540e5eb0d10ad04dfdbb74f518f58da0099a6fc2b3f3def92985176e07fc78aff2faebccca10a429794e5f15ff92f75fe90f527c60ddea8093a9078c703c372ca09f7aeb27ade02f3595308c61dd9c44e62fd101\n\nModExp = cf08bf00261402102e9fe03f3074471dcf0e9b3c96d4d1503f099f24ec85e1901b023e9e048c1ad042244f5f70b38b25a99f4c0a7b57d5844bb0d0137367f45f4ce2cc7746105b77414768cb97648dc5721149aed2d4c682408cc0d50d26dd0bd77e848911f8625c727cac5f32e63bcb548f41a57d718d772f23983a42f603bd\nA = a419646a6631c2c69b18f7aa65011825eb31692eecaee9d74f92d92203811b68e9764bda31a1585bdf69b6273fc6f9f508c395ac081336506525dad88473512f08a205621ac8b16e9864c7a7c5a4f17435de00d0b32badec6ce4897e3e1076c562b6d9523f63d0b2079eaa416cb090471657763f24931d955d1fa2720c80a9c9\nE = d5a6f4a1842aaee39805356dc8d0d678ee03b2c81277345beccb2742f899132feb43271f95968a01ae68aa8277201851992dc0aa7a71c90aae71b124d873ee264ea400fb131be0fc6c4ce8c04c45f6bdaca89ac743635caf6158983d257e21cef6800d7f990e912ba21bbfb8fb779afa4abd19e07e7e07eee9908493d1ca502c\nM = e739689b6cc6def1d45fb1a2ab551643beeb303f4aaa4da47ee5e4948510f8445b4c40e99ae8354dede60b2ba6694e93bc4d573b7e8adf871b7a9a9636eb7d70f2e49328e2d7978143b177cee8374ef01bd1ee2d95862765883f5e7971668b53ef0ff41b6539faf63c397522b0bdce916388e72e26c8d3d2e58dadeb9eb5d479\n\nModExp = 827e6312ec3b14600203bb83f5b277ded197b2967363630ef673240df05edd3ba8ab2b11c86251a612206569c6c33952b31e264f129909bfe723bd0ee1624b36cfcfaa893a6ec8b5a1f7de79f83e79b459a3350f89f412ad1cfd6bc4c2a7a29272c783d6ecceeb1398fa17041835643f4debef9b5e87b098d104bb8912dddf7c\nA = b8e49c637829021d32db3a39a0c1e58cdd4c6e4eda7e8e9293be379e9c2e2d184f929d278598a81ae231cfedcf69cce4a6e31cda3c8ac14d753a7311f2436e29795f0dfb60259a0f61a997918ff984aa2284b43a9d64c974059e9682adfffd018305835f74eda8c75fe4877d811c1620f654ec9f7f32d1af5ce59115e2f41785\nE = 80e0febf369d234bf1aaad4f82df2e2ff02882c3184781f6ccdf4f7cd93b6887af86830077c84dfb02109ada05b40970b1c65228b0c19030bd6361c3537fee22a8155c03b4e7007ca006c6daa3659518d05bb81ea0079456d0ef6116df248dffdb0c935f321f5a1034deefd5a9414a0652aa6548de33325b474b9e5a8507a082\nM = d5eb1d14af842a9973274f7463d90cf0ccff19c47d710edbae184478d4f29b02693ed7958bd487054327b9e6d8879e24c9af7730b92f323eeac05558da6c1b952e5dbf13de236050a77628bb5325fe0d14cc5773bf73338759d5ab43c212b414581280f1cee250007e53791b800b61c90de0328acd7bc43fbdda48158939392d\n\nModExp = 4a1efd29c7e78549f5cd4deed1454b37462c7810ee6a8a2493b764dfa479be13b314cf9ff98259517d61865567ef499a511630c0038c97914625df181c6fe07892f329f98b344a78d751e9471483eebaa7977371bf97bb25187ae7e93a9227d6c124ccb4644423c961a11ae59c4354f89d5a95164c23d9aa256e289e9cc0858e\nA = bd86c9211fa6a47a06e5016c46cb8a99e34a043a29e22f8c3196fa7197c26b38927b8d9bc0ddc11a5fa4bcc44deb69dbf37cbe7ebc9a2fad6c74e09ab5a9dd929fa04ab4319b6caad1035739be78ba631fb0748d9e53944836d37ccda6e6a62823c696d8f31139ccd7f2f86b22fa026ecf433cfb1271a3539ac4f1c83aaac059\nE = c40b9972006d28a84c2769a86e526a2b274f73afc7c5c6a2742166757f61b5f5fdbb228afa157af62af989ffe966f232bba9e6beef5403d1690ade31a6410f7f349a35bc4267a129afd647993df7d45cc0e1a1ba4678d7f1b6e8a344d8ff7037679e1f4db25a454e4246f6b55c416567fcfa188e8a3865115851d9edf0aa8902\nM = cf424d7af75ce7eef90cad75ae55ca8810cc7b4703fdb5bce701e7bac07e0c371cae06df2aa8facb55a0faa6793e4d2bd9d7969703743b9be170be82792aeea55e2bc0f7ab7617b276486bf474dee2f4556aab595ff3ef115139cfe5e21ccd4ee05c0e1cf901bd85df86cc17195a783b0be836d00bee82ce064077f9191188f9\n\nModExp = 3137a3049fd4ad2e26d870f5c998cf11bfe82101884a82e85e43facd0928cd7434a2e346ca124619769fa141bbe92ad6f36b99231032ddaec3b349a410f82b5ca36f45e56e5fb85dc63d32053dc90805d3f1854ab385281a71a57726bf97158494e7476057214ca7379ab8b70f5bdc15f70bdad3adf33c3a1f9cd1b6bbbad556\nA = 39a1dc6a4c3f14d9c350ee968d5ce139ef725952c967a2d1bedf48ace22091283525be03807e2e263d2640be77f0525247bcd07149bba50568cec5a082c87d72962cf9e43bcb5cdb1e7e9a650fb53e0ec2fad37f09a9f036c0d7dfa528fef846769f80a9a60854910ca1b4ee05dba82ed2ee018348d6b3e52a764b8ffae61e0\nE = deaee3a3f80c9f684ed7110c0653847ccc7be5ff6d982fd4b49f59b5dd35f7210b1077babbcedbc127df35cd469dc6e569a0f84e58149b5605c94b09fd7f0b098d02b4a04631328b3fae39e6c2fce25334225cab71829abdb9507cb903701559660f2c08c3b743336119d1260a0db27054cad3f28bc1b04b2289baa58fb33965\nM = 938388927d06ed3bb1286c0f06d3054cb0ee16dc7a0bbbf13a45293c09a5f40f1d611b2e1a1b0ec2ef109b508e27af4274954905cae52034f8740a744153b4d22059f0dd262ea51785522098ecacced6da07709ee6b5acc8c4e99331379a7c3de7f4e2d1431e43b19570140955b7bcba118dfbaa552cbfa2be531e8f781166ed\n\nModExp = c15ae334455d9f4d1030cd33e734726a27c63624c2afc576238cce5e0498298a4a0c93090a0d19568b41290303c4b558f3d9dd74f9cde8798710f68569ea0d6fd971ce67ec5b54495031de3d8842b8b49288725bee5c9f72b99054d64986ccd4e18d70d5f33943f08cd694eff538f84438ea993ebaba0910c95b3a694f213510\nA = def633b955a917569df3ba8517455eef0655e7a35985edda27097a063e0d82c7c3a76dc36c5d8a71ba9d540790ddd0ea514aaed98925f9a1808eb288d387aaf9605a9ef8a333ebee7ad7057bca012efd619d5867f02266f65976ef4b16da17468426ac4f99b3e8921707e01b4de20f6f9a068e6a19d872079a27f3a44449db83\nE = a465c47b0d15d48e01bb8b1d8e3b3253e11515f6874dbed6c25818adf1a8fd927124d5593beb367f685c11e46f18415be73ccdf16fa2e93a600b728163d21d232849e5278c3749d903edad3f1c4535a2f55a2ab65e7ebc64888bd2a0527e876ecf38cec3ab1980d08138709fad8eb88ae65d960adc3f0f8e92f784fe96fcb693\nM = e43cb9ac1446154356cdc31ec771c79b0e461e22d95185bbe1a279c0945e3af07903a0cb54d553380716fcdcafb4b7cf5dc6da481dc74a8c583d75ff6c1f8e429182d200246ebc473bb56e173787987c1b7fb2dd23f5b2e438a97bc4a1df628bc044fdd1e80c0cf37030adb7b04784dab827d0dcd64f0dbf37c980612570ce11\n\nModExp = 75c3f79ab7c991b98e65505342a8a563cfb08b5d3ccf8664c7db1de50256b1d17ebf7096dc98c7bb5d7f027a894ae5cbb14dee04d5d445e775ad7e239acc82673b0ac2d819a69c83864f34e73d9a636f05de8279619a067b4c90ad038db5910447e03841d2034635018f08cbcd21efa00994247763a249082594128112f95232\nA = 34def7d76f6f158a359fd12759fb889cdf6af0a24830dc3e84283a1ab4e9b2647a6a36b86482f829b2cdf3e3d6028f9a884b1f64f7262315446bea8b0231828e2f3d990fb103c17f820b39e4b8427c85643ceeca8f5dc8f191d1255768300e859bd7d88c770319ef38269660d221cb3bc061389b6fc0783485ef042b1c7d6fef\nE = c6c46453dd5aac6b37277a446b1d0c69cbe476eeff55b3ac35edb89ba97116b0e7783660f2c7b31b2a2d6c4709d0ab45d01a838100694b0777c9c9c14c959b07c437c73a5eabb7402f1001e802d797a2e7707285834fb6440a1c2f727f7bb84ddb2a49312d32fa0ce620c43872655cb5c394749c9e75d7fa25be00efe50d47d6\nM = fbbab6698a9142095c46b38a732592e4366c1838b84bf40f8c8fc7b630f73380a0d09765562365798f8c8030ed1b6728329d8bb06e882c35a1d59bfe84146a9db2afe42a414014e247390281c782fce806d62adb54778d2bcb49555459429d6ed446af5359657667f6aa19e8e3e0e24ab2bc312b2d90b5cb1ce6f2f15af15d9d\n\nModExp = ba16d7f3f6e162ce248490d164a13c00e7720d8a667e2d3ebeb13f1663e15ef5408d5b56cbc7bc793a8ca787cc50f8e15e0e9d4ee764531d04a9114eea556bb3e2", "06ed7d85267151a056b6e68fbf35e03f2cf829708ffe1de13e95ecfe365aff1eea36340ffcd3892dee659fb1ecbe50f5080e54737c10f9c1ba638b14ef537e\nA = 9025e6183706105e948b1b0edf922f9011b9e11887d70adb00b26f272b9e76a38f3099084d9cccf12d04b1a99c0f654f8b9ed90c6dff9478c60bf05d58d734ab60eaefa14a22230ec60c90dc1f0704b61eef0bef345785ae0e6a9af7db069cf6bd2b4e0fe58a0ade83c7e46a04b9fe1d24cb9b65c6f80de713e61d70eae5b286\nE = d7e6df5d755284929b986cd9b61c9c2c8843f24c711fbdbae1a468edcae159400943725570726cdc92b3ea94f9f206729516fdda83e31d815b0c7720e7598a91d992273e3bd8ac413b441d8f1dfe5aa7c3bf3ef573adc38292676217467731e6cf440a59611b8110af88d3e62f60209b513b01fbb69a097458ad02096b5e38f0\nM = e4e784aa1fa88625a43ba0185a153a929663920be7fe674a4d33c943d3b898cff051482e7050a070cede53be5e89f31515772c7aea637576f99f82708f89d9e244f6ad3a24a02cbe5c0ff7bcf2dad5491f53db7c3f2698a7c41b44f086652f17bb05fe4c5c0a92433c34086b49d7e1825b28bab6c5a9bd0bc95b53d659afa0d7\n\n\n# RSAZ 512-bit.\n#\n# These are regression tests for code which historically reached the RSAZ-512\n# code. That has since been removed, but the test vectors remain. Note that the\n# lengths of the inputs, especially the *bit* length of |M|, matter a lot.\n\n# Control: No relationship between A and M except that A < M and they're the same number of limbs.\nModExp = 7f34c1cd63377bc3abf2bb5b2d1bf5f06454e1e8040fe19a72245ce9731cbee1bf9e84532300776c8021ed4f3a8de508d85b4cf320bd82065a013754857b50c4\nA = 8e4e67da6ff890643d0599387955996ef6f0c2045eb9944576ddb965ca64cdb6247727ce128ef178d4a84e5a56d2e67eb0fe389ecbf691f9244ae80f4c11b364\nE = be99d8f0650e540b9b191e9cf96f74881b902e32ed169ffd8a1776c3f3e80f0ac765aa14615713e1549f250a20fe4ee48c4e0c6176162fc7842a0dd64d640d1\nM = f12f2c19ee1ecf2c999b87bdafde60eace3790faad8f9adec13b14c6dfb69f8795a1d0fe65494250b59534014b918453042012952ae6f5786342999600725491\n\n# Same as above except A is negative.\nModExp = 71fa6a4c8ae75368eda8cc6282c26afa69e2af12a97fb9444f16b7dd6c99e0a5d6034cab4248cae4357346b211039f4a2bc4c5a20a297372094162417af703cd\nA = -8e4e67da6ff890643d0599387955996ef6f0c2045eb9944576ddb965ca64cdb6247727ce128ef178d4a84e5a56d2e67eb0fe389ecbf691f9244ae80f4c11b364\nE = be99d8f0650e540b9b191e9cf96f74881b902e32ed169ffd8a1776c3f3e80f0ac765aa14615713e1549f250a20fe4ee48c4e0c6176162fc7842a0dd64d640d1\nM = f12f2c19ee1ecf2c999b87bdafde60eace3790faad8f9adec13b14c6dfb69f8795a1d0fe65494250b59534014b918453042012952ae6f5786342999600725491\n\n# A == M - 1 == -1 (mod M) and the exponent is odd so A ^ E (mod M) == A.\nModExp = f12f2c19ee1ecf2c999b87bdafde60eace3790faad8f9adec13b14c6dfb69f8795a1d0fe65494250b59534014b918453042012952ae6f5786342999600725490\nA = f12f2c19ee1ecf2c999b87bdafde60eace3790faad8f9adec13b14c6dfb69f8795a1d0fe65494250b59534014b918453042012952ae6f5786342999600725490\nE = be99d8f0650e540b9b191e9cf96f74881b902e32ed169ffd8a1776c3f3e80f0ac765aa14615713e1549f250a20fe4ee48c4e0c6176162fc7842a0dd64d640d1\nM = f12f2c19ee1ecf2c999b87bdafde60eace3790faad8f9adec13b14c6dfb69f8795a1d0fe65494250b59534014b918453042012952ae6f5786342999600725491\n\n# Same inputs as above except A is negative. Note that A mod M with a \"correct top\" isn't the right length for RSAZ.\nModExp = 1\nA = -f12f2c19ee1ecf2c999b87bdafde60eace3790faad8f9adec13b14c6dfb69f8795a1d0fe65494250b59534014b918453042012952ae6f5786342999600725490\nE = be99d8f0650e540b9b191e9cf96f74881b902e32ed169ffd8a1776c3f3e80f0ac765aa14615713e1549f250a20fe4ee48c4e0c6176162fc7842a0dd64d640d1\nM = f12f2c19ee1ecf2c999b87bdafde60eace3790faad8f9adec13b14c6dfb69f8795a1d0fe65494250b59534014b918453042012952ae6f5786342999600725491\n\n# A == M, so A == 0 (mod M) so A ^ E (mod M) == 0. Note that A mod M with a \"correct top\" isn't the right length for RSAZ.\nModExp = 0\nA = f12f2c19ee1ecf2c999b87bdafde60eace3790faad8f9adec13b14c6dfb69f8795a1d0fe65494250b59534014b918453042012952ae6f5786342999600725491\nE = be99d8f0650e540b9b191e9cf96f74881b902e32ed169ffd8a1776c3f3e80f0ac765aa14615713e1549f250a20fe4ee48c4e0c6176162fc7842a0dd64d640d1\nM = f12f2c19ee1ecf2c999b87bdafde60eace3790faad8f9adec13b14c6dfb69f8795a1d0fe65494250b59534014b918453042012952ae6f5786342999600725491\n\n# A is negative, and A (mod M) is the right length for RSAZ.\nModExp = 8d76eb0f8c7bc3160cc8bb0e0c3590fbed26c5932f5f525b48045c0bd46dda287ba5483f97c851fb7c12c2e858ee7a4a4d1af745cbfb3eb311fa54bea12cde25\nA = -80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nE = be99d8f0650e540b9b191e9cf96f74881b902e32ed169ffd8a1776c3f3e80f0ac765aa14615713e1549f250a20fe4ee48c4e0c6176162fc7842a0dd64d640d1\nM = f12f2c19ee1ecf2c999b87bdafde60eace3790faad8f9adec13b14c6dfb69f8795a1d0fe65494250b59534014b918453042012952ae6f5786342999600725491\n\n\n# RSAZ 1024-bit.\n# Note that the lengths of the inputs, especially the *bit* length of |M|, matter a lot.\n\n# Control: No relationship between A and M except that A < M and they're the same number of limbs.\nModExp = 8984f8c16044f9c0ad7bd72347af90f58e6e003acda92b76e3c7c4a56ea8e918409d8e9b34884d4c89d0b17cb40fe898f2627c084a0f1698e46beccbf6f48eecc281e11ea9e5135adba460ddae157f2c655b5f589ce29b254d43a960a71cede8a08dbb86be4dac22458da232fb1ec2470856827302ed772c9ddafa408c931aa7\nA = 21158da5fe20356825e72b3f5384ec57720d22f727b27ce2f945c8ee311db781add73bf8fae96b775c909bd22fca75c44c2b0584284a5bb1c07f8eefcd6b0a44047a02b185df34f897f11d4fb9a86c9eb841b4cb8d0383441fdc5af3ef385b5e8380f605d73ed41bb42eb2c2a5704d6034b3ad058dafffce83dbbfb6295daaf8\nE = ecdebd112b3b5788669449dcddbd479a203ee9ab72a9bb9c406b97623513bf0ab9a22f1f23634d269e16bfd6d3b64202b71fc355057411967b6ac70f8d9cef0a4e06819a9a18cc06bbe438243fa9759303d98be8a65dc1cb13595ee9b99f138554425d50f6fbc025d8ffa3eaea828d6f3b82a3584146bafde34da257995f0575\nM = ff3a3e023db3bba929ca4ededbace13d0d1264387b5ef62734e177eaf47a78af56b58aacc8ac5d46f5b066bafb95d93d4442bb948653613eec76837b4ffb7991cb080b6c8b403fb09bc817d026e283ee47ab2fc9af274b12f626eda2fe02004a8e27b9ed7d3b614e8955c7e7c2c0700edd079455237c4475fbd41857e206e4b7\n\n# Same as above except A is negative.\nModExp = 75b54540dd6ec1e87c4e77bb93fd50477ea463fdadb5cab05119b34585d18f971617fc1194240ffa6bdfb53e4785f0a451e03f8c3c444aa6080a96af5906eaa508862a4de15b2c55c023b6f278cd04c1e24fd0711244afeda8e3444256e51261ed99fe66beedb52c43c825b4c7a1adc7d4b111e2208ecd495df91e175573ca10\nA = -21158da5fe20356825e72b3f5384ec57720d22f727b27ce2f945c8ee311db781add73bf8fae96b775c909bd22fca75c44c2b0584284a5bb1c07f8eefcd6b0a44047a02b185df34f897f11d4fb9a86c9eb841b4cb8d0383441fdc5af3ef385b5e8380f605d73ed41bb42eb2c2a5704d6034b3ad058dafffce83dbbfb6295daaf8\nE = ecdebd112b3b5788669449dcddbd479a203ee9ab72a9bb9c406b97623513bf0ab9a22f1f23634d269e16bfd6d3b64202b71fc355057411967b6ac70f8d9cef0a4e06819a9a18cc06bbe438243fa9759303d98be8a65dc1cb13595ee9b99f138554425d50f6fbc025d8ffa3eaea828d6f3b82a3584146bafde34da257995f0575\nM = ff3a3e023db3bba929ca4ededbace13d0d1264387b5ef62734e177eaf47a78af56b58aacc8ac5d46f5b066bafb95d93d4442bb948653613eec76837b4ffb7991cb080b6c8b403fb09bc817d026e283ee47ab2fc9af274b12f626eda2fe02004a8e27b9ed7d3b614e8955c7e7c2c0700edd079455237c4475fbd41857e206e4b7\n\n# A == M - 1 == -1 (mod M) and the exponent is odd so A ^ E (mod M) == A.\nModExp = b5d257b2c50b050d42f0852eff5cfa2571157c500cd0bd9aa0b2ccdd89c531c9609d520eb81d928fb52b06da25dc713561aa0bd365ee56db9e62ac6787a85936990f44438363560f7af9e0c16f378e5b83f658252390d849401817624da97ec613a1b855fd901847352f434a777e4e32af0cb4033c7547fb6437d067fcd3d964\nA = b5d257b2c50b050d42f0852eff5cfa2571157c500cd0bd9aa0b2ccdd89c531c9609d520eb81d928fb52b06da25dc713561aa0bd365ee56db9e62ac6787a85936990f44438363560f7af9e0c16f378e5b83f658252390d849401817624da97ec613a1b855fd901847352f434a777e4e32af0cb4033c7547fb6437d067fcd3d964\nE = 61803d4973ae68cfb2ba6770dbed70d36760fa42c01a16d1482eacf0d01adf7a917bc86ece58a73b920295c1291b90f49167ef856ecad149330e1fd49ec71392fb62d47270b53e6d4f3c8f044b80a5736753364896932abc6d872c4c5e135d1edb200597a93ceb262ff6c99079177cd10808b9ed20c8cd7352d80ac7f6963103\nM = b5d257b2c50b050d42f0852eff5cfa2571157c500cd0bd9aa0b2ccdd89c531c9609d520eb81d928fb52b06da25dc713561aa0bd365ee56db9e62ac6787a85936990f44438363560f7af9e0c16f378e5b83f658252390d849401817624da97ec613a1b855fd901847352f434a777e4e32af0cb4033c7547fb6437d067fcd3d965\n\n# Same inputs as above except A is negative. Note that A mod ", - "M with a \"correct top\" isn't the right length for RSAZ.\nModExp = 1\nA = -b5d257b2c50b050d42f0852eff5cfa2571157c500cd0bd9aa0b2ccdd89c531c9609d520eb81d928fb52b06da25dc713561aa0bd365ee56db9e62ac6787a85936990f44438363560f7af9e0c16f378e5b83f658252390d849401817624da97ec613a1b855fd901847352f434a777e4e32af0cb4033c7547fb6437d067fcd3d964\nE = 61803d4973ae68cfb2ba6770dbed70d36760fa42c01a16d1482eacf0d01adf7a917bc86ece58a73b920295c1291b90f49167ef856ecad149330e1fd49ec71392fb62d47270b53e6d4f3c8f044b80a5736753364896932abc6d872c4c5e135d1edb200597a93ceb262ff6c99079177cd10808b9ed20c8cd7352d80ac7f6963103\nM = b5d257b2c50b050d42f0852eff5cfa2571157c500cd0bd9aa0b2ccdd89c531c9609d520eb81d928fb52b06da25dc713561aa0bd365ee56db9e62ac6787a85936990f44438363560f7af9e0c16f378e5b83f658252390d849401817624da97ec613a1b855fd901847352f434a777e4e32af0cb4033c7547fb6437d067fcd3d965\n\n# A == M, so A == 0 (mod M) so A ^ E (mod M) == 0. Note that A mod M with a \"correct top\" isn't the right length for RSAZ.\nModExp = 0\nA = b5d257b2c50b050d42f0852eff5cfa2571157c500cd0bd9aa0b2ccdd89c531c9609d520eb81d928fb52b06da25dc713561aa0bd365ee56db9e62ac6787a85936990f44438363560f7af9e0c16f378e5b83f658252390d849401817624da97ec613a1b855fd901847352f434a777e4e32af0cb4033c7547fb6437d067fcd3d965\nE = 61803d4973ae68cfb2ba6770dbed70d36760fa42c01a16d1482eacf0d01adf7a917bc86ece58a73b920295c1291b90f49167ef856ecad149330e1fd49ec71392fb62d47270b53e6d4f3c8f044b80a5736753364896932abc6d872c4c5e135d1edb200597a93ceb262ff6c99079177cd10808b9ed20c8cd7352d80ac7f6963103\nM = b5d257b2c50b050d42f0852eff5cfa2571157c500cd0bd9aa0b2ccdd89c531c9609d520eb81d928fb52b06da25dc713561aa0bd365ee56db9e62ac6787a85936990f44438363560f7af9e0c16f378e5b83f658252390d849401817624da97ec613a1b855fd901847352f434a777e4e32af0cb4033c7547fb6437d067fcd3d965\n\n# A is negative, and A (mod M) is the right length for RSAZ.\nModExp = 9cf810b9e89d5cbc4b79ae64e123ea06d92965e2bab077df97a1b906dc2e1ddcf96a9c4ed14e2cd96309b829ea9cc2a74a7d4b43c5f34d792a7c583201427754b8f78b783608070a84b61f18913e3ced7f7f530972de7764667c54e29d756eea38a93cd1703c676a4587231b0ebfeadddf908e2877a7a84b5bfc370ecf0d158d\nA = -8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nE = 61803d4973ae68cfb2ba6770dbed70d36760fa42c01a16d1482eacf0d01adf7a917bc86ece58a73b920295c1291b90f49167ef856ecad149330e1fd49ec71392fb62d47270b53e6d4f3c8f044b80a5736753364896932abc6d872c4c5e135d1edb200597a93ceb262ff6c99079177cd10808b9ed20c8cd7352d80ac7f6963103\nM = b5d257b2c50b050d42f0852eff5cfa2571157c500cd0bd9aa0b2ccdd89c531c9609d520eb81d928fb52b06da25dc713561aa0bd365ee56db9e62ac6787a85936990f44438363560f7af9e0c16f378e5b83f658252390d849401817624da97ec613a1b855fd901847352f434a777e4e32af0cb4033c7547fb6437d067fcd3d965\n\n# Regression test for CVE-2017-3738.\nModExp = d360792bd8210786607817c3dda64cc38c8d0f25569597cb1f363c7919a0c3587baff01a2283edaeb04fc288ac0ab3f279b2a89ffcb452d8bdf72422a9f9780f4aa702dc964cf033149d3a339883062cab8564aebdbfac0bf68985e522c6fe545b346044690c525ca85d3f4eb3e3c25cdf541545afc84a309e9b1d7807003461\nA = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff2020202020df\nE = 2020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020FF2020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020\nM = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff2020202020ff\n\n\n# Exp tests.\n#\n# These test vectors satisfy A ^ E = Exp.\n\nExp = aa6d7ac431\nA = d0e07\nE = 2\n\nExp = 12d416b110dbb4e467ff0c89a22122f4da8240\nA = 1a18cf6\nE = 6\n\nExp = 49a3b33e23d84f1ce0d5d83f5dcb651d50cf3920f0143da2310d0512a90a06cd8f38977df8a756c30883de38df092000\nA = 2a3acbd2\nE = d\n\nExp = 5b4a0d5a956f885f275712b194459980f24708bfb6393d71bd37dce852ce455724f5ee5030775fb86b4295edc98afaafc097e4d82a97c0078ec0eac763db16549c5145c4cf2d3124f88cf9a5c71da0625afb99b26801786fe49a778415dc025954021753d08691947a208b613f0be5c1\nA = 54b3ae461\nE = 1a\n\nExp = a0ea5f6a4de49beb8fb7f0dab280d6a32c5a3814c9a5153a7944cec0a9028497846a8a89044348721a0bb5f0c3ded3e980574ea321b0cdb0ead4f4e93841ea7478a7f15d9729b646a8165813a0750e8124f5465dda9b105e1bbeff18fd09c09a2e26610d9176d253b877c3a8908a6be521cbe1e472a7a1b7820e4e890f8f28aacd34609c686e76e15b01bd9324a71290812724ea564d11c874a6765b262c3e57d479da0287a76026a1e8fe53da0b02405da1d379eaa30fc65f\nA = fccec0f6df\nE = 25\n\n\n# ModSqrt tests.\n#\n# These test vectors satisfy ModSqrt * ModSqrt = A (mod P) with P a prime.\n# ModSqrt is in [0, (P-1)/2].\n\nModSqrt = 1\nA = 1\nP = 2\n\nModSqrt = 1\nA = 1\nP = 2\n\nModSqrt = 1\nA = 1\nP = 2\n\nModSqrt = 1\nA = -1\nP = 2\n\nModSqrt = 1\nA = -1\nP = 2\n\nModSqrt = 0\nA = 0\nP = 3\n\nModSqrt = 0\nA = -3\nP = 3\n\nModSqrt = 0\nA = -3\nP = 3\n\nModSqrt = 0\nA = 0\nP = 3\n\nModSqrt = 0\nA = 0\nP = 3\n\nModSqrt = 0\nA = 0\nP = 5\n\nModSqrt = 1\nA = -4\nP = 5\n\nModSqrt = 0\nA = -5\nP = 5\n\nModSqrt = 2\nA = 4\nP = 5\n\nModSqrt = 0\nA = -5\nP = 5\n\nModSqrt = 3\nA = -5\nP = 7\n\nModSqrt = 0\nA = 0\nP = 7\n\nModSqrt = 0\nA = 0\nP = 7\n\nModSqrt = 2\nA = 4\nP = 7\n\nModSqrt = 3\nA = -5\nP = 7\n\nModSqrt = 4\nA = 10\nP = b\n\nModSqrt = 0\nA = 0\nP = b\n\nModSqrt = 3\nA = -2\nP = b\n\nModSqrt = 3\nA = -2\nP = b\n\nModSqrt = 2\nA = 4\nP = b\n\nModSqrt = 2\nA = 1e\nP = d\n\nModSqrt = 2\nA = 1e\nP = d\n\nModSqrt = 0\nA = -d\nP = d\n\nModSqrt = 0\nA = -d\nP = d\n\nModSqrt = 3\nA = 9\nP = d\n\nModSqrt = 8\nA = d\nP = 11\n\nModSqrt = 6\nA = df\nP = 11\n\nModSqrt = 4\nA = 10\nP = 11\n\nModSqrt = 5\nA = 90\nP = 11\n\nModSqrt = 3\nA = 80\nP = 11\n\nModSqrt = 9\nA = -e\nP = 13\n\nModSqrt = 7\nA = 7d\nP = 13\n\nModSqrt = 6\nA = 37\nP = 13\n\nModSqrt = 1\nA = 1\nP = 13\n\nModSqrt = 8\nA = 1a\nP = 13\n\nModSqrt = 54d4cf0fafe265056a29016778cea6b712bc66a132fb5e6b6865e9b49e4c97ec\nA = 599c10484b22d0b5a115268c7538ca99b3253a311a4ab1ca11c3665b0bec393a1167d1ad94fb84cb2c7ad7e2c933e8f613bdd08fe1f1aa4a9b0b9de0c8a7c9d4\nP = cfc4ccae35458ab5be1a1bc0664188253301f8702af4f8fb19fed12de0c653b1\n\nModSqrt = 38a7365a15365e911286c1be2a7afe76ef390234d76269e04dee17313f6ea54d\nA = 1c4aabb4d8369710131c664ecf2849e963c1bc31d66e0b939bacf99a870c71f24ed71bdddcf566f3908271fee43fc1ebb51eac7e3153efae641b49d2e796a12a\nP = cfc4ccae35458ab5be1a1bc0664188253301f8702af4f8fb19fed12de0c653b1\n\nModSqrt = 35ab18a560dece04725667f640ca61d1d59f14d191f94c79f58531acd097d444\nA = 685168ae855d60eba220d803f5296459b30a289580668db9ed51bca51cc2d453a937e13819ae34f7a9a143ac96d17420c53919167e46279b562b550be1cd9abc\nP = cfc4ccae35458ab5be1a1bc0664188253301f8702af4f8fb19fed12de0c653b1\n\nModSqrt = 288370029e87024175e5bec0eab0929179f42e16995e7f6194eefc61061e54f4\nA = 2a14ab77c045bdc48220ba9c463e1a4b4049cb01edb53be0937767eb2ec19b7d719855052281250a36a0b76d9a5d967d0756e1ded7a052f7056191ad66bcfc9\nP = cfc4ccae35458ab5be1a1bc0664188253301f8702af4f8fb19fed12de0c653b1\n\nModSqrt = 32255cf01dc943577ec2bcb221b98491d7a1130d046d6c68e95fedff643ce3a4\nA = e26f6dd46a513a1dd3fb14b71be1d4c9e9d79eda1cde10ea4d1eb8abfd4d5857572205e247184dd0cbefa37b5c0bf680ba2bd28c5741f725cfe2aae37419baf\nP = cfc4ccae35458ab5be1a1bc0664188253301f8702af4f8fb19fed12de0c653b1\n\nModSqrt = 5172345e801ada63fbc4782e32583cc3b4fea88b9e6dfd542f3542f8538ade66\nA = 40dafa8342b302bb04b1f3ddb3b9015a8fc1b597857c115b40631c7be9e22de89358fca23b331596ee5ff304dad7811e6d8e8822f7aa533c9e7c882634ea550\nP = a6813d316f9aca30f98b4f864b8b4b8f51493af930bd4d3a1b205a710e99add3\n\nModSqrt = 4dcf63c423bf0e39aca2293d57f6792d023db649d6719fe936446904b9f7e60d\nA = 5bcdb514bbe84261e169203e8017909b60c9bb330400c766ee01b0189378e70e61867a164a12643ddc9e94b61e09e5b158cbe85be228a3cc48f95a552958b8f2\nP = a6813d316f9aca30f98b4f864b8b4b8f51493af930bd4d3a1b205a710e99add3\n\nModSqrt = cf77c5c2d12a500b75cbfb1f3e66ee75d886b9365cf4f8b4d1bd18a6be0f387\nA = 4652ddc2ea7b460d8ec3c9059b8f9b5dae6cac55b51f2ad86fcb336b25235737965cc515e2ff0b54835015b7ebeeda6fadd9864", - "71d8cb424d309fc353d1e269\nP = a6813d316f9aca30f98b4f864b8b4b8f51493af930bd4d3a1b205a710e99add3\n\nModSqrt = 1e0549e4c5a26023e9d24fd8c67419960746f82b1ecd113bdac66f570a475d87\nA = 5f4a6d450ab1390d96ab1deaa0ba18f897cb63daf0c9e1ef6c08e804c26b5e842f6c08f13db5d4a6e88f07af2a3cb04fa06fc3e59c410b9356f025ed81acc74\nP = a6813d316f9aca30f98b4f864b8b4b8f51493af930bd4d3a1b205a710e99add3\n\nModSqrt = 144481a781d831c1ca046ca9e322d79ad4d2c6dd9f780bea9d1ced9cd20b7b23\nA = 4c254fabca441017132b9eacd4ca40a336db3e5c09715773fa07af095989a91cc968ff07a9ff56ed06b0ce0c5269f7b2ab68564ecab9f4467a7e96b6cc6b21b7\nP = a6813d316f9aca30f98b4f864b8b4b8f51493af930bd4d3a1b205a710e99add3\n\nModSqrt = 216fecc7667f488a3d2d102a38b46b4860ab858300b8638af4f34e1103fd73ba\nA = 17878f8048227573a9d70f53c0e76ff13fe9f56e9c984c92514d3d13dec23c816661f0618d21371b80dfd885cb59551bdf80046f65f22ea9b89c78645a6e455a\nP = bd37c850cf7d702bac879f3c21a51a5a4df2b8eb0935861e0753a6eb62261a95\n\nModSqrt = 458e5e789ccd2417174f7e30bb31914b9656bd8cf2b9f5a9752a8737a67707bc\nA = 5c7d39a4bb04e69201aa519f80ee7e62ea14ca55e13656d1da3f45367e2fb2d061aa2940708d02ac67d35cd2ccf54a1bf95bcbc759779e692cfdcbb3aa1a05b\nP = bd37c850cf7d702bac879f3c21a51a5a4df2b8eb0935861e0753a6eb62261a95\n\nModSqrt = 543125a16c2bb8b8f8a2c39c497e5224ec77533602d7dbe24002e32dcbd2ef1a\nA = 3413afae333b2ad9ff45c7f3c7e5934b3127e8b1a55225958ee6ccf42423e81559bf070ad3f3353b78c0ffd41475af49f59d268ef78bdae879f5155e8d1cc07\nP = bd37c850cf7d702bac879f3c21a51a5a4df2b8eb0935861e0753a6eb62261a95\n\nModSqrt = 10e16859c67bdb2eaab52a7c847dbf37162eda258a9f6262ebacfe4cbbbc1080\nA = 21ce7905894faf220bdf4a82a2d855994ca2dc9feaecaa53c7f146e1f49934215695e9bb46ba370b7005a90c399674caa8969eb442e7914d90f749774d7fd194\nP = bd37c850cf7d702bac879f3c21a51a5a4df2b8eb0935861e0753a6eb62261a95\n\nModSqrt = 32a00586adc6f6cc2b1a04e1be0ab569fde235e1436c38b6af92bc5ebd60bc1c\nA = 350da4fd8cf03c12f7dd6ac6d3ab801a3413964083e374662aaf878d6838b97d4feb9e52cd307a25b113e101661a865463ee2480c626aa4e2ec437d72e7bae4c\nP = bd37c850cf7d702bac879f3c21a51a5a4df2b8eb0935861e0753a6eb62261a95\n\nModSqrt = 971f75bc7afa8b4b50f1d4b05e52deac7d4836a08d30546f29649bf1ca6a247\nA = 655ed4c5d8d0afb4f9360372ee1ef1303898d2423e585108a3303faedb55064d2ef25666ed4c4d71fe6063fea1f3142b435714b0e30b339dd791d347c884654\nP = 9810151ad4bc9c5d68fc326395b509f2625bfebca1c3801ad4da7539fdbaa6f7\n\nModSqrt = 48fa882b7cb6a29de9e3769f72eb67f1efd4d2af56f0c7e410c610efcbce2065\nA = 14f3503f33b243800eac1defaab33e04c01e80163fb3efd03860970cc016832431ca4fc6d1b760f4f40166b0b8b3c40dbebc81460cc10890172243770338f090\nP = 9810151ad4bc9c5d68fc326395b509f2625bfebca1c3801ad4da7539fdbaa6f7\n\nModSqrt = 236fd7e397ea7f8bc2a288eb7236ca41936fa702b7dccca56c8852e147511f7d\nA = 1bbd0980feac854782813bcde4da85e8a054549a1b515e065da4236528035e756882e29e762cf60453e375cca9dc6ff637f9558bf86646e3b928f68f82af7efe\nP = 9810151ad4bc9c5d68fc326395b509f2625bfebca1c3801ad4da7539fdbaa6f7\n\nModSqrt = 693f0cbe8c81b0afde0cd2f83e53795dcae6b0cc4ba930ab5c752400d787f14\nA = 7b20f9664b23907e152ab8c9a907f72e8670c1c38ab4cd1411ea7c2159c09aa131afe068929b8e6ad1409b74c04975180d1cd0a9fa74e923c3fd451e8da2c34\nP = 9810151ad4bc9c5d68fc326395b509f2625bfebca1c3801ad4da7539fdbaa6f7\n\nModSqrt = 4a086c50b0bad576501ddb6280743b2c9d247841eb7f14d90561432ff7dca6f0\nA = 4367431ec0cd0d7626538b93a090c30fe0c97c18ca03b97ddae304b619112b5b4d02bf0f041fa3fd673f9ef2ceb07eb2079d11c56dd903b1a87e8252a97b8079\nP = 9810151ad4bc9c5d68fc326395b509f2625bfebca1c3801ad4da7539fdbaa6f7\n\nModSqrt = 18f8433fa468d8065157708f1f1e53b8e31d39c6011fbc2bad93de1b5548e19c\nA = 739c032bb4139c199c40f548d37234298772e4ccb9d3ba28412b60ad23b4c465b0787e2382f1c5a4a87af2d20eb978b7dcbe73f2112249477d15c8a85e54a79\nP = adcd56924f73836ebe4dccfe006ad3b1e5076562cd11b161642cab7af2284659\n\nModSqrt = 49e3c8eef5e067cabd51a7c01384ce05ab8f4342f655559d8a689eb7b20e0106\nA = 18400c2cc3e06b99b4e39c77b9af5ff0e9c683f1708321afa4cd5b6988d13b36b1d9eb4379b7902d9ceb40c03f814b2b6a01b90509bbb4532f13ab1571c4d04a\nP = adcd56924f73836ebe4dccfe006ad3b1e5076562cd11b161642cab7af2284659\n\nModSqrt = 35548c530745f440329325cc8a5fbd90c16a7f0788879a4869bc4d4f73acda0e\nA = 181a3c5ab02566e7166c4d6d2f2bd4a8ecc25991a98d270bde80cf4332766a7068b14240bf5f5dcd45e90ef252596da3eb05b11d68b2063f7b3a825742593ca9\nP = adcd56924f73836ebe4dccfe006ad3b1e5076562cd11b161642cab7af2284659\n\nModSqrt = 1ab7046e6af061ade5f9719008fa4d989007e2a579a134a5b9f19ec410984096\nA = 1008a03e211fab0d45856377079bc96b0776c2d4c0175661f3493246cea2ab0a02a706c85314fb707ad9906bedb2cfd577d62092ae08ff21d7b949373ea954c7\nP = adcd56924f73836ebe4dccfe006ad3b1e5076562cd11b161642cab7af2284659\n\nModSqrt = 2be9e3e7515960d90f115b89f60dedc173a73ce163b4036e85b7b6a76fd90852\nA = 392053a9f0100540a8e1a0c353e922068a84dad3a4a8e8962fbc0bee2b6a06e20d08ade16eb1409a16acfcac3db5c43c421505e07035ca308b15c4a6db0864c0\nP = adcd56924f73836ebe4dccfe006ad3b1e5076562cd11b161642cab7af2284659\n\nModSqrt = 5b301bb93bdcf050183107e36258b53b4805918114ea1c2227b0911d5b4dc077\nA = 55e55e5f94dc3d7aabc921f6469d85fa2e1e92a87347c57afad5872306ae69f9fb99297d1e3e793dd9e8632244208154de5da7114fd876383bf1422f7ece024\nP = d43280ac150f725f4a2a1dceb1c79bcac57855a4eba72ae93762d09bcb2444fb\n\nModSqrt = 2df9609e2f5a5156c3260461b2ee52eacdef00bd8b091479813143a6c5283f71\nA = 2099325b7f12fe77353ddf3f2b2c5ef77b49671b150af954cf84e9675e3ecde3e057084641a633d19533b4712ab49924c8b5c31d591abcc88291f51253fa2a7\nP = d43280ac150f725f4a2a1dceb1c79bcac57855a4eba72ae93762d09bcb2444fb\n\nModSqrt = dfab751710e9008e25e422d1199d6fbec4dc7fba35b4da9d225a746eb4126a0\nA = c006af53d4737fb293584df6ffe2e4cb3fd8dc77fb7c1f13b97bb9c249e3ee5fb9feff7488265b3093906c08a4946f142ac7b491937d24bfba6413366ce371d\nP = d43280ac150f725f4a2a1dceb1c79bcac57855a4eba72ae93762d09bcb2444fb\n\nModSqrt = 26bc030008d6c60a09fb0e16093a649fcb40c6c21a8e2da2353ba4b07c4f85d5\nA = 1eaabcfad2ed349ac9356e6f4da0b301266ddde811cb0f817aba8f5c10fb8b8ba9d0ef2dd386b668f16eac296118fdb8cb7afe1b865648c81c2fa3cf21f2711b\nP = d43280ac150f725f4a2a1dceb1c79bcac57855a4eba72ae93762d09bcb2444fb\n\nModSqrt = 35051b1482ec2578f3dc0000a422cb5111e43c37f1ac20b1844d3de2128c4556\nA = 315ff9de178681116f2a5fa78eebf4818e1d680435eacdfaf9d0e5c4fc01fc034b352c82fd52c81ca30d68864952dacc99d08269c9dd7ca99ccf22da98c3840\nP = d43280ac150f725f4a2a1dceb1c79bcac57855a4eba72ae93762d09bcb2444fb\n\nModSqrt = a5474252885cacf004c460a7793ff0b0a2187bb1a9ed700ae3470199faef71f\nA = 19856fc1351c4b02abf573bb2fc6ff92355fa369d62bb8f2260fa772fb1693f509a56cad661930abcac049dd70f4b16bed4a4c172e73e772504c9990ce7f92f\nP = dc315fd52684fba79e577a204de9053b11a5d7a414263fec9eff6ff62188829d\n\nModSqrt = 12daf4722387ecf47de1b0b6b110a062dc5ea2685bc9dbde66b8d15622985029\nA = fb8479787069116abc42abfd7dc0c24d2ad04fe0c04b42a6dff714af715d17e0fd77855f950f264542b06d48e8818de813ddb7975798b7debefcdaa5ff86beb\nP = dc315fd52684fba79e577a204de9053b11a5d7a414263fec9eff6ff62188829d\n\nModSqrt = 397996ed5c0ac6ad32e43c337e9de421b87774cc162bf7ac7bbedf4a9029255e\nA = 5aa04353321bd2de92481be740357f979da464b53aa39111fdbb734cf7af6b3857d1baa08d3a126a3dd34a2fbae2bf2b84e900686c1d31505b390185acef5fe5\nP = dc315fd52684fba79e577a204de9053b11a5d7a414263fec9eff6ff62188829d\n\nModSqrt = 2cf4b844a54ba359dc592ef1b49f43fcfeae84d1087edfefdd0b9174b43c0a3c\nA = 365a8650510bcfd8fa87432f167cf487234c215857403b9270b5eebeafa48cd6da47fd60dc311b94d1d72baad0447c31f0b212d755f46c256e16e5e015e6546e\nP = dc315fd52684fba79e577a204de9053b11a5d7a414263fec9eff6ff62188829d\n\nModSqrt = 9277c73043ff767c3fa606f0cd66b9d854a600c8c18287f191ce277758c3f31\nA = 62cec3901626d03e8df66299a87c54b1f7a55cafc99f0b6bba1b5d51a3d2b7d2171c9135a9d8a5346d436e0136b12e515e703e3cd84ecfe154eb94c6772a6d72\nP = dc315fd52684fba79e577a204de9053b11a5d7a414263fec9eff6ff62188829d\n\nModSqrt = 4189e5a90c1b1abdc1c7c05b3587e6f362e06f927b6cf5f0d271aab3d6f90765\nA = 336b8d0f9dac842c696bc020f49c6aa023842c16f2052eb02f17959006554ca0012042c80c72590f21c6bf5a3714c9cb552aa69730e33db93a56a909b273f39\nP = 9df9d6cc20b8540411af4e5357ef2b0353cb1f2ab5ffc3e246b41c32f71e951f\n\nModSqrt = 36ccd38cb5a6bd8a73bca55936a2227c503664422c2296faf7e2b1c6a375a43a\nA = fecfd60a376befbe48d2c4f6d070d716d2f403cd5daefbce62b720df44deb605162c8f20f49fd7ec30d4f8e70d803d45b3a44b5d912baa3410d991165d7c507\nP = 9df9d6cc20b8540411af4e5357ef2b0353cb1f2ab5ffc3e246b41c32f71e951f\n\nModSqrt = 198fc8569be172dc9b71023ed3d42d2ba94bae409964", - "3f6517ab03f540527fdb\nA = 65bebdb00a96fc814ec44b81f98b59fba3c30203928fa5214c51e0a97091645280c947b005847f239758482b9bfc45b066fde340d1fe32fc9c1bf02e1b2d0ec\nP = 9df9d6cc20b8540411af4e5357ef2b0353cb1f2ab5ffc3e246b41c32f71e951f\n\nModSqrt = 21b7f74c30ded681d6138cf8e6fd798f32a049e94138e982f1845df3dc9e686f\nA = 9a30b791c1ba4f394b4e3dcd5837e474237f4fe8987b255c098a47b2c14c598ec69d2beae444dd4fe9c4ede8173d2b187677cc706a3c28f3b81627d8a5fb6fd\nP = 9df9d6cc20b8540411af4e5357ef2b0353cb1f2ab5ffc3e246b41c32f71e951f\n\nModSqrt = a1d52989f12f204d3d2167d9b1e6c8a6174c0c786a979a5952383b7b8bd186\nA = 2eee37cf06228a387788188e650bc6d8a2ff402931443f69156a29155eca07dcb45f3aac238d92943c0c25c896098716baa433f25bd696a142f5a69d5d937e81\nP = 9df9d6cc20b8540411af4e5357ef2b0353cb1f2ab5ffc3e246b41c32f71e951f\n\n\n# NotModSquare tests.\n#\n# These test vectors are such that NotModSquare is not a square modulo P.\n\nNotModSquare = 03\nP = 07\n\nNotModSquare = 05\nP = 07\n\nNotModSquare = 06\nP = 07\n\nNotModSquare = 9df9d6cc20b8540411af4e5357ef2b0353cb1f2ab5ffc3e246b41c32f71e951e\nP = 9df9d6cc20b8540411af4e5357ef2b0353cb1f2ab5ffc3e246b41c32f71e951f\n\n\n# ModInv tests.\n#\n# These test vectors satisfy ModInv * A = 1 (mod M) and 0 <= ModInv < M.\n\nModInv = 00\nA = 00\nM = 01\n\nModInv = 00\nA = 01\nM = 01\n\nModInv = 00\nA = 02\nM = 01\n\nModInv = 00\nA = 03\nM = 01\n\nModInv = 64\nA = 54\nM = e3\n\nModInv = 13\nA = 2b\nM = 30\n\nModInv = 2f\nA = 30\nM = 37\n\nModInv = 4\nA = 13\nM = 4b\n\nModInv = 1c47\nA = cd4\nM = 6a21\n\nModInv = 2b97\nA = 8e7\nM = 49c0\n\nModInv = 29b9\nA = fcb\nM = 3092\n\nModInv = a83\nA = 14bf\nM = 41ae\n\nModInv = 18f15fe1\nA = 11b5d53e\nM = 322e92a1\n\nModInv = 32f9453b\nA = 8af6df6\nM = 33d45eb7\n\nModInv = d696369\nA = c5f89dd5\nM = fc09c17c\n\nModInv = 622839d8\nA = 60c2526\nM = 74200493\n\nModInv = fb5a8aee7bbc4ef\nA = 24ebd835a70be4e2\nM = 9c7256574e0c5e93\n\nModInv = 846bc225402419c\nA = 23026003ab1fbdb\nM = 1683cbe32779c59b\n\nModInv = 5ff84f63a78982f9\nA = 4a2420dc733e1a0f\nM = a73c6bfabefa09e6\n\nModInv = 133e74d28ef42b43\nA = 2e9511ae29cdd41\nM = 15234df99f19fcda\n\nModInv = 46ae1fabe9521e4b99b198fc8439609023aa69be2247c0d1e27c2a0ea332f9c5\nA = 6331fec5f01014046788c919ed50dc86ac7a80c085f1b6f645dd179c0f0dc9cd\nM = 8ef409de82318259a8655a39293b1e762fa2cc7e0aeb4c59713a1e1fff6af640\n\nModInv = 444ccea3a7b21677dd294d34de53cc8a5b51e69b37782310a00fc6bcc975709b\nA = 679280bd880994c08322143a4ea8a0825d0466fda1bb6b3eb86fc8e90747512b\nM = e4fecab84b365c63a0dab4244ce3f921a9c87ec64d69a2031939f55782e99a2e\n\nModInv = 1ac7d7a03ceec5f690f567c9d61bf3469c078285bcc5cf00ac944596e887ca17\nA = 1593ef32d9c784f5091bdff952f5c5f592a3aed6ba8ea865efa6d7df87be1805\nM = 1e276882f90c95e0c1976eb079f97af075445b1361c02018d6bd7191162e67b2\n\nModInv = 639108b90dfe946f498be21303058413bbb0e59d0bd6a6115788705abd0666d6\nA = 9258d6238e4923d120b2d1033573ffcac691526ad0842a3b174dccdbb79887bd\nM = ce62909c39371d463aaba3d4b72ea6da49cb9b529e39e1972ef3ccd9a66fe08f\n\nModInv = aebde7654cb17833a106231c4b9e2f519140e85faee1bfb4192830f03f385e773c0f4767e93e874ffdc3b7a6b7e6a710e5619901c739ee8760a26128e8c91ef8cf761d0e505d8b28ae078d17e6071c372893bb7b72538e518ebc57efa70b7615e406756c49729b7c6e74f84aed7a316b6fa748ff4b9f143129d29dad1bff98bb\nA = a29dacaf5487d354280fdd2745b9ace4cd50f2bde41d0ee529bf26a1913244f708085452ff32feab19a7418897990da46a0633f7c8375d583367319091bbbe069b0052c5e48a7daac9fb650db5af768cd2508ec3e2cda7456d4b9ce1c39459627a8b77e038b826cd7e326d0685b0cd0cb50f026f18300dae9f5fd42aa150ee8b\nM = d686f9b86697313251685e995c09b9f1e337ddfaa050bd2df15bf4ca1dc46c5565021314765299c434ea1a6ec42bf92a29a7d1ffff599f4e50b79a82243fb24813060580c770d4c1140aeb2ab2685007e948b6f1f62e8001a0545619477d498132c907774479f6d95899e6251e7136f79ab6d3b7c82e4aca421e7d22fe7db19c\n\nModInv = 1ec872f4f20439e203597ca4de9d1296743f95781b2fe85d5def808558bbadef02a46b8955f47c83e1625f8bb40228eab09cad2a35c9ad62ab77a30e3932872959c5898674162da244a0ec1f68c0ed89f4b0f3572bfdc658ad15bf1b1c6e1176b0784c9935bd3ff1f49bb43753eacee1d8ca1c0b652d39ec727da83984fe3a0f\nA = 2e527b0a1dc32460b2dd94ec446c692989f7b3c7451a5cbeebf69fc0ea9c4871fbe78682d5dc5b66689f7ed889b52161cd9830b589a93d21ab26dbede6c33959f5a0f0d107169e2daaac78bac8cf2d41a1eb1369cb6dc9e865e73bb2e51b886f4e896082db199175e3dde0c4ed826468f238a77bd894245d0918efc9ca84f945\nM = b13133a9ebe0645f987d170c077eea2aa44e85c9ab10386d02867419a590cb182d9826a882306c212dbe75225adde23f80f5b37ca75ed09df20fc277cc7fbbfac8d9ef37a50f6b68ea158f5447283618e64e1426406d26ea85232afb22bf546c75018c1c55cb84c374d58d9d44c0a13ba88ac2e387765cb4c3269e3a983250fa\n\nModInv = 30ffa1876313a69de1e4e6ee132ea1d3a3da32f3b56f5cfb11402b0ad517dce605cf8e91d69fa375dd887fa8507bd8a28b2d5ce745799126e86f416047709f93f07fbd88918a047f13100ea71b1d48f6fc6d12e5c917646df3041b302187af641eaedf4908abc36f12c204e1526a7d80e96e302fb0779c28d7da607243732f26\nA = 31157208bde6b85ebecaa63735947b3b36fa351b5c47e9e1c40c947339b78bf96066e5dbe21bb42629e6fcdb81f5f88db590bfdd5f4c0a6a0c3fc6377e5c1fd8235e46e291c688b6d6ecfb36604891c2a7c9cbcc58c26e44b43beecb9c5044b58bb58e35de3cf1128f3c116534fe4e421a33f83603c3df1ae36ec88092f67f2a\nM = 53408b23d6cb733e6c9bc3d1e2ea2286a5c83cc4e3e7470f8af3a1d9f28727f5b1f8ae348c1678f5d1105dc3edf2de64e65b9c99545c47e64b770b17c8b4ef5cf194b43a0538053e87a6b95ade1439cebf3d34c6aa72a11c1497f58f76011e16c5be087936d88aba7a740113120e939e27bd3ddcb6580c2841aa406566e33c35\n\nModInv = 87355002f305c81ba0dc97ca2234a2bc02528cefde38b94ac5bd95efc7bf4c140899107fff47f0df9e3c6aa70017ebc90610a750f112cd4f475b9c76b204a953444b4e7196ccf17e93fdaed160b7345ca9b397eddf9446e8ea8ee3676102ce70eaafbe9038a34639789e6f2f1e3f352638f2e8a8f5fc56aaea7ec705ee068dd5\nA = 42a25d0bc96f71750f5ac8a51a1605a41b506cca51c9a7ecf80cad713e56f70f1b4b6fa51cbb101f55fd74f318adefb3af04e0c8a7e281055d5a40dd40913c0e1211767c5be915972c73886106dc49325df6c2df49e9eea4536f0343a8e7d332c6159e4f5bdb20d89f90e67597c4a2a632c31b2ef2534080a9ac61f52303990d\nM = d3d3f95d50570351528a76ab1e806bae1968bd420899bdb3d87c823fac439a4354c31f6c888c939784f18fe10a95e6d203b1901caa18937ba6f8be033af10c35fc869cf3d16bef479f280f53b3499e645d0387554623207ca4989e5de00bfeaa5e9ab56474fc60dd4967b100e0832eaaf2fcb2ef82a181567057b880b3afef62\n\n\n# GCD tests.\n#\n# These test vectors satisfy gcd(A, B) = GCD and lcm(A, B) = LCM.\n\nGCD = 0\nA = 0\nB = 0\n# Just to appease the syntax-checker.\nLCM = 0\n\nGCD = 1\nA = 92ff140ac8a659b31dd904161f9213706a08a817ae845e522c3af0c9096699e059b47c8c2f16434b1c5766ebb384b79190f2b2a62c2378f45e116890e7bb407a\nB = 2f532c9e5902b0d68cd2ed69b2083bc226e8b04c549212c425a5287bb171c6a47fcb926c70cc0d34b8d6201c617aee66af865d31fdc8a2eeb986c19da8bb0897\nLCM = 1b2c97003e520b0bdd59d8c35a180b4aa36bce14211590435b990ad8f4c034ce3c77899581cb4ee1a022874203459b6d53859ab1d99ff755efa253fc0e5d8487bb000c13c566e8937f0fe90b95b68bc278610d4f232770b08d1f31bee55a03da47f2d0ebb9e7861c4f16cc22168b68593e9efcde00f54104b4c3e1a0b294d7f6\n\nGCD = a\nA = faaffa431343074f5c5d6f5788500d7bc68b86eb37edf166f699b4d75b76dae2cb7c8f6eccae8f18f6d510ef72f0b9633d5740c0bebb934d3be796bd9a53808e\nB = 2f48ec5aa5511283c2935b15725d30f62244185573203b48c7eb135b2e6db5c115c9446ac78b020574665b06a75eb287e0dbeb5da7c193294699b4c2129d2ac4\nLCM = 4a15f305e9622aa19bd8f39e968bfc16d527a47f7a5219d7b02c242c77ef8b608a4a6141f643ca97cedf07c0f1f3e8879d2568b056718aa15c0756899a08ccbe0a658bae67face96fa110edb91757bfa4828e8ff7c5d71b204f36238b12dd26f17be8ba9771f7068d63e41d423671f898f054b1187605754bc5546f2b02c5ac\n\nGCD = 16\nA = cf0b21bde98b41b479ac8071086687a6707e9efaacd4e5299668ce1be8b13290f27fd32ae68df87c292e8583a09d73ec8e8a04a65a487380dcd7dacca3b6e692\nB = 3be3f563f81d5ad5c1211db7eff430aa345e830ce07b4bde7d4d32dba3ac618d2034351e5435fd6c7f077971fb4a1e83a7396a74fdff7fce1267112851db2582\nLCM = 233a2188de2c017235024b182286f17562b2ee5ab9fdfe4efa2f61c4ff99fa44e1ead5bf6cde05bd7502ce78373c83e3f9dbab0c9bb8620a87c2640bce5d12c685af656df789bb3d0ba1edbaa98cf4f0166d422ab17aa6706f8132264d45b72827d6671a00a9186e723379e3a3bb7902d08865f357c74100059f83800241976\n\nGCD = 1\nA = dd7b7597d7c1eb399b1cea9b3042c14bd6022d31b1d2642a8f82fc32de6eadaf012fbbf349eaec4922a8468740ca73c6090833d6a69a380ed947b39c2f9b0b76\nB = 8e0dc8654e70eec55496038a8d3fff3c2086bc6dbfc0e2dbdf5bd7de03c5aef01a3982556ac3fc34fd5f13368be6cdc252c82367b7462e210f940f847d382dd9\nLCM = 7ae667df4bd4dd35bbec28719a9f1b5e1f396a9ab386c086742a6ab3014a3386d39f35b50624d0c5b4e6b206c2635c7de5ea69e2faa85dd616a7e36622962a07632839857aa49332942feccf", - "f2aee1c962e2f4e8ccfd738a5da5bf528b4c5a2440409350f5a17a39d234403e8482ccf838e0d2758ccfb8018198a51dbb407506\n\nGCD = 1\nA = 0\nB = 1\nLCM = 0\n\nGCD = 1\nA = 1\nB = 0\nLCM = 0\n\nGCD = 1\nA = 1\nB = 1\nLCM = 1\n\nGCD = 2b2\nA = dfccaa3549c1b59ab3e114fe87dc5d187719abad58c51724e972741eb895ab79a49f385f61d531ec5c88dbb505ae375093fa848165f71a5ed65e7832a42ade191a\nB = fa58a81f43088da45e659fc1117d0f1cd015aa096c8e5377cf1832191baf7cc28b5c24998b93b64f8900a0973faedb9babaaf1854345f011739da8f1175d9684c\nLCM = 5132f7ab7a982b9dc55114bd96800b7637f9742cf8a7a00a0d69d5e4574fc85792c89a1c52bcfc74b9d7f3f6164819466c46b2d622e280ced7ad1211604084a15dc1fd1951a05c8ce37122c0ec15891d818a70d3763670ea3195098de9b1ca50ea89893a9753fb9ea801541058f44801f7f50967124abfc864a2b01c41f94193c\n\nGCD = 8e\nA = 248d96a8a4cab0a1b194e08c1146868b094597cadbc35531f0ed2d77cba9f15cb5cc7c10e64ce054bf93396d25259d750b3de3aba65073db1fd2b852a6454ac1a\nB = 4c7bad8e1844901fd6a2ce2edc82e698d28ec95d6672ca148d85b49ecc78dd0a8b870e202244210bc98592b99ff6abbd20630f9eee7d46b15ccfae8d08b86799de\nLCM = 13b01f9d9c6c13e90c97e3d95bbce5a835c631b3de3bd4ff5df13ad850f5223dbdf71c53912275d0397df9335ef3a3ba8e4684c6b25962bb7b18bc74144cb5edf0196f79863a7ff032619a71646a92281f7baace7f223d254cb4d05ec19bf8d4c8ce4455a9d770daec89c0d3cf338cbdae39cf982b3c4568f5c9def4e1133d28a\n\nGCD = 3e55\nA = 2fa97382f46676b7a4cc2b8153f17b58792d24660e187d33ce55c81cc193ccb6e1e2b89feea1d5fd8faa36e13bf947fb48635e450a4d1488d0978324194a1f43c6\nB = ab08ad074139963bc18e5d87ba68db64ca6f4c279616c64039b02c55f2375b3bc04114e8e05e1ba92fb6470768f61d123845aea36774c18612736a220934561faf\nLCM = 82c7c377ecda2cb9228604cd287df5eff94edd4a539c3eb3b3fdd4b4a79d2f4eaf2b22f8286272d3dad2e370cfcd9ea4d93ebb3f049c52b8fa23b68a5bf79af989822e2cfb978f68c6a5058f47319dffcb455b089b06ae6db9e5c8a2b6e951d6e118bd2b4cd08b6e5733476a446a57387d940d1289ec00e24315821ed3a5daf2\n\nGCD = a7a\nA = 923706dfed67834a1e7e6c8e8e9f93bfbc0b43ca1f324886cf1f1380fb9b77109275d4b50af1b7689802fe9b3623ac46c7ba0e17e908c20278127b07a5c12d86ec\nB = 64473e878a29021fac1c1ce34a63eae1f4f83ee6851333b67213278b9a4a16f005cba0e8cdb410035bb580062f0e486c1a3a01f4a4edf782495f1dc3ebfa837d86\nLCM = 57785ca45b8873032f1709331436995525eed815c55140582ce57fd852116835deac7ca9d95ce9f280e246ea4d4f1b7140ab7e0dd6dc869de87f1b27372098b155ad0a1828fd387dff514acc92eae708609285edaab900583a786caf95153f71e6e6092c8c5ee727346567e6f58d60a5e01c2fa8ebcf86da9ea46876ecc58e914\n\nGCD = 42\nA = 0\nB = 42\nLCM = 0\n\nGCD = 42\nA = 42\nB = 0\nLCM = 0\n\nGCD = 42\nA = 42\nB = 42\nLCM = 42\n\nGCD = f60d\nA = ef7886c3391407529d5cf2e75ed53e5c3f74439ad2e2dc48a79bc1a5322789b4ced2914b97f8ff4b9910d212243b54001eb8b375365b9a87bd022dd3772c78a9fd63\nB = d1d3ec32fa3103911830d4ec9f629c5f75af7039e307e05bc2977d01446cd2cbeeb8a8435b2170cf4d9197d83948c7b8999d901fe47d3ce7e4d30dc1b2de8af0c6e4\nLCM = cc376ed2dc362c38a45a719b2ed48201dab3e5506e3f1314e57af229dc7f3a6a0dad3d21cfb148c23a0bbb0092d667051aa0b35cff5b5cc61a7c52dec4ed72f6783edf181b3bf0500b79f87bb95abc66e4055f259791e4e5eb897d82de0e128ecf8a091119475351d65b7f320272db190898a02d33f45f03e27c36cb1c45208037dc\n\nGCD = 9370\nA = 1ee02fb1c02100d1937f9749f628c65384ff822e638fdb0f42e27b10ee36e380564d6e861fcad0518f4da0f8636c1b9f5124c0bc2beb3ca891004a14cd7b118ddfe0\nB = 67432fd1482d19c4a1c2a4997eab5dbf9c5421977d1de60b739af94c41a5ad384cd339ebfaa43e5ad6441d5b9aaed5a9f7485025f4b4d5014e1e406d5bd838a44e50\nLCM = 159ff177bdb0ffbd09e2aa7d86de266c5de910c12a48cbe61f6fa446f63a2151194777555cd59903d24cb30965973571fb1f89c26f2b760526f73ded7ee8a34ebcecd1a3374a7559bcdb9ac6e78be17a62b830d6bb3982afdf10cf83d61fd0d588eab17d6abef8e6a7a5763fcb766d9a4d86adf5bb904f2dd6b528b9faec603987a0\n\nGCD = c5f\nA = 5a3a2088b5c759420ed0fb9c4c7685da3725b659c132a710ef01e79435e63d009d2931ea0a9ed9432f3d6b8851730c323efb9db686486614332c6e6ba54d597cf98\nB = 1b1eb33b006a98178bb35bbcf09c5bebd92d9ace79fa34c1567efa8d6cf6361547807cd3f8e7b8cd3ddb6209dccbae4b4c16c8c1ec19741a3a57f61571882b7aed7\nLCM = c5cbbbe9532d30d2a7dd7c1c8a6e69fd4fa4828a844d6afb44f3747fef584f7f1f3b835b006f8747d84f7699e88f6267b634e7aef78d6c7584829537d79514eec7d11219721f91015f5cefdc296261d85dba388729438991a8027de4827cd9eb575622e2912b28c9ce26d441e97880d18db025812cef5de01adeaec1322a9c9858\n\nGCD = e052\nA = 67429f79b2ec3847cfc7e662880ab1d94acdf04284260fcfffd67c2862d59704ed45bcc53700c88a5eea023bc09029e9fd114fc94c227fd47a1faa1a5ef117b09bd2\nB = 39faa7cbdeb78f9028c1d50ab34fbe6924c83a1262596f6b85865d4e19cc258b3c3af1ee2898e39e5bee5839e92eac6753bbbb0253bd576d1839a59748b778846a86\nLCM = 1ab071fb733ef142e94def10b26d69982128561669e58b20b80d39cf7c2759d26b4a65d73b7f940c6e8fc417180ef62d7e52ac24678137bd927cd8d004ad52b02affe176a1ecde903dbc26dcc705678f76dd8cd874c0c3fe737474309767507bbe70dd7fb671bbb3694cedf0dcdaa0c716250ddd6dfec525261572fa3e1387f7b906\n\nGCD = 3523\nA = 0\nB = 3523\nLCM = 0\n\nGCD = 3523\nA = 3523\nB = 0\nLCM = 0\n\nGCD = 3523\nA = 3523\nB = 3523\nLCM = 3523\n\nGCD = f035a941\nA = 16cd5745464dfc426726359312398f3c4486ed8aaeea6386a67598b10f744f336c89cdafcb18e643d55c3a62f4ab2c658a0d19ea3967ea1af3aee22e11f12c6df6e886f7\nB = 74df09f309541d26b4b39e0c01152b8ad05ad2dfe9dd2b6706240e9d9f0c530bfb9e4b1cad3d4a94342aab309e66dd42d9df01b47a45173b507e41826f24eb1e8bcc4459\nLCM = b181771d0e9d6b36fdfcbf01d349c7de6b7e305e1485ea2aa32938aa919a3eee9811e1c3c649068a7572f5d251b424308da31400d81ac4078463f9f71d7efd2e681f92b13a6ab3ca5c9063032dcbdf3d3a9940ce65e54786463bbc06544e1280f25bc7579d264f6f1590cf09d1badbf542ce435a14ab04d25d88ddbac7d22e8cae1c91f\n\nGCD = 33ad1b8f\nA = 1af010429a74e1b612c2fc4d7127436f2a5dafda99015ad15385783bd3af8d81798a57d85038bcf09a2a9e99df713b4d6fc1e3926910fbbf1f006133cb27dc5ebb9cca85\nB = 92a4f45a90965a4ef454f1cdd883d20f0f3be34d43588b5914677c39d577a052d1b25a522be1a656860a540970f99cbc8a3adf3e2139770f664b4b7b9379e13daf7d26c\nLCM = 4c715520ed920718c3b2f62821bc75e3ff9fd184f76c60faf2906ef68d28cd540d3d6c071fa8704edd519709c3b09dfaee12cb02ab01ad0f3af4f5923d5705ce6d18bcab705a97e21896bb5dd8acb36ee8ec98c254a4ddc744297827a33c241f09016a5f109248c83dd41e4cea73ce3eabb28d76678b7e15545b96d22da83c111b6b624\n\nGCD = dc0429aa\nA = ccb423cfb78d7150201a97114b6644e8e0bbbb33cadb0ef5da5d3c521a244ec96e6d1538c64c10c85b2089bdd702d74c505adce9235aa4195068c9077217c0d431de7f96\nB = 710786f3d9022fc3acbf47ac901f62debcfda684a39234644bac630ab2d211111df71c0844b02c969fc5b4c5a15b785c96efd1e403514235dc9356f7faf75a0888de5e5a\nLCM = 6929af911850c55450e2f2c4c9a72adf284fe271cf26e41c66e1a2ee19e30d928ae824f13d4e2a6d7bb12d10411573e04011725d3b6089c28d87738749107d990162b485805f5eedc8f788345bcbb5963641f73c303b2d92f80529902d3c2d7899623958499c8a9133aae49a616c96a2c5482a37947f23af18c3247203ac2d0e760340e6\n\nGCD = 743166058\nA = 16cd476e8031d4624716238a3f85badd97f274cdfd9d53e0bd74de2a6c46d1827cc83057f3889588b6b7ca0640e7d743ed4a6eaf6f9b8df130011ecc72f56ef0af79680\nB = 86eba1fc8d761f22e0f596a03fcb6fe53ad15a03f5b4e37999f60b20966f78ba3280f02d3853f9ace40438ccfaf8faed7ace2f2bf089b2cdd4713f3f293bf602666c39f8\nLCM = 1a7a1b38727324d6ba0290f259b8e2b89c339b2445cada38a5a00ded1468ab069f40678ce76f7f78c7c6f97783cc8a49ef7e2a0c73abbac3abc66d1ce99566ce7f874a8949ca3442051e71967695dc65361184748c1908e1b587dc02ed899a524b34eb30b6f8db302432cfa1a8fbf2c46591e0ab3db7fd32c01b1f86c39832ee9f0c80\n\nGCD = 6612ba2c\nA = 0\nB = 6612ba2c\nLCM = 0\n\nGCD = 6612ba2c\nA = 6612ba2c\nB = 0\nLCM = 0\n\nGCD = 6612ba2c\nA = 6612ba2c\nB = 6612ba2c\nLCM = 6612ba2c\n\nGCD = 2272525aa08ccb20\nA = 11b9e23001e7446f6483fc9977140d91c3d82568dabb1f043a5620544fc3dda233b51009274cdb004fdff3f5c4267d34181d543d913553b6bdb11ce2a9392365fec8f9a3797e1200\nB = 11295529342bfb795f0611d03afb873c70bd16322b2cf9483f357f723b5b19f796a6206cf3ae3982daaeafcd9a68f0ce3355a7eba3fe4e743683709a2dd4b2ff46158bd99ff4d5a0\nLCM = 8d4cbf00d02f6adbaa70484bcd42ea932000843dcb667c69b75142426255f79b6c3b6bf22572597100c06c3277e40bf60c14c1f4a6822d86167812038cf1eefec2b0b19981ad99ad3125ff4a455a4a8344cbc609e1b3a173533db432bd717c72be25e05ed488d3970e7ed17a46353c5e0d91c8428d2fec7a93210759589df042cab028f545e3a00\n\nGCD = 3480bf145713d56f9\nA = 8cf8ef1d4f216c6bcec673208fd93b7561b0eb8303af57113edc5c6ff4e1eeae9ddc3112b943d947653ba2179b7f63505465126d88ad0a0a15b682f5c89aa4a2a51c768cd9fdeaa9\nB = a6fd114023e7d79017c552a9051ca827f3ffa9f31e2ee9d78f8408967064fcdc9466e95cc8fac9a4fa88248987caf7cf57af58400d27abd60d9b79d2fe03fad76b879eceb504d7f\nLCM = 1c05eee73a4f0db210a9007f94a5af88c1cdd2cba456061fd41de1e746d836fa4e0e", - "972812842e0f44f10a61505f5d55760c48ba0d06af78bb6bde7da8b0080b29f82b1161e9c0b5458e05ac090b00f4d78b1cc10cf065124ba610e3acab092a36fe408525e21c0ddc7c9696ed4e48bd2f70423deecfe62cecc865c6088f265da0e5961d3f3a84f\n\nGCD = 917e74ae941fcaae\nA = 652f8a92d96cbf0a309629011d0fbaceb1266bc2e8243d9e494eead4cf7100c661b537a8bea93dec88cfc68597d88a976c125c3b4de19aba38d4ea9578202e59848d42652518348a\nB = 32e07b71979d57e8344e97c39680a61e07d692d824ae26b682156890792d8a766ee29a4968f461aaced5bf049044fba2f4120b1c1f05985676f975d4582e9e82750d73c532cd07b2\nLCM = 23620c7b897dc26c7717e32f3517ac70bf09fbe08f7255ab010cf4cf946f4e96304c425043452c5d5a0e841d3a3cfd9c2d84d9256f3b5974fe3ebfa9255fe20a710d3e6511606c0d85970381101c7f4986d65ad6a73a71507f146b11f903043cfa805cc0b14d4f3072da98bf22282f7762040406c02d5b3ef9e7587f63bab8b29c61d8e30911aa96\n\nGCD = 2b9adc82005b2697\nA = 19764a84f46045ef1bca571d3cbf49b4545998e64d2e564cc343a53bc7a0bcfbe0baa5383f2b346e224eb9ce1137d9a4f79e8e19f946a493ff08c9b423574d56cbe053155177c37\nB = 1bbd489ad2ab825885cdac571a95ab4924e7446ce06c0f77cf29666a1e20ed5d9bc65e4102e11131d824acad1592075e13024e11f12f8210d86ab52aa60deb250b3930aabd960e5a\nLCM = 1032a0c5fffc0425e6478185db0e5985c645dd929c7ebfeb5c1ee12ee3d7b842cfab8c9aa7ff3131ac41d4988fb928c0073103cea6bb2cc39808f1b0ad79a6d080eac5a0fc6e3853d43f903729549e03dba0a4405500e0096b9c8e00510c1852982baec441ed94efb80a78ed28ed526d055ad34751b831b8749b7c19728bf229357cc5e17eb8e1a\n\nGCD = 8d9d4f30773c4edf\nA = 0\nB = 8d9d4f30773c4edf\nLCM = 0\n\nGCD = 8d9d4f30773c4edf\nA = 8d9d4f30773c4edf\nB = 0\nLCM = 0\n\nGCD = 8d9d4f30773c4edf\nA = 8d9d4f30773c4edf\nB = 8d9d4f30773c4edf\nLCM = 8d9d4f30773c4edf\n\nGCD = 6ebd8eafb9a957a6c3d3d5016be604f9624b0debf04d19cdabccf3612bbd59e00\nA = 34dc66a0ffd5b8b5e0ffc858dfc4655753e59247c4f82a4d2543b1f7bb7be0e24d2bbf27bb0b2b7e56ee22b29bbde7baf0d7bfb96331e27ba029de9ffdff7bdb7dc4da836d0e58a0829367ec84ea256833fd4fe1456ad4dd920557a345e12000\nB = 1f3406a20e20ebf96ccb765f898889a19b7636608fd7dc7c212607b641399543f71111d60e42989de01eaa6ff19a86ea8fbde1a3d368c0d86dc899e8e250fc764090f337958ca493119cbb4ad70cbfae7097d06d4f90ec62fbdd3f0a4496e600\nLCM = ee502c50e3667946e9089d0a9a0382e7fd0b75a17db23b56a0eec997a112c4dbd56d188808f76fe90451e5605550c9559ef14a95014c6eb97e9c1c659b98515c41470142843de60f72fb4c235faa55b0a97d943221003d44e2c28928f0b84bf071256254897ed31a7fd8d174fc962bc1311f67900ac3abcad83a28e259812f1ee229511ab1d82d41f5add34693ba7519babd52eb4ec9de31581f5f2e40a000\n\nGCD = ef7399b217fc6a62b90461e58a44b22e5280d480b148ec4e3b4d106583f8e428\nA = 7025e2fe5f00aec73d90f5ad80d99ca873f71997d58e59937423a5e6ddeb5e1925ed2fd2c36a5a9fc560c9023d6332c5d8a4b333d3315ed419d60b2f98ccf28bbf5bf539284fd070d2690aeaac747a3d6384ee6450903a64c3017de33c969c98\nB = df0ac41dbabce1deeb0bceb1b65b1079850052ecf6534d0cff84a5a7fb5e63baee028d240f4419925154b96eaa69e8fbb1aae5102db7916234f290aa60c5d7e69406f02aeea9fe9384afbff7d878c9ac87cd31f7c35dff243b1441e09baff478\nLCM = 687669343f5208a6b2bb2e2efcac41ec467a438fde288cc5ef7157d130139ba65db9eb53e86a30c870bd769c0e0ab15a50f656cd9626621ae68d85eaff491b98da3ea5812062e4145af11ea5e1da457084911961ef2cd2ac45715f885ba94b4082aa76ffd1f32461f47c845b229d350bf36514c5ce3a7c782418746be342eca2721346ade73a59475f178c4f2448e1326110f5d26a0fef1a7a0c9288489e4dc8\n\nGCD = 84b917557acf24dff70cb282a07fc52548b6fbbe96ca8c46d0397c8e44d30573\nA = 81dbb771713342b33912b03f08649fb2506874b96125a1ac712bc94bfd09b679db7327a824f0a5837046f58af3a8365c89e06ff4d48784f60086a99816e0065a5f6f0f49066b0ff4c972a6b837b63373ca4bb04dcc21e5effb6dfe38271cb0fa\nB = 1da91553c0a2217442f1c502a437bb14d8c385aa595db47b23a97b53927b4493dd19f1bc8baf145bc10052394243089a7b88d19b6f106e64a5ab34acad94538ab504d1c8ebf22ac42048bbd1d4b0294a2e12c09fe2a3bd92756ba7578cb34b39\nLCM = 1d0530f8142754d1ee0249b0c3968d0ae7570e37dadbe4824ab966d655abf04cd6de5eb700eba89d8352dec3ae51f2a10267c32fbd39b788c7c5047fe69da3d7ad505435a6212f44899ba7e983bb780f62bcdee6f94b7dba8af7070a4cc008f351ae8be4579bc4a2e5c659ce000ad9c8cdc83723b32c96aeb0f5f4127f6347353d05525f559a8543cd389ad0af6f9d08a75b8c0b32419c097e6efe8746aee92e\n\nGCD = 66091477ea3b37f115038095814605896e845b20259a772f09405a8818f644aa\nA = cedac27069a68edfd49bd5a859173c8e318ba8be65673d9d2ba13c717568754ed9cbc10bb6c32da3b7238cff8c1352d6325668fd21b4e82620c2e75ee0c4b1aff6fb1e9b948bbdb1af83cecdf356299b50543b72f801b6a58444b176e4369e0\nB = 5f64ca1ba481f42c4c9cf1ffa0e515b52aa9d69ceb97c4a2897f2e9fa87f72bae56ee6c5227f354304994c6a5cc742d9f09b2c058521975f69ca5835bce898cf22b28457cd7e28870df14e663bb46c9be8f6662f4ff34d5c4ae17a888eba504e\nLCM = c163cb28642e19a40aa77887c63180c2c49fc10cda98f6f929c8131752ea30b5283a814a81681b69b9d1762e6c1a9db85f480bc17f998d235fd7e64c1caa70ef170c9e816d3e80f516b29f2c80cfb68bf208b4d5082ef078da4314b3f20c7d6c54b0aeb378096b029a7b61c0a4cd14aeddc01004c53915a4f692d2291752e5af46b23d7fa6dd61f2d56c6f4bf8e6119688abac8fd7aba80e846a7764bb3fca0\n\nGCD = bb80bf51757ba696c700fa4e4c0132b3151d2bf9ebff8382f808ded78be67182\nA = 0\nB = bb80bf51757ba696c700fa4e4c0132b3151d2bf9ebff8382f808ded78be67182\nLCM = 0\n\nGCD = bb80bf51757ba696c700fa4e4c0132b3151d2bf9ebff8382f808ded78be67182\nA = bb80bf51757ba696c700fa4e4c0132b3151d2bf9ebff8382f808ded78be67182\nB = 0\nLCM = 0\n\nGCD = bb80bf51757ba696c700fa4e4c0132b3151d2bf9ebff8382f808ded78be67182\nA = bb80bf51757ba696c700fa4e4c0132b3151d2bf9ebff8382f808ded78be67182\nB = bb80bf51757ba696c700fa4e4c0132b3151d2bf9ebff8382f808ded78be67182\nLCM = bb80bf51757ba696c700fa4e4c0132b3151d2bf9ebff8382f808ded78be67182\n\nGCD = 120451d8307219aa0c96f328ad653ccd462e92423ca93ed8a3dde45bf5cb9b13cdaf9800e4d05dd71c4db6a129fb3280ee4ec96ec5297d881c1a8b5efccbd91fef21f5c5bf5fba42a4c8eaa358f620a074b7a17054527bdaa58d5acaa0dfdc48ecba1a10ebf4d57bb4215de406e6be13fed3fe493b1cd1e2d11a8d4ac03c47756\nA = 3f8179a8e1f0b342475a855c3e1bae402dd41424cf24a0b4d2e263c8efb08bde7d92eae8607fb5e88b1378f0f1bd0733f229a35be6b1383a48d32749d5d6b32427d26323b7ab05bb5781289e96bfbc21971439319b15f6c0fe93fdb35d0b67ec41443c59a081dd3cef047ac797fccb45bece84c0bb0bb7e1797259526d8ec9cc63ba4d32cfc692ccd3d243cb2b53ac216312f3a8e8c0daa09d21b6150d697639a5e52059414a417c607be8ec0eee2e708219cadbaf37a369c4485b01ed87bbc2\nB = 2c474e396a2dd9cd10b9d7313f69d3b4ca123e9fd853edd488339236d14c56453a1381958864a04d2624e81995dabcdd0ccf60db9917813f887de68da075d0ea4440001e18f470e43b38ee3440b49be651d709fbdef980e3e4149913f4ae2681124f54523f4881376ddb533b5219e804cc26f4c2e577be4e02613c4da80ba1215775b0a5178a965ad47bd2befb32493943ded1004ef66347b4983f8d1ba990d4a943505dfce6debcfb322842ed88106cd6dee9aa592ff0d2274bc727a6e1f14c\nLCM = 9c129cf649555bfd2d3d9c64dc6d6f022295e53bca5d2f218adaa66aa60eb4694429b7e83bf81b6df4459c5104023ab9a33f006ffcd8114507baa17e2ef6fe23ebdd4740f66879033da2041f2cb7ba517ad3526ffe75614ea9432c085f71b2d65a736bac7ba42b639e330b82733372083843dcb78b6a273ab20e0d4b7c8998a14048aa15bb20a0a0bd997917107274c89b4cec175fb98043d52e6c555bd9e0036566d052a6d4e7e276d1e8835e1f06e3ca46d47747ba586e95fb1a790d992834b7c3e136141eb8a434e6c12067246ac3c0a81c69e03b1ed28aa0b3173d6eff83d278c2f461a47a416f3f9a5dae3bb410fd18817bd4115e7f1e84b936cc02364\n\nGCD = 95aa569a2c76854300d7660847dd20fe0b8c445fdbcaa98465cee61aee76ad6a438e75a8c573198570ffb62bc07ec3a2be0ae0a1f631670fa88d6f75f3161e8b9a4d44b6801ffc884c7f469c5ed1f27b1edecce9f2977f9e92d1a3b230492fea7e6f2af739dc158a7fbd29856cbedb57b4119e64b27ab09eb1c2df01507d6e7fd\nA = 4c653b5bfec44e9be100c064dffe5d8cd59b0cf4cc56b03eabb4ef87cfda6506c9a756b811907fe9d8b783eb7a0b9e129773bf1da365ddb488d27b16fb983e89345d1ccdb4f06a67a11925c3f266373be5d7b0075189c6f3c2157e2da197058fe0a7bcc50adc34e99e254a29abbe2d5948d3157e1b0c3fca3d641760f7b9862843b63abef0b3d83fd486f4526b30382fda355575da30e9a106718a3921774c4d69f5311f8d737fe618f5236b4763fe1b2ee7f13184db67367d3903c535ff6d7b\nB = 2dcca83c99a28e9fd2f84e78973699baf2f04fd454094730948b22477834a0064817b86e0835e6d7b26e5b0b1dcf4ad91a07ac0780d6522df1fcac758cf5db6c2a5623d7c0f1afefd5718f7b6de639867d07a9ec525991304e9355d1635104bea837f74758d6aa2aab4e4afbb606af1d98de7417505e4710cd0589bdff9a0bf38a857cc59a5f1781043e694fc2337fd84bdeb28b13a222bb09328a81ec409ad586e74236393d27398cc24d412135e34247c589149e134b97f4bd538ac9a3424b\nLCM = 1760c0b0066aa0695767099e87e9388729ea89b8e8c36bddcd04d257591e741613c07b0e69447c0a468c33a745084171e06523d987d8db40a1433bf435325e8a724a0876503b34495170ff3671d42117a2e4f3a75b1d9dd809a34fa0fb26fe50d84f80a9b02e40190e5", - "efb927a5a61a03f13edbce2e666af6c3a2a9bcb84e47e3090008753ff27c4b8cf06480f471379a93f5230923623a83b286b71a555cd5e5347282f664ed90b14b2c4de84a70375e488211a7b3931119ef3bbe029b712389fe784818a0bf29d80733ce9cc940c547aa1eb3f06d492eb676bf37802283c82ce76156dfaab5c2d5107e08062681b5fa169f6eb68e1ab8bd9b2005e90bd4fd\n\nGCD = 244b9b1290cf5b4ba2f810574c050651489f2d3a2b03e702b76ebfaf4e33de9bbe5da24c919e68d3a72eadd35982b3a89c6b18b38ff7082ac65263e52b6ec75a5717b971c98257b194c828bff0216a99536603b41a396ea2fb50f5ea7cf3edf10bb0d039123e78593ae9ffcbbba02e51e038533e83b6bc73c70551d6467f39809\nA = 41a0b1310669500681cdf888836f6c556758750f562d743ac780dd4c0d161856380e44fdbb1f8a2786bf45be6b0e7f1cb2cd85f6b9e50acc72793d92383c7d7fb796fc74d32e8fac8225bdc19ae47546d9c9c75f5f06ca684f07daccaf89ccf2cddeb7ec255d530c7dd1e71daf44cafdc9d30fbcb1cbaefae3480585f79f4177e3834a5bc91845e2e8cd8aeb27f484e5e5b2c3c076dbb6c23e91303f0a0fdde83cd33a8ea6ed1549e727b4d766c1017c169710fd98e1585d60f66e121f9180b3\nB = 251f5aeaa60b3959285f49540cdaf8e21451110bbddb9933bbbcaea3112f4eb45e435a3ba37c52d2ab79ce997a8f6c829b3aa561f2852924b8effb52396d09d2bf257ebb4fb56c7aa25648f69b06d2cd01e876c9f9c0679de9e6fffa79eb7e603723e5af7de46ee405a5a079229577b5b6fffb8d43e391fe6f4eb89638e64d6eff8026249aaa355a91625eb0bfd14caa81e4c3586aaa2e94fde143a44f223a91e226661d12f55dfcdb4215e5a64e14e968005733be6a71c465de312ca109b34a\nLCM = 431f918b274f3e43f446e4e85567883d6536a0332db662cef088f5a36b0f4b68372048174ba10fee94b9f8f1c2e189c974be2e6e8ae8e2ae108445326d40f63e38d8d4e2e46174589a3cbc9583e0036dc8146e79eee9e96f4436313b3f143dd0f5aceab05243def7f915169c360f55ef123977cf623c5ba432c3259c62fb5e37d5adab0f24b825aa4ada99ec4e83e9ca4698399e1ed633091ce5f9844c540a642cd264201116ed4168aa2105a5159f5df064f845830c469140f766c7319052ce59bd1ad7c3f2d8c30e54f147f6aeb5586c70c984302ba18d854a60aec01b394c7d66fa33fe18fe4a8cfb3238df219294e6e42190a30d28b10049a1b75853a4e\n\nGCD = 206695d52bc391a4db61bf8cb6ea96188333a9c78f477ee76976c2346dad682cf56ca6f176d86ef67d41ff5921b6162b0eca52359975872430dd14c45643eacdf028d830770714c033fd150669705851b2f02de932322d271d565d26768530c3f6cb84f0b3356f970b9070b26c050ead0417152c324c8ffe266d4e8b5b7bef3a\nA = 1114eb9f1a9d5947eb1399e57f5c980833489685023ed2fe537fe1276c1e026b9a19e6fff55aa889d6c4e977b6e6f3111e2ad463138637b50f42cf32e57d83f282de9e72f813e5969195159a666d74dcd689bd527c60199ae327f7bd548ac36868fea5fdf6f35d19b921e7c10b6448ca480de6826478cd0642d72f05af3f8e65ce42409fbd49f56e81946e89c8e83962c4edc0ed54600600a305e52d081aed3c351e450e11f8fb0ce5754c92cf765b71393b2b7a89c95df79b9ea1b3cb600862\nB = 1d8f3179ca7b5cc7119360c10de939ffa57c9043da2f2b0ca3009c9bdad9f19ed16e3c2c197bef4b527fa1bf2bbab98b77e26c329911db68bd63d3d0fbfc727a977395b9ad067106de3094d68e097830858c5ccfa505fc25e972bdee6f347e7d1163efacd3d29a791ec2a94ffeed467884ae04896efc5e7e5f43d8d76c147e3c9951a1999173bc4e5767d51268b92cc68487ba1295372143b538711e0a62bf0ac111cc750ca4dd6c318c9cbe106d7fc492261404b86a1ba728e2d25b1976dc42\nLCM = f9570211f694141bfb096560551080cbe02a80271b4505591aaea9e3b99ea1d5ac1c1f2378fd72799e117ac2a73381b1ad26314e39972164d93971479ee3ba21a4d98cef0bd299d540ce5826995dcee0de420dff73d30b23cbf3188c625c7696df517535bc5675d71faa00807efbebdca547933f4a37849d1c014484a77da6df0670c4974bcc91eb5f5fe5faf9dd095ef195ec32ad9eeebf0e63288b4032ed9e70b888afc642f4ff96f0b4c0a68787301c12e4527fe79bdfe72dd3844ab5e094a9295df6616f24d1b9eeebc2116177dacf91969dda73667bc421ef3ccd8d5c23dddc283f5d36568d31f2654926be67f78e181075bdc148f2b39c630b141ae8a\n\nGCD = 3d319c42d872f21131ce5ff3ab8bec94339308e620316dda218e85fedcd511cd62f0b2f3448d5e58fd3520ae8118abd54ead9ad9e8ec3890365c6b2cca2172d4b8839b2d2c5ab02f65180826cb0cd5c9798f5d6261efe6e6ec31dea047da7c486b0590359e6f333557f67ceebf9ea9cd5dd986a999a8c88bdbd0ca21816b2423\nA = 0\nB = 3d319c42d872f21131ce5ff3ab8bec94339308e620316dda218e85fedcd511cd62f0b2f3448d5e58fd3520ae8118abd54ead9ad9e8ec3890365c6b2cca2172d4b8839b2d2c5ab02f65180826cb0cd5c9798f5d6261efe6e6ec31dea047da7c486b0590359e6f333557f67ceebf9ea9cd5dd986a999a8c88bdbd0ca21816b2423\nLCM = 0\n\nGCD = 3d319c42d872f21131ce5ff3ab8bec94339308e620316dda218e85fedcd511cd62f0b2f3448d5e58fd3520ae8118abd54ead9ad9e8ec3890365c6b2cca2172d4b8839b2d2c5ab02f65180826cb0cd5c9798f5d6261efe6e6ec31dea047da7c486b0590359e6f333557f67ceebf9ea9cd5dd986a999a8c88bdbd0ca21816b2423\nA = 3d319c42d872f21131ce5ff3ab8bec94339308e620316dda218e85fedcd511cd62f0b2f3448d5e58fd3520ae8118abd54ead9ad9e8ec3890365c6b2cca2172d4b8839b2d2c5ab02f65180826cb0cd5c9798f5d6261efe6e6ec31dea047da7c486b0590359e6f333557f67ceebf9ea9cd5dd986a999a8c88bdbd0ca21816b2423\nB = 0\nLCM = 0\n\nGCD = 3d319c42d872f21131ce5ff3ab8bec94339308e620316dda218e85fedcd511cd62f0b2f3448d5e58fd3520ae8118abd54ead9ad9e8ec3890365c6b2cca2172d4b8839b2d2c5ab02f65180826cb0cd5c9798f5d6261efe6e6ec31dea047da7c486b0590359e6f333557f67ceebf9ea9cd5dd986a999a8c88bdbd0ca21816b2423\nA = 3d319c42d872f21131ce5ff3ab8bec94339308e620316dda218e85fedcd511cd62f0b2f3448d5e58fd3520ae8118abd54ead9ad9e8ec3890365c6b2cca2172d4b8839b2d2c5ab02f65180826cb0cd5c9798f5d6261efe6e6ec31dea047da7c486b0590359e6f333557f67ceebf9ea9cd5dd986a999a8c88bdbd0ca21816b2423\nB = 3d319c42d872f21131ce5ff3ab8bec94339308e620316dda218e85fedcd511cd62f0b2f3448d5e58fd3520ae8118abd54ead9ad9e8ec3890365c6b2cca2172d4b8839b2d2c5ab02f65180826cb0cd5c9798f5d6261efe6e6ec31dea047da7c486b0590359e6f333557f67ceebf9ea9cd5dd986a999a8c88bdbd0ca21816b2423\nLCM = 3d319c42d872f21131ce5ff3ab8bec94339308e620316dda218e85fedcd511cd62f0b2f3448d5e58fd3520ae8118abd54ead9ad9e8ec3890365c6b2cca2172d4b8839b2d2c5ab02f65180826cb0cd5c9798f5d6261efe6e6ec31dea047da7c486b0590359e6f333557f67ceebf9ea9cd5dd986a999a8c88bdbd0ca21816b2423\n\nGCD = 2\nA = 14e95a85e59ade9ef39e2f400c65db18702fa5fc485b9bba479a5282b2206129160e54f73ef4917983c17b4c5ebff7be112a886de069706eee29ba902515cb038\nB = ddcfff1d39c90c599f55495bf71c1e7597c6b08b7430707f360c6a6e5137bbc7b403c6d9e2c34f3d2f29d5d32b869346853c2de239cc35381bdfb4a01569211a\nLCM = 90f38564ee72e55d362c04599e7d74f068c75f541b84e97abba2841f1a9f66b06b5c9009f6a4c2e319fced85270588de03ccebddbd9279aaecb13bdc1dbea7f42acaee751cb7da83779b8785cc86f41b94b13b54964208ca287d981634778d1096f20e76ca636c0717fd27e0800c43f599a5eded807421b502eaf9990a8c8ed8\n\nGCD = 4\nA = 3c719c1c363cdeb7b57c2aabb71f425da4c3e6d3e447204d555e7cf0f3d372bdda906f36078045044978dafc20171767c8b1464d52dfdf3e2ba8a4906da033a8\nB = 30fe0ef151ac51404e128c064d836b191921769dc02d9b09889ed40eb68d15bfdd2edea33580a1a4d7dcee918fefd5c776cbe80ca6131aa080d3989b5e77e1b24\nLCM = 2e4526157bbd765b0486d90bcd4728f890bc6dbd9a855c67ca5cb2d6b48f8e74e1d99485999e04b193afca58dbf282610185d6c0272007744ff26e00dbdc813929b47940b137dc56ba974da07d54a1c50ec4a5c2b26e83f47cf17f4ccce8c3687e8d1e91d7c491a599f3d057c73473723ce9eee52c20fe8ae1595447552a7ee8\n\nGCD = 10\nA = 44e04071d09119ea9783a53df35de4a989200133bb20280fdca6003d3ca63fdd9350ad1a1673d444d2f7c7be639824681643ec4f77535c626bd3ee8fa100e0bb0\nB = ca927a5a3124ce89accd6ac41a8441d352a5d42feb7f62687a5ebc0e181cc2679888ecc2d38516bdc3b3443550efccac81e53044ae9341ecace2598fe5ce67780\nLCM = 36805ba9b2412a0cb3fe4ed9bdabfa55515c9d615a3d0af268c45c5f6098d2de4a583f3791f1e3883c55d51ce23c5658fd0e8faa9a3709a1cfbd6a61dbab861690f27c86664f084c86cfd4a183b24aaadf59a6f8cbec04f1b0ded8a59b188cb46ae920052e3e099a570540dbc00f7d4a571eef08aa70d2d189a1804bf04e94a80\n\nGCD = 100\nA = 73725032b214a677687c811031555b0c51c1703f10d59b97a4d732b7feaec5726cb3882193419d3f057583b2bc02b297d76bb689977936febaae92638fdfc46a00\nB = 979f4c10f4dc60ad15068cedd62ff0ab293aeaa1d6935763aed41fe3e445de2e366e8661eadf345201529310f4b805c5800b99f351fddab95d7f313e3bb429d900\nLCM = 4460439b4be72f533e9c7232f7e99c48328b457969364c951868ceab56cb2cbbeda8be2e8e3cae45c0758048468b841fdb246b2086d19b59d17b389333166ab82ed785860620d53c44f7aaaff4625ee70fb8072df10fb4d1acb142eadc02978ff2bb07cea9f434e35424b3323a7bda3a1a57aa60c75e49ebb2f59fb653aa77da00\n\nGCD = 100000000\nA = f8b4f19e09f5862d79fb2931c4d616a1b8e0dd44781ca52902c8035166c8fca52d33a56ff484c365ec1257de7fa8ed2786163cfc051d5223b4aad859a049e8ba00000000\nB = 6e54cb41b454b080e68a2c3dd0fa79f516eb80239af2be8250ca9cd377ba501aabafc09146fad4402bdc7a49f2c3eec815e25f4c0a223f58e36709eefd92410500000000\nLCM = 6b3020a880ddeff9d17d3dc234da8771962de3322cd15ba7b1e4b1dd4a6a2a802a16c49653865c6fdf6c207cbe0940f8d81ef4cb0e159385fd709d515ee99d109ad9ad680031cbae4eab2ed62944babdade4e3036426", - "b18920022f737897c7d751dce98d626cdda761fec48ad87a377fb70f97a0a15aa3d10d865785719cc5a200000000\n", + "M with a \"correct top\" isn't the right length for RSAZ.\nModExp = 1\nA = -b5d257b2c50b050d42f0852eff5cfa2571157c500cd0bd9aa0b2ccdd89c531c9609d520eb81d928fb52b06da25dc713561aa0bd365ee56db9e62ac6787a85936990f44438363560f7af9e0c16f378e5b83f658252390d849401817624da97ec613a1b855fd901847352f434a777e4e32af0cb4033c7547fb6437d067fcd3d964\nE = 61803d4973ae68cfb2ba6770dbed70d36760fa42c01a16d1482eacf0d01adf7a917bc86ece58a73b920295c1291b90f49167ef856ecad149330e1fd49ec71392fb62d47270b53e6d4f3c8f044b80a5736753364896932abc6d872c4c5e135d1edb200597a93ceb262ff6c99079177cd10808b9ed20c8cd7352d80ac7f6963103\nM = b5d257b2c50b050d42f0852eff5cfa2571157c500cd0bd9aa0b2ccdd89c531c9609d520eb81d928fb52b06da25dc713561aa0bd365ee56db9e62ac6787a85936990f44438363560f7af9e0c16f378e5b83f658252390d849401817624da97ec613a1b855fd901847352f434a777e4e32af0cb4033c7547fb6437d067fcd3d965\n\n# A == M, so A == 0 (mod M) so A ^ E (mod M) == 0. Note that A mod M with a \"correct top\" isn't the right length for RSAZ.\nModExp = 0\nA = b5d257b2c50b050d42f0852eff5cfa2571157c500cd0bd9aa0b2ccdd89c531c9609d520eb81d928fb52b06da25dc713561aa0bd365ee56db9e62ac6787a85936990f44438363560f7af9e0c16f378e5b83f658252390d849401817624da97ec613a1b855fd901847352f434a777e4e32af0cb4033c7547fb6437d067fcd3d965\nE = 61803d4973ae68cfb2ba6770dbed70d36760fa42c01a16d1482eacf0d01adf7a917bc86ece58a73b920295c1291b90f49167ef856ecad149330e1fd49ec71392fb62d47270b53e6d4f3c8f044b80a5736753364896932abc6d872c4c5e135d1edb200597a93ceb262ff6c99079177cd10808b9ed20c8cd7352d80ac7f6963103\nM = b5d257b2c50b050d42f0852eff5cfa2571157c500cd0bd9aa0b2ccdd89c531c9609d520eb81d928fb52b06da25dc713561aa0bd365ee56db9e62ac6787a85936990f44438363560f7af9e0c16f378e5b83f658252390d849401817624da97ec613a1b855fd901847352f434a777e4e32af0cb4033c7547fb6437d067fcd3d965\n\n# A is negative, and A (mod M) is the right length for RSAZ.\nModExp = 9cf810b9e89d5cbc4b79ae64e123ea06d92965e2bab077df97a1b906dc2e1ddcf96a9c4ed14e2cd96309b829ea9cc2a74a7d4b43c5f34d792a7c583201427754b8f78b783608070a84b61f18913e3ced7f7f530972de7764667c54e29d756eea38a93cd1703c676a4587231b0ebfeadddf908e2877a7a84b5bfc370ecf0d158d\nA = -8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nE = 61803d4973ae68cfb2ba6770dbed70d36760fa42c01a16d1482eacf0d01adf7a917bc86ece58a73b920295c1291b90f49167ef856ecad149330e1fd49ec71392fb62d47270b53e6d4f3c8f044b80a5736753364896932abc6d872c4c5e135d1edb200597a93ceb262ff6c99079177cd10808b9ed20c8cd7352d80ac7f6963103\nM = b5d257b2c50b050d42f0852eff5cfa2571157c500cd0bd9aa0b2ccdd89c531c9609d520eb81d928fb52b06da25dc713561aa0bd365ee56db9e62ac6787a85936990f44438363560f7af9e0c16f378e5b83f658252390d849401817624da97ec613a1b855fd901847352f434a777e4e32af0cb4033c7547fb6437d067fcd3d965\n\n# Regression test for CVE-2017-3738.\nModExp = d360792bd8210786607817c3dda64cc38c8d0f25569597cb1f363c7919a0c3587baff01a2283edaeb04fc288ac0ab3f279b2a89ffcb452d8bdf72422a9f9780f4aa702dc964cf033149d3a339883062cab8564aebdbfac0bf68985e522c6fe545b346044690c525ca85d3f4eb3e3c25cdf541545afc84a309e9b1d7807003461\nA = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff2020202020df\nE = 2020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020FF2020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020\nM = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff2020202020ff\n\n# Test vectors for CVE-2019-1551. (We do not carry the assembly file with the\n# bug, but we use the test vectors anyway.)\n\n# Original test vectors by OSS-Fuzz.\nModExp = 9d675d188a07e9bd1b32638cc8cfd5002ef89bd1a9648f806567b87939140a67977dc8da17323b8e4c6bc53875cda8b656df8f54cc32e44fd9c21d122ea3c0d6\nA = dea9b3e0b44ae67b2ac9b7c2b18eeb4dab206b014981a46ac409f195eeb6896f132cf8497c87d1188008ee511054ebb426203355b7d515dce9501cb759ac1373\nE = b01ae745b101e9e45ec05dcff72e7f8fc04c79ffe324301fda0b4f7be81d85c4e875c73fc6c5cb40000000000000000000000000000000000\nM = ffffffff01ffffffffffffffffffffffffffe2000000000000000000000000000010fab8d960706cd4c21818115650cad61d4f10da325dffffffff00ffff00ff\n\nModExp = 651f811b62ee8770e3598c340864dd6b0be9bb6376b6f933ab216fd55538e6ad1000cb2b3c64f54d554e004b6eec8138e6ecff00452d443a42041b72e6cd9ead\nA = 3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e\nE = 3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e09003e3e3e3e3e3e3e3e3e3e3e3e3e3e010900230a01230a2100ffffff0000adf300a58700000000ffffff00\nM = ffffff0b00000000000000000000000000ffffffff0000ffffffff00000a0000000a00000000000000000000ffffffff000000000000ffffffffffff000000ff\n\n# Test vectors for rsaz_512_sqr bug, with rcx/rbx=1\n\n# between first and second iteration\nModExp = 1\nA = 624e6a171024e6a171024e6a171024e6a171024e6a171024e6a171024e6a171024e6a171024e6a171024e6a171024e6a14ce297f2873536f959d8c3390d973b6\nE = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006e\nM = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f\n\n# between second and third iteration\nModExp = 1\nA = 11024e6a171024e6a171024e6a171024e6a171024e6a171024e6a171024e6a171024e6a171024e6a14ce297f2873536f959d8c3390d97360800000000000000f\nE = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006e\nM = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f\n\n# between third and fourth iteration\nModExp = 1\nA = 4171024e6a171024e6a171024e6a171024e6a171024e6a171024e6a171024e6a14ce297f2873536f959d8c3390d9736080000000000000000000000000000039\nE = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006e\nM = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f\n\n# between fourth and fifth iteration\nModExp = 1\nA = 6a171024e6a171024e6a171024e6a171024e6a171024e6a14ce297f2873536f959d8c3390d97360800000000000000000000000000000000000000000000006\nE = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006e\nM = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f\n\n# between fifth and sixth iteration\nModExp = 1\nA = 44e6a171024e6a171024e6a171024e6a14ce297f2873536f959d8c3390d97360800000000000000000000000000000000000000000000000000000000000003c\nE = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006e\nM = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f\n\n# between sixth and seventh iteration\nModExp = 1\nA = 1024e6a171024e6a14ce297f2873536f959d8c3390d973608000000000000000000000000000000000000000000000000000000000000000000000000000000e\nE = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006e\nM = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f\n\n# between seventh and eighth iteration\nModExp = 1\nA = 626eee5e3c8653be47ed15e84b97cc7f800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000187\nE = c0000000000000000000000000000000000000000000000000000000000000000000000000000", + "0000000000000000000000000000000000000000000000002f8\nM = c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002f9\n\n# Test vectors for rsaz_512_srq bug, with rcx/rbx=2\n\n# between first and second iteration\nModExp = 1\nA = 3c40939a85c40939a85c40939a85c40939a85c40939a85c40939a85c40939a85c40939a85c40939a85c40939a85c4093995e8efdb195e8efd8caf477ed8caf7c\nE = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006e\nM = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f\n\n# between second and third iteration\nModExp = 1\nA = 485c40939a85c40939a85c40939a85c40939a85c40939a85c40939a85c40939a85c40939a85c4093995e8efdb195e8efd8caf477ed8caf47800000000000003f\nE = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006e\nM = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f\n\n# between third and forth iteration\nModExp = 1\nA = 59a85c40939a85c40939a85c40939a85c40939a85c40939a85c40939a85c4093995e8efdb195e8efd8caf477ed8caf478000000000000000000000000000004e\nE = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006e\nM = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f\n\n# between forth and fifth iteration\nModExp = 1\nA = 2939a85c40939a85c40939a85c40939a85c40939a85c4093995e8efdb195e8efd8caf477ed8caf47800000000000000000000000000000000000000000000024\nE = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006e\nM = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f\n\n# between fifth and sixth iteration\nModExp = 1\nA = 640939a85c40939a85c40939a85c4093995e8efdb195e8efd8caf477ed8caf478000000000000000000000000000000000000000000000000000000000000057\nE = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006e\nM = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f\n\n# between sixth and seventh iteration\nModExp = 1\nA = 25c40939a85c4093995e8efdb195e8efd8caf477ed8caf4780000000000000000000000000000000000000000000000000000000000000000000000000000021\nE = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006e\nM = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f\n\n# between seventh and eighth iteration\nModExp = 1\nA = 7b4919849931b28a14fcace213f2b3884fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84b6e67b66ce4d9c\nE = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000004c\nM = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000004d\n\n\n# Exp tests.\n#\n# These test vectors satisfy A ^ E = Exp.\n\nExp = aa6d7ac431\nA = d0e07\nE = 2\n\nExp = 12d416b110dbb4e467ff0c89a22122f4da8240\nA = 1a18cf6\nE = 6\n\nExp = 49a3b33e23d84f1ce0d5d83f5dcb651d50cf3920f0143da2310d0512a90a06cd8f38977df8a756c30883de38df092000\nA = 2a3acbd2\nE = d\n\nExp = 5b4a0d5a956f885f275712b194459980f24708bfb6393d71bd37dce852ce455724f5ee5030775fb86b4295edc98afaafc097e4d82a97c0078ec0eac763db16549c5145c4cf2d3124f88cf9a5c71da0625afb99b26801786fe49a778415dc025954021753d08691947a208b613f0be5c1\nA = 54b3ae461\nE = 1a\n\nExp = a0ea5f6a4de49beb8fb7f0dab280d6a32c5a3814c9a5153a7944cec0a9028497846a8a89044348721a0bb5f0c3ded3e980574ea321b0cdb0ead4f4e93841ea7478a7f15d9729b646a8165813a0750e8124f5465dda9b105e1bbeff18fd09c09a2e26610d9176d253b877c3a8908a6be521cbe1e472a7a1b7820e4e890f8f28aacd34609c686e76e15b01bd9324a71290812724ea564d11c874a6765b262c3e57d479da0287a76026a1e8fe53da0b02405da1d379eaa30fc65f\nA = fccec0f6df\nE = 25\n\n\n# ModSqrt tests.\n#\n# These test vectors satisfy ModSqrt * ModSqrt = A (mod P) with P a prime.\n# ModSqrt is in [0, (P-1)/2].\n\nModSqrt = 1\nA = 1\nP = 2\n\nModSqrt = 1\nA = 1\nP = 2\n\nModSqrt = 1\nA = 1\nP = 2\n\nModSqrt = 1\nA = -1\nP = 2\n\nModSqrt = 1\nA = -1\nP = 2\n\nModSqrt = 0\nA = 0\nP = 3\n\nModSqrt = 0\nA = -3\nP = 3\n\nModSqrt = 0\nA = -3\nP = 3\n\nModSqrt = 0\nA = 0\nP = 3\n\nModSqrt = 0\nA = 0\nP = 3\n\nModSqrt = 0\nA = 0\nP = 5\n\nModSqrt = 1\nA = -4\nP = 5\n\nModSqrt = 0\nA = -5\nP = 5\n\nModSqrt = 2\nA = 4\nP = 5\n\nModSqrt = 0\nA = -5\nP = 5\n\nModSqrt = 3\nA = -5\nP = 7\n\nModSqrt = 0\nA = 0\nP = 7\n\nModSqrt = 0\nA = 0\nP = 7\n\nModSqrt = 2\nA = 4\nP = 7\n\nModSqrt = 3\nA = -5\nP = 7\n\nModSqrt = 4\nA = 10\nP = b\n\nModSqrt = 0\nA = 0\nP = b\n\nModSqrt = 3\nA = -2\nP = b\n\nModSqrt = 3\nA = -2\nP = b\n\nModSqrt = 2\nA = 4\nP = b\n\nModSqrt = 2\nA = 1e\nP = d\n\nModSqrt = 2\nA = 1e\nP = d\n\nModSqrt = 0\nA = -d\nP = d\n\nModSqrt = 0\nA = -d\nP = d\n\nModSqrt = 3\nA = 9\nP = d\n\nModSqrt = 8\nA = d\nP = 11\n\nModSqrt = 6\nA = df\nP = 11\n\nModSqrt = 4\nA = 10\nP = 11\n\nModSqrt = 5\nA = 90\nP = 11\n\nModSqrt = 3\nA = 80\nP = 11\n\nModSqrt = 9\nA = -e\nP = 13\n\nModSqrt = 7\nA = 7d\nP = 13\n\nModSqrt = 6\nA = 37\nP = 13\n\nModSqrt = 1\nA = 1\nP = 13\n\nModSqrt = 8\nA = 1a\nP = 13\n\nModSqrt = 54d4cf0fafe265056a29016778cea6b712bc66a132fb5e6b6865e9b49e4c97ec\nA = 599c10484b22d0b5a115268c7538ca99b3253a311a4ab1ca11c3665b0bec393a1167d1ad94fb84cb2c7ad7e2c933e8f613bdd08fe1f1aa4a9b0b9de0c8a7c9d4\nP = cfc4ccae35458ab5be1a1bc0664188253301f8702af4f8fb19fed12de0c653b1\n\nModSqrt = 38a7365a15365e911286c1be2a7afe76ef390234d76269e04dee17313f6ea54d\nA = 1c4aabb4d8369710131c664ecf2849e963c1bc31d66e0b939bacf99a870c71f24ed71bdddcf566f3908271fee43fc1ebb51eac7e3153efae641b49d2e796a12a\nP = cfc4ccae35458ab5be1a1bc0664188253301f8702af4f8fb19fed12de0c653b1\n\nModSqrt = 35ab18a560dece04725667f640ca61d1d59f14d191f94c79f58531acd097d444\nA = 685168ae855d60eba220d803f5296459b30a289580668db9ed51bca51cc2d453a937e13819ae34f7a9a143ac96d17420c53919167e46279b562b550be1cd9abc\nP = cfc4ccae35458ab5be1a1bc0664188253301f8702af4f8fb19fed12de0c653b1\n\nModSqrt = 288370029e87024175e5bec0eab0929179f42e16995e7f6194eefc61061e54f4\nA = 2a14ab77c045bdc48220ba9c463e1a4b4049cb01edb53be0937767eb2ec19b7d719855052281250a36a0b76d9a5d967d0756e1ded7a052f7056191ad66bcfc9\nP = cfc4ccae35458ab5be1a1bc0664188253301f8702af4f8fb19fed12de0c653b1\n\nModSqrt = 32255cf01dc943577ec2bcb221b98491d7a1130d046d6c68e95fedff643ce3a4\nA = e26f6dd46a513a1dd3fb14b71be1d4c9e9d79eda1cde10ea4d1eb8abfd4d5857572205e247184dd0cbefa37b5c0bf680ba2bd28c5741f725cfe2aae37419baf\nP = cfc4ccae35458ab5be1a1bc0664188253301f8702af4f8fb19fed12de0c653b1\n\nModSqrt = 5172345e801ada63fbc4782e32583cc3b4fea88b9e6dfd542f3542f8538ade66\nA = 40dafa8342b302bb04b1f3ddb3b9015a8fc1b597857c115b40631c7be9e22de89358fca23b331596ee5ff304dad7811e6d8e8822f7aa533c9e7c882634ea550\nP = a6813d316f9aca30f98b4f864b8b4b8f51493af930bd4d3a1b205a710e99add3\n\nModSqrt = 4dcf63c423bf0e39aca2293d57f6792d023db649d6719fe936446904b9f7e60d\nA = 5bcdb514bbe84261e169203e8017909b60c9bb330400c766ee01b0189378e70e61867a164a12643ddc9e94b61e09e5b158cbe85be228a3cc48f95a552958b8f2\nP = a6813d316f9aca30f98b4f864b8b4b8f51493af930bd4d3a1b205a710e99add3\n\nModSqrt = cf77c5c2d12a500b75cbfb1f3e66ee75d886b9365cf4f8b4d1bd18a6be0f387\nA = 4652ddc2ea7b460d8ec3c9059b8f9b5dae6cac55b51f2ad86fcb336b25235737965cc515e2ff0b54835015b7ebeeda6fadd986471d8cb424d309fc353d1e269\nP = a6813d316f9aca30f98b4f864b8b4b8f51493af930bd4d3a1b205a710e99add3\n\nModSqrt = 1e0549e4c5a26023e9d24fd8c67419960746f82b1ecd113bdac66f570a475d87\nA = 5f4a6d450ab1390d96ab1deaa0ba18f897cb63daf0c9e1ef6c08e804c26b5e842f6c08f13db5d4a6e88f07af2a3cb04fa06fc3e59c410b9356f025ed81acc74\nP = a6813d316f9aca30f98b4f864b8b4b8f51493af930bd4d3a1b205a710e99add3\n\nModSqrt = 144481a781d831c1ca046ca9e322d79ad4d2c6dd9f780bea9d1ced9cd20b7b23\nA = 4c254fabca441017132b9eacd4ca40a336db3e5c09715773fa07af095989a91cc968ff07a9ff56ed06b0ce0c5269f7b2ab68564ecab9f4467a7e96b6cc6b21b7\nP = a6813d316f9aca30", + "f98b4f864b8b4b8f51493af930bd4d3a1b205a710e99add3\n\nModSqrt = 216fecc7667f488a3d2d102a38b46b4860ab858300b8638af4f34e1103fd73ba\nA = 17878f8048227573a9d70f53c0e76ff13fe9f56e9c984c92514d3d13dec23c816661f0618d21371b80dfd885cb59551bdf80046f65f22ea9b89c78645a6e455a\nP = bd37c850cf7d702bac879f3c21a51a5a4df2b8eb0935861e0753a6eb62261a95\n\nModSqrt = 458e5e789ccd2417174f7e30bb31914b9656bd8cf2b9f5a9752a8737a67707bc\nA = 5c7d39a4bb04e69201aa519f80ee7e62ea14ca55e13656d1da3f45367e2fb2d061aa2940708d02ac67d35cd2ccf54a1bf95bcbc759779e692cfdcbb3aa1a05b\nP = bd37c850cf7d702bac879f3c21a51a5a4df2b8eb0935861e0753a6eb62261a95\n\nModSqrt = 543125a16c2bb8b8f8a2c39c497e5224ec77533602d7dbe24002e32dcbd2ef1a\nA = 3413afae333b2ad9ff45c7f3c7e5934b3127e8b1a55225958ee6ccf42423e81559bf070ad3f3353b78c0ffd41475af49f59d268ef78bdae879f5155e8d1cc07\nP = bd37c850cf7d702bac879f3c21a51a5a4df2b8eb0935861e0753a6eb62261a95\n\nModSqrt = 10e16859c67bdb2eaab52a7c847dbf37162eda258a9f6262ebacfe4cbbbc1080\nA = 21ce7905894faf220bdf4a82a2d855994ca2dc9feaecaa53c7f146e1f49934215695e9bb46ba370b7005a90c399674caa8969eb442e7914d90f749774d7fd194\nP = bd37c850cf7d702bac879f3c21a51a5a4df2b8eb0935861e0753a6eb62261a95\n\nModSqrt = 32a00586adc6f6cc2b1a04e1be0ab569fde235e1436c38b6af92bc5ebd60bc1c\nA = 350da4fd8cf03c12f7dd6ac6d3ab801a3413964083e374662aaf878d6838b97d4feb9e52cd307a25b113e101661a865463ee2480c626aa4e2ec437d72e7bae4c\nP = bd37c850cf7d702bac879f3c21a51a5a4df2b8eb0935861e0753a6eb62261a95\n\nModSqrt = 971f75bc7afa8b4b50f1d4b05e52deac7d4836a08d30546f29649bf1ca6a247\nA = 655ed4c5d8d0afb4f9360372ee1ef1303898d2423e585108a3303faedb55064d2ef25666ed4c4d71fe6063fea1f3142b435714b0e30b339dd791d347c884654\nP = 9810151ad4bc9c5d68fc326395b509f2625bfebca1c3801ad4da7539fdbaa6f7\n\nModSqrt = 48fa882b7cb6a29de9e3769f72eb67f1efd4d2af56f0c7e410c610efcbce2065\nA = 14f3503f33b243800eac1defaab33e04c01e80163fb3efd03860970cc016832431ca4fc6d1b760f4f40166b0b8b3c40dbebc81460cc10890172243770338f090\nP = 9810151ad4bc9c5d68fc326395b509f2625bfebca1c3801ad4da7539fdbaa6f7\n\nModSqrt = 236fd7e397ea7f8bc2a288eb7236ca41936fa702b7dccca56c8852e147511f7d\nA = 1bbd0980feac854782813bcde4da85e8a054549a1b515e065da4236528035e756882e29e762cf60453e375cca9dc6ff637f9558bf86646e3b928f68f82af7efe\nP = 9810151ad4bc9c5d68fc326395b509f2625bfebca1c3801ad4da7539fdbaa6f7\n\nModSqrt = 693f0cbe8c81b0afde0cd2f83e53795dcae6b0cc4ba930ab5c752400d787f14\nA = 7b20f9664b23907e152ab8c9a907f72e8670c1c38ab4cd1411ea7c2159c09aa131afe068929b8e6ad1409b74c04975180d1cd0a9fa74e923c3fd451e8da2c34\nP = 9810151ad4bc9c5d68fc326395b509f2625bfebca1c3801ad4da7539fdbaa6f7\n\nModSqrt = 4a086c50b0bad576501ddb6280743b2c9d247841eb7f14d90561432ff7dca6f0\nA = 4367431ec0cd0d7626538b93a090c30fe0c97c18ca03b97ddae304b619112b5b4d02bf0f041fa3fd673f9ef2ceb07eb2079d11c56dd903b1a87e8252a97b8079\nP = 9810151ad4bc9c5d68fc326395b509f2625bfebca1c3801ad4da7539fdbaa6f7\n\nModSqrt = 18f8433fa468d8065157708f1f1e53b8e31d39c6011fbc2bad93de1b5548e19c\nA = 739c032bb4139c199c40f548d37234298772e4ccb9d3ba28412b60ad23b4c465b0787e2382f1c5a4a87af2d20eb978b7dcbe73f2112249477d15c8a85e54a79\nP = adcd56924f73836ebe4dccfe006ad3b1e5076562cd11b161642cab7af2284659\n\nModSqrt = 49e3c8eef5e067cabd51a7c01384ce05ab8f4342f655559d8a689eb7b20e0106\nA = 18400c2cc3e06b99b4e39c77b9af5ff0e9c683f1708321afa4cd5b6988d13b36b1d9eb4379b7902d9ceb40c03f814b2b6a01b90509bbb4532f13ab1571c4d04a\nP = adcd56924f73836ebe4dccfe006ad3b1e5076562cd11b161642cab7af2284659\n\nModSqrt = 35548c530745f440329325cc8a5fbd90c16a7f0788879a4869bc4d4f73acda0e\nA = 181a3c5ab02566e7166c4d6d2f2bd4a8ecc25991a98d270bde80cf4332766a7068b14240bf5f5dcd45e90ef252596da3eb05b11d68b2063f7b3a825742593ca9\nP = adcd56924f73836ebe4dccfe006ad3b1e5076562cd11b161642cab7af2284659\n\nModSqrt = 1ab7046e6af061ade5f9719008fa4d989007e2a579a134a5b9f19ec410984096\nA = 1008a03e211fab0d45856377079bc96b0776c2d4c0175661f3493246cea2ab0a02a706c85314fb707ad9906bedb2cfd577d62092ae08ff21d7b949373ea954c7\nP = adcd56924f73836ebe4dccfe006ad3b1e5076562cd11b161642cab7af2284659\n\nModSqrt = 2be9e3e7515960d90f115b89f60dedc173a73ce163b4036e85b7b6a76fd90852\nA = 392053a9f0100540a8e1a0c353e922068a84dad3a4a8e8962fbc0bee2b6a06e20d08ade16eb1409a16acfcac3db5c43c421505e07035ca308b15c4a6db0864c0\nP = adcd56924f73836ebe4dccfe006ad3b1e5076562cd11b161642cab7af2284659\n\nModSqrt = 5b301bb93bdcf050183107e36258b53b4805918114ea1c2227b0911d5b4dc077\nA = 55e55e5f94dc3d7aabc921f6469d85fa2e1e92a87347c57afad5872306ae69f9fb99297d1e3e793dd9e8632244208154de5da7114fd876383bf1422f7ece024\nP = d43280ac150f725f4a2a1dceb1c79bcac57855a4eba72ae93762d09bcb2444fb\n\nModSqrt = 2df9609e2f5a5156c3260461b2ee52eacdef00bd8b091479813143a6c5283f71\nA = 2099325b7f12fe77353ddf3f2b2c5ef77b49671b150af954cf84e9675e3ecde3e057084641a633d19533b4712ab49924c8b5c31d591abcc88291f51253fa2a7\nP = d43280ac150f725f4a2a1dceb1c79bcac57855a4eba72ae93762d09bcb2444fb\n\nModSqrt = dfab751710e9008e25e422d1199d6fbec4dc7fba35b4da9d225a746eb4126a0\nA = c006af53d4737fb293584df6ffe2e4cb3fd8dc77fb7c1f13b97bb9c249e3ee5fb9feff7488265b3093906c08a4946f142ac7b491937d24bfba6413366ce371d\nP = d43280ac150f725f4a2a1dceb1c79bcac57855a4eba72ae93762d09bcb2444fb\n\nModSqrt = 26bc030008d6c60a09fb0e16093a649fcb40c6c21a8e2da2353ba4b07c4f85d5\nA = 1eaabcfad2ed349ac9356e6f4da0b301266ddde811cb0f817aba8f5c10fb8b8ba9d0ef2dd386b668f16eac296118fdb8cb7afe1b865648c81c2fa3cf21f2711b\nP = d43280ac150f725f4a2a1dceb1c79bcac57855a4eba72ae93762d09bcb2444fb\n\nModSqrt = 35051b1482ec2578f3dc0000a422cb5111e43c37f1ac20b1844d3de2128c4556\nA = 315ff9de178681116f2a5fa78eebf4818e1d680435eacdfaf9d0e5c4fc01fc034b352c82fd52c81ca30d68864952dacc99d08269c9dd7ca99ccf22da98c3840\nP = d43280ac150f725f4a2a1dceb1c79bcac57855a4eba72ae93762d09bcb2444fb\n\nModSqrt = a5474252885cacf004c460a7793ff0b0a2187bb1a9ed700ae3470199faef71f\nA = 19856fc1351c4b02abf573bb2fc6ff92355fa369d62bb8f2260fa772fb1693f509a56cad661930abcac049dd70f4b16bed4a4c172e73e772504c9990ce7f92f\nP = dc315fd52684fba79e577a204de9053b11a5d7a414263fec9eff6ff62188829d\n\nModSqrt = 12daf4722387ecf47de1b0b6b110a062dc5ea2685bc9dbde66b8d15622985029\nA = fb8479787069116abc42abfd7dc0c24d2ad04fe0c04b42a6dff714af715d17e0fd77855f950f264542b06d48e8818de813ddb7975798b7debefcdaa5ff86beb\nP = dc315fd52684fba79e577a204de9053b11a5d7a414263fec9eff6ff62188829d\n\nModSqrt = 397996ed5c0ac6ad32e43c337e9de421b87774cc162bf7ac7bbedf4a9029255e\nA = 5aa04353321bd2de92481be740357f979da464b53aa39111fdbb734cf7af6b3857d1baa08d3a126a3dd34a2fbae2bf2b84e900686c1d31505b390185acef5fe5\nP = dc315fd52684fba79e577a204de9053b11a5d7a414263fec9eff6ff62188829d\n\nModSqrt = 2cf4b844a54ba359dc592ef1b49f43fcfeae84d1087edfefdd0b9174b43c0a3c\nA = 365a8650510bcfd8fa87432f167cf487234c215857403b9270b5eebeafa48cd6da47fd60dc311b94d1d72baad0447c31f0b212d755f46c256e16e5e015e6546e\nP = dc315fd52684fba79e577a204de9053b11a5d7a414263fec9eff6ff62188829d\n\nModSqrt = 9277c73043ff767c3fa606f0cd66b9d854a600c8c18287f191ce277758c3f31\nA = 62cec3901626d03e8df66299a87c54b1f7a55cafc99f0b6bba1b5d51a3d2b7d2171c9135a9d8a5346d436e0136b12e515e703e3cd84ecfe154eb94c6772a6d72\nP = dc315fd52684fba79e577a204de9053b11a5d7a414263fec9eff6ff62188829d\n\nModSqrt = 4189e5a90c1b1abdc1c7c05b3587e6f362e06f927b6cf5f0d271aab3d6f90765\nA = 336b8d0f9dac842c696bc020f49c6aa023842c16f2052eb02f17959006554ca0012042c80c72590f21c6bf5a3714c9cb552aa69730e33db93a56a909b273f39\nP = 9df9d6cc20b8540411af4e5357ef2b0353cb1f2ab5ffc3e246b41c32f71e951f\n\nModSqrt = 36ccd38cb5a6bd8a73bca55936a2227c503664422c2296faf7e2b1c6a375a43a\nA = fecfd60a376befbe48d2c4f6d070d716d2f403cd5daefbce62b720df44deb605162c8f20f49fd7ec30d4f8e70d803d45b3a44b5d912baa3410d991165d7c507\nP = 9df9d6cc20b8540411af4e5357ef2b0353cb1f2ab5ffc3e246b41c32f71e951f\n\nModSqrt = 198fc8569be172dc9b71023ed3d42d2ba94bae4099643f6517ab03f540527fdb\nA = 65bebdb00a96fc814ec44b81f98b59fba3c30203928fa5214c51e0a97091645280c947b005847f239758482b9bfc45b066fde340d1fe32fc9c1bf02e1b2d0ec\nP = 9df9d6cc20b8540411af4e5357ef2b0353cb1f2ab5ffc3e246b41c32f71e951f\n\nModSqrt = 21b7f74c30ded681d6138cf8e6fd798f32a049e94138e982f1845df3dc9e686f\nA = 9a30b791c1ba4f394b4e3dcd5837e474237f4fe8987b255c098a47b2c14c598ec69d2beae444dd4fe9c4ede8173d2b187677cc706a3c28f3b81627d8a5fb6fd\nP = 9df9d6cc20b8540411af4e5357ef2b0353cb1f2ab5ffc3e246b41c32f71e951f\n\nModSqrt = a1d52989f12f204d3d2167d9b1e6c8a6174c0c786a979a5952383b7b8bd186\nA = 2eee37cf06228a387788188", + "e650bc6d8a2ff402931443f69156a29155eca07dcb45f3aac238d92943c0c25c896098716baa433f25bd696a142f5a69d5d937e81\nP = 9df9d6cc20b8540411af4e5357ef2b0353cb1f2ab5ffc3e246b41c32f71e951f\n\n\n# NotModSquare tests.\n#\n# These test vectors are such that NotModSquare is not a square modulo P.\n\nNotModSquare = 03\nP = 07\n\nNotModSquare = 05\nP = 07\n\nNotModSquare = 06\nP = 07\n\nNotModSquare = 9df9d6cc20b8540411af4e5357ef2b0353cb1f2ab5ffc3e246b41c32f71e951e\nP = 9df9d6cc20b8540411af4e5357ef2b0353cb1f2ab5ffc3e246b41c32f71e951f\n\n\n# ModInv tests.\n#\n# These test vectors satisfy ModInv * A = 1 (mod M) and 0 <= ModInv < M.\n\nModInv = 00\nA = 00\nM = 01\n\nModInv = 00\nA = 01\nM = 01\n\nModInv = 00\nA = 02\nM = 01\n\nModInv = 00\nA = 03\nM = 01\n\nModInv = 64\nA = 54\nM = e3\n\nModInv = 13\nA = 2b\nM = 30\n\nModInv = 2f\nA = 30\nM = 37\n\nModInv = 4\nA = 13\nM = 4b\n\nModInv = 1c47\nA = cd4\nM = 6a21\n\nModInv = 2b97\nA = 8e7\nM = 49c0\n\nModInv = 29b9\nA = fcb\nM = 3092\n\nModInv = a83\nA = 14bf\nM = 41ae\n\nModInv = 18f15fe1\nA = 11b5d53e\nM = 322e92a1\n\nModInv = 32f9453b\nA = 8af6df6\nM = 33d45eb7\n\nModInv = d696369\nA = c5f89dd5\nM = fc09c17c\n\nModInv = 622839d8\nA = 60c2526\nM = 74200493\n\nModInv = fb5a8aee7bbc4ef\nA = 24ebd835a70be4e2\nM = 9c7256574e0c5e93\n\nModInv = 846bc225402419c\nA = 23026003ab1fbdb\nM = 1683cbe32779c59b\n\nModInv = 5ff84f63a78982f9\nA = 4a2420dc733e1a0f\nM = a73c6bfabefa09e6\n\nModInv = 133e74d28ef42b43\nA = 2e9511ae29cdd41\nM = 15234df99f19fcda\n\nModInv = 46ae1fabe9521e4b99b198fc8439609023aa69be2247c0d1e27c2a0ea332f9c5\nA = 6331fec5f01014046788c919ed50dc86ac7a80c085f1b6f645dd179c0f0dc9cd\nM = 8ef409de82318259a8655a39293b1e762fa2cc7e0aeb4c59713a1e1fff6af640\n\nModInv = 444ccea3a7b21677dd294d34de53cc8a5b51e69b37782310a00fc6bcc975709b\nA = 679280bd880994c08322143a4ea8a0825d0466fda1bb6b3eb86fc8e90747512b\nM = e4fecab84b365c63a0dab4244ce3f921a9c87ec64d69a2031939f55782e99a2e\n\nModInv = 1ac7d7a03ceec5f690f567c9d61bf3469c078285bcc5cf00ac944596e887ca17\nA = 1593ef32d9c784f5091bdff952f5c5f592a3aed6ba8ea865efa6d7df87be1805\nM = 1e276882f90c95e0c1976eb079f97af075445b1361c02018d6bd7191162e67b2\n\nModInv = 639108b90dfe946f498be21303058413bbb0e59d0bd6a6115788705abd0666d6\nA = 9258d6238e4923d120b2d1033573ffcac691526ad0842a3b174dccdbb79887bd\nM = ce62909c39371d463aaba3d4b72ea6da49cb9b529e39e1972ef3ccd9a66fe08f\n\nModInv = aebde7654cb17833a106231c4b9e2f519140e85faee1bfb4192830f03f385e773c0f4767e93e874ffdc3b7a6b7e6a710e5619901c739ee8760a26128e8c91ef8cf761d0e505d8b28ae078d17e6071c372893bb7b72538e518ebc57efa70b7615e406756c49729b7c6e74f84aed7a316b6fa748ff4b9f143129d29dad1bff98bb\nA = a29dacaf5487d354280fdd2745b9ace4cd50f2bde41d0ee529bf26a1913244f708085452ff32feab19a7418897990da46a0633f7c8375d583367319091bbbe069b0052c5e48a7daac9fb650db5af768cd2508ec3e2cda7456d4b9ce1c39459627a8b77e038b826cd7e326d0685b0cd0cb50f026f18300dae9f5fd42aa150ee8b\nM = d686f9b86697313251685e995c09b9f1e337ddfaa050bd2df15bf4ca1dc46c5565021314765299c434ea1a6ec42bf92a29a7d1ffff599f4e50b79a82243fb24813060580c770d4c1140aeb2ab2685007e948b6f1f62e8001a0545619477d498132c907774479f6d95899e6251e7136f79ab6d3b7c82e4aca421e7d22fe7db19c\n\nModInv = 1ec872f4f20439e203597ca4de9d1296743f95781b2fe85d5def808558bbadef02a46b8955f47c83e1625f8bb40228eab09cad2a35c9ad62ab77a30e3932872959c5898674162da244a0ec1f68c0ed89f4b0f3572bfdc658ad15bf1b1c6e1176b0784c9935bd3ff1f49bb43753eacee1d8ca1c0b652d39ec727da83984fe3a0f\nA = 2e527b0a1dc32460b2dd94ec446c692989f7b3c7451a5cbeebf69fc0ea9c4871fbe78682d5dc5b66689f7ed889b52161cd9830b589a93d21ab26dbede6c33959f5a0f0d107169e2daaac78bac8cf2d41a1eb1369cb6dc9e865e73bb2e51b886f4e896082db199175e3dde0c4ed826468f238a77bd894245d0918efc9ca84f945\nM = b13133a9ebe0645f987d170c077eea2aa44e85c9ab10386d02867419a590cb182d9826a882306c212dbe75225adde23f80f5b37ca75ed09df20fc277cc7fbbfac8d9ef37a50f6b68ea158f5447283618e64e1426406d26ea85232afb22bf546c75018c1c55cb84c374d58d9d44c0a13ba88ac2e387765cb4c3269e3a983250fa\n\nModInv = 30ffa1876313a69de1e4e6ee132ea1d3a3da32f3b56f5cfb11402b0ad517dce605cf8e91d69fa375dd887fa8507bd8a28b2d5ce745799126e86f416047709f93f07fbd88918a047f13100ea71b1d48f6fc6d12e5c917646df3041b302187af641eaedf4908abc36f12c204e1526a7d80e96e302fb0779c28d7da607243732f26\nA = 31157208bde6b85ebecaa63735947b3b36fa351b5c47e9e1c40c947339b78bf96066e5dbe21bb42629e6fcdb81f5f88db590bfdd5f4c0a6a0c3fc6377e5c1fd8235e46e291c688b6d6ecfb36604891c2a7c9cbcc58c26e44b43beecb9c5044b58bb58e35de3cf1128f3c116534fe4e421a33f83603c3df1ae36ec88092f67f2a\nM = 53408b23d6cb733e6c9bc3d1e2ea2286a5c83cc4e3e7470f8af3a1d9f28727f5b1f8ae348c1678f5d1105dc3edf2de64e65b9c99545c47e64b770b17c8b4ef5cf194b43a0538053e87a6b95ade1439cebf3d34c6aa72a11c1497f58f76011e16c5be087936d88aba7a740113120e939e27bd3ddcb6580c2841aa406566e33c35\n\nModInv = 87355002f305c81ba0dc97ca2234a2bc02528cefde38b94ac5bd95efc7bf4c140899107fff47f0df9e3c6aa70017ebc90610a750f112cd4f475b9c76b204a953444b4e7196ccf17e93fdaed160b7345ca9b397eddf9446e8ea8ee3676102ce70eaafbe9038a34639789e6f2f1e3f352638f2e8a8f5fc56aaea7ec705ee068dd5\nA = 42a25d0bc96f71750f5ac8a51a1605a41b506cca51c9a7ecf80cad713e56f70f1b4b6fa51cbb101f55fd74f318adefb3af04e0c8a7e281055d5a40dd40913c0e1211767c5be915972c73886106dc49325df6c2df49e9eea4536f0343a8e7d332c6159e4f5bdb20d89f90e67597c4a2a632c31b2ef2534080a9ac61f52303990d\nM = d3d3f95d50570351528a76ab1e806bae1968bd420899bdb3d87c823fac439a4354c31f6c888c939784f18fe10a95e6d203b1901caa18937ba6f8be033af10c35fc869cf3d16bef479f280f53b3499e645d0387554623207ca4989e5de00bfeaa5e9ab56474fc60dd4967b100e0832eaaf2fcb2ef82a181567057b880b3afef62\n\n\n# GCD tests.\n#\n# These test vectors satisfy gcd(A, B) = GCD and lcm(A, B) = LCM.\n\nGCD = 0\nA = 0\nB = 0\n# Just to appease the syntax-checker.\nLCM = 0\n\nGCD = 1\nA = 92ff140ac8a659b31dd904161f9213706a08a817ae845e522c3af0c9096699e059b47c8c2f16434b1c5766ebb384b79190f2b2a62c2378f45e116890e7bb407a\nB = 2f532c9e5902b0d68cd2ed69b2083bc226e8b04c549212c425a5287bb171c6a47fcb926c70cc0d34b8d6201c617aee66af865d31fdc8a2eeb986c19da8bb0897\nLCM = 1b2c97003e520b0bdd59d8c35a180b4aa36bce14211590435b990ad8f4c034ce3c77899581cb4ee1a022874203459b6d53859ab1d99ff755efa253fc0e5d8487bb000c13c566e8937f0fe90b95b68bc278610d4f232770b08d1f31bee55a03da47f2d0ebb9e7861c4f16cc22168b68593e9efcde00f54104b4c3e1a0b294d7f6\n\nGCD = a\nA = faaffa431343074f5c5d6f5788500d7bc68b86eb37edf166f699b4d75b76dae2cb7c8f6eccae8f18f6d510ef72f0b9633d5740c0bebb934d3be796bd9a53808e\nB = 2f48ec5aa5511283c2935b15725d30f62244185573203b48c7eb135b2e6db5c115c9446ac78b020574665b06a75eb287e0dbeb5da7c193294699b4c2129d2ac4\nLCM = 4a15f305e9622aa19bd8f39e968bfc16d527a47f7a5219d7b02c242c77ef8b608a4a6141f643ca97cedf07c0f1f3e8879d2568b056718aa15c0756899a08ccbe0a658bae67face96fa110edb91757bfa4828e8ff7c5d71b204f36238b12dd26f17be8ba9771f7068d63e41d423671f898f054b1187605754bc5546f2b02c5ac\n\nGCD = 16\nA = cf0b21bde98b41b479ac8071086687a6707e9efaacd4e5299668ce1be8b13290f27fd32ae68df87c292e8583a09d73ec8e8a04a65a487380dcd7dacca3b6e692\nB = 3be3f563f81d5ad5c1211db7eff430aa345e830ce07b4bde7d4d32dba3ac618d2034351e5435fd6c7f077971fb4a1e83a7396a74fdff7fce1267112851db2582\nLCM = 233a2188de2c017235024b182286f17562b2ee5ab9fdfe4efa2f61c4ff99fa44e1ead5bf6cde05bd7502ce78373c83e3f9dbab0c9bb8620a87c2640bce5d12c685af656df789bb3d0ba1edbaa98cf4f0166d422ab17aa6706f8132264d45b72827d6671a00a9186e723379e3a3bb7902d08865f357c74100059f83800241976\n\nGCD = 1\nA = dd7b7597d7c1eb399b1cea9b3042c14bd6022d31b1d2642a8f82fc32de6eadaf012fbbf349eaec4922a8468740ca73c6090833d6a69a380ed947b39c2f9b0b76\nB = 8e0dc8654e70eec55496038a8d3fff3c2086bc6dbfc0e2dbdf5bd7de03c5aef01a3982556ac3fc34fd5f13368be6cdc252c82367b7462e210f940f847d382dd9\nLCM = 7ae667df4bd4dd35bbec28719a9f1b5e1f396a9ab386c086742a6ab3014a3386d39f35b50624d0c5b4e6b206c2635c7de5ea69e2faa85dd616a7e36622962a07632839857aa49332942feccff2aee1c962e2f4e8ccfd738a5da5bf528b4c5a2440409350f5a17a39d234403e8482ccf838e0d2758ccfb8018198a51dbb407506\n\nGCD = 1\nA = 0\nB = 1\nLCM = 0\n\nGCD = 1\nA = 1\nB = 0\nLCM = 0\n\nGCD = 1\nA = 1\nB = 1\nLCM = 1\n\nGCD = 2b2\nA = dfccaa3549c1b59ab3e114fe87dc5d187719abad58c51724e972741eb895ab79a49f385f61d531ec5c88dbb505ae375093fa848165f71a5ed65e7832a42ade191a\nB = fa58a81f43088da45e659fc1117d0f1cd015aa096c8e5377cf1832191baf7cc28b5c24998b93b64f8900a0973faedb9babaaf1854345f011739da8f1175d9684c\nLCM = 5132f7ab7a982b9dc55114bd96800b7637f9742cf8a7a00a0d69d5e4574fc85792c89a1c52bcfc74b9d7f3f6164819466c46b2d622e280ced7ad121160", + "4084a15dc1fd1951a05c8ce37122c0ec15891d818a70d3763670ea3195098de9b1ca50ea89893a9753fb9ea801541058f44801f7f50967124abfc864a2b01c41f94193c\n\nGCD = 8e\nA = 248d96a8a4cab0a1b194e08c1146868b094597cadbc35531f0ed2d77cba9f15cb5cc7c10e64ce054bf93396d25259d750b3de3aba65073db1fd2b852a6454ac1a\nB = 4c7bad8e1844901fd6a2ce2edc82e698d28ec95d6672ca148d85b49ecc78dd0a8b870e202244210bc98592b99ff6abbd20630f9eee7d46b15ccfae8d08b86799de\nLCM = 13b01f9d9c6c13e90c97e3d95bbce5a835c631b3de3bd4ff5df13ad850f5223dbdf71c53912275d0397df9335ef3a3ba8e4684c6b25962bb7b18bc74144cb5edf0196f79863a7ff032619a71646a92281f7baace7f223d254cb4d05ec19bf8d4c8ce4455a9d770daec89c0d3cf338cbdae39cf982b3c4568f5c9def4e1133d28a\n\nGCD = 3e55\nA = 2fa97382f46676b7a4cc2b8153f17b58792d24660e187d33ce55c81cc193ccb6e1e2b89feea1d5fd8faa36e13bf947fb48635e450a4d1488d0978324194a1f43c6\nB = ab08ad074139963bc18e5d87ba68db64ca6f4c279616c64039b02c55f2375b3bc04114e8e05e1ba92fb6470768f61d123845aea36774c18612736a220934561faf\nLCM = 82c7c377ecda2cb9228604cd287df5eff94edd4a539c3eb3b3fdd4b4a79d2f4eaf2b22f8286272d3dad2e370cfcd9ea4d93ebb3f049c52b8fa23b68a5bf79af989822e2cfb978f68c6a5058f47319dffcb455b089b06ae6db9e5c8a2b6e951d6e118bd2b4cd08b6e5733476a446a57387d940d1289ec00e24315821ed3a5daf2\n\nGCD = a7a\nA = 923706dfed67834a1e7e6c8e8e9f93bfbc0b43ca1f324886cf1f1380fb9b77109275d4b50af1b7689802fe9b3623ac46c7ba0e17e908c20278127b07a5c12d86ec\nB = 64473e878a29021fac1c1ce34a63eae1f4f83ee6851333b67213278b9a4a16f005cba0e8cdb410035bb580062f0e486c1a3a01f4a4edf782495f1dc3ebfa837d86\nLCM = 57785ca45b8873032f1709331436995525eed815c55140582ce57fd852116835deac7ca9d95ce9f280e246ea4d4f1b7140ab7e0dd6dc869de87f1b27372098b155ad0a1828fd387dff514acc92eae708609285edaab900583a786caf95153f71e6e6092c8c5ee727346567e6f58d60a5e01c2fa8ebcf86da9ea46876ecc58e914\n\nGCD = 42\nA = 0\nB = 42\nLCM = 0\n\nGCD = 42\nA = 42\nB = 0\nLCM = 0\n\nGCD = 42\nA = 42\nB = 42\nLCM = 42\n\nGCD = f60d\nA = ef7886c3391407529d5cf2e75ed53e5c3f74439ad2e2dc48a79bc1a5322789b4ced2914b97f8ff4b9910d212243b54001eb8b375365b9a87bd022dd3772c78a9fd63\nB = d1d3ec32fa3103911830d4ec9f629c5f75af7039e307e05bc2977d01446cd2cbeeb8a8435b2170cf4d9197d83948c7b8999d901fe47d3ce7e4d30dc1b2de8af0c6e4\nLCM = cc376ed2dc362c38a45a719b2ed48201dab3e5506e3f1314e57af229dc7f3a6a0dad3d21cfb148c23a0bbb0092d667051aa0b35cff5b5cc61a7c52dec4ed72f6783edf181b3bf0500b79f87bb95abc66e4055f259791e4e5eb897d82de0e128ecf8a091119475351d65b7f320272db190898a02d33f45f03e27c36cb1c45208037dc\n\nGCD = 9370\nA = 1ee02fb1c02100d1937f9749f628c65384ff822e638fdb0f42e27b10ee36e380564d6e861fcad0518f4da0f8636c1b9f5124c0bc2beb3ca891004a14cd7b118ddfe0\nB = 67432fd1482d19c4a1c2a4997eab5dbf9c5421977d1de60b739af94c41a5ad384cd339ebfaa43e5ad6441d5b9aaed5a9f7485025f4b4d5014e1e406d5bd838a44e50\nLCM = 159ff177bdb0ffbd09e2aa7d86de266c5de910c12a48cbe61f6fa446f63a2151194777555cd59903d24cb30965973571fb1f89c26f2b760526f73ded7ee8a34ebcecd1a3374a7559bcdb9ac6e78be17a62b830d6bb3982afdf10cf83d61fd0d588eab17d6abef8e6a7a5763fcb766d9a4d86adf5bb904f2dd6b528b9faec603987a0\n\nGCD = c5f\nA = 5a3a2088b5c759420ed0fb9c4c7685da3725b659c132a710ef01e79435e63d009d2931ea0a9ed9432f3d6b8851730c323efb9db686486614332c6e6ba54d597cf98\nB = 1b1eb33b006a98178bb35bbcf09c5bebd92d9ace79fa34c1567efa8d6cf6361547807cd3f8e7b8cd3ddb6209dccbae4b4c16c8c1ec19741a3a57f61571882b7aed7\nLCM = c5cbbbe9532d30d2a7dd7c1c8a6e69fd4fa4828a844d6afb44f3747fef584f7f1f3b835b006f8747d84f7699e88f6267b634e7aef78d6c7584829537d79514eec7d11219721f91015f5cefdc296261d85dba388729438991a8027de4827cd9eb575622e2912b28c9ce26d441e97880d18db025812cef5de01adeaec1322a9c9858\n\nGCD = e052\nA = 67429f79b2ec3847cfc7e662880ab1d94acdf04284260fcfffd67c2862d59704ed45bcc53700c88a5eea023bc09029e9fd114fc94c227fd47a1faa1a5ef117b09bd2\nB = 39faa7cbdeb78f9028c1d50ab34fbe6924c83a1262596f6b85865d4e19cc258b3c3af1ee2898e39e5bee5839e92eac6753bbbb0253bd576d1839a59748b778846a86\nLCM = 1ab071fb733ef142e94def10b26d69982128561669e58b20b80d39cf7c2759d26b4a65d73b7f940c6e8fc417180ef62d7e52ac24678137bd927cd8d004ad52b02affe176a1ecde903dbc26dcc705678f76dd8cd874c0c3fe737474309767507bbe70dd7fb671bbb3694cedf0dcdaa0c716250ddd6dfec525261572fa3e1387f7b906\n\nGCD = 3523\nA = 0\nB = 3523\nLCM = 0\n\nGCD = 3523\nA = 3523\nB = 0\nLCM = 0\n\nGCD = 3523\nA = 3523\nB = 3523\nLCM = 3523\n\nGCD = f035a941\nA = 16cd5745464dfc426726359312398f3c4486ed8aaeea6386a67598b10f744f336c89cdafcb18e643d55c3a62f4ab2c658a0d19ea3967ea1af3aee22e11f12c6df6e886f7\nB = 74df09f309541d26b4b39e0c01152b8ad05ad2dfe9dd2b6706240e9d9f0c530bfb9e4b1cad3d4a94342aab309e66dd42d9df01b47a45173b507e41826f24eb1e8bcc4459\nLCM = b181771d0e9d6b36fdfcbf01d349c7de6b7e305e1485ea2aa32938aa919a3eee9811e1c3c649068a7572f5d251b424308da31400d81ac4078463f9f71d7efd2e681f92b13a6ab3ca5c9063032dcbdf3d3a9940ce65e54786463bbc06544e1280f25bc7579d264f6f1590cf09d1badbf542ce435a14ab04d25d88ddbac7d22e8cae1c91f\n\nGCD = 33ad1b8f\nA = 1af010429a74e1b612c2fc4d7127436f2a5dafda99015ad15385783bd3af8d81798a57d85038bcf09a2a9e99df713b4d6fc1e3926910fbbf1f006133cb27dc5ebb9cca85\nB = 92a4f45a90965a4ef454f1cdd883d20f0f3be34d43588b5914677c39d577a052d1b25a522be1a656860a540970f99cbc8a3adf3e2139770f664b4b7b9379e13daf7d26c\nLCM = 4c715520ed920718c3b2f62821bc75e3ff9fd184f76c60faf2906ef68d28cd540d3d6c071fa8704edd519709c3b09dfaee12cb02ab01ad0f3af4f5923d5705ce6d18bcab705a97e21896bb5dd8acb36ee8ec98c254a4ddc744297827a33c241f09016a5f109248c83dd41e4cea73ce3eabb28d76678b7e15545b96d22da83c111b6b624\n\nGCD = dc0429aa\nA = ccb423cfb78d7150201a97114b6644e8e0bbbb33cadb0ef5da5d3c521a244ec96e6d1538c64c10c85b2089bdd702d74c505adce9235aa4195068c9077217c0d431de7f96\nB = 710786f3d9022fc3acbf47ac901f62debcfda684a39234644bac630ab2d211111df71c0844b02c969fc5b4c5a15b785c96efd1e403514235dc9356f7faf75a0888de5e5a\nLCM = 6929af911850c55450e2f2c4c9a72adf284fe271cf26e41c66e1a2ee19e30d928ae824f13d4e2a6d7bb12d10411573e04011725d3b6089c28d87738749107d990162b485805f5eedc8f788345bcbb5963641f73c303b2d92f80529902d3c2d7899623958499c8a9133aae49a616c96a2c5482a37947f23af18c3247203ac2d0e760340e6\n\nGCD = 743166058\nA = 16cd476e8031d4624716238a3f85badd97f274cdfd9d53e0bd74de2a6c46d1827cc83057f3889588b6b7ca0640e7d743ed4a6eaf6f9b8df130011ecc72f56ef0af79680\nB = 86eba1fc8d761f22e0f596a03fcb6fe53ad15a03f5b4e37999f60b20966f78ba3280f02d3853f9ace40438ccfaf8faed7ace2f2bf089b2cdd4713f3f293bf602666c39f8\nLCM = 1a7a1b38727324d6ba0290f259b8e2b89c339b2445cada38a5a00ded1468ab069f40678ce76f7f78c7c6f97783cc8a49ef7e2a0c73abbac3abc66d1ce99566ce7f874a8949ca3442051e71967695dc65361184748c1908e1b587dc02ed899a524b34eb30b6f8db302432cfa1a8fbf2c46591e0ab3db7fd32c01b1f86c39832ee9f0c80\n\nGCD = 6612ba2c\nA = 0\nB = 6612ba2c\nLCM = 0\n\nGCD = 6612ba2c\nA = 6612ba2c\nB = 0\nLCM = 0\n\nGCD = 6612ba2c\nA = 6612ba2c\nB = 6612ba2c\nLCM = 6612ba2c\n\nGCD = 2272525aa08ccb20\nA = 11b9e23001e7446f6483fc9977140d91c3d82568dabb1f043a5620544fc3dda233b51009274cdb004fdff3f5c4267d34181d543d913553b6bdb11ce2a9392365fec8f9a3797e1200\nB = 11295529342bfb795f0611d03afb873c70bd16322b2cf9483f357f723b5b19f796a6206cf3ae3982daaeafcd9a68f0ce3355a7eba3fe4e743683709a2dd4b2ff46158bd99ff4d5a0\nLCM = 8d4cbf00d02f6adbaa70484bcd42ea932000843dcb667c69b75142426255f79b6c3b6bf22572597100c06c3277e40bf60c14c1f4a6822d86167812038cf1eefec2b0b19981ad99ad3125ff4a455a4a8344cbc609e1b3a173533db432bd717c72be25e05ed488d3970e7ed17a46353c5e0d91c8428d2fec7a93210759589df042cab028f545e3a00\n\nGCD = 3480bf145713d56f9\nA = 8cf8ef1d4f216c6bcec673208fd93b7561b0eb8303af57113edc5c6ff4e1eeae9ddc3112b943d947653ba2179b7f63505465126d88ad0a0a15b682f5c89aa4a2a51c768cd9fdeaa9\nB = a6fd114023e7d79017c552a9051ca827f3ffa9f31e2ee9d78f8408967064fcdc9466e95cc8fac9a4fa88248987caf7cf57af58400d27abd60d9b79d2fe03fad76b879eceb504d7f\nLCM = 1c05eee73a4f0db210a9007f94a5af88c1cdd2cba456061fd41de1e746d836fa4e0e972812842e0f44f10a61505f5d55760c48ba0d06af78bb6bde7da8b0080b29f82b1161e9c0b5458e05ac090b00f4d78b1cc10cf065124ba610e3acab092a36fe408525e21c0ddc7c9696ed4e48bd2f70423deecfe62cecc865c6088f265da0e5961d3f3a84f\n\nGCD = 917e74ae941fcaae\nA = 652f8a92d96cbf0a309629011d0fbaceb1266bc2e8243d9e494eead4cf7100c661b537a8bea93dec88cfc68597d88a976c125c3b4de19aba38d4ea9578202e59848d42652518348a\nB = 32e07b71979d57e8344e97c39680a61e07d692d824ae26b682156890792d8a766ee29a4968f461aaced5bf049044fba2f4120b1c1f05985676f975d4582e9e82750d73c532cd07b2\nLCM = 23620c7b897dc26c7717e32f3517ac70bf09fbe08f7255ab010cf4cf946f4e96304c", + "425043452c5d5a0e841d3a3cfd9c2d84d9256f3b5974fe3ebfa9255fe20a710d3e6511606c0d85970381101c7f4986d65ad6a73a71507f146b11f903043cfa805cc0b14d4f3072da98bf22282f7762040406c02d5b3ef9e7587f63bab8b29c61d8e30911aa96\n\nGCD = 2b9adc82005b2697\nA = 19764a84f46045ef1bca571d3cbf49b4545998e64d2e564cc343a53bc7a0bcfbe0baa5383f2b346e224eb9ce1137d9a4f79e8e19f946a493ff08c9b423574d56cbe053155177c37\nB = 1bbd489ad2ab825885cdac571a95ab4924e7446ce06c0f77cf29666a1e20ed5d9bc65e4102e11131d824acad1592075e13024e11f12f8210d86ab52aa60deb250b3930aabd960e5a\nLCM = 1032a0c5fffc0425e6478185db0e5985c645dd929c7ebfeb5c1ee12ee3d7b842cfab8c9aa7ff3131ac41d4988fb928c0073103cea6bb2cc39808f1b0ad79a6d080eac5a0fc6e3853d43f903729549e03dba0a4405500e0096b9c8e00510c1852982baec441ed94efb80a78ed28ed526d055ad34751b831b8749b7c19728bf229357cc5e17eb8e1a\n\nGCD = 8d9d4f30773c4edf\nA = 0\nB = 8d9d4f30773c4edf\nLCM = 0\n\nGCD = 8d9d4f30773c4edf\nA = 8d9d4f30773c4edf\nB = 0\nLCM = 0\n\nGCD = 8d9d4f30773c4edf\nA = 8d9d4f30773c4edf\nB = 8d9d4f30773c4edf\nLCM = 8d9d4f30773c4edf\n\nGCD = 6ebd8eafb9a957a6c3d3d5016be604f9624b0debf04d19cdabccf3612bbd59e00\nA = 34dc66a0ffd5b8b5e0ffc858dfc4655753e59247c4f82a4d2543b1f7bb7be0e24d2bbf27bb0b2b7e56ee22b29bbde7baf0d7bfb96331e27ba029de9ffdff7bdb7dc4da836d0e58a0829367ec84ea256833fd4fe1456ad4dd920557a345e12000\nB = 1f3406a20e20ebf96ccb765f898889a19b7636608fd7dc7c212607b641399543f71111d60e42989de01eaa6ff19a86ea8fbde1a3d368c0d86dc899e8e250fc764090f337958ca493119cbb4ad70cbfae7097d06d4f90ec62fbdd3f0a4496e600\nLCM = ee502c50e3667946e9089d0a9a0382e7fd0b75a17db23b56a0eec997a112c4dbd56d188808f76fe90451e5605550c9559ef14a95014c6eb97e9c1c659b98515c41470142843de60f72fb4c235faa55b0a97d943221003d44e2c28928f0b84bf071256254897ed31a7fd8d174fc962bc1311f67900ac3abcad83a28e259812f1ee229511ab1d82d41f5add34693ba7519babd52eb4ec9de31581f5f2e40a000\n\nGCD = ef7399b217fc6a62b90461e58a44b22e5280d480b148ec4e3b4d106583f8e428\nA = 7025e2fe5f00aec73d90f5ad80d99ca873f71997d58e59937423a5e6ddeb5e1925ed2fd2c36a5a9fc560c9023d6332c5d8a4b333d3315ed419d60b2f98ccf28bbf5bf539284fd070d2690aeaac747a3d6384ee6450903a64c3017de33c969c98\nB = df0ac41dbabce1deeb0bceb1b65b1079850052ecf6534d0cff84a5a7fb5e63baee028d240f4419925154b96eaa69e8fbb1aae5102db7916234f290aa60c5d7e69406f02aeea9fe9384afbff7d878c9ac87cd31f7c35dff243b1441e09baff478\nLCM = 687669343f5208a6b2bb2e2efcac41ec467a438fde288cc5ef7157d130139ba65db9eb53e86a30c870bd769c0e0ab15a50f656cd9626621ae68d85eaff491b98da3ea5812062e4145af11ea5e1da457084911961ef2cd2ac45715f885ba94b4082aa76ffd1f32461f47c845b229d350bf36514c5ce3a7c782418746be342eca2721346ade73a59475f178c4f2448e1326110f5d26a0fef1a7a0c9288489e4dc8\n\nGCD = 84b917557acf24dff70cb282a07fc52548b6fbbe96ca8c46d0397c8e44d30573\nA = 81dbb771713342b33912b03f08649fb2506874b96125a1ac712bc94bfd09b679db7327a824f0a5837046f58af3a8365c89e06ff4d48784f60086a99816e0065a5f6f0f49066b0ff4c972a6b837b63373ca4bb04dcc21e5effb6dfe38271cb0fa\nB = 1da91553c0a2217442f1c502a437bb14d8c385aa595db47b23a97b53927b4493dd19f1bc8baf145bc10052394243089a7b88d19b6f106e64a5ab34acad94538ab504d1c8ebf22ac42048bbd1d4b0294a2e12c09fe2a3bd92756ba7578cb34b39\nLCM = 1d0530f8142754d1ee0249b0c3968d0ae7570e37dadbe4824ab966d655abf04cd6de5eb700eba89d8352dec3ae51f2a10267c32fbd39b788c7c5047fe69da3d7ad505435a6212f44899ba7e983bb780f62bcdee6f94b7dba8af7070a4cc008f351ae8be4579bc4a2e5c659ce000ad9c8cdc83723b32c96aeb0f5f4127f6347353d05525f559a8543cd389ad0af6f9d08a75b8c0b32419c097e6efe8746aee92e\n\nGCD = 66091477ea3b37f115038095814605896e845b20259a772f09405a8818f644aa\nA = cedac27069a68edfd49bd5a859173c8e318ba8be65673d9d2ba13c717568754ed9cbc10bb6c32da3b7238cff8c1352d6325668fd21b4e82620c2e75ee0c4b1aff6fb1e9b948bbdb1af83cecdf356299b50543b72f801b6a58444b176e4369e0\nB = 5f64ca1ba481f42c4c9cf1ffa0e515b52aa9d69ceb97c4a2897f2e9fa87f72bae56ee6c5227f354304994c6a5cc742d9f09b2c058521975f69ca5835bce898cf22b28457cd7e28870df14e663bb46c9be8f6662f4ff34d5c4ae17a888eba504e\nLCM = c163cb28642e19a40aa77887c63180c2c49fc10cda98f6f929c8131752ea30b5283a814a81681b69b9d1762e6c1a9db85f480bc17f998d235fd7e64c1caa70ef170c9e816d3e80f516b29f2c80cfb68bf208b4d5082ef078da4314b3f20c7d6c54b0aeb378096b029a7b61c0a4cd14aeddc01004c53915a4f692d2291752e5af46b23d7fa6dd61f2d56c6f4bf8e6119688abac8fd7aba80e846a7764bb3fca0\n\nGCD = bb80bf51757ba696c700fa4e4c0132b3151d2bf9ebff8382f808ded78be67182\nA = 0\nB = bb80bf51757ba696c700fa4e4c0132b3151d2bf9ebff8382f808ded78be67182\nLCM = 0\n\nGCD = bb80bf51757ba696c700fa4e4c0132b3151d2bf9ebff8382f808ded78be67182\nA = bb80bf51757ba696c700fa4e4c0132b3151d2bf9ebff8382f808ded78be67182\nB = 0\nLCM = 0\n\nGCD = bb80bf51757ba696c700fa4e4c0132b3151d2bf9ebff8382f808ded78be67182\nA = bb80bf51757ba696c700fa4e4c0132b3151d2bf9ebff8382f808ded78be67182\nB = bb80bf51757ba696c700fa4e4c0132b3151d2bf9ebff8382f808ded78be67182\nLCM = bb80bf51757ba696c700fa4e4c0132b3151d2bf9ebff8382f808ded78be67182\n\nGCD = 120451d8307219aa0c96f328ad653ccd462e92423ca93ed8a3dde45bf5cb9b13cdaf9800e4d05dd71c4db6a129fb3280ee4ec96ec5297d881c1a8b5efccbd91fef21f5c5bf5fba42a4c8eaa358f620a074b7a17054527bdaa58d5acaa0dfdc48ecba1a10ebf4d57bb4215de406e6be13fed3fe493b1cd1e2d11a8d4ac03c47756\nA = 3f8179a8e1f0b342475a855c3e1bae402dd41424cf24a0b4d2e263c8efb08bde7d92eae8607fb5e88b1378f0f1bd0733f229a35be6b1383a48d32749d5d6b32427d26323b7ab05bb5781289e96bfbc21971439319b15f6c0fe93fdb35d0b67ec41443c59a081dd3cef047ac797fccb45bece84c0bb0bb7e1797259526d8ec9cc63ba4d32cfc692ccd3d243cb2b53ac216312f3a8e8c0daa09d21b6150d697639a5e52059414a417c607be8ec0eee2e708219cadbaf37a369c4485b01ed87bbc2\nB = 2c474e396a2dd9cd10b9d7313f69d3b4ca123e9fd853edd488339236d14c56453a1381958864a04d2624e81995dabcdd0ccf60db9917813f887de68da075d0ea4440001e18f470e43b38ee3440b49be651d709fbdef980e3e4149913f4ae2681124f54523f4881376ddb533b5219e804cc26f4c2e577be4e02613c4da80ba1215775b0a5178a965ad47bd2befb32493943ded1004ef66347b4983f8d1ba990d4a943505dfce6debcfb322842ed88106cd6dee9aa592ff0d2274bc727a6e1f14c\nLCM = 9c129cf649555bfd2d3d9c64dc6d6f022295e53bca5d2f218adaa66aa60eb4694429b7e83bf81b6df4459c5104023ab9a33f006ffcd8114507baa17e2ef6fe23ebdd4740f66879033da2041f2cb7ba517ad3526ffe75614ea9432c085f71b2d65a736bac7ba42b639e330b82733372083843dcb78b6a273ab20e0d4b7c8998a14048aa15bb20a0a0bd997917107274c89b4cec175fb98043d52e6c555bd9e0036566d052a6d4e7e276d1e8835e1f06e3ca46d47747ba586e95fb1a790d992834b7c3e136141eb8a434e6c12067246ac3c0a81c69e03b1ed28aa0b3173d6eff83d278c2f461a47a416f3f9a5dae3bb410fd18817bd4115e7f1e84b936cc02364\n\nGCD = 95aa569a2c76854300d7660847dd20fe0b8c445fdbcaa98465cee61aee76ad6a438e75a8c573198570ffb62bc07ec3a2be0ae0a1f631670fa88d6f75f3161e8b9a4d44b6801ffc884c7f469c5ed1f27b1edecce9f2977f9e92d1a3b230492fea7e6f2af739dc158a7fbd29856cbedb57b4119e64b27ab09eb1c2df01507d6e7fd\nA = 4c653b5bfec44e9be100c064dffe5d8cd59b0cf4cc56b03eabb4ef87cfda6506c9a756b811907fe9d8b783eb7a0b9e129773bf1da365ddb488d27b16fb983e89345d1ccdb4f06a67a11925c3f266373be5d7b0075189c6f3c2157e2da197058fe0a7bcc50adc34e99e254a29abbe2d5948d3157e1b0c3fca3d641760f7b9862843b63abef0b3d83fd486f4526b30382fda355575da30e9a106718a3921774c4d69f5311f8d737fe618f5236b4763fe1b2ee7f13184db67367d3903c535ff6d7b\nB = 2dcca83c99a28e9fd2f84e78973699baf2f04fd454094730948b22477834a0064817b86e0835e6d7b26e5b0b1dcf4ad91a07ac0780d6522df1fcac758cf5db6c2a5623d7c0f1afefd5718f7b6de639867d07a9ec525991304e9355d1635104bea837f74758d6aa2aab4e4afbb606af1d98de7417505e4710cd0589bdff9a0bf38a857cc59a5f1781043e694fc2337fd84bdeb28b13a222bb09328a81ec409ad586e74236393d27398cc24d412135e34247c589149e134b97f4bd538ac9a3424b\nLCM = 1760c0b0066aa0695767099e87e9388729ea89b8e8c36bddcd04d257591e741613c07b0e69447c0a468c33a745084171e06523d987d8db40a1433bf435325e8a724a0876503b34495170ff3671d42117a2e4f3a75b1d9dd809a34fa0fb26fe50d84f80a9b02e40190e5efb927a5a61a03f13edbce2e666af6c3a2a9bcb84e47e3090008753ff27c4b8cf06480f471379a93f5230923623a83b286b71a555cd5e5347282f664ed90b14b2c4de84a70375e488211a7b3931119ef3bbe029b712389fe784818a0bf29d80733ce9cc940c547aa1eb3f06d492eb676bf37802283c82ce76156dfaab5c2d5107e08062681b5fa169f6eb68e1ab8bd9b2005e90bd4fd\n\nGCD = 244b9b1290cf5b4ba2f810574c050651489f2d3a2b03e702b76ebfaf4e33de9bbe5da24c919e68d3a72eadd35982b3a89c6b18b38ff7082ac65263e52b6ec75a5717b971c98257b194c828bff0216a99536603b41a396ea2fb50f5ea7cf3edf10bb0d039123e78593ae9ffcbbba02e51e038533e83b6bc73c70551d6467f39809\nA = 41a0b1310669500681cdf888836f6c", + "556758750f562d743ac780dd4c0d161856380e44fdbb1f8a2786bf45be6b0e7f1cb2cd85f6b9e50acc72793d92383c7d7fb796fc74d32e8fac8225bdc19ae47546d9c9c75f5f06ca684f07daccaf89ccf2cddeb7ec255d530c7dd1e71daf44cafdc9d30fbcb1cbaefae3480585f79f4177e3834a5bc91845e2e8cd8aeb27f484e5e5b2c3c076dbb6c23e91303f0a0fdde83cd33a8ea6ed1549e727b4d766c1017c169710fd98e1585d60f66e121f9180b3\nB = 251f5aeaa60b3959285f49540cdaf8e21451110bbddb9933bbbcaea3112f4eb45e435a3ba37c52d2ab79ce997a8f6c829b3aa561f2852924b8effb52396d09d2bf257ebb4fb56c7aa25648f69b06d2cd01e876c9f9c0679de9e6fffa79eb7e603723e5af7de46ee405a5a079229577b5b6fffb8d43e391fe6f4eb89638e64d6eff8026249aaa355a91625eb0bfd14caa81e4c3586aaa2e94fde143a44f223a91e226661d12f55dfcdb4215e5a64e14e968005733be6a71c465de312ca109b34a\nLCM = 431f918b274f3e43f446e4e85567883d6536a0332db662cef088f5a36b0f4b68372048174ba10fee94b9f8f1c2e189c974be2e6e8ae8e2ae108445326d40f63e38d8d4e2e46174589a3cbc9583e0036dc8146e79eee9e96f4436313b3f143dd0f5aceab05243def7f915169c360f55ef123977cf623c5ba432c3259c62fb5e37d5adab0f24b825aa4ada99ec4e83e9ca4698399e1ed633091ce5f9844c540a642cd264201116ed4168aa2105a5159f5df064f845830c469140f766c7319052ce59bd1ad7c3f2d8c30e54f147f6aeb5586c70c984302ba18d854a60aec01b394c7d66fa33fe18fe4a8cfb3238df219294e6e42190a30d28b10049a1b75853a4e\n\nGCD = 206695d52bc391a4db61bf8cb6ea96188333a9c78f477ee76976c2346dad682cf56ca6f176d86ef67d41ff5921b6162b0eca52359975872430dd14c45643eacdf028d830770714c033fd150669705851b2f02de932322d271d565d26768530c3f6cb84f0b3356f970b9070b26c050ead0417152c324c8ffe266d4e8b5b7bef3a\nA = 1114eb9f1a9d5947eb1399e57f5c980833489685023ed2fe537fe1276c1e026b9a19e6fff55aa889d6c4e977b6e6f3111e2ad463138637b50f42cf32e57d83f282de9e72f813e5969195159a666d74dcd689bd527c60199ae327f7bd548ac36868fea5fdf6f35d19b921e7c10b6448ca480de6826478cd0642d72f05af3f8e65ce42409fbd49f56e81946e89c8e83962c4edc0ed54600600a305e52d081aed3c351e450e11f8fb0ce5754c92cf765b71393b2b7a89c95df79b9ea1b3cb600862\nB = 1d8f3179ca7b5cc7119360c10de939ffa57c9043da2f2b0ca3009c9bdad9f19ed16e3c2c197bef4b527fa1bf2bbab98b77e26c329911db68bd63d3d0fbfc727a977395b9ad067106de3094d68e097830858c5ccfa505fc25e972bdee6f347e7d1163efacd3d29a791ec2a94ffeed467884ae04896efc5e7e5f43d8d76c147e3c9951a1999173bc4e5767d51268b92cc68487ba1295372143b538711e0a62bf0ac111cc750ca4dd6c318c9cbe106d7fc492261404b86a1ba728e2d25b1976dc42\nLCM = f9570211f694141bfb096560551080cbe02a80271b4505591aaea9e3b99ea1d5ac1c1f2378fd72799e117ac2a73381b1ad26314e39972164d93971479ee3ba21a4d98cef0bd299d540ce5826995dcee0de420dff73d30b23cbf3188c625c7696df517535bc5675d71faa00807efbebdca547933f4a37849d1c014484a77da6df0670c4974bcc91eb5f5fe5faf9dd095ef195ec32ad9eeebf0e63288b4032ed9e70b888afc642f4ff96f0b4c0a68787301c12e4527fe79bdfe72dd3844ab5e094a9295df6616f24d1b9eeebc2116177dacf91969dda73667bc421ef3ccd8d5c23dddc283f5d36568d31f2654926be67f78e181075bdc148f2b39c630b141ae8a\n\nGCD = 3d319c42d872f21131ce5ff3ab8bec94339308e620316dda218e85fedcd511cd62f0b2f3448d5e58fd3520ae8118abd54ead9ad9e8ec3890365c6b2cca2172d4b8839b2d2c5ab02f65180826cb0cd5c9798f5d6261efe6e6ec31dea047da7c486b0590359e6f333557f67ceebf9ea9cd5dd986a999a8c88bdbd0ca21816b2423\nA = 0\nB = 3d319c42d872f21131ce5ff3ab8bec94339308e620316dda218e85fedcd511cd62f0b2f3448d5e58fd3520ae8118abd54ead9ad9e8ec3890365c6b2cca2172d4b8839b2d2c5ab02f65180826cb0cd5c9798f5d6261efe6e6ec31dea047da7c486b0590359e6f333557f67ceebf9ea9cd5dd986a999a8c88bdbd0ca21816b2423\nLCM = 0\n\nGCD = 3d319c42d872f21131ce5ff3ab8bec94339308e620316dda218e85fedcd511cd62f0b2f3448d5e58fd3520ae8118abd54ead9ad9e8ec3890365c6b2cca2172d4b8839b2d2c5ab02f65180826cb0cd5c9798f5d6261efe6e6ec31dea047da7c486b0590359e6f333557f67ceebf9ea9cd5dd986a999a8c88bdbd0ca21816b2423\nA = 3d319c42d872f21131ce5ff3ab8bec94339308e620316dda218e85fedcd511cd62f0b2f3448d5e58fd3520ae8118abd54ead9ad9e8ec3890365c6b2cca2172d4b8839b2d2c5ab02f65180826cb0cd5c9798f5d6261efe6e6ec31dea047da7c486b0590359e6f333557f67ceebf9ea9cd5dd986a999a8c88bdbd0ca21816b2423\nB = 0\nLCM = 0\n\nGCD = 3d319c42d872f21131ce5ff3ab8bec94339308e620316dda218e85fedcd511cd62f0b2f3448d5e58fd3520ae8118abd54ead9ad9e8ec3890365c6b2cca2172d4b8839b2d2c5ab02f65180826cb0cd5c9798f5d6261efe6e6ec31dea047da7c486b0590359e6f333557f67ceebf9ea9cd5dd986a999a8c88bdbd0ca21816b2423\nA = 3d319c42d872f21131ce5ff3ab8bec94339308e620316dda218e85fedcd511cd62f0b2f3448d5e58fd3520ae8118abd54ead9ad9e8ec3890365c6b2cca2172d4b8839b2d2c5ab02f65180826cb0cd5c9798f5d6261efe6e6ec31dea047da7c486b0590359e6f333557f67ceebf9ea9cd5dd986a999a8c88bdbd0ca21816b2423\nB = 3d319c42d872f21131ce5ff3ab8bec94339308e620316dda218e85fedcd511cd62f0b2f3448d5e58fd3520ae8118abd54ead9ad9e8ec3890365c6b2cca2172d4b8839b2d2c5ab02f65180826cb0cd5c9798f5d6261efe6e6ec31dea047da7c486b0590359e6f333557f67ceebf9ea9cd5dd986a999a8c88bdbd0ca21816b2423\nLCM = 3d319c42d872f21131ce5ff3ab8bec94339308e620316dda218e85fedcd511cd62f0b2f3448d5e58fd3520ae8118abd54ead9ad9e8ec3890365c6b2cca2172d4b8839b2d2c5ab02f65180826cb0cd5c9798f5d6261efe6e6ec31dea047da7c486b0590359e6f333557f67ceebf9ea9cd5dd986a999a8c88bdbd0ca21816b2423\n\nGCD = 2\nA = 14e95a85e59ade9ef39e2f400c65db18702fa5fc485b9bba479a5282b2206129160e54f73ef4917983c17b4c5ebff7be112a886de069706eee29ba902515cb038\nB = ddcfff1d39c90c599f55495bf71c1e7597c6b08b7430707f360c6a6e5137bbc7b403c6d9e2c34f3d2f29d5d32b869346853c2de239cc35381bdfb4a01569211a\nLCM = 90f38564ee72e55d362c04599e7d74f068c75f541b84e97abba2841f1a9f66b06b5c9009f6a4c2e319fced85270588de03ccebddbd9279aaecb13bdc1dbea7f42acaee751cb7da83779b8785cc86f41b94b13b54964208ca287d981634778d1096f20e76ca636c0717fd27e0800c43f599a5eded807421b502eaf9990a8c8ed8\n\nGCD = 4\nA = 3c719c1c363cdeb7b57c2aabb71f425da4c3e6d3e447204d555e7cf0f3d372bdda906f36078045044978dafc20171767c8b1464d52dfdf3e2ba8a4906da033a8\nB = 30fe0ef151ac51404e128c064d836b191921769dc02d9b09889ed40eb68d15bfdd2edea33580a1a4d7dcee918fefd5c776cbe80ca6131aa080d3989b5e77e1b24\nLCM = 2e4526157bbd765b0486d90bcd4728f890bc6dbd9a855c67ca5cb2d6b48f8e74e1d99485999e04b193afca58dbf282610185d6c0272007744ff26e00dbdc813929b47940b137dc56ba974da07d54a1c50ec4a5c2b26e83f47cf17f4ccce8c3687e8d1e91d7c491a599f3d057c73473723ce9eee52c20fe8ae1595447552a7ee8\n\nGCD = 10\nA = 44e04071d09119ea9783a53df35de4a989200133bb20280fdca6003d3ca63fdd9350ad1a1673d444d2f7c7be639824681643ec4f77535c626bd3ee8fa100e0bb0\nB = ca927a5a3124ce89accd6ac41a8441d352a5d42feb7f62687a5ebc0e181cc2679888ecc2d38516bdc3b3443550efccac81e53044ae9341ecace2598fe5ce67780\nLCM = 36805ba9b2412a0cb3fe4ed9bdabfa55515c9d615a3d0af268c45c5f6098d2de4a583f3791f1e3883c55d51ce23c5658fd0e8faa9a3709a1cfbd6a61dbab861690f27c86664f084c86cfd4a183b24aaadf59a6f8cbec04f1b0ded8a59b188cb46ae920052e3e099a570540dbc00f7d4a571eef08aa70d2d189a1804bf04e94a80\n\nGCD = 100\nA = 73725032b214a677687c811031555b0c51c1703f10d59b97a4d732b7feaec5726cb3882193419d3f057583b2bc02b297d76bb689977936febaae92638fdfc46a00\nB = 979f4c10f4dc60ad15068cedd62ff0ab293aeaa1d6935763aed41fe3e445de2e366e8661eadf345201529310f4b805c5800b99f351fddab95d7f313e3bb429d900\nLCM = 4460439b4be72f533e9c7232f7e99c48328b457969364c951868ceab56cb2cbbeda8be2e8e3cae45c0758048468b841fdb246b2086d19b59d17b389333166ab82ed785860620d53c44f7aaaff4625ee70fb8072df10fb4d1acb142eadc02978ff2bb07cea9f434e35424b3323a7bda3a1a57aa60c75e49ebb2f59fb653aa77da00\n\nGCD = 100000000\nA = f8b4f19e09f5862d79fb2931c4d616a1b8e0dd44781ca52902c8035166c8fca52d33a56ff484c365ec1257de7fa8ed2786163cfc051d5223b4aad859a049e8ba00000000\nB = 6e54cb41b454b080e68a2c3dd0fa79f516eb80239af2be8250ca9cd377ba501aabafc09146fad4402bdc7a49f2c3eec815e25f4c0a223f58e36709eefd92410500000000\nLCM = 6b3020a880ddeff9d17d3dc234da8771962de3322cd15ba7b1e4b1dd4a6a2a802a16c49653865c6fdf6c207cbe0940f8d81ef4cb0e159385fd709d515ee99d109ad9ad680031cbae4eab2ed62944babdade4e3036426b18920022f737897c7d751dce98d626cdda761fec48ad87a377fb70f97a0a15aa3d10d865785719cc5a200000000\n", }; -static const size_t kLen40 = 155170; +static const size_t kLen41 = 18795; -static const char *kData40[] = { +static const char *kData41[] = { + "# This file contains test vectors for whether B is a Miller-Rabin composite\n# witness for W. W must be odd and B must satisfy 1 <= B <= W-1.\n#\n# The following Python function may be used to check values.\n#\n# def is_miller_rabin_witness(w, b):\n# # Variable names taken from FIPS 186-4 C.3.1 but the algorithm skips a\n# # couple of optimizations in the FIPS formulation.\n# m = w - 1\n# a = 0\n# while m&1 == 0:\n# a += 1\n# m //= 2\n# # b is a composite witness for w iff the following are true:\n# # - b^m != 1 (mod w)\n# # - b^(m*2^j) != -1 (mod w), for 0 <= j < a\n# z = pow(b, m, w)\n# if z == 1:\n# # b^m = 1 (mod w)\n# return False\n# for j in range(a):\n# if z == w-1:\n# # b^(m*2^j) = -1 (mod w)\n# return False\n# z = (z * z) % w\n# # At this point, z is b^(w-1) (mod w). If z is not 1, w has failed the\n# # Fermat test and is composite. If z is 1, the value of z immediately\n# # before it became 1 is a non-trivial root of unity and w is composite.\n# return True\n\n# Exhaustively test a small prime.\n\nResult = PossiblyPrime\nW = 7\nB = 1\n\nResult = PossiblyPrime\nW = 7\nB = 2\n\nResult = PossiblyPrime\nW = 7\nB = 3\n\nResult = PossiblyPrime\nW = 7\nB = 4\n\nResult = PossiblyPrime\nW = 7\nB = 5\n\nResult = PossiblyPrime\nW = 7\nB = 6\n\n\n# Random large inputs which try to cover a few cases. The nontrivial square root\n# case appears to be difficult to hit randomly.\n\n# b^m = w-1\nResult = PossiblyPrime\nW = d6b4ffc7cf70b2a2fc5d6023015875504d40e3dcce7c2e6b762c3de7bb806a5074144e7054198dabf53d23108679ccc541d5a99efeb1d1abaf89e0dbcead2a8b\nB = fabbafdbec6494ddb5ea4bf458536e87082369b0e53a200ed413f3e64b2fddc7c57c565710fbe73fae5b188fce97d8dcca74c2b5d90906c96d3c2c358a735cd\n\n# b^m = w-1\nResult = PossiblyPrime\nW = 52cc61c42b341ad56dc11495e7cb2fe31e506b9e99522efbf44cd7c28468d3833c5e360f3c77b0aa43c0495c4e14665ab0d7cee9294c722f0de47d4401828401\nB = 3bdc9639c0fc2e77ab48d46e0b4ac6529c11c900e8fe4d82d75767c0556feb23d3f42d4924d16876a743feb386b7b84c7fd16a6c252f662faf0024d19972e62f\n\n# b^m = w-1\nResult = PossiblyPrime\nW = cff9897aa7dce0f2afad262b2de57d301305de717f3539c537c4ce062f8cb70df13fbc1eb4a3b9f0958a8810d1ca9042b4f23334b285a15fee3fc66498761d4b\nB = 9ceb43132fddf9ee4104ea1cb3eb2253c1d7f803f05f0305de9e31a17dd75832f47b8bf189a9b7ca0905f2a7470d9c6349080f481ff1708696fa12d972e7d7ba\n\n# Some b^(m*2^j) = w-1\nResult = PossiblyPrime\nW = 67d1825dad5344170e65247a87aef1634a1b32bdc22f2f04d9d2959767bb5a27610fba55cd607e0f9fdd9fbb0f7f98e40d5e1eb2f52318fb5be4dbfd30d38861\nB = 260fb14724ff80984736859d8755ee98b25bcb56db9fde1db001a1e1273374034c5b75fd60b3710c7a08ce7d390776f010f384d4e32943cf0c477497d53e9e05\n\n# Some b^(m*2^j) = w-1\nResult = PossiblyPrime\nW = ad0bc85b58aaa204177aa9431a40929beb1cbea2dd6f66a25cc54600013213b225ba881805661df43f4208965ada7aacc8095d07d3cbef1a7bbfaae8b745f731\nB = 3d9310f20e9c80269fa6830c7e1a6f02fc5c58646001a9ef6b8b3e496602ff22c3dcb2ddb6a221723fc1722ce237fb46f7a7bb2945e415c8839b15a972f076c9\n\n# Some b^(m*2^j) = w-1\nResult = PossiblyPrime\nW = b25c917f55f6c7b596921daba919f35039e5d805119c1587e99849dd7104460c86214f162a6f17aea847bc7f3859e59f2991d457059511972ef373d4bc75e309\nB = a1f10b261dee84619b0423201d46af19eef9ec0612cf947c4d5c36c0c4b28207f75967e69452eabad0a5dcd28f27f7a8a7ed9c8b3e5026c6e0ba5634d94c2d44\n\n# b^m = 1\nResult = PossiblyPrime\nW = d3eeb0eff05b6992e9fa61b02755e155f4aae28c6e45ddb874edd86acdd2d83d18a20e0e00d8b8bc94b92d14fc3f41ced6ababe8ac98c7730c075dbe0f699369\nB = 6b7717269c6225203681a1cacec87cacd83003ec6e9e3f04effcc4f86634770c0860e1f2770b8f303719a44949664a1094205a99d95a0856758fed66d690105e\n\n# b^m = 1\nResult = PossiblyPrime\nW = 64561b8d9aa50340c3a01ccb3e6e17f5023513661c012be288f3900a3ca76890e67290b9560fa1d480f9d2aacccca581b5690636665f243fa13aff5d0bff12d3\nB = 1f5ff70d3d60671ebc5fbfca731898a04438053dbc3c841e6335f487e457d92d9efb5d506d5bef6872d58d12b9a41c950bfc38d12ed977c90eacdd6535b811a0\n\n# b^m = 1\nResult = PossiblyPrime\nW = 69c63fbf44df21b0ed0ee929a740c12d1f3f064da0dcd9d509f31fa45fa27d1a759ab5a9f6f1040d7ee90a0b1e68f779273c41ea1c1198fd547ff6bd70c7e787\nB = 5f7996a9bbfd8fd88e472220b70077bfdacdd63d88885134431f024c2acb7126827b174eb093eb5313f07bb5461de9b0feb7d77ca2c39c2a323a150f33ea525f\n\n# End of iteration\nResult = Composite\nW = 28cc3e08c44571c6dcb98a9ab8b4f3e2b16e1f884997d94a3188bcbb7f1b7cdaecdae8329c013ec8f75dc00004da0039943e4262cd080b16a42910102e00dddb\nB = 512061ab1c69931c2fa0bb89d8d09f3c9209230bf927ddd6fb6a72075f967ed3c4dbb5f437bf4d31ca7344782b22011ad56609dc19aed65319bababfc13dd7\n\n# End of iteration\nResult = Composite\nW = 4eeb7b4d371c45fe8586fee3b1efd792176b70f6cc2698dfa1dd028366626febe0199c3c5f77a5c3cad0057a04767383051d41965255d03681b2a37edad34a9b\nB = 4afc2e85f84017b3fd6967a227eb74c8297b40ea02733d9513bff9b3f01081963f25872f4254afc4e9321eea35b2a1e42eadb186fcc84f2f30f4a994350b93b8\n\n# End of iteration\nResult = Composite\nW = 8e35a959555dd2eb66c65cee3c264071d20671f159e1f9896f1d0ceb041905fcf053eacc189de317c3ee6f93901223cbf30d5b7ddbbdab981790e2f6397e6803\nB = 44c0153759309ec4e5b1e59d57c1b126545ef7ea302b6e43561df4d16068b922389d6924f01c945d9080d1f93a0732599bdedae72d6d590839dc0884dd860441\n\n\n# 0x6c1 = 1729 = 7 * 13 * 19 is a Fermat pseudoprime.\n\n# Found non-trivial square root\nResult = Composite\nW = 6c1\nB = b8\n\n# End of iteration\nResult = Composite\nW = 6c1\nB = 111\n\n# End of iteration\nResult = Composite\nW = 6c1\nB = 11d\n\n# Found non-trivial square root\nResult = Composite\nW = 6c1\nB = 19c\n\n# Found non-trivial square root\nResult = Composite\nW = 6c1\nB = 223\n\n# End of iteration\nResult = Composite\nW = 6c1\nB = 3aa\n\n# Found non-trivial square root\nResult = Composite\nW = 6c1\nB = 653\n\n\n# 1729 has a number of false witnesses.\n\n# b^m = 1\nResult = PossiblyPrime\nW = 6c1\nB = 78\n\n# b^m = 1\nResult = PossiblyPrime\nW = 6c1\nB = eb\n\n# b^m = w-1\nResult = PossiblyPrime\nW = 6c1\nB = 178\n\n# b^m = w-1\nResult = PossiblyPrime\nW = 6c1\nB = 178\n\n# b^m = w-1\nResult = PossiblyPrime\nW = 6c1\nB = 1aa\n\n# b^m = 1\nResult = PossiblyPrime\nW = 6c1\nB = 271\n\n# b^m = 1\nResult = PossiblyPrime\nW = 6c1\nB = 2b2\n\n\n# 1 and W-1 are always nonwitnesses.\nResult = PossiblyPrime\nW = 6c1\nB = 1\n\nResult = PossiblyPrime\nW = 6c1\nB = 6c0\n\n\n# https://kconrad.math.uconn.edu/blurbs/ugradnumthy/millerrabin.pdf, examples\n# 3.1 and 3.2 has a complete list of false witnesses for 65 = 0x41 and\n# 85 = 0x55.\n\n# b^m = 1\nResult = PossiblyPrime\nW = 41\nB = 1\n\n# Some b^(m*2^j) = w-1\nResult = PossiblyPrime\nW = 41\nB = 8\n\n# Some b^(m*2^j) = w-1\nResult = PossiblyPrime\nW = 41\nB = 12\n\n# Some b^(m*2^j) = w-1\nResult = PossiblyPrime\nW = 41\nB = 2f\n\n# Some b^(m*2^j) = w-1\nResult = PossiblyPrime\nW = 41\nB = 39\n\n# b^m = w-1\nResult = PossiblyPrime\nW = 41\nB = 40\n\n# b^m = 1\nResult = PossiblyPrime\nW = 55\nB = 1\n\n# Some b^(m*2^j) = w-1\nResult = PossiblyPrime\nW = 55\nB = d\n\n# Some b^(m*2^j) = w-1\nResult = PossiblyPrime\nW = 55\nB = 26\n\n# Some b^(m*2^j) = w-1\nResult = PossiblyPrime\nW = 55\nB = 2f\n\n# Some b^(m*2^j) = w-1\nResult = PossiblyPrime\nW = 55\nB = 48\n\n# b^m = w-1\nResult = PossiblyPrime\nW = 55\nB = 54\n\n# Other witnesses for 65 and 85 will report composite:\n\n# Found non-trivial square root\nResult = Composite\nW = 41\nB = 2c\n\n# End of iteration\nResult = Composite\nW = 41\nB = 16\n\n# End of iteration\nResult = Composite\nW = 41\nB = 14\n\n# End of iteration\nResult = Composite\nW = 41\nB = 2\n\n# End of iteration\nResult = Composite\nW = 41\nB = 3a\n\n# End of iteration\nResult = Composite\nW = 55\nB = 40\n\n# End of iteration\nResult = Composite\nW = 55\nB = 7\n\n# End of iteration\nResult = Composite\nW = 55\nB = 23\n\n# End of iteration\nResult = Composite\nW = 55\nB = 2e\n\n# End of iteration\nResult = Composite\nW = 55\nB = 2a\n\n# W below is composite, but it is one of the worst case scenarios for\n# Miller-Rabin, from Wycheproof tests. 1/4 of witnesses report the value is\n# prime. Test that we correctly classify false and true witnesses.\n\n# b^m = w-1\nResult = PossiblyPrime\nW = 550fda19f97cdfbd13930911ef6e9e1cb2b7b5215a35c215d51ebffeb435642174cbe998f4451bde2d4bd2ce92ab5b9493b657f1d77d9ad4d348550247b903906109c608ecba7f88c239c76f0afc231e7f1ac1cee87b4c34448a16f7979ff4c18e65e05d5a86909615fe56587576962a2cb3ba467d9806445a0f039907601af77ba7d07578eff612364fbcac11d35e243734aa6d9a6cdcf912a2dd0a12ba7e87\nB = 379c6027f818b5164bc13dff", + "5e996ec7210976f33570d5c60275918b8988d97a63bb6582af85682c45667a8b94b7acab4d919ede00f5bd2ba7abc8634d66f8875fd930f35ec8013d37b958e65f07de015c0574e64198d73aab5466f3a971b74830b7f1671cb9277fbc95c1ba8c29dc903d8cea1b74c22ab9164f9c438ab9ba7d9919f832e40c3e36faca7343e2314669b0104d9c4f2e1b011cdbd9c686baef0\n\n# b^m = w-1\nResult = PossiblyPrime\nW = 550fda19f97cdfbd13930911ef6e9e1cb2b7b5215a35c215d51ebffeb435642174cbe998f4451bde2d4bd2ce92ab5b9493b657f1d77d9ad4d348550247b903906109c608ecba7f88c239c76f0afc231e7f1ac1cee87b4c34448a16f7979ff4c18e65e05d5a86909615fe56587576962a2cb3ba467d9806445a0f039907601af77ba7d07578eff612364fbcac11d35e243734aa6d9a6cdcf912a2dd0a12ba7e87\nB = 3cc4b644965b2133caffc2bb6258b1ecd5b586b900a09b010382fcef709e4cd37ee3e3182bf8d393c1ab6f9a933d46338b3d960923d8c9607c2b2763d5680230a2bc0c91138e9d0ecb35e7154a06aaa902d34b9b14964b81f4d8232641492d83b22cd805a115e75ddd8e63b864c00e4c90ba36a41e7966e97e063a60a6a6cfd53e1f62a57852c7443e88dcf6245557a4b65494c3e88e466ad75316aaa9727def\n\n# b^m = 1\nResult = PossiblyPrime\nW = 550fda19f97cdfbd13930911ef6e9e1cb2b7b5215a35c215d51ebffeb435642174cbe998f4451bde2d4bd2ce92ab5b9493b657f1d77d9ad4d348550247b903906109c608ecba7f88c239c76f0afc231e7f1ac1cee87b4c34448a16f7979ff4c18e65e05d5a86909615fe56587576962a2cb3ba467d9806445a0f039907601af77ba7d07578eff612364fbcac11d35e243734aa6d9a6cdcf912a2dd0a12ba7e87\nB = 40c03b6ba22bd62c0379b1c36dfccd34d61e3d15f7af1d5f6a60ab972a9d0e956e2bb9e275294e0f1c879eb7a4555443429c99a8d74f7bd359a1046ac30072c04b0e2cbd005be15ff4ce0c93276de2c513fbc5771b5059904a87f180530f6773498114b5aaf70da01967d8294742e451df6377dd5e64b2a8968f4ba61b51a154317d63958ff3788defbeeebee21af5027c2291e8c5df8c0b66770d91b683cffe\n\n# b^m = w-1\nResult = PossiblyPrime\nW = 550fda19f97cdfbd13930911ef6e9e1cb2b7b5215a35c215d51ebffeb435642174cbe998f4451bde2d4bd2ce92ab5b9493b657f1d77d9ad4d348550247b903906109c608ecba7f88c239c76f0afc231e7f1ac1cee87b4c34448a16f7979ff4c18e65e05d5a86909615fe56587576962a2cb3ba467d9806445a0f039907601af77ba7d07578eff612364fbcac11d35e243734aa6d9a6cdcf912a2dd0a12ba7e87\nB = 3c7c71b84f0c6c3817f57511946315cec7d0120a9c30ceabda801fbaec329a8f10c7b9f0ae90a3dada9885bf73a3cabed86784af9682f3dea50a7817f65cfc9190cf997f12784223c4965ed6e52a1be26d4dde31741cd3d1a2e2f3a74040d0f3868eef849727aa855f66c94791194ad5d360298364e2de9ca9288e6423f644b01d52e1bd66a9f7f00bd7995a9ca2ed16f40e902852c6250a3b52bbbf5bfd33e8\n\n# b^m = w-1\nResult = PossiblyPrime\nW = 550fda19f97cdfbd13930911ef6e9e1cb2b7b5215a35c215d51ebffeb435642174cbe998f4451bde2d4bd2ce92ab5b9493b657f1d77d9ad4d348550247b903906109c608ecba7f88c239c76f0afc231e7f1ac1cee87b4c34448a16f7979ff4c18e65e05d5a86909615fe56587576962a2cb3ba467d9806445a0f039907601af77ba7d07578eff612364fbcac11d35e243734aa6d9a6cdcf912a2dd0a12ba7e87\nB = 36e6aa9acb399a50f52be0324dcef05f3cff3117f94538f6d0952b7d7be88ba4dc75d843ff7ff775e11f55c86ba6b2a6ddebd8850c33424b4d35c66321af426662e7074f0a2409a9ccf1c66ef7d823efc8240b8f3c7e9e8dd65a64e8a3ca5b26695ef17171ffe136c0593b179414c5b5ad0d66f2a25146c38b2f97e60b0472ed72de34bff1b6ac186f23645a1bbe909cdfc2b2d861eb44931568f1bb117d8a0c\n\n# End of iteration\nResult = Composite\nW = 550fda19f97cdfbd13930911ef6e9e1cb2b7b5215a35c215d51ebffeb435642174cbe998f4451bde2d4bd2ce92ab5b9493b657f1d77d9ad4d348550247b903906109c608ecba7f88c239c76f0afc231e7f1ac1cee87b4c34448a16f7979ff4c18e65e05d5a86909615fe56587576962a2cb3ba467d9806445a0f039907601af77ba7d07578eff612364fbcac11d35e243734aa6d9a6cdcf912a2dd0a12ba7e87\nB = 278f2215d3ab836043fbfa472216bbdcedb775a6a0ed711754d05aa75089a9e5d8201e113d68656f37381e44483cd365f5d383bdca5ae8d1f2e6575d7873851cfff0e12b1cfe100a04cb300cbd924353fcbd3307d01242cf6a5e86e752c6f4586bcabf48b018bb97e65c3ed409fd6f67f98987517356d88344b3c8945ccd753148a37b648dd2db44d19522a69a9ad8eb23edc55340e85a198abf179ad731db41\n\n# End of iteration\nResult = Composite\nW = 550fda19f97cdfbd13930911ef6e9e1cb2b7b5215a35c215d51ebffeb435642174cbe998f4451bde2d4bd2ce92ab5b9493b657f1d77d9ad4d348550247b903906109c608ecba7f88c239c76f0afc231e7f1ac1cee87b4c34448a16f7979ff4c18e65e05d5a86909615fe56587576962a2cb3ba467d9806445a0f039907601af77ba7d07578eff612364fbcac11d35e243734aa6d9a6cdcf912a2dd0a12ba7e87\nB = afa1478bebbfe1157568f4ae53549b4c3a6a8771b816970bfac6ce5c8b962231db7a41da4d5f1d8bf504dcfe440325b54e1888bdae344eb969436a35e5c6ce5300d46313cb2fcb57fc83305f65f53d392de400e9231cbbc2ac8243defcaf7063c632b9601a81d83138274702ff336d727d3e82ccacce069843ac9c1c590c772c8c586b65c7085a1df5a47fc960d4098a22418b41f0062c77b5d55d17149d167\n\n# End of iteration\nResult = Composite\nW = 550fda19f97cdfbd13930911ef6e9e1cb2b7b5215a35c215d51ebffeb435642174cbe998f4451bde2d4bd2ce92ab5b9493b657f1d77d9ad4d348550247b903906109c608ecba7f88c239c76f0afc231e7f1ac1cee87b4c34448a16f7979ff4c18e65e05d5a86909615fe56587576962a2cb3ba467d9806445a0f039907601af77ba7d07578eff612364fbcac11d35e243734aa6d9a6cdcf912a2dd0a12ba7e87\nB = 10f7030590b629e0313a61bdf46936a1f25db91b2b421f7ebb671f7844c22561b44b2f7699db61e5228ebb5817afad416325f9439eff7a82d8a630c504de12eaa44d97c79ee56e726ae74ee0b472f0d5fa8f20aee426e689cd33dd084f96bf4d928a21e815f7e8aaca4a5752f39c4a76bdfaa8227dc05d0dfa885d8b26d46fbcbf0d2e0d999d2c31ad84c306c9126539dbdf447f8dc707d29c7fa8021a767668\n\n# End of iteration\nResult = Composite\nW = 550fda19f97cdfbd13930911ef6e9e1cb2b7b5215a35c215d51ebffeb435642174cbe998f4451bde2d4bd2ce92ab5b9493b657f1d77d9ad4d348550247b903906109c608ecba7f88c239c76f0afc231e7f1ac1cee87b4c34448a16f7979ff4c18e65e05d5a86909615fe56587576962a2cb3ba467d9806445a0f039907601af77ba7d07578eff612364fbcac11d35e243734aa6d9a6cdcf912a2dd0a12ba7e87\nB = 97dbb6a55c039ec926aaa5ff15a2917a2b4cafc3ca07c4c6b05f931d86c9bf60ee05cbbace194e5ca97682ec67c36394018d68c3536fbf13b50f8a7e31eaed87307759a0a48c6c58d21bc7c38b878c53db5d7a8e1fdd81abefc50470a3800852e74d76fdd1933e45f39ee97b8efb68837721890d867b32a894dd0ceb4c5844a05d384145865c10973ce748ccdd8fee73f1bf8611ce0535430b6b98fb36cad7a\n\n# End of iteration\nResult = Composite\nW = 550fda19f97cdfbd13930911ef6e9e1cb2b7b5215a35c215d51ebffeb435642174cbe998f4451bde2d4bd2ce92ab5b9493b657f1d77d9ad4d348550247b903906109c608ecba7f88c239c76f0afc231e7f1ac1cee87b4c34448a16f7979ff4c18e65e05d5a86909615fe56587576962a2cb3ba467d9806445a0f039907601af77ba7d07578eff612364fbcac11d35e243734aa6d9a6cdcf912a2dd0a12ba7e87\nB = 225f58add44ed2b0a64a1d8452866d0f3c0cd45c8375e1bb33c188915c77fa11b81250b920245dda7f6126e5e0c79e6f98f89dc15db86394cf81b44f0d801e613fa4d5c6fef66fa31f26cfe6153f2e8159aad6b0351dcc0e93f9a68f649b2a77cff747b605b542d22419166befebec6cde3201e3c0cacaa2bc9d87073b8d1f1aa2b114d61de45ac8b0ad2141b43434a629ef284cd999fd82b310db7c57cf5c81\n\n# End of iteration\nResult = Composite\nW = 550fda19f97cdfbd13930911ef6e9e1cb2b7b5215a35c215d51ebffeb435642174cbe998f4451bde2d4bd2ce92ab5b9493b657f1d77d9ad4d348550247b903906109c608ecba7f88c239c76f0afc231e7f1ac1cee87b4c34448a16f7979ff4c18e65e05d5a86909615fe56587576962a2cb3ba467d9806445a0f039907601af77ba7d07578eff612364fbcac11d35e243734aa6d9a6cdcf912a2dd0a12ba7e87\nB = 2780926c9cf7c1eb2aaa935d90b6d4dea44eeefdfcf9ccd4a33feb215e3a1cb2d358136a490fed18403947f3d98807819737c66e12d42c3cc8c0e246b96b3c3b0795ab875fbaf668b81b5b05bf23e258ea00a0a140a790f76e04ab619800b7597f614ffc1a1c94be2f3f1a71d64eb47d98e4653d76eabedacff3a97ecf590e6a1fd55096b7bc9314629f698d0fbe9b01a1f2bc0bf3a2c097f99f1fd222b52ed2\n\n# End of iteration\nResult = Composite\nW = 550fda19f97cdfbd13930911ef6e9e1cb2b7b5215a35c215d51ebffeb435642174cbe998f4451bde2d4bd2ce92ab5b9493b657f1d77d9ad4d348550247b903906109c608ecba7f88c239c76f0afc231e7f1ac1cee87b4c34448a16f7979ff4c18e65e05d5a86909615fe56587576962a2cb3ba467d9806445a0f039907601af77ba7d07578eff612364fbcac11d35e243734aa6d9a6cdcf912a2dd0a12ba7e87\nB = 129cc5b0d9f8001b3895f1fcb4833779763636aeeeb3f980e63ea506202e6bde868444b6a58ff1dca08625f025a7e95a5eaaf1a8899eee640e3f05fbdb2867e2483bdc27c87b58684416e521c107f3667ed8dd23f0381edab767c5205a4378118bc011947cb6bdfe3fa4af50b8de876b555c9a0b2b0dae01261847f63e1e0cac2d032530bf19d5da60a04dfe22ce6343f60defbb94ccf0bdf010f89a4029720\n\n# b^m = 1\nResult = PossiblyPrime\nW = 550fda19f97cdfbd13930911ef6e9e1cb2b7b5215a35c215d51ebffeb435642174cbe998f4451bde2d4bd2ce92ab5b9493b657f1d77d9ad4d348550247b903906109c608ecba7f88c239c76f0afc231e7f1ac1cee87b4c34448a16f7979ff4c18e65e05d5a86909615fe56587576962a2cb3ba467d9806445a0f039907601af77ba7d07578eff612364fbcac11d35e243734aa6d", + "9a6cdcf912a2dd0a12ba7e87\nB = 4e2a47cf67c3331b1e9976f583f6339cf76a8d48682d01355c25b2aed90c5544e737ecfa849c17d27a64fad7e659ef48df9a3ac0410e5c7ca8d087fc3a3ba23e5a3f000be009fcc8227ead28158c5b5d66f2efb47111638ef61cea4984de42fbd476bc2236ad02154d3ce85805c45e49d16b496e313a4052a37d4b88a3b13e598d2074a3e36a37e90278601f2b2305e034f9bf3aea8e939c3ba274e8ff4d8a14\n\n# b^m = 1\nResult = PossiblyPrime\nW = 550fda19f97cdfbd13930911ef6e9e1cb2b7b5215a35c215d51ebffeb435642174cbe998f4451bde2d4bd2ce92ab5b9493b657f1d77d9ad4d348550247b903906109c608ecba7f88c239c76f0afc231e7f1ac1cee87b4c34448a16f7979ff4c18e65e05d5a86909615fe56587576962a2cb3ba467d9806445a0f039907601af77ba7d07578eff612364fbcac11d35e243734aa6d9a6cdcf912a2dd0a12ba7e87\nB = 2455c4ab826e2ae72708a8ff51348ce4821cb86fa89e298c751c1754211c63b2e9a712d40f0235f310606fcf296726a86973f19f890d571f5b90f026e8d24d07bc0478a3c1333171587387f1f7fe4a770b593216f2743318aabacb3320c40a4e52b9f409e1176fe8db099e93a7991eb8568168e2e486fa5aa228bb1dce9df3290ef13fd21c331479bb0f8b7a7e7f03c5211ae8cc46fa4d0f46e86b2dadeddd5b\n\n# End of iteration\nResult = Composite\nW = 550fda19f97cdfbd13930911ef6e9e1cb2b7b5215a35c215d51ebffeb435642174cbe998f4451bde2d4bd2ce92ab5b9493b657f1d77d9ad4d348550247b903906109c608ecba7f88c239c76f0afc231e7f1ac1cee87b4c34448a16f7979ff4c18e65e05d5a86909615fe56587576962a2cb3ba467d9806445a0f039907601af77ba7d07578eff612364fbcac11d35e243734aa6d9a6cdcf912a2dd0a12ba7e87\nB = 9951c2c02dd7deedce29bd0c78dd80066b1d69c0e6fe4a17f7d03c6a640d866d01fc8214bafb6737efd93d80a35b8993f5367ce287459b07954e9771ffbc72ccdd812d26a9bf4be0292a24eb5c3b56f09619b1c1b481f7566f7e50e65f69f5feb591bd107fec72a783429dbde6e2607f3db2c58d4b070a45b4d6b43537e19942ce890b04ae1e91069c04a96ed03ddb2f4fc456f136b98102c70a15700dbd911\n\n# End of iteration\nResult = Composite\nW = 550fda19f97cdfbd13930911ef6e9e1cb2b7b5215a35c215d51ebffeb435642174cbe998f4451bde2d4bd2ce92ab5b9493b657f1d77d9ad4d348550247b903906109c608ecba7f88c239c76f0afc231e7f1ac1cee87b4c34448a16f7979ff4c18e65e05d5a86909615fe56587576962a2cb3ba467d9806445a0f039907601af77ba7d07578eff612364fbcac11d35e243734aa6d9a6cdcf912a2dd0a12ba7e87\nB = 4cb8217d229d5f95f6d94807a99363823655d6bba6bdafa4f0dbfe7a5c538aa79c918710aad4f55caaee5ab405ebdcef29dfb76cae99fca8d5a955b6315f71a3cb2d69a217ff45aed66ba87cdc5c0de5d512c6dd12e641e9fe6a2557dd2f03bf3a18650ff139efa179f0fbe69cbb4b54e50d13177bfe7bb90de36b548d5ccfef74b05d3c08a7e2a3bb4dc8d7eb338a7a1b068c433ea204d171eda5e7c6b6722c\n", +}; +static const size_t kLen42 = 155170; + +static const char *kData42[] = { "# This file contains multiples of the base point for various curves. The point\n# at infinity is represented as X = 0, Y = 0.\n#\n# This file is generated by make_ec_scalar_base_mult_tests.go\n\nCurve = P-224\n# N = -64\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c29fd\nX = d9174b3ca6b093dee706b10e1d90309aa58aebf6c9006a37f3716fde\nY = 5091be99fda790ff9e6ecd2ac66b734f157f46402bf194d3bd8c194d\n\nCurve = P-224\n# N = -63\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c29fe\nX = 2e74dd665404a8900c8e3d4f822b7a9b6dcb64940ef5f5671caba7ef\nY = f58bc45165c62d4c2c2ad7a8fb7e8f03322ce8ea5dc9c29f77625b14\n\nCurve = P-224\n# N = -62\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c29ff\nX = c671c49a40fdb37ee1afb59c55915461d0c4b2a67cbe4f1f0c747c97\nY = 467fdfe495f8d2f97b00b4f8b83abdf40dc6c1b666fc5edc29225ed6\n\nCurve = P-224\n# N = -61\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a00\nX = 2396b9ee84e06252585475f54b390553185c05702db27913a80911b8\nY = 5bb2feab11a9448a5a11ae2b51e4132f0da82d7866b1b971dd85edd2\n\nCurve = P-224\n# N = -60\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a01\nX = 8c64ebb538c109bbd60fd54cf7ff47216d30ecefbac0824c6e50b291\nY = bfd6736f43c5ebb33959c9ec4444f5ea6c86e645b03dbed955ae402b\n\nCurve = P-224\n# N = -59\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a02\nX = 79fb86be63eed9cf12d44df82123ac91042f888b91b1b916bd3c107e\nY = 4bac5537dc8a32199840b52e4c4002733b7941c69c711c8248e8e33e\n\nCurve = P-224\n# N = -58\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a03\nX = eb81ac109e13fe579100edba2dd5389945b3fdf247b4036b018acf60\nY = 778b905f5bd3254728b9105ad7e4c53794201298b40d5fd166a75467\n\nCurve = P-224\n# N = -57\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a04\nX = 868ef00d187fef3010c81e77e214a828b4f9227cf5761d7eed89d916\nY = dae0eef456786c9592faebd46cf44d711fe16fa66b63bf7e8f70d911\n\nCurve = P-224\n# N = -56\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a05\nX = 7cdfaa27e1972788b9891be32d4491c5a9f7187a05c7d40107b7f0fc\nY = 46bb23e1eed098c6ac43e6c7e6a48c9e1e9c8169ef82488581f3782a\n\nCurve = P-224\n# N = -55\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a06\nX = a3168f507cc5ca03ec9507ff1fbe5ca00f3a1410948250749639b32a\nY = 7d83b007949ca192bbd2a691c208fe5e0adacbee0d5bc807cfc44a9e\n\nCurve = P-224\n# N = -54\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a07\nX = e095d7363877c57e22ad1a708b7775ae804cceacecf2e2df16618035\nY = b58fa951b3d1ce053b38a7cb072e69f64d281efc8cc9f1f42bbfde5e\n\nCurve = P-224\n# N = -53\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a08\nX = df5d3ed85b75fb433d057198debdd036cd9f11f339a4d607eb424932\nY = a61a1c0ab289b7658439375678b7a2e99b0c292297dbedf22eb912e9\n\nCurve = P-224\n# N = -52\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a09\nX = 6e53e26a8b7b28a7c7a61dd4d53d509514edad71188245929589c788\nY = f85f23a7c85fd7efc006d3eb13480eb0f6f647fdea5b59d06366d558\n\nCurve = P-224\n# N = -51\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a0a\nX = 5b4ce687825f6a00f83cd3bbc77c67dc14d91bd78d4e47f7e2ce7b0f\nY = 6a86b2451d4be8409dec03799f680c806bc355e798591857fb8eddd6\n\nCurve = P-224\n# N = -50\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a0b\nX = bce605150a1d4d750c5a043fb4136726f99b4a41f35d3b3832ea583f\nY = 768e2427050ad575667f8784b7fe8c6b2ae7873a7ff11ded64a13b0c\n\nCurve = P-224\n# N = -49\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a0c\nX = f18721e462d2340c4a88e00130d86691386ba2a83d1fb1dc8b927cca\nY = b31f4d99a118d1c2c19f0815a89a921305d8d52005b64dd249b6a8e9\n\nCurve = P-224\n# N = -48\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a0d\nX = f087c8764bb082e669a8afbc5db571971898ccc2c5d4baf73cd35e9d\nY = 72edb9b8154237917e7a05581d1cb2048d4d31c4ab90d005c9b67e4a\n\nCurve = P-224\n# N = -47\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a0e\nX = eca965fd046c7fd242e29ba1a178b71b1ec6e7af6a5b88232a285c92\nY = 3e526a6b5ecbd24f9308de03fdb757a51a564ebc5872dbef7886cc7c\n\nCurve = P-224\n# N = -46\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a0f\nX = 71f8a2cdf405c7ee499dbd7216a07e5aa61b8faa4fd20b516d2761d4\nY = 7a3008d5e50050b0ab427b36d15de75c0c190f7eb0b6a130106354f7\n\nCurve = P-224\n# N = -45\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a10\nX = cc96733b052b2f04f1cebb4cb8afb448a21c09821d6288b86cb8a17a\nY = 159e86c0c38e8f7fc210036054941444c90054fd2047a4eb0dbdbc6e\n\nCurve = P-224\n# N = -44\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a11\nX = d20981b43d053ca0ca30994a5586e7f2342c479b07c6c367d0025900\nY = 572b87044e041001d988793e9ae35378f7b9121a0d7abc1941b7cf8d\n\nCurve = P-224\n# N = -43\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a12\nX = 2f9a6dce655ee5d9f00b398e756defe1499b98df1e2edac8a784ad75\nY = bd851fc17271dca923b803a4a4554a949bfc20f14f26feacc2649762\n\nCurve = P-224\n# N = -42\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a13\nX = 0a8b3acff07b4e49ed1d6cd0e8cebbb0ac9f5bc5ec7d65e0adf7b21c\nY = 6aea047a1d6c9ea9df67e58538a8c88be591728e6c0d1443063199a4\n\nCurve = P-224\n# N = -41\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a14\nX = c772baaa90a968d497e0adbf116453e4f8c21c0acbea0ee34502317c\nY = de20e75207355906ed957ac40260148fda74b9acf699fa06caf08a62\n\nCurve = P-224\n# N = -40\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a15\nX = 5e4cdfc6fc36ea0cd69a38a7485a317a0aeded6b5f6cd80072826385\nY = 14afef7672ca22afe13292524ab55dfeef828e7e1e6abd8aadb9f27f\n\nCurve = P-224\n# N = -39\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a16\nX = 9a89bcce6f9b400618997c1184c5099a154a07954cb15d5c9f4492ca\nY = f48eba6a110031e81a8e50a0c3e5c141e3a66d12ef040e2cd36c4fcd\n\nCurve = P-224\n# N = -38\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a17\nX = 68eee585a12332d41aef6f91a587bc3ca57329508fcc9f5bb3907516\nY = df09fa68ba98511870b892e5f59c02792aed884376ecc9b081641901\n\nCurve = P-224\n# N = -37\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a18\nX = 9810b8218ec461154d317a954df66f5f81e51dc07ed7421b17d0b8aa\nY = e166fda56ccb98bbfa8423bcacbcacc05ddac7e88ff0ce13c805a10a\n\nCurve = P-224\n# N = -36\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a19\nX = 6116976ec4511b1b9ee2b839378ff122c2bdb3f58823a82a68aef8e1\nY = 99b4990881ca11762f616528685fbf94eb1708fa1ae25f010d070beb\n\nCurve = P-224\n# N = -35\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a1a\nX = da200dcda742573ca097e34bb87b356b84541f765cf38d2bf07471b0\nY = ef05917f8f13fc686a8a0b6b544b0a1ed3488f1dff476a9a9c7cc19e\n\nCurve = P-224\n# N = -34\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a1b\nX = f8188c7623f76642286b8e9e4d4c5d58b8eaf7265b3b0e816076e7e4\nY = bc6fc80b788a058da4873e54acc733db09105a6775bfb3faa6c549af\n\nCurve = P-224\n# N = -33\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a1c\nX = 224c4a62c8b1028606603cce1d451409b23d680bb063a8e6875d3b5c\nY = ca97069c235efeb00a05729df91171d17605320950a1cea2e49fd119\n\nCurve = P-224\n# N = -32\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a1d\nX = b700a5c3bb6379de6caea37ff7a47ca909bec01a603c5ec5e1d1e794\nY = 39e4c2c2e0968ef8a7cd7cabbfd37d0d2335579e72145109b23ce46a\n\nCurve = P-224\n# N = -31\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a1e\nX = 0ecf1b60836e92b7af968bccd69ff8300d55a42b0e855a4ff3546eab\nY = 4bd76a3b0d1e95b063d22f890c68ebfd2327e3af12611c8f66bc1d21\n\nCurve = P-224\n# N = -30\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a1f\nX = 599b7e7e639bc335eb891295f0d8f4d8d8c76e588f0767741ab07558\nY = a5aa7d10418290c0f35d3e4fccd02e4b3bc48ac8a87ad052e4cdcc14\n\nCurve = P-224\n# N = -29\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a20\nX = f63f9d855262e9b691f9bb848c78859508a8c1e6fb3246212e146e5c\nY = f75d5db787bfb5cb199828b1040e7ccd9a20d198d9f82a81001cf9e4\n\nCurve = P-224\n# N = -28\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a21\nX = 1243a602d84f3ea7cf4a56f86ccb93395c1d609af98d6474d8e7afb1\nY = 42c598ef4d24cb1f640cafc463a244dc4a26c694bf7b4737c8c6ec7c\n\nCurve = P-224\n# N = -27\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a22\nX = 1989153b5f6636b610854bcc50afc929e914c03da51a4a8239f4865b\nY = 46c7e1923864a71fbbc324ff6e9b7c842baf5973e6e6d0ed9abd8695\n\nCurve = P-224\n# N = -26\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a23\nX = 263ed2217", "b1f0a813156e647e87e6cf618b9635c3f910f9d92153b04\nY = ba1722401bfc9e41088cac3974d5ec7ad91fa0cd95b0a3555a23194a\n\nCurve = P-224\n# N = -25\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a24\nX = f1a7ae364dba054b51dff5d5ce16fb28965fb3777dca1ce3c1ad6ad0\nY = b15ffa68153924545b397331387cee02f86c97f51fb4d28a172db95d\n\nCurve = P-224\n# N = -24\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a25\nX = affdfabc0525468041b2baf73874ec60762a670562c0248e474456a1\nY = 00828bfdac88b772536123340be2bf21ccec9cda4e9ba00d50db9e30\n\nCurve = P-224\n# N = -23\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a26\nX = 2da9b6b6ec26e646ceef802c560782026da04bf2f2d196f4bca2d074\nY = 58d6f33f99ff23e92c8a043b47b66ae89f7d30289b35b16aea963966\n\nCurve = P-224\n# N = -22\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a27\nX = c9bdd86f5fb7fe1e54c6ff9026f20add6c1984f1ef22b80a887af62c\nY = eec590de16f168bde8d375e5dcc22402db091965c0a5bf7f95cf88f5\n\nCurve = P-224\n# N = -21\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a28\nX = a3d482c3e7eec18c534d4ceb1c9b8cefecb369a68a85a4e826165174\nY = 9b11ffa67c105561b349cb872408dfdc8daf9071a39d9c38fee98408\n\nCurve = P-224\n# N = -20\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a29\nX = fcc7f2b45df1cd5a3c0c0731ca47a8af75cfb0347e8354eefe782455\nY = f2a28eefd8b345832116f1e574f2c6b2c895aa8c24941f40d8b80ad1\n\nCurve = P-224\n# N = -19\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a2a\nX = a1e81c04f30ce201c7c9ace785ed44cc33b455a022f2acdbc6cae83c\nY = 230e093c24f638f533dac6e2b6d01da3b5e7f45429315ca93fb8e634\n\nCurve = P-224\n# N = -18\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a2b\nX = c9ff61b040874c0568479216824a15eab1a838a797d189746226e4cc\nY = 156729f1a003647030666054e208180f8f7b0df2249e44fba5931fff\n\nCurve = P-224\n# N = -17\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a2c\nX = b8357c3a6ceef288310e17b8bfeff9200846ca8c1942497c484403bc\nY = 00eb610599f95942df1082e4f9426d086fb9c6231ae8b24933aab5db\n\nCurve = P-224\n# N = -16\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a2d\nX = 0b6ec4fe1777382404ef679997ba8d1cc5cd8e85349259f590c4c66d\nY = cc662b9bcba6f94ee4ff1c9c10bd6ddd0d138df2d099a282152a4b7f\n\nCurve = P-224\n# N = -15\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a2e\nX = baa4d8635511a7d288aebeedd12ce529ff102c91f97f867e21916bf9\nY = 6865a0b8a607f0b04b13d1cb0aa992a5a97f5ee8ca1849efb9ed8678\n\nCurve = P-224\n# N = -14\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a2f\nX = a53640c83dc208603ded83e4ecf758f24c357d7cf48088b2ce01e9fa\nY = 2a7eb328dbe663b5a468b5bc97a040a3745396ba636b964370dc3352\n\nCurve = P-224\n# N = -13\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a30\nX = 34e8e17a430e43289793c383fac9774247b40e9ebd3366981fcfaeca\nY = dad7e608e380480434ea641cc82c82cbc92801469c8db0204f13489a\n\nCurve = P-224\n# N = -12\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a31\nX = 6e31ee1dc137f81b056752e4deab1443a481033e9b4c93a3044f4f7a\nY = df82220fc7a4021549165325725f94c3410ddb56c54e161fc9ef62ee\n\nCurve = P-224\n# N = -11\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a32\nX = ef53b6294aca431f0f3c22dc82eb9050324f1d88d377e716448e507c\nY = df4aefffbf6d1699c930481cd102127c9a3d992048ab05929b6e5927\n\nCurve = P-224\n# N = -10\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a33\nX = aea9e17a306517eb89152aa7096d2c381ec813c51aa880e7bee2c0fd\nY = c644cf154cc81f5ade49345e541b4d4b5c1adb3eb5c01c14ee949aa2\n\nCurve = P-224\n# N = -9\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a34\nX = 2fdcccfee720a77ef6cb3bfbb447f9383117e3daa4a07e36ed15f78d\nY = c8e8cd1b0be40b0877cfca1958603122f1e6914f84b7e8e968ae8b9e\n\nCurve = P-224\n# N = -8\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a35\nX = 858e6f9cc6c12c31f5df124aa77767b05c8bc021bd683d2b55571550\nY = fb9232c15a3bc7673a3a03b0253824c53d0fd1411b1cabe2e187fb87\n\nCurve = P-224\n# N = -7\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a36\nX = db2f6be630e246a5cf7d99b85194b123d487e2d466b94b24a03c3e28\nY = f0c5cff7ab680d09ee11dae84e9c1072ac48ea2e744b1b7f72fd469e\n\nCurve = P-224\n# N = -6\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a37\nX = 1f2483f82572251fca975fea40db821df8ad82a3c002ee6c57112408\nY = 76050f3348af2664aac3a8b05281304ebc7a7914c6ad50a4b4eac383\n\nCurve = P-224\n# N = -5\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a38\nX = 31c49ae75bce7807cdff22055d94ee9021fedbb5ab51c57526f011aa\nY = d817400e8ba9ca13a45f360e3d121eaaeb39af82d6001c8186f5f866\n\nCurve = P-224\n# N = -4\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a39\nX = ae99feebb5d26945b54892092a8aee02912930fa41cd114e40447301\nY = fb7da7f5f13a43b81774373c879cd32d6934c05fa758eeb14fcfab38\n\nCurve = P-224\n# N = -3\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3a\nX = df1b1d66a551d0d31eff822558b9d2cc75c2180279fe0d08fd896d04\nY = 5c080fc3522f41bbb3f55a97cfecf21f882ce8cbb1e50ca6e67e56dc\n\nCurve = P-224\n# N = -2\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3b\nX = 706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6\nY = e3d4895843da188fd58fb0567976d7b50359d6b78530c8f62d1b1746\n\nCurve = P-224\n# N = -1\nN = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\nX = b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21\nY = 42c89c774a08dc04b3dd201932bc8a5ea5f8b89bbb2a7e667aff81cd\n\nCurve = P-224\n# N = 0\nN = 00000000000000000000000000000000000000000000000000000000\nX = 00000000000000000000000000000000000000000000000000000000\nY = 00000000000000000000000000000000000000000000000000000000\n\nCurve = P-224\n# N = 1\nN = 00000000000000000000000000000000000000000000000000000001\nX = b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21\nY = bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34\n\nCurve = P-224\n# N = 2\nN = 00000000000000000000000000000000000000000000000000000002\nX = 706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6\nY = 1c2b76a7bc25e7702a704fa986892849fca629487acf3709d2e4e8bb\n\nCurve = P-224\n# N = 3\nN = 00000000000000000000000000000000000000000000000000000003\nX = df1b1d66a551d0d31eff822558b9d2cc75c2180279fe0d08fd896d04\nY = a3f7f03cadd0be444c0aa56830130ddf77d317344e1af3591981a925\n\nCurve = P-224\n# N = 4\nN = 00000000000000000000000000000000000000000000000000000004\nX = ae99feebb5d26945b54892092a8aee02912930fa41cd114e40447301\nY = 0482580a0ec5bc47e88bc8c378632cd196cb3fa058a7114eb03054c9\n\nCurve = P-224\n# N = 5\nN = 00000000000000000000000000000000000000000000000000000005\nX = 31c49ae75bce7807cdff22055d94ee9021fedbb5ab51c57526f011aa\nY = 27e8bff1745635ec5ba0c9f1c2ede15414c6507d29ffe37e790a079b\n\nCurve = P-224\n# N = 6\nN = 00000000000000000000000000000000000000000000000000000006\nX = 1f2483f82572251fca975fea40db821df8ad82a3c002ee6c57112408\nY = 89faf0ccb750d99b553c574fad7ecfb0438586eb3952af5b4b153c7e\n\nCurve = P-224\n# N = 7\nN = 00000000000000000000000000000000000000000000000000000007\nX = db2f6be630e246a5cf7d99b85194b123d487e2d466b94b24a03c3e28\nY = 0f3a30085497f2f611ee2517b163ef8c53b715d18bb4e4808d02b963\n\nCurve = P-224\n# N = 8\nN = 00000000000000000000000000000000000000000000000000000008\nX = 858e6f9cc6c12c31f5df124aa77767b05c8bc021bd683d2b55571550\nY = 046dcd3ea5c43898c5c5fc4fdac7db39c2f02ebee4e3541d1e78047a\n\nCurve = P-224\n# N = 9\nN = 00000000000000000000000000000000000000000000000000000009\nX = 2fdcccfee720a77ef6cb3bfbb447f9383117e3daa4a07e36ed15f78d\nY = 371732e4f41bf4f7883035e6a79fcedc0e196eb07b48171697517463\n\nCurve = P-224\n# N = 10\nN = 0000000000000000000000000000000000000000000000000000000a\nX = aea9e17a306517eb89152aa7096d2c381ec813c51aa880e7bee2c0fd\nY = 39bb30eab337e0a521b6cba1abe4b2b3a3e524c14a3fe3eb116b655f\n\nCurve = P-224\n# N = 11\nN = 0000000000000000000000000000000000000000000000000000000b\nX = ef53b6294aca431f0f3c22dc82eb9050324f1d88d377e716448e507c\nY = 20b510004092e96636cfb7e32efded8265c266dfb754fa6d6491a6da\n\nCurve = P-224\n# N = 12\nN = 0000000000000000000000000000000000000000000000000000000c\nX = 6e31ee1dc137f81b056752e4deab1443a481033e9b4c93a3044f4f7a\nY = 207dddf0385bfdeab6e9acda8da06b3bbef224a93ab1e9e036109d13\n\nCurve = P-224\n# N = 13\nN = 0000000000000000000000000000000000000000000000000000000d\nX = 34e8e17a430e43289793c383fac9774247b40e9ebd3366981fcfaeca\nY = 252819f71c7fb7fbcb159be337d37d3336d7feb963724fdfb0ecb767\n\nCur", "ve = P-224\n# N = 14\nN = 0000000000000000000000000000000000000000000000000000000e\nX = a53640c83dc208603ded83e4ecf758f24c357d7cf48088b2ce01e9fa\nY = d5814cd724199c4a5b974a43685fbf5b8bac69459c9469bc8f23ccaf\n\nCurve = P-224\n# N = 15\nN = 0000000000000000000000000000000000000000000000000000000f\nX = baa4d8635511a7d288aebeedd12ce529ff102c91f97f867e21916bf9\nY = 979a5f4759f80f4fb4ec2e34f5566d595680a11735e7b61046127989\n\nCurve = P-224\n# N = 16\nN = 00000000000000000000000000000000000000000000000000000010\nX = 0b6ec4fe1777382404ef679997ba8d1cc5cd8e85349259f590c4c66d\nY = 3399d464345906b11b00e363ef429221f2ec720d2f665d7dead5b482\n\nCurve = P-224\n# N = 17\nN = 00000000000000000000000000000000000000000000000000000011\nX = b8357c3a6ceef288310e17b8bfeff9200846ca8c1942497c484403bc\nY = ff149efa6606a6bd20ef7d1b06bd92f6904639dce5174db6cc554a26\n\nCurve = P-224\n# N = 18\nN = 00000000000000000000000000000000000000000000000000000012\nX = c9ff61b040874c0568479216824a15eab1a838a797d189746226e4cc\nY = ea98d60e5ffc9b8fcf999fab1df7e7ef7084f20ddb61bb045a6ce002\n\nCurve = P-224\n# N = 19\nN = 00000000000000000000000000000000000000000000000000000013\nX = a1e81c04f30ce201c7c9ace785ed44cc33b455a022f2acdbc6cae83c\nY = dcf1f6c3db09c70acc25391d492fe25b4a180babd6cea356c04719cd\n\nCurve = P-224\n# N = 20\nN = 00000000000000000000000000000000000000000000000000000014\nX = fcc7f2b45df1cd5a3c0c0731ca47a8af75cfb0347e8354eefe782455\nY = 0d5d7110274cba7cdee90e1a8b0d394c376a5573db6be0bf2747f530\n\nCurve = P-224\n# N = 21\nN = 00000000000000000000000000000000000000000000000000000015\nX = a3d482c3e7eec18c534d4ceb1c9b8cefecb369a68a85a4e826165174\nY = 64ee005983efaa9e4cb63478dbf7202272506f8e5c6263c701167bf9\n\nCurve = P-224\n# N = 22\nN = 00000000000000000000000000000000000000000000000000000016\nX = c9bdd86f5fb7fe1e54c6ff9026f20add6c1984f1ef22b80a887af62c\nY = 113a6f21e90e9742172c8a1a233ddbfc24f6e69a3f5a40806a30770c\n\nCurve = P-224\n# N = 23\nN = 00000000000000000000000000000000000000000000000000000017\nX = 2da9b6b6ec26e646ceef802c560782026da04bf2f2d196f4bca2d074\nY = a7290cc06600dc16d375fbc4b84995166082cfd764ca4e951569c69b\n\nCurve = P-224\n# N = 24\nN = 00000000000000000000000000000000000000000000000000000018\nX = affdfabc0525468041b2baf73874ec60762a670562c0248e474456a1\nY = ff7d74025377488dac9edccbf41d40dd33136325b1645ff2af2461d1\n\nCurve = P-224\n# N = 25\nN = 00000000000000000000000000000000000000000000000000000019\nX = f1a7ae364dba054b51dff5d5ce16fb28965fb3777dca1ce3c1ad6ad0\nY = 4ea00597eac6dbaba4c68ccec78311fc0793680ae04b2d75e8d246a4\n\nCurve = P-224\n# N = 26\nN = 0000000000000000000000000000000000000000000000000000001a\nX = 263ed2217b1f0a813156e647e87e6cf618b9635c3f910f9d92153b04\nY = 45e8ddbfe40361bef77353c68b2a138426e05f326a4f5caaa5dce6b7\n\nCurve = P-224\n# N = 27\nN = 0000000000000000000000000000000000000000000000000000001b\nX = 1989153b5f6636b610854bcc50afc929e914c03da51a4a8239f4865b\nY = b9381e6dc79b58e0443cdb009164837ad450a68c19192f126542796c\n\nCurve = P-224\n# N = 28\nN = 0000000000000000000000000000000000000000000000000000001c\nX = 1243a602d84f3ea7cf4a56f86ccb93395c1d609af98d6474d8e7afb1\nY = bd3a6710b2db34e09bf3503b9c5dbb22b5d9396b4084b8c837391385\n\nCurve = P-224\n# N = 29\nN = 0000000000000000000000000000000000000000000000000000001d\nX = f63f9d855262e9b691f9bb848c78859508a8c1e6fb3246212e146e5c\nY = 08a2a24878404a34e667d74efbf1833165df2e672607d57effe3061d\n\nCurve = P-224\n# N = 30\nN = 0000000000000000000000000000000000000000000000000000001e\nX = 599b7e7e639bc335eb891295f0d8f4d8d8c76e588f0767741ab07558\nY = 5a5582efbe7d6f3f0ca2c1b0332fd1b3c43b753757852fad1b3233ed\n\nCurve = P-224\n# N = 31\nN = 0000000000000000000000000000000000000000000000000000001f\nX = 0ecf1b60836e92b7af968bccd69ff8300d55a42b0e855a4ff3546eab\nY = b42895c4f2e16a4f9c2dd076f3971401dcd81c50ed9ee3709943e2e0\n\nCurve = P-224\n# N = 32\nN = 00000000000000000000000000000000000000000000000000000020\nX = b700a5c3bb6379de6caea37ff7a47ca909bec01a603c5ec5e1d1e794\nY = c61b3d3d1f69710758328354402c82f1dccaa8618debaef64dc31b97\n\nCurve = P-224\n# N = 33\nN = 00000000000000000000000000000000000000000000000000000021\nX = 224c4a62c8b1028606603cce1d451409b23d680bb063a8e6875d3b5c\nY = 3568f963dca1014ff5fa8d6206ee8e2d89facdf6af5e315d1b602ee8\n\nCurve = P-224\n# N = 34\nN = 00000000000000000000000000000000000000000000000000000022\nX = f8188c7623f76642286b8e9e4d4c5d58b8eaf7265b3b0e816076e7e4\nY = 439037f48775fa725b78c1ab5338cc23f6efa5988a404c05593ab652\n\nCurve = P-224\n# N = 35\nN = 00000000000000000000000000000000000000000000000000000023\nX = da200dcda742573ca097e34bb87b356b84541f765cf38d2bf07471b0\nY = 10fa6e8070ec03979575f494abb4f5e02cb770e200b8956563833e63\n\nCurve = P-224\n# N = 36\nN = 00000000000000000000000000000000000000000000000000000024\nX = 6116976ec4511b1b9ee2b839378ff122c2bdb3f58823a82a68aef8e1\nY = 664b66f77e35ee89d09e9ad797a0406a14e8f705e51da0fef2f8f416\n\nCurve = P-224\n# N = 37\nN = 00000000000000000000000000000000000000000000000000000025\nX = 9810b8218ec461154d317a954df66f5f81e51dc07ed7421b17d0b8aa\nY = 1e99025a93346744057bdc435343533ea2253817700f31ec37fa5ef7\n\nCurve = P-224\n# N = 38\nN = 00000000000000000000000000000000000000000000000000000026\nX = 68eee585a12332d41aef6f91a587bc3ca57329508fcc9f5bb3907516\nY = 20f605974567aee78f476d1a0a63fd85d51277bc8913364f7e9be700\n\nCurve = P-224\n# N = 39\nN = 00000000000000000000000000000000000000000000000000000027\nX = 9a89bcce6f9b400618997c1184c5099a154a07954cb15d5c9f4492ca\nY = 0b714595eeffce17e571af5f3c1a3ebd1c5992ed10fbf1d32c93b034\n\nCurve = P-224\n# N = 40\nN = 00000000000000000000000000000000000000000000000000000028\nX = 5e4cdfc6fc36ea0cd69a38a7485a317a0aeded6b5f6cd80072826385\nY = eb5010898d35dd501ecd6dadb54aa200107d7181e195427552460d82\n\nCurve = P-224\n# N = 41\nN = 00000000000000000000000000000000000000000000000000000029\nX = c772baaa90a968d497e0adbf116453e4f8c21c0acbea0ee34502317c\nY = 21df18adf8caa6f9126a853bfd9feb6f258b4653096605f9350f759f\n\nCurve = P-224\n# N = 42\nN = 0000000000000000000000000000000000000000000000000000002a\nX = 0a8b3acff07b4e49ed1d6cd0e8cebbb0ac9f5bc5ec7d65e0adf7b21c\nY = 9515fb85e293615620981a7ac75737731a6e8d7193f2ebbcf9ce665d\n\nCurve = P-224\n# N = 43\nN = 0000000000000000000000000000000000000000000000000000002b\nX = 2f9a6dce655ee5d9f00b398e756defe1499b98df1e2edac8a784ad75\nY = 427ae03e8d8e2356dc47fc5b5baab56a6403df0eb0d901533d9b689f\n\nCurve = P-224\n# N = 44\nN = 0000000000000000000000000000000000000000000000000000002c\nX = d20981b43d053ca0ca30994a5586e7f2342c479b07c6c367d0025900\nY = a8d478fbb1fbeffe267786c1651cac860846ede5f28543e6be483074\n\nCurve = P-224\n# N = 45\nN = 0000000000000000000000000000000000000000000000000000002d\nX = cc96733b052b2f04f1cebb4cb8afb448a21c09821d6288b86cb8a17a\nY = ea61793f3c7170803deffc9fab6bebba36ffab02dfb85b14f2424393\n\nCurve = P-224\n# N = 46\nN = 0000000000000000000000000000000000000000000000000000002e\nX = 71f8a2cdf405c7ee499dbd7216a07e5aa61b8faa4fd20b516d2761d4\nY = 85cff72a1affaf4f54bd84c92ea218a2f3e6f0814f495ecfef9cab0a\n\nCurve = P-224\n# N = 47\nN = 0000000000000000000000000000000000000000000000000000002f\nX = eca965fd046c7fd242e29ba1a178b71b1ec6e7af6a5b88232a285c92\nY = c1ad9594a1342db06cf721fc0248a859e5a9b143a78d241087793385\n\nCurve = P-224\n# N = 48\nN = 00000000000000000000000000000000000000000000000000000030\nX = f087c8764bb082e669a8afbc5db571971898ccc2c5d4baf73cd35e9d\nY = 8d124647eabdc86e8185faa7e2e34dfa72b2ce3b546f2ffa364981b7\n\nCurve = P-224\n# N = 49\nN = 00000000000000000000000000000000000000000000000000000031\nX = f18721e462d2340c4a88e00130d86691386ba2a83d1fb1dc8b927cca\nY = 4ce0b2665ee72e3d3e60f7ea57656debfa272adffa49b22db6495718\n\nCurve = P-224\n# N = 50\nN = 00000000000000000000000000000000000000000000000000000032\nX = bce605150a1d4d750c5a043fb4136726f99b4a41f35d3b3832ea583f\nY = 8971dbd8faf52a8a9980787b48017393d51878c5800ee2129b5ec4f5\n\nCurve = P-224\n# N = 51\nN = 00000000000000000000000000000000000000000000000000000033\nX = 5b4ce687825f6a00f83cd3bbc77c67dc14d91bd78d4e47f7e2ce7b0f\nY = 95794dbae2b417bf6213fc866097f37e943caa1867a6e7a80471222b\n\nCurve = P-224\n# N = 52\nN = 00000000000000000000000000000000000000000000000000000034\nX = 6e53e26a8b7b28a7c7a61dd4d53d509514edad71188245929589c788\nY = 07a0dc5837a028103ff92c14ecb7f14e0909b80215a4a62f9c992aa9\n\nCurve = P-224\n# N = 53\nN = 00000000000000000000000000000000000000000000000000000035\nX = df5d3ed85b75fb433d057198debdd036cd", @@ -2645,9 +2732,9 @@ static const char *kData40[] = { "9642dd68d1a988bb828d895ed5d116d7f87032133e2949da6c395738534b93220fe2ad07f0b291adc92433ee2dee160709ed9985b0c\nY = 0177acd53b00c9f29f3ece28b4724f834f49606d3f34656a52ef5443c5d9216ae388b345b828c8b09a2b2e495cf2adcdd6b5886f4ded1741425ac31c832ba74eed38\n\nCurve = P-521\n# N = 29\nN = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001d\nX = 0174c644d6c94b68287db3c1fbfcb65a085ff9f45131e86265ec28bef38f7664a1305ca9bc06876d72914003ab8e847ffb9ef33d8595d51f6d962c3927618eda25dc\nY = 011af3a7c2f87f419e6805acc95b41b7b7820233ef8fcb6441fcb5cf5eb795ad34b7be0e21952ce0d90b50c2732d706d303f0679927c26ebbfbd187bbbc4821a0c30\n\nCurve = P-521\n# N = 30\nN = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e\nX = 00d087d70d11074b36bb0b6913261570a6b33cf015e1f913a610ea52dbcbae2a3e4435573f35d14754c6352756cc169eac6bf7d9b10f1b0af5956117fab72ec4b081\nY = 00c4d07f8c3cafdc1636811d7b95a6ac2dcebcde1cd94afbdbd3e47015660d29f15354d5b99d1d7d4adaf279efee5d860be9069edd46ff01cfc7b64d6af6579dbed3\n\nCurve = P-521\n# N = 31\nN = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001f\nX = 00d8e9920cf30f0c6615006a58cdb7307b7db574589657c2a6617260a83ca5e7726cd65543a904c9d429fc14c1ac09cd6b220dcfb5e488e248122257d0e0c16a8803\nY = 0127b023b5454a663987df09c13a214a30ec8b5406328f10c8060aefb72cbed1aa30f76b8c3244d14790139a868cae4cc263aa1bd97c7b54318aca4677c739792d19\n\nCurve = P-521\n# N = 32\nN = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020\nX = 0166ba3596d20a3a469443707af94ba15b343e3e16654e068038dba7ecefb9e5ebd6ea04a35dc73596ec67d69bd6ba5d1f949cf7475cd6c5c78247915ab876e56a9e\nY = 00477b0ff4d1940ab8111635e75ff3e08268ff7bd8bf5ff01967c1df01c65c2dd77de204cdb818cdd6b9b74de1c7ea0f36dfcd98c965ab96163695ca9a9914a156aa\n\nCurve = P-521\n# N = 33\nN = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000021\nX = 00284195f0978fb969e68c76eb4e3c76f58e52086d482be92613f381421a74236df0abdbea7e2b77ef1ae9a519a57aa53ac2a5ec59186b2ed12d5ea2e1fc649f308d\nY = 007e43eb08c656dc636b7b7a3bc869056d3a24d513abe063c6639e016769614ac5f2e7656ecbf3d138bf00bd7216c16deb3a88effd5c228b58f36be95a3dd3e11c4d\n\nCurve = P-521\n# N = 34\nN = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022\nX = 0122f66451d0843fb59448c58962f5b7c130eb8db26b14dbf8bf0e7d84e588581cdea866a98b697d432cc1f1f8993db2173b55ac0435b8317a8ddfeab253d54e4d87\nY = 01bed137b942249932f3c1f12141aee1538aa373f5aee0a89a48d357d7c04965b0515097293e4f87a6a413184d9be8ea91406baa5223db7571bcda9dba82fd9a06dc\n\nCurve = P-521\n# N = 35\nN = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000023\nX = 00ddc300757549630a78398b62069e0ba392a267a642b593e0bfc4a780b56f97392bb4806c84fda74023ee4a618608f6b2cea92ff614b5dcc8d8dc1039c9ccd7d718\nY = 00c1bd2d07f6ac7fc5cc1b83431f0c30dbbfa510936cb5d85bcf462796591a31db509ab1178bd2c701425c212522ee69e797deba4db422640a4d3eb1d3ef241e07f4\n\nCurve = P-521\n# N = 36\nN = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024\nX = 01ad81c98659bd21e082514d5e71894c417b2a25afe471eb8ad9e81a91dac8198aa9f385da9cc679bb96e724672821b585e05323bdc821e585edae56cbf798bd6ef0\nY = 01217026e6cf8e6fc4e761aeda5705b3c0f8ca7f475441227b9761285bc6dc8f01af1af50b0bb140013a75db963d8698121dd2c4ba1759a98b43ac7712f8455c99ef\n\nCurve = P-521\n# N = 37\nN = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000025\nX = 00944f64a6c21832b67139e798352ded5867c35c5d56c1d59e4229ed0ae6af9d5749bd445763a28856040e58e26ee0980df28c64e76ae4780273f1ac4d59b557a36f\nY = 0150b7ee1b02028ab7410c4b9624f26cb192fe4e6ff21865f85926317da6b7991305dcbdbc2471c83f81b85c564995a057c331a4be4056988296312bf98394fb2a03\n\nCurve = P-521\n# N = 38\nN = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000026\nX = 0195aeb1530c7d932a18922563d71ef6e7449078207b610c2c77690815bcef8f312718413823ed8d4ba112ac2ecc9d4e688346f120cb19ae965d853028d72a5f4a8b\nY = 00e0c42d3cc093242000c0ec0975884bb0308611d8bd49b6090a06c5bdf7d0e1544851f9ba596291ef1ee3e3c9a002b7985ba29e51d193b701e0c87e1acd797bd130\n\nCurve = P-521\n# N = 39\nN = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000027\nX = 0124a0b8f411fbad60755264126356a499029e9661a49b5b907238d9fd62359c6ea7256b0cc58626a1e2ac0bf434e5fa31795b4fa1d48083af670b704119ee33b77c\nY = 001029616edc7335dce3602a9a406bbd399c68937baa8796154cdc0b1240c690db4818dc59feb96825aaa3caf2415944e762f212e74b698e40abd8dcdc61228b61a6\n\nCurve = P-521\n# N = 40\nN = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028\nX = 002efdef97e46cd544553a0c67f41886ad969f67883679409022c4ad6090a169b596f85d832dc9767b2bb513eb4d0d01e18f067fffb5ac53dbcfaf456a57824c9d93\nY = 00d88e2e3fdd283592d6c4c2a4687e65a6a823ffc6106dff96f75bb3141d0df516fe46a5357b21dc22404f4ef79e44aa97b22c101fec75d81e09b591f36738ae8e5c\n\nCurve = P-521\n# N = 41\nN = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000029\nX = 0175a140ed79e85e24a763ebfd9d2883082552a523e4b28998a685b85f23864a60c816b931eaf495ccce4c08c3ddc8297bfaddfda1a522cc2af68e00ce952624381e\nY = 01b09696d71855e2d4ed36f21343ca399be7ab59e580e9ee563223de821b22c82111b39e0e11ecf327da052a6e551fa28ebdf75dd758e7f3a3ecebeb760ec1028ecf\n\nCurve = P-521\n# N = 42\nN = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a\nX = 0161960dcd7bd7263ed37a0a1c0aa146f918874f472a2a5de6f2f5633364979e0bda2868fa8595d78243ea20d4e83c72305e420bebfa3767dcd4b7902612a9491855\nY = 016ac1cfdd433815668a5c6ae0d1031bc121a00e6a6b58d1eec42da602f01cc43b7ef728d67c4e39de86324cba6a2c4cce08414fdd6ad7d0722338a50e352ad521ef\n\nCurve = P-521\n# N = 43\nN = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002b\nX = 018c0148a165ec58e4fed55022d90544d8a070678aa2ec1419af8ef0f94438fea396fc66ad7aed7d37dda3a74e7a9b3d85ca51f0b62fdee07d20713e3083224f497e\nY = 010abbaa1f099e78869aebf7a83c7aa3bf242677e91db1d144cd7a3037819f1a0bec67fd6098879b1cf1932d602b547ce17a94edb92f76b688d2895829067683adbf\n\nCurve = P-521\n# N = 44\nN = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c\nX = 013fdb51df11f0b29b485f0c48a04cca16cfe1cecbe9fd57f6507c3cfcbef88c88cf761e3e73e6509ec7e77fffe912d2b367b25aa02cb1d33a5378f253cdcde738d2\nY = 01d14c8c184a7228a7034e4f65b3d0338f667aac908b39acf39c9ebedc0452b7c2f2a4460186aa2271d357733ea23d7284a8a123424f99a20b5242343b5cbafa661a\n\nCurve = P-521\n# N = 45\nN = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002d\nX = 004969d186aca09e53b879596b8fff2bc0207a58f7f28c147cc07b2df5e3f197286779189b7df8a1f2d9dc8ea1ace5703f0fc2954607b66b70c4a32dec600fc95c1a\nY = 01e81ec9b50cd8d3847d4d6ac21f3149fc7b15862a423270884135584a1bbcdb40a9b8d5b2802eadae85e6ed9e879be328e13463f5d90b37564f9498a7cd000903a9\n\nCurve = P-521\n# N = 46\nN = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e\nX = 00bbdb162d8284a910021998e2d14f33a8c51a9cfb9a69a8fc5709f753aaf1c4d248a6ddb5626540f81d07c09231d2ec1549f672b6d2bd57d22f64f2ae8093e738a5\nY = 013b86f0d5921216efe01fe9c7cabc10b00ab81c9fbd9674149d2ece424b786f6c372a1831112f54132d7d3af42dc8cd7e17b7ec80b09fa59f0e42c142895961259a\n\nCurve = P-521\n# N = 47\nN = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "000000000000000000000000000000000000000002f\nX = 00afe31f8907048afd5f9cf5083ecc35882ce4e4fe2714033ff897233106c71dd0b2381864a0b9e922ac9cee75a3a9c4dd660a56a130d1ecbb672fda63c9abd59d11\nY = 0012f95dc8657275fe9db4290cbbb54ff69a605f079349209f88ecea7f3276f064979276080b904982a6ebb760f478d825e711ca41599f10673bd3065d2f1d90e1d6\n\nCurve = P-521\n# N = 48\nN = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030\nX = 01fb35de3b21557462ac8158e5caec62c8ccae7d6d6672102c334b3cc8a5803e72f42da0980f3f6fbfacdedc21b10ff08ee6641752bd214aea2c87027d612ad879ad\nY = 018d34a5ac1587992deda855b9ec4bb3f5c176f27fc94d09e2cc871294f66cc2e1bae6214d64a1d97e37b7c142e0fb0e3c28596f24804841cae7b1958193d256d46b\n\nCurve = P-521\n# N = 49\nN = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000031\nX = 00a5cb98fa3c0b8c1d57cba40a63bbaba0d39d45c347ae499839f581b8b111dea9eb6bc2a2df52f6284291d8c84e2e345fa87258dab1ac4c04ca0c8cb45049efc0ad\nY = 0015dc95654090d77b971409b01bf72e151b749ee467877e5b7eb072c39d9da8bf835dd9775543d575c20c10f2ceebb72bb44b963fbfb0b88b1d0b9bf46a2c8884b4\n\nCurve = P-521\n# N = 50\nN = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000032\nX = 017176204957627b7a120baf0dbb1aa3f9ca5312b292e34a0cfbd8384cf1be365bc684804ab26d84fe02250a859beaced3f356b6ddab593aebf35386773de84d4766\nY = 01ac713d5c2ffb0e111983e07ea5f688b03dd3032d3a9450b50c5def1db4859b504caf8c1321bb6c8d5fad93d2e5b9d0e75336298e21939f704f3f16ac6addc84f8f\n\nCurve = P-521\n# N = 51\nN = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000033\nX = 0168395ba51e278415a2025d93b68145f3ccfdf9f5bde34fe9ba3ba316cbf9beea26c2edfe6af07390df1321ae1b1054cbc0fba689ef1d7be2dda8d916fffbcc9504\nY = 0071cc10f3ca041a245639d9531942d3f57952dd878f21c480ce24e5b174adeb9b3c97bc2b68badb600c849c36096e3aeba50600aabed3a89e188eb9c45edd5c087b\n\nCurve = P-521\n# N = 52\nN = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034\nX = 001f32e875ce65d1e6d4c39a55b518749158a4dae03e0c1b4b4a58aef6be769f0693b9259354dcee33a4f00784311b6e5993955114f2afcab7a186177e368b29f6f3\nY = 005a3c8e76fb7849180b895ea8b22ee1a6fc2cbf93bbae0f4ad4a0c126d318c397911e73a061b8098a91112577769cd77ef2bd6b45f989f292da9301992d481b07f8\n\nCurve = P-521\n# N = 53\nN = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000035\nX = 0143f6e249195ee693f77b3d0ffd310306dff8688be916895fb727e82f6f948100c44e210e637209a78ed3af581fba4fe12b08153da9c98808166285684cccb69906\nY = 01053e8fcc9618eb2a74c5611a02575109877dc73fdde42c216935437e8053d10cb14fdf64f503cf3bb30f6a7a9de3b4cf8c040a3dfbc4abee6afd6ddaddd40c7861\n\nCurve = P-521\n# N = 54\nN = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000036\nX = 01938e65f2a40e6899c6414997e998e0e3e1cb09728861ea138fc6d866fdc6c98505393cf55982451c97dac4214e4dbf052bf707cab63228fdfcf5ae2048a0ce100c\nY = 0163d556dd0941ce794e9c2868a692e89dbf943485186e2074e8222e0ed99fea4bd0c6069fa8017db8bec972b99ee0d7fcbc0f607d677492659bfa47b98bb8d1b411\n\nCurve = P-521\n# N = 55\nN = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000037\nX = 004b52fc4b6d310ce7c4b551e4155c6daca97cb03e9fd9d0a79d6472d4028e8da1a18cca93917cad27e6be17486b1e0b549a7fe9ab4bda96ac4e84ad7ccebd470f5e\nY = 003585e54fe81461ae21385ea7907a1a7b2e619f44311a16a0b600fb114a7dbae15510aa85895c5a084cd69609e345b53586fa03a23006a096ea7a196cd230a36ef2\n\nCurve = P-521\n# N = 56\nN = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038\nX = 003cd775038527f32baf7e9056e95b0cbef7638c12398e4b8b019cc29b3435be97f601378e253fef51d25730e56267acca241df04ea2e96c1840b3f739d5ae2df998\nY = 00789bf7cf42095c5b1770e1a3561fc3e1232b0430e114f67a397c1e5b54987f4a28b52a737cbaa0ffa2c431863c1a8cbf15eba60fb5d8b4723dc10d9706f4083cba\n\nCurve = P-521\n# N = 57\nN = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000039\nX = 00dc53c3e7fcf3c902e04463da75efb25ffa5a8defe72e6dbf85ef3c6d77a521b9f84af300bbde9118b2f66fd5bc64b8a5208372c8fff95c84503475330a4e9a13e2\nY = 0074e88fccd4fdbd992b68073ee6c4d4f8f7b13d0dd2caf9d989b62e7eb390dff3ea3482530d0d3bd86a4a3f82056a929f73a9493190c62a553233ad7f7fd9c4248f\n\nCurve = P-521\n# N = 58\nN = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003a\nX = 008bc46df1c09851ab92d53b6ad821b5026be61385c801f5277c9871b54c6764d3fdb96a728ad56c650d342a03e174a3106a5479d3ccb04647ad0f583210d81ab70d\nY = 01d948ff92784e9946a27a4c58d40bfb0e0b765073f1f9a731aa52b53e4fe686134fee784bec8fca81a73b8ac3a45ca1b766cdec69190bf94d71fa08b29292c1205f\n\nCurve = P-521\n# N = 59\nN = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003b\nX = 0035aeb454ad31876773063c60342df29eadc7223c5d98901999aae5c2934c222920055693c9b1344c691a90342d64373a8acba8524ec347208863be8a26eb16686b\nY = 00187ecbec147e7e43b4db0b0ca0aff1ba7f15a48db3660903f4e22f2ef3cb6efd45b8cf8c44bc83d0b8c9fd5fddd64ffec3fd82c38cfaffe51acf4aa03c5381fa2e\n\nCurve = P-521\n# N = 60\nN = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c\nX = 00038a508e954435eff6ccb82b562ed32ff236f33caef52de9fdf79836e37bbe118392681661adc786c57fb6bf92d04b42fc051c3f6061c252749fd17ffbfca45bdc\nY = 008dbd87d8b1e7bd4d2adb7a7399b931e7169b0ecf8e37baa0e9997df1a529560a5a5edb1e7a605abfd04b1ccdfa683285b4d748f73799f3e5d4f8464ad3910e9522\n\nCurve = P-521\n# N = 61\nN = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003d\nX = 0115544c4a011407425c92ca7c732a1c7d8f8b6cd17d5b660d1a4cd724b1be8b17177193c11a77dc0b39a5e7fce59a7b32d7952bad1671543c41cb53d8cfcfc376a1\nY = 01153df9c6c0ac6485b307996d2a399c872c79af485fef422cbfec097a3aed58c6a003f78d54b7f553a8a834ff603afa032b56f22ee9c3fe5e24b8eff8cd4a17604b\n\nCurve = P-521\n# N = 62\nN = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e\nX = 01f605dada534c5c8ae020f6ed49f27734e2378b0b7bc177aeaf943ae59581dd5885a38bf246fec516fd213f3fe32bfd4e19f0a8c971ef2a16969627fe31114dc85e\nY = 014ff96d82698b78d305a2252c7a4be38a37f2b0afd6935f4aaa50e685ccd164a2206284a831f6b296eacb156b6e7671eb7adda2d7e072a578a319f1002224aa57b5\n\nCurve = P-521\n# N = 63\nN = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003f\nX = 01c132753b64640c457fe82f799acb0a6e8e1ca21b5affa0ddc1e7f54fe4d51b08453ae99661308e125ec63996847586265e75af7d025770ac8d0f5beb6fce8888e5\nY = 015347e184197a0538176d81ac89b205d7961a9e093286414006595e8c353aa2238005d3dbdcec1896bc13f78f82f0071283af657b5bf664a2ace9d15ad2a03dba15\n\nCurve = P-521\n# N = 64\nN = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040\nX = 01ab9aa17dce1112ecd14f3d7c0392fec2a67ebdbba81860bbacb614b9ccf8872d271bebd3c5efda3773a7c02c1603e7001df5aab8029a04fd41b53dc38ce320f742\nY = 00748d70eb848e920573aa10217c57b9586d9bb1cc8b2fb1dc1d0c63ba369e87ab8bac165ba1508d4b10f4a7b9e3af958043c1c1a5dba0653dd45af17058a5f8df5b\n\n", }; -static const size_t kLen41 = 65077; +static const size_t kLen43 = 65077; -static const char *kData41[] = { +static const char *kData43[] = { "# Negation tests.\n#\n# The following tests satisfy A = -B (mod P).\n\nTest = Negate\nA = 0000000000000000000000000000000000000000000000000000000000000000\nB = 0000000000000000000000000000000000000000000000000000000000000000\n\nTest = Negate\nA = 0000000000000000000000000000000000000000000000000000000000000001\nB = ffffffff00000001000000000000000000000000fffffffffffffffffffffffe\n\nTest = Negate\nA = 0000000000000000000000000000000000000000000000000000000000000003\nB = ffffffff00000001000000000000000000000000fffffffffffffffffffffffc\n\nTest = Negate\nA = 0000000000000000000000000000000000000000000000000000000000000007\nB = ffffffff00000001000000000000000000000000fffffffffffffffffffffff8\n\nTest = Negate\nA = 000000000000000000000000000000000000000000000000000000000000000f\nB = ffffffff00000001000000000000000000000000fffffffffffffffffffffff0\n\nTest = Negate\nA = 000000000000000000000000000000000000000000000000000000000000001f\nB = ffffffff00000001000000000000000000000000ffffffffffffffffffffffe0\n\nTest = Negate\nA = 000000000000000000000000000000000000000000000000000000000000003f\nB = ffffffff00000001000000000000000000000000ffffffffffffffffffffffc0\n\nTest = Negate\nA = 000000000000000000000000000000000000000000000000000000000000007f\nB = ffffffff00000001000000000000000000000000ffffffffffffffffffffff80\n\nTest = Negate\nA = 00000000000000000000000000000000000000000000000000000000000000ff\nB = ffffffff00000001000000000000000000000000ffffffffffffffffffffff00\n\nTest = Negate\nA = 00000000000000000000000000000000000000000000000000000000000001ff\nB = ffffffff00000001000000000000000000000000fffffffffffffffffffffe00\n\nTest = Negate\nA = 00000000000000000000000000000000000000000000000000000000000003ff\nB = ffffffff00000001000000000000000000000000fffffffffffffffffffffc00\n\nTest = Negate\nA = 00000000000000000000000000000000000000000000000000000000000007ff\nB = ffffffff00000001000000000000000000000000fffffffffffffffffffff800\n\nTest = Negate\nA = 0000000000000000000000000000000000000000000000000000000000000fff\nB = ffffffff00000001000000000000000000000000fffffffffffffffffffff000\n\nTest = Negate\nA = 0000000000000000000000000000000000000000000000000000000000001fff\nB = ffffffff00000001000000000000000000000000ffffffffffffffffffffe000\n\nTest = Negate\nA = 0000000000000000000000000000000000000000000000000000000000003fff\nB = ffffffff00000001000000000000000000000000ffffffffffffffffffffc000\n\nTest = Negate\nA = 0000000000000000000000000000000000000000000000000000000000007fff\nB = ffffffff00000001000000000000000000000000ffffffffffffffffffff8000\n\nTest = Negate\nA = 000000000000000000000000000000000000000000000000000000000000ffff\nB = ffffffff00000001000000000000000000000000ffffffffffffffffffff0000\n\nTest = Negate\nA = 000000000000000000000000000000000000000000000000000000000001ffff\nB = ffffffff00000001000000000000000000000000fffffffffffffffffffe0000\n\nTest = Negate\nA = 000000000000000000000000000000000000000000000000000000000003ffff\nB = ffffffff00000001000000000000000000000000fffffffffffffffffffc0000\n\nTest = Negate\nA = 000000000000000000000000000000000000000000000000000000000007ffff\nB = ffffffff00000001000000000000000000000000fffffffffffffffffff80000\n\nTest = Negate\nA = 00000000000000000000000000000000000000000000000000000000000fffff\nB = ffffffff00000001000000000000000000000000fffffffffffffffffff00000\n\nTest = Negate\nA = 00000000000000000000000000000000000000000000000000000000001fffff\nB = ffffffff00000001000000000000000000000000ffffffffffffffffffe00000\n\nTest = Negate\nA = 00000000000000000000000000000000000000000000000000000000003fffff\nB = ffffffff00000001000000000000000000000000ffffffffffffffffffc00000\n\nTest = Negate\nA = 00000000000000000000000000000000000000000000000000000000007fffff\nB = ffffffff00000001000000000000000000000000ffffffffffffffffff800000\n\nTest = Negate\nA = 0000000000000000000000000000000000000000000000000000000000ffffff\nB = ffffffff00000001000000000000000000000000ffffffffffffffffff000000\n\nTest = Negate\nA = 0000000000000000000000000000000000000000000000000000000001ffffff\nB = ffffffff00000001000000000000000000000000fffffffffffffffffe000000\n\nTest = Negate\nA = 0000000000000000000000000000000000000000000000000000000003ffffff\nB = ffffffff00000001000000000000000000000000fffffffffffffffffc000000\n\nTest = Negate\nA = 0000000000000000000000000000000000000000000000000000000007ffffff\nB = ffffffff00000001000000000000000000000000fffffffffffffffff8000000\n\nTest = Negate\nA = 000000000000000000000000000000000000000000000000000000000fffffff\nB = ffffffff00000001000000000000000000000000fffffffffffffffff0000000\n\nTest = Negate\nA = 000000000000000000000000000000000000000000000000000000001fffffff\nB = ffffffff00000001000000000000000000000000ffffffffffffffffe0000000\n\nTest = Negate\nA = 000000000000000000000000000000000000000000000000000000003fffffff\nB = ffffffff00000001000000000000000000000000ffffffffffffffffc0000000\n\nTest = Negate\nA = 000000000000000000000000000000000000000000000000000000007fffffff\nB = ffffffff00000001000000000000000000000000ffffffffffffffff80000000\n\nTest = Negate\nA = 00000000000000000000000000000000000000000000000000000000ffffffff\nB = ffffffff00000001000000000000000000000000ffffffffffffffff00000000\n\nTest = Negate\nA = 00000000000000000000000000000000000000000000000000000001ffffffff\nB = ffffffff00000001000000000000000000000000fffffffffffffffe00000000\n\nTest = Negate\nA = 00000000000000000000000000000000000000000000000000000003ffffffff\nB = ffffffff00000001000000000000000000000000fffffffffffffffc00000000\n\nTest = Negate\nA = 00000000000000000000000000000000000000000000000000000007ffffffff\nB = ffffffff00000001000000000000000000000000fffffffffffffff800000000\n\nTest = Negate\nA = 0000000000000000000000000000000000000000000000000000000fffffffff\nB = ffffffff00000001000000000000000000000000fffffffffffffff000000000\n\nTest = Negate\nA = 0000000000000000000000000000000000000000000000000000001fffffffff\nB = ffffffff00000001000000000000000000000000ffffffffffffffe000000000\n\nTest = Negate\nA = 0000000000000000000000000000000000000000000000000000003fffffffff\nB = ffffffff00000001000000000000000000000000ffffffffffffffc000000000\n\nTest = Negate\nA = 0000000000000000000000000000000000000000000000000000007fffffffff\nB = ffffffff00000001000000000000000000000000ffffffffffffff8000000000\n\nTest = Negate\nA = 000000000000000000000000000000000000000000000000000000ffffffffff\nB = ffffffff00000001000000000000000000000000ffffffffffffff0000000000\n\nTest = Negate\nA = 000000000000000000000000000000000000000000000000000001ffffffffff\nB = ffffffff00000001000000000000000000000000fffffffffffffe0000000000\n\nTest = Negate\nA = 000000000000000000000000000000000000000000000000000003ffffffffff\nB = ffffffff00000001000000000000000000000000fffffffffffffc0000000000\n\nTest = Negate\nA = 000000000000000000000000000000000000000000000000000007ffffffffff\nB = ffffffff00000001000000000000000000000000fffffffffffff80000000000\n\nTest = Negate\nA = 00000000000000000000000000000000000000000000000000000fffffffffff\nB = ffffffff00000001000000000000000000000000fffffffffffff00000000000\n\nTest = Negate\nA = 00000000000000000000000000000000000000000000000000001fffffffffff\nB = ffffffff00000001000000000000000000000000ffffffffffffe00000000000\n\nTest = Negate\nA = 00000000000000000000000000000000000000000000000000003fffffffffff\nB = ffffffff00000001000000000000000000000000ffffffffffffc00000000000\n\nTest = Negate\nA = 00000000000000000000000000000000000000000000000000007fffffffffff\nB = ffffffff00000001000000000000000000000000ffffffffffff800000000000\n\nTest = Negate\nA = 0000000000000000000000000000000000000000000000000000ffffffffffff\nB = ffffffff00000001000000000000000000000000ffffffffffff000000000000\n\nTest = Negate\nA = 0000000000000000000000000000000000000000000000000001ffffffffffff\nB = ffffffff00000001000000000000000000000000fffffffffffe000000000000\n\nTest = Negate\nA = 0000000000000000000000000000000000000000000000000003ffffffffffff\nB = ffffffff00000001000000000000000000000000fffffffffffc000000000000\n\nTest = Negate\nA = 0000000000000000000000000000000000000000000000000007ffffffffffff\nB = ffffffff00000001000000000000000000000000fffffffffff8000000000000\n\nTest = Negate\nA = 000000000000000000000000000000000000000000000000000fffffffffffff\nB = ffffffff00000001000000000000000000000000fffffffffff0000000000000\n\nTest = Negate\nA ", "= 000000000000000000000000000000000000000000000000001fffffffffffff\nB = ffffffff00000001000000000000000000000000ffffffffffe0000000000000\n\nTest = Negate\nA = 000000000000000000000000000000000000000000000000003fffffffffffff\nB = ffffffff00000001000000000000000000000000ffffffffffc0000000000000\n\nTest = Negate\nA = 000000000000000000000000000000000000000000000000007fffffffffffff\nB = ffffffff00000001000000000000000000000000ffffffffff80000000000000\n\nTest = Negate\nA = 00000000000000000000000000000000000000000000000000ffffffffffffff\nB = ffffffff00000001000000000000000000000000ffffffffff00000000000000\n\nTest = Negate\nA = 00000000000000000000000000000000000000000000000001ffffffffffffff\nB = ffffffff00000001000000000000000000000000fffffffffe00000000000000\n\nTest = Negate\nA = 00000000000000000000000000000000000000000000000003ffffffffffffff\nB = ffffffff00000001000000000000000000000000fffffffffc00000000000000\n\nTest = Negate\nA = 00000000000000000000000000000000000000000000000007ffffffffffffff\nB = ffffffff00000001000000000000000000000000fffffffff800000000000000\n\nTest = Negate\nA = 0000000000000000000000000000000000000000000000000fffffffffffffff\nB = ffffffff00000001000000000000000000000000fffffffff000000000000000\n\nTest = Negate\nA = 0000000000000000000000000000000000000000000000001fffffffffffffff\nB = ffffffff00000001000000000000000000000000ffffffffe000000000000000\n\nTest = Negate\nA = 0000000000000000000000000000000000000000000000003fffffffffffffff\nB = ffffffff00000001000000000000000000000000ffffffffc000000000000000\n\nTest = Negate\nA = 0000000000000000000000000000000000000000000000007fffffffffffffff\nB = ffffffff00000001000000000000000000000000ffffffff8000000000000000\n\nTest = Negate\nA = 000000000000000000000000000000000000000000000000ffffffffffffffff\nB = ffffffff00000001000000000000000000000000ffffffff0000000000000000\n\nTest = Negate\nA = 000000000000000000000000000000000000000000000001ffffffffffffffff\nB = ffffffff00000001000000000000000000000000fffffffe0000000000000000\n\nTest = Negate\nA = 000000000000000000000000000000000000000000000003ffffffffffffffff\nB = ffffffff00000001000000000000000000000000fffffffc0000000000000000\n\nTest = Negate\nA = 000000000000000000000000000000000000000000000007ffffffffffffffff\nB = ffffffff00000001000000000000000000000000fffffff80000000000000000\n\nTest = Negate\nA = 00000000000000000000000000000000000000000000000fffffffffffffffff\nB = ffffffff00000001000000000000000000000000fffffff00000000000000000\n\nTest = Negate\nA = 00000000000000000000000000000000000000000000001fffffffffffffffff\nB = ffffffff00000001000000000000000000000000ffffffe00000000000000000\n\nTest = Negate\nA = 00000000000000000000000000000000000000000000003fffffffffffffffff\nB = ffffffff00000001000000000000000000000000ffffffc00000000000000000\n\nTest = Negate\nA = 00000000000000000000000000000000000000000000007fffffffffffffffff\nB = ffffffff00000001000000000000000000000000ffffff800000000000000000\n\nTest = Negate\nA = 0000000000000000000000000000000000000000000000ffffffffffffffffff\nB = ffffffff00000001000000000000000000000000ffffff000000000000000000\n\nTest = Negate\nA = 0000000000000000000000000000000000000000000001ffffffffffffffffff\nB = ffffffff00000001000000000000000000000000fffffe000000000000000000\n\nTest = Negate\nA = 0000000000000000000000000000000000000000000003ffffffffffffffffff\nB = ffffffff00000001000000000000000000000000fffffc000000000000000000\n\nTest = Negate\nA = 0000000000000000000000000000000000000000000007ffffffffffffffffff\nB = ffffffff00000001000000000000000000000000fffff8000000000000000000\n\nTest = Negate\nA = 000000000000000000000000000000000000000000000fffffffffffffffffff\nB = ffffffff00000001000000000000000000000000fffff0000000000000000000\n\nTest = Negate\nA = 000000000000000000000000000000000000000000001fffffffffffffffffff\nB = ffffffff00000001000000000000000000000000ffffe0000000000000000000\n\nTest = Negate\nA = 000000000000000000000000000000000000000000003fffffffffffffffffff\nB = ffffffff00000001000000000000000000000000ffffc0000000000000000000\n\nTest = Negate\nA = 000000000000000000000000000000000000000000007fffffffffffffffffff\nB = ffffffff00000001000000000000000000000000ffff80000000000000000000\n\nTest = Negate\nA = 00000000000000000000000000000000000000000000ffffffffffffffffffff\nB = ffffffff00000001000000000000000000000000ffff00000000000000000000\n\nTest = Negate\nA = 00000000000000000000000000000000000000000001ffffffffffffffffffff\nB = ffffffff00000001000000000000000000000000fffe00000000000000000000\n\nTest = Negate\nA = 00000000000000000000000000000000000000000003ffffffffffffffffffff\nB = ffffffff00000001000000000000000000000000fffc00000000000000000000\n\nTest = Negate\nA = 00000000000000000000000000000000000000000007ffffffffffffffffffff\nB = ffffffff00000001000000000000000000000000fff800000000000000000000\n\nTest = Negate\nA = 0000000000000000000000000000000000000000000fffffffffffffffffffff\nB = ffffffff00000001000000000000000000000000fff000000000000000000000\n\nTest = Negate\nA = 0000000000000000000000000000000000000000001fffffffffffffffffffff\nB = ffffffff00000001000000000000000000000000ffe000000000000000000000\n\nTest = Negate\nA = 0000000000000000000000000000000000000000003fffffffffffffffffffff\nB = ffffffff00000001000000000000000000000000ffc000000000000000000000\n\nTest = Negate\nA = 0000000000000000000000000000000000000000007fffffffffffffffffffff\nB = ffffffff00000001000000000000000000000000ff8000000000000000000000\n\nTest = Negate\nA = 000000000000000000000000000000000000000000ffffffffffffffffffffff\nB = ffffffff00000001000000000000000000000000ff0000000000000000000000\n\nTest = Negate\nA = 000000000000000000000000000000000000000001ffffffffffffffffffffff\nB = ffffffff00000001000000000000000000000000fe0000000000000000000000\n\nTest = Negate\nA = 000000000000000000000000000000000000000003ffffffffffffffffffffff\nB = ffffffff00000001000000000000000000000000fc0000000000000000000000\n\nTest = Negate\nA = 000000000000000000000000000000000000000007ffffffffffffffffffffff\nB = ffffffff00000001000000000000000000000000f80000000000000000000000\n\nTest = Negate\nA = 00000000000000000000000000000000000000000fffffffffffffffffffffff\nB = ffffffff00000001000000000000000000000000f00000000000000000000000\n\nTest = Negate\nA = 00000000000000000000000000000000000000001fffffffffffffffffffffff\nB = ffffffff00000001000000000000000000000000e00000000000000000000000\n\nTest = Negate\nA = 00000000000000000000000000000000000000003fffffffffffffffffffffff\nB = ffffffff00000001000000000000000000000000c00000000000000000000000\n\nTest = Negate\nA = 00000000000000000000000000000000000000007fffffffffffffffffffffff\nB = ffffffff00000001000000000000000000000000800000000000000000000000\n\nTest = Negate\nA = 0000000000000000000000000000000000000000ffffffffffffffffffffffff\nB = ffffffff00000001000000000000000000000000000000000000000000000000\n\nTest = Negate\nA = 0000000000000000000000000000000000000001ffffffffffffffffffffffff\nB = ffffffff00000000ffffffffffffffffffffffff000000000000000000000000\n\nTest = Negate\nA = 0000000000000000000000000000000000000003ffffffffffffffffffffffff\nB = ffffffff00000000fffffffffffffffffffffffd000000000000000000000000\n\nTest = Negate\nA = 0000000000000000000000000000000000000007ffffffffffffffffffffffff\nB = ffffffff00000000fffffffffffffffffffffff9000000000000000000000000\n\nTest = Negate\nA = 000000000000000000000000000000000000000fffffffffffffffffffffffff\nB = ffffffff00000000fffffffffffffffffffffff1000000000000000000000000\n\nTest = Negate\nA = 000000000000000000000000000000000000001fffffffffffffffffffffffff\nB = ffffffff00000000ffffffffffffffffffffffe1000000000000000000000000\n\nTest = Negate\nA = 000000000000000000000000000000000000003fffffffffffffffffffffffff\nB = ffffffff00000000ffffffffffffffffffffffc1000000000000000000000000\n\nTest = Negate\nA = 000000000000000000000000000000000000007fffffffffffffffffffffffff\nB = ffffffff00000000ffffffffffffffffffffff81000000000000000000000000\n\nTest = Negate\nA = 00000000000000000000000000000000000000ffffffffffffffffffffffffff\nB = ffffffff00000000ffffffffffffffffffffff01000000000000000000000000\n\nTest = Negate\nA = 00000000000000000000000000000000000001ffffffffffffffffffffffffff\nB = ffffffff00000000fffffffffffffffffffffe01000000000000000000000000\n\nTest = Negate\nA = 00000000000000000000000000000000000003ffffffffffffffffffffffffff\nB = ffffffff0000", "0000fffffffffffffffffffffc01000000000000000000000000\n\nTest = Negate\nA = 00000000000000000000000000000000000007ffffffffffffffffffffffffff\nB = ffffffff00000000fffffffffffffffffffff801000000000000000000000000\n\nTest = Negate\nA = 0000000000000000000000000000000000000fffffffffffffffffffffffffff\nB = ffffffff00000000fffffffffffffffffffff001000000000000000000000000\n\nTest = Negate\nA = 0000000000000000000000000000000000001fffffffffffffffffffffffffff\nB = ffffffff00000000ffffffffffffffffffffe001000000000000000000000000\n\nTest = Negate\nA = 0000000000000000000000000000000000003fffffffffffffffffffffffffff\nB = ffffffff00000000ffffffffffffffffffffc001000000000000000000000000\n\nTest = Negate\nA = 0000000000000000000000000000000000007fffffffffffffffffffffffffff\nB = ffffffff00000000ffffffffffffffffffff8001000000000000000000000000\n\nTest = Negate\nA = 000000000000000000000000000000000000ffffffffffffffffffffffffffff\nB = ffffffff00000000ffffffffffffffffffff0001000000000000000000000000\n\nTest = Negate\nA = 000000000000000000000000000000000001ffffffffffffffffffffffffffff\nB = ffffffff00000000fffffffffffffffffffe0001000000000000000000000000\n\nTest = Negate\nA = 000000000000000000000000000000000003ffffffffffffffffffffffffffff\nB = ffffffff00000000fffffffffffffffffffc0001000000000000000000000000\n\nTest = Negate\nA = 000000000000000000000000000000000007ffffffffffffffffffffffffffff\nB = ffffffff00000000fffffffffffffffffff80001000000000000000000000000\n\nTest = Negate\nA = 00000000000000000000000000000000000fffffffffffffffffffffffffffff\nB = ffffffff00000000fffffffffffffffffff00001000000000000000000000000\n\nTest = Negate\nA = 00000000000000000000000000000000001fffffffffffffffffffffffffffff\nB = ffffffff00000000ffffffffffffffffffe00001000000000000000000000000\n\nTest = Negate\nA = 00000000000000000000000000000000003fffffffffffffffffffffffffffff\nB = ffffffff00000000ffffffffffffffffffc00001000000000000000000000000\n\nTest = Negate\nA = 00000000000000000000000000000000007fffffffffffffffffffffffffffff\nB = ffffffff00000000ffffffffffffffffff800001000000000000000000000000\n\nTest = Negate\nA = 0000000000000000000000000000000000ffffffffffffffffffffffffffffff\nB = ffffffff00000000ffffffffffffffffff000001000000000000000000000000\n\nTest = Negate\nA = 0000000000000000000000000000000001ffffffffffffffffffffffffffffff\nB = ffffffff00000000fffffffffffffffffe000001000000000000000000000000\n\nTest = Negate\nA = 0000000000000000000000000000000003ffffffffffffffffffffffffffffff\nB = ffffffff00000000fffffffffffffffffc000001000000000000000000000000\n\nTest = Negate\nA = 0000000000000000000000000000000007ffffffffffffffffffffffffffffff\nB = ffffffff00000000fffffffffffffffff8000001000000000000000000000000\n\nTest = Negate\nA = 000000000000000000000000000000000fffffffffffffffffffffffffffffff\nB = ffffffff00000000fffffffffffffffff0000001000000000000000000000000\n\nTest = Negate\nA = 000000000000000000000000000000001fffffffffffffffffffffffffffffff\nB = ffffffff00000000ffffffffffffffffe0000001000000000000000000000000\n\nTest = Negate\nA = 000000000000000000000000000000003fffffffffffffffffffffffffffffff\nB = ffffffff00000000ffffffffffffffffc0000001000000000000000000000000\n\nTest = Negate\nA = 000000000000000000000000000000007fffffffffffffffffffffffffffffff\nB = ffffffff00000000ffffffffffffffff80000001000000000000000000000000\n\nTest = Negate\nA = 00000000000000000000000000000000ffffffffffffffffffffffffffffffff\nB = ffffffff00000000ffffffffffffffff00000001000000000000000000000000\n\nTest = Negate\nA = 00000000000000000000000000000001ffffffffffffffffffffffffffffffff\nB = ffffffff00000000fffffffffffffffe00000001000000000000000000000000\n\nTest = Negate\nA = 00000000000000000000000000000003ffffffffffffffffffffffffffffffff\nB = ffffffff00000000fffffffffffffffc00000001000000000000000000000000\n\nTest = Negate\nA = 00000000000000000000000000000007ffffffffffffffffffffffffffffffff\nB = ffffffff00000000fffffffffffffff800000001000000000000000000000000\n\nTest = Negate\nA = 0000000000000000000000000000000fffffffffffffffffffffffffffffffff\nB = ffffffff00000000fffffffffffffff000000001000000000000000000000000\n\nTest = Negate\nA = 0000000000000000000000000000001fffffffffffffffffffffffffffffffff\nB = ffffffff00000000ffffffffffffffe000000001000000000000000000000000\n\nTest = Negate\nA = 0000000000000000000000000000003fffffffffffffffffffffffffffffffff\nB = ffffffff00000000ffffffffffffffc000000001000000000000000000000000\n\nTest = Negate\nA = 0000000000000000000000000000007fffffffffffffffffffffffffffffffff\nB = ffffffff00000000ffffffffffffff8000000001000000000000000000000000\n\nTest = Negate\nA = 000000000000000000000000000000ffffffffffffffffffffffffffffffffff\nB = ffffffff00000000ffffffffffffff0000000001000000000000000000000000\n\nTest = Negate\nA = 000000000000000000000000000001ffffffffffffffffffffffffffffffffff\nB = ffffffff00000000fffffffffffffe0000000001000000000000000000000000\n\nTest = Negate\nA = 000000000000000000000000000003ffffffffffffffffffffffffffffffffff\nB = ffffffff00000000fffffffffffffc0000000001000000000000000000000000\n\nTest = Negate\nA = 000000000000000000000000000007ffffffffffffffffffffffffffffffffff\nB = ffffffff00000000fffffffffffff80000000001000000000000000000000000\n\nTest = Negate\nA = 00000000000000000000000000000fffffffffffffffffffffffffffffffffff\nB = ffffffff00000000fffffffffffff00000000001000000000000000000000000\n\nTest = Negate\nA = 00000000000000000000000000001fffffffffffffffffffffffffffffffffff\nB = ffffffff00000000ffffffffffffe00000000001000000000000000000000000\n\nTest = Negate\nA = 00000000000000000000000000003fffffffffffffffffffffffffffffffffff\nB = ffffffff00000000ffffffffffffc00000000001000000000000000000000000\n\nTest = Negate\nA = 00000000000000000000000000007fffffffffffffffffffffffffffffffffff\nB = ffffffff00000000ffffffffffff800000000001000000000000000000000000\n\nTest = Negate\nA = 0000000000000000000000000000ffffffffffffffffffffffffffffffffffff\nB = ffffffff00000000ffffffffffff000000000001000000000000000000000000\n\nTest = Negate\nA = 0000000000000000000000000001ffffffffffffffffffffffffffffffffffff\nB = ffffffff00000000fffffffffffe000000000001000000000000000000000000\n\nTest = Negate\nA = 0000000000000000000000000003ffffffffffffffffffffffffffffffffffff\nB = ffffffff00000000fffffffffffc000000000001000000000000000000000000\n\nTest = Negate\nA = 0000000000000000000000000007ffffffffffffffffffffffffffffffffffff\nB = ffffffff00000000fffffffffff8000000000001000000000000000000000000\n\nTest = Negate\nA = 000000000000000000000000000fffffffffffffffffffffffffffffffffffff\nB = ffffffff00000000fffffffffff0000000000001000000000000000000000000\n\nTest = Negate\nA = 000000000000000000000000001fffffffffffffffffffffffffffffffffffff\nB = ffffffff00000000ffffffffffe0000000000001000000000000000000000000\n\nTest = Negate\nA = 000000000000000000000000003fffffffffffffffffffffffffffffffffffff\nB = ffffffff00000000ffffffffffc0000000000001000000000000000000000000\n\nTest = Negate\nA = 000000000000000000000000007fffffffffffffffffffffffffffffffffffff\nB = ffffffff00000000ffffffffff80000000000001000000000000000000000000\n\nTest = Negate\nA = 00000000000000000000000000ffffffffffffffffffffffffffffffffffffff\nB = ffffffff00000000ffffffffff00000000000001000000000000000000000000\n\nTest = Negate\nA = 00000000000000000000000001ffffffffffffffffffffffffffffffffffffff\nB = ffffffff00000000fffffffffe00000000000001000000000000000000000000\n\nTest = Negate\nA = 00000000000000000000000003ffffffffffffffffffffffffffffffffffffff\nB = ffffffff00000000fffffffffc00000000000001000000000000000000000000\n\nTest = Negate\nA = 00000000000000000000000007ffffffffffffffffffffffffffffffffffffff\nB = ffffffff00000000fffffffff800000000000001000000000000000000000000\n\nTest = Negate\nA = 0000000000000000000000000fffffffffffffffffffffffffffffffffffffff\nB = ffffffff00000000fffffffff000000000000001000000000000000000000000\n\nTest = Negate\nA = 0000000000000000000000001fffffffffffffffffffffffffffffffffffffff\nB = ffffffff00000000ffffffffe000000000000001000000000000000000000000\n\nTest = Negate\nA = 0000000000000000000000003fffffffffffffffffffffffffffffffffffffff\nB = ffffffff00000000ffffffffc000000000000001000000000000000000000000\n\nTest = Negate\nA = 0000000000000000000000007fffffffffffffffffffffffffffffffffffffff\nB = ffffffff00000000ffffffff8000000000000001000000000000000000000000\n\nTest = Negate\nA = 00000000000", @@ -2657,9 +2744,9 @@ static const char *kData41[] = { "0000000000000000000000000\nResult.Y = 0000000000000000000000000000000000000000000000000000000000000000\n\n# Test some random Jacobian sums.\nTest = PointAdd\nA.X = cb8dea3327057fe69b5159e0323e60486cda3400545f7e2c60559ac7c8d0d89d\nA.Y = 553de89b31719830c3c3300aa8ad50ea81f40762a4f33ccf81a2d3bcc93a2d53\nA.Z = 4589e40df2efc546b2572c1f45eda26fc191b8d56376f2063fd9470fb277d181\nB.X = 32ad56497c6c6e8399de6814efd21b3eb949bb80dab578073cf0b0aa92054341\nB.Y = 57b33b7acfeee75ef6a31eb7ca0244b375f2d0962a3ce65c06afaa02688399e0\nB.Z = 337d5e1ec2fc711b12fd6c7a51a2f474a922cb107f592b657617d2e0b4f1d35f\nResult.X = 120c6ddd6f8ebc798c5740005bad5a2586575202df9cc3dd07401fe84d8cfdd4\nResult.Y = 966bc89126349ce41738be691f32c1a068e54a654ab2cb0eac39ef15ee17f0df\n\nTest = PointAdd\nA.X = a858b5249026ccc4d25fbd85db17826afa3c5963c26815cbf8511d84dce62a25\nA.Y = bd753e125579388da968036d50067fe0e8eccb531c4d6f1a69c61bc8259c6d76\nA.Z = 82f9cdd9abf991ac27f0caa494b7b7b2851cc6591c6362ef02d1bd2c33fd116c\nB.X = 3e5790fd7ff28a376586c8ef5625b906f2d5d7e6656191f5a530154eecd4c988\nB.Y = 6e6c91011cc5996a7db4e5539eee635ce84780a85a17778da06353048fdf6bd3\nB.Z = a9ef3402e9f15e7a91aef4a53431b2b2068914e4a09ebdafc8aa654351f32331\nResult.X = de9d6bb4dfdee64193d3eaebb9208a86e764b80e1459fd10a2e01c202e33c5e2\nResult.Y = 370e67dbb7cfa6b79adaeec48b1535f0c329856401102d546c695d0dfe1d0db5\n\nTest = PointAdd\nA.X = a2d85e21bf520691b397ac9e0c1360218cef96a8a6f4c2b24d21791360ce4d9e\nA.Y = 0cc1c5493edf586cd24f7a9f40185c1ceefa727369ed159a9fc09b700ba64f78\nA.Z = ad3083a5bd23ee1fdbd3a25abdee815052209bb1a8b22d3f7d8600442b760a61\nB.X = 7d8850dafe2c48d86b6c3f3f44453670aa7169712238d024dbd08cb4e95b9cc1\nB.Y = 6a2698c143609306fe2c402acdf26e3b42874f5ae3ea2e95898c305e791984b8\nB.Z = c81bc8988c6edabf4a03fcc456ce0c445e225c33b76a79552af0b818350ad6b0\nResult.X = 67c5f8af069b5a5636647eee50da847dff8f5f6ef71780a5d1330453db5c8a04\nResult.Y = cec9200fa541b602d94c694f1289d1d073e64f47054baa40a9921c20ca090643\n\nTest = PointAdd\nA.X = 4f9a035ffeddcc36846906cacc812ffae7f3110fe46bf7da12d0b19ec54c3873\nA.Y = 73539ed620938543f94c358dba87319dca40ae4d13d0a888527f007d26d73d74\nA.Z = 922e97056fbf12d89984346368087375560990c3fb2f337d9f46429f2022d634\nB.X = de6fa333804b1da9f046896634e498d5f456288f8f03cc41fc7ba4b1e978429a\nB.Y = fd45f1d5e905c448b947fd65bc2897928d6014425c8c502a1b2838ba882f5813\nB.Z = 50bb4c98bce36b8aad5662b8db35428bb5c1f298e17347caa5d4f542f278a1d9\nResult.X = 5c3cb05b52ec59f3cbb666b0059163afae885676cf81d64cadc943a1c0bb3a86\nResult.Y = 2871d088271faa9258e60ff28115f72294b938ef3d7b927e59177f9b41d5747e\n\n# Test some random Jacobian doublings.\nTest = PointAdd\nA.X = 75da62f76d1887e18a06483bb6b53c3ec42879ed73b7851ed4748e307653714c\nA.Y = a6f0d0d3bb492bf488d99d549aff3f0c3a48f0c35a5931578fe697b8c5f486f7\nA.Z = 6d6a50229164869f24865148a19a24d57d94ebd09dc06b5e4fc3946a95f9124f\nB.X = 3b225af8c7b6155d66061c75a03d23d94e01a2167fa7f44c5bd1e9d9c48c7421\nB.Y = af58b0e38531d1e08187c61a36b33693ef534ecae23dca4542667d93f1844d75\nB.Z = 86ed2be859c4af1d5cf99041840f3bcb7c9b8e8986811393c96e8bf57fcad872\nResult.X = ab0f931fb86a621102e67336eadcf01afe3127aeaf5b4f89e8f34628c8e1afd9\nResult.Y = 52c50e2783d69dde29d6bc75fa359ffe72e7115c2fc89a9699a499cac25e3383\n\nTest = PointAdd\nA.X = f0d499f2e3775de88ed997feeb4589506f061f93766abb0c1251d25630c4c24d\nA.Y = e8de27c3369ba718adbab5597fbaad9581f5b59ae3b758e7d664bae81d895be4\nA.Z = c62dc820a597f75518734f12b2d3c076e5b872303e37b3663636912ade79c058\nB.X = c2845b3faaa995eb88e13a44b08d8a6fdb37103f7bbcc585302c9d090be3fc5b\nB.Y = 733e5ef1b0314754b70b5b98da63cbb7475918ddb85a715e21aade0c2f2e5611\nB.Z = b8505e4a057d108b49f5d0b20884674be18bba48bbc37f765c2c32c5cc4aba5d\nResult.X = 266f2961b9352b44e61902a235b33f766f82f8199c176920dae25ad2cbad5cc9\nResult.Y = 8560e62047908b13c4247b7e4d2657f2bdecab41e73c846ba18523e5f2918a9b\n\nTest = PointAdd\nA.X = f0ca07297738d8687bffcd3f1433966241f437fa1c3381cf2d13f0fc714bc83a\nA.Y = 1181b9d61c6982e743f1c32de5d14da745290ecaf27297c36ff3ef20a7526a55\nA.Z = 93159618ca5a9f9240df7016ddc983e046126d1290e14478dfcc6a4bae9090bd\nB.X = 3a2d75803ccad665f6b785c828eaa96821cb0e81979641b9e59b5fd488fcc755\nB.Y = 99e7f820abdbcdda23d90a88788e30d67303dac86987816dbbed447431e33f3f\nB.Z = a870186c8137cdbd247d16f3aa18782de1e4c5848f49da3437223eb13d7a9ae2\nResult.X = 36a104368d39214d5a3a1a348a1de1389d1aa23009aee37464b5b3256ed4b28c\nResult.Y = da5b14dbd75f6c333929bdff88e53af7253c27e166e15ead6d778631036b7d38\n\nTest = PointAdd\nA.X = a6256508926caca56a31414aba2d5f5b04dcabdb065352a572e215b043df6e01\nA.Y = e6567d330ffb11a86ec29b406b8e3d5cce8ca46f55f38515d842dd856d6852dd\nA.Z = ec172618c8cdbfc0f4fd6dffb77858bb292f229e6d10b5c70d0d9ba75fa3ab44\nB.X = 0251f6715dbba02e6072c12ab1f89a562d35ed0ff68e021b3b5276b9faf57c52\nB.Y = d2d74ff4740ad968fa7e816bc2178458efee797669bef2e634e2857de1658e62\nB.Z = abbecea633d31f569297a4a9ec28f708c7a097cb2423ebaca66ac0e42b1c8ee4\nResult.X = d2a071d4dd72ad7e63834b58b23c4a034ed7950f5c80fad51bf96959b535d55b\nResult.Y = 3cb8dcbe25f49099b9d8dd1a9cb6073368bf6556130f2aa02637dfcff430e869\n\n# Test some random affine sums.\nTest = PointAdd\nA.X = fabada657e477f088883b2987042e595559d669de3a047b27e3ad339fb3fa5f0\nA.Y = 0551992531a68d55a8409d8466034f02808637610ce6d6bcd9cfceb8da1c3e85\nA.Z = 00000000fffffffeffffffffffffffffffffffff000000000000000000000001\nB.X = 3a831cf2b316ce371994a5622e31749407fdf59660dc88322d14c37ebb2d68d2\nB.Y = 849c511908abdfa2bcadc43f9beae88052fdb00573c783fbb1b34b99687b9a6b\nB.Z = 00000000fffffffeffffffffffffffffffffffff000000000000000000000001\nResult.X = d5dc9241b457d33b9bda849fb7aba8baaff8b6eea92974a8adf4b95fbfa849f0\nResult.Y = 089a66780811a8ce455c139c4bea6c5c16234c095a41b9e31c617689bdc6bd0f\n\nTest = PointAdd\nA.X = 9dfe6299e62453bb943356b6f7d90c8b6c646728ba3550bb7c1548f2ba5920cb\nA.Y = 60a4e342a89837c0e7d61c0e3e88a943633028f5260eff6af5ae8a6063f7a5da\nA.Z = 00000000fffffffeffffffffffffffffffffffff000000000000000000000001\nB.X = 924d7305f867afecd3cc550f4c05c83a2b4c981ba0e7ff20fd2035fabe2ccc92\nB.Y = 73934620746c23be03a40edb0662c09ef1776506bd50d6397c2654d340629bf5\nB.Z = 00000000fffffffeffffffffffffffffffffffff000000000000000000000001\nResult.X = 7384f658ccbe08afcf6b423bfdd092a8a95b03d81254a519b31517b9b9670155\nResult.Y = e922a56146b94776f805a0fbdee9084dd87be1df54f76145bf83e07cd31a083a\n\nTest = PointAdd\nA.X = 9b6642b661f06c5b3ef2a0950b3c03d35f42d3d0dcbe105a895f40132c40bd9e\nA.Y = 90cbe0ed40e47923257f064886f1e309a310cb82fc21282f8e8fa4f6c975aed6\nA.Z = 00000000fffffffeffffffffffffffffffffffff000000000000000000000001\nB.X = 587f6b4c4bb3ab3d59ba8d31457615b3df9f9f9466df3563f4419db731f494ea\nB.Y = 38135b314572346439c8d4535b892a26e5da650ae1dc9ac2d5aeb85ade24174f\nB.Z = 00000000fffffffeffffffffffffffffffffffff000000000000000000000001\nResult.X = 97e94b6d485f8de6779e4ad19cc7bede6d70ff4853a56eb6d5fd4e5caac60858\nResult.Y = 303bf4d62cf569370ae5393fac46b64efe98ee8222b9982bc3dc61b8e32411c5\n\nTest = PointAdd\nA.X = da49658b6c64fc7a7441b177987abbbdbfcfc3c2c569ed97696d706f7af91ca0\nA.Y = 9a66906a6e313603e9d78f99fbbda837e521e75bbbad9455ffd43f51f5e30ee5\nA.Z = 00000000fffffffeffffffffffffffffffffffff000000000000000000000001\nB.X = fe32e5885d0005fa1962166142d2aea201af9c4ca41cdddc5446dc2472f71f42\nB.Y = a2f9b4d35ea19303a101034e96870a7caed371a980965bf86291b03b5c85af60\nB.Z = 00000000fffffffeffffffffffffffffffffffff000000000000000000000001\nResult.X = 5375c5ea3e33c1862ca5f09322ce2012c2b4fbee9a299b66e4882e016908cc2a\nResult.Y = 936e4f12ed144cf6fcd0ab085a4929e5e3e7c28641692b1fc2ad9a3b3d447b31\n\n# Test some random affine doublings.\nTest = PointAdd\nA.X = b148cad109d4b24342eb3a03ccaa10dfd6101edf9548b1d1442b61982a4e332c\nA.Y = 7daac293162a8ee2592529630f5bd1eae96659d27c045898d33833999cd076ba\nA.Z = 00000000fffffffeffffffffffffffffffffffff000000000000000000000001\nB.X = b148cad109d4b24342eb3a03ccaa10dfd6101edf9548b1d1442b61982a4e332c\nB.Y = 7daac293162a8ee2592529630f5bd1eae96659d27c045898d33833999cd076ba\nB.Z = 00000000fffffffeffffffffffffffffffffffff000000000000000000000001\nResult.X = ad00fae6ab0898f7d5eeeffe8c94b302060fba2b191a2d342a8a302998ebe566\nResult.Y = 9ee46ba864901cad75169cdea023d7e64da39315e2fec1703fad6b613eb24006\n\nTest = PointAdd\nA.X = f21318618205f4967c4f47c9bc3cea41e144dc01830d087414da8dcb16d37cb3\nA.Y = 76cebf81ecc696024fe949191dc49b245ef8cc0d55ada88abf481ddad9eb6129\nA.Z = 00000000fffffffeffffffffffffffffffffffff00000000", "0000000000000001\nB.X = f21318618205f4967c4f47c9bc3cea41e144dc01830d087414da8dcb16d37cb3\nB.Y = 76cebf81ecc696024fe949191dc49b245ef8cc0d55ada88abf481ddad9eb6129\nB.Z = 00000000fffffffeffffffffffffffffffffffff000000000000000000000001\nResult.X = ad8e13b721bcbfc0fe629465cda5fee3494785d51dbe65f1e13429f52c83f03e\nResult.Y = 85722e168d89543dce293428e75d52765d0935bde2ef5c45a088222db0dbbeb5\n\nTest = PointAdd\nA.X = 8797ff95334b238dadf0cb3d4dc9350678f4c7fc520089ecb70ab419510f2331\nA.Y = 326c7583d54dde377fa9193c8588912c4db2219e1bb383ab13902187e5ef76ce\nA.Z = 00000000fffffffeffffffffffffffffffffffff000000000000000000000001\nB.X = 8797ff95334b238dadf0cb3d4dc9350678f4c7fc520089ecb70ab419510f2331\nB.Y = 326c7583d54dde377fa9193c8588912c4db2219e1bb383ab13902187e5ef76ce\nB.Z = 00000000fffffffeffffffffffffffffffffffff000000000000000000000001\nResult.X = e91c8ec9611de8e44e0d882df59f4fae8d15e3867858fb155256a4a2f154bbc4\nResult.Y = c12be21033c6dcea7e7d7262c47876d099aead75d8b025e45ce7986193fc6f8a\n\nTest = PointAdd\nA.X = 2f4cba9543c9537e393f126e31bedb521dc0a74a940e731800e5e39cdece355d\nA.Y = 1a0957898b746b7dbc9245acd0c6df9e6adca4d8537454c9f318a8ce7c3875c4\nA.Z = 00000000fffffffeffffffffffffffffffffffff000000000000000000000001\nB.X = 2f4cba9543c9537e393f126e31bedb521dc0a74a940e731800e5e39cdece355d\nB.Y = 1a0957898b746b7dbc9245acd0c6df9e6adca4d8537454c9f318a8ce7c3875c4\nB.Z = 00000000fffffffeffffffffffffffffffffffff000000000000000000000001\nResult.X = 5cdc40808120b68e3131bd6ed70a5ce6618f960e4d540baa582afc71be97c65d\nResult.Y = 1926a2c9f5b2d3d1dff784623fe6efe2ac629395101d38db0eff5e540bfeacb0\n\n\n# Scalar montgomery multiplication tests.\n#\n# The following tests satisfy A * B * 2^-256 = Result (mod N).\n\nTest = OrdMulMont\nA = 0000000000000000000000000000000000000000000000000000000000000000\nB = b4e9b0aea84aa5ed86964a22881a4d0e58f88e9225f30990c18751e7d4b9ec95\nResult = 0000000000000000000000000000000000000000000000000000000000000000\n\nTest = OrdMulMont\nA = 00000000ffffffff00000000000000004319055258e8617b0c46353d039cdaaf\nB = 5d24e62244973fbd829573d5a579b4e89a6512933a2c3d255bbdbc1c89028323\nResult = 5d24e62244973fbd829573d5a579b4e89a6512933a2c3d255bbdbc1c89028323\n\nTest = OrdMulMont\nA = ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550\nB = abafdc695e4c2c850f8fc60f1efdbf7406a3cd2c6c59bb7e608985723896c187\nResult = 917b1214c7b31a7ee7e53be0b41a139e435ff576b51ec6af1e1a944412bea38b\n\nTest = OrdMulMont\nA = cf0f01b83670a1c79154ea16f3574ca2d4c688a3c3b6017795cbe54854418904\nB = c5ec4d3b00fb2e11fb3b1aa09e60f7d187f7c515977d1343dab9745961fcbb43\nResult = 7aaddcee32e3b340af5ad06f854284cbbce5a1ab919e9b7771c3b0e937093438\n\nTest = OrdMulMont\nA = 50023f9913879ac4020bc45a89a0ea89082db6265b96b851af29969dd8a9661c\nB = 7c165b1cba80808db114441563aa0fbfba41b9e8acff77312a2dd2138b74ef89\nResult = 3d2ca1705d8d38cbc76a5409c6535044733cafcb95d12654af1d14de177978b5\n\nTest = OrdMulMont\nA = 4d5341ea735e53d2e4f2934755642adee209bd0e5a1506206513227f3c48b270\nB = 6e48f2b60eb8fb86760134abaf3d61692557862924069c599ceb31309ea18704\nResult = 37cde3e35c814d4287bd345b910d687983929907b7a08afa2acd8596832ea86c\n\nTest = OrdMulMont\nA = 33d06c3f5a595a41a6f9c4356f8ab2b8c550d4c64b806eab5560af247c5fa9ed\nB = 0e52f34adf5754343bcf3529d652620da3c05b5dd9cdcddfb08b674a1ad21a09\nResult = 9dc64d7b4c1bc33b930e0daee2a24fc41f770378659ee71b846d2239b0fea8ea\n\nTest = OrdMulMont\nA = 8f211780cce4f93b7193b9378e6f83e1147fb3602b052eef782de8cc833e54ab\nB = e1e4f7f1feb15be64292cff86b47cd9730bcb15b133340022b824d591a660cdf\nResult = dfa2b683b1ae23027c7c109e0abb40a1366eda027ad2cad1a09061a57bee391f\n\nTest = OrdMulMont\nA = 803c279c7e4c11a5568290c0a5789ceab6860f51a942bf646501a45e1ec0a6bf\nB = c0a1145a12037129c571f5f939bf16ea0b8b480f08ec774c045d059841f7d5ed\nResult = ab48fa3b4aa692a7c077cc55ee3c3fff895118a23728c2fa5f361b30730d955a\n\nTest = OrdMulMont\nA = 0e5c95158297d75dbf0b02c3090730f65bf14704495b14837dd907af569407f1\nB = 5a03e3787c8772b2fb7ab07d7fe7fe653a58bdae7fde3174c6ed305e524f5728\nResult = 71296d305dcf9ce39010ea4f4bbf9f7c1064a413597bdc7574c13dea3fa514dc\n\nTest = OrdMulMont\nA = 366299be07886f7846fc74231db624b169360e3c8f60196a1afc9f2101e03922\nB = d6d7c830a6edb6861868b964519a6b68f6f24f7c09d66003f3f88eadd1e00158\nResult = 0b89596bf5054ebe95a39dab6e975b58190160610b09b2a4f93331ecc0e79fd3\n\nTest = OrdMulMont\nA = 8f36f0ef275a72192c3b7388e84df2b8acf66fc53aaf556e3be05c76b3f782c0\nB = 704e519363d44e8df8d91f5f347eb61e8d3e85c8fc1b82980c370a379b2bc81c\nResult = b70a392e3ce5e85b5efbbded9b8c16a3068ba9b93b4cbed9a9a71dffaad6b58a\n\nTest = OrdMulMont\nA = bf4466ef4dea9f06f0f3b4f14e01140a774262c7e0706584f4d7dac19be46d58\nB = 4af12d528b2cef0f6714961bca2ab682f8abaa97600ea8181f71563d56f8a9f5\nResult = 7b6827c0881b9846e32499e13277efb07917cf4b8c8c72bfb3daa8c1786a8e15\n\n\n# Test cases where A == B to test squaring.\n\nTest = OrdMulMont\nA = 0000000000000000000000000000000000000000000000000000000000000000\nB = 0000000000000000000000000000000000000000000000000000000000000000\nResult = 0000000000000000000000000000000000000000000000000000000000000000\n\nTest = OrdMulMont\nA = 00000000ffffffff00000000000000004319055258e8617b0c46353d039cdaaf\nB = 00000000ffffffff00000000000000004319055258e8617b0c46353d039cdaaf\nResult = 00000000ffffffff00000000000000004319055258e8617b0c46353d039cdaaf\n\nTest = OrdMulMont\nA = ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550\nB = ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550\nResult = 60d066334905c1e907f8b6041e607725badef3e243566fafce1bc8f79c197c79\n\nTest = OrdMulMont\nA = da43b8dd7fe8830a4fe8980ec585ccbe903a2965a695cdff398200b74b2ede41\nB = da43b8dd7fe8830a4fe8980ec585ccbe903a2965a695cdff398200b74b2ede41\nResult = 5ec68604412205b380e26ee4e4081eccc10ac7d1417b09cd534f8517b0de81ec\n\nTest = OrdMulMont\nA = a82a2b8bdbf8a37dc7cb5799691494a8c9fbf649686a4d250dc30697feb0fa47\nB = a82a2b8bdbf8a37dc7cb5799691494a8c9fbf649686a4d250dc30697feb0fa47\nResult = 552c094a8841621d6cc26b3b54ce5da5664283888445196a6433d3cfdcad3aee\n\nTest = OrdMulMont\nA = d785006e250410d9dcc6d7740795a7374c25b00b9c9a37b8285694a07307eacd\nB = d785006e250410d9dcc6d7740795a7374c25b00b9c9a37b8285694a07307eacd\nResult = 971aaa9e70ad082cf43725f2e65bc73f4bf762459cee13167545072ec7bdcaf8\n\nTest = OrdMulMont\nA = 69d6d9f5417e87d603a3fb6acafa0d1f974abf94ca57ce58d718a0ad5d02a496\nB = 69d6d9f5417e87d603a3fb6acafa0d1f974abf94ca57ce58d718a0ad5d02a496\nResult = eb3284e5799fbe93171f08e6de9f792cd17f036b3a17671b0310e49b48e589b3\n\nTest = OrdMulMont\nA = 1c28f742c3e26e74901d0425f2eb4d5272524668d2405875b32cf6433f212900\nB = 1c28f742c3e26e74901d0425f2eb4d5272524668d2405875b32cf6433f212900\nResult = 74f70a95399b7ad061a2200fa50528d68eee4654341c8158101e1e3f8f16e642\n\nTest = OrdMulMont\nA = 026b2f69f0259d221920b2f358b378a79826f0332ee36afa257765043e3d6732\nB = 026b2f69f0259d221920b2f358b378a79826f0332ee36afa257765043e3d6732\nResult = e1e9cfa4724995bb50971ca22f3c028cd31cb51fbef8a37c31f10fd1d468f13b\n\nTest = OrdMulMont\nA = 376ed4fadcc1c6c4160a0c9c2ab7c62260367968b08d304d47c65f25625d7d60\nB = 376ed4fadcc1c6c4160a0c9c2ab7c62260367968b08d304d47c65f25625d7d60\nResult = b9ccb67f377e1278f1d2eeda26e5eed76f32406c9deed9764fc0aa346d91e02b\n\nTest = OrdMulMont\nA = 50f66867d0a4ef389678d760d2a4db886583b4c068d0e240f7ddf3472c871304\nB = 50f66867d0a4ef389678d760d2a4db886583b4c068d0e240f7ddf3472c871304\nResult = 82c3467bc5f7ca8b45f4ee61546745e2f53755a02e87f65f572418d60e471c8b\n\nTest = OrdMulMont\nA = 5b8bd82b37206d2b727f19ad2d02f63773470074dde7d43d2a77c448ddf2f978\nB = 5b8bd82b37206d2b727f19ad2d02f63773470074dde7d43d2a77c448ddf2f978\nResult = dbf3c2fc67a0688c3b5ff12cab1739d50b6093c5d98943d388652b1207e4a0f2\n\nTest = OrdMulMont\nA = bed7b3a4dada0e16984eb59ee239005ab212e5b1772cdd5d240c8ee268f65c81\nB = bed7b3a4dada0e16984eb59ee239005ab212e5b1772cdd5d240c8ee268f65c81\nResult = 9232aa2759ca9c5efbaefb0cf45cc6bc9c89def8c25e5c169fe623f30787df36\n", }; -static const size_t kLen42 = 169648; +static const size_t kLen44 = 169648; -static const char *kData42[] = { +static const char *kData44[] = { "# Tests from NIST CAVP 186-4 ECDSA2VS Test Vectors, Signature Generation Test\n# http://csrc.nist.gov/groups/STM/cavp/documents/dss/186-3ecdsatestvectors.zip\n#\n# NIST's files provide message and digest pairs. Since this is a low-level test,\n# the digests have been extracted. P-521 test vectors were fixed to have the\n# right number of leading zeros.\n\nCurve = P-224\nPrivate = 16797b5c0c7ed5461e2ff1b88e6eafa03c0f46bf072000dfc830d615\nX = 605495756e6e88f1d07ae5f98787af9b4da8a641d1a9492a12174eab\nY = f5cc733b17decc806ef1df861a42505d0af9ef7c3df3959b8dfc6669\nDigest = 07eb2a50bf70eee87467600614a490e7600437d077ec651a27e65e67\nK = d9a5a7328117f48b4b8dd8c17dae722e756b3ff64bd29a527137eec0\nR = 2fc2cff8cdd4866b1d74e45b07d333af46b7af0888049d0fdbc7b0d6\nS = 8d9cc4c8ea93e0fd9d6431b9a1fd99b88f281793396321b11dac41eb\n\nCurve = P-224\nPrivate = cf020a1ff36c28511191482ed1e5259c60d383606c581948c3fbe2c5\nX = fa21f85b99d3dc18c6d53351fbcb1e2d029c00fa7d1663a3dd94695e\nY = e9e79578f8988b168edff1a8b34a5ed9598cc20acd1f0aed36715d88\nDigest = bde0fbb390fb05d0b75df5bd0d0a4ea29516125f19830e3b0c93b641\nK = c780d047454824af98677cf310117e5f9e99627d02414f136aed8e83\nR = 45145f06b566ec9fd0fee1b6c6551a4535c7a3bbfc0fede45f4f5038\nS = 7302dff12545b069cf27df49b26e4781270585463656f2834917c3ca\n\nCurve = P-224\nPrivate = dde6f173fa9f307d206ce46b4f02851ebce9638a989330249fd30b73\nX = fc21a99b060afb0d9dbf3250ea3c4da10be94ce627a65874d8e4a630\nY = e8373ab7190890326aac4aacca3eba89e15d1086a05434dd033fd3f3\nDigest = c2c03fe07e10538f6a38d5831b5dda9ce7478b3ed31323d60617dc95\nK = 6629366a156840477df4875cfba4f8faa809e394893e1f5525326d07\nR = 41f8e2b1ae5add7c24da8725a067585a3ad6d5a9ed9580beb226f23a\nS = a5d71bff02dce997305dd337128046f36714398f4ef6647599712fae\n\nCurve = P-224\nPrivate = aeee9071248f077590ac647794b678ad371f8e0f1e14e9fbff49671e\nX = fad0a34991bbf89982ad9cf89337b4bd2565f84d5bdd004289fc1cc3\nY = 5d8b6764f28c8163a12855a5c266efeb9388df4994b85a8b4f1bd3bc\nDigest = 5d52747226f37a5afcd94d1b95867c0111bcb34402dad12bee76c1b7\nK = 1d35d027cd5a569e25c5768c48ed0c2b127c0f99cb4e52ea094fe689\nR = 2258184ef9f0fa698735379972ce9adf034af76017668bfcdab978de\nS = 866fb8e505dea6c909c2c9143ec869d1bac2282cf12366130ff2146c\n\nCurve = P-224\nPrivate = 29c204b2954e1406a015020f9d6b3d7c00658298feb2d17440b2c1a4\nX = 0e0fc15e775a75d45f872e5021b554cc0579da19125e1a49299c7630\nY = cb64fe462d025ae2a1394746bdbf8251f7ca5a1d6bb13e0edf6b7b09\nDigest = a1ab56bd011b7e6c7e066f25333d08cf81ac0d9c1abfa09f004ab52f\nK = 39547c10bb947d69f6c3af701f2528e011a1e80a6d04cc5a37466c02\nR = 86622c376d326cdf679bcabf8eb034bf49f0c188f3fc3afd0006325d\nS = 26613d3b33c70e635d7a998f254a5b15d2a3642bf321e8cff08f1e84\n\nCurve = P-224\nPrivate = 8986a97b24be042a1547642f19678de4e281a68f1e794e343dabb131\nX = 2c070e68e8478341938f3d5026a1fe01e778cdffbebbdd7a4cd29209\nY = cde21c9c7c6590ba300715a7adac278385a5175b6b4ea749c4b6a681\nDigest = 8ef4d8a368fad480bac518d625e97206adcafa87c52aef3d179cbfa9\nK = 509712f9c0f3370f6a09154159975945f0107dd1cee7327c68eaa90b\nR = 57afda5139b180de96373c3d649700682e37efd56ae182335f081013\nS = eb6cd58650cfb26dfdf21de32fa17464a6efc46830eedc16977342e6\n\nCurve = P-224\nPrivate = d9aa95e14cb34980cfddadddfa92bde1310acaff249f73ff5b09a974\nX = 3a0d4b8e5fad1ea1abb8d3fb742cd45cd0b76d136e5bbb33206ad120\nY = c90ac83276b2fa3757b0f226cd7360a313bc96fd8329c76a7306cc7d\nDigest = 28fabbac167f3d6a20c2f5a4bcee527c96be04bdd2c596f09d8fbab7\nK = 1f1739af68a3cee7c5f09e9e09d6485d9cd64cc4085bc2bc89795aaf\nR = 09bbdd003532d025d7c3204c00747cd52ecdfbc7ce3dde8ffbea23e1\nS = 1e745e80948779a5cc8dc5cb193beebb550ec9c2647f4948bf58ba7d\n\nCurve = P-224\nPrivate = 380fb6154ad3d2e755a17df1f047f84712d4ec9e47d34d4054ea29a8\nX = 4772c27cca3348b1801ae87b01cb564c8cf9b81c23cc74468a907927\nY = de9d253935b09617a1655c42d385bf48504e06fa386f5fa533a21dcb\nDigest = 50dd74b5af40978e809cee3eb41195402ebb5056e4437f753f9a9d0d\nK = 14dbdffa326ba2f3d64f79ff966d9ee6c1aba0d51e9a8e59f5686dc1\nR = ff6d52a09ca4c3b82da0440864d6717e1be0b50b6dcf5e1d74c0ff56\nS = 09490be77bc834c1efaa23410dcbf800e6fae40d62a737214c5a4418\n\nCurve = P-224\nPrivate = 6b98ec50d6b7f7ebc3a2183ff9388f75e924243827ddded8721186e2\nX = 1f249911b125348e6e0a473479105cc4b8cfb4fa32d897810fc69ffe\nY = a17db03b9877d1b6328329061ea67aec5a38a884362e9e5b7d7642dc\nDigest = 9fee01807ab6c43a794abf6dcd6118915252ca7d3a31a1ff96b88a8d\nK = ab3a41fedc77d1f96f3103cc7dce215bf45054a755cf101735fef503\nR = 70ccc0824542e296d17a79320d422f1edcf9253840dafe4427033f40\nS = e3823699c355b61ab1894be3371765fae2b720405a7ce5e790ca8c00\n\nCurve = P-224\nPrivate = 8dda0ef4170bf73077d685e7709f6f747ced08eb4cde98ef06ab7bd7\nX = 7df67b960ee7a2cb62b22932457360ab1e046c1ec84b91ae65642003\nY = c764ca9fc1b0cc2233fa57bdcfedaab0131fb7b5f557d6ca57f4afe0\nDigest = c349032f84384b913bd5d19b9211ddce221d66a45e8a051878254117\nK = 9ef6ebd178a76402968bc8ec8b257174a04fb5e2d65c1ab34ab039b9\nR = eef9e8428105704133e0f19636c89e570485e577786df2b09f99602a\nS = 8c01f0162891e4b9536243cb86a6e5c177323cca09777366caf2693c\n\nCurve = P-224\nPrivate = 3dbe18cd88fa49febfcb60f0369a67b2379a466d906ac46a8b8d522b\nX = b10150fd797eb870d377f1dbfa197f7d0f0ad29965af573ec13cc42a\nY = 17b63ccefbe27fb2a1139e5757b1082aeaa564f478c23a8f631eed5c\nDigest = 63fe0d82cf5edf972e97316666a0914432e420f80b4f78ceb92afd1d\nK = 385803b262ee2ee875838b3a645a745d2e199ae112ef73a25d68d15f\nR = 1d293b697f297af77872582eb7f543dc250ec79ad453300d264a3b70\nS = 517a91b89c4859fcc10834242e710c5f0fed90ac938aa5ccdb7c66de\n\nCurve = P-224\nPrivate = c906b667f38c5135ea96c95722c713dbd125d61156a546f49ddaadc6\nX = 3c9b4ef1748a1925578658d3af51995b989ad760790157b25fe09826\nY = 55648f4ff4edfb899e9a13bd8d20f5c24b35dc6a6a4e42ed5983b4a0\nDigest = 9b44ee16e576c50c0b6b37ac1437bf8f013a745615012451e54a12f2\nK = b04d78d8ac40fefadb99f389a06d93f6b5b72198c1be02dbff6195f0\nR = 4bdd3c84647bad93dcaffd1b54eb87fc61a5704b19d7e6d756d11ad0\nS = fdd81e5dca54158514f44ba2330271eff4c618330328451e2d93b9fb\n\nCurve = P-224\nPrivate = 3456745fbd51eac9b8095cd687b112f93d1b58352dbe02c66bb9b0cc\nX = f0acdfbc75a748a4a0ac55281754b5c4a364b7d61c5390b334daae10\nY = 86587a6768f235bf523fbfc6e062c7401ac2b0242cfe4e5fb34f4057\nDigest = 3c89c15dee194b3223e7b53a8a5845d4873a12a2f1581d5413359828\nK = 854b20c61bcdf7a89959dbf0985880bb14b628f01c65ef4f6446f1c1\nR = a2601fbb9fe89f39814735febb349143baa934170ffb91c6448a7823\nS = bf90f9305616020a0e34ef30803fc15fa97dffc0948452bbf6cb5f66\n\nCurve = P-224\nPrivate = 2c522af64baaca7b7a08044312f5e265ec6e09b2272f462cc705e4c3\nX = 5fad3c047074b5de1960247d0cc216b4e3fb7f3b9cd960575c8479fc\nY = e4fc9c7f05ff0b040eb171fdd2a1dfe2572c564c2003a08c3179a422\nDigest = 2b7faf36fdf0e393ddeb9fc875dd99f670e3d538fd0462395ea06c8f\nK = 9267763383f8db55eed5b1ca8f4937dc2e0ca6175066dc3d4a4586af\nR = 422e2e9fe535eb62f11f5f8ce87cf2e9ec65e61c06737cf6a0019ae6\nS = 116cfcf0965b7bc63aecade71d189d7e98a0434b124f2afbe3ccf0a9\n\nCurve = P-224\nPrivate = 3eff7d07edda14e8beba397accfee060dbe2a41587a703bbe0a0b912\nX = 6dd84f4d66f362844e41a7913c40b4aad5fa9ba56bb44c2d2ed9efac\nY = 15f65ebcdf2fd9f8035385a330bdabec0f1cd9cc7bc31d2fadbe7cda\nDigest = 5b24b6157c0d1edf3a40c22a0745d23bdb59379e5e5e776ed040288d\nK = 7bb48839d7717bab1fdde89bf4f7b4509d1c2c12510925e13655dead\nR = 127051d85326049115f307af2bc426f6c2d08f4774a0b496fb6982b1\nS = 6857e84418c1d1179333b4e5307e92abade0b74f7521ad78044bf597\n\nCurve = P-224\nPrivate = 888fc992893bdd8aa02c80768832605d020b81ae0b25474154ec89aa\nX = 4c741e4d20103670b7161ae72271082155838418084335338ac38fa4\nY = db7919151ac28587b72bad7ab180ec8e95ab9e2c8d81d9b9d7e2e383\nDigest = 00c6fc53c1986d19a8a8b580ee553dc1240745d760647d1c0adf442c133c7f56\nK = 06f7a56007825433c4c61153df1a135eee2f38ec687b492ed40d9c90\nR = 0909c9b9cae8d2790e29db6afdb45c04f5b072c4c20410c7dc9b6772\nS = 298f4fcae1fe271da1e0345d11d07a1fca43f58af4c113b909eedea0\n\nCurve = P-224\nPrivate = 5b5a3e186e7d5b9b0fbdfc74a05e0a3d85dc4be4c87269190c839972\nX = 897089f4ef05b943eeac06589f0e09ccc571a6add3eb1610a2fc830f\nY = 62ba3f6b3e6f0f062058b93e6f25b6041246c5be13584a41cae7e244\nDigest = fb5dd3b8d280fe7c4838f01b2a5c28493ed3084f46b40642600ba39e43fbff7b\nK = 5b6f7eca2bcc5899fce41b8169d48cd57cf0c4a1b66a30a150072676\nR = f12c9985d454ffbc899ebbbb6cf43e3debcac7f19029f8f2f35cce31\nS = 12fcb848adbd8b1b4c72b2b54a04d936e4a5f480ae2a3ea2e3c1baae\n\nCurve = P-224\nPrivate = f60b3a4d4e31c7005a3d2d0f91cb096d016a8ddb5ab10ecb2a549170\nX = 40a4ab1e6a9f84b4dedb81795e6a7124d1cfdfd", "7ec64c5d4b9e32666\nY = 83aa32a3c2fc068e62626f2dafce5d7f050e826e5c145cd2d13d1b27\nDigest = f4083aebe08c9bdb8c08ff844ffc207f80fa4406fb73bdbc1c6020f71281bdae\nK = c31150420dfb38ba8347e29add189ec3e38c14b0c541497fb90bf395\nR = bf6c6daa89b21211ea2c9f45192d91603378d46b1a5057962dafaf12\nS = cb6b237950e0f0369323055cd1f643528c7a64616f75b11c4ddd63c7\n\nCurve = P-224\nPrivate = c8fc474d3b1cba5981348de5aef0839e376f9f18e7588f1eed7c8c85\nX = 66f49457ed15f67ed4042195856f052fe774077f61cebcb9efddc365\nY = 3a6e3f3423eec7308a69eb1b0416d67cc3b84d24f251d7cbdb45c079\nDigest = cb017b280093879c4b114b52ea670f14e97b661074abccc8539a23280fe136b4\nK = 5e5405ae9ab6164bb476c1bb021ec78480e0488736e4f8222920fbd9\nR = 7b7beaf9f696ca1a8051527478c4c075ab45aa4768937886dbf38618\nS = 93d4cf110a37c5a6f15c4e6024822118539e860dee2f60b8c3f462f6\n\nCurve = P-224\nPrivate = 04ef5d2a45341e2ace9af8a6ebd25f6cde45453f55b7a724eb6c21f6\nX = 8d642868e4d0f55ee62a2052e6b806b566d2ac79dbde7939fe725773\nY = 79505a57cd56904d2523b3e1281e9021167657d38aeb7d42fc8ec849\nDigest = 5f1d77f456d7ed30acad33795b50733d54226e57df4281a43d3821d0762f12fe\nK = ec60ea6f3d6b74d102e5574182566b7e79a69699a307fee70a2d0d22\nR = 2fd7fcbb7832c97ce325301dd338b279a9e28b8933284d49c6eabcf6\nS = 550b2f1efc312805a6ed8f252e692d8ee19eaa5bcd5d0cda63a1a3f0\n\nCurve = P-224\nPrivate = 35d4bbe77d149812339e85c79483cb270bdac56bbf30b5ef3d1f4d39\nX = 7924b1d7f5920cce98e25094e40f2eb3eb80d70b17e14b3d36c3671c\nY = 26c5af35f71e61858582b7cc2b41790597c53ee514ffdf7a289d108c\nDigest = cce0671ca07521fdaa81eced1dc37282bd9a6dbbaeb8cd00d13d4cf75cef044c\nK = 751869c1d0e79eb30aae8fbfb6d97bfa332123fd6b6c72c9cd3c1796\nR = 26bb1b92b0f01e94eba5fa429271371db527ce857abba13bd1103f64\nS = 836aba9c63e1252c2b2d72a21e6a41b82241ebe32647e7f814652bcb\n\nCurve = P-224\nPrivate = 2c291a393281b75264c9b8817af684fa86a1cdc900822f74039dc5d6\nX = 18cb5826ad60e6696bf07655032a3749f6577ca36da3ccd6e66a137c\nY = 194e14820fe02d784fd1363ff7a30399518309765bd3f4412d646da2\nDigest = 4ee903b828f54f35adab0bfec06eb064abde530d8ed0384730aa23e8e9664801\nK = e2a860416229dfd3f5a5cc92344ca015093a543943a0d8f73bf2b2fd\nR = 00e300c1ef4a8c4ca5da6413856f8981db49de29bdf03f32ffc3ceab\nS = f250f18a51ba5f63e1584097841099fa6ae4e98ee458c061d1d5aed7\n\nCurve = P-224\nPrivate = 831ea25dbeda33d272a1382c5def0e83929170ab06a629eed6ee244b\nX = 076518e393940d42dfd09819409d66966d8c9189c83d554a9cc8a082\nY = 44d0ceaf4c0f50e46bea4a52e30423ce3ada19edd363ac5694c65cb8\nDigest = 215e9817eccaa125e0c053fed373f4605de292d27a692bd4f744e63215fd8705\nK = 6be6dd9f6a083915ccba54626caf12d246d3aece0a7eda7d8d85599c\nR = ff1460946e06fb6f5d35e8d2625ca70ffb9b45308e3fabf6ad8351b1\nS = 6029aa3990918e8cb8a388d53b0772e5cdfff49c3405fe0d3a95933a\n\nCurve = P-224\nPrivate = 70f74c7324ef137318b610ead8ddc5b964e0eed3750b20612fc2e67b\nX = 279649e2a2918e683520cde3fc98b0ae58a7100e8de35e7c9cc797b6\nY = aa4de6be34be61f02880139787b9038f4554a8ef1c994b887c2974b5\nDigest = 6571a344765c0512d3911a7724509b649a6ce4106823be76726f117f109ec0fa\nK = 8e984864f86f7a2a73f3edda17dbccd13fac8fa4b872814abf223b1b\nR = 3b18736fa11d04e27e2614cda03a63ec11a180f357b0b3192920d09c\nS = 2f0f3dbd570727b14fbb29155538e62c930dd51c4035275c1365dc60\n\nCurve = P-224\nPrivate = 026be5789886d25039c11d7d58a11a6e1d52cb1d5657561f2165b8a8\nX = 3fa617c50b177da1a2bdb98b780ad21ad1195c4bd24465f6187de3c9\nY = e3fd8d8876dfd03a4a4e31a1acad3a08d983826d286c250c4e5620c1\nDigest = 95914b17ff0362e12305d71657bbc9d919ae4aa746bf4ebe95b2d2fe7ca3f022\nK = 0128b8e3f50731eb5fcc223517fc0cf6b96cd1d2807eb4524bc46f77\nR = 3a6b633f96f3d0b6d54f7fb29ac33709e4f0dd8fa0e51606ed9765ca\nS = 63e8c119dfa51784decd864f6911f2210a80f8f02d472d88df10d119\n\nCurve = P-224\nPrivate = e79c18d935c2839644762867aa793201f96a3cde080c5968412ce784\nX = b7ae1e992b1c7fde1141f40bd913358538ca0f07f62b729f13cea327\nY = 811252d12120e04805fc171a439d382c43b68a21e1a0bdf5e4ec1da4\nDigest = 2dd97b10b2ac90709062989f57873e30696bf8376957e68f7de95aa333a67685\nK = 7abedab1d36f4f0959a03d968b27dd5708223b66e0fc48594d827361\nR = d35047d74e1e7305bb8c1a94e8ae47cb1591c3437a3e185e00afe710\nS = d9c425c9d5feb776ac8952e6c4eee0ecd68aef2f0e7bff2e49c9185e\n\nCurve = P-224\nPrivate = 0d087f9d1f8ae29c9cf791490efc4a5789a9d52038c4b1d22494ad8c\nX = cd95cf8fb1cd21690f40d647f2353672a1076cc6c46bddaad2d0fc56\nY = 934262f74d9ee0f8a2754f64cb7415923d64bf00c94a39b52803f577\nDigest = 7c74a2e71f7bb3101787517394a67d03f977c95519526b47854e417b95bf8d1b\nK = 557d0e3995dc6377b3911546dd7aeaeec62a6d8f2af6a274382fc37f\nR = 56df0ea6afdcc232ceb41729eec00cf906b69b6e28423a36d3c92cc5\nS = f4f70fd948c9a147f55317fdea7b8a84c33e721014552d5800d63edc\n\nCurve = P-224\nPrivate = 0830aebb6577d3a3be3ba54a4501c987b0e0bb593267b9bbadb66583\nX = b88652020e083ccc1c43dc83d1881884dd4c7e3b4e3460b344b1ea64\nY = 22b69b517f86d7c26dc37c0f8feb4bb07fe876149fbcc3334fd2805b\nDigest = ccc04666744685c57d2256f21cee0f53857a0528a96d59bb13cdeb92fd786d4f\nK = e4f4a3280574c704c2fde47ca81ec883d27f2c5a961a294db7cda9d2\nR = b30b8a0079d9a134b5e1618c2ac63e3fbe0e95866b9dbc5f423f2707\nS = 3dc36746610271ef66e0aa52cc2ccadc5c9b08dc769e4dc4f6538c11\n\nCurve = P-224\nPrivate = 2acc9b97e625263e8e4cd164302c7d1e078bfcdd706111a13ccda5b2\nX = ce1a06f82df874dded37cca03b56c0648e4e8917ecd40ee73ee61588\nY = ceb6177b8f1ac7c5c6e6e1f7737cc3026952ee392badd2cd7af32f9d\nDigest = 9e7d5f30677692b669e21cf5461fa7f2e887dfcbbeb2db88d666bd591a944e00\nK = e401fa80f96480d437ed4f61a783888062ec33d530b188fd48016a6d\nR = 28674f447c4742e4087bbccfb522fbad4e18b56031d2ce8f532b078a\nS = a5a7a13d15b423dd17771f73cea98d89dbffa846cc209b45c0e29b76\n\nCurve = P-224\nPrivate = f4e873d4fb944fb52323406f933815092b7672221de4d1c45917f3fc\nX = 0dc2cdddb990341adb1de73f02d87fc3822485a659a15145f4251d5f\nY = cf78b2a83c7352eda1af2c74e1804ea04b35f76c04e89d90281dc2bb\nDigest = d8978f697bef71b062d4b3211e8ab5b993c09920af803614dbb9437f6e261b70\nK = 5d1476c682a64162fd2fdc82696fc8cab1469a86f707ea2757416e40\nR = 82982b38ed465138df4018d7cfb835edcb591cb57446ca49d163782b\nS = 8ef1d7b326cabee7f7ab95b7b98d3c27a069c0fd95a1599c0ccb422b\n\nCurve = P-224\nPrivate = 62c572ee0d6f81b27e591d788bfc2f42b5105d2663078dfb58069ebd\nX = bd6ba605639b98fa8113a16a3bb004ddfaec901c98a931206165f4a5\nY = a3190b10ef39e88abd60b2293b4707512b45c6c5ed5794cc11454427\nDigest = 1a9fc0195bf0f53cebba8aa7ccc8567c680d75187392d6d8201854ec4a6e6abd349037d831809e9f3add2fc09d27e4a4\nK = 0f0bb1e428bcdebf4dc62a5278068efc0f8ce75f89e89b3630f102b2\nR = aac0ea27e129f544abcc77f110e70bbdd5aa3e425dc39d5e8887025d\nS = 10e5dd06aee6b8419a04aa33d9d5678b0039c3acc3c4b61fe106bfdc\n\nCurve = P-224\nPrivate = e2f86bf73ba9336fa023343060f038e9ad41e5fe868e9f80574619a3\nX = f5d5346f17898ea6bbdfff19c216a8757a5dc37b95315f5481628381\nY = ae61fd172ac8b7a4f13870a932dece465834cbd4f50bbcfb802c824e\nDigest = 0f236d9a43edd55dacf5ff9f93ee805395e130ca2c8ad2eaea0fdd68e2ee2fadae9f41aa46f881485db208bd9cdc463b\nK = 35724ac043e3b44b73b5a7919cf675190306d26aa67c27c28c873534\nR = 535147c265af138eec50c7fb570bcc8d2e6f675597b0fcc034e536bc\nS = 743812c188a1dddf9fb34b90738f8b2e58760d6cd20ccceb1bb9c516\n\nCurve = P-224\nPrivate = b0a203438e2586d7575bc417a4a798e47abc22aa3955b58fc2789f17\nX = dc5d217862a1e5b00c95affa9d8b925a72b9beaeb7a86dc397e788d8\nY = 5f05f8e976ae1eb1036eca6d683a82850795bf9127dee5f8b2859445\nDigest = 525b6241eb2a6dd00b55b172708aafd0775e959b7c601903f44ffcfc17ee979f34f204680f8a71044a6d7e3679a50576\nK = 408e9c8b1f33136d6ddb93ff3a498bc09d4eee99bf69cdd5af0aa5a2\nR = 1b5a964c8b1fc634c6e2b82322499df1d7f0c12a4d2a77723c816ab8\nS = cf54599a36ca064fae0aa936de5266f87704409d22a15d28c01b7f2a\n\nCurve = P-224\nPrivate = efcfa50fad6fb2065f9a55f28c0c42fa24c809ccb19b6fc6d8ffb085\nX = 61521a0cfb72be77ba33cb3b8e022743cd9130ff49e97093b71aa178\nY = ce0819aedaf6fce639d0e593f8ab0147eeb6058f5f2b448231584ea9\nDigest = 88c4b7ca396f17e82c92596c301e41d7f01810bfeb33173cc0d1fedf3fd5ace6892ba9a788de13417f0ef00ff87344fb\nK = d1eea821f286eae6ebc1f61b08f9ad4323a3787e94af4c32cd31351b\nR = b37caaa71103752ac559f9eb4943324409ebfa8b585f684dcaa5c411\nS = 7c28e7619e2944ab4b7be022878c8052ebdf2cae5dff4f976c49686a\n\nCurve = P-224\nPrivate = 61a17816937987764cdc064dc7b5b4f5b16db1023acdfe25902957dd\nX = a7e975c0a8f87c683bb8e31bc160843a7b69c945f4850bd60e1c08c0\nY = 8930a454dcc2aa13bed7ea89368b2c9d689d816b2acf4e52585ee9c4\nDigest = 3babfaba30f3300171e6adcf4f62a12287031ac40078c96b2c2c063849e9a42ef3be953dc11fb319c18bf22fe511bf37\nK = 44b1fdec2629f9075f89c134ac28ff19bfddaa", "9db02a5d7f853582b4\nR = b0f5635d8bc9c53a1d54a3ec63de59ed66e6b2358d4ab79755414326\nS = 67c68fe265c7e5aba4232deeafb88545a2aa266fb9f2c2bb3f3ae8d2\n\nCurve = P-224\nPrivate = 79d5367314ec664aa0f6ca36f95549502a05bf8400bf532d669fab8d\nX = 3191f0237102dac159032ab2dde53cf56c9ec827b5caddfe9e83c02a\nY = b496b1bdcca4434ac0d0d91ea38ff3bc33f9f54095bfe17796d5a9e2\nDigest = 9f36da1a5653469a52f85e7e3b2a21ac3497cc00ff37e03235bbdf951695f182312ad5c8fb8a5fbd0295dc8c5acda068\nK = da529c52f5cc1f435d873109cd991d6cd7e1631d9ff1dd9521dd5db6\nR = 8e0ac63903f4921755430572c3f08bc272790639bdf1009fe2a9a714\nS = 6278c841a2d0a270791fe54b36c49d426d67907aa4e4f59c8638ad97\n\nCurve = P-224\nPrivate = 1320eedad4745121793a7eaf732b0b4498f7cb456cac8cf45a1f66f0\nX = 9fdd99906ab77fd29e9021bde947d05a7a9eb153612269bfb0899bc9\nY = 681b65b9ac8e4c2899bb622dafb253b7bf5a6e38e5f6595f997c291a\nDigest = 12532cbcfd4e80373bc235ac0bfa2a70b1044786d29f9384d555030f5df3cb5ab9f973df638b6835cb756792d1fe1a4e\nK = 66ed8d8934633f4125f593cf1b1d3745c4db1f15dde60cf46ca1c7f2\nR = 80199485a3a96447b39f7679cd47412a78675ba17dcbd10465dc5b48\nS = a251fd9f136a3cb0dd0bc80659ae032e4a761ba7045da0034553fb8c\n\nCurve = P-224\nPrivate = e18821329447d3f65ba7279e96bd4624ffa1b32b90f6e8331b1e876d\nX = 46c9ed837232c47022df2f1a1578fbe65ac9f2e81c98a74cc22ea31a\nY = 6fc5e9568ae62b31412a0b0b367242e9fd7e518c83aa06a069e1d90d\nDigest = 89030408e06cc06d3dbfb51f6725c710a2bc9db9e07ff1ec8a32a827d93d2dc951834cdb01a7afa1fe4cf4e9186ee424\nK = a4c1eb402a2fb3af26e0e14a3d2fc8ed3bc1a8b2475270356a79fdd3\nR = d478b68733d8ad44be46766e7b66af782fbdc7ff7ed0b191176da98a\nS = 5eae9160ccf71fd1d359d89cecce72ef8afaeee2365f6ba828aa450a\n\nCurve = P-224\nPrivate = f73e030d5a696b358986d3efaca121cf71f775f8835a21e6135145d7\nX = 9ca2c6ea87ac8dd3a23a5b4010841a7c8af309038882ae44634bcf55\nY = b0a347dbd5ded3b8702ac5a457e8b32bd4de06fd315095fa1b7d5fe1\nDigest = eda24262a9e64be110a6c96763e8a4b5edb38af2a084695e294593583b462c56b0db50bc014eb19278e3f3d675eb5f22\nK = e3cc786c1288ea567836c51d6d69dd0cab5c015987d936ccc3a4beb3\nR = f1234da71761b7a0f49e661a419d2a739bdc4544bf87690e3d2f96db\nS = 096d16bf8020c3d3c233894ad8eb81206010e62c6e692a215e088fd4\n\nCurve = P-224\nPrivate = 7a0789323f8741c157a1753ae165ecaf8e8b03a60561f8b80cee467c\nX = 101271a9addd4bd1f19d00bf116c8524f52cefd598e85dc381597acb\nY = 2f17d14f4d8ccb28b216553718152ba7c104646d8eca986dd9ddea39\nDigest = 983a5d16b009cc65bdf3c3badc2f21280e04f44244b70a583c2e9732534497373f51b226c3ab7bd69c6940e46bc41fa1\nK = d169f04f05b60c625cda864d187938863964dab7bb3b9dfc04b05519\nR = e4a51be686a764b709da23ab48b1985e153c6ee238d945e743907afc\nS = 118a8f1ffe3cd556ce6345bd1a398dd9cc3729b7fd6d8af9bfd82f40\n\nCurve = P-224\nPrivate = 78e795d0edb11fd9e28dc26b21e751aa89bea0d87932ef11c95c0e18\nX = 9edd544107977134bf6360d43ccabb3c94d627c03963c0a04b439627\nY = ece4c61d319a0e41f3de7863e7c355bac94395aaa74cdb5f74a87a5b\nDigest = ae7b5fde427af9c450368b11f66f49bf8c3b6e1f5abed6bb25683001924dfb005738637e1c1b7855566330d202ecc763\nK = 36f7c0f76808b826a0a974a1fd6e155e00a73f1d34674a8f88be405a\nR = 3e319444438bc2cc92f323ea842cb402b3c3c2448c89869ef7998edb\nS = 3420cc38f058f41c31e71f4b1ad488f801111c73541de69fcee60695\n\nCurve = P-224\nPrivate = bee02d8bc5bffb3fd3b4c9d6f686409f02662d10150d1e58d689966a\nX = 8848f964c847fe9dddc774618d4588c9cd56bbe588d7b1fb369c8bfa\nY = ebbb699fbd0dc08859fe9132285fe20dff3b9d561c0640b6e0717607\nDigest = 63ef787f467ff0cd6e5012b09414c00ef56dba959c4b62bf7e76a4205078d436c45591752c8d55abe728a2d28b5b0643\nK = 59f1450d857b40e5552a4b8cd4ab0df2f01716635d172c1106840f21\nR = a206d8398a16a991bc217f77f23c6f648384f254f255a8a876404444\nS = eb1169cb5b1423dc0bfaffe565ae57f986e00de06405e3e7b605862e\n\nCurve = P-224\nPrivate = dc0ddf6e501418bb8eafc5d7ccc143369e2aa441df8fc57d5f94a738\nX = 063a5d632f4144376e14cfb03ad8ccf1489b613acd184d20dff66545\nY = e77727f057b043d8a0f7458196b72e92d11f85b0891c6aaa9d915f58\nDigest = 11f0d587e82e7490af4737c272877d9d37c1e7ae7f2fd3b00d8fa0d4f2bcb3a41d5185e65604b8c411a407eb6c558954\nK = ff0e5cae2671db7a1b90e22c63e7570bdd27352d45bac31e338debe0\nR = 5bc0b4998481ecbd3b6609184a84ca41d69b08c37138097f559259f8\nS = 0df8828eb1ca85e46405b94e1a2972c34c5e620a54e2f640f04aecc5\n\nCurve = P-224\nPrivate = 229d89b2fcf8441ffc95ebb2ac2ef156e25825782044b2b8bd6a3e01\nX = de616848d8044a44789ef1ba3a6dd66fe9257ddc57f7534e59a701be\nY = 26cbf74a6d25e5b34b96d30f327abd574cff7f7dbe6686573a7d6c5c\nDigest = 537d6d3d4be3e3beaf31014dae59ca7186c1c1a32c88068ff343180a138ceb6d7c38e0ae1e9b51003b71c1a2f3a3741b\nK = 3b18ca6ec8e8e255ac88f64302745ca0b73ff94b2b2d48be95b4aaee\nR = fa94fd8b827c06115c1eefd50afc02ce5926ee0e789667783c01c34b\nS = edf766a66973cfc33e4159966c07321a7f6549c3c60e8586ef41402b\n\nCurve = P-224\nPrivate = 97d747068147c0393a0bb5c159e2c9f1bd538f6204823294883abe28\nX = 3858a576eef2ce24d01766997fb81b3f3f78b6104cd188610be221d7\nY = 95ffc677ac7bfe3e0bb4cffb17355a964c8356a807151b3cba5d1f4e\nDigest = 7e16034a71ebf52a7a6cd00fe469c6edc121b2882462176298c9443aca2a0ad6ebe2eb9e145097409873170f40d503dd\nK = c1a2ec1ef16cfd5107c892790daefbed061be78bd8576696b60f64d5\nR = 18c908541843fcdac99b9ff6bb397f3f8094d16b42670216e4eaa2d7\nS = c107a8a508ff57c5d4f78f86cc37e129c864d1c44ed5e73909613b74\n\nCurve = P-224\nPrivate = ba5374541c13597bded6880849184a593d69d3d4f0b1cb4d0919cbd6\nX = ac635fe00e8b7a3c8ef5655bdfb7f83e8532e59c0cc0b6534d810ffa\nY = 1d067aebeba66e79b28ecfe59ac6fdf5e1970dc3a84499c9d90cd8e2\nDigest = 3edbb59a32b2464291d0a96023a798c1fc6cb5ff4fcecfadcfac2be00c26fa27181aef76c96d8269aeaf2275eeacbb777abbd9571de9279edc5695a3345cad9b\nK = 187ed1f45c466cbafcd4b9577fb222408c011225dcccfd20f08b8d89\nR = f83d54945997584c923c09662c34cf9ad1e987da8bfd9be600e7a098\nS = 4ff2dba9dba992c98a095b1144a539310e1a570e20c88b7d0aa1955c\n\nCurve = P-224\nPrivate = 1e27187134d0a63542adf4665fba22f00cfc7b0a1e02effe913ceedc\nX = ecaea8ceea55c3bd418fd34a4ff2499e25e66a104eed846bc00c31d2\nY = 3933a356ab1f2dabc303ff0a5d076131e77032e6f502336883bf78a7\nDigest = 825ab979af5c263d9f074a2d771d1d1cdfa435e7938245a3c9ee30cb77ee8c1475051d2f09d7d11d920a6c754bfd253903131c491994679cafdb8cfbf32b763d\nK = 34cb597deae9a3b1cada937abcd247161b19b2b336b20e2e42ae01f1\nR = 58177ba46fb291490b39368774accf72736412c1fb5ee0f27b9b1e02\nS = 58337d78b95a080bfcabb5809bee012501b4da84b8ef310a4628f11c\n\nCurve = P-224\nPrivate = 0905b40e6c29bfcbf55e04266f68f10ca8d3905001d68bb61a27749b\nX = d656b73b131aa4c6336a57849ce0d3682b6ab2113d013711e8c29762\nY = 6328335ffc2029afbfe2a15cc5636978778c3f9dab84840b05f2e705\nDigest = d0db7c20c201cd8c63ca777293543750d7f6a9e375b056e74cfe9fb2c95b2cc9807d8a9607a5b0fad6eeda86e4f73ace139e77a5356181b8cbef3f88173253b6\nK = dc82840d147f893497a82f023d7d2cbf0a3a5b2ac6cc1b9b23e504be\nR = 583af080e0ec7c1ba5a491a84889b7b7b11ccfe18927c7c219b11757\nS = b23700035349df25d839f0973bef78a7515287de6c83707907074fa6\n\nCurve = P-224\nPrivate = afbaede5d75e4f241dd5b53220f3f5b9c1aa1d5d298e2d43236452dc\nX = fe83e59fc8ea8b939355d3258fe53a64d45f63031a0716b7cc416173\nY = f151d23060f1c856eb7f1f58be72a7228c3af89e43b56e9695b558c7\nDigest = 37d9091eddc6fc34b45cf97140e956a42ab659f6bd442e81b57c4ecfbdab45f7380a7efdbac5400ceb1bf683194232cd086c1b4e09fc9313f1bc38af731f1a98\nK = 0fbbe7b40136c81a8fb894498d5502157a1cf5a89d0643de92cd38f6\nR = 24f3f457c7b72b7e759d5a8afbf330e31c5d8d2e36f92c0e79c5d87d\nS = 36fd1193def34f12a960740fd79fb38bf2b480726ccad540eb42cdf8\n\nCurve = P-224\nPrivate = 950b07b0c2b7539a21b5135bfede214733f2e009647d38d8b21d760c\nX = f43d13bbfcee3b724063b3910fea49fd591b81e86fdb813b1a492d0c\nY = 6b4c8d6fa5dc661889e3cf5ec64997a78222837885f85d2fe9b684fb\nDigest = 8ddf64c9c67289a76c2f5b44a30b8365f4adf487b4edadada5749cad9e5765c57a348a750817a53e5c2ff551e003747ca1e3438b2aa1952c6876fda8fd8f4de2\nK = 83e110d0d1e700d2f36543028737d2a2f1474aa3b4b28998a39e4793\nR = 2685265bc878e85d10ab13293dec190881a57c4a467f8fc2170432ea\nS = 80a347bb49036522369339bd6485a967cdda818915d8eb947302fcf9\n\nCurve = P-224\nPrivate = 015bd9f5dfef393b431c3c7fced24385d861ccb563542574a5d2a9bc\nX = e868690641e2cda13b289a6c5d2fb175940396044d9cf27b4f2240af\nY = 4c78c9abdf2b7fc67ed4497001d7bcf1daca1739dc14a661f91d7c40\nDigest = 7c22f34d5897ccdf7d807f68a7f16e3093a4413625e7853401a4e0384d26893f1997c84557515f2ea66afe7629f62415e6b98e18e97dcb4fb2dec97cf2dd68d9\nK = e2374350f47c08f3c1359d4edf87e61d1ba4e7dd1540d8d9062efa79\nR = e12dc088d2bc032bb214c77d0e0fb749fc8e61ebe1ed72996f1084b6\nS = 0ab58aa31e0bba5fbc76855e6549", @@ -2682,9 +2769,9 @@ static const char *kData42[] = { "a0cdf2910c42c9f1954a4572d8e659733d5e26cbd35e3260be40017b2f5d38ec42315f5c0b056c596d\nR = 00d732ba8b3e9c9e0a495249e152e5bee69d94e9ff012d001b140d4b5d082aa9df77e10b65f115a594a50114722db42fa5fbe457c5bd05e7ac7ee510aa68fe7b1e7f\nS = 0134ac5e1ee339727df80c35ff5b2891596dd14d6cfd137bafd50ab98e2c1ab4008a0bd03552618d217912a9ec502a902f2353e757c3b5776309f7f2cfebf913e9cd\n\nCurve = P-521\nPrivate = 013c3852a6bc8825b45fd7da1754078913d77f4e586216a6eb08b6f03adce7464f5dbc2bea0eb7b12d103870ef045f53d67e3600d7eba07aac5db03f71b64db1cceb\nX = 00c97a4ebcbbe701c9f7be127e87079edf479b76d3c14bfbee693e1638e5bff8d4705ac0c14597529dbe13356ca85eb03a418edfe144ce6cbf3533016d4efc29dbd4\nY = 011c75b7a8894ef64109ac2dea972e7fd5f79b75dab1bf9441a5b8b86f1dc1324426fa6cf4e7b973b44e3d0576c52e5c9edf8ce2fc18cb3c28742d44419f044667f8\nDigest = d209f43006e29ada2b9fe840afdf5fe6b0abeeef5662acf3fbca7e6d1bf4538f7e860332ef6122020e70104b541c30c3c0581e2b1daa0d767271769d0f073133\nK = 01e25b86db041f21c2503d547e2b1b655f0b99d5b6c0e1cf2bdbd8a8c6a053f5d79d78c55b4ef75bff764a74edc920b35536e3c470b6f6b8fd53898f3bbc467539ef\nR = 01dce45ea592b34d016497882c48dc0c7afb1c8e0f81a051800d7ab8da9d237efd892207bc9401f1d30650f66af8d5349fc5b19727756270722d5a8adb0a49b72d0a\nS = 00b79ffcdc33e028b1ab894cb751ec792a69e3011b201a76f3b878655bc31efd1c0bf3b98aea2b14f262c19d142e008b98e890ebbf464d3b025764dd2f73c4251b1a\n\nCurve = P-521\nPrivate = 01654eaa1f6eec7159ee2d36fb24d15d6d33a128f36c52e2437f7d1b5a44ea4fa965c0a26d0066f92c8b82bd136491e929686c8bde61b7c704daab54ed1e1bdf6b77\nX = 01f269692c47a55242bb08731ff920f4915bfcecf4d4431a8b487c90d08565272c52ca90c47397f7604bc643982e34d05178e979c2cff7ea1b9eaec18d69ca7382de\nY = 00750bdd866fba3e92c29599c002ac6f9e2bf39af8521b7b133f70510e9918a94d3c279edec97ab75ecda95e3dd7861af84c543371c055dc74eeeff7061726818327\nDigest = c992314e8d282d10554b2e6e8769e8b10f85686cccafb30e7db62beaad080e0da6b5cf7cd1fc5614df56705fb1a841987cb950101e2f66d55f3a285fc75829ff\nK = 01b7519becd00d750459d63a72f13318b6ac61b8c8e7077cf9415c9b4b924f35514c9c28a0fae43d06e31c670a873716156aa7bc744577d62476e038b116576a9e53\nR = 0183bddb46c249e868ef231a1ebd85d0773bf8105a092ab7d884d677a1e9b7d6014d6358c09538a99d9dca8f36f163ac1827df420c3f9360cc66900a9737a7f756f3\nS = 00d05ee3e64bac4e56d9d8bd511c8a43941e953cba4e5d83c0553acb87091ff54f3aad4d69d9f15e520a2551cc14f2c86bb45513fef0295e381a7635486bd3917b50\n\nCurve = P-521\nPrivate = 01cba5d561bf18656991eba9a1dde8bde547885ea1f0abe7f2837e569ca52f53df5e64e4a547c4f26458b5d9626ed6d702e5ab1dd585cf36a0c84f768fac946cfd4c\nX = 012857c2244fa04db3b73db4847927db63cce2fa6cb22724466d3e20bc950a9250a15eafd99f236a801e5271e8f90d9e8a97f37c12f7da65bce8a2c93bcd25526205\nY = 00f394e37c17d5b8e35b488fa05a607dbc74264965043a1fb60e92edc212296ae72d7d6fe2e3457e67be853664e1da64f57e44bd259076b3bb2b06a2c604fea1be9d\nDigest = 6e14c91db5309a075fe69f6fe8ecd663a5ba7fab14770f96b05c22e1f631cde9e086c44335a25f63d5a43ddf57da899fcedbc4a3a4350ad2edd6f70c01bb051e\nK = 00e790238796fee7b5885dc0784c7041a4cc7ca4ba757d9f7906ad1fcbab5667e3734bc2309a48047442535ff89144b518f730ff55c0c67eeb4c880c2dfd2fb60d69\nR = 01d7ce382295a2a109064ea03f0ad8761dd60eefb9c207a20e3c5551e82ac6d2ee5922b3e9655a65ba6c359dcbf8fa843fbe87239a5c3e3eaecec0407d2fcdb687c2\nS = 0161963a6237b8955a8a756d8df5dbd303140bb90143b1da5f07b32f9cb64733dc6316080924733f1e2c81ade9d0be71b5b95b55666026a035a93ab3004d0bc0b19f\n\nCurve = P-521\nPrivate = 00972e7ff25adf8a032535e5b19463cfe306b90803bf27fabc6046ae0807d2312fbab85d1da61b80b2d5d48f4e5886f27fca050b84563aee1926ae6b2564cd756d63\nX = 01d7f1e9e610619daa9d2efa563610a371677fe8b58048fdc55a98a49970f6afa6649c516f9c72085ca3722aa595f45f2803402b01c832d28aac63d9941f1a25dfea\nY = 01571facce3fcfe733a8eef4e8305dfe99103a370f82b3f8d75085414f2592ad44969a2ef8196c8b9809f0eca2f7ddc71c47879e3f37a40b9fecf97992b97af29721\nDigest = 26b4f562053f7aed8b7268e95eff336ac80a448fae52329d2771b138c9c7f70de936ef54158446afa72b0a27c2a73ca45dfa38a2ba2bf323d31aba499651128f\nK = 00517f6e4002479dc89e8cbb55b7c426d128776ca82cf81be8c1da9557178783f40e3d047db7e77867f1af030a51de470ee3128c22e9c2d642d71e4904ab5a76edfa\nR = 01c3262a3a3fb74fa5124b71a6c7f7b7e6d56738eabaf7666b372b299b0c99ee8a16be3df88dd955de093fc8c049f76ee83a4138cee41e5fe94755d27a52ee44032f\nS = 0072fd88bb1684c4ca9531748dfce4c161037fcd6ae5c2803b7117fb60d3db5df7df380591aaf3073a3031306b76f062dcc547ded23f6690293c34a710e7e9a226c3\n\nCurve = P-521\nPrivate = 01f0ec8da29295394f2f072672db014861be33bfd9f91349dad5566ff396bea055e53b1d61c8c4e5c9f6e129ed75a49f91cce1d5530ad4e78c2b793a63195eb9f0da\nX = 009ec1a3761fe3958073b9647f34202c5e8ca2428d056facc4f3fedc7077fa87f1d1eb30cc74f6e3ff3d3f82df2641cea1eb3ff1529e8a3866ae2055aacec0bf68c4\nY = 00bed0261b91f664c3ff53e337d8321cb988c3edc03b46754680097e5a8585245d80d0b7045c75a9c5be7f599d3b5eea08d828acb6294ae515a3df57a37f903ef62e\nDigest = ea13b25b80ec89ffa649a00ce85a494892f9fb7389df56eed084d670efb020c05508ac3f04872843c92a67ee5ea02e0445dad8495cd823ca16f5510d5863002b\nK = 00ac3b6d61ebda99e23301fa198d686a13c0832af594b289c9a55669ce6d62011384769013748b68465527a597ed6858a06a99d50493562b3a7dbcee975ad34657d8\nR = 00cef3f4babe6f9875e5db28c27d6a197d607c3641a90f10c2cc2cb302ba658aa151dc76c507488b99f4b3c8bb404fb5c852f959273f412cbdd5e713c5e3f0e67f94\nS = 00097ed9e005416fc944e26bcc3661a09b35c128fcccdc2742739c8a301a338dd77d9d13571612a3b9524a6164b09fe73643bbc31447ee31ef44a490843e4e7db23f\n\n# The following tests exercise the bit-shifting case of ECDSA digest\n# truncation. The digests are larger than even SHA-512, but P-521 is the only\n# common prime-field curve. (This case typically comes up with curves over\n# GF(2^m).)\n\nCurve = P-521\nPrivate = 01f0ec8da29295394f2f072672db014861be33bfd9f91349dad5566ff396bea055e53b1d61c8c4e5c9f6e129ed75a49f91cce1d5530ad4e78c2b793a63195eb9f0da\nX = 009ec1a3761fe3958073b9647f34202c5e8ca2428d056facc4f3fedc7077fa87f1d1eb30cc74f6e3ff3d3f82df2641cea1eb3ff1529e8a3866ae2055aacec0bf68c4\nY = 00bed0261b91f664c3ff53e337d8321cb988c3edc03b46754680097e5a8585245d80d0b7045c75a9c5be7f599d3b5eea08d828acb6294ae515a3df57a37f903ef62e\nDigest = 007509d92dc07644ffd324d006742d24a4497cfdb9c4efab7768426b3877d810602a84561f82439421e49533f72f50170222ed6c24ae6c11e50b7aa886ac31801580\nK = 00ac3b6d61ebda99e23301fa198d686a13c0832af594b289c9a55669ce6d62011384769013748b68465527a597ed6858a06a99d50493562b3a7dbcee975ad34657d8\nR = 00cef3f4babe6f9875e5db28c27d6a197d607c3641a90f10c2cc2cb302ba658aa151dc76c507488b99f4b3c8bb404fb5c852f959273f412cbdd5e713c5e3f0e67f94\nS = 00097ed9e005416fc944e26bcc3661a09b35c128fcccdc2742739c8a301a338dd77d9d13571612a3b9524a6164b09fe73643bbc31447ee31ef44a490843e4e7db23f\n\nCurve = P-521\nPrivate = 01f0ec8da29295394f2f072672db014861be33bfd9f91349dad5566ff396bea055e53b1d61c8c4e5c9f6e129ed75a49f91cce1d5530ad4e78c2b793a63195eb9f0da\nX = 009ec1a3761fe3958073b9647f34202c5e8ca2428d056facc4f3fedc7077fa87f1d1eb30cc74f6e3ff3d3f82df2641cea1eb3ff1529e8a3866ae2055aacec0bf68c4\nY = 00bed0261b91f664c3ff53e337d8321cb988c3edc03b46754680097e5a8585245d80d0b7045c75a9c5be7f599d3b5eea08d828acb6294ae515a3df57a37f903ef62e\nDigest = 007509d92dc07644ffd324d006742d24a4497cfdb9c4efab7768426b3877d810602a84561f82439421e49533f72f50170222ed6c24ae6c11e50b7aa886ac318015ff\nK = 00ac3b6d61ebda99e23301fa198d686a13c0832af594b289c9a55669ce6d62011384769013748b68465527a597ed6858a06a99d50493562b3a7dbcee975ad34657d8\nR = 00cef3f4babe6f9875e5db28c27d6a197d607c3641a90f10c2cc2cb302ba658aa151dc76c507488b99f4b3c8bb404fb5c852f959273f412cbdd5e713c5e3f0e67f94\nS = 00097ed9e005416fc944e26bcc3661a09b35c128fcccdc2742739c8a301a338dd77d9d13571612a3b9524a6164b09fe73643bbc31447ee31ef44a490843e4e7db23f\n\nCurve = P-521\nPrivate = 01f0ec8da29295394f2f072672db014861be33bfd9f91349dad5566ff396bea055e53b1d61c8c4e5c9f6e129ed75a49f91cce1d5530ad4e78c2b793a63195eb9f0da\nX = 009ec1a3761fe3958073b9647f34202c5e8ca2428d056facc4f3fedc7077fa87f1d1eb30cc74f6e3ff3d3f82df2641cea1eb3ff1529e8a3866ae2055aacec0bf68c4\nY = 00bed0261b91f664c3ff53e337d8321cb988c3edc03b46754680097e5a8585245d80d0b7045c75a9c5be7f599d3b5eea08d828acb6294ae515a3df57a37f903ef62e\nDigest = 007509d92dc07644ffd324d006742d24a4497cfdb9c4efab7768426b3877d810602a84561f82439421e49533f72f50170222ed6c24ae6c11e50b7aa886ac318015ffffffffffff\nK = 00ac3b6d61ebda99e23301fa198d686a13c0832af594b289c9a55669ce6d62011384769013748b68465527a597ed6858a06a99d50493562b3a7dbcee975ad34657d8\nR = ", "00cef3f4babe6f9875e5db28c27d6a197d607c3641a90f10c2cc2cb302ba658aa151dc76c507488b99f4b3c8bb404fb5c852f959273f412cbdd5e713c5e3f0e67f94\nS = 00097ed9e005416fc944e26bcc3661a09b35c128fcccdc2742739c8a301a338dd77d9d13571612a3b9524a6164b09fe73643bbc31447ee31ef44a490843e4e7db23f\n\n\n# The following tests use digests equal to the order and 2^n - 1, where n is\n# the number of bits in the order. This is to test the truncated digest not\n# being fully reduced.\n\nCurve = P-224\nPrivate = a80489eee3b15dedbc2d8ca4134f18b7d1a541fc212718f21a04692c\nX = bd283d0c18d90b69d9ee3e0f1e8e62f53822f5593fc94343666495b5\nY = b3177709b8dc4b62928f9dc561c2b4be42c7df52d4e90e7e885b4021\nDigest = ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\nK = 90fbb04276d112cbb6ecd2053e2a870f02350ac7e2881c89851a4640\nR = 7d0642a2cb98b56ff91837bd23e20bd90b60613b60eabfbc078cfbfa\nS = 0209a75bbd6c2310fa55fe2c0c3ddf35be53fef6e1cccf0537f3e7be\n\nCurve = P-224\nPrivate = 72a2e505634a669d492d28b1b43974cca3aac7b5eaffa1719a551d3e\nX = 42bafdd82b5bd766a727211e4af8bf46015705b878772b296791cca3\nY = f5db26e760f4b2ec586222d3cecb525fed32a841fa0ae547f5c435db\nDigest = ffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nK = d6abc49b0e60f1e2e7a5736aa8e93a5de9777f4b9e6c96692fcb662b\nR = 42232b212356d9adbb5e43e96e23c376fa5d21c9ad6a50137d2e3bd2\nS = 020596ef40a9dbea4d6779ff02c9cb853b520093113a968a32309118\n\nCurve = P-256\nPrivate = fb801b1a1161c143578358dc6edf8357167c12636e5b588e171d8bffcca78d7a\nX = e57231383637c82c1ac801724cf7e03e67198f467a9beb60ac13cb582d13afa8\nY = 8f190e090155fcf63810b858bc88e259dc49afef8bdef6fd06d93dddb1991aed\nDigest = ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551\nK = 3d1df8b364fc045d8c6517f7a4b99c91643a2bca351b3a74fe36268c97198c3e\nR = 05cc6037bb021f4910ea2e489fab2bae6bb6a2769a97f42ba5736994102b7f10\nS = 5db54832ceabf8bccdb8be99b1a49cecff8feee045cb697dec43118e2695b1da\n\nCurve = P-256\nPrivate = df1ae1f7a1043d03811c61695dba0350bbe58d36a670da66d58c69e5bc9ce1fd\nX = 6e0e2897b9a554ee287cdaf43bfbe25ca8404373971575a0e4b61c61aff5a2fe\nY = 23ea7823a411eb1b39f81bbde24c2cd6ac68be2c7eec3a0671c8676131b8905c\nDigest = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nK = 6b6e0cf93ce4482a4c23821125186f39656ccc993e4f080ac8750c32927a515f\nR = 16831feeceab2fab1c575e073e944d73ce7e6f3e9b06312088f06159c530ff50\nS = 870cb824692638538b1569c6093fcb693c054e8e3b9a919e3bb26798910f66e9\n\nCurve = P-384\nPrivate = 2218a70d35d5a9eb16442eee8e74a8b992d9475edadd6b814ae6c8779b32df164553546bf3405bd5242b85092e2f0098\nX = f4a961c19f9cc4ebe4f43081110955f3cede085a08c1415d726e80b2eb774028c5fc96f092ba3ea7d1288dd57fe1db08\nY = 981398eed0895e09b3b582a0616f3024e51cca7b1ecc347dbf0d24a5f6a222b0c31912f8f5e427d4dde5c6c45212bb10\nDigest = ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973\nK = 118f1682e0dc4602fc6f142f98d48e36adf32566f34be311ca55ccbe00fec28e52d72857e02f139578316a5dbe1ed9b4\nR = 0b77eaff05bbd922dd80525d2ab301cc119318f5a920a12c71c4b5ff5bb77d25a538983df9bdd5984b0d159daf21f1a2\nS = 73af85ad03a34b6b3993082bf719018d25d1555717b2d2f2535d0601af06a71ad020eff8232d065ab9d7fc4cd0c0ee42\n\nCurve = P-384\nPrivate = fae6a843fcef48d15685766d189fe1f597cd85d4e07172c8e19589e1aa2e8e8c4b75731e9afccb7b585926934583829b\nX = 54dd8d7cbf2ccdf1a42f5bbc615a372803b094f6040e3c7b651a61bc6912432c836cf2410ab7d67f543236751d81066f\nY = 2219d6257b1c80bf327c96786f2b5d0b5a9b9bf7eee9c853bf66a3bf09520494cb1f7823e4c566d79a617b7e201ead96\nDigest = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nK = b7db03d70db5cdcce3c708e55ad88eba80e90f6bb0be3713686bf298709a8b326619c1d47318f9af60039ff051f33a1e\nR = 9d923e199d98272e44b8fba382bf3c19660ecb4a9aae3513ff6802a73fef510c15c202807c3f9334b0bce7d6c6a80839\nS = 520784e6290d04d9b61993ee5ebc6fa8ff527fb0777c43cdefc7586701e60edb399005a5648ff852de80208232849fbd\n\nCurve = P-521\nPrivate = 015a5274c44e51b3cce4b1d657186871a851747e086934cb132559d83e07b3b2544c5d62b26385272101e20f963d2df6e029d6a6818cc4839c3f28a4c384dff4befa\nX = 00056cc489982829b728978193d047596325a91ee2e2c9110f7da605fd2d1b78424e87d85500f391fe9f54209c42e582ca3284484afc6edfe2acdc69c3591f6c47cf\nY = 010e91be6632da7afd03caedebdb572fd41cb1a7221e9c2d984016bac4693b3d10c5b1d76ba32b89f5fadd157df122be9cd85151977b99176998cfccbd3f9a03ba3f\nDigest = 01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409\nK = 001441599703e14eca10a787dd421c334bdd4c91ad33d05fe2929100a5eb343df47fb28236423323e769ad1cbaffc6e9ad01a06b2e401d647511ad2e920c2145262d\nR = 00bd5e59a9bc97de61588d143990ad7fd5405ac53aa8e6332a085a301138b23beaba126b41549db1167df47362a9de77c73b1bfaa14b31114644b4db8d35179f706a\nS = 000cbb560f68b7240e309301ed4e6dc20d329f7e2098bcae26a07dd364e6177bb408eb5d0b47a3fcf36def98b951af9a55a47d24d95cd66cc11973269694e2f6f8d1\n\nCurve = P-521\nPrivate = 00cfac6f8a1906241d873da27b4166e0d0bd76c511177835d0978117056db44750eb0648e6899f215e6c0dd6902c114a802ed5935df8c54290fbfe184ff8ccae444e\nX = 002aca58eeac43152b292f42a6a677d327386337409ba7de17acae1978e097f21e49d47f707c6ed6045c66551c93df9ef9bcc442db804e62fcac9f0574876d6d7fea\nY = 01862ed4f9d235afcc4e6b45e491da363104d4db7b97f12d869c40ab09a3c8c72519a9712ca733ddf046ad039842e8caed2425ecaf42d5171b3e236c11fee8699684\nDigest = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nK = 00938d2f6550a46fb07b058e6287f428f0ff12aa6732a666d4a6cf2dd7cd8023ca76d0ce4e16b62830d0ff9e2fab9987261f3f3ffe0749ff70950d91b897d57007b2\nR = 00ec0b91fa4386a8acdc0e46dd9c1d1775abbe0da8ead424aa4ace58e284a5be00e2c1ef95b6f4d861615564e1e7305656567f95275ce63b534420eae77ec37492c2\nS = 01e1099fb389db498ab4cf23b4f06a74b9326878ae3c76ea13832e50702b30fe8303093a59cc9a0995f1dfc15e6f7dabca8a2acaf03ec005447d29fb429a252064ec\n", }; -static const size_t kLen43 = 170210; +static const size_t kLen45 = 170210; -static const char *kData43[] = { +static const char *kData45[] = { "# Tests from NIST CAVP 186-4 ECDSA2VS Test Vectors, Signature Verification Test\n# http://csrc.nist.gov/groups/STM/cavp/documents/dss/186-3ecdsatestvectors.zip\n#\n# NIST's files provide message and digest pairs. Since this is a low-level test,\n# the digests have been extracted. P-521 test vectors were fixed to have the\n# right number of leading zeros.\n\nCurve = P-224\nX = a100d410ce497e991070285c439cd361a1a9c6c973fd6f5e1ba9ec66\nY = 0a8c3a2f909f212c84441b8c0030529cbd731304d86f771d89d7cc29\nDigest = 6a02c84186eb132d8e91ab6fea2e066f6f8de1a5\nR = 1bfcaab01e47addd4733369320364ad208169ffb15e6aac33c2d7c06\nS = 07fb33465e7b7b373feda2ea35ab7cc9477156a1335ecad942f99627\n\nCurve = P-224\nX = a6cd3d14cd5eb188a9f59d9c32e93d890558de382f6fba5ff5c6e395\nY = 7a76734a0afead9e5e4aba65f1ae353d6445b1689b5ea402de5f9af9\nDigest = ab1205b7f9f591a013c70cb645435b38689644c1\nR = f0f670963c3d2a3281d639f850f3781c6402d99a1bf07cd9f35b2975\nS = 758e84920c1b744502cd787cdd64ec58364ccc6917258a2580097492\nInvalid =\n\nCurve = P-224\nX = f5fe7875a517207f1336ec2bb4fe5cc7eb80ee2b0f8ebeff4c56e620\nY = 0b7ac24ea9092d03b28904d89714b517be023235abc9cffa297cf4ad\nDigest = d62c7a42fcf3738276a6e0d27160328e9f27e5aa\nR = 88617e694e361d2cfef6b0658d444607fba030ad31fe8dead14db22e\nS = 5b0bf37c4a583dd75d99aec20943ea02617cecdbcd295d35ed01cc32\nInvalid =\n\nCurve = P-224\nX = 8a6a77179ffc0ff5d412cf859cc82aa19cd18e5224ab997e9c2e46b0\nY = 3d67c177ca7cc12c7b05a3bf55fb78549ef5400a566efe8ae3580c9f\nDigest = 0b5a025a4038b6f9f995001c0b8d7a660e6766c2\nR = 107b7442e6569ddde54b5da55a9dac9bd348079358047a19a3de0b91\nS = 92359be39353cb263946294fb728eecf1880f50a43637f391d3e7824\n\nCurve = P-224\nX = f9f23388d573562f29e7e7c9a98f27e7a1ff02d2d66e177c6506466f\nY = 4545937caf1878fbacc34ca38a0e5e1f6ad2b25ddd796d06c8d12351\nDigest = cf670c7589b91dac6a131fe2e863e86ee790ca75\nR = bc1db32e437c67439c27db1dc607e3c505210c984bf707a8e87abb70\nS = b760f4943a2397311e54e888a1ad379ad9c45d1fd09b5389ce1a00ee\nInvalid =\n\nCurve = P-224\nX = 8781e5a98950092570d685964e9ed27760fb7dcff8d3b6f3c8f77151\nY = 9207cef64b7c2ed181c57337001f45f1e800e0d1bc8adac296e454b5\nDigest = e5e5e8c8b3f7146c72ef86ca1b75f422181b5729\nR = 79826ae5b0297b9404829df0f02bbb7b8acb35459e13a4045c40f242\nS = 2a629dab19c9e5cd0a551a43851fe6d8409469f86cbcf6204b41e5b5\nInvalid =\n\nCurve = P-224\nX = 03c78c532b8767784fd45e75027abce3371181f8f54914811588cbb2\nY = 166c7b70e98fa11ac361d827557676ec07e553370a462b4fe502dedb\nDigest = 270606c9c9b136ffada9588f15f9786455369422\nR = ff18b493b166d832c9c25ee491525e4c188ff2b804e38b5964941c48\nS = bbf4291db484b4e4143c01a284c03543bbdaa2db1f1c571f1e5a5e2e\nInvalid =\n\nCurve = P-224\nX = 99fab11464484cee96d72dfcf0327d671787a2f6ee32f9b184c48fec\nY = fe8ec3d660cfa3f3e09e5cfc2c3298d4de2f464416deb5b4a27ac062\nDigest = 9c77c796ba619aedef68b2d30b4ba00c4972488b\nR = 714c48c143cb259408c04f77a38d6484e788cb268fc9789d5e871491\nS = 542793d5dbcabcebc83a809cca02b8e95189c93fa4e330d66d5a62ef\nInvalid =\n\nCurve = P-224\nX = 014e8e57388eba32ebdce80df60c481e5c7758374f90a92e0a82f1b9\nY = d1aa8418f992283c5b6bb0461f05dc9103050dc55e0265e1c99b935d\nDigest = 82b45d1fb3bb502c7c20ee1e2d63f2aaa9f492ab\nR = a159b83e80e656f54f614e8437821bd87f6f13264ac8eca1b3ddde29\nS = b77b7bc8cf374f012ee15f9f9224a46a560a5b689cfc92ca4fa03459\nInvalid =\n\nCurve = P-224\nX = e0b9e3cadca81311923d6d6adcfc326b62fac9c4b8d61c5f960c88fa\nY = be505338108f8d3f0ee80aefa304d51dd4a4035477934a98a6111403\nDigest = f4da99fee346e572906e6dc8083a3d0c2e09b773\nR = 8dba585dc3312056a7be61161c7af8ba8b538f0c125c80cf9af2682e\nS = 1b5b1adac4d66c7045f3f79c3aa154a0274c4a994ac7a093e2482eeb\nInvalid =\n\nCurve = P-224\nX = 29197e94a3617e62d9999c859640871a4537a073ca4f12a4c324dcad\nY = fe198969ac7cbe49df2c61c4cc6fa502c2207a7da10acdccec7b1cad\nDigest = 58fab970cb7c1f0dac21b7c7fd67d0ad169688a1\nR = 261670b09afaeee71c590c5658e3f57d859b18a887f70fdeb90e57ea\nS = d1d12c11cf7f4a9dd015ead4bd245793cb37ffee1f4cf109b7b68394\nInvalid =\n\nCurve = P-224\nX = 0fac352c1c444435e6aeb1d60f28ac773b0170ae902afb0944ef0a12\nY = ac3ca693a7c5347a074808b43edea94059e2b1d0571d935fde3f5841\nDigest = 4b69dbfac12f1b974566d8170d1672d0f5fc0506\nR = c33c7a4de313ff856d2f51cd9e3d173bd10668c296f0e6b208c036ef\nS = e562d30822b5cc69713a57ce8c70f83827add85a06c88109505ebf7a\nInvalid =\n\nCurve = P-224\nX = b0d4298e998b7d9d4509322a1ac974c6180956533debafd3d9e7f2fc\nY = 185a64ca840d4b6a2800e72433f26dd523f97daadc18d6d01533f0ad\nDigest = b84805c37e76e530729ddcb59a68ad69d40c82f9\nR = a5155ce53050cbfe84b67d62ce118c6004564087f2fe1cdf44e9c945\nS = b6894b050d77a3ff4d191ddc0c9fc7009a7472e31739949193d7cceb\nInvalid =\n\nCurve = P-224\nX = 59996a4a06658e553fc2993f0f55e3fc8ca2cb52d30f882a37729be4\nY = a5f68f26ea6608fd1f350d8da7c187c7e70f23363177a5aa41508fce\nDigest = ef0a69578d8a1dc930803a7ad2a92c3c19ab6513\nR = 704ef49e0a43c61ef5b325899acb9d12287883a849976c8b9c950634\nS = 73da6e3a26d5c512405fc09fcfdf650dd8da748e6c3dfc05032d7a9f\n\nCurve = P-224\nX = a0cfdfc5a096b0b23ba6748ebaad17e60228b204aebdc01057a7154b\nY = 9f6bd5369d21d88d7b5c3ce221af530fb9a8fb91e751cdb855ff32a6\nDigest = b05f0232e6d44151e249e7b75c7c9ab05c14d44b\nR = d68aa9048e84b8653b8ff3ab31bc73884c6ac7df1fd1bd3c38c16b0d\nS = 38ce58afe5fbc6af892e06a4ddd978c745d5ec700cab825c11dd8fd1\nInvalid =\n\nCurve = P-224\nX = f1eb36b3e1c96a18d87878d5fa8b79d77afce9d2ce40d26199f33482\nY = ae819af474f3efbd62401a407036505c5a2d60449274593865de3374\nDigest = 1dd27c95dd6fb3f080afebdf5a1ad906502e12ab8f64e5f38f67c386\nR = 003122e976bac378c06ec95fd73290b067e7ff022d23493c40663ec9\nS = b99eb4220146a282c7a34f98a9a4fa38ed3f48ca2c7983cde2d3235f\n\nCurve = P-224\nX = 3bdcc7c6112cde3c0522f1a4863f1d7b6727c5bff67598ba2f1bafc1\nY = 47acb6b254e0e8747e0039de471d0dda443cb09a592c678717d83200\nDigest = 19b39292f4e862ed3ee90c35e709587231191632dc8b35611dd24abe\nR = a5aab7768f549f8fe3c7e650154c865b71ea5089bd6303bfdfd19316\nS = ee4989c4b96bcc802464fe44b2adeb1b3506755a3f4fb3f9252bf21b\nInvalid =\n\nCurve = P-224\nX = 6d5bacf458cee3ded627d0ff14fd2aeb54fe1455d6daaf7bb43faeea\nY = caecc8d3967ca1c8889607e9ed975b8a335a17c0acbcfbfed721ee1c\nDigest = 328ab7d2a7c56d09cb72cedaacc23a6da46d5cf984dfdfd16af60964\nR = 80e7024bf30ecddf7a658785ae51cd6e5a23963c89ee96a82346d889\nS = 561252dc8d9280fc54da0046da494fa5e4b7aed213923e8b894a1ae3\nInvalid =\n\nCurve = P-224\nX = 7f9789c729355516588a5c75cb2cbcf85a14c35e14a5d03b4ef920d7\nY = 49e95c49e62dd20f02ed16594f35ebf3415ed50e6efdc0c548101a9d\nDigest = c5bb2d7ca9b37af1f4bb572ae6b6e69e8fcab9ac1cc5a6e1b6d1f8de\nR = 3c7b664413c2a0e4682a9d1c88243a96196fbd03f72cb873b9bee8b9\nS = 8f7f81ee9d3a2660ab1d666bac6cc434143ca9b04ff638ca7b4aa1ea\n\nCurve = P-224\nX = fd3efc7108edbe155adcd8686d8605e811fa79756c7e2dc8c1c04212\nY = 59edea73a4e5f91541fb4cabce539afffa85b6b0113289f049ce60a0\nDigest = 562d1a8fa642dd8bbb4f4801f2d9fc8cf3452be916c0ecd6c8ddc4fc\nR = 4907884b8b7d0eb9a7b24420f69c58e3a17314e101da0280c0ceb130\nS = f7629bed92e5c40f35d7731912fb45a3cee06eab3d409a62997f2282\nInvalid =\n\nCurve = P-224\nX = 8b3f3e31d9c8408a39997455ffe0240fe128a5f1be9b3a33a97b0910\nY = d74ac6ad8de2407887c335bd66f684454dee175a2af713bb334cb3fe\nDigest = b57ffce01c72221c6714e4a38c76746c45a8cc685f37c55a69f6773f\nR = d28ae763c22f50ae9ee9fbe5bab682fd8d820b99ab70677cc46624f7\nS = d9fa54d0300a6ac74936e7a47fbacadcbb4b25ae3a5b550aaf53991f\nInvalid =\n\nCurve = P-224\nX = f4fd02f3d224727e156a2cd7543483f3e35eb65219e32c7923f93ecf\nY = e7aa734828ef326259f98e0e8c3f30b62bd3295c6d1af2c429a087f6\nDigest = 8e70efc206d69d1bd1dce263a29a56030ad5602046bc61848899474d\nR = 9f57e28f69d2ebd96f6d98903156a4e795730e09fb67963771b0a851\nS = 8cfe716488479e04500c8eccdc86fdd54ff00258639f7177169e2030\nInvalid =\n\nCurve = P-224\nX = 0fdb8faf52d8f46229cca1e0f22e869a91bd56eb6dccc547151f9c68\nY = 96c8d1946528bdd2c14c3a0a9c17a088d3f0599752d095ba9de9ffa6\nDigest = db452771046d4b64ba673771b49df905881df9c4b6a1292a11f87515\nR = c53c0ce7d408278552a5fe5854c05641cbe93b1dc18eff1c68af53c1\nS = be7453a12693ce7812fe58746323882bc14eff972480b49431cb10b3\nInvalid =\n\nCurve = P-224\nX = 240431da69703b32ba2ae501d2458b355b66170725806b45996db195\nY = 13beb5198ee00abdcfb2cc5454416d4f7c795e97a14bd93cec3f0a56\nDigest = 3598d7d7b2cd9e482fd3bbebb9ae4549a4b452c81b89f3da6f6f2e85\nR = ad03bdf64e3450407a2a977e1985853d6ea41568c3a394d696de6739\nS = 7b55db9abf2045e2dc7ccfa2e8fb501883c494662d400590c74d100f\nInvalid =\n\nCurve = P-224\nX = 8c80c86f91b1e330f86f5177fdba839e625a27e8531f232efb10a484\nY = a24deab897", "8dfe7398f7a1da0633ff7cf5aa7b7365ce2d840ce81c80\nDigest = 44603667b2251cf051cd67b927714d67a25295679d884c4b79099a80\nR = 0c422b292308f31af78b1261d12765cced1cf96a83a6bc3bd90330fc\nS = db34f4462d0bb1927cc99273dc92d3fe654c85a3b53c6d74ed900621\nInvalid =\n\nCurve = P-224\nX = 3a5d1b7ee6749630c9619789b256f6bad5bc4b09950cd53b78d5ef30\nY = e85c7ee707df680eeb5fd78451f7302ae653f96721443826096f62a3\nDigest = 2ed9e7077df2ca2f8a96dfea2127b1b34147fcf963f9d73e8aff9df6\nR = 671ad280609364b0e26c92b13891f677db7c83499d0a3d7b6d80affa\nS = 7c4b9c5a3937d540ed8bd59e340c13f02313445e06b2bf7525f5726a\nInvalid =\n\nCurve = P-224\nX = 350f59509abc9f7f9b35a8b80065258727a8ffc27e6dac635ed68900\nY = 634fceae493b200cc7680297fd940dd86a5111da14bed68c797ef254\nDigest = 012a6edb0064f2b734b0297ab924efcb0e653be9e6ae97c371d59680\nR = 13a302b200555a0e80584e6ede32c0f9c5a199125b219c3e8d0fbf96\nS = 13f1d7b0c87acea6290cd9d36f1820f546f83dd8d7d9abe9da5812a9\nInvalid =\n\nCurve = P-224\nX = 1fdb820003a2fe61deef2b68b92ac711abc76200c534ec3abc99a187\nY = 32f87d0554b6b5e389311fd3c86825fcd42654a0b6f5d4d5ba73031b\nDigest = 2afe40d5042eb4020b14053e9ead6774d566e0b536912b7de4450090\nR = c03e551abcb12eadbc291b2d5fdd53bf725b785933e0766969f0355e\nS = 94826a8753cb949e0199be3220b4f90318f1c835cdd67efc50df7fbd\n\nCurve = P-224\nX = 208dcc6c87e7c38bd914bc9b350602ff62ac62fa4fd633c1af5b8cd7\nY = 0263587c7692c8be1f78de88ed6dc99ce1198ecc53a77ae6cf98a323\nDigest = 3f95e73294defecfc125a2dbbf322d31f323c030adf244c07a7c8746\nR = c12d3b396e1a894dfe4a28971ce4983547596879956504e1a3aed75c\nS = 067b729ca23be6cd520fbe9b972b9bb3d00c9ee96832a5c35e20e0e0\nInvalid =\n\nCurve = P-224\nX = a66a652fa36413dccd72c83febedda051182dc5758a1466366197f5f\nY = dc813a79e0fc647d8892dcf4f2132c90914a520cbbad65f458ee0fae\nDigest = 8a8942761ccd4ac7c88c4afcb6bc69d431cc3d10e6ad7a2b8610892f\nR = 809d1b4557eaf36b6eab3449dad56e61d572bd8b63d51b63af1b0bc6\nS = 8bf88226a463606ab57c27ed78f1b71ccd61732fa58b62ee845fd3dd\nInvalid =\n\nCurve = P-224\nX = 8856fb8b81a4eacd971a954560018f33cbb71cc1fc243d03f63cabcb\nY = 28afa26baf31b4d89de1dadd2289006f836f23a11383817ec7e4e799\nDigest = d8454640ad1f4632cc667823418ae56c62028825d727adfc84afdb0842b0c9a4\nR = efccef331805e71bbf876cbbc2342a6bc4508aea7c691029c8396aef\nS = bed544d09e28dbf01a30b2cfb61b98ad6201a9818f22b4f543f3e7f5\nInvalid =\n\nCurve = P-224\nX = 34c5ff3de565b85bfdd9f0a8b3fb0d46f924c57b276bcc830a1ed580\nY = 609d22200ef38b410da77f7a8ff2f58448188042978fd9ae1b2b4477\nDigest = 831979405db4eb9dadf01249fa15f68d4846e0ece70a320d3022f75f3dc281cc\nR = f0138024fe0516738f3bd0e0fec10defaca8c3b89c161a77489cf2b7\nS = 4ae0934266d9e3d64c2a12f546b132ba0f33ef50abc90e7ef5974805\n\nCurve = P-224\nX = 465afb14f4bf85022ac1f635f46c0b2f6548bace9352d32f74eab012\nY = 036371a3246dbf1069d2d268ca431553d1f2bf0181225145881b7be0\nDigest = 489cd3c10d94f7f284bc4ea472634a5d7f0d280d5abbf139c110ef80c8bf463f\nR = 9bcd57a2fec2518903e4b13dc0a7b84bafed5c4908546e94ffae87ed\nS = a337e06582f6b3973df38b93a0fb2a63f7774b62db50dba557e5cfcc\nInvalid =\n\nCurve = P-224\nX = b8b7f923c05ec95ebd484db7c58d219cfd26ee6b66149631f25ffe4c\nY = 6bda5f4f988784555a80b5494eca51ad2c7f88ce94d2090ee0c76fba\nDigest = b100feed0121d9d0471e5bd94a659510c2f84e313f476431deac17ca6d87bd79\nR = ce4d86bf5a7543d1cba8e4470a297e9a48d0096d7788c6284b1c0af3\nS = 229eb0636ee62508ce3719396d7577ed892cec70a66857fdee0d1fa0\nInvalid =\n\nCurve = P-224\nX = 13e84ec2eb993818d7d78330855ee2fbe8ddb548a5e4198e2087b3b2\nY = c95dff249e10c506fb547a92ade53c61ddbb667c760e4127a1a7f806\nDigest = 21a9f65d4cdcc287e0bf330e4f76f1168d16d0cea796dd6c0e13cd2837decaf1\nR = ed26f00ed696e114305c546ed04db5fc35efa43059c0d8bbcd418d0c\nS = 6e16efbe9501e3055d74966a49232cd76b5d1241468788b4cc7378b4\nInvalid =\n\nCurve = P-224\nX = 16c23c93699cf665a5da8b2d4baa72c36158d3433b1b945e47204b0d\nY = 12023703e1b59ec9054ff22d15567b9f74058b47cc13f2ca08ab77c1\nDigest = d62496d0ee0453e7f13f8d9c57adcd33442a5365f626381ed665f95f528aa198\nR = ada849b673a1bd2949a8b4d8fdfc239ec53524a356d37da3c9d17ae2\nS = 698de3a3d8697c2e8e5b2c85fceb8796750c5b44154f01ce86d99e24\nInvalid =\n\nCurve = P-224\nX = a580f9a0cd15abff8e1e712f16b0fd4142d0d773af3c657abc06c2a6\nY = 22c6286340dc072e64274209eda60503047700571caee64b4a2306c2\nDigest = 25ef291dd6a2047ea193f8aedd3f4692f2c135cb519922a17cba3e969423b030\nR = c6fae06274dc052e482102520b49d4ccc4cb7eb8a3ea41bd3680ddad\nS = 50d66b75a2bbd0468be1f9e61bfda85b6329505b0134d60846cbe4b7\n\nCurve = P-224\nX = 0b4fb6fe5f6cf6adc7d28683628d4b9c569d21d2397533f5bd121a23\nY = b44d60a3414b9b7b6e4ad735ce2f9cb05593b0874ada5e65acdead4c\nDigest = 7d53ebba0424c4b6731806407f97af4af863a5a87c759626830c9e8753ca50fe\nR = ab5ac2039b49690c6436793decb1a6a58ac34833a8091005312a93a7\nS = 98fe955cd836501cef78c7a05fa27edf2fb3afea80990028ff64e984\nInvalid =\n\nCurve = P-224\nX = bae2b3634c7854c932551ece8dced2139a51705059503881a9239c78\nY = 094d5e455bc9296202618d7022512b0f9ce53d796c7294e6eb076a29\nDigest = bb5c0917ec5376b2c685f3a530a9f8ef1ef1c1b398ab66f479d936cd662efc1b\nR = 2fbdc7e9e98aed5dbbcc5b034e17a95209e2fe1b01515426b8b372c3\nS = f2b19226528f10be6ef0d27ec3703db690261206b7e42f93a691192e\nInvalid =\n\nCurve = P-224\nX = 49d9ff4f4bbd4320b6806a7fbaaedd962283c766a6c130e4b62139dc\nY = 06dbe8e7fb8fccf9758101ae46939c6fd4d3afc526ba6c8156c6b013\nDigest = 9a113d3d73543e17faba847981e0b7fbc5647e547bfc989921ddc987133692d1\nR = 2d83aa59bcfc8a0237884826e08dbd78a56733598e379f2a9d51e9e2\nS = 485036c74618d0e665775fbe2d614a313c550f9826b955d3e5636fd1\nInvalid =\n\nCurve = P-224\nX = 78451cca49655978b65d8ddd45ff367c47f321f5d55ddac7969ab82b\nY = 25b77f820aa9ec93ec89d7fc84285f3f3deed496e0cd3fb9ee4a5c99\nDigest = 352afd36279bee1ef5727c55c7428bb79db949a9f1953eb98cfd38c4a4a458af\nR = 998789490e008ed11febdfe2981a55c733eb9739d7f37fd5c2a7ec96\nS = c3ec8afade81860ff23cc1e7d759d32d9a5775886ef17bfb719df4aa\nInvalid =\n\nCurve = P-224\nX = 18ced60b7fd9ebf76c3aa5976dcbdef40bd3e36033c013553043dd84\nY = 30398582dbd2004064f8055e7fe0fe8df11b2c9d9e2931ad12d09628\nDigest = a1e3668af6307f6a2b7414079e73308ee0836b588b92a48bd5baa9a62f45b0f8\nR = f880143960e812464810c175001b5d39592fe63aab544deb9ca301a0\nS = 1e0657df071a25dd791264b411c8964688f4fe17ce024e659836ebe1\nInvalid =\n\nCurve = P-224\nX = 5d67c1fca848ba7f3d9de5b1894d3993ac4ebe68cdb0b49553b3b0e9\nY = 07c219a8323273c81f5694306d0dd1d133a49efce5003bc90f05578f\nDigest = e8f714f901cd2390c66f9fa9cb81ecc5f17a82bd934cf19c5ce2bcbd3a985de9\nR = 767cb6b2efa7a40739830659b0cc24fe3de771d00104b3dcc0f640bc\nS = f2e7268bc011d79d33f3551d2edd3c95f324955479b8e29e8aba629b\n\nCurve = P-224\nX = eac72b399cb791b3ed25cb0a49eb157e69603197e0327eac5448680d\nY = bdab3a2270066e74e8210eed7b5d43fba1e26845b6c037a8a7e2a13b\nDigest = 74aa7c8f25644514582fa904cea1ea88a0b262ffca43cdf6536ad97d8550616e\nR = 55485947e9e3c194a29c8ecaddb18eefd16fb6919aeb0bbbd8c12369\nS = 6309a2cc7fdd9eccb32b86d5577aa54ada79899a9645f2e299630d31\nInvalid =\n\nCurve = P-224\nX = 17f741267bf3e8143046707d41eafc9555953fe5f57d6c035452b232\nY = c667554d9a55fc8ab1062203dcbcd2bf9769c696a295350cb28aa01a\nDigest = 3b997a1c220593cab4301e07886db745436911b8abfd9d1b03cc12e1c7fa4510\nR = 57408bfcc68e60ad000eddbfe6eccbe5f87b98c95de0e0a2e065da92\nS = 51249bddc149f0942be001b2f3d6f6d17a0cc36fefce147058944667\nInvalid =\n\nCurve = P-224\nX = 3297edac34cb802df263f8d366f62a8b746c316adfb1c84a1c79c58c\nY = 79fe82e87ef5879c12eda6adda198a662fd77afa6a1fb5696cb7da9d\nDigest = e71dc3ab7ce73995d053bc6361bbb3f20e39ec2f295d97fa2bd229ed31a56dde6bf2c9cf6b0a9cc7e65962c57f3662a3\nR = 9993defdcf83965723c03e04ce6c33b3972cef3c449cdf1bc69990db\nS = 553b22a4164549f16aa1a928eee74548fc141fd3c16f213318965974\n\nCurve = P-224\nX = 2bc010527ea7427cedd213aeccf0c62dc513785888c6373740139d8b\nY = 2e9eb7ddf027ff7678ca880511be147098b34d8e77acb4389fbc6e50\nDigest = 781195b6396344146fe8b73a2526b4b1c981d26b9adcce0123176be1239f798c847495fd714661d1ba8e41f2ccfd052b\nR = 70a7cb04295a53b4a3a695ccb5d87856fe9152fce11987d4c43207bd\nS = 49f4094368f2de9327ca2913ef940e17c5801e8f589413838831083f\nInvalid =\n\nCurve = P-224\nX = 55c6217adbefff6e21bfb5d1b75213ce7b20c900d514ee094f27ad0d\nY = a68ae9f86eb9c10de3e7d9b03868518f33f571f85c3529d2902575d3\nDigest = a318b24bbb5ba46e6656f8ad68201c024e7b3b3849d6a70f3abce8c20f5b98ae43a326f5f48994045f0ff27098837b5b\nR = c073fba87267b45853e693910c1de791908ca7a25c1716ec2d3cec71\nS = 6138c86daf1021ae4af0faaf0abd5958f93944d5b0d82c40214bacca\nInvalid =\n\nCurve = P-224\nX = 4d0cab0dae88fa0cf53a2a6562934e0cf", "0271cc7fe54a30109a232be\nY = 70835833cf9e1f989a18d419e7bee9eb5cef1fd145cf62c4411c372c\nDigest = 6abbf2557f2e9b4e020126f4a87fb0262a1ec59bd3b569581048c5692f8a1cd381ee9c3cf195fa1a362a87ab604d79b3\nR = 3b8548eab4dc123e236133d826f2badbde96f92249f456e33ccc9739\nS = c82b2e41b9e2b21594cc03b1c0de216f183403c6025e18bb29bff421\n\nCurve = P-224\nX = f55a53b818b3ec4b4402a2c63429c1d78f2cd0d8d202e33812878a03\nY = 5a2b1a00615c56b4313828bd70526b12f402df1d40fa4900c994af8b\nDigest = da8d2571bea9840494a41f03c6c357410de030a7b5c023a0487020bb5b7c45fb6c5ed0e3dc66e4c0ab8460d9bda68c94\nR = fa934f9fdb765fabb5693ccb1de4177f172a8de108805a48f4bb989c\nS = 12994f2a26252742667044a01b509b0f315e8141629f760267b850e1\nInvalid =\n\nCurve = P-224\nX = 40a5c52dda7de858a2c17d12856c552ab820023336b9b4fc196bcd67\nY = 301e5368f59c00f15e6f3a91510444fb75a4ead8efb0778b4419e7db\nDigest = 0f88ea2d9dd40c19cd31c7a7cff71379431c9dc0a3092041a5fcbd2c20a05a8cb6e5a8aa143f1dfa169d2eaf87d01e26\nR = 0fd8773fac425a2761b954c946020615336d3e350ae40743641917fe\nS = d59f2b806ccecc444f9387f511c7f9926fe7f045c0ea633a51b7db47\nInvalid =\n\nCurve = P-224\nX = 372a134eec0dae3322de8836b89dde11a69e0379a60b10343abd478c\nY = 65921970ca8cf5a75f044db0e29802afe1726d18b3e07b61c768c242\nDigest = 1547d49d33566f8c05f68b9a980e113f919bbdef8d6d53046456a2c2ebe27ad86eaa52d05677fadd5ccc3e84b04c0f94\nR = be6474845a42fd4e85b91238f1e3ba11cc88e216d295c1b07d855987\nS = 2724242ffb5775f614ee06eaa4c985358f64869ce4ae4bfb16b5271d\nInvalid =\n\nCurve = P-224\nX = 9ad2cee0d92b00b11157a18fcd752f43e772ede7a46475a50e7ad8d2\nY = a6edfae6c5589dc0db6353b8655fe3b0f7dab2aa8400cbbd72d1a572\nDigest = 60942be3ff8d2370481b04fa07743482e08a61d3724010d7edd49bcf12e1463ae059696c825ac0505f079625b95310a1\nR = c31a40b6c245572457a19efac0da0db22b2a0818de716b6fdc5bdb32\nS = ed8204de94f1d92ae3fa6e10c727eea38d0e12b58133fda1a15559bb\nInvalid =\n\nCurve = P-224\nX = ed071a20d76f81c776875f8d3307841d33b70523ea40abd691d55d21\nY = 34ca47d8ba0a984d0d728c4d8c6b9aacdded03c6070616680aac162c\nDigest = e0776a80c616b8e596bacb0391a19956b2f0e2c566c50dd2ba99f9e59ff3dfa6197622c2a64cb4d02780a39c68d249e0\nR = c7a5dce4733a81bd738e0a6e0667dc1fade86db119e7f3cde57d6dc6\nS = dfb7f43343941cce331be27047b131617910f68393630fa53d137df4\nInvalid =\n\nCurve = P-224\nX = f51097e1e4b4f3b32e92fded0b4c8b7240a62731292e615a4cae0dcf\nY = 0549003f18e67076bc68110a75252072fc29b6d4a336d152dac2c3d1\nDigest = 48803bce00fe101650dcc83b290c49a524b21422f1f6a3aaa6e2f201863ffc355346d167dcb0ac552007a46cf8d6e4ad\nR = 6875a118dbf586a51af2212d5f32908c9f31110e9e9a7e4cdf7494c5\nS = 1542ab4260459e82070bbad405193a1894ce717af158daf1d096bc01\nInvalid =\n\nCurve = P-224\nX = 5255e4fdc816044389e9c6f5e09b85aedbe1c85b1cf9b7190ef7c2cc\nY = 683c8cb6f31e4cc1e2a5361eb47e305d5d8bfeaf94e261a341aedde6\nDigest = 995229c018cd0ea061672c46ec30c99693fff1cad491b13b4093df0154872adf946644dee6192657b436931c30b7af9d\nR = f1b0f8a3fbf7d4de19cc1d3b4c525c31bd97c2e2a94eb8a27c7c197d\nS = 936d3f49a9aa58935cfe227b22db83314ffadcc4751c8e26853d8cd0\nInvalid =\n\nCurve = P-224\nX = 7cdaf519f6b1254cb8da4668a2dd2015857ceec17f838c15d7d34b27\nY = e29f80fa4f830af7737126d4454b6498905e2c633fa61ad6acb30823\nDigest = c7d8d1f060287ec402092be54ca6e06895e91f9d0c29010124c0d9bd54007d8039b7328ec7b3a29e1d5d4d8fb78807e4\nR = e640f3e676a11007e73efd00b23087adefc9b9407ae8b79b47c397f3\nS = 66b7860a0ca35c2f1c65d50f99def9f2bfc0a6cad2008dcc38d6b3d7\nInvalid =\n\nCurve = P-224\nX = ca1a04f08708ae714b7dfb3db509970d30b7e01be7fd6181613894a7\nY = 1d90a2fcda7dd6ce8b207eef48340e58cd439a3ce17658f6f82be778\nDigest = 1f710f925826bc33c0da91798cb7d7d0700883da685a1fb9503179f0a06b589bf92eb4b67496faf21cd74c8e3d560d77\nR = 9e810ec2a0bc205df6a75bd6410e0c8ea1c738e71af060e2eb271aa6\nS = 9d05eeb46258c468b0398cb6e421149bbea5ed936be3fde3380111cb\nInvalid =\n\nCurve = P-224\nX = 558c323d8259e055a025fbbe6ba8b525b02f32caddfd31e5b08219d4\nY = e1d6398b1c47132632cd3f3fae14fc3ee3092faa619074fd951a5870\nDigest = 4b662138833a976051b20ddfb02e67339715b77046bedeb1e30b9dccbcd84204e76da722bb3bd020fbbe33a182792e0f\nR = 05d8b0bcedf287a4740bfc548570b1c1fff71058e0a9d88476bbb6a1\nS = 769321d50e34939e622a727855501e25a7ad44ec979985e7389aa3f9\nInvalid =\n\nCurve = P-224\nX = 9237e61ad9ffafc61cc1c72b6d2f96d69b588c8feee4074359f694f7\nY = db25a18f1eee72734c640313f5c6c0441358611406cc62619113b4ba\nDigest = 4e7bbf78843a767536977b240e9d1516c73c0fa19bc91448280fd85361b06fdd11ee413f956ca4ea3d67c0e325a1d53a\nR = a58225b10080dab26644f10d8a817ffc4ed4535011729491b6ad5d00\nS = ddbc010e295882e0731ff240f15ed82fa3e81b7552c690cc5b40be03\n\nCurve = P-224\nX = ea7efb9a7e7bf693dc0249504ead70dd422ec86806cd649ed57a7ffe\nY = 33dfb17b1cb244279990019286ab477a2aff2b55c08959deed0b1a28\nDigest = 330f78db9f217f95d99cbcb5414a32523025b85c87ed5aaa3a5e6b006c53cecbbd446166bb9b98e944626332c3266e82356e72110bdbf7df2431b8e7faf59e45\nR = deab574de1f971419b7ba9e169866c3a6233fc627c13dc6a8cb88bdc\nS = 8d4c542bb0046da1b3912652a2c84542668cd89920808785d04e4352\nInvalid =\n\nCurve = P-224\nX = 6fce4d789b1240f2ab1c23051aa03e219da99943a18864e7876d4d11\nY = 3e84a6bddea4a28cf8151ae73aa7b1964c37e654241353a9fa723f67\nDigest = 0088e4cbf3eddb6eaf108fd3937c439684ff8fe5595f2032948423a2a15811b34b0def245bed3b4b4ca90d3f497f3aaa2577a7154d22d7254dfc4755eb9b7b17\nR = 2d1b4f1ccaebc0a929598b650ee364abfd6091a542ba426886d75f38\nS = 44f3d7afe84ae33ab5f9426dfc85248ebc7e0df434d35980ddec75e0\nInvalid =\n\nCurve = P-224\nX = 72013dd6f5b1eb709b3b7da234987f9a36c6f0b095620b8c31f02381\nY = 319d54c719b59d91900b3c20d963ddf1a10d80d6601ac155094b075a\nDigest = 3cba2980faf5579c7ddbeb31c3318a162a882129a1efe1fc9acc3219a617c460701f22fd7a5c46b017bd9ec9c40587127319ea14b148d2be4df9875d5bef6e4e\nR = eb38db9b757b3cf04020f09188c789bf0258cd0467cf7d67368e8703\nS = 7664e85f01e67881712b24083f89e838c8b818de4d665494e7016833\nInvalid =\n\nCurve = P-224\nX = c6a65011926eb64e02bf472d5ba37841d49cfb7f17a20fb9f59355de\nY = 386ccb33d944fd7be6b8531863d2b6200cd602d300d7e7681537e53f\nDigest = eaa81b1236121db12f2036611eb6d3e5386f5733125fb26844cb4188109aae402525fc63bcd73494c36c170d1934b108739d79b0c4f184bd85ffce93b1beecde\nR = 9e7c637a699dd52512faea847079f0ad41b20cd7a5461c36d01e857e\nS = dec6e9ef361de3f6ec7d87de3129eaac5fd0b43b5f7f58ce46c29173\n\nCurve = P-224\nX = 5bcdbaeb2f6c57e8a9dffe94804e74daaf9db8452d13c6a8bc2a4966\nY = a564072356c5d86200e979291a19d5e73d8bcb701cf84d9012824bf6\nDigest = 4a5de84f304f0c83365ae4213fee71c0944d8580f9d8e7455fc961e9f98bf3d51b7fc20aa44e36c0bdaa09e365767742e9bd8bc868d5c6cd8e1cd2ce2968e3dc\nR = c58436fb77aaa4468dee284e1220141ce9ff4426f75daadf5a898a6f\nS = 87aeee1229a50921d8e77e7e3478061f5c051097defb104a0455ed81\nInvalid =\n\nCurve = P-224\nX = 6c6a7deef8b3dee2eaa98d8ec877dddb460365968e63ffe5c249a421\nY = 1ad1715797b5e47c4be24d7ecb8141f1772344a2f643cc66fbcf3f9d\nDigest = f59946dd73887a1fb945ae3e5b44b574512e36dd7d35925b0bdc3a3f69a88e50dc6ebaaac86092679961a99d7ba5724363c5886e7c2cd566433c5a9d59e2515d\nR = f778faa2dc2cee7de2af0bbc4339239dc240907e59ac034464ce986b\nS = 2ac929588a8dc8785808c9d4366bd7b1a81e0fc5be0c63e62344c251\nInvalid =\n\nCurve = P-224\nX = 0ee33a134feae6ee1488bf10edf7cf7c318a2d709080a24818619b91\nY = d7d39536e42652baf55159847f475ded075385a3c1af5c3dcb17ee6a\nDigest = 00fc4992514c1053eee7facc5199161a2b0f69dad2770326371ba42c2c12ffdb4ff6bd86fc440dc8dc1354dad42ff0c2a055b61137532a62521b0f3508ebe611\nR = 34bd0407f80cb6fc759036e6d4522eb6da94874c92ce0f02d8f5f2ad\nS = 3a2dd970050ff990162e5702b06905d03e3c7bb2771050de6d84eece\nInvalid =\n\nCurve = P-224\nX = 31d3c62a4305c37a15e9102072e287a8e0ac027f9189cb9d87ecbea2\nY = 26449ca391af6a2a9f8daaa036f2c9044b336773ee48bcbd9cad59f0\nDigest = dfafbf96b70ead7e91dbf48b8efd062bf2bc0aac6d3e90a7fdf61aac13a74b304bcd0d0c23c88df269d45bdd31d50f0fccfc0324698af4dbcffef04ca05a119e\nR = dc33e8f7b52f584aa3f091aba10c2a9a23be6835e1551092652e1bbc\nS = ae84a6d19f6bad3f9886930c0a1406016fae813673db1516b31b638c\nInvalid =\n\nCurve = P-224\nX = a6e4470712df583d0c795237ff46c9df5718ba2aa24139a2d99721b4\nY = 9edb403a8c10807e8736af665dbcf6052bd4b43bcdc8b9eb8d4394fd\nDigest = 36cd6716cbb8b7f96df4617143be7b74f42bc94e468e79e6658d00b092e24d6de82f207693427fb439dd13bcf49665cac343ea35a79b5963cb21273094ce28fd\nR = 4e9ba5bc4f4fc4e507c1e5cbd0d688da4237385b16ff06601436d8ab\nS = 4e0450a57d802d0ea7b0fb57eb162267195bc4248a831a0ee8b0380d\nInvalid =\n\nCurve = P-224\nX = 350fa782e1cf7254b18cde30683e54edf2c1b4782525fd081bed5920\nY = a77de5b4139ff63e108b6fbd3a7e6c0", @@ -2707,15 +2794,15 @@ static const char *kData43[] = { "ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254e\nS = ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254e\nInvalid =\n\n# r = 3, x = n+3 is the smallest x with a reduction.\nCurve = P-256\nX = ce24c99032d52ac6ead23c0ae3ec68ef41e51a281fd457808c83136d7dcce90e\nY = 8f7a154b551e9f39c59279357aa491b2a62bdebc2bb78613883fc72936c057e0\nDigest = 09ca7e4eaa6e8ae9c7d261167129184883644d07dfba7cbfbc4c8a2e08360d5b\nR = 0000000000000000000000000000000000000000000000000000000000000003\nS = ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254e\n\n# r = 4, x = n+3 is incorrect.\nCurve = P-256\nX = ce24c99032d52ac6ead23c0ae3ec68ef41e51a281fd457808c83136d7dcce90e\nY = 8f7a154b551e9f39c59279357aa491b2a62bdebc2bb78613883fc72936c057e0\nDigest = 09ca7e4eaa6e8ae9c7d261167129184883644d07dfba7cbfbc4c8a2e08360d5b\nR = 0000000000000000000000000000000000000000000000000000000000000004\nS = ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254e\nInvalid =\n\n# r = p-3-n, x = p-3 is the largest valid x.\nCurve = P-256\nX = 768a0d300a595005a520130e50927d403395c8e1e40be997b48fc048410f7cdb\nY = 16f217d8e1c02bd887e5de388a17783b182e61b5d534152dc2c4be8d75fdd706\nDigest = 09ca7e4eaa6e8ae9c7d261167129184883644d07dfba7cbfbc4c8a2e08360d5b\nR = 000000000000000000000000000000004319055358e8617b0c46353d039cdaab\nS = ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254e\n\n# r = p-n+5, x = 5 is incorrect. r is too large to compare r+n with x.\nCurve = P-256\nX = 0ec505bc19b14a43e05678cccf07a443d3e871a2e19b68a4da91859a0650f324\nY = 77300e4f64e9982d94dff5d294428bb37cc9be66117cae9c389d2d495f68b987\nDigest = 09ca7e4eaa6e8ae9c7d261167129184883644d07dfba7cbfbc4c8a2e08360d5b\nR = 000000000000000000000000000000004319055358e8617b0c46353d039cdab3\nS = ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254e\nInvalid =\n\n# r = 2, x = 2 is valid.\nCurve = P-384\nX = 016d2db67561bc126ad6c344d6eeb2713a9e2892c649af0f015c6b7617f160c8a3b3a88add669d7155025073c5ac5b4f\nY = 43bf2ed0088af08645c80aa0a24a567a94ba2d794e9689d3ad4b185bc5d2dd008333e2dd2ebb5069a9b32251a3cac71e\nDigest = 1fcdb6059ce05172a26bbe2a3ccc88ed5a8cd5fc53edfd9053304d429296a6da23b1cd9e5c9ed3bb34f00418a70cdb7e\nR = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002\nS = ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52970\n\n# r = 2 + n, x = 2 is invalid. r must already be reduced.\nCurve = P-384\nX = 016d2db67561bc126ad6c344d6eeb2713a9e2892c649af0f015c6b7617f160c8a3b3a88add669d7155025073c5ac5b4f\nY = 43bf2ed0088af08645c80aa0a24a567a94ba2d794e9689d3ad4b185bc5d2dd008333e2dd2ebb5069a9b32251a3cac71e\nDigest = 1fcdb6059ce05172a26bbe2a3ccc88ed5a8cd5fc53edfd9053304d429296a6da23b1cd9e5c9ed3bb34f00418a70cdb7e\nR = ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52975\nS = ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52970\nInvalid =\n\n# r = n-1, x = n-1 is the largest x without a reduction.\nCurve = P-384\nX = b5b375264c09acf145ca91d12ab10a096092a41ec43f4d718e129ea1c12b2dea62c7785efc52f46f009fb1dba133e811\nY = bc0b2af172b4b3068d032a798080e76f4d56f72069519e3c19a43682a41794e52cb3ca139348d6bbc923e6a4f7945cb1\nDigest = 1fcdb6059ce05172a26bbe2a3ccc88ed5a8cd5fc53edfd9053304d429296a6da23b1cd9e5c9ed3bb34f00418a70cdb7e\nR = ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972\nS = ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52970\n\n# r = n-2, x = n-1 is incorrect.\nCurve = P-384\nX = b5b375264c09acf145ca91d12ab10a096092a41ec43f4d718e129ea1c12b2dea62c7785efc52f46f009fb1dba133e811\nY = bc0b2af172b4b3068d032a798080e76f4d56f72069519e3c19a43682a41794e52cb3ca139348d6bbc923e6a4f7945cb1\nDigest = 1fcdb6059ce05172a26bbe2a3ccc88ed5a8cd5fc53edfd9053304d429296a6da23b1cd9e5c9ed3bb34f00418a70cdb7e\nR = ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52971\nS = ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52970\nInvalid =\n\n# r = 2, x = n+2 is the smallest x with a reduction.\nCurve = P-384\nX = 01b54a697305092bac2939fb906d7471b411c4eba8654169166a5da3810e1fc96795df921f7abbf519be4a027435176c\nY = a19012a3518773d508106d4153adee43c3c384fa62ce36a4addea08f593ec9c76b09a6b9c69d29bd7d47eb48e167dd2f\nDigest = 1fcdb6059ce05172a26bbe2a3ccc88ed5a8cd5fc53edfd9053304d429296a6da23b1cd9e5c9ed3bb34f00418a70cdb7e\nR = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002\nS = ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52970\n\n# r = 3, x = n+2 is incorrect.\nCurve = P-384\nX = 01b54a697305092bac2939fb906d7471b411c4eba8654169166a5da3810e1fc96795df921f7abbf519be4a027435176c\nY = a19012a3518773d508106d4153adee43c3c384fa62ce36a4addea08f593ec9c76b09a6b9c69d29bd7d47eb48e167dd2f\nDigest = 1fcdb6059ce05172a26bbe2a3ccc88ed5a8cd5fc53edfd9053304d429296a6da23b1cd9e5c9ed3bb34f00418a70cdb7e\nR = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003\nS = ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52970\nInvalid =\n\n# r = p-1-n, x = p-1 is the largest valid x.\nCurve = P-384\nX = c4fd8e68006b83f7b7b20b731ae405813aa05f6e57374589b36ae1cecd1d49cae1418c22f398188bcf4ef02e89fe7394\nY = dd1164b3707f59e05129fa228b8448031db159985f035d93470dc42b3ab4129f0760c46cf201d42e73a7e33ba7402ea6\nDigest = 1fcdb6059ce05172a26bbe2a3ccc88ed5a8cd5fc53edfd9053304d429296a6da23b1cd9e5c9ed3bb34f00418a70cdb7e\nR = 000000000000000000000000000000000000000000000000389cb27e0bc8d21fa7e5f24cb74f58851313e696333ad68b\nS = ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52970\n\n# r = p-n+2, x = 2 is incorrect. r is too large to compare r+n with x.\nCurve = P-384\nX = 4e5e4f1a6e97059a6cf2f4e8129e5c7c64cb84f9994a41ff5bf30b29c1bf5ba6898627c91a23c73e05cd1a43c8f908c0\nY = 06a0aed7f1e63a728f87dbd5360a67571a076ab0b4cde81b10d499959814ddb3a8c7854b0bbfa87cc272f90bca2a2254\nDigest = 1fcdb6059ce05172a26bbe2a3ccc88ed5a8cd5fc53edfd9053304d429296a6da23b1cd9e5c9ed3bb34f00418a70cdb7e\nR = 000000000000000000000000000000000000000000000000389cb27e0bc8d21fa7e5f24cb74f58851313e696333ad68e\nS = ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52970\nInvalid =\n\n# r = 1, x = 1 is valid.\nCurve = P-521\nX = 00f07e0b593332d09ec4fd0bae93f648a3da04dd224faae3f64cc490ec8fce3a6fe53d1b2c9e326be076cafb921b7e3f8b2288db491819522d65472870668c3808c9\nY = 018e42509aca542a8de421589c38ba653e8cfd69322336217042a9dc0f67f6d7ae2cd4e385f480ffaf8981f715c7ca3765d9867dfd5a02947b0895f82eaf8b257e88\nDigest = 8710339dcb6814d0d9d2290ef422285c9322b7163951f9a0ca8f883d3305286f44139aa374848e4174f5aada663027e4548637b6d19894aec4fb6c46a139fbf9\nR = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nS = 01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386406\n\n# r = 1 + n, x = 1 is invalid. r must already be reduced.\nCurve = P-521\nX = 00f07e0b593332d09ec4fd0bae93f648a3da04dd224faae3f64cc490ec8fce3a6fe53d1b2c9e326be076cafb921b7e3f8b2288db491819522d65472870668c3808c9\nY = 018e42509aca542a8de421589c38ba653e8cfd69322336217042a9dc0f67f6d7ae2cd4e385f480ffaf8981f715c7ca3765d9867dfd5a02947b0895f82eaf8b257e88\nDigest = 8710339dcb6814d0d9d2290ef422285c9322b7163951f9a0ca8f883d3305286f44139aa374848e4174f5aada663027e4548637b6d19894aec4fb6c46a139fbf9\nR = 01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a\nS = 01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386406\nInvalid =\n\n# r = n-2, x = n-2 is the largest x without a reduction.\nCurve = P-521\nX = 002a61afb982e49f030dd4e6ba0e495703abe0442b1283ee693fffc1b558f49f0a4cb4f138ea0604e667958495b86c61f358dce7e7f170da47372be3e4168408a260\nY = 01baa19e8929fc8e7208e854e706a3d7f21479d1f6922a6", "5ae3490fd5f52ae6580513b1fdd5bee927d002a9608abbb925b6727bdc110a3145fc8622d1fa8154c82d8\nDigest = 8710339dcb6814d0d9d2290ef422285c9322b7163951f9a0ca8f883d3305286f44139aa374848e4174f5aada663027e4548637b6d19894aec4fb6c46a139fbf9\nR = 01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386407\nS = 01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386406\n\n# r = n-3, x = n-2 is incorrect.\nCurve = P-521\nX = 002a61afb982e49f030dd4e6ba0e495703abe0442b1283ee693fffc1b558f49f0a4cb4f138ea0604e667958495b86c61f358dce7e7f170da47372be3e4168408a260\nY = 01baa19e8929fc8e7208e854e706a3d7f21479d1f6922a65ae3490fd5f52ae6580513b1fdd5bee927d002a9608abbb925b6727bdc110a3145fc8622d1fa8154c82d8\nDigest = 8710339dcb6814d0d9d2290ef422285c9322b7163951f9a0ca8f883d3305286f44139aa374848e4174f5aada663027e4548637b6d19894aec4fb6c46a139fbf9\nR = 01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386406\nS = 01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386406\nInvalid =\n\n# r = 1, x = n+1 is the smallest x with a reduction.\nCurve = P-521\nX = 0049bbb2d3267a6eab2c59fac5b138b9e9c383db6637fcfe5d9f430e4c4c2ba0332340975448bd86c92a55c1a8288adf7f774096022419aa8c497499dafee7b93257\nY = 00bb52fd444ec497ce228135f2498d40fb84eb6f674df1245d3aaac3c75b55ff5fff8e90b6f0189a3132cb9fd8d6e74fda5866fe2b9fc7484c628fde97e0b00f2b67\nDigest = 8710339dcb6814d0d9d2290ef422285c9322b7163951f9a0ca8f883d3305286f44139aa374848e4174f5aada663027e4548637b6d19894aec4fb6c46a139fbf9\nR = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nS = 01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386406\n\n# r = 2, x = n+1 is incorrect.\nCurve = P-521\nX = 0049bbb2d3267a6eab2c59fac5b138b9e9c383db6637fcfe5d9f430e4c4c2ba0332340975448bd86c92a55c1a8288adf7f774096022419aa8c497499dafee7b93257\nY = 00bb52fd444ec497ce228135f2498d40fb84eb6f674df1245d3aaac3c75b55ff5fff8e90b6f0189a3132cb9fd8d6e74fda5866fe2b9fc7484c628fde97e0b00f2b67\nDigest = 8710339dcb6814d0d9d2290ef422285c9322b7163951f9a0ca8f883d3305286f44139aa374848e4174f5aada663027e4548637b6d19894aec4fb6c46a139fbf9\nR = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002\nS = 01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386406\nInvalid =\n\n# r = p-1-n, x = p-1 is the largest valid x.\nCurve = P-521\nX = 00f651d53d45bf6fd55a5f184e580d11259bc65200387dbc1bf7fb867d2d12a207d2962204ccf38e9d37d23ed95bd01ec576c457127766ecb8ad00342a476ea82078\nY = 0196caedf64fbaa9a12c16836e0564e36f733957375706edb5f32911991a994c2d6a1ea5db2ee764835a9d6aff379e195f722b48e8d2b60fc50de2a5160c77c3f06c\nDigest = 8710339dcb6814d0d9d2290ef422285c9322b7163951f9a0ca8f883d3305286f44139aa374848e4174f5aada663027e4548637b6d19894aec4fb6c46a139fbf9\nR = 00000000000000000000000000000000000000000000000000000000000000000005ae79787c40d069948033feb708f65a2fc44a36477663b851449048e16ec79bf5\nS = 01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386406\n\n# r = p-n+1, x = 1 is incorrect. r is too large to compare r+n with x.\nCurve = P-521\nX = 009eeb7f956230c3744ca5b683f413009363107aad18a027fa7af6ac07a699911e94143d3ef00c0062d4187c2ea74dc9322c05431a6b7fed51ee71b047ce3a0e967c\nY = 007d2c089a6720f7c7886ce8aa6aeb9b821adde0eb025ef63c62d37c32b2d6823c857ce7743b8181c35c8f34e6aeb4487dd693e01d69dfe883c07c25ebe89bdc4d56\nDigest = 8710339dcb6814d0d9d2290ef422285c9322b7163951f9a0ca8f883d3305286f44139aa374848e4174f5aada663027e4548637b6d19894aec4fb6c46a139fbf9\nR = 00000000000000000000000000000000000000000000000000000000000000000005ae79787c40d069948033feb708f65a2fc44a36477663b851449048e16ec79bf7\nS = 01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386406\nInvalid =\n\n# Although we do not support secp160r1, all our built-in curves have p > n,\n# while n > p is reachable from custom curve logic. Moreover, p and n have\n# different word widths on 32-bit machines. We include some test vectors to\n# cover these cases.\n#\n# When n > p, the reduction mod n never occurs, but an optimized implementation,\n# working mod p, may incorrectly accept, e.g., r = p+4 instead of r = 4.\n\n# r = 4, x = 4 is valid.\nCurve = secp160r1\nX = 39891bd61138e775cd012518ff00f59ae01c4733\nY = 25026b77b1c44affb1592dcf711b4290e9404c9f\nDigest = 09ca7e4eaa6e8ae9c7d261167129184883644d07dfba7cbfbc4c8a2e08360d5b\nR = 000000000000000000000000000000000000000004\nS = 0100000000000000000001f4c8f927aed3ca752254\n\n# r = 4 + n, x = 4 is invalid. r must already be reduced.\nCurve = secp160r1\nX = 39891bd61138e775cd012518ff00f59ae01c4733\nY = 25026b77b1c44affb1592dcf711b4290e9404c9f\nDigest = 09ca7e4eaa6e8ae9c7d261167129184883644d07dfba7cbfbc4c8a2e08360d5b\nR = 0100000000000000000001f4c8f927aed3ca75225b\nS = 0100000000000000000001f4c8f927aed3ca752254\nInvalid =\n\n# r = p-3, x = p-3 are the largest valid values of x and r.\nCurve = secp160r1\nX = d88d902a0d8d942333c7b846a933d4794fcb5807\nY = d24c4f405689b86cd5c61fe104e6365d254d5222\nDigest = 09ca7e4eaa6e8ae9c7d261167129184883644d07dfba7cbfbc4c8a2e08360d5b\nR = 00ffffffffffffffffffffffffffffffff7ffffffc\nS = 0100000000000000000001f4c8f927aed3ca752254\n\n# r = p-4, x = p-3 is incorrect.\nCurve = secp160r1\nX = d88d902a0d8d942333c7b846a933d4794fcb5807\nY = d24c4f405689b86cd5c61fe104e6365d254d5222\nDigest = 09ca7e4eaa6e8ae9c7d261167129184883644d07dfba7cbfbc4c8a2e08360d5b\nR = 00ffffffffffffffffffffffffffffffff7ffffffb\nS = 0100000000000000000001f4c8f927aed3ca752254\nInvalid =\n\n# r = p+4, x = 4 is incorrect. They should be compared modulo the order, not p,\n# so r >= p is never valid.\nCurve = secp160r1\nX = d8add22064027856c162243ab09ea96642975297\nY = 8822a506712385ab3ebe5c61737c3bbb722b06b9\nDigest = 09ca7e4eaa6e8ae9c7d261167129184883644d07dfba7cbfbc4c8a2e08360d5b\nR = 00ffffffffffffffffffffffffffffffff80000003\nS = 0100000000000000000001f4c8f927aed3ca752254\nInvalid =\n", }; -static const size_t kLen44 = 9174; +static const size_t kLen46 = 9174; -static const char *kData44[] = { +static const char *kData46[] = { "Key = 00000000000000000000000000000000\nPlaintext = \nAdditionalData = \nNonce = 000000000000000000000000\nCiphertext = \nTag = 58e2fccefa7e3061367f1d57a4e7455a\n\nKey = 00000000000000000000000000000000\nPlaintext = 00000000000000000000000000000000\nAdditionalData = \nNonce = 000000000000000000000000\nCiphertext = 0388dace60b6a392f328c2b971b2fe78\nTag = ab6e47d42cec13bdf53a67b21257bddf\n\nKey = feffe9928665731c6d6a8f9467308308\nPlaintext = d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b391aafd255\nAdditionalData = \nNonce = cafebabefacedbaddecaf888\nCiphertext = 42831ec2217774244b7221b784d0d49ce3aa212f2c02a4e035c17e2329aca12e21d514b25466931c7d8f6a5aac84aa051ba30b396a0aac973d58e091473f5985\nTag = 4d5c2af327cd64a62cf35abd2ba6fab4\n\nKey = feffe9928665731c6d6a8f9467308308\nPlaintext = d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39\nAdditionalData = feedfacedeadbeeffeedfacedeadbeefabaddad2\nNonce = cafebabefacedbaddecaf888\nCiphertext = 42831ec2217774244b7221b784d0d49ce3aa212f2c02a4e035c17e2329aca12e21d514b25466931c7d8f6a5aac84aa051ba30b396a0aac973d58e091\nTag = 5bc94fbc3221a5db94fae95ae7121a47\n\nKey = feffe9928665731c6d6a8f9467308308\nPlaintext = d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39\nAdditionalData = feedfacedeadbeeffeedfacedeadbeefabaddad2\nNonce = cafebabefacedbad\nCiphertext = 61353b4c2806934a777ff51fa22a4755699b2a714fcdc6f83766e5f97b6c742373806900e49f24b22b097544d4896b424989b5e1ebac0f07c23f4598\nTag = 3612d2e79e3b0785561be14aaca2fccb\n\nKey = feffe9928665731c6d6a8f9467308308\nPlaintext = d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39\nAdditionalData = feedfacedeadbeeffeedfacedeadbeefabaddad2\nNonce = 9313225df88406e555909c5aff5269aa6a7a9538534f7da1e4c303d2a318a728c3c0c95156809539fcf0e2429a6b525416aedbf5a0de6a57a637b39b\nCiphertext = 8ce24998625615b603a033aca13fb894be9112a5c3a211a8ba262a3cca7e2ca701e4a9a4fba43c90ccdcb281d48c7c6fd62875d2aca417034c34aee5\nTag = 619cc5aefffe0bfa462af43c1699d050\n\nKey = 000000000000000000000000000000000000000000000000\nPlaintext = \nAdditionalData = \nNonce = 000000000000000000000000\nCiphertext = \nTag = cd33b28ac773f74ba00ed1f312572435\n\nKey = 000000000000000000000000000000000000000000000000\nPlaintext = 00000000000000000000000000000000\nAdditionalData = \nNonce = 000000000000000000000000\nCiphertext = 98e7247c07f0fe411c267e4384b0f600\nTag = 2ff58d80033927ab8ef4d4587514f0fb\n\nKey = feffe9928665731c6d6a8f9467308308feffe9928665731c\nPlaintext = d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b391aafd255\nAdditionalData = \nNonce = cafebabefacedbaddecaf888\nCiphertext = 3980ca0b3c00e841eb06fac4872a2757859e1ceaa6efd984628593b40ca1e19c7d773d00c144c525ac619d18c84a3f4718e2448b2fe324d9ccda2710acade256\nTag = 9924a7c8587336bfb118024db8674a14\n\nKey = feffe9928665731c6d6a8f9467308308feffe9928665731c\nPlaintext = d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39\nAdditionalData = feedfacedeadbeeffeedfacedeadbeefabaddad2\nNonce = cafebabefacedbaddecaf888\nCiphertext = 3980ca0b3c00e841eb06fac4872a2757859e1ceaa6efd984628593b40ca1e19c7d773d00c144c525ac619d18c84a3f4718e2448b2fe324d9ccda2710\nTag = 2519498e80f1478f37ba55bd6d27618c\n\nKey = feffe9928665731c6d6a8f9467308308feffe9928665731c\nPlaintext = d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39\nAdditionalData = feedfacedeadbeeffeedfacedeadbeefabaddad2\nNonce = cafebabefacedbad\nCiphertext = 0f10f599ae14a154ed24b36e25324db8c566632ef2bbb34f8347280fc4507057fddc29df9a471f75c66541d4d4dad1c9e93a19a58e8b473fa0f062f7\nTag = 65dcc57fcf623a24094fcca40d3533f8\n\nKey = feffe9928665731c6d6a8f9467308308feffe9928665731c\nPlaintext = d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39\nAdditionalData = feedfacedeadbeeffeedfacedeadbeefabaddad2\nNonce = cafebabefacedbad\nCiphertext = 0f10f599ae14a154ed24b36e25324db8c566632ef2bbb34f8347280fc4507057fddc29df9a471f75c66541d4d4dad1c9e93a19a58e8b473fa0f062f7\nTag = 65dcc57fcf623a24094fcca40d3533f8\n\nKey = feffe9928665731c6d6a8f9467308308feffe9928665731c\nPlaintext = d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39\nAdditionalData = feedfacedeadbeeffeedfacedeadbeefabaddad2\nNonce = 9313225df88406e555909c5aff5269aa6a7a9538534f7da1e4c303d2a318a728c3c0c95156809539fcf0e2429a6b525416aedbf5a0de6a57a637b39b\nCiphertext = d27e88681ce3243c4830165a8fdcf9ff1de9a1d8e6b447ef6ef7b79828666e4581e79012af34ddd9e2f037589b292db3e67c036745fa22e7e9b7373b\nTag = dcf566ff291c25bbb8568fc3d376a6d9\n\nKey = 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext = \nAdditionalData = \nNonce = 000000000000000000000000\nCiphertext = \nTag = 530f8afbc74536b9a963b4f1c4cb738b\n\nKey = 0000000000000000000000000000000000000000000000000000000000000000\nPlaintext = 00000000000000000000000000000000\nAdditionalData = \nNonce = 000000000000000000000000\nCiphertext = cea7403d4d606b6e074ec5d3baf39d18\nTag = d0d1c8a799996bf0265b98b5d48ab919\n\nKey = feffe9928665731c6d6a8f9467308308feffe9928665731c6d6a8f9467308308\nPlaintext = d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b391aafd255\nAdditionalData = \nNonce = cafebabefacedbaddecaf888\nCiphertext = 522dc1f099567d07f47f37a32a84427d643a8cdcbfe5c0c97598a2bd2555d1aa8cb08e48590dbb3da7b08b1056828838c5f61e6393ba7a0abcc9f662898015ad\nTag = b094dac5d93471bdec1a502270e3cc6c\n\nKey = feffe9928665731c6d6a8f9467308308feffe9928665731c6d6a8f9467308308\nPlaintext = d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39\nAdditionalData = feedfacedeadbeeffeedfacedeadbeefabaddad2\nNonce = cafebabefacedbaddecaf888\nCiphertext = 522dc1f099567d07f47f37a32a84427d643a8cdcbfe5c0c97598a2bd2555d1aa8cb08e48590dbb3da7b08b1056828838c5f61e6393ba7a0abcc9f662\nTag = 76fc6ece0f4e1768cddf8853bb2d551b\n\nKey = feffe9928665731c6d6a8f9467308308feffe9928665731c6d6a8f9467308308\nPlaintext = d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39\nAdditionalData = feedfacedeadbeeffeedfacedeadbeefabaddad2\nNonce = cafebabefacedbad\nCiphertext = c3762df1ca787d32ae47c13bf19844cbaf1ae14d0b976afac52ff7d79bba9de0feb582d33934a4f0954cc2363bc73f7862ac430e64abe499f47c9b1f\nTag = 3a337dbf46a792c45e454913fe2ea8f2\n\nKey = feffe9928665731c6d6a8f9467308308feffe9928665731c6d6a8f9467308308\nPlaintext = d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39\nAdditionalData = feedfacedeadbeeffeedfacedeadbeefabaddad2\nNonce = 9313225df88406e555909c5aff5269aa6a7a9538534f7da1e4c303d2a318a728c3c0c95156809539fcf0e2429a6b525416aedbf5a0de6a57a637b39b\nCiphertext = 5a8def2f0c9e53f1f75d7853659e2a20eeb2b22aafde6419a058ab4f6f746bf40fc0c3b780f244452da3ebf1c5d82cdea2418997200ef82e44ae7e3f\nTag = a44a8266ee1c8eb0c8b5d4cf5ae9f19a\n\nKey = 00000000000000000000000000000000\nPlaintext = \nAdditionalData = d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b391aafd255522dc1f099567d07f47f37a32a84427d643a8cdcbfe5c0c97598a2bd2555d1aa8cb08e48590dbb3da7b08b1056828838c5f61e6393ba7a0abcc9f662898015ad\nNonce = 000000000000000000000000\nCiphertext = \nTag = 5fea793a2d6f974d37e68e0cb8ff9492\n\nKey = 00000000000000000000000000000000\nPlaintext = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nAdditionalData = \n# This nonce results in 0xfff in counter LSB.\nNonce = ffffffff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nCiphertext = 56b3373ca9ef6e4a2b64fe1e9a17b61425f10d47a75a5fce13efc6bc784af24f4141bdd48cf7c770887afd573cca5418a9aeffcd7c5ceddfc6a78397b9a85b499da558257267caab2ad0b23ca476a53cb17fb41c4b8b475cb4f3f7165094c229c9e8c4dc0a2a5ff1903e501511221376a1cdb8364c5061a20cae74bc4acd76ceb0abc9fd3217ef9f8c90be402ddf6d8697f4f880dff15bfb7a6b28241ec8fe183c2d59e3f9dfff653c7126f0acb9e64211f42bae12af462b1070bef1ab5e3606872ca10dee15b3249b1a1b958f23134c4bccb7d03200bce420a2f8eb66dcf3644d1423c1b5699003c13ecef4bf38a3b60eedc34033bac1902783dc6d89e2e774188a439c7ebcc0672dbda4ddcfb2794613b0be41315ef778708a70ee7d75165c\nTag = 8b307f6b33286d0ab026a9ed3fe1e85f\n", }; -static const size_t kLen45 = 157331; +static const size_t kLen47 = 157331; -static const char *kData45[] = { +static const char *kData47[] = { "# These test vectors were taken from NIST's CAVP tests for CTR-DRBG.\n# Specifically those for AES-256 with no derivation function.\n\nEntropyInput = e4bc23c5089a19d86f4119cb3fa08c0a4991e0a1def17e101e4c14d9c323460a7c2fb58e0b086c6c57b55f56cae25bad\nPersonalizationString =\nEntropyInputReseed = fd85a836bba85019881e8c6bad23c9061adc75477659acaea8e4a01dfe07a1832dad1c136f59d70f8653a5dc118663d6\nAdditionalInputReseed =\nAdditionalInput1 =\nAdditionalInput2 =\nReturnedBits = b2cb8905c05e5950ca31895096be29ea3d5a3b82b269495554eb80fe07de43e193b9e7c3ece73b80e062b1c1f68202fbb1c52a040ea2478864295282234aaada\n\nEntropyInput = edfdb55e77d418a63e4414dfd42225ed257cf74e99325fba26e8f3a4524a71bc80a731af23256908cb4675a9c253ea6f\nPersonalizationString =\nEntropyInputReseed = a9372fea93d607fbbc75a97b7f65f2d4ae8c06bd184981572e888a35c5794d2bb380a4ae04bba27f2efcc9e7914b96dc\nAdditionalInputReseed =\nAdditionalInput1 =\nAdditionalInput2 =\nReturnedBits = 11b1a0f0bb935ec0c54e089e0cd20832d1f00e7069f30e9ea2e35b7f15ecf0577d0e90035bf0f91ffd9e8a1fa8a507503739afbec19393e02c9b7c230cdea36f\n\nEntropyInput = f253fd442b105434c0f47ba9b6798bc20c8832a142a2a6d965678485a3ac52393528a5e092341d60ad74429f4005f8bb\nPersonalizationString =\nEntropyInputReseed = 600c822b198dbdcd9d13ee25bd4b846e5d8665725eac5347b4cfe7512c1f3fbdc4c51c85d977ca58e9e6485a17c533bb\nAdditionalInputReseed =\nAdditionalInput1 =\nAdditionalInput2 =\nReturnedBits = 076419bdd354d6a1f1415a0a71bed94db29cad22f0205d983c841874497875a4857404e573545366850fe6eb5286e0deb87ddd63bb3317b4556a82920412aeef\n\nEntropyInput = 8dbf2c37dbbf3862f05af4b32e98edd3d8cd7bd34d8a23daa2d15200daed6e9d238387ba85ddfd35a2986bdf5790e1a7\nPersonalizationString =\nEntropyInputReseed = f67aed05dea08baa16cbb669ae310a0b8e019da0a7fe2762abf684121292186a50bc13d568576ce5d7aeb080e4604a1e\nAdditionalInputReseed =\nAdditionalInput1 =\nAdditionalInput2 =\nReturnedBits = 69666e65c5623140da35927ec39189fcfda0891674efdcd2a7d6f2628921a37bd49a164590413c04f6090a50336f040b015dd8c45452991bcdd96994c5ecc6bd\n\nEntropyInput = 2fac25dcea5274a7dbd6af112d757b59a4447f5dcbda972666af071c5d8f71583ec6914a1e685f610b8a43ffada0b411\nPersonalizationString =\nEntropyInputReseed = 52f5b1f927c0873ae375d6a6e140fe594fd474a63bcdcd6a98109e32ad980ce534714ec626dad7acd43101415e5817d2\nAdditionalInputReseed =\nAdditionalInput1 =\nAdditionalInput2 =\nReturnedBits = 3096cf20137eb6f94d9d26a4871eddf10285c6984776847105ca9294aafc68925ad8bd7f36bb68fe371476114649ead11b926f9f0fc1d21c744342ff5c44c8e3\n\nEntropyInput = 4133a0e6ce837125f46f2a44e05c4f64d76879156ea16a1d16db1d3ec460cc53609fa9e4b3081f9dde0b79f00c93ac5a\nPersonalizationString =\nEntropyInputReseed = 4613b2327dc9054f34faf933d62bf7b12ec8b34626c07ef7512cecd8aedcbd4023f26b859a941c5af77ec1e2e02a1d9c\nAdditionalInputReseed =\nAdditionalInput1 =\nAdditionalInput2 =\nReturnedBits = be02e94fd18c488741fd90b6980118dffba1cda5bd25aa23d44414392201c5a78c3ea68252f92afaaf540b298d3f80a94818f1d1ca84c2be5f66a46191a7548b\n\nEntropyInput = e312fd67b5009ab1c896ba8f85d53fb29517ed2a26d20a4b9d09505ec004bef5739cc94e7f368989c675eee1f40501a2\nPersonalizationString =\nEntropyInputReseed = 176ec11c0d4462ea26b1bdee41208e3ff3b430de11f12567ebe982c16d709f681fcd9f5bd5309f3f2a9d80b3a426929a\nAdditionalInputReseed =\nAdditionalInput1 =\nAdditionalInput2 =\nReturnedBits = 07cb9f51e34be38fe1d1c18858ee44db227c1e6a6c2f7d09e9143e87e9e09df0af9a5cb7a183e5d26359509fe619e52e59e3333d3620373d3ae5a008b51ef786\n\nEntropyInput = 3eaf30117135d9167c829e35bd8da227a6302471b649381858085e67c65496058ded0ab176a38b3888f4e3c2e65269dd\nPersonalizationString =\nEntropyInputReseed = df60a1b9fb2f8501756edd09e489fc98a60ed08646f5a2e018f55b71c76b9b7718ac4ae61b41241593829108ddeb0ef0\nAdditionalInputReseed =\nAdditionalInput1 =\nAdditionalInput2 =\nReturnedBits = 29c4d540354e97f50f3fb1de84eef471192cd76a670de34176c6465523ff249ed5eafe2c09f091f5ed101cf8a971d782f150a2642ed291e850906e29328d6b8a\n\nEntropyInput = 99d5543c192c6a1069bf548d80d678bc42c1f020f0b29a0ceeba424c03f8a8aa38df1c0fe100ee4c1b0bc870b4afa3d2\nPersonalizationString =\nEntropyInputReseed = a0fddd29c792f6f411b5d532fff2564d492ca15ac8b7fe1b4575e9b59806823665ad7ac4e2adcd2803ccaabe87ab75ed\nAdditionalInputReseed =\nAdditionalInput1 =\nAdditionalInput2 =\nReturnedBits = 3d58e98a1f4beda50f84f773c405d106b28f4be6da2a2942098403843bffa3323c53661a7f072a020c68f55ea2b3a9cf9157b7c4cdff5e642ee9be1f436f9c18\n\nEntropyInput = 2151ba6cf2ed6a7366991e516443162b6ed4e7f8ef2d6c81ec5e5feb0061e20ced65da27847956194dc6177b5e0befa9\nPersonalizationString =\nEntropyInputReseed = 73418efab1c6039145dc6ce09b84abde4ef4f8eaccbac250213bdd75e2a5e8b42ffb1367bd8d1281e3b0051651f78a05\nAdditionalInputReseed =\nAdditionalInput1 =\nAdditionalInput2 =\nReturnedBits = 5b219cb285c820f3bce52b9eff15afa042de3036f1a52896eab34e4476c28c60127cf8daddce0809efafab03c9269cd220a49f79220e14db9d208311d2a22a1b\n\nEntropyInput = 7c7321b69fdefdece32c45e47cce07a0d599e83ea8ee5781e2f2ff341f292c0bdb848e5ab379771639e811fed45f63d7\nPersonalizationString =\nEntropyInputReseed = 4b04652d3d0515b305f4da346754c0d398c8cfefe8e5c1edacb79cb8396018bda12ad7d42bf86e801159bb62c34fff68\nAdditionalInputReseed =\nAdditionalInput1 =\nAdditionalInput2 =\nReturnedBits = 379c12dc2c8a884c6f40df5353047d74efbd9c626795b86256abec4a6f42ba26529f19e4b043f53776180c7ab16a3817b4a50c09bb3355234786e714edb9e2b4\n\nEntropyInput = 3a56329b07dffb8bc7761c0c2b4ec4ec3b7ed2513f0cc3d9be3eb9a153e8e1605d9392dbb951e4b0989ef473301f6f57\nPersonalizationString =\nEntropyInputReseed = ff6efb9b946748af0992bdc38eeb15d4991bb610692e1fe53ff828405924a544ee0e4da70aa1d0ae55e7925a58cf5597\nAdditionalInputReseed =\nAdditionalInput1 =\nAdditionalInput2 =\nReturnedBits = 9f32e40391217833176ca768beedd2839892c6fc17dec5c250f0820c576e4ed615729653515ae13292a2e4aedaa2df74c6535d8c625dd1cab479d3c5ae7bf955\n\nEntropyInput = d550f48af436ae42ea48a8cb0cd615be8db51691b365ef20ed826b28561fbacc9deb28cd3d83655033068948c55683da\nPersonalizationString =\nEntropyInputReseed = 76ea2e732f77b337ddd402e367c158dacc3433feb40d7b4376fb8dc449891336b00841580ea189583ada95cef783d540\nAdditionalInputReseed =\nAdditionalInput1 =\nAdditionalInput2 =\nReturnedBits = 8433b2ac45da6fdcbeaf3e6f76e66beb5b90a89a9cb197cfbe405ed53b1dd51a42cfc9aec5fe7cf778f88031fb7b15b0874d4d1ea87ef3895848721b34fb1a35\n\nEntropyInput = ce6137f720affd106396d9b66540580ae216d5d7dab48ed2729cdb3e587c7d8da13ce39ea8d9d8c22220a96b74e7ee9d\nPersonalizationString =\nEntropyInputReseed = af9f12fddeef001b08a5993f62da5e7c3aff23f882ae874b9f66f28eca1106e6386dd82f07ae1fb6868f186e2ec4f449\nAdditionalInputReseed =\nAdditionalInput1 =\nAdditionalInput2 =\nReturnedBits = 219fc160dbc136cdc9a7c3407eafde4639602cc58101c512dfbd85cc26b61fc9a94cdf76f15a1de7a46e36ab64aca3eeae36acd6e3d0b3fe59b75958b3eddd24\n\nEntropyInput = 1accff5a19861164c5d2cf542cf41a789f143c7956518ae158d4449ff0c257a00966faa862ccbb363bcf4aeb31089134\nPersonalizationString =\nEntropyInputReseed = f2fa58209759d84bf38a1656bae655669767a902ade22a830df56b32ef9e1c992335eb4cb27eeb142bfd21b5d31451de\nAdditionalInputReseed =\nAdditionalInput1 =\nAdditionalInput2 =\nReturnedBits = f214b4055d182cb258d9e9b61251bebc9bf090db662c4e36023cc156964fbbe1cedf691cd0c3d7db4262fb65a5d34b942f909b0f31fc18009766413523dcaf40\n\nEntropyInput = 99903165903fea49c2db26ed675e44cc14cb2c1f28b836b203240b02771e831146ffc4335373bb344688c5c950670291\nPersonalizationString =\nEntropyInputReseed = b4ee99fa9e0eddaf4a3612013cd636c4af69177b43eebb3c58a305b9979b68b5cc820504f6c029aad78a5d29c66e84a0\nAdditionalInputReseed = 2d8c5c28b05696e74774eb69a10f01c5fabc62691ddf7848a8004bb5eeb4d2c5febe1aa01f4d557b23d7e9a0e4e90655\nAdditionalInput1 = 0dc9cde42ac6e856f01a55f219c614de90c659260948db5053d414bab0ec2e13e995120c3eb5aafc25dc4bdcef8ace24\nAdditionalInput2 = 711be6c035013189f362211889248ca8a3268e63a7eb26836d915810a680ac4a33cd1180811a31a0f44f08db3dd64f91\nReturnedBits = 11c7a0326ea737baa7a993d510fafee5374e7bbe17ef0e3e29f50fa68aac2124b017d449768491cac06d136d691a4e80785739f9aaedf311bba752a3268cc531\n\nEntropyInput = f963096540d0023d6703e18248755ad16aea91852a2db0dd0f6a414d2a5822f3224ac8b1d47b01aaecc93ae299081d7d\nPersonalizationString =\nEntropyInputReseed = 399ed54bd846de00d42fb1f92d1ade93e81e32cd6ce73825f0bf86179dd46fd79bc8cbbd3b8834e58cc86619e19b08b4\nAdditionalInputReseed = ee073f9f6145d0a7c09a5e4a12d65baeba360bc9b5d7cadf93e7d2454dfde507af37e49782cf8550dd3a548e8cf98563\nAdditionalInput1 =", " 6a42ffe56dac0b4dc5d84b49698859b3645c920151565bf29f56b6322244bcaa7cd1ebb8ee9936d8ee1d280f547ae245\nAdditionalInput2 = d057c418a758d99a8ee855093da9bc1734a5168a6df9d9c9924e8bb472b5945563d86350dcf3e11aebcbd06a22b9ef78\nReturnedBits = a0cd72e63f49ce4c1d64e21e92546afced2af268549ef48d3ca88afe4d4097f91a52ecd0e7ad12ec0a1f67dd8c5325b78ee507c0a63cf90d64e9c47862acedf3\n\nEntropyInput = 333a0269eb0fb1d9d1e92f55de9e13cd7e24de64f5f276382d3eb2ff356a66679a9a75d2da31d39a940a09cc85d9d531\nPersonalizationString =\nEntropyInputReseed = cbf504cc473c9a6e66493b71b9684e8df458e65d2cc676e4e6ad43eb59172932c0956d0623134a6a3bba23906ec9da0a\nAdditionalInputReseed = abc86c71ae0585827ffe0d19a9fe97f23cdc4afd67978e553e0669d4635ca1df30250843fefd4d1288f6fbc3bfe04a72\nAdditionalInput1 = 15d15fbe7c060e6811bf47c21e93639c00cdcc562f4e02c88f7e347ec14a2c8410fdb2ddc3dfa62ba9ed1758f12017df\nAdditionalInput2 = fff311ea4c5cbd8ce53c45fe8d8106c28eb06d01ec9d8245c29f95b50b13085a0ec28803d733bd0d8a75193e63e21d5d\nReturnedBits = fcdb52bb6e2ba8d896973b9284b32af6364a34a2b80b3e3c7684c200c9e0a02f7bc6c3cd32b159df9b98da07a17baab9b0b07eab214544d5c562e454ec643de1\n\nEntropyInput = 86e4c30c5a7dfcca86eda7723930ab3272635f0ad9e2fd70a2d7a69b6a07dc0cddeabffa9c411198e3cb7589cb29d3f2\nPersonalizationString =\nEntropyInputReseed = e1af1c42cd29dd002e10e5839e8b679d3c5192da5e1b655123132ff1ade22b35651ac6df66fa14f36e1832be7a176895\nAdditionalInputReseed = 5f619073fa2e98b9f06bb4676bb972379ceb727e1e8768ef09e532cf3d8fed5ce92a7528eb55ae552959d74f75dd0324\nAdditionalInput1 = 330e316bec4955d907d7d7bf2b7149f0aaf4285ed1a2b7e387376ea1a4e0858c114ec3ddddf7a1edd7c8a29b1f12b998\nAdditionalInput2 = 405911cf7c6779e02e4740fa9737f189370292494c80621cfaa9f7d16d68219e72d474f8d5a54aa8ea8020dff9c36650\nReturnedBits = e359c3e23315c9c1d69ab2ec96ec3c6c5aad868e58709e101b0fa08c4041248e4d538d038993250d395d9651513514fca5760dcb9970dce53d2d1c2712bc56d0\n\nEntropyInput = d8cc5d13badedbdc2fd41852247a9f2879b0103b4a8186f0a08da7d55453b7484f642a9e5a5182340584d2ca7cd5ed10\nPersonalizationString =\nEntropyInputReseed = 35788b8369fdc3dfd206efb873b5c5215f5b8ecb0541fc0a0e027e868a91053b5d58cc8ca0751e0c0893c868e2322471\nAdditionalInputReseed = 6afcdc760fe62b080f141886b516623971f8014ede86e50d62d307a90cf3512da5fefd37b3932d3d9d86ad0c03447be4\nAdditionalInput1 = 72105702fbf1da4c10ff087b02db764804963fd986de933b757b8fe5a6016e0f2700573925aced85c09e2ad9f9f7b2c2\nAdditionalInput2 = 65f9a3fe4e1953b7d538f6d6ca3c0a73bda2276fe8f80860c07b7ed139d748c3c45db5d96598f77ff863a43977ba390c\nReturnedBits = 7c2b600c3f550671215b03ad7aebf71086ec59aa4f45cf6b3bac9bba2e108f801f6478b098fcc4e063454cd3f64a951ed70f619866c1a4e70b5c47458c09e083\n\nEntropyInput = 07d14a0d9fbc76a155047a93bc0bb2b578fa7dd75cfe9a44bb8709fe3cc2302fdcc06a9c6751f4602a3a4955c0f38c7e\nPersonalizationString =\nEntropyInputReseed = 8babab6b9f8429f554156da3905122cb48c0b901fb6eaad8df771e8d583ba885dfbad02e47524b1981768593bde88260\nAdditionalInputReseed = c185c45cb07e8c8ba8eb31d3bd48a7c864137c689214c2fb3b1d6d6abcda84f2922a862a0955e67695391d60d6f2d1bf\nAdditionalInput1 = 326a5c9c4a1a2b6fdc369fe2a171bf625dc26e23d1a34faacf59bd33be98ff7ac7f16e485b6da3145ea4db37ee4ffefa\nAdditionalInput2 = de096ad13dcc1ee1449c3a0661edee028603590f087474161a7ab8fcfac896a924e14b0a57aeac17fed676f4b9c7168c\nReturnedBits = 60911e6e6455bf4d85a4f76378390f6cd537d7cce88228cf34e4a4889adf62a9cc1070dfc39c254e81a8557bb2c350fe3f462199e377d3796ed139117b6b0f45\n\nEntropyInput = b3458c6b38ca70c44fc6c601e088863fafc953c6b5d3ee57fb1a07f3f65dd5e6dc19aed17aa5530913aca598b26a40c0\nPersonalizationString =\nEntropyInputReseed = faa8d3feabf972e482e5a0b3821c23ba067c45267e3715a4c10f65716a348030d7fa5637e9f000b3e47d786c013fc035\nAdditionalInputReseed = 901ef89ea38203b83249a34a1a8cbd0da4773ccd503d60a395be3a3db113613e6c571a49960a4e99d302b6f237f64d54\nAdditionalInput1 = f2f87693d1f28f95b0a6459c538e82be99a8cefe8a2c7ca037822072e63670dd141873f3dc9e309c6ead40783f46794e\nAdditionalInput2 = 93cfefbb7624a137cbd7b177918823893e77251fc5660a76ab0cfaa3b340ae822a8a75365056f06b0a7e76afc39f6819\nReturnedBits = 5bbcdeb5d7d1ae19e4ef7878abd1ca4f2641d42c765b94a7689172a4e90baae46ebcfa5427a882c1614cab36f186a98dd3a15febc4b23add955f69dbfd5e5d2e\n\nEntropyInput = 6dbcf6f2f3997ed55471f779039982bc84a1c052fbf5883d6f62c0a61db108386e74759d7237bb0efca030aac76bc7e6\nPersonalizationString =\nEntropyInputReseed = 1a16753c195fed27a1abbe067b2b22aff4c49ae7832d18d01cef5ea5c7d5833008036f71e9c77c1629b6f61370b57f7b\nAdditionalInputReseed = ec54395931ac0aea2a8739d4c51e33c8425906005c341db373247e73b968c2c79257cf7ac74353c00fd81a80f4c95b8c\nAdditionalInput1 = dbd6bb5579a10e395b534431f3ab7c8025527bf99e4f7c162d681f8d35a56f6a03729f07ab43897ad0e80146044b1614\nAdditionalInput2 = 5d35742c25620bb795eae41178d7fc86d9cbe050ea702573ae6adb61e16c411b7445548dc535d57371bb11e2cdd59597\nReturnedBits = ba3905bfddcabf6dae311d1fc19fff1f6fc1ce779e38f864b7ccd2aeb1b3d6ec1845305c29d39b8736b3977277ecaf5735d0e4acefccf7778ac3542af815fd41\n\nEntropyInput = 3a9e8099007c67f6e5f98525cc4295a68c5d5135d01f5f66305c7048ca02525caa3f790b2d12a8520e9963a9cdd597a8\nPersonalizationString =\nEntropyInputReseed = 15993dba9775db8a5bf79778a316f2910d4dc0be59c3b21c650e3aa89c8c89b33fc69e9e5d642e7fee16d61b691de2bf\nAdditionalInputReseed = 946121bae27e5804daeba0d7dc7ae0c1c397bfab106e13b8b7c5462b540d147119af5b7c4f9c198161e5aa9be34e2d28\nAdditionalInput1 = e9799421e75bae7086731a21242dc101c93b768fc747734a357454fc0f7c082cfdb79b8bbcea2d1122d89316a7bfbd3d\nAdditionalInput2 = caa04f94b4b9d694e2c4bfa1e8e708b9c00d9c3d645243acfcb879d2e2ba723d9e48908738114eab7d15f8cf36b043ae\nReturnedBits = 9bd50f3c5384eb28d931f03a64eb97ef140e1e81f4c1d9c910cd7d79a40494e1fcc53d82cd32df35d53b05a450e54b7ec71e28359c1273848e5ab117d5ded88f\n\nEntropyInput = 7f2a0213de6738ec62bedab769a5f01732dad2d35dd4cad7a765dbbb6f9101f57b65ec8fc4e23fb3479ce6211ca3d84e\nPersonalizationString =\nEntropyInputReseed = aeb097e9ddc4dfe87874ddb1a856ec3d00fff1b38c8f954681c11e61bac8b6b2e2d8d010e6820f9c4d807b295acb8ab0\nAdditionalInputReseed = b33ad3dec7d529b71e39d59147f79b4884039d1112804fe8c70e174fdd9828c06a4d44d20aa5fc1918c3ee8082a2bf93\nAdditionalInput1 = 8632d221757132bb7b883b7dc26755f62ec2ffab0876168d11ea7b92774c15c553b11320393d64a2262133608ca92a18\nAdditionalInput2 = ccaf3bc3ae9cdbfa885aa8414c1f823c6a3ecc020b619201a52ce0b7516ba1f49755c450c532bfe11c06b9d0e049ccae\nReturnedBits = 4b1c065a288e5eec56b67fb341e25fc7521b794b52b94f9570bdb16583bb6f7a780aea5297496355ffb4bf5a444c277c96394619cc33cbb5a3b2a9f49b00f9df\n\nEntropyInput = 80773d0272ff48ba84b98c817365b097f21258624d0de8529381977950a5e49ff2b79d0f2522269970ea6d484198922c\nPersonalizationString =\nEntropyInputReseed = 9b101ac018be88da3611a236dfb1300c0049947e9f6ebef7a3ad6e1499efeca0b142826fa06f427e271865232a18dd29\nAdditionalInputReseed = a67ee22453dcaa5e4726e3084872145ab60489bcb6e83346c108f3efcce5b3d988b84d58786658d87c2dc3b9035e9d88\nAdditionalInput1 = 546515bf86e48dfb2b4dd21c2b46f10c1e797ab799b51822e8e7cd99ccebcca00b8899ef6af5cb395168aada9056a6c9\nAdditionalInput2 = 57bedda63fc5f792a608be111141a12e522496c086194515909bddcd868be997e718e7c5899e28dd6b123cbcc3f2a8f2\nReturnedBits = 4075461e459f15cd32030551be47528223693c2f44e32443cbe9271eefe74fa0a6e1ec04f4b8f41d7ed6c5f455281a3cba56d952b08b7753f6a3d7da3517317a\n\nEntropyInput = dc132c15af0e214d1b56eb88849e96b81dc17f238eb3d1bb9a659219dbd77eba38ca2796a8011e29cfad76f8cbbf099d\nPersonalizationString =\nEntropyInputReseed = cba23d4fdbb6c11e38012b71ca264bff9d1264bb20a39bb27d86dcdf7d72ce7a4f5c124cdf2aca6aaee20832495181e6\nAdditionalInputReseed = 07e043add7cc14612a82926c09934dea092f4618cce25674972b1f50b2907c7e3d40a25722ea49b0c7ceb6b57ff2d870\nAdditionalInput1 = 0017ff834967cff8827598ff6c00a9c97f0347c34f2523a85dd7d18ff5575756c1f5383de50338d0ab0505841d70a193\nAdditionalInput2 = c404dbc3cb0851b08530f96500f5a2c10d8985c82dec2ba31d4199fd07687ccf124382fbee3fa119938f0c72ac586102\nReturnedBits = 1935cce86bde7087fcab30b5dce0e072ad741c2f281902e1801e56c08ae8b256d27514de92dd48a838ca426820002c1206f86cad37cfd99d3a935e05f56a7507\n\nEntropyInput = e48495930a7fc86ecbfad807d40ca84ba35e346c812090def8f44d9e48b0a40704ac67ec80ae15b12e858ae85a7ed9cf\nPersonalizationString =\nEntropyInputReseed = f4735954d17e99077061c9604e8f1734d61dd662e54e37256c0f8bf276e025d59d21cacc0869ededb44a2aac9fcf2ccc\nAdditionalInputReseed = e796322fc0ef503251f6d4bd72dc5ea8100", "c5a59f1a4fe4837fa8eb2623bc650a0cd48c306f139e0ecd169a51deb2cd0\nAdditionalInput1 = 1c844d24b7cd9512e5035bc457612ebf6d3df6867aa909038bcbc1f474f7d0783ed474e34525a817bea1fbc883961e31\nAdditionalInput2 = 5c5671ba79bd0b83f74d0ed98e9c8b369a2de34188d8b7cada20b3363738d1252ece1e6a26d007acdfc5b6108412766a\nReturnedBits = 40f17e2bf6084a6447f2c40d601e16a43098dadd9f9614d518874623e8e684438c02e127e582b000dfd46df03dd5435edc4f0f47098320fd311afdbb8542c4db\n\nEntropyInput = df4a888ec7363fadd99ce2223ed39577a41bc220d20b253f98dbfc617aff8fe4ac66e5da1b5097228422cf8242baaf53\nPersonalizationString =\nEntropyInputReseed = e16dca80b2061706e8180dce8f59e888f150836a0bbceac179a4b8d882eead78709ed9951102728abbbbf9226a2d913e\nAdditionalInputReseed = febc9f6b9f2b90b4320d5d41e5c5506fa32b164d86d5e7f91d4a360fe179c127bd2bdeb78fe760174e856a5e04ed898b\nAdditionalInput1 = 0aba74cd299e75886c9e7e5293e5915d720da2c8c1cca7f0e1d6f2b672b4014eb4582e97a877121c87956185736ba0e9\nAdditionalInput2 = e451eac802660ac843fc72b66d59f1e1ca831f22d6a361929043f7626f1d82133f512fb1f2d8ca51004f80ed600609e4\nReturnedBits = 968b708ed6b54d2e5a66d46f22998748dfb5cf47e817732a40938bf3593fb251ccf8f2076837715d14b316bfb52560135602ff98338593696bf80a462b214c4b\n\nEntropyInput = 43bc561c4dd1b904a5333a092a670d0d1b61128a13be2e538a329094574819284e414b938dc8b1860b385c293c03010d\nPersonalizationString =\nEntropyInputReseed = eb362136f4ccc9e302505d525befbfa99d8c3336187d5902b03ed75641913ce973743757f97dae9366874ba62bd87013\nAdditionalInputReseed = a901f4daaa638804177a0b263e8cbc81688df3beb218b02316da83b729230a9e5112fb3896b727298755bb9ac6b6250a\nAdditionalInput1 = e33d181f3159fb0874eff5ef8ddd2b51a60b13ccf046f7e637ed27bed81bb604277f7345e6b8f0e09f925793ce417fff\nAdditionalInput2 = 3ecf6233820e6cceddac7b024c490c5ee14c73d5b598c92cda30940471b6ed450019120689aaf157fd87b71b13afea25\nReturnedBits = 9d793dd96b870dfa0267623bd1c2d8bd3e2c63e9f211340f630fea01358011394154145a10659c4d98274a525c48a90da0126a99b85ed5b4b903195f0dddc762\n\nEntropyInput = ffad10100025a879672ff50374b286712f457dd01441d76ac1a1cd15c7390dd93179a2f5920d198bf34a1b76fbc21289\nPersonalizationString = 1d2be6f25e88fa30c4ef42e4d54efd957dec231fa00143ca47580be666a8c143a916c90b3819a0a7ea914e3c9a2e7a3f\nEntropyInputReseed = 6c1a089cae313363bc76a780139eb4f2f2048b1f6b07896c5c412bff0385440fc43b73facbb79e3a252fa01fe17ab391\nAdditionalInputReseed =\nAdditionalInput1 =\nAdditionalInput2 =\nReturnedBits = e053c7d4bd9099ef6a99f190a5fd80219437d642006672338da6e0fe73ca4d24ffa51151bfbdac78d8a2f6255046edf57a04626e9977139c6933274299f3bdff\n\nEntropyInput = f1e0d7b1ac7e4e155bb588500f57d0c59969267ea5427e2d7fde1f9c54e67b7f6562bfc1019b8b5799d2a833fdccac79\nPersonalizationString = 86da37245d9bd1fb59a4bc7abd289ea2999258042c5fa696f2da7344bb6ebc5b770ca284bfe642570b52ef47b780d5c9\nEntropyInputReseed = 9c2c9c07cab12cf50f8846148034a416c83366c1e20776073751553cae69da8d1f6bce6bde27087659d69a62e2ba7c3c\nAdditionalInputReseed =\nAdditionalInput1 =\nAdditionalInput2 =\nReturnedBits = e0ac06d7eae89469b6c14a31e7f0464ee21f7b30d2264c2de3e435cb40d0e5043ee13dfbc0342156750880b2d5dddb3bebb43b162a8478235c8b87f96d0284fd\n\nEntropyInput = 1dbee767e9916ab322ba461fbf9f7515cfbcb45944a7b471577da087690d94d967018b631e0c1f64da3c805d049f449a\nPersonalizationString = 966b5cd94019d4d90b48ea7f540a698cfe30d7eb25f5f7e5fe42d9f53ebed6e94e733b0794fc6bf30627911e20cc18e8\nEntropyInputReseed = 96e828128f183c76c90ec8341a43561368b77114048ccb05db66128d54c9539d1adc1d72f7fb0950e41b1343a9e4df76\nAdditionalInputReseed =\nAdditionalInput1 =\nAdditionalInput2 =\nReturnedBits = c4d3f5c55d3979b174020650ad7a46b423ec446dff2a9e9fe0a782bf65a72d5fcb1896bc1092a8c73f41295e2e7044434f88aa0aca78f7eac40e322cb7c25563\n\nEntropyInput = df588bff3a1fc97a908067da6a7fef08c889ac29ad7d639bd047157bacab4dbdee3dffe575f37d071af94cbd7628d398\nPersonalizationString = 548715cfb28c1bc56453b8c39e24cfd64077c0f6e9d959d51b9f0667b97d3c4e1a179d1a554df845b24c26daec85845a\nEntropyInputReseed = f8c165b5ebd8347a2ffef2218f993877027e977598b4fdac2f65d8d994c7432900f8407ab5aed1885dee5aa2458f5998\nAdditionalInputReseed =\nAdditionalInput1 =\nAdditionalInput2 =\nReturnedBits = deed18220bd8f72a34559924f3cad925ee717690f76bc223d5ffeebbb554b61b9d9eb6ac5697b06331e236672677e2e01d6e3fd581a4fa1ebad289797b68955f\n\nEntropyInput = 98555093e443fe8e2bc8d2eb4d3a7abb8eba00b25683a6b31191fff7c043665ec2cad3e99e55bbc241b8edc699dbc9ed\nPersonalizationString = 5627a0a55457db05e3903d4b69ce15f55f933168d6eb374c044e8f1040f61ed7eb24f87f91c68cde050f504b8965dd81\nEntropyInputReseed = 18d17e1b68378801f83e7aa9a6d4b84d3960022c740e6c845869a5db553d2e02479cd92f3c0d8abd3e92fc9c9fbc6a3f\nAdditionalInputReseed =\nAdditionalInput1 =\nAdditionalInput2 =\nReturnedBits = 7a7f0ab07a540b4e9a3eda3f8bd1262015d8ea6d512dbea05942421f5a73242ac236009ef083bf2e51b19c40d1a019367a6b96fb52d254e4d881550aef0549ed\n\nEntropyInput = 07793bac6461f23e5eb0d1bc60b5f735515458d1530540df1c8e6fc5c3ebfb06b9db60a8947eb629ff7a375fe680d696\nPersonalizationString = c1e2132b77b6c15742e06e856c1549c4ccebd1b2eda93e2c43391b52cad51490fe34157f57be9eb4eff463b059986680\nEntropyInputReseed = 23e47e0c41462f7c619bbcd5b73f9ab1c68c7cdf1ec92c4c37126402958e110e329107742e70db611b93974c393936a6\nAdditionalInputReseed =\nAdditionalInput1 =\nAdditionalInput2 =\nReturnedBits = e6dab4a887f48ec33cb293ffdab5fc69595f94c72c5a9bb43f468f75490190b7e0f14f5c04550cb62a6d0ee0c3d834be3434c8229c124087bb985a06b9a37267\n\nEntropyInput = 25cefa0512921fd4a3a4e5e7c48c6201185a6968419ae5bcc6667bb74c35de4f91988a33f25ea88a8443c65643cc73dd\nPersonalizationString = 07ddf125960c346680b4b361c0a9c6dc1008a85ce1861b45ff18907e6e7db41b046e5f016617e6c5b0ceb5575ac278a8\nEntropyInputReseed = 8cf41e5413b0c8ffacbc4dfc119f10b47569359b911448f45c7ad63dd58e872410c25176b986fee8b83966d0098d996a\nAdditionalInputReseed =\nAdditionalInput1 =\nAdditionalInput2 =\nReturnedBits = ab58ec5c35600566dd2ee187a5b67dfa65bebe13333670d2a198fa5af0c20294c6cb69d37564d2b2587ea5587e12341e77f47f173d6cc9f9b9e5dedf0ee1a8d0\n\nEntropyInput = 929f1dec0a6d14de483a2fe114a430796d0b449fca56a4ddbbe661bdc26a8df85cafad7b677ccbf1fe4cb0d5e8cb57a9\nPersonalizationString = 0bf8c590a66653c0494750d10274b583d86e540b517bfc23bb3b0c9fde373e456558468603c2115c97d3662e6825f4f2\nEntropyInputReseed = 84030628534b7525dbd4023aed1ab08c4f2b86a7c2fa3bc9559b425cce07c34fac14e963256aea03f74f1122a7a30483\nAdditionalInputReseed =\nAdditionalInput1 =\nAdditionalInput2 =\nReturnedBits = 199f2dce5bbe32c693151a216fb36ccea7996c313f6b78fa30ad812a0e603965023fc29706a71b753d79244cb9e8fdaff467e0f963426b10ad89a98e987af316\n\nEntropyInput = 7bc5d970186b9e1b0052b7564dbabf61c89cb3d64ff42f9a62d625112aca0486cdf0336c3612254b40cbfba83ab65b42\nPersonalizationString = a25326fef30f9c94423d99759a1ee575536a9715df9526de9a0b8dbcc3a2234cd835615f5dfe7823927355f569ec6f02\nEntropyInputReseed = ef8a0137013be212402e42b28c03ed6420881aa38b3a3e6e90a861116516df1ef732a19e8935ffcd9be7a2fc236783b7\nAdditionalInputReseed =\nAdditionalInput1 =\nAdditionalInput2 =\nReturnedBits = 29f81ecf3f41d278c01bba9af9bc0fe6009539682f46723ce5b0ff75fed217ad71580b5dac46289e324d824094c332c3955c528257701a14ec2bfecce4f62a6c\n\nEntropyInput = 0c841a245a19295281163b07541590376d31d86a9be99e66cc22352dabb29f95e113ee233d74d3f2b7f2f608830525f0\nPersonalizationString = 28d3581054d87f153aee12edca47bad80bfc9b066ad1e8b9d96c851dc7b8ed768cad007b891d1c9447d43065b483d085\nEntropyInputReseed = 587a1dae75c2a1f2dea7fb42ef7bf38646b76a964ecd7043d8b62fdd9e6a5c007882f02f78fd040561d15a337e59f257\nAdditionalInputReseed =\nAdditionalInput1 =\nAdditionalInput2 =\nReturnedBits = ba7bce080963fe2b4e8f0e1aa700e92b3908e18dc78728666904b0220e4077fef2cd18bbea29a2755a3499798cca445bb75269a5adca2f291dd3875457c69a89\n\nEntropyInput = f4afddabe515ca3e776730e7d44461b27e8f72407ca398d3fb578365e09ea8c24d6c4b09724907a610d755407d38667f\nPersonalizationString = 846bcbc7014ca8c6fb042a80d4a8c3aa50b6c5eff15e4b12f966ab17e6514cbb22fb2eed628ee5c2a8acde821a956078\nEntropyInputReseed = b2aeab1165b150908c9bb52c2b7167c149ea4fb4710edc8acfbc63f7652bb552d636a7e6fc3d1e74d3f65461baaac087\nAdditionalInputReseed =\nAdditionalInput1 =\nAdditionalInput2 =\nReturnedBits = 2a0335c3caeeec7c797f99fbc145654d3985c3c71025c8e4bd4b098801f15d21c272420417d805b0ad1ce68f904502a46130246315957bc07a5db4f3447a84e7\n\nEntropyInput = 6942413e05ac487cf539bc61aa6866ef8cbd9d0f15e1385f37bba5a951a29fc956d46f8740603af7c71800048c8312ad", @@ -2737,14 +2824,23 @@ static const char *kData45[] = { "887d92419e3c839b8b1dc43c6507026f1f851e\nAdditionalInputReseed = 857848c62203307b39728acf11ac8462302d3a41d186778b3f112a86270252f058fbe5767496e47662186b8d0817de02\nAdditionalInput1 = 9a08df0de742fd2e2d55121a58b700dfbff250a4881b02fc3b8952b48ecd4d034d6e7c757cdf91bf7c31dfaf70b1da22\nAdditionalInput2 = 3bf0e4f1291a8bc272cc985878335882c75831510f27963c7c01a879c60c5b67a9a14a656a746a80a091adf6ffb1adf6\nReturnedBits = 69361d61f4cf5ed489888934f320a9acc5383e719f09a1e30b6029bf71d4b4cb54859798ace2d8ee5e681d4acb223b9c119dab2dd07e6db3f7f844c2b46b9c47\n\nEntropyInput = 6f45b55ac62d5ffd452d36b1e4b18cc6abd6ad93e87558b79fbe99b4f4a962b74bad00821019bd126d6f9dd73912acf7\nPersonalizationString = 913a783046baefe428346085fd640caa1874d4aa6974832cacc5b51e78514bcfedd174606bef1721df7a1194a0ccd1e3\nEntropyInputReseed = d9e19ce3197004ab3a4bf995a481149b6d8e59a3970161cb0d3917374c0c86bb5e9bc509bd01b6796fa1e77e5fdddb16\nAdditionalInputReseed = fd31068c90614e04463acdf856b034293a079a816f1c5f3de63b870a9876f7397d2f93bd3f6776b56a78f7178e1fbb87\nAdditionalInput1 = 068e3791b91adb820b27c45a5d8544eed3133486a7d2d0bc503d8abad8b7093f3df214f1e0ac4ff2d347c760b2a605d5\nAdditionalInput2 = 6c55927a349d321d1a2141aeccc3543e9726ffcf3d8fdfe1aed63c61972a213c12ea65d648e476268611e9b08486a648\nReturnedBits = 552b4c4035d964b5eb26e3036445793df67b7321d36e8d2362fe284503b587c961a33b816b40b93d4b006769177c6593c553b6e669076f25a3e2a7214156c249\n\nEntropyInput = 8d492df46257a62e717302992682e28494f84d0f3237c16439efbbd16a94b3356eb7f7c2a0206892045a0d7d36d69f03\nPersonalizationString = b915f3311feadf6676df2389baacccdafc74cf200ed7b99167b33dafa875ce4aac1a61ce54972ec54f9b0901a3b050ee\nEntropyInputReseed = 2e345fe3a471c5066b20f4aaeaaf73921426ac1bc0509e93671535a8fbc016f5967403d6d13b4760491bf973c47a8ed5\nAdditionalInputReseed = 2e8f1f01a7664890feef93152f7b7f05032b4c70c58b5f261ef0a9c2aef23f2a14ee57c3d3465af24289b1c850e52ef8\nAdditionalInput1 = f8c218c996284f757c491cba025fd84cc701f9f83a16f03c314712c2354fee39214ed5994ab24641826bc15ed1bb5f61\nAdditionalInput2 = 146c53dc4af90f26d8c85822810d9bde2949495c23ca2c7c13ceee8221cbe8105491d560e0044c8d50d7e365da41890b\nReturnedBits = b19dd18494235abdcb3b4e99c9355d19d543c7fb7e1048d63d9e25abcc12dcb31549cec2818667713ad1dc35142072ca8daa511927aca71303493e500503be8b\n\nEntropyInput = 2a595f08947d0056ed19ecc8a547867834c125cf1740230a1325b93bf29951cbedcaa6a8f5cbe69801fb9a197ad576c6\nPersonalizationString = c0fb9dbea13863dfbfdb2c0dd864887413794a07a4dd228836f0f6afab901496486a2d508a3f4b784d83382629cddbc1\nEntropyInputReseed = a3ddfc3aefc94dcaf656f4d8eef0065a6d233a76e0a4c26e2d8bbb86459c9e4a173ff8cbec85ebc14712640741427668\nAdditionalInputReseed = d4eb9b12fc2a6fc75a69701c8b5ece02e47f813effb705dbdef0294e38907f5aadf40bdbcc067d0ebc0bf3661a2e0990\nAdditionalInput1 = d3c4bf4f8a3f61413fe1953523ba83bc02ae6d7eea1c8ba288f8e06f0d0276e61667a410f90548d283c4f1ae79483961\nAdditionalInput2 = e6fc29680eef141e1372e17729c9f4407b3f7a57057be1081ce46c78693334bf56867791072d9d18a7b4835bf251712d\nReturnedBits = 08475bfb8e621e12e212f4960e737023f7a3de3b204b6ffeeb929f424ca78c6ae2e0d726237915e5e244616713e88a39df302208e3a324f5444213b70b2e9c09\n\nEntropyInput = 3d5332b91dcaad893df504c7c675b69890b28055dfd3ec7d0ba56990dcda175096ff8f8f9f9ecd6dddeb96b829b98c3e\nPersonalizationString = 34753432b3c6bedc4d2296dffce8a66591b400867f7edf10cee447046f5f767036da9f3f4a02f7b8cba7bdd4365c1fef\nEntropyInputReseed = 1a69af0ff696f9a2fe0fddd26ccf6fae215faf91804461928c884eec13b1dd1501862a738373454e1b449c6026cebceb\nAdditionalInputReseed = dc47e104175f3c9812feed9e143da5cd7e553e3423db5bc8be3b652f577100267ff795804aaf42c3991589e7688a977b\nAdditionalInput1 = e64c0cad3dfc0bf0eba3317cf37b7779b91bf3de3e0ba36d3e16feb0014286596edd364c197847e8732925f971294dfa\nAdditionalInput2 = 1ff3a6bdb7e319a86b35d062cf017ed270c6b5511bc3d63083272e76bf4db9d90e836f18d98f1f79c2e91eeb0bc635e2\nReturnedBits = fdef7e67c3d19f5f74784bdc64d2c23d0a3f027846da2b2afba940fdc2f066d89b63d27e55d3d0a88bddb97e29676894ec8a18268e4bc27d181a867c5a80fe2c\n\nEntropyInput = 156c8c0f44f4a8f17044957b572ed16d54b73a9510d2b260a036ad6ef223f45e124c4ae9dae0fdf5684792da0ff5ea0a\nPersonalizationString = 1472f56d5498564a5b53d2eae27103f41f565d7873b37c37c30472075f1d84d69a8d68c92636ae06aa61678358cc47d4\nEntropyInputReseed = 6bc2bfd44f72982b23b6d22c85f7d601d5941ebe6e9ee9d06a8efe652539ec00b1136adbc4e43aaab76c3ad6a57a267e\nAdditionalInputReseed = a83b1547fadb97e491ef0bdb8b0d006ab16638fdb211613051f0f57586c146882f1062b7f71a8c15bb27200fa83ffcaf\nAdditionalInput1 = ac188da8a895e0807bab61b1ebd73acbe43f99f375c7d29174f675e1667237cedf1d41fc50da277a0db21ee2891a5abf\nAdditionalInput2 = adf9a30b6cd9dac23f193f66df9d606a5765b96cc42c099530c53c26a6d6bcf0779ae060d188e1cc5bdab6c312892267\nReturnedBits = fcc79828bf2c9d3d799d7a0e83583c70aeb156e25df0b2fde030c2775c9986c8054e848128ba38ff5e5b0b1e5b72f9e41726b960008408f5152b1a47072fbdf7\n\nEntropyInput = 5e0dd8e37aa23d0fe79efcb8e5538ee90ffb5733decc83f7677488c4f64c2e0d2a918968a5c7351de9360f23fe606a4a\nPersonalizationString = 5161b794e4a13371b320ae4b2b6b698e4df507402a7582555598089dd9484358d37f891294948512e4198a79de8ca3d9\nEntropyInputReseed = 850ffb89bc23562f3ea03947c1afa7309a0ccdc0b714bc94ff45d66884b74fba0bffce97887f2efc178388f36f0ea95e\nAdditionalInputReseed = 50f605cb940f573c4ef3ddff8caa9a3f544f40fdf583b82cd79338523d896f72f86be1f9bb37d9aca02a2856f713c812\nAdditionalInput1 = da7bcf6810a6b3820548065edbec0fa2fd4bc03e5d50666f98a8bea6b744e04aafa0714582f11b6608852c45ee51df6b\nAdditionalInput2 = 4e9c0c770699656217a0b2dbb466a0fcb0cdb5d4a4a05da40fa2eb546f2f0f28aea575a0bdf6e89352d519db44f47dc5\nReturnedBits = 40ec0e8e3e54cd4fd78f5e006bf3134c378ba619ccf9e7530c79217da631458b5f9135bc8b0d6f2e742c53b58d0ebc18263f9d2ef37a2fa0fb086d2193857863\n\nEntropyInput = 219a364ad362fd8a1d69c1284fd64cc9ec05e6bfbdd133ac9170594b5d95946d3dda2ebcc58deeace86f9dca5ad99c18\nPersonalizationString = b0b27b03fc65effe4610e61916f2e9bd252d47efcc08b84aa505b1befd3a7e9295ca764ac88f099bbecc28301f0f298e\nEntropyInputReseed = 1bccdb4b2ce863fbee104d7a56f2cd88a44a088392883a6db30e6fc7bf5611759c71d53a61fe62b6314d7426e510a722\nAdditionalInputReseed = a06eab3b05eb3649a01be82a356030effdbf45fd71f49b1862ecf33fdb28a7191a34f104b9eda1da4ba48daf9da381b6\nAdditionalInput1 = 88b17e13e02a7e9a3f8263946fae0b6a9052692c3c5cbe858369c4d0b198b9c6a8f4c87ff5e6b2835a7944b911266aa9\nAdditionalInput2 = 828222c8a275427a5f8a963d0d65e92f6170d5089c9a162429c093a28dd69f71135342f16b3baea9a4764e2cc3762267\nReturnedBits = a739f9fee9a40049e42b00b381a1f663877abb776ec655e3a7870bd94bea1a25d3c6d380eced435e498044daf78b349bc1868e4bff6257cf2711ed08e2357201\n\nEntropyInput = f8513c2f6e46f75fce3671ccb3c69158583a873b0dda83d8b1cd548f4e5efd75642f2c23cf8792d51023f31d795f6f5b\nPersonalizationString = e94f7212257885511b15a873d0158fa5ea648846afbcf9d62a7abc4e6909dd43c671fa18bc289f47e2301e9aa69c3e88\nEntropyInputReseed = 487b9c1866ffdaaf6760cdee3df5a930196d30b0ac8db780656577ddfc1ff3508c451ef2b0b478a2cf0c73027597b2ae\nAdditionalInputReseed = 7387b59f8c78e79d36edacbb428fd515ef9e58086059bf7fd642053b0f5706cfe86eb3c35ca0b6f02e5d1304e476e3cf\nAdditionalInput1 = bafc59ef40e59d8c28851212e1c357cce0d06f02c69d14585170ca8eb18396a331d635cf0651319842cee2f7c87285c2\nAdditionalInput2 = 82d905ba69b6c45ca28107beb6698a152631ab48614235f6a9f12e019f66bf326151d9ee84e0cd42b6566dbffb46ec35\nReturnedBits = 163f48d09f3e9ebf9f8647766a0b2e189a2f3a21a5a4e31c8a4f3bd138cc50030ac8bea1c4d9e9aa0b67f34926239fbcedfd1992da165b941cf03b56737737b2\n\nEntropyInput = 0a8f092764d473d48215e947ea8a32b5da8ea86d8ed0d83bce31b1b5a21e7c5f1af2186a39caf9afa61644caef02ef9b\nPersonalizationString = 84637faba756917b0f44ba2e0e26546f5239782e4d9f952ee251367081629e71c20a7459995a7563810daeab74220664\nEntropyInputReseed = eacaded3d89a63b94a5c14c3087306e670fc4ee7d56cafef4c5aa7d553ca89ed34418056a44f5447e2b07dd541ac4645\nAdditionalInputReseed = 104a1541313fc4be9d34bced288c1c1b6fa793e9096f8be5673a2c6825dabef91fd88e45a061b2d897f9b5e8a8ae0ad3\nAdditionalInput1 = e30c9d8aba0bd5dc63d911897e4dcadbeacc3ed9392d8e361b356e02a81d65bdab91f7e9f8dd2b2bf9af0da5100e77d4\nAdditionalInput2 = 2bed42b8c05461ba2756a5f38393d5538d20eb9cf1c06775e7fef7284341f61ccd34b0148d1e870c1992dfd065560ed6\nReturnedBits = 855a6af3e6dddf194ceaafcef6f7ee91f489a61a73b759d41be4d5298510b9902f5b78b1162cba417684519634b578afda9802bd782f04b3a25106f3586ad8a4\n\nEntropyInput =", " ed63e3b88a2f0d6a40b7b36a06cd8d40ec10158ab6c4f8dabdb879e45d22db573320d2641bfd7db31eb6bbf4c6330b9f\nPersonalizationString = f82a5ee81f349a69dfa6a6e53b406bb560cb0339f61b3886237023ae4582b9725b8774a8044ec5134ebd4d7606f18188\nEntropyInputReseed = 7104522c2a69bec7e010d9670d7ab92dd817ac7ff05d63ab0e12d431d4c9aef4d715421c1fb5d05d3aecba36859a6038\nAdditionalInputReseed = 3b83034ea440604d0b7d04857623e9adc0eb9aad4a45b2079863eed3d72e65abf67d255673e769a2e2584eea59f1ebaa\nAdditionalInput1 = 8678e4f831887e96a27c3a8ce0963f4b34bbca25791b06526cb6c55624c33d98a0356be624238cecacba3535e872c4c7\nAdditionalInput2 = ec3452ea2722984bbe6a5b7c22ad58df37a854abc8630b9e21bcd0469eb207e5f44e044f5f666920dd55e81a393500de\nReturnedBits = c340765fe7a3479bef2d7d59e321066f8ad0db53aed4c517bf8339566bf877d53921e6de2650d0080529004a5fd32124ce8e58a040e2d55656b37d9ea827cb91\n\nEntropyInput = 882ed05487dce4b4f9e58ec4f2da1fa5d8ebb4ef9fcbf7b0a0e15c4dccb8e19788f86dcf2885e71a20cbd9ac10a6648e\nPersonalizationString = 05f5bc41687ea1e4c34a69944fbae283cfee4c42b1bbd78fddb0973d0fca948539b6843658b67c30b73191b9a0bf2921\nEntropyInputReseed = ca1603d4c8711404c7bdc12c7c75b2943a4b042ea1d2eb54506a6876952157caf3b152dc75f27f2213645a141577e8ba\nAdditionalInputReseed = 83cda53380888d53515e58154f89d5528ab69f31fbcfca34988cf03c4cae5f60aa6291f32d99ab2a726b6e08d2502cf5\nAdditionalInput1 = 5bf5ca9f964edd91e8ef491fd3cd32faf9cb9d1993d8221914d1751fb0d4252a5ca950e213f088050900b2bd74f5e336\nAdditionalInput2 = dba28dc1d8d615651547867d4ef42519045ee16378143685101da47a27b55498078e8a8f4854052f7cc6f5b02e571ae8\nReturnedBits = 01f11971835819c1148aa079eea09fd5b1aa3ac6ba557ae3317b1a33f4505174cf9d7e940821c9b0e5527a1d3e186a7a83f187c62d3223cf5964ff9526d8484c\n", }; -static const size_t kLen46 = 6201; +static const size_t kLen48 = 6201; -static const char *kData46[] = { +static const char *kData48[] = { "HMAC = MD5\n# Note: The empty key results in passing NULL to HMAC_Init_ex, so this tests\n# that HMAC_CTX and HMAC treat NULL as the empty key initially.\nKey =\nInput = \"More text test vectors to stuff up EBCDIC machines :-)\"\nOutput = e9139d1e6ee064ef8cf514fc7dc83e86\n\n# HMAC tests from RFC2104\nHMAC = MD5\nKey = 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b\nInput = \"Hi There\"\nOutput = 9294727a3638bb1c13f48ef8158bfc9d\n\nHMAC = MD5\nKey = \"Jefe\"\nInput = \"what do ya want for nothing?\"\nOutput = 750c783e6ab0b503eaa86e310a5db738\n\nHMAC = MD5\nKey = AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nInput = DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD\nOutput = 56be34521d144c88dbb8c733f0e8b3f6\n\n# HMAC tests from NIST test data\n\nHMAC = SHA1\nInput = \"Sample message for keylen=blocklen\"\nKey = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F\nOutput = 5FD596EE78D5553C8FF4E72D266DFD192366DA29\n\nHMAC = SHA1\nInput = \"Sample message for keylen 16\nct = 8d55dc10584e243f55d2bdbb5758b7fabcd58c8d3785f01c7e3640b2a1dadcd9\niv = 54f2459e40e002763144f4752cde2fb5\nkey = 831e664c9e3f0c3094c0b27b9d908eb2\nmsg = 26603bb76dd0a0180791c4ed4d3b058807\nresult = valid\n\n# tcId = 21\n# plaintext size > 16\nct = e9199842355ea0c3dbf1b2a94fef1c802a95d024df9e407883cf5bf1f02c3cdc\niv = 088e01c2c65b26e7ad6af7b92ea09d73\nkey = cbffc6c8c7f76f46349c32d666f4efb0\nmsg = 6df067add738195fd55ac2e76b476971b9a0e6d8\nresult = valid\n\n# tcId = 22\n# plaintext size > 16\nct = 19beb4db2be0f3aff0083583038b2281a77c85b5f345ba4d2bc7f742a14f9247\niv = d9c9468796a2f5741b84d2d41430c5d3\nkey = fda6a01194beb462953d7e6c49b32dac\nmsg = f60ae3b036abcab78c98fc1d4b67970c0955cb6fe24483f8907fd73319679b\nresult = valid\n\n# tcId = 23\n# plaintext size > 16\nct = 84904fc92bd2e7590aa268e667370327b9446f41067dd40d3e5091a63a0d5687e4926e00cc3cb461c3b85d80ee2da818\niv = c98b47808add45c0c891983ec4b09846\nkey = efd9caa8ac68e9e29acdae57e93bcea8\nmsg = 3e1d2001f1e475b972738936443a5f51eedaf802a66fadf2406cfaadb0549149fcb9f485e534dc2d\nresult = valid\n\n# tcId = 24\n# plaintext size > 16\nct = 1d1391593a336be4b207295ad0542bc4ef2f39053066e12c38f71603f377fd42f4f0b2b5a42cdfeaee2af039f06fcf347abe171af3157ff07f3cdd3b33e11a60caecf9890325c132eeb66ab847278d165c26bca7c30486bb2fd83b63c5ff7ae0\niv = 08e9410de244d3f40607ebae38fa74e7\nkey = 37e4dbdc436258d5a9adb9f205c77cf3\nmsg = 24a874aec067116ad22eb55846ded3f5e86919a135585c929a86d92b2958fed110e52e33804887243584a6a94402cc9a105e0c940ec335bd2890f16dcce3fc8bd02873c80ade6f1ac08683130bcca454\nresult = valid\n\n# tcId = 25\n# zero padding\nct = aa62606a287476777b92d8e4c4e53028\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = \nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 26\n# zero padding\nct = ada437b682c92384b6c23ec10a21b3d8\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 6162636465666768\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 27\n# zero padding\nct = 26c5b3e540ee3dd6b52d14afd01a44f8\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 303132333435363738396162636465\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 28\n# zero padding\nct = fbcbdfdaaf17980be939c0b243266ecbc0deb417e98aba3ee12fea2921f8ae51\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 30313233343536373839414243444546\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 29\n# zero padding\nct = fbcbdfdaaf17980be939c0b243266ecb1188ff22f6563f6173440547d1e0dfd8\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 3031323334353637383941424344454647\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 30\n# padding with 0xff\nct = 726570a34cea08139d9f836579102a0e\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = \nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 31\n# padding with 0xff\nct = c8ef7ac3fd659ce7157d72a25f0a5048\niv = 2", - "3468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 6162636465666768\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 32\n# padding with 0xff\nct = 6123c889bbc766acd4bca4cb982f9978\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 303132333435363738396162636465\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 33\n# padding with 0xff\nct = fbcbdfdaaf17980be939c0b243266ecb442cd16f7410fca70924b573f7967e84\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 30313233343536373839414243444546\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 34\n# padding with 0xff\nct = fbcbdfdaaf17980be939c0b243266ecbb20f899b0e7c1d65b931af94b5c44c25\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 3031323334353637383941424344454647\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 35\n# bit padding\nct = 50aeed98a820c5a037a5aa4d4ef3090b\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = \nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 36\n# bit padding\nct = 25ee339006f948f42713543c62467ef9\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 6162636465666768\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 37\n# bit padding\nct = 97914574676ed5b8db0b6f3931195b3f\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 303132333435363738396162636465\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 38\n# bit padding\nct = fbcbdfdaaf17980be939c0b243266ecb2874a1e2d28dd18e5573df9fd59fd789\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 30313233343536373839414243444546\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 39\n# bit padding\nct = fbcbdfdaaf17980be939c0b243266ecbb547c4fddbdcd3e02f438a2e48587594\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 3031323334353637383941424344454647\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 40\n# padding longer than 1 block\nct = d17ccbb26f0aa95f397b20063547349bac24c5429cbea591e96595cccc11451b\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = \nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 41\n# padding longer than 1 block\nct = fc07025e81d43efa85f92afdf8781b1e88598e12d6812df43733e93414b9e901\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 6162636465666768\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 42\n# padding longer than 1 block\nct = deb1746f4e9e0be4a21825b071b6e93303031651e0c59091e2ae0fbcce11b987\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 303132333435363738396162636465\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 43\n# padding longer than 1 block\nct = fbcbdfdaaf17980be939c0b243266ecb563d35096fde10ccb6f768438c9eb4ec90f399b76924c716e9f94143263306c6\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 30313233343536373839414243444546\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 44\n# padding longer than 1 block\nct = fbcbdfdaaf17980be939c0b243266ecbc8fd2e2c5362acf5212bd47859aa827d8469b87b0e6adafe3dba98c1885b6345\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 3031323334353637383941424344454647\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 45\n# ANSI X.923 padding\nct = ca5dd2d09bd56eec9e8acaeca20af68e\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = \nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 46\n# ANSI X.923 padding\nct = 01e53a5ec9b0957c45f79ed0f4b2b982\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 6162636465666768\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 47\n# ANSI X.923 padding\nct = fbcbdfdaaf17980be939c0b243266ecbd3909bb3457e5b946ff709be9a2ed84d\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 30313233343536373839414243444546\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 48\n# ANSI X.923 padding\nct = fbcbdfdaaf17980be939c0b243266ecbc5ab3ab637166a6a067b82b5672c08f8\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 3031323334353637383941424344454647\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 49\n# ISO 10126 padding\nct = ba0726bd6dea11382b19c842e2ddead2\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = \nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 50\n# ISO 10126 padding\nct = 22f18b85c729903744fb8db5ed2840d4\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 6162636465666768\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padd", - "ing. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 51\n# ISO 10126 padding\nct = fbcbdfdaaf17980be939c0b243266ecb6b103fbe43519a18880b7e6d9153e1c2\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 30313233343536373839414243444546\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 52\n# ISO 10126 padding\nct = fbcbdfdaaf17980be939c0b243266ecbe00bdb15b8a61285447498700d35e0c6\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 3031323334353637383941424344454647\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 53\n# padding longer than message\nct = d17ccbb26f0aa95f397b20063547349b\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = \nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 54\n# padding longer than message\nct = 2056dfa339fa00be6836999411a98c76\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 6162636465666768\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 55\n# padding longer than message\nct = f92628f6418d8d9c9afac233861b3835\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 303132333435363738396162636465\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 56\n# padding longer than message\nct = fbcbdfdaaf17980be939c0b243266ecbc0c41093b495a7d5a080d976493fd0e7\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 30313233343536373839414243444546\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 57\n# padding longer than message\nct = fbcbdfdaaf17980be939c0b243266ecb6770446a5ccaa26f7d4f970cc5834eba\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 3031323334353637383941424344454647\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 58\n# invalid padding\nct = 4ff3e623fdd432608c183f40864177af\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = \nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 59\n# invalid padding\nct = 6a1ef1e6ae6a788777aabd9ccf3cf43a\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 6162636465666768\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 60\n# invalid padding\nct = fbcbdfdaaf17980be939c0b243266ecbee1345cd513161b241f4ae2799b0327f\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 30313233343536373839414243444546\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 61\n# invalid padding\nct = fbcbdfdaaf17980be939c0b243266ecbe0d539beef6f2d4f7cda4fd9f4f05570\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 3031323334353637383941424344454647\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n[ivSize = 128]\n[keySize = 192]\n\n# tcId = 62\n# empty message\nct = ff0c315873b4b1872abef2353b792ef0\niv = db20f9a6f4d6b4e478f1a4b9d4051d34\nkey = 3d6bf9edae6d881eade0ff8c7076a4835b71320c1f36b631\nmsg = \nresult = valid\n\n# tcId = 63\n# message size divisible by block size\nct = 7dbd573e4db58a318edfe29f199d8cda538a49f36486337c2711163e55fd5d0b\niv = 69a76dc4da64d89c580eb75ae975ec39\nkey = f4bfa5aa4f0f4d62cf736cd2969c43d580fdb92f2753bedb\nmsg = 0e239f239705b282ce2200fe20de1165\nresult = valid\n\n# tcId = 64\n# message size divisible by block size\nct = bd0258909e5b72438d95ca4b29c8a79c6228fd06a3b2fa06f7659654c7b24610f23f2fb16313b7d3614cb0cd16fabb8e\niv = 6525667350930fb945dd1895a3abfcd1\nkey = 9d11abc1fcb248a436598e695be12c3c2ed90a18ba09d62c\nmsg = aa5182cae2a8fb068c0b3fb2be3e57ae523d13dffd1a944587707c2b67447f3f\nresult = valid\n\n# tcId = 65\n# message size divisible by block size\nct = 6cbeacf8de25d7dd9dcdc087bf2f80873b1eb335400589076f8d2bf81e294c5d72b85eb8ac9558b0de9e9fbee4b18716e5220c507fbb9d319a08f67816765ca6\niv = 3943d8fddd5bb2a59772df31a31a8fff\nkey = 7e41d83181659a2c38da5ead353cdb04c2b4d4a3cfe58e25\nmsg = 8a32d11c7a11aa72e13381632b1310f4fd90fc209a6a350e61c069a561871214f9c04fc1df7354cbe4d8d639c525d324\nresult = valid\n\n# tcId = 66\n# small plaintext size\nct = 519925956d32e4fa350b1144f088e4e8\niv = 1379d48493f743e6a149deb3b9bab31e\nkey = 915429743435c28997a33b33b6574a953d81dae0e7032e6a\nmsg = 58\nresult = valid\n\n# tcId = 67\n# small plaintext size\nct = bfb90aa7de1bdeed5bdc5703bdfd9630\niv = 48c7f44b43a1279d820733e6cb30617a\nkey = f0c288ba26b284f9fb321b444a6517b3cdda1a799d55fdff\nmsg = 0f7e\nresult = valid\n\n# tcId = 68\n# small plaintext size\nct = b1a25816908c086f26037d10b7be9ad9\niv = 2c287b38cc30c8c351b087b91a6a97ba\nkey = 6b55e4d4fd6847a80a6bfb0dcc0aa93f9fd797fc5c50292e\nmsg = 33f530\nresult = valid\n\n# tcId = 69\n# small plaintext size\nct = 74dbdecbfa94b71d2d6ef03200c7d095\niv = 61f6060919c9c09ef06be28f39c344aa\nkey = 1eb21a9e995a8e45c9e71ecbd6fe615b3e0318007c64b644\nmsg = 3aa73c48\nresult = valid\n\n# tcId = 70\n# small plaintext size\nct = 10c860aaee23c3c3c1b9306b189dd80d\niv = 7682005907bfef3ce00196a17ad2246d\nkey = 710e2d5d4a9f0bc7e50796655e046a18cc5769d7764355da\nmsg = 7e4c690a88\nresult = valid\n\n# tcId = 71\n# small plaintext size\nct = 673dcd444386930a0cc577fab4501e5c\niv = 1f6c912997ce007701e5fdf407c6b421\nkey = d8c09ea400779b63e774bdacd0cb7b5dd6f736ca23d52acf\nmsg = e9520280973b\nresult = valid\n\n# tcId = 72\n# small plaintext size\nct = 059e5f72a81d8820add8eae8fabcdd42\niv = 5854033ae50de090678432781a168b6c\nkey = 8e67e9a0863b55bed408866f1cbc05357abe3f9d79f406f2\nmsg = 4880b412287a0b\nresult = valid\n\n# tcId = 73\n# small plaintext size\nct = c412159fd5ae20d771b7d2e734124d6a\niv = 003b2d86d8b636c58cf664565572d5e6\nkey = 28d8da67806410e5565bcc5a9d7ab9fb357413fa0158378c\nmsg = 004e3f4a4e6db955\nresult = valid\n\n# tcId = 74\n# small plaintext size\nct = 4aba571c2c5ab9a6140f16efc68c8ec1\niv = 3f22b50f888ab9424ba871d15aac55b7\nkey = dc968dd89fd602bb7eca6f3a8a13e4f59c08d02a514b1934\nmsg = 41a25354efeb1bc3b8\nresult = valid\n\n# tcId = 75\n# small plaintext size\nct = 66d1b9152a8cd1a88eab341c775070b4\niv = e4b8dde04b49fa6b88bfccd8d70c21d1\nkey = 7658951c0f620d82afd92756cc2d7983b79da3e56fdd1b78\nmsg = f0e82fb5c5666f4af49f\nresult = valid\n\n# tcId = 76\n# small plaintext size\nct = d9377788e2881a48f9347786db7df51f\niv = 7753f616cd8796c9b8a3bbfbe6cb1e7f\nkey = d9574c3a221b986690931faac5258d9d3c52362b2cb9b054\nmsg = 178ea8404ba54ee4e4522c\nresult = valid\n\n# tcId = 77\n# small plaintext size\nct =", - " db825f4434ea3bb53576fa7385fb7dfe\niv = eae9ee19ccb7f8b087675709c4d35f73\nkey = 704409bab28085c44981f28f75dd143a4f747106f63f262e\nmsg = cda5709e7f115624e74ab031\nresult = valid\n\n# tcId = 78\n# small plaintext size\nct = 3e7287df2a5ed9de4d817e352bd47ea7\niv = a6aaff339a729d30a7ec1328db36d23e\nkey = d8d06ef6a53bbff5c8f12d791b8f4c67e574bf440736d1cc\nmsg = a1171eae1979f48345dd9485a0\nresult = valid\n\n# tcId = 79\n# small plaintext size\nct = 17c3ade4b469ae614760039a8fa6250e\niv = 92fda71e88c70d18ed71b992735a2150\nkey = 71129e781613f39d9ac39fbde2628b44c250c14deb5ef9e2\nmsg = 967593cc64bcbf7f3c58d04cb82b\nresult = valid\n\n# tcId = 80\n# small plaintext size\nct = 9cafecff2a28d02f732573f65a2cadca\niv = ed6596c86b98123ad2f3c573e974d051\nkey = 850fc859e9f7b89a367611dee6698f33962d8245ca8dc331\nmsg = 586f4f171af116519061a8e0e77940\nresult = valid\n\n# tcId = 81\n# plaintext size > 16\nct = 401ad889bdb9d38816c782e00b168ccccde9bf75f4be868ceb91237e8b37b750\niv = c45b52a240eba3bdde5dfd57f3d474fb\nkey = cfd3f68873d81a27d2bfce876c79f6e609074dec39e34614\nmsg = b1973cb25aa87ef9d1a8888b0a0f5c04c6\nresult = valid\n\n# tcId = 82\n# plaintext size > 16\nct = 455d516e87851e6c894578a0f7126e0acbc7cfbb1d80296647ab89a79dfa6f71\niv = 07ece5fe02266e073499fd4d66929034\nkey = b7f165bced1613da5e747fdf9255832d30c07f2deeb5a326\nmsg = 289647ea8d0ff31375a82aa1c620903048bb1d0e\nresult = valid\n\n# tcId = 83\n# plaintext size > 16\nct = cbf541330a5a9bda24984976b0cf96ba08ef521fa2cdb3df839128570e222ac4\niv = d799157bc1f77c182027be918b30783a\nkey = 9bbe6e004fb260dadb02b68b78954f1da5e6a2d02e0aeefe\nmsg = 665423092ce95b927e98b8082030f58e33f3ec1b0c29532c2f421855f00f97\nresult = valid\n\n# tcId = 84\n# plaintext size > 16\nct = 03225f08592efca14ad8ecf822465e8be4157465d0be150dd3d645b6fef1b19ca7bbaa5940b2a7895fa2b0ee55b0d4ec\niv = fdf97645e4192ba84728bbf6683f79de\nkey = 1381fbd5e79045d40f29790fc1a436c95b040a046ebf0b0f\nmsg = d575dce596dd0a2cd1c18dab7eb0948fafb8669969a48b6314493bfb8daf8acacd51382f9bb5b357\nresult = valid\n\n# tcId = 85\n# plaintext size > 16\nct = 27ad00313f328f0d3e6c3238ab560cb7243a9f54f7dff79b5a7a879439993d458017f09e8d3f694098bc19e61fe54085138664abb51a5b328cf2c9ce5d59726fff5e1b7553c143d9e0493c51cab23ff2ecdad91bd72bb12b32f3b611f9a4225d\niv = 059685f59247eea5d3f2a1532cb9d6b2\nkey = 1bb4ed0e8435e20729f48c1b7e3af6e69e4cebf0731131cf\nmsg = 6d29dab6a0568c961ab3c825e0d89940cef06c63ade7e557cd3e92792eaf23c8cd5a0f029c63b1cdce4754ccfad7a73c7c9e50ffe081e9136f5e9a424077339de12ea43572afe1b034e833e5887763aa\nresult = valid\n\n# tcId = 86\n# zero padding\nct = 2c010faa25c68c3b30b8c1491c316d5f\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = \nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 87\n# zero padding\nct = 818454d433154a8e00e8f590b8a1c38c\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 6162636465666768\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 88\n# zero padding\nct = 0a7423fae3f4c8d4633f839d36f2e9ff\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 303132333435363738396162636465\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 89\n# zero padding\nct = a7cfcdabcc5a2736a2708c1cb0b61432e83f6e522c371e6e71bde539595b70b7\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 30313233343536373839414243444546\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 90\n# zero padding\nct = a7cfcdabcc5a2736a2708c1cb0b6143254d15f47701fa54f5957828f386e1d97\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 3031323334353637383941424344454647\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 91\n# padding with 0xff\nct = 6ded36cc7603e514014dfb7199900676\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = \nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 92\n# padding with 0xff\nct = 839f772f8e5f50afdc02f954094869fe\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 6162636465666768\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 93\n# padding with 0xff\nct = eefe3553c099c187929b287e54f95726\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 303132333435363738396162636465\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 94\n# padding with 0xff\nct = a7cfcdabcc5a2736a2708c1cb0b61432d0531a2641d40467353542d79ce20ea8\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 30313233343536373839414243444546\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 95\n# padding with 0xff\nct = a7cfcdabcc5a2736a2708c1cb0b61432aaf08a090ecf66167ba5958100be7950\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 3031323334353637383941424344454647\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 96\n# bit padding\nct = c0e402c8bbdda18c8ddd86470bd4b244\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = \nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 97\n# bit padding\nct = dc185d4572565e01131e471ec4c48125\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 6162636465666768\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 98\n# bit padding\nct = 3ad1ddf3c3b320398785e6ec6544e9a2\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 303132333435363738396162636465\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 99\n# bit padding\nct = a7cfcdabcc5a2736a2708c1cb0b614325876f90cfbbdbcd85e8252d37c44c638\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 30313233343536373839414243444546\nresult = invalid\n# The ciphertext in this test vector is the mess", - "age encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 100\n# bit padding\nct = a7cfcdabcc5a2736a2708c1cb0b61432d18f57216b0e6426d911998a0e44156b\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 3031323334353637383941424344454647\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 101\n# padding longer than 1 block\nct = f1605abb4e6628347c616da350fe243043a8d7b6aea244ca013f45241d802213\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = \nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 102\n# padding longer than 1 block\nct = a5f027fb9514ec8844534d452c940feb2c1807f57ed628156cf753f2ab698356\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 6162636465666768\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 103\n# padding longer than 1 block\nct = f346fbc9744d723c42bbb2a4c934cdd4f1019e58c226cb2491fed621271a38f3\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 303132333435363738396162636465\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 104\n# padding longer than 1 block\nct = a7cfcdabcc5a2736a2708c1cb0b6143263eb325d36e13aa1d3dd1d7e071700104c7eb3e22e0859aa06296bc3194bb909\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 30313233343536373839414243444546\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 105\n# padding longer than 1 block\nct = a7cfcdabcc5a2736a2708c1cb0b61432219485d41584bd110a6d7a9cad472815d93921c48d4bcb509fdf2e63d7627c37\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 3031323334353637383941424344454647\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 106\n# ANSI X.923 padding\nct = 215571a18a70140f3a0fd4c1b2dd6316\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = \nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 107\n# ANSI X.923 padding\nct = 2529985ec0ec3cf4bd22746e00d7bdc6\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 6162636465666768\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 108\n# ANSI X.923 padding\nct = a7cfcdabcc5a2736a2708c1cb0b614329a8058657ac4a150e995cf83efccf051\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 30313233343536373839414243444546\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 109\n# ANSI X.923 padding\nct = a7cfcdabcc5a2736a2708c1cb0b614328a068626780ba600f880bd5323f8ac15\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 3031323334353637383941424344454647\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 110\n# ISO 10126 padding\nct = 13e75f9ffe2afa81b9a2e7faf74aab6d\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = \nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 111\n# ISO 10126 padding\nct = a382197fe491f5c3f91b629dc47c3d58\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 6162636465666768\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 112\n# ISO 10126 padding\nct = a7cfcdabcc5a2736a2708c1cb0b614320b842e5d6e32660263ff814a0277659f\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 30313233343536373839414243444546\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 113\n# ISO 10126 padding\nct = a7cfcdabcc5a2736a2708c1cb0b614321d2f736515cfe17921800eb392e0139d\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 3031323334353637383941424344454647\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 114\n# padding longer than message\nct = f1605abb4e6628347c616da350fe2430\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = \nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 115\n# padding longer than message\nct = b3602ff0f797cbbdde35105d27e55b94\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 6162636465666768\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 116\n# padding longer than message\nct = 0334c1bc34b597f60a639e74d8b45c4e\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 303132333435363738396162636465\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 117\n# padding longer than message\nct = a7cfcdabcc5a2736a2708c1cb0b61432c3f9fe42d9715035bcda97d27405ced7\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 30313233343536373839414243444546\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 118\n# padding longer than message\nct = a7cfcdabcc5a2736a2708c1cb0b61432362b014a", - "9abdaf25ae1f6dfb99d03d9d\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 3031323334353637383941424344454647\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 119\n# invalid padding\nct = 97ab405b86c388f144cf74fbb9358493\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = \nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 120\n# invalid padding\nct = 691f6009802f0fb4920928db7eca1349\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 6162636465666768\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 121\n# invalid padding\nct = a7cfcdabcc5a2736a2708c1cb0b61432a99fc96a6fa0c9fcb18de1672d74914d\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 30313233343536373839414243444546\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 122\n# invalid padding\nct = a7cfcdabcc5a2736a2708c1cb0b61432dd1bb2e98102322fb1aa92c979d4c7c3\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 3031323334353637383941424344454647\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n[ivSize = 128]\n[keySize = 256]\n\n# tcId = 123\n# empty message\nct = e7c166554d1bb32792c981fa674cc4d8\niv = eb38ef61717e1324ae064e86f1c3e797\nkey = 7bf9e536b66a215c22233fe2daaa743a898b9acb9f7802de70b40e3d6e43ef97\nmsg = \nresult = valid\n\n# tcId = 124\n# message size divisible by block size\nct = 299295be47e9f5441fe83a7a811c4aeb2650333e681e69fa6b767d28a6ccf282\niv = 9ec7b863ac845cad5e4673da21f5b6a9\nkey = 612e837843ceae7f61d49625faa7e7494f9253e20cb3adcea686512b043936cd\nmsg = cc37fae15f745a2f40e2c8b192f2b38d\nresult = valid\n\n# tcId = 125\n# message size divisible by block size\nct = a615a39ff8f59f82cf72ed13e1b01e32459700561be112412961365c7a0b58aa7a16d68c065e77ebe504999051476bd7\niv = e70d83a77a2ce722ac214c00837acedf\nkey = 96e1e4896fb2cd05f133a6a100bc5609a7ac3ca6d81721e922dadd69ad07a892\nmsg = 91a17e4dfcc3166a1add26ff0e7c12056e8a654f28a6de24f4ba739ceb5b5b18\nresult = valid\n\n# tcId = 126\n# message size divisible by block size\nct = ed3ed8ecdbabc0a8c06259e913f3ab9a1f1dc6d05e5dfdd9c80e1008f3423064d540681291bbd3e159820fee3ff190a68fe506d8ab9e62c8e7b3816093336dbc\niv = bd003c0a9d804c29f053a77cb380cb47\nkey = 649e373e681ef52e3c10ac265484750932a9918f28fb824f7cb50adab39781fe\nmsg = 39b447bd3a01983c1cb761b456d69000948ceb870562a536126a0d18a8e7e49b16de8fe672f13d0808d8b7d957899917\nresult = valid\n\n# tcId = 127\n# small plaintext size\nct = 42c0b89a706ed2606cd94f9cb361fa51\niv = 014d2e13dfbcb969ba3bb91442d52eca\nkey = e754076ceab3fdaf4f9bcab7d4f0df0cbbafbc87731b8f9b7cd2166472e8eebc\nmsg = 40\nresult = valid\n\n# tcId = 128\n# small plaintext size\nct = b90c326b72eb222ddb4dae47f2bc223c\niv = fae3e2054113f6b3b904aadbfe59655c\nkey = ea3b016bdd387dd64d837c71683808f335dbdc53598a4ea8c5f952473fafaf5f\nmsg = 6601\nresult = valid\n\n# tcId = 129\n# small plaintext size\nct = 567c45c5e6d570bef583d21cac43757d\niv = 203cd3e0068e43d38b6f2e48a188f252\nkey = 73d4709637857dafab6ad8b2b0a51b06524717fedf100296644f7cfdaae1805b\nmsg = f1d300\nresult = valid\n\n# tcId = 130\n# small plaintext size\nct = c45afe62fc9351ad0fc9b03bc2f3a91f\niv = abcf220eede012279c3a2d33295ff273\nkey = d5c81b399d4c0d1583a13da56de6d2dc45a66e7b47c24ab1192e246dc961dd77\nmsg = 2ae63cbf\nresult = valid\n\n# tcId = 131\n# small plaintext size\nct = 281fa533d0740cc6cdf94dd1a5f7402d\niv = 01373953578902909ae4f6cb0a72587c\nkey = 2521203fa0dddf59d837b2830f87b1aa61f958155df3ca4d1df2457cb4284dc8\nmsg = af3a015ea1\nresult = valid\n\n# tcId = 132\n# small plaintext size\nct = 3f3f39697bd7e88d85a14132be1cbc48\niv = 3fb0d5ecd06c71150748b599595833cb\nkey = 665a02bc265a66d01775091da56726b6668bfd903cb7af66fb1b78a8a062e43c\nmsg = 3f56935def3f\nresult = valid\n\n# tcId = 133\n# small plaintext size\nct = 379990d91557614836381d5026fa04a0\niv = 27a2db6114ece34fb6c23302d9ba07c6\nkey = facd75b22221380047305bc981f570e2a1af38928ea7e2059e3af5fc6b82b493\nmsg = 57bb86beed156f\nresult = valid\n\n# tcId = 134\n# small plaintext size\nct = 7ecefe24caa78a68f4031d40fdb9a43a\niv = 9b2b631e3f24bdc814a14abb3416059e\nkey = 505aa98819809ef63b9a368a1e8bc2e922da45b03ce02d9a7966b15006dba2d5\nmsg = 2e4e7ef728fe11af\nresult = valid\n\n# tcId = 135\n# small plaintext size\nct = ffe4ec8baf4af40ab2e7f4d6193fae9c\niv = 92cfc4eb146b18b73fc76483fc5e1229\nkey = f942093842808ba47f64e427f7351dde6b9546e66de4e7d60aa6f328182712cf\nmsg = 852a21d92848e627c7\nresult = valid\n\n# tcId = 136\n# small plaintext size\nct = ef96215e7950e7be8aae78b9ec8aaf39\niv = 4ceed8dcb75b6259dad737bdef96f099\nkey = 64be162b39c6e5f1fed9c32d9f674d9a8cde6eaa2443214d86bd4a1fb53b81b4\nmsg = 195a3b292f93baff0a2c\nresult = valid\n\n# tcId = 137\n# small plaintext size\nct = 4ed0eac75b05868078303875f82fb4f0\niv = 2d4cead3f1120a2b4b59419d04951e20\nkey = b259a555d44b8a20c5489e2f38392ddaa6be9e35b9833b67e1b5fdf6cb3e4c6c\nmsg = afd73117330c6e8528a6e4\nresult = valid\n\n# tcId = 138\n# small plaintext size\nct = f4d298caea7c390fc8c7f558f584f852\niv = a10392634143c2a3332fa0fb3f72200a\nkey = 2c6fc62daa77ba8c6881b3dd6989898fef646663cc7b0a3db8228a707b85f2dc\nmsg = 0ff54d6b6759120c2e8a51e3\nresult = valid\n\n# tcId = 139\n# small plaintext size\nct = 5e1c00e2ec829f92b87c6adf5c25262d\niv = 38b916a7ad3a9251ae3bd8865ca3a688\nkey = abab815d51df29f740e4e2079fb798e0152836e6ab57d1536ae8929e52c06eb8\nmsg = f0058d412a104e53d820b95a7f\nresult = valid\n\n# tcId = 140\n# small plaintext size\nct = bf3a04ddb2dbfe7c6dc9e15aa67be25d\niv = bfcc3ac44d12e42d780c1188ac64b57f\nkey = 3d5da1af83f7287458bff7a7651ea5d8db72259401333f6b82096996dd7eaf19\nmsg = aacc36972f183057919ff57b49e1\nresult = valid\n\n# tcId = 141\n# small plaintext size\nct = fdcfa77f5bd09326b4c11f9281b72474\niv = 35bc82e3503b95044c6406a8b2c2ecff\nkey = c19bdf314c6cf64381425467f42aefa17c1cc9358be16ce31b1d214859ce86aa\nmsg = 5d066a92c300e9b6ddd63a7c13ae33\nresult = valid\n\n# tcId = 142\n# plaintext size > 16\nct = fbea776fb1653635f88e2937ed2450ba4e9063e96d7cdba04928f01cb85492fe\niv = 4b74bd981ea9d074757c3e2ef515e5fb\nkey = 73216fafd0022d0d6ee27198b2272578fa8f04dd9f44467fbb6437aa45641bf7\nmsg = d5247b8f6c3edcbfb1d591d13ece23d2f5\nresult = valid\n\n# tcId = 143\n# plaintext size > 16\nct = 3a79bb6084c7116b58afe52d7181a0aacee1caa11df959090e2e7b0073d74817\niv = 9a1d8ccc24c5e4d3995480af236be103\nkey = c2039f0d05951aa8d9fbdf68be58a37cf99bd1afcedda286a9db470c3729ca92\nmsg = ed5b5e28e9703bdf5c7b3b080f2690a605fcd0d9\nresult = valid\n\n# tcId = 144\n# plaintext size > 16\nct = 642b11efb79b49e5d038bc7aa29b8c6c3ce0bf11c3a69670eb565799908be66d\niv = 400aab92803bcbb44a96ef789655b34e\nkey = 4f097858a1aec62cf18f0966b2b120783aa4ae9149d3213109740506ae47adfe\nmsg = ee53d8e5039e82d9fcca114e375a014febfea117a7e709d9008d43858e3660\nresult = valid\n\n# tcId = 145\n# plaintext size > 16\nct = a9b051354f0cf61f11921b330e60f996de796aeb68140a0f9c5962e1f48e4805262fb6f53b26d9bb2fa0e359efe14734\niv = 6eedf45753ffe38f2407fbc28ab5959c\nkey = 5f99f7d60653d79f088dd07ef306b65e057d36e053fa1c9f6854425c019fd4df\nmsg = fcc9212c23675c5d69a1266c77389bc955e453daba20034aabbcd502a1b73e05af30f8b7622abdbc\nresult = valid\n\n# tcId = 146\n# plaintext size > 16\nct = 5074f46f1a6d0eeff070d623172eb15bbfc83e7d16466a00c9da5f4545eecf44adbf60cf9ac9aa1a3ec5eca22d4a34a7b21ca44d214c9d04ab1cb0b2c07001de9adb46f3c12f8f48436b516a409bf6cbdf1871dee3115d5cbb7943558b68867e\niv = f88551c6aa197f9ad80251c2e32d7663\nkey = 95aaa5df4ccb529e9b", - "2dc929e770c1f419f8e8933bfb36f632f532b3dcad2ba6\nmsg = f5735567b7c8312f116517788b091cc6cb1d474b010a77910154fd11c3b2f0cd19f713b63d66492e8cc7ee8ad714783f46c305a26416e11ff4b99ec5ce2550593cc5ec1b86ba6a66d10f82bdff827055\nresult = valid\n\n# tcId = 147\n# zero padding\nct = e07558d746574528fb813f34e3fb7719\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = \nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 148\n# zero padding\nct = c01af61276368818a8295f7d4b5bb2fd\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 6162636465666768\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 149\n# zero padding\nct = 97dd9716f06be49160399a5b212250ae\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 303132333435363738396162636465\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 150\n# zero padding\nct = 8881e9e02fa9e3037b397957ba1fb7ce783bb4b4e18d7c646f38e0bb8ff92896\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 30313233343536373839414243444546\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 151\n# zero padding\nct = 8881e9e02fa9e3037b397957ba1fb7ce64679a46621b792f643542a735f0bbbf\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 3031323334353637383941424344454647\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 152\n# padding with 0xff\nct = c007ddffb76b95208505fe7f3be96172\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = \nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 153\n# padding with 0xff\nct = e9b7719c4c2b9fa6b94cb50e87b28156\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 6162636465666768\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 154\n# padding with 0xff\nct = 77b31f474c4bd489dbadd532643d1fa5\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 303132333435363738396162636465\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 155\n# padding with 0xff\nct = 8881e9e02fa9e3037b397957ba1fb7cea0166e9e1c0122cb2e2983fc0fac7176\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 30313233343536373839414243444546\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 156\n# padding with 0xff\nct = 8881e9e02fa9e3037b397957ba1fb7ce6f0effa789cbb0b875cc53cc8f7b3caf\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 3031323334353637383941424344454647\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 157\n# bit padding\nct = 4dd5f910c94700235c9ed239160e34e2\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = \nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 158\n# bit padding\nct = 94d18b5923f8f3608ae7ad494fbb517e\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 6162636465666768\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 159\n# bit padding\nct = 0c92886dbcb030b873123a25d224da42\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 303132333435363738396162636465\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 160\n# bit padding\nct = 8881e9e02fa9e3037b397957ba1fb7ce851be67798a2937cd6681165da6dce03\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 30313233343536373839414243444546\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 161\n# bit padding\nct = 8881e9e02fa9e3037b397957ba1fb7ce45658a37aaebc51098866b0894007e8e\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 3031323334353637383941424344454647\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 162\n# padding longer than 1 block\nct = 524236e25956e950713bec0d3d579068f34e4d18c4ccab081317dae526fe7fca\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = \nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 163\n# padding longer than 1 block\nct = d29eb845640c3a8878f51bc50e290aa4a65a34a93728fe8f82fdb8d3d2b7c648\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 6162636465666768\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 164\n# padding longer than 1 block\nct = c34563be2952277c0f5c67ae1d6f847118730dd7f6a502ceef3c4bce5999f7aa\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 303132333435363738396162636465\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the p", - "adding during decryption.\n\n# tcId = 165\n# padding longer than 1 block\nct = 8881e9e02fa9e3037b397957ba1fb7cec0f74a1aa92fd9c96f9d15d193d1695c1eb33486e269277612f90f509f0535c2\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 30313233343536373839414243444546\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 166\n# padding longer than 1 block\nct = 8881e9e02fa9e3037b397957ba1fb7ce151ade309ec5200bacdd83b57ce794cd2b3bf9f8957def829e8465f7db266f9e\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 3031323334353637383941424344454647\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 167\n# ANSI X.923 padding\nct = fb38cbef13f1d5be9c0ac7ed9cbe023c\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = \nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 168\n# ANSI X.923 padding\nct = 18cf8988abe9a2463a3a75db1fac8bcc\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 6162636465666768\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 169\n# ANSI X.923 padding\nct = 8881e9e02fa9e3037b397957ba1fb7cee16d6fc4b4d3cdf6f915996e437fd4cc\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 30313233343536373839414243444546\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 170\n# ANSI X.923 padding\nct = 8881e9e02fa9e3037b397957ba1fb7cea8f41f61ead6e9936cbe7ee5a1163b9b\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 3031323334353637383941424344454647\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 171\n# ISO 10126 padding\nct = a05c14da0109093c195b4998812fe150\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = \nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 172\n# ISO 10126 padding\nct = c477877250c8e4ca2869f35c4757cdb4\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 6162636465666768\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 173\n# ISO 10126 padding\nct = 8881e9e02fa9e3037b397957ba1fb7ce69f57c6e99c7b9df7d4879ccd15caf3d\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 30313233343536373839414243444546\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 174\n# ISO 10126 padding\nct = 8881e9e02fa9e3037b397957ba1fb7ce77f89a247c928f147748ce6bc8fc4b67\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 3031323334353637383941424344454647\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 175\n# padding longer than message\nct = 524236e25956e950713bec0d3d579068\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = \nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 176\n# padding longer than message\nct = e03b6f2ae1c963b6dfa40b42d34314b7\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 6162636465666768\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 177\n# padding longer than message\nct = df14f4cbbccca57b9727d68270a1b6c1\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 303132333435363738396162636465\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 178\n# padding longer than message\nct = 8881e9e02fa9e3037b397957ba1fb7ceea228bf1edd41c390e2eef140142bc00\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 30313233343536373839414243444546\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 179\n# padding longer than message\nct = 8881e9e02fa9e3037b397957ba1fb7ce3937e0e9abf7f672a34a500ba8e9099a\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 3031323334353637383941424344454647\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 180\n# invalid padding\nct = 32ac6057df2a5d1e2e5131348c6ebc4e\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = \nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 181\n# invalid padding\nct = df4a7c3b9f4756d30fca0d18e9b28960\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 6162636465666768\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId = 182\n# invalid padding\nct = 8881e9e02fa9e3037b397957ba1fb7ceae2855c47c7988873d57f901e049494b\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 30313233343536373839414243444546\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n# tcId =", - " 183\n# invalid padding\nct = 8881e9e02fa9e3037b397957ba1fb7ce0714c8de200b27ac91d9257fc93c13be\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 3031323334353637383941424344454647\nresult = invalid\n# The ciphertext in this test vector is the message encrypted with an invalid or\n# unexpected padding. This allows to find implementations that are not properly\n# checking the padding during decryption.\n\n", +static const char *kData89[] = { + "# Imported from Wycheproof's aes_cbc_pkcs5_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: AES-CBC-PKCS5\n# Generator version: 0.8r12\n\n[ivSize = 128]\n[keySize = 128]\n\n# tcId = 1\n# empty message\nct = b10ab60153276941361000414aed0a9d\niv = da9520f7d3520277035173299388bee2\nkey = e34f15c7bd819930fe9d66e0c166e61c\nmsg = \nresult = valid\n\n# tcId = 2\n# message size divisible by block size\nct = d1fa697f3e2e04d64f1a0da203813ca5bc226a0b1d42287b2a5b994a66eaf14a\niv = c9ee3cd746bf208c65ca9e72a266d54f\nkey = e09eaa5a3f5e56d279d5e7a03373f6ea\nmsg = ef4eab37181f98423e53e947e7050fd0\nresult = valid\n\n# tcId = 3\n# message size divisible by block size\nct = 514cbc69aced506926deacdeb0cc0a5a07d540f65d825b65c7db0075cf930a06e0124ae598461cab0b3251baa853e377\niv = 8b2e86a9a185cfa6f51c7cc595b822bc\nkey = 9bd3902ed0996c869b572272e76f3889\nmsg = a7ba19d49ee1ea02f098aa8e30c740d893a4456ccc294040484ed8a00a55f93e\nresult = valid\n\n# tcId = 4\n# message size divisible by block size\nct = 137c824d7f7dc36f24216dde37c2e1c10cee533f6453de92e44b898fc3037d2e9e19d67a96387136dd9717a56e28614a5c177158f402ce2936fd98d1feb6a817\niv = 2717d10eb2eea3b39ec257e43307a260\nkey = 75ce184447cada672e02290310d224f7\nmsg = c774810a31a6421ad8eaafd5c22fa2455e2c167fee4a0b73ff927b2d96c69da1e939407b86b1c19bcfc69c434c3cf8a2\nresult = valid\n\n# tcId = 5\n# small plaintext size\nct = 599d77aca16910b42d8b4ac9560efe1b\niv = 155fd397579b0b5d991d42607f2cc9ad\nkey = e1e726677f4893890f8c027f9d8ef80d\nmsg = 3f\nresult = valid\n\n# tcId = 6\n# small plaintext size\nct = 74e20bf03a0ad4b49edc86a1b19c3d1d\niv = 4eb836be6808db264cb1111a3283b394\nkey = b151f491c4c006d1f28214aa3da9a985\nmsg = 27d9\nresult = valid\n\n# tcId = 7\n# small plaintext size\nct = 3f7a26558ba51cf352219d34c46907ae\niv = a8446c27ea9068d8d924d5c4eac91157\nkey = c36ff15f72777ee21deec07b63c1a0cd\nmsg = 50b428\nresult = valid\n\n# tcId = 8\n# small plaintext size\nct = c29d1463baccc558fd720c897da5bb98\niv = ef026d27da3702d7bb72e5e364a8f8f2\nkey = 32b9c5c78c3a0689a86052420fa1e8fc\nmsg = 0b9262ec\nresult = valid\n\n# tcId = 9\n# small plaintext size\nct = e24a717914f9cc8eaa1dc96f7840d6af\niv = c9defd3929dcd6c355c144e9750dd869\nkey = 43151bbaef367277ebfc97509d0aa49c\nmsg = eaa91273e7\nresult = valid\n\n# tcId = 10\n# small plaintext size\nct = f080e487f4e5b7aed793ea95ffe4bb30\niv = ce91e0454b0123f1ead0f158826459e9\nkey = 481440298525cc261f8159159aedf62d\nmsg = 6123c556c5cc\nresult = valid\n\n# tcId = 11\n# small plaintext size\nct = 27cadee413ed901f51c9366d731d95f6\niv = 1cb7bc8fe00523e7743d3cd9f483d6fe\nkey = 9ca26eb88731efbf7f810d5d95e196ac\nmsg = 7e48f06183aa40\nresult = valid\n\n# tcId = 12\n# small plaintext size\nct = 59bf12427b51a3aee0c9d3c540d04d24\niv = a345f084229dbfe0ceab6c6939571532\nkey = 48f0d03e41cc55c4b58f737b5acdea32\nmsg = f4a133aa6d5985a0\nresult = valid\n\n# tcId = 13\n# small plaintext size\nct = 1a0a18355f8ca4e6e2cf31da18d070da\niv = e5b6f73f132355b7be7d977bea068dfc\nkey = 1c958849f31996b28939ce513087d1be\nmsg = b0d2fee11b8e2f86b7\nresult = valid\n\n# tcId = 14\n# small plaintext size\nct = cef498ea61715a27f400418d1d5bfbf0\niv = c7cd10ca949ea03e7d4ba204b69e09b8\nkey = 39de0ebea97c09b2301a90009a423253\nmsg = 81e5c33b4c620852f044\nresult = valid\n\n# tcId = 15\n# small plaintext size\nct = 7ab43ddc45835ce40d2280bcea6a63f2\niv = bb8c9af30821dfeb7124392a554d9f01\nkey = 91656d8fc0aced60ddb1c4006d0dde53\nmsg = 7b3e440fe566790064b2ec\nresult = valid\n\n# tcId = 16\n# small plaintext size\nct = c70b457c945ad40895cf4c8be3ce7c66\niv = 54c3b90ca6e933f9094334d0263d3775\nkey = af7d5134720b5386158d51ea126e7cf9\nmsg = 7cc6fcc925c20f3c83b5567c\nresult = valid\n\n# tcId = 17\n# small plaintext size\nct = f9900afee2acfe63f8f15d81bbf64c39\niv = 9a2c5e91d4f0b9b9da64b46c5c2c8cb2\nkey = 4ed56753de6f75a032ebabca3ce27971\nmsg = 0c8c0f5619d9f8da5339281285\nresult = valid\n\n# tcId = 18\n# small plaintext size\nct = da4137bd8ac78e75a700b3de806f2d6f\niv = cf7951501104e1434309e6b936ec1742\nkey = beba50c936b696c15e25046dffb23a64\nmsg = 821ea8532fbabffb6e3d212e9b46\nresult = valid\n\n# tcId = 19\n# small plaintext size\nct = fed05321d11d978e2ec32527ecfce06c\niv = 90f5cf4fbfd2e2a1ab8eef402617bd5c\nkey = 501d81ebf912ddb87fbe3b7aac1437bc\nmsg = 2368e3c3636b5e8e94d2081adbf798\nresult = valid\n\n# tcId = 20\n# plaintext size > 16\nct = 8d55dc10584e243f55d2bdbb5758b7fabcd58c8d3785f01c7e3640b2a1dadcd9\niv = 54f2459e40e002763144f4752cde2fb5\nkey = 831e664c9e3f0c3094c0b27b9d908eb2\nmsg = 26603bb76dd0a0180791c4ed4d3b058807\nresult = valid\n\n# tcId = 21\n# plaintext size > 16\nct = e9199842355ea0c3dbf1b2a94fef1c802a95d024df9e407883cf5bf1f02c3cdc\niv = 088e01c2c65b26e7ad6af7b92ea09d73\nkey = cbffc6c8c7f76f46349c32d666f4efb0\nmsg = 6df067add738195fd55ac2e76b476971b9a0e6d8\nresult = valid\n\n# tcId = 22\n# plaintext size > 16\nct = 19beb4db2be0f3aff0083583038b2281a77c85b5f345ba4d2bc7f742a14f9247\niv = d9c9468796a2f5741b84d2d41430c5d3\nkey = fda6a01194beb462953d7e6c49b32dac\nmsg = f60ae3b036abcab78c98fc1d4b67970c0955cb6fe24483f8907fd73319679b\nresult = valid\n\n# tcId = 23\n# plaintext size > 16\nct = 84904fc92bd2e7590aa268e667370327b9446f41067dd40d3e5091a63a0d5687e4926e00cc3cb461c3b85d80ee2da818\niv = c98b47808add45c0c891983ec4b09846\nkey = efd9caa8ac68e9e29acdae57e93bcea8\nmsg = 3e1d2001f1e475b972738936443a5f51eedaf802a66fadf2406cfaadb0549149fcb9f485e534dc2d\nresult = valid\n\n# tcId = 24\n# plaintext size > 16\nct = 1d1391593a336be4b207295ad0542bc4ef2f39053066e12c38f71603f377fd42f4f0b2b5a42cdfeaee2af039f06fcf347abe171af3157ff07f3cdd3b33e11a60caecf9890325c132eeb66ab847278d165c26bca7c30486bb2fd83b63c5ff7ae0\niv = 08e9410de244d3f40607ebae38fa74e7\nkey = 37e4dbdc436258d5a9adb9f205c77cf3\nmsg = 24a874aec067116ad22eb55846ded3f5e86919a135585c929a86d92b2958fed110e52e33804887243584a6a94402cc9a105e0c940ec335bd2890f16dcce3fc8bd02873c80ade6f1ac08683130bcca454\nresult = valid\n\n# tcId = 25\n# zero padding\nct = aa62606a287476777b92d8e4c4e53028\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = \nresult = invalid\nflags = BadPadding\n\n# tcId = 26\n# zero padding\nct = ada437b682c92384b6c23ec10a21b3d8\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 6162636465666768\nresult = invalid\nflags = BadPadding\n\n# tcId = 27\n# zero padding\nct = 26c5b3e540ee3dd6b52d14afd01a44f8\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 303132333435363738396162636465\nresult = invalid\nflags = BadPadding\n\n# tcId = 28\n# zero padding\nct = fbcbdfdaaf17980be939c0b243266ecbc0deb417e98aba3ee12fea2921f8ae51\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 30313233343536373839414243444546\nresult = invalid\nflags = BadPadding\n\n# tcId = 29\n# zero padding\nct = fbcbdfdaaf17980be939c0b243266ecb1188ff22f6563f6173440547d1e0dfd8\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 3031323334353637383941424344454647\nresult = invalid\nflags = BadPadding\n\n# tcId = 30\n# padding with 0xff\nct = 726570a34cea08139d9f836579102a0e\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = \nresult = invalid\nflags = BadPadding\n\n# tcId = 31\n# padding with 0xff\nct = c8ef7ac3fd659ce7157d72a25f0a5048\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 6162636465666768\nresult = invalid\nflags = BadPadding\n\n# tcId = 32\n# padding with 0xff\nct = 6123c889bbc766acd4bca4cb982f9978\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 303132333435363738396162636465\nresult = invalid\nflags = BadPadding\n\n# tcId = 33\n# padding with 0xff\nct = fbcbdfdaaf17980be939c0b243266ecb442cd16f7410fca70924b573f7967e84\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 30313233343536373839414243444546\nresult = invalid\nflags = BadPadding\n\n# tcId = 34\n# padding with 0xff\nct = fbcbdfdaaf17980be939c0b243266ecbb20f899b0e7c1d65b931af94b5c44c25\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 3031323334353637383941424344454647\nresult = invalid\nflags = BadPadding\n\n# tcId = 35\n# bit padding\nct = 50aeed98a820c5a037a5aa4d4ef3090b\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = \nresult = invalid\nflags = BadPadding\n\n# tcId = 36\n# bit padding\nct = 25ee339006f948f42713543c", + "62467ef9\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 6162636465666768\nresult = invalid\nflags = BadPadding\n\n# tcId = 37\n# bit padding\nct = 97914574676ed5b8db0b6f3931195b3f\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 303132333435363738396162636465\nresult = invalid\nflags = BadPadding\n\n# tcId = 38\n# bit padding\nct = fbcbdfdaaf17980be939c0b243266ecb2874a1e2d28dd18e5573df9fd59fd789\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 30313233343536373839414243444546\nresult = invalid\nflags = BadPadding\n\n# tcId = 39\n# bit padding\nct = fbcbdfdaaf17980be939c0b243266ecbb547c4fddbdcd3e02f438a2e48587594\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 3031323334353637383941424344454647\nresult = invalid\nflags = BadPadding\n\n# tcId = 40\n# padding longer than 1 block\nct = d17ccbb26f0aa95f397b20063547349bac24c5429cbea591e96595cccc11451b\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = \nresult = invalid\nflags = BadPadding\n\n# tcId = 41\n# padding longer than 1 block\nct = fc07025e81d43efa85f92afdf8781b1e88598e12d6812df43733e93414b9e901\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 6162636465666768\nresult = invalid\nflags = BadPadding\n\n# tcId = 42\n# padding longer than 1 block\nct = deb1746f4e9e0be4a21825b071b6e93303031651e0c59091e2ae0fbcce11b987\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 303132333435363738396162636465\nresult = invalid\nflags = BadPadding\n\n# tcId = 43\n# padding longer than 1 block\nct = fbcbdfdaaf17980be939c0b243266ecb563d35096fde10ccb6f768438c9eb4ec90f399b76924c716e9f94143263306c6\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 30313233343536373839414243444546\nresult = invalid\nflags = BadPadding\n\n# tcId = 44\n# padding longer than 1 block\nct = fbcbdfdaaf17980be939c0b243266ecbc8fd2e2c5362acf5212bd47859aa827d8469b87b0e6adafe3dba98c1885b6345\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 3031323334353637383941424344454647\nresult = invalid\nflags = BadPadding\n\n# tcId = 45\n# ANSI X.923 padding\nct = ca5dd2d09bd56eec9e8acaeca20af68e\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = \nresult = invalid\nflags = BadPadding\n\n# tcId = 46\n# ANSI X.923 padding\nct = 01e53a5ec9b0957c45f79ed0f4b2b982\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 6162636465666768\nresult = invalid\nflags = BadPadding\n\n# tcId = 47\n# ANSI X.923 padding\nct = fbcbdfdaaf17980be939c0b243266ecbd3909bb3457e5b946ff709be9a2ed84d\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 30313233343536373839414243444546\nresult = invalid\nflags = BadPadding\n\n# tcId = 48\n# ANSI X.923 padding\nct = fbcbdfdaaf17980be939c0b243266ecbc5ab3ab637166a6a067b82b5672c08f8\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 3031323334353637383941424344454647\nresult = invalid\nflags = BadPadding\n\n# tcId = 49\n# ISO 10126 padding\nct = ba0726bd6dea11382b19c842e2ddead2\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = \nresult = invalid\nflags = BadPadding\n\n# tcId = 50\n# ISO 10126 padding\nct = 22f18b85c729903744fb8db5ed2840d4\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 6162636465666768\nresult = invalid\nflags = BadPadding\n\n# tcId = 51\n# ISO 10126 padding\nct = fbcbdfdaaf17980be939c0b243266ecb6b103fbe43519a18880b7e6d9153e1c2\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 30313233343536373839414243444546\nresult = invalid\nflags = BadPadding\n\n# tcId = 52\n# ISO 10126 padding\nct = fbcbdfdaaf17980be939c0b243266ecbe00bdb15b8a61285447498700d35e0c6\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 3031323334353637383941424344454647\nresult = invalid\nflags = BadPadding\n\n# tcId = 53\n# padding longer than message\nct = d17ccbb26f0aa95f397b20063547349b\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = \nresult = invalid\nflags = BadPadding\n\n# tcId = 54\n# padding longer than message\nct = 2056dfa339fa00be6836999411a98c76\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 6162636465666768\nresult = invalid\nflags = BadPadding\n\n# tcId = 55\n# padding longer than message\nct = f92628f6418d8d9c9afac233861b3835\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 303132333435363738396162636465\nresult = invalid\nflags = BadPadding\n\n# tcId = 56\n# padding longer than message\nct = fbcbdfdaaf17980be939c0b243266ecbc0c41093b495a7d5a080d976493fd0e7\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 30313233343536373839414243444546\nresult = invalid\nflags = BadPadding\n\n# tcId = 57\n# padding longer than message\nct = fbcbdfdaaf17980be939c0b243266ecb6770446a5ccaa26f7d4f970cc5834eba\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 3031323334353637383941424344454647\nresult = invalid\nflags = BadPadding\n\n# tcId = 58\n# invalid padding\nct = 4ff3e623fdd432608c183f40864177af\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = \nresult = invalid\nflags = BadPadding\n\n# tcId = 59\n# invalid padding\nct = 6a1ef1e6ae6a788777aabd9ccf3cf43a\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 6162636465666768\nresult = invalid\nflags = BadPadding\n\n# tcId = 60\n# invalid padding\nct = fbcbdfdaaf17980be939c0b243266ecbee1345cd513161b241f4ae2799b0327f\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 30313233343536373839414243444546\nresult = invalid\nflags = BadPadding\n\n# tcId = 61\n# invalid padding\nct = fbcbdfdaaf17980be939c0b243266ecbe0d539beef6f2d4f7cda4fd9f4f05570\niv = 23468aa734f5f0f19827316ff168e94f\nkey = db4f3e5e3795cc09a073fa6a81e5a6bc\nmsg = 3031323334353637383941424344454647\nresult = invalid\nflags = BadPadding\n\n[ivSize = 128]\n[keySize = 192]\n\n# tcId = 62\n# empty message\nct = ff0c315873b4b1872abef2353b792ef0\niv = db20f9a6f4d6b4e478f1a4b9d4051d34\nkey = 3d6bf9edae6d881eade0ff8c7076a4835b71320c1f36b631\nmsg = \nresult = valid\n\n# tcId = 63\n# message size divisible by block size\nct = 7dbd573e4db58a318edfe29f199d8cda538a49f36486337c2711163e55fd5d0b\niv = 69a76dc4da64d89c580eb75ae975ec39\nkey = f4bfa5aa4f0f4d62cf736cd2969c43d580fdb92f2753bedb\nmsg = 0e239f239705b282ce2200fe20de1165\nresult = valid\n\n# tcId = 64\n# message size divisible by block size\nct = bd0258909e5b72438d95ca4b29c8a79c6228fd06a3b2fa06f7659654c7b24610f23f2fb16313b7d3614cb0cd16fabb8e\niv = 6525667350930fb945dd1895a3abfcd1\nkey = 9d11abc1fcb248a436598e695be12c3c2ed90a18ba09d62c\nmsg = aa5182cae2a8fb068c0b3fb2be3e57ae523d13dffd1a944587707c2b67447f3f\nresult = valid\n\n# tcId = 65\n# message size divisible by block size\nct = 6cbeacf8de25d7dd9dcdc087bf2f80873b1eb335400589076f8d2bf81e294c5d72b85eb8ac9558b0de9e9fbee4b18716e5220c507fbb9d319a08f67816765ca6\niv = 3943d8fddd5bb2a59772df31a31a8fff\nkey = 7e41d83181659a2c38da5ead353cdb04c2b4d4a3cfe58e25\nmsg = 8a32d11c7a11aa72e13381632b1310f4fd90fc209a6a350e61c069a561871214f9c04fc1df7354cbe4d8d639c525d324\nresult = valid\n\n# tcId = 66\n# small plaintext size\nct = 519925956d32e4fa350b1144f088e4e8\niv = 1379d48493f743e6a149deb3b9bab31e\nkey = 915429743435c28997a33b33b6574a953d81dae0e7032e6a\nmsg = 58\nresult = valid\n\n# tcId = 67\n# small plaintext size\nct = bfb90aa7de1bdeed5bdc5703bdfd9630\niv = 48c7f44b43a1279d820733e6cb30617a\nkey = f0c288ba26b284f9fb321b444a6517b3cdda1a799d55fdff\nmsg = 0f7e\nresult = valid\n\n# tcId = 68\n# small plaintext size\nct = b1a25816908c086f26037d10b7be9ad9\niv = 2c287b38cc30c8c351b087b91a6a97ba\nkey = 6b55e4d4fd6847a80a6bfb0dcc0aa93f9fd797fc5c50292e\nmsg = 33f530\nresult = valid\n\n# tcId = 69\n# small plaintext size\nct = 74dbdecbfa94b71d2d6ef03200c7d095\niv = 61f6060919c9c09ef06be28f39c344aa\nkey = 1eb21a9e995a8e45c9e71ecbd6fe615b3e0318007c64b644\nmsg = 3aa73c48\nresult = valid\n\n# tcId = 70\n# small plaintext size\nct = 10c860aaee23c3c3c1b9306b189dd80d\niv = 7682005907bf", + "ef3ce00196a17ad2246d\nkey = 710e2d5d4a9f0bc7e50796655e046a18cc5769d7764355da\nmsg = 7e4c690a88\nresult = valid\n\n# tcId = 71\n# small plaintext size\nct = 673dcd444386930a0cc577fab4501e5c\niv = 1f6c912997ce007701e5fdf407c6b421\nkey = d8c09ea400779b63e774bdacd0cb7b5dd6f736ca23d52acf\nmsg = e9520280973b\nresult = valid\n\n# tcId = 72\n# small plaintext size\nct = 059e5f72a81d8820add8eae8fabcdd42\niv = 5854033ae50de090678432781a168b6c\nkey = 8e67e9a0863b55bed408866f1cbc05357abe3f9d79f406f2\nmsg = 4880b412287a0b\nresult = valid\n\n# tcId = 73\n# small plaintext size\nct = c412159fd5ae20d771b7d2e734124d6a\niv = 003b2d86d8b636c58cf664565572d5e6\nkey = 28d8da67806410e5565bcc5a9d7ab9fb357413fa0158378c\nmsg = 004e3f4a4e6db955\nresult = valid\n\n# tcId = 74\n# small plaintext size\nct = 4aba571c2c5ab9a6140f16efc68c8ec1\niv = 3f22b50f888ab9424ba871d15aac55b7\nkey = dc968dd89fd602bb7eca6f3a8a13e4f59c08d02a514b1934\nmsg = 41a25354efeb1bc3b8\nresult = valid\n\n# tcId = 75\n# small plaintext size\nct = 66d1b9152a8cd1a88eab341c775070b4\niv = e4b8dde04b49fa6b88bfccd8d70c21d1\nkey = 7658951c0f620d82afd92756cc2d7983b79da3e56fdd1b78\nmsg = f0e82fb5c5666f4af49f\nresult = valid\n\n# tcId = 76\n# small plaintext size\nct = d9377788e2881a48f9347786db7df51f\niv = 7753f616cd8796c9b8a3bbfbe6cb1e7f\nkey = d9574c3a221b986690931faac5258d9d3c52362b2cb9b054\nmsg = 178ea8404ba54ee4e4522c\nresult = valid\n\n# tcId = 77\n# small plaintext size\nct = db825f4434ea3bb53576fa7385fb7dfe\niv = eae9ee19ccb7f8b087675709c4d35f73\nkey = 704409bab28085c44981f28f75dd143a4f747106f63f262e\nmsg = cda5709e7f115624e74ab031\nresult = valid\n\n# tcId = 78\n# small plaintext size\nct = 3e7287df2a5ed9de4d817e352bd47ea7\niv = a6aaff339a729d30a7ec1328db36d23e\nkey = d8d06ef6a53bbff5c8f12d791b8f4c67e574bf440736d1cc\nmsg = a1171eae1979f48345dd9485a0\nresult = valid\n\n# tcId = 79\n# small plaintext size\nct = 17c3ade4b469ae614760039a8fa6250e\niv = 92fda71e88c70d18ed71b992735a2150\nkey = 71129e781613f39d9ac39fbde2628b44c250c14deb5ef9e2\nmsg = 967593cc64bcbf7f3c58d04cb82b\nresult = valid\n\n# tcId = 80\n# small plaintext size\nct = 9cafecff2a28d02f732573f65a2cadca\niv = ed6596c86b98123ad2f3c573e974d051\nkey = 850fc859e9f7b89a367611dee6698f33962d8245ca8dc331\nmsg = 586f4f171af116519061a8e0e77940\nresult = valid\n\n# tcId = 81\n# plaintext size > 16\nct = 401ad889bdb9d38816c782e00b168ccccde9bf75f4be868ceb91237e8b37b750\niv = c45b52a240eba3bdde5dfd57f3d474fb\nkey = cfd3f68873d81a27d2bfce876c79f6e609074dec39e34614\nmsg = b1973cb25aa87ef9d1a8888b0a0f5c04c6\nresult = valid\n\n# tcId = 82\n# plaintext size > 16\nct = 455d516e87851e6c894578a0f7126e0acbc7cfbb1d80296647ab89a79dfa6f71\niv = 07ece5fe02266e073499fd4d66929034\nkey = b7f165bced1613da5e747fdf9255832d30c07f2deeb5a326\nmsg = 289647ea8d0ff31375a82aa1c620903048bb1d0e\nresult = valid\n\n# tcId = 83\n# plaintext size > 16\nct = cbf541330a5a9bda24984976b0cf96ba08ef521fa2cdb3df839128570e222ac4\niv = d799157bc1f77c182027be918b30783a\nkey = 9bbe6e004fb260dadb02b68b78954f1da5e6a2d02e0aeefe\nmsg = 665423092ce95b927e98b8082030f58e33f3ec1b0c29532c2f421855f00f97\nresult = valid\n\n# tcId = 84\n# plaintext size > 16\nct = 03225f08592efca14ad8ecf822465e8be4157465d0be150dd3d645b6fef1b19ca7bbaa5940b2a7895fa2b0ee55b0d4ec\niv = fdf97645e4192ba84728bbf6683f79de\nkey = 1381fbd5e79045d40f29790fc1a436c95b040a046ebf0b0f\nmsg = d575dce596dd0a2cd1c18dab7eb0948fafb8669969a48b6314493bfb8daf8acacd51382f9bb5b357\nresult = valid\n\n# tcId = 85\n# plaintext size > 16\nct = 27ad00313f328f0d3e6c3238ab560cb7243a9f54f7dff79b5a7a879439993d458017f09e8d3f694098bc19e61fe54085138664abb51a5b328cf2c9ce5d59726fff5e1b7553c143d9e0493c51cab23ff2ecdad91bd72bb12b32f3b611f9a4225d\niv = 059685f59247eea5d3f2a1532cb9d6b2\nkey = 1bb4ed0e8435e20729f48c1b7e3af6e69e4cebf0731131cf\nmsg = 6d29dab6a0568c961ab3c825e0d89940cef06c63ade7e557cd3e92792eaf23c8cd5a0f029c63b1cdce4754ccfad7a73c7c9e50ffe081e9136f5e9a424077339de12ea43572afe1b034e833e5887763aa\nresult = valid\n\n# tcId = 86\n# zero padding\nct = 2c010faa25c68c3b30b8c1491c316d5f\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = \nresult = invalid\nflags = BadPadding\n\n# tcId = 87\n# zero padding\nct = 818454d433154a8e00e8f590b8a1c38c\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 6162636465666768\nresult = invalid\nflags = BadPadding\n\n# tcId = 88\n# zero padding\nct = 0a7423fae3f4c8d4633f839d36f2e9ff\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 303132333435363738396162636465\nresult = invalid\nflags = BadPadding\n\n# tcId = 89\n# zero padding\nct = a7cfcdabcc5a2736a2708c1cb0b61432e83f6e522c371e6e71bde539595b70b7\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 30313233343536373839414243444546\nresult = invalid\nflags = BadPadding\n\n# tcId = 90\n# zero padding\nct = a7cfcdabcc5a2736a2708c1cb0b6143254d15f47701fa54f5957828f386e1d97\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 3031323334353637383941424344454647\nresult = invalid\nflags = BadPadding\n\n# tcId = 91\n# padding with 0xff\nct = 6ded36cc7603e514014dfb7199900676\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = \nresult = invalid\nflags = BadPadding\n\n# tcId = 92\n# padding with 0xff\nct = 839f772f8e5f50afdc02f954094869fe\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 6162636465666768\nresult = invalid\nflags = BadPadding\n\n# tcId = 93\n# padding with 0xff\nct = eefe3553c099c187929b287e54f95726\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 303132333435363738396162636465\nresult = invalid\nflags = BadPadding\n\n# tcId = 94\n# padding with 0xff\nct = a7cfcdabcc5a2736a2708c1cb0b61432d0531a2641d40467353542d79ce20ea8\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 30313233343536373839414243444546\nresult = invalid\nflags = BadPadding\n\n# tcId = 95\n# padding with 0xff\nct = a7cfcdabcc5a2736a2708c1cb0b61432aaf08a090ecf66167ba5958100be7950\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 3031323334353637383941424344454647\nresult = invalid\nflags = BadPadding\n\n# tcId = 96\n# bit padding\nct = c0e402c8bbdda18c8ddd86470bd4b244\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = \nresult = invalid\nflags = BadPadding\n\n# tcId = 97\n# bit padding\nct = dc185d4572565e01131e471ec4c48125\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 6162636465666768\nresult = invalid\nflags = BadPadding\n\n# tcId = 98\n# bit padding\nct = 3ad1ddf3c3b320398785e6ec6544e9a2\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 303132333435363738396162636465\nresult = invalid\nflags = BadPadding\n\n# tcId = 99\n# bit padding\nct = a7cfcdabcc5a2736a2708c1cb0b614325876f90cfbbdbcd85e8252d37c44c638\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 30313233343536373839414243444546\nresult = invalid\nflags = BadPadding\n\n# tcId = 100\n# bit padding\nct = a7cfcdabcc5a2736a2708c1cb0b61432d18f57216b0e6426d911998a0e44156b\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 3031323334353637383941424344454647\nresult = invalid\nflags = BadPadding\n\n# tcId = 101\n# padding longer than 1 block\nct = f1605abb4e6628347c616da350fe243043a8d7b6aea244ca013f45241d802213\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = \nresult = invalid\nflags = BadPadding\n\n# tcId = 102\n# padding longer than 1 block\nct = a5f027fb9514ec8844534d452c940feb2c1807f57ed628156cf753f2ab698356\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 6162636465666768\nresult = invalid\nflags = BadPadding\n\n# tcId = 103\n# padding longer than 1 block\nct = f346fbc9744d723c42bbb2a4c934cdd4f1019e58c226cb2491fed621271a38f3\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 303132333435363738396162636465\nresult = ", + "invalid\nflags = BadPadding\n\n# tcId = 104\n# padding longer than 1 block\nct = a7cfcdabcc5a2736a2708c1cb0b6143263eb325d36e13aa1d3dd1d7e071700104c7eb3e22e0859aa06296bc3194bb909\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 30313233343536373839414243444546\nresult = invalid\nflags = BadPadding\n\n# tcId = 105\n# padding longer than 1 block\nct = a7cfcdabcc5a2736a2708c1cb0b61432219485d41584bd110a6d7a9cad472815d93921c48d4bcb509fdf2e63d7627c37\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 3031323334353637383941424344454647\nresult = invalid\nflags = BadPadding\n\n# tcId = 106\n# ANSI X.923 padding\nct = 215571a18a70140f3a0fd4c1b2dd6316\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = \nresult = invalid\nflags = BadPadding\n\n# tcId = 107\n# ANSI X.923 padding\nct = 2529985ec0ec3cf4bd22746e00d7bdc6\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 6162636465666768\nresult = invalid\nflags = BadPadding\n\n# tcId = 108\n# ANSI X.923 padding\nct = a7cfcdabcc5a2736a2708c1cb0b614329a8058657ac4a150e995cf83efccf051\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 30313233343536373839414243444546\nresult = invalid\nflags = BadPadding\n\n# tcId = 109\n# ANSI X.923 padding\nct = a7cfcdabcc5a2736a2708c1cb0b614328a068626780ba600f880bd5323f8ac15\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 3031323334353637383941424344454647\nresult = invalid\nflags = BadPadding\n\n# tcId = 110\n# ISO 10126 padding\nct = 13e75f9ffe2afa81b9a2e7faf74aab6d\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = \nresult = invalid\nflags = BadPadding\n\n# tcId = 111\n# ISO 10126 padding\nct = a382197fe491f5c3f91b629dc47c3d58\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 6162636465666768\nresult = invalid\nflags = BadPadding\n\n# tcId = 112\n# ISO 10126 padding\nct = a7cfcdabcc5a2736a2708c1cb0b614320b842e5d6e32660263ff814a0277659f\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 30313233343536373839414243444546\nresult = invalid\nflags = BadPadding\n\n# tcId = 113\n# ISO 10126 padding\nct = a7cfcdabcc5a2736a2708c1cb0b614321d2f736515cfe17921800eb392e0139d\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 3031323334353637383941424344454647\nresult = invalid\nflags = BadPadding\n\n# tcId = 114\n# padding longer than message\nct = f1605abb4e6628347c616da350fe2430\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = \nresult = invalid\nflags = BadPadding\n\n# tcId = 115\n# padding longer than message\nct = b3602ff0f797cbbdde35105d27e55b94\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 6162636465666768\nresult = invalid\nflags = BadPadding\n\n# tcId = 116\n# padding longer than message\nct = 0334c1bc34b597f60a639e74d8b45c4e\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 303132333435363738396162636465\nresult = invalid\nflags = BadPadding\n\n# tcId = 117\n# padding longer than message\nct = a7cfcdabcc5a2736a2708c1cb0b61432c3f9fe42d9715035bcda97d27405ced7\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 30313233343536373839414243444546\nresult = invalid\nflags = BadPadding\n\n# tcId = 118\n# padding longer than message\nct = a7cfcdabcc5a2736a2708c1cb0b61432362b014a9abdaf25ae1f6dfb99d03d9d\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 3031323334353637383941424344454647\nresult = invalid\nflags = BadPadding\n\n# tcId = 119\n# invalid padding\nct = 97ab405b86c388f144cf74fbb9358493\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = \nresult = invalid\nflags = BadPadding\n\n# tcId = 120\n# invalid padding\nct = 691f6009802f0fb4920928db7eca1349\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 6162636465666768\nresult = invalid\nflags = BadPadding\n\n# tcId = 121\n# invalid padding\nct = a7cfcdabcc5a2736a2708c1cb0b61432a99fc96a6fa0c9fcb18de1672d74914d\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 30313233343536373839414243444546\nresult = invalid\nflags = BadPadding\n\n# tcId = 122\n# invalid padding\nct = a7cfcdabcc5a2736a2708c1cb0b61432dd1bb2e98102322fb1aa92c979d4c7c3\niv = a3fe6f76e8f582830bbe83574a7bb729\nkey = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2\nmsg = 3031323334353637383941424344454647\nresult = invalid\nflags = BadPadding\n\n[ivSize = 128]\n[keySize = 256]\n\n# tcId = 123\n# empty message\nct = e7c166554d1bb32792c981fa674cc4d8\niv = eb38ef61717e1324ae064e86f1c3e797\nkey = 7bf9e536b66a215c22233fe2daaa743a898b9acb9f7802de70b40e3d6e43ef97\nmsg = \nresult = valid\n\n# tcId = 124\n# message size divisible by block size\nct = 299295be47e9f5441fe83a7a811c4aeb2650333e681e69fa6b767d28a6ccf282\niv = 9ec7b863ac845cad5e4673da21f5b6a9\nkey = 612e837843ceae7f61d49625faa7e7494f9253e20cb3adcea686512b043936cd\nmsg = cc37fae15f745a2f40e2c8b192f2b38d\nresult = valid\n\n# tcId = 125\n# message size divisible by block size\nct = a615a39ff8f59f82cf72ed13e1b01e32459700561be112412961365c7a0b58aa7a16d68c065e77ebe504999051476bd7\niv = e70d83a77a2ce722ac214c00837acedf\nkey = 96e1e4896fb2cd05f133a6a100bc5609a7ac3ca6d81721e922dadd69ad07a892\nmsg = 91a17e4dfcc3166a1add26ff0e7c12056e8a654f28a6de24f4ba739ceb5b5b18\nresult = valid\n\n# tcId = 126\n# message size divisible by block size\nct = ed3ed8ecdbabc0a8c06259e913f3ab9a1f1dc6d05e5dfdd9c80e1008f3423064d540681291bbd3e159820fee3ff190a68fe506d8ab9e62c8e7b3816093336dbc\niv = bd003c0a9d804c29f053a77cb380cb47\nkey = 649e373e681ef52e3c10ac265484750932a9918f28fb824f7cb50adab39781fe\nmsg = 39b447bd3a01983c1cb761b456d69000948ceb870562a536126a0d18a8e7e49b16de8fe672f13d0808d8b7d957899917\nresult = valid\n\n# tcId = 127\n# small plaintext size\nct = 42c0b89a706ed2606cd94f9cb361fa51\niv = 014d2e13dfbcb969ba3bb91442d52eca\nkey = e754076ceab3fdaf4f9bcab7d4f0df0cbbafbc87731b8f9b7cd2166472e8eebc\nmsg = 40\nresult = valid\n\n# tcId = 128\n# small plaintext size\nct = b90c326b72eb222ddb4dae47f2bc223c\niv = fae3e2054113f6b3b904aadbfe59655c\nkey = ea3b016bdd387dd64d837c71683808f335dbdc53598a4ea8c5f952473fafaf5f\nmsg = 6601\nresult = valid\n\n# tcId = 129\n# small plaintext size\nct = 567c45c5e6d570bef583d21cac43757d\niv = 203cd3e0068e43d38b6f2e48a188f252\nkey = 73d4709637857dafab6ad8b2b0a51b06524717fedf100296644f7cfdaae1805b\nmsg = f1d300\nresult = valid\n\n# tcId = 130\n# small plaintext size\nct = c45afe62fc9351ad0fc9b03bc2f3a91f\niv = abcf220eede012279c3a2d33295ff273\nkey = d5c81b399d4c0d1583a13da56de6d2dc45a66e7b47c24ab1192e246dc961dd77\nmsg = 2ae63cbf\nresult = valid\n\n# tcId = 131\n# small plaintext size\nct = 281fa533d0740cc6cdf94dd1a5f7402d\niv = 01373953578902909ae4f6cb0a72587c\nkey = 2521203fa0dddf59d837b2830f87b1aa61f958155df3ca4d1df2457cb4284dc8\nmsg = af3a015ea1\nresult = valid\n\n# tcId = 132\n# small plaintext size\nct = 3f3f39697bd7e88d85a14132be1cbc48\niv = 3fb0d5ecd06c71150748b599595833cb\nkey = 665a02bc265a66d01775091da56726b6668bfd903cb7af66fb1b78a8a062e43c\nmsg = 3f56935def3f\nresult = valid\n\n# tcId = 133\n# small plaintext size\nct = 379990d91557614836381d5026fa04a0\niv = 27a2db6114ece34fb6c23302d9ba07c6\nkey = facd75b22221380047305bc981f570e2a1af38928ea7e2059e3af5fc6b82b493\nmsg = 57bb86beed156f\nresult = valid\n\n# tcId = 134\n# small plaintext size\nct = 7ecefe24caa78a68f4031d40fdb9a43a\niv = 9b2b631e3f24bdc814a14abb3416059e\nkey = 505aa98819809ef63b9a368a1e8bc2e922da45b03ce02d9a7966b15006dba2d5\nmsg = 2e4e7ef728fe11af\nresult = valid\n\n# tcId = 135\n# small plaintext size\nct = ffe4ec8baf4af40ab2e7f4d6193fae9c\niv = 92cfc4eb146b18b73fc76483fc5e1229\nkey = f942093842808ba47f64e427f7351dde6b9546e66de4e7d60aa6f328182712cf\nmsg = 852a21d92848e627c7\nresult = valid\n\n# tcId = 136\n# small plaintext size\nct = ef96215e7950e7be8aae78b9ec8aaf39\niv = 4ceed8dcb75b6259dad737bdef96f0", + "99\nkey = 64be162b39c6e5f1fed9c32d9f674d9a8cde6eaa2443214d86bd4a1fb53b81b4\nmsg = 195a3b292f93baff0a2c\nresult = valid\n\n# tcId = 137\n# small plaintext size\nct = 4ed0eac75b05868078303875f82fb4f0\niv = 2d4cead3f1120a2b4b59419d04951e20\nkey = b259a555d44b8a20c5489e2f38392ddaa6be9e35b9833b67e1b5fdf6cb3e4c6c\nmsg = afd73117330c6e8528a6e4\nresult = valid\n\n# tcId = 138\n# small plaintext size\nct = f4d298caea7c390fc8c7f558f584f852\niv = a10392634143c2a3332fa0fb3f72200a\nkey = 2c6fc62daa77ba8c6881b3dd6989898fef646663cc7b0a3db8228a707b85f2dc\nmsg = 0ff54d6b6759120c2e8a51e3\nresult = valid\n\n# tcId = 139\n# small plaintext size\nct = 5e1c00e2ec829f92b87c6adf5c25262d\niv = 38b916a7ad3a9251ae3bd8865ca3a688\nkey = abab815d51df29f740e4e2079fb798e0152836e6ab57d1536ae8929e52c06eb8\nmsg = f0058d412a104e53d820b95a7f\nresult = valid\n\n# tcId = 140\n# small plaintext size\nct = bf3a04ddb2dbfe7c6dc9e15aa67be25d\niv = bfcc3ac44d12e42d780c1188ac64b57f\nkey = 3d5da1af83f7287458bff7a7651ea5d8db72259401333f6b82096996dd7eaf19\nmsg = aacc36972f183057919ff57b49e1\nresult = valid\n\n# tcId = 141\n# small plaintext size\nct = fdcfa77f5bd09326b4c11f9281b72474\niv = 35bc82e3503b95044c6406a8b2c2ecff\nkey = c19bdf314c6cf64381425467f42aefa17c1cc9358be16ce31b1d214859ce86aa\nmsg = 5d066a92c300e9b6ddd63a7c13ae33\nresult = valid\n\n# tcId = 142\n# plaintext size > 16\nct = fbea776fb1653635f88e2937ed2450ba4e9063e96d7cdba04928f01cb85492fe\niv = 4b74bd981ea9d074757c3e2ef515e5fb\nkey = 73216fafd0022d0d6ee27198b2272578fa8f04dd9f44467fbb6437aa45641bf7\nmsg = d5247b8f6c3edcbfb1d591d13ece23d2f5\nresult = valid\n\n# tcId = 143\n# plaintext size > 16\nct = 3a79bb6084c7116b58afe52d7181a0aacee1caa11df959090e2e7b0073d74817\niv = 9a1d8ccc24c5e4d3995480af236be103\nkey = c2039f0d05951aa8d9fbdf68be58a37cf99bd1afcedda286a9db470c3729ca92\nmsg = ed5b5e28e9703bdf5c7b3b080f2690a605fcd0d9\nresult = valid\n\n# tcId = 144\n# plaintext size > 16\nct = 642b11efb79b49e5d038bc7aa29b8c6c3ce0bf11c3a69670eb565799908be66d\niv = 400aab92803bcbb44a96ef789655b34e\nkey = 4f097858a1aec62cf18f0966b2b120783aa4ae9149d3213109740506ae47adfe\nmsg = ee53d8e5039e82d9fcca114e375a014febfea117a7e709d9008d43858e3660\nresult = valid\n\n# tcId = 145\n# plaintext size > 16\nct = a9b051354f0cf61f11921b330e60f996de796aeb68140a0f9c5962e1f48e4805262fb6f53b26d9bb2fa0e359efe14734\niv = 6eedf45753ffe38f2407fbc28ab5959c\nkey = 5f99f7d60653d79f088dd07ef306b65e057d36e053fa1c9f6854425c019fd4df\nmsg = fcc9212c23675c5d69a1266c77389bc955e453daba20034aabbcd502a1b73e05af30f8b7622abdbc\nresult = valid\n\n# tcId = 146\n# plaintext size > 16\nct = 5074f46f1a6d0eeff070d623172eb15bbfc83e7d16466a00c9da5f4545eecf44adbf60cf9ac9aa1a3ec5eca22d4a34a7b21ca44d214c9d04ab1cb0b2c07001de9adb46f3c12f8f48436b516a409bf6cbdf1871dee3115d5cbb7943558b68867e\niv = f88551c6aa197f9ad80251c2e32d7663\nkey = 95aaa5df4ccb529e9b2dc929e770c1f419f8e8933bfb36f632f532b3dcad2ba6\nmsg = f5735567b7c8312f116517788b091cc6cb1d474b010a77910154fd11c3b2f0cd19f713b63d66492e8cc7ee8ad714783f46c305a26416e11ff4b99ec5ce2550593cc5ec1b86ba6a66d10f82bdff827055\nresult = valid\n\n# tcId = 147\n# zero padding\nct = e07558d746574528fb813f34e3fb7719\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = \nresult = invalid\nflags = BadPadding\n\n# tcId = 148\n# zero padding\nct = c01af61276368818a8295f7d4b5bb2fd\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 6162636465666768\nresult = invalid\nflags = BadPadding\n\n# tcId = 149\n# zero padding\nct = 97dd9716f06be49160399a5b212250ae\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 303132333435363738396162636465\nresult = invalid\nflags = BadPadding\n\n# tcId = 150\n# zero padding\nct = 8881e9e02fa9e3037b397957ba1fb7ce783bb4b4e18d7c646f38e0bb8ff92896\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 30313233343536373839414243444546\nresult = invalid\nflags = BadPadding\n\n# tcId = 151\n# zero padding\nct = 8881e9e02fa9e3037b397957ba1fb7ce64679a46621b792f643542a735f0bbbf\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 3031323334353637383941424344454647\nresult = invalid\nflags = BadPadding\n\n# tcId = 152\n# padding with 0xff\nct = c007ddffb76b95208505fe7f3be96172\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = \nresult = invalid\nflags = BadPadding\n\n# tcId = 153\n# padding with 0xff\nct = e9b7719c4c2b9fa6b94cb50e87b28156\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 6162636465666768\nresult = invalid\nflags = BadPadding\n\n# tcId = 154\n# padding with 0xff\nct = 77b31f474c4bd489dbadd532643d1fa5\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 303132333435363738396162636465\nresult = invalid\nflags = BadPadding\n\n# tcId = 155\n# padding with 0xff\nct = 8881e9e02fa9e3037b397957ba1fb7cea0166e9e1c0122cb2e2983fc0fac7176\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 30313233343536373839414243444546\nresult = invalid\nflags = BadPadding\n\n# tcId = 156\n# padding with 0xff\nct = 8881e9e02fa9e3037b397957ba1fb7ce6f0effa789cbb0b875cc53cc8f7b3caf\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 3031323334353637383941424344454647\nresult = invalid\nflags = BadPadding\n\n# tcId = 157\n# bit padding\nct = 4dd5f910c94700235c9ed239160e34e2\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = \nresult = invalid\nflags = BadPadding\n\n# tcId = 158\n# bit padding\nct = 94d18b5923f8f3608ae7ad494fbb517e\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 6162636465666768\nresult = invalid\nflags = BadPadding\n\n# tcId = 159\n# bit padding\nct = 0c92886dbcb030b873123a25d224da42\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 303132333435363738396162636465\nresult = invalid\nflags = BadPadding\n\n# tcId = 160\n# bit padding\nct = 8881e9e02fa9e3037b397957ba1fb7ce851be67798a2937cd6681165da6dce03\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 30313233343536373839414243444546\nresult = invalid\nflags = BadPadding\n\n# tcId = 161\n# bit padding\nct = 8881e9e02fa9e3037b397957ba1fb7ce45658a37aaebc51098866b0894007e8e\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 3031323334353637383941424344454647\nresult = invalid\nflags = BadPadding\n\n# tcId = 162\n# padding longer than 1 block\nct = 524236e25956e950713bec0d3d579068f34e4d18c4ccab081317dae526fe7fca\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = \nresult = invalid\nflags = BadPadding\n\n# tcId = 163\n# padding longer than 1 block\nct = d29eb845640c3a8878f51bc50e290aa4a65a34a93728fe8f82fdb8d3d2b7c648\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 6162636465666768\nresult = invalid\nflags = BadPadding\n\n# tcId = 164\n# padding longer than 1 block\nct = c34563be2952277c0f5c67ae1d6f847118730dd7f6a502ceef3c4bce5999f7aa\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 303132333435363738396162636465\nresult = invalid\nflags = BadPadding\n\n# tcId = 165\n# padding longer than 1 block\nct = 8881e9e02fa9e3037b397957ba1fb7cec0f74a1aa92fd9c96f9d15d193d1695c1eb33486e269277612f90f509f0535c2\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 30313233343536373839414243444546\nresult = invalid\nflags = BadPadding\n\n# tcId = 166\n# padding longer than 1 block\nct = 8881e9e02fa9e3037b397957ba1fb7ce151ade309ec5200bacdd83b57ce794cd2b3bf9f8957def829e8465f7db266f9e\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey ", + "= 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 3031323334353637383941424344454647\nresult = invalid\nflags = BadPadding\n\n# tcId = 167\n# ANSI X.923 padding\nct = fb38cbef13f1d5be9c0ac7ed9cbe023c\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = \nresult = invalid\nflags = BadPadding\n\n# tcId = 168\n# ANSI X.923 padding\nct = 18cf8988abe9a2463a3a75db1fac8bcc\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 6162636465666768\nresult = invalid\nflags = BadPadding\n\n# tcId = 169\n# ANSI X.923 padding\nct = 8881e9e02fa9e3037b397957ba1fb7cee16d6fc4b4d3cdf6f915996e437fd4cc\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 30313233343536373839414243444546\nresult = invalid\nflags = BadPadding\n\n# tcId = 170\n# ANSI X.923 padding\nct = 8881e9e02fa9e3037b397957ba1fb7cea8f41f61ead6e9936cbe7ee5a1163b9b\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 3031323334353637383941424344454647\nresult = invalid\nflags = BadPadding\n\n# tcId = 171\n# ISO 10126 padding\nct = a05c14da0109093c195b4998812fe150\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = \nresult = invalid\nflags = BadPadding\n\n# tcId = 172\n# ISO 10126 padding\nct = c477877250c8e4ca2869f35c4757cdb4\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 6162636465666768\nresult = invalid\nflags = BadPadding\n\n# tcId = 173\n# ISO 10126 padding\nct = 8881e9e02fa9e3037b397957ba1fb7ce69f57c6e99c7b9df7d4879ccd15caf3d\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 30313233343536373839414243444546\nresult = invalid\nflags = BadPadding\n\n# tcId = 174\n# ISO 10126 padding\nct = 8881e9e02fa9e3037b397957ba1fb7ce77f89a247c928f147748ce6bc8fc4b67\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 3031323334353637383941424344454647\nresult = invalid\nflags = BadPadding\n\n# tcId = 175\n# padding longer than message\nct = 524236e25956e950713bec0d3d579068\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = \nresult = invalid\nflags = BadPadding\n\n# tcId = 176\n# padding longer than message\nct = e03b6f2ae1c963b6dfa40b42d34314b7\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 6162636465666768\nresult = invalid\nflags = BadPadding\n\n# tcId = 177\n# padding longer than message\nct = df14f4cbbccca57b9727d68270a1b6c1\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 303132333435363738396162636465\nresult = invalid\nflags = BadPadding\n\n# tcId = 178\n# padding longer than message\nct = 8881e9e02fa9e3037b397957ba1fb7ceea228bf1edd41c390e2eef140142bc00\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 30313233343536373839414243444546\nresult = invalid\nflags = BadPadding\n\n# tcId = 179\n# padding longer than message\nct = 8881e9e02fa9e3037b397957ba1fb7ce3937e0e9abf7f672a34a500ba8e9099a\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 3031323334353637383941424344454647\nresult = invalid\nflags = BadPadding\n\n# tcId = 180\n# invalid padding\nct = 32ac6057df2a5d1e2e5131348c6ebc4e\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = \nresult = invalid\nflags = BadPadding\n\n# tcId = 181\n# invalid padding\nct = df4a7c3b9f4756d30fca0d18e9b28960\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 6162636465666768\nresult = invalid\nflags = BadPadding\n\n# tcId = 182\n# invalid padding\nct = 8881e9e02fa9e3037b397957ba1fb7ceae2855c47c7988873d57f901e049494b\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 30313233343536373839414243444546\nresult = invalid\nflags = BadPadding\n\n# tcId = 183\n# invalid padding\nct = 8881e9e02fa9e3037b397957ba1fb7ce0714c8de200b27ac91d9257fc93c13be\niv = f010f61c31c9aa8fa0d5be5f6b0f2f70\nkey = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a\nmsg = 3031323334353637383941424344454647\nresult = invalid\nflags = BadPadding\n\n", }; -static const size_t kLen57 = 49978; +static const size_t kLen90 = 52732; -static const char *kData57[] = { - "# Imported from Wycheproof's aes_cmac_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: AES-CMAC\n# Generator version: 0.4.12\n\n[keySize = 128]\n[tagSize = 96]\n\n# tcId = 1\n# empty message\nkey = 1607559459d30d33548a635ab1eeab9d\nmsg = \nresult = valid\ntag = 6a8974470fddb0a47e2b6e7d\n\n# tcId = 2\n# truncated mac\nkey = 994275465065fdc96ae37b5d2feb8726\nmsg = c6\nresult = valid\ntag = 3bfa9ec0fb0cc2b8509e7b1f\n\n# tcId = 3\n# truncated mac\nkey = ddc31fc7751a2bf5c8d2d815035622e8\nmsg = c81598f30b3e8ca8\nresult = valid\ntag = 323c2fd67f1bc85108f391e1\n\n# tcId = 4\n# truncated mac\nkey = acef13560296fdc6b09398ae04196f2b\nmsg = 25d99a552339745e24a0cb6a9669c4\nresult = valid\ntag = cdff8af899f61a70a97d967a\n\n# tcId = 5\n# truncated mac\nkey = 33defac4ec7c7b69aa72edb23119e619\nmsg = ceabee3f13d0718779ba86acccd6d5a9\nresult = valid\ntag = e0b19f7e0316f276a846115f\n\n# tcId = 6\n# truncated mac\nkey = d1c61c251def47b39deb1a77a8b188d9\nmsg = 0d68e86cf139677cb461a0fa76690e4afc\nresult = valid\ntag = 2c5f2629fa41555e84c0ef0c\n\n# tcId = 7\n# truncated mac\nkey = 3f71e3875f234fc569433cafa3a36330\nmsg = a3e01e9a597e57502fd849908aa7a19407cbfdc74bc5c485\nresult = valid\ntag = eb8e0bb4937e4a4f9fd55465\n\n[keySize = 128]\n[tagSize = 128]\n\n# tcId = 8\n# empty message\nkey = e34f15c7bd819930fe9d66e0c166e61c\nmsg = \nresult = valid\ntag = d47afca1d857a5933405b1eb7a5cb7af\n\n# tcId = 9\n# full length mac\nkey = e1e726677f4893890f8c027f9d8ef80d\nmsg = 3f\nresult = valid\ntag = 15f856bbed3b321952a584b3c4437a63\n\n# tcId = 10\n# full length mac\nkey = 48f0d03e41cc55c4b58f737b5acdea32\nmsg = f4a133aa6d5985a0\nresult = valid\ntag = 1f1cd0327c02e6d00086915937dd61d9\n\n# tcId = 11\n# full length mac\nkey = 501d81ebf912ddb87fbe3b7aac1437bc\nmsg = 2368e3c3636b5e8e94d2081adbf798\nresult = valid\ntag = aeb784a3825168ddd61f72d0202125e6\n\n# tcId = 12\n# full length mac\nkey = e09eaa5a3f5e56d279d5e7a03373f6ea\nmsg = ef4eab37181f98423e53e947e7050fd0\nresult = valid\ntag = 40facf0e2fb51b73a7472681b033d6dc\n\n# tcId = 13\n# full length mac\nkey = 831e664c9e3f0c3094c0b27b9d908eb2\nmsg = 26603bb76dd0a0180791c4ed4d3b058807\nresult = valid\ntag = a8144c8b24f2aa47d9c160cff4ab1716\n\n# tcId = 14\n# full length mac\nkey = 549bd282ee21b4d7c3b1d02e3ee20ef7\nmsg = d84bf73c5eecbd38444f1a73556e2fa3253f4c54d6916545\nresult = valid\ntag = 7ed458afe02f4a513f59715b664b1bbe\n\n# tcId = 15\n# Flipped bit 0 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 96dd6e5a882cbd564c39ae7d1c5a31aa\n\n# tcId = 16\n# Flipped bit 0 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 43802eb1931f0032afe984443738cd31\n\n# tcId = 17\n# Flipped bit 0 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 7acfbbca7a2ea68b966fc5399f74809e\n\n# tcId = 18\n# Flipped bit 1 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 95dd6e5a882cbd564c39ae7d1c5a31aa\n\n# tcId = 19\n# Flipped bit 1 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 40802eb1931f0032afe984443738cd31\n\n# tcId = 20\n# Flipped bit 1 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 79cfbbca7a2ea68b966fc5399f74809e\n\n# tcId = 21\n# Flipped bit 7 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 17dd6e5a882cbd564c39ae7d1c5a31aa\n\n# tcId = 22\n# Flipped bit 7 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = c2802eb1931f0032afe984443738cd31\n\n# tcId = 23\n# Flipped bit 7 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = fbcfbbca7a2ea68b966fc5399f74809e\n\n# tcId = 24\n# Flipped bit 8 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 97dc6e5a882cbd564c39ae7d1c5a31aa\n\n# tcId = 25\n# Flipped bit 8 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 42812eb1931f0032afe984443738cd31\n\n# tcId = 26\n# Flipped bit 8 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 7bcebbca7a2ea68b966fc5399f74809e\n\n# tcId = 27\n# Flipped bit 31 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 97dd6eda882cbd564c39ae7d1c5a31aa\n\n# tcId = 28\n# Flipped bit 31 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 42802e31931f0032afe984443738cd31\n\n# tcId = 29\n# Flipped bit 31 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 7bcfbb4a7a2ea68b966fc5399f74809e\n\n# tcId = 30\n# Flipped bit 32 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 97dd6e5a892cbd564c39ae7d1c5a31aa\n\n# tcId = 31\n# Flipped bit 32 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 42802eb1921f0032afe984443738cd31\n\n# tcId = 32\n# Flipped bit 32 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 7bcfbbca7b2ea68b966fc5399f74809e\n\n# tcId = 33\n# Flipped bit 33 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 97dd6e5a8a2cbd564c39ae7d1c5a31aa\n\n# tcId = 34\n# Flipped bit 33 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 42802eb1911f0032afe984443738cd31\n\n# tcId = 35\n# Flipped bit 33 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 7bcfbbca782ea68b966fc5399f74809e\n\n# tcId = 36\n# Flipped bit 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 97dd6e5a882cbdd64c39ae7d1c5a31aa\n\n# tcId = 37\n# Flipped bit 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 42802eb1931f00b2afe984443738cd31\n\n# tcId = 38\n# Flipped bit 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 7bcfbbca7a2ea60b966fc5399f74809e\n\n# tcId = 39\n# Flipped bit 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 97dd6e5a882cbd564d39ae7d1c5a31aa\n\n# tcId = 40\n# Flipped bit 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 42802eb1931f0032aee984443738cd31\n\n# tcId = 41\n# Flipped bit 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 7bcfbbca7a2ea68b976fc5399f74809e\n\n# tcId = 42\n# Flipped bit 71 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 97dd6e5a882cbd56cc39ae7d1c5a31aa\n\n# tcId = 43\n# Flipped bit 71 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 42802eb1931f00322fe984443738cd31\n\n# tcId = 44\n# Flipped bit 71 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 7bcfbbca7a2ea68b166fc5399f74809e\n\n# tcId = 45\n# Flipped bit 77 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 97dd6e5a882cbd564c19ae7d1c5a31aa\n\n# tcId = 46\n# Flipped bit 77 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 42802eb1931f0032afc984443738cd31\n\n# tcId = 47\n# Flipped bit 77 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 7bcfbbca7a2ea68b964fc5399f74809e\n\n# tcId = 48\n# Flipped bit 80 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 97dd6e5a882cbd564c39af7d1c5a31aa\n\n# tcId = 49\n# Flipped bit 80 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 42802eb1931f0032afe985443738cd31\n\n# tcId = 50\n# Flipped bit 80 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 7bcfbbca7a2ea68b966fc4399f74809e\n\n# tcId = 51\n# Flipped bit 96 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 97dd6e5a882cbd564c39ae7d1d5a31aa\n\n# tcId = 52\n# Flipped bit 96 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 42802eb1931f0032afe984443638cd31\n\n# tcId = 53\n# ", - "Flipped bit 96 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 7bcfbbca7a2ea68b966fc5399e74809e\n\n# tcId = 54\n# Flipped bit 97 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 97dd6e5a882cbd564c39ae7d1e5a31aa\n\n# tcId = 55\n# Flipped bit 97 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 42802eb1931f0032afe984443538cd31\n\n# tcId = 56\n# Flipped bit 97 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 7bcfbbca7a2ea68b966fc5399d74809e\n\n# tcId = 57\n# Flipped bit 103 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 97dd6e5a882cbd564c39ae7d9c5a31aa\n\n# tcId = 58\n# Flipped bit 103 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 42802eb1931f0032afe98444b738cd31\n\n# tcId = 59\n# Flipped bit 103 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 7bcfbbca7a2ea68b966fc5391f74809e\n\n# tcId = 60\n# Flipped bit 120 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 97dd6e5a882cbd564c39ae7d1c5a31ab\n\n# tcId = 61\n# Flipped bit 120 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 42802eb1931f0032afe984443738cd30\n\n# tcId = 62\n# Flipped bit 120 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 7bcfbbca7a2ea68b966fc5399f74809f\n\n# tcId = 63\n# Flipped bit 121 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 97dd6e5a882cbd564c39ae7d1c5a31a8\n\n# tcId = 64\n# Flipped bit 121 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 42802eb1931f0032afe984443738cd33\n\n# tcId = 65\n# Flipped bit 121 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 7bcfbbca7a2ea68b966fc5399f74809c\n\n# tcId = 66\n# Flipped bit 126 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 97dd6e5a882cbd564c39ae7d1c5a31ea\n\n# tcId = 67\n# Flipped bit 126 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 42802eb1931f0032afe984443738cd71\n\n# tcId = 68\n# Flipped bit 126 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 7bcfbbca7a2ea68b966fc5399f7480de\n\n# tcId = 69\n# Flipped bit 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 97dd6e5a882cbd564c39ae7d1c5a312a\n\n# tcId = 70\n# Flipped bit 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 42802eb1931f0032afe984443738cdb1\n\n# tcId = 71\n# Flipped bit 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 7bcfbbca7a2ea68b966fc5399f74801e\n\n# tcId = 72\n# Flipped bits 0 and 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 96dd6e5a882cbd564d39ae7d1c5a31aa\n\n# tcId = 73\n# Flipped bits 0 and 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 43802eb1931f0032aee984443738cd31\n\n# tcId = 74\n# Flipped bits 0 and 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 7acfbbca7a2ea68b976fc5399f74809e\n\n# tcId = 75\n# Flipped bits 31 and 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 97dd6eda882cbdd64c39ae7d1c5a31aa\n\n# tcId = 76\n# Flipped bits 31 and 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 42802e31931f00b2afe984443738cd31\n\n# tcId = 77\n# Flipped bits 31 and 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 7bcfbb4a7a2ea60b966fc5399f74809e\n\n# tcId = 78\n# Flipped bits 63 and 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 97dd6e5a882cbdd64c39ae7d1c5a312a\n\n# tcId = 79\n# Flipped bits 63 and 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 42802eb1931f00b2afe984443738cdb1\n\n# tcId = 80\n# Flipped bits 63 and 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 7bcfbbca7a2ea60b966fc5399f74801e\n\n# tcId = 81\n# all bits of tag flipped\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 682291a577d342a9b3c65182e3a5ce55\n\n# tcId = 82\n# all bits of tag flipped\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = bd7fd14e6ce0ffcd50167bbbc8c732ce\n\n# tcId = 83\n# all bits of tag flipped\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 8430443585d1597469903ac6608b7f61\n\n# tcId = 84\n# Tag changed to all zero\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 85\n# Tag changed to all zero\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 86\n# Tag changed to all zero\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 87\n# tag changed to all 1\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 88\n# tag changed to all 1\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 89\n# tag changed to all 1\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 90\n# msbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 175deeda08ac3dd6ccb92efd9cdab12a\n\n# tcId = 91\n# msbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = c200ae31139f80b22f6904c4b7b84db1\n\n# tcId = 92\n# msbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = fb4f3b4afaae260b16ef45b91ff4001e\n\n# tcId = 93\n# lsbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 96dc6f5b892dbc574d38af7c1d5b30ab\n\n# tcId = 94\n# lsbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 43812fb0921e0133aee885453639cc30\n\n# tcId = 95\n# lsbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 7acebacb7b2fa78a976ec4389e75819f\n\n[keySize = 192]\n[tagSize = 96]\n\n# tcId = 96\n# empty message\nkey = 78fe7087bc810abf08f15fc69804f888435a6442677c8c79\nmsg = \nresult = valid\ntag = 48d92d311f60d51a23e56d8c\n\n# tcId = 97\n# truncated mac\nkey = 7ab6fb0e3456e40c3a6c5db57a3d0548d4c8c3cfd8849dba\nmsg = c6\nresult = valid\ntag = d904a70715bd0ad9468f37b2\n\n# tcId = 98\n# truncated mac\nkey = f095a5d39f0b499cef0130b4eb3bfae90253a1f30270efb5\nmsg = 738e196c2cb0206b\nresult = valid\ntag = 7a3b8de1c57e7c5f7babbe42\n\n# tcId = 99\n# truncated mac\nkey = 6fee9e028a35d168ffe2062338f753d3930597b341210f0c\nmsg = a1518bb8cb88f305935b91f64f2479\nresult = valid\ntag = 7ba264b276a0849bc76a2a29\n\n# tcId = 100\n# truncated mac\nkey = 304b9077a8f36fd949e38bbfb6dd71e313530ba0a34d3e77\nmsg = 87e60924ae7f2ae1567cbcb07f7ae2aa\nresult = valid\ntag = 725e51ac5b10338d940c0236\n\n# tcId = 101\n# truncated mac\nkey = fec7f37de35365c415701ba2eec2d94cb20e3e2a0c21cfcf\nmsg = cf24271e0acebd3249f996da1fe9d13e3f\nresult = valid\ntag = 7636cec43b5b7a40787580fa\n\n# tcId = 102\n# truncated mac\nkey = 5f4df68a45a5edde95907b5b002fcf3ba6747f9194536dd3\nmsg = 4cc781faaa8decb281afab7dc69f380921d04c54414bb65f\nresult = valid\ntag = bb2de41c514dd64ebc5f5a99\n\n[keySize = 192]\n[tagSize = 128]\n\n# tcId = 103\n# empty message\nkey = 3d6bf9edae6d881eade0ff8c7076a4835b71320c1f36b631\nmsg = \nresult = valid\ntag = a8dd15fe2ce3495ec5b666744ec29220\n\n# tcId = 104\n# full length mac\nkey = 915429743435c28997a33b33b6574a953d81dae0e7032e6a\nmsg = 58\nresult = va", - "lid\ntag = e13b3f7f7f510c3a059df7a68c7e2ad5\n\n# tcId = 105\n# full length mac\nkey = 28d8da67806410e5565bcc5a9d7ab9fb357413fa0158378c\nmsg = 004e3f4a4e6db955\nresult = valid\ntag = c4c2c0876be9eabeb5a956da53846b08\n\n# tcId = 106\n# full length mac\nkey = 850fc859e9f7b89a367611dee6698f33962d8245ca8dc331\nmsg = 586f4f171af116519061a8e0e77940\nresult = valid\ntag = fb11a360c9776991d73d6e41d07710a2\n\n# tcId = 107\n# full length mac\nkey = f4bfa5aa4f0f4d62cf736cd2969c43d580fdb92f2753bedb\nmsg = 0e239f239705b282ce2200fe20de1165\nresult = valid\ntag = ab20a6cf60873665b1d6999b05c7f9c6\n\n# tcId = 108\n# full length mac\nkey = cfd3f68873d81a27d2bfce876c79f6e609074dec39e34614\nmsg = b1973cb25aa87ef9d1a8888b0a0f5c04c6\nresult = valid\ntag = b95a016b83a0ae4194023333c8a7345a\n\n# tcId = 109\n# full length mac\nkey = 648a44468d67bb6744b235ee7a3fcd6ed4bdc29ec5b5fa1a\nmsg = c59d0d6981cca1be1d5519fc7881e6d230f39f6c12a9e827\nresult = valid\ntag = a1b96272ae7f9aef567271795f21d1d3\n\n# tcId = 110\n# Flipped bit 0 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ed12390ea0a7ed15d9d37a6eca1fc990\n\n# tcId = 111\n# Flipped bit 0 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = c81307df60859acb911c7be61be7ca90\n\n# tcId = 112\n# Flipped bit 0 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = f91bde0069a6e389573bf04e7cde688c\n\n# tcId = 113\n# Flipped bit 1 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ee12390ea0a7ed15d9d37a6eca1fc990\n\n# tcId = 114\n# Flipped bit 1 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = cb1307df60859acb911c7be61be7ca90\n\n# tcId = 115\n# Flipped bit 1 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = fa1bde0069a6e389573bf04e7cde688c\n\n# tcId = 116\n# Flipped bit 7 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = 6c12390ea0a7ed15d9d37a6eca1fc990\n\n# tcId = 117\n# Flipped bit 7 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = 491307df60859acb911c7be61be7ca90\n\n# tcId = 118\n# Flipped bit 7 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 781bde0069a6e389573bf04e7cde688c\n\n# tcId = 119\n# Flipped bit 8 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ec13390ea0a7ed15d9d37a6eca1fc990\n\n# tcId = 120\n# Flipped bit 8 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = c91207df60859acb911c7be61be7ca90\n\n# tcId = 121\n# Flipped bit 8 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = f81ade0069a6e389573bf04e7cde688c\n\n# tcId = 122\n# Flipped bit 31 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ec12398ea0a7ed15d9d37a6eca1fc990\n\n# tcId = 123\n# Flipped bit 31 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = c913075f60859acb911c7be61be7ca90\n\n# tcId = 124\n# Flipped bit 31 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = f81bde8069a6e389573bf04e7cde688c\n\n# tcId = 125\n# Flipped bit 32 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ec12390ea1a7ed15d9d37a6eca1fc990\n\n# tcId = 126\n# Flipped bit 32 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = c91307df61859acb911c7be61be7ca90\n\n# tcId = 127\n# Flipped bit 32 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = f81bde0068a6e389573bf04e7cde688c\n\n# tcId = 128\n# Flipped bit 33 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ec12390ea2a7ed15d9d37a6eca1fc990\n\n# tcId = 129\n# Flipped bit 33 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = c91307df62859acb911c7be61be7ca90\n\n# tcId = 130\n# Flipped bit 33 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = f81bde006ba6e389573bf04e7cde688c\n\n# tcId = 131\n# Flipped bit 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ec12390ea0a7ed95d9d37a6eca1fc990\n\n# tcId = 132\n# Flipped bit 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = c91307df60859a4b911c7be61be7ca90\n\n# tcId = 133\n# Flipped bit 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = f81bde0069a6e309573bf04e7cde688c\n\n# tcId = 134\n# Flipped bit 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ec12390ea0a7ed15d8d37a6eca1fc990\n\n# tcId = 135\n# Flipped bit 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = c91307df60859acb901c7be61be7ca90\n\n# tcId = 136\n# Flipped bit 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = f81bde0069a6e389563bf04e7cde688c\n\n# tcId = 137\n# Flipped bit 71 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ec12390ea0a7ed1559d37a6eca1fc990\n\n# tcId = 138\n# Flipped bit 71 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = c91307df60859acb111c7be61be7ca90\n\n# tcId = 139\n# Flipped bit 71 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = f81bde0069a6e389d73bf04e7cde688c\n\n# tcId = 140\n# Flipped bit 77 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ec12390ea0a7ed15d9f37a6eca1fc990\n\n# tcId = 141\n# Flipped bit 77 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = c91307df60859acb913c7be61be7ca90\n\n# tcId = 142\n# Flipped bit 77 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = f81bde0069a6e389571bf04e7cde688c\n\n# tcId = 143\n# Flipped bit 80 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ec12390ea0a7ed15d9d37b6eca1fc990\n\n# tcId = 144\n# Flipped bit 80 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = c91307df60859acb911c7ae61be7ca90\n\n# tcId = 145\n# Flipped bit 80 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = f81bde0069a6e389573bf14e7cde688c\n\n# tcId = 146\n# Flipped bit 96 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ec12390ea0a7ed15d9d37a6ecb1fc990\n\n# tcId = 147\n# Flipped bit 96 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = c91307df60859acb911c7be61ae7ca90\n\n# tcId = 148\n# Flipped bit 96 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = f81bde0069a6e389573bf04e7dde688c\n\n# tcId = 149\n# Flipped bit 97 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ec12390ea0a7ed15d9d37a6ec81fc990\n\n# tcId = 150\n# Flipped bit 97 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = c91307df60859acb911c7be619e7ca90\n\n# tcId = 151\n# Flipped bit 97 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = f81bde0069a6e389573bf04e7ede688c\n\n# tcId = 152\n# Flipped bit 103 in ta", - "g\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ec12390ea0a7ed15d9d37a6e4a1fc990\n\n# tcId = 153\n# Flipped bit 103 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = c91307df60859acb911c7be69be7ca90\n\n# tcId = 154\n# Flipped bit 103 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = f81bde0069a6e389573bf04efcde688c\n\n# tcId = 155\n# Flipped bit 120 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ec12390ea0a7ed15d9d37a6eca1fc991\n\n# tcId = 156\n# Flipped bit 120 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = c91307df60859acb911c7be61be7ca91\n\n# tcId = 157\n# Flipped bit 120 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = f81bde0069a6e389573bf04e7cde688d\n\n# tcId = 158\n# Flipped bit 121 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ec12390ea0a7ed15d9d37a6eca1fc992\n\n# tcId = 159\n# Flipped bit 121 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = c91307df60859acb911c7be61be7ca92\n\n# tcId = 160\n# Flipped bit 121 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = f81bde0069a6e389573bf04e7cde688e\n\n# tcId = 161\n# Flipped bit 126 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ec12390ea0a7ed15d9d37a6eca1fc9d0\n\n# tcId = 162\n# Flipped bit 126 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = c91307df60859acb911c7be61be7cad0\n\n# tcId = 163\n# Flipped bit 126 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = f81bde0069a6e389573bf04e7cde68cc\n\n# tcId = 164\n# Flipped bit 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ec12390ea0a7ed15d9d37a6eca1fc910\n\n# tcId = 165\n# Flipped bit 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = c91307df60859acb911c7be61be7ca10\n\n# tcId = 166\n# Flipped bit 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = f81bde0069a6e389573bf04e7cde680c\n\n# tcId = 167\n# Flipped bits 0 and 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ed12390ea0a7ed15d8d37a6eca1fc990\n\n# tcId = 168\n# Flipped bits 0 and 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = c81307df60859acb901c7be61be7ca90\n\n# tcId = 169\n# Flipped bits 0 and 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = f91bde0069a6e389563bf04e7cde688c\n\n# tcId = 170\n# Flipped bits 31 and 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ec12398ea0a7ed95d9d37a6eca1fc990\n\n# tcId = 171\n# Flipped bits 31 and 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = c913075f60859a4b911c7be61be7ca90\n\n# tcId = 172\n# Flipped bits 31 and 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = f81bde8069a6e309573bf04e7cde688c\n\n# tcId = 173\n# Flipped bits 63 and 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ec12390ea0a7ed95d9d37a6eca1fc910\n\n# tcId = 174\n# Flipped bits 63 and 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = c91307df60859a4b911c7be61be7ca10\n\n# tcId = 175\n# Flipped bits 63 and 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = f81bde0069a6e309573bf04e7cde680c\n\n# tcId = 176\n# all bits of tag flipped\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = 13edc6f15f5812ea262c859135e0366f\n\n# tcId = 177\n# all bits of tag flipped\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = 36ecf8209f7a65346ee38419e418356f\n\n# tcId = 178\n# all bits of tag flipped\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 07e421ff96591c76a8c40fb183219773\n\n# tcId = 179\n# Tag changed to all zero\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 180\n# Tag changed to all zero\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 181\n# Tag changed to all zero\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 182\n# tag changed to all 1\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 183\n# tag changed to all 1\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 184\n# tag changed to all 1\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 185\n# msbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = 6c92b98e20276d955953faee4a9f4910\n\n# tcId = 186\n# msbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = 4993875fe0051a4b119cfb669b674a10\n\n# tcId = 187\n# msbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 789b5e80e9266309d7bb70cefc5ee80c\n\n# tcId = 188\n# lsbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ed13380fa1a6ec14d8d27b6fcb1ec891\n\n# tcId = 189\n# lsbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = c81206de61849bca901d7ae71ae6cb91\n\n# tcId = 190\n# lsbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = f91adf0168a7e288563af14f7ddf698d\n\n[keySize = 256]\n[tagSize = 96]\n\n# tcId = 191\n# empty message\nkey = e40992eb4f649e5d49134652aecc24bafa6b45ce8dd9e9d371ede7d5de84fa72\nmsg = \nresult = valid\ntag = 034762bd9014d642f7f08af7\n\n# tcId = 192\n# truncated mac\nkey = 298962335a075e9eacb7a7627beafa4ee5a02242423cdfb0b4f106eb61cf5663\nmsg = 49\nresult = valid\ntag = 4545f042beb65af2b7b74808\n\n# tcId = 193\n# truncated mac\nkey = 2e94a84c78be80cd598366058d4f6cdf8095666dcac7a00ad832d9f33e20d13c\nmsg = b978587bf028558d\nresult = valid\ntag = 6703f99ac094ed0e9d9973b5\n\n# tcId = 194\n# truncated mac\nkey = 95b330aa5fffa6c0e29fd6fa0debdcb9cf6b448820bea24875089ec8ca5a2387\nmsg = c96596ebba6f89761b9d14dfcc8fb4\nresult = valid\ntag = 2fc3ce831f693912d33f3fde\n\n# tcId = 195\n# truncated mac\nkey = 319cd78b51a689a66b232005d66ad1962d11e52faf6aaad4ce7dc30777cd9ecc\nmsg = 82ce94904b110635a8604c4f7afc786b\nresult = valid\ntag = a7685d0f2049015e6f3229ee\n\n# tcId = 196\n# truncated mac\nkey = b3b7c2c6d3d80918218afcd8bf2a71cf0220e2e8084ead8ba1abfb893ae36d40\nmsg = dbcf98254157727c35f367fe6e15a2d089\nresult = valid\ntag = 09a60999f8848d19be5242c8\n\n# tcId = 197\n# truncated mac\nkey = 8588a6f1fb8ccc0fed3fdb3f8a39d389fb9260748f3b45bd74ad42a60c9caf2b\nmsg = 020cc9dd7f06f514bd3baf939f376b8b0083ff1b35ac90d0\nresult = valid\ntag = 50649ef2b87c22d2731ace23\n\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 198\n# empty message\nkey = 7bf9e536b66a215c22233fe2daaa743a898b9acb9f7802de70b40e3d6e43ef97\nmsg = \nresult = valid\ntag = 736", - "c7b56957db774c5ddf7c7a70ba8a8\n\n# tcId = 199\n# full length mac\nkey = e754076ceab3fdaf4f9bcab7d4f0df0cbbafbc87731b8f9b7cd2166472e8eebc\nmsg = 40\nresult = valid\ntag = 9d47482c2d9252bace43a75a8335b8b8\n\n# tcId = 200\n# full length mac\nkey = 505aa98819809ef63b9a368a1e8bc2e922da45b03ce02d9a7966b15006dba2d5\nmsg = 2e4e7ef728fe11af\nresult = valid\ntag = f79606b83a7706a2a19e068bce818898\n\n# tcId = 201\n# full length mac\nkey = c19bdf314c6cf64381425467f42aefa17c1cc9358be16ce31b1d214859ce86aa\nmsg = 5d066a92c300e9b6ddd63a7c13ae33\nresult = valid\ntag = b96818b7acaf879c7a7f8271375a6914\n\n# tcId = 202\n# full length mac\nkey = 612e837843ceae7f61d49625faa7e7494f9253e20cb3adcea686512b043936cd\nmsg = cc37fae15f745a2f40e2c8b192f2b38d\nresult = valid\ntag = 4b88e193000c5a4b23e95c7f2b26530b\n\n# tcId = 203\n# full length mac\nkey = 73216fafd0022d0d6ee27198b2272578fa8f04dd9f44467fbb6437aa45641bf7\nmsg = d5247b8f6c3edcbfb1d591d13ece23d2f5\nresult = valid\ntag = 86911c7da51dc0823d6e93d4290d1ad4\n\n# tcId = 204\n# full length mac\nkey = 0427a70e257528f3ab70640bba1a5de12cf3885dd4c8e284fbbb55feb35294a5\nmsg = 13937f8544f44270d01175a011f7670e93fa6ba7ef02336e\nresult = valid\ntag = ccb2c51bfbe2598f9109fc70ed07f0eb\n\n# tcId = 205\n# Flipped bit 0 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 6af0a293d8cba0101f0089727691b7fb\n\n# tcId = 206\n# Flipped bit 0 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = d709717c3a4ef8a2ea200b297d2accec\n\n# tcId = 207\n# Flipped bit 0 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 58ee3f3b5f83e290cae26dad29bba32d\n\n# tcId = 208\n# Flipped bit 1 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 69f0a293d8cba0101f0089727691b7fb\n\n# tcId = 209\n# Flipped bit 1 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = d409717c3a4ef8a2ea200b297d2accec\n\n# tcId = 210\n# Flipped bit 1 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 5bee3f3b5f83e290cae26dad29bba32d\n\n# tcId = 211\n# Flipped bit 7 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = ebf0a293d8cba0101f0089727691b7fb\n\n# tcId = 212\n# Flipped bit 7 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = 5609717c3a4ef8a2ea200b297d2accec\n\n# tcId = 213\n# Flipped bit 7 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d9ee3f3b5f83e290cae26dad29bba32d\n\n# tcId = 214\n# Flipped bit 8 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 6bf1a293d8cba0101f0089727691b7fb\n\n# tcId = 215\n# Flipped bit 8 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = d608717c3a4ef8a2ea200b297d2accec\n\n# tcId = 216\n# Flipped bit 8 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 59ef3f3b5f83e290cae26dad29bba32d\n\n# tcId = 217\n# Flipped bit 31 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 6bf0a213d8cba0101f0089727691b7fb\n\n# tcId = 218\n# Flipped bit 31 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = d60971fc3a4ef8a2ea200b297d2accec\n\n# tcId = 219\n# Flipped bit 31 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 59ee3fbb5f83e290cae26dad29bba32d\n\n# tcId = 220\n# Flipped bit 32 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 6bf0a293d9cba0101f0089727691b7fb\n\n# tcId = 221\n# Flipped bit 32 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = d609717c3b4ef8a2ea200b297d2accec\n\n# tcId = 222\n# Flipped bit 32 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 59ee3f3b5e83e290cae26dad29bba32d\n\n# tcId = 223\n# Flipped bit 33 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 6bf0a293dacba0101f0089727691b7fb\n\n# tcId = 224\n# Flipped bit 33 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = d609717c384ef8a2ea200b297d2accec\n\n# tcId = 225\n# Flipped bit 33 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 59ee3f3b5d83e290cae26dad29bba32d\n\n# tcId = 226\n# Flipped bit 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 6bf0a293d8cba0901f0089727691b7fb\n\n# tcId = 227\n# Flipped bit 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = d609717c3a4ef822ea200b297d2accec\n\n# tcId = 228\n# Flipped bit 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 59ee3f3b5f83e210cae26dad29bba32d\n\n# tcId = 229\n# Flipped bit 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 6bf0a293d8cba0101e0089727691b7fb\n\n# tcId = 230\n# Flipped bit 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = d609717c3a4ef8a2eb200b297d2accec\n\n# tcId = 231\n# Flipped bit 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 59ee3f3b5f83e290cbe26dad29bba32d\n\n# tcId = 232\n# Flipped bit 71 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 6bf0a293d8cba0109f0089727691b7fb\n\n# tcId = 233\n# Flipped bit 71 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = d609717c3a4ef8a26a200b297d2accec\n\n# tcId = 234\n# Flipped bit 71 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 59ee3f3b5f83e2904ae26dad29bba32d\n\n# tcId = 235\n# Flipped bit 77 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 6bf0a293d8cba0101f2089727691b7fb\n\n# tcId = 236\n# Flipped bit 77 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = d609717c3a4ef8a2ea000b297d2accec\n\n# tcId = 237\n# Flipped bit 77 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 59ee3f3b5f83e290cac26dad29bba32d\n\n# tcId = 238\n# Flipped bit 80 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 6bf0a293d8cba0101f0088727691b7fb\n\n# tcId = 239\n# Flipped bit 80 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = d609717c3a4ef8a2ea200a297d2accec\n\n# tcId = 240\n# Flipped bit 80 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 59ee3f3b5f83e290cae26cad29bba32d\n\n# tcId = 241\n# Flipped bit 96 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 6bf0a293d8cba0101f0089727791b7fb\n\n# tcId = 242\n# Flipped bit 96 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415", - "161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = d609717c3a4ef8a2ea200b297c2accec\n\n# tcId = 243\n# Flipped bit 96 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 59ee3f3b5f83e290cae26dad28bba32d\n\n# tcId = 244\n# Flipped bit 97 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 6bf0a293d8cba0101f0089727491b7fb\n\n# tcId = 245\n# Flipped bit 97 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = d609717c3a4ef8a2ea200b297f2accec\n\n# tcId = 246\n# Flipped bit 97 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 59ee3f3b5f83e290cae26dad2bbba32d\n\n# tcId = 247\n# Flipped bit 103 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 6bf0a293d8cba0101f008972f691b7fb\n\n# tcId = 248\n# Flipped bit 103 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = d609717c3a4ef8a2ea200b29fd2accec\n\n# tcId = 249\n# Flipped bit 103 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 59ee3f3b5f83e290cae26dada9bba32d\n\n# tcId = 250\n# Flipped bit 120 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 6bf0a293d8cba0101f0089727691b7fa\n\n# tcId = 251\n# Flipped bit 120 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = d609717c3a4ef8a2ea200b297d2acced\n\n# tcId = 252\n# Flipped bit 120 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 59ee3f3b5f83e290cae26dad29bba32c\n\n# tcId = 253\n# Flipped bit 121 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 6bf0a293d8cba0101f0089727691b7f9\n\n# tcId = 254\n# Flipped bit 121 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = d609717c3a4ef8a2ea200b297d2accee\n\n# tcId = 255\n# Flipped bit 121 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 59ee3f3b5f83e290cae26dad29bba32f\n\n# tcId = 256\n# Flipped bit 126 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 6bf0a293d8cba0101f0089727691b7bb\n\n# tcId = 257\n# Flipped bit 126 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = d609717c3a4ef8a2ea200b297d2accac\n\n# tcId = 258\n# Flipped bit 126 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 59ee3f3b5f83e290cae26dad29bba36d\n\n# tcId = 259\n# Flipped bit 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 6bf0a293d8cba0101f0089727691b77b\n\n# tcId = 260\n# Flipped bit 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = d609717c3a4ef8a2ea200b297d2acc6c\n\n# tcId = 261\n# Flipped bit 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 59ee3f3b5f83e290cae26dad29bba3ad\n\n# tcId = 262\n# Flipped bits 0 and 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 6af0a293d8cba0101e0089727691b7fb\n\n# tcId = 263\n# Flipped bits 0 and 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = d709717c3a4ef8a2eb200b297d2accec\n\n# tcId = 264\n# Flipped bits 0 and 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 58ee3f3b5f83e290cbe26dad29bba32d\n\n# tcId = 265\n# Flipped bits 31 and 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 6bf0a213d8cba0901f0089727691b7fb\n\n# tcId = 266\n# Flipped bits 31 and 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = d60971fc3a4ef822ea200b297d2accec\n\n# tcId = 267\n# Flipped bits 31 and 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 59ee3fbb5f83e210cae26dad29bba32d\n\n# tcId = 268\n# Flipped bits 63 and 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 6bf0a293d8cba0901f0089727691b77b\n\n# tcId = 269\n# Flipped bits 63 and 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = d609717c3a4ef822ea200b297d2acc6c\n\n# tcId = 270\n# Flipped bits 63 and 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 59ee3f3b5f83e210cae26dad29bba3ad\n\n# tcId = 271\n# all bits of tag flipped\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 940f5d6c27345fefe0ff768d896e4804\n\n# tcId = 272\n# all bits of tag flipped\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = 29f68e83c5b1075d15dff4d682d53313\n\n# tcId = 273\n# all bits of tag flipped\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a611c0c4a07c1d6f351d9252d6445cd2\n\n# tcId = 274\n# Tag changed to all zero\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 275\n# Tag changed to all zero\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 276\n# Tag changed to all zero\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 277\n# tag changed to all 1\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 278\n# tag changed to all 1\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 279\n# tag changed to all 1\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 280\n# msbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = eb702213584b20909f8009f2f611377b\n\n# tcId = 281\n# msbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = 5689f1fcbace78226aa08ba9fdaa4c6c\n\n# tcId = 282\n# msbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d96ebfbbdf0362104a62ed2da93b23ad\n\n# tcId = 283\n# lsbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 6af1a392d9caa1111e0188737790b6fa\n\n# tcId = 284\n# lsbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = d708707d3b4ff9a3eb210a287c2bcded\n\n# tcId = 285\n# lsbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg", - " = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 58ef3e3a5e82e391cbe36cac28baa22c\n\n[keySize = 0]\n[tagSize = 128]\n\n# tcId = 286\n# invalid key size\nkey = \nmsg = 00b9449326d39416\nresult = invalid\ntag = \n\n[keySize = 8]\n[tagSize = 128]\n\n# tcId = 287\n# invalid key size\nkey = 0f\nmsg = 4538b79a1397e2aa\nresult = invalid\ntag = \n\n[keySize = 64]\n[tagSize = 128]\n\n# tcId = 288\n# invalid key size\nkey = a88e385af7185148\nmsg = dc63b7ef08096e4f\nresult = invalid\ntag = \n\n[keySize = 160]\n[tagSize = 128]\n\n# tcId = 289\n# invalid key size\nkey = 003a228008d390b645929df73a2b2bdd8298918d\nmsg = ad1d3c3122ab7ac6\nresult = invalid\ntag = \n\n[keySize = 320]\n[tagSize = 128]\n\n# tcId = 290\n# invalid key size\nkey = 94baaac150e2645ae1ec1939c7bcefb73f6edb146fae02289b6c6326ff39bc265d612bef2727fa72\nmsg = e3f75a886c4a5591\nresult = invalid\ntag = \n\n", +static const char *kData90[] = { + "# Imported from Wycheproof's aes_cmac_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: AES-CMAC\n# Generator version: 0.8r12\n\n[keySize = 128]\n[tagSize = 128]\n\n# tcId = 1\n# empty message\nkey = e34f15c7bd819930fe9d66e0c166e61c\nmsg = \nresult = valid\ntag = d47afca1d857a5933405b1eb7a5cb7af\n\n# tcId = 2\n# short message\nkey = e1e726677f4893890f8c027f9d8ef80d\nmsg = 3f\nresult = valid\ntag = 15f856bbed3b321952a584b3c4437a63\n\n# tcId = 3\n# short message\nkey = b151f491c4c006d1f28214aa3da9a985\nmsg = 27d9\nresult = valid\ntag = bdbbebac982dd62b9f682618a6a604e9\n\n# tcId = 4\n# short message\nkey = c36ff15f72777ee21deec07b63c1a0cd\nmsg = 50b428\nresult = valid\ntag = be0c3ede157568af394023eb9a7cc983\n\n# tcId = 5\n# short message\nkey = 32b9c5c78c3a0689a86052420fa1e8fc\nmsg = 0b9262ec\nresult = valid\ntag = 57e1506856c55dd32cd9ca821adb6c81\n\n# tcId = 6\n# short message\nkey = 43151bbaef367277ebfc97509d0aa49c\nmsg = eaa91273e7\nresult = valid\ntag = e01adc3be6a7621824232c4285dd35b9\n\n# tcId = 7\n# short message\nkey = 481440298525cc261f8159159aedf62d\nmsg = 6123c556c5cc\nresult = valid\ntag = a281e0d2d5378dfdcc1310fd9782ca56\n\n# tcId = 8\n# short message\nkey = 9ca26eb88731efbf7f810d5d95e196ac\nmsg = 7e48f06183aa40\nresult = valid\ntag = fc81761f2f7b4ce13b53d36e32677332\n\n# tcId = 9\n# short message\nkey = 48f0d03e41cc55c4b58f737b5acdea32\nmsg = f4a133aa6d5985a0\nresult = valid\ntag = 1f1cd0327c02e6d00086915937dd61d9\n\n# tcId = 10\n# short message\nkey = 1c958849f31996b28939ce513087d1be\nmsg = b0d2fee11b8e2f86b7\nresult = valid\ntag = 555f462151f7dd16de698d639fb26760\n\n# tcId = 11\n# short message\nkey = 39de0ebea97c09b2301a90009a423253\nmsg = 81e5c33b4c620852f044\nresult = valid\ntag = 9b004f15b7f6f366374954e64bc58f5f\n\n# tcId = 12\n# short message\nkey = 91656d8fc0aced60ddb1c4006d0dde53\nmsg = 7b3e440fe566790064b2ec\nresult = valid\ntag = 76672ed16c29be449e0c80785cc38e89\n\n# tcId = 13\n# short message\nkey = af7d5134720b5386158d51ea126e7cf9\nmsg = 7cc6fcc925c20f3c83b5567c\nresult = valid\ntag = 2dc5c88cf3b80ab6c0199f40be904abc\n\n# tcId = 14\n# short message\nkey = 4ed56753de6f75a032ebabca3ce27971\nmsg = 0c8c0f5619d9f8da5339281285\nresult = valid\ntag = eab4366d97e99a0850f077329ad058c0\n\n# tcId = 15\n# short message\nkey = beba50c936b696c15e25046dffb23a64\nmsg = 821ea8532fbabffb6e3d212e9b46\nresult = valid\ntag = 22f33cab09c173f75d3401fe44efeead\n\n# tcId = 16\n# short message\nkey = 501d81ebf912ddb87fbe3b7aac1437bc\nmsg = 2368e3c3636b5e8e94d2081adbf798\nresult = valid\ntag = aeb784a3825168ddd61f72d0202125e6\n\n# tcId = 17\nkey = e09eaa5a3f5e56d279d5e7a03373f6ea\nmsg = ef4eab37181f98423e53e947e7050fd0\nresult = valid\ntag = 40facf0e2fb51b73a7472681b033d6dc\n\n# tcId = 18\nkey = 831e664c9e3f0c3094c0b27b9d908eb2\nmsg = 26603bb76dd0a0180791c4ed4d3b058807\nresult = valid\ntag = a8144c8b24f2aa47d9c160cff4ab1716\n\n# tcId = 19\nkey = 549bd282ee21b4d7c3b1d02e3ee20ef7\nmsg = d84bf73c5eecbd38444f1a73556e2fa3253f4c54d6916545\nresult = valid\ntag = 7ed458afe02f4a513f59715b664b1bbe\n\n# tcId = 20\nkey = 9bd3902ed0996c869b572272e76f3889\nmsg = a7ba19d49ee1ea02f098aa8e30c740d893a4456ccc294040484ed8a00a55f93e\nresult = valid\ntag = 45082218c2d05eef32247feb1133d0a3\n\n# tcId = 21\n# Flipped bit 0 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 96dd6e5a882cbd564c39ae7d1c5a31aa\n\n# tcId = 22\n# Flipped bit 0 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 43802eb1931f0032afe984443738cd31\n\n# tcId = 23\n# Flipped bit 0 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 7acfbbca7a2ea68b966fc5399f74809e\n\n# tcId = 24\n# Flipped bit 1 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 95dd6e5a882cbd564c39ae7d1c5a31aa\n\n# tcId = 25\n# Flipped bit 1 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 40802eb1931f0032afe984443738cd31\n\n# tcId = 26\n# Flipped bit 1 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 79cfbbca7a2ea68b966fc5399f74809e\n\n# tcId = 27\n# Flipped bit 7 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 17dd6e5a882cbd564c39ae7d1c5a31aa\n\n# tcId = 28\n# Flipped bit 7 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = c2802eb1931f0032afe984443738cd31\n\n# tcId = 29\n# Flipped bit 7 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = fbcfbbca7a2ea68b966fc5399f74809e\n\n# tcId = 30\n# Flipped bit 8 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 97dc6e5a882cbd564c39ae7d1c5a31aa\n\n# tcId = 31\n# Flipped bit 8 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 42812eb1931f0032afe984443738cd31\n\n# tcId = 32\n# Flipped bit 8 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 7bcebbca7a2ea68b966fc5399f74809e\n\n# tcId = 33\n# Flipped bit 31 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 97dd6eda882cbd564c39ae7d1c5a31aa\n\n# tcId = 34\n# Flipped bit 31 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 42802e31931f0032afe984443738cd31\n\n# tcId = 35\n# Flipped bit 31 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 7bcfbb4a7a2ea68b966fc5399f74809e\n\n# tcId = 36\n# Flipped bit 32 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 97dd6e5a892cbd564c39ae7d1c5a31aa\n\n# tcId = 37\n# Flipped bit 32 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 42802eb1921f0032afe984443738cd31\n\n# tcId = 38\n# Flipped bit 32 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 7bcfbbca7b2ea68b966fc5399f74809e\n\n# tcId = 39\n# Flipped bit 33 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 97dd6e5a8a2cbd564c39ae7d1c5a31aa\n\n# tcId = 40\n# Flipped bit 33 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 42802eb1911f0032afe984443738cd31\n\n# tcId = 41\n# Flipped bit 33 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 7bcfbbca782ea68b966fc5399f74809e\n\n# tcId = 42\n# Flipped bit 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 97dd6e5a882cbdd64c39ae7d1c5a31aa\n\n# tcId = 43\n# Flipped bit 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 42802eb1931f00b2afe984443738cd31\n\n# tcId = 44\n# Flipped bit 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 7bcfbbca7a2ea60b966fc5399f74809e\n\n# tcId = 45\n# Flipped bit 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 97dd6e5a882cbd564d39ae7d1c5a31aa\n\n# tcId = 46\n# Flipped bit 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 42802eb1931f0032aee984443738cd31\n\n# tcId = 47\n# Flipped bit 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 7bcfbbca7a2ea68b976fc5399f74809e\n\n# tcId = 48\n# Flipped bit 71 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 97dd6e5a882cbd56cc39ae7d1c5a31aa\n\n# tcId = 49\n# Flipped bit 71 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 42802eb1931f00322fe984443738cd31\n\n# tcId = 50\n# Flipped bit 71 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 7bcfbbca7a2ea68b166fc5399f74809e\n\n# tcId = 51\n# Flipped bit 77 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 97dd6e5a882cbd564c19ae7d1c5a31aa\n\n# tcId = 52\n# Flipped bit 77 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 42802eb1931f0032afc984443738cd31\n\n# tcId = 53\n# Flipped bit 77 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = inval", + "id\ntag = 7bcfbbca7a2ea68b964fc5399f74809e\n\n# tcId = 54\n# Flipped bit 80 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 97dd6e5a882cbd564c39af7d1c5a31aa\n\n# tcId = 55\n# Flipped bit 80 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 42802eb1931f0032afe985443738cd31\n\n# tcId = 56\n# Flipped bit 80 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 7bcfbbca7a2ea68b966fc4399f74809e\n\n# tcId = 57\n# Flipped bit 96 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 97dd6e5a882cbd564c39ae7d1d5a31aa\n\n# tcId = 58\n# Flipped bit 96 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 42802eb1931f0032afe984443638cd31\n\n# tcId = 59\n# Flipped bit 96 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 7bcfbbca7a2ea68b966fc5399e74809e\n\n# tcId = 60\n# Flipped bit 97 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 97dd6e5a882cbd564c39ae7d1e5a31aa\n\n# tcId = 61\n# Flipped bit 97 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 42802eb1931f0032afe984443538cd31\n\n# tcId = 62\n# Flipped bit 97 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 7bcfbbca7a2ea68b966fc5399d74809e\n\n# tcId = 63\n# Flipped bit 103 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 97dd6e5a882cbd564c39ae7d9c5a31aa\n\n# tcId = 64\n# Flipped bit 103 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 42802eb1931f0032afe98444b738cd31\n\n# tcId = 65\n# Flipped bit 103 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 7bcfbbca7a2ea68b966fc5391f74809e\n\n# tcId = 66\n# Flipped bit 120 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 97dd6e5a882cbd564c39ae7d1c5a31ab\n\n# tcId = 67\n# Flipped bit 120 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 42802eb1931f0032afe984443738cd30\n\n# tcId = 68\n# Flipped bit 120 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 7bcfbbca7a2ea68b966fc5399f74809f\n\n# tcId = 69\n# Flipped bit 121 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 97dd6e5a882cbd564c39ae7d1c5a31a8\n\n# tcId = 70\n# Flipped bit 121 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 42802eb1931f0032afe984443738cd33\n\n# tcId = 71\n# Flipped bit 121 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 7bcfbbca7a2ea68b966fc5399f74809c\n\n# tcId = 72\n# Flipped bit 126 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 97dd6e5a882cbd564c39ae7d1c5a31ea\n\n# tcId = 73\n# Flipped bit 126 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 42802eb1931f0032afe984443738cd71\n\n# tcId = 74\n# Flipped bit 126 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 7bcfbbca7a2ea68b966fc5399f7480de\n\n# tcId = 75\n# Flipped bit 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 97dd6e5a882cbd564c39ae7d1c5a312a\n\n# tcId = 76\n# Flipped bit 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 42802eb1931f0032afe984443738cdb1\n\n# tcId = 77\n# Flipped bit 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 7bcfbbca7a2ea68b966fc5399f74801e\n\n# tcId = 78\n# Flipped bits 0 and 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 96dd6e5a882cbd564d39ae7d1c5a31aa\n\n# tcId = 79\n# Flipped bits 0 and 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 43802eb1931f0032aee984443738cd31\n\n# tcId = 80\n# Flipped bits 0 and 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 7acfbbca7a2ea68b976fc5399f74809e\n\n# tcId = 81\n# Flipped bits 31 and 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 97dd6eda882cbdd64c39ae7d1c5a31aa\n\n# tcId = 82\n# Flipped bits 31 and 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 42802e31931f00b2afe984443738cd31\n\n# tcId = 83\n# Flipped bits 31 and 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 7bcfbb4a7a2ea60b966fc5399f74809e\n\n# tcId = 84\n# Flipped bits 63 and 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 97dd6e5a882cbdd64c39ae7d1c5a312a\n\n# tcId = 85\n# Flipped bits 63 and 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 42802eb1931f00b2afe984443738cdb1\n\n# tcId = 86\n# Flipped bits 63 and 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 7bcfbbca7a2ea60b966fc5399f74801e\n\n# tcId = 87\n# all bits of tag flipped\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 682291a577d342a9b3c65182e3a5ce55\n\n# tcId = 88\n# all bits of tag flipped\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = bd7fd14e6ce0ffcd50167bbbc8c732ce\n\n# tcId = 89\n# all bits of tag flipped\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 8430443585d1597469903ac6608b7f61\n\n# tcId = 90\n# Tag changed to all zero\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 91\n# Tag changed to all zero\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 92\n# Tag changed to all zero\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 93\n# tag changed to all 1\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 94\n# tag changed to all 1\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 95\n# tag changed to all 1\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 96\n# msbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 175deeda08ac3dd6ccb92efd9cdab12a\n\n# tcId = 97\n# msbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = c200ae31139f80b22f6904c4b7b84db1\n\n# tcId = 98\n# msbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = fb4f3b4afaae260b16ef45b91ff4001e\n\n# tcId = 99\n# lsbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = \nresult = invalid\ntag = 96dc6f5b892dbc574d38af7c1d5b30ab\n\n# tcId = 100\n# lsbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 0001020304050607\nresult = invalid\ntag = 43812fb0921e0133aee885453639cc30\n\n# tcId = 101\n# lsbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 7acebacb7b2fa78a976ec4389e75819f\n\n[keySize = 192]\n[tagSize = 128]\n\n# tcId = 102\n# empty message\nkey = 3d6bf9edae6d881eade0ff8c7076a4835b71320c1f36b631\nmsg = \nresult = valid\ntag = a8dd15fe2ce3495ec5b666744ec29220\n\n# tcId = 103\n# short message\nkey = 915429743435c28997a33b33b6574a953d81dae0e7032e6a\nmsg = 58\nresult = valid\ntag = e13b3f7f7f510c3a059df7a68c7e2ad5\n\n# tcId = 104\n# short message\nkey = f0c288ba26b284f9fb321b444a6517b3cdda1a799d55fdff\nmsg = 0f7e\nresult = valid\ntag = 06ef847f5f9dbf03a4f283da8c400220\n\n# tcId = 105\n# short message\nkey = 6b55e4d4fd6847a80a6bfb0dcc0aa93f9fd797fc5c50292e\nmsg = 33f530\nresult = valid\ntag = dd135053a47ca8f282c299e83b8c", + "57c4\n\n# tcId = 106\n# short message\nkey = 1eb21a9e995a8e45c9e71ecbd6fe615b3e0318007c64b644\nmsg = 3aa73c48\nresult = valid\ntag = 1e93fff846934a6eea0575eecb0f0e1f\n\n# tcId = 107\n# short message\nkey = 710e2d5d4a9f0bc7e50796655e046a18cc5769d7764355da\nmsg = 7e4c690a88\nresult = valid\ntag = 016d4df06c68a6a788a9ea052e1b550d\n\n# tcId = 108\n# short message\nkey = d8c09ea400779b63e774bdacd0cb7b5dd6f736ca23d52acf\nmsg = e9520280973b\nresult = valid\ntag = 8030ae9f98f5d20c6089f6b1bd87c29e\n\n# tcId = 109\n# short message\nkey = 8e67e9a0863b55bed408866f1cbc05357abe3f9d79f406f2\nmsg = 4880b412287a0b\nresult = valid\ntag = bcaf50785f062a8fb8dd3c2c4cead2e1\n\n# tcId = 110\n# short message\nkey = 28d8da67806410e5565bcc5a9d7ab9fb357413fa0158378c\nmsg = 004e3f4a4e6db955\nresult = valid\ntag = c4c2c0876be9eabeb5a956da53846b08\n\n# tcId = 111\n# short message\nkey = dc968dd89fd602bb7eca6f3a8a13e4f59c08d02a514b1934\nmsg = 41a25354efeb1bc3b8\nresult = valid\ntag = f33a62caf397f9aff71fe42941ba41d8\n\n# tcId = 112\n# short message\nkey = 7658951c0f620d82afd92756cc2d7983b79da3e56fdd1b78\nmsg = f0e82fb5c5666f4af49f\nresult = valid\ntag = 4d724d05f3402967eb65ae1e32d5469e\n\n# tcId = 113\n# short message\nkey = d9574c3a221b986690931faac5258d9d3c52362b2cb9b054\nmsg = 178ea8404ba54ee4e4522c\nresult = valid\ntag = 64a0e0b6757309ab58d74f72c310e473\n\n# tcId = 114\n# short message\nkey = 704409bab28085c44981f28f75dd143a4f747106f63f262e\nmsg = cda5709e7f115624e74ab031\nresult = valid\ntag = 6ab2074334be14a95b6a241f897a43de\n\n# tcId = 115\n# short message\nkey = d8d06ef6a53bbff5c8f12d791b8f4c67e574bf440736d1cc\nmsg = a1171eae1979f48345dd9485a0\nresult = valid\ntag = 7aa57cf98b24897cc9230e3316758e61\n\n# tcId = 116\n# short message\nkey = 71129e781613f39d9ac39fbde2628b44c250c14deb5ef9e2\nmsg = 967593cc64bcbf7f3c58d04cb82b\nresult = valid\ntag = 6cc488b0a40eadbe4bcee2623239d126\n\n# tcId = 117\n# short message\nkey = 850fc859e9f7b89a367611dee6698f33962d8245ca8dc331\nmsg = 586f4f171af116519061a8e0e77940\nresult = valid\ntag = fb11a360c9776991d73d6e41d07710a2\n\n# tcId = 118\nkey = f4bfa5aa4f0f4d62cf736cd2969c43d580fdb92f2753bedb\nmsg = 0e239f239705b282ce2200fe20de1165\nresult = valid\ntag = ab20a6cf60873665b1d6999b05c7f9c6\n\n# tcId = 119\nkey = cfd3f68873d81a27d2bfce876c79f6e609074dec39e34614\nmsg = b1973cb25aa87ef9d1a8888b0a0f5c04c6\nresult = valid\ntag = b95a016b83a0ae4194023333c8a7345a\n\n# tcId = 120\nkey = 648a44468d67bb6744b235ee7a3fcd6ed4bdc29ec5b5fa1a\nmsg = c59d0d6981cca1be1d5519fc7881e6d230f39f6c12a9e827\nresult = valid\ntag = a1b96272ae7f9aef567271795f21d1d3\n\n# tcId = 121\nkey = 9d11abc1fcb248a436598e695be12c3c2ed90a18ba09d62c\nmsg = aa5182cae2a8fb068c0b3fb2be3e57ae523d13dffd1a944587707c2b67447f3f\nresult = valid\ntag = 8597d9a04d1c271d61d42f007b435175\n\n# tcId = 122\n# Flipped bit 0 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ed12390ea0a7ed15d9d37a6eca1fc990\n\n# tcId = 123\n# Flipped bit 0 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = c81307df60859acb911c7be61be7ca90\n\n# tcId = 124\n# Flipped bit 0 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = f91bde0069a6e389573bf04e7cde688c\n\n# tcId = 125\n# Flipped bit 1 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ee12390ea0a7ed15d9d37a6eca1fc990\n\n# tcId = 126\n# Flipped bit 1 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = cb1307df60859acb911c7be61be7ca90\n\n# tcId = 127\n# Flipped bit 1 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = fa1bde0069a6e389573bf04e7cde688c\n\n# tcId = 128\n# Flipped bit 7 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = 6c12390ea0a7ed15d9d37a6eca1fc990\n\n# tcId = 129\n# Flipped bit 7 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = 491307df60859acb911c7be61be7ca90\n\n# tcId = 130\n# Flipped bit 7 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 781bde0069a6e389573bf04e7cde688c\n\n# tcId = 131\n# Flipped bit 8 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ec13390ea0a7ed15d9d37a6eca1fc990\n\n# tcId = 132\n# Flipped bit 8 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = c91207df60859acb911c7be61be7ca90\n\n# tcId = 133\n# Flipped bit 8 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = f81ade0069a6e389573bf04e7cde688c\n\n# tcId = 134\n# Flipped bit 31 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ec12398ea0a7ed15d9d37a6eca1fc990\n\n# tcId = 135\n# Flipped bit 31 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = c913075f60859acb911c7be61be7ca90\n\n# tcId = 136\n# Flipped bit 31 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = f81bde8069a6e389573bf04e7cde688c\n\n# tcId = 137\n# Flipped bit 32 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ec12390ea1a7ed15d9d37a6eca1fc990\n\n# tcId = 138\n# Flipped bit 32 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = c91307df61859acb911c7be61be7ca90\n\n# tcId = 139\n# Flipped bit 32 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = f81bde0068a6e389573bf04e7cde688c\n\n# tcId = 140\n# Flipped bit 33 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ec12390ea2a7ed15d9d37a6eca1fc990\n\n# tcId = 141\n# Flipped bit 33 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = c91307df62859acb911c7be61be7ca90\n\n# tcId = 142\n# Flipped bit 33 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = f81bde006ba6e389573bf04e7cde688c\n\n# tcId = 143\n# Flipped bit 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ec12390ea0a7ed95d9d37a6eca1fc990\n\n# tcId = 144\n# Flipped bit 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = c91307df60859a4b911c7be61be7ca90\n\n# tcId = 145\n# Flipped bit 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = f81bde0069a6e309573bf04e7cde688c\n\n# tcId = 146\n# Flipped bit 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ec12390ea0a7ed15d8d37a6eca1fc990\n\n# tcId = 147\n# Flipped bit 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = c91307df60859acb901c7be61be7ca90\n\n# tcId = 148\n# Flipped bit 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = f81bde0069a6e389563bf04e7cde688c\n\n# tcId = 149\n# Flipped bit 71 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ec12390ea0a7ed1559d37a6eca1fc990\n\n# tcId = 150\n# Flipped bit 71 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = c91307df60859acb111c7be61be7ca90\n\n# tcId = 151\n# Flipped bit 71 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = f81bde0069a6e389d73bf04e7cde688c\n\n# tcId = 152\n# Flipped bit 77 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ec12390ea0a7ed15d9f37a6eca1fc990\n\n# tcId = 153\n# Flipped bit 77 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = c91307df60859acb913c7be61be7ca90\n\n# tcId = 154\n# Flipped bit 77 in", + " tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = f81bde0069a6e389571bf04e7cde688c\n\n# tcId = 155\n# Flipped bit 80 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ec12390ea0a7ed15d9d37b6eca1fc990\n\n# tcId = 156\n# Flipped bit 80 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = c91307df60859acb911c7ae61be7ca90\n\n# tcId = 157\n# Flipped bit 80 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = f81bde0069a6e389573bf14e7cde688c\n\n# tcId = 158\n# Flipped bit 96 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ec12390ea0a7ed15d9d37a6ecb1fc990\n\n# tcId = 159\n# Flipped bit 96 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = c91307df60859acb911c7be61ae7ca90\n\n# tcId = 160\n# Flipped bit 96 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = f81bde0069a6e389573bf04e7dde688c\n\n# tcId = 161\n# Flipped bit 97 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ec12390ea0a7ed15d9d37a6ec81fc990\n\n# tcId = 162\n# Flipped bit 97 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = c91307df60859acb911c7be619e7ca90\n\n# tcId = 163\n# Flipped bit 97 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = f81bde0069a6e389573bf04e7ede688c\n\n# tcId = 164\n# Flipped bit 103 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ec12390ea0a7ed15d9d37a6e4a1fc990\n\n# tcId = 165\n# Flipped bit 103 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = c91307df60859acb911c7be69be7ca90\n\n# tcId = 166\n# Flipped bit 103 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = f81bde0069a6e389573bf04efcde688c\n\n# tcId = 167\n# Flipped bit 120 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ec12390ea0a7ed15d9d37a6eca1fc991\n\n# tcId = 168\n# Flipped bit 120 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = c91307df60859acb911c7be61be7ca91\n\n# tcId = 169\n# Flipped bit 120 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = f81bde0069a6e389573bf04e7cde688d\n\n# tcId = 170\n# Flipped bit 121 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ec12390ea0a7ed15d9d37a6eca1fc992\n\n# tcId = 171\n# Flipped bit 121 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = c91307df60859acb911c7be61be7ca92\n\n# tcId = 172\n# Flipped bit 121 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = f81bde0069a6e389573bf04e7cde688e\n\n# tcId = 173\n# Flipped bit 126 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ec12390ea0a7ed15d9d37a6eca1fc9d0\n\n# tcId = 174\n# Flipped bit 126 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = c91307df60859acb911c7be61be7cad0\n\n# tcId = 175\n# Flipped bit 126 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = f81bde0069a6e389573bf04e7cde68cc\n\n# tcId = 176\n# Flipped bit 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ec12390ea0a7ed15d9d37a6eca1fc910\n\n# tcId = 177\n# Flipped bit 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = c91307df60859acb911c7be61be7ca10\n\n# tcId = 178\n# Flipped bit 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = f81bde0069a6e389573bf04e7cde680c\n\n# tcId = 179\n# Flipped bits 0 and 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ed12390ea0a7ed15d8d37a6eca1fc990\n\n# tcId = 180\n# Flipped bits 0 and 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = c81307df60859acb901c7be61be7ca90\n\n# tcId = 181\n# Flipped bits 0 and 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = f91bde0069a6e389563bf04e7cde688c\n\n# tcId = 182\n# Flipped bits 31 and 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ec12398ea0a7ed95d9d37a6eca1fc990\n\n# tcId = 183\n# Flipped bits 31 and 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = c913075f60859a4b911c7be61be7ca90\n\n# tcId = 184\n# Flipped bits 31 and 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = f81bde8069a6e309573bf04e7cde688c\n\n# tcId = 185\n# Flipped bits 63 and 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ec12390ea0a7ed95d9d37a6eca1fc910\n\n# tcId = 186\n# Flipped bits 63 and 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = c91307df60859a4b911c7be61be7ca10\n\n# tcId = 187\n# Flipped bits 63 and 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = f81bde0069a6e309573bf04e7cde680c\n\n# tcId = 188\n# all bits of tag flipped\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = 13edc6f15f5812ea262c859135e0366f\n\n# tcId = 189\n# all bits of tag flipped\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = 36ecf8209f7a65346ee38419e418356f\n\n# tcId = 190\n# all bits of tag flipped\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 07e421ff96591c76a8c40fb183219773\n\n# tcId = 191\n# Tag changed to all zero\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 192\n# Tag changed to all zero\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 193\n# Tag changed to all zero\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 194\n# tag changed to all 1\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 195\n# tag changed to all 1\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 196\n# tag changed to all 1\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 197\n# msbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = 6c92b98e20276d955953faee4a9f4910\n\n# tcId = 198\n# msbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = 4993875fe0051a4b119cfb669b674a10\n\n# tcId = 199\n# msbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 789b5e80e9266309d7bb70cefc5ee80c\n\n# tcId = 200\n# lsbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = \nresult = invalid\ntag = ed13380fa1a6ec14d8d27b6fcb1ec891\n\n# tcId = 201\n# lsbs changed in tag\nkey = 00010203040", + "5060708090a0b0c0d0e0f1011121314151617\nmsg = 0001020304050607\nresult = invalid\ntag = c81206de61849bca901d7ae71ae6cb91\n\n# tcId = 202\n# lsbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = f91adf0168a7e288563af14f7ddf698d\n\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 203\n# empty message\nkey = 7bf9e536b66a215c22233fe2daaa743a898b9acb9f7802de70b40e3d6e43ef97\nmsg = \nresult = valid\ntag = 736c7b56957db774c5ddf7c7a70ba8a8\n\n# tcId = 204\n# short message\nkey = e754076ceab3fdaf4f9bcab7d4f0df0cbbafbc87731b8f9b7cd2166472e8eebc\nmsg = 40\nresult = valid\ntag = 9d47482c2d9252bace43a75a8335b8b8\n\n# tcId = 205\n# short message\nkey = ea3b016bdd387dd64d837c71683808f335dbdc53598a4ea8c5f952473fafaf5f\nmsg = 6601\nresult = valid\ntag = c7c44e31c466334992d6f9de3c771634\n\n# tcId = 206\n# short message\nkey = 73d4709637857dafab6ad8b2b0a51b06524717fedf100296644f7cfdaae1805b\nmsg = f1d300\nresult = valid\ntag = b7086603a85e11fceb8cadea9bd30939\n\n# tcId = 207\n# short message\nkey = d5c81b399d4c0d1583a13da56de6d2dc45a66e7b47c24ab1192e246dc961dd77\nmsg = 2ae63cbf\nresult = valid\ntag = ba383a3a15c9df64bba50d611113a024\n\n# tcId = 208\n# short message\nkey = 2521203fa0dddf59d837b2830f87b1aa61f958155df3ca4d1df2457cb4284dc8\nmsg = af3a015ea1\nresult = valid\ntag = b457137c548908c629f714fe83b1ed90\n\n# tcId = 209\n# short message\nkey = 665a02bc265a66d01775091da56726b6668bfd903cb7af66fb1b78a8a062e43c\nmsg = 3f56935def3f\nresult = valid\ntag = b6d6fde93fc85de289b36b446d77b423\n\n# tcId = 210\n# short message\nkey = facd75b22221380047305bc981f570e2a1af38928ea7e2059e3af5fc6b82b493\nmsg = 57bb86beed156f\nresult = valid\ntag = 8b1ef72d0a612735b08efef981f213c2\n\n# tcId = 211\n# short message\nkey = 505aa98819809ef63b9a368a1e8bc2e922da45b03ce02d9a7966b15006dba2d5\nmsg = 2e4e7ef728fe11af\nresult = valid\ntag = f79606b83a7706a2a19e068bce818898\n\n# tcId = 212\n# short message\nkey = f942093842808ba47f64e427f7351dde6b9546e66de4e7d60aa6f328182712cf\nmsg = 852a21d92848e627c7\nresult = valid\ntag = a5a877f22ac743b7fb9e050d2e3ddb02\n\n# tcId = 213\n# short message\nkey = 64be162b39c6e5f1fed9c32d9f674d9a8cde6eaa2443214d86bd4a1fb53b81b4\nmsg = 195a3b292f93baff0a2c\nresult = valid\ntag = 6ea172e5c4d2fac075ca602de5757a62\n\n# tcId = 214\n# short message\nkey = b259a555d44b8a20c5489e2f38392ddaa6be9e35b9833b67e1b5fdf6cb3e4c6c\nmsg = afd73117330c6e8528a6e4\nresult = valid\ntag = 68020bfc9bd73fd80d3ce581ba3b1208\n\n# tcId = 215\n# short message\nkey = 2c6fc62daa77ba8c6881b3dd6989898fef646663cc7b0a3db8228a707b85f2dc\nmsg = 0ff54d6b6759120c2e8a51e3\nresult = valid\ntag = 110edd727a9bf7fa11a6358afe617d9d\n\n# tcId = 216\n# short message\nkey = abab815d51df29f740e4e2079fb798e0152836e6ab57d1536ae8929e52c06eb8\nmsg = f0058d412a104e53d820b95a7f\nresult = valid\ntag = 1fa24c6625a0f8e1fc37827ac84d3cc4\n\n# tcId = 217\n# short message\nkey = 3d5da1af83f7287458bff7a7651ea5d8db72259401333f6b82096996dd7eaf19\nmsg = aacc36972f183057919ff57b49e1\nresult = valid\ntag = 868765a8fa6aa898ddec0f4123e996be\n\n# tcId = 218\n# short message\nkey = c19bdf314c6cf64381425467f42aefa17c1cc9358be16ce31b1d214859ce86aa\nmsg = 5d066a92c300e9b6ddd63a7c13ae33\nresult = valid\ntag = b96818b7acaf879c7a7f8271375a6914\n\n# tcId = 219\nkey = 612e837843ceae7f61d49625faa7e7494f9253e20cb3adcea686512b043936cd\nmsg = cc37fae15f745a2f40e2c8b192f2b38d\nresult = valid\ntag = 4b88e193000c5a4b23e95c7f2b26530b\n\n# tcId = 220\nkey = 73216fafd0022d0d6ee27198b2272578fa8f04dd9f44467fbb6437aa45641bf7\nmsg = d5247b8f6c3edcbfb1d591d13ece23d2f5\nresult = valid\ntag = 86911c7da51dc0823d6e93d4290d1ad4\n\n# tcId = 221\nkey = 0427a70e257528f3ab70640bba1a5de12cf3885dd4c8e284fbbb55feb35294a5\nmsg = 13937f8544f44270d01175a011f7670e93fa6ba7ef02336e\nresult = valid\ntag = ccb2c51bfbe2598f9109fc70ed07f0eb\n\n# tcId = 222\nkey = 96e1e4896fb2cd05f133a6a100bc5609a7ac3ca6d81721e922dadd69ad07a892\nmsg = 91a17e4dfcc3166a1add26ff0e7c12056e8a654f28a6de24f4ba739ceb5b5b18\nresult = valid\ntag = 925f177d85ea297ef14b203fe409f9ab\n\n# tcId = 223\n# Flipped bit 0 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 6af0a293d8cba0101f0089727691b7fb\n\n# tcId = 224\n# Flipped bit 0 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = d709717c3a4ef8a2ea200b297d2accec\n\n# tcId = 225\n# Flipped bit 0 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 58ee3f3b5f83e290cae26dad29bba32d\n\n# tcId = 226\n# Flipped bit 1 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 69f0a293d8cba0101f0089727691b7fb\n\n# tcId = 227\n# Flipped bit 1 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = d409717c3a4ef8a2ea200b297d2accec\n\n# tcId = 228\n# Flipped bit 1 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 5bee3f3b5f83e290cae26dad29bba32d\n\n# tcId = 229\n# Flipped bit 7 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = ebf0a293d8cba0101f0089727691b7fb\n\n# tcId = 230\n# Flipped bit 7 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = 5609717c3a4ef8a2ea200b297d2accec\n\n# tcId = 231\n# Flipped bit 7 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d9ee3f3b5f83e290cae26dad29bba32d\n\n# tcId = 232\n# Flipped bit 8 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 6bf1a293d8cba0101f0089727691b7fb\n\n# tcId = 233\n# Flipped bit 8 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = d608717c3a4ef8a2ea200b297d2accec\n\n# tcId = 234\n# Flipped bit 8 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 59ef3f3b5f83e290cae26dad29bba32d\n\n# tcId = 235\n# Flipped bit 31 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 6bf0a213d8cba0101f0089727691b7fb\n\n# tcId = 236\n# Flipped bit 31 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = d60971fc3a4ef8a2ea200b297d2accec\n\n# tcId = 237\n# Flipped bit 31 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 59ee3fbb5f83e290cae26dad29bba32d\n\n# tcId = 238\n# Flipped bit 32 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 6bf0a293d9cba0101f0089727691b7fb\n\n# tcId = 239\n# Flipped bit 32 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = d609717c3b4ef8a2ea200b297d2accec\n\n# tcId = 240\n# Flipped bit 32 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 59ee3f3b5e83e290cae26dad29bba32d\n\n# tcId = 241\n# Flipped bit 33 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 6bf0a293dacba0101f0089727691b7fb\n\n# tcId = 242\n# Flipped bit 33 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = d609717c384ef8a2ea200b297d2accec\n\n# tcId = 243\n# Flipped bit 33 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 59ee3f3b5d83e290cae26dad29bba32d\n\n# tcId = 244\n# Flipped bit 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 6bf0a293d8cba0901f0089727691b7fb\n\n# tcId = 245\n# Flipped bit 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag =", + " d609717c3a4ef822ea200b297d2accec\n\n# tcId = 246\n# Flipped bit 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 59ee3f3b5f83e210cae26dad29bba32d\n\n# tcId = 247\n# Flipped bit 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 6bf0a293d8cba0101e0089727691b7fb\n\n# tcId = 248\n# Flipped bit 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = d609717c3a4ef8a2eb200b297d2accec\n\n# tcId = 249\n# Flipped bit 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 59ee3f3b5f83e290cbe26dad29bba32d\n\n# tcId = 250\n# Flipped bit 71 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 6bf0a293d8cba0109f0089727691b7fb\n\n# tcId = 251\n# Flipped bit 71 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = d609717c3a4ef8a26a200b297d2accec\n\n# tcId = 252\n# Flipped bit 71 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 59ee3f3b5f83e2904ae26dad29bba32d\n\n# tcId = 253\n# Flipped bit 77 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 6bf0a293d8cba0101f2089727691b7fb\n\n# tcId = 254\n# Flipped bit 77 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = d609717c3a4ef8a2ea000b297d2accec\n\n# tcId = 255\n# Flipped bit 77 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 59ee3f3b5f83e290cac26dad29bba32d\n\n# tcId = 256\n# Flipped bit 80 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 6bf0a293d8cba0101f0088727691b7fb\n\n# tcId = 257\n# Flipped bit 80 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = d609717c3a4ef8a2ea200a297d2accec\n\n# tcId = 258\n# Flipped bit 80 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 59ee3f3b5f83e290cae26cad29bba32d\n\n# tcId = 259\n# Flipped bit 96 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 6bf0a293d8cba0101f0089727791b7fb\n\n# tcId = 260\n# Flipped bit 96 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = d609717c3a4ef8a2ea200b297c2accec\n\n# tcId = 261\n# Flipped bit 96 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 59ee3f3b5f83e290cae26dad28bba32d\n\n# tcId = 262\n# Flipped bit 97 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 6bf0a293d8cba0101f0089727491b7fb\n\n# tcId = 263\n# Flipped bit 97 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = d609717c3a4ef8a2ea200b297f2accec\n\n# tcId = 264\n# Flipped bit 97 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 59ee3f3b5f83e290cae26dad2bbba32d\n\n# tcId = 265\n# Flipped bit 103 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 6bf0a293d8cba0101f008972f691b7fb\n\n# tcId = 266\n# Flipped bit 103 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = d609717c3a4ef8a2ea200b29fd2accec\n\n# tcId = 267\n# Flipped bit 103 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 59ee3f3b5f83e290cae26dada9bba32d\n\n# tcId = 268\n# Flipped bit 120 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 6bf0a293d8cba0101f0089727691b7fa\n\n# tcId = 269\n# Flipped bit 120 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = d609717c3a4ef8a2ea200b297d2acced\n\n# tcId = 270\n# Flipped bit 120 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 59ee3f3b5f83e290cae26dad29bba32c\n\n# tcId = 271\n# Flipped bit 121 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 6bf0a293d8cba0101f0089727691b7f9\n\n# tcId = 272\n# Flipped bit 121 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = d609717c3a4ef8a2ea200b297d2accee\n\n# tcId = 273\n# Flipped bit 121 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 59ee3f3b5f83e290cae26dad29bba32f\n\n# tcId = 274\n# Flipped bit 126 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 6bf0a293d8cba0101f0089727691b7bb\n\n# tcId = 275\n# Flipped bit 126 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = d609717c3a4ef8a2ea200b297d2accac\n\n# tcId = 276\n# Flipped bit 126 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 59ee3f3b5f83e290cae26dad29bba36d\n\n# tcId = 277\n# Flipped bit 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 6bf0a293d8cba0101f0089727691b77b\n\n# tcId = 278\n# Flipped bit 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = d609717c3a4ef8a2ea200b297d2acc6c\n\n# tcId = 279\n# Flipped bit 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 59ee3f3b5f83e290cae26dad29bba3ad\n\n# tcId = 280\n# Flipped bits 0 and 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 6af0a293d8cba0101e0089727691b7fb\n\n# tcId = 281\n# Flipped bits 0 and 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = d709717c3a4ef8a2eb200b297d2accec\n\n# tcId = 282\n# Flipped bits 0 and 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 58ee3f3b5f83e290cbe26dad29bba32d\n\n# tcId = 283\n# Flipped bits 31 and 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 6bf0a213d8cba0901f0089727691b7fb\n\n# tcId = 284\n# Flipped bits 31 and 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = d60971fc3a4ef822ea200b297d2accec\n\n# tcId = 285\n# Flipped bits 31 and 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 59ee3fbb5f83e210cae26dad29bba32d\n\n# tcId = 286\n# Flipped bits 63 and 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 6bf0a293d8cba0901f0089727691b77b\n\n# tcId = 287\n# Flipped bits 63 and 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = d609717c3a4ef822ea200b297d2acc6c\n\n# tcId = 288\n# Flipped bits 63 and 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 59ee", + "3f3b5f83e210cae26dad29bba3ad\n\n# tcId = 289\n# all bits of tag flipped\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 940f5d6c27345fefe0ff768d896e4804\n\n# tcId = 290\n# all bits of tag flipped\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = 29f68e83c5b1075d15dff4d682d53313\n\n# tcId = 291\n# all bits of tag flipped\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a611c0c4a07c1d6f351d9252d6445cd2\n\n# tcId = 292\n# Tag changed to all zero\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 293\n# Tag changed to all zero\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 294\n# Tag changed to all zero\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 295\n# tag changed to all 1\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 296\n# tag changed to all 1\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 297\n# tag changed to all 1\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 298\n# msbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = eb702213584b20909f8009f2f611377b\n\n# tcId = 299\n# msbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = 5689f1fcbace78226aa08ba9fdaa4c6c\n\n# tcId = 300\n# msbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d96ebfbbdf0362104a62ed2da93b23ad\n\n# tcId = 301\n# lsbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 6af1a392d9caa1111e0188737790b6fa\n\n# tcId = 302\n# lsbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0001020304050607\nresult = invalid\ntag = d708707d3b4ff9a3eb210a287c2bcded\n\n# tcId = 303\n# lsbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 58ef3e3a5e82e391cbe36cac28baa22c\n\n[keySize = 0]\n[tagSize = 128]\n\n# tcId = 304\n# invalid key size\nkey = \nmsg = 00b9449326d39416\nresult = invalid\ntag = \n\n[keySize = 8]\n[tagSize = 128]\n\n# tcId = 305\n# invalid key size\nkey = 0f\nmsg = 4538b79a1397e2aa\nresult = invalid\ntag = \n\n[keySize = 64]\n[tagSize = 128]\n\n# tcId = 306\n# invalid key size\nkey = a88e385af7185148\nmsg = dc63b7ef08096e4f\nresult = invalid\ntag = \n\n[keySize = 160]\n[tagSize = 128]\n\n# tcId = 307\n# invalid key size\nkey = 003a228008d390b645929df73a2b2bdd8298918d\nmsg = ad1d3c3122ab7ac6\nresult = invalid\ntag = \n\n[keySize = 320]\n[tagSize = 128]\n\n# tcId = 308\n# invalid key size\nkey = 94baaac150e2645ae1ec1939c7bcefb73f6edb146fae02289b6c6326ff39bc265d612bef2727fa72\nmsg = e3f75a886c4a5591\nresult = invalid\ntag = \n\n", }; -static const size_t kLen58 = 42168; +static const size_t kLen91 = 44166; -static const char *kData58[] = { - "# Imported from Wycheproof's aes_gcm_siv_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: AES-GCM\n# Generator version: 0.4.12\n\n[ivSize = 96]\n[keySize = 128]\n[tagSize = 128]\n\n# tcId = 1\n# draft-irtf-cfrg-gcmsiv-06\naad = \nct = \niv = 030000000000000000000000\nkey = 01000000000000000000000000000000\nmsg = \nresult = valid\ntag = dc20e2d83f25705bb49e439eca56de25\n\n# tcId = 2\n# draft-irtf-cfrg-gcmsiv-06\naad = \nct = b5d839330ac7b786\niv = 030000000000000000000000\nkey = 01000000000000000000000000000000\nmsg = 0100000000000000\nresult = valid\ntag = 578782fff6013b815b287c22493a364c\n\n# tcId = 3\n# draft-irtf-cfrg-gcmsiv-06\naad = \nct = 7323ea61d05932260047d942\niv = 030000000000000000000000\nkey = 01000000000000000000000000000000\nmsg = 010000000000000000000000\nresult = valid\ntag = a4978db357391a0bc4fdec8b0d106639\n\n# tcId = 4\n# draft-irtf-cfrg-gcmsiv-06\naad = \nct = 743f7c8077ab25f8624e2e948579cf77\niv = 030000000000000000000000\nkey = 01000000000000000000000000000000\nmsg = 01000000000000000000000000000000\nresult = valid\ntag = 303aaf90f6fe21199c6068577437a0c4\n\n# tcId = 5\n# draft-irtf-cfrg-gcmsiv-06\naad = \nct = 84e07e62ba83a6585417245d7ec413a9fe427d6315c09b57ce45f2e3936a9445\niv = 030000000000000000000000\nkey = 01000000000000000000000000000000\nmsg = 0100000000000000000000000000000002000000000000000000000000000000\nresult = valid\ntag = 1a8e45dcd4578c667cd86847bf6155ff\n\n# tcId = 6\n# draft-irtf-cfrg-gcmsiv-06\naad = \nct = 3fd24ce1f5a67b75bf2351f181a475c7b800a5b4d3dcf70106b1eea82fa1d64df42bf7226122fa92e17a40eeaac1201b\niv = 030000000000000000000000\nkey = 01000000000000000000000000000000\nmsg = 010000000000000000000000000000000200000000000000000000000000000003000000000000000000000000000000\nresult = valid\ntag = 5e6e311dbf395d35b0fe39c2714388f8\n\n# tcId = 7\n# draft-irtf-cfrg-gcmsiv-06\naad = \nct = 2433668f1058190f6d43e360f4f35cd8e475127cfca7028ea8ab5c20f7ab2af02516a2bdcbc08d521be37ff28c152bba36697f25b4cd169c6590d1dd39566d3f\niv = 030000000000000000000000\nkey = 01000000000000000000000000000000\nmsg = 01000000000000000000000000000000020000000000000000000000000000000300000000000000000000000000000004000000000000000000000000000000\nresult = valid\ntag = 8a263dd317aa88d56bdf3936dba75bb8\n\n# tcId = 8\n# draft-irtf-cfrg-gcmsiv-06\naad = 01\nct = 1e6daba35669f427\niv = 030000000000000000000000\nkey = 01000000000000000000000000000000\nmsg = 0200000000000000\nresult = valid\ntag = 3b0a1a2560969cdf790d99759abd1508\n\n# tcId = 9\n# draft-irtf-cfrg-gcmsiv-06\naad = 01\nct = 296c7889fd99f41917f44620\niv = 030000000000000000000000\nkey = 01000000000000000000000000000000\nmsg = 020000000000000000000000\nresult = valid\ntag = 08299c5102745aaa3a0c469fad9e075a\n\n# tcId = 10\n# draft-irtf-cfrg-gcmsiv-06\naad = 01\nct = e2b0c5da79a901c1745f700525cb335b\niv = 030000000000000000000000\nkey = 01000000000000000000000000000000\nmsg = 02000000000000000000000000000000\nresult = valid\ntag = 8f8936ec039e4e4bb97ebd8c4457441f\n\n# tcId = 11\n# draft-irtf-cfrg-gcmsiv-06\naad = 01\nct = 620048ef3c1e73e57e02bb8562c416a319e73e4caac8e96a1ecb2933145a1d71\niv = 030000000000000000000000\nkey = 01000000000000000000000000000000\nmsg = 0200000000000000000000000000000003000000000000000000000000000000\nresult = valid\ntag = e6af6a7f87287da059a71684ed3498e1\n\n# tcId = 12\n# draft-irtf-cfrg-gcmsiv-06\naad = 01\nct = 50c8303ea93925d64090d07bd109dfd9515a5a33431019c17d93465999a8b0053201d723120a8562b838cdff25bf9d1e\niv = 030000000000000000000000\nkey = 01000000000000000000000000000000\nmsg = 020000000000000000000000000000000300000000000000000000000000000004000000000000000000000000000000\nresult = valid\ntag = 6a8cc3865f76897c2e4b245cf31c51f2\n\n# tcId = 13\n# draft-irtf-cfrg-gcmsiv-06\naad = 01\nct = 2f5c64059db55ee0fb847ed513003746aca4e61c711b5de2e7a77ffd02da42feec601910d3467bb8b36ebbaebce5fba30d36c95f48a3e7980f0e7ac299332a80\niv = 030000000000000000000000\nkey = 01000000000000000000000000000000\nmsg = 02000000000000000000000000000000030000000000000000000000000000000400000000000000000000000000000005000000000000000000000000000000\nresult = valid\ntag = cdc46ae475563de037001ef84ae21744\n\n# tcId = 14\n# draft-irtf-cfrg-gcmsiv-06\naad = 010000000000000000000000\nct = a8fe3e87\niv = 030000000000000000000000\nkey = 01000000000000000000000000000000\nmsg = 02000000\nresult = valid\ntag = 07eb1f84fb28f8cb73de8e99e2f48a14\n\n# tcId = 15\n# draft-irtf-cfrg-gcmsiv-06\naad = 010000000000000000000000000000000200\nct = 6bb0fecf5ded9b77f902c7d5da236a4391dd0297\niv = 030000000000000000000000\nkey = 01000000000000000000000000000000\nmsg = 0300000000000000000000000000000004000000\nresult = valid\ntag = 24afc9805e976f451e6d87f6fe106514\n\n# tcId = 16\n# draft-irtf-cfrg-gcmsiv-06\naad = 0100000000000000000000000000000002000000\nct = 44d0aaf6fb2f1f34add5e8064e83e12a2ada\niv = 030000000000000000000000\nkey = 01000000000000000000000000000000\nmsg = 030000000000000000000000000000000400\nresult = valid\ntag = bff9b2ef00fb47920cc72a0c0f13b9fd\n\n# tcId = 17\n# draft-irtf-cfrg-gcmsiv-06\naad = \nct = \niv = f46e44bb3da0015c94f70887\nkey = e66021d5eb8e4f4066d4adb9c33560e4\nmsg = \nresult = valid\ntag = a4194b79071b01a87d65f706e3949578\n\n# tcId = 18\n# draft-irtf-cfrg-gcmsiv-06\naad = 46bb91c3c5\nct = af60eb\niv = bae8e37fc83441b16034566b\nkey = 36864200e0eaf5284d884a0e77d31646\nmsg = 7a806c\nresult = valid\ntag = 711bd85bc1e4d3e0a462e074eea428a8\n\n# tcId = 19\n# draft-irtf-cfrg-gcmsiv-06\naad = fc880c94a95198874296\nct = bb93a3e34d3c\niv = afc0577e34699b9e671fdd4f\nkey = aedb64a6c590bc84d1a5e269e4b47801\nmsg = bdc66f146545\nresult = valid\ntag = d6a9c45545cfc11f03ad743dba20f966\n\n# tcId = 20\n# draft-irtf-cfrg-gcmsiv-06\naad = 046787f3ea22c127aaf195d1894728\nct = 4f37281f7ad12949d0\niv = 275d1ab32f6d1f0434d8848c\nkey = d5cc1fd161320b6920ce07787f86743b\nmsg = 1177441f195495860f\nresult = valid\ntag = 1d02fd0cd174c84fc5dae2f60f52fd2b\n\n# tcId = 21\n# draft-irtf-cfrg-gcmsiv-06\naad = c9882e5386fd9f92ec489c8fde2be2cf97e74e93\nct = f54673c5ddf710c745641c8b\niv = 9e9ad8780c8d63d0ab4149c0\nkey = b3fed1473c528b8426a582995929a149\nmsg = 9f572c614b4745914474e7c7\nresult = valid\ntag = c1dc2f871fb7561da1286e655e24b7b0\n\n# tcId = 22\n# draft-irtf-cfrg-gcmsiv-06\naad = 2950a70d5a1db2316fd568378da107b52b0da55210cc1c1b0a\nct = c9ff545e07b88a015f05b274540aa1\niv = ac80e6f61455bfac8308a2d4\nkey = 2d4ed87da44102952ef94b02b805249b\nmsg = 0d8c8451178082355c9e940fea2f58\nresult = valid\ntag = 83b3449b9f39552de99dc214a1190b0b\n\n# tcId = 23\n# draft-irtf-cfrg-gcmsiv-06\naad = 1860f762ebfbd08284e421702de0de18baa9c9596291b08466f37de21c7f\nct = 6298b296e24e8cc35dce0bed484b7f30d580\niv = ae06556fb6aa7890bebc18fe\nkey = bde3b2f204d1e9f8b06bc47f9745b3d1\nmsg = 6b3db4da3d57aa94842b9803a96e07fb6de7\nresult = valid\ntag = 3e377094f04709f64d7b985310a4db84\n\n# tcId = 24\n# draft-irtf-cfrg-gcmsiv-06\naad = 7576f7028ec6eb5ea7e298342a94d4b202b370ef9768ec6561c4fe6b7e7296fa859c21\nct = 391cc328d484a4f46406181bcd62efd9b3ee197d05\niv = 6245709fb18853f68d833640\nkey = f901cfe8a69615a93fdf7a98cad48179\nmsg = e42a3c02c25b64869e146d7b233987bddfc240871d\nresult = valid\ntag = 2d15506c84a9edd65e13e9d24a2a6e70\n\n# tcId = 25\naad = \nct = \niv = 438a547a94ea88dce46c6c85\nkey = bedcfb5a011ebc84600fcb296c15af0d\nmsg = \nresult = valid\ntag = 596d0538e48526be1c991e40cc031073\n\n# tcId = 26\naad = \nct = 4f\niv = b30c084727ad1c592ac21d12\nkey = 384ea416ac3c2f51a76e7d8226346d4e\nmsg = 35\nresult = valid\ntag = 8b2b805fc0885e2b470d9dbe6cb15ed3\n\n# tcId = 27\naad = \nct = 04c7a55f97846e54\niv = b5e006ded553110e6dc56529\nkey = cae31cd9f55526eb038241fc44cac1e5\nmsg = d10989f2c52e94ad\nresult = valid\ntag = 48168ff846356c33032c719b518f18a8\n\n# tcId = 28\naad = \nct = fd9521041b0397a15b0070b93f48a9\niv = ecb0c42f7000ef0e6f95f24d\nkey = dd6197cd63c963919cf0c273ef6b28bf\nmsg = 4dcc1485365866e25ac3f2ca6aba97\nresult = valid\ntag = 09df91414578f7faf757d04ee26ab901\n\n# tcId = 29\naad = \nct = 6eb905287ddfafc32f6b1c10046c089f\niv = 0e1666f2dc652f7708fb8f0d\nkey = ffdf4228361ea1f8165852136b3480f7\nmsg = 25b12e28ac0ef6ead0226a3b2288c800\nresult = valid\ntag = 4ff9f939a77c34b0cb1ee75fcb0dd29a\n\n# tcId = 30\naad = \nct = 6f62bd09d4f36f73e289ab6dd114727fe3\niv = 965ff6643116ac1443a2dec7\nkey = c15ed227dd2e237ecd087eaaaad19ea4\nmsg = fee62fde973fe025ad6b322dcdf3c63fc7\nresult = valid\ntag = ea727c084db2bc948de0928edddd7fcf\n\n# tcId = 31\naad = \nct = 80133a4bea7311f0d3c9835144c37c4ef0ef20", - "c8f2e36be1\niv = fbbc04fd6e025b7193eb57f6\nkey = a8ee11b26d7ceb7f17eaa1e4b83a2cf6\nmsg = c08f085e6a9e0ef3636280c11ecfadf0c1e72919ffc17eaf\nresult = valid\ntag = b92f47c1af6713e14fbdf60efebb50c6\n\n# tcId = 32\naad = \nct = 778b308e4ca17607df36c0b94695bc64603173b814701a9f69147b42478a0b1f\niv = a2dbe708db51c68ef02994a6\nkey = 7519588f30f7f08ff98e1beee6a2a783\nmsg = 1851956319256ebb0f9ccaf325a24abfc5c3e90b055e57cdc0c7ab2165ae03b1\nresult = valid\ntag = b75c98952c0aa11958a55c9c2ecf33f5\n\n# tcId = 33\naad = 30\nct = 173ba6370171be47dbb6163a63a3b725\niv = 4bad10c6d84fd43fd13ad36f\nkey = a5b5b6bae45b741fe4663890098f326a\nmsg = 127b150080ec0bc7704e26f4ab11abb6\nresult = valid\ntag = 53aefed6e971d5a1f435f0730a6dd0fd\n\n# tcId = 34\naad = 743e\nct = 959f0ff12481dedc4302ad7a904f9486\niv = 2186a3091237adae83540e24\nkey = 0cecb9f512932d68e2c7c0bc4bd621c8\nmsg = 437aeb94d842283ba57bb758e3d229f0\nresult = valid\ntag = 0215be2ab9b0672a7b82893891057c9c\n\n# tcId = 35\naad = 25591707c004f506f4b51e85e29f6a\nct = 8ae3a16a237f1358ac8cfeb5f4cc2818\niv = 0c908e58cddad69dea1a32c3\nkey = 55e04c122780be52ed9328928039008c\nmsg = 26eb70672eef03667b34cc7d0df05872\nresult = valid\ntag = 28f5aa8a34a9f7c01c17759d142b1bae\n\n# tcId = 36\naad = c07092d799dac2b4c05fbddd04743c34\nct = d5220f6a49d1e4c10d38c77c8156ebd0\niv = c30968c967e53505621628db\nkey = 5f0a1b5f8f8673d566ec7f54e7dca4f2\nmsg = f6538476daf04524cf134309dd84e187\nresult = valid\ntag = 80b50f526286dad22d40984636f0e9ce\n\n# tcId = 37\naad = 3ea12d80f40f34f812479d2ecc13d2d6df\nct = 3e771b9376e1d1cde3d9b73349c958bc\niv = a51c37f467893c1608e56274\nkey = 671a70e883fb0611dffd0b1dd9b8cca2\nmsg = 3baf3edf04dc0c97aae081cdeb08021d\nresult = valid\ntag = ebd3ea678a1e87839a4356584ea89bac\n\n# tcId = 38\naad = 5189ea6f39b2a78c0202fdff146c5cc6bdc7491d4786f80c6c6aef65634c05da\nct = 05b568a589d0a77a8ee9c6f06415c6b6\niv = 52c20979cdaaade573dba650\nkey = 63f03172505d90e94900125cb8a4b0dd\nmsg = 602c98997ee03fd11ce00e92de193977\nresult = valid\ntag = 91ba5089dffb7538199c441728d5f84a\n\n# tcId = 39\n# Testing for ctr overflow\naad = 395f4091b410c373073bcdc79e02d3af\nct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\niv = 010101010101010101010101\nkey = 00112233445566778899aabbccddeeff\nmsg = 43488548d88e6f774bcd2d52c18fbcc933a4e9a9613ff3edbe959ec59522adc098b3133b8d17b9e9dad631ad33752c95\nresult = valid\ntag = 00000000000000000000000000000000\n# The counter for AES-GCM-SIV is reduced modulo 2**32. This test vector was\n# constructed to test for correct wrapping of the counter.\n\n# tcId = 40\n# Testing for ctr overflow\naad = 616b2dff4d665e5f7ab890723dd981b1\nct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = f012c6a7eb0e8af5bc45e015e7680a693dc709b95383f6a94babec1bc36e4be3cf4f55a31a94f11c6c3f90eed99682bc\nresult = valid\ntag = ffffffffffffffffffffffffffffffff\n# The counter for AES-GCM-SIV is reduced modulo 2**32. This test vector was\n# constructed to test for correct wrapping of the counter.\n\n# tcId = 41\n# Testing for ctr overflow\naad = 387a8997605fd04ae8951c4759087864\nct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\niv = 030303030303030303030303\nkey = 00112233445566778899aabbccddeeff\nmsg = 71ceee58179d6fb968521e9594dbf98cc0040f6aa38fe873c32a9b122d6cbfd51aa4778b3f4f37be7348690d97e2468b\nresult = valid\ntag = fefffffffefffffffefffffffeffffff\n# The counter for AES-GCM-SIV is reduced modulo 2**32. This test vector was\n# constructed to test for correct wrapping of the counter.\n\n# tcId = 42\n# Testing for ctr overflow\naad = 6783b0d5e9d8a2a7274065797097d1ae\nct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\niv = 060606060606060606060606\nkey = 00112233445566778899aabbccddeeff\nmsg = 2e14f9e9a09ea204557367898a80dcad117af3666bea25762b70633a9f3614fbe631ba617c371fd5566d5e613496e69f\nresult = valid\ntag = ffffff7f00112233445566778899aabb\n# The counter for AES-GCM-SIV is reduced modulo 2**32. This test vector was\n# constructed to test for correct wrapping of the counter.\n\n# tcId = 43\n# Testing for ctr overflow\naad = 2933810c146f4f7dd146dd43f35199c6\nct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\niv = 010101010101010101010101\nkey = 00112233445566778899aabbccddeeff\nmsg = 27fac75879c9d87cd52a0793137ba792f6f145148158eb538f2081e09cd0315986a7025045ecbb2ca1bb18a17bfcd567\nresult = valid\ntag = ffffffffffffff7f0011223344556677\n# The counter for AES-GCM-SIV is reduced modulo 2**32. This test vector was\n# constructed to test for correct wrapping of the counter.\n\n# tcId = 44\n# Flipped bit 0 in tag\naad = 27dd62060507dae87c4f93f391ba15f9\nct = \niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = \nresult = invalid\ntag = 0987e35e40981a2730c1740c7201731f\n\n# tcId = 45\n# Flipped bit 0 in tag\naad = 9ea3371e258288d5a01b15384e2c99ee\nct = 00000000000000000000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 03c0e39b77bd62d32568f4c86c90bfdb\nresult = invalid\ntag = 13a1883272188b4c8d2727178198fe95\n\n# tcId = 46\n# Flipped bit 0 in tag\naad = ce24e3ec0fe7b8550d621b71fdb5d0eb\nct = 0000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 63995888995b338c\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 47\n# Flipped bit 7 in tag\naad = 1471f354b359c235117febba854a823b\nct = 00000000000000000000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 03c0e39b77bd62d32568f4c86c90bfdb\nresult = invalid\ntag = 13a1883272188b4c8d2727178198fe95\n\n# tcId = 48\n# Flipped bit 7 in tag\naad = 11f820294fc9d13f1895d2fb5509913b\nct = 0000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 63995888995b338c\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 49\n# Flipped bit 8 in tag\naad = 45e7257b814f09de44177b27b914822f\nct = 00000000000000000000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 03c0e39b77bd62d32568f4c86c90bfdb\nresult = invalid\ntag = 13a1883272188b4c8d2727178198fe95\n\n# tcId = 50\n# Flipped bit 8 in tag\naad = 4c49780b5438c4a7ea9795b9856fdae1\nct = 0000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 63995888995b338c\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 51\n# Flipped bit 8 in tag\naad = ecc2f2f4142837a34f9cd1fa030a5d7f\nct = ffffffffffffffff\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 0fed395814f1750a\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 52\n# Flipped bit 31 in tag\naad = 69c7f5605da8e0684990b087411f8cf5\nct = 0000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 63995888995b338c\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 53\n# Flipped bit 31 in tag\naad = 20b346be60e7e97588bf504ce707ce0b\nct = ffffffffffffffff\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 0fed395814f1750a\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 54\n# Flipped bit 63 in tag\naad = 19b298f3a061a73cb774da927ce11ca2\nct = 0000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 63995888995b338c\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 55\n# Flipped bit 63 in tag\naad = bff8c631e61c18a050a523ad4a750a20\nct = ffffffffffffffff\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 0fed395814f1750a\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 56\n# Flipped bit 64 in tag\naad = 7b6171302b689c926852163e310f08d4\nct = 00000000000000000000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 03c0e39b77bd62d32568f4c86c90bfdb\nresult = invalid\ntag = 13a1883272188b4c8d2727178198fe95\n\n# tcId = 57\n# Flipped bit 97 in tag\naad = 555036128fa18ecadd090cb772ac0bf3\nct = \niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = \nresult = invalid\ntag = 0987e35e40981a2730c1740c7201731f\n\n# tcId = 58\n# Flipped ", - "bit 97 in tag\naad = a5b43b8e1dbb2bfbda1b625fee4064a7\nct = 0000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 63995888995b338c\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 59\n# Flipped bit 120 in tag\naad = ae47cc5d7681dd480c23469c5519b647\nct = \niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = \nresult = invalid\ntag = 0987e35e40981a2730c1740c7201731f\n\n# tcId = 60\n# Flipped bit 120 in tag\naad = d53dd677184702eaa660f1349195fc04\nct = 00000000000000000000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 03c0e39b77bd62d32568f4c86c90bfdb\nresult = invalid\ntag = 13a1883272188b4c8d2727178198fe95\n\n# tcId = 61\n# Flipped bit 120 in tag\naad = dc78584e4599dd4b2fb333db2f9ccb95\nct = ffffffffffffffff\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 0fed395814f1750a\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 62\n# Flipped bit 121 in tag\naad = 0bfd9271e79153a8afdb7f3d96fe446f\nct = \niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = \nresult = invalid\ntag = 0987e35e40981a2730c1740c7201731f\n\n# tcId = 63\n# Flipped bit 121 in tag\naad = 1e0537a95b7200134d0b440657d50fd1\nct = 0000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 63995888995b338c\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 64\n# Flipped bit 121 in tag\naad = 7633155df35857258d23b0651d60847c\nct = ffffffffffffffff\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 0fed395814f1750a\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 65\n# Flipped bit 126 in tag\naad = ab0a064b473de43598adf81ee297d856\nct = ffffffffffffffff\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 0fed395814f1750a\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 66\n# Flipped bit 127 in tag\naad = f62bdc3f4fcb699ee12f6e87dcc704cb\nct = \niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = \nresult = invalid\ntag = 0987e35e40981a2730c1740c7201731f\n\n# tcId = 67\n# Flipped bit 127 in tag\naad = 1320051031807b8f44e9d2cb1ec6aa92\nct = 00000000000000000000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 03c0e39b77bd62d32568f4c86c90bfdb\nresult = invalid\ntag = 13a1883272188b4c8d2727178198fe95\n\n# tcId = 68\n# Flipped bit 127 in tag\naad = 329b813d3ae2225d3e15f97a28037bcc\nct = 0000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 63995888995b338c\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 69\n# Flipped bit 0..127 in tag\naad = edc723bedd0078696acdea005c74b841\nct = 0000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 63995888995b338c\nresult = invalid\ntag = 00000000000000000000000000000000\n\n[ivSize = 96]\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 70\n# draft-irtf-cfrg-gcmsiv-06\naad = \nct = \niv = 030000000000000000000000\nkey = 0100000000000000000000000000000000000000000000000000000000000000\nmsg = \nresult = valid\ntag = 07f5f4169bbf55a8400cd47ea6fd400f\n\n# tcId = 71\n# draft-irtf-cfrg-gcmsiv-06\naad = \nct = c2ef328e5c71c83b\niv = 030000000000000000000000\nkey = 0100000000000000000000000000000000000000000000000000000000000000\nmsg = 0100000000000000\nresult = valid\ntag = 843122130f7364b761e0b97427e3df28\n\n# tcId = 72\n# draft-irtf-cfrg-gcmsiv-06\naad = \nct = 9aab2aeb3faa0a34aea8e2b1\niv = 030000000000000000000000\nkey = 0100000000000000000000000000000000000000000000000000000000000000\nmsg = 010000000000000000000000\nresult = valid\ntag = 8ca50da9ae6559e48fd10f6e5c9ca17e\n\n# tcId = 73\n# draft-irtf-cfrg-gcmsiv-06\naad = \nct = 85a01b63025ba19b7fd3ddfc033b3e76\niv = 030000000000000000000000\nkey = 0100000000000000000000000000000000000000000000000000000000000000\nmsg = 01000000000000000000000000000000\nresult = valid\ntag = c9eac6fa700942702e90862383c6c366\n\n# tcId = 74\n# draft-irtf-cfrg-gcmsiv-06\naad = \nct = 4a6a9db4c8c6549201b9edb53006cba821ec9cf850948a7c86c68ac7539d027f\niv = 030000000000000000000000\nkey = 0100000000000000000000000000000000000000000000000000000000000000\nmsg = 0100000000000000000000000000000002000000000000000000000000000000\nresult = valid\ntag = e819e63abcd020b006a976397632eb5d\n\n# tcId = 75\n# draft-irtf-cfrg-gcmsiv-06\naad = \nct = c00d121893a9fa603f48ccc1ca3c57ce7499245ea0046db16c53c7c66fe717e39cf6c748837b61f6ee3adcee17534ed5\niv = 030000000000000000000000\nkey = 0100000000000000000000000000000000000000000000000000000000000000\nmsg = 010000000000000000000000000000000200000000000000000000000000000003000000000000000000000000000000\nresult = valid\ntag = 790bc96880a99ba804bd12c0e6a22cc4\n\n# tcId = 76\n# draft-irtf-cfrg-gcmsiv-06\naad = \nct = c2d5160a1f8683834910acdafc41fbb1632d4a353e8b905ec9a5499ac34f96c7e1049eb080883891a4db8caaa1f99dd004d80487540735234e3744512c6f90ce\niv = 030000000000000000000000\nkey = 0100000000000000000000000000000000000000000000000000000000000000\nmsg = 01000000000000000000000000000000020000000000000000000000000000000300000000000000000000000000000004000000000000000000000000000000\nresult = valid\ntag = 112864c269fc0d9d88c61fa47e39aa08\n\n# tcId = 77\n# draft-irtf-cfrg-gcmsiv-06\naad = 01\nct = 1de22967237a8132\niv = 030000000000000000000000\nkey = 0100000000000000000000000000000000000000000000000000000000000000\nmsg = 0200000000000000\nresult = valid\ntag = 91213f267e3b452f02d01ae33e4ec854\n\n# tcId = 78\n# draft-irtf-cfrg-gcmsiv-06\naad = 01\nct = 163d6f9cc1b346cd453a2e4c\niv = 030000000000000000000000\nkey = 0100000000000000000000000000000000000000000000000000000000000000\nmsg = 020000000000000000000000\nresult = valid\ntag = c1a4a19ae800941ccdc57cc8413c277f\n\n# tcId = 79\n# draft-irtf-cfrg-gcmsiv-06\naad = 01\nct = c91545823cc24f17dbb0e9e807d5ec17\niv = 030000000000000000000000\nkey = 0100000000000000000000000000000000000000000000000000000000000000\nmsg = 02000000000000000000000000000000\nresult = valid\ntag = b292d28ff61189e8e49f3875ef91aff7\n\n# tcId = 80\n# draft-irtf-cfrg-gcmsiv-06\naad = 01\nct = 07dad364bfc2b9da89116d7bef6daaaf6f255510aa654f920ac81b94e8bad365\niv = 030000000000000000000000\nkey = 0100000000000000000000000000000000000000000000000000000000000000\nmsg = 0200000000000000000000000000000003000000000000000000000000000000\nresult = valid\ntag = aea1bad12702e1965604374aab96dbbc\n\n# tcId = 81\n# draft-irtf-cfrg-gcmsiv-06\naad = 01\nct = c67a1f0f567a5198aa1fcc8e3f21314336f7f51ca8b1af61feac35a86416fa47fbca3b5f749cdf564527f2314f42fe25\niv = 030000000000000000000000\nkey = 0100000000000000000000000000000000000000000000000000000000000000\nmsg = 020000000000000000000000000000000300000000000000000000000000000004000000000000000000000000000000\nresult = valid\ntag = 03332742b228c647173616cfd44c54eb\n\n# tcId = 82\n# draft-irtf-cfrg-gcmsiv-06\naad = 01\nct = 67fd45e126bfb9a79930c43aad2d36967d3f0e4d217c1e551f59727870beefc98cb933a8fce9de887b1e40799988db1fc3f91880ed405b2dd298318858467c89\niv = 030000000000000000000000\nkey = 0100000000000000000000000000000000000000000000000000000000000000\nmsg = 02000000000000000000000000000000030000000000000000000000000000000400000000000000000000000000000005000000000000000000000000000000\nresult = valid\ntag = 5bde0285037c5de81e5b570a049b62a0\n\n# tcId = 83\n# draft-irtf-cfrg-gcmsiv-06\naad = 010000000000000000000000\nct = 22b3f4cd\niv = 030000000000000000000000\nkey = 0100000000000000000000000000000000000000000000000000000000000000\nmsg = 02000000\nresult = valid\ntag = 1835e517741dfddccfa07fa4661b74cf\n\n# tcId = 84\n# draft-irtf-cfrg-gcmsiv-06\naad = 010000000000000000000000000000000200\nct = 43dd0163cdb48f9fe3212bf61b201976067f342b\niv = 030000000000000000000000\nkey = 0100000000000000000000000000000000000000000000000000000000000000\nmsg = 0300000000000000000000000000000004000000\nresult = valid\ntag = b879ad976d8242acc188ab59cabfe307\n\n# tcId = 85\n# draft-irtf-cfrg-gcmsiv-06\naad = 0100000000000000000000000000000002000000\nct = 462401724b5ce6588d5a54aae5375513a075\niv = 030000000000000000000000\nkey = 0100000000000000000000000000000000000000000000000000000000000000\nmsg = 030000000000000000000000000000000400\nresult = valid\ntag = cfcdf5042112aa29685c912fc2056543\n\n# tcId = 86\n# draft-irtf-cfrg-gcmsiv-06\naad = \nct = \niv =", - " e0eaf5284d884a0e77d31646\nkey = e66021d5eb8e4f4066d4adb9c33560e4f46e44bb3da0015c94f7088736864200\nmsg = \nresult = valid\ntag = 169fbb2fbf389a995f6390af22228a62\n\n# tcId = 87\n# draft-irtf-cfrg-gcmsiv-06\naad = 4fbdc66f14\nct = 0eaccb\niv = e4b47801afc0577e34699b9e\nkey = bae8e37fc83441b16034566b7a806c46bb91c3c5aedb64a6c590bc84d1a5e269\nmsg = 671fdd\nresult = valid\ntag = 93da9bb81333aee0c785b240d319719d\n\n# tcId = 88\n# draft-irtf-cfrg-gcmsiv-06\naad = 6787f3ea22c127aaf195\nct = a254dad4f3f9\niv = 2f6d1f0434d8848c1177441f\nkey = 6545fc880c94a95198874296d5cc1fd161320b6920ce07787f86743b275d1ab3\nmsg = 195495860f04\nresult = valid\ntag = 6b62b84dc40c84636a5ec12020ec8c2c\n\n# tcId = 89\n# draft-irtf-cfrg-gcmsiv-06\naad = 489c8fde2be2cf97e74e932d4ed87d\nct = 0df9e308678244c44b\niv = 9f572c614b4745914474e7c7\nkey = d1894728b3fed1473c528b8426a582995929a1499e9ad8780c8d63d0ab4149c0\nmsg = c9882e5386fd9f92ec\nresult = valid\ntag = c0fd3dc6628dfe55ebb0b9fb2295c8c2\n\n# tcId = 90\n# draft-irtf-cfrg-gcmsiv-06\naad = 0da55210cc1c1b0abde3b2f204d1e9f8b06bc47f\nct = 8dbeb9f7255bf5769dd56692\niv = 5c9e940fea2f582950a70d5a\nkey = a44102952ef94b02b805249bac80e6f61455bfac8308a2d40d8c845117808235\nmsg = 1db2316fd568378da107b52b\nresult = valid\ntag = 404099c2587f64979f21826706d497d5\n\n# tcId = 91\n# draft-irtf-cfrg-gcmsiv-06\naad = f37de21c7ff901cfe8a69615a93fdf7a98cad481796245709f\nct = 793576dfa5c0f88729a7ed3c2f1bff\niv = 6de71860f762ebfbd08284e4\nkey = 9745b3d1ae06556fb6aa7890bebc18fe6b3db4da3d57aa94842b9803a96e07fb\nmsg = 21702de0de18baa9c9596291b08466\nresult = valid\ntag = b3080d28f6ebb5d3648ce97bd5ba67fd\n\n# tcId = 92\n# draft-irtf-cfrg-gcmsiv-06\naad = 9c2159058b1f0fe91433a5bdc20e214eab7fecef4454a10ef0657df21ac7\nct = 857e16a64915a787637687db4a9519635cdd\niv = 028ec6eb5ea7e298342a94d4\nkey = b18853f68d833640e42a3c02c25b64869e146d7b233987bddfc240871d7576f7\nmsg = b202b370ef9768ec6561c4fe6b7e7296fa85\nresult = valid\ntag = 454fc2a154fea91f8363a39fec7d0a49\n\n# tcId = 93\n# draft-irtf-cfrg-gcmsiv-06\naad = 734320ccc9d9bbbb19cb81b2af4ecbc3e72834321f7aa0f70b7282b4f33df23f167541\nct = 626660c26ea6612fb17ad91e8e767639edd6c9faee\niv = 688089e55540db1872504e1c\nkey = 3c535de192eaed3822a2fbbe2ca9dfc88255e14a661b8aa82cc54236093bbc23\nmsg = ced532ce4159b035277d4dfbb7db62968b13cd4eec\nresult = valid\ntag = 9d6c7029675b89eaf4ba1ded1a286594\n\n# tcId = 94\n# draft-irtf-cfrg-gcmsiv-06\naad = \nct = f3f80f2cf0cb2dd9c5984fcda908456cc537703b5ba70324a6793a7bf218d3ea\niv = 000000000000000000000000\nkey = 0000000000000000000000000000000000000000000000000000000000000000\nmsg = 000000000000000000000000000000004db923dc793ee6497c76dcc03a98e108\nresult = valid\ntag = ffffffff000000000000000000000000\n\n# tcId = 95\n# draft-irtf-cfrg-gcmsiv-06\naad = \nct = 18ce4f0b8cb4d0cac65fea8f79257b20888e53e72299e56d\niv = 000000000000000000000000\nkey = 0000000000000000000000000000000000000000000000000000000000000000\nmsg = eb3640277c7ffd1303c7a542d02d3e4c0000000000000000\nresult = valid\ntag = ffffffff000000000000000000000000\n\n# tcId = 96\naad = \nct = \niv = 4da5bf8dfd5852c1ea12379d\nkey = 80ba3192c803ce965ea371d5ff073cf0f43b6a2ab576b208426e11409c09b9b0\nmsg = \nresult = valid\ntag = 181720f6ecdcdd332c89d20e09f11b0f\n\n# tcId = 97\naad = \nct = fa\niv = 99e23ec48985bccdeeab60f1\nkey = cc56b680552eb75008f5484b4cb803fa5063ebd6eab91f6ab6aef4916a766273\nmsg = 2a\nresult = valid\ntag = 868ee11a7fe13996ac26962a7e861962\n\n# tcId = 98\naad = \nct = c32210c306fac7dc\niv = 4f07afedfdc3b6c2361823d3\nkey = 51e4bf2bad92b7aff1a4bc05550ba81df4b96fabf41c12c7b00e60e48db7e152\nmsg = be3308f72a2c6aed\nresult = valid\ntag = da60d8ff4d550e6801b0ce488ed1b6fe\n\n# tcId = 99\naad = \nct = 0180029193bbb29e326b5817e8ea01\niv = 68ab7fdbf61901dad461d23c\nkey = 67119627bd988eda906219e08c0d0d779a07d208ce8a4fe0709af755eeec6dcb\nmsg = 51f8c1f731ea14acdb210a6d973e07\nresult = valid\ntag = 4dd43e861c5f141a693ebc056ed0f0f9\n\n# tcId = 100\naad = \nct = 31cb136074adcd00cf75e9587d7e8424\niv = 2fcb1b38a99e71b84740ad9b\nkey = 59d4eafb4de0cfc7d3db99a8f54b15d7b39f0acc8da69763b019c1699f87674a\nmsg = 549b365af913f3b081131ccb6b825588\nresult = valid\ntag = 567871b7aaaf3c00f42fd9d5962df514\n\n# tcId = 101\naad = \nct = c97e58e8730a567e8bdf5eb981cdd5f323\niv = 45aaa3e5d16d2d42dc03445d\nkey = 3b2458d8176e1621c0cc24c0c0e24c1e80d72f7ee9149a4b166176629616d011\nmsg = 3ff1514b1c503915918f0c0c31094a6e1f\nresult = valid\ntag = 4b2dc825fef9dc6bf234f2b8ff798f9e\n\n# tcId = 102\naad = \nct = c2669f9fc8fe6013c4dd22468d43c2af73647b7018531d29\niv = e6b1adf2fd58a8762c65f31b\nkey = 0212a8de5007ed87b33f1a7090b6114f9e08cefd9607f2c276bdcfdbc5ce9cd7\nmsg = 10f1ecf9c60584665d9ae5efe279e7f7377eea6916d2b111\nresult = valid\ntag = 06a58c8d44e99b3262cad0e920df1f85\n\n# tcId = 103\naad = \nct = faaef557c31a231115f393c4b3c1a1413fb40b4204458d5f9ef8a9f2f12486ae\niv = 72cfd90ef3026ca22b7e6e6a\nkey = e1731d5854e1b70cb3ffe8b786a2b3ebf0994370954757b9dc8c7bc5354634a3\nmsg = b9c554cbc36ac18ae897df7beecac1dbeb4eafa156bb60ce2e5d48f05715e678\nresult = valid\ntag = 72fc457255aadf708719c46986caefad\n\n# tcId = 104\naad = 02\nct = 12fffdccd1e5a9708fa30ccf99137067\niv = 87345f1055fd9e2102d50656\nkey = 7d00b48095adfa3272050607b264185002ba99957c498be022770f2ce2f3143c\nmsg = e5ccaa441bc814688f8f6e8f28b500b2\nresult = valid\ntag = 688e0b634f51c4f6d983629c8a63c1c0\n\n# tcId = 105\naad = b648\nct = b75b8e96de2ef9704ade5c64cab59671\niv = 87a3163ec0598ad95b3aa713\nkey = 6432717f1db85e41ac7836bce25185a080d5762b9e2b18444b6ec72c3bd8e4dc\nmsg = 02cde168fba3f544bbd0332f7adeada8\nresult = valid\ntag = dec00ceb899c4a6a29be67f1b30435e0\n\n# tcId = 106\naad = bd4cd02fc7502bbdbdf6c9a3cbe8f0\nct = 8e67034384170a646e9eea1606a8e899\niv = 6f573aa86baa492ba46596df\nkey = 8e34cf73d245a1082a920b86364eb896c4946467bcb3d58929fcb36690e6394f\nmsg = 16ddd23ff53f3d23c06334487040eb47\nresult = valid\ntag = fe7a3dd42beb5ff70bb471ff76f0d341\n\n# tcId = 107\naad = 89cce9fb47441d07e0245a66fe8b778b\nct = 7eeb00c65fe7e0c79255e3cd90013588\niv = 1a6518f02ede1da6809266d9\nkey = cb5575f5c7c45c91cf320b139fb594237560d0a3e6f865a67d4f633f2c08f016\nmsg = 623b7850c321e2cf0c6fbcc8dfd1aff2\nresult = valid\ntag = 957d35fb25fdc17f00db33756967fd02\n\n# tcId = 108\naad = d19f2d989095f7ab03a5fde84416e00c0e\nct = f83e3b4333400d6393d085fe947057c4\niv = 564dee49ab00d240fc1068c3\nkey = a5569e729a69b24ba6e0ff15c4627897436824c941e9d00b2e93fddc4ba77657\nmsg = 87b3a4d7b26d8d3203a0de1d64ef82e3\nresult = valid\ntag = 7a30291bb506ae3961f61d683c9d94d1\n\n# tcId = 109\naad = ba446f6f9a0ced22450feb10737d9007fd69abc19b1d4d9049a5551e86ec2b37\nct = 97db4d850442eb33e6089af6f3cadf7b\niv = 8df4b15a888c33286a7b7651\nkey = 3937986af86dafc1ba0c4672d8abc46c207062682d9c264ab06d6c5807205130\nmsg = dc9e9eaf11e314182df6a4eba17aec9c\nresult = valid\ntag = 3ccbb125b2835754c1409d227e374d0b\n\n# tcId = 110\n# Testing for ctr overflow\naad = 40c32e00c2fdab59c1a1c573b46b5068\nct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\niv = 010101010101010101010101\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = bdd411814564c4218d224d50591c818855a862a0a519ac0b3d71a2edb12aa71eb81959bcc6b84c45aa424c9aca0b7bdd\nresult = valid\ntag = 00000000000000000000000000000000\n# The counter for AES-GCM-SIV is reduced modulo 2**32. This test vector was\n# constructed to test for correct wrapping of the counter.\n\n# tcId = 111\n# Testing for ctr overflow\naad = 2cc3a1973e0560f7224a394e52fa8488\nct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\niv = 000000000000000000000000\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = d04846a01f472262e60a1cb4cfcbdcb05c3f819628a3a49395c5dae96c434b2417ce071699afa74a60c32c0bafd9c01a\nresult = valid\ntag = ffffffffffffffffffffffffffffffff\n# The counter for AES-GCM-SIV is reduced modulo 2**32. This test vector was\n# constructed to test for correct wrapping of the counter.\n\n# tcId = 112\n# Testing for ctr overflow\naad = 2e34d12622a441b557eeb1d647c6cb73\nct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\niv = 010101010101010101010101\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 79637cee9decf33e3080de3d2c55bd21cd529ba8080b583edb6cfe13cda04bd00debe58b8cd48d6e02a1ecfc4d87923a\nresult = valid\ntag = fefffffffefffffffefffffffeffffff\n# The counter fo", - "r AES-GCM-SIV is reduced modulo 2**32. This test vector was\n# constructed to test for correct wrapping of the counter.\n\n# tcId = 113\n# Testing for ctr overflow\naad = 0814a95481bf915a4097949e3525c7e7\nct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\niv = 000000000000000000000000\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 6492a73880dac7f36743715b0fc7063d3e46a25044310bba5849ed88bfcb54b0adbe3978040bda849906e1aa09d1a8e3\nresult = valid\ntag = ffffff7f00112233445566778899aabb\n# The counter for AES-GCM-SIV is reduced modulo 2**32. This test vector was\n# constructed to test for correct wrapping of the counter.\n\n# tcId = 114\n# Testing for ctr overflow\naad = b691ef42f2ab8d1b4a581bb08394b13a\nct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\niv = 010101010101010101010101\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 7848d9e872f40bca1b82a4e7185fb75193b3496cc1dc2a72b86ed156ab8389e71687ed25eb6485e66561fa8c39853368\nresult = valid\ntag = ffffffffffffff7f0011223344556677\n# The counter for AES-GCM-SIV is reduced modulo 2**32. This test vector was\n# constructed to test for correct wrapping of the counter.\n\n# tcId = 115\n# Flipped bit 0 in tag\naad = e144878b0bbbf01b75231277e1e0d114\nct = 00000000000000000000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = f663044a4e7dd822aba0b7de2d869981\nresult = invalid\ntag = 13a1883272188b4c8d2727178198fe95\n\n# tcId = 116\n# Flipped bit 0 in tag\naad = 0289eaa93eb084107d2088435ef2a0cd\nct = ffffffffffffffff\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 49861b1fb6bcf8e4\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 117\n# Flipped bit 1 in tag\naad = f3bd6013669b7d9371727fcb1aafea75\nct = ffffffffffffffff\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 49861b1fb6bcf8e4\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 118\n# Flipped bit 7 in tag\naad = 922e91b2c5016e4303c737d1608ca25f\nct = \niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = \nresult = invalid\ntag = 0987e35e40981a2730c1740c7201731f\n\n# tcId = 119\n# Flipped bit 7 in tag\naad = 7195dd0addce5dd7014bfddb2f23206f\nct = 0000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 759dfbbb8a251ccc\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 120\n# Flipped bit 7 in tag\naad = 32fc2a53e9678f1fc6d63081c36c6f2c\nct = ffffffffffffffff\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 49861b1fb6bcf8e4\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 121\n# Flipped bit 8 in tag\naad = c55ba71ee250216f8ecfe822d712dd38\nct = \niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = \nresult = invalid\ntag = 0987e35e40981a2730c1740c7201731f\n\n# tcId = 122\n# Flipped bit 8 in tag\naad = 5546acf865fc305fbd7ff1092cb9c2c3\nct = 0000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 759dfbbb8a251ccc\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 123\n# Flipped bit 31 in tag\naad = 6b060eebe1843b409a4dfd0be8f86a2b\nct = 00000000000000000000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = f663044a4e7dd822aba0b7de2d869981\nresult = invalid\ntag = 13a1883272188b4c8d2727178198fe95\n\n# tcId = 124\n# Flipped bit 31 in tag\naad = c4adb92f1a60eb2faff88675f62a7276\nct = 0000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 759dfbbb8a251ccc\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 125\n# Flipped bit 32 in tag\naad = 70c5a8591f52f869c6415a6d7000e253\nct = 00000000000000000000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = f663044a4e7dd822aba0b7de2d869981\nresult = invalid\ntag = 13a1883272188b4c8d2727178198fe95\n\n# tcId = 126\n# Flipped bit 63 in tag\naad = b5fe79f182cb9f2945208e29513928d1\nct = \niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = \nresult = invalid\ntag = 0987e35e40981a2730c1740c7201731f\n\n# tcId = 127\n# Flipped bit 63 in tag\naad = c1dbf87e4a586b040c53f6dd9063b4cd\nct = ffffffffffffffff\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 49861b1fb6bcf8e4\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 128\n# Flipped bit 64 in tag\naad = 845466e603ca85a224693d150ae13ba3\nct = 0000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 759dfbbb8a251ccc\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 129\n# Flipped bit 97 in tag\naad = 18cb9f5eede6224fa3fcd525cf9f958b\nct = 00000000000000000000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = f663044a4e7dd822aba0b7de2d869981\nresult = invalid\ntag = 13a1883272188b4c8d2727178198fe95\n\n# tcId = 130\n# Flipped bit 97 in tag\naad = 8c4fbca37d2e361856b9f80adf455fa0\nct = 0000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 759dfbbb8a251ccc\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 131\n# Flipped bit 97 in tag\naad = bc517fe140abf2b42eb1cafe8c0715a9\nct = ffffffffffffffff\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 49861b1fb6bcf8e4\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 132\n# Flipped bit 120 in tag\naad = 617e1c5ef62ed35cf678e670f116ff2f\nct = \niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = \nresult = invalid\ntag = 0987e35e40981a2730c1740c7201731f\n\n# tcId = 133\n# Flipped bit 120 in tag\naad = e71802b7a37e8ef1f001ef0c52c636f2\nct = 00000000000000000000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = f663044a4e7dd822aba0b7de2d869981\nresult = invalid\ntag = 13a1883272188b4c8d2727178198fe95\n\n# tcId = 134\n# Flipped bit 120 in tag\naad = be647e37f154d4a8edca5a29ca221cc5\nct = 0000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 759dfbbb8a251ccc\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 135\n# Flipped bit 121 in tag\naad = b3caa01f49c7cbc56c7c92547257957e\nct = 00000000000000000000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = f663044a4e7dd822aba0b7de2d869981\nresult = invalid\ntag = 13a1883272188b4c8d2727178198fe95\n\n# tcId = 136\n# Flipped bit 121 in tag\naad = ab0347a2aec4cc4c366583062442ba07\nct = 0000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 759dfbbb8a251ccc\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 137\n# Flipped bit 126 in tag\naad = 62573ef39a27f77b37fb7bfc84e46cee\nct = \niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = \nresult = invalid\ntag = 0987e35e40981a2730c1740c7201731f\n\n# tcId = 138\n# Flipped bit 126 in tag\naad = 28e3cadfb16834e824642e965588c200\nct = 0000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 759dfbbb8a251ccc\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 139\n# Flipped bit 126 in tag\naad = 7edd2fc15bed224a46dc8608e1766080\nct = ffffffffffffffff\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccdd", - "eeff\nmsg = 49861b1fb6bcf8e4\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 140\n# Flipped bit 127 in tag\naad = 7e0e03104e2c0ff20ba4c35742180c5b\nct = \niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = \nresult = invalid\ntag = 0987e35e40981a2730c1740c7201731f\n\n# tcId = 141\n# Flipped bit 127 in tag\naad = 9a24dc75c5ddd3bab57ff532eb86d224\nct = 00000000000000000000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = f663044a4e7dd822aba0b7de2d869981\nresult = invalid\ntag = 13a1883272188b4c8d2727178198fe95\n\n# tcId = 142\n# Flipped bit 127 in tag\naad = 3196aec499c15bc043b6866ba0df6e6b\nct = ffffffffffffffff\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 49861b1fb6bcf8e4\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 143\n# Flipped bit 0..127 in tag\naad = 55a2987aa94bf46ad1b6d253a44c1622\nct = ffffffffffffffff\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 49861b1fb6bcf8e4\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n", +static const char *kData91[] = { + "# Imported from Wycheproof's aes_gcm_siv_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: AES-GCM-SIV\n# Generator version: 0.8r12\n\n[ivSize = 96]\n[keySize = 128]\n[tagSize = 128]\n\n# tcId = 1\n# draft-irtf-cfrg-gcmsiv-09\naad = \nct = \niv = 030000000000000000000000\nkey = 01000000000000000000000000000000\nmsg = \nresult = valid\ntag = dc20e2d83f25705bb49e439eca56de25\n\n# tcId = 2\n# draft-irtf-cfrg-gcmsiv-09\naad = \nct = b5d839330ac7b786\niv = 030000000000000000000000\nkey = 01000000000000000000000000000000\nmsg = 0100000000000000\nresult = valid\ntag = 578782fff6013b815b287c22493a364c\n\n# tcId = 3\n# draft-irtf-cfrg-gcmsiv-09\naad = \nct = 7323ea61d05932260047d942\niv = 030000000000000000000000\nkey = 01000000000000000000000000000000\nmsg = 010000000000000000000000\nresult = valid\ntag = a4978db357391a0bc4fdec8b0d106639\n\n# tcId = 4\n# draft-irtf-cfrg-gcmsiv-09\naad = \nct = 743f7c8077ab25f8624e2e948579cf77\niv = 030000000000000000000000\nkey = 01000000000000000000000000000000\nmsg = 01000000000000000000000000000000\nresult = valid\ntag = 303aaf90f6fe21199c6068577437a0c4\n\n# tcId = 5\n# draft-irtf-cfrg-gcmsiv-09\naad = \nct = 84e07e62ba83a6585417245d7ec413a9fe427d6315c09b57ce45f2e3936a9445\niv = 030000000000000000000000\nkey = 01000000000000000000000000000000\nmsg = 0100000000000000000000000000000002000000000000000000000000000000\nresult = valid\ntag = 1a8e45dcd4578c667cd86847bf6155ff\n\n# tcId = 6\n# draft-irtf-cfrg-gcmsiv-09\naad = \nct = 3fd24ce1f5a67b75bf2351f181a475c7b800a5b4d3dcf70106b1eea82fa1d64df42bf7226122fa92e17a40eeaac1201b\niv = 030000000000000000000000\nkey = 01000000000000000000000000000000\nmsg = 010000000000000000000000000000000200000000000000000000000000000003000000000000000000000000000000\nresult = valid\ntag = 5e6e311dbf395d35b0fe39c2714388f8\n\n# tcId = 7\n# draft-irtf-cfrg-gcmsiv-09\naad = \nct = 2433668f1058190f6d43e360f4f35cd8e475127cfca7028ea8ab5c20f7ab2af02516a2bdcbc08d521be37ff28c152bba36697f25b4cd169c6590d1dd39566d3f\niv = 030000000000000000000000\nkey = 01000000000000000000000000000000\nmsg = 01000000000000000000000000000000020000000000000000000000000000000300000000000000000000000000000004000000000000000000000000000000\nresult = valid\ntag = 8a263dd317aa88d56bdf3936dba75bb8\n\n# tcId = 8\n# draft-irtf-cfrg-gcmsiv-09\naad = 01\nct = 1e6daba35669f427\niv = 030000000000000000000000\nkey = 01000000000000000000000000000000\nmsg = 0200000000000000\nresult = valid\ntag = 3b0a1a2560969cdf790d99759abd1508\n\n# tcId = 9\n# draft-irtf-cfrg-gcmsiv-09\naad = 01\nct = 296c7889fd99f41917f44620\niv = 030000000000000000000000\nkey = 01000000000000000000000000000000\nmsg = 020000000000000000000000\nresult = valid\ntag = 08299c5102745aaa3a0c469fad9e075a\n\n# tcId = 10\n# draft-irtf-cfrg-gcmsiv-09\naad = 01\nct = e2b0c5da79a901c1745f700525cb335b\niv = 030000000000000000000000\nkey = 01000000000000000000000000000000\nmsg = 02000000000000000000000000000000\nresult = valid\ntag = 8f8936ec039e4e4bb97ebd8c4457441f\n\n# tcId = 11\n# draft-irtf-cfrg-gcmsiv-09\naad = 01\nct = 620048ef3c1e73e57e02bb8562c416a319e73e4caac8e96a1ecb2933145a1d71\niv = 030000000000000000000000\nkey = 01000000000000000000000000000000\nmsg = 0200000000000000000000000000000003000000000000000000000000000000\nresult = valid\ntag = e6af6a7f87287da059a71684ed3498e1\n\n# tcId = 12\n# draft-irtf-cfrg-gcmsiv-09\naad = 01\nct = 50c8303ea93925d64090d07bd109dfd9515a5a33431019c17d93465999a8b0053201d723120a8562b838cdff25bf9d1e\niv = 030000000000000000000000\nkey = 01000000000000000000000000000000\nmsg = 020000000000000000000000000000000300000000000000000000000000000004000000000000000000000000000000\nresult = valid\ntag = 6a8cc3865f76897c2e4b245cf31c51f2\n\n# tcId = 13\n# draft-irtf-cfrg-gcmsiv-09\naad = 01\nct = 2f5c64059db55ee0fb847ed513003746aca4e61c711b5de2e7a77ffd02da42feec601910d3467bb8b36ebbaebce5fba30d36c95f48a3e7980f0e7ac299332a80\niv = 030000000000000000000000\nkey = 01000000000000000000000000000000\nmsg = 02000000000000000000000000000000030000000000000000000000000000000400000000000000000000000000000005000000000000000000000000000000\nresult = valid\ntag = cdc46ae475563de037001ef84ae21744\n\n# tcId = 14\n# draft-irtf-cfrg-gcmsiv-09\naad = 010000000000000000000000\nct = a8fe3e87\niv = 030000000000000000000000\nkey = 01000000000000000000000000000000\nmsg = 02000000\nresult = valid\ntag = 07eb1f84fb28f8cb73de8e99e2f48a14\n\n# tcId = 15\n# draft-irtf-cfrg-gcmsiv-09\naad = 010000000000000000000000000000000200\nct = 6bb0fecf5ded9b77f902c7d5da236a4391dd0297\niv = 030000000000000000000000\nkey = 01000000000000000000000000000000\nmsg = 0300000000000000000000000000000004000000\nresult = valid\ntag = 24afc9805e976f451e6d87f6fe106514\n\n# tcId = 16\n# draft-irtf-cfrg-gcmsiv-09\naad = 0100000000000000000000000000000002000000\nct = 44d0aaf6fb2f1f34add5e8064e83e12a2ada\niv = 030000000000000000000000\nkey = 01000000000000000000000000000000\nmsg = 030000000000000000000000000000000400\nresult = valid\ntag = bff9b2ef00fb47920cc72a0c0f13b9fd\n\n# tcId = 17\n# draft-irtf-cfrg-gcmsiv-09\naad = \nct = \niv = f46e44bb3da0015c94f70887\nkey = e66021d5eb8e4f4066d4adb9c33560e4\nmsg = \nresult = valid\ntag = a4194b79071b01a87d65f706e3949578\n\n# tcId = 18\n# draft-irtf-cfrg-gcmsiv-09\naad = 46bb91c3c5\nct = af60eb\niv = bae8e37fc83441b16034566b\nkey = 36864200e0eaf5284d884a0e77d31646\nmsg = 7a806c\nresult = valid\ntag = 711bd85bc1e4d3e0a462e074eea428a8\n\n# tcId = 19\n# draft-irtf-cfrg-gcmsiv-09\naad = fc880c94a95198874296\nct = bb93a3e34d3c\niv = afc0577e34699b9e671fdd4f\nkey = aedb64a6c590bc84d1a5e269e4b47801\nmsg = bdc66f146545\nresult = valid\ntag = d6a9c45545cfc11f03ad743dba20f966\n\n# tcId = 20\n# draft-irtf-cfrg-gcmsiv-09\naad = 046787f3ea22c127aaf195d1894728\nct = 4f37281f7ad12949d0\niv = 275d1ab32f6d1f0434d8848c\nkey = d5cc1fd161320b6920ce07787f86743b\nmsg = 1177441f195495860f\nresult = valid\ntag = 1d02fd0cd174c84fc5dae2f60f52fd2b\n\n# tcId = 21\n# draft-irtf-cfrg-gcmsiv-09\naad = c9882e5386fd9f92ec489c8fde2be2cf97e74e93\nct = f54673c5ddf710c745641c8b\niv = 9e9ad8780c8d63d0ab4149c0\nkey = b3fed1473c528b8426a582995929a149\nmsg = 9f572c614b4745914474e7c7\nresult = valid\ntag = c1dc2f871fb7561da1286e655e24b7b0\n\n# tcId = 22\n# draft-irtf-cfrg-gcmsiv-09\naad = 2950a70d5a1db2316fd568378da107b52b0da55210cc1c1b0a\nct = c9ff545e07b88a015f05b274540aa1\niv = ac80e6f61455bfac8308a2d4\nkey = 2d4ed87da44102952ef94b02b805249b\nmsg = 0d8c8451178082355c9e940fea2f58\nresult = valid\ntag = 83b3449b9f39552de99dc214a1190b0b\n\n# tcId = 23\n# draft-irtf-cfrg-gcmsiv-09\naad = 1860f762ebfbd08284e421702de0de18baa9c9596291b08466f37de21c7f\nct = 6298b296e24e8cc35dce0bed484b7f30d580\niv = ae06556fb6aa7890bebc18fe\nkey = bde3b2f204d1e9f8b06bc47f9745b3d1\nmsg = 6b3db4da3d57aa94842b9803a96e07fb6de7\nresult = valid\ntag = 3e377094f04709f64d7b985310a4db84\n\n# tcId = 24\n# draft-irtf-cfrg-gcmsiv-09\naad = 7576f7028ec6eb5ea7e298342a94d4b202b370ef9768ec6561c4fe6b7e7296fa859c21\nct = 391cc328d484a4f46406181bcd62efd9b3ee197d05\niv = 6245709fb18853f68d833640\nkey = f901cfe8a69615a93fdf7a98cad48179\nmsg = e42a3c02c25b64869e146d7b233987bddfc240871d\nresult = valid\ntag = 2d15506c84a9edd65e13e9d24a2a6e70\n\n# tcId = 25\naad = \nct = \niv = 438a547a94ea88dce46c6c85\nkey = bedcfb5a011ebc84600fcb296c15af0d\nmsg = \nresult = valid\ntag = 596d0538e48526be1c991e40cc031073\n\n# tcId = 26\naad = \nct = 4f\niv = b30c084727ad1c592ac21d12\nkey = 384ea416ac3c2f51a76e7d8226346d4e\nmsg = 35\nresult = valid\ntag = 8b2b805fc0885e2b470d9dbe6cb15ed3\n\n# tcId = 27\naad = \nct = 04c7a55f97846e54\niv = b5e006ded553110e6dc56529\nkey = cae31cd9f55526eb038241fc44cac1e5\nmsg = d10989f2c52e94ad\nresult = valid\ntag = 48168ff846356c33032c719b518f18a8\n\n# tcId = 28\naad = \nct = fd9521041b0397a15b0070b93f48a9\niv = ecb0c42f7000ef0e6f95f24d\nkey = dd6197cd63c963919cf0c273ef6b28bf\nmsg = 4dcc1485365866e25ac3f2ca6aba97\nresult = valid\ntag = 09df91414578f7faf757d04ee26ab901\n\n# tcId = 29\naad = \nct = 6eb905287ddfafc32f6b1c10046c089f\niv = 0e1666f2dc652f7708fb8f0d\nkey = ffdf4228361ea1f8165852136b3480f7\nmsg = 25b12e28ac0ef6ead0226a3b2288c800\nresult = valid\ntag = 4ff9f939a77c34b0cb1ee75fcb0dd29a\n\n# tcId = 30\naad = \nct = 6f62bd09d4f36f73e289ab6dd114727fe3\niv = 965ff6643116ac1443a2dec7\nkey = c15ed227dd2e237ecd087eaaaad19ea4\nmsg = fee62fde973fe025ad6b322dcdf3c63fc7\nresult = valid\ntag = ea727c084db2bc948de0928edddd7fcf\n\n# tcId = 31\naad = \nct = 80133a4bea7311f0d3c9835144c37c4ef0", + "ef20c8f2e36be1\niv = fbbc04fd6e025b7193eb57f6\nkey = a8ee11b26d7ceb7f17eaa1e4b83a2cf6\nmsg = c08f085e6a9e0ef3636280c11ecfadf0c1e72919ffc17eaf\nresult = valid\ntag = b92f47c1af6713e14fbdf60efebb50c6\n\n# tcId = 32\naad = \nct = 778b308e4ca17607df36c0b94695bc64603173b814701a9f69147b42478a0b1f\niv = a2dbe708db51c68ef02994a6\nkey = 7519588f30f7f08ff98e1beee6a2a783\nmsg = 1851956319256ebb0f9ccaf325a24abfc5c3e90b055e57cdc0c7ab2165ae03b1\nresult = valid\ntag = b75c98952c0aa11958a55c9c2ecf33f5\n\n# tcId = 33\naad = 30\nct = 173ba6370171be47dbb6163a63a3b725\niv = 4bad10c6d84fd43fd13ad36f\nkey = a5b5b6bae45b741fe4663890098f326a\nmsg = 127b150080ec0bc7704e26f4ab11abb6\nresult = valid\ntag = 53aefed6e971d5a1f435f0730a6dd0fd\n\n# tcId = 34\naad = 743e\nct = 959f0ff12481dedc4302ad7a904f9486\niv = 2186a3091237adae83540e24\nkey = 0cecb9f512932d68e2c7c0bc4bd621c8\nmsg = 437aeb94d842283ba57bb758e3d229f0\nresult = valid\ntag = 0215be2ab9b0672a7b82893891057c9c\n\n# tcId = 35\naad = 25591707c004f506f4b51e85e29f6a\nct = 8ae3a16a237f1358ac8cfeb5f4cc2818\niv = 0c908e58cddad69dea1a32c3\nkey = 55e04c122780be52ed9328928039008c\nmsg = 26eb70672eef03667b34cc7d0df05872\nresult = valid\ntag = 28f5aa8a34a9f7c01c17759d142b1bae\n\n# tcId = 36\naad = c07092d799dac2b4c05fbddd04743c34\nct = d5220f6a49d1e4c10d38c77c8156ebd0\niv = c30968c967e53505621628db\nkey = 5f0a1b5f8f8673d566ec7f54e7dca4f2\nmsg = f6538476daf04524cf134309dd84e187\nresult = valid\ntag = 80b50f526286dad22d40984636f0e9ce\n\n# tcId = 37\naad = 3ea12d80f40f34f812479d2ecc13d2d6df\nct = 3e771b9376e1d1cde3d9b73349c958bc\niv = a51c37f467893c1608e56274\nkey = 671a70e883fb0611dffd0b1dd9b8cca2\nmsg = 3baf3edf04dc0c97aae081cdeb08021d\nresult = valid\ntag = ebd3ea678a1e87839a4356584ea89bac\n\n# tcId = 38\naad = 5189ea6f39b2a78c0202fdff146c5cc6bdc7491d4786f80c6c6aef65634c05da\nct = 05b568a589d0a77a8ee9c6f06415c6b6\niv = 52c20979cdaaade573dba650\nkey = 63f03172505d90e94900125cb8a4b0dd\nmsg = 602c98997ee03fd11ce00e92de193977\nresult = valid\ntag = 91ba5089dffb7538199c441728d5f84a\n\n# tcId = 39\n# Testing for ctr overflow\naad = 395f4091b410c373073bcdc79e02d3af\nct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\niv = 010101010101010101010101\nkey = 00112233445566778899aabbccddeeff\nmsg = 43488548d88e6f774bcd2d52c18fbcc933a4e9a9613ff3edbe959ec59522adc098b3133b8d17b9e9dad631ad33752c95\nresult = valid\ntag = 00000000000000000000000000000000\nflags = ConstructedIv\n\n# tcId = 40\n# Testing for ctr overflow\naad = 616b2dff4d665e5f7ab890723dd981b1\nct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = f012c6a7eb0e8af5bc45e015e7680a693dc709b95383f6a94babec1bc36e4be3cf4f55a31a94f11c6c3f90eed99682bc\nresult = valid\ntag = ffffffffffffffffffffffffffffffff\nflags = ConstructedIv\n\n# tcId = 41\n# Testing for ctr overflow\naad = 387a8997605fd04ae8951c4759087864\nct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\niv = 030303030303030303030303\nkey = 00112233445566778899aabbccddeeff\nmsg = 71ceee58179d6fb968521e9594dbf98cc0040f6aa38fe873c32a9b122d6cbfd51aa4778b3f4f37be7348690d97e2468b\nresult = valid\ntag = fefffffffefffffffefffffffeffffff\nflags = ConstructedIv\n\n# tcId = 42\n# Testing for ctr overflow\naad = 6783b0d5e9d8a2a7274065797097d1ae\nct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\niv = 060606060606060606060606\nkey = 00112233445566778899aabbccddeeff\nmsg = 2e14f9e9a09ea204557367898a80dcad117af3666bea25762b70633a9f3614fbe631ba617c371fd5566d5e613496e69f\nresult = valid\ntag = ffffff7f00112233445566778899aabb\nflags = ConstructedIv\n\n# tcId = 43\n# Testing for ctr overflow\naad = 2933810c146f4f7dd146dd43f35199c6\nct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\niv = 010101010101010101010101\nkey = 00112233445566778899aabbccddeeff\nmsg = 27fac75879c9d87cd52a0793137ba792f6f145148158eb538f2081e09cd0315986a7025045ecbb2ca1bb18a17bfcd567\nresult = valid\ntag = ffffffffffffff7f0011223344556677\nflags = ConstructedIv\n\n# tcId = 44\n# Flipped bit 0 in tag\naad = 27dd62060507dae87c4f93f391ba15f9\nct = \niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = \nresult = invalid\ntag = 0987e35e40981a2730c1740c7201731f\n\n# tcId = 45\n# Flipped bit 0 in tag\naad = 9ea3371e258288d5a01b15384e2c99ee\nct = 00000000000000000000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 03c0e39b77bd62d32568f4c86c90bfdb\nresult = invalid\ntag = 13a1883272188b4c8d2727178198fe95\n\n# tcId = 46\n# Flipped bit 0 in tag\naad = ce24e3ec0fe7b8550d621b71fdb5d0eb\nct = 0000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 63995888995b338c\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 47\n# Flipped bit 7 in tag\naad = 1471f354b359c235117febba854a823b\nct = 00000000000000000000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 03c0e39b77bd62d32568f4c86c90bfdb\nresult = invalid\ntag = 13a1883272188b4c8d2727178198fe95\n\n# tcId = 48\n# Flipped bit 7 in tag\naad = 11f820294fc9d13f1895d2fb5509913b\nct = 0000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 63995888995b338c\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 49\n# Flipped bit 8 in tag\naad = 45e7257b814f09de44177b27b914822f\nct = 00000000000000000000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 03c0e39b77bd62d32568f4c86c90bfdb\nresult = invalid\ntag = 13a1883272188b4c8d2727178198fe95\n\n# tcId = 50\n# Flipped bit 8 in tag\naad = 4c49780b5438c4a7ea9795b9856fdae1\nct = 0000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 63995888995b338c\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 51\n# Flipped bit 8 in tag\naad = ecc2f2f4142837a34f9cd1fa030a5d7f\nct = ffffffffffffffff\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 0fed395814f1750a\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 52\n# Flipped bit 31 in tag\naad = 69c7f5605da8e0684990b087411f8cf5\nct = 0000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 63995888995b338c\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 53\n# Flipped bit 31 in tag\naad = 20b346be60e7e97588bf504ce707ce0b\nct = ffffffffffffffff\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 0fed395814f1750a\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 54\n# Flipped bit 56 in tag\naad = 3955107da2e9938c6b19bb19ae9fc09f\nct = \niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = \nresult = invalid\ntag = 0987e35e40981a2730c1740c7201731f\n\n# tcId = 55\n# Flipped bit 56 in tag\naad = b1385d46a8accd7022c142442a0b13e9\nct = 0000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 63995888995b338c\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 56\n# Flipped bit 63 in tag\naad = 19b298f3a061a73cb774da927ce11ca2\nct = 0000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 63995888995b338c\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 57\n# Flipped bit 63 in tag\naad = bff8c631e61c18a050a523ad4a750a20\nct = ffffffffffffffff\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 0fed395814f1750a\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 58\n# Flipped bit 64 in tag\naad = 7b6171302b689c926852163e310f08d4\nct = 00000000000000000000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 03c0e39b77bd62d32568f4c86c90bfdb\nresult = invalid\ntag = 13a1883272188b4c8d2727178198fe95\n\n# tcId = 59\n# Flipped bit 88 in tag\naad = 4e79aa30003226402245893e91f2024c\nct = 00000000000000000000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 03c0e39b77bd62d32568f4c86c90bfdb\nresult = invalid\ntag = 13a1883272188b4c8d2727178198fe95\n\n# tcId = 60\n# Flipped bit 88 in tag\naad = 9312e1813a05b8682", + "555061b05edcef1\nct = ffffffffffffffff\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 0fed395814f1750a\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 61\n# Flipped bit 96 in tag\naad = 643684185211af58061022efa360d54b\nct = 0000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 63995888995b338c\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 62\n# Flipped bit 96 in tag\naad = 786d8056e26150918e3cbe520cafeb50\nct = ffffffffffffffff\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 0fed395814f1750a\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 63\n# Flipped bit 97 in tag\naad = 555036128fa18ecadd090cb772ac0bf3\nct = \niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = \nresult = invalid\ntag = 0987e35e40981a2730c1740c7201731f\n\n# tcId = 64\n# Flipped bit 97 in tag\naad = a5b43b8e1dbb2bfbda1b625fee4064a7\nct = 0000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 63995888995b338c\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 65\n# Flipped bit 120 in tag\naad = ae47cc5d7681dd480c23469c5519b647\nct = \niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = \nresult = invalid\ntag = 0987e35e40981a2730c1740c7201731f\n\n# tcId = 66\n# Flipped bit 120 in tag\naad = d53dd677184702eaa660f1349195fc04\nct = 00000000000000000000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 03c0e39b77bd62d32568f4c86c90bfdb\nresult = invalid\ntag = 13a1883272188b4c8d2727178198fe95\n\n# tcId = 67\n# Flipped bit 120 in tag\naad = dc78584e4599dd4b2fb333db2f9ccb95\nct = ffffffffffffffff\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 0fed395814f1750a\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 68\n# Flipped bit 121 in tag\naad = 0bfd9271e79153a8afdb7f3d96fe446f\nct = \niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = \nresult = invalid\ntag = 0987e35e40981a2730c1740c7201731f\n\n# tcId = 69\n# Flipped bit 121 in tag\naad = 1e0537a95b7200134d0b440657d50fd1\nct = 0000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 63995888995b338c\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 70\n# Flipped bit 121 in tag\naad = 7633155df35857258d23b0651d60847c\nct = ffffffffffffffff\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 0fed395814f1750a\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 71\n# Flipped bit 126 in tag\naad = ab0a064b473de43598adf81ee297d856\nct = ffffffffffffffff\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 0fed395814f1750a\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 72\n# Flipped bit 127 in tag\naad = f62bdc3f4fcb699ee12f6e87dcc704cb\nct = \niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = \nresult = invalid\ntag = 0987e35e40981a2730c1740c7201731f\n\n# tcId = 73\n# Flipped bit 127 in tag\naad = 1320051031807b8f44e9d2cb1ec6aa92\nct = 00000000000000000000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 03c0e39b77bd62d32568f4c86c90bfdb\nresult = invalid\ntag = 13a1883272188b4c8d2727178198fe95\n\n# tcId = 74\n# Flipped bit 127 in tag\naad = 329b813d3ae2225d3e15f97a28037bcc\nct = 0000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 63995888995b338c\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 75\n# Flipped bit 0..127 in tag\naad = edc723bedd0078696acdea005c74b841\nct = 0000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = 63995888995b338c\nresult = invalid\ntag = 00000000000000000000000000000000\n\n[ivSize = 96]\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 76\n# draft-irtf-cfrg-gcmsiv-09\naad = \nct = \niv = 030000000000000000000000\nkey = 0100000000000000000000000000000000000000000000000000000000000000\nmsg = \nresult = valid\ntag = 07f5f4169bbf55a8400cd47ea6fd400f\n\n# tcId = 77\n# draft-irtf-cfrg-gcmsiv-09\naad = \nct = c2ef328e5c71c83b\niv = 030000000000000000000000\nkey = 0100000000000000000000000000000000000000000000000000000000000000\nmsg = 0100000000000000\nresult = valid\ntag = 843122130f7364b761e0b97427e3df28\n\n# tcId = 78\n# draft-irtf-cfrg-gcmsiv-09\naad = \nct = 9aab2aeb3faa0a34aea8e2b1\niv = 030000000000000000000000\nkey = 0100000000000000000000000000000000000000000000000000000000000000\nmsg = 010000000000000000000000\nresult = valid\ntag = 8ca50da9ae6559e48fd10f6e5c9ca17e\n\n# tcId = 79\n# draft-irtf-cfrg-gcmsiv-09\naad = \nct = 85a01b63025ba19b7fd3ddfc033b3e76\niv = 030000000000000000000000\nkey = 0100000000000000000000000000000000000000000000000000000000000000\nmsg = 01000000000000000000000000000000\nresult = valid\ntag = c9eac6fa700942702e90862383c6c366\n\n# tcId = 80\n# draft-irtf-cfrg-gcmsiv-09\naad = \nct = 4a6a9db4c8c6549201b9edb53006cba821ec9cf850948a7c86c68ac7539d027f\niv = 030000000000000000000000\nkey = 0100000000000000000000000000000000000000000000000000000000000000\nmsg = 0100000000000000000000000000000002000000000000000000000000000000\nresult = valid\ntag = e819e63abcd020b006a976397632eb5d\n\n# tcId = 81\n# draft-irtf-cfrg-gcmsiv-09\naad = \nct = c00d121893a9fa603f48ccc1ca3c57ce7499245ea0046db16c53c7c66fe717e39cf6c748837b61f6ee3adcee17534ed5\niv = 030000000000000000000000\nkey = 0100000000000000000000000000000000000000000000000000000000000000\nmsg = 010000000000000000000000000000000200000000000000000000000000000003000000000000000000000000000000\nresult = valid\ntag = 790bc96880a99ba804bd12c0e6a22cc4\n\n# tcId = 82\n# draft-irtf-cfrg-gcmsiv-09\naad = \nct = c2d5160a1f8683834910acdafc41fbb1632d4a353e8b905ec9a5499ac34f96c7e1049eb080883891a4db8caaa1f99dd004d80487540735234e3744512c6f90ce\niv = 030000000000000000000000\nkey = 0100000000000000000000000000000000000000000000000000000000000000\nmsg = 01000000000000000000000000000000020000000000000000000000000000000300000000000000000000000000000004000000000000000000000000000000\nresult = valid\ntag = 112864c269fc0d9d88c61fa47e39aa08\n\n# tcId = 83\n# draft-irtf-cfrg-gcmsiv-09\naad = 01\nct = 1de22967237a8132\niv = 030000000000000000000000\nkey = 0100000000000000000000000000000000000000000000000000000000000000\nmsg = 0200000000000000\nresult = valid\ntag = 91213f267e3b452f02d01ae33e4ec854\n\n# tcId = 84\n# draft-irtf-cfrg-gcmsiv-09\naad = 01\nct = 163d6f9cc1b346cd453a2e4c\niv = 030000000000000000000000\nkey = 0100000000000000000000000000000000000000000000000000000000000000\nmsg = 020000000000000000000000\nresult = valid\ntag = c1a4a19ae800941ccdc57cc8413c277f\n\n# tcId = 85\n# draft-irtf-cfrg-gcmsiv-09\naad = 01\nct = c91545823cc24f17dbb0e9e807d5ec17\niv = 030000000000000000000000\nkey = 0100000000000000000000000000000000000000000000000000000000000000\nmsg = 02000000000000000000000000000000\nresult = valid\ntag = b292d28ff61189e8e49f3875ef91aff7\n\n# tcId = 86\n# draft-irtf-cfrg-gcmsiv-09\naad = 01\nct = 07dad364bfc2b9da89116d7bef6daaaf6f255510aa654f920ac81b94e8bad365\niv = 030000000000000000000000\nkey = 0100000000000000000000000000000000000000000000000000000000000000\nmsg = 0200000000000000000000000000000003000000000000000000000000000000\nresult = valid\ntag = aea1bad12702e1965604374aab96dbbc\n\n# tcId = 87\n# draft-irtf-cfrg-gcmsiv-09\naad = 01\nct = c67a1f0f567a5198aa1fcc8e3f21314336f7f51ca8b1af61feac35a86416fa47fbca3b5f749cdf564527f2314f42fe25\niv = 030000000000000000000000\nkey = 0100000000000000000000000000000000000000000000000000000000000000\nmsg = 020000000000000000000000000000000300000000000000000000000000000004000000000000000000000000000000\nresult = valid\ntag = 03332742b228c647173616cfd44c54eb\n\n# tcId = 88\n# draft-irtf-cfrg-gcmsiv-09\naad = 01\nct = 67fd45e126bfb9a79930c43aad2d36967d3f0e4d217c1e551f59727870beefc98cb933a8fce9de887b1e40799988db1fc3f91880ed405b2dd298318858467c89\niv = 030000000000000000000000\nkey = 0100000000000000000000000000000000000000000000000000000000000000\nmsg = 02000000000000000000000000000000030000000000000000000000000000000400000000000000000000000000000005000000000000000000000000000000\nresult = valid\ntag = 5bde0285037c5de81e5b570a049b62a0\n\n# tcId = 89\n# draft-irtf-cfrg-gcmsiv-09\naad = 010000000000", + "000000000000\nct = 22b3f4cd\niv = 030000000000000000000000\nkey = 0100000000000000000000000000000000000000000000000000000000000000\nmsg = 02000000\nresult = valid\ntag = 1835e517741dfddccfa07fa4661b74cf\n\n# tcId = 90\n# draft-irtf-cfrg-gcmsiv-09\naad = 010000000000000000000000000000000200\nct = 43dd0163cdb48f9fe3212bf61b201976067f342b\niv = 030000000000000000000000\nkey = 0100000000000000000000000000000000000000000000000000000000000000\nmsg = 0300000000000000000000000000000004000000\nresult = valid\ntag = b879ad976d8242acc188ab59cabfe307\n\n# tcId = 91\n# draft-irtf-cfrg-gcmsiv-09\naad = 0100000000000000000000000000000002000000\nct = 462401724b5ce6588d5a54aae5375513a075\niv = 030000000000000000000000\nkey = 0100000000000000000000000000000000000000000000000000000000000000\nmsg = 030000000000000000000000000000000400\nresult = valid\ntag = cfcdf5042112aa29685c912fc2056543\n\n# tcId = 92\n# draft-irtf-cfrg-gcmsiv-09\naad = \nct = \niv = e0eaf5284d884a0e77d31646\nkey = e66021d5eb8e4f4066d4adb9c33560e4f46e44bb3da0015c94f7088736864200\nmsg = \nresult = valid\ntag = 169fbb2fbf389a995f6390af22228a62\n\n# tcId = 93\n# draft-irtf-cfrg-gcmsiv-09\naad = 4fbdc66f14\nct = 0eaccb\niv = e4b47801afc0577e34699b9e\nkey = bae8e37fc83441b16034566b7a806c46bb91c3c5aedb64a6c590bc84d1a5e269\nmsg = 671fdd\nresult = valid\ntag = 93da9bb81333aee0c785b240d319719d\n\n# tcId = 94\n# draft-irtf-cfrg-gcmsiv-09\naad = 6787f3ea22c127aaf195\nct = a254dad4f3f9\niv = 2f6d1f0434d8848c1177441f\nkey = 6545fc880c94a95198874296d5cc1fd161320b6920ce07787f86743b275d1ab3\nmsg = 195495860f04\nresult = valid\ntag = 6b62b84dc40c84636a5ec12020ec8c2c\n\n# tcId = 95\n# draft-irtf-cfrg-gcmsiv-09\naad = 489c8fde2be2cf97e74e932d4ed87d\nct = 0df9e308678244c44b\niv = 9f572c614b4745914474e7c7\nkey = d1894728b3fed1473c528b8426a582995929a1499e9ad8780c8d63d0ab4149c0\nmsg = c9882e5386fd9f92ec\nresult = valid\ntag = c0fd3dc6628dfe55ebb0b9fb2295c8c2\n\n# tcId = 96\n# draft-irtf-cfrg-gcmsiv-09\naad = 0da55210cc1c1b0abde3b2f204d1e9f8b06bc47f\nct = 8dbeb9f7255bf5769dd56692\niv = 5c9e940fea2f582950a70d5a\nkey = a44102952ef94b02b805249bac80e6f61455bfac8308a2d40d8c845117808235\nmsg = 1db2316fd568378da107b52b\nresult = valid\ntag = 404099c2587f64979f21826706d497d5\n\n# tcId = 97\n# draft-irtf-cfrg-gcmsiv-09\naad = f37de21c7ff901cfe8a69615a93fdf7a98cad481796245709f\nct = 793576dfa5c0f88729a7ed3c2f1bff\niv = 6de71860f762ebfbd08284e4\nkey = 9745b3d1ae06556fb6aa7890bebc18fe6b3db4da3d57aa94842b9803a96e07fb\nmsg = 21702de0de18baa9c9596291b08466\nresult = valid\ntag = b3080d28f6ebb5d3648ce97bd5ba67fd\n\n# tcId = 98\n# draft-irtf-cfrg-gcmsiv-09\naad = 9c2159058b1f0fe91433a5bdc20e214eab7fecef4454a10ef0657df21ac7\nct = 857e16a64915a787637687db4a9519635cdd\niv = 028ec6eb5ea7e298342a94d4\nkey = b18853f68d833640e42a3c02c25b64869e146d7b233987bddfc240871d7576f7\nmsg = b202b370ef9768ec6561c4fe6b7e7296fa85\nresult = valid\ntag = 454fc2a154fea91f8363a39fec7d0a49\n\n# tcId = 99\n# draft-irtf-cfrg-gcmsiv-09\naad = 734320ccc9d9bbbb19cb81b2af4ecbc3e72834321f7aa0f70b7282b4f33df23f167541\nct = 626660c26ea6612fb17ad91e8e767639edd6c9faee\niv = 688089e55540db1872504e1c\nkey = 3c535de192eaed3822a2fbbe2ca9dfc88255e14a661b8aa82cc54236093bbc23\nmsg = ced532ce4159b035277d4dfbb7db62968b13cd4eec\nresult = valid\ntag = 9d6c7029675b89eaf4ba1ded1a286594\n\n# tcId = 100\n# draft-irtf-cfrg-gcmsiv-09\naad = \nct = f3f80f2cf0cb2dd9c5984fcda908456cc537703b5ba70324a6793a7bf218d3ea\niv = 000000000000000000000000\nkey = 0000000000000000000000000000000000000000000000000000000000000000\nmsg = 000000000000000000000000000000004db923dc793ee6497c76dcc03a98e108\nresult = valid\ntag = ffffffff000000000000000000000000\n\n# tcId = 101\n# draft-irtf-cfrg-gcmsiv-09\naad = \nct = 18ce4f0b8cb4d0cac65fea8f79257b20888e53e72299e56d\niv = 000000000000000000000000\nkey = 0000000000000000000000000000000000000000000000000000000000000000\nmsg = eb3640277c7ffd1303c7a542d02d3e4c0000000000000000\nresult = valid\ntag = ffffffff000000000000000000000000\n\n# tcId = 102\naad = \nct = \niv = 4da5bf8dfd5852c1ea12379d\nkey = 80ba3192c803ce965ea371d5ff073cf0f43b6a2ab576b208426e11409c09b9b0\nmsg = \nresult = valid\ntag = 181720f6ecdcdd332c89d20e09f11b0f\n\n# tcId = 103\naad = \nct = fa\niv = 99e23ec48985bccdeeab60f1\nkey = cc56b680552eb75008f5484b4cb803fa5063ebd6eab91f6ab6aef4916a766273\nmsg = 2a\nresult = valid\ntag = 868ee11a7fe13996ac26962a7e861962\n\n# tcId = 104\naad = \nct = c32210c306fac7dc\niv = 4f07afedfdc3b6c2361823d3\nkey = 51e4bf2bad92b7aff1a4bc05550ba81df4b96fabf41c12c7b00e60e48db7e152\nmsg = be3308f72a2c6aed\nresult = valid\ntag = da60d8ff4d550e6801b0ce488ed1b6fe\n\n# tcId = 105\naad = \nct = 0180029193bbb29e326b5817e8ea01\niv = 68ab7fdbf61901dad461d23c\nkey = 67119627bd988eda906219e08c0d0d779a07d208ce8a4fe0709af755eeec6dcb\nmsg = 51f8c1f731ea14acdb210a6d973e07\nresult = valid\ntag = 4dd43e861c5f141a693ebc056ed0f0f9\n\n# tcId = 106\naad = \nct = 31cb136074adcd00cf75e9587d7e8424\niv = 2fcb1b38a99e71b84740ad9b\nkey = 59d4eafb4de0cfc7d3db99a8f54b15d7b39f0acc8da69763b019c1699f87674a\nmsg = 549b365af913f3b081131ccb6b825588\nresult = valid\ntag = 567871b7aaaf3c00f42fd9d5962df514\n\n# tcId = 107\naad = \nct = c97e58e8730a567e8bdf5eb981cdd5f323\niv = 45aaa3e5d16d2d42dc03445d\nkey = 3b2458d8176e1621c0cc24c0c0e24c1e80d72f7ee9149a4b166176629616d011\nmsg = 3ff1514b1c503915918f0c0c31094a6e1f\nresult = valid\ntag = 4b2dc825fef9dc6bf234f2b8ff798f9e\n\n# tcId = 108\naad = \nct = c2669f9fc8fe6013c4dd22468d43c2af73647b7018531d29\niv = e6b1adf2fd58a8762c65f31b\nkey = 0212a8de5007ed87b33f1a7090b6114f9e08cefd9607f2c276bdcfdbc5ce9cd7\nmsg = 10f1ecf9c60584665d9ae5efe279e7f7377eea6916d2b111\nresult = valid\ntag = 06a58c8d44e99b3262cad0e920df1f85\n\n# tcId = 109\naad = \nct = faaef557c31a231115f393c4b3c1a1413fb40b4204458d5f9ef8a9f2f12486ae\niv = 72cfd90ef3026ca22b7e6e6a\nkey = e1731d5854e1b70cb3ffe8b786a2b3ebf0994370954757b9dc8c7bc5354634a3\nmsg = b9c554cbc36ac18ae897df7beecac1dbeb4eafa156bb60ce2e5d48f05715e678\nresult = valid\ntag = 72fc457255aadf708719c46986caefad\n\n# tcId = 110\naad = 02\nct = 12fffdccd1e5a9708fa30ccf99137067\niv = 87345f1055fd9e2102d50656\nkey = 7d00b48095adfa3272050607b264185002ba99957c498be022770f2ce2f3143c\nmsg = e5ccaa441bc814688f8f6e8f28b500b2\nresult = valid\ntag = 688e0b634f51c4f6d983629c8a63c1c0\n\n# tcId = 111\naad = b648\nct = b75b8e96de2ef9704ade5c64cab59671\niv = 87a3163ec0598ad95b3aa713\nkey = 6432717f1db85e41ac7836bce25185a080d5762b9e2b18444b6ec72c3bd8e4dc\nmsg = 02cde168fba3f544bbd0332f7adeada8\nresult = valid\ntag = dec00ceb899c4a6a29be67f1b30435e0\n\n# tcId = 112\naad = bd4cd02fc7502bbdbdf6c9a3cbe8f0\nct = 8e67034384170a646e9eea1606a8e899\niv = 6f573aa86baa492ba46596df\nkey = 8e34cf73d245a1082a920b86364eb896c4946467bcb3d58929fcb36690e6394f\nmsg = 16ddd23ff53f3d23c06334487040eb47\nresult = valid\ntag = fe7a3dd42beb5ff70bb471ff76f0d341\n\n# tcId = 113\naad = 89cce9fb47441d07e0245a66fe8b778b\nct = 7eeb00c65fe7e0c79255e3cd90013588\niv = 1a6518f02ede1da6809266d9\nkey = cb5575f5c7c45c91cf320b139fb594237560d0a3e6f865a67d4f633f2c08f016\nmsg = 623b7850c321e2cf0c6fbcc8dfd1aff2\nresult = valid\ntag = 957d35fb25fdc17f00db33756967fd02\n\n# tcId = 114\naad = d19f2d989095f7ab03a5fde84416e00c0e\nct = f83e3b4333400d6393d085fe947057c4\niv = 564dee49ab00d240fc1068c3\nkey = a5569e729a69b24ba6e0ff15c4627897436824c941e9d00b2e93fddc4ba77657\nmsg = 87b3a4d7b26d8d3203a0de1d64ef82e3\nresult = valid\ntag = 7a30291bb506ae3961f61d683c9d94d1\n\n# tcId = 115\naad = ba446f6f9a0ced22450feb10737d9007fd69abc19b1d4d9049a5551e86ec2b37\nct = 97db4d850442eb33e6089af6f3cadf7b\niv = 8df4b15a888c33286a7b7651\nkey = 3937986af86dafc1ba0c4672d8abc46c207062682d9c264ab06d6c5807205130\nmsg = dc9e9eaf11e314182df6a4eba17aec9c\nresult = valid\ntag = 3ccbb125b2835754c1409d227e374d0b\n\n# tcId = 116\n# Testing for ctr overflow\naad = 40c32e00c2fdab59c1a1c573b46b5068\nct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\niv = 010101010101010101010101\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = bdd411814564c4218d224d50591c818855a862a0a519ac0b3d71a2edb12aa71eb81959bcc6b84c45aa424c9aca0b7bdd\nresult = valid\ntag = 00000000000000000000000000000000\nflags = ConstructedIv\n\n# tcId = 117\n# Testing for ctr overflow\naad = 2cc3a1973e0560f7224a394e52fa8488\nct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\niv = 000000000000000000000000\nkey = 00010", + "2030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = d04846a01f472262e60a1cb4cfcbdcb05c3f819628a3a49395c5dae96c434b2417ce071699afa74a60c32c0bafd9c01a\nresult = valid\ntag = ffffffffffffffffffffffffffffffff\nflags = ConstructedIv\n\n# tcId = 118\n# Testing for ctr overflow\naad = 2e34d12622a441b557eeb1d647c6cb73\nct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\niv = 010101010101010101010101\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 79637cee9decf33e3080de3d2c55bd21cd529ba8080b583edb6cfe13cda04bd00debe58b8cd48d6e02a1ecfc4d87923a\nresult = valid\ntag = fefffffffefffffffefffffffeffffff\nflags = ConstructedIv\n\n# tcId = 119\n# Testing for ctr overflow\naad = 0814a95481bf915a4097949e3525c7e7\nct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\niv = 000000000000000000000000\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 6492a73880dac7f36743715b0fc7063d3e46a25044310bba5849ed88bfcb54b0adbe3978040bda849906e1aa09d1a8e3\nresult = valid\ntag = ffffff7f00112233445566778899aabb\nflags = ConstructedIv\n\n# tcId = 120\n# Testing for ctr overflow\naad = b691ef42f2ab8d1b4a581bb08394b13a\nct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\niv = 010101010101010101010101\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 7848d9e872f40bca1b82a4e7185fb75193b3496cc1dc2a72b86ed156ab8389e71687ed25eb6485e66561fa8c39853368\nresult = valid\ntag = ffffffffffffff7f0011223344556677\nflags = ConstructedIv\n\n# tcId = 121\n# Flipped bit 0 in tag\naad = e144878b0bbbf01b75231277e1e0d114\nct = 00000000000000000000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = f663044a4e7dd822aba0b7de2d869981\nresult = invalid\ntag = 13a1883272188b4c8d2727178198fe95\n\n# tcId = 122\n# Flipped bit 0 in tag\naad = 0289eaa93eb084107d2088435ef2a0cd\nct = ffffffffffffffff\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 49861b1fb6bcf8e4\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 123\n# Flipped bit 1 in tag\naad = f3bd6013669b7d9371727fcb1aafea75\nct = ffffffffffffffff\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 49861b1fb6bcf8e4\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 124\n# Flipped bit 7 in tag\naad = 922e91b2c5016e4303c737d1608ca25f\nct = \niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = \nresult = invalid\ntag = 0987e35e40981a2730c1740c7201731f\n\n# tcId = 125\n# Flipped bit 7 in tag\naad = 7195dd0addce5dd7014bfddb2f23206f\nct = 0000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 759dfbbb8a251ccc\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 126\n# Flipped bit 7 in tag\naad = 32fc2a53e9678f1fc6d63081c36c6f2c\nct = ffffffffffffffff\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 49861b1fb6bcf8e4\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 127\n# Flipped bit 8 in tag\naad = c55ba71ee250216f8ecfe822d712dd38\nct = \niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = \nresult = invalid\ntag = 0987e35e40981a2730c1740c7201731f\n\n# tcId = 128\n# Flipped bit 8 in tag\naad = 5546acf865fc305fbd7ff1092cb9c2c3\nct = 0000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 759dfbbb8a251ccc\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 129\n# Flipped bit 31 in tag\naad = 6b060eebe1843b409a4dfd0be8f86a2b\nct = 00000000000000000000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = f663044a4e7dd822aba0b7de2d869981\nresult = invalid\ntag = 13a1883272188b4c8d2727178198fe95\n\n# tcId = 130\n# Flipped bit 31 in tag\naad = c4adb92f1a60eb2faff88675f62a7276\nct = 0000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 759dfbbb8a251ccc\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 131\n# Flipped bit 32 in tag\naad = 70c5a8591f52f869c6415a6d7000e253\nct = 00000000000000000000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = f663044a4e7dd822aba0b7de2d869981\nresult = invalid\ntag = 13a1883272188b4c8d2727178198fe95\n\n# tcId = 132\n# Flipped bit 56 in tag\naad = 46c788111083d8913153a6e37e5506a3\nct = \niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = \nresult = invalid\ntag = 0987e35e40981a2730c1740c7201731f\n\n# tcId = 133\n# Flipped bit 56 in tag\naad = 1ed7665962378cec4039c793a8f744d0\nct = 0000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 759dfbbb8a251ccc\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 134\n# Flipped bit 56 in tag\naad = a0f7587c5862609c6dc983780bcda180\nct = ffffffffffffffff\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 49861b1fb6bcf8e4\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 135\n# Flipped bit 63 in tag\naad = b5fe79f182cb9f2945208e29513928d1\nct = \niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = \nresult = invalid\ntag = 0987e35e40981a2730c1740c7201731f\n\n# tcId = 136\n# Flipped bit 63 in tag\naad = c1dbf87e4a586b040c53f6dd9063b4cd\nct = ffffffffffffffff\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 49861b1fb6bcf8e4\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 137\n# Flipped bit 64 in tag\naad = 845466e603ca85a224693d150ae13ba3\nct = 0000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 759dfbbb8a251ccc\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 138\n# Flipped bit 88 in tag\naad = 90a992a8443d65870b4d8bca85e4a698\nct = 00000000000000000000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = f663044a4e7dd822aba0b7de2d869981\nresult = invalid\ntag = 13a1883272188b4c8d2727178198fe95\n\n# tcId = 139\n# Flipped bit 88 in tag\naad = e1737a834410e5fba6cdc1d1f7d12c12\nct = ffffffffffffffff\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 49861b1fb6bcf8e4\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 140\n# Flipped bit 96 in tag\naad = 445c8fffa3d960e39ca86260c66418d8\nct = \niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = \nresult = invalid\ntag = 0987e35e40981a2730c1740c7201731f\n\n# tcId = 141\n# Flipped bit 97 in tag\naad = 18cb9f5eede6224fa3fcd525cf9f958b\nct = 00000000000000000000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = f663044a4e7dd822aba0b7de2d869981\nresult = invalid\ntag = 13a1883272188b4c8d2727178198fe95\n\n# tcId = 142\n# Flipped bit 97 in tag\naad = 8c4fbca37d2e361856b9f80adf455fa0\nct = 0000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 759dfbbb8a251ccc\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 143\n# Flipped bit 97 in tag\naad = bc517fe140abf2b42eb1cafe8c0715a9\nct = ffffffffffffffff\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 49861b1fb6bcf8e4\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 144\n# Flipped bit 120 in tag\naad = 617e1c5ef62ed35cf678e670f116ff2f\nct = \niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff001122", + "33445566778899aabbccddeeff\nmsg = \nresult = invalid\ntag = 0987e35e40981a2730c1740c7201731f\n\n# tcId = 145\n# Flipped bit 120 in tag\naad = e71802b7a37e8ef1f001ef0c52c636f2\nct = 00000000000000000000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = f663044a4e7dd822aba0b7de2d869981\nresult = invalid\ntag = 13a1883272188b4c8d2727178198fe95\n\n# tcId = 146\n# Flipped bit 120 in tag\naad = be647e37f154d4a8edca5a29ca221cc5\nct = 0000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 759dfbbb8a251ccc\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 147\n# Flipped bit 121 in tag\naad = b3caa01f49c7cbc56c7c92547257957e\nct = 00000000000000000000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = f663044a4e7dd822aba0b7de2d869981\nresult = invalid\ntag = 13a1883272188b4c8d2727178198fe95\n\n# tcId = 148\n# Flipped bit 121 in tag\naad = ab0347a2aec4cc4c366583062442ba07\nct = 0000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 759dfbbb8a251ccc\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 149\n# Flipped bit 126 in tag\naad = 62573ef39a27f77b37fb7bfc84e46cee\nct = \niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = \nresult = invalid\ntag = 0987e35e40981a2730c1740c7201731f\n\n# tcId = 150\n# Flipped bit 126 in tag\naad = 28e3cadfb16834e824642e965588c200\nct = 0000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 759dfbbb8a251ccc\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 151\n# Flipped bit 126 in tag\naad = 7edd2fc15bed224a46dc8608e1766080\nct = ffffffffffffffff\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 49861b1fb6bcf8e4\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 152\n# Flipped bit 127 in tag\naad = 7e0e03104e2c0ff20ba4c35742180c5b\nct = \niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = \nresult = invalid\ntag = 0987e35e40981a2730c1740c7201731f\n\n# tcId = 153\n# Flipped bit 127 in tag\naad = 9a24dc75c5ddd3bab57ff532eb86d224\nct = 00000000000000000000000000000000\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = f663044a4e7dd822aba0b7de2d869981\nresult = invalid\ntag = 13a1883272188b4c8d2727178198fe95\n\n# tcId = 154\n# Flipped bit 127 in tag\naad = 3196aec499c15bc043b6866ba0df6e6b\nct = ffffffffffffffff\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 49861b1fb6bcf8e4\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 155\n# Flipped bit 0..127 in tag\naad = 55a2987aa94bf46ad1b6d253a44c1622\nct = ffffffffffffffff\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 49861b1fb6bcf8e4\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n", }; -static const size_t kLen59 = 66052; +static const size_t kLen92 = 81097; -static const char *kData59[] = { - "# Imported from Wycheproof's aes_gcm_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: AES-GCM\n# Generator version: 0.4.12\n\n[ivSize = 96]\n[keySize = 128]\n[tagSize = 128]\n\n# tcId = 1\naad = \nct = 26073cc1d851beff176384dc9896d5ff\niv = 028318abc1824029138141a2\nkey = 5b9604fe14eadba931b0ccf34843dab9\nmsg = 001d0c231287c1182784554ca3a21908\nresult = valid\ntag = 0a3ea7a5487cb5f7d70fb6c58d038554\n\n# tcId = 2\naad = 00112233445566778899aabbccddeeff\nct = 49d8b9783e911913d87094d1f63cc765\niv = 921d2507fa8007b7bd067d34\nkey = 5b9604fe14eadba931b0ccf34843dab9\nmsg = 001d0c231287c1182784554ca3a21908\nresult = valid\ntag = 1e348ba07cca2cf04c618cb4d43a5b92\n\n# tcId = 3\naad = aac39231129872a2\nct = eea945f3d0f98cc0fbab472a0cf24e87\niv = 0432bc49ac34412081288127\nkey = aa023d0478dcb2b2312498293d9a9129\nmsg = 2035af313d1346ab00154fea78322105\nresult = valid\ntag = 4bb9b4812519dadf9e1232016d068133\n\n# tcId = 4\naad = \nct = 54\niv = b30c084727ad1c592ac21d12\nkey = 384ea416ac3c2f51a76e7d8226346d4e\nmsg = 35\nresult = valid\ntag = 7c1e4ae88bb27e5638343cb9fd3f6337\n\n# tcId = 5\naad = \nct = a036ead03193903f\niv = b5e006ded553110e6dc56529\nkey = cae31cd9f55526eb038241fc44cac1e5\nmsg = d10989f2c52e94ad\nresult = valid\ntag = 3b626940e0e9f0cbea8e18c437fd6011\n\n# tcId = 6\naad = \nct = 8a9992388e735f80ee18f4a63c10ad\niv = ecb0c42f7000ef0e6f95f24d\nkey = dd6197cd63c963919cf0c273ef6b28bf\nmsg = 4dcc1485365866e25ac3f2ca6aba97\nresult = valid\ntag = 1486a91cccf92c9a5b00f7b0e034891c\n\n# tcId = 7\naad = \nct = f7bd379d130477176b8bb3cb23dbbbaa\niv = 0e1666f2dc652f7708fb8f0d\nkey = ffdf4228361ea1f8165852136b3480f7\nmsg = 25b12e28ac0ef6ead0226a3b2288c800\nresult = valid\ntag = 1ee6513ce30c7873f59dd4350a588f42\n\n# tcId = 8\naad = \nct = 0de51fe4f7f2d1f0f917569f5c6d1b009c\niv = 965ff6643116ac1443a2dec7\nkey = c15ed227dd2e237ecd087eaaaad19ea4\nmsg = fee62fde973fe025ad6b322dcdf3c63fc7\nresult = valid\ntag = 6cd8521422c0177e83ef1b7a845d97db\n\n# tcId = 9\naad = \nct = 7cd9f4e4f365704fff3b9900aa93ba54b672bac554275650\niv = fbbc04fd6e025b7193eb57f6\nkey = a8ee11b26d7ceb7f17eaa1e4b83a2cf6\nmsg = c08f085e6a9e0ef3636280c11ecfadf0c1e72919ffc17eaf\nresult = valid\ntag = f4eb193241226db017b32ec38ca47217\n\n# tcId = 10\naad = c3\nct = f58d453212c2c8a436e9283672f579f119122978\niv = 32bcb9b569e3b852d37c766a\nkey = 28ff3def08179311e2734c6d1c4e2871\nmsg = dfc61a20df8505b53e3cd59f25770d5018add3d6\nresult = valid\ntag = 5901131d0760c8715901d881fdfd3bc0\n\n# tcId = 11\naad = 834afdc5c737186b\nct = bf864616c2347509ca9b10446379b9bdbb3b8f64\niv = 9c3a4263d983456658aad4b1\nkey = e63a43216c08867210e248859eb5e99c\nmsg = b14da56b0462dc05b871fc815273ff4810f92f4b\nresult = valid\ntag = a97d25b490390b53c5db91f6ee2a15b8\n\n# tcId = 12\naad = 4020855c66ac4595058395f367201c4c\nct = a6f2ef3c7ef74a126dd2d5f6673964e27d5b34b6\niv = 33e90658416e7c1a7c005f11\nkey = 38449890234eb8afab0bbf82e2385454\nmsg = f762776bf83163b323ca63a6b3adeac1e1357262\nresult = valid\ntag = b8bbdc4f5014bc752c8b4e9b87f650a3\n\n# tcId = 13\naad = 76eb5f147250fa3c12bff0a6e3934a0b16860cf11646773b\nct = bd64802cfebaeb487d3a8f76ce943a37b3472dd5\niv = 9f0d85b605711f34cd2a35ba\nkey = 6a68671dfe323d419894381f85eb63fd\nmsg = 0fc67899c3f1bbe196d90f1eca3797389230aa37\nresult = valid\ntag = fce9a5b530c7d7af718be1ec0ae9ed4d\n\n# tcId = 14\n# special case\naad = \nct = f62d84d649e56bc8cfedc5d74a51e2f7\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = ebd4a3e10cf6d41c50aeae007563b072\nresult = valid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 15\n# special case\naad = \nct = 431f31e6840931fd95f94bf88296ff69\niv = ffffffffffffffffffffffff\nkey = 00112233445566778899aabbccddeeff\nmsg = d593c4d8224f1b100c35e4f6c4006543\nresult = valid\ntag = 00000000000000000000000000000000\n\n# tcId = 16\n# Flipped bit 0 in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = d9847dbc326a06e988c77ad3863e6083\n\n# tcId = 17\n# Flipped bit 1 in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = da847dbc326a06e988c77ad3863e6083\n\n# tcId = 18\n# Flipped bit 7 in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 58847dbc326a06e988c77ad3863e6083\n\n# tcId = 19\n# Flipped bit 8 in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = d8857dbc326a06e988c77ad3863e6083\n\n# tcId = 20\n# Flipped bit 31 in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = d8847d3c326a06e988c77ad3863e6083\n\n# tcId = 21\n# Flipped bit 32 in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = d8847dbc336a06e988c77ad3863e6083\n\n# tcId = 22\n# Flipped bit 33 in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = d8847dbc306a06e988c77ad3863e6083\n\n# tcId = 23\n# Flipped bit 63 in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = d8847dbc326a066988c77ad3863e6083\n\n# tcId = 24\n# Flipped bit 64 in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = d8847dbc326a06e989c77ad3863e6083\n\n# tcId = 25\n# Flipped bit 71 in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = d8847dbc326a06e908c77ad3863e6083\n\n# tcId = 26\n# Flipped bit 77 in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = d8847dbc326a06e988e77ad3863e6083\n\n# tcId = 27\n# Flipped bit 80 in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = d8847dbc326a06e988c77bd3863e6083\n\n# tcId = 28\n# Flipped bit 96 in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = d8847dbc326a06e988c77ad3873e6083\n\n# tcId = 29\n# Flipped bit 97 in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = d8847dbc326a06e988c77ad3843e6083\n\n# tcId = 30\n# Flipped bit 103 in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = d8847dbc326a06e988c77ad3063e6083\n\n# tcId = 31\n# Flipped bit 120 in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = d8847dbc326a06e988c77ad3863e6082\n\n# tcId = 32\n# Flipped bit 121 in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = d8847dbc326a06e988c77ad3863e6081\n\n# tcId = 33\n# Flipped bit 126 in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = d8847dbc326a06e988c77ad3863e60c3\n\n# tcId = 34\n# Flipped bit 127 in tag\naad = \nct = eb156d081ed6b6b55f4612f02", - "1d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = d8847dbc326a06e988c77ad3863e6003\n\n# tcId = 35\n# Flipped bits 0 and 64 in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = d9847dbc326a06e989c77ad3863e6083\n\n# tcId = 36\n# Flipped bits 31 and 63 in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = d8847d3c326a066988c77ad3863e6083\n\n# tcId = 37\n# Flipped bits 63 and 127 in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = d8847dbc326a066988c77ad3863e6003\n\n# tcId = 38\n# all bits of tag flipped\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 277b8243cd95f9167738852c79c19f7c\n\n# tcId = 39\n# Tag changed to all zero\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 40\n# tag changed to all 1\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 41\n# msbs changed in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 5804fd3cb2ea86690847fa5306bee003\n\n# tcId = 42\n# lsbs changed in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = d9857cbd336b07e889c67bd2873f6182\n\n[ivSize = 64]\n[keySize = 128]\n[tagSize = 128]\n\n# tcId = 43\naad = aac39231129872a2\nct = 64c36bb3b732034e3a7d04efc5197785\niv = 0432bc49ac344120\nkey = aa023d0478dcb2b2312498293d9a9129\nmsg = 2035af313d1346ab00154fea78322105\nresult = valid\ntag = b7d0dd70b00d65b97cfd080ff4b819d1\n\n# tcId = 44\n# unusual IV size\naad = \nct = 9a078a04d14938918e004358\niv = 68cbeafe8f9e8a66\nkey = 25dd4d6cad5a4604957847c8c6d3fc4e\nmsg = 5c347835b3fa61c2ce253e5a\nresult = valid\ntag = 5452843e32c13c3e35ed8230fe3446c0\n\n[ivSize = 128]\n[keySize = 128]\n[tagSize = 128]\n\n# tcId = 45\naad = 1a0293d8f90219058902139013908190bc490890d3ff12a3\nct = 64069c2d58690561f27ee199e6b479b6369eec688672bde9\niv = 3254202d854734812398127a3d134421\nkey = 2034a82547276c83dd3212a813572bce\nmsg = 02efd2e5782312827ed5d230189a2a342b277ce048462193\nresult = valid\ntag = 9b7abadd6e69c1d9ec925786534f5075\n\n# tcId = 46\naad = \nct = fd\niv = 9477849d6ccdfca112d92e53fae4a7ca\nkey = 209e6dbf2ad26a105445fc0207cd9e9a\nmsg = 01\nresult = valid\ntag = 032df7bba5d8ea1a14f16f70bd0e14ec\n\n# tcId = 47\naad = \nct = 2f333087bdca58219f9bfc273e45cc\niv = 5171524568e81d97e8c4de4ba56c10a0\nkey = a549442e35154032d07c8666006aa6a2\nmsg = 1182e93596cac5608946400bc73f3a\nresult = valid\ntag = e06d1ef473132957ad37eaef29733ca0\n\n# tcId = 48\naad = \nct = a780bd01c80885156c88a973264c8ee5\niv = 1275115499ae722268515bf0c164b49c\nkey = cfb4c26f126f6a0acb8e4e220f6c56cd\nmsg = 09dfd7f080275257cf97e76f966b1ad9\nresult = valid\ntag = 2adeffa682c8d8a81fada7d9fcdd2ee2\n\n# tcId = 49\naad = \nct = 7e47e10fe3c6fbfa381770eaf5d48d1482e71e0c44dff1e30ca6f95d92052084\niv = 95c1dd8c0f1705ece68937901f7add7b\nkey = 0b11ef3a08c02970f74281c860691c75\nmsg = f693d4edd825dbb0618d91113128880dbebb23e25d00ed1f077d870be9cc7536\nresult = valid\ntag = d01444fa5d9c499629d174ff3927a1ac\n\n# tcId = 50\n# J0:000102030405060708090a0b0c0d0e0f\naad = \nct = 00078d109d92143fcd5df56721b884fac64ac7762cc09eea2a3c68e92a17bdb575f87bda18be564e\niv = f95fde4a751913202aeeee32a0b55753\nkey = 00112233445566778899aabbccddeeff\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = 152a65045fe674f97627427af5be22da\n# The counter for AES-GCM is reduced modulo 2**32. This test vector was\n# constructed to test for correct wrapping of the counter.\n\n# tcId = 51\n# J0:00000000000000000000000000000000\naad = \nct = 84d4c9c08b4f482861e3a9c6c35bc4d91df927374513bfd49f436bd73f325285daef4ff7e13d46a6\niv = 7b95b8c356810a84711d68150a1b7750\nkey = 00112233445566778899aabbccddeeff\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = 213a3cb93855d18e69337eee66aeec07\n# The counter for AES-GCM is reduced modulo 2**32. This test vector was\n# constructed to test for correct wrapping of the counter.\n\n# tcId = 52\n# J0:ffffffffffffffffffffffffffffffff\naad = \nct = 948ca37a8e6649e88aeffb1c598f3607007702417ea0e0bc3c60ad5a949886de968cf53ea6462aed\niv = 1a552e67cdc4dc1a33b824874ebf0bed\nkey = 00112233445566778899aabbccddeeff\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = 99b381bfa2af9751c39d1b6e86d1be6a\n# The counter for AES-GCM is reduced modulo 2**32. This test vector was\n# constructed to test for correct wrapping of the counter.\n\n# tcId = 53\n# J0:fffffffffffffffffffffffffffffffe\naad = \nct = 64b19314c31af45accdf7e3c4db79f0d948ca37a8e6649e88aeffb1c598f3607007702417ea0e0bc\niv = dd9d0b4a0c3d681524bffca31d907661\nkey = 00112233445566778899aabbccddeeff\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = 5281efc7f13ac8e14ccf5dca7bfbfdd1\n# The counter for AES-GCM is reduced modulo 2**32. This test vector was\n# constructed to test for correct wrapping of the counter.\n\n# tcId = 54\n# J0:fffffffffffffffffffffffffffffffd\naad = \nct = 2bb69c3e5d1f91815c6b87a0d5bbea7164b19314c31af45accdf7e3c4db79f0d948ca37a8e6649e8\niv = 57c5643c4e37b4041db794cfe8e1f0f4\nkey = 00112233445566778899aabbccddeeff\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = a3ea2c09ee4f8c8a12f45cddf9aeff81\n# The counter for AES-GCM is reduced modulo 2**32. This test vector was\n# constructed to test for correct wrapping of the counter.\n\n# tcId = 55\n# J0:000102030405060708090a0bffffffff\naad = \nct = 127af9b39ecdfc57bb11a2847c7c2d3d8f938f40f877e0c4af37d0fe9af033052bd537c4ae978f60\niv = 99821c2dd5daecded07300f577f7aff1\nkey = 00112233445566778899aabbccddeeff\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = 07eb2fe4a958f8434d40684899507c7c\n# The counter for AES-GCM is reduced modulo 2**32. This test vector was\n# constructed to test for correct wrapping of the counter.\n\n# tcId = 56\n# J0:000102030405060708090a0bfffffffe\naad = \nct = 0cf6ae47156b14dce03c8a07a2e172b1127af9b39ecdfc57bb11a2847c7c2d3d8f938f40f877e0c4\niv = 5e4a3900142358d1c774d8d124d8d27d\nkey = 00112233445566778899aabbccddeeff\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = f145c2dcaf339eede427be934357eac0\n# The counter for AES-GCM is reduced modulo 2**32. This test vector was\n# constructed to test for correct wrapping of the counter.\n\n# tcId = 57\n# J0:000102030405060708090a0bfffffffd\naad = \nct = f0c6ffc18bd46df5569185a9afd169eb0cf6ae47156b14dce03c8a07a2e172b1127af9b39ecdfc57\niv = d4125676562984c0fe7cb0bdd1a954e8\nkey = 00112233445566778899aabbccddeeff\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = facd0bfe8701b7b4a2ba96d98af52bd9\n# The counter for AES-GCM is reduced modulo 2**32. This test vector was\n# constructed to test for correct wrapping of the counter.\n\n# tcId = 58\n# J0:000102030405060708090a0b7fffffff\naad = \nct = d6928e094c06e0a7c4db42184cf7529e95de88b767edebe9b343000be3dab47ea08b744293eed698\niv = b97ec62a5e5900ccf9e4be332e336091\nkey = 00112233445566778899aabbccddeeff\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag =", - " a03e729dcfd7a03155655fece8affd7e\n# The counter for AES-GCM is reduced modulo 2**32. This test vector was\n# constructed to test for correct wrapping of the counter.\n\n# tcId = 59\n# J0:000102030405060708090a0b7ffffffe\naad = \nct = d82ce58771bf6487116bf8e96421877ed6928e094c06e0a7c4db42184cf7529e95de88b767edebe9\niv = 7eb6e3079fa0b4c3eee366177d1c1d1d\nkey = 00112233445566778899aabbccddeeff\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = 1e43926828bc9a1614c7b1639096c195\n# The counter for AES-GCM is reduced modulo 2**32. This test vector was\n# constructed to test for correct wrapping of the counter.\n\n# tcId = 60\n# J0:000102030405060708090a0bffff7fff\naad = \nct = a197a37a5d79697078536bc27fe46cd8d475526d9044aa94f088a054f8e380c64f79414795c61480\niv = 0314fcd10fdd675d3c612962c931f635\nkey = 00112233445566778899aabbccddeeff\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = f08baddf0b5285c91fc06a67fe4708ca\n# The counter for AES-GCM is reduced modulo 2**32. This test vector was\n# constructed to test for correct wrapping of the counter.\n\n# tcId = 61\n# J0:000102030405060708090a0bffff7ffe\naad = \nct = 149fde9abbd3a43c2548575e0db9fb84a197a37a5d79697078536bc27fe46cd8d475526d9044aa94\niv = c4dcd9fcce24d3522b66f1469a1e8bb9\nkey = 00112233445566778899aabbccddeeff\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = 62a4b6875c288345d6a454399eac1afa\n# The counter for AES-GCM is reduced modulo 2**32. This test vector was\n# constructed to test for correct wrapping of the counter.\n\n# tcId = 62\n# special case\naad = \nct = 45a3f89d02918bfd0c8161658ccc9795\niv = 00000000000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = bec6fa05c1718b9b84c47345bbed7dcb\nresult = valid\ntag = 00000000000000000000000000000000\n\n# tcId = 63\n# special case\naad = \nct = 1cd5a06214235ceb044d4bad7b047312\niv = ffffffffffffffffffffffffffffffff\nkey = 00112233445566778899aabbccddeeff\nmsg = 4d82639c39d3f3490ee903dd0be7afcf\nresult = valid\ntag = ffffffffffffffffffffffffffffffff\n\n[ivSize = 96]\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 64\naad = 00000000ffffffff\nct = e27abdd2d2a53d2f136b\niv = 00112233445566778899aabb\nkey = 92ace3e348cd821092cd921aa3546374299ab46209691bc28b8752d17f123c20\nmsg = 00010203040506070809\nresult = valid\ntag = 9a4a2579529301bcfb71c78d4060f52c\n\n# tcId = 65\naad = aabbccddeeff\nct = \niv = 00112233445566778899aabb\nkey = 29d3a44f8723dc640239100c365423a312934ac80239212ac3df3421a2098123\nmsg = \nresult = valid\ntag = 2a7d77fa526b8250cb296078926b5020\n\n# tcId = 66\naad = \nct = 06\niv = 99e23ec48985bccdeeab60f1\nkey = cc56b680552eb75008f5484b4cb803fa5063ebd6eab91f6ab6aef4916a766273\nmsg = 2a\nresult = valid\ntag = 633c1e9703ef744ffffb40edf9d14355\n\n# tcId = 67\naad = \nct = cf332a12fdee800b\niv = 4f07afedfdc3b6c2361823d3\nkey = 51e4bf2bad92b7aff1a4bc05550ba81df4b96fabf41c12c7b00e60e48db7e152\nmsg = be3308f72a2c6aed\nresult = valid\ntag = 602e8d7c4799d62c140c9bb834876b09\n\n# tcId = 68\naad = \nct = 43fc101bff4b32bfadd3daf57a590e\niv = 68ab7fdbf61901dad461d23c\nkey = 67119627bd988eda906219e08c0d0d779a07d208ce8a4fe0709af755eeec6dcb\nmsg = 51f8c1f731ea14acdb210a6d973e07\nresult = valid\ntag = ec04aacb7148a8b8be44cb7eaf4efa69\n\n# tcId = 69\naad = \nct = f58c16690122d75356907fd96b570fca\niv = 2fcb1b38a99e71b84740ad9b\nkey = 59d4eafb4de0cfc7d3db99a8f54b15d7b39f0acc8da69763b019c1699f87674a\nmsg = 549b365af913f3b081131ccb6b825588\nresult = valid\ntag = 28752c20153092818faba2a334640d6e\n\n# tcId = 70\naad = \nct = 73a6b6f45f6ccc5131e07f2caa1f2e2f56\niv = 45aaa3e5d16d2d42dc03445d\nkey = 3b2458d8176e1621c0cc24c0c0e24c1e80d72f7ee9149a4b166176629616d011\nmsg = 3ff1514b1c503915918f0c0c31094a6e1f\nresult = valid\ntag = 2d7379ec1db5952d4e95d30c340b1b1d\n\n# tcId = 71\naad = \nct = 0843fff52d934fc7a071ea62c0bd351ce85678cde3ea2c9e\niv = e6b1adf2fd58a8762c65f31b\nkey = 0212a8de5007ed87b33f1a7090b6114f9e08cefd9607f2c276bdcfdbc5ce9cd7\nmsg = 10f1ecf9c60584665d9ae5efe279e7f7377eea6916d2b111\nresult = valid\ntag = 7355fde599006715053813ce696237a8\n\n# tcId = 72\naad = c0\nct = eb5500e3825952866d911253f8de860c00831c81\niv = 98bc2c7438d5cd7665d76f6e\nkey = b279f57e19c8f53f2f963f5f2519fdb7c1779be2ca2b3ae8e1128b7d6c627fc4\nmsg = fcc515b294408c8645c9183e3f4ecee5127846d1\nresult = valid\ntag = ecb660e1fb0541ec41e8d68a64141b3a\n\n# tcId = 73\naad = 956846a209e087ed\nct = feca44952447015b5df1f456df8ca4bb4eee2ce2\niv = 376187894605a8d45e30de51\nkey = cdccfe3f46d782ef47df4e72f0c02d9c7f774def970d23486f11a57f54247f17\nmsg = e28e0e9f9d22463ac0e42639b530f42102fded75\nresult = valid\ntag = 082e91924deeb77880e1b1c84f9b8d30\n\n# tcId = 74\naad = ab2ac7c44c60bdf8228c7884adb20184\nct = 43dda832e942e286da314daa99bef5071d9d2c78\niv = 5a86a50a0e8a179c734b996d\nkey = f32364b1d339d82e4f132d8f4a0ec1ff7e746517fa07ef1a7f422f4e25a48194\nmsg = 43891bccb522b1e72a6b53cf31c074e9d6c2df8e\nresult = valid\ntag = c3922583476ced575404ddb85dd8cd44\n\n# tcId = 75\naad = 972ab4e06390caae8f99dd6e2187be6c7ff2c08a24be16ef\nct = a929ee7e67c7a2f91bbcec6389a3caf43ab49305\niv = bc2a7757d0ce2d8b1f14ccd9\nkey = ff0089ee870a4a39f645b0a5da774f7a5911e9696fc9cad646452c2aa8595a12\nmsg = 748b28031621d95ee61812b4b4f47d04c6fc2ff3\nresult = valid\ntag = ebec6774b955e789591c822dab739e12\n\n# tcId = 76\n# special case\naad = \nct = 23293e9b07ca7d1b0cae7cc489a973b3\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff102132435465768798a9bacbdcedfe0f\nmsg = 561008fa07a68f5c61285cd013464eaf\nresult = valid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 77\n# special case\naad = \nct = 7cb6fc7c6abc009efe9551a99f36a421\niv = ffffffffffffffffffffffff\nkey = 00112233445566778899aabbccddeeff102132435465768798a9bacbdcedfe0f\nmsg = c6152244cea1978d3e0bc274cf8c0b3b\nresult = valid\ntag = 00000000000000000000000000000000\n\n# tcId = 78\n# Flipped bit 0 in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 9de8fef6d8ab1bf1bf887232eab590dd\n\n# tcId = 79\n# Flipped bit 1 in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 9ee8fef6d8ab1bf1bf887232eab590dd\n\n# tcId = 80\n# Flipped bit 7 in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 1ce8fef6d8ab1bf1bf887232eab590dd\n\n# tcId = 81\n# Flipped bit 8 in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 9ce9fef6d8ab1bf1bf887232eab590dd\n\n# tcId = 82\n# Flipped bit 31 in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 9ce8fe76d8ab1bf1bf887232eab590dd\n\n# tcId = 83\n# Flipped bit 32 in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 9ce8fef6d9ab1bf1bf887232eab590dd\n\n# tcId = 84\n# Flipped bit 33 in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 9ce8fef6daab1bf1bf887232eab590dd\n\n# tcId = 85\n# Flipped bit 63 in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 9ce8fef6d8ab1b71bf887232eab590dd\n\n# tcId = 86\n# Flipped bit 64 in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122", - "232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 9ce8fef6d8ab1bf1be887232eab590dd\n\n# tcId = 87\n# Flipped bit 71 in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 9ce8fef6d8ab1bf13f887232eab590dd\n\n# tcId = 88\n# Flipped bit 77 in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 9ce8fef6d8ab1bf1bfa87232eab590dd\n\n# tcId = 89\n# Flipped bit 80 in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 9ce8fef6d8ab1bf1bf887332eab590dd\n\n# tcId = 90\n# Flipped bit 96 in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 9ce8fef6d8ab1bf1bf887232ebb590dd\n\n# tcId = 91\n# Flipped bit 97 in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 9ce8fef6d8ab1bf1bf887232e8b590dd\n\n# tcId = 92\n# Flipped bit 103 in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 9ce8fef6d8ab1bf1bf8872326ab590dd\n\n# tcId = 93\n# Flipped bit 120 in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 9ce8fef6d8ab1bf1bf887232eab590dc\n\n# tcId = 94\n# Flipped bit 121 in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 9ce8fef6d8ab1bf1bf887232eab590df\n\n# tcId = 95\n# Flipped bit 126 in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 9ce8fef6d8ab1bf1bf887232eab5909d\n\n# tcId = 96\n# Flipped bit 127 in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 9ce8fef6d8ab1bf1bf887232eab5905d\n\n# tcId = 97\n# Flipped bits 0 and 64 in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 9de8fef6d8ab1bf1be887232eab590dd\n\n# tcId = 98\n# Flipped bits 31 and 63 in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 9ce8fe76d8ab1b71bf887232eab590dd\n\n# tcId = 99\n# Flipped bits 63 and 127 in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 9ce8fef6d8ab1b71bf887232eab5905d\n\n# tcId = 100\n# all bits of tag flipped\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 631701092754e40e40778dcd154a6f22\n\n# tcId = 101\n# Tag changed to all zero\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 102\n# tag changed to all 1\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 103\n# msbs changed in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 1c687e76582b9b713f08f2b26a35105d\n\n# tcId = 104\n# lsbs changed in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 9de9fff7d9aa1af0be897333ebb491dc\n\n[ivSize = 128]\n[keySize = 192]\n[tagSize = 128]\n\n# tcId = 105\n# J0:000102030405060708090a0b0c0d0e0f\naad = \nct = f83cee467336e1a09b75f24e9b4385c99c13e6af722256a66129ece961fe803b167bad206f5017fb\niv = 029e0e777db092b12535d043012f09ba\nkey = 00112233445566778899aabbccddeeff1021324354657687\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = 09338a42f0acc14f97c064f52f5f1688\n# The counter for AES-GCM is reduced modulo 2**32. This test vector was\n# constructed to test for correct wrapping of the counter.\n\n# tcId = 106\n# J0:00000000000000000000000000000000\naad = \nct = 0b32b648a2c28e9edd7cee08eeeb900034cae7215e5ab1e201bd2eed1032c5a97866ba582a3458a4\niv = f1be3b06b7feac07e7eab629f556047b\nkey = 00112233445566778899aabbccddeeff1021324354657687\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = 90be3606de58bd778fa5beff4a4102bd\n# The counter for AES-GCM is reduced modulo 2**32. This test vector was\n# constructed to test for correct wrapping of the counter.\n\n# tcId = 107\n# J0:ffffffffffffffffffffffffffffffff\naad = \nct = 575e2ecec2b3c72d4e80830d0d859ad9e42c29c4a68d8d9d8d23434de2cd07733be49d62ac1ae085\niv = de9eb63b1daed321a11b7547cc9e223c\nkey = 00112233445566778899aabbccddeeff1021324354657687\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = 6e4d6396125a10df5443bd0cbc8566d1\n# The counter for AES-GCM is reduced modulo 2**32. This test vector was\n# constructed to test for correct wrapping of the counter.\n\n# tcId = 108\n# J0:fffffffffffffffffffffffffffffffe\naad = \nct = 2a818888d1f09f32aa7beedd2869b446575e2ecec2b3c72d4e80830d0d859ad9e42c29c4a68d8d9d\niv = 40bb0abebc483ff6d5671241ff5d66c6\nkey = 00112233445566778899aabbccddeeff1021324354657687\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = dc481f172545268eff63ab0490403dc3\n# The counter for AES-GCM is reduced modulo 2**32. This test vector was\n# constructed to test for correct wrapping of the counter.\n\n# tcId = 109\n# J0:fffffffffffffffffffffffffffffffd\naad = \nct = 96d36b795f8e7edf6a8e0dbcd20d6c072a818888d1f09f32aa7beedd2869b446575e2ecec2b3c72d\niv = 20d5cf305e630a8f49e3bb4bab18abc9\nkey = 00112233445566778899aabbccddeeff1021324354657687\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = 8a3a22bf2592958b930292aa47f590e8\n# The counter for AES-GCM is reduced modulo 2**32. This test vector was\n# constructed to test for correct wrapping of the counter.\n\n# tcId = 110\n# J0:000102030405060708090a0bffffffff\naad = \nct = cfce3d920f0e01f0bb49a751955b236d1b887baefd25c47f41303c46d5c7bf9ca4c2c45a8f1e6656\niv = 255358a71a0e5731f6dd6ce28e158ae6\nkey = 00112233445566778899aabbccddeeff1021324354657687\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = 2db9dc1b7fd315df1c95432432fcf474\n# The counter for AES-GCM is reduced modulo 2**32. This test vector was\n# constructed to test f", - "or correct wrapping of the counter.\n\n# tcId = 111\n# J0:000102030405060708090a0bfffffffe\naad = \nct = 69a24169792e9a07f6e6f4736fa972dccfce3d920f0e01f0bb49a751955b236d1b887baefd25c47f\niv = bb76e422bbe8bbe682a10be4bdd6ce1c\nkey = 00112233445566778899aabbccddeeff1021324354657687\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = 82ad967f7ac19084354f69a751443fb2\n# The counter for AES-GCM is reduced modulo 2**32. This test vector was\n# constructed to test for correct wrapping of the counter.\n\n# tcId = 112\n# J0:000102030405060708090a0bfffffffd\naad = \nct = 4e4417a83beac1eb7e24456a05f6ba5569a24169792e9a07f6e6f4736fa972dccfce3d920f0e01f0\niv = db1821ac59c38e9f1e25a2eee9930313\nkey = 00112233445566778899aabbccddeeff1021324354657687\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = 472d5dd582dc05ef5fc496b612023cb2\n# The counter for AES-GCM is reduced modulo 2**32. This test vector was\n# constructed to test for correct wrapping of the counter.\n\n# tcId = 113\n# J0:000102030405060708090a0b7fffffff\naad = \nct = 6f8e174efca3097299f784efd4caff0bf168c3e5165b9ad3d20062009848044eef8f31f7d2fead05\niv = f7a02ecca03064b2ef3cce9feab79f07\nkey = 00112233445566778899aabbccddeeff1021324354657687\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = caff723826df150934aee3201ba175e7\n# The counter for AES-GCM is reduced modulo 2**32. This test vector was\n# constructed to test for correct wrapping of the counter.\n\n# tcId = 114\n# J0:000102030405060708090a0b7ffffffe\naad = \nct = af193090ce3d43a388a1d294a09616906f8e174efca3097299f784efd4caff0bf168c3e5165b9ad3\niv = 6985924901d688659b40a999d974dbfd\nkey = 00112233445566778899aabbccddeeff1021324354657687\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = 3b08958be1286c2b4acba02b3674adb2\n# The counter for AES-GCM is reduced modulo 2**32. This test vector was\n# constructed to test for correct wrapping of the counter.\n\n# tcId = 115\n# J0:000102030405060708090a0bffff7fff\naad = \nct = 5deccf838b2cf5f869c90d2a611160b1e578ab8121b93735cba4a1930647b8c4c84bf776333ee45a\niv = 3f1188546c65ed0fc55e75032c68ee44\nkey = 00112233445566778899aabbccddeeff1021324354657687\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = c14d52208f0f51b816a48971eaf8ff7e\n# The counter for AES-GCM is reduced modulo 2**32. This test vector was\n# constructed to test for correct wrapping of the counter.\n\n# tcId = 116\n# J0:000102030405060708090a0bffff7ffe\naad = \nct = d2cae1684aa407a13a2e2da5357e29f55deccf838b2cf5f869c90d2a611160b1e578ab8121b93735\niv = a13434d1cd8301d8b12212051fabaabe\nkey = 00112233445566778899aabbccddeeff1021324354657687\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = ea2d018099cd7925c507cef0ceddb0ae\n# The counter for AES-GCM is reduced modulo 2**32. This test vector was\n# constructed to test for correct wrapping of the counter.\n\n# tcId = 117\n# special case\naad = \nct = 541b835dc828d541073f7d7d7504ebf5\niv = 00000000000000000000000000000000\nkey = 00112233445566778899aabbccddeeff1021324354657687\nmsg = 5c7d3f81d4b5055ed6f8db53614587a4\nresult = valid\ntag = 00000000000000000000000000000000\n\n# tcId = 118\n# special case\naad = \nct = a3f36154331c196624564bc395e49c3b\niv = ffffffffffffffffffffffffffffffff\nkey = 00112233445566778899aabbccddeeff1021324354657687\nmsg = 6a347ad1190e72ede611044e7475f0eb\nresult = valid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 119\naad = \nct = dc\niv = 1e8259e0a43e571068f701cd2064fc0c\nkey = cee9abbc26b63e169f0ced621fe21d95904e75b881d93e6b\nmsg = 46\nresult = valid\ntag = af1f5535b125b34fc466902ea40cb3a2\n\n# tcId = 120\naad = \nct = 2aab5c87dcb4a4dae4e975ddb65aab\niv = c84442d6975f0359737de0fa828f958e\nkey = 189f0bd390ba40632586a45c39735c2b87113329c800f394\nmsg = b4bcd7b8eeca3050dd17682c6a914e\nresult = valid\ntag = 6b03b7557c7131e2352e495d54e61aef\n\n# tcId = 121\naad = \nct = d127fd2e67c0887d90eb92b91f357d97\niv = 13cd526ec77b58f62d48d03f8b88f2b8\nkey = b0724f15df5b792c2f49bc51df0ac5aad69be0030981613c\nmsg = 8da3ab9c3d195b04df452ad23953da4d\nresult = valid\ntag = eb05bda937faeed27f8833295d4ba559\n\n# tcId = 122\naad = \nct = 344c2cea17b06cb3da272e22a22a3a71ee0eaa1959a7facfff464660ddccedd1\niv = 1d3d62eccd8ac5e896f2654a7f606fc9\nkey = 998750ba784841e40a7c5b03985732b6397e5459a3843954\nmsg = 2f60ca3494a958dc3e6ebeb5d0b4e6dda0d0c4331ab9c957f6422a5100878ebf\nresult = valid\ntag = bab7fbf499ff06aad5f757b1c1a4fcc0\n\n[ivSize = 96]\n[keySize = 192]\n[tagSize = 128]\n\n# tcId = 123\n# special case\naad = \nct = 3f875c9bd7d8511448459468e398c3b2\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff1021324354657687\nmsg = 0b4dbbba8982e0f649f8ba85f3aa061b\nresult = valid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 124\n# special case\naad = \nct = 210dabea4364c6d5b3429e7743322936\niv = ffffffffffffffffffffffff\nkey = 00112233445566778899aabbccddeeff1021324354657687\nmsg = 1ae93688ef7e2650a9342ad4718b2780\nresult = valid\ntag = 00000000000000000000000000000000\n\n# tcId = 125\naad = \nct = fe\niv = 34047bc39b9c608384dff5b8\nkey = 21218af790428f8024d3e7e1428c9fcf578c216636d60e73\nmsg = e3\nresult = valid\ntag = 2e982e24b81cd120d35a70fe6935e665\n\n# tcId = 126\naad = \nct = 99f2ff1c8a44e5f2\niv = 4ebc13cf4636cc7c45e560a7\nkey = 3a8bf543c480925632118245bcbf5d01522b987a31a33da3\nmsg = 53fc72e71b59eeb3\nresult = valid\ntag = 6870f104ddc514477b400336fb01860e\n\n# tcId = 127\naad = \nct = afe8ef41591bfcc00db3c880ceb186\niv = 6e7ff7f0797685cfc44b05ff\nkey = 92f4d2672fceec43963ccffb17e6ea7578b11418b06a3b82\nmsg = c3ec16adb184affa8ae9738bffb916\nresult = valid\ntag = 29fff7f285768645c9c8bf7a471c9393\n\n# tcId = 128\naad = \nct = 90339dca02ef717f1603994aee6cf6d2\niv = be0326d23bdc2c64648d13f4\nkey = bcb6bc5ee6743df1396a34639327b25809ec9c81dd6a0c0e\nmsg = 80474a3a3b809560eee2ce7a7a33ea07\nresult = valid\ntag = e3d33e01ce64f271783147de226228bc\n\n# tcId = 129\naad = \nct = b98ed6321679941a3e521834296686ad98\niv = b6be6cd0681235d826aa28ea\nkey = 5e1d28213e092536525bbae09e214af4c891e202b2b4fa4f\nmsg = 53d59433a7db7f41b31ccb6d4a2d789965\nresult = valid\ntag = 9f50c03e055e519712c582ec9db3235b\n\n# tcId = 130\naad = \nct = addd303651119e52f6170dfc7a915064253d57532987b9ab\niv = b022067048505b20946216ef\nkey = 7f672d85e151aa490bc0eec8f66b5e5bee74af11642be3ff\nmsg = ef6412c72b03c643fa02565a0ae2378a9311c11a84065f80\nresult = valid\ntag = fa0484f8baa95f5b7a31c56d1b34c58b\n\n# tcId = 131\naad = cb\nct = 0d2c3a3c0cc4b40e70ed45e188e356a0e1533b31\niv = 817fe51c31f2879141a34335\nkey = 969fed5068541d65418c2c1de8fe1f845e036030496e1272\nmsg = 3d8233191a2823bf767e99167b1d4af4f4848458\nresult = valid\ntag = 92909a80e90540e1878ab59ef300072b\n\n# tcId = 132\naad = 2ed8487153e21b12\nct = c7c1cbb85ce2a0a3f32cb9ef01ad45ec1118b66d\niv = 62b9cf1e923bc1138d05d205\nkey = fa5b9b41f93f8b682c04ba816c3fecc24eec095b04dd7497\nmsg = 18159841813a69fc0f8f4229e1678da7c9016711\nresult = valid\ntag = 253317f98bdab87531ece20475cd9ebb\n\n# tcId = 133\naad = 74318d8876528243f1944b73eb77e96e\nct = ecf5e403f19c007c8da7a456caf0a6d75762829b\niv = 3f1a1e02e90a4ba7a1db9df2\nkey = fbfb395662787e2d25a2e7510f818e825936a35114e237c9\nmsg = 2952a3d64107d5cbb9602239d05a5c5c222cf72b\nresult = valid\ntag = e0877a100f9dd9d6795f0e74c56a9fab\n\n# tcId = 134\naad = 5ca354a4cb8e4fc9798aa209ad4f739dc7c232fdd1f22584\nct = 94d844d98b9467daa7e8dde7f4290037354d7fb2\niv = 0802ae86c75a73bf79561521\nkey = 5d8e9c2222316c9ed5ff94513cc957436ae447a6e1a73a29\nmsg = 42b4439e1d2116f834b91c516a26299df279956b\nresult = valid\ntag = 62196638590cef429d6b1d1a59839c02\n\n# tcId = 135\n# Flipped bit 0 in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = b5e44c5b2fe90e4c78f358da0d99cb64\n\n# tcId = 136\n# Flipped bit 1 in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = b6e44c5b2fe90e4c78f358da0d99cb64\n\n# tcId = 137\n# Flipped bit 7 in tag\naad = \nct = ", - "458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 34e44c5b2fe90e4c78f358da0d99cb64\n\n# tcId = 138\n# Flipped bit 8 in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = b4e54c5b2fe90e4c78f358da0d99cb64\n\n# tcId = 139\n# Flipped bit 31 in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = b4e44cdb2fe90e4c78f358da0d99cb64\n\n# tcId = 140\n# Flipped bit 32 in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = b4e44c5b2ee90e4c78f358da0d99cb64\n\n# tcId = 141\n# Flipped bit 33 in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = b4e44c5b2de90e4c78f358da0d99cb64\n\n# tcId = 142\n# Flipped bit 63 in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = b4e44c5b2fe90ecc78f358da0d99cb64\n\n# tcId = 143\n# Flipped bit 64 in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = b4e44c5b2fe90e4c79f358da0d99cb64\n\n# tcId = 144\n# Flipped bit 71 in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = b4e44c5b2fe90e4cf8f358da0d99cb64\n\n# tcId = 145\n# Flipped bit 77 in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = b4e44c5b2fe90e4c78d358da0d99cb64\n\n# tcId = 146\n# Flipped bit 80 in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = b4e44c5b2fe90e4c78f359da0d99cb64\n\n# tcId = 147\n# Flipped bit 96 in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = b4e44c5b2fe90e4c78f358da0c99cb64\n\n# tcId = 148\n# Flipped bit 97 in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = b4e44c5b2fe90e4c78f358da0f99cb64\n\n# tcId = 149\n# Flipped bit 103 in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = b4e44c5b2fe90e4c78f358da8d99cb64\n\n# tcId = 150\n# Flipped bit 120 in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = b4e44c5b2fe90e4c78f358da0d99cb65\n\n# tcId = 151\n# Flipped bit 121 in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = b4e44c5b2fe90e4c78f358da0d99cb66\n\n# tcId = 152\n# Flipped bit 126 in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = b4e44c5b2fe90e4c78f358da0d99cb24\n\n# tcId = 153\n# Flipped bit 127 in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = b4e44c5b2fe90e4c78f358da0d99cbe4\n\n# tcId = 154\n# Flipped bits 0 and 64 in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = b5e44c5b2fe90e4c79f358da0d99cb64\n\n# tcId = 155\n# Flipped bits 31 and 63 in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = b4e44cdb2fe90ecc78f358da0d99cb64\n\n# tcId = 156\n# Flipped bits 63 and 127 in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = b4e44c5b2fe90ecc78f358da0d99cbe4\n\n# tcId = 157\n# all bits of tag flipped\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 4b1bb3a4d016f1b3870ca725f266349b\n\n# tcId = 158\n# Tag changed to all zero\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 159\n# tag changed to all 1\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 160\n# msbs changed in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 3464ccdbaf698eccf873d85a8d194be4\n\n# tcId = 161\n# lsbs changed in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = b5e54d5a2ee80f4d79f259db0c98ca65\n\n[ivSize = 128]\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 162\n# J0:000102030405060708090a0b0c0d0e0f\naad = \nct = 28e1c5232f4ee8161dbe4c036309e0b3254e9212bef0a93431ce5e5604c8f6a73c18a3183018b770\niv = 5c2ea9b695fcf6e264b96074d6bfa572\nkey = 00112233445566778899aabbccddeeff102132435465768798a9bacbdcedfe0f\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = d5808a1bd11a01129bf3c6919aff2339\n# The counter for AES-GCM is reduced modulo 2**32. This test vector was\n# constructed to test for correct wrapping of the counter.\n\n# tcId = 163\n# J0:00000000000000000000000000000000\naad = \nct = cceebeb4fe4cd90c514e52d2327a2ecd75393661006cf2476d8620149aef3d1cdce491fff3e7a7a3\niv = 57b3a81f2c36b6b06577ca0fbab8fa8e\nkey = 00112233445566778899aabbccddeeff102132435465768798a9bacbdcedfe0f\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = 8132e865b69d64ef37db261f80cbbe24\n# The counter for AES-GCM is reduced modulo 2**32. This test vector was\n# constructed to test for correct wrapping of the counter.\n\n# tcId = 164\n# J0:ffffffffffffffffffffffffffffffff\naad = \nct = 4f4350565d91d9aa8c5f4048550492ad6d6fdabf66da5d1e2af7bfe1a8aadaa0baa3de38a41d9713\niv = ce20a7e870696a5e68533c465bad2ba1\nkey = 00112233445566778899aabbccddeeff102132435465768798a9bacbdcedfe0f\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = 155da6441ec071ef2d8e6cffbacc1c7c\n# The counter for AES-GCM is reduced modulo 2**32. This test vector was\n# constructed to test for correct wrapping of the counter.\n\n# tcId = 165\n", - "# J0:fffffffffffffffffffffffffffffffe\naad = \nct = 8316a53167b6de1a7575700693ffef274f4350565d91d9aa8c5f4048550492ad6d6fdabf66da5d1e\niv = 918e3c19dbdfee2db18156c5b93f3d75\nkey = 00112233445566778899aabbccddeeff102132435465768798a9bacbdcedfe0f\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = 6c574aa6a2490cc3b2f2f8f0ffbc56c4\n# The counter for AES-GCM is reduced modulo 2**32. This test vector was\n# constructed to test for correct wrapping of the counter.\n\n# tcId = 166\n# J0:fffffffffffffffffffffffffffffffd\naad = \nct = 5175927513e751eb309f45bc2ef225f28316a53167b6de1a7575700693ffef274f4350565d91d9aa\niv = 717d900b270462b9dbf7e9419e890609\nkey = 00112233445566778899aabbccddeeff102132435465768798a9bacbdcedfe0f\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = 8082a761e1d755344bf29622144e7d39\n# The counter for AES-GCM is reduced modulo 2**32. This test vector was\n# constructed to test for correct wrapping of the counter.\n\n# tcId = 167\n# J0:000102030405060708090a0bffffffff\naad = \nct = 36b3fbecd09178d04527fb37544f5579d20d60a41266f685c48098e1a52804ca387d90709d3268dd\niv = ecd52120af240e9b4bf3b9d1eeb49434\nkey = 00112233445566778899aabbccddeeff102132435465768798a9bacbdcedfe0f\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = 033e0ef2953ebfd8425737c7d393f89a\n# The counter for AES-GCM is reduced modulo 2**32. This test vector was\n# constructed to test for correct wrapping of the counter.\n\n# tcId = 168\n# J0:000102030405060708090a0bfffffffe\naad = \nct = 16929b773051f12b0adac95f65e21a7f36b3fbecd09178d04527fb37544f5579d20d60a41266f685\niv = b37bbad104928ae89221d3520c2682e0\nkey = 00112233445566778899aabbccddeeff102132435465768798a9bacbdcedfe0f\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = ca448bb7e52e897eca234ef343d057d0\n# The counter for AES-GCM is reduced modulo 2**32. This test vector was\n# constructed to test for correct wrapping of the counter.\n\n# tcId = 169\n# J0:000102030405060708090a0bfffffffd\naad = \nct = 6d3faefaf691d58163846f8d4b9ffd5916929b773051f12b0adac95f65e21a7f36b3fbecd09178d0\niv = 538816c3f849067cf8576cd62b90b99c\nkey = 00112233445566778899aabbccddeeff102132435465768798a9bacbdcedfe0f\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = 84f49740e6757f63dd0df7cb7656d0ef\n# The counter for AES-GCM is reduced modulo 2**32. This test vector was\n# constructed to test for correct wrapping of the counter.\n\n# tcId = 170\n# J0:000102030405060708090a0b7fffffff\naad = \nct = d60196c2d14fcf30c0991d2721ddc52d385f407a16691dade82c9023c855fd8e2e8fbb562102f018\niv = d10e631943cd3bdababab2bbd13951c0\nkey = 00112233445566778899aabbccddeeff102132435465768798a9bacbdcedfe0f\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = 877e15d9889e69a99fcc6d727465c391\n# The counter for AES-GCM is reduced modulo 2**32. This test vector was\n# constructed to test for correct wrapping of the counter.\n\n# tcId = 171\n# J0:000102030405060708090a0b7ffffffe\naad = \nct = 948fbceca12a6e4fabb79b6d965e336fd60196c2d14fcf30c0991d2721ddc52d385f407a16691dad\niv = 8ea0f8e8e87bbfa96368d83833ab4714\nkey = 00112233445566778899aabbccddeeff102132435465768798a9bacbdcedfe0f\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = cd5757626945976ba9f0264bd6bee894\n# The counter for AES-GCM is reduced modulo 2**32. This test vector was\n# constructed to test for correct wrapping of the counter.\n\n# tcId = 172\n# J0:000102030405060708090a0bffff7fff\naad = \nct = a1a0120660ff52e6b1700b12c54d2d33b94b00cd7882d8857d84e6e183a1dea6ee85a7da84fbc35d\niv = 7b2df4fbed1de2727eb24898e5deabb9\nkey = 00112233445566778899aabbccddeeff102132435465768798a9bacbdcedfe0f\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = b015d72da62c81cb4d267253b20db9e5\n# The counter for AES-GCM is reduced modulo 2**32. This test vector was\n# constructed to test for correct wrapping of the counter.\n\n# tcId = 173\n# J0:000102030405060708090a0bffff7ffe\naad = \nct = 5e3434b45edbf0d1f6e02d1144dbf867a1a0120660ff52e6b1700b12c54d2d33b94b00cd7882d885\niv = 24836f0a46ab6601a760221b074cbd6d\nkey = 00112233445566778899aabbccddeeff102132435465768798a9bacbdcedfe0f\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = ee74ccb30d649ebf6916d05a7dbe5696\n# The counter for AES-GCM is reduced modulo 2**32. This test vector was\n# constructed to test for correct wrapping of the counter.\n\n# tcId = 174\n# special case\naad = \nct = 265c42e2b96ea1de9c24f7182e337390\niv = 00000000000000000000000000000000\nkey = 00112233445566778899aabbccddeeff102132435465768798a9bacbdcedfe0f\nmsg = 8d74f1c97243d362577ff376c393d2dc\nresult = valid\ntag = 00000000000000000000000000000000\n\n# tcId = 175\n# special case\naad = \nct = 988f47668ea650cbaa6714711abe268d\niv = ffffffffffffffffffffffffffffffff\nkey = 00112233445566778899aabbccddeeff102132435465768798a9bacbdcedfe0f\nmsg = 884df0e76f3ce227bf9595d103825a46\nresult = valid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 176\naad = \nct = 3f\niv = 0ad570d8863918fe89124e09d125a271\nkey = b7797eb0c1a6089ad5452d81fdb14828c040ddc4589c32b565aad8cb4de3e4a0\nmsg = ed\nresult = valid\ntag = fd8f593b83314e33c5a72efbeb7095e8\n\n# tcId = 177\naad = \nct = 041341078f0439e50b43c991635117\niv = 2a55caa137c5b0b66cf3809eb8f730c4\nkey = 4c010d9561c7234c308c01cea3040c925a9f324dc958ff904ae39b37e60e1e03\nmsg = 2a093c9ed72b8ff4994201e9f9e010\nresult = valid\ntag = 5b8a2f2da20ef657c903da88ef5f57bb\n\n# tcId = 178\naad = \nct = 469478d448f7e97d755541aa09ad95b0\niv = 7ee376910f08f497aa6c3aa7113697fd\nkey = e7f7a48df99edd92b81f508618aa96526b279debd9ddb292d385ddbae80b2259\nmsg = 5e51dbbb861b5ec60751c0996e00527f\nresult = valid\ntag = 254ada5cf662d90c5e11b2bd9c4db4c4\n\n# tcId = 179\naad = \nct = cb960201fa5ad41d41d1c2c8037c71d52b72e76b16b589d71b976627c9734c9d\niv = 5d1bde6fa0994b33efd8f23f531248a7\nkey = 4f84782bfbb64a973c3de3dcfa3430367fd68bc0b4c3b31e5d7c8141ba3e6a67\nmsg = 78cb6650a1908a842101ea85804fed00cc56fbdafafba0ef4d1ca607dcae57b6\nresult = valid\ntag = 8dfce16467c3a6ebb3e7242c9a551962\n\n[ivSize = 120]\n[keySize = 128]\n[tagSize = 128]\n\n# tcId = 180\n# unusual IV size\naad = \nct = 2bc3ef8e7402b4631f48e9be\niv = b0a73119a97d623806b49d45ddf4c7\nkey = 34c74e28182948e03af02a01f46eb4f7\nmsg = fe82ba66cf2e265741f2c86c\nresult = valid\ntag = 4b6f6f5be291a90b9e93a8a82ddbc8d8\n\n[ivSize = 160]\n[keySize = 128]\n[tagSize = 128]\n\n# tcId = 181\n# unusual IV size\naad = \nct = 4fe13ef29f118f85a63188f8\niv = e22b6b144ab26b5781316e7a42a76202ac4b2278\nkey = 55cb7cac77efe18a1ea3b30c65f3f346\nmsg = 2f3d11ea32bf5bc72cbe2b8d\nresult = valid\ntag = 05975b175316df8045889f43e0c857e0\n\n[ivSize = 64]\n[keySize = 192]\n[tagSize = 128]\n\n# tcId = 182\n# unusual IV size\naad = \nct = a2966fb189f8d9d391503857\niv = 60d6bfca67f5d810\nkey = f6a4bf8c4e15034699ce5801cbbac7509cd3f94cf28d8307\nmsg = de8eaa41e5e6a590c3cfbf61\nresult = valid\ntag = e370e7dd328655929bd4691f396a1033\n\n[ivSize = 120]\n[keySize = 192]\n[tagSize = 128]\n\n# tcId = 183\n# unusual IV size\naad = \nct = 9af1a022c61c4315aa0e923e\niv = edf93e16294f15eded83808f09320e\nkey = 66f75acbd8d3acf7af47d13e8384c2809d6b91503a7f294b\nmsg = a900c86b6b7e0e5563f8f826\nresult = valid\ntag = 20529bff3c59222ec33353af337b1d40\n\n[ivSize = 160]\n[keySize = 192]\n[tagSize = 128]\n\n# tcId = 184\n# unusual IV size\naad = \nct = 073a5291b11df379f31b4f16\niv = 130c14c839e35b7d56b3350b194b0da342e6b65d\nkey = ef2e299dd4ecd7e3b9cc62780922cc2c89f78840564d1276\nmsg = 03f59579b14437199583270e\nresult = valid\ntag = 17205999491bd4c1d6c7ec3e56779c32\n\n[ivSize = 64]\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 185\n# unusual IV size\naad = \nct = 99313a220d1fcb6658876283\niv = c0c568a400b7194f\nkey = df64c84ae52d9ca820a47421bed6e96f7165369fc4c1b65f8f6307b17ce1006c\nmsg = f5fafdded54a86a4edab44bd\nresult = valid\ntag = 00955d7d27f66868cfec734bf59c5e6d\n\n[ivSize = 120]\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 186\n# unusual IV size\naad = \nct = fc213602aa423b87d7c2a874\niv = 17ca250fb7338775562632", - "23eadde1\nkey = e98b0669a645eb14cd06df6968fc5f10edc9f54feed264e3d410cdc61b72ef51\nmsg = f384b3ed7b274641f5db60cf\nresult = valid\ntag = 36b15bab6923b17218fe1c24048e2391\n\n[ivSize = 160]\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 187\n# unusual IV size\naad = \nct = c1d76233e8c5042e92bf8d32\niv = 0f9d6ed7eef362dfa4a7dfa5c0f74c5b27bd4ebf\nkey = 849b3e6b8cdd85bdcfb8eb701aa5522ae2340fbe5214e389622cef76979225c4\nmsg = 8c5564e53051c0de273199b4\nresult = valid\ntag = 7cf036d235d3b2dd349a8c804b65144a\n\n[ivSize = 0]\n[keySize = 128]\n[tagSize = 128]\n\n# tcId = 188\n# 0 size IV is not valid\naad = \nct = \niv = \nkey = 8f3f52e3c75c58f5cb261f518f4ad30a\nmsg = \nresult = invalid\ntag = cf71978ffcc778f3c85ac9c31b6fe191\n# AES-GCM does not allow an IV of length 0. Encrypting with such an IV leaks the\n# authentication key. Hence using an IV of length 0 is insecure even if the key\n# itself is only used for a single encryption.\n\n# tcId = 189\n# 0 size IV is not valid\naad = \nct = 00a29f0a5e2e7490279d1faf8b881c7b\niv = \nkey = 2a4bf90e56b70fdd8649d775c089de3b\nmsg = 324ced6cd15ecc5b3741541e22c18ad9\nresult = invalid\ntag = a2c7e8d7a19b884f742dfec3e76c75ee\n# AES-GCM does not allow an IV of length 0. Encrypting with such an IV leaks the\n# authentication key. Hence using an IV of length 0 is insecure even if the key\n# itself is only used for a single encryption.\n\n[ivSize = 0]\n[keySize = 192]\n[tagSize = 128]\n\n# tcId = 190\n# 0 size IV is not valid\naad = \nct = \niv = \nkey = 0b18d21337035c7baa08211b702fa780ac7c09be8f9ed11f\nmsg = \nresult = invalid\ntag = ca69a2eb3a096ea36b1015d5dffff532\n# AES-GCM does not allow an IV of length 0. Encrypting with such an IV leaks the\n# authentication key. Hence using an IV of length 0 is insecure even if the key\n# itself is only used for a single encryption.\n\n# tcId = 191\n# 0 size IV is not valid\naad = \nct = 509b0658d09f7a5bb9db43b70c8387f7\niv = \nkey = ba76d594a6df915bb7ab7e6d1a8d024b2796336c1b8328a9\nmsg = d62f302742d61d823ea991b93430d589\nresult = invalid\ntag = 2c9488d53a0b2b5308c2757dfac7219f\n# AES-GCM does not allow an IV of length 0. Encrypting with such an IV leaks the\n# authentication key. Hence using an IV of length 0 is insecure even if the key\n# itself is only used for a single encryption.\n\n[ivSize = 0]\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 192\n# 0 size IV is not valid\naad = \nct = \niv = \nkey = 3f8ca47b9a940582644e8ecf9c2d44e8138377a8379c5c11aafe7fec19856cf1\nmsg = \nresult = invalid\ntag = 1726aa695fbaa21a1db88455c670a4b0\n# AES-GCM does not allow an IV of length 0. Encrypting with such an IV leaks the\n# authentication key. Hence using an IV of length 0 is insecure even if the key\n# itself is only used for a single encryption.\n\n# tcId = 193\n# 0 size IV is not valid\naad = \nct = 7772ea358901f571d3d35c19497639d9\niv = \nkey = 7660d10966c6503903a552dde2a809ede9da490e5e5cc3e349da999671809883\nmsg = c314235341debfafa1526bb61044a7f1\nresult = invalid\ntag = 8fe0520ad744a11f0ccfd228454363fa\n# AES-GCM does not allow an IV of length 0. Encrypting with such an IV leaks the\n# authentication key. Hence using an IV of length 0 is insecure even if the key\n# itself is only used for a single encryption.\n\n[ivSize = 8]\n[keySize = 128]\n[tagSize = 128]\n\n# tcId = 194\n# small IV sizes\naad = \nct = \niv = 80\nkey = 59a284f50aedd8d3e2a91637d3815579\nmsg = \nresult = acceptable\ntag = af498f701d2470695f6e7c8327a2398b\n\n# tcId = 195\n# small IV sizes\naad = \nct = 0a24612a9d1cbe967dbfe804bf8440e5\niv = 9d\nkey = fec58aa8cf06bfe05de829f27ec77693\nmsg = f2d99a9f893378e0757d27c2e3a3101b\nresult = acceptable\ntag = 96e6fd2cdc707e3ee0a1c90d34c9c36c\n\n[ivSize = 16]\n[keySize = 128]\n[tagSize = 128]\n\n# tcId = 196\n# small IV sizes\naad = \nct = \niv = 0f2f\nkey = 88a972cce9eaf5a7813ce8149d0c1d0e\nmsg = \nresult = acceptable\ntag = 4ccf1efb4da05b4ae4452aea42f5424b\n\n# tcId = 197\n# small IV sizes\naad = \nct = ba3e7f8b2999995c7fc4006ca4f475ff\niv = 8760\nkey = b43967ee933e4632bd6562ba1201bf83\nmsg = 5a6ad6db70591d1e520b0122f05021a0\nresult = acceptable\ntag = 98f47a5279cebbcac214515710f6cd8a\n\n[ivSize = 32]\n[keySize = 128]\n[tagSize = 128]\n\n# tcId = 198\n# small IV sizes\naad = \nct = \niv = cc851957\nkey = 4e9a97d3ed54c7b54610793ab05052e1\nmsg = \nresult = acceptable\ntag = e574b355bda2980e047e584feb1676ca\n\n# tcId = 199\n# small IV sizes\naad = \nct = 1b84baea9df1e65bee7b49e4a8cda1ec\niv = 7b5faeb2\nkey = d83c1d7a97c43f182409a4aa5609c1b1\nmsg = c8f07ba1d65554a9bd40390c30c5529c\nresult = acceptable\ntag = 5c0bb79d8240041edce0f94bd4bb384f\n\n[ivSize = 48]\n[keySize = 128]\n[tagSize = 128]\n\n# tcId = 200\n# small IV sizes\naad = \nct = \niv = 4ad80c2854fb\nkey = c6a705677affb49e276d9511caa46145\nmsg = \nresult = acceptable\ntag = 1e2ed72af590cafb8647d185865f5463\n\n# tcId = 201\n# small IV sizes\naad = \nct = 18291aa8dc7b07448aa8f71bb8e380bf\niv = d1dafc8de3e3\nkey = eba7699b56cc0aa2f66a2a5be9944413\nmsg = d021e53d9098a2df3d6b903cdad0cd9c\nresult = acceptable\ntag = 9c0e22e5c41b1039ff5661ffaefa8e0f\n\n[ivSize = 8]\n[keySize = 192]\n[tagSize = 128]\n\n# tcId = 202\n# small IV sizes\naad = \nct = \niv = cb\nkey = c70ce38e84e5f53ed41c3f0d2ca493412ad32cb04c6e2efa\nmsg = \nresult = acceptable\ntag = 08d96edb5e22874cd10cb2256ca04bc6\n\n# tcId = 203\n# small IV sizes\naad = \nct = 6c5e796ba9a3ddc64f401e68d135101d\niv = 0f\nkey = 74c816b83dfd287210a3e2c6da8d3053bbfbd9b156d3fdd8\nmsg = f2b7b2c9b312cf2af78f003df15c8e19\nresult = acceptable\ntag = 96a132ed43924e98feb888ff682bdaef\n\n[ivSize = 16]\n[keySize = 192]\n[tagSize = 128]\n\n# tcId = 204\n# small IV sizes\naad = \nct = \niv = 75e5\nkey = cbf45ba488932aea1a10e5862f92e4a7e277bda9f34af6d0\nmsg = \nresult = acceptable\ntag = 1f0d23070fcd748e25bf6454f5c9136e\n\n# tcId = 205\n# small IV sizes\naad = \nct = 550b48a43e821fd76f49f0f1a897aead\niv = 8989\nkey = e1c0446f11ae6aa4fa254f9a846fc6e13e45e537e47f2042\nmsg = 3a2f5ad0eb216e546e0bcaa377b6cbc7\nresult = acceptable\ntag = f6e0a979481f9957ddad0f21a777a73a\n\n[ivSize = 32]\n[keySize = 192]\n[tagSize = 128]\n\n# tcId = 206\n# small IV sizes\naad = \nct = \niv = 68d7fc38\nkey = 567563bf4cf154902275a53bc57cd6dd7b370d27011bdac8\nmsg = \nresult = acceptable\ntag = 1475563e3212f3b5e40062569afd71e3\n\n# tcId = 207\n# small IV sizes\naad = \nct = 309133e76159fe8a41b20843486511ab\niv = bb9d2aa3\nkey = 834d0bb601170865a78139428a1503695a6a291ebd747cd1\nmsg = 6f79e18b4acd5a03d3a5f7e1a8d0f183\nresult = acceptable\ntag = 03ab26993b701910a2e8ecccd2ba9e52\n\n[ivSize = 48]\n[keySize = 192]\n[tagSize = 128]\n\n# tcId = 208\n# small IV sizes\naad = \nct = \niv = a984bdcdcae2\nkey = 99fb18f5ba430bb9ea942968ecb799b43406e1af4b6425a1\nmsg = \nresult = acceptable\ntag = d7b9a6b58a97982916e83219fbf71b1e\n\n# tcId = 209\n# small IV sizes\naad = \nct = e08261e46eaf90d978ea8f7889bccd4f\niv = 52aa01e0d0d6\nkey = b77b242aa0d51c92fda013e0cb0ef2437399ace5d3f507e4\nmsg = 4ba541a9914729216153801340ab1779\nresult = acceptable\ntag = c052a55df3926a50990a532efe3d80ec\n\n[ivSize = 8]\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 210\n# small IV sizes\naad = \nct = \niv = a9\nkey = 8f9a38c1014966e4d9ae736139c5e79b99345874f42d4c7d2c81aa6797c417c0\nmsg = \nresult = acceptable\ntag = 2a268bf3a75fd7b00ba230b904bbb014\n\n# tcId = 211\n# small IV sizes\naad = \nct = 7bea30ecc2f73f8e121263b37966954c\niv = b3\nkey = 144cd8279229e8bb2de99d24e615306663913fe9177fcd270fafec493d43bca1\nmsg = 976229f5538f9636476d69f0c328e29d\nresult = acceptable\ntag = 8bbad4adc54b37a2b2f0f6e8617548c9\n\n[ivSize = 16]\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 212\n# small IV sizes\naad = \nct = \niv = c332\nkey = 7d31861f9d3536e14016a3216b1042e0d2f7d4614314268b6f834ec7f38bbb65\nmsg = \nresult = acceptable\ntag = 1d978a693120c11f6d51a3ed88cd4ace\n\n# tcId = 213\n# small IV sizes\naad = \nct = 9c39f5b110361e9a770cc5e8b0f444bb\niv = da6c\nkey = 22b35fe9623ee11f8b60b6d22db3765b666ed972fa7ccd92b45f22deee02cab1\nmsg = 5341c78e4ce5bf8fbc3e077d1990dd5d\nresult = acceptable\ntag = b63ff43c12073ec5572b1be70f17e231\n\n[ivSize = 32]\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 214\n# small IV sizes\naad = \nct = \niv = 6b30145e\nkey = c224e0bba3d7a99165f7996b67a0fce3e12f2c01179b197b69b7e628bca92096\nmsg = \nresult = acceptable\ntag = ae6f7c9a29f0d8204ca50b14a1e0dcf2\n\n# tcId = 215\n# small IV sizes\naad = \nct = f73f72f976a296ba3ca94bc6eb08cd46\niv = 5110604c\nkey = 093eb12343537ee8e91c1f715b862603f8daf9d4e1d7d67212a9d68e5aac9358\nmsg = 33efb58c91e8c70271870ec00fe2e202\nresult = acceptable\ntag = b824c33c13f289429659aa017c6", - "32f71\n\n[ivSize = 48]\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 216\n# small IV sizes\naad = \nct = \niv = d4d857510888\nkey = 98e6f8ab673e804e865e32403a6551bf807a959343c60d34559360bc295ecb5b\nmsg = \nresult = acceptable\ntag = 3db16725fafc828d414ab61c16a6c38f\n\n# tcId = 217\n# small IV sizes\naad = \nct = ed463f4f43336af3f4d7e08770201145\niv = 1bdcd44b663e\nkey = 0bd0e8e7781166e1d876dec8fad34ba95b032a27cac0551595116091005947b7\nmsg = 91222263b12cf5616a049cbe29ab9b5b\nresult = acceptable\ntag = c8fc39906aca0c64e14a43ff750abd8a\n\n", +static const char *kData92[] = { + "# Imported from Wycheproof's aes_gcm_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: AES-GCM\n# Generator version: 0.8r12\n\n[ivSize = 96]\n[keySize = 128]\n[tagSize = 128]\n\n# tcId = 1\naad = \nct = 26073cc1d851beff176384dc9896d5ff\niv = 028318abc1824029138141a2\nkey = 5b9604fe14eadba931b0ccf34843dab9\nmsg = 001d0c231287c1182784554ca3a21908\nresult = valid\ntag = 0a3ea7a5487cb5f7d70fb6c58d038554\n\n# tcId = 2\naad = 00112233445566778899aabbccddeeff\nct = 49d8b9783e911913d87094d1f63cc765\niv = 921d2507fa8007b7bd067d34\nkey = 5b9604fe14eadba931b0ccf34843dab9\nmsg = 001d0c231287c1182784554ca3a21908\nresult = valid\ntag = 1e348ba07cca2cf04c618cb4d43a5b92\n\n# tcId = 3\naad = aac39231129872a2\nct = eea945f3d0f98cc0fbab472a0cf24e87\niv = 0432bc49ac34412081288127\nkey = aa023d0478dcb2b2312498293d9a9129\nmsg = 2035af313d1346ab00154fea78322105\nresult = valid\ntag = 4bb9b4812519dadf9e1232016d068133\n\n# tcId = 4\naad = \nct = \niv = 438a547a94ea88dce46c6c85\nkey = bedcfb5a011ebc84600fcb296c15af0d\nmsg = \nresult = valid\ntag = 960247ba5cde02e41a313c4c0136edc3\n\n# tcId = 5\naad = \nct = 54\niv = b30c084727ad1c592ac21d12\nkey = 384ea416ac3c2f51a76e7d8226346d4e\nmsg = 35\nresult = valid\ntag = 7c1e4ae88bb27e5638343cb9fd3f6337\n\n# tcId = 6\naad = \nct = a036ead03193903f\niv = b5e006ded553110e6dc56529\nkey = cae31cd9f55526eb038241fc44cac1e5\nmsg = d10989f2c52e94ad\nresult = valid\ntag = 3b626940e0e9f0cbea8e18c437fd6011\n\n# tcId = 7\naad = \nct = 8a9992388e735f80ee18f4a63c10ad\niv = ecb0c42f7000ef0e6f95f24d\nkey = dd6197cd63c963919cf0c273ef6b28bf\nmsg = 4dcc1485365866e25ac3f2ca6aba97\nresult = valid\ntag = 1486a91cccf92c9a5b00f7b0e034891c\n\n# tcId = 8\naad = \nct = f7bd379d130477176b8bb3cb23dbbbaa\niv = 0e1666f2dc652f7708fb8f0d\nkey = ffdf4228361ea1f8165852136b3480f7\nmsg = 25b12e28ac0ef6ead0226a3b2288c800\nresult = valid\ntag = 1ee6513ce30c7873f59dd4350a588f42\n\n# tcId = 9\naad = \nct = 0de51fe4f7f2d1f0f917569f5c6d1b009c\niv = 965ff6643116ac1443a2dec7\nkey = c15ed227dd2e237ecd087eaaaad19ea4\nmsg = fee62fde973fe025ad6b322dcdf3c63fc7\nresult = valid\ntag = 6cd8521422c0177e83ef1b7a845d97db\n\n# tcId = 10\naad = \nct = 7cd9f4e4f365704fff3b9900aa93ba54b672bac554275650\niv = fbbc04fd6e025b7193eb57f6\nkey = a8ee11b26d7ceb7f17eaa1e4b83a2cf6\nmsg = c08f085e6a9e0ef3636280c11ecfadf0c1e72919ffc17eaf\nresult = valid\ntag = f4eb193241226db017b32ec38ca47217\n\n# tcId = 11\naad = c3\nct = f58d453212c2c8a436e9283672f579f119122978\niv = 32bcb9b569e3b852d37c766a\nkey = 28ff3def08179311e2734c6d1c4e2871\nmsg = dfc61a20df8505b53e3cd59f25770d5018add3d6\nresult = valid\ntag = 5901131d0760c8715901d881fdfd3bc0\n\n# tcId = 12\naad = 834afdc5c737186b\nct = bf864616c2347509ca9b10446379b9bdbb3b8f64\niv = 9c3a4263d983456658aad4b1\nkey = e63a43216c08867210e248859eb5e99c\nmsg = b14da56b0462dc05b871fc815273ff4810f92f4b\nresult = valid\ntag = a97d25b490390b53c5db91f6ee2a15b8\n\n# tcId = 13\naad = 4020855c66ac4595058395f367201c4c\nct = a6f2ef3c7ef74a126dd2d5f6673964e27d5b34b6\niv = 33e90658416e7c1a7c005f11\nkey = 38449890234eb8afab0bbf82e2385454\nmsg = f762776bf83163b323ca63a6b3adeac1e1357262\nresult = valid\ntag = b8bbdc4f5014bc752c8b4e9b87f650a3\n\n# tcId = 14\naad = 76eb5f147250fa3c12bff0a6e3934a0b16860cf11646773b\nct = bd64802cfebaeb487d3a8f76ce943a37b3472dd5\niv = 9f0d85b605711f34cd2a35ba\nkey = 6a68671dfe323d419894381f85eb63fd\nmsg = 0fc67899c3f1bbe196d90f1eca3797389230aa37\nresult = valid\ntag = fce9a5b530c7d7af718be1ec0ae9ed4d\n\n# tcId = 15\naad = \nct = d33bf6722fc29384fad75f990248b9528e0959aa67ec66869dc3996c67a2d559e7d77ce5955f8cad2a4df5fdc3acccafa7bc0def53d848111256903e5add0420\niv = 5dfc37366f5688275147d3f9\nkey = e12260fcd355a51a0d01bb1f6fa538c2\nmsg = d902deeab175c008329a33bfaccd5c0eb3a6a152a1510e7db04fa0aff7ce4288530db6a80fa7fea582aa7d46d7d56e708d2bb0c5edd3d26648d336c3620ea55e\nresult = valid\ntag = 8bc833de510863b4b432c3cbf45aa7cc\n\n# tcId = 16\naad = \nct = 17d72d90bd23e076d8364a87ecb9ac58acc5de4629bfd590409b8bf1fcd3a2f602731b4614cec15e773ea65a65e7210994256bf5450a25acb527269c065f2e2f2279d1fe8b3eda98dcf87b348f1528377bbdd258355d46e035330483d8097e80c7de9bbb606ddf723f2909217ffdd18e8bdbd7b08062f1dcba960e5c0d290f5f\niv = d767c48d2037b4bd2c231bbd\nkey = 3c55f88e9faa0d68ab50d02b47161276\nmsg = 5d6add48e7a5704e54f9c2829a9b4283dce0d3a65b133eba3793c4fbfa1d8e3a2539d0d4f3de381598ce5b2360173fbd149476c31692c5d6e872fce40219378949c2e70b5f1b9f0a1d5f38352ad814b2a035bb3f3f26425d831a2f7a5e65c5dfcd91a315c2b24f53a662605ea40857dd980e9be5cdad000c569f2d204d4bd3b0\nresult = valid\ntag = 090b8c2ec98e4116186d0e5fbefeb9c2\n\n# tcId = 17\naad = \nct = 5bc6dbafc401101c7a08c81d6c2791aa147ce093aad172be18379c747384a54a41a747ba955cade8fdfb8967aa808b43fee3d757cc80f11163b800e5e59df932757f76c40b3d9cba449aaf11e4f80e003b1f384eafa4f76e81b13c09ec1ad88e7650c750d442fe46d225a373e8a1b564b4915a5c6c513cfdfa22d929d5741ca5ebefaedcba636c7c3bbef18863fdc126b4b451611049c35d814fc2eb7e4b8f1a8995ecb4a3c86652a068c0b2a3e1c5941d59c210b458d5d5d3b06420ec2053465ccceca7c20f67404985460379e2ee806a46e8409dfab2e0dd67ea3cf46d5ad4eb78756827358c3ef1fdbd07c33834f3d9eca3ff13b744a01059a6c17a315a8fd4\niv = dfe20d1c4350e6235d987af1\nkey = a294e70fa2ac10a1fb00c588b888b673\nmsg = 6ed1d7d618d158741f52078006f28494ba72a2454f27160ae8722793fcebc538ebc2f67c3ace3e0fe7c47b9e74e081182b47c930144e3fc80d0ad50611c3afcfe2dbc5279edbbba087c0e390355f3daffcd25ad4dea007c284ad92e7fcbecb438fb60623ff89a599dca2aac141b26651386ca55b739b94901ef6db609c344d8acf4544568e31bb09361112754b1c0c6a3c875bd9453b0ee0081412151398a294ecad75add521611db5288b60ac3c0128f6e94366b69e659e6aa66f058a3a3571064edbb0f05c11e5dde938fb46c3935dd5193a4e5664688f0ae67c29b7cc49a7963140f82e311a20c98cd34fbcab7b4b515ae86557e62099e3fc37b9595c85a75c\nresult = valid\ntag = c7587e7da41bed682c37377ea4324029\n\n# tcId = 18\naad = 75fc9078b488e9503dcb568c882c9eec24d80b04f0958c82aac8484f025c90434148db8e9bfe29c7e071b797457cb1695a5e5a6317b83690ba0538fb11e325ca\nct = b6786812574a254eb43b1cb1d1753564c6b520e9\niv = 5046e7e08f0747e1efccb09e\nkey = c4b03435b91fc52e09eff27e4dc3fb42\nmsg = 8e887b224e8b89c82e9a641cf579e6879e1111c7\nresult = valid\ntag = ad8c09610d508f3d0f03cc523c0d5fcc\n\n# tcId = 19\naad = 8ed8a9be4c3d32a5098434ee5c0c4fc20f78ef5e25ed8b72a840a463e36b67b881e048b5e49f515b2541ad5ce4ebb3a917c16bcdc0dc3cb52bb4ed5a1dffcf1e1866544e8db103b2ad99c6fa6e7de1d8b45bff57ec872f1cfc78b0e4870f6f200ff1291cae033defc3327ba82792ba438e35c4bfbb684fec5ce5e3ae167d01d7\nct = cfb631790767d0645d8ec6f23bf7fa8b19ce79ee\niv = 517c55c2ec9bfea90addc2bd\nkey = 7e37d56e6b1d0172d40d64d6111dd424\nmsg = 6a7dea03c1bba70be8c73da47d5ee06d72a27430\nresult = valid\ntag = c5767ddaa747158446231766bd20490c\n\n# tcId = 20\naad = 18526e4efd995a0bf6405d9f906725c290278958d49554974d8fe025e7860daa225c1285b0573916a4b6741f7cc2e29ce4e525e12f436cb7ce0ad47df3d0f5bd80fb27e47635a4985fdaedf0e821f1c8959985cac49c97a4a02438d92b4afd4c855dcc7ef41ecfc36866334fcc05b2bb93ef13f00c5ea9b921e8a519d77f648e0efe9b5a62305a2ecf7d4999663a6ddfca517f1f36f0899b0bdef9f433c4bb2663c0cc1bb616e7d1949e522bec85485d371d1134c90eede75e865dc7be405b54c33f0acbace6cf780c78035b8035b6ea3f562a8d30a156c199fdafd25be06ee895581195ef125cb4e629e4f18e0bee979d31513896db8466e448e6b4600a316757\nct = e4d3f4898cb3d9732641d1f8d9d889b2c98af930\niv = a2712eac5e06d3cc2864aa8b\nkey = 3076741408f734ce25d48f982e8b844b\nmsg = 414ec6b149e54735302dada888b98b7fdb4c127c\nresult = valid\ntag = 76d4fbb69d529b64175b328be00b1068\n\n# tcId = 21\n# special case\naad = \nct = f62d84d649e56bc8cfedc5d74a51e2f7\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = ebd4a3e10cf6d41c50aeae007563b072\nresult = valid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 22\n# special case\naad = \nct = 431f31e6840931fd95f94bf88296ff69\niv = ffffffffffffffffffffffff\nkey = 00112233445566778899aabbccddeeff\nmsg = d593c4d8224f1b100c35e4f6c4006543\nresult = valid\ntag = 00000000000000000000000000000000\n\n# tcId = 23\n# Flipped bit 0 in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = d9847dbc326a06e988c77ad3863e6083\n\n# tcId = 24\n# Flipped bit 1 in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = da847dbc326a06e988c7", + "7ad3863e6083\n\n# tcId = 25\n# Flipped bit 7 in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 58847dbc326a06e988c77ad3863e6083\n\n# tcId = 26\n# Flipped bit 8 in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = d8857dbc326a06e988c77ad3863e6083\n\n# tcId = 27\n# Flipped bit 31 in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = d8847d3c326a06e988c77ad3863e6083\n\n# tcId = 28\n# Flipped bit 32 in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = d8847dbc336a06e988c77ad3863e6083\n\n# tcId = 29\n# Flipped bit 33 in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = d8847dbc306a06e988c77ad3863e6083\n\n# tcId = 30\n# Flipped bit 63 in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = d8847dbc326a066988c77ad3863e6083\n\n# tcId = 31\n# Flipped bit 64 in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = d8847dbc326a06e989c77ad3863e6083\n\n# tcId = 32\n# Flipped bit 71 in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = d8847dbc326a06e908c77ad3863e6083\n\n# tcId = 33\n# Flipped bit 77 in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = d8847dbc326a06e988e77ad3863e6083\n\n# tcId = 34\n# Flipped bit 80 in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = d8847dbc326a06e988c77bd3863e6083\n\n# tcId = 35\n# Flipped bit 96 in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = d8847dbc326a06e988c77ad3873e6083\n\n# tcId = 36\n# Flipped bit 97 in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = d8847dbc326a06e988c77ad3843e6083\n\n# tcId = 37\n# Flipped bit 103 in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = d8847dbc326a06e988c77ad3063e6083\n\n# tcId = 38\n# Flipped bit 120 in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = d8847dbc326a06e988c77ad3863e6082\n\n# tcId = 39\n# Flipped bit 121 in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = d8847dbc326a06e988c77ad3863e6081\n\n# tcId = 40\n# Flipped bit 126 in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = d8847dbc326a06e988c77ad3863e60c3\n\n# tcId = 41\n# Flipped bit 127 in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = d8847dbc326a06e988c77ad3863e6003\n\n# tcId = 42\n# Flipped bits 0 and 64 in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = d9847dbc326a06e989c77ad3863e6083\n\n# tcId = 43\n# Flipped bits 31 and 63 in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = d8847d3c326a066988c77ad3863e6083\n\n# tcId = 44\n# Flipped bits 63 and 127 in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = d8847dbc326a066988c77ad3863e6003\n\n# tcId = 45\n# all bits of tag flipped\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 277b8243cd95f9167738852c79c19f7c\n\n# tcId = 46\n# Tag changed to all zero\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 47\n# tag changed to all 1\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 48\n# msbs changed in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 5804fd3cb2ea86690847fa5306bee003\n\n# tcId = 49\n# lsbs changed in tag\naad = \nct = eb156d081ed6b6b55f4612f021d87b39\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = d9857cbd336b07e889c67bd2873f6182\n\n[ivSize = 64]\n[keySize = 128]\n[tagSize = 128]\n\n# tcId = 50\naad = aac39231129872a2\nct = 64c36bb3b732034e3a7d04efc5197785\niv = 0432bc49ac344120\nkey = aa023d0478dcb2b2312498293d9a9129\nmsg = 2035af313d1346ab00154fea78322105\nresult = valid\ntag = b7d0dd70b00d65b97cfd080ff4b819d1\n\n# tcId = 51\n# small IV sizes\naad = \nct = \niv = 28e9b7851724bae3\nkey = f3434725c82a7f8bb07df1f8122fb6c9\nmsg = \nresult = acceptable\ntag = 44aca00f42e4199b829a55e69b073d9e\nflags = SmallIv\n\n# tcId = 52\n# small IV sizes\naad = \nct = 03e1a168a7e377a913879b296a1b5f9c\niv = d084547de55bbc15\nkey = deb62233559b57476602b5adac57c77f\nmsg = d8986df0241ed3297582c0c239c724cb\nresult = acceptable\ntag = 3290aa95af505a742f517fabcc9b2094\nflags = SmallIv\n\n[ivSize = 128]\n[keySize = 128]\n[tagSize = 128]\n\n# tcId = 53\naad = 1a0293d8f90219058902139013908190bc490890d3ff12a3\nct = 64069c2d58690561f27ee199e6b479b6369eec688672bde9\niv = 3254202d854734812398127a3d134421\nkey = 2034a82547276c83dd3212a813572bce\nmsg = 02efd2e5782312827ed5d230189a2a342b277ce048462193\nresult = valid\ntag = 9b7abadd6e69c1d9ec925786534f5075\n\n# tcId = 54\naad = \nct = \niv = fa294b129972f7fc5bbd5b96bba837c9\nkey = b67b1a6efdd40d37080fbe8f8047aeb9\nmsg = \nresult = valid\ntag = a2cf26481517ec25085c5b17d0786183\n\n# tcId = 55\naad = \nct = fd\niv = 9477849d6ccdfca112d92e53fae4a7ca\nkey = 209e6dbf2ad26a105445fc0207cd9e9a\nmsg = 01\nresult = valid\ntag = 032df7bba5d8ea1a14f16f70bd0e14ec\n\n# tcId = 56\naad = \nct = 2f333087bdca58219f9bfc273e45cc\niv = 5171524568e81d97e8c4de4ba56c10a0\nkey = a549442e35154032d07c8666006aa6a2\nmsg = 1182e93596cac5608946400bc73f3a\nresult = valid\ntag = e06d1ef473132957ad37eaef29733ca0\n\n# tcId = 57\naad = \nct = a780bd01c80885156c88a973264c8ee5\niv = 1275115499ae722268515bf0c164b49c\nkey = cfb4c26f126f6a0acb8e4e220f6c56cd\nmsg = 09dfd7f080275257cf97e76f966b1ad9\nresult = valid\ntag = 2adeffa682c8d8a81fada7d9fcdd2ee2\n\n# tcId = 58\naad = \nct = 7e47e10fe3c6fbfa381770eaf5d48d1482e71e0c44dff1e30ca6f95d92052084\niv = 95c1dd8c0f1705ece68937901f7add7b\nkey = 0b11ef3a08c02970f7", + "4281c860691c75\nmsg = f693d4edd825dbb0618d91113128880dbebb23e25d00ed1f077d870be9cc7536\nresult = valid\ntag = d01444fa5d9c499629d174ff3927a1ac\n\n# tcId = 59\n# J0:000102030405060708090a0b0c0d0e0f\naad = \nct = 00078d109d92143fcd5df56721b884fac64ac7762cc09eea2a3c68e92a17bdb575f87bda18be564e\niv = f95fde4a751913202aeeee32a0b55753\nkey = 00112233445566778899aabbccddeeff\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = 152a65045fe674f97627427af5be22da\nflags = ConstructedIv\n\n# tcId = 60\n# J0:00000000000000000000000000000000\naad = \nct = 84d4c9c08b4f482861e3a9c6c35bc4d91df927374513bfd49f436bd73f325285daef4ff7e13d46a6\niv = 7b95b8c356810a84711d68150a1b7750\nkey = 00112233445566778899aabbccddeeff\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = 213a3cb93855d18e69337eee66aeec07\nflags = ConstructedIv\n\n# tcId = 61\n# J0:ffffffffffffffffffffffffffffffff\naad = \nct = 948ca37a8e6649e88aeffb1c598f3607007702417ea0e0bc3c60ad5a949886de968cf53ea6462aed\niv = 1a552e67cdc4dc1a33b824874ebf0bed\nkey = 00112233445566778899aabbccddeeff\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = 99b381bfa2af9751c39d1b6e86d1be6a\nflags = ConstructedIv\n\n# tcId = 62\n# J0:fffffffffffffffffffffffffffffffe\naad = \nct = 64b19314c31af45accdf7e3c4db79f0d948ca37a8e6649e88aeffb1c598f3607007702417ea0e0bc\niv = dd9d0b4a0c3d681524bffca31d907661\nkey = 00112233445566778899aabbccddeeff\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = 5281efc7f13ac8e14ccf5dca7bfbfdd1\nflags = ConstructedIv\n\n# tcId = 63\n# J0:fffffffffffffffffffffffffffffffd\naad = \nct = 2bb69c3e5d1f91815c6b87a0d5bbea7164b19314c31af45accdf7e3c4db79f0d948ca37a8e6649e8\niv = 57c5643c4e37b4041db794cfe8e1f0f4\nkey = 00112233445566778899aabbccddeeff\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = a3ea2c09ee4f8c8a12f45cddf9aeff81\nflags = ConstructedIv\n\n# tcId = 64\n# J0:000102030405060708090a0bffffffff\naad = \nct = 127af9b39ecdfc57bb11a2847c7c2d3d8f938f40f877e0c4af37d0fe9af033052bd537c4ae978f60\niv = 99821c2dd5daecded07300f577f7aff1\nkey = 00112233445566778899aabbccddeeff\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = 07eb2fe4a958f8434d40684899507c7c\nflags = ConstructedIv\n\n# tcId = 65\n# J0:000102030405060708090a0bfffffffe\naad = \nct = 0cf6ae47156b14dce03c8a07a2e172b1127af9b39ecdfc57bb11a2847c7c2d3d8f938f40f877e0c4\niv = 5e4a3900142358d1c774d8d124d8d27d\nkey = 00112233445566778899aabbccddeeff\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = f145c2dcaf339eede427be934357eac0\nflags = ConstructedIv\n\n# tcId = 66\n# J0:000102030405060708090a0bfffffffd\naad = \nct = f0c6ffc18bd46df5569185a9afd169eb0cf6ae47156b14dce03c8a07a2e172b1127af9b39ecdfc57\niv = d4125676562984c0fe7cb0bdd1a954e8\nkey = 00112233445566778899aabbccddeeff\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = facd0bfe8701b7b4a2ba96d98af52bd9\nflags = ConstructedIv\n\n# tcId = 67\n# J0:000102030405060708090a0b7fffffff\naad = \nct = d6928e094c06e0a7c4db42184cf7529e95de88b767edebe9b343000be3dab47ea08b744293eed698\niv = b97ec62a5e5900ccf9e4be332e336091\nkey = 00112233445566778899aabbccddeeff\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = a03e729dcfd7a03155655fece8affd7e\nflags = ConstructedIv\n\n# tcId = 68\n# J0:000102030405060708090a0b7ffffffe\naad = \nct = d82ce58771bf6487116bf8e96421877ed6928e094c06e0a7c4db42184cf7529e95de88b767edebe9\niv = 7eb6e3079fa0b4c3eee366177d1c1d1d\nkey = 00112233445566778899aabbccddeeff\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = 1e43926828bc9a1614c7b1639096c195\nflags = ConstructedIv\n\n# tcId = 69\n# J0:000102030405060708090a0bffff7fff\naad = \nct = a197a37a5d79697078536bc27fe46cd8d475526d9044aa94f088a054f8e380c64f79414795c61480\niv = 0314fcd10fdd675d3c612962c931f635\nkey = 00112233445566778899aabbccddeeff\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = f08baddf0b5285c91fc06a67fe4708ca\nflags = ConstructedIv\n\n# tcId = 70\n# J0:000102030405060708090a0bffff7ffe\naad = \nct = 149fde9abbd3a43c2548575e0db9fb84a197a37a5d79697078536bc27fe46cd8d475526d9044aa94\niv = c4dcd9fcce24d3522b66f1469a1e8bb9\nkey = 00112233445566778899aabbccddeeff\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = 62a4b6875c288345d6a454399eac1afa\nflags = ConstructedIv\n\n# tcId = 71\n# special case\naad = \nct = 45a3f89d02918bfd0c8161658ccc9795\niv = 00000000000000000000000000000000\nkey = 00112233445566778899aabbccddeeff\nmsg = bec6fa05c1718b9b84c47345bbed7dcb\nresult = valid\ntag = 00000000000000000000000000000000\n\n# tcId = 72\n# special case\naad = \nct = 1cd5a06214235ceb044d4bad7b047312\niv = ffffffffffffffffffffffffffffffff\nkey = 00112233445566778899aabbccddeeff\nmsg = 4d82639c39d3f3490ee903dd0be7afcf\nresult = valid\ntag = ffffffffffffffffffffffffffffffff\n\n[ivSize = 96]\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 73\naad = 00000000ffffffff\nct = e27abdd2d2a53d2f136b\niv = 00112233445566778899aabb\nkey = 92ace3e348cd821092cd921aa3546374299ab46209691bc28b8752d17f123c20\nmsg = 00010203040506070809\nresult = valid\ntag = 9a4a2579529301bcfb71c78d4060f52c\n\n# tcId = 74\naad = aabbccddeeff\nct = \niv = 00112233445566778899aabb\nkey = 29d3a44f8723dc640239100c365423a312934ac80239212ac3df3421a2098123\nmsg = \nresult = valid\ntag = 2a7d77fa526b8250cb296078926b5020\n\n# tcId = 75\naad = \nct = \niv = 4da5bf8dfd5852c1ea12379d\nkey = 80ba3192c803ce965ea371d5ff073cf0f43b6a2ab576b208426e11409c09b9b0\nmsg = \nresult = valid\ntag = 4771a7c404a472966cea8f73c8bfe17a\n\n# tcId = 76\naad = \nct = 06\niv = 99e23ec48985bccdeeab60f1\nkey = cc56b680552eb75008f5484b4cb803fa5063ebd6eab91f6ab6aef4916a766273\nmsg = 2a\nresult = valid\ntag = 633c1e9703ef744ffffb40edf9d14355\n\n# tcId = 77\naad = \nct = cf332a12fdee800b\niv = 4f07afedfdc3b6c2361823d3\nkey = 51e4bf2bad92b7aff1a4bc05550ba81df4b96fabf41c12c7b00e60e48db7e152\nmsg = be3308f72a2c6aed\nresult = valid\ntag = 602e8d7c4799d62c140c9bb834876b09\n\n# tcId = 78\naad = \nct = 43fc101bff4b32bfadd3daf57a590e\niv = 68ab7fdbf61901dad461d23c\nkey = 67119627bd988eda906219e08c0d0d779a07d208ce8a4fe0709af755eeec6dcb\nmsg = 51f8c1f731ea14acdb210a6d973e07\nresult = valid\ntag = ec04aacb7148a8b8be44cb7eaf4efa69\n\n# tcId = 79\naad = \nct = f58c16690122d75356907fd96b570fca\niv = 2fcb1b38a99e71b84740ad9b\nkey = 59d4eafb4de0cfc7d3db99a8f54b15d7b39f0acc8da69763b019c1699f87674a\nmsg = 549b365af913f3b081131ccb6b825588\nresult = valid\ntag = 28752c20153092818faba2a334640d6e\n\n# tcId = 80\naad = \nct = 73a6b6f45f6ccc5131e07f2caa1f2e2f56\niv = 45aaa3e5d16d2d42dc03445d\nkey = 3b2458d8176e1621c0cc24c0c0e24c1e80d72f7ee9149a4b166176629616d011\nmsg = 3ff1514b1c503915918f0c0c31094a6e1f\nresult = valid\ntag = 2d7379ec1db5952d4e95d30c340b1b1d\n\n# tcId = 81\naad = \nct = 0843fff52d934fc7a071ea62c0bd351ce85678cde3ea2c9e\niv = e6b1adf2fd58a8762c65f31b\nkey = 0212a8de5007ed87b33f1a7090b6114f9e08cefd9607f2c276bdcfdbc5ce9cd7\nmsg = 10f1ecf9c60584665d9ae5efe279e7f7377eea6916d2b111\nresult = valid\ntag = 7355fde599006715053813ce696237a8\n\n# tcId = 82\naad = c0\nct = eb5500e3825952866d911253f8de860c00831c81\niv = 98bc2c7438d5cd7665d76f6e\nkey = b279f57e19c8f53f2f963f5f2519fdb7c1779be2ca2b3ae8e1128b7d6c627fc4\nmsg = fcc515b294408c8645c9183e3f4ecee5127846d1\nresult = valid\ntag = ecb660e1fb0541ec41e8d68a64141b3a\n\n# tcId = 83\naad = 956846a209e087ed\nct = feca44952447015b5df1f456df8ca4bb4eee2ce2\niv = 376187894605a8d45e30de51\nkey = cdccfe3f46d782ef47df4e72f0c02d9c7f774def970d23486f11a57f54247f17\nmsg = e28e0e9f9d22463ac0e42639b530f42102fded75\nresult = valid\ntag = 082e91924deeb77880e1b1c84f9b8d30\n\n# tcId = 84\naad = ab2ac7c44c60bdf8228c7884adb20184\nct = 43dda832e942e286da314daa99bef5071d9d2c78\niv = 5a86a50a0e8a179c734b996d\nkey = f32364b1d339d82e4f132d8f4a0ec1ff7e746517fa07ef1a7f422f4e25a48194\nmsg = 43891bccb522b1e72a6b53cf31c074e9d6c2df8e\nresult = valid\ntag = c39225", + "83476ced575404ddb85dd8cd44\n\n# tcId = 85\naad = 972ab4e06390caae8f99dd6e2187be6c7ff2c08a24be16ef\nct = a929ee7e67c7a2f91bbcec6389a3caf43ab49305\niv = bc2a7757d0ce2d8b1f14ccd9\nkey = ff0089ee870a4a39f645b0a5da774f7a5911e9696fc9cad646452c2aa8595a12\nmsg = 748b28031621d95ee61812b4b4f47d04c6fc2ff3\nresult = valid\ntag = ebec6774b955e789591c822dab739e12\n\n# tcId = 86\naad = \nct = c7d191b601f86c28b6a1bdef6a57b4f6ee3ae417bc125c381cdf1c4dac184ed1d84f1196206d62cad112b038845720e02c061179a8836f02b93fa7008379a6bf\niv = d61040a313ed492823cc065b\nkey = 5b1d1035c0b17ee0b0444767f80a25b8c1b741f4b50a4d3052226baa1c6fb701\nmsg = d096803181beef9e008ff85d5ddc38ddacf0f09ee5f7e07f1e4079cb64d0dc8f5e6711cd4921a7887de76e2678fdc67618f1185586bfea9d4c685d50e4bb9a82\nresult = valid\ntag = f15612f6c40f2e0db6dc76fc4822fcfe\n\n# tcId = 87\naad = \nct = 53cc8c920a85d1accb88636d08bbe4869bfdd96f437b2ec944512173a9c0fe7a47f8434133989ba77dda561b7e3701b9a83c3ba7660c666ba59fef96598eb621544c63806d509ac47697412f9564eb0a2e1f72f6599f5666af34cffca06573ffb4f47b02f59f21c64363daecb977b4415f19fdda3c9aae5066a57b669ffaa257\niv = 8a3ad26b28cd13ba6504e260\nkey = d7addd3889fadf8c893eee14ba2b7ea5bf56b449904869615bd05d5f114cf377\nmsg = c877a76bf595560772167c6e3bcc705305db9c6fcbeb90f4fea85116038bc53c3fa5b4b4ea0de5cc534fbe1cf9ae44824c6c2c0a5c885bd8c3cdc906f12675737e434b983e1e231a52a275db5fb1a0cac6a07b3b7dcb19482a5d3b06a9317a54826cea6b36fce452fa9b5475e2aaf25499499d8a8932a19eb987c903bd8502fe\nresult = valid\ntag = 5e63374b519e6c3608321943d790cf9a\n\n# tcId = 88\naad = \nct = d7eebc9587aa21136fa38b41cf0e2db03a7ea2ba9eaddf83d33f781093617bf50f49b2bfe2f7173b113912e2e1775f40edfed8b3b0099b9e1c220dd103be6166210b01029feb24ed9e20614eddc3cebe41b0079a9a8c117b596c90288effd3796fbd0c7e8eab00609a64be3ad9597cdbf3a818c260cd938bdf232e4059ae35a2571a838887fc196912179486e046a62227a4caddce38cbbc37587bb9439ec637602b6818c5cbe3c71a7c4143960533dc74174bd315c8db227b69b55bb7fc30ba1d5213a752ec33925043cefbc1a62943ee5f34d5da01799e69094d732aef52f8e036980d0070e22e173c67c4bbcca61cc1eedbd6016516c592144819df13204dee\niv = a6687cf508356b174625deaa\nkey = 317ba331307f3a3d3d82ee1fdab70f62a155af14daf631307a61b187d413e533\nmsg = 32c1d09107c599d3cce4e782179c966c6ef963689d45351dbe0f6f881db273e54db76fc48fdc5d30f089da838301a5f924bba3c044e19b3ed5aa6be87118554004ca30e0324337d987839412bf8f8bbdd537205d4b0e2120e965373235d6cbd2fb3776ba0a384ec1d9b7c631a0379ff997c3f974a6f7bbf4fd23016211f5fc10acadb5e400d2ff0fdfd193f5c6fc6d4f7271dfd1349ed80fbedaebb155b9b02fb3074495d55f9a2455f59bf6f113191a029c6b0ba75d97cdc0c84f131836337f29f9d96ca448eec0cc46d1ca8b3735661979d83302fec08fffcf5e58f12b1e7050657b1b97c64a4e07e317f554f8310b6ccb49f36d48c57816d24952aada711d4f\nresult = valid\ntag = bf0540d34b20f761101bc608b02458f2\n\n# tcId = 89\naad = 498d3075b09fed998280583d61bb36b6ce41f130063b80824d1586e143d349b126b16aa10fe57343ed223d6364ee602257fe313a7fc9bf9088f027795b8dc1d3\nct = aed58d8a252f740dba4bf6d36773bd5b41234bba\niv = c064fae9173b173fd6f11f34\nkey = 2ce6b4c15f85fb2da5cc6c269491eef281980309181249ebf2832bd6d0732d0b\nmsg = f8a27a4baf00dc0555d222f2fa4fb42dc666ea3c\nresult = valid\ntag = 01f93d7456aa184ebb49bea472b6d65d\n\n# tcId = 90\naad = 98d1ca1788cbeb300ea5c6b1eec95eb2347177201400913d45225622b6273eec8a74c3f12c8d5248dabee586229786ff192c4df0c79547f7ad6a92d78d9f8952758635783add2a5977d386e0aef76482211d2c3ae98de4baadb3f8b35b510464755dc75ceb2bf25b233317523f399a6c507db214f085fa2818f0d3702b10952b\nct = b42428f8094ef7e65c9e8c45ef3e95c28ce07d72\niv = 6f39afba021e4c36eb92962e\nkey = 44c8d0cdb8f7e736cfd997c872a5d9c5ef30afbe44b6566606b90aa5e3e8b797\nmsg = 2e6f40f9d3725836ac0c858177938fd67be19432\nresult = valid\ntag = 32b25dfbb896d0f9d79c823bdd8e5d06\n\n# tcId = 91\naad = 422d5efcffe364905984533f0a579d80b18bda7b29e6e46498effba53c350112c0bbb8dc4ce03bb0c69e1d0baa19f0637108aa4a16b09a281f232839d87b6d0e42be1baa7c67f1be970ea169d3960b9fe0a61f11cd2eb7398c19e641feb43f778e257a397063db5b3a6707e9db62387054f9f9d44f143583e63edad45a00251e5173d7505f22a8bce232e56c2c276a58033ae30d5dbf4e35a862e42af573be38c6406d9b4c7acbf275fe36c0ecf2c4642898a30e6146fac992a16405f98312126b7a3722f5dfb7dd4e4911c1426b2e01d04e9be6db3771100f7d7d4282e4ea585f3646241e807ca64f06a7fa9b7003d710b801d66f517d2d5ebd740872deba13d0\nct = d4a79f729487935950ec032e690ab8fe25c4158e\niv = 9f095dafe6f6e0fbafbbe02e\nkey = e40003d6e08ab80b4bfc8400ef112945a901ec64a1b6536ca92665090d608bc4\nmsg = 38c3f44bc5765de1f3d1c3684cd09cddefaf298d\nresult = valid\ntag = 876d2f334f47968b10c103859d436db8\n\n# tcId = 92\n# special case\naad = \nct = 23293e9b07ca7d1b0cae7cc489a973b3\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff102132435465768798a9bacbdcedfe0f\nmsg = 561008fa07a68f5c61285cd013464eaf\nresult = valid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 93\n# special case\naad = \nct = 7cb6fc7c6abc009efe9551a99f36a421\niv = ffffffffffffffffffffffff\nkey = 00112233445566778899aabbccddeeff102132435465768798a9bacbdcedfe0f\nmsg = c6152244cea1978d3e0bc274cf8c0b3b\nresult = valid\ntag = 00000000000000000000000000000000\n\n# tcId = 94\n# Flipped bit 0 in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 9de8fef6d8ab1bf1bf887232eab590dd\n\n# tcId = 95\n# Flipped bit 1 in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 9ee8fef6d8ab1bf1bf887232eab590dd\n\n# tcId = 96\n# Flipped bit 7 in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 1ce8fef6d8ab1bf1bf887232eab590dd\n\n# tcId = 97\n# Flipped bit 8 in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 9ce9fef6d8ab1bf1bf887232eab590dd\n\n# tcId = 98\n# Flipped bit 31 in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 9ce8fe76d8ab1bf1bf887232eab590dd\n\n# tcId = 99\n# Flipped bit 32 in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 9ce8fef6d9ab1bf1bf887232eab590dd\n\n# tcId = 100\n# Flipped bit 33 in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 9ce8fef6daab1bf1bf887232eab590dd\n\n# tcId = 101\n# Flipped bit 63 in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 9ce8fef6d8ab1b71bf887232eab590dd\n\n# tcId = 102\n# Flipped bit 64 in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 9ce8fef6d8ab1bf1be887232eab590dd\n\n# tcId = 103\n# Flipped bit 71 in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 9ce8fef6d8ab1bf13f887232eab590dd\n\n# tcId = 104\n# Flipped bit 77 in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 9ce8fef6d8ab1bf1bfa87232eab590dd\n\n# tcId = 105\n# Flipped bit 80 in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 2021", + "22232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 9ce8fef6d8ab1bf1bf887332eab590dd\n\n# tcId = 106\n# Flipped bit 96 in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 9ce8fef6d8ab1bf1bf887232ebb590dd\n\n# tcId = 107\n# Flipped bit 97 in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 9ce8fef6d8ab1bf1bf887232e8b590dd\n\n# tcId = 108\n# Flipped bit 103 in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 9ce8fef6d8ab1bf1bf8872326ab590dd\n\n# tcId = 109\n# Flipped bit 120 in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 9ce8fef6d8ab1bf1bf887232eab590dc\n\n# tcId = 110\n# Flipped bit 121 in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 9ce8fef6d8ab1bf1bf887232eab590df\n\n# tcId = 111\n# Flipped bit 126 in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 9ce8fef6d8ab1bf1bf887232eab5909d\n\n# tcId = 112\n# Flipped bit 127 in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 9ce8fef6d8ab1bf1bf887232eab5905d\n\n# tcId = 113\n# Flipped bits 0 and 64 in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 9de8fef6d8ab1bf1be887232eab590dd\n\n# tcId = 114\n# Flipped bits 31 and 63 in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 9ce8fe76d8ab1b71bf887232eab590dd\n\n# tcId = 115\n# Flipped bits 63 and 127 in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 9ce8fef6d8ab1b71bf887232eab5905d\n\n# tcId = 116\n# all bits of tag flipped\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 631701092754e40e40778dcd154a6f22\n\n# tcId = 117\n# Tag changed to all zero\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 118\n# tag changed to all 1\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 119\n# msbs changed in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 1c687e76582b9b713f08f2b26a35105d\n\n# tcId = 120\n# lsbs changed in tag\naad = \nct = b2061457c0759fc1749f174ee1ccadfa\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 9de9fff7d9aa1af0be897333ebb491dc\n\n[ivSize = 128]\n[keySize = 192]\n[tagSize = 128]\n\n# tcId = 121\n# J0:000102030405060708090a0b0c0d0e0f\naad = \nct = f83cee467336e1a09b75f24e9b4385c99c13e6af722256a66129ece961fe803b167bad206f5017fb\niv = 029e0e777db092b12535d043012f09ba\nkey = 00112233445566778899aabbccddeeff1021324354657687\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = 09338a42f0acc14f97c064f52f5f1688\nflags = ConstructedIv\n\n# tcId = 122\n# J0:00000000000000000000000000000000\naad = \nct = 0b32b648a2c28e9edd7cee08eeeb900034cae7215e5ab1e201bd2eed1032c5a97866ba582a3458a4\niv = f1be3b06b7feac07e7eab629f556047b\nkey = 00112233445566778899aabbccddeeff1021324354657687\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = 90be3606de58bd778fa5beff4a4102bd\nflags = ConstructedIv\n\n# tcId = 123\n# J0:ffffffffffffffffffffffffffffffff\naad = \nct = 575e2ecec2b3c72d4e80830d0d859ad9e42c29c4a68d8d9d8d23434de2cd07733be49d62ac1ae085\niv = de9eb63b1daed321a11b7547cc9e223c\nkey = 00112233445566778899aabbccddeeff1021324354657687\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = 6e4d6396125a10df5443bd0cbc8566d1\nflags = ConstructedIv\n\n# tcId = 124\n# J0:fffffffffffffffffffffffffffffffe\naad = \nct = 2a818888d1f09f32aa7beedd2869b446575e2ecec2b3c72d4e80830d0d859ad9e42c29c4a68d8d9d\niv = 40bb0abebc483ff6d5671241ff5d66c6\nkey = 00112233445566778899aabbccddeeff1021324354657687\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = dc481f172545268eff63ab0490403dc3\nflags = ConstructedIv\n\n# tcId = 125\n# J0:fffffffffffffffffffffffffffffffd\naad = \nct = 96d36b795f8e7edf6a8e0dbcd20d6c072a818888d1f09f32aa7beedd2869b446575e2ecec2b3c72d\niv = 20d5cf305e630a8f49e3bb4bab18abc9\nkey = 00112233445566778899aabbccddeeff1021324354657687\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = 8a3a22bf2592958b930292aa47f590e8\nflags = ConstructedIv\n\n# tcId = 126\n# J0:000102030405060708090a0bffffffff\naad = \nct = cfce3d920f0e01f0bb49a751955b236d1b887baefd25c47f41303c46d5c7bf9ca4c2c45a8f1e6656\niv = 255358a71a0e5731f6dd6ce28e158ae6\nkey = 00112233445566778899aabbccddeeff1021324354657687\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = 2db9dc1b7fd315df1c95432432fcf474\nflags = ConstructedIv\n\n# tcId = 127\n# J0:000102030405060708090a0bfffffffe\naad = \nct = 69a24169792e9a07f6e6f4736fa972dccfce3d920f0e01f0bb49a751955b236d1b887baefd25c47f\niv = bb76e422bbe8bbe682a10be4bdd6ce1c\nkey = 00112233445566778899aabbccddeeff1021324354657687\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = 82ad967f7ac19084354f69a751443fb2\nflags = ConstructedIv\n\n# tcId = 128\n# J0:000102030405060708090a0bfffffffd\naad = \nct = 4e4417a83beac1eb7e24456a05f6ba5569a24169792e9a07f6e6f4736fa972dccfce3d920f0e01f0\niv = db1821ac59c38e9f1e25a2eee9930313\nkey = 00112233445566778899aabbccddeeff1021324354657687\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = 472d5dd582dc05ef5fc496b612023cb2\nflags = ConstructedIv\n\n# tcId = 129\n# J0:000102030405060708090a0b7fffffff\naad = \nct = 6f8e174efca3097299f784efd4caff0bf168c3e5165b9ad3d20062009848044eef8f31f7d2fead05\niv = f7a02ecca03064b2ef3cce9feab79f07\nkey = 00112233445566778899aabbccddeeff1021324354657687\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = caff723826df150934aee3201ba175e7\nflags = ConstructedIv\n\n# tcId = 130\n# J0:000102030405060708090a0b7ffffffe\naad = \nct = af193090ce3d43a388a1d294a09616906f8e174efca3097299f784efd4caff0bf168c3e5165b9ad3\niv = 6985924901d688659b40a999d974dbfd\nkey = 00112233445566778899aabbccddeeff1021324354657687", + "\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = 3b08958be1286c2b4acba02b3674adb2\nflags = ConstructedIv\n\n# tcId = 131\n# J0:000102030405060708090a0bffff7fff\naad = \nct = 5deccf838b2cf5f869c90d2a611160b1e578ab8121b93735cba4a1930647b8c4c84bf776333ee45a\niv = 3f1188546c65ed0fc55e75032c68ee44\nkey = 00112233445566778899aabbccddeeff1021324354657687\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = c14d52208f0f51b816a48971eaf8ff7e\nflags = ConstructedIv\n\n# tcId = 132\n# J0:000102030405060708090a0bffff7ffe\naad = \nct = d2cae1684aa407a13a2e2da5357e29f55deccf838b2cf5f869c90d2a611160b1e578ab8121b93735\niv = a13434d1cd8301d8b12212051fabaabe\nkey = 00112233445566778899aabbccddeeff1021324354657687\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = ea2d018099cd7925c507cef0ceddb0ae\nflags = ConstructedIv\n\n# tcId = 133\n# special case\naad = \nct = 541b835dc828d541073f7d7d7504ebf5\niv = 00000000000000000000000000000000\nkey = 00112233445566778899aabbccddeeff1021324354657687\nmsg = 5c7d3f81d4b5055ed6f8db53614587a4\nresult = valid\ntag = 00000000000000000000000000000000\n\n# tcId = 134\n# special case\naad = \nct = a3f36154331c196624564bc395e49c3b\niv = ffffffffffffffffffffffffffffffff\nkey = 00112233445566778899aabbccddeeff1021324354657687\nmsg = 6a347ad1190e72ede611044e7475f0eb\nresult = valid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 135\naad = \nct = \niv = bc28433953772d57bbd933100cd47a56\nkey = fae2a14197c7d1140061fe7c3d11d9f77c79562e3593a99b\nmsg = \nresult = valid\ntag = 1bb94331f26cad24036cfeff34b89aaf\n\n# tcId = 136\naad = \nct = dc\niv = 1e8259e0a43e571068f701cd2064fc0c\nkey = cee9abbc26b63e169f0ced621fe21d95904e75b881d93e6b\nmsg = 46\nresult = valid\ntag = af1f5535b125b34fc466902ea40cb3a2\n\n# tcId = 137\naad = \nct = 2aab5c87dcb4a4dae4e975ddb65aab\niv = c84442d6975f0359737de0fa828f958e\nkey = 189f0bd390ba40632586a45c39735c2b87113329c800f394\nmsg = b4bcd7b8eeca3050dd17682c6a914e\nresult = valid\ntag = 6b03b7557c7131e2352e495d54e61aef\n\n# tcId = 138\naad = \nct = d127fd2e67c0887d90eb92b91f357d97\niv = 13cd526ec77b58f62d48d03f8b88f2b8\nkey = b0724f15df5b792c2f49bc51df0ac5aad69be0030981613c\nmsg = 8da3ab9c3d195b04df452ad23953da4d\nresult = valid\ntag = eb05bda937faeed27f8833295d4ba559\n\n# tcId = 139\naad = \nct = 344c2cea17b06cb3da272e22a22a3a71ee0eaa1959a7facfff464660ddccedd1\niv = 1d3d62eccd8ac5e896f2654a7f606fc9\nkey = 998750ba784841e40a7c5b03985732b6397e5459a3843954\nmsg = 2f60ca3494a958dc3e6ebeb5d0b4e6dda0d0c4331ab9c957f6422a5100878ebf\nresult = valid\ntag = bab7fbf499ff06aad5f757b1c1a4fcc0\n\n[ivSize = 96]\n[keySize = 192]\n[tagSize = 128]\n\n# tcId = 140\n# special case\naad = \nct = 3f875c9bd7d8511448459468e398c3b2\niv = 000000000000000000000000\nkey = 00112233445566778899aabbccddeeff1021324354657687\nmsg = 0b4dbbba8982e0f649f8ba85f3aa061b\nresult = valid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 141\n# special case\naad = \nct = 210dabea4364c6d5b3429e7743322936\niv = ffffffffffffffffffffffff\nkey = 00112233445566778899aabbccddeeff1021324354657687\nmsg = 1ae93688ef7e2650a9342ad4718b2780\nresult = valid\ntag = 00000000000000000000000000000000\n\n# tcId = 142\naad = \nct = \niv = ff0ddb0a0d7b36d219da12b5\nkey = 5019eb9fef82e5750b631758f0213e3e5fcca12748b40eb4\nmsg = \nresult = valid\ntag = 7971284e6c9e6aac346fe2b7a0a064c2\n\n# tcId = 143\naad = \nct = fe\niv = 34047bc39b9c608384dff5b8\nkey = 21218af790428f8024d3e7e1428c9fcf578c216636d60e73\nmsg = e3\nresult = valid\ntag = 2e982e24b81cd120d35a70fe6935e665\n\n# tcId = 144\naad = \nct = 99f2ff1c8a44e5f2\niv = 4ebc13cf4636cc7c45e560a7\nkey = 3a8bf543c480925632118245bcbf5d01522b987a31a33da3\nmsg = 53fc72e71b59eeb3\nresult = valid\ntag = 6870f104ddc514477b400336fb01860e\n\n# tcId = 145\naad = \nct = afe8ef41591bfcc00db3c880ceb186\niv = 6e7ff7f0797685cfc44b05ff\nkey = 92f4d2672fceec43963ccffb17e6ea7578b11418b06a3b82\nmsg = c3ec16adb184affa8ae9738bffb916\nresult = valid\ntag = 29fff7f285768645c9c8bf7a471c9393\n\n# tcId = 146\naad = \nct = 90339dca02ef717f1603994aee6cf6d2\niv = be0326d23bdc2c64648d13f4\nkey = bcb6bc5ee6743df1396a34639327b25809ec9c81dd6a0c0e\nmsg = 80474a3a3b809560eee2ce7a7a33ea07\nresult = valid\ntag = e3d33e01ce64f271783147de226228bc\n\n# tcId = 147\naad = \nct = b98ed6321679941a3e521834296686ad98\niv = b6be6cd0681235d826aa28ea\nkey = 5e1d28213e092536525bbae09e214af4c891e202b2b4fa4f\nmsg = 53d59433a7db7f41b31ccb6d4a2d789965\nresult = valid\ntag = 9f50c03e055e519712c582ec9db3235b\n\n# tcId = 148\naad = \nct = addd303651119e52f6170dfc7a915064253d57532987b9ab\niv = b022067048505b20946216ef\nkey = 7f672d85e151aa490bc0eec8f66b5e5bee74af11642be3ff\nmsg = ef6412c72b03c643fa02565a0ae2378a9311c11a84065f80\nresult = valid\ntag = fa0484f8baa95f5b7a31c56d1b34c58b\n\n# tcId = 149\naad = cb\nct = 0d2c3a3c0cc4b40e70ed45e188e356a0e1533b31\niv = 817fe51c31f2879141a34335\nkey = 969fed5068541d65418c2c1de8fe1f845e036030496e1272\nmsg = 3d8233191a2823bf767e99167b1d4af4f4848458\nresult = valid\ntag = 92909a80e90540e1878ab59ef300072b\n\n# tcId = 150\naad = 2ed8487153e21b12\nct = c7c1cbb85ce2a0a3f32cb9ef01ad45ec1118b66d\niv = 62b9cf1e923bc1138d05d205\nkey = fa5b9b41f93f8b682c04ba816c3fecc24eec095b04dd7497\nmsg = 18159841813a69fc0f8f4229e1678da7c9016711\nresult = valid\ntag = 253317f98bdab87531ece20475cd9ebb\n\n# tcId = 151\naad = 74318d8876528243f1944b73eb77e96e\nct = ecf5e403f19c007c8da7a456caf0a6d75762829b\niv = 3f1a1e02e90a4ba7a1db9df2\nkey = fbfb395662787e2d25a2e7510f818e825936a35114e237c9\nmsg = 2952a3d64107d5cbb9602239d05a5c5c222cf72b\nresult = valid\ntag = e0877a100f9dd9d6795f0e74c56a9fab\n\n# tcId = 152\naad = 5ca354a4cb8e4fc9798aa209ad4f739dc7c232fdd1f22584\nct = 94d844d98b9467daa7e8dde7f4290037354d7fb2\niv = 0802ae86c75a73bf79561521\nkey = 5d8e9c2222316c9ed5ff94513cc957436ae447a6e1a73a29\nmsg = 42b4439e1d2116f834b91c516a26299df279956b\nresult = valid\ntag = 62196638590cef429d6b1d1a59839c02\n\n# tcId = 153\naad = \nct = e9915bc5aea63c8bc014f2ae6a4986b03115ff1f34ad6c0acd74ffca07c453ec3f3ce6902d5ff338c588a34a1c3b30ef753ec7001572cbfeafe690fd00f59b02\niv = 9189a71ac359b73c8c08df22\nkey = ccbd0f509825a5f358a14aac044ae2826bb2c9eaaaaa077f\nmsg = a1ed1007b52e36ec0f70109c68da72ee7b675c855e3e4956d2dcf9d12f675d6933f677ddcc58face857699d2e3d90adcb8c6c57c9d88b5dfcf356de4c0b63f0e\nresult = valid\ntag = fbf19b6b90e2d9df7ead0c3bc6e375a2\n\n# tcId = 154\naad = \nct = 9663e6f98b2768448e6dd0dd780e145668af5b002257e353213868c9cd9fd3a1e9427530327541775a093123076d34985db3aa248cd55e532609d1a39274c49216ea20fbab719b9c7e310b27877b9a33d1b69ab747afac944d1e97ea789367821c331f00b5d618402bfc57884d18edbd60c4dfe218c08080b8e3479ff84bdfb5\niv = 98e9153daca2522e3162cb15\nkey = d045c6eb173f440843faec3e9374602a94ee3f7176312208\nmsg = 3f0b30dc963a82d182c035b5a823060f07c4123792e6cee6bf91fea3c52fa66bb6a93ea6cce9f4813eb95bf18f816c00ad4fb56932827a39efb2fe56804e604a606774ee92ad46cd8c172a0d2bdea2fc99f67cd82c6024c315cfee6dbb8d27f745c9d0ce9bf5d09724f4bed003cf39478348b3304baa4ecc9974fc4f3ff93f95\nresult = valid\ntag = fc2ff62a41bdb79afc369842e4eccabf\n\n# tcId = 155\naad = \nct = 167183661675677625bed2d5f55f728dab80d7f06f629d99e58b45069fe9d7428e8961561b11245c709ac9ebb5c59ac2a89d8375d8a01d849c7733a1b482529927e3f1a1a53f63a4be08a11c941c634cd40373c42ffb2449c641bc9e39eafbcf9c0fba677e36496f73fc70aa0972224901ab04b0a196ab745262021b2313a8464187fecec43adb406258bddcd8c9d04dc2ae29e65d54a89dd0f1752d6d950dbf7da4dea0a7b9465579503fc8ec4451f4b39878ac4754a1aaf7b0b73fee11213cb8e601fc6039393f72e0e079ee97ecc610241757da2db2f51d5ed121481540eff47287744dac43375c4f48a46af70190453a17c3c78d735ba1d1fc76a330e6cbed\niv = 9e35d3ef1897c5fe3f647204\nkey = e602188abf6a91f3e258838cea6befeffcf6257a509c3e95\nmsg = 3b9a6edc44848c072341fd4af51ec116ac328f69cc5a3354e49299fb2e5d22fa0084e30b36ecaf54309397b2b498d686087f3457698c3639e73ca18c78c3e021d673986cfc2ceb4d07e66971e976f58f0336f82c7fc0d52d66610f26ca3bfe53c0b01cf7c207306db904c1ad300ab95c56fde820a8edd256f2b9906b312bf7af5ef4a806f618ddfcb67179b03fff80a245c38d8f4cff2875b71a0bf69129caf97121462e0501ec6574ede94706f4a04d2fb301d415c22ea12157d2e919bc7a0169a5ad5c7bb5761a8531abbe77d66a4871b3f27a7170f099044b9fdc50a8cb3b894252a501cc896ac4793bdb478bb1cb99c02341d7238dd8d593cfda02f7d520d7\nresult = valid\ntag = c72035314f43d256f8d845eb696bd943\n\n# tcId = 156\naad = df737cd77d31eb", + "9097a17c31b4c92889ef1f32b7464e2620e9007192ea675b9ad6910527ffecee2452be0248fab75608c7fdca08e86580322aac1d6a11b96ecf\nct = 3f57ec1b414f74818fead9f35aa1679402c3e750\niv = dba233ccbc7992e64e82cfa3\nkey = 55a4ca526443357ac7c896d9a67cf7d467f6921d69002d3a\nmsg = 4e56d1ea538cf49cad49959e884eb540c846556c\nresult = valid\ntag = 97b89b291419e32cf654ea630a3ad014\n\n# tcId = 157\naad = 7739aad7399d9c0f0a3c95b403888f0072d94acb76ff576e05f4a063120b84e722b4d5cd43a58e4abab444cb8ced112f3dbd8993b831c39b4edb76e92eb33ee24c5922b56552685f3b0f4cf22e0e11628f6a3d33eff9def7ec527112dfafcf122814e3d1aaf66c3f970526511088bffef8101d1cef833268ff80387df30557f7\nct = 5565c6d09c4c924d61c0ef808fb0ea144ffb4738\niv = 10aaec0de4ad75376be9fd41\nkey = f381d0ffd3373a1aa02edd1d7fa748e91908fe534bef73d2\nmsg = 653a3f033c2775e08fef73cf80f5e2699fb360cb\nresult = valid\ntag = 12b72ec1d9c32fb22c13c40b33796fa9\n\n# tcId = 158\naad = 58fd02ac23ec7fa5b9460f60bfc85b4bebba70039a8f83261d6cc4f560107c10bc69548a5d6152882fb465fd59fb8164d7c94523c3dd4206d33064f5191bd31f0c48fe03d7460e995c93175b57cb03f58711adc94632031c4305272367b4289c725d9cb7ae9ba996b3a079174508c1eae8162a0bac446c1e53fe0c402b6912dfd6702addccada30a5c010fc22c2c75e43226378ec7f4b3b71ccc71f32ab1adc877cc7b0a180c75d385c0f71a0b291a1cccf4be47e272249d61ffbf059c4f7be74eba07d5e1be3a7438458a611fe58cee4f946e25dee03e6485235566f20ed555be32cd57a94e522d2168eae23c4587371a2d145f418c59e7bbc464a3bd88b8919b\nct = c6877b03552e97d9a1e6557f90dc7adde15a2f43\niv = 12444040caede67285e490d7\nkey = 8f27b1c3b3d7023c76ee66c768a3e92d4971e25f729d8788\nmsg = 0df6e750092b9ac576dde66006a4cab2116eee21\nresult = valid\ntag = 2536272bee7446820041854e10b49a03\n\n# tcId = 159\n# Flipped bit 0 in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = b5e44c5b2fe90e4c78f358da0d99cb64\n\n# tcId = 160\n# Flipped bit 1 in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = b6e44c5b2fe90e4c78f358da0d99cb64\n\n# tcId = 161\n# Flipped bit 7 in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 34e44c5b2fe90e4c78f358da0d99cb64\n\n# tcId = 162\n# Flipped bit 8 in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = b4e54c5b2fe90e4c78f358da0d99cb64\n\n# tcId = 163\n# Flipped bit 31 in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = b4e44cdb2fe90e4c78f358da0d99cb64\n\n# tcId = 164\n# Flipped bit 32 in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = b4e44c5b2ee90e4c78f358da0d99cb64\n\n# tcId = 165\n# Flipped bit 33 in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = b4e44c5b2de90e4c78f358da0d99cb64\n\n# tcId = 166\n# Flipped bit 63 in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = b4e44c5b2fe90ecc78f358da0d99cb64\n\n# tcId = 167\n# Flipped bit 64 in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = b4e44c5b2fe90e4c79f358da0d99cb64\n\n# tcId = 168\n# Flipped bit 71 in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = b4e44c5b2fe90e4cf8f358da0d99cb64\n\n# tcId = 169\n# Flipped bit 77 in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = b4e44c5b2fe90e4c78d358da0d99cb64\n\n# tcId = 170\n# Flipped bit 80 in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = b4e44c5b2fe90e4c78f359da0d99cb64\n\n# tcId = 171\n# Flipped bit 96 in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = b4e44c5b2fe90e4c78f358da0c99cb64\n\n# tcId = 172\n# Flipped bit 97 in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = b4e44c5b2fe90e4c78f358da0f99cb64\n\n# tcId = 173\n# Flipped bit 103 in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = b4e44c5b2fe90e4c78f358da8d99cb64\n\n# tcId = 174\n# Flipped bit 120 in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = b4e44c5b2fe90e4c78f358da0d99cb65\n\n# tcId = 175\n# Flipped bit 121 in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = b4e44c5b2fe90e4c78f358da0d99cb66\n\n# tcId = 176\n# Flipped bit 126 in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = b4e44c5b2fe90e4c78f358da0d99cb24\n\n# tcId = 177\n# Flipped bit 127 in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = b4e44c5b2fe90e4c78f358da0d99cbe4\n\n# tcId = 178\n# Flipped bits 0 and 64 in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = b5e44c5b2fe90e4c79f358da0d99cb64\n\n# tcId = 179\n# Flipped bits 31 and 63 in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = b4e44cdb2fe90ecc78f358da0d99cb64\n\n# tcId = 180\n# Flipped bits 63 and 127 in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = b4e44c5b2fe90ecc78f358da0d99cbe4\n\n# tcId = 181\n# all bits of tag flipped\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 4b1bb3a4d016f1b3870ca725f266349b\n\n# tcId = 182\n# Tag changed to all zero\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 183\n# tag changed to all 1\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag =", + " ffffffffffffffffffffffffffffffff\n\n# tcId = 184\n# msbs changed in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = 3464ccdbaf698eccf873d85a8d194be4\n\n# tcId = 185\n# lsbs changed in tag\naad = \nct = 458256842dfd297f30bd2f8f15c92db0\niv = 505152535455565758595a5b\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 202122232425262728292a2b2c2d2e2f\nresult = invalid\ntag = b5e54d5a2ee80f4d79f259db0c98ca65\n\n[ivSize = 128]\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 186\n# J0:000102030405060708090a0b0c0d0e0f\naad = \nct = 28e1c5232f4ee8161dbe4c036309e0b3254e9212bef0a93431ce5e5604c8f6a73c18a3183018b770\niv = 5c2ea9b695fcf6e264b96074d6bfa572\nkey = 00112233445566778899aabbccddeeff102132435465768798a9bacbdcedfe0f\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = d5808a1bd11a01129bf3c6919aff2339\nflags = ConstructedIv\n\n# tcId = 187\n# J0:00000000000000000000000000000000\naad = \nct = cceebeb4fe4cd90c514e52d2327a2ecd75393661006cf2476d8620149aef3d1cdce491fff3e7a7a3\niv = 57b3a81f2c36b6b06577ca0fbab8fa8e\nkey = 00112233445566778899aabbccddeeff102132435465768798a9bacbdcedfe0f\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = 8132e865b69d64ef37db261f80cbbe24\nflags = ConstructedIv\n\n# tcId = 188\n# J0:ffffffffffffffffffffffffffffffff\naad = \nct = 4f4350565d91d9aa8c5f4048550492ad6d6fdabf66da5d1e2af7bfe1a8aadaa0baa3de38a41d9713\niv = ce20a7e870696a5e68533c465bad2ba1\nkey = 00112233445566778899aabbccddeeff102132435465768798a9bacbdcedfe0f\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = 155da6441ec071ef2d8e6cffbacc1c7c\nflags = ConstructedIv\n\n# tcId = 189\n# J0:fffffffffffffffffffffffffffffffe\naad = \nct = 8316a53167b6de1a7575700693ffef274f4350565d91d9aa8c5f4048550492ad6d6fdabf66da5d1e\niv = 918e3c19dbdfee2db18156c5b93f3d75\nkey = 00112233445566778899aabbccddeeff102132435465768798a9bacbdcedfe0f\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = 6c574aa6a2490cc3b2f2f8f0ffbc56c4\nflags = ConstructedIv\n\n# tcId = 190\n# J0:fffffffffffffffffffffffffffffffd\naad = \nct = 5175927513e751eb309f45bc2ef225f28316a53167b6de1a7575700693ffef274f4350565d91d9aa\niv = 717d900b270462b9dbf7e9419e890609\nkey = 00112233445566778899aabbccddeeff102132435465768798a9bacbdcedfe0f\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = 8082a761e1d755344bf29622144e7d39\nflags = ConstructedIv\n\n# tcId = 191\n# J0:000102030405060708090a0bffffffff\naad = \nct = 36b3fbecd09178d04527fb37544f5579d20d60a41266f685c48098e1a52804ca387d90709d3268dd\niv = ecd52120af240e9b4bf3b9d1eeb49434\nkey = 00112233445566778899aabbccddeeff102132435465768798a9bacbdcedfe0f\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = 033e0ef2953ebfd8425737c7d393f89a\nflags = ConstructedIv\n\n# tcId = 192\n# J0:000102030405060708090a0bfffffffe\naad = \nct = 16929b773051f12b0adac95f65e21a7f36b3fbecd09178d04527fb37544f5579d20d60a41266f685\niv = b37bbad104928ae89221d3520c2682e0\nkey = 00112233445566778899aabbccddeeff102132435465768798a9bacbdcedfe0f\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = ca448bb7e52e897eca234ef343d057d0\nflags = ConstructedIv\n\n# tcId = 193\n# J0:000102030405060708090a0bfffffffd\naad = \nct = 6d3faefaf691d58163846f8d4b9ffd5916929b773051f12b0adac95f65e21a7f36b3fbecd09178d0\niv = 538816c3f849067cf8576cd62b90b99c\nkey = 00112233445566778899aabbccddeeff102132435465768798a9bacbdcedfe0f\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = 84f49740e6757f63dd0df7cb7656d0ef\nflags = ConstructedIv\n\n# tcId = 194\n# J0:000102030405060708090a0b7fffffff\naad = \nct = d60196c2d14fcf30c0991d2721ddc52d385f407a16691dade82c9023c855fd8e2e8fbb562102f018\niv = d10e631943cd3bdababab2bbd13951c0\nkey = 00112233445566778899aabbccddeeff102132435465768798a9bacbdcedfe0f\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = 877e15d9889e69a99fcc6d727465c391\nflags = ConstructedIv\n\n# tcId = 195\n# J0:000102030405060708090a0b7ffffffe\naad = \nct = 948fbceca12a6e4fabb79b6d965e336fd60196c2d14fcf30c0991d2721ddc52d385f407a16691dad\niv = 8ea0f8e8e87bbfa96368d83833ab4714\nkey = 00112233445566778899aabbccddeeff102132435465768798a9bacbdcedfe0f\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = cd5757626945976ba9f0264bd6bee894\nflags = ConstructedIv\n\n# tcId = 196\n# J0:000102030405060708090a0bffff7fff\naad = \nct = a1a0120660ff52e6b1700b12c54d2d33b94b00cd7882d8857d84e6e183a1dea6ee85a7da84fbc35d\niv = 7b2df4fbed1de2727eb24898e5deabb9\nkey = 00112233445566778899aabbccddeeff102132435465768798a9bacbdcedfe0f\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = b015d72da62c81cb4d267253b20db9e5\nflags = ConstructedIv\n\n# tcId = 197\n# J0:000102030405060708090a0bffff7ffe\naad = \nct = 5e3434b45edbf0d1f6e02d1144dbf867a1a0120660ff52e6b1700b12c54d2d33b94b00cd7882d885\niv = 24836f0a46ab6601a760221b074cbd6d\nkey = 00112233445566778899aabbccddeeff102132435465768798a9bacbdcedfe0f\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\ntag = ee74ccb30d649ebf6916d05a7dbe5696\nflags = ConstructedIv\n\n# tcId = 198\n# special case\naad = \nct = 265c42e2b96ea1de9c24f7182e337390\niv = 00000000000000000000000000000000\nkey = 00112233445566778899aabbccddeeff102132435465768798a9bacbdcedfe0f\nmsg = 8d74f1c97243d362577ff376c393d2dc\nresult = valid\ntag = 00000000000000000000000000000000\n\n# tcId = 199\n# special case\naad = \nct = 988f47668ea650cbaa6714711abe268d\niv = ffffffffffffffffffffffffffffffff\nkey = 00112233445566778899aabbccddeeff102132435465768798a9bacbdcedfe0f\nmsg = 884df0e76f3ce227bf9595d103825a46\nresult = valid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 200\naad = \nct = \niv = 00c49f4ebb07393f07ebc3825f7b0830\nkey = b4cd11db0b3e0b9b34eafd9fe027746976379155e76116afde1b96d21298e34f\nmsg = \nresult = valid\ntag = 306fe8c9645cc849823e333a685b90b2\n\n# tcId = 201\naad = \nct = 3f\niv = 0ad570d8863918fe89124e09d125a271\nkey = b7797eb0c1a6089ad5452d81fdb14828c040ddc4589c32b565aad8cb4de3e4a0\nmsg = ed\nresult = valid\ntag = fd8f593b83314e33c5a72efbeb7095e8\n\n# tcId = 202\naad = \nct = 041341078f0439e50b43c991635117\niv = 2a55caa137c5b0b66cf3809eb8f730c4\nkey = 4c010d9561c7234c308c01cea3040c925a9f324dc958ff904ae39b37e60e1e03\nmsg = 2a093c9ed72b8ff4994201e9f9e010\nresult = valid\ntag = 5b8a2f2da20ef657c903da88ef5f57bb\n\n# tcId = 203\naad = \nct = 469478d448f7e97d755541aa09ad95b0\niv = 7ee376910f08f497aa6c3aa7113697fd\nkey = e7f7a48df99edd92b81f508618aa96526b279debd9ddb292d385ddbae80b2259\nmsg = 5e51dbbb861b5ec60751c0996e00527f\nresult = valid\ntag = 254ada5cf662d90c5e11b2bd9c4db4c4\n\n# tcId = 204\naad = \nct = cb960201fa5ad41d41d1c2c8037c71d52b72e76b16b589d71b976627c9734c9d\niv = 5d1bde6fa0994b33efd8f23f531248a7\nkey = 4f84782bfbb64a973c3de3dcfa3430367fd68bc0b4c3b31e5d7c8141ba3e6a67\nmsg = 78cb6650a1908a842101ea85804fed00cc56fbdafafba0ef4d1ca607dcae57b6\nresult = valid\ntag = 8dfce16467c3a6ebb3e7242c9a551962\n\n[ivSize = 120]\n[keySize = 128]\n[tagSize = 128]\n\n# tcId = 205\n# unusual IV size\naad = \nct = 2bc3ef8e7402b4631f48e9be\niv = b0a73119a97d623806b49d45ddf4c7\nkey = 34c74e28182948e03af02a01f46eb4f7\nmsg = fe82ba66cf2e265741f2c86c\nresult = valid\ntag = 4b6f6f5be291a90b9e93a8a82ddbc8d8\n\n[ivSize = 160]\n[keySize = 128]\n[tagSize = 128]\n\n# tcId = 206\n# unusual IV size\naad = \nct = 4fe13ef29f118f85a63188f8\niv = e22b6b144ab26b5781316e7a42a76202ac4b2278\nkey = 55cb7cac77efe18a1ea3b30c65f3f346\nmsg = 2f3d11ea32bf5bc72cbe2b8d\nresult = valid\ntag = 05975b175316df8045889f43e0c857e0\n\n[ivSize = 120]\n[keySize = 192]\n[tagSize = 128]\n\n# tcId = 207\n# unusual IV size\naad = \nct = 9af1a022c61c4315aa0e923e\niv = edf93e16294f15eded83808f09320e\nkey = 66f75acbd8d3acf7af47d13e8384c2809d6b91503a7f294b\nmsg = a900c86b6b7e0", + "e5563f8f826\nresult = valid\ntag = 20529bff3c59222ec33353af337b1d40\n\n[ivSize = 160]\n[keySize = 192]\n[tagSize = 128]\n\n# tcId = 208\n# unusual IV size\naad = \nct = 073a5291b11df379f31b4f16\niv = 130c14c839e35b7d56b3350b194b0da342e6b65d\nkey = ef2e299dd4ecd7e3b9cc62780922cc2c89f78840564d1276\nmsg = 03f59579b14437199583270e\nresult = valid\ntag = 17205999491bd4c1d6c7ec3e56779c32\n\n[ivSize = 120]\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 209\n# unusual IV size\naad = \nct = fc213602aa423b87d7c2a874\niv = 17ca250fb733877556263223eadde1\nkey = e98b0669a645eb14cd06df6968fc5f10edc9f54feed264e3d410cdc61b72ef51\nmsg = f384b3ed7b274641f5db60cf\nresult = valid\ntag = 36b15bab6923b17218fe1c24048e2391\n\n[ivSize = 160]\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 210\n# unusual IV size\naad = \nct = c1d76233e8c5042e92bf8d32\niv = 0f9d6ed7eef362dfa4a7dfa5c0f74c5b27bd4ebf\nkey = 849b3e6b8cdd85bdcfb8eb701aa5522ae2340fbe5214e389622cef76979225c4\nmsg = 8c5564e53051c0de273199b4\nresult = valid\ntag = 7cf036d235d3b2dd349a8c804b65144a\n\n[ivSize = 256]\n[keySize = 128]\n[tagSize = 128]\n\n# tcId = 211\n# long IV size\naad = \nct = 5348af57fafe2485b43f2bc4\niv = 365e0b96932b13306f92e9bb23847165bcbf5d35e45a83d75c86ecca70131f4c\nkey = 5927bae748bb69d81b5a724e0a165652\nmsg = 316bf99bfafc76f1bfc0b03c\nresult = valid\ntag = 019a96c5373c031626b6c0300d4cf78b\n\n[ivSize = 512]\n[keySize = 128]\n[tagSize = 128]\n\n# tcId = 212\n# long IV size\naad = \nct = f559b70fe1149cb34406a2c7\niv = 967fa7c990eb2becbd450835e28ea3a9000c7216285cfa7696e8c3dac3ce952a1fe638d7c8c73e1d708dce01b5a20fcc9aa011949d2a835f777423c172fa3aa0\nkey = dbd3676f293409273f27b375e03793a3\nmsg = 625efedb8b7f1aa62238a8f2\nresult = valid\ntag = 94180ddb7bb1995abe0219eab5ce232f\n\n[ivSize = 1024]\n[keySize = 128]\n[tagSize = 128]\n\n# tcId = 213\n# long IV size\naad = \nct = 5291dd4da91ccc2e77306d83\niv = 494356c3459d60e3a83433c9bcf2c0454a763e496e4ec99bfbe4bbb83a4fda76b542213899dcf5521cd9bbbe5d11545bda44a3f4a681ce2843acea730d83d3930ea30991ee1a68ebf6d1a5a40f9b02a1aab091298df8dd689dc7613bcbff94d35f2ca43377d81618562bcf6573411ec9bc97c5a6276b554054c0fa787073d067\nkey = 7e5a39dcda7e066988f19adf4de4d501\nmsg = b04729b4adbaac63c2aaf8d8\nresult = valid\ntag = a7f7b21a3b7ece509e922647fd905f06\n\n[ivSize = 2056]\n[keySize = 128]\n[tagSize = 128]\n\n# tcId = 214\n# long IV size\naad = \nct = e3be947153a26a3a54e3015c\niv = 6fd260bba87339539c37dc68fdc3656f63c83028cb8adcb531085e98bd570c6b735d0cc4b4b924696000a2d893621ae64dcce992b562b89a5285643a08febccbc52243cbfc8d45212e047b00c87c6b6bf175f8bb678ec55c1091315cbecb8b85700f4a4653623fb78e63cfff7d6235e48e9832c9f0716d10992fc5b0ad4e6972bbeeb1ad670cd7ec8fac82e07ea5a64f9761a39714aaa73affd2cb190a7ac2df5e5dcea6812ae2c872c7ac70453c5e7ec4d0b5b18c6ff3bfb9ae15fea44cf392615b80034edae596b8821f97fca58d167fb44a093b0c009a0bd5631355b0cb25d93ba9b79b006301d99db657e801933fc2764a0ce650eaf5a1299efe60cb53b634\nkey = eac3f28cd937ff29eb6158a3721b5145\nmsg = 098912a302773377b9c26ac3\nresult = valid\ntag = fd042bdde22f67c4fd298d5dc0867606\n\n[ivSize = 256]\n[keySize = 192]\n[tagSize = 128]\n\n# tcId = 215\n# long IV size\naad = \nct = 8c2a9823a3b3d413be696387\niv = 36e4b381574d171c7769a788cbc147224fabd8b773f16b8ae84d8f2603aaa440\nkey = 8f9ebc67a9a6430c2b0ceeaf983e1356964bb928635b9ca4\nmsg = a3a96ee94f94caa81ebcd66d\nresult = valid\ntag = faaf01ceb40a7e145e8fe65aa9af58c0\n\n[ivSize = 512]\n[keySize = 192]\n[tagSize = 128]\n\n# tcId = 216\n# long IV size\naad = \nct = a660ea5bf07a78fea0120173\niv = 90743bd5d794d52ac848b7e2384545a25846acf143be84c0ead0432fcf3172631cf58d0ca78571c03053c1e1b85ed79cb5303d0e3a98ff4f56c4f0a5eb4f0eac\nkey = f4bbdfd06f7fb1434880e4166d38d56e02a3f0df0d5301ce\nmsg = 39d2abe6697f17ec27f2a39c\nresult = valid\ntag = 7404fc7b7354694428236f203c130244\n\n[ivSize = 1024]\n[keySize = 192]\n[tagSize = 128]\n\n# tcId = 217\n# long IV size\naad = \nct = f400132ff38c04ed747dde34\niv = fbb3eab379c9b8689dc30b0713690e55d51c956ca36fbcc73eeeee16a46d7c41a7a9626e68e25d685c008c19d3b2b1792bdc99c35441a6fcac35e0d6446dd914f543abd9ecd6b0cb5201c243026c4f13641d67c8d8cd5114b6e11ebbc6b1dee2a18db2150a5a575dcd21648e0337dadbccd3deffd6d979e03e6b9ddfee0abdc2\nkey = 1761c77798ef9cdfa40553f34614fe7402212087f0509411\nmsg = 35ca4eb463a2000138210b4d\nresult = valid\ntag = ca1534e7dd0336bbb32a79830c71a447\n\n[ivSize = 2056]\n[keySize = 192]\n[tagSize = 128]\n\n# tcId = 218\n# long IV size\naad = \nct = 13a95a06c1bed4845af9c701\niv = 3569fca7c9d06e2a03fed1aac2484fd4416ca07d55ecbb333ec674f0ea5c6e75a10dfb9c738b69dab2eda10ada721a61c7f02b7e7f79e8a9e2dc36b3fdf609e436054c82a774ec617dceec84a577037ff1a3f120d9818d042063acb36c9584e81ec94f11f1ee240f2e45e944694a9c8e535acbb01d93958411cff68e3d32f8931746a4a0cece65e93c51c70b3111034b6867b407e0147f97c576d3ed8cec7e8ec26e95643e46e97ea3595c9c3172b4856f2d2b6dc8564666ddac92c794ffb2d4dc7f461761f0e326650f48d327604e095bd8754072116c96360d09f010ac2f39eb96b227f3d738deb756c8699460d88cf716170ae15267b14f4a89164720f1c602\nkey = f795ece7de1881fbc6843eb740f812e41e3fc49ff6c7b940\nmsg = 22dbd8037aa05b14cf81dd23\nresult = valid\ntag = 03379836b0c82f64a1bccdcd763acbbc\n\n[ivSize = 256]\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 219\n# long IV size\naad = \nct = a295c2cb27ce23d26874ade1\niv = e826a79361f9d582b64450e3edc82589487853d5b22feaa0c889875bd0d87cd4\nkey = ee4171917d2337496812a2784d6a71300e6b8c1ac3b1ef58cee77c229aeaf2c5\nmsg = 94d2f8697facaaa191ba617a\nresult = valid\ntag = 04650a78bbb61db337c9c32aa3e7b6fa\n\n[ivSize = 512]\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 220\n# long IV size\naad = \nct = 9cdcfc3aaa8d466f25588e4b\niv = ec51ee18cfb46897d3666c7df35c29ca5d898241c4a34f893eb1db5d5c6b76e24617459d1153868154437a0e95aa3c26e956b494a52dd5ac3b9331116c7c775f\nkey = 132c59b4bcb8afb31637734a81105bb2c9878f320ace9076d5fd7c5d216c8d12\nmsg = 12c7be00facda49596e19134\nresult = valid\ntag = 7e80f51e7180f1cd3ba84349888fcd5c\n\n[ivSize = 1024]\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 221\n# long IV size\naad = \nct = 3f3c151e984d059462f9e5a0\niv = 7d08b226b4a5d03f6f8cb3a3cb8d1ce31b059dc5112385275e38a15c97e0f24022b249a5f7019ea577198cb26ac64e82b2b04681537c4198775a523b0e6494b84febaef3399b35c27b0969fa43572bf5827a763aac1af69526f37e38acb5d354f2b68487f275f4361ed39073f7dd6653ac17c0794118a0cf143293ac0be66229\nkey = 7b0b12491901d62d097fa26dc71e15cfacafa3226719e47126d99c79d98ec222\nmsg = c80312590700c3bbfacd1a40\nresult = valid\ntag = e559f5f755aa292171cc35fbf911a64f\n\n[ivSize = 2056]\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 222\n# long IV size\naad = \nct = 5496ae94c3322ebf959ea9a9\niv = 92c2cee7e9138b186da51f146fb21fd5b491f1a19eef61d4ed14ce6b21b04fdb6ff8ebb60fddc55926e7bda2a8f35c610bb795232412739d6c2d74458ef5a1a1cde9bf17e47e3b00db0b0504d56dc8b8d3de23f7c3a5d52e8d0aab1e64405aaa852ec2dd667ed9c1fd8dc1fdbbc8712c7a38f30faeab594f33897b41b1720f3c2f954ed91ca450d82c3dcd35858c608ad42f36832e56b04821a132f72e0da7b62cbd3925250f64fbb3f5c4783495893097adc09a32d776e04bf72558d37830b372341f6536d8ee9df4a82e4074e7774ab6917a04fa8c499eb4b46a92def365da8b5eb1e0b438779507d1f5272a6e8629a3f9c7bd4862c5691ee8b56bfe292deb4e\nkey = 3bc3bf39d0d5ffd94cca2b45c678a2d049151ed2babc713be53cb66f54a16337\nmsg = 8125ee7637d7d0e03bbacf35\nresult = valid\ntag = 70717cc00fd1ffa59bb04329226a0c0a\n\n[ivSize = 0]\n[keySize = 128]\n[tagSize = 128]\n\n# tcId = 223\n# 0 size IV is not valid\naad = \nct = \niv = \nkey = 8f3f52e3c75c58f5cb261f518f4ad30a\nmsg = \nresult = invalid\ntag = cf71978ffcc778f3c85ac9c31b6fe191\nflags = ZeroLengthIv\n\n# tcId = 224\n# 0 size IV is not valid\naad = \nct = 00a29f0a5e2e7490279d1faf8b881c7b\niv = \nkey = 2a4bf90e56b70fdd8649d775c089de3b\nmsg = 324ced6cd15ecc5b3741541e22c18ad9\nresult = invalid\ntag = a2c7e8d7a19b884f742dfec3e76c75ee\nflags = ZeroLengthIv\n\n[ivSize = 0]\n[keySize = 192]\n[tagSize = 128]\n\n# tcId = 225\n# 0 size IV is not valid\naad = \nct = \niv = \nkey = 0b18d21337035c7baa08211b702fa780ac7c09be8f9ed11f\nmsg = \nresult = invalid\ntag = ca69a2eb3a096ea36b1015d5dffff532\nflags = ZeroLengthIv\n\n# tcId = 226\n# 0 size IV is not valid\naad = \nct = 509b0658d09f7a5bb9db43b70c8387f7\niv = \nkey = ba76d594a6df915bb7ab7e6d1a8d024b2796336c1b8328a9\nmsg = d62f302742d61d823ea991b93430d589\nresult = invalid\ntag = 2c9488d53a0b2b5308c2757dfac7219f\nflags = ZeroLengthIv\n\n[ivSize = 0]\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 227\n# 0 size IV is not valid\naad = \nct = \niv = \nkey = 3f8ca47b9a940582644e8ecf9c2d44e8138377a8379c5c11aafe7fec19856cf1\nmsg = \nresult = invalid\ntag = 17", + "26aa695fbaa21a1db88455c670a4b0\nflags = ZeroLengthIv\n\n# tcId = 228\n# 0 size IV is not valid\naad = \nct = 7772ea358901f571d3d35c19497639d9\niv = \nkey = 7660d10966c6503903a552dde2a809ede9da490e5e5cc3e349da999671809883\nmsg = c314235341debfafa1526bb61044a7f1\nresult = invalid\ntag = 8fe0520ad744a11f0ccfd228454363fa\nflags = ZeroLengthIv\n\n[ivSize = 8]\n[keySize = 128]\n[tagSize = 128]\n\n# tcId = 229\n# small IV sizes\naad = \nct = \niv = 80\nkey = 59a284f50aedd8d3e2a91637d3815579\nmsg = \nresult = acceptable\ntag = af498f701d2470695f6e7c8327a2398b\nflags = SmallIv\n\n# tcId = 230\n# small IV sizes\naad = \nct = 0a24612a9d1cbe967dbfe804bf8440e5\niv = 9d\nkey = fec58aa8cf06bfe05de829f27ec77693\nmsg = f2d99a9f893378e0757d27c2e3a3101b\nresult = acceptable\ntag = 96e6fd2cdc707e3ee0a1c90d34c9c36c\nflags = SmallIv\n\n[ivSize = 16]\n[keySize = 128]\n[tagSize = 128]\n\n# tcId = 231\n# small IV sizes\naad = \nct = \niv = 0f2f\nkey = 88a972cce9eaf5a7813ce8149d0c1d0e\nmsg = \nresult = acceptable\ntag = 4ccf1efb4da05b4ae4452aea42f5424b\nflags = SmallIv\n\n# tcId = 232\n# small IV sizes\naad = \nct = ba3e7f8b2999995c7fc4006ca4f475ff\niv = 8760\nkey = b43967ee933e4632bd6562ba1201bf83\nmsg = 5a6ad6db70591d1e520b0122f05021a0\nresult = acceptable\ntag = 98f47a5279cebbcac214515710f6cd8a\nflags = SmallIv\n\n[ivSize = 32]\n[keySize = 128]\n[tagSize = 128]\n\n# tcId = 233\n# small IV sizes\naad = \nct = \niv = cc851957\nkey = 4e9a97d3ed54c7b54610793ab05052e1\nmsg = \nresult = acceptable\ntag = e574b355bda2980e047e584feb1676ca\nflags = SmallIv\n\n# tcId = 234\n# small IV sizes\naad = \nct = 1b84baea9df1e65bee7b49e4a8cda1ec\niv = 7b5faeb2\nkey = d83c1d7a97c43f182409a4aa5609c1b1\nmsg = c8f07ba1d65554a9bd40390c30c5529c\nresult = acceptable\ntag = 5c0bb79d8240041edce0f94bd4bb384f\nflags = SmallIv\n\n[ivSize = 48]\n[keySize = 128]\n[tagSize = 128]\n\n# tcId = 235\n# small IV sizes\naad = \nct = \niv = 4ad80c2854fb\nkey = c6a705677affb49e276d9511caa46145\nmsg = \nresult = acceptable\ntag = 1e2ed72af590cafb8647d185865f5463\nflags = SmallIv\n\n# tcId = 236\n# small IV sizes\naad = \nct = 18291aa8dc7b07448aa8f71bb8e380bf\niv = d1dafc8de3e3\nkey = eba7699b56cc0aa2f66a2a5be9944413\nmsg = d021e53d9098a2df3d6b903cdad0cd9c\nresult = acceptable\ntag = 9c0e22e5c41b1039ff5661ffaefa8e0f\nflags = SmallIv\n\n[ivSize = 8]\n[keySize = 192]\n[tagSize = 128]\n\n# tcId = 237\n# small IV sizes\naad = \nct = \niv = cb\nkey = c70ce38e84e5f53ed41c3f0d2ca493412ad32cb04c6e2efa\nmsg = \nresult = acceptable\ntag = 08d96edb5e22874cd10cb2256ca04bc6\nflags = SmallIv\n\n# tcId = 238\n# small IV sizes\naad = \nct = 6c5e796ba9a3ddc64f401e68d135101d\niv = 0f\nkey = 74c816b83dfd287210a3e2c6da8d3053bbfbd9b156d3fdd8\nmsg = f2b7b2c9b312cf2af78f003df15c8e19\nresult = acceptable\ntag = 96a132ed43924e98feb888ff682bdaef\nflags = SmallIv\n\n[ivSize = 16]\n[keySize = 192]\n[tagSize = 128]\n\n# tcId = 239\n# small IV sizes\naad = \nct = \niv = 75e5\nkey = cbf45ba488932aea1a10e5862f92e4a7e277bda9f34af6d0\nmsg = \nresult = acceptable\ntag = 1f0d23070fcd748e25bf6454f5c9136e\nflags = SmallIv\n\n# tcId = 240\n# small IV sizes\naad = \nct = 550b48a43e821fd76f49f0f1a897aead\niv = 8989\nkey = e1c0446f11ae6aa4fa254f9a846fc6e13e45e537e47f2042\nmsg = 3a2f5ad0eb216e546e0bcaa377b6cbc7\nresult = acceptable\ntag = f6e0a979481f9957ddad0f21a777a73a\nflags = SmallIv\n\n[ivSize = 32]\n[keySize = 192]\n[tagSize = 128]\n\n# tcId = 241\n# small IV sizes\naad = \nct = \niv = 68d7fc38\nkey = 567563bf4cf154902275a53bc57cd6dd7b370d27011bdac8\nmsg = \nresult = acceptable\ntag = 1475563e3212f3b5e40062569afd71e3\nflags = SmallIv\n\n# tcId = 242\n# small IV sizes\naad = \nct = 309133e76159fe8a41b20843486511ab\niv = bb9d2aa3\nkey = 834d0bb601170865a78139428a1503695a6a291ebd747cd1\nmsg = 6f79e18b4acd5a03d3a5f7e1a8d0f183\nresult = acceptable\ntag = 03ab26993b701910a2e8ecccd2ba9e52\nflags = SmallIv\n\n[ivSize = 48]\n[keySize = 192]\n[tagSize = 128]\n\n# tcId = 243\n# small IV sizes\naad = \nct = \niv = a984bdcdcae2\nkey = 99fb18f5ba430bb9ea942968ecb799b43406e1af4b6425a1\nmsg = \nresult = acceptable\ntag = d7b9a6b58a97982916e83219fbf71b1e\nflags = SmallIv\n\n# tcId = 244\n# small IV sizes\naad = \nct = e08261e46eaf90d978ea8f7889bccd4f\niv = 52aa01e0d0d6\nkey = b77b242aa0d51c92fda013e0cb0ef2437399ace5d3f507e4\nmsg = 4ba541a9914729216153801340ab1779\nresult = acceptable\ntag = c052a55df3926a50990a532efe3d80ec\nflags = SmallIv\n\n[ivSize = 64]\n[keySize = 192]\n[tagSize = 128]\n\n# tcId = 245\n# small IV sizes\naad = \nct = \niv = d1c61cf8532531b5\nkey = d74599b3d2db81653de43b52fc994c50d0be759fab87c33a\nmsg = \nresult = acceptable\ntag = f94f2049a6560c470b3a7ca7bbc31a3d\nflags = SmallIv\n\n# tcId = 246\n# small IV sizes\naad = \nct = 3c6ec0ab1b827bf238a5384fb7e212ce\niv = 8f075cbcda9831c3\nkey = 0b177198c8b419bf74acc3bc65b5fb3d09a915ff71add754\nmsg = c4b1e05ca3d591f9543e64de3fc682ac\nresult = acceptable\ntag = 7db7402224fd583e312bc0e61cf11366\nflags = SmallIv\n\n[ivSize = 8]\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 247\n# small IV sizes\naad = \nct = \niv = a9\nkey = 8f9a38c1014966e4d9ae736139c5e79b99345874f42d4c7d2c81aa6797c417c0\nmsg = \nresult = acceptable\ntag = 2a268bf3a75fd7b00ba230b904bbb014\nflags = SmallIv\n\n# tcId = 248\n# small IV sizes\naad = \nct = 7bea30ecc2f73f8e121263b37966954c\niv = b3\nkey = 144cd8279229e8bb2de99d24e615306663913fe9177fcd270fafec493d43bca1\nmsg = 976229f5538f9636476d69f0c328e29d\nresult = acceptable\ntag = 8bbad4adc54b37a2b2f0f6e8617548c9\nflags = SmallIv\n\n[ivSize = 16]\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 249\n# small IV sizes\naad = \nct = \niv = c332\nkey = 7d31861f9d3536e14016a3216b1042e0d2f7d4614314268b6f834ec7f38bbb65\nmsg = \nresult = acceptable\ntag = 1d978a693120c11f6d51a3ed88cd4ace\nflags = SmallIv\n\n# tcId = 250\n# small IV sizes\naad = \nct = 9c39f5b110361e9a770cc5e8b0f444bb\niv = da6c\nkey = 22b35fe9623ee11f8b60b6d22db3765b666ed972fa7ccd92b45f22deee02cab1\nmsg = 5341c78e4ce5bf8fbc3e077d1990dd5d\nresult = acceptable\ntag = b63ff43c12073ec5572b1be70f17e231\nflags = SmallIv\n\n[ivSize = 32]\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 251\n# small IV sizes\naad = \nct = \niv = 6b30145e\nkey = c224e0bba3d7a99165f7996b67a0fce3e12f2c01179b197b69b7e628bca92096\nmsg = \nresult = acceptable\ntag = ae6f7c9a29f0d8204ca50b14a1e0dcf2\nflags = SmallIv\n\n# tcId = 252\n# small IV sizes\naad = \nct = f73f72f976a296ba3ca94bc6eb08cd46\niv = 5110604c\nkey = 093eb12343537ee8e91c1f715b862603f8daf9d4e1d7d67212a9d68e5aac9358\nmsg = 33efb58c91e8c70271870ec00fe2e202\nresult = acceptable\ntag = b824c33c13f289429659aa017c632f71\nflags = SmallIv\n\n[ivSize = 48]\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 253\n# small IV sizes\naad = \nct = \niv = d4d857510888\nkey = 98e6f8ab673e804e865e32403a6551bf807a959343c60d34559360bc295ecb5b\nmsg = \nresult = acceptable\ntag = 3db16725fafc828d414ab61c16a6c38f\nflags = SmallIv\n\n# tcId = 254\n# small IV sizes\naad = \nct = ed463f4f43336af3f4d7e08770201145\niv = 1bdcd44b663e\nkey = 0bd0e8e7781166e1d876dec8fad34ba95b032a27cac0551595116091005947b7\nmsg = 91222263b12cf5616a049cbe29ab9b5b\nresult = acceptable\ntag = c8fc39906aca0c64e14a43ff750abd8a\nflags = SmallIv\n\n[ivSize = 64]\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 255\n# small IV sizes\naad = \nct = \niv = 0d10c5c84b88d688\nkey = 61ba694897925d1b4174d40401469c3ef267cdb9f829edb1a10618c16d666059\nmsg = \nresult = acceptable\ntag = 1311f9f830d729c189b74ec4f9080fa1\nflags = SmallIv\n\n# tcId = 256\n# small IV sizes\naad = \nct = 7e0dd6c72aec49f89cc6a80060c0b170\niv = 04102199ef21e1df\nkey = 115884f693b155563e9bfb3b07cacb2f7f7caa9bfe51f89e23feb5a9468bfdd0\nmsg = 82e3e604d2be8fcab74f638d1e70f24c\nresult = acceptable\ntag = af68a37cfefecc4ab99ba50a5353edca\nflags = SmallIv\n\n", }; -static const size_t kLen60 = 65557; +static const size_t kLen93 = 140567; -static const char *kData60[] = { - "# Imported from Wycheproof's chacha20_poly1305_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: CHACHA20-POLY1305\n# Generator version: 0.4.12\n\n[ivSize = 96]\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 1\n# rfc7539\naad = 50515253c0c1c2c3c4c5c6c7\nct = d31a8d34648e60db7b86afbc53ef7ec2a4aded51296e08fea9e2b5a736ee62d63dbea45e8ca9671282fafb69da92728b1a71de0a9e060b2905d6a5b67ecd3b3692ddbd7f2d778b8c9803aee328091b58fab324e4fad675945585808b4831d7bc3ff4def08e4b7a9de576d26586cec64b6116\niv = 070000004041424344454647\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 4c616469657320616e642047656e746c656d656e206f662074686520636c617373206f66202739393a204966204920636f756c64206f6666657220796f75206f6e6c79206f6e652074697020666f7220746865206675747572652c2073756e73637265656e20776f756c642062652069742e\nresult = valid\ntag = 1ae10b594f09e26a7e902ecbd0600691\n\n# tcId = 2\naad = \nct = \niv = 4da5bf8dfd5852c1ea12379d\nkey = 80ba3192c803ce965ea371d5ff073cf0f43b6a2ab576b208426e11409c09b9b0\nmsg = \nresult = valid\ntag = 76acb342cf3166a5b63c0c0ea1383c8d\n\n# tcId = 3\naad = bd506764f2d2c410\nct = \niv = a92ef0ac991dd516a3c6f689\nkey = 7a4cd759172e02eb204db2c3f5c746227df584fc1345196391dbb9577a250742\nmsg = \nresult = valid\ntag = 906fa6284b52f87b7359cbaa7563c709\n\n# tcId = 4\naad = \nct = 3a\niv = 99e23ec48985bccdeeab60f1\nkey = cc56b680552eb75008f5484b4cb803fa5063ebd6eab91f6ab6aef4916a766273\nmsg = 2a\nresult = valid\ntag = cac27dec0968801e9f6eded69d807522\n\n# tcId = 5\naad = 91ca6c592cbcca53\nct = c4\niv = ab0dca716ee051d2782f4403\nkey = 46f0254965f769d52bdb4a70b443199f8ef207520d1220c55e4b70f0fda620ee\nmsg = 51\nresult = valid\ntag = 168310ca45b1f7c66cad4e99e43f72b9\n\n# tcId = 6\naad = \nct = 4d13\niv = 461af122e9f2e0347e03f2db\nkey = 2f7f7e4f592bb389194989743507bf3ee9cbde1786b6695fe6c025fd9ba4c100\nmsg = 5c60\nresult = valid\ntag = 91e8b61efb39c122195453077b22e5e2\n\n# tcId = 7\naad = 88364fc8060518bf\nct = b60d\niv = 61546ba5f1720590b6040ac6\nkey = c8833dce5ea9f248aa2030eacfe72bffe69a620caf793344e5718fe0d7ab1a58\nmsg = ddf2\nresult = valid\ntag = ead0fd4697ec2e5558237719d02437a2\n\n# tcId = 8\naad = \nct = 5dfe3440dbb3c3\niv = 3c4e654d663fa4596dc55bb7\nkey = 55568158d3a6483f1f7021eab69b703f614251cadc1af5d34a374fdbfc5adac7\nmsg = ab85e9c1571731\nresult = valid\ntag = ed7a434e2602d394281e0afa9fb7aa42\n\n# tcId = 9\naad = 84e46be8c0919053\nct = 4bd47212941ce3\niv = 58389375c69ee398de948396\nkey = e3c09e7fab1aefb516da6a33022a1dd4eb272c80d540c5da52a730f34d840d7f\nmsg = 4ee5cda20d4290\nresult = valid\ntag = 185f1408ee7fbf18f5abad6e2253a1ba\n\n# tcId = 10\naad = \nct = 8e9439a56eeec817\niv = 4f07afedfdc3b6c2361823d3\nkey = 51e4bf2bad92b7aff1a4bc05550ba81df4b96fabf41c12c7b00e60e48db7e152\nmsg = be3308f72a2c6aed\nresult = valid\ntag = fbe8a6ed8fabb1937539dd6c00e90021\n\n# tcId = 11\naad = 66c0ae70076cb14d\nct = b9b910433af052b0\niv = b4ea666ee119563366484a78\nkey = 1131c1418577a054de7a4ac551950f1a053f9ae46e5b75fe4abd5608d7cddadd\nmsg = a4c9c2801b71f7df\nresult = valid\ntag = 4530f51aeee024e0a445a6328fa67a18\n\n# tcId = 12\naad = \nct = ff7dc203b26c467a6b50db33\niv = 9a59fce26df0005e07538656\nkey = 99b62bd5afbe3fb015bde93f0abf483957a1c3eb3ca59cb50b39f7f8a9cc51be\nmsg = 42baae5978feaf5c368d14e0\nresult = valid\ntag = 578c0f2758c2e14e36d4fc106dcb29b4\n\n# tcId = 13\naad = a506e1a5c69093f9\nct = 9f8816de0994e938d9e53f95\niv = 58dbd4ad2c4ad35dd906e9ce\nkey = 85f35b6282cff440bc1020c8136ff27031110fa63ec16f1e825118b006b91257\nmsg = fdc85b94a4b2a6b759b1a0da\nresult = valid\ntag = d086fc6c9d8fa915fd8423a7cf05072f\n\n# tcId = 14\naad = \nct = 0b29638e1fbdd6df53970be2210042\niv = 68ab7fdbf61901dad461d23c\nkey = 67119627bd988eda906219e08c0d0d779a07d208ce8a4fe0709af755eeec6dcb\nmsg = 51f8c1f731ea14acdb210a6d973e07\nresult = valid\ntag = 2a9134087d67a46e79178d0a93f5e1d2\n\n# tcId = 15\naad = 6453a53384632212\nct = 32db66c4a3819d81557455e5980fed\niv = d95b3243afaef714c5035b6a\nkey = e6f1118d41e4b43fb58221b7ed79673834e0d8ac5c4fa60bbc8bc4893a58894d\nmsg = 97469da667d6110f9cbda1d1a20673\nresult = valid\ntag = feae30dec94e6ad3a9eea06a0d703917\n\n# tcId = 16\naad = \nct = e9110e9f56ab3ca483500ceabab67a13\niv = 2fcb1b38a99e71b84740ad9b\nkey = 59d4eafb4de0cfc7d3db99a8f54b15d7b39f0acc8da69763b019c1699f87674a\nmsg = 549b365af913f3b081131ccb6b825588\nresult = valid\ntag = 836ccabf15a6a22a51c1071cfa68fa0c\n\n# tcId = 17\naad = 034585621af8d7ff\nct = e4b113cb775945f3d3a8ae9ec141c00c\niv = 118a6964c2d3e380071f5266\nkey = b907a45075513fe8a8019edee3f2591487b2a030b03c6e1d771c862571d2ea1e\nmsg = 55a465644f5b650928cbee7c063214d6\nresult = valid\ntag = 7c43f16ce096d0dc27c95849dc383b7d\n\n# tcId = 18\naad = \nct = 02cc3acb5ee1fcdd12a03bb857976474d3\niv = 45aaa3e5d16d2d42dc03445d\nkey = 3b2458d8176e1621c0cc24c0c0e24c1e80d72f7ee9149a4b166176629616d011\nmsg = 3ff1514b1c503915918f0c0c31094a6e1f\nresult = valid\ntag = d83b7463a2c3800fe958c28eaa290813\n\n# tcId = 19\naad = 9aaf299eeea78f79\nct = 35766488d2bc7c2b8d17cbbb9abfad9e6d\niv = f0384fb876121410633d993d\nkey = f60c6a1b625725f76c7037b48fe3577fa7f7b87b1bd5a982176d182306ffb870\nmsg = 63858ca3e2ce69887b578a3c167b421c9c\nresult = valid\ntag = 1f391e657b2738dda08448cba2811ceb\n\n# tcId = 20\naad = \nct = 42f26c56cb4be21d9d8d0c80fc99dde00d75f38074bfe764\niv = e6b1adf2fd58a8762c65f31b\nkey = 0212a8de5007ed87b33f1a7090b6114f9e08cefd9607f2c276bdcfdbc5ce9cd7\nmsg = 10f1ecf9c60584665d9ae5efe279e7f7377eea6916d2b111\nresult = valid\ntag = 54aa7e13d48fff7d7557039457040a3a\n\n# tcId = 21\naad = 3e8bc5ade182ff08\nct = 123032437b4bfd6920e8f7e7e0087ae4889ebe7a0ad0e900\niv = 6b282ebecc541bcd7834ed55\nkey = c5bc09565646e7edda954f1f739223dada20b95c44ab033d0fae4b0283d18be3\nmsg = 9222f9018e54fd6de1200806a9ee8e4cc904d29f25cba193\nresult = valid\ntag = 3cf68f179550da63d3b96c2d55411865\n\n# tcId = 22\naad = \nct = 45c7d6b53acad4abb68876a6e96a48fb59524d2c92c9d8a189c9fd2db91746\niv = 04a9be03508a5f31371a6fd2\nkey = 2eb51c469aa8eb9e6c54a8349bae50a20f0e382711bba1152c424f03b6671d71\nmsg = b053999286a2824f42cc8c203ab24e2c97a685adcc2ad32662558e55a5c729\nresult = valid\ntag = 566d3ca10e311b695f3eae1551652493\n\n# tcId = 23\naad = 374618a06ea98a48\nct = 46a80c4187024720084627580080dde5a3f4a11093a7076ed6f3d326bc7b70\niv = 470a339ecb3219b8b81a1f8b\nkey = 7f5b74c07ed1b40fd14358fe2ff2a740c116c7706510e6a437f19ea49911cec4\nmsg = f45206abc25552b2abc9ab7fa243035fedaaddc3b2293956f1ea6e7156e7eb\nresult = valid\ntag = 534d4aa2835a52e72d14df0e4f47f25f\n\n# tcId = 24\naad = \nct = ea29afa49d36e8760f5fe19723b9811ed5d519934a440f5081ac430b953b0e21\niv = 72cfd90ef3026ca22b7e6e6a\nkey = e1731d5854e1b70cb3ffe8b786a2b3ebf0994370954757b9dc8c7bc5354634a3\nmsg = b9c554cbc36ac18ae897df7beecac1dbeb4eafa156bb60ce2e5d48f05715e678\nresult = valid\ntag = 222541af46b86533c6b68d2ff108a7ea\n\n# tcId = 25\naad = 2333e5ce0f93b059\nct = 6dad637897544d8bf6be9507ed4d1bb2e954bc427e5de729daf50762846ff2f4\niv = 262880d475f3dac5340dd1b8\nkey = 27d860631b0485a410702fea61bc873f3442260caded4abde25b786a2d97f145\nmsg = 6b2604996cd30c14a13a5257ed6cffd3bc5e29d6b97eb1799eb335e281ea451e\nresult = valid\ntag = 7b997d93c982189d7095dc794c746232\n\n# tcId = 26\naad = \nct = fba78ae4f9d808a62e3da40be2cb7700c3613d9eb2c529c652e76a432c658d27095f0eb8f940c324981ea935e507f9\niv = e74a515e7e2102b90bef55d2\nkey = cf0d40a4644e5f51815165d5301b22631f4544c49a1878e3a0a5e8e1aae0f264\nmsg = 973d0c753826bae466cf9abb3493152e9de7819e2bd0c71171346b4d2cebf8041aa3cedc0dfd7b467e26228bc86c9a\nresult = valid\ntag = 8f046956db3a512908bd7afc8f2ab0a9\n\n# tcId = 27\naad = b3e4064683b02d84\nct = a1ffed80761829ecce242e0e88b138049016bca018da2b6e19986b3e318cae8d806198fb4c527cc39350ebddeac573\niv = d4d807341683825b31cd4d95\nkey = 6cbfd71c645d184cf5d23c402bdb0d25ec54898c8a0273d42eb5be109fdcb2ac\nmsg = a98995504df16f748bfb7785ff91eeb3b660ea9ed3450c3d5e7b0e79ef653659a9978d75542ef91c456762215640b9\nresult = valid\ntag = c4cbf0befda0b70242c640d7cd02d7a3\n\n# tcId = 28\naad = \nct = 9a4ef22b181677b5755c08f747c0f8d8e8d4c18a9cc2405c12bb51bb1872c8e8b877678bec442cfcbb0ff464a64b74332cf072898c7e0eddf6232ea6e27efe50\niv = d61040a313ed492823cc065b\nkey = 5b1d1035c0b17ee0b0444767f80a25b8c1b741f4b50a4d3052226baa1c6fb701\nmsg = d096803181beef9e008ff85d5ddc38ddacf0f09ee5f7e07f1e4079cb64d0dc8f5e6711cd4921a7887de76e2678fdc67618f1185586bfea9d4c685d50e4bb9a82\nresult = valid\ntag = 9ff3427a0f32fa566d9ca0a78aefc013\n\n# tcId = 29\naad = 7193f623663321a2\nct = 5fbbdecc", - "34be201614f636031eeb42f1cace3c79a12cffd871ee8e73820c829749f1abb4294367849fb6c2aa56bda8a3078f723d7c1c852024b017b58973fb1e\niv = d31c21aba175b70de4ebb19c\nkey = 97d635c4f47574d9998a90875da1d3a284b755b2d39297a5725235190e10a97e\nmsg = 94ee166d6d6ecf8832437136b4ae805d428864359586d9193a25016293edba443c58e07e7b7195ec5bd84582a9d56c8d4a108c7d7ce34e6c6f8ea1bec0567317\nresult = valid\ntag = 09263da7b4cb921452f97dca40f580ec\n\n# tcId = 30\naad = \nct = d0102f6c258bf49742cec34cf2d0fedf23d105fb4c84cf98515e1bc9a64f8ad5be8f0721bde50645d00083c3a263a31053b760245f52ae2866a5ec83b19f61be1d30d5c5d9fecc4cbbe08fd385813a2aa39a00ff9c10f7f23702add1e4b2ffa31c\niv = 17c86a8abbb7e003acde2799\nkey = fe6e55bdaed1f7284ca5fc0f8c5f2b8df56dc0f49e8ca66a41995e783351f901\nmsg = b429eb80fb8fe8baeda0c85b9c333458e7c2992e558475069d12d45c22217564121588032297eff56783742a5fc22d7410ffb29d66098661d76f126c3c27689e43b37267cac5a3a6d3ab49e391da29cd3054a5692e2807e4c3ea46c8761d50f592\nresult = valid\ntag = 41865fc71de12b19612127ce49993bb0\n\n# tcId = 31\naad = a11c40b603767330\nct = 7545391b51de01d5c53dfaca777909063e58edee4bb1227e7110ac4d2620c2aec2f848f56deeb037a8dced75afa8a6c890e2dee42f950bb33d9e2424d08a505d899563973ed38870f3de6ee2adc7fe072c366c14e2cf7ca62fb3d36bee11685461\niv = 46362f45d6379e63e5229460\nkey = aabc063474e65c4c3e9bdc480dea97b45110c8618846ff6b15bdd2a4a5682c4e\nmsg = ceb534ce50dc23ff638ace3ef63ab2cc2973eeada80785fc165d06c2f5100ff5e8ab2882c475afcd05ccd49f2e7d8f55ef3a72e3dc51d6852b8e6b9e7aece57be6556b0b6d9413e33fc5fc24a9a205ad59574bb39d944a92dc47970d84a6ad3176\nresult = valid\ntag = b70d44ef8c66c5c7bbf10dcadd7facf6\n\n# tcId = 32\naad = 02\nct = 7e72f5a185af16a611921b438f749f0b\niv = 87345f1055fd9e2102d50656\nkey = 7d00b48095adfa3272050607b264185002ba99957c498be022770f2ce2f3143c\nmsg = e5ccaa441bc814688f8f6e8f28b500b2\nresult = valid\ntag = 1242c670732334029adfe1c5001651e4\n\n# tcId = 33\naad = b648\nct = 85f29a719557cdd14d1f8fffab6d9e60\niv = 87a3163ec0598ad95b3aa713\nkey = 6432717f1db85e41ac7836bce25185a080d5762b9e2b18444b6ec72c3bd8e4dc\nmsg = 02cde168fba3f544bbd0332f7adeada8\nresult = valid\ntag = 732ca32becd515a1ed353f542e999858\n\n# tcId = 34\naad = bd4cd02fc7502bbdbdf6c9a3cbe8f0\nct = c1b295936d56fadac03e5f742bff73a1\niv = 6f573aa86baa492ba46596df\nkey = 8e34cf73d245a1082a920b86364eb896c4946467bcb3d58929fcb36690e6394f\nmsg = 16ddd23ff53f3d23c06334487040eb47\nresult = valid\ntag = 39c457dbab66382babb3b55800cda5b8\n\n# tcId = 35\naad = 89cce9fb47441d07e0245a66fe8b778b\nct = c84c9bb7c61c1bcb17772a1c500c5095\niv = 1a6518f02ede1da6809266d9\nkey = cb5575f5c7c45c91cf320b139fb594237560d0a3e6f865a67d4f633f2c08f016\nmsg = 623b7850c321e2cf0c6fbcc8dfd1aff2\nresult = valid\ntag = dbadf7a5138ca03459a2cd65831e092f\n\n# tcId = 36\naad = d19f2d989095f7ab03a5fde84416e00c0e\nct = 94bc80621ed1e71b1fd2b5c3a15e3568\niv = 564dee49ab00d240fc1068c3\nkey = a5569e729a69b24ba6e0ff15c4627897436824c941e9d00b2e93fddc4ba77657\nmsg = 87b3a4d7b26d8d3203a0de1d64ef82e3\nresult = valid\ntag = 333511861796978401598b963722f5b3\n\n# tcId = 37\naad = 5e6470facd99c1d81e37cd44015fe19480a2a4d3352a4ff560c0640fdbda\nct = 299b5d3f3d03c087209a16e285143111\niv = df8713e87ec3dbcfad14d53e\nkey = 56207465b4e48e6d04630f4a42f35cfc163ab289c22a2b4784f6f9290330bee0\nmsg = e601b38557797da2f8a4106a089d1da6\nresult = valid\ntag = 4b454ed198de117e83ec49fa8d8508d6\n\n# tcId = 38\naad = ba446f6f9a0ced22450feb10737d9007fd69abc19b1d4d9049a5551e86ec2b37\nct = 605bbf90aeb974f6602bc778056f0dca\niv = 8df4b15a888c33286a7b7651\nkey = 3937986af86dafc1ba0c4672d8abc46c207062682d9c264ab06d6c5807205130\nmsg = dc9e9eaf11e314182df6a4eba17aec9c\nresult = valid\ntag = 38ea23d99054b46b42ffe004129d2204\n\n# tcId = 39\naad = d41a828d5e71829247021905402ea257dccbc3b80fcd5675056b68bb59e62e8873\nct = 7b7ce0d824809a70de32562ccf2c2bbd\niv = be40e5f1a11817a0a8fa8949\nkey = 36372abcdb78e0279646ac3d176b9674e9154eecf0d5469c651ec7e16b4c1199\nmsg = 81ce84ede9b35859cc8c49a8f6be7dc6\nresult = valid\ntag = 15d44a00ce0d19b4231f921e22bc0a43\n\n# tcId = 40\naad = 3f2dd49bbf09d69a78a3d80ea2566614fc379474196c1aae84583da73d7ff85c6f42ca42056a9792cc1b9fb3c7d261\nct = ca82bff3e2f310ccc976672c4415e69b\niv = 84c87dae4eee27730ec35d12\nkey = 9f1479ed097d7fe529c11f2f5add9aaff4a1ca0b68997a2cb7f79749bd90aaf4\nmsg = a66747c89e857af3a18e2c79500087ed\nresult = valid\ntag = 57638c62a5d85ded774f913c813ea032\n\n# tcId = 41\naad = 00000000000000000000000000000000\nct = 0000000000000000000000000000000000000000000000000000000000000000\niv = 000000000000000001ee3200\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 256d40888094178355d304846443fee8df99470303fb3b7b80e030beebd329be\nresult = valid\ntag = e6d3d7324a1cbba777bbb0ecdda37807\n\n# tcId = 42\naad = 00000000000000000000000000000000\nct = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\niv = 000000000000000001ee3200\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 256d40888094178355d304846443fee8df99470303fb3b7b80e030beebd329bee3bcdb5b1edefcfe8bcda1b6a15c8c2b0869ffd2ec5e26e553b7b227fe87fdbd\nresult = valid\ntag = 062de6795f274fd2a305d76980bc9cce\n\n# tcId = 43\naad = 00000000000000000000000000000000\nct = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\niv = 000000000000000001ee3200\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 256d40888094178355d304846443fee8df99470303fb3b7b80e030beebd329bee3bcdb5b1edefcfe8bcda1b6a15c8c2b0869ffd2ec5e26e553b7b227fe87fdbd7ada44424269bffa5527f270acf68502b74c5ae2e60c0580981a4938459392c49bb2f284b646efc7f3f0b1361dc348ed77d30bc57692ed38fbac0188380488c7\nresult = valid\ntag = d8b47902baaeafb34203051529af282e\n\n# tcId = 44\naad = ffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000000000000000001ee3200\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = da92bf777f6be87caa2cfb7b9bbc01172066b8fcfc04c4847f1fcf41142cd641\nresult = valid\ntag = b3891c849cb52c27747edfcf31213bb6\n\n# tcId = 45\naad = ffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000000000000000001ee3200\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = da92bf777f6be87caa2cfb7b9bbc01172066b8fcfc04c4847f1fcf41142cd6411c4324a4e121030174325e495ea373d4f796002d13a1d91aac484dd801780242\nresult = valid\ntag = f0c12d26ef03029b62c008da27c5dc68\n\n# tcId = 46\naad = ffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000000000000000001ee3200\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = da92bf777f6be87caa2cfb7b9bbc01172066b8fcfc04c4847f1fcf41142cd6411c4324a4e121030174325e495ea373d4f796002d13a1d91aac484dd8017802428525bbbdbd964005aad80d8f53097afd48b3a51d19f3fa7f67e5b6c7ba6c6d3b644d0d7b49b910380c0f4ec9e23cb712882cf43a896d12c70453fe77c7fb7738\nresult = valid\ntag = ee65783001c25691fa28d0f5f1c1d762\n\n# tcId = 47\naad = 00000080000000800000008000000080\nct = 0000008000000080000000800000008000000080000000800000008000000080\niv = 000000000000000001ee3200\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 256d40088094170355d304046443fe68df99478303fb3bfb80e0303eebd3293e\nresult = valid\ntag = 79ba7a29f5a7bb75797af87a610129a4\n\n# tcId = 48\naad = 00000080000000800000008000000080\nct = 00000080000000800000008000000080000000800000008000000080000000800000008000000080000000800000008000000080000000800000008000000080\niv = 000000000000000001ee3200\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 256d40088094170355d304046443fe68df99478303fb3bfb80e0303eebd3293ee3bcdbdb1edefc7e8bcda136a15c8cab0869ff52ec5e266553b7b2a7fe87fd3d\nresult = valid\ntag = 36b1743819e1b9ba1551e8ed922a959a\n\n# tcId = 49\naad = 0000", - "0080000000800000008000000080\nct = 0000008000000080000000800000008000000080000000800000008000000080000000800000008000000080000000800000008000000080000000800000008000000080000000800000008000000080000000800000008000000080000000800000008000000080000000800000008000000080000000800000008000000080\niv = 000000000000000001ee3200\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 256d40088094170355d304046443fe68df99478303fb3bfb80e0303eebd3293ee3bcdbdb1edefc7e8bcda136a15c8cab0869ff52ec5e266553b7b2a7fe87fd3d7ada44c24269bf7a5527f2f0acf68582b74c5a62e60c0500981a49b8459392449bb2f204b646ef47f3f0b1b61dc3486d77d30b457692edb8fbac010838048847\nresult = valid\ntag = feac4955554e806f3a1902e24432c08a\n\n# tcId = 50\naad = ffffff7fffffff7fffffff7fffffff7f\nct = ffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7f\niv = 000000000000000001ee3200\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = da92bff77f6be8fcaa2cfbfb9bbc01972066b87cfc04c4047f1fcfc1142cd6c1\nresult = valid\ntag = 20a3798df1292c5972bf9741aec38a19\n\n# tcId = 51\naad = ffffff7fffffff7fffffff7fffffff7f\nct = ffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7f\niv = 000000000000000001ee3200\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = da92bff77f6be8fcaa2cfbfb9bbc01972066b87cfc04c4047f1fcfc1142cd6c11c432424e121038174325ec95ea37354f79600ad13a1d99aac484d58017802c2\nresult = valid\ntag = c03d9f67354a97b2f074f7551557e49c\n\n# tcId = 52\naad = ffffff7fffffff7fffffff7fffffff7f\nct = ffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7f\niv = 000000000000000001ee3200\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = da92bff77f6be8fcaa2cfbfb9bbc01972066b87cfc04c4047f1fcfc1142cd6c11c432424e121038174325ec95ea37354f79600ad13a1d99aac484d58017802c28525bb3dbd964085aad80d0f53097a7d48b3a59d19f3faff67e5b647ba6c6dbb644d0dfb49b910b80c0f4e49e23cb792882cf4ba896d12470453fef7c7fb77b8\nresult = valid\ntag = c86da8dd652286d50213d328d63e4006\n\n# tcId = 53\naad = 7fffffff7fffffff7fffffff7fffffff\nct = 7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff\niv = 000000000000000001ee3200\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 5a92bf77ff6be87c2a2cfb7b1bbc0117a066b8fc7c04c484ff1fcf41942cd641\nresult = valid\ntag = bede9083ceb36ddfe5fa811f95471c67\n\n# tcId = 54\naad = 7fffffff7fffffff7fffffff7fffffff\nct = 7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff\niv = 000000000000000001ee3200\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 5a92bf77ff6be87c2a2cfb7b1bbc0117a066b8fc7c04c484ff1fcf41942cd6419c4324a461210301f4325e49dea373d47796002d93a1d91a2c484dd881780242\nresult = valid\ntag = 300874bb0692b689dead9ae15b067390\n\n# tcId = 55\naad = 7fffffff7fffffff7fffffff7fffffff\nct = 7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff\niv = 000000000000000001ee3200\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 5a92bf77ff6be87c2a2cfb7b1bbc0117a066b8fc7c04c484ff1fcf41942cd6419c4324a461210301f4325e49dea373d47796002d93a1d91a2c484dd8817802420525bbbd3d9640052ad80d8fd3097afdc8b3a51d99f3fa7fe7e5b6c73a6c6d3be44d0d7bc9b910388c0f4ec9623cb712082cf43a096d12c78453fe7747fb7738\nresult = valid\ntag = 99cad85f45ca40942d0d4d5e950ade22\n\n# tcId = 56\naad = 00000000ffffffff00000000ffffffff\nct = 00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff\niv = 000000000000000001ee3200\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 256d40887f6be87c55d304849bbc0117df994703fc04c48480e030be142cd641\nresult = valid\ntag = 8bbe145272e7c2d9a1891a3ab0983d9d\n\n# tcId = 57\naad = 00000000ffffffff00000000ffffffff\nct = 00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff\niv = 000000000000000001ee3200\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 256d40887f6be87c55d304849bbc0117df994703fc04c48480e030be142cd641e3bcdb5be12103018bcda1b65ea373d40869ffd213a1d91a53b7b22701780242\nresult = valid\ntag = 3b41861913a8f6de7f61e225631bc382\n\n# tcId = 58\naad = 00000000ffffffff00000000ffffffff\nct = 00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff\niv = 000000000000000001ee3200\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 256d40887f6be87c55d304849bbc0117df994703fc04c48480e030be142cd641e3bcdb5be12103018bcda1b65ea373d40869ffd213a1d91a53b7b227017802427ada4442bd9640055527f27053097afdb74c5ae219f3fa7f981a4938ba6c6d3b9bb2f28449b91038f3f0b136e23cb71277d30bc5896d12c7fbac0188c7fb7738\nresult = valid\ntag = 8428bcf023ec6bf31fd9efb203ff0871\n\n# tcId = 59\naad = ffffffff00000000ffffffff00000000\nct = ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000\niv = 000000000000000001ee3200\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = da92bf7780941783aa2cfb7b6443fee82066b8fc03fb3b7b7f1fcf41ebd329be\nresult = valid\ntag = 139fdf6474ea24f549b075825f2c7620\n\n# tcId = 60\naad = ffffffff00000000ffffffff00000000\nct = ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000\niv = 000000000000000001ee3200\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = da92bf7780941783aa2cfb7b6443fee82066b8fc03fb3b7b7f1fcf41ebd329be1c4324a41edefcfe74325e49a15c8c2bf796002dec5e26e5ac484dd8fe87fdbd\nresult = valid\ntag = bbad8d863b835a8e8664fd1d4566b6b4\n\n# tcId = 61\naad = ffffffff00000000ffffffff00000000\nct = ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000\niv = 000000000000000001ee3200\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = da92bf7780941783aa2cfb7b6443fee82066b8fc03fb3b7b7f1fcf41ebd329be1c4324a41edefcfe74325e49a15c8c2bf796002dec5e26e5ac484dd8fe87fdbd8525bbbd4269bffaaad80d8facf6850248b3a51de60c058067e5b6c7459392c4644d0d7bb646efc70c0f4ec91dc348ed882cf43a7692ed380453fe77380488c7\nresult = valid\ntag = 42f2354297849a511d53e5571772f71f\n\n# tcId = 62\n# Flipped bit 0 in tag expected tag:a3e3fdf9fba6861b5ad2607f40b7f447\naad = 616164\nct = \niv = 000102030405060708090a0b\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = \nresult = invalid\ntag = a2e3fdf9fba6861b5ad2607f40b7f447\n\n# tcId = 63\n# Flipped bit 1 in tag expected tag:a3e3fdf9fba6861b5ad2607f40b7f447\naad = 616164\nct = \niv = 000102030405060708090a0b\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = \nresult = invalid\ntag = a1e3fdf9fba6861b5ad2607f40b7f447\n\n# tcId = 64\n# Flipped bit 7 in tag expected tag:a3e3fdf9fba6861b5ad2607f40b7f447\naad = 616164\nct = \niv = 000102030405060708090a0b\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = \nresult = invalid\ntag = 23e3fdf9fba6861b5ad2607f40b7f447\n\n# tcId = 65\n# Flipped bit 8 in tag expected tag:a3e3fdf9fba6861b5ad2607f40b7f447\naad = 616164\nct = \niv = 000102030405060708090a0b\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = \nresult = invalid\ntag = a3e2fdf9fba6861b5ad2607f40b7f447\n\n# tcId = 66\n# Flipped bit 31 in tag expected tag:a3e3fdf9fba6861b5ad2607f40b7f447\naad = 616164\nct = \niv = 000102030405060708090a0b\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccdde", - "eff\nmsg = \nresult = invalid\ntag = a3e3fd79fba6861b5ad2607f40b7f447\n\n# tcId = 67\n# Flipped bit 32 in tag expected tag:a3e3fdf9fba6861b5ad2607f40b7f447\naad = 616164\nct = \niv = 000102030405060708090a0b\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = \nresult = invalid\ntag = a3e3fdf9faa6861b5ad2607f40b7f447\n\n# tcId = 68\n# Flipped bit 33 in tag expected tag:a3e3fdf9fba6861b5ad2607f40b7f447\naad = 616164\nct = \niv = 000102030405060708090a0b\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = \nresult = invalid\ntag = a3e3fdf9f9a6861b5ad2607f40b7f447\n\n# tcId = 69\n# Flipped bit 63 in tag expected tag:a3e3fdf9fba6861b5ad2607f40b7f447\naad = 616164\nct = \niv = 000102030405060708090a0b\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = \nresult = invalid\ntag = a3e3fdf9fba6869b5ad2607f40b7f447\n\n# tcId = 70\n# Flipped bit 64 in tag expected tag:a3e3fdf9fba6861b5ad2607f40b7f447\naad = 616164\nct = \niv = 000102030405060708090a0b\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = \nresult = invalid\ntag = a3e3fdf9fba6861b5bd2607f40b7f447\n\n# tcId = 71\n# Flipped bit 77 in tag expected tag:a3e3fdf9fba6861b5ad2607f40b7f447\naad = 616164\nct = \niv = 000102030405060708090a0b\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = \nresult = invalid\ntag = a3e3fdf9fba6861b5af2607f40b7f447\n\n# tcId = 72\n# Flipped bit 80 in tag expected tag:a3e3fdf9fba6861b5ad2607f40b7f447\naad = 616164\nct = \niv = 000102030405060708090a0b\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = \nresult = invalid\ntag = a3e3fdf9fba6861b5ad2617f40b7f447\n\n# tcId = 73\n# Flipped bit 96 in tag expected tag:a3e3fdf9fba6861b5ad2607f40b7f447\naad = 616164\nct = \niv = 000102030405060708090a0b\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = \nresult = invalid\ntag = a3e3fdf9fba6861b5ad2607f41b7f447\n\n# tcId = 74\n# Flipped bit 97 in tag expected tag:a3e3fdf9fba6861b5ad2607f40b7f447\naad = 616164\nct = \niv = 000102030405060708090a0b\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = \nresult = invalid\ntag = a3e3fdf9fba6861b5ad2607f42b7f447\n\n# tcId = 75\n# Flipped bit 120 in tag expected tag:a3e3fdf9fba6861b5ad2607f40b7f447\naad = 616164\nct = \niv = 000102030405060708090a0b\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = \nresult = invalid\ntag = a3e3fdf9fba6861b5ad2607f40b7f446\n\n# tcId = 76\n# Flipped bit 121 in tag expected tag:a3e3fdf9fba6861b5ad2607f40b7f447\naad = 616164\nct = \niv = 000102030405060708090a0b\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = \nresult = invalid\ntag = a3e3fdf9fba6861b5ad2607f40b7f445\n\n# tcId = 77\n# Flipped bit 126 in tag expected tag:a3e3fdf9fba6861b5ad2607f40b7f447\naad = 616164\nct = \niv = 000102030405060708090a0b\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = \nresult = invalid\ntag = a3e3fdf9fba6861b5ad2607f40b7f407\n\n# tcId = 78\n# Flipped bit 127 in tag expected tag:a3e3fdf9fba6861b5ad2607f40b7f447\naad = 616164\nct = \niv = 000102030405060708090a0b\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = \nresult = invalid\ntag = a3e3fdf9fba6861b5ad2607f40b7f4c7\n\n# tcId = 79\n# Flipped bit 63 and 127 in tag expected tag:a3e3fdf9fba6861b5ad2607f40b7f447\naad = 616164\nct = \niv = 000102030405060708090a0b\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = \nresult = invalid\ntag = a3e3fdf9fba6869b5ad2607f40b7f4c7\n\n# tcId = 80\n# Tag changed to all zero expected tag:a3e3fdf9fba6861b5ad2607f40b7f447\naad = 616164\nct = \niv = 000102030405060708090a0b\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = \nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 81\n# tag change to all 1 expected tag:a3e3fdf9fba6861b5ad2607f40b7f447\naad = 616164\nct = \niv = 000102030405060708090a0b\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = \nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 82\n# Flipped bit 0 in tag expected tag:27da374f17b7f1b23844a5490bfc4001\naad = 616164\nct = 2cf8ae525fc86025268a4e1d88bead19\niv = 000102030405060708090a0b\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 00000000000000000000000000000000\nresult = invalid\ntag = 26da374f17b7f1b23844a5490bfc4001\n\n# tcId = 83\n# Flipped bit 1 in tag expected tag:27da374f17b7f1b23844a5490bfc4001\naad = 616164\nct = 2cf8ae525fc86025268a4e1d88bead19\niv = 000102030405060708090a0b\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 00000000000000000000000000000000\nresult = invalid\ntag = 25da374f17b7f1b23844a5490bfc4001\n\n# tcId = 84\n# Flipped bit 7 in tag expected tag:27da374f17b7f1b23844a5490bfc4001\naad = 616164\nct = 2cf8ae525fc86025268a4e1d88bead19\niv = 000102030405060708090a0b\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 00000000000000000000000000000000\nresult = invalid\ntag = a7da374f17b7f1b23844a5490bfc4001\n\n# tcId = 85\n# Flipped bit 8 in tag expected tag:27da374f17b7f1b23844a5490bfc4001\naad = 616164\nct = 2cf8ae525fc86025268a4e1d88bead19\niv = 000102030405060708090a0b\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 00000000000000000000000000000000\nresult = invalid\ntag = 27db374f17b7f1b23844a5490bfc4001\n\n# tcId = 86\n# Flipped bit 31 in tag expected tag:27da374f17b7f1b23844a5490bfc4001\naad = 616164\nct = 2cf8ae525fc86025268a4e1d88bead19\niv = 000102030405060708090a0b\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 00000000000000000000000000000000\nresult = invalid\ntag = 27da37cf17b7f1b23844a5490bfc4001\n\n# tcId = 87\n# Flipped bit 32 in tag expected tag:27da374f17b7f1b23844a5490bfc4001\naad = 616164\nct = 2cf8ae525fc86025268a4e1d88bead19\niv = 000102030405060708090a0b\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 00000000000000000000000000000000\nresult = invalid\ntag = 27da374f16b7f1b23844a5490bfc4001\n\n# tcId = 88\n# Flipped bit 33 in tag expected tag:27da374f17b7f1b23844a5490bfc4001\naad = 616164\nct = 2cf8ae525fc86025268a4e1d88bead19\niv = 000102030405060708090a0b\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 00000000000000000000000000000000\nresult = invalid\ntag = 27da374f15b7f1b23844a5490bfc4001\n\n# tcId = 89\n# Flipped bit 63 in tag expected tag:27da374f17b7f1b23844a5490bfc4001\naad = 616164\nct = 2cf8ae525fc86025268a4e1d88bead19\niv = 000102030405060708090a0b\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 00000000000000000000000000000000\nresult = invalid\ntag = 27da374f17b7f1323844a5490bfc4001\n\n# tcId = 90\n# Flipped bit 64 in tag expected tag:27da374f17b7f1b23844a5490bfc4001\naad = 616164\nct = 2cf8ae525fc86025268a4e1d88bead19\niv = 000102030405060708090a0b\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 00000000000000000000000000000000\nresult = invalid\ntag = 27da374f17b7f1b23944a5490bfc4001\n\n# tcId = 91\n# Flipped bit 77 in tag expected tag:27da374f17b7f1b23844a5490bfc4001\naad = 616164\nct = 2cf8ae525fc86025268a4e1d88bead19\niv = 000102030405060708090a0b\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 00000000000000000000000000000000\nresult = invalid\ntag = 27da374f17b7f1b23864a5490bfc4001\n\n# tcId = 92\n# Flipped bit 80 in tag expected tag:27da374f17b7f1b23844a5490bfc4001\naad = 616164\nct = 2cf8ae525fc86025268a4e1d88bead19\niv = 000102030405060708090a0b\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 00000000000000000000000000000000\nresult = invalid\ntag = 27da374f17b7f1b23844a4490bfc4001\n\n# tcId = 93\n# Flipped bit 96 in tag expected tag:27da374f17b7f1b23844a5490bfc4001\naad = 616164\nct = 2cf8ae525fc86025268a4e1d88bead19\niv = 000102030405060708090a0b\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 00000000000000000000000000000000\nresult = invalid\ntag = 27da374f17b7f1b23844a5490afc4001\n\n# tcId = 94\n# Flipped bit 97 in tag expected tag:27da374f17b7f1b23844a5490bfc4001\naad = 616164\nct = 2cf8ae525fc86025268a4e1d88bead19\niv = 000102030405060708090a0b\nkey", - " = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 00000000000000000000000000000000\nresult = invalid\ntag = 27da374f17b7f1b23844a54909fc4001\n\n# tcId = 95\n# Flipped bit 120 in tag expected tag:27da374f17b7f1b23844a5490bfc4001\naad = 616164\nct = 2cf8ae525fc86025268a4e1d88bead19\niv = 000102030405060708090a0b\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 00000000000000000000000000000000\nresult = invalid\ntag = 27da374f17b7f1b23844a5490bfc4000\n\n# tcId = 96\n# Flipped bit 121 in tag expected tag:27da374f17b7f1b23844a5490bfc4001\naad = 616164\nct = 2cf8ae525fc86025268a4e1d88bead19\niv = 000102030405060708090a0b\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 00000000000000000000000000000000\nresult = invalid\ntag = 27da374f17b7f1b23844a5490bfc4003\n\n# tcId = 97\n# Flipped bit 126 in tag expected tag:27da374f17b7f1b23844a5490bfc4001\naad = 616164\nct = 2cf8ae525fc86025268a4e1d88bead19\niv = 000102030405060708090a0b\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 00000000000000000000000000000000\nresult = invalid\ntag = 27da374f17b7f1b23844a5490bfc4041\n\n# tcId = 98\n# Flipped bit 127 in tag expected tag:27da374f17b7f1b23844a5490bfc4001\naad = 616164\nct = 2cf8ae525fc86025268a4e1d88bead19\niv = 000102030405060708090a0b\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 00000000000000000000000000000000\nresult = invalid\ntag = 27da374f17b7f1b23844a5490bfc4081\n\n# tcId = 99\n# Flipped bit 63 and 127 in tag expected tag:27da374f17b7f1b23844a5490bfc4001\naad = 616164\nct = 2cf8ae525fc86025268a4e1d88bead19\niv = 000102030405060708090a0b\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 00000000000000000000000000000000\nresult = invalid\ntag = 27da374f17b7f1323844a5490bfc4081\n\n# tcId = 100\n# Tag changed to all zero expected tag:27da374f17b7f1b23844a5490bfc4001\naad = 616164\nct = 2cf8ae525fc86025268a4e1d88bead19\niv = 000102030405060708090a0b\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 00000000000000000000000000000000\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 101\n# tag change to all 1 expected tag:27da374f17b7f1b23844a5490bfc4001\naad = 616164\nct = 2cf8ae525fc86025268a4e1d88bead19\niv = 000102030405060708090a0b\nkey = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff\nmsg = 00000000000000000000000000000000\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 102\n# checking for int overflows\naad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 30303030303030300002506e\nkey = 3030303030303030303030303030303030303030303030303030303030303030\nmsg = d4500bf009493551c380adf52c573a69df7e8b762463330facc16a5726be7190c63c5a1c926584a096756828dcdc64acdf963d931bf1dae238f3f157224ac4b542d785b0dd84db6be3bc5a3663e84149ffbed09e54f78f16a8223b24cb019f58b21b0e551e7aa07327629551376ccbc3937671a0629bd95c9915c78555771e7a\nresult = valid\ntag = 0b300d8da56c2185755279553c4c82ca\n\n# tcId = 103\n# checking for int overflows\naad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 3030303030303030000318a5\nkey = 3030303030303030303030303030303030303030303030303030303030303030\nmsg = 7de87f6729945275d0655da4c7fde4569e16f111b5eb26c22d859e3ff822eced3a6dd9a60f22957f7b7c857e8822eb9fe0b8d7022141f2d0b48f4b5612d322a88dd0fe0b4d9179324f7c6c9e990efbd80e5ed6775826498b1efe0f71a0f3ec5b29cb28c2540a7dcd51b7daaee0ff4a7f3ac1ee54c29ee4c170de408f66692194\nresult = valid\ntag = c578e2aa44d309b7b6a5193bdc6118f5\n\n# tcId = 104\n# checking for int overflows\naad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 00000000000000000007b4f0\nkey = 3030303030303030303030303030303030303030303030303030303030303030\nmsg = 1b996f9a3ccc6785de22ff5b8add9502ce03a0faf5992a09522cdd1206d220b8f8bd07d1f1f5a1bd9a71d11c7f579b855818c08d4de036393183b7f590b335aed8de5b57b13c5fede2441c3e184aa9d46e61598506b3e11c43c62cbcaceced33190875b012218b1930fb7c38ec45ac11c353d0cf938dccb9efad8fedbe46daa5\nresult = valid\ntag = 4b0bda8ad043830d8319ab82c50c7663\n\n# tcId = 105\n# checking for int overflows\naad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 00000000000000000020fb66\nkey = 3030303030303030303030303030303030303030303030303030303030303030\nmsg = 86cbacae4d3f74ae01213e0551cc15160ea1be8408e3d5d74f01464995a69e6176cb9e02b2247ed299892f9182a45caf4c69405611766edfafdc285519ea30480c44f05e781eacf8fcecc7090abb28fa5fd585ac8cda7e8772e594e4ce6c883281932e0f89f877a1f04d9c32b06cf90b0e762b430c4d517c97107068f498ef7f\nresult = valid\ntag = 4bc98f72c494c2a43c2b15a1043f1cfa\n\n# tcId = 106\n# checking for int overflows\naad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 00000000000000000038bb90\nkey = 3030303030303030303030303030303030303030303030303030303030303030\nmsg = fab1cddf4fe198ef63add881d6ead6c57637bbe92018ca7c0b96fba0871e932db1fbf90761be25df8dfaf931ce5757e617b3d7a9f0bf0ffe5d591a33c143b8f53fd0b5a19609fd62e5c251a4281a200cfdc34f281710406f4e37625446ff6ef224913deb0d89af337128e3d155d16d3ec3246041432143e9ab3a6d2ccc2f4d62\nresult = valid\ntag = f7e9e151b02533c74658bfc7737c680d\n\n# tcId = 107\n# checking for int overflows\naad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 00000000000000000070484a\nkey = 3030303030303030303030303030303030303030303030303030303030303030\nmsg = 227202be7f3515e9d1c02eea2f1950b6481b048a4c91506cb40d504e6c949f82d197c25ad17dc721651125782ac7a71247feaef32f1f250ce4bb8f79acaa179d45a7b0545f0924325efa87d5e441d28478c61f2223ee67c3b41f4394535e2a24369a2e16613c459490c14fb1d755fe53fbe1ee45b1b21f7162e2fcaa742abefd\nresult = valid\ntag = 795bcff647c553c2e4eb6e0eafd9e04e\n\n# tcId = 108\n# checking for int overflows\naad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000000000000000000932f40\nkey = 3030303030303030303030303030303030303030303030303030303030303030\nmsg = fae58345c1", - "6cb0f5cc537f2b1b3469c969463b3ea71bcf6b98d669a8e60e04fc08d5fd069c362638e3400ef4cb242e27e2245e68cb9ec583da5340b12edf423b7326ad20feeb57daca2e0467a32899b42df8e56d84e006bc8a7acc731e7c1f6becb5719f7077f0d4f4c61ab11ebac1001801ce33c4e4a77d831d3ce34e8410e1\nresult = valid\ntag = 1946d653960f947a74d3e8093cf48502\n\n# tcId = 109\n# checking for int overflows\naad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000000000000000000e29335\nkey = 3030303030303030303030303030303030303030303030303030303030303030\nmsg = ebb216ddd7ca709215f503df9ce63c5cd2194e7d9099e8a90b2afaad5eba35069925a603fdbc341aaed41505b10941fa3856a7e247b1040709746cfc2096caa631b2fff41c250506d889c1c90671ade853ee6394c19192a5cf3710d1073099e5bc946582fc0fab9f543c716ae2486a8683fdca39d2e14f23d00a582664f4ecb1\nresult = valid\ntag = 36c3002985dd21baf895d633573f12c0\n\n# tcId = 110\n# checking for int overflows\naad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 0000000000000000000ef7d5\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 408ae6ef1c7ef0fb2c2d610816fc7849efa58f78273f5f166ea65f81b575747d035b3040fede1eb9459788669788408e00413b3e376d152d204aa2b7a83558fcd48a0ef7a26b1cd6d35d23b3f5dfe0ca77a4ce32b94abf83da2aefcaf068380879e89fb0a3829595cf44c3852ae2cc662b689f9355d9c183801f6acc313f8907\nresult = valid\ntag = 6514518e0a264142e0b7351f967fc2ae\n\n# tcId = 111\n# checking for int overflows\naad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 0000000000000000003dfce4\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 0a0a24499bcade58cf1576c312aca984718cb4cc7e0153f5a9015810859644dfc021174e0b060a397448de8b484a8603be680a6934c0906f30dd17eae2d4c5faa777f8ca53370e08331b88c342bac959787bbb33930e3b56be86da7f2a6eb1f94089d1d181074d4302f8e0552d0de1fab306a21b42d4c3ba6e6f0cbcc81e877a\nresult = valid\ntag = 4c194da6a99fd65b40e9cad798f44b19\n\n# tcId = 112\n# checking for int overflows\naad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 0000000000000000018486a8\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 4a0aaff8494729188691701340f3ce2b8a78eed3a0f065994b72484e7991d25c29aa075eb1fc16de93fe069058112ab284a3ed18780326d1258a47222fa633d8b29f3bd9150b239b1546c2bb9b9f410febead396000ee477701532c3d0f5fbf895d280196d2f737c5e9fec50d92bb0df5d7e513be5b8ea971310d5bf16ba7aee\nresult = valid\ntag = c8ae7788cd2874abc138541e11fd0587\n\n# tcId = 113\n# checking for int overflows\naad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 0000000000000000064c2d52\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = ff9428d079351f665cd001354319875c783d35f613e6d9093d38e975c38fe3b89f7aed35cb5a2fcaa0346efb936554649cf6378171eae4396ea15dc240d1abf4472d9096524fa1b2b023b8b288222773d4d206616f9293f65b45dbbc74e7c2edfbcbbf1cfb679bb739a5862de2bcb937f74d5bf8671c5a8a5092f61d54c9aa5b\nresult = valid\ntag = 933a5163c7f62368327b3fbc1036c943\n\n# tcId = 114\n# special case tag\naad = 85ffffffffffffffffffffffffffffffa6902fcbc883bbc180b256ae34ad7f00\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000102030405060708090a0b\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 9a49c40f8b48d7c66d1db4e53f20f2dd4aaa241ddab26b5bc0e218b72c3390f2df3ebd0176704419972bcdbc6bbcb3e4e74a71528ef51263ce24e0d575e0e44d\nresult = valid\ntag = 000102030405060708090a0b0c0d0e0f\n\n# tcId = 115\n# special case tag\naad = ffffffffffffffffffffffffffffffff247e50642a1c0a2f8f77219609dba958\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000102030405060708090a0b\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 9a49c40f8b48d7c66d1db4e53f20f2dd4aaa241ddab26b5bc0e218b72c3390f2df3ebd0176704419972bcdbc6bbcb3e4e74a71528ef51263ce24e0d575e0e44d\nresult = valid\ntag = 00000000000000000000000000000000\n\n# tcId = 116\n# special case tag\naad = 7cffffffffffffffffffffffffffffffd9e72c064ac8961f3fa585e0e2abd600\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000102030405060708090a0b\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 9a49c40f8b48d7c66d1db4e53f20f2dd4aaa241ddab26b5bc0e218b72c3390f2df3ebd0176704419972bcdbc6bbcb3e4e74a71528ef51263ce24e0d575e0e44d\nresult = valid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 117\n# special case tag\naad = 65ffffffffffffffffffffffffffffff95af0f4d0b686eaeccca4307d596f502\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000102030405060708090a0b\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 9a49c40f8b48d7c66d1db4e53f20f2dd4aaa241ddab26b5bc0e218b72c3390f2df3ebd0176704419972bcdbc6bbcb3e4e74a71528ef51263ce24e0d575e0e44d\nresult = valid\ntag = 00000080000000800000008000000080\n\n# tcId = 118\n# special case tag\naad = ffffffffffffffffffffffffffffffff8540b464357707be3a39d55c34f8bcb3\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000102030405060708090a0b\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 9a49c40f8b48d7c66d1db4e53f20f2dd4aaa241ddab26b5bc0e218b72c3390f2df3ebd0176704419972bcdbc6bbcb3e4e74a71528ef51263ce24e0d575e0e44d\nresult = valid\ntag = ffffff7fffffff7fffffff7fffffff7f\n\n# tcId = 119\n# special case tag\naad = 4fffffffffffffffffffffffffffffff6623d990b898d830d212af2383330701\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000102030405060708090a0b\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 9a49c40f8b48d7c66d1db4e53f20f2dd4aaa241ddab26b5bc0e218b72c3390f2df3ebd0176704419972bcdbc6bbcb3e4e74a71528ef51263ce24e0d575e0e44d\nresult = valid\ntag = 01000000010000000100000001000000\n\n# tcId = 120\n# special case tag\naad = 83ffffffffffffffffffffffffffffff5f16d09f17787211b7d484e024f89701\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000102030405060708090a0b\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 9a49c40f8b48d7c66d1db4e53f20f2dd4aaa241ddab26b5bc0e218b72c3390f2df3ebd0176704419972bcdbc", - "6bbcb3e4e74a71528ef51263ce24e0d575e0e44d\nresult = valid\ntag = ffffffff000000000000000000000000\n\n# tcId = 121\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = 0039e2fd2fd312149e989880884813e7caffffffffffffffffffffffffffffff3b0e869aaa8ea49632ffff37b9e8ce00caffffffffffffffffffffffffffffff3b0e869aaa8ea49632ffff37b9e8ce00\niv = 0000000000000000064c2d52\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 005235d2a919f28d3db7664a34ae6b444d3d35f613e6d9093d38e975c38fe3b85b8b94509e2b74a36d346e33d572659ba9f6378171eae4396ea15dc240d1abf483dce9f3073efadb7d23b87ace35168c\nresult = valid\ntag = a519ac1a35b4a57787510af78d8d200a\n\n# tcId = 122\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = d3ffffffffffffffffffffffffffffff6218b27f83b8b46602f6e1d834207b02ceffffffffffffffffffffffffffffff2a6416cedb1cdd296ef5d7d692daff02ceffffffffffffffffffffffffffffff2a6416cedb1cdd296ef5d7d692daff02\niv = 0000000000000000064c2d52\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = d39428d079351f665cd001354319875ce5da78766fa19290c031f75208506745ae7aed35cb5a2fcaa0346efb93655464496ddeb05509c6efffab75eb2df4ab09762d9096524fa1b2b023b8b2882227730149ef504b71b120ca4ff39519c2c210\nresult = valid\ntag = 302fe82ab0a09af64400d015ae83d9cc\n\n# tcId = 123\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = e9ffffffffffffffffffffffffffffffea33f347304abdadf8ce413433c84501e0ffffffffffffffffffffffffffffffb27f579688aee57064ce37329182ca01e0ffffffffffffffffffffffffffffffb27f579688aee57064ce37329182ca01\niv = 0000000000000000064c2d52\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = e99428d079351f665cd001354319875c6df1394edc539b5b3a0957be0fb85946807aed35cb5a2fcaa0346efb93655464d1769fe806bbfeb6f590950f2eac9e0a582d9096524fa1b2b023b8b2882227739952ae0818c38979c07413711a9af713\nresult = valid\ntag = 98a7e836e0ee4d023500d0557ec2cbe0\n\n# tcId = 124\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = ffffffffffffffffffffffffffffffffe33bc552ca8b9e96169e797e8f30301b603ca99944df76528c9d6f54ab833d0f603ca99944df76528c9d6f54ab833d0f\niv = 0000000000000000064c2d52\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = ff9428d079351f665cd001354319875c64f90f5b2692b860d4596ff4b3402c5c00b9bb53707aa667d356fe50c7199694033561e7caca6d941dc3cd6914ad6904\nresult = valid\ntag = 6ab8dce2c59da4737130b0252f68a8d8\n\n# tcId = 125\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = 68ffffffffffffffffffffffffffffff374def6eb782ed002143115412b74600ffffffffffffffffffffffffffffffff4e233fb3e51d1ec7424507720dc5219dffffffffffffffffffffffffffffffff4e233fb3e51d1ec7424507720dc5219d\niv = 0000000000000000064c2d52\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 689428d079351f665cd001354319875cb08f25675b9bcbf6e38407de2ec75a479f7aed35cb5a2fcaa0346efb936554642d2af7cd6b080501d31ba54fb2eb7596472d9096524fa1b2b023b8b288222773650ec62d757072cee6ff233186dd1c8f\nresult = valid\ntag = 044dea608880412bfdffcf35579e9b26\n\n# tcId = 126\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = 6dffffffffffffffffffffffffffffff26a37fa2e81026945c39e9f2eba87702ffffffffffffffffffffffffffffffffa5f1cff246fa09666e3bdf50b7f544b3ffffffffffffffffffffffffffffffffa5f1cff246fa09666e3bdf50b7f544b3\niv = 0000000000000000064c2d52\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 6d9428d079351f665cd001354319875ca161b5ab040900629efeff78d7d86b459f7aed35cb5a2fcaa0346efb93655464c6f8078cc8ef12a0ff657d6d08db10b8472d9096524fa1b2b023b8b2882227738edc366cd697656fca81fb133ced79a1\nresult = valid\ntag = 1e6bea6314542e2ef9ffcf450b2e982b\n\n# tcId = 127\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = ffffffffffffffffffffffffffffffff7bc3729809e9dfe44fba0addade2aadf03c456df823cb8a0c5b900b3c935b8d303c456df823cb8a0c5b900b3c935b8d3\niv = 0000000000000000064c2d52\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = ff9428d079351f665cd001354319875cfc01b891e5f0f9128d7d1c579192b69863414415b69968959a7291b7a5af134860cd9ea10c29a36654e7a28e761becd8\nresult = valid\ntag = ed2017c8dba4775629049d786e3bceb1\n\n# tcId = 128\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = ffffffffffffffffffffffffffffffffecaf03dbf698b88677b0e2cb0ba3cafa73b0e72170ec9042edafd8a127f6d7ee73b0e72170ec9042edafd8a127f6d7ee\niv = 0000000000000000064c2d52\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = ff9428d079351f665cd001354319875c6b6dc9d21a819e70b577f44137d3d6bd1335f5eb44494077b26449a54b6c7c7510b92f5ffef98b847cf17a9c98d883e5\nresult = valid\ntag = 073f17cb6778645925049d8822cbcab6\n\n# tcId = 129\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = ffa0fc3e8032c3d5fdb62a11f096307db5ffffffffffffffffffffffffffffff766c9a8025eadea73905328c3379c004b5ffffffffffffffffffffffffffffff766c9a8025eadea73905328c3379c004\niv = 0000000000000000064c2d52\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = ffcb2b1106f8234c5e99d4db4c7048de323d35f613e6d9093d38e975c38fe3b816e9884a114f0e9266cea3885fe36b9fd6f6378171eae4396ea15dc240d1abf4cebef5e9885a80ea76d975c144a41888\nresult = valid\ntag = 8b9bb4b4861289658c696a8340150405\n\n# tcId = 130\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = 6ff5a7c2bd414c3985cb9490b5a56d2ea6ffffffffffffffffffffffffffffff6ce43e94b92c784684013c5f1fdce900a6ffffffffffffffffffffffffffffff6ce43e94b92c784684013c5f1fdce900\niv = 0000000000000000064c2d52\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 6f9e70ed3b8baca026e46a5a0943158d213d35f613e6d9093d38e975c38fe3b80c612c5e8d89a873dbcaad5b7346429bc5f6378171eae4396ea15dc240d1abf4d43651fd149c260bcbdd7b126801318c\nresult = valid\ntag = 8b3bbd51644459568d81ca1fa72ce404\n\n# tcId = 131\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = 4140df25b8d32194e78e51d41738cc6db2ffffffffffffffffffffffffffffff0b0686f93d849859fed6b818520d4501b2ffffffffffffffffffffffffffffff0b0686f93d849859fed6b818520d4501\niv = 0000000000000000064c2d52\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 412b080a3e19c10d44a1af1eabdeb4ce353d35f613e6d9093d38e975c38fe3b86b8394330921486ca11d291c3e97ee9ad1f6378171eae4396ea15dc240d1abf4b3d4e9909034c614b10aff5525d09d8d\nresult = valid\ntag = 86fbab2b4a94f47aa56f0aea65d11008\n\n# tcId = 132\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = b22c7068a583fa350f8529c375f8eb88b6fffffffffffffffffffffffffffffffa5b162d6f12d1ec39cd90b72bff7503b6fffffffffffffffffffffffffffffffa5b162d6f12d1ec39cd90b72bff7503\niv = 0000000000000000064c2d52\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = b247a74723491aacacaad709c91e932b313d35f613e6d9093d38e975c38fe3b89ade04e75bb701d9660601b34765de98d5f6378171eae4396ea15dc240d1abf442897944c2a28fa17611d7fa5c22ad8f\nresult = valid\ntag = a019ac2ed667e17da16f0afa19610d0d\n\n# tcId = 133\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = 7464496670da0f3c2699a700d23ecc3aaaffffffffffffffffffffffffffffff21a884658a253c0b261fc0b466b71901aaffffffffffffffffffffffffffffff21a884658a253c0b261fc0b466b71901\niv = 0000000000000000064c2d52\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 740f9e49f610efa585b659ca6ed8b4992d3d35f613e6d9093d38e975c38fe3b8412d96afbe80ec3e79d451b00a2db29ac9f6378171eae4396ea15dc240d1abf4997aeb0c2795624669c387f9116ac18d\nresult = valid\ntag = 736e18181696a5889c3159faabab20fd\n\n# tcId = 134\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = add18a3fdd024a9f8f0cc801347ba376b0ffffffffffffffffffffffffffffff77f94d341cd0245da90907532469f201b0ffffffffffffffffffffffffffffff77f94d341cd0245da90907532469f201\niv = 0000000000000000064c2d52\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = adba5d105bc8aa062c2336cb889ddbd5373d35f613e6d9093d38e975c38fe3b8177c5ffe2875f468f6c2965748f3599ad3f6378171eae4396ea15dc240d1abf4cf2b225db1607a10e6d5401e53b42a8d\nresult = valid\ntag = bad58f10a91e6a889aba32fd17d8331a\n\n# tcId = 135\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = feffffffffffffffffffffffffffffff47c327cc365d088759098c341b4aed03d4ffffffffffffffffffffffffffffff2b0b973f745b28aae937f59f18eac701d4f", - "fffffffffffffffffffffffffffff2b0b973f745b28aae937f59f18eac701\niv = 0000000000000000064c2d52\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = fe9428d079351f665cd001354319875cc001edc5da442e719bce9abe273af144b47aed35cb5a2fcaa0346efb9365546448025f41fa4e336c786957a2a7c4930a6c2d9096524fa1b2b023b8b28822277300266ea1e43644a34d8dd1dc93f2fa13\nresult = valid\ntag = d68ce174079add028dd05cf814630488\n\n# tcId = 136\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = b57867453f66f4daf9e474691f9c8515d3ffffffffffffffffffffffffffffff01101359851ad324a0dae88dc2430202d3ffffffffffffffffffffffffffffff01101359851ad324a0dae88dc2430202\niv = 0000000000000000064c2d52\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = b513b06ab9ac14435acb8aa3a37afdb6543d35f613e6d9093d38e975c38fe3b861950193b1bf0311ff117989aed9a999b0f6378171eae4396ea15dc240d1abf4b9c27c3028aa8d69ef06afc0b59eda8e\nresult = valid\ntag = aa48a3887d4b059699c2fdf9c6787e0a\n\n# tcId = 137\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = ffffffffffffffffffffffffffffffff5333c3e1f8d78eacca0707526cad018cafffffffffffffffffffffffffffffff3049702414b599502624fdfe29313204afffffffffffffffffffffffffffffff3049702414b599502624fdfe29313204\niv = 0000000000000000064c2d52\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = ff9428d079351f665cd001354319875cd4f109e814cea85a08c011d850dd1dcbcf7aed35cb5a2fcaa0346efb936554645340b85a9aa08296b77a5fc3961f660f172d9096524fa1b2b023b8b2882227731b6489ba84d8f559829ed9bda2290f16\nresult = valid\ntag = b936a817f2211af129e2cf160fd42bcb\n\n# tcId = 138\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = ffffffffffffffffffffffffffffffff588ea80ac1583f434a806813ae2a4a9eb6ffffffffffffffffffffffffffffff998d381adb2359ddbae786537d37b900b6ffffffffffffffffffffffffffffff998d381adb2359ddbae786537d37b900\niv = 0000000000000000064c2d52\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = ff9428d079351f665cd001354319875cdf4c62032d4119b588477e99925a56d9d67aed35cb5a2fcaa0346efb93655464fa84f0645536421b2bb9246ec219ed0b0e2d9096524fa1b2b023b8b288222773b2a0c1844b4e35d41e5da210f62f8412\nresult = valid\ntag = 9f7ac4351f6b91e63097a713115d05be\n\n# tcId = 139\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = ffffffffffffffffffffffffffffffff943ac00981d89d2c14febfa5fb9cba1297ffffffffffffffffffffffffffffff00417083a7aa8d13f2fbb5dfc255a80497ffffffffffffffffffffffffffffff00417083a7aa8d13f2fbb5dfc255a804\niv = 0000000000000000064c2d52\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = ff9428d079351f665cd001354319875c13f80a006dc1bbdad639a92fc7eca655f77aed35cb5a2fcaa0346efb936554646348b8fd29bf96d563a517e27d7bfc0f2f2d9096524fa1b2b023b8b2882227732b6c891d37c7e11a5641919c494d9516\nresult = valid\ntag = 9a18a828070269f44700d009e7171cc9\n\n# tcId = 140\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = ffffffffffffffffffffffffffffffff0527514c6e8876ce3bf49794595dda2d9cffffffffffffffffffffffffffffffd57800b44c65d9a331f28d6ee8b7dc019cffffffffffffffffffffffffffffffd57800b44c65d9a331f28d6ee8b7dc01\niv = 0000000000000000064c2d52\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = ff9428d079351f665cd001354319875c82e59b4582915038f933811e652dc66afc7aed35cb5a2fcaa0346efb93655464b671c8cac270c265a0ac2f535799880a242d9096524fa1b2b023b8b288222773fe55f92adc08b5aa9548a92d63afe113\nresult = valid\ntag = b436a82b93d555f74300d0199ba718ce\n\n# tcId = 141\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = ffffffffffffffffffffffffffffffff7613e28e5b384f7063ea6f83b71dfa48a0ffffffffffffffffffffffffffffffc4ce90e77df311376de8650dc2a90d04a0ffffffffffffffffffffffffffffffc4ce90e77df311376de8650dc2a90d04\niv = 0000000000000000064c2d52\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = ff9428d079351f665cd001354319875cf1d12887b7216986a12d79098b6de60fc07aed35cb5a2fcaa0346efb93655464a7c75899f3e60af1fcb6c7307d87590f182d9096524fa1b2b023b8b288222773efe36979ed9e7d3ec952414e49b13016\nresult = valid\ntag = ce54a82e1fa942fa3f00d0294f3715d3\n\n# tcId = 142\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = cb9a0db18d63d7ead7c960d6b286745fb3ffffffffffffffffffffffffffffffdebab4a1584250bffc2fc84d95decf04b3ffffffffffffffffffffffffffffffdebab4a1584250bffc2fc84d95decf04\niv = 0000000000000000064c2d52\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = cbf1da9e0ba9377374e69e1c0e600cfc343d35f613e6d9093d38e975c38fe3b8be3fa66b6ce7808aa3e45949f944649fd0f6378171eae4396ea15dc240d1abf46668dbc8f5f20ef2b3f38f00e2031788\nresult = valid\ntag = 2383ab0b799205699b510aa709bf31f1\n\n# tcId = 143\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = 8f4c51bb42233a7276a2c0912a88f3cbc5ffffffffffffffffffffffffffffff66d6f56905d45806f30828a993869a03c5ffffffffffffffffffffffffffffff66d6f56905d45806f30828a993869a03\niv = 0000000000000000064c2d52\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 8f278694c4e9daebd58d3e5b966e8b68423d35f613e6d9093d38e975c38fe3b80653e7a331718833acc3b9adff1c3198a6f6378171eae4396ea15dc240d1abf4de049a00a864064bbcd46fe4e45b428f\nresult = valid\ntag = 8bfbab17a9e0b8748b510ae7d9fd2305\n\n# tcId = 144\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = d5ffffffffffffffffffffffffffffff1de01d03a4fb692b0f135717da3c93039cffffffffffffffffffffffffffffff14bc017957dcfa2cc0dbb81df583cb019cffffffffffffffffffffffffffffff14bc017957dcfa2cc0dbb81df583cb01\niv = 0000000000000000064c2d52\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = d59428d079351f665cd001354319875c9a22d70a48e24fddcdd4419de64c8f44fc7aed35cb5a2fcaa0346efb9365546477b5c907d9c9e1ea51851a204aad9f0a242d9096524fa1b2b023b8b2882227733f91f8e7c7b1962564619c5e7e9bf613\nresult = valid\ntag = 49bc6e9fc51c4d503036644d842773d2\n\n# tcId = 145\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = dbfffffffffffffffffffffffffffffff217ae3349b6b5bb4e092fa6ff9ec700a0ffffffffffffffffffffffffffffff031292ac886a33c0fbd190bcce75fc03a0ffffffffffffffffffffffffffffff031292ac886a33c0fbd190bcce75fc03\niv = 0000000000000000064c2d52\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = db9428d079351f665cd001354319875c75d5643aa5af934d8cce392cc3eedb47c07aed35cb5a2fcaa0346efb93655464601b5ad2067f28066a8f3281715ba808182d9096524fa1b2b023b8b288222773283f6b3218075fc95f6bb4ff456dc111\nresult = valid\ntag = 63da6ea251f039532c36645d38b76fd7\n\n# tcId = 146\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = 93ffffffffffffffffffffffffffffffe58af369ae0fc2f5290b7c7f659c9704f7ffffffffffffffffffffffffffffffbbc10b84948b5c8c2f0c72113ea9bd04f7ffffffffffffffffffffffffffffffbbc10b84948b5c8c2f0c72113ea9bd04\niv = 0000000000000000064c2d52\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 939428d079351f665cd001354319875c624839604216e403ebcc6af559ec8b43977aed35cb5a2fcaa0346efb93655464d8c8c3fa1a9e474abe52d02c8187e90f4f2d9096524fa1b2b023b8b28822277390ecf21a04e630858bb65652b5b18016\nresult = valid\ntag = 73eb2724b5c405f04d00d0f15840a1c1\n\n[ivSize = 64]\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 147\n# invalid nonce size\naad = \nct = \niv = 5f5f5f5f5f5f5f5f\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = \nresult = invalid\ntag = \n\n[ivSize = 80]\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 148\n# invalid nonce size\naad = \nct = \niv = 5f5f5f5f5f5f5f5f5f5f\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = \nresult = invalid\ntag = \n\n[ivSize = 88]\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 149\n# invalid nonce size\naad = \nct = \niv = 5f5f5f5f5f5f5f5f5f5f5f\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = \nresult = invalid\ntag = \n\n[ivSize = 112]\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 150\n# invalid nonce size\naad = \nct = \niv = 5f5f5f5f5f5f5f5f5f5f5f5f5f5f\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = \nresult = invalid\ntag = \n\n[ivSize = 128]\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 151\n# invalid nonce size\naad = \nct = \niv = 5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = \nresu", - "lt = invalid\ntag = \n\n", +static const char *kData93[] = { + "# Imported from Wycheproof's chacha20_poly1305_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: CHACHA20-POLY1305\n# Generator version: 0.8r12\n\n[ivSize = 96]\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 1\n# RFC 7539\naad = 50515253c0c1c2c3c4c5c6c7\nct = d31a8d34648e60db7b86afbc53ef7ec2a4aded51296e08fea9e2b5a736ee62d63dbea45e8ca9671282fafb69da92728b1a71de0a9e060b2905d6a5b67ecd3b3692ddbd7f2d778b8c9803aee328091b58fab324e4fad675945585808b4831d7bc3ff4def08e4b7a9de576d26586cec64b6116\niv = 070000004041424344454647\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 4c616469657320616e642047656e746c656d656e206f662074686520636c617373206f66202739393a204966204920636f756c64206f6666657220796f75206f6e6c79206f6e652074697020666f7220746865206675747572652c2073756e73637265656e20776f756c642062652069742e\nresult = valid\ntag = 1ae10b594f09e26a7e902ecbd0600691\n\n# tcId = 2\naad = \nct = \niv = 4da5bf8dfd5852c1ea12379d\nkey = 80ba3192c803ce965ea371d5ff073cf0f43b6a2ab576b208426e11409c09b9b0\nmsg = \nresult = valid\ntag = 76acb342cf3166a5b63c0c0ea1383c8d\n\n# tcId = 3\naad = bd506764f2d2c410\nct = \niv = a92ef0ac991dd516a3c6f689\nkey = 7a4cd759172e02eb204db2c3f5c746227df584fc1345196391dbb9577a250742\nmsg = \nresult = valid\ntag = 906fa6284b52f87b7359cbaa7563c709\n\n# tcId = 4\naad = \nct = 3a\niv = 99e23ec48985bccdeeab60f1\nkey = cc56b680552eb75008f5484b4cb803fa5063ebd6eab91f6ab6aef4916a766273\nmsg = 2a\nresult = valid\ntag = cac27dec0968801e9f6eded69d807522\n\n# tcId = 5\naad = 91ca6c592cbcca53\nct = c4\niv = ab0dca716ee051d2782f4403\nkey = 46f0254965f769d52bdb4a70b443199f8ef207520d1220c55e4b70f0fda620ee\nmsg = 51\nresult = valid\ntag = 168310ca45b1f7c66cad4e99e43f72b9\n\n# tcId = 6\naad = \nct = 4d13\niv = 461af122e9f2e0347e03f2db\nkey = 2f7f7e4f592bb389194989743507bf3ee9cbde1786b6695fe6c025fd9ba4c100\nmsg = 5c60\nresult = valid\ntag = 91e8b61efb39c122195453077b22e5e2\n\n# tcId = 7\naad = 88364fc8060518bf\nct = b60d\niv = 61546ba5f1720590b6040ac6\nkey = c8833dce5ea9f248aa2030eacfe72bffe69a620caf793344e5718fe0d7ab1a58\nmsg = ddf2\nresult = valid\ntag = ead0fd4697ec2e5558237719d02437a2\n\n# tcId = 8\naad = \nct = 3cf470\niv = d2ab0abb50a8e9fba25429e1\nkey = bd8ed7fb0d607522f04d0b12d42c92570bccc5ba2486953d70ba2e8193f6225a\nmsg = 201221\nresult = valid\ntag = a27a69c9d7ee84586f11388c6884e63a\n\n# tcId = 9\naad = 6c8cf2ab3820b695\nct = 610925\niv = 94f32a6dff588f2b5a2ead45\nkey = 1c8b59b17a5ceced31bde97d4cefd9aaaa63362e096e863ec1c89580bca79b7a\nmsg = 453f95\nresult = valid\ntag = a8a7883eb7e40bc40e2e5922ae95ddc3\n\n# tcId = 10\naad = \nct = fe6849aa\niv = 7aa5ad8bf5254762171ec869\nkey = e4912cb75a1174345f1a457366f18885fe8460b06478e04be2f7fb4ec9c113e5\nmsg = 9e4c1d03\nresult = valid\ntag = 99ad07871b25c27defc31a541bd5c418\n\n# tcId = 11\naad = 15d93a96d0e6c5a9\nct = f4710e51\niv = b7f526e3fd71cf5720961aec\nkey = e05777ef3d989ace7d2abfba452bfded54801dbd5c66e91c0c2ef00479d85572\nmsg = 17bfda03\nresult = valid\ntag = b957c6a37b6a4c94996c002186d63b2b\n\n# tcId = 12\naad = \nct = f711647ff1\niv = 9447bf85d5b97d8aee0f8e51\nkey = 1a4c4f39abe890e62345c947bcf7de7c2e33bd5ceeda0a0abf0e7ef935ddf3ee\nmsg = c15a593bd0\nresult = valid\ntag = 22b12dc38cb79629f84cdbdc2425c09d\n\n# tcId = 13\naad = 96224835610b782b\nct = d171f046ea\niv = 3dbe876bd880ec8ea2017043\nkey = 800e9a24791700c9609736695ba2a8b99b2d57f1c3bfb61ed49db1c6c5219583\nmsg = a7bfd041e3\nresult = valid\ntag = d179b1b9c4184378df009019dbb8c249\n\n# tcId = 14\naad = \nct = 9351b1b1b082\niv = 27fb58ec6a21e84696cb8830\nkey = 208c2c376c9430433db20e1a6b7ba817f8ffbfa6827f26759ccede42e591d3ec\nmsg = af104b5ccd0e\nresult = valid\ntag = 560785509f60f26b681933d9cdbfd29f\n\n# tcId = 15\naad = 6d52feb2509f7fbf\nct = 41abff7b71cc\niv = b5965470c383fd29fe7eaee7\nkey = 2eb168e53b07ab04355ea792fe11a6be2ce9c39cfe15a997076b1e38c17ad620\nmsg = 6fdf2927e169\nresult = valid\ntag = 9b5174297c03cf8902d1f706fd008902\n\n# tcId = 16\naad = \nct = 5dfe3440dbb3c3\niv = 3c4e654d663fa4596dc55bb7\nkey = 55568158d3a6483f1f7021eab69b703f614251cadc1af5d34a374fdbfc5adac7\nmsg = ab85e9c1571731\nresult = valid\ntag = ed7a434e2602d394281e0afa9fb7aa42\n\n# tcId = 17\naad = 84e46be8c0919053\nct = 4bd47212941ce3\niv = 58389375c69ee398de948396\nkey = e3c09e7fab1aefb516da6a33022a1dd4eb272c80d540c5da52a730f34d840d7f\nmsg = 4ee5cda20d4290\nresult = valid\ntag = 185f1408ee7fbf18f5abad6e2253a1ba\n\n# tcId = 18\naad = \nct = 8e9439a56eeec817\niv = 4f07afedfdc3b6c2361823d3\nkey = 51e4bf2bad92b7aff1a4bc05550ba81df4b96fabf41c12c7b00e60e48db7e152\nmsg = be3308f72a2c6aed\nresult = valid\ntag = fbe8a6ed8fabb1937539dd6c00e90021\n\n# tcId = 19\naad = 66c0ae70076cb14d\nct = b9b910433af052b0\niv = b4ea666ee119563366484a78\nkey = 1131c1418577a054de7a4ac551950f1a053f9ae46e5b75fe4abd5608d7cddadd\nmsg = a4c9c2801b71f7df\nresult = valid\ntag = 4530f51aeee024e0a445a6328fa67a18\n\n# tcId = 20\naad = \nct = d9d897a9c1c5bb9f01\niv = 8092fc245b3326cddbd1424c\nkey = e1094967f86d893cdfe2e2e6d5c7ee4dfef67da3c9c5d64e6ad7c1577dcb38c5\nmsg = c37aa791ddd6accf91\nresult = valid\ntag = 085a430373058f1a12a0d589fd5be68b\n\n# tcId = 21\naad = 8c32f47a386152ec\nct = 8fdb429d47761cbf8e\niv = f1ca81338629587acf9372bf\nkey = 236f9baee4f9da15beeca40ff4af7c760f254a64bc3a3d7f4fad557e61b68586\nmsg = d7f26d5252e1765f5b\nresult = valid\ntag = 8ef647ed334fdebbc2bef80be02884e0\n\n# tcId = 22\naad = \nct = 700d35adf5100a22a1de\niv = 4c15a71dc6791a8c005ad502\nkey = 4de207a3b70c51e5f23048eed5a5da9bb65e917a69aa93e7c8b4a815cd9724de\nmsg = f2c54b6b5e490da18659\nresult = valid\ntag = 102d992ffaff599b5bddddeb2dfb399b\n\n# tcId = 23\naad = e1e27ccddb3cb407\nct = 04aad66c60e0bf8ebba9\niv = 6220527aba88e27f766658b2\nkey = 6d667fd79e5fb725f50343dccc4863227c75ee3f7a578476e3e9f32598d81559\nmsg = 0c8c5a252681f2b5b4c0\nresult = valid\ntag = c15f69a4d2aef97d7748756ff49d894b\n\n# tcId = 24\naad = \nct = 1c3d53baaa36eaa1d8ec4d\niv = ec1e2967f0f6979e5f5b07fb\nkey = 8f4bd94ef73e75d1e068c30b37ead576c5344e093ece1330e9101c82f793cf05\nmsg = b89812b34d9bced4a0ba07\nresult = valid\ntag = 4d94ebf960f12433bec43aa86d7e6e6d\n\n# tcId = 25\naad = a9bc350eaf2e6e3d\nct = 1c8578f8e75203d0336a52\niv = 28cce57a5db2cd206321e340\nkey = 2aa3bc7033351cac51364cdaf6ffac2c20f64046e1550a7b1c65f41800599019\nmsg = 83016823123484b56095b0\nresult = valid\ntag = 5910f7a9d5e4df05d7248bd7a8d65e63\n\n# tcId = 26\naad = \nct = ff7dc203b26c467a6b50db33\niv = 9a59fce26df0005e07538656\nkey = 99b62bd5afbe3fb015bde93f0abf483957a1c3eb3ca59cb50b39f7f8a9cc51be\nmsg = 42baae5978feaf5c368d14e0\nresult = valid\ntag = 578c0f2758c2e14e36d4fc106dcb29b4\n\n# tcId = 27\naad = a506e1a5c69093f9\nct = 9f8816de0994e938d9e53f95\niv = 58dbd4ad2c4ad35dd906e9ce\nkey = 85f35b6282cff440bc1020c8136ff27031110fa63ec16f1e825118b006b91257\nmsg = fdc85b94a4b2a6b759b1a0da\nresult = valid\ntag = d086fc6c9d8fa915fd8423a7cf05072f\n\n# tcId = 28\naad = \nct = e6b33a74a4ac443bd93f9c1b94\niv = b776c3fddba7c81362ce6e1b\nkey = faf4bfe8019a891c74901b17f4f48cee5cd065d55fdea60118aaf6c4319a0ea5\nmsg = 8dadff8d60c8e88f604f274833\nresult = valid\ntag = 0c115172bdb02bbad3130fff22790d60\n\n# tcId = 29\naad = 5a8e1c7aa39810d5\nct = b0a7500aca45bb15f01ece4389\niv = 6d62f159731b140eb18ce074\nkey = 841020d1606edcfc536abfb1a638a7b958e21efc10c386ac45a18493450afd5f\nmsg = d6af138f701b801e60c85ffd5c\nresult = valid\ntag = 0160e83adbec7f6a2ee2ff0215f9ef00\n\n# tcId = 30\naad = \nct = d3017e0bb1705b380b34cc333450\niv = a9ea4d619fe405d04cba7d7a\nkey = 470f9ce3d2250bd60cbbefdb2e6a1178c012299b5590639c7797b6024fa703d8\nmsg = 6ca67dd023fba6507b9f9a1f667e\nresult = valid\ntag = 5708e72ca2bd354f487f82f67fbc3acb\n\n# tcId = 31\naad = eaaaeab26957f9a1\nct = 52e9672b416d84d97033796072d0\niv = 0e23c942a0c9fb526586eead\nkey = e4b97e91e4c8e85eb7ce0a7f30bf8a0abf4468251e4c6386c0e7aacb8e879aa8\nmsg = b84b3f74cd23064bb426fe2ced2b\nresult = valid\ntag = e83839dc1fd9b8b9d1444c40e488d493\n\n# tcId = 32\naad = \nct = 0b29638e1fbdd6df53970be2210042\niv = 68ab7fdbf61901dad461d23c\nkey = 67119627bd988eda906219e08c0d0d779a07d208ce8a4fe0709af755eeec6dcb\nmsg = 51f8c1f731ea14acdb210a6d973e07\nresult = valid\ntag = 2a9134087d67a46e79178d0a93f5e1d2\n\n# tcId = 33\naad = 6453a53384632212\nct = 32db66c4a3819d81557455e5980fed\niv = d95b3243afaef714c5035b6a\nkey = e6f1118d41e4b43fb58221b7ed79673834e0d8ac5c4fa60bbc8bc4893a58894d\nmsg = 97469da667d6110f9cbda1d1a20673\nresult = valid\ntag = feae30dec94e6ad3a9eea06a0d703917\n\n# tcId = 34\naad = \nct = e9110e9f56ab3ca483500ceabab", + "67a13\niv = 2fcb1b38a99e71b84740ad9b\nkey = 59d4eafb4de0cfc7d3db99a8f54b15d7b39f0acc8da69763b019c1699f87674a\nmsg = 549b365af913f3b081131ccb6b825588\nresult = valid\ntag = 836ccabf15a6a22a51c1071cfa68fa0c\n\n# tcId = 35\naad = 034585621af8d7ff\nct = e4b113cb775945f3d3a8ae9ec141c00c\niv = 118a6964c2d3e380071f5266\nkey = b907a45075513fe8a8019edee3f2591487b2a030b03c6e1d771c862571d2ea1e\nmsg = 55a465644f5b650928cbee7c063214d6\nresult = valid\ntag = 7c43f16ce096d0dc27c95849dc383b7d\n\n# tcId = 36\naad = \nct = 02cc3acb5ee1fcdd12a03bb857976474d3\niv = 45aaa3e5d16d2d42dc03445d\nkey = 3b2458d8176e1621c0cc24c0c0e24c1e80d72f7ee9149a4b166176629616d011\nmsg = 3ff1514b1c503915918f0c0c31094a6e1f\nresult = valid\ntag = d83b7463a2c3800fe958c28eaa290813\n\n# tcId = 37\naad = 9aaf299eeea78f79\nct = 35766488d2bc7c2b8d17cbbb9abfad9e6d\niv = f0384fb876121410633d993d\nkey = f60c6a1b625725f76c7037b48fe3577fa7f7b87b1bd5a982176d182306ffb870\nmsg = 63858ca3e2ce69887b578a3c167b421c9c\nresult = valid\ntag = 1f391e657b2738dda08448cba2811ceb\n\n# tcId = 38\naad = \nct = b621d76a8dacff00b3f840cdf26c894cc5d1\niv = 37270b368f6b1e3e2ca51744\nkey = 37ceb574ccb0b701dd11369388ca27101732339f49d8d908ace4b23af0b7ce89\nmsg = f26991537257378151f4776aad28ae8bd16b\nresult = valid\ntag = e0a21716ed94c0382fa9b0903d15bb68\n\n# tcId = 39\naad = b8373438ddb2d6c3\nct = e0a745186c1a7b147f74faff2a715df5c19d\niv = bfd6ff40f2df8ca7845980cc\nkey = 68888361919bc10622f45df168e5f6a03bd8e884c0611bea2f34c1882ed9832b\nmsg = ff97f2eefb3401ac31fc8dc1590d1a92cbc1\nresult = valid\ntag = 917baf703e355d4d950e6c05fe8f349f\n\n# tcId = 40\naad = \nct = d6e0ed54fccef30bd605d72da3320e249a9cb5\niv = 2343de88be6c7196d33b8694\nkey = 1b35b856b5a86d3403d28fc2103a631d42deca5175cdb0669a5e5d90b2caafc5\nmsg = 21ef185c3ae9a96fa5eb473878f4d0b242781d\nresult = valid\ntag = c68bc6724ec803c43984ce42f6bd09ff\n\n# tcId = 41\naad = cc4efd8364fb114a\nct = 29e54d608237c3c3609dba16e6edf43842d72f\niv = 1af1d90e877e11a496efa3df\nkey = d6484e3973f6be8c83ed3208d5be5cfa06fda72fbfdc5b19d09be3f4e4eba29d\nmsg = 7335ab04b03e706109ec3ee835db9a246ea0ad\nresult = valid\ntag = d3365fdcd506aaaa5368661e80e9d99b\n\n# tcId = 42\naad = \nct = 7fe606652d858f595ec2e706754fa3d933fcc834\niv = 1e7e67be948de7352ffdb727\nkey = 422add37849d6e4c3dfd8020dc6a07e8a249788f3d6a83b9cb4d802362c97542\nmsg = d7f5e611dd3a2750fb843fc1b6b93087310dc87d\nresult = valid\ntag = 78d59235aa5d03a4c32590e590c04d22\n\n# tcId = 43\naad = 956846a209e087ed\nct = 14f707c446988a4903775ec7acec6da114d43112\niv = 376187894605a8d45e30de51\nkey = cdccfe3f46d782ef47df4e72f0c02d9c7f774def970d23486f11a57f54247f17\nmsg = e28e0e9f9d22463ac0e42639b530f42102fded75\nresult = valid\ntag = 987d4b147c490d43d376a198cab383f0\n\n# tcId = 44\naad = \nct = 1003f13ea1329cbb187316f64c3ff3a87cf5b96661\niv = f9d6320d7ce51d8ed0677d3a\nkey = e79dfc6d2fc465b8439e1c5baccb5d8ef2853899fc19753b397e6c25b35e977e\nmsg = 4f543e7938d1b878dacaeec81dce4899974816813b\nresult = valid\ntag = d2323ad625094bec84790d7958d5583f\n\n# tcId = 45\naad = 093053e20261daab\nct = 2d48b0834e9ffe3046103ef7a214f02e8e4d33360e\niv = 50ba1962cdc32a5a2d36e640\nkey = 1d7b8f1d96a1424923aef8a984869d4a777a110990ba465627acf80396c7f376\nmsg = 5d3efd5767f3c12efd08af9a44e028ae68c9eff843\nresult = valid\ntag = d533ad089be229ea606ec0f3fa22eb33\n\n# tcId = 46\naad = \nct = e9917ff3e64bbe1783579375e75ea823976b35539949\niv = c9cc0a1afc38ec6c30c38c68\nkey = dd433e28cfbcb5de4ab36a02bf38686d83208771a0e63dcd08b4df1a07ac47a1\nmsg = 8a3e17aba9606dd49e3b1a4d9e5e42f1742373632489\nresult = valid\ntag = 074a890669b25105434c75beed3248db\n\n# tcId = 47\naad = b2a4e12a19a61c75\nct = db4c700513818972b0dc0e531b1c281ca03e40c60dea\niv = 8ba77644b08d65d5e9f31942\nkey = a60924101b42ac24154a88de42142b2334cf599176caf4d1226f712dd9172930\nmsg = c949957e66439deee4b2ac1d4a6c98a6c527b90f52ab\nresult = valid\ntag = 63f4478bba2af469a7a4dc3b4f141360\n\n# tcId = 48\naad = \nct = b5f14617491fc923b683e2cc9562d043dd5986b97dbdbd\niv = 4b3dca84ecc407f424f281a9\nkey = 1aa42027836965b1e6086fa137f9cf7f1ff48676696829bd281ff81c8ea0a4a9\nmsg = 37252a3eb5c8960f0567e503a9035783b3d0a19a4b9a47\nresult = valid\ntag = 972ce54713c05c4bb4d088c0a30cacd3\n\n# tcId = 49\naad = 413036411af75745\nct = b7ca3879f95140bf6a97b3212218b7bf864a51e5bb0b3e\niv = acad618039b317470d21621b\nkey = 5d40db0cc18ef2e42815d3b6245a466a0b30a0f93e318ac10edde3bf8ad98160\nmsg = 959dde1ef3129b27702c558849e466f2baca1a45bdf4b2\nresult = valid\ntag = fe558fb570145470ea693eb76eb73171\n\n# tcId = 50\naad = \nct = 42f26c56cb4be21d9d8d0c80fc99dde00d75f38074bfe764\niv = e6b1adf2fd58a8762c65f31b\nkey = 0212a8de5007ed87b33f1a7090b6114f9e08cefd9607f2c276bdcfdbc5ce9cd7\nmsg = 10f1ecf9c60584665d9ae5efe279e7f7377eea6916d2b111\nresult = valid\ntag = 54aa7e13d48fff7d7557039457040a3a\n\n# tcId = 51\naad = 3e8bc5ade182ff08\nct = 123032437b4bfd6920e8f7e7e0087ae4889ebe7a0ad0e900\niv = 6b282ebecc541bcd7834ed55\nkey = c5bc09565646e7edda954f1f739223dada20b95c44ab033d0fae4b0283d18be3\nmsg = 9222f9018e54fd6de1200806a9ee8e4cc904d29f25cba193\nresult = valid\ntag = 3cf68f179550da63d3b96c2d55411865\n\n# tcId = 52\naad = \nct = 1d218c9f1f9f02f248a6f976a7557057f37d9393d9f213c1f3\niv = abfaf42e0dba884efcf07823\nkey = 9460b3c44ed86e70f3bda66385e1ca10b0c1677ef4f1360532830d17535f996f\nmsg = 5c5cce881b93fb7a1b7939af1ffc5f84d3280ada778cca0953\nresult = valid\ntag = bc88344c6fdc898feed394fb28511316\n\n# tcId = 53\naad = 84cdff939391c022\nct = 9715d344e8d3f3a3eaa98a9cea57c0cd717c6ef5076027c9ec\niv = 85f18ad8ff72cafee2452ab8\nkey = c111d6d5d78a071b15ab37cc8c3819199387ab7c1933aa97b1489f6584ba8e2a\nmsg = 6989c646a10b7c76f4d9f7d574da40e152013cf0dd78f5aa8a\nresult = valid\ntag = 3056ff5ee0aa8636bb639984edb5236b\n\n# tcId = 54\naad = \nct = 9089bbdb8bcfd124e227bf75c4bfe1cba2004a274fc31aa32358\niv = a6f9a8d335fa84c3b27dcd2a\nkey = 8a1b1e699a0c4a3e610b10902daedab1bf1ea0d505c47d7842cbcee0d3b1b6e6\nmsg = ee6a15fc183108f0877e7f2b8a9615f4b3fc36e1c83440f66aad\nresult = valid\ntag = fd2e21c64a019621c68594826cd7b1cd\n\n# tcId = 55\naad = 85073f2edc13d3a1\nct = 796ffb70ab43e7fa79f95583e384524727bb3e47fc45b969f714\niv = ebc19fc9ecb2339908ea3836\nkey = 74b384e6e013ec4172ed7a28a10fb9bb79b4be2a24f6999e3d3caa28e64a8656\nmsg = 3aa9f7372f056e5a0729752d9a37132d6dd07c56792e1c7582a9\nresult = valid\ntag = c3322b4445de5f3c9f18dcc847cc94c3\n\n# tcId = 56\naad = \nct = 49c81d17d67d7ba9954f497d0b0ddc21f3f839c9d2cc198d30bc2c\niv = f3307430f492d2b8a72d3a81\nkey = 77d824795d2029f0eb0e0baab5cfeb32f7e93474913a7f95c737a667a3c33314\nmsg = 0c4179a497d8fdd72796fb725692b805d63b7c718359cf10518aee\nresult = valid\ntag = 50009899e5b2a9726c8f3556cadfbe84\n\n# tcId = 57\naad = 73365f6d80edb1d8\nct = 4c129fc13cbdd9d3fe81ac755bf4fbea2fdd7e0aca0505a6ee9637\niv = 342ada4f0c115124b222df80\nkey = bec5eac68f893951cbd7d1ecd3ee6611130dd9c3f80cddf95111d07d5edd76d1\nmsg = 481433d8b1cd38af4a750e13a64b7a4e8507682b3517595938a20e\nresult = valid\ntag = 9cede1d30a03db5d55265d3648bc40d4\n\n# tcId = 58\naad = \nct = a6fa8f57ddc81d6099f667dd62402b6a5d5b7d05a329298029113169\niv = 9544d41ece0c92ef01cfac2d\nkey = a59c1e13064df8f2b8df77a492b0ca2eae921b52a84b305a3a9a51408a9ecb69\nmsg = 1c35b898821ba55c2617c25df9e6df2a8002b384902186cd69dfd20e\nresult = valid\ntag = bb24e38b31dbbc3e575b9e3ee076af2a\n\n# tcId = 59\naad = 770f6e6e89a3fe8e\nct = fd42cb5cf894f879e3cf751662aaa58a2288cc53548802becaf42359\niv = 829f005e980f0a6e2f983eaa\nkey = 084b5d7365f1a8fec6365939ed741e6ea5893e0318d82ab47500a97d77aaa041\nmsg = 7510016efadc385a71ed689ceb590c8ea9cc1e81b793338bddf5f10c\nresult = valid\ntag = 188329438afe1cd7225d0478aa90c773\n\n# tcId = 60\naad = \nct = 402302b56140c4dcc39774732c55883de124ce4bf0a0261cfa1569e2cf\niv = 4946a0d6adea93b82d4332e5\nkey = 5a7f850a1d9aafa77d59ae1b731965e8aaec6352280fc76a7b5e23ef3610cfe4\nmsg = 3c161d791f624fb0388e808f0f69ed790dbe4cbd089ebac46627bcf01d\nresult = valid\ntag = e830bfe933a96786cff2dd72b82c4bd5\n\n# tcId = 61\naad = f2415377ad283fd8\nct = d052932bad6e6c4f835f02019e52d7ff807dc2a5aac2040883c79dd3d5\niv = 2f90a65e9e48725de6ffc727\nkey = e6d5a4246f6f05618b59c8f9ec3ac8068cc0d3f351c571aa52b09cb251f9c2f6\nmsg = 964fc9e0e8355947aa1c2caadd7b3dbef82a1024e623606fac436ef573\nresult = valid\ntag = 655f93396b4d755dc4475721665fed91\n\n# tcId = 62\naad = \nct = 83f5c77396cabd28dfcc002cba0756d4ea5455e0261d847d5708aac21e8d\niv = a797205a6cacdd7e47a4789d\nkey = 09e822123adbb1ed89b79a58619c64853992f8371d46338712f6c91ab11a68bb\nmsg = 80b71bbe833629841bd3aeaeb9db6123e51d367b436", + "fe9d2d3454b62cfad\nresult = valid\ntag = 705a05820a21f381d244d40e58d2f16b\n\n# tcId = 63\naad = 200a9c95946ff05c\nct = 209b7539385c8b19ecd0fd8b5011b2996e316f1942064e68edfa363acbcd\niv = 9d8cdf289dddd09afdc1b02f\nkey = 625735fe7f8fc81b0c1edc3d08a78b41268f87a3c68488b674222630c1d587a5\nmsg = 67ae1882d0b1c1b2485bec98115ecf53b9b438deb1d0400531705038873a\nresult = valid\ntag = fa2f454b9fa2608f780f7c6f9b780fe1\n\n# tcId = 64\naad = \nct = 45c7d6b53acad4abb68876a6e96a48fb59524d2c92c9d8a189c9fd2db91746\niv = 04a9be03508a5f31371a6fd2\nkey = 2eb51c469aa8eb9e6c54a8349bae50a20f0e382711bba1152c424f03b6671d71\nmsg = b053999286a2824f42cc8c203ab24e2c97a685adcc2ad32662558e55a5c729\nresult = valid\ntag = 566d3ca10e311b695f3eae1551652493\n\n# tcId = 65\naad = 374618a06ea98a48\nct = 46a80c4187024720084627580080dde5a3f4a11093a7076ed6f3d326bc7b70\niv = 470a339ecb3219b8b81a1f8b\nkey = 7f5b74c07ed1b40fd14358fe2ff2a740c116c7706510e6a437f19ea49911cec4\nmsg = f45206abc25552b2abc9ab7fa243035fedaaddc3b2293956f1ea6e7156e7eb\nresult = valid\ntag = 534d4aa2835a52e72d14df0e4f47f25f\n\n# tcId = 66\naad = \nct = ea29afa49d36e8760f5fe19723b9811ed5d519934a440f5081ac430b953b0e21\niv = 72cfd90ef3026ca22b7e6e6a\nkey = e1731d5854e1b70cb3ffe8b786a2b3ebf0994370954757b9dc8c7bc5354634a3\nmsg = b9c554cbc36ac18ae897df7beecac1dbeb4eafa156bb60ce2e5d48f05715e678\nresult = valid\ntag = 222541af46b86533c6b68d2ff108a7ea\n\n# tcId = 67\naad = 2333e5ce0f93b059\nct = 6dad637897544d8bf6be9507ed4d1bb2e954bc427e5de729daf50762846ff2f4\niv = 262880d475f3dac5340dd1b8\nkey = 27d860631b0485a410702fea61bc873f3442260caded4abde25b786a2d97f145\nmsg = 6b2604996cd30c14a13a5257ed6cffd3bc5e29d6b97eb1799eb335e281ea451e\nresult = valid\ntag = 7b997d93c982189d7095dc794c746232\n\n# tcId = 68\naad = \nct = f5982b601c7a18fc72a65b218c44974dc564d8314cbe6f87fcf6c6cfbe618b34b1\niv = c26c4b3bfdb97ee6b0f63ca1\nkey = 5155dee9aade1cc61ee7e3f92660f7590f5e5ba82f1b59b850e3fa453d2fa6b3\nmsg = 2734e08eff8f5c4f84fa0c207f49c7fd78af1ad5123ff81f83f500edf4eda09edf\nresult = valid\ntag = c43632f55760b5d1ed37556a94d049b5\n\n# tcId = 69\naad = e99698241c599b5f\nct = eaf6810e6ec1cb7a2918856257d1aa3d51a827879146c6337ecf535e9c89b149c5\niv = ad8050dc6d122dce3e5639ed\nkey = 573f08ebbe0cce4ac9618e8c3b224bea0a32f055c6996838a32f527ca3c3b695\nmsg = 668d5e3f95fe030daf432a5fc5837af3a79c81e94b28d8204c5ee262ab3c9908a7\nresult = valid\ntag = a2950c2f394a3466c345f796323c1aa7\n\n# tcId = 70\naad = \nct = fba78ae4f9d808a62e3da40be2cb7700c3613d9eb2c529c652e76a432c658d27095f0eb8f940c324981ea935e507f9\niv = e74a515e7e2102b90bef55d2\nkey = cf0d40a4644e5f51815165d5301b22631f4544c49a1878e3a0a5e8e1aae0f264\nmsg = 973d0c753826bae466cf9abb3493152e9de7819e2bd0c71171346b4d2cebf8041aa3cedc0dfd7b467e26228bc86c9a\nresult = valid\ntag = 8f046956db3a512908bd7afc8f2ab0a9\n\n# tcId = 71\naad = b3e4064683b02d84\nct = a1ffed80761829ecce242e0e88b138049016bca018da2b6e19986b3e318cae8d806198fb4c527cc39350ebddeac573\niv = d4d807341683825b31cd4d95\nkey = 6cbfd71c645d184cf5d23c402bdb0d25ec54898c8a0273d42eb5be109fdcb2ac\nmsg = a98995504df16f748bfb7785ff91eeb3b660ea9ed3450c3d5e7b0e79ef653659a9978d75542ef91c456762215640b9\nresult = valid\ntag = c4cbf0befda0b70242c640d7cd02d7a3\n\n# tcId = 72\naad = \nct = 9a4ef22b181677b5755c08f747c0f8d8e8d4c18a9cc2405c12bb51bb1872c8e8b877678bec442cfcbb0ff464a64b74332cf072898c7e0eddf6232ea6e27efe50\niv = d61040a313ed492823cc065b\nkey = 5b1d1035c0b17ee0b0444767f80a25b8c1b741f4b50a4d3052226baa1c6fb701\nmsg = d096803181beef9e008ff85d5ddc38ddacf0f09ee5f7e07f1e4079cb64d0dc8f5e6711cd4921a7887de76e2678fdc67618f1185586bfea9d4c685d50e4bb9a82\nresult = valid\ntag = 9ff3427a0f32fa566d9ca0a78aefc013\n\n# tcId = 73\naad = 7193f623663321a2\nct = 5fbbdecc34be201614f636031eeb42f1cace3c79a12cffd871ee8e73820c829749f1abb4294367849fb6c2aa56bda8a3078f723d7c1c852024b017b58973fb1e\niv = d31c21aba175b70de4ebb19c\nkey = 97d635c4f47574d9998a90875da1d3a284b755b2d39297a5725235190e10a97e\nmsg = 94ee166d6d6ecf8832437136b4ae805d428864359586d9193a25016293edba443c58e07e7b7195ec5bd84582a9d56c8d4a108c7d7ce34e6c6f8ea1bec0567317\nresult = valid\ntag = 09263da7b4cb921452f97dca40f580ec\n\n# tcId = 74\naad = \nct = d0102f6c258bf49742cec34cf2d0fedf23d105fb4c84cf98515e1bc9a64f8ad5be8f0721bde50645d00083c3a263a31053b760245f52ae2866a5ec83b19f61be1d30d5c5d9fecc4cbbe08fd385813a2aa39a00ff9c10f7f23702add1e4b2ffa31c\niv = 17c86a8abbb7e003acde2799\nkey = fe6e55bdaed1f7284ca5fc0f8c5f2b8df56dc0f49e8ca66a41995e783351f901\nmsg = b429eb80fb8fe8baeda0c85b9c333458e7c2992e558475069d12d45c22217564121588032297eff56783742a5fc22d7410ffb29d66098661d76f126c3c27689e43b37267cac5a3a6d3ab49e391da29cd3054a5692e2807e4c3ea46c8761d50f592\nresult = valid\ntag = 41865fc71de12b19612127ce49993bb0\n\n# tcId = 75\naad = a11c40b603767330\nct = 7545391b51de01d5c53dfaca777909063e58edee4bb1227e7110ac4d2620c2aec2f848f56deeb037a8dced75afa8a6c890e2dee42f950bb33d9e2424d08a505d899563973ed38870f3de6ee2adc7fe072c366c14e2cf7ca62fb3d36bee11685461\niv = 46362f45d6379e63e5229460\nkey = aabc063474e65c4c3e9bdc480dea97b45110c8618846ff6b15bdd2a4a5682c4e\nmsg = ceb534ce50dc23ff638ace3ef63ab2cc2973eeada80785fc165d06c2f5100ff5e8ab2882c475afcd05ccd49f2e7d8f55ef3a72e3dc51d6852b8e6b9e7aece57be6556b0b6d9413e33fc5fc24a9a205ad59574bb39d944a92dc47970d84a6ad3176\nresult = valid\ntag = b70d44ef8c66c5c7bbf10dcadd7facf6\n\n# tcId = 76\naad = \nct = 294a764c03353f5f4f6e93cd7e977480d6c343071db0b7c1f0db1e95b85e6053f0423168a9c7533268db9a194e7665359d14489bc47172a9f21370e89b0bd0e5ef9661738de282572bcc3e541247626e57e75dec0f91ac5c530bd1a53271842996dcd04d865321b1ecb6e7630114fe780291b8dc3e5d0abc8e65b1c5493e9af0\niv = 8a3ad26b28cd13ba6504e260\nkey = d7addd3889fadf8c893eee14ba2b7ea5bf56b449904869615bd05d5f114cf377\nmsg = c877a76bf595560772167c6e3bcc705305db9c6fcbeb90f4fea85116038bc53c3fa5b4b4ea0de5cc534fbe1cf9ae44824c6c2c0a5c885bd8c3cdc906f12675737e434b983e1e231a52a275db5fb1a0cac6a07b3b7dcb19482a5d3b06a9317a54826cea6b36fce452fa9b5475e2aaf25499499d8a8932a19eb987c903bd8502fe\nresult = valid\ntag = f2b974ca0f14fb9f92014bff18573cff\n\n# tcId = 77\naad = 0587af8530ad0547\nct = 2b90b4f3de280c44913d1984bdd5dfa0566c6a14a058659a9b623277b0bb6e82101e79395d12e643f62d9a822bae497907493e4f8213fcf99da8a78fdf867af36bc8b0931c1886b4f0ae5729986494dbd59737e956cd8f226c7c522689d082f023894d54acab0c4d609f3746a67369bb8876008f7fd3dc6681c5fb9d728c5911\niv = 903188433c1ce8971aa19b9d\nkey = 80be86fb6fc49bc73428cab576f6ad72ff6aca04001b8b1c57a7128be73900aa\nmsg = 67ce499cd8ed68bd717dfe61c60f27d260b1c163a72e8cc8597253d3d987c2dbe1bff2e44d9bd4765d3e53d9c3f8eb3b90e751f47c7157bdc1142bc33f5833ac1cd1262cbb239066b334a4ed99ae82c74f2b49540f1a614bc239d8fc5add8c178184e41281f6e66c5c3117fd953547f7c829425b5082aa69686847eaf5784692\nresult = valid\ntag = f005ebe1c1ada75a9cee8d630881d5b8\n\n# tcId = 78\naad = 02\nct = 7e72f5a185af16a611921b438f749f0b\niv = 87345f1055fd9e2102d50656\nkey = 7d00b48095adfa3272050607b264185002ba99957c498be022770f2ce2f3143c\nmsg = e5ccaa441bc814688f8f6e8f28b500b2\nresult = valid\ntag = 1242c670732334029adfe1c5001651e4\n\n# tcId = 79\naad = b648\nct = 85f29a719557cdd14d1f8fffab6d9e60\niv = 87a3163ec0598ad95b3aa713\nkey = 6432717f1db85e41ac7836bce25185a080d5762b9e2b18444b6ec72c3bd8e4dc\nmsg = 02cde168fba3f544bbd0332f7adeada8\nresult = valid\ntag = 732ca32becd515a1ed353f542e999858\n\n# tcId = 80\naad = 8b71ac\nct = d46e8265a8c6a25393dd956bb44397ad\niv = 25b7bdf4a6dcbf7c9a3ec2b3\nkey = 7afa0f59dfcb5ad3a76490c5c804327c8d052be737a60fa8bcbf0a2c36630a43\nmsg = 623e6ba6d3166a338bfcc7af90a230c8\nresult = valid\ntag = e28f3ad9e3ef4a3d94ee07bf538eaafb\n\n# tcId = 81\naad = 3a5ddf40\nct = 2d3cb2d9303491e264f2904f0e0753f4\niv = 6fb0d1417cdfff4df37db08c\nkey = 2ec25b0ec7ac244224e9c7fc2fa5d3ef17809e19fd6e954158dd0d72738a4cc8\nmsg = a1c933768a6d573ebf68a99e5e18dae8\nresult = valid\ntag = 6c1db959362d217b2322b466536bfea0\n\n# tcId = 82\naad = 9eec540bb0\nct = a988c03c71b956ff086d0470d706bd34\niv = 2538fc67afb9eab333f83290\nkey = 0a2cf52371cf9d9f95b10108fc82b4fd6110a8ba9a88a26083685ad29826891a\nmsg = 0d8c691d044a3978d790432dc71d69f8\nresult = valid\ntag = b35d7cbf2beb894b0c746e0730429e15\n\n# tcId = 83\naad = 56e014d97c74\nct = 32bf95d4c195dbaf58d9af4001c6e57d\niv = a071be999151e2a1c41c81e9\nkey = 307e886b38bb18b445f8a2c6d6f8932492a9cea8d041ba72eb5efdfa70d0b8d2\nmsg = 9aba22b495cb7ec887ddaa62019aa14d\nresult = valid\ntag = 4393808703d67a90870578046cd8b525\n\n# tcId = 84\naad = bb5a3812f0aefd\nct = 2a2", + "07ca7e9da6b13a229604304d87eb1\niv = 3fa378a1befdddd61ae68cf4\nkey = dacd51a8a8e4d5905b4cbb947ef4013eb296889353f3c9ee35f5577b26737a51\nmsg = e148313883a77da121124d06b1c77dca\nresult = valid\ntag = 8a6b6afec87d93ec6e8dbe13d84c0f8c\n\n# tcId = 85\naad = f94bb92c1c668a695b\nct = 548a5ca0ae49211cdf30bbdcb1352d31\niv = aa077a5ce9161bde8d8edc40\nkey = 7b5fbbb202c16108fd13066446853a850d8b34e9da40519580da446a922f9162\nmsg = da471cd6935a0ca8307ddedc6b959962\nresult = valid\ntag = 204dacb98f8c8908cc5ea22bb23f901f\n\n# tcId = 86\naad = 2155627ec15a978fbcb2\nct = 28cedac24f14caa326c7fe401f68a87c\niv = 598114e8cf7fbdea8ad29683\nkey = 1ffd101eb97531f6faa821ec4d5c5702725dd033d3b830bb760c4ef27ba983df\nmsg = 28668ca8db535c7e8eb27491ad0fb7cb\nresult = valid\ntag = 2bf1b2c43d3039f8f5ce359c1102f879\n\n# tcId = 87\naad = 37ad668d4d4fe889949763\nct = 7256e856872ad3a54b34a2a6bdca8838\niv = 9acd213570ce9bb9d886c6ef\nkey = d2d0a973d5951af352cbee57ac9dab1c284c99af3b992ce015f219506f64888d\nmsg = 3f3f0076250352e1b6b5c12cfa12625e\nresult = valid\ntag = 3b12e4586e45223f78a6eea811efb863\n\n# tcId = 88\naad = b334375415f6215c0bf89a9a\nct = 852c141b4239a31feeda03550d70a2be\niv = 9183cdf3a8ba7397b6b2d5d5\nkey = adcc520b381382237d05a6400a7dfbcd0771b6aa9edb7966131ddef6af21f1be\nmsg = 958295619cf1b36f0b474663c0bc79eb\nresult = valid\ntag = 5fc59287b92d3fcf7d66f13defb11b0d\n\n# tcId = 89\naad = 2866afff0bcc6135dc63af88c8\nct = 89d6d089c4a255952aca11b24a01ff95\niv = 412c3e13ee1f7864bd15ce39\nkey = bd534f7adeca466844fb3ba34658be807f15c5291ed6026860a24f179b712c89\nmsg = d92f8ce5d8d0ad2eb5f11af02ef63949\nresult = valid\ntag = f88fa4531204da315e7317970240ce9e\n\n# tcId = 90\naad = ea2575f123268e936c8e4c8c1bb8\nct = 01ffb343c757b27843d8a900a36ce39d\niv = 9be090dba93deff27adf99ee\nkey = 910ade7d324d2c9688439e1f142e0e5f9d130ff832e507fe1985e5a26452a6d0\nmsg = 6e356094ed9d9a7053c7906c48ba3d9f\nresult = valid\ntag = a315541b7d6313c6fddf64b303d71d60\n\n# tcId = 91\naad = bd4cd02fc7502bbdbdf6c9a3cbe8f0\nct = c1b295936d56fadac03e5f742bff73a1\niv = 6f573aa86baa492ba46596df\nkey = 8e34cf73d245a1082a920b86364eb896c4946467bcb3d58929fcb36690e6394f\nmsg = 16ddd23ff53f3d23c06334487040eb47\nresult = valid\ntag = 39c457dbab66382babb3b55800cda5b8\n\n# tcId = 92\naad = 89cce9fb47441d07e0245a66fe8b778b\nct = c84c9bb7c61c1bcb17772a1c500c5095\niv = 1a6518f02ede1da6809266d9\nkey = cb5575f5c7c45c91cf320b139fb594237560d0a3e6f865a67d4f633f2c08f016\nmsg = 623b7850c321e2cf0c6fbcc8dfd1aff2\nresult = valid\ntag = dbadf7a5138ca03459a2cd65831e092f\n\n# tcId = 93\naad = d19f2d989095f7ab03a5fde84416e00c0e\nct = 94bc80621ed1e71b1fd2b5c3a15e3568\niv = 564dee49ab00d240fc1068c3\nkey = a5569e729a69b24ba6e0ff15c4627897436824c941e9d00b2e93fddc4ba77657\nmsg = 87b3a4d7b26d8d3203a0de1d64ef82e3\nresult = valid\ntag = 333511861796978401598b963722f5b3\n\n# tcId = 94\naad = 5e6470facd99c1d81e37cd44015fe19480a2a4d3352a4ff560c0640fdbda\nct = 299b5d3f3d03c087209a16e285143111\niv = df8713e87ec3dbcfad14d53e\nkey = 56207465b4e48e6d04630f4a42f35cfc163ab289c22a2b4784f6f9290330bee0\nmsg = e601b38557797da2f8a4106a089d1da6\nresult = valid\ntag = 4b454ed198de117e83ec49fa8d8508d6\n\n# tcId = 95\naad = e0100eb116cdc5e22a3b9f9b4126c149595e75107f6e237c69e82960052270\nct = 1e9687b35fbc8eaa1825ed3847798f76\niv = 28adcbc74364f26dd4b3108b\nkey = 077433022ab34d380fc192fc24c2edc6301fec6f24442f572a1087ff2e05b39a\nmsg = 03c874eeaaa6fa9f0da62c758fb0ad04\nresult = valid\ntag = 0788bf70fd04030ecd1c96d0bc1fcd5d\n\n# tcId = 96\naad = ba446f6f9a0ced22450feb10737d9007fd69abc19b1d4d9049a5551e86ec2b37\nct = 605bbf90aeb974f6602bc778056f0dca\niv = 8df4b15a888c33286a7b7651\nkey = 3937986af86dafc1ba0c4672d8abc46c207062682d9c264ab06d6c5807205130\nmsg = dc9e9eaf11e314182df6a4eba17aec9c\nresult = valid\ntag = 38ea23d99054b46b42ffe004129d2204\n\n# tcId = 97\naad = d41a828d5e71829247021905402ea257dccbc3b80fcd5675056b68bb59e62e8873\nct = 7b7ce0d824809a70de32562ccf2c2bbd\niv = be40e5f1a11817a0a8fa8949\nkey = 36372abcdb78e0279646ac3d176b9674e9154eecf0d5469c651ec7e16b4c1199\nmsg = 81ce84ede9b35859cc8c49a8f6be7dc6\nresult = valid\ntag = 15d44a00ce0d19b4231f921e22bc0a43\n\n# tcId = 98\naad = 3f2dd49bbf09d69a78a3d80ea2566614fc379474196c1aae84583da73d7ff85c6f42ca42056a9792cc1b9fb3c7d261\nct = ca82bff3e2f310ccc976672c4415e69b\niv = 84c87dae4eee27730ec35d12\nkey = 9f1479ed097d7fe529c11f2f5add9aaff4a1ca0b68997a2cb7f79749bd90aaf4\nmsg = a66747c89e857af3a18e2c79500087ed\nresult = valid\ntag = 57638c62a5d85ded774f913c813ea032\n\n# tcId = 99\naad = 00000000000000000000000000000000\nct = 0000000000000000000000000000000000000000000000000000000000000000\niv = 000102030405060708090a0b\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 65b63bf074b7283992e24b1ac0df0d22b555dbe2254d94a43f1de748d3cc6f0d\nresult = valid\ntag = 39f4fce3026d83789ffd1ee6f2cd7c4f\n\n# tcId = 100\naad = 00000000000000000000000000000000\nct = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\niv = 000102030405060708090a0b\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 65b63bf074b7283992e24b1ac0df0d22b555dbe2254d94a43f1de748d3cc6f0d20c142fe898fbbe668d4324394434c1b18b58ead710aed9c31db1f2a8a1f1bb2\nresult = valid\ntag = f5eaa804605c3a4785f9d7f13b6f67d6\n\n# tcId = 101\naad = 00000000000000000000000000000000\nct = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\niv = 000102030405060708090a0b\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 65b63bf074b7283992e24b1ac0df0d22b555dbe2254d94a43f1de748d3cc6f0d20c142fe898fbbe668d4324394434c1b18b58ead710aed9c31db1f2a8a1f1bb24405c183af94ee1ad630cd931158a6213d48c8fff10d0a1f9ef760188e658802aad55e41a1d99069a18db55c56af7c10a6f21ecc8af9b7ce0a7ea0b67426e925\nresult = valid\ntag = 9b5c43a78d954e8a3c659eebc13d5d55\n\n# tcId = 102\naad = ffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000102030405060708090a0b\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 9a49c40f8b48d7c66d1db4e53f20f2dd4aaa241ddab26b5bc0e218b72c3390f2\nresult = valid\ntag = 37e3399d9ca696799f08f4f72bc0cdd8\n\n# tcId = 103\naad = ffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000102030405060708090a0b\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 9a49c40f8b48d7c66d1db4e53f20f2dd4aaa241ddab26b5bc0e218b72c3390f2df3ebd0176704419972bcdbc6bbcb3e4e74a71528ef51263ce24e0d575e0e44d\nresult = valid\ntag = 3d52710bec86d4ea9fea2ff269549191\n\n# tcId = 104\naad = ffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000102030405060708090a0b\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 9a49c40f8b48d7c66d1db4e53f20f2dd4aaa241ddab26b5bc0e218b72c3390f2df3ebd0176704419972bcdbc6bbcb3e4e74a71528ef51263ce24e0d575e0e44dbbfa3e7c506b11e529cf326ceea759dec2b737000ef2f5e061089fe7719a77fd552aa1be5e266f965e724aa3a95083ef590de13375064831f5815f498bd916da\nresult = valid\ntag = 51356329e280b12d55d3d98f0a580cbe\n\n# tcId = 105\naad = 00000080000000800000008000000080\nct = 0000008000000080000000800000008000000080000000800000008000000080\niv = 000102030405060708090a0b\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 65b63b7074b728b992e24b9ac0df0da2b555db62254d94243f1de7c8d3cc6f8d\nresult = valid\ntag = c152a4b90c548c71dc479edeaf9211bf\n\n# tcId = 106\naad = 00000080000000800000008000000080\nct = 00000080000000800000008000000080000000800000008000000080000000800000008000000080000000800000008000000080000000800000008000000080\niv = 000102030405060708090a0b\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 65b63b7074b728b992e24b9ac0df0da2b555db62254d94243f1de7c8d3cc6f8d20c1427e898fbb6668d432c394434c9b18b5", + "8e2d710aed1c31db1faa8a1f1b32\nresult = valid\ntag = 40ef6383052d91c2e4b4611b0e32c5ff\n\n# tcId = 107\naad = 00000080000000800000008000000080\nct = 0000008000000080000000800000008000000080000000800000008000000080000000800000008000000080000000800000008000000080000000800000008000000080000000800000008000000080000000800000008000000080000000800000008000000080000000800000008000000080000000800000008000000080\niv = 000102030405060708090a0b\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 65b63b7074b728b992e24b9ac0df0da2b555db62254d94243f1de7c8d3cc6f8d20c1427e898fbb6668d432c394434c9b18b58e2d710aed1c31db1faa8a1f1b324405c103af94ee9ad630cd131158a6a13d48c87ff10d0a9f9ef760988e658882aad55ec1a1d990e9a18db5dc56af7c90a6f21e4c8af9b74e0a7ea0367426e9a5\nresult = valid\ntag = ae9b542541e84fc74542eed6be638fee\n\n# tcId = 108\naad = 80000000800000008000000080000000\nct = 8000000080000000800000008000000080000000800000008000000080000000\niv = 000102030405060708090a0b\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = e5b63bf0f4b7283912e24b1a40df0d223555dbe2a54d94a4bf1de74853cc6f0d\nresult = valid\ntag = 10fee3ecfba9cdf797bae37a626ec83b\n\n# tcId = 109\naad = 80000000800000008000000080000000\nct = 80000000800000008000000080000000800000008000000080000000800000008000000080000000800000008000000080000000800000008000000080000000\niv = 000102030405060708090a0b\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = e5b63bf0f4b7283912e24b1a40df0d223555dbe2a54d94a4bf1de74853cc6f0da0c142fe098fbbe6e8d4324314434c1b98b58eadf10aed9cb1db1f2a0a1f1bb2\nresult = valid\ntag = 7490795bdbbbf5d0aecb9a4f65aa379f\n\n# tcId = 110\naad = 80000000800000008000000080000000\nct = 8000000080000000800000008000000080000000800000008000000080000000800000008000000080000000800000008000000080000000800000008000000080000000800000008000000080000000800000008000000080000000800000008000000080000000800000008000000080000000800000008000000080000000\niv = 000102030405060708090a0b\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = e5b63bf0f4b7283912e24b1a40df0d223555dbe2a54d94a4bf1de74853cc6f0da0c142fe098fbbe6e8d4324314434c1b98b58eadf10aed9cb1db1f2a0a1f1bb2c405c1832f94ee1a5630cd939158a621bd48c8ff710d0a1f1ef760180e6588022ad55e4121d99069218db55cd6af7c1026f21ecc0af9b7ce8a7ea0b6f426e925\nresult = valid\ntag = 1d1096a8ca9e2bda2762c41d5b16f62f\n\n# tcId = 111\naad = ffffff7fffffff7fffffff7fffffff7f\nct = ffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7f\niv = 000102030405060708090a0b\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 9a49c48f8b48d7466d1db4653f20f25d4aaa249ddab26bdbc0e218372c339072\nresult = valid\ntag = af8492c792bf8d8062be74ff6efb3869\n\n# tcId = 112\naad = ffffff7fffffff7fffffff7fffffff7f\nct = ffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7f\niv = 000102030405060708090a0b\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 9a49c48f8b48d7466d1db4653f20f25d4aaa249ddab26bdbc0e218372c339072df3ebd8176704499972bcd3c6bbcb364e74a71d28ef512e3ce24e05575e0e4cd\nresult = valid\ntag = f24db68c46b67d6f402fa6c897913368\n\n# tcId = 113\naad = ffffff7fffffff7fffffff7fffffff7f\nct = ffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7f\niv = 000102030405060708090a0b\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 9a49c48f8b48d7466d1db4653f20f25d4aaa249ddab26bdbc0e218372c339072df3ebd8176704499972bcd3c6bbcb364e74a71d28ef512e3ce24e05575e0e4cdbbfa3efc506b116529cf32eceea7595ec2b737800ef2f56061089f67719a777d552aa13e5e266f165e724a23a950836f590de1b3750648b1f5815fc98bd9165a\nresult = valid\ntag = 43f651ab2e2eb0f04bf689a40d32da24\n\n# tcId = 114\naad = 7fffffff7fffffff7fffffff7fffffff\nct = 7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff\niv = 000102030405060708090a0b\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 1a49c40f0b48d7c6ed1db4e5bf20f2ddcaaa241d5ab26b5b40e218b7ac3390f2\nresult = valid\ntag = 60d95294a3694cfaa64b2f63bc1f82ec\n\n# tcId = 115\naad = 7fffffff7fffffff7fffffff7fffffff\nct = 7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff\niv = 000102030405060708090a0b\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 1a49c40f0b48d7c6ed1db4e5bf20f2ddcaaa241d5ab26b5b40e218b7ac3390f25f3ebd01f6704419172bcdbcebbcb3e4674a71520ef512634e24e0d5f5e0e44d\nresult = valid\ntag = beaca0b47027196176186d944019c1c8\n\n# tcId = 116\naad = 7fffffff7fffffff7fffffff7fffffff\nct = 7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff\niv = 000102030405060708090a0b\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 1a49c40f0b48d7c6ed1db4e5bf20f2ddcaaa241d5ab26b5b40e218b7ac3390f25f3ebd01f6704419172bcdbcebbcb3e4674a71520ef512634e24e0d5f5e0e44d3bfa3e7cd06b11e5a9cf326c6ea759de42b737008ef2f5e0e1089fe7f19a77fdd52aa1bede266f96de724aa3295083efd90de133f506483175815f490bd916da\nresult = valid\ntag = d4811028a577d4dd69d6b35d717f73e3\n\n# tcId = 117\naad = 00000000ffffffff00000000ffffffff\nct = 00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff\niv = 000102030405060708090a0b\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 65b63bf08b48d7c692e24b1a3f20f2ddb555dbe2dab26b5b3f1de7482c3390f2\nresult = valid\ntag = 10fb61272b555bee104f5a71818716d6\n\n# tcId = 118\naad = 00000000ffffffff00000000ffffffff\nct = 00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff\niv = 000102030405060708090a0b\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 65b63bf08b48d7c692e24b1a3f20f2ddb555dbe2dab26b5b3f1de7482c3390f220c142fe7670441968d432436bbcb3e418b58ead8ef5126331db1f2a75e0e44d\nresult = valid\ntag = 4756764e59583504182877d8c33120f0\n\n# tcId = 119\naad = 00000000ffffffff00000000ffffffff\nct = 00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff\niv = 000102030405060708090a0b\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 65b63bf08b48d7c692e24b1a3f20f2ddb555dbe2dab26b5b3f1de7482c3390f220c142fe7670441968d432436bbcb3e418b58ead8ef5126331db1f2a75e0e44d4405c183506b11e5d630cd93eea759de3d48c8ff0ef2f5e09ef76018719a77fdaad55e415e266f96a18db55ca95083efa6f21ecc750648310a7ea0b68bd916da\nresult = valid\ntag = 95a2b12a4a280089d4bd4f904253e754\n\n# tcId = 120\naad = ffffffff00000000ffffffff00000000\nct = ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000\niv = 000102030405060708090a0b\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 9a49c40f74b728396d1db4e5c0df0d224aaa241d254d94a4c0e218b7d3cc6f0d\nresult = valid\ntag = 60dcd45974bebe032eb7b86c9d063452\n\n# tcId = 121\naad = ffffffff00000000ffffffff00000000\nct = ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000\niv = 000102030405060708090a0b\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 9a49c40f74b728396d1db4e5c0df0d224aaa241d254d94a4c0e218b7d3cc6f0ddf3ebd01898fbbe6972bcdbc94434c1be74a7152710aed9cce24e0d58a1f1bb2\nresult = valid\ntag = f0e6a3c1f28ad92d0dbc900be291d877\n\n# tcId = 122\naad = ffffffff00000000ffffffff00000000\nct = ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000", + "\niv = 000102030405060708090a0b\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 9a49c40f74b728396d1db4e5c0df0d224aaa241d254d94a4c0e218b7d3cc6f0ddf3ebd01898fbbe6972bcdbc94434c1be74a7152710aed9cce24e0d58a1f1bb2bbfa3e7caf94ee1a29cf326c1158a621c2b73700f10d0a1f61089fe78e658802552aa1bea1d990695e724aa356af7c10590de1338af9b7cef5815f497426e925\nresult = valid\ntag = 57eff4a525eeff2ebd7a28eb894282be\n\n# tcId = 123\n# Flipped bit 0 in tag expected tag:f4409bb729039d0814ac514054323f44\naad = 000102\nct = \niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = f5409bb729039d0814ac514054323f44\n\n# tcId = 124\n# Flipped bit 1 in tag expected tag:f4409bb729039d0814ac514054323f44\naad = 000102\nct = \niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = f6409bb729039d0814ac514054323f44\n\n# tcId = 125\n# Flipped bit 7 in tag expected tag:f4409bb729039d0814ac514054323f44\naad = 000102\nct = \niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = 74409bb729039d0814ac514054323f44\n\n# tcId = 126\n# Flipped bit 8 in tag expected tag:f4409bb729039d0814ac514054323f44\naad = 000102\nct = \niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = f4419bb729039d0814ac514054323f44\n\n# tcId = 127\n# Flipped bit 31 in tag expected tag:f4409bb729039d0814ac514054323f44\naad = 000102\nct = \niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = f4409b3729039d0814ac514054323f44\n\n# tcId = 128\n# Flipped bit 32 in tag expected tag:f4409bb729039d0814ac514054323f44\naad = 000102\nct = \niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = f4409bb728039d0814ac514054323f44\n\n# tcId = 129\n# Flipped bit 33 in tag expected tag:f4409bb729039d0814ac514054323f44\naad = 000102\nct = \niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = f4409bb72b039d0814ac514054323f44\n\n# tcId = 130\n# Flipped bit 63 in tag expected tag:f4409bb729039d0814ac514054323f44\naad = 000102\nct = \niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = f4409bb729039d8814ac514054323f44\n\n# tcId = 131\n# Flipped bit 64 in tag expected tag:f4409bb729039d0814ac514054323f44\naad = 000102\nct = \niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = f4409bb729039d0815ac514054323f44\n\n# tcId = 132\n# Flipped bit 77 in tag expected tag:f4409bb729039d0814ac514054323f44\naad = 000102\nct = \niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = f4409bb729039d08148c514054323f44\n\n# tcId = 133\n# Flipped bit 80 in tag expected tag:f4409bb729039d0814ac514054323f44\naad = 000102\nct = \niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = f4409bb729039d0814ac504054323f44\n\n# tcId = 134\n# Flipped bit 96 in tag expected tag:f4409bb729039d0814ac514054323f44\naad = 000102\nct = \niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = f4409bb729039d0814ac514055323f44\n\n# tcId = 135\n# Flipped bit 97 in tag expected tag:f4409bb729039d0814ac514054323f44\naad = 000102\nct = \niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = f4409bb729039d0814ac514056323f44\n\n# tcId = 136\n# Flipped bit 120 in tag expected tag:f4409bb729039d0814ac514054323f44\naad = 000102\nct = \niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = f4409bb729039d0814ac514054323f45\n\n# tcId = 137\n# Flipped bit 121 in tag expected tag:f4409bb729039d0814ac514054323f44\naad = 000102\nct = \niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = f4409bb729039d0814ac514054323f46\n\n# tcId = 138\n# Flipped bit 126 in tag expected tag:f4409bb729039d0814ac514054323f44\naad = 000102\nct = \niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = f4409bb729039d0814ac514054323f04\n\n# tcId = 139\n# Flipped bit 127 in tag expected tag:f4409bb729039d0814ac514054323f44\naad = 000102\nct = \niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = f4409bb729039d0814ac514054323fc4\n\n# tcId = 140\n# Flipped bit 63 and 127 in tag expected tag:f4409bb729039d0814ac514054323f44\naad = 000102\nct = \niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = f4409bb729039d8814ac514054323fc4\n\n# tcId = 141\n# Tag changed to all zero expected tag:f4409bb729039d0814ac514054323f44\naad = 000102\nct = \niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 142\n# tag change to all 1 expected tag:f4409bb729039d0814ac514054323f44\naad = 000102\nct = \niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 143\n# Flipped bit 0 in tag expected tag:29914007a6119dd3f109bba21ce9a7d6\naad = 000102\nct = d03bcb3ca52d48d1d203b1e7b1a5995a\niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 28914007a6119dd3f109bba21ce9a7d6\n\n# tcId = 144\n# Flipped bit 1 in tag expected tag:29914007a6119dd3f109bba21ce9a7d6\naad = 000102\nct = d03bcb3ca52d48d1d203b1e7b1a5995a\niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 2b914007a6119dd3f109bba21ce9a7d6\n\n# tcId = 145\n# Flipped bit 7 in tag expected tag:29914007a6119dd3f109bba21ce9a7d6\naad = 000102\nct = d03bcb3ca52d48d1d203b1e7b1a5995a\niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a9914007a6119dd3f109bba21ce9a7d6\n\n# tcId = 146\n# Flipped bit 8 in tag expected tag:29914007a6119dd3f109bba21ce9a7d6\naad = 000102\nct = d03bcb3ca52d48d1d203b1e7b1a5995a\niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 29904007a6119dd3f109bba21ce9a7d6\n\n# tcId = 147\n# Flipped bit 31 in tag expected tag:29914007a6119dd3f109bba21ce9a7d6\naad = 000102\nct = d03bcb3ca52d48d1d203b1e7b1a5995a\niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 29914087a6119dd3f109bba21ce9a7d6\n\n# tcId = 148\n# Flipped bit 32 in tag expected tag:29914007a6119dd3f109bba21ce9a7d6\naad = 000102\nct = d03bcb3ca52d48d1d203b1e7b1a5995a\niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 29914007a7119dd3f109bba21ce9a7d6\n\n# tcId = 149\n# Flipped bit 33 in tag expected tag:29914007a6119dd3f109bba21ce9a7d6\naad = 000102\nct = d03bcb3ca52d48d1d203b1e7b1a5995a\niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 29914007a4119dd3f109bba21ce9a7d6\n\n# tcId = 150\n# Flipped bit 63 in tag expected tag:29914007a6119dd3f109bba21ce9a7d6\naad = 000102\nct = d03bcb3ca5", + "2d48d1d203b1e7b1a5995a\niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 29914007a6119d53f109bba21ce9a7d6\n\n# tcId = 151\n# Flipped bit 64 in tag expected tag:29914007a6119dd3f109bba21ce9a7d6\naad = 000102\nct = d03bcb3ca52d48d1d203b1e7b1a5995a\niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 29914007a6119dd3f009bba21ce9a7d6\n\n# tcId = 152\n# Flipped bit 77 in tag expected tag:29914007a6119dd3f109bba21ce9a7d6\naad = 000102\nct = d03bcb3ca52d48d1d203b1e7b1a5995a\niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 29914007a6119dd3f129bba21ce9a7d6\n\n# tcId = 153\n# Flipped bit 80 in tag expected tag:29914007a6119dd3f109bba21ce9a7d6\naad = 000102\nct = d03bcb3ca52d48d1d203b1e7b1a5995a\niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 29914007a6119dd3f109baa21ce9a7d6\n\n# tcId = 154\n# Flipped bit 96 in tag expected tag:29914007a6119dd3f109bba21ce9a7d6\naad = 000102\nct = d03bcb3ca52d48d1d203b1e7b1a5995a\niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 29914007a6119dd3f109bba21de9a7d6\n\n# tcId = 155\n# Flipped bit 97 in tag expected tag:29914007a6119dd3f109bba21ce9a7d6\naad = 000102\nct = d03bcb3ca52d48d1d203b1e7b1a5995a\niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 29914007a6119dd3f109bba21ee9a7d6\n\n# tcId = 156\n# Flipped bit 120 in tag expected tag:29914007a6119dd3f109bba21ce9a7d6\naad = 000102\nct = d03bcb3ca52d48d1d203b1e7b1a5995a\niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 29914007a6119dd3f109bba21ce9a7d7\n\n# tcId = 157\n# Flipped bit 121 in tag expected tag:29914007a6119dd3f109bba21ce9a7d6\naad = 000102\nct = d03bcb3ca52d48d1d203b1e7b1a5995a\niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 29914007a6119dd3f109bba21ce9a7d4\n\n# tcId = 158\n# Flipped bit 126 in tag expected tag:29914007a6119dd3f109bba21ce9a7d6\naad = 000102\nct = d03bcb3ca52d48d1d203b1e7b1a5995a\niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 29914007a6119dd3f109bba21ce9a796\n\n# tcId = 159\n# Flipped bit 127 in tag expected tag:29914007a6119dd3f109bba21ce9a7d6\naad = 000102\nct = d03bcb3ca52d48d1d203b1e7b1a5995a\niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 29914007a6119dd3f109bba21ce9a756\n\n# tcId = 160\n# Flipped bit 63 and 127 in tag expected tag:29914007a6119dd3f109bba21ce9a7d6\naad = 000102\nct = d03bcb3ca52d48d1d203b1e7b1a5995a\niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 29914007a6119d53f109bba21ce9a756\n\n# tcId = 161\n# Tag changed to all zero expected tag:29914007a6119dd3f109bba21ce9a7d6\naad = 000102\nct = d03bcb3ca52d48d1d203b1e7b1a5995a\niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 162\n# tag change to all 1 expected tag:29914007a6119dd3f109bba21ce9a7d6\naad = 000102\nct = d03bcb3ca52d48d1d203b1e7b1a5995a\niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 163\n# Flipped bit 0 in tag expected tag:66405a16e8b44eba92aa47f5cea52b7a\naad = 000102\nct = d03bcb3ca52d48d1d203b1e7b1a5995af1a0466a61bb386a2e12d189a2c4ea15e9\niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20\nresult = invalid\ntag = 67405a16e8b44eba92aa47f5cea52b7a\n\n# tcId = 164\n# Flipped bit 1 in tag expected tag:66405a16e8b44eba92aa47f5cea52b7a\naad = 000102\nct = d03bcb3ca52d48d1d203b1e7b1a5995af1a0466a61bb386a2e12d189a2c4ea15e9\niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20\nresult = invalid\ntag = 64405a16e8b44eba92aa47f5cea52b7a\n\n# tcId = 165\n# Flipped bit 7 in tag expected tag:66405a16e8b44eba92aa47f5cea52b7a\naad = 000102\nct = d03bcb3ca52d48d1d203b1e7b1a5995af1a0466a61bb386a2e12d189a2c4ea15e9\niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20\nresult = invalid\ntag = e6405a16e8b44eba92aa47f5cea52b7a\n\n# tcId = 166\n# Flipped bit 8 in tag expected tag:66405a16e8b44eba92aa47f5cea52b7a\naad = 000102\nct = d03bcb3ca52d48d1d203b1e7b1a5995af1a0466a61bb386a2e12d189a2c4ea15e9\niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20\nresult = invalid\ntag = 66415a16e8b44eba92aa47f5cea52b7a\n\n# tcId = 167\n# Flipped bit 31 in tag expected tag:66405a16e8b44eba92aa47f5cea52b7a\naad = 000102\nct = d03bcb3ca52d48d1d203b1e7b1a5995af1a0466a61bb386a2e12d189a2c4ea15e9\niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20\nresult = invalid\ntag = 66405a96e8b44eba92aa47f5cea52b7a\n\n# tcId = 168\n# Flipped bit 32 in tag expected tag:66405a16e8b44eba92aa47f5cea52b7a\naad = 000102\nct = d03bcb3ca52d48d1d203b1e7b1a5995af1a0466a61bb386a2e12d189a2c4ea15e9\niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20\nresult = invalid\ntag = 66405a16e9b44eba92aa47f5cea52b7a\n\n# tcId = 169\n# Flipped bit 33 in tag expected tag:66405a16e8b44eba92aa47f5cea52b7a\naad = 000102\nct = d03bcb3ca52d48d1d203b1e7b1a5995af1a0466a61bb386a2e12d189a2c4ea15e9\niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20\nresult = invalid\ntag = 66405a16eab44eba92aa47f5cea52b7a\n\n# tcId = 170\n# Flipped bit 63 in tag expected tag:66405a16e8b44eba92aa47f5cea52b7a\naad = 000102\nct = d03bcb3ca52d48d1d203b1e7b1a5995af1a0466a61bb386a2e12d189a2c4ea15e9\niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20\nresult = invalid\ntag = 66405a16e8b44e3a92aa47f5cea52b7a\n\n# tcId = 171\n# Flipped bit 64 in tag expected tag:66405a16e8b44eba92aa47f5cea52b7a\naad = 000102\nct = d03bcb3ca52d48d1d203b1e7b1a5995af1a0466a61bb386a2e12d189a2c4ea15e9\niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20\nresult = invalid\ntag = 66405a16e8b44eba93aa47f5cea52b7a\n\n# tcId = 172\n# Flipped bit 77 in tag expected tag:66405a16e8b44eba92aa47f5cea52b7a\naad = 000102\nct = d03bcb3ca52d48d1d203b1e7b1a5995af1a0466a61bb386a2e12d189a2c4ea15e9\niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20\nresult = invalid\ntag = 66405a16e8b44eba928a47f5cea52b7a\n\n# ", + "tcId = 173\n# Flipped bit 80 in tag expected tag:66405a16e8b44eba92aa47f5cea52b7a\naad = 000102\nct = d03bcb3ca52d48d1d203b1e7b1a5995af1a0466a61bb386a2e12d189a2c4ea15e9\niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20\nresult = invalid\ntag = 66405a16e8b44eba92aa46f5cea52b7a\n\n# tcId = 174\n# Flipped bit 96 in tag expected tag:66405a16e8b44eba92aa47f5cea52b7a\naad = 000102\nct = d03bcb3ca52d48d1d203b1e7b1a5995af1a0466a61bb386a2e12d189a2c4ea15e9\niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20\nresult = invalid\ntag = 66405a16e8b44eba92aa47f5cfa52b7a\n\n# tcId = 175\n# Flipped bit 97 in tag expected tag:66405a16e8b44eba92aa47f5cea52b7a\naad = 000102\nct = d03bcb3ca52d48d1d203b1e7b1a5995af1a0466a61bb386a2e12d189a2c4ea15e9\niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20\nresult = invalid\ntag = 66405a16e8b44eba92aa47f5cca52b7a\n\n# tcId = 176\n# Flipped bit 120 in tag expected tag:66405a16e8b44eba92aa47f5cea52b7a\naad = 000102\nct = d03bcb3ca52d48d1d203b1e7b1a5995af1a0466a61bb386a2e12d189a2c4ea15e9\niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20\nresult = invalid\ntag = 66405a16e8b44eba92aa47f5cea52b7b\n\n# tcId = 177\n# Flipped bit 121 in tag expected tag:66405a16e8b44eba92aa47f5cea52b7a\naad = 000102\nct = d03bcb3ca52d48d1d203b1e7b1a5995af1a0466a61bb386a2e12d189a2c4ea15e9\niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20\nresult = invalid\ntag = 66405a16e8b44eba92aa47f5cea52b78\n\n# tcId = 178\n# Flipped bit 126 in tag expected tag:66405a16e8b44eba92aa47f5cea52b7a\naad = 000102\nct = d03bcb3ca52d48d1d203b1e7b1a5995af1a0466a61bb386a2e12d189a2c4ea15e9\niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20\nresult = invalid\ntag = 66405a16e8b44eba92aa47f5cea52b3a\n\n# tcId = 179\n# Flipped bit 127 in tag expected tag:66405a16e8b44eba92aa47f5cea52b7a\naad = 000102\nct = d03bcb3ca52d48d1d203b1e7b1a5995af1a0466a61bb386a2e12d189a2c4ea15e9\niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20\nresult = invalid\ntag = 66405a16e8b44eba92aa47f5cea52bfa\n\n# tcId = 180\n# Flipped bit 63 and 127 in tag expected tag:66405a16e8b44eba92aa47f5cea52b7a\naad = 000102\nct = d03bcb3ca52d48d1d203b1e7b1a5995af1a0466a61bb386a2e12d189a2c4ea15e9\niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20\nresult = invalid\ntag = 66405a16e8b44e3a92aa47f5cea52bfa\n\n# tcId = 181\n# Tag changed to all zero expected tag:66405a16e8b44eba92aa47f5cea52b7a\naad = 000102\nct = d03bcb3ca52d48d1d203b1e7b1a5995af1a0466a61bb386a2e12d189a2c4ea15e9\niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 182\n# tag change to all 1 expected tag:66405a16e8b44eba92aa47f5cea52b7a\naad = 000102\nct = d03bcb3ca52d48d1d203b1e7b1a5995af1a0466a61bb386a2e12d189a2c4ea15e9\niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 183\n# edge case for poly1305\n# key:ffffffefeb344f6bc37ba77ea2ee06dfe8c7f4ae10810422124fc5e1bd7fe301\naad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000102030405060710abb165\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = dc8ce708bf26aab862d97e1b42f31ef38c382cf07174142ea564920612997b1c2e38aca2438b588d5459493e97e7fa330ff9bc3b9458297ba0967d86ed090b435103478f2869b93ee29c837e95fb6b9903f3b735b7345428eb93b3db1d9b5187cebb889aa177d83e4f63fc9a5c0596eed939883d06aacdfdea44fdecdf5cb7fc\nresult = valid\ntag = c296436246c3a7c4b3ba09ab2a6a0889\n\n# tcId = 184\n# edge case for poly1305\n# key:278de313ffffffdfffe9acbf3ea59357c4e16a5bc120d346af4a8cf694a84374\naad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 0001020304050607051e9373\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 931227274a89d0b3aade7fac62c96262c1e77b8dafd248f10ad37c6ccb69cb7131b041593c8bb8c3db38f39dd8a124c424fce4389dede1d3cb9d46cf95970aea9856b6e313d756197baf4fcb58df275bca8a2188f9e8a1ad04354ede542ddc30e8b735b2f5905f5811799282be94ae842ec126c55d2e667235e9acf1d48798f0\nresult = valid\ntag = 99a3b0fff6fdcbcce9dc5820f2a64861\n\n# tcId = 185\n# edge case for poly1305\n# key:0050799fe9e74fcffcffffcfd21aa8b5cb5aa2c6ab347b6886eedaca4bfff3c0\naad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 0001020304050607048c3c5f\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0df91f31230e8941e700a752fef08c897c511ed618fdf8a378a1f439013b40a48d4634c27d9ada7c0bb6f3fa92e341425903d7ecd0c49bee4c77e84b11f1c721922308642885b813fae364da32eaf120d6a43a74fb1632443667bfea6eef1be73eb1c3c0b5a57cee8dc4feed4a1fb9ae02f7b1695588c3c878451cb6ee0cb3dc\nresult = valid\ntag = eaff8f47ef9268fd0d94e8a9c4b78d24\n\n# tcId = 186\n# edge case for poly1305\n# key:dc46b3c53be153ccd4986678ffffffafe484c316c93f64195da65a2742fd3fec\naad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000102030405060703e76f6f\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 1fde9b9ec8b247d42bbee2016d6715ba428a85431430eada56a2c5dc944b6aa6cef0b056a2eecc51d30838e640615e1458e0943e30f91ba41b4362fa9ed6037b21d14da7b4f76f9f68fa8903138d563ce2590af1201c7cfec2290cfce98a822ebb8d1ed9dc4e20d241755aff91cdfd10fdb69efa0d5c8082692601cbfbb955c7\nresult = valid\ntag = 86ed21fda080a7d13981078d86b3e3cd\n\n# tcId = 187\n# edge case for poly1305\n# key:946aff9f2a13f56f92a5f9cfee3cdb1fef6d98d5a55ab563cb28620cd57f19d2\naad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nct = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "fffffffffffff\niv = 00010203040506072dd4cd40\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 66115e67ecd3d4178c4c60e713ab4e5e66f8d1f971da17437a2b5e04fbca1671e847139a5f4e3f8e92d7a3b71eb4ff0e50354c0c1580af3662d5f8151e3f7e8264a0085c32ddfcbeb01a8be4c34d53319800ac4ef9d4e4014524bc7cd3387242e774f4d1a7a0521e42ec44844d0bd8b9d73fec959212fd7e8eacf4d984996d9b\nresult = valid\ntag = 34f9e0faa515eee0e784e6ef2678befa\n\n# tcId = 188\n# edge case for poly1305\n# key:0000003059ffce96438a246ff9536787d92bc40eafa0241a2972780ef6ca1ef8\naad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000102030405060726c6961b\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = e97244259af5a379238da0cad2a5f493655ec0e5024fd553bbb3deb66a94036d106c3d513407b2dd1cc5936c4c9c1e4f4b37b54dec261c601dc99e90680e23e2dc5c9a8d503d8bea49a8cdca3706bfd2a3daa0afb19a70fd3d355fc37c13f3f9e5c8d0864a5f80a780b36d4698ec2ce9ccc27b97ecbe672e41628ebd773acb81\nresult = valid\ntag = 3c94b9fe60bdb35c6b7b73b765083492\n\n# tcId = 189\n# edge case for poly1305\n# key:3fa0ea9c030000a036217d42e775ad189b96e24ee591952e2922ff151334b9ec\naad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 0001020304050607013da060\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 9453aa159c3d87f17e21e88adabc37e553b904d00eefc66b8e0905e23576fbdc9c7bea9777f3b8368481932534b3344d309e6307cddfe7b3549300dd9cda7efe9d43c8a115912a392904079ee92bcd33099f7022ea94c1e7353b89bfc54de3ceb56f529a1a608bb5a970e1359609d1f56806b37f8605f4c27451da6066fc557a\nresult = valid\ntag = 2b11cf9f8db8490d409fc62afd7379f3\n\n# tcId = 190\n# edge case for poly1305\n# key:a556cb502baf395b020000f03c5108fb1cf76df1b8a8f724e877bd3c588d3285\naad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000102030405060707db33de\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 2e1836640d810c2709fb83ccf1aef3a971085d1bbfb58a425abf75ccec70b3abde0e80539e83a82546e7372a19481547053308dd7842675e9c4f61302426da0d71c1da3102031030ed928152be009b15b52f71b5911991d39f68a8658d99729df2bbef31c8989f9604558df9f2aba4b3766c58aaef3548de545ec1f080225a88\nresult = valid\ntag = c9c8366920f88381407712cec61e6607\n\n# tcId = 191\n# edge case for poly1305\n# key:0c327fbcc564555545d4fe75020000d0a65799f363ec51b1c5c427b4a04af190\naad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000102030405060702a11942\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 0ecb4d85c956b5268c9b35a8c63b4e9d3e5cb72b64ef98773841b947bd7d59ef7d0eb0e1c050d49a5424ce7deb527d76087e4746674c958965df32d9e5fb03b46501706128d481217aaeae2f78f9259273358a2954cac0bc2fbfe77447d1d387b9314c6541b69f1270b3438b1042b2b4663e62ba4d49c07ac6f163034afa80af\nresult = valid\ntag = 2373cfa2ab24446ad5a236167b8027fe\n\n# tcId = 192\n# edge case for poly1305\n# key:415f08302f210340240d0e903e2b01205ba43e106aebd7e2481016b31118b1ae\naad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 00010203040506073c0df637\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 2e8e45e903bfab32f2f0d49d9a3e449bef6f4093e2722cdab2cf935c1822b830fb5a4056516d560dfc8638c9a57d2927200a56f0b67153271d498e8f08dc888c61ef634f7ae40f4608f96f92fea5a1e5bd45131120098dc5de0378e58f2ddb46fa4aa5adb38fe006bb19b69146382f77a79e06214def547cfb5ce37a7008b9b6\nresult = valid\ntag = 5f93946478d8081e7247f414ad39a515\n\n# tcId = 193\n# edge case for poly1305\n# key:feffff1ff6b87403fd6435b09775bc92491a0ae62c5842a30e3b82710cc2dad1\naad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 00000000101112130bc672c3\nkey = 9de836aa579585081f330a7c4036e20e38ef15eff3945184d231867f505fffdf\nmsg = 3619cb470af86dceceb6940f2d9abb34c9a9131476053387445ffebbe240d4f9818377855652f46a8219c7f71c3554f8acef8258de4b7d17c0f3d353ac981cc6a13287be1e6b41dc6d133df4ababebdf43d665ce7a4a5c982a0b139cb8202eebc74173e3224a440e4c37d2b595f384290e939ba016df0d49b36cdb4bd91c39\nresult = valid\ntag = 133fe62391744d11ce44594b96c53baf\n\n# tcId = 194\n# edge case for poly1305\n# key:bf358f18ffffffbf4b62ed6e1f53790785c4dabdfc72e2a219d377a682c85f38\naad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000000001011121303e9b9a4\nkey = 9de836aa579585081f330a7c4036e20e38ef15eff3945184d231867f505fffdf\nmsg = af205bda819f7451be0f28667d4b01b59ff2daa8173cab52046c3c9e0d989889c5e021ef7afd06e9ce6cc30e3a6ebab509134ba10d10e570c55587c13eee53e73be54804c8539ffbf23b35922b1ca37b9e9bc24ee204837ca5a294ce05d12600c7eff6aee32270db2feff47dc5a04176169e15850628e6035f78994f9f5603\nresult = valid\ntag = e3451adb9d23a7710a1aafba26f56387\n\n# tcId = 195\n# edge case for poly1305\n# key:d0b7b3a352a4010ffeffffbfe8cc66dc6e5e7451dc61762c5753174fed88e746\naad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 00000000101112130700b982\nkey = 9de836aa579585081f330a7c4036e20e38ef15eff3945184d231867f505fffdf\nmsg = 68c67272036fb652a0182eeb4781358e4704a4a702fd731bf3b3ea994717989e7d9104e0ae81732a8c7e9a82b3d31d541761a366b67c3396f1a6c67e293ddb65a59e42541dda144dc6c78388cfca982e23350958ac5b3d54a1722fd64733577862e1879c9e9445ebdec5315d1706db7ebbedd4c779935e72057e5b0ecde081\nresult = valid\ntag = b0bb8a55ff5f52a5043c6e7795847557\n\n# tcId = 196\n# edge case for poly1305\n# key:7bee33931a4157a8cb701becfeffff4fbe7e69f19cd065313bb49a252628dd3d\naad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 0000000010111213019836bb\nkey = 9de836aa579585081f330a7c4036e20e38ef15eff3945184d231867f505fffdf\nmsg = c483b7334ebe2e879b0c3f9db4fcd9f5219062360d6ce44cdae0f94e04c8345ea7e3ae33855118741dcafe0de4ae98c4e43af7b12b04ee8ab175625823ac040e5abac4403f1d45238adcb8c0cf44bd56917f9f5d93974c82b56951986a9c0450bd9047b5a616e814526ad0580e3ecd8189c9fef2cdb979a22ad3a01930fbd1\nresult = valid\ntag = f4fc25f4c5543a9afee9819e2904fb68\n\n# tcId = 197\n# edge case for poly1305\n# key:7cb5fbdffb40ff5f3c7de74f655ffc1fac03013a7fe468440b861ebe0ab1650a\naad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 00000000101112131d59f288\nkey = 9de836aa579585081f330a7c4036e20e38ef15eff3945184d231867f505fffdf\nmsg = bc7f4f15fd1e4c1399740836670abe39a05707be19956ce169b32321759e0f213ae19ad34aa612b3a29f02c4bbac9f785a55a3adfe419ab891bbe0acee9921322ea21002c9dd3dcdd13a7f8554dddc10f9b529ce94be7050937dab76557b7eb17c685aad8f0797e39d62553988989aab1d9764fe431cc1d4c595062ce93ce9\nresult = valid\ntag = 5e67a7b8733e0e4b01ac2178a205ae7e\n\n# tcId = 198\n# edge case for poly1305\n# key:00000090e6e328c242cde5c83e3d8262d467f2bcd53d3755c781f3c6a2cb0648\naad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 00000000101112130552a411\nkey = 9de836aa579585081f330a7c4036e20e38ef15eff3945184d231867f505fffdf\nmsg = eaccaa778935ef249e0900149dd889462d2a061486ba102b8caebe465f3959fb3119ebb5689676ffdd6d851a26739e772b54a2f5f473ea9c7e58ccbc4cfc953e8c420b2175d9dd519265630bb79bd87a601b113231a8b16ce54c331347ec04c2b1c9160f38207aa46e96feb06dee883eb422fa14908df300bb1a1ef758c408\nresult = valid\ntag = 177a77fce114a4349c4f8d5ec825d06f\n\n# tcId = 199\n# edge case for poly1305\n# key:9e98d64e000000505a07183c5c68c63c14c9266dd37ff86aafc22ddbdb355617\naad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 00000000101112130c807a72\nkey = 9de836aa579585081f330a7c4036e20e38ef15eff3945184d231867f505fffdf\nmsg = a76c330e015060a17e64cb7b6d753f201f75be8759fd7539fb92b22aef54c9d3029dba0c15cbf7c95135888319c6b2e6276da21e0c351fd522b29aabb5883a3291d6f427de773b124390ef6fd96621ffbc42dfbf7a34da272cbc9ccb1a498d078033d1ac3bf7e92715948b06d69d5c5039e9164ba9c3a02219ec5908206b3b\nresult = valid\ntag = 623c7d4424f5497aedfd1339cf8cecce\n\n# tcId = 200\n# edge case for poly1305\n# key:1048a92e65f5e63102000080d9ae08de4319a7c45fdbe707b9ec1b7e0d635161\naad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 00000000101112130397a143\nkey = 9de836aa579585081f330a7c4036e20e38ef15eff3945184d231867f505fffdf\nmsg = 228a7e15bcce13051de9145f77f7f4ff7921828b4f99efc4ff55ee0d9344955b69ec2d4798b0517f0273c4456ae5ffc5929cbe74ddb0da51d4f2b4df7578a31240c88ae922c3c5eca7b97d72d497062050a587447c562b343d5c71921944872f9fd06b8f34b3eb5d4341f5ff8a907dd7c2e1676b81252726ba54814da51eab\nresult = valid\ntag = 1c18b69354b189731a1a83fe8f0d57c9\n\n# tcId = 201\n# edge case for poly1305\n# key:01517a2ceb89bbfb5741f7d9000000401a65b132ad661072a00ffe7defbb18a5\naad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000000001011121308cb0f3f\nkey = 9de836aa579585081f330a7c4036e20e38ef15eff3945184d231867f505fffdf\nmsg = c7d843188ab193dfef5c4daf583f952cd4b195f240fa2e704d021723023c123371a41e87dfc6e6c3874a42f331cf035988a38c72ba2da854b1208f98bf8cc29948169481ab3a402d5fcc7ff78f9e31925576dc3938074b8c5b27960e3afc750ad686563688b7441787288d5256c1301d563b7744843bd1ab4eff5be6f1653d\nresult = valid\ntag = 2045815b8211b9a2995effe0b8ed9868\n\n# tcId = 202\n# edge case for poly1305\n# key:bc90156087e0125006d90c30babd0590427bff19de1f2e7d0757a79528731138\naad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 00000000101112130d8fcf4e\nkey = 9de836aa579585081f330a7c4036e20e38ef15eff3945184d231867f505fffdf\nmsg = cfc3db8631c81c69023a3c8a9ad66c35053685144c4fa2a9510add72e211dad9ca5b982e4c194591fdb74116280311d1299ad81227258cb52f079bbcb12aff161d278dec33a326d71276b3de01a8327ee7f45f94179dff18a3fe643e56c30cfd03871c8110ab00f6612b9e17a4647360d7847bb63a3122613c2e7cdddd08ae\nresult = valid\ntag = 1ae2ed84ea9774d78d782bf8d972a8b8\n\n# tcId = 203\n# edge case for tag\naad = ffffffffffffffffffffffffffffffff415771fda4fbcc55c377f73203e60226\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000102030405060708090a0b\nkey = 404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f\nmsg = e48caf8a76183327c9561a4651c07c822ccd1642c06607d0d4bc0afb4de15915dbfa3b0b422e77e15c64bf6247031f15fdb643117809821870000adf83834da5\nresult = valid\ntag = 000102030405060708090a0b0c0d0e0f\n\n# tcId = 204\n# edge case for tag\naad = f1ffffffffffffffffffffffffffffff615af39eddb5fcd2519190d5507d3b06\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000102030405060708090a0b\nkey = 404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f\nmsg = e48caf8a76183327c9561a4651c07c822ccd1642c06607d0d4bc0afb4de15915dbfa3b0b422e77e15c64bf6247031f15fdb643117809821870000adf83834da5\nresult = valid\ntag = 00000000000000000000000000000000\n\n# tcId = 205\n# edge case for tag\naad = b5ffffffffffffffffffffffffffffff764e5d82ce7da0d44148484fd96a6107\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000102030405060708090a0b\nkey = 404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f\nmsg = e48caf8a76183327c9561a4651c07c822ccd1642c06607d0d4bc0afb4de15915dbfa3b0b422e77e15c64bf6247031f15fdb643117809821870000adf83834da5\nresult = valid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 206\n# edge case for tag\naad = fdffffffffffffffffffffffffffffff2bdbf16d8ea4d39dab8dcb3d4bc4e104\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000102030405060708090a0b\nkey = 404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f\nmsg = e48caf8a76183327c9561a4651c07c822ccd1642c06607d0d4bc0afb4de15915dbfa3b0b422e77e15c64bf6247031f15fdb643117809821870000adf83834da5\nresult = valid\ntag = 00000080000000800000008000000080\n\n", + "# tcId = 207\n# edge case for tag\naad = a9ffffffffffffffffffffffffffffffaccd5eb31d8fc909e84b0de7de23bb08\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000102030405060708090a0b\nkey = 404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f\nmsg = e48caf8a76183327c9561a4651c07c822ccd1642c06607d0d4bc0afb4de15915dbfa3b0b422e77e15c64bf6247031f15fdb643117809821870000adf83834da5\nresult = valid\ntag = ffffff7fffffff7fffffff7fffffff7f\n\n# tcId = 208\n# edge case for tag\naad = d2ffffffffffffffffffffffffffffffdd4b933e7b1a7ed93cc7c050db71dc03\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000102030405060708090a0b\nkey = 404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f\nmsg = e48caf8a76183327c9561a4651c07c822ccd1642c06607d0d4bc0afb4de15915dbfa3b0b422e77e15c64bf6247031f15fdb643117809821870000adf83834da5\nresult = valid\ntag = 01000000010000000100000001000000\n\n# tcId = 209\n# edge case for tag\naad = ffffffffffffffffffffffffffffffffa08164425d7642e9e90fc8d5c32d2cf6\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000102030405060708090a0b\nkey = 404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f\nmsg = e48caf8a76183327c9561a4651c07c822ccd1642c06607d0d4bc0afb4de15915dbfa3b0b422e77e15c64bf6247031f15fdb643117809821870000adf83834da5\nresult = valid\ntag = ffffffff000000000000000000000000\n\n# tcId = 210\n# edge case intermediate sums in poly1305.\n# poly_key:ffffffefeb344f6bc37ba77ea2ee06dfe8c7f4ae10810422124fc5e1bd7fe301\naad = ffffffff\nct = e5ffffffffffffffffffffffffffffff0871bc8f1e4aa235087712d9df183609ffffffffffffffffffffffffffffffffffffffe7a33009ef5fc604ea0f9a75e9ffffffffffffffffffffffffffffffffffffffe7a33009ef5fc604ea0f9a75e9\niv = 000102030405060710abb165\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = c68ce708bf26aab862d97e1b42f31ef37bb66f8090c149e452ec7f20327eb2ea2e38aca2438b588d5459493e97e7fa330ff9bc23c897df6b00af86931d6c81555103478f2869b93ee29c837e95fb6b9903f3b72debfba2384baa48ceedfedb91\nresult = valid\ntag = 3572162777262c518eef573b720e8e64\n\n# tcId = 211\n# edge case intermediate sums in poly1305.\n# poly_key:ffffffefeb344f6bc37ba77ea2ee06dfe8c7f4ae10810422124fc5e1bd7fe301\naad = ffffffff\nct = e4ffffffffffffffffffffffffffffff05e74de09a9d7a2aff4a6356b57c7b05fffffffffffffffffffffffffffffffffe759118501a43cdd6a2064aa520adc7fffffffffffffffffffffffffffffffffe759118501a43cdd6a2064aa520adc7\niv = 000102030405060710abb165\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = c78ce708bf26aab862d97e1b42f31ef376209eef141691fba5d10eaf581affe62e38aca2438b588d5459493e97e7fa330e73d2dc3bbd954989cb8433b7d6597b5103478f2869b93ee29c837e95fb6b990279d9d218d1e81ac2ce4a6e474403bf\nresult = valid\ntag = 347216375f5b7b5c4e6bff4912fd9473\n\n# tcId = 212\n# edge case intermediate sums in poly1305.\n# poly_key:ffffffefeb344f6bc37ba77ea2ee06dfe8c7f4ae10810422124fc5e1bd7fe301\naad = ffffffff\nct = dffffffffffffffffffffffffffffffff8be933274202b099b164e5aabfa9705fffffffffffffffffffffffffffffffffa4dd7da00c12a46b2140ecafa3a8b40fffffffffffffffffffffffffffffffffa4dd7da00c12a46b2140ecafa3a8b40\niv = 000102030405060710abb165\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = fc8ce708bf26aab862d97e1b42f31ef38b79403dfaabc0d8c18d23a3469c13e62e38aca2438b588d5459493e97e7fa330a4b941e6b66fcc2ed7d8cb3e8cc7ffc5103478f2869b93ee29c837e95fb6b9906419f10480a8191a67842ee185e2538\nresult = valid\ntag = 30721677ff2eb8894e5a9d8492b7b0af\n\n# tcId = 213\n# edge case intermediate sums in poly1305.\n# poly_key:ffffffefeb344f6bc37ba77ea2ee06dfe8c7f4ae10810422124fc5e1bd7fe301\naad = ffffffff\nct = d9ffffffffffffffffffffffffffffffe80c6bd5c9f6b3dc2db689db76dcf901f8ffffffffffffffffffffffffffffffee9bae3db6c376ec44c5ab104662d100f8ffffffffffffffffffffffffffffffee9bae3db6c376ec44c5ab104662d100\niv = 000102030405060710abb165\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = fa8ce708bf26aab862d97e1b42f31ef39bcbb8da477d580d772de4229bba7de22938aca2438b588d5459493e97e7fa331e9dedf9dd64a0681bac2969549425bc5603478f2869b93ee29c837e95fb6b991297e6f7fe08dd3b50a9e734a4067f78\nresult = valid\ntag = 2b7216c7873744c20ec5e2cdb260d3fa\n\n# tcId = 214\n# edge case intermediate sums in poly1305.\n# poly_key:ffffffefeb344f6bc37ba77ea2ee06dfe8c7f4ae10810422124fc5e1bd7fe301\naad = ffffffff\nct = cdffffffffffffffffffffffffffffffca3288dae0843c9a1c9d576fd82a7f0de3ffffffffffffffffffffffffffffffd0c1cb42cd51ffa933ac79a4a7b0560ce3ffffffffffffffffffffffffffffffd0c1cb42cd51ffa933ac79a4a7b0560c\niv = 000102030405060710abb165\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = ee8ce708bf26aab862d97e1b42f31ef3b9f55bd56e0fd74b46063a96354cfbee3238aca2438b588d5459493e97e7fa3320c78886a6f6292d6cc5fbddb546a2b04d03478f2869b93ee29c837e95fb6b992ccd8388859a547e27c0358045d4f874\nresult = valid\ntag = 22721657b0130d28cf1ec65153c41182\n\n# tcId = 215\n# edge case intermediate sums in poly1305.\n# poly_key:ffffffefeb344f6bc37ba77ea2ee06dfe8c7f4ae10810422124fc5e1bd7fe301\naad = ffffffff\nct = ccffffffffffffffffffffffffffffffc7a8192b5dd8148f1371a8ecad8ec409e1ffffffffffffffffffffffffffffffcd375d9349a5d79e2a80ca217d149c08e1ffffffffffffffffffffffffffffffcd375d9349a5d79e2a80ca217d149c08\niv = 000102030405060710abb165\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = ef8ce708bf26aab862d97e1b42f31ef3b46fca24d353ff5e49eac51540e840ea3038aca2438b588d5459493e97e7fa333d311e572202011a75e948586fe268b44f03478f2869b93ee29c837e95fb6b99313b1559016e7c493eec86059f703270\nresult = valid\ntag = 2172166798485c338f9a6d60f3b21891\n\n# tcId = 216\n# edge case intermediate sums in poly1305.\n# poly_key:ffffffefeb344f6bc37ba77ea2ee06dfe8c7f4ae10810422124fc5e1bd7fe301\naad = ffffffff\nct = d6ee4ee25d3bdea81e76de8934cc51fb849cfca7685708575dc6df7a01e36a81849cfca7685708575dc6df7a01e36a81\niv = 000102030405060710abb165\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = f59d56151de28bef83505f6d89c0b0f7f75b2fa8e6dce386075db283ec85ee62555baffad423af25f66069bb69fb6f4d\nresult = valid\ntag = 831312cbb0f165dc3e8ff52125f48640\n\n# tcId = 217\n# edge case intermediate sums in poly1305.\n# poly_key:ffffffefeb344f6bc37ba77ea2ee06dfe8c7f4ae10810422124fc5e1bd7fe301\naad = ffffffff\nct = d464e022f259679255ce87f8694190e881128ee8fc759140941e89e93658a96e81128ee8fc759140941e89e93658a96e\niv = 000102030405060710abb165\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = f717f8d5b28032d5c8e8061cd44d71e4f2d55de772fe7a91ce85e410db3e2d8d50d5ddb5400136323fb83f285e40aca2\nresult = valid\ntag = 821312db9826b5e7fe0a9d30c5e28d4f\n\n# tcId = 218\n# edge case intermediate sums in poly1305.\n# poly_key:ffffffefeb344f6bc37ba77ea2ee06dfe8c7f4ae10810422124fc5e1bd7fe301\naad = ffffffff\nct = d1ffffffffffffffffffffffffffffff954d41231c9238de5dce20847494390afdffffffffffffffffffffffffffffff124a4419f35e64d7f465b3f489e2020dfdffffffffffffffffffffffffffffff124a4419f35e64d7f465b3f489e2020d\niv = 000102030405060710abb165\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = f28ce708bf26aab862d97e1b42f31ef3e68a922c9219d30f07554d7d99f2bde92c38aca2438b588d5459493e97e7fa33e24c07dd98f9b253ab0c318d9b14f6b15303478f2869b93ee29c837e95fb6b99ee460cd3bb95cf00e009ffd06b86ac75\nresult = valid\ntag = c1045769d487d545cef3f0d34b7a8733\n\n# tcId = 219\n# edge case intermediate sums in poly1305.\n# poly_key:ffffffefeb344f6bc37ba77ea2ee06dfe8c7f4ae10810422124fc5e1bd7fe301\naad = ffffffff\nct = ffffffffffffffffffffffffffffffff5da057d7d954ec856796aad6faffb1183c2f9be74c6a4576e0b09a7a5c2330963c2f9be74c6a4576e0b09a7a5c233096\niv = 000102030405060710abb165\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = dc8ce708bf26aab862d97e1b42f31ef32e6784d857df07543d0dc72f179935fbede8c8baf01ee2044b162cbb343b355acc29d82327cd93f2bfd918034ed5c42a\nresult = valid\ntag = 64e7efd24516a83e2c87e06a76e2dea3\n\n# tcId = 220\n# edge case intermediate sums in poly1305.\n# poly_key:ffffffefeb344f6bc37ba77ea2ee06dfe8c7f4ae1081042212", + "4fc5e1bd7fe301\naad = ffffffff\nct = d4ffffffffffffffffffffffffffffff3fa97e2976c1e9f48fcc19a4df9af604fdffffffffffffffffffffffffffffff94dd708f021933fd6757e3d766da8507fdffffffffffffffffffffffffffffff94dd708f021933fd6757e3d766da8507\niv = 000102030405060710abb165\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = f78ce708bf26aab862d97e1b42f31ef34c6ead26f84a0225d557745d32fc72e72c38aca2438b588d5459493e97e7fa3364db334b69bee579383e61ae742c71bb5303478f2869b93ee29c837e95fb6b9968d138454ad2982a733baff384be2b7f\nresult = valid\ntag = e6cc6729d79ba558cd73b03cba54d660\n\n# tcId = 221\n# edge case intermediate sums in poly1305.\n# poly_key:ffffffefeb344f6bc37ba77ea2ee06dfe8c7f4ae10810422124fc5e1bd7fe301\naad = ffffffff\nct = d3ffffffffffffffffffffffffffffff3c1f107af214c2e986a06a21b5fe3b01fbffffffffffffffffffffffffffffff915302e07e6c0bf25e2b34553c3ecb03fbffffffffffffffffffffffffffffff915302e07e6c0bf25e2b34553c3ecb03\niv = 000102030405060710abb165\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = f08ce708bf26aab862d97e1b42f31ef34fd8c3757c9f2938dc3b07d85898bfe22a38aca2438b588d5459493e97e7fa336155412415cbdd760142b62c2ec83fbf5503478f2869b93ee29c837e95fb6b996d5f4a2a36a7a0254a477871de5a657b\nresult = valid\ntag = e5cc6739bfd0f4638def574b5a43dd6f\n\n# tcId = 222\n# edge case intermediate sums in poly1305.\n# poly_key:ffffffefeb344f6bc37ba77ea2ee06dfe8c7f4ae10810422124fc5e1bd7fe301\naad = ffffffff\nct = d1ffffffffffffffffffffffffffffffacc4198b86a494a1f7152dfd27dba807faffffffffffffffffffffffffffffffd8fb02f8c11606afaeafd52ab8dc2705faffffffffffffffffffffffffffffffd8fb02f8c11606afaeafd52ab8dc2705\niv = 000102030405060710abb165\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = f28ce708bf26aab862d97e1b42f31ef3df03ca84082f7f70ad8e4004cabd2ce42b38aca2438b588d5459493e97e7fa3328fd413caab1d02bf1c65753aa2ad3b95403478f2869b93ee29c837e95fb6b9924f74a3289ddad78bac3990e5ab8897d\nresult = valid\ntag = 0fca702228817d53ee64d142b192e665\n\n# tcId = 223\n# edge case intermediate sums in poly1305.\n# poly_key:ffffffefeb344f6bc37ba77ea2ee06dfe8c7f4ae10810422124fc5e1bd7fe301\naad = ffffffff\nct = d0ffffffffffffffffffffffffffffff6c3be2a1e7b27845e258559ea15b790af8ffffffffffffffffffffffffffffffb7788b0b55040251880407d43989ff04f8ffffffffffffffffffffffffffffffb7788b0b55040251880407d43989ff04\niv = 000102030405060710abb165\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = f38ce708bf26aab862d97e1b42f31ef31ffc31ae69399394b8c338674c3dfde92938aca2438b588d5459493e97e7fa33477ec8cf3ea3d4d5d76d85ad2b7f0bb85603478f2869b93ee29c837e95fb6b994b74c3c11dcfa9869c684bf0dbed517c\nresult = valid\ntag = efc3b035ded6b460bfce6f494955e677\n\n# tcId = 224\n# edge case intermediate sums in poly1305.\n# poly_key:ffffffefeb344f6bc37ba77ea2ee06dfe8c7f4ae10810422124fc5e1bd7fe301\naad = ffffffff\nct = 088e15a1ac30d236e84be13d641c8ddcb53bc366b84c04e5269ce22ef132a662b53bc366b84c04e5269ce22ef132a662\niv = 000102030405060710abb165\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 2bfd0d56ece98771756d60d9d9106cd0c6fc106936c7ef347c078fd71c54228164fc903b0438a3978d3a54ef992aa3ae\nresult = valid\ntag = 345fc9fe573c136c1be83730500ce662\n\n# tcId = 225\n# edge case intermediate sums in poly1305.\n# poly_key:ffffffefeb344f6bc37ba77ea2ee06dfe8c7f4ae10810422124fc5e1bd7fe301\naad = ffffffff\nct = d5ffffffffffffffffffffffffffffff0f05f652625465debbac58683768ac07f9ffffffffffffffffffffffffffffff1297b88c53a64ad580de966c074da70df9ffffffffffffffffffffffffffffff1297b88c53a64ad580de966c074da70d\niv = 000102030405060710abb165\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = f68ce708bf26aab862d97e1b42f31ef37cc2255decdf8e0fe1373591da0e28e42838aca2438b588d5459493e97e7fa33e291fb4838019c51dfb7141515bb53b15703478f2869b93ee29c837e95fb6b99ee9bf0461b6de10294b2da48e5290975\nresult = valid\ntag = 336f97a5faa995a2a03781b591588da8\n\n# tcId = 226\n# edge case intermediate sums in poly1305.\n# poly_key:ffffffefeb344f6bc37ba77ea2ee06dfe8c7f4ae10810422124fc5e1bd7fe301\naad = ffffffff\nct = e5ffffffffffffffffffffffffffffff0971bc8f1e4aa235087712d9df183609d5ffffffffffffffffffffffffffffff7d20502e655f60d2ed2eb547dc36e100d5ffffffffffffffffffffffffffffff7d20502e655f60d2ed2eb547dc36e100\niv = 000102030405060710abb165\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = c68ce708bf26aab862d97e1b42f31ef37ab66f8090c149e452ec7f20327eb2ea0438aca2438b588d5459493e97e7fa338d2613ea0ef8b656b247373ecec015bc7b03478f2869b93ee29c837e95fb6b99812c18e42d94cb05f942f9633e524f78\nresult = valid\ntag = 9351c680c8a5d34882d42145e89745c4\n\n# tcId = 227\n# edge case intermediate sums in poly1305.\n# poly_key:ffffffefeb344f6bc37ba77ea2ee06dfe8c7f4ae10810422124fc5e1bd7fe301\naad = ffffffff\nct = e5ffffffffffffffffffffffffffffff0771bc8f1e4aa235087712d9df183609ffffffffffffffffffffffffffffffff5cdfaf41f5afb0e653abcef385232d49ffffffffffffffffffffffffffffffff5cdfaf41f5afb0e653abcef385232d49\niv = 000102030405060710abb165\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = c68ce708bf26aab862d97e1b42f31ef374b66f8090c149e452ec7f20327eb2ea2e38aca2438b588d5459493e97e7fa33acd9ec859e0866620cc24c8a97d5d9f55103478f2869b93ee29c837e95fb6b99a0d3e78bbd641b3147c782d767478331\nresult = valid\ntag = d79266cd25a784599a0a8e31fc84d604\n\n# tcId = 228\n# edge case intermediate sums in poly1305.\n# poly_key:ffffffefeb344f6bc37ba77ea2ee06dfe8c7f4ae10810422124fc5e1bd7fe301\naad = ffffffff\nct = d4ffffffffffffffffffffffffffffff31961e263e2142b10fe7f35b6fe5b00735256286b6535dbb4738c289eef304ff35256286b6535dbb4738c289eef304ff\niv = 000102030405060710abb165\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = f78ce708bf26aab862d97e1b42f31ef34251cd29b0aaa960557c9ea2828334e4e4e231db0a27fac9ec9e744886eb0133c5232142ddf48b3f185140f0fc05f043\nresult = valid\ntag = 9d671d407d7660459d5d582d83915efe\n\n# tcId = 229\n# edge case intermediate sums in poly1305.\n# poly_key:ffffffefeb344f6bc37ba77ea2ee06dfe8c7f4ae10810422124fc5e1bd7fe301\naad = ffffffff\nct = d6ffffffffffffffffffffffffffffff007a4c0e31b8da6074aab0ed22777a0dccffffffffffffffffffffffffffffff925a2aa19dbdcab24ee5f6096423430bccffffffffffffffffffffffffffffff925a2aa19dbdcab24ee5f6096423430b\niv = 000102030405060710abb165\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = f58ce708bf26aab862d97e1b42f31ef373bd9f01bf3331b12e31dd14cf11feee1d38aca2438b588d5459493e97e7fa33625c6965f61a1c36118c747076d5b7b76203478f2869b93ee29c837e95fb6b996e56626bd57661655a89ba2d8647ed73\nresult = valid\ntag = 7b207c2c3278c64f0d6b913fe371fe63\n\n# tcId = 230\n# edge case intermediate sums in poly1305.\n# poly_key:ffffffefeb344f6bc37ba77ea2ee06dfe8c7f4ae10810422124fc5e1bd7fe301\naad = ffffffff\nct = ffffffffffffffffffffffffffffffff9fcee0ff3132f9c9943bbab7eb79d17dfcffffffffffffffffffffffffffffff7d5d2424c74985c8bdb0fb6d9547180efcffffffffffffffffffffffffffffff7d5d2424c74985c8bdb0fb6d9547180e\niv = 000102030405060710abb165\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = dc8ce708bf26aab862d97e1b42f31ef3ec0933f0bfb91218cea0d74e061f559e2d38aca2438b588d5459493e97e7fa338d5b67e0acee534ce2d9791487b1ecb25203478f2869b93ee29c837e95fb6b9981516cee8f822e1fa9dcb7497723b676\nresult = valid\ntag = 3672162bb1f3ff537ece013f1aca4f68\n\n# tcId = 231\n# edge case intermediate sums in poly1305.\n# poly_key:ffffffefeb344f6bc37ba77ea2ee06dfe8c7f4ae10810422124fc5e1bd7fe301\naad = ffffffff\nct = ffffffffffffffffffffffffffffffff9d447240c65082b3cb93632621ef0f6bfaffffffffffffffffffffffffffffff7ad3b574439d5dbdb4844ceb6aab5d0afaffffffffffffffffffffffffffffff7ad3b574439d5dbdb4844ceb6aab5d0a\niv = 000102030405060710abb165\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = dc8ce708bf26aab862d97e1b42f31ef3ee83a14f48db696291080edfcc898b882b38aca2438b588d5459493e97e7fa338ad5f6b0283a8b39ebedce92785da9b65403478f2869b93ee29c837e95fb6b9986dffdbe0b56f66aa0e800cf88cff372\nresult = valid\ntag = 3572163b99284f5f3e4aa94dbab85677\n\n# tcId = 232\n# edge case intermediate sums in poly1305.\n# poly_key:ffffffefeb344f6bc37ba77ea2ee06dfe8c7f4ae10810422124fc5e1bd7fe301\naad = ffffffff\nct = ffffffffffffffffffffffffffffffff9bba03815a6f0b9d02ec0c9556644e58f8fffffffffff", + "fffffffffffffffffff774947c5bff035b2ab589d68400fa306f8ffffffffffffffffffffffffffffff774947c5bff035b2ab589d68400fa306\niv = 000102030405060710abb165\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = dc8ce708bf26aab862d97e1b42f31ef3e87dd08ed4e4e04c5877616cbb02cabb2938aca2438b588d5459493e97e7fa33874f0401d457e336f4311f1152f957ba5603478f2869b93ee29c837e95fb6b998b450f0ff73b9e65bf34d14ca26b0d7e\nresult = valid\ntag = 3472164b815d9e6afec5505c5aa75d86\n\n# tcId = 233\n# edge case intermediate sums in poly1305.\n# poly_key:ffffffefeb344f6bc37ba77ea2ee06dfe8c7f4ae10810422124fc5e1bd7fe301\naad = ffffffff\nct = ebffffffffffffffffffffffffffffff1823e5ecc873196275d7d6571437d40cd5ffffffffffffffffffffffffffffffdfb12895594ee6728fc57571671f8309d5ffffffffffffffffffffffffffffffdfb12895594ee6728fc57571671f8309\niv = 000102030405060710abb165\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = c88ce708bf26aab862d97e1b42f31ef36be436e346f8f2b32f4cbbaef95150ef0438aca2438b588d5459493e97e7fa332fb76b5132e930f6d0acf70875e977b57b03478f2869b93ee29c837e95fb6b9923bd605f11854da59ba93955857b2d71\nresult = valid\ntag = 3a7216d7ee1da018ce8412f251656b19\n\n# tcId = 234\n# edge case intermediate sums in poly1305.\n# poly_key:ffffffefeb344f6bc37ba77ea2ee06dfe8c7f4ae10810422124fc5e1bd7fe301\naad = ffffffff\nct = e6ffffffffffffffffffffffffffffff0bfb2a3fa2f6c94011a3c15b0ab5f00cccffffffffffffffffffffffffffffffd2896ee732d196512b9160755d9d9f09ccffffffffffffffffffffffffffffffd2896ee732d196512b9160755d9d9f09\niv = 000102030405060710abb165\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = c58ce708bf26aab862d97e1b42f31ef3783cf9302c7d22914b38aca2e7d374ef1d38aca2438b588d5459493e97e7fa33228f2d23597640d574f8e20c4f6b6bb56203478f2869b93ee29c837e95fb6b992e85262d7a1a3d863ffd2c51bff93171\nresult = valid\ntag = 367216178ff1dc45ce73b02cd21f8755\n\n# tcId = 235\n# edge case intermediate sums in poly1305.\n# poly_key:ffffffefeb344f6bc37ba77ea2ee06dfe8c7f4ae10810422124fc5e1bd7fe301\naad = ffffffff\nct = ffffffffffffffffffffffffffffffff2e70fc865fcbc0cb59e892f3713a50a8bca0fc1dc5fbf327fbb124545a50e9efbca0fc1dc5fbf327fbb124545a50e9ef\niv = 000102030405060710abb165\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = dc8ce708bf26aab862d97e1b42f31ef35db72f89d1402b1a0373ff0a9c5cd44b6d67af40798f5455501792953248ec234ca6bfd9ae5c25a3a4d8a62d48a61d53\nresult = valid\ntag = 0b4961c9525ea2f2cdad6273e1c7824c\n\n# tcId = 236\n# edge case intermediate sums in poly1305.\n# poly_key:ffffffefeb344f6bc37ba77ea2ee06dfe8c7f4ae10810422124fc5e1bd7fe301\naad = ffffffff\nct = ffffffffffffffffffffffffffffffff2ce68dc7f3e949b590403c62a7af8e95b9168e5e591a7d11320acec28fc527ddb9168e5e591a7d11320acec28fc527dd\niv = 000102030405060710abb165\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = dc8ce708bf26aab862d97e1b42f31ef35f215ec87d62a264cadb519b4ac90a7668d1dd03e56eda6399ac7803e7dd22114910cd9a32bdab956d634cbb9d33d361\nresult = valid\ntag = 0a4961d93a93f1fd8d290a8281b6895b\n\n# tcId = 237\n# edge case intermediate sums in poly1305.\n# poly_key:ffffffefeb344f6bc37ba77ea2ee06dfe8c7f4ae10810422124fc5e1bd7fe301\naad = ffffffff\nct = ffffffffffffffffffffffffffffffffa29d069f5384ab6b4237bc911bcaf399deffffffffffffffffffffffffffffff632c4abb769e76ce8c66991577f49403deffffffffffffffffffffffffffffff632c4abb769e76ce8c66991577f49403\niv = 000102030405060710abb165\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = dc8ce708bf26aab862d97e1b42f31ef3d15ad590dd0f40ba18acd168f6ac777a0f38aca2438b588d5459493e97e7fa33932a097f1d39a04ad30f1b6c650260bf7003478f2869b93ee29c837e95fb6b999f2002713e55dd19980ad53195903a7b\nresult = valid\ntag = 3572161355240943de9406292a64c551\n\n# tcId = 238\n# edge case intermediate sums in poly1305.\n# poly_key:946aff9f2a13f56f92a5f9cfee3cdb1fef6d98d5a55ab563cb28620cd57f19d2\naad = ffffffff\nct = d9ffffffffffffffffffffffffffffffa009d73c6544428cfac0b2d8c7bbef0bedffffffffffffffffffffffffffffff8a5ef60715bc4b07c92b9707376da105edffffffffffffffffffffffffffffff8a5ef60715bc4b07c92b9707376da105\niv = 00010203040506072dd4cd40\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 40115e67ecd3d4178c4c60e713ab4e5e390ef93aeb61aa307f141323c38e0685fa47139a5f4e3f8e92d7a3b71eb4ff0e259445f4ffc31bce540190edd6ad207876a0085c32ddfcbeb01a8be4c34d5331eda1a5b6139750f973f0d4841baa2cb8\nresult = valid\ntag = 19532d9fa0b5fbd582aaeda830602f1d\n\n# tcId = 239\n# edge case intermediate sums in poly1305.\n# poly_key:946aff9f2a13f56f92a5f9cfee3cdb1fef6d98d5a55ab563cb28620cd57f19d2\naad = ffffffff\nct = d0ffffffffffffffffffffffffffffff792ca9a820a9d5140c8b2d4bf28c250ee3ffffffffffffffffffffffffffffff6381c873d020df8fdaf5117a613ed707e3ffffffffffffffffffffffffffffff6381c873d020df8fdaf5117a613ed707\niv = 00010203040506072dd4cd40\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 49115e67ecd3d4178c4c60e713ab4e5ee02b87aeae8c3da8895f8cb0f6b9cc80f447139a5f4e3f8e92d7a3b71eb4ff0ecc4b7b803a5f8f4647df169080fe567a78a0085c32ddfcbeb01a8be4c34d5331047e9bc2d60bc471602e52f94df95aba\nresult = valid\ntag = adbd2cafc8c8f0e51250e7b81c9d0a2d\n\n# tcId = 240\n# edge case intermediate sums in poly1305.\n# poly_key:946aff9f2a13f56f92a5f9cfee3cdb1fef6d98d5a55ab563cb28620cd57f19d2\naad = ffffffff\nct = da047b7825db1802e8e8e1aac6ba88fc2ff2344b9e99ccdc04d8836d556083412ff2344b9e99ccdc04d8836d55608341\niv = 00010203040506072dd4cd40\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 43eadae036f733ea9b5b7eb22aee395db6f51a4d10bc2460810c229651556acf384ad82e3e280cad69f0df25b42b83b0\nresult = valid\ntag = 973e270a7afcab75348e14dbe19c5156\n\n# tcId = 241\n# edge case intermediate sums in poly1305.\n# poly_key:946aff9f2a13f56f92a5f9cfee3cdb1fef6d98d5a55ab563cb28620cd57f19d2\naad = ffffffff\nct = ffffffffffffffffffffffffffffffff101c5773af9f7ae7a1ddab5468716b34ffffffffffffffffffffffffffffffffc29a70deefd6160211c050231084adccffffffffffffffffffffffffffffffffc29a70deefd6160211c050231084adcc\niv = 00010203040506072dd4cd40\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 66115e67ecd3d4178c4c60e713ab4e5e891b797521ba925b24090aaf6c4482bae847139a5f4e3f8e92d7a3b71eb4ff0e6d50c32d05a946cb8cea57c9f1442cb164a0085c32ddfcbeb01a8be4c34d5331a565236fe9fd0dfcab1b13a03c432071\nresult = valid\ntag = e17c273f31758e752322ae4869c1bfbb\n\n# tcId = 242\n# edge case intermediate sums in poly1305.\n# poly_key:946aff9f2a13f56f92a5f9cfee3cdb1fef6d98d5a55ab563cb28620cd57f19d2\naad = ffffffff\nct = f3ffffffffffffffffffffffffffffffc89be2ed79009b676b58b30c466038021d65fc5026ae3c7a12685bd377d48c921d65fc5026ae3c7a12685bd377d48c92\niv = 00010203040506072dd4cd40\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 6a115e67ecd3d4178c4c60e713ab4e5e519cccebf72573dbee8c12f74255d18c0add1035861ffc0b7f40079b969f8c63b2af4fa3ccd16cb38f425c3996140def\nresult = valid\ntag = a22390224c5db0f01696743d870725c5\n\n# tcId = 243\n# edge case intermediate sums in poly1305.\n# poly_key:946aff9f2a13f56f92a5f9cfee3cdb1fef6d98d5a55ab563cb28620cd57f19d2\naad = ffffffff\nct = 7bdb195a00a87e98f6706df3c6db12c1c1c8d32c7966327313600fb655810d06c1c8d32c7966327313600fb655810d06\niv = 00010203040506072dd4cd40\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = e235b8c21384557085c3f2eb2a8fa36058cffd2af743dacf96b4ae4d51b4e488d6703f49d9d7f2027e4853feb4ca0df7\nresult = valid\ntag = 437d1efad21b0865a541b5cab62e2a44\n\n# tcId = 244\n# edge case intermediate sums in poly1305.\n# poly_key:946aff9f2a13f56f92a5f9cfee3cdb1fef6d98d5a55ab563cb28620cd57f19d2\naad = ffffffff\nct = ffffffffffffffffffffffffffffffff16ac7651c417c310eaede58fe0fb9720d4ffffffffffffffffffffffffffffffde999e08e4ee117994a93eadc3421f01d4ffffffffffffffffffffffffffffffde999e08e4ee117994a93eadc3421f01\niv = 00010203040506072dd4cd40\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 66115e67ecd3d4178c4c60e713ab4e5e8fab58574a322bac6f394474e4ce7eaec347139a5f4e3f8e92d7a3b71eb4ff0e71532dfb0e9141b00983394722829e7c4fa0085c32ddfcbeb01a8be4c34d5331b966cdb9e2c50a872e727d2eef8592bc\nresult = valid\ntag = acf4ffa20c0d06d61a18e9a8d4c84d1d\n\n# tcId = 245\n# edge case intermediate sums in poly1305.\n# poly_key:946aff9f2a13f56f92a5f9", + "cfee3cdb1fef6d98d5a55ab563cb28620cd57f19d2\naad = ffffffff\nct = f8ffffffffffffffffffffffffffffffc7f9499d2f566c79db6c6de23253170313d86050a363d7db52b8f5f800f8b3e213d86050a363d7db52b8f5f800f8b3e2\niv = 00010203040506072dd4cd40\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 61115e67ecd3d4178c4c60e713ab4e5e5efe679ba17384c55eb8cc193666fe8d04608c3503d217aa3f90a9b0e1b3b313bc12d3a3491c8712cf92f212e138329f\nresult = valid\ntag = cd466d06e75b7fd18d5fe21d9227d9a7\n\n# tcId = 246\n# edge case intermediate sums in poly1305.\n# poly_key:946aff9f2a13f56f92a5f9cfee3cdb1fef6d98d5a55ab563cb28620cd57f19d2\naad = ffffffff\nct = 098a19123b0c79499df7401d41758c07e0ffffffffffffffffffffffffffffff460a896b69f43eb668a0e02d475da503e0ffffffffffffffffffffffffffffff460a896b69f43eb668a0e02d475da503\niv = 00010203040506072dd4cd40\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 9064b88a282052a1ee44df05ad213da679f8d1f971da17437a2b5e04fbca167151b2650ec945fec70588bc65a616a5f24f354c0c1580af3662d5f8151e3f7e82dd557ec8a4d63df7274594367bef09cd\nresult = valid\ntag = ce8a3d4d887d95613d829b538ed01196\n\n# tcId = 247\n# edge case intermediate sums in poly1305.\n# poly_key:946aff9f2a13f56f92a5f9cfee3cdb1fef6d98d5a55ab563cb28620cd57f19d2\naad = ffffffff\nct = daffffffffffffffffffffffffffffff77f155d2f77e9cbddfe0326b5961a308ffffffffffffffffffffffffffffffff9e5d0ddb05871390b6f2fb67b644a0abffffffffffffffffffffffffffffffff9e5d0ddb05871390b6f2fb67b644a0ab\niv = 00010203040506072dd4cd40\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 43115e67ecd3d4178c4c60e713ab4e5eeef67bd4795b74015a3493905d544a86e847139a5f4e3f8e92d7a3b71eb4ff0e3197be28eff843592bd8fc8d578421d664a0085c32ddfcbeb01a8be4c34d5331f9a25e6a03ac086e0c29b8e49a832d16\nresult = valid\ntag = 08289f5199df476fe90475cb95225566\n\n# tcId = 248\n# edge case intermediate sums in poly1305.\n# poly_key:946aff9f2a13f56f92a5f9cfee3cdb1fef6d98d5a55ab563cb28620cd57f19d2\naad = ffffffff\nct = f2ffffffffffffffffffffffffffffff87336f2c3e85be548c0175422fd4fb045c92897fc21f6b57a26b23f9740b75855c92897fc21f6b57a26b23f9740b7585\niv = 00010203040506072dd4cd40\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 6b115e67ecd3d4178c4c60e713ab4e5e1e34412ab0a056e809d5d4b92be1128a4b2a651a62aeab26cf437fb195407574f3583a8c28603b9e3f41241395cbf4f8\nresult = valid\ntag = 06df93f651ea5cc56911f30d3e58f997\n\n# tcId = 249\n# edge case intermediate sums in poly1305.\n# poly_key:946aff9f2a13f56f92a5f9cfee3cdb1fef6d98d5a55ab563cb28620cd57f19d2\naad = ffffffff\nct = a608a7889c19ad7587743519c412fbb3fcffffffffffffffffffffffffffffffea06685faa687e546871cee38c80c900fcffffffffffffffffffffffffffffffea06685faa687e546871cee38c80c900\niv = 00010203040506072dd4cd40\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 3fe606108f35869df4c7aa0128464a1265f8d1f971da17437a2b5e04fbca1671fdbe843a0ad9be25055992ab6dcbc9f153354c0c1580af3662d5f8151e3f7e8271599ffc674a7d152794baf8b03265ce\nresult = valid\ntag = 9264fc0f47febb30661254daf9a06189\n\n# tcId = 250\n# edge case intermediate sums in poly1305.\n# poly_key:946aff9f2a13f56f92a5f9cfee3cdb1fef6d98d5a55ab563cb28620cd57f19d2\naad = ffffffff\nct = f7601814e4d3d5a4a530c99414c628b4fdffffffffffffffffffffffffffffffd0b7b1ee90778b838bf98a5b15450b01fdffffffffffffffffffffffffffffffd0b7b1ee90778b838bf98a5b15450b01\niv = 00010203040506072dd4cd40\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 6e8eb98cf7fffe4cd683568cf892991564f8d1f971da17437a2b5e04fbca1671c70f5d8b30c64bf2e6d1d613f40e0bf052354c0c1580af3662d5f8151e3f7e824be8464d5d5588c2c41cfe4029f7a7cf\nresult = valid\ntag = 69a124fc7f96e220d1a031ced5527279\n\n# tcId = 251\n# edge case intermediate sums in poly1305.\n# poly_key:946aff9f2a13f56f92a5f9cfee3cdb1fef6d98d5a55ab563cb28620cd57f19d2\naad = ffffffff\nct = d6ffffffffffffffffffffffffffffffd85108996dfff8a26ede1e76de151701e8ffffffffffffffffffffffffffffffc5265a700c30c72da2df2eb129447b0ae8ffffffffffffffffffffffffffffffc5265a700c30c72da2df2eb129447b0a\niv = 00010203040506072dd4cd40\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 4f115e67ecd3d4178c4c60e713ab4e5e4156269fe3da101eeb0abf8dda20fe8fff47139a5f4e3f8e92d7a3b71eb4ff0e6aece983e64f97e43ff5295bc884fa7773a0085c32ddfcbeb01a8be4c34d5331a2d909c10a1bdcd318046d320583f6b7\nresult = valid\ntag = 3ea8f9b2012321e63d5fb5bc2c5d332d\n\n# tcId = 252\n# edge case intermediate sums in poly1305.\n# poly_key:946aff9f2a13f56f92a5f9cfee3cdb1fef6d98d5a55ab563cb28620cd57f19d2\naad = ffffffff\nct = ffffffffffffffffffffffffffffffff81f60be9b969fce8335443cf23d235e7f3ffffffffffffffffffffffffffffff2a41bb18f72745b93ae719a2b8fbf408f3ffffffffffffffffffffffffffffff2a41bb18f72745b93ae719a2b8fbf408\niv = 00010203040506072dd4cd40\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 66115e67ecd3d4178c4c60e713ab4e5e18f125ef374c1454b680e23427e7dc69e447139a5f4e3f8e92d7a3b71eb4ff0e858b08eb1d581570a7cd1e48593b757568a0085c32ddfcbeb01a8be4c34d53314dbee8a9f10c5e47803c5a21943c79b5\nresult = valid\ntag = dfaf8a3a15d45e7f4c3430048d8589f0\n\n# tcId = 253\n# edge case intermediate sums in poly1305.\n# poly_key:946aff9f2a13f56f92a5f9cfee3cdb1fef6d98d5a55ab563cb28620cd57f19d2\naad = ffffffff\nct = 29c416dfb03cfd4bc8680819666f5912d8ffffffffffffffffffffffffffffffa01bd4d99492492e62f13093c6ec8703d8ffffffffffffffffffffffffffffffa01bd4d99492492e62f13093c6ec8703\niv = 00010203040506072dd4cd40\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = b02ab747a310d6a3bbdb97018a3be8b341f8d1f971da17437a2b5e04fbca1671b7a338bc3423895f0fd96cdb27a787f277354c0c1580af3662d5f8151e3f7e823b44237a59b04a6f2d144488fa5e2bcd\nresult = valid\ntag = 3408eb2b13a9b76befcedf699422d61f\n\n# tcId = 254\n# edge case intermediate sums in poly1305.\n# poly_key:946aff9f2a13f56f92a5f9cfee3cdb1fef6d98d5a55ab563cb28620cd57f19d2\naad = ffffffff\nct = d9ffffffffffffffffffffffffffffffa109d73c6544428cfac0b2d8c7bbef0be1ffffffffffffffffffffffffffffff90bc29c302ea4f3b661c584d613d5f03e1ffffffffffffffffffffffffffffff90bc29c302ea4f3b661c584d613d5f03\niv = 00010203040506072dd4cd40\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 40115e67ecd3d4178c4c60e713ab4e5e380ef93aeb61aa307f141323c38e0685f647139a5f4e3f8e92d7a3b71eb4ff0e3f769a30e8951ff2fb365fa780fdde7e7aa0085c32ddfcbeb01a8be4c34d5331f7437a7204c154c5dcc71bce4dfad2be\nresult = valid\ntag = 09f4f2a3936d7461a67ce022176bb8dd\n\n# tcId = 255\n# edge case intermediate sums in poly1305.\n# poly_key:946aff9f2a13f56f92a5f9cfee3cdb1fef6d98d5a55ab563cb28620cd57f19d2\naad = ffffffff\nct = d9ffffffffffffffffffffffffffffff9f09d73c6544428cfac0b2d8c7bbef0bf9ffffffffffffffffffffffffffffff8400c34c278e47d32b3bd6c10c9de307f9ffffffffffffffffffffffffffffff8400c34c278e47d32b3bd6c10c9de307\niv = 00010203040506072dd4cd40\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 40115e67ecd3d4178c4c60e713ab4e5e060ef93aeb61aa307f141323c38e0685ee47139a5f4e3f8e92d7a3b71eb4ff0e2bca70bfcdf1171ab611d12bed5d627a62a0085c32ddfcbeb01a8be4c34d5331e3ff90fd21a55c2d91e09542205a6eba\nresult = valid\ntag = 2eb2679aadfd824a5fd8fa2e4a55a65c\n\n# tcId = 256\n# edge case intermediate sums in poly1305.\n# poly_key:946aff9f2a13f56f92a5f9cfee3cdb1fef6d98d5a55ab563cb28620cd57f19d2\naad = ffffffff\nct = cffffffffffffffffffffffffffffffff5793d144852a712f8cafcf7c23ceb01e2ffffffffffffffffffffffffffffff2e0355ef5491859df636e2321f329b07e2ffffffffffffffffffffffffffffff2e0355ef5491859df636e2321f329b07\niv = 00010203040506072dd4cd40\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 56115e67ecd3d4178c4c60e713ab4e5e6c7e1312c6774fae7d1e5d0cc609028ff547139a5f4e3f8e92d7a3b71eb4ff0e81c9e61cbeeed5546b1ce5d8fef21a7a79a0085c32ddfcbeb01a8be4c34d533149fc065e52ba9e634ceda1b133f516ba\nresult = valid\ntag = 5e89349f6b011cd6e24ee6ac2f590c21\n\n# tcId = 257\n# edge case intermediate sums in poly1305.\n# poly_key:946aff9f2a13f56f92a5f9cfee3cdb1fef6d98d5a55ab563cb28620cd57f19d2\naad = ffffffff\nct = b746e0935ee6a77520da3f2b348fd045f5ffffffffffffffffffffffffffffffe74d62ee1add31d44c6e7b756eabc40df5ffffffffffffffffffffffffffffffe74d62ee1add31d44c6e7b756eabc40d\niv = 00010203040506072dd4cd40\nkey = 000102030405060708090a0b0c0d0e0f101112131415", + "161718191a1b1c1d1e1f\nmsg = 2ea8410b4dca8c9d5369a033d8db61e46cf8d1f971da17437a2b5e04fbca1671f0f58e8bba6cf1a52146273d8fe0c4fc5a354c0c1580af3662d5f8151e3f7e827c12954dd7ff3295038b0f6e521968c3\nresult = valid\ntag = b24537fcb0dcb6200b0285cafc9c3a7d\n\n# tcId = 258\n# edge case intermediate sums in poly1305.\n# poly_key:946aff9f2a13f56f92a5f9cfee3cdb1fef6d98d5a55ab563cb28620cd57f19d2\naad = ffffffff\nct = 8eeb3be49baf8963e30e0bb6a885e597fbffffffffffffffffffffffffffffffb588f4da2ed9246284b29e9c4a748d00fbffffffffffffffffffffffffffffffb588f4da2ed9246284b29e9c4a748d00\niv = 00010203040506072dd4cd40\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 17059a7c8883a28b90bd94ae44d1543662f8d1f971da17437a2b5e04fbca1671a23018bf8e68e413e99ac2d4ab3f8df154354c0c1580af3662d5f8151e3f7e822ed70379e3fb2723cb57ea8776c621ce\nresult = valid\ntag = 43300400ea36e720361153ce0c5d637d\n\n# tcId = 259\n# edge case intermediate sums in poly1305.\n# poly_key:946aff9f2a13f56f92a5f9cfee3cdb1fef6d98d5a55ab563cb28620cd57f19d2\naad = ffffffff\nct = 334f13c0ee677f5ce406bf988632660bf1ffffffffffffffffffffffffffffff8eabc646ea3db8ea957c190f7545c302f1ffffffffffffffffffffffffffffff8eabc646ea3db8ea957c190f7545c302\niv = 00010203040506072dd4cd40\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = aaa1b258fd4b54b497b520806a66d7aa68f8d1f971da17437a2b5e04fbca167199132a234a8c789bf8544547940ec3f35e354c0c1580af3662d5f8151e3f7e8215f431e5271fbbabda996d1449f76fcc\nresult = valid\ntag = d79a0310124adc30c6b64cdef8993e8d\n\n# tcId = 260\n# edge case intermediate sums in poly1305.\n# poly_key:946aff9f2a13f56f92a5f9cfee3cdb1fef6d98d5a55ab563cb28620cd57f19d2\naad = ffffffff\nct = d5ffffffffffffffffffffffffffffff225479ebbf6f3ffc3c45ae566b343e0fe7ffffffffffffffffffffffffffffff67ce98b2a5a24b73a74694819f16f904e7ffffffffffffffffffffffffffffff67ce98b2a5a24b73a74694819f16f904\niv = 00010203040506072dd4cd40\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 4c115e67ecd3d4178c4c60e713ab4e5ebb5357ed314ad740b9910fad6f01d781f047139a5f4e3f8e92d7a3b71eb4ff0ec8042b414fdd1bba3a6c936b7ed678797ca0085c32ddfcbeb01a8be4c34d53310031cb03a389508d1d9dd702b3d174b9\nresult = valid\ntag = e6022cc3ba20e3f9065fdfcc43a9dc40\n\n# tcId = 261\n# edge case intermediate sums in poly1305.\n# poly_key:946aff9f2a13f56f92a5f9cfee3cdb1fef6d98d5a55ab563cb28620cd57f19d2\naad = ffffffff\nct = ffffffffffffffffffffffffffffffff6f45b891d4d214519355200c6850e16fdeffffffffffffffffffffffffffffffe6bfb5fc97a1a469054394d952cf3e01deffffffffffffffffffffffffffffffe6bfb5fc97a1a469054394d952cf3e01\niv = 00010203040506072dd4cd40\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 66115e67ecd3d4178c4c60e713ab4e5ef64296975af7fced168181f76c6508e1c947139a5f4e3f8e92d7a3b71eb4ff0e4975060f7ddef4a098699333b30fbf7c45a0085c32ddfcbeb01a8be4c34d53318140e64d918abf97bf98d75a7e08b3bc\nresult = valid\ntag = 353e304fd8553286b26e0d59942fe7cd\n\n# tcId = 262\n# edge case intermediate sums in poly1305.\n# poly_key:946aff9f2a13f56f92a5f9cfee3cdb1fef6d98d5a55ab563cb28620cd57f19d2\naad = ffffffff\nct = 01af6e513489562ce218aa5a93ad8447f7ffffffffffffffffffffffffffffffb13b249c5957b87eb7611c950c9c6b03f7ffffffffffffffffffffffffffffffb13b249c5957b87eb7611c950c9c6b03\niv = 00010203040506072dd4cd40\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 9841cfc927a57dc491ab35427ff935e66ef8d1f971da17437a2b5e04fbca1671a683c8f9f9e6780fda4940ddedd76bf258354c0c1580af3662d5f8151e3f7e822a64d33f9475bb3ff884688e302ec7cd\nresult = valid\ntag = 0aeb04ecf7def40c42025bbae5509169\n\n# tcId = 263\n# edge case intermediate sums in poly1305.\n# poly_key:946aff9f2a13f56f92a5f9cfee3cdb1fef6d98d5a55ab563cb28620cd57f19d2\naad = ffffffff\nct = dbffffffffffffffffffffffffffffff9266919df28a6b70b10ec3ae9764ab07ffffffffffffffffffffffffffffffffc6a0ef8c53a5cc1d3eb6827be9ad3550ffffffffffffffffffffffffffffffffc6a0ef8c53a5cc1d3eb6827be9ad3550\niv = 00010203040506072dd4cd40\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 42115e67ecd3d4178c4c60e713ab4e5e0b61bf9b7caf83cc34da625593514289e847139a5f4e3f8e92d7a3b71eb4ff0e696a5c7fb9da9cd4a39c8591086db42d64a0085c32ddfcbeb01a8be4c34d5331a15fbc3d558ed7e3846dc1f8c56ab8ed\nresult = valid\ntag = 8fc4f77a6ee052a4c314780b8df9a2d0\n\n# tcId = 264\n# edge case intermediate sums in poly1305.\n# poly_key:946aff9f2a13f56f92a5f9cfee3cdb1fef6d98d5a55ab563cb28620cd57f19d2\naad = ffffffff\nct = d2ffffffffffffffffffffffffffffff6b896309aeeffef8c2d83d21c235e109faffffffffffffffffffffffffffffffbbaec4a846aa96567f441d9e774e2303faffffffffffffffffffffffffffffffbbaec4a846aa96567f441d9e774e2303\niv = 00010203040506072dd4cd40\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 4b115e67ecd3d4178c4c60e713ab4e5ef28e4d0f20ca1644470c9cdac6000887ed47139a5f4e3f8e92d7a3b71eb4ff0e1464775bacd5c69fe26e1a74968ea27e61a0085c32ddfcbeb01a8be4c34d5331dc51971940818da8c59f5e1d5b89aebe\nresult = valid\ntag = 232ff78a96f347b453ba711b79367ee0\n\n# tcId = 265\n# edge case intermediate sums in poly1305.\n# poly_key:946aff9f2a13f56f92a5f9cfee3cdb1fef6d98d5a55ab563cb28620cd57f19d2\naad = ffffffff\nct = d4fffffffffffffffffffffffffffffff7e106fac57dd8a4c90632cd4e14d70ae9ffffffffffffffffffffffffffffff861126c93f3adf23fcda1400f9947f08e9ffffffffffffffffffffffffffffff861126c93f3adf23fcda1400f9947f08\niv = 00010203040506072dd4cd40\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 4d115e67ecd3d4178c4c60e713ab4e5e6ee628fc4b5830184cd293364a213e84fe47139a5f4e3f8e92d7a3b71eb4ff0e29db953ad5458fea61f013ea1854fe7572a0085c32ddfcbeb01a8be4c34d5331e1ee75783911c4dd46015783d553f2b5\nresult = valid\ntag = e00d2e8bae5d09c28e9bf59409545d09\n\n# tcId = 266\n# edge case intermediate sums in poly1305.\n# poly_key:dc46b3c53be153ccd4986678ffffffafe484c316c93f64195da65a2742fd3fec\naad = ffffffff\nct = f9ffffffffffffffffffffffffffffff015d1565924f6c7418de9babf8be4407edffffffffffffffffffffffffffffff2e110e5e1c0468cbaad99c8abeffff07edffffffffffffffffffffffffffffff2e110e5e1c0468cbaad99c8abeffff07\niv = 000102030405060703e76f6f\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 19de9b9ec8b247d42bbee2016d6715babc286fd979807951b183a188930ad15edcf0b056a2eecc51d30838e640615e14890e659fd3028c904e65018fdfd6038333d14da7b4f76f9f68fa8903138d563c33b7fb50c3e7ebca970f6f89a88a82d6\nresult = valid\ntag = 47e5d4294239db73b836c04070ff5b2d\n\n# tcId = 267\n# edge case intermediate sums in poly1305.\n# poly_key:dc46b3c53be153ccd4986678ffffffafe484c316c93f64195da65a2742fd3fec\naad = ffffffff\nct = ffffffffffffffffffffffffffffffff3eeafba63bfe1952ac727f1160b90039f5ffffffffffffffffffffffffffffffd7c9da8e1d0f1a84c2a34cd731fabb09f5ffffffffffffffffffffffffffffffd7c9da8e1d0f1a84c2a34cd731fabb09\niv = 000102030405060703e76f6f\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 1fde9b9ec8b247d42bbee2016d6715ba839f811ad0310c77052f45320b0d9560c4f0b056a2eecc51d30838e640615e1470d6b14fd209fedf261fd1d250d3478d2bd14da7b4f76f9f68fa8903138d563cca6f2f80c2ec9985ff75bfd4278fc6d8\nresult = valid\ntag = 232c882f7a1a2f808ccf26496cff5b3d\n\n# tcId = 268\n# edge case intermediate sums in poly1305.\n# poly_key:dc46b3c53be153ccd4986678ffffffafe484c316c93f64195da65a2742fd3fec\naad = ffffffff\nct = 771078b7d59fe2509aeb0b0e34844c61d6ffffffffffffffffffffffffffffffa41c2cb9eba7866f50684b1b05e3ab00d6ffffffffffffffffffffffffffffffa41c2cb9eba7866f50684b1b05e3ab00\niv = 000102030405060703e76f6f\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 97311cd6e2d25a7b4eaa16f0a61ca6246b8a85431430eada56a2c5dc944b6aa695136310b6b6b5c17c9f8c02ba7d0aeb71e0943e30f91ba41b4362fa9ed6037b7a329ee1a0af160fc76d3de7e99102c3\nresult = valid\ntag = d71bc70d5adc74e7dfd89406fc15f044\n\n# tcId = 269\n# edge case intermediate sums in poly1305.\n# poly_key:dc46b3c53be153ccd4986678ffffffafe484c316c93f64195da65a2742fd3fec\naad = ffffffff\nct = d4ffffffffffffffffffffffffffffffc9ba04216978fdc837945fd581859c08ed1f06e9bd9b718c799feff21bc757b1ed1f06e9bd9b718c799feff21bc757b1\niv = 000102030405060703e76f6f\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 34de9b9ec8b247d42bbee2016d6715ba74cf7e9d82b7e8ed9ec965f6ea310951dc104940e08a4222556828eba459f65a4a006d28729d95d79d237", + "2f77aeeab35\nresult = valid\ntag = 21e63987d494673f3040ae9de2bc0da0\n\n# tcId = 270\n# edge case intermediate sums in poly1305.\n# poly_key:dc46b3c53be153ccd4986678ffffffafe484c316c93f64195da65a2742fd3fec\naad = ffffffff\nct = 070ae7307913e87b443128628e349459ffffffffffffffffffffffffffffffffebdc16f985b886f46bd85ca13994f388ffffffffffffffffffffffffffffffffebdc16f985b886f46bd85ca13994f388\niv = 000102030405060703e76f6f\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = e72b83514e5e50509070359c1cac7e1c428a85431430eada56a2c5dc944b6aa6dad35950d8a9b55a472f9bb8860a526358e0943e30f91ba41b4362fa9ed6037b35f2a4a1ceb01694fcdd2a5dd5e65a4b\nresult = valid\ntag = e4fb945d6a2d0b947834317cc415f024\n\n# tcId = 271\n# edge case intermediate sums in poly1305.\n# poly_key:dc46b3c53be153ccd4986678ffffffafe484c316c93f64195da65a2742fd3fec\naad = ffffffff\nct = 6c40019572098da3d05a73fadd2e50ebcfffffffffffffffffffffffffffffffb9151b69c807925fe6107ec4ce8daf0acfffffffffffffffffffffffffffffffb9151b69c807925fe6107ec4ce8daf0a\niv = 000102030405060703e76f6f\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 8c6165f445443588041b6e044fb6baae728a85431430eada56a2c5dc944b6aa6881a54c09516a1f1cae7b9dd71130ee168e0943e30f91ba41b4362fa9ed6037b673ba931830f023f7115083822ff06c9\nresult = valid\ntag = c0424863a20e5fa04ccd9784c015f034\n\n# tcId = 272\n# edge case intermediate sums in poly1305.\n# poly_key:dc46b3c53be153ccd4986678ffffffafe484c316c93f64195da65a2742fd3fec\naad = ffffffff\nct = f8c2051563121fc74ae8eda3e2cf2f8fdeffffffffffffffffffffffffffffff724153f72c1168c720520c94e7952806deffffffffffffffffffffffffffffff724153f72c1168c720520c94e7952806\niv = 000102030405060703e76f6f\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 18e36174545fa7ec9ea9f05d7057c5ca638a85431430eada56a2c5dc944b6aa6434e1c5e71005b690ca5cb8d580b89ed79e0943e30f91ba41b4362fa9ed6037bac6fe1af6719f8a7b7577a680be781c5\nresult = valid\ntag = aa7293ffe5db30a31f2581e0e7ae56ed\n\n# tcId = 273\n# edge case intermediate sums in poly1305.\n# poly_key:dc46b3c53be153ccd4986678ffffffafe484c316c93f64195da65a2742fd3fec\naad = ffffffff\nct = f2ffffffffffffffffffffffffffffffe945274380aed12ede010f0e69e88f0fe6ffffffffffffffffffffffffffffff1bfa1f282e1c1a80381cbce05a90e407e6ffffffffffffffffffffffffffffff1bfa1f282e1c1a80381cbce05a90e407\niv = 000102030405060703e76f6f\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 12de9b9ec8b247d42bbee2016d6715ba54305dff6b61c40b775c352d025c1a56d7f0b056a2eecc51d30838e640615e14bce574e9e11afedbdca021e53bb9188338d14da7b4f76f9f68fa8903138d563c065cea26f1ff998105ca4fe34ce599d6\nresult = valid\ntag = 42e5d43d1e808e79f017144d4498c235\n\n# tcId = 274\n# edge case intermediate sums in poly1305.\n# poly_key:dc46b3c53be153ccd4986678ffffffafe484c316c93f64195da65a2742fd3fec\naad = ffffffff\nct = ffffffffffffffffffffffffffffffff6270e3a5a0c3fdb56540b490e801ea61edffffffffffffffffffffffffffffff92c0eac6b200642c2a3cc3a0f3df040cedffffffffffffffffffffffffffffff92c0eac6b200642c2a3cc3a0f3df040c\niv = 000102030405060703e76f6f\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 1fde9b9ec8b247d42bbee2016d6715badf0599194b0ce890cc1d8eb383b57f38dcf0b056a2eecc51d30838e640615e1435df81077d068077ce805ea592f6f88833d14da7b4f76f9f68fa8903138d563c8f661fc86de3e72d17ea30a3e5aa79dd\nresult = valid\ntag = 6cf2f9230af8679e7ecb19421362fce3\n\n# tcId = 275\n# edge case intermediate sums in poly1305.\n# poly_key:dc46b3c53be153ccd4986678ffffffafe484c316c93f64195da65a2742fd3fec\naad = ffffffff\nct = d9fffffffffffffffffffffffffffffffde79b4549e39e3db110ba7f793e4b0ef6ffffffffffffffffffffffffffffffc3e1e05a1227be39edcf32fb9fbac501f6ffffffffffffffffffffffffffffffc3e1e05a1227be39edcf32fb9fbac501\niv = 000102030405060703e76f6f\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 39de9b9ec8b247d42bbee2016d6715ba4092e1f9a22c8b18184d805c128ade57c7f0b056a2eecc51d30838e640615e1464fe8b9bdd215a620973affefe93398528d14da7b4f76f9f68fa8903138d563cde471554cdc43d38d019c1f889cfb8d0\nresult = valid\ntag = 6d46d2230a9848d518f9d94bb2c49caa\n\n# tcId = 276\n# edge case intermediate sums in poly1305.\n# poly_key:dc46b3c53be153ccd4986678ffffffafe484c316c93f64195da65a2742fd3fec\naad = ffffffff\nct = f2ffffffffffffffffffffffffffffff8f0a40a7047b3d59be1839b286ba2d0de7ffffffffffffffffffffffffffffffb37fb895932f399c74cd868b141a9501e7ffffffffffffffffffffffffffffffb37fb895932f399c74cd868b141a9501\niv = 000102030405060703e76f6f\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 12de9b9ec8b247d42bbee2016d6715ba327f3a1befb4287c17450391ed0eb854d6f0b056a2eecc51d30838e640615e141460d3545c29ddc790711b8e7533698539d14da7b4f76f9f68fa8903138d563caed94d9b4cccba9d491b7588026fe8d0\nresult = valid\ntag = 74dda12e0558877bc0e40c3eace0af29\n\n# tcId = 277\n# edge case intermediate sums in poly1305.\n# poly_key:dc46b3c53be153ccd4986678ffffffafe484c316c93f64195da65a2742fd3fec\naad = ffffffff\nct = fbffffffffffffffffffffffffffffff38c30cd80586ef11d6e2e8fef9b4e90eefffffffffffffffffffffffffffffff5c3885c6943aeb548c9736d887145103efffffffffffffffffffffffffffffff5c3885c6943aeb548c9736d887145103\niv = 000102030405060703e76f6f\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 1bde9b9ec8b247d42bbee2016d6715ba85b67664ee49fa347fbfd2dd92007c57def0b056a2eecc51d30838e640615e14fb27ee075b3c0f0f682babdde63dad8731d14da7b4f76f9f68fa8903138d563c419e70c84bd96855b141c5db91612cd2\nresult = valid\ntag = 502455343d39db87947d7346a8e0af39\n\n# tcId = 278\n# edge case intermediate sums in poly1305.\n# poly_key:dc46b3c53be153ccd4986678ffffffafe484c316c93f64195da65a2742fd3fec\naad = ffffffff\nct = d6ffffffffffffffffffffffffffffffac47fba7c4d7273e00c6286047cb1303923a637b8abd431aea02868ed80ccfcb923a637b8abd431aea02868ed80ccfcb\niv = 000102030405060703e76f6f\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 36de9b9ec8b247d42bbee2016d6715ba1132811b2f18321ba99b12432c7f865aa3352cd2d7ac70b4c6f5419767926e20352508ba45bba7410ebe1b8bb925334f\nresult = valid\ntag = 14fba149d1c0edc8aa665851126b5afd\n\n# tcId = 279\n# edge case intermediate sums in poly1305.\n# poly_key:dc46b3c53be153ccd4986678ffffffafe484c316c93f64195da65a2742fd3fec\naad = ffffffff\nct = ffffffffffffffffffffffffffffffff44ec3cacb339c2569701eaf20829057cfafffffffffffffffffffffffffffffff5156664cb3f3f5b06357c7c726bfa0afafffffffffffffffffffffffffffffff5156664cb3f3f5b06357c7c726bfa0a\niv = 000102030405060703e76f6f\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 1fde9b9ec8b247d42bbee2016d6715baf999461058f6d7733e5cd0d1639d9025cbf0b056a2eecc51d30838e640615e14520a0da50439db00e289e1791342068e24d14da7b4f76f9f68fa8903138d563ce8b3936a14dcbc5a3be38f7f641e87db\nresult = valid\ntag = bf7fbd422cbf0e700fd1605be8fd212f\n\n# tcId = 280\n# edge case intermediate sums in poly1305.\n# poly_key:dc46b3c53be153ccd4986678ffffffafe484c316c93f64195da65a2742fd3fec\naad = ffffffff\nct = f5ffffffffffffffffffffffffffffff71635318e71e0b8a765929a82e1b7101deffffffffffffffffffffffffffffff9315a275955e72fffc1453ed6207fb0bdeffffffffffffffffffffffffffffff9315a275955e72fffc1453ed6207fb0b\niv = 000102030405060703e76f6f\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 15de9b9ec8b247d42bbee2016d6715bacc1629a40cd11eafdf04138b45afe458eff0b056a2eecc51d30838e640615e14340ac9b45a5896a418a8cee8032e078f00d14da7b4f76f9f68fa8903138d563c8eb3577b4abdf1fec1c2a0ee747286da\nresult = valid\ntag = c6f23204865b0adde0070037d6538dd3\n\n# tcId = 281\n# edge case intermediate sums in poly1305.\n# poly_key:dc46b3c53be153ccd4986678ffffffafe484c316c93f64195da65a2742fd3fec\naad = ffffffff\nct = d1ffffffffffffffffffffffffffffff42011449d50c2059156106c7c0a9b808dc91fbff818ca8f7daa162cb66ea7381dc91fbff818ca8f7daa162cb66ea7381\niv = 000102030405060703e76f6f\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 31de9b9ec8b247d42bbee2016d6715baff746ef53ec3357cbc3c3ce4ab1d2d51ed9eb456dc9d9b59f656a5d2d974d26a7b8e903e4e8a4cac3e1dffce07c38f05\nresult = valid\ntag = 8cff61b7b3919ed6bde72b36e0d31326\n\n# tcId = 282\n# edge case intermediate sums in poly1305.\n# poly_key:dc46b3c53be153ccd4986678ffffffafe484c316c93f64195da65a2742fd3fec\naad = ffffffff\nct = f9fffffffffffffffffff", + "fffffffffff025d1565924f6c7418de9babf8be4407ffffffffffffffffffffffffffffffffc35e56b05c9d78eb406fb3f474f36294ffffffffffffffffffffffffffffffffc35e56b05c9d78eb406fb3f474f36294\niv = 000102030405060703e76f6f\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 19de9b9ec8b247d42bbee2016d6715babf286fd979807951b183a188930ad15ecef0b056a2eecc51d30838e640615e1464413d71939b9cb0a4d32ef115da9e1021d14da7b4f76f9f68fa8903138d563cdef8a3be837efbea7db940f762861f45\nresult = valid\ntag = 369cf17011cae47539e2723f010cf980\n\n# tcId = 283\n# edge case intermediate sums in poly1305.\n# poly_key:dc46b3c53be153ccd4986678ffffffafe484c316c93f64195da65a2742fd3fec\naad = ffffffff\nct = f9ffffffffffffffffffffffffffffff005d1565924f6c7418de9babf8be4407d2ffffffffffffffffffffffffffffff5541133fd4554a1a89a3216ce40b9d0bd2ffffffffffffffffffffffffffffff5541133fd4554a1a89a3216ce40b9d0b\niv = 000102030405060703e76f6f\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 19de9b9ec8b247d42bbee2016d6715babd286fd979807951b183a188930ad15ee3f0b056a2eecc51d30838e640615e14f25e78fe1b53ae416d1fbc698522618f0cd14da7b4f76f9f68fa8903138d563c48e7e6310bb6c91bb475d26ff27ee0da\nresult = valid\ntag = 532eb8e272a8d171378b0d42dff2bed9\n\n# tcId = 284\n# edge case intermediate sums in poly1305.\n# poly_key:dc46b3c53be153ccd4986678ffffffafe484c316c93f64195da65a2742fd3fec\naad = ffffffff\nct = d2ffffffffffffffffffffffffffffff98f82782afd996d0efe3800d48c1ca05ffffffffffffffffffffffffffffffff3a0c9639358f7c6d1ee0dc082de4d96effffffffffffffffffffffffffffffff3a0c9639358f7c6d1ee0dc082de4d96e\niv = 000102030405060703e76f6f\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 32de9b9ec8b247d42bbee2016d6715ba258d5d3e441683f546beba2e23755f5ccef0b056a2eecc51d30838e640615e149d13fdf8fa899836fa5c410d4ccd25ea21d14da7b4f76f9f68fa8903138d563c27aa6337ea6cff6c23362f0b3b91a4bf\nresult = valid\ntag = d1be7426cd12446fe52e8d45331e0835\n\n# tcId = 285\n# edge case intermediate sums in poly1305.\n# poly_key:dc46b3c53be153ccd4986678ffffffafe484c316c93f64195da65a2742fd3fec\naad = ffffffff\nct = ffffffffffffffffffffffffffffffff6b3fa796480ab62f9884dc7dfb4daf88faffffffffffffffffffffffffffffff79858179ae42311dacad2f325a8d3007faffffffffffffffffffffffffffffff79858179ae42311dacad2f325a8d3007\niv = 000102030405060703e76f6f\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 1fde9b9ec8b247d42bbee2016d6715bad64add2aa3c5a30a31d9e65e90f93ad1cbf0b056a2eecc51d30838e640615e14de9aeab86144d5464811b2373ba4cc8324d14da7b4f76f9f68fa8903138d563c6423747771a1b21c917bdc314cf84dd6\nresult = valid\ntag = 62630c18de8c10876adb9f30f300963f\n\n# tcId = 286\n# edge case intermediate sums in poly1305.\n# poly_key:dc46b3c53be153ccd4986678ffffffafe484c316c93f64195da65a2742fd3fec\naad = ffffffff\nct = ffffffffffffffffffffffffffffffff7141e89bc0455e348313475fa4bdb3cbffffffffffffffffffffffffffffffff97d10c4f5c7356f4ef3e5fd79afe6e08ffffffffffffffffffffffffffffffff97d10c4f5c7356f4ef3e5fd79afe6e08\niv = 000102030405060703e76f6f\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 1fde9b9ec8b247d42bbee2016d6715bacc3492272b8a4b112a4e7d7ccf092692cef0b056a2eecc51d30838e640615e1430ce678e9375b2af0b82c2d2fbd7928c21d14da7b4f76f9f68fa8903138d563c8a77f9418390d5f5d2e8acd48c8b13d9\nresult = valid\ntag = feb6412b9031f076eddcd9426fff5b31\n\n# tcId = 287\n# edge case intermediate sums in poly1305.\n# poly_key:dc46b3c53be153ccd4986678ffffffafe484c316c93f64195da65a2742fd3fec\naad = ffffffff\nct = d4ffffffffffffffffffffffffffffffcf5e1ff522101a6eade8cd6049b76f0dffffffffffffffffffffffffffffffff20c173ad1d88a70fa8cf4367eef82a8affffffffffffffffffffffffffffffff20c173ad1d88a70fa8cf4367eef82a8a\niv = 000102030405060703e76f6f\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 34de9b9ec8b247d42bbee2016d6715ba722b6549c9df0f4b04b5f7432203fa54cef0b056a2eecc51d30838e640615e1487de186cd28e43544c73de628fd1d60e21d14da7b4f76f9f68fa8903138d563c3d6786a3c26b240e9519b064f88d575b\nresult = valid\ntag = dafdf430c8124483c175404b6bff5b41\n\n# tcId = 288\n# edge case intermediate sums in poly1305.\n# poly_key:dc46b3c53be153ccd4986678ffffffafe484c316c93f64195da65a2742fd3fec\naad = ffffffff\nct = ddffffffffffffffffffffffffffffff7817ec25241bcc26c5b27dadbcb12b0f61fa3a21712933597b1da91633f3e64761fa3a21712933597b1da91633f3e647\niv = 000102030405060703e76f6f\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 3dde9b9ec8b247d42bbee2016d6715bac5629699cfd4d9036cef478ed705be5650f575882c3800f757ea6e0f8c6d47acc6e551e0be2fd7029fa1341352da1ac3\nresult = valid\ntag = f8800c5b6283dddfc41f935c01bd0d24\n\n# tcId = 289\n# edge case intermediate sums in poly1305.\n# poly_key:dc46b3c53be153ccd4986678ffffffafe484c316c93f64195da65a2742fd3fec\naad = ffffffff\nct = ffffffffffffffffffffffffffffffffdba35e4e633a3c646379bc7f82db98ce07f07c0b2132c73943308806721c542707f07c0b2132c73943308806721c5427\niv = 000102030405060703e76f6f\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 1fde9b9ec8b247d42bbee2016d6715ba66d624f288f52941ca24865ce96f0d9736ff33a27c23f4976fc74f1fcd82f5cca0ef17caee342362a78c15031335a8a3\nresult = valid\ntag = 38bfb8318c627d86c34bab1f1ebd0db0\n\n# tcId = 290\n# edge case intermediate sums in poly1305.\n# poly_key:dc46b3c53be153ccd4986678ffffffafe484c316c93f64195da65a2742fd3fec\naad = ffffffff\nct = 14cada5efddb046351f2487c56a6e4f6e5ffffffffffffffffffffffffffffff8558412d1bf9b512930fed3d4b054406e5ffffffffffffffffffffffffffffff8558412d1bf9b512930fed3d4b054406\niv = 000102030405060703e76f6f\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = f4ebbe3fca96bc4885b35582c43e0eb3588a85431430eada56a2c5dc944b6aa6b4570e8446e886bcbff82a24f49be5ed42e0943e30f91ba41b4362fa9ed6037b5b76f37550f12572040a9bc1a777edc5\nresult = valid\ntag = af7293eb09957d9de7432dd41316f0e4\n\n# tcId = 291\n# edge case intermediate sums in poly1305.\n# poly_key:dc46b3c53be153ccd4986678ffffffafe484c316c93f64195da65a2742fd3fec\naad = ffffffff\nct = faffffffffffffffffffffffffffffffea6f4576d71568cae5ceee80e97eaf0edbffffffffffffffffffffffffffffffd1d2b02fe01eb32df3f3f0f6dacc4f05dbffffffffffffffffffffffffffffffd1d2b02fe01eb32df3f3f0f6dacc4f05\niv = 000102030405060703e76f6f\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 1ade9b9ec8b247d42bbee2016d6715ba571a3fca3cda7def4c93d4a382ca3a57eaf0b056a2eecc51d30838e640615e1476cddbee2f185776174f6df3bbe5b38105d14da7b4f76f9f68fa8903138d563ccc7445213ffd302cce2503f5ccb932d4\nresult = valid\ntag = e178b0d5eb9bc551fa645c49f9f17667\n\n# tcId = 292\n# edge case intermediate sums in poly1305.\n# poly_key:dc46b3c53be153ccd4986678ffffffafe484c316c93f64195da65a2742fd3fec\naad = ffffffff\nct = ffffffffffffffffffffffffffffffff0344dfbdb8a569b44dfc38ef4c796b50e3ffffffffffffffffffffffffffffff7a8b7d60e12965e60abea0434ec70b07e3ffffffffffffffffffffffffffffff7a8b7d60e12965e60abea0434ec70b07\niv = 000102030405060703e76f6f\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 1fde9b9ec8b247d42bbee2016d6715babe31a501536a7c91e4a102cc27cdfe09d2f0b056a2eecc51d30838e640615e14dd9416a12e2f81bdee023d462feef7833dd14da7b4f76f9f68fa8903138d563c672d886e3ecae6e73768534058b276d6\nresult = valid\ntag = bdbf63db237d195ecefdc251f5f17677\n\n# tcId = 293\n# edge case intermediate sums in poly1305.\n# poly_key:dc46b3c53be153ccd4986678ffffffafe484c316c93f64195da65a2742fd3fec\naad = ffffffff\nct = deffffffffffffffffffffffffffffff3812dd4103ddb68f86081010aac51901d3ffffffffffffffffffffffffffffff1c98423cdb89c7e94daa2af16e06d505d3ffffffffffffffffffffffffffffff1c98423cdb89c7e94daa2af16e06d505\niv = 000102030405060703e76f6f\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 3ede9b9ec8b247d42bbee2016d6715ba8567a7fde812a3aa2f552a33c1718c58e2f0b056a2eecc51d30838e640615e14bb8729fd148f23b2a916b7f40f2f29810dd14da7b4f76f9f68fa8903138d563c013eb732046a44e8707cd9f27873a8d4\nresult = valid\ntag = b4ccb422bc5f7264aff73f3675ff5b19\n\n[ivSize = 0]\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 294\n# invalid nonce size\naad = \nct = \niv = \nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = \n\n[ivSize = 64]\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 295\n# invalid nonce size\naa", + "d = \nct = \niv = 0001020304050607\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = \n\n[ivSize = 88]\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 296\n# invalid nonce size\naad = \nct = \niv = 000102030405060708090a\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = \n\n[ivSize = 104]\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 297\n# invalid nonce size\naad = \nct = \niv = 000102030405060708090a0b0c\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = \n\n[ivSize = 112]\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 298\n# invalid nonce size\naad = \nct = \niv = 000102030405060708090a0b0c0d\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = \n\n[ivSize = 128]\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 299\n# invalid nonce size\naad = \nct = \niv = 000102030405060708090a0b0c0d0e0f\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = \n\n[ivSize = 160]\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 300\n# invalid nonce size\naad = \nct = \niv = 000102030405060708090a0b0c0d0e0f10111213\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = \n\n", }; -static const size_t kLen61 = 299955; +static const size_t kLen94 = 232513; -static const char *kData61[] = { - "# Imported from Wycheproof's dsa_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: DSA\n# Generator version: 0.4.12\n\n[key.g = 0835aa8c358bbf01a1846d1206323fabe408b0e98789fcc6239da14d4b3f86c276a8f48aa85a59507e620ad1bc745f0f1cbf63ec98c229c2610d77c634d1642e404354771655b2d5662f7a45227178ce3430af0f6b3bb94b52f7f51e97bad659b1ba0684e208be624c28d82fb1162f18dd9dce45216461654cf3374624d15a8d]\n[key.keySize = 1024]\n[key.p = 0b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f]\n[key.q = 0b90b38ba0a50a43ec6898d3f9b68049777f489b1]\n[key.type = DSAPublicKey]\n[key.y = 173931dda31eff32f24b383091bf77eacdc6efd557624911d8e9b9debf0f256d0cffac5567b33f6eaae9d3275bbed7ef9f5f94c4003c959e49a1ed3f58c31b21baccc0ed8840b46145f121b8906d072129bae01f071947997e8ef760d2d9ea21d08a5eb7e89390b21a85664713c549e25feda6e9e6c31970866bdfbc8fa981f6]\n[keyDer = 308201b63082012b06072a8648ce3804013082011e02818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f021500b90b38ba0a50a43ec6898d3f9b68049777f489b10281800835aa8c358bbf01a1846d1206323fabe408b0e98789fcc6239da14d4b3f86c276a8f48aa85a59507e620ad1bc745f0f1cbf63ec98c229c2610d77c634d1642e404354771655b2d5662f7a45227178ce3430af0f6b3bb94b52f7f51e97bad659b1ba0684e208be624c28d82fb1162f18dd9dce45216461654cf3374624d15a8d03818400028180173931dda31eff32f24b383091bf77eacdc6efd557624911d8e9b9debf0f256d0cffac5567b33f6eaae9d3275bbed7ef9f5f94c4003c959e49a1ed3f58c31b21baccc0ed8840b46145f121b8906d072129bae01f071947997e8ef760d2d9ea21d08a5eb7e89390b21a85664713c549e25feda6e9e6c31970866bdfbc8fa981f6]\n[sha = SHA-1]\n\n# tcId = 1\n# Legacy:ASN encoding of r misses leading 0\nmsg = 313233343030\nresult = acceptable\nsig = 302c0214aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n# ASN encoded integers with a leading hex-digit in the range 8 .. F are\n# negative. If the first hex-digit of a positive integer is 8 .. F then a\n# leading 0 must be added. Some libraries forgot to do this an therefore\n# generated invalid DSA signatures. Some providers, accept such legacy\n# signatures for compatibility.\n\n# tcId = 2\n# valid\nmsg = 313233343030\nresult = valid\nsig = 302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 3\n# long form encoding of length\nmsg = 313233343030\nresult = invalid\nsig = 30812d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 4\n# long form encoding of length\nmsg = 313233343030\nresult = invalid\nsig = 302e02811500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 5\n# long form encoding of length\nmsg = 313233343030\nresult = invalid\nsig = 302e021500aa6a258fbf7d90e15614676d377df8b10e38db4a028114496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 6\n# length contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 3082002d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 7\n# length contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 302f0282001500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 8\n# length contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 302f021500aa6a258fbf7d90e15614676d377df8b10e38db4a02820014496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 9\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 302e021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 10\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 302c021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 11\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 302d021600aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 12\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 302d021400aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 13\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0215496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 14\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0213496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 15\n# uint32 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 3085010000002d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 16\n# uint32 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 30320285010000001500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 17\n# uint32 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 3032021500aa6a258fbf7d90e15614676d377df8b10e38db4a02850100000014496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 18\n# uint64 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 308901000000000000002d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 19\n# uint64 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 3036028901000000000000001500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 20\n# uint64 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 3036021500aa6a258fbf7d90e15614676d377df8b10e38db4a0289010000000000000014496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 21\n# length = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30847fffffff021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 22\n# length = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 303102847fffffff00aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 23\n# length = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3031021500aa6a258fbf7d90e15614676d377df8b10e38db4a02847fffffff496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 24\n# length = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3084ffffffff021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 25\n# length = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30310284ffffffff00aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 26\n# length = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3031021500aa6a258fbf7d90e15614676d377df8b10e38db4a0284ffffffff496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 27\n# length = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3085ffffffffff021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 28\n# length = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30320285ffffffffff00aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 29\n# length = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3032021500aa6a258fbf7d90e15614676d377df8b10e38db4a0285ffffffffff496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 30\n# length = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3088ffffffffffffffff021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 31\n# length = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30350288ffffffffffffffff00aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 32\n# length = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3035021500aa6a258fbf7d90e15614676d377df8b10e38db4a0288ffffffffffffffff496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 33\n# incorrect length\nmsg = 313233343030\nresult = invalid\nsig = 30ff021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5", - "f67d3532d1f991203bc3523b964c3b\n\n# tcId = 34\n# incorrect length\nmsg = 313233343030\nresult = invalid\nsig = 302d02ff00aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 35\n# incorrect length\nmsg = 313233343030\nresult = invalid\nsig = 302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a02ff496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 36\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 3080021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 37\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 302d028000aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 38\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0280496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 39\n# removing sequence\nmsg = 313233343030\nresult = invalid\nsig = \n\n# tcId = 40\n# lonely sequence tag\nmsg = 313233343030\nresult = invalid\nsig = 30\n\n# tcId = 41\n# appending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 302f021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b0000\n\n# tcId = 42\n# prepending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 302f0000021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 43\n# appending unused 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b0000\n\n# tcId = 44\n# appending null value to sequence\nmsg = 313233343030\nresult = invalid\nsig = 302f021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b0500\n\n# tcId = 45\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3032498177302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 46\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 30312500302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 47\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 302f302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b0004deadbeef\n\n# tcId = 48\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3032221a498177021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 49\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 303122192500021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 50\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 30352217021500aa6a258fbf7d90e15614676d377df8b10e38db4a0004deadbeef0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 51\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3032021500aa6a258fbf7d90e15614676d377df8b10e38db4a22194981770214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 52\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3031021500aa6a258fbf7d90e15614676d377df8b10e38db4a221825000214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 53\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3035021500aa6a258fbf7d90e15614676d377df8b10e38db4a22160214496d5220b5f67d3532d1f991203bc3523b964c3b0004deadbeef\n\n# tcId = 54\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 3035aa00bb00cd00302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 55\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 3033aa02aabb302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 56\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 3035221daa00bb00cd00021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 57\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 3033221baa02aabb021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 58\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 3035021500aa6a258fbf7d90e15614676d377df8b10e38db4a221caa00bb00cd000214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 59\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 3033021500aa6a258fbf7d90e15614676d377df8b10e38db4a221aaa02aabb0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 60\n# truncated length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3081\n\n# tcId = 61\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 3080302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b0000\n\n# tcId = 62\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 30312280021500aa6a258fbf7d90e15614676d377df8b10e38db4a00000214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 63\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 3031021500aa6a258fbf7d90e15614676d377df8b10e38db4a22800214496d5220b5f67d3532d1f991203bc3523b964c3b0000\n\n# tcId = 64\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 3080312d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b0000\n\n# tcId = 65\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 30312280031500aa6a258fbf7d90e15614676d377df8b10e38db4a00000214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 66\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 3031021500aa6a258fbf7d90e15614676d377df8b10e38db4a22800314496d5220b5f67d3532d1f991203bc3523b964c3b0000\n\n# tcId = 67\n# Replacing sequence with NULL\nmsg = 313233343030\nresult = invalid\nsig = 0500\n\n# tcId = 68\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 2e2d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 69\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 2f2d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 70\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 312d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 71\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 322d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 72\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = ff2d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 73\n# dropping value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3000\n\n# tcId = 74\n# using composition for sequence\nmsg = 313233343030\nresult = invalid\nsig = 3031300102302c1500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 75\n# truncate sequence\nmsg = 313233343030\nresult = invalid\nsig = 302c021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c\n\n# tcId = 76\n# truncate sequence\nmsg = 313233343030\nresult = invalid\nsig = 302c1500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 77\n# indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 3080021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b0000\n\n# tcId = 78\n# indefinite length with truncated delimiter\nmsg = 313233343030\nresult = invalid\nsig = 3080021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b00\n\n# tcId = 79\n# indefinite length with additional element\nmsg = 313233343030\nresult = invalid\nsig = 3080021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b05000000\n\n# tcId = 80\n# indefinite length with truncated element\nmsg = 313233343030\nresult = invalid\nsig = 3080021500", - "aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b060811220000\n\n# tcId = 81\n# indefinite length with garbage\nmsg = 313233343030\nresult = invalid\nsig = 3080021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b0000fe02beef\n\n# tcId = 82\n# indefinite length with nonempty EOC\nmsg = 313233343030\nresult = invalid\nsig = 3080021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b0002beef\n\n# tcId = 83\n# prepend empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 302f3000021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 84\n# append empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 302f021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b3000\n\n# tcId = 85\n# sequence of sequence\nmsg = 313233343030\nresult = invalid\nsig = 302f302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 86\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 3017021500aa6a258fbf7d90e15614676d377df8b10e38db4a\n\n# tcId = 87\n# repeat element in sequence\nmsg = 313233343030\nresult = invalid\nsig = 3043021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 88\n# removing integer\nmsg = 313233343030\nresult = invalid\nsig = 30160214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 89\n# lonely integer tag\nmsg = 313233343030\nresult = invalid\nsig = 3017020214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 90\n# lonely integer tag\nmsg = 313233343030\nresult = invalid\nsig = 3018021500aa6a258fbf7d90e15614676d377df8b10e38db4a02\n\n# tcId = 91\n# appending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 302f021700aa6a258fbf7d90e15614676d377df8b10e38db4a00000214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 92\n# appending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 302f021500aa6a258fbf7d90e15614676d377df8b10e38db4a0216496d5220b5f67d3532d1f991203bc3523b964c3b0000\n\n# tcId = 93\n# prepending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 302f0217000000aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 94\n# prepending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 302f021500aa6a258fbf7d90e15614676d377df8b10e38db4a02160000496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 95\n# appending unused 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 302f021500aa6a258fbf7d90e15614676d377df8b10e38db4a00000214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 96\n# appending null value to integer\nmsg = 313233343030\nresult = invalid\nsig = 302f021700aa6a258fbf7d90e15614676d377df8b10e38db4a05000214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 97\n# appending null value to integer\nmsg = 313233343030\nresult = invalid\nsig = 302f021500aa6a258fbf7d90e15614676d377df8b10e38db4a0216496d5220b5f67d3532d1f991203bc3523b964c3b0500\n\n# tcId = 98\n# truncated length of integer\nmsg = 313233343030\nresult = invalid\nsig = 301802810214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 99\n# truncated length of integer\nmsg = 313233343030\nresult = invalid\nsig = 3019021500aa6a258fbf7d90e15614676d377df8b10e38db4a0281\n\n# tcId = 100\n# Replacing integer with NULL\nmsg = 313233343030\nresult = invalid\nsig = 301805000214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 101\n# Replacing integer with NULL\nmsg = 313233343030\nresult = invalid\nsig = 3019021500aa6a258fbf7d90e15614676d377df8b10e38db4a0500\n\n# tcId = 102\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 302d001500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 103\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 302d011500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 104\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 302d031500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 105\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 302d041500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 106\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 302dff1500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 107\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0014496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 108\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0114496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 109\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0314496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 110\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0414496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 111\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 302d021500aa6a258fbf7d90e15614676d377df8b10e38db4aff14496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 112\n# dropping value of integer\nmsg = 313233343030\nresult = invalid\nsig = 301802000214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 113\n# dropping value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3019021500aa6a258fbf7d90e15614676d377df8b10e38db4a0200\n\n# tcId = 114\n# using composition for integer\nmsg = 313233343030\nresult = invalid\nsig = 303122190201000214aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 115\n# using composition for integer\nmsg = 313233343030\nresult = invalid\nsig = 3031021500aa6a258fbf7d90e15614676d377df8b10e38db4a221802014902136d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 116\n# modify first byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 302d021502aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 117\n# modify first byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a02144b6d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 118\n# modify last byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 302d021500aa6a258fbf7d90e15614676d377df8b10e38dbca0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 119\n# modify last byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964cbb\n\n# tcId = 120\n# truncate integer\nmsg = 313233343030\nresult = invalid\nsig = 302c021400aa6a258fbf7d90e15614676d377df8b10e38db0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 121\n# truncate integer\nmsg = 313233343030\nresult = invalid\nsig = 302c0214aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 122\n# truncate integer\nmsg = 313233343030\nresult = invalid\nsig = 302c021500aa6a258fbf7d90e15614676d377df8b10e38db4a0213496d5220b5f67d3532d1f991203bc3523b964c\n\n# tcId = 123\n# truncate integer\nmsg = 313233343030\nresult = invalid\nsig = 302c021500aa6a258fbf7d90e15614676d377df8b10e38db4a02136d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 124\n# leading ff in integer\nmsg = 313233343030\nresult = invalid\nsig = 302e0216ff00aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 125\n# leading ff in integer\nmsg = 313233343030\nresult = invalid\nsig = 302e021500aa6a258fbf7d90e15614676d377df8b10e38db4a0215ff496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 126\n# infinity\nmsg = 313233343030\nresult = invalid\nsig = 30190901800214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 127\n# infinity\nmsg = 313233343030\nresult = invalid\nsig = 301a021500aa6a258fbf7d90e15614676d377df8b10e38db4a090180\n\n# tcId = 128\n# replacing integer with zero\nmsg = 313233343030\nresult = invalid\nsig = 30190201000214496d522", - "0b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 129\n# replacing integer with zero\nmsg = 313233343030\nresult = invalid\nsig = 301a021500aa6a258fbf7d90e15614676d377df8b10e38db4a020100\n\n# tcId = 130\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 313233343030\nresult = invalid\nsig = 302d02150163755e49c9ce35201c9df4acd2e5fd48862d64fb0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 131\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 313233343030\nresult = invalid\nsig = 302c0214f15eecd5b52ceca28f8ada2d9c15f419964451990214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 132\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 313233343030\nresult = invalid\nsig = 302d0215ff5595da7040826f1ea9eb9892c882074ef1c724b60214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 133\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 313233343030\nresult = invalid\nsig = 302c02140ea1132a4ad3135d707525d263ea0be669bbae670214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 134\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 313233343030\nresult = invalid\nsig = 302d0215fe9c8aa1b63631cadfe3620b532d1a02b779d29b050214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 135\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 313233343030\nresult = invalid\nsig = 302d021501aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 136\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 313233343030\nresult = invalid\nsig = 302c02145595da7040826f1ea9eb9892c882074ef1c724b60214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 137\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 313233343030\nresult = invalid\nsig = 302e021500aa6a258fbf7d90e15614676d377df8b10e38db4a02150102788adac0472173f95b86d0bba3c7e9b38ad5ec\n\n# tcId = 138\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 313233343030\nresult = invalid\nsig = 302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a021490621966aba5d8f66c486c5184d3bebac3a1c28a\n\n# tcId = 139\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 313233343030\nresult = invalid\nsig = 302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214b692addf4a0982cacd2e066edfc43cadc469b3c5\n\n# tcId = 140\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 313233343030\nresult = invalid\nsig = 302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a02146f9de699545a270993b793ae7b2c41453c5e3d76\n\n# tcId = 141\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 313233343030\nresult = invalid\nsig = 302e021500aa6a258fbf7d90e15614676d377df8b10e38db4a0215fefd8775253fb8de8c06a4792f445c38164c752a14\n\n# tcId = 142\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 313233343030\nresult = invalid\nsig = 302e021500aa6a258fbf7d90e15614676d377df8b10e38db4a021501496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 143\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 313233343030\nresult = invalid\nsig = 302e021500aa6a258fbf7d90e15614676d377df8b10e38db4a021500b692addf4a0982cacd2e066edfc43cadc469b3c5\n\n# tcId = 144\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a0201000215ff46f4c745f5af5bc1397672c06497fb68880b764f\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 145\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 3006020100020100\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 146\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 3006020100020101\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 147\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30060201000201ff\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 148\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301902010002145c859c5d0528521f6344c69fcdb4024bbbfa44d8\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 149\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301902010002145c859c5d0528521f6344c69fcdb4024bbbfa44d9\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 150\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a020100021500b90b38ba0a50a43ec6898d3f9b68049777f489b0\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 151\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a020100021500b90b38ba0a50a43ec6898d3f9b68049777f489b1\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 152\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a020100021500b90b38ba0a50a43ec6898d3f9b68049777f489b2\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 153\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a0201000215010000000000000000000000000000000000000000\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 154\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30818702010002818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 155\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 3008020100090380fe01\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 156\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a0201010215ff46f4c745f5af5bc1397672c06497fb68880b764f\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 157\n# Signatures with special case values fo", - "r r and s.\nmsg = 313233343030\nresult = invalid\nsig = 3006020101020100\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 158\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 3006020101020101\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 159\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30060201010201ff\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 160\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301902010102145c859c5d0528521f6344c69fcdb4024bbbfa44d8\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 161\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301902010102145c859c5d0528521f6344c69fcdb4024bbbfa44d9\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 162\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a020101021500b90b38ba0a50a43ec6898d3f9b68049777f489b0\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 163\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a020101021500b90b38ba0a50a43ec6898d3f9b68049777f489b1\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 164\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a020101021500b90b38ba0a50a43ec6898d3f9b68049777f489b2\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 165\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a0201010215010000000000000000000000000000000000000000\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 166\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30818702010102818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 167\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 3008020101090380fe01\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 168\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a0201ff0215ff46f4c745f5af5bc1397672c06497fb68880b764f\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 169\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff020100\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 170\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff020101\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 171\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff0201ff\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 172\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30190201ff02145c859c5d0528521f6344c69fcdb4024bbbfa44d8\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 173\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30190201ff02145c859c5d0528521f6344c69fcdb4024bbbfa44d9\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 174\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a0201ff021500b90b38ba0a50a43ec6898d3f9b68049777f489b0\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 175\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a0201ff021500b90b38ba0a50a43ec6898d3f9b68049777f489b1\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 176\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a0201ff021500b90b38ba0a50a43ec6898d3f9b68049777f489b2\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 177\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a0201ff0215010000000000000000000000000000000000000000\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 178\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 3081870201ff02818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f\n# Some implementations of DSA do not properly check", - " for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 179\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30080201ff090380fe01\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 180\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302d02145c859c5d0528521f6344c69fcdb4024bbbfa44d80215ff46f4c745f5af5bc1397672c06497fb68880b764f\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 181\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301902145c859c5d0528521f6344c69fcdb4024bbbfa44d8020100\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 182\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301902145c859c5d0528521f6344c69fcdb4024bbbfa44d8020101\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 183\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301902145c859c5d0528521f6344c69fcdb4024bbbfa44d80201ff\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 184\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302c02145c859c5d0528521f6344c69fcdb4024bbbfa44d802145c859c5d0528521f6344c69fcdb4024bbbfa44d8\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 185\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302c02145c859c5d0528521f6344c69fcdb4024bbbfa44d802145c859c5d0528521f6344c69fcdb4024bbbfa44d9\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 186\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302d02145c859c5d0528521f6344c69fcdb4024bbbfa44d8021500b90b38ba0a50a43ec6898d3f9b68049777f489b0\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 187\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302d02145c859c5d0528521f6344c69fcdb4024bbbfa44d8021500b90b38ba0a50a43ec6898d3f9b68049777f489b1\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 188\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302d02145c859c5d0528521f6344c69fcdb4024bbbfa44d8021500b90b38ba0a50a43ec6898d3f9b68049777f489b2\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 189\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302d02145c859c5d0528521f6344c69fcdb4024bbbfa44d80215010000000000000000000000000000000000000000\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 190\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30819a02145c859c5d0528521f6344c69fcdb4024bbbfa44d802818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 191\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301b02145c859c5d0528521f6344c69fcdb4024bbbfa44d8090380fe01\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 192\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302d02145c859c5d0528521f6344c69fcdb4024bbbfa44d90215ff46f4c745f5af5bc1397672c06497fb68880b764f\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 193\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301902145c859c5d0528521f6344c69fcdb4024bbbfa44d9020100\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 194\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301902145c859c5d0528521f6344c69fcdb4024bbbfa44d9020101\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 195\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301902145c859c5d0528521f6344c69fcdb4024bbbfa44d90201ff\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 196\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302c02145c859c5d0528521f6344c69fcdb4024bbbfa44d902145c859c5d0528521f6344c69fcdb4024bbbfa44d8\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 197\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302c02145c859c5d0528521f6344c69fcdb4024bbbfa44d902145c859c5d0528521f6344c69fcdb4024bbbfa44d9\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 198\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302d02145c859c5d0528521f6344c69fcdb4024bbbfa44d9021500b90b38ba0a50a43ec6898d3f9b68049777f489b0\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0.", - " As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 199\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302d02145c859c5d0528521f6344c69fcdb4024bbbfa44d9021500b90b38ba0a50a43ec6898d3f9b68049777f489b1\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 200\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302d02145c859c5d0528521f6344c69fcdb4024bbbfa44d9021500b90b38ba0a50a43ec6898d3f9b68049777f489b2\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 201\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302d02145c859c5d0528521f6344c69fcdb4024bbbfa44d90215010000000000000000000000000000000000000000\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 202\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30819a02145c859c5d0528521f6344c69fcdb4024bbbfa44d902818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 203\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301b02145c859c5d0528521f6344c69fcdb4024bbbfa44d9090380fe01\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 204\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302e021500b90b38ba0a50a43ec6898d3f9b68049777f489b00215ff46f4c745f5af5bc1397672c06497fb68880b764f\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 205\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a021500b90b38ba0a50a43ec6898d3f9b68049777f489b0020100\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 206\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a021500b90b38ba0a50a43ec6898d3f9b68049777f489b0020101\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 207\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a021500b90b38ba0a50a43ec6898d3f9b68049777f489b00201ff\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 208\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302d021500b90b38ba0a50a43ec6898d3f9b68049777f489b002145c859c5d0528521f6344c69fcdb4024bbbfa44d8\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 209\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302d021500b90b38ba0a50a43ec6898d3f9b68049777f489b002145c859c5d0528521f6344c69fcdb4024bbbfa44d9\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 210\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302e021500b90b38ba0a50a43ec6898d3f9b68049777f489b0021500b90b38ba0a50a43ec6898d3f9b68049777f489b0\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 211\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302e021500b90b38ba0a50a43ec6898d3f9b68049777f489b0021500b90b38ba0a50a43ec6898d3f9b68049777f489b1\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 212\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302e021500b90b38ba0a50a43ec6898d3f9b68049777f489b0021500b90b38ba0a50a43ec6898d3f9b68049777f489b2\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 213\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302e021500b90b38ba0a50a43ec6898d3f9b68049777f489b00215010000000000000000000000000000000000000000\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 214\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30819b021500b90b38ba0a50a43ec6898d3f9b68049777f489b002818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 215\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301c021500b90b38ba0a50a43ec6898d3f9b68049777f489b0090380fe01\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 216\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302e021500b90b38ba0a50a43ec6898d3f9b68049777f489b10215ff46f4c745f5af5bc1397672c06497fb68880b764f\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 217\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a021500b90b38ba0a50a43ec6898d3f9b68049777f489b1020100\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 218\n# Signatu", - "res with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a021500b90b38ba0a50a43ec6898d3f9b68049777f489b1020101\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 219\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a021500b90b38ba0a50a43ec6898d3f9b68049777f489b10201ff\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 220\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302d021500b90b38ba0a50a43ec6898d3f9b68049777f489b102145c859c5d0528521f6344c69fcdb4024bbbfa44d8\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 221\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302d021500b90b38ba0a50a43ec6898d3f9b68049777f489b102145c859c5d0528521f6344c69fcdb4024bbbfa44d9\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 222\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302e021500b90b38ba0a50a43ec6898d3f9b68049777f489b1021500b90b38ba0a50a43ec6898d3f9b68049777f489b0\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 223\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302e021500b90b38ba0a50a43ec6898d3f9b68049777f489b1021500b90b38ba0a50a43ec6898d3f9b68049777f489b1\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 224\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302e021500b90b38ba0a50a43ec6898d3f9b68049777f489b1021500b90b38ba0a50a43ec6898d3f9b68049777f489b2\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 225\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302e021500b90b38ba0a50a43ec6898d3f9b68049777f489b10215010000000000000000000000000000000000000000\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 226\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30819b021500b90b38ba0a50a43ec6898d3f9b68049777f489b102818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 227\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301c021500b90b38ba0a50a43ec6898d3f9b68049777f489b1090380fe01\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 228\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302e021500b90b38ba0a50a43ec6898d3f9b68049777f489b20215ff46f4c745f5af5bc1397672c06497fb68880b764f\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 229\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a021500b90b38ba0a50a43ec6898d3f9b68049777f489b2020100\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 230\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a021500b90b38ba0a50a43ec6898d3f9b68049777f489b2020101\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 231\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a021500b90b38ba0a50a43ec6898d3f9b68049777f489b20201ff\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 232\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302d021500b90b38ba0a50a43ec6898d3f9b68049777f489b202145c859c5d0528521f6344c69fcdb4024bbbfa44d8\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 233\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302d021500b90b38ba0a50a43ec6898d3f9b68049777f489b202145c859c5d0528521f6344c69fcdb4024bbbfa44d9\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 234\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302e021500b90b38ba0a50a43ec6898d3f9b68049777f489b2021500b90b38ba0a50a43ec6898d3f9b68049777f489b0\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 235\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302e021500b90b38ba0a50a43ec6898d3f9b68049777f489b2021500b90b38ba0a50a43ec6898d3f9b68049777f489b1\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 236\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302e021500b90b38ba0a50a43ec6898d3f9b68049777f489b2021500b90b38ba0a50a43ec6898d3f9b68049777f489b2\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 237\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302e021500b90b38ba0a50a43ec6898d3f9b68049777f489b20215010000000000000000000000000000000000000000\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# impl", - "ementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 238\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30819b021500b90b38ba0a50a43ec6898d3f9b68049777f489b202818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 239\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301c021500b90b38ba0a50a43ec6898d3f9b68049777f489b2090380fe01\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 240\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302e02150100000000000000000000000000000000000000000215ff46f4c745f5af5bc1397672c06497fb68880b764f\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 241\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a0215010000000000000000000000000000000000000000020100\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 242\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a0215010000000000000000000000000000000000000000020101\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 243\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a02150100000000000000000000000000000000000000000201ff\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 244\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302d021501000000000000000000000000000000000000000002145c859c5d0528521f6344c69fcdb4024bbbfa44d8\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 245\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302d021501000000000000000000000000000000000000000002145c859c5d0528521f6344c69fcdb4024bbbfa44d9\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 246\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302e0215010000000000000000000000000000000000000000021500b90b38ba0a50a43ec6898d3f9b68049777f489b0\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 247\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302e0215010000000000000000000000000000000000000000021500b90b38ba0a50a43ec6898d3f9b68049777f489b1\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 248\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302e0215010000000000000000000000000000000000000000021500b90b38ba0a50a43ec6898d3f9b68049777f489b2\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 249\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302e02150100000000000000000000000000000000000000000215010000000000000000000000000000000000000000\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 250\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30819b021501000000000000000000000000000000000000000002818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 251\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301c0215010000000000000000000000000000000000000000090380fe01\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 252\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30819b02818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f0215ff46f4c745f5af5bc1397672c06497fb68880b764f\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 253\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30818702818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f020100\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 254\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30818702818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f020101\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 255\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30818702818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869", - "fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f0201ff\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 256\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30819a02818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f02145c859c5d0528521f6344c69fcdb4024bbbfa44d8\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 257\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30819a02818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f02145c859c5d0528521f6344c69fcdb4024bbbfa44d9\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 258\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30819b02818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f021500b90b38ba0a50a43ec6898d3f9b68049777f489b0\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 259\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30819b02818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f021500b90b38ba0a50a43ec6898d3f9b68049777f489b1\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 260\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30819b02818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f021500b90b38ba0a50a43ec6898d3f9b68049777f489b2\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 261\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30819b02818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f0215010000000000000000000000000000000000000000\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 262\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 3082010802818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f02818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 263\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30818902818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f090380fe01\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 264\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301c090380fe010215ff46f4c745f5af5bc1397672c06497fb68880b764f\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 265\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 3008090380fe01020100\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 266\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 3008090380fe01020101\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 267\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 3008090380fe010201ff\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 268\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301b090380fe0102145c859c5d0528521f6344c69fcdb4024bbbfa44d8\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 269\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301b090380fe0102145c859c5d0528521f6344c69fcdb4024bbbfa44d9\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 270\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301c090380fe01021500b90b38ba0a50a43ec6898d3f9b68049777f489b0\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 271\n# Signatures with special case values for r an", - "d s.\nmsg = 313233343030\nresult = invalid\nsig = 301c090380fe01021500b90b38ba0a50a43ec6898d3f9b68049777f489b1\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 272\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301c090380fe01021500b90b38ba0a50a43ec6898d3f9b68049777f489b2\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 273\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301c090380fe010215010000000000000000000000000000000000000000\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 274\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 308189090380fe0102818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 275\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 300a090380fe01090380fe01\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 276\n# random signature\nmsg = 313233343030\nresult = valid\nsig = 302d0215008a5f67f95721189431b8bd78f145a0144bfe8cbf0214727808e1428ea9aa7fe1e62ce41e14de1f0441b0\n\n# tcId = 277\n# random signature\nmsg = 313233343030\nresult = valid\nsig = 302d02140631c067b0b9272ebf1873d51213687b5b66e388021500938e3c5cd5ce3decb2c7a1d4c95408d3058d260a\n\n# tcId = 278\n# random signature\nmsg = 313233343030\nresult = valid\nsig = 302d021500847d9264c3723d8c19eb890e5a5018e606e006a502144c59ad9e76c731a6c9dd70160eebd6186ee8b7f6\n\n# tcId = 279\n# random signature\nmsg = 313233343030\nresult = valid\nsig = 302c021422ac1f8da14b7b28b0d12911a50622865408378502144b95e54a6cf4679c60d94aa04766a9367b86fd48\n\n# tcId = 280\n# random signature\nmsg = 313233343030\nresult = valid\nsig = 302c0214312efe6ed6cc2786a069ab45af12fdd57554cea402145a2adbe9edd8c81e8fe4e703094bf9734f17ed1c\n\n[key.g = 0835aa8c358bbf01a1846d1206323fabe408b0e98789fcc6239da14d4b3f86c276a8f48aa85a59507e620ad1bc745f0f1cbf63ec98c229c2610d77c634d1642e404354771655b2d5662f7a45227178ce3430af0f6b3bb94b52f7f51e97bad659b1ba0684e208be624c28d82fb1162f18dd9dce45216461654cf3374624d15a8d]\n[key.keySize = 1024]\n[key.p = 0b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f]\n[key.q = 0b90b38ba0a50a43ec6898d3f9b68049777f489b1]\n[key.type = DSAPublicKey]\n[key.y = 713e9f8108a6a7075485a37ce1a3b040cce563a0445614fe099fb1bffd68acb36f9e04d8ad17ace3c136da66f730eb7ff18936424ffa4e5ae5b1e7dac375d8d164697254b8b7e848f5e79da25c79df5c0727d5da3498405cd0f4e46d136c351d703cc4bf0d3f4fbb165392888684964a93ad30fa179488cad4a6655dd4fa9754]\n[keyDer = 308201b63082012b06072a8648ce3804013082011e02818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f021500b90b38ba0a50a43ec6898d3f9b68049777f489b10281800835aa8c358bbf01a1846d1206323fabe408b0e98789fcc6239da14d4b3f86c276a8f48aa85a59507e620ad1bc745f0f1cbf63ec98c229c2610d77c634d1642e404354771655b2d5662f7a45227178ce3430af0f6b3bb94b52f7f51e97bad659b1ba0684e208be624c28d82fb1162f18dd9dce45216461654cf3374624d15a8d03818400028180713e9f8108a6a7075485a37ce1a3b040cce563a0445614fe099fb1bffd68acb36f9e04d8ad17ace3c136da66f730eb7ff18936424ffa4e5ae5b1e7dac375d8d164697254b8b7e848f5e79da25c79df5c0727d5da3498405cd0f4e46d136c351d703cc4bf0d3f4fbb165392888684964a93ad30fa179488cad4a6655dd4fa9754]\n[sha = SHA-1]\n\n# tcId = 281\n# r,s = 1,1\nmsg = 54657374\nresult = valid\nsig = 3006020101020101\n\n# tcId = 282\n# r,s = 1,5\nmsg = 54657374\nresult = valid\nsig = 3006020101020105\n\n# tcId = 283\n# u2 small\nmsg = 54657374\nresult = valid\nsig = 3019020101021425023e8b9ba9ba72f481e90cb8ae67517e641b8a\n\n# tcId = 284\n# s == q-1\nmsg = 54657374\nresult = valid\nsig = 301a020101021500b90b38ba0a50a43ec6898d3f9b68049777f489b0\n\n[key.g = 0835aa8c358bbf01a1846d1206323fabe408b0e98789fcc6239da14d4b3f86c276a8f48aa85a59507e620ad1bc745f0f1cbf63ec98c229c2610d77c634d1642e404354771655b2d5662f7a45227178ce3430af0f6b3bb94b52f7f51e97bad659b1ba0684e208be624c28d82fb1162f18dd9dce45216461654cf3374624d15a8d]\n[key.keySize = 1024]\n[key.p = 0b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f]\n[key.q = 0b90b38ba0a50a43ec6898d3f9b68049777f489b1]\n[key.type = DSAPublicKey]\n[key.y = 61fe5b61f6d555ada7dc0ebac3459fccd8dfbad18ba94dbea52437cd7fb431df404d4738c594e720a6d786275acd02259ca613a08a2de118d0150d2ccae602102aca0cd03666a53f67c0b9943df5046c15baeaf496a9f018b7c939de1509de71ce47dd6f44c57f4e01e569be46932773190c154470cefbd1f4af82d28e4b31]\n[keyDer = 308201b43082012b06072a8648ce3804013082011e02818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f021500b90b38ba0a50a43ec6898d3f9b68049777f489b10281800835aa8c358bbf01a1846d1206323fabe408b0e98789fcc6239da14d4b3f86c276a8f48aa85a59507e620ad1bc745f0f1cbf63ec98c229c2610d77c634d1642e404354771655b2d5662f7a45227178ce3430af0f6b3bb94b52f7f51e97bad659b1ba0684e208be624c28d82fb1162f18dd9dce45216461654cf3374624d15a8d03818200027f61fe5b61f6d555ada7dc0ebac3459fccd8dfbad18ba94dbea52437cd7fb431df404d4738c594e720a6d786275acd02259ca613a08a2de118d0150d2ccae602102aca0cd03666a53f67c0b9943df5046c15baeaf496a9f018b7c939de1509de71ce47dd6f44c57f4e01e569be46932773190c154470cefbd1f4af82d28e4b31]\n[sha = SHA-1]\n\n# tcId = 285\n# s == 1\nmsg = 54657374\nresult = valid\nsig = 3019021462ba827381396dc44facc66c344f91788f11c6fc020101\n\n[key.g = 16a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde]\n[key.keySize = 2048]\n[key.p = 08f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667]\n[key.q = 0baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d]\n[key.type = DSAPublicKey]\n[key.y = 1e77f842b1ae0fcd9929d394161d41e14614ff750", - "7a9a31f4a1f14d22e2a627a1f4e596624883f1a5b168e9425146f22d5f6ee28757414714bb994ba1129f015d6e04a717edf9b530a5d5cab94f14631e8b4cf79aeb358cc741845553841e8ac461630e804a62f43676ba6794af66899c377b869ea612a7b9fe6611aa96be52eb8b62c979117bbbcca8a7ec1e1ffab1c7dfcfc7048700d3ae3858136e897701d7c2921b5dfef1d1f897f50d96ca1b5c2edc58cada18919e35642f0807eebfa00c99a32f4d095c3188f78ed54711be0325c4b532aeccd6540a567c327225440ea15319bde06510479a1861799e25b57decc73c036d75a0702bd373ca231349931]\n[keyDer = 308203423082023506072a8648ce3804013082022802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d0282010016a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde0382010500028201001e77f842b1ae0fcd9929d394161d41e14614ff7507a9a31f4a1f14d22e2a627a1f4e596624883f1a5b168e9425146f22d5f6ee28757414714bb994ba1129f015d6e04a717edf9b530a5d5cab94f14631e8b4cf79aeb358cc741845553841e8ac461630e804a62f43676ba6794af66899c377b869ea612a7b9fe6611aa96be52eb8b62c979117bbbcca8a7ec1e1ffab1c7dfcfc7048700d3ae3858136e897701d7c2921b5dfef1d1f897f50d96ca1b5c2edc58cada18919e35642f0807eebfa00c99a32f4d095c3188f78ed54711be0325c4b532aeccd6540a567c327225440ea15319bde06510479a1861799e25b57decc73c036d75a0702bd373ca231349931]\n[sha = SHA-224]\n\n# tcId = 286\n# Legacy:ASN encoding of s misses leading 0\nmsg = 48656c6c6f\nresult = acceptable\nsig = 303c021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021cade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n# ASN encoded integers with a leading hex-digit in the range 8 .. F are\n# negative. If the first hex-digit of a positive integer is 8 .. F then a\n# leading 0 must be added. Some libraries forgot to do this an therefore\n# generated invalid DSA signatures. Some providers, accept such legacy\n# signatures for compatibility.\n\n# tcId = 287\n# valid\nmsg = 48656c6c6f\nresult = valid\nsig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 288\n# long form encoding of length\nmsg = 48656c6c6f\nresult = invalid\nsig = 30813d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 289\n# long form encoding of length\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e02811c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 290\n# long form encoding of length\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd02811d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 291\n# length contains leading 0\nmsg = 48656c6c6f\nresult = invalid\nsig = 3082003d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 292\n# length contains leading 0\nmsg = 48656c6c6f\nresult = invalid\nsig = 303f0282001c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 293\n# length contains leading 0\nmsg = 48656c6c6f\nresult = invalid\nsig = 303f021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0282001d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 294\n# wrong length\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 295\n# wrong length\nmsg = 48656c6c6f\nresult = invalid\nsig = 303c021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 296\n# wrong length\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021d1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 297\n# wrong length\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021b1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 298\n# wrong length\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021e00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 299\n# wrong length\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021c00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 300\n# uint32 overflow in length\nmsg = 48656c6c6f\nresult = invalid\nsig = 3085010000003d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 301\n# uint32 overflow in length\nmsg = 48656c6c6f\nresult = invalid\nsig = 30420285010000001c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 302\n# uint32 overflow in length\nmsg = 48656c6c6f\nresult = invalid\nsig = 3042021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0285010000001d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 303\n# uint64 overflow in length\nmsg = 48656c6c6f\nresult = invalid\nsig = 308901000000000000003d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 304\n# uint64 overflow in length\nmsg = 48656c6c6f\nresult = invalid\nsig = 3046028901000000000000001c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 305\n# uint64 overflow in length\nmsg = 48656c6c6f\nresult = invalid\nsig = 3046021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd028901000000000000001d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 306\n# length = 2**31 - 1\nmsg = 48656c6c6f\nresult = invalid\nsig = 30847fffffff021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 307\n# length = 2**31 - 1\nmsg = 48656c6c6f\nresult = invalid\nsig = 304102847fffffff1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 308\n# length = 2**31 - 1\nmsg = 48656c6c6f\nresult = invalid\nsig = 3041021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd02847fffffff00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 309\n# length = 2**32 - 1\nmsg = 48656c6c6f\nresult = invalid\nsig = 3084ffffffff021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 310\n# length = 2**32 - 1\nmsg = 48656c6c6f\nresult = invalid\nsig = 30410284ffffffff1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 311\n# length = 2**32 - 1\nmsg = 48656c6c6f\nresult = invalid\nsig = 3041021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0284ffffffff00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 312\n# length = 2**40 - 1\nmsg = 48656c6c6f\nresult = invalid\nsig = 3085ffffffffff021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 313", - "\n# length = 2**40 - 1\nmsg = 48656c6c6f\nresult = invalid\nsig = 30420285ffffffffff1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 314\n# length = 2**40 - 1\nmsg = 48656c6c6f\nresult = invalid\nsig = 3042021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0285ffffffffff00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 315\n# length = 2**64 - 1\nmsg = 48656c6c6f\nresult = invalid\nsig = 3088ffffffffffffffff021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 316\n# length = 2**64 - 1\nmsg = 48656c6c6f\nresult = invalid\nsig = 30450288ffffffffffffffff1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 317\n# length = 2**64 - 1\nmsg = 48656c6c6f\nresult = invalid\nsig = 3045021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0288ffffffffffffffff00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 318\n# incorrect length\nmsg = 48656c6c6f\nresult = invalid\nsig = 30ff021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 319\n# incorrect length\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d02ff1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 320\n# incorrect length\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd02ff00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 321\n# indefinite length without termination\nmsg = 48656c6c6f\nresult = invalid\nsig = 3080021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 322\n# indefinite length without termination\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d02801e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 323\n# indefinite length without termination\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd028000ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 324\n# removing sequence\nmsg = 48656c6c6f\nresult = invalid\nsig = \n\n# tcId = 325\n# lonely sequence tag\nmsg = 48656c6c6f\nresult = invalid\nsig = 30\n\n# tcId = 326\n# appending 0's to sequence\nmsg = 48656c6c6f\nresult = invalid\nsig = 303f021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360000\n\n# tcId = 327\n# prepending 0's to sequence\nmsg = 48656c6c6f\nresult = invalid\nsig = 303f0000021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 328\n# appending unused 0's to sequence\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360000\n\n# tcId = 329\n# appending null value to sequence\nmsg = 48656c6c6f\nresult = invalid\nsig = 303f021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360500\n\n# tcId = 330\n# including garbage\nmsg = 48656c6c6f\nresult = invalid\nsig = 3042498177303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 331\n# including garbage\nmsg = 48656c6c6f\nresult = invalid\nsig = 30412500303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 332\n# including garbage\nmsg = 48656c6c6f\nresult = invalid\nsig = 303f303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360004deadbeef\n\n# tcId = 333\n# including garbage\nmsg = 48656c6c6f\nresult = invalid\nsig = 30422221498177021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 334\n# including garbage\nmsg = 48656c6c6f\nresult = invalid\nsig = 304122202500021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 335\n# including garbage\nmsg = 48656c6c6f\nresult = invalid\nsig = 3045221e021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0004deadbeef021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 336\n# including garbage\nmsg = 48656c6c6f\nresult = invalid\nsig = 3042021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd2222498177021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 337\n# including garbage\nmsg = 48656c6c6f\nresult = invalid\nsig = 3041021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd22212500021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 338\n# including garbage\nmsg = 48656c6c6f\nresult = invalid\nsig = 3045021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd221f021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360004deadbeef\n\n# tcId = 339\n# including undefined tags\nmsg = 48656c6c6f\nresult = invalid\nsig = 3045aa00bb00cd00303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 340\n# including undefined tags\nmsg = 48656c6c6f\nresult = invalid\nsig = 3043aa02aabb303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 341\n# including undefined tags\nmsg = 48656c6c6f\nresult = invalid\nsig = 30452224aa00bb00cd00021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 342\n# including undefined tags\nmsg = 48656c6c6f\nresult = invalid\nsig = 30432222aa02aabb021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 343\n# including undefined tags\nmsg = 48656c6c6f\nresult = invalid\nsig = 3045021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd2225aa00bb00cd00021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 344\n# including undefined tags\nmsg = 48656c6c6f\nresult = invalid\nsig = 3043021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd2223aa02aabb021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 345\n# truncated length of sequence\nmsg = 48656c6c6f\nresult = invalid\nsig = 3081\n\n# tcId = 346\n# using composition with indefinite length\nmsg = 48656c6c6f\nresult = invalid\nsig = 3080303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360000\n\n# tcId = 347\n# using composition with indefinite length\nmsg = 48656c6c6f\nresult = invalid\nsig = 30412280021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0000021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 348\n# using composition with indefinite length\nmsg = 48656c6c6f\nresult = invalid\nsig = 3041021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd2280021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360000\n\n# tcId = 349\n# using composition with wrong tag\nmsg = 48656c6c6f\nresult = invalid\nsig = 3080313d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360000\n\n# tcId = 350\n# using composition with wrong tag\nmsg = 48656c6c6f\nresult = invalid\nsig = 30412280031c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0000021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 351\n# using composition with wrong tag\nmsg = 48656c6c6f\nresult = invalid\nsig = 3041021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd2280031d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360000\n\n# tcId = 352\n# Replacing sequence with NULL\nmsg = 48656c6c6f\nresult = invalid\nsig = 0500\n\n# tcId = 353\n# changing tag value of sequence\nmsg =", - " 48656c6c6f\nresult = invalid\nsig = 2e3d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 354\n# changing tag value of sequence\nmsg = 48656c6c6f\nresult = invalid\nsig = 2f3d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 355\n# changing tag value of sequence\nmsg = 48656c6c6f\nresult = invalid\nsig = 313d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 356\n# changing tag value of sequence\nmsg = 48656c6c6f\nresult = invalid\nsig = 323d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 357\n# changing tag value of sequence\nmsg = 48656c6c6f\nresult = invalid\nsig = ff3d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 358\n# dropping value of sequence\nmsg = 48656c6c6f\nresult = invalid\nsig = 3000\n\n# tcId = 359\n# using composition for sequence\nmsg = 48656c6c6f\nresult = invalid\nsig = 3041300102303c1c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 360\n# truncate sequence\nmsg = 48656c6c6f\nresult = invalid\nsig = 303c021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862\n\n# tcId = 361\n# truncate sequence\nmsg = 48656c6c6f\nresult = invalid\nsig = 303c1c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 362\n# indefinite length\nmsg = 48656c6c6f\nresult = invalid\nsig = 3080021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360000\n\n# tcId = 363\n# indefinite length with truncated delimiter\nmsg = 48656c6c6f\nresult = invalid\nsig = 3080021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe878623600\n\n# tcId = 364\n# indefinite length with additional element\nmsg = 48656c6c6f\nresult = invalid\nsig = 3080021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe878623605000000\n\n# tcId = 365\n# indefinite length with truncated element\nmsg = 48656c6c6f\nresult = invalid\nsig = 3080021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236060811220000\n\n# tcId = 366\n# indefinite length with garbage\nmsg = 48656c6c6f\nresult = invalid\nsig = 3080021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360000fe02beef\n\n# tcId = 367\n# indefinite length with nonempty EOC\nmsg = 48656c6c6f\nresult = invalid\nsig = 3080021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360002beef\n\n# tcId = 368\n# prepend empty sequence\nmsg = 48656c6c6f\nresult = invalid\nsig = 303f3000021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 369\n# append empty sequence\nmsg = 48656c6c6f\nresult = invalid\nsig = 303f021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862363000\n\n# tcId = 370\n# sequence of sequence\nmsg = 48656c6c6f\nresult = invalid\nsig = 303f303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 371\n# truncated sequence\nmsg = 48656c6c6f\nresult = invalid\nsig = 301e021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd\n\n# tcId = 372\n# repeat element in sequence\nmsg = 48656c6c6f\nresult = invalid\nsig = 305c021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 373\n# removing integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 301f021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 374\n# lonely integer tag\nmsg = 48656c6c6f\nresult = invalid\nsig = 302002021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 375\n# lonely integer tag\nmsg = 48656c6c6f\nresult = invalid\nsig = 301f021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd02\n\n# tcId = 376\n# appending 0's to integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303f021e1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0000021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 377\n# appending 0's to integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303f021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021f00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360000\n\n# tcId = 378\n# prepending 0's to integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303f021e00001e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 379\n# prepending 0's to integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303f021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021f000000ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 380\n# appending unused 0's to integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303f021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0000021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 381\n# appending null value to integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303f021e1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0500021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 382\n# appending null value to integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303f021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021f00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360500\n\n# tcId = 383\n# truncated length of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 30210281021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 384\n# truncated length of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 3020021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0281\n\n# tcId = 385\n# Replacing integer with NULL\nmsg = 48656c6c6f\nresult = invalid\nsig = 30210500021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 386\n# Replacing integer with NULL\nmsg = 48656c6c6f\nresult = invalid\nsig = 3020021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0500\n\n# tcId = 387\n# changing tag value of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d001c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 388\n# changing tag value of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d011c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 389\n# changing tag value of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d031c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 390\n# changing tag value of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d041c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 391\n# changing tag value of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303dff1c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 392\n# changing tag value of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd001d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 393\n# changing tag value of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd011d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 394\n# changing tag val", - "ue of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd031d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 395\n# changing tag value of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd041d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 396\n# changing tag value of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cdff1d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 397\n# dropping value of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 30210200021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 398\n# dropping value of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 3020021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0200\n\n# tcId = 399\n# using composition for integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 3041222002011e021b41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 400\n# using composition for integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 3041021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd2221020100021cade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 401\n# modify first byte of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c1c41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 402\n# modify first byte of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d02ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 403\n# modify last byte of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c94d021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 404\n# modify last byte of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862b6\n\n# tcId = 405\n# truncate integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303c021b1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 406\n# truncate integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303c021b41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 407\n# truncate integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303c021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021c00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862\n\n# tcId = 408\n# truncate integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303c021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021cade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 409\n# leading ff in integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021dff1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 410\n# leading ff in integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021eff00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 411\n# infinity\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022090180021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 412\n# infinity\nmsg = 48656c6c6f\nresult = invalid\nsig = 3021021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd090180\n\n# tcId = 413\n# replacing integer with zero\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022020100021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 414\n# replacing integer with zero\nmsg = 48656c6c6f\nresult = invalid\nsig = 3021021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd020100\n\n# tcId = 415\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d00d9384b2032d060e59848f87cb4535936bc25fa77959e96d7f88e332a021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 416\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021dff634b1dd327de7125da7903ad2163ca2addc096101fd395567ee36070021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 417\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021ce1be4b8652a896fa469f01eb15246e4f330cb7bc2546e9e8c4473633021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 418\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d009cb4e22cd8218eda2586fc52de9c35d5223f69efe02c6aa9811c9f90021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 419\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021dff26c7b4dfcd2f9f1a67b707834baca6c943da05886a6169280771ccd6021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 420\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d011e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 421\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d00e1be4b8652a896fa469f01eb15246e4f330cb7bc2546e9e8c4473633021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 422\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d0168dcf02f57b0caef7ddc183bee1ca94ee09c1a02ee4b0200a54dcb93\n\n# tcId = 423\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 48656c6c6f\nresult = invalid\nsig = 303c021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021cf2efc2e24cbedb2fc00c236c5b2d1a430236b59b7880007f2ba2f8d9\n\n# tcId = 424\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021dff5219a6772dc82cf0610be22bdb5b1e370e969830cc9a7ec017879dca\n\n# tcId = 425\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 48656c6c6f\nresult = invalid\nsig = 303c021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021c0d103d1db34124d03ff3dc93a4d2e5bcfdc94a64877fff80d45d0727\n\n# tcId = 426\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021dfe97230fd0a84f35108223e7c411e356b11f63e5fd11b4fdff5ab2346d\n\n# tcId = 427\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d01ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 428\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 48656c6c6f\nresult = invalid\nsig = 303c021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021c5219a6772dc82cf0610be22bdb5b1e370e969830cc9a7ec017879dca\n\n# tcId = 429\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022020100021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 430\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3006020100020100\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 431\n# Signatures wi", - "th special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3006020100020101\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 432\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 30060201000201ff\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 433\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3021020100021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 434\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3021020100021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 435\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022020100021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 436\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022020100021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 437\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022020100021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 438\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022020100021d0100000000000000000000000000000000000000000000000000000000\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 439\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3082010802010002820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 440\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3008020100090380fe01\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 441\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022020101021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 442\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3006020101020100\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 443\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3006020101020101\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 444\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 30060201010201ff\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 445\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3021020101021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 446\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3021020101021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 447\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022020101021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 448\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022020101021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 449\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022020101021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 450\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022020101021d0100000000000000000000000000000000000000000000000000000000\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 451\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3082010802010102820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84b", - "dd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 452\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3008020101090380fe01\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 453\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 30220201ff021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 454\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 30060201ff020100\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 455\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 30060201ff020101\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 456\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 30060201ff0201ff\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 457\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 30210201ff021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 458\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 30210201ff021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 459\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 30220201ff021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 460\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 30220201ff021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 461\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 30220201ff021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 462\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 30220201ff021d0100000000000000000000000000000000000000000000000000000000\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 463\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 308201080201ff02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 464\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 30080201ff090380fe01\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 465\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 466\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3021021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae020100\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 467\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3021021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae020101\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 468\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3021021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae0201ff\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 469\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303c021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 470\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303c021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result th", - "ere are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 471\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 472\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 473\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 474\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae021d0100000000000000000000000000000000000000000000000000000000\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 475\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 30820123021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 476\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3023021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae090380fe01\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 477\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 478\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3021021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af020100\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 479\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3021021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af020101\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 480\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3021021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af0201ff\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 481\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303c021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 482\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303c021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 483\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 484\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 485\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 486\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af021d0100000000000000000000000000000000000000000000000000000000\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 487\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 30820123021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modul", - "ar inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 488\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3023021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af090380fe01\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 489\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 490\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c020100\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 491\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c020101\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 492\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c0201ff\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 493\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 494\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 495\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 496\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 497\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 498\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c021d0100000000000000000000000000000000000000000000000000000000\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 499\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 30820124021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 500\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3024021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c090380fe01\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 501\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 502\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d020100\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 503\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d020101\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 504\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d0201ff\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 505\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 506\n# Signatures with special case val", - "ues for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 507\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 508\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 509\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 510\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d021d0100000000000000000000000000000000000000000000000000000000\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 511\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 30820124021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 512\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3024021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d090380fe01\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 513\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 514\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e020100\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 515\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e020101\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 516\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e0201ff\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 517\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 518\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 519\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 520\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 521\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 522\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e021d0100000000000000000000000000000000000000000000000000000000\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 523\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 30820124021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979c", - "ec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 524\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3024021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e090380fe01\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 525\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d0100000000000000000000000000000000000000000000000000000000021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 526\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022021d0100000000000000000000000000000000000000000000000000000000020100\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 527\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022021d0100000000000000000000000000000000000000000000000000000000020101\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 528\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022021d01000000000000000000000000000000000000000000000000000000000201ff\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 529\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021d0100000000000000000000000000000000000000000000000000000000021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 530\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021d0100000000000000000000000000000000000000000000000000000000021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 531\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d0100000000000000000000000000000000000000000000000000000000021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 532\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d0100000000000000000000000000000000000000000000000000000000021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 533\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d0100000000000000000000000000000000000000000000000000000000021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 534\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d0100000000000000000000000000000000000000000000000000000000021d0100000000000000000000000000000000000000000000000000000000\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 535\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 30820124021d010000000000000000000000000000000000000000000000000000000002820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 536\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3024021d0100000000000000000000000000000000000000000000000000000000090380fe01\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 537\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3082012402820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 538\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3082010802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667020100\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead", - " to forgeries.\n\n# tcId = 539\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3082010802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667020101\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 540\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3082010802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd6670201ff\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 541\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3082012302820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 542\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3082012302820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 543\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3082012402820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 544\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3082012402820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 545\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3082012402820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 546\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3082012402820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d0100000000000000000000000000000000000000000000000000000000\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 547\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3082020a02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd66702820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f272", - "90256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 548\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3082010a02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667090380fe01\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 549\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3024090380fe01021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 550\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3008090380fe01020100\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 551\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3008090380fe01020101\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 552\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3008090380fe010201ff\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 553\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3023090380fe01021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 554\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3023090380fe01021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 555\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3024090380fe01021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 556\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3024090380fe01021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 557\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3024090380fe01021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 558\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3024090380fe01021d0100000000000000000000000000000000000000000000000000000000\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 559\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3082010a090380fe0102820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 560\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 300a090380fe01090380fe01\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 561\n# random signature\nmsg = 48656c6c6f\nresult = valid\nsig = 303c021c36f3dba9761a64a37e82b12321b2a9dfd7d33b52876cc0afc069fdfb021c2b4d30ae183b67f5f89268ae71c466d8d9b80c1877fab23e822f7f00\n\n# tcId = 562\n# random signature\nmsg = 48656c6c6f\nresult = valid\nsig = 303d021c57d273ae3782e51af0be789e409159428af91face3071ae9423474ed021d00b7385bfcd3c9eb35a4b5cbfaeaefc67a26c75a8612ebc482eef96033\n\n# tcId = 563\n# random signature\nmsg = 48656c6c6f\nresult = valid\nsig = 303d021c2dfa059fbea2500f7db7edb9c4b5d17c844604870f47c43554d07ca6021d00975684ce7938e43e82015d1e1ff9488cce372c11929b605fd7041645\n\n# tcId = 564\n# random signature\nmsg = 48656c6c6f\nresult = valid\nsig = 303c021c57e06bc849dc1f43acc9eef55da7edd36ae15029d2e6fd9778f116b4021c7171a6bd9ea904d0cfb290feb28e42404c3da8ce8844c85c12ddd65f\n\n# tcId = 565\n# random signature\nmsg = 48656c6c6f\nresult = valid\nsig = 303c021c56e35470a8d753a3eebdc96c8dfbea13198e8e12dd215afc0fdeaad6021c6022e76ad5b2d5a0cfbfec0b80d7d40c73de361d1caa91992414555b\n\n[key.g = 16a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde]\n[key.keySize = 2048]\n[key.p = 08f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be", - "484c05763939601cd667]\n[key.q = 0baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d]\n[key.type = DSAPublicKey]\n[key.y = 6978b68d31334ee5bc7b3e91ab6c2336fab45c64836bd92cb5337b734db9e8e44f889f8869829f4fe174dc9344c164a0ba5b0126259ba8a43f607564fa4a1d0d49645e1d5886a1fc485e2fe91e56eae330da05e17b0b3d018c290285b249bc409e7af54300fc7c3eb34911457e2371931ad9302e8450cd95df3d561ea0ad94d0a2eabcafe0dd6728fb280029b556d9f4fa7c0f46a7804329936708e97e11fc22b2a50761a890c65b5fea2a1a4172f6be9eaa60e738cdf60c015142e2e562bb62a11e810ccdf0bf633307382f2d9a9769b115dfcdab4bacae73feca289db209dce34cbe126e8c7f9d9e4f8f711349a608d567b48c050e9dfb32bc184ecaa4f0f0]\n[keyDer = 308203423082023506072a8648ce3804013082022802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d0282010016a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde0382010500028201006978b68d31334ee5bc7b3e91ab6c2336fab45c64836bd92cb5337b734db9e8e44f889f8869829f4fe174dc9344c164a0ba5b0126259ba8a43f607564fa4a1d0d49645e1d5886a1fc485e2fe91e56eae330da05e17b0b3d018c290285b249bc409e7af54300fc7c3eb34911457e2371931ad9302e8450cd95df3d561ea0ad94d0a2eabcafe0dd6728fb280029b556d9f4fa7c0f46a7804329936708e97e11fc22b2a50761a890c65b5fea2a1a4172f6be9eaa60e738cdf60c015142e2e562bb62a11e810ccdf0bf633307382f2d9a9769b115dfcdab4bacae73feca289db209dce34cbe126e8c7f9d9e4f8f711349a608d567b48c050e9dfb32bc184ecaa4f0f0]\n[sha = SHA-224]\n\n# tcId = 566\n# r,s = 1,1\nmsg = 54657374\nresult = valid\nsig = 3006020101020101\n\n# tcId = 567\n# r,s = 1,5\nmsg = 54657374\nresult = valid\nsig = 3006020101020105\n\n# tcId = 568\n# u2 small\nmsg = 54657374\nresult = valid\nsig = 3022020101021d009592121ed12d93197f1ffb863ac63937f28ef4f62f1e009a30aabab1\n\n# tcId = 569\n# s == q-1\nmsg = 54657374\nresult = valid\nsig = 3022020101021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\n\n[key.g = 16a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde]\n[key.keySize = 2048]\n[key.p = 08f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667]\n[key.q = 0baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d]\n[key.type = DSAPublicKey]\n[key.y = 2a64953bde40789f80ed8227192286115b92d09d5de96904e803ec4ecfbd73e0f08e82910febf19fa3cdc55ff20eb970d9c712f44785c0fd592c17fb43f4625357a4ac8a1a628f72040ae5360839c7c1f6b214e7a15530fe22887139ea0f05a9daf9d95bd6b7467abf9107c9fbe31e36330276eeccce3d59635206d60ca256f9af60627626b0594984b5a075c42c42067fa8c330f258bcf145df27a97da8ee419b54e3ab296c7ce9ef6a0113389b3cac7885b44b3722d27cad60e4e5a924a1ed0342cea9e99256f6bc1308d4af2c0af9379b1cf2119ce113c085705f5519ccc1ba8562a2236190d3f0c0a10f01466ad79a48127c28433f6b34e24a539af60f3d]\n[keyDer = 308203423082023506072a8648ce3804013082022802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d0282010016a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde0382010500028201002a64953bde40789f80ed8227192286115b92d09d5de96904e803ec4ecfbd73e0f08e82910febf19fa3cdc55ff20eb970d9c712f44785c0fd592c17fb43f4625357a4ac8a1a628f72040ae5360839c7c1f6b214e7a15530fe22887139ea0f05a9daf9d95bd6b7467abf9107c9fbe31e36330276eeccce3d59635206d60ca256f9af60627626b0594984b5a075c42c42067fa8c330f258bcf145df27a97da8ee419b54e3ab296c7ce9ef6a0113389b3cac7885b44b3722d27cad60e4e5a924a1ed0342cea9e99256f6bc1308d4af2c0af9379b1cf2119ce113c085705f5519ccc1ba8562a2236190d3f0c0a10f01466ad79a48127c28433f6b34e24a539af60f3d]\n[sha = SHA-224]\n\n# tcId = 570\n# s == 1\nmsg = 54657374\nresult = valid\nsig = 3021021c5a252f4fc55618747fd94b13c9bee62bb958d85777cb07dd90710d24020101\n\n[key.g = 16a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde]\n[key.keySize = 2048]\n[key.p = 08f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667]\n[key.q = 0baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d]\n[key.type = DSAPublicKey]\n[key.y = 1e77f842b1ae0fcd9929d394161d41e14614ff7507a9a31f4a1f14d22e2a627a1f4e596624883f1a5b168e9425146f22d5f6ee28757414714bb994ba1129f015d6e04a717edf9b530a5d5cab94f14631e8b4cf79aeb358cc741845553841e8ac461630e804a62f43676ba6794af66899c377b869ea612a7b9fe6611aa96be52eb8b62c979117bbbcca8a7ec1e1ffab1c7dfcfc7048700d3ae3858136e897701d7c2921b5dfef1d1f897f50d96ca1b5c2edc58cada18919e35642f0807eebfa00c99a32f4d095c3188f78ed54711be0325c4b532aeccd6540a567c327225440ea15319bde06510479a1861799e25b57decc73c036d75a0702bd373ca231349931]\n[keyDer = 308203423082023506072a8648ce3804013082022802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa271", - "10a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d0282010016a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde0382010500028201001e77f842b1ae0fcd9929d394161d41e14614ff7507a9a31f4a1f14d22e2a627a1f4e596624883f1a5b168e9425146f22d5f6ee28757414714bb994ba1129f015d6e04a717edf9b530a5d5cab94f14631e8b4cf79aeb358cc741845553841e8ac461630e804a62f43676ba6794af66899c377b869ea612a7b9fe6611aa96be52eb8b62c979117bbbcca8a7ec1e1ffab1c7dfcfc7048700d3ae3858136e897701d7c2921b5dfef1d1f897f50d96ca1b5c2edc58cada18919e35642f0807eebfa00c99a32f4d095c3188f78ed54711be0325c4b532aeccd6540a567c327225440ea15319bde06510479a1861799e25b57decc73c036d75a0702bd373ca231349931]\n[sha = SHA-256]\n\n# tcId = 571\n# Legacy:ASN encoding of r misses leading 0\nmsg = 54657374\nresult = acceptable\nsig = 303c021c9b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n# ASN encoded integers with a leading hex-digit in the range 8 .. F are\n# negative. If the first hex-digit of a positive integer is 8 .. F then a\n# leading 0 must be added. Some libraries forgot to do this an therefore\n# generated invalid DSA signatures. Some providers, accept such legacy\n# signatures for compatibility.\n\n# tcId = 572\n# valid\nmsg = 54657374\nresult = valid\nsig = 303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 573\n# long form encoding of length\nmsg = 54657374\nresult = invalid\nsig = 30813d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 574\n# long form encoding of length\nmsg = 54657374\nresult = invalid\nsig = 303e02811d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 575\n# long form encoding of length\nmsg = 54657374\nresult = invalid\nsig = 303e021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee9302811c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 576\n# length contains leading 0\nmsg = 54657374\nresult = invalid\nsig = 3082003d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 577\n# length contains leading 0\nmsg = 54657374\nresult = invalid\nsig = 303f0282001d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 578\n# length contains leading 0\nmsg = 54657374\nresult = invalid\nsig = 303f021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930282001c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 579\n# wrong length\nmsg = 54657374\nresult = invalid\nsig = 303e021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 580\n# wrong length\nmsg = 54657374\nresult = invalid\nsig = 303c021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 581\n# wrong length\nmsg = 54657374\nresult = invalid\nsig = 303d021e009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 582\n# wrong length\nmsg = 54657374\nresult = invalid\nsig = 303d021c009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 583\n# wrong length\nmsg = 54657374\nresult = invalid\nsig = 303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021d5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 584\n# wrong length\nmsg = 54657374\nresult = invalid\nsig = 303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021b5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 585\n# uint32 overflow in length\nmsg = 54657374\nresult = invalid\nsig = 3085010000003d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 586\n# uint32 overflow in length\nmsg = 54657374\nresult = invalid\nsig = 30420285010000001d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 587\n# uint32 overflow in length\nmsg = 54657374\nresult = invalid\nsig = 3042021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930285010000001c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 588\n# uint64 overflow in length\nmsg = 54657374\nresult = invalid\nsig = 308901000000000000003d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 589\n# uint64 overflow in length\nmsg = 54657374\nresult = invalid\nsig = 3046028901000000000000001d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 590\n# uint64 overflow in length\nmsg = 54657374\nresult = invalid\nsig = 3046021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93028901000000000000001c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 591\n# length = 2**31 - 1\nmsg = 54657374\nresult = invalid\nsig = 30847fffffff021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 592\n# length = 2**31 - 1\nmsg = 54657374\nresult = invalid\nsig = 304102847fffffff009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 593\n# length = 2**31 - 1\nmsg = 54657374\nresult = invalid\nsig = 3041021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee9302847fffffff5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 594\n# length = 2**32 - 1\nmsg = 54657374\nresult = invalid\nsig = 3084ffffffff021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 595\n# length = 2**32 - 1\nmsg = 54657374\nresult = invalid\nsig = 30410284ffffffff009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 596\n# length = 2**32 - 1\nmsg = 54657374\nresult = invalid\nsig = 3041021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930284ffffffff5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 597\n# length = 2**40 - 1\nmsg = 54657374\nresult = invalid\nsig = 3085ffffffffff021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 598\n# length = 2**40 - 1\nmsg = 54657374\nresult = invalid\nsig = 30420285ffffffffff009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 599\n# length = 2**40 - 1\nmsg = 54657374\nresult = invalid\nsig = 3042021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930285ffffffffff5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 600\n# length = 2**64 - 1\nmsg = 54657374\nresult = invalid\nsig = 3088ffffffffffffffff021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 601\n# length = 2**64 - 1\nmsg = 54657374\nresult = invalid\nsig = 30450288ffffffffffffffff009b6fe4a1cbd4467d7584ae", - "382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 602\n# length = 2**64 - 1\nmsg = 54657374\nresult = invalid\nsig = 3045021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930288ffffffffffffffff5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 603\n# incorrect length\nmsg = 54657374\nresult = invalid\nsig = 30ff021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 604\n# incorrect length\nmsg = 54657374\nresult = invalid\nsig = 303d02ff009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 605\n# incorrect length\nmsg = 54657374\nresult = invalid\nsig = 303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee9302ff5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 606\n# indefinite length without termination\nmsg = 54657374\nresult = invalid\nsig = 3080021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 607\n# indefinite length without termination\nmsg = 54657374\nresult = invalid\nsig = 303d0280009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 608\n# indefinite length without termination\nmsg = 54657374\nresult = invalid\nsig = 303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee9302805fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 609\n# removing sequence\nmsg = 54657374\nresult = invalid\nsig = \n\n# tcId = 610\n# lonely sequence tag\nmsg = 54657374\nresult = invalid\nsig = 30\n\n# tcId = 611\n# appending 0's to sequence\nmsg = 54657374\nresult = invalid\nsig = 303f021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160000\n\n# tcId = 612\n# prepending 0's to sequence\nmsg = 54657374\nresult = invalid\nsig = 303f0000021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 613\n# appending unused 0's to sequence\nmsg = 54657374\nresult = invalid\nsig = 303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160000\n\n# tcId = 614\n# appending null value to sequence\nmsg = 54657374\nresult = invalid\nsig = 303f021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160500\n\n# tcId = 615\n# including garbage\nmsg = 54657374\nresult = invalid\nsig = 3042498177303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 616\n# including garbage\nmsg = 54657374\nresult = invalid\nsig = 30412500303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 617\n# including garbage\nmsg = 54657374\nresult = invalid\nsig = 303f303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160004deadbeef\n\n# tcId = 618\n# including garbage\nmsg = 54657374\nresult = invalid\nsig = 30422222498177021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 619\n# including garbage\nmsg = 54657374\nresult = invalid\nsig = 304122212500021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 620\n# including garbage\nmsg = 54657374\nresult = invalid\nsig = 3045221f021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930004deadbeef021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 621\n# including garbage\nmsg = 54657374\nresult = invalid\nsig = 3042021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee932221498177021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 622\n# including garbage\nmsg = 54657374\nresult = invalid\nsig = 3041021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee9322202500021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 623\n# including garbage\nmsg = 54657374\nresult = invalid\nsig = 3045021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93221e021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160004deadbeef\n\n# tcId = 624\n# including undefined tags\nmsg = 54657374\nresult = invalid\nsig = 3045aa00bb00cd00303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 625\n# including undefined tags\nmsg = 54657374\nresult = invalid\nsig = 3043aa02aabb303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 626\n# including undefined tags\nmsg = 54657374\nresult = invalid\nsig = 30452225aa00bb00cd00021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 627\n# including undefined tags\nmsg = 54657374\nresult = invalid\nsig = 30432223aa02aabb021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 628\n# including undefined tags\nmsg = 54657374\nresult = invalid\nsig = 3045021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee932224aa00bb00cd00021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 629\n# including undefined tags\nmsg = 54657374\nresult = invalid\nsig = 3043021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee932222aa02aabb021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 630\n# truncated length of sequence\nmsg = 54657374\nresult = invalid\nsig = 3081\n\n# tcId = 631\n# using composition with indefinite length\nmsg = 54657374\nresult = invalid\nsig = 3080303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160000\n\n# tcId = 632\n# using composition with indefinite length\nmsg = 54657374\nresult = invalid\nsig = 30412280021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930000021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 633\n# using composition with indefinite length\nmsg = 54657374\nresult = invalid\nsig = 3041021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee932280021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160000\n\n# tcId = 634\n# using composition with wrong tag\nmsg = 54657374\nresult = invalid\nsig = 3080313d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160000\n\n# tcId = 635\n# using composition with wrong tag\nmsg = 54657374\nresult = invalid\nsig = 30412280031d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930000021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 636\n# using composition with wrong tag\nmsg = 54657374\nresult = invalid\nsig = 3041021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee932280031c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160000\n\n# tcId = 637\n# Replacing sequence with NULL\nmsg = 54657374\nresult = invalid\nsig = 0500\n\n# tcId = 638\n# changing tag value of sequence\nmsg = 54657374\nresult = invalid\nsig = 2e3d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 639\n# changing tag value of sequence\nmsg = 54657374\nresult = invalid\nsig = 2f3d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 640\n# changing tag value of sequence\nmsg = 54657374\nresult = invalid\nsig = 313d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 641\n# changing tag value of sequence\nmsg = 54657374\nresult = invalid\nsig = 323d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 642\n# changing tag", - " value of sequence\nmsg = 54657374\nresult = invalid\nsig = ff3d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 643\n# dropping value of sequence\nmsg = 54657374\nresult = invalid\nsig = 3000\n\n# tcId = 644\n# using composition for sequence\nmsg = 54657374\nresult = invalid\nsig = 3041300102303c1d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 645\n# truncate sequence\nmsg = 54657374\nresult = invalid\nsig = 303c021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1\n\n# tcId = 646\n# truncate sequence\nmsg = 54657374\nresult = invalid\nsig = 303c1d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 647\n# indefinite length\nmsg = 54657374\nresult = invalid\nsig = 3080021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160000\n\n# tcId = 648\n# indefinite length with truncated delimiter\nmsg = 54657374\nresult = invalid\nsig = 3080021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b11600\n\n# tcId = 649\n# indefinite length with additional element\nmsg = 54657374\nresult = invalid\nsig = 3080021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b11605000000\n\n# tcId = 650\n# indefinite length with truncated element\nmsg = 54657374\nresult = invalid\nsig = 3080021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116060811220000\n\n# tcId = 651\n# indefinite length with garbage\nmsg = 54657374\nresult = invalid\nsig = 3080021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160000fe02beef\n\n# tcId = 652\n# indefinite length with nonempty EOC\nmsg = 54657374\nresult = invalid\nsig = 3080021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160002beef\n\n# tcId = 653\n# prepend empty sequence\nmsg = 54657374\nresult = invalid\nsig = 303f3000021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 654\n# append empty sequence\nmsg = 54657374\nresult = invalid\nsig = 303f021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1163000\n\n# tcId = 655\n# sequence of sequence\nmsg = 54657374\nresult = invalid\nsig = 303f303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 656\n# truncated sequence\nmsg = 54657374\nresult = invalid\nsig = 301f021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93\n\n# tcId = 657\n# repeat element in sequence\nmsg = 54657374\nresult = invalid\nsig = 305b021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 658\n# removing integer\nmsg = 54657374\nresult = invalid\nsig = 301e021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 659\n# lonely integer tag\nmsg = 54657374\nresult = invalid\nsig = 301f02021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 660\n# lonely integer tag\nmsg = 54657374\nresult = invalid\nsig = 3020021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee9302\n\n# tcId = 661\n# appending 0's to integer\nmsg = 54657374\nresult = invalid\nsig = 303f021f009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930000021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 662\n# appending 0's to integer\nmsg = 54657374\nresult = invalid\nsig = 303f021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021e5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160000\n\n# tcId = 663\n# prepending 0's to integer\nmsg = 54657374\nresult = invalid\nsig = 303f021f0000009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 664\n# prepending 0's to integer\nmsg = 54657374\nresult = invalid\nsig = 303f021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021e00005fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 665\n# appending unused 0's to integer\nmsg = 54657374\nresult = invalid\nsig = 303f021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930000021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 666\n# appending null value to integer\nmsg = 54657374\nresult = invalid\nsig = 303f021f009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930500021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 667\n# appending null value to integer\nmsg = 54657374\nresult = invalid\nsig = 303f021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021e5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160500\n\n# tcId = 668\n# truncated length of integer\nmsg = 54657374\nresult = invalid\nsig = 30200281021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 669\n# truncated length of integer\nmsg = 54657374\nresult = invalid\nsig = 3021021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930281\n\n# tcId = 670\n# Replacing integer with NULL\nmsg = 54657374\nresult = invalid\nsig = 30200500021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 671\n# Replacing integer with NULL\nmsg = 54657374\nresult = invalid\nsig = 3021021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930500\n\n# tcId = 672\n# changing tag value of integer\nmsg = 54657374\nresult = invalid\nsig = 303d001d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 673\n# changing tag value of integer\nmsg = 54657374\nresult = invalid\nsig = 303d011d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 674\n# changing tag value of integer\nmsg = 54657374\nresult = invalid\nsig = 303d031d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 675\n# changing tag value of integer\nmsg = 54657374\nresult = invalid\nsig = 303d041d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 676\n# changing tag value of integer\nmsg = 54657374\nresult = invalid\nsig = 303dff1d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 677\n# changing tag value of integer\nmsg = 54657374\nresult = invalid\nsig = 303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93001c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 678\n# changing tag value of integer\nmsg = 54657374\nresult = invalid\nsig = 303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93011c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 679\n# changing tag value of integer\nmsg = 54657374\nresult = invalid\nsig = 303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93031c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 680\n# changing tag value of integer\nmsg = 54657374\nresult = invalid\nsig = 303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93041c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 681\n# changing tag value of integer\nmsg = 54657374\nresult = invalid\nsig = 303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93ff1c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 682\n# dropping value of integer\nmsg = 54657374\nresult = invalid\nsig = 30200200021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 683\n# dropping value of integer\nmsg = 54657374\nresult = invalid\nsig = 3021021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930200\n\n# tcId", - " = 684\n# using composition for integer\nmsg = 54657374\nresult = invalid\nsig = 30412221020100021c9b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 685\n# using composition for integer\nmsg = 54657374\nresult = invalid\nsig = 3041021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93222002015f021be8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 686\n# modify first byte of integer\nmsg = 54657374\nresult = invalid\nsig = 303d021d029b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 687\n# modify first byte of integer\nmsg = 54657374\nresult = invalid\nsig = 303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5de8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 688\n# modify last byte of integer\nmsg = 54657374\nresult = invalid\nsig = 303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee13021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 689\n# modify last byte of integer\nmsg = 54657374\nresult = invalid\nsig = 303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b196\n\n# tcId = 690\n# truncate integer\nmsg = 54657374\nresult = invalid\nsig = 303c021c009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 691\n# truncate integer\nmsg = 54657374\nresult = invalid\nsig = 303c021c9b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 692\n# truncate integer\nmsg = 54657374\nresult = invalid\nsig = 303c021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021b5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1\n\n# tcId = 693\n# truncate integer\nmsg = 54657374\nresult = invalid\nsig = 303c021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021be8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 694\n# leading ff in integer\nmsg = 54657374\nresult = invalid\nsig = 303e021eff009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 695\n# leading ff in integer\nmsg = 54657374\nresult = invalid\nsig = 303e021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021dff5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 696\n# infinity\nmsg = 54657374\nresult = invalid\nsig = 3021090180021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 697\n# infinity\nmsg = 54657374\nresult = invalid\nsig = 3022021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93090180\n\n# tcId = 698\n# replacing integer with zero\nmsg = 54657374\nresult = invalid\nsig = 3021020100021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 699\n# replacing integer with zero\nmsg = 54657374\nresult = invalid\nsig = 3022021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93020100\n\n# tcId = 700\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 54657374\nresult = invalid\nsig = 303d021d0156667b48514d3e5d546ca89ff45ada90474113ed248b873430ab57f0021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 701\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 54657374\nresult = invalid\nsig = 303c021ce0794dfb465b4e9d969cb3d0616b4b8468dbaf85aec085b2b7008536021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 702\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 54657374\nresult = invalid\nsig = 303d021dff64901b5e342bb9828a7b51c7d51cecf5a7f19e469659f98c8c2a116d021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 703\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 54657374\nresult = invalid\nsig = 303c021c1f86b204b9a4b16269634c2f9e94b47b9724507a513f7a4d48ff7aca021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 704\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 54657374\nresult = invalid\nsig = 303d021dfea99984b7aeb2c1a2ab9357600ba5256fb8beec12db7478cbcf54a810021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 705\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 54657374\nresult = invalid\nsig = 303d021d019b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 706\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 54657374\nresult = invalid\nsig = 303c021c64901b5e342bb9828a7b51c7d51cecf5a7f19e469659f98c8c2a116d021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 707\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 54657374\nresult = invalid\nsig = 303e021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021d011adeb9ed974f878dc2fc26f4bf86ffda5f7abe6c26ebabf9b8181a73\n\n# tcId = 708\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 54657374\nresult = invalid\nsig = 303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021ca4f18ca08c5d97ce052c32252c9770ce81155a04b120aa783e6d47b9\n\n# tcId = 709\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 54657374\nresult = invalid\nsig = 303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021ca017dcb8ee2970521bebd37309f0c7ab8fb7f3c793f9d4c704bd4eea\n\n# tcId = 710\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 54657374\nresult = invalid\nsig = 303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5b0e735f73a26831fad3cddad3688f317eeaa5fb4edf5587c192b847\n\n# tcId = 711\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 54657374\nresult = invalid\nsig = 303e021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021dfee521461268b078723d03d90b40790025a0854193d914540647e7e58d\n\n# tcId = 712\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 54657374\nresult = invalid\nsig = 303e021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021d015fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 713\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 54657374\nresult = invalid\nsig = 303e021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021d00a017dcb8ee2970521bebd37309f0c7ab8fb7f3c793f9d4c704bd4eea\n\n# tcId = 714\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022020100021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 715\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3006020100020100\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 716\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3006020100020101\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 717\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 30060201000201ff\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 718\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3021020100021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such", - " as r=1, s=0 lead to forgeries.\n\n# tcId = 719\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3021020100021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 720\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022020100021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 721\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022020100021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 722\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022020100021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 723\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022020100021d0100000000000000000000000000000000000000000000000000000000\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 724\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3082010802010002820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 725\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3008020100090380fe01\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 726\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022020101021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 727\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3006020101020100\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 728\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3006020101020101\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 729\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 30060201010201ff\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 730\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3021020101021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 731\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3021020101021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 732\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022020101021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 733\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022020101021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 734\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022020101021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 735\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022020101021d0100000000000000000000000000000000000000000000000000000000\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 736\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3082010802010102820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 737\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3008020101090380fe01\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 738\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 30220201ff021dff450969597a870820211805983688387a10cd4d", - "cc451a7f3f432a96a3\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 739\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 30060201ff020100\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 740\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 30060201ff020101\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 741\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 30060201ff0201ff\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 742\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 30210201ff021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 743\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 30210201ff021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 744\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 30220201ff021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 745\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 30220201ff021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 746\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 30220201ff021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 747\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 30220201ff021d0100000000000000000000000000000000000000000000000000000000\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 748\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 308201080201ff02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 749\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 30080201ff090380fe01\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 750\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 751\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3021021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae020100\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 752\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3021021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae020101\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 753\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3021021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae0201ff\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 754\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303c021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 755\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303c021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 756\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 757\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 758\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303d02", - "1c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 759\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae021d0100000000000000000000000000000000000000000000000000000000\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 760\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 30820123021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 761\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3023021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae090380fe01\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 762\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 763\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3021021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af020100\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 764\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3021021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af020101\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 765\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3021021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af0201ff\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 766\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303c021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 767\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303c021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 768\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 769\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 770\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 771\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af021d0100000000000000000000000000000000000000000000000000000000\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 772\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 30820123021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 773\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3023021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af090380fe01\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 774\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 775\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022021d00baf696a68578f7dfdee7fa67c977c785ef32b", - "233bae580c0bcd5695c020100\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 776\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c020101\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 777\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c0201ff\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 778\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303d021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 779\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303d021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 780\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 781\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 782\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 783\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c021d0100000000000000000000000000000000000000000000000000000000\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 784\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 30820124021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 785\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3024021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c090380fe01\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 786\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 787\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d020100\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 788\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d020101\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 789\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d0201ff\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 790\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303d021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 791\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303d021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 792\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 793\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d\n# Some implementations of DSA do not properly check for boundaries. ", - "In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 794\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 795\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d021d0100000000000000000000000000000000000000000000000000000000\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 796\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 30820124021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 797\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3024021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d090380fe01\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 798\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 799\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e020100\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 800\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e020101\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 801\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e0201ff\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 802\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303d021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 803\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303d021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 804\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 805\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 806\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 807\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e021d0100000000000000000000000000000000000000000000000000000000\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 808\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 30820124021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 809\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3024021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e090380fe01\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 810\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303e021d0100000000000000000000000000000000000000000000000000000000021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3\n# Some implementations of DSA do not properly check for boundaries. In some\n#", - " cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 811\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022021d0100000000000000000000000000000000000000000000000000000000020100\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 812\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022021d0100000000000000000000000000000000000000000000000000000000020101\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 813\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022021d01000000000000000000000000000000000000000000000000000000000201ff\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 814\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303d021d0100000000000000000000000000000000000000000000000000000000021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 815\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303d021d0100000000000000000000000000000000000000000000000000000000021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 816\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303e021d0100000000000000000000000000000000000000000000000000000000021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 817\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303e021d0100000000000000000000000000000000000000000000000000000000021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 818\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303e021d0100000000000000000000000000000000000000000000000000000000021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 819\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303e021d0100000000000000000000000000000000000000000000000000000000021d0100000000000000000000000000000000000000000000000000000000\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 820\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 30820124021d010000000000000000000000000000000000000000000000000000000002820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 821\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3024021d0100000000000000000000000000000000000000000000000000000000090380fe01\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 822\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3082012402820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 823\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3082010802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667020100\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 824\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3082010802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667020101\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 825\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3082010802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd0", - "0233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd6670201ff\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 826\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3082012302820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 827\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3082012302820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 828\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3082012402820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 829\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3082012402820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 830\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3082012402820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 831\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3082012402820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d0100000000000000000000000000000000000000000000000000000000\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 832\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3082020a02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd66702820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 833\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3082010a02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667090380fe01\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 834\n# S", - "ignatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3024090380fe01021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 835\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3008090380fe01020100\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 836\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3008090380fe01020101\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 837\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3008090380fe010201ff\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 838\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3023090380fe01021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 839\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3023090380fe01021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 840\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3024090380fe01021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 841\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3024090380fe01021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 842\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3024090380fe01021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 843\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3024090380fe01021d0100000000000000000000000000000000000000000000000000000000\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 844\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3082010a090380fe0102820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 845\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 300a090380fe01090380fe01\n# Some implementations of DSA do not properly check for boundaries. In some\n# cases the modular inverse of 0 is simply 0. As a result there are\n# implementations where values such as r=1, s=0 lead to forgeries.\n\n# tcId = 846\n# random signature\nmsg = 54657374\nresult = valid\nsig = 303d021d00a771ef48c2916d48ba9ece53cafb9acb3cf317a78216fae144c88fb3021c65663b70365747f4392d480aaf12b50b162d2ce58b61ccbee88a8df9\n\n# tcId = 847\n# random signature\nmsg = 54657374\nresult = valid\nsig = 303e021d00946645d757f0adfbd301c9ee2c08bf0e059a5602de9525dbde789f81021d00a30eb7f2a5d9870c360315bf6d70d83e7b206bbc5ed7d2ded4bacb24\n\n# tcId = 848\n# random signature\nmsg = 54657374\nresult = valid\nsig = 303d021c70d3d4efc14853acf33f1060fee06a072773b4c9350d205e618646ab021d00b51e853022ff4922f955458e6b22f9454207a982927db32c76ee3344\n\n# tcId = 849\n# random signature\nmsg = 54657374\nresult = valid\nsig = 303c021c6ce7d91e02a62558e8dacd3cf180f81952a091845bbf47bf8fb9f48d021c1e6e4769bbbebc2fa9f819796e7b968c8b699c5f72ee517441c20359\n\n# tcId = 850\n# random signature\nmsg = 54657374\nresult = valid\nsig = 303d021c04aa8a8b3f9e1c3f2304070fd797634cec352bfda916bb7a7f20a174021d00a0bb9b091b921951241fae650aab087ac896ed190a3f7cf7aaa2300d\n\n[key.g = 16a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde]\n[key.keySize = 2048]\n[key.p = 08f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667]\n[key.q = 0baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d]\n[key.type = DSAPublicKey]\n[key.y = 0848177b9bcff136c52caef2a4a9bcb64dbefbac69e18aae499696b5ec7b270e90478b413bb8ad8f8eee8ad32107d7ba492c36b007f9ef30ebe1ee484d0ea7cb0ff4afaa8c705ad5e16576975414f1bc0efed25c2190a3ed0068bffa1f03bf6f21056c9bb383350851997cbc89cf8729b394527f08ab93ce9b360aa055a47177e82a4ce6fe76c8dffddbd6ee20fa08d0085d3983edd2c8d9a366ad2245b4ed28d6754769f5f3a798be4be19cf469399865d464e3f640438bce03c962c2344d0d550542aed3db55c153833bea44b4146878ba347c8614436c6aac4fd1a60f25c62b3f869a7d55cab4b7122d5e9af4322a3fc8214fa55dc1ee021459fb2c4595827]\n[keyDer = 308203433082023506072a8648ce3804013082022802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c7", - "85ef32b233bae580c0bcd5695d0282010016a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde03820106000282010100848177b9bcff136c52caef2a4a9bcb64dbefbac69e18aae499696b5ec7b270e90478b413bb8ad8f8eee8ad32107d7ba492c36b007f9ef30ebe1ee484d0ea7cb0ff4afaa8c705ad5e16576975414f1bc0efed25c2190a3ed0068bffa1f03bf6f21056c9bb383350851997cbc89cf8729b394527f08ab93ce9b360aa055a47177e82a4ce6fe76c8dffddbd6ee20fa08d0085d3983edd2c8d9a366ad2245b4ed28d6754769f5f3a798be4be19cf469399865d464e3f640438bce03c962c2344d0d550542aed3db55c153833bea44b4146878ba347c8614436c6aac4fd1a60f25c62b3f869a7d55cab4b7122d5e9af4322a3fc8214fa55dc1ee021459fb2c4595827]\n[sha = SHA-256]\n\n# tcId = 851\n# r,s = 1,1\nmsg = 54657374\nresult = valid\nsig = 3006020101020101\n\n# tcId = 852\n# r,s = 1,5\nmsg = 54657374\nresult = valid\nsig = 3006020101020105\n\n# tcId = 853\n# u2 small\nmsg = 54657374\nresult = valid\nsig = 3022020101021d009592121ed12d93197f1ffb863ac63937f28ef4f62f1e009a30aabab1\n\n# tcId = 854\n# s == q-1\nmsg = 54657374\nresult = valid\nsig = 3022020101021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\n\n[key.g = 16a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde]\n[key.keySize = 2048]\n[key.p = 08f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667]\n[key.q = 0baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d]\n[key.type = DSAPublicKey]\n[key.y = 629374929537e2c3b09f30d881554ca7357f89e25105474dbbce06e4001efd61481a457aa0d7d7e565e90b7a3d9c688005fb404bf3b6d3e61e402300beee7c58ceeaf00b112ddfeef3cbc2020ba2206dd4ef0563d7fa52c321b4ee6280eb8585041d03cadb9244dff21dc90417bbe6f06b91c2ca6484437c3846926b18ee22275081b60726e7a26a29a947eabd035ede83d65927b3ceb0d4d8c2f34e94a3de0f57e4ea99af059657529f6954b1ac9bb4484ca76b4083e1cf4264eff028662137761e4d7f35b1eda3cf516856f25553840e43ae38379d234b06c891822132081d19f0d5db9f23b4bbd5f5667dd78f3dd7f1fe5f25ca48515f6335ce1c9fd0a64b]\n[keyDer = 308203423082023506072a8648ce3804013082022802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d0282010016a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde038201050002820100629374929537e2c3b09f30d881554ca7357f89e25105474dbbce06e4001efd61481a457aa0d7d7e565e90b7a3d9c688005fb404bf3b6d3e61e402300beee7c58ceeaf00b112ddfeef3cbc2020ba2206dd4ef0563d7fa52c321b4ee6280eb8585041d03cadb9244dff21dc90417bbe6f06b91c2ca6484437c3846926b18ee22275081b60726e7a26a29a947eabd035ede83d65927b3ceb0d4d8c2f34e94a3de0f57e4ea99af059657529f6954b1ac9bb4484ca76b4083e1cf4264eff028662137761e4d7f35b1eda3cf516856f25553840e43ae38379d234b06c891822132081d19f0d5db9f23b4bbd5f5667dd78f3dd7f1fe5f25ca48515f6335ce1c9fd0a64b]\n[sha = SHA-256]\n\n# tcId = 855\n# s == 1\nmsg = 54657374\nresult = valid\nsig = 3021021c5a252f4fc55618747fd94b13c9bee62bb958d85777cb07dd90710d24020101\n\n", +static const char *kData94[] = { + "# Imported from Wycheproof's dsa_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: DSA\n# Generator version: 0.8r12\n\n[key.g = 0835aa8c358bbf01a1846d1206323fabe408b0e98789fcc6239da14d4b3f86c276a8f48aa85a59507e620ad1bc745f0f1cbf63ec98c229c2610d77c634d1642e404354771655b2d5662f7a45227178ce3430af0f6b3bb94b52f7f51e97bad659b1ba0684e208be624c28d82fb1162f18dd9dce45216461654cf3374624d15a8d]\n[key.keySize = 1024]\n[key.p = 00b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f]\n[key.q = 00b90b38ba0a50a43ec6898d3f9b68049777f489b1]\n[key.type = DsaPublicKey]\n[key.y = 173931dda31eff32f24b383091bf77eacdc6efd557624911d8e9b9debf0f256d0cffac5567b33f6eaae9d3275bbed7ef9f5f94c4003c959e49a1ed3f58c31b21baccc0ed8840b46145f121b8906d072129bae01f071947997e8ef760d2d9ea21d08a5eb7e89390b21a85664713c549e25feda6e9e6c31970866bdfbc8fa981f6]\n[keyDer = 308201b63082012b06072a8648ce3804013082011e02818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f021500b90b38ba0a50a43ec6898d3f9b68049777f489b10281800835aa8c358bbf01a1846d1206323fabe408b0e98789fcc6239da14d4b3f86c276a8f48aa85a59507e620ad1bc745f0f1cbf63ec98c229c2610d77c634d1642e404354771655b2d5662f7a45227178ce3430af0f6b3bb94b52f7f51e97bad659b1ba0684e208be624c28d82fb1162f18dd9dce45216461654cf3374624d15a8d03818400028180173931dda31eff32f24b383091bf77eacdc6efd557624911d8e9b9debf0f256d0cffac5567b33f6eaae9d3275bbed7ef9f5f94c4003c959e49a1ed3f58c31b21baccc0ed8840b46145f121b8906d072129bae01f071947997e8ef760d2d9ea21d08a5eb7e89390b21a85664713c549e25feda6e9e6c31970866bdfbc8fa981f6]\n[sha = SHA-1]\n\n# tcId = 1\n# Legacy:ASN encoding of r misses leading 0\nmsg = 313233343030\nresult = acceptable\nsig = 302c0214aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\nflags = NoLeadingZero\n\n# tcId = 2\n# valid\nmsg = 313233343030\nresult = valid\nsig = 302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 3\n# long form encoding of length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 30812d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 4\n# length of sequence contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 3082002d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 5\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 302e021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 6\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 302c021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 7\n# uint32 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3085010000002d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 8\n# uint64 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 308901000000000000002d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 9\n# length of sequence = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30847fffffff021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 10\n# length of sequence = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3084ffffffff021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 11\n# length of sequence = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3085ffffffffff021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 12\n# length of sequence = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3088ffffffffffffffff021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 13\n# incorrect length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 30ff021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 14\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 3080021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 15\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 302d028000aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 16\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0280496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 17\n# removing sequence\nmsg = 313233343030\nresult = invalid\nsig = \n\n# tcId = 18\n# lonely sequence tag\nmsg = 313233343030\nresult = invalid\nsig = 30\n\n# tcId = 19\n# appending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 302f021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b0000\n\n# tcId = 20\n# prepending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 302f0000021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 21\n# appending unused 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b0000\n\n# tcId = 22\n# appending null value to sequence\nmsg = 313233343030\nresult = invalid\nsig = 302f021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b0500\n\n# tcId = 23\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3032498177302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 24\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 30312500302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 25\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 302f302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b0004deadbeef\n\n# tcId = 26\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3032221a498177021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 27\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 303122192500021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 28\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 30352217021500aa6a258fbf7d90e15614676d377df8b10e38db4a0004deadbeef0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 29\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3032021500aa6a258fbf7d90e15614676d377df8b10e38db4a22194981770214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 30\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3031021500aa6a258fbf7d90e15614676d377df8b10e38db4a221825000214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 31\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3035021500aa6a258fbf7d90e15614676d377df8b10e38db4a22160214496d5220b5f67d3532d1f991203bc3523b964c3b0004deadbeef\n\n# tcId = 32\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 3035aa00bb00cd00302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 33\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 3033aa02aabb302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 34\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 3035221daa00bb00cd00021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 35\n# including undefined tags\nmsg = 313233343030\nresult = i", + "nvalid\nsig = 3033221baa02aabb021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 36\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 3035021500aa6a258fbf7d90e15614676d377df8b10e38db4a221caa00bb00cd000214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 37\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 3033021500aa6a258fbf7d90e15614676d377df8b10e38db4a221aaa02aabb0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 38\n# truncated length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3081\n\n# tcId = 39\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 3080302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b0000\n\n# tcId = 40\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 30312280021500aa6a258fbf7d90e15614676d377df8b10e38db4a00000214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 41\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 3031021500aa6a258fbf7d90e15614676d377df8b10e38db4a22800214496d5220b5f67d3532d1f991203bc3523b964c3b0000\n\n# tcId = 42\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 3080312d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b0000\n\n# tcId = 43\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 30312280031500aa6a258fbf7d90e15614676d377df8b10e38db4a00000214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 44\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 3031021500aa6a258fbf7d90e15614676d377df8b10e38db4a22800314496d5220b5f67d3532d1f991203bc3523b964c3b0000\n\n# tcId = 45\n# Replacing sequence with NULL\nmsg = 313233343030\nresult = invalid\nsig = 0500\n\n# tcId = 46\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 2e2d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 47\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 2f2d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 48\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 312d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 49\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 322d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 50\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = ff2d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 51\n# dropping value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3000\n\n# tcId = 52\n# using composition for sequence\nmsg = 313233343030\nresult = invalid\nsig = 3031300102302c1500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 53\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 302c021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c\n\n# tcId = 54\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 302c1500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 55\n# indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 3080021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b0000\n\n# tcId = 56\n# indefinite length with truncated delimiter\nmsg = 313233343030\nresult = invalid\nsig = 3080021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b00\n\n# tcId = 57\n# indefinite length with additional element\nmsg = 313233343030\nresult = invalid\nsig = 3080021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b05000000\n\n# tcId = 58\n# indefinite length with truncated element\nmsg = 313233343030\nresult = invalid\nsig = 3080021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b060811220000\n\n# tcId = 59\n# indefinite length with garbage\nmsg = 313233343030\nresult = invalid\nsig = 3080021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b0000fe02beef\n\n# tcId = 60\n# indefinite length with nonempty EOC\nmsg = 313233343030\nresult = invalid\nsig = 3080021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b0002beef\n\n# tcId = 61\n# prepend empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 302f3000021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 62\n# append empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 302f021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b3000\n\n# tcId = 63\n# append garbage with high tag number\nmsg = 313233343030\nresult = invalid\nsig = 3030021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3bbf7f00\n\n# tcId = 64\n# sequence of sequence\nmsg = 313233343030\nresult = invalid\nsig = 302f302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 65\n# truncated sequence: removed last 1 elements\nmsg = 313233343030\nresult = invalid\nsig = 3017021500aa6a258fbf7d90e15614676d377df8b10e38db4a\n\n# tcId = 66\n# repeating element in sequence\nmsg = 313233343030\nresult = invalid\nsig = 3043021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 67\n# long form encoding of length of integer\nmsg = 313233343030\nresult = invalid\nsig = 302e02811500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 68\n# long form encoding of length of integer\nmsg = 313233343030\nresult = invalid\nsig = 302e021500aa6a258fbf7d90e15614676d377df8b10e38db4a028114496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 69\n# length of integer contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 302f0282001500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 70\n# length of integer contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 302f021500aa6a258fbf7d90e15614676d377df8b10e38db4a02820014496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 71\n# wrong length of integer\nmsg = 313233343030\nresult = invalid\nsig = 302d021600aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 72\n# wrong length of integer\nmsg = 313233343030\nresult = invalid\nsig = 302d021400aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 73\n# wrong length of integer\nmsg = 313233343030\nresult = invalid\nsig = 302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0215496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 74\n# wrong length of integer\nmsg = 313233343030\nresult = invalid\nsig = 302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0213496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 75\n# uint32 overflow in length of integer\nmsg = 313233343030\nresult = invalid\nsig = 30320285010000001500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 76\n# uint32 overflow in length of integer\nmsg = 313233343030\nresult = invalid\nsig = 3032021500aa6a258fbf7d90e15614676d377df8b10e38db4a02850100000014496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 77\n# uint64 overflow in length of integer\nmsg = 313233343030\nresult = invalid\nsig = 3036028901000000000000001500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 78\n# uint64 overflow in length of integer\nmsg = 313233343030\nresult = invalid\nsig = 3036021500aa6a258fbf7d90e15614676d377df8b10e38db4a0289010000000000000014496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 79\n# length of integer = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 303102847fffffff00aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 80\n# length of integer = 2**", + "31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3031021500aa6a258fbf7d90e15614676d377df8b10e38db4a02847fffffff496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 81\n# length of integer = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30310284ffffffff00aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 82\n# length of integer = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3031021500aa6a258fbf7d90e15614676d377df8b10e38db4a0284ffffffff496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 83\n# length of integer = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30320285ffffffffff00aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 84\n# length of integer = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3032021500aa6a258fbf7d90e15614676d377df8b10e38db4a0285ffffffffff496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 85\n# length of integer = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30350288ffffffffffffffff00aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 86\n# length of integer = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3035021500aa6a258fbf7d90e15614676d377df8b10e38db4a0288ffffffffffffffff496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 87\n# incorrect length of integer\nmsg = 313233343030\nresult = invalid\nsig = 302d02ff00aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 88\n# incorrect length of integer\nmsg = 313233343030\nresult = invalid\nsig = 302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a02ff496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 89\n# removing integer\nmsg = 313233343030\nresult = invalid\nsig = 30160214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 90\n# lonely integer tag\nmsg = 313233343030\nresult = invalid\nsig = 3017020214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 91\n# lonely integer tag\nmsg = 313233343030\nresult = invalid\nsig = 3018021500aa6a258fbf7d90e15614676d377df8b10e38db4a02\n\n# tcId = 92\n# appending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 302f021700aa6a258fbf7d90e15614676d377df8b10e38db4a00000214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 93\n# appending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 302f021500aa6a258fbf7d90e15614676d377df8b10e38db4a0216496d5220b5f67d3532d1f991203bc3523b964c3b0000\n\n# tcId = 94\n# prepending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 302f0217000000aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 95\n# prepending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 302f021500aa6a258fbf7d90e15614676d377df8b10e38db4a02160000496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 96\n# appending unused 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 302f021500aa6a258fbf7d90e15614676d377df8b10e38db4a00000214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 97\n# appending null value to integer\nmsg = 313233343030\nresult = invalid\nsig = 302f021700aa6a258fbf7d90e15614676d377df8b10e38db4a05000214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 98\n# appending null value to integer\nmsg = 313233343030\nresult = invalid\nsig = 302f021500aa6a258fbf7d90e15614676d377df8b10e38db4a0216496d5220b5f67d3532d1f991203bc3523b964c3b0500\n\n# tcId = 99\n# truncated length of integer\nmsg = 313233343030\nresult = invalid\nsig = 301802810214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 100\n# truncated length of integer\nmsg = 313233343030\nresult = invalid\nsig = 3019021500aa6a258fbf7d90e15614676d377df8b10e38db4a0281\n\n# tcId = 101\n# Replacing integer with NULL\nmsg = 313233343030\nresult = invalid\nsig = 301805000214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 102\n# Replacing integer with NULL\nmsg = 313233343030\nresult = invalid\nsig = 3019021500aa6a258fbf7d90e15614676d377df8b10e38db4a0500\n\n# tcId = 103\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 302d001500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 104\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 302d011500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 105\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 302d031500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 106\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 302d041500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 107\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 302dff1500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 108\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0014496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 109\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0114496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 110\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0314496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 111\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0414496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 112\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 302d021500aa6a258fbf7d90e15614676d377df8b10e38db4aff14496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 113\n# dropping value of integer\nmsg = 313233343030\nresult = invalid\nsig = 301802000214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 114\n# dropping value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3019021500aa6a258fbf7d90e15614676d377df8b10e38db4a0200\n\n# tcId = 115\n# using composition for integer\nmsg = 313233343030\nresult = invalid\nsig = 303122190201000214aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 116\n# using composition for integer\nmsg = 313233343030\nresult = invalid\nsig = 3031021500aa6a258fbf7d90e15614676d377df8b10e38db4a221802014902136d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 117\n# modify first byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 302d021502aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 118\n# modify first byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a02144b6d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 119\n# modify last byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 302d021500aa6a258fbf7d90e15614676d377df8b10e38dbca0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 120\n# modify last byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964cbb\n\n# tcId = 121\n# truncated integer\nmsg = 313233343030\nresult = invalid\nsig = 302c021400aa6a258fbf7d90e15614676d377df8b10e38db0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 122\n# truncated integer\nmsg = 313233343030\nresult = invalid\nsig = 302c021500aa6a258fbf7d90e15614676d377df8b10e38db4a0213496d5220b5f67d3532d1f991203bc3523b964c\n\n# tcId = 123\n# truncated integer\nmsg = 313233343030\nresult = invalid\nsig = 302c021500aa6a258fbf7d90e15614676d377df8b10e38db4a02136d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 124\n# leading ff in integer\nmsg = 313233343030\nresult = invalid\nsig = 302e0216ff00aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 125\n# leading ff in integer\nmsg = 313233343030\nresult = invalid\nsig = 302e021500aa6a258fbf7d90e15614676d377df8b10e38db4a0215ff496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 126\n# replaced integer by infinity\nmsg = 313233343030\nresult = invalid\nsig = 30190901800214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 127\n# replaced integer by infinity\nmsg = 313233343030\nresult = in", + "valid\nsig = 301a021500aa6a258fbf7d90e15614676d377df8b10e38db4a090180\n\n# tcId = 128\n# replacing integer with zero\nmsg = 313233343030\nresult = invalid\nsig = 30190201000214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 129\n# replacing integer with zero\nmsg = 313233343030\nresult = invalid\nsig = 301a021500aa6a258fbf7d90e15614676d377df8b10e38db4a020100\n\n# tcId = 130\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 313233343030\nresult = invalid\nsig = 302d02150163755e49c9ce35201c9df4acd2e5fd48862d64fb0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 131\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 313233343030\nresult = invalid\nsig = 302c0214f15eecd5b52ceca28f8ada2d9c15f419964451990214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 132\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 313233343030\nresult = invalid\nsig = 302d0215ff5595da7040826f1ea9eb9892c882074ef1c724b60214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 133\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 313233343030\nresult = invalid\nsig = 302c02140ea1132a4ad3135d707525d263ea0be669bbae670214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 134\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 313233343030\nresult = invalid\nsig = 302d0215fe9c8aa1b63631cadfe3620b532d1a02b779d29b050214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 135\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 313233343030\nresult = invalid\nsig = 302d021501aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 136\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 313233343030\nresult = invalid\nsig = 302c02145595da7040826f1ea9eb9892c882074ef1c724b60214496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 137\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 313233343030\nresult = invalid\nsig = 302e021500aa6a258fbf7d90e15614676d377df8b10e38db4a02150102788adac0472173f95b86d0bba3c7e9b38ad5ec\n\n# tcId = 138\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 313233343030\nresult = invalid\nsig = 302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a021490621966aba5d8f66c486c5184d3bebac3a1c28a\n\n# tcId = 139\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 313233343030\nresult = invalid\nsig = 302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214b692addf4a0982cacd2e066edfc43cadc469b3c5\n\n# tcId = 140\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 313233343030\nresult = invalid\nsig = 302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a02146f9de699545a270993b793ae7b2c41453c5e3d76\n\n# tcId = 141\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 313233343030\nresult = invalid\nsig = 302e021500aa6a258fbf7d90e15614676d377df8b10e38db4a0215fefd8775253fb8de8c06a4792f445c38164c752a14\n\n# tcId = 142\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 313233343030\nresult = invalid\nsig = 302e021500aa6a258fbf7d90e15614676d377df8b10e38db4a021501496d5220b5f67d3532d1f991203bc3523b964c3b\n\n# tcId = 143\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 313233343030\nresult = invalid\nsig = 302e021500aa6a258fbf7d90e15614676d377df8b10e38db4a021500b692addf4a0982cacd2e066edfc43cadc469b3c5\n\n# tcId = 144\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a0201000215ff46f4c745f5af5bc1397672c06497fb68880b764f\nflags = EdgeCase\n\n# tcId = 145\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 3006020100020100\nflags = EdgeCase\n\n# tcId = 146\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 3006020100020101\nflags = EdgeCase\n\n# tcId = 147\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30060201000201ff\nflags = EdgeCase\n\n# tcId = 148\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301902010002145c859c5d0528521f6344c69fcdb4024bbbfa44d8\nflags = EdgeCase\n\n# tcId = 149\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301902010002145c859c5d0528521f6344c69fcdb4024bbbfa44d9\nflags = EdgeCase\n\n# tcId = 150\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a020100021500b90b38ba0a50a43ec6898d3f9b68049777f489b0\nflags = EdgeCase\n\n# tcId = 151\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a020100021500b90b38ba0a50a43ec6898d3f9b68049777f489b1\nflags = EdgeCase\n\n# tcId = 152\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a020100021500b90b38ba0a50a43ec6898d3f9b68049777f489b2\nflags = EdgeCase\n\n# tcId = 153\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a0201000215010000000000000000000000000000000000000000\nflags = EdgeCase\n\n# tcId = 154\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30818702010002818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f\nflags = EdgeCase\n\n# tcId = 155\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 3008020100090380fe01\nflags = EdgeCase\n\n# tcId = 156\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 3006020100090142\nflags = EdgeCase\n\n# tcId = 157\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a0201010215ff46f4c745f5af5bc1397672c06497fb68880b764f\nflags = EdgeCase\n\n# tcId = 158\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 3006020101020100\nflags = EdgeCase\n\n# tcId = 159\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 3006020101020101\nflags = EdgeCase\n\n# tcId = 160\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30060201010201ff\nflags = EdgeCase\n\n# tcId = 161\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301902010102145c859c5d0528521f6344c69fcdb4024bbbfa44d8\nflags = EdgeCase\n\n# tcId = 162\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301902010102145c859c5d0528521f6344c69fcdb4024bbbfa44d9\nflags = EdgeCase\n\n# tcId = 163\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a020101021500b90b38ba0a50a43ec6898d3f9b68049777f489b0\nflags = EdgeCase\n\n# tcId = 164\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a020101021500b90b38ba0a50a43ec6898d3f9b68049777f489b1\nflags = EdgeCase\n\n# tcId = 165\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a020101021500b90b38ba0a50a43ec6898d3f9b68049777f489b2\nflags = EdgeCase\n\n# tcId = 166\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a0201010215010000000000000000000000000000000000000000\nflags = EdgeCase\n\n# tcId = 167\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30818702010102818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f\nflags = EdgeCase\n\n# tcId = 168\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 3008020101090380fe01\nflags = EdgeCase\n\n# tcId = 169\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 3006020101090142\nflags = EdgeCase\n\n# tcId = 170\n# Signatures with special case values for r and s.\nms", + "g = 313233343030\nresult = invalid\nsig = 301a0201ff0215ff46f4c745f5af5bc1397672c06497fb68880b764f\nflags = EdgeCase\n\n# tcId = 171\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff020100\nflags = EdgeCase\n\n# tcId = 172\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff020101\nflags = EdgeCase\n\n# tcId = 173\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff0201ff\nflags = EdgeCase\n\n# tcId = 174\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30190201ff02145c859c5d0528521f6344c69fcdb4024bbbfa44d8\nflags = EdgeCase\n\n# tcId = 175\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30190201ff02145c859c5d0528521f6344c69fcdb4024bbbfa44d9\nflags = EdgeCase\n\n# tcId = 176\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a0201ff021500b90b38ba0a50a43ec6898d3f9b68049777f489b0\nflags = EdgeCase\n\n# tcId = 177\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a0201ff021500b90b38ba0a50a43ec6898d3f9b68049777f489b1\nflags = EdgeCase\n\n# tcId = 178\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a0201ff021500b90b38ba0a50a43ec6898d3f9b68049777f489b2\nflags = EdgeCase\n\n# tcId = 179\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a0201ff0215010000000000000000000000000000000000000000\nflags = EdgeCase\n\n# tcId = 180\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 3081870201ff02818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f\nflags = EdgeCase\n\n# tcId = 181\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30080201ff090380fe01\nflags = EdgeCase\n\n# tcId = 182\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff090142\nflags = EdgeCase\n\n# tcId = 183\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302d02145c859c5d0528521f6344c69fcdb4024bbbfa44d80215ff46f4c745f5af5bc1397672c06497fb68880b764f\nflags = EdgeCase\n\n# tcId = 184\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301902145c859c5d0528521f6344c69fcdb4024bbbfa44d8020100\nflags = EdgeCase\n\n# tcId = 185\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301902145c859c5d0528521f6344c69fcdb4024bbbfa44d8020101\nflags = EdgeCase\n\n# tcId = 186\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301902145c859c5d0528521f6344c69fcdb4024bbbfa44d80201ff\nflags = EdgeCase\n\n# tcId = 187\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302c02145c859c5d0528521f6344c69fcdb4024bbbfa44d802145c859c5d0528521f6344c69fcdb4024bbbfa44d8\nflags = EdgeCase\n\n# tcId = 188\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302c02145c859c5d0528521f6344c69fcdb4024bbbfa44d802145c859c5d0528521f6344c69fcdb4024bbbfa44d9\nflags = EdgeCase\n\n# tcId = 189\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302d02145c859c5d0528521f6344c69fcdb4024bbbfa44d8021500b90b38ba0a50a43ec6898d3f9b68049777f489b0\nflags = EdgeCase\n\n# tcId = 190\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302d02145c859c5d0528521f6344c69fcdb4024bbbfa44d8021500b90b38ba0a50a43ec6898d3f9b68049777f489b1\nflags = EdgeCase\n\n# tcId = 191\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302d02145c859c5d0528521f6344c69fcdb4024bbbfa44d8021500b90b38ba0a50a43ec6898d3f9b68049777f489b2\nflags = EdgeCase\n\n# tcId = 192\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302d02145c859c5d0528521f6344c69fcdb4024bbbfa44d80215010000000000000000000000000000000000000000\nflags = EdgeCase\n\n# tcId = 193\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30819a02145c859c5d0528521f6344c69fcdb4024bbbfa44d802818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f\nflags = EdgeCase\n\n# tcId = 194\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301b02145c859c5d0528521f6344c69fcdb4024bbbfa44d8090380fe01\nflags = EdgeCase\n\n# tcId = 195\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301902145c859c5d0528521f6344c69fcdb4024bbbfa44d8090142\nflags = EdgeCase\n\n# tcId = 196\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302d02145c859c5d0528521f6344c69fcdb4024bbbfa44d90215ff46f4c745f5af5bc1397672c06497fb68880b764f\nflags = EdgeCase\n\n# tcId = 197\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301902145c859c5d0528521f6344c69fcdb4024bbbfa44d9020100\nflags = EdgeCase\n\n# tcId = 198\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301902145c859c5d0528521f6344c69fcdb4024bbbfa44d9020101\nflags = EdgeCase\n\n# tcId = 199\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301902145c859c5d0528521f6344c69fcdb4024bbbfa44d90201ff\nflags = EdgeCase\n\n# tcId = 200\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302c02145c859c5d0528521f6344c69fcdb4024bbbfa44d902145c859c5d0528521f6344c69fcdb4024bbbfa44d8\nflags = EdgeCase\n\n# tcId = 201\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302c02145c859c5d0528521f6344c69fcdb4024bbbfa44d902145c859c5d0528521f6344c69fcdb4024bbbfa44d9\nflags = EdgeCase\n\n# tcId = 202\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302d02145c859c5d0528521f6344c69fcdb4024bbbfa44d9021500b90b38ba0a50a43ec6898d3f9b68049777f489b0\nflags = EdgeCase\n\n# tcId = 203\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302d02145c859c5d0528521f6344c69fcdb4024bbbfa44d9021500b90b38ba0a50a43ec6898d3f9b68049777f489b1\nflags = EdgeCase\n\n# tcId = 204\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302d02145c859c5d0528521f6344c69fcdb4024bbbfa44d9021500b90b38ba0a50a43ec6898d3f9b68049777f489b2\nflags = EdgeCase\n\n# tcId = 205\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302d02145c859c5d0528521f6344c69fcdb4024bbbfa44d90215010000000000000000000000000000000000000000\nflags = EdgeCase\n\n# tcId = 206\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30819a02145c859c5d0528521f6344c69fcdb4024bbbfa44d902818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f\nflags = EdgeCase\n\n# tcId = 207\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301b02145c859c5d0528521f6344c69fcdb4024bbbfa44d9090380fe01\nflags = EdgeCase\n\n# tcId = 208\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301902145c859c5d0528521f6344c69fcdb4024bbbfa44d9090142\nflags = EdgeCase\n\n# tcId = 209\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302e021500b90b38ba0a50a43ec6898d3f9b68049777f", + "489b00215ff46f4c745f5af5bc1397672c06497fb68880b764f\nflags = EdgeCase\n\n# tcId = 210\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a021500b90b38ba0a50a43ec6898d3f9b68049777f489b0020100\nflags = EdgeCase\n\n# tcId = 211\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a021500b90b38ba0a50a43ec6898d3f9b68049777f489b0020101\nflags = EdgeCase\n\n# tcId = 212\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a021500b90b38ba0a50a43ec6898d3f9b68049777f489b00201ff\nflags = EdgeCase\n\n# tcId = 213\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302d021500b90b38ba0a50a43ec6898d3f9b68049777f489b002145c859c5d0528521f6344c69fcdb4024bbbfa44d8\nflags = EdgeCase\n\n# tcId = 214\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302d021500b90b38ba0a50a43ec6898d3f9b68049777f489b002145c859c5d0528521f6344c69fcdb4024bbbfa44d9\nflags = EdgeCase\n\n# tcId = 215\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302e021500b90b38ba0a50a43ec6898d3f9b68049777f489b0021500b90b38ba0a50a43ec6898d3f9b68049777f489b0\nflags = EdgeCase\n\n# tcId = 216\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302e021500b90b38ba0a50a43ec6898d3f9b68049777f489b0021500b90b38ba0a50a43ec6898d3f9b68049777f489b1\nflags = EdgeCase\n\n# tcId = 217\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302e021500b90b38ba0a50a43ec6898d3f9b68049777f489b0021500b90b38ba0a50a43ec6898d3f9b68049777f489b2\nflags = EdgeCase\n\n# tcId = 218\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302e021500b90b38ba0a50a43ec6898d3f9b68049777f489b00215010000000000000000000000000000000000000000\nflags = EdgeCase\n\n# tcId = 219\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30819b021500b90b38ba0a50a43ec6898d3f9b68049777f489b002818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f\nflags = EdgeCase\n\n# tcId = 220\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301c021500b90b38ba0a50a43ec6898d3f9b68049777f489b0090380fe01\nflags = EdgeCase\n\n# tcId = 221\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a021500b90b38ba0a50a43ec6898d3f9b68049777f489b0090142\nflags = EdgeCase\n\n# tcId = 222\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302e021500b90b38ba0a50a43ec6898d3f9b68049777f489b10215ff46f4c745f5af5bc1397672c06497fb68880b764f\nflags = EdgeCase\n\n# tcId = 223\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a021500b90b38ba0a50a43ec6898d3f9b68049777f489b1020100\nflags = EdgeCase\n\n# tcId = 224\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a021500b90b38ba0a50a43ec6898d3f9b68049777f489b1020101\nflags = EdgeCase\n\n# tcId = 225\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a021500b90b38ba0a50a43ec6898d3f9b68049777f489b10201ff\nflags = EdgeCase\n\n# tcId = 226\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302d021500b90b38ba0a50a43ec6898d3f9b68049777f489b102145c859c5d0528521f6344c69fcdb4024bbbfa44d8\nflags = EdgeCase\n\n# tcId = 227\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302d021500b90b38ba0a50a43ec6898d3f9b68049777f489b102145c859c5d0528521f6344c69fcdb4024bbbfa44d9\nflags = EdgeCase\n\n# tcId = 228\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302e021500b90b38ba0a50a43ec6898d3f9b68049777f489b1021500b90b38ba0a50a43ec6898d3f9b68049777f489b0\nflags = EdgeCase\n\n# tcId = 229\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302e021500b90b38ba0a50a43ec6898d3f9b68049777f489b1021500b90b38ba0a50a43ec6898d3f9b68049777f489b1\nflags = EdgeCase\n\n# tcId = 230\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302e021500b90b38ba0a50a43ec6898d3f9b68049777f489b1021500b90b38ba0a50a43ec6898d3f9b68049777f489b2\nflags = EdgeCase\n\n# tcId = 231\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302e021500b90b38ba0a50a43ec6898d3f9b68049777f489b10215010000000000000000000000000000000000000000\nflags = EdgeCase\n\n# tcId = 232\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30819b021500b90b38ba0a50a43ec6898d3f9b68049777f489b102818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f\nflags = EdgeCase\n\n# tcId = 233\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301c021500b90b38ba0a50a43ec6898d3f9b68049777f489b1090380fe01\nflags = EdgeCase\n\n# tcId = 234\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a021500b90b38ba0a50a43ec6898d3f9b68049777f489b1090142\nflags = EdgeCase\n\n# tcId = 235\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302e021500b90b38ba0a50a43ec6898d3f9b68049777f489b20215ff46f4c745f5af5bc1397672c06497fb68880b764f\nflags = EdgeCase\n\n# tcId = 236\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a021500b90b38ba0a50a43ec6898d3f9b68049777f489b2020100\nflags = EdgeCase\n\n# tcId = 237\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a021500b90b38ba0a50a43ec6898d3f9b68049777f489b2020101\nflags = EdgeCase\n\n# tcId = 238\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a021500b90b38ba0a50a43ec6898d3f9b68049777f489b20201ff\nflags = EdgeCase\n\n# tcId = 239\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302d021500b90b38ba0a50a43ec6898d3f9b68049777f489b202145c859c5d0528521f6344c69fcdb4024bbbfa44d8\nflags = EdgeCase\n\n# tcId = 240\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302d021500b90b38ba0a50a43ec6898d3f9b68049777f489b202145c859c5d0528521f6344c69fcdb4024bbbfa44d9\nflags = EdgeCase\n\n# tcId = 241\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302e021500b90b38ba0a50a43ec6898d3f9b68049777f489b2021500b90b38ba0a50a43ec6898d3f9b68049777f489b0\nflags = EdgeCase\n\n# tcId = 242\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302e021500b90b38ba0a50a43ec6898d3f9b68049777f489b2021500b90b38ba0a50a43ec6898d3f9b68049777f489b1\nflags = EdgeCase\n\n# tcId = 243\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302e021500b90b38ba0a50a43ec6898d3f9b68049777f489b2021500b90b38ba0a50a43ec6898d3f9b68049777f489b2\nflags = EdgeCase\n\n# tcId = 244\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302e021500b90b38ba0a50a43ec6898d3f9b68049777f489b20215010000000000000000000000000000000000000000\nflags = EdgeCase\n\n# tcId = 245\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30819b021500b90b38ba0a50a43ec6898d3f9b68049777f489b202818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f\nflags = EdgeCase\n\n# tcId = 246\n# Signatures with", + " special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301c021500b90b38ba0a50a43ec6898d3f9b68049777f489b2090380fe01\nflags = EdgeCase\n\n# tcId = 247\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a021500b90b38ba0a50a43ec6898d3f9b68049777f489b2090142\nflags = EdgeCase\n\n# tcId = 248\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302e02150100000000000000000000000000000000000000000215ff46f4c745f5af5bc1397672c06497fb68880b764f\nflags = EdgeCase\n\n# tcId = 249\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a0215010000000000000000000000000000000000000000020100\nflags = EdgeCase\n\n# tcId = 250\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a0215010000000000000000000000000000000000000000020101\nflags = EdgeCase\n\n# tcId = 251\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a02150100000000000000000000000000000000000000000201ff\nflags = EdgeCase\n\n# tcId = 252\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302d021501000000000000000000000000000000000000000002145c859c5d0528521f6344c69fcdb4024bbbfa44d8\nflags = EdgeCase\n\n# tcId = 253\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302d021501000000000000000000000000000000000000000002145c859c5d0528521f6344c69fcdb4024bbbfa44d9\nflags = EdgeCase\n\n# tcId = 254\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302e0215010000000000000000000000000000000000000000021500b90b38ba0a50a43ec6898d3f9b68049777f489b0\nflags = EdgeCase\n\n# tcId = 255\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302e0215010000000000000000000000000000000000000000021500b90b38ba0a50a43ec6898d3f9b68049777f489b1\nflags = EdgeCase\n\n# tcId = 256\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302e0215010000000000000000000000000000000000000000021500b90b38ba0a50a43ec6898d3f9b68049777f489b2\nflags = EdgeCase\n\n# tcId = 257\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 302e02150100000000000000000000000000000000000000000215010000000000000000000000000000000000000000\nflags = EdgeCase\n\n# tcId = 258\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30819b021501000000000000000000000000000000000000000002818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f\nflags = EdgeCase\n\n# tcId = 259\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301c0215010000000000000000000000000000000000000000090380fe01\nflags = EdgeCase\n\n# tcId = 260\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301a0215010000000000000000000000000000000000000000090142\nflags = EdgeCase\n\n# tcId = 261\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30819b02818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f0215ff46f4c745f5af5bc1397672c06497fb68880b764f\nflags = EdgeCase\n\n# tcId = 262\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30818702818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f020100\nflags = EdgeCase\n\n# tcId = 263\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30818702818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f020101\nflags = EdgeCase\n\n# tcId = 264\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30818702818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f0201ff\nflags = EdgeCase\n\n# tcId = 265\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30819a02818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f02145c859c5d0528521f6344c69fcdb4024bbbfa44d8\nflags = EdgeCase\n\n# tcId = 266\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30819a02818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f02145c859c5d0528521f6344c69fcdb4024bbbfa44d9\nflags = EdgeCase\n\n# tcId = 267\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30819b02818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f021500b90b38ba0a50a43ec6898d3f9b68049777f489b0\nflags = EdgeCase\n\n# tcId = 268\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30819b02818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f021500b90b38ba0a50a43ec6898d3f9b68049777f489b1\nflags = EdgeCase\n\n# tcId = 269\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30819b02818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f021500b90b38ba0a50a43ec6898d3f9b68049777f489b2\nflags = EdgeCase\n\n# tcId = 270\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30819b02818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f0215010000000000000000000000000000000000000000\nflags = EdgeCase\n\n# tcId = 271\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 3082010802818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f02818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f\nflags = EdgeCase\n\n# tcId = 272\n# S", + "ignatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30818902818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f090380fe01\nflags = EdgeCase\n\n# tcId = 273\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 30818702818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f090142\nflags = EdgeCase\n\n# tcId = 274\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301c090380fe010215ff46f4c745f5af5bc1397672c06497fb68880b764f\nflags = EdgeCase\n\n# tcId = 275\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 3008090380fe01020100\nflags = EdgeCase\n\n# tcId = 276\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 3008090380fe01020101\nflags = EdgeCase\n\n# tcId = 277\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 3008090380fe010201ff\nflags = EdgeCase\n\n# tcId = 278\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301b090380fe0102145c859c5d0528521f6344c69fcdb4024bbbfa44d8\nflags = EdgeCase\n\n# tcId = 279\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301b090380fe0102145c859c5d0528521f6344c69fcdb4024bbbfa44d9\nflags = EdgeCase\n\n# tcId = 280\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301c090380fe01021500b90b38ba0a50a43ec6898d3f9b68049777f489b0\nflags = EdgeCase\n\n# tcId = 281\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301c090380fe01021500b90b38ba0a50a43ec6898d3f9b68049777f489b1\nflags = EdgeCase\n\n# tcId = 282\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301c090380fe01021500b90b38ba0a50a43ec6898d3f9b68049777f489b2\nflags = EdgeCase\n\n# tcId = 283\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 301c090380fe010215010000000000000000000000000000000000000000\nflags = EdgeCase\n\n# tcId = 284\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 308189090380fe0102818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f\nflags = EdgeCase\n\n# tcId = 285\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 300a090380fe01090380fe01\nflags = EdgeCase\n\n# tcId = 286\n# Signatures with special case values for r and s.\nmsg = 313233343030\nresult = invalid\nsig = 3008090380fe01090142\nflags = EdgeCase\n\n# tcId = 287\n# Signature encoding contains wrong type.\nmsg = 313233343030\nresult = invalid\nsig = 30060201010c0130\n\n# tcId = 288\n# Signature encoding contains wrong type.\nmsg = 313233343030\nresult = invalid\nsig = 30050201010c00\n\n# tcId = 289\n# Signature encoding contains wrong type.\nmsg = 313233343030\nresult = invalid\nsig = 30090c0225730c03732573\n\n# tcId = 290\n# Signature encoding contains wrong type.\nmsg = 313233343030\nresult = invalid\nsig = 30080201013003020100\n\n# tcId = 291\n# Signature encoding contains wrong type.\nmsg = 313233343030\nresult = invalid\nsig = 3003020101\n\n# tcId = 292\n# Signature encoding contains wrong type.\nmsg = 313233343030\nresult = invalid\nsig = 3006020101010100\n\n# tcId = 293\n# random signature\nmsg = 313233343030\nresult = valid\nsig = 302e0215008854bdb52d20ff9ea499483fba4d3c101a586fc7021500b23045900995d3fe3c4c638a3e06458a25a1e9dd\n\n# tcId = 294\n# random signature\nmsg = 313233343030\nresult = valid\nsig = 302c02144f6bf18941abbf33211d9561a14f9aebd03f4e940214218cda350def7f75617fcc799d0cf2cf6b23438d\n\n# tcId = 295\n# random signature\nmsg = 313233343030\nresult = valid\nsig = 302c0214459eaf0886160081b47fc573fb3d152d680d3b4b02144293dbb94db4c930d67e27fc4ec8538b58d1c7cd\n\n# tcId = 296\n# random signature\nmsg = 313233343030\nresult = valid\nsig = 302c02140a6c12b8ff5ca21c4ea0c7acea38d76fd170b97f021429ce2cf2672fa640031680dce2223932f613f6a5\n\n# tcId = 297\n# random signature\nmsg = 313233343030\nresult = valid\nsig = 302c021434bce4773e5e11875ea2202bc33e01fe00b3321a02142b294e01a97296d84e4c60bfba05d2760981c920\n\n[key.g = 0835aa8c358bbf01a1846d1206323fabe408b0e98789fcc6239da14d4b3f86c276a8f48aa85a59507e620ad1bc745f0f1cbf63ec98c229c2610d77c634d1642e404354771655b2d5662f7a45227178ce3430af0f6b3bb94b52f7f51e97bad659b1ba0684e208be624c28d82fb1162f18dd9dce45216461654cf3374624d15a8d]\n[key.keySize = 1024]\n[key.p = 00b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f]\n[key.q = 00b90b38ba0a50a43ec6898d3f9b68049777f489b1]\n[key.type = DsaPublicKey]\n[key.y = 713e9f8108a6a7075485a37ce1a3b040cce563a0445614fe099fb1bffd68acb36f9e04d8ad17ace3c136da66f730eb7ff18936424ffa4e5ae5b1e7dac375d8d164697254b8b7e848f5e79da25c79df5c0727d5da3498405cd0f4e46d136c351d703cc4bf0d3f4fbb165392888684964a93ad30fa179488cad4a6655dd4fa9754]\n[keyDer = 308201b63082012b06072a8648ce3804013082011e02818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f021500b90b38ba0a50a43ec6898d3f9b68049777f489b10281800835aa8c358bbf01a1846d1206323fabe408b0e98789fcc6239da14d4b3f86c276a8f48aa85a59507e620ad1bc745f0f1cbf63ec98c229c2610d77c634d1642e404354771655b2d5662f7a45227178ce3430af0f6b3bb94b52f7f51e97bad659b1ba0684e208be624c28d82fb1162f18dd9dce45216461654cf3374624d15a8d03818400028180713e9f8108a6a7075485a37ce1a3b040cce563a0445614fe099fb1bffd68acb36f9e04d8ad17ace3c136da66f730eb7ff18936424ffa4e5ae5b1e7dac375d8d164697254b8b7e848f5e79da25c79df5c0727d5da3498405cd0f4e46d136c351d703cc4bf0d3f4fbb165392888684964a93ad30fa179488cad4a6655dd4fa9754]\n[sha = SHA-1]\n\n# tcId = 298\n# r,s = 1,1\nmsg = 54657374\nresult = valid\nsig = 3006020101020101\n\n# tcId = 299\n# r,s = 1,5\nmsg = 54657374\nresult = valid\nsig = 3006020101020105\n\n# tcId = 300\n# u2 small\nmsg = 54657374\nresult = valid\nsig = 3019020101021425023e8b9ba9ba72f481e90cb8ae67517e641b8a\n\n# tcId = 301\n# s == q-1\nmsg = 54657374\nresult = valid\nsig = 301a020101021500b90b38ba0a50a43ec6898d3f9b68049777f489b0\n\n[key.g = 0835aa8c358bbf01a1846d1206323fabe408b0e98789fcc6239da14d4b3f86c276a8f48aa85a59507e620ad1bc745f0f1cbf63ec98c229c2610d77c634d1642e404354771655b2d5662f7a45227178ce3430af0f6b3bb94b52f7f51e97bad659b1ba0684e208be624c28d82fb1162f18dd9dce45216461654cf3374624d15a8d]\n[key.keySize = 1024]\n[key.p = 00b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f]\n[key.q = 00b90b38ba0a50a43ec6898d3f9b68049777f489b1]\n[key.type = DsaPublicKey]\n[key.y = 61fe5b61f6d555ada7dc0ebac3459fccd8dfbad18ba94dbea52437cd7fb431df404d4738c594e720a6d786275acd02259ca613a08a2de118d0150d2ccae602102aca0cd03666a53f67c0b9943df5046c15baeaf496a9f018b7c939de1509de71ce47dd6f44c57f4e01e569be46932773190c154470cefbd1f4af82d28e4b31]\n[keyDer = 308201b43082012b06072a8648ce3804013082011e02818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f021500b90b38ba0a50a43ec6898d", + "3f9b68049777f489b10281800835aa8c358bbf01a1846d1206323fabe408b0e98789fcc6239da14d4b3f86c276a8f48aa85a59507e620ad1bc745f0f1cbf63ec98c229c2610d77c634d1642e404354771655b2d5662f7a45227178ce3430af0f6b3bb94b52f7f51e97bad659b1ba0684e208be624c28d82fb1162f18dd9dce45216461654cf3374624d15a8d03818200027f61fe5b61f6d555ada7dc0ebac3459fccd8dfbad18ba94dbea52437cd7fb431df404d4738c594e720a6d786275acd02259ca613a08a2de118d0150d2ccae602102aca0cd03666a53f67c0b9943df5046c15baeaf496a9f018b7c939de1509de71ce47dd6f44c57f4e01e569be46932773190c154470cefbd1f4af82d28e4b31]\n[sha = SHA-1]\n\n# tcId = 302\n# s == 1\nmsg = 54657374\nresult = valid\nsig = 3019021462ba827381396dc44facc66c344f91788f11c6fc020101\n\n[key.g = 16a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde]\n[key.keySize = 2048]\n[key.p = 008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667]\n[key.q = 00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d]\n[key.type = DsaPublicKey]\n[key.y = 1e77f842b1ae0fcd9929d394161d41e14614ff7507a9a31f4a1f14d22e2a627a1f4e596624883f1a5b168e9425146f22d5f6ee28757414714bb994ba1129f015d6e04a717edf9b530a5d5cab94f14631e8b4cf79aeb358cc741845553841e8ac461630e804a62f43676ba6794af66899c377b869ea612a7b9fe6611aa96be52eb8b62c979117bbbcca8a7ec1e1ffab1c7dfcfc7048700d3ae3858136e897701d7c2921b5dfef1d1f897f50d96ca1b5c2edc58cada18919e35642f0807eebfa00c99a32f4d095c3188f78ed54711be0325c4b532aeccd6540a567c327225440ea15319bde06510479a1861799e25b57decc73c036d75a0702bd373ca231349931]\n[keyDer = 308203423082023506072a8648ce3804013082022802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d0282010016a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde0382010500028201001e77f842b1ae0fcd9929d394161d41e14614ff7507a9a31f4a1f14d22e2a627a1f4e596624883f1a5b168e9425146f22d5f6ee28757414714bb994ba1129f015d6e04a717edf9b530a5d5cab94f14631e8b4cf79aeb358cc741845553841e8ac461630e804a62f43676ba6794af66899c377b869ea612a7b9fe6611aa96be52eb8b62c979117bbbcca8a7ec1e1ffab1c7dfcfc7048700d3ae3858136e897701d7c2921b5dfef1d1f897f50d96ca1b5c2edc58cada18919e35642f0807eebfa00c99a32f4d095c3188f78ed54711be0325c4b532aeccd6540a567c327225440ea15319bde06510479a1861799e25b57decc73c036d75a0702bd373ca231349931]\n[sha = SHA-224]\n\n# tcId = 303\n# Legacy:ASN encoding of s misses leading 0\nmsg = 48656c6c6f\nresult = acceptable\nsig = 303c021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021cade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\nflags = NoLeadingZero\n\n# tcId = 304\n# valid\nmsg = 48656c6c6f\nresult = valid\nsig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 305\n# long form encoding of length of sequence\nmsg = 48656c6c6f\nresult = invalid\nsig = 30813d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 306\n# length of sequence contains leading 0\nmsg = 48656c6c6f\nresult = invalid\nsig = 3082003d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 307\n# wrong length of sequence\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 308\n# wrong length of sequence\nmsg = 48656c6c6f\nresult = invalid\nsig = 303c021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 309\n# uint32 overflow in length of sequence\nmsg = 48656c6c6f\nresult = invalid\nsig = 3085010000003d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 310\n# uint64 overflow in length of sequence\nmsg = 48656c6c6f\nresult = invalid\nsig = 308901000000000000003d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 311\n# length of sequence = 2**31 - 1\nmsg = 48656c6c6f\nresult = invalid\nsig = 30847fffffff021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 312\n# length of sequence = 2**32 - 1\nmsg = 48656c6c6f\nresult = invalid\nsig = 3084ffffffff021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 313\n# length of sequence = 2**40 - 1\nmsg = 48656c6c6f\nresult = invalid\nsig = 3085ffffffffff021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 314\n# length of sequence = 2**64 - 1\nmsg = 48656c6c6f\nresult = invalid\nsig = 3088ffffffffffffffff021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 315\n# incorrect length of sequence\nmsg = 48656c6c6f\nresult = invalid\nsig = 30ff021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 316\n# indefinite length without termination\nmsg = 48656c6c6f\nresult = invalid\nsig = 3080021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 317\n# indefinite length without termination\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d02801e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 318\n# indefinite length without termination\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd028000ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 319\n# removing sequence\nmsg = 48656c6c6f\nresult = invalid\nsig = \n\n# tcId = 320\n# lonely sequence tag\nmsg = 48656c6c6f\nresult = invalid\nsig = 30\n\n# tcId = 321\n# appending 0's to sequence\nmsg = 48656c6c6f\nresult = invalid\nsig = 303f021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360000\n\n# tcId = 322\n# prepending 0's to sequence\nmsg = 48656c6c6f\nresult = invalid\nsig = 303f0000021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe878623", + "6\n\n# tcId = 323\n# appending unused 0's to sequence\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360000\n\n# tcId = 324\n# appending null value to sequence\nmsg = 48656c6c6f\nresult = invalid\nsig = 303f021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360500\n\n# tcId = 325\n# including garbage\nmsg = 48656c6c6f\nresult = invalid\nsig = 3042498177303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 326\n# including garbage\nmsg = 48656c6c6f\nresult = invalid\nsig = 30412500303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 327\n# including garbage\nmsg = 48656c6c6f\nresult = invalid\nsig = 303f303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360004deadbeef\n\n# tcId = 328\n# including garbage\nmsg = 48656c6c6f\nresult = invalid\nsig = 30422221498177021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 329\n# including garbage\nmsg = 48656c6c6f\nresult = invalid\nsig = 304122202500021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 330\n# including garbage\nmsg = 48656c6c6f\nresult = invalid\nsig = 3045221e021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0004deadbeef021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 331\n# including garbage\nmsg = 48656c6c6f\nresult = invalid\nsig = 3042021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd2222498177021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 332\n# including garbage\nmsg = 48656c6c6f\nresult = invalid\nsig = 3041021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd22212500021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 333\n# including garbage\nmsg = 48656c6c6f\nresult = invalid\nsig = 3045021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd221f021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360004deadbeef\n\n# tcId = 334\n# including undefined tags\nmsg = 48656c6c6f\nresult = invalid\nsig = 3045aa00bb00cd00303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 335\n# including undefined tags\nmsg = 48656c6c6f\nresult = invalid\nsig = 3043aa02aabb303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 336\n# including undefined tags\nmsg = 48656c6c6f\nresult = invalid\nsig = 30452224aa00bb00cd00021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 337\n# including undefined tags\nmsg = 48656c6c6f\nresult = invalid\nsig = 30432222aa02aabb021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 338\n# including undefined tags\nmsg = 48656c6c6f\nresult = invalid\nsig = 3045021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd2225aa00bb00cd00021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 339\n# including undefined tags\nmsg = 48656c6c6f\nresult = invalid\nsig = 3043021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd2223aa02aabb021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 340\n# truncated length of sequence\nmsg = 48656c6c6f\nresult = invalid\nsig = 3081\n\n# tcId = 341\n# using composition with indefinite length\nmsg = 48656c6c6f\nresult = invalid\nsig = 3080303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360000\n\n# tcId = 342\n# using composition with indefinite length\nmsg = 48656c6c6f\nresult = invalid\nsig = 30412280021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0000021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 343\n# using composition with indefinite length\nmsg = 48656c6c6f\nresult = invalid\nsig = 3041021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd2280021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360000\n\n# tcId = 344\n# using composition with wrong tag\nmsg = 48656c6c6f\nresult = invalid\nsig = 3080313d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360000\n\n# tcId = 345\n# using composition with wrong tag\nmsg = 48656c6c6f\nresult = invalid\nsig = 30412280031c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0000021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 346\n# using composition with wrong tag\nmsg = 48656c6c6f\nresult = invalid\nsig = 3041021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd2280031d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360000\n\n# tcId = 347\n# Replacing sequence with NULL\nmsg = 48656c6c6f\nresult = invalid\nsig = 0500\n\n# tcId = 348\n# changing tag value of sequence\nmsg = 48656c6c6f\nresult = invalid\nsig = 2e3d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 349\n# changing tag value of sequence\nmsg = 48656c6c6f\nresult = invalid\nsig = 2f3d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 350\n# changing tag value of sequence\nmsg = 48656c6c6f\nresult = invalid\nsig = 313d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 351\n# changing tag value of sequence\nmsg = 48656c6c6f\nresult = invalid\nsig = 323d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 352\n# changing tag value of sequence\nmsg = 48656c6c6f\nresult = invalid\nsig = ff3d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 353\n# dropping value of sequence\nmsg = 48656c6c6f\nresult = invalid\nsig = 3000\n\n# tcId = 354\n# using composition for sequence\nmsg = 48656c6c6f\nresult = invalid\nsig = 3041300102303c1c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 355\n# truncated sequence\nmsg = 48656c6c6f\nresult = invalid\nsig = 303c021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862\n\n# tcId = 356\n# truncated sequence\nmsg = 48656c6c6f\nresult = invalid\nsig = 303c1c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 357\n# indefinite length\nmsg = 48656c6c6f\nresult = invalid\nsig = 3080021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360000\n\n# tcId = 358\n# indefinite length with truncated delimiter\nmsg = 48656c6c6f\nresult = invalid\nsig = 3080021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe878623600\n\n# tcId = 359\n# indefinite length with additional element\nmsg = 48656c6c6f\nresult = invalid\nsig = 3080021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe878623605000000\n\n# tcId = 360\n# indefinite length with truncated element\nmsg = 48656c6c6f\nresult = invalid\nsig = 3080021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236060811220000\n\n# tcId = 361\n# indefinite length with garbage\nmsg = 48656c6c6f\nresult = invalid\nsig = 3080021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360000fe02beef\n\n# tcId = 362\n# indefinite length with nonempty EOC", + "\nmsg = 48656c6c6f\nresult = invalid\nsig = 3080021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360002beef\n\n# tcId = 363\n# prepend empty sequence\nmsg = 48656c6c6f\nresult = invalid\nsig = 303f3000021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 364\n# append empty sequence\nmsg = 48656c6c6f\nresult = invalid\nsig = 303f021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862363000\n\n# tcId = 365\n# append garbage with high tag number\nmsg = 48656c6c6f\nresult = invalid\nsig = 3040021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236bf7f00\n\n# tcId = 366\n# sequence of sequence\nmsg = 48656c6c6f\nresult = invalid\nsig = 303f303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 367\n# truncated sequence: removed last 1 elements\nmsg = 48656c6c6f\nresult = invalid\nsig = 301e021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd\n\n# tcId = 368\n# repeating element in sequence\nmsg = 48656c6c6f\nresult = invalid\nsig = 305c021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 369\n# long form encoding of length of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e02811c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 370\n# long form encoding of length of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd02811d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 371\n# length of integer contains leading 0\nmsg = 48656c6c6f\nresult = invalid\nsig = 303f0282001c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 372\n# length of integer contains leading 0\nmsg = 48656c6c6f\nresult = invalid\nsig = 303f021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0282001d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 373\n# wrong length of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021d1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 374\n# wrong length of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021b1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 375\n# wrong length of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021e00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 376\n# wrong length of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021c00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 377\n# uint32 overflow in length of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 30420285010000001c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 378\n# uint32 overflow in length of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 3042021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0285010000001d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 379\n# uint64 overflow in length of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 3046028901000000000000001c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 380\n# uint64 overflow in length of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 3046021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd028901000000000000001d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 381\n# length of integer = 2**31 - 1\nmsg = 48656c6c6f\nresult = invalid\nsig = 304102847fffffff1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 382\n# length of integer = 2**31 - 1\nmsg = 48656c6c6f\nresult = invalid\nsig = 3041021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd02847fffffff00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 383\n# length of integer = 2**32 - 1\nmsg = 48656c6c6f\nresult = invalid\nsig = 30410284ffffffff1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 384\n# length of integer = 2**32 - 1\nmsg = 48656c6c6f\nresult = invalid\nsig = 3041021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0284ffffffff00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 385\n# length of integer = 2**40 - 1\nmsg = 48656c6c6f\nresult = invalid\nsig = 30420285ffffffffff1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 386\n# length of integer = 2**40 - 1\nmsg = 48656c6c6f\nresult = invalid\nsig = 3042021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0285ffffffffff00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 387\n# length of integer = 2**64 - 1\nmsg = 48656c6c6f\nresult = invalid\nsig = 30450288ffffffffffffffff1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 388\n# length of integer = 2**64 - 1\nmsg = 48656c6c6f\nresult = invalid\nsig = 3045021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0288ffffffffffffffff00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 389\n# incorrect length of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d02ff1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 390\n# incorrect length of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd02ff00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 391\n# removing integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 301f021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 392\n# lonely integer tag\nmsg = 48656c6c6f\nresult = invalid\nsig = 302002021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 393\n# lonely integer tag\nmsg = 48656c6c6f\nresult = invalid\nsig = 301f021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd02\n\n# tcId = 394\n# appending 0's to integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303f021e1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0000021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 395\n# appending 0's to integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303f021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021f00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360000\n\n# tcId = 396\n# prepending 0's to integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303f021e00001e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 397\n# prepending 0's to integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303f021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021f000000ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 398\n# appending unused 0's to integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303f021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0000021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 399\n# appending null value to integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303f021e1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0500021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 400\n# appending null value to integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303f021c1e41b479ad576905b960fe14eadb91b0ccf34843da", + "b916173bb8c9cd021f00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360500\n\n# tcId = 401\n# truncated length of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 30210281021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 402\n# truncated length of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 3020021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0281\n\n# tcId = 403\n# Replacing integer with NULL\nmsg = 48656c6c6f\nresult = invalid\nsig = 30210500021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 404\n# Replacing integer with NULL\nmsg = 48656c6c6f\nresult = invalid\nsig = 3020021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0500\n\n# tcId = 405\n# changing tag value of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d001c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 406\n# changing tag value of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d011c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 407\n# changing tag value of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d031c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 408\n# changing tag value of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d041c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 409\n# changing tag value of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303dff1c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 410\n# changing tag value of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd001d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 411\n# changing tag value of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd011d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 412\n# changing tag value of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd031d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 413\n# changing tag value of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd041d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 414\n# changing tag value of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cdff1d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 415\n# dropping value of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 30210200021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 416\n# dropping value of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 3020021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0200\n\n# tcId = 417\n# using composition for integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 3041222002011e021b41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 418\n# using composition for integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 3041021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd2221020100021cade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 419\n# modify first byte of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c1c41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 420\n# modify first byte of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d02ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 421\n# modify last byte of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c94d021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 422\n# modify last byte of integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862b6\n\n# tcId = 423\n# truncated integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303c021b1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 424\n# truncated integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303c021b41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 425\n# truncated integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303c021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021c00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862\n\n# tcId = 426\n# leading ff in integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021dff1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 427\n# leading ff in integer\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021eff00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 428\n# replaced integer by infinity\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022090180021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 429\n# replaced integer by infinity\nmsg = 48656c6c6f\nresult = invalid\nsig = 3021021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd090180\n\n# tcId = 430\n# replacing integer with zero\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022020100021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 431\n# replacing integer with zero\nmsg = 48656c6c6f\nresult = invalid\nsig = 3021021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd020100\n\n# tcId = 432\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d00d9384b2032d060e59848f87cb4535936bc25fa77959e96d7f88e332a021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 433\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021dff634b1dd327de7125da7903ad2163ca2addc096101fd395567ee36070021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 434\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021ce1be4b8652a896fa469f01eb15246e4f330cb7bc2546e9e8c4473633021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 435\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d009cb4e22cd8218eda2586fc52de9c35d5223f69efe02c6aa9811c9f90021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 436\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021dff26c7b4dfcd2f9f1a67b707834baca6c943da05886a6169280771ccd6021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 437\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d011e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 438\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d00e1be4b8652a896fa469f01eb15246e4f330cb7bc2546e9e8c4473633021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 439\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d0168dcf02f57b0caef7ddc183bee1ca94ee09c1a02ee4b0200a54dcb93\n\n# tcId = 440\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 48656c6c6f\nresult = invalid\nsig = 303c021c1e41b479ad576905b960fe14eadb9", + "1b0ccf34843dab916173bb8c9cd021cf2efc2e24cbedb2fc00c236c5b2d1a430236b59b7880007f2ba2f8d9\n\n# tcId = 441\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021dff5219a6772dc82cf0610be22bdb5b1e370e969830cc9a7ec017879dca\n\n# tcId = 442\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 48656c6c6f\nresult = invalid\nsig = 303c021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021c0d103d1db34124d03ff3dc93a4d2e5bcfdc94a64877fff80d45d0727\n\n# tcId = 443\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021dfe97230fd0a84f35108223e7c411e356b11f63e5fd11b4fdff5ab2346d\n\n# tcId = 444\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d01ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236\n\n# tcId = 445\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 48656c6c6f\nresult = invalid\nsig = 303c021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021c5219a6772dc82cf0610be22bdb5b1e370e969830cc9a7ec017879dca\n\n# tcId = 446\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022020100021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3\nflags = EdgeCase\n\n# tcId = 447\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3006020100020100\nflags = EdgeCase\n\n# tcId = 448\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3006020100020101\nflags = EdgeCase\n\n# tcId = 449\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 30060201000201ff\nflags = EdgeCase\n\n# tcId = 450\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3021020100021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae\nflags = EdgeCase\n\n# tcId = 451\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3021020100021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af\nflags = EdgeCase\n\n# tcId = 452\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022020100021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\nflags = EdgeCase\n\n# tcId = 453\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022020100021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d\nflags = EdgeCase\n\n# tcId = 454\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022020100021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e\nflags = EdgeCase\n\n# tcId = 455\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022020100021d0100000000000000000000000000000000000000000000000000000000\nflags = EdgeCase\n\n# tcId = 456\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3082010802010002820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667\nflags = EdgeCase\n\n# tcId = 457\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3008020100090380fe01\nflags = EdgeCase\n\n# tcId = 458\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3006020100090142\nflags = EdgeCase\n\n# tcId = 459\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022020101021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3\nflags = EdgeCase\n\n# tcId = 460\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3006020101020100\nflags = EdgeCase\n\n# tcId = 461\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3006020101020101\nflags = EdgeCase\n\n# tcId = 462\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 30060201010201ff\nflags = EdgeCase\n\n# tcId = 463\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3021020101021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae\nflags = EdgeCase\n\n# tcId = 464\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3021020101021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af\nflags = EdgeCase\n\n# tcId = 465\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022020101021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\nflags = EdgeCase\n\n# tcId = 466\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022020101021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d\nflags = EdgeCase\n\n# tcId = 467\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022020101021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e\nflags = EdgeCase\n\n# tcId = 468\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022020101021d0100000000000000000000000000000000000000000000000000000000\nflags = EdgeCase\n\n# tcId = 469\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3082010802010102820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667\nflags = EdgeCase\n\n# tcId = 470\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3008020101090380fe01\nflags = EdgeCase\n\n# tcId = 471\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3006020101090142\nflags = EdgeCase\n\n# tcId = 472\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 30220201ff021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3\nflags = EdgeCase\n\n# tcId = 473\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 30060201ff020100\nflags = EdgeCase\n\n# tcId = 474\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 30060201ff020101\nflags = EdgeCase\n\n# tcId = 475\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 30060201ff0201ff\nflags = EdgeCase\n\n# tcId = 476\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 30210201ff021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae\nflags = EdgeCase\n\n# tcId = 477\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 30210201ff021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af\nflags = EdgeCase\n\n# tcId = 478\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 30220201ff021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\nflags = EdgeCase\n\n# tcId = 479\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 30220201ff021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d\nflags = EdgeCase\n\n# tcId = 480\n# Signatures with special case values ", + "for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 30220201ff021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e\nflags = EdgeCase\n\n# tcId = 481\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 30220201ff021d0100000000000000000000000000000000000000000000000000000000\nflags = EdgeCase\n\n# tcId = 482\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 308201080201ff02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667\nflags = EdgeCase\n\n# tcId = 483\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 30080201ff090380fe01\nflags = EdgeCase\n\n# tcId = 484\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 30060201ff090142\nflags = EdgeCase\n\n# tcId = 485\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3\nflags = EdgeCase\n\n# tcId = 486\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3021021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae020100\nflags = EdgeCase\n\n# tcId = 487\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3021021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae020101\nflags = EdgeCase\n\n# tcId = 488\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3021021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae0201ff\nflags = EdgeCase\n\n# tcId = 489\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303c021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae\nflags = EdgeCase\n\n# tcId = 490\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303c021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af\nflags = EdgeCase\n\n# tcId = 491\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\nflags = EdgeCase\n\n# tcId = 492\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d\nflags = EdgeCase\n\n# tcId = 493\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e\nflags = EdgeCase\n\n# tcId = 494\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae021d0100000000000000000000000000000000000000000000000000000000\nflags = EdgeCase\n\n# tcId = 495\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 30820123021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667\nflags = EdgeCase\n\n# tcId = 496\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3023021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae090380fe01\nflags = EdgeCase\n\n# tcId = 497\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3021021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae090142\nflags = EdgeCase\n\n# tcId = 498\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3\nflags = EdgeCase\n\n# tcId = 499\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3021021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af020100\nflags = EdgeCase\n\n# tcId = 500\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3021021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af020101\nflags = EdgeCase\n\n# tcId = 501\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3021021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af0201ff\nflags = EdgeCase\n\n# tcId = 502\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303c021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae\nflags = EdgeCase\n\n# tcId = 503\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303c021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af\nflags = EdgeCase\n\n# tcId = 504\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\nflags = EdgeCase\n\n# tcId = 505\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d\nflags = EdgeCase\n\n# tcId = 506\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e\nflags = EdgeCase\n\n# tcId = 507\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af021d0100000000000000000000000000000000000000000000000000000000\nflags = EdgeCase\n\n# tcId = 508\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 30820123021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667\nflags = EdgeCase\n\n# tcId = 509\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3023021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af090380fe01\nflags = EdgeCase\n\n# tcId = 510\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3021021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af090142\nflags = EdgeCase\n\n# tcId = 511\n# Signatures with special case values for r and s.\nmsg = ", + "48656c6c6f\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3\nflags = EdgeCase\n\n# tcId = 512\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c020100\nflags = EdgeCase\n\n# tcId = 513\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c020101\nflags = EdgeCase\n\n# tcId = 514\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c0201ff\nflags = EdgeCase\n\n# tcId = 515\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae\nflags = EdgeCase\n\n# tcId = 516\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af\nflags = EdgeCase\n\n# tcId = 517\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\nflags = EdgeCase\n\n# tcId = 518\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d\nflags = EdgeCase\n\n# tcId = 519\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e\nflags = EdgeCase\n\n# tcId = 520\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c021d0100000000000000000000000000000000000000000000000000000000\nflags = EdgeCase\n\n# tcId = 521\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 30820124021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667\nflags = EdgeCase\n\n# tcId = 522\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3024021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c090380fe01\nflags = EdgeCase\n\n# tcId = 523\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c090142\nflags = EdgeCase\n\n# tcId = 524\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3\nflags = EdgeCase\n\n# tcId = 525\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d020100\nflags = EdgeCase\n\n# tcId = 526\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d020101\nflags = EdgeCase\n\n# tcId = 527\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d0201ff\nflags = EdgeCase\n\n# tcId = 528\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae\nflags = EdgeCase\n\n# tcId = 529\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af\nflags = EdgeCase\n\n# tcId = 530\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\nflags = EdgeCase\n\n# tcId = 531\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d\nflags = EdgeCase\n\n# tcId = 532\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e\nflags = EdgeCase\n\n# tcId = 533\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d021d0100000000000000000000000000000000000000000000000000000000\nflags = EdgeCase\n\n# tcId = 534\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 30820124021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667\nflags = EdgeCase\n\n# tcId = 535\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3024021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d090380fe01\nflags = EdgeCase\n\n# tcId = 536\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d090142\nflags = EdgeCase\n\n# tcId = 537\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3\nflags = EdgeCase\n\n# tcId = 538\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e020100\nflags = EdgeCase\n\n# tcId = 539\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e020101\nflags = EdgeCase\n\n# tcId = 540\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e0201ff\nflags = EdgeCase\n\n# tcId = 541\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae\nflags = EdgeCase\n\n# tcId = 542\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af\nflags = EdgeCase\n\n# tcId = 543\n# Signatures with spe", + "cial case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\nflags = EdgeCase\n\n# tcId = 544\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d\nflags = EdgeCase\n\n# tcId = 545\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e\nflags = EdgeCase\n\n# tcId = 546\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e021d0100000000000000000000000000000000000000000000000000000000\nflags = EdgeCase\n\n# tcId = 547\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 30820124021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667\nflags = EdgeCase\n\n# tcId = 548\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3024021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e090380fe01\nflags = EdgeCase\n\n# tcId = 549\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e090142\nflags = EdgeCase\n\n# tcId = 550\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d0100000000000000000000000000000000000000000000000000000000021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3\nflags = EdgeCase\n\n# tcId = 551\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022021d0100000000000000000000000000000000000000000000000000000000020100\nflags = EdgeCase\n\n# tcId = 552\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022021d0100000000000000000000000000000000000000000000000000000000020101\nflags = EdgeCase\n\n# tcId = 553\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022021d01000000000000000000000000000000000000000000000000000000000201ff\nflags = EdgeCase\n\n# tcId = 554\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021d0100000000000000000000000000000000000000000000000000000000021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae\nflags = EdgeCase\n\n# tcId = 555\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303d021d0100000000000000000000000000000000000000000000000000000000021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af\nflags = EdgeCase\n\n# tcId = 556\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d0100000000000000000000000000000000000000000000000000000000021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\nflags = EdgeCase\n\n# tcId = 557\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d0100000000000000000000000000000000000000000000000000000000021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d\nflags = EdgeCase\n\n# tcId = 558\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d0100000000000000000000000000000000000000000000000000000000021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e\nflags = EdgeCase\n\n# tcId = 559\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 303e021d0100000000000000000000000000000000000000000000000000000000021d0100000000000000000000000000000000000000000000000000000000\nflags = EdgeCase\n\n# tcId = 560\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 30820124021d010000000000000000000000000000000000000000000000000000000002820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667\nflags = EdgeCase\n\n# tcId = 561\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3024021d0100000000000000000000000000000000000000000000000000000000090380fe01\nflags = EdgeCase\n\n# tcId = 562\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3022021d0100000000000000000000000000000000000000000000000000000000090142\nflags = EdgeCase\n\n# tcId = 563\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3082012402820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3\nflags = EdgeCase\n\n# tcId = 564\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3082010802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667020100\nflags = EdgeCase\n\n# tcId = 565\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3082010802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667020101\nflags = EdgeCase\n\n# tcId = 566\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3082010802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd66", + "70201ff\nflags = EdgeCase\n\n# tcId = 567\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3082012302820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae\nflags = EdgeCase\n\n# tcId = 568\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3082012302820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af\nflags = EdgeCase\n\n# tcId = 569\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3082012402820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\nflags = EdgeCase\n\n# tcId = 570\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3082012402820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d\nflags = EdgeCase\n\n# tcId = 571\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3082012402820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e\nflags = EdgeCase\n\n# tcId = 572\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3082012402820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d0100000000000000000000000000000000000000000000000000000000\nflags = EdgeCase\n\n# tcId = 573\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3082020a02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd66702820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667\nflags = EdgeCase\n\n# tcId = 574\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3082010a02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667090380fe01\nflags = EdgeCase\n\n# tcId = 575\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3082010802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667090142\nflags = EdgeCase\n\n# tcId = 576\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3024090380fe01021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3\nflags = EdgeCase\n\n# tcId = 577\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3008090380fe01020100\nflags = EdgeCase\n\n# tcId = 578\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3008090380fe01020101\nflags = EdgeCase\n\n# tcId = 579\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3008090380fe010201ff\nflags = EdgeCase\n\n# tcId = 580\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3023090380fe01021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae\nflags = EdgeCase\n\n# tcId = 581\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3023090380fe01021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af\nflags = EdgeCase\n\n# tcId = 582\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3024090380fe01021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\nflags = EdgeCase\n\n# tcId = 583\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3024090380fe01021d00baf696a68578f7dfdee7fa67c977c785ef32b2", + "33bae580c0bcd5695d\nflags = EdgeCase\n\n# tcId = 584\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3024090380fe01021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e\nflags = EdgeCase\n\n# tcId = 585\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3024090380fe01021d0100000000000000000000000000000000000000000000000000000000\nflags = EdgeCase\n\n# tcId = 586\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3082010a090380fe0102820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667\nflags = EdgeCase\n\n# tcId = 587\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 300a090380fe01090380fe01\nflags = EdgeCase\n\n# tcId = 588\n# Signatures with special case values for r and s.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3008090380fe01090142\nflags = EdgeCase\n\n# tcId = 589\n# Signature encoding contains wrong type.\nmsg = 48656c6c6f\nresult = invalid\nsig = 30060201010c0130\n\n# tcId = 590\n# Signature encoding contains wrong type.\nmsg = 48656c6c6f\nresult = invalid\nsig = 30050201010c00\n\n# tcId = 591\n# Signature encoding contains wrong type.\nmsg = 48656c6c6f\nresult = invalid\nsig = 30090c0225730c03732573\n\n# tcId = 592\n# Signature encoding contains wrong type.\nmsg = 48656c6c6f\nresult = invalid\nsig = 30080201013003020100\n\n# tcId = 593\n# Signature encoding contains wrong type.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3003020101\n\n# tcId = 594\n# Signature encoding contains wrong type.\nmsg = 48656c6c6f\nresult = invalid\nsig = 3006020101010100\n\n# tcId = 595\n# random signature\nmsg = 48656c6c6f\nresult = valid\nsig = 303e021d0085c771ecf9c77debae0c54f749dba4b07ae519ca1037091dd6f294cf021d00a02f74985198cf88e310e55277ba598b336164850fdd5308a7beb1a7\n\n# tcId = 596\n# random signature\nmsg = 48656c6c6f\nresult = valid\nsig = 303c021c043cd5580b8bfb5975edef132d6de7848096392e0adf46342bad7bb7021c142b6572ce61b032d45d4597a88c4e54dd593fa7ca6c8e6882df77f6\n\n# tcId = 597\n# random signature\nmsg = 48656c6c6f\nresult = valid\nsig = 303d021d00914e4f7ba8df44cf63c57d219c6b5da093fe3a94604bd2ef88b630f5021c6a7b804cbfc69937903bbd0c8f67306a6e8bf0d0501ae3f3190dca19\n\n# tcId = 598\n# random signature\nmsg = 48656c6c6f\nresult = valid\nsig = 303d021c0a8ffb160da0ffe319e7d3a5ea299f531f8421bfdcfd6bb66c6adcf2021d008a75e2cbaa709b2b5d81d346f6e90a8dc353c5835393b1d5a6653f3c\n\n# tcId = 599\n# random signature\nmsg = 48656c6c6f\nresult = valid\nsig = 303d021d00a7f164d32f44684fcde89f0fa9647128bc0c290f08c9b9e6f7db3fe1021c2dca34db2f320c95de4e9de4986bbf50860753d5deb728237678afb6\n\n[key.g = 16a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde]\n[key.keySize = 2048]\n[key.p = 008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667]\n[key.q = 00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d]\n[key.type = DsaPublicKey]\n[key.y = 6978b68d31334ee5bc7b3e91ab6c2336fab45c64836bd92cb5337b734db9e8e44f889f8869829f4fe174dc9344c164a0ba5b0126259ba8a43f607564fa4a1d0d49645e1d5886a1fc485e2fe91e56eae330da05e17b0b3d018c290285b249bc409e7af54300fc7c3eb34911457e2371931ad9302e8450cd95df3d561ea0ad94d0a2eabcafe0dd6728fb280029b556d9f4fa7c0f46a7804329936708e97e11fc22b2a50761a890c65b5fea2a1a4172f6be9eaa60e738cdf60c015142e2e562bb62a11e810ccdf0bf633307382f2d9a9769b115dfcdab4bacae73feca289db209dce34cbe126e8c7f9d9e4f8f711349a608d567b48c050e9dfb32bc184ecaa4f0f0]\n[keyDer = 308203423082023506072a8648ce3804013082022802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d0282010016a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde0382010500028201006978b68d31334ee5bc7b3e91ab6c2336fab45c64836bd92cb5337b734db9e8e44f889f8869829f4fe174dc9344c164a0ba5b0126259ba8a43f607564fa4a1d0d49645e1d5886a1fc485e2fe91e56eae330da05e17b0b3d018c290285b249bc409e7af54300fc7c3eb34911457e2371931ad9302e8450cd95df3d561ea0ad94d0a2eabcafe0dd6728fb280029b556d9f4fa7c0f46a7804329936708e97e11fc22b2a50761a890c65b5fea2a1a4172f6be9eaa60e738cdf60c015142e2e562bb62a11e810ccdf0bf633307382f2d9a9769b115dfcdab4bacae73feca289db209dce34cbe126e8c7f9d9e4f8f711349a608d567b48c050e9dfb32bc184ecaa4f0f0]\n[sha = SHA-224]\n\n# tcId = 600\n# r,s = 1,1\nmsg = 54657374\nresult = valid\nsig = 3006020101020101\n\n# tcId = 601\n# r,s = 1,5\nmsg = 54657374\nresult = valid\nsig = 3006020101020105\n\n# tcId = 602\n# u2 small\nmsg = 54657374\nresult = valid\nsig = 3022020101021d009592121ed12d93197f1ffb863ac63937f28ef4f62f1e009a30aabab1\n\n# tcId = 603\n# s == q-1\nmsg = 54657374\nresult = valid\nsig = 3022020101021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\n\n[key.g = 16a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde]\n[key.keySize = 2048]\n[key.p = 008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667]\n[key.q = 00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d]\n[key.type = DsaPublicKey]\n[key.y = 2a64953bde40789f80ed8227192286115b92d09d5de96904e803ec4ecfbd73e0f08e82910febf19fa3cdc55ff20eb970d9c712f44785c0fd592c17fb43f4625357a4ac8a1a628f7", + "2040ae5360839c7c1f6b214e7a15530fe22887139ea0f05a9daf9d95bd6b7467abf9107c9fbe31e36330276eeccce3d59635206d60ca256f9af60627626b0594984b5a075c42c42067fa8c330f258bcf145df27a97da8ee419b54e3ab296c7ce9ef6a0113389b3cac7885b44b3722d27cad60e4e5a924a1ed0342cea9e99256f6bc1308d4af2c0af9379b1cf2119ce113c085705f5519ccc1ba8562a2236190d3f0c0a10f01466ad79a48127c28433f6b34e24a539af60f3d]\n[keyDer = 308203423082023506072a8648ce3804013082022802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d0282010016a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde0382010500028201002a64953bde40789f80ed8227192286115b92d09d5de96904e803ec4ecfbd73e0f08e82910febf19fa3cdc55ff20eb970d9c712f44785c0fd592c17fb43f4625357a4ac8a1a628f72040ae5360839c7c1f6b214e7a15530fe22887139ea0f05a9daf9d95bd6b7467abf9107c9fbe31e36330276eeccce3d59635206d60ca256f9af60627626b0594984b5a075c42c42067fa8c330f258bcf145df27a97da8ee419b54e3ab296c7ce9ef6a0113389b3cac7885b44b3722d27cad60e4e5a924a1ed0342cea9e99256f6bc1308d4af2c0af9379b1cf2119ce113c085705f5519ccc1ba8562a2236190d3f0c0a10f01466ad79a48127c28433f6b34e24a539af60f3d]\n[sha = SHA-224]\n\n# tcId = 604\n# s == 1\nmsg = 54657374\nresult = valid\nsig = 3021021c5a252f4fc55618747fd94b13c9bee62bb958d85777cb07dd90710d24020101\n\n[key.g = 16a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde]\n[key.keySize = 2048]\n[key.p = 008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667]\n[key.q = 00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d]\n[key.type = DsaPublicKey]\n[key.y = 1e77f842b1ae0fcd9929d394161d41e14614ff7507a9a31f4a1f14d22e2a627a1f4e596624883f1a5b168e9425146f22d5f6ee28757414714bb994ba1129f015d6e04a717edf9b530a5d5cab94f14631e8b4cf79aeb358cc741845553841e8ac461630e804a62f43676ba6794af66899c377b869ea612a7b9fe6611aa96be52eb8b62c979117bbbcca8a7ec1e1ffab1c7dfcfc7048700d3ae3858136e897701d7c2921b5dfef1d1f897f50d96ca1b5c2edc58cada18919e35642f0807eebfa00c99a32f4d095c3188f78ed54711be0325c4b532aeccd6540a567c327225440ea15319bde06510479a1861799e25b57decc73c036d75a0702bd373ca231349931]\n[keyDer = 308203423082023506072a8648ce3804013082022802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d0282010016a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde0382010500028201001e77f842b1ae0fcd9929d394161d41e14614ff7507a9a31f4a1f14d22e2a627a1f4e596624883f1a5b168e9425146f22d5f6ee28757414714bb994ba1129f015d6e04a717edf9b530a5d5cab94f14631e8b4cf79aeb358cc741845553841e8ac461630e804a62f43676ba6794af66899c377b869ea612a7b9fe6611aa96be52eb8b62c979117bbbcca8a7ec1e1ffab1c7dfcfc7048700d3ae3858136e897701d7c2921b5dfef1d1f897f50d96ca1b5c2edc58cada18919e35642f0807eebfa00c99a32f4d095c3188f78ed54711be0325c4b532aeccd6540a567c327225440ea15319bde06510479a1861799e25b57decc73c036d75a0702bd373ca231349931]\n[sha = SHA-256]\n\n# tcId = 605\n# Legacy:ASN encoding of r misses leading 0\nmsg = 54657374\nresult = acceptable\nsig = 303c021c9b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\nflags = NoLeadingZero\n\n# tcId = 606\n# valid\nmsg = 54657374\nresult = valid\nsig = 303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 607\n# long form encoding of length of sequence\nmsg = 54657374\nresult = invalid\nsig = 30813d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 608\n# length of sequence contains leading 0\nmsg = 54657374\nresult = invalid\nsig = 3082003d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 609\n# wrong length of sequence\nmsg = 54657374\nresult = invalid\nsig = 303e021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 610\n# wrong length of sequence\nmsg = 54657374\nresult = invalid\nsig = 303c021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 611\n# uint32 overflow in length of sequence\nmsg = 54657374\nresult = invalid\nsig = 3085010000003d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 612\n# uint64 overflow in length of sequence\nmsg = 54657374\nresult = invalid\nsig = 308901000000000000003d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 613\n# length of sequence = 2**31 - 1\nmsg = 54657374\nresult = invalid\nsig = 30847fffffff021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 614\n# length of sequence = 2**32 - 1\nmsg = 54657374\nresult = invalid\nsig = 3084ffffffff021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 615\n# length of sequence = 2**40 - 1\nmsg = 54657374\nresult = invalid\nsig = 3085ffffffffff021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 616\n# length of sequence = 2**64 - 1\nmsg = 54657374\nresult = invalid\nsig = 3088ffffffffffffffff021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe823", + "4711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 617\n# incorrect length of sequence\nmsg = 54657374\nresult = invalid\nsig = 30ff021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 618\n# indefinite length without termination\nmsg = 54657374\nresult = invalid\nsig = 3080021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 619\n# indefinite length without termination\nmsg = 54657374\nresult = invalid\nsig = 303d0280009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 620\n# indefinite length without termination\nmsg = 54657374\nresult = invalid\nsig = 303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee9302805fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 621\n# removing sequence\nmsg = 54657374\nresult = invalid\nsig = \n\n# tcId = 622\n# lonely sequence tag\nmsg = 54657374\nresult = invalid\nsig = 30\n\n# tcId = 623\n# appending 0's to sequence\nmsg = 54657374\nresult = invalid\nsig = 303f021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160000\n\n# tcId = 624\n# prepending 0's to sequence\nmsg = 54657374\nresult = invalid\nsig = 303f0000021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 625\n# appending unused 0's to sequence\nmsg = 54657374\nresult = invalid\nsig = 303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160000\n\n# tcId = 626\n# appending null value to sequence\nmsg = 54657374\nresult = invalid\nsig = 303f021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160500\n\n# tcId = 627\n# including garbage\nmsg = 54657374\nresult = invalid\nsig = 3042498177303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 628\n# including garbage\nmsg = 54657374\nresult = invalid\nsig = 30412500303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 629\n# including garbage\nmsg = 54657374\nresult = invalid\nsig = 303f303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160004deadbeef\n\n# tcId = 630\n# including garbage\nmsg = 54657374\nresult = invalid\nsig = 30422222498177021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 631\n# including garbage\nmsg = 54657374\nresult = invalid\nsig = 304122212500021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 632\n# including garbage\nmsg = 54657374\nresult = invalid\nsig = 3045221f021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930004deadbeef021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 633\n# including garbage\nmsg = 54657374\nresult = invalid\nsig = 3042021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee932221498177021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 634\n# including garbage\nmsg = 54657374\nresult = invalid\nsig = 3041021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee9322202500021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 635\n# including garbage\nmsg = 54657374\nresult = invalid\nsig = 3045021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93221e021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160004deadbeef\n\n# tcId = 636\n# including undefined tags\nmsg = 54657374\nresult = invalid\nsig = 3045aa00bb00cd00303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 637\n# including undefined tags\nmsg = 54657374\nresult = invalid\nsig = 3043aa02aabb303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 638\n# including undefined tags\nmsg = 54657374\nresult = invalid\nsig = 30452225aa00bb00cd00021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 639\n# including undefined tags\nmsg = 54657374\nresult = invalid\nsig = 30432223aa02aabb021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 640\n# including undefined tags\nmsg = 54657374\nresult = invalid\nsig = 3045021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee932224aa00bb00cd00021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 641\n# including undefined tags\nmsg = 54657374\nresult = invalid\nsig = 3043021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee932222aa02aabb021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 642\n# truncated length of sequence\nmsg = 54657374\nresult = invalid\nsig = 3081\n\n# tcId = 643\n# using composition with indefinite length\nmsg = 54657374\nresult = invalid\nsig = 3080303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160000\n\n# tcId = 644\n# using composition with indefinite length\nmsg = 54657374\nresult = invalid\nsig = 30412280021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930000021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 645\n# using composition with indefinite length\nmsg = 54657374\nresult = invalid\nsig = 3041021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee932280021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160000\n\n# tcId = 646\n# using composition with wrong tag\nmsg = 54657374\nresult = invalid\nsig = 3080313d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160000\n\n# tcId = 647\n# using composition with wrong tag\nmsg = 54657374\nresult = invalid\nsig = 30412280031d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930000021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 648\n# using composition with wrong tag\nmsg = 54657374\nresult = invalid\nsig = 3041021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee932280031c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160000\n\n# tcId = 649\n# Replacing sequence with NULL\nmsg = 54657374\nresult = invalid\nsig = 0500\n\n# tcId = 650\n# changing tag value of sequence\nmsg = 54657374\nresult = invalid\nsig = 2e3d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 651\n# changing tag value of sequence\nmsg = 54657374\nresult = invalid\nsig = 2f3d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 652\n# changing tag value of sequence\nmsg = 54657374\nresult = invalid\nsig = 313d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 653\n# changing tag value of sequence\nmsg = 54657374\nresult = invalid\nsig = 323d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 654\n# changing tag value of sequence\nmsg = 54657374\nresult = invalid\nsig = ff3d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 655\n# dropping value of sequence\nmsg = 54657374\nresult = invalid\nsig = 3000\n\n# tcId = 656\n# using composition for sequence\nmsg = 54657374\nresult = invalid\nsig = 3041300102303c1d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 657\n# truncated sequence\nmsg = 54657374\nresult = invalid\nsig = 303c021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d", + "68fade4142c8cf60f385470480c386c062b38fb42b1\n\n# tcId = 658\n# truncated sequence\nmsg = 54657374\nresult = invalid\nsig = 303c1d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 659\n# indefinite length\nmsg = 54657374\nresult = invalid\nsig = 3080021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160000\n\n# tcId = 660\n# indefinite length with truncated delimiter\nmsg = 54657374\nresult = invalid\nsig = 3080021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b11600\n\n# tcId = 661\n# indefinite length with additional element\nmsg = 54657374\nresult = invalid\nsig = 3080021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b11605000000\n\n# tcId = 662\n# indefinite length with truncated element\nmsg = 54657374\nresult = invalid\nsig = 3080021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116060811220000\n\n# tcId = 663\n# indefinite length with garbage\nmsg = 54657374\nresult = invalid\nsig = 3080021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160000fe02beef\n\n# tcId = 664\n# indefinite length with nonempty EOC\nmsg = 54657374\nresult = invalid\nsig = 3080021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160002beef\n\n# tcId = 665\n# prepend empty sequence\nmsg = 54657374\nresult = invalid\nsig = 303f3000021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 666\n# append empty sequence\nmsg = 54657374\nresult = invalid\nsig = 303f021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1163000\n\n# tcId = 667\n# append garbage with high tag number\nmsg = 54657374\nresult = invalid\nsig = 3040021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116bf7f00\n\n# tcId = 668\n# sequence of sequence\nmsg = 54657374\nresult = invalid\nsig = 303f303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 669\n# truncated sequence: removed last 1 elements\nmsg = 54657374\nresult = invalid\nsig = 301f021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93\n\n# tcId = 670\n# repeating element in sequence\nmsg = 54657374\nresult = invalid\nsig = 305b021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 671\n# long form encoding of length of integer\nmsg = 54657374\nresult = invalid\nsig = 303e02811d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 672\n# long form encoding of length of integer\nmsg = 54657374\nresult = invalid\nsig = 303e021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee9302811c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 673\n# length of integer contains leading 0\nmsg = 54657374\nresult = invalid\nsig = 303f0282001d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 674\n# length of integer contains leading 0\nmsg = 54657374\nresult = invalid\nsig = 303f021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930282001c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 675\n# wrong length of integer\nmsg = 54657374\nresult = invalid\nsig = 303d021e009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 676\n# wrong length of integer\nmsg = 54657374\nresult = invalid\nsig = 303d021c009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 677\n# wrong length of integer\nmsg = 54657374\nresult = invalid\nsig = 303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021d5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 678\n# wrong length of integer\nmsg = 54657374\nresult = invalid\nsig = 303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021b5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 679\n# uint32 overflow in length of integer\nmsg = 54657374\nresult = invalid\nsig = 30420285010000001d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 680\n# uint32 overflow in length of integer\nmsg = 54657374\nresult = invalid\nsig = 3042021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930285010000001c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 681\n# uint64 overflow in length of integer\nmsg = 54657374\nresult = invalid\nsig = 3046028901000000000000001d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 682\n# uint64 overflow in length of integer\nmsg = 54657374\nresult = invalid\nsig = 3046021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93028901000000000000001c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 683\n# length of integer = 2**31 - 1\nmsg = 54657374\nresult = invalid\nsig = 304102847fffffff009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 684\n# length of integer = 2**31 - 1\nmsg = 54657374\nresult = invalid\nsig = 3041021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee9302847fffffff5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 685\n# length of integer = 2**32 - 1\nmsg = 54657374\nresult = invalid\nsig = 30410284ffffffff009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 686\n# length of integer = 2**32 - 1\nmsg = 54657374\nresult = invalid\nsig = 3041021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930284ffffffff5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 687\n# length of integer = 2**40 - 1\nmsg = 54657374\nresult = invalid\nsig = 30420285ffffffffff009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 688\n# length of integer = 2**40 - 1\nmsg = 54657374\nresult = invalid\nsig = 3042021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930285ffffffffff5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 689\n# length of integer = 2**64 - 1\nmsg = 54657374\nresult = invalid\nsig = 30450288ffffffffffffffff009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 690\n# length of integer = 2**64 - 1\nmsg = 54657374\nresult = invalid\nsig = 3045021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930288ffffffffffffffff5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 691\n# incorrect length of integer\nmsg = 54657374\nresult = invalid\nsig = 303d02ff009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 692\n# incorrect length of integer\nmsg = 54657374\nresult = invalid\nsig = 303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee9302ff5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 693\n# removing integer\nmsg = 54657374\nresult = invalid\nsig = 301e021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 694\n# lonely integer tag\nmsg = 54657374\nresult = invalid\nsig = 301f02021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 695\n# lonely integer tag\nmsg = 54657374\nresult = invalid\nsig = 3020021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee9302\n\n# tcId = 696\n# appending 0's to integer\nmsg = 54657374\nresult = invalid\nsig = 30", + "3f021f009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930000021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 697\n# appending 0's to integer\nmsg = 54657374\nresult = invalid\nsig = 303f021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021e5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160000\n\n# tcId = 698\n# prepending 0's to integer\nmsg = 54657374\nresult = invalid\nsig = 303f021f0000009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 699\n# prepending 0's to integer\nmsg = 54657374\nresult = invalid\nsig = 303f021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021e00005fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 700\n# appending unused 0's to integer\nmsg = 54657374\nresult = invalid\nsig = 303f021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930000021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 701\n# appending null value to integer\nmsg = 54657374\nresult = invalid\nsig = 303f021f009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930500021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 702\n# appending null value to integer\nmsg = 54657374\nresult = invalid\nsig = 303f021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021e5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160500\n\n# tcId = 703\n# truncated length of integer\nmsg = 54657374\nresult = invalid\nsig = 30200281021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 704\n# truncated length of integer\nmsg = 54657374\nresult = invalid\nsig = 3021021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930281\n\n# tcId = 705\n# Replacing integer with NULL\nmsg = 54657374\nresult = invalid\nsig = 30200500021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 706\n# Replacing integer with NULL\nmsg = 54657374\nresult = invalid\nsig = 3021021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930500\n\n# tcId = 707\n# changing tag value of integer\nmsg = 54657374\nresult = invalid\nsig = 303d001d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 708\n# changing tag value of integer\nmsg = 54657374\nresult = invalid\nsig = 303d011d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 709\n# changing tag value of integer\nmsg = 54657374\nresult = invalid\nsig = 303d031d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 710\n# changing tag value of integer\nmsg = 54657374\nresult = invalid\nsig = 303d041d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 711\n# changing tag value of integer\nmsg = 54657374\nresult = invalid\nsig = 303dff1d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 712\n# changing tag value of integer\nmsg = 54657374\nresult = invalid\nsig = 303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93001c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 713\n# changing tag value of integer\nmsg = 54657374\nresult = invalid\nsig = 303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93011c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 714\n# changing tag value of integer\nmsg = 54657374\nresult = invalid\nsig = 303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93031c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 715\n# changing tag value of integer\nmsg = 54657374\nresult = invalid\nsig = 303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93041c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 716\n# changing tag value of integer\nmsg = 54657374\nresult = invalid\nsig = 303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93ff1c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 717\n# dropping value of integer\nmsg = 54657374\nresult = invalid\nsig = 30200200021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 718\n# dropping value of integer\nmsg = 54657374\nresult = invalid\nsig = 3021021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930200\n\n# tcId = 719\n# using composition for integer\nmsg = 54657374\nresult = invalid\nsig = 30412221020100021c9b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 720\n# using composition for integer\nmsg = 54657374\nresult = invalid\nsig = 3041021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93222002015f021be8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 721\n# modify first byte of integer\nmsg = 54657374\nresult = invalid\nsig = 303d021d029b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 722\n# modify first byte of integer\nmsg = 54657374\nresult = invalid\nsig = 303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5de8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 723\n# modify last byte of integer\nmsg = 54657374\nresult = invalid\nsig = 303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee13021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 724\n# modify last byte of integer\nmsg = 54657374\nresult = invalid\nsig = 303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b196\n\n# tcId = 725\n# truncated integer\nmsg = 54657374\nresult = invalid\nsig = 303c021c009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 726\n# truncated integer\nmsg = 54657374\nresult = invalid\nsig = 303c021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021b5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1\n\n# tcId = 727\n# truncated integer\nmsg = 54657374\nresult = invalid\nsig = 303c021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021be8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 728\n# leading ff in integer\nmsg = 54657374\nresult = invalid\nsig = 303e021eff009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 729\n# leading ff in integer\nmsg = 54657374\nresult = invalid\nsig = 303e021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021dff5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 730\n# replaced integer by infinity\nmsg = 54657374\nresult = invalid\nsig = 3021090180021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 731\n# replaced integer by infinity\nmsg = 54657374\nresult = invalid\nsig = 3022021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93090180\n\n# tcId = 732\n# replacing integer with zero\nmsg = 54657374\nresult = invalid\nsig = 3021020100021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 733\n# replacing integer with zero\nmsg = 54657374\nresult = invalid\nsig = 3022021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93020100\n\n# tcId = 734\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 54657374\nresult = invalid\nsig = 303d021d0156667b48514d3e5d546ca89ff45ada90474113ed248b873430ab57f0021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 735\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 54657374\nresult = invalid\nsig = 303c021ce0794dfb465b4e9d969cb3d0616b4b8468dbaf85aec085b2b7008536021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 736\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 54657374\nresult = invalid\nsig = 303d021dff64901b5e342bb9828a7b51c7d51cecf5a7f19e469659f98c8c2a116d021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 737\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 54657374\nresult = invalid\nsig = 303c021c1f86b204b9a4", + "b16269634c2f9e94b47b9724507a513f7a4d48ff7aca021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 738\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 54657374\nresult = invalid\nsig = 303d021dfea99984b7aeb2c1a2ab9357600ba5256fb8beec12db7478cbcf54a810021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 739\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 54657374\nresult = invalid\nsig = 303d021d019b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 740\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 54657374\nresult = invalid\nsig = 303c021c64901b5e342bb9828a7b51c7d51cecf5a7f19e469659f98c8c2a116d021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 741\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 54657374\nresult = invalid\nsig = 303e021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021d011adeb9ed974f878dc2fc26f4bf86ffda5f7abe6c26ebabf9b8181a73\n\n# tcId = 742\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 54657374\nresult = invalid\nsig = 303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021ca4f18ca08c5d97ce052c32252c9770ce81155a04b120aa783e6d47b9\n\n# tcId = 743\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 54657374\nresult = invalid\nsig = 303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021ca017dcb8ee2970521bebd37309f0c7ab8fb7f3c793f9d4c704bd4eea\n\n# tcId = 744\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 54657374\nresult = invalid\nsig = 303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5b0e735f73a26831fad3cddad3688f317eeaa5fb4edf5587c192b847\n\n# tcId = 745\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 54657374\nresult = invalid\nsig = 303e021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021dfee521461268b078723d03d90b40790025a0854193d914540647e7e58d\n\n# tcId = 746\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 54657374\nresult = invalid\nsig = 303e021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021d015fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116\n\n# tcId = 747\n# Modified r or s, e.g. by adding or subtracting the group order\nmsg = 54657374\nresult = invalid\nsig = 303e021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021d00a017dcb8ee2970521bebd37309f0c7ab8fb7f3c793f9d4c704bd4eea\n\n# tcId = 748\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022020100021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3\nflags = EdgeCase\n\n# tcId = 749\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3006020100020100\nflags = EdgeCase\n\n# tcId = 750\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3006020100020101\nflags = EdgeCase\n\n# tcId = 751\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 30060201000201ff\nflags = EdgeCase\n\n# tcId = 752\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3021020100021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae\nflags = EdgeCase\n\n# tcId = 753\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3021020100021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af\nflags = EdgeCase\n\n# tcId = 754\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022020100021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\nflags = EdgeCase\n\n# tcId = 755\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022020100021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d\nflags = EdgeCase\n\n# tcId = 756\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022020100021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e\nflags = EdgeCase\n\n# tcId = 757\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022020100021d0100000000000000000000000000000000000000000000000000000000\nflags = EdgeCase\n\n# tcId = 758\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3082010802010002820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667\nflags = EdgeCase\n\n# tcId = 759\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3008020100090380fe01\nflags = EdgeCase\n\n# tcId = 760\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3006020100090142\nflags = EdgeCase\n\n# tcId = 761\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022020101021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3\nflags = EdgeCase\n\n# tcId = 762\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3006020101020100\nflags = EdgeCase\n\n# tcId = 763\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3006020101020101\nflags = EdgeCase\n\n# tcId = 764\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 30060201010201ff\nflags = EdgeCase\n\n# tcId = 765\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3021020101021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae\nflags = EdgeCase\n\n# tcId = 766\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3021020101021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af\nflags = EdgeCase\n\n# tcId = 767\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022020101021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\nflags = EdgeCase\n\n# tcId = 768\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022020101021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d\nflags = EdgeCase\n\n# tcId = 769\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022020101021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e\nflags = EdgeCase\n\n# tcId = 770\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022020101021d0100000000000000000000000000000000000000000000000000000000\nflags = EdgeCase\n\n# tcId = 771\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3082010802010102820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667\nflags = EdgeCase\n\n# tcId = 772\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3008020101090380fe01\nflags = EdgeCase\n\n# tcId = 773\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3006020101090142\nflags = EdgeCase\n\n# tcId = 774\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 30220201ff021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3\nflags = EdgeCase\n\n# tcId = 775\n# Signatures with special case values for r and ", + "s.\nmsg = 54657374\nresult = invalid\nsig = 30060201ff020100\nflags = EdgeCase\n\n# tcId = 776\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 30060201ff020101\nflags = EdgeCase\n\n# tcId = 777\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 30060201ff0201ff\nflags = EdgeCase\n\n# tcId = 778\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 30210201ff021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae\nflags = EdgeCase\n\n# tcId = 779\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 30210201ff021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af\nflags = EdgeCase\n\n# tcId = 780\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 30220201ff021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\nflags = EdgeCase\n\n# tcId = 781\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 30220201ff021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d\nflags = EdgeCase\n\n# tcId = 782\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 30220201ff021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e\nflags = EdgeCase\n\n# tcId = 783\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 30220201ff021d0100000000000000000000000000000000000000000000000000000000\nflags = EdgeCase\n\n# tcId = 784\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 308201080201ff02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667\nflags = EdgeCase\n\n# tcId = 785\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 30080201ff090380fe01\nflags = EdgeCase\n\n# tcId = 786\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 30060201ff090142\nflags = EdgeCase\n\n# tcId = 787\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3\nflags = EdgeCase\n\n# tcId = 788\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3021021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae020100\nflags = EdgeCase\n\n# tcId = 789\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3021021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae020101\nflags = EdgeCase\n\n# tcId = 790\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3021021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae0201ff\nflags = EdgeCase\n\n# tcId = 791\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303c021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae\nflags = EdgeCase\n\n# tcId = 792\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303c021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af\nflags = EdgeCase\n\n# tcId = 793\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\nflags = EdgeCase\n\n# tcId = 794\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d\nflags = EdgeCase\n\n# tcId = 795\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e\nflags = EdgeCase\n\n# tcId = 796\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae021d0100000000000000000000000000000000000000000000000000000000\nflags = EdgeCase\n\n# tcId = 797\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 30820123021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667\nflags = EdgeCase\n\n# tcId = 798\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3023021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae090380fe01\nflags = EdgeCase\n\n# tcId = 799\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3021021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae090142\nflags = EdgeCase\n\n# tcId = 800\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3\nflags = EdgeCase\n\n# tcId = 801\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3021021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af020100\nflags = EdgeCase\n\n# tcId = 802\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3021021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af020101\nflags = EdgeCase\n\n# tcId = 803\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3021021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af0201ff\nflags = EdgeCase\n\n# tcId = 804\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303c021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae\nflags = EdgeCase\n\n# tcId = 805\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303c021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af\nflags = EdgeCase\n\n# tcId = 806\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\nflags = EdgeCase\n\n# tcId = 807\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d\nflags = EdgeCase\n\n# tcId = 808\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e\nflags = EdgeCase\n\n# tcId = 809\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af021d0100000000000000000000000000000000000000000000000000000000\nflags = EdgeCase\n\n# tcId = 810\n# Signatures with special case values for r and", + " s.\nmsg = 54657374\nresult = invalid\nsig = 30820123021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667\nflags = EdgeCase\n\n# tcId = 811\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3023021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af090380fe01\nflags = EdgeCase\n\n# tcId = 812\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3021021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af090142\nflags = EdgeCase\n\n# tcId = 813\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3\nflags = EdgeCase\n\n# tcId = 814\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c020100\nflags = EdgeCase\n\n# tcId = 815\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c020101\nflags = EdgeCase\n\n# tcId = 816\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c0201ff\nflags = EdgeCase\n\n# tcId = 817\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303d021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae\nflags = EdgeCase\n\n# tcId = 818\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303d021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af\nflags = EdgeCase\n\n# tcId = 819\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\nflags = EdgeCase\n\n# tcId = 820\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d\nflags = EdgeCase\n\n# tcId = 821\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e\nflags = EdgeCase\n\n# tcId = 822\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c021d0100000000000000000000000000000000000000000000000000000000\nflags = EdgeCase\n\n# tcId = 823\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 30820124021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667\nflags = EdgeCase\n\n# tcId = 824\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3024021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c090380fe01\nflags = EdgeCase\n\n# tcId = 825\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c090142\nflags = EdgeCase\n\n# tcId = 826\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3\nflags = EdgeCase\n\n# tcId = 827\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d020100\nflags = EdgeCase\n\n# tcId = 828\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d020101\nflags = EdgeCase\n\n# tcId = 829\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d0201ff\nflags = EdgeCase\n\n# tcId = 830\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303d021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae\nflags = EdgeCase\n\n# tcId = 831\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303d021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af\nflags = EdgeCase\n\n# tcId = 832\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\nflags = EdgeCase\n\n# tcId = 833\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d\nflags = EdgeCase\n\n# tcId = 834\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e\nflags = EdgeCase\n\n# tcId = 835\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d021d0100000000000000000000000000000000000000000000000000000000\nflags = EdgeCase\n\n# tcId = 836\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 30820124021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667\nflags = EdgeCase\n\n# tcId = 837\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3024021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d090380fe01\nflags = EdgeCase\n\n# tcId = 838\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d090142\nflags = EdgeCase\n\n# tcId = 839\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3\nflags = EdgeCase\n\n# tcId = 840\n# Signatures with special case values for r and s.\n", + "msg = 54657374\nresult = invalid\nsig = 3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e020100\nflags = EdgeCase\n\n# tcId = 841\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e020101\nflags = EdgeCase\n\n# tcId = 842\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e0201ff\nflags = EdgeCase\n\n# tcId = 843\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303d021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae\nflags = EdgeCase\n\n# tcId = 844\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303d021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af\nflags = EdgeCase\n\n# tcId = 845\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\nflags = EdgeCase\n\n# tcId = 846\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d\nflags = EdgeCase\n\n# tcId = 847\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e\nflags = EdgeCase\n\n# tcId = 848\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e021d0100000000000000000000000000000000000000000000000000000000\nflags = EdgeCase\n\n# tcId = 849\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 30820124021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667\nflags = EdgeCase\n\n# tcId = 850\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3024021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e090380fe01\nflags = EdgeCase\n\n# tcId = 851\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e090142\nflags = EdgeCase\n\n# tcId = 852\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303e021d0100000000000000000000000000000000000000000000000000000000021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3\nflags = EdgeCase\n\n# tcId = 853\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022021d0100000000000000000000000000000000000000000000000000000000020100\nflags = EdgeCase\n\n# tcId = 854\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022021d0100000000000000000000000000000000000000000000000000000000020101\nflags = EdgeCase\n\n# tcId = 855\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022021d01000000000000000000000000000000000000000000000000000000000201ff\nflags = EdgeCase\n\n# tcId = 856\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303d021d0100000000000000000000000000000000000000000000000000000000021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae\nflags = EdgeCase\n\n# tcId = 857\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303d021d0100000000000000000000000000000000000000000000000000000000021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af\nflags = EdgeCase\n\n# tcId = 858\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303e021d0100000000000000000000000000000000000000000000000000000000021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\nflags = EdgeCase\n\n# tcId = 859\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303e021d0100000000000000000000000000000000000000000000000000000000021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d\nflags = EdgeCase\n\n# tcId = 860\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303e021d0100000000000000000000000000000000000000000000000000000000021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e\nflags = EdgeCase\n\n# tcId = 861\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 303e021d0100000000000000000000000000000000000000000000000000000000021d0100000000000000000000000000000000000000000000000000000000\nflags = EdgeCase\n\n# tcId = 862\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 30820124021d010000000000000000000000000000000000000000000000000000000002820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667\nflags = EdgeCase\n\n# tcId = 863\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3024021d0100000000000000000000000000000000000000000000000000000000090380fe01\nflags = EdgeCase\n\n# tcId = 864\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3022021d0100000000000000000000000000000000000000000000000000000000090142\nflags = EdgeCase\n\n# tcId = 865\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3082012402820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3\nflags = EdgeCase\n\n# tcId = 866\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3082010802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667020100\nflags = EdgeCase\n\n# tcId = 867\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3082010802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a", + "0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667020101\nflags = EdgeCase\n\n# tcId = 868\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3082010802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd6670201ff\nflags = EdgeCase\n\n# tcId = 869\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3082012302820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae\nflags = EdgeCase\n\n# tcId = 870\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3082012302820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af\nflags = EdgeCase\n\n# tcId = 871\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3082012402820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\nflags = EdgeCase\n\n# tcId = 872\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3082012402820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d\nflags = EdgeCase\n\n# tcId = 873\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3082012402820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e\nflags = EdgeCase\n\n# tcId = 874\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3082012402820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d0100000000000000000000000000000000000000000000000000000000\nflags = EdgeCase\n\n# tcId = 875\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3082020a02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd66702820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667\nflags = EdgeCase\n\n# tcId = 876\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3082010a02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667090380fe01\nflags = EdgeCase\n\n# tcId = 877\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3082010802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667090142\nflags = EdgeCase\n\n# tcId = 878\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3024090380fe01021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3\nflags = EdgeCase\n\n# tcId = 879\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3008090380fe01020100\nflags = EdgeCase\n\n# tcId = 880\n# Signatures with special case values for r and s.\nmsg ", + "= 54657374\nresult = invalid\nsig = 3008090380fe01020101\nflags = EdgeCase\n\n# tcId = 881\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3008090380fe010201ff\nflags = EdgeCase\n\n# tcId = 882\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3023090380fe01021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4ae\nflags = EdgeCase\n\n# tcId = 883\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3023090380fe01021c5d7b4b5342bc7befef73fd33e4bbe3c2f7995919dd72c0605e6ab4af\nflags = EdgeCase\n\n# tcId = 884\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3024090380fe01021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\nflags = EdgeCase\n\n# tcId = 885\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3024090380fe01021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d\nflags = EdgeCase\n\n# tcId = 886\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3024090380fe01021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e\nflags = EdgeCase\n\n# tcId = 887\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3024090380fe01021d0100000000000000000000000000000000000000000000000000000000\nflags = EdgeCase\n\n# tcId = 888\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3082010a090380fe0102820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667\nflags = EdgeCase\n\n# tcId = 889\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 300a090380fe01090380fe01\nflags = EdgeCase\n\n# tcId = 890\n# Signatures with special case values for r and s.\nmsg = 54657374\nresult = invalid\nsig = 3008090380fe01090142\nflags = EdgeCase\n\n# tcId = 891\n# Signature encoding contains wrong type.\nmsg = 54657374\nresult = invalid\nsig = 30060201010c0130\n\n# tcId = 892\n# Signature encoding contains wrong type.\nmsg = 54657374\nresult = invalid\nsig = 30050201010c00\n\n# tcId = 893\n# Signature encoding contains wrong type.\nmsg = 54657374\nresult = invalid\nsig = 30090c0225730c03732573\n\n# tcId = 894\n# Signature encoding contains wrong type.\nmsg = 54657374\nresult = invalid\nsig = 30080201013003020100\n\n# tcId = 895\n# Signature encoding contains wrong type.\nmsg = 54657374\nresult = invalid\nsig = 3003020101\n\n# tcId = 896\n# Signature encoding contains wrong type.\nmsg = 54657374\nresult = invalid\nsig = 3006020101010100\n\n# tcId = 897\n# random signature\nmsg = 54657374\nresult = valid\nsig = 303c021c296410b8cb6200edafd1205e7377a09ad2011ac7b15b8bc9b9b4c6db021c25ca283c868dc2a5ce86aafcf681ce21d660b461da48270f15b53889\n\n# tcId = 898\n# random signature\nmsg = 54657374\nresult = valid\nsig = 303d021c347c4f6875bf4476afbdd6b2b1f9e35c870e785e708e661109bd068e021d00b0b908a617d3ad6c8bc277f397095c00e659c86ca7c600090571ab17\n\n# tcId = 899\n# random signature\nmsg = 54657374\nresult = valid\nsig = 303c021c3c76bc6f17369414d4c21c5361ed0cca6e79f73f90706f1f7ca9f05a021c3cc60d8a0d44fb967baa0e5621e12cd434aafd748cba3e7cdc733b2f\n\n# tcId = 900\n# random signature\nmsg = 54657374\nresult = valid\nsig = 303e021d0086a5efea8e6a8033b8a0034b52ae614e1f14fbcbfa0bb50194efa6a7021d00b3d66f6d2b10cfe62fe96b78fcf41ca7b442aceb98ab109a01409e4a\n\n# tcId = 901\n# random signature\nmsg = 54657374\nresult = valid\nsig = 303d021c16727d52bd711e9a63e0dd2c4db045cfb993942b1e39e4f43a65c11a021d009fb9c02d10c968e75bb15acab8467f30b84481f679e136e8af65a266\n\n[key.g = 16a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde]\n[key.keySize = 2048]\n[key.p = 008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667]\n[key.q = 00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d]\n[key.type = DsaPublicKey]\n[key.y = 00848177b9bcff136c52caef2a4a9bcb64dbefbac69e18aae499696b5ec7b270e90478b413bb8ad8f8eee8ad32107d7ba492c36b007f9ef30ebe1ee484d0ea7cb0ff4afaa8c705ad5e16576975414f1bc0efed25c2190a3ed0068bffa1f03bf6f21056c9bb383350851997cbc89cf8729b394527f08ab93ce9b360aa055a47177e82a4ce6fe76c8dffddbd6ee20fa08d0085d3983edd2c8d9a366ad2245b4ed28d6754769f5f3a798be4be19cf469399865d464e3f640438bce03c962c2344d0d550542aed3db55c153833bea44b4146878ba347c8614436c6aac4fd1a60f25c62b3f869a7d55cab4b7122d5e9af4322a3fc8214fa55dc1ee021459fb2c4595827]\n[keyDer = 308203433082023506072a8648ce3804013082022802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d0282010016a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde03820106000282010100848177b9bcff136c52caef2a4a9bcb64dbefbac69e18aae499696b5ec7b270e90478b413bb8ad8f8eee8ad32107d7ba492c36b007f9ef30ebe1ee484d0ea7cb0ff4afaa8c705ad5e16576975414f1bc0efed25c2190a3ed0068bffa1f03bf6f21056c9bb383350851997cbc89cf8729b394527f08ab93ce9b360aa055a47177e82a4ce6fe76c8dffddbd6ee20fa08d0085d3983edd2c8d9a366ad2245b4ed28d6754769f5f3a798be4be19cf469399865d464e3f640438bce03c962c2344d0d550542aed3db55c153833bea44b4146878ba347c8614436c6aac4fd1a60f25c62b3f869a7d55cab4b7122d5e9af4322a3fc8214fa55dc1ee021459fb2c4595827]\n[sha = SHA-256]\n\n# tcId = 902\n# r,s = 1,1\nmsg = 54657374\nresult = valid\nsig = 3006020101020101\n\n# tcId = 903\n# r,s = 1,5\nmsg = 54657374\nresult = valid\nsig = 3006020101020105\n\n# tcId = 904\n# u2 small\nmsg = 54657374\nresult = valid\nsig = 3022020101021d009592121ed12d93197f1ffb863ac63937f28ef4f62f1e009a30aabab1\n\n# tcId = 905\n# s == q-1\nmsg = 54657374\nresult = valid\nsig = 3022020101021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c\n\n[key.g = 16a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296d", + "a887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde]\n[key.keySize = 2048]\n[key.p = 008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667]\n[key.q = 00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d]\n[key.type = DsaPublicKey]\n[key.y = 629374929537e2c3b09f30d881554ca7357f89e25105474dbbce06e4001efd61481a457aa0d7d7e565e90b7a3d9c688005fb404bf3b6d3e61e402300beee7c58ceeaf00b112ddfeef3cbc2020ba2206dd4ef0563d7fa52c321b4ee6280eb8585041d03cadb9244dff21dc90417bbe6f06b91c2ca6484437c3846926b18ee22275081b60726e7a26a29a947eabd035ede83d65927b3ceb0d4d8c2f34e94a3de0f57e4ea99af059657529f6954b1ac9bb4484ca76b4083e1cf4264eff028662137761e4d7f35b1eda3cf516856f25553840e43ae38379d234b06c891822132081d19f0d5db9f23b4bbd5f5667dd78f3dd7f1fe5f25ca48515f6335ce1c9fd0a64b]\n[keyDer = 308203423082023506072a8648ce3804013082022802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d0282010016a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde038201050002820100629374929537e2c3b09f30d881554ca7357f89e25105474dbbce06e4001efd61481a457aa0d7d7e565e90b7a3d9c688005fb404bf3b6d3e61e402300beee7c58ceeaf00b112ddfeef3cbc2020ba2206dd4ef0563d7fa52c321b4ee6280eb8585041d03cadb9244dff21dc90417bbe6f06b91c2ca6484437c3846926b18ee22275081b60726e7a26a29a947eabd035ede83d65927b3ceb0d4d8c2f34e94a3de0f57e4ea99af059657529f6954b1ac9bb4484ca76b4083e1cf4264eff028662137761e4d7f35b1eda3cf516856f25553840e43ae38379d234b06c891822132081d19f0d5db9f23b4bbd5f5667dd78f3dd7f1fe5f25ca48515f6335ce1c9fd0a64b]\n[sha = SHA-256]\n\n# tcId = 906\n# s == 1\nmsg = 54657374\nresult = valid\nsig = 3021021c5a252f4fc55618747fd94b13c9bee62bb958d85777cb07dd90710d24020101\n\n", }; -static const size_t kLen62 = 175947; +static const size_t kLen95 = 133793; -static const char *kData62[] = { - "# Imported from Wycheproof's ecdh_secp224r1_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: ECDH\n# Generator version: 0.4.12\n\n[curve = secp224r1]\n[encoding = asn]\n\n# tcId = 1\n# normal case\nprivate = 565577a49415ca761a0322ad54e4ad0ae7625174baf372c2816f5328\npublic = 304e301006072a8648ce3d020106052b81040021033a00047d8ac211e1228eb094e285a957d9912e93deee433ed777440ae9fc719b01d050dfbe653e72f39491be87fb1a2742daa6e0a2aada98bb1aca\nresult = valid\nshared = b8ecdb552d39228ee332bafe4886dbff272f7109edf933bc7542bd4f\n\n# tcId = 2\n# compressed public key\nprivate = 565577a49415ca761a0322ad54e4ad0ae7625174baf372c2816f5328\npublic = 3032301006072a8648ce3d020106052b81040021031e00027d8ac211e1228eb094e285a957d9912e93deee433ed777440ae9fc71\nresult = acceptable\nshared = b8ecdb552d39228ee332bafe4886dbff272f7109edf933bc7542bd4f\n# The point in the public key is compressed. Not every library supports points\n# in compressed format.\n\n# tcId = 3\n# edge case for shared secret\nprivate = 0a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6\npublic = 304e301006072a8648ce3d020106052b81040021033a0004e73a6ca72f3a2fae6e0a01a0ed03bfa3058b04576942eaf063095e62ca16fd31fa0f38eeb592cbeea1147751fdd2a5b6cc0ead404467a5b6\nresult = valid\nshared = 00000000000000000000000000000000000000000000000000000003\n\n# tcId = 4\n# edge case for shared secret\nprivate = 0a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6\npublic = 304e301006072a8648ce3d020106052b81040021033a00045763fa2ae16367ad23d471cc9a52466f0d81d864e5640cefe384114594d9fecfbed4f254505ac8b41d2532055a07f0241c4818b552cbb636\nresult = valid\nshared = 00000000000000000000000100000000000000000000000000000001\n\n# tcId = 5\n# edge case for shared secret\nprivate = 0a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6\npublic = 304e301006072a8648ce3d020106052b81040021033a0004142c1fd80fa2121a59aa898144084ec033f7a56a34eee0b499e29ae51c6d8c1bbb1ef2a76d565899fe44ffc1207d530d7f598fb77f4bb76b\nresult = valid\nshared = 00000000000000ffffffffffffff0000000000000100000000000000\n\n# tcId = 6\n# edge case for shared secret\nprivate = 0a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6\npublic = 304e301006072a8648ce3d020106052b81040021033a0004ed6f793e10c80d12d871cf8988399c4898a9bf9ffd8f27399f63de25f0051cdf4eec7f368f922cfcd948893ceca0c92e540cc4367a99a66a\nresult = valid\nshared = 00000000ffffffffffffffff00000000000000010000000000000000\n\n# tcId = 7\n# edge case for shared secret\nprivate = 0a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6\npublic = 304e301006072a8648ce3d020106052b81040021033a000408fcfc1a63c82860be12e4137433dfc40be9acdd245f9a8c4e56be61a385fc09f808383383f4b1d0d5365b6e5dcfacdc19bc7bcfed221274\nresult = valid\nshared = 0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff\n\n# tcId = 8\n# edge case for shared secret\nprivate = 0a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6\npublic = 304e301006072a8648ce3d020106052b81040021033a0004d883ed77f1861e8712800d31df67888fe39f150c79a27aa88caeda6b180f3f623e2ff3ab5370cf8179165b085af3dd4502850c0104caed9a\nresult = valid\nshared = 0003fffffff00000003fffffff00000003fffffff000000040000000\n\n# tcId = 9\n# edge case for shared secret\nprivate = 0a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6\npublic = 304e301006072a8648ce3d020106052b81040021033a00042b8b279b85ee3f3d2c0abeb36fdfc5aad6157d652d26489381a32cd73224bd757ef794acc92b0b3b9e7990618bb343a9a09bdb9d3616eff6\nresult = valid\nshared = 01fffffffc00000007fffffff00000001fffffffc000000080000001\n\n# tcId = 10\n# edge case for shared secret\nprivate = 0a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6\npublic = 304e301006072a8648ce3d020106052b81040021033a00048bd5f03391eeeae1744e8fc53d314efffafa4d3fa4f1b95c3388a9cd7c86358b273119c537133eb55e79c6ac510b10980b379b919ccf2e2f\nresult = valid\nshared = 0a15c112ff784b1445e889f955be7e3ffdf451a2c0e76ab5cb32cf41\n\n# tcId = 11\n# edge case for shared secret\nprivate = 0a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6\npublic = 304e301006072a8648ce3d020106052b81040021033a0004ce9631b6a16227778625c8e5421ae083cdd913abefde01dbe69f6c2b95386aff2b483b2c47151cfaabfd000614c683ce2e1778221ae42c1b\nresult = valid\nshared = 62989eaaa26a16f07330c3c51e0a4631fd016bfcede26552816aee39\n\n# tcId = 12\n# edge case for shared secret\nprivate = 0a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6\npublic = 304e301006072a8648ce3d020106052b81040021033a00041f441c98eda956a6a7fdbfd8d21910860ab59d16c3e52f8e7fad6ca5df61a55fc508fc0499c55492f1e87bb2faa0cb4170b79f3a85ec2f3d\nresult = valid\nshared = 661ac958c0febbc718ccf39cefc6b66c4231fbb9a76f35228a3bf5c3\n\n# tcId = 13\n# edge case for shared secret\nprivate = 0a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6\npublic = 304e301006072a8648ce3d020106052b81040021033a0004be74583cb9d3a05ae54923624e478a329a697d842dfae33141c844d7d9ba4fc96e0fe716ac0542e87368662fc2f0cb9b0ae57936ddec7190\nresult = valid\nshared = 6d7e41821abe1094d430237923d2a50de31768ab51b12dce8a09e34c\n\n# tcId = 14\n# edge case for shared secret\nprivate = 0a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6\npublic = 304e301006072a8648ce3d020106052b81040021033a0004a281ad992b363597ac93ff0de8ab1f7e51a6672dcbb58f9d739ba430ce0192874038daefc3130eec65811c7255da70fea65c1003f6892faa\nresult = valid\nshared = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffff\n\n# tcId = 15\n# edge case for shared secret\nprivate = 0a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6\npublic = 304e301006072a8648ce3d020106052b81040021033a0004be3e22133f51203f631b81dde8c020cdea5daa1f99cfc05c88fad2dc0f243798d6e72d1de9e3cdca4144e0a6c0f2a584d07589006972c197\nresult = valid\nshared = fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0008001\n\n# tcId = 16\n# edge case for shared secret\nprivate = 0a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6\npublic = 304e301006072a8648ce3d020106052b81040021033a0004af14547c20afbd91bfe64ea03d45a76a71241f23520ef897ff91eff1b54ca6ca8c25fd73852ec6654617434eff7f0225684d4dea7a4f8a97\nresult = valid\nshared = ffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff\n\n# tcId = 17\n# edge case for shared secret\nprivate = 0a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6\npublic = 304e301006072a8648ce3d020106052b81040021033a0004b1e484925018729926acda56ff3e2f6c1e7e8f162b178d8e8afb45564fceaa6da5d998fe26b6b26a055169063a5ab6908852ca8b54e2de6c\nresult = valid\nshared = fffff0000007fffffe000000ffffffc000001ffffff8000003ffffff\n\n# tcId = 18\n# edge case for shared secret\nprivate = 0a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6\npublic = 304e301006072a8648ce3d020106052b81040021033a0004937eb09fb145c8829cb7df20a4cbeed396791373de277871d6c5f9cc3b5b4fd56464a71fc4a2a6af3bd251952bffa829489e68a8d06f96b6\nresult = valid\nshared = ffffffff00000000ffffffff00000000ffffffff00000000ffffffff\n\n# tcId = 19\n# edge cases for ephemeral key\nprivate = 2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969\npublic = 304e301006072a8648ce3d020106052b81040021033a0004000000000000000000000000000000000000000000000000000000037cac269c67bd55ea14efff4eadefe5e74978514af14c88fab46ec046\nresult = valid\nshared = 3fa0b9ff70b884f9f57bb84f7a9532d93f6ba803f89dd8ff008177d7\n\n# tcId = 20\n# edge cases for ephemeral key\nprivate = 2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969\npublic = 304e301006072a8648ce3d020106052b81040021033a0004000000000000000000000001000000000000000000000000000000012ea2f4917bdfdb008306cc10a18e2557633ba861001829dcbfb96fba\nresult = valid\nshared = be1ded8cb7ff8a585181f96d681e31b332fe27dcae922dca2310300d\n\n# tcId = 21\n# edge cases for ephemeral key\nprivate = 2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969\npublic = 304e301006072a8648ce3d020106052b81040021033a000400000000000000ffffffffffffff000000000000010000000000000073ca5f8f104997a2399e0c7f25e72a75ec29fc4542533d3fea89a33a\nresult = valid\nshared = a2e86a260e13515918a0cafdd87855f231b5624c560f976159e06a75\n\n# tcId = 22\n# edge cases for ephemeral key\nprivate = 2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969\npublic = 304e301006072a8648ce3d020106052b81040021033a000400000000ffffffffffffffff000000000000000100000000000000006fe6805f59b19b0dd389452a1d4a420bfeb6c369cf6fed5b12e6e654\nresult = valid\nshared = 31ef7c8d10404a0046994f313a70574b027e87f9028eca242c1b5", - "bf5\n\n# tcId = 23\n# edge cases for ephemeral key\nprivate = 2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969\npublic = 304e301006072a8648ce3d020106052b81040021033a00040000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff77c5cfa4e2c384938d48bd8dd98f54c86b279f1df8c0a1f6692439c9\nresult = valid\nshared = d1976a8ef5f54f24f5a269ad504fdca849fc9c28587ba294ef267396\n\n# tcId = 24\n# edge cases for ephemeral key\nprivate = 2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969\npublic = 304e301006072a8648ce3d020106052b81040021033a00040003fffffff00000003fffffff00000003fffffff00000004000000001f0828136016bb97445461bc59f2175d8d23557d6b9381f26136e3d\nresult = valid\nshared = ce7890d108ddb2e5474e6417fcf7a9f2b3bd018816062f4835260dc8\n\n# tcId = 25\n# edge cases for ephemeral key\nprivate = 2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969\npublic = 304e301006072a8648ce3d020106052b81040021033a000401fffffffc00000007fffffff00000001fffffffc0000000800000012d8acca6f199d4a94b933ba1aa713a7debde8ac57b928f596ae66a66\nresult = valid\nshared = 30b6ff6e8051dae51e4fe34b2d9a0b1879153e007eb0b5bdf1791a9c\n\n# tcId = 26\n# edge cases for ephemeral key\nprivate = 2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969\npublic = 304e301006072a8648ce3d020106052b81040021033a00040a15c112ff784b1445e889f955be7e3ffdf451a2c0e76ab5cb32cf413d4df973c563c6decdd435e4f864557e4c273096d9941ca4260a266e\nresult = valid\nshared = 77ec668a00f72d85aa527624abb16c039fe490d17dd6c455a1ed7fd8\n\n# tcId = 27\n# edge cases for ephemeral key\nprivate = 2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969\npublic = 304e301006072a8648ce3d020106052b81040021033a000462989eaaa26a16f07330c3c51e0a4631fd016bfcede26552816aee39389ee9436d616cab90032931aa7fbbfcfc13309f61e2423cc8dab93c\nresult = valid\nshared = a3f432f6aba9a92f49a5ea64ffe7059a9d9b487a0b5223ddc988208b\n\n# tcId = 28\n# edge cases for ephemeral key\nprivate = 2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969\npublic = 304e301006072a8648ce3d020106052b81040021033a0004661ac958c0febbc718ccf39cefc6b66c4231fbb9a76f35228a3bf5c3103b8040e3cb41966fc64a68cacb0c14053f87d27e8ed7bf2d7fe51b\nresult = valid\nshared = 1530fd9caf03737af34a4ba716b558cbecbc35d18402535a0a142313\n\n# tcId = 29\n# edge cases for ephemeral key\nprivate = 2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969\npublic = 304e301006072a8648ce3d020106052b81040021033a00046d7e41821abe1094d430237923d2a50de31768ab51b12dce8a09e34c276cf273d75d367820dd556182def0957af0a314f48fed227c298dc0\nresult = valid\nshared = cfc39ccacb94ad0e0552b2e47112f60fbbe7ae0dc32230b9273dd210\n\n# tcId = 30\n# edge cases for ephemeral key\nprivate = 2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969\npublic = 304e301006072a8648ce3d020106052b81040021033a00047fffffffffffffffffffffffffffffffffffffffffffffffffffffff7d8dbca36c56bcaae92e3475f799294f30768038e816a7d5f7f07d77\nresult = valid\nshared = 73bd63bd384a0faafb75cfed3e95d3892cbacf0db10f282c3b644771\n\n# tcId = 31\n# edge cases for ephemeral key\nprivate = 2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969\npublic = 304e301006072a8648ce3d020106052b81040021033a0004fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc000800174f1ff5ea7fbc72b92f61e06556c26bab84c0b082dd6400ca1c1eb6d\nresult = valid\nshared = 85b079c62e1f5b0fd6841dfa16026e15b641f65e13a14042567166bb\n\n# tcId = 32\n# edge cases for ephemeral key\nprivate = 2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969\npublic = 304e301006072a8648ce3d020106052b81040021033a0004ffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0126fdd5fccd0b5aa7fd5bb5b1308584b30556248cec80208a2fe962\nresult = valid\nshared = 8a834ff40e3fc9f9d412a481e18537ea799536c5520c6c7baaf12166\n\n# tcId = 33\n# edge cases for ephemeral key\nprivate = 2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969\npublic = 304e301006072a8648ce3d020106052b81040021033a0004fffff0000007fffffe000000ffffffc000001ffffff8000003ffffff20cfa23077acc9fbcb71339c65880cd0b966b8a9497e65abed17f0b5\nresult = valid\nshared = a0887269766e6efcbc81d2b38f2d4638663f12377468a23421044188\n\n# tcId = 34\n# edge cases for ephemeral key\nprivate = 2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969\npublic = 304e301006072a8648ce3d020106052b81040021033a0004ffffffff00000000ffffffff00000000ffffffff00000000ffffffff1c05ac2d4f10b69877c3243d51f887277b7bf735c326ab2f0d70da8c\nresult = valid\nshared = c65d1911bc076a74588d8793ce7a0dcabf5793460cd2ebb02754a1be\n\n# tcId = 35\n# edge case private key\nprivate = 3\npublic = 304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504\nresult = valid\nshared = e71f2157bfe37697ea5193d4732dcc6e5412fa9d38387eacd391c1c6\n\n# tcId = 36\n# edge case private key\nprivate = 0ffffffffffffffffffffffffffffffffffffffffffffffff\npublic = 304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504\nresult = valid\nshared = fa2664717c7fa0161ec2c669b2c0986cdc20456a6e5406302bb53c77\n\n# tcId = 37\n# edge case private key\nprivate = 1000000000000000000000000000000000000000000000000000000\npublic = 304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504\nresult = valid\nshared = af6e5ad34497bae0745f53ad78ce8b285d79f400d5c6e6a071f8e6bd\n\n# tcId = 38\n# edge case private key\nprivate = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffff\npublic = 304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504\nresult = valid\nshared = 12fd302ff8c13c55a9c111f8bb6b0a13ecf88299c0ae3032ce2bcaff\n\n# tcId = 39\n# edge case private key\nprivate = 080000000000000000000000000000000000000000000000000000000\npublic = 304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504\nresult = valid\nshared = 73f1a395b842f1a6752ae417e2c3dc90cafc4476d1d861b7e68ad030\n\n# tcId = 40\n# edge case private key\nprivate = 0ffffffffffffffffffffffffffff16a2e0b8f03d13dd29455c5c2a3d\npublic = 304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504\nresult = valid\nshared = b329c20ddb7c78ee4e622bb23a984c0d273ba34b6269f3d9e8f89f8e\n\n# tcId = 41\n# edge case private key\nprivate = 0ffffffffffffffffffffffffffff16a2e0b8f03e13cd29455c5c2a3d\npublic = 304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504\nresult = valid\nshared = 6f48345209b290ffc5abbe754a201479e5d667a209468080d06197b4\n\n# tcId = 42\n# edge case private key\nprivate = 0ffffffffffffffffffffffffffff16a2e0b8f03e13d529455c5c2a3d\npublic = 304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504\nresult = valid\nshared = 9f6e30c1c9dad42a153aacd4b49a8e5c721d085cd07b5d5aec244fc1\n\n# tcId = 43\n# edge case private key\nprivate = 0ffffffffffffffffffffffffffff16a2e0b8f03e13dd29445c5c2a3d\npublic = 304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504\nresult = valid\nshared = 8cadfb19a80949e61bd5b829ad0e76d18a5bb2eeb9ed7fe2b901cecd\n\n# tcId = 44\n# edge case private key\nprivate = 0ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c29b7\npublic = 304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504\nresult = valid\nshared = 475fd96e0eb8cb8f100a5d7fe043a7a6851d1d611da2643a3c6ae708\n# The private key has a special value. Implementations using addition\n# subtraction chains for the point multiplication may get the point at infinity\n# as an intermediate result. See CVE_2017_10176\n\n# tcId = 45\n# edge case private key\nprivate = 0ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a37\npublic = 304e301006072a8648ce3d020106052b8104002", - "1033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504\nresult = valid\nshared = 41ef931d669d1f57d8bb95a01a92321da74be8c6cbc3bbe0b2e73ebd\n# The private key has a special value. Implementations using addition\n# subtraction chains for the point multiplication may get the point at infinity\n# as an intermediate result. See CVE_2017_10176\n\n# tcId = 46\n# edge case private key\nprivate = 0ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3a\npublic = 304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504\nresult = valid\nshared = e71f2157bfe37697ea5193d4732dcc6e5412fa9d38387eacd391c1c6\n\n# tcId = 47\n# edge case private key\nprivate = 0ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3b\npublic = 304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504\nresult = valid\nshared = 11ff15126411299cbd49e2b7542e69e91ef132e2551a16ecfebb23a3\n# The private key has a special value. Implementations using addition\n# subtraction chains for the point multiplication may get the point at infinity\n# as an intermediate result. See CVE_2017_10176\n\n# tcId = 48\n# point is not on curve\nprivate = 0c6cafb74e2a5b5ed4b991cbbfbc28c18f6df208b6d05e7a2e6668014\npublic = 304e301006072a8648ce3d020106052b81040021033a00040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = invalid\nshared = \n\n# tcId = 49\n# point is not on curve\nprivate = 0c6cafb74e2a5b5ed4b991cbbfbc28c18f6df208b6d05e7a2e6668014\npublic = 304e301006072a8648ce3d020106052b81040021033a00040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nresult = invalid\nshared = \n\n# tcId = 50\n# point is not on curve\nprivate = 0c6cafb74e2a5b5ed4b991cbbfbc28c18f6df208b6d05e7a2e6668014\npublic = 304e301006072a8648ce3d020106052b81040021033a000400000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffff000000000000000000000000\nresult = invalid\nshared = \n\n# tcId = 51\n# point is not on curve\nprivate = 0c6cafb74e2a5b5ed4b991cbbfbc28c18f6df208b6d05e7a2e6668014\npublic = 304e301006072a8648ce3d020106052b81040021033a000400000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffff000000000000000000000001\nresult = invalid\nshared = \n\n# tcId = 52\n# point is not on curve\nprivate = 0c6cafb74e2a5b5ed4b991cbbfbc28c18f6df208b6d05e7a2e6668014\npublic = 304e301006072a8648ce3d020106052b81040021033a00040000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000\nresult = invalid\nshared = \n\n# tcId = 53\n# point is not on curve\nprivate = 0c6cafb74e2a5b5ed4b991cbbfbc28c18f6df208b6d05e7a2e6668014\npublic = 304e301006072a8648ce3d020106052b81040021033a00040000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000001\nresult = invalid\nshared = \n\n# tcId = 54\n# point is not on curve\nprivate = 0c6cafb74e2a5b5ed4b991cbbfbc28c18f6df208b6d05e7a2e6668014\npublic = 304e301006072a8648ce3d020106052b81040021033a000400000000000000000000000000000000000000000000000000000001ffffffffffffffffffffffffffffffff000000000000000000000000\nresult = invalid\nshared = \n\n# tcId = 55\n# point is not on curve\nprivate = 0c6cafb74e2a5b5ed4b991cbbfbc28c18f6df208b6d05e7a2e6668014\npublic = 304e301006072a8648ce3d020106052b81040021033a000400000000000000000000000000000000000000000000000000000001ffffffffffffffffffffffffffffffff000000000000000000000001\nresult = invalid\nshared = \n\n# tcId = 56\n# point is not on curve\nprivate = 0c6cafb74e2a5b5ed4b991cbbfbc28c18f6df208b6d05e7a2e6668014\npublic = 304e301006072a8648ce3d020106052b81040021033a0004ffffffffffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = invalid\nshared = \n\n# tcId = 57\n# point is not on curve\nprivate = 0c6cafb74e2a5b5ed4b991cbbfbc28c18f6df208b6d05e7a2e6668014\npublic = 304e301006072a8648ce3d020106052b81040021033a0004ffffffffffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000000000000000000000000001\nresult = invalid\nshared = \n\n# tcId = 58\n# point is not on curve\nprivate = 0c6cafb74e2a5b5ed4b991cbbfbc28c18f6df208b6d05e7a2e6668014\npublic = 304e301006072a8648ce3d020106052b81040021033a0004ffffffffffffffffffffffffffffffff000000000000000000000000ffffffffffffffffffffffffffffffff000000000000000000000000\nresult = invalid\nshared = \n\n# tcId = 59\n# point is not on curve\nprivate = 0c6cafb74e2a5b5ed4b991cbbfbc28c18f6df208b6d05e7a2e6668014\npublic = 304e301006072a8648ce3d020106052b81040021033a0004ffffffffffffffffffffffffffffffff000000000000000000000000ffffffffffffffffffffffffffffffff000000000000000000000001\nresult = invalid\nshared = \n\n# tcId = 60\n# point is not on curve\nprivate = 0c6cafb74e2a5b5ed4b991cbbfbc28c18f6df208b6d05e7a2e6668014\npublic = 304e301006072a8648ce3d020106052b81040021033a0004ffffffffffffffffffffffffffffffff00000000000000000000000100000000000000000000000000000000000000000000000000000000\nresult = invalid\nshared = \n\n# tcId = 61\n# point is not on curve\nprivate = 0c6cafb74e2a5b5ed4b991cbbfbc28c18f6df208b6d05e7a2e6668014\npublic = 304e301006072a8648ce3d020106052b81040021033a0004ffffffffffffffffffffffffffffffff00000000000000000000000100000000000000000000000000000000000000000000000000000001\nresult = invalid\nshared = \n\n# tcId = 62\n# point is not on curve\nprivate = 0c6cafb74e2a5b5ed4b991cbbfbc28c18f6df208b6d05e7a2e6668014\npublic = 304e301006072a8648ce3d020106052b81040021033a0004ffffffffffffffffffffffffffffffff000000000000000000000001ffffffffffffffffffffffffffffffff000000000000000000000000\nresult = invalid\nshared = \n\n# tcId = 63\n# point is not on curve\nprivate = 0c6cafb74e2a5b5ed4b991cbbfbc28c18f6df208b6d05e7a2e6668014\npublic = 304e301006072a8648ce3d020106052b81040021033a0004ffffffffffffffffffffffffffffffff000000000000000000000001ffffffffffffffffffffffffffffffff000000000000000000000001\nresult = invalid\nshared = \n\n# tcId = 64\nprivate = 0c6cafb74e2a5b5ed4b991cbbfbc28c18f6df208b6d05e7a2e6668014\npublic = 3015301006072a8648ce3d020106052b81040021030100\nresult = invalid\nshared = \n\n# tcId = 65\n# public point not on curve\nprivate = 0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2\npublic = 304e301006072a8648ce3d020106052b81040021033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5d\nresult = invalid\nshared = \n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n\n# tcId = 66\n# public point = (0,0)\nprivate = 0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2\npublic = 304e301006072a8648ce3d020106052b81040021033a00040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = invalid\nshared = \n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n\n# tcId = 67\n# order = -26959946667150639794667015087019625940457807714424391721682722368061\nprivate = 0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2\npublic = 308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cfffffffffffffffffffffffffffffffefffffffffffffffffffffffe041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4043904b7", - "0e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34021dff0000000000000000000000000000e95d1f470fc1ec22d6baa3a3d5c3020101033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b\nresult = invalid\nshared = 9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7\n# The order of the public key has been modified. If this order is used in a\n# cryptographic primitive instead of the correct order then private keys may\n# leak. E.g. ECDHC in BC 1.52 suffered from this.\n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 68\n# order = 0\nprivate = 0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2\npublic = 3081f73081b806072a8648ce3d02013081ac020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cfffffffffffffffffffffffffffffffefffffffffffffffffffffffe041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4043904b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34020100020101033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b\nresult = invalid\nshared = 9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7\n# The order of the public key has been modified. If this order is used in a\n# cryptographic primitive instead of the correct order then private keys may\n# leak. E.g. ECDHC in BC 1.52 suffered from this.\n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 69\n# order = 1\nprivate = 0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2\npublic = 3081f73081b806072a8648ce3d02013081ac020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cfffffffffffffffffffffffffffffffefffffffffffffffffffffffe041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4043904b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34020101020101033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b\nresult = acceptable\nshared = 9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7\n# The order of the public key has been modified. If this order is used in a\n# cryptographic primitive instead of the correct order then private keys may\n# leak. E.g. ECDHC in BC 1.52 suffered from this.\n# A parameter that is typically not used for ECDH has been modified. Sometimes\n# libraries ignore small differences between public and private key. For\n# example, a library might ignore an incorrect cofactor in the public key. We\n# consider ignoring such changes as acceptable as long as these differences do\n# not change the outcome of the ECDH computation, i.e. as long as the\n# computation is done on the curve from the private key.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 70\n# order = 6277101735386680763835789423207665314073163949517624387909\nprivate = 0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2\npublic = 3082010f3081d006072a8648ce3d02013081c4020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cfffffffffffffffffffffffffffffffefffffffffffffffffffffffe041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4043904b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34021900ffffffffffffffffffffffffffff16a2e0b8f03e13dd2945020101033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b\nresult = acceptable\nshared = 9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7\n# The order of the public key has been modified. If this order is used in a\n# cryptographic primitive instead of the correct order then private keys may\n# leak. E.g. ECDHC in BC 1.52 suffered from this.\n# A parameter that is typically not used for ECDH has been modified. Sometimes\n# libraries ignore small differences between public and private key. For\n# example, a library might ignore an incorrect cofactor in the public key. We\n# consider ignoring such changes as acceptable as long as these differences do\n# not change the outcome of the ECDH computation, i.e. as long as the\n# computation is done on the curve from the private key.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 71\n# generator = (0,0)\nprivate = 0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2\npublic = 308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cfffffffffffffffffffffffffffffffefffffffffffffffffffffffe041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb40439040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020101033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b\nresult = acceptable\nshared = 9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7\n# A parameter that is typically not used for ECDH has been modified. Sometimes\n# libraries ignore small differences between public and private key. For\n# example, a library might ignore an incorrect cofactor in the public key. We\n# consider ignoring such changes as acceptable as long as these differences do\n# not change the outcome of the ECDH computation, i.e. as long as the\n# computation is done on the curve from the private key.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 72\n# genera", - "tor not on curve\nprivate = 0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2\npublic = 308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cfffffffffffffffffffffffffffffffefffffffffffffffffffffffe041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4043904b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e36021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020101033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b\nresult = acceptable\nshared = 9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7\n# A parameter that is typically not used for ECDH has been modified. Sometimes\n# libraries ignore small differences between public and private key. For\n# example, a library might ignore an incorrect cofactor in the public key. We\n# consider ignoring such changes as acceptable as long as these differences do\n# not change the outcome of the ECDH computation, i.e. as long as the\n# computation is done on the curve from the private key.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 73\n# cofactor = -1\nprivate = 0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2\npublic = 308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cfffffffffffffffffffffffffffffffefffffffffffffffffffffffe041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4043904b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d0201ff033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b\nresult = invalid\nshared = 9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7\n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 74\n# cofactor = 0\nprivate = 0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2\npublic = 308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cfffffffffffffffffffffffffffffffefffffffffffffffffffffffe041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4043904b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020100033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b\nresult = invalid\nshared = 9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7\n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 75\n# cofactor = 2\nprivate = 0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2\npublic = 308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cfffffffffffffffffffffffffffffffefffffffffffffffffffffffe041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4043904b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020102033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b\nresult = acceptable\nshared = 9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7\n# A parameter that is typically not used for ECDH has been modified. Sometimes\n# libraries ignore small differences between public and private key. For\n# example, a library might ignore an incorrect cofactor in the public key. We\n# consider ignoring such changes as acceptable as long as these differences do\n# not change the outcome of the ECDH computation, i.e. as long as the\n# computation is done on the curve from the private key.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 76\n# cofactor =\n# 26959946667150639794667015087019625940457807714424391721682722368061\nprivate = 0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2\npublic = 3082012f3081f006072a8648ce3d02013081e4020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cfffffffffffffffffffffffffffffffefffffffffffffffffffffffe041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4043904b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b\nresult = invalid\nshared = 9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7\n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 77\n# cofactor = None\nprivate = 0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2\npublic = 308201103081d106072a8648ce3d02013081c5020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cfffffffffffffffffffffffffffffffefffffffffffffffffffff", - "ffe041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4043904b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b\nresult = acceptable\nshared = 9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7\n# A parameter that is typically not used for ECDH has been modified. Sometimes\n# libraries ignore small differences between public and private key. For\n# example, a library might ignore an incorrect cofactor in the public key. We\n# consider ignoring such changes as acceptable as long as these differences do\n# not change the outcome of the ECDH computation, i.e. as long as the\n# computation is done on the curve from the private key.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 78\n# modified prime\nprivate = 0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2\npublic = 308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00c123da0a46a971da9468161e61a5c71a02e6c9bdb3392f4016fb457b303c041c3edc25f5b9568e256b97e9e19e5a38e4fd1936424cc6d0bfe904ba83041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4043904000000000000000000285145f31ae4d40000000000000000000003387edad63d1a600740ce66b6f04d67ed06ea1a75c16294336ed05b3fa3021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020101033a0004000000000000000000285145f31ae4d40000000000000000000003387edad63d1a600740ce66b6f04d67ed06ea1a75c16294336ed05b3fa3\nresult = invalid\nshared = 3de0a5036fcde544c72cbe33cedb8709549bc3b6a4d750ee0de4c80d\n# The modulus of the public key has been modified. The public point of the\n# public key has been chosen so that it is both a point on both the curve of the\n# modified public key and the private key.\n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 79\n# using secp256r1\nprivate = 0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004cbf6606595a3ee50f9fceaa2798c2740c82540516b4e5a7d361ff24e9dd15364e5408b2e679f9d5310d1f6893b36ce16b4a507509175fcb52aea53b781556b39\nresult = invalid\nshared = \n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n\n# tcId = 80\n# using secp256k1\nprivate = 0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2\npublic = 3056301006072a8648ce3d020106052b8104000a03420004a1263e75b87ae0937060ff1472f330ee55cdf8f4329d6284a9ebfbcc856c11684225e72cbebff41e54fb6f00e11afe53a17937bedbf2df787f8ef9584f775838\nresult = invalid\nshared = \n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n\n# tcId = 81\n# a = 0\nprivate = 0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2\npublic = 3081f83081b906072a8648ce3d02013081ad020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff0000000000000000000000013021040100041cd0d5e347a38ce5b6e1f47edddd8a223bca45d2015de76ec835a4df57043904a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020101033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b\nresult = acceptable\nshared = 9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7\n# A parameter that is typically not used for ECDH has been modified. Sometimes\n# libraries ignore small differences between public and private key. For\n# example, a library might ignore an incorrect cofactor in the public key. We\n# consider ignoring such changes as acceptable as long as these differences do\n# not change the outcome of the ECDH computation, i.e. as long as the\n# computation is done on the curve from the private key.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 82\n# public key of order 3\nprivate = 0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2\npublic = 308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041ce8f32429d997935dc5e2e6621cc0c130464d38c8cdf26454bb36080d041cdcc54f9c4dfd9b10d8c2cc735751d55b0ab7a7765cf9d49483bf6d8804390481020a9259fe8552f4aa794669b24033bc9283bc57715cc013e8ddc612cd1b9eb05e696610a5e8cae07a522a74eff150eb553adf98c01478021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020101033a000481020a9259fe8552f4aa794669b24033bc9283bc57715cc013e8ddc6ed32e4614fa19699ef5a17351f85add48b100eaf14aac520673feb89\nresult = invalid\nshared = 19845b25666b143d3f0f070781c1c595c66b9e854106a56b7db774cb\n# The vector contains a weak public key. The curve is not a named curve, the\n# public key point has order 3 and has been chosen to be on the same curve as\n# the private key. This test vector is used to check ECC implementations for\n# missing steps in the verification of the public key.\n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 83\n# Public key uses wrong curve: secp256r1\nprivate = 2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004ea36cf70fab75684eabe6569ce623db0deaa8c95f61c8be50b8b9f3eb7d4b9ec48d9e4814f4cb1c286589eaaa990d3f3238b2d6d6be964abfad964824b653376\nresult = invalid\nshared = \n\n# tcId = ", - "84\n# Public key uses wrong curve: secp384r1\nprivate = 2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc\npublic = 3076301006072a8648ce3d020106052b81040022036200044b2470ad3d13269c10a17d222ebdffbd61fb04488db1b1d7caef8d4988b7bb8ba6d81857a05b255232b9e37a30e328bb9d9c42d86096f2bcee3d258cfe208d2fd03cbd5ccc6a3bb8ce4b0efa5b059b4afbd0377aa6e274721a57efe8ee85d86a\nresult = invalid\nshared = \n\n# tcId = 85\n# Public key uses wrong curve: secp521r1\nprivate = 2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc\npublic = 30819b301006072a8648ce3d020106052b810400230381860004012841a2260f0f1f424865fef275374779bf0355720223f8ec6a9ba767b1603b492f58a6bba1705d882257bc6be1935de4411c5f1fdad44ec65ba8b97ce0e73e1ac90006937832a602147e37c1a42ca2a63629ffc9a35b31bfacb38c6242b42916125f7446b45c718f797259bc3011cb71e868560b331cf7d01139a0643443f9fd7306c1\nresult = invalid\nshared = \n\n# tcId = 86\n# Public key uses wrong curve: secp256k1\nprivate = 2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc\npublic = 3056301006072a8648ce3d020106052b8104000a03420004c2199fecf75648c0e952dff143821fa4012b28f90435ce6ee54653687f969a76092a3844e17d478a594f43b28cc10a5c553b4f64906121031c3a79299c70dbd6\nresult = invalid\nshared = \n\n# tcId = 87\n# Public key uses wrong curve: brainpoolP224r1\nprivate = 2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc\npublic = 3052301406072a8648ce3d020106092b2403030208010105033a00046caa3d6d86f792df7b29e41eb4203150f60f4fca10f57d0b2454abfb201f9f7e6dcbb92bdcfb9240dc86bcaeaf157c77bca22b2ec86ee8d6\nresult = invalid\nshared = \n\n# tcId = 88\n# Public key uses wrong curve: brainpoolP256r1\nprivate = 2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc\npublic = 305a301406072a8648ce3d020106092b2403030208010107034200042750180012c3ba7489517d428e4826784e50b50ac42ef7991c61a396c03a52da5e74908ae8a89627a7c15e554b105b0ebaeebcfed10e3ea60223d0a8bc3b36ab\nresult = invalid\nshared = \n\n# tcId = 89\n# Public key uses wrong curve: brainpoolP320r1\nprivate = 2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc\npublic = 306a301406072a8648ce3d020106092b2403030208010109035200045b523d3a8f20f6a569c6951e0b8de48d89e7549a184e8506820421c3e404473692cd248d7480843b911d87a87e401112fce0d3d2c36978cf6dd7f1d93bfaebe0827d4bf4006006d3202e842126fe1b68\nresult = invalid\nshared = \n\n# tcId = 90\n# Public key uses wrong curve: brainpoolP384r1\nprivate = 2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc\npublic = 307a301406072a8648ce3d020106092b240303020801010b03620004449607c76c6dc7334c269a0ebab5beec83b6c263377ce06ef5c276f45a9916eff85f50438f5f32ced0210a6c414fe5e242c7c1070823f5395b35965bda6758acf84725f11ea836dda7d391fee91342026645241853224a437a6fb74e4cdc871f\nresult = invalid\nshared = \n\n# tcId = 91\n# Public key uses wrong curve: brainpoolP512r1\nprivate = 2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc\npublic = 30819b301406072a8648ce3d020106092b240303020801010d038182000463e7a491240848e4f53ea5fb857d428c493053193e4b0b4f995ac8bf4c56276a507870131a384aa7e236c64cd7a049a1b37e40ad00c3b8a920dcbad6531616356ce1b6e6d96a7d1b693e25e5abd83ab560a3d764bcd49ec98a1b49421163bd5fc5a625f44c91eb4c2984d5a2e51e816ebdee8fbe08364bb14b7ac876990e64d9\nresult = invalid\nshared = \n\n# tcId = 92\n# Public key uses wrong curve: brainpoolP224t1\nprivate = 2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc\npublic = 3052301406072a8648ce3d020106092b2403030208010106033a00047c592ecb8908355d1ebf8d59b3619275dbe3666209b72ced6a3c88740456ce61d6a84e0542d7cd10dd8804afb8c784d5dffd9480d8cfdc95\nresult = invalid\nshared = \n\n# tcId = 93\n# Public key uses wrong curve: brainpoolP256t1\nprivate = 2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc\npublic = 305a301406072a8648ce3d020106092b240303020801010803420004746226a3e005c37ede51828d3375ef91ebd0ff719a380af69d7dfd131b42a3e8917d4a4d573872935a74d1040f1c47d25d6b26f4156cccdcdc11833b9cde433a\nresult = invalid\nshared = \n\n# tcId = 94\n# Public key uses wrong curve: brainpoolP320t1\nprivate = 2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc\npublic = 306a301406072a8648ce3d020106092b240303020801010a035200043298b36825c7bd90ab5157b913d40bbfd732a0de0557e02a2c65a0c223e9a65d62c32462040dd6fe578103023c831caff122c1ed4b8ff7373fa2f08d11c9f4c7f85f81802262ffed9bb82cb6d92eed2d\nresult = invalid\nshared = \n\n# tcId = 95\n# Public key uses wrong curve: brainpoolP384t1\nprivate = 2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc\npublic = 307a301406072a8648ce3d020106092b240303020801010c036200043af2849b981f7e5e6ab936e6abb4f206c1fd5561998df8008bfe98d84173c9f2301cdbd5bffc569c0b5a57ce2a8f4d640f1816475fc6043baa8e5a3453bf327b54cb29c7e54a5f31348969aa94615094dbcd1a8e5c2d630465e45fc556c02194\nresult = invalid\nshared = \n\n# tcId = 96\n# Public key uses wrong curve: brainpoolP512t1\nprivate = 2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc\npublic = 30819b301406072a8648ce3d020106092b240303020801010e038182000453d2506047e72af6d98558e1633ecb7e6a05c37861cd3289455cf41bfbf1703f2e9a83052b8eca7d84cba2f001abd8b978f68b69ed6bd874755c44d347fe302c5760b2078c56b24ebd0dcd99f26b8f8a23044b3767a3d2a306587687a7b00668974674edbf18c3db2f3473a97ee77065fdcdd1a9aa053716a4c504f3d18b9170\nresult = invalid\nshared = \n\n# tcId = 97\n# invalid public key\nprivate = 0fc28a0ca0f8e36b0d4f71421845135a22aef543b9fddf8c775b2d18f\npublic = 3032301006072a8648ce3d020106052b81040021031e00020ca753db5ddeca474241f8d2dafc0844343fd0e37eded2f0192d51b2\nresult = invalid\nshared = \n# The point in the public key is compressed. Not every library supports points\n# in compressed format.\n\n# tcId = 98\n# long form encoding of length\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30814e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 99\n# long form encoding of length\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304f30811006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 100\n# long form encoding of length\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304f30110681072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 101\n# long form encoding of length\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304f301106072a8648ce3d02010681052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 102\n# long form encoding of length\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304f301006072a8648ce3d020106052b8104002103813a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key ", - "in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 103\n# length contains leading 0\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3082004e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 104\n# length contains leading 0\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30503082001006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 105\n# length contains leading 0\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30503012068200072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 106\n# length contains leading 0\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3050301206072a8648ce3d0201068200052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 107\n# length contains leading 0\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3050301006072a8648ce3d020106052b810400210382003a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 108\n# wrong length\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304f301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 109\n# wrong length\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304d301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 110\n# wrong length\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301106072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 111\n# wrong length\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e300f06072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 112\n# wrong length\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006082a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 113\n# wrong length\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006062a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 114\n# wrong length\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020106062b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 115\n# wrong length\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020106042b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 116\n# wrong length\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020106052b81040021033b000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checki", - "ng the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 117\n# wrong length\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020106052b810400210339000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 118\n# uint32 overflow in length\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3085010000004e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 119\n# uint32 overflow in length\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30533085010000001006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 120\n# uint32 overflow in length\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30533015068501000000072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 121\n# uint32 overflow in length\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3053301506072a8648ce3d0201068501000000052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 122\n# uint32 overflow in length\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3053301006072a8648ce3d020106052b810400210385010000003a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 123\n# uint64 overflow in length\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 308901000000000000004e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 124\n# uint64 overflow in length\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3057308901000000000000001006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 125\n# uint64 overflow in length\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3057301906890100000000000000072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 126\n# uint64 overflow in length\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3057301906072a8648ce3d020106890100000000000000052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 127\n# uint64 overflow in length\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3057301006072a8648ce3d020106052b81040021038901000000000000003a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 128\n# length = 2**31 - 1\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30847fffffff301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 129\n# length = 2**31 - 1\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 305230847fffffff06072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 130\n# length = 2**31 - 1\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3052301406847fffffff2a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d79422", - "8029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 131\n# length = 2**31 - 1\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3052301406072a8648ce3d020106847fffffff2b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 132\n# length = 2**31 - 1\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3052301006072a8648ce3d020106052b8104002103847fffffff000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 133\n# length = 2**32 - 1\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3084ffffffff301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 134\n# length = 2**32 - 1\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30523084ffffffff06072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 135\n# length = 2**32 - 1\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 305230140684ffffffff2a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 136\n# length = 2**32 - 1\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3052301406072a8648ce3d02010684ffffffff2b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 137\n# length = 2**32 - 1\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3052301006072a8648ce3d020106052b810400210384ffffffff000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 138\n# length = 2**40 - 1\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3085ffffffffff301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 139\n# length = 2**40 - 1\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30533085ffffffffff06072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 140\n# length = 2**40 - 1\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 305330150685ffffffffff2a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 141\n# length = 2**40 - 1\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3053301506072a8648ce3d02010685ffffffffff2b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 142\n# length = 2**40 - 1\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3053301006072a8648ce3d020106052b810400210385ffffffffff000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 143\n# length = 2**64 - 1\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3088ffffffffffffffff301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 144\n# length = 2**64 - 1\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30563088ffffffffffffffff06072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc", - "4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 145\n# length = 2**64 - 1\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 305630180688ffffffffffffffff2a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 146\n# length = 2**64 - 1\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3056301806072a8648ce3d02010688ffffffffffffffff2b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 147\n# length = 2**64 - 1\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3056301006072a8648ce3d020106052b810400210388ffffffffffffffff000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 148\n# incorrect length\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30ff301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 149\n# incorrect length\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e30ff06072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 150\n# incorrect length\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006ff2a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 151\n# incorrect length\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020106ff2b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 152\n# incorrect length\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020106052b8104002103ff000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 153\n# indefinite length without termination\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3080301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 154\n# indefinite length without termination\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e308006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 155\n# indefinite length without termination\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006802a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 156\n# indefinite length without termination\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020106802b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 157\n# indefinite length without termination\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020106052b810400210380000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 158\n# removing sequence\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = \nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where t", - "he\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 159\n# removing sequence\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 303c033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 160\n# lonely sequence tag\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 161\n# lonely sequence tag\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 303d30033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 162\n# appending 0's to sequence\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3050301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da620000\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 163\n# appending 0's to sequence\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3050301206072a8648ce3d020106052b810400210000033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 164\n# prepending 0's to sequence\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30500000301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 165\n# prepending 0's to sequence\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30503012000006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 166\n# appending unused 0's to sequence\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da620000\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 167\n# appending unused 0's to sequence\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3050301006072a8648ce3d020106052b810400210000033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 168\n# appending null value to sequence\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3050301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da620500\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 169\n# appending null value to sequence\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3050301206072a8648ce3d020106052b810400210500033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 170\n# including garbage\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3053498177304e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 171\n# including garbage\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30522500304e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 172\n# including garbage\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3050304e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da620004deadbeef\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 173\n# including garbage\npri", - "vate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30533015498177301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 174\n# including garbage\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 305230142500301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 175\n# including garbage\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30563012301006072a8648ce3d020106052b810400210004deadbeef033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 176\n# including garbage\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30533015260c49817706072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 177\n# including garbage\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30523014260b250006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 178\n# including garbage\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30563018260906072a8648ce3d02010004deadbeef06052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 179\n# including garbage\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3053301506072a8648ce3d0201260a49817706052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 180\n# including garbage\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3052301406072a8648ce3d02012609250006052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 181\n# including garbage\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3056301806072a8648ce3d0201260706052b810400210004deadbeef033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 182\n# including garbage\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3053301006072a8648ce3d020106052b81040021233f498177033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 183\n# including garbage\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3052301006072a8648ce3d020106052b81040021233e2500033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 184\n# including garbage\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3056301006072a8648ce3d020106052b81040021233c033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da620004deadbeef\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 185\n# including undefined tags\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3056aa00bb00cd00304e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 186\n# including undefined tags\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3054aa02aabb304e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns", - " the correct shared value.\n\n# tcId = 187\n# including undefined tags\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30563018aa00bb00cd00301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 188\n# including undefined tags\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30543016aa02aabb301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 189\n# including undefined tags\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30563018260faa00bb00cd0006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 190\n# including undefined tags\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30543016260daa02aabb06072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 191\n# including undefined tags\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3056301806072a8648ce3d0201260daa00bb00cd0006052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 192\n# including undefined tags\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3054301606072a8648ce3d0201260baa02aabb06052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 193\n# including undefined tags\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3056301006072a8648ce3d020106052b810400212342aa00bb00cd00033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 194\n# including undefined tags\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3054301006072a8648ce3d020106052b810400212340aa02aabb033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 195\n# truncated length of sequence\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3081\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 196\n# truncated length of sequence\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 303e3081033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 197\n# Replacing sequence with NULL\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 0500\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 198\n# Replacing sequence with NULL\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 303e0500033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 199\n# changing tag value of sequence\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 2e4e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 200\n# changing tag value of sequence\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 2f4e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 201\n# changing tag value of sequence\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 314e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b620", - "01fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 202\n# changing tag value of sequence\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 324e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 203\n# changing tag value of sequence\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = ff4e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 204\n# changing tag value of sequence\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e2e1006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 205\n# changing tag value of sequence\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e2f1006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 206\n# changing tag value of sequence\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e311006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 207\n# changing tag value of sequence\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e321006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 208\n# changing tag value of sequence\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304eff1006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 209\n# dropping value of sequence\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3000\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 210\n# dropping value of sequence\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 303e3000033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 211\n# truncate sequence\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304d301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 212\n# truncate sequence\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304d1006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 213\n# truncate sequence\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304d300f06072a8648ce3d020106052b810400033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 214\n# truncate sequence\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304d300f072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 215\n# indefinite length\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3080301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da620000\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN e", - "ncoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 216\n# indefinite length\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3050308006072a8648ce3d020106052b810400210000033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 217\n# indefinite length with truncated delimiter\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3080301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da6200\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 218\n# indefinite length with truncated delimiter\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304f308006072a8648ce3d020106052b8104002100033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 219\n# indefinite length with additional element\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3080301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da6205000000\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 220\n# indefinite length with additional element\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3052308006072a8648ce3d020106052b8104002105000000033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 221\n# indefinite length with truncated element\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3080301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62060811220000\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 222\n# indefinite length with truncated element\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3054308006072a8648ce3d020106052b81040021060811220000033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 223\n# indefinite length with garbage\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3080301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da620000fe02beef\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 224\n# indefinite length with garbage\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3054308006072a8648ce3d020106052b810400210000fe02beef033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 225\n# indefinite length with nonempty EOC\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3080301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da620002beef\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 226\n# indefinite length with nonempty EOC\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3052308006072a8648ce3d020106052b810400210002beef033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 227\n# prepend empty sequence\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30503000301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 228\n# prepend empty sequence\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30503012300006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 229\n# append empty sequence\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3050301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be72", - "6b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da623000\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 230\n# append empty sequence\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3050301206072a8648ce3d020106052b810400213000033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 231\n# sequence of sequence\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3050304e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 232\n# sequence of sequence\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30503012301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 233\n# truncated sequence\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3012301006072a8648ce3d020106052b81040021\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 234\n# truncated sequence\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3047300906072a8648ce3d0201033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 235\n# repeat element in sequence\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30818a301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 236\n# repeat element in sequence\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3055301706072a8648ce3d020106052b8104002106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 237\n# removing oid\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3045300706052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 238\n# lonely oid tag\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304630080606052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 239\n# lonely oid tag\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3048300a06072a8648ce3d020106033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 240\n# appending 0's to oid\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3050301206092a8648ce3d0201000006052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 241\n# appending 0's to oid\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3050301206072a8648ce3d020106072b810400210000033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 242\n# prepending 0's to oid\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30503012060900002a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 243\n# prepending 0's to oid\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3050301206072a8648ce3d0201060700002b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared =", - " 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 244\n# appending unused 0's to oid\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3050301206072a8648ce3d0201000006052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 245\n# appending null value to oid\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3050301206092a8648ce3d0201050006052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 246\n# appending null value to oid\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3050301206072a8648ce3d020106072b810400210500033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 247\n# truncated length of oid\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30473009068106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 248\n# truncated length of oid\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3049300b06072a8648ce3d02010681033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 249\n# Replacing oid with NULL\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30473009050006052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 250\n# Replacing oid with NULL\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3049300b06072a8648ce3d02010500033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 251\n# changing tag value of oid\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301004072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 252\n# changing tag value of oid\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301005072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 253\n# changing tag value of oid\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301007072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 254\n# changing tag value of oid\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301008072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 255\n# changing tag value of oid\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e3010ff072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 256\n# changing tag value of oid\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020104052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 257\n# changing tag value of oid\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020105052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176", - "d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 258\n# changing tag value of oid\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020107052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 259\n# changing tag value of oid\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020108052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 260\n# changing tag value of oid\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d0201ff052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 261\n# dropping value of oid\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30473009060006052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 262\n# dropping value of oid\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3049300b06072a8648ce3d02010600033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 263\n# modify first byte of oid\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e30100607288648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 264\n# modify first byte of oid\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020106052981040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 265\n# modify last byte of oid\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d028106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 266\n# modify last byte of oid\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020106052b810400a1033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 267\n# truncate oid\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304d300f06062a8648ce3d0206052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 268\n# truncate oid\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304d300f06068648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 269\n# truncate oid\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304d300f06072a8648ce3d020106042b810400033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 270\n# truncate oid\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304d300f06072a8648ce3d0201060481040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 271\n# wrong oid\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30513013060a3262306530333032316106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parse", - "r is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 272\n# wrong oid\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3059301b061236303836343830313635303330343032303106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 273\n# wrong oid\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3053301506072a8648ce3d0201060a32623065303330323161033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 274\n# wrong oid\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 305b301d06072a8648ce3d02010612363038363438303136353033303430323031033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 275\n# longer oid\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3057301906103261383634386365336430323031303106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 276\n# longer oid\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3055301706072a8648ce3d0201060c326238313034303032313031033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 277\n# oid with modified node\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30553017060e326138363438636533643032313106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 278\n# oid with modified node\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 305d301f06163261383634386365336430323838383038303830303106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 279\n# oid with modified node\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3053301506072a8648ce3d0201060a32623831303430303331033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 280\n# oid with modified node\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 305b301d06072a8648ce3d02010612326238313034303038383830383038303231033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 281\n# large integer in oid\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 306730290620326138363438636533643032383238303830383038303830383038303830303106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 282\n# large integer in oid\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3065302706072a8648ce3d0201061c32623831303430303832383038303830383038303830383038303231033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 283\n# oid with invalid node\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3058301a0611326138363438636533643032303165303306052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 284\n# oid with invalid node\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304f301106082a808648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 285\n# oid with invalid node\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3056301806072a8648ce3d0201060d32623831303430303231653033033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c", - "1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 286\n# oid with invalid node\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304f301106072a8648ce3d020106062b8081040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 287\n# lonely bit string tag\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3013301006072a8648ce3d020106052b8104002103\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 288\n# appending 0's to bit string\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3050301006072a8648ce3d020106052b81040021033c000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da620000\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 289\n# prepending 0's to bit string\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3050301006072a8648ce3d020106052b81040021033c0000000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 290\n# appending null value to bit string\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3050301006072a8648ce3d020106052b81040021033c000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da620500\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 291\n# truncated length of bit string\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3014301006072a8648ce3d020106052b810400210381\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 292\n# Replacing bit string with NULL\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3014301006072a8648ce3d020106052b810400210500\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 293\n# changing tag value of bit string\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020106052b81040021013a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 294\n# changing tag value of bit string\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020106052b81040021023a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 295\n# changing tag value of bit string\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020106052b81040021043a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 296\n# changing tag value of bit string\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020106052b81040021053a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 297\n# changing tag value of bit string\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020106052b81040021ff3a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 298\n# dropping value of bit string\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3014301006072a8648ce3d020106052b810400210300\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 299\n# modify first byte of bit string\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020106052b81040021033a020486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 300\n# modify last byte of bit string\nprivate = 0a1b9444f59642d428e2", - "f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3dae2\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 301\n# truncate bit string\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304d301006072a8648ce3d020106052b810400210339000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 302\n# truncate bit string\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304d301006072a8648ce3d020106052b8104002103390486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 303\n# declaring bits as unused in a bit-string\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020106052b81040021033a010486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 304\n# unused bits in a bit-string\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3052301006072a8648ce3d020106052b81040021033e200486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da6201020304\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 305\n# unused bits in empty bit-string\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3015301006072a8648ce3d020106052b81040021030103\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 306\n# 128 unused bits\nprivate = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020106052b81040021033a800486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n", +static const char *kData95[] = { + "# Imported from Wycheproof's ecdh_secp224r1_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: ECDH\n# Generator version: 0.8r12\n\n[curve = secp224r1]\n[encoding = asn]\n\n# tcId = 1\n# normal case\nprivate = 565577a49415ca761a0322ad54e4ad0ae7625174baf372c2816f5328\npublic = 304e301006072a8648ce3d020106052b81040021033a00047d8ac211e1228eb094e285a957d9912e93deee433ed777440ae9fc719b01d050dfbe653e72f39491be87fb1a2742daa6e0a2aada98bb1aca\nresult = valid\nshared = b8ecdb552d39228ee332bafe4886dbff272f7109edf933bc7542bd4f\n\n# tcId = 2\n# compressed public key\nprivate = 565577a49415ca761a0322ad54e4ad0ae7625174baf372c2816f5328\npublic = 3032301006072a8648ce3d020106052b81040021031e00027d8ac211e1228eb094e285a957d9912e93deee433ed777440ae9fc71\nresult = acceptable\nshared = b8ecdb552d39228ee332bafe4886dbff272f7109edf933bc7542bd4f\nflags = CompressedPoint\n\n# tcId = 3\n# edge case for shared secret\nprivate = 00a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6\npublic = 304e301006072a8648ce3d020106052b81040021033a0004e73a6ca72f3a2fae6e0a01a0ed03bfa3058b04576942eaf063095e62ca16fd31fa0f38eeb592cbeea1147751fdd2a5b6cc0ead404467a5b6\nresult = valid\nshared = 00000000000000000000000000000000000000000000000000000003\n\n# tcId = 4\n# edge case for shared secret\nprivate = 00a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6\npublic = 304e301006072a8648ce3d020106052b81040021033a00045763fa2ae16367ad23d471cc9a52466f0d81d864e5640cefe384114594d9fecfbed4f254505ac8b41d2532055a07f0241c4818b552cbb636\nresult = valid\nshared = 00000000000000000000000100000000000000000000000000000001\n\n# tcId = 5\n# edge case for shared secret\nprivate = 00a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6\npublic = 304e301006072a8648ce3d020106052b81040021033a0004142c1fd80fa2121a59aa898144084ec033f7a56a34eee0b499e29ae51c6d8c1bbb1ef2a76d565899fe44ffc1207d530d7f598fb77f4bb76b\nresult = valid\nshared = 00000000000000ffffffffffffff0000000000000100000000000000\n\n# tcId = 6\n# edge case for shared secret\nprivate = 00a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6\npublic = 304e301006072a8648ce3d020106052b81040021033a0004ed6f793e10c80d12d871cf8988399c4898a9bf9ffd8f27399f63de25f0051cdf4eec7f368f922cfcd948893ceca0c92e540cc4367a99a66a\nresult = valid\nshared = 00000000ffffffffffffffff00000000000000010000000000000000\n\n# tcId = 7\n# edge case for shared secret\nprivate = 00a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6\npublic = 304e301006072a8648ce3d020106052b81040021033a000408fcfc1a63c82860be12e4137433dfc40be9acdd245f9a8c4e56be61a385fc09f808383383f4b1d0d5365b6e5dcfacdc19bc7bcfed221274\nresult = valid\nshared = 0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff\n\n# tcId = 8\n# edge case for shared secret\nprivate = 00a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6\npublic = 304e301006072a8648ce3d020106052b81040021033a0004d883ed77f1861e8712800d31df67888fe39f150c79a27aa88caeda6b180f3f623e2ff3ab5370cf8179165b085af3dd4502850c0104caed9a\nresult = valid\nshared = 0003fffffff00000003fffffff00000003fffffff000000040000000\n\n# tcId = 9\n# edge case for shared secret\nprivate = 00a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6\npublic = 304e301006072a8648ce3d020106052b81040021033a00042b8b279b85ee3f3d2c0abeb36fdfc5aad6157d652d26489381a32cd73224bd757ef794acc92b0b3b9e7990618bb343a9a09bdb9d3616eff6\nresult = valid\nshared = 01fffffffc00000007fffffff00000001fffffffc000000080000001\n\n# tcId = 10\n# edge case for shared secret\nprivate = 00a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6\npublic = 304e301006072a8648ce3d020106052b81040021033a00048bd5f03391eeeae1744e8fc53d314efffafa4d3fa4f1b95c3388a9cd7c86358b273119c537133eb55e79c6ac510b10980b379b919ccf2e2f\nresult = valid\nshared = 0a15c112ff784b1445e889f955be7e3ffdf451a2c0e76ab5cb32cf41\n\n# tcId = 11\n# edge case for shared secret\nprivate = 00a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6\npublic = 304e301006072a8648ce3d020106052b81040021033a0004ce9631b6a16227778625c8e5421ae083cdd913abefde01dbe69f6c2b95386aff2b483b2c47151cfaabfd000614c683ce2e1778221ae42c1b\nresult = valid\nshared = 62989eaaa26a16f07330c3c51e0a4631fd016bfcede26552816aee39\n\n# tcId = 12\n# edge case for shared secret\nprivate = 00a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6\npublic = 304e301006072a8648ce3d020106052b81040021033a00041f441c98eda956a6a7fdbfd8d21910860ab59d16c3e52f8e7fad6ca5df61a55fc508fc0499c55492f1e87bb2faa0cb4170b79f3a85ec2f3d\nresult = valid\nshared = 661ac958c0febbc718ccf39cefc6b66c4231fbb9a76f35228a3bf5c3\n\n# tcId = 13\n# edge case for shared secret\nprivate = 00a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6\npublic = 304e301006072a8648ce3d020106052b81040021033a0004be74583cb9d3a05ae54923624e478a329a697d842dfae33141c844d7d9ba4fc96e0fe716ac0542e87368662fc2f0cb9b0ae57936ddec7190\nresult = valid\nshared = 6d7e41821abe1094d430237923d2a50de31768ab51b12dce8a09e34c\n\n# tcId = 14\n# edge case for shared secret\nprivate = 00a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6\npublic = 304e301006072a8648ce3d020106052b81040021033a0004a281ad992b363597ac93ff0de8ab1f7e51a6672dcbb58f9d739ba430ce0192874038daefc3130eec65811c7255da70fea65c1003f6892faa\nresult = valid\nshared = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffff\n\n# tcId = 15\n# edge case for shared secret\nprivate = 00a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6\npublic = 304e301006072a8648ce3d020106052b81040021033a0004be3e22133f51203f631b81dde8c020cdea5daa1f99cfc05c88fad2dc0f243798d6e72d1de9e3cdca4144e0a6c0f2a584d07589006972c197\nresult = valid\nshared = fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0008001\n\n# tcId = 16\n# edge case for shared secret\nprivate = 00a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6\npublic = 304e301006072a8648ce3d020106052b81040021033a0004af14547c20afbd91bfe64ea03d45a76a71241f23520ef897ff91eff1b54ca6ca8c25fd73852ec6654617434eff7f0225684d4dea7a4f8a97\nresult = valid\nshared = ffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff\n\n# tcId = 17\n# edge case for shared secret\nprivate = 00a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6\npublic = 304e301006072a8648ce3d020106052b81040021033a0004b1e484925018729926acda56ff3e2f6c1e7e8f162b178d8e8afb45564fceaa6da5d998fe26b6b26a055169063a5ab6908852ca8b54e2de6c\nresult = valid\nshared = fffff0000007fffffe000000ffffffc000001ffffff8000003ffffff\n\n# tcId = 18\n# edge case for shared secret\nprivate = 00a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6\npublic = 304e301006072a8648ce3d020106052b81040021033a0004937eb09fb145c8829cb7df20a4cbeed396791373de277871d6c5f9cc3b5b4fd56464a71fc4a2a6af3bd251952bffa829489e68a8d06f96b6\nresult = valid\nshared = ffffffff00000000ffffffff00000000ffffffff00000000ffffffff\n\n# tcId = 19\n# edge cases for ephemeral key\nprivate = 2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969\npublic = 304e301006072a8648ce3d020106052b81040021033a0004000000000000000000000000000000000000000000000000000000037cac269c67bd55ea14efff4eadefe5e74978514af14c88fab46ec046\nresult = valid\nshared = 3fa0b9ff70b884f9f57bb84f7a9532d93f6ba803f89dd8ff008177d7\n\n# tcId = 20\n# edge cases for ephemeral key\nprivate = 2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969\npublic = 304e301006072a8648ce3d020106052b81040021033a0004000000000000000000000001000000000000000000000000000000012ea2f4917bdfdb008306cc10a18e2557633ba861001829dcbfb96fba\nresult = valid\nshared = be1ded8cb7ff8a585181f96d681e31b332fe27dcae922dca2310300d\n\n# tcId = 21\n# edge cases for ephemeral key\nprivate = 2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969\npublic = 304e301006072a8648ce3d020106052b81040021033a000400000000000000ffffffffffffff000000000000010000000000000073ca5f8f104997a2399e0c7f25e72a75ec29fc4542533d3fea89a33a\nresult = valid\nshared = a2e86a260e13515918a0cafdd87855f231b5624c560f976159e06a75\n\n# tcId = 22\n# edge cases for ephemeral key\nprivate = 2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969\npublic = 304e301006072a8648ce3d020106052b81040021033a000400000000ffffffffffffffff000000000000000100000000000000006fe6805f59b19b0dd389452a1d4a420bfeb6c369cf6fed5b12e6e654\nresult = valid\nshared = 31ef7c8d10404a0046994f313a70574b027e87f9028eca242c1b5bf5\n\n# tcId = 23\n# edge cases for ephemeral key\nprivate = 2bc15", + "cf3981f4e15bbad387b506df647989e5478160be862f8c26969\npublic = 304e301006072a8648ce3d020106052b81040021033a00040000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff77c5cfa4e2c384938d48bd8dd98f54c86b279f1df8c0a1f6692439c9\nresult = valid\nshared = d1976a8ef5f54f24f5a269ad504fdca849fc9c28587ba294ef267396\n\n# tcId = 24\n# edge cases for ephemeral key\nprivate = 2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969\npublic = 304e301006072a8648ce3d020106052b81040021033a00040003fffffff00000003fffffff00000003fffffff00000004000000001f0828136016bb97445461bc59f2175d8d23557d6b9381f26136e3d\nresult = valid\nshared = ce7890d108ddb2e5474e6417fcf7a9f2b3bd018816062f4835260dc8\n\n# tcId = 25\n# edge cases for ephemeral key\nprivate = 2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969\npublic = 304e301006072a8648ce3d020106052b81040021033a000401fffffffc00000007fffffff00000001fffffffc0000000800000012d8acca6f199d4a94b933ba1aa713a7debde8ac57b928f596ae66a66\nresult = valid\nshared = 30b6ff6e8051dae51e4fe34b2d9a0b1879153e007eb0b5bdf1791a9c\n\n# tcId = 26\n# edge cases for ephemeral key\nprivate = 2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969\npublic = 304e301006072a8648ce3d020106052b81040021033a00040a15c112ff784b1445e889f955be7e3ffdf451a2c0e76ab5cb32cf413d4df973c563c6decdd435e4f864557e4c273096d9941ca4260a266e\nresult = valid\nshared = 77ec668a00f72d85aa527624abb16c039fe490d17dd6c455a1ed7fd8\n\n# tcId = 27\n# edge cases for ephemeral key\nprivate = 2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969\npublic = 304e301006072a8648ce3d020106052b81040021033a000462989eaaa26a16f07330c3c51e0a4631fd016bfcede26552816aee39389ee9436d616cab90032931aa7fbbfcfc13309f61e2423cc8dab93c\nresult = valid\nshared = a3f432f6aba9a92f49a5ea64ffe7059a9d9b487a0b5223ddc988208b\n\n# tcId = 28\n# edge cases for ephemeral key\nprivate = 2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969\npublic = 304e301006072a8648ce3d020106052b81040021033a0004661ac958c0febbc718ccf39cefc6b66c4231fbb9a76f35228a3bf5c3103b8040e3cb41966fc64a68cacb0c14053f87d27e8ed7bf2d7fe51b\nresult = valid\nshared = 1530fd9caf03737af34a4ba716b558cbecbc35d18402535a0a142313\n\n# tcId = 29\n# edge cases for ephemeral key\nprivate = 2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969\npublic = 304e301006072a8648ce3d020106052b81040021033a00046d7e41821abe1094d430237923d2a50de31768ab51b12dce8a09e34c276cf273d75d367820dd556182def0957af0a314f48fed227c298dc0\nresult = valid\nshared = cfc39ccacb94ad0e0552b2e47112f60fbbe7ae0dc32230b9273dd210\n\n# tcId = 30\n# edge cases for ephemeral key\nprivate = 2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969\npublic = 304e301006072a8648ce3d020106052b81040021033a00047fffffffffffffffffffffffffffffffffffffffffffffffffffffff7d8dbca36c56bcaae92e3475f799294f30768038e816a7d5f7f07d77\nresult = valid\nshared = 73bd63bd384a0faafb75cfed3e95d3892cbacf0db10f282c3b644771\n\n# tcId = 31\n# edge cases for ephemeral key\nprivate = 2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969\npublic = 304e301006072a8648ce3d020106052b81040021033a0004fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc000800174f1ff5ea7fbc72b92f61e06556c26bab84c0b082dd6400ca1c1eb6d\nresult = valid\nshared = 85b079c62e1f5b0fd6841dfa16026e15b641f65e13a14042567166bb\n\n# tcId = 32\n# edge cases for ephemeral key\nprivate = 2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969\npublic = 304e301006072a8648ce3d020106052b81040021033a0004ffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0126fdd5fccd0b5aa7fd5bb5b1308584b30556248cec80208a2fe962\nresult = valid\nshared = 8a834ff40e3fc9f9d412a481e18537ea799536c5520c6c7baaf12166\n\n# tcId = 33\n# edge cases for ephemeral key\nprivate = 2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969\npublic = 304e301006072a8648ce3d020106052b81040021033a0004fffff0000007fffffe000000ffffffc000001ffffff8000003ffffff20cfa23077acc9fbcb71339c65880cd0b966b8a9497e65abed17f0b5\nresult = valid\nshared = a0887269766e6efcbc81d2b38f2d4638663f12377468a23421044188\n\n# tcId = 34\n# edge cases for ephemeral key\nprivate = 2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969\npublic = 304e301006072a8648ce3d020106052b81040021033a0004ffffffff00000000ffffffff00000000ffffffff00000000ffffffff1c05ac2d4f10b69877c3243d51f887277b7bf735c326ab2f0d70da8c\nresult = valid\nshared = c65d1911bc076a74588d8793ce7a0dcabf5793460cd2ebb02754a1be\n\n# tcId = 35\n# point with coordinate y = 1\nprivate = 00938f3dbe37135cdbdb9993a187a0e9b9f0def035fbc52ad59fc50421\npublic = 304e301006072a8648ce3d020106052b81040021033a00043b5889352ddf7468bf8c0729212aa1b2a3fcb1a844b8be91abb753d500000000000000000000000000000000000000000000000000000001\nresult = valid\nshared = e973c413cc7dd34d4e3637522b2e033c20815412b67574a1f2f6bdd7\n\n# tcId = 36\n# point with coordinate y = 1\nprivate = 00938f3dbe37135cdbdb9993a187a0e9b9f0def035fbc52ad59fc50421\npublic = 304e301006072a8648ce3d020106052b81040021033a0004bf09e268942555c73ce9e00d272c9b12bf0c3fc13a639acc791167f6b05df0023c9bd41d0b0c461854582d0601182213f2219d44ea44914a\nresult = valid\nshared = ec856e807808a9c5332e886759e03f01be02437cfe0214613e4e7dc7\n\n# tcId = 37\n# point with coordinate y = 1\nprivate = 00938f3dbe37135cdbdb9993a187a0e9b9f0def035fbc52ad59fc50421\npublic = 304e301006072a8648ce3d020106052b81040021033a00047b664cff2eef0a4f7dce24780113432f66feb25cb0931d033d63910f548ee514f6fdf1cb6f5709581c197d76a5eb218afaed19f205f4ab80\nresult = valid\nshared = 91d424e122c9c01720bbed6b53ec1b37a86996fa4fcf74bfd30f723d\n\n# tcId = 38\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00938f3dbe37135cdbdb9993a187a0e9b9f0def035fbc52ad59fc50421\npublic = 304e301006072a8648ce3d020106052b81040021033a00045a2b3ec1053390550b587557712bcc0bf85654d23099420154877ec4138322ca02e5fceae870227a43ae8982b67276f6d8f1dd7e12692474\nresult = valid\nshared = 012879a1ff456acb8726455836bc4f504c1bd799a4d96f514b3730c6\n\n# tcId = 39\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00938f3dbe37135cdbdb9993a187a0e9b9f0def035fbc52ad59fc50421\npublic = 304e301006072a8648ce3d020106052b81040021033a0004fc229bb1df3e11351e7e4224f68f40c0d0e194023c6e0840cd45ee5ca242112fbab5736e821dad26493e4006e2c6125342e7d9bc25272856\nresult = valid\nshared = fd6e5edb54d7dd554f8747ec87b8031258fc0bf1d2404b64db4540d4\n\n# tcId = 40\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00938f3dbe37135cdbdb9993a187a0e9b9f0def035fbc52ad59fc50421\npublic = 304e301006072a8648ce3d020106052b81040021033a000469a65f62d4159235801a246f2d13e45c8983a3362da480e7a51d42a65b7047abfc2a179d943bb196fede7ac3ad8a4fcacd4c4caa717b6b26\nresult = valid\nshared = 164e95bfa2a9c3a1f959feb88720bb7a37f988a08124639d8adf86df\n\n# tcId = 41\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00938f3dbe37135cdbdb9993a187a0e9b9f0def035fbc52ad59fc50421\npublic = 304e301006072a8648ce3d020106052b81040021033a0004dc68eb945528af0051cbf23e3eea43b2bc4c728976231e7031e63a2744ba65a4e1e34e8ec50cf7e8df4458582b16413ab83f568508c59037\nresult = valid\nshared = b0ffd55fa112aa48eddc960db4a1200d406e144aac9e109ad9892b2d\n\n# tcId = 42\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00938f3dbe37135cdbdb9993a187a0e9b9f0def035fbc52ad59fc50421\npublic = 304e301006072a8648ce3d020106052b81040021033a000481c89369d7be252920e08e2d6c6841b887efb4fc747db31dd1030b1919bf8ccb629b58fea6234e39812083fb0833a0c937e348eda22ea0c0\nresult = valid\nshared = d6ab4567eff21277284be082d9e09eb08bb80685f4929dc3dca4b333\n\n# tcId = 43\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00938f3dbe37135cdbdb9993a187a0e9b9f0def035fbc52ad59fc50421\npublic = 304e301006072a8648ce3d020106052b81040021033a000451d830f792795409f1ee972d3b94289f59206fe09e12166920739a73d2f1831b26677901bfaf8323f82b81e1012d9d3f1c9296c59c97970f\nresult = valid\nshared = b43de12912b40cbdd56e30fdfe9a2c24fb72687168c9cfe6b7476966\n\n# tcId = 44\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00938f3dbe37135cdbdb9993a187a0e9b9f0def035fbc52ad59fc50421\npublic = 304e301006072a8648ce3d020106052b81040021033a0004ab63ce55145842149f99023f37a0a89b9fc4ae6a878fdae8caf31d17ffd0d55830eed46f8255f94b6dcf98a22f1ff26dabf773d556788881\nresult = valid\nshared = 588ee0af3bc60118a715325c6d56c850f73067dcb37b7596d0cfda5f\n\n# tcId = 45\n# point with coordinate y = 1 in left to", + " right addition chain\nprivate = 00938f3dbe37135cdbdb9993a187a0e9b9f0def035fbc52ad59fc50421\npublic = 304e301006072a8648ce3d020106052b81040021033a00041d64535d54bfcccb38165acbfac01ae33db20e802c5687343cb21b7eb59d86f1892a974741925624477eef21f4e72fa04ee6ce35dfffe5f2\nresult = valid\nshared = 7219ef73ac9e47ac2e03dead23fa8382ae898e2415017cdeb4739f0f\n\n# tcId = 46\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00938f3dbe37135cdbdb9993a187a0e9b9f0def035fbc52ad59fc50421\npublic = 304e301006072a8648ce3d020106052b81040021033a0004d9d78436a3f9c1fa20e8c2318e61e62b94623e23a0ab746c5ac0cbc38262bd66c17515d3048944dae43b2bd6dd9d7c7a0f7042de2d1001c6\nresult = valid\nshared = 267b069aac5d768a720acc62c92f20b786fc48c7da42f1f5677424ee\n\n# tcId = 47\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00938f3dbe37135cdbdb9993a187a0e9b9f0def035fbc52ad59fc50421\npublic = 304e301006072a8648ce3d020106052b81040021033a000465eb3750c6401339caa69ebe6dec86dfc4d79bf657d68bbdd082c5a03eb81e85931352ff338ccbc3a1d332e2d8bc84342d516da06bef220f\nresult = valid\nshared = bbdd4ac5890b9c0412e4ef3135f666e5b3ddb658ec837691e8129be8\n\n# tcId = 48\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00938f3dbe37135cdbdb9993a187a0e9b9f0def035fbc52ad59fc50421\npublic = 304e301006072a8648ce3d020106052b81040021033a0004e92d3be1614555ae17a90647979fbb37468c55a1fff9e15f376d49994e470f515b7b3fe50cb55def16142df594c3e46d9d1354730778f9e8\nresult = valid\nshared = f793ff0d14bd7690840c733162b589cd3413d8c41f4488b427da496f\n\n# tcId = 49\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00938f3dbe37135cdbdb9993a187a0e9b9f0def035fbc52ad59fc50421\npublic = 304e301006072a8648ce3d020106052b81040021033a00043c92710c9a7f6f98bbec9d2a4fa617cc70e96bc96ecd4597e329143f4750a027c6972459c091ab02c0e2a3082fccec429a38d3596e7aff2b\nresult = valid\nshared = 56c703d4716239c954109b9b841db75b04a790f1f72aa966aece3494\n\n# tcId = 50\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00938f3dbe37135cdbdb9993a187a0e9b9f0def035fbc52ad59fc50421\npublic = 304e301006072a8648ce3d020106052b81040021033a0004568dfbfa42efc94ce207322e637b4c94f37a5668ad230e987a91d048dcadd244fc059cffab5fa8820a969353620e708e85bd5eec8a0c68ec\nresult = valid\nshared = 7823fe7eb642d50984fb32f911ef289419d85330c3398423d0eda05f\n\n# tcId = 51\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00938f3dbe37135cdbdb9993a187a0e9b9f0def035fbc52ad59fc50421\npublic = 304e301006072a8648ce3d020106052b81040021033a0004ec10837e495b644904dba58d8dd82133c905a285ae7c2a06d5ccaf6bf0fbf00d13e21a399dc95ae5524a1a37044193e94e3300259b70e058\nresult = valid\nshared = f7014d38f460836a51075cce9667b56b8851ba19011c8b0274b74a4b\n\n# tcId = 52\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00938f3dbe37135cdbdb9993a187a0e9b9f0def035fbc52ad59fc50421\npublic = 304e301006072a8648ce3d020106052b81040021033a0004bee2f9352f42ceeb3bf3109e90e6578d0bd4888458df7d179d746977e50e53503dee83eca1824a290566588fa3591645b1a2d56861bda760\nresult = valid\nshared = 777f99f2bdaa72a1185388465ddda1d059872ad043c7cb85b94e28bb\n\n# tcId = 53\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00938f3dbe37135cdbdb9993a187a0e9b9f0def035fbc52ad59fc50421\npublic = 304e301006072a8648ce3d020106052b81040021033a0004546facbcaa8b551c51715a9add5edc3c8a66dcc47a6223f605614cf7af6d92f5bdebea738658a42c6231e53c08237ccf52f79399579b2dcc\nresult = valid\nshared = a1db178b716e51e0fa46c1d74a2603005326bca7e81170d4b33a3d2a\n\n# tcId = 54\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00938f3dbe37135cdbdb9993a187a0e9b9f0def035fbc52ad59fc50421\npublic = 304e301006072a8648ce3d020106052b81040021033a000423b1811fee891adb33c8bfee289964e92a9d3358daf975d0efb73e229a3332668b7d6da290a2edc941e8bd6f2e33745fc606756eddc013bb\nresult = valid\nshared = f455c8273416199505019861266ddb9bcde7bee3c3f15a98ee54607b\n\n# tcId = 55\n# point with coordinate y = 1 in precomputation or right to left addition chain\nprivate = 00c1781d86cac2c0af3fb50d54c554a67bd75d25ca796f0486e3fa84f9\npublic = 304e301006072a8648ce3d020106052b81040021033a000458f53d67332415fe5b4b81999f8332fb6dcdb965d96dbcbab0fac375f29efef7ab4d94bb2d25d25205eae29fe8d9a85b811114a50f6c6859\nresult = valid\nshared = d3af1857aca1689514fcfee8d8c40b8637d40452ae35c404f9e67494\n\n# tcId = 56\n# point with coordinate y = 1 in precomputation or right to left addition chain\nprivate = 00c1781d86cac2c0af3fb50d54c554a67bd75d25ca796f0486e3fa84f9\npublic = 304e301006072a8648ce3d020106052b81040021033a0004f2d6e58fcd3ed3f656a9bc687fe4c789ba9614d0359967bc0468eabfa1658a14ef0633f2485e29141e2c4a13bd328ec9bf6af4c7a774131b\nresult = valid\nshared = 933c385d5fadb57de53e4a5d385118fce830430703c3f585a5d4d0b5\n\n# tcId = 57\n# point with coordinate y = 1 in precomputation or right to left addition chain\nprivate = 00c1781d86cac2c0af3fb50d54c554a67bd75d25ca796f0486e3fa84f9\npublic = 304e301006072a8648ce3d020106052b81040021033a000402ca5d1b7638b7b88ad02176bd10ff1cfe8812a62f9769a6d62e0c6c787b3e3b2a063940911bf987fc38deebf542400b8bbd9dfeb7d90a8a\nresult = valid\nshared = 75aea79d99e5c7edaab0284443b548843371d1d9b55f2d73a1a9092f\n\n# tcId = 58\n# point with coordinate y = 1 in precomputation or right to left addition chain\nprivate = 00c1781d86cac2c0af3fb50d54c554a67bd75d25ca796f0486e3fa84f9\npublic = 304e301006072a8648ce3d020106052b81040021033a0004a394d8bf9b479ec3c7ac3fc6a631d01d57d338b9fb5a0ed6e5130e050cfc600cfb08e67727ac5a33345ec1d48d4a9a18516c2203acbd2667\nresult = valid\nshared = 8c1d0850691cda7523ffccf1cba44b4d472193e6a3bb0727e490a8b5\n\n# tcId = 59\n# point with coordinate y = 1 in precomputation or right to left addition chain\nprivate = 00c1781d86cac2c0af3fb50d54c554a67bd75d25ca796f0486e3fa84f9\npublic = 304e301006072a8648ce3d020106052b81040021033a0004642e26421e96fa88f956d098ac26f02f1d6faa80e460e701a3789a66c38dd95c6b33de8768c85cbe6879d0d77e29fe5a18b26a35cb60c0b6\nresult = valid\nshared = 50b9ed4d99e2f24e0096eaeded0b552cf8deff5ca8f976964ae47e92\n\n# tcId = 60\n# point with coordinate y = 1 in precomputation or right to left addition chain\nprivate = 00c1781d86cac2c0af3fb50d54c554a67bd75d25ca796f0486e3fa84f9\npublic = 304e301006072a8648ce3d020106052b81040021033a0004f974d1cbbf4171d4773c3e84eab80bc3c6c2858dadcfbd11d64316905df36fbe345f28a3ef663125649474c6fc1ebe175c3865c4469e192b\nresult = valid\nshared = 5616ee3e63dfb424d329c2b9b50cf378bb77a8bd7e314a241b5942c7\n\n# tcId = 61\n# point with coordinate y = 1 in right to left addition chain\nprivate = 00c1781d86cac2c0af3fb50d54c554a67bd75d25ca796f0486e3fa84f9\npublic = 304e301006072a8648ce3d020106052b81040021033a000455561db3cc8fb08a71654ee9573a1a36a44f0913ca8ad7582cfafbfc62b31e5e78be98ad8c8ceab4bb82e8efc0acb29f1a8d031ed044046c\nresult = valid\nshared = b1da14507b5c05159e15f77d085c017acd89f158011357a97802855d\n\n# tcId = 62\n# point with coordinate y = 1 in right to left addition chain\nprivate = 00c1781d86cac2c0af3fb50d54c554a67bd75d25ca796f0486e3fa84f9\npublic = 304e301006072a8648ce3d020106052b81040021033a0004a363bcb9bddd5de84a2f4433c039f7be3fce6057b0d3b4a3459e54a2ba32302871e7ba5c3dd7ec9b76946cdc702c15a8d9ec0f4a04e7afb6\nresult = valid\nshared = 2f1bd4a5a497481c4a21222320ff61f32674a95d540cc3f4f3ca5849\n\n# tcId = 63\n# point with coordinate y = 1 in right to left addition chain\nprivate = 00c1781d86cac2c0af3fb50d54c554a67bd75d25ca796f0486e3fa84f9\npublic = 304e301006072a8648ce3d020106052b81040021033a00043a656d0e25bce27282f256b121fbfcde0a180ccd7aa601a5929fc74002f89e45b4dcb873c56da5d1a28fbca33a126177b217a098e0952e62\nresult = valid\nshared = 8c807d65ba7b9fd3061dffef26c025a89524a26b942edd3a984fe51d\n\n# tcId = 64\n# point with coordinate y = 1 in right to left addition chain\nprivate = 00c1781d86cac2c0af3fb50d54c554a67bd75d25ca796f0486e3fa84f9\npublic = 304e301006072a8648ce3d020106052b81040021033a0004bf5f49ba0086eec289b068b783438ef24b6f28130bb1ed969ef8b041f11b0de95f15edcd835f01bab1f5faaa1749c2ca4f16a7d99d916ff4\nresult = valid\nshared = 8fda76f4d124e6727f855e5f4921cc05c48e2a8ed0fee7c75d6a8047\n\n# tcId = 65\n# point with coordinate y = 1 in right to left addition chain\nprivate = 00c1781d86cac2c0af3fb50d54c554a67bd75d25ca796f0486e3fa84f9\npublic = 304e301006072a8648ce3d020106052b81040021033a0004a57232560d9d604655181f775859b0723d4e", + "01a4c867844eb9d81dabb5d19507bbe9cda3346bad7c184daa432e7f794a5b9b8b8d4e55be3a\nresult = valid\nshared = daf35bb7bf3a056bb62bb01ba00f581c107f64de85842b3a49bc2a4a\n\n# tcId = 66\n# edge case private key\nprivate = 03\npublic = 304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504\nresult = valid\nshared = e71f2157bfe37697ea5193d4732dcc6e5412fa9d38387eacd391c1c6\n\n# tcId = 67\n# edge case private key\nprivate = 00ffffffffffffffffffffffffffffffffffffffffffffffff\npublic = 304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504\nresult = valid\nshared = fa2664717c7fa0161ec2c669b2c0986cdc20456a6e5406302bb53c77\n\n# tcId = 68\n# edge case private key\nprivate = 01000000000000000000000000000000000000000000000000000000\npublic = 304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504\nresult = valid\nshared = af6e5ad34497bae0745f53ad78ce8b285d79f400d5c6e6a071f8e6bd\n\n# tcId = 69\n# edge case private key\nprivate = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffff\npublic = 304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504\nresult = valid\nshared = 12fd302ff8c13c55a9c111f8bb6b0a13ecf88299c0ae3032ce2bcaff\n\n# tcId = 70\n# edge case private key\nprivate = 0080000000000000000000000000000000000000000000000000000000\npublic = 304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504\nresult = valid\nshared = 73f1a395b842f1a6752ae417e2c3dc90cafc4476d1d861b7e68ad030\n\n# tcId = 71\n# edge case private key\nprivate = 00ffffffffffffffffffffffffffff16a2e0b8f03d13dd29455c5c2a3d\npublic = 304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504\nresult = valid\nshared = b329c20ddb7c78ee4e622bb23a984c0d273ba34b6269f3d9e8f89f8e\n\n# tcId = 72\n# edge case private key\nprivate = 00ffffffffffffffffffffffffffff16a2e0b8f03e13cd29455c5c2a3d\npublic = 304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504\nresult = valid\nshared = 6f48345209b290ffc5abbe754a201479e5d667a209468080d06197b4\n\n# tcId = 73\n# edge case private key\nprivate = 00ffffffffffffffffffffffffffff16a2e0b8f03e13d529455c5c2a3d\npublic = 304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504\nresult = valid\nshared = 9f6e30c1c9dad42a153aacd4b49a8e5c721d085cd07b5d5aec244fc1\n\n# tcId = 74\n# edge case private key\nprivate = 00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29445c5c2a3d\npublic = 304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504\nresult = valid\nshared = 8cadfb19a80949e61bd5b829ad0e76d18a5bb2eeb9ed7fe2b901cecd\n\n# tcId = 75\n# edge case private key\nprivate = 00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c29b7\npublic = 304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504\nresult = valid\nshared = 475fd96e0eb8cb8f100a5d7fe043a7a6851d1d611da2643a3c6ae708\nflags = AddSubChain\n\n# tcId = 76\n# edge case private key\nprivate = 00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a37\npublic = 304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504\nresult = valid\nshared = 41ef931d669d1f57d8bb95a01a92321da74be8c6cbc3bbe0b2e73ebd\nflags = AddSubChain\n\n# tcId = 77\n# edge case private key\nprivate = 00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3a\npublic = 304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504\nresult = valid\nshared = e71f2157bfe37697ea5193d4732dcc6e5412fa9d38387eacd391c1c6\n\n# tcId = 78\n# edge case private key\nprivate = 00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3b\npublic = 304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504\nresult = valid\nshared = 11ff15126411299cbd49e2b7542e69e91ef132e2551a16ecfebb23a3\nflags = AddSubChain\n\n# tcId = 79\n# point is not on curve\nprivate = 00c6cafb74e2a5b5ed4b991cbbfbc28c18f6df208b6d05e7a2e6668014\npublic = 304e301006072a8648ce3d020106052b81040021033a00040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = invalid\nshared = \n\n# tcId = 80\n# point is not on curve\nprivate = 00c6cafb74e2a5b5ed4b991cbbfbc28c18f6df208b6d05e7a2e6668014\npublic = 304e301006072a8648ce3d020106052b81040021033a00040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nresult = invalid\nshared = \n\n# tcId = 81\n# point is not on curve\nprivate = 00c6cafb74e2a5b5ed4b991cbbfbc28c18f6df208b6d05e7a2e6668014\npublic = 304e301006072a8648ce3d020106052b81040021033a000400000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffff000000000000000000000000\nresult = invalid\nshared = \n\n# tcId = 82\n# point is not on curve\nprivate = 00c6cafb74e2a5b5ed4b991cbbfbc28c18f6df208b6d05e7a2e6668014\npublic = 304e301006072a8648ce3d020106052b81040021033a000400000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffff000000000000000000000001\nresult = invalid\nshared = \n\n# tcId = 83\n# point is not on curve\nprivate = 00c6cafb74e2a5b5ed4b991cbbfbc28c18f6df208b6d05e7a2e6668014\npublic = 304e301006072a8648ce3d020106052b81040021033a00040000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000\nresult = invalid\nshared = \n\n# tcId = 84\n# point is not on curve\nprivate = 00c6cafb74e2a5b5ed4b991cbbfbc28c18f6df208b6d05e7a2e6668014\npublic = 304e301006072a8648ce3d020106052b81040021033a00040000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000001\nresult = invalid\nshared = \n\n# tcId = 85\n# point is not on curve\nprivate = 00c6cafb74e2a5b5ed4b991cbbfbc28c18f6df208b6d05e7a2e6668014\npublic = 304e301006072a8648ce3d020106052b81040021033a000400000000000000000000000000000000000000000000000000000001ffffffffffffffffffffffffffffffff000000000000000000000000\nresult = invalid\nshared = \n\n# tcId = 86\n# point is not on curve\nprivate = 00c6cafb74e2a5b5ed4b991cbbfbc28c18f6df208b6d05e7a2e6668014\npublic = 304e301006072a8648ce3d020106052b81040021033a000400000000000000000000000000000000000000000000000000000001ffffffffffffffffffffffffffffffff000000000000000000000001\nresult = invalid\nshared = \n\n# tcId = 87\n# point is not on curve\nprivate = 00c6cafb74e2a5b5ed4b991cbbfbc28c18f6df208b6d05e7a2e6668014\npublic = 304e301006072a8648ce3d020106052b81040021033a0004ffffffffffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = invalid\nshared = \n\n# tcId = 88\n# point is not on curve\nprivate = 00c6cafb74e2a5b5ed4b991cbbfbc28c18f6df208b6d05e7a2e6668014\npublic = 304e301006072a8648ce3d020106052b81040021033a0004ffffffffffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000000000000000000000000001\nresult = invalid\nshared = \n\n# tcId = 89\n# point is not on curve\nprivate = 00c6cafb74e2a5b5ed4b991cbbfbc28c18f6df208b6d05e7a2e6668014\npublic = 304e301006072a8648ce3d020106052b81040021033a0004ffffffffffffffffffffffffffffffff000000000000000000000000ffffffffffffffffffffffffffffffff000000000000000000000000\nresult = invalid\nshared = \n\n# tcId = 90\n# point is not on curve\nprivate = 00c6cafb74e2a5b5ed4b9", + "91cbbfbc28c18f6df208b6d05e7a2e6668014\npublic = 304e301006072a8648ce3d020106052b81040021033a0004ffffffffffffffffffffffffffffffff000000000000000000000000ffffffffffffffffffffffffffffffff000000000000000000000001\nresult = invalid\nshared = \n\n# tcId = 91\n# point is not on curve\nprivate = 00c6cafb74e2a5b5ed4b991cbbfbc28c18f6df208b6d05e7a2e6668014\npublic = 304e301006072a8648ce3d020106052b81040021033a0004ffffffffffffffffffffffffffffffff00000000000000000000000100000000000000000000000000000000000000000000000000000000\nresult = invalid\nshared = \n\n# tcId = 92\n# point is not on curve\nprivate = 00c6cafb74e2a5b5ed4b991cbbfbc28c18f6df208b6d05e7a2e6668014\npublic = 304e301006072a8648ce3d020106052b81040021033a0004ffffffffffffffffffffffffffffffff00000000000000000000000100000000000000000000000000000000000000000000000000000001\nresult = invalid\nshared = \n\n# tcId = 93\n# point is not on curve\nprivate = 00c6cafb74e2a5b5ed4b991cbbfbc28c18f6df208b6d05e7a2e6668014\npublic = 304e301006072a8648ce3d020106052b81040021033a0004ffffffffffffffffffffffffffffffff000000000000000000000001ffffffffffffffffffffffffffffffff000000000000000000000000\nresult = invalid\nshared = \n\n# tcId = 94\n# point is not on curve\nprivate = 00c6cafb74e2a5b5ed4b991cbbfbc28c18f6df208b6d05e7a2e6668014\npublic = 304e301006072a8648ce3d020106052b81040021033a0004ffffffffffffffffffffffffffffffff000000000000000000000001ffffffffffffffffffffffffffffffff000000000000000000000001\nresult = invalid\nshared = \n\n# tcId = 95\nprivate = 00c6cafb74e2a5b5ed4b991cbbfbc28c18f6df208b6d05e7a2e6668014\npublic = 3015301006072a8648ce3d020106052b81040021030100\nresult = invalid\nshared = \n\n# tcId = 96\n# public point not on curve\nprivate = 00d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2\npublic = 304e301006072a8648ce3d020106052b81040021033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5d\nresult = invalid\nshared = \nflags = InvalidPublic\n\n# tcId = 97\n# public point = (0,0)\nprivate = 00d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2\npublic = 304e301006072a8648ce3d020106052b81040021033a00040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = invalid\nshared = \nflags = InvalidPublic\n\n# tcId = 98\n# order = -26959946667150639794667015087019625940457807714424391721682722368061\nprivate = 00d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2\npublic = 308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cfffffffffffffffffffffffffffffffefffffffffffffffffffffffe041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4043904b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34021dff0000000000000000000000000000e95d1f470fc1ec22d6baa3a3d5c3020101033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b\nresult = invalid\nshared = 9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7\nflags = WrongOrder,InvalidPublic,UnnamedCurve\n\n# tcId = 99\n# order = 0\nprivate = 00d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2\npublic = 3081f73081b806072a8648ce3d02013081ac020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cfffffffffffffffffffffffffffffffefffffffffffffffffffffffe041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4043904b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34020100020101033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b\nresult = invalid\nshared = 9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7\nflags = WrongOrder,InvalidPublic,UnnamedCurve\n\n# tcId = 100\n# order = 1\nprivate = 00d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2\npublic = 3081f73081b806072a8648ce3d02013081ac020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cfffffffffffffffffffffffffffffffefffffffffffffffffffffffe041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4043904b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34020101020101033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b\nresult = acceptable\nshared = 9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7\nflags = WrongOrder,UnusedParam,UnnamedCurve\n\n# tcId = 101\n# order = 6277101735386680763835789423207665314073163949517624387909\nprivate = 00d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2\npublic = 3082010f3081d006072a8648ce3d02013081c4020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cfffffffffffffffffffffffffffffffefffffffffffffffffffffffe041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4043904b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34021900ffffffffffffffffffffffffffff16a2e0b8f03e13dd2945020101033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b\nresult = acceptable\nshared = 9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7\nflags = WrongOrder,UnusedParam,UnnamedCurve\n\n# tcId = 102\n# generator = (0,0)\nprivate = 00d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2\npublic = 308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cfffffffffffffffffffffffffffffffefffffffffffffffffffffffe041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb40439040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020101033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b\nresult = acceptable\nshared = 9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7\nflags = UnusedParam,UnnamedCurve\n\n# tcId = 103\n# generator not on curve\nprivate = 00d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2\npublic = 308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cfffffffffffffffffffffffffffffffefffffffffffffffffffffffe041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4043904b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e36021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020101033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b\nresult = acceptable\nshared = 9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7\nflags = UnusedParam,UnnamedCurve\n\n# tcId = 104\n# cofactor = -1\nprivate = 00d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2\npublic = 308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cfffffffffffffffffffffffffffffffefffffffffffffffffffffffe041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4043904b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d0201ff033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b\nresult = invalid\nshared = 9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7\nflags = InvalidPublic,UnnamedCurve\n\n# tcId = 105\n# cofactor = 0\nprivate = 00d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2\npublic = 308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cfffffffffffffffffffffffffffffffefffffffffffffffffffffffe041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4043904b70e0cbd6bb4bf7f321390b", + "94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020100033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b\nresult = invalid\nshared = 9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7\nflags = InvalidPublic,UnnamedCurve\n\n# tcId = 106\n# cofactor = 2\nprivate = 00d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2\npublic = 308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cfffffffffffffffffffffffffffffffefffffffffffffffffffffffe041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4043904b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020102033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b\nresult = acceptable\nshared = 9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7\nflags = UnusedParam,UnnamedCurve\n\n# tcId = 107\n# cofactor =\n# 26959946667150639794667015087019625940457807714424391721682722368061\nprivate = 00d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2\npublic = 3082012f3081f006072a8648ce3d02013081e4020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cfffffffffffffffffffffffffffffffefffffffffffffffffffffffe041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4043904b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b\nresult = invalid\nshared = 9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7\nflags = InvalidPublic,UnnamedCurve\n\n# tcId = 108\n# cofactor = None\nprivate = 00d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2\npublic = 308201103081d106072a8648ce3d02013081c5020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cfffffffffffffffffffffffffffffffefffffffffffffffffffffffe041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4043904b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b\nresult = acceptable\nshared = 9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7\nflags = UnusedParam,UnnamedCurve\n\n# tcId = 109\n# modified prime\nprivate = 00d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2\npublic = 308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00c123da0a46a971da9468161e61a5c71a02e6c9bdb3392f4016fb457b303c041c3edc25f5b9568e256b97e9e19e5a38e4fd1936424cc6d0bfe904ba83041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4043904000000000000000000285145f31ae4d40000000000000000000003387edad63d1a600740ce66b6f04d67ed06ea1a75c16294336ed05b3fa3021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020101033a0004000000000000000000285145f31ae4d40000000000000000000003387edad63d1a600740ce66b6f04d67ed06ea1a75c16294336ed05b3fa3\nresult = invalid\nshared = 3de0a5036fcde544c72cbe33cedb8709549bc3b6a4d750ee0de4c80d\nflags = ModifiedPrime,InvalidPublic,UnnamedCurve\n\n# tcId = 110\n# using secp256r1\nprivate = 00d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004cbf6606595a3ee50f9fceaa2798c2740c82540516b4e5a7d361ff24e9dd15364e5408b2e679f9d5310d1f6893b36ce16b4a507509175fcb52aea53b781556b39\nresult = invalid\nshared = \nflags = InvalidPublic\n\n# tcId = 111\n# using secp256k1\nprivate = 00d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2\npublic = 3056301006072a8648ce3d020106052b8104000a03420004a1263e75b87ae0937060ff1472f330ee55cdf8f4329d6284a9ebfbcc856c11684225e72cbebff41e54fb6f00e11afe53a17937bedbf2df787f8ef9584f775838\nresult = invalid\nshared = \nflags = InvalidPublic\n\n# tcId = 112\n# a = 0\nprivate = 00d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2\npublic = 3081f83081b906072a8648ce3d02013081ad020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff0000000000000000000000013021040100041cd0d5e347a38ce5b6e1f47edddd8a223bca45d2015de76ec835a4df57043904a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020101033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b\nresult = acceptable\nshared = 9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7\nflags = UnusedParam,UnnamedCurve\n\n# tcId = 113\n# public key of order 3\nprivate = 00d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2\npublic = 308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cacb441c744c5af60905e78cd53b10f4aec9f30a302bb4ab0aeb53182041c2356bdcb3ae3e1c1e31741c951add1b2b0f87305d01021232aa22e0c043904bafbb7559c7335192c6f0cc5970e9c92a12e9af1a0cb5403d9bcc4eb7a545a1d9302be01456f17846a445ef45ff7c31710b08a6881dc11d1021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020101033a0004bafbb7559c7335192c6f0cc5970e9c92a12e9af1a0cb5403d9bcc4eb85aba5e26cfd41feba90e87b95bba10aa0083ce8ef4f75977e23ee30\nresult = invalid\nshared = \nflags = WeakPublicKey,InvalidPublic,UnnamedCurve\n\n# tcId = 114\n# Public key uses wrong curve: secp256r1\nprivate = 2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004ea36cf70fab75684eabe6569ce623db0deaa8c95f61c8be50b8b9f3eb7d4b9ec48d9e4814f4cb1c286589eaaa990d3f3238b2d6d6be964abfad964824b653376\nresult = invalid\nshared = \n\n# tcId = 115\n# Public key uses wrong curve: secp384r1\nprivate = 2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc\npublic = 3076301006072a8648ce3d020106052b81040022036200044b2470ad3d13269c10a17d222ebdffbd61fb04488db1b1d7caef8d4988b7bb8ba6d81857a05b255232b9e37a30e328bb9d9c42d86096f2bcee3d258cfe208d2fd03cbd5ccc6a3bb8ce4b0efa5b059b4afbd0377aa6e274721a57efe8ee85d86a\nresult = invalid\nshared = \n\n# tcId = 116\n# Public key uses wrong curve: secp521r1\nprivate = 2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc\npublic = 30819b301006072a8648ce3d020106052b810400230381860004012841a2260f0f1f424865fef275374779bf0355720223f8ec6a9ba767b1603b492f58a6bba1705d882257bc6be1935de4411c5f1fdad44ec65ba8b97ce0e73e1ac90006937832a602147e37c1a42ca2a63629ffc9a35b31bfacb38c6242b42916125f7446b45c718f797259bc3011cb71e868560b331cf7d01139a0643443f9fd7306c1\nresult = invalid\nshared = \n\n# tcId = 117\n# Public key uses wrong curve: secp256k1\nprivate = 2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc\npublic = 3056301006072a8648ce3d020106052b8104000a03420004c2199fecf75648c0e952dff143821fa4012b28f90435ce6ee54653687f969a76092a3844e17d478a594f43b28cc10a5c553b4f64906121031c3a79299c70dbd6\nresult = invalid\nshared = \n\n# tcId = 118\n# Public key uses wrong curve: secp224k1\nprivate = 2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc\npublic = 304e301006072a8648ce3d020106052b81040020033a000473e833aee75c67a34cc497fd01275372d09e3e8f2ff054c8c29e405ef3e35d699190a448079c058022512fa9976e504e298baee340d5648b\nresult = invalid\nshared = \n\n# tcId = 119\n# Public key uses wrong curve: brainpoolP224r1\nprivate = 2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc\npublic = 3052301406072a8648ce3d020106092b2403030208010105033a00046caa3d6d86f792df7b29e41eb4203150f60f4fca10f57d0b2454abfb201f9f7e6dcbb92bdcfb9240dc86bcaeaf157c77bca22b2ec86ee8d6\nresult = invalid\nshared = \n\n# tcId = 120\n# Public key uses wrong curve: brainpoolP256r1\nprivate = 2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc\npublic = 305a301406072a8648ce3d02010609", + "2b2403030208010107034200042750180012c3ba7489517d428e4826784e50b50ac42ef7991c61a396c03a52da5e74908ae8a89627a7c15e554b105b0ebaeebcfed10e3ea60223d0a8bc3b36ab\nresult = invalid\nshared = \n\n# tcId = 121\n# Public key uses wrong curve: brainpoolP320r1\nprivate = 2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc\npublic = 306a301406072a8648ce3d020106092b2403030208010109035200045b523d3a8f20f6a569c6951e0b8de48d89e7549a184e8506820421c3e404473692cd248d7480843b911d87a87e401112fce0d3d2c36978cf6dd7f1d93bfaebe0827d4bf4006006d3202e842126fe1b68\nresult = invalid\nshared = \n\n# tcId = 122\n# Public key uses wrong curve: brainpoolP384r1\nprivate = 2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc\npublic = 307a301406072a8648ce3d020106092b240303020801010b03620004449607c76c6dc7334c269a0ebab5beec83b6c263377ce06ef5c276f45a9916eff85f50438f5f32ced0210a6c414fe5e242c7c1070823f5395b35965bda6758acf84725f11ea836dda7d391fee91342026645241853224a437a6fb74e4cdc871f\nresult = invalid\nshared = \n\n# tcId = 123\n# Public key uses wrong curve: brainpoolP512r1\nprivate = 2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc\npublic = 30819b301406072a8648ce3d020106092b240303020801010d038182000463e7a491240848e4f53ea5fb857d428c493053193e4b0b4f995ac8bf4c56276a507870131a384aa7e236c64cd7a049a1b37e40ad00c3b8a920dcbad6531616356ce1b6e6d96a7d1b693e25e5abd83ab560a3d764bcd49ec98a1b49421163bd5fc5a625f44c91eb4c2984d5a2e51e816ebdee8fbe08364bb14b7ac876990e64d9\nresult = invalid\nshared = \n\n# tcId = 124\n# Public key uses wrong curve: brainpoolP224t1\nprivate = 2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc\npublic = 3052301406072a8648ce3d020106092b2403030208010106033a00047c592ecb8908355d1ebf8d59b3619275dbe3666209b72ced6a3c88740456ce61d6a84e0542d7cd10dd8804afb8c784d5dffd9480d8cfdc95\nresult = invalid\nshared = \n\n# tcId = 125\n# Public key uses wrong curve: brainpoolP256t1\nprivate = 2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc\npublic = 305a301406072a8648ce3d020106092b240303020801010803420004746226a3e005c37ede51828d3375ef91ebd0ff719a380af69d7dfd131b42a3e8917d4a4d573872935a74d1040f1c47d25d6b26f4156cccdcdc11833b9cde433a\nresult = invalid\nshared = \n\n# tcId = 126\n# Public key uses wrong curve: brainpoolP320t1\nprivate = 2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc\npublic = 306a301406072a8648ce3d020106092b240303020801010a035200043298b36825c7bd90ab5157b913d40bbfd732a0de0557e02a2c65a0c223e9a65d62c32462040dd6fe578103023c831caff122c1ed4b8ff7373fa2f08d11c9f4c7f85f81802262ffed9bb82cb6d92eed2d\nresult = invalid\nshared = \n\n# tcId = 127\n# Public key uses wrong curve: brainpoolP384t1\nprivate = 2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc\npublic = 307a301406072a8648ce3d020106092b240303020801010c036200043af2849b981f7e5e6ab936e6abb4f206c1fd5561998df8008bfe98d84173c9f2301cdbd5bffc569c0b5a57ce2a8f4d640f1816475fc6043baa8e5a3453bf327b54cb29c7e54a5f31348969aa94615094dbcd1a8e5c2d630465e45fc556c02194\nresult = invalid\nshared = \n\n# tcId = 128\n# Public key uses wrong curve: brainpoolP512t1\nprivate = 2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc\npublic = 30819b301406072a8648ce3d020106092b240303020801010e038182000453d2506047e72af6d98558e1633ecb7e6a05c37861cd3289455cf41bfbf1703f2e9a83052b8eca7d84cba2f001abd8b978f68b69ed6bd874755c44d347fe302c5760b2078c56b24ebd0dcd99f26b8f8a23044b3767a3d2a306587687a7b00668974674edbf18c3db2f3473a97ee77065fdcdd1a9aa053716a4c504f3d18b9170\nresult = invalid\nshared = \n\n# tcId = 129\n# invalid public key\nprivate = 00fc28a0ca0f8e36b0d4f71421845135a22aef543b9fddf8c775b2d18f\npublic = 3032301006072a8648ce3d020106052b81040021031e00020ca753db5ddeca474241f8d2dafc0844343fd0e37eded2f0192d51b2\nresult = invalid\nshared = \nflags = CompressedPoint\n\n# tcId = 130\n# long form encoding of length of sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30814e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 131\n# long form encoding of length of sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304f30811006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 132\n# length of sequence contains leading 0\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3082004e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 133\n# length of sequence contains leading 0\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30503082001006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 134\n# wrong length of sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304f301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 135\n# wrong length of sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304d301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 136\n# wrong length of sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301106072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 137\n# wrong length of sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e300f06072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 138\n# uint32 overflow in length of sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3085010000004e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 139\n# uint32 overflow in length of sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30533085010000001006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 140\n# uint64 overflow in length of sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 308901000000000000004e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 141\n# uint64 overflow in length of sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npubl", + "ic = 3057308901000000000000001006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 142\n# length of sequence = 2**31 - 1\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30847fffffff301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 143\n# length of sequence = 2**31 - 1\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 305230847fffffff06072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 144\n# length of sequence = 2**32 - 1\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3084ffffffff301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 145\n# length of sequence = 2**32 - 1\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30523084ffffffff06072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 146\n# length of sequence = 2**40 - 1\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3085ffffffffff301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 147\n# length of sequence = 2**40 - 1\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30533085ffffffffff06072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 148\n# length of sequence = 2**64 - 1\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3088ffffffffffffffff301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 149\n# length of sequence = 2**64 - 1\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30563088ffffffffffffffff06072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 150\n# incorrect length of sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30ff301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 151\n# incorrect length of sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e30ff06072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 152\n# indefinite length without termination\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3080301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 153\n# indefinite length without termination\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e308006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 154\n# indefinite length without termination\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006802a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 155\n# indefinite length without termination\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020106802b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 156\n# indefinite length without termination\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020106052b810400210380000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 157\n# removing sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = \nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 158\n# removing sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 303c033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 159\n# lonely sequence tag\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 160\n# lonely sequence tag\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 303d30033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 161\n# appending 0's to sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3050301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da620000\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 162\n# appending 0's to sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3050301206072a8648ce3d020106052b810400210000033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 163\n#", + " prepending 0's to sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30500000301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 164\n# prepending 0's to sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30503012000006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 165\n# appending unused 0's to sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da620000\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 166\n# appending unused 0's to sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3050301006072a8648ce3d020106052b810400210000033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 167\n# appending null value to sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3050301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da620500\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 168\n# appending null value to sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3050301206072a8648ce3d020106052b810400210500033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 169\n# including garbage\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3053498177304e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 170\n# including garbage\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30522500304e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 171\n# including garbage\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3050304e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da620004deadbeef\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 172\n# including garbage\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30533015498177301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 173\n# including garbage\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 305230142500301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 174\n# including garbage\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30563012301006072a8648ce3d020106052b810400210004deadbeef033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 175\n# including garbage\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30533015260c49817706072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 176\n# including garbage\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30523014260b250006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 177\n# including garbage\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30563018260906072a8648ce3d02010004deadbeef06052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 178\n# including garbage\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3053301506072a8648ce3d0201260a49817706052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 179\n# including garbage\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3052301406072a8648ce3d02012609250006052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 180\n# including garbage\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3056301806072a8648ce3d0201260706052b810400210004deadbeef033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 181\n# including garbage\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3053301006072a8648ce3d020106052b81040021233f498177033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 182\n# including garbage\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3052301006072a8648ce3d020106052b81040021233e2500033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 183\n# including garbage\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3056301006072a8648ce3d020106052b81040021233c033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da620004deadbeef\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidA", + "sn\n\n# tcId = 184\n# including undefined tags\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3056aa00bb00cd00304e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 185\n# including undefined tags\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3054aa02aabb304e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 186\n# including undefined tags\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30563018aa00bb00cd00301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 187\n# including undefined tags\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30543016aa02aabb301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 188\n# including undefined tags\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30563018260faa00bb00cd0006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 189\n# including undefined tags\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30543016260daa02aabb06072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 190\n# including undefined tags\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3056301806072a8648ce3d0201260daa00bb00cd0006052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 191\n# including undefined tags\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3054301606072a8648ce3d0201260baa02aabb06052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 192\n# including undefined tags\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3056301006072a8648ce3d020106052b810400212342aa00bb00cd00033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 193\n# including undefined tags\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3054301006072a8648ce3d020106052b810400212340aa02aabb033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 194\n# truncated length of sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3081\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 195\n# truncated length of sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 303e3081033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 196\n# Replacing sequence with NULL\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 0500\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 197\n# Replacing sequence with NULL\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 303e0500033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 198\n# changing tag value of sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 2e4e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 199\n# changing tag value of sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 2f4e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 200\n# changing tag value of sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 314e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 201\n# changing tag value of sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 324e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 202\n# changing tag value of sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = ff4e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 203\n# changing tag value of sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e2e1006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 204\n# changing tag value of sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e2f1006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 205\n# changing tag value of sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e311006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3d", + "a62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 206\n# changing tag value of sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e321006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 207\n# changing tag value of sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304eff1006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 208\n# dropping value of sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3000\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 209\n# dropping value of sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 303e3000033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 210\n# truncated sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304d301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 211\n# truncated sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304d1006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 212\n# truncated sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304d300f06072a8648ce3d020106052b810400033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 213\n# truncated sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304d300f072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 214\n# indefinite length\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3080301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da620000\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 215\n# indefinite length\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3050308006072a8648ce3d020106052b810400210000033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 216\n# indefinite length with truncated delimiter\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3080301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da6200\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 217\n# indefinite length with truncated delimiter\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304f308006072a8648ce3d020106052b8104002100033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 218\n# indefinite length with additional element\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3080301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da6205000000\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 219\n# indefinite length with additional element\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3052308006072a8648ce3d020106052b8104002105000000033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 220\n# indefinite length with truncated element\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3080301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62060811220000\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 221\n# indefinite length with truncated element\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3054308006072a8648ce3d020106052b81040021060811220000033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 222\n# indefinite length with garbage\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3080301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da620000fe02beef\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 223\n# indefinite length with garbage\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3054308006072a8648ce3d020106052b810400210000fe02beef033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 224\n# indefinite length with nonempty EOC\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3080301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da620002beef\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 225\n# indefinite length with nonempty EOC\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3052308006072a8648ce3d020106052b810400210002beef033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 226\n# prepend empty sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30503000301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags", + " = InvalidAsn\n\n# tcId = 227\n# prepend empty sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30503012300006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 228\n# append empty sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3050301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da623000\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 229\n# append empty sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3050301206072a8648ce3d020106052b810400213000033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 230\n# append garbage with high tag number\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3051301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62bf7f00\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 231\n# append garbage with high tag number\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3051301306072a8648ce3d020106052b81040021bf7f00033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 232\n# sequence of sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3050304e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 233\n# sequence of sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30503012301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 234\n# truncated sequence: removed last 1 elements\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3012301006072a8648ce3d020106052b81040021\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 235\n# truncated sequence: removed last 1 elements\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3047300906072a8648ce3d0201033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 236\n# repeating element in sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30818a301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 237\n# repeating element in sequence\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3055301706072a8648ce3d020106052b8104002106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 238\n# long form encoding of length of oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304f30110681072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 239\n# long form encoding of length of oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304f301106072a8648ce3d02010681052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 240\n# length of oid contains leading 0\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30503012068200072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 241\n# length of oid contains leading 0\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3050301206072a8648ce3d0201068200052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 242\n# wrong length of oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006082a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 243\n# wrong length of oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006062a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 244\n# wrong length of oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020106062b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 245\n# wrong length of oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020106042b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 246\n# uint32 overflow in length of oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30533015068501000000072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 247\n# uint32 overflow in length of oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3053301506072a8648ce3d0201068501000000052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509", + "fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 248\n# uint64 overflow in length of oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3057301906890100000000000000072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 249\n# uint64 overflow in length of oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3057301906072a8648ce3d020106890100000000000000052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 250\n# length of oid = 2**31 - 1\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3052301406847fffffff2a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 251\n# length of oid = 2**31 - 1\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3052301406072a8648ce3d020106847fffffff2b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 252\n# length of oid = 2**32 - 1\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 305230140684ffffffff2a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 253\n# length of oid = 2**32 - 1\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3052301406072a8648ce3d02010684ffffffff2b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 254\n# length of oid = 2**40 - 1\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 305330150685ffffffffff2a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 255\n# length of oid = 2**40 - 1\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3053301506072a8648ce3d02010685ffffffffff2b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 256\n# length of oid = 2**64 - 1\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 305630180688ffffffffffffffff2a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 257\n# length of oid = 2**64 - 1\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3056301806072a8648ce3d02010688ffffffffffffffff2b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 258\n# incorrect length of oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006ff2a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 259\n# incorrect length of oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020106ff2b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 260\n# removing oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3045300706052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 261\n# lonely oid tag\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304630080606052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 262\n# lonely oid tag\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3048300a06072a8648ce3d020106033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 263\n# appending 0's to oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3050301206092a8648ce3d0201000006052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 264\n# appending 0's to oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3050301206072a8648ce3d020106072b810400210000033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 265\n# prepending 0's to oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30503012060900002a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 266\n# prepending 0's to oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3050301206072a8648ce3d0201060700002b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 267\n# appending unused 0's to oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3050301206072a8648ce3d0201000006052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 268\n# appending null value to oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3050301206092a8648ce3d0201050006052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d79", + "4228029b10da63\nflags = InvalidAsn\n\n# tcId = 269\n# appending null value to oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3050301206072a8648ce3d020106072b810400210500033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 270\n# truncated length of oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30473009068106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 271\n# truncated length of oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3049300b06072a8648ce3d02010681033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 272\n# Replacing oid with NULL\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30473009050006052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 273\n# Replacing oid with NULL\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3049300b06072a8648ce3d02010500033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 274\n# changing tag value of oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301004072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 275\n# changing tag value of oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301005072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 276\n# changing tag value of oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301007072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 277\n# changing tag value of oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301008072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 278\n# changing tag value of oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e3010ff072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 279\n# changing tag value of oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020104052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 280\n# changing tag value of oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020105052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 281\n# changing tag value of oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020107052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 282\n# changing tag value of oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020108052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 283\n# changing tag value of oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d0201ff052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 284\n# dropping value of oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30473009060006052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 285\n# dropping value of oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3049300b06072a8648ce3d02010600033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 286\n# modify first byte of oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e30100607288648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 287\n# modify first byte of oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020106052981040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 288\n# modify last byte of oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d028106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 289\n# modify last byte of oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020106052b810400a1033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 290\n# truncated oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304d300f06062a8648ce3d0206052b81", + "040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 291\n# truncated oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304d300f06068648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 292\n# truncated oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304d300f06072a8648ce3d020106042b810400033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 293\n# truncated oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304d300f06072a8648ce3d0201060481040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 294\n# wrong oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304c300e06052b0e03021a06052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 295\n# wrong oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30503012060960864801650304020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 296\n# wrong oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020106052b0e03021a033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 297\n# wrong oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3052301406072a8648ce3d02010609608648016503040201033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 298\n# longer oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304f301106082a8648ce3d02010106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 299\n# longer oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304f301106072a8648ce3d020106062b8104002101033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 300\n# oid with modified node\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d021106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 301\n# oid with modified node\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 30523014060b2a8648ce3d02888080800106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 302\n# oid with modified node\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020106052b81040031033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 303\n# oid with modified node\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3052301406072a8648ce3d020106092b8104008880808021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 304\n# large integer in oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3057301906102a8648ce3d028280808080808080800106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 305\n# large integer in oid\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3057301906072a8648ce3d0201060e2b81040082808080808080808021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 306\n# oid with invalid node\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304f301106082a8648ce3d0201e006052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 307\n# oid with invalid node\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304f301106082a808648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 308\n# oid with invalid node\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304f301106072a8648ce3d020106062b81040021e0033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 309\n# oid with invalid node\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304f301106072a8648ce3d020106062b8081040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 310\n# long form encoding of length of bit string\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304f301006072a8648ce3d020106052b8104002103813a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 311\n# length of bit string contains leading 0\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3050301006072a8648ce3d020106052b810400210382003a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshar", + "ed = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 312\n# wrong length of bit string\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020106052b81040021033b000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 313\n# wrong length of bit string\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020106052b810400210339000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 314\n# uint32 overflow in length of bit string\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3053301006072a8648ce3d020106052b810400210385010000003a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 315\n# uint64 overflow in length of bit string\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3057301006072a8648ce3d020106052b81040021038901000000000000003a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 316\n# length of bit string = 2**31 - 1\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3052301006072a8648ce3d020106052b8104002103847fffffff000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 317\n# length of bit string = 2**32 - 1\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3052301006072a8648ce3d020106052b810400210384ffffffff000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 318\n# length of bit string = 2**40 - 1\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3053301006072a8648ce3d020106052b810400210385ffffffffff000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 319\n# length of bit string = 2**64 - 1\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3056301006072a8648ce3d020106052b810400210388ffffffffffffffff000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 320\n# incorrect length of bit string\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020106052b8104002103ff000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 321\n# lonely bit string tag\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3013301006072a8648ce3d020106052b8104002103\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 322\n# appending 0's to bit string\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3050301006072a8648ce3d020106052b81040021033c000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da620000\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 323\n# prepending 0's to bit string\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3050301006072a8648ce3d020106052b81040021033c0000000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 324\n# appending null value to bit string\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3050301006072a8648ce3d020106052b81040021033c000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da620500\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 325\n# truncated length of bit string\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3014301006072a8648ce3d020106052b810400210381\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 326\n# Replacing bit string with NULL\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3014301006072a8648ce3d020106052b810400210500\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 327\n# changing tag value of bit string\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020106052b81040021013a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 328\n# changing tag value of bit string\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020106052b81040021023a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 329\n# changing tag value of bit string\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020106052b81040021043a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 330\n# changing tag value of bit string\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020106052b81040021053a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 331\n# changing tag value of bit string\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020106052b81040021ff3a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 332\n# dropping value of bit string\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3014301006072a8648ce3d020106052b810400210300\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 333\n# modify first byte of bit string\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020106052b81040021033a020486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72f", + "a4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 334\n# modify last byte of bit string\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3dae2\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 335\n# truncated bit string\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304d301006072a8648ce3d020106052b810400210339000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 336\n# truncated bit string\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304d301006072a8648ce3d020106052b8104002103390486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 337\n# declaring bits as unused in bit string\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020106052b81040021033a010486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 338\n# unused bits in bit string\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3052301006072a8648ce3d020106052b81040021033e200486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da6201020304\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 339\n# unused bits in empty bit-string\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 3015301006072a8648ce3d020106052b81040021030103\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n# tcId = 340\n# 128 unused bits\nprivate = 00a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572\npublic = 304e301006072a8648ce3d020106052b81040021033a800486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62\nresult = acceptable\nshared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63\nflags = InvalidAsn\n\n", }; -static const size_t kLen63 = 201337; +static const size_t kLen96 = 196857; -static const char *kData63[] = { - "# Imported from Wycheproof's ecdh_secp256r1_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: ECDH\n# Generator version: 0.4.12\n\n[curve = secp256r1]\n[encoding = asn]\n\n# tcId = 1\n# normal case\nprivate = 612465c89a023ab17855b0a6bcebfd3febb53aef84138647b5352e02c10c346\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000462d5bd3372af75fe85a040715d0f502428e07046868b0bfdfa61d731afe44f26ac333a93a9e70a81cd5a95b5bf8d13990eb741c8c38872b4a07d275a014e30cf\nresult = valid\nshared = 53020d908b0219328b658b525f26780e3ae12bcd952bb25a93bc0895e1714285\n\n# tcId = 2\n# compressed public key\nprivate = 612465c89a023ab17855b0a6bcebfd3febb53aef84138647b5352e02c10c346\npublic = 3039301306072a8648ce3d020106082a8648ce3d0301070322000362d5bd3372af75fe85a040715d0f502428e07046868b0bfdfa61d731afe44f26\nresult = acceptable\nshared = 53020d908b0219328b658b525f26780e3ae12bcd952bb25a93bc0895e1714285\n# The point in the public key is compressed. Not every library supports points\n# in compressed format.\n\n# tcId = 3\n# edge case for shared secret\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000458fd4168a87795603e2b04390285bdca6e57de6027fe211dd9d25e2212d29e62080d36bd224d7405509295eed02a17150e03b314f96da37445b0d1d29377d12c\nresult = valid\nshared = 0000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 4\n# edge case for shared secret\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200040f6d20c04261ecc3e92846acad48dc8ec5ee35ae0883f0d2ea71216906ee1c47c042689a996dd12830ae459382e94aac56b717af2e2080215f9e41949b1f52be\nresult = valid\nshared = 00000000000000000000000000000000ffffffffffffffffffffffffffffffff\n\n# tcId = 5\n# edge case for shared secret\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000400c7defeb1a16236738e9a1123ba621bc8e9a3f2485b3f8ffde7f9ce98f5a8a1cb338c3912b1792f60c2b06ec5231e2d84b0e596e9b76d419ce105ece3791dbc\nresult = valid\nshared = 0000000000000000ffffffffffffffff00000000000000010000000000000001\n\n# tcId = 6\n# edge case for shared secret\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004e9b98fb2c0ac045f8c76125ffd99eb8a5157be1d7db3e85d655ec1d8210288cf218df24fd2c2746be59df41262ef3a97d986744b2836748a7486230a319ffec0\nresult = valid\nshared = 00000000ffffffff00000000ffffffff00000000ffffffff0000000100000000\n\n# tcId = 7\n# edge case for shared secret\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004e9484e58f3331b66ffed6d90cb1c78065fa28cfba5c7dd4352013d3252ee4277bd7503b045a38b4b247b32c59593580f39e6abfa376c3dca20cf7f9cfb659e13\nresult = valid\nshared = 000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff\n\n# tcId = 8\n# edge case for shared secret\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004767d7fbb84aa6a4db1079372644e42ecb2fec200c178822392cb8b950ffdd0c91c86853cafd09b52ba2f287f0ebaa26415a3cfabaf92c6a617a19988563d9dea\nresult = valid\nshared = 0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff00010001\n\n# tcId = 9\n# edge case for shared secret\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004c74d546f2fcc6dd392f85e5be167e358de908756b0c0bb01cb69d864ca083e1c93f959eece6e10ee11bd3934207d65ae28af68b092585a1509260eceb39b92ef\nresult = valid\nshared = 085ec5a4af40176b63189069aeffcb229c96d3e046e0283ed2f9dac21b15ad3c\n\n# tcId = 10\n# edge case for shared secret\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000434fc9f1e7a094cd29598d1841fa9613dbe82313d633a51d63fb6eff074cc9b9a4ecfd9f258c5c4d4210b49751213a24c596982bd1d54e0445443f21ef15492a5\nresult = valid\nshared = 190c25f88ad9ae3a098e6cffe6fd0b1bea42114eb0cedd5868a45c5fe277dff3\n\n# tcId = 11\n# edge case for shared secret\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004d5c96efd1907fd48de2ad715acf82eae5c6690fe3efe16a78d61c68d3bfd10df03eac816b9e7b776192a3f5075887c0e225617505833ca997cda32fd0f673c5e\nresult = valid\nshared = 507442007322aa895340cba4abc2d730bfd0b16c2c79a46815f8780d2c55a2dd\n\n# tcId = 12\n# edge case for shared secret\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004f475f503a770df72c45aedfe42c008f59aa57e72b232f26600bdd0353957cb20bdb8f6405b4918050a3549f44c07a8eba820cdce4ece699888c638df66f54f7c\nresult = valid\nshared = 5f177bfe19baaaee597e68b6a87a519e805e9d28a70cb72fd40f0fe5a754ba45\n\n# tcId = 13\n# edge case for shared secret\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004f3cb6754b7e2a86d064dfb9f903185aaa4c92b481c2c1a1ff276303bbc4183e49c318599b0984c3563df339311fe143a7d921ee75b755a52c6f804f897b809f7\nresult = valid\nshared = 7fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff\n\n# tcId = 14\n# edge case for shared secret\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004cce13fbdc96a946dfb8c6d9ed762dbd1731630455689f57a437fee124dd54cecaef78026c653030cf2f314a67064236b0a354defebc5e90c94124e9bf5c4fc24\nresult = valid\nshared = 8000000000000000000000000000000000000000000000000000000000000004\n\n# tcId = 15\n# edge case for shared secret\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200047633dfd0ad06765097bc11bd5022b200df31f28c4ff0625421221ac7eeb6e6f4cb9c67693609ddd6f92343a5a1c635408240f4f8e27120c12554c7ff8c76e2fe\nresult = valid\nshared = 8000003ffffff0000007fffffe000000ffffffc000001ffffff8000004000000\n\n# tcId = 16\n# edge case for shared secret\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004a386ace573f87558a68ead2a20088e3fe928bdae9e109446f93a078c15741f0421261e6db2bf12106e4c6bf85b9581b4c0302a526222f90abc5a549206b11011\nresult = valid\nshared = ff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff\n\n# tcId = 17\n# edge case for shared secret\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200048e7b50f7d8c44d5d3496c43141a502f4a43f153d03ad43eda8e39597f1d477b8647f3da67969b7f989ff4addc393515af40c82085ce1f2ee195412c6f583774f\nresult = valid\nshared = ffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff\n\n# tcId = 18\n# edge case for shared secret\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004c827fb930fd51d926086191b502af83abb5f717debc8de29897a3934b2571ca05990c0597b0b7a2e42febd56b13235d1d408d76ed2c93b3facf514d902f6910a\nresult = valid\nshared = ffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff\n\n# tcId = 19\n# y-coordinate of the public key is small\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200043cbc1b31b43f17dc200dd70c2944c04c6cb1b082820c234a300b05b7763844c74fde0a4ef93887469793270eb2ff148287da9265b0334f9e2609aac16e8ad503\nresult = valid\nshared = 7fffffffffffffffffffffffeecf2230ffffffffffffffffffffffffffffffff\n\n# tcId = 20\n# y-coordinate of the public key is small\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200042830d96489ae24b79cad425056e82746f9e3f419ab9aa21ca1fbb11c7325e7d318abe66f575ee8a2f1c4a80e35260ae82ad7d6f661d15f06967930a585097ef7\nresult = valid\nshared = 00000000000000000000000011112", - "4f400000000000000000000000000000000\n\n# tcId = 21\n# y-coordinate of the public key is small\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004450b6b6e2097178e9d2850109518d28eb3b6ded2922a5452003bc2e4a4ec775c894e90f0df1b0e6cadb03b9de24f6a22d1bd0a4a58cd645c273cae1c619bfd61\nresult = valid\nshared = 000000000000000000000001ea77d449ffffffffffffffffffffffffffffffff\n\n# tcId = 22\n# y-coordinate of the public key is large\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200043cbc1b31b43f17dc200dd70c2944c04c6cb1b082820c234a300b05b7763844c7b021f5b006c778ba686cd8f14d00eb7d78256d9b4fccb061d9f6553e91752afc\nresult = valid\nshared = 7fffffffffffffffffffffffeecf2230ffffffffffffffffffffffffffffffff\n\n# tcId = 23\n# y-coordinate of the public key is large\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200042830d96489ae24b79cad425056e82746f9e3f419ab9aa21ca1fbb11c7325e7d3e754198fa8a1175e0e3b57f1cad9f517d528290a9e2ea0f96986cf5a7af68108\nresult = valid\nshared = 000000000000000000000000111124f400000000000000000000000000000000\n\n# tcId = 24\n# y-coordinate of the public key is large\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004450b6b6e2097178e9d2850109518d28eb3b6ded2922a5452003bc2e4a4ec775c76b16f0e20e4f194524fc4621db095dd2e42f5b6a7329ba3d8c351e39e64029e\nresult = valid\nshared = 000000000000000000000001ea77d449ffffffffffffffffffffffffffffffff\n\n# tcId = 25\n# y-coordinate of the public key has many trailing 1's\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200049a0f0e3dd31417bbd9e298bc068ab6d5c36733af26ed67676f410c804b8b2ca1b02c82f3a61a376db795626e9400557112273a36cddb08caaa43953965454730\nresult = valid\nshared = 7fffffffffffffffffffffffca089011ffffffffffffffffffffffffffffffff\n\n# tcId = 26\n# y-coordinate of the public key has many trailing 1's\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200048e5d22d5e53ec797c55ecd68a08a7c3361cd99ca7fad1a68ea802a6a4cb58a918ea7a07023ef67677024bd3841e187c64b30a30a3750eb2ee873fbe58fa1357b\nresult = valid\nshared = 0000000000000000000000001f6bd1e500000000000000000000000000000000\n\n# tcId = 27\n# y-coordinate of the public key has many trailing 1's\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004293aa349b934ab2c839cf54b8a737df2304ef9b20fa494e31ad62b315dd6a53c118182b85ef466eb9a8e87f9661f7d017984c15ea82043f536d1ee6a6d95b509\nresult = valid\nshared = 000000000000000000000002099f55d5ffffffffffffffffffffffffffffffff\n\n# tcId = 28\n# y-coordinate of the public key has many trailing 0's\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200049a0f0e3dd31417bbd9e298bc068ab6d5c36733af26ed67676f410c804b8b2ca14fd37d0b59e5c893486a9d916bffaa8eedd8c5ca3224f73555bc6ac69abab8cf\nresult = valid\nshared = 7fffffffffffffffffffffffca089011ffffffffffffffffffffffffffffffff\n\n# tcId = 29\n# y-coordinate of the public key has many trailing 0's\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200048e5d22d5e53ec797c55ecd68a08a7c3361cd99ca7fad1a68ea802a6a4cb58a9171585f8edc1098998fdb42c7be1e7839b4cf5cf6c8af14d1178c041a705eca84\nresult = valid\nshared = 0000000000000000000000001f6bd1e500000000000000000000000000000000\n\n# tcId = 30\n# y-coordinate of the public key has many trailing 0's\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004293aa349b934ab2c839cf54b8a737df2304ef9b20fa494e31ad62b315dd6a53cee7e7d46a10b99156571780699e082fe867b3ea257dfbc0ac92e1195926a4af6\nresult = valid\nshared = 000000000000000000000002099f55d5ffffffffffffffffffffffffffffffff\n\n# tcId = 31\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004000000000000000000000000000000000000000000000000000000000000000066485c780e2f83d72433bd5d84a06bb6541c2af31dae871728bf856a174f93f4\nresult = valid\nshared = cfe4077c8730b1c9384581d36bff5542bc417c9eff5c2afcb98cc8829b2ce848\n\n# tcId = 32\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000400000000000000000000000000000000ffffffffffffffffffffffffffffffff4f2b92b4c596a5a47f8b041d2dea6043021ac77b9a80b1343ac9d778f4f8f733\nresult = valid\nshared = 49ae50fe096a6cd26698b78356b2c8adf1f6a3490f14e364629f7a0639442509\n\n# tcId = 33\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200040000000000000000ffffffffffffffff0000000000000001000000000000000138120be6ab31edfa34768c4387d2f84fb4b0be8a9a985864a1575f4436bb37b0\nresult = valid\nshared = 5a1334572b2a711ead8b4653eb310cd8d9fd114399379a8f6b872e3b8fdda2d9\n\n# tcId = 34\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000400000000ffffffff00000000ffffffff00000000ffffffff0000000100000000462c0466e41802238d6c925ecbefc747cfe505ea196af9a2d11b62850fce946e\nresult = valid\nshared = c73755133b6b9b4b2a00631cbc7940ecbe6ec08f20448071422e3362f2556888\n\n# tcId = 35\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff1582fa32e2d4a89dfcfb3d0b149f667dba3329490f4d64ee2ad586c0c9e8c508\nresult = valid\nshared = 06fa1059935e47a9fd667e13f469614eb257cc9a7e3fc599bfb92780d59b146d\n\n# tcId = 36\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200040000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff00010001684c8a9586ed6f9cbe447058a7da2108bab1e5e0a60d1f73e4e2e713f0a3dfe0\nresult = valid\nshared = f237df4c10bd3e357971bb2b16b293566b7e355bdc8141d6c92cabc682983c45\n\n# tcId = 37\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004085ec5a4af40176b63189069aeffcb229c96d3e046e0283ed2f9dac21b15ad3c7859f97cb6e203f46bf3438f61282325e94e681b60b5669788aeb0655bf19d38\nresult = valid\nshared = d874b55678d0a04d216c31b02f3ad1f30c92caaf168f34e3a743356d9276e993\n\n# tcId = 38\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004190c25f88ad9ae3a098e6cffe6fd0b1bea42114eb0cedd5868a45c5fe277dff321b8342ef077bc6724112403eaee5a15b4c31a71589f02ded09cd99cc5db9c83\nresult = valid\nshared = 11a8582057463fc76fda3ab8087eb0a420b0d601bb3134165a369646931e52a6\n\n# tcId = 39\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004507442007322aa895340cba4abc2d730bfd0b16c2c79a46815f8780d2c55a2dd4619d69f9940f51663aa12381bc7cf678bd1a72a49fbc11b0b69cb22d1af9f2d\nresult = valid\nshared = 4e173a80907f361fe5a5d335ba7685d5eba93e9dfc8d8fcdb1dcd2d2bde27507\n\n# tcId = 40\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200045f177bfe19baaaee597e68b6a87a519e805e9d28a70cb72fd40f0fe5a754ba4562ca1103f70a2006cd1f67f5f6a3580b29dc446abc90e0e910c1e05a9aa788cd\nresult = valid\nshared = 73220471ec8bad99a297db488a34a259f", - "9bc891ffaf09922e6b5001f5df67018\n\n# tcId = 41\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200047fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff2e2213caf03033e0fd0f7951154f6e6c3a9244a72faca65e9ce9eeb5c8e1cea9\nresult = valid\nshared = 55d0a203e22ffb523c8d2705060cee9d28308b51f184beefc518cff690bad346\n\n# tcId = 42\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000480000000000000000000000000000000000000000000000000000000000000042be8789db81bb4870a9e60c5c18c80c83de464277281f1af1e640843a1a3148e\nresult = valid\nshared = 2518d846e577d95e9e7bc766cde7997cb887fb266d3a6cb598a839fd54aa2f4f\n\n# tcId = 43\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200048000003ffffff0000007fffffe000000ffffffc000001ffffff8000004000000722540f8a471c379083c600b58fde4d95c7dcad5095f4219fc5e9bdde3c5cd39\nresult = valid\nshared = bdb49f4bdf42ac64504e9ce677b3ec5c0a03828c5b3efad726005692d35c0f26\n\n# tcId = 44\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004ff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff5df80fc6cae26b6c1952fbd00ed174ee1209d069335f5b48588e29e80b9191ad\nresult = valid\nshared = f503ac65637e0f17cb4408961cb882c875e4c6ef7a548d2d52d8c2f681838c55\n\n# tcId = 45\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004ffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff2c63650e6a5d332e2987dd09a79008e8faabbd37e49cb016bfb92c8cd0f5da77\nresult = valid\nshared = e3c18e7d7377dc540bc45c08d389bdbe255fa80ca8faf1ef6b94d52049987d21\n\n# tcId = 46\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004ffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff7a116c964a4cd60668bf89cffe157714a3ce21b93b3ca607c8a5b93ac54ffc0a\nresult = valid\nshared = 516d6d329b095a7c7e93b4023d4d05020c1445ef1ddcb3347b3a27d7d7f57265\n\n# tcId = 47\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200047fffffffffffffffffffffffeecf2230ffffffffffffffffffffffffffffffff00000001c7c30643abed0af0a49fe352cb483ff9b97dccdf427c658e8793240d\nresult = valid\nshared = 6fd26661851a8de3c6d06f834ef3acb8f2a5f9c136a985ffe10d5eeb51edcfa3\n\n# tcId = 48\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200047fffffffffffffffffffffffeecf2230fffffffffffffffffffffffffffffffffffffffd383cf9bd5412f50f5b601cad34b7c00746823320bd839a71786cdbf2\nresult = valid\nshared = 6fd26661851a8de3c6d06f834ef3acb8f2a5f9c136a985ffe10d5eeb51edcfa3\n\n# tcId = 49\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200047fffffffffffffffffffffffca089011ffffffffffffffffffffffffffffffff267bfdf8a61148decd80283732dd4c1095e4bb40b9658408208dc1147fffffff\nresult = valid\nshared = 44236c8b9505a19d48774a3903c0292759b0f826e6ac092ff898d87e53d353fc\n\n# tcId = 50\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200047fffffffffffffffffffffffca089011ffffffffffffffffffffffffffffffffd984020659eeb722327fd7c8cd22b3ef6a1b44c0469a7bf7df723eeb80000000\nresult = valid\nshared = 44236c8b9505a19d48774a3903c0292759b0f826e6ac092ff898d87e53d353fc\n\n# tcId = 51\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004000000000000000000000000111124f4000000000000000000000000000000000000000d12d381b0760b1c50be8acf859385052c7f53cde67ce13759de3123a0\nresult = valid\nshared = f1f0e43b374feb7e7f96d4ffe7519fa8bb6c3cfd25f6f87dab2623d2a2d33851\n\n# tcId = 52\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004000000000000000000000000111124f400000000000000000000000000000000fffffff1ed2c7e5089f4e3af4175307a6c7afad480ac3219831ec8a621cedc5f\nresult = valid\nshared = f1f0e43b374feb7e7f96d4ffe7519fa8bb6c3cfd25f6f87dab2623d2a2d33851\n\n# tcId = 53\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200040000000000000000000000001f6bd1e5000000000000000000000000000000004096edd6871c320cb8a9f4531751105c97b4c257811bbc32963eaf39ffffffff\nresult = valid\nshared = 3ebbace1098a81949d5605dd94a7aa88dc396c2c23e01a9c8cca5bb07bfbb6a1\n\n# tcId = 54\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200040000000000000000000000001f6bd1e500000000000000000000000000000000bf69122878e3cdf447560bace8aeefa3684b3da97ee443cd69c150c600000000\nresult = valid\nshared = 3ebbace1098a81949d5605dd94a7aa88dc396c2c23e01a9c8cca5bb07bfbb6a1\n\n# tcId = 55\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004000000000000000000000001ea77d449ffffffffffffffffffffffffffffffff000000007afbc0b325e820646dec622fb558a51c342aa257f4b6a8ec5ddf144f\nresult = valid\nshared = 1b085213a9c89d353e1111af078c38c502b7b4771efba51f589b5be243417bdc\n\n# tcId = 56\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004000000000000000000000001ea77d449fffffffffffffffffffffffffffffffffffffffe85043f4dda17df9b92139dd04aa75ae4cbd55da80b495713a220ebb0\nresult = valid\nshared = 1b085213a9c89d353e1111af078c38c502b7b4771efba51f589b5be243417bdc\n\n# tcId = 57\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004000000000000000000000002099f55d5ffffffffffffffffffffffffffffffff152c1a22d823a27855ed03f8e2ab5038bb1df4d87e43865f2daf6948ffffffff\nresult = valid\nshared = 67cb63566c7ceb12fdd85ce9d2f77c359242bbaa0ea1bf3cf510a4a26591d1f1\n\n# tcId = 58\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004000000000000000000000002099f55d5ffffffffffffffffffffffffffffffffead3e5dc27dc5d88aa12fc071d54afc744e20b2881bc79a0d25096b700000000\nresult = valid\nshared = 67cb63566c7ceb12fdd85ce9d2f77c359242bbaa0ea1bf3cf510a4a26591d1f1\n\n# tcId = 59\n# edge case private key\nprivate = 3\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b\nresult = valid\nshared = 85a0b58519b28e70a694ec5198f72c4bfdabaa30a70f7143b5b1cd7536f716ca\n\n# tcId = 60\n# edge case private key\nprivate = 0ffffffffffffffffffffffffffffffffffffffffffffffffffffffff\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b\nresult = valid\nshared = a329a7d80424ea2d6c904393808e510dfbb28155092f1bac284dceda1f13afe5\n\n# tcId = 61\n# edge case private key\nprivate = 100000000000000000000000000000000000000000000000000000000000000\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a193", - "0189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b\nresult = valid\nshared = bd26d0293e8851c51ebe0d426345683ae94026aca545282a4759faa85fde6687\n\n# tcId = 62\n# edge case private key\nprivate = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b\nresult = valid\nshared = ea9350b2490a2010c7abf43fb1a38be729a2de375ea7a6ac34ff58cc87e51b6c\n\n# tcId = 63\n# edge case private key\nprivate = 08000000000000000000000000000000000000000000000000000000000000000\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b\nresult = valid\nshared = 34eed3f6673d340b6f716913f6dfa36b5ac85fa667791e2d6a217b0c0b7ba807\n\n# tcId = 64\n# edge case private key\nprivate = 0ffffffff00000000ffffffffffffffffbce6faada7179e83f3b9cac2fc632551\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b\nresult = valid\nshared = 1354ce6692c9df7b6fc3119d47c56338afbedccb62faa546c0fe6ed4959e41c3\n\n# tcId = 65\n# edge case private key\nprivate = 0ffffffff00000000ffffffffffffffffbce6faada7179e84f3a9cac2fc632551\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b\nresult = valid\nshared = fe7496c30d534995f0bf428b5471c21585aaafc81733916f0165597a55d12cb4\n\n# tcId = 66\n# edge case private key\nprivate = 0ffffffff00000000ffffffffffffffffbce6faada7179e84f3b1cac2fc632551\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b\nresult = valid\nshared = 348bf8042e4edf1d03c8b36ab815156e77c201b764ed4562cfe2ee90638ffef5\n\n# tcId = 67\n# edge case private key\nprivate = 0ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac1fc632551\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b\nresult = valid\nshared = 6e4ec5479a7c20a537501700484f6f433a8a8fe53c288f7a25c8e8c92d39e8dc\n\n# tcId = 68\n# edge case private key\nprivate = 0ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6324f3\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b\nresult = valid\nshared = f7407d61fdf581be4f564621d590ca9b7ba37f31396150f9922f1501da8c83ef\n# The private key has a special value. Implementations using addition\n# subtraction chains for the point multiplication may get the point at infinity\n# as an intermediate result. See CVE_2017_10176\n\n# tcId = 69\n# edge case private key\nprivate = 0ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632533\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b\nresult = valid\nshared = 82236fd272208693e0574555ca465c6cc512163486084fa57f5e1bd2e2ccc0b3\n# The private key has a special value. Implementations using addition\n# subtraction chains for the point multiplication may get the point at infinity\n# as an intermediate result. See CVE_2017_10176\n\n# tcId = 70\n# edge case private key\nprivate = 0ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632543\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b\nresult = valid\nshared = 06537149664dba1a9924654cb7f787ed224851b0df25ef53fcf54f8f26cd5f3f\n# The private key has a special value. Implementations using addition\n# subtraction chains for the point multiplication may get the point at infinity\n# as an intermediate result. See CVE_2017_10176\n\n# tcId = 71\n# edge case private key\nprivate = 0ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254b\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b\nresult = valid\nshared = f2b38539bce995d443c7bfeeefadc9e42cc2c89c60bf4e86eac95d51987bd112\n# The private key has a special value. Implementations using addition\n# subtraction chains for the point multiplication may get the point at infinity\n# as an intermediate result. See CVE_2017_10176\n\n# tcId = 72\n# edge case private key\nprivate = 0ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254e\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b\nresult = valid\nshared = 85a0b58519b28e70a694ec5198f72c4bfdabaa30a70f7143b5b1cd7536f716ca\n\n# tcId = 73\n# edge case private key\nprivate = 0ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254f\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b\nresult = valid\nshared = 027b013a6f166db655d69d643c127ef8ace175311e667dff2520f5b5c75b7659\n# The private key has a special value. Implementations using addition\n# subtraction chains for the point multiplication may get the point at infinity\n# as an intermediate result. See CVE_2017_10176\n\n# tcId = 74\n# CVE-2017-8932\nprivate = 2a265f8bcbdcaf94d58519141e578124cb40d64a501fba9c11847b28965bc737\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004023819813ac969847059028ea88a1f30dfbcde03fc791d3a252c6b41211882eaf93e4ae433cc12cf2a43fc0ef26400c0e125508224cdb649380f25479148a4ad\nresult = valid\nshared = 4d4de80f1534850d261075997e3049321a0864082d24a917863366c0724f5ae3\n\n# tcId = 75\n# CVE-2017-8932\nprivate = 313f72ff9fe811bf573176231b286a3bdb6f1b14e05c40146590727a71c3bccd\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004cc11887b2d66cbae8f4d306627192522932146b42f01d3c6f92bd5c8ba739b06a2f08a029cd06b46183085bae9248b0ed15b70280c7ef13a457f5af382426031\nresult = valid\nshared = 831c3f6b5f762d2f461901577af41354ac5f228c2591f84f8a6e51e2e3f17991\n\n# tcId = 76\n# point is not on curve\nprivate = 7e4aa54f714bf01df85c50269bea3a86721f84afe74f7b41ea58abcf3474e88d\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = invalid\nshared = \n\n# tcId = 77\n# point is not on curve\nprivate = 7e4aa54f714bf01df85c50269bea3a86721f84afe74f7b41ea58abcf3474e88d\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nresult = invalid\nshared = \n\n# tcId = 78\n# point is not on curve\nprivate = 7e4aa54f714bf01df85c50269bea3a86721f84afe74f7b41ea58abcf3474e88d\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200040000000000000000000000000000000000000000000000000000000000000000ffffffff00000001000000000000000000000000fffffffffffffffffffffffe\nresult = invalid\nshared = \n\n# tcId = 79\n# point is not on curve\nprivate = 7e4aa54f714bf01df85c50269bea3a86721f84afe74f7b41ea58abcf3474e88d\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200040000000000000000000000000000000000000000000000000000000000000000ffffffff00000001000000000000000000000000ffffffffffffffffffffffff\nresult = invalid\nshared = \n\n# tcId = 80\n# point is not on curve\nprivate = 7e4aa54f714bf01df85c50269bea3a86721f84afe74f7b41ea58abcf3474e88d\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200040000000000000000000000000000000000000000000000000000000000", - "0000010000000000000000000000000000000000000000000000000000000000000000\nresult = invalid\nshared = \n\n# tcId = 81\n# point is not on curve\nprivate = 7e4aa54f714bf01df85c50269bea3a86721f84afe74f7b41ea58abcf3474e88d\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001\nresult = invalid\nshared = \n\n# tcId = 82\n# point is not on curve\nprivate = 7e4aa54f714bf01df85c50269bea3a86721f84afe74f7b41ea58abcf3474e88d\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200040000000000000000000000000000000000000000000000000000000000000001ffffffff00000001000000000000000000000000fffffffffffffffffffffffe\nresult = invalid\nshared = \n\n# tcId = 83\n# point is not on curve\nprivate = 7e4aa54f714bf01df85c50269bea3a86721f84afe74f7b41ea58abcf3474e88d\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200040000000000000000000000000000000000000000000000000000000000000001ffffffff00000001000000000000000000000000ffffffffffffffffffffffff\nresult = invalid\nshared = \n\n# tcId = 84\n# point is not on curve\nprivate = 7e4aa54f714bf01df85c50269bea3a86721f84afe74f7b41ea58abcf3474e88d\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004ffffffff00000001000000000000000000000000fffffffffffffffffffffffe0000000000000000000000000000000000000000000000000000000000000000\nresult = invalid\nshared = \n\n# tcId = 85\n# point is not on curve\nprivate = 7e4aa54f714bf01df85c50269bea3a86721f84afe74f7b41ea58abcf3474e88d\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004ffffffff00000001000000000000000000000000fffffffffffffffffffffffe0000000000000000000000000000000000000000000000000000000000000001\nresult = invalid\nshared = \n\n# tcId = 86\n# point is not on curve\nprivate = 7e4aa54f714bf01df85c50269bea3a86721f84afe74f7b41ea58abcf3474e88d\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004ffffffff00000001000000000000000000000000fffffffffffffffffffffffeffffffff00000001000000000000000000000000fffffffffffffffffffffffe\nresult = invalid\nshared = \n\n# tcId = 87\n# point is not on curve\nprivate = 7e4aa54f714bf01df85c50269bea3a86721f84afe74f7b41ea58abcf3474e88d\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004ffffffff00000001000000000000000000000000fffffffffffffffffffffffeffffffff00000001000000000000000000000000ffffffffffffffffffffffff\nresult = invalid\nshared = \n\n# tcId = 88\n# point is not on curve\nprivate = 7e4aa54f714bf01df85c50269bea3a86721f84afe74f7b41ea58abcf3474e88d\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004ffffffff00000001000000000000000000000000ffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000\nresult = invalid\nshared = \n\n# tcId = 89\n# point is not on curve\nprivate = 7e4aa54f714bf01df85c50269bea3a86721f84afe74f7b41ea58abcf3474e88d\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004ffffffff00000001000000000000000000000000ffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000001\nresult = invalid\nshared = \n\n# tcId = 90\n# point is not on curve\nprivate = 7e4aa54f714bf01df85c50269bea3a86721f84afe74f7b41ea58abcf3474e88d\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004ffffffff00000001000000000000000000000000ffffffffffffffffffffffffffffffff00000001000000000000000000000000fffffffffffffffffffffffe\nresult = invalid\nshared = \n\n# tcId = 91\n# point is not on curve\nprivate = 7e4aa54f714bf01df85c50269bea3a86721f84afe74f7b41ea58abcf3474e88d\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004ffffffff00000001000000000000000000000000ffffffffffffffffffffffffffffffff00000001000000000000000000000000ffffffffffffffffffffffff\nresult = invalid\nshared = \n\n# tcId = 92\nprivate = 7e4aa54f714bf01df85c50269bea3a86721f84afe74f7b41ea58abcf3474e88d\npublic = 3018301306072a8648ce3d020106082a8648ce3d030107030100\nresult = invalid\nshared = \n\n# tcId = 93\n# public point not on curve\nprivate = 4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764c\nresult = invalid\nshared = \n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n\n# tcId = 94\n# public point = (0,0)\nprivate = 4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = invalid\nshared = \n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n\n# tcId = 95\n# order =\n# -115792089210356248762697446949407573529996955224135760342422259061068512044369\nprivate = 4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c\npublic = 308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f50221ff00000000ffffffff00000000000000004319055258e8617b0c46353d039cdaaf020101034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a\nresult = invalid\nshared = d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a\n# The order of the public key has been modified. If this order is used in a\n# cryptographic primitive instead of the correct order then private keys may\n# leak. E.g. ECDHC in BC 1.52 suffered from this.\n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 96\n# order = 0\nprivate = 4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c\npublic = 308201133081cc06072a8648ce3d02013081c0020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5020100020101034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a\nresult = invalid\nshared = d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a\n# The order of the public key has been modified. If this order is used in a\n# cryptographic pri", - "mitive instead of the correct order then private keys may\n# leak. E.g. ECDHC in BC 1.52 suffered from this.\n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 97\n# order = 1\nprivate = 4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c\npublic = 308201133081cc06072a8648ce3d02013081c0020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5020101020101034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a\nresult = acceptable\nshared = d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a\n# The order of the public key has been modified. If this order is used in a\n# cryptographic primitive instead of the correct order then private keys may\n# leak. E.g. ECDHC in BC 1.52 suffered from this.\n# A parameter that is typically not used for ECDH has been modified. Sometimes\n# libraries ignore small differences between public and private key. For\n# example, a library might ignore an incorrect cofactor in the public key. We\n# consider ignoring such changes as acceptable as long as these differences do\n# not change the outcome of the ECDH computation, i.e. as long as the\n# computation is done on the curve from the private key.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 98\n# order = 26959946660873538060741835960514744168612397095220107664918121663170\nprivate = 4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c\npublic = 3082012f3081e806072a8648ce3d02013081dc020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5021d00ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2020101034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a\nresult = acceptable\nshared = d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a\n# The order of the public key has been modified. If this order is used in a\n# cryptographic primitive instead of the correct order then private keys may\n# leak. E.g. ECDHC in BC 1.52 suffered from this.\n# A parameter that is typically not used for ECDH has been modified. Sometimes\n# libraries ignore small differences between public and private key. For\n# example, a library might ignore an incorrect cofactor in the public key. We\n# consider ignoring such changes as acceptable as long as these differences do\n# not change the outcome of the ECDH computation, i.e. as long as the\n# computation is done on the curve from the private key.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 99\n# generator = (0,0)\nprivate = 4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c\npublic = 308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b04410400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551020101034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a\nresult = acceptable\nshared = d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a\n# A parameter that is typically not used for ECDH has been modified. Sometimes\n# libraries ignore small differences between public and private key. For\n# example, a library might ignore an incorrect cofactor in the public key. We\n# consider ignoring such changes as acceptable as long as these differences do\n# not change the outcome of the ECDH computation, i.e. as long as the\n# computation is done on the curve from the private key.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 100\n# generator not on curve\nprivate = 4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c\npublic = 308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f7022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551020101034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a\nresult = acceptable\nshared = d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a\n# A parameter that is typically not used for ECDH has been modified. Sometimes\n# libraries ignore small differences between public and private key. For\n# example, a library might ignore an incorrect cofactor in the public key. We\n# consider ignoring such changes as acceptable as long as these differences do\n# not change the outcome of the ECDH computation, i.e. as long as the\n# computation is done on the curve from the private key.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 101\n# cofactor = -1\nprivate = 4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c\npublic = 308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff0000000100000000000000000000", - "0000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6325510201ff034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a\nresult = invalid\nshared = d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a\n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 102\n# cofactor = 0\nprivate = 4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c\npublic = 308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551020100034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a\nresult = invalid\nshared = d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a\n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 103\n# cofactor = 2\nprivate = 4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c\npublic = 308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551020102034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a\nresult = acceptable\nshared = d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a\n# A parameter that is typically not used for ECDH has been modified. Sometimes\n# libraries ignore small differences between public and private key. For\n# example, a library might ignore an incorrect cofactor in the public key. We\n# consider ignoring such changes as acceptable as long as these differences do\n# not change the outcome of the ECDH computation, i.e. as long as the\n# computation is done on the curve from the private key.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 104\n# cofactor =\n# 115792089210356248762697446949407573529996955224135760342422259061068512044369\nprivate = 4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c\npublic = 308201553082010d06072a8648ce3d020130820100020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a\nresult = invalid\nshared = d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a\n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 105\n# cofactor = None\nprivate = 4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c\npublic = 308201303081e906072a8648ce3d02013081dd020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a\nresult = acceptable\nshared = d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a\n# A parameter that is typically not used for ECDH has been modified. Sometimes\n# libraries ignore small differences between public and private key. For\n# example, a library might ignore an incorrect cofactor in the public key. We\n# consider ignoring such changes as acceptable as long as these differences do\n# not change the outcome of the ECDH computation, i.e. as long as the\n# computation is done on the curve from the private key.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 106\n# modified prime\nprivate = 4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c\npublic = 308201333081ec06072a8648ce3d02013081e002010130", - "2c06072a8648ce3d0101022100fd091059a6893635f900e9449d63f572b2aebc4cff7b4e5e33f1b200e8bbc1453044042002f6efa55976c9cb06ff16bb629c0a8d4d5143b40084b1a1cc0e4dff17443eb704205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441040000000000000000000006597fa94b1fd90000000000000000000000000000021b8c7dd77f9a95627922eceefea73f028f1ec95ba9b8fa95a3ad24bdf9fff414022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551020101034200040000000000000000000006597fa94b1fd90000000000000000000000000000021b8c7dd77f9a95627922eceefea73f028f1ec95ba9b8fa95a3ad24bdf9fff414\nresult = invalid\nshared = cea0fbd8f20abc8cf8127c132e29756d25ff1530a88bf5c9e22dc1c137c36be9\n# The modulus of the public key has been modified. The public point of the\n# public key has been chosen so that it is both a point on both the curve of the\n# modified public key and the private key.\n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 107\n# using secp224r1\nprivate = 4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c\npublic = 304e301006072a8648ce3d020106052b81040021033a0004074f56dc2ea648ef89c3b72e23bbd2da36f60243e4d2067b70604af1c2165cec2f86603d60c8a611d5b84ba3d91dfe1a480825bcc4af3bcf\nresult = invalid\nshared = \n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n\n# tcId = 108\n# using secp256k1\nprivate = 4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c\npublic = 3056301006072a8648ce3d020106052b8104000a03420004a1263e75b87ae0937060ff1472f330ee55cdf8f4329d6284a9ebfbcc856c11684225e72cbebff41e54fb6f00e11afe53a17937bedbf2df787f8ef9584f775838\nresult = invalid\nshared = \n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n\n# tcId = 109\n# a = 0\nprivate = 4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c\npublic = 308201143081cd06072a8648ce3d02013081c1020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff302504010004201b95c2f46065dbf0f3ff09153e4748ed71595e0774ba8e25c364ff1e6be039b70441041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551020101034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a\nresult = acceptable\nshared = d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a\n# A parameter that is typically not used for ECDH has been modified. Sometimes\n# libraries ignore small differences between public and private key. For\n# example, a library might ignore an incorrect cofactor in the public key. We\n# consider ignoring such changes as acceptable as long as these differences do\n# not change the outcome of the ECDH computation, i.e. as long as the\n# computation is done on the curve from the private key.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 110\n# public key of order 3\nprivate = 4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c\npublic = 308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff304404205a715b6a9ef865f5058e21e20b575d9d585533bd588a9d5fb61cd69534b4e581042036a1a972d367abf9054cce4d54424592882c345283dc9cf0ec47231711f56b22044104d68a3dfbaeb2d277742e833c51625c2ded89b13ea1ec5d33b9cbca77334d79ec89c97eb4143dc3c88d1925fc4f30baba454bb201e5c0d3158ec98bb1fd045e12022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63255102010103420004d68a3dfbaeb2d277742e833c51625c2ded89b13ea1ec5d33b9cbca77334d79ec7636814aebc23c3872e6da03b0cf4545bab44dff1a3f2cea7136744e02fba1ed\nresult = invalid\nshared = f0652d1cc135c763cd51e429d320a6101634d13b59790c3b1db0063f9f00dc99\n# The vector contains a weak public key. The curve is not a named curve, the\n# public key point has order 3 and has been chosen to be on the same curve as\n# the private key. This test vector is used to check ECC implementations for\n# missing steps in the verification of the public key.\n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 111\n# Public key uses wrong curve: secp224r1\nprivate = 0b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297\npublic = 304e301006072a8648ce3d020106052b81040021033a00042af270d2a6030e3dd38cc46e7d719f176c2ca4eb04d7e8b84290c8edbcaed964ebe226b2d7ce17251622804c0d3b7adce020a3cdc97cac6c\nresult = invalid\nshared = \n\n# tcId = 112\n# Public key uses wrong curve: secp384r1\nprivate = 0b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297\npublic = 3076301006072a8648ce3d020106052b81040022036200041f17901e731b06f349b6e9d7d17d45e8a2b46115a47485be16197932db87b39405b5c941b36fd61b9ef7dd20878e129e55a2277099c601dcdb3747f80ad6e166116378e1ebce2c95744a0986128cfeeaac7f90b71787d9a1cfe417cd4c8f6af5\nresult = invalid\nshared = \n\n# tcId = 113\n# Public key uses wrong curve: secp521r1\nprivate = 0b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400ed76e5888428fad409ff203ab298b0f24827c091939ae0f9b1245d865ac5fbcd2749f9ae6c90fa8e29414d1bc7dc7b3c4aca904cd824484421cc66fe6af43bdfd200c1f790a0b3ae994937f91b6bdb9778b08c83ecadb8cba22a78c37bf565dac164f18e719be0ef890ee5cbf20e17fcfc9a5585e5416470b9862f82fb769339994f4e\nresult = invalid\nshared = \n\n# tcId = 114\n# Public key uses wrong curve: secp256k1\nprivate = 0b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297\npublic = 3056301006072a8648ce3d020106052b8104000a034200048028d16082b07696d4aa4aab9d6b1f1463435ac097900631108f9888e13da67c4841fd8dd3ced6e7ad8c6fc656621c2f93d3db0eb29d48d1423154519865dbc1\nresult = in", - "valid\nshared = \n\n# tcId = 115\n# Public key uses wrong curve: brainpoolP224r1\nprivate = 0b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297\npublic = 3052301406072a8648ce3d020106092b2403030208010105033a0004a6bae3d155c1f9ca263928c986ede69acefd0dd9b3a19d2b9f4b0a3a66bea5d167318dcc028945fc1b40c60ce716ba2d414a743c6b856a6f\nresult = invalid\nshared = \n\n# tcId = 116\n# Public key uses wrong curve: brainpoolP256r1\nprivate = 0b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297\npublic = 305a301406072a8648ce3d020106092b2403030208010107034200045d3ddbbb9bc071d8b59855c74bdf3541ae4cb6c1a24ec439034df7abde16a346523edf6a67896b304cb2cd2a083eec2b16935bbc910e85ec6eae38b50230bf70\nresult = invalid\nshared = \n\n# tcId = 117\n# Public key uses wrong curve: brainpoolP320r1\nprivate = 0b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297\npublic = 306a301406072a8648ce3d020106092b240303020801010903520004a43c6ef2500723d54c1fc88f8844d83445ca5a0f585c10b8eb3f022d47d0e84862b7f5cbf97d352d4348ca730f600f2258d1d192da223f6ba83a7cc0d6da598d55c2b77824d326c8df000b8fff156d2c\nresult = invalid\nshared = \n\n# tcId = 118\n# Public key uses wrong curve: brainpoolP384r1\nprivate = 0b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297\npublic = 307a301406072a8648ce3d020106092b240303020801010b036200042391c062833d1e6d89ec256cf4a3989534c1ead5e1e14ffae933a53f962857e4713087e1b3d65ac79634c71577af24698b5ce959183835551f7b08aef7853378c299930b360813fd58d5e4da8b37d5a7473e891ee11cb02881bd848b364fb7d5\nresult = invalid\nshared = \n\n# tcId = 119\n# Public key uses wrong curve: brainpoolP512r1\nprivate = 0b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297\npublic = 30819b301406072a8648ce3d020106092b240303020801010d038182000484beae85096640953c1fd6ebbc32697263d53f89943cbaf14432061aea8c0318acbd9389ab1d2e904fa0e081d08cfabb614ed9bca618211142d94623c14b476a25e47abf98fd3b1da1417dfc2e2cfc8424b16ea14dd45e1422be7d4e0a5cc7f4d4ab5f198cdbaaa3f642ec6361842cbe869382ee78cd596ff5e740d9ec2c3ad6\nresult = invalid\nshared = \n\n# tcId = 120\n# Public key uses wrong curve: brainpoolP224t1\nprivate = 0b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297\npublic = 3052301406072a8648ce3d020106092b2403030208010106033a00042b0a1a858ffc44e7752940731d378f96570837e279ea3948fe00cff8b5f89adb4e2fe6f8781ba6426364f4590b34dd79fc80629de4a86084\nresult = invalid\nshared = \n\n# tcId = 121\n# Public key uses wrong curve: brainpoolP256t1\nprivate = 0b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297\npublic = 305a301406072a8648ce3d020106092b2403030208010108034200043037c01b4a5ac53742e3f5528dffb0f010ab6ebeb08d792b32e19e9006ca331a024b67698d7cf4b575ccd9389441d5c640b77c63771cef1bd85675361c6602a4\nresult = invalid\nshared = \n\n# tcId = 122\n# Public key uses wrong curve: brainpoolP320t1\nprivate = 0b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297\npublic = 306a301406072a8648ce3d020106092b240303020801010a035200040f0fd972a495a140124a4019291a20f5b39fb755c126bf268643bb3091eca44f2a3cda1dead6ab1f4fe08a4b3872423f71e5bf96b1c20bc0ca73b7e2c134cc14a5f77bc838ebcf01084da3bf15663536\nresult = invalid\nshared = \n\n# tcId = 123\n# Public key uses wrong curve: brainpoolP384t1\nprivate = 0b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297\npublic = 307a301406072a8648ce3d020106092b240303020801010c0362000403b65faf5a6bf74bd5c166278a4b566c6c705ac6363e61f3b0699e116d3c5b19e8b7021b75b005f78a8cea8de34c49397f9b3b2bfc8706eb8163c802371eff7dfc825c40aa84dd9d1c4b34615ee5ae28c6c05d58d2a8ccc3786382b712d3bcda\nresult = invalid\nshared = \n\n# tcId = 124\n# Public key uses wrong curve: brainpoolP512t1\nprivate = 0b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297\npublic = 30819b301406072a8648ce3d020106092b240303020801010e03818200047504d660943a69ab043378e44c034896534a346e0e95f35fcaad3503b490856bfb20a753ecabc6d7bfeec28d057f919923b7d3c086953eb16c5bd287b59788db72dbb7c273854294c927ea7eca205aae2f0830e5faaddad8316231bfc3572c85c33cb7054e04c8936e3ce059c907e59f40593444e590b31820bc1f514ed0ec8a\nresult = invalid\nshared = \n\n# tcId = 125\n# invalid public key\nprivate = 6f953faff3599e6c762d7f4cabfeed092de2add1df1bc5748c6cbb725cf35458\npublic = 3039301306072a8648ce3d020106082a8648ce3d03010703220002fd4bf61763b46581fd9174d623516cf3c81edd40e29ffa2777fb6cb0ae3ce535\nresult = invalid\nshared = \n# The point in the public key is compressed. Not every library supports points\n# in compressed format.\n\n# tcId = 126\n# public key is a low order point on twist\nprivate = 0d27edf0ff5b6b6b465753e7158370332c153b468a1be087ad0f490bdb99e5f02\npublic = 3039301306072a8648ce3d020106082a8648ce3d03010703220003efdde3b32872a9effcf3b94cbf73aa7b39f9683ece9121b9852167f4e3da609b\nresult = invalid\nshared = \n# The point in the public key is compressed. Not every library supports points\n# in compressed format.\n\n# tcId = 127\n# public key is a low order point on twist\nprivate = 0d27edf0ff5b6b6b465753e7158370332c153b468a1be087ad0f490bdb99e5f03\npublic = 3039301306072a8648ce3d020106082a8648ce3d03010703220002efdde3b32872a9effcf3b94cbf73aa7b39f9683ece9121b9852167f4e3da609b\nresult = invalid\nshared = \n# The point in the public key is compressed. Not every library supports points\n# in compressed format.\n\n# tcId = 128\n# public key is a low order point on twist\nprivate = 095ead84540c2d027aa3130ff1b47888cc1ed67e8dda46156e71ce0991791e835\npublic = 3039301306072a8648ce3d020106082a8648ce3d03010703220002c49524b2adfd8f5f972ef554652836e2efb2d306c6d3b0689234cec93ae73db5\nresult = invalid\nshared = \n# The point in the public key is compressed. Not every library supports points\n# in compressed format.\n\n# tcId = 129\n# public key is a low order point on twist\nprivate = 0a8681ef67fb1f189647d95e8db00c52ceef6d41a85ba0a5bd74c44e8e62c8aa4\npublic = 3039301306072a8648ce3d020106082a8648ce3d0301070322000318f9bae7747cd844e98525b7ccd0daf6e1d20a818b2175a9a91e4eae5343bc98\nresult = invalid\nshared = \n# The point in the public key is compressed. Not every library supports points\n# in compressed format.\n\n# tcId = 130\n# public key is a low order point on twist\nprivate = 0a8681ef67fb1f189647d95e8db00c52ceef6d41a85ba0a5bd74c44e8e62c8aa5\npublic = 3039301306072a8648ce3d020106082a8648ce3d0301070322000218f9bae7747cd844e98525b7ccd0daf6e1d20a818b2175a9a91e4eae5343bc98\nresult = invalid\nshared = \n# The point in the public key is compressed. Not every library supports points\n# in compressed format.\n\n# tcId = 131\n# public key is a low order point on twist\nprivate = 095ead84540c2d027aa3130ff1b47888cc1ed67e8dda46156e71ce0991791e834\npublic = 3039301306072a8648ce3d020106082a8648ce3d03010703220003c49524b2adfd8f5f972ef554652836e2efb2d306c6d3b0689234cec93ae73db5\nresult = invalid\nshared = \n# The point in the public key is compressed. Not every library supports points\n# in compressed format.\n\n# tcId = 132\n# long form encoding of length\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 308159301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 133\n# long form encoding of length\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305a30811306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 134\n# long form encoding of length\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305a30140681072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783", - "e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 135\n# long form encoding of length\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305a301406072a8648ce3d02010681082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 136\n# long form encoding of length\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305a301306072a8648ce3d020106082a8648ce3d03010703814200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 137\n# length contains leading 0\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 30820059301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 138\n# length contains leading 0\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b3082001306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 139\n# length contains leading 0\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b3015068200072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 140\n# length contains leading 0\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b301506072a8648ce3d0201068200082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 141\n# length contains leading 0\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b301306072a8648ce3d020106082a8648ce3d0301070382004200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 142\n# wrong length\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305a301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 143\n# wrong length\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3058301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 144\n# wrong length\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301406072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 145\n# wrong length\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301206072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 146\n# wrong length\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306082a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 147\n# wrong length\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306062a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared =", - " f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 148\n# wrong length\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d020106092a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 149\n# wrong length\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d020106072a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 150\n# wrong length\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034300042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 151\n# wrong length\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034100042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 152\n# uint32 overflow in length\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 30850100000059301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 153\n# uint32 overflow in length\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305e3085010000001306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 154\n# uint32 overflow in length\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305e3018068501000000072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 155\n# uint32 overflow in length\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305e301806072a8648ce3d0201068501000000082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 156\n# uint32 overflow in length\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305e301306072a8648ce3d020106082a8648ce3d0301070385010000004200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 157\n# uint64 overflow in length\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3089010000000000000059301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 158\n# uint64 overflow in length\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3062308901000000000000001306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 159\n# uint64 overflow in length\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3062301c06890100000000000000072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 160\n# uint64 overflow in length\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3062301c06072a8648ce3d020106890100000000000000082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d6", - "95137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 161\n# uint64 overflow in length\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3062301306072a8648ce3d020106082a8648ce3d030107038901000000000000004200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 162\n# length = 2**31 - 1\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 30847fffffff301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 163\n# length = 2**31 - 1\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305d30847fffffff06072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 164\n# length = 2**31 - 1\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305d301706847fffffff2a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 165\n# length = 2**31 - 1\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305d301706072a8648ce3d020106847fffffff2a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 166\n# length = 2**31 - 1\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305d301306072a8648ce3d020106082a8648ce3d03010703847fffffff00042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 167\n# length = 2**32 - 1\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3084ffffffff301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 168\n# length = 2**32 - 1\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305d3084ffffffff06072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 169\n# length = 2**32 - 1\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305d30170684ffffffff2a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 170\n# length = 2**32 - 1\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305d301706072a8648ce3d02010684ffffffff2a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 171\n# length = 2**32 - 1\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305d301306072a8648ce3d020106082a8648ce3d0301070384ffffffff00042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 172\n# length = 2**40 - 1\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3085ffffffffff301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 173\n# length = 2**40 - 1\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305e3085ffffffffff06072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key", - " in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 174\n# length = 2**40 - 1\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305e30180685ffffffffff2a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 175\n# length = 2**40 - 1\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305e301806072a8648ce3d02010685ffffffffff2a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 176\n# length = 2**40 - 1\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305e301306072a8648ce3d020106082a8648ce3d0301070385ffffffffff00042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 177\n# length = 2**64 - 1\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3088ffffffffffffffff301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 178\n# length = 2**64 - 1\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 30613088ffffffffffffffff06072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 179\n# length = 2**64 - 1\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3061301b0688ffffffffffffffff2a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 180\n# length = 2**64 - 1\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3061301b06072a8648ce3d02010688ffffffffffffffff2a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 181\n# length = 2**64 - 1\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3061301306072a8648ce3d020106082a8648ce3d0301070388ffffffffffffffff00042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 182\n# incorrect length\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 30ff301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 183\n# incorrect length\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305930ff06072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 184\n# incorrect length\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306ff2a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 185\n# incorrect length\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d020106ff2a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 186\n# incorrect length\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703ff00042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not", - " strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 187\n# indefinite length without termination\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3080301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 188\n# indefinite length without termination\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059308006072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 189\n# indefinite length without termination\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306802a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 190\n# indefinite length without termination\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d020106802a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 191\n# indefinite length without termination\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107038000042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 192\n# removing sequence\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = \nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 193\n# removing sequence\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3044034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 194\n# lonely sequence tag\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 30\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 195\n# lonely sequence tag\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 304530034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 196\n# appending 0's to sequence\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b0000\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 197\n# appending 0's to sequence\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b301506072a8648ce3d020106082a8648ce3d0301070000034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 198\n# prepending 0's to sequence\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b0000301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 199\n# prepending 0's to sequence\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b3015000006072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 200\n# appending unused 0's to sequence\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b0000\nresult = acceptable\nshared = f0b6d851dcd8e9a8c4", - "74d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 201\n# appending unused 0's to sequence\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b301306072a8648ce3d020106082a8648ce3d0301070000034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 202\n# appending null value to sequence\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b0500\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 203\n# appending null value to sequence\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b301506072a8648ce3d020106082a8648ce3d0301070500034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 204\n# including garbage\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305e4981773059301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 205\n# including garbage\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305d25003059301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 206\n# including garbage\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b3059301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b0004deadbeef\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 207\n# including garbage\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305e3018498177301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 208\n# including garbage\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305d30172500301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 209\n# including garbage\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 30613015301306072a8648ce3d020106082a8648ce3d0301070004deadbeef034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 210\n# including garbage\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305e3018260c49817706072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 211\n# including garbage\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305d3017260b250006072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 212\n# including garbage\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3061301b260906072a8648ce3d02010004deadbeef06082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 213\n# including garbage\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305e301806072a8648ce3d0201260d49817706082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb", - "182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 214\n# including garbage\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305d301706072a8648ce3d0201260c250006082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 215\n# including garbage\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3061301b06072a8648ce3d0201260a06082a8648ce3d0301070004deadbeef034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 216\n# including garbage\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305e301306072a8648ce3d020106082a8648ce3d0301072347498177034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 217\n# including garbage\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305d301306072a8648ce3d020106082a8648ce3d03010723462500034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 218\n# including garbage\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3061301306072a8648ce3d020106082a8648ce3d0301072344034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b0004deadbeef\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 219\n# including undefined tags\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3061aa00bb00cd003059301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 220\n# including undefined tags\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305faa02aabb3059301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 221\n# including undefined tags\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3061301baa00bb00cd00301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 222\n# including undefined tags\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305f3019aa02aabb301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 223\n# including undefined tags\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3061301b260faa00bb00cd0006072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 224\n# including undefined tags\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305f3019260daa02aabb06072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 225\n# including undefined tags\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3061301b06072a8648ce3d02012610aa00bb00cd0006082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 226\n# including undefined tags\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305f301906072a8648ce3d0201260eaa02aabb06082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c", - "474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 227\n# including undefined tags\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3061301306072a8648ce3d020106082a8648ce3d030107234aaa00bb00cd00034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 228\n# including undefined tags\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305f301306072a8648ce3d020106082a8648ce3d0301072348aa02aabb034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 229\n# truncated length of sequence\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3081\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 230\n# truncated length of sequence\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 30463081034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 231\n# Replacing sequence with NULL\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 0500\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 232\n# Replacing sequence with NULL\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 30460500034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 233\n# changing tag value of sequence\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 2e59301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 234\n# changing tag value of sequence\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 2f59301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 235\n# changing tag value of sequence\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3159301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 236\n# changing tag value of sequence\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3259301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 237\n# changing tag value of sequence\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = ff59301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 238\n# changing tag value of sequence\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 30592e1306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 239\n# changing tag value of sequence\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 30592f1306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 240\n# changing tag value of sequence\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059311306072a8648ce3d020106082a8648ce3d0301070342000", - "42998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 241\n# changing tag value of sequence\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059321306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 242\n# changing tag value of sequence\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059ff1306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 243\n# dropping value of sequence\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3000\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 244\n# dropping value of sequence\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 30463000034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 245\n# truncate sequence\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3058301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add6\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 246\n# truncate sequence\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 30581306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 247\n# truncate sequence\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3058301206072a8648ce3d020106082a8648ce3d0301034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 248\n# truncate sequence\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 30583012072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 249\n# indefinite length\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3080301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b0000\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 250\n# indefinite length\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b308006072a8648ce3d020106082a8648ce3d0301070000034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 251\n# indefinite length with truncated delimiter\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3080301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b00\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 252\n# indefinite length with truncated delimiter\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305a308006072a8648ce3d020106082a8648ce3d03010700034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 253\n# indefinite length with additional element\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3080301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b05000000\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding.", - " Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 254\n# indefinite length with additional element\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305d308006072a8648ce3d020106082a8648ce3d03010705000000034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 255\n# indefinite length with truncated element\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3080301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b060811220000\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 256\n# indefinite length with truncated element\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305f308006072a8648ce3d020106082a8648ce3d030107060811220000034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 257\n# indefinite length with garbage\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3080301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b0000fe02beef\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 258\n# indefinite length with garbage\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305f308006072a8648ce3d020106082a8648ce3d0301070000fe02beef034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 259\n# indefinite length with nonempty EOC\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3080301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b0002beef\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 260\n# indefinite length with nonempty EOC\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305d308006072a8648ce3d020106082a8648ce3d0301070002beef034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 261\n# prepend empty sequence\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b3000301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 262\n# prepend empty sequence\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b3015300006072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 263\n# append empty sequence\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b3000\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 264\n# append empty sequence\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b301506072a8648ce3d020106082a8648ce3d0301073000034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 265\n# sequence of sequence\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b3059301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 266\n# sequence of sequence\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b3015301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# Th", - "e public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 267\n# truncated sequence\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3015301306072a8648ce3d020106082a8648ce3d030107\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 268\n# truncated sequence\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 304f300906072a8648ce3d0201034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 269\n# repeat element in sequence\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 30819d301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 270\n# repeat element in sequence\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3063301d06072a8648ce3d020106082a8648ce3d03010706082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 271\n# removing oid\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3050300a06082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 272\n# lonely oid tag\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3051300b0606082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 273\n# lonely oid tag\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3050300a06072a8648ce3d020106034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 274\n# appending 0's to oid\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b301506092a8648ce3d0201000006082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 275\n# appending 0's to oid\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b301506072a8648ce3d0201060a2a8648ce3d0301070000034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 276\n# prepending 0's to oid\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b3015060900002a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 277\n# prepending 0's to oid\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b301506072a8648ce3d0201060a00002a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 278\n# appending unused 0's to oid\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b301506072a8648ce3d0201000006082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 279\n# appending null value to oid\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b301506092a8648ce3d0201050006082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still", - " returns the correct shared value.\n\n# tcId = 280\n# appending null value to oid\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b301506072a8648ce3d0201060a2a8648ce3d0301070500034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 281\n# truncated length of oid\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3052300c068106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 282\n# truncated length of oid\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3051300b06072a8648ce3d02010681034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 283\n# Replacing oid with NULL\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3052300c050006082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 284\n# Replacing oid with NULL\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3051300b06072a8648ce3d02010500034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 285\n# changing tag value of oid\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301304072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 286\n# changing tag value of oid\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301305072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 287\n# changing tag value of oid\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301307072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 288\n# changing tag value of oid\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301308072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 289\n# changing tag value of oid\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 30593013ff072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 290\n# changing tag value of oid\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d020104082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 291\n# changing tag value of oid\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d020105082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 292\n# changing tag value of oid\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d020107082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 293\n# changing tag value of oid\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npu", - "blic = 3059301306072a8648ce3d020108082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 294\n# changing tag value of oid\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d0201ff082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 295\n# dropping value of oid\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3052300c060006082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 296\n# dropping value of oid\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3051300b06072a8648ce3d02010600034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 297\n# modify first byte of oid\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305930130607288648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 298\n# modify first byte of oid\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d02010608288648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 299\n# modify last byte of oid\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d028106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 300\n# modify last byte of oid\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d020106082a8648ce3d030187034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 301\n# truncate oid\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3058301206062a8648ce3d0206082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 302\n# truncate oid\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3058301206068648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 303\n# truncate oid\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3058301206072a8648ce3d020106072a8648ce3d0301034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 304\n# truncate oid\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3058301206072a8648ce3d020106078648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 305\n# wrong oid\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305c3016060a3262306530333032316106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 306\n# wrong oid\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3064301e061236303836343830313635303330343032303106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = ac", - "ceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 307\n# wrong oid\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b301506072a8648ce3d0201060a32623065303330323161034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 308\n# wrong oid\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3063301d06072a8648ce3d02010612363038363438303136353033303430323031034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 309\n# longer oid\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3062301c06103261383634386365336430323031303106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 310\n# longer oid\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3063301d06072a8648ce3d02010612326138363438636533643033303130373031034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 311\n# oid with modified node\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3060301a060e326138363438636533643032313106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 312\n# oid with modified node\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3068302206163261383634386365336430323838383038303830303106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 313\n# oid with modified node\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3061301b06072a8648ce3d0201061032613836343863653364303330313137034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 314\n# oid with modified node\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3069302306072a8648ce3d02010618326138363438636533643033303138383830383038303037034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 315\n# large integer in oid\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3072302c0620326138363438636533643032383238303830383038303830383038303830303106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 316\n# large integer in oid\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3073302d06072a8648ce3d0201062232613836343863653364303330313832383038303830383038303830383038303037034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 317\n# oid with invalid node\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3063301d0611326138363438636533643032303165303306082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 318\n# oid with invalid node\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305a301406082a808648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 319\n# oid with invalid node\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3064301e06072a8648ce3d0201061332613836343863653364303330313037653033034200042998705a9a71c783e1cf4397dbed9", - "375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 320\n# oid with invalid node\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305a301406072a8648ce3d020106092a808648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 321\n# lonely bit string tag\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3016301306072a8648ce3d020106082a8648ce3d03010703\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 322\n# appending 0's to bit string\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b301306072a8648ce3d020106082a8648ce3d030107034400042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b0000\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 323\n# prepending 0's to bit string\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b301306072a8648ce3d020106082a8648ce3d0301070344000000042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 324\n# appending null value to bit string\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b301306072a8648ce3d020106082a8648ce3d030107034400042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b0500\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 325\n# truncated length of bit string\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3017301306072a8648ce3d020106082a8648ce3d0301070381\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 326\n# Replacing bit string with NULL\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3017301306072a8648ce3d020106082a8648ce3d0301070500\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 327\n# changing tag value of bit string\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107014200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 328\n# changing tag value of bit string\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107024200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 329\n# changing tag value of bit string\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107044200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 330\n# changing tag value of bit string\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107054200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 331\n# changing tag value of bit string\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107ff4200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 332\n# dropping value of bit string\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3017301306072a8648ce3d020106082a8648ce3d0301070300\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 333\n# modify first byte of bit string\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305930130", - "6072a8648ce3d020106082a8648ce3d030107034202042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 334\n# modify last byte of bit string\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add6eb\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 335\n# truncate bit string\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3058301306072a8648ce3d020106082a8648ce3d030107034100042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add6\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 336\n# truncate bit string\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3058301306072a8648ce3d020106082a8648ce3d0301070341042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 337\n# declaring bits as unused in a bit-string\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034201042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 338\n# unused bits in a bit-string\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305d301306072a8648ce3d020106082a8648ce3d030107034620042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b01020304\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 339\n# unused bits in empty bit-string\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3018301306072a8648ce3d020106082a8648ce3d030107030103\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 340\n# 128 unused bits\nprivate = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034280042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n", +static const char *kData96[] = { + "# Imported from Wycheproof's ecdh_secp256r1_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: ECDH\n# Generator version: 0.8r12\n\n[curve = secp256r1]\n[encoding = asn]\n\n# tcId = 1\n# normal case\nprivate = 0612465c89a023ab17855b0a6bcebfd3febb53aef84138647b5352e02c10c346\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000462d5bd3372af75fe85a040715d0f502428e07046868b0bfdfa61d731afe44f26ac333a93a9e70a81cd5a95b5bf8d13990eb741c8c38872b4a07d275a014e30cf\nresult = valid\nshared = 53020d908b0219328b658b525f26780e3ae12bcd952bb25a93bc0895e1714285\n\n# tcId = 2\n# compressed public key\nprivate = 0612465c89a023ab17855b0a6bcebfd3febb53aef84138647b5352e02c10c346\npublic = 3039301306072a8648ce3d020106082a8648ce3d0301070322000362d5bd3372af75fe85a040715d0f502428e07046868b0bfdfa61d731afe44f26\nresult = acceptable\nshared = 53020d908b0219328b658b525f26780e3ae12bcd952bb25a93bc0895e1714285\nflags = CompressedPoint\n\n# tcId = 3\n# edge case for shared secret\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000458fd4168a87795603e2b04390285bdca6e57de6027fe211dd9d25e2212d29e62080d36bd224d7405509295eed02a17150e03b314f96da37445b0d1d29377d12c\nresult = valid\nshared = 0000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 4\n# edge case for shared secret\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200040f6d20c04261ecc3e92846acad48dc8ec5ee35ae0883f0d2ea71216906ee1c47c042689a996dd12830ae459382e94aac56b717af2e2080215f9e41949b1f52be\nresult = valid\nshared = 00000000000000000000000000000000ffffffffffffffffffffffffffffffff\n\n# tcId = 5\n# edge case for shared secret\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000400c7defeb1a16236738e9a1123ba621bc8e9a3f2485b3f8ffde7f9ce98f5a8a1cb338c3912b1792f60c2b06ec5231e2d84b0e596e9b76d419ce105ece3791dbc\nresult = valid\nshared = 0000000000000000ffffffffffffffff00000000000000010000000000000001\n\n# tcId = 6\n# edge case for shared secret\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004e9b98fb2c0ac045f8c76125ffd99eb8a5157be1d7db3e85d655ec1d8210288cf218df24fd2c2746be59df41262ef3a97d986744b2836748a7486230a319ffec0\nresult = valid\nshared = 00000000ffffffff00000000ffffffff00000000ffffffff0000000100000000\n\n# tcId = 7\n# edge case for shared secret\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004e9484e58f3331b66ffed6d90cb1c78065fa28cfba5c7dd4352013d3252ee4277bd7503b045a38b4b247b32c59593580f39e6abfa376c3dca20cf7f9cfb659e13\nresult = valid\nshared = 000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff\n\n# tcId = 8\n# edge case for shared secret\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004767d7fbb84aa6a4db1079372644e42ecb2fec200c178822392cb8b950ffdd0c91c86853cafd09b52ba2f287f0ebaa26415a3cfabaf92c6a617a19988563d9dea\nresult = valid\nshared = 0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff00010001\n\n# tcId = 9\n# edge case for shared secret\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004c74d546f2fcc6dd392f85e5be167e358de908756b0c0bb01cb69d864ca083e1c93f959eece6e10ee11bd3934207d65ae28af68b092585a1509260eceb39b92ef\nresult = valid\nshared = 085ec5a4af40176b63189069aeffcb229c96d3e046e0283ed2f9dac21b15ad3c\n\n# tcId = 10\n# edge case for shared secret\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000434fc9f1e7a094cd29598d1841fa9613dbe82313d633a51d63fb6eff074cc9b9a4ecfd9f258c5c4d4210b49751213a24c596982bd1d54e0445443f21ef15492a5\nresult = valid\nshared = 190c25f88ad9ae3a098e6cffe6fd0b1bea42114eb0cedd5868a45c5fe277dff3\n\n# tcId = 11\n# edge case for shared secret\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004d5c96efd1907fd48de2ad715acf82eae5c6690fe3efe16a78d61c68d3bfd10df03eac816b9e7b776192a3f5075887c0e225617505833ca997cda32fd0f673c5e\nresult = valid\nshared = 507442007322aa895340cba4abc2d730bfd0b16c2c79a46815f8780d2c55a2dd\n\n# tcId = 12\n# edge case for shared secret\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004f475f503a770df72c45aedfe42c008f59aa57e72b232f26600bdd0353957cb20bdb8f6405b4918050a3549f44c07a8eba820cdce4ece699888c638df66f54f7c\nresult = valid\nshared = 5f177bfe19baaaee597e68b6a87a519e805e9d28a70cb72fd40f0fe5a754ba45\n\n# tcId = 13\n# edge case for shared secret\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004f3cb6754b7e2a86d064dfb9f903185aaa4c92b481c2c1a1ff276303bbc4183e49c318599b0984c3563df339311fe143a7d921ee75b755a52c6f804f897b809f7\nresult = valid\nshared = 7fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff\n\n# tcId = 14\n# edge case for shared secret\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004cce13fbdc96a946dfb8c6d9ed762dbd1731630455689f57a437fee124dd54cecaef78026c653030cf2f314a67064236b0a354defebc5e90c94124e9bf5c4fc24\nresult = valid\nshared = 8000000000000000000000000000000000000000000000000000000000000004\n\n# tcId = 15\n# edge case for shared secret\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200047633dfd0ad06765097bc11bd5022b200df31f28c4ff0625421221ac7eeb6e6f4cb9c67693609ddd6f92343a5a1c635408240f4f8e27120c12554c7ff8c76e2fe\nresult = valid\nshared = 8000003ffffff0000007fffffe000000ffffffc000001ffffff8000004000000\n\n# tcId = 16\n# edge case for shared secret\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004a386ace573f87558a68ead2a20088e3fe928bdae9e109446f93a078c15741f0421261e6db2bf12106e4c6bf85b9581b4c0302a526222f90abc5a549206b11011\nresult = valid\nshared = ff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff\n\n# tcId = 17\n# edge case for shared secret\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200048e7b50f7d8c44d5d3496c43141a502f4a43f153d03ad43eda8e39597f1d477b8647f3da67969b7f989ff4addc393515af40c82085ce1f2ee195412c6f583774f\nresult = valid\nshared = ffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff\n\n# tcId = 18\n# edge case for shared secret\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004c827fb930fd51d926086191b502af83abb5f717debc8de29897a3934b2571ca05990c0597b0b7a2e42febd56b13235d1d408d76ed2c93b3facf514d902f6910a\nresult = valid\nshared = ffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff\n\n# tcId = 19\n# y-coordinate of the public key is small\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200043cbc1b31b43f17dc200dd70c2944c04c6cb1b082820c234a300b05b7763844c74fde0a4ef93887469793270eb2ff148287da9265b0334f9e2609aac16e8ad503\nresult = valid\nshared = 7fffffffffffffffffffffffeecf2230ffffffffffffffffffffffffffffffff\n\n# tcId = 20\n# y-coordinate of the public key is small\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200042830d96489ae24b79cad425056e82746f9e3f419ab9aa21ca1fbb11c7325e7d318abe66f575ee8a2f1c4a80e35260ae82ad7d6f661d15f06967930a585097ef7\nresult = valid\nshared = 000000000000000000000000111124f400000000000000000000000000000000\n\n# tcId = 21\n# y-coordinate of the public", + " key is small\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004450b6b6e2097178e9d2850109518d28eb3b6ded2922a5452003bc2e4a4ec775c894e90f0df1b0e6cadb03b9de24f6a22d1bd0a4a58cd645c273cae1c619bfd61\nresult = valid\nshared = 000000000000000000000001ea77d449ffffffffffffffffffffffffffffffff\n\n# tcId = 22\n# y-coordinate of the public key is large\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200043cbc1b31b43f17dc200dd70c2944c04c6cb1b082820c234a300b05b7763844c7b021f5b006c778ba686cd8f14d00eb7d78256d9b4fccb061d9f6553e91752afc\nresult = valid\nshared = 7fffffffffffffffffffffffeecf2230ffffffffffffffffffffffffffffffff\n\n# tcId = 23\n# y-coordinate of the public key is large\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200042830d96489ae24b79cad425056e82746f9e3f419ab9aa21ca1fbb11c7325e7d3e754198fa8a1175e0e3b57f1cad9f517d528290a9e2ea0f96986cf5a7af68108\nresult = valid\nshared = 000000000000000000000000111124f400000000000000000000000000000000\n\n# tcId = 24\n# y-coordinate of the public key is large\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004450b6b6e2097178e9d2850109518d28eb3b6ded2922a5452003bc2e4a4ec775c76b16f0e20e4f194524fc4621db095dd2e42f5b6a7329ba3d8c351e39e64029e\nresult = valid\nshared = 000000000000000000000001ea77d449ffffffffffffffffffffffffffffffff\n\n# tcId = 25\n# y-coordinate of the public key has many trailing 1's\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200049a0f0e3dd31417bbd9e298bc068ab6d5c36733af26ed67676f410c804b8b2ca1b02c82f3a61a376db795626e9400557112273a36cddb08caaa43953965454730\nresult = valid\nshared = 7fffffffffffffffffffffffca089011ffffffffffffffffffffffffffffffff\n\n# tcId = 26\n# y-coordinate of the public key has many trailing 1's\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200048e5d22d5e53ec797c55ecd68a08a7c3361cd99ca7fad1a68ea802a6a4cb58a918ea7a07023ef67677024bd3841e187c64b30a30a3750eb2ee873fbe58fa1357b\nresult = valid\nshared = 0000000000000000000000001f6bd1e500000000000000000000000000000000\n\n# tcId = 27\n# y-coordinate of the public key has many trailing 1's\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004293aa349b934ab2c839cf54b8a737df2304ef9b20fa494e31ad62b315dd6a53c118182b85ef466eb9a8e87f9661f7d017984c15ea82043f536d1ee6a6d95b509\nresult = valid\nshared = 000000000000000000000002099f55d5ffffffffffffffffffffffffffffffff\n\n# tcId = 28\n# y-coordinate of the public key has many trailing 0's\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200049a0f0e3dd31417bbd9e298bc068ab6d5c36733af26ed67676f410c804b8b2ca14fd37d0b59e5c893486a9d916bffaa8eedd8c5ca3224f73555bc6ac69abab8cf\nresult = valid\nshared = 7fffffffffffffffffffffffca089011ffffffffffffffffffffffffffffffff\n\n# tcId = 29\n# y-coordinate of the public key has many trailing 0's\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200048e5d22d5e53ec797c55ecd68a08a7c3361cd99ca7fad1a68ea802a6a4cb58a9171585f8edc1098998fdb42c7be1e7839b4cf5cf6c8af14d1178c041a705eca84\nresult = valid\nshared = 0000000000000000000000001f6bd1e500000000000000000000000000000000\n\n# tcId = 30\n# y-coordinate of the public key has many trailing 0's\nprivate = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004293aa349b934ab2c839cf54b8a737df2304ef9b20fa494e31ad62b315dd6a53cee7e7d46a10b99156571780699e082fe867b3ea257dfbc0ac92e1195926a4af6\nresult = valid\nshared = 000000000000000000000002099f55d5ffffffffffffffffffffffffffffffff\n\n# tcId = 31\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004000000000000000000000000000000000000000000000000000000000000000066485c780e2f83d72433bd5d84a06bb6541c2af31dae871728bf856a174f93f4\nresult = valid\nshared = cfe4077c8730b1c9384581d36bff5542bc417c9eff5c2afcb98cc8829b2ce848\n\n# tcId = 32\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000400000000000000000000000000000000ffffffffffffffffffffffffffffffff4f2b92b4c596a5a47f8b041d2dea6043021ac77b9a80b1343ac9d778f4f8f733\nresult = valid\nshared = 49ae50fe096a6cd26698b78356b2c8adf1f6a3490f14e364629f7a0639442509\n\n# tcId = 33\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200040000000000000000ffffffffffffffff0000000000000001000000000000000138120be6ab31edfa34768c4387d2f84fb4b0be8a9a985864a1575f4436bb37b0\nresult = valid\nshared = 5a1334572b2a711ead8b4653eb310cd8d9fd114399379a8f6b872e3b8fdda2d9\n\n# tcId = 34\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000400000000ffffffff00000000ffffffff00000000ffffffff0000000100000000462c0466e41802238d6c925ecbefc747cfe505ea196af9a2d11b62850fce946e\nresult = valid\nshared = c73755133b6b9b4b2a00631cbc7940ecbe6ec08f20448071422e3362f2556888\n\n# tcId = 35\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff1582fa32e2d4a89dfcfb3d0b149f667dba3329490f4d64ee2ad586c0c9e8c508\nresult = valid\nshared = 06fa1059935e47a9fd667e13f469614eb257cc9a7e3fc599bfb92780d59b146d\n\n# tcId = 36\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200040000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff00010001684c8a9586ed6f9cbe447058a7da2108bab1e5e0a60d1f73e4e2e713f0a3dfe0\nresult = valid\nshared = f237df4c10bd3e357971bb2b16b293566b7e355bdc8141d6c92cabc682983c45\n\n# tcId = 37\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004085ec5a4af40176b63189069aeffcb229c96d3e046e0283ed2f9dac21b15ad3c7859f97cb6e203f46bf3438f61282325e94e681b60b5669788aeb0655bf19d38\nresult = valid\nshared = d874b55678d0a04d216c31b02f3ad1f30c92caaf168f34e3a743356d9276e993\n\n# tcId = 38\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004190c25f88ad9ae3a098e6cffe6fd0b1bea42114eb0cedd5868a45c5fe277dff321b8342ef077bc6724112403eaee5a15b4c31a71589f02ded09cd99cc5db9c83\nresult = valid\nshared = 11a8582057463fc76fda3ab8087eb0a420b0d601bb3134165a369646931e52a6\n\n# tcId = 39\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004507442007322aa895340cba4abc2d730bfd0b16c2c79a46815f8780d2c55a2dd4619d69f9940f51663aa12381bc7cf678bd1a72a49fbc11b0b69cb22d1af9f2d\nresult = valid\nshared = 4e173a80907f361fe5a5d335ba7685d5eba93e9dfc8d8fcdb1dcd2d2bde27507\n\n# tcId = 40\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200045f177bfe19baaaee597e68b6a87a519e805e9d28a70cb72fd40f0fe5a754ba4562ca1103f70a2006cd1f67f5f6a3580b29dc446abc90e0e910c1e05a9aa788cd\nresult = valid\nshared = 73220471ec8bad99a297db488a34a259f9bc891ffaf09922e6b5001f5df67018\n\n# tcId = 41\n# edge cases for ephemeral key\np", + "rivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200047fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff2e2213caf03033e0fd0f7951154f6e6c3a9244a72faca65e9ce9eeb5c8e1cea9\nresult = valid\nshared = 55d0a203e22ffb523c8d2705060cee9d28308b51f184beefc518cff690bad346\n\n# tcId = 42\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000480000000000000000000000000000000000000000000000000000000000000042be8789db81bb4870a9e60c5c18c80c83de464277281f1af1e640843a1a3148e\nresult = valid\nshared = 2518d846e577d95e9e7bc766cde7997cb887fb266d3a6cb598a839fd54aa2f4f\n\n# tcId = 43\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200048000003ffffff0000007fffffe000000ffffffc000001ffffff8000004000000722540f8a471c379083c600b58fde4d95c7dcad5095f4219fc5e9bdde3c5cd39\nresult = valid\nshared = bdb49f4bdf42ac64504e9ce677b3ec5c0a03828c5b3efad726005692d35c0f26\n\n# tcId = 44\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004ff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff5df80fc6cae26b6c1952fbd00ed174ee1209d069335f5b48588e29e80b9191ad\nresult = valid\nshared = f503ac65637e0f17cb4408961cb882c875e4c6ef7a548d2d52d8c2f681838c55\n\n# tcId = 45\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004ffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff2c63650e6a5d332e2987dd09a79008e8faabbd37e49cb016bfb92c8cd0f5da77\nresult = valid\nshared = e3c18e7d7377dc540bc45c08d389bdbe255fa80ca8faf1ef6b94d52049987d21\n\n# tcId = 46\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004ffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff7a116c964a4cd60668bf89cffe157714a3ce21b93b3ca607c8a5b93ac54ffc0a\nresult = valid\nshared = 516d6d329b095a7c7e93b4023d4d05020c1445ef1ddcb3347b3a27d7d7f57265\n\n# tcId = 47\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200047fffffffffffffffffffffffeecf2230ffffffffffffffffffffffffffffffff00000001c7c30643abed0af0a49fe352cb483ff9b97dccdf427c658e8793240d\nresult = valid\nshared = 6fd26661851a8de3c6d06f834ef3acb8f2a5f9c136a985ffe10d5eeb51edcfa3\n\n# tcId = 48\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200047fffffffffffffffffffffffeecf2230fffffffffffffffffffffffffffffffffffffffd383cf9bd5412f50f5b601cad34b7c00746823320bd839a71786cdbf2\nresult = valid\nshared = 6fd26661851a8de3c6d06f834ef3acb8f2a5f9c136a985ffe10d5eeb51edcfa3\n\n# tcId = 49\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200047fffffffffffffffffffffffca089011ffffffffffffffffffffffffffffffff267bfdf8a61148decd80283732dd4c1095e4bb40b9658408208dc1147fffffff\nresult = valid\nshared = 44236c8b9505a19d48774a3903c0292759b0f826e6ac092ff898d87e53d353fc\n\n# tcId = 50\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200047fffffffffffffffffffffffca089011ffffffffffffffffffffffffffffffffd984020659eeb722327fd7c8cd22b3ef6a1b44c0469a7bf7df723eeb80000000\nresult = valid\nshared = 44236c8b9505a19d48774a3903c0292759b0f826e6ac092ff898d87e53d353fc\n\n# tcId = 51\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004000000000000000000000000111124f4000000000000000000000000000000000000000d12d381b0760b1c50be8acf859385052c7f53cde67ce13759de3123a0\nresult = valid\nshared = f1f0e43b374feb7e7f96d4ffe7519fa8bb6c3cfd25f6f87dab2623d2a2d33851\n\n# tcId = 52\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004000000000000000000000000111124f400000000000000000000000000000000fffffff1ed2c7e5089f4e3af4175307a6c7afad480ac3219831ec8a621cedc5f\nresult = valid\nshared = f1f0e43b374feb7e7f96d4ffe7519fa8bb6c3cfd25f6f87dab2623d2a2d33851\n\n# tcId = 53\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200040000000000000000000000001f6bd1e5000000000000000000000000000000004096edd6871c320cb8a9f4531751105c97b4c257811bbc32963eaf39ffffffff\nresult = valid\nshared = 3ebbace1098a81949d5605dd94a7aa88dc396c2c23e01a9c8cca5bb07bfbb6a1\n\n# tcId = 54\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200040000000000000000000000001f6bd1e500000000000000000000000000000000bf69122878e3cdf447560bace8aeefa3684b3da97ee443cd69c150c600000000\nresult = valid\nshared = 3ebbace1098a81949d5605dd94a7aa88dc396c2c23e01a9c8cca5bb07bfbb6a1\n\n# tcId = 55\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004000000000000000000000001ea77d449ffffffffffffffffffffffffffffffff000000007afbc0b325e820646dec622fb558a51c342aa257f4b6a8ec5ddf144f\nresult = valid\nshared = 1b085213a9c89d353e1111af078c38c502b7b4771efba51f589b5be243417bdc\n\n# tcId = 56\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004000000000000000000000001ea77d449fffffffffffffffffffffffffffffffffffffffe85043f4dda17df9b92139dd04aa75ae4cbd55da80b495713a220ebb0\nresult = valid\nshared = 1b085213a9c89d353e1111af078c38c502b7b4771efba51f589b5be243417bdc\n\n# tcId = 57\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004000000000000000000000002099f55d5ffffffffffffffffffffffffffffffff152c1a22d823a27855ed03f8e2ab5038bb1df4d87e43865f2daf6948ffffffff\nresult = valid\nshared = 67cb63566c7ceb12fdd85ce9d2f77c359242bbaa0ea1bf3cf510a4a26591d1f1\n\n# tcId = 58\n# edge cases for ephemeral key\nprivate = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004000000000000000000000002099f55d5ffffffffffffffffffffffffffffffffead3e5dc27dc5d88aa12fc071d54afc744e20b2881bc79a0d25096b700000000\nresult = valid\nshared = 67cb63566c7ceb12fdd85ce9d2f77c359242bbaa0ea1bf3cf510a4a26591d1f1\n\n# tcId = 59\n# point with coordinate x = 0\nprivate = 00e461c5b5e63d75b4c8c123bf8b9cd45e712af08f7e2e494a8f255ac9d80e058b\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004000000000000000000000000000000000000000000000000000000000000000066485c780e2f83d72433bd5d84a06bb6541c2af31dae871728bf856a174f93f4\nresult = valid\nshared = d11c640b4382e60ec8d254ee76f09b8fac57651ab73b6dd3fdc935a61564a3e9\n\n# tcId = 60\n# point with coordinate x = 0\nprivate = 00e461c5b5e63d75b4c8c123bf8b9cd45e712af08f7e2e494a8f255ac9d80e058b\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004100121f1a09443851c9aa2ab6ee6440e2ac5e1be648274bd5d26c12fb3ba3f7f032a1c219fa1457cb20588297e0513cfd4901f9a95414f7e914f9179f38567a6\nresult = valid\nshared = 90e712e2afd14171c19467a2bfe7abf1c477d1f40f6675f00e622fd5604fa16a\n\n# tcId = 61\n# point with coordinate x = 0\nprivate = 00e461c5b5e63d75b4c8c123bf8b9cd45e712af08f7e2e494a8f255ac9d80e058b\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004cad02ab537c80831ccdd395129fc4bfe4a89ae0c866f6619a3e1", + "4146d3691694689d477065b40f140ed87b37ad041e28229b0f79a6b3c992689954c97f7336d0\nresult = valid\nshared = 159583103d83f63538bd4e203607d7348990bb7f847ffbc9e5e509c7e34d392c\n\n# tcId = 62\n# point with coordinate x = 0 in left to right addition chain\nprivate = 00e461c5b5e63d75b4c8c123bf8b9cd45e712af08f7e2e494a8f255ac9d80e058b\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004abd12eed4d654baa7d968633770f4a582f173d6633906000ed8acf6233c6365f0912f30bb98e7cb525890d5ea1e217149d52a6c59f7802a9f307e80d2a9fee3a\nresult = valid\nshared = 546a2dfadb1d60140becac2dc2e62d20c789037755ad5a49e37e48f2ca1b7680\n\n# tcId = 63\n# point with coordinate x = 0 in left to right addition chain\nprivate = 00e461c5b5e63d75b4c8c123bf8b9cd45e712af08f7e2e494a8f255ac9d80e058b\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004a562c1ad9a72217df00147c7d2ceafc65a1620a1469c947e14fe43003ac5371b7ad1d33c01f0eb92b779ed6e460d0334447075a3cf66b2ffbdae31b438df6d7b\nresult = valid\nshared = e5859c7811c5c3aca6c236ab499ccad10301c7c5ee913ce91bb66428cde11e4d\n\n# tcId = 64\n# point with coordinate x = 0 in left to right addition chain\nprivate = 00e461c5b5e63d75b4c8c123bf8b9cd45e712af08f7e2e494a8f255ac9d80e058b\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200048cdbebe9d07d2ebc4e41b1d72a9bac2974cfc4cf738d8b6de71a40ede9920d88dc2439ee0003fbde7b0a3ae41710c64b17b08a8841e97a390e482c9768fe01ea\nresult = valid\nshared = 65754ab459a10471af00943f414f28de1bc37968b097ad2845fe111420855008\n\n# tcId = 65\n# point with coordinate x = 0 in left to right addition chain\nprivate = 00e461c5b5e63d75b4c8c123bf8b9cd45e712af08f7e2e494a8f255ac9d80e058b\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004f0cd7cd8334678308cfeb785a68a1504a91418d4441c4d4c740c57488b9aafb079d8a8d29973eb502267eccf6eda326626fc6e025d532b85e9f711f8ce6971bb\nresult = valid\nshared = 8631fedee6ceb3386ac42edf322c188824893d267d6108f0cf5de6964b88331b\n\n# tcId = 66\n# point with coordinate x = 0 in left to right addition chain\nprivate = 00e461c5b5e63d75b4c8c123bf8b9cd45e712af08f7e2e494a8f255ac9d80e058b\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200048ad0af23b90e0341b4e2a5a963c8522fe011ace19b1b8610cbe7927a17a7249736b87ab9907289a23a0fb20ca4be42d421fe38d35af09d79cbe6e6a4e95a1a8b\nresult = valid\nshared = 68c58599c123be6d37d343bd41b11cecc5f84b2635661163656f76d7fb04b426\n\n# tcId = 67\n# point with coordinate x = 0 in left to right addition chain\nprivate = 00e461c5b5e63d75b4c8c123bf8b9cd45e712af08f7e2e494a8f255ac9d80e058b\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000459c9cc2d7297ddb0be6304c94cebf42d813e970c50f45287753b8e9cb0c6db45f571d986990897851fc8e1db67c99759e8979c3d9ddfd02f633cf1ea5b6c48ab\nresult = valid\nshared = b58d00525c4c4b4f46562852c15ce2e48dbe23a3be37541e048446eff5152ec6\n\n# tcId = 68\n# point with coordinate x = 0 in left to right addition chain\nprivate = 00e461c5b5e63d75b4c8c123bf8b9cd45e712af08f7e2e494a8f255ac9d80e058b\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004e97080da7263a29c3072a65178b7b31587a5dffc19754c561e32fc53199234f04e0b9b70c97b60e940d5629f2266d1a8e242deb71eb7f0b2b2da2e3044738ab0\nresult = valid\nshared = 4baa01c211af8f94aca89548902a71f7b53f7814bbceb3d4bef31b376e34b476\n\n# tcId = 69\n# point with coordinate x = 0 in left to right addition chain\nprivate = 00e461c5b5e63d75b4c8c123bf8b9cd45e712af08f7e2e494a8f255ac9d80e058b\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000444f600da7160b975a0232cb6a4a9e72803fd77caac84352039ce9f4a67a1da77626045599381e599eb9cd03f282e267b8cfd3ba98dabbb0f29ab1c0944270f3f\nresult = valid\nshared = e19fe9d1294cca94a6388825249e6b37931a231eb917cfecb292792d0c18f1b8\n\n# tcId = 70\n# point with coordinate x = 0 in left to right addition chain\nprivate = 00e461c5b5e63d75b4c8c123bf8b9cd45e712af08f7e2e494a8f255ac9d80e058b\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000471e3e9be0e0ee4449a19d2ef7919266814a0fafd04fb677edc32656e6a46e4d2bc5f404c5b54f03e294be22e8820a71b4d4ac04a708e13cd71fdb0041e7e9698\nresult = valid\nshared = ddc1f4663b928add06b1e57c48db98ea08c4d33c3c2106371407f3848a9d53f7\n\n# tcId = 71\n# point with coordinate x = 0 in left to right addition chain\nprivate = 00e461c5b5e63d75b4c8c123bf8b9cd45e712af08f7e2e494a8f255ac9d80e058b\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000427b693610154d5b7f08094e46ff2a2ac1c01d3cd826e3208e5254436ed279960f2364e3a604f3b592e19262a1b22b1a148e38cd82c9e54f108ef8f833683f8b4\nresult = valid\nshared = 91dfa95ed1eacbea419156471a8ddbb6cb93dd456433e18633d26817611b9c64\n\n# tcId = 72\n# point with coordinate x = 0 in left to right addition chain\nprivate = 00e461c5b5e63d75b4c8c123bf8b9cd45e712af08f7e2e494a8f255ac9d80e058b\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004c32a52af6dac369b6a499a49d3e38e7c9534bb9139f57d4984b1d3c04ab8220653cdc2daefac83cf43c0d64604e5f9d85b55dde62b692cd36af99ebff4140c39\nresult = valid\nshared = 9f91a9633daa4c56465e9fbef4431e13041f68910fb5ba89f8da9381d68a0dfe\n\n# tcId = 73\n# point with coordinate x = 0 in left to right addition chain\nprivate = 00e461c5b5e63d75b4c8c123bf8b9cd45e712af08f7e2e494a8f255ac9d80e058b\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200046f4e2f72f32ae66f1f4610966004c436aa0d90b7df07ce9c4aca52b02d46b4d0c6a3ec76bf321b7fe5203cf3d66e2d52e3ee0495ec766d579a4511175e01bc4d\nresult = valid\nshared = 014ae81442f8cb6df58ff41e6db203db40ea951b91bebf86d42cda7be33fea64\n\n# tcId = 74\n# point with coordinate x = 0 in left to right addition chain\nprivate = 00e461c5b5e63d75b4c8c123bf8b9cd45e712af08f7e2e494a8f255ac9d80e058b\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200042e065975df642fcfdafe2fa5affc18b2c68371796f9d963d89c4f5ac5ccea28b990f31522fbb265c3f4d5c4bb82ebf5ddff5a8ea588db4d282acdca7a6ccf428\nresult = valid\nshared = 78e81e8573c3ae6089df7db1fb29d7be12dc11f15bb25bff2af802e15ddc136e\n\n# tcId = 75\n# point with coordinate x = 0 in left to right addition chain\nprivate = 00e461c5b5e63d75b4c8c123bf8b9cd45e712af08f7e2e494a8f255ac9d80e058b\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004e1331eee03c50cc2b90944ddfc0d3a7dd8185e6c21c75fa92a0c14b0f1949ac9154d783f4547dcf5508bbd86c3dd8c3b17b61989f93db5490ec02a46a1005c2c\nresult = valid\nshared = ed67195a272c63c50205abf27439291134ffa1e8ec597f3b302716d93632e98d\n\n# tcId = 76\n# point with coordinate x = 0 in left to right addition chain\nprivate = 00e461c5b5e63d75b4c8c123bf8b9cd45e712af08f7e2e494a8f255ac9d80e058b\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004e0c56d486e9c01163ed6c3ff25de3cdf5744dbf9e0e00bdcf19965df4ba1f311bd5e44430665823d8c0b34ebec0a6aab5ea96cf239de214fd011e6f9ec501dd4\nresult = valid\nshared = 50774347848828eeb6230f497cd181f8c57fbd18ffbf8328cd008321a1c37c43\n\n# tcId = 77\n# point with coordinate x = 0 in left to right addition chain\nprivate = 00e461c5b5e63d75b4c8c123bf8b9cd45e712af08f7e2e494a8f255ac9d80e058b\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004885ead6c074f8d751a767e918c4e89210a587c4b19d42244ae07027e361831053e80772be57fbd744955a2e8523063cc6136f2bb37befbef7a681d3bbbc57788\nresult = valid\nshared = 913da71044b8021a86c8fcaf4f634d0d625ff91ee1c8474d548bd10888964fb1\n\n# tcId = 78\n# point with coordinate x = 0 in precomputation or right to left addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000441e9d4cfa8efe80b895a8cbcce2568e251db7ecdfd20a7ad710d4a4bf2addc6b5ec36a8339168a03f15b8c80f2a2a828f151d38791584853ba2ff44a2a0460a1\nresult = valid\nshared = b48e119d29eef7dbb76b64218e728ddbf6ec600505ec7ced6ab6fb8763308da5\n\n# tcId = 79\n# point with coordinate x = 0 in precomputation or right to left addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004776aef1acb82b628e132cc29440988f0a15d4cc2b4f328aecb063c9b86e5018e6e44dfc60444faa9c4e36bc217451f7ac2956cb3b2e9bbd655eba297163d1f34\nresult = valid\nshared = 28a88b6b258f233020ba6fa9c00d1d72831f4515b86966a9782f521315e18aa7\n\n# tcId = 80\n# point with coordinate x = 0 in precomputation or right to left addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a864", + "8ce3d020106082a8648ce3d030107034200049ec06b0b08662c0e1dd9111696a63a1601cc83cee20695778adf84d43064fc90156001f084cd3c1df1a087f626533b6572584889bd3d5c2c99f0e311e22b41e6\nresult = valid\nshared = c4ff865ff3dc4953ea78d92a02f3345a53bdb6050cfd8f41baa4395ecb6acab8\n\n# tcId = 81\n# point with coordinate x = 0 in precomputation or right to left addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004fa51d128adc2000f09ff12c6fd8e25aa08556d708bf6b0ffff9e8eaad4783f0de22bf529e516e1f64b8e0d09f98fad4e501695a930a1b22076659da707e3ccd0\nresult = valid\nshared = de1069f051637e10166559cef44688afc809341855261215c4f381d9d7da76ca\n\n# tcId = 82\n# point with coordinate x = 0 in precomputation or right to left addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004614dcfbea4789a3f3eb4a8e2f111c887f0248d9316b99d0864c927a045d6941753a073befe08491a8050a4d96d08ba4790ae18db3ef7f0eaccf59ce1095afc54\nresult = valid\nshared = 4207bf4159faa0e50ed238b9c0ff46194a539a1ba03a5a4c8d68f369aecd31a5\n\n# tcId = 83\n# point with coordinate x = 0 in precomputation or right to left addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004efe7754ed4c0b3c1dd301bc1ed69800aa2ff5d51fb85937715e60d2e7bcada8eb1581ab75fb3c797ef94a9dba3d82568c84617eaf3fa04f279fbfd898f704604\nresult = valid\nshared = b5a0ec92aecc3010d27d2263d3da66e3d2f3395d23947024a3f4744454622027\n\n# tcId = 84\n# point with coordinate x = 0 in right to left addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004d8e13fbd017f1f9a26be35c611d7b2299f5d10de3c8a26362273fffb85238f3ed1426b748c1f87e3afa2c1e7a0224310c980655e07399590d1494d6d6bea0396\nresult = valid\nshared = d2a5bc66498c6036aecdfaad041cef732a893de190a0a5b42ff71e13f09280e7\n\n# tcId = 85\n# point with coordinate x = 0 in right to left addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200045a1027666a0e372481fec0b3901e058d60107c07b1115550ceb05789b55a6d35063d4c8ee66ed45ff3e1dfdcfd73ed96a9e83193884adbcaa574b2dd118a692b\nresult = valid\nshared = 1f812313ddcf36bc38071d0e51a74100d630c8e20cc414326eefa42ecb1b5f8e\n\n# tcId = 86\n# point with coordinate x = 0 in right to left addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200047937b9c40986dd755a0656203089782583da7d8113a44190762ab474a20bcf60efcbc1525aed5b4ad8e687cb02c2ef8887095cadca56c765b41b4a9544ff2fe8\nresult = valid\nshared = f284089bddd5e2e1be3f82640efa0658468fa1f10b281963a3ca190c3982fda6\n\n# tcId = 87\n# point with coordinate x = 0 in right to left addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200049368066a0748867a7b870244f5c9f82ea8bd51552959dd550bb7394497159a5d40764add1ae24c8e3f432ee011be97d3130718fe0a6a90ed8b1011b2034d09a0\nresult = valid\nshared = 4529f4b631c9984ab216a6801281fc4fd8731a58b65ca8d07bff07811116371f\n\n# tcId = 88\n# point with coordinate x = 0 in right to left addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004981d7449bdf0013f5eeddbb7e42c442f7ccdd9427bd26d7b388755aa5e26f46a1292b88fa6bf5dffca054dd42ed3594277b593dcc402d80340fb7816e4dcab37\nresult = valid\nshared = 64bbc9fdd73643eb2954f4ab640381b938c5e601846a0c6b6954966e0dc73e6f\n\n# tcId = 89\n# point with coordinate y = 1\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000409e78d4ef60d05f750f6636209092bc43cbdd6b47e11a9de20a9feb2a50bb96c0000000000000000000000000000000000000000000000000000000000000001\nresult = valid\nshared = 28f67757acc28b1684ba76ffd534aed42d45b8b3f10b82a5699416eff7199a74\n\n# tcId = 90\n# point with coordinate y = 1\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200045384d6c0def78960db967b8096d35477c5a5ce30ef0c6d8879a5568ca87e979401ee56c4581722610b43f3cbfcf3862c082a6e36baa36fd6f78403c0e399faa5\nresult = valid\nshared = 9ee653cda46db67612760ce35bac8450bbf48dbf74451ed93abb6db408a9fe10\n\n# tcId = 91\n# point with coordinate y = 1\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200044eca7641a4afd5eab0b214657ff3bdcbfc66f1551a53bb59493bc38ed78ff39614a0cadff14c14736edbdcdab510cba07a8924ffd0490ee514aedfaadb648b01\nresult = valid\nshared = 9736ad6b2a2ef17ec3f8c8dc2e35715fb1c06f28d82e4e26876f0214588165f1\n\n# tcId = 92\n# point with coordinate y = 1\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200048d0177ebab9c6e9e10db6dd095dbac0d6375e8a97b70f611875d877f0069d2c70000000000000000000000000000000000000000000000000000000000000001\nresult = valid\nshared = 748fa4f5a399320382dc920026938694c41a26fe2aaa318c5e710198dd71c793\n\n# tcId = 93\n# point with coordinate y = 1\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200045fdb7f0cffb8b5b1142d24698a4bda76bf9827d63b1a6bd85a4e2f9b59c510cfbcb35ba9c987108b6d4337ad5393f9f910ec92410c230869d66528ed88c1b98a\nresult = valid\nshared = 7f97db83b4d86f04fe286041ee21e80ec3d59f3ce82cdeeaf362016fc87a3e02\n\n# tcId = 94\n# point with coordinate y = 1\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004530b2293e60c6b6f14c75c90b1ef8b9f9fa6b2151b8d9855792eb2b3dc69f07a0db42440e73fd7d6df04aed5022fbe21ceaec33c5fbade1bd6ad321ef2e10d0b\nresult = valid\nshared = 21794cf24f56273fa4463cc7ae4232fa34dbe0f18b73613b8ae9cbfb9c36abf0\n\n# tcId = 95\n# point with coordinate y = 1\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200046916fac45e568b6b9e2e2ecd611b282e5fcc40a3067d601057f879ce5a8a73cc0000000000000000000000000000000000000000000000000000000000000001\nresult = valid\nshared = 915106d07816e879e7643f00abf6d79fb8f1cb78bf64a6a3827f91a7b0ef0f41\n\n# tcId = 96\n# point with coordinate y = 1\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004ed9568c85bc52a6b45733618c3602107c1fdacf23b1a38e486af95978a214e2efa0d71d5e737891c4276e247581ee6139011ca1460db9b1e20b364d9275683e2\nresult = valid\nshared = 2fcce552310819dd775ab7ba9ff0f96a1fcadd25a0c709703cef04bb6e1a7bd7\n\n# tcId = 97\n# point with coordinate y = 1\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200049ff7731c00f2aa88b3fc174aba907ad17595e602e768a5f1e9462a6d4b89b2d23f178a70b9bb3edce289118338a33df30c432c347f12a3de0a2b03b353878d96\nresult = valid\nshared = 757d926a2693bc8a3d2d8c0554a13579ef9e559186578911f37edc88b2f5e61a\n\n# tcId = 98\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200048270f8179d57436b34dfc0bdf7d417a5c895116b90cb51aec718614f864a635d174804e0c0e06e3d68d3149e0b956621c6aa2bde83f4d17d03d28ef8aa389fff\nresult = valid\nshared = 3db29ec6f978d2269e92e9c7eb5c8b5a8e56c2228a4fb9e483feca50aa3e451f\n\n# tcId = 99\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004c61750e98abaf20225a881dbfd3510532cfc3df971bbbca4a2bd52f91acc9c59d0fe79342097f88ae78fc79a8032245fdd2c30cc64aceaaa9fd57b0825692531\nresult = valid\nshared = 72c57c2e1", + "0d77318b3a796097bbf768c6366142d80f98c90a93780a841075f32\n\n# tcId = 100\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200049c5d3bb54650d9550e1ee2efa3ea43c14ab99d18bb049f37b42a6dac48232f0bd3a2760d83d33afe4ce6f1d1245489c509bd26b0251f308f8c996e80f7a3f8eb\nresult = valid\nshared = a96b07944e9eb2b22a9a36575eff1f4f6363b4aa3a53b100b8518a67ba5405dd\n\n# tcId = 101\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004f1724efd481ad45a55795f06126b1f5ed28e7d9bb4fee910af2ad8c1373b18ff77edbc34da6c787ec73430347f4da86810032d88f7475f6c42f15914079d179e\nresult = valid\nshared = 855883316b6d097ae5eab6c67e8411a1397349a09b9d7d8f096b2ba1bd03ea31\n\n# tcId = 102\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004fc3680af52fa89ffcd193ecc0b0714466fe5db277ee5872846c520bf4e3721d927260a0e225a3d377e6723ecb6bef8d4493c2da78a22a307fcca8f88f4527208\nresult = valid\nshared = 5a75bb7a0c96b8340d0842bcccf11974e1a5a2c8f4bc22b333433cce646b6a8a\n\n# tcId = 103\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004106b6f81e3482db18d74029291821ae448c38844ef783bf1d6999a404401f63f6a5753f0edc68a62cfd6a0b181bb2599e1f3bac5fa8824af160de79ed867c350\nresult = valid\nshared = d96412e31cf4d26195920cac952fb79ea25f6c50abc79b5ed0ef8026a6e83319\n\n# tcId = 104\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004093cb5193a4f94cd18edaa20a973b87ff79b0c03684c79487ecfee347e5354eb04fcb5752539170777932be15cd84c97f03815ffee8b60b647c178eebb8e14d4\nresult = valid\nshared = 2b0eed9badc92a1068196dfec124fe8f9d3f451e294d322eb881cce02f286026\n\n# tcId = 105\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004d6c38f448b964e27b5b450cc38d3cf41ef9df83d8a959771eb9c21855cb36445df638aef46a2aeb13199281e1a26d12fe61b029ec7f68b90faa89f88c7a95942\nresult = valid\nshared = ed0b1d8dfd27a61fce91dc6405bfc53b6d48a8c13ba541c96ef3dcf31d7cdb88\n\n# tcId = 106\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200048a748d61f59c3b6a29b733b0d554b2492e7f76fad7cae1c17f2ac3de9e4a65d2eedbe6c26b6fd22bfc03c1687555d2f0a38e02adee5570686171abfec6681917\nresult = valid\nshared = a796dd144f21ba3318f9e10828ecefc9c0f6ef2c427ae31351c16c2fbfa3cfa6\n\n# tcId = 107\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004f1052699d87e5677c75e26b2abe719310648d820a96e5b381fff58b392401581b1bb16ae8b68cbb76a3256870bad1ee5a30ff9fd662fd4f8d1fe5b5f1f98ff46\nresult = valid\nshared = 1f3a9615b0745046a972bad5d59794a0b60b032b4ac94fe85f77dfb380d1f32b\n\n# tcId = 108\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200041219af5230064ee9778667225f0e009cdb961330e386edb34e4fa9fddd0e5be7e2a12554227f613aaaa78938ddbbc99b923f9d181b8192dc4b816577e8f3b7e9\nresult = valid\nshared = caf9141d1fca4d0f10683b5e86d2b41af5602f017991fe7348d44e8d7014115c\n\n# tcId = 109\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000460def130f190e6dc44f5eb8a59e12e7efb27db968c7fa6cc6d31785f066b41b1f1bb556ac4cd77033e7aa6c5ba16f47ebafb14975a7fd72dd9b7fe23116bca55\nresult = valid\nshared = 6539ec1c98fa75197ba07c678b26300b3da1fe407dd4c68b89457ed669082e06\n\n# tcId = 110\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004f23f09bdb7d17289eb005975a757a39325b4df9b29e55ba2ca679b5ec0973ae918c881f3c7b6c12bed1ec54b837d08c5908e89bdcedd84b9177720378f789600\nresult = valid\nshared = 0b6619827cfa948d63f021e9eddb92f884fb5ce8a404bfe059e993fc23447a69\n\n# tcId = 111\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200045dbec098c1b7de3e3e2e73d0b62cd49c877e1a0130a1b39eb2fd4dbd4426aa4ccbeee217591a8d76cc8deaf14dde52e3f401e53b30cbb9c1807910d827d0041d\nresult = valid\nshared = 2a53a561acf5caec6eb0d8aa40727942881a75d136899dfbff91528236926c39\n\n# tcId = 112\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200041e70730dc4f39c8970182e1a29cc836b9e9d6cbd6fcaa8c0dc1062fed9a849693e7b9151f9c8a3345366f8221c8fb700e8c3a9aa7f0cc46a48864e1605592094\nresult = valid\nshared = 9b377716ff1d056dac8e392249eaec740d2f5aa62303f4baf6bb1b03b2a276c5\n\n# tcId = 113\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004f428c9ae3e23eaf9c2a5b9a7e41efd1cffbf35f881bfc35694d9c05d1e312b10ef6da9023cfd2dd0cb7b9e2a77d644affe62a63fb0f29d45291c6861aa063c5c\nresult = valid\nshared = 0c0c6867669743082547aa94451feb362fa29fbaf228dfb3eaf375f1a5ec2fb3\n\n# tcId = 114\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004b9a16d9a5b85a714e2bb2aa22b086a17404c7a3ff62452732347419c99e90bdad578b462f523994304b6afcf6944a9cc5d0ad1afad956475c8f2953c06b06b97\nresult = valid\nshared = d11f9e32587fd3b6f4a2354812618b4b3b4a7539b8a223b388bb7437f8d138a5\n\n# tcId = 115\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200048f659a163a58e9f900c1e9b34fb1cd61ffc9890267be3417c8afe79d57214da05cd5cb68a2b93da0dbe56c1cfc0dce8b6c3260e0c48379c6d2091f16b39221c0\nresult = valid\nshared = 4babf6368e0359b78614060241ece46facca3f52f5bbc47ac0b46a075b5dd3a0\n\n# tcId = 116\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004d257f133f00a079f4e6778ea4a9bf42b9f231290431b5b93d7e8b0e35b48010650d6c6b46574d1efce03510b8db4a0981ce138c5bd8fe0e54c988c40c5fc9200\nresult = valid\nshared = 9627cc5c8d8b72278be89c32b52210173e6f4b8e2f48e460c6429f46f9f469ae\n\n# tcId = 117\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200045ef2ac57c4e93cf78d8f86c35d413b98dc1902dd245affde5c16034afc7ea45547b3e9f77fbc5075bad03c418094f1aec1d03edeafa167fa6af83526552f7034\nresult = valid\nshared = d2b178bc9bb16b5a91a100bb72e15a9639e050c034346061413ec20c4fcc9bbc\n\n# tcId = 118\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004a7b513f96266414fa6ff439a35d8f09ab615db0bb6a3b1a120c217683f724b2342007a2c9feabcd6249a0d17acecd995e2a217fb5f07", + "bec96938016e297efa52\nresult = valid\nshared = 6cdca0a731aff1ccfb1904a769cef79eba965fbab1cc64d2049d0df45dccd276\n\n# tcId = 119\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200047743ab7248dae5f1a59ac6b0a136e9f1e51aff8bd45795ace5f8187a13edf9adbd9642078378bab5c6d484f9e1ce39675b72170bf39abc9be7942fc01fc435d7\nresult = valid\nshared = bd15e97a7f49aa33e57b54140a75fffce71b788ce0faa334cf8b45623dcc818a\n\n# tcId = 120\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200040e3aa971bacdace350dc0957fa5bde0946324eb139939d7fc1997c701effd04a4e6c3625d9564168d3a752961221a1de8cf5f3d603752a8c2e6277ac3a918c25\nresult = valid\nshared = c8b5e8e7488857a2dde62c5fc21e4525ebaba0e06b5be83ec6e7dd771e15a01a\n\n# tcId = 121\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200040f563e21bf9b24015a7cdbb6f000a692784ac2e4bc2715c76f684264a899c8240cab0d76e6b01cabe4f327429d11be115ed6dc0ca74f02c1b987a082f5af43a8\nresult = valid\nshared = 1c63a457509b148272687e6e442bde51982d41b0080d8c0c5eb714257af971e7\n\n# tcId = 122\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200045da49f10249e4df3dbb4e31ece0b0ee9aa073f2588195aaae63e74f6567a774810b5dd61b6bf219e9eab30ef09c13fc184b3d09ff7a4e192bca8f5111c4163c7\nresult = valid\nshared = 73a1ac9ece354a930dfd9c77577b4f50acc0a78964ea0d7775631d64c709c4a2\n\n# tcId = 123\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200046f72e6e5c6300679d3f14f0f6e590665643576ae8bbcb7c05b2f4a83e75e6ac3e712cb056ff034da340543c5da6997e65a3ab4cd39e997892bb92ee2c22b8167\nresult = valid\nshared = fcaa406329bb74f995862cea7cecc7425c6bd4148ef1a9f46b5d42da5994556a\n\n# tcId = 124\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200046b544df9168e7787db282e2ae01dd72306d9c9bc80f5ab38ce594766c3d929e967493ff601ca60862b47d3a0785c917e44584044e36023a54424015e58be5040\nresult = valid\nshared = e49ff11d46b6c4b5dde528b04132d15c040e79f9b7151fbc650030988028cb87\n\n# tcId = 125\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200041c31385b9db9b374e92499939ab0fd7e7eda464561eba89fcd7b4769814a8638a4764cf8ce97b5d143bb8eeb9e1b27287f2b73942ecdbc6359aafb1ee7a152c2\nresult = valid\nshared = fc8f64eac1c7e688c52c467185de21914e8b253056d9e4be010ed0128f92a889\n\n# tcId = 126\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004aabcf8b1443d6cbb1de129a0ffe09f60b23fd9d0a44b6bdf25bed7373fdbfd1db716bde7fe9f2f46de0b688e3025e029cff15244429ad4f83484f5dea4af8583\nresult = valid\nshared = 6b56d8a01a884319ab5fb9d890cacfc7aabd81ad938cb5eaae207c8c1aa06efb\n\n# tcId = 127\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004e7cd580bd957915d527056832e37793ab3b082ddfad9372412e1908e5c16bbb6208601a970d5844b780d9246e9583eb35918c42ed695c07d52244037f0e31db5\nresult = valid\nshared = 2f64b5c8046d41a4e1d631ff23846bff956a4925a47f8534490a20b4b1918b9c\n\n# tcId = 128\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200042a52db1fe246b71c79c0d0ac49a7d38de67b202995efbbd2a9cc525f6f36010368f494be27e0593e2d612f1fa10a9211437e6aa16e65d97735014072f0dcec94\nresult = valid\nshared = 63ac31e718b9a780a85f0670e1d3685bbe306e5f06fee282a8784700b503c124\n\n# tcId = 129\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200041c50dc49fef708c4cdd62e766f9b60f784d51afee17a8fe9f3701b2fae55b7a5d10f0d9639d83dce8f26a869705a6d6d38e6d328f5685581142aec0dcd1f90e7\nresult = valid\nshared = 555c1917b770cebe6a98337a008ae3d8d04f571565327c93debf61ef90ddddd8\n\n# tcId = 130\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200046d0aa1bc1cee6d07d045002c13290d0ca25ca3c8783343a525fac70472b92c62d6fba71174448b472cf172b0ca9e377f1a2603ba7ae1276d153b20c63e7d24bf\nresult = valid\nshared = 3a65a9200f8f96635912faa5e7859fa303a76a1c2a41ea97ef61aa39287700a9\n\n# tcId = 131\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004f07e3d8be2ba54c6084141e1fd2b29cfd00d4e6dd6ffb115ed839b10bd8a422f42992cb9a5243897d55408e9bb556043318d87349af35dcc0975ed805c8fa2c9\nresult = valid\nshared = bb7bb52da570ba58e05fd322f82d556c2d65b365db30815879f67f233b089b51\n\n# tcId = 132\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000443a9b90274dbd5f36dd29046fc8390008dde74513ce4c3e8892b236efff80c9dc71547152a5897dbe16957bd15d1a87d770496f814fe2921c8f33df04393c7f8\nresult = valid\nshared = e8cae9944233b867eedf5902fc49ecd07e4c81c46279531e89520b74ba5370b5\n\n# tcId = 133\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004e9af8e8c19da9d5c2f3b3c03b8e927c3cbe2d717f98f500972e56d82eb07c2b14e83fcaacadc26f8bb5e7b94741fe54f31275ebd6e1c969d7ec2fecead8a0dae\nresult = valid\nshared = e72ad0cdb25f4307d1d834a5f792e9af64fd1b69a47041ec8fa46d526f419e4d\n\n# tcId = 134\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000433d9582b567aadbe59606fa6ffc11848e4947b5179597317776317b2b4ff65d0b4d8568dc843319cc04f4bf110496dee7c9229fc68cb0958f3cbd37ecca6990f\nresult = valid\nshared = 000197fbc260a84dbcbf88136aeaa79b03bb8949aefd2416bef63929ef789bf3\n\n# tcId = 135\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004e21c0282adb1b2055fda744644c68612cfb0c68a70b9812d007f21a78f1adc4849f3e7644bc6633e2773a2f3cc5214fa7208e30afb3de992f077ee321569dc48\nresult = valid\nshared = cdb18bf62670a853488ca510d8f55bab2918991424925bd9b74a821d2c6e7e3c\n\n# tcId = 136\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004af27de0da6556e4e64588c9694afee9a84e1cbd0c388972df3a997f760bbcd903c5a02e161551f333d770559ab1af49bf8b68274896590939ce956d9913b676f\nresult = valid\nshared = 167303505d22cf9ef78c5b9687a5418fa9fb284f2b0ff68316288ecd7f2e2e09\n\n# tcId = 137\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200040da41b82550b358ff474915d83104d41a83a12ef70589b9d392f0f", + "30dc32429edc76163c8fe07a3f709cbd92da0bbfc5045f3db82aa5344cf1fd5b27fcd2f7a6\nresult = valid\nshared = 85600ff23c3cde26009fea9b6539664bf045056883728ab0d4498ea0a8f4a453\n\n# tcId = 138\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000419c844b8c7209026a0996a782983e1bd0f0de9255b86739be9bef08ea5475cc669a779ddf57747cf7d9a22f00ed8efc6e818af5827b750d665fee6d6d58a22e8\nresult = valid\nshared = a3250a2bfb145ce86e706ac3ab2bf503a66486ac0b2f7522601c124b0e0f9c5b\n\n# tcId = 139\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004bd07bd4326cdcabf42905efa4559a30e68cb215d40c9afb60ce02d4fda617579b927b5cba02d24fb9aafe1d429351e48bae9dd92d7bc7be15e5b8a30a86be13d\nresult = valid\nshared = 2d70cc8c8af01366051cc8359c2fc8f258757e2601fd8f3e08422a7b23bfeff5\n\n# tcId = 140\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200040089dee27a60d071dabbaf58f3e56614dad3b7f9a8030769fd0463b3e6e0f03a147b4d6e7e7fd939b9b54dab458fd556ad8fdaf4da6c3909588c4e050ca74a67\nresult = valid\nshared = cbe0c571d1080ea34ee20ad1bfd21ea5ecc442ead733fb4eee3c0d7b0cce9935\n\n# tcId = 141\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000442ede106cf85aef46df7e5dba8a8b00459317d9e766a7b77c299aa0e17dea142b6e9a86f4fc3e945d4323ba8e459f6b7b14c563a698c757a2d5f7b0bc301ede2\nresult = valid\nshared = 33320fc7917fe4e19280bfbfe16f223c037f7c2dc30c0fda98310740f57fe289\n\n# tcId = 142\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004974b4316c5e7d1348b28dbc4fd61d8d3470de744c30f5be237f85f29969dea77b5f00b58b83cfc7bc51655465b4a28abe1ed3dbec20c6b4643aec85b95a5bec6\nresult = valid\nshared = 35c726ead66c39414fe0c24604df7838e5725d2fc1bd0853261e1de3338ecb4f\n\n# tcId = 143\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000459873d7523936a121b629e9870f930419f253a5767b9d0dc49716f2c50e17bd0163b71f2bf4318fbde1ceaa585450080eec28474cd18bf7c21d2d1bfde4ff677\nresult = valid\nshared = 66ea42fe6fd8741b37599bbdada3ec0e6b08c0b52ea67c29a33172f72742583c\n\n# tcId = 144\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004bd85a79f81c4f9613e64fa347886437856c7358d1b69cf1e923d7742d82f9b6767d26918eaa8acb113a1daadaedc709742457303ebc23cdda5572613dc827703\nresult = valid\nshared = 2f8a502e4f440133e84fb625292cbeabe2cb79da73987c76d4fed864d1b1b762\n\n# tcId = 145\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200043e6a4effc47c2f5926bb6b4acf2eac48b9524c47d511f816976796778600d6c5bfce593242a5985a977590f8d7485df3f953352957f3c17c13e94583d9c0e7b9\nresult = valid\nshared = 06436817d8928b77b73d16c5c3b35e243ad3ef2ab59ad047142c67a6d0923c84\n\n# tcId = 146\n# point with coordinate y = 1 in precomputation or right to left addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200049a4487fcfce8396688e7449e095fe803caa253d4bd7c66dbc6261cc9d9f883a50e5251bae29c5a5cdfa31bc61105671a88a018467398158d35b88829237c0bff\nresult = valid\nshared = 7e83fd2c3d713bc85d6d85d9078b3a0842824d410e8abde04da0fd71c7d94705\n\n# tcId = 147\n# point with coordinate y = 1 in precomputation or right to left addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004fed6ce127290c1291ca5ce64acb4e0f2f8905654d1d25ba57c1f74ab52f21f42963d31671c06b802169929525c4a1fdeff5b1eafab919dc2df6c52be84dfaef3\nresult = valid\nshared = 0e3dfdab606ebdc6428282acd443f189c99b3b483aa101fd8d6bed38aec59e02\n\n# tcId = 148\n# point with coordinate y = 1 in precomputation or right to left addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004f7cee5b55f1869f137dd707c8f8fb8965a2be5840c3149fb759695a4661b9c0d23c78c4e9647b0d6cb2f2602be73ff25cf3d09c96d892b5745fe5eca814aec91\nresult = valid\nshared = f489f2bd93f76b8e41fc6b9f211bc599d49db1f17a38e95bab1d31b2a2b55829\n\n# tcId = 149\n# point with coordinate y = 1 in precomputation or right to left addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200042baaaec3b3e8d54a4e18f0960b947da2535e3cfcca2cfa8b7113aad8e3b6626f72f71e7c9e96042c1d39cc8f1139d5147c6f4fe62e23cf6df364b5f4d899f842\nresult = valid\nshared = cc5738b49d30d5d02cf7e0c54a3de09b5b6f3c4dea91dd0679072a3562444c37\n\n# tcId = 150\n# point with coordinate y = 1 in precomputation or right to left addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004a51ab1238bc1bed25247e7d179c83a61ae2d4a9fe2288c363ae0eb7a77de432a3c6d35d82ba8017e6ca9041cc785a30703f7bc4427506e624ac5979d715421dd\nresult = valid\nshared = 89a11177d6907a81d47467093bf6a3cc8ba55dee05239b160a31a3000f5d807b\n\n# tcId = 151\n# point with coordinate y = 1 in precomputation or right to left addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200048b5ae8a0e55f30f509061315abae79ac480f88b44655f7269a385c81526884be262974a31a0e2322126c2d77b26b108abd81f8b952c458ccc95d46fb4924c7c0\nresult = valid\nshared = 2cb03c30b20037a5cf4d5b33574f3abac895bfab37867eb2ebed260e0929058d\n\n# tcId = 152\n# point with coordinate y = 1 in precomputation or right to left addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200045f60c77e474dd66c8135ee3dafc75ba644649824c72737542091ad469adbb685312c09c69b629d0436bf3bd6c6083ff2a87be484a73ef3a5d2c3e06b5d9b21b3\nresult = valid\nshared = e54d487d0c4b12fe522af3e663ce316e632ba9d63a1f02a36fc5a82bf82731a4\n\n# tcId = 153\n# point with coordinate y = 1 in precomputation or right to left addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004e06eaa73f6feae45417d859bbad4bc404b2885bcd213ebace594e16f4970e0c411ed3323a3d7afc7076239884307f91849ed5f5e36b6171d309c81344c53e06d\nresult = valid\nshared = ccea969d40fa42933f4fbdc4cabe2185f8a452996254c1f4e0dde5e14feeea8d\n\n# tcId = 154\n# point with coordinate y = 1 in precomputation or right to left addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200040f1c1b89e9fc6fc0faefc9109fc4a1247d9f54c7497b6cc975e6a5455bef410836cb3818548ac9b41e2b8336c3eb8d97075ae47e1827fa1ff93d4341d43c0c1d\nresult = valid\nshared = eaae0e188c9427bf3c8b3ded772122204c328d5941e389d808e2724638f9aff8\n\n# tcId = 155\n# point with coordinate y = 1 in precomputation or right to left addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004577069e8284a95f51dcab919b0536657058971dab76217f8d3ae722a64092e26e51f68a722cc0397f4801401771e9a3d1988d4af76f14f9e2f9c36e0773e29c2\nresult = valid\nshared = fea0cce1358f1ff40ffeaaffbf91b2e8d426d4e31e9627731ace3a122eab6b0d\n\n# tcId = 156\n# point with coordinat", + "e y = 1 in precomputation or right to left addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200042406a2759050b925dd4f814c5033e355548f42bbf1afb791c110f0031f29f68099d5f4b005de3927f165abeff196a28c7217fab1be2b5209c324e7d62d2dd687\nresult = valid\nshared = 837621ea4827bba0376aaa8aa66cfe144a2ff1e359dc619a06441d3e055f9771\n\n# tcId = 157\n# point with coordinate y = 1 in precomputation or right to left addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004ccaac61f35a27861183621642bc573af913356fb47cf582f0b5299099d6f6c6991f7272b83b738a7a5d30447c87f126a7d98ec72fa2609d0939d18db7ea7eb3a\nresult = valid\nshared = 63974ce6153762e5b364523cead93e8ce8bcc77dda56365d676136169fc4e39b\n\n# tcId = 158\n# point with coordinate y = 1 in precomputation or right to left addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000401415917272f1984e7217a36fb311fd2904d41a6b13973f92aae3b90e85e4d56d97c822eb7b21a84d0d1be4867404a80c34867f43139dadcc3619e10b222562b\nresult = valid\nshared = 0a0488144bc36d690b62148ac3076047d46d48f7adbb0f34fee9a636295fe737\n\n# tcId = 159\n# point with coordinate y = 1 in precomputation or right to left addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004b2575d100c6fa056bcd137ab111b5315a8908c29243b84f3dc996d0e45764b9166cabeb41885588ec08b47257df58bd58f7dcd9e012e2669fa2f52e25767fc4c\nresult = valid\nshared = 1232165538a44268aa7c199c54d6d207c4ef3f5aa790c10c926a20752ca645ce\n\n# tcId = 160\n# point with coordinate y = 1 in precomputation or right to left addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004c17355ed30ccd6427f9685709021b25c11ed176e9610c479bcc4cc7552a738e61f75114761dba0ec60cd264bbab763c5d5abcc75cd8fb5651d0645179988cc6d\nresult = valid\nshared = dcab5e874e4fb76bc4312528e9d76dfae56145922533089734110bf5653f4d77\n\n# tcId = 161\n# point with coordinate y = 1 in right to left addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004341592390ccce485de8880f3d727f664c381914a1becec383b35586751fc81c2add71852b87016e1019cae7a9080e75ce0b0b8aac175d692d5e7b4dad088f5cc\nresult = valid\nshared = 4ce2701b2be63a0083a4c53f7a0bf04cf871654f5edb6f625e3ea5e7d0bdcc90\n\n# tcId = 162\n# point with coordinate y = 1 in right to left addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004fa764b6b76a86c3b762120825d353a24766208c1f5cc0fe3fe7998026a2ec5c43bb2f948fd94cdaa5869b1e0e73a4d97035cc49357fb7b74d7ed0a2c5b8d54eb\nresult = valid\nshared = 7abef9765cca721320fbf8edcbef6d2ba25d17b70ffa1776029bc38fe677a12c\n\n# tcId = 163\n# point with coordinate y = 1 in right to left addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004a71fbb617199bd585b4b66212ca33ca9e09370e6bf15c8ea0acefd9c8e945d06840f058863078e743e220ff99f23bbc1daa36835d4b1269f0a7536e63f06d853\nresult = valid\nshared = 5f61404dbbbc2867dff95c1f37ed44f4cb8fabcd223b03739d888308d13bc412\n\n# tcId = 164\n# point with coordinate y = 1 in right to left addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000413c8292d854d39451c0c63a802b8c03e4fcb875ef01239896295ba1c0f386975f82df197086fd86032cb36b69a27876dd75a8e9679f36ffc2210edb128d4be13\nresult = valid\nshared = 8d673a577e35bf9d5d00676c08b2c739617c46a052188403aa06dc714af6acc1\n\n# tcId = 165\n# point with coordinate y = 1 in right to left addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200040cd9df415acc0c32fd4e3d6924ce53075b0452bf919a2ab2ebe26597570f1ecd5985d8d2c5df78fc100f87efb6dfa9543757bdffecf083dfcd1ecb38de6c23f8\nresult = valid\nshared = a7835ffee0f2a69dfcf70d4e798dbe3ed32ba03cfddae5ddd11d8c0ac3d74f9b\n\n# tcId = 166\n# point with coordinate y = 1 in right to left addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004d2dbea4046b23fd2b233d1ce31dceddb89b25f26c0627a9d2db3c5605c9cc99535bdc8de7451c1e27e97aa91402cce3882c71269d9cbdcb5d7ac0ceb911b9b6d\nresult = valid\nshared = e98ea22209cd397edb6c319648c1eb24bc4d39598ab11995571926684ce2ceca\n\n# tcId = 167\n# point with coordinate y = 1 in right to left addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004888fb044fb2b6caa60366bfa662adba479b8365a6555a29887d580f587086ba8482f4ec24082a48d6402afa1622143f26e61d91b7e30d6a4b223630ee10f70fb\nresult = valid\nshared = 91b65733860b1bdb9541d9f55895a3dbb3f13c199251d33006b6dcf90ac349ed\n\n# tcId = 168\n# point with coordinate y = 1 in right to left addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200042e2bec134249379d57700301f3a58e4b395a4d28370d2a06e65e7ac89ed76ac697dc960bd795cdf4fbcfdd75149057b8e022331c7b5461f383ac589d764df333\nresult = valid\nshared = 1fdf7c5c48047a113e5e5d1b7ed593337e769231cca5c7110160e0c1b97f4256\n\n# tcId = 169\n# point with coordinate y = 1 in right to left addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004c78cda7e3b9e1772ebed30b2b51dcf155a69a0fc504557836e25147cfb8127d2f8289cf38b033d3763c8f9f6c091787a3142fb83dff5719590282c6f852e0105\nresult = valid\nshared = ba0abc3e71726cb51330489176357b81b8074d7690e4e82e9a3c00151e1fa318\n\n# tcId = 170\n# point with coordinate y = 1 in right to left addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200041e3df4dd7fb7718cb0aa0dd72f8a25c83c4e804e7cbd48c5e965651f9e23bf4ef0ff40dd9796e4a9a5eddd2c4ca4ebd10990d8fb8918d12d53c76001afa9de7f\nresult = valid\nshared = 16e632f9752d36602c95ec274b32ad594f39f6ac3bd4b0b20f8637392142cef4\n\n# tcId = 171\n# point with coordinate y = 1 in right to left addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004e5c5dc3fd88d85668b3b709fd6b4232f1f80949cbccb5588363e6c217a2b3ed88dbd0d6e3cc97f3081d16602aa3d1b655ee0791c87fcb5abe6217d8c8513807e\nresult = valid\nshared = 9eed4b96569f604a4d3f5af97499807111fc9888c458ece2e3000e245c2c02b0\n\n# tcId = 172\n# point with coordinate y = 1 in right to left addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004021c41eceec24e0fba894ad7415a9598cbcd14fa6ca46e25575268a1d8e5bbc63f846c6a185fa3f23bb92c14e7e2cba8c74047c09af766f55ef0c907c80d9451\nresult = valid\nshared = 21ac32013838812621dbb584965bded6fc851d3a029810679bc57b2381bb7a7d\n\n# tcId = 173\n# point with coordinate y = 1 in right to left addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200048e24192cd33335a114f5070266c014cb0d8c704d16d6042e89c17597bcd4e77ebdb4c5171704c2c09275c22a310e0c4fe092e4084856da99b94abbfa9f469f48\nresult = valid\nshared = fc5978da01ca83e127dddf989a0358871b3c4ce0755bfb020633db467e21a53c\n\n# tcId = 174\n# point with coordinate y = 1 in right to left addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000431c90ae47a93d09a2352b6f3677e7975ea62aadedb56c118eb8b9f771e2dd9f5f2601fb9cca2304e594423cf48064dbed17ae40452f18b", + "e6ae018321911e8cb3\nresult = valid\nshared = 9f417341261aa45d396b0ccf2a3dee7a466ca47e3ce86ecd2071d9c4db08820e\n\n# tcId = 175\n# point with coordinate y = 1 in right to left addition chain\nprivate = 00809c461d8b39163537ff8f5ef5b977e4cdb980e70e38a7ee0b37cc876729e9ff\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004d2f211cfab84e01c8e5544036234debe35ae103bb878d7abcea6825f753e03a385f7f1870e64f1262af67a25ef9880419f45608e7f9da6dee83f5f46ceb53dcb\nresult = valid\nshared = f419febb32c254611adf569c2d583b17542b1538caa0001967f0a4bc34b8b789\n\n# tcId = 176\n# edge case private key\nprivate = 03\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b\nresult = valid\nshared = 85a0b58519b28e70a694ec5198f72c4bfdabaa30a70f7143b5b1cd7536f716ca\n\n# tcId = 177\n# edge case private key\nprivate = 00ffffffffffffffffffffffffffffffffffffffffffffffffffffffff\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b\nresult = valid\nshared = a329a7d80424ea2d6c904393808e510dfbb28155092f1bac284dceda1f13afe5\n\n# tcId = 178\n# edge case private key\nprivate = 0100000000000000000000000000000000000000000000000000000000000000\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b\nresult = valid\nshared = bd26d0293e8851c51ebe0d426345683ae94026aca545282a4759faa85fde6687\n\n# tcId = 179\n# edge case private key\nprivate = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b\nresult = valid\nshared = ea9350b2490a2010c7abf43fb1a38be729a2de375ea7a6ac34ff58cc87e51b6c\n\n# tcId = 180\n# edge case private key\nprivate = 008000000000000000000000000000000000000000000000000000000000000000\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b\nresult = valid\nshared = 34eed3f6673d340b6f716913f6dfa36b5ac85fa667791e2d6a217b0c0b7ba807\n\n# tcId = 181\n# edge case private key\nprivate = 00ffffffff00000000ffffffffffffffffbce6faada7179e83f3b9cac2fc632551\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b\nresult = valid\nshared = 1354ce6692c9df7b6fc3119d47c56338afbedccb62faa546c0fe6ed4959e41c3\n\n# tcId = 182\n# edge case private key\nprivate = 00ffffffff00000000ffffffffffffffffbce6faada7179e84f3a9cac2fc632551\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b\nresult = valid\nshared = fe7496c30d534995f0bf428b5471c21585aaafc81733916f0165597a55d12cb4\n\n# tcId = 183\n# edge case private key\nprivate = 00ffffffff00000000ffffffffffffffffbce6faada7179e84f3b1cac2fc632551\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b\nresult = valid\nshared = 348bf8042e4edf1d03c8b36ab815156e77c201b764ed4562cfe2ee90638ffef5\n\n# tcId = 184\n# edge case private key\nprivate = 00ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac1fc632551\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b\nresult = valid\nshared = 6e4ec5479a7c20a537501700484f6f433a8a8fe53c288f7a25c8e8c92d39e8dc\n\n# tcId = 185\n# edge case private key\nprivate = 00ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6324f3\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b\nresult = valid\nshared = f7407d61fdf581be4f564621d590ca9b7ba37f31396150f9922f1501da8c83ef\nflags = AddSubChain\n\n# tcId = 186\n# edge case private key\nprivate = 00ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632533\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b\nresult = valid\nshared = 82236fd272208693e0574555ca465c6cc512163486084fa57f5e1bd2e2ccc0b3\nflags = AddSubChain\n\n# tcId = 187\n# edge case private key\nprivate = 00ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632543\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b\nresult = valid\nshared = 06537149664dba1a9924654cb7f787ed224851b0df25ef53fcf54f8f26cd5f3f\nflags = AddSubChain\n\n# tcId = 188\n# edge case private key\nprivate = 00ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254b\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b\nresult = valid\nshared = f2b38539bce995d443c7bfeeefadc9e42cc2c89c60bf4e86eac95d51987bd112\nflags = AddSubChain\n\n# tcId = 189\n# edge case private key\nprivate = 00ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254e\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b\nresult = valid\nshared = 85a0b58519b28e70a694ec5198f72c4bfdabaa30a70f7143b5b1cd7536f716ca\n\n# tcId = 190\n# edge case private key\nprivate = 00ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254f\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b\nresult = valid\nshared = 027b013a6f166db655d69d643c127ef8ace175311e667dff2520f5b5c75b7659\nflags = AddSubChain\n\n# tcId = 191\n# CVE-2017-8932\nprivate = 2a265f8bcbdcaf94d58519141e578124cb40d64a501fba9c11847b28965bc737\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004023819813ac969847059028ea88a1f30dfbcde03fc791d3a252c6b41211882eaf93e4ae433cc12cf2a43fc0ef26400c0e125508224cdb649380f25479148a4ad\nresult = valid\nshared = 4d4de80f1534850d261075997e3049321a0864082d24a917863366c0724f5ae3\n\n# tcId = 192\n# CVE-2017-8932\nprivate = 313f72ff9fe811bf573176231b286a3bdb6f1b14e05c40146590727a71c3bccd\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004cc11887b2d66cbae8f4d306627192522932146b42f01d3c6f92bd5c8ba739b06a2f08a029cd06b46183085bae9248b0ed15b70280c7ef13a457f5af382426031\nresult = valid\nshared = 831c3f6b5f762d2f461901577af41354ac5f228c2591f84f8a6e51e2e3f17991\n\n# tcId = 193\n# point is not on curve\nprivate = 7e4aa54f714bf01df85c50269bea3a86721f84afe74f7b41ea58abcf3474e88d\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = invalid\nshared = \n\n# tcId = 194\n# point is not on curve\nprivate = 7e4aa54f714bf01df85c50269bea3a86721f84afe74f7b41ea58abcf3474e88d\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nresult = invalid\nshared = \n\n# tcId = 195\n# point is not on curve\nprivate = 7e4aa54f714bf01df85c50269bea3a86721f84afe74f7b41ea58abcf3474e88d\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200040000000000000000000000000000000000000000000000000000000000000000ffffffff00", + "000001000000000000000000000000fffffffffffffffffffffffe\nresult = invalid\nshared = \n\n# tcId = 196\n# point is not on curve\nprivate = 7e4aa54f714bf01df85c50269bea3a86721f84afe74f7b41ea58abcf3474e88d\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200040000000000000000000000000000000000000000000000000000000000000000ffffffff00000001000000000000000000000000ffffffffffffffffffffffff\nresult = invalid\nshared = \n\n# tcId = 197\n# point is not on curve\nprivate = 7e4aa54f714bf01df85c50269bea3a86721f84afe74f7b41ea58abcf3474e88d\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000\nresult = invalid\nshared = \n\n# tcId = 198\n# point is not on curve\nprivate = 7e4aa54f714bf01df85c50269bea3a86721f84afe74f7b41ea58abcf3474e88d\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001\nresult = invalid\nshared = \n\n# tcId = 199\n# point is not on curve\nprivate = 7e4aa54f714bf01df85c50269bea3a86721f84afe74f7b41ea58abcf3474e88d\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200040000000000000000000000000000000000000000000000000000000000000001ffffffff00000001000000000000000000000000fffffffffffffffffffffffe\nresult = invalid\nshared = \n\n# tcId = 200\n# point is not on curve\nprivate = 7e4aa54f714bf01df85c50269bea3a86721f84afe74f7b41ea58abcf3474e88d\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200040000000000000000000000000000000000000000000000000000000000000001ffffffff00000001000000000000000000000000ffffffffffffffffffffffff\nresult = invalid\nshared = \n\n# tcId = 201\n# point is not on curve\nprivate = 7e4aa54f714bf01df85c50269bea3a86721f84afe74f7b41ea58abcf3474e88d\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004ffffffff00000001000000000000000000000000fffffffffffffffffffffffe0000000000000000000000000000000000000000000000000000000000000000\nresult = invalid\nshared = \n\n# tcId = 202\n# point is not on curve\nprivate = 7e4aa54f714bf01df85c50269bea3a86721f84afe74f7b41ea58abcf3474e88d\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004ffffffff00000001000000000000000000000000fffffffffffffffffffffffe0000000000000000000000000000000000000000000000000000000000000001\nresult = invalid\nshared = \n\n# tcId = 203\n# point is not on curve\nprivate = 7e4aa54f714bf01df85c50269bea3a86721f84afe74f7b41ea58abcf3474e88d\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004ffffffff00000001000000000000000000000000fffffffffffffffffffffffeffffffff00000001000000000000000000000000fffffffffffffffffffffffe\nresult = invalid\nshared = \n\n# tcId = 204\n# point is not on curve\nprivate = 7e4aa54f714bf01df85c50269bea3a86721f84afe74f7b41ea58abcf3474e88d\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004ffffffff00000001000000000000000000000000fffffffffffffffffffffffeffffffff00000001000000000000000000000000ffffffffffffffffffffffff\nresult = invalid\nshared = \n\n# tcId = 205\n# point is not on curve\nprivate = 7e4aa54f714bf01df85c50269bea3a86721f84afe74f7b41ea58abcf3474e88d\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004ffffffff00000001000000000000000000000000ffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000\nresult = invalid\nshared = \n\n# tcId = 206\n# point is not on curve\nprivate = 7e4aa54f714bf01df85c50269bea3a86721f84afe74f7b41ea58abcf3474e88d\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004ffffffff00000001000000000000000000000000ffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000001\nresult = invalid\nshared = \n\n# tcId = 207\n# point is not on curve\nprivate = 7e4aa54f714bf01df85c50269bea3a86721f84afe74f7b41ea58abcf3474e88d\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004ffffffff00000001000000000000000000000000ffffffffffffffffffffffffffffffff00000001000000000000000000000000fffffffffffffffffffffffe\nresult = invalid\nshared = \n\n# tcId = 208\n# point is not on curve\nprivate = 7e4aa54f714bf01df85c50269bea3a86721f84afe74f7b41ea58abcf3474e88d\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004ffffffff00000001000000000000000000000000ffffffffffffffffffffffffffffffff00000001000000000000000000000000ffffffffffffffffffffffff\nresult = invalid\nshared = \n\n# tcId = 209\nprivate = 7e4aa54f714bf01df85c50269bea3a86721f84afe74f7b41ea58abcf3474e88d\npublic = 3018301306072a8648ce3d020106082a8648ce3d030107030100\nresult = invalid\nshared = \n\n# tcId = 210\n# public point not on curve\nprivate = 4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764c\nresult = invalid\nshared = \nflags = InvalidPublic\n\n# tcId = 211\n# public point = (0,0)\nprivate = 4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = invalid\nshared = \nflags = InvalidPublic\n\n# tcId = 212\n# order =\n# -115792089210356248762697446949407573529996955224135760342422259061068512044369\nprivate = 4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c\npublic = 308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f50221ff00000000ffffffff00000000000000004319055258e8617b0c46353d039cdaaf020101034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a\nresult = invalid\nshared = d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a\nflags = WrongOrder,InvalidPublic,UnnamedCurve\n\n# tcId = 213\n# order = 0\nprivate = 4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c\npublic = 308201133081cc06072a8648ce3d02013081c0020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5020100020101034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a\nresult = invalid\nshared = d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a\nflags = WrongOrder,InvalidPublic,UnnamedCurve\n\n# tcId = 214\n# order = 1\nprivate = 4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c\npublic = 308201133081cc06072a8648ce3d02013081c0020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5020101020101034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a\nresult = acceptable\nshared = d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a\nflags = WrongOrder,UnusedParam,UnnamedCurve\n\n# tcId = 215\n# order = 26959946660873538060741835960514744168612397095220107664918121663170\nprivate = 4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c\npublic = 3082012f3081e806072a8648ce3d02013081dc020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff0000000100000", + "0000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5021d00ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2020101034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a\nresult = acceptable\nshared = d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a\nflags = WrongOrder,UnusedParam,UnnamedCurve\n\n# tcId = 216\n# generator = (0,0)\nprivate = 4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c\npublic = 308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b04410400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551020101034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a\nresult = acceptable\nshared = d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a\nflags = UnusedParam,UnnamedCurve\n\n# tcId = 217\n# generator not on curve\nprivate = 4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c\npublic = 308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f7022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551020101034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a\nresult = acceptable\nshared = d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a\nflags = UnusedParam,UnnamedCurve\n\n# tcId = 218\n# cofactor = -1\nprivate = 4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c\npublic = 308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6325510201ff034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a\nresult = invalid\nshared = d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a\nflags = InvalidPublic,UnnamedCurve\n\n# tcId = 219\n# cofactor = 0\nprivate = 4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c\npublic = 308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551020100034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a\nresult = invalid\nshared = d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a\nflags = InvalidPublic,UnnamedCurve\n\n# tcId = 220\n# cofactor = 2\nprivate = 4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c\npublic = 308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551020102034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a\nresult = acceptable\nshared = d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a\nflags = UnusedParam,UnnamedCurve\n\n# tcId = 221\n# cofactor =\n# 115792089210356248762697446949407573529996955224135760342422259061068512044369\nprivate = 4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c\npublic = 308201553082010d06072a8648ce3d020130820100020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a\nresult = invalid\nshared = d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a\nflags = InvalidPublic,UnnamedCurve\n\n# tcId = 222\n# cofactor = None\nprivate = 4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c\npublic = 308201303081e906072a8648ce3d02013081dd020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a\nresult = acceptable\nshared = d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a\nflags = UnusedParam,UnnamedCurve\n\n# tcId = 223\n# modified prime\nprivate = 4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c\npublic = 308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100fd091059a6893635f900e9449d63f572b2aebc4cff7b4e5e33f1b200e8bbc1453044042002f6efa55976c9cb06ff16bb629c0a8d4d5143b40084b1a1cc0e4dff17443eb704205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441040000000000000000000006597fa94b1fd90000000000000000000000000000021b8c7dd77f9a95627922eceefea73f028f1ec95ba9b8fa95a3ad24bdf9fff414022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551020101034200040000000000000000000006597fa94b1fd90000000000000000000000000000021b8c7dd77f9a95627922eceefea73f028f1ec95ba9b8fa95a3ad24bdf9fff414\nresult = invalid\nshared = cea0fbd8f20abc8cf8127c132e29756d25ff1530a88bf5c9e22dc1c137c36be9\nflags = ModifiedPrime,InvalidPublic,UnnamedCurve\n\n# tcId = 224\n# using secp224r1\nprivate = 4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c\npublic = 304e301006072a8648ce3d020106052b81040021033a0004074f56dc2ea648ef89c3b72e23bbd2da36f60243e4d2067b70604af1c2165cec2f86603d60c8a611d5b84ba3d91dfe1a480825bcc4af3bcf\nresult = invalid\nshared = \nflags = InvalidPublic\n\n# tcId = 225\n# using secp256k1\nprivate = 4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c\npublic = 3056301006072a8648ce3d020106052b8104000a03420004a1263e75b87ae0937060ff1472f330ee55cdf8", + "f4329d6284a9ebfbcc856c11684225e72cbebff41e54fb6f00e11afe53a17937bedbf2df787f8ef9584f775838\nresult = invalid\nshared = \nflags = InvalidPublic\n\n# tcId = 226\n# a = 0\nprivate = 4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c\npublic = 308201143081cd06072a8648ce3d02013081c1020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff302504010004201b95c2f46065dbf0f3ff09153e4748ed71595e0774ba8e25c364ff1e6be039b70441041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551020101034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a\nresult = acceptable\nshared = d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a\nflags = UnusedParam,UnnamedCurve\n\n# tcId = 227\n# public key of order 3\nprivate = 4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c\npublic = 308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff304404207b5c92a0cac0f30673473f260f89926a14da905bc7e5e07df1e8df69059d98570420cb2eaa5643572372d5cba1e69f687d287fd62f5518322af2614ce512dd680a76044104843587c1bea197a1be63c67c9f1641c70f7d3cba49147e9fc0c9bb246e1498186049243e8e92743df2f9994d60f90ab21635e00183e69b317f00ad226da8f546022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63255102010103420004843587c1bea197a1be63c67c9f1641c70f7d3cba49147e9fc0c9bb246e1498189fb6dbc0716d8bc30d0666b29f06f54de9ca1fff7c1964ce80ff52dd92570ab9\nresult = invalid\nshared = \nflags = WeakPublicKey,InvalidPublic,UnnamedCurve\n\n# tcId = 228\n# Public key uses wrong curve: secp224r1\nprivate = 00b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297\npublic = 304e301006072a8648ce3d020106052b81040021033a00042af270d2a6030e3dd38cc46e7d719f176c2ca4eb04d7e8b84290c8edbcaed964ebe226b2d7ce17251622804c0d3b7adce020a3cdc97cac6c\nresult = invalid\nshared = \n\n# tcId = 229\n# Public key uses wrong curve: secp384r1\nprivate = 00b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297\npublic = 3076301006072a8648ce3d020106052b81040022036200041f17901e731b06f349b6e9d7d17d45e8a2b46115a47485be16197932db87b39405b5c941b36fd61b9ef7dd20878e129e55a2277099c601dcdb3747f80ad6e166116378e1ebce2c95744a0986128cfeeaac7f90b71787d9a1cfe417cd4c8f6af5\nresult = invalid\nshared = \n\n# tcId = 230\n# Public key uses wrong curve: secp521r1\nprivate = 00b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400ed76e5888428fad409ff203ab298b0f24827c091939ae0f9b1245d865ac5fbcd2749f9ae6c90fa8e29414d1bc7dc7b3c4aca904cd824484421cc66fe6af43bdfd200c1f790a0b3ae994937f91b6bdb9778b08c83ecadb8cba22a78c37bf565dac164f18e719be0ef890ee5cbf20e17fcfc9a5585e5416470b9862f82fb769339994f4e\nresult = invalid\nshared = \n\n# tcId = 231\n# Public key uses wrong curve: secp256k1\nprivate = 00b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297\npublic = 3056301006072a8648ce3d020106052b8104000a034200048028d16082b07696d4aa4aab9d6b1f1463435ac097900631108f9888e13da67c4841fd8dd3ced6e7ad8c6fc656621c2f93d3db0eb29d48d1423154519865dbc1\nresult = invalid\nshared = \n\n# tcId = 232\n# Public key uses wrong curve: secp224k1\nprivate = 00b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297\npublic = 304e301006072a8648ce3d020106052b81040020033a0004dc79fc28da096ac19f3cf0bc70b8e52529a83861ac66b1d44b9f2e9c68856babaa94f5fa67a1edfce5bd1768f9b9a1621483d214436aab02\nresult = invalid\nshared = \n\n# tcId = 233\n# Public key uses wrong curve: brainpoolP224r1\nprivate = 00b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297\npublic = 3052301406072a8648ce3d020106092b2403030208010105033a0004a6bae3d155c1f9ca263928c986ede69acefd0dd9b3a19d2b9f4b0a3a66bea5d167318dcc028945fc1b40c60ce716ba2d414a743c6b856a6f\nresult = invalid\nshared = \n\n# tcId = 234\n# Public key uses wrong curve: brainpoolP256r1\nprivate = 00b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297\npublic = 305a301406072a8648ce3d020106092b2403030208010107034200045d3ddbbb9bc071d8b59855c74bdf3541ae4cb6c1a24ec439034df7abde16a346523edf6a67896b304cb2cd2a083eec2b16935bbc910e85ec6eae38b50230bf70\nresult = invalid\nshared = \n\n# tcId = 235\n# Public key uses wrong curve: brainpoolP320r1\nprivate = 00b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297\npublic = 306a301406072a8648ce3d020106092b240303020801010903520004a43c6ef2500723d54c1fc88f8844d83445ca5a0f585c10b8eb3f022d47d0e84862b7f5cbf97d352d4348ca730f600f2258d1d192da223f6ba83a7cc0d6da598d55c2b77824d326c8df000b8fff156d2c\nresult = invalid\nshared = \n\n# tcId = 236\n# Public key uses wrong curve: brainpoolP384r1\nprivate = 00b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297\npublic = 307a301406072a8648ce3d020106092b240303020801010b036200042391c062833d1e6d89ec256cf4a3989534c1ead5e1e14ffae933a53f962857e4713087e1b3d65ac79634c71577af24698b5ce959183835551f7b08aef7853378c299930b360813fd58d5e4da8b37d5a7473e891ee11cb02881bd848b364fb7d5\nresult = invalid\nshared = \n\n# tcId = 237\n# Public key uses wrong curve: brainpoolP512r1\nprivate = 00b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297\npublic = 30819b301406072a8648ce3d020106092b240303020801010d038182000484beae85096640953c1fd6ebbc32697263d53f89943cbaf14432061aea8c0318acbd9389ab1d2e904fa0e081d08cfabb614ed9bca618211142d94623c14b476a25e47abf98fd3b1da1417dfc2e2cfc8424b16ea14dd45e1422be7d4e0a5cc7f4d4ab5f198cdbaaa3f642ec6361842cbe869382ee78cd596ff5e740d9ec2c3ad6\nresult = invalid\nshared = \n\n# tcId = 238\n# Public key uses wrong curve: brainpoolP224t1\nprivate = 00b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297\npublic = 3052301406072a8648ce3d020106092b2403030208010106033a00042b0a1a858ffc44e7752940731d378f96570837e279ea3948fe00cff8b5f89adb4e2fe6f8781ba6426364f4590b34dd79fc80629de4a86084\nresult = invalid\nshared = \n\n# tcId = 239\n# Public key uses wrong curve: brainpoolP256t1\nprivate = 00b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297\npublic = 305a301406072a8648ce3d020106092b2403030208010108034200043037c01b4a5ac53742e3f5528dffb0f010ab6ebeb08d792b32e19e9006ca331a024b67698d7cf4b575ccd9389441d5c640b77c63771cef1bd85675361c6602a4\nresult = invalid\nshared = \n\n# tcId = 240\n# Public key uses wrong curve: brainpoolP320t1\nprivate = 00b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297\npublic = 306a301406072a8648ce3d020106092b240303020801010a035200040f0fd972a495a140124a4019291a20f5b39fb755c126bf268643bb3091eca44f2a3cda1dead6ab1f4fe08a4b3872423f71e5bf96b1c20bc0ca73b7e2c134cc14a5f77bc838ebcf01084da3bf15663536\nresult = invalid\nshared = \n\n# tcId = 241\n# Public key uses wrong curve: brainpoolP384t1\nprivate = 00b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297\npublic = 307a301406072a8648ce3d020106092b240303020801010c0362000403b65faf5a6bf74bd5c166278a4b566c6c705ac6363e61f3b0699e116d3c5b19e8b7021b75b005f78a8cea8de34c49397f9b3b2bfc8706eb8163c802371eff7dfc825c40aa84dd9d1c4b34615ee5ae28c6c05d58d2a8ccc3786382b712d3bcda\nresult = invalid\nshared = \n\n# tcId = 242\n# Public key uses wrong curve: brainpoolP512t1\nprivate = 00b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297\npublic = 30819b301406072a8648ce3d020106092b240303020801010e03818200047504d660943a69ab043378e44c034896534a346e0e95f35fcaad3503b490856bfb20a753ecabc6d7bfeec28d057f919923b7d3c086953eb16c5bd287b59788db72dbb7c273854294c927ea7eca205aae2f0830e5faaddad8316231bfc3572c85c33cb7054e04c8936e3ce059c907e59f40593444e590b31820bc1f514ed0ec8a\nresult = invalid\nshared = \n\n# tcId = 243\n# invalid public key\nprivate = 6f953faff3599e6c762d7f4cabfeed092de2add1df1bc5748c6cbb725cf35458\npublic = 3039301306072a8648ce3d020106082a8648ce3d03010703220002fd4bf61763b46581fd9174d623516cf3c81edd40e29ffa2777fb6cb0ae3ce535\nresult = invalid\nshared = \nflags = CompressedPoint\n\n# tcId = 244\n# public key is a low order point on twist\nprivate = 00d27edf0ff5b6b6b465753e7158370332c153b468a1be087ad0f490bdb99e5f02\npublic = 3039301306072a8648ce3d020106082a8648ce3d03010703220003efdde3b32872a9effcf3b94cbf73aa7b39f9683e", + "ce9121b9852167f4e3da609b\nresult = invalid\nshared = \nflags = CompressedPoint\n\n# tcId = 245\n# public key is a low order point on twist\nprivate = 00d27edf0ff5b6b6b465753e7158370332c153b468a1be087ad0f490bdb99e5f03\npublic = 3039301306072a8648ce3d020106082a8648ce3d03010703220002efdde3b32872a9effcf3b94cbf73aa7b39f9683ece9121b9852167f4e3da609b\nresult = invalid\nshared = \nflags = CompressedPoint\n\n# tcId = 246\n# public key is a low order point on twist\nprivate = 0095ead84540c2d027aa3130ff1b47888cc1ed67e8dda46156e71ce0991791e835\npublic = 3039301306072a8648ce3d020106082a8648ce3d03010703220002c49524b2adfd8f5f972ef554652836e2efb2d306c6d3b0689234cec93ae73db5\nresult = invalid\nshared = \nflags = CompressedPoint\n\n# tcId = 247\n# public key is a low order point on twist\nprivate = 00a8681ef67fb1f189647d95e8db00c52ceef6d41a85ba0a5bd74c44e8e62c8aa4\npublic = 3039301306072a8648ce3d020106082a8648ce3d0301070322000318f9bae7747cd844e98525b7ccd0daf6e1d20a818b2175a9a91e4eae5343bc98\nresult = invalid\nshared = \nflags = CompressedPoint\n\n# tcId = 248\n# public key is a low order point on twist\nprivate = 00a8681ef67fb1f189647d95e8db00c52ceef6d41a85ba0a5bd74c44e8e62c8aa5\npublic = 3039301306072a8648ce3d020106082a8648ce3d0301070322000218f9bae7747cd844e98525b7ccd0daf6e1d20a818b2175a9a91e4eae5343bc98\nresult = invalid\nshared = \nflags = CompressedPoint\n\n# tcId = 249\n# public key is a low order point on twist\nprivate = 0095ead84540c2d027aa3130ff1b47888cc1ed67e8dda46156e71ce0991791e834\npublic = 3039301306072a8648ce3d020106082a8648ce3d03010703220003c49524b2adfd8f5f972ef554652836e2efb2d306c6d3b0689234cec93ae73db5\nresult = invalid\nshared = \nflags = CompressedPoint\n\n# tcId = 250\n# long form encoding of length of sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 308159301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 251\n# long form encoding of length of sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305a30811306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 252\n# length of sequence contains leading 0\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 30820059301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 253\n# length of sequence contains leading 0\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b3082001306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 254\n# wrong length of sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305a301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 255\n# wrong length of sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3058301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 256\n# wrong length of sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301406072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 257\n# wrong length of sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301206072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 258\n# uint32 overflow in length of sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 30850100000059301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 259\n# uint32 overflow in length of sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305e3085010000001306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 260\n# uint64 overflow in length of sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3089010000000000000059301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 261\n# uint64 overflow in length of sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3062308901000000000000001306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 262\n# length of sequence = 2**31 - 1\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 30847fffffff301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 263\n# length of sequence = 2**31 - 1\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305d30847fffffff06072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 264\n# length of sequence = 2**32 - 1\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3084ffffffff301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags", + " = InvalidAsn\n\n# tcId = 265\n# length of sequence = 2**32 - 1\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305d3084ffffffff06072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 266\n# length of sequence = 2**40 - 1\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3085ffffffffff301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 267\n# length of sequence = 2**40 - 1\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305e3085ffffffffff06072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 268\n# length of sequence = 2**64 - 1\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3088ffffffffffffffff301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 269\n# length of sequence = 2**64 - 1\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 30613088ffffffffffffffff06072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 270\n# incorrect length of sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 30ff301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 271\n# incorrect length of sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305930ff06072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 272\n# indefinite length without termination\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3080301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 273\n# indefinite length without termination\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059308006072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 274\n# indefinite length without termination\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306802a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 275\n# indefinite length without termination\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d020106802a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 276\n# indefinite length without termination\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107038000042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 277\n# removing sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = \nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 278\n# removing sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3044034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 279\n# lonely sequence tag\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 30\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 280\n# lonely sequence tag\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 304530034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 281\n# appending 0's to sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b0000\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 282\n# appending 0's to sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b301506072a8648ce3d020106082a8648ce3d0301070000034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 283\n# prepending 0's to sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b0000301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 284\n# prepending 0's to sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b3015000006072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n", + "# tcId = 285\n# appending unused 0's to sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b0000\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 286\n# appending unused 0's to sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b301306072a8648ce3d020106082a8648ce3d0301070000034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 287\n# appending null value to sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b0500\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 288\n# appending null value to sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b301506072a8648ce3d020106082a8648ce3d0301070500034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 289\n# including garbage\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305e4981773059301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 290\n# including garbage\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305d25003059301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 291\n# including garbage\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b3059301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b0004deadbeef\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 292\n# including garbage\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305e3018498177301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 293\n# including garbage\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305d30172500301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 294\n# including garbage\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 30613015301306072a8648ce3d020106082a8648ce3d0301070004deadbeef034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 295\n# including garbage\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305e3018260c49817706072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 296\n# including garbage\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305d3017260b250006072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 297\n# including garbage\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3061301b260906072a8648ce3d02010004deadbeef06082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 298\n# including garbage\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305e301806072a8648ce3d0201260d49817706082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 299\n# including garbage\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305d301706072a8648ce3d0201260c250006082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 300\n# including garbage\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3061301b06072a8648ce3d0201260a06082a8648ce3d0301070004deadbeef034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 301\n# including garbage\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305e301306072a8648ce3d020106082a8648ce3d0301072347498177034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 302\n# including garbage\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305d301306072a8648ce3d020106082a8648ce3d03010723462500034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 303\n# including garbage\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3061301306072a8648ce3d020106082a8648ce3d0301072344034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b0004deadbeef\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 304\n# including undefined tags\npr", + "ivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3061aa00bb00cd003059301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 305\n# including undefined tags\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305faa02aabb3059301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 306\n# including undefined tags\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3061301baa00bb00cd00301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 307\n# including undefined tags\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305f3019aa02aabb301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 308\n# including undefined tags\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3061301b260faa00bb00cd0006072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 309\n# including undefined tags\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305f3019260daa02aabb06072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 310\n# including undefined tags\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3061301b06072a8648ce3d02012610aa00bb00cd0006082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 311\n# including undefined tags\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305f301906072a8648ce3d0201260eaa02aabb06082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 312\n# including undefined tags\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3061301306072a8648ce3d020106082a8648ce3d030107234aaa00bb00cd00034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 313\n# including undefined tags\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305f301306072a8648ce3d020106082a8648ce3d0301072348aa02aabb034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 314\n# truncated length of sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3081\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 315\n# truncated length of sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 30463081034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 316\n# Replacing sequence with NULL\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 0500\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 317\n# Replacing sequence with NULL\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 30460500034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 318\n# changing tag value of sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 2e59301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 319\n# changing tag value of sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 2f59301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 320\n# changing tag value of sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3159301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 321\n# changing tag value of sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3259301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 322\n# changing tag value of sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = ff59301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 323\n# changing tag value of sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 30592e1306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 324\n#", + " changing tag value of sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 30592f1306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 325\n# changing tag value of sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059311306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 326\n# changing tag value of sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059321306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 327\n# changing tag value of sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059ff1306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 328\n# dropping value of sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3000\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 329\n# dropping value of sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 30463000034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 330\n# truncated sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3058301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add6\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 331\n# truncated sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 30581306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 332\n# truncated sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3058301206072a8648ce3d020106082a8648ce3d0301034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 333\n# truncated sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 30583012072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 334\n# indefinite length\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3080301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b0000\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 335\n# indefinite length\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b308006072a8648ce3d020106082a8648ce3d0301070000034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 336\n# indefinite length with truncated delimiter\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3080301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b00\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 337\n# indefinite length with truncated delimiter\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305a308006072a8648ce3d020106082a8648ce3d03010700034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 338\n# indefinite length with additional element\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3080301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b05000000\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 339\n# indefinite length with additional element\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305d308006072a8648ce3d020106082a8648ce3d03010705000000034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 340\n# indefinite length with truncated element\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3080301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b060811220000\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 341\n# indefinite length with truncated element\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305f308006072a8648ce3d020106082a8648ce3d030107060811220000034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 342\n# indefinite length with garbage\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3080301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b0000fe02beef\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 343\n# indefinite length with garbage\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305f308006072a8648ce3d020106082a8648ce3d0301070000fe02beef034200042998705a9a71c783e1cf4397dbed9375a", + "44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 344\n# indefinite length with nonempty EOC\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3080301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b0002beef\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 345\n# indefinite length with nonempty EOC\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305d308006072a8648ce3d020106082a8648ce3d0301070002beef034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 346\n# prepend empty sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b3000301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 347\n# prepend empty sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b3015300006072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 348\n# append empty sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b3000\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 349\n# append empty sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b301506072a8648ce3d020106082a8648ce3d0301073000034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 350\n# append garbage with high tag number\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305c301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66bbf7f00\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 351\n# append garbage with high tag number\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305c301606072a8648ce3d020106082a8648ce3d030107bf7f00034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 352\n# sequence of sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b3059301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 353\n# sequence of sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b3015301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 354\n# truncated sequence: removed last 1 elements\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3015301306072a8648ce3d020106082a8648ce3d030107\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 355\n# truncated sequence: removed last 1 elements\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 304f300906072a8648ce3d0201034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 356\n# repeating element in sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 30819d301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 357\n# repeating element in sequence\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3063301d06072a8648ce3d020106082a8648ce3d03010706082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 358\n# long form encoding of length of oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305a30140681072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 359\n# long form encoding of length of oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305a301406072a8648ce3d02010681082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 360\n# length of oid contains leading 0\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b3015068200072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 361\n# length of oid contains leading 0\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b301506072a8648ce3d0201068200082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 362\n# wrong length of oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306082a8648ce3d020106082a8648ce3d030107034200042998705a9a71c78", + "3e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 363\n# wrong length of oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306062a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 364\n# wrong length of oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d020106092a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 365\n# wrong length of oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d020106072a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 366\n# uint32 overflow in length of oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305e3018068501000000072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 367\n# uint32 overflow in length of oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305e301806072a8648ce3d0201068501000000082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 368\n# uint64 overflow in length of oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3062301c06890100000000000000072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 369\n# uint64 overflow in length of oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3062301c06072a8648ce3d020106890100000000000000082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 370\n# length of oid = 2**31 - 1\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305d301706847fffffff2a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 371\n# length of oid = 2**31 - 1\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305d301706072a8648ce3d020106847fffffff2a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 372\n# length of oid = 2**32 - 1\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305d30170684ffffffff2a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 373\n# length of oid = 2**32 - 1\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305d301706072a8648ce3d02010684ffffffff2a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 374\n# length of oid = 2**40 - 1\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305e30180685ffffffffff2a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 375\n# length of oid = 2**40 - 1\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305e301806072a8648ce3d02010685ffffffffff2a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 376\n# length of oid = 2**64 - 1\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3061301b0688ffffffffffffffff2a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 377\n# length of oid = 2**64 - 1\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3061301b06072a8648ce3d02010688ffffffffffffffff2a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 378\n# incorrect length of oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306ff2a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 379\n# incorrect length of oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d020106ff2a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 380\n# removing oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3050300a06082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 381\n# lonely oid tag\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3051300b0606082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b", + "063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 382\n# lonely oid tag\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3050300a06072a8648ce3d020106034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 383\n# appending 0's to oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b301506092a8648ce3d0201000006082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 384\n# appending 0's to oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b301506072a8648ce3d0201060a2a8648ce3d0301070000034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 385\n# prepending 0's to oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b3015060900002a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 386\n# prepending 0's to oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b301506072a8648ce3d0201060a00002a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 387\n# appending unused 0's to oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b301506072a8648ce3d0201000006082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 388\n# appending null value to oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b301506092a8648ce3d0201050006082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 389\n# appending null value to oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b301506072a8648ce3d0201060a2a8648ce3d0301070500034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 390\n# truncated length of oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3052300c068106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 391\n# truncated length of oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3051300b06072a8648ce3d02010681034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 392\n# Replacing oid with NULL\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3052300c050006082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 393\n# Replacing oid with NULL\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3051300b06072a8648ce3d02010500034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 394\n# changing tag value of oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301304072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 395\n# changing tag value of oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301305072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 396\n# changing tag value of oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301307072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 397\n# changing tag value of oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301308072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 398\n# changing tag value of oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 30593013ff072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 399\n# changing tag value of oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d020104082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 400\n# changing tag value of oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d020105082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 401\n# changing tag value of ", + "oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d020107082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 402\n# changing tag value of oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d020108082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 403\n# changing tag value of oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d0201ff082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 404\n# dropping value of oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3052300c060006082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 405\n# dropping value of oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3051300b06072a8648ce3d02010600034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 406\n# modify first byte of oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305930130607288648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 407\n# modify first byte of oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d02010608288648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 408\n# modify last byte of oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d028106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 409\n# modify last byte of oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d020106082a8648ce3d030187034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 410\n# truncated oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3058301206062a8648ce3d0206082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 411\n# truncated oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3058301206068648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 412\n# truncated oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3058301206072a8648ce3d020106072a8648ce3d0301034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 413\n# truncated oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3058301206072a8648ce3d020106078648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 414\n# wrong oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3057301106052b0e03021a06082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 415\n# wrong oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b3015060960864801650304020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 416\n# wrong oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3056301006072a8648ce3d020106052b0e03021a034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 417\n# wrong oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305a301406072a8648ce3d02010609608648016503040201034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 418\n# longer oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305a301406082a8648ce3d02010106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 419\n# longer oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305a301406072a8648ce3d020106092a8648ce3d03010701034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 420\n# oid with modified node\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d021106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f", + "082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 421\n# oid with modified node\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305d3017060b2a8648ce3d02888080800106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 422\n# oid with modified node\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d020106082a8648ce3d030117034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 423\n# oid with modified node\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305d301706072a8648ce3d0201060c2a8648ce3d03018880808007034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 424\n# large integer in oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3062301c06102a8648ce3d028280808080808080800106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 425\n# large integer in oid\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3062301c06072a8648ce3d020106112a8648ce3d030182808080808080808007034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 426\n# oid with invalid node\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305a301406082a8648ce3d0201e006082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 427\n# oid with invalid node\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305a301406082a808648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 428\n# oid with invalid node\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305a301406072a8648ce3d020106092a8648ce3d030107e0034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 429\n# oid with invalid node\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305a301406072a8648ce3d020106092a808648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 430\n# long form encoding of length of bit string\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305a301306072a8648ce3d020106082a8648ce3d03010703814200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 431\n# length of bit string contains leading 0\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b301306072a8648ce3d020106082a8648ce3d0301070382004200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 432\n# wrong length of bit string\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034300042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 433\n# wrong length of bit string\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034100042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 434\n# uint32 overflow in length of bit string\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305e301306072a8648ce3d020106082a8648ce3d0301070385010000004200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 435\n# uint64 overflow in length of bit string\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3062301306072a8648ce3d020106082a8648ce3d030107038901000000000000004200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 436\n# length of bit string = 2**31 - 1\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305d301306072a8648ce3d020106082a8648ce3d03010703847fffffff00042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 437\n# length of bit string = 2**32 - 1\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305d301306072a8648ce3d020106082a8648ce3d0301070384ffffffff00042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 438\n# length of bit string = 2**40 - 1\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305e301306072a8648ce3d020106082a8648ce3d0301070385ffffffffff00042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 439\n# length of bit string = 2**64 - 1\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3061301306072a8648ce3d020106082a8648ce3d0301070388ffffffffffffffff00042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult", + " = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 440\n# incorrect length of bit string\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703ff00042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 441\n# lonely bit string tag\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3016301306072a8648ce3d020106082a8648ce3d03010703\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 442\n# appending 0's to bit string\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b301306072a8648ce3d020106082a8648ce3d030107034400042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b0000\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 443\n# prepending 0's to bit string\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b301306072a8648ce3d020106082a8648ce3d0301070344000000042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 444\n# appending null value to bit string\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305b301306072a8648ce3d020106082a8648ce3d030107034400042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b0500\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 445\n# truncated length of bit string\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3017301306072a8648ce3d020106082a8648ce3d0301070381\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 446\n# Replacing bit string with NULL\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3017301306072a8648ce3d020106082a8648ce3d0301070500\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 447\n# changing tag value of bit string\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107014200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 448\n# changing tag value of bit string\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107024200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 449\n# changing tag value of bit string\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107044200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 450\n# changing tag value of bit string\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107054200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 451\n# changing tag value of bit string\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107ff4200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 452\n# dropping value of bit string\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3017301306072a8648ce3d020106082a8648ce3d0301070300\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 453\n# modify first byte of bit string\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034202042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 454\n# modify last byte of bit string\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add6eb\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 455\n# truncated bit string\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3058301306072a8648ce3d020106082a8648ce3d030107034100042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add6\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 456\n# truncated bit string\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3058301306072a8648ce3d020106082a8648ce3d0301070341042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 457\n# declaring bits as unused in bit string\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034201042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 458\n# unused bits in bit string\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 305d301306072a8648ce3d020106082a8648ce3d030107034620042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b01020304\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 459\n# unused bits in empty bit-string\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3018301306072a8648ce3d020106082a8648ce3d030107030103\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n# tcId = 460\n# 128 unused bits\nprivate = 00c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703", + "4280042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b\nresult = acceptable\nshared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4\nflags = InvalidAsn\n\n", }; -static const size_t kLen64 = 231526; +static const size_t kLen97 = 236047; -static const char *kData64[] = { - "# Imported from Wycheproof's ecdh_secp384r1_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: ECDH\n# Generator version: 0.4.12\n\n[curve = secp384r1]\n[encoding = asn]\n\n# tcId = 1\n# normal case\nprivate = 766e61425b2da9f846c09fc3564b93a6f8603b7392c785165bf20da948c49fd1fb1dee4edd64356b9f21c588b75dfd81\npublic = 3076301006072a8648ce3d020106052b8104002203620004790a6e059ef9a5940163183d4a7809135d29791643fc43a2f17ee8bf677ab84f791b64a6be15969ffa012dd9185d8796d9b954baa8a75e82df711b3b56eadff6b0f668c3b26b4b1aeb308a1fcc1c680d329a6705025f1c98a0b5e5bfcb163caa\nresult = valid\nshared = 6461defb95d996b24296f5a1832b34db05ed031114fbe7d98d098f93859866e4de1e229da71fef0c77fe49b249190135\n\n# tcId = 2\n# compressed public key\nprivate = 766e61425b2da9f846c09fc3564b93a6f8603b7392c785165bf20da948c49fd1fb1dee4edd64356b9f21c588b75dfd81\npublic = 3046301006072a8648ce3d020106052b8104002203320002790a6e059ef9a5940163183d4a7809135d29791643fc43a2f17ee8bf677ab84f791b64a6be15969ffa012dd9185d8796\nresult = acceptable\nshared = 6461defb95d996b24296f5a1832b34db05ed031114fbe7d98d098f93859866e4de1e229da71fef0c77fe49b249190135\n# The point in the public key is compressed. Not every library supports points\n# in compressed format.\n\n# tcId = 3\n# edge case for shared secret\nprivate = 0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7\npublic = 3076301006072a8648ce3d020106052b8104002203620004490e96d17f4c6ceccd45def408cea33e9704a5f1b01a3de2eaaa3409fd160d78d395d6b3b003d71fd1f590fad95bf1c9d8665efc2070d059aa847125c2f707435955535c7c5df6d6c079ec806dce6b6849d337140db7ca50616f9456de1323c4\nresult = valid\nshared = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 4\n# edge case for shared secret\nprivate = 0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7\npublic = 3076301006072a8648ce3d020106052b81040022036200040161328909675213e32098d35a6b8308a8d500cca39dcee5e804e73bdb8deaf06fe417291fd9793b231ef5fe86945444a97a01f3ae3a8310c4af49b592cb291ef70ee5bc7f5534d3c23dc9eefde2304842c7737ae937ccf9bd215c28103e9fe2\nresult = valid\nshared = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002\n\n# tcId = 5\n# edge case for shared secret\nprivate = 0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7\npublic = 3076301006072a8648ce3d020106052b8104002203620004af4ae964e3bcbd923accda5da3175d411fd62d17dd3c3a1c410bef1730985a6265d90e950ac0fc50743b1ed771906ff33b68cf4d3d83a885a87097fdd329ce83b189f98cec5be44c31d1a3a2bba10f471963232b8ba7610fa8c72179050eb86d\nresult = valid\nshared = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003\n\n# tcId = 6\n# edge case for shared secret\nprivate = 0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7\npublic = 3076301006072a8648ce3d020106052b81040022036200041478ab6e032b9545eda9ac2c264e57a11f08acbc76d16a0ab77b04dbdaf20f215c4183437b32afc471eaa603d14c7c5d8a4c84ee0e895bec5c37f0a1ca075e106ff6bf38801b5c697409d39675231108d33c4a5ea65aaa8c03e939c95d96c4c4\nresult = valid\nshared = 0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff00000000000000010000000000000001\n\n# tcId = 7\n# edge case for shared secret\nprivate = 0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7\npublic = 3076301006072a8648ce3d020106052b8104002203620004f63208e34e7e90bb5fb036432467a89981444010663b8533b47bfa94bd2bc16f38aa516b930a4726e3876d3091bfb72ec783ed4da0cac06320817dc8bc64f59ccf06f48abc4386a150913fa95743a7b4601190e1c6ee8f8bf6354b254ecace45\nresult = valid\nshared = 00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff\n\n# tcId = 8\n# edge case for shared secret\nprivate = 0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7\npublic = 3076301006072a8648ce3d020106052b8104002203620004033271ef42d92ad47b273b09ea2f45401161baa52696590d0e175ff2d1c0dfa3fea40e4266d446546c05e480d57fabec7889f16a8bcc176602f6d46561614a2f4284abe697b7cb9ce79f7e2e71b155cb1f155ce925d16391a680eda23152e6e1\nresult = valid\nshared = 0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff\n\n# tcId = 9\n# edge case for shared secret\nprivate = 0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7\npublic = 3076301006072a8648ce3d020106052b8104002203620004737e8437e18683de2455b68945bba31daec3e754d72f0a0776d3192b2f9298bb95ca1464baa6687aabb679f804cf6ec6c2b4d47d61a60404df63b1e9ac0954b3419bbc2ad52a0409aeeb82f4703758588059165b20367dcb4b235b0caf71d727\nresult = valid\nshared = 007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0008000\n\n# tcId = 10\n# edge case for shared secret\nprivate = 0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7\npublic = 3076301006072a8648ce3d020106052b810400220362000437f9004983156bbd9c47891e75237bb13016bd7fe6f4e0f71cef0e63f16a672f0d3b0e20165c33407e146b6a4ae6962dd3b57ccb99e7aaf1303240516d0ebe08e585513e3695d42c467dcab5340ef761990cadc8d8840aacc944481415c07feb\nresult = valid\nshared = 3b5eed80727bcbc5113b8a9e4db1c81b1dddc2d99ff56d9c3c1054348913bde296311c4bd2fa899b4d0e66aaa1b6a0dd\n\n# tcId = 11\n# edge case for shared secret\nprivate = 0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7\npublic = 3076301006072a8648ce3d020106052b81040022036200049655d8e5622718b317cfbc09894357f75a6b13fa516bcd6630721b869a620196cf0c3dec8860b32d27ed9bac2cf263af17321698116d7d811ae8da9b9cbbf9382c1e36e2b67d6c6af9bcea7d9de00ca72b398606c098a0a0f0c4b8941943ed65\nresult = valid\nshared = 6a99a5acd4a7edb1c707d7f8be12e81140338e3e14ba563c703c681a319a3f9ce1f90f032bf840f3758e89cb852ceca6\n\n# tcId = 12\n# edge case for shared secret\nprivate = 0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7\npublic = 3076301006072a8648ce3d020106052b8104002203620004ccb13d427b3c4bb33dd4f20cddabc68600eaf97eeb2c81e8c218ae90743e74ff38ca56f0c0224379db464dcf4a40f04350cd7a659b2c4851a5dcf8c990fc920c07d4d5aa50a2185750e6b84c42e83cff635050482decb4780f812e4c49fc7404\nresult = valid\nshared = 7c25a4f57f76ab13b25cab3c265db9d9bd925fecbf7bf93bef1308778646628decab067ed988a9755cd88e88de367104\n\n# tcId = 13\n# edge case for shared secret\nprivate = 0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7\npublic = 3076301006072a8648ce3d020106052b81040022036200042664624307c02ef487030a632162c515f841d15ea3152d98ff2364232d7aab39343d5f703a4d5a31092aa7356c3a2f671c1cd603addfd8b5477552a3b32a18edaf3e33bec22ee2167f9da729636002a7974eaeb5ff082b2aabf8c7056b84c3ab\nresult = valid\nshared = 7fffffe000000ffffffc000001ffffff8000003ffffff0000007fffffe000000ffffffc000001ffffff8000004000002\n\n# tcId = 14\n# edge case for shared secret\nprivate = 0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7\npublic = 3076301006072a8648ce3d020106052b8104002203620004665f1f320b6ab1c1b52d144e52d87a154c2b4489838c9119de622c2d1b52b65b0a3955e44e0d4859175360c0f63dee813f14f69972f18caed7916c94a4d20ec344591e7536a4a7a4d8c9832818c96d60b1a81fabe64ea02c5f647e361bf5b60f\nresult = valid\nshared = 800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002\n\n# tcId = 15\n# edge case for shared secret\nprivate = 0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7\npublic = 3076301006072a8648ce3d020106052b810400220362000491357ca87dbb08e85d7b1acecfd1e086078a82d19f81474da389364a39fe2543eb934b440173c38e61a1d9407855b5d89ef0d9e920764b6d7765b084cf9541dacc43d1dabaa390b0fb856097b0c00a8556f4e3848568ab4ae790c3d346ca01b6\nresult = valid\nshared = fff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff\n\n# tcId = 16\n# edge case for shared secret\nprivate = 0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7\npublic = 3076301006", - "072a8648ce3d020106052b8104002203620004d5a833bae33b2d10fdff6db7c5477adb614b191c70d97c6f130a14e93931cc1dc058053fee54a264a00fdd16d3166fdc42992276b79925bafcd183b03ed18235350980abfe67b814c6c11074c38f74cd4e734ad58cdb49d9fcd2181d1b8f1119\nresult = valid\nshared = fffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000004000000\n\n# tcId = 17\n# edge case for shared secret\nprivate = 0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7\npublic = 3076301006072a8648ce3d020106052b810400220362000467547cda7fbe8f16be5a4477cbb02979f1af72fc0f39302773552fbcf4667a8e23abc0e12856ee6234deeca5f22ae0503a4df7c068e7432417260cb9fe0d68b9c7fcf7e16a2ada05687d8f8900b84723103edbff0a42b27517da2760b7d38843\nresult = valid\nshared = ffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff\n\n# tcId = 18\n# edge case for shared secret\nprivate = 0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7\npublic = 3076301006072a8648ce3d020106052b81040022036200041363e3b99008e09bb3f085949b9b6ea26a318f496de568a96630fdb9d4c72c2814df3087a1741f32f24989b428167f93c653cb3ae8c3ecfaec57efd54bb8ce9d79c7bf6cc70fb1114f939be8f1a99bf1e42b97431124ef9fa33450faa4e76839\nresult = valid\nshared = ffffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff0000000000000100000000000001\n\n# tcId = 19\n# edge case for shared secret\nprivate = 0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7\npublic = 3076301006072a8648ce3d020106052b8104002203620004ba2be8d7147e2417c2ec80b24b4c1aa94464ffd0aae1fa2e078b3afbc77c144489ca9d064acbb7a9cfa6196d0f467b7e65ee1ca1eb1351ff9968f553dfe2e4c59ff8ba34c22a42b3baa13a9a1adc7f13abd40f1fd25d46bc5330852b9371966a\nresult = valid\nshared = ffffffffffffffffffffffffffffffff00000000000000000000000000000000ffffffffffffffffffffffffffffffff\n\n# tcId = 20\n# edge case for shared secret\nprivate = 0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7\npublic = 3076301006072a8648ce3d020106052b8104002203620004d69850ccbacc4736ea200ff2f8488f26247945a2ab48dd3708f494b293d8cba83417f48974881c7fb03854089bbf66cc1c773ec03cb8cd5f007ec3b03bdd05a409b352103f0decf25b41673ab8ca3d04334babee01219f15701f2bca22d40b37\nresult = valid\nshared = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffe\n\n# tcId = 21\n# y-coordinate of the public key has many trailing 0's\nprivate = 0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7\npublic = 3076301006072a8648ce3d020106052b81040022036200046fcaf82d982d222d6096ba83e55b1c7dcb71a41e88f323333f44284d95c4bd3616da7a1bef928f31c26f885ba7adb487826fde2ed9f5649c11cf8465f8bf8ad50f68914936fc39666f68219d066506bea4001fdc816c9a90e7e2afb19bea085f\nresult = valid\nshared = 000000000000000000000000000000000000000000000000000000001f03123b00000000000000000000000000000000\n\n# tcId = 22\n# y-coordinate of the public key has many trailing 1's\nprivate = 0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7\npublic = 3076301006072a8648ce3d020106052b81040022036200046fcaf82d982d222d6096ba83e55b1c7dcb71a41e88f323333f44284d95c4bd3616da7a1bef928f31c26f885ba7adb4877d9021d1260a9b63ee307b9a0740752af0976eb6c903c6999097de62f99af9405bffe0227e93656f181d504f6415f7a0\nresult = valid\nshared = 000000000000000000000000000000000000000000000000000000001f03123b00000000000000000000000000000000\n\n# tcId = 23\n# y-coordinate of the public key is small\nprivate = 0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7\npublic = 3076301006072a8648ce3d020106052b8104002203620004bfeb47fb40a65878e6b642f40b8e15022ade9ecfa8cb618043063494e2bc5d2df10d36f37869b58ef12dcc35e3982835fd2e55ec41fdfe8cabbbb7bcd8163645a19e9dac59630f3fe93b208094ff87cd461b53cef53482e70e2e8ea87200cc3f\nresult = valid\nshared = 0000000000000000000000000000000000000000000000000000000036a2907c00000000000000000000000000000000\n\n# tcId = 24\n# y-coordinate of the public key is large\nprivate = 0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7\npublic = 3076301006072a8648ce3d020106052b8104002203620004bfeb47fb40a65878e6b642f40b8e15022ade9ecfa8cb618043063494e2bc5d2df10d36f37869b58ef12dcc35e398283502d1aa13be0201735444484327e9c9ba5e616253a69cf0c016c4df7f6b007831b9e4ac300acb7d18f1d171588dff33c0\nresult = valid\nshared = 0000000000000000000000000000000000000000000000000000000036a2907c00000000000000000000000000000000\n\n# tcId = 25\n# edge cases for ephemeral key\nprivate = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97\npublic = 3076301006072a8648ce3d020106052b81040022036200040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003cf99ef04f51a5ea630ba3f9f960dd593a14c9be39fd2bd215d3b4b08aaaf86bbf927f2c46e52ab06fb742b8850e521e\nresult = valid\nshared = 6092a1757ddd43a04e185ff9472a0d18c7f7a7dc802f7e059e0c69ae16c802651719406e04de27652ff83da4a780ef2f\n\n# tcId = 26\n# edge cases for ephemeral key\nprivate = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97\npublic = 3076301006072a8648ce3d020106052b8104002203620004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002732152442fb6ee5c3e6ce1d920c059bc623563814d79042b903ce60f1d4487fccd450a86da03f3e6ed525d02017bfdb3\nresult = valid\nshared = 89c804cb81443386b185bcd9e2e6c35ee6177c3b90298985c4e81a89d520cceb17d729540e56ecc343c26bf314f2d052\n\n# tcId = 27\n# edge cases for ephemeral key\nprivate = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97\npublic = 3076301006072a8648ce3d020106052b81040022036200040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000036660041b1c7984620e8d7fd7ccdb50cc3ba816da14d41a4d8affaba8488867f0ca5a24f8d42dd7e44b530a27dc5b58da\nresult = valid\nshared = 35513157e804bd918d04de202778b81a6fc7ad8aa541ee94116a0f18466725d75e71c6942bf044b1b0ecba19db33e0de\n\n# tcId = 28\n# edge cases for ephemeral key\nprivate = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97\npublic = 3076301006072a8648ce3d020106052b81040022036200040000000000000000ffffffffffffffff0000000000000000ffffffffffffffff00000000000000010000000000000001141b9ee5310ea8170131b604484a6d677ed42576045b7143c026710ae92b277afbbea0c4458c220d561e69404dc7d888\nresult = valid\nshared = 102080c047881d19aefb01c29c82a4fb328a8ea6e6d6c914af73100507c8ee499799aaa646de0ea8c2727c0b5ed2439b\n\n# tcId = 29\n# edge cases for ephemeral key\nprivate = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97\npublic = 3076301006072a8648ce3d020106052b810400220362000400000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff70370385413d3eff6fa3407ba24f682c2b01b51445dbdf5ef7b0dd0979f17e713e09081571f1e94dfb66bf282002f39f\nresult = valid\nshared = f689f6e475b4e15162521acab4637a3cdb9cb42aa92f9114b0ee300ddae89d5eafff3463a1f5004a2a1bd4aeffa47b78\n\n# tcId = 30\n# edge cases for ephemeral key\nprivate = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97\npublic = 3076301006072a8648ce3d020106052b81040022036200040000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff112e191f1f78bbc54b6cc4f0b1e59ae8c6ff1a07f5128e41dfa2828e1b6538d4fa2ca2394c6aab3449dcb3fc4eb44c09\nresult = valid\nshared = f3486244119b3632fd55be9e6951eb5d9c8c62f6a27042f94b924155ecfd4ff8744ba3d25bcf85a7b925bd28a12b897f\n\n# tcId = 31\n# edge cases for ephemeral key\nprivate = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97\npublic = 3076301006072a8648ce3d020106052b8104002203620004007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0008000028a4c8da5a05112fe6025ef41908969de20d05d9668e5c852ef2d492172ddc2a0a622fc488164fcc1a076b872942af2\nresult = valid\nshared = 8171b7c80d4c90bb58ae54393921ab9c5", - "c0b3196f045e9fe5c8b168f0e5f6a77e1aa34ecedc5481ce55ab34c14e0f2e8\n\n# tcId = 32\n# edge cases for ephemeral key\nprivate = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97\npublic = 3076301006072a8648ce3d020106052b81040022036200043b5eed80727bcbc5113b8a9e4db1c81b1dddc2d99ff56d9c3c1054348913bde296311c4bd2fa899b4d0e66aaa1b6a0dd7b7f0f28d55e2f3a50f1f1bef3976834a05b43418e979303bc0363ed16d2d0b4011cc37b3c06ad73154faeab7915cd87\nresult = valid\nshared = 1fe6fea5f00d3005abaae2267ff18e430915838d87909ab503885edf38be7618ecb321f0a4df71b0913fbf12c76fc1f0\n\n# tcId = 33\n# edge cases for ephemeral key\nprivate = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97\npublic = 3076301006072a8648ce3d020106052b81040022036200046a99a5acd4a7edb1c707d7f8be12e81140338e3e14ba563c703c681a319a3f9ce1f90f032bf840f3758e89cb852ceca63cf99ef04f51a5ea630ba3f9f960dd593a14c9be39fd2bd215d3b4b08aaaf86bbf927f2c46e52ab06fb742b8850e521e\nresult = valid\nshared = f58adc13ff997d38383910db7befb17670393a33d95b049c2aa19d760c8e728ecedd32168476b90b26a3742dcc121b07\n\n# tcId = 34\n# edge cases for ephemeral key\nprivate = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97\npublic = 3076301006072a8648ce3d020106052b81040022036200047c25a4f57f76ab13b25cab3c265db9d9bd925fecbf7bf93bef1308778646628decab067ed988a9755cd88e88de367104562ee0c57e71d96cefe31b4c4045bd4086a38e8ab9adf2d5567be318051d70f3aa68b753f271ab032b6abcce919e2962\nresult = valid\nshared = 56299684ec5ceb09ba4d94d1231005a826c9c08a5219c757e0136cbe8b6430badd4925172f2939891da7c7893850512f\n\n# tcId = 35\n# edge cases for ephemeral key\nprivate = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97\npublic = 3076301006072a8648ce3d020106052b81040022036200047fffffe000000ffffffc000001ffffff8000003ffffff0000007fffffe000000ffffffc000001ffffff80000040000024480ab33cb4bf7cb79c024eeade3fd641e2f3003698400e8986a7343a5da59a3b26eea4b4176e53239371437d834a1a7\nresult = valid\nshared = 1911a0ee6aebe263fdcf3db073f2598cdafabec2123a2f24a28c3d9151c871f32d6dc2f31d25af9c498fd68da23e5bef\n\n# tcId = 36\n# edge cases for ephemeral key\nprivate = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97\npublic = 3076301006072a8648ce3d020106052b81040022036200048000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020797da4c0751ced16de80d16ab7c654a5dc27d092626d0865a192a1c5ea7c1b88c9fcab057946741e41cc28c80ec0b9a\nresult = valid\nshared = 15900643e2e0583976974b05f83c7a96611425f7c4a6eb51916ab958a037fd9cc172bdcfff4540a2ff3ce64e6505557e\n\n# tcId = 37\n# edge cases for ephemeral key\nprivate = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97\npublic = 3076301006072a8648ce3d020106052b8104002203620004fff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff6c70898ae6fb31fa2f086562af2d10486ba4c6fd5e41dfe4aa61598b4707a3bc276a62feb1b98557e3b17c025f7adf4e\nresult = valid\nshared = 88a544a769d5c34a051416bd509dfac911863f604c83ea844bf0e4c5c272dec86d057a88b152a9274701938c705900c3\n\n# tcId = 38\n# edge cases for ephemeral key\nprivate = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97\npublic = 3076301006072a8648ce3d020106052b8104002203620004fffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff00000040000000eb1592858b6e6e3a199c0f3e7c5f0b4a92915936efb8bc0407680eb7274be7422156ce8cfc8b505b2d902c39992380f\nresult = valid\nshared = b7db26b286e7527cb1f454782fe541862ff0f8d7eed960e22855deb7ac2a69611668c777c53bb74c2bcd40edfbf7944d\n\n# tcId = 39\n# edge cases for ephemeral key\nprivate = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97\npublic = 3076301006072a8648ce3d020106052b8104002203620004ffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff4987abae412809c2fa48fd23b1bdf9e622f5a606c44117215ffa61b18ef46e54a7fbbf11f9a6ba59c991b4ae501fedce\nresult = valid\nshared = b1e8aab1aa633d98dc6b768594e1e3edb801a9ef483f287c83e19744d2ad343ad3debdc4dc178213ad6876b52284f552\n\n# tcId = 40\n# edge cases for ephemeral key\nprivate = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97\npublic = 3076301006072a8648ce3d020106052b8104002203620004ffffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff00000000000001000000000000013691fe493d4d28bf8ee1dfec812d6c306eae0842919eda6dc525f0d49ac2d26a992251912139a2936849f9d6fa949a68\nresult = valid\nshared = b0de006f80f6f89e4eea6e46dfe305153005612d1e903171ec2886230971961b5202a9f3187bdac413ac24c836adf7a0\n\n# tcId = 41\n# edge cases for ephemeral key\nprivate = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97\npublic = 3076301006072a8648ce3d020106052b8104002203620004ffffffffffffffffffffffffffffffff00000000000000000000000000000000ffffffffffffffffffffffffffffffff615842aa06b06f78f0a66f7bea88d4b6ee59653eeaa00dc5e0a2b658f969b71af90c9b4e96bd3ca33846955bdccbd359\nresult = valid\nshared = ca8cfa42c5e374914c14d6402b1a99208e47e02ec49818913694ea0822a2cc6c310259a8f3ab7559b9974bc4c2fa337e\n\n# tcId = 42\n# edge cases for ephemeral key\nprivate = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97\npublic = 3076301006072a8648ce3d020106052b8104002203620004fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffe732152442fb6ee5c3e6ce1d920c059bc623563814d79042b903ce60f1d4487fccd450a86da03f3e6ed525d02017bfdb3\nresult = valid\nshared = edf040bace18d90bf9ce720df2a3b31d76d95b7ed9530a159ac0b24e82a871033eada40552f9e606f7115e6a78927511\n\n# tcId = 43\n# edge cases for ephemeral key\nprivate = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97\npublic = 3076301006072a8648ce3d020106052b8104002203620004000000000000000000000000000000000000000000000000000000001f03123b0000000000000000000000000000000071bd1e700c34075c3cade8ce29d33724af68a7672b265a4e157055360440ab7c461b8e9ac8024e63a8b9c17c00000000\nresult = valid\nshared = ea817dff44f1944a38444498f1b6c1a70a8b913aa326bc2acc5068805d8ddd7a5e41b8ee5b8371a1cf3f7a094258e3a6\n\n# tcId = 44\n# edge cases for ephemeral key\nprivate = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97\npublic = 3076301006072a8648ce3d020106052b8104002203620004000000000000000000000000000000000000000000000000000000001f03123b000000000000000000000000000000008e42e18ff3cbf8a3c3521731d62cc8db50975898d4d9a5b1ea8faac9fbbf5482b9e4716437fdb19c57463e84ffffffff\nresult = valid\nshared = ea817dff44f1944a38444498f1b6c1a70a8b913aa326bc2acc5068805d8ddd7a5e41b8ee5b8371a1cf3f7a094258e3a6\n\n# tcId = 45\n# edge cases for ephemeral key\nprivate = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97\npublic = 3076301006072a8648ce3d020106052b81040022036200040000000000000000000000000000000000000000000000000000000036a2907c00000000000000000000000000000000000000007f57b69a014783dbfa4967b2f9cfa678a6f0b6e9cfd41648cec5b3c498e72152da3f82d3da2e8e9f8ef37b11\nresult = valid\nshared = bfa93e184f76279fd707d53ddcb3628855cfafb111bcbd0b4df6ef77aee624924d681626a153fa4e59c923b71fc090b3\n\n# tcId = 46\n# edge cases for ephemeral key\nprivate = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97\npublic = 3076301006072a8648ce3d020106052b81040022036200040000000000000000000000000000000000000000000000000000000036a2907c00000000000000000000000000000000ffffffff80a84965feb87c2405b6984d06305987590f4916302be9b7313a4c3a6718deac25c07d2c25d17161710c84ee\nresult = valid\nshared = bfa93e184f76279fd707d53ddcb3628855cfafb111bcbd0b4df6ef77aee624924d681626a153fa4e59c923b71fc090b3\n\n# tcId = 47\n# edge case private key\nprivate = 3\npublic = 3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e", - "\nresult = valid\nshared = 455aea9924330bd6d2d6403478327900e172e93598e254cf6d8eb13f0a3d21be51a46107333844e61dfa3d80df6928e9\n\n# tcId = 48\n# edge case private key\nprivate = 0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\npublic = 3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e\nresult = valid\nshared = db1d8ef1117282870db8113aa4f58723c756ce598686eb8ea531aa4d39abb1b982b1e7bb2648a6c268d2d351204db8d5\n\n# tcId = 49\n# edge case private key\nprivate = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\npublic = 3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e\nresult = valid\nshared = e98062df47ef884c9411e16466af84ad271d586008b1fbc50aeb3b36836a35a770dd42e0db84d39b26f4dcd2dc03d90b\n\n# tcId = 50\n# edge case private key\nprivate = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\npublic = 3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e\nresult = valid\nshared = 898aae0ebf1cb49fb6b1234d60f59006325421049a8a320820e1ad6af6593cdc2229a08c500aa55ca05999d12829db9c\n\n# tcId = 51\n# edge case private key\nprivate = 0800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\npublic = 3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e\nresult = valid\nshared = 83f862f496ab8af12b82a8a0c047d836bdfa36281324b3a1eb2e9c1d46699d81cb125cbe4b93939fd84e1ae86d8a83cb\n\n# tcId = 52\n# edge case private key\nprivate = 0ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a779ecec196accc52973\npublic = 3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e\nresult = valid\nshared = 9a26894887a0342ca559a74a4d4a8e1d6b2084f02e1c65b3097121a9a9af047d8810fb945dc25bbf02222b3b625f1e0a\n\n# tcId = 53\n# edge case private key\nprivate = 0ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecdc196accc52973\npublic = 3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e\nresult = valid\nshared = 8a8d9dc194a26910cbdae7908d185b6ad04b620c94c5ee331e584ed804e495bebc2290a2d7006a06e65b9bcace86c6f6\n\n# tcId = 54\n# edge case private key\nprivate = 0ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aece4196accc52973\npublic = 3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e\nresult = valid\nshared = d57f6aa12d3f07e8958499f249e52cfbe5be58482e146c5414dbbf984fc5333710350e2ce96b33beb7678381f40f1dcb\n\n# tcId = 55\n# edge case private key\nprivate = 0ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec1969ccc52973\npublic = 3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e\nresult = valid\nshared = 188e8041d9a5f0b6cfdad315ada4823beda0146774fad65b500e6ef94376ebf8af7a40ff6f6b45019a09dde7d7fb5552\n\n# tcId = 56\n# edge case private key\nprivate = 0ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52959\npublic = 3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e\nresult = valid\nshared = 2ecf9dc47e8b07ae61ddbd1680ead02698e9e8469f78d5a28328e48d0c9d7a2ac787e50cba58cc44a32fb1235d2d7027\n# The private key has a special value. Implementations using addition\n# subtraction chains for the point multiplication may get the point at infinity\n# as an intermediate result. See CVE_2017_10176\n\n# tcId = 57\n# edge case private key\nprivate = 0ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52969\npublic = 3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e\nresult = valid\nshared = 06ee9f55079d3d3c18c683ba33e0d2521be97c4fbf7917bf3b6287d58ffcde2df88842e3f5530b39549ac20974b1b60e\n# The private key has a special value. Implementations using addition\n# subtraction chains for the point multiplication may get the point at infinity\n# as an intermediate result. See CVE_2017_10176\n\n# tcId = 58\n# edge case private key\nprivate = 0ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52970\npublic = 3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e\nresult = valid\nshared = 455aea9924330bd6d2d6403478327900e172e93598e254cf6d8eb13f0a3d21be51a46107333844e61dfa3d80df6928e9\n\n# tcId = 59\n# edge case private key\nprivate = 0ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52971\npublic = 3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e\nresult = valid\nshared = 024c5281487216058270cd1cfe259e948310e4adc263a9edaa4da0bc3f5f8ce8ffc88ae41b2c050bf6dd9c8c66857237\n# The private key has a special value. Implementations using addition\n# subtraction chains for the point multiplication may get the point at infinity\n# as an intermediate result. See CVE_2017_10176\n\n# tcId = 60\n# point is not on curve\nprivate = 0c6cafb74e2a50c82c7a63d13294bfea13d0bc504ba2b08a392c9081bf3815d9e44d969ed7f05ffd1d8594355053c6147\npublic = 3076301006072a8648ce3d020106052b8104002203620004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = invalid\nshared = \n\n# tcId = 61\n# point is not on curve\nprivate = 0c6cafb74e2a50c82c7a63d13294bfea13d0bc504ba2b08a392c9081bf3815d9e44d969ed7f05ffd1d8594355053c6147\npublic = 3076301006072a8648ce3d020106052b8104002203620004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nresult = invalid\nshared = \n\n# tcId = 62\n# point is not on curve\nprivate = 0c6cafb74e2a50c82c7a63d13294bfea13d0bc504ba2b08a392c9081bf3815d9e44d969ed7f05ffd1d8594355053c6147\npublic = 3076301006072a8648ce3d020106052b8104002203620004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffe\nresult = invalid\nshared = \n\n# tcId = 63\n# point is not o", - "n curve\nprivate = 0c6cafb74e2a50c82c7a63d13294bfea13d0bc504ba2b08a392c9081bf3815d9e44d969ed7f05ffd1d8594355053c6147\npublic = 3076301006072a8648ce3d020106052b8104002203620004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff\nresult = invalid\nshared = \n\n# tcId = 64\n# point is not on curve\nprivate = 0c6cafb74e2a50c82c7a63d13294bfea13d0bc504ba2b08a392c9081bf3815d9e44d969ed7f05ffd1d8594355053c6147\npublic = 3076301006072a8648ce3d020106052b8104002203620004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = invalid\nshared = \n\n# tcId = 65\n# point is not on curve\nprivate = 0c6cafb74e2a50c82c7a63d13294bfea13d0bc504ba2b08a392c9081bf3815d9e44d969ed7f05ffd1d8594355053c6147\npublic = 3076301006072a8648ce3d020106052b8104002203620004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nresult = invalid\nshared = \n\n# tcId = 66\n# point is not on curve\nprivate = 0c6cafb74e2a50c82c7a63d13294bfea13d0bc504ba2b08a392c9081bf3815d9e44d969ed7f05ffd1d8594355053c6147\npublic = 3076301006072a8648ce3d020106052b8104002203620004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffe\nresult = invalid\nshared = \n\n# tcId = 67\n# point is not on curve\nprivate = 0c6cafb74e2a50c82c7a63d13294bfea13d0bc504ba2b08a392c9081bf3815d9e44d969ed7f05ffd1d8594355053c6147\npublic = 3076301006072a8648ce3d020106052b8104002203620004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff\nresult = invalid\nshared = \n\n# tcId = 68\n# point is not on curve\nprivate = 0c6cafb74e2a50c82c7a63d13294bfea13d0bc504ba2b08a392c9081bf3815d9e44d969ed7f05ffd1d8594355053c6147\npublic = 3076301006072a8648ce3d020106052b8104002203620004fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffe000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = invalid\nshared = \n\n# tcId = 69\n# point is not on curve\nprivate = 0c6cafb74e2a50c82c7a63d13294bfea13d0bc504ba2b08a392c9081bf3815d9e44d969ed7f05ffd1d8594355053c6147\npublic = 3076301006072a8648ce3d020106052b8104002203620004fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffe000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nresult = invalid\nshared = \n\n# tcId = 70\n# point is not on curve\nprivate = 0c6cafb74e2a50c82c7a63d13294bfea13d0bc504ba2b08a392c9081bf3815d9e44d969ed7f05ffd1d8594355053c6147\npublic = 3076301006072a8648ce3d020106052b8104002203620004fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffe\nresult = invalid\nshared = \n\n# tcId = 71\n# point is not on curve\nprivate = 0c6cafb74e2a50c82c7a63d13294bfea13d0bc504ba2b08a392c9081bf3815d9e44d969ed7f05ffd1d8594355053c6147\npublic = 3076301006072a8648ce3d020106052b8104002203620004fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff\nresult = invalid\nshared = \n\n# tcId = 72\n# point is not on curve\nprivate = 0c6cafb74e2a50c82c7a63d13294bfea13d0bc504ba2b08a392c9081bf3815d9e44d969ed7f05ffd1d8594355053c6147\npublic = 3076301006072a8648ce3d020106052b8104002203620004fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = invalid\nshared = \n\n# tcId = 73\n# point is not on curve\nprivate = 0c6cafb74e2a50c82c7a63d13294bfea13d0bc504ba2b08a392c9081bf3815d9e44d969ed7f05ffd1d8594355053c6147\npublic = 3076301006072a8648ce3d020106052b8104002203620004fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nresult = invalid\nshared = \n\n# tcId = 74\n# point is not on curve\nprivate = 0c6cafb74e2a50c82c7a63d13294bfea13d0bc504ba2b08a392c9081bf3815d9e44d969ed7f05ffd1d8594355053c6147\npublic = 3076301006072a8648ce3d020106052b8104002203620004fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffe\nresult = invalid\nshared = \n\n# tcId = 75\n# point is not on curve\nprivate = 0c6cafb74e2a50c82c7a63d13294bfea13d0bc504ba2b08a392c9081bf3815d9e44d969ed7f05ffd1d8594355053c6147\npublic = 3076301006072a8648ce3d020106052b8104002203620004fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff\nresult = invalid\nshared = \n\n# tcId = 76\nprivate = 0c6cafb74e2a50c82c7a63d13294bfea13d0bc504ba2b08a392c9081bf3815d9e44d969ed7f05ffd1d8594355053c6147\npublic = 3015301006072a8648ce3d020106052b81040022030100\nresult = invalid\nshared = \n\n# tcId = 77\n# public point not on curve\nprivate = 0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2\npublic = 3076301006072a8648ce3d020106052b81040022036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c8\nresult = invalid\nshared = \n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n\n# tcId = 78\n# public point = (0,0)\nprivate = 0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2\npublic = 3076301006072a8648ce3d020106052b8104002203620004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = invalid\nshared = \n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n\n# tcId = 79\n# order =\n# -39402006196394479212279040100143613805079739270465446667946905279627659399113263569398956308152294913554433653942643\nprivate = 0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2\npublic = 308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef046104aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f02", - "31ff000000000000000000000000000000000000000000000000389cb27e0bc8d220a7e5f24db74f58851313e695333ad68d020101036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6\nresult = invalid\nshared = 455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6\n# The order of the public key has been modified. If this order is used in a\n# cryptographic primitive instead of the correct order then private keys may\n# leak. E.g. ECDHC in BC 1.52 suffered from this.\n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 80\n# order = 0\nprivate = 0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2\npublic = 308201853082011d06072a8648ce3d020130820110020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef046104aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f020100020101036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6\nresult = invalid\nshared = 455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6\n# The order of the public key has been modified. If this order is used in a\n# cryptographic primitive instead of the correct order then private keys may\n# leak. E.g. ECDHC in BC 1.52 suffered from this.\n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 81\n# order = 1\nprivate = 0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2\npublic = 308201853082011d06072a8648ce3d020130820110020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef046104aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f020101020101036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6\nresult = acceptable\nshared = 455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6\n# The order of the public key has been modified. If this order is used in a\n# cryptographic primitive instead of the correct order then private keys may\n# leak. E.g. ECDHC in BC 1.52 suffered from this.\n# A parameter that is typically not used for ECDH has been modified. Sometimes\n# libraries ignore small differences between public and private key. For\n# example, a library might ignore an incorrect cofactor in the public key. We\n# consider ignoring such changes as acceptable as long as these differences do\n# not change the outcome of the ECDH computation, i.e. as long as the\n# computation is done on the curve from the private key.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 82\n# order =\n# 9173994463960286046443283581208347763186259956673124494950032159599396260248791326163093631191247821216106\nprivate = 0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2\npublic = 308201b13082014906072a8648ce3d02013082013c020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef046104aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f022d00ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196a020101036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6\nresult = acceptable\nshared = 455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6\n# The order of the public key has been modified. If this order is used in a\n# cryptographic primitive instead of the correct order then private keys may\n# leak. E.g. ECDHC in BC 1.52 suffered from this.\n# A parameter that is typically not used for ECDH has been modified. Sometimes\n# libraries ignore small differences between public and private key. For\n# example, a library might ignore an incorrect cofactor in the public key. We\n# consider ignoring such changes as acceptable as long as these differences do\n# not change the outcome of the ECDH computation, i.e. as long as the\n# computation is done on the curve from the private key.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 83\n# generator = (0,0)\nprivate = 0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2\npublic = 308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430fffffffffffffffffffffffffff", - "ffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef046104000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973020101036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6\nresult = acceptable\nshared = 455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6\n# A parameter that is typically not used for ECDH has been modified. Sometimes\n# libraries ignore small differences between public and private key. For\n# example, a library might ignore an incorrect cofactor in the public key. We\n# consider ignoring such changes as acceptable as long as these differences do\n# not change the outcome of the ECDH computation, i.e. as long as the\n# computation is done on the curve from the private key.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 84\n# generator not on curve\nprivate = 0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2\npublic = 308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef046104aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e61023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973020101036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6\nresult = acceptable\nshared = 455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6\n# A parameter that is typically not used for ECDH has been modified. Sometimes\n# libraries ignore small differences between public and private key. For\n# example, a library might ignore an incorrect cofactor in the public key. We\n# consider ignoring such changes as acceptable as long as these differences do\n# not change the outcome of the ECDH computation, i.e. as long as the\n# computation is done on the curve from the private key.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 85\n# cofactor = -1\nprivate = 0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2\npublic = 308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef046104aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc529730201ff036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6\nresult = invalid\nshared = 455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6\n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 86\n# cofactor = 0\nprivate = 0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2\npublic = 308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef046104aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973020100036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6\nresult = invalid\nshared = 455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6\n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 87\n# cofactor = 2\nprivate = 0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2\npublic = 308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef046104aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c0", - "0a60b1ce1d7e819d7a431d7c90ea0e5f023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973020102036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6\nresult = acceptable\nshared = 455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6\n# A parameter that is typically not used for ECDH has been modified. Sometimes\n# libraries ignore small differences between public and private key. For\n# example, a library might ignore an incorrect cofactor in the public key. We\n# consider ignoring such changes as acceptable as long as these differences do\n# not change the outcome of the ECDH computation, i.e. as long as the\n# computation is done on the curve from the private key.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 88\n# cofactor =\n# 39402006196394479212279040100143613805079739270465446667946905279627659399113263569398956308152294913554433653942643\nprivate = 0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2\npublic = 308201e53082017d06072a8648ce3d020130820170020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef046104aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6\nresult = invalid\nshared = 455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6\n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 89\n# cofactor = None\nprivate = 0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2\npublic = 308201b23082014a06072a8648ce3d02013082013d020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef046104aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6\nresult = acceptable\nshared = 455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6\n# A parameter that is typically not used for ECDH has been modified. Sometimes\n# libraries ignore small differences between public and private key. For\n# example, a library might ignore an incorrect cofactor in the public key. We\n# consider ignoring such changes as acceptable as long as these differences do\n# not change the outcome of the ECDH computation, i.e. as long as the\n# computation is done on the curve from the private key.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 90\n# modified prime\nprivate = 0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2\npublic = 308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d0101023100f47e533e4e43e4bf04e901db0eea6efba14bbcdc3b1c5753a7c141487e4f43784e57a72310202323361f44760c8368bf306404300b81acc1b1bc1b40fb16fe24f11591045eb44323c4e3a8ac583ebeb781b0bc86b1a858dbefdfdcdcc9e0bb8af37c973d0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef04610400000000000000000000000000000000fffffffffffd38000000000000000000000000000000000000000000000001cf3646298bba2f24e84189cf0d1e75188fc4fcf5b0844281822e789e3d534b159f4c419342260197625ad924a2c72c4d0f023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc529730201010362000400000000000000000000000000000000fffffffffffd38000000000000000000000000000000000000000000000001cf3646298bba2f24e84189cf0d1e75188fc4fcf5b0844281822e789e3d534b159f4c419342260197625ad924a2c72c4d0f\nresult = invalid\nshared = 5df0762488bc0a7be1121508949382861f781c331676048c2d45d245be6f476c872113e6710bc746c3d06970510193ce\n# The modulus of the public key has been modified. The public point of the\n# public key has been chosen so that it is both a point on both the curve of the\n# modified public key and the private key.\n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 91\n# using secp224r1\nprivate = 0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2\npublic = 304e301006072a8648ce3d020106052b81040021033a0004074f56dc2ea648ef89c3b72e23bbd2da36f60243e4d2067b70604af1c2165cec2f86603d60c8a611d5b84ba3d91dfe1a480825bcc4af3bcf\nresult = invalid\nshared = \n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve ", - "of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n\n# tcId = 92\n# using secp256r1\nprivate = 0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004cbf6606595a3ee50f9fceaa2798c2740c82540516b4e5a7d361ff24e9dd15364e5408b2e679f9d5310d1f6893b36ce16b4a507509175fcb52aea53b781556b39\nresult = invalid\nshared = \n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n\n# tcId = 93\n# using secp256k1\nprivate = 0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2\npublic = 3056301006072a8648ce3d020106052b8104000a03420004a1263e75b87ae0937060ff1472f330ee55cdf8f4329d6284a9ebfbcc856c11684225e72cbebff41e54fb6f00e11afe53a17937bedbf2df787f8ef9584f775838\nresult = invalid\nshared = \n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n\n# tcId = 94\n# a = 0\nprivate = 0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2\npublic = 308201863082011e06072a8648ce3d020130820111020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff303504010004304fcc45ccf5e23ee407b9291d2e85523962a2a79a50da3facca04b7267ad316db202cb07c24905740d201ded3028881090461042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973020101036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6\nresult = acceptable\nshared = 455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6\n# A parameter that is typically not used for ECDH has been modified. Sometimes\n# libraries ignore small differences between public and private key. For\n# example, a library might ignore an incorrect cofactor in the public key. We\n# consider ignoring such changes as acceptable as long as these differences do\n# not change the outcome of the ECDH computation, i.e. as long as the\n# computation is done on the curve from the private key.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 95\n# public key of order 3\nprivate = 0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2\npublic = 308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430d5d9a63564e6f51f051c1d8272d6d7b0c005f95ec949ab25c202e3392111ae93bac9c835802fa5ac20d1656d35a333fc0430b1fe2e222bf5a03e2e8a676a529a5583237dc76b25d747b9dc4c51159d51bef52456c83b927c64da7512aca99605480b04610471acb2a68e98de42473717a8873eb556e8a26237207605f16b96ff6511717f5b9e5d039fbb093c5e2c27af63c20cff3545867f2c325566f298770d2da6cc39f81e6ee5fb8c383e91771f962e5a60a63350d72793359f61f2da9493989eaa29a5023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc529730201010362000471acb2a68e98de42473717a8873eb556e8a26237207605f16b96ff6511717f5b9e5d039fbb093c5e2c27af63c20cff35ba7980d3cdaa990d6788f2d25933c607e1911a0473c7c16e88e069d1a59f59cbaf28d86bca609e0d256b6c686155d65a\nresult = invalid\nshared = dca6f0f2efbc90881cbbcf53d09634e8af0909384113f236165d1c05cbda054394312114317b87d251cc176db3e3dcb6\n# The vector contains a weak public key. The curve is not a named curve, the\n# public key point has order 3 and has been chosen to be on the same curve as\n# the private key. This test vector is used to check ECC implementations for\n# missing steps in the verification of the public key.\n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 96\n# Public key uses wrong curve: secp224r1\nprivate = 0d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4\npublic = 304e301006072a8648ce3d020106052b81040021033a00040710b0c6f4675459f3df2bdf7ca02819f8086198d15c69b8abda37639e6031caca8a0121894d2491d8b3dce093703c70705bc5dbc8fa17c8\nresult = invalid\nshared = \n\n# tcId = 97\n# Public key uses wrong curve: secp256r1\nprivate = 0d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200045fa4fa0b235c21e5c9f3baea9303bf86eccb7d31d0b998e141bc54b5dc43b23eef7fc5cf56308ed595eee99ade6aaf74d591c3d00aa1b438abc59c9607c22c36\nresult = invalid\nshared = \n\n# tcId = 98\n# Public key uses wrong curve: secp521r1\nprivate = 0d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4\npublic = 30819b301006072a8648ce3d020106052b810400230381860004005bce61fe27c440fedbad47d88bccf645db9c1d30daa086e592e8b6a0a173b87991b619801907b420fa558c7953ab97badd9c6c1d85859d9ebef7441a088ff57ed5008d7638de703faabeb5a78e83e8fcd4eb786144a75d79bd4cc8cfa8be66612d756c7b65c67f72c6acbade6f0d59e9752e845205b2a560d4f8d6a9e84bf812f94d18\nresult = invalid\nshared = \n\n# tcId = 99\n# Public key uses wrong curve: secp256k1\nprivate = 0d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4\npublic = 3056301006072a8648ce3d020106052b8104000a03420004a69ced11a8bf7a907bfa47cba3368f2498b465a2407c90649c8da224d2a85bf445ad2df3d0113e72aedccf92ba6b8529ed6faa154bc27aba25f49371981e3b38\nresult = invalid\nshared = \n\n# tcId = 100\n# Public key uses wrong curve: brainpoolP224r1\nprivate = 0d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4\npublic = 3052301406072a8648ce3d020106092b2403030208010105033a0004a9b0f90e49a57fbe508847bf16e4a7b565dfe870a50164bc2862fe6e4d54bd8b109939f7dbbf800522722b9c0b309ace3884abb69c927ad0\nresult = invalid\nshared = \n\n# tcId = 101\n# Public key uses wrong curve: brainpoolP256r1\nprivate = 0d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4\npublic = 305a301406072a8648ce3d020106092b240303020801010703420004512fe17172db1125a49f9dbb85e387869adf015e4899c06f66ef870d72092d4d195e1d21b4a4647bf734468bee802ddad5449202eba1041df2fd8cde04697237\nresult = in", - "valid\nshared = \n\n# tcId = 102\n# Public key uses wrong curve: brainpoolP320r1\nprivate = 0d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4\npublic = 306a301406072a8648ce3d020106092b240303020801010903520004c391dc7a817d47a3961ea1857895e101c0f5a8767d3a9c7cad49f7af8029f24c67309373cedd0831ccc0a0f45d344f3ab5923d2452507a980301a283848ae31574a57db51ce5e61d35aee483f1bb8e66\nresult = invalid\nshared = \n\n# tcId = 103\n# Public key uses wrong curve: brainpoolP384r1\nprivate = 0d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4\npublic = 307a301406072a8648ce3d020106092b240303020801010b0362000419d3c811c04c5c0990d0258386195b2e29fdaba58d3f12b0bac8d3d53828c66c7a35e3d1eb0bdf2c08f23d0e4ab6a3246e456bf0fb863d03423dbe431baf799657c7816a619662fe5b900b754107ba5cc06b1d62c9a927891efee1a1fd404d7e\nresult = invalid\nshared = \n\n# tcId = 104\n# Public key uses wrong curve: brainpoolP512r1\nprivate = 0d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4\npublic = 30819b301406072a8648ce3d020106092b240303020801010d0381820004216eb619457f1168ac873f5b560a75df80749f2bdf9abac31d6580e521ad70368013c3db74f663263b61eb12d4dcd597ad6c77cef6a5d6d2240b1e244d76403f693fb317ffc602a7ac313991b0a62f7bf469bbc95b3ff35003d972eb8ebcc8d4833e6c24ad52d49c1ce6244c7889ab67a8818232e192944542763fc667e5799d\nresult = invalid\nshared = \n\n# tcId = 105\n# Public key uses wrong curve: brainpoolP224t1\nprivate = 0d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4\npublic = 3052301406072a8648ce3d020106092b2403030208010106033a0004691b24004380a599770214d0c60ab37cfc804cfaa7aedd11cbf0a05467ebec5e33322cda707b848086fd740244f62cdeb867fc057207fde2\nresult = invalid\nshared = \n\n# tcId = 106\n# Public key uses wrong curve: brainpoolP256t1\nprivate = 0d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4\npublic = 305a301406072a8648ce3d020106092b24030302080101080342000422bf69f3a81dfa1ed8a97301943626e20377b78f7e7d714b880deb5a4a9c63a11591c2e47b777488990771855768b9a4050d61bf02d84cc6aa40447a07507285\nresult = invalid\nshared = \n\n# tcId = 107\n# Public key uses wrong curve: brainpoolP320t1\nprivate = 0d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4\npublic = 306a301406072a8648ce3d020106092b240303020801010a0352000476568300e2b4c68861589b4966e67bc414811e4011260cb8be5f884869fa179ca8af40f80009e0a58b17ac3e551a772e76683c32e6e09112572542d7c1fe3d49abb56da56d669186e2623dc797129dc0\nresult = invalid\nshared = \n\n# tcId = 108\n# Public key uses wrong curve: brainpoolP384t1\nprivate = 0d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4\npublic = 307a301406072a8648ce3d020106092b240303020801010c036200043345dffded3c33f7dcc19bb8997a39f2d6230abcb765d6142c30bf320c1fadff535feafd8505eb3e614db71826c1e258077a1e6057add7474f6d35dce68417812e7b919b1c673032b28c45d0a9251c43a2a73ab152f64ff8eba4eab312fa73bd\nresult = invalid\nshared = \n\n# tcId = 109\n# Public key uses wrong curve: brainpoolP512t1\nprivate = 0d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4\npublic = 30819b301406072a8648ce3d020106092b240303020801010e0381820004a3677c646cd887685940c28076f55cda7469032845f2cb2af51c61492dc435aaa5b771d8e1528417cdeb89b5f629e06b234e21236b9edf46c7025177ee65a8e940f670d10c722cea355bd3a5c8847a38324b9a06a50a95da4e70bb492cd00194a8830975dd1e115e19315575ff841b30fd4a3f8a44725dfe280d0af57fc80cc3\nresult = invalid\nshared = \n\n# tcId = 110\n# invalid public key\nprivate = 2b9e57572da6cf4fb58cb94eab8df19383a136f219f2a515776a8bf48e1538dd1d811946c16d9f0184c9ce5cdf1dac51\npublic = 3046301006072a8648ce3d020106052b81040022033200024424530ea70bace90601f8d5869e4179a6cd689b6a18fdfec50cecf17cb836d24820211ada67815b42c2c2606303f69e\nresult = invalid\nshared = \n# The point in the public key is compressed. Not every library supports points\n# in compressed format.\n\n# tcId = 111\n# long form encoding of length\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 308176301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 112\n# long form encoding of length\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307730811006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 113\n# long form encoding of length\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307730110681072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 114\n# long form encoding of length\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3077301106072a8648ce3d02010681052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 115\n# long form encoding of length\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3077301006072a8648ce3d020106052b810400220381620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 116\n# length contains leading 0\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 30820076301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a", - "5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 117\n# length contains leading 0\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 30783082001006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 118\n# length contains leading 0\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 30783012068200072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 119\n# length contains leading 0\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3078301206072a8648ce3d0201068200052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 120\n# length contains leading 0\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3078301006072a8648ce3d020106052b81040022038200620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 121\n# wrong length\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3077301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 122\n# wrong length\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3075301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 123\n# wrong length\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301106072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 124\n# wrong length\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076300f06072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 125\n# wrong length\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006082a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 126\n# wrong length\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006062a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 127\n# wrong length\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020106062b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797", - "\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 128\n# wrong length\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020106042b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 129\n# wrong length\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020106052b8104002203630004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 130\n# wrong length\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020106052b8104002203610004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 131\n# uint32 overflow in length\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 30850100000076301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 132\n# uint32 overflow in length\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307b3085010000001006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 133\n# uint32 overflow in length\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307b3015068501000000072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 134\n# uint32 overflow in length\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307b301506072a8648ce3d0201068501000000052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 135\n# uint32 overflow in length\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307b301006072a8648ce3d020106052b81040022038501000000620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 136\n# uint64 overflow in length\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3089010000000000000076301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 137\n# uint64 overflow in length\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307f308901000000000000001006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 138\n# uint64 overflow in length\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307f301906890100000000000000072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f9", - "0c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 139\n# uint64 overflow in length\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307f301906072a8648ce3d020106890100000000000000052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 140\n# uint64 overflow in length\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307f301006072a8648ce3d020106052b8104002203890100000000000000620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 141\n# length = 2**31 - 1\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 30847fffffff301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 142\n# length = 2**31 - 1\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307a30847fffffff06072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 143\n# length = 2**31 - 1\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307a301406847fffffff2a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 144\n# length = 2**31 - 1\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307a301406072a8648ce3d020106847fffffff2b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 145\n# length = 2**31 - 1\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307a301006072a8648ce3d020106052b8104002203847fffffff0004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 146\n# length = 2**32 - 1\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3084ffffffff301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 147\n# length = 2**32 - 1\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307a3084ffffffff06072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 148\n# length = 2**32 - 1\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307a30140684ffffffff2a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 149\n# length = 2**32 - 1\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307a301406072a8648ce3d02010684ffffffff2b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40", - "c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 150\n# length = 2**32 - 1\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307a301006072a8648ce3d020106052b810400220384ffffffff0004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 151\n# length = 2**40 - 1\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3085ffffffffff301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 152\n# length = 2**40 - 1\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307b3085ffffffffff06072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 153\n# length = 2**40 - 1\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307b30150685ffffffffff2a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 154\n# length = 2**40 - 1\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307b301506072a8648ce3d02010685ffffffffff2b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 155\n# length = 2**40 - 1\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307b301006072a8648ce3d020106052b810400220385ffffffffff0004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 156\n# length = 2**64 - 1\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3088ffffffffffffffff301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 157\n# length = 2**64 - 1\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307e3088ffffffffffffffff06072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 158\n# length = 2**64 - 1\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307e30180688ffffffffffffffff2a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 159\n# length = 2**64 - 1\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307e301806072a8648ce3d02010688ffffffffffffffff2b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 160\n# length = 2**64 - 1\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307e301006072a8648ce3d020106052b810400220388ffffffffffffffff0004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a71", - "3207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 161\n# incorrect length\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 30ff301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 162\n# incorrect length\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307630ff06072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 163\n# incorrect length\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006ff2a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 164\n# incorrect length\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020106ff2b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 165\n# incorrect length\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020106052b8104002203ff0004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 166\n# indefinite length without termination\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3080301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 167\n# indefinite length without termination\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076308006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 168\n# indefinite length without termination\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006802a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 169\n# indefinite length without termination\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020106802b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 170\n# indefinite length without termination\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020106052b8104002203800004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 171\n# removing sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = \nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser", - " is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 172\n# removing sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 306403620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 173\n# lonely sequence tag\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 30\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 174\n# lonely sequence tag\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 30653003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 175\n# appending 0's to sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3078301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312510000\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 176\n# appending 0's to sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3078301206072a8648ce3d020106052b81040022000003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 177\n# prepending 0's to sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 30780000301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 178\n# prepending 0's to sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 30783012000006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 179\n# appending unused 0's to sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312510000\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 180\n# appending unused 0's to sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3078301006072a8648ce3d020106052b81040022000003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 181\n# appending null value to sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3078301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312510500\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 182\n# appending null value to sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3078301206072a8648ce3d020106052b81040022050003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 183\n# including garbage\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic ", - "= 307b4981773076301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 184\n# including garbage\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307a25003076301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 185\n# including garbage\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 30783076301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312510004deadbeef\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 186\n# including garbage\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307b3015498177301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 187\n# including garbage\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307a30142500301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 188\n# including garbage\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307e3012301006072a8648ce3d020106052b810400220004deadbeef03620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 189\n# including garbage\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307b3015260c49817706072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 190\n# including garbage\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307a3014260b250006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 191\n# including garbage\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307e3018260906072a8648ce3d02010004deadbeef06052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 192\n# including garbage\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307b301506072a8648ce3d0201260a49817706052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 193\n# including garbage\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307a301406072a8648ce3d02012609250006052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 194\n# including garbage\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3", - "c27a2562dcb49a3a\npublic = 307e301806072a8648ce3d0201260706052b810400220004deadbeef03620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 195\n# including garbage\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307b301006072a8648ce3d020106052b81040022236749817703620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 196\n# including garbage\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307a301006072a8648ce3d020106052b810400222366250003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 197\n# including garbage\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307e301006072a8648ce3d020106052b81040022236403620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312510004deadbeef\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 198\n# including undefined tags\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307eaa00bb00cd003076301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 199\n# including undefined tags\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307caa02aabb3076301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 200\n# including undefined tags\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307e3018aa00bb00cd00301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 201\n# including undefined tags\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307c3016aa02aabb301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 202\n# including undefined tags\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307e3018260faa00bb00cd0006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 203\n# including undefined tags\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307c3016260daa02aabb06072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 204\n# including undefined tags\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307e301806072a8648ce3d0201260daa00bb00cd0006052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 205\n# inclu", - "ding undefined tags\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307c301606072a8648ce3d0201260baa02aabb06052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 206\n# including undefined tags\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307e301006072a8648ce3d020106052b81040022236aaa00bb00cd0003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 207\n# including undefined tags\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307c301006072a8648ce3d020106052b810400222368aa02aabb03620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 208\n# truncated length of sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3081\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 209\n# truncated length of sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3066308103620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 210\n# Replacing sequence with NULL\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 0500\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 211\n# Replacing sequence with NULL\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3066050003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 212\n# changing tag value of sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 2e76301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 213\n# changing tag value of sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 2f76301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 214\n# changing tag value of sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3176301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 215\n# changing tag value of sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3276301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 216\n# changing tag value of sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = ff76301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff273", - "26a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 217\n# changing tag value of sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 30762e1006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 218\n# changing tag value of sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 30762f1006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 219\n# changing tag value of sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076311006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 220\n# changing tag value of sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076321006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 221\n# changing tag value of sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076ff1006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 222\n# dropping value of sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3000\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 223\n# dropping value of sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3066300003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 224\n# truncate sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3075301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 225\n# truncate sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 30751006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 226\n# truncate sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3075300f06072a8648ce3d020106052b81040003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 227\n# truncate sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3075300f072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 228\n# indefinite length\npr", - "ivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3080301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312510000\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 229\n# indefinite length\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3078308006072a8648ce3d020106052b81040022000003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 230\n# indefinite length with truncated delimiter\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3080301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed03125100\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 231\n# indefinite length with truncated delimiter\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3077308006072a8648ce3d020106052b810400220003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 232\n# indefinite length with additional element\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3080301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed03125105000000\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 233\n# indefinite length with additional element\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307a308006072a8648ce3d020106052b810400220500000003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 234\n# indefinite length with truncated element\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3080301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251060811220000\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 235\n# indefinite length with truncated element\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307c308006072a8648ce3d020106052b8104002206081122000003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 236\n# indefinite length with garbage\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3080301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312510000fe02beef\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 237\n# indefinite length with garbage\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307c308006072a8648ce3d020106052b810400220000fe02beef03620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 238\n# indefinite length with nonempty EOC\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3080301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312510002beef\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where th", - "e\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 239\n# indefinite length with nonempty EOC\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307a308006072a8648ce3d020106052b810400220002beef03620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 240\n# prepend empty sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 30783000301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 241\n# prepend empty sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 30783012300006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 242\n# append empty sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3078301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312513000\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 243\n# append empty sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3078301206072a8648ce3d020106052b81040022300003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 244\n# sequence of sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 30783076301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 245\n# sequence of sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 30783012301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 246\n# truncated sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3012301006072a8648ce3d020106052b81040022\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 247\n# truncated sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 306f300906072a8648ce3d020103620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 248\n# repeat element in sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3081da301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed03125103620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 249\n# repeat element in sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307d301706072a8648ce3d020106052b8104002206052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where th", - "e\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 250\n# removing oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 306d300706052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 251\n# lonely oid tag\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 306e30080606052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 252\n# lonely oid tag\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3070300a06072a8648ce3d02010603620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 253\n# appending 0's to oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3078301206092a8648ce3d0201000006052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 254\n# appending 0's to oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3078301206072a8648ce3d020106072b81040022000003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 255\n# prepending 0's to oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 30783012060900002a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 256\n# prepending 0's to oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3078301206072a8648ce3d0201060700002b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 257\n# appending unused 0's to oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3078301206072a8648ce3d0201000006052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 258\n# appending null value to oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3078301206092a8648ce3d0201050006052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 259\n# appending null value to oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3078301206072a8648ce3d020106072b81040022050003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 260\n# truncated length of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 306f3009068106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH c", - "omputation still returns the correct shared value.\n\n# tcId = 261\n# truncated length of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3071300b06072a8648ce3d0201068103620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 262\n# Replacing oid with NULL\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 306f3009050006052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 263\n# Replacing oid with NULL\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3071300b06072a8648ce3d0201050003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 264\n# changing tag value of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301004072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 265\n# changing tag value of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301005072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 266\n# changing tag value of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301007072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 267\n# changing tag value of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301008072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 268\n# changing tag value of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 30763010ff072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 269\n# changing tag value of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020104052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 270\n# changing tag value of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020105052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 271\n# changing tag value of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020107052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared valu", - "e.\n\n# tcId = 272\n# changing tag value of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020108052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 273\n# changing tag value of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d0201ff052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 274\n# dropping value of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 306f3009060006052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 275\n# dropping value of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3071300b06072a8648ce3d0201060003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 276\n# modify first byte of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307630100607288648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 277\n# modify first byte of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d02010605298104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 278\n# modify last byte of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d028106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 279\n# modify last byte of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020106052b810400a203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 280\n# truncate oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3075300f06062a8648ce3d0206052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 281\n# truncate oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3075300f06068648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 282\n# truncate oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3075300f06072a8648ce3d020106042b81040003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 283\n# truncate oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f3", - "93e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3075300f06072a8648ce3d020106048104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 284\n# wrong oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 30793013060a3262306530333032316106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 285\n# wrong oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 308181301b061236303836343830313635303330343032303106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 286\n# wrong oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307b301506072a8648ce3d0201060a3262306530333032316103620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 287\n# wrong oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 308183301d06072a8648ce3d0201061236303836343830313635303330343032303103620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 288\n# longer oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307f301906103261383634386365336430323031303106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 289\n# longer oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307d301706072a8648ce3d0201060c32623831303430303232303103620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 290\n# oid with modified node\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307d3017060e326138363438636533643032313106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 291\n# oid with modified node\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 308185301f06163261383634386365336430323838383038303830303106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 292\n# oid with modified node\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307b301506072a8648ce3d0201060a3262383130343030333203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 293\n# oid with modified node\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 308183301d06072a8648ce3d0201061232623831303430303838383038303830323203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 294\n# large integer in ", - "oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 30818f30290620326138363438636533643032383238303830383038303830383038303830303106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 295\n# large integer in oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 30818d302706072a8648ce3d0201061c3262383130343030383238303830383038303830383038303830323203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 296\n# oid with invalid node\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 308180301a0611326138363438636533643032303165303306052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 297\n# oid with invalid node\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3077301106082a808648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 298\n# oid with invalid node\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307e301806072a8648ce3d0201060d3262383130343030323265303303620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 299\n# oid with invalid node\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3077301106072a8648ce3d020106062b808104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 300\n# lonely bit string tag\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3013301006072a8648ce3d020106052b8104002203\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 301\n# appending 0's to bit string\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3078301006072a8648ce3d020106052b8104002203640004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312510000\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 302\n# prepending 0's to bit string\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3078301006072a8648ce3d020106052b81040022036400000004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 303\n# appending null value to bit string\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3078301006072a8648ce3d020106052b8104002203640004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312510500\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 304\n# truncated length of bit string\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3014301006072a8648ce3d020106052b810400220381\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 305\n# Replacing bit string with NULL\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3014301006072a8648ce3d020106052b810400220500\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe46551", - "8f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 306\n# changing tag value of bit string\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020106052b8104002201620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 307\n# changing tag value of bit string\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020106052b8104002202620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 308\n# changing tag value of bit string\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020106052b8104002204620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 309\n# changing tag value of bit string\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020106052b8104002205620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 310\n# changing tag value of bit string\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020106052b81040022ff620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 311\n# dropping value of bit string\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3014301006072a8648ce3d020106052b810400220300\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 312\n# modify first byte of bit string\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020106052b8104002203620204c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 313\n# modify last byte of bit string\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312d1\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 314\n# truncate bit string\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3075301006072a8648ce3d020106052b8104002203610004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 315\n# truncate bit string\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3075301006072a8648ce3d020106052b81040022036104c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 316\n# declaring bits as unused in a bit-string\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020106052b8104002203620104c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly chec", - "king the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 317\n# unused bits in a bit-string\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307a301006072a8648ce3d020106052b8104002203662004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed03125101020304\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 318\n# unused bits in empty bit-string\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3015301006072a8648ce3d020106052b81040022030103\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 319\n# 128 unused bits\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020106052b8104002203628004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n", +static const char *kData97[] = { + "# Imported from Wycheproof's ecdh_secp384r1_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: ECDH\n# Generator version: 0.8r12\n\n[curve = secp384r1]\n[encoding = asn]\n\n# tcId = 1\n# normal case\nprivate = 766e61425b2da9f846c09fc3564b93a6f8603b7392c785165bf20da948c49fd1fb1dee4edd64356b9f21c588b75dfd81\npublic = 3076301006072a8648ce3d020106052b8104002203620004790a6e059ef9a5940163183d4a7809135d29791643fc43a2f17ee8bf677ab84f791b64a6be15969ffa012dd9185d8796d9b954baa8a75e82df711b3b56eadff6b0f668c3b26b4b1aeb308a1fcc1c680d329a6705025f1c98a0b5e5bfcb163caa\nresult = valid\nshared = 6461defb95d996b24296f5a1832b34db05ed031114fbe7d98d098f93859866e4de1e229da71fef0c77fe49b249190135\n\n# tcId = 2\n# compressed public key\nprivate = 766e61425b2da9f846c09fc3564b93a6f8603b7392c785165bf20da948c49fd1fb1dee4edd64356b9f21c588b75dfd81\npublic = 3046301006072a8648ce3d020106052b8104002203320002790a6e059ef9a5940163183d4a7809135d29791643fc43a2f17ee8bf677ab84f791b64a6be15969ffa012dd9185d8796\nresult = acceptable\nshared = 6461defb95d996b24296f5a1832b34db05ed031114fbe7d98d098f93859866e4de1e229da71fef0c77fe49b249190135\nflags = CompressedPoint\n\n# tcId = 3\n# edge case for shared secret\nprivate = 00a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7\npublic = 3076301006072a8648ce3d020106052b8104002203620004490e96d17f4c6ceccd45def408cea33e9704a5f1b01a3de2eaaa3409fd160d78d395d6b3b003d71fd1f590fad95bf1c9d8665efc2070d059aa847125c2f707435955535c7c5df6d6c079ec806dce6b6849d337140db7ca50616f9456de1323c4\nresult = valid\nshared = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 4\n# edge case for shared secret\nprivate = 00a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7\npublic = 3076301006072a8648ce3d020106052b81040022036200040161328909675213e32098d35a6b8308a8d500cca39dcee5e804e73bdb8deaf06fe417291fd9793b231ef5fe86945444a97a01f3ae3a8310c4af49b592cb291ef70ee5bc7f5534d3c23dc9eefde2304842c7737ae937ccf9bd215c28103e9fe2\nresult = valid\nshared = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002\n\n# tcId = 5\n# edge case for shared secret\nprivate = 00a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7\npublic = 3076301006072a8648ce3d020106052b8104002203620004af4ae964e3bcbd923accda5da3175d411fd62d17dd3c3a1c410bef1730985a6265d90e950ac0fc50743b1ed771906ff33b68cf4d3d83a885a87097fdd329ce83b189f98cec5be44c31d1a3a2bba10f471963232b8ba7610fa8c72179050eb86d\nresult = valid\nshared = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003\n\n# tcId = 6\n# edge case for shared secret\nprivate = 00a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7\npublic = 3076301006072a8648ce3d020106052b81040022036200041478ab6e032b9545eda9ac2c264e57a11f08acbc76d16a0ab77b04dbdaf20f215c4183437b32afc471eaa603d14c7c5d8a4c84ee0e895bec5c37f0a1ca075e106ff6bf38801b5c697409d39675231108d33c4a5ea65aaa8c03e939c95d96c4c4\nresult = valid\nshared = 0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff00000000000000010000000000000001\n\n# tcId = 7\n# edge case for shared secret\nprivate = 00a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7\npublic = 3076301006072a8648ce3d020106052b8104002203620004f63208e34e7e90bb5fb036432467a89981444010663b8533b47bfa94bd2bc16f38aa516b930a4726e3876d3091bfb72ec783ed4da0cac06320817dc8bc64f59ccf06f48abc4386a150913fa95743a7b4601190e1c6ee8f8bf6354b254ecace45\nresult = valid\nshared = 00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff\n\n# tcId = 8\n# edge case for shared secret\nprivate = 00a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7\npublic = 3076301006072a8648ce3d020106052b8104002203620004033271ef42d92ad47b273b09ea2f45401161baa52696590d0e175ff2d1c0dfa3fea40e4266d446546c05e480d57fabec7889f16a8bcc176602f6d46561614a2f4284abe697b7cb9ce79f7e2e71b155cb1f155ce925d16391a680eda23152e6e1\nresult = valid\nshared = 0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff\n\n# tcId = 9\n# edge case for shared secret\nprivate = 00a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7\npublic = 3076301006072a8648ce3d020106052b8104002203620004737e8437e18683de2455b68945bba31daec3e754d72f0a0776d3192b2f9298bb95ca1464baa6687aabb679f804cf6ec6c2b4d47d61a60404df63b1e9ac0954b3419bbc2ad52a0409aeeb82f4703758588059165b20367dcb4b235b0caf71d727\nresult = valid\nshared = 007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0008000\n\n# tcId = 10\n# edge case for shared secret\nprivate = 00a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7\npublic = 3076301006072a8648ce3d020106052b810400220362000437f9004983156bbd9c47891e75237bb13016bd7fe6f4e0f71cef0e63f16a672f0d3b0e20165c33407e146b6a4ae6962dd3b57ccb99e7aaf1303240516d0ebe08e585513e3695d42c467dcab5340ef761990cadc8d8840aacc944481415c07feb\nresult = valid\nshared = 3b5eed80727bcbc5113b8a9e4db1c81b1dddc2d99ff56d9c3c1054348913bde296311c4bd2fa899b4d0e66aaa1b6a0dd\n\n# tcId = 11\n# edge case for shared secret\nprivate = 00a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7\npublic = 3076301006072a8648ce3d020106052b81040022036200049655d8e5622718b317cfbc09894357f75a6b13fa516bcd6630721b869a620196cf0c3dec8860b32d27ed9bac2cf263af17321698116d7d811ae8da9b9cbbf9382c1e36e2b67d6c6af9bcea7d9de00ca72b398606c098a0a0f0c4b8941943ed65\nresult = valid\nshared = 6a99a5acd4a7edb1c707d7f8be12e81140338e3e14ba563c703c681a319a3f9ce1f90f032bf840f3758e89cb852ceca6\n\n# tcId = 12\n# edge case for shared secret\nprivate = 00a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7\npublic = 3076301006072a8648ce3d020106052b8104002203620004ccb13d427b3c4bb33dd4f20cddabc68600eaf97eeb2c81e8c218ae90743e74ff38ca56f0c0224379db464dcf4a40f04350cd7a659b2c4851a5dcf8c990fc920c07d4d5aa50a2185750e6b84c42e83cff635050482decb4780f812e4c49fc7404\nresult = valid\nshared = 7c25a4f57f76ab13b25cab3c265db9d9bd925fecbf7bf93bef1308778646628decab067ed988a9755cd88e88de367104\n\n# tcId = 13\n# edge case for shared secret\nprivate = 00a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7\npublic = 3076301006072a8648ce3d020106052b81040022036200042664624307c02ef487030a632162c515f841d15ea3152d98ff2364232d7aab39343d5f703a4d5a31092aa7356c3a2f671c1cd603addfd8b5477552a3b32a18edaf3e33bec22ee2167f9da729636002a7974eaeb5ff082b2aabf8c7056b84c3ab\nresult = valid\nshared = 7fffffe000000ffffffc000001ffffff8000003ffffff0000007fffffe000000ffffffc000001ffffff8000004000002\n\n# tcId = 14\n# edge case for shared secret\nprivate = 00a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7\npublic = 3076301006072a8648ce3d020106052b8104002203620004665f1f320b6ab1c1b52d144e52d87a154c2b4489838c9119de622c2d1b52b65b0a3955e44e0d4859175360c0f63dee813f14f69972f18caed7916c94a4d20ec344591e7536a4a7a4d8c9832818c96d60b1a81fabe64ea02c5f647e361bf5b60f\nresult = valid\nshared = 800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002\n\n# tcId = 15\n# edge case for shared secret\nprivate = 00a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7\npublic = 3076301006072a8648ce3d020106052b810400220362000491357ca87dbb08e85d7b1acecfd1e086078a82d19f81474da389364a39fe2543eb934b440173c38e61a1d9407855b5d89ef0d9e920764b6d7765b084cf9541dacc43d1dabaa390b0fb856097b0c00a8556f4e3848568ab4ae790c3d346ca01b6\nresult = valid\nshared = fff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff\n\n# tcId = 16\n# edge case for shared secret\nprivate = 00a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7\npublic = 3076301006072a8648ce3d020106052b8104002203620004d5a833bae33b2d10fdff6db7c54", + "77adb614b191c70d97c6f130a14e93931cc1dc058053fee54a264a00fdd16d3166fdc42992276b79925bafcd183b03ed18235350980abfe67b814c6c11074c38f74cd4e734ad58cdb49d9fcd2181d1b8f1119\nresult = valid\nshared = fffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000004000000\n\n# tcId = 17\n# edge case for shared secret\nprivate = 00a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7\npublic = 3076301006072a8648ce3d020106052b810400220362000467547cda7fbe8f16be5a4477cbb02979f1af72fc0f39302773552fbcf4667a8e23abc0e12856ee6234deeca5f22ae0503a4df7c068e7432417260cb9fe0d68b9c7fcf7e16a2ada05687d8f8900b84723103edbff0a42b27517da2760b7d38843\nresult = valid\nshared = ffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff\n\n# tcId = 18\n# edge case for shared secret\nprivate = 00a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7\npublic = 3076301006072a8648ce3d020106052b81040022036200041363e3b99008e09bb3f085949b9b6ea26a318f496de568a96630fdb9d4c72c2814df3087a1741f32f24989b428167f93c653cb3ae8c3ecfaec57efd54bb8ce9d79c7bf6cc70fb1114f939be8f1a99bf1e42b97431124ef9fa33450faa4e76839\nresult = valid\nshared = ffffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff0000000000000100000000000001\n\n# tcId = 19\n# edge case for shared secret\nprivate = 00a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7\npublic = 3076301006072a8648ce3d020106052b8104002203620004ba2be8d7147e2417c2ec80b24b4c1aa94464ffd0aae1fa2e078b3afbc77c144489ca9d064acbb7a9cfa6196d0f467b7e65ee1ca1eb1351ff9968f553dfe2e4c59ff8ba34c22a42b3baa13a9a1adc7f13abd40f1fd25d46bc5330852b9371966a\nresult = valid\nshared = ffffffffffffffffffffffffffffffff00000000000000000000000000000000ffffffffffffffffffffffffffffffff\n\n# tcId = 20\n# edge case for shared secret\nprivate = 00a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7\npublic = 3076301006072a8648ce3d020106052b8104002203620004d69850ccbacc4736ea200ff2f8488f26247945a2ab48dd3708f494b293d8cba83417f48974881c7fb03854089bbf66cc1c773ec03cb8cd5f007ec3b03bdd05a409b352103f0decf25b41673ab8ca3d04334babee01219f15701f2bca22d40b37\nresult = valid\nshared = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffe\n\n# tcId = 21\n# y-coordinate of the public key has many trailing 0's\nprivate = 00a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7\npublic = 3076301006072a8648ce3d020106052b81040022036200046fcaf82d982d222d6096ba83e55b1c7dcb71a41e88f323333f44284d95c4bd3616da7a1bef928f31c26f885ba7adb487826fde2ed9f5649c11cf8465f8bf8ad50f68914936fc39666f68219d066506bea4001fdc816c9a90e7e2afb19bea085f\nresult = valid\nshared = 000000000000000000000000000000000000000000000000000000001f03123b00000000000000000000000000000000\n\n# tcId = 22\n# y-coordinate of the public key has many trailing 1's\nprivate = 00a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7\npublic = 3076301006072a8648ce3d020106052b81040022036200046fcaf82d982d222d6096ba83e55b1c7dcb71a41e88f323333f44284d95c4bd3616da7a1bef928f31c26f885ba7adb4877d9021d1260a9b63ee307b9a0740752af0976eb6c903c6999097de62f99af9405bffe0227e93656f181d504f6415f7a0\nresult = valid\nshared = 000000000000000000000000000000000000000000000000000000001f03123b00000000000000000000000000000000\n\n# tcId = 23\n# y-coordinate of the public key is small\nprivate = 00a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7\npublic = 3076301006072a8648ce3d020106052b8104002203620004bfeb47fb40a65878e6b642f40b8e15022ade9ecfa8cb618043063494e2bc5d2df10d36f37869b58ef12dcc35e3982835fd2e55ec41fdfe8cabbbb7bcd8163645a19e9dac59630f3fe93b208094ff87cd461b53cef53482e70e2e8ea87200cc3f\nresult = valid\nshared = 0000000000000000000000000000000000000000000000000000000036a2907c00000000000000000000000000000000\n\n# tcId = 24\n# y-coordinate of the public key is large\nprivate = 00a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7\npublic = 3076301006072a8648ce3d020106052b8104002203620004bfeb47fb40a65878e6b642f40b8e15022ade9ecfa8cb618043063494e2bc5d2df10d36f37869b58ef12dcc35e398283502d1aa13be0201735444484327e9c9ba5e616253a69cf0c016c4df7f6b007831b9e4ac300acb7d18f1d171588dff33c0\nresult = valid\nshared = 0000000000000000000000000000000000000000000000000000000036a2907c00000000000000000000000000000000\n\n# tcId = 25\n# edge cases for ephemeral key\nprivate = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97\npublic = 3076301006072a8648ce3d020106052b81040022036200040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003cf99ef04f51a5ea630ba3f9f960dd593a14c9be39fd2bd215d3b4b08aaaf86bbf927f2c46e52ab06fb742b8850e521e\nresult = valid\nshared = 6092a1757ddd43a04e185ff9472a0d18c7f7a7dc802f7e059e0c69ae16c802651719406e04de27652ff83da4a780ef2f\n\n# tcId = 26\n# edge cases for ephemeral key\nprivate = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97\npublic = 3076301006072a8648ce3d020106052b8104002203620004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002732152442fb6ee5c3e6ce1d920c059bc623563814d79042b903ce60f1d4487fccd450a86da03f3e6ed525d02017bfdb3\nresult = valid\nshared = 89c804cb81443386b185bcd9e2e6c35ee6177c3b90298985c4e81a89d520cceb17d729540e56ecc343c26bf314f2d052\n\n# tcId = 27\n# edge cases for ephemeral key\nprivate = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97\npublic = 3076301006072a8648ce3d020106052b81040022036200040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000036660041b1c7984620e8d7fd7ccdb50cc3ba816da14d41a4d8affaba8488867f0ca5a24f8d42dd7e44b530a27dc5b58da\nresult = valid\nshared = 35513157e804bd918d04de202778b81a6fc7ad8aa541ee94116a0f18466725d75e71c6942bf044b1b0ecba19db33e0de\n\n# tcId = 28\n# edge cases for ephemeral key\nprivate = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97\npublic = 3076301006072a8648ce3d020106052b81040022036200040000000000000000ffffffffffffffff0000000000000000ffffffffffffffff00000000000000010000000000000001141b9ee5310ea8170131b604484a6d677ed42576045b7143c026710ae92b277afbbea0c4458c220d561e69404dc7d888\nresult = valid\nshared = 102080c047881d19aefb01c29c82a4fb328a8ea6e6d6c914af73100507c8ee499799aaa646de0ea8c2727c0b5ed2439b\n\n# tcId = 29\n# edge cases for ephemeral key\nprivate = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97\npublic = 3076301006072a8648ce3d020106052b810400220362000400000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff70370385413d3eff6fa3407ba24f682c2b01b51445dbdf5ef7b0dd0979f17e713e09081571f1e94dfb66bf282002f39f\nresult = valid\nshared = f689f6e475b4e15162521acab4637a3cdb9cb42aa92f9114b0ee300ddae89d5eafff3463a1f5004a2a1bd4aeffa47b78\n\n# tcId = 30\n# edge cases for ephemeral key\nprivate = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97\npublic = 3076301006072a8648ce3d020106052b81040022036200040000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff112e191f1f78bbc54b6cc4f0b1e59ae8c6ff1a07f5128e41dfa2828e1b6538d4fa2ca2394c6aab3449dcb3fc4eb44c09\nresult = valid\nshared = f3486244119b3632fd55be9e6951eb5d9c8c62f6a27042f94b924155ecfd4ff8744ba3d25bcf85a7b925bd28a12b897f\n\n# tcId = 31\n# edge cases for ephemeral key\nprivate = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97\npublic = 3076301006072a8648ce3d020106052b8104002203620004007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0008000028a4c8da5a05112fe6025ef41908969de20d05d9668e5c852ef2d492172ddc2a0a622fc488164fcc1a076b872942af2\nresult = valid\nshared = 8171b7c80d4c90bb58ae54393921ab9c5c0b3196f045e9fe5c8b168f0e5f6a77e1aa34ecedc5481ce55ab34c14", + "e0f2e8\n\n# tcId = 32\n# edge cases for ephemeral key\nprivate = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97\npublic = 3076301006072a8648ce3d020106052b81040022036200043b5eed80727bcbc5113b8a9e4db1c81b1dddc2d99ff56d9c3c1054348913bde296311c4bd2fa899b4d0e66aaa1b6a0dd7b7f0f28d55e2f3a50f1f1bef3976834a05b43418e979303bc0363ed16d2d0b4011cc37b3c06ad73154faeab7915cd87\nresult = valid\nshared = 1fe6fea5f00d3005abaae2267ff18e430915838d87909ab503885edf38be7618ecb321f0a4df71b0913fbf12c76fc1f0\n\n# tcId = 33\n# edge cases for ephemeral key\nprivate = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97\npublic = 3076301006072a8648ce3d020106052b81040022036200046a99a5acd4a7edb1c707d7f8be12e81140338e3e14ba563c703c681a319a3f9ce1f90f032bf840f3758e89cb852ceca63cf99ef04f51a5ea630ba3f9f960dd593a14c9be39fd2bd215d3b4b08aaaf86bbf927f2c46e52ab06fb742b8850e521e\nresult = valid\nshared = f58adc13ff997d38383910db7befb17670393a33d95b049c2aa19d760c8e728ecedd32168476b90b26a3742dcc121b07\n\n# tcId = 34\n# edge cases for ephemeral key\nprivate = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97\npublic = 3076301006072a8648ce3d020106052b81040022036200047c25a4f57f76ab13b25cab3c265db9d9bd925fecbf7bf93bef1308778646628decab067ed988a9755cd88e88de367104562ee0c57e71d96cefe31b4c4045bd4086a38e8ab9adf2d5567be318051d70f3aa68b753f271ab032b6abcce919e2962\nresult = valid\nshared = 56299684ec5ceb09ba4d94d1231005a826c9c08a5219c757e0136cbe8b6430badd4925172f2939891da7c7893850512f\n\n# tcId = 35\n# edge cases for ephemeral key\nprivate = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97\npublic = 3076301006072a8648ce3d020106052b81040022036200047fffffe000000ffffffc000001ffffff8000003ffffff0000007fffffe000000ffffffc000001ffffff80000040000024480ab33cb4bf7cb79c024eeade3fd641e2f3003698400e8986a7343a5da59a3b26eea4b4176e53239371437d834a1a7\nresult = valid\nshared = 1911a0ee6aebe263fdcf3db073f2598cdafabec2123a2f24a28c3d9151c871f32d6dc2f31d25af9c498fd68da23e5bef\n\n# tcId = 36\n# edge cases for ephemeral key\nprivate = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97\npublic = 3076301006072a8648ce3d020106052b81040022036200048000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020797da4c0751ced16de80d16ab7c654a5dc27d092626d0865a192a1c5ea7c1b88c9fcab057946741e41cc28c80ec0b9a\nresult = valid\nshared = 15900643e2e0583976974b05f83c7a96611425f7c4a6eb51916ab958a037fd9cc172bdcfff4540a2ff3ce64e6505557e\n\n# tcId = 37\n# edge cases for ephemeral key\nprivate = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97\npublic = 3076301006072a8648ce3d020106052b8104002203620004fff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff6c70898ae6fb31fa2f086562af2d10486ba4c6fd5e41dfe4aa61598b4707a3bc276a62feb1b98557e3b17c025f7adf4e\nresult = valid\nshared = 88a544a769d5c34a051416bd509dfac911863f604c83ea844bf0e4c5c272dec86d057a88b152a9274701938c705900c3\n\n# tcId = 38\n# edge cases for ephemeral key\nprivate = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97\npublic = 3076301006072a8648ce3d020106052b8104002203620004fffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff00000040000000eb1592858b6e6e3a199c0f3e7c5f0b4a92915936efb8bc0407680eb7274be7422156ce8cfc8b505b2d902c39992380f\nresult = valid\nshared = b7db26b286e7527cb1f454782fe541862ff0f8d7eed960e22855deb7ac2a69611668c777c53bb74c2bcd40edfbf7944d\n\n# tcId = 39\n# edge cases for ephemeral key\nprivate = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97\npublic = 3076301006072a8648ce3d020106052b8104002203620004ffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff4987abae412809c2fa48fd23b1bdf9e622f5a606c44117215ffa61b18ef46e54a7fbbf11f9a6ba59c991b4ae501fedce\nresult = valid\nshared = b1e8aab1aa633d98dc6b768594e1e3edb801a9ef483f287c83e19744d2ad343ad3debdc4dc178213ad6876b52284f552\n\n# tcId = 40\n# edge cases for ephemeral key\nprivate = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97\npublic = 3076301006072a8648ce3d020106052b8104002203620004ffffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff00000000000001000000000000013691fe493d4d28bf8ee1dfec812d6c306eae0842919eda6dc525f0d49ac2d26a992251912139a2936849f9d6fa949a68\nresult = valid\nshared = b0de006f80f6f89e4eea6e46dfe305153005612d1e903171ec2886230971961b5202a9f3187bdac413ac24c836adf7a0\n\n# tcId = 41\n# edge cases for ephemeral key\nprivate = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97\npublic = 3076301006072a8648ce3d020106052b8104002203620004ffffffffffffffffffffffffffffffff00000000000000000000000000000000ffffffffffffffffffffffffffffffff615842aa06b06f78f0a66f7bea88d4b6ee59653eeaa00dc5e0a2b658f969b71af90c9b4e96bd3ca33846955bdccbd359\nresult = valid\nshared = ca8cfa42c5e374914c14d6402b1a99208e47e02ec49818913694ea0822a2cc6c310259a8f3ab7559b9974bc4c2fa337e\n\n# tcId = 42\n# edge cases for ephemeral key\nprivate = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97\npublic = 3076301006072a8648ce3d020106052b8104002203620004fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffe732152442fb6ee5c3e6ce1d920c059bc623563814d79042b903ce60f1d4487fccd450a86da03f3e6ed525d02017bfdb3\nresult = valid\nshared = edf040bace18d90bf9ce720df2a3b31d76d95b7ed9530a159ac0b24e82a871033eada40552f9e606f7115e6a78927511\n\n# tcId = 43\n# edge cases for ephemeral key\nprivate = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97\npublic = 3076301006072a8648ce3d020106052b8104002203620004000000000000000000000000000000000000000000000000000000001f03123b0000000000000000000000000000000071bd1e700c34075c3cade8ce29d33724af68a7672b265a4e157055360440ab7c461b8e9ac8024e63a8b9c17c00000000\nresult = valid\nshared = ea817dff44f1944a38444498f1b6c1a70a8b913aa326bc2acc5068805d8ddd7a5e41b8ee5b8371a1cf3f7a094258e3a6\n\n# tcId = 44\n# edge cases for ephemeral key\nprivate = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97\npublic = 3076301006072a8648ce3d020106052b8104002203620004000000000000000000000000000000000000000000000000000000001f03123b000000000000000000000000000000008e42e18ff3cbf8a3c3521731d62cc8db50975898d4d9a5b1ea8faac9fbbf5482b9e4716437fdb19c57463e84ffffffff\nresult = valid\nshared = ea817dff44f1944a38444498f1b6c1a70a8b913aa326bc2acc5068805d8ddd7a5e41b8ee5b8371a1cf3f7a094258e3a6\n\n# tcId = 45\n# edge cases for ephemeral key\nprivate = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97\npublic = 3076301006072a8648ce3d020106052b81040022036200040000000000000000000000000000000000000000000000000000000036a2907c00000000000000000000000000000000000000007f57b69a014783dbfa4967b2f9cfa678a6f0b6e9cfd41648cec5b3c498e72152da3f82d3da2e8e9f8ef37b11\nresult = valid\nshared = bfa93e184f76279fd707d53ddcb3628855cfafb111bcbd0b4df6ef77aee624924d681626a153fa4e59c923b71fc090b3\n\n# tcId = 46\n# edge cases for ephemeral key\nprivate = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97\npublic = 3076301006072a8648ce3d020106052b81040022036200040000000000000000000000000000000000000000000000000000000036a2907c00000000000000000000000000000000ffffffff80a84965feb87c2405b6984d06305987590f4916302be9b7313a4c3a6718deac25c07d2c25d17161710c84ee\nresult = valid\nshared = bfa93e184f76279fd707d53ddcb3628855cfafb111bcbd0b4df6ef77aee624924d681626a153fa4e59c923b71fc090b3\n\n# tcId = 47\n# edge case for Jacobian and projective coordinates\nprivate = 00938f3dbe37135cd8c8c04182952f6e6f9bfe7a4cff4eacf90612a48865dc43e9b5d230f761d1fc4dfb69be20e84ccc8f\npublic = 3076301006072a8648ce3d020106052b8104002203620004fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffe732152442fb6ee5c3e6ce1d920c0", + "59bc623563814d79042b903ce60f1d4487fccd450a86da03f3e6ed525d02017bfdb3\nresult = valid\nshared = c3d38450a5dfdbe64f4b5da3add4ac1315f87d11720f29beb6f3616a65ebca1d569c0fae5c5bbb6d146bf9103e645b9f\n\n# tcId = 48\n# edge case for Jacobian and projective coordinates\nprivate = 00938f3dbe37135cd8c8c04182952f6e6f9bfe7a4cff4eacf90612a48865dc43e9b5d230f761d1fc4dfb69be20e84ccc8f\npublic = 3076301006072a8648ce3d020106052b8104002203620004183c0d3650d35a33423c0d00896aa0af9f340217f42086ba51203d158a60fa91ee83b52034ee6167c6593ce67a31c38a20813d9e7eea718d46485650420366dcc1cfdb5cde93eab28308def758ba4c3ba386139d4a3a3bdad64c54192f2bde32\nresult = valid\nshared = 18150961859e3efad6267582f97417f19ed8e7e537b692b91050944a6fab8030411dd92e941357c7494af0118840a614\n\n# tcId = 49\n# edge case for Jacobian and projective coordinates\nprivate = 00938f3dbe37135cd8c8c04182952f6e6f9bfe7a4cff4eacf90612a48865dc43e9b5d230f761d1fc4dfb69be20e84ccc8f\npublic = 3076301006072a8648ce3d020106052b8104002203620004ce5ad811e7eb08024e40e30c1cb29cacdfc8f809f7f0110e6b225c6d8336f60c30a573ef1b912f5fd300b0615e9fdf1f631ba974beb9544b4a8c9945f72f3e5fc569438c4303672279fafa900e53690aff753da92f400ab62de8067da99fe37b\nresult = valid\nshared = cdfc9463af891682c51b6f4c9656551c33b80739f177612f27a4b1f37c97fd8023495b0bc15c688ab19b7f9880efc8c5\n\n# tcId = 50\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 00938f3dbe37135cd8c8c04182952f6e6f9bfe7a4cff4eacf90612a48865dc43e9b5d230f761d1fc4dfb69be20e84ccc8f\npublic = 3076301006072a8648ce3d020106052b810400220362000442faac2ae2bbad43a6e45a796f1dcc70cac444ec1570ac769d6e86207443db8c03a33ba07862fcc619cec806ce8826c2776e31dd086c1b19323b58084553bb0825d091ffb123d265afa5970cb72c2e6804ab327834299641e70ff14291975bb1\nresult = valid\nshared = bee46c5518e8e2f5c7fa23f2ab8fc43f5a7419f70373daa1a674630b161ea39c381a1eaaa90efd34aefa9ac6edb53c75\n\n# tcId = 51\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 00938f3dbe37135cd8c8c04182952f6e6f9bfe7a4cff4eacf90612a48865dc43e9b5d230f761d1fc4dfb69be20e84ccc8f\npublic = 3076301006072a8648ce3d020106052b81040022036200046ad66f673d832f8a86cfd7a66d216d23a26583235c28ecb7b598ff8dd1132bc6cf0dc46a98c864665f195a996563e57770aaaadcbf36531a318da95120d9a800226ac9fbff06f47837911c7b95f5187c43ef959a4ea3e117b847f1dd1f8cc4b2\nresult = valid\nshared = 1ef2e485531e26d69ab7c7b8c27c1b4be152728961875681042683678c7bb4ef8b59c7c1d62adb5f034bb2886ff691e9\n\n# tcId = 52\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 00938f3dbe37135cd8c8c04182952f6e6f9bfe7a4cff4eacf90612a48865dc43e9b5d230f761d1fc4dfb69be20e84ccc8f\npublic = 3076301006072a8648ce3d020106052b8104002203620004f842e8f47151949b5cb6cde4acc7a83d901173ae316ec423e1c966c8a39638ffa6def3160f7bea664982b9636f639f72702fe1d593454f73d06050655e28ecb8cfdfe13dcc7752bde38fe0070b43bda5e6b7203b45077471825df1b816a428c9\nresult = valid\nshared = a8573b49006362d9b7363c502969b2233b2fc5730cf575d414c50a45f0a5b4d518bd450288c89e81d5171efadbce59c5\n\n# tcId = 53\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 00938f3dbe37135cd8c8c04182952f6e6f9bfe7a4cff4eacf90612a48865dc43e9b5d230f761d1fc4dfb69be20e84ccc8f\npublic = 3076301006072a8648ce3d020106052b810400220362000464e68d8a8e6d44142fd0b3353275df4be95b0ff9465d114a18ff238fa4d3947ff4e3fc66970d85731d784b0a17157887cb961cf636c0e8d4b5f8db0060c2b699ed750e92a05ac4da49780b8a48729c6c2b866c75754afb2c7c2d661ecf640cc2\nresult = valid\nshared = 33f9aa308445cdc2d159cd39c33b495382ff8b9e21b6d1b160577a4b3c5daf00b8dad3c83852f18f27a4402ce94421ee\n\n# tcId = 54\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 00938f3dbe37135cd8c8c04182952f6e6f9bfe7a4cff4eacf90612a48865dc43e9b5d230f761d1fc4dfb69be20e84ccc8f\npublic = 3076301006072a8648ce3d020106052b8104002203620004237e5a05a3b9dd16f27d1cc04d16f19ec3d27881b90c2049fd2665cec7eaae1cacded4e0f8abba5a64d4183a71449d9b741073dc2594d02ac9a88988e51d7bee22111962f63748efdc8c311f631ae8680c8996028da4e956ac1284d0c01614f5\nresult = valid\nshared = ddf7fea52b92e1544fb1c7ce2274409bca1704f44bc0ae1a6a8b388eaf316c90bce99b0c203f7556e5baaa26c6b7ad6d\n\n# tcId = 55\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 00938f3dbe37135cd8c8c04182952f6e6f9bfe7a4cff4eacf90612a48865dc43e9b5d230f761d1fc4dfb69be20e84ccc8f\npublic = 3076301006072a8648ce3d020106052b8104002203620004810face99512bec259d575229d9586791bdfb1b221d23c1738e4f9af0498f54b18cc0cbb01b64cf3411ec4b68480db6d6c06e6209188f354323b4db6f54f2b1dfc5c1c3dd4fef0cb379a7d7ea085acdac9e60e04f8db488be97f81ded66ea33e\nresult = valid\nshared = d2287ccb642a76e001124dba6c6ce19e82536690abf542104cbd45c8708e462d8ce06e05ad2a0fea4d68492fcf376afe\n\n# tcId = 56\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 00938f3dbe37135cd8c8c04182952f6e6f9bfe7a4cff4eacf90612a48865dc43e9b5d230f761d1fc4dfb69be20e84ccc8f\npublic = 3076301006072a8648ce3d020106052b8104002203620004f0b00271a2bdde4bddbdac00406adf056d32b9b03f4bd29cc66093df22e5da09fe48cabfc8d44bf136b5be275c7f53f66ccdd0d00354a307fea0091070b61fa9e2da1e2f329fad68013449ecf477fe33458039bac911104da62c29c08192a315\nresult = valid\nshared = 36151b0d1c1b28ac062e0829f41bd55044dae6f1daf30ab3ff4148a83ccbccf507bef7340c9544f047f554c71272ae24\n\n# tcId = 57\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 00938f3dbe37135cd8c8c04182952f6e6f9bfe7a4cff4eacf90612a48865dc43e9b5d230f761d1fc4dfb69be20e84ccc8f\npublic = 3076301006072a8648ce3d020106052b8104002203620004f82cbbaf1c9b6063a1b505580766b1446b6b5a990151703e7afd8a3175387fae567081019e0fdba7964ed6c0e4d0e45ecf379bc1eda30ce4fa560106b3d09bf38e9fcbec3eadc9e12c5622c01130c870c6136498f52bf62f3987defd294df33c\nresult = valid\nshared = 2451fd979864169462a77d742adb6f4505f2db956d2d2dea5b05e40f40f2654fc17d1cd1d3b353322bf0d1f3cf828c49\n\n# tcId = 58\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 00938f3dbe37135cd8c8c04182952f6e6f9bfe7a4cff4eacf90612a48865dc43e9b5d230f761d1fc4dfb69be20e84ccc8f\npublic = 3076301006072a8648ce3d020106052b8104002203620004ccec117025eece29e0ed077d98678738fd1a5cca20e40bb322a40566831243dac806555b8508f4eaa68beb4e78ed917686415f11232c5ecb9f805b0dcc6ce06b57fdf4e4ae4e6d822472d6725a9c1da41c2fee1519586c502bbb1a4ce2582863\nresult = valid\nshared = 0b3c06fb8c7c31a96fa6dc80250143e39af9e5c201fdbe92245771e345cf787f99234ecc1d6870599ad50a1cadf687e9\n\n# tcId = 59\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 00938f3dbe37135cd8c8c04182952f6e6f9bfe7a4cff4eacf90612a48865dc43e9b5d230f761d1fc4dfb69be20e84ccc8f\npublic = 3076301006072a8648ce3d020106052b81040022036200041e829bdbd8a2c1321d04932aacd42972f5b2ac5b6a61b041216ca9481bb0da8abf6d5c1b63e868479f88d91345cb9153fca2c5698fd5b404c9bc125bdc3c608fe385367ee2b68408e959b83ec8bc3ec1e05a6fb984fedb256574885f5dd98940\nresult = valid\nshared = 5388905aee7f826b9a5b46faeffe26d49f8566c7a8e8af5a1653fcfbff7c0dfde566f043401248486ff91c390f5cc6ed\n\n# tcId = 60\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 00938f3dbe37135cd8c8c04182952f6e6f9bfe7a4cff4eacf90612a48865dc43e9b5d230f761d1fc4dfb69be20e84ccc8f\npublic = 3076301006072a8648ce3d020106052b81040022036200044dd1e1b454814f3be1c62eb87c120772c2062a3d7e5461d5554b3963a9fb1190db965695caf555a45ae25be73e47c3745baa93fe2bfb094fe718c8c9bd8e1e6e86cd629dca0bb91ee934e93469d4fff32a41dfd78c27ba534a3d5970c388effb\nresult = valid\nshared = b920299ba26075d2647ccb978d15a54ef48330db3a8794d868ae02bf152b3c24ffa966893ea9eb5d3cce83e0239be02c\n\n# tcId = 61\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 00938f3dbe37135cd8c8c04182952f6e6f9bfe7a4cff4eacf90612a48865dc43e9b5d230f761d1fc4dfb69be20e84ccc8f\npublic = 3076301006072a8648ce3d020106052b81040022036200049471abf4fd1b89d14df2325cb0a6bc92e73c8ec8e06c47b0978d93e9225adf089d3ee4e25c222b60d02199c1b58004c1d1b35bc1475cfcf3e3a6116593e2ca5a70344127ad907a4aa1d0c66139f287a7fe48cea5844a20df5a688b89211f19c3\nresult = valid\nshared = 705421b36618115fccb7ce6db8575fc4b3f0a2780ce02a3487e4055dd0d51", + "834006270e992e0afaa4c7ce0f699f7fea2\n\n# tcId = 62\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 00938f3dbe37135cd8c8c04182952f6e6f9bfe7a4cff4eacf90612a48865dc43e9b5d230f761d1fc4dfb69be20e84ccc8f\npublic = 3076301006072a8648ce3d020106052b810400220362000497046c4438b040315be39ee3869f3e8711c3196758476f2b4d90cd4399665c8c5c87f9cf64289c2bb01166742e1ae036b281922e8872b48b7d3e1384ab4d0a92c602ace7df3a93a47dc50c8c2e5e8a875d2d927f7201ce11fd8df812baa1e4f8\nresult = valid\nshared = 3c510006f8658f3fa414fef9723d634a179db7aaf0b7068b7696cff93f88e04136dfdac68349781bf05a787ae19e9021\n\n# tcId = 63\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 00938f3dbe37135cd8c8c04182952f6e6f9bfe7a4cff4eacf90612a48865dc43e9b5d230f761d1fc4dfb69be20e84ccc8f\npublic = 3076301006072a8648ce3d020106052b81040022036200048e3dae500fe2c645aab15379170682503154af1fd0a21ffd2e34f0501c518507e0ebf45d7cb8653fd57bf1f894f2a552cb69af7e009d43bd6e688bf28f5e2815f3c9f4fab1d829d29f05312bad99d75c2518d2a301a74d5ecee1333582d79c14\nresult = valid\nshared = 248967afa36386cfeaa2214847c7c8c32a891a2438b83665f99e5fe7ab6dd86353ff7a8b15d4be4e1277c721d69cbba7\n\n# tcId = 64\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 00938f3dbe37135cd8c8c04182952f6e6f9bfe7a4cff4eacf90612a48865dc43e9b5d230f761d1fc4dfb69be20e84ccc8f\npublic = 3076301006072a8648ce3d020106052b81040022036200041fca8f9695650a02d6fb8049b1531a3783e449df75a98d45999fb9857c3e756219d48b2c84d5143f08c2ab097b365a3345aa197e10c659d9c53fa754f112d77973107ee35c3aee3b0b1322b362fa08497c097c1881934e36cebd5e18e9240cb6\nresult = valid\nshared = a454ff4d944587a188e7ebaccd97649ab0cf83f8f8d19b3653a2e621206d3992868b5a5765d1fa762f0e3b0161a6809b\n\n# tcId = 65\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 00938f3dbe37135cd8c8c04182952f6e6f9bfe7a4cff4eacf90612a48865dc43e9b5d230f761d1fc4dfb69be20e84ccc8f\npublic = 3076301006072a8648ce3d020106052b8104002203620004731ba784e2ed21f4a4a2b4dd4877aec2fcd59031f80193b9558bbc1cf7fe6704469443fc7f398e8bec4086f88aa76aa26c389acfd51f69c89a153bfadb5d703a36cb12a4d85f5517cf462bf5d02abf7d19722f480eaf1a2617cba1941e1c76b6\nresult = valid\nshared = 99780ed215dc417f798c24327c3caf22f3685e5cf2ab835fc54b428117b7d17f0feb63f1755468157f3237b8117dffa6\n\n# tcId = 66\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 00938f3dbe37135cd8c8c04182952f6e6f9bfe7a4cff4eacf90612a48865dc43e9b5d230f761d1fc4dfb69be20e84ccc8f\npublic = 3076301006072a8648ce3d020106052b81040022036200048725cb754b5527a3b053d63e0c4b097e4c34c5d731ab5cd4728650a618b4ded4bf9214d793ad74cfc470e35c5493a4b420a3c50049a42791721bc50d5f608cb272b60a5545db0608855bac8fbfa93990d6b80e3041773e10937d837010cae640\nresult = valid\nshared = d738b7373fe978f27b194f69edd5c421b98922f5e313b76859a9357a1faf42ed0e06dc13d55843357538ce7f4127cee1\n\n# tcId = 67\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 00938f3dbe37135cd8c8c04182952f6e6f9bfe7a4cff4eacf90612a48865dc43e9b5d230f761d1fc4dfb69be20e84ccc8f\npublic = 3076301006072a8648ce3d020106052b81040022036200049c7a594eaf2ddf3c8ab6c6e94f1ec011dac9fa42bd27df2fbe402ac949d3a2c676b684a24c99f7d1b7e89e9f8a0634eb3b83095c7a1cd6aa9332460ecbf257f7afa449608b9e0ddd15292b875ad2fd069dc927ce00a4b5e679338023bd3a4e6c\nresult = valid\nshared = d9cc861db305b04a273d6b55348ef9f0a0a2aedf8b3d041a19e263ed6ae2e01e439a46823098f2aaa4867d4f08891e36\n\n# tcId = 68\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 00938f3dbe37135cd8c8c04182952f6e6f9bfe7a4cff4eacf90612a48865dc43e9b5d230f761d1fc4dfb69be20e84ccc8f\npublic = 3076301006072a8648ce3d020106052b810400220362000421b1aa359d72ff33a84ec9621483e65881d4fa8ce6df3669e0abbb9f6bf8d0ee3d9862a7dfb45213e39ffac7b3e1ed871f5e59cda5a5b861ab3eb86caa7c6e85933676efe660dff8ac5625ec8a7630a9cba9eb3fc149d3ef379d4a5ec174d237\nresult = valid\nshared = c59281d09f44f679294aee5668eb538d503ef25aac591614b46f525d8c0b109ab129674963500ad7b6268941a28c0067\n\n# tcId = 69\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 00938f3dbe37135cd8c8c04182952f6e6f9bfe7a4cff4eacf90612a48865dc43e9b5d230f761d1fc4dfb69be20e84ccc8f\npublic = 3076301006072a8648ce3d020106052b8104002203620004e1ad2b68fa69456574de95b1e048b0715009409ef5cc270be51fdd40b4f65b1ade67938a6a6d725b01310f2253a38cf444f726b3eb5c5ddc257d6d9bda9bfa60bec6a07fe07dae967511314370d3a4e041c34f1cb49fe6b70663f020488e98a8\nresult = valid\nshared = 9eb70f8949861c30f2456990abe4d345550008b8531901521361aaa17296dbca06fb3c87e8f4592b7dc5d1997c58c076\n\n# tcId = 70\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 00938f3dbe37135cd8c8c04182952f6e6f9bfe7a4cff4eacf90612a48865dc43e9b5d230f761d1fc4dfb69be20e84ccc8f\npublic = 3076301006072a8648ce3d020106052b81040022036200040bad67ea0cca960ed3ea0588d5eeef366c24342ab3e46602891d1adb4d85d80dd242962c5654bd6af5913aeaefab27ad9a07b4197180c9869af795f696fdf6f25cdc66469f4ca7ca89c5c904636d85f6b9a19e7bcf0540831ca7aa40446dd8e1\nresult = valid\nshared = 45b02fd4dd76496701be3b37e632056cf7f63e9808f627fa858eecc5bac16a01a949741b4de151fe35e774c6d1e389e2\n\n# tcId = 71\n# edge case for Jacobian and projective coordinates in precomputation or right\n# to left addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b81040022036200042c4069bc8078236eb23a8c4d575bde9b537b13b79989688c40d89d898a8c29bd7ac61745797b7ee55aca60ea7d6c2a8430fcfbed18a2504661e0253c43e47be01940e81fcb2d65a5e501111978059949c5d25b0b60de7821476b88a8342a0bdf\nresult = valid\nshared = 6ce9bffb8901baa801d1b19e92b5e5f47f5bee10c15fe44b8209977572cc8bd7902ccfc0d7ae98f6b58bb87f316a5792\n\n# tcId = 72\n# edge case for Jacobian and projective coordinates in precomputation or right\n# to left addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b810400220362000444bc1cb2d42ff974e72bc883dff784e86978501f918eef4d96d6e5242da6f5651a29cf5205c3dc3be33332fa2defc34788f88f549ed78732063020dd3fcb872515b25e088700e3eacb925de767e9edf6e89f089c4f9e0f4d8846980393667f6d\nresult = valid\nshared = c6dd2d372d5a5173ac63f6d5ab5dec972e8ae44d566c7f826beb7f2693e200c470ddedb1c9929c11ed86d135f44c979f\n\n# tcId = 73\n# edge case for Jacobian and projective coordinates in precomputation or right\n# to left addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b8104002203620004b824eb72c43edb5b3ce9af94ebbd33b446b4a7233b89affe1cfa3beb53cd199fb119a356772bfec178c03b077df12f53f99851fbeb9971ffcf29ad61ba484bd0580036dcaa59f407bc88a471cd862b80a163c91a6f64602b6f713959b2f6c2fd\nresult = valid\nshared = 0299b7fc3e5506926fea66d20f65b9791fb6c88c7179f7d4701d68c13427ab56ac0f9e1da96c1d5f3d1a65ff3122c153\n\n# tcId = 74\n# edge case for Jacobian and projective coordinates in precomputation or right\n# to left addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b81040022036200049270b8cefb61a5d52fbb5e6b3b62361f3afa5d1a6b01419db9266e2dbabab36aea5b1961318eaf8f0bd7cca75ff2df5b7e538c63012a73f777b25e1737d44fdbc299a76288d7bcb57c8484c71c9bb6453245f239b6c6df32898424383b4c0309\nresult = valid\nshared = 13d78b7a4daf8ddd62e347ba235c36486fb2eb4a75a3e17a137ec6c2de37abaf45da92d1cf1b2966ded8d5381fd2319f\n\n# tcId = 75\n# edge case for Jacobian and projective coordinates in precomputation or right\n# to left addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b810400220362000419e5c28657479eb41d3718f63e0678be0daa58502a5406d65913567df7b86ab25e905ec846789530d81d8d1fc2a8cade4aaf131a0ccfc79a24bc889c953249ee85b49e2a1bfa52167fe20de296e6497ef9014c2cd0a02afbad1f9d00ac3d924d\nresult = valid\nshared = 7b0863fc6d72c4bd058576cff7a4aedf86482d3d9bc9c5fc55bd8fac8", + "4107dd0bf9f27d7e8d624edb0aa6ef1b9cc2246\n\n# tcId = 76\n# edge case for Jacobian and projective coordinates in precomputation or right\n# to left addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b810400220362000459666df447dabc386d8dddae93543dc76151f7c1c04858660d9ca8e0655b51a72feffb7085bacbde153fea75b5716ab5c3c7811d0c7435be9e36db00cd29c6ca879ef991adb157a6b4bf56e3de5cb34598b79a684cc3d4e23f22d10063e8d19c\nresult = valid\nshared = fba2bdfb54e468a4ff5afbaa54c7037400d76414c98eafaa419adab0df50c9692aac67d44a9efbd00d4f9cfc206d537b\n\n# tcId = 77\n# edge case for Jacobian and projective coordinates in right to left addition\n# chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b81040022036200043bafce9b32616f3bde17fc989f1e556f92faf5c30e2cddebc2aba44edf36ae3957c9c610a34521e6ac454652aa597811827b4ff45f991f9405f2d8cf45d5d0876a260ef0deb6e86090c5b45f5b7b1786105324f40a0d2b43ded57868b38b43ef\nresult = valid\nshared = ba9b68d1c00aa1246edafb70db6ddaed8570c465d9a5836d4156a1ac7fda2a209c25471a0df6d7de93f980c89c841620\n\n# tcId = 78\n# edge case for Jacobian and projective coordinates in right to left addition\n# chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b810400220362000453385b9303d2c5d1ea83e7700b3e811a7c905d1775c379a44e9e5c96821559700b492ee2868c5a01950aa4e2b05932ee8fa1bd83035aabbabc2be7b61f388f78b8046d36bee99b5489bafb3a86dede29c14d5373ed9bac72a92ab8e7c31fb86a\nresult = valid\nshared = 33c6c7e2c805889caae5679aa024dd79f54456f798eff0a0ddcc1b28d8ad302d2f67092275ff55f8f4d99357ac86ce58\n\n# tcId = 79\n# edge case for Jacobian and projective coordinates in right to left addition\n# chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b81040022036200049ebf8d313da3e5ba237ee33e6dd5be770390f837c9528fbdd440a9eb2ba1cffb27837d865cbe1b32ff9c7995d5dd511caa4125ec258d182ee7f7173ca1d17139ae13e6072acd970ba56f6d5034e9f45da36b2ec774349be2168f32bbf04f9a31\nresult = valid\nshared = 0deeb01decaae0eee55e2c29501cdd9cf7d4db2f1679fb72efcaa5db6e05cc4a658480245c59fec9984c613501411b0a\n\n# tcId = 80\n# edge case for Jacobian and projective coordinates in right to left addition\n# chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b8104002203620004d4cd22e8dfa620ca7d68e290451b09285298a1db5a7ca00ea830d6e9ec9cc4d03f5cd43fb2a9aaaa142fe4c6e2269cdc747e0ca07e38f4c5b412e52cb7930c381100d2aafe54b619ebf72e81a46e1149635d25a37fa66e2d1bc9ac25fc1a83f3\nresult = valid\nshared = d360753c568698d7f7b261dd2f5064ffc8aa9f03343a2291b967632646d51570562f1ae87775648e74f9f30e966e7380\n\n# tcId = 81\n# edge case for Jacobian and projective coordinates in right to left addition\n# chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b810400220362000421b91b9c374ecf5cedc6d73422c6539b22ae5db61bfdb06b9c89e68112f6433e9d49715f474534fb9cd6c2cbfcdef94fb5d4fe306d59025af4e88f8cb3ddc3d64f707e6820b41cdfc055cd6762da23de01c1b311f1a5bf7010c4ff4ed0a7e84c\nresult = valid\nshared = 596af71209cdd23c386bb861edbd171ea9bc6a858993110c9333a956b3a03fc0f55393ca46bb15bcf9f12b496459c4e6\n\n# tcId = 82\n# point with coordinate x = 0\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b81040022036200040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003cf99ef04f51a5ea630ba3f9f960dd593a14c9be39fd2bd215d3b4b08aaaf86bbf927f2c46e52ab06fb742b8850e521e\nresult = valid\nshared = 96876e9ed89edf3e3dfd8ead06dcba0acdce7763eb98aded82976fa36181c79ac4e833df385af5ee860ca1f20df4cb72\n\n# tcId = 83\n# point with coordinate x = 0\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b8104002203620004dd607e954556c62e39b432d1f1b2fe6652d75a1fe33cd15c799ffac9d13d5d521899d25940da653d0824ad8456ddfb629f4142e08a3bd1d87bf6119a9ef4b0a80dc712a4d6c001bcb2794c4d1a03b1f1d392dc088c89ef844f93adb139d956b8\nresult = valid\nshared = 60d597a99c86a432e144bc2b0e0a89b91c4a72f3e1ff8e56e7f07d53b2e563e979c09e27b34be98bb19865e808d4290e\n\n# tcId = 84\n# point with coordinate x = 0\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b8104002203620004826d71ae4f7b3ecbb2a9bdf59512949542d0116f616440a550168f4b58812fd6c1ab94f310385fdf246db5efc0fd13995de099bdfcea355ee63827cf2a2e2d868f5cf0b487e41245df54fdc735eed6eb726cfc928bd5b4d01719d1644967ed1f\nresult = valid\nshared = 85961906edaa9adfa9c9b8279da66158f57fb350ff9b15dc4d75b8cab64b9d34f5ce912f1aa512a54c71821c6e31ff8f\n\n# tcId = 85\n# point with coordinate x = 0 in left to right addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b8104002203620004fa8919e4524e7040489cc17aa3d620f88276ef248d1ecd1e9a6637c7a06765f6f1d593b1febe331b9f696e82c5be61a4a074a912309662f44ce0825bf134582116cac3310577d5a00722ba513e6334cc17101091223346db67063cf6e7bffbff\nresult = valid\nshared = 43484dcf01492eab684d39881908da7f40119fe7183bba625c32fdc14da3c4236dc3397234e7db41857495cd0d09491b\n\n# tcId = 86\n# point with coordinate x = 0 in left to right addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b8104002203620004aecb8f15ab87579a03f5b8fcf33aa094337e4c362359c9f2727634909c6913c321be69f3f8aed693a31059989997fb32d4f4a37ff236d8f6237186a3a721a82a2ba22f8a628d7273ef3173e21ecc69969a47e669383ecf0cf5396eb02f46c3ed\nresult = valid\nshared = 65e6133929c8b061c25fe0bec9142c93d52c9f1695061b105f6c7da1347a967b5a3f1183565645f7b8fad8863f9a6345\n\n# tcId = 87\n# point with coordinate x = 0 in left to right addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b810400220362000440dc66d81c4e15e1a4c009c60c3441725fff08b2543773b0dde00db231f44badd77a8bc9619479bd5288e40da153b8ddc3d530262b169a6fa700ee32a5cd057baf43d29627f342fda8f6f0fb21b1fa35be96a452ab4881f417c9a4e4136b1e6d\nresult = valid\nshared = 0773673dae337a1688c2c31d1a600c0ed72604a171c665b5307ebaf740fd518e4a7c5c91e4f86f65905640ee37f4f830\n\n# tcId = 88\n# point with coordinate x = 0 in left to right addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b810400220362000453b5874738275a2e1d734e51f83636f89179c16fe89f46f4d8e71f521c594769d31725f6404122f21112943a1a22ff07586b41bb24bf303ae8545b25f7b98425ea62c4d3bf51d23d9d85e07719b828777efa0a28fb30f33b899980de3c532611\nresult = valid\nshared = ea25b07a161f318a81a693f6604810b8142843c4fd26658d9b64fedb58a5eba58c217c4176569cf33fa47ac9f2b3d7f5\n\n# tcId = 89\n# point with coordinate x = 0 in left to right addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b81040022036200042988addf62149e6ac08219d2f036d3f5720aa862905cf3fe7bdf136dc08b845e8a61be43db86d71a26dc17bf55374a9d53ac99c5d07de10ce74ed3b1c413686ebba700f49260b08357f95daf5b31a555345c076079f25d8690fc1ac20c71528d\nresult = valid\nshared = a8d424068fb7846b0d43a5cc13029d054b11c97e508ee0f92e73d35ac8351a462eedfc9da9dd1279f12812ba46c06053\n\n# tcId = 90\n# point with coordinate x = 0 in left to right addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b8104002203620004494b59de1b69534b4b62d75810ee3dad05a19afa41c7836db5ca78630208a800388d04034ba", + "f2923ad5af6ac72ee05f989df6d08f9a6400858d084fe770c0ddde298966cdc56a921a43184384d5a13f31c1eb4e834e23bed3069c10dfed6b63c\nresult = valid\nshared = 296f5d6fe4ddd8c3c7304beadd45f6cd3e3fcd4230c9d2ba1a13bd9b9498a3c8d1ef0ab6ee2a450b0c68e89a83711fa2\n\n# tcId = 91\n# point with coordinate x = 0 in left to right addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b8104002203620004b64c49ddf18bce79cff3b8cb7b0e58d48421eb6739f59d271fc4f54dd2fcb1cf56dd3b3c69173a5eab50ab1a2e0616d05d92b864cbc9e4a3f75650eff39e0eacbf87c4c010088f3338842cd97832724f79bb15986bd3fa85255816350473bbd3\nresult = valid\nshared = db1edbbb1f3ac6df9f46128812bce7818b5d745c75322a9abe89983be868aa1aac555f4d60ec272730bb4ad949a53d38\n\n# tcId = 92\n# point with coordinate x = 0 in left to right addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b8104002203620004a40b1ca1a51a8ee6bef5b58aaabcffe2e15f74a3087edb2620885d7d933e4f50d625eaad93b87b8dff58f0565792b174ab89717ffe87cd29ffbf3cd7d938b1173747bfc0311b78723684d7c9a1c2be3b597bf9236eed090028eda2146c477e65\nresult = valid\nshared = 1f84c641ade162a274ab2efc7cf6582f5a5d91ce7993af6956d55eea0e1b7fbf040da9750486b0fbb2bd70d9ccabb785\n\n# tcId = 93\n# point with coordinate x = 0 in left to right addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b81040022036200044e7a82ad74a1b7851995f6e1a18141bb4584ac22e839d4d916018b150fed9cd0cce427bd446798522744d395e90ee4b63445c1a6a4cd467c20cdb298854f1e270afbea053b7784976b504d0e1339c5c86007cec363839958a1fa51e9483de561\nresult = valid\nshared = 54efb9bb7269d86b06282b1d7dc28a940cd7789ca4e104c4bb7c5e5736676c3e5370cfd97849e1200a031b668388d8d0\n\n# tcId = 94\n# point with coordinate x = 0 in left to right addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b81040022036200049b54678f8581ce665108abeb0c09cb7985bb5dd858bbb71c88e05344de5b45b4e67f33ab58d359dca2da8df1149dd1bbd09ba7f63a8d35848b40746ed5fec7944ed44fd9a9a2fc3d13ebc5c05ff94d5f500ee15072d1b4c1375fd6ec4f32125c\nresult = valid\nshared = 1e96c829cc8a79d73fa6434bc159dc432c2ace3b49ad2e74380e7b02feb53b3393446a0331b974f2bf219ae95d2b23e7\n\n# tcId = 95\n# point with coordinate x = 0 in left to right addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b810400220362000486cb7a3ff3aedb2f39ae22f2e828ec0817d94b831ae654dd66aff31a4d84b33fab46fec1abe1a9e6bbfac5c99565fd3bb2f72d565d2ff5c5c24f375448dd7bb442dfdcb61e073e48402707bbcc26ad43d4788a9f44715f1b8e5b62bf49ceca65\nresult = valid\nshared = 84e7af176ddba3ec3ce7b7fc43df1ed59b4e3228fa3f6fb41a01f413b0a6c7404e43f7747118ba264b7b026d714e90d0\n\n# tcId = 96\n# point with coordinate x = 0 in left to right addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b8104002203620004ccf5a5b80deba6318b85f57a0d563e95765c7fe30df5ac88837f35329dd51070e29896f4d96ef40bcccf36244df835614e8785f8065f81c5e9270fd559b6a380b483874d298d0d382eee1edb6a59d9c163296ab7a068186b0d23f33737dd0eed\nresult = valid\nshared = 82864ef4d5fd25204ae1591c619f3ed813c762baa009ba3b49ac38c57b2f46652f719adceabfbcaf985b29958d1f420c\n\n# tcId = 97\n# point with coordinate x = 0 in left to right addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b8104002203620004c7f77ad286c68b88ffa64fefe4aaab3dee1f9bae37b7d069bb92bea82089e831a70dd9ed007ba6dce14f9c6d5e744eccb319ad6ec134376cb059a1c86984ea8bd154d826ed3dbae8d8d8e06aa0cbe0127ddfc32621bbc1f731f9d90e687a7cf5\nresult = valid\nshared = 1d0d3ed8c1e0d28f5e3766f193da7bdca1cc08376293f9bbde7bde0e9b1ebcf4cfa3c683dc63bcb42b2d9ede54242bc2\n\n# tcId = 98\n# point with coordinate x = 0 in left to right addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b8104002203620004aac3b4d280fc70a9fe175e1882a69eaca2482a0c9ded9200444028ca3dbf501fc361f7658bffec321ad577b48c9786b07f596bd868d51e73f0f7c25db956b12171cfab11abd4abb00a59ac432c0b0f058f4cca44fb581bc5803e472a05305f33\nresult = valid\nshared = bf19548bb1d7333f46cff4d9d2a81dbb48ca82a52faec2b20c3b27bde392a66b8e44780c2098a7b5253157b014b40e51\n\n# tcId = 99\n# point with coordinate x = 0 in left to right addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b8104002203620004747efb595d03dc05dd50c17155e1018ca14715054592906e671a2e2204acae552b6f5d345d3fcf9b4171892afb3e5587d8e709b083a8b5363663492f8a2a9af64c3ad01c64d8fa4764d61f43e6901a2445ce94b586f6090ae0687af0090fcd47\nresult = valid\nshared = 32d569310f61af475b6c6d075599625a3381b0a5b6a0b8c27c7165d00e2fd4dc8b2cf8e3b33e28ad4005525384227fb4\n\n# tcId = 100\n# point with coordinate x = 0 in left to right addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b8104002203620004ab14764bf24f8313b1c49c4bd6e367231275b303c601c66f7e8b3105c6b02a90b60f38745d755ce4dd40681ed15a1ac93e14cf2fa708300a2b279f2c37fbc0da7175c92c1114c57ef251467f6f3de79fbc38cb1e3db70e4d95225fbd8ad96889\nresult = valid\nshared = 266b261b6dd9eb51770f6c4c11b87134abff1629b65171107a9b20e0c7d168e1efc3cbc402464f36aeb3c027b9198e10\n\n# tcId = 101\n# point with coordinate x = 0 in left to right addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b81040022036200041e1fe9730fcd5b87b065fa90a69534036be45758513443f79c6427dbc31fc403e894043fb9c7f9f58c0a3670b1c0d80359db8f6a48970ccb9918cef04f352a4d91a204502119b2b7efc6c671a6ba4537e82c196e6d42685c5a6f559e4e8af704\nresult = valid\nshared = fa9f208dcedee597f51122e6274b86710e36561f2361e76186fcb73d1d7f2928426d98c3f69e4cf48d3001d64970425e\n\n# tcId = 102\n# point with coordinate x = 0 in left to right addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b810400220362000483fcea208c79227cbd97319a86597f85cbfc19ef60c5ba7a92fc521c685e208cec7735be9be27c737d3f9d2faa1c3f4695a32184d58fc9001402436ce00b52b8885bb1150f61e660eceba10768d0f41d5e4e7c21d4fd909aceaf61a7455dd0c6\nresult = valid\nshared = 9a1ddf3d9feb190a26f20ed925ffbd35df1017c4a4c9485d344cb8f81c7f452b2ff3aec44baf34e50886f183480b6325\n\n# tcId = 103\n# point with coordinate x = 0 in left to right addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b81040022036200042bf26936c9164ba1072544c410757630b97d4e853fdb7844f1811507d04a687d951fa65a34364e894cf8b0815db95f5e10664627bf6f72330a2d6f212361a233155abb79da54343b8572e30eace8c8f5480200e751c2102078528812c83f3cf4\nresult = valid\nshared = 47e4608e9bccf6a3296e41fe34eb7181a1b5ec306a93aabd5fb38e75e3d75e8e2ee4c1c44a7d08660681b9fa66642910\n\n# tcId = 104\n# point with coordinate x = 0 in left to right addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b8104002203620004bb583da5de4c352e8a4fad31e9f71297bc963134ec182e96379c6b28a11d25fa4b77a4a0f947085db33b0ea77b9da09be1a0bd1300383ebd60b5aa6eeb20f03d56dd14df46157465146278536ebc28c5471a94f095554c4c085ac9dceb1da55f\nresult = valid\nshared = 8393a2689b376a228f3233ac61578be1aa2de1dbfbb28b03ad24f11ad9d77f8543e0977aea9a761d84e115b61507ae59\n\n# tcId = 105\n# point with coordinate x = 0 in left to right addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691", + "376187\npublic = 3076301006072a8648ce3d020106052b8104002203620004e37791595b54e9b17cc30726d2425eeacc9672f5fbc91fc108cf8c84fff9b66ea65483841b7618694815e1a415186ba727af3ae6c658eb8c485d6ad8e49c1eade751457562d6003de75cd1f1e13ec15ea1d0413602ed7f6a6b7b84efd8a3056e\nresult = valid\nshared = 209417da721b49d64dfa09983a8683520e5e300a52b2e8f1677772ee3c086b339a1da25cab2be6e44de4526c31f4ebbc\n\n# tcId = 106\n# point with coordinate x = 0 in precomputation or right to left addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b81040022036200047f12cb987b08c235523465146b42258584398062a107429ce486b4b2f26a9628293ae4d30aa61c64bf92f97e6c08aea8d6621cfce5270cd7fa69dcb038ed8ba428afd77d528c230f8e5c9b83ef659c7e573f6671a18d8b8c4ceb20f2d760858e\nresult = valid\nshared = e7eac460eada6eb99988cc39f6129a74d9510d2ec39601adae76b2b8fd6122407b79411f8e7adfbc4f0dc50da9f2b82b\n\n# tcId = 107\n# point with coordinate x = 0 in precomputation or right to left addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b8104002203620004dc4f06d671d86012cd5ce10377ffefbde657da08fa9259e4aeffe6211ac57f6e1c5bf8732989d44c1342a84fa6fd7fba2714ce23cc0f8e0a8bda593ec2b4b5294ffc0363e6e89403d4482f3537dba9e4f36be68d8e2edafd8cc2c01f5f7dcec4\nresult = valid\nshared = 5a197a9a8793d94d8b84084c6dc36c36a293ac90337a1cf6a2653435d05e2f563bfd2933f23ed3aefd75555ead76e827\n\n# tcId = 108\n# point with coordinate x = 0 in precomputation or right to left addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b8104002203620004ca1ec6798c5667813bfc45dd1815e82bec93eaa7081069767bec3685cdfa56267fc24da6c186d8b3271627a852560c5a097d7c41e610e5267dabf525763f4a4a7478c5f9ae4b80baa1e620ac1f22d8689b07ed9a99dce0cd4a11682f07227fc4\nresult = valid\nshared = 8bf520337de6e5c6f27005161b3b2f1cf08759527c8fc7935e3621f68936f191ac6e931b794278d3ca1e3772dbfb19bf\n\n# tcId = 109\n# point with coordinate x = 0 in precomputation or right to left addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b810400220362000444b9e976b9e89aa31519fc0a35288c55e2d7630a1cd1fffd288cdac8c74bc2edcb0ff878fcccebbb78df9e7eb0afa6b1384782b8a1138946594d8fd3b6c9b4954e73d8c040a7a153f3da5a40f9fdaf3bf31a4522416c316f10dc7cd8afc2849b\nresult = valid\nshared = 1e56dc30dad33e34273535688605bb98ad7c6dd51d9267c90a62562d08e47dd684180d4ab7abb6cc14ae4c9bd6ae9e92\n\n# tcId = 110\n# point with coordinate x = 0 in precomputation or right to left addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b8104002203620004cf661b71c2b8734f7cf5142a66edf787c56a33174303c20741f07e0c348e1b5425705d9ebbb459967621ded6eb56d71037337aa16e1cf6e503182184c9451f9ba457d81a0313fb987343b8b39344f3693298010cd5b73e38bcdece66c67fa508\nresult = valid\nshared = 14e3a97e9ee69089410b72459870495a037d4077bba027eff4c499567d7e7f1af2720e1fedd07bd780509a4516fa5c48\n\n# tcId = 111\n# point with coordinate x = 0 in precomputation or right to left addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b810400220362000450790908c043344e1cf42b27e4dc33a35d68a0b93be0ec2be05745b3c83c35f0a3ecc3ed27fb3188a5ed9f24cdbd29d1b0f03ff85fd7fcad4ea5bbd8bd4c42935f0957ca8011cfc93ebeb789c47214e60e5da16e4dd87a53547eedee479b0978\nresult = valid\nshared = 85a8ddb9997e2525cd555721f2d5f3b199ff76b57e91eec6fc7d2c95703a1a32f46e3d46952a90b51054c5fd046b3107\n\n# tcId = 112\n# point with coordinate x = 0 in right to left addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b81040022036200042395d00779b6c7d4dad8cc9a8918496c28b2d4077e6886d0a1bef515e3125ddd813e5a9ea0f185cd009a69ea92210174b676775f763183c86f6fa50551ba137d79a83e8e32ff2fc09a2c28cdf80cddafcc0f40693e3985f28fe5c7dfe2d8b275\nresult = valid\nshared = c269465cfb336ed8c7e9c0377349193aa4dbdb92a9f4670dbf7fa7a1f7556e8e4b240d5b70edeedd1bf5ce769cb8415e\n\n# tcId = 113\n# point with coordinate x = 0 in right to left addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b81040022036200045634ee155263c07d7d1e346b868ddd80e9a282fcef93bf6df8e8bc4ea34ff02e119a9f707816d06368ccb94c6e4802fbaadc33991574dde851e547e47027f54353e02d70be6bfa9f73953ca259011f23a4a80cbbaae8805d9d094ef150e0c54a\nresult = valid\nshared = 6a21f244472522389f084e2e4ae99b747b39cbee996ce9a3fa05353219b60c20fa3834d39b0b826f1096b7a467e8a218\n\n# tcId = 114\n# point with coordinate x = 0 in right to left addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b810400220362000463aa6c3c249a32ebbccce65ffa1c56a205644b2c40b931b1ec9b042b52c1e99cd07e538299fb837fe67586aae71b4706166ac450fbd6d4921b442a11679f7786ba5a772ab33db00543a941bbc015e23581ba625a72c0e4eb44838e5f406ca1dc\nresult = valid\nshared = c469919f58d80b1e45d5d53ee28d616bdf827a88e0b2f499291ec4f76c3c89f276776ea96a6b9053cf02776698864526\n\n# tcId = 115\n# point with coordinate x = 0 in right to left addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b8104002203620004a287bd74d501c29df23d786b7c34ea0daf10e4b3fce71d720f61a272f22151db2c5914867493028c01e103820b0ba6b121cb298ff8977ecf21fea8ee1b6ba7d9b98dacc2a45d75c63ec8323001a9bf5f5ba4d3cbfee80482ca1333f4de90a14a\nresult = valid\nshared = 18dd1d7b6bbc6311afe5383d796a5fec13844bae25708725554de0b5f03ec0f7d2e63b64db5f83d4ee9890c61e442c41\n\n# tcId = 116\n# point with coordinate x = 0 in right to left addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b8104002203620004ba406b46c1d92d4ba3f40b7b1fcf1e182289b84cdb387f28e5ad20f1ed8c43fe5ffa37128462763051e87f0d5ebfcd9d9dd4107ce4d92d783d0f0f81d7a998b76060735b6fd63bfcd971ca70132fe6dc9fbf8534ecc74b501ea01cd2e4f6c564\nresult = valid\nshared = d639b9c31ad3ceddda7745d19e82fde272a86d31f8e6c203eed53bcb705e9ff58d659f8e9d66aa0492da545a399294ec\n\n# tcId = 117\n# point with coordinate y = 1\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b81040022036200042261b2bf605c22f2f3aef6338719b2c486388ad5240719a5257315969ef01ba27f0a104c89704773a81fdabee6ab5c78000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nresult = valid\nshared = c923fb0d4b24e996e5e0d5df151d3c26b1f61c05b17b7fb39fc8590b47eeaff34709f6f7328923bdcaf7e8e413d77ddc\n\n# tcId = 118\n# point with coordinate y = 1\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b8104002203620004d39c38aafa095233ef1af8c0f4aaf357dd684131b4ac58a534f3d9446196b60092072dc7e538106b7b2e66dc33cac7283a1b203fca47828e6f7a09af645af0f729802ca2f4000c4b9773b08c5af40e201a27493ab3eba9cad7da157f89f14a2c\nresult = valid\nshared = af3904f83b9a0e95ee0b86b06155993ae598d14898366e5dcfc643de9d5ab72fc5fbef17d0a8fb36ebfddce46e5d4455\n\n# tcId = 119\n# point with coordinate y = 1\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b810400220362000486da578567788ea3cc0f2a9da8d1393ed3a4447a75c18ea86af9d84b0cacc3b03749199890ef8e5d3188d4f1d041d46e433acd5d9f5542439eb2384ec1de0847d056058ea92489a74e083ffd6e030d060fad674f6a2a9a7c2198b8be9e465bae\nresult = valid\nshared = 1124bedd4c538ae71293085f2c95cf6b13cfe741f21d62c1f02a1e911667d5348b16d8afb544021acdc3cb7448d4d358\n\n# tcId = 120\n# po", + "int with coordinate y = 1 in left to right addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b8104002203620004111447d242f6b421ca91f561d04b2f1d2f0d9212d918bb4a0ffb1ae6459d078e21a312b2a12594fc8c78fe944c81d513d3c981d5e9cda06c4380d1a842ca5bb51ed3a712b049dda3a50ce10a9fbd0b69dfffaff0787c74d83237ba9c4686a01e\nresult = valid\nshared = 69426158a29971ef44b11783ef559ef4297246611c994d4815637128869d5f6a0202632fe9b5ad7c365b63050c9f2d08\n\n# tcId = 121\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b8104002203620004d7cd5024c4481e27d1653566152efba3284b50ba2a141b2643ffda18f300fa64b81b234b8f646cab4728b4e7a97024d76850aec0a2d131c6acd5b298b6f905cdba18e68564bc31f882fed51b28786a2e72f8812668c976f9ddc042695595fc6f\nresult = valid\nshared = 6597401c837fb498ef0780a382decd4a0dd580e1af5f24c44ac164e256a4884ad5bd2fb1f6c964682cb0bf79e2c7a6c6\n\n# tcId = 122\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b8104002203620004e31487548037c0423e5710fc60e746ab6e47352561e416b583123a6d45caa911762cd88a60bce57b29a2ec1a1dc97fc1bd4b604038e6ac016dbdd48f0e6bd9f4b5daad8d68fc28838c6ab4a4eb5ab0eaea2cbdefa61dc57a3e04ae71242938b6\nresult = valid\nshared = 89411d9c8149b951fa0d5bea1e141bdfc2be7ed56d5e61473935789016bfd2daf6a40ac7bf5b1b0c0c02cd3aa0b2d95f\n\n# tcId = 123\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b81040022036200041e17e173d37ab9838283f84f24a0a25caaa60c411fbfea582c44f8fba2560ece028cbe397b0eda69fc872d80d9ebe065789c0723eafcc9e9a2bad431b11caf7c5d7598ca999074056ba808a5d07977c678f9534de152ffdaca3f63cba3f97894\nresult = valid\nshared = 6f0aa11ab74ae5034e231ef2630bc76cda6eed26325d123642fce6a950b50f904bc0269f8f589bc4d38107332b14da84\n\n# tcId = 124\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b810400220362000476efcc8322f0af8d62e736a0e110f66b3aad5c87bf7a77333fce864f4ba6e8dfdc16d6add2c542c4805589a71f0e48a3c268feab02714c892f826622b25bd21ce2a33514b16c9ee84c722b523b19ec5fc34d874133080e158981849355e1f50d\nresult = valid\nshared = 7eb9962e0449ccd2e60b4f8094d5a7b461d0d4b06af0ba306b74ab0d60ad5cf894fbfc282ac8dca3da196d7a296baa14\n\n# tcId = 125\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b8104002203620004c147d6c235d740b388e6d2afafcf85d5b7166e0df4ea21294088e3049b5c27d7633c93d30fdcf2b9375e1814f51b57bbefb2c12575c2234ee1f6b147b2e04c104a4d2b29cd8458f59b57bff75cab9b6acbe854fc4d96fb73372d6054bb768390\nresult = valid\nshared = 790295bed69f5347ecaae9befe15cd3499759cdfbe51974b1f1c4bc576e7d881cefa93d5e8bf2c21ebb982698e1c7aeb\n\n# tcId = 126\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b8104002203620004849c98fff5e31b108aefb16cc5cf5c7e88439d8b3ef188f2a5bc53f30901dedfe294abb38fb8cb46547a23cfe47909d656449f8a09aa88f8e260598ea2772df74d26a4431a03785934373be7b0ec9187b8215965761723e79591176960eac014\nresult = valid\nshared = 58a11a17c4ada4d446c08b83aa05687fee8fd6e78303648b8583262197f87be97dbe0bbd274e444a384e221696530fc9\n\n# tcId = 127\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b810400220362000457cf645578dd242c714d100dd23568b16d3745da809708d01eb6a7168e6f71dec2074c5a6c23bd05523dfccc97dea6f08da195daa2056da0576bbc0ffb5e73bbdad03b04d23b4b602451a5ba91b17dce302f4ad164c6a4a2b58e3f0253a5e9d6\nresult = valid\nshared = 9260483a165690d54c10cb867a9f896bbd123d4768a18d322300d420aac88ae20f188b57f8e97afad55ebb815728f49a\n\n# tcId = 128\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b8104002203620004cab2d9d36c8ec09f18baa0abb521372a5cc2f624848f95460a8615238e68c11c1b43d22b84d1e535ec1d85560de293ce1fd5e6e7ac7eb6f173ad27b63985fcc83b9532aa56f2b59b53a9d116098fda9aba49d57c1eed0f063bcc701bb10f6c2b\nresult = valid\nshared = b4679af80a2ad34ef86eacf2c2191556bc0240c7913fb14c4c1f8623b5db41b854d630dc65738d1faf544aa42979aed0\n\n# tcId = 129\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b8104002203620004d71df4095c138523340a4010cfa976b3b27af48ca83e8c6bb4596f9f8e8f13e38de4e25ce1d379b41a95f9d7f8a84606b28c69704b68788eb6a35c8bcaa7d9718e00c9bc567acdc458b6732aa87041d27b6a574d51e95437855bdc86748c5cac\nresult = valid\nshared = 8a34de8beb884364b583c9cbce390969967cc2a50090ee132acbd49bf780ad7f092ae3ebd4686a70ba554efdd6acd4ed\n\n# tcId = 130\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b8104002203620004a5761775850a25985a32430442d660aadf9e1e388b57e6e1bfe41495b9a05a8240f77f3397c5cdb0c83d73945984abedd2c7cfa5d5d91738c6577646658c0448f0155b5bf839575a36d1b26d87d1b2b3afb4f68653a6bfa5edfc57aa8529e622\nresult = valid\nshared = 790dfcff4721ef1701e3ff521e4221be51ae242f95166b9292c7aa2fa3c9b799afd353987a535690ff20d66f578f38fc\n\n# tcId = 131\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b810400220362000454fc2f89cde6f6e86b6cf3286198f9a9e33c8d662c2151205ddcff12e2d32fa891eec2359bc07224d64c5e339ff9d58918a3b79372d142fb341df3b15b54b30e8f956b079b1278276a33b4d8508920940ca63fb8e970ff98f91ecc7986275edb\nresult = valid\nshared = cb861053c1d685194ea58413d8f9981e07145bc573ba924bdba2e29c5f98e9e70ea0cd0412d6c387449e9ae767dc4330\n\n# tcId = 132\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b8104002203620004bfbf3fab1acb39ce28f063d78cf250772bd00bdca98b769e1f1fd442b77f4270106a5f7d913c1905bea0dc75b31f87a115c566dbff0cd1073325450a91096fe5f5d601a636407cfbc4f5720f396fa6cb16987370ce70e29bb7ed2f447425f10a\nresult = valid\nshared = 375ffb90ad6c518668e5d25941acd5f9c017346d06f893cf95752258bcc5f9a25996a80f42e0475a80443dc4197bba6c\n\n# tcId = 133\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b81040022036200045757577480f32aedac6e19765f9197cc278cb0b1a21fc6b6423c8f6c6cdea1d324c93eea8bd7dcca8fd293d69876524360b1a4825522acd833d38dbd61508547358a2f5c281b496abd57072ab14f9a2235bca02545e0427526bc2bbc9268349f\nresult = valid\nshared = d1a02a264ab15aef52a534eb5000e2943d8cf1f77255a27f845e96e1f81df47ee903c3e921539d77d72f55b7efc9dfbb\n\n# tcId = 134\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b81040022036200041452f5eafbb5cc563f2c7ca403b803f6f8d66479062508a2258a8d988a769b80e077735b45efab1f297ceebd74347f584f2badbca55457404866baefabfa99b70fbf105d17f352347f6799647448708f788f8a145bdd96d4af2d7e65", + "4be7e5f1\nresult = valid\nshared = ccaa37769d035170bb5c19c135da2291446efd7ecd3be9008612b8ccc29f6e9d7a45dd4e0479123f03e7e304f34729e9\n\n# tcId = 135\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b8104002203620004ad27a365e4b6994c5ed135fc4794d73eb71ec26d787fec10f1382b19c1b5cd1d672999feee86d5f305516d601fd1c6aaf8664858988f02f36c888f71872007870bb32654aa75530fc3b7a235f7fd2bcd815e303445526960f6ffcdd61d2d1340\nresult = valid\nshared = 4ae94d3eda5839f4b8b9ffe6d510144cf28bde98581e82726f2d76d933919adab71d2cdf4c4310f8abcc74d70eba3a33\n\n# tcId = 136\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b8104002203620004733041f3a60468bc0711d5a5073a71ef6062d0ae70706af51316033580cae058fc4ac99ebba823b19f48f309e34fb02933670dcc75ed47744771f60238ccebcddccd42d64e41045fd8ebc35bbae0a37b43388ddb87356cbb525a13d57f47a2cd\nresult = valid\nshared = 062b8a968e45435c2b5b54b417f55e89f935b66dec44882c06ab8d6cda8dcfb553a78361d382a9211191871e9a34220f\n\n# tcId = 137\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b810400220362000481885804ee931988cff3f218c9af1429573ccf8c8f3df40c698d976e8bc7c12881953445ddc4f1902b2f2f3153304e82d7094b673b76beebfa5d84c49b01ce168c459201cb8192ef96d891010e4bc88f0acc4fbb40ad61966e787b9a298a2bba\nresult = valid\nshared = ba41c38d33b2ae342797ee69723f042a71dd7fb15f3dc80dae403d4f88acae28e2e51f2ca9d52b4aa4e2b3e58257e24d\n\n# tcId = 138\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b8104002203620004167915d962a405f8d04d6d6494270d883fe7594e9a21f7b57715750f8d78ec0714f0fb85a9fe5aee4e6d10344e4b12f91f00441c8bf567ff84e6ee4298b9d3392c78fb32461958102e1d29d2f4c4732104242cc4bfee22aa8f4a172aa510ac88\nresult = valid\nshared = c6af4eae5999e0d0658505cb4b395e9d73592a3d9d0b3c07caeb2bef1b03ca4d603b33e6f6bbd90f9416c4aa0022e584\n\n# tcId = 139\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b810400220362000466e1fe893f72ffea5e24ea5a4f0d6558fdbd3222dba6e3340753c82979ac59530dbd37fac2f51355465d56afe1de582beaca9104ad269b0f848d8b4d71182afc30129147369a74193ddf4ddb3b6ff128f94168ce0bc60e7791b4b1ca2e29431b\nresult = valid\nshared = 9e364adcb72b15a42cbd6fa79114889e22b93b533b0119afd90914b181128151b8a17db49004ec39ad5db5603fb9711d\n\n# tcId = 140\n# point with coordinate y = 1 in left to right addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b810400220362000462ebaabff2a07a852af9aab8126e93c31109e893cc61b354a72a1744cb409a02cec6e6195845957a53bde97dec7a87c25ea11b003a694e371c2be1cf5db5b7fba278f6968f54c5fb6677987bbb6b55dd9072e8325b365c25262c5024f68b2e5b\nresult = valid\nshared = 23104806dbd85f71d8fc38101b0cd0bbcd60331d8f74869f0643116ac362b5e933db8743ff80dfcc2df5cbcbf027185e\n\n# tcId = 141\n# point with coordinate y = 1 in precomputation or right to left addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b8104002203620004276a5a274b46a0a36f811cf64bc7a644d5ad9c124be002a6fdd1cc111880655c8d2987674ea49e7d70d2a0ae820d1a7d4ec3bae2dd1d77af082fabcd68ac20f209e8fa446478794223be1d63d71987e964e45f0bcf6a2ea0a12c633445285a46\nresult = valid\nshared = 283502355b21189f7361e89457550974f86ae2b66d025506899c15b390da248e14fd1b4f25c8584d1a71e7f8c93fa976\n\n# tcId = 142\n# point with coordinate y = 1 in precomputation or right to left addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b810400220362000498fee314cfb3c01cc2d9fd7c2568336027840008bcfbfc8292421ed6b0727fa20b7002a5726a685d44963ad8f74c695da25a542b8e0bb9a4858be64f70800da93af6776bb795bb169f4c9d151795f3a5a37a3c82264cf6870c4ded684a71269b\nresult = valid\nshared = 9044be70566664ed91dab85aa5ff644d7a346810d2678d27751917c3820c4c825034b78a957b8fd1d47e86e67e5ba9f8\n\n# tcId = 143\n# point with coordinate y = 1 in precomputation or right to left addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b8104002203620004d16d0b11d0a326bb2725b3c9cd598746af11924f6172ce53b19a942b965562c2a2875fd15ce1f4869156d5cf08780c74d4c4927ca175b5327c9f321cd2a7b1acb58fce351160daea5d5c64d76d38d3ab17f7c1432093ad4d620053f6f675864a\nresult = valid\nshared = 1fa4c8e6dec89088a8fe725530f5c154672e84488baaf70a08b2e96565962653577402161424294b7f377208fc936139\n\n# tcId = 144\n# point with coordinate y = 1 in precomputation or right to left addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b810400220362000410526e3b097a99ea507ba6795ea1f77718690460117bfac9ed95bee311db5f8a1a2767c134b19db3c387a1fb45be7029312c75d7bbeeee48bc15b55dfb716511c5634d719d26903bcace1c60a8e030496156d9ccac97cac724e093574ae4bc83\nresult = valid\nshared = 04f4029d372332b4b226c9f32521ea39a58b655d24e35190ce04d58f0c04814be7f6ffcb8a4a15134224134f029eda9f\n\n# tcId = 145\n# point with coordinate y = 1 in precomputation or right to left addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b8104002203620004e632cb201288b643f235533c44846b11a28740ee4137a22cff7f542054d6337f46363849c8310e20d8b29baddb3109ff948d42ae959c3ae143d4f02d268726bc2b66bafed7657b1a53e23eed48094c5ca8d28d16121aa6237d8150ad6c326655\nresult = valid\nshared = f41f912165827cea27ab8147a46abeb30c1bc73cfe0520d7d8698df8f9529afe26eac707340f38b49ec5e741d646b9a7\n\n# tcId = 146\n# point with coordinate y = 1 in precomputation or right to left addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b8104002203620004088330380613adb0b8e531649809fbea340edbdf598af028e74ba0b4f18e2d50118531b9a92b07753b2c13ceb87d3c8e38e625b500f4b9bd2dc781892fff96d89271909d3e561a63e415467d6d455d0a4c19c36f16dcc2417a3425c2adda9034\nresult = valid\nshared = 6e437e26316eb2596400d8fdda5be90caa94d62c425f27df5ca67898a8ffdf3cde577c4d2d66f6522498f0b295d77a2e\n\n# tcId = 147\n# point with coordinate y = 1 in right to left addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b8104002203620004d9a9d1e0aacaef4aecf241d690ee4101df74d7a37f18ce3181128f8d4255cd34702b17f116b2506cb8f577d9357e3629966e62e6f95c9eb7833ccc1f22956a1e2599a875f8139d9a2b31e2000611b4d6db1d23e7f0db5b5c17bb44e150ea2695\nresult = valid\nshared = 854772b9b77d4687571f1934061dbce0016d47b90a8b5d38229475c213cd5df25f960b775ae72909cccc5ba14dd03448\n\n# tcId = 148\n# point with coordinate y = 1 in right to left addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b8104002203620004535d22f39c8a5591e7a1deef7a6c34965fb5d1e616f14bb12a7e6310d520350f2f75836f9c8189ec4503ef74a0b850d4abb05ab1e5c6061884d1eff3d2be78c76759b986dde70552aa1e97bc014f333c0d5af8b46d61e1ae06774e2f86267312\nresult = valid\nshared = 037d459a54fe6b69d893f4d3094a5e0a93251d5254cef5b022e7065fdf52e3be8127f2ae2e336e261a71f6e41aacb2e1\n\n# tcId = 149\n# point with coordinate y = 1 in right to left addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae", + "4b580691376187\npublic = 3076301006072a8648ce3d020106052b810400220362000489402a143d57ec585aee1243d3a7adfa87eb80c60bd09cbb56b64eb0a1b7f5927318d8573c6239c6feeaa58dc2ae2e40d605189ac4a66bd6b9e708bdbccc4647543c0dd1d3c64a2c160c32f729f2b15dd95852c9b207508651d7746395a5a490\nresult = valid\nshared = e8d03dffead2e40ea915db4c9c67abb45aa60992422b70374239caf58b96f86716600c1cc4449362dc56ca057bfc5e5e\n\n# tcId = 150\n# point with coordinate y = 1 in right to left addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b8104002203620004c2a9c52a5936910c05c4144315127bf662c292b8f0681811c2bf8f4f9cc5bd7ab693f7cbddb5724e7e29dd023d155ffd335e8b872ae1b7a91293ae9cc8f654f05ff4767db208b76c73b6b34c5626512e6ba92bcc937c9bcca9447dbec22ff106\nresult = valid\nshared = e820f997928a71186ce09b96923c317cc128cb761c87e97073a851610ca12f219937938789bd227a8d72b2b406c471fd\n\n# tcId = 151\n# point with coordinate y = 1 in right to left addition chain\nprivate = 00c1781d86cac2c052b7e4f48cef415c5c133052f4e504397e75e4d7cd0ca149da0b4988b8a6ded5ceae4b580691376187\npublic = 3076301006072a8648ce3d020106052b8104002203620004dcd0224ad2219dc3af05eea5d27974a75fb1960d0d721c39f107bf45346220994e520ca5a646701e9319ceb08017a302e0b1bee292cd1cb99f145ead3d12285903b1e549fcce7591a101a1675fb9b6e30e678037f4d58d220c1e36a4e79f883c\nresult = valid\nshared = 0aed8ac7d04af070b73a03f37ef711296db8ac64bab13e15418df6373aad81d8e0fa789b9292933d7f11b8614076e074\n\n# tcId = 152\n# edge case private key\nprivate = 03\npublic = 3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e\nresult = valid\nshared = 455aea9924330bd6d2d6403478327900e172e93598e254cf6d8eb13f0a3d21be51a46107333844e61dfa3d80df6928e9\n\n# tcId = 153\n# edge case private key\nprivate = 00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\npublic = 3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e\nresult = valid\nshared = db1d8ef1117282870db8113aa4f58723c756ce598686eb8ea531aa4d39abb1b982b1e7bb2648a6c268d2d351204db8d5\n\n# tcId = 154\n# edge case private key\nprivate = 010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\npublic = 3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e\nresult = valid\nshared = e98062df47ef884c9411e16466af84ad271d586008b1fbc50aeb3b36836a35a770dd42e0db84d39b26f4dcd2dc03d90b\n\n# tcId = 155\n# edge case private key\nprivate = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\npublic = 3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e\nresult = valid\nshared = 898aae0ebf1cb49fb6b1234d60f59006325421049a8a320820e1ad6af6593cdc2229a08c500aa55ca05999d12829db9c\n\n# tcId = 156\n# edge case private key\nprivate = 00800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\npublic = 3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e\nresult = valid\nshared = 83f862f496ab8af12b82a8a0c047d836bdfa36281324b3a1eb2e9c1d46699d81cb125cbe4b93939fd84e1ae86d8a83cb\n\n# tcId = 157\n# edge case private key\nprivate = 00ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a779ecec196accc52973\npublic = 3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e\nresult = valid\nshared = 9a26894887a0342ca559a74a4d4a8e1d6b2084f02e1c65b3097121a9a9af047d8810fb945dc25bbf02222b3b625f1e0a\n\n# tcId = 158\n# edge case private key\nprivate = 00ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecdc196accc52973\npublic = 3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e\nresult = valid\nshared = 8a8d9dc194a26910cbdae7908d185b6ad04b620c94c5ee331e584ed804e495bebc2290a2d7006a06e65b9bcace86c6f6\n\n# tcId = 159\n# edge case private key\nprivate = 00ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aece4196accc52973\npublic = 3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e\nresult = valid\nshared = d57f6aa12d3f07e8958499f249e52cfbe5be58482e146c5414dbbf984fc5333710350e2ce96b33beb7678381f40f1dcb\n\n# tcId = 160\n# edge case private key\nprivate = 00ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec1969ccc52973\npublic = 3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e\nresult = valid\nshared = 188e8041d9a5f0b6cfdad315ada4823beda0146774fad65b500e6ef94376ebf8af7a40ff6f6b45019a09dde7d7fb5552\n\n# tcId = 161\n# edge case private key\nprivate = 00ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52959\npublic = 3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e\nresult = valid\nshared = 2ecf9dc47e8b07ae61ddbd1680ead02698e9e8469f78d5a28328e48d0c9d7a2ac787e50cba58cc44a32fb1235d2d7027\nflags = AddSubChain\n\n# tcId = 162\n# edge case private key\nprivate = 00ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52969\npublic = 3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e\nresult = valid\nshared = 06ee9f55079d3d3c18c683ba33e0d2521be97c4fbf7917bf3b6287d58ffcde2df88842e3f5530b39549ac20974b1b60e\nflags = AddSubChain\n\n# tcId = 163\n# edge case private key\nprivate = 00ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52970\npublic = 3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e\nresult = valid\nshared = 455aea9924330bd6d2d6403478327900e172e93598e254cf6d8eb13f0a3d21be51a46107333844e61dfa3d80df6928e9\n\n# tcId = 164\n# edge case private key\nprivate = 00ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52971\npublic = 3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e\nresult = valid\nshared = 024c5281487216058270cd1cfe259e948310e4adc263a9edaa4da0bc3f5f8ce8ffc88ae41b2c050bf6dd9c8c66857237\nflags = AddSubChain\n\n# tcId ", + "= 165\n# point is not on curve\nprivate = 00c6cafb74e2a50c82c7a63d13294bfea13d0bc504ba2b08a392c9081bf3815d9e44d969ed7f05ffd1d8594355053c6147\npublic = 3076301006072a8648ce3d020106052b8104002203620004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = invalid\nshared = \n\n# tcId = 166\n# point is not on curve\nprivate = 00c6cafb74e2a50c82c7a63d13294bfea13d0bc504ba2b08a392c9081bf3815d9e44d969ed7f05ffd1d8594355053c6147\npublic = 3076301006072a8648ce3d020106052b8104002203620004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nresult = invalid\nshared = \n\n# tcId = 167\n# point is not on curve\nprivate = 00c6cafb74e2a50c82c7a63d13294bfea13d0bc504ba2b08a392c9081bf3815d9e44d969ed7f05ffd1d8594355053c6147\npublic = 3076301006072a8648ce3d020106052b8104002203620004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffe\nresult = invalid\nshared = \n\n# tcId = 168\n# point is not on curve\nprivate = 00c6cafb74e2a50c82c7a63d13294bfea13d0bc504ba2b08a392c9081bf3815d9e44d969ed7f05ffd1d8594355053c6147\npublic = 3076301006072a8648ce3d020106052b8104002203620004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff\nresult = invalid\nshared = \n\n# tcId = 169\n# point is not on curve\nprivate = 00c6cafb74e2a50c82c7a63d13294bfea13d0bc504ba2b08a392c9081bf3815d9e44d969ed7f05ffd1d8594355053c6147\npublic = 3076301006072a8648ce3d020106052b8104002203620004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = invalid\nshared = \n\n# tcId = 170\n# point is not on curve\nprivate = 00c6cafb74e2a50c82c7a63d13294bfea13d0bc504ba2b08a392c9081bf3815d9e44d969ed7f05ffd1d8594355053c6147\npublic = 3076301006072a8648ce3d020106052b8104002203620004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nresult = invalid\nshared = \n\n# tcId = 171\n# point is not on curve\nprivate = 00c6cafb74e2a50c82c7a63d13294bfea13d0bc504ba2b08a392c9081bf3815d9e44d969ed7f05ffd1d8594355053c6147\npublic = 3076301006072a8648ce3d020106052b8104002203620004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffe\nresult = invalid\nshared = \n\n# tcId = 172\n# point is not on curve\nprivate = 00c6cafb74e2a50c82c7a63d13294bfea13d0bc504ba2b08a392c9081bf3815d9e44d969ed7f05ffd1d8594355053c6147\npublic = 3076301006072a8648ce3d020106052b8104002203620004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff\nresult = invalid\nshared = \n\n# tcId = 173\n# point is not on curve\nprivate = 00c6cafb74e2a50c82c7a63d13294bfea13d0bc504ba2b08a392c9081bf3815d9e44d969ed7f05ffd1d8594355053c6147\npublic = 3076301006072a8648ce3d020106052b8104002203620004fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffe000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = invalid\nshared = \n\n# tcId = 174\n# point is not on curve\nprivate = 00c6cafb74e2a50c82c7a63d13294bfea13d0bc504ba2b08a392c9081bf3815d9e44d969ed7f05ffd1d8594355053c6147\npublic = 3076301006072a8648ce3d020106052b8104002203620004fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffe000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nresult = invalid\nshared = \n\n# tcId = 175\n# point is not on curve\nprivate = 00c6cafb74e2a50c82c7a63d13294bfea13d0bc504ba2b08a392c9081bf3815d9e44d969ed7f05ffd1d8594355053c6147\npublic = 3076301006072a8648ce3d020106052b8104002203620004fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffe\nresult = invalid\nshared = \n\n# tcId = 176\n# point is not on curve\nprivate = 00c6cafb74e2a50c82c7a63d13294bfea13d0bc504ba2b08a392c9081bf3815d9e44d969ed7f05ffd1d8594355053c6147\npublic = 3076301006072a8648ce3d020106052b8104002203620004fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff\nresult = invalid\nshared = \n\n# tcId = 177\n# point is not on curve\nprivate = 00c6cafb74e2a50c82c7a63d13294bfea13d0bc504ba2b08a392c9081bf3815d9e44d969ed7f05ffd1d8594355053c6147\npublic = 3076301006072a8648ce3d020106052b8104002203620004fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = invalid\nshared = \n\n# tcId = 178\n# point is not on curve\nprivate = 00c6cafb74e2a50c82c7a63d13294bfea13d0bc504ba2b08a392c9081bf3815d9e44d969ed7f05ffd1d8594355053c6147\npublic = 3076301006072a8648ce3d020106052b8104002203620004fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nresult = invalid\nshared = \n\n# tcId = 179\n# point is not on curve\nprivate = 00c6cafb74e2a50c82c7a63d13294bfea13d0bc504ba2b08a392c9081bf3815d9e44d969ed7f05ffd1d8594355053c6147\npublic = 3076301006072a8648ce3d020106052b8104002203620004fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffe\nresult = invalid\nshared = \n\n# tcId = 180\n# point is not on curve\nprivate = 00c6cafb74e2a50c82c7a63d13294bfea13d0bc504ba2b08a392c9081bf3815d9e44d969ed7f05ffd1d8594355053c6147\npublic = 3076301006072a8648ce3d020106052b8104002203620004fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff\nresult = invalid\nshared = \n\n# tcId = 181\nprivate = 00c6cafb74e2a50c82c7a63d13294bfea13d0bc504ba2b08a392c9081bf3815d9e44d969ed7f05ffd1d8594355053c6147\npublic = 3015301006072a8648ce3d020106052b81040022030100\nresult = invalid\nshared = \n\n# tcId = 182\n# public point not on curve\nprivate = 00de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2\npublic = 3076301006072a8648ce3d020106052b81040022036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c8\nresult = invalid\nshared = \nflags = InvalidPublic\n\n# tcId = 183\n# public point = (0,0)\nprivate = 00de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2\npublic = 3076301006072a8648ce3d020106052b8104002203620004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = invalid\nshared = \nflags = InvalidPublic\n\n# tcId = 184\n# order =\n# -39402006196394479212279040100143613805079739270465446667946905279627659399113263569398956308152294913554433653942643\nprivate = 00de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2\npublic = 308201b53082014d06072a8648ce3d020130820140020101303c0", + "6072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef046104aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f0231ff000000000000000000000000000000000000000000000000389cb27e0bc8d220a7e5f24db74f58851313e695333ad68d020101036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6\nresult = invalid\nshared = 455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6\nflags = WrongOrder,InvalidPublic,UnnamedCurve\n\n# tcId = 185\n# order = 0\nprivate = 00de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2\npublic = 308201853082011d06072a8648ce3d020130820110020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef046104aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f020100020101036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6\nresult = invalid\nshared = 455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6\nflags = WrongOrder,InvalidPublic,UnnamedCurve\n\n# tcId = 186\n# order = 1\nprivate = 00de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2\npublic = 308201853082011d06072a8648ce3d020130820110020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef046104aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f020101020101036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6\nresult = acceptable\nshared = 455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6\nflags = WrongOrder,UnusedParam,UnnamedCurve\n\n# tcId = 187\n# order =\n# 9173994463960286046443283581208347763186259956673124494950032159599396260248791326163093631191247821216106\nprivate = 00de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2\npublic = 308201b13082014906072a8648ce3d02013082013c020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef046104aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f022d00ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196a020101036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6\nresult = acceptable\nshared = 455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6\nflags = WrongOrder,UnusedParam,UnnamedCurve\n\n# tcId = 188\n# generator = (0,0)\nprivate = 00de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2\npublic = 308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef046104000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973020101036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6\nresult = acceptable\nshared = 455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6\nflags = UnusedParam,UnnamedCurve\n\n# tcId = 189\n# generator not on curve\nprivate = 00de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2\npublic = 308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef046104aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e61023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973020101036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6\nresult = acceptable\nshared = 455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6\nflags = UnusedParam,UnnamedCurve\n\n# tcId = 190\n# cofactor = -1\nprivate = 00de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2\npublic = 308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef046104aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc529730201ff036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6\nresult = invalid\nshared = 455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6\nflags = InvalidPublic,UnnamedCurve\n\n# tcId = 191\n# cofactor = 0\nprivate = 00de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c", + "6508c2e1483b15cfef7afc2\npublic = 308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef046104aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973020100036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6\nresult = invalid\nshared = 455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6\nflags = InvalidPublic,UnnamedCurve\n\n# tcId = 192\n# cofactor = 2\nprivate = 00de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2\npublic = 308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef046104aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973020102036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6\nresult = acceptable\nshared = 455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6\nflags = UnusedParam,UnnamedCurve\n\n# tcId = 193\n# cofactor =\n# 39402006196394479212279040100143613805079739270465446667946905279627659399113263569398956308152294913554433653942643\nprivate = 00de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2\npublic = 308201e53082017d06072a8648ce3d020130820170020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef046104aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6\nresult = invalid\nshared = 455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6\nflags = InvalidPublic,UnnamedCurve\n\n# tcId = 194\n# cofactor = None\nprivate = 00de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2\npublic = 308201b23082014a06072a8648ce3d02013082013d020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef046104aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6\nresult = acceptable\nshared = 455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6\nflags = UnusedParam,UnnamedCurve\n\n# tcId = 195\n# modified prime\nprivate = 00de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2\npublic = 308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d0101023100f47e533e4e43e4bf04e901db0eea6efba14bbcdc3b1c5753a7c141487e4f43784e57a72310202323361f44760c8368bf306404300b81acc1b1bc1b40fb16fe24f11591045eb44323c4e3a8ac583ebeb781b0bc86b1a858dbefdfdcdcc9e0bb8af37c973d0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef04610400000000000000000000000000000000fffffffffffd38000000000000000000000000000000000000000000000001cf3646298bba2f24e84189cf0d1e75188fc4fcf5b0844281822e789e3d534b159f4c419342260197625ad924a2c72c4d0f023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc529730201010362000400000000000000000000000000000000fffffffffffd38000000000000000000000000000000000000000000000001cf3646298bba2f24e84189cf0d1e75188fc4fcf5b0844281822e789e3d534b159f4c419342260197625ad924a2c72c4d0f\nresult = invalid\nshared = 5df0762488bc0a7be1121508949382861f781c331676048c2d45d245be6f476c872113e6710bc746c3d06970510193ce\nflags = ModifiedPrime,InvalidPublic,UnnamedCurve\n\n# tcId = 196\n# using secp224r1\nprivate = 00de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2\npublic = 304e301006072a8648ce3d020106052b81040021033a0004074f56dc2ea648ef89c3b72e23bbd2da36f60243e4d2067b70604af1c2165cec2f86603d60c8a611d5b84ba3d91dfe1a480825bcc4af3bcf\nresult = invalid\nshared = \nflags = InvalidPublic\n\n# tcId = 197\n# using secp256r1\nprivate = 00de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004cbf6606595a3ee50f9fceaa2798c2740c82540516b4e5a7d361ff24e9dd15364e5408b2e679f9d5310d1f6893b36ce16b4a507509175fcb52aea53b781556b39\nresult = invalid\nshared = \nflags = InvalidPublic\n\n# tcId = 198\n# using secp256k1\nprivate = 00de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2\npublic = 3056301006072a8648ce3d020106052b8104000a03420004a1263e75b87ae0937060ff1472f330ee55cdf8f4329d6284a9ebfbcc856c11684225e72cbebff41e54fb6f00e11afe53a17937bedbf2df787f8ef9584f775838\nresult = invalid\nshared = \nflags = InvalidPublic\n\n# tcId = 199\n# a = 0\nprivate = 00de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2\npublic = 308201863082011e06072a8648ce3d020130820111020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff303504010004304fcc45ccf5e23ee407b9291d2e85523962a2a79a50da3facca04b7267ad316db202cb07c24905740d201ded3028881090461042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973020101036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6\nresult = acceptable\nshared = 455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204a", + "dfe419b2dbbfb942dc98b16d8323150cf6\nflags = UnusedParam,UnnamedCurve\n\n# tcId = 200\n# public key of order 3\nprivate = 00de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2\npublic = 308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff3064043074a89c1d95030a24dddf35deb3d490665cab6a0e72741abb05f3fb7e34ec8b432b39fc1ba64285f407856ca80690f125043054e7a558b35bb0e9af4a419ec6635f3c0d34ae013cde6debef47514bcb980ad547c9aa5834be44eaa02e93bf851344e8046104c98adce2b5ef154f90d7d6f0c2ec6c526a9f214cce85ee84290e45fd6e5e88f82dfe994c0050d838789744af8b8d9505f29cbb59d91d1908faaab1cd17b7e0736df1e09a4fc42366abb339565086f7d872c779af84980f9fd725446ff0e2dde5023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc5297302010103620004c98adce2b5ef154f90d7d6f0c2ec6c526a9f214cce85ee84290e45fd6e5e88f82dfe994c0050d838789744af8b8d95050d6344a626e2e6f705554e32e8481f8c920e1f65b03bdc99544cc6a9af7908268d38864f7b67f06028dabb910f1d221a\nresult = invalid\nshared = \nflags = WeakPublicKey,InvalidPublic,UnnamedCurve\n\n# tcId = 201\n# Public key uses wrong curve: secp224r1\nprivate = 00d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4\npublic = 304e301006072a8648ce3d020106052b81040021033a00040710b0c6f4675459f3df2bdf7ca02819f8086198d15c69b8abda37639e6031caca8a0121894d2491d8b3dce093703c70705bc5dbc8fa17c8\nresult = invalid\nshared = \n\n# tcId = 202\n# Public key uses wrong curve: secp256r1\nprivate = 00d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4\npublic = 3059301306072a8648ce3d020106082a8648ce3d030107034200045fa4fa0b235c21e5c9f3baea9303bf86eccb7d31d0b998e141bc54b5dc43b23eef7fc5cf56308ed595eee99ade6aaf74d591c3d00aa1b438abc59c9607c22c36\nresult = invalid\nshared = \n\n# tcId = 203\n# Public key uses wrong curve: secp521r1\nprivate = 00d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4\npublic = 30819b301006072a8648ce3d020106052b810400230381860004005bce61fe27c440fedbad47d88bccf645db9c1d30daa086e592e8b6a0a173b87991b619801907b420fa558c7953ab97badd9c6c1d85859d9ebef7441a088ff57ed5008d7638de703faabeb5a78e83e8fcd4eb786144a75d79bd4cc8cfa8be66612d756c7b65c67f72c6acbade6f0d59e9752e845205b2a560d4f8d6a9e84bf812f94d18\nresult = invalid\nshared = \n\n# tcId = 204\n# Public key uses wrong curve: secp256k1\nprivate = 00d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4\npublic = 3056301006072a8648ce3d020106052b8104000a03420004a69ced11a8bf7a907bfa47cba3368f2498b465a2407c90649c8da224d2a85bf445ad2df3d0113e72aedccf92ba6b8529ed6faa154bc27aba25f49371981e3b38\nresult = invalid\nshared = \n\n# tcId = 205\n# Public key uses wrong curve: secp224k1\nprivate = 00d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4\npublic = 304e301006072a8648ce3d020106052b81040020033a0004fef61198c88514f19fe00b2def1bd6073f5c50eb572ae806c0b657ff8ba79186771e73f598036e5dca1a1ddc899a56ea8663c10f212e452a\nresult = invalid\nshared = \n\n# tcId = 206\n# Public key uses wrong curve: brainpoolP224r1\nprivate = 00d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4\npublic = 3052301406072a8648ce3d020106092b2403030208010105033a0004a9b0f90e49a57fbe508847bf16e4a7b565dfe870a50164bc2862fe6e4d54bd8b109939f7dbbf800522722b9c0b309ace3884abb69c927ad0\nresult = invalid\nshared = \n\n# tcId = 207\n# Public key uses wrong curve: brainpoolP256r1\nprivate = 00d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4\npublic = 305a301406072a8648ce3d020106092b240303020801010703420004512fe17172db1125a49f9dbb85e387869adf015e4899c06f66ef870d72092d4d195e1d21b4a4647bf734468bee802ddad5449202eba1041df2fd8cde04697237\nresult = invalid\nshared = \n\n# tcId = 208\n# Public key uses wrong curve: brainpoolP320r1\nprivate = 00d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4\npublic = 306a301406072a8648ce3d020106092b240303020801010903520004c391dc7a817d47a3961ea1857895e101c0f5a8767d3a9c7cad49f7af8029f24c67309373cedd0831ccc0a0f45d344f3ab5923d2452507a980301a283848ae31574a57db51ce5e61d35aee483f1bb8e66\nresult = invalid\nshared = \n\n# tcId = 209\n# Public key uses wrong curve: brainpoolP384r1\nprivate = 00d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4\npublic = 307a301406072a8648ce3d020106092b240303020801010b0362000419d3c811c04c5c0990d0258386195b2e29fdaba58d3f12b0bac8d3d53828c66c7a35e3d1eb0bdf2c08f23d0e4ab6a3246e456bf0fb863d03423dbe431baf799657c7816a619662fe5b900b754107ba5cc06b1d62c9a927891efee1a1fd404d7e\nresult = invalid\nshared = \n\n# tcId = 210\n# Public key uses wrong curve: brainpoolP512r1\nprivate = 00d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4\npublic = 30819b301406072a8648ce3d020106092b240303020801010d0381820004216eb619457f1168ac873f5b560a75df80749f2bdf9abac31d6580e521ad70368013c3db74f663263b61eb12d4dcd597ad6c77cef6a5d6d2240b1e244d76403f693fb317ffc602a7ac313991b0a62f7bf469bbc95b3ff35003d972eb8ebcc8d4833e6c24ad52d49c1ce6244c7889ab67a8818232e192944542763fc667e5799d\nresult = invalid\nshared = \n\n# tcId = 211\n# Public key uses wrong curve: brainpoolP224t1\nprivate = 00d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4\npublic = 3052301406072a8648ce3d020106092b2403030208010106033a0004691b24004380a599770214d0c60ab37cfc804cfaa7aedd11cbf0a05467ebec5e33322cda707b848086fd740244f62cdeb867fc057207fde2\nresult = invalid\nshared = \n\n# tcId = 212\n# Public key uses wrong curve: brainpoolP256t1\nprivate = 00d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4\npublic = 305a301406072a8648ce3d020106092b24030302080101080342000422bf69f3a81dfa1ed8a97301943626e20377b78f7e7d714b880deb5a4a9c63a11591c2e47b777488990771855768b9a4050d61bf02d84cc6aa40447a07507285\nresult = invalid\nshared = \n\n# tcId = 213\n# Public key uses wrong curve: brainpoolP320t1\nprivate = 00d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4\npublic = 306a301406072a8648ce3d020106092b240303020801010a0352000476568300e2b4c68861589b4966e67bc414811e4011260cb8be5f884869fa179ca8af40f80009e0a58b17ac3e551a772e76683c32e6e09112572542d7c1fe3d49abb56da56d669186e2623dc797129dc0\nresult = invalid\nshared = \n\n# tcId = 214\n# Public key uses wrong curve: brainpoolP384t1\nprivate = 00d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4\npublic = 307a301406072a8648ce3d020106092b240303020801010c036200043345dffded3c33f7dcc19bb8997a39f2d6230abcb765d6142c30bf320c1fadff535feafd8505eb3e614db71826c1e258077a1e6057add7474f6d35dce68417812e7b919b1c673032b28c45d0a9251c43a2a73ab152f64ff8eba4eab312fa73bd\nresult = invalid\nshared = \n\n# tcId = 215\n# Public key uses wrong curve: brainpoolP512t1\nprivate = 00d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4\npublic = 30819b301406072a8648ce3d020106092b240303020801010e0381820004a3677c646cd887685940c28076f55cda7469032845f2cb2af51c61492dc435aaa5b771d8e1528417cdeb89b5f629e06b234e21236b9edf46c7025177ee65a8e940f670d10c722cea355bd3a5c8847a38324b9a06a50a95da4e70bb492cd00194a8830975dd1e115e19315575ff841b30fd4a3f8a44725dfe280d0af57fc80cc3\nresult = invalid\nshared = \n\n# tcId = 216\n# invalid public key\nprivate = 2b9e57572da6cf4fb58cb94eab8df19383a136f219f2a515776a8bf48e1538dd1d811946c16d9f0184c9ce5cdf1dac51\npublic = 3046301006072a8648ce3d020106052b81040022033200024424530ea70bace90601f8d5869e4179a6cd689b6a18fdfec50cecf17cb836d24820211ada67815b42c2c2606303f69e\nresult = invalid\nshared = \nflags = CompressedPoint\n\n# tcId = 217\n# long form encoding of length of sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 308176301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47", + "ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 218\n# long form encoding of length of sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307730811006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 219\n# length of sequence contains leading 0\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 30820076301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 220\n# length of sequence contains leading 0\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 30783082001006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 221\n# wrong length of sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3077301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 222\n# wrong length of sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3075301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 223\n# wrong length of sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301106072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 224\n# wrong length of sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076300f06072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 225\n# uint32 overflow in length of sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 30850100000076301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 226\n# uint32 overflow in length of sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307b3085010000001006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 227\n# uint64 overflow in length of sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3089010000000000000076301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 228\n# uint64 overflow in length of sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307f308901000000000000001006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 229\n# length of sequence = 2**31 - 1\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 30847fffffff301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 230\n# length of sequence = 2**31 - 1\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307a30847fffffff06072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 231\n# length of sequence = 2**32 - 1\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3084ffffffff301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 232\n# length of sequence = 2**32 - 1\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npu", + "blic = 307a3084ffffffff06072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 233\n# length of sequence = 2**40 - 1\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3085ffffffffff301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 234\n# length of sequence = 2**40 - 1\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307b3085ffffffffff06072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 235\n# length of sequence = 2**64 - 1\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3088ffffffffffffffff301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 236\n# length of sequence = 2**64 - 1\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307e3088ffffffffffffffff06072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 237\n# incorrect length of sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 30ff301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 238\n# incorrect length of sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307630ff06072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 239\n# indefinite length without termination\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3080301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 240\n# indefinite length without termination\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076308006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 241\n# indefinite length without termination\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006802a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 242\n# indefinite length without termination\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020106802b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 243\n# indefinite length without termination\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020106052b8104002203800004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 244\n# removing sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = \nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 245\n# removing sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 306403620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 246\n# lonely sequence tag\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 30\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 247\n# lonely sequence tag\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 30653003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 248\n# appending 0's to sequence\nprivate = 4b065d2dbbad95d7e", + "ebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3078301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312510000\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 249\n# appending 0's to sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3078301206072a8648ce3d020106052b81040022000003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 250\n# prepending 0's to sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 30780000301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 251\n# prepending 0's to sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 30783012000006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 252\n# appending unused 0's to sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312510000\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 253\n# appending unused 0's to sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3078301006072a8648ce3d020106052b81040022000003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 254\n# appending null value to sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3078301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312510500\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 255\n# appending null value to sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3078301206072a8648ce3d020106052b81040022050003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 256\n# including garbage\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307b4981773076301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 257\n# including garbage\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307a25003076301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 258\n# including garbage\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 30783076301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312510004deadbeef\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 259\n# including garbage\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307b3015498177301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 260\n# including garbage\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307a30142500301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 261\n# including garbage\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307e3012301006072a8648ce3d020106052b810400220004deadbeef03620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 262\n# including garbage\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307b3015260c49817706072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 263\n# i", + "ncluding garbage\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307a3014260b250006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 264\n# including garbage\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307e3018260906072a8648ce3d02010004deadbeef06052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 265\n# including garbage\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307b301506072a8648ce3d0201260a49817706052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 266\n# including garbage\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307a301406072a8648ce3d02012609250006052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 267\n# including garbage\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307e301806072a8648ce3d0201260706052b810400220004deadbeef03620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 268\n# including garbage\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307b301006072a8648ce3d020106052b81040022236749817703620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 269\n# including garbage\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307a301006072a8648ce3d020106052b810400222366250003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 270\n# including garbage\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307e301006072a8648ce3d020106052b81040022236403620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312510004deadbeef\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 271\n# including undefined tags\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307eaa00bb00cd003076301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 272\n# including undefined tags\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307caa02aabb3076301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 273\n# including undefined tags\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307e3018aa00bb00cd00301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 274\n# including undefined tags\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307c3016aa02aabb301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 275\n# including undefined tags\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307e3018260faa00bb00cd0006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 276\n# including undefined tags\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307c3016260daa02aabb06072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 277\n# including undefined tags\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307e301806072a8648ce3d0201260daa00bb00cd0006052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593", + "f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 278\n# including undefined tags\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307c301606072a8648ce3d0201260baa02aabb06052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 279\n# including undefined tags\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307e301006072a8648ce3d020106052b81040022236aaa00bb00cd0003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 280\n# including undefined tags\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307c301006072a8648ce3d020106052b810400222368aa02aabb03620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 281\n# truncated length of sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3081\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 282\n# truncated length of sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3066308103620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 283\n# Replacing sequence with NULL\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 0500\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 284\n# Replacing sequence with NULL\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3066050003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 285\n# changing tag value of sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 2e76301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 286\n# changing tag value of sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 2f76301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 287\n# changing tag value of sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3176301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 288\n# changing tag value of sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3276301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 289\n# changing tag value of sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = ff76301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 290\n# changing tag value of sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 30762e1006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 291\n# changing tag value of sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 30762f1006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 292\n# changing tag value of sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076311006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 293\n# changing tag value of sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076321006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nres", + "ult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 294\n# changing tag value of sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076ff1006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 295\n# dropping value of sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3000\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 296\n# dropping value of sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3066300003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 297\n# truncated sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3075301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 298\n# truncated sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 30751006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 299\n# truncated sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3075300f06072a8648ce3d020106052b81040003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 300\n# truncated sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3075300f072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 301\n# indefinite length\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3080301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312510000\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 302\n# indefinite length\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3078308006072a8648ce3d020106052b81040022000003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 303\n# indefinite length with truncated delimiter\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3080301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed03125100\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 304\n# indefinite length with truncated delimiter\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3077308006072a8648ce3d020106052b810400220003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 305\n# indefinite length with additional element\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3080301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed03125105000000\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 306\n# indefinite length with additional element\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307a308006072a8648ce3d020106052b810400220500000003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 307\n# indefinite length with truncated element\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3080301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251060811220000\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 308\n# indefinite length with truncated element\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307c308006072a8648ce3d020106052b8104002206081122000003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 309\n# indefinite length with garbage\nprivate ", + "= 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3080301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312510000fe02beef\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 310\n# indefinite length with garbage\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307c308006072a8648ce3d020106052b810400220000fe02beef03620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 311\n# indefinite length with nonempty EOC\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3080301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312510002beef\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 312\n# indefinite length with nonempty EOC\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307a308006072a8648ce3d020106052b810400220002beef03620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 313\n# prepend empty sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 30783000301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 314\n# prepend empty sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 30783012300006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 315\n# append empty sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3078301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312513000\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 316\n# append empty sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3078301206072a8648ce3d020106052b81040022300003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 317\n# append garbage with high tag number\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3079301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251bf7f00\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 318\n# append garbage with high tag number\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3079301306072a8648ce3d020106052b81040022bf7f0003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 319\n# sequence of sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 30783076301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 320\n# sequence of sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 30783012301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 321\n# truncated sequence: removed last 1 elements\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3012301006072a8648ce3d020106052b81040022\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 322\n# truncated sequence: removed last 1 elements\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 306f300906072a8648ce3d020103620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 323\n# repeating element in sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3081da301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed03125103620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b", + "5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 324\n# repeating element in sequence\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307d301706072a8648ce3d020106052b8104002206052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 325\n# long form encoding of length of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307730110681072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 326\n# long form encoding of length of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3077301106072a8648ce3d02010681052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 327\n# length of oid contains leading 0\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 30783012068200072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 328\n# length of oid contains leading 0\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3078301206072a8648ce3d0201068200052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 329\n# wrong length of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006082a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 330\n# wrong length of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006062a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 331\n# wrong length of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020106062b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 332\n# wrong length of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020106042b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 333\n# uint32 overflow in length of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307b3015068501000000072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 334\n# uint32 overflow in length of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307b301506072a8648ce3d0201068501000000052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 335\n# uint64 overflow in length of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307f301906890100000000000000072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 336\n# uint64 overflow in length of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307f301906072a8648ce3d020106890100000000000000052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 337\n# length of oid = 2**31 - 1\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307a301406847fffffff2a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 338\n# length of oid = 2**31 - 1\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307a301406072a8648ce3d020106847fffffff2b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0", + "31251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 339\n# length of oid = 2**32 - 1\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307a30140684ffffffff2a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 340\n# length of oid = 2**32 - 1\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307a301406072a8648ce3d02010684ffffffff2b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 341\n# length of oid = 2**40 - 1\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307b30150685ffffffffff2a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 342\n# length of oid = 2**40 - 1\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307b301506072a8648ce3d02010685ffffffffff2b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 343\n# length of oid = 2**64 - 1\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307e30180688ffffffffffffffff2a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 344\n# length of oid = 2**64 - 1\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307e301806072a8648ce3d02010688ffffffffffffffff2b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 345\n# incorrect length of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006ff2a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 346\n# incorrect length of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020106ff2b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 347\n# removing oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 306d300706052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 348\n# lonely oid tag\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 306e30080606052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 349\n# lonely oid tag\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3070300a06072a8648ce3d02010603620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 350\n# appending 0's to oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3078301206092a8648ce3d0201000006052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 351\n# appending 0's to oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3078301206072a8648ce3d020106072b81040022000003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 352\n# prepending 0's to oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 30783012060900002a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 353\n# prepending 0's to oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3078301206072a8648ce3d0201060700002b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a9", + "7dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 354\n# appending unused 0's to oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3078301206072a8648ce3d0201000006052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 355\n# appending null value to oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3078301206092a8648ce3d0201050006052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 356\n# appending null value to oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3078301206072a8648ce3d020106072b81040022050003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 357\n# truncated length of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 306f3009068106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 358\n# truncated length of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3071300b06072a8648ce3d0201068103620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 359\n# Replacing oid with NULL\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 306f3009050006052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 360\n# Replacing oid with NULL\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3071300b06072a8648ce3d0201050003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 361\n# changing tag value of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301004072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 362\n# changing tag value of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301005072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 363\n# changing tag value of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301007072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 364\n# changing tag value of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301008072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 365\n# changing tag value of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 30763010ff072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 366\n# changing tag value of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020104052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 367\n# changing tag value of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020105052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 368\n# changing tag value of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020107052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5", + "becb9ec797\nflags = InvalidAsn\n\n# tcId = 369\n# changing tag value of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020108052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 370\n# changing tag value of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d0201ff052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 371\n# dropping value of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 306f3009060006052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 372\n# dropping value of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3071300b06072a8648ce3d0201060003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 373\n# modify first byte of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307630100607288648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 374\n# modify first byte of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d02010605298104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 375\n# modify last byte of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d028106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 376\n# modify last byte of oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020106052b810400a203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 377\n# truncated oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3075300f06062a8648ce3d0206052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 378\n# truncated oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3075300f06068648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 379\n# truncated oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3075300f06072a8648ce3d020106042b81040003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 380\n# truncated oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3075300f06072a8648ce3d020106048104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 381\n# wrong oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3074300e06052b0e03021a06052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 382\n# wrong oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 30783012060960864801650304020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 383\n# wrong oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020106052b0e03021a03620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 384\n# wrong oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 30", + "7a301406072a8648ce3d0201060960864801650304020103620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 385\n# longer oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3077301106082a8648ce3d02010106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 386\n# longer oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3077301106072a8648ce3d020106062b810400220103620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 387\n# oid with modified node\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d021106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 388\n# oid with modified node\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307a3014060b2a8648ce3d02888080800106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 389\n# oid with modified node\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020106052b8104003203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 390\n# oid with modified node\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307a301406072a8648ce3d020106092b810400888080802203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 391\n# large integer in oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307f301906102a8648ce3d028280808080808080800106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 392\n# large integer in oid\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307f301906072a8648ce3d0201060e2b8104008280808080808080802203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 393\n# oid with invalid node\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3077301106082a8648ce3d0201e006052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 394\n# oid with invalid node\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3077301106082a808648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 395\n# oid with invalid node\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3077301106072a8648ce3d020106062b81040022e003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 396\n# oid with invalid node\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3077301106072a8648ce3d020106062b808104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 397\n# long form encoding of length of bit string\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3077301006072a8648ce3d020106052b810400220381620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 398\n# length of bit string contains leading 0\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3078301006072a8648ce3d020106052b81040022038200620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 399\n# wrong length of bit string\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\np", + "ublic = 3076301006072a8648ce3d020106052b8104002203630004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 400\n# wrong length of bit string\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020106052b8104002203610004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 401\n# uint32 overflow in length of bit string\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307b301006072a8648ce3d020106052b81040022038501000000620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 402\n# uint64 overflow in length of bit string\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307f301006072a8648ce3d020106052b8104002203890100000000000000620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 403\n# length of bit string = 2**31 - 1\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307a301006072a8648ce3d020106052b8104002203847fffffff0004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 404\n# length of bit string = 2**32 - 1\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307a301006072a8648ce3d020106052b810400220384ffffffff0004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 405\n# length of bit string = 2**40 - 1\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307b301006072a8648ce3d020106052b810400220385ffffffffff0004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 406\n# length of bit string = 2**64 - 1\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307e301006072a8648ce3d020106052b810400220388ffffffffffffffff0004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 407\n# incorrect length of bit string\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020106052b8104002203ff0004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 408\n# lonely bit string tag\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3013301006072a8648ce3d020106052b8104002203\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 409\n# appending 0's to bit string\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3078301006072a8648ce3d020106052b8104002203640004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312510000\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 410\n# prepending 0's to bit string\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3078301006072a8648ce3d020106052b81040022036400000004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 411\n# appending null value to bit string\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3078301006072a8648ce3d020106052b8104002203640004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312510500\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 412\n# truncated length of bit string\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3014301006072a8648ce3d020106052b810400220381\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 413\n# Replacing bit string with NULL\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3014301006072a8648ce3d020106052b810400220500\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 414\n# changing tag value of bit string\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020106052b8104002201620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 415\n# changing tag value of bit string\nprivate ", + "= 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020106052b8104002202620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 416\n# changing tag value of bit string\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020106052b8104002204620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 417\n# changing tag value of bit string\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020106052b8104002205620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 418\n# changing tag value of bit string\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020106052b81040022ff620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 419\n# dropping value of bit string\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3014301006072a8648ce3d020106052b810400220300\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 420\n# modify first byte of bit string\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020106052b8104002203620204c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 421\n# modify last byte of bit string\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312d1\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 422\n# truncated bit string\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3075301006072a8648ce3d020106052b8104002203610004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 423\n# truncated bit string\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3075301006072a8648ce3d020106052b81040022036104c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 424\n# declaring bits as unused in bit string\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020106052b8104002203620104c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 425\n# unused bits in bit string\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 307a301006072a8648ce3d020106052b8104002203662004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed03125101020304\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 426\n# unused bits in empty bit-string\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3015301006072a8648ce3d020106052b81040022030103\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n# tcId = 427\n# 128 unused bits\nprivate = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a\npublic = 3076301006072a8648ce3d020106052b8104002203628004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251\nresult = acceptable\nshared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797\nflags = InvalidAsn\n\n", }; -static const size_t kLen65 = 277731; +static const size_t kLen98 = 333824; -static const char *kData65[] = { - "# Imported from Wycheproof's ecdh_secp521r1_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: ECDH\n# Generator version: 0.4.12\n\n[curve = secp521r1]\n[encoding = asn]\n\n# tcId = 1\n# normal case\nprivate = 1939982b529596ce77a94bc6efd03e92c21a849eb4f87b8f619d506efc9bb22e7c61640c90d598f795b64566dc6df43992ae34a1341d458574440a7371f611c7dcd\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040064da3e94733db536a74a0d8a5cb2265a31c54a1da6529a198377fbd38575d9d79769ca2bdf2d4c972642926d444891a652e7f492337251adf1613cf3077999b5ce00e04ad19cf9fd4722b0c824c069f70c3c0e7ebc5288940dfa92422152ae4a4f79183ced375afb54db1409ddf338b85bb6dbfc5950163346bb63a90a70c5aba098f7\nresult = valid\nshared = 01f1e410f2c6262bce6879a3f46dfb7dd11d30eeee9ab49852102e1892201dd10f27266c2cf7cbccc7f6885099043dad80ff57f0df96acf283fb090de53df95f7d87\n\n# tcId = 2\n# compressed public key\nprivate = 1939982b529596ce77a94bc6efd03e92c21a849eb4f87b8f619d506efc9bb22e7c61640c90d598f795b64566dc6df43992ae34a1341d458574440a7371f611c7dcd\npublic = 3058301006072a8648ce3d020106052b81040023034400030064da3e94733db536a74a0d8a5cb2265a31c54a1da6529a198377fbd38575d9d79769ca2bdf2d4c972642926d444891a652e7f492337251adf1613cf3077999b5ce\nresult = acceptable\nshared = 01f1e410f2c6262bce6879a3f46dfb7dd11d30eeee9ab49852102e1892201dd10f27266c2cf7cbccc7f6885099043dad80ff57f0df96acf283fb090de53df95f7d87\n# The point in the public key is compressed. Not every library supports points\n# in compressed format.\n\n# tcId = 3\n# edge case for shared secret\nprivate = 0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646\npublic = 30819b301006072a8648ce3d020106052b810400230381860004014c643329691ba27459a40dfe7c4ce17b3ea14d0cd7aa47b01f1315404db51436fbbfe6de0842e0f7e1265f6ff3aca28750677d3370b2fb2a6ef497356f4b95811201051b14178639a09a41465c72d3743436ee1c191ff7388a40140b34d5317de5911ea03cdbb0329fdeb446695a3b92d437271a9f3c318b02dec4d473908158140e97\nresult = valid\nshared = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 4\n# edge case for shared secret\nprivate = 0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040029cd32125c23a41af24fd4b729da0faacbc35516ef0ba59096602571693cd282e26d67e18ef4643d0f6f158d7370d3394ca9a8de7938032ac178c6fd34e3702b8d008649834e2b41be3a8b7510bfe570f4c67075943cd0cbb9d9e1d1da52618b5b96d6aec9b650daf1ca6624c13e5116302b9c79c8c4d3d351915d1e8e1ab6ad76098e\nresult = valid\nshared = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\n\n# tcId = 5\n# edge case for shared secret\nprivate = 0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040032c6f06ce6a15ea064464d35aa368d299c9a9e1e368f694aefb603876248f898f223ce0217bef37d61eb09b27c93187cf8e61ba7b14e3c9bee692b06ac6d95f836019fd19f8480e21c63211d48d45f96f6365cf55f958e1a0fe7ea6b6b9ff230a87b70bb1b14d3a5fb6669a91641c6acf4570c1d3a9e709913b7fe6b35ff81c394d6a7\nresult = valid\nshared = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002\n\n# tcId = 6\n# edge case for shared secret\nprivate = 0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401f7eb96e64b1a62daf9e0801bfd96a0b15b68e5f5cb3e90b434495a473907338e53098e1c2e493335d09c6aae6fdda0345b98aaed588f2abe82910713fb6c20252901396b17cf250bc018f4cead097e7e09863f14cf1239b065e57d884949eee141926f7e7c9f7f34cf0536368767bc0e1ab5142877293a4c722693a73fe14a5390af93\nresult = valid\nshared = 000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 7\n# edge case for shared secret\nprivate = 0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646\npublic = 30819b301006072a8648ce3d020106052b810400230381860004006ddf9b10965d5fc129e96f7a37667ccf66cc44384772906fedb21f9de4629e01aaa09ac7c9866112064bbc9bd58ebc123ab2fe19d8fed1a056d27bfef0630509c7001c441311ef20a16346332ea42d5c65788d68f6817b0267fcab11ea9c948ed108115dda8e823a380b601460742d3772d6424c67b240da24772ff0d2ccd9a1e0cea6\nresult = valid\nshared = 000000ffffffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff0000000000000100000000000000\n\n# tcId = 8\n# edge case for shared secret\nprivate = 0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646\npublic = 30819b301006072a8648ce3d020106052b810400230381860004007a8c547268c948b626da636cf54428ea2ab23861d499a84ad7be1cf691b92872a06e26c6dba08ca9ed386f83d396156d5fa023f57d5ea6440ec7401dad2c08ad70018c3815b1b9a2e42555419a6c19043fa2b0ddcc4b5a6e372fee9fcb227d85bad704687e7e1a818b612d5c046cd75972f7a2dd5c9a200ac5582cd59fec47ac525ecf\nresult = valid\nshared = 00003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff\n\n# tcId = 9\n# edge case for shared secret\nprivate = 0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040029153cf062f88f303e5d6f9aac968bd901076d5994ea7f831833b1e69b67e9e9fe20cf9c5623e00e0b9e3592fca2a03324b5df7c93186aff697aca864600d44ecc002801a62e2f4106f34106da23dc93d50e3e975a1d47510021835290649b7a4125109f656b6b0b5bd00b24d84ea1ba4e1ed49e61c526fb1011005131caee7ee0501e\nresult = valid\nshared = 010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 10\n# edge case for shared secret\nprivate = 0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400a61eb994e28722c59b3c6007dfdf8b37893f6350f461b26a00e1a45104314aae9989da87e4facb2c4ef721185b7d96d9a45a28a102756501a1acc5d329a21bbf73010e8d0e12f5a9a40e0d59c90ce73043d39730aeadd3788e31d7c2bb62a1166161994664afa658ce2e60a13f45f27f914307c8d6f8d4ed16ab041b8f69908a62782f\nresult = valid\nshared = 010000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff\n\n# tcId = 11\n# edge case for shared secret\nprivate = 0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646\npublic = 30819b301006072a8648ce3d020106052b810400230381860004011dd497b30c73709906b164a9a79dc7f2a98c0148ed63016bb95243834fbcdf8eb74b0ff652d54f59f31aef51da6e8974d363655b1da138dc4de0f2a8d800f475ae0057bd4b84607400d863ffbf45a3cf58999ee24ba05e93eca7b0e4ae760eb1733559a45d15579d3370d716ffa3ec4bfdae418e32fb06138dfca213720a938577610e\nresult = valid\nshared = 01ff00000000000000000000000000000000ffffffffffffffffffffffffffffffff0000000000000000000000000000000100000000000000000000000000000000\n\n# tcId = 12\n# edge case for shared secret\nprivate = 0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401283eb93fa369fe7012b647d21e0a97cf9950e5fbed819ef56158f20c8a9473a418eccbca4dc2b47f4cb6d322f917005859bf221e84ac9827cab82a801c627fb1ec0075c480cbafb352fcaf93baf23a1405fd81febe09729a908d1077e177dd8993d94b251a0d52652da3edb6fdf864e80cd51540e73d0b5107e3433576dcaa4e18db43\nresult = valid\nshared = 01ff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff\n\n# tcId = 13\n# edge ca", - "se for shared secret\nprivate = 0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400173beefe35ee868d497ff6601628f65ce18a1591f7e4a3a406622f3f508e2da68f101ed02febc38418c6ddfc26a5ec9848c42792463b1e945f9e167db34bdf2d660053070647aba7cd60eb295ab81a268a3903f393c5d28bbc5e022351c377cd84f02c19deb36442372cae1332e92f95ba60b6c852e0de0718e89d24e43cd479c9fb11\nresult = valid\nshared = 01ff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff\n\n# tcId = 14\n# edge case for shared secret\nprivate = 0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646\npublic = 30819b301006072a8648ce3d020106052b810400230381860004009829cd5432687739ab6ae10af8ea73d2cb53b81ebb06b5961b7badc1676b3ef7b00454f7cde56774a01312d574a9193c1a5fe5336fbe62623ad9bf81143789f9f90012f955697ed578207197bf9aac3896521615dbacc8dc665d4f1715b08439f49c2aa6ed337023ffccc5075a85944936826db92f919737ca3afeadba1847084bdef7\nresult = valid\nshared = 01ff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff00010000\n\n# tcId = 15\n# edge case for shared secret\nprivate = 0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040126e3c959cd41120bb83693b1d6a034b385137c1bb3213b776122fed96056e329885718a73bee639c0ba4b68818682f498ce5496925002bd7652516405fcc4fecad0073a9c6e3b0c694bf7cc8ccbbd09800e81e3548ba44a0c2381cef0b07bf702a19054bb5d717a1b79294609cbdafd4e2018064f7b2c4c204d818eb7ce521c3268ce5\nresult = valid\nshared = 01ffc000001ffffff8000003ffffff0000007fffffe000000ffffffc000001ffffff8000003ffffff0000007fffffe000000ffffffc000001ffffff8000004000001\n\n# tcId = 16\n# edge case for shared secret\nprivate = 0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040153dc481ab3c5dc8decd24ceaee1bec77f59f21f7f31c19538af047d281ac9e2567933fd3d21096b185d4098919571931bb9b0be7197995e2fbaf21c8a10007ade001ad69f08fcae164390be826256b50fae47502ce0e9ca46af0c490cb4033c886f88661a99ff2bd3c9c8e7da30faf2b4c769edc5831810ac05054c97e41063f496e1f\nresult = valid\nshared = 01ffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff\n\n# tcId = 17\n# edge case for shared secret\nprivate = 0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401f586611c87150288c3e86116c5db94a26718978829d701ddac05e9b0ce22dee4b18e95f60cba783ed3384da373deaefc57b8265d3a34eeb458bf24b9d82be32819008456e0f1d80492ef0078cc246d32fc7c7fb6720b4d458b51b2098d35746752b0ef0345bd0d342dfee6dd2f12ed12b34bd95d058c2811fd479d2dde32180e6c9ef2\nresult = valid\nshared = 01ffffff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc000000080000002\n\n# tcId = 18\n# edge case for shared secret\nprivate = 0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646\npublic = 30819b301006072a8648ce3d020106052b810400230381860004015edc87fd499a73eabffd14d2b6a70a8fb69b6a39d0d9c4dda2337b53cc72e49a9e3d5a2d9e8930cfa11852dac33443227fba6684bd74732e6879884b6ef9dae98f010eeb8d2e3360ea9726628085268af3f2a05ad41235d0a892098bd661b636f7ef0a820282906eda3f1ff1980b98fb5937228e9edcd6332e3641216c7307e7f3f452\nresult = valid\nshared = 01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd\n\n# tcId = 19\n# edge case for shared secret\nprivate = 0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040131b43002f7e687eec1ecf6a253c2ccc9e48f04d86fccd18fee0d2d22191f1ea539c40d521970b4709dc03986f647e0e8bb3340cf8a3e643a3541035437cf25f01500b27a55ac45f0296f8c9656bcfd52b5cea9f4115c06e4c64319609847d45e92418400e7868672c0d3e6e5e6e004a7190476ed77cfc33ad19a4bd2c615ad9950f374\nresult = valid\nshared = 01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe\n\n# tcId = 20\n# edge cases for ephemeral key\nprivate = 12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d20ec9fea6b577c10d26ca1bb446f40b299e648b1ad508aad068896fee3f8e614bc63054d5772bf01a65d412e0bcaa8e965d2f5d332d7f39f846d440ae001f4f87\nresult = valid\nshared = 0053bf137fee8922769f8d0fe279caa4dac9c6054ad0460995588a845d0a959e24bc0fc2391a2b92f7bd400f50a11a9db37f07bef7fa8dad2a903fcf534abc8736f7\n\n# tcId = 21\n# edge cases for ephemeral key\nprivate = 12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010010e59be93c4f269c0269c79e2afd65d6aeaa9b701eacc194fb3ee03df47849bf550ec636ebee0ddd4a16f1cd9406605af38f584567770e3f272d688c832e843564\nresult = valid\nshared = 01c95ac417c90a520149b29105cdab36f528a23efb5621520dbdafea95a7d43499c4c8be02cd1c2de000da18104fa84a1e9ece6386f0e0efa5234a24595d7c4c96f4\n\n# tcId = 22\n# edge cases for ephemeral key\nprivate = 12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200d9254fdf800496acb33790b103c5ee9fac12832fe546c632225b0f7fce3da4574b1a879b623d722fa8fc34d5fc2a8731aad691a9a8bb8b554c95a051d6aa505acf\nresult = valid\nshared = 01b47ec41e3a5abd9dd9808fc04d9078cbed72b9eba98d3c1ded70a29938f0efd5a27a7113ff721f122cb17411de307a355c685074f5766b6d1a033d2fa188c945b6\n\n# tcId = 23\n# edge cases for ephemeral key\nprivate = 12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c\npublic = 30819b301006072a8648ce3d020106052b810400230381860004000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000005f880f50ec94bfac6658fa2fce05945c6a36b266407b6fbd5437a83e2f2f9b9c50a734872e48e70df65457f13e47d06c6b8b29f4735acf105ea63e051904d18aea\nresult = valid\nshared = 013aefe3245728a08c904fe7d61cd9c2fdac63f29cf664d8f161bebacb93f8a710e9692f9689480ad498de00f00061e40e46e76e4754c1130ef4217a58933e0b1dc6\n\n# tcId = 24\n# edge cases for ephemeral key\nprivate = 12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c\npublic = 30819b301006072a8648ce3d020106052b810400230381860004000000ffffffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff000000000000010000000000000000f33ffc45da3eac1baab727ab8fd355cfa134c42047d55262651654fb50df7e9a5a75f179c8c86c4388213b5687dc43dfebb37f30128703c44ccd5c3284833b8717\nresult = valid\nshared = 0168df272d53e3161926168c4aeab5f355b8d2a6689cfd567f2b6eb2011a18c775ac2a21f8dd497f6957217020b3b1afcb7021f24fccc2523be76a2bff44596e5a14\n\n# tcId = 25\n# edge cases for ephemeral key\nprivate = 12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c\npublic ", - "= 30819b301006072a8648ce3d020106052b81040023038186000400003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00cd2839d857b4699f5c8e8a0194786e26a862f086b4ba80746ae5225ed3aa68f96b7aaec55225830bb98f52d75221141897ba49d7a31ebbf0b6d7d31352e5266190\nresult = valid\nshared = 013db1b9241b23d33860d32dec37a79e4546a41afdfdd9c438d04e1f8b566ac8d9d3f572c293e96943722a4ee290e113fffaa82a61867d9ca28d349982354c9b256f\n\n# tcId = 26\n# edge cases for ephemeral key\nprivate = 12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c\npublic = 30819b301006072a8648ce3d020106052b810400230381860004010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000813d9829119f42ffa95fea8ba9e81e4cd6a6ca97fb0778e12e5f5dfe35201dd4cca8eca0d2e395555997041381e6ac1f18ddf4c74e0b6e9041cfdca1d1c103091\nresult = valid\nshared = 01d2bbe9f754584ebbc7c7ad74136d1c8a144948948aa8be49989dd9b4c514db2e2ab1e0713ad1699f632dd2cea53da218ed549f030a113e282fd9e3be462d9aba84\n\n# tcId = 27\n# edge cases for ephemeral key\nprivate = 12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c\npublic = 30819b301006072a8648ce3d020106052b810400230381860004010000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff00878ad597d290db2cf660594aeed0f9b7c8dd68451d2d1b2cbc816b1ec4f35465b3964aff2edf1255163f5fca580132f85cade2887a017e7cd0b37196ad85221107\nresult = valid\nshared = 000f37a2e2caef54fff4126c0fa96e7c47f0cad74626ef91e589e12d2e1e8c221be7295be9dc2712b87bb0aa0f5880b738bc1242f2ba773bf9eb2a54e3c1ca4758d7\n\n# tcId = 28\n# edge cases for ephemeral key\nprivate = 12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ff00000000000000000000000000000000ffffffffffffffffffffffffffffffff000000000000000000000000000000010000000000000000000000000000000000b5e1191b449fa1ebdbd677daa48f90e2d1d6c058c877087cafd9364d99dbb283c68402e6e6c5f5411b2ed42824d8b280ceb910aba6847883a7e3780e2132af41c1\nresult = valid\nshared = 017aeb254d9c8c8ee06215ff33811357da73bf7f6dd6d7f8f176d62c065a88a9005f680c630e9f2763585ea2ee76b6e4ab45e673f814ebfa95947c0c63fb24fa6e9b\n\n# tcId = 29\n# edge cases for ephemeral key\nprivate = 12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff00207513d615656a1cc7505c18aa21b08e2b1d5a841de0816cc29c004efdb2d902ac1a7bb05e20722b576b64a3ddf4d2486421ac706bf4a424f252386368a5340fb6\nresult = valid\nshared = 0061bed42248a37b4625ef04c4f9c7ef69ee3c6f9503378351fcab1b8ce1343206997eec1b88449eb6f7355711ea1a818a486ee30a24126241a7e2289267cf5dd61f\n\n# tcId = 30\n# edge cases for ephemeral key\nprivate = 12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff001fe800c50e54012b75a33e4be7d07c8d60f29680a395e951a6a31c5096b0ea928fc2cbf327dd784dc0a7ca46ea73992b758b5641364b4aba39e93798a4d925a008\nresult = valid\nshared = 001067d9104e296ef42b944587de11b10df05d2d959ed44cac9e7ef1c7a05d90819c43bc79c7397918f957cc98db931763bbeb1bdfc35865e8a359a013f13d60c433\n\n# tcId = 31\n# edge cases for ephemeral key\nprivate = 12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff00010000008dd18a1f5e482140be79bb65a21ad60c8987e532c84345f0135affd46ec71ef02b1ca3ad56f301d955fa306c122d441d6fedcf8b855ef256350bf69d23a7207ad9\nresult = valid\nshared = 00b779d83035cf7bb0bb04c7b2f46d08f6791f0d1542c9bcce7250e772b12ad8e38fce1d2b063a06f0fa3a1b072dd976f5f8542979903075162f1f5c6ba3b76cc45d\n\n# tcId = 32\n# edge cases for ephemeral key\nprivate = 12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ffc000001ffffff8000003ffffff0000007fffffe000000ffffffc000001ffffff8000003ffffff0000007fffffe000000ffffffc000001ffffff800000400000100566203dd325a081c4441f001f780365874fd3d0c9bc47227481afe76a93ae1bfde63af972203abfe22c63b80e83f7cc2184c3cb8cfd0152c54324c4759fd1f9a50\nresult = valid\nshared = 01afe5d23733728b79c743933b9ba7dfec5ed19b7737e393908a1d000918aa795d1ce0ad533983d018f927b35d2af6463356573f387febd75911a49486202ca69d3a\n\n# tcId = 33\n# edge cases for ephemeral key\nprivate = 12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff00b11c668fbd549f36889f7b63434051da26f15705839136b1b14a09152d7a182ea7806c35478a32d3aa3c9c1627a61519ebec71b36fa77449025b8829e27f307834\nresult = valid\nshared = 019612aeb386febb1a28096fe5b2f682dead02389785225b80a27df439510d08349a193839525f248b7f9bcabfd3dc8da8cc1724022299b7b5e72399d89464b82e44\n\n# tcId = 34\n# edge cases for ephemeral key\nprivate = 12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ffffff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc00000008000000200aa75efc0a8daac1d73f32c9c552414bccf44af8e74331b47439e7dcc49a135b3ee61e9f69717d89b4bba3567a195aeda13fbec634bf2984b5ec6b6f80f5978ed5a\nresult = valid\nshared = 00570673f87adcef49c1f011e8b9f1e11f7fd3b3c93114d08d3f515aa4a895a6c701c523063bdc13ad1db0a54f6e7b476fe10db2070441befc58c8cff3c08ef76e59\n\n# tcId = 35\n# edge cases for ephemeral key\nprivate = 12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0010e59be93c4f269c0269c79e2afd65d6aeaa9b701eacc194fb3ee03df47849bf550ec636ebee0ddd4a16f1cd9406605af38f584567770e3f272d688c832e843564\nresult = valid\nshared = 0016aaf228b0aec190d4e4e5b8138ff9cc46d705da1bf002901c6ab420f59314d5b641712b14ef3e4fb125652c47888676804fb5575b741a8408c5625bfccff4fdda\n\n# tcId = 36\n# edge cases for ephemeral key\nprivate = 12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe00d9254fdf800496acb33790b103c5ee9fac12832fe546c632225b0f7fce3da4574b1a879b623d722fa8fc34d5fc2a8731aad691a9a8bb8b554c95a051d6aa505acf\nresult = valid\nshared = 00a5d6dfda2b269f4ab895a41c3b71b6ba10d5c9f0d9b3e730275345e4721594abfd39464c227716ded8ef3e60bb1ca0b551716e3f6eebb48d5ce8e0ab58cb1b73c9\n\n# tcId = 37\n# edge case private key\nprivate = 3\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7", - "655c50b2b7835f314\nresult = valid\nshared = 00f2246431b597930f2eae61e9aabbd39f8f6ae97c3cf2521a6aeecedda10b5ef5f3b2eb3a8906d02f51d244710aa9e19cc0be21db920132be1c91deb85e466c28df\n\n# tcId = 38\n# edge case private key\nprivate = 1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314\nresult = valid\nshared = 00347c51f587c726070bdeb9173d0a547427ead3f2c8de62d9ecc3013285f645d220931520bcef85d08cfb6786045745fbfbfb1924c44a89d06676131a965677272a\n\n# tcId = 39\n# edge case private key\nprivate = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314\nresult = valid\nshared = 01c41dc4437c2f2b94a940711b3a691723397a1f83d6bc0c67ddc7a657160925c7f85bb4eb3842b60b2610ddb7c0b8676267710e58359a8750843c6d8e25d48d1cd9\n\n# tcId = 40\n# edge case private key\nprivate = 0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314\nresult = valid\nshared = 006a239cdb7a783840658d5f314bfe5c51e806a4bf1236f8421265bcc503c673eb16c5c2b38b5717fa04ee7dbcdeb15c871711507abb7557a8a8c7b3250141e854d5\n\n# tcId = 41\n# edge case private key\nprivate = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314\nresult = valid\nshared = 0112dbf9713aadd478e4f2ebcb058f05b512b1959c7da1994f851f373ce8c341d39c6843373f6fe559905953e1147640159437953c571961c09bad157a8e1a5bf476\n\n# tcId = 42\n# edge case private key\nprivate = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47adbb6fb71e91386409\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314\nresult = valid\nshared = 003eca2210c8623105085aa284d119f3d716730595c6291aa89bf32a95e8a5fdc64f3d76e92494a43a9dced12d05b6dca4ffe649b32ac12cb0202e702dc83a2cb277\n\n# tcId = 43\n# edge case private key\nprivate = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb5fb71e91386409\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314\nresult = valid\nshared = 01c4cae9fbfdd45de51d8525e8447a7553c35cf358f1346f1d79666887bb749a3ba0de62e1866b47a447d53b6f1ca5a33ec94507e2cfb65544f5a1195fc6b4dc5810\n\n# tcId = 44\n# edge case private key\nprivate = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb67b71e91386409\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314\nresult = valid\nshared = 008073b4796e748f3d0de5e85b22aed463f1a6aecdb336bc287b50d139e3591ef5f86b78c3f6051467755f059f295d758075347d657aaae02383838bb96071eacbd4\n\n# tcId = 45\n# edge case private key\nprivate = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71d91386409\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314\nresult = valid\nshared = 01f11ff8983792d4a790d0de4b56d078b9033ad6318a440e8119342937cc48a39375150ab2cf98273b0fe35d5a3af5d84322a685e89f2cb378a99b9b7bac87e44952\n\n# tcId = 46\n# edge case private key\nprivate = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138631b\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314\nresult = valid\nshared = 00286cefaaf38ca4c6657eb9b187d8614d51775fd71c1a79b4c0ef1a0d4ce72b6f5b2bc854a4e78283530942a3f4fd2a8586d5ea51513c89d3d29de5de06321e118e\n# The private key has a special value. Implementations using addition\n# subtraction chains for the point multiplication may get the point at infinity\n# as an intermediate result. See CVE_2017_10176\n\n# tcId = 47\n# edge case private key\nprivate = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138639b\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314\nresult = valid\nshared = 014790de14c481f1336fcb7d33a8bf8e23eb594cc48608e9edfe0e326e106b67e7eaa3f04ec9985599178f632a5ee6419e11217060e9fcd5958a43882bf8cd3be6ba\n# The private key has a special value. Implementations using addition\n# subtraction chains for the point multiplication may get the point at infinity\n# as an intermediate result. See CVE_2017_10176\n\n# tcId = 48\n# edge case private key\nprivate = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e913863db\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314\nresult = valid\nshared = 01ae775dbc4096a3aea7977b1a0af4b2830ecf9ca927a6247fba4cccb46b3f71d0e7abb8dda72d1c1ee7bb5b875b4773cc8df40f732819c4147da330775d1742ea35\n# The private key has a special value. Implementations using addition\n# subtraction chains for the point multiplication may get the point at infinity\n# as an intermediate result. See CVE_2017_10176\n\n# tcId = 49\n# edge case private key\nprivate = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c", - "9b8899c47aebb6fb71e913863fb\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314\nresult = valid\nshared = 01979fb05e068a12a3f20cfdfb9eaee9f22b356edcc7655383ed38124b86814f86a6f2216a34f3fc2299d403ee42408f95d08c5c6cd11db72cbf299a4a3c2545be25\n# The private key has a special value. Implementations using addition\n# subtraction chains for the point multiplication may get the point at infinity\n# as an intermediate result. See CVE_2017_10176\n\n# tcId = 50\n# edge case private key\nprivate = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386403\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314\nresult = valid\nshared = 0197ebe26798bf67f06ff0282773af75115531f41d94c093d87481b76bef707bc222f2d6672f84a00fa20c5ed27027ab4006b68d93ee2151016c9ddbe014346272e2\n# The private key has a special value. Implementations using addition\n# subtraction chains for the point multiplication may get the point at infinity\n# as an intermediate result. See CVE_2017_10176\n\n# tcId = 51\n# edge case private key\nprivate = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386406\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314\nresult = valid\nshared = 00f2246431b597930f2eae61e9aabbd39f8f6ae97c3cf2521a6aeecedda10b5ef5f3b2eb3a8906d02f51d244710aa9e19cc0be21db920132be1c91deb85e466c28df\n\n# tcId = 52\n# edge case private key\nprivate = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386407\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314\nresult = valid\nshared = 01c168314cdc85757ade34a52a9e5379ffa5968f084b7e404939a8033a0fc698e26211754b9b2c04cf8a1420abe6e986ef1a238bbb91dd402b72e0ed50a876f1a83e\n# The private key has a special value. Implementations using addition\n# subtraction chains for the point multiplication may get the point at infinity\n# as an intermediate result. See CVE_2017_10176\n\n# tcId = 53\n# CVE-2017-10176: Issue with elliptic curve addition\nprivate = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e913863f7\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650\nresult = valid\nshared = 01bc33425e72a12779eacb2edcc5b63d1281f7e86dbc7bf99a7abd0cfe367de4666d6edbb8525bffe5222f0702c3096dec0884ce572f5a15c423fdf44d01dd99c61d\n# This test vector leads to an EC point multiplication where an intermediate\n# result can be the point at infinity, if addition-subtraction chains are used\n# to speed up the point multiplication.\n\n# tcId = 54\n# point is not on curve\nprivate = 1c6cafb74e2a50c82c7a63d13294bfea113f271e01ae305f79af43203cd32115ecdf2fee5fedba2ad3126783db0c3c4d3029a14369e8f80dbd15d512f13e51c503c\npublic = 30819b301006072a8648ce3d020106052b810400230381860004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = invalid\nshared = \n\n# tcId = 55\n# point is not on curve\nprivate = 1c6cafb74e2a50c82c7a63d13294bfea113f271e01ae305f79af43203cd32115ecdf2fee5fedba2ad3126783db0c3c4d3029a14369e8f80dbd15d512f13e51c503c\npublic = 30819b301006072a8648ce3d020106052b810400230381860004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nresult = invalid\nshared = \n\n# tcId = 56\n# point is not on curve\nprivate = 1c6cafb74e2a50c82c7a63d13294bfea113f271e01ae305f79af43203cd32115ecdf2fee5fedba2ad3126783db0c3c4d3029a14369e8f80dbd15d512f13e51c503c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe\nresult = invalid\nshared = \n\n# tcId = 57\n# point is not on curve\nprivate = 1c6cafb74e2a50c82c7a63d13294bfea113f271e01ae305f79af43203cd32115ecdf2fee5fedba2ad3126783db0c3c4d3029a14369e8f80dbd15d512f13e51c503c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nresult = invalid\nshared = \n\n# tcId = 58\n# point is not on curve\nprivate = 1c6cafb74e2a50c82c7a63d13294bfea113f271e01ae305f79af43203cd32115ecdf2fee5fedba2ad3126783db0c3c4d3029a14369e8f80dbd15d512f13e51c503c\npublic = 30819b301006072a8648ce3d020106052b810400230381860004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = invalid\nshared = \n\n# tcId = 59\n# point is not on curve\nprivate = 1c6cafb74e2a50c82c7a63d13294bfea113f271e01ae305f79af43203cd32115ecdf2fee5fedba2ad3126783db0c3c4d3029a14369e8f80dbd15d512f13e51c503c\npublic = 30819b301006072a8648ce3d020106052b810400230381860004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nresult = invalid\nshared = \n\n# tcId = 60\n# point is not on curve\nprivate = 1c6cafb74e2a50c82c7a63d13294bfea113f271e01ae305f79af43203cd32115ecdf2fee5fedba2ad3126783db0c3c4d3029a14369e8f80dbd15d512f13e51c503c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe\nresult = invalid\nshared = \n\n# tcId = 61\n# point is not on curve\nprivate = 1c6cafb74e2a50c82c7a63d13294bfea113f271e01ae305f79af43203cd32115ecdf2fee5fedba2ad3126783db0c3c4d3029a14369e8f80dbd15d512f13e51c503c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "ffffffffffffff\nresult = invalid\nshared = \n\n# tcId = 62\n# point is not on curve\nprivate = 1c6cafb74e2a50c82c7a63d13294bfea113f271e01ae305f79af43203cd32115ecdf2fee5fedba2ad3126783db0c3c4d3029a14369e8f80dbd15d512f13e51c503c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = invalid\nshared = \n\n# tcId = 63\n# point is not on curve\nprivate = 1c6cafb74e2a50c82c7a63d13294bfea113f271e01ae305f79af43203cd32115ecdf2fee5fedba2ad3126783db0c3c4d3029a14369e8f80dbd15d512f13e51c503c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nresult = invalid\nshared = \n\n# tcId = 64\n# point is not on curve\nprivate = 1c6cafb74e2a50c82c7a63d13294bfea113f271e01ae305f79af43203cd32115ecdf2fee5fedba2ad3126783db0c3c4d3029a14369e8f80dbd15d512f13e51c503c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe\nresult = invalid\nshared = \n\n# tcId = 65\n# point is not on curve\nprivate = 1c6cafb74e2a50c82c7a63d13294bfea113f271e01ae305f79af43203cd32115ecdf2fee5fedba2ad3126783db0c3c4d3029a14369e8f80dbd15d512f13e51c503c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nresult = invalid\nshared = \n\n# tcId = 66\n# point is not on curve\nprivate = 1c6cafb74e2a50c82c7a63d13294bfea113f271e01ae305f79af43203cd32115ecdf2fee5fedba2ad3126783db0c3c4d3029a14369e8f80dbd15d512f13e51c503c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = invalid\nshared = \n\n# tcId = 67\n# point is not on curve\nprivate = 1c6cafb74e2a50c82c7a63d13294bfea113f271e01ae305f79af43203cd32115ecdf2fee5fedba2ad3126783db0c3c4d3029a14369e8f80dbd15d512f13e51c503c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nresult = invalid\nshared = \n\n# tcId = 68\n# point is not on curve\nprivate = 1c6cafb74e2a50c82c7a63d13294bfea113f271e01ae305f79af43203cd32115ecdf2fee5fedba2ad3126783db0c3c4d3029a14369e8f80dbd15d512f13e51c503c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe\nresult = invalid\nshared = \n\n# tcId = 69\n# point is not on curve\nprivate = 1c6cafb74e2a50c82c7a63d13294bfea113f271e01ae305f79af43203cd32115ecdf2fee5fedba2ad3126783db0c3c4d3029a14369e8f80dbd15d512f13e51c503c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nresult = invalid\nshared = \n\n# tcId = 70\nprivate = 1c6cafb74e2a50c82c7a63d13294bfea113f271e01ae305f79af43203cd32115ecdf2fee5fedba2ad3126783db0c3c4d3029a14369e8f80dbd15d512f13e51c503c\npublic = 3015301006072a8648ce3d020106052b81040023030100\nresult = invalid\nshared = \n\n# tcId = 71\n# public point not on curve\nprivate = 1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fe1\nresult = invalid\nshared = \n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n\n# tcId = 72\n# public point = (0,0)\nprivate = 1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7\npublic = 30819b301006072a8648ce3d020106052b810400230381860004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = invalid\nshared = \n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n\n# tcId = 73\n# order =\n# -6864797660130609714981900799081393217269435300143305409394463459185543183397655394245057746333217197532963996371363321113864768612440380340372808892707005449\nprivate = 1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7\npublic = 30820245308201b806072a8648ce3d0201308201ab020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308187044201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f000481850400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd166500242fe000000000000000000000000000000000000000000000000000000000000000005ae79787c40d069948033feb708f65a2fc44a36477663b851449048e16ec79bf7020101038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf\nresult = invalid\nshared = 00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de\n# The order of the public key has been modified. If this order is used in a\n", - "# cryptographic primitive instead of the correct order then private keys may\n# leak. E.g. ECDHC in BC 1.52 suffered from this.\n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 74\n# order = 0\nprivate = 1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7\npublic = 308202043082017706072a8648ce3d02013082016a020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308187044201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f000481850400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650020100020101038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf\nresult = invalid\nshared = 00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de\n# The order of the public key has been modified. If this order is used in a\n# cryptographic primitive instead of the correct order then private keys may\n# leak. E.g. ECDHC in BC 1.52 suffered from this.\n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 75\n# order = 1\nprivate = 1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7\npublic = 308202043082017706072a8648ce3d02013082016a020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308187044201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f000481850400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650020101020101038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf\nresult = acceptable\nshared = 00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de\n# The order of the public key has been modified. If this order is used in a\n# cryptographic primitive instead of the correct order then private keys may\n# leak. E.g. ECDHC in BC 1.52 suffered from this.\n# A parameter that is typically not used for ECDH has been modified. Sometimes\n# libraries ignore small differences between public and private key. For\n# example, a library might ignore an incorrect cofactor in the public key. We\n# consider ignoring such changes as acceptable as long as these differences do\n# not change the outcome of the ECDH computation, i.e. as long as the\n# computation is done on the curve from the private key.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 76\n# order =\n# 1598335257761788022467377781654101148543282249044465229239888363328190330275719844327554513312228302828260696579553960150541916632196023208175974174\nprivate = 1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7\npublic = 30820241308201b406072a8648ce3d0201308201a7020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308187044201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f000481850400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650023e01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e020101038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf\nresult = acceptable\nshared = 00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de\n# The order of the public key has been modified. If this order is used in a\n# cryptographic primitive instead of the correct order then private keys may\n# leak. E.g. ECDHC in BC 1.52 suffered from this.\n# A parameter that is typically not used for ECDH has been modified. Sometimes\n# libraries ignore small differences between public and private key. For\n# example, a library might ignore an incorrect cofactor in the public key. We\n# consider ignoring such changes as acceptable as long as these differences do\n# not change the outcome of the ECDH computation, i.e. as long as the\n# computation is done on the curve from the private key.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. Howev", - "er, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 77\n# generator = (0,0)\nprivate = 1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7\npublic = 30820245308201b806072a8648ce3d0201308201ab020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308187044201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f0004818504000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409020101038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf\nresult = acceptable\nshared = 00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de\n# A parameter that is typically not used for ECDH has been modified. Sometimes\n# libraries ignore small differences between public and private key. For\n# example, a library might ignore an incorrect cofactor in the public key. We\n# consider ignoring such changes as acceptable as long as these differences do\n# not change the outcome of the ECDH computation, i.e. as long as the\n# computation is done on the curve from the private key.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 78\n# generator not on curve\nprivate = 1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7\npublic = 30820245308201b806072a8648ce3d0201308201ab020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308187044201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f000481850400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16652024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409020101038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf\nresult = acceptable\nshared = 00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de\n# A parameter that is typically not used for ECDH has been modified. Sometimes\n# libraries ignore small differences between public and private key. For\n# example, a library might ignore an incorrect cofactor in the public key. We\n# consider ignoring such changes as acceptable as long as these differences do\n# not change the outcome of the ECDH computation, i.e. as long as the\n# computation is done on the curve from the private key.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 79\n# cofactor = -1\nprivate = 1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7\npublic = 30820245308201b806072a8648ce3d0201308201ab020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308187044201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f000481850400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e913864090201ff038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf\nresult = invalid\nshared = 00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de\n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 80\n# cofactor = 0\nprivate = 1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7\npublic = 30820245308201b806072a8648ce3d0201308201ab020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308187044201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f000481850400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc", - "0148f709a5d03bb5c9b8899c47aebb6fb71e91386409020100038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf\nresult = invalid\nshared = 00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de\n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 81\n# cofactor = 2\nprivate = 1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7\npublic = 30820245308201b806072a8648ce3d0201308201ab020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308187044201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f000481850400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409020102038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf\nresult = acceptable\nshared = 00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de\n# A parameter that is typically not used for ECDH has been modified. Sometimes\n# libraries ignore small differences between public and private key. For\n# example, a library might ignore an incorrect cofactor in the public key. We\n# consider ignoring such changes as acceptable as long as these differences do\n# not change the outcome of the ECDH computation, i.e. as long as the\n# computation is done on the curve from the private key.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 82\n# cofactor =\n# 6864797660130609714981900799081393217269435300143305409394463459185543183397655394245057746333217197532963996371363321113864768612440380340372808892707005449\nprivate = 1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7\npublic = 30820286308201f906072a8648ce3d0201308201ec020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308187044201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f000481850400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf\nresult = invalid\nshared = 00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de\n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 83\n# cofactor = None\nprivate = 1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7\npublic = 30820242308201b506072a8648ce3d0201308201a8020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308187044201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f000481850400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf\nresult = acceptable\nshared = 00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de\n# A parameter that is typically not used for ECDH has been modified. Sometimes\n# libraries ignore small differences between public and private key. For\n# example, a library might ignore an incorrect cofactor in the public key. We\n# consider ignoring such changes as acceptable as long as these differences do\n# not change the outcome of the ECDH computation, i.e. as long as the\n# computation is done on the curve from the private key.\n# The public key does not use a n", - "amed curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 84\n# modified prime\nprivate = 1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7\npublic = 30820244308201b706072a8648ce3d0201308201aa020101304d06072a8648ce3d0101024201e99d17d498f3c68ed8e50430ec4f36c14dbeeaf7652e985636bf0548ffb981e9e011607fd0059cd4fe51e882f19a3839ebe7f1d7376cb761431b214ed76970cc0130818604411662e82b670c3971271afbcf13b0c93eb24115089ad167a9c940fab700467e161fee9f802ffa632b01ae177d0e65c7c614180e28c893489ebce4deb128968f33fb044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f0004818504000000000000000000000000000000000000000000000a14517cc6b91f8000000000000000000000000000000000000000000000000000000000000000000000032c006b0f530bec5bed532357d436727699f0e3c5b9366f1a435be640b97cd43d937655b1f157c7d0c7df25011fef7c3ab7d8e556e6125b59b847fcdd89a4051796a797024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e913864090201010381860004000000000000000000000000000000000000000000000a14517cc6b91f8000000000000000000000000000000000000000000000000000000000000000000000032c006b0f530bec5bed532357d436727699f0e3c5b9366f1a435be640b97cd43d937655b1f157c7d0c7df25011fef7c3ab7d8e556e6125b59b847fcdd89a4051796a797\nresult = invalid\nshared = 00ebef6771455911ee573c183e990f7086650f9bafdb722c896751bd2c0f87959c78a39382d10fdfb46fd3515c8feb590943dd79778b13adbc7f670ba2a009753483\n# The modulus of the public key has been modified. The public point of the\n# public key has been chosen so that it is both a point on both the curve of the\n# modified public key and the private key.\n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 85\n# using secp224r1\nprivate = 1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7\npublic = 304e301006072a8648ce3d020106052b81040021033a0004074f56dc2ea648ef89c3b72e23bbd2da36f60243e4d2067b70604af1c2165cec2f86603d60c8a611d5b84ba3d91dfe1a480825bcc4af3bcf\nresult = invalid\nshared = \n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n\n# tcId = 86\n# using secp256r1\nprivate = 1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004cbf6606595a3ee50f9fceaa2798c2740c82540516b4e5a7d361ff24e9dd15364e5408b2e679f9d5310d1f6893b36ce16b4a507509175fcb52aea53b781556b39\nresult = invalid\nshared = \n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n\n# tcId = 87\n# using secp256k1\nprivate = 1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7\npublic = 3056301006072a8648ce3d020106052b8104000a03420004a1263e75b87ae0937060ff1472f330ee55cdf8f4329d6284a9ebfbcc856c11684225e72cbebff41e54fb6f00e11afe53a17937bedbf2df787f8ef9584f775838\nresult = invalid\nshared = \n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n\n# tcId = 88\n# a = 0\nprivate = 1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7\npublic = 308202033082017606072a8648ce3d020130820169020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3046040100044109a88e6f050cfefa0b49fac45689b6b93ad4fa3b65db7d2f4cb31b67fe056a100066dd80dc5f785d27f82e3369eb22ab2c5729a9e5d9906a1dc31e02f84026484a0481850400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409020101038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf\nresult = acceptable\nshared = 00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de\n# A parameter that is typically not used for ECDH has been modified. Sometimes\n# libraries ignore small differences between public and private key. For\n# example, a library might ignore an incorrect cofactor in the public key. We\n# consider ignoring such changes as acceptable as long as these differences do\n# not change the outcome of the ECDH computation, i.e. as long as the\n# computation is done on the curve from the private key.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 89\n# public key of order 3\nprivate = 1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7\npublic = 30820244308201b706072a8648ce3d0201308201aa020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308186044163dd8adacb707513ee414c8ef43488d841c6dee055e7524338729de3f0f80d5a7f5a2f9451681187763175d5fa44b124a736c1e335ab2bc44e90afd9d73afdcf81044139acb17f9aea561444370f028fabe3abd6abc36dfaecd355019c030fc56571cb027a33c4ded31a03d257c8e05180a0199487dcc6bfa009db62b36021c7ca0767720481850401955425b4109a40c74ada7d7fb4fe7b160a9fc16955847666b", - "6450b0905ca920866e52664275b0b3cf7b9e2628dde865ed6ce3c8596638c1acbb71608dd81005b1001197944c6bf8dd7b06144a5b7cd32746aac97c8a5bc6274acd571fece0c14c9e57122e8e6d7d70db21d55d0123f004fd9698067392de468abfeef8890103b954e51024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409020101038186000401955425b4109a40c74ada7d7fb4fe7b160a9fc16955847666b6450b0905ca920866e52664275b0b3cf7b9e2628dde865ed6ce3c8596638c1acbb71608dd81005b1000e686bb394072284f9ebb5a4832cd8b955368375a439d8b532a8e0131f3eb361a8edd17192828f24de2aa2fedc0ffb026967f98c6d21b97540110776fefc46ab1ae\nresult = invalid\nshared = 01f1f914da0c64135b9c4334c82393abf73d3112a1197581e9c8e97b2e3c02696f6d445400aefb87eda50aced68209f961e1af3fa37efbde303880a4371b776085ab\n# The vector contains a weak public key. The curve is not a named curve, the\n# public key point has order 3 and has been chosen to be on the same curve as\n# the private key. This test vector is used to check ECC implementations for\n# missing steps in the verification of the public key.\n# The public key has been modified and is invalid. An implementation should\n# always check whether the public key is valid and on the same curve as the\n# private key. The test vector includes the shared secret computed with the\n# original public key if the public point is on the curve of the private key.\n# Generating a shared secret other than the one with the original key likely\n# indicates that the bug is exploitable.\n# The public key does not use a named curve. RFC 3279 allows to encode such\n# curves by explicitly encoding, the parameters of the curve equation, modulus,\n# generator, order and cofactor. However, many crypto libraries only support\n# named curves. Modifying some of the EC parameters and encoding the\n# corresponding public key as an unnamed curve is a potential attack vector.\n\n# tcId = 90\n# Public key uses wrong curve: secp224r1\nprivate = 2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657\npublic = 304e301006072a8648ce3d020106052b81040021033a0004af6dd5b71a8c1cf921e36854ae091aaa589d337e740e8579f816eb9e36b03eec5cf956d0fdd2fc1687335507fc1c4a5717d3b5b8ea8340d1\nresult = invalid\nshared = \n\n# tcId = 91\n# Public key uses wrong curve: secp256r1\nprivate = 2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000453366db79b320781936df61bb55d4499949d813ee5abaa5dda70da4f97f68228ccc69d7cd0b7266cfc28d0dcafdf3e83738cc611acb08f8b896c4ecf82dd65ae\nresult = invalid\nshared = \n\n# tcId = 92\n# Public key uses wrong curve: secp384r1\nprivate = 2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657\npublic = 3076301006072a8648ce3d020106052b8104002203620004aa45c13ce3cfea8538422712903edc0ce56df74ede0776e843555a786f9738de1943dffd729addfd4772169751d7765a45b5bb540a47d198f4c8c7c21e67560c1e12f70b64520109bb8858a3f8d6bb4012003431db0778633313fdb9464c47ec\nresult = invalid\nshared = \n\n# tcId = 93\n# Public key uses wrong curve: secp256k1\nprivate = 2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657\npublic = 3056301006072a8648ce3d020106052b8104000a0342000475e01a1555380be188d69aac340a4675e4a6f73d63976a1075249827d8ecc2a31e65ed1eb591954e33a38f68ef8aa6c930229d8755e53257602b3eaa87de6f02\nresult = invalid\nshared = \n\n# tcId = 94\n# Public key uses wrong curve: brainpoolP224r1\nprivate = 2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657\npublic = 3052301406072a8648ce3d020106092b2403030208010105033a0004905a06d5bc093697155aaff67305976a769b904d8db9573c4be361626def2ffe1d5ec14462c02e5ffb24fb3edb2b6c77a5cfee2492db757b\nresult = invalid\nshared = \n\n# tcId = 95\n# Public key uses wrong curve: brainpoolP256r1\nprivate = 2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657\npublic = 305a301406072a8648ce3d020106092b2403030208010107034200042b87df1b6a5cbc4c4a184b7eec9b6c0483f7b80e6477b29649630c37481876bb0e3423f7a00d469320b7e60c88370979064efb9ceb8b387aa87a7c6941ccd9ed\nresult = invalid\nshared = \n\n# tcId = 96\n# Public key uses wrong curve: brainpoolP320r1\nprivate = 2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657\npublic = 306a301406072a8648ce3d020106092b24030302080101090352000470df62394ee036eefbc8ef11a9a5f3a8af659016f29e7125e52cfda0a74e52c7b21d18ac4375f5e4164c5338fa2f545a3fb2022f0e0686d5b4882958f72b1bb626e37093e3f19673968c237823327fd6\nresult = invalid\nshared = \n\n# tcId = 97\n# Public key uses wrong curve: brainpoolP384r1\nprivate = 2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657\npublic = 307a301406072a8648ce3d020106092b240303020801010b03620004808dc7b1c6d3ec470a7fe5d6144c9c3a8c92b116103aa2edbfce0b2c827312eebcd1350d09a739eac901af341487861b195270f671e0a758deb23222db4fe7983d42a785b35fd158344cd6483c4da5b409e77d0a284dfa9c3e0d91a4d275fce9\nresult = invalid\nshared = \n\n# tcId = 98\n# Public key uses wrong curve: brainpoolP512r1\nprivate = 2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657\npublic = 30819b301406072a8648ce3d020106092b240303020801010d0381820004aa11b560dc1e572f2374e5869210304d66d95b1d8ce40940157f5f5b4a7dc8a340f7c305d6bea289f5c430eb888e2a03528336aaf4680d9d153cd162e2229df330425025df2625b147568927f6acf704e4936f8989ff9d44f33ee22196e70dfd8711e8934d8d42abb4b67afcfee213c3ad5e5c83fcf4283d253d6c5c0e581970\nresult = invalid\nshared = \n\n# tcId = 99\n# Public key uses wrong curve: brainpoolP224t1\nprivate = 2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657\npublic = 3052301406072a8648ce3d020106092b2403030208010106033a00048d7a746de095728a8d83219e587040cb6e794d088ab6eab426638202579850b0f235edcf4eb8adcb51bf41878f6b71a1f2d4101022964340\nresult = invalid\nshared = \n\n# tcId = 100\n# Public key uses wrong curve: brainpoolP256t1\nprivate = 2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657\npublic = 305a301406072a8648ce3d020106092b24030302080101080342000424ad316bf41e4102dd7ae16311b64464df2d13ea68a11dd27a4445ed900962180ff8c627ed73f0c667863ee3a671e6ed1fa2781b51a229ee2cd21fbf69437d60\nresult = invalid\nshared = \n\n# tcId = 101\n# Public key uses wrong curve: brainpoolP320t1\nprivate = 2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657\npublic = 306a301406072a8648ce3d020106092b240303020801010a03520004548ce4997cc618800d3834dd4b3346e4559be066ab5d0cecd7123c4de940c168fecd3bae067fe3fc7aee875c9da0a86932f0779f42344470860c22dbc6f305eab792fc0874157e175c7d3c4d3bf54c4b\nresult = invalid\nshared = \n\n# tcId = 102\n# Public key uses wrong curve: brainpoolP384t1\nprivate = 2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657\npublic = 307a301406072a8648ce3d020106092b240303020801010c036200044fc2b35e3019a57a8ca6efe2ec1f72072c599a78c2725f7cfc2d9edf220b5f6abdb0c0d8d160182de451e26bcbb4e8c18726263e21ce56fb4bafaa1f186c745e2c8392ef8c5a1c03f5462ebbbcde0ffcc31e9a0b3e898ddb9c1c79e420fd7a35\nresult = invalid\nshared = \n\n# tcId = 103\n# Public key uses wrong curve: brainpoolP512t1\nprivate = 2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657\npublic = 30819b301406072a8648ce3d020106092b240303020801010e03818200047122f743122681ac73b0d611af86847d8bec654cf99e7eaf5d4f684e4078a8e61dc6d07e831ad02cd40d41dbdb6b0e877d960b78a5ac34c1e6ce7c483503d6de2eaddeffbfb3f144d29d13535a05815934186707146e45f64476bbdbc8645be973270a4c5e35d70ffd5eab2f08d1fb04762bc8aa80e999da14f744be9ff8c923\nresult", - " = invalid\nshared = \n\n# tcId = 104\n# invalid public key\nprivate = 1c1fb2cac9087a3397814b198a80e2ea5b437aac1b41e8a2bd8fef8700e4812aa817320e6e1e3865bd2cf75e43a78be5c27ff1c4b5f5019333cb37d0c9c4ff3ec61\npublic = 3058301006072a8648ce3d020106052b810400230344000200429cb431c18f5f4e4e502f74214e6ac5ec2c3f86b830bac24de95feae142ca7d9aa8aa5b34f55af4b2848f2e6ba6df4c3ecd401a1d7b2a8287a332b202196fadbb\nresult = invalid\nshared = \n# The point in the public key is compressed. Not every library supports points\n# in compressed format.\n\n# tcId = 105\n# public key is a low order point on twist\nprivate = 6619644155c449758f65e2dfe7ba89dee1e090c1d68b6342f43cb1ac000090a7f0408138c1de217990bb015cd1d95f1d884cf659f7324f2fe21eeba63ea988aacd\npublic = 3058301006072a8648ce3d020106052b81040023034400020108cbf3c9bf8e42135d87127556831076d84d5e549e645afda8a099249231b59b6c508dee4e91c9a543e90ebc82613f86cb1290e29102a0f2fdeb57bf4193fb4639\nresult = invalid\nshared = \n# The point in the public key is compressed. Not every library supports points\n# in compressed format.\n\n# tcId = 106\n# public key is a low order point on twist\nprivate = 0a257d97aa4e5195e2919c147c1639bb0da0cce479a036489006b7b8e7e885096066e5adc8fe7c45940c5a6b94d5065b966a45f099a0cecfe9cce1b3e99dca479f2\npublic = 3058301006072a8648ce3d020106052b8104002303440003011f2dca6b686e2141c11822e2d5439261583ce98cd6c4041c6d1be9e17dee33ea4a65c3e8cca6de50a30a39c788a585f1188bef0680a9c0264b3c8dcf494d0eb948\nresult = invalid\nshared = \n# The point in the public key is compressed. Not every library supports points\n# in compressed format.\n\n# tcId = 107\n# public key is a low order point on twist\nprivate = 0a257d97aa4e5195e2919c147c1639bb0da0cce479a036489006b7b8e7e885096066e5adc8fe7c45940c5a6b94d5065b966a45f099a0cecfe9cce1b3e99dca479f3\npublic = 3058301006072a8648ce3d020106052b8104002303440002011f2dca6b686e2141c11822e2d5439261583ce98cd6c4041c6d1be9e17dee33ea4a65c3e8cca6de50a30a39c788a585f1188bef0680a9c0264b3c8dcf494d0eb948\nresult = invalid\nshared = \n# The point in the public key is compressed. Not every library supports points\n# in compressed format.\n\n# tcId = 108\n# public key is a low order point on twist\nprivate = 6619644155c449758f65e2dfe7ba89dee1e090c1d68b6342f43cb1ac000090a7f0408138c1de217990bb015cd1d95f1d884cf659f7324f2fe21eeba63ea988aacc\npublic = 3058301006072a8648ce3d020106052b81040023034400030108cbf3c9bf8e42135d87127556831076d84d5e549e645afda8a099249231b59b6c508dee4e91c9a543e90ebc82613f86cb1290e29102a0f2fdeb57bf4193fb4639\nresult = invalid\nshared = \n# The point in the public key is compressed. Not every library supports points\n# in compressed format.\n\n# tcId = 109\n# public key is a low order point on twist\nprivate = 2a35258787f91ad0bd3432c3022e4d3ed349c8768a7e7caa1836022fc0c89a9073f6ce14d0990d5b7bb413061c7160e7bd566a5c89f14901b2cc19f1ad531f41e2\npublic = 3058301006072a8648ce3d020106052b81040023034400020009cc73141cf1843d2b2c95dc5cbc4d615c6da4814c1c7208615d8e78c7a8666aba1852faaa45a45d32bd0fde6ea78f262a96bf1e02949cea48c33c695103683048\nresult = invalid\nshared = \n# The point in the public key is compressed. Not every library supports points\n# in compressed format.\n\n# tcId = 110\n# public key is a low order point on twist\nprivate = 1afe5c77a626161fb2c25964c7895b9fff787099db83f077f05a4bfa320fb61f9315bb44d3fb9dd72225d9d993a18df82ac53fb4a5f86b23cb650e5e4778066f677\npublic = 3058301006072a8648ce3d020106052b81040023034400030047b9cf28e04b38796858545d60d6133fbdc20ede086e5d95111c982b8c276628235e536c075637a97c0a6c30d02b83b19e578203473eea16dfdeaeccb1dc0d9b19\nresult = invalid\nshared = \n# The point in the public key is compressed. Not every library supports points\n# in compressed format.\n\n# tcId = 111\n# public key is a low order point on twist\nprivate = 24ae709e1644e3087b52470c565268becbdbf97de59916763507d109c2e5b7c21727c64e9b560aa248d7bc9fe0ac95720d507263b7b2859b056ea165301cd599d5\npublic = 3058301006072a8648ce3d020106052b810400230344000300c18410f5727ee0101a52ef95c0ac455cbc65bf9967f0a2c419aa0a291cabad569f2337e102d0a9128f4212dbf9fa9e5a8f14ca7f28e82977281facdd9ca7a92c78\nresult = invalid\nshared = \n# The point in the public key is compressed. Not every library supports points\n# in compressed format.\n\n# tcId = 112\n# public key is a low order point on twist\nprivate = 24ae709e1644e3087b52470c565268becbdbf97de59916763507d109c2e5b7c21727c64e9b560aa248d7bc9fe0ac95720d507263b7b2859b056ea165301cd599d6\npublic = 3058301006072a8648ce3d020106052b810400230344000200c18410f5727ee0101a52ef95c0ac455cbc65bf9967f0a2c419aa0a291cabad569f2337e102d0a9128f4212dbf9fa9e5a8f14ca7f28e82977281facdd9ca7a92c78\nresult = invalid\nshared = \n# The point in the public key is compressed. Not every library supports points\n# in compressed format.\n\n# tcId = 113\n# public key is a low order point on twist\nprivate = 1afe5c77a626161fb2c25964c7895b9fff787099db83f077f05a4bfa320fb61f9315bb44d3fb9dd72225d9d993a18df82ac53fb4a5f86b23cb650e5e4778066f678\npublic = 3058301006072a8648ce3d020106052b81040023034400020047b9cf28e04b38796858545d60d6133fbdc20ede086e5d95111c982b8c276628235e536c075637a97c0a6c30d02b83b19e578203473eea16dfdeaeccb1dc0d9b19\nresult = invalid\nshared = \n# The point in the public key is compressed. Not every library supports points\n# in compressed format.\n\n# tcId = 114\n# public key is a low order point on twist\nprivate = 2a35258787f91ad0bd3432c3022e4d3ed349c8768a7e7caa1836022fc0c89a9073f6ce14d0990d5b7bb413061c7160e7bd566a5c89f14901b2cc19f1ad531f41e1\npublic = 3058301006072a8648ce3d020106052b81040023034400030009cc73141cf1843d2b2c95dc5cbc4d615c6da4814c1c7208615d8e78c7a8666aba1852faaa45a45d32bd0fde6ea78f262a96bf1e02949cea48c33c695103683048\nresult = invalid\nshared = \n# The point in the public key is compressed. Not every library supports points\n# in compressed format.\n\n# tcId = 115\n# length contains leading 0\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3082009b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 116\n# length contains leading 0\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d3082001006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 117\n# length contains leading 0\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d3012068200072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this t", - "est uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 118\n# length contains leading 0\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d301206072a8648ce3d0201068200052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 119\n# length contains leading 0\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819c301006072a8648ce3d020106052b81040023038200860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 120\n# wrong length\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 309c301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 121\n# wrong length\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 309a301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 122\n# wrong length\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301106072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 123\n# wrong length\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b300f06072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 124\n# wrong length\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006082a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 125\n# wrong length\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006062a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 126\n# wrong length\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d020106062b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 127\n# wrong length\nprivate = 18c3c384368133e46c99ad2421ff44", - "eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d020106042b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 128\n# wrong length\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819a301006072a8648ce3d020106052b8104002303870004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 129\n# wrong length\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819a301006072a8648ce3d020106052b8104002303850004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 130\n# uint32 overflow in length\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3085010000009b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 131\n# uint32 overflow in length\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a03085010000001006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 132\n# uint32 overflow in length\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a03015068501000000072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 133\n# uint32 overflow in length\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a0301506072a8648ce3d0201068501000000052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 134\n# uint32 overflow in length\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819f301006072a8648ce3d020106052b81040023038501000000860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 135\n# uint64 overflow in length\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 308901000000000000009b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 136\n# uint64 overflow in length\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a4308901000000000000001006", - "072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 137\n# uint64 overflow in length\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a4301906890100000000000000072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 138\n# uint64 overflow in length\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a4301906072a8648ce3d020106890100000000000000052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 139\n# uint64 overflow in length\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a3301006072a8648ce3d020106052b8104002303890100000000000000860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 140\n# length = 2**31 - 1\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30847fffffff301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 141\n# length = 2**31 - 1\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819f30847fffffff06072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 142\n# length = 2**31 - 1\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819f301406847fffffff2a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 143\n# length = 2**31 - 1\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819f301406072a8648ce3d020106847fffffff2b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 144\n# length = 2**31 - 1\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819e301006072a8648ce3d020106052b8104002303847fffffff0004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 145\n# length = 2**32 - 1\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3084ffffffff301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a", - "724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 146\n# length = 2**32 - 1\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819f3084ffffffff06072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 147\n# length = 2**32 - 1\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819f30140684ffffffff2a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 148\n# length = 2**32 - 1\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819f301406072a8648ce3d02010684ffffffff2b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 149\n# length = 2**32 - 1\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819e301006072a8648ce3d020106052b810400230384ffffffff0004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 150\n# length = 2**40 - 1\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3085ffffffffff301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 151\n# length = 2**40 - 1\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a03085ffffffffff06072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 152\n# length = 2**40 - 1\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a030150685ffffffffff2a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 153\n# length = 2**40 - 1\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a0301506072a8648ce3d02010685ffffffffff2b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 154\n# length = 2**40 - 1\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819f301006072a8648ce3d020106052b810400230385ffffffffff0004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba0487", - "49b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 155\n# length = 2**64 - 1\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3088ffffffffffffffff301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 156\n# length = 2**64 - 1\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a33088ffffffffffffffff06072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 157\n# length = 2**64 - 1\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a330180688ffffffffffffffff2a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 158\n# length = 2**64 - 1\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a3301806072a8648ce3d02010688ffffffffffffffff2b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 159\n# length = 2**64 - 1\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a2301006072a8648ce3d020106052b810400230388ffffffffffffffff0004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 160\n# incorrect length\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30ff301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 161\n# incorrect length\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b30ff06072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 162\n# incorrect length\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006ff2a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 163\n# incorrect length\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d020106ff2b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e", - "869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 164\n# incorrect length\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819a301006072a8648ce3d020106052b8104002303ff0004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 165\n# indefinite length without termination\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3080301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 166\n# indefinite length without termination\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b308006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 167\n# indefinite length without termination\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006802a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 168\n# indefinite length without termination\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d020106802b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 169\n# indefinite length without termination\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819a301006072a8648ce3d020106052b8104002303800004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 170\n# removing sequence\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = \nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 171\n# removing sequence\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081890381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 172\n# lonely sequence tag\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 173\n# lonely sequence tag\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30818a300381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115", - "b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 174\n# appending 0's to sequence\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d500000\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 175\n# appending 0's to sequence\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d301206072a8648ce3d020106052b8104002300000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 176\n# prepending 0's to sequence\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d0000301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 177\n# prepending 0's to sequence\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d3012000006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 178\n# appending unused 0's to sequence\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d500000\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 179\n# appending unused 0's to sequence\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d301006072a8648ce3d020106052b8104002300000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 180\n# appending null value to sequence\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d500500\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 181\n# appending null value to sequence\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d301206072a8648ce3d020106052b8104002305000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 182\n# including garbage\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a149817730819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encodi", - "ng. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 183\n# including garbage\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a0250030819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 184\n# including garbage\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819e30819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d500004deadbeef\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 185\n# including garbage\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a03015498177301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 186\n# including garbage\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819f30142500301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 187\n# including garbage\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a33012301006072a8648ce3d020106052b810400230004deadbeef0381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 188\n# including garbage\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a03015260c49817706072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 189\n# including garbage\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819f3014260b250006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 190\n# including garbage\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a33018260906072a8648ce3d02010004deadbeef06052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 191\n# including garbage\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a0301506072a8648ce3d0201260a49817706052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns th", - "e correct shared value.\n\n# tcId = 192\n# including garbage\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819f301406072a8648ce3d02012609250006052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 193\n# including garbage\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a3301806072a8648ce3d0201260706052b810400230004deadbeef0381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 194\n# including garbage\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a1301006072a8648ce3d020106052b8104002323818c4981770381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 195\n# including garbage\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a0301006072a8648ce3d020106052b8104002323818b25000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 196\n# including garbage\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a4301006072a8648ce3d020106052b810400232381890381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d500004deadbeef\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 197\n# including undefined tags\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a4aa00bb00cd0030819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 198\n# including undefined tags\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a2aa02aabb30819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 199\n# including undefined tags\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a33018aa00bb00cd00301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 200\n# including undefined tags\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a13016aa02aabb301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 201\n# including undefined tags\nprivate = 18c3c384368133e46c", - "99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a33018260faa00bb00cd0006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 202\n# including undefined tags\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a13016260daa02aabb06072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 203\n# including undefined tags\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a3301806072a8648ce3d0201260daa00bb00cd0006052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 204\n# including undefined tags\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a1301606072a8648ce3d0201260baa02aabb06052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 205\n# including undefined tags\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a4301006072a8648ce3d020106052b8104002323818faa00bb00cd000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 206\n# including undefined tags\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a2301006072a8648ce3d020106052b8104002323818daa02aabb0381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 207\n# truncated length of sequence\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 208\n# truncated length of sequence\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30818b30810381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 209\n# Replacing sequence with NULL\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 0500\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 210\n# Replacing sequence with NULL\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30818b05000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# EC", - "DH computation still returns the correct shared value.\n\n# tcId = 211\n# changing tag value of sequence\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 2e819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 212\n# changing tag value of sequence\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 2f819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 213\n# changing tag value of sequence\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 31819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 214\n# changing tag value of sequence\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 32819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 215\n# changing tag value of sequence\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = ff819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 216\n# changing tag value of sequence\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b2e1006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 217\n# changing tag value of sequence\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b2f1006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 218\n# changing tag value of sequence\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b311006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 219\n# changing tag value of sequence\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b321006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 220\n# changing tag value of sequence\nprivate = 18c3c384368133e4", - "6c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819bff1006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 221\n# dropping value of sequence\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3000\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 222\n# dropping value of sequence\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30818b30000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 223\n# truncate sequence\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819a301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 224\n# truncate sequence\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819a1006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 225\n# truncate sequence\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819a300f06072a8648ce3d020106052b8104000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 226\n# truncate sequence\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819a300f072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 227\n# indefinite length\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3080301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d500000\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 228\n# indefinite length\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d308006072a8648ce3d020106052b8104002300000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 229\n# indefinite length with truncated delimiter\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3080301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d5000\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb860857", - "36115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 230\n# indefinite length with truncated delimiter\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819c308006072a8648ce3d020106052b81040023000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 231\n# indefinite length with additional element\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3080301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d5005000000\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 232\n# indefinite length with additional element\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819f308006072a8648ce3d020106052b81040023050000000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 233\n# indefinite length with truncated element\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3080301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50060811220000\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 234\n# indefinite length with truncated element\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a1308006072a8648ce3d020106052b810400230608112200000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 235\n# indefinite length with garbage\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3080301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d500000fe02beef\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 236\n# indefinite length with garbage\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a1308006072a8648ce3d020106052b810400230000fe02beef0381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 237\n# indefinite length with nonempty EOC\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3080301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d500002beef\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 238\n# indefinite length with nonempty EOC\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819f308006072a8648ce3d020106052b810400230002beef0381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07db", - "f3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 239\n# prepend empty sequence\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d3000301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 240\n# prepend empty sequence\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d3012300006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 241\n# append empty sequence\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d503000\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 242\n# append empty sequence\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d301206072a8648ce3d020106052b8104002330000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 243\n# sequence of sequence\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819e30819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 244\n# sequence of sequence\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d3012301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 245\n# truncated sequence\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3012301006072a8648ce3d020106052b81040023\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 246\n# truncated sequence\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 308194300906072a8648ce3d02010381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 247\n# repeat element in sequence\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30820124301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d500381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN forma", - "t are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 248\n# repeat element in sequence\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a2301706072a8648ce3d020106052b8104002306052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 249\n# long form encoding of length\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819c30811006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 250\n# long form encoding of length\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819c30110681072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 251\n# long form encoding of length\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819c301106072a8648ce3d02010681052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 252\n# removing oid\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 308192300706052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 253\n# lonely oid tag\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819330080606052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 254\n# lonely oid tag\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 308195300a06072a8648ce3d0201060381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 255\n# appending 0's to oid\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d301206092a8648ce3d0201000006052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 256\n# appending 0's to oid\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d301206072a8648ce3d020106072b8104002300000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 257\n# prepending 0's to oid\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da2", - "2f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d3012060900002a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 258\n# prepending 0's to oid\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d301206072a8648ce3d0201060700002b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 259\n# appending unused 0's to oid\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d301206072a8648ce3d0201000006052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 260\n# appending null value to oid\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d301206092a8648ce3d0201050006052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 261\n# appending null value to oid\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d301206072a8648ce3d020106072b8104002305000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 262\n# truncated length of oid\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081943009068106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 263\n# truncated length of oid\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 308196300b06072a8648ce3d020106810381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 264\n# Replacing oid with NULL\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081943009050006052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 265\n# Replacing oid with NULL\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 308196300b06072a8648ce3d020105000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 266\n# changing tag value of oid\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301004072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd", - "2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 267\n# changing tag value of oid\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301005072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 268\n# changing tag value of oid\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301007072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 269\n# changing tag value of oid\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301008072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 270\n# changing tag value of oid\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b3010ff072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 271\n# changing tag value of oid\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d020104052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 272\n# changing tag value of oid\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d020105052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 273\n# changing tag value of oid\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d020107052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 274\n# changing tag value of oid\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d020108052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 275\n# changing tag value of oid\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d0201ff052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acce", - "ptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 276\n# dropping value of oid\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081943009060006052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 277\n# dropping value of oid\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 308196300b06072a8648ce3d020106000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 278\n# modify first byte of oid\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b30100607288648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 279\n# modify first byte of oid\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d0201060529810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 280\n# modify last byte of oid\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d028106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 281\n# modify last byte of oid\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d020106052b810400a30381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 282\n# truncate oid\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819a300f06062a8648ce3d0206052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 283\n# truncate oid\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819a300f06068648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 284\n# truncate oid\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819a300f06072a8648ce3d020106042b8104000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strict", - "ly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 285\n# truncate oid\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819a300f06072a8648ce3d02010604810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 286\n# wrong oid\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819e3013060a3262306530333032316106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 287\n# wrong oid\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a6301b061236303836343830313635303330343032303106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 288\n# wrong oid\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a0301506072a8648ce3d0201060a326230653033303231610381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 289\n# wrong oid\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a8301d06072a8648ce3d020106123630383634383031363530333034303230310381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 290\n# longer oid\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a4301906103261383634386365336430323031303106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 291\n# longer oid\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a2301706072a8648ce3d0201060c3262383130343030323330310381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 292\n# oid with modified node\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a23017060e326138363438636533643032313106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 293\n# oid with modified node\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081aa301f06163261383634386365336430323838383038303830303106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 294\n# oid with modified no", - "de\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a0301506072a8648ce3d0201060a326238313034303033330381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 295\n# oid with modified node\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a8301d06072a8648ce3d020106123262383130343030383838303830383032330381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 296\n# large integer in oid\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081b430290620326138363438636533643032383238303830383038303830383038303830303106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 297\n# large integer in oid\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081b2302706072a8648ce3d0201061c326238313034303038323830383038303830383038303830383032330381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 298\n# oid with invalid node\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a5301a0611326138363438636533643032303165303306052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 299\n# oid with invalid node\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819c301106082a808648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 300\n# oid with invalid node\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a3301806072a8648ce3d0201060d326238313034303032336530330381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 301\n# oid with invalid node\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819c301106072a8648ce3d020106062b80810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 302\n# lonely bit string tag\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3013301006072a8648ce3d020106052b8104002303\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 303\n# appending 0's to bit string\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d301006072a8648ce3d020106052b810400230381880004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63", - "007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d500000\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 304\n# prepending 0's to bit string\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d301006072a8648ce3d020106052b8104002303818800000004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 305\n# appending null value to bit string\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d301006072a8648ce3d020106052b810400230381880004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d500500\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 306\n# truncated length of bit string\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3014301006072a8648ce3d020106052b810400230381\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 307\n# Replacing bit string with NULL\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3014301006072a8648ce3d020106052b810400230500\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 308\n# changing tag value of bit string\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d020106052b810400230181860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 309\n# changing tag value of bit string\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d020106052b810400230281860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 310\n# changing tag value of bit string\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d020106052b810400230481860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 311\n# changing tag value of bit string\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d020106052b810400230581860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 312\n# changing tag value of bit string\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d020106052b81040023ff81860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 313\n# dropping value of bit string\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa", - "70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3014301006072a8648ce3d020106052b810400230300\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 314\n# modify first byte of bit string\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d020106052b810400230381860204017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 315\n# modify last byte of bit string\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32dd0\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 316\n# truncate bit string\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819a301006072a8648ce3d020106052b810400230381850004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 317\n# truncate bit string\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819a301006072a8648ce3d020106052b8104002303818504017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 318\n# declaring bits as unused in a bit-string\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d020106052b810400230381860104017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 319\n# unused bits in a bit-string\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819f301006072a8648ce3d020106052b8104002303818a2004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d5001020304\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 320\n# unused bits in empty bit-string\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3015301006072a8648ce3d020106052b81040023030103\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n# tcId = 321\n# 128 unused bits\nprivate = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d020106052b810400230381868004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\n# The public key in this test uses an invalid ASN encoding. Some cases where the\n# ASN parser is not strictly checking the ASN format are benign as long as the\n# ECDH computation still returns the correct shared value.\n\n", +static const char *kData98[] = { + "# Imported from Wycheproof's ecdh_secp521r1_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: ECDH\n# Generator version: 0.8r12\n\n[curve = secp521r1]\n[encoding = asn]\n\n# tcId = 1\n# normal case\nprivate = 01939982b529596ce77a94bc6efd03e92c21a849eb4f87b8f619d506efc9bb22e7c61640c90d598f795b64566dc6df43992ae34a1341d458574440a7371f611c7dcd\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040064da3e94733db536a74a0d8a5cb2265a31c54a1da6529a198377fbd38575d9d79769ca2bdf2d4c972642926d444891a652e7f492337251adf1613cf3077999b5ce00e04ad19cf9fd4722b0c824c069f70c3c0e7ebc5288940dfa92422152ae4a4f79183ced375afb54db1409ddf338b85bb6dbfc5950163346bb63a90a70c5aba098f7\nresult = valid\nshared = 01f1e410f2c6262bce6879a3f46dfb7dd11d30eeee9ab49852102e1892201dd10f27266c2cf7cbccc7f6885099043dad80ff57f0df96acf283fb090de53df95f7d87\n\n# tcId = 2\n# compressed public key\nprivate = 01939982b529596ce77a94bc6efd03e92c21a849eb4f87b8f619d506efc9bb22e7c61640c90d598f795b64566dc6df43992ae34a1341d458574440a7371f611c7dcd\npublic = 3058301006072a8648ce3d020106052b81040023034400030064da3e94733db536a74a0d8a5cb2265a31c54a1da6529a198377fbd38575d9d79769ca2bdf2d4c972642926d444891a652e7f492337251adf1613cf3077999b5ce\nresult = acceptable\nshared = 01f1e410f2c6262bce6879a3f46dfb7dd11d30eeee9ab49852102e1892201dd10f27266c2cf7cbccc7f6885099043dad80ff57f0df96acf283fb090de53df95f7d87\nflags = CompressedPoint\n\n# tcId = 3\n# edge case for shared secret\nprivate = 00a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646\npublic = 30819b301006072a8648ce3d020106052b810400230381860004014c643329691ba27459a40dfe7c4ce17b3ea14d0cd7aa47b01f1315404db51436fbbfe6de0842e0f7e1265f6ff3aca28750677d3370b2fb2a6ef497356f4b95811201051b14178639a09a41465c72d3743436ee1c191ff7388a40140b34d5317de5911ea03cdbb0329fdeb446695a3b92d437271a9f3c318b02dec4d473908158140e97\nresult = valid\nshared = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 4\n# edge case for shared secret\nprivate = 00a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040029cd32125c23a41af24fd4b729da0faacbc35516ef0ba59096602571693cd282e26d67e18ef4643d0f6f158d7370d3394ca9a8de7938032ac178c6fd34e3702b8d008649834e2b41be3a8b7510bfe570f4c67075943cd0cbb9d9e1d1da52618b5b96d6aec9b650daf1ca6624c13e5116302b9c79c8c4d3d351915d1e8e1ab6ad76098e\nresult = valid\nshared = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\n\n# tcId = 5\n# edge case for shared secret\nprivate = 00a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040032c6f06ce6a15ea064464d35aa368d299c9a9e1e368f694aefb603876248f898f223ce0217bef37d61eb09b27c93187cf8e61ba7b14e3c9bee692b06ac6d95f836019fd19f8480e21c63211d48d45f96f6365cf55f958e1a0fe7ea6b6b9ff230a87b70bb1b14d3a5fb6669a91641c6acf4570c1d3a9e709913b7fe6b35ff81c394d6a7\nresult = valid\nshared = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002\n\n# tcId = 6\n# edge case for shared secret\nprivate = 00a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401f7eb96e64b1a62daf9e0801bfd96a0b15b68e5f5cb3e90b434495a473907338e53098e1c2e493335d09c6aae6fdda0345b98aaed588f2abe82910713fb6c20252901396b17cf250bc018f4cead097e7e09863f14cf1239b065e57d884949eee141926f7e7c9f7f34cf0536368767bc0e1ab5142877293a4c722693a73fe14a5390af93\nresult = valid\nshared = 000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 7\n# edge case for shared secret\nprivate = 00a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646\npublic = 30819b301006072a8648ce3d020106052b810400230381860004006ddf9b10965d5fc129e96f7a37667ccf66cc44384772906fedb21f9de4629e01aaa09ac7c9866112064bbc9bd58ebc123ab2fe19d8fed1a056d27bfef0630509c7001c441311ef20a16346332ea42d5c65788d68f6817b0267fcab11ea9c948ed108115dda8e823a380b601460742d3772d6424c67b240da24772ff0d2ccd9a1e0cea6\nresult = valid\nshared = 000000ffffffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff0000000000000100000000000000\n\n# tcId = 8\n# edge case for shared secret\nprivate = 00a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646\npublic = 30819b301006072a8648ce3d020106052b810400230381860004007a8c547268c948b626da636cf54428ea2ab23861d499a84ad7be1cf691b92872a06e26c6dba08ca9ed386f83d396156d5fa023f57d5ea6440ec7401dad2c08ad70018c3815b1b9a2e42555419a6c19043fa2b0ddcc4b5a6e372fee9fcb227d85bad704687e7e1a818b612d5c046cd75972f7a2dd5c9a200ac5582cd59fec47ac525ecf\nresult = valid\nshared = 00003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff\n\n# tcId = 9\n# edge case for shared secret\nprivate = 00a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040029153cf062f88f303e5d6f9aac968bd901076d5994ea7f831833b1e69b67e9e9fe20cf9c5623e00e0b9e3592fca2a03324b5df7c93186aff697aca864600d44ecc002801a62e2f4106f34106da23dc93d50e3e975a1d47510021835290649b7a4125109f656b6b0b5bd00b24d84ea1ba4e1ed49e61c526fb1011005131caee7ee0501e\nresult = valid\nshared = 010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 10\n# edge case for shared secret\nprivate = 00a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400a61eb994e28722c59b3c6007dfdf8b37893f6350f461b26a00e1a45104314aae9989da87e4facb2c4ef721185b7d96d9a45a28a102756501a1acc5d329a21bbf73010e8d0e12f5a9a40e0d59c90ce73043d39730aeadd3788e31d7c2bb62a1166161994664afa658ce2e60a13f45f27f914307c8d6f8d4ed16ab041b8f69908a62782f\nresult = valid\nshared = 010000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff\n\n# tcId = 11\n# edge case for shared secret\nprivate = 00a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646\npublic = 30819b301006072a8648ce3d020106052b810400230381860004011dd497b30c73709906b164a9a79dc7f2a98c0148ed63016bb95243834fbcdf8eb74b0ff652d54f59f31aef51da6e8974d363655b1da138dc4de0f2a8d800f475ae0057bd4b84607400d863ffbf45a3cf58999ee24ba05e93eca7b0e4ae760eb1733559a45d15579d3370d716ffa3ec4bfdae418e32fb06138dfca213720a938577610e\nresult = valid\nshared = 01ff00000000000000000000000000000000ffffffffffffffffffffffffffffffff0000000000000000000000000000000100000000000000000000000000000000\n\n# tcId = 12\n# edge case for shared secret\nprivate = 00a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401283eb93fa369fe7012b647d21e0a97cf9950e5fbed819ef56158f20c8a9473a418eccbca4dc2b47f4cb6d322f917005859bf221e84ac9827cab82a801c627fb1ec0075c480cbafb352fcaf93baf23a1405fd81febe09729a908d1077e177dd8993d94b251a0d52652da3edb6fdf864e80cd51540e73d0b5107e3433576dcaa4e18db43\nresult = valid\nshared = 01ff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff\n\n# tcId = 13\n# edge case for shared secret\nprivate = 00a2b6442a37f8a3759d2cb91df5eca75af6", + "b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400173beefe35ee868d497ff6601628f65ce18a1591f7e4a3a406622f3f508e2da68f101ed02febc38418c6ddfc26a5ec9848c42792463b1e945f9e167db34bdf2d660053070647aba7cd60eb295ab81a268a3903f393c5d28bbc5e022351c377cd84f02c19deb36442372cae1332e92f95ba60b6c852e0de0718e89d24e43cd479c9fb11\nresult = valid\nshared = 01ff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff\n\n# tcId = 14\n# edge case for shared secret\nprivate = 00a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646\npublic = 30819b301006072a8648ce3d020106052b810400230381860004009829cd5432687739ab6ae10af8ea73d2cb53b81ebb06b5961b7badc1676b3ef7b00454f7cde56774a01312d574a9193c1a5fe5336fbe62623ad9bf81143789f9f90012f955697ed578207197bf9aac3896521615dbacc8dc665d4f1715b08439f49c2aa6ed337023ffccc5075a85944936826db92f919737ca3afeadba1847084bdef7\nresult = valid\nshared = 01ff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff00010000\n\n# tcId = 15\n# edge case for shared secret\nprivate = 00a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040126e3c959cd41120bb83693b1d6a034b385137c1bb3213b776122fed96056e329885718a73bee639c0ba4b68818682f498ce5496925002bd7652516405fcc4fecad0073a9c6e3b0c694bf7cc8ccbbd09800e81e3548ba44a0c2381cef0b07bf702a19054bb5d717a1b79294609cbdafd4e2018064f7b2c4c204d818eb7ce521c3268ce5\nresult = valid\nshared = 01ffc000001ffffff8000003ffffff0000007fffffe000000ffffffc000001ffffff8000003ffffff0000007fffffe000000ffffffc000001ffffff8000004000001\n\n# tcId = 16\n# edge case for shared secret\nprivate = 00a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040153dc481ab3c5dc8decd24ceaee1bec77f59f21f7f31c19538af047d281ac9e2567933fd3d21096b185d4098919571931bb9b0be7197995e2fbaf21c8a10007ade001ad69f08fcae164390be826256b50fae47502ce0e9ca46af0c490cb4033c886f88661a99ff2bd3c9c8e7da30faf2b4c769edc5831810ac05054c97e41063f496e1f\nresult = valid\nshared = 01ffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff\n\n# tcId = 17\n# edge case for shared secret\nprivate = 00a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401f586611c87150288c3e86116c5db94a26718978829d701ddac05e9b0ce22dee4b18e95f60cba783ed3384da373deaefc57b8265d3a34eeb458bf24b9d82be32819008456e0f1d80492ef0078cc246d32fc7c7fb6720b4d458b51b2098d35746752b0ef0345bd0d342dfee6dd2f12ed12b34bd95d058c2811fd479d2dde32180e6c9ef2\nresult = valid\nshared = 01ffffff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc000000080000002\n\n# tcId = 18\n# edge case for shared secret\nprivate = 00a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646\npublic = 30819b301006072a8648ce3d020106052b810400230381860004015edc87fd499a73eabffd14d2b6a70a8fb69b6a39d0d9c4dda2337b53cc72e49a9e3d5a2d9e8930cfa11852dac33443227fba6684bd74732e6879884b6ef9dae98f010eeb8d2e3360ea9726628085268af3f2a05ad41235d0a892098bd661b636f7ef0a820282906eda3f1ff1980b98fb5937228e9edcd6332e3641216c7307e7f3f452\nresult = valid\nshared = 01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd\n\n# tcId = 19\n# edge case for shared secret\nprivate = 00a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040131b43002f7e687eec1ecf6a253c2ccc9e48f04d86fccd18fee0d2d22191f1ea539c40d521970b4709dc03986f647e0e8bb3340cf8a3e643a3541035437cf25f01500b27a55ac45f0296f8c9656bcfd52b5cea9f4115c06e4c64319609847d45e92418400e7868672c0d3e6e5e6e004a7190476ed77cfc33ad19a4bd2c615ad9950f374\nresult = valid\nshared = 01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe\n\n# tcId = 20\n# edge cases for ephemeral key\nprivate = 012bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d20ec9fea6b577c10d26ca1bb446f40b299e648b1ad508aad068896fee3f8e614bc63054d5772bf01a65d412e0bcaa8e965d2f5d332d7f39f846d440ae001f4f87\nresult = valid\nshared = 0053bf137fee8922769f8d0fe279caa4dac9c6054ad0460995588a845d0a959e24bc0fc2391a2b92f7bd400f50a11a9db37f07bef7fa8dad2a903fcf534abc8736f7\n\n# tcId = 21\n# edge cases for ephemeral key\nprivate = 012bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010010e59be93c4f269c0269c79e2afd65d6aeaa9b701eacc194fb3ee03df47849bf550ec636ebee0ddd4a16f1cd9406605af38f584567770e3f272d688c832e843564\nresult = valid\nshared = 01c95ac417c90a520149b29105cdab36f528a23efb5621520dbdafea95a7d43499c4c8be02cd1c2de000da18104fa84a1e9ece6386f0e0efa5234a24595d7c4c96f4\n\n# tcId = 22\n# edge cases for ephemeral key\nprivate = 012bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200d9254fdf800496acb33790b103c5ee9fac12832fe546c632225b0f7fce3da4574b1a879b623d722fa8fc34d5fc2a8731aad691a9a8bb8b554c95a051d6aa505acf\nresult = valid\nshared = 01b47ec41e3a5abd9dd9808fc04d9078cbed72b9eba98d3c1ded70a29938f0efd5a27a7113ff721f122cb17411de307a355c685074f5766b6d1a033d2fa188c945b6\n\n# tcId = 23\n# edge cases for ephemeral key\nprivate = 012bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c\npublic = 30819b301006072a8648ce3d020106052b810400230381860004000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000005f880f50ec94bfac6658fa2fce05945c6a36b266407b6fbd5437a83e2f2f9b9c50a734872e48e70df65457f13e47d06c6b8b29f4735acf105ea63e051904d18aea\nresult = valid\nshared = 013aefe3245728a08c904fe7d61cd9c2fdac63f29cf664d8f161bebacb93f8a710e9692f9689480ad498de00f00061e40e46e76e4754c1130ef4217a58933e0b1dc6\n\n# tcId = 24\n# edge cases for ephemeral key\nprivate = 012bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c\npublic = 30819b301006072a8648ce3d020106052b810400230381860004000000ffffffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff000000000000010000000000000000f33ffc45da3eac1baab727ab8fd355cfa134c42047d55262651654fb50df7e9a5a75f179c8c86c4388213b5687dc43dfebb37f30128703c44ccd5c3284833b8717\nresult = valid\nshared = 0168df272d53e3161926168c4aeab5f355b8d2a6689cfd567f2b6eb2011a18c775ac2a21f8dd497f6957217020b3b1afcb7021f24fccc2523be76a2bff44596e5a14\n\n# tcId = 25\n# edge cases for ephemeral key\nprivate = 012bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c\npublic = 30819b301006072a8648ce3d020106052b810400230381860004", + "00003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00cd2839d857b4699f5c8e8a0194786e26a862f086b4ba80746ae5225ed3aa68f96b7aaec55225830bb98f52d75221141897ba49d7a31ebbf0b6d7d31352e5266190\nresult = valid\nshared = 013db1b9241b23d33860d32dec37a79e4546a41afdfdd9c438d04e1f8b566ac8d9d3f572c293e96943722a4ee290e113fffaa82a61867d9ca28d349982354c9b256f\n\n# tcId = 26\n# edge cases for ephemeral key\nprivate = 012bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c\npublic = 30819b301006072a8648ce3d020106052b810400230381860004010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000813d9829119f42ffa95fea8ba9e81e4cd6a6ca97fb0778e12e5f5dfe35201dd4cca8eca0d2e395555997041381e6ac1f18ddf4c74e0b6e9041cfdca1d1c103091\nresult = valid\nshared = 01d2bbe9f754584ebbc7c7ad74136d1c8a144948948aa8be49989dd9b4c514db2e2ab1e0713ad1699f632dd2cea53da218ed549f030a113e282fd9e3be462d9aba84\n\n# tcId = 27\n# edge cases for ephemeral key\nprivate = 012bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c\npublic = 30819b301006072a8648ce3d020106052b810400230381860004010000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff00878ad597d290db2cf660594aeed0f9b7c8dd68451d2d1b2cbc816b1ec4f35465b3964aff2edf1255163f5fca580132f85cade2887a017e7cd0b37196ad85221107\nresult = valid\nshared = 000f37a2e2caef54fff4126c0fa96e7c47f0cad74626ef91e589e12d2e1e8c221be7295be9dc2712b87bb0aa0f5880b738bc1242f2ba773bf9eb2a54e3c1ca4758d7\n\n# tcId = 28\n# edge cases for ephemeral key\nprivate = 012bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ff00000000000000000000000000000000ffffffffffffffffffffffffffffffff000000000000000000000000000000010000000000000000000000000000000000b5e1191b449fa1ebdbd677daa48f90e2d1d6c058c877087cafd9364d99dbb283c68402e6e6c5f5411b2ed42824d8b280ceb910aba6847883a7e3780e2132af41c1\nresult = valid\nshared = 017aeb254d9c8c8ee06215ff33811357da73bf7f6dd6d7f8f176d62c065a88a9005f680c630e9f2763585ea2ee76b6e4ab45e673f814ebfa95947c0c63fb24fa6e9b\n\n# tcId = 29\n# edge cases for ephemeral key\nprivate = 012bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff00207513d615656a1cc7505c18aa21b08e2b1d5a841de0816cc29c004efdb2d902ac1a7bb05e20722b576b64a3ddf4d2486421ac706bf4a424f252386368a5340fb6\nresult = valid\nshared = 0061bed42248a37b4625ef04c4f9c7ef69ee3c6f9503378351fcab1b8ce1343206997eec1b88449eb6f7355711ea1a818a486ee30a24126241a7e2289267cf5dd61f\n\n# tcId = 30\n# edge cases for ephemeral key\nprivate = 012bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff001fe800c50e54012b75a33e4be7d07c8d60f29680a395e951a6a31c5096b0ea928fc2cbf327dd784dc0a7ca46ea73992b758b5641364b4aba39e93798a4d925a008\nresult = valid\nshared = 001067d9104e296ef42b944587de11b10df05d2d959ed44cac9e7ef1c7a05d90819c43bc79c7397918f957cc98db931763bbeb1bdfc35865e8a359a013f13d60c433\n\n# tcId = 31\n# edge cases for ephemeral key\nprivate = 012bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff00010000008dd18a1f5e482140be79bb65a21ad60c8987e532c84345f0135affd46ec71ef02b1ca3ad56f301d955fa306c122d441d6fedcf8b855ef256350bf69d23a7207ad9\nresult = valid\nshared = 00b779d83035cf7bb0bb04c7b2f46d08f6791f0d1542c9bcce7250e772b12ad8e38fce1d2b063a06f0fa3a1b072dd976f5f8542979903075162f1f5c6ba3b76cc45d\n\n# tcId = 32\n# edge cases for ephemeral key\nprivate = 012bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ffc000001ffffff8000003ffffff0000007fffffe000000ffffffc000001ffffff8000003ffffff0000007fffffe000000ffffffc000001ffffff800000400000100566203dd325a081c4441f001f780365874fd3d0c9bc47227481afe76a93ae1bfde63af972203abfe22c63b80e83f7cc2184c3cb8cfd0152c54324c4759fd1f9a50\nresult = valid\nshared = 01afe5d23733728b79c743933b9ba7dfec5ed19b7737e393908a1d000918aa795d1ce0ad533983d018f927b35d2af6463356573f387febd75911a49486202ca69d3a\n\n# tcId = 33\n# edge cases for ephemeral key\nprivate = 012bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff00b11c668fbd549f36889f7b63434051da26f15705839136b1b14a09152d7a182ea7806c35478a32d3aa3c9c1627a61519ebec71b36fa77449025b8829e27f307834\nresult = valid\nshared = 019612aeb386febb1a28096fe5b2f682dead02389785225b80a27df439510d08349a193839525f248b7f9bcabfd3dc8da8cc1724022299b7b5e72399d89464b82e44\n\n# tcId = 34\n# edge cases for ephemeral key\nprivate = 012bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ffffff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc00000008000000200aa75efc0a8daac1d73f32c9c552414bccf44af8e74331b47439e7dcc49a135b3ee61e9f69717d89b4bba3567a195aeda13fbec634bf2984b5ec6b6f80f5978ed5a\nresult = valid\nshared = 00570673f87adcef49c1f011e8b9f1e11f7fd3b3c93114d08d3f515aa4a895a6c701c523063bdc13ad1db0a54f6e7b476fe10db2070441befc58c8cff3c08ef76e59\n\n# tcId = 35\n# edge cases for ephemeral key\nprivate = 012bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0010e59be93c4f269c0269c79e2afd65d6aeaa9b701eacc194fb3ee03df47849bf550ec636ebee0ddd4a16f1cd9406605af38f584567770e3f272d688c832e843564\nresult = valid\nshared = 0016aaf228b0aec190d4e4e5b8138ff9cc46d705da1bf002901c6ab420f59314d5b641712b14ef3e4fb125652c47888676804fb5575b741a8408c5625bfccff4fdda\n\n# tcId = 36\n# edge cases for ephemeral key\nprivate = 012bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe00d9254fdf800496acb33790b103c5ee9fac12832fe546c632225b0f7fce3da4574b1a879b623d722fa8fc34d5fc2a8731aad691a9a8bb8b554c95a051d6aa505acf\nresult = valid\nshared = 00a5d6dfda2b269f4ab895a41c3b71b6ba10d5c9f0d9b3e730275345e4721594abfd39464c227716ded8ef3e60bb1ca0b551716e3f6eebb48d5ce8e0ab58cb1b73c9\n\n# tcId = 37\n# edge case for Jacobian and projective coordinates\nprivate = 018f3dbe37135cd8c8c04182952f6e6f9bfdbb6af4c98f31ba30abc68d88e1ea980d4edcdb5b19f0610082194137ebb019e7a664b522189a186cbe5a03376c0713fb\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "10010e59be93c4f269c0269c79e2afd65d6aeaa9b701eacc194fb3ee03df47849bf550ec636ebee0ddd4a16f1cd9406605af38f584567770e3f272d688c832e843564\nresult = valid\nshared = 008f61e15e8c8545dcdab188f10ba9111b6345d529d9c5470677342df7ef54c56a1fb9fbe8dea76afbe8f2dd4c3cfb4d5b749d743944c96d74fb47bc4bf601e5dc7e\n\n# tcId = 38\n# edge case for Jacobian and projective coordinates\nprivate = 018f3dbe37135cd8c8c04182952f6e6f9bfdbb6af4c98f31ba30abc68d88e1ea980d4edcdb5b19f0610082194137ebb019e7a664b522189a186cbe5a03376c0713fb\npublic = 30819b301006072a8648ce3d020106052b810400230381860004004dc16cafca9833eeb97c136c154f3ae390830f26d300edef06f867efab1c4214f563c25e1c81e16a86eaac8272892d1b65b2ee7fb2b69ba1110b083bbeb6b8873a010dbb701266a8df32d17bd58bea365c2637d686272900a5ea7a19ff98db3bf92425a483c70fdd9db25b6ee69981cb69dcc9c418c32989e73f0a5fd7f3c3ba44b051\nresult = valid\nshared = 017e7eecdb0f52e3b8aedd0f5550f26cd5e27e711d6860c54f88cfd3ff075df8d363ee3be4dac2f42d036b7c64e2b50d90764ab4eef0b9d68c29682b9707d45ec283\n\n# tcId = 39\n# edge case for Jacobian and projective coordinates\nprivate = 018f3dbe37135cd8c8c04182952f6e6f9bfdbb6af4c98f31ba30abc68d88e1ea980d4edcdb5b19f0610082194137ebb019e7a664b522189a186cbe5a03376c0713fb\npublic = 30819b301006072a8648ce3d020106052b810400230381860004018255c014f2533ad930e4320216496a3f4e0d78b50fa27d42209e270e39baf480a987a2c84098eee53889ea8b6cc9036ddeebefc00b5542d2425fafd5e1babae84101db817b332b297a003cffc4251b58d9c7ce0b90301ef5c65e8ac0f82517fd1730a167d83af50d92f7e25e08787130618920345c435337ef45eb2e9b1ace530d0eaf\nresult = valid\nshared = 0115ba7fc1ef5d1547bb259d7302cf84400160a599a3fd1d368e4d8f136848bc32b345a7926b95140c319db39d3d89479d44aeacc05c8af37d55450c1ae114beb583\n\n# tcId = 40\n# edge case for Jacobian and projective coordinates\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe00d9254fdf800496acb33790b103c5ee9fac12832fe546c632225b0f7fce3da4574b1a879b623d722fa8fc34d5fc2a8731aad691a9a8bb8b554c95a051d6aa505acf\nresult = valid\nshared = 01d63965c150dcc6c834dd2a9446a9006e011affb8241a38e3409752b7f478d32c6d461f978296a57339ff4ab1a308f8fd0330a932979b3fc2363d04538e72510176\n\n# tcId = 41\n# edge case for Jacobian and projective coordinates\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040173de990978da53a05c463a567304727bbc9dbed8d5dab3bad11d1804dea864fbed5bbec807c13e4128749cf8c11727a4c528f91ff0217f953a3048de5ba7a2b9ad00f0213d032cc674e1029c71d10cb3f91de53753a01d6ddc41064036a43d613f2bb83fb999874a0fadcf8a6d40b91713cc9114bd44c0f1333ef98f0efb6372a9a453\nresult = valid\nshared = 00815a61f2c7622d1b9e3310104a41c576835a29cf3a875e3b1062e4588716d25777f0a90fa6a99a95226320ba225b8965d0ef5af674fba69a8acb850b7773be0c82\n\n# tcId = 42\n# edge case for Jacobian and projective coordinates\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b810400230381860004010f43662f4bad6187ad22a41dfc831dcba255af6c4b5f1c14b2ed5447f88b65d690b875848ea7a0c4efe55b821488d1b0f85cda6e7173d87e0d76441aaf60e960d10017fa4b51097c5ef9cb66d6c3eb851e1a8a41102452bd3f8902f17ee72ab0772241510144674686419c7cd55a930951165ba07d34c2c20c421069c1fe3d976737a4\nresult = valid\nshared = 0110ea8af76567351766d7ddcb7343ee04edd95035f727e6bae0d89d5017019a3df79554d1d0e84fe339a7c0fd79829cdae1372e5d9900a0dc8bac63ae33066d3f11\n\n# tcId = 43\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 018f3dbe37135cd8c8c04182952f6e6f9bfdbb6af4c98f31ba30abc68d88e1ea980d4edcdb5b19f0610082194137ebb019e7a664b522189a186cbe5a03376c0713fb\npublic = 30819b301006072a8648ce3d020106052b810400230381860004012183fff5777e319e8cd23ab5392baa9d4b1d43c7f8b01f78f295c0c37d4a3a122f88c163a8f9648d9da23b389ba56e8e9ca022c2fe9c273f2585429a2de43295b901e18e9eaaf8a406f10b1dcbaa684743a43d203f6cddd8709db90f43fe7b8b3815ead2046b6b37239e065da62d797cd0a73122ee9bf1bd00b0d801297a3d2bcefd0d\nresult = valid\nshared = 01f3c9b44faf754be250c2ed756541c261cb53795a555e924782dc4f2c1dd4a3855c823f33bdfcb0f0503ea3f9a911e24235375a69da21a9ae4c647738b7e5c52909\n\n# tcId = 44\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 018f3dbe37135cd8c8c04182952f6e6f9bfdbb6af4c98f31ba30abc68d88e1ea980d4edcdb5b19f0610082194137ebb019e7a664b522189a186cbe5a03376c0713fb\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040096068a512e317ec63588ff28d380a8d7c91e3a59279c85f5416e8ed321747b05d537d19d797364afce0e548bfb758e33cc6d751b5c217972de2ec4ff000cc15dee0085aff0f0252ab46ff80d849e14943de8145dbb307b4bc45c9eede78c040a0836d80406770c7c9459c065c53367e683128e8fc1dd89190e747893d9f27e49610bfb\nresult = valid\nshared = 01f567d01152c90644be34fc7f4dcdacda02e1e14d80cdb377611a8c9a7a4d0fa5413b9d415410c9ac6ff1467cf37235e588d114a54e6f9e0a65b6d02cdb82889814\n\n# tcId = 45\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 018f3dbe37135cd8c8c04182952f6e6f9bfdbb6af4c98f31ba30abc68d88e1ea980d4edcdb5b19f0610082194137ebb019e7a664b522189a186cbe5a03376c0713fb\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401bfd8c3e346ef884b4b1c01fd273e982fed38b5c8046165cc1e0de876787690c19c4ec24606bc8e1ed83a4ce10b7a42e6db19c7aa5e9971654e57842d41e70985a300b357351499600560bafaa25e243aff7b33602cf41d3518499e1b43ba1e814a0b45ec01fe694789e0157a3c281d17fa00e7019f47ae7a10ce40ed0cb7ca56b41e26\nresult = valid\nshared = 01819cd3a3b36883c480c270db139a94d7f94afd8879b34ef65a304d0b9a6201a1dbcfcb8ee5c4e66698d98dd0e8bdd53e563628b15afe05f48230fa1c52952d8989\n\n# tcId = 46\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 018f3dbe37135cd8c8c04182952f6e6f9bfdbb6af4c98f31ba30abc68d88e1ea980d4edcdb5b19f0610082194137ebb019e7a664b522189a186cbe5a03376c0713fb\npublic = 30819b301006072a8648ce3d020106052b810400230381860004000cc8c84d1db71fb91595f00703df257f2a03057847b4b9506d3b2615a8b724062d93a62954219df9ec986261fb7708eaa13954182e105e8e93c111c0d2a8bdc51d00e20cc6488c7761f31a3e762698553e5f2bf49b41a3a95ac5b4823c29759c738151c3019ce9d3d9ee7411a4106d5810c8b8aafd37f544f1caf37f6f5fad592e59bd\nresult = valid\nshared = 0080859c07cae1911b753964ee175c8884bd19abad666e2e472ed6329e71f951534227b2742805c6e6310f6ea3230bd403c2260e97b0d7f1274027f7e69fc7b81273\n\n# tcId = 47\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 018f3dbe37135cd8c8c04182952f6e6f9bfdbb6af4c98f31ba30abc68d88e1ea980d4edcdb5b19f0610082194137ebb019e7a664b522189a186cbe5a03376c0713fb\npublic = 30819b301006072a8648ce3d020106052b810400230381860004005494023709ee6ae39d0c5b67d959f5f8cbd1bea96442933a8929e332b704f7146ecc689b7fdb85c83f3a60846e692dde0c2748cd7becbb0d6b4c7c0c0f793f3ade01a77d75c2600687241843e2eb6ac81ab19d0f8a9747988c03f2c770593dfa48048f2816e3856c5f11ce3cdcca3ae0e1f13718c2c5db2c1c859f7caeffffdfd629fc\nresult = valid\nshared = 009d532af8d99dfc0ce93e2b63305b1f055c42afff3fa90111b071341ccad45ba63ad9ed3a141e95c0cd0d70e78a7ebd82c22e68fac46aa5c9335a955631f9b7c66a\n\n# tcId = 48\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 018f3dbe37135cd8c8c04182952f6e6f9bfdbb6af4c98f31ba30abc68d88e1ea980d4edcdb5b19f0610082194137ebb019e7a664b522189a186cbe5a03376c0713fb\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400912809b73f50475a3b97e9602b757eb2e94fd245e483040e167b833840a62df27912a9c2e0317dbfe58dc43ba2053deede5eca2b22bd06792001dbcaa7ea6b700000438e5bb84f3ef7865152b2317d8df0c691c3d2bed2467d5e7507268a7ba98cab4e4608cea0f5fbf50fd0a487d005b381905c95aaf6a18cd1a2dbd6742b5b05ba71\nresult = valid\nshared = 001b018fecf2c07811a54b43a0b284c996eecc7742210269373c39dba299d1ab91c778b0df40aaa52530766650ff1178de05b69c3bc46b29d1af193433fa125eb900\n\n# tcId = 49\n# edge case for Jacobian and projective coordinates in left to right addition\n# cha", + "in\nprivate = 018f3dbe37135cd8c8c04182952f6e6f9bfdbb6af4c98f31ba30abc68d88e1ea980d4edcdb5b19f0610082194137ebb019e7a664b522189a186cbe5a03376c0713fb\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040043cfe2c30d3f9f0ff96e0e37f61eb2dea3816999c91c5b77957ef92b0ecde092c7504ba57406eadd744381906337cd13ae4555e50a9eb257168c2140e828a46ad30005c129fa9725a82d3e6da721ec0d1412ff6d6a2d8f75bfc7b2b6aadc5fad86fc1a8a67cd7e6b7aab42a546179c6e0560554db5f6138a7ef2dc79d2be385356c9ea\nresult = valid\nshared = 001450d8402f269dfb636499f1645445106c3d95f93080c994726db7e43fb68488f7430f6d171543a127038c930264e60dbf0f48d332af210ecd32320b1cb90acf60\n\n# tcId = 50\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 018f3dbe37135cd8c8c04182952f6e6f9bfdbb6af4c98f31ba30abc68d88e1ea980d4edcdb5b19f0610082194137ebb019e7a664b522189a186cbe5a03376c0713fb\npublic = 30819b301006072a8648ce3d020106052b810400230381860004012eda9020c665ae69a506ac6b3287465e0fc0137b21075cfb6c69963d9acb39a26ca940c3a39e0d94c054672ffc1761e56ded3c180f006857d131dc34a5ace7fd5001709e8a2cd99e1e2016c24f1c5485e3c47947bcc6efbebd2211c0d529a83d097ac611aa50d7879979f4be2d9cecc16360fe4b949ea9970f1075cbf957f031ccfdb2\nresult = valid\nshared = 007846a20b43a498277904686f3766b9a3ad994dc61329db3ae9d97618b8130c2bbece0da7e2c79dbd0e1dc8303ae5f9903d97157d0a74db7f465abe9965cfa83eee\n\n# tcId = 51\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 018f3dbe37135cd8c8c04182952f6e6f9bfdbb6af4c98f31ba30abc68d88e1ea980d4edcdb5b19f0610082194137ebb019e7a664b522189a186cbe5a03376c0713fb\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400084ba1cb8f33cfba89d1c14ed2b50da737a05ae0a4ca35fede3b26324d3be74f5e3320a90bf388bcf8bbcc4c3c1c88ed52103cc7c5ca2b59ccd3e7dfab6d2f4bdc01a3f175c3c8a89d4fda95d47b2d4f3047aebc75ca7ea416ed76d8e689d7ebe7e977737bc6eff9733e6a6c0593486e62834ff46121b72fde5b3359fa707fba6d67cc\nresult = valid\nshared = 018e645fbedd9f12d4474db1206aa67057e08df567c1eecbda395edb2049f770908e3515cce779e37169ebc026eb5c353040058da85fbabd674c8d52a78a39723196\n\n# tcId = 52\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 018f3dbe37135cd8c8c04182952f6e6f9bfdbb6af4c98f31ba30abc68d88e1ea980d4edcdb5b19f0610082194137ebb019e7a664b522189a186cbe5a03376c0713fb\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ea36ce4e51bbb333ea942a5325e1410896e73652c2833b462262da5d791b1835538b06cd9d7b9741f3414d520da87f8be0be218043b05cad61b93b0bc0484e0b2801ece28df4d9ca3ffb23d69c36966cc26b492f7010dfaca67b4bded71cf74c2b0a86e61bc77903397eb8a4362379f09492aa63d9c9f5ff30d105b530c01f46cd7cdc\nresult = valid\nshared = 01912aa177ea8f8878447b4a19da17d482357a272dea19b542398a6bb48b80598754ae27c73958046aaa1c69951302727dddaaf966f03ff5b723acb7db7fccf3a6e4\n\n# tcId = 53\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 018f3dbe37135cd8c8c04182952f6e6f9bfdbb6af4c98f31ba30abc68d88e1ea980d4edcdb5b19f0610082194137ebb019e7a664b522189a186cbe5a03376c0713fb\npublic = 30819b301006072a8648ce3d020106052b810400230381860004009c96024fac77e64b846f141cd1011f2ad52e3aa551103b96e35b439cf89c0304293f1bfb522f981fbb56921db87151e797d07f1127a01c3f3de56dd499656c103b0177b67fb2678b720d08ed05a5c06bcf88134201c192997fc6dc15f820b60bcc0f777d0661bd8f81cfed59deec33cd696e1c1ef72c7666cd5aed49eb325714739bed\nresult = valid\nshared = 006a5b0c09a7bdef316d25f39579279e286b781c2e430f201c54cfc9e154a38ec31eee9d09f6d5aed45056c5b7bb44213c6357c7492d1fd9b1c7dba116fa51d21cfa\n\n# tcId = 54\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 018f3dbe37135cd8c8c04182952f6e6f9bfdbb6af4c98f31ba30abc68d88e1ea980d4edcdb5b19f0610082194137ebb019e7a664b522189a186cbe5a03376c0713fb\npublic = 30819b301006072a8648ce3d020106052b810400230381860004008d4d677aaaef3925a1d41fce4d30543a1fa33a2b3051b367cfdf1b8da7cd1ab67ce9bb255e60475684443cf19ea2e1f01e58fd79f47725661be208767cb2a17530010be175e24d3bbf27dcad2596b8090c7f2e005901038657284a80ff77d3894a29ee2d7daa5880b3ba052261e4796f132db9e8a9781facb32bd8a09babd9e0cba918\nresult = valid\nshared = 00652fbaa411ad316dea40a37d3798d0c03ca7ca590d8eeaee454c7d24ff1c4ec7dffd5ef3e90762d5539c5a57e745b9c0f88e18fff6f737729e67606ddfe3a77519\n\n# tcId = 55\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 018f3dbe37135cd8c8c04182952f6e6f9bfdbb6af4c98f31ba30abc68d88e1ea980d4edcdb5b19f0610082194137ebb019e7a664b522189a186cbe5a03376c0713fb\npublic = 30819b301006072a8648ce3d020106052b810400230381860004009b76bfa396b3706381552ad08fb3b9f92b492c43d6102b7c02cca4017718e0643478c0d73765c27958138c7f6d23b4e83baaf27eaf217ed565e6602b4d080200b1017ba7aefc45677b8c4d4ca468e8a9f5a2fc411a4af4ff4593a9b781f1357aae46988642a1254d6cf588708efe60b2dfab15d371ba4f4d9e09e61f06d4d243e5ec57\nresult = valid\nshared = 00b1ae05c2a91f7e1e9d626b1a46bed2009dd6662e712416e19c1be9e5e512ec734127adafe6129a83d74ba7a797f41afc4b1145a16f6e389169c8b6592bf628f747\n\n# tcId = 56\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 018f3dbe37135cd8c8c04182952f6e6f9bfdbb6af4c98f31ba30abc68d88e1ea980d4edcdb5b19f0610082194137ebb019e7a664b522189a186cbe5a03376c0713fb\npublic = 30819b301006072a8648ce3d020106052b810400230381860004010089190e9b63f5a29e41b5a1837d9bf41c0b2ca107d6d088f4c1d468773150d7d145cce70a240827268371144e4acdda79d09a51b31ca20bac1197e619d1a84f4d0122c638c06912586580c7a7dee429b1ba000f6285b7fda441388c323c0895ff90443f0615011caa332622e67ede867a8c445335444ea112e80532d5f6df1408e72b\nresult = valid\nshared = 00037d3e4359c326f74a8cdcc4bb82090e93bd48757b6caf749fb39a83f992a7fa9676ad466c8d7193902214dabcfc104bc8664eb934a2df648b2e1f401d745e16b3\n\n# tcId = 57\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 018f3dbe37135cd8c8c04182952f6e6f9bfdbb6af4c98f31ba30abc68d88e1ea980d4edcdb5b19f0610082194137ebb019e7a664b522189a186cbe5a03376c0713fb\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040070550537e385e4601490ac5a78348ef26678a4ab3a7469f299dc493bd2976416f649ee3e3cdd77191d8f8f9d600e8cb9fde3afe635e224635b70fa79eb1053744f000a546959ae4abcda827429a47a8cbc6afe42fa0f8391293da778be296c722e02c7ff55e20c119531d211173f02eb108fe1b8bb10d465c7158dd3cb2d9f320d1711\nresult = valid\nshared = 018e22a63dfeb14f28d4f338b78455877851e95b349796245effa830e29ea1978499f07ad9704b352746dac30bfbb827e1f00b979f642bb886f156b538ac6be91746\n\n# tcId = 58\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 018f3dbe37135cd8c8c04182952f6e6f9bfdbb6af4c98f31ba30abc68d88e1ea980d4edcdb5b19f0610082194137ebb019e7a664b522189a186cbe5a03376c0713fb\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040001b66958931ef30c54f83195cc40530c0e44baa223d28d8bfaabf10d16302f3a19601fb74efcbefc1b71d1e81ae4f60b3f8d7c21de1dfafd5cf19c94b396410c39008f13c42ff46d1a18f3d975fdbc0bbb43c31da9423fa935f4c211435518a01437bfaeb6aaf031f92b0c37d76290ff682378c2651cd975eac192cd6582dbbec09974\nresult = valid\nshared = 0032284ed3e15d5e9deda53ceaf5aff21c230e6038e6d7e5caae2a715a5288bcb8469ce2befaaf3b4184eab34869144095661788d3fdf41ac61ef1256890dc7a0beb\n\n# tcId = 59\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 018f3dbe37135cd8c8c04182952f6e6f9bfdbb6af4c98f31ba30abc68d88e1ea980d4edcdb5b19f0610082194137ebb019e7a664b522189a186cbe5a03376c0713fb\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040050571167dc9f3b1f4ae301dd1fac47002d901398823f2e3dea4338288de8a8fb432a683bd52bfa380700b27a904ad60a5a4d363951ffe74540d54de8e7d48ea16c0085f6a7a743969ae27e9a96bc6037039a87d97c696aed99a39f6e2d56ace558074d49546e417d791aa5ff049c9d30c30502f40020ae41e7a512671cdcc49b6079b5\nresult = valid\nshared = 01dfb46afe0bf064dff0b4177f7fd27fa2ee0832af7cdc921f66c0e5be30c80630c41e09202ea2f370f5bbd02ed298b08820ce86e2cb724a1962c6e7b1062f5032dd\n\n# tcId = 60\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 018f3dbe37135cd8c8c04182952f6e6f9bfdbb6af4c98f31ba30abc68d88e1ea980d4edcdb5b19f0610082194137ebb019e7a664b522189a186cbe5a03376c0713fb\npublic = 30819b301006072a8648ce3d020106052b810400230381860004017e4f402b", + "1ce209f673ddf50ae87b9ef61d814d51e14f43da3c23f40fac422f1058fd8930dfaf11710c41a7f6b79255e1c2cfbad69d257a0ecc102f5e38e1407f9d00e10a67d175b399bf1941bd0fc13127f7eb112e1a8681acc2cfae0dc2959e8237488146281ca3df2b1e6056ee932feb1ac6e6e9df3f7a6ee6021578a0ffdb50eca2\nresult = valid\nshared = 0017b99fab0ee0d7f93f7309ffdc9149ba3cb683042fb3d02bd5319eb42678ac7ac7de214e5c0f8473627ef15112c0d1a3194284b6fcccf561d0d252ad25fcc93953\n\n# tcId = 61\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 018f3dbe37135cd8c8c04182952f6e6f9bfdbb6af4c98f31ba30abc68d88e1ea980d4edcdb5b19f0610082194137ebb019e7a664b522189a186cbe5a03376c0713fb\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040004cd97e12d062b7490be45d85e85bd401c1791fbb44e74a45438a8317c7ec9f025b34c595b4769c7b37f44296b4b8f73d5641da281fe35508a23ad503da91ee7db017c4ed0d84b401dab7488da839b20b57809fe7127fa66ef94dc029e44b250857b309a11c91f736a76f3c89d9aded97f5b0beec93a7b6d7882e428befcc20d90df15\nresult = valid\nshared = 01b66a065e62ca0ea49c25fe2a37799b46867e274f8b853a534dd6cd1ad81cc13d27f279d1ee5bc2d96d0b7701abb2d213fa37836bbcd2d1d8937b6d20dcb35b53e0\n\n# tcId = 62\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 018f3dbe37135cd8c8c04182952f6e6f9bfdbb6af4c98f31ba30abc68d88e1ea980d4edcdb5b19f0610082194137ebb019e7a664b522189a186cbe5a03376c0713fb\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401b23c60eefdbde07ce9751d9f9939bf75458e6f2af0afa3d90fa1762d01a6d6e3fa4082c37ad6bf03ba8ff17919e8b9625b5a909c925d9feb7c3ee19a0425385cea000df68406c674be5e1f42d14bf50c19460aeebdde379ad3130a332e8fbeea1569d314d507b37f1dcd283b1c1715852bd39b81c4edcae0f2e1ce5358c6598b8c970a\nresult = valid\nshared = 0059a320501bde6b9b268236f966ac881dede98ce6356a7a900a452c59cbf8d8d20630321625c689c79dffffae7f870a7fbf298695896cacdd2d0e13b702f22e7e43\n\n# tcId = 63\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 018f3dbe37135cd8c8c04182952f6e6f9bfdbb6af4c98f31ba30abc68d88e1ea980d4edcdb5b19f0610082194137ebb019e7a664b522189a186cbe5a03376c0713fb\npublic = 30819b301006072a8648ce3d020106052b810400230381860004006836154477db9db03bb8a404c5942d32e1cdea20354eda9693c3333914b5190c9d63a0433a43062b8860d5e59c0f27ac633038491d46b91fc11ecef8326e75b50e014178e1bbf08473ee5ba856856416e6326cafe6f74227768e835c25c520bae05d1d451f639158dccaa293642a572ac7612d60e96df4c673ab8f2a4ed82e5e2af30b\nresult = valid\nshared = 00204ccc5356219beef3b6d90ea2ef3785f76f14aa3b84ca04f6b2a5e90700596431546e104e7788307147312ca890984f76b53c489de04cc728ef003d246fddb360\n\n# tcId = 64\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 018f3dbe37135cd8c8c04182952f6e6f9bfdbb6af4c98f31ba30abc68d88e1ea980d4edcdb5b19f0610082194137ebb019e7a664b522189a186cbe5a03376c0713fb\npublic = 30819b301006072a8648ce3d020106052b810400230381860004019c26d815bbe92358e1ecd02145a5f45e1f8f46cb90bae131ee589e51bb093d8410206585c03ed7c5b3975445ba07fb7dd668a8e58c27e01dd00b08fe409b4440e7009fe859e9d22bb1652e384d5ae579e44a0f8c5c82e59b4639d42a9b27cb140599c1236e932338dce03de46a60fbece61fd34b8ece7da937b5cc1e3e7cebcce339ee\nresult = valid\nshared = 017a82403f78f8a51729e8bc63c5de9b67c572d41f2aac28bdd95792e658338f19bddc45a6a1cb1bb275f8a910fa64daae2502600aa97b71f49b28981b718f6ae066\n\n# tcId = 65\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 018f3dbe37135cd8c8c04182952f6e6f9bfdbb6af4c98f31ba30abc68d88e1ea980d4edcdb5b19f0610082194137ebb019e7a664b522189a186cbe5a03376c0713fb\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401dd2ae95764078496804529a5eed0da6182be0f085c95789a2634a9569f0080861b183cefd1a1489d0f90465353b972c8450c2aeb5fd80be64f15a719d0873e0a1600e1098dd4b30f78e3fe6c1aaf0048b15b1d0f98ff0744c1c888641d17ac216329376be7113e9321ca7f9f7e1935dff661bce9ffbe86aedbc933f2438fc482c462bf\nresult = valid\nshared = 0088797d31f9b66faee97eeb9a695cf668c7960f49bdce051b2fc273d5ea6d86c78688ee3ef4be14eab0659c57ccecb2bdb190e50be04f65079950c5eb90d676ee57\n\n# tcId = 66\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 018f3dbe37135cd8c8c04182952f6e6f9bfdbb6af4c98f31ba30abc68d88e1ea980d4edcdb5b19f0610082194137ebb019e7a664b522189a186cbe5a03376c0713fb\npublic = 30819b301006072a8648ce3d020106052b810400230381860004007124ed9d261bc3e5d29947ff49cc4420db90d3afac7eb6ab91bbab090bd84ffcc3ef33e963bcc05685910ee63b063bb9adae7fcea41199619988d34d6477d11ea90039738ed5529f31a557970f89e6c927fe0bdd6413dc31237e75270fee8e3ba6f3a24ee56516ece117733c385a8bb759e57ee79533f3c857327b7542677d834b8dfb\nresult = valid\nshared = 002ba25d016989ea24d55fcdd9dae69bc767a4f3281935f5066203812977737b6a256ae839cde9b273281672d7d85dfb40ca895fc1449ce4283f7416cd913a56d8e0\n\n# tcId = 67\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 018f3dbe37135cd8c8c04182952f6e6f9bfdbb6af4c98f31ba30abc68d88e1ea980d4edcdb5b19f0610082194137ebb019e7a664b522189a186cbe5a03376c0713fb\npublic = 30819b301006072a8648ce3d020106052b810400230381860004004220b1642db63810f96cf54f93ba6c3c9b16baa8ab42ecacc281a2fca368be876024b6ae18a8aaf9e433799fb43c0fa175d4ca4a5e121739c7249e9a26fc9044d701b06ae58dc3f7b773013e2dc800e001220bad2e68115ca67516e9c81763d17eadfad2c6d38226f66623a2d5c11786e07face42d7b0a1df96d095bbbedfcd348e4d6\nresult = valid\nshared = 01f5646e724f637e1d4ea8997cc67268da3f741b9af6d21f30775a9a9b0977ed75bfa0ca5a80db2d44822de494d15c87d392cff4acecfb50609b43d7845928286541\n\n# tcId = 68\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b810400230381860004006db3dbd1af249980effd624e9f500e4d9fa446c9be94e39b4860767b55b1310889e178caf6c859f60ffb0d87612c5790833cad160a5b23f741221a123e36f0eeb7002ce839f2ba3072919297ee5a6829b8746af39fbce9fa70dbbf59bd209bb500d6129419ba96020a2550be0a19426ee9e111e6987af0c326e1ae1da4365d15a7bbf5\nresult = valid\nshared = 0177701749c0c54bd6d54ada39aa2222e5b4d32273ea165941d1a9a6114d2cbe609ee62c2306bc5c1ababe082272157fdac8dda39c7b452820c943db4267fed8c2eb\n\n# tcId = 69\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b810400230381860004000d2fcab62b467f978a0267ff3598e6fdff087d3237f8fb00c17d0f5accbb4eded3c4c4858d4553033e59946030c6f5223779a21205ba2a49b4545be596b76f91b20057c975da0520e1dcaa518951db057864966c818e4e64fa910a0c0c7f9b894c06461fed9b44f7ec43b70e3339da0f566aac07fde501bbf22871452dba5c93e5d623\nresult = valid\nshared = 00f524b1726e889d14d5fd70bbfc76fb2eb32dc2425f112a5fca5203305416b85609f337cf87ef878e64e375fa29eb32f9f139bf775c0d3229a72c2e880979f822bf\n\n# tcId = 70\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b810400230381860004002cca1f37dd94a0a47c8168acea473fb057652713015e585743c9d33f5b7d01d638bc0d039147581a5f3096139e5ee8ed38bdcb72cde493924776579bcbb2522961015bd4859c2015c081696ab105b8922c1f81ce4a6104e5b56b3cd99ccc3c5066cbc339ae685a904df5dd15485cc3ca72d2c84f15f625397f4605905b361701e00d2b\nresult = valid\nshared = 01ca20d556bf1baf10153e2c1d99b58fa8d8f21cd7eef30afc94efb47d38bb364abdb59a326dffc41fc056efb714384b5d3f09270b4806fcb0e271383cdaec023baf\n\n# tcId = 71\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401b5386fc61597307632b3f2c984fe0ee8e22c5fd904b1d14b3568e9eb76500379d917f2430b7f2f55e0bac356e74672a23df2a5ddd46fc0a58f9f5407093726c25d009cbf983303fcbe0b5a926e28c0654ed457437e4010ccc1d1e02e28688c9f210c76af02ed0df6b727fb18b938718e9", + "dcc2c2421a639d732a61711a5a45faa1ba144\nresult = valid\nshared = 01206d9bc747f0e7591dbe7a88950a78db2770cebac4e91f71b3052a336bd19f0f906b7298eb92790be7bda33c28216b2816b100fe31ba8a7489a9eca3ba82b9d198\n\n# tcId = 72\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040012d9ebd3feb543b43cf38f7baba9c20fcd5fe2dee9049ca8854184a2ead64aa5405e169ae827413725958307939ee2440c21b8da58b3ff516ae569953cf48737ee00cd5bec6cf728632d31e3a199a298240dded0ab5d2b3513bcb2d114c6b8f279a075ff0c56a3ee9e4058acec8936bf86bb2844ba1307a434fb43d289746662a83dd5\nresult = valid\nshared = 0128dde1341ca17b37efb34b30ee479b763e878dc8006c8cee435c0bd21073c5bb3df52865bd4131f5cec41588ef778ef14af4ca47dc49a16d5b7008ede0b6e6b1b6\n\n# tcId = 73\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400f3aa49feaf686fcffe3a0a360692ef02feb14de6e0fd8dc922857b29d6837a59ce4013bee99bf87f8323c3ab7f57e02e7b0a0dfaa072bf1ada4836be4908ddae49006af81ab3e305fbe5ce8a819f8168a8b44e40b16eae8268a60ea5d66c0f284365e609a19123370beee420d0f019a1984156ce29ade49510e7a3163705333b858914\nresult = valid\nshared = 0058bd4d206df1cfb3fe349cda27b013d59dd6f507c066c0b6cf458aa54a1c13832554c66ff27f6175f1bf4058378c9f7c7a9d8b810e40a3a8af19fe0e48c7284ed3\n\n# tcId = 74\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040054682c186f9b80c4c76d7050f6a180fad9fc8519419574bfafca9678c59ca95e2253348e0b157949461e9551ca7ddfb9fae8fd7fd23a8855d9962913c66f2fce5400f405297310ed41239c565c044cfc4cad2868126d444b373d52e0518245600a99c40f1bfa5cca7d1f397c18ead33c4d3fd4d431ef84f1129238e296e3ed7be0f99e\nresult = valid\nshared = 01612ebacb6c31af2008aa264c45d1cee7aa533d78e1fcf480a3118d23418e23621f0ce9c7509f7182bf23a02a6530659ba62c5f16f8634a4f74d4c32b26c6eecc27\n\n# tcId = 75\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401eabf319253f883417a0ce265d3142396a75f830f33589486889bbd4e2091b827fef6090ab65768a38ffb3a9c97796464634d070622adbc3e9af198efb9d729d7ca0002fa30581a7b2681f7e224ead135ec7a6163af4f40aa333043a2badeceac1353ab5ffbeef929609137cd437e8accc0b02411603959d61c7a70f1391a7a992327a7\nresult = valid\nshared = 006a3235df6b85343eab82350620889feba273604e59eb98d78fe63bd441ce39411ead8402e2507fe10a03fad9562c3be4488378cf2a1f4c42785e7d93218d99fe8e\n\n# tcId = 76\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401d36e696aadbbc409b4733fc3c86dcb2e980a1b7d0158f82a27e5b1337fd2272e52a27fe67cc5872b5b46040d88325b2b524a2d5b873bc54ff051c1d16c99d9bc81003e3f6b1a737da16802430f809e084cd8b3420019c2f9f1b978a1128ffcb900b9c4faf177a7877e4a8384728a1c309d2bcfb412fa983982ae6b459fe07eb9c79edd\nresult = valid\nshared = 0009ca929a3ad9525d0ae19d36b40dc543d2348f8b0d95c59c4207f86a898849858e939b4458b568f57c054ee9d95632aa24c5d5f1d4eaa89faf8fac4d11da28dde9\n\n# tcId = 77\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401061aa89a317c63b824f7ebfc8bd9534e297df9bacf80b8350cbd94cdc4d3d8127a80db9555b77d50ea82c99e667f6fe5379a77c9078bf9c7cc049abe9eac7f174c00a9abfc2a892f104e30cb20cc2bfba6b948c6637ac062e83ae478f096869f17dc1bb4eaf52f7d63518031edecb220ec14b0652e6c96e023490d5ed08fb4259da9fa\nresult = valid\nshared = 013950ddb6b915454125e37a03845794fe32037eddc04143d91cbf2ab842495012896460d3824374b214ece10f39d2ac606bb4b2f9b27548e21720ae13266d14beb0\n\n# tcId = 78\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400df58f193b6d4fdba1d61a4e073a305c95dba4ca0fdd58f86ee32a9304a62097ac3c0d1fae32cf2e4e65ba4efc6d0408725f57274f9bc2289ed426ec27079ae0b6e01f07d98e2aba8d38e6d54b1496d68251004547f50789754c4097662827bc83f2cf59192eb9e09011b30c54cad9f9241c092415a366ffe5b6bdb4cfcbcdc46edcc12\nresult = valid\nshared = 01a1bc2b5e8e0a6210ef8a514ded99eee30ac8e9aa7758adecc4910301fc626a5666e4541cea03a90f1e59fd82b8cd87086f261052124cd43b1c89fd048dad5f2911\n\n# tcId = 79\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040073b917a356c0de8fef14593f66d5dab1f0d56b042ba65d203ec139c6cb71d90bb7dc0444d0e3b01bed97a5c69f27549c92e95bbc7e8e0ce932e6c43a75550e86ec009f2014e29acb2b255bf6ec9118bebe7325e1f11ff7885d1a2e142945cb741e26b4ffc6de72b715a148b840df549b49c9a05f8827f3ef05db98a4f664f6dd8478f0\nresult = valid\nshared = 00f34f3b8ae2f0fec368396633f581b93c38e329770085a51a93457087f8116386d58dea54b99ce56a80896aad40c2dfe69b2dfe126be17bf15ab7f19ce667bff4f7\n\n# tcId = 80\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401d860abb5c65f6d1791bc3fd626e3da1ce890514417d67b407168dc7fc96641fda56fb1830f3695ab0171d7866730747b3dce3de61ce70f831af85e5c6eae0b7c7701b1eba92b65ba7ee9691d908a14ad0a116a4e09b40c9ea4197e60c0b54f948422baa97d80b4ccaf7b35be681ded0aecdd8bdd3059054af838057888489c00a3b759\nresult = valid\nshared = 01203df60db39732207bd8db87501bcd8481664a9111c8c65b46f002b0b83159960e4710eba548f0039db24f66190c56053370b3c9884d445971a1296da4d656f9c3\n\n# tcId = 81\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401b341a7b58122c70b72e70b051a335186c89fe47b8f68c35d099b7759fb6208718875d8cd8c45d1151a370201a1b047002f619b05cafe39d494b6a69a52b42653330127e70b8fc840891395afd3b03732d0a52f4777651c3d8a8579d6658510d868b69f143c7eecd2be412e0ad2b2d7aef0717796f3f8480fa924b09df90188debe51bb\nresult = valid\nshared = 00b22d94b53fb00d48e12f12560eafcdec7ea157c9b042436fc66681de96af98ba98adb7faf79d12b399e901ec7bc9d5117883da205ac26b38f788a7885d434b6e18\n\n# tcId = 82\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040001ff249aaba806d838c1a1d00d9d2259e60ea1e8eec6686405462ab22a32a5b673932bbf63fd74eab3f63348a6c22e0d6e594b253f01ea211bb76f0b9dce66d671005052c1f44d17c334e522a0d8e3d99ae32fa48df6fb9117bee431b7a37440310985e5fdd82170817b0f68c0bb7300d217854e45fb694b46f5f50300627390900087\nresult = valid\nshared = 00e17a9ebd3ce6a19e5eaaf889b120ac1e38778e1c1129c383fec2bf9780d1c412ebc8fbc29b0646d77b84e45493376e991d5954ce3b3caf479cf8f701d88351aed1\n\n# tcId = 83\n# edge ca", + "se for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400d2cb243bdfc5ffb2bacbf437161f02cf22971d8b7f9cd0e65c174989f5ed7c9cc752a0c6a7719dc1bf3cbb67af5cd6025e313a4b0c46429eac1320a6ceb279dac2018093c8ffb1767b2b50109e40f18dbe748a357de1e284664aa7b10a8df3092a81edc1889d153965eb2e4f7b314827512b018baaf392581e2a49941f606135648f8c\nresult = valid\nshared = 00ff5caf7fd6da41a1a8bb47de3a083883e2e382477c1ff1d6ecaa44a163e7bd375b67d7013763a776df38e79662310a74873a4ce6126d2ec6f68263f24879699700\n\n# tcId = 84\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401da72330fd00ebaf4e6ff8a303d25c2527dff19d10d8e8aad05fd759d98073f262e693ce2fc49747aed29e27e323e535d469f0fcd1a8a1d08604fafe00d1badc4b300b7de13e7dcedb7376004a9f589922f187bd1be72e2de7893873d2392bbb84aa871100f8b95548f5df89662e98b631c4ee4d0558096d4170be0c1e21cc05955823b\nresult = valid\nshared = 01a64da0503e2df5d383837d05cd436ea627381e48e3695891175ac8ede9169ddf573b66726c28132277beda84bb47f2792b41113a0d2aca71084618f55daae55f79\n\n# tcId = 85\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040077fe7958119535ca6c1a7c87bb4dc9b936678ab3b757e7816938bc857643606e61647d231b9dad3e03fc4dd29ace5fc823e15f3464d8e236d5862b1f6280c836920061ba736c11ffa6d0fae6bc8f3e66babd3c6d79b89ee639459ec65a71f12eabcdaca447a993121dc63dde6ae0ccebe415f4bfe60fe3fec3d2f48a084b759f078ac4\nresult = valid\nshared = 0140952c273ab512e3a58934e3754f272463407e6189b9c1e259c27f6d433c4827532df627745acda64fd17993508bfdef54711f575cffad61c729e8d6dd8784204f\n\n# tcId = 86\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b810400230381860004011d3ff14f8906db60c7bc09c786be6847768b8684957bf3928c556bf5ce7a8cc82f9ab0e63b4bd7eb87767b3db2624957c3f103e87b5c197dc8c6d2507333ea569d004ab9eeeeab950086e030fc60b6b2e47973582a282e3b019e62744f19c60ca0208e3a537d6ca3532c59a77c540bce03999887483ddddfd524b6f9d7bfb6b1139bba\nresult = valid\nshared = 001a3a4343a4295b07d4b28f71697caf7e363e2f3ca205ebb828c44deb2f5bb3d95116f36e25e90eb00424c9880b4553554ff01f38b52cb34da643207d6f29312f94\n\n# tcId = 87\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b810400230381860004009c9eb4cc6bed689da815f05e3ccd2675473c427d31158f1210fd8a6afcfb272971ef0a0696e48fc01ed9d82c9b1d4be086fa5a1363702780838da4fbd6481536d300b387bdba82a5fe57732ebed26a487d031572c223403c063039617f8e5c2702f602e4b87524f298392ae1d5862fa0ff992e51fce7f1457a0991bf25f66cf845639e\nresult = valid\nshared = 00103eda707b4d5e9a4adc17b88cc341966798b64c242cd13abdf319b77cb9ef2f06816ee820898235198f62071ee8b5c1735e288dd75bb0e5d5479287a02d21e833\n\n# tcId = 88\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401993d74f0a4a12d2804bf9e25752fab9dc0ae60abc6772dfe10afb056b3261f14fc51584baf256340b3652120f24fac700b729dedec97b421a1e931c17c528d5a4300903f97782ec1c5aacd7c3ab02082d7a2f631d9944dc52c9ad4e0258a899efb33bd81068ad43d7dc643b4d7f239a7ac42a26f4d2780215a68495f79eda81e8ead64\nresult = valid\nshared = 01087ad97d7121928c8e35e2fe915f8c90f3450dee09d3f6761c290426c74318e88fd04464c0fcc0432171667b571d834ae77ecca8a410379685d30b8cd28dc04bd7\n\n# tcId = 89\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040107d8b63bc0958510eddab9f11fa35ae4e5d97c92304038d8ec27f6e97005d0143e969c5419e82eba509336e23498c5b73e8f0b21e3d9f5cb561609669ef678c7d40196c535b623be6efa504e969ea71cb925287608740d04acb342b4135882783db8d255a6d556ffc16524babeee06d1f280ab8171848e7db54b76a3b31e4157219614\nresult = valid\nshared = 0074c332bec2028372dac82bb74c3f3b4bd0f0a6521dfdf0cce877b1a99e506ef0e4fd9bcefd3365428f257ed1595dcedbefe99928e7fa7af891fdc1b6ff9de12536\n\n# tcId = 90\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401d3f5704dbc67fe3e9ec3a02612edf04a82fcf9d5a41c5a330f4dc65b7c1e8a927fedf31a52b28bfe2b84e08f9dd98a2689440553dd8919fddd56ed736b9d064cc3000179aada2320049f18430d32a65889ab5a9840ff43388f7e2253be3e0ea41d6abe9e33b0c8a805c80c52fa66dab45f7ed2043900e3ada8d025648c4822743b5194\nresult = valid\nshared = 018d9f7f732023d2f87097c6f58afc7cee91c67b3df3b318517bbb402664f5829408d911b0a9b41cb2f7dcb96d4fba36d90f0275e0bf6b1253d17ce3f267a7b56bff\n\n# tcId = 91\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400d3dc62a070af81ad1dbe02ff075868aa35e3c3b555f58da4485e15bde789b6802b579887d753aa13589167dd26b12489734e80a34941c638c102fa5c199e4d11180190a3534120b8ff4cf7a9386185cd2c7aee6667f130cff1b060242d340029c15eb7d521e1f6a9663f19b2fe740b4384bf3480e76cbdee1da77b8f1c45b9e926884f\nresult = valid\nshared = 016f129531c671388010d41c934a2592d57de3376de7abfd32db1b42b34fdb13e5c8371db8c36101ea35e26d04e19ba891b0816a821c5103a1f68c9dc399b1e4ed50\n\n# tcId = 92\n# edge case for Jacobian and projective coordinates in left to right addition\n# chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400d51e31634926269b2a0885c828a5ab76b1fe4e5e3d941d9678e4bb079002bd3c8e6c1f157e63c275731d57379142a8df9587d10b75ffe62eb4530e75d7634026d7000780e8bcea8d1399943f5bd0f4fd1837db2f9be7fc4669d0422c428c223da53b9566ef0d27bb64cae01d9f949d1a744e8b0e792780d1a243a079395418166d176b\nresult = valid\nshared = 00f55504f1714e07702acb1c594dd246603fb71f11e49de5906acf6dc3bef6a2402e1c5dad8831aa18894531cae087a2dda40fe2db582d3c20d602af62dc12b7e295\n\n# tcId = 93\n# edge case for Jacobian and projective coordinates in precomputation or right\n# to left addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b810400230381860004019d7770d5d9dbe50786ec909d071f12d0b6d10c8b1ddbf546d0e6f4a3ff7e0476f04472eee33d8775586504f005e82329cd6b6cae3f63012a37ab16c47f27ceb36c009d6b670eb33fefcafa11857f5c3bab4fbe41c174650e25e49c65ac63cdd2c2a8f8f605d7e267ec2023f39996b8e825dd0431822108e2c01ff07757d2495805b44b\nresult = valid\nshared = 01b63a08a8fea820ed8c01f0b8482549a13606bd95a7f3689fdfca6c3f4e3d349c7d41847f134d06fabc012bffe98cc6e16ef573b534b3d64792d12d0cd3f1ccf1af\n\n# tcId = 94\n# edge case for Jacobian and projective coordinates in precomputation or right\n# to left addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79", + "e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401f383ca1fa8fba4ec0131927e6688a374f1fbf04f2e793b6b0631d19c24ec6cd75c52d0b19ec27c377a4ac4834bc99001624204552154bea298566300643c63287c00bd95617d1655dccc5b8ad50fe7b1c00bd5111b00338d6e5987a0742f608b74a93502b1260fd193b3bd3a90c843c1344af1638773189036637c3d7504d50e806555\nresult = valid\nshared = 015353c08ca7c484e27a3e04c1d8dfeeecac173c2b6e2a5dbcb0da5223e634bd2d527d8b34ba0e592caf9d6234fc54452c5fb505833a97708ccb8debc4df5dcacbb3\n\n# tcId = 95\n# edge case for Jacobian and projective coordinates in precomputation or right\n# to left addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b810400230381860004005d11ffc03c08ae323cb938fb6f2a33efbcbd61a65840c33b207265ec8add0764d59e5840a85a062bfb1f705559c1954aee96e23c888e0ab6704f362bf5c58882f7013d7a4af3b3a58ad19612a1c371234388d8c06f53f03b39e84c22557cc6641a5580687bb08632eed31e0cc114d179da6865376a9d9b0eec67c1c598ee972b771b6e\nresult = valid\nshared = 01740f76c8d2bbd7179fbed614123fe2fdbb85fe8220300b40cbbb539d4754c5ef63f7b2bc27e129478e7aceec834713ceba27e2f6795344372d3c4d935a9c9e4696\n\n# tcId = 96\n# edge case for Jacobian and projective coordinates in precomputation or right\n# to left addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401e9e395fe1b0b1662256a4b5953e98971dceee098b34f9faa87c07a15e2d9618e713f98cc4f8e89d66e06bf7f6b5b2e012491851b11d71141385fa9b43347c4823f008205a391bb03750c7951f410691dd42cf3d71df5f76b98c0d082460c21f96361013952224dda7463cde16f242c34c62673d9156aed7260e7b01757eee6bea60ee5\nresult = valid\nshared = 01734253e8d5e9308cd51bf04104ee08d163acb590b1a955896447b8a255fcd3c1256b4e86b9f316eff4d7613b3829f5785961eda4ee9eddeda4db4d60af19e31973\n\n# tcId = 97\n# edge case for Jacobian and projective coordinates in precomputation or right\n# to left addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040164016e2bc36fa9ef56713da89acf0b048082dc631156740ec8ecd22c1238488371284345a96ecef6dcdda2e13b4f2b9491c386274897fa13c6b2313c500041975501c90a405431005532377c204bac9a0d9d226542584fbe3c89f785c708a23399a1bd14daa3e68cc76aed9f5fd4bfbe4eecab4a7ad2a00170dad37e6fe56e925e6bfe\nresult = valid\nshared = 009c6234171b4c43f79ff0ad95812e36b0784ad59253d20ea0cb98633fb063ffd8aa22a2dcba29d4116cd70737c1b1f6ebab4731c5b8a455788597a607b5a45bd547\n\n# tcId = 98\n# edge case for Jacobian and projective coordinates in precomputation or right\n# to left addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401d36d2b3ec425a6c2507c4ddfb5b4a10ec4d4a150c5c2b80a263baddebd3198797e97ed7d0cca818cf4ddd47f6134b7a6d2b0a15ee60973f9d7da220f62800c5467011bbb5f8e9df65b9b2c105e4d8f6dbdc4f23f256b53b47bc2892c295e7cbdb4aae81858ba66443255659beaa308aea4c509c99d578fdfb873f51ff53681aea622e0\nresult = valid\nshared = 01cec1f027a10de4a6905ea32f534851a2f23ddc9e7ecd3d24b8b88be01f7639cac7847c9abdbe746c171a913d6719d7c2a0c0359c4036360be1e75e8b2f7aaa678e\n\n# tcId = 99\n# edge case for Jacobian and projective coordinates in precomputation or right\n# to left addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400db63bd5aee53bd63fce054063dc364aae4f320f7ad2df294140431ad1550c7eab371a13d4dbb78f63d7188e61dc8e268888d9319906a28f360bf7ce868eb67d0c7007d66371152954f48581db91c1533ddf3b148b7e96a5e9964f706cb3f6ee805793fd7c5767e79f426233308c8effc1da71ec73744a49a69fb5f662407ff54d94879\nresult = valid\nshared = 005f900efbbad497ee904b80fce07029ad3f979cb3423dc7d16c9cf0853f89a487dfdc5cc34530afa8ccdf5a0e376e278a091bd4f6077c941ded6f1b0fc8840100a3\n\n# tcId = 100\n# edge case for Jacobian and projective coordinates in precomputation or right\n# to left addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b810400230381860004015681f7786b77079c6aa9ccdaa58f39e9ec4e14e24d1bb3f0d6cb56bf7b78761c3bf58c7fb76a22943bb25db80eb0af7410d607154ef927152a8921fdefe7288dba01e5b19c827b288558da2df5f9fca3137ed0694078d3f600aa7a495fe28f418d458bc55276bf7d2969ac2429e2af8d05d4112edbe93b041f2d5d56a4fee5fb918b69\nresult = valid\nshared = 0124c23c00d30329065611075b02e55c3c667bbe3d65160fa189128af455240eb677a1ee07ca8789be7a8ed074ce17504a5903d9a752681afe6342b054866cbbf199\n\n# tcId = 101\n# edge case for Jacobian and projective coordinates in precomputation or right\n# to left addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400b3e7c9774c523bbef857d59f8ccecd067fd18c7d7777c82c68146b338e14c5d0998b3b962354d9b107337afd4137233047adb352b8b1e215fcac25f1e3395940770148e5ced58410183d15c719f8ae4c19d95f910f3583de6e0b63b938e2d5ec670755dc24cbf08f9340f914c5534bf7f1483947b6b40626f1c7fe0e4d8ed843027b14\nresult = valid\nshared = 017a940dca15b1db9a1e3f54c0aa8eb072dce11650ed920a2931c68b930c34b5811d076c0a3d10397a18bd0a7a87faa78a6d984fb48b3ee53d20bcda84cb2ea7baad\n\n# tcId = 102\n# edge case for Jacobian and projective coordinates in precomputation or right\n# to left addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400aff0e5216ee7cd115cc630909d20fd3c382357f0744480d86b177af4ff9471a1e360532a92a58252d93d1ea16ab47f4c090b6aefdc6a7a3778d15c68a866758b9a0098e23c4372372a527be2c6c3117380b4836d5ebd0807b80cd9c6efd96a7cf0757c2a635b9ad6dfe01157ff92ded313a78cad968082af33d136873f808d8e491626\nresult = valid\nshared = 01b98447f0c3a57def592cc0599ce7406f148186f94cd307bf87e4ab273d3a9b5ae6369b26692cab5c24bce59c13959844077783ecfeb777fcf3ce998f656a2382f7\n\n# tcId = 103\n# edge case for Jacobian and projective coordinates in precomputation or right\n# to left addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ad13af79e8bda33120a2a924b481001117479c8fbeccd0a6af4f50edbf7df8e395e32ff6a1e5b2c1b874336c44c65e1eed209e547b3c5761cab96f56daf17bc69300286bd6b0206cbcc7a99e7807f15df0ff83cc17e4474f1769c473e7141c384b8a39f5b5abcdcfc70497057ae7e09b707ac3a71b824a55d4d8648c5a95d63bd82241\nresult = valid\nshared = 00a3cd900b9885629ae8d83fd8143e7d8a291cd933163bc658f37913511837355082d5f39425ea322b19d61db3dda05f255e140eec4e98a7a10121eb2918dcf126a6\n\n# tcId = 104\n# edge case for Jacobian and projective coordinates in precomputation or right\n# to left addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400d4d76b40d97046ccf02d5bd131a5452d91195a13204b6eb4f71a5da9dc9156f619af8bfae8fbaced475c27ca89456f35e547688a6d0d9948fea49ef4b75b5e839c01738db8b3d3fffb1ab697fbc8146a70cdd657d307a6e6ca8a338661a08131e05c680ee9da4c88a90fde96c5630227c2fd4323f302d53a0b5121163ccc40befaf533\nresult = valid\nshared = 00931d8aa38c530db8d5e77daa406d166169c9ceb74ccf7020965673d09133253ca230287ec9997447f1ccbbbbe868cb73ea0e28f4b67ed49132995e75f417838d57\n\n# tcId = 105\n# edge case for Jacobian and projective coordinates in right to left addition\n# chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543", + "192e327\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040103f36ec425dd88e5d82d1f8d747c93eecc4b46ac98cd364fc678bc0d6c79f8bf1fe0bd28235ee43fbd0dc237332cc2ed6eba8c7a5610b5651c9e0f2644587ca3bc014dde8fbe83b569739b860d7b1edadc7bf73f7f0e7a8702eb488d230da284322ce020e9c8831298da14180ab008465e6ded1f1ebaf65640d92ccf29abb6751a6f6c\nresult = valid\nshared = 01270cfe9b869d88e7dff6d45fc752a4ac72ccde73cf12ec227c274328b001a9f24d92b00ca0326fe19d69573d5b3e35f822ccbf4c83a3b3bf6e3153f0984281b3b6\n\n# tcId = 106\n# edge case for Jacobian and projective coordinates in right to left addition\n# chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b810400230381860004013f8cc5569346bf3325d8405fdde9fde71dd1e953c10ed6215b4f4010f5bbe173718a8e2e6d9f802726cd916e16ea1cd3148c879f0acebd8db2628f589c19aaa5be01595d669cfa786bfeb9dcdacedf563d04059867898f42e8a157c91133c952a97d90389891b3647875c822eb48f761930afef9b068853efec0d260d8e51dbcb6d24b\nresult = valid\nshared = 014df04e39e8bf5f6c34472f94f6f428962ac8a39d273377d0007231fa7f5f79ed896269f65bf84eca44e0739cd8b99f2e67977eefd768553d464c79e7d4d90a0ce8\n\n# tcId = 107\n# edge case for Jacobian and projective coordinates in right to left addition\n# chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401375cc4e1a928513598081ac4e4c0632c24bd1997e4850d1472507bc71422fccb64cd823d3365c06e3f08c9fd6e6e476a68120f203ef69ca11c70889e3809eb75dc00d1ed8d7ab74a72462367cb93e843c60389bfceeb2f869aa33491961c4b8389238f5db1f78b39fc0923a54d9a7e0be8edcb9572b2dbff0a729585382bffa6901925\nresult = valid\nshared = 01d3772b252c9ba35ff3472b280a7635ca04513ed02e4d8c25596c900c37994d26ea774737d9a9a8f8618a6ef0c1019344cb3f9656a6369dfb1d8f2a3f28b4f059cc\n\n# tcId = 108\n# edge case for Jacobian and projective coordinates in right to left addition\n# chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b810400230381860004006b6c4149ce3b4fa619e360f0979427d2c6bfeb3fa41205a0ced3a437287c711cc6e5875992cea313ae3d2ec0df6e4217c8c42bbcffa732c403e7b4471d0cf3953300ad7f74c69b7308b78747f73b4e3e66e33bfe4b21d45ac82a0b293b0f635addbee42a718b726aeeb9df1355700497900d9cdd0a42e0228cd1794f767d3bffb1c7a7\nresult = valid\nshared = 01c548cbdfdb40541dab744cbe5c45d96a4f0d1cf2e537d33a9fb4e4675c1ef54582c19294fd17c5fae2c51a9b18c37195e0eac0d9b5ff47a643df375a708dec71a1\n\n# tcId = 109\n# edge case for Jacobian and projective coordinates in right to left addition\n# chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401a7bae08725b97e8ad3d91843a4714d9205000dedea86076105330730bd8b6e5a683049496cd9f08b321cb2f3f8a05badf2370bb90ea1a49236e3fefd91b9c3d76c008c50244040c65bcb86cdbe193eaf6daaae2ba3a328adebc6b72c12736608abaf9c1de7e7b351c8e75d4ab801ffdd6e84b7e46b50976247c32515bf91cea3348906\nresult = valid\nshared = 0052c6c1b82b8e26f7ede705a8b484068b501a8da469caa5c203be018143618d984fa9421b135e1ae2212a27cbbbce3a745780d1847059d56c3c3dda474862a7904a\n\n# tcId = 110\n# edge case for Jacobian and projective coordinates in right to left addition\n# chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040090f74a2c8a5d2a990cdf38b185c7176b37ee50b70559ed85daff2fd45b94b7f9df34ce57eea654427bfad8991f6a5d385342af3a5688b1f8c724fb7e78dc18f20e016141f2b7bc942286dbe8344b68e0f9a2d0950da65191f47eba738abef20b9d107cc0cccf60bc9299b75f0d14147a6c7a7d5ae67a0087eb1f4b48a2780ec086428b\nresult = valid\nshared = 0113de20aea691f5d38b80bad93c80d92377ebb7302014f64ccd893fa9e67d384a4ed1a5e3fce2c84ba5fc379a0a6bdacdb6176594df876d3d13fdf1dc824da825a5\n\n# tcId = 111\n# edge case for Jacobian and projective coordinates in right to left addition\n# chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401f7be229dcb35e444d3d891bb04ff5aaf270e8f8d90afd65afb1c56f8c77eab3d32e55daa31da9aebda76fb67298e3a1bb71505d3a5b6c5af37366c88041090e96e00cf3e132fd88384fae8753ae32ba669e96793b69d6a815365387cd9d4d21ad2862e4b2ffca1fa8ea05e34275fea95ff1dccab750bc742de12611cc3a135a9daf9c0\nresult = valid\nshared = 012090847293ba80dc7a8a4d5038ad6f3ed436b5a82e7a4a6d7cfaea1c19d6c74d3f707fa0ffc9f15a8c95c3e040b4f1b5d2b5ee08b9436410e36fda203fd6c5fc7f\n\n# tcId = 112\n# edge case for Jacobian and projective coordinates in right to left addition\n# chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401d8578b222092103bb17764fda334974b121305c4c1cfaee7d86e814dee33057a03bea234546605cf7fba50d2d57abd0808760a4f8d23f724c00f9f5dd4b026f62801923325a37b0314c7a1d185173b48c14051bc0efc9bf3e57ae778ba537e90c82cc0d42dd98e9ff5a8235ede5c42867e961def8f9f66a631168c2e3a1099c9c2de06\nresult = valid\nshared = 0199aaaf777a6c29b85e0ec9902f4f8d004a297b4570dd4677622305f4339ec726afb98b554175b99b8b3243f12a60b79ffe259471053e14c768a18cbf9ae59e149b\n\n# tcId = 113\n# edge case for Jacobian and projective coordinates in right to left addition\n# chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401badf6a411a405652d3e54b8fb2c5aaed8eb9ada9f06effc2e65299053b8a3216e0b5ee7b256561dfa1779970547b1072424b86bb6ef408cef575bdb02b79de35d4014ef3a47c25265b1cb2f28d5963f533f7acfbde34d45fa1ae5fae77b4c4e0c894280247664aad91c31a011fba50eb6e34bdfdf28f3e406a602c5071eebb632cdbe5\nresult = valid\nshared = 016b74ca4a588fa48cc5fe738aa84952e7d4908ef9fb69a4bc470eb72ed86b1c6bca0b6314939c311b0e3dae7fedd8daf96a37b7420dc556ac2bbcbd0dfdda281748\n\n# tcId = 114\n# edge case for Jacobian and projective coordinates in right to left addition\n# chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b810400230381860004018b9237723c029c551b1e14492460e7d2e4957dceee536dec92bb35fe8ede36e6b1cce155b69a0d7212c2b4f0ba89d3f6fc0e7f6777ff5c2eed8c71eff3c44da8480125bee78039fbd3c339a58bbf625e50346a3e8a9c73460ec68fb028fd4d14cd6315310e0311a0ec4f39fb3408519377dd4ea9d57779003862c312bfd09a9a1f9659\nresult = valid\nshared = 01d81c812e14804d562e4a89e9eea7d26302cfd755fe9221fca577e32fd5bc534e3fb2d81b1701afa0b4d9f25bbd1b2d7ec984da404014b5c23d8b2958aed864db7f\n\n# tcId = 115\n# point with coordinate x = 0\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d20ec9fea6b577c10d26ca1bb446f40b299e648b1ad508aad068896fee3f8e614bc63054d5772bf01a65d412e0bcaa8e965d2f5d332d7f39f846d440ae001f4f87\nresult = valid\nshared = 017fdede9470801568298e0a94cd49a0e81702b6f4ef916983ff89e4f01ade2ee13001c6eaa677499a9de7a48b7c7956faac580e63933853134dc96852264fb23f2c\n\n# tcId = 116\n# point with coordinate x = 0\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040199ff89acaa60d0e479c8168736a7795ee0c1b5c0b21f6cbf90e30682cf4464df9232343c91f3650cf01f7bc2b148d8f3b707fd2e3dff502bca0c03941a9afe631c0084e27155c0903dfe65d7b5d8b1bdec2456ca50c977a43f44e4fc4dd70d94b29c4469655981af4f0c2181f19dc4481307e69e206d4e0a59d48e4", + "3f55809139ada7c\nresult = valid\nshared = 005ff9d0e33b19a1ed65408254957a43c0050b195dfd8feb56472d3fefc463d95910862f9bb0a32d98053763333f92332637dabe2a4f9eebcf48a4630ec50bbf132d\n\n# tcId = 117\n# point with coordinate x = 0\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b810400230381860004014369b6e6717e0854380833d974beea9cccc01d7fbcc39245bc1427104c214326809fd1a678f89612d087df5e3d5ab1855178e01fbc6712482b3443cdbbfec3c77a007e5a8786aacae75f9f7e59b3b00cf136acdac42ff0da06a0de82d5e3c4169a9b5d63cd7c0c68308585f6f31a300d33c010042b44cdd0e6a811ad614ef18b6d4e06\nresult = valid\nshared = 00014a36b98ab57d1d599351272b3131fd12e18cb0f665cc9805b2402c670ee309a85b6e0c2a9cca28d5a4583ccccde7b8d5aaf30c6780cedf8a0b9a4f6a49e9c1e9\n\n# tcId = 118\n# point with coordinate x = 0 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400b08df0612ddbbd8abe1cadf654f7b1500942971cb17fb63936750308bdf3e91daba0e2005575de7e7038f8379e997596d6696e5722489f7fd5f41a85f9b27b206e006d4f3558ec858e8b7b8f31af480a80484223a6f3652868a36d8aa0412e79d57c5d32297d80b508bf5a1bb52fb439163acc26b473033dc24834e0a44dfa43480a9e\nresult = valid\nshared = 015415d54abdb8536e1ae2ac00051e2af3c042a821530165d1febb6ebdd74781ebd3387f9dd8845d31a0331e4eb542085b61f0f9f408ba5b4635dd24dabadaef4701\n\n# tcId = 119\n# point with coordinate x = 0 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400b574f6df47932a1827e36c9441e9a61670969817735632f1ec8fcde60509f6cc99a5c6530a96003d033f4ab63836ca292652b860641a2b98df83ceff2bf2419f7d016c80742e0392dde7016b106e3fb976bd5d8f46a8f0e74b900a8d26f6928b02d4fc1a97d84844c2380f6fd6249bebbba6e5f87fc5ea2edc1362d77e1c246651a56c\nresult = valid\nshared = 00e5a33aa0d346ba57866741f99011f145adbf2dfcc10cbc988c86e8a26e977b419ac748b106f14ff2fdee5a326616ab53ccbe2d80e809811377fe9af2032ca18464\n\n# tcId = 120\n# point with coordinate x = 0 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b810400230381860004003174c3d34077f946f8986af218ca01f31efe57a236718eb88df26a3cccb24b30f1f8e9d4fbba2b953e161bd19447039dbaf1bce04c3460e1e3a2170e267302d2df0010cfe18ae6cb536ac3e14b3e60ccbe52b29a1952a47b5b3b1f4c2637ada534b61a5d94f658fc386beed612467f3dd1cbd8e4d6d154566ab994328d2a58e69ca7a8\nresult = valid\nshared = 018779cbba1718bd2b7fc2ac5cb471308576250ad412a5f98e28d14d76dafecb8455603bb24591b8e83e8a5c2c5505609445bf7a019a229861351d165801285b19e8\n\n# tcId = 121\n# point with coordinate x = 0 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400f87bb74f77e9bb4611af79dc582e368a51f45e6ba1e0f3a56ff25a600a5afe0a20edf6496204fbd2e73a9a54d9c8807fc0b95301df19ca7d67299f44b280bc69630144cd54358b301bf341e7b0db7efff4b0010f179262e5fa181b30d19139129f42464b71ea2e0688ba3244d4f7cbe2f7a8c2a2b379c64a72d6bfbf87f6f1a87bc06b\nresult = valid\nshared = 01f455816acb59e6189e6c14dad7a779958b9b60a9549728d628b0af1a38bee029a717b311fb2b6cea5ff3c8aea096236c67c6a3ace04264ac7ed1beea2a4f5e9044\n\n# tcId = 122\n# point with coordinate x = 0 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b810400230381860004005820a12b529aa3906afb061203c124d3b81f399b67f48f5cc3b5fd45907051ce0536dbdeeb4b3e4ea3e2c37991bf68be9a1a1c609a2ec7b4ab55dc006eae440dda01cb77d7df78b9874470c3dd268e9199f98f832953aeb7b07449d37904054c9dd217daf2f0ae6db058975123c9eaf9d886d5c3d6036907a5cff3c71c7a7a85f62f0b\nresult = valid\nshared = 002007fd98b4e334d9dd7686ae5da379c3c3a0512232844fa00ece76ea9421178b9c154942c0981ca2b8187161d59ad36ab2daf1753e3b59d8fa5b4c9bf224a7377d\n\n# tcId = 123\n# point with coordinate x = 0 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040058e0d20d8a188d48ca57d4b73ea4e9f453a389d5d8fb948737ef55eec30ab60fad580d9e12bb840f82e74950da3d12be7266457bbdd943b831f8ad0d3b57e6243400d70c27ab9cb29f9d753967ffafd27551c78a1bae47441ad38204134f83495deb198247d875f19af99322c2937390340b327d9e6a58b41c76a326c6efbec02c9956\nresult = valid\nshared = 00199e65e06f7c56f3c47aaf9fb6651f5d2fce23fa4b93a21dbbff96559b491bb4a60cb2b9f35b7b45c3a838828a53c547543656c657c916597ac04cc005b0205bce\n\n# tcId = 124\n# point with coordinate x = 0 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040014251e9b87ce81f7f149770c007f1d6320b2d813d27545773ccff4ce7484354fdfd19f9380de8cce76ceabd6530a0c812a34e4404bd82269cd012e1a17c71c9d6600fbcd443052cfaf03760bd5366378308fdd6bf29379f9b6b677c9e88b036ef26a3a276b64a7519e0d019a00760fef387dd483d0d58ab3d30158cd18b260e5041589\nresult = valid\nshared = 002ee30bb081a04b7c585d12cf2e0dcce94938deb0b72a5fba80160863854cbf7495fc4e8399ad06aa6ea05957b76281057f0701196b983371aeec0e4e31f6b42b6c\n\n# tcId = 125\n# point with coordinate x = 0 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401f51838aee36d1dfbb000c0a3dd84755a87d6dcc5ee5c78c88b30d3fe1549a8918204afbb742acd9b5120f109dbfdf9e16f0eae84bc82caf41349252fa9812a944101e0b3a7669bb3aee54e64bb03b68a622831150719a21d4328f732a649666a2598d5ad0f62b00a265a9e08f5ec0b7b6f9e1f8cada04378580b4a287a3af4ae395315\nresult = valid\nshared = 0189786700902cf0c1f5479d839ee4e2401bd249f413c04aa3018732fc5ff9c46a637479f93427e030fa474660e18b2cab46f6ae78f331c5bd351cbf32ea6791fed8\n\n# tcId = 126\n# point with coordinate x = 0 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400a8bb7b5f4257a3319c6dcb1df58988cdf60453e439d230f4251632ff92b2424b147ca40824b25e6ec5f71599ccfd13ea62139e0eadf250c0d0da626f4f1ef0ccbe00494fa65939d5f5d144cea542dea27d7b26dcb5d5d6e813bc5307753b618410465b1b96bed79c98b6a60b58a0bdf83608c81a9ed362b66a4c61323b34d2a6416c83\nresult = valid\nshared = 007068311b5c58397c1637bd9af38b6ba87f10851eee675cbadc27860e78d448abf33dec174d982dab6d100d315c557872bc8f7aff2ba0ffd5082ee203840a7d64c7\n\n# tcId = 127\n# point with coordinate x = 0 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ec49de21d692fcd7084280460dc1410b5ce14855f530214447b6f53d03b019b8e1fa7a862eae55fa9018fc93579936747c96592c98eec62571572e4b40ac8165e1014573cee65cae4d54389e8d74e120b308298f15b075a44ed0f50ecf3e4ab081aca152c614c51a7b312117df7fc607a861d2dad102379bbabb8d72fc836ec2c8230c\nresult = valid\nshared = 004e26f46b5204c8ea45f80115741ac6b0ad0fbc34ae30d89b85c1a390ca28b6b83dcd7448cd413a0057283dae285625bec2932e933ff348099821587beed65d37d7\n\n# tcId = 128\n# point with coordinate x = 0 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400558582568ff68175cecaa0652bef373d6875a196a30d777", + "15638cd45059e9c207595f92ba5a02990a9b7a05fc8649365518cefea24601ec1187a9b6a6fd37d3e82002c2524983d5c3d4c093599f00f96a7a388e2dcd18ddd24923ab6f8236dfcd544721fd22cdaf20fa51e1bf9f9a9e998f34154f26624827cd2cfa1b0e634c83056d9\nresult = valid\nshared = 0159f2d6523ed3f373f2f955bb302bb94efb742c39fc081da1b96b36ce5f3fe07bff07fbd225dba9ea2a82c3bff8939b3cffecb5844be0ece9abe5c51dbf0212647f\n\n# tcId = 129\n# point with coordinate x = 0 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040188dcd8cdf3855cf7cf7f622511c649aa96824bdcfe318485970ab2eeb2428e49ae46e279e3b02110839d5a4471f6a236adee760361043b3106488488ccbd2cafb8004b584ac1d3223c7a01a725c38c182b4ca92858dd2e769f83051db953e20c63d45d6972c6659fca664d9708b6973905e7304c396c5f739a0fc66813acaac1ec1b0c\nresult = valid\nshared = 015b29e33f7959e2ca91f58a7e9e4b132a0989687f5a39f8bd61f7f42275cc256059a04f05a5a7a386edf071f7c981235c3d052ff733843bc9738fa104b9deb9245e\n\n# tcId = 130\n# point with coordinate x = 0 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040113c71cb3b6b32f6d2087978f3f0aee36ea8cb1f028d2d98161f7758bbbeeb3b96588af97bcb4f3fffc457b90b51739e7894f238116e985caacff3e751b56518b3b005b71f5230598689e6254788b894003dc91ebd953a2fedbed23a068b9f943798bfe4d045f7b0bad536727a73a66f250136f8f5006753ff04b00a148afbe70efc143\nresult = valid\nshared = 0039cf5009c6411a5b71b0453f85b41f506b72dccb33f344ad257244dcf9c524caa8fdd376b523480ba22531904215d26c8a818b8f80a4aa1dd111acd8ee84cd453d\n\n# tcId = 131\n# point with coordinate x = 0 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b810400230381860004017575a3f85834ca4832bf64c59df1bf30ac8304291c815397dd9d90c02ae055964110814b158f029d40b36b2a85a9568679fb56a5ab4973068d9edd80edb7a6a76a00efa3ca3101158694ba599d27b4ed0c439977d2855dd57dd4bd311acc3882b09967af64fa34ab08caf24d2acaaf32d93cac8839d391aac51e2cd067f4046b5f87d3\nresult = valid\nshared = 01ba069254a951a961aade066ff04797bfc9cdfebf2a19e4f4b724024e316e8afd9ed48b636a4a0d78cc4d37d9402ad1c981640f90d28f4e566ceac9b66c4000d3ef\n\n# tcId = 132\n# point with coordinate x = 0 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b810400230381860004006dd0ee8e43f615e30b63dc455701661c9dec69dfde65ab7cf9721039e3e5d3cc5c12f8e4c0b6a3422bf13d32e4108255290f9cc9d6e4cfb9c9ea165f9345e1759c004649f03b78e5dffabba70e74e96c5362fa83186bdc44820bb0eaf1bbd1a51976cbbcfc03a986bddf93996d960fa77aac46f9b7a5c32c62c3402c400b3165c1ba21\nresult = valid\nshared = 016c4bfe17c91c3ab2c60e5c9c2fac1be4893f80fca05647c34c82ee8ee5e3b3c89c6e87bc3af444dfdd1d692a3da45a45975bd50774471313d5b7d149a5395ba7ed\n\n# tcId = 133\n# point with coordinate x = 0 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401a6d5d068b1908177a1b18fe078df8f89945870ca8811695b4470048ce0c34443b9a7f95f8af9fb6a4ca0285d1791ce975ad5a65a5c9f6b3df805cc69b3984efed401025339e40a26a3f6f4fe54101706b7f6d475b90f58f7ca5817ab5c3df4d83844f42979dcc88dab0785ea242643159529bd1ceed9be4eeeb2302facc6b440b58264\nresult = valid\nshared = 005191849104cde5be2563c0133065ffcbf4bf411af32e09865989b394ec75e82b4e4649d33125034f2b8cae1c29592aaa9e50700da74c088318d720a68f58653e12\n\n# tcId = 134\n# point with coordinate x = 0 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401bd7d67379b3096728a366796f7014977d11eff92f1fd30983c7452b82fea61f77ae4a431873e2c5588951b663504610d1391b8f9122fd7896ed45b27d2320382a3019547260a021bd86bb149032bad3c6ae194445899573c4007f44cec88e232e43d027a362cf59cf128367cdd595360e0bbc2a25aca863b097757167de4410d261b16\nresult = valid\nshared = 001f8e925d5b2d22f7d1d7fddaa3575fa32d446f99e774db282c93d00beecabda9aacfc644b9cecd76e7f122515b6ebef3b56075f7a2101f9c492e83e62147d09b46\n\n# tcId = 135\n# point with coordinate x = 0 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b810400230381860004009143dcc8d445d7f664481fbace68900453949537fad73756d818561e59448ffb49022b737fc3e725d6c1c45bb0b068809228b0fd8961eef220612be05040c5402e01f8bd056f5f9fb3083e9083374864731d75441a1dc52b41904d6b2eaab805030b04cda6fb42eaccc7c9d50656f0a85225120a0671b1892f2c118e7b538e5c55aa64\nresult = valid\nshared = 0072a7f99e291a15c45bc78c484e4fe94903a958048126f3c2405c5ff8bac7dd07dd96d450b017f6cbf6acf69fe113fb7a6766de8a956ec06f772c15c84de9f4d462\n\n# tcId = 136\n# point with coordinate x = 0 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040080faa5685c19f085101f010e83b2f0100962a18478c9b51aa0d752bd0e439537892a107c34a553c18db4f7515f2ef38caf8253ad2af8c59d84b7f79172cf2eb4cb01e9c0328270b761a0c915a6ed29ee223133eb466efe2317c6f8ad2b3c8d88794e4aba3f966b4aca5594c9a74b37b4503ee5a0794d59c108666897f5ec9bc7bbcbd1\nresult = valid\nshared = 00fe7b90eda1f723c5e442017dadde8affe3ca80afc9f4703267626f4774f06e2c21a5d9c6472882ea8806a9139c4a740f2654d10caa5e3d7bbb7e59713fa032b9fd\n\n# tcId = 137\n# point with coordinate x = 0 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b810400230381860004014d6f8fa157eebea8bc272862d9f8fbee63da5be953e333d06b7443cbb96d0c464a171943b82565ea710c126498aeb7979823b2eb1e81bed3ffdd6e40f4521e6cb900701bcf9e45d6ae4899d96ed59a8015c454735f9efddb47598fbe047e8c4021d786db3539da79760358c0f928b2b72cb936cb66e4fc81ff079ecde8e18989e87950\nresult = valid\nshared = 014063b3dce4c99f5f53e5f360875c02bd4534a83bbb779be9eb05e670595e57a708691c5df0a0062b43d0fa349db201d6279c131d84e9662cf82fbeeab6ea0294b6\n\n# tcId = 138\n# point with coordinate x = 0 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b810400230381860004016361d19207fad3b9cf68a0d7cb224744daf5c18c0d79f060ab1369d7f026c21da2dea098739fc79e664bceed06bd8b8f29471907754319cefd9f216f3226a4a87b00b7007b2df9a123dd81df4f5d5213580c174fd68aa5de23e5386c1f76bc6711babfab72cf9bfa328e97fbe9a3b79ad0d39a778e3c64b74a34319aea0423fa270067\nresult = valid\nshared = 00765188ff6d0db190914b3ee9cbf633e9e5c2607b7323e70e76c3cf3e2b3f1cdceda62b5075a8d43b306fc83e5e4394cba6be0098877b2000385508d0942cdba46a\n\n# tcId = 139\n# point with coordinate x = 0 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401123d8bb17d84760ceb4e3ec98387478f9587dcc05b4720d8834ffcd82c06f59aba278365e834bca2736ed6333757f57920256bd9e1b1bf3d43b620896dbfd877a3012135f587ed6a6bd6b095d41c7abc2a70c9d49461d3ed7cf4e781c8200583a0e8e94ab8a00b52a7d0bbf182cb3bc0832fe82cca18e53e78b049bf9ea6ac6017e3d8\nresult = valid\nshared = 01b1c9e8a4748e6e1aea3dabf37ae74baf2861e482af32309dc93e7c7eaceaa584416445a1ec4f0f24b3938e118191a5bf9e72885bba5c282275c49f5e4bd82e2567\n\n# tcId = 140\n# point with coordinate x = 0 in left to right addition chain\nprivate = 01781d86cac", + "2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040061aa4aa680e5a327ee0495beff81c9a9601a4a42a830725538f9940d234f8fec38ffd21537094492b58ecc4102eddfe18ee8f5947c4736dc60066fa8d9b8230f4001730296bd1d13ab65e85adc69c0822e20e7dd739755bc28d7231e79ba1c31250c1972252c280896f30a26c880a348041b0958ee0443c2e403eb9828599cda90f7a8\nresult = valid\nshared = 0153a4709fc474476e76948b04d430c2ed708ab697bb54589d35a7c96d33632072b4a37deea3428d8d0a933c7bffed068d92a9061f0fa39e62e7d552b31e4a150509\n\n# tcId = 141\n# point with coordinate x = 0 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040086b5bcf4bbd05a5b5651bca9791e550fec3e9b2ff0d6bb255b2d9190f5946439b53f9513a122e5ca0a9ff12e3386b7524e46d7f56167ca6127ce83e67bf5dce6ce00865b2083d5c0200285ee7ff4950922a8abd4eef93d8ded25b53cf9af327e6e4c30c4438ed2c40c67e87835518361c98fd743d859f6c173a951a95a99409e831959\nresult = valid\nshared = 0167d0da4c5dadd25f8787a84a96445c254d8e17feeeb7d21af6712e307cd7351ebe185c0a527402a5fedaa1b26ace5549ab13b208156d14389fd8133c6f4fe31e2d\n\n# tcId = 142\n# point with coordinate x = 0 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401a09aca765c949b656abdb5968055316384245ab775e8584119405c85ab79fdc7ef1e079a35bd299ae149d65f15ab0d64912c5c9a62bca41bdb586782e8eb0cff9600258a50f1bb542dd164b8943bde1f2078ea7d3e89181efab242da30b1a12562184104449e4d759dae9cb9d075c30456b1a4e48740dccad7b59b17dc1c81d517f2cd\nresult = valid\nshared = 01528f5ab758d9b6112f19e1021f5089d526cc50911026e27d44ca6d77220c816b2326a2dd6b9152408813bf8d399906cb1ae33a52cf67e74709d796c70701710457\n\n# tcId = 143\n# point with coordinate x = 0 in precomputation or right to left addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400a6e216a09b636032f39eea552192c242be7ff5478f7f7f9b0caa25b8aeedeaded33ba66b5feec7e75b0de3e7fee142f250e6cb4c7b09a1686ca0bd9cf2d2d48bae00fcfafca2391a55ade0a77fb9a381cb0af16253cd3bc58723f8527670b59567698e7fc3a17e6d26b3a8a4a617e2b12e6d60391f503117fea2ddb46978b6d2d30a26\nresult = valid\nshared = 01d937db2fcaae795f4aec6365be81a514939c548357c6140075db4a076be8c0d3a6126b720b105b3d9cf6a8307346cb832fbe3a936017a6e62059bab6723e885176\n\n# tcId = 144\n# point with coordinate x = 0 in precomputation or right to left addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040050b862a82a0ba92ab45b396c51aa519aa44d117f55760e5a4f1f177dfb5bcdf0d54fb99565e9f7d6757c04f49456aea87075560b1dc5145bfa4068684b04178a8501e1c68a57b38e2281806f3db7b0af0e3c2b5e52d5d5d4890c5b9f5d737df9a706e631e4453f6e79cbc28d57bdc604aea8010eb491f5c09feb20e3bc0c0ed4ae44bf\nresult = valid\nshared = 00cbeb5c9df0bb30a8b45bc17a5bd255e2c8249dbf9133705bf1e502d4e730edd3131c8d370aa7fc78d46b2291181bb40ca85e7a0ac6077cf4367927d8c5b6744306\n\n# tcId = 145\n# point with coordinate x = 0 in precomputation or right to left addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040057f27cc7400b6f9bb3a0f723bc0670938ff888f87917100a932115b12753a1fbb086e5b225209b4f70703aba374443f11fcbcf8779491e2297fbae7f18be2d4f230006a7f04e4de374149dcf596d94a6d7ef8d30d9888bc7500226ed7bc8560729b7c4b4bf28f4f92d7f3b25a5ace886e8be3ed01af02169caea765dc763d0da9495c7\nresult = valid\nshared = 01a26aa99222e44ea4d6dcee229f21f40f723b5cbbe92d56561252e7b09f96eb271ad92b3e16464608745615182fbb7050e2991b0afc040f27ca74e358346466cb8a\n\n# tcId = 146\n# point with coordinate x = 0 in precomputation or right to left addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400e04a04d1e2bfa1a5f6f37867ec251450d46e6bd28067cb99a612f6efabf1f72c70eaf72d70daab53890d54806c46047766293de085f0f40462b2f56ac4fc6811bb00a20fa00fe8ccd8b007efdd6dafbdaf91b10924c0b8d583ce829202c8533e9815451719f12cafefc3d3bdca5d510247d59ffd20d539e22165f11b5d10e912f1f9e4\nresult = valid\nshared = 009a6c017dae44957db6ab3476a9dbeb660ea54e20ab785d5a341e0e0265050fde217900718908e1763eeb66530475fc0d0a1346c6c3bc2952da7cf034df18650645\n\n# tcId = 147\n# point with coordinate x = 0 in precomputation or right to left addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b810400230381860004008d3e0c9820d2b49711780849ab9349de295851b69ac0ff6b2eda1fddc17e97c7ac2695f28ef6ddc1e16062ee48295fff5711cd871992a8a184b8e5b49d7178b5ff01709e435ee6c7ccfe6692c7f169ae357e94feebcad5d6ff0da7ff55a19d1409006aa6083f897824de4c0c59bc80d40607a9bcfdf666b9aa388fa3b865d76c492916\nresult = valid\nshared = 01efd3feffad8d28373dffc0e3a9cd544085ffc28f5bb80697801db4ccb983fa2328222a429e7d6367ddd4a40811ac2adc8fbd8ea06ea408809d5b82fbed3c8a95cb\n\n# tcId = 148\n# point with coordinate x = 0 in precomputation or right to left addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401c02ebd54765a3825d7bfad5635a98d97f73cfb57da9c42c1f464205fac01cd899f7e095a1039b47e0fcbebd65b6ea2c486a7bde4900e9548d8a64a0e6f39d61c9501f5eb9d2491b42e3d02c20ff853080aa2db823f6091a62a2a6bb52d09d3c162a3ad02e0242d243a61ce0063ff8f8e93ec21aeca4ae2b152b8f68d40dd876f80e7c3\nresult = valid\nshared = 01424784d1fca3b4c7811083855fbf8662e1f0ee52b5ffaaa0cf890bb904150512a75a1077ead39ae37ec67d5a3c03d2fcb5f9f695f9918cf4872c5b4a757d1d0fe2\n\n# tcId = 149\n# point with coordinate x = 0 in right to left addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b810400230381860004004b04d3d1c6c47069c0bd44973e75ac753c9f284b0b1d52308bcdd9a1e06307a8ce7af09362f8cc6a2b5b4b2349e2830956abb1191c7e84582db1228c2ec25021cc00c2af05e5c310388c8a16835d06042e490a9ea8c4c9bc532c2e7d46f200107a97e0fbc5d9faca9dcb2249510e199896ac36e0399b0f17650485eb748e1fff9c77fa\nresult = valid\nshared = 0132b97632e57be55586e887d26dad41e500bffcfa96368484557f347c4be821302de8f3f72b9865834d579cf696406145eab512e2f96d2aa589748f64420869121d\n\n# tcId = 150\n# point with coordinate x = 0 in right to left addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400cda2db7fc4f9d4c1ce36ba82a184b2fbfee206d9a5d050d2bf1b2fc92c0d0b78eca3b51d724aa5fa48f666972b473accedc49724ac2b3e779d4c894198d9ab937c00cd13857d84871837f77a54f0ba9d18f6e942d1d6d2e7167fb53e3585b249438289abc68927ac8c29d65377cc73f85d113511f2622bff697465294f5cd1a3772839\nresult = valid\nshared = 01baeff727530ded5f903b2090f922b479c4631afced97ef1780984d9d98fe06a47ef0714ee4f2a32f08afac5a583a516229539c2c4c82f361b6f159222d5c1376b0\n\n# tcId = 151\n# point with coordinate x = 0 in right to left addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b810400230381860004003ab4db21d5645f42bbf1622e26cfe7603bf222af84549dd484a62e98ffef26c13da61aeb5157a91d70a828e96873e25f06c45d652509307b0c998391f951d611dd014e599e94f3275ce60190aa63bd8c8b6edd7ed11eeb138", + "5d0d1137168624eb6d8125ae9b85461187201988cc11bc557680d5bbbb4f54c27b4549831b7b6f1e59e93\nresult = valid\nshared = 01855a6685db05fee3eec9dd11750d31449e40696e8e1c6a5e63343de2dae83147fad337ad9020ea131fab8c4ca30f4a03e0bc628a4a5ab78a09e071fead711543be\n\n# tcId = 152\n# point with coordinate x = 0 in right to left addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400bcaf9df5986efa542d7ce9eea05e557c393a3a3e3ddfabeb47549ef9a2924ebff58f7fb5989d404258791659cf421cd9d2eb1ef6cf21fe428182acb72aadb3fdc0003d638efe16363a8af869ee85dad1c6f003d4f4f827a7a18c75bd7feb330133e5bd297abf56159c50c0d04aa2e3b0194d8de2e7d0fe4d6d7a8901fd362e310ed4e6\nresult = valid\nshared = 00a57bfff03140611be23ad52b3f0d525abc854f830d3e4835d801fa9754e1cfc12a4e6018958b44ba828087ecfab3ae917aba090be1464154ace55d4c481ad83145\n\n# tcId = 153\n# point with coordinate x = 0 in right to left addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400118c04c32a75b07702323ca226a4ace054424b1a6e6edcd4011a035f4bc0789f6151ff849eff8949554fe4d542af1f03c79b369ff4c38d1d29b4a3bc41d5e05bb2010f4b8d511ac5b1a6534aac9dd2486b8cd07cf3d5babc24f74f537b04115a0a8f6d797798fc807fb002746b27892ae30f751034b680b1723c2ee859bdaed0540e77\nresult = valid\nshared = 01519ba4179ef85a4b51b30db2f6e9e2f3d49b1f3e8611c9ba3286d78ca645d29d7a163055fe44accfc724091d0842081a0fc39f0ff7b7d742346ef293e51a1d7107\n\n# tcId = 154\n# point with coordinate y = 1\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400d9cb7a32dab342f863edb340f3ea61ddf833e755ce66bb1a918a42714ba05bcdf4ff10994f616a9d80cd0b48b326e3a8a2a8f5634d824875b6e71fb7cddd7b5018000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nresult = valid\nshared = 01b43cd9280faff242c6eb21243f54477a0dd91ff1b0b1a31d6011acb9211bd7c4e7602e488d4cd384face2aa243db2cf8c8220c566dcf9511feade8fc26b07b1d73\n\n# tcId = 155\n# point with coordinate y = 1\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400703dde202ea03d1d673735002cc62cc740536104d81fc9fd8ebdb7dfa908f599d8fea46debc190a5b2ef5f4493f9b5ecd8da9407bf4fc8e1732803a74ee65f747b017c9b038d86afc941403facaa1e2a6376dec075c035ab2c1f42db5fcda3ad3fec67bcf22baf6c81b4241b4a9257f8c2126880e1d6a69a3e5ac7e98710fb24d505df\nresult = valid\nshared = 01b248dbd8dfa667a10ab32af68fa8967c69496ebf80c11fd0efb769ea93f84f5a2968b7ed81b2fd9aa913accec701ddce0d1f8b43b1c671f547822f796efb12d559\n\n# tcId = 156\n# point with coordinate y = 1\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040004fabe53e63193571d44521d36c4b646e299b390efe50e5fa1a738e700586fe41bf543b07fe4fafcb724301246e8c096c499b8a5d063233aa748db9d2163d1000400928a59f3e4bec0464f021c5ad086456231a4e44f162fe6aefa7a2caef9031ba83768b54762ef90b1e508eddbef69e53f3f9ae215d4a0612f737d16096ddda322aa\nresult = valid\nshared = 01081c5a3289354db20a929fa3d9607c2ac58cab7b1ffb2802e6a778af1b79ca7a68c7bc1bd37a05772ef8c28f4609557f43387b271fb5a274ae3e8814c7505444c4\n\n# tcId = 157\n# point with coordinate y = 1 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400b108b6cb1e04341473646c80f8c9c51014cec7f079f968110ab35c0f05b24ea7722327b5eb5bca748c35c771aba67b232c820ed544f9d4efd43d37ec49960db2d700ac758a1e225e3db19a1f3ea9583ad9ea6e994568f6ddc124b8dab49bae8357b3c70537404ed4d02370e1637ed5916b43334859ece3dbe6dd26065c24df11b8f281\nresult = valid\nshared = 010e64a6dd87610bfb99a134039b518c8cc87019ed5a2fa0b3f98be8fb3b2d900381a50755739bff483e400e5ad92c016ee3174df8d528fdc08a176d6080c183e094\n\n# tcId = 158\n# point with coordinate y = 1 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040124508b182dccea6ace2136e53a2d9b6149dd0ae450830666f0a9c844918f0fb3eb87f7f3f7707addd77bb12cd1e552ef12105c6867a4fe81cd1f6a4001c3fe6e0801576d60d07c02b2559cd189abaa703e36e29c66d3da18d34926ae821bd21694e15319093db25f620b6480e04a4c6c53b1fa388f959b65fbf8a8829b3b262f55e4f2\nresult = valid\nshared = 004af556f09b9d7a024c4dc941931d655d2231932ea045a7faf322b14f97341999a5a5605c7d31b2e93d56f9d8136306a899d82bbe2b61b36af2336a0ede70dcd392\n\n# tcId = 159\n# point with coordinate y = 1 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400e2b5d2bcd2b483871b7d83c2db0e957ef223f65b30f45d4ada33725373785c0d664a8ca2c35bc35a952fd822b0072a960c60e319f4e06de6c785fd8ddcbbea18d200300234471a92ac2c5f778cba8a97f3b3c45cc8eac1d815b45dc02f9b74079ac56649093d43613005867b38f3f6695d50273ea2f68ffa81000c7895e91ec53856e3\nresult = valid\nshared = 0184771f10891b6dab953663dc41600bb7b2bcd0cc6bd319795bc89ce2cca1883cf92fd6fa7b16fb39c3737454bd3c22f4fb2c2e86914db418b653a9e0dce3be5ebf\n\n# tcId = 160\n# point with coordinate y = 1 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400aee0e3097441d50138803ff9b17806bfca1064feec209fd0b5ae57c6d87d9e5eb32cb0670f12fbde06c3f3ed8b1861b6d18f6bc6a2552266a240686c529f044f570100898b3c6501ebaa81e69ee019b879d6ee3715d5096df83961e10bc805d5c674caa98a1ba29ed004808931a9615dfeda8673cf39f0ce4a618d181c04a866189037\nresult = valid\nshared = 0024f79251c86e06ac18e6404cd303c2fabcaa9564218c160c1fb7a99fb2c699b3ae65ca2da8f66ad9d75cee42f19f1d77f194fdf2ad7854186b977ba26c0e87cdab\n\n# tcId = 161\n# point with coordinate y = 1 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040047ad264a373c4994f942ad0942dae8b23a329fb7a46e987cb921c28bcaed4aed60e5ea6fcced4b3ece4ab7d91b349e3e45abce93e9765ee2fe9f13d5f230715a230059654010a57f0e9d1ed46afac4aaf5b3228763ed2cb2b4d78a131636bd1333f12799779a9f0fec3ef24452c51e8e4f31ef6dc1129a454f079258eac10adf8879af\nresult = valid\nshared = 01646e6ed95c47f60851b16b8da121b7a027ae9b05facb08bf52ef17e67a0efb1c49ef903de89082d3b34acacc5cfb63eb6a620d0e1498720e04559ee476bb9a75d5\n\n# tcId = 162\n# point with coordinate y = 1 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400075daa66c8b4298a8a8cd395022bf2f27e52830868b13b1760f22bc29c99666f392385805b9490eca476defdf7df0d6b49181c3723770933c82761a2f7d3cea39a01bd89c2ffbbfb461f212d16e9a9047253cdcdf179ce763fd49172f8bfeeb68d1c1fd6e2fd6e6416a8b015513222734360f51280cef5f39ec5ffdc756e44a5942764\nresult = valid\nshared = 0129e92c8bcf5e735732a7f876321aeb2655e8d226c228e51d5ab6fc7c05b63ca9400a0c25bfa12b0a7ebc84efd62f695da7cd44c1ced1ed5cb788c4de12a517f1b7\n\n# tcId = 163\n# point with coordinate y = 1 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b810400230381860004004abcd8469f194d0ccc0db46492cddfb0552bc1306", + "2b7487acc38f59a074f682001db1addef6b28c5479eaf5d6b95b37c394eb91ecfe02f0087fc639700b490eddf0121398673af0d639191e3122dec7b58526df7054627f696a569892851f904382dbff7b61ed4ab1953910d27aa356095a2ca45956456c8d4e1ac56b1ffec95fbe8cf\nresult = valid\nshared = 00cee0328e75f016d056986b4c7fceee7610237f69dc2cbbb6266659535541269f851e36e0888d635b506b8c00a8dee7d987745d8d06519d15bc752bd5756fe327aa\n\n# tcId = 164\n# point with coordinate y = 1 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401bd163989c407d5f8f9fd2e087b1473710c4bc2d6a97d281984c12cbb0615be9ac806c292c9d90cf35ffec665760193b1d7681c47f8bdae37ac50d8a40760a047fc0167cce4dc54e67ebf56407aec33a5aa20ba867c856f929fad778b39b0dc51249d24e390d7e33c72382c4a1d02bf73d605948a73a481bdf329ef7b7f04cf3a333c76\nresult = valid\nshared = 001e872a534bd079550d50a2def1d439083bb3423a58a923ded2ed7de768022981b7cfc75c970caa2cbbf2c4c7cfd9cf9846844e9c5400356700080a7097f00e1548\n\n# tcId = 165\n# point with coordinate y = 1 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401f3d659378997a75e456f770f34bfac638f1d38777cd0a77207cbc42b540c1fcbad583b93873163426eb91699f8c0834b13695400de49796788c592410c520e859f01946225c71e241a3a785d26d121d56145ea8f9768f3a009a2e3c54f9c876b899e81ab1261b2bd5ef99f54f44535f9cc76bf0f44e91a5f139e9927b88d16dccc4b39\nresult = valid\nshared = 01f9717e8a71cfa94b943d41bf12c70bcf51437419b2da0b6e160d06a3187d781769c75d2a9f97a8499e396069a059725f47a10103b78e568e0768499112f2f16b79\n\n# tcId = 166\n# point with coordinate y = 1 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b810400230381860004000520d4f93ad15bd8399697da58b203a581a3868c55c8ad9af9aef613e214046e56f2a82382fd9eafb1f5281e6f6e9f0bcbb4386ffd8cdf5dce09257cadab97a010011b425853ccf7987de724596be0c23f1d5e1c7d0932d2fe72c5f223b9d03a78b88cb09eba6c4245240f8549c7216e53a879c96668cddc01d51c7a52db201ab77b89\nresult = valid\nshared = 0191c0565fdd561298755620d9a7693cfce185c57b6391e4f9b90f7b22288b4f3ea3d95dd4d91b731615646aa9cf66db8aa0c302ff0703026c303a8c3b1f3e15ecad\n\n# tcId = 167\n# point with coordinate y = 1 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400568a78ce5d2d030ff850879ee03c201e4dc64c58588d2c8feb3ba9b2d03857af3c29cfbd789b797f8dba4b7470f0c84121231f356b63e613d0fff5f8aaea8c86f9003d67dd0bbb1d8588f18ccf31cbe5cd286422b708c386c1f81008647c824f694c1153553009773c657b2b84cdae98e52fb6240872a31bfb0fee3f2d8a94e5319e49\nresult = valid\nshared = 01f86b35038af9371a8412d75e5d46a4fa76eda9d7be740b14e8cf19416fd5df2a4ced3064fc3846ae99542488d69e3879619fa9078cb987dd0d14860b724da9339f\n\n# tcId = 168\n# point with coordinate y = 1 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400d724ed03cea80c5794c0f077b8060662dd744e4e8d4190f7f313c40597fe94bd2aa70b20f73ac4dcef99313608c2031c73f13ed1f5d9ace837c580fd02a4f2d6d50155ff556f046657ee5f50757b9078c5467fec8a0f7566ac15db168afecb7f514541d2d1ff87c5f67c511a4f61a91c579991489ad5a1c8c0c554d9b36d1486b27e72\nresult = valid\nshared = 01d1047bf7e622cd428e1c76aa2c044a2058a2d9f4b5c179cf9c9d4607008181b159c156473e7d25fe49dd63ad150073cbc2de2fa9cad50dbad9a08d56eb22d8d341\n\n# tcId = 169\n# point with coordinate y = 1 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b810400230381860004009339ef1c1f93ca5fedec1ff5fe30334eb123c30e6a17c7b65f3ac8461fb779075fe69889a42837b01eaf44bb7ff8984c0beda0e1b5278a62c07ec128caaf52d8bd0019c095ffad69ed800e223a8bfa55d21f588dc7f9f41b9d75dc010792b6fe243d2308f12dfcd312729ebef9cc407443c04b0cdbe57714615241dab8745cf6487bc9\nresult = valid\nshared = 003eef535275e15f779ec13e5cc7ff939c3dc152e79aad0c32a03b8cb9f8c449b4d9469b362e959887c5a6f20962783c667b32b3791fa701ed52e82d1e3d2229733b\n\n# tcId = 170\n# point with coordinate y = 1 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400c25a9065377d2d84372580a2687667cdcecea580be1a5e72e1fd2adb42ebda8d6a70ac053e49da485732bf13430282fa4cedac64e1b0693051d1354d8d6efcec1201e2d2bfb7b44f535b87312ae67bea3d62800b69d43422fcd3689a1bceca6fcfe4399b7c318a5688d0b4d2333922d595cf8142584fa898c69426f4bc478576edc8bf\nresult = valid\nshared = 019034896afa681fdcfb11ee0c03e5c588a65239be8e555a89280b7a9814174254fdb496ec0faeb2a1d6816d276aceaa98a53e09efe84a752c09c501b2bacaba69b8\n\n# tcId = 171\n# point with coordinate y = 1 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401c2402f341b4e1c9755b3e102223c80563c61c41a64cb119958c41bec2dd9519a475ab84baafb708397000b80b9d275c13d7cdb49127e1eb29a65d2d374904d090b019e06c3da4e884d6ed935c4b92c84bc63e91cbd665cee86cc151344a3a363fa75ad56a9b804b4651ed85663114188e63cebb2c1887f96994db9703c1d0643812cd6\nresult = valid\nshared = 002865551ba95fccdb0c814b145b5a57c808b47d5b08259ee41174770a7302d74a2cc78c7822a6edfa19b22e8a0d616260f1851e0d5dba50a9188e45afcb7dbbab40\n\n# tcId = 172\n# point with coordinate y = 1 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040083f99cf2767ce0cc8898e461f9104060a9c9ea1342a2aff705610469286592aa41f319c50c83524881fc42169d072550825cf92e5ad110abd77e8ecdd8ca09f95e0037af6a24d6dbc9c85dfaada6c5a945dd6349b9f1d1ee10f25f8dfcf0522f3623337bfcba204e7e8e08c25564b4fe933cb6fc145ffef82baa2fd03a89678ffb7585\nresult = valid\nshared = 01b384b48405396fdcb2c57f680be52f91b7c885225ecfb4f786ce6c1490162b3c15ebd8e6755e469a7ffcb91cfd7406cf0ab934a4645c3a039941e7d8cdc07ddace\n\n# tcId = 173\n# point with coordinate y = 1 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400d7fb4d5592e7cf724e57e6ab95e158d818f197f74031318dc83d3c2bec5cd8486481fac97ad6b481e837abbf352b992c2264b16f563f8442526bc6dd05a6374df80161dd90c908f5524ee6b157a86f6734a25e140638bdd839276fb09b3fad93e7ba899d6b6b3ed24fff8d499ad98cc45a35d62b8c461f7cc25699723a033e5b1dbb03\nresult = valid\nshared = 008b00b65cbd72a51c279d1b59628d4e7a1a847277f6d8bd5311e5eae945c887e4c8024dc412eb4205c76103ea493e25df4cdf0011619e3efb290d1cea8c290581a5\n\n# tcId = 174\n# point with coordinate y = 1 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040058499315bb2297d78f8e74d3634bbf83bdc10eae306d8260ad0c62a41cbf78929144bbb69371ac9218d18eee59fe8200c10173d380cd7843808eb16b2c4cdc56dc004ecdecafe59b4aeed084d2d73af0911a7d54474874689bd6f7716c16ee5f4f293f72ba7d26989e551adac0568cd345c5c948231d5e49bc26290115186b185b5ded\nresult = valid\nshared = 007df53f8d32a1ea1f5734b59456564cac461f1c3a949d4fedff5ea96928e7f2b4753520334760f14ede15eaa964f6a0e520346c4f6b3b401ba6e301b581dd49bd21\n\n# tcId = 175\n# point with coordinate y = 1 in left to right addition chain\nprivate = 01781", + "d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b810400230381860004011d2660b0f8fa5bbaaeb0e1d9e2a9642558969f13cd08c51c5725b19f18481af2be6edf0bc2ce59065bbed4b1f383f32f52fc559174f2a402275ee951adea00091d005a3426945e6cb706b8e42010a69a47c09948fec3f2c55f8da5cef5ecbf3f0ea3dc2cde92cbe2eeb76dc7fd33825435ee5457beb7a6069e3e348d26ed33e07dcdb8\nresult = valid\nshared = 00725e7b5b8f0d7eb2d4fc6045d61b5b8505a156fef8fa4b1a2e351760b2f635a1837f23a4c6b724df076b2187b7e213da636b06250c66193a235a4e3c90ed86eb5b\n\n# tcId = 176\n# point with coordinate y = 1 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b810400230381860004009c93065d67cd839187233fbfb33f808f7a6cd444924ee4ea0fd4bb9b3dbc8b4affa7d3c8e3ac2abf82449d7cf4166c6c181b4f609fe09e3ff7a2b6640f8163b08100b5f44a947b7d9bc78069d15d5049ac1ee9da21e78131523eba4d9c9ee6726d32bd4ad849dbd71270710cccb3cb88d243188fd04ac394c125dcb62735570e123890\nresult = valid\nshared = 00718e900a7ef993d671ab0dc5417c98f61f6eb0731641e552ff48fa4f93318b8bfffaff2a1cfa4b759d351e56036a61dd1061d85c3d144b8a882f469810c58e0646\n\n# tcId = 177\n# point with coordinate y = 1 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b810400230381860004003c1f1be461d3cf4302cf1fa8eb921e5c2806fe5673f27f6da3a5bc2b3d78a8aae7ba410236dd9e650942ccdb110423abf53c5d13167638ff8162b4b931a0bcbba900608d6517009d99fc3bf1165e8199221a7989f2ebda3b739a748cc938d2db3e697c5f75c32dd5bcc5578e549e429f454a039579ea1e796851e7578efd280858cc96\nresult = valid\nshared = 0161c84c64cbd65e718abfab1f827af33064e7029ae6feeb11e057181b4b7ff3dbce4d856862b49abbc0b923164361728f6274d890603b7ce187d7ccfc3ff157b42a\n\n# tcId = 178\n# point with coordinate y = 1 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b810400230381860004010b7b6fada1f602c9e97da4acd7ebfd2f9f8e30e0b30b77fb3954deaafaa2ae2628ba042b9257a0b611df770a7ad70da7b9a20bf4d6f80512cee74ba214c61c6d66002061f890cd81b9b49c91007a325ddb67c46062bb64266d3e72934249cb7262b8b92a737234f6e85b74f818b954abbc3529da116c0321f82e21dd25e53c073abbe1\nresult = valid\nshared = 0172bdb24ac7ef741a94c15acc7e208d8d01183be1c45f5e510da1c0809102a9603fe30dcbb03325086aed94ba23422be9404287cdeae4a288afddc2aaa0e8cbc415\n\n# tcId = 179\n# point with coordinate y = 1 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b810400230381860004011d28b1a95fbf27a4ad21ef4613e1983cce354c018aa757330fe13572f848abfa255898d1398f13ceb06b3b53292d000e87dd20dd1954763a94fdceb128fe63af1b0111ffc1b26866dcff9e42104a121a24ef5a15d78141cc93c26167398975916eafc8ad8baae13f59df23fe79aafb6e2078ba465c6b14e44c060eeaaa1ae6f4c7c979\nresult = valid\nshared = 0124eacfd598b6fc20b9f01873ed3c55b0dbb3f9dbc18a05233e59a4ec7270d012b790840d22051c4f1c55a252e8adb10dae855599e22abcb3e23904aa0767e3cc84\n\n# tcId = 180\n# point with coordinate y = 1 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040187b3111a718b18077d9789125ebdb6fdec77890875440d36692e30159b4cfbde1807b3ebb1b1a8c7db00c1fa66cf32c5f9ae0f5941e32d7c7d2af0fa98832f01ba008f7def2063a7797625236797fbeaf8d07d74e07d139e6d73583d2d450a7794a8f712ff7852aaa23da6ee8142d9b697568f7f4a63a87f97d6354fc469596406926c\nresult = valid\nshared = 012fdcff44a9af94f18b50f49c19a1e0e6f999964d5ca4327f280b2edbabf8235d2e2ba2e101b391d0dc1aa067d3593cafb3c5a99c053165fa28d677990ea886fc7a\n\n# tcId = 181\n# point with coordinate y = 1 in left to right addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b810400230381860004009a64ba8c6662bb51553f85608aa2e522bbffd1b44ef646de0938f6267990dd9d7f52505136b67620afc1f6d25acf6d1dc3972c3a88493ae3927230225c03a8135d008952c15dc94461873c232a2fbeb4a7a4687e641d10b3348d17a31ea3fbf17ced9065bfcddfd92ac742cee61d5bf582b958d253e939ce5cf92ce79615433d069d8d\nresult = valid\nshared = 01cdf3f0c813badf7454de520d1248b298502194504afd5904080941cb85a371562848e4756011713593af46145d0652b2edce18d5c9e4a4cd55370bcd6083990628\n\n# tcId = 182\n# point with coordinate y = 1 in precomputation or right to left addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400393bd8fe3c49f7885efbcab87962ef12458c18f255f01a24a1ab795cbfe2b4ddf6e8ac253e4fd9484377f59ddc7c087996386ed9a165cca81f853c918be1c9d399007c47aca4aee1795d414c4334ce4bfecafabf3c3391a02e9332d7f17ec1b5c542009f980fbaf3eadcc192f400b9ad2400220c090a758784dba66de40600c626e4a1\nresult = valid\nshared = 01d10825bb71d094ea2b01855583a8226871ebe7d6bcae064227bdd841788d1c489b94db20c39562450db84735f9285259b34c5d3b43a487f0708632b75de2ebe104\n\n# tcId = 183\n# point with coordinate y = 1 in precomputation or right to left addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401b4b19a125bc0cbd0606064a051af4ab17f791880475f00a1fbcd4a797b401bda390ef7826fa01682651d72cb1353704d7a18027c4d609334b2e8c5d4def86ea0e40190e4cd6a4e0ba9ea45d3b7144f74aaf1986462558c8b3a10501882c2669ec265efc152f5510f3e990d67218471cafc66c845cf69e5eff6e0308cc59ac59a407667\nresult = valid\nshared = 0031eb146616d7bc61ffb553b7ca8522a5b6088d23d5ca6e30b201b86da2375d1f6cc48e88a24b52b0e22045ca7c506c206930619c289fc4a688432adee4702880d3\n\n# tcId = 184\n# point with coordinate y = 1 in precomputation or right to left addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400e7fa4ac2365af9378dd2c81f32f9ef55d4d341ac324eb46923ec7f15448c37ef607c975c352754f472873e469f8d37d38d97d161a7b9b1dae2e965fdcc959747ba01e6c09639729499b607330d7daba2b5c1efae4f121e540bf7e691809a055542284cb5ee87475589cec663b53f21b91231a638d8402e358fd169953491ab3953122a\nresult = valid\nshared = 00a8f2dad749ea1e15673586bb67b5c85ff8f45c72ef8447efef3efc626a6a10ca88451643b434a25176cbae77899a3e32a4484781b700e03857bdd158ad3cfbf200\n\n# tcId = 185\n# point with coordinate y = 1 in precomputation or right to left addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040104f43ffbb37ce5d0ea956171c070d6147acfa9519b887995832a0eb801e0dbc66896dfaff94409b497f4a416ccd82750da47a520b870dfe6cd3764f0e3c0f1bc3b00a5f3db9939c21147ab4488c8128ba0564f192f2788560145d2b14a852816b4851ef69a462c9854bace720e4629ed55af9d2c7da74cd309fc5566e11630746a3522\nresult = valid\nshared = 01ee85a3b6d35d0df6a445593c94609932530e25ee71909c5681ae398a38309e8699e94e0f23f56c64a0d04fc10e2896c50f213f12c685151fa40f18ac6d8ed85906\n\n# tcId = 186\n# point with coordinate y = 1 in precomputation or right to left addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401250ecad894d3fdffb580099c2c305bd5d903fedd2e532ea58d29d63c3281b39e6f47a11b3be97c1c04e042d3f19bd0cbe0ef4121a257279bbd76c66a05e8d222d001a2b3ce41ca09b5b6287b4c328a315dca243c726e8616629d2b37506b7", + "eb31eb76f513decb0ab20a52c0c260a920e92ae1a629fb817df5ad6d7e62367ac5e8ee5f0\nresult = valid\nshared = 011e7d529dc9615209162401ab2bb717378109d87a1ac86b98b7954ea91b960b08fa9374ea72703519c39c69797240c977817e2b34b5322665dd518251bcc1fa970b\n\n# tcId = 187\n# point with coordinate y = 1 in precomputation or right to left addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040019f6ffd81d012b70804c308594b47066516bbb339b44abadb4da194399d1b4d5fc98dd9d0dc363a9bcb14396327ffadb39f9b357b7e631a84b23039396f1cc96f101a6a8c0af8e083a9f8c19cb0fbae7b4523c4c54fc9ffefb735113f528f7a3e9662571060861dd6c9c71b33d99b53d716c36a8a902bca64c46c7e34a2e88dbc96b6d\nresult = valid\nshared = 006b46bbda9f37961aec9efcd6fcbaf4e25b6674ea37f8d82ca2edcc06353e24d09ea5d86136fedee34e0c391b859072ab91918b51d0800ab20255f438c660882e91\n\n# tcId = 188\n# point with coordinate y = 1 in right to left addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b8104002303818600040077d897cff6a2a3446fb38528ad80cf3cc503ad93da06c7c5a525cf9a7bba33d79d686a0c53290a4594240540a02a85cf14336a23da56efdb562b0656800ff396a40120779ae0df7c1d928ca18d63fcabf0d21bd437c86e40966bae8c9fef2ac72738a75be49938ab9917034a2536c023695e821f70b458339bd8de218a5cf741e55a7d\nresult = valid\nshared = 01109989b62a379397232c238cf57d81884babb39b041fbf0f0b48bb7d794944f9a302de0eccaa9a5625b222c6692d24077654f19836b8f14d8622ba14eeace274c9\n\n# tcId = 189\n# point with coordinate y = 1 in right to left addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401a02719244df807864707fbc6c5285da784301dabffb85853daf946f8d71598fa95f7c90a3d5f06e45051799c16f9af0afe275ff4f51e83e1bfabc18176f2bc4a740154de99c74dd263456034abdf5b2a173e318442d13200f4090aaa2714524c43a85ec5f607d5f355205fef0f4aa3b41b2ff79eca361fc28878fd4e26bcc57ac014d8\nresult = valid\nshared = 01054b6191cb257e0f18d09cf454fca4c45716ea00f167b2fbd2d028b66c903b5e751a6caaccf4ed18e28635d8454ed3811e1c4b3638eb420ad21ea4fdbdbadae866\n\n# tcId = 190\n# point with coordinate y = 1 in right to left addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b810400230381860004018a82cb60812fd36cccb29e4747d20579ac9ac6b5ef6490326b30c5f077e9d7841ed189ad172140055d7ee6b015e02b1ebb9fc17d6acd8bb4c08d2ddb4541bb88f4007750fe2640e590f15426d64e2334cb2ad597340c445a42379fc194ef74d7e06a220aadb8e69e361b4960dde70f085e924319dea0df1d4c12c41519535702670ea8\nresult = valid\nshared = 007113f5f3c547a2bdee4af7625bf161ad9840e83f2c3b871b18be0c9db5686cafd3948c831a251a4649999193852650e6dc8a9f82cc696ad57c7181ac9a9ec220ec\n\n# tcId = 191\n# point with coordinate y = 1 in right to left addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400273b9bf3818c129cc272270b5bb0b8b7e557ca8c548a6f3205e37b611962b14d9be317dc44fe82b2d2504984db98a902e7ea2a5afe584dc2b2990e5a790fd55b1900b9211fbfa221e3c24bc3de2f70e8f0e84f4b05c2d2bc5e98da3e379e80becd53d221136ad740b2732ecbc3c7e06c07e064d5de69e6a6d567713f644e8ac25a1d93\nresult = valid\nshared = 019188478c62349299ba2f12aec3c7ef65858f50395380ed0e7e70e731d7c47885cfb183ecca22fc71f0afd0621243750786969a0097b36a521ef41df9f08f9a4558\n\n# tcId = 192\n# point with coordinate y = 1 in right to left addition chain\nprivate = 01781d86cac2c052b7e4f48cef415c5c1319e07db70db92a497c2ac764e9509ac0b07322801f5ae1f28c9d7db71f79e5f51bf646790af988d62339a6d1543192e327\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400b9d403df5b1dacbef2baece88a0b10fabc5d729753f4e936015afb96b929392a9eeb03460968ed18868714caac2dc16c07245a9ef4832ac418e3290d1f8d0d102e008494f4442d00fdca67d31b3eb656c8a06bd521046c1af075b0ed26c26d5bdd8b800493c68cf493516027ede771aee3ed8b5fb947e9d600cc0a82c3f2076d96aac0\nresult = valid\nshared = 01adf724cf47ae319791a3dbe336b2f54a4d74bc28ff8a23c2f333e2a5a36bbe73dd6c9de72616ad5b779e51636d08f7cec58ff18b7127e396856bc13d39094410af\n\n# tcId = 193\n# edge case private key\nprivate = 03\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314\nresult = valid\nshared = 00f2246431b597930f2eae61e9aabbd39f8f6ae97c3cf2521a6aeecedda10b5ef5f3b2eb3a8906d02f51d244710aa9e19cc0be21db920132be1c91deb85e466c28df\n\n# tcId = 194\n# edge case private key\nprivate = 01ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314\nresult = valid\nshared = 00347c51f587c726070bdeb9173d0a547427ead3f2c8de62d9ecc3013285f645d220931520bcef85d08cfb6786045745fbfbfb1924c44a89d06676131a965677272a\n\n# tcId = 195\n# edge case private key\nprivate = 0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314\nresult = valid\nshared = 01c41dc4437c2f2b94a940711b3a691723397a1f83d6bc0c67ddc7a657160925c7f85bb4eb3842b60b2610ddb7c0b8676267710e58359a8750843c6d8e25d48d1cd9\n\n# tcId = 196\n# edge case private key\nprivate = 00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314\nresult = valid\nshared = 006a239cdb7a783840658d5f314bfe5c51e806a4bf1236f8421265bcc503c673eb16c5c2b38b5717fa04ee7dbcdeb15c871711507abb7557a8a8c7b3250141e854d5\n\n# tcId = 197\n# edge case private key\nprivate = 010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314\nresult = valid\nshared = 0112dbf9713aadd478e4f2ebcb058f05b512b1959c7da1994f851f373ce8c341d39c6843373f6fe559905953e1147640159437953c571961c09bad157a8e1a5bf476\n\n# tcId = 198\n# edge case private key\nprivate = 01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47adbb6fb71e91386409\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314\nresult = valid\nshared = 003eca2210c862310508", + "5aa284d119f3d716730595c6291aa89bf32a95e8a5fdc64f3d76e92494a43a9dced12d05b6dca4ffe649b32ac12cb0202e702dc83a2cb277\n\n# tcId = 199\n# edge case private key\nprivate = 01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb5fb71e91386409\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314\nresult = valid\nshared = 01c4cae9fbfdd45de51d8525e8447a7553c35cf358f1346f1d79666887bb749a3ba0de62e1866b47a447d53b6f1ca5a33ec94507e2cfb65544f5a1195fc6b4dc5810\n\n# tcId = 200\n# edge case private key\nprivate = 01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb67b71e91386409\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314\nresult = valid\nshared = 008073b4796e748f3d0de5e85b22aed463f1a6aecdb336bc287b50d139e3591ef5f86b78c3f6051467755f059f295d758075347d657aaae02383838bb96071eacbd4\n\n# tcId = 201\n# edge case private key\nprivate = 01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71d91386409\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314\nresult = valid\nshared = 01f11ff8983792d4a790d0de4b56d078b9033ad6318a440e8119342937cc48a39375150ab2cf98273b0fe35d5a3af5d84322a685e89f2cb378a99b9b7bac87e44952\n\n# tcId = 202\n# edge case private key\nprivate = 01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138631b\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314\nresult = valid\nshared = 00286cefaaf38ca4c6657eb9b187d8614d51775fd71c1a79b4c0ef1a0d4ce72b6f5b2bc854a4e78283530942a3f4fd2a8586d5ea51513c89d3d29de5de06321e118e\nflags = AddSubChain\n\n# tcId = 203\n# edge case private key\nprivate = 01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138639b\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314\nresult = valid\nshared = 014790de14c481f1336fcb7d33a8bf8e23eb594cc48608e9edfe0e326e106b67e7eaa3f04ec9985599178f632a5ee6419e11217060e9fcd5958a43882bf8cd3be6ba\nflags = AddSubChain\n\n# tcId = 204\n# edge case private key\nprivate = 01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e913863db\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314\nresult = valid\nshared = 01ae775dbc4096a3aea7977b1a0af4b2830ecf9ca927a6247fba4cccb46b3f71d0e7abb8dda72d1c1ee7bb5b875b4773cc8df40f732819c4147da330775d1742ea35\nflags = AddSubChain\n\n# tcId = 205\n# edge case private key\nprivate = 01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e913863fb\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314\nresult = valid\nshared = 01979fb05e068a12a3f20cfdfb9eaee9f22b356edcc7655383ed38124b86814f86a6f2216a34f3fc2299d403ee42408f95d08c5c6cd11db72cbf299a4a3c2545be25\nflags = AddSubChain\n\n# tcId = 206\n# edge case private key\nprivate = 01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386403\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314\nresult = valid\nshared = 0197ebe26798bf67f06ff0282773af75115531f41d94c093d87481b76bef707bc222f2d6672f84a00fa20c5ed27027ab4006b68d93ee2151016c9ddbe014346272e2\nflags = AddSubChain\n\n# tcId = 207\n# edge case private key\nprivate = 01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386406\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314\nresult = valid\nshared = 00f2246431b597930f2eae61e9aabbd39f8f6ae97c3cf2521a6aeecedda10b5ef5f3b2eb3a8906d02f51d244710aa9e19cc0be21db920132be1c91deb85e466c28df\n\n# tcId = 208\n# edge case private key\nprivate = 01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386407\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314\nresult = valid\nshared = 01c168314cdc85757ade34a52a9e5379ffa5968f084b7e404939a8033a0fc698e26211754b9b2c04cf8a1420abe6e986ef1a238bbb91dd402b72e0ed50a876f1a83e\nflags = AddSubChain\n\n# tcId = 209\n# CVE-2017-10176: Issue with elliptic curve addition\nprivate = 01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e913863f7\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650\nresult = valid\nshared = 01bc33425e72a12779eacb2edcc5b63d1281f7e86dbc7bf99a7abd0cfe367de4666d6edbb8525bffe5222f0702c3096dec0884ce572f5a15c423fdf44d01dd99c61d\nflags = CVE_2017_10176\n\n# tcId = 210\n# point is not on curve\nprivate = 01c6cafb74e2a50c82c7a63d13294bfea113f271e01ae305f79af43203cd32115ecdf2fee5fedba2ad3126783db0c3c4d3029a14369e8f80dbd15d512f13e51c503c\npublic = 30819b301006072a8648ce3d020106052b810400230381860004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = invalid\nshared = \n\n# tcId = 211\n# point is not on curve\nprivate = 01c6cafb74e2a50c82c7a", + "63d13294bfea113f271e01ae305f79af43203cd32115ecdf2fee5fedba2ad3126783db0c3c4d3029a14369e8f80dbd15d512f13e51c503c\npublic = 30819b301006072a8648ce3d020106052b810400230381860004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nresult = invalid\nshared = \n\n# tcId = 212\n# point is not on curve\nprivate = 01c6cafb74e2a50c82c7a63d13294bfea113f271e01ae305f79af43203cd32115ecdf2fee5fedba2ad3126783db0c3c4d3029a14369e8f80dbd15d512f13e51c503c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe\nresult = invalid\nshared = \n\n# tcId = 213\n# point is not on curve\nprivate = 01c6cafb74e2a50c82c7a63d13294bfea113f271e01ae305f79af43203cd32115ecdf2fee5fedba2ad3126783db0c3c4d3029a14369e8f80dbd15d512f13e51c503c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nresult = invalid\nshared = \n\n# tcId = 214\n# point is not on curve\nprivate = 01c6cafb74e2a50c82c7a63d13294bfea113f271e01ae305f79af43203cd32115ecdf2fee5fedba2ad3126783db0c3c4d3029a14369e8f80dbd15d512f13e51c503c\npublic = 30819b301006072a8648ce3d020106052b810400230381860004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = invalid\nshared = \n\n# tcId = 215\n# point is not on curve\nprivate = 01c6cafb74e2a50c82c7a63d13294bfea113f271e01ae305f79af43203cd32115ecdf2fee5fedba2ad3126783db0c3c4d3029a14369e8f80dbd15d512f13e51c503c\npublic = 30819b301006072a8648ce3d020106052b810400230381860004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nresult = invalid\nshared = \n\n# tcId = 216\n# point is not on curve\nprivate = 01c6cafb74e2a50c82c7a63d13294bfea113f271e01ae305f79af43203cd32115ecdf2fee5fedba2ad3126783db0c3c4d3029a14369e8f80dbd15d512f13e51c503c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe\nresult = invalid\nshared = \n\n# tcId = 217\n# point is not on curve\nprivate = 01c6cafb74e2a50c82c7a63d13294bfea113f271e01ae305f79af43203cd32115ecdf2fee5fedba2ad3126783db0c3c4d3029a14369e8f80dbd15d512f13e51c503c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nresult = invalid\nshared = \n\n# tcId = 218\n# point is not on curve\nprivate = 01c6cafb74e2a50c82c7a63d13294bfea113f271e01ae305f79af43203cd32115ecdf2fee5fedba2ad3126783db0c3c4d3029a14369e8f80dbd15d512f13e51c503c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = invalid\nshared = \n\n# tcId = 219\n# point is not on curve\nprivate = 01c6cafb74e2a50c82c7a63d13294bfea113f271e01ae305f79af43203cd32115ecdf2fee5fedba2ad3126783db0c3c4d3029a14369e8f80dbd15d512f13e51c503c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nresult = invalid\nshared = \n\n# tcId = 220\n# point is not on curve\nprivate = 01c6cafb74e2a50c82c7a63d13294bfea113f271e01ae305f79af43203cd32115ecdf2fee5fedba2ad3126783db0c3c4d3029a14369e8f80dbd15d512f13e51c503c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe\nresult = invalid\nshared = \n\n# tcId = 221\n# point is not on curve\nprivate = 01c6cafb74e2a50c82c7a63d13294bfea113f271e01ae305f79af43203cd32115ecdf2fee5fedba2ad3126783db0c3c4d3029a14369e8f80dbd15d512f13e51c503c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nresult = invalid\nshared = \n\n# tcId = 222\n# point is not on curve\nprivate = 01c6cafb74e2a50c82c7a63d13294bfea113f271e01ae305f79af43203cd32115ecdf2fee5fedba2ad3126783db0c3c4d3029a14369e8f80dbd15d512f13e51c503c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = invalid\nshared = \n\n# tcId = 223\n# point is not on curve\nprivate = 01c6cafb74e2a50c82c7a63d13294bfea113f271e01ae305f79af43203cd32115ecdf2fee5fedba2ad3126783db0c3c4d3029a14369e8f80dbd15d512f13e51c503c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nresult = invalid\nshared = \n\n# tcId = 224\n# point is not on curve\nprivate = 01c6cafb74e2a50c82c7a63d13294bfea113f271e01ae305f79af43203cd32115ecdf2fee5fedba2ad3126783db0c3c4d3029a14369e8f80dbd15d512f13e51c503c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe\nresult = invalid\nshared = \n\n# tcId = 225\n# point is not on curve\nprivate = 01c6cafb74e2a50c82c7a63d13294bfea113f271e01ae305f79af43203cd32115ecdf2fee5fedba2ad3126783db0c3c4d3029a14369e8f80dbd15d512f13e51c503c\npublic = 30819b301006072a8648ce3d020106052b81040023038186000401ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nresult = invalid\nshared = \n\n# tcId = 226\nprivate = 01c6cafb74e2a50c82c7a63d13294bfea113f271e01ae305f79af43203cd32115ecdf2fee5fedba2ad3126783db0c3c4d3029a14369e8f80dbd15d512f13e51c503c\npublic = 3015301006072a8648ce3d020106052b81040023030100\nresult = invalid\nshared = \n\n# tcId = 2", + "27\n# public point not on curve\nprivate = 01396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7\npublic = 30819b301006072a8648ce3d020106052b81040023038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fe1\nresult = invalid\nshared = \nflags = InvalidPublic\n\n# tcId = 228\n# public point = (0,0)\nprivate = 01396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7\npublic = 30819b301006072a8648ce3d020106052b810400230381860004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = invalid\nshared = \nflags = InvalidPublic\n\n# tcId = 229\n# order =\n# -6864797660130609714981900799081393217269435300143305409394463459185543183397655394245057746333217197532963996371363321113864768612440380340372808892707005449\nprivate = 01396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7\npublic = 30820245308201b806072a8648ce3d0201308201ab020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308187044201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f000481850400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd166500242fe000000000000000000000000000000000000000000000000000000000000000005ae79787c40d069948033feb708f65a2fc44a36477663b851449048e16ec79bf7020101038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf\nresult = invalid\nshared = 00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de\nflags = WrongOrder,InvalidPublic,UnnamedCurve\n\n# tcId = 230\n# order = 0\nprivate = 01396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7\npublic = 308202043082017706072a8648ce3d02013082016a020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308187044201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f000481850400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650020100020101038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf\nresult = invalid\nshared = 00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de\nflags = WrongOrder,InvalidPublic,UnnamedCurve\n\n# tcId = 231\n# order = 1\nprivate = 01396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7\npublic = 308202043082017706072a8648ce3d02013082016a020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308187044201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f000481850400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650020101020101038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf\nresult = acceptable\nshared = 00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de\nflags = WrongOrder,UnusedParam,UnnamedCurve\n\n# tcId = 232\n# order =\n# 1598335257761788022467377781654101148543282249044465229239888363328190330275719844327554513312228302828260696579553960150541916632196023208175974174\nprivate = 01396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7\npublic = 30820241308201b406072a8648ce3d0201308201a7020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308187044201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f000481850400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650023e01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e020101038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf\nresult = acceptable\nshared = 00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de\nflags = WrongOrder,UnusedParam,UnnamedCurve\n\n# tcId = 233\n# generator = (0,0)\nprivate = 01396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7\npublic = 30820245308201b806072a8648ce3d0201308201ab020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308187044201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f00048185040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409020101038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf\nresult = acceptable\nshared = 00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de\nflags = UnusedParam,UnnamedCurve\n\n# tcId = 234\n# generator not on curve\nprivate = 01396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7\npublic = 30820245308201b806072a8648ce3d0201308201ab020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308187044201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f000481850400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16652024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409020101038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf\nresult = acceptable\nshared = 00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de\nflags = UnusedParam,UnnamedCurve\n\n# tcId = 235\n# cofactor = -1\nprivate = 01396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7\npublic = 30820245308201b806072a8648ce3d0201308201ab020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308187044201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f000481850400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e913864090201ff038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf\nresult = invalid\nshared = 00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de\nflags = InvalidPublic,UnnamedCurve\n\n# tcId = 236\n# cofactor = 0\nprivate = 01396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7\npublic = 30820245308201b806072a8648ce3d0201308201ab020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308187044201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f000481850400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409020100038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf\nresult = invalid\nshared = 00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de\nflags = InvalidPublic,UnnamedCurve\n\n# tcId = 237\n# cofactor = 2\nprivate = 01396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7\npublic = 30820245308201b806072a8648ce3d0201308201ab020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308187044201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f000481850400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409020102038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf\nresult = acceptable\nshared = 00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de\nflags = UnusedParam,UnnamedCurve\n\n# tcId = 238\n# cofactor =\n# 6864797660130609714981900799081393217269435300143305409394463459185543183397655394245057746333217197532963996371363321113864768612440380340372808892707005449\nprivate = 01396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7\npublic = 30820286308201f906072a8648ce3d0201308201ec020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308187044201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f000481850400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409024201ffffffffffffffffffffffffffffffffffffff", + "fffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf\nresult = invalid\nshared = 00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de\nflags = InvalidPublic,UnnamedCurve\n\n# tcId = 239\n# cofactor = None\nprivate = 01396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7\npublic = 30820242308201b506072a8648ce3d0201308201a8020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308187044201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f000481850400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf\nresult = acceptable\nshared = 00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de\nflags = UnusedParam,UnnamedCurve\n\n# tcId = 240\n# modified prime\nprivate = 01396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7\npublic = 30820244308201b706072a8648ce3d0201308201aa020101304d06072a8648ce3d0101024201e99d17d498f3c68ed8e50430ec4f36c14dbeeaf7652e985636bf0548ffb981e9e011607fd0059cd4fe51e882f19a3839ebe7f1d7376cb761431b214ed76970cc0130818604411662e82b670c3971271afbcf13b0c93eb24115089ad167a9c940fab700467e161fee9f802ffa632b01ae177d0e65c7c614180e28c893489ebce4deb128968f33fb044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f0004818504000000000000000000000000000000000000000000000a14517cc6b91f8000000000000000000000000000000000000000000000000000000000000000000000032c006b0f530bec5bed532357d436727699f0e3c5b9366f1a435be640b97cd43d937655b1f157c7d0c7df25011fef7c3ab7d8e556e6125b59b847fcdd89a4051796a797024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e913864090201010381860004000000000000000000000000000000000000000000000a14517cc6b91f8000000000000000000000000000000000000000000000000000000000000000000000032c006b0f530bec5bed532357d436727699f0e3c5b9366f1a435be640b97cd43d937655b1f157c7d0c7df25011fef7c3ab7d8e556e6125b59b847fcdd89a4051796a797\nresult = invalid\nshared = 00ebef6771455911ee573c183e990f7086650f9bafdb722c896751bd2c0f87959c78a39382d10fdfb46fd3515c8feb590943dd79778b13adbc7f670ba2a009753483\nflags = ModifiedPrime,InvalidPublic,UnnamedCurve\n\n# tcId = 241\n# using secp224r1\nprivate = 01396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7\npublic = 304e301006072a8648ce3d020106052b81040021033a0004074f56dc2ea648ef89c3b72e23bbd2da36f60243e4d2067b70604af1c2165cec2f86603d60c8a611d5b84ba3d91dfe1a480825bcc4af3bcf\nresult = invalid\nshared = \nflags = InvalidPublic\n\n# tcId = 242\n# using secp256r1\nprivate = 01396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7\npublic = 3059301306072a8648ce3d020106082a8648ce3d03010703420004cbf6606595a3ee50f9fceaa2798c2740c82540516b4e5a7d361ff24e9dd15364e5408b2e679f9d5310d1f6893b36ce16b4a507509175fcb52aea53b781556b39\nresult = invalid\nshared = \nflags = InvalidPublic\n\n# tcId = 243\n# using secp256k1\nprivate = 01396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7\npublic = 3056301006072a8648ce3d020106052b8104000a03420004a1263e75b87ae0937060ff1472f330ee55cdf8f4329d6284a9ebfbcc856c11684225e72cbebff41e54fb6f00e11afe53a17937bedbf2df787f8ef9584f775838\nresult = invalid\nshared = \nflags = InvalidPublic\n\n# tcId = 244\n# a = 0\nprivate = 01396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7\npublic = 308202033082017606072a8648ce3d020130820169020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3046040100044109a88e6f050cfefa0b49fac45689b6b93ad4fa3b65db7d2f4cb31b67fe056a100066dd80dc5f785d27f82e3369eb22ab2c5729a9e5d9906a1dc31e02f84026484a0481850400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409020101038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf\nresult = acceptable\nshared = 00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de\nflags = UnusedParam,UnnamedCurve\n\n# tcId = 245\n# public key of order 3\nprivate = 01396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7\npublic = 30820245308201b806072a8648ce3d0201308201ab020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308187044122cf9f56681fb138292f337d49937d24268b13b89617117fc35c880de0b3d4185ea9bef6e077a3bef09e0835c68dd301f5eafd873361149e8bdc295050f43c22f20442011f108b762c3e4b4945577057a910ca94481d69f8abc3239c36ad492af73bb8e81c8a8f9cf658165b32914a4a4fff8c3aec5982f734de122cf65610a139592496a70481850401c70f1e46f736e8ee0c78ec2253266bc62da9bbec44fe109321c9bab98a441b4a94840e85546e895f50d7331adc8a48275204ee12d6865597a521efcf01f4839d840000576bfe88eca0e48ab49df0e823e24a7d0b32b5b9ac1ac46819f4c51e801675e16872395c9eca3ffb5e2b7d4763d6858882b94b5bb6764c00e0b57891ee995cd1024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409020101038186000401c70f1e46f736e8ee0c78ec2253266bc62da9bbec44fe109321c9bab98a441b4a94840e85546e895f50d7331adc8a48275204ee12d6865597a521efcf01f4839d8401ffa8940177135f1b754b620f17dc1db582f4cd4a4653e53b97e60b3ae17fe98a1e978dc6a36135c004a1d482b89c297a777d46b4a44989b3ff1f4a876e1166a32e\nresult = invalid\nshared = \nflags = WeakPublicKey,InvalidPublic,UnnamedCurve\n\n# tcId = 246\n# Public key uses wrong curve: secp224r1\nprivate = 2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657\npublic = 304e301006072a8648ce3d020106052b81040021033a0004af6dd5b71a8c1cf921e36854ae091aaa589d337e740e8579f816eb9e36b03eec5cf956d0fdd2fc1687335507fc1c4a5717d3b5b8ea8340d1\nresult = invalid\nshared = \n\n# tcId = 247\n# Public key uses wrong curve: secp256r1\nprivate = 2b0d", + "77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657\npublic = 3059301306072a8648ce3d020106082a8648ce3d0301070342000453366db79b320781936df61bb55d4499949d813ee5abaa5dda70da4f97f68228ccc69d7cd0b7266cfc28d0dcafdf3e83738cc611acb08f8b896c4ecf82dd65ae\nresult = invalid\nshared = \n\n# tcId = 248\n# Public key uses wrong curve: secp384r1\nprivate = 2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657\npublic = 3076301006072a8648ce3d020106052b8104002203620004aa45c13ce3cfea8538422712903edc0ce56df74ede0776e843555a786f9738de1943dffd729addfd4772169751d7765a45b5bb540a47d198f4c8c7c21e67560c1e12f70b64520109bb8858a3f8d6bb4012003431db0778633313fdb9464c47ec\nresult = invalid\nshared = \n\n# tcId = 249\n# Public key uses wrong curve: secp256k1\nprivate = 2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657\npublic = 3056301006072a8648ce3d020106052b8104000a0342000475e01a1555380be188d69aac340a4675e4a6f73d63976a1075249827d8ecc2a31e65ed1eb591954e33a38f68ef8aa6c930229d8755e53257602b3eaa87de6f02\nresult = invalid\nshared = \n\n# tcId = 250\n# Public key uses wrong curve: secp224k1\nprivate = 2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657\npublic = 304e301006072a8648ce3d020106052b81040020033a00041acbc8b814bcbb1e233ff7fb8a0c2c699d0cc59ac28678dd3f2f9502699b6518a221ff5f1d9de4555226e5bba0ae0586af95701d0fa5ba51\nresult = invalid\nshared = \n\n# tcId = 251\n# Public key uses wrong curve: brainpoolP224r1\nprivate = 2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657\npublic = 3052301406072a8648ce3d020106092b2403030208010105033a0004905a06d5bc093697155aaff67305976a769b904d8db9573c4be361626def2ffe1d5ec14462c02e5ffb24fb3edb2b6c77a5cfee2492db757b\nresult = invalid\nshared = \n\n# tcId = 252\n# Public key uses wrong curve: brainpoolP256r1\nprivate = 2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657\npublic = 305a301406072a8648ce3d020106092b2403030208010107034200042b87df1b6a5cbc4c4a184b7eec9b6c0483f7b80e6477b29649630c37481876bb0e3423f7a00d469320b7e60c88370979064efb9ceb8b387aa87a7c6941ccd9ed\nresult = invalid\nshared = \n\n# tcId = 253\n# Public key uses wrong curve: brainpoolP320r1\nprivate = 2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657\npublic = 306a301406072a8648ce3d020106092b24030302080101090352000470df62394ee036eefbc8ef11a9a5f3a8af659016f29e7125e52cfda0a74e52c7b21d18ac4375f5e4164c5338fa2f545a3fb2022f0e0686d5b4882958f72b1bb626e37093e3f19673968c237823327fd6\nresult = invalid\nshared = \n\n# tcId = 254\n# Public key uses wrong curve: brainpoolP384r1\nprivate = 2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657\npublic = 307a301406072a8648ce3d020106092b240303020801010b03620004808dc7b1c6d3ec470a7fe5d6144c9c3a8c92b116103aa2edbfce0b2c827312eebcd1350d09a739eac901af341487861b195270f671e0a758deb23222db4fe7983d42a785b35fd158344cd6483c4da5b409e77d0a284dfa9c3e0d91a4d275fce9\nresult = invalid\nshared = \n\n# tcId = 255\n# Public key uses wrong curve: brainpoolP512r1\nprivate = 2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657\npublic = 30819b301406072a8648ce3d020106092b240303020801010d0381820004aa11b560dc1e572f2374e5869210304d66d95b1d8ce40940157f5f5b4a7dc8a340f7c305d6bea289f5c430eb888e2a03528336aaf4680d9d153cd162e2229df330425025df2625b147568927f6acf704e4936f8989ff9d44f33ee22196e70dfd8711e8934d8d42abb4b67afcfee213c3ad5e5c83fcf4283d253d6c5c0e581970\nresult = invalid\nshared = \n\n# tcId = 256\n# Public key uses wrong curve: brainpoolP224t1\nprivate = 2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657\npublic = 3052301406072a8648ce3d020106092b2403030208010106033a00048d7a746de095728a8d83219e587040cb6e794d088ab6eab426638202579850b0f235edcf4eb8adcb51bf41878f6b71a1f2d4101022964340\nresult = invalid\nshared = \n\n# tcId = 257\n# Public key uses wrong curve: brainpoolP256t1\nprivate = 2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657\npublic = 305a301406072a8648ce3d020106092b24030302080101080342000424ad316bf41e4102dd7ae16311b64464df2d13ea68a11dd27a4445ed900962180ff8c627ed73f0c667863ee3a671e6ed1fa2781b51a229ee2cd21fbf69437d60\nresult = invalid\nshared = \n\n# tcId = 258\n# Public key uses wrong curve: brainpoolP320t1\nprivate = 2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657\npublic = 306a301406072a8648ce3d020106092b240303020801010a03520004548ce4997cc618800d3834dd4b3346e4559be066ab5d0cecd7123c4de940c168fecd3bae067fe3fc7aee875c9da0a86932f0779f42344470860c22dbc6f305eab792fc0874157e175c7d3c4d3bf54c4b\nresult = invalid\nshared = \n\n# tcId = 259\n# Public key uses wrong curve: brainpoolP384t1\nprivate = 2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657\npublic = 307a301406072a8648ce3d020106092b240303020801010c036200044fc2b35e3019a57a8ca6efe2ec1f72072c599a78c2725f7cfc2d9edf220b5f6abdb0c0d8d160182de451e26bcbb4e8c18726263e21ce56fb4bafaa1f186c745e2c8392ef8c5a1c03f5462ebbbcde0ffcc31e9a0b3e898ddb9c1c79e420fd7a35\nresult = invalid\nshared = \n\n# tcId = 260\n# Public key uses wrong curve: brainpoolP512t1\nprivate = 2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657\npublic = 30819b301406072a8648ce3d020106092b240303020801010e03818200047122f743122681ac73b0d611af86847d8bec654cf99e7eaf5d4f684e4078a8e61dc6d07e831ad02cd40d41dbdb6b0e877d960b78a5ac34c1e6ce7c483503d6de2eaddeffbfb3f144d29d13535a05815934186707146e45f64476bbdbc8645be973270a4c5e35d70ffd5eab2f08d1fb04762bc8aa80e999da14f744be9ff8c923\nresult = invalid\nshared = \n\n# tcId = 261\n# invalid public key\nprivate = 01c1fb2cac9087a3397814b198a80e2ea5b437aac1b41e8a2bd8fef8700e4812aa817320e6e1e3865bd2cf75e43a78be5c27ff1c4b5f5019333cb37d0c9c4ff3ec61\npublic = 3058301006072a8648ce3d020106052b810400230344000200429cb431c18f5f4e4e502f74214e6ac5ec2c3f86b830bac24de95feae142ca7d9aa8aa5b34f55af4b2848f2e6ba6df4c3ecd401a1d7b2a8287a332b202196fadbb\nresult = invalid\nshared = \nflags = CompressedPoint\n\n# tcId = 262\n# public key is a low order point on twist\nprivate = 6619644155c449758f65e2dfe7ba89dee1e090c1d68b6342f43cb1ac000090a7f0408138c1de217990bb015cd1d95f1d884cf659f7324f2fe21eeba63ea988aacd\npublic = 3058301006072a8648ce3d020106052b81040023034400020108cbf3c9bf8e42135d87127556831076d84d5e549e645afda8a099249231b59b6c508dee4e91c9a543e90ebc82613f86cb1290e29102a0f2fdeb57bf4193fb4639\nresult = invalid\nshared = \nflags = CompressedPoint\n\n# tcId = 263\n# public key is a low order point on twist\nprivate = 00a257d97aa4e5195e2919c147c1639bb0da0cce479a036489006b7b8e7e885096066e5adc8fe7c45940c5a6b94d5065b966a45f099a0cecfe9cce1b3e99dca479f2\npublic = 3058301006072a8648ce3d020106052b8104002303440003011f2dca6b686e2141c11822e2d5439261583ce98cd6c4041c6d1be9e17dee33ea4a65c3e8cca6de50a30a39c788a585f1188bef0680a9c0264b3c8dcf494d0eb948\nresult = invalid\nshared = \nflags = CompressedPoint\n\n# tcId = 264\n# public key is a low order point on twist\nprivate = 00a257d97aa4e5195e2919c147c1639bb0da0cce479a036489006b7b8e7e885096066e5adc8fe7c45940c5a6b94d5065b966a45f099a0cecfe9cce1b3e99dca479f3\npublic = 3058301006072a8648ce3d020106052b8104002303440002011f2dca6b686e2141c11822e2d5439261583ce98cd6c4041c6d1be9e17dee33ea4a65c3e8cca6de50a30a39c788a585f1188bef0680a9c0264b3c8dcf494d0eb948\nresult = invalid\nshared = \nflags = CompressedPoint\n\n# tcId = 265\n# public key is a low order point on twist\nprivate = 6619644155c449758f65e2dfe7ba89dee1e090c1d68b6342f43cb1ac000090a7f0408138c1de217990bb015cd1d95f1d884cf659f7324f", + "2fe21eeba63ea988aacc\npublic = 3058301006072a8648ce3d020106052b81040023034400030108cbf3c9bf8e42135d87127556831076d84d5e549e645afda8a099249231b59b6c508dee4e91c9a543e90ebc82613f86cb1290e29102a0f2fdeb57bf4193fb4639\nresult = invalid\nshared = \nflags = CompressedPoint\n\n# tcId = 266\n# public key is a low order point on twist\nprivate = 2a35258787f91ad0bd3432c3022e4d3ed349c8768a7e7caa1836022fc0c89a9073f6ce14d0990d5b7bb413061c7160e7bd566a5c89f14901b2cc19f1ad531f41e2\npublic = 3058301006072a8648ce3d020106052b81040023034400020009cc73141cf1843d2b2c95dc5cbc4d615c6da4814c1c7208615d8e78c7a8666aba1852faaa45a45d32bd0fde6ea78f262a96bf1e02949cea48c33c695103683048\nresult = invalid\nshared = \nflags = CompressedPoint\n\n# tcId = 267\n# public key is a low order point on twist\nprivate = 01afe5c77a626161fb2c25964c7895b9fff787099db83f077f05a4bfa320fb61f9315bb44d3fb9dd72225d9d993a18df82ac53fb4a5f86b23cb650e5e4778066f677\npublic = 3058301006072a8648ce3d020106052b81040023034400030047b9cf28e04b38796858545d60d6133fbdc20ede086e5d95111c982b8c276628235e536c075637a97c0a6c30d02b83b19e578203473eea16dfdeaeccb1dc0d9b19\nresult = invalid\nshared = \nflags = CompressedPoint\n\n# tcId = 268\n# public key is a low order point on twist\nprivate = 24ae709e1644e3087b52470c565268becbdbf97de59916763507d109c2e5b7c21727c64e9b560aa248d7bc9fe0ac95720d507263b7b2859b056ea165301cd599d5\npublic = 3058301006072a8648ce3d020106052b810400230344000300c18410f5727ee0101a52ef95c0ac455cbc65bf9967f0a2c419aa0a291cabad569f2337e102d0a9128f4212dbf9fa9e5a8f14ca7f28e82977281facdd9ca7a92c78\nresult = invalid\nshared = \nflags = CompressedPoint\n\n# tcId = 269\n# public key is a low order point on twist\nprivate = 24ae709e1644e3087b52470c565268becbdbf97de59916763507d109c2e5b7c21727c64e9b560aa248d7bc9fe0ac95720d507263b7b2859b056ea165301cd599d6\npublic = 3058301006072a8648ce3d020106052b810400230344000200c18410f5727ee0101a52ef95c0ac455cbc65bf9967f0a2c419aa0a291cabad569f2337e102d0a9128f4212dbf9fa9e5a8f14ca7f28e82977281facdd9ca7a92c78\nresult = invalid\nshared = \nflags = CompressedPoint\n\n# tcId = 270\n# public key is a low order point on twist\nprivate = 01afe5c77a626161fb2c25964c7895b9fff787099db83f077f05a4bfa320fb61f9315bb44d3fb9dd72225d9d993a18df82ac53fb4a5f86b23cb650e5e4778066f678\npublic = 3058301006072a8648ce3d020106052b81040023034400020047b9cf28e04b38796858545d60d6133fbdc20ede086e5d95111c982b8c276628235e536c075637a97c0a6c30d02b83b19e578203473eea16dfdeaeccb1dc0d9b19\nresult = invalid\nshared = \nflags = CompressedPoint\n\n# tcId = 271\n# public key is a low order point on twist\nprivate = 2a35258787f91ad0bd3432c3022e4d3ed349c8768a7e7caa1836022fc0c89a9073f6ce14d0990d5b7bb413061c7160e7bd566a5c89f14901b2cc19f1ad531f41e1\npublic = 3058301006072a8648ce3d020106052b81040023034400030009cc73141cf1843d2b2c95dc5cbc4d615c6da4814c1c7208615d8e78c7a8666aba1852faaa45a45d32bd0fde6ea78f262a96bf1e02949cea48c33c695103683048\nresult = invalid\nshared = \nflags = CompressedPoint\n\n# tcId = 272\n# length of sequence contains leading 0\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3082009b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 273\n# length of sequence contains leading 0\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d3082001006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 274\n# wrong length of sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 309c301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 275\n# wrong length of sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 309a301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 276\n# wrong length of sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301106072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 277\n# wrong length of sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b300f06072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 278\n# uint32 overflow in length of sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3085010000009b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 279\n# uint32 overflow in length of sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a03085010000001006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116c", + "e049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 280\n# uint64 overflow in length of sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 308901000000000000009b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 281\n# uint64 overflow in length of sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a4308901000000000000001006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 282\n# length of sequence = 2**31 - 1\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30847fffffff301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 283\n# length of sequence = 2**31 - 1\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819f30847fffffff06072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 284\n# length of sequence = 2**32 - 1\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3084ffffffff301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 285\n# length of sequence = 2**32 - 1\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819f3084ffffffff06072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 286\n# length of sequence = 2**40 - 1\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3085ffffffffff301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 287\n# length of sequence = 2**40 - 1\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a03085ffffffffff06072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 288\n# length of sequence = 2**64 - 1\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3088ffffffffffffffff301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 289\n# length of sequence = 2**64 - 1\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a33088ffffffffffffffff06072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 290\n# incorrect length of sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30ff301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 291\n# incorrect length of sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d20", + "9cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b30ff06072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 292\n# indefinite length without termination\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3080301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 293\n# indefinite length without termination\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b308006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 294\n# indefinite length without termination\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006802a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 295\n# indefinite length without termination\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d020106802b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 296\n# indefinite length without termination\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819a301006072a8648ce3d020106052b8104002303800004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 297\n# removing sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = \nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 298\n# removing sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081890381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 299\n# lonely sequence tag\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 300\n# lonely sequence tag\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30818a300381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 301\n# appending 0's to sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d500000\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 302\n# appending 0's to sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d301206072a8648ce3d020106052b8104002300000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 303\n# prepending 0's to sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d0000301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488", + "ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 304\n# prepending 0's to sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d3012000006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 305\n# appending unused 0's to sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d500000\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 306\n# appending unused 0's to sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d301006072a8648ce3d020106052b8104002300000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 307\n# appending null value to sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d500500\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 308\n# appending null value to sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d301206072a8648ce3d020106052b8104002305000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 309\n# including garbage\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a149817730819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 310\n# including garbage\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a0250030819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 311\n# including garbage\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819e30819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d500004deadbeef\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 312\n# including garbage\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a03015498177301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 313\n# including garbage\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819f30142500301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 314\n# including garbage\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a33012301006072a8648ce3d020106052b810400230004deadbeef0381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 315\n# including garbage\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a03015260c49817706072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b4", + "2223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 316\n# including garbage\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819f3014260b250006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 317\n# including garbage\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a33018260906072a8648ce3d02010004deadbeef06052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 318\n# including garbage\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a0301506072a8648ce3d0201260a49817706052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 319\n# including garbage\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819f301406072a8648ce3d02012609250006052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 320\n# including garbage\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a3301806072a8648ce3d0201260706052b810400230004deadbeef0381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 321\n# including garbage\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a1301006072a8648ce3d020106052b8104002323818c4981770381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 322\n# including garbage\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a0301006072a8648ce3d020106052b8104002323818b25000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 323\n# including garbage\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a4301006072a8648ce3d020106052b810400232381890381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d500004deadbeef\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 324\n# including undefined tags\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a4aa00bb00cd0030819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 325\n# including undefined tags\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a2aa02aabb30819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 326\n# including undefined tags\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a33018aa00bb00cd00301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 327\n# including undefined tags\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a13016aa02aabb301006072a8648ce3d020106052b810400230381860004017e", + "e16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 328\n# including undefined tags\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a33018260faa00bb00cd0006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 329\n# including undefined tags\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a13016260daa02aabb06072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 330\n# including undefined tags\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a3301806072a8648ce3d0201260daa00bb00cd0006052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 331\n# including undefined tags\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a1301606072a8648ce3d0201260baa02aabb06052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 332\n# including undefined tags\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a4301006072a8648ce3d020106052b8104002323818faa00bb00cd000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 333\n# including undefined tags\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a2301006072a8648ce3d020106052b8104002323818daa02aabb0381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 334\n# truncated length of sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 335\n# truncated length of sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30818b30810381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 336\n# Replacing sequence with NULL\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 0500\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 337\n# Replacing sequence with NULL\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30818b05000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 338\n# changing tag value of sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 2e819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 339\n# changing tag value of sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 2f819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 340\n# changing tag v", + "alue of sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 31819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 341\n# changing tag value of sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 32819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 342\n# changing tag value of sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = ff819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 343\n# changing tag value of sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b2e1006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 344\n# changing tag value of sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b2f1006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 345\n# changing tag value of sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b311006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 346\n# changing tag value of sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b321006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 347\n# changing tag value of sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819bff1006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 348\n# dropping value of sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3000\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 349\n# dropping value of sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30818b30000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 350\n# truncated sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819a301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 351\n# truncated sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819a1006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 352\n# truncated sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819a300f06072a8648ce3d020106052b81040003818600040", + "17ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 353\n# truncated sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819a300f072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 354\n# indefinite length\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3080301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d500000\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 355\n# indefinite length\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d308006072a8648ce3d020106052b8104002300000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 356\n# indefinite length with truncated delimiter\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3080301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d5000\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 357\n# indefinite length with truncated delimiter\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819c308006072a8648ce3d020106052b81040023000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 358\n# indefinite length with additional element\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3080301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d5005000000\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 359\n# indefinite length with additional element\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819f308006072a8648ce3d020106052b81040023050000000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 360\n# indefinite length with truncated element\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3080301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50060811220000\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 361\n# indefinite length with truncated element\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a1308006072a8648ce3d020106052b810400230608112200000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 362\n# indefinite length with garbage\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3080301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d500000fe02beef\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 363\n# indefinite length with garbage\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a1308006072a8648ce3d020106052b810400230000fe02beef0381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags =", + " InvalidAsn\n\n# tcId = 364\n# indefinite length with nonempty EOC\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3080301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d500002beef\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 365\n# indefinite length with nonempty EOC\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819f308006072a8648ce3d020106052b810400230002beef0381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 366\n# prepend empty sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d3000301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 367\n# prepend empty sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d3012300006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 368\n# append empty sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d503000\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 369\n# append empty sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d301206072a8648ce3d020106052b8104002330000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 370\n# append garbage with high tag number\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819e301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50bf7f00\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 371\n# append garbage with high tag number\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819e301306072a8648ce3d020106052b81040023bf7f000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 372\n# sequence of sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819e30819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 373\n# sequence of sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d3012301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 374\n# truncated sequence: removed last 1 elements\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3012301006072a8648ce3d020106052b81040023\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 375\n# truncated sequence: removed last 1 elements\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 308194300906072a8648ce3d02010381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 376\n# repeating element in sequence\nprivate = 018c3c", + "384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30820124301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d500381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 377\n# repeating element in sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a2301706072a8648ce3d020106052b8104002306052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 378\n# long form encoding of length of sequence\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819c30811006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 379\n# long form encoding of length of oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819c30110681072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 380\n# long form encoding of length of oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819c301106072a8648ce3d02010681052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 381\n# length of oid contains leading 0\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d3012068200072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 382\n# length of oid contains leading 0\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d301206072a8648ce3d0201068200052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 383\n# wrong length of oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006082a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 384\n# wrong length of oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006062a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 385\n# wrong length of oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d020106062b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 386\n# wrong length of oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d020106042b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 387\n# uint32 overflow in length of oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a03015068501000000072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c50", + "11d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 388\n# uint32 overflow in length of oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a0301506072a8648ce3d0201068501000000052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 389\n# uint64 overflow in length of oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a4301906890100000000000000072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 390\n# uint64 overflow in length of oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a4301906072a8648ce3d020106890100000000000000052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 391\n# length of oid = 2**31 - 1\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819f301406847fffffff2a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 392\n# length of oid = 2**31 - 1\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819f301406072a8648ce3d020106847fffffff2b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 393\n# length of oid = 2**32 - 1\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819f30140684ffffffff2a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 394\n# length of oid = 2**32 - 1\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819f301406072a8648ce3d02010684ffffffff2b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 395\n# length of oid = 2**40 - 1\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a030150685ffffffffff2a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 396\n# length of oid = 2**40 - 1\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a0301506072a8648ce3d02010685ffffffffff2b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 397\n# length of oid = 2**64 - 1\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a330180688ffffffffffffffff2a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 398\n# length of oid = 2**64 - 1\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a3301806072a8648ce3d02010688ffffffffffffffff2b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 399\n# incorrect", + " length of oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006ff2a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 400\n# incorrect length of oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d020106ff2b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 401\n# removing oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 308192300706052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 402\n# lonely oid tag\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819330080606052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 403\n# lonely oid tag\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 308195300a06072a8648ce3d0201060381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 404\n# appending 0's to oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d301206092a8648ce3d0201000006052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 405\n# appending 0's to oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d301206072a8648ce3d020106072b8104002300000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 406\n# prepending 0's to oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d3012060900002a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 407\n# prepending 0's to oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d301206072a8648ce3d0201060700002b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 408\n# appending unused 0's to oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d301206072a8648ce3d0201000006052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 409\n# appending null value to oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d301206092a8648ce3d0201050006052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 410\n# appending null value to oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d301206072a8648ce3d020106072b8104002305000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nf", + "lags = InvalidAsn\n\n# tcId = 411\n# truncated length of oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081943009068106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 412\n# truncated length of oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 308196300b06072a8648ce3d020106810381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 413\n# Replacing oid with NULL\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081943009050006052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 414\n# Replacing oid with NULL\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 308196300b06072a8648ce3d020105000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 415\n# changing tag value of oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301004072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 416\n# changing tag value of oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301005072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 417\n# changing tag value of oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301007072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 418\n# changing tag value of oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301008072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 419\n# changing tag value of oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b3010ff072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 420\n# changing tag value of oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d020104052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 421\n# changing tag value of oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d020105052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 422\n# changing tag value of oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d020107052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb8608573", + "6115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 423\n# changing tag value of oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d020108052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 424\n# changing tag value of oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d0201ff052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 425\n# dropping value of oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081943009060006052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 426\n# dropping value of oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 308196300b06072a8648ce3d020106000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 427\n# modify first byte of oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b30100607288648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 428\n# modify first byte of oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d0201060529810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 429\n# modify last byte of oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d028106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 430\n# modify last byte of oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d020106052b810400a30381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 431\n# truncated oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819a300f06062a8648ce3d0206052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 432\n# truncated oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819a300f06068648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 433\n# truncated oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819a300f06072a8648ce3d020106042b8104000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 434\n# truncated oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819a300f06072a8648ce3d02010604810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062", + "e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 435\n# wrong oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 308199300e06052b0e03021a06052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 436\n# wrong oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d3012060960864801650304020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 437\n# wrong oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d020106052b0e03021a0381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 438\n# wrong oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819f301406072a8648ce3d020106096086480165030402010381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 439\n# longer oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819c301106082a8648ce3d02010106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 440\n# longer oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819c301106072a8648ce3d020106062b81040023010381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 441\n# oid with modified node\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d021106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 442\n# oid with modified node\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819f3014060b2a8648ce3d02888080800106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 443\n# oid with modified node\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d020106052b810400330381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 444\n# oid with modified node\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819f301406072a8648ce3d020106092b81040088808080230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 445\n# large integer in oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a4301906102a8648ce3d028280808080808080800106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 446\n# large integer in oid\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a4301906072a8648ce3d0201060e2b810400828080808080808080230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = ", + "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 447\n# oid with invalid node\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819c301106082a8648ce3d0201e006052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 448\n# oid with invalid node\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819c301106082a808648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 449\n# oid with invalid node\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819c301106072a8648ce3d020106062b81040023e00381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 450\n# oid with invalid node\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819c301106072a8648ce3d020106062b80810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 451\n# length of bit string contains leading 0\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819c301006072a8648ce3d020106052b81040023038200860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 452\n# wrong length of bit string\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819a301006072a8648ce3d020106052b8104002303870004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 453\n# wrong length of bit string\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819a301006072a8648ce3d020106052b8104002303850004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 454\n# uint32 overflow in length of bit string\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819f301006072a8648ce3d020106052b81040023038501000000860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 455\n# uint64 overflow in length of bit string\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a3301006072a8648ce3d020106052b8104002303890100000000000000860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 456\n# length of bit string = 2**31 - 1\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819e301006072a8648ce3d020106052b8104002303847fffffff0004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 457\n# length of bit string = 2**32 - 1\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819e301006072a8648ce3d020106052b810400230384ffffffff0004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 458\n# length of bit string = 2**40 - 1\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819f301006072a8648ce3d020106052b810400230385ffffffffff0004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a72", + "4a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 459\n# length of bit string = 2**64 - 1\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3081a2301006072a8648ce3d020106052b810400230388ffffffffffffffff0004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 460\n# incorrect length of bit string\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819a301006072a8648ce3d020106052b8104002303ff0004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 461\n# lonely bit string tag\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3013301006072a8648ce3d020106052b8104002303\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 462\n# appending 0's to bit string\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d301006072a8648ce3d020106052b810400230381880004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d500000\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 463\n# prepending 0's to bit string\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d301006072a8648ce3d020106052b8104002303818800000004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 464\n# appending null value to bit string\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819d301006072a8648ce3d020106052b810400230381880004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d500500\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 465\n# truncated length of bit string\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3014301006072a8648ce3d020106052b810400230381\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 466\n# Replacing bit string with NULL\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3014301006072a8648ce3d020106052b810400230500\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 467\n# changing tag value of bit string\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d020106052b810400230181860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 468\n# changing tag value of bit string\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d020106052b810400230281860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 469\n# changing tag value of bit string\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d020106052b810400230481860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 470\n# changing tag value of bit string\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d020106052b810400230581860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 471\n# changing tag value of bit string\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d020106052b81040023ff81860004017ee1", + "6985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 472\n# dropping value of bit string\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3014301006072a8648ce3d020106052b810400230300\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 473\n# modify first byte of bit string\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d020106052b810400230381860204017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 474\n# modify last byte of bit string\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32dd0\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 475\n# truncated bit string\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819a301006072a8648ce3d020106052b810400230381850004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 476\n# truncated bit string\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819a301006072a8648ce3d020106052b8104002303818504017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 477\n# declaring bits as unused in bit string\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d020106052b810400230381860104017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 478\n# unused bits in bit string\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819f301006072a8648ce3d020106052b8104002303818a2004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d5001020304\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 479\n# unused bits in empty bit-string\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 3015301006072a8648ce3d020106052b81040023030103\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n# tcId = 480\n# 128 unused bits\nprivate = 018c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5\npublic = 30819b301006072a8648ce3d020106052b810400230381868004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50\nresult = acceptable\nshared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5\nflags = InvalidAsn\n\n", }; -static const size_t kLen66 = 119449; +static const size_t kLen99 = 112343; -static const char *kData66[] = { - "# Imported from Wycheproof's ecdsa_secp224r1_sha224_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: ECDSA\n# Generator version: 0.4.12\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04eada93be10b2449e1e8bb58305d52008013c57107c1a20a317a6cba7eca672340c03d1d2e09663286691df55069fa25490c9dd9f9c0bb2b5]\n[key.wx = 0eada93be10b2449e1e8bb58305d52008013c57107c1a20a317a6cba7]\n[key.wy = 0eca672340c03d1d2e09663286691df55069fa25490c9dd9f9c0bb2b5]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004eada93be10b2449e1e8bb58305d52008013c57107c1a20a317a6cba7eca672340c03d1d2e09663286691df55069fa25490c9dd9f9c0bb2b5]\n[sha = SHA-224]\n\n# tcId = 1\n# signature malleability\nmsg = 313233343030\nresult = valid\nsig = 303c021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021c2840bf24f6f66be287066b7cbf38788e1b7770b18fd1aa6a26d7c6dc\n\n# tcId = 2\n# Legacy:ASN encoding of s misses leading 0\nmsg = 313233343030\nresult = acceptable\nsig = 303c021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021cd7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n# Some implementations of ECDSA and DSA incorrectly encode r and s by not\n# including leading zeros in the ASN encoding of integers when necessary. Hence,\n# some implementations (e.g. jdk) allow signatures with incorrect ASN encodings\n# assuming that the signature is otherwise valid.\n\n# tcId = 3\n# valid\nmsg = 313233343030\nresult = valid\nsig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 4\n# long form encoding of length\nmsg = 313233343030\nresult = invalid\nsig = 30813d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 5\n# long form encoding of length\nmsg = 313233343030\nresult = invalid\nsig = 303e02811c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 6\n# long form encoding of length\nmsg = 313233343030\nresult = invalid\nsig = 303e021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a02811d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 7\n# length contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 3082003d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 8\n# length contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 303f0282001c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 9\n# length contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 303f021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0282001d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 10\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 303e021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 11\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 303c021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 12\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 303d021d70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 13\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 303d021b70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 14\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021e00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 15\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021c00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 16\n# uint32 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 3085010000003d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 17\n# uint32 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 30420285010000001c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 18\n# uint32 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 3042021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0285010000001d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 19\n# uint64 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 308901000000000000003d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 20\n# uint64 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 3046028901000000000000001c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 21\n# uint64 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 3046021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a028901000000000000001d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 22\n# length = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30847fffffff021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 23\n# length = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 304102847fffffff70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 24\n# length = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3041021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a02847fffffff00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 25\n# length = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3084ffffffff021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 26\n# length = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30410284ffffffff70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 27\n# length = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3041021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0284ffffffff00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 28\n# length = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3085ffffffffff021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 29\n# length = 2**40 - 1\nmsg = 313233343030\nresult ", - "= invalid\nsig = 30420285ffffffffff70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 30\n# length = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3042021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0285ffffffffff00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 31\n# length = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3088ffffffffffffffff021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 32\n# length = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30450288ffffffffffffffff70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 33\n# length = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3045021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0288ffffffffffffffff00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 34\n# incorrect length\nmsg = 313233343030\nresult = invalid\nsig = 30ff021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 35\n# incorrect length\nmsg = 313233343030\nresult = invalid\nsig = 303d02ff70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 36\n# incorrect length\nmsg = 313233343030\nresult = invalid\nsig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a02ff00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 37\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 3080021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 38\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 303d028070049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 39\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a028000d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 40\n# removing sequence\nmsg = 313233343030\nresult = invalid\nsig = \n\n# tcId = 41\n# lonely sequence tag\nmsg = 313233343030\nresult = invalid\nsig = 30\n\n# tcId = 42\n# appending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 303f021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610000\n\n# tcId = 43\n# prepending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 303f0000021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 44\n# appending unused 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610000\n\n# tcId = 45\n# appending null value to sequence\nmsg = 313233343030\nresult = invalid\nsig = 303f021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610500\n\n# tcId = 46\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3042498177303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 47\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 30412500303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 48\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 303f303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610004deadbeef\n\n# tcId = 49\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 30422221498177021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 50\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 304122202500021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 51\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3045221e021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0004deadbeef021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 52\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3042021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a2222498177021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 53\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3041021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a22212500021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 54\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3045021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a221f021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610004deadbeef\n\n# tcId = 55\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 3045aa00bb00cd00303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 56\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 3043aa02aabb303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 57\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 30452224aa00bb00cd00021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 58\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 30432222aa02aabb021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 59\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 3045021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a2225aa00bb00cd00021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 60\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 3043021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a2223aa02aabb021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 61\n# truncated length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3081\n\n# tcId = 62\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 3080303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610000\n\n# tcId = 63\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 30412280021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0000021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 64\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 3041021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a2280021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610000\n\n# tcId = 65\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 3080313d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610000\n\n# tcId = 66\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 30412280031c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0000021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 67\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 3041021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a2280031d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610000\n\n# tcId = 68\n# Replacing sequence with NULL\nmsg = 313233343030\nresult = invalid\nsig = 0500\n\n# tcId = 69\n# changing tag value of sequence\nmsg = 3132333", - "43030\nresult = invalid\nsig = 2e3d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 70\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 2f3d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 71\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 313d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 72\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 323d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 73\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = ff3d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 74\n# dropping value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3000\n\n# tcId = 75\n# using composition for sequence\nmsg = 313233343030\nresult = invalid\nsig = 3041300102303c1c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 76\n# truncate sequence\nmsg = 313233343030\nresult = invalid\nsig = 303c021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463\n\n# tcId = 77\n# truncate sequence\nmsg = 313233343030\nresult = invalid\nsig = 303c1c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 78\n# indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 3080021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610000\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 79\n# indefinite length with truncated delimiter\nmsg = 313233343030\nresult = invalid\nsig = 3080021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb3584636100\n\n# tcId = 80\n# indefinite length with additional element\nmsg = 313233343030\nresult = invalid\nsig = 3080021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb3584636105000000\n\n# tcId = 81\n# indefinite length with truncated element\nmsg = 313233343030\nresult = invalid\nsig = 3080021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361060811220000\n\n# tcId = 82\n# indefinite length with garbage\nmsg = 313233343030\nresult = invalid\nsig = 3080021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610000fe02beef\n\n# tcId = 83\n# indefinite length with nonempty EOC\nmsg = 313233343030\nresult = invalid\nsig = 3080021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610002beef\n\n# tcId = 84\n# prepend empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 303f3000021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 85\n# append empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 303f021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463613000\n\n# tcId = 86\n# sequence of sequence\nmsg = 313233343030\nresult = invalid\nsig = 303f303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 87\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 301e021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a\n\n# tcId = 88\n# repeat element in sequence\nmsg = 313233343030\nresult = invalid\nsig = 305c021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 89\n# removing integer\nmsg = 313233343030\nresult = invalid\nsig = 301f021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 90\n# lonely integer tag\nmsg = 313233343030\nresult = invalid\nsig = 302002021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 91\n# lonely integer tag\nmsg = 313233343030\nresult = invalid\nsig = 301f021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a02\n\n# tcId = 92\n# appending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 303f021e70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0000021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 93\n# appending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 303f021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021f00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610000\n\n# tcId = 94\n# prepending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 303f021e000070049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 95\n# prepending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 303f021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021f000000d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 96\n# appending unused 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 303f021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0000021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 97\n# appending null value to integer\nmsg = 313233343030\nresult = invalid\nsig = 303f021e70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0500021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 98\n# appending null value to integer\nmsg = 313233343030\nresult = invalid\nsig = 303f021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021f00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610500\n\n# tcId = 99\n# truncated length of integer\nmsg = 313233343030\nresult = invalid\nsig = 30210281021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 100\n# truncated length of integer\nmsg = 313233343030\nresult = invalid\nsig = 3020021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0281\n\n# tcId = 101\n# Replacing integer with NULL\nmsg = 313233343030\nresult = invalid\nsig = 30210500021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 102\n# Replacing integer with NULL\nmsg = 313233343030\nresult = invalid\nsig = 3020021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0500\n\n# tcId = 103\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d001c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 104\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d011c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 105\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d031c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 106\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d041c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 107\n# ch", - "anging tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303dff1c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 108\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a001d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 109\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a011d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 110\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a031d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 111\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a041d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 112\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480aff1d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 113\n# dropping value of integer\nmsg = 313233343030\nresult = invalid\nsig = 30210200021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 114\n# dropping value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3020021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0200\n\n# tcId = 115\n# using composition for integer\nmsg = 313233343030\nresult = invalid\nsig = 30412220020170021b049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 116\n# using composition for integer\nmsg = 313233343030\nresult = invalid\nsig = 3041021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a2221020100021cd7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 117\n# modify first byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021c72049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 118\n# modify first byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d02d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 119\n# modify last byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a488a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 120\n# modify last byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463e1\n\n# tcId = 121\n# truncate integer\nmsg = 313233343030\nresult = invalid\nsig = 303c021b70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a48021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 122\n# truncate integer\nmsg = 313233343030\nresult = invalid\nsig = 303c021b049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 123\n# truncate integer\nmsg = 313233343030\nresult = invalid\nsig = 303c021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021c00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463\n\n# tcId = 124\n# truncate integer\nmsg = 313233343030\nresult = invalid\nsig = 303c021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021cd7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 125\n# leading ff in integer\nmsg = 313233343030\nresult = invalid\nsig = 303e021dff70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 126\n# leading ff in integer\nmsg = 313233343030\nresult = invalid\nsig = 303e021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021eff00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 127\n# infinity\nmsg = 313233343030\nresult = invalid\nsig = 3022090180021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 128\n# infinity\nmsg = 313233343030\nresult = invalid\nsig = 3021021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a090180\n\n# tcId = 129\n# replacing integer with zero\nmsg = 313233343030\nresult = invalid\nsig = 3022020100021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 130\n# replacing integer with zero\nmsg = 313233343030\nresult = invalid\nsig = 3021021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a020100\n\n# tcId = 131\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303e021d0170049af31f8348673d56cece2b26fc2a84bbe2e2a2e84aeced767247021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 132\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303e021dff70049af31f8348673d56cece2b28cee4c34a02667b2df86234be1dcd021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 133\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303d021c8ffb650ce07cb798c2a93131d4d81a785bfd0d5b70f4de586ee5b7f6021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 134\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303e021d008ffb650ce07cb798c2a93131d4d7311b3cb5fd9984d2079dcb41e233021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 135\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303e021dfe8ffb650ce07cb798c2a93131d4d903d57b441d1d5d17b51312898db9021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 136\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303e021d0170049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 137\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303e021d008ffb650ce07cb798c2a93131d4d81a785bfd0d5b70f4de586ee5b7f6021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 138\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d01d7bf40db0909941d78f9948340c5b4b7a5fa6fca97e8a82091e08d9e\n\n# tcId = 139\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303c021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021cd7bf40db0909941d78f9948340c78771e4888f4e702e5595d9283924\n\n# tcId = 140\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021dff2840bf24f6f66be287066b7cbf3961eb3abe80737bf48124ca7b9c9f\n\n# tcId = 141\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021dfe2840bf24f6f66be287066b7cbf3a4b485a059035681757df6e1f7262\n\n# tcId = 142\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d01d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 143\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303c021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021c2840bf24f6f66be287066b7cbf3961eb3abe80737bf48124ca7b9c9f\n\n# tcId = 144\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020100020100\n# Edge case values such as r=1 and s=0 can lead to forg", - "eries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 145\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020100020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 146\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201000201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 147\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020100021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 148\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020100021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 149\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020100021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 150\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020100021d00ffffffffffffffffffffffffffffffff000000000000000000000001\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 151\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020100021d00ffffffffffffffffffffffffffffffff000000000000000000000002\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 152\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3008020100090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 153\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020101020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 154\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020101020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 155\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201010201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 156\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020101021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 157\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020101021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 158\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020101021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 159\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020101021d00ffffffffffffffffffffffffffffffff000000000000000000000001\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 160\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020101021d00ffffffffffffffffffffffffffffffff000000000000000000000002\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 161\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3008020101090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 162\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 163\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 164\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff0201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 165\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30220201ff021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 166\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30220201ff021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 167\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30220201ff021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 168\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30220201ff021d00ffffffffffffffffffffffffffffffff000000000000000000000001\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 169\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30220201ff021d00ffffffffffffffffffffffffffffffff000000000000000000000002\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 170\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30080201ff090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 171\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 172\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invali", - "d\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 173\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d0201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 174\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 175\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 176\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 177\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffffffff000000000000000000000001\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 178\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffffffff000000000000000000000002\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 179\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3024021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 180\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 181\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 182\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c0201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 183\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 184\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 185\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 186\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffffffff000000000000000000000001\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 187\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffffffff000000000000000000000002\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 188\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3024021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 189\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 190\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 191\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e0201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 192\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 193\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 194\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 195\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffffffff0000000", - "00000000000000001\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 196\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffffffff000000000000000000000002\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 197\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3024021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 198\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffffffff000000000000000000000001020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 199\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffffffff000000000000000000000001020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 200\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffffffff0000000000000000000000010201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 201\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 202\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 203\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 204\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffffffff000000000000000000000001\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 205\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffffffff000000000000000000000002\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 206\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3024021d00ffffffffffffffffffffffffffffffff000000000000000000000001090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 207\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffffffff000000000000000000000002020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 208\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffffffff000000000000000000000002020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 209\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffffffff0000000000000000000000020201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 210\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 211\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 212\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 213\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffffffff000000000000000000000001\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 214\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffffffff000000000000000000000002\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 215\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3024021d00ffffffffffffffffffffffffffffffff000000000000000000000002090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 216\n# Edge case for Shamir multiplication\nmsg = 3137353738\nresult = valid\nsig = 303c021c326bc06353f7f9c9f77b8f4b55464e8619944e7879402cca572e041a021c3116e1a38e4ab2008eca032fb2d185e5c21a232eaf4507ae56177fd2\n\n# tcId = 217\n# special case hash\nmsg = 32323534363238393834\nresult = valid\nsig = 303d021d008ce2afe20b684576fdd91b4b34168c9c011996af5b0eb85fa929f381021c662af5ca651bffbc623c3a3b372779bd09e1948cd19188f5339a979d\n\n# tcId = 218\n# special case hash\nmsg = 31383237383738363130\nresult = valid\nsig = 303e021d00da573cf73aed174710c232155735248f8ebef696374647527da52258021d00b251856b66a83c32bf0b7b81a01f1db4507e622125f301bd832a5ccc\n\n# tcId = 219\n# special case hash\nmsg = 31353138383631373039\nresult = valid\nsig = 303e021d00c368da86582b2c82b696b2f7c79027968f3fd25cbba9688cdc67b17a021d00aba8e3c2ff1af9bb9c66ca88a3825a19ce17206e7a658ff47025891e\n\n# tcId = 220\n# special case hash\nmsg = 32313239323333343232\nresult = valid\nsig = 303d021d00ffcefcb57190d0b87efb789fb53407fd2c65c5ae3551da3eccf8ddd5021c05c89b41238f1e1def8fbe8d4af", - "ebf20be077e82972f91297487e118\n\n# tcId = 221\n# special case hash\nmsg = 31323231393739303539\nresult = valid\nsig = 303c021c2b98c67ebf6597b08bc7f1b73ff8662cf125e9700ec973ece9c6ff48021c2e3f72a8f76e12c8cdf4487e0956c1ef4578e1da4d29d8db824d415b\n\n# tcId = 222\n# special case hash\nmsg = 32333032353637363131\nresult = valid\nsig = 303d021c5794d70440f166904d24d0b910cd127c63a9eddca45a4d9032db47e8021d008ba5d290834d9a0963122d928da902f7b03467396072180bb1801b43\n\n# tcId = 223\n# special case hash\nmsg = 31313035383638343732\nresult = valid\nsig = 303e021d00c29c70b0b21782d1c727f4907aef5641b6d6c6e7b2a1ebfa57794223021d00aac2d3a02592f298dd3198e388425ec7a91d7e6be48248a64773614c\n\n# tcId = 224\n# special case hash\nmsg = 31343636363134343432\nresult = valid\nsig = 303d021c5c3ef3778c811e69ef0b0e370e45ec0d7eb88505c3e8ffb8c50b9993021d00e06b5c6e47dc4da9e64fd21bc3e1da13cf7c264fa64ccb89da87387c\n\n# tcId = 225\n# special case hash\nmsg = 343431393536343230\nresult = valid\nsig = 303e021d00ed8f586563232cf15ebd014bd4f99727e337cfe4ce48694fe6748ec2021d00fff779a3eca9513522908e252a2b4aab2060608e6cd2d4f1b8c696cd\n\n# tcId = 226\n# special case hash\nmsg = 31393639343836303634\nresult = valid\nsig = 303c021c64c084f6b775bbf7915c1964a68b0259629328598f13557872867830021c2a6f3b289d130ec3d99e4caaf601497895a069c1a5a75b559ad28444\n\n# tcId = 227\n# special case hash\nmsg = 32323335363732383833\nresult = valid\nsig = 303d021c2b514e9b0e0eb68adc01915abbee9fa21f3034be5581dedaa6b15982021d00b8f71c5fdc68d698716bfc623b278216c0fcc0298497fc9c03db44e9\n\n# tcId = 228\n# special case hash\nmsg = 32323537383433373033\nresult = valid\nsig = 303e021d00e4103f4a8a814485b6b406fe8dd72206bad6a50e7126bc655c3d2285021d009bcb99693284cac26e6641a861dbec24f9cc5dd7bb535339d09ac984\n\n# tcId = 229\n# special case hash\nmsg = 393434353030393436\nresult = valid\nsig = 303d021d009edfb833446ec8b6fc84eea34ee40a85b732e5c99da8abc8bafcc515021c5052b40f9d407ae90003299cabe3e1a587b0558127cafb31de6b2638\n\n# tcId = 230\n# special case hash\nmsg = 31363837373839343130\nresult = valid\nsig = 303d021d00ad2647c8ff377798a6aeaed436d30c7b25fb52428829ce6424dd34e8021c28f58671d77c86da302418c51e5ab86d137ba6ef4389722bc79b8751\n\n# tcId = 231\n# special case hash\nmsg = 333933323631323238\nresult = valid\nsig = 303c021c5dfc6fad385bdb24b2b70a64fd4253405c0028bb36f4793aa3bd31fe021c1c210b74924171378992b03bb1bd78c5cfcfc879d2e5c736d35516c3\n\n# tcId = 232\n# special case hash\nmsg = 31303733353731303935\nresult = valid\nsig = 303d021c766bef46229695e6829dd12cd558369ec34519ba4a72dcaf6f73f7b0021d00fc015ccdd1e943b910101607d81ff1398ca6a4d70c25832b02b221e4\n\n# tcId = 233\n# special case hash\nmsg = 3630383837343734\nresult = valid\nsig = 303c021c120055f90ad1290c4c5fc5faf69b215139182c770d2b55e95712442f021c01ac47f7446543d4003b039d9f54daa9d0799f98291a32df4fcd472a\n\n# tcId = 234\n# special case hash\nmsg = 31313932353639393632\nresult = valid\nsig = 303d021d00f480591f6f40a25b37a035fd91954145ec342e593d09e142f25da408021c5c6ba44ff52f52c51490743d9b650916be58d06d7c1fd99dfa2eab58\n\n# tcId = 235\n# special case hash\nmsg = 3930303736303933\nresult = valid\nsig = 303c021c57daddb0cb6af939b1ea1aaf4bc72e56150c0c46a581827193e65d17021c3bc37bde4e60b789ba86a054d37f1191e0814926c1a0100168d16c17\n\n# tcId = 236\n# special case hash\nmsg = 31363032383336313337\nresult = valid\nsig = 303c021c3a74102bd1fc617018efc4fbc042e719a81b55830aac1f1dcdedec65021c4bb9fe90015a45f31c8c95dda24f54fcdb64682c13f68d4da3d1abe0\n\n# tcId = 237\n# special case hash\nmsg = 32303830323435363734\nresult = valid\nsig = 303e021d00e3b6bb1b5beed048e0177e3e310fa14eb923a1e3274c0946f9275454021d00e044e0494ff46573c37007e3efa3233588f1d103ced1823c7e87e7c8\n\n# tcId = 238\n# special case hash\nmsg = 31373938323734363539\nresult = valid\nsig = 303c021c3c212b5a7e65d9af44643bd62fa42a9b9cffe6bdb623e9b9e4337156021c29c8121a12427a324e5d551ff5a83d3c252e32257af2800d080817d2\n\n# tcId = 239\n# special case hash\nmsg = 31313535353737373230\nresult = valid\nsig = 303c021c1630554989fffd0e35f2d9105623d73a543634c48000484c422272ca021c214da487d5e51f73814dff80a08c77bd8a83a9889a1b26a5578ba954\n\n# tcId = 240\n# special case hash\nmsg = 32343332343734363634\nresult = valid\nsig = 303d021c0a4609242f2193b94bc54f49bcf532a576e035cec50e043668574bef021d00aa68bd67624d8812002bbb3a5f530594451372d4ab36896a2929c3df\n\n# tcId = 241\n# special case hash\nmsg = 32343137323832323737\nresult = valid\nsig = 303e021d00ef9ff446e8eef3e948f4129fe8804f81f5b7f116a5383f9e8bc359e4021d00f4c7055bd98f4a7ea49d9574160eac167809f6a78b9dd220958dd0f3\n\n# tcId = 242\n# special case hash\nmsg = 3737383734373731\nresult = valid\nsig = 303d021c1a6c59d85d5b3120b28c0d30bc058a92dc725d8ef450c198cc3ca522021d008b17fefc8ab1ff0bb37a93446453d40f65bc2cb9636b11207f5c90a1\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 048bf7e792f7c86877f1fd0552e42d80653b59e3a29e762a22810daac7eec615bbad04b58dc2a7956090b8040bb5055325bba0aa8b3a5caa6f]\n[key.wx = 08bf7e792f7c86877f1fd0552e42d80653b59e3a29e762a22810daac7]\n[key.wy = 0eec615bbad04b58dc2a7956090b8040bb5055325bba0aa8b3a5caa6f]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00048bf7e792f7c86877f1fd0552e42d80653b59e3a29e762a22810daac7eec615bbad04b58dc2a7956090b8040bb5055325bba0aa8b3a5caa6f]\n[sha = SHA-224]\n\n# tcId = 243\n# k*G has a large x-coordinate\nmsg = 313233343030\nresult = valid\nsig = 3030020f00e95c1f470fc1ec22d6baa3a3d5c1021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3a\n\n# tcId = 244\n# r too large\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00fffffffffffffffffffffffffffffffefffffffffffffffffffffffe021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3a\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 042646ff36d9697aaaed0d641117f94f60e138bab8e9912b558ae0a818ca48e45a33550c1b5bd20a00e4d9df3033c03222e87bd96a8197f2dd]\n[key.wx = 2646ff36d9697aaaed0d641117f94f60e138bab8e9912b558ae0a818]\n[key.wy = 0ca48e45a33550c1b5bd20a00e4d9df3033c03222e87bd96a8197f2dd]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00042646ff36d9697aaaed0d641117f94f60e138bab8e9912b558ae0a818ca48e45a33550c1b5bd20a00e4d9df3033c03222e87bd96a8197f2dd]\n[sha = SHA-224]\n\n# tcId = 245\n# r,s are large\nmsg = 313233343030\nresult = valid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3b\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04ea3ea2873b6fc099bfd779b0a2c23c2c4354e2fec4536f3b8e420988f97e1c7646b4eb3de616752f415ab3a6f696d1d674fb4b6732252382]\n[key.wx = 0ea3ea2873b6fc099bfd779b0a2c23c2c4354e2fec4536f3b8e420988]\n[key.wy = 0f97e1c7646b4eb3de616752f415ab3a6f696d1d674fb4b6732252382]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004ea3ea2873b6fc099bfd779b0a2c23c2c4354e2fec4536f3b8e420988f97e1c7646b4eb3de616752f415ab3a6f696d1d674fb4b6732252382]\n[sha = SHA-224]\n\n# tcId = 246\n# r and s^-1 have a large Hamming weight\nmsg = 313233343030\nresult = valid\nsig = 303c021c7fffffffffffffffffffffffffffffffffffffffffffffffffffffff021c3d5052691b8dc89debad360466f2a39e82e8ae2aefb77c3c92ad7cd1\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 0492ae54e38b4e9c6ae9943193747c4c8acc6c96f422515288e9698a13e8f3a759a1a8273c53f4b4b18bfcf78d9bb988adb3b005002dbe434c]\n[key.wx = 092ae54e38b4e9c6ae9943193747c4c8acc6c96f422515288e9698a13]\n[key.wy = 0e8f3a759a1a8273c53f4b4b18bfcf78d9bb988adb3b005002dbe434c]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000492ae54e38b4e9c6ae9943193747c4c8acc6c96f422515288e9698a13e8f3a759a1a8273c53f4b4b18bfcf78d9bb988adb3b005002dbe434c]\n[sha = SHA-224]\n\n# tcId = 247\n# r and s^-1 have a large Hamming weight\nmsg = 313233343030\nresult = valid\nsig = 303d021c7fffffffffffffffffffffffffffffffffffffffffffffffffffffff021d00bf19ab4d3ebf5a1a49d765909308daa88c2b7be3969db552ea30562b\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04b157315cc1aaeae64eb5b38452884195fdfe8a15fb5618284f48afe5e1fbbaad729477a45f3752b7f72ad2f9cd7dce4158a8e21b8127e8a7]\n[key.wx = 0b157315cc1aaeae64eb5b38452884195fdfe8a15fb5618284f48afe5]\n[key.wy = 0e1fbbaad729477a45f3752b7f72ad2f9cd7dce4158a8e21b8127e8a7]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b157315cc1aaeae64eb5b38452884195f", - "dfe8a15fb5618284f48afe5e1fbbaad729477a45f3752b7f72ad2f9cd7dce4158a8e21b8127e8a7]\n[sha = SHA-224]\n\n# tcId = 248\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020103020101\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 0487d9d964044b5b16801f32de9f3f9066194e8bf80affa3cb0d4ddb1db5eb9b6594e6d1bcacd0fd9d67c408f789dfb95feb79a6e2fb9c4cee]\n[key.wx = 087d9d964044b5b16801f32de9f3f9066194e8bf80affa3cb0d4ddb1d]\n[key.wy = 0b5eb9b6594e6d1bcacd0fd9d67c408f789dfb95feb79a6e2fb9c4cee]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000487d9d964044b5b16801f32de9f3f9066194e8bf80affa3cb0d4ddb1db5eb9b6594e6d1bcacd0fd9d67c408f789dfb95feb79a6e2fb9c4cee]\n[sha = SHA-224]\n\n# tcId = 249\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020103020103\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04461b435af09ede35e74dac21f9af7b1b9998213039f8785d4a4905f518b89bde69de34a482638461d09386e7193ca90ca5b3038e2a3885d1]\n[key.wx = 461b435af09ede35e74dac21f9af7b1b9998213039f8785d4a4905f5]\n[key.wy = 18b89bde69de34a482638461d09386e7193ca90ca5b3038e2a3885d1]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004461b435af09ede35e74dac21f9af7b1b9998213039f8785d4a4905f518b89bde69de34a482638461d09386e7193ca90ca5b3038e2a3885d1]\n[sha = SHA-224]\n\n# tcId = 250\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020103020104\n\n# tcId = 251\n# r is larger than n\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a40020104\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 048093af8db04b3dd2e7c3c59bb64a832c2fb8e8e141bae7ba1534950a10c5e87aecbd1fcdfc36cd18d41b3238b2ac613eb7c9de988d881816]\n[key.wx = 08093af8db04b3dd2e7c3c59bb64a832c2fb8e8e141bae7ba1534950a]\n[key.wy = 10c5e87aecbd1fcdfc36cd18d41b3238b2ac613eb7c9de988d881816]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00048093af8db04b3dd2e7c3c59bb64a832c2fb8e8e141bae7ba1534950a10c5e87aecbd1fcdfc36cd18d41b3238b2ac613eb7c9de988d881816]\n[sha = SHA-224]\n\n# tcId = 252\n# s is larger than n\nmsg = 313233343030\nresult = invalid\nsig = 3022020103021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c6f00c4\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04c6d71f4ba0933f1269f7d6df83fd0c9c67254f101dcc126dc15faa3e3c45dc9fedc71c9f2b0dd1b12b656241f5e335066f3f925bdbcfe98f]\n[key.wx = 0c6d71f4ba0933f1269f7d6df83fd0c9c67254f101dcc126dc15faa3e]\n[key.wy = 3c45dc9fedc71c9f2b0dd1b12b656241f5e335066f3f925bdbcfe98f]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004c6d71f4ba0933f1269f7d6df83fd0c9c67254f101dcc126dc15faa3e3c45dc9fedc71c9f2b0dd1b12b656241f5e335066f3f925bdbcfe98f]\n[sha = SHA-224]\n\n# tcId = 253\n# small r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 302302020100021d00c993264c993264c993264c99326411d2e55b3214a8d67528812a55ab\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04beb9d8dcba48146b9032688ecea947a231e7d0e6ce17d76b56ed634835503f3b4af414870ef03383784b1d846b3e07b8e9fc2d6190a3bfda]\n[key.wx = 0beb9d8dcba48146b9032688ecea947a231e7d0e6ce17d76b56ed6348]\n[key.wy = 35503f3b4af414870ef03383784b1d846b3e07b8e9fc2d6190a3bfda]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004beb9d8dcba48146b9032688ecea947a231e7d0e6ce17d76b56ed634835503f3b4af414870ef03383784b1d846b3e07b8e9fc2d6190a3bfda]\n[sha = SHA-224]\n\n# tcId = 254\n# smallish r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 302702072d9b4d347952cc021c3e85d56474b5c55fbe86608442a84b2bf093b7d75f53a47250e1c70c\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 041955ba3f90e7a739471a5d182b594c9747eb49d5356203f3bb8b939c807d88ce3a0885bfa5b5b7f6e9beb18285e7130524b6c1498b3269ee]\n[key.wx = 1955ba3f90e7a739471a5d182b594c9747eb49d5356203f3bb8b939c]\n[key.wy = 0807d88ce3a0885bfa5b5b7f6e9beb18285e7130524b6c1498b3269ee]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00041955ba3f90e7a739471a5d182b594c9747eb49d5356203f3bb8b939c807d88ce3a0885bfa5b5b7f6e9beb18285e7130524b6c1498b3269ee]\n[sha = SHA-224]\n\n# tcId = 255\n# 100-bit r and small s^-1\nmsg = 313233343030\nresult = valid\nsig = 302d020d1033e67e37b32b445580bf4efb021c02fd02fd02fd02fd02fd02fd02fd0043a4fd2da317247308c74dc6b8\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 045cb9e5a5071f2b37aa3a5e5f389f54f996b0bc8a132ecb6885318fbf4ec5f8b93d8bf2a3b64fa7cac316392562c46567963c43a69f7a37fd]\n[key.wx = 5cb9e5a5071f2b37aa3a5e5f389f54f996b0bc8a132ecb6885318fbf]\n[key.wy = 4ec5f8b93d8bf2a3b64fa7cac316392562c46567963c43a69f7a37fd]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00045cb9e5a5071f2b37aa3a5e5f389f54f996b0bc8a132ecb6885318fbf4ec5f8b93d8bf2a3b64fa7cac316392562c46567963c43a69f7a37fd]\n[sha = SHA-224]\n\n# tcId = 256\n# small r and 100 bit s^-1\nmsg = 313233343030\nresult = valid\nsig = 302302020100021d00d05434abacd859ed74185e75b751c6d9f60c7921dacfbb8e19cdba8e\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 047b34ef8723a4309c0fa8a7ec3a783477652a82892370f6763314fe7bdee663853071e35fd3c76f991d7843c5e168ca659b93bd6015518fba]\n[key.wx = 7b34ef8723a4309c0fa8a7ec3a783477652a82892370f6763314fe7b]\n[key.wy = 0dee663853071e35fd3c76f991d7843c5e168ca659b93bd6015518fba]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00047b34ef8723a4309c0fa8a7ec3a783477652a82892370f6763314fe7bdee663853071e35fd3c76f991d7843c5e168ca659b93bd6015518fba]\n[sha = SHA-224]\n\n# tcId = 257\n# 100-bit r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 302e020d062522bbd3ecbe7c39e93e7c24021d00d05434abacd859ed74185e75b751c6d9f60c7921dacfbb8e19cdba8e\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 0403f26a9c13979cf5d090ea25dc966398022ceec31504abc4b10f76767d577dcf47e10e384c6b9a229a455a9fd33e54fe7960b8b0160aef16]\n[key.wx = 3f26a9c13979cf5d090ea25dc966398022ceec31504abc4b10f7676]\n[key.wy = 7d577dcf47e10e384c6b9a229a455a9fd33e54fe7960b8b0160aef16]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000403f26a9c13979cf5d090ea25dc966398022ceec31504abc4b10f76767d577dcf47e10e384c6b9a229a455a9fd33e54fe7960b8b0160aef16]\n[sha = SHA-224]\n\n# tcId = 258\n# r and s^-1 are close to n\nmsg = 313233343030\nresult = valid\nsig = 303d021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c29bd021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04b671296dd5f690502e4b1500e4acb4c82d3aa8dfbc5868a643f86a3ca46ba8c3a7b823259522291e2416232276cca8503cc8dbf941f1d93d]\n[key.wx = 0b671296dd5f690502e4b1500e4acb4c82d3aa8dfbc5868a643f86a3c]\n[key.wy = 0a46ba8c3a7b823259522291e2416232276cca8503cc8dbf941f1d93d]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b671296dd5f690502e4b1500e4acb4c82d3aa8dfbc5868a643f86a3ca46ba8c3a7b823259522291e2416232276cca8503cc8dbf941f1d93d]\n[sha = SHA-224]\n\n# tcId = 259\n# s == 1\nmsg = 313233343030\nresult = valid\nsig = 3021021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14020101\n\n# tcId = 260\n# s == 0\nmsg = 313233343030\nresult = invalid\nsig = 3021021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14020100\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 0476e34b57a8c61df59cb0b7921cec6e5422344033f7accb7b3179e682cefd0a848309d1decf98a3b9e333691b95c17821cb681137630c02e2]\n[key.wx = 76e34b57a8c61df59cb0b7921cec6e5422344033f7accb7b3179e682]\n[key.wy = 0cefd0a848309d1decf98a3b9e333691b95c17821cb681137630c02e2]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000476e34b57a8c61df59cb0b7921cec6e5422344033f7accb7b3179e682cefd0a848309d1decf98a3b9e333691b95c17821cb681137630c02e2]\n[sha = SHA-224]\n\n# tcId = 261\n# point at infinity during verify\nmsg = 313233343030\nresult = invalid\nsig = 303c021c7fffffffffffffffffffffffffff8b51705c781f09ee94a2ae2e151e021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04b5c09b4851a67371eee7bbf02451e5208c40de61bc1a33df2710b384dcce4e5b83c32a800e8de28fa936d582cdcad185e8", - "94caac797f1d14]\n[key.wx = 0b5c09b4851a67371eee7bbf02451e5208c40de61bc1a33df2710b384]\n[key.wy = 0dcce4e5b83c32a800e8de28fa936d582cdcad185e894caac797f1d14]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b5c09b4851a67371eee7bbf02451e5208c40de61bc1a33df2710b384dcce4e5b83c32a800e8de28fa936d582cdcad185e894caac797f1d14]\n[sha = SHA-224]\n\n# tcId = 262\n# u1 == 1\nmsg = 313233343030\nresult = valid\nsig = 303c021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04941e283be31300bfd4f6a12b876fd3267352551cc49e9eef73f76538c115e5fe3b92f643c6cef1c58f3f8657574d1f64957d4880995cde83]\n[key.wx = 0941e283be31300bfd4f6a12b876fd3267352551cc49e9eef73f76538]\n[key.wy = 0c115e5fe3b92f643c6cef1c58f3f8657574d1f64957d4880995cde83]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004941e283be31300bfd4f6a12b876fd3267352551cc49e9eef73f76538c115e5fe3b92f643c6cef1c58f3f8657574d1f64957d4880995cde83]\n[sha = SHA-224]\n\n# tcId = 263\n# u1 == n - 1\nmsg = 313233343030\nresult = valid\nsig = 303d021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021d008ac44bff876cbf7e2842eec13b63fcb3d6e7360aca5698f3ef0f1811\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 0443c9ccd08a80bca18022722b0bdcd790d82a3ef8b65c3f34204bb4729ee1c1f00598130b2313a3e38a3798d03dac665cff20f36ce8a2024a]\n[key.wx = 43c9ccd08a80bca18022722b0bdcd790d82a3ef8b65c3f34204bb472]\n[key.wy = 09ee1c1f00598130b2313a3e38a3798d03dac665cff20f36ce8a2024a]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000443c9ccd08a80bca18022722b0bdcd790d82a3ef8b65c3f34204bb4729ee1c1f00598130b2313a3e38a3798d03dac665cff20f36ce8a2024a]\n[sha = SHA-224]\n\n# tcId = 264\n# u2 == 1\nmsg = 313233343030\nresult = valid\nsig = 303c021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04d958e418fad1c5ea5c923e6185e03ed5539d3f5f58dfac8bb9f104596997e408c97be5fdc037a5c004389d4b97eb1f54635e985853c1f082]\n[key.wx = 0d958e418fad1c5ea5c923e6185e03ed5539d3f5f58dfac8bb9f10459]\n[key.wy = 6997e408c97be5fdc037a5c004389d4b97eb1f54635e985853c1f082]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004d958e418fad1c5ea5c923e6185e03ed5539d3f5f58dfac8bb9f104596997e408c97be5fdc037a5c004389d4b97eb1f54635e985853c1f082]\n[sha = SHA-224]\n\n# tcId = 265\n# u2 == n - 1\nmsg = 313233343030\nresult = valid\nsig = 303d021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021d00aaaaaaaaaaaaaaaaaaaaaaaaaaaa0f17407b4ad40d3e1b8392e81c29\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04d629b434c9b5d157bd72e114fd839553f7f0e94600934a0a49e59aa4713a13c01775e75e2ebae75d9e29d2506184177b7dd0868693873596]\n[key.wx = 0d629b434c9b5d157bd72e114fd839553f7f0e94600934a0a49e59aa4]\n[key.wy = 713a13c01775e75e2ebae75d9e29d2506184177b7dd0868693873596]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004d629b434c9b5d157bd72e114fd839553f7f0e94600934a0a49e59aa4713a13c01775e75e2ebae75d9e29d2506184177b7dd0868693873596]\n[sha = SHA-224]\n\n# tcId = 266\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00d1be91557d866ad5f2945b14ec3317bc43c1338fd06af6496201cce2\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 043d2e9bb9a712bf3ad42ac30659fdbda9be9956537f9f37cd05f0ff377d5982d6d9266d774942c44d9eb3501051d3b9688610131e7856ef36]\n[key.wx = 3d2e9bb9a712bf3ad42ac30659fdbda9be9956537f9f37cd05f0ff37]\n[key.wy = 7d5982d6d9266d774942c44d9eb3501051d3b9688610131e7856ef36]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00043d2e9bb9a712bf3ad42ac30659fdbda9be9956537f9f37cd05f0ff377d5982d6d9266d774942c44d9eb3501051d3b9688610131e7856ef36]\n[sha = SHA-224]\n\n# tcId = 267\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c7ac54a381d9bd3f2698359d6f658b5e4167d15a75b576e82d2efbd37\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04a0be2f10144b9b42b016f1bd9fca30e4c24aae4775596c7cdb07ae60d60ff3a70f1541631f6087d3f3b3fe376d2305b50b94821106412479]\n[key.wx = 0a0be2f10144b9b42b016f1bd9fca30e4c24aae4775596c7cdb07ae60]\n[key.wy = 0d60ff3a70f1541631f6087d3f3b3fe376d2305b50b94821106412479]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004a0be2f10144b9b42b016f1bd9fca30e4c24aae4775596c7cdb07ae60d60ff3a70f1541631f6087d3f3b3fe376d2305b50b94821106412479]\n[sha = SHA-224]\n\n# tcId = 268\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c4fbb063e82402e16fe14edda4d7986b0b88344a1f53b0e2684ee7e31\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 044d74397a586c8ac5e326bed03720bde7037e4a07aee7209f70493cab106778bfd081d17ab6dcb8fd8a454962941c26ecc19cda9fb77719db]\n[key.wx = 4d74397a586c8ac5e326bed03720bde7037e4a07aee7209f70493cab]\n[key.wy = 106778bfd081d17ab6dcb8fd8a454962941c26ecc19cda9fb77719db]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00044d74397a586c8ac5e326bed03720bde7037e4a07aee7209f70493cab106778bfd081d17ab6dcb8fd8a454962941c26ecc19cda9fb77719db]\n[sha = SHA-224]\n\n# tcId = 269\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00d3be5f50d726f99b8ac44bff876bfe78dd7ae630d227ef0ba87ae39b\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 048c2f149b1738243f81a6f12135395a2ba2718863622e66e33efc241f5638cf6ae9cfb39578cf3a719702052e5e9e940216c5136dcb6ef085]\n[key.wx = 08c2f149b1738243f81a6f12135395a2ba2718863622e66e33efc241f]\n[key.wy = 5638cf6ae9cfb39578cf3a719702052e5e9e940216c5136dcb6ef085]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00048c2f149b1738243f81a6f12135395a2ba2718863622e66e33efc241f5638cf6ae9cfb39578cf3a719702052e5e9e940216c5136dcb6ef085]\n[sha = SHA-224]\n\n# tcId = 270\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00e5f50d726f99b8ac44bff876cbf710e47f9087d1afdfb1dab6d6daf1\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04ad5227e48afaa165e7b97ef8210687556e10643fda8a377aaf4f5bf412e86d4ae55f4460aba6a932f307ee78efdc136e9a3df6313100bf4f]\n[key.wx = 0ad5227e48afaa165e7b97ef8210687556e10643fda8a377aaf4f5bf4]\n[key.wy = 12e86d4ae55f4460aba6a932f307ee78efdc136e9a3df6313100bf4f]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004ad5227e48afaa165e7b97ef8210687556e10643fda8a377aaf4f5bf412e86d4ae55f4460aba6a932f307ee78efdc136e9a3df6313100bf4f]\n[sha = SHA-224]\n\n# tcId = 271\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00cbea1ae4df337158897ff0ed97ef0b261e681f654be23a7011518ba5\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 043fb94a3165ecdef43fa27907ed075caf52c25420ac7bc7bb90408992023c4d7b4775b591ae223dd4da9ceaabd73b9743ddab8b40576e393f]\n[key.wx = 3fb94a3165ecdef43fa27907ed075caf52c25420ac7bc7bb90408992]\n[key.wy = 23c4d7b4775b591ae223dd4da9ceaabd73b9743ddab8b40576e393f]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00043fb94a3165ecdef43fa27907ed075caf52c25420ac7bc7bb90408992023c4d7b4775b591ae223dd4da9ceaabd73b9743ddab8b40576e393f]\n[sha = SHA-224]\n\n# tcId = 272\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00d726f99b8ac44bff876cbf7e28422aa07ec3cb1d9472bd704f4029f0\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04e45fcf0a7f4dc2a308dc7868251423fbf71a205a9546850a01a732fc9a73ca4d41175076f2f362b276ecb0ccdb6e0bb30c4a1b35c2e3ed82]\n[key.wx = 0e45fcf0a7f4dc2a308dc7868251423fbf71a205a9546850a01a732fc]\n[key.wy = 09a73ca4d41175076f2f362b276ecb0ccdb6e0bb30c4a1b35c2e3ed82]\n[keyDer = 304e301006072a8648ce3d02", - "0106052b81040021033a0004e45fcf0a7f4dc2a308dc7868251423fbf71a205a9546850a01a732fc9a73ca4d41175076f2f362b276ecb0ccdb6e0bb30c4a1b35c2e3ed82]\n[sha = SHA-224]\n\n# tcId = 273\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d009720b755413cca9506b5d27589e58ac4bed856762ba7ae20ab5b43cc\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 043c59e13982fd9c1a45991b1e9d79e939a52a62ca479764f1477e28131b004c9bffd7f00c05e3168c625cc93ab7a0f1ba8d6fa26a4d5162cb]\n[key.wx = 3c59e13982fd9c1a45991b1e9d79e939a52a62ca479764f1477e2813]\n[key.wy = 1b004c9bffd7f00c05e3168c625cc93ab7a0f1ba8d6fa26a4d5162cb]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00043c59e13982fd9c1a45991b1e9d79e939a52a62ca479764f1477e28131b004c9bffd7f00c05e3168c625cc93ab7a0f1ba8d6fa26a4d5162cb]\n[sha = SHA-224]\n\n# tcId = 274\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c2e416eaa8279952a0d6ba4eb13cbfee69cf7bcae437232fbfa5a5d5b\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04c6b8ff152d7a1b7a99ce3483bdeaaf5bd2ce64dc6b0f89cf3544b87c053ab6cf9cb510dc1440ab4e412a167f4c69365fcfc97f31d5ba4581]\n[key.wx = 0c6b8ff152d7a1b7a99ce3483bdeaaf5bd2ce64dc6b0f89cf3544b87c]\n[key.wy = 53ab6cf9cb510dc1440ab4e412a167f4c69365fcfc97f31d5ba4581]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004c6b8ff152d7a1b7a99ce3483bdeaaf5bd2ce64dc6b0f89cf3544b87c053ab6cf9cb510dc1440ab4e412a167f4c69365fcfc97f31d5ba4581]\n[sha = SHA-224]\n\n# tcId = 275\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00c56225ffc3b65fbf142177609db189ab5bd013246f19e11ca5b5a127\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 047c0772fb6553c0ec0dd1f73b5db380764d9f2f7afb4eac1e774dacd56e2e5de0db63bf03cf9675eae6d2dfe5424e79ab394951c9b60ad5df]\n[key.wx = 7c0772fb6553c0ec0dd1f73b5db380764d9f2f7afb4eac1e774dacd5]\n[key.wy = 6e2e5de0db63bf03cf9675eae6d2dfe5424e79ab394951c9b60ad5df]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00047c0772fb6553c0ec0dd1f73b5db380764d9f2f7afb4eac1e774dacd56e2e5de0db63bf03cf9675eae6d2dfe5424e79ab394951c9b60ad5df]\n[sha = SHA-224]\n\n# tcId = 276\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00a7dd831f4120170b7f0a76ed26bc4ea9cc9e1a70048c1bb5f0a55437\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 044108e0ccd47cba09fb7ed4d9f3455823780965157861c1bf8f93d34b46d6fdb71e9e89adaae71376b13fd17644b11eed00d498783da0ba1a]\n[key.wx = 4108e0ccd47cba09fb7ed4d9f3455823780965157861c1bf8f93d34b]\n[key.wy = 46d6fdb71e9e89adaae71376b13fd17644b11eed00d498783da0ba1a]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00044108e0ccd47cba09fb7ed4d9f3455823780965157861c1bf8f93d34b46d6fdb71e9e89adaae71376b13fd17644b11eed00d498783da0ba1a]\n[sha = SHA-224]\n\n# tcId = 277\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c7fffffffffffffffffffffffffffb2364ae85014b149b86c741eb8be\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 042f2da40a1b72f67ba63613a243119c41c7252839cf106e86b5d8e6e35a1e0e2fc49b4f316f0c0e7236785749eb34ce923c23aef330af8733]\n[key.wx = 2f2da40a1b72f67ba63613a243119c41c7252839cf106e86b5d8e6e3]\n[key.wy = 5a1e0e2fc49b4f316f0c0e7236785749eb34ce923c23aef330af8733]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00042f2da40a1b72f67ba63613a243119c41c7252839cf106e86b5d8e6e35a1e0e2fc49b4f316f0c0e7236785749eb34ce923c23aef330af8733]\n[sha = SHA-224]\n\n# tcId = 278\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00855f5b2dc8e46ec428a593f73219cf65dae793e8346e30cc3701309c\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 047dc09710f4f586af05b08f0c9dcd48b1308733c97767fc286d1c72834353a704c7950b8f4a11394bc8db06adccf19d8ed95c7f214a173137]\n[key.wx = 7dc09710f4f586af05b08f0c9dcd48b1308733c97767fc286d1c7283]\n[key.wy = 4353a704c7950b8f4a11394bc8db06adccf19d8ed95c7f214a173137]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00047dc09710f4f586af05b08f0c9dcd48b1308733c97767fc286d1c72834353a704c7950b8f4a11394bc8db06adccf19d8ed95c7f214a173137]\n[sha = SHA-224]\n\n# tcId = 279\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c2db5f61aea817276af2064e104c7a30e32034cb526dd0aacfa56566f\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04dbb439e2c3e9d1822b94ccc7d98c9fcb668e65dd6a759ad2dfdcd32882663234e6da512d7d7d5fe79156ad0e19ffc62d618e3cf48276106d]\n[key.wx = 0dbb439e2c3e9d1822b94ccc7d98c9fcb668e65dd6a759ad2dfdcd328]\n[key.wy = 082663234e6da512d7d7d5fe79156ad0e19ffc62d618e3cf48276106d]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004dbb439e2c3e9d1822b94ccc7d98c9fcb668e65dd6a759ad2dfdcd32882663234e6da512d7d7d5fe79156ad0e19ffc62d618e3cf48276106d]\n[sha = SHA-224]\n\n# tcId = 280\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d0084a6c7513e5f48c07fffffffffff8713f3cba1293e4f3e95597fe6bd\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04e012dc20cca5bd2adfaa27f57419596ce09ed0f18a9148e30a0f6ed255beca1b5e3e2485ef9537ae48a67b72dbcf6d7b33372023a5c443e8]\n[key.wx = 0e012dc20cca5bd2adfaa27f57419596ce09ed0f18a9148e30a0f6ed2]\n[key.wy = 55beca1b5e3e2485ef9537ae48a67b72dbcf6d7b33372023a5c443e8]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004e012dc20cca5bd2adfaa27f57419596ce09ed0f18a9148e30a0f6ed255beca1b5e3e2485ef9537ae48a67b72dbcf6d7b33372023a5c443e8]\n[sha = SHA-224]\n\n# tcId = 281\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c6c7513e5f48c07ffffffffffffff9d21fd1b31544cb13ca86a75b25e\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04c510ab34abd4855c54d62407abe6ca090c73ba49aca9de9bf117bca242b3b00c272c22681af7c255120fac148ad73c81b47846e4ad2f5627]\n[key.wx = 0c510ab34abd4855c54d62407abe6ca090c73ba49aca9de9bf117bca2]\n[key.wy = 42b3b00c272c22681af7c255120fac148ad73c81b47846e4ad2f5627]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004c510ab34abd4855c54d62407abe6ca090c73ba49aca9de9bf117bca242b3b00c272c22681af7c255120fac148ad73c81b47846e4ad2f5627]\n[sha = SHA-224]\n\n# tcId = 282\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00d8ea27cbe9180fffffffffffffff3a43fa3662a899627950d4eb64bc\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 0408a6e167536a47aaa224fec21ce077642efdb97d93ae16b9672279f433fb9f1abb25f2c0c3e6008ac857ede4a89ca8d9d08b8996614969ac]\n[key.wx = 08a6e167536a47aaa224fec21ce077642efdb97d93ae16b9672279f4]\n[key.wy = 33fb9f1abb25f2c0c3e6008ac857ede4a89ca8d9d08b8996614969ac]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000408a6e167536a47aaa224fec21ce077642efdb97d93ae16b9672279f433fb9f1abb25f2c0c3e6008ac857ede4a89ca8d9d08b8996614969ac]\n[sha = SHA-224]\n\n# tcId = 283\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c3e5f48c07fffffffffffffffffffc724968c0ecf9ed783744a7337b3\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 041a83e185fcf30e6c69cf292e497d63cc04e6fd07cb9365a74be3c39c6b2d56247df49cf94176c4e8efc84ec710cd0d614dd066c16f6ad3e0]\n[key.wx = 1a83e185fcf30e6c69cf292e497d63cc04e6fd07cb9365a74be3c39c]\n[key.wy = 6b2d56247df49cf94176c4e8efc84ec710cd0d614dd066c16f6ad3e0]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00041a83e185fcf30e6c69cf292e497d63cc04e6fd07cb9365a74be3c39c6b2d56247df49cf94176c4e8efc84ec710cd0d614dd066c16f6ad3e0]\n[sha = SHA-224]\n\n# tcId = 284\n", - "# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00bfffffffffffffffffffffffffff3d87bb44c833bb384d0f224ccdde\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 042d59efd841a44b83fd42e6a2984a53fa93ad242c11678f92202cccfb95bcaf0b2f6eb0e6d4d83e3260e037d3dc0e48ab6c4141ce6b56cad0]\n[key.wx = 2d59efd841a44b83fd42e6a2984a53fa93ad242c11678f92202cccfb]\n[key.wy = 095bcaf0b2f6eb0e6d4d83e3260e037d3dc0e48ab6c4141ce6b56cad0]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00042d59efd841a44b83fd42e6a2984a53fa93ad242c11678f92202cccfb95bcaf0b2f6eb0e6d4d83e3260e037d3dc0e48ab6c4141ce6b56cad0]\n[sha = SHA-224]\n\n# tcId = 285\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c7fffffffffffffffffffffffffff646c95d0a029629370d8e83d717f\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 041161c7add6f67f995b93e19eb18bd5e73fd71d6bb10dceef0b792e9c08c44cef9826b4ed67508c09d07ec857a0ea49ed1a7f1fa2c74cb838]\n[key.wx = 1161c7add6f67f995b93e19eb18bd5e73fd71d6bb10dceef0b792e9c]\n[key.wy = 08c44cef9826b4ed67508c09d07ec857a0ea49ed1a7f1fa2c74cb838]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00041161c7add6f67f995b93e19eb18bd5e73fd71d6bb10dceef0b792e9c08c44cef9826b4ed67508c09d07ec857a0ea49ed1a7f1fa2c74cb838]\n[sha = SHA-224]\n\n# tcId = 286\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c3fffffffffffffffffffffffffff8b51705c781f09ee94a2ae2e1520\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 0484dc3d2ebfcf3480713baeff30ad0781bc8c4d06ab6ddd4f7f1045af7570537c5d71a78b1a041aca0fe35f642824abda8c3ff2e9fcf5c8cb]\n[key.wx = 084dc3d2ebfcf3480713baeff30ad0781bc8c4d06ab6ddd4f7f1045af]\n[key.wy = 7570537c5d71a78b1a041aca0fe35f642824abda8c3ff2e9fcf5c8cb]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000484dc3d2ebfcf3480713baeff30ad0781bc8c4d06ab6ddd4f7f1045af7570537c5d71a78b1a041aca0fe35f642824abda8c3ff2e9fcf5c8cb]\n[sha = SHA-224]\n\n# tcId = 287\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d0096dafb0d7540b93b5790327082635cd8895e1e799d5d19f92b594056\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 041767574e645c550ef3d353f76d4428f9616ac288b36378857de332629fe09825a57f3a0ec11189f4560272297ab6d5e095401febb60d0dc9]\n[key.wx = 1767574e645c550ef3d353f76d4428f9616ac288b36378857de33262]\n[key.wy = 09fe09825a57f3a0ec11189f4560272297ab6d5e095401febb60d0dc9]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00041767574e645c550ef3d353f76d4428f9616ac288b36378857de332629fe09825a57f3a0ec11189f4560272297ab6d5e095401febb60d0dc9]\n[sha = SHA-224]\n\n# tcId = 288\n# point duplication during verification\nmsg = 313233343030\nresult = valid\nsig = 303d021d00c44503dae85dd5210780f02928b3d927171c578f8603d16b240663c7021c1ef359e4bd146f63d8155c5c2523fa3353c9820f84f28150bad3819a\n# Some implementations of ECDSA do not handle duplication and points at infinity\n# correctly. This is a test vector that has been specially crafted to check for\n# such an omission.\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 041767574e645c550ef3d353f76d4428f9616ac288b36378857de33262601f67da5a80c5f13eee760ba9fd8dd585492a1f6abfe01449f2f238]\n[key.wx = 1767574e645c550ef3d353f76d4428f9616ac288b36378857de33262]\n[key.wy = 601f67da5a80c5f13eee760ba9fd8dd585492a1f6abfe01449f2f238]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00041767574e645c550ef3d353f76d4428f9616ac288b36378857de33262601f67da5a80c5f13eee760ba9fd8dd585492a1f6abfe01449f2f238]\n[sha = SHA-224]\n\n# tcId = 289\n# duplication bug\nmsg = 313233343030\nresult = invalid\nsig = 303d021d00c44503dae85dd5210780f02928b3d927171c578f8603d16b240663c7021c1ef359e4bd146f63d8155c5c2523fa3353c9820f84f28150bad3819a\n# Some implementations of ECDSA do not handle duplication and points at infinity\n# correctly. This is a test vector that has been specially crafted to check for\n# such an omission.\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04e2ef8c8ccb58eba287d9279b349e7652cca3e7cda188a5f179d77142f87594f3664c0faf7b59670e353a370d1d68ad89d6a1e246b4d03bee]\n[key.wx = 0e2ef8c8ccb58eba287d9279b349e7652cca3e7cda188a5f179d77142]\n[key.wy = 0f87594f3664c0faf7b59670e353a370d1d68ad89d6a1e246b4d03bee]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004e2ef8c8ccb58eba287d9279b349e7652cca3e7cda188a5f179d77142f87594f3664c0faf7b59670e353a370d1d68ad89d6a1e246b4d03bee]\n[sha = SHA-224]\n\n# tcId = 290\n# comparison with point at infinity \nmsg = 313233343030\nresult = invalid\nsig = 303c021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021c33333333333333333333333333330486f9be9672d0c5d50ddf45a20c\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04b8bf3ef9646abfffb84220104ec996a92cef33f9328ec4cb1ea699484fea51a0de9e9d801babd42ca0924b36498bc5900fbeb9cbd5ad9c1a]\n[key.wx = 0b8bf3ef9646abfffb84220104ec996a92cef33f9328ec4cb1ea69948]\n[key.wy = 4fea51a0de9e9d801babd42ca0924b36498bc5900fbeb9cbd5ad9c1a]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b8bf3ef9646abfffb84220104ec996a92cef33f9328ec4cb1ea699484fea51a0de9e9d801babd42ca0924b36498bc5900fbeb9cbd5ad9c1a]\n[sha = SHA-224]\n\n# tcId = 291\n# extreme value for k and edgecase s\nmsg = 313233343030\nresult = valid\nsig = 303c021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04286e80429c8796dcd885d95f960d209fed19f87e2ce423d166c8e2202e30882c09970d5dd58b67e5bb80affec74248a9cb4a783384c8b6a0]\n[key.wx = 286e80429c8796dcd885d95f960d209fed19f87e2ce423d166c8e220]\n[key.wy = 2e30882c09970d5dd58b67e5bb80affec74248a9cb4a783384c8b6a0]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004286e80429c8796dcd885d95f960d209fed19f87e2ce423d166c8e2202e30882c09970d5dd58b67e5bb80affec74248a9cb4a783384c8b6a0]\n[sha = SHA-224]\n\n# tcId = 292\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303d021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021d00db6db6db6db6db6db6db6db6db6ceed4c09e84c77ebd9116e17391eb\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 045599a3faf96aba7302bd3d98cfde69525b7292762383f4a0b5c310393faa45feb6c35d2b7bf25ffc633c420ebfc4e715765302c5a11ac793]\n[key.wx = 5599a3faf96aba7302bd3d98cfde69525b7292762383f4a0b5c31039]\n[key.wy = 3faa45feb6c35d2b7bf25ffc633c420ebfc4e715765302c5a11ac793]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00045599a3faf96aba7302bd3d98cfde69525b7292762383f4a0b5c310393faa45feb6c35d2b7bf25ffc633c420ebfc4e715765302c5a11ac793]\n[sha = SHA-224]\n\n# tcId = 293\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303c021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021c33333333333333333333333333330486f9be9672d0c5d50ddf45a20c\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 045b5234b8db6bbd396eae7d1ca4e6d877824c98cde9fbfab34b6b8ccb1f38ae9f87adc3e6d2474eb5e3cd9aeff0927320214be550f5e62ed4]\n[key.wx = 5b5234b8db6bbd396eae7d1ca4e6d877824c98cde9fbfab34b6b8ccb]\n[key.wy = 1f38ae9f87adc3e6d2474eb5e3cd9aeff0927320214be550f5e62ed4]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00045b5234b8db6bbd396eae7d1ca4e6d877824c98cde9fbfab34b6b8ccb1f38ae9f87adc3e6d2474eb5e3cd9aeff0927320214be550f5e62ed4]\n[sha = SHA-224]\n\n# tcId = 294\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303d021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021d00cccccccccccccccccccccccccccc121be6fa59cb431754377d168831\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04aced4ea8949e5ae37ef2f5eb5e00675d08e17c34be6677b0f269b6725e3ad0af49ebfff415ee4f2a838ead1f84cafaa652c17acc26130725]\n[key.wx = 0aced4ea8949e5ae37ef2f5eb5e00675d08e", - "17c34be6677b0f269b672]\n[key.wy = 5e3ad0af49ebfff415ee4f2a838ead1f84cafaa652c17acc26130725]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004aced4ea8949e5ae37ef2f5eb5e00675d08e17c34be6677b0f269b6725e3ad0af49ebfff415ee4f2a838ead1f84cafaa652c17acc26130725]\n[sha = SHA-224]\n\n# tcId = 295\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303c021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021c249249249249249249249249249227ce201a6b76951f982e7ae89852\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 043e8c1bcc16195e8769e25d4c859807dffe178bed5bca9db06efa15324e3b53b3048b8ccd8cdc1265be240c8ee204060486a99ad31eaad3a4]\n[key.wx = 3e8c1bcc16195e8769e25d4c859807dffe178bed5bca9db06efa1532]\n[key.wy = 4e3b53b3048b8ccd8cdc1265be240c8ee204060486a99ad31eaad3a4]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00043e8c1bcc16195e8769e25d4c859807dffe178bed5bca9db06efa15324e3b53b3048b8ccd8cdc1265be240c8ee204060486a99ad31eaad3a4]\n[sha = SHA-224]\n\n# tcId = 296\n# extreme value for k\nmsg = 313233343030\nresult = valid\nsig = 303c021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021c0eb10e5ab95facded4061029d63a46f46f12947411f2ea561a592057\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 0424819323b7be8ab0910f7f33bd2f7669c44b13f09479965e95287d13b0592345beafbfdb8cf3629269bdd817728d5d5cd3c28bc6c6414a70]\n[key.wx = 24819323b7be8ab0910f7f33bd2f7669c44b13f09479965e95287d13]\n[key.wy = 0b0592345beafbfdb8cf3629269bdd817728d5d5cd3c28bc6c6414a70]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000424819323b7be8ab0910f7f33bd2f7669c44b13f09479965e95287d13b0592345beafbfdb8cf3629269bdd817728d5d5cd3c28bc6c6414a70]\n[sha = SHA-224]\n\n# tcId = 297\n# extreme value for k and edgecase s\nmsg = 313233343030\nresult = valid\nsig = 303d021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 0444cf57bac30a83da39f90bf3faacd52211a70fb92547db7778ea6c812b3fd1bf14688d2770c50cd5a890a3807ba0e8612136a1b11e030f82]\n[key.wx = 44cf57bac30a83da39f90bf3faacd52211a70fb92547db7778ea6c81]\n[key.wy = 2b3fd1bf14688d2770c50cd5a890a3807ba0e8612136a1b11e030f82]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000444cf57bac30a83da39f90bf3faacd52211a70fb92547db7778ea6c812b3fd1bf14688d2770c50cd5a890a3807ba0e8612136a1b11e030f82]\n[sha = SHA-224]\n\n# tcId = 298\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303e021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021d00db6db6db6db6db6db6db6db6db6ceed4c09e84c77ebd9116e17391eb\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04dc17f1001d326127f7375cffa70b7530bca4da1040dc43d0044aaca07a146f04c5294cfe7e1ed587da55bae70b7fa8e32f6aa800314d01dd]\n[key.wx = 0dc17f1001d326127f7375cffa70b7530bca4da1040dc43d0044aaca0]\n[key.wy = 7a146f04c5294cfe7e1ed587da55bae70b7fa8e32f6aa800314d01dd]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004dc17f1001d326127f7375cffa70b7530bca4da1040dc43d0044aaca07a146f04c5294cfe7e1ed587da55bae70b7fa8e32f6aa800314d01dd]\n[sha = SHA-224]\n\n# tcId = 299\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303d021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021c33333333333333333333333333330486f9be9672d0c5d50ddf45a20c\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 0468e2d7088eac18ba775bf68c5c509e86afd6f93451b4e4ee1d73e277e24ff4e27ef6c519db676d822c5db040482888013c8f3881bc9ac65a]\n[key.wx = 68e2d7088eac18ba775bf68c5c509e86afd6f93451b4e4ee1d73e277]\n[key.wy = 0e24ff4e27ef6c519db676d822c5db040482888013c8f3881bc9ac65a]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000468e2d7088eac18ba775bf68c5c509e86afd6f93451b4e4ee1d73e277e24ff4e27ef6c519db676d822c5db040482888013c8f3881bc9ac65a]\n[sha = SHA-224]\n\n# tcId = 300\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303e021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021d00cccccccccccccccccccccccccccc121be6fa59cb431754377d168831\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04cd4171adcb8be75e7734061a048b2bf228d167c2742d27f854392046865eb958ebd320ba87662ad3ac7af568c6be0f09be090bcfe083b3e5]\n[key.wx = 0cd4171adcb8be75e7734061a048b2bf228d167c2742d27f854392046]\n[key.wy = 0865eb958ebd320ba87662ad3ac7af568c6be0f09be090bcfe083b3e5]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004cd4171adcb8be75e7734061a048b2bf228d167c2742d27f854392046865eb958ebd320ba87662ad3ac7af568c6be0f09be090bcfe083b3e5]\n[sha = SHA-224]\n\n# tcId = 301\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303d021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021c249249249249249249249249249227ce201a6b76951f982e7ae89852\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04eefdf99ab69d1888772cabe21d406045e1beab82761a7040beeb7ed359718c889af80f22f320fbe662d5ea0f65dfb4a5589c294ce5b73359]\n[key.wx = 0eefdf99ab69d1888772cabe21d406045e1beab82761a7040beeb7ed3]\n[key.wy = 59718c889af80f22f320fbe662d5ea0f65dfb4a5589c294ce5b73359]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004eefdf99ab69d1888772cabe21d406045e1beab82761a7040beeb7ed359718c889af80f22f320fbe662d5ea0f65dfb4a5589c294ce5b73359]\n[sha = SHA-224]\n\n# tcId = 302\n# extreme value for k\nmsg = 313233343030\nresult = valid\nsig = 303d021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021c0eb10e5ab95facded4061029d63a46f46f12947411f2ea561a592057\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34]\n[key.wx = 0b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21]\n[key.wy = 0bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34]\n[sha = SHA-224]\n\n# tcId = 303\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 303c021c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c021c249249249249249249249249249227ce201a6b76951f982e7ae89851\n\n# tcId = 304\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 303d021d008ac44bff876cbf7e2842eec13b63fcb3d6e7360aca5698f3ef0f1811021c249249249249249249249249249227ce201a6b76951f982e7ae89851\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d2142c89c774a08dc04b3dd201932bc8a5ea5f8b89bbb2a7e667aff81cd]\n[key.wx = 0b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21]\n[key.wy = 42c89c774a08dc04b3dd201932bc8a5ea5f8b89bbb2a7e667aff81cd]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d2142c89c774a08dc04b3dd201932bc8a5ea5f8b89bbb2a7e667aff81cd]\n[sha = SHA-224]\n\n# tcId = 305\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 303c021c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c021c249249249249249249249249249227ce201a6b76951f982e7ae89851\n\n# tcId = 306\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 303d021d008ac44bff876cbf7e2842eec13b63fcb3d6e7360aca5698f3ef0f1811021c249249249249249249249249249227ce201a6b76951f982e7ae89851\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 044c246670658a1d41f5d77bce246cbe386ac22848e269b9d4cd67c466ddd947153d39b2d42533a460def26880408caf2dd3dd48fe888cd176]\n[key.wx = 4c246670658a1d41f5d77bce246cbe386ac22848e269b9d4cd67c466]\n[key.wy = 0ddd947153d39b2d42533a460def26880408caf2dd3dd48fe888cd176]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00044c246670658a1d41f5d77bce246cbe386ac22848e269b9d4cd67c466ddd947153d39b2d42533a460def26880408caf2dd3dd48fe888cd176]\n[sha = SHA-224]\n\n# tcId = 307\n# pseudorandom signature\nmsg = \nresult = valid\nsig = 303d021c2770", - "403d42b7b45e553308d1f6a480640b61cac0ae36665d6f14d34e021d0085506b0404265ededf9a89fc7c9c7a55c16c5b0d781f774de8f46fa1\n\n# tcId = 308\n# pseudorandom signature\nmsg = 4d7367\nresult = valid\nsig = 303d021d00b68da722bbba7f6a58417bb5d0dd88f40316fc628b0edfcb0f02b062021c5c742e330b6febadf9a12d58ba2a7199629457ef2e9e4cecd2f09f50\n\n# tcId = 309\n# pseudorandom signature\nmsg = 313233343030\nresult = valid\nsig = 303c021c01ec1ff15c8a55d697a5424d674753f82f711593828368d2fbb41a17021c20d9089db7baf46b8135e17e01645e732d22d5adb20e3772da740eee\n\n# tcId = 310\n# pseudorandom signature\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 303c021c3e46e9ba4dc089ff30fa8c0209c31b11ff49dbeec090f9f53c000c75021c6f2e3b36369416602bca83206809ed898fcf158a56c25a5474143f68\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04aed6fcad2400c4d94e55dbb6b012ce3d4c2b46843fbe99d4289e6ecf8a24a89e71343d7d151d258d2cb690349c2d56b366dd10a600000000]\n[key.wx = 0aed6fcad2400c4d94e55dbb6b012ce3d4c2b46843fbe99d4289e6ecf]\n[key.wy = 08a24a89e71343d7d151d258d2cb690349c2d56b366dd10a600000000]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004aed6fcad2400c4d94e55dbb6b012ce3d4c2b46843fbe99d4289e6ecf8a24a89e71343d7d151d258d2cb690349c2d56b366dd10a600000000]\n[sha = SHA-224]\n\n# tcId = 311\n# y-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c77b38da37079d27b837613ac3e8248d66eabd5d637076c8e62c7991e021d00d40cd9f81efc52db4429c0c1af7c1d8a22b6c7babbe7fbd8b5b3f02f\n\n# tcId = 312\n# y-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 303d021d008c03b32c166c0c8b99d7f876acd109447efb13f6b82945e78d51a269021c657568f1a0a8bd7df5ffa43097ebb2b64435c8e3335bcaafc63f9ed5\n\n# tcId = 313\n# y-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 303d021d00d199a375253d30f1d2b4493542e9934f9f1f8b0680117679f5bc4ad2021c11419ddbf02c8ad5f518f8dac33f86a85e777af51a034132e2767a6d\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04bf19ecfe43ffe289f699f479316145b9a7f7370b9ece5ab1212174f173d528949ae9142f818bade71a960407963be0b6482a6a60ffffffff]\n[key.wx = 0bf19ecfe43ffe289f699f479316145b9a7f7370b9ece5ab1212174f1]\n[key.wy = 73d528949ae9142f818bade71a960407963be0b6482a6a60ffffffff]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004bf19ecfe43ffe289f699f479316145b9a7f7370b9ece5ab1212174f173d528949ae9142f818bade71a960407963be0b6482a6a60ffffffff]\n[sha = SHA-224]\n\n# tcId = 314\n# y-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 303d021d008ff82699e2e82870be9cfdd8a408bb34f8f38a83a4ac8370f18f2bc8021c7e5008fab6a0d4159200077ef9918dad6592cd8359838852c636ac05\n\n# tcId = 315\n# y-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c3f3b60b529ae0f950c517264adf2e481616bc47416742d5103589660021d00f731ebe98e58384b3a64b4696d4cc9619828ad51d7c39980749709a6\n\n# tcId = 316\n# y-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 303d021d00dc11ffdc6b78754a335f168c4033916a2158d125a3f4fed9dc736661021c6dd84364717d9f4b0790f2b282f9245ecb316874eac025600397f109\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 0426e5abf135cb54eaaa16b69e4b0b292275344e88a09df6df80000000eab891de54e3f26ff50ab989f333dac551583d468ae623c596434af0]\n[key.wx = 26e5abf135cb54eaaa16b69e4b0b292275344e88a09df6df80000000]\n[key.wy = 0eab891de54e3f26ff50ab989f333dac551583d468ae623c596434af0]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000426e5abf135cb54eaaa16b69e4b0b292275344e88a09df6df80000000eab891de54e3f26ff50ab989f333dac551583d468ae623c596434af0]\n[sha = SHA-224]\n\n# tcId = 317\n# x-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 303e021d00a59b25b786d55f26b04dfe90ee02a6bde64ed6e431dc9fbdc3ab360e021d00fc14b5ad20f39da9900e35437936c8626fccf6632e7a3d9e587e3311\n\n# tcId = 318\n# x-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c2eda1f96c1a6e3ad8a3321ce82cbb13a5b935b501abf6c06f7fd2b3f021d00e81050c3e5f53a3c7b9d0bdb9ed92a326dfeac44791ba1abe4d6e973\n\n# tcId = 319\n# x-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c60f5e093fda08fc14ac99d820a18ad1370c58150bea0aca24fc6db9d021d00c2220a0ebbf4896e68fdb5bd824f88291c1c862b916f9c4af87f8f5f\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04ec627f345545d03f8c6dbd08e575527116567fe375f9ecaaffffffff41bf705697d5f716bcf78718d5393b63a98691f4a1f24246375538fd]\n[key.wx = 0ec627f345545d03f8c6dbd08e575527116567fe375f9ecaaffffffff]\n[key.wy = 41bf705697d5f716bcf78718d5393b63a98691f4a1f24246375538fd]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004ec627f345545d03f8c6dbd08e575527116567fe375f9ecaaffffffff41bf705697d5f716bcf78718d5393b63a98691f4a1f24246375538fd]\n[sha = SHA-224]\n\n# tcId = 320\n# x-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c2ead37846a5e36a490b75140bdc7b636c6e9f6d8f980f6fadb08f769021d00e1fe130ae1798c196d7be62c7a5ddb3168cf4b8d48b6b6b4dc94ab3b\n\n# tcId = 321\n# x-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 303d021d00a8a4c9416d72c860573d073281cb08c86ad65313f06b15a329e82eb2021c5a6edd2f0816b7263d915d72c67d50a854e3abee5cde1b679a0cef09\n\n# tcId = 322\n# x-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 303c021c576bb86c517bfecdc930a4c8501725548d425afbb96d93f5c1e2a0e1021c77248c5ecd620c431438c50e6bee6858091b54a87f8548ae35c21027\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 0415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a00000000762d28f1fdc219184f81681fbff566d465b5f1f31e872df5]\n[key.wx = 15016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a]\n[key.wy = 762d28f1fdc219184f81681fbff566d465b5f1f31e872df5]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a00000000762d28f1fdc219184f81681fbff566d465b5f1f31e872df5]\n[sha = SHA-224]\n\n# tcId = 323\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c34e41cba628fd8787ba1a528f6015d2cae015c1c9a866e08a7133801021d0083d422ffdd99cc3c6d7096ef927f0b11988d1824e6e93840ff666ccd\n\n# tcId = 324\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303c021c2558a42e79689244bccd5e855f6a1e42b4ff726873f30b532b89ef53021c07f9bd947785187175d848b6e2d79f7ab3bbc1087b42590b0cfb256a\n\n# tcId = 325\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303e021d00d5fe7dd5fb4fd1ea5ce66c0824f53f96ce47fd9b6c63b4d57827fd17021d00bce5bc3af705afaacb81bfa6d552d6198962fece9fba41546c602ddc\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 0415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555affffffff89d2d70e023de6e7b07e97df400a992b9a4a0e0ce178d20c]\n[key.wx = 15016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a]\n[key.wy = 0ffffffff89d2d70e023de6e7b07e97df400a992b9a4a0e0ce178d20c]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555affffffff89d2d70e023de6e7b07e97df400a992b9a4a0e0ce178d20c]\n[sha = SHA-224]\n\n# tcId = 326\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303d021d008c1da2f07cdcbce4db8067b863468cfc728df52980229028689e57b6021c32175c1390a4b2cab6359bab9f854957d4fd7976c9c6d920c871c051\n\n# tcId = 327\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303e021d00e46d4f11b86b5a12f6fe781d1f934ef2b30e78f6f9cc86a9996e20c0021d008351974b965526034a0ccef0e7d3bc13d91798151488c91533143f7b\n\n# tcId = 328\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303c021c305ccf0b5d0cf33dc745bb7c7964c233f6cfd8892a1c1ae9f50b2f3f021c785f6e85f5e652587c6e15d0c45c427278cf65bb1429a57d8826ca39\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ", - "ECPublicKey]\n[key.uncompressed = 0400000000f7e4713d085112112c37cdf4601ff688da796016b71a727ade5a9ec165054cc987f9dc87e9991b92e4fa649ca655eeae9f2a30e1]\n[key.wx = 0f7e4713d085112112c37cdf4601ff688da796016b71a727a]\n[key.wy = 0de5a9ec165054cc987f9dc87e9991b92e4fa649ca655eeae9f2a30e1]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000400000000f7e4713d085112112c37cdf4601ff688da796016b71a727ade5a9ec165054cc987f9dc87e9991b92e4fa649ca655eeae9f2a30e1]\n[sha = SHA-224]\n\n# tcId = 329\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c0e4fde0ac8d37536505f7b8bdc2d22c5c334b064ac5ed27bea9c179e021d00c4d6bf829dd547000d6f70b9ad9e9c1503bebcf1d95c2608942ca19d\n\n# tcId = 330\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303e021d00818afcaf491da9d08a7cc29318d5e85dce568dcca7018059f44e9b7e021d00bf32a233d5fc6ed8e2d9270b1bdad4bbd2a0f2c293d289bd91ffbcf3\n\n# tcId = 331\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303c021c0e05ed675c673e5e70a4fdd5a47b114c5d542d4f6d7a367597d713ea021c26d70d65c48430373363987810bdcc556e02718eab214403ae008db4\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04ffffffffeadf7cee8d34d04cf22c8f7de35674fb2f501d242a76f72586c409309d398e60ce1e0a4c9e05a9d32627577e8ce2cc7f3afa2c3e]\n[key.wx = 0ffffffffeadf7cee8d34d04cf22c8f7de35674fb2f501d242a76f725]\n[key.wy = 086c409309d398e60ce1e0a4c9e05a9d32627577e8ce2cc7f3afa2c3e]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004ffffffffeadf7cee8d34d04cf22c8f7de35674fb2f501d242a76f72586c409309d398e60ce1e0a4c9e05a9d32627577e8ce2cc7f3afa2c3e]\n[sha = SHA-224]\n\n# tcId = 332\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303e021d00ab7a19eecf63e9668278963b65236b2768e57cae0e268cb86a0ddda1021d008829f5d3a3394f9467ba62e66ef1768e3e54f93ed23ec962bc443c2e\n\n# tcId = 333\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c17111a77cf79bead456ed86a7d8a935531440281eb8b15a885e341c0021d00fdc3958d04f037b1d4bb2cee307b5201be062e0d4e089df1c1917668\n\n# tcId = 334\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303d021d00acafa1e33345eeba0c338c2204b4cd8ba21de7ec3e1213317038e968021c0b42fbbaeda98a35da0de4c79546f3a0f7d9dec275d2cd671f93c874\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1000000000e2ab0e8495e859eb2afb00769d6e7fe626a119167c0b6bc]\n[key.wx = 0b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1]\n[key.wy = 0e2ab0e8495e859eb2afb00769d6e7fe626a119167c0b6bc]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1000000000e2ab0e8495e859eb2afb00769d6e7fe626a119167c0b6bc]\n[sha = SHA-224]\n\n# tcId = 335\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303d021d00a3fe71a2a56f554e98fd10a8098c2a543c98bc6b3602ef39f2412308021c5d1d68f9a870ef2bc87484b3386549fae95811ab72bc0e3a514720da\n\n# tcId = 336\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c132f7625704756c13f2bfa449e60952f836f4904660b5b1da07e5a9f021d0082b4abafc40e8fd19b0c967f02fff152737ce01153658df445c4d7b7\n\n# tcId = 337\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303e021d00f36a8347c6fe0397a1161a364cbc4bdfb4d8b7894cbaa6edc55a4ff7021d009c9c90515da5e602d62e99f48eac414e913dd0b7cbf680c1a5399952\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1fffffffff1d54f17b6a17a614d504ff7962918019d95ee6e983f4945]\n[key.wx = 0b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1]\n[key.wy = 0fffffffff1d54f17b6a17a614d504ff7962918019d95ee6e983f4945]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1fffffffff1d54f17b6a17a614d504ff7962918019d95ee6e983f4945]\n[sha = SHA-224]\n\n# tcId = 338\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c2125ecc08e52e9e39e590117de2145bd879626cb87180e52e9d3ce03021d008f7e838d0e8fb80005fe3c72fca1b7cc08ed321a34487896b0c90b04\n\n# tcId = 339\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303e021d00e485747ac2f3d045e010cdadab4fd5dbd5556c0008445fb73e07cd90021d00e2133a7906aeac504852e09e6d057f29ab21368cfc4e2394be565e68\n\n# tcId = 340\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303d021d00a4de0d931ddab90e667ebc0ad800ce49e971c60543abdc46cefff926021c550816170bd87593b9fb8ad5ed9ab4ddb12403ff6fe032252833bac4\n\n", +static const char *kData99[] = { + "# Imported from Wycheproof's ecdsa_secp224r1_sha224_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: ECDSA\n# Generator version: 0.8r12\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04eada93be10b2449e1e8bb58305d52008013c57107c1a20a317a6cba7eca672340c03d1d2e09663286691df55069fa25490c9dd9f9c0bb2b5]\n[key.wx = 00eada93be10b2449e1e8bb58305d52008013c57107c1a20a317a6cba7]\n[key.wy = 00eca672340c03d1d2e09663286691df55069fa25490c9dd9f9c0bb2b5]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004eada93be10b2449e1e8bb58305d52008013c57107c1a20a317a6cba7eca672340c03d1d2e09663286691df55069fa25490c9dd9f9c0bb2b5]\n[sha = SHA-224]\n\n# tcId = 1\n# signature malleability\nmsg = 313233343030\nresult = valid\nsig = 303c021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021c2840bf24f6f66be287066b7cbf38788e1b7770b18fd1aa6a26d7c6dc\n\n# tcId = 2\n# Legacy:ASN encoding of s misses leading 0\nmsg = 313233343030\nresult = acceptable\nsig = 303c021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021cd7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\nflags = MissingZero\n\n# tcId = 3\n# valid\nmsg = 313233343030\nresult = valid\nsig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 4\n# long form encoding of length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 30813d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\nflags = BER\n\n# tcId = 5\n# length of sequence contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 3082003d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\nflags = BER\n\n# tcId = 6\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 303e021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 7\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 303c021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 8\n# uint32 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3085010000003d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 9\n# uint64 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 308901000000000000003d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 10\n# length of sequence = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30847fffffff021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 11\n# length of sequence = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3084ffffffff021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 12\n# length of sequence = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3085ffffffffff021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 13\n# length of sequence = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3088ffffffffffffffff021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 14\n# incorrect length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 30ff021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 15\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 3080021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 16\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 303d028070049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 17\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a028000d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 18\n# removing sequence\nmsg = 313233343030\nresult = invalid\nsig = \n\n# tcId = 19\n# lonely sequence tag\nmsg = 313233343030\nresult = invalid\nsig = 30\n\n# tcId = 20\n# appending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 303f021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610000\n\n# tcId = 21\n# prepending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 303f0000021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 22\n# appending unused 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610000\n\n# tcId = 23\n# appending null value to sequence\nmsg = 313233343030\nresult = invalid\nsig = 303f021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610500\n\n# tcId = 24\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3042498177303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 25\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 30412500303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 26\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 303f303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610004deadbeef\n\n# tcId = 27\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 30422221498177021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 28\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 304122202500021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 29\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3045221e021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0004deadbeef021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 30\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3042021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a2222498177021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 31\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3041021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a22212500021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 32\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3045021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a221f021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610004deadbeef\n\n# tcId = 33\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 3045aa00bb00cd00303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 34\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 3043aa02aabb303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 35\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 30452224aa00bb00cd00021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 36\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig", + " = 30432222aa02aabb021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 37\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 3045021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a2225aa00bb00cd00021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 38\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 3043021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a2223aa02aabb021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 39\n# truncated length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3081\n\n# tcId = 40\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 3080303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610000\n\n# tcId = 41\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 30412280021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0000021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 42\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 3041021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a2280021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610000\n\n# tcId = 43\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 3080313d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610000\n\n# tcId = 44\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 30412280031c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0000021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 45\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 3041021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a2280031d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610000\n\n# tcId = 46\n# Replacing sequence with NULL\nmsg = 313233343030\nresult = invalid\nsig = 0500\n\n# tcId = 47\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 2e3d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 48\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 2f3d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 49\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 313d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 50\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 323d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 51\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = ff3d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 52\n# dropping value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3000\n\n# tcId = 53\n# using composition for sequence\nmsg = 313233343030\nresult = invalid\nsig = 3041300102303c1c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 54\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 303c021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463\n\n# tcId = 55\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 303c1c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 56\n# indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 3080021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610000\nflags = BER\n\n# tcId = 57\n# indefinite length with truncated delimiter\nmsg = 313233343030\nresult = invalid\nsig = 3080021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb3584636100\n\n# tcId = 58\n# indefinite length with additional element\nmsg = 313233343030\nresult = invalid\nsig = 3080021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb3584636105000000\n\n# tcId = 59\n# indefinite length with truncated element\nmsg = 313233343030\nresult = invalid\nsig = 3080021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361060811220000\n\n# tcId = 60\n# indefinite length with garbage\nmsg = 313233343030\nresult = invalid\nsig = 3080021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610000fe02beef\n\n# tcId = 61\n# indefinite length with nonempty EOC\nmsg = 313233343030\nresult = invalid\nsig = 3080021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610002beef\n\n# tcId = 62\n# prepend empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 303f3000021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 63\n# append empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 303f021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463613000\n\n# tcId = 64\n# append garbage with high tag number\nmsg = 313233343030\nresult = invalid\nsig = 3040021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361bf7f00\n\n# tcId = 65\n# sequence of sequence\nmsg = 313233343030\nresult = invalid\nsig = 303f303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 66\n# truncated sequence: removed last 1 elements\nmsg = 313233343030\nresult = invalid\nsig = 301e021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a\n\n# tcId = 67\n# repeating element in sequence\nmsg = 313233343030\nresult = invalid\nsig = 305c021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 68\n# long form encoding of length of integer\nmsg = 313233343030\nresult = invalid\nsig = 303e02811c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\nflags = BER\n\n# tcId = 69\n# long form encoding of length of integer\nmsg = 313233343030\nresult = invalid\nsig = 303e021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a02811d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\nflags = BER\n\n# tcId = 70\n# length of integer contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 303f0282001c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\nflags = BER\n\n# tcId = 71\n# length of integer contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 303f021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0282001d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\nflags = BER\n\n# tcId = 72\n# wrong length of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021d70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 73\n# wrong length of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021b70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 74\n# wrong length of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021e00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 75\n#", + " wrong length of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021c00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 76\n# uint32 overflow in length of integer\nmsg = 313233343030\nresult = invalid\nsig = 30420285010000001c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 77\n# uint32 overflow in length of integer\nmsg = 313233343030\nresult = invalid\nsig = 3042021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0285010000001d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 78\n# uint64 overflow in length of integer\nmsg = 313233343030\nresult = invalid\nsig = 3046028901000000000000001c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 79\n# uint64 overflow in length of integer\nmsg = 313233343030\nresult = invalid\nsig = 3046021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a028901000000000000001d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 80\n# length of integer = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 304102847fffffff70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 81\n# length of integer = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3041021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a02847fffffff00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 82\n# length of integer = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30410284ffffffff70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 83\n# length of integer = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3041021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0284ffffffff00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 84\n# length of integer = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30420285ffffffffff70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 85\n# length of integer = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3042021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0285ffffffffff00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 86\n# length of integer = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30450288ffffffffffffffff70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 87\n# length of integer = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3045021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0288ffffffffffffffff00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 88\n# incorrect length of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d02ff70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 89\n# incorrect length of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a02ff00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 90\n# removing integer\nmsg = 313233343030\nresult = invalid\nsig = 301f021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 91\n# lonely integer tag\nmsg = 313233343030\nresult = invalid\nsig = 302002021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 92\n# lonely integer tag\nmsg = 313233343030\nresult = invalid\nsig = 301f021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a02\n\n# tcId = 93\n# appending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 303f021e70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0000021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 94\n# appending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 303f021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021f00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610000\n\n# tcId = 95\n# prepending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 303f021e000070049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\nflags = BER\n\n# tcId = 96\n# prepending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 303f021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021f000000d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\nflags = BER\n\n# tcId = 97\n# appending unused 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 303f021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0000021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 98\n# appending null value to integer\nmsg = 313233343030\nresult = invalid\nsig = 303f021e70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0500021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 99\n# appending null value to integer\nmsg = 313233343030\nresult = invalid\nsig = 303f021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021f00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610500\n\n# tcId = 100\n# truncated length of integer\nmsg = 313233343030\nresult = invalid\nsig = 30210281021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 101\n# truncated length of integer\nmsg = 313233343030\nresult = invalid\nsig = 3020021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0281\n\n# tcId = 102\n# Replacing integer with NULL\nmsg = 313233343030\nresult = invalid\nsig = 30210500021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 103\n# Replacing integer with NULL\nmsg = 313233343030\nresult = invalid\nsig = 3020021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0500\n\n# tcId = 104\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d001c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 105\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d011c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 106\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d031c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 107\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d041c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 108\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303dff1c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 109\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a001d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 110\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a011d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 111\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a031d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 112\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a041d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 113\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480aff1d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 114\n# dropping value of integer\nmsg = 313233343030\nresult = invalid\nsig = 30210200021d0", + "0d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 115\n# dropping value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3020021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0200\n\n# tcId = 116\n# using composition for integer\nmsg = 313233343030\nresult = invalid\nsig = 30412220020170021b049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 117\n# using composition for integer\nmsg = 313233343030\nresult = invalid\nsig = 3041021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a2221020100021cd7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 118\n# modify first byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021c72049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 119\n# modify first byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d02d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 120\n# modify last byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a488a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 121\n# modify last byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463e1\n\n# tcId = 122\n# truncated integer\nmsg = 313233343030\nresult = invalid\nsig = 303c021b70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a48021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 123\n# truncated integer\nmsg = 313233343030\nresult = invalid\nsig = 303c021b049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 124\n# truncated integer\nmsg = 313233343030\nresult = invalid\nsig = 303c021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021c00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463\n\n# tcId = 125\n# leading ff in integer\nmsg = 313233343030\nresult = invalid\nsig = 303e021dff70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 126\n# leading ff in integer\nmsg = 313233343030\nresult = invalid\nsig = 303e021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021eff00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 127\n# replaced integer by infinity\nmsg = 313233343030\nresult = invalid\nsig = 3022090180021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 128\n# replaced integer by infinity\nmsg = 313233343030\nresult = invalid\nsig = 3021021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a090180\n\n# tcId = 129\n# replacing integer with zero\nmsg = 313233343030\nresult = invalid\nsig = 3022020100021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 130\n# replacing integer with zero\nmsg = 313233343030\nresult = invalid\nsig = 3021021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a020100\n\n# tcId = 131\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303e021d0170049af31f8348673d56cece2b26fc2a84bbe2e2a2e84aeced767247021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 132\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303e021dff70049af31f8348673d56cece2b28cee4c34a02667b2df86234be1dcd021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 133\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303d021c8ffb650ce07cb798c2a93131d4d81a785bfd0d5b70f4de586ee5b7f6021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 134\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303e021d008ffb650ce07cb798c2a93131d4d7311b3cb5fd9984d2079dcb41e233021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 135\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303e021dfe8ffb650ce07cb798c2a93131d4d903d57b441d1d5d17b51312898db9021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 136\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303e021d0170049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 137\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303e021d008ffb650ce07cb798c2a93131d4d81a785bfd0d5b70f4de586ee5b7f6021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 138\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d01d7bf40db0909941d78f9948340c5b4b7a5fa6fca97e8a82091e08d9e\n\n# tcId = 139\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303c021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021cd7bf40db0909941d78f9948340c78771e4888f4e702e5595d9283924\n\n# tcId = 140\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021dff2840bf24f6f66be287066b7cbf3961eb3abe80737bf48124ca7b9c9f\n\n# tcId = 141\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021dfe2840bf24f6f66be287066b7cbf3a4b485a059035681757df6e1f7262\n\n# tcId = 142\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d01d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361\n\n# tcId = 143\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303c021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021c2840bf24f6f66be287066b7cbf3961eb3abe80737bf48124ca7b9c9f\n\n# tcId = 144\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020100020100\nflags = EdgeCase\n\n# tcId = 145\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020100020101\nflags = EdgeCase\n\n# tcId = 146\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201000201ff\nflags = EdgeCase\n\n# tcId = 147\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020100021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\nflags = EdgeCase\n\n# tcId = 148\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020100021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\nflags = EdgeCase\n\n# tcId = 149\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020100021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\nflags = EdgeCase\n\n# tcId = 150\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020100021d00ffffffffffffffffffffffffffffffff000000000000000000000001\nflags = EdgeCase\n\n# tcId = 151\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020100021d00ffffffffffffffffffffffffffffffff000000000000000000000002\nflags = EdgeCase\n\n# tcId = 152\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3008020100090380fe01\nflags = EdgeCase\n\n# tcId = 153\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020100090142\nflags = EdgeCase\n\n# tcId = 154\n# Signature wit", + "h special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020101020100\nflags = EdgeCase\n\n# tcId = 155\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020101020101\nflags = EdgeCase\n\n# tcId = 156\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201010201ff\nflags = EdgeCase\n\n# tcId = 157\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020101021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\nflags = EdgeCase\n\n# tcId = 158\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020101021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\nflags = EdgeCase\n\n# tcId = 159\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020101021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\nflags = EdgeCase\n\n# tcId = 160\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020101021d00ffffffffffffffffffffffffffffffff000000000000000000000001\nflags = EdgeCase\n\n# tcId = 161\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020101021d00ffffffffffffffffffffffffffffffff000000000000000000000002\nflags = EdgeCase\n\n# tcId = 162\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3008020101090380fe01\nflags = EdgeCase\n\n# tcId = 163\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020101090142\nflags = EdgeCase\n\n# tcId = 164\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff020100\nflags = EdgeCase\n\n# tcId = 165\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff020101\nflags = EdgeCase\n\n# tcId = 166\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff0201ff\nflags = EdgeCase\n\n# tcId = 167\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30220201ff021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\nflags = EdgeCase\n\n# tcId = 168\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30220201ff021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\nflags = EdgeCase\n\n# tcId = 169\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30220201ff021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\nflags = EdgeCase\n\n# tcId = 170\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30220201ff021d00ffffffffffffffffffffffffffffffff000000000000000000000001\nflags = EdgeCase\n\n# tcId = 171\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30220201ff021d00ffffffffffffffffffffffffffffffff000000000000000000000002\nflags = EdgeCase\n\n# tcId = 172\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30080201ff090380fe01\nflags = EdgeCase\n\n# tcId = 173\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff090142\nflags = EdgeCase\n\n# tcId = 174\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020100\nflags = EdgeCase\n\n# tcId = 175\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020101\nflags = EdgeCase\n\n# tcId = 176\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d0201ff\nflags = EdgeCase\n\n# tcId = 177\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\nflags = EdgeCase\n\n# tcId = 178\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\nflags = EdgeCase\n\n# tcId = 179\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\nflags = EdgeCase\n\n# tcId = 180\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffffffff000000000000000000000001\nflags = EdgeCase\n\n# tcId = 181\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffffffff000000000000000000000002\nflags = EdgeCase\n\n# tcId = 182\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3024021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d090380fe01\nflags = EdgeCase\n\n# tcId = 183\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d090142\nflags = EdgeCase\n\n# tcId = 184\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c020100\nflags = EdgeCase\n\n# tcId = 185\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c020101\nflags = EdgeCase\n\n# tcId = 186\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c0201ff\nflags = EdgeCase\n\n# tcId = 187\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\nflags = EdgeCase\n\n# tcId = 188\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\nflags = EdgeCase\n\n# tcId = 189\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\nflags = EdgeCase\n\n# tcId = 190\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffffffff000000000000000000000001\nflags = EdgeCase\n\n# tcId = 191\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffffffff000000000000000000000002\nflags = EdgeCase\n\n# tcId = 192\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3024021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c090380fe01\nflags = EdgeCase\n\n# tcId = 193\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c090142\nflags = EdgeCase\n\n# tcId = 194\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e020100\nflags = EdgeCase\n\n# tcId = 195\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e020101\nflags = EdgeCase\n\n# tcId = 196\n#", + " Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e0201ff\nflags = EdgeCase\n\n# tcId = 197\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\nflags = EdgeCase\n\n# tcId = 198\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\nflags = EdgeCase\n\n# tcId = 199\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\nflags = EdgeCase\n\n# tcId = 200\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffffffff000000000000000000000001\nflags = EdgeCase\n\n# tcId = 201\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffffffff000000000000000000000002\nflags = EdgeCase\n\n# tcId = 202\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3024021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e090380fe01\nflags = EdgeCase\n\n# tcId = 203\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e090142\nflags = EdgeCase\n\n# tcId = 204\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffffffff000000000000000000000001020100\nflags = EdgeCase\n\n# tcId = 205\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffffffff000000000000000000000001020101\nflags = EdgeCase\n\n# tcId = 206\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffffffff0000000000000000000000010201ff\nflags = EdgeCase\n\n# tcId = 207\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\nflags = EdgeCase\n\n# tcId = 208\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\nflags = EdgeCase\n\n# tcId = 209\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\nflags = EdgeCase\n\n# tcId = 210\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffffffff000000000000000000000001\nflags = EdgeCase\n\n# tcId = 211\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffffffff000000000000000000000002\nflags = EdgeCase\n\n# tcId = 212\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3024021d00ffffffffffffffffffffffffffffffff000000000000000000000001090380fe01\nflags = EdgeCase\n\n# tcId = 213\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffffffff000000000000000000000001090142\nflags = EdgeCase\n\n# tcId = 214\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffffffff000000000000000000000002020100\nflags = EdgeCase\n\n# tcId = 215\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffffffff000000000000000000000002020101\nflags = EdgeCase\n\n# tcId = 216\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffffffff0000000000000000000000020201ff\nflags = EdgeCase\n\n# tcId = 217\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\nflags = EdgeCase\n\n# tcId = 218\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\nflags = EdgeCase\n\n# tcId = 219\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\nflags = EdgeCase\n\n# tcId = 220\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffffffff000000000000000000000001\nflags = EdgeCase\n\n# tcId = 221\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffffffff000000000000000000000002\nflags = EdgeCase\n\n# tcId = 222\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3024021d00ffffffffffffffffffffffffffffffff000000000000000000000002090380fe01\nflags = EdgeCase\n\n# tcId = 223\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffffffff000000000000000000000002090142\nflags = EdgeCase\n\n# tcId = 224\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 30060201010c0130\n\n# tcId = 225\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 30050201010c00\n\n# tcId = 226\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 30090c0225730c03732573\n\n# tcId = 227\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 30080201013003020100\n\n# tcId = 228\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 3003020101\n\n# tcId = 229\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 3006020101010100\n\n# tcId = 230\n# Edge case for Shamir multiplication\nmsg = 3137353738\nresult = valid\nsig = 303c021c326bc06353f7f9c9f77b8f4b55464e8619944e7879402cca572e041a021c3116e1a38e4ab2008eca032fb2d185e5c21a232eaf4507ae56177fd2\n\n# tcId = 231\n# special case hash\nmsg = 32323534363238393834\nresult = valid\nsig = 303d021d008ce2afe20b684576fdd91b4b34168c9c011996af5b0eb85fa929f381021c662af5ca651bffbc623c3a3b372779bd09e1948cd19188f5339a979d\n\n# tcId = 232\n# special case hash\nmsg = 31383237383738363130\nresult = valid\nsig = 303e021d00da573cf73aed174710c232155735248f8ebef696374647527da52258021d00b251856b66a83c32bf0b7b81a01f1db4507e622125f301bd832a5ccc\n\n# tcId = 233\n# special case hash\nmsg = 31353138383631373039\nresult = valid\nsig = 303e021d00c368da86582b2c82b696b2f7c79027968f3fd25cbba9688cdc67b17a021d00aba8e3c2ff1af9bb9c66ca88a3825a19ce17206e7a658ff47025891e\n\n# tcId = 234\n# special case hash\nmsg = 32313239323333343232\nresult = valid\nsig = 303d021d00ffcefcb57190d0b87efb789fb53407fd2c65c5ae3551da3eccf8ddd5021c05c89b41238f1e1def8fbe8d4afebf20be077e82972f91297487e118\n\n# tcId = 235\n# special case hash\nmsg = 31323231393739303539\nresult = valid\nsig = 303c021c2b98c67ebf6597b08bc7f1b73ff8662cf125e9700ec973ece9c6", + "ff48021c2e3f72a8f76e12c8cdf4487e0956c1ef4578e1da4d29d8db824d415b\n\n# tcId = 236\n# special case hash\nmsg = 32333032353637363131\nresult = valid\nsig = 303d021c5794d70440f166904d24d0b910cd127c63a9eddca45a4d9032db47e8021d008ba5d290834d9a0963122d928da902f7b03467396072180bb1801b43\n\n# tcId = 237\n# special case hash\nmsg = 31313035383638343732\nresult = valid\nsig = 303e021d00c29c70b0b21782d1c727f4907aef5641b6d6c6e7b2a1ebfa57794223021d00aac2d3a02592f298dd3198e388425ec7a91d7e6be48248a64773614c\n\n# tcId = 238\n# special case hash\nmsg = 31343636363134343432\nresult = valid\nsig = 303d021c5c3ef3778c811e69ef0b0e370e45ec0d7eb88505c3e8ffb8c50b9993021d00e06b5c6e47dc4da9e64fd21bc3e1da13cf7c264fa64ccb89da87387c\n\n# tcId = 239\n# special case hash\nmsg = 343431393536343230\nresult = valid\nsig = 303e021d00ed8f586563232cf15ebd014bd4f99727e337cfe4ce48694fe6748ec2021d00fff779a3eca9513522908e252a2b4aab2060608e6cd2d4f1b8c696cd\n\n# tcId = 240\n# special case hash\nmsg = 31393639343836303634\nresult = valid\nsig = 303c021c64c084f6b775bbf7915c1964a68b0259629328598f13557872867830021c2a6f3b289d130ec3d99e4caaf601497895a069c1a5a75b559ad28444\n\n# tcId = 241\n# special case hash\nmsg = 32323335363732383833\nresult = valid\nsig = 303d021c2b514e9b0e0eb68adc01915abbee9fa21f3034be5581dedaa6b15982021d00b8f71c5fdc68d698716bfc623b278216c0fcc0298497fc9c03db44e9\n\n# tcId = 242\n# special case hash\nmsg = 32323537383433373033\nresult = valid\nsig = 303e021d00e4103f4a8a814485b6b406fe8dd72206bad6a50e7126bc655c3d2285021d009bcb99693284cac26e6641a861dbec24f9cc5dd7bb535339d09ac984\n\n# tcId = 243\n# special case hash\nmsg = 393434353030393436\nresult = valid\nsig = 303d021d009edfb833446ec8b6fc84eea34ee40a85b732e5c99da8abc8bafcc515021c5052b40f9d407ae90003299cabe3e1a587b0558127cafb31de6b2638\n\n# tcId = 244\n# special case hash\nmsg = 31363837373839343130\nresult = valid\nsig = 303d021d00ad2647c8ff377798a6aeaed436d30c7b25fb52428829ce6424dd34e8021c28f58671d77c86da302418c51e5ab86d137ba6ef4389722bc79b8751\n\n# tcId = 245\n# special case hash\nmsg = 333933323631323238\nresult = valid\nsig = 303c021c5dfc6fad385bdb24b2b70a64fd4253405c0028bb36f4793aa3bd31fe021c1c210b74924171378992b03bb1bd78c5cfcfc879d2e5c736d35516c3\n\n# tcId = 246\n# special case hash\nmsg = 31303733353731303935\nresult = valid\nsig = 303d021c766bef46229695e6829dd12cd558369ec34519ba4a72dcaf6f73f7b0021d00fc015ccdd1e943b910101607d81ff1398ca6a4d70c25832b02b221e4\n\n# tcId = 247\n# special case hash\nmsg = 3630383837343734\nresult = valid\nsig = 303c021c120055f90ad1290c4c5fc5faf69b215139182c770d2b55e95712442f021c01ac47f7446543d4003b039d9f54daa9d0799f98291a32df4fcd472a\n\n# tcId = 248\n# special case hash\nmsg = 31313932353639393632\nresult = valid\nsig = 303d021d00f480591f6f40a25b37a035fd91954145ec342e593d09e142f25da408021c5c6ba44ff52f52c51490743d9b650916be58d06d7c1fd99dfa2eab58\n\n# tcId = 249\n# special case hash\nmsg = 3930303736303933\nresult = valid\nsig = 303c021c57daddb0cb6af939b1ea1aaf4bc72e56150c0c46a581827193e65d17021c3bc37bde4e60b789ba86a054d37f1191e0814926c1a0100168d16c17\n\n# tcId = 250\n# special case hash\nmsg = 31363032383336313337\nresult = valid\nsig = 303c021c3a74102bd1fc617018efc4fbc042e719a81b55830aac1f1dcdedec65021c4bb9fe90015a45f31c8c95dda24f54fcdb64682c13f68d4da3d1abe0\n\n# tcId = 251\n# special case hash\nmsg = 32303830323435363734\nresult = valid\nsig = 303e021d00e3b6bb1b5beed048e0177e3e310fa14eb923a1e3274c0946f9275454021d00e044e0494ff46573c37007e3efa3233588f1d103ced1823c7e87e7c8\n\n# tcId = 252\n# special case hash\nmsg = 31373938323734363539\nresult = valid\nsig = 303c021c3c212b5a7e65d9af44643bd62fa42a9b9cffe6bdb623e9b9e4337156021c29c8121a12427a324e5d551ff5a83d3c252e32257af2800d080817d2\n\n# tcId = 253\n# special case hash\nmsg = 31313535353737373230\nresult = valid\nsig = 303c021c1630554989fffd0e35f2d9105623d73a543634c48000484c422272ca021c214da487d5e51f73814dff80a08c77bd8a83a9889a1b26a5578ba954\n\n# tcId = 254\n# special case hash\nmsg = 32343332343734363634\nresult = valid\nsig = 303d021c0a4609242f2193b94bc54f49bcf532a576e035cec50e043668574bef021d00aa68bd67624d8812002bbb3a5f530594451372d4ab36896a2929c3df\n\n# tcId = 255\n# special case hash\nmsg = 32343137323832323737\nresult = valid\nsig = 303e021d00ef9ff446e8eef3e948f4129fe8804f81f5b7f116a5383f9e8bc359e4021d00f4c7055bd98f4a7ea49d9574160eac167809f6a78b9dd220958dd0f3\n\n# tcId = 256\n# special case hash\nmsg = 3737383734373731\nresult = valid\nsig = 303d021c1a6c59d85d5b3120b28c0d30bc058a92dc725d8ef450c198cc3ca522021d008b17fefc8ab1ff0bb37a93446453d40f65bc2cb9636b11207f5c90a1\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 048bf7e792f7c86877f1fd0552e42d80653b59e3a29e762a22810daac7eec615bbad04b58dc2a7956090b8040bb5055325bba0aa8b3a5caa6f]\n[key.wx = 008bf7e792f7c86877f1fd0552e42d80653b59e3a29e762a22810daac7]\n[key.wy = 00eec615bbad04b58dc2a7956090b8040bb5055325bba0aa8b3a5caa6f]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00048bf7e792f7c86877f1fd0552e42d80653b59e3a29e762a22810daac7eec615bbad04b58dc2a7956090b8040bb5055325bba0aa8b3a5caa6f]\n[sha = SHA-224]\n\n# tcId = 257\n# k*G has a large x-coordinate\nmsg = 313233343030\nresult = valid\nsig = 3030020f00e95c1f470fc1ec22d6baa3a3d5c1021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3a\n\n# tcId = 258\n# r too large\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00fffffffffffffffffffffffffffffffefffffffffffffffffffffffe021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3a\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 042646ff36d9697aaaed0d641117f94f60e138bab8e9912b558ae0a818ca48e45a33550c1b5bd20a00e4d9df3033c03222e87bd96a8197f2dd]\n[key.wx = 2646ff36d9697aaaed0d641117f94f60e138bab8e9912b558ae0a818]\n[key.wy = 00ca48e45a33550c1b5bd20a00e4d9df3033c03222e87bd96a8197f2dd]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00042646ff36d9697aaaed0d641117f94f60e138bab8e9912b558ae0a818ca48e45a33550c1b5bd20a00e4d9df3033c03222e87bd96a8197f2dd]\n[sha = SHA-224]\n\n# tcId = 259\n# r,s are large\nmsg = 313233343030\nresult = valid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3b\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04ea3ea2873b6fc099bfd779b0a2c23c2c4354e2fec4536f3b8e420988f97e1c7646b4eb3de616752f415ab3a6f696d1d674fb4b6732252382]\n[key.wx = 00ea3ea2873b6fc099bfd779b0a2c23c2c4354e2fec4536f3b8e420988]\n[key.wy = 00f97e1c7646b4eb3de616752f415ab3a6f696d1d674fb4b6732252382]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004ea3ea2873b6fc099bfd779b0a2c23c2c4354e2fec4536f3b8e420988f97e1c7646b4eb3de616752f415ab3a6f696d1d674fb4b6732252382]\n[sha = SHA-224]\n\n# tcId = 260\n# r and s^-1 have a large Hamming weight\nmsg = 313233343030\nresult = valid\nsig = 303c021c7fffffffffffffffffffffffffffffffffffffffffffffffffffffff021c3d5052691b8dc89debad360466f2a39e82e8ae2aefb77c3c92ad7cd1\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0492ae54e38b4e9c6ae9943193747c4c8acc6c96f422515288e9698a13e8f3a759a1a8273c53f4b4b18bfcf78d9bb988adb3b005002dbe434c]\n[key.wx = 0092ae54e38b4e9c6ae9943193747c4c8acc6c96f422515288e9698a13]\n[key.wy = 00e8f3a759a1a8273c53f4b4b18bfcf78d9bb988adb3b005002dbe434c]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000492ae54e38b4e9c6ae9943193747c4c8acc6c96f422515288e9698a13e8f3a759a1a8273c53f4b4b18bfcf78d9bb988adb3b005002dbe434c]\n[sha = SHA-224]\n\n# tcId = 261\n# r and s^-1 have a large Hamming weight\nmsg = 313233343030\nresult = valid\nsig = 303d021c7fffffffffffffffffffffffffffffffffffffffffffffffffffffff021d00bf19ab4d3ebf5a1a49d765909308daa88c2b7be3969db552ea30562b\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04b157315cc1aaeae64eb5b38452884195fdfe8a15fb5618284f48afe5e1fbbaad729477a45f3752b7f72ad2f9cd7dce4158a8e21b8127e8a7]\n[key.wx = 00b157315cc1aaeae64eb5b38452884195fdfe8a15fb5618284f48afe5]\n[key.wy = 00e1fbbaad729477a45f3752b7f72ad2f9cd7dce4158a8e21b8127e8a7]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b157315cc1aaeae64eb5b38452884195fdfe8a15fb5618284f48afe5e1fbbaad729477a45f3752b7f72ad2f9cd7dce4158a8e21b8127e8a7]\n[sha = SHA-224]\n\n# tcId = 262\n# small r and s\nmsg = 313233343030\nresult = valid\nsi", + "g = 3006020103020101\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0487d9d964044b5b16801f32de9f3f9066194e8bf80affa3cb0d4ddb1db5eb9b6594e6d1bcacd0fd9d67c408f789dfb95feb79a6e2fb9c4cee]\n[key.wx = 0087d9d964044b5b16801f32de9f3f9066194e8bf80affa3cb0d4ddb1d]\n[key.wy = 00b5eb9b6594e6d1bcacd0fd9d67c408f789dfb95feb79a6e2fb9c4cee]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000487d9d964044b5b16801f32de9f3f9066194e8bf80affa3cb0d4ddb1db5eb9b6594e6d1bcacd0fd9d67c408f789dfb95feb79a6e2fb9c4cee]\n[sha = SHA-224]\n\n# tcId = 263\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020103020103\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04461b435af09ede35e74dac21f9af7b1b9998213039f8785d4a4905f518b89bde69de34a482638461d09386e7193ca90ca5b3038e2a3885d1]\n[key.wx = 461b435af09ede35e74dac21f9af7b1b9998213039f8785d4a4905f5]\n[key.wy = 18b89bde69de34a482638461d09386e7193ca90ca5b3038e2a3885d1]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004461b435af09ede35e74dac21f9af7b1b9998213039f8785d4a4905f518b89bde69de34a482638461d09386e7193ca90ca5b3038e2a3885d1]\n[sha = SHA-224]\n\n# tcId = 264\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020103020104\n\n# tcId = 265\n# r is larger than n\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a40020104\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 048093af8db04b3dd2e7c3c59bb64a832c2fb8e8e141bae7ba1534950a10c5e87aecbd1fcdfc36cd18d41b3238b2ac613eb7c9de988d881816]\n[key.wx = 008093af8db04b3dd2e7c3c59bb64a832c2fb8e8e141bae7ba1534950a]\n[key.wy = 10c5e87aecbd1fcdfc36cd18d41b3238b2ac613eb7c9de988d881816]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00048093af8db04b3dd2e7c3c59bb64a832c2fb8e8e141bae7ba1534950a10c5e87aecbd1fcdfc36cd18d41b3238b2ac613eb7c9de988d881816]\n[sha = SHA-224]\n\n# tcId = 266\n# s is larger than n\nmsg = 313233343030\nresult = invalid\nsig = 3022020103021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c6f00c4\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04c6d71f4ba0933f1269f7d6df83fd0c9c67254f101dcc126dc15faa3e3c45dc9fedc71c9f2b0dd1b12b656241f5e335066f3f925bdbcfe98f]\n[key.wx = 00c6d71f4ba0933f1269f7d6df83fd0c9c67254f101dcc126dc15faa3e]\n[key.wy = 3c45dc9fedc71c9f2b0dd1b12b656241f5e335066f3f925bdbcfe98f]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004c6d71f4ba0933f1269f7d6df83fd0c9c67254f101dcc126dc15faa3e3c45dc9fedc71c9f2b0dd1b12b656241f5e335066f3f925bdbcfe98f]\n[sha = SHA-224]\n\n# tcId = 267\n# small r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 302302020100021d00c993264c993264c993264c99326411d2e55b3214a8d67528812a55ab\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04beb9d8dcba48146b9032688ecea947a231e7d0e6ce17d76b56ed634835503f3b4af414870ef03383784b1d846b3e07b8e9fc2d6190a3bfda]\n[key.wx = 00beb9d8dcba48146b9032688ecea947a231e7d0e6ce17d76b56ed6348]\n[key.wy = 35503f3b4af414870ef03383784b1d846b3e07b8e9fc2d6190a3bfda]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004beb9d8dcba48146b9032688ecea947a231e7d0e6ce17d76b56ed634835503f3b4af414870ef03383784b1d846b3e07b8e9fc2d6190a3bfda]\n[sha = SHA-224]\n\n# tcId = 268\n# smallish r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 302702072d9b4d347952cc021c3e85d56474b5c55fbe86608442a84b2bf093b7d75f53a47250e1c70c\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 041955ba3f90e7a739471a5d182b594c9747eb49d5356203f3bb8b939c807d88ce3a0885bfa5b5b7f6e9beb18285e7130524b6c1498b3269ee]\n[key.wx = 1955ba3f90e7a739471a5d182b594c9747eb49d5356203f3bb8b939c]\n[key.wy = 00807d88ce3a0885bfa5b5b7f6e9beb18285e7130524b6c1498b3269ee]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00041955ba3f90e7a739471a5d182b594c9747eb49d5356203f3bb8b939c807d88ce3a0885bfa5b5b7f6e9beb18285e7130524b6c1498b3269ee]\n[sha = SHA-224]\n\n# tcId = 269\n# 100-bit r and small s^-1\nmsg = 313233343030\nresult = valid\nsig = 302d020d1033e67e37b32b445580bf4efb021c02fd02fd02fd02fd02fd02fd02fd0043a4fd2da317247308c74dc6b8\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 045cb9e5a5071f2b37aa3a5e5f389f54f996b0bc8a132ecb6885318fbf4ec5f8b93d8bf2a3b64fa7cac316392562c46567963c43a69f7a37fd]\n[key.wx = 5cb9e5a5071f2b37aa3a5e5f389f54f996b0bc8a132ecb6885318fbf]\n[key.wy = 4ec5f8b93d8bf2a3b64fa7cac316392562c46567963c43a69f7a37fd]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00045cb9e5a5071f2b37aa3a5e5f389f54f996b0bc8a132ecb6885318fbf4ec5f8b93d8bf2a3b64fa7cac316392562c46567963c43a69f7a37fd]\n[sha = SHA-224]\n\n# tcId = 270\n# small r and 100 bit s^-1\nmsg = 313233343030\nresult = valid\nsig = 302302020100021d00d05434abacd859ed74185e75b751c6d9f60c7921dacfbb8e19cdba8e\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 047b34ef8723a4309c0fa8a7ec3a783477652a82892370f6763314fe7bdee663853071e35fd3c76f991d7843c5e168ca659b93bd6015518fba]\n[key.wx = 7b34ef8723a4309c0fa8a7ec3a783477652a82892370f6763314fe7b]\n[key.wy = 00dee663853071e35fd3c76f991d7843c5e168ca659b93bd6015518fba]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00047b34ef8723a4309c0fa8a7ec3a783477652a82892370f6763314fe7bdee663853071e35fd3c76f991d7843c5e168ca659b93bd6015518fba]\n[sha = SHA-224]\n\n# tcId = 271\n# 100-bit r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 302e020d062522bbd3ecbe7c39e93e7c24021d00d05434abacd859ed74185e75b751c6d9f60c7921dacfbb8e19cdba8e\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0403f26a9c13979cf5d090ea25dc966398022ceec31504abc4b10f76767d577dcf47e10e384c6b9a229a455a9fd33e54fe7960b8b0160aef16]\n[key.wx = 03f26a9c13979cf5d090ea25dc966398022ceec31504abc4b10f7676]\n[key.wy = 7d577dcf47e10e384c6b9a229a455a9fd33e54fe7960b8b0160aef16]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000403f26a9c13979cf5d090ea25dc966398022ceec31504abc4b10f76767d577dcf47e10e384c6b9a229a455a9fd33e54fe7960b8b0160aef16]\n[sha = SHA-224]\n\n# tcId = 272\n# r and s^-1 are close to n\nmsg = 313233343030\nresult = valid\nsig = 303d021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c29bd021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04b671296dd5f690502e4b1500e4acb4c82d3aa8dfbc5868a643f86a3ca46ba8c3a7b823259522291e2416232276cca8503cc8dbf941f1d93d]\n[key.wx = 00b671296dd5f690502e4b1500e4acb4c82d3aa8dfbc5868a643f86a3c]\n[key.wy = 00a46ba8c3a7b823259522291e2416232276cca8503cc8dbf941f1d93d]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b671296dd5f690502e4b1500e4acb4c82d3aa8dfbc5868a643f86a3ca46ba8c3a7b823259522291e2416232276cca8503cc8dbf941f1d93d]\n[sha = SHA-224]\n\n# tcId = 273\n# s == 1\nmsg = 313233343030\nresult = valid\nsig = 3021021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14020101\n\n# tcId = 274\n# s == 0\nmsg = 313233343030\nresult = invalid\nsig = 3021021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14020100\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0476e34b57a8c61df59cb0b7921cec6e5422344033f7accb7b3179e682cefd0a848309d1decf98a3b9e333691b95c17821cb681137630c02e2]\n[key.wx = 76e34b57a8c61df59cb0b7921cec6e5422344033f7accb7b3179e682]\n[key.wy = 00cefd0a848309d1decf98a3b9e333691b95c17821cb681137630c02e2]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000476e34b57a8c61df59cb0b7921cec6e5422344033f7accb7b3179e682cefd0a848309d1decf98a3b9e333691b95c17821cb681137630c02e2]\n[sha = SHA-224]\n\n# tcId = 275\n# point at infinity during verify\nmsg = 313233343030\nresult = invalid\nsig = 303c021c7fffffffffffffffffffffffffff8b51705c781f09ee94a2ae2e151e021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0451839e545c872f4a381f278ed5b4c24cf38aac77b02953405618bf27394e41226594c499db6a7dd7a6901bda5e6474b1ffa10a6567210010]\n[key.wx = 51839e545c872f4a381f278ed5b4c24cf38aac77b02953405618bf27]\n[key.wy = 394e41226594c499db6a7dd7a6901bda5e6474b1ffa10a6567210010]\n", + "[keyDer = 304e301006072a8648ce3d020106052b81040021033a000451839e545c872f4a381f278ed5b4c24cf38aac77b02953405618bf27394e41226594c499db6a7dd7a6901bda5e6474b1ffa10a6567210010]\n[sha = SHA-224]\n\n# tcId = 276\n# edge case for signature malleability\nmsg = 313233343030\nresult = valid\nsig = 303c021c7fffffffffffffffffffffffffff8b51705c781f09ee94a2ae2e151f021c7fffffffffffffffffffffffffff8b51705c781f09ee94a2ae2e151e\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04a3ec90053d1e100815d1becfe96c9b3646e52df794f6b03b766a7574c3b7e17e73acc8cefe71b6eb13d4f1c94c57e58bee43c69d9d41a964]\n[key.wx = 00a3ec90053d1e100815d1becfe96c9b3646e52df794f6b03b766a7574]\n[key.wy = 00c3b7e17e73acc8cefe71b6eb13d4f1c94c57e58bee43c69d9d41a964]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004a3ec90053d1e100815d1becfe96c9b3646e52df794f6b03b766a7574c3b7e17e73acc8cefe71b6eb13d4f1c94c57e58bee43c69d9d41a964]\n[sha = SHA-224]\n\n# tcId = 277\n# edge case for signature malleability\nmsg = 313233343030\nresult = valid\nsig = 303c021c7fffffffffffffffffffffffffff8b51705c781f09ee94a2ae2e151f021c7fffffffffffffffffffffffffff8b51705c781f09ee94a2ae2e151f\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04b5c09b4851a67371eee7bbf02451e5208c40de61bc1a33df2710b384dcce4e5b83c32a800e8de28fa936d582cdcad185e894caac797f1d14]\n[key.wx = 00b5c09b4851a67371eee7bbf02451e5208c40de61bc1a33df2710b384]\n[key.wy = 00dcce4e5b83c32a800e8de28fa936d582cdcad185e894caac797f1d14]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b5c09b4851a67371eee7bbf02451e5208c40de61bc1a33df2710b384dcce4e5b83c32a800e8de28fa936d582cdcad185e894caac797f1d14]\n[sha = SHA-224]\n\n# tcId = 278\n# u1 == 1\nmsg = 313233343030\nresult = valid\nsig = 303c021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04941e283be31300bfd4f6a12b876fd3267352551cc49e9eef73f76538c115e5fe3b92f643c6cef1c58f3f8657574d1f64957d4880995cde83]\n[key.wx = 00941e283be31300bfd4f6a12b876fd3267352551cc49e9eef73f76538]\n[key.wy = 00c115e5fe3b92f643c6cef1c58f3f8657574d1f64957d4880995cde83]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004941e283be31300bfd4f6a12b876fd3267352551cc49e9eef73f76538c115e5fe3b92f643c6cef1c58f3f8657574d1f64957d4880995cde83]\n[sha = SHA-224]\n\n# tcId = 279\n# u1 == n - 1\nmsg = 313233343030\nresult = valid\nsig = 303d021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021d008ac44bff876cbf7e2842eec13b63fcb3d6e7360aca5698f3ef0f1811\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0443c9ccd08a80bca18022722b0bdcd790d82a3ef8b65c3f34204bb4729ee1c1f00598130b2313a3e38a3798d03dac665cff20f36ce8a2024a]\n[key.wx = 43c9ccd08a80bca18022722b0bdcd790d82a3ef8b65c3f34204bb472]\n[key.wy = 009ee1c1f00598130b2313a3e38a3798d03dac665cff20f36ce8a2024a]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000443c9ccd08a80bca18022722b0bdcd790d82a3ef8b65c3f34204bb4729ee1c1f00598130b2313a3e38a3798d03dac665cff20f36ce8a2024a]\n[sha = SHA-224]\n\n# tcId = 280\n# u2 == 1\nmsg = 313233343030\nresult = valid\nsig = 303c021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04d958e418fad1c5ea5c923e6185e03ed5539d3f5f58dfac8bb9f104596997e408c97be5fdc037a5c004389d4b97eb1f54635e985853c1f082]\n[key.wx = 00d958e418fad1c5ea5c923e6185e03ed5539d3f5f58dfac8bb9f10459]\n[key.wy = 6997e408c97be5fdc037a5c004389d4b97eb1f54635e985853c1f082]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004d958e418fad1c5ea5c923e6185e03ed5539d3f5f58dfac8bb9f104596997e408c97be5fdc037a5c004389d4b97eb1f54635e985853c1f082]\n[sha = SHA-224]\n\n# tcId = 281\n# u2 == n - 1\nmsg = 313233343030\nresult = valid\nsig = 303d021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021d00aaaaaaaaaaaaaaaaaaaaaaaaaaaa0f17407b4ad40d3e1b8392e81c29\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04d629b434c9b5d157bd72e114fd839553f7f0e94600934a0a49e59aa4713a13c01775e75e2ebae75d9e29d2506184177b7dd0868693873596]\n[key.wx = 00d629b434c9b5d157bd72e114fd839553f7f0e94600934a0a49e59aa4]\n[key.wy = 713a13c01775e75e2ebae75d9e29d2506184177b7dd0868693873596]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004d629b434c9b5d157bd72e114fd839553f7f0e94600934a0a49e59aa4713a13c01775e75e2ebae75d9e29d2506184177b7dd0868693873596]\n[sha = SHA-224]\n\n# tcId = 282\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00d1be91557d866ad5f2945b14ec3317bc43c1338fd06af6496201cce2\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 043d2e9bb9a712bf3ad42ac30659fdbda9be9956537f9f37cd05f0ff377d5982d6d9266d774942c44d9eb3501051d3b9688610131e7856ef36]\n[key.wx = 3d2e9bb9a712bf3ad42ac30659fdbda9be9956537f9f37cd05f0ff37]\n[key.wy = 7d5982d6d9266d774942c44d9eb3501051d3b9688610131e7856ef36]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00043d2e9bb9a712bf3ad42ac30659fdbda9be9956537f9f37cd05f0ff377d5982d6d9266d774942c44d9eb3501051d3b9688610131e7856ef36]\n[sha = SHA-224]\n\n# tcId = 283\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c7ac54a381d9bd3f2698359d6f658b5e4167d15a75b576e82d2efbd37\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04a0be2f10144b9b42b016f1bd9fca30e4c24aae4775596c7cdb07ae60d60ff3a70f1541631f6087d3f3b3fe376d2305b50b94821106412479]\n[key.wx = 00a0be2f10144b9b42b016f1bd9fca30e4c24aae4775596c7cdb07ae60]\n[key.wy = 00d60ff3a70f1541631f6087d3f3b3fe376d2305b50b94821106412479]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004a0be2f10144b9b42b016f1bd9fca30e4c24aae4775596c7cdb07ae60d60ff3a70f1541631f6087d3f3b3fe376d2305b50b94821106412479]\n[sha = SHA-224]\n\n# tcId = 284\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c4fbb063e82402e16fe14edda4d7986b0b88344a1f53b0e2684ee7e31\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 044d74397a586c8ac5e326bed03720bde7037e4a07aee7209f70493cab106778bfd081d17ab6dcb8fd8a454962941c26ecc19cda9fb77719db]\n[key.wx = 4d74397a586c8ac5e326bed03720bde7037e4a07aee7209f70493cab]\n[key.wy = 106778bfd081d17ab6dcb8fd8a454962941c26ecc19cda9fb77719db]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00044d74397a586c8ac5e326bed03720bde7037e4a07aee7209f70493cab106778bfd081d17ab6dcb8fd8a454962941c26ecc19cda9fb77719db]\n[sha = SHA-224]\n\n# tcId = 285\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00d3be5f50d726f99b8ac44bff876bfe78dd7ae630d227ef0ba87ae39b\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 048c2f149b1738243f81a6f12135395a2ba2718863622e66e33efc241f5638cf6ae9cfb39578cf3a719702052e5e9e940216c5136dcb6ef085]\n[key.wx = 008c2f149b1738243f81a6f12135395a2ba2718863622e66e33efc241f]\n[key.wy = 5638cf6ae9cfb39578cf3a719702052e5e9e940216c5136dcb6ef085]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00048c2f149b1738243f81a6f12135395a2ba2718863622e66e33efc241f5638cf6ae9cfb39578cf3a719702052e5e9e940216c5136dcb6ef085]\n[sha = SHA-224]\n\n# tcId = 286\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00e5f50d726f99b8ac44bff876cbf710e47f9087d1afdfb1dab6d6daf1\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04ad5227e48afaa165e7b97ef8210687556e10643fda8a377aaf4f5bf412e86d4ae55f4460aba6a932f307ee78efdc136e9a3df6313100bf4f]\n[key.wx = 00ad5227e48afaa165e7b97ef8210687556e10643fda8a377aaf4f5bf4]\n[key.wy = 12e86d4ae55f4460aba6a932f307ee78efdc136e9a3df6313100bf4f]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004ad5227e48afaa165e7b97ef8210687556e10643fda8a377aaf4f5bf412e86d4ae55f4460aba6a9", + "32f307ee78efdc136e9a3df6313100bf4f]\n[sha = SHA-224]\n\n# tcId = 287\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00cbea1ae4df337158897ff0ed97ef0b261e681f654be23a7011518ba5\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 043fb94a3165ecdef43fa27907ed075caf52c25420ac7bc7bb90408992023c4d7b4775b591ae223dd4da9ceaabd73b9743ddab8b40576e393f]\n[key.wx = 3fb94a3165ecdef43fa27907ed075caf52c25420ac7bc7bb90408992]\n[key.wy = 023c4d7b4775b591ae223dd4da9ceaabd73b9743ddab8b40576e393f]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00043fb94a3165ecdef43fa27907ed075caf52c25420ac7bc7bb90408992023c4d7b4775b591ae223dd4da9ceaabd73b9743ddab8b40576e393f]\n[sha = SHA-224]\n\n# tcId = 288\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00d726f99b8ac44bff876cbf7e28422aa07ec3cb1d9472bd704f4029f0\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04e45fcf0a7f4dc2a308dc7868251423fbf71a205a9546850a01a732fc9a73ca4d41175076f2f362b276ecb0ccdb6e0bb30c4a1b35c2e3ed82]\n[key.wx = 00e45fcf0a7f4dc2a308dc7868251423fbf71a205a9546850a01a732fc]\n[key.wy = 009a73ca4d41175076f2f362b276ecb0ccdb6e0bb30c4a1b35c2e3ed82]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004e45fcf0a7f4dc2a308dc7868251423fbf71a205a9546850a01a732fc9a73ca4d41175076f2f362b276ecb0ccdb6e0bb30c4a1b35c2e3ed82]\n[sha = SHA-224]\n\n# tcId = 289\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d009720b755413cca9506b5d27589e58ac4bed856762ba7ae20ab5b43cc\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 043c59e13982fd9c1a45991b1e9d79e939a52a62ca479764f1477e28131b004c9bffd7f00c05e3168c625cc93ab7a0f1ba8d6fa26a4d5162cb]\n[key.wx = 3c59e13982fd9c1a45991b1e9d79e939a52a62ca479764f1477e2813]\n[key.wy = 1b004c9bffd7f00c05e3168c625cc93ab7a0f1ba8d6fa26a4d5162cb]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00043c59e13982fd9c1a45991b1e9d79e939a52a62ca479764f1477e28131b004c9bffd7f00c05e3168c625cc93ab7a0f1ba8d6fa26a4d5162cb]\n[sha = SHA-224]\n\n# tcId = 290\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c2e416eaa8279952a0d6ba4eb13cbfee69cf7bcae437232fbfa5a5d5b\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04c6b8ff152d7a1b7a99ce3483bdeaaf5bd2ce64dc6b0f89cf3544b87c053ab6cf9cb510dc1440ab4e412a167f4c69365fcfc97f31d5ba4581]\n[key.wx = 00c6b8ff152d7a1b7a99ce3483bdeaaf5bd2ce64dc6b0f89cf3544b87c]\n[key.wy = 053ab6cf9cb510dc1440ab4e412a167f4c69365fcfc97f31d5ba4581]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004c6b8ff152d7a1b7a99ce3483bdeaaf5bd2ce64dc6b0f89cf3544b87c053ab6cf9cb510dc1440ab4e412a167f4c69365fcfc97f31d5ba4581]\n[sha = SHA-224]\n\n# tcId = 291\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00c56225ffc3b65fbf142177609db189ab5bd013246f19e11ca5b5a127\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 047c0772fb6553c0ec0dd1f73b5db380764d9f2f7afb4eac1e774dacd56e2e5de0db63bf03cf9675eae6d2dfe5424e79ab394951c9b60ad5df]\n[key.wx = 7c0772fb6553c0ec0dd1f73b5db380764d9f2f7afb4eac1e774dacd5]\n[key.wy = 6e2e5de0db63bf03cf9675eae6d2dfe5424e79ab394951c9b60ad5df]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00047c0772fb6553c0ec0dd1f73b5db380764d9f2f7afb4eac1e774dacd56e2e5de0db63bf03cf9675eae6d2dfe5424e79ab394951c9b60ad5df]\n[sha = SHA-224]\n\n# tcId = 292\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00a7dd831f4120170b7f0a76ed26bc4ea9cc9e1a70048c1bb5f0a55437\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 044108e0ccd47cba09fb7ed4d9f3455823780965157861c1bf8f93d34b46d6fdb71e9e89adaae71376b13fd17644b11eed00d498783da0ba1a]\n[key.wx = 4108e0ccd47cba09fb7ed4d9f3455823780965157861c1bf8f93d34b]\n[key.wy = 46d6fdb71e9e89adaae71376b13fd17644b11eed00d498783da0ba1a]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00044108e0ccd47cba09fb7ed4d9f3455823780965157861c1bf8f93d34b46d6fdb71e9e89adaae71376b13fd17644b11eed00d498783da0ba1a]\n[sha = SHA-224]\n\n# tcId = 293\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c7fffffffffffffffffffffffffffb2364ae85014b149b86c741eb8be\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 042f2da40a1b72f67ba63613a243119c41c7252839cf106e86b5d8e6e35a1e0e2fc49b4f316f0c0e7236785749eb34ce923c23aef330af8733]\n[key.wx = 2f2da40a1b72f67ba63613a243119c41c7252839cf106e86b5d8e6e3]\n[key.wy = 5a1e0e2fc49b4f316f0c0e7236785749eb34ce923c23aef330af8733]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00042f2da40a1b72f67ba63613a243119c41c7252839cf106e86b5d8e6e35a1e0e2fc49b4f316f0c0e7236785749eb34ce923c23aef330af8733]\n[sha = SHA-224]\n\n# tcId = 294\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00855f5b2dc8e46ec428a593f73219cf65dae793e8346e30cc3701309c\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 047dc09710f4f586af05b08f0c9dcd48b1308733c97767fc286d1c72834353a704c7950b8f4a11394bc8db06adccf19d8ed95c7f214a173137]\n[key.wx = 7dc09710f4f586af05b08f0c9dcd48b1308733c97767fc286d1c7283]\n[key.wy = 4353a704c7950b8f4a11394bc8db06adccf19d8ed95c7f214a173137]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00047dc09710f4f586af05b08f0c9dcd48b1308733c97767fc286d1c72834353a704c7950b8f4a11394bc8db06adccf19d8ed95c7f214a173137]\n[sha = SHA-224]\n\n# tcId = 295\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c2db5f61aea817276af2064e104c7a30e32034cb526dd0aacfa56566f\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04dbb439e2c3e9d1822b94ccc7d98c9fcb668e65dd6a759ad2dfdcd32882663234e6da512d7d7d5fe79156ad0e19ffc62d618e3cf48276106d]\n[key.wx = 00dbb439e2c3e9d1822b94ccc7d98c9fcb668e65dd6a759ad2dfdcd328]\n[key.wy = 0082663234e6da512d7d7d5fe79156ad0e19ffc62d618e3cf48276106d]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004dbb439e2c3e9d1822b94ccc7d98c9fcb668e65dd6a759ad2dfdcd32882663234e6da512d7d7d5fe79156ad0e19ffc62d618e3cf48276106d]\n[sha = SHA-224]\n\n# tcId = 296\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d0084a6c7513e5f48c07fffffffffff8713f3cba1293e4f3e95597fe6bd\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04e012dc20cca5bd2adfaa27f57419596ce09ed0f18a9148e30a0f6ed255beca1b5e3e2485ef9537ae48a67b72dbcf6d7b33372023a5c443e8]\n[key.wx = 00e012dc20cca5bd2adfaa27f57419596ce09ed0f18a9148e30a0f6ed2]\n[key.wy = 55beca1b5e3e2485ef9537ae48a67b72dbcf6d7b33372023a5c443e8]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004e012dc20cca5bd2adfaa27f57419596ce09ed0f18a9148e30a0f6ed255beca1b5e3e2485ef9537ae48a67b72dbcf6d7b33372023a5c443e8]\n[sha = SHA-224]\n\n# tcId = 297\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c6c7513e5f48c07ffffffffffffff9d21fd1b31544cb13ca86a75b25e\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04c510ab34abd4855c54d62407abe6ca090c73ba49aca9de9bf117bca242b3b00c272c22681af7c255120fac148ad73c81b47846e4ad2f5627]\n[key.wx = 00c510ab34abd4855c54d62407abe6ca090c73ba49aca9de9bf117bca2]\n[key.wy = 42b3b00c272c22681af7c255120fac148ad73c81b47846e4ad2f5627]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004c510ab34abd4855c54d62407abe6ca090c73ba49aca9de9bf117bca242b3b00c272c22681af7c255120fac148ad73c81b47846e4ad2f5627]\n[sha = SHA-224]\n\n# tcId = 298\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffff", + "ffffffffffffffffffffffffffffffffd021d00d8ea27cbe9180fffffffffffffff3a43fa3662a899627950d4eb64bc\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0408a6e167536a47aaa224fec21ce077642efdb97d93ae16b9672279f433fb9f1abb25f2c0c3e6008ac857ede4a89ca8d9d08b8996614969ac]\n[key.wx = 08a6e167536a47aaa224fec21ce077642efdb97d93ae16b9672279f4]\n[key.wy = 33fb9f1abb25f2c0c3e6008ac857ede4a89ca8d9d08b8996614969ac]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000408a6e167536a47aaa224fec21ce077642efdb97d93ae16b9672279f433fb9f1abb25f2c0c3e6008ac857ede4a89ca8d9d08b8996614969ac]\n[sha = SHA-224]\n\n# tcId = 299\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c3e5f48c07fffffffffffffffffffc724968c0ecf9ed783744a7337b3\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 041a83e185fcf30e6c69cf292e497d63cc04e6fd07cb9365a74be3c39c6b2d56247df49cf94176c4e8efc84ec710cd0d614dd066c16f6ad3e0]\n[key.wx = 1a83e185fcf30e6c69cf292e497d63cc04e6fd07cb9365a74be3c39c]\n[key.wy = 6b2d56247df49cf94176c4e8efc84ec710cd0d614dd066c16f6ad3e0]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00041a83e185fcf30e6c69cf292e497d63cc04e6fd07cb9365a74be3c39c6b2d56247df49cf94176c4e8efc84ec710cd0d614dd066c16f6ad3e0]\n[sha = SHA-224]\n\n# tcId = 300\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00bfffffffffffffffffffffffffff3d87bb44c833bb384d0f224ccdde\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 042d59efd841a44b83fd42e6a2984a53fa93ad242c11678f92202cccfb95bcaf0b2f6eb0e6d4d83e3260e037d3dc0e48ab6c4141ce6b56cad0]\n[key.wx = 2d59efd841a44b83fd42e6a2984a53fa93ad242c11678f92202cccfb]\n[key.wy = 0095bcaf0b2f6eb0e6d4d83e3260e037d3dc0e48ab6c4141ce6b56cad0]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00042d59efd841a44b83fd42e6a2984a53fa93ad242c11678f92202cccfb95bcaf0b2f6eb0e6d4d83e3260e037d3dc0e48ab6c4141ce6b56cad0]\n[sha = SHA-224]\n\n# tcId = 301\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c7fffffffffffffffffffffffffff646c95d0a029629370d8e83d717f\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 041161c7add6f67f995b93e19eb18bd5e73fd71d6bb10dceef0b792e9c08c44cef9826b4ed67508c09d07ec857a0ea49ed1a7f1fa2c74cb838]\n[key.wx = 1161c7add6f67f995b93e19eb18bd5e73fd71d6bb10dceef0b792e9c]\n[key.wy = 08c44cef9826b4ed67508c09d07ec857a0ea49ed1a7f1fa2c74cb838]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00041161c7add6f67f995b93e19eb18bd5e73fd71d6bb10dceef0b792e9c08c44cef9826b4ed67508c09d07ec857a0ea49ed1a7f1fa2c74cb838]\n[sha = SHA-224]\n\n# tcId = 302\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c3fffffffffffffffffffffffffff8b51705c781f09ee94a2ae2e1520\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0484dc3d2ebfcf3480713baeff30ad0781bc8c4d06ab6ddd4f7f1045af7570537c5d71a78b1a041aca0fe35f642824abda8c3ff2e9fcf5c8cb]\n[key.wx = 0084dc3d2ebfcf3480713baeff30ad0781bc8c4d06ab6ddd4f7f1045af]\n[key.wy = 7570537c5d71a78b1a041aca0fe35f642824abda8c3ff2e9fcf5c8cb]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000484dc3d2ebfcf3480713baeff30ad0781bc8c4d06ab6ddd4f7f1045af7570537c5d71a78b1a041aca0fe35f642824abda8c3ff2e9fcf5c8cb]\n[sha = SHA-224]\n\n# tcId = 303\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d0096dafb0d7540b93b5790327082635cd8895e1e799d5d19f92b594056\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 041767574e645c550ef3d353f76d4428f9616ac288b36378857de332629fe09825a57f3a0ec11189f4560272297ab6d5e095401febb60d0dc9]\n[key.wx = 1767574e645c550ef3d353f76d4428f9616ac288b36378857de33262]\n[key.wy = 009fe09825a57f3a0ec11189f4560272297ab6d5e095401febb60d0dc9]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00041767574e645c550ef3d353f76d4428f9616ac288b36378857de332629fe09825a57f3a0ec11189f4560272297ab6d5e095401febb60d0dc9]\n[sha = SHA-224]\n\n# tcId = 304\n# point duplication during verification\nmsg = 313233343030\nresult = valid\nsig = 303d021d00c44503dae85dd5210780f02928b3d927171c578f8603d16b240663c7021c1ef359e4bd146f63d8155c5c2523fa3353c9820f84f28150bad3819a\nflags = PointDuplication\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 041767574e645c550ef3d353f76d4428f9616ac288b36378857de33262601f67da5a80c5f13eee760ba9fd8dd585492a1f6abfe01449f2f238]\n[key.wx = 1767574e645c550ef3d353f76d4428f9616ac288b36378857de33262]\n[key.wy = 601f67da5a80c5f13eee760ba9fd8dd585492a1f6abfe01449f2f238]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00041767574e645c550ef3d353f76d4428f9616ac288b36378857de33262601f67da5a80c5f13eee760ba9fd8dd585492a1f6abfe01449f2f238]\n[sha = SHA-224]\n\n# tcId = 305\n# duplication bug\nmsg = 313233343030\nresult = invalid\nsig = 303d021d00c44503dae85dd5210780f02928b3d927171c578f8603d16b240663c7021c1ef359e4bd146f63d8155c5c2523fa3353c9820f84f28150bad3819a\nflags = PointDuplication\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04e2ef8c8ccb58eba287d9279b349e7652cca3e7cda188a5f179d77142f87594f3664c0faf7b59670e353a370d1d68ad89d6a1e246b4d03bee]\n[key.wx = 00e2ef8c8ccb58eba287d9279b349e7652cca3e7cda188a5f179d77142]\n[key.wy = 00f87594f3664c0faf7b59670e353a370d1d68ad89d6a1e246b4d03bee]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004e2ef8c8ccb58eba287d9279b349e7652cca3e7cda188a5f179d77142f87594f3664c0faf7b59670e353a370d1d68ad89d6a1e246b4d03bee]\n[sha = SHA-224]\n\n# tcId = 306\n# comparison with point at infinity \nmsg = 313233343030\nresult = invalid\nsig = 303c021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021c33333333333333333333333333330486f9be9672d0c5d50ddf45a20c\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04b8bf3ef9646abfffb84220104ec996a92cef33f9328ec4cb1ea699484fea51a0de9e9d801babd42ca0924b36498bc5900fbeb9cbd5ad9c1a]\n[key.wx = 00b8bf3ef9646abfffb84220104ec996a92cef33f9328ec4cb1ea69948]\n[key.wy = 4fea51a0de9e9d801babd42ca0924b36498bc5900fbeb9cbd5ad9c1a]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b8bf3ef9646abfffb84220104ec996a92cef33f9328ec4cb1ea699484fea51a0de9e9d801babd42ca0924b36498bc5900fbeb9cbd5ad9c1a]\n[sha = SHA-224]\n\n# tcId = 307\n# extreme value for k and edgecase s\nmsg = 313233343030\nresult = valid\nsig = 303c021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04286e80429c8796dcd885d95f960d209fed19f87e2ce423d166c8e2202e30882c09970d5dd58b67e5bb80affec74248a9cb4a783384c8b6a0]\n[key.wx = 286e80429c8796dcd885d95f960d209fed19f87e2ce423d166c8e220]\n[key.wy = 2e30882c09970d5dd58b67e5bb80affec74248a9cb4a783384c8b6a0]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004286e80429c8796dcd885d95f960d209fed19f87e2ce423d166c8e2202e30882c09970d5dd58b67e5bb80affec74248a9cb4a783384c8b6a0]\n[sha = SHA-224]\n\n# tcId = 308\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303d021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021d00db6db6db6db6db6db6db6db6db6ceed4c09e84c77ebd9116e17391eb\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 045599a3faf96aba7302bd3d98cfde69525b7292762383f4a0b5c310393faa45feb6c35d2b7bf25ffc633c420ebfc4e715765302c5a11ac793]\n[key.wx = 5599a3faf96aba7302bd3d98cfde69525b7292762383f4a0b5c31039]\n[key.wy = 3faa45feb6c35d2b7bf25ffc633c420ebfc4e715765302c5a11ac793]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00045599a3faf96aba7302bd3d98cfde69525b7292762383f4a0b5c310393faa45feb6c35d2b7bf25ffc633c420ebfc4e715765302c5a11ac793]\n[sha = SHA-224]\n\n# tcId = 309\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303c021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1", + "a704fa6021c33333333333333333333333333330486f9be9672d0c5d50ddf45a20c\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 045b5234b8db6bbd396eae7d1ca4e6d877824c98cde9fbfab34b6b8ccb1f38ae9f87adc3e6d2474eb5e3cd9aeff0927320214be550f5e62ed4]\n[key.wx = 5b5234b8db6bbd396eae7d1ca4e6d877824c98cde9fbfab34b6b8ccb]\n[key.wy = 1f38ae9f87adc3e6d2474eb5e3cd9aeff0927320214be550f5e62ed4]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00045b5234b8db6bbd396eae7d1ca4e6d877824c98cde9fbfab34b6b8ccb1f38ae9f87adc3e6d2474eb5e3cd9aeff0927320214be550f5e62ed4]\n[sha = SHA-224]\n\n# tcId = 310\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303d021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021d00cccccccccccccccccccccccccccc121be6fa59cb431754377d168831\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04aced4ea8949e5ae37ef2f5eb5e00675d08e17c34be6677b0f269b6725e3ad0af49ebfff415ee4f2a838ead1f84cafaa652c17acc26130725]\n[key.wx = 00aced4ea8949e5ae37ef2f5eb5e00675d08e17c34be6677b0f269b672]\n[key.wy = 5e3ad0af49ebfff415ee4f2a838ead1f84cafaa652c17acc26130725]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004aced4ea8949e5ae37ef2f5eb5e00675d08e17c34be6677b0f269b6725e3ad0af49ebfff415ee4f2a838ead1f84cafaa652c17acc26130725]\n[sha = SHA-224]\n\n# tcId = 311\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303c021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021c249249249249249249249249249227ce201a6b76951f982e7ae89852\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 043e8c1bcc16195e8769e25d4c859807dffe178bed5bca9db06efa15324e3b53b3048b8ccd8cdc1265be240c8ee204060486a99ad31eaad3a4]\n[key.wx = 3e8c1bcc16195e8769e25d4c859807dffe178bed5bca9db06efa1532]\n[key.wy = 4e3b53b3048b8ccd8cdc1265be240c8ee204060486a99ad31eaad3a4]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00043e8c1bcc16195e8769e25d4c859807dffe178bed5bca9db06efa15324e3b53b3048b8ccd8cdc1265be240c8ee204060486a99ad31eaad3a4]\n[sha = SHA-224]\n\n# tcId = 312\n# extreme value for k\nmsg = 313233343030\nresult = valid\nsig = 303c021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021c0eb10e5ab95facded4061029d63a46f46f12947411f2ea561a592057\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0424819323b7be8ab0910f7f33bd2f7669c44b13f09479965e95287d13b0592345beafbfdb8cf3629269bdd817728d5d5cd3c28bc6c6414a70]\n[key.wx = 24819323b7be8ab0910f7f33bd2f7669c44b13f09479965e95287d13]\n[key.wy = 00b0592345beafbfdb8cf3629269bdd817728d5d5cd3c28bc6c6414a70]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000424819323b7be8ab0910f7f33bd2f7669c44b13f09479965e95287d13b0592345beafbfdb8cf3629269bdd817728d5d5cd3c28bc6c6414a70]\n[sha = SHA-224]\n\n# tcId = 313\n# extreme value for k and edgecase s\nmsg = 313233343030\nresult = valid\nsig = 303d021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0444cf57bac30a83da39f90bf3faacd52211a70fb92547db7778ea6c812b3fd1bf14688d2770c50cd5a890a3807ba0e8612136a1b11e030f82]\n[key.wx = 44cf57bac30a83da39f90bf3faacd52211a70fb92547db7778ea6c81]\n[key.wy = 2b3fd1bf14688d2770c50cd5a890a3807ba0e8612136a1b11e030f82]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000444cf57bac30a83da39f90bf3faacd52211a70fb92547db7778ea6c812b3fd1bf14688d2770c50cd5a890a3807ba0e8612136a1b11e030f82]\n[sha = SHA-224]\n\n# tcId = 314\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303e021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021d00db6db6db6db6db6db6db6db6db6ceed4c09e84c77ebd9116e17391eb\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04dc17f1001d326127f7375cffa70b7530bca4da1040dc43d0044aaca07a146f04c5294cfe7e1ed587da55bae70b7fa8e32f6aa800314d01dd]\n[key.wx = 00dc17f1001d326127f7375cffa70b7530bca4da1040dc43d0044aaca0]\n[key.wy = 7a146f04c5294cfe7e1ed587da55bae70b7fa8e32f6aa800314d01dd]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004dc17f1001d326127f7375cffa70b7530bca4da1040dc43d0044aaca07a146f04c5294cfe7e1ed587da55bae70b7fa8e32f6aa800314d01dd]\n[sha = SHA-224]\n\n# tcId = 315\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303d021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021c33333333333333333333333333330486f9be9672d0c5d50ddf45a20c\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0468e2d7088eac18ba775bf68c5c509e86afd6f93451b4e4ee1d73e277e24ff4e27ef6c519db676d822c5db040482888013c8f3881bc9ac65a]\n[key.wx = 68e2d7088eac18ba775bf68c5c509e86afd6f93451b4e4ee1d73e277]\n[key.wy = 00e24ff4e27ef6c519db676d822c5db040482888013c8f3881bc9ac65a]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000468e2d7088eac18ba775bf68c5c509e86afd6f93451b4e4ee1d73e277e24ff4e27ef6c519db676d822c5db040482888013c8f3881bc9ac65a]\n[sha = SHA-224]\n\n# tcId = 316\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303e021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021d00cccccccccccccccccccccccccccc121be6fa59cb431754377d168831\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04cd4171adcb8be75e7734061a048b2bf228d167c2742d27f854392046865eb958ebd320ba87662ad3ac7af568c6be0f09be090bcfe083b3e5]\n[key.wx = 00cd4171adcb8be75e7734061a048b2bf228d167c2742d27f854392046]\n[key.wy = 00865eb958ebd320ba87662ad3ac7af568c6be0f09be090bcfe083b3e5]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004cd4171adcb8be75e7734061a048b2bf228d167c2742d27f854392046865eb958ebd320ba87662ad3ac7af568c6be0f09be090bcfe083b3e5]\n[sha = SHA-224]\n\n# tcId = 317\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303d021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021c249249249249249249249249249227ce201a6b76951f982e7ae89852\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04eefdf99ab69d1888772cabe21d406045e1beab82761a7040beeb7ed359718c889af80f22f320fbe662d5ea0f65dfb4a5589c294ce5b73359]\n[key.wx = 00eefdf99ab69d1888772cabe21d406045e1beab82761a7040beeb7ed3]\n[key.wy = 59718c889af80f22f320fbe662d5ea0f65dfb4a5589c294ce5b73359]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004eefdf99ab69d1888772cabe21d406045e1beab82761a7040beeb7ed359718c889af80f22f320fbe662d5ea0f65dfb4a5589c294ce5b73359]\n[sha = SHA-224]\n\n# tcId = 318\n# extreme value for k\nmsg = 313233343030\nresult = valid\nsig = 303d021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021c0eb10e5ab95facded4061029d63a46f46f12947411f2ea561a592057\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34]\n[key.wx = 00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21]\n[key.wy = 00bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34]\n[sha = SHA-224]\n\n# tcId = 319\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 303c021c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c021c249249249249249249249249249227ce201a6b76951f982e7ae89851\n\n# tcId = 320\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 303d021d008ac44bff876cbf7e2842eec13b63fcb3d6e7360aca5698f3ef0f1811021c249249249249249249249249249227ce201a6b76951f982e7ae89851\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d2142c89c774a08dc04b3dd201932bc8a5ea5f8b89bbb2a7e667aff81cd]\n[key.wx = 00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21]\n[key.wy = 42c89c774a08dc04b3dd201932bc8a5ea5f8b89bbb2a7e667aff81cd]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d2142c89c774a08dc04b3dd201932bc8a5e", + "a5f8b89bbb2a7e667aff81cd]\n[sha = SHA-224]\n\n# tcId = 321\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 303c021c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c021c249249249249249249249249249227ce201a6b76951f982e7ae89851\n\n# tcId = 322\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 303d021d008ac44bff876cbf7e2842eec13b63fcb3d6e7360aca5698f3ef0f1811021c249249249249249249249249249227ce201a6b76951f982e7ae89851\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 044c246670658a1d41f5d77bce246cbe386ac22848e269b9d4cd67c466ddd947153d39b2d42533a460def26880408caf2dd3dd48fe888cd176]\n[key.wx = 4c246670658a1d41f5d77bce246cbe386ac22848e269b9d4cd67c466]\n[key.wy = 00ddd947153d39b2d42533a460def26880408caf2dd3dd48fe888cd176]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00044c246670658a1d41f5d77bce246cbe386ac22848e269b9d4cd67c466ddd947153d39b2d42533a460def26880408caf2dd3dd48fe888cd176]\n[sha = SHA-224]\n\n# tcId = 323\n# pseudorandom signature\nmsg = \nresult = valid\nsig = 303d021c2770403d42b7b45e553308d1f6a480640b61cac0ae36665d6f14d34e021d0085506b0404265ededf9a89fc7c9c7a55c16c5b0d781f774de8f46fa1\n\n# tcId = 324\n# pseudorandom signature\nmsg = 4d7367\nresult = valid\nsig = 303d021d00b68da722bbba7f6a58417bb5d0dd88f40316fc628b0edfcb0f02b062021c5c742e330b6febadf9a12d58ba2a7199629457ef2e9e4cecd2f09f50\n\n# tcId = 325\n# pseudorandom signature\nmsg = 313233343030\nresult = valid\nsig = 303c021c01ec1ff15c8a55d697a5424d674753f82f711593828368d2fbb41a17021c20d9089db7baf46b8135e17e01645e732d22d5adb20e3772da740eee\n\n# tcId = 326\n# pseudorandom signature\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 303c021c3e46e9ba4dc089ff30fa8c0209c31b11ff49dbeec090f9f53c000c75021c6f2e3b36369416602bca83206809ed898fcf158a56c25a5474143f68\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04aed6fcad2400c4d94e55dbb6b012ce3d4c2b46843fbe99d4289e6ecf8a24a89e71343d7d151d258d2cb690349c2d56b366dd10a600000000]\n[key.wx = 00aed6fcad2400c4d94e55dbb6b012ce3d4c2b46843fbe99d4289e6ecf]\n[key.wy = 008a24a89e71343d7d151d258d2cb690349c2d56b366dd10a600000000]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004aed6fcad2400c4d94e55dbb6b012ce3d4c2b46843fbe99d4289e6ecf8a24a89e71343d7d151d258d2cb690349c2d56b366dd10a600000000]\n[sha = SHA-224]\n\n# tcId = 327\n# y-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c77b38da37079d27b837613ac3e8248d66eabd5d637076c8e62c7991e021d00d40cd9f81efc52db4429c0c1af7c1d8a22b6c7babbe7fbd8b5b3f02f\n\n# tcId = 328\n# y-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 303d021d008c03b32c166c0c8b99d7f876acd109447efb13f6b82945e78d51a269021c657568f1a0a8bd7df5ffa43097ebb2b64435c8e3335bcaafc63f9ed5\n\n# tcId = 329\n# y-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 303d021d00d199a375253d30f1d2b4493542e9934f9f1f8b0680117679f5bc4ad2021c11419ddbf02c8ad5f518f8dac33f86a85e777af51a034132e2767a6d\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04bf19ecfe43ffe289f699f479316145b9a7f7370b9ece5ab1212174f173d528949ae9142f818bade71a960407963be0b6482a6a60ffffffff]\n[key.wx = 00bf19ecfe43ffe289f699f479316145b9a7f7370b9ece5ab1212174f1]\n[key.wy = 73d528949ae9142f818bade71a960407963be0b6482a6a60ffffffff]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004bf19ecfe43ffe289f699f479316145b9a7f7370b9ece5ab1212174f173d528949ae9142f818bade71a960407963be0b6482a6a60ffffffff]\n[sha = SHA-224]\n\n# tcId = 330\n# y-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 303d021d008ff82699e2e82870be9cfdd8a408bb34f8f38a83a4ac8370f18f2bc8021c7e5008fab6a0d4159200077ef9918dad6592cd8359838852c636ac05\n\n# tcId = 331\n# y-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c3f3b60b529ae0f950c517264adf2e481616bc47416742d5103589660021d00f731ebe98e58384b3a64b4696d4cc9619828ad51d7c39980749709a6\n\n# tcId = 332\n# y-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 303d021d00dc11ffdc6b78754a335f168c4033916a2158d125a3f4fed9dc736661021c6dd84364717d9f4b0790f2b282f9245ecb316874eac025600397f109\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0426e5abf135cb54eaaa16b69e4b0b292275344e88a09df6df80000000eab891de54e3f26ff50ab989f333dac551583d468ae623c596434af0]\n[key.wx = 26e5abf135cb54eaaa16b69e4b0b292275344e88a09df6df80000000]\n[key.wy = 00eab891de54e3f26ff50ab989f333dac551583d468ae623c596434af0]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000426e5abf135cb54eaaa16b69e4b0b292275344e88a09df6df80000000eab891de54e3f26ff50ab989f333dac551583d468ae623c596434af0]\n[sha = SHA-224]\n\n# tcId = 333\n# x-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 303e021d00a59b25b786d55f26b04dfe90ee02a6bde64ed6e431dc9fbdc3ab360e021d00fc14b5ad20f39da9900e35437936c8626fccf6632e7a3d9e587e3311\n\n# tcId = 334\n# x-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c2eda1f96c1a6e3ad8a3321ce82cbb13a5b935b501abf6c06f7fd2b3f021d00e81050c3e5f53a3c7b9d0bdb9ed92a326dfeac44791ba1abe4d6e973\n\n# tcId = 335\n# x-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c60f5e093fda08fc14ac99d820a18ad1370c58150bea0aca24fc6db9d021d00c2220a0ebbf4896e68fdb5bd824f88291c1c862b916f9c4af87f8f5f\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04ec627f345545d03f8c6dbd08e575527116567fe375f9ecaaffffffff41bf705697d5f716bcf78718d5393b63a98691f4a1f24246375538fd]\n[key.wx = 00ec627f345545d03f8c6dbd08e575527116567fe375f9ecaaffffffff]\n[key.wy = 41bf705697d5f716bcf78718d5393b63a98691f4a1f24246375538fd]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004ec627f345545d03f8c6dbd08e575527116567fe375f9ecaaffffffff41bf705697d5f716bcf78718d5393b63a98691f4a1f24246375538fd]\n[sha = SHA-224]\n\n# tcId = 336\n# x-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c2ead37846a5e36a490b75140bdc7b636c6e9f6d8f980f6fadb08f769021d00e1fe130ae1798c196d7be62c7a5ddb3168cf4b8d48b6b6b4dc94ab3b\n\n# tcId = 337\n# x-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 303d021d00a8a4c9416d72c860573d073281cb08c86ad65313f06b15a329e82eb2021c5a6edd2f0816b7263d915d72c67d50a854e3abee5cde1b679a0cef09\n\n# tcId = 338\n# x-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 303c021c576bb86c517bfecdc930a4c8501725548d425afbb96d93f5c1e2a0e1021c77248c5ecd620c431438c50e6bee6858091b54a87f8548ae35c21027\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a00000000762d28f1fdc219184f81681fbff566d465b5f1f31e872df5]\n[key.wx = 15016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a]\n[key.wy = 762d28f1fdc219184f81681fbff566d465b5f1f31e872df5]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a00000000762d28f1fdc219184f81681fbff566d465b5f1f31e872df5]\n[sha = SHA-224]\n\n# tcId = 339\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c34e41cba628fd8787ba1a528f6015d2cae015c1c9a866e08a7133801021d0083d422ffdd99cc3c6d7096ef927f0b11988d1824e6e93840ff666ccd\n\n# tcId = 340\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303c021c2558a42e79689244bccd5e855f6a1e42b4ff726873f30b532b89ef53021c07f9bd947785187175d848b6e2d79f7ab3bbc1087b42590b0cfb256a\n\n# tcId = 341\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303e021d00d5fe7dd5fb4fd1ea5ce66c0824f53f96ce47fd9b6c63b4d57827fd17021d00bce5bc3af705afaacb81bfa6d552d6198962fece9fba41546c602ddc\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555affffffff89d2d70e023de6e7b07e97df400a9", + "92b9a4a0e0ce178d20c]\n[key.wx = 15016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a]\n[key.wy = 00ffffffff89d2d70e023de6e7b07e97df400a992b9a4a0e0ce178d20c]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555affffffff89d2d70e023de6e7b07e97df400a992b9a4a0e0ce178d20c]\n[sha = SHA-224]\n\n# tcId = 342\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303d021d008c1da2f07cdcbce4db8067b863468cfc728df52980229028689e57b6021c32175c1390a4b2cab6359bab9f854957d4fd7976c9c6d920c871c051\n\n# tcId = 343\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303e021d00e46d4f11b86b5a12f6fe781d1f934ef2b30e78f6f9cc86a9996e20c0021d008351974b965526034a0ccef0e7d3bc13d91798151488c91533143f7b\n\n# tcId = 344\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303c021c305ccf0b5d0cf33dc745bb7c7964c233f6cfd8892a1c1ae9f50b2f3f021c785f6e85f5e652587c6e15d0c45c427278cf65bb1429a57d8826ca39\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0400000000f7e4713d085112112c37cdf4601ff688da796016b71a727ade5a9ec165054cc987f9dc87e9991b92e4fa649ca655eeae9f2a30e1]\n[key.wx = 00f7e4713d085112112c37cdf4601ff688da796016b71a727a]\n[key.wy = 00de5a9ec165054cc987f9dc87e9991b92e4fa649ca655eeae9f2a30e1]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000400000000f7e4713d085112112c37cdf4601ff688da796016b71a727ade5a9ec165054cc987f9dc87e9991b92e4fa649ca655eeae9f2a30e1]\n[sha = SHA-224]\n\n# tcId = 345\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c0e4fde0ac8d37536505f7b8bdc2d22c5c334b064ac5ed27bea9c179e021d00c4d6bf829dd547000d6f70b9ad9e9c1503bebcf1d95c2608942ca19d\n\n# tcId = 346\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303e021d00818afcaf491da9d08a7cc29318d5e85dce568dcca7018059f44e9b7e021d00bf32a233d5fc6ed8e2d9270b1bdad4bbd2a0f2c293d289bd91ffbcf3\n\n# tcId = 347\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303c021c0e05ed675c673e5e70a4fdd5a47b114c5d542d4f6d7a367597d713ea021c26d70d65c48430373363987810bdcc556e02718eab214403ae008db4\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04ffffffffeadf7cee8d34d04cf22c8f7de35674fb2f501d242a76f72586c409309d398e60ce1e0a4c9e05a9d32627577e8ce2cc7f3afa2c3e]\n[key.wx = 00ffffffffeadf7cee8d34d04cf22c8f7de35674fb2f501d242a76f725]\n[key.wy = 0086c409309d398e60ce1e0a4c9e05a9d32627577e8ce2cc7f3afa2c3e]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004ffffffffeadf7cee8d34d04cf22c8f7de35674fb2f501d242a76f72586c409309d398e60ce1e0a4c9e05a9d32627577e8ce2cc7f3afa2c3e]\n[sha = SHA-224]\n\n# tcId = 348\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303e021d00ab7a19eecf63e9668278963b65236b2768e57cae0e268cb86a0ddda1021d008829f5d3a3394f9467ba62e66ef1768e3e54f93ed23ec962bc443c2e\n\n# tcId = 349\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c17111a77cf79bead456ed86a7d8a935531440281eb8b15a885e341c0021d00fdc3958d04f037b1d4bb2cee307b5201be062e0d4e089df1c1917668\n\n# tcId = 350\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303d021d00acafa1e33345eeba0c338c2204b4cd8ba21de7ec3e1213317038e968021c0b42fbbaeda98a35da0de4c79546f3a0f7d9dec275d2cd671f93c874\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1000000000e2ab0e8495e859eb2afb00769d6e7fe626a119167c0b6bc]\n[key.wx = 00b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1]\n[key.wy = 0e2ab0e8495e859eb2afb00769d6e7fe626a119167c0b6bc]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1000000000e2ab0e8495e859eb2afb00769d6e7fe626a119167c0b6bc]\n[sha = SHA-224]\n\n# tcId = 351\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303d021d00a3fe71a2a56f554e98fd10a8098c2a543c98bc6b3602ef39f2412308021c5d1d68f9a870ef2bc87484b3386549fae95811ab72bc0e3a514720da\n\n# tcId = 352\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c132f7625704756c13f2bfa449e60952f836f4904660b5b1da07e5a9f021d0082b4abafc40e8fd19b0c967f02fff152737ce01153658df445c4d7b7\n\n# tcId = 353\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303e021d00f36a8347c6fe0397a1161a364cbc4bdfb4d8b7894cbaa6edc55a4ff7021d009c9c90515da5e602d62e99f48eac414e913dd0b7cbf680c1a5399952\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1fffffffff1d54f17b6a17a614d504ff7962918019d95ee6e983f4945]\n[key.wx = 00b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1]\n[key.wy = 00fffffffff1d54f17b6a17a614d504ff7962918019d95ee6e983f4945]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1fffffffff1d54f17b6a17a614d504ff7962918019d95ee6e983f4945]\n[sha = SHA-224]\n\n# tcId = 354\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c2125ecc08e52e9e39e590117de2145bd879626cb87180e52e9d3ce03021d008f7e838d0e8fb80005fe3c72fca1b7cc08ed321a34487896b0c90b04\n\n# tcId = 355\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303e021d00e485747ac2f3d045e010cdadab4fd5dbd5556c0008445fb73e07cd90021d00e2133a7906aeac504852e09e6d057f29ab21368cfc4e2394be565e68\n\n# tcId = 356\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303d021d00a4de0d931ddab90e667ebc0ad800ce49e971c60543abdc46cefff926021c550816170bd87593b9fb8ad5ed9ab4ddb12403ff6fe032252833bac4\n\n", }; -static const size_t kLen67 = 124562; +static const size_t kLen100 = 118159; -static const char *kData67[] = { - "# Imported from Wycheproof's ecdsa_secp224r1_sha256_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: ECDSA\n# Generator version: 0.4.12\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04eada93be10b2449e1e8bb58305d52008013c57107c1a20a317a6cba7eca672340c03d1d2e09663286691df55069fa25490c9dd9f9c0bb2b5]\n[key.wx = 0eada93be10b2449e1e8bb58305d52008013c57107c1a20a317a6cba7]\n[key.wy = 0eca672340c03d1d2e09663286691df55069fa25490c9dd9f9c0bb2b5]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004eada93be10b2449e1e8bb58305d52008013c57107c1a20a317a6cba7eca672340c03d1d2e09663286691df55069fa25490c9dd9f9c0bb2b5]\n[sha = SHA-256]\n\n# tcId = 1\n# signature malleability\nmsg = 313233343030\nresult = valid\nsig = 303d021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021d009e82950ebe102f37ff3645cc7d3c1bab8864e5e03a5011eeba8150bc\n\n# tcId = 2\n# valid\nmsg = 313233343030\nresult = valid\nsig = 303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 3\n# long form encoding of length\nmsg = 313233343030\nresult = invalid\nsig = 30813c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 4\n# long form encoding of length\nmsg = 313233343030\nresult = invalid\nsig = 303d02811c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 5\n# long form encoding of length\nmsg = 313233343030\nresult = invalid\nsig = 303d021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a0402811c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 6\n# length contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 3082003c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 7\n# length contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 303e0282001c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 8\n# length contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 303e021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040282001c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 9\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 303d021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 10\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 303b021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 11\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 303c021d3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 12\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 303c021b3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 13\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021d617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 14\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021b617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 15\n# uint32 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 3085010000003c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 16\n# uint32 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 30410285010000001c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 17\n# uint32 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 3041021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040285010000001c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 18\n# uint64 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 308901000000000000003c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 19\n# uint64 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 3045028901000000000000001c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 20\n# uint64 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 3045021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04028901000000000000001c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 21\n# length = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30847fffffff021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 22\n# length = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 304002847fffffff3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 23\n# length = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3040021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a0402847fffffff617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 24\n# length = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3084ffffffff021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 25\n# length = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30400284ffffffff3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 26\n# length = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3040021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040284ffffffff617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 27\n# length = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3085ffffffffff021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 28\n# length = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30410285ffffffffff3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 29\n# length = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3041021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040285ffffffffff617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 30\n# length = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3088ffffffffffffffff021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5d", - "d98d1756a1dad981\n\n# tcId = 31\n# length = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30440288ffffffffffffffff3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 32\n# length = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3044021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040288ffffffffffffffff617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 33\n# incorrect length\nmsg = 313233343030\nresult = invalid\nsig = 30ff021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 34\n# incorrect length\nmsg = 313233343030\nresult = invalid\nsig = 303c02ff3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 35\n# incorrect length\nmsg = 313233343030\nresult = invalid\nsig = 303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a0402ff617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 36\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 3080021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 37\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 303c02803ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 38\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040280617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 39\n# removing sequence\nmsg = 313233343030\nresult = invalid\nsig = \n\n# tcId = 40\n# lonely sequence tag\nmsg = 313233343030\nresult = invalid\nsig = 30\n\n# tcId = 41\n# appending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 303e021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810000\n\n# tcId = 42\n# prepending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 303e0000021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 43\n# appending unused 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810000\n\n# tcId = 44\n# appending null value to sequence\nmsg = 313233343030\nresult = invalid\nsig = 303e021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810500\n\n# tcId = 45\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3041498177303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 46\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 30402500303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 47\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 303e303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810004deadbeef\n\n# tcId = 48\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 30412221498177021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 49\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 304022202500021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 50\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3044221e021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040004deadbeef021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 51\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3041021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a042221498177021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 52\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3040021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a0422202500021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 53\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3044021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04221e021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810004deadbeef\n\n# tcId = 54\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 3044aa00bb00cd00303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 55\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 3042aa02aabb303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 56\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 30442224aa00bb00cd00021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 57\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 30422222aa02aabb021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 58\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 3044021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a042224aa00bb00cd00021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 59\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 3042021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a042222aa02aabb021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 60\n# truncated length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3081\n\n# tcId = 61\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 3080303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810000\n\n# tcId = 62\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 30402280021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040000021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 63\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 3040021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a042280021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810000\n\n# tcId = 64\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 3080313c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810000\n\n# tcId = 65\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 30402280031c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040000021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 66\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 3040021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a042280031c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810000\n\n# tcId = 67\n# Replacing sequence with NULL\nmsg = 313233343030\nresult = invalid\nsig = 0500\n\n# tcId = 68\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 2e3c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 69\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 2f3c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 70\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 313c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 71\n# changing tag value of sequence\nmsg = 31", - "3233343030\nresult = invalid\nsig = 323c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 72\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = ff3c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 73\n# dropping value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3000\n\n# tcId = 74\n# using composition for sequence\nmsg = 313233343030\nresult = invalid\nsig = 3040300102303b1c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 75\n# truncate sequence\nmsg = 313233343030\nresult = invalid\nsig = 303b021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9\n\n# tcId = 76\n# truncate sequence\nmsg = 313233343030\nresult = invalid\nsig = 303b1c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 77\n# indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 3080021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810000\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 78\n# indefinite length with truncated delimiter\nmsg = 313233343030\nresult = invalid\nsig = 3080021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad98100\n\n# tcId = 79\n# indefinite length with additional element\nmsg = 313233343030\nresult = invalid\nsig = 3080021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad98105000000\n\n# tcId = 80\n# indefinite length with truncated element\nmsg = 313233343030\nresult = invalid\nsig = 3080021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981060811220000\n\n# tcId = 81\n# indefinite length with garbage\nmsg = 313233343030\nresult = invalid\nsig = 3080021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810000fe02beef\n\n# tcId = 82\n# indefinite length with nonempty EOC\nmsg = 313233343030\nresult = invalid\nsig = 3080021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810002beef\n\n# tcId = 83\n# prepend empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 303e3000021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 84\n# append empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 303e021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9813000\n\n# tcId = 85\n# sequence of sequence\nmsg = 313233343030\nresult = invalid\nsig = 303e303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 86\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 301e021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04\n\n# tcId = 87\n# repeat element in sequence\nmsg = 313233343030\nresult = invalid\nsig = 305a021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 88\n# removing integer\nmsg = 313233343030\nresult = invalid\nsig = 301e021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 89\n# lonely integer tag\nmsg = 313233343030\nresult = invalid\nsig = 301f02021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 90\n# lonely integer tag\nmsg = 313233343030\nresult = invalid\nsig = 301f021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a0402\n\n# tcId = 91\n# appending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 303e021e3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040000021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 92\n# appending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 303e021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021e617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810000\n\n# tcId = 93\n# prepending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 303e021e00003ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 94\n# prepending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 303e021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021e0000617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 95\n# appending unused 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 303e021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040000021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 96\n# appending null value to integer\nmsg = 313233343030\nresult = invalid\nsig = 303e021e3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040500021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 97\n# appending null value to integer\nmsg = 313233343030\nresult = invalid\nsig = 303e021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021e617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810500\n\n# tcId = 98\n# truncated length of integer\nmsg = 313233343030\nresult = invalid\nsig = 30200281021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 99\n# truncated length of integer\nmsg = 313233343030\nresult = invalid\nsig = 3020021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040281\n\n# tcId = 100\n# Replacing integer with NULL\nmsg = 313233343030\nresult = invalid\nsig = 30200500021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 101\n# Replacing integer with NULL\nmsg = 313233343030\nresult = invalid\nsig = 3020021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040500\n\n# tcId = 102\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303c001c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 103\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303c011c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 104\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303c031c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 105\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303c041c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 106\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303cff1c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 107\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04001c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 108\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04011c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 109\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\n", - "sig = 303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04031c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 110\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04041c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 111\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04ff1c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 112\n# dropping value of integer\nmsg = 313233343030\nresult = invalid\nsig = 30200200021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 113\n# dropping value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3020021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040200\n\n# tcId = 114\n# using composition for integer\nmsg = 313233343030\nresult = invalid\nsig = 3040222002013a021bde5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 115\n# using composition for integer\nmsg = 313233343030\nresult = invalid\nsig = 3040021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a042220020161021b7d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 116\n# modify first byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 303c021c38de5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 117\n# modify first byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c637d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 118\n# modify last byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a84021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 119\n# modify last byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad901\n\n# tcId = 120\n# truncate integer\nmsg = 313233343030\nresult = invalid\nsig = 303b021b3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 121\n# truncate integer\nmsg = 313233343030\nresult = invalid\nsig = 303b021bde5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 122\n# truncate integer\nmsg = 313233343030\nresult = invalid\nsig = 303b021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021b617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9\n\n# tcId = 123\n# truncate integer\nmsg = 313233343030\nresult = invalid\nsig = 303b021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021b7d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 124\n# leading ff in integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021dff3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 125\n# leading ff in integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021dff617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 126\n# infinity\nmsg = 313233343030\nresult = invalid\nsig = 3021090180021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 127\n# infinity\nmsg = 313233343030\nresult = invalid\nsig = 3021021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04090180\n\n# tcId = 128\n# replacing integer with zero\nmsg = 313233343030\nresult = invalid\nsig = 3021020100021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 129\n# replacing integer with zero\nmsg = 313233343030\nresult = invalid\nsig = 3021021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04020100\n\n# tcId = 130\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303d021d013ade5c0624a5677ed7b6450d941fd283098d8a004fc718e2e7e6b441021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 131\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303d021dff3ade5c0624a5677ed7b6450d9421a53d481ba984280cc6582f2e5fc7021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 132\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303c021cc521a3f9db5a98812849baf26bdf441fd72b663dc4161062747575fc021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 133\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303d021d00c521a3f9db5a98812849baf26bde5ac2b7e4567bd7f339a7d0d1a039021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 134\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303d021dfec521a3f9db5a98812849baf26be02d7cf67275ffb038e71d18194bbf021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 135\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303d021d013ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 136\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303d021d00c521a3f9db5a98812849baf26bdf441fd72b663dc4161062747575fc021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 137\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303d021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021d01617d6af141efd0c800c9ba3382c2119a390cfa9bed6a409bfe3703be\n\n# tcId = 138\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303d021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021dff617d6af141efd0c800c9ba3382c3e454779b1a1fc5afee11457eaf44\n\n# tcId = 139\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c9e82950ebe102f37ff3645cc7d3d0508a7abf5a22672e8a95e25267f\n\n# tcId = 140\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303d021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021dfe9e82950ebe102f37ff3645cc7d3dee65c6f305641295bf6401c8fc42\n\n# tcId = 141\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303d021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021d01617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 142\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303d021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021d009e82950ebe102f37ff3645cc7d3d0508a7abf5a22672e8a95e25267f\n\n# tcId = 143\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020100020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 144\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020100020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 145\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201000201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 146\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020100021d00ffffffffffffffffffffffff", - "ffff16a2e0b8f03e13dd29455c5c2a3d\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 147\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020100021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 148\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020100021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 149\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020100021d00ffffffffffffffffffffffffffffffff000000000000000000000001\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 150\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020100021d00ffffffffffffffffffffffffffffffff000000000000000000000002\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 151\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3008020100090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 152\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020101020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 153\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020101020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 154\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201010201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 155\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020101021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 156\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020101021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 157\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020101021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 158\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020101021d00ffffffffffffffffffffffffffffffff000000000000000000000001\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 159\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020101021d00ffffffffffffffffffffffffffffffff000000000000000000000002\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 160\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3008020101090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 161\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 162\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 163\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff0201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 164\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30220201ff021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 165\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30220201ff021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 166\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30220201ff021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 167\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30220201ff021d00ffffffffffffffffffffffffffffffff000000000000000000000001\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 168\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30220201ff021d00ffffffffffffffffffffffffffffffff000000000000000000000002\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 169\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30080201ff090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 170\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 171\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 172\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d0201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 173\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffff16a2e0b8f03", - "e13dd29455c5c2a3d\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 174\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 175\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 176\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffffffff000000000000000000000001\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 177\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffffffff000000000000000000000002\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 178\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3024021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 179\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 180\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 181\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c0201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 182\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 183\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 184\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 185\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffffffff000000000000000000000001\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 186\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffffffff000000000000000000000002\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 187\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3024021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 188\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 189\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 190\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e0201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 191\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 192\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 193\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 194\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffffffff000000000000000000000001\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 195\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffffffff000000000000000000000002\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 196\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3024021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e090380fe01\n# Edge case values such as r=1 and s=0 ca", - "n lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 197\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffffffff000000000000000000000001020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 198\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffffffff000000000000000000000001020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 199\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffffffff0000000000000000000000010201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 200\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 201\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 202\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 203\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffffffff000000000000000000000001\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 204\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffffffff000000000000000000000002\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 205\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3024021d00ffffffffffffffffffffffffffffffff000000000000000000000001090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 206\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffffffff000000000000000000000002020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 207\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffffffff000000000000000000000002020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 208\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffffffff0000000000000000000000020201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 209\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 210\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 211\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 212\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffffffff000000000000000000000001\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 213\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffffffff000000000000000000000002\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 214\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3024021d00ffffffffffffffffffffffffffffffff000000000000000000000002090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 215\n# Edge case for Shamir multiplication\nmsg = 3839313737\nresult = valid\nsig = 303d021c326bc06353f7f9c9f77b8f4b55464e8619944e7879402cca572e041a021d0096ad91f02a3bc40c118abd416ed5c6203ed7ced0330860d7b88c10ab\n\n# tcId = 216\n# special case hash\nmsg = 343236343739373234\nresult = valid\nsig = 303d021d00bcca2365cebdcf7c6cda1ee7b27c7fe79e371537b01869c715eabb1e021c3ae76f9bbfe519d778816dc8fe10635ee7576b6b7916f0c21df320c0\n\n# tcId = 217\n# special case hash\nmsg = 37313338363834383931\nresult = valid\nsig = 303c021c59a9f83289ef6995d5d5592e80ab4f6a81123f69d385d3cfb152faf2021c3a97d5be190d5819241067e2be56375ab84155baab8fc7aeb7f8cb3d\n\n# tcId = 218\n# special case hash\nmsg = 3130333539333331363638\nresult = valid\nsig = 303e021d00b54bac9be2beaaa09456a3968a1faf27c9d96bd5f6738fec6066d31e021d00d72c22129344a96d52fda60b264cf5e6fae45fd2c1b1b78bcba30070\n\n# tcId = 219\n# special case hash\nmsg = 33393439343031323135\nresult = valid\nsig = 303d021c323dbdecd40910c6fa7a5691846fa7769113d1f2ba64ef0dc97d2ddb021d00ca9e73a4587af042f8ba924bb61829c5e24046f9803eb76ab80ef327\n\n# tcId = 220\n# special case hash\nmsg = 31333434323933303739\nresult = valid\nsig = 303d021d00a55dccc27d287f15960ed79908a3edb6bb31aff07c8caa0e65fc0785021c559cb51aa5f2b9066610199dd01291a47729a6189a622ae9e7af7621\n\n# tcId = 221\n# special case hash\nmsg = 33373036323131373132\nresult = valid\nsig = 303d021c137ed6105148d6f5b84e87735d57955f81c5914a6e69f55347ade074021d00dfa5d56b1a12567efacb348a133b79d48da7aac78d78ee589c2ec027\n\n# tcId = 222\n# special case hash\nmsg = 333433363838373132\nresult = valid\nsig = 303e021d00856ff63d779163e78fed8c48330b48f08bf953a95266b3857eee91aa021d00f4aa917cd37f556c6df9d0960c2f7daa7ea118e5c30cc40ca1eed418\n\n# tcId = 223\n# special case hash\nmsg = 31333531353330333730\nresult = valid\nsig = 303d021d00a9d7716f04", - "c5ce247f6b8c608b37db55f68e2ff94a5883863e867708021c61bc093faa6fb25cd240aea4b56fed728f7b3669b4dc84c449d38c5d\n\n# tcId = 224\n# special case hash\nmsg = 36353533323033313236\nresult = valid\nsig = 303d021d00f6d088fd3b9c981ac491c62030643bbd82d4f4588e8517de5884e73d021c773eee477980763b1ea27ae998bda0244cb67b07aa6779a38cd2ba3f\n\n# tcId = 225\n# special case hash\nmsg = 31353634333436363033\nresult = valid\nsig = 303e021d00eacb55588e446bbf3687089ba8ba3b05cfef7458bb81b4277f90a853021d008039e8944cc3df7f4ce5badc349975d471a81dea14e9bcae3065d410\n\n# tcId = 226\n# special case hash\nmsg = 34343239353339313137\nresult = valid\nsig = 303c021c5984af8c89fb9d596a1f28fd3d41e46f7205fe12fa63437ac79e7e81021c33b16b742d45f18f88de2713078384e6150f06b8b99f36ab2ce3dd49\n\n# tcId = 227\n# special case hash\nmsg = 3130393533323631333531\nresult = valid\nsig = 303d021c3cda62d84711c262f782d5c3a79b567485227b34afb821f5241b1961021d00b615cef399706ff758f072931852b717ec898e9a1e6339d0ee81b8da\n\n# tcId = 228\n# special case hash\nmsg = 35393837333530303431\nresult = valid\nsig = 303d021d00e1db7304609191ea1ac91183ffb31df51b5b3fdc6b1a1129d85818d6021c441886d003ae80fbe7139e1d02845cd1bd959f0df1468f5836dd6ea5\n\n# tcId = 229\n# special case hash\nmsg = 33343633303036383738\nresult = valid\nsig = 303d021c3545dc4a4ef84bbb3a526ff929c91ad234516a9e95455ac8db4012b1021d00af49926f693a7cf11f71e199f382a8d640c0c85e46d94ee26e384344\n\n# tcId = 230\n# special case hash\nmsg = 39383137333230323837\nresult = valid\nsig = 303d021c0ccafdeae4582c9de6795b2d09a7fc3848c75904fa960989156cbbb9021d00af1f994da3e7d89cc8aaa44616cb77e3be7a83ccecc965775194e502\n\n# tcId = 231\n# special case hash\nmsg = 33323232303431303436\nresult = valid\nsig = 303e021d00a3b2145d8c669027532501eea1913abb22a78a827fdd82fe9d6d3757021d009b2f1ae84f5606d68653065f74e9d089886694c739fbe3fd4a1b2b4a\n\n# tcId = 232\n# special case hash\nmsg = 36363636333037313034\nresult = valid\nsig = 303e021d009aac3a7e3d142344991bf177b4f4dbfa074148ad9e20f27555b547d9021d00f830a3c7fdf251d79d41977d28e6d9a72a36df11b86e17c8dc3acae0\n\n# tcId = 233\n# special case hash\nmsg = 31303335393531383938\nresult = valid\nsig = 303c021c4769fba554fd436051c285bdadfa33a443d4f7084dd598ce3b98b8fb021c0c014c87cb14113d75864f74905f75b34f9970ba58b5d0676021826d\n\n# tcId = 234\n# special case hash\nmsg = 31383436353937313935\nresult = valid\nsig = 303d021d008b91fc5054a75c34a508624b85708b3d25fa74328c68741c3aeb92d9021c155e3e46b1209583135a9fef15abe325b25bd19285ee6b5b4549629f\n\n# tcId = 235\n# special case hash\nmsg = 33313336303436313839\nresult = valid\nsig = 303d021d00a4a2a85fbb8bb26c4d845cfac191f89d65b00d3f1b9450d177f78890021c6605a460e60402685c7a5accd2615e9232e51937bd83dfa3065eabf7\n\n# tcId = 236\n# special case hash\nmsg = 32363633373834323534\nresult = valid\nsig = 303d021d00a89d333ae34187855cf7fa435ff39be6b7bb39b2d0ce682133ad9646021c483dcc89a3b43be250f5c3f78f78418e7b8341a8bcfb93dfd58e46d8\n\n# tcId = 237\n# special case hash\nmsg = 31363532313030353234\nresult = valid\nsig = 303d021c2d0f99c71933c82ded544ef4faac9d669e437dea13b57186f4c20a0e021d00d9682b9f3a05d7832947bc45eadbc742d96e7ab1124832ddb7a8c65b\n\n# tcId = 238\n# special case hash\nmsg = 35373438303831363936\nresult = valid\nsig = 303d021d00840208f7c41b1fbadcc701fb3a1d0f98a3e2a75235e695bfd378f8b4021c44c8daad4efc03e1753803c362b409c3ca6e0f21e538fe3a364c0e53\n\n# tcId = 239\n# special case hash\nmsg = 36333433393133343638\nresult = valid\nsig = 303e021d0087cc582cb10602110566fcb10a233aede993fae5fb3f81b0bbff94ca021d00c971c05bd51d9685825b2cfc0a2596c7f80d9f9dc68c28c159aa395a\n\n# tcId = 240\n# special case hash\nmsg = 31353431313033353938\nresult = valid\nsig = 303d021c50d73d949b3adcd3e8fa94dafefaf9d263ebc702128d891afac47ea7021d00f8423c378f0190574925142eb5b97c612abfa048fa3ab5375ec795a1\n\n# tcId = 241\n# special case hash\nmsg = 3130343738353830313238\nresult = valid\nsig = 303e021d00d608915dfcd5d3c63ed10d0d9b614f7a866f8858a6e59dc03eb0a8ee021d008e701aa0bab491430f6e4da92244b0bb174957ee6f495bc5d15fabb1\n\n# tcId = 242\n# special case hash\nmsg = 3130353336323835353638\nresult = valid\nsig = 303e021d00c87b0ab842c4769ed94b910bd7719691f9991bc5a347889608f07034021d00d083111048d6e019771fc2669c55156a3d09615a6b2d9cae52ddabee\n\n# tcId = 243\n# special case hash\nmsg = 393533393034313035\nresult = valid\nsig = 303c021c0a1c2c2478e244464226c660edf724db1213f4923eb725d611d976fd021c764e55186a76f734891d05fb57af2727fab8fbea684ca4321d5de540\n\n# tcId = 244\n# special case hash\nmsg = 393738383438303339\nresult = valid\nsig = 303e021d008a2747c5dd9ef5298b8aeabd2fb3a2beb16158fb2cc62be9e51b2152021d00f96251bc048bcad832e6cbc09c9c2e585ab7543dc552eaa5125be0d3\n\n# tcId = 245\n# special case hash\nmsg = 33363130363732343432\nresult = valid\nsig = 303e021d00d9eac32a734f3a3e5b5a2905bed8164ef4c6cd24d5c0fc54cc83f3cc021d00a784930d16c3b753bb3ed9151d583c50ff97bc976274bde482fb9644\n\n# tcId = 246\n# special case hash\nmsg = 31303534323430373035\nresult = valid\nsig = 303d021c6c40c6b15ae573f77b677cd878cc5e4da8171cf50d79974fde374e00021d00c88c9828037bf7013a1415537ca074d6c8a553bdb4b26b14a7e88d93\n\n# tcId = 247\n# special case hash\nmsg = 35313734343438313937\nresult = valid\nsig = 303d021d00dca0aaa0a395393142b323edced09372760350f2ab261ce3339b114d021c0983bf6e510ce7f0a7520f2b7c60cd68a4912b78162c7ac33789e0c6\n\n# tcId = 248\n# special case hash\nmsg = 31393637353631323531\nresult = valid\nsig = 303d021d00a0526ed47e2607e6bae6dcf3b8f54f4e0638023673a38cad4569c3ba021c61516f55746b379d11cbaa02cef35311d7771a47d1e127cff46dcfd6\n\n# tcId = 249\n# special case hash\nmsg = 33343437323533333433\nresult = valid\nsig = 303d021c5c00db60178c8361092bdfb47fc9a47b33363d7e0d76e32520f79657021d00e1baf7ae7d81045793c73173f49d60bdfc8779942795d9d082b3ca11\n\n# tcId = 250\n# special case hash\nmsg = 333638323634333138\nresult = valid\nsig = 303d021c46f69b6a99717949eee74092a0c1438a290a2cd82fe1e10d8f37e88b021d0099a5f59f09bd980a066233523397846987a8a1bfdde355062d140a4b\n\n# tcId = 251\n# special case hash\nmsg = 33323631313938363038\nresult = valid\nsig = 303e021d00e643d8085a22706fa0e6540f3d5e169ad8cc49b4bfe98e325321c705021d00f95bd423f9cafe0cedfec6fd97871536d71b2ac58dfb2f7ab8952d4b\n\n# tcId = 252\n# special case hash\nmsg = 39363738373831303934\nresult = valid\nsig = 303e021d00e65fb9bcdd791f141ccff2b3cfbf45d84f8c6272021a68dde8c36bc8021d00df6e08c74b5e36b7772658f02515ae0ea813b64df24f3522ea15fb15\n\n# tcId = 253\n# special case hash\nmsg = 34393538383233383233\nresult = valid\nsig = 303e021d00a476d468221ef55611e8a724c9b4cd79c34f6940d5f665e3335f6231021d00bfddc18e7a008bc206c8e1ca6c878363e4138508e0c3a84a27eabe35\n\n# tcId = 254\n# special case hash\nmsg = 383234363337383337\nresult = valid\nsig = 303c021c1b393477941879271873a8c043a77caadb9957fcdd263a6ac978e4ba021c270060d5f356ebb6d185772baa78b878af6807378e0d5c532da0a4a7\n\n# tcId = 255\n# special case hash\nmsg = 3131303230383333373736\nresult = valid\nsig = 303e021d00b2eda8c969d4b1bdd31867fd1f92d547b406840c257f2f80dfbdc4e3021d00e6297b059ce64ef04de9715a8f686a9f73980865066a94975b7f8117\n\n# tcId = 256\n# special case hash\nmsg = 313333383731363438\nresult = valid\nsig = 303d021d00938189a18a4bff5712ac99c2b8e92c218af3e4d4e3a84b906b0f704e021c7bb3e538f0b70664dad462ab14b0ed416c86ac6e9060fe760dabb715\n\n# tcId = 257\n# special case hash\nmsg = 333232313434313632\nresult = valid\nsig = 303e021d00bb7c1d8120d2aa7765b16eeac44282de605fb2a1665657dea4492935021d00e0a8adb3a143883f981ea1323fa6f1d347845be2b8dcc6cd5cc93ee5\n\n# tcId = 258\n# special case hash\nmsg = 3130363836363535353436\nresult = valid\nsig = 303c021c74a4c51dd60c7118467be29652060f39af94f8c0eb7f15c64771010c021c6102ec0c9257e607af3f3ff7490b54e78111f422bec11ba01277171f\n\n# tcId = 259\n# special case hash\nmsg = 3632313535323436\nresult = valid\nsig = 303d021c625da18d676f02fae9dbcb3092265909488fb95d662569d7746b9687021d00c4f1ec831e36604d604b630fd0b1999cd09960862294251d85e5873d\n\n# tcId = 260\n# special case hash\nmsg = 37303330383138373734\nresult = valid\nsig = 303d021d008ee0d4a31fd1c4d854d75c14151926899dde1c7332fd4769443d213d021c4b8278b89ba4f8fbd7dcc6affe4c12156f7409909416989685dd5a39\n\n# tcId = 261\n# special case hash\nmsg = 35393234353233373434\nresult = valid\nsig = 303e021d00bdde45fc9ebb3749c9fb2c25bf02e2a217ccc112f8e65499eeffb6a1021d00becd6b88ef2bee872ebc0e2b805a56066e19179fce9f0dc0df3f6378\n\n# tcId = 262\n# special case hash\nmsg = 31343935353836363231\nresult = valid\nsig = 303d021c50186e023a1f5053fcb4d0473039b1b2cdeba5697", - "19a4ebabdd675c8021d00f8fb893c1b6b5b827b5f3f4bb5eab75b6212bb56a5a39bb35c127a1c\n\n# tcId = 263\n# special case hash\nmsg = 34303035333134343036\nresult = valid\nsig = 303e021d00d3b454639b0fb3da93b20d55be8609e40902cb4a608f3b9064c0deb7021d00ec7aa9637fd71b543e5243faab4c7a2edc2c48e982c5ac017807f19a\n\n# tcId = 264\n# special case hash\nmsg = 33303936343537353132\nresult = valid\nsig = 303d021d00c202abbd98e03809de842bdef268a1c616a7306da69a87abaf03169c021c7e7e04823af8ed6836fd2ac011e47de8e1bef91ed1da5144893fc259\n\n# tcId = 265\n# special case hash\nmsg = 32373834303235363230\nresult = valid\nsig = 303d021c2e4b76638816cce057a4a27a49258dcb5437ae97739f27ebc0973c0b021d00e9f6c0b64e764ad39dd92b576e11c23e5994b02095cb2a4720c8662c\n\n# tcId = 266\n# special case hash\nmsg = 32363138373837343138\nresult = valid\nsig = 303c021c7e0f48761089aa4c7ecd5a7ac5380836b1e5d381d3400174d15df98b021c0c3df50060e3a6714aa565a33d784e7b16ac87bebfb3c2255cfd832c\n\n# tcId = 267\n# special case hash\nmsg = 31363432363235323632\nresult = valid\nsig = 303c021c4d6f7408508eb0814dcd48007f0efd9e2b91cdac4030540cc678de19021c1e74f8dc34d13613ef42462fe88981cbe2489be10e4cdae975a1b38e\n\n# tcId = 268\n# special case hash\nmsg = 36383234313839343336\nresult = valid\nsig = 303d021d00967f2c5d304c7932eaaa1682197945e66cc912b703824776ef16ad7a021c73957001d9037c63d6471c809a2388383ad695137c622cd5f5584414\n\n# tcId = 269\n# special case hash\nmsg = 343834323435343235\nresult = valid\nsig = 303d021c49260804bb2ceae4b9cee63b02ea60173ec3f4f90167627c0bb39888021d00c9eb022f96db3e90fe0ff617730a629f342e02fb208d6836cbbdc7d3\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 0493b4c28f032d00f80e77491edc158359909ee9e30a7327b74219e5e2482c19ae35cb28afc9b95ca1ed7ad91c812d5fcceb4beddbf1a16d92]\n[key.wx = 093b4c28f032d00f80e77491edc158359909ee9e30a7327b74219e5e2]\n[key.wy = 482c19ae35cb28afc9b95ca1ed7ad91c812d5fcceb4beddbf1a16d92]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000493b4c28f032d00f80e77491edc158359909ee9e30a7327b74219e5e2482c19ae35cb28afc9b95ca1ed7ad91c812d5fcceb4beddbf1a16d92]\n[sha = SHA-256]\n\n# tcId = 270\n# k*G has a large x-coordinate\nmsg = 313233343030\nresult = valid\nsig = 3030020f00e95c1f470fc1ec22d6baa3a3d5c1021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3a\n\n# tcId = 271\n# r too large\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00fffffffffffffffffffffffffffffffefffffffffffffffffffffffe021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3a\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04da927f4ba88b639bf5334221d2f54d8ef9ccc1a1125fad18c7bfb789ac51ae53de6d834a9db3947b8dd4c6ac2b084b85496bfa72d86b6948]\n[key.wx = 0da927f4ba88b639bf5334221d2f54d8ef9ccc1a1125fad18c7bfb789]\n[key.wy = 0ac51ae53de6d834a9db3947b8dd4c6ac2b084b85496bfa72d86b6948]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004da927f4ba88b639bf5334221d2f54d8ef9ccc1a1125fad18c7bfb789ac51ae53de6d834a9db3947b8dd4c6ac2b084b85496bfa72d86b6948]\n[sha = SHA-256]\n\n# tcId = 272\n# r,s are large\nmsg = 313233343030\nresult = valid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3b\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 0420888e1c0f5694c4c0363b36482beb6e1e6649b3d3b26f127febb6fcde00c2f3d8e4a7e8a0bafd417c96d3e81c975946a2f3686aa39d35f1]\n[key.wx = 20888e1c0f5694c4c0363b36482beb6e1e6649b3d3b26f127febb6fc]\n[key.wy = 0de00c2f3d8e4a7e8a0bafd417c96d3e81c975946a2f3686aa39d35f1]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000420888e1c0f5694c4c0363b36482beb6e1e6649b3d3b26f127febb6fcde00c2f3d8e4a7e8a0bafd417c96d3e81c975946a2f3686aa39d35f1]\n[sha = SHA-256]\n\n# tcId = 273\n# r and s^-1 have a large Hamming weight\nmsg = 313233343030\nresult = valid\nsig = 303c021c7fffffffffffffffffffffffffffffffffffffffffffffffffffffff021c3d5052691b8dc89debad360466f2a39e82e8ae2aefb77c3c92ad7cd1\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 049545c86f032c5df255a4490bb0b83eca201181792ad74246874db229405264c283063327b70f4c2be5ab4d2e9407b866e121d6145d124c04]\n[key.wx = 09545c86f032c5df255a4490bb0b83eca201181792ad74246874db229]\n[key.wy = 405264c283063327b70f4c2be5ab4d2e9407b866e121d6145d124c04]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00049545c86f032c5df255a4490bb0b83eca201181792ad74246874db229405264c283063327b70f4c2be5ab4d2e9407b866e121d6145d124c04]\n[sha = SHA-256]\n\n# tcId = 274\n# r and s^-1 have a large Hamming weight\nmsg = 313233343030\nresult = valid\nsig = 303d021c7fffffffffffffffffffffffffffffffffffffffffffffffffffffff021d00bf19ab4d3ebf5a1a49d765909308daa88c2b7be3969db552ea30562b\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04579d53f39d5109bd440e3e3e7efd603740963348ff9c72c03b0fe6b8df02f133ecd60b072a0812adc752708f2be9d8c9ad5953d8c7bf3965]\n[key.wx = 579d53f39d5109bd440e3e3e7efd603740963348ff9c72c03b0fe6b8]\n[key.wy = 0df02f133ecd60b072a0812adc752708f2be9d8c9ad5953d8c7bf3965]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004579d53f39d5109bd440e3e3e7efd603740963348ff9c72c03b0fe6b8df02f133ecd60b072a0812adc752708f2be9d8c9ad5953d8c7bf3965]\n[sha = SHA-256]\n\n# tcId = 275\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020103020101\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04d2a14c8106d89f3536faebdafcd4680f65ab4bf2243164ca1464b628acaf2bee52e6231d3c980f52f8e189a41c3e3a05e591195ec864217a]\n[key.wx = 0d2a14c8106d89f3536faebdafcd4680f65ab4bf2243164ca1464b628]\n[key.wy = 0acaf2bee52e6231d3c980f52f8e189a41c3e3a05e591195ec864217a]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004d2a14c8106d89f3536faebdafcd4680f65ab4bf2243164ca1464b628acaf2bee52e6231d3c980f52f8e189a41c3e3a05e591195ec864217a]\n[sha = SHA-256]\n\n# tcId = 276\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020103020103\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04e892479153ad13ea5ca45d4c323ebf1fc3cd0cdf787c34306a3f79a4326ca9645f2b517608dc1f08b7a84cfc61e6ff68d14f27d2043c7ef5]\n[key.wx = 0e892479153ad13ea5ca45d4c323ebf1fc3cd0cdf787c34306a3f79a4]\n[key.wy = 326ca9645f2b517608dc1f08b7a84cfc61e6ff68d14f27d2043c7ef5]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004e892479153ad13ea5ca45d4c323ebf1fc3cd0cdf787c34306a3f79a4326ca9645f2b517608dc1f08b7a84cfc61e6ff68d14f27d2043c7ef5]\n[sha = SHA-256]\n\n# tcId = 277\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020103020104\n\n# tcId = 278\n# r is larger than n\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a40020104\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 042b0eac35c0b294f6d435dcaffa8633b0123005465c30080adbcc103ad465a63bfb71d4aee09328697fe1088753646d8369b8dc103217c219]\n[key.wx = 2b0eac35c0b294f6d435dcaffa8633b0123005465c30080adbcc103a]\n[key.wy = 0d465a63bfb71d4aee09328697fe1088753646d8369b8dc103217c219]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00042b0eac35c0b294f6d435dcaffa8633b0123005465c30080adbcc103ad465a63bfb71d4aee09328697fe1088753646d8369b8dc103217c219]\n[sha = SHA-256]\n\n# tcId = 279\n# s is larger than n\nmsg = 313233343030\nresult = invalid\nsig = 3022020103021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c6f00c4\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04d156e01e33becede8f4fb4ae9521d751e7f8eb795ca00857db2fd7afd73a450ec60e6a9218a8431870687e0968944f6dc5ffeb30e4693b7c]\n[key.wx = 0d156e01e33becede8f4fb4ae9521d751e7f8eb795ca00857db2fd7af]\n[key.wy = 0d73a450ec60e6a9218a8431870687e0968944f6dc5ffeb30e4693b7c]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004d156e01e33becede8f4fb4ae9521d751e7f8eb795ca00857db2fd7afd73a450ec60e6a9218a8431870687e0968944f6dc5ffeb30e4693b7c]\n[sha = SHA-256]\n\n# tcId = 280\n# small r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 302302020100021d00c993264c993264c993264c99326411d2e55b3214a8d67528812a55ab\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04f293a8a2b4aff0bed95c663b364afe69778d38dd7e7a30", - "4f7d3c74e617dfd09e7803c4439a6c075cb579cde652d03f7559ff58846312fa4c]\n[key.wx = 0f293a8a2b4aff0bed95c663b364afe69778d38dd7e7a304f7d3c74e6]\n[key.wy = 17dfd09e7803c4439a6c075cb579cde652d03f7559ff58846312fa4c]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004f293a8a2b4aff0bed95c663b364afe69778d38dd7e7a304f7d3c74e617dfd09e7803c4439a6c075cb579cde652d03f7559ff58846312fa4c]\n[sha = SHA-256]\n\n# tcId = 281\n# smallish r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 302702072d9b4d347952cc021c3e85d56474b5c55fbe86608442a84b2bf093b7d75f53a47250e1c70c\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04d4ddf003b298cbaa7d2edc584b28b474a76162ed4b5b0f6222c54317d4e4fe030f178fb4aa4a6d7f61265ecd7ef13c313606b8d341a8b954]\n[key.wx = 0d4ddf003b298cbaa7d2edc584b28b474a76162ed4b5b0f6222c54317]\n[key.wy = 0d4e4fe030f178fb4aa4a6d7f61265ecd7ef13c313606b8d341a8b954]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004d4ddf003b298cbaa7d2edc584b28b474a76162ed4b5b0f6222c54317d4e4fe030f178fb4aa4a6d7f61265ecd7ef13c313606b8d341a8b954]\n[sha = SHA-256]\n\n# tcId = 282\n# 100-bit r and small s^-1\nmsg = 313233343030\nresult = valid\nsig = 302d020d1033e67e37b32b445580bf4efb021c02fd02fd02fd02fd02fd02fd02fd0043a4fd2da317247308c74dc6b8\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 048a5bf0028f1e3eb6841dee7b8f873f68b0c560e592e3182074f51ce89668c32224b65b6849713d35e3acf1786862e65b5a664b47a098caa0]\n[key.wx = 08a5bf0028f1e3eb6841dee7b8f873f68b0c560e592e3182074f51ce8]\n[key.wy = 09668c32224b65b6849713d35e3acf1786862e65b5a664b47a098caa0]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00048a5bf0028f1e3eb6841dee7b8f873f68b0c560e592e3182074f51ce89668c32224b65b6849713d35e3acf1786862e65b5a664b47a098caa0]\n[sha = SHA-256]\n\n# tcId = 283\n# small r and 100 bit s^-1\nmsg = 313233343030\nresult = valid\nsig = 302302020100021d00d05434abacd859ed74185e75b751c6d9f60c7921dacfbb8e19cdba8e\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04b53e569b18e9361567e5713ee69ecbe7949911b0257546a24c3dd137f29a83334cff1c44d8c0c33b6dadb8568c024fa1fbb694cd9e705f5a]\n[key.wx = 0b53e569b18e9361567e5713ee69ecbe7949911b0257546a24c3dd137]\n[key.wy = 0f29a83334cff1c44d8c0c33b6dadb8568c024fa1fbb694cd9e705f5a]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b53e569b18e9361567e5713ee69ecbe7949911b0257546a24c3dd137f29a83334cff1c44d8c0c33b6dadb8568c024fa1fbb694cd9e705f5a]\n[sha = SHA-256]\n\n# tcId = 284\n# 100-bit r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 302e020d062522bbd3ecbe7c39e93e7c24021d00d05434abacd859ed74185e75b751c6d9f60c7921dacfbb8e19cdba8e\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 0477f3ebf52725c809acbb19adf093126a2a3a065ca654c22099c978129f1948d23c5158ec2adff455eb2fedf1075d4ec22d660977424a10f7]\n[key.wx = 77f3ebf52725c809acbb19adf093126a2a3a065ca654c22099c97812]\n[key.wy = 09f1948d23c5158ec2adff455eb2fedf1075d4ec22d660977424a10f7]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000477f3ebf52725c809acbb19adf093126a2a3a065ca654c22099c978129f1948d23c5158ec2adff455eb2fedf1075d4ec22d660977424a10f7]\n[sha = SHA-256]\n\n# tcId = 285\n# r and s^-1 are close to n\nmsg = 313233343030\nresult = valid\nsig = 303d021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c29bd021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04a7f7b99e5cdc6fec8928eff773ccdf3b68b19d43cdb41809e19c60f31736b7a0c12a9c2d706671912915142b3e05c89ef3ad497bd6c34699]\n[key.wx = 0a7f7b99e5cdc6fec8928eff773ccdf3b68b19d43cdb41809e19c60f3]\n[key.wy = 1736b7a0c12a9c2d706671912915142b3e05c89ef3ad497bd6c34699]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004a7f7b99e5cdc6fec8928eff773ccdf3b68b19d43cdb41809e19c60f31736b7a0c12a9c2d706671912915142b3e05c89ef3ad497bd6c34699]\n[sha = SHA-256]\n\n# tcId = 286\n# s == 1\nmsg = 313233343030\nresult = valid\nsig = 3021021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14020101\n\n# tcId = 287\n# s == 0\nmsg = 313233343030\nresult = invalid\nsig = 3021021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14020100\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 049cf00010b4ad86636f6cc70fb58c3b995c0d12e46fc58e24b0d28f6921c8a8a320cc450ccb15ebd71617f4ed25db4d3413fbdf157d31dbb6]\n[key.wx = 09cf00010b4ad86636f6cc70fb58c3b995c0d12e46fc58e24b0d28f69]\n[key.wy = 21c8a8a320cc450ccb15ebd71617f4ed25db4d3413fbdf157d31dbb6]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00049cf00010b4ad86636f6cc70fb58c3b995c0d12e46fc58e24b0d28f6921c8a8a320cc450ccb15ebd71617f4ed25db4d3413fbdf157d31dbb6]\n[sha = SHA-256]\n\n# tcId = 288\n# point at infinity during verify\nmsg = 313233343030\nresult = invalid\nsig = 303c021c7fffffffffffffffffffffffffff8b51705c781f09ee94a2ae2e151e021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 0410518eb7a926b5f7b65be801ec9b2abf76adce25c6152e452a3512c83f322b9ab57ea8352ad29beb99ef356b713432fcc4aef31f903045d9]\n[key.wx = 10518eb7a926b5f7b65be801ec9b2abf76adce25c6152e452a3512c8]\n[key.wy = 3f322b9ab57ea8352ad29beb99ef356b713432fcc4aef31f903045d9]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000410518eb7a926b5f7b65be801ec9b2abf76adce25c6152e452a3512c83f322b9ab57ea8352ad29beb99ef356b713432fcc4aef31f903045d9]\n[sha = SHA-256]\n\n# tcId = 289\n# u1 == 1\nmsg = 313233343030\nresult = valid\nsig = 303d021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021d00bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419fe\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 048a5dfedc9dd1cb9a439c88b3dd472b2e66173f7866855db6bb6c12fd3badfbb8a4c6fd80e66510957927c78a2aa02ecef62816d0356b49c3]\n[key.wx = 08a5dfedc9dd1cb9a439c88b3dd472b2e66173f7866855db6bb6c12fd]\n[key.wy = 3badfbb8a4c6fd80e66510957927c78a2aa02ecef62816d0356b49c3]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00048a5dfedc9dd1cb9a439c88b3dd472b2e66173f7866855db6bb6c12fd3badfbb8a4c6fd80e66510957927c78a2aa02ecef62816d0356b49c3]\n[sha = SHA-256]\n\n# tcId = 290\n# u1 == n - 1\nmsg = 313233343030\nresult = valid\nsig = 303c021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021c44a5ad0bd0636d9e12bc9e0a6bdc74bfe082087ae8b61cbd54b8103f\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 0483a59fc3df295e84c290b32d0b550a06f99456fc2298e4a68c4f2bff1b34f483db30db3a51d8288732c107d8b1a858cd54c3936e1b5c11a4]\n[key.wx = 083a59fc3df295e84c290b32d0b550a06f99456fc2298e4a68c4f2bff]\n[key.wy = 1b34f483db30db3a51d8288732c107d8b1a858cd54c3936e1b5c11a4]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000483a59fc3df295e84c290b32d0b550a06f99456fc2298e4a68c4f2bff1b34f483db30db3a51d8288732c107d8b1a858cd54c3936e1b5c11a4]\n[sha = SHA-256]\n\n# tcId = 291\n# u2 == 1\nmsg = 313233343030\nresult = valid\nsig = 303c021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 0458bada578a205d6e170722c8ed6c7715011fe33d7eba869ed1d448a75be4730c1d2d2ef881e02f028a241b7d7d3b0d0b4a9c0565fcb49977]\n[key.wx = 58bada578a205d6e170722c8ed6c7715011fe33d7eba869ed1d448a7]\n[key.wy = 5be4730c1d2d2ef881e02f028a241b7d7d3b0d0b4a9c0565fcb49977]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000458bada578a205d6e170722c8ed6c7715011fe33d7eba869ed1d448a75be4730c1d2d2ef881e02f028a241b7d7d3b0d0b4a9c0565fcb49977]\n[sha = SHA-256]\n\n# tcId = 292\n# u2 == n - 1\nmsg = 313233343030\nresult = valid\nsig = 303d021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021d00aaaaaaaaaaaaaaaaaaaaaaaaaaaa0f17407b4ad40d3e1b8392e81c29\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 047fcc799b919fe9789ce01dd9202731cb7d815158bc6cb8468760247c0f9d2957e0dd5e4c40124bd5e0dd1be41c038fce2cd1dc814e0af37d]\n[key.wx = 7fcc799b919fe9789ce01dd9202731cb7d815158bc6cb8468760247c]\n[key.wy = 0f9d2957e0dd5e4c40124bd5e0dd1be41c038fce2cd1dc814e0af37d]\n[keyDer = 304e3010060", - "72a8648ce3d020106052b81040021033a00047fcc799b919fe9789ce01dd9202731cb7d815158bc6cb8468760247c0f9d2957e0dd5e4c40124bd5e0dd1be41c038fce2cd1dc814e0af37d]\n[sha = SHA-256]\n\n# tcId = 293\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d0093c8c651653430cb4f1675fc86b5e82ca04ff2ab1501674476aac169\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 043ddd68f69d0bfd47ad19370fa3dc72eb258268c2b5f3768852151674fbe0e155d94d2373a01a5e70f1a105259e7b8b1d2fdf4dba3cf4c780]\n[key.wx = 3ddd68f69d0bfd47ad19370fa3dc72eb258268c2b5f3768852151674]\n[key.wy = 0fbe0e155d94d2373a01a5e70f1a105259e7b8b1d2fdf4dba3cf4c780]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00043ddd68f69d0bfd47ad19370fa3dc72eb258268c2b5f3768852151674fbe0e155d94d2373a01a5e70f1a105259e7b8b1d2fdf4dba3cf4c780]\n[sha = SHA-256]\n\n# tcId = 294\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d009df50acc33b3625a2d5940dd13dbb97d1f7dd56afff8b7de7545127c\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 041cb1f564c29ebf60a342b3bc33c8945cb279c6c1a012255c874e1c37b75191ab3b2bb730914ebfa14080410970b71eaf4fe01e2d48be9891]\n[key.wx = 1cb1f564c29ebf60a342b3bc33c8945cb279c6c1a012255c874e1c37]\n[key.wy = 0b75191ab3b2bb730914ebfa14080410970b71eaf4fe01e2d48be9891]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00041cb1f564c29ebf60a342b3bc33c8945cb279c6c1a012255c874e1c37b75191ab3b2bb730914ebfa14080410970b71eaf4fe01e2d48be9891]\n[sha = SHA-256]\n\n# tcId = 295\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00dce8c223f235699d1f5d2dcde4809d013390b59129f783239525c08f\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 0444e309eb686e7af7f1e2cc17fd56542b38910b3b7908ea54fb038d36477e829d4c8332e5b29f344ad27a21c18dab24a31ce7985b63a21304]\n[key.wx = 44e309eb686e7af7f1e2cc17fd56542b38910b3b7908ea54fb038d36]\n[key.wy = 477e829d4c8332e5b29f344ad27a21c18dab24a31ce7985b63a21304]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000444e309eb686e7af7f1e2cc17fd56542b38910b3b7908ea54fb038d36477e829d4c8332e5b29f344ad27a21c18dab24a31ce7985b63a21304]\n[sha = SHA-256]\n\n# tcId = 296\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c074aae944ee7a7d544a5ad0bd06366f872d2250ba3018a63d2a7f2e6\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04c728064542cb5142f5eefe638124dcd7a1ad0b3555842a47dd5108e110129dd878ebd47313276cec86f521ea9585cd105b3dc421141993b8]\n[key.wx = 0c728064542cb5142f5eefe638124dcd7a1ad0b3555842a47dd5108e1]\n[key.wy = 10129dd878ebd47313276cec86f521ea9585cd105b3dc421141993b8]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004c728064542cb5142f5eefe638124dcd7a1ad0b3555842a47dd5108e110129dd878ebd47313276cec86f521ea9585cd105b3dc421141993b8]\n[sha = SHA-256]\n\n# tcId = 297\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00aae944ee7a7d544a5ad0bd0636d9455f4e83de0f186f89bca56b3c5c\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04c46c1ad3d3d0df8e9c0f525c21ce8d81ef9d66297f442d63099667220cfa2253aa31a98d8966b85969bf9c819c019292ef6a53ac1db2a108]\n[key.wx = 0c46c1ad3d3d0df8e9c0f525c21ce8d81ef9d66297f442d6309966722]\n[key.wy = 0cfa2253aa31a98d8966b85969bf9c819c019292ef6a53ac1db2a108]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004c46c1ad3d3d0df8e9c0f525c21ce8d81ef9d66297f442d63099667220cfa2253aa31a98d8966b85969bf9c819c019292ef6a53ac1db2a108]\n[sha = SHA-256]\n\n# tcId = 298\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c55d289dcf4faa894b5a17a0c6db3741bbc4ecbe01d01ea33ee7a4e7b\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04b7b2e48c1e60e20925f4d9b6be600dd83786a936c9bfab00639c33caa967cbc65070739a3379da80d54843a18d9c11a29a32234a0b303c12]\n[key.wx = 0b7b2e48c1e60e20925f4d9b6be600dd83786a936c9bfab00639c33ca]\n[key.wy = 0a967cbc65070739a3379da80d54843a18d9c11a29a32234a0b303c12]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b7b2e48c1e60e20925f4d9b6be600dd83786a936c9bfab00639c33caa967cbc65070739a3379da80d54843a18d9c11a29a32234a0b303c12]\n[sha = SHA-256]\n\n# tcId = 299\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c4ee7a7d544a5ad0bd0636d9e12bc561ce04faaf1312bba3a15601ebc\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04f4a3d4598875af7f2741bbd67b1733b6541bc5325b3bcb4d3267c27ec30bf322f58a45c6c2aa2ced55f175d1cbf72a7c5bfc464d74f666c0]\n[key.wx = 0f4a3d4598875af7f2741bbd67b1733b6541bc5325b3bcb4d3267c27e]\n[key.wy = 0c30bf322f58a45c6c2aa2ced55f175d1cbf72a7c5bfc464d74f666c0]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004f4a3d4598875af7f2741bbd67b1733b6541bc5325b3bcb4d3267c27ec30bf322f58a45c6c2aa2ced55f175d1cbf72a7c5bfc464d74f666c0]\n[sha = SHA-256]\n\n# tcId = 300\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c361b9cd74d65e79a5874c501bca4973b20347ec97f6de10072d8b46a\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 0456d1e5c1d664f6ce2fc1fcb937a7ce231a29486abf36c73f77a2bd116cb282c9d7c6fc05f399c183e880ea362edf043cd28ffac9f94f2141]\n[key.wx = 56d1e5c1d664f6ce2fc1fcb937a7ce231a29486abf36c73f77a2bd11]\n[key.wy = 6cb282c9d7c6fc05f399c183e880ea362edf043cd28ffac9f94f2141]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000456d1e5c1d664f6ce2fc1fcb937a7ce231a29486abf36c73f77a2bd116cb282c9d7c6fc05f399c183e880ea362edf043cd28ffac9f94f2141]\n[sha = SHA-256]\n\n# tcId = 301\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c6c3739ae9acbcf34b0e98a0379492e764068fd92fedbc200e5b168d4\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 0430bce8c6b7f1bbba040b8d121d85d55167ac99b2e2cf1cfac8b018b5f1c384c35be0ae309a5cb55aba982343d2125f2d4a559d8c545359cd]\n[key.wx = 30bce8c6b7f1bbba040b8d121d85d55167ac99b2e2cf1cfac8b018b5]\n[key.wy = 0f1c384c35be0ae309a5cb55aba982343d2125f2d4a559d8c545359cd]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000430bce8c6b7f1bbba040b8d121d85d55167ac99b2e2cf1cfac8b018b5f1c384c35be0ae309a5cb55aba982343d2125f2d4a559d8c545359cd]\n[sha = SHA-256]\n\n# tcId = 302\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00a252d685e831b6cf095e4f0535edc5b1609d7c5c7e49a301588a1d3e\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04e87e538a978cf187908beb27a4a247d496a8421dab1fe79f8744d2b5539b9f8fe8bddcf7c97c44c55a4fc22f4d78f6a961447a5b613b5c49]\n[key.wx = 0e87e538a978cf187908beb27a4a247d496a8421dab1fe79f8744d2b5]\n[key.wy = 539b9f8fe8bddcf7c97c44c55a4fc22f4d78f6a961447a5b613b5c49]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004e87e538a978cf187908beb27a4a247d496a8421dab1fe79f8744d2b5539b9f8fe8bddcf7c97c44c55a4fc22f4d78f6a961447a5b613b5c49]\n[sha = SHA-256]\n\n# tcId = 303\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00ee746111f91ab4ce8fae96e6f23fd9d20a24d2e79eea563478c0f566\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04113a2cc57c8ee7de11bc45e14546c72a29725b9a7218114ac31f02816c765b9a46b0215312a3292f5979c98d37b35883baa156281b1bae8c]\n[key.wx = 113a2cc57c8ee7de11bc45e14546c72a29725b9a7218114ac31f0281]\n[key.wy = 6c765b9a46b0215312a3292f5979c98d37b35883baa156281b1bae8c]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004113a2cc57c8ee7de11bc45e14546c72a29725b9a7218114ac31f02816c765b9a46b0215312a3292f5979c98d37b35883baa156281b1bae8c]\n[sha = SHA-", - "256]\n\n# tcId = 304\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c7fffffffffffffffffffffffffffb2364ae85014b149b86c741eb8be\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 0423dd9c3f1a4b478b01fa2c5e997d0482073b32918de44be583dcf74ad661a5ed579a2f09d2ff56d6b80f26568d93a237ca6444b0cadc7951]\n[key.wx = 23dd9c3f1a4b478b01fa2c5e997d0482073b32918de44be583dcf74a]\n[key.wy = 0d661a5ed579a2f09d2ff56d6b80f26568d93a237ca6444b0cadc7951]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000423dd9c3f1a4b478b01fa2c5e997d0482073b32918de44be583dcf74ad661a5ed579a2f09d2ff56d6b80f26568d93a237ca6444b0cadc7951]\n[sha = SHA-256]\n\n# tcId = 305\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00855f5b2dc8e46ec428a593f73219cf65dae793e8346e30cc3701309c\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04bbce4b17d45d24a1c80bc8eca98c359d5e1e458058a00b950643256dfe09e092318e39303dca03688e4ecf300300784312d617e5088c584c]\n[key.wx = 0bbce4b17d45d24a1c80bc8eca98c359d5e1e458058a00b950643256d]\n[key.wy = 0fe09e092318e39303dca03688e4ecf300300784312d617e5088c584c]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004bbce4b17d45d24a1c80bc8eca98c359d5e1e458058a00b950643256dfe09e092318e39303dca03688e4ecf300300784312d617e5088c584c]\n[sha = SHA-256]\n\n# tcId = 306\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c2db5f61aea817276af2064e104c7a30e32034cb526dd0aacfa56566f\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04035f58446c1bdbeaa56660a897ebf965f2d18820c7cd0630f04a495347bdfaea60091f405e09929cb2c0e2f6eed53e0871b7fe0cd5a15d85]\n[key.wx = 35f58446c1bdbeaa56660a897ebf965f2d18820c7cd0630f04a4953]\n[key.wy = 47bdfaea60091f405e09929cb2c0e2f6eed53e0871b7fe0cd5a15d85]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004035f58446c1bdbeaa56660a897ebf965f2d18820c7cd0630f04a495347bdfaea60091f405e09929cb2c0e2f6eed53e0871b7fe0cd5a15d85]\n[sha = SHA-256]\n\n# tcId = 307\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d0084a6c7513e5f48c07fffffffffff8713f3cba1293e4f3e95597fe6bd\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04911c0033eac46332691cb7920c4950eed57354761e1081a1ea9f1279508ebf7cfd3eab5dabdee1be14ce8296b1fc20acfaac16f7824c6002]\n[key.wx = 0911c0033eac46332691cb7920c4950eed57354761e1081a1ea9f1279]\n[key.wy = 508ebf7cfd3eab5dabdee1be14ce8296b1fc20acfaac16f7824c6002]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004911c0033eac46332691cb7920c4950eed57354761e1081a1ea9f1279508ebf7cfd3eab5dabdee1be14ce8296b1fc20acfaac16f7824c6002]\n[sha = SHA-256]\n\n# tcId = 308\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c6c7513e5f48c07ffffffffffffff9d21fd1b31544cb13ca86a75b25e\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 0462b2abb70bb9c7efdfb57181f433b64751f108130dce180d6992e7d3124b3aa8a53e5eedf72aa67e6edcc71f19e36e6ad1d099a59ffd9555]\n[key.wx = 62b2abb70bb9c7efdfb57181f433b64751f108130dce180d6992e7d3]\n[key.wy = 124b3aa8a53e5eedf72aa67e6edcc71f19e36e6ad1d099a59ffd9555]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000462b2abb70bb9c7efdfb57181f433b64751f108130dce180d6992e7d3124b3aa8a53e5eedf72aa67e6edcc71f19e36e6ad1d099a59ffd9555]\n[sha = SHA-256]\n\n# tcId = 309\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00d8ea27cbe9180fffffffffffffff3a43fa3662a899627950d4eb64bc\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 040f759330e7992752aae6a85f7bb0599784bea53e288ff7ee8d53d5e6defe617362380e92f9a23c4fdcc34e09713aab9cc44119418f6f2fd1]\n[key.wx = 0f759330e7992752aae6a85f7bb0599784bea53e288ff7ee8d53d5e6]\n[key.wy = 0defe617362380e92f9a23c4fdcc34e09713aab9cc44119418f6f2fd1]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00040f759330e7992752aae6a85f7bb0599784bea53e288ff7ee8d53d5e6defe617362380e92f9a23c4fdcc34e09713aab9cc44119418f6f2fd1]\n[sha = SHA-256]\n\n# tcId = 310\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c3e5f48c07fffffffffffffffffffc724968c0ecf9ed783744a7337b3\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 048f2eda42742ab31f5d4cf666892d1d623efd3b26f7df9aa70296e80d3beaf235cfea41fadb98c533a8fdeb5841d69ee65f6e71914711f138]\n[key.wx = 08f2eda42742ab31f5d4cf666892d1d623efd3b26f7df9aa70296e80d]\n[key.wy = 3beaf235cfea41fadb98c533a8fdeb5841d69ee65f6e71914711f138]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00048f2eda42742ab31f5d4cf666892d1d623efd3b26f7df9aa70296e80d3beaf235cfea41fadb98c533a8fdeb5841d69ee65f6e71914711f138]\n[sha = SHA-256]\n\n# tcId = 311\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00bfffffffffffffffffffffffffff3d87bb44c833bb384d0f224ccdde\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 042bcf4371b319a691ed0e2e0c4a55a8a9b987dec86b863621e97b9c095b8660a74cc964a6af0311edc6b1cd980f9c7bf3a6c9b7f9132a0b2f]\n[key.wx = 2bcf4371b319a691ed0e2e0c4a55a8a9b987dec86b863621e97b9c09]\n[key.wy = 5b8660a74cc964a6af0311edc6b1cd980f9c7bf3a6c9b7f9132a0b2f]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00042bcf4371b319a691ed0e2e0c4a55a8a9b987dec86b863621e97b9c095b8660a74cc964a6af0311edc6b1cd980f9c7bf3a6c9b7f9132a0b2f]\n[sha = SHA-256]\n\n# tcId = 312\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c7fffffffffffffffffffffffffff646c95d0a029629370d8e83d717f\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04a6f252568f6fbd1ae045e602344359c0c216911723748f9a3e7fadec3b76efc75ba030bfe7de2ded686991e6183d40241a05b479693c7015]\n[key.wx = 0a6f252568f6fbd1ae045e602344359c0c216911723748f9a3e7fadec]\n[key.wy = 3b76efc75ba030bfe7de2ded686991e6183d40241a05b479693c7015]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004a6f252568f6fbd1ae045e602344359c0c216911723748f9a3e7fadec3b76efc75ba030bfe7de2ded686991e6183d40241a05b479693c7015]\n[sha = SHA-256]\n\n# tcId = 313\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c3fffffffffffffffffffffffffff8b51705c781f09ee94a2ae2e1520\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04a74c1c3a31c7d493ab2c0af89cf5e688621ca9466d2ba1d8761c3fe82ba0d08f4c9f76856c2b7138c8f1e780b6959992b16ccdfd925f4b3a]\n[key.wx = 0a74c1c3a31c7d493ab2c0af89cf5e688621ca9466d2ba1d8761c3fe8]\n[key.wy = 2ba0d08f4c9f76856c2b7138c8f1e780b6959992b16ccdfd925f4b3a]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004a74c1c3a31c7d493ab2c0af89cf5e688621ca9466d2ba1d8761c3fe82ba0d08f4c9f76856c2b7138c8f1e780b6959992b16ccdfd925f4b3a]\n[sha = SHA-256]\n\n# tcId = 314\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d0096dafb0d7540b93b5790327082635cd8895e1e799d5d19f92b594056\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04034ea72798257f33f24f64c49438fc43e8f67ddc7170fd127e2c43f280562acc9b49f2d7fcc89421d2a5db2ea8dd0361fb48d897d4612627]\n[key.wx = 34ea72798257f33f24f64c49438fc43e8f67ddc7170fd127e2c43f2]\n[key.wy = 080562acc9b49f2d7fcc89421d2a5db2ea8dd0361fb48d897d4612627]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004034ea72798257f33f24f64c49438fc43e8f67ddc7170fd127e2c43f280562acc9b49f2d7fcc89421d2a5db2ea8dd0361fb48d897d4612627]\n[sha = SHA-256]\n\n# tcId = 315\n# point duplication during verification\nmsg = 313233343030\nresult = valid\nsig = 303d021d00c44503dae85dd5210780f02928b3d927171c578f8603d16b240663c702", - "1c3f552f1c2b01651edf5902650fe9ab046f71999ac928edc0087bdb13\n# Some implementations of ECDSA do not handle duplication and points at infinity\n# correctly. This is a test vector that has been specially crafted to check for\n# such an omission.\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04034ea72798257f33f24f64c49438fc43e8f67ddc7170fd127e2c43f27fa9d53364b60d2803376bde2d5a24d05722fc9e04b727682b9ed9da]\n[key.wx = 34ea72798257f33f24f64c49438fc43e8f67ddc7170fd127e2c43f2]\n[key.wy = 7fa9d53364b60d2803376bde2d5a24d05722fc9e04b727682b9ed9da]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004034ea72798257f33f24f64c49438fc43e8f67ddc7170fd127e2c43f27fa9d53364b60d2803376bde2d5a24d05722fc9e04b727682b9ed9da]\n[sha = SHA-256]\n\n# tcId = 316\n# duplication bug\nmsg = 313233343030\nresult = invalid\nsig = 303d021d00c44503dae85dd5210780f02928b3d927171c578f8603d16b240663c7021c3f552f1c2b01651edf5902650fe9ab046f71999ac928edc0087bdb13\n# Some implementations of ECDSA do not handle duplication and points at infinity\n# correctly. This is a test vector that has been specially crafted to check for\n# such an omission.\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 043672ba9718e60d00eab4295c819ea366a778dd6fd621fa9665259cb67ae5e847eeaea674beeb636379e968f79265502e414a1d444f04ae79]\n[key.wx = 3672ba9718e60d00eab4295c819ea366a778dd6fd621fa9665259cb6]\n[key.wy = 7ae5e847eeaea674beeb636379e968f79265502e414a1d444f04ae79]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00043672ba9718e60d00eab4295c819ea366a778dd6fd621fa9665259cb67ae5e847eeaea674beeb636379e968f79265502e414a1d444f04ae79]\n[sha = SHA-256]\n\n# tcId = 317\n# comparison with point at infinity \nmsg = 313233343030\nresult = invalid\nsig = 303c021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021c33333333333333333333333333330486f9be9672d0c5d50ddf45a20c\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 0433eeefbfc77229136e56b575144863ed90b4c0f8a9e315816d6de648051749dd11480c141fb5a1946313163c0141265b68a26216bcb9936a]\n[key.wx = 33eeefbfc77229136e56b575144863ed90b4c0f8a9e315816d6de648]\n[key.wy = 51749dd11480c141fb5a1946313163c0141265b68a26216bcb9936a]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000433eeefbfc77229136e56b575144863ed90b4c0f8a9e315816d6de648051749dd11480c141fb5a1946313163c0141265b68a26216bcb9936a]\n[sha = SHA-256]\n\n# tcId = 318\n# extreme value for k and edgecase s\nmsg = 313233343030\nresult = valid\nsig = 303c021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04bda03b24b62243c61e288b6ea1e99a2886f700944eb1b8f0466cffd61c712a3aaace69331989b707e69e8de39d7cd1aeb65d97ad1800bf7f]\n[key.wx = 0bda03b24b62243c61e288b6ea1e99a2886f700944eb1b8f0466cffd6]\n[key.wy = 1c712a3aaace69331989b707e69e8de39d7cd1aeb65d97ad1800bf7f]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004bda03b24b62243c61e288b6ea1e99a2886f700944eb1b8f0466cffd61c712a3aaace69331989b707e69e8de39d7cd1aeb65d97ad1800bf7f]\n[sha = SHA-256]\n\n# tcId = 319\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303d021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021d00db6db6db6db6db6db6db6db6db6ceed4c09e84c77ebd9116e17391eb\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 047abba0cbff134ddcf54d04846f954b882ca9faefdfe818898bfb378b792f10b57970ae57bb4fb01c08886848855aeb1984d3d6fcb2b412df]\n[key.wx = 7abba0cbff134ddcf54d04846f954b882ca9faefdfe818898bfb378b]\n[key.wy = 792f10b57970ae57bb4fb01c08886848855aeb1984d3d6fcb2b412df]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00047abba0cbff134ddcf54d04846f954b882ca9faefdfe818898bfb378b792f10b57970ae57bb4fb01c08886848855aeb1984d3d6fcb2b412df]\n[sha = SHA-256]\n\n# tcId = 320\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303c021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021c33333333333333333333333333330486f9be9672d0c5d50ddf45a20c\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04f68d99e28653b9ba3e7cedb3b78165f5a54fbe90d4b9f88497977e16234da3eaa0178a51b5b0c208ef0818df6f6578793c1af1787026b8da]\n[key.wx = 0f68d99e28653b9ba3e7cedb3b78165f5a54fbe90d4b9f88497977e16]\n[key.wy = 234da3eaa0178a51b5b0c208ef0818df6f6578793c1af1787026b8da]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004f68d99e28653b9ba3e7cedb3b78165f5a54fbe90d4b9f88497977e16234da3eaa0178a51b5b0c208ef0818df6f6578793c1af1787026b8da]\n[sha = SHA-256]\n\n# tcId = 321\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303d021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021d00cccccccccccccccccccccccccccc121be6fa59cb431754377d168831\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04065d9ef133ce81c2d6b66e928360f9527f8f36b5badd35b5f10934272004852755f77440a0b08b9f165489c0696e8b4981d6d04a285b0fd1]\n[key.wx = 65d9ef133ce81c2d6b66e928360f9527f8f36b5badd35b5f1093427]\n[key.wy = 2004852755f77440a0b08b9f165489c0696e8b4981d6d04a285b0fd1]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004065d9ef133ce81c2d6b66e928360f9527f8f36b5badd35b5f10934272004852755f77440a0b08b9f165489c0696e8b4981d6d04a285b0fd1]\n[sha = SHA-256]\n\n# tcId = 322\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303c021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021c249249249249249249249249249227ce201a6b76951f982e7ae89852\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04d6cea09472ede574ce1e0546c9acd0e1cd8cba9b121df29e89d5092e83904ebfb902ea61c987dc0508e0c9a7e563e2609feaf79140ab91d6]\n[key.wx = 0d6cea09472ede574ce1e0546c9acd0e1cd8cba9b121df29e89d5092e]\n[key.wy = 083904ebfb902ea61c987dc0508e0c9a7e563e2609feaf79140ab91d6]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004d6cea09472ede574ce1e0546c9acd0e1cd8cba9b121df29e89d5092e83904ebfb902ea61c987dc0508e0c9a7e563e2609feaf79140ab91d6]\n[sha = SHA-256]\n\n# tcId = 323\n# extreme value for k\nmsg = 313233343030\nresult = valid\nsig = 303c021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021c0eb10e5ab95facded4061029d63a46f46f12947411f2ea561a592057\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04c520b18003b356094147ee2f9df1178572bed837bd89443b25ebceb80e2e93a998fbbabe82192ea4c85651cf09a95ab0dc2e3d975ee7be98]\n[key.wx = 0c520b18003b356094147ee2f9df1178572bed837bd89443b25ebceb8]\n[key.wy = 0e2e93a998fbbabe82192ea4c85651cf09a95ab0dc2e3d975ee7be98]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004c520b18003b356094147ee2f9df1178572bed837bd89443b25ebceb80e2e93a998fbbabe82192ea4c85651cf09a95ab0dc2e3d975ee7be98]\n[sha = SHA-256]\n\n# tcId = 324\n# extreme value for k and edgecase s\nmsg = 313233343030\nresult = valid\nsig = 303d021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 049dd0b99bb7a830bcc7d55abac42912d525b063c50cf377ca5771a26ca141fccf0793c2ba2469a946c2d4ed26344052c63a6d7e7797ce96c3]\n[key.wx = 09dd0b99bb7a830bcc7d55abac42912d525b063c50cf377ca5771a26c]\n[key.wy = 0a141fccf0793c2ba2469a946c2d4ed26344052c63a6d7e7797ce96c3]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00049dd0b99bb7a830bcc7d55abac42912d525b063c50cf377ca5771a26ca141fccf0793c2ba2469a946c2d4ed26344052c63a6d7e7797ce96c3]\n[sha = SHA-256]\n\n# tcId = 325\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303e021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021d00db6db6db6db6db6db6db6db6db6ceed4c09e84c77ebd9116e17391eb\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 043dab9f1b19e715d174a7360920375d569a181f055e66f01391871b6f47a6d87c23a5b6a1e3d0a9721302cc02cce35f35dea08e22619be521]\n[key.wx = 3dab9f1b19e715d174a7360920375d569a181f055e66f01391871b6f]\n[key.wy = 47a6d87c23a5b6a1e3d0a9721302cc02cce35f35dea08e22619be521]\n[keyDer = 304", - "e301006072a8648ce3d020106052b81040021033a00043dab9f1b19e715d174a7360920375d569a181f055e66f01391871b6f47a6d87c23a5b6a1e3d0a9721302cc02cce35f35dea08e22619be521]\n[sha = SHA-256]\n\n# tcId = 326\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303d021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021c33333333333333333333333333330486f9be9672d0c5d50ddf45a20c\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 0456dde1ba58ea31053b2535c66623344c24c72d214af5be6982e89100e771084806143e86f2b31bdaf62280f5b311d0d2bdbb385b20fc6c87]\n[key.wx = 56dde1ba58ea31053b2535c66623344c24c72d214af5be6982e89100]\n[key.wy = 0e771084806143e86f2b31bdaf62280f5b311d0d2bdbb385b20fc6c87]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000456dde1ba58ea31053b2535c66623344c24c72d214af5be6982e89100e771084806143e86f2b31bdaf62280f5b311d0d2bdbb385b20fc6c87]\n[sha = SHA-256]\n\n# tcId = 327\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303e021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021d00cccccccccccccccccccccccccccc121be6fa59cb431754377d168831\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 0494efe1387fc0447d7dbcb53739a0e4e0ddec181d382caea645b1a6124414a6b1c78908d0fa206f8f2de950ad4a14d1ce94d9cddbe32e4601]\n[key.wx = 094efe1387fc0447d7dbcb53739a0e4e0ddec181d382caea645b1a612]\n[key.wy = 4414a6b1c78908d0fa206f8f2de950ad4a14d1ce94d9cddbe32e4601]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000494efe1387fc0447d7dbcb53739a0e4e0ddec181d382caea645b1a6124414a6b1c78908d0fa206f8f2de950ad4a14d1ce94d9cddbe32e4601]\n[sha = SHA-256]\n\n# tcId = 328\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303d021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021c249249249249249249249249249227ce201a6b76951f982e7ae89852\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 046286803b952976ee1897013695d3ef2cbb6f977142a042b236572577722a6ce9ad3e3fd28e451833496c63b8ab70538877215f204942bf59]\n[key.wx = 6286803b952976ee1897013695d3ef2cbb6f977142a042b236572577]\n[key.wy = 722a6ce9ad3e3fd28e451833496c63b8ab70538877215f204942bf59]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00046286803b952976ee1897013695d3ef2cbb6f977142a042b236572577722a6ce9ad3e3fd28e451833496c63b8ab70538877215f204942bf59]\n[sha = SHA-256]\n\n# tcId = 329\n# extreme value for k\nmsg = 313233343030\nresult = valid\nsig = 303d021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021c0eb10e5ab95facded4061029d63a46f46f12947411f2ea561a592057\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34]\n[key.wx = 0b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21]\n[key.wy = 0bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34]\n[sha = SHA-256]\n\n# tcId = 330\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 303d021d00bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419fe021c249249249249249249249249249227ce201a6b76951f982e7ae89851\n\n# tcId = 331\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 303c021c44a5ad0bd0636d9e12bc9e0a6bdc74bfe082087ae8b61cbd54b8103f021c249249249249249249249249249227ce201a6b76951f982e7ae89851\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d2142c89c774a08dc04b3dd201932bc8a5ea5f8b89bbb2a7e667aff81cd]\n[key.wx = 0b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21]\n[key.wy = 42c89c774a08dc04b3dd201932bc8a5ea5f8b89bbb2a7e667aff81cd]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d2142c89c774a08dc04b3dd201932bc8a5ea5f8b89bbb2a7e667aff81cd]\n[sha = SHA-256]\n\n# tcId = 332\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 303d021d00bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419fe021c249249249249249249249249249227ce201a6b76951f982e7ae89851\n\n# tcId = 333\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 303c021c44a5ad0bd0636d9e12bc9e0a6bdc74bfe082087ae8b61cbd54b8103f021c249249249249249249249249249227ce201a6b76951f982e7ae89851\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 044c246670658a1d41f5d77bce246cbe386ac22848e269b9d4cd67c466ddd947153d39b2d42533a460def26880408caf2dd3dd48fe888cd176]\n[key.wx = 4c246670658a1d41f5d77bce246cbe386ac22848e269b9d4cd67c466]\n[key.wy = 0ddd947153d39b2d42533a460def26880408caf2dd3dd48fe888cd176]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00044c246670658a1d41f5d77bce246cbe386ac22848e269b9d4cd67c466ddd947153d39b2d42533a460def26880408caf2dd3dd48fe888cd176]\n[sha = SHA-256]\n\n# tcId = 334\n# pseudorandom signature\nmsg = \nresult = valid\nsig = 303d021c0364e7d96832614a80216e730c353534d4bffd2c26649c0b4b0e2628021d008f40064b412fe38c5ba9cf664e6172ed48e6e79f0fe5e31a54985dfc\n\n# tcId = 335\n# pseudorandom signature\nmsg = 4d7367\nresult = valid\nsig = 303d021d00f4b68df62b9238363ccc1bbee00deb3fb2693f7894178e14eeac596a021c7f51c9451adacd2bcbc721f7df0643d7cd18a6b52064b507e1912f23\n\n# tcId = 336\n# pseudorandom signature\nmsg = 313233343030\nresult = valid\nsig = 303d021d00b2970cdec29c70294a18bbc49985efa33acc0af509c326a3977a35e8021c0cea3ed8ebaaf6ee6aef6049a23cbc39f61fcf8fc6be4bab13385579\n\n# tcId = 337\n# pseudorandom signature\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 303d021c7e7b0eb7da8c68a7072b11404ee95a5c407fbfe3d69646802e28ae77021d00d409a2f6bbaae59bb60fc0a092b12fa4e67dc8d088cf19a833322fd6\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04aed6fcad2400c4d94e55dbb6b012ce3d4c2b46843fbe99d4289e6ecf8a24a89e71343d7d151d258d2cb690349c2d56b366dd10a600000000]\n[key.wx = 0aed6fcad2400c4d94e55dbb6b012ce3d4c2b46843fbe99d4289e6ecf]\n[key.wy = 08a24a89e71343d7d151d258d2cb690349c2d56b366dd10a600000000]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004aed6fcad2400c4d94e55dbb6b012ce3d4c2b46843fbe99d4289e6ecf8a24a89e71343d7d151d258d2cb690349c2d56b366dd10a600000000]\n[sha = SHA-256]\n\n# tcId = 338\n# y-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 303c021c519bf185ff4635271961fa491be257231deeea9c53a6ede3b4a89ed1021c486bdad484a6a3134e1471cf56a9df0fac50f773b3e37d6f327617d7\n\n# tcId = 339\n# y-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c09fd644898b7cb5d018b52234e7b4ef2b54789afd0ce9c434e9e5515021d00f19309532164ea2053cae55df7bdcbab536c83ea7bfe6fe10d60c1ab\n\n# tcId = 340\n# y-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 303d021d00ec919d4e283ccf1f71a9e3c0f781a36758d3f38b1b78a87a74288e80021c4c4663044a73c79bd88f0dc245ab1a32f89f06f40a704b31e9fabc51\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04bf19ecfe43ffe289f699f479316145b9a7f7370b9ece5ab1212174f173d528949ae9142f818bade71a960407963be0b6482a6a60ffffffff]\n[key.wx = 0bf19ecfe43ffe289f699f479316145b9a7f7370b9ece5ab1212174f1]\n[key.wy = 73d528949ae9142f818bade71a960407963be0b6482a6a60ffffffff]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004bf19ecfe43ffe289f699f479316145b9a7f7370b9ece5ab1212174f173d528949ae9142f818bade71a960407963be0b6482a6a60ffffffff]\n[sha = SHA-256]\n\n# tcId = 341\n# y-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 303e021d00c51760478447217597ecc6f4001bd45088d53c90f53103608bf88aea021d00a201253aa903f9781e8992101d7171d2dd3a5d48c44d8e1d544cd6d7\n\n# tcId = 342\n# y-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 303c021c76be0112674ec29128823e1af7512e6143872fef30a64e2f1799bd56021c187e503e1a48c27b549fe0a4ce5e581e242c8663fc9efb02d6f2b193\n\n# tcId = 343\n# y-coordinate of the public key has many trailing ", - "1's\nmsg = 4d657373616765\nresult = valid\nsig = 303c021c36245ef126b5b51e459f84eaaad5a495061f0471dc8c23f1c5f16282021c39e31d72a06ba8e14fcf95778e07bc16a2628e39449da8857d506edc\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 0426e5abf135cb54eaaa16b69e4b0b292275344e88a09df6df80000000eab891de54e3f26ff50ab989f333dac551583d468ae623c596434af0]\n[key.wx = 26e5abf135cb54eaaa16b69e4b0b292275344e88a09df6df80000000]\n[key.wy = 0eab891de54e3f26ff50ab989f333dac551583d468ae623c596434af0]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000426e5abf135cb54eaaa16b69e4b0b292275344e88a09df6df80000000eab891de54e3f26ff50ab989f333dac551583d468ae623c596434af0]\n[sha = SHA-256]\n\n# tcId = 344\n# x-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 303c021c258682975df8bca7f203f771ebeb478ef637360c860fc386cfb21745021c7663e70188047e41469a2a35c8c330dd900f2340ba82aafd22962a96\n\n# tcId = 345\n# x-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 303e021d0085c98614f36c0d66f8d87834cae978611b7b4eebf59a46bea1b89ae9021d00d1a18e378dda840e06b60f6279bf0a2231d9fa2d8d2c31e88bc1bdd7\n\n# tcId = 346\n# x-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 303e021d00ca7b7432ba41ff2112e1116fffde89bbd68f5ce67fe5513d16c8e6f7021d00e421b7599e0180798acc2006451603cda2db1d582741116e6033ce5f\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04ec627f345545d03f8c6dbd08e575527116567fe375f9ecaaffffffff41bf705697d5f716bcf78718d5393b63a98691f4a1f24246375538fd]\n[key.wx = 0ec627f345545d03f8c6dbd08e575527116567fe375f9ecaaffffffff]\n[key.wy = 41bf705697d5f716bcf78718d5393b63a98691f4a1f24246375538fd]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004ec627f345545d03f8c6dbd08e575527116567fe375f9ecaaffffffff41bf705697d5f716bcf78718d5393b63a98691f4a1f24246375538fd]\n[sha = SHA-256]\n\n# tcId = 347\n# x-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 303c021c19397fe5d3ecabf80fc624c1bf379564387517c185087dc97d605069021c33b5773e9aaf6c34cb612cfc81efd3bf9c22224e8c4fa1bfccf5c501\n\n# tcId = 348\n# x-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c70f24f5c164164bfbb8459aa12a981aa312dbcf00204326ebaaabdc8021d00f5cebee8caedae8662c43501665084b45d2f494fb70d603043543dc4\n\n# tcId = 349\n# x-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c0bf2d86ecaa8b56aca5e8f8ebcb45081d078a14555b75f5be8e9b132021d009a55b3ce4734849966b5034ccd9b19f76407ee0241c3f58e7b8fc89a\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 0415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a00000000762d28f1fdc219184f81681fbff566d465b5f1f31e872df5]\n[key.wx = 15016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a]\n[key.wy = 762d28f1fdc219184f81681fbff566d465b5f1f31e872df5]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a00000000762d28f1fdc219184f81681fbff566d465b5f1f31e872df5]\n[sha = SHA-256]\n\n# tcId = 350\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303e021d00bfc5dc4434cd09369610687d38d2d418b63fd475dea246a456b25a3a021d00b171dfa6cf722f20816370a868785da842b37bac31d7b78e6751fc50\n\n# tcId = 351\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303e021d008fdbe8da646c5642d767c7dbeb3872b1edab6e37365805f0e94ce0a9021d00bcf35ab81222883dd3526cb0cf93138f4687cd0b10c2b0a126385161\n\n# tcId = 352\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303d021d00e23a11275848fd4f8b6f4ac4fc305eae981d3b7dc453e5a980c46422021c1a875693f24a03ea1614c4c3bbd0dd7221429f22b337ea7d98348ca4\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 0415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555affffffff89d2d70e023de6e7b07e97df400a992b9a4a0e0ce178d20c]\n[key.wx = 15016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a]\n[key.wy = 0ffffffff89d2d70e023de6e7b07e97df400a992b9a4a0e0ce178d20c]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555affffffff89d2d70e023de6e7b07e97df400a992b9a4a0e0ce178d20c]\n[sha = SHA-256]\n\n# tcId = 353\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c76645164ff9af3a1a9205fda2eef326d2bffc795dcc4829547fe01dd021d00b65bba503719314b27734dd06b1395d540af8396029b78b84e0149eb\n\n# tcId = 354\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303c021c32fa0ca7e07f1f86ac350734994e1f31b6da9c82f93dced2b983c29c021c7b7891282206a45711bdfcb2a102b5d289df84ff5778548603574004\n\n# tcId = 355\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c2d5492478ca64e5111dfd8521867b6477b7e78227849ad090b855694021d00a532f5a2fa3594af81cd5928b81b4057da717be5fb42a3a86c68190d\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 0400000000f7e4713d085112112c37cdf4601ff688da796016b71a727ade5a9ec165054cc987f9dc87e9991b92e4fa649ca655eeae9f2a30e1]\n[key.wx = 0f7e4713d085112112c37cdf4601ff688da796016b71a727a]\n[key.wy = 0de5a9ec165054cc987f9dc87e9991b92e4fa649ca655eeae9f2a30e1]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000400000000f7e4713d085112112c37cdf4601ff688da796016b71a727ade5a9ec165054cc987f9dc87e9991b92e4fa649ca655eeae9f2a30e1]\n[sha = SHA-256]\n\n# tcId = 356\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c191eee5daf55cd499e8539cb2cff797cfec5d566d2027bf9f8d64693021d00dadfeae8131f64d96b94fd340197caa2bc04818554812feef3343070\n\n# tcId = 357\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303e021d00e0e2c08180b8a207ee9105a7d379fa112368e8370fa09dfde4a45c45021d00c717bc0860e016e7ce48f8fe6a299b36906a6055adad93b416ce8838\n\n# tcId = 358\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c1b919ef93532292743bb2e1b7b4894fd847c6e5de52a08e1b0f2dcfb021d00c2d30d6b7594d8dbd261491ae1d58779505b075b64e5564dc97a418b\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04ffffffffeadf7cee8d34d04cf22c8f7de35674fb2f501d242a76f72586c409309d398e60ce1e0a4c9e05a9d32627577e8ce2cc7f3afa2c3e]\n[key.wx = 0ffffffffeadf7cee8d34d04cf22c8f7de35674fb2f501d242a76f725]\n[key.wy = 086c409309d398e60ce1e0a4c9e05a9d32627577e8ce2cc7f3afa2c3e]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004ffffffffeadf7cee8d34d04cf22c8f7de35674fb2f501d242a76f72586c409309d398e60ce1e0a4c9e05a9d32627577e8ce2cc7f3afa2c3e]\n[sha = SHA-256]\n\n# tcId = 359\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303d021d00e75db49ed33ff2885ea6100cc95b8fe1b9242ea4248db07bcac2e020021c796c866142ae8eb75bb0499c668c6fe45497692fbcc66b37c2e4624f\n\n# tcId = 360\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303c021c1f81cd924362ec825890307b9b3936e0d8f728a7c84bdb43c5cf0433021c39d3e46a03040ad41ac026b18e0629f6145e3dc8d1e6bbe200c8482b\n\n# tcId = 361\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303c021c00fda613aa67ca42673ad4309f3f0f05b2569f3dee63f4aa9cc54cf3021c1e5a64b68a37e5b201c918303dc7a40439aaeacf019c5892a8f6d0ce\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1000000000e2ab0e8495e859eb2afb00769d6e7fe626a119167c0b6bc]\n[key.wx = 0b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1]\n[key.wy = 0e2ab0e8495e859eb2afb00769d6e7fe626a119167c0b6bc]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1000000000e2ab0e8495e859eb2afb00769d6e7fe626a119167c0b6bc]\n[sha = SHA-256]\n\n# tcId = 362\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303e021d00b932b3f7e6467e1ec7a561f31160248c7f224550a8508788634b53ce021d00a0c5312acf9e801aff6d6fc98550c", - "fa712bbf65937165a36f2c32dc9\n\n# tcId = 363\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303d021d00e509593fb09245ee8226ce72786b0cc352be555a7486be628f4fd00c021c0b7abde0061b1e07bf13319150a4ff6a464abab636ab4e297b0d7633\n\n# tcId = 364\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303c021c6e54f941204d4639b863c98a65b7bee318d51ab1900a8f345eac6f07021c0da5054829214ecde5e10579b36a2fe6426c24b064ed77c38590f25c\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1fffffffff1d54f17b6a17a614d504ff7962918019d95ee6e983f4945]\n[key.wx = 0b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1]\n[key.wy = 0fffffffff1d54f17b6a17a614d504ff7962918019d95ee6e983f4945]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1fffffffff1d54f17b6a17a614d504ff7962918019d95ee6e983f4945]\n[sha = SHA-256]\n\n# tcId = 365\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303d021d0085ea4ab3ffdc992330c0ca8152faf991386bce82877dbb239ba654f6021c0806c6baf0ebea4c1aaa190e7d4325d46d1f7789d550632b70b5fc9b\n\n# tcId = 366\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c44d53debb646b73485402eab2d099081b97b1243c025b624f0dd67ea021d00e5de789a7d4b77eac6d7bba41658e6e4dc347dabed2f9680c04a6f55\n\n# tcId = 367\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303c021c1526eb2f657ebea9af4ca184b975c02372c88e24e835f3f5774c0e12021c1f1ecce38ee52372cb201907794de17b6d6c1afa13c316c51cb07bc7\n\n", +static const char *kData100[] = { + "# Imported from Wycheproof's ecdsa_secp224r1_sha256_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: ECDSA\n# Generator version: 0.8r12\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04eada93be10b2449e1e8bb58305d52008013c57107c1a20a317a6cba7eca672340c03d1d2e09663286691df55069fa25490c9dd9f9c0bb2b5]\n[key.wx = 00eada93be10b2449e1e8bb58305d52008013c57107c1a20a317a6cba7]\n[key.wy = 00eca672340c03d1d2e09663286691df55069fa25490c9dd9f9c0bb2b5]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004eada93be10b2449e1e8bb58305d52008013c57107c1a20a317a6cba7eca672340c03d1d2e09663286691df55069fa25490c9dd9f9c0bb2b5]\n[sha = SHA-256]\n\n# tcId = 1\n# signature malleability\nmsg = 313233343030\nresult = valid\nsig = 303d021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021d009e82950ebe102f37ff3645cc7d3c1bab8864e5e03a5011eeba8150bc\n\n# tcId = 2\n# valid\nmsg = 313233343030\nresult = valid\nsig = 303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 3\n# long form encoding of length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 30813c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\nflags = BER\n\n# tcId = 4\n# length of sequence contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 3082003c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\nflags = BER\n\n# tcId = 5\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 303d021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 6\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 303b021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 7\n# uint32 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3085010000003c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 8\n# uint64 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 308901000000000000003c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 9\n# length of sequence = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30847fffffff021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 10\n# length of sequence = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3084ffffffff021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 11\n# length of sequence = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3085ffffffffff021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 12\n# length of sequence = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3088ffffffffffffffff021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 13\n# incorrect length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 30ff021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 14\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 3080021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 15\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 303c02803ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 16\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040280617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 17\n# removing sequence\nmsg = 313233343030\nresult = invalid\nsig = \n\n# tcId = 18\n# lonely sequence tag\nmsg = 313233343030\nresult = invalid\nsig = 30\n\n# tcId = 19\n# appending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 303e021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810000\n\n# tcId = 20\n# prepending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 303e0000021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 21\n# appending unused 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810000\n\n# tcId = 22\n# appending null value to sequence\nmsg = 313233343030\nresult = invalid\nsig = 303e021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810500\n\n# tcId = 23\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3041498177303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 24\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 30402500303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 25\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 303e303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810004deadbeef\n\n# tcId = 26\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 30412221498177021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 27\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 304022202500021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 28\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3044221e021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040004deadbeef021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 29\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3041021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a042221498177021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 30\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3040021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a0422202500021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 31\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3044021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04221e021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810004deadbeef\n\n# tcId = 32\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 3044aa00bb00cd00303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 33\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 3042aa02aabb303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 34\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 30442224aa00bb00cd00021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 35\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 30422222aa02aabb021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 36\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 3044021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a042224aa00bb00cd00021c6", + "17d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 37\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 3042021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a042222aa02aabb021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 38\n# truncated length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3081\n\n# tcId = 39\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 3080303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810000\n\n# tcId = 40\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 30402280021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040000021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 41\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 3040021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a042280021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810000\n\n# tcId = 42\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 3080313c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810000\n\n# tcId = 43\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 30402280031c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040000021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 44\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 3040021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a042280031c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810000\n\n# tcId = 45\n# Replacing sequence with NULL\nmsg = 313233343030\nresult = invalid\nsig = 0500\n\n# tcId = 46\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 2e3c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 47\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 2f3c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 48\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 313c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 49\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 323c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 50\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = ff3c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 51\n# dropping value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3000\n\n# tcId = 52\n# using composition for sequence\nmsg = 313233343030\nresult = invalid\nsig = 3040300102303b1c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 53\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 303b021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9\n\n# tcId = 54\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 303b1c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 55\n# indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 3080021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810000\nflags = BER\n\n# tcId = 56\n# indefinite length with truncated delimiter\nmsg = 313233343030\nresult = invalid\nsig = 3080021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad98100\n\n# tcId = 57\n# indefinite length with additional element\nmsg = 313233343030\nresult = invalid\nsig = 3080021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad98105000000\n\n# tcId = 58\n# indefinite length with truncated element\nmsg = 313233343030\nresult = invalid\nsig = 3080021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981060811220000\n\n# tcId = 59\n# indefinite length with garbage\nmsg = 313233343030\nresult = invalid\nsig = 3080021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810000fe02beef\n\n# tcId = 60\n# indefinite length with nonempty EOC\nmsg = 313233343030\nresult = invalid\nsig = 3080021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810002beef\n\n# tcId = 61\n# prepend empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 303e3000021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 62\n# append empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 303e021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9813000\n\n# tcId = 63\n# append garbage with high tag number\nmsg = 313233343030\nresult = invalid\nsig = 303f021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981bf7f00\n\n# tcId = 64\n# sequence of sequence\nmsg = 313233343030\nresult = invalid\nsig = 303e303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 65\n# truncated sequence: removed last 1 elements\nmsg = 313233343030\nresult = invalid\nsig = 301e021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04\n\n# tcId = 66\n# repeating element in sequence\nmsg = 313233343030\nresult = invalid\nsig = 305a021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 67\n# long form encoding of length of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d02811c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\nflags = BER\n\n# tcId = 68\n# long form encoding of length of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a0402811c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\nflags = BER\n\n# tcId = 69\n# length of integer contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 303e0282001c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\nflags = BER\n\n# tcId = 70\n# length of integer contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 303e021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040282001c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\nflags = BER\n\n# tcId = 71\n# wrong length of integer\nmsg = 313233343030\nresult = invalid\nsig = 303c021d3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 72\n# wrong length of integer\nmsg = 313233343030\nresult = invalid\nsig = 303c021b3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 73\n# wrong length of integer\nmsg = 313233343030\nresult = invalid\nsig = 303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021d617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 74\n# wrong length of integer\nmsg = 313233343030\nresult = invalid\nsig = 303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021b617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 75\n# uint32 overflow in length of integer\nmsg = 313233343030\nresult = invalid\nsig = 30410285010000001c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c", + "800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 76\n# uint32 overflow in length of integer\nmsg = 313233343030\nresult = invalid\nsig = 3041021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040285010000001c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 77\n# uint64 overflow in length of integer\nmsg = 313233343030\nresult = invalid\nsig = 3045028901000000000000001c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 78\n# uint64 overflow in length of integer\nmsg = 313233343030\nresult = invalid\nsig = 3045021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04028901000000000000001c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 79\n# length of integer = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 304002847fffffff3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 80\n# length of integer = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3040021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a0402847fffffff617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 81\n# length of integer = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30400284ffffffff3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 82\n# length of integer = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3040021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040284ffffffff617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 83\n# length of integer = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30410285ffffffffff3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 84\n# length of integer = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3041021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040285ffffffffff617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 85\n# length of integer = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30440288ffffffffffffffff3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 86\n# length of integer = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3044021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040288ffffffffffffffff617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 87\n# incorrect length of integer\nmsg = 313233343030\nresult = invalid\nsig = 303c02ff3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 88\n# incorrect length of integer\nmsg = 313233343030\nresult = invalid\nsig = 303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a0402ff617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 89\n# removing integer\nmsg = 313233343030\nresult = invalid\nsig = 301e021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 90\n# lonely integer tag\nmsg = 313233343030\nresult = invalid\nsig = 301f02021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 91\n# lonely integer tag\nmsg = 313233343030\nresult = invalid\nsig = 301f021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a0402\n\n# tcId = 92\n# appending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 303e021e3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040000021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 93\n# appending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 303e021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021e617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810000\n\n# tcId = 94\n# prepending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 303e021e00003ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\nflags = BER\n\n# tcId = 95\n# prepending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 303e021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021e0000617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\nflags = BER\n\n# tcId = 96\n# appending unused 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 303e021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040000021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 97\n# appending null value to integer\nmsg = 313233343030\nresult = invalid\nsig = 303e021e3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040500021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 98\n# appending null value to integer\nmsg = 313233343030\nresult = invalid\nsig = 303e021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021e617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810500\n\n# tcId = 99\n# truncated length of integer\nmsg = 313233343030\nresult = invalid\nsig = 30200281021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 100\n# truncated length of integer\nmsg = 313233343030\nresult = invalid\nsig = 3020021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040281\n\n# tcId = 101\n# Replacing integer with NULL\nmsg = 313233343030\nresult = invalid\nsig = 30200500021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 102\n# Replacing integer with NULL\nmsg = 313233343030\nresult = invalid\nsig = 3020021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040500\n\n# tcId = 103\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303c001c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 104\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303c011c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 105\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303c031c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 106\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303c041c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 107\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303cff1c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 108\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04001c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 109\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04011c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 110\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04031c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 111\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04041c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 112\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04ff1c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 113\n# dropping value of integer\nmsg = 313233343030\nresult = invalid\nsig = 30200200021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 114\n# dropping value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3020021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040200\n\n# tcId = 115\n# using composition for integer\nmsg = 313233343030\nresult = invalid\nsig = 3040222002013a021bde5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 116\n# using ", + "composition for integer\nmsg = 313233343030\nresult = invalid\nsig = 3040021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a042220020161021b7d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 117\n# modify first byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 303c021c38de5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 118\n# modify first byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c637d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 119\n# modify last byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a84021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 120\n# modify last byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad901\n\n# tcId = 121\n# truncated integer\nmsg = 313233343030\nresult = invalid\nsig = 303b021b3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 122\n# truncated integer\nmsg = 313233343030\nresult = invalid\nsig = 303b021bde5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 123\n# truncated integer\nmsg = 313233343030\nresult = invalid\nsig = 303b021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021b617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9\n\n# tcId = 124\n# truncated integer\nmsg = 313233343030\nresult = invalid\nsig = 303b021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021b7d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 125\n# leading ff in integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021dff3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 126\n# leading ff in integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021dff617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 127\n# replaced integer by infinity\nmsg = 313233343030\nresult = invalid\nsig = 3021090180021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 128\n# replaced integer by infinity\nmsg = 313233343030\nresult = invalid\nsig = 3021021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04090180\n\n# tcId = 129\n# replacing integer with zero\nmsg = 313233343030\nresult = invalid\nsig = 3021020100021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 130\n# replacing integer with zero\nmsg = 313233343030\nresult = invalid\nsig = 3021021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04020100\n\n# tcId = 131\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303d021d013ade5c0624a5677ed7b6450d941fd283098d8a004fc718e2e7e6b441021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 132\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303d021dff3ade5c0624a5677ed7b6450d9421a53d481ba984280cc6582f2e5fc7021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 133\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303c021cc521a3f9db5a98812849baf26bdf441fd72b663dc4161062747575fc021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 134\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303d021d00c521a3f9db5a98812849baf26bde5ac2b7e4567bd7f339a7d0d1a039021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 135\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303d021dfec521a3f9db5a98812849baf26be02d7cf67275ffb038e71d18194bbf021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 136\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303d021d013ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 137\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303d021d00c521a3f9db5a98812849baf26bdf441fd72b663dc4161062747575fc021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 138\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303d021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021d01617d6af141efd0c800c9ba3382c2119a390cfa9bed6a409bfe3703be\n\n# tcId = 139\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303d021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021dff617d6af141efd0c800c9ba3382c3e454779b1a1fc5afee11457eaf44\n\n# tcId = 140\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c9e82950ebe102f37ff3645cc7d3d0508a7abf5a22672e8a95e25267f\n\n# tcId = 141\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303d021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021dfe9e82950ebe102f37ff3645cc7d3dee65c6f305641295bf6401c8fc42\n\n# tcId = 142\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303d021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021d01617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981\n\n# tcId = 143\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303d021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021d009e82950ebe102f37ff3645cc7d3d0508a7abf5a22672e8a95e25267f\n\n# tcId = 144\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020100020100\nflags = EdgeCase\n\n# tcId = 145\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020100020101\nflags = EdgeCase\n\n# tcId = 146\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201000201ff\nflags = EdgeCase\n\n# tcId = 147\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020100021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\nflags = EdgeCase\n\n# tcId = 148\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020100021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\nflags = EdgeCase\n\n# tcId = 149\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020100021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\nflags = EdgeCase\n\n# tcId = 150\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020100021d00ffffffffffffffffffffffffffffffff000000000000000000000001\nflags = EdgeCase\n\n# tcId = 151\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020100021d00ffffffffffffffffffffffffffffffff000000000000000000000002\nflags = EdgeCase\n\n# tcId = 152\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3008020100090380fe01\nflags = EdgeCase\n\n# tcId = 153\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020100090142\nflags = EdgeCase\n\n# tcId = 154\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020101020100\nflags = EdgeCase\n\n# tcId = 155\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020101020101\nflags = EdgeCase\n\n# tcId = 156\n# Signature with special case ", + "values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201010201ff\nflags = EdgeCase\n\n# tcId = 157\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020101021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\nflags = EdgeCase\n\n# tcId = 158\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020101021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\nflags = EdgeCase\n\n# tcId = 159\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020101021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\nflags = EdgeCase\n\n# tcId = 160\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020101021d00ffffffffffffffffffffffffffffffff000000000000000000000001\nflags = EdgeCase\n\n# tcId = 161\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020101021d00ffffffffffffffffffffffffffffffff000000000000000000000002\nflags = EdgeCase\n\n# tcId = 162\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3008020101090380fe01\nflags = EdgeCase\n\n# tcId = 163\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020101090142\nflags = EdgeCase\n\n# tcId = 164\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff020100\nflags = EdgeCase\n\n# tcId = 165\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff020101\nflags = EdgeCase\n\n# tcId = 166\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff0201ff\nflags = EdgeCase\n\n# tcId = 167\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30220201ff021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\nflags = EdgeCase\n\n# tcId = 168\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30220201ff021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\nflags = EdgeCase\n\n# tcId = 169\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30220201ff021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\nflags = EdgeCase\n\n# tcId = 170\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30220201ff021d00ffffffffffffffffffffffffffffffff000000000000000000000001\nflags = EdgeCase\n\n# tcId = 171\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30220201ff021d00ffffffffffffffffffffffffffffffff000000000000000000000002\nflags = EdgeCase\n\n# tcId = 172\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30080201ff090380fe01\nflags = EdgeCase\n\n# tcId = 173\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff090142\nflags = EdgeCase\n\n# tcId = 174\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020100\nflags = EdgeCase\n\n# tcId = 175\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020101\nflags = EdgeCase\n\n# tcId = 176\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d0201ff\nflags = EdgeCase\n\n# tcId = 177\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\nflags = EdgeCase\n\n# tcId = 178\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\nflags = EdgeCase\n\n# tcId = 179\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\nflags = EdgeCase\n\n# tcId = 180\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffffffff000000000000000000000001\nflags = EdgeCase\n\n# tcId = 181\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffffffff000000000000000000000002\nflags = EdgeCase\n\n# tcId = 182\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3024021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d090380fe01\nflags = EdgeCase\n\n# tcId = 183\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d090142\nflags = EdgeCase\n\n# tcId = 184\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c020100\nflags = EdgeCase\n\n# tcId = 185\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c020101\nflags = EdgeCase\n\n# tcId = 186\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c0201ff\nflags = EdgeCase\n\n# tcId = 187\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\nflags = EdgeCase\n\n# tcId = 188\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\nflags = EdgeCase\n\n# tcId = 189\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\nflags = EdgeCase\n\n# tcId = 190\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffffffff000000000000000000000001\nflags = EdgeCase\n\n# tcId = 191\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffffffff000000000000000000000002\nflags = EdgeCase\n\n# tcId = 192\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3024021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c090380fe01\nflags = EdgeCase\n\n# tcId = 193\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c090142\nflags = EdgeCase\n\n# tcId = 194\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e020100\nflags = EdgeCase\n\n# tcId = 195\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e020101\nflags = EdgeCase\n\n# tcId = 196\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e0201ff\nflags = EdgeCase\n\n# tcId = 197\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d", + "00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\nflags = EdgeCase\n\n# tcId = 198\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\nflags = EdgeCase\n\n# tcId = 199\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\nflags = EdgeCase\n\n# tcId = 200\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffffffff000000000000000000000001\nflags = EdgeCase\n\n# tcId = 201\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffffffff000000000000000000000002\nflags = EdgeCase\n\n# tcId = 202\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3024021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e090380fe01\nflags = EdgeCase\n\n# tcId = 203\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e090142\nflags = EdgeCase\n\n# tcId = 204\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffffffff000000000000000000000001020100\nflags = EdgeCase\n\n# tcId = 205\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffffffff000000000000000000000001020101\nflags = EdgeCase\n\n# tcId = 206\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffffffff0000000000000000000000010201ff\nflags = EdgeCase\n\n# tcId = 207\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\nflags = EdgeCase\n\n# tcId = 208\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\nflags = EdgeCase\n\n# tcId = 209\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\nflags = EdgeCase\n\n# tcId = 210\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffffffff000000000000000000000001\nflags = EdgeCase\n\n# tcId = 211\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffffffff000000000000000000000002\nflags = EdgeCase\n\n# tcId = 212\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3024021d00ffffffffffffffffffffffffffffffff000000000000000000000001090380fe01\nflags = EdgeCase\n\n# tcId = 213\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffffffff000000000000000000000001090142\nflags = EdgeCase\n\n# tcId = 214\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffffffff000000000000000000000002020100\nflags = EdgeCase\n\n# tcId = 215\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffffffff000000000000000000000002020101\nflags = EdgeCase\n\n# tcId = 216\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffffffff0000000000000000000000020201ff\nflags = EdgeCase\n\n# tcId = 217\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\nflags = EdgeCase\n\n# tcId = 218\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\nflags = EdgeCase\n\n# tcId = 219\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\nflags = EdgeCase\n\n# tcId = 220\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffffffff000000000000000000000001\nflags = EdgeCase\n\n# tcId = 221\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffffffff000000000000000000000002\nflags = EdgeCase\n\n# tcId = 222\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3024021d00ffffffffffffffffffffffffffffffff000000000000000000000002090380fe01\nflags = EdgeCase\n\n# tcId = 223\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffffffff000000000000000000000002090142\nflags = EdgeCase\n\n# tcId = 224\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 30060201010c0130\n\n# tcId = 225\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 30050201010c00\n\n# tcId = 226\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 30090c0225730c03732573\n\n# tcId = 227\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 30080201013003020100\n\n# tcId = 228\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 3003020101\n\n# tcId = 229\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 3006020101010100\n\n# tcId = 230\n# Edge case for Shamir multiplication\nmsg = 3839313737\nresult = valid\nsig = 303d021c326bc06353f7f9c9f77b8f4b55464e8619944e7879402cca572e041a021d0096ad91f02a3bc40c118abd416ed5c6203ed7ced0330860d7b88c10ab\n\n# tcId = 231\n# special case hash\nmsg = 343236343739373234\nresult = valid\nsig = 303d021d00bcca2365cebdcf7c6cda1ee7b27c7fe79e371537b01869c715eabb1e021c3ae76f9bbfe519d778816dc8fe10635ee7576b6b7916f0c21df320c0\n\n# tcId = 232\n# special case hash\nmsg = 37313338363834383931\nresult = valid\nsig = 303c021c59a9f83289ef6995d5d5592e80ab4f6a81123f69d385d3cfb152faf2021c3a97d5be190d5819241067e2be56375ab84155baab8fc7aeb7f8cb3d\n\n# tcId = 233\n# special case hash\nmsg = 3130333539333331363638\nresult = valid\nsig = 303e021d00b54bac9be2beaaa09456a3968a1faf27c9d96bd5f6738fec6066d31e021d00d72c22129344a96d52fda60b264cf5e6fae45fd2c1b1b78bcba30070\n\n# tcId = 234\n# special case hash\nmsg = 33393439343031323135\nresult = valid\nsig = 303d021c323dbdecd40910c6fa7a5691846fa7769113d1f2ba64ef0dc97d2ddb021d00ca9e73a4587af042f8ba924bb61829c5e24046f9803eb76ab80ef327\n\n# tcId = 235\n# special case hash\nmsg = 31333434323933303739\nresult = valid\nsig = 303d021d00a55dccc27d287f15960ed79908a3edb6bb31aff07c8caa0e65fc0785021c559cb51aa5f2b9066610199dd01291a47729a6189a622ae9e7af7621\n\n# tcId = 236\n# special case hash\nmsg = 33373036323131373132\nresult = valid\nsig = 303d021c137ed6105148d6f5b84e87735d57955f81c5914a6e69f55347ade074021d00dfa5d56b1a12567efacb348a133b79d48da7aac78d78ee589c2ec027\n\n# tcId = 237\n# spe", + "cial case hash\nmsg = 333433363838373132\nresult = valid\nsig = 303e021d00856ff63d779163e78fed8c48330b48f08bf953a95266b3857eee91aa021d00f4aa917cd37f556c6df9d0960c2f7daa7ea118e5c30cc40ca1eed418\n\n# tcId = 238\n# special case hash\nmsg = 31333531353330333730\nresult = valid\nsig = 303d021d00a9d7716f04c5ce247f6b8c608b37db55f68e2ff94a5883863e867708021c61bc093faa6fb25cd240aea4b56fed728f7b3669b4dc84c449d38c5d\n\n# tcId = 239\n# special case hash\nmsg = 36353533323033313236\nresult = valid\nsig = 303d021d00f6d088fd3b9c981ac491c62030643bbd82d4f4588e8517de5884e73d021c773eee477980763b1ea27ae998bda0244cb67b07aa6779a38cd2ba3f\n\n# tcId = 240\n# special case hash\nmsg = 31353634333436363033\nresult = valid\nsig = 303e021d00eacb55588e446bbf3687089ba8ba3b05cfef7458bb81b4277f90a853021d008039e8944cc3df7f4ce5badc349975d471a81dea14e9bcae3065d410\n\n# tcId = 241\n# special case hash\nmsg = 34343239353339313137\nresult = valid\nsig = 303c021c5984af8c89fb9d596a1f28fd3d41e46f7205fe12fa63437ac79e7e81021c33b16b742d45f18f88de2713078384e6150f06b8b99f36ab2ce3dd49\n\n# tcId = 242\n# special case hash\nmsg = 3130393533323631333531\nresult = valid\nsig = 303d021c3cda62d84711c262f782d5c3a79b567485227b34afb821f5241b1961021d00b615cef399706ff758f072931852b717ec898e9a1e6339d0ee81b8da\n\n# tcId = 243\n# special case hash\nmsg = 35393837333530303431\nresult = valid\nsig = 303d021d00e1db7304609191ea1ac91183ffb31df51b5b3fdc6b1a1129d85818d6021c441886d003ae80fbe7139e1d02845cd1bd959f0df1468f5836dd6ea5\n\n# tcId = 244\n# special case hash\nmsg = 33343633303036383738\nresult = valid\nsig = 303d021c3545dc4a4ef84bbb3a526ff929c91ad234516a9e95455ac8db4012b1021d00af49926f693a7cf11f71e199f382a8d640c0c85e46d94ee26e384344\n\n# tcId = 245\n# special case hash\nmsg = 39383137333230323837\nresult = valid\nsig = 303d021c0ccafdeae4582c9de6795b2d09a7fc3848c75904fa960989156cbbb9021d00af1f994da3e7d89cc8aaa44616cb77e3be7a83ccecc965775194e502\n\n# tcId = 246\n# special case hash\nmsg = 33323232303431303436\nresult = valid\nsig = 303e021d00a3b2145d8c669027532501eea1913abb22a78a827fdd82fe9d6d3757021d009b2f1ae84f5606d68653065f74e9d089886694c739fbe3fd4a1b2b4a\n\n# tcId = 247\n# special case hash\nmsg = 36363636333037313034\nresult = valid\nsig = 303e021d009aac3a7e3d142344991bf177b4f4dbfa074148ad9e20f27555b547d9021d00f830a3c7fdf251d79d41977d28e6d9a72a36df11b86e17c8dc3acae0\n\n# tcId = 248\n# special case hash\nmsg = 31303335393531383938\nresult = valid\nsig = 303c021c4769fba554fd436051c285bdadfa33a443d4f7084dd598ce3b98b8fb021c0c014c87cb14113d75864f74905f75b34f9970ba58b5d0676021826d\n\n# tcId = 249\n# special case hash\nmsg = 31383436353937313935\nresult = valid\nsig = 303d021d008b91fc5054a75c34a508624b85708b3d25fa74328c68741c3aeb92d9021c155e3e46b1209583135a9fef15abe325b25bd19285ee6b5b4549629f\n\n# tcId = 250\n# special case hash\nmsg = 33313336303436313839\nresult = valid\nsig = 303d021d00a4a2a85fbb8bb26c4d845cfac191f89d65b00d3f1b9450d177f78890021c6605a460e60402685c7a5accd2615e9232e51937bd83dfa3065eabf7\n\n# tcId = 251\n# special case hash\nmsg = 32363633373834323534\nresult = valid\nsig = 303d021d00a89d333ae34187855cf7fa435ff39be6b7bb39b2d0ce682133ad9646021c483dcc89a3b43be250f5c3f78f78418e7b8341a8bcfb93dfd58e46d8\n\n# tcId = 252\n# special case hash\nmsg = 31363532313030353234\nresult = valid\nsig = 303d021c2d0f99c71933c82ded544ef4faac9d669e437dea13b57186f4c20a0e021d00d9682b9f3a05d7832947bc45eadbc742d96e7ab1124832ddb7a8c65b\n\n# tcId = 253\n# special case hash\nmsg = 35373438303831363936\nresult = valid\nsig = 303d021d00840208f7c41b1fbadcc701fb3a1d0f98a3e2a75235e695bfd378f8b4021c44c8daad4efc03e1753803c362b409c3ca6e0f21e538fe3a364c0e53\n\n# tcId = 254\n# special case hash\nmsg = 36333433393133343638\nresult = valid\nsig = 303e021d0087cc582cb10602110566fcb10a233aede993fae5fb3f81b0bbff94ca021d00c971c05bd51d9685825b2cfc0a2596c7f80d9f9dc68c28c159aa395a\n\n# tcId = 255\n# special case hash\nmsg = 31353431313033353938\nresult = valid\nsig = 303d021c50d73d949b3adcd3e8fa94dafefaf9d263ebc702128d891afac47ea7021d00f8423c378f0190574925142eb5b97c612abfa048fa3ab5375ec795a1\n\n# tcId = 256\n# special case hash\nmsg = 3130343738353830313238\nresult = valid\nsig = 303e021d00d608915dfcd5d3c63ed10d0d9b614f7a866f8858a6e59dc03eb0a8ee021d008e701aa0bab491430f6e4da92244b0bb174957ee6f495bc5d15fabb1\n\n# tcId = 257\n# special case hash\nmsg = 3130353336323835353638\nresult = valid\nsig = 303e021d00c87b0ab842c4769ed94b910bd7719691f9991bc5a347889608f07034021d00d083111048d6e019771fc2669c55156a3d09615a6b2d9cae52ddabee\n\n# tcId = 258\n# special case hash\nmsg = 393533393034313035\nresult = valid\nsig = 303c021c0a1c2c2478e244464226c660edf724db1213f4923eb725d611d976fd021c764e55186a76f734891d05fb57af2727fab8fbea684ca4321d5de540\n\n# tcId = 259\n# special case hash\nmsg = 393738383438303339\nresult = valid\nsig = 303e021d008a2747c5dd9ef5298b8aeabd2fb3a2beb16158fb2cc62be9e51b2152021d00f96251bc048bcad832e6cbc09c9c2e585ab7543dc552eaa5125be0d3\n\n# tcId = 260\n# special case hash\nmsg = 33363130363732343432\nresult = valid\nsig = 303e021d00d9eac32a734f3a3e5b5a2905bed8164ef4c6cd24d5c0fc54cc83f3cc021d00a784930d16c3b753bb3ed9151d583c50ff97bc976274bde482fb9644\n\n# tcId = 261\n# special case hash\nmsg = 31303534323430373035\nresult = valid\nsig = 303d021c6c40c6b15ae573f77b677cd878cc5e4da8171cf50d79974fde374e00021d00c88c9828037bf7013a1415537ca074d6c8a553bdb4b26b14a7e88d93\n\n# tcId = 262\n# special case hash\nmsg = 35313734343438313937\nresult = valid\nsig = 303d021d00dca0aaa0a395393142b323edced09372760350f2ab261ce3339b114d021c0983bf6e510ce7f0a7520f2b7c60cd68a4912b78162c7ac33789e0c6\n\n# tcId = 263\n# special case hash\nmsg = 31393637353631323531\nresult = valid\nsig = 303d021d00a0526ed47e2607e6bae6dcf3b8f54f4e0638023673a38cad4569c3ba021c61516f55746b379d11cbaa02cef35311d7771a47d1e127cff46dcfd6\n\n# tcId = 264\n# special case hash\nmsg = 33343437323533333433\nresult = valid\nsig = 303d021c5c00db60178c8361092bdfb47fc9a47b33363d7e0d76e32520f79657021d00e1baf7ae7d81045793c73173f49d60bdfc8779942795d9d082b3ca11\n\n# tcId = 265\n# special case hash\nmsg = 333638323634333138\nresult = valid\nsig = 303d021c46f69b6a99717949eee74092a0c1438a290a2cd82fe1e10d8f37e88b021d0099a5f59f09bd980a066233523397846987a8a1bfdde355062d140a4b\n\n# tcId = 266\n# special case hash\nmsg = 33323631313938363038\nresult = valid\nsig = 303e021d00e643d8085a22706fa0e6540f3d5e169ad8cc49b4bfe98e325321c705021d00f95bd423f9cafe0cedfec6fd97871536d71b2ac58dfb2f7ab8952d4b\n\n# tcId = 267\n# special case hash\nmsg = 39363738373831303934\nresult = valid\nsig = 303e021d00e65fb9bcdd791f141ccff2b3cfbf45d84f8c6272021a68dde8c36bc8021d00df6e08c74b5e36b7772658f02515ae0ea813b64df24f3522ea15fb15\n\n# tcId = 268\n# special case hash\nmsg = 34393538383233383233\nresult = valid\nsig = 303e021d00a476d468221ef55611e8a724c9b4cd79c34f6940d5f665e3335f6231021d00bfddc18e7a008bc206c8e1ca6c878363e4138508e0c3a84a27eabe35\n\n# tcId = 269\n# special case hash\nmsg = 383234363337383337\nresult = valid\nsig = 303c021c1b393477941879271873a8c043a77caadb9957fcdd263a6ac978e4ba021c270060d5f356ebb6d185772baa78b878af6807378e0d5c532da0a4a7\n\n# tcId = 270\n# special case hash\nmsg = 3131303230383333373736\nresult = valid\nsig = 303e021d00b2eda8c969d4b1bdd31867fd1f92d547b406840c257f2f80dfbdc4e3021d00e6297b059ce64ef04de9715a8f686a9f73980865066a94975b7f8117\n\n# tcId = 271\n# special case hash\nmsg = 313333383731363438\nresult = valid\nsig = 303d021d00938189a18a4bff5712ac99c2b8e92c218af3e4d4e3a84b906b0f704e021c7bb3e538f0b70664dad462ab14b0ed416c86ac6e9060fe760dabb715\n\n# tcId = 272\n# special case hash\nmsg = 333232313434313632\nresult = valid\nsig = 303e021d00bb7c1d8120d2aa7765b16eeac44282de605fb2a1665657dea4492935021d00e0a8adb3a143883f981ea1323fa6f1d347845be2b8dcc6cd5cc93ee5\n\n# tcId = 273\n# special case hash\nmsg = 3130363836363535353436\nresult = valid\nsig = 303c021c74a4c51dd60c7118467be29652060f39af94f8c0eb7f15c64771010c021c6102ec0c9257e607af3f3ff7490b54e78111f422bec11ba01277171f\n\n# tcId = 274\n# special case hash\nmsg = 3632313535323436\nresult = valid\nsig = 303d021c625da18d676f02fae9dbcb3092265909488fb95d662569d7746b9687021d00c4f1ec831e36604d604b630fd0b1999cd09960862294251d85e5873d\n\n# tcId = 275\n# special case hash\nmsg = 37303330383138373734\nresult = valid\nsig = 303d021d008ee0d4a31fd1c4d854d75c14151926899dde1c7332fd4769443d213d021c4b8278b89ba4f8fbd7dcc6affe4c12156f7409909416989685dd5a39\n\n# tcId = 276\n# special case hash\nmsg = 3539323435", + "3233373434\nresult = valid\nsig = 303e021d00bdde45fc9ebb3749c9fb2c25bf02e2a217ccc112f8e65499eeffb6a1021d00becd6b88ef2bee872ebc0e2b805a56066e19179fce9f0dc0df3f6378\n\n# tcId = 277\n# special case hash\nmsg = 31343935353836363231\nresult = valid\nsig = 303d021c50186e023a1f5053fcb4d0473039b1b2cdeba569719a4ebabdd675c8021d00f8fb893c1b6b5b827b5f3f4bb5eab75b6212bb56a5a39bb35c127a1c\n\n# tcId = 278\n# special case hash\nmsg = 34303035333134343036\nresult = valid\nsig = 303e021d00d3b454639b0fb3da93b20d55be8609e40902cb4a608f3b9064c0deb7021d00ec7aa9637fd71b543e5243faab4c7a2edc2c48e982c5ac017807f19a\n\n# tcId = 279\n# special case hash\nmsg = 33303936343537353132\nresult = valid\nsig = 303d021d00c202abbd98e03809de842bdef268a1c616a7306da69a87abaf03169c021c7e7e04823af8ed6836fd2ac011e47de8e1bef91ed1da5144893fc259\n\n# tcId = 280\n# special case hash\nmsg = 32373834303235363230\nresult = valid\nsig = 303d021c2e4b76638816cce057a4a27a49258dcb5437ae97739f27ebc0973c0b021d00e9f6c0b64e764ad39dd92b576e11c23e5994b02095cb2a4720c8662c\n\n# tcId = 281\n# special case hash\nmsg = 32363138373837343138\nresult = valid\nsig = 303c021c7e0f48761089aa4c7ecd5a7ac5380836b1e5d381d3400174d15df98b021c0c3df50060e3a6714aa565a33d784e7b16ac87bebfb3c2255cfd832c\n\n# tcId = 282\n# special case hash\nmsg = 31363432363235323632\nresult = valid\nsig = 303c021c4d6f7408508eb0814dcd48007f0efd9e2b91cdac4030540cc678de19021c1e74f8dc34d13613ef42462fe88981cbe2489be10e4cdae975a1b38e\n\n# tcId = 283\n# special case hash\nmsg = 36383234313839343336\nresult = valid\nsig = 303d021d00967f2c5d304c7932eaaa1682197945e66cc912b703824776ef16ad7a021c73957001d9037c63d6471c809a2388383ad695137c622cd5f5584414\n\n# tcId = 284\n# special case hash\nmsg = 343834323435343235\nresult = valid\nsig = 303d021c49260804bb2ceae4b9cee63b02ea60173ec3f4f90167627c0bb39888021d00c9eb022f96db3e90fe0ff617730a629f342e02fb208d6836cbbdc7d3\n\n# tcId = 285\n# Signature generated without truncating the hash\nmsg = 313233343030\nresult = invalid\nsig = 303d021d00f3e712597a4b22632c5f8eb9f2845882bb03a139735f80af8826fc56021c62865bd91c0903511a481d607eb6b5fe28f6f6c89295681a3e8d55d8\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0493b4c28f032d00f80e77491edc158359909ee9e30a7327b74219e5e2482c19ae35cb28afc9b95ca1ed7ad91c812d5fcceb4beddbf1a16d92]\n[key.wx = 0093b4c28f032d00f80e77491edc158359909ee9e30a7327b74219e5e2]\n[key.wy = 482c19ae35cb28afc9b95ca1ed7ad91c812d5fcceb4beddbf1a16d92]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000493b4c28f032d00f80e77491edc158359909ee9e30a7327b74219e5e2482c19ae35cb28afc9b95ca1ed7ad91c812d5fcceb4beddbf1a16d92]\n[sha = SHA-256]\n\n# tcId = 286\n# k*G has a large x-coordinate\nmsg = 313233343030\nresult = valid\nsig = 3030020f00e95c1f470fc1ec22d6baa3a3d5c1021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3a\n\n# tcId = 287\n# r too large\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00fffffffffffffffffffffffffffffffefffffffffffffffffffffffe021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3a\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04da927f4ba88b639bf5334221d2f54d8ef9ccc1a1125fad18c7bfb789ac51ae53de6d834a9db3947b8dd4c6ac2b084b85496bfa72d86b6948]\n[key.wx = 00da927f4ba88b639bf5334221d2f54d8ef9ccc1a1125fad18c7bfb789]\n[key.wy = 00ac51ae53de6d834a9db3947b8dd4c6ac2b084b85496bfa72d86b6948]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004da927f4ba88b639bf5334221d2f54d8ef9ccc1a1125fad18c7bfb789ac51ae53de6d834a9db3947b8dd4c6ac2b084b85496bfa72d86b6948]\n[sha = SHA-256]\n\n# tcId = 288\n# r,s are large\nmsg = 313233343030\nresult = valid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3b\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0420888e1c0f5694c4c0363b36482beb6e1e6649b3d3b26f127febb6fcde00c2f3d8e4a7e8a0bafd417c96d3e81c975946a2f3686aa39d35f1]\n[key.wx = 20888e1c0f5694c4c0363b36482beb6e1e6649b3d3b26f127febb6fc]\n[key.wy = 00de00c2f3d8e4a7e8a0bafd417c96d3e81c975946a2f3686aa39d35f1]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000420888e1c0f5694c4c0363b36482beb6e1e6649b3d3b26f127febb6fcde00c2f3d8e4a7e8a0bafd417c96d3e81c975946a2f3686aa39d35f1]\n[sha = SHA-256]\n\n# tcId = 289\n# r and s^-1 have a large Hamming weight\nmsg = 313233343030\nresult = valid\nsig = 303c021c7fffffffffffffffffffffffffffffffffffffffffffffffffffffff021c3d5052691b8dc89debad360466f2a39e82e8ae2aefb77c3c92ad7cd1\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 049545c86f032c5df255a4490bb0b83eca201181792ad74246874db229405264c283063327b70f4c2be5ab4d2e9407b866e121d6145d124c04]\n[key.wx = 009545c86f032c5df255a4490bb0b83eca201181792ad74246874db229]\n[key.wy = 405264c283063327b70f4c2be5ab4d2e9407b866e121d6145d124c04]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00049545c86f032c5df255a4490bb0b83eca201181792ad74246874db229405264c283063327b70f4c2be5ab4d2e9407b866e121d6145d124c04]\n[sha = SHA-256]\n\n# tcId = 290\n# r and s^-1 have a large Hamming weight\nmsg = 313233343030\nresult = valid\nsig = 303d021c7fffffffffffffffffffffffffffffffffffffffffffffffffffffff021d00bf19ab4d3ebf5a1a49d765909308daa88c2b7be3969db552ea30562b\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04579d53f39d5109bd440e3e3e7efd603740963348ff9c72c03b0fe6b8df02f133ecd60b072a0812adc752708f2be9d8c9ad5953d8c7bf3965]\n[key.wx = 579d53f39d5109bd440e3e3e7efd603740963348ff9c72c03b0fe6b8]\n[key.wy = 00df02f133ecd60b072a0812adc752708f2be9d8c9ad5953d8c7bf3965]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004579d53f39d5109bd440e3e3e7efd603740963348ff9c72c03b0fe6b8df02f133ecd60b072a0812adc752708f2be9d8c9ad5953d8c7bf3965]\n[sha = SHA-256]\n\n# tcId = 291\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020103020101\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04d2a14c8106d89f3536faebdafcd4680f65ab4bf2243164ca1464b628acaf2bee52e6231d3c980f52f8e189a41c3e3a05e591195ec864217a]\n[key.wx = 00d2a14c8106d89f3536faebdafcd4680f65ab4bf2243164ca1464b628]\n[key.wy = 00acaf2bee52e6231d3c980f52f8e189a41c3e3a05e591195ec864217a]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004d2a14c8106d89f3536faebdafcd4680f65ab4bf2243164ca1464b628acaf2bee52e6231d3c980f52f8e189a41c3e3a05e591195ec864217a]\n[sha = SHA-256]\n\n# tcId = 292\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020103020103\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04e892479153ad13ea5ca45d4c323ebf1fc3cd0cdf787c34306a3f79a4326ca9645f2b517608dc1f08b7a84cfc61e6ff68d14f27d2043c7ef5]\n[key.wx = 00e892479153ad13ea5ca45d4c323ebf1fc3cd0cdf787c34306a3f79a4]\n[key.wy = 326ca9645f2b517608dc1f08b7a84cfc61e6ff68d14f27d2043c7ef5]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004e892479153ad13ea5ca45d4c323ebf1fc3cd0cdf787c34306a3f79a4326ca9645f2b517608dc1f08b7a84cfc61e6ff68d14f27d2043c7ef5]\n[sha = SHA-256]\n\n# tcId = 293\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020103020104\n\n# tcId = 294\n# r is larger than n\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a40020104\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 042b0eac35c0b294f6d435dcaffa8633b0123005465c30080adbcc103ad465a63bfb71d4aee09328697fe1088753646d8369b8dc103217c219]\n[key.wx = 2b0eac35c0b294f6d435dcaffa8633b0123005465c30080adbcc103a]\n[key.wy = 00d465a63bfb71d4aee09328697fe1088753646d8369b8dc103217c219]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00042b0eac35c0b294f6d435dcaffa8633b0123005465c30080adbcc103ad465a63bfb71d4aee09328697fe1088753646d8369b8dc103217c219]\n[sha = SHA-256]\n\n# tcId = 295\n# s is larger than n\nmsg = 313233343030\nresult = invalid\nsig = 3022020103021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c6f00c4\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04d156e01e33becede8f4fb4ae9521d751e7f8eb795ca00857db2fd7afd73a450ec60e6a9218a8431870687e0968944f6dc5ffeb30e4693b7c]\n[key.wx = 00d156e01e33becede8f4fb4ae9521d751e7f8eb795ca00857db2fd7af]\n[key.wy", + " = 00d73a450ec60e6a9218a8431870687e0968944f6dc5ffeb30e4693b7c]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004d156e01e33becede8f4fb4ae9521d751e7f8eb795ca00857db2fd7afd73a450ec60e6a9218a8431870687e0968944f6dc5ffeb30e4693b7c]\n[sha = SHA-256]\n\n# tcId = 296\n# small r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 302302020100021d00c993264c993264c993264c99326411d2e55b3214a8d67528812a55ab\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04f293a8a2b4aff0bed95c663b364afe69778d38dd7e7a304f7d3c74e617dfd09e7803c4439a6c075cb579cde652d03f7559ff58846312fa4c]\n[key.wx = 00f293a8a2b4aff0bed95c663b364afe69778d38dd7e7a304f7d3c74e6]\n[key.wy = 17dfd09e7803c4439a6c075cb579cde652d03f7559ff58846312fa4c]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004f293a8a2b4aff0bed95c663b364afe69778d38dd7e7a304f7d3c74e617dfd09e7803c4439a6c075cb579cde652d03f7559ff58846312fa4c]\n[sha = SHA-256]\n\n# tcId = 297\n# smallish r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 302702072d9b4d347952cc021c3e85d56474b5c55fbe86608442a84b2bf093b7d75f53a47250e1c70c\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04d4ddf003b298cbaa7d2edc584b28b474a76162ed4b5b0f6222c54317d4e4fe030f178fb4aa4a6d7f61265ecd7ef13c313606b8d341a8b954]\n[key.wx = 00d4ddf003b298cbaa7d2edc584b28b474a76162ed4b5b0f6222c54317]\n[key.wy = 00d4e4fe030f178fb4aa4a6d7f61265ecd7ef13c313606b8d341a8b954]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004d4ddf003b298cbaa7d2edc584b28b474a76162ed4b5b0f6222c54317d4e4fe030f178fb4aa4a6d7f61265ecd7ef13c313606b8d341a8b954]\n[sha = SHA-256]\n\n# tcId = 298\n# 100-bit r and small s^-1\nmsg = 313233343030\nresult = valid\nsig = 302d020d1033e67e37b32b445580bf4efb021c02fd02fd02fd02fd02fd02fd02fd0043a4fd2da317247308c74dc6b8\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 048a5bf0028f1e3eb6841dee7b8f873f68b0c560e592e3182074f51ce89668c32224b65b6849713d35e3acf1786862e65b5a664b47a098caa0]\n[key.wx = 008a5bf0028f1e3eb6841dee7b8f873f68b0c560e592e3182074f51ce8]\n[key.wy = 009668c32224b65b6849713d35e3acf1786862e65b5a664b47a098caa0]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00048a5bf0028f1e3eb6841dee7b8f873f68b0c560e592e3182074f51ce89668c32224b65b6849713d35e3acf1786862e65b5a664b47a098caa0]\n[sha = SHA-256]\n\n# tcId = 299\n# small r and 100 bit s^-1\nmsg = 313233343030\nresult = valid\nsig = 302302020100021d00d05434abacd859ed74185e75b751c6d9f60c7921dacfbb8e19cdba8e\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04b53e569b18e9361567e5713ee69ecbe7949911b0257546a24c3dd137f29a83334cff1c44d8c0c33b6dadb8568c024fa1fbb694cd9e705f5a]\n[key.wx = 00b53e569b18e9361567e5713ee69ecbe7949911b0257546a24c3dd137]\n[key.wy = 00f29a83334cff1c44d8c0c33b6dadb8568c024fa1fbb694cd9e705f5a]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b53e569b18e9361567e5713ee69ecbe7949911b0257546a24c3dd137f29a83334cff1c44d8c0c33b6dadb8568c024fa1fbb694cd9e705f5a]\n[sha = SHA-256]\n\n# tcId = 300\n# 100-bit r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 302e020d062522bbd3ecbe7c39e93e7c24021d00d05434abacd859ed74185e75b751c6d9f60c7921dacfbb8e19cdba8e\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0477f3ebf52725c809acbb19adf093126a2a3a065ca654c22099c978129f1948d23c5158ec2adff455eb2fedf1075d4ec22d660977424a10f7]\n[key.wx = 77f3ebf52725c809acbb19adf093126a2a3a065ca654c22099c97812]\n[key.wy = 009f1948d23c5158ec2adff455eb2fedf1075d4ec22d660977424a10f7]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000477f3ebf52725c809acbb19adf093126a2a3a065ca654c22099c978129f1948d23c5158ec2adff455eb2fedf1075d4ec22d660977424a10f7]\n[sha = SHA-256]\n\n# tcId = 301\n# r and s^-1 are close to n\nmsg = 313233343030\nresult = valid\nsig = 303d021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c29bd021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04a7f7b99e5cdc6fec8928eff773ccdf3b68b19d43cdb41809e19c60f31736b7a0c12a9c2d706671912915142b3e05c89ef3ad497bd6c34699]\n[key.wx = 00a7f7b99e5cdc6fec8928eff773ccdf3b68b19d43cdb41809e19c60f3]\n[key.wy = 1736b7a0c12a9c2d706671912915142b3e05c89ef3ad497bd6c34699]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004a7f7b99e5cdc6fec8928eff773ccdf3b68b19d43cdb41809e19c60f31736b7a0c12a9c2d706671912915142b3e05c89ef3ad497bd6c34699]\n[sha = SHA-256]\n\n# tcId = 302\n# s == 1\nmsg = 313233343030\nresult = valid\nsig = 3021021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14020101\n\n# tcId = 303\n# s == 0\nmsg = 313233343030\nresult = invalid\nsig = 3021021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14020100\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 049cf00010b4ad86636f6cc70fb58c3b995c0d12e46fc58e24b0d28f6921c8a8a320cc450ccb15ebd71617f4ed25db4d3413fbdf157d31dbb6]\n[key.wx = 009cf00010b4ad86636f6cc70fb58c3b995c0d12e46fc58e24b0d28f69]\n[key.wy = 21c8a8a320cc450ccb15ebd71617f4ed25db4d3413fbdf157d31dbb6]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00049cf00010b4ad86636f6cc70fb58c3b995c0d12e46fc58e24b0d28f6921c8a8a320cc450ccb15ebd71617f4ed25db4d3413fbdf157d31dbb6]\n[sha = SHA-256]\n\n# tcId = 304\n# point at infinity during verify\nmsg = 313233343030\nresult = invalid\nsig = 303c021c7fffffffffffffffffffffffffff8b51705c781f09ee94a2ae2e151e021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04ae9b3636b8547232df438559b5a109e0238a73a76afc25d070ea27427210a69de44ad645b1b03845040f46fce238e92c131a71e4b184c01f]\n[key.wx = 00ae9b3636b8547232df438559b5a109e0238a73a76afc25d070ea2742]\n[key.wy = 7210a69de44ad645b1b03845040f46fce238e92c131a71e4b184c01f]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004ae9b3636b8547232df438559b5a109e0238a73a76afc25d070ea27427210a69de44ad645b1b03845040f46fce238e92c131a71e4b184c01f]\n[sha = SHA-256]\n\n# tcId = 305\n# edge case for signature malleability\nmsg = 313233343030\nresult = valid\nsig = 303c021c7fffffffffffffffffffffffffff8b51705c781f09ee94a2ae2e151f021c7fffffffffffffffffffffffffff8b51705c781f09ee94a2ae2e151e\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 048d57d4fce62757791888c1938076fd766daeb2ec9f1bda8ad5df4809aade924d7ea3ae5abbd0719a7d4865759da654cf76cf7ec031277108]\n[key.wx = 008d57d4fce62757791888c1938076fd766daeb2ec9f1bda8ad5df4809]\n[key.wy = 00aade924d7ea3ae5abbd0719a7d4865759da654cf76cf7ec031277108]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00048d57d4fce62757791888c1938076fd766daeb2ec9f1bda8ad5df4809aade924d7ea3ae5abbd0719a7d4865759da654cf76cf7ec031277108]\n[sha = SHA-256]\n\n# tcId = 306\n# edge case for signature malleability\nmsg = 313233343030\nresult = valid\nsig = 303c021c7fffffffffffffffffffffffffff8b51705c781f09ee94a2ae2e151f021c7fffffffffffffffffffffffffff8b51705c781f09ee94a2ae2e151f\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0410518eb7a926b5f7b65be801ec9b2abf76adce25c6152e452a3512c83f322b9ab57ea8352ad29beb99ef356b713432fcc4aef31f903045d9]\n[key.wx = 10518eb7a926b5f7b65be801ec9b2abf76adce25c6152e452a3512c8]\n[key.wy = 3f322b9ab57ea8352ad29beb99ef356b713432fcc4aef31f903045d9]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000410518eb7a926b5f7b65be801ec9b2abf76adce25c6152e452a3512c83f322b9ab57ea8352ad29beb99ef356b713432fcc4aef31f903045d9]\n[sha = SHA-256]\n\n# tcId = 307\n# u1 == 1\nmsg = 313233343030\nresult = valid\nsig = 303d021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021d00bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419fe\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 048a5dfedc9dd1cb9a439c88b3dd472b2e66173f7866855db6bb6c12fd3badfbb8a4c6fd80e66510957927c78a2aa02ecef62816d0356b49c3]\n[key.wx = 008a5dfedc9dd1cb9a439c88b3dd472b2e66173f7866855db6bb6c12fd]\n[key.wy = 3badfbb8a4c6fd80e66510957927c78a2aa02ecef62816d0356b49c3]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00048a5dfedc9dd1cb9a439c88b3dd472b2e66173f7866855db6bb6c12fd3badfbb8a4c6fd80e66510957", + "927c78a2aa02ecef62816d0356b49c3]\n[sha = SHA-256]\n\n# tcId = 308\n# u1 == n - 1\nmsg = 313233343030\nresult = valid\nsig = 303c021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021c44a5ad0bd0636d9e12bc9e0a6bdc74bfe082087ae8b61cbd54b8103f\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0483a59fc3df295e84c290b32d0b550a06f99456fc2298e4a68c4f2bff1b34f483db30db3a51d8288732c107d8b1a858cd54c3936e1b5c11a4]\n[key.wx = 0083a59fc3df295e84c290b32d0b550a06f99456fc2298e4a68c4f2bff]\n[key.wy = 1b34f483db30db3a51d8288732c107d8b1a858cd54c3936e1b5c11a4]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000483a59fc3df295e84c290b32d0b550a06f99456fc2298e4a68c4f2bff1b34f483db30db3a51d8288732c107d8b1a858cd54c3936e1b5c11a4]\n[sha = SHA-256]\n\n# tcId = 309\n# u2 == 1\nmsg = 313233343030\nresult = valid\nsig = 303c021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0458bada578a205d6e170722c8ed6c7715011fe33d7eba869ed1d448a75be4730c1d2d2ef881e02f028a241b7d7d3b0d0b4a9c0565fcb49977]\n[key.wx = 58bada578a205d6e170722c8ed6c7715011fe33d7eba869ed1d448a7]\n[key.wy = 5be4730c1d2d2ef881e02f028a241b7d7d3b0d0b4a9c0565fcb49977]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000458bada578a205d6e170722c8ed6c7715011fe33d7eba869ed1d448a75be4730c1d2d2ef881e02f028a241b7d7d3b0d0b4a9c0565fcb49977]\n[sha = SHA-256]\n\n# tcId = 310\n# u2 == n - 1\nmsg = 313233343030\nresult = valid\nsig = 303d021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021d00aaaaaaaaaaaaaaaaaaaaaaaaaaaa0f17407b4ad40d3e1b8392e81c29\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 047fcc799b919fe9789ce01dd9202731cb7d815158bc6cb8468760247c0f9d2957e0dd5e4c40124bd5e0dd1be41c038fce2cd1dc814e0af37d]\n[key.wx = 7fcc799b919fe9789ce01dd9202731cb7d815158bc6cb8468760247c]\n[key.wy = 0f9d2957e0dd5e4c40124bd5e0dd1be41c038fce2cd1dc814e0af37d]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00047fcc799b919fe9789ce01dd9202731cb7d815158bc6cb8468760247c0f9d2957e0dd5e4c40124bd5e0dd1be41c038fce2cd1dc814e0af37d]\n[sha = SHA-256]\n\n# tcId = 311\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d0093c8c651653430cb4f1675fc86b5e82ca04ff2ab1501674476aac169\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 043ddd68f69d0bfd47ad19370fa3dc72eb258268c2b5f3768852151674fbe0e155d94d2373a01a5e70f1a105259e7b8b1d2fdf4dba3cf4c780]\n[key.wx = 3ddd68f69d0bfd47ad19370fa3dc72eb258268c2b5f3768852151674]\n[key.wy = 00fbe0e155d94d2373a01a5e70f1a105259e7b8b1d2fdf4dba3cf4c780]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00043ddd68f69d0bfd47ad19370fa3dc72eb258268c2b5f3768852151674fbe0e155d94d2373a01a5e70f1a105259e7b8b1d2fdf4dba3cf4c780]\n[sha = SHA-256]\n\n# tcId = 312\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d009df50acc33b3625a2d5940dd13dbb97d1f7dd56afff8b7de7545127c\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 041cb1f564c29ebf60a342b3bc33c8945cb279c6c1a012255c874e1c37b75191ab3b2bb730914ebfa14080410970b71eaf4fe01e2d48be9891]\n[key.wx = 1cb1f564c29ebf60a342b3bc33c8945cb279c6c1a012255c874e1c37]\n[key.wy = 00b75191ab3b2bb730914ebfa14080410970b71eaf4fe01e2d48be9891]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00041cb1f564c29ebf60a342b3bc33c8945cb279c6c1a012255c874e1c37b75191ab3b2bb730914ebfa14080410970b71eaf4fe01e2d48be9891]\n[sha = SHA-256]\n\n# tcId = 313\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00dce8c223f235699d1f5d2dcde4809d013390b59129f783239525c08f\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0444e309eb686e7af7f1e2cc17fd56542b38910b3b7908ea54fb038d36477e829d4c8332e5b29f344ad27a21c18dab24a31ce7985b63a21304]\n[key.wx = 44e309eb686e7af7f1e2cc17fd56542b38910b3b7908ea54fb038d36]\n[key.wy = 477e829d4c8332e5b29f344ad27a21c18dab24a31ce7985b63a21304]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000444e309eb686e7af7f1e2cc17fd56542b38910b3b7908ea54fb038d36477e829d4c8332e5b29f344ad27a21c18dab24a31ce7985b63a21304]\n[sha = SHA-256]\n\n# tcId = 314\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c074aae944ee7a7d544a5ad0bd06366f872d2250ba3018a63d2a7f2e6\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04c728064542cb5142f5eefe638124dcd7a1ad0b3555842a47dd5108e110129dd878ebd47313276cec86f521ea9585cd105b3dc421141993b8]\n[key.wx = 00c728064542cb5142f5eefe638124dcd7a1ad0b3555842a47dd5108e1]\n[key.wy = 10129dd878ebd47313276cec86f521ea9585cd105b3dc421141993b8]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004c728064542cb5142f5eefe638124dcd7a1ad0b3555842a47dd5108e110129dd878ebd47313276cec86f521ea9585cd105b3dc421141993b8]\n[sha = SHA-256]\n\n# tcId = 315\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00aae944ee7a7d544a5ad0bd0636d9455f4e83de0f186f89bca56b3c5c\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04c46c1ad3d3d0df8e9c0f525c21ce8d81ef9d66297f442d63099667220cfa2253aa31a98d8966b85969bf9c819c019292ef6a53ac1db2a108]\n[key.wx = 00c46c1ad3d3d0df8e9c0f525c21ce8d81ef9d66297f442d6309966722]\n[key.wy = 0cfa2253aa31a98d8966b85969bf9c819c019292ef6a53ac1db2a108]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004c46c1ad3d3d0df8e9c0f525c21ce8d81ef9d66297f442d63099667220cfa2253aa31a98d8966b85969bf9c819c019292ef6a53ac1db2a108]\n[sha = SHA-256]\n\n# tcId = 316\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c55d289dcf4faa894b5a17a0c6db3741bbc4ecbe01d01ea33ee7a4e7b\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04b7b2e48c1e60e20925f4d9b6be600dd83786a936c9bfab00639c33caa967cbc65070739a3379da80d54843a18d9c11a29a32234a0b303c12]\n[key.wx = 00b7b2e48c1e60e20925f4d9b6be600dd83786a936c9bfab00639c33ca]\n[key.wy = 00a967cbc65070739a3379da80d54843a18d9c11a29a32234a0b303c12]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b7b2e48c1e60e20925f4d9b6be600dd83786a936c9bfab00639c33caa967cbc65070739a3379da80d54843a18d9c11a29a32234a0b303c12]\n[sha = SHA-256]\n\n# tcId = 317\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c4ee7a7d544a5ad0bd0636d9e12bc561ce04faaf1312bba3a15601ebc\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04f4a3d4598875af7f2741bbd67b1733b6541bc5325b3bcb4d3267c27ec30bf322f58a45c6c2aa2ced55f175d1cbf72a7c5bfc464d74f666c0]\n[key.wx = 00f4a3d4598875af7f2741bbd67b1733b6541bc5325b3bcb4d3267c27e]\n[key.wy = 00c30bf322f58a45c6c2aa2ced55f175d1cbf72a7c5bfc464d74f666c0]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004f4a3d4598875af7f2741bbd67b1733b6541bc5325b3bcb4d3267c27ec30bf322f58a45c6c2aa2ced55f175d1cbf72a7c5bfc464d74f666c0]\n[sha = SHA-256]\n\n# tcId = 318\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c361b9cd74d65e79a5874c501bca4973b20347ec97f6de10072d8b46a\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0456d1e5c1d664f6ce2fc1fcb937a7ce231a29486abf36c73f77a2bd116cb282c9d7c6fc05f399c183e880ea362edf043cd28ffac9f94f2141]\n[key.wx = 56d1e5c1d664f6ce2fc1fcb937a7ce231a29486abf36c73f77a2bd11]\n[key.wy = 6cb282c9d7c6fc05f399c183e880ea362edf043cd28ffac9f94f2141]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000456d1e5c1d664f6ce2fc1fcb937a7ce231a29486abf36c73f77a2bd116cb282c9d7c6fc05f399c183e880ea362edf043cd28ffac9f94f2141]\n[sha = SHA-256]\n\n# tcId = 319\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffff", + "ffffffffffd021c6c3739ae9acbcf34b0e98a0379492e764068fd92fedbc200e5b168d4\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0430bce8c6b7f1bbba040b8d121d85d55167ac99b2e2cf1cfac8b018b5f1c384c35be0ae309a5cb55aba982343d2125f2d4a559d8c545359cd]\n[key.wx = 30bce8c6b7f1bbba040b8d121d85d55167ac99b2e2cf1cfac8b018b5]\n[key.wy = 00f1c384c35be0ae309a5cb55aba982343d2125f2d4a559d8c545359cd]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000430bce8c6b7f1bbba040b8d121d85d55167ac99b2e2cf1cfac8b018b5f1c384c35be0ae309a5cb55aba982343d2125f2d4a559d8c545359cd]\n[sha = SHA-256]\n\n# tcId = 320\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00a252d685e831b6cf095e4f0535edc5b1609d7c5c7e49a301588a1d3e\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04e87e538a978cf187908beb27a4a247d496a8421dab1fe79f8744d2b5539b9f8fe8bddcf7c97c44c55a4fc22f4d78f6a961447a5b613b5c49]\n[key.wx = 00e87e538a978cf187908beb27a4a247d496a8421dab1fe79f8744d2b5]\n[key.wy = 539b9f8fe8bddcf7c97c44c55a4fc22f4d78f6a961447a5b613b5c49]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004e87e538a978cf187908beb27a4a247d496a8421dab1fe79f8744d2b5539b9f8fe8bddcf7c97c44c55a4fc22f4d78f6a961447a5b613b5c49]\n[sha = SHA-256]\n\n# tcId = 321\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00ee746111f91ab4ce8fae96e6f23fd9d20a24d2e79eea563478c0f566\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04113a2cc57c8ee7de11bc45e14546c72a29725b9a7218114ac31f02816c765b9a46b0215312a3292f5979c98d37b35883baa156281b1bae8c]\n[key.wx = 113a2cc57c8ee7de11bc45e14546c72a29725b9a7218114ac31f0281]\n[key.wy = 6c765b9a46b0215312a3292f5979c98d37b35883baa156281b1bae8c]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004113a2cc57c8ee7de11bc45e14546c72a29725b9a7218114ac31f02816c765b9a46b0215312a3292f5979c98d37b35883baa156281b1bae8c]\n[sha = SHA-256]\n\n# tcId = 322\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c7fffffffffffffffffffffffffffb2364ae85014b149b86c741eb8be\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0423dd9c3f1a4b478b01fa2c5e997d0482073b32918de44be583dcf74ad661a5ed579a2f09d2ff56d6b80f26568d93a237ca6444b0cadc7951]\n[key.wx = 23dd9c3f1a4b478b01fa2c5e997d0482073b32918de44be583dcf74a]\n[key.wy = 00d661a5ed579a2f09d2ff56d6b80f26568d93a237ca6444b0cadc7951]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000423dd9c3f1a4b478b01fa2c5e997d0482073b32918de44be583dcf74ad661a5ed579a2f09d2ff56d6b80f26568d93a237ca6444b0cadc7951]\n[sha = SHA-256]\n\n# tcId = 323\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00855f5b2dc8e46ec428a593f73219cf65dae793e8346e30cc3701309c\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04bbce4b17d45d24a1c80bc8eca98c359d5e1e458058a00b950643256dfe09e092318e39303dca03688e4ecf300300784312d617e5088c584c]\n[key.wx = 00bbce4b17d45d24a1c80bc8eca98c359d5e1e458058a00b950643256d]\n[key.wy = 00fe09e092318e39303dca03688e4ecf300300784312d617e5088c584c]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004bbce4b17d45d24a1c80bc8eca98c359d5e1e458058a00b950643256dfe09e092318e39303dca03688e4ecf300300784312d617e5088c584c]\n[sha = SHA-256]\n\n# tcId = 324\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c2db5f61aea817276af2064e104c7a30e32034cb526dd0aacfa56566f\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04035f58446c1bdbeaa56660a897ebf965f2d18820c7cd0630f04a495347bdfaea60091f405e09929cb2c0e2f6eed53e0871b7fe0cd5a15d85]\n[key.wx = 035f58446c1bdbeaa56660a897ebf965f2d18820c7cd0630f04a4953]\n[key.wy = 47bdfaea60091f405e09929cb2c0e2f6eed53e0871b7fe0cd5a15d85]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004035f58446c1bdbeaa56660a897ebf965f2d18820c7cd0630f04a495347bdfaea60091f405e09929cb2c0e2f6eed53e0871b7fe0cd5a15d85]\n[sha = SHA-256]\n\n# tcId = 325\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d0084a6c7513e5f48c07fffffffffff8713f3cba1293e4f3e95597fe6bd\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04911c0033eac46332691cb7920c4950eed57354761e1081a1ea9f1279508ebf7cfd3eab5dabdee1be14ce8296b1fc20acfaac16f7824c6002]\n[key.wx = 00911c0033eac46332691cb7920c4950eed57354761e1081a1ea9f1279]\n[key.wy = 508ebf7cfd3eab5dabdee1be14ce8296b1fc20acfaac16f7824c6002]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004911c0033eac46332691cb7920c4950eed57354761e1081a1ea9f1279508ebf7cfd3eab5dabdee1be14ce8296b1fc20acfaac16f7824c6002]\n[sha = SHA-256]\n\n# tcId = 326\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c6c7513e5f48c07ffffffffffffff9d21fd1b31544cb13ca86a75b25e\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0462b2abb70bb9c7efdfb57181f433b64751f108130dce180d6992e7d3124b3aa8a53e5eedf72aa67e6edcc71f19e36e6ad1d099a59ffd9555]\n[key.wx = 62b2abb70bb9c7efdfb57181f433b64751f108130dce180d6992e7d3]\n[key.wy = 124b3aa8a53e5eedf72aa67e6edcc71f19e36e6ad1d099a59ffd9555]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000462b2abb70bb9c7efdfb57181f433b64751f108130dce180d6992e7d3124b3aa8a53e5eedf72aa67e6edcc71f19e36e6ad1d099a59ffd9555]\n[sha = SHA-256]\n\n# tcId = 327\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00d8ea27cbe9180fffffffffffffff3a43fa3662a899627950d4eb64bc\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 040f759330e7992752aae6a85f7bb0599784bea53e288ff7ee8d53d5e6defe617362380e92f9a23c4fdcc34e09713aab9cc44119418f6f2fd1]\n[key.wx = 0f759330e7992752aae6a85f7bb0599784bea53e288ff7ee8d53d5e6]\n[key.wy = 00defe617362380e92f9a23c4fdcc34e09713aab9cc44119418f6f2fd1]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00040f759330e7992752aae6a85f7bb0599784bea53e288ff7ee8d53d5e6defe617362380e92f9a23c4fdcc34e09713aab9cc44119418f6f2fd1]\n[sha = SHA-256]\n\n# tcId = 328\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c3e5f48c07fffffffffffffffffffc724968c0ecf9ed783744a7337b3\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 048f2eda42742ab31f5d4cf666892d1d623efd3b26f7df9aa70296e80d3beaf235cfea41fadb98c533a8fdeb5841d69ee65f6e71914711f138]\n[key.wx = 008f2eda42742ab31f5d4cf666892d1d623efd3b26f7df9aa70296e80d]\n[key.wy = 3beaf235cfea41fadb98c533a8fdeb5841d69ee65f6e71914711f138]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00048f2eda42742ab31f5d4cf666892d1d623efd3b26f7df9aa70296e80d3beaf235cfea41fadb98c533a8fdeb5841d69ee65f6e71914711f138]\n[sha = SHA-256]\n\n# tcId = 329\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00bfffffffffffffffffffffffffff3d87bb44c833bb384d0f224ccdde\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 042bcf4371b319a691ed0e2e0c4a55a8a9b987dec86b863621e97b9c095b8660a74cc964a6af0311edc6b1cd980f9c7bf3a6c9b7f9132a0b2f]\n[key.wx = 2bcf4371b319a691ed0e2e0c4a55a8a9b987dec86b863621e97b9c09]\n[key.wy = 5b8660a74cc964a6af0311edc6b1cd980f9c7bf3a6c9b7f9132a0b2f]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00042bcf4371b319a691ed0e2e0c4a55a8a9b987dec86b863621e97b9c095b8660a74cc964a6af0311edc6b1cd980f9c7bf3a6c9b7f9132a0b2f]\n[sha = SHA-256]\n\n# tcId = 330\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c7fffffffffffffffffffffffffff646c95d0a029629370d8e83d717f\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompres", + "sed = 04a6f252568f6fbd1ae045e602344359c0c216911723748f9a3e7fadec3b76efc75ba030bfe7de2ded686991e6183d40241a05b479693c7015]\n[key.wx = 00a6f252568f6fbd1ae045e602344359c0c216911723748f9a3e7fadec]\n[key.wy = 3b76efc75ba030bfe7de2ded686991e6183d40241a05b479693c7015]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004a6f252568f6fbd1ae045e602344359c0c216911723748f9a3e7fadec3b76efc75ba030bfe7de2ded686991e6183d40241a05b479693c7015]\n[sha = SHA-256]\n\n# tcId = 331\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c3fffffffffffffffffffffffffff8b51705c781f09ee94a2ae2e1520\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04a74c1c3a31c7d493ab2c0af89cf5e688621ca9466d2ba1d8761c3fe82ba0d08f4c9f76856c2b7138c8f1e780b6959992b16ccdfd925f4b3a]\n[key.wx = 00a74c1c3a31c7d493ab2c0af89cf5e688621ca9466d2ba1d8761c3fe8]\n[key.wy = 2ba0d08f4c9f76856c2b7138c8f1e780b6959992b16ccdfd925f4b3a]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004a74c1c3a31c7d493ab2c0af89cf5e688621ca9466d2ba1d8761c3fe82ba0d08f4c9f76856c2b7138c8f1e780b6959992b16ccdfd925f4b3a]\n[sha = SHA-256]\n\n# tcId = 332\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d0096dafb0d7540b93b5790327082635cd8895e1e799d5d19f92b594056\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04034ea72798257f33f24f64c49438fc43e8f67ddc7170fd127e2c43f280562acc9b49f2d7fcc89421d2a5db2ea8dd0361fb48d897d4612627]\n[key.wx = 034ea72798257f33f24f64c49438fc43e8f67ddc7170fd127e2c43f2]\n[key.wy = 0080562acc9b49f2d7fcc89421d2a5db2ea8dd0361fb48d897d4612627]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004034ea72798257f33f24f64c49438fc43e8f67ddc7170fd127e2c43f280562acc9b49f2d7fcc89421d2a5db2ea8dd0361fb48d897d4612627]\n[sha = SHA-256]\n\n# tcId = 333\n# point duplication during verification\nmsg = 313233343030\nresult = valid\nsig = 303d021d00c44503dae85dd5210780f02928b3d927171c578f8603d16b240663c7021c3f552f1c2b01651edf5902650fe9ab046f71999ac928edc0087bdb13\nflags = PointDuplication\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04034ea72798257f33f24f64c49438fc43e8f67ddc7170fd127e2c43f27fa9d53364b60d2803376bde2d5a24d05722fc9e04b727682b9ed9da]\n[key.wx = 034ea72798257f33f24f64c49438fc43e8f67ddc7170fd127e2c43f2]\n[key.wy = 7fa9d53364b60d2803376bde2d5a24d05722fc9e04b727682b9ed9da]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004034ea72798257f33f24f64c49438fc43e8f67ddc7170fd127e2c43f27fa9d53364b60d2803376bde2d5a24d05722fc9e04b727682b9ed9da]\n[sha = SHA-256]\n\n# tcId = 334\n# duplication bug\nmsg = 313233343030\nresult = invalid\nsig = 303d021d00c44503dae85dd5210780f02928b3d927171c578f8603d16b240663c7021c3f552f1c2b01651edf5902650fe9ab046f71999ac928edc0087bdb13\nflags = PointDuplication\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 043672ba9718e60d00eab4295c819ea366a778dd6fd621fa9665259cb67ae5e847eeaea674beeb636379e968f79265502e414a1d444f04ae79]\n[key.wx = 3672ba9718e60d00eab4295c819ea366a778dd6fd621fa9665259cb6]\n[key.wy = 7ae5e847eeaea674beeb636379e968f79265502e414a1d444f04ae79]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00043672ba9718e60d00eab4295c819ea366a778dd6fd621fa9665259cb67ae5e847eeaea674beeb636379e968f79265502e414a1d444f04ae79]\n[sha = SHA-256]\n\n# tcId = 335\n# comparison with point at infinity \nmsg = 313233343030\nresult = invalid\nsig = 303c021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021c33333333333333333333333333330486f9be9672d0c5d50ddf45a20c\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0433eeefbfc77229136e56b575144863ed90b4c0f8a9e315816d6de648051749dd11480c141fb5a1946313163c0141265b68a26216bcb9936a]\n[key.wx = 33eeefbfc77229136e56b575144863ed90b4c0f8a9e315816d6de648]\n[key.wy = 051749dd11480c141fb5a1946313163c0141265b68a26216bcb9936a]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000433eeefbfc77229136e56b575144863ed90b4c0f8a9e315816d6de648051749dd11480c141fb5a1946313163c0141265b68a26216bcb9936a]\n[sha = SHA-256]\n\n# tcId = 336\n# extreme value for k and edgecase s\nmsg = 313233343030\nresult = valid\nsig = 303c021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04bda03b24b62243c61e288b6ea1e99a2886f700944eb1b8f0466cffd61c712a3aaace69331989b707e69e8de39d7cd1aeb65d97ad1800bf7f]\n[key.wx = 00bda03b24b62243c61e288b6ea1e99a2886f700944eb1b8f0466cffd6]\n[key.wy = 1c712a3aaace69331989b707e69e8de39d7cd1aeb65d97ad1800bf7f]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004bda03b24b62243c61e288b6ea1e99a2886f700944eb1b8f0466cffd61c712a3aaace69331989b707e69e8de39d7cd1aeb65d97ad1800bf7f]\n[sha = SHA-256]\n\n# tcId = 337\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303d021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021d00db6db6db6db6db6db6db6db6db6ceed4c09e84c77ebd9116e17391eb\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 047abba0cbff134ddcf54d04846f954b882ca9faefdfe818898bfb378b792f10b57970ae57bb4fb01c08886848855aeb1984d3d6fcb2b412df]\n[key.wx = 7abba0cbff134ddcf54d04846f954b882ca9faefdfe818898bfb378b]\n[key.wy = 792f10b57970ae57bb4fb01c08886848855aeb1984d3d6fcb2b412df]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00047abba0cbff134ddcf54d04846f954b882ca9faefdfe818898bfb378b792f10b57970ae57bb4fb01c08886848855aeb1984d3d6fcb2b412df]\n[sha = SHA-256]\n\n# tcId = 338\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303c021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021c33333333333333333333333333330486f9be9672d0c5d50ddf45a20c\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04f68d99e28653b9ba3e7cedb3b78165f5a54fbe90d4b9f88497977e16234da3eaa0178a51b5b0c208ef0818df6f6578793c1af1787026b8da]\n[key.wx = 00f68d99e28653b9ba3e7cedb3b78165f5a54fbe90d4b9f88497977e16]\n[key.wy = 234da3eaa0178a51b5b0c208ef0818df6f6578793c1af1787026b8da]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004f68d99e28653b9ba3e7cedb3b78165f5a54fbe90d4b9f88497977e16234da3eaa0178a51b5b0c208ef0818df6f6578793c1af1787026b8da]\n[sha = SHA-256]\n\n# tcId = 339\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303d021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021d00cccccccccccccccccccccccccccc121be6fa59cb431754377d168831\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04065d9ef133ce81c2d6b66e928360f9527f8f36b5badd35b5f10934272004852755f77440a0b08b9f165489c0696e8b4981d6d04a285b0fd1]\n[key.wx = 065d9ef133ce81c2d6b66e928360f9527f8f36b5badd35b5f1093427]\n[key.wy = 2004852755f77440a0b08b9f165489c0696e8b4981d6d04a285b0fd1]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004065d9ef133ce81c2d6b66e928360f9527f8f36b5badd35b5f10934272004852755f77440a0b08b9f165489c0696e8b4981d6d04a285b0fd1]\n[sha = SHA-256]\n\n# tcId = 340\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303c021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021c249249249249249249249249249227ce201a6b76951f982e7ae89852\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04d6cea09472ede574ce1e0546c9acd0e1cd8cba9b121df29e89d5092e83904ebfb902ea61c987dc0508e0c9a7e563e2609feaf79140ab91d6]\n[key.wx = 00d6cea09472ede574ce1e0546c9acd0e1cd8cba9b121df29e89d5092e]\n[key.wy = 0083904ebfb902ea61c987dc0508e0c9a7e563e2609feaf79140ab91d6]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004d6cea09472ede574ce1e0546c9acd0e1cd8cba9b121df29e89d5092e83904ebfb902ea61c987dc0508e0c9a7e563e2609feaf79140ab91d6]\n[sha = SHA-256]\n\n# tcId = 341\n# extreme value for k\nmsg = 313233343030\nresult = valid\nsig = 303c021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021c0eb10e5ab95facded4061029d63a46f46f12947411f2ea561a592057\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompre", + "ssed = 04c520b18003b356094147ee2f9df1178572bed837bd89443b25ebceb80e2e93a998fbbabe82192ea4c85651cf09a95ab0dc2e3d975ee7be98]\n[key.wx = 00c520b18003b356094147ee2f9df1178572bed837bd89443b25ebceb8]\n[key.wy = 0e2e93a998fbbabe82192ea4c85651cf09a95ab0dc2e3d975ee7be98]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004c520b18003b356094147ee2f9df1178572bed837bd89443b25ebceb80e2e93a998fbbabe82192ea4c85651cf09a95ab0dc2e3d975ee7be98]\n[sha = SHA-256]\n\n# tcId = 342\n# extreme value for k and edgecase s\nmsg = 313233343030\nresult = valid\nsig = 303d021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 049dd0b99bb7a830bcc7d55abac42912d525b063c50cf377ca5771a26ca141fccf0793c2ba2469a946c2d4ed26344052c63a6d7e7797ce96c3]\n[key.wx = 009dd0b99bb7a830bcc7d55abac42912d525b063c50cf377ca5771a26c]\n[key.wy = 00a141fccf0793c2ba2469a946c2d4ed26344052c63a6d7e7797ce96c3]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00049dd0b99bb7a830bcc7d55abac42912d525b063c50cf377ca5771a26ca141fccf0793c2ba2469a946c2d4ed26344052c63a6d7e7797ce96c3]\n[sha = SHA-256]\n\n# tcId = 343\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303e021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021d00db6db6db6db6db6db6db6db6db6ceed4c09e84c77ebd9116e17391eb\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 043dab9f1b19e715d174a7360920375d569a181f055e66f01391871b6f47a6d87c23a5b6a1e3d0a9721302cc02cce35f35dea08e22619be521]\n[key.wx = 3dab9f1b19e715d174a7360920375d569a181f055e66f01391871b6f]\n[key.wy = 47a6d87c23a5b6a1e3d0a9721302cc02cce35f35dea08e22619be521]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00043dab9f1b19e715d174a7360920375d569a181f055e66f01391871b6f47a6d87c23a5b6a1e3d0a9721302cc02cce35f35dea08e22619be521]\n[sha = SHA-256]\n\n# tcId = 344\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303d021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021c33333333333333333333333333330486f9be9672d0c5d50ddf45a20c\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0456dde1ba58ea31053b2535c66623344c24c72d214af5be6982e89100e771084806143e86f2b31bdaf62280f5b311d0d2bdbb385b20fc6c87]\n[key.wx = 56dde1ba58ea31053b2535c66623344c24c72d214af5be6982e89100]\n[key.wy = 00e771084806143e86f2b31bdaf62280f5b311d0d2bdbb385b20fc6c87]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000456dde1ba58ea31053b2535c66623344c24c72d214af5be6982e89100e771084806143e86f2b31bdaf62280f5b311d0d2bdbb385b20fc6c87]\n[sha = SHA-256]\n\n# tcId = 345\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303e021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021d00cccccccccccccccccccccccccccc121be6fa59cb431754377d168831\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0494efe1387fc0447d7dbcb53739a0e4e0ddec181d382caea645b1a6124414a6b1c78908d0fa206f8f2de950ad4a14d1ce94d9cddbe32e4601]\n[key.wx = 0094efe1387fc0447d7dbcb53739a0e4e0ddec181d382caea645b1a612]\n[key.wy = 4414a6b1c78908d0fa206f8f2de950ad4a14d1ce94d9cddbe32e4601]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000494efe1387fc0447d7dbcb53739a0e4e0ddec181d382caea645b1a6124414a6b1c78908d0fa206f8f2de950ad4a14d1ce94d9cddbe32e4601]\n[sha = SHA-256]\n\n# tcId = 346\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303d021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021c249249249249249249249249249227ce201a6b76951f982e7ae89852\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 046286803b952976ee1897013695d3ef2cbb6f977142a042b236572577722a6ce9ad3e3fd28e451833496c63b8ab70538877215f204942bf59]\n[key.wx = 6286803b952976ee1897013695d3ef2cbb6f977142a042b236572577]\n[key.wy = 722a6ce9ad3e3fd28e451833496c63b8ab70538877215f204942bf59]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00046286803b952976ee1897013695d3ef2cbb6f977142a042b236572577722a6ce9ad3e3fd28e451833496c63b8ab70538877215f204942bf59]\n[sha = SHA-256]\n\n# tcId = 347\n# extreme value for k\nmsg = 313233343030\nresult = valid\nsig = 303d021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021c0eb10e5ab95facded4061029d63a46f46f12947411f2ea561a592057\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34]\n[key.wx = 00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21]\n[key.wy = 00bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34]\n[sha = SHA-256]\n\n# tcId = 348\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 303d021d00bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419fe021c249249249249249249249249249227ce201a6b76951f982e7ae89851\n\n# tcId = 349\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 303c021c44a5ad0bd0636d9e12bc9e0a6bdc74bfe082087ae8b61cbd54b8103f021c249249249249249249249249249227ce201a6b76951f982e7ae89851\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d2142c89c774a08dc04b3dd201932bc8a5ea5f8b89bbb2a7e667aff81cd]\n[key.wx = 00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21]\n[key.wy = 42c89c774a08dc04b3dd201932bc8a5ea5f8b89bbb2a7e667aff81cd]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d2142c89c774a08dc04b3dd201932bc8a5ea5f8b89bbb2a7e667aff81cd]\n[sha = SHA-256]\n\n# tcId = 350\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 303d021d00bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419fe021c249249249249249249249249249227ce201a6b76951f982e7ae89851\n\n# tcId = 351\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 303c021c44a5ad0bd0636d9e12bc9e0a6bdc74bfe082087ae8b61cbd54b8103f021c249249249249249249249249249227ce201a6b76951f982e7ae89851\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 044c246670658a1d41f5d77bce246cbe386ac22848e269b9d4cd67c466ddd947153d39b2d42533a460def26880408caf2dd3dd48fe888cd176]\n[key.wx = 4c246670658a1d41f5d77bce246cbe386ac22848e269b9d4cd67c466]\n[key.wy = 00ddd947153d39b2d42533a460def26880408caf2dd3dd48fe888cd176]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00044c246670658a1d41f5d77bce246cbe386ac22848e269b9d4cd67c466ddd947153d39b2d42533a460def26880408caf2dd3dd48fe888cd176]\n[sha = SHA-256]\n\n# tcId = 352\n# pseudorandom signature\nmsg = \nresult = valid\nsig = 303d021c0364e7d96832614a80216e730c353534d4bffd2c26649c0b4b0e2628021d008f40064b412fe38c5ba9cf664e6172ed48e6e79f0fe5e31a54985dfc\n\n# tcId = 353\n# pseudorandom signature\nmsg = 4d7367\nresult = valid\nsig = 303d021d00f4b68df62b9238363ccc1bbee00deb3fb2693f7894178e14eeac596a021c7f51c9451adacd2bcbc721f7df0643d7cd18a6b52064b507e1912f23\n\n# tcId = 354\n# pseudorandom signature\nmsg = 313233343030\nresult = valid\nsig = 303d021d00b2970cdec29c70294a18bbc49985efa33acc0af509c326a3977a35e8021c0cea3ed8ebaaf6ee6aef6049a23cbc39f61fcf8fc6be4bab13385579\n\n# tcId = 355\n# pseudorandom signature\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 303d021c7e7b0eb7da8c68a7072b11404ee95a5c407fbfe3d69646802e28ae77021d00d409a2f6bbaae59bb60fc0a092b12fa4e67dc8d088cf19a833322fd6\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04aed6fcad2400c4d94e55dbb6b012ce3d4c2b46843fbe99d4289e6ecf8a24a89e71343d7d151d258d2cb690349c2d56b366dd10a600000000]\n[key.wx = 00aed6fcad2400c4d94e55dbb6b012ce3d4c2b46843fbe99d4289e6ecf]\n[key.wy = 008a24a89e71343d7d151d258d2cb690349c2d56b366dd10a600000000]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004aed6fcad2400c4d94e55dbb6b012ce3d4c2b46843fbe99d4289e6ecf8a24a89e71343d7d151d258d2cb690349c2d56b366dd10a600000000]\n[sha = SHA-256]\n\n# tcI", + "d = 356\n# y-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 303c021c519bf185ff4635271961fa491be257231deeea9c53a6ede3b4a89ed1021c486bdad484a6a3134e1471cf56a9df0fac50f773b3e37d6f327617d7\n\n# tcId = 357\n# y-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c09fd644898b7cb5d018b52234e7b4ef2b54789afd0ce9c434e9e5515021d00f19309532164ea2053cae55df7bdcbab536c83ea7bfe6fe10d60c1ab\n\n# tcId = 358\n# y-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 303d021d00ec919d4e283ccf1f71a9e3c0f781a36758d3f38b1b78a87a74288e80021c4c4663044a73c79bd88f0dc245ab1a32f89f06f40a704b31e9fabc51\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04bf19ecfe43ffe289f699f479316145b9a7f7370b9ece5ab1212174f173d528949ae9142f818bade71a960407963be0b6482a6a60ffffffff]\n[key.wx = 00bf19ecfe43ffe289f699f479316145b9a7f7370b9ece5ab1212174f1]\n[key.wy = 73d528949ae9142f818bade71a960407963be0b6482a6a60ffffffff]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004bf19ecfe43ffe289f699f479316145b9a7f7370b9ece5ab1212174f173d528949ae9142f818bade71a960407963be0b6482a6a60ffffffff]\n[sha = SHA-256]\n\n# tcId = 359\n# y-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 303e021d00c51760478447217597ecc6f4001bd45088d53c90f53103608bf88aea021d00a201253aa903f9781e8992101d7171d2dd3a5d48c44d8e1d544cd6d7\n\n# tcId = 360\n# y-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 303c021c76be0112674ec29128823e1af7512e6143872fef30a64e2f1799bd56021c187e503e1a48c27b549fe0a4ce5e581e242c8663fc9efb02d6f2b193\n\n# tcId = 361\n# y-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 303c021c36245ef126b5b51e459f84eaaad5a495061f0471dc8c23f1c5f16282021c39e31d72a06ba8e14fcf95778e07bc16a2628e39449da8857d506edc\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0426e5abf135cb54eaaa16b69e4b0b292275344e88a09df6df80000000eab891de54e3f26ff50ab989f333dac551583d468ae623c596434af0]\n[key.wx = 26e5abf135cb54eaaa16b69e4b0b292275344e88a09df6df80000000]\n[key.wy = 00eab891de54e3f26ff50ab989f333dac551583d468ae623c596434af0]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000426e5abf135cb54eaaa16b69e4b0b292275344e88a09df6df80000000eab891de54e3f26ff50ab989f333dac551583d468ae623c596434af0]\n[sha = SHA-256]\n\n# tcId = 362\n# x-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 303c021c258682975df8bca7f203f771ebeb478ef637360c860fc386cfb21745021c7663e70188047e41469a2a35c8c330dd900f2340ba82aafd22962a96\n\n# tcId = 363\n# x-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 303e021d0085c98614f36c0d66f8d87834cae978611b7b4eebf59a46bea1b89ae9021d00d1a18e378dda840e06b60f6279bf0a2231d9fa2d8d2c31e88bc1bdd7\n\n# tcId = 364\n# x-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 303e021d00ca7b7432ba41ff2112e1116fffde89bbd68f5ce67fe5513d16c8e6f7021d00e421b7599e0180798acc2006451603cda2db1d582741116e6033ce5f\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04ec627f345545d03f8c6dbd08e575527116567fe375f9ecaaffffffff41bf705697d5f716bcf78718d5393b63a98691f4a1f24246375538fd]\n[key.wx = 00ec627f345545d03f8c6dbd08e575527116567fe375f9ecaaffffffff]\n[key.wy = 41bf705697d5f716bcf78718d5393b63a98691f4a1f24246375538fd]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004ec627f345545d03f8c6dbd08e575527116567fe375f9ecaaffffffff41bf705697d5f716bcf78718d5393b63a98691f4a1f24246375538fd]\n[sha = SHA-256]\n\n# tcId = 365\n# x-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 303c021c19397fe5d3ecabf80fc624c1bf379564387517c185087dc97d605069021c33b5773e9aaf6c34cb612cfc81efd3bf9c22224e8c4fa1bfccf5c501\n\n# tcId = 366\n# x-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c70f24f5c164164bfbb8459aa12a981aa312dbcf00204326ebaaabdc8021d00f5cebee8caedae8662c43501665084b45d2f494fb70d603043543dc4\n\n# tcId = 367\n# x-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c0bf2d86ecaa8b56aca5e8f8ebcb45081d078a14555b75f5be8e9b132021d009a55b3ce4734849966b5034ccd9b19f76407ee0241c3f58e7b8fc89a\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a00000000762d28f1fdc219184f81681fbff566d465b5f1f31e872df5]\n[key.wx = 15016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a]\n[key.wy = 762d28f1fdc219184f81681fbff566d465b5f1f31e872df5]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a00000000762d28f1fdc219184f81681fbff566d465b5f1f31e872df5]\n[sha = SHA-256]\n\n# tcId = 368\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303e021d00bfc5dc4434cd09369610687d38d2d418b63fd475dea246a456b25a3a021d00b171dfa6cf722f20816370a868785da842b37bac31d7b78e6751fc50\n\n# tcId = 369\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303e021d008fdbe8da646c5642d767c7dbeb3872b1edab6e37365805f0e94ce0a9021d00bcf35ab81222883dd3526cb0cf93138f4687cd0b10c2b0a126385161\n\n# tcId = 370\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303d021d00e23a11275848fd4f8b6f4ac4fc305eae981d3b7dc453e5a980c46422021c1a875693f24a03ea1614c4c3bbd0dd7221429f22b337ea7d98348ca4\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555affffffff89d2d70e023de6e7b07e97df400a992b9a4a0e0ce178d20c]\n[key.wx = 15016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a]\n[key.wy = 00ffffffff89d2d70e023de6e7b07e97df400a992b9a4a0e0ce178d20c]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555affffffff89d2d70e023de6e7b07e97df400a992b9a4a0e0ce178d20c]\n[sha = SHA-256]\n\n# tcId = 371\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c76645164ff9af3a1a9205fda2eef326d2bffc795dcc4829547fe01dd021d00b65bba503719314b27734dd06b1395d540af8396029b78b84e0149eb\n\n# tcId = 372\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303c021c32fa0ca7e07f1f86ac350734994e1f31b6da9c82f93dced2b983c29c021c7b7891282206a45711bdfcb2a102b5d289df84ff5778548603574004\n\n# tcId = 373\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c2d5492478ca64e5111dfd8521867b6477b7e78227849ad090b855694021d00a532f5a2fa3594af81cd5928b81b4057da717be5fb42a3a86c68190d\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0400000000f7e4713d085112112c37cdf4601ff688da796016b71a727ade5a9ec165054cc987f9dc87e9991b92e4fa649ca655eeae9f2a30e1]\n[key.wx = 00f7e4713d085112112c37cdf4601ff688da796016b71a727a]\n[key.wy = 00de5a9ec165054cc987f9dc87e9991b92e4fa649ca655eeae9f2a30e1]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000400000000f7e4713d085112112c37cdf4601ff688da796016b71a727ade5a9ec165054cc987f9dc87e9991b92e4fa649ca655eeae9f2a30e1]\n[sha = SHA-256]\n\n# tcId = 374\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c191eee5daf55cd499e8539cb2cff797cfec5d566d2027bf9f8d64693021d00dadfeae8131f64d96b94fd340197caa2bc04818554812feef3343070\n\n# tcId = 375\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303e021d00e0e2c08180b8a207ee9105a7d379fa112368e8370fa09dfde4a45c45021d00c717bc0860e016e7ce48f8fe6a299b36906a6055adad93b416ce8838\n\n# tcId = 376\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c1b919ef93532292743bb2e1b7b4894fd847c6e5de52a08e1b0f2dcfb021d00c2d30d6b7594d8dbd261491ae1d58779505b075b64e5564dc97a418b\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04ffffffffeadf7cee8d34d04cf22c8f7de35674fb2f501d242", + "a76f72586c409309d398e60ce1e0a4c9e05a9d32627577e8ce2cc7f3afa2c3e]\n[key.wx = 00ffffffffeadf7cee8d34d04cf22c8f7de35674fb2f501d242a76f725]\n[key.wy = 0086c409309d398e60ce1e0a4c9e05a9d32627577e8ce2cc7f3afa2c3e]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004ffffffffeadf7cee8d34d04cf22c8f7de35674fb2f501d242a76f72586c409309d398e60ce1e0a4c9e05a9d32627577e8ce2cc7f3afa2c3e]\n[sha = SHA-256]\n\n# tcId = 377\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303d021d00e75db49ed33ff2885ea6100cc95b8fe1b9242ea4248db07bcac2e020021c796c866142ae8eb75bb0499c668c6fe45497692fbcc66b37c2e4624f\n\n# tcId = 378\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303c021c1f81cd924362ec825890307b9b3936e0d8f728a7c84bdb43c5cf0433021c39d3e46a03040ad41ac026b18e0629f6145e3dc8d1e6bbe200c8482b\n\n# tcId = 379\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303c021c00fda613aa67ca42673ad4309f3f0f05b2569f3dee63f4aa9cc54cf3021c1e5a64b68a37e5b201c918303dc7a40439aaeacf019c5892a8f6d0ce\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1000000000e2ab0e8495e859eb2afb00769d6e7fe626a119167c0b6bc]\n[key.wx = 00b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1]\n[key.wy = 0e2ab0e8495e859eb2afb00769d6e7fe626a119167c0b6bc]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1000000000e2ab0e8495e859eb2afb00769d6e7fe626a119167c0b6bc]\n[sha = SHA-256]\n\n# tcId = 380\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303e021d00b932b3f7e6467e1ec7a561f31160248c7f224550a8508788634b53ce021d00a0c5312acf9e801aff6d6fc98550cfa712bbf65937165a36f2c32dc9\n\n# tcId = 381\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303d021d00e509593fb09245ee8226ce72786b0cc352be555a7486be628f4fd00c021c0b7abde0061b1e07bf13319150a4ff6a464abab636ab4e297b0d7633\n\n# tcId = 382\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303c021c6e54f941204d4639b863c98a65b7bee318d51ab1900a8f345eac6f07021c0da5054829214ecde5e10579b36a2fe6426c24b064ed77c38590f25c\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1fffffffff1d54f17b6a17a614d504ff7962918019d95ee6e983f4945]\n[key.wx = 00b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1]\n[key.wy = 00fffffffff1d54f17b6a17a614d504ff7962918019d95ee6e983f4945]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1fffffffff1d54f17b6a17a614d504ff7962918019d95ee6e983f4945]\n[sha = SHA-256]\n\n# tcId = 383\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303d021d0085ea4ab3ffdc992330c0ca8152faf991386bce82877dbb239ba654f6021c0806c6baf0ebea4c1aaa190e7d4325d46d1f7789d550632b70b5fc9b\n\n# tcId = 384\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c44d53debb646b73485402eab2d099081b97b1243c025b624f0dd67ea021d00e5de789a7d4b77eac6d7bba41658e6e4dc347dabed2f9680c04a6f55\n\n# tcId = 385\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303c021c1526eb2f657ebea9af4ca184b975c02372c88e24e835f3f5774c0e12021c1f1ecce38ee52372cb201907794de17b6d6c1afa13c316c51cb07bc7\n\n", }; -static const size_t kLen68 = 139779; +static const size_t kLen101 = 132917; -static const char *kData68[] = { - "# Imported from Wycheproof's ecdsa_secp224r1_sha512_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: ECDSA\n# Generator version: 0.4.12\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04eada93be10b2449e1e8bb58305d52008013c57107c1a20a317a6cba7eca672340c03d1d2e09663286691df55069fa25490c9dd9f9c0bb2b5]\n[key.wx = 0eada93be10b2449e1e8bb58305d52008013c57107c1a20a317a6cba7]\n[key.wy = 0eca672340c03d1d2e09663286691df55069fa25490c9dd9f9c0bb2b5]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004eada93be10b2449e1e8bb58305d52008013c57107c1a20a317a6cba7eca672340c03d1d2e09663286691df55069fa25490c9dd9f9c0bb2b5]\n[sha = SHA-512]\n\n# tcId = 1\n# signature malleability\nmsg = 313233343030\nresult = valid\nsig = 303c021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021c394766fb67a65fe0af6c154f7cbd285ea180b4c6150cdafafb0f6f0f\n\n# tcId = 2\n# Legacy:ASN encoding of s misses leading 0\nmsg = 313233343030\nresult = acceptable\nsig = 303c021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021cc6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n# Some implementations of ECDSA and DSA incorrectly encode r and s by not\n# including leading zeros in the ASN encoding of integers when necessary. Hence,\n# some implementations (e.g. jdk) allow signatures with incorrect ASN encodings\n# assuming that the signature is otherwise valid.\n\n# tcId = 3\n# valid\nmsg = 313233343030\nresult = valid\nsig = 303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 4\n# long form encoding of length\nmsg = 313233343030\nresult = invalid\nsig = 30813d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 5\n# long form encoding of length\nmsg = 313233343030\nresult = invalid\nsig = 303e02811c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 6\n# long form encoding of length\nmsg = 313233343030\nresult = invalid\nsig = 303e021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab02811d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 7\n# length contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 3082003d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 8\n# length contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 303f0282001c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 9\n# length contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 303f021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab0282001d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 10\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 303e021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 11\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 303c021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 12\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 303d021d691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 13\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 303d021b691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 14\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021e00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 15\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021c00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 16\n# uint32 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 3085010000003d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 17\n# uint32 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 30420285010000001c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 18\n# uint32 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 3042021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab0285010000001d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 19\n# uint64 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 308901000000000000003d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 20\n# uint64 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 3046028901000000000000001c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 21\n# uint64 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 3046021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab028901000000000000001d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 22\n# length = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30847fffffff021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 23\n# length = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 304102847fffffff691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 24\n# length = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3041021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab02847fffffff00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 25\n# length = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3084ffffffff021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 26\n# length = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30410284ffffffff691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 27\n# length = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3041021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab0284ffffffff00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 28\n# length = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3085ffffffffff021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 29\n# length = 2**40 - 1\nmsg = 313233343030\nresult ", - "= invalid\nsig = 30420285ffffffffff691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 30\n# length = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3042021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab0285ffffffffff00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 31\n# length = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3088ffffffffffffffff021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 32\n# length = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30450288ffffffffffffffff691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 33\n# length = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3045021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab0288ffffffffffffffff00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 34\n# incorrect length\nmsg = 313233343030\nresult = invalid\nsig = 30ff021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 35\n# incorrect length\nmsg = 313233343030\nresult = invalid\nsig = 303d02ff691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 36\n# incorrect length\nmsg = 313233343030\nresult = invalid\nsig = 303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab02ff00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 37\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 3080021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 38\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 303d0280691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 39\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab028000c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 40\n# removing sequence\nmsg = 313233343030\nresult = invalid\nsig = \n\n# tcId = 41\n# lonely sequence tag\nmsg = 313233343030\nresult = invalid\nsig = 30\n\n# tcId = 42\n# appending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 303f021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e0000\n\n# tcId = 43\n# prepending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 303f0000021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 44\n# appending unused 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e0000\n\n# tcId = 45\n# appending null value to sequence\nmsg = 313233343030\nresult = invalid\nsig = 303f021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e0500\n\n# tcId = 46\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3042498177303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 47\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 30412500303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 48\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 303f303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e0004deadbeef\n\n# tcId = 49\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 30422221498177021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 50\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 304122202500021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 51\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3045221e021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab0004deadbeef021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 52\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3042021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab2222498177021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 53\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3041021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab22212500021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 54\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3045021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab221f021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e0004deadbeef\n\n# tcId = 55\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 3045aa00bb00cd00303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 56\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 3043aa02aabb303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 57\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 30452224aa00bb00cd00021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 58\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 30432222aa02aabb021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 59\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 3045021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab2225aa00bb00cd00021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 60\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 3043021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab2223aa02aabb021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 61\n# truncated length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3081\n\n# tcId = 62\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 3080303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e0000\n\n# tcId = 63\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 30412280021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab0000021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 64\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 3041021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab2280021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e0000\n\n# tcId = 65\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 3080313d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e0000\n\n# tcId = 66\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 30412280031c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab0000021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 67\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 3041021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab2280031d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e0000\n\n# tcId = 68\n# Replacing sequence with NULL\nmsg = 313233343030\nresult = invalid\nsig = 0500\n\n# tcId = 69\n# changing tag value of sequence\nmsg = 3132333", - "43030\nresult = invalid\nsig = 2e3d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 70\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 2f3d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 71\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 313d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 72\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 323d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 73\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = ff3d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 74\n# dropping value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3000\n\n# tcId = 75\n# using composition for sequence\nmsg = 313233343030\nresult = invalid\nsig = 3041300102303c1c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 76\n# truncate sequence\nmsg = 313233343030\nresult = invalid\nsig = 303c021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb\n\n# tcId = 77\n# truncate sequence\nmsg = 313233343030\nresult = invalid\nsig = 303c1c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 78\n# indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 3080021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e0000\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 79\n# indefinite length with truncated delimiter\nmsg = 313233343030\nresult = invalid\nsig = 3080021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e00\n\n# tcId = 80\n# indefinite length with additional element\nmsg = 313233343030\nresult = invalid\nsig = 3080021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e05000000\n\n# tcId = 81\n# indefinite length with truncated element\nmsg = 313233343030\nresult = invalid\nsig = 3080021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e060811220000\n\n# tcId = 82\n# indefinite length with garbage\nmsg = 313233343030\nresult = invalid\nsig = 3080021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e0000fe02beef\n\n# tcId = 83\n# indefinite length with nonempty EOC\nmsg = 313233343030\nresult = invalid\nsig = 3080021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e0002beef\n\n# tcId = 84\n# prepend empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 303f3000021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 85\n# append empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 303f021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e3000\n\n# tcId = 86\n# sequence of sequence\nmsg = 313233343030\nresult = invalid\nsig = 303f303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 87\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 301e021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab\n\n# tcId = 88\n# repeat element in sequence\nmsg = 313233343030\nresult = invalid\nsig = 305c021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 89\n# removing integer\nmsg = 313233343030\nresult = invalid\nsig = 301f021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 90\n# lonely integer tag\nmsg = 313233343030\nresult = invalid\nsig = 302002021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 91\n# lonely integer tag\nmsg = 313233343030\nresult = invalid\nsig = 301f021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab02\n\n# tcId = 92\n# appending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 303f021e691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab0000021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 93\n# appending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 303f021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021f00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e0000\n\n# tcId = 94\n# prepending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 303f021e0000691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 95\n# prepending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 303f021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021f000000c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 96\n# appending unused 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 303f021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab0000021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 97\n# appending null value to integer\nmsg = 313233343030\nresult = invalid\nsig = 303f021e691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab0500021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 98\n# appending null value to integer\nmsg = 313233343030\nresult = invalid\nsig = 303f021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021f00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e0500\n\n# tcId = 99\n# truncated length of integer\nmsg = 313233343030\nresult = invalid\nsig = 30210281021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 100\n# truncated length of integer\nmsg = 313233343030\nresult = invalid\nsig = 3020021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab0281\n\n# tcId = 101\n# Replacing integer with NULL\nmsg = 313233343030\nresult = invalid\nsig = 30210500021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 102\n# Replacing integer with NULL\nmsg = 313233343030\nresult = invalid\nsig = 3020021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab0500\n\n# tcId = 103\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d001c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 104\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d011c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 105\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d031c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 106\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d041c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 107\n# ch", - "anging tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303dff1c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 108\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab001d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 109\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab011d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 110\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab031d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 111\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab041d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 112\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92abff1d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 113\n# dropping value of integer\nmsg = 313233343030\nresult = invalid\nsig = 30210200021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 114\n# dropping value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3020021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab0200\n\n# tcId = 115\n# using composition for integer\nmsg = 313233343030\nresult = invalid\nsig = 30412220020169021b1c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 116\n# using composition for integer\nmsg = 313233343030\nresult = invalid\nsig = 3041021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab2221020100021cc6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 117\n# modify first byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021c6b1c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 118\n# modify first byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d02c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 119\n# modify last byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf922b021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 120\n# modify last byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbbae\n\n# tcId = 121\n# truncate integer\nmsg = 313233343030\nresult = invalid\nsig = 303c021b691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 122\n# truncate integer\nmsg = 313233343030\nresult = invalid\nsig = 303c021b1c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 123\n# truncate integer\nmsg = 313233343030\nresult = invalid\nsig = 303c021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021c00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb\n\n# tcId = 124\n# truncate integer\nmsg = 313233343030\nresult = invalid\nsig = 303c021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021cc6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 125\n# leading ff in integer\nmsg = 313233343030\nresult = invalid\nsig = 303e021dff691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 126\n# leading ff in integer\nmsg = 313233343030\nresult = invalid\nsig = 303e021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021eff00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 127\n# infinity\nmsg = 313233343030\nresult = invalid\nsig = 3022090180021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 128\n# infinity\nmsg = 313233343030\nresult = invalid\nsig = 3021021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab090180\n\n# tcId = 129\n# replacing integer with zero\nmsg = 313233343030\nresult = invalid\nsig = 3022020100021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 130\n# replacing integer with zero\nmsg = 313233343030\nresult = invalid\nsig = 3021021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab020100\n\n# tcId = 131\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303e021d01691c723dd6a7f5d11b8c8e8bd08173428bc48a2c3f031caaec3bbce8021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 132\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303e021dff691c723dd6a7f5d11b8c8e8bd08345fcca52a9b01748ca203383686e021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 133\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303d021c96e38dc229580a2ee47371742f7da36054f46611d4da0c9a70206d55021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 134\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303e021d0096e38dc229580a2ee47371742f7cba0335ad564fe8b735dfcc7c9792021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 135\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303e021dfe96e38dc229580a2ee47371742f7e8cbd743b75d3c0fce35513c44318021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 136\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303e021d01691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 137\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303e021d0096e38dc229580a2ee47371742f7da36054f46611d4da0c9a70206d55021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 138\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d01c6b899049859a01f5093eab0834104e71ff12bb612ad778fbda8e56b\n\n# tcId = 139\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303c021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021cc6b899049859a01f5093eab08342d7a15e7f4b39eaf3250504f090f1\n\n# tcId = 140\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021dff394766fb67a65fe0af6c154f7cbe11bbc0c7c488012fb1b59eb344d2\n\n# tcId = 141\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021dfe394766fb67a65fe0af6c154f7cbefb18e00ed449ed52887042571a95\n\n# tcId = 142\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d01c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 143\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303c021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021c394766fb67a65fe0af6c154f7cbe11bbc0c7c488012fb1b59eb344d2\n\n# tcId = 144\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020100020100\n# Edge case values such as r=1 and s=0 can lead to forg", - "eries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 145\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020100020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 146\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201000201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 147\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020100021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 148\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020100021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 149\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020100021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 150\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020100021d00ffffffffffffffffffffffffffffffff000000000000000000000001\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 151\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020100021d00ffffffffffffffffffffffffffffffff000000000000000000000002\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 152\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3008020100090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 153\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020101020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 154\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020101020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 155\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201010201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 156\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020101021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 157\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020101021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 158\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020101021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 159\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020101021d00ffffffffffffffffffffffffffffffff000000000000000000000001\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 160\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020101021d00ffffffffffffffffffffffffffffffff000000000000000000000002\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 161\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3008020101090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 162\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 163\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 164\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff0201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 165\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30220201ff021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 166\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30220201ff021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 167\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30220201ff021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 168\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30220201ff021d00ffffffffffffffffffffffffffffffff000000000000000000000001\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 169\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30220201ff021d00ffffffffffffffffffffffffffffffff000000000000000000000002\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 170\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30080201ff090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 171\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 172\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invali", - "d\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 173\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d0201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 174\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 175\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 176\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 177\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffffffff000000000000000000000001\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 178\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffffffff000000000000000000000002\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 179\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3024021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 180\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 181\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 182\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c0201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 183\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 184\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 185\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 186\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffffffff000000000000000000000001\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 187\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffffffff000000000000000000000002\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 188\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3024021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 189\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 190\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 191\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e0201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 192\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 193\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 194\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 195\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffffffff0000000", - "00000000000000001\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 196\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffffffff000000000000000000000002\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 197\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3024021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 198\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffffffff000000000000000000000001020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 199\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffffffff000000000000000000000001020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 200\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffffffff0000000000000000000000010201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 201\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 202\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 203\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 204\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffffffff000000000000000000000001\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 205\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffffffff000000000000000000000002\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 206\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3024021d00ffffffffffffffffffffffffffffffff000000000000000000000001090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 207\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffffffff000000000000000000000002020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 208\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffffffff000000000000000000000002020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 209\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffffffff0000000000000000000000020201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 210\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 211\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 212\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 213\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffffffff000000000000000000000001\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 214\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffffffff000000000000000000000002\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 215\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3024021d00ffffffffffffffffffffffffffffffff000000000000000000000002090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 216\n# Edge case for Shamir multiplication\nmsg = 3639313930\nresult = valid\nsig = 303c021c326bc06353f7f9c9f77b8f4b55464e8619944e7879402cca572e041a021c221a25eb9cc8dd66fdf156b2f6ab601ab6d9c509247f8de5d2671a96\n\n# tcId = 217\n# special case hash\nmsg = 33393439313934313732\nresult = valid\nsig = 303c021c3b3008ed596b7fa276498def40d96b1eb2ffb731a44050ffb732e4e6021c6dbb08c56db737e9392ff4f3a54d8b806d70af226ecf413b3465de55\n\n# tcId = 218\n# special case hash\nmsg = 35333637363431383737\nresult = valid\nsig = 303d021d00d1fe269c3061e4b94604e8d612d70887068cc7d5232cd5a9b72923a1021c3c1cbc027d33fb2451d52dce3a828a8c7ecc490a28a94e5e5bb2c4d7\n\n# tcId = 219\n# special case hash\nmsg = 35363731343831303935\nresult = valid\nsig = 303d021c04586134cc679295dd93499311c4a8af37cb94dadbae18d8ee279b9b021d00bf9170a1b65b665664cf567d40a995ce252a23d6a9f962b05e364486\n\n# tcId = 220\n# special case hash\nmsg = 3131323037313732393039\nresult = valid\nsig = 303d021d00c1f51009b935b4773374364ec3eed72a24b70926e0349c77862f3475021c46df3d98f104ba6602f8041a5bf5495", - "fb240e103d1bd17f2fa878923\n\n# tcId = 221\n# special case hash\nmsg = 3131323938303334323336\nresult = valid\nsig = 303e021d00e822242872f1ecf338a4f773df87b67e9b21bb283acac7d66b26551e021d0094d4e0fc3c6359994a6eaedddd1533f490f72ef85139f8d3b39cf07b\n\n# tcId = 222\n# special case hash\nmsg = 39383736303239363833\nresult = valid\nsig = 303c021c7fd45528eb7bfc3710e273c4468f0b50ebf93f94cd0e7a602a4929a6021c46613dd1ffd85df8d71f3498001721fda4982c27a1c291359b05b1b8\n\n# tcId = 223\n# special case hash\nmsg = 3230323034323936353139\nresult = valid\nsig = 303d021c36d137b69171a486933b50138d1db1842724766afd25c85b0032daf5021d008e700de21f2fc350a34c7cc19054cf371ecab6f7331ccecf68fca0f4\n\n# tcId = 224\n# special case hash\nmsg = 31343531363639313830\nresult = valid\nsig = 303e021d00da3b436908f5a82f26bc17a8577ad2a782946e3a7587b01d253b1dd0021d00a6544e38f24e8117370c049b5d1f6712ea14337a94511224df4496a3\n\n# tcId = 225\n# special case hash\nmsg = 31303933363835393531\nresult = valid\nsig = 303c021c4314a2bd139d47be3d9fd9ebdd72a06a220219c7596b944178ee6f5f021c0e6f1d2f57c699654e9c705d7b8fa3c1ccb0f939f6368bed246b2e10\n\n# tcId = 226\n# special case hash\nmsg = 36323139353630323031\nresult = valid\nsig = 303d021c6a25643464682679d84970c603927f4a8ca83e7ef9715dd1ed84c28f021d00932b78d165c225a5253e6201c0b1ded0898ba24de44b23233eb78054\n\n# tcId = 227\n# special case hash\nmsg = 35363832343734333033\nresult = valid\nsig = 303c021c476aaa58677d9e60477cffd026c43248e2cf3cc21e8fdccb75ceefad021c7799fc7af8f9b929203faf899bb5ca1aecf2492555157282dfde790d\n\n# tcId = 228\n# special case hash\nmsg = 33373336353331373836\nresult = valid\nsig = 303d021c63a98614a1421e2ebb278de53b61618bafc757122647affd358c667a021d008edba806e0a7e438ca35f98405a8ad2d5c3e8cc2d5c4384233aef0a5\n\n# tcId = 229\n# special case hash\nmsg = 34373935393033373932\nresult = valid\nsig = 303e021d00880b5238a014f8b44655b83c175880eb1e8307899a824ea3e07dbd6d021d00a4724c8649fd74e5bc8d7fe6a9067a1376fb8e08dbdaed68980b0f50\n\n# tcId = 230\n# special case hash\nmsg = 39333939363131303037\nresult = valid\nsig = 303e021d00f8743588234634dd9891f4f2f40f4e46b77f97b82dc5dbe234aa6b5d021d0080656e5262bc25e158f3b78f51ae0d6a41cc8cca1aa457221b2eb7fb\n\n# tcId = 231\n# special case hash\nmsg = 31303837343931313835\nresult = valid\nsig = 303d021c2a2357e3d8fe34434582be4dabd58b77b388d1d52adcc664f45dece4021d0094be3a369b7c2788df4587ec5bd4163c4cbc40b77de1a85e8bcfb251\n\n# tcId = 232\n# special case hash\nmsg = 33323336363738353030\nresult = valid\nsig = 303d021d00b6b0c0aba6c611300ecad8816242c415f183a2bd4d46cd7769033d9b021c7750b24be02f22dc0b656fe4af377413f9453dff99226915dbb6e08f\n\n# tcId = 233\n# special case hash\nmsg = 31343438393937373033\nresult = valid\nsig = 303d021d00a5c1a75c2779f3eb83a65e295927cce4288e9d5c2132a4c7ca92526e021c10fe30f0be33a785385137b57d806140a402b9bd3c1df1b57de6da63\n\n# tcId = 234\n# special case hash\nmsg = 35373134363332383037\nresult = valid\nsig = 303d021d00b92b5521d1a7abe77e8524dbd3001121cf83c08017e3917bc58b5d1c021c224b113779017f6a522171edf930f1b5d4f5e7dedc6d2d514fd7883c\n\n# tcId = 235\n# special case hash\nmsg = 323236343837343932\nresult = valid\nsig = 303e021d00ebd3ecf3aa64cdcdd171585a141a4a673a8d5de0ca087dfcdf62432e021d00e0f1a0f7b8f5ac4a42632f87156ad1094079393b03f2051a9fd60249\n\n# tcId = 236\n# special case hash\nmsg = 35333533343439343739\nresult = valid\nsig = 303d021c6c3854297e1f267b64a28e0cd6148e0fadcf85bc8d5c23947543bcb8021d00aa0594ee11312f5d4767d296e5ca83df68072811f81a8d27e178ca5d\n\n# tcId = 237\n# special case hash\nmsg = 34373837333033383830\nresult = valid\nsig = 303c021c785ac8c956d7797ae67498775b3c446c41735eb15f3430b49f6a09f2021c5710879ab83994e809c8d2cbd6f2ac5c205b4b8d6226e98be03e7967\n\n# tcId = 238\n# special case hash\nmsg = 32323332313935383233\nresult = valid\nsig = 303e021d00f1f3d016693125ba73981c8f9a1748e5dce1d9634355f26fa536190e021d00b574e97def60dcd0e9177106483791b2edb4ab0342b9f5ebb957d5b0\n\n# tcId = 239\n# special case hash\nmsg = 3130373339333931393137\nresult = valid\nsig = 303e021d00e64f3371522cb1a5f0d1511b152b20e01deca0b3284786853cac279a021d00c9a2e5f4ffde22b9d4ed0179ce74fff408ea918dda7685c7980ae61a\n\n# tcId = 240\n# special case hash\nmsg = 31383831303237333135\nresult = valid\nsig = 303d021c1f99dd6ef72feeeda6c123baa4fabb126d7dedb64130fae3f4230797021d00e441ec51dca6271b043e95753c4043d7cb4e76fdc13d6aea45fbf243\n\n# tcId = 241\n# special case hash\nmsg = 36303631363933393037\nresult = valid\nsig = 303d021d008637a09627c52766bf96f0b6cea6f2ac3eb303001c5f6fe6d628e4ba021c10b66c599455d40077bb865ed43e2c2cc403473baa6d63b16be48c84\n\n# tcId = 242\n# special case hash\nmsg = 38383935323237303934\nresult = valid\nsig = 303c021c52a010a23e4f9ebb459bbe9f3057e6c19761fb99d25c9b16b8f007d8021c526dc1f34444de00447ba23c76950f2c159579d548b6335d127ea321\n\n# tcId = 243\n# special case hash\nmsg = 31353830323334303934\nresult = valid\nsig = 303d021d00fc49caaada528f3357e5a264f2e7f970ca1b15ca5fee28741d1202ac021c175e884d10d0bfd20b39311ce2c53083da167d1f3dfeb990e59ed628\n\n# tcId = 244\n# special case hash\nmsg = 33393635393931353132\nresult = valid\nsig = 303d021d00d95d539a85c9edacd4e02ede27b0e0b737099612d166c637c83a9f34021c59936a2b90b7f3f3da83f64dec8e347a3bfa57baadf9acea18c071d8\n\n# tcId = 245\n# special case hash\nmsg = 32323838373332313938\nresult = valid\nsig = 303c021c1895e65593d71e5635cce022dda19bd155bb9a7f2e307e5ce9127ade021c121b487c320c544dcdd471d46fcde2ce5dc9d17fda70544c4eab50a2\n\n# tcId = 246\n# special case hash\nmsg = 32323330383837333139\nresult = valid\nsig = 303d021d00b5f4c85b13b51a5da81a236f1105937f3d98856d2aeb57101b6b499c021c3be74ae770fa6467f76a742eb9e504a815a4a60e74b38bcaa89f9b06\n\n# tcId = 247\n# special case hash\nmsg = 313239303536393337\nresult = valid\nsig = 303c021c07a57197667a0c40423d4811ff96384c9330467e8a28eaa4c0d519f4021c011062c8694494baaed24ff610e1e4227efb59a163c33fafd40100f9\n\n# tcId = 248\n# special case hash\nmsg = 32373438363536343338\nresult = valid\nsig = 303c021b7f718615ba1d0a9d27a8c5a678a6225ffe1233ed8b417c9343b310021d00cf6a87e4496725c6a2612f4034ddf4b31c7435e2fc3a163e92d463ba\n\n# tcId = 249\n# special case hash\nmsg = 37353833353032363034\nresult = valid\nsig = 303e021d00ba8f95a4363c493a9f78bb61dbefaa9587d028bb8344420de2b0cf21021d00b3798c2d6e27a2591c2edc18320b78bf11df194b11b3fb498c595232\n\n# tcId = 250\n# special case hash\nmsg = 32333237373534323739\nresult = valid\nsig = 303c021c596b74077801db2e889d3b2aaa3990fe180abc152d48528385ca955d021c38bffd416f779843fad389750003eb0708112a4834c554f476a3e0d1\n\n# tcId = 251\n# special case hash\nmsg = 373735353038353834\nresult = valid\nsig = 303d021d008547f62967523a06c9690e5ff66c3f2254cda28f09ffccc222433d39021c3d9ebf664ee551bb7b33157d6c6c5fd456bda3d4ae460215ec1a5f94\n\n# tcId = 252\n# special case hash\nmsg = 3137393832363438333832\nresult = valid\nsig = 303d021d0090ee3fab9c6ce373a1b35fc135fe878280ee25e58a4bd7529e91b4f0021c6451e7526505b44e88472b46eda3fd2679824dcdfc445e67f35ea382\n\n# tcId = 253\n# special case hash\nmsg = 32333936373737333635\nresult = valid\nsig = 303c021c0a530530b6a9238d2d1a3cf468986c87f3b208f61ea0486d53140c17021c5f027a73f31a5cc2bee81ff0019477c542fd782ecde0e551fcd37e93\n\n# tcId = 254\n# special case hash\nmsg = 35393938313035383031\nresult = valid\nsig = 303e021d00beab4abd23df5e2acfff07c82e245dfa7d587d0238c2c9ab9c88a96a021d0098c6507635536840edf604f9baae6408ce4d3fbee694db3abd825011\n\n# tcId = 255\n# special case hash\nmsg = 3136363737383237303537\nresult = valid\nsig = 303d021c3ec8c36335cb98fa07b983c35b7fc256f44a5aa192d6087595145a15021d00c32b7a47ac6271f4593562bbbf91f9e07395a5e4d46970495cf29f05\n\n# tcId = 256\n# special case hash\nmsg = 323036323134333632\nresult = valid\nsig = 303d021d00bd635a741f1f2a1d9ac1698baf5cfc491d5e3f8e15f1cacbe4ffe4dc021c4bb606cf7cc11d0d7d96b83966f42276095ccc445882ed5afddabf1e\n\n# tcId = 257\n# special case hash\nmsg = 36383432343936303435\nresult = valid\nsig = 303d021d00812c08622c0a09d949b7628585c4f4f2db4c5591b5da148ff46d5cd4021c2104f9bc9d0079acb3077d2db58f388119500c5322cb9b5389b5c5d7\n\n# tcId = 258\n# special case hash\nmsg = 33323639383937333231\nresult = valid\nsig = 303e021d00fa4e1c8b0006f269c855eb495fa3a113f643fa8b1fef2b08ab145994021d00fe85b8b522c7f9e8943e0f62643395bd1fcdabc892c315d108b75f65\n\n# tcId = 259\n# special case hash\nmsg = 31333837333234363932\nresult = valid\nsig = 303e021d008c1d9b7911bacb6b4a09582648b992d46a1832eb006178c0c77fcb10021d00becbe12b99f243766da5bdad07461b9226a8298672b4f1adb35357ef\n\n# tcId = 2", - "60\n# special case hash\nmsg = 34313138383837353336\nresult = valid\nsig = 303c021c78850a40530aa258e478e7c547d3a5e4944d3524f1676443e4dfb37d021c687058e1ca478f52a30c9a3f8e2eea9d8c40599cd47ef66b9430d17d\n\n# tcId = 261\n# special case hash\nmsg = 393838363036353435\nresult = valid\nsig = 303c021c066e7268a6abefe1b4b916ca51c3e958e40dc78c3661313e0ed2e77d021c6404d8a332a837f2ab6bd13e3ee4aad1e9307d449e7f9b7d6332030c\n\n# tcId = 262\n# special case hash\nmsg = 32343739313135383435\nresult = valid\nsig = 303c021c4eca73709a67c41603ca5af494c8132483ffc2e0bf171b52de5a5e81021c2c79137cd2add3ce3a76792270e347221a3ad786eafc2682b39bcf95\n\n# tcId = 263\n# special case hash\nmsg = 35303736383837333637\nresult = valid\nsig = 303d021c0178512f8844984222393a63263e0a009601869e632f07eb7470aa05021d00e32657cded1122cee0a4f66ff50a32da1f05de4c5e217acdf5eb6fe2\n\n# tcId = 264\n# special case hash\nmsg = 393838353036393637\nresult = valid\nsig = 303d021d00e2c7bf1222ca23a56492873c2d3fa6c7030cc166d693142dcea272b6021c715a4c82fda4404217dea6c0bbf3ac24f8faa2b435fbc6d51a32c4a8\n\n# tcId = 265\n# special case hash\nmsg = 32373231333036313331\nresult = valid\nsig = 303c021c49886a8c26c91d649cbfecda6ce8d1441e764c66f5d81dceedb6c5ba021c4370d8bcd4f052fac9491d62850b6a6a85d5acc44d9248c3dff30bf2\n\n# tcId = 266\n# special case hash\nmsg = 33323034313031363535\nresult = valid\nsig = 303e021d00e1ae225e1aeca40747ff3e7ad1f75eb9bc90d637160a7f58ce12e591021d00b97cbea3a9323110315760b7e2ede496514b30f0eec521ffeb07a634\n\n# tcId = 267\n# special case hash\nmsg = 33313530363830393530\nresult = valid\nsig = 303d021d008a93b87b46512544fb9a7af5c41e3aa72e40235ef87ccb7108daae48021c157db617ac697df407af7a11626c52a1af7ef189514da39918c43010\n\n# tcId = 268\n# special case hash\nmsg = 31373237343630313033\nresult = valid\nsig = 303e021d00ebdebe6388b9f460fce6d84faa67ded1e864ef09e77ea3ce58a5deff021d00be5052033eb40380c2b1325fe97dcc55841e147a89f02a296b4505ef\n\n# tcId = 269\n# special case hash\nmsg = 3134353731343631323235\nresult = valid\nsig = 303e021d00e85d0667972d003c82afb9e18b702357119b4f38401a5ebdfcbea88c021d00eb7b3e5268a4ce6280f72d7e9a3d74e5cac50b1c3a5296cdb5a49d82\n\n# tcId = 270\n# special case hash\nmsg = 34313739353136303930\nresult = valid\nsig = 303c021c3d243581c0874fd4eb4d80f896c5067429ad455314881951ab5ec6e3021c0ec47aba08ccba88c1a6ddc289f595bda08dc2dd34d12dcefb68094d\n\n# tcId = 271\n# special case hash\nmsg = 35383932373133303534\nresult = valid\nsig = 303d021c75c966bbdcef9157d47a134231229f9f5ee8ce458775fc747d4509bd021d00e344fa716e2088d95a55d02a978a416da10f22a5cccf35a2863227cf\n\n# tcId = 272\n# special case hash\nmsg = 33383936313832323937\nresult = valid\nsig = 303e021d00cfdf599e986d770b73784d97149f9945fd16d22c302bb796156e7fb4021d00c6409785047b0083f008771b40db8502583208b61c8984671acb0929\n\n# tcId = 273\n# special case hash\nmsg = 38323833333436373332\nresult = valid\nsig = 303e021d00c53c4aeec8f2e7a5cc0e885a6031aa1a6c1b7b7fec83b5084cbe291f021d00b0e6d10a8fd86f958c3b0f4662ed8ca0d6eadbc892aac4200fcf8315\n\n# tcId = 274\n# special case hash\nmsg = 33333636393734383931\nresult = valid\nsig = 303d021c2386550d6e75350bcc32507bfc9beb9c26d72ff82f671c1f5282e98b021d00a55b8de808c4359fb529b80a80d9fc6eddb5ce08082c3b677c689991\n\n# tcId = 275\n# special case hash\nmsg = 32313939313533323239\nresult = valid\nsig = 303d021c1fbd192d955ce02b64a3be5bb21bef22b53a6c6f9576d8f889b09e4e021d00f5a9b673a4ee5aabf1ca8e8289f25b62a3e08b956f7418c03e2d3031\n\n# tcId = 276\n# special case hash\nmsg = 35363030333136383232\nresult = valid\nsig = 303d021d00b80ffba451db9fc2194e450bdd43bc0f53a7d0f4a78900c09fb8d9bc021c0124eeeab9035b6c845959e70b04d1e187d554807d6751afabcc1802\n\n# tcId = 277\n# special case hash\nmsg = 383639363531363935\nresult = valid\nsig = 303c021c187fb026ade3ad16dd4b2813e8ebda433cb6cc3af1615bedf486a9e2021c6fbee53fa884d296f34f7719f74919434d1b7090c485eeed2fb8fd6c\n\n# tcId = 278\n# special case hash\nmsg = 36353833393236333732\nresult = valid\nsig = 303d021d00e598a16fe12da79e9814f6985c9a9334010f287dc9e38de857ca5fc0021c19e0ed54f0e08ad091a163b4c7b86d0634da2c86a7a8991f5d8706d8\n\n# tcId = 279\n# special case hash\nmsg = 3133323035303135373235\nresult = valid\nsig = 303d021d00b31a10480e397c8aa46f52a0f2fb5c22ebc0534fba156718b50cf6ea021c602004df4b47a2065130ca3b05f1eb02d0b37b79b04b1eb799408346\n\n# tcId = 280\n# special case hash\nmsg = 35303835333330373931\nresult = valid\nsig = 303e021d00bc47e242d19dcc6321913980d73923e430bc6623d219529d586619b6021d0081397dd2f52811b534ed754a937d904f04a7de278fa3bc8926de6946\n\n# tcId = 281\n# special case hash\nmsg = 37383636383133313139\nresult = valid\nsig = 303c021c5be0e0dfb26b1caa88f866504aa8e76f035a82abe00028d962bcfafa021c3c3c1df06026123471bed324ca79c51b28b3d10b1ce877cef21b852d\n\n# tcId = 282\n# special case hash\nmsg = 32303832353339343239\nresult = valid\nsig = 303e021d00fe79d0cfe455724792cb5ab0580ad4f2918c1403ec12f0bdd2ce6528021d00f1357cd4afc402994ab868b0163f41701e0f00e561fdd97e0db6f7b9\n\n# tcId = 283\n# special case hash\nmsg = 3130303635393536363937\nresult = valid\nsig = 303d021c1858c5d857124cd703e7c2f5e99d5025d6d979539c6f50b1d00fbd34021d00d94a5adb6d9c5001162620415541d49334fb929bc86a350ca4591195\n\n# tcId = 284\n# special case hash\nmsg = 33303234313831363034\nresult = valid\nsig = 303e021d00e6b2ec967cfa25f57234b9ef1d87c5945502cbbd5831c862f00774d1021d00caea26368bffc8e562b2bd03aa6c9dc41c529659fefe6597fce9cd9c\n\n# tcId = 285\n# special case hash\nmsg = 37373637383532383734\nresult = valid\nsig = 303d021d00a59b438b2472074a93a289b33f5b13e604977dd3ab4d744d08e1061b021c699574a17dc8c7298c9321ca78552e5128ea801d056f387ba42f7a09\n\n# tcId = 286\n# special case hash\nmsg = 353434313939393734\nresult = valid\nsig = 303d021c748481709c6882c4a130193834a57f4bc714906211ec6cc12c400dff021d00eec6c9d5a06786f821a8117eec3dc025ed3ac74e39e98a16a4aa285c\n\n# tcId = 287\n# special case hash\nmsg = 35383433343830333931\nresult = valid\nsig = 303e021d00bc8991b506997403e123136a9c140a4336364733b0815f40d1dbd5fe021d00819503ea3b4c07fc157f948f6949705d560a881fc1c6af4b7391765c\n\n# tcId = 288\n# special case hash\nmsg = 373138383932363239\nresult = valid\nsig = 303c021c1caece75c8e31bb0c5cceb0842f23683b8557a97036574ea88ceeabd021c645ad3276aaee22b693647f00dce5f91a03b678b789b667cd3b8e751\n\n# tcId = 289\n# special case hash\nmsg = 31373433323233343433\nresult = valid\nsig = 303c021c3a7d582068aaecaba945203bc445b3312e5cb40886522987aced68d0021c39b3c612b6743a13bb2ffb83514d690cfcb9a7055e3a993cb0863938\n\n# tcId = 290\n# special case hash\nmsg = 32343036303035393336\nresult = valid\nsig = 303e021d00f773c49fd0645716d16e559e22c39101df266cdfa7cb61ce46f85280021d00df6109fd77a241031cf03b376e001d8a3cd2a6b646edbf9e578133f1\n\n# tcId = 291\n# special case hash\nmsg = 31363134303336393838\nresult = valid\nsig = 303c021c79cf893f66f7faa5ca08553ea03456107e7bb391a5e51260cedaea84021c32e8e3509468da7216c59975d4f3d5493848a03f864b2332044e68d1\n\n# tcId = 292\n# special case hash\nmsg = 32303935343235363835\nresult = valid\nsig = 303d021c025ecd1a7ab765fbfd25a6d7cd3c461e17f465e6958bce9f492b7a5a021d00a1ca95038603d302761e416935acbd6b716a316c9b79c57d4053cb79\n\n# tcId = 293\n# special case hash\nmsg = 31303038303938393833\nresult = valid\nsig = 303d021c3d14a4c21ba4dbd338fdd8b15fcdd0a9228f157cfaf2b09dd4f2aa67021d00e1640e8bd2a6110dc18d6f290b7325814710c0dc88b76f127c5e9e21\n\n# tcId = 294\n# special case hash\nmsg = 31353734313437393237\nresult = valid\nsig = 303c021c258dce916ef78b9d8a87beaf6edd35bcccc08c5de488586e1b7b749a021c4ff500db4d665c7062179c099b2985a814f99fbfa44a3a709024d589\n\n# tcId = 295\n# special case hash\nmsg = 32383636373731353232\nresult = valid\nsig = 303e021d00cecf0aec5357749f357c459575298a3384dc4ac381438ff99acd9993021d00da7adb092a6890e0918c235a62d4a949b0cae5e57856975108fb2b91\n\n# tcId = 296\n# special case hash\nmsg = 31363934323830373837\nresult = valid\nsig = 303d021d00d77f2e547fd68d5db314901da1ff7ecaf3d0c17ec047a974a7cec33e021c443a97afdf882272bf0233c8c4a8d23c9352ad89b1770c26240f6650\n\n# tcId = 297\n# special case hash\nmsg = 39393231363932353638\nresult = valid\nsig = 303e021d00d5dcf93e6e1b93323ea2642d3405a7423cb04f59c03420193f394886021d00ddd5842e4928ee4b5d77d43d4a4bfc7f991c899727b75fc941b52995\n\n# tcId = 298\n# special case hash\nmsg = 3131363039343339373938\nresult = valid\nsig = 303d021d00a9bc3ebc6ee34421326711ce29518d02bd403ead806a3e4502efa0ce021c12610b89a61689a8eb6e062d2524278155fe499ffecc0e0d940d48a7\n\n# tcId = 299\n# special case hash\nmsg = 373138363136", - "32313030\nresult = valid\nsig = 303e021d00c703c508784ef71b596dcd61c5b01b45c6c69d2b36a5a3b7701e5976021d00f05444a777204118f3ac2afc92d0212831bf7002158e7c656f4c07db\n\n# tcId = 300\n# special case hash\nmsg = 33323934333437313737\nresult = valid\nsig = 303e021d0080674b740b64d383677c049a6f4baeb214f4a6b5933033853e634578021d009b3a804c75ed790e31966bc25730b7428af8c73c65fb503c06c597eb\n\n# tcId = 301\n# special case hash\nmsg = 3138353134343535313230\nresult = valid\nsig = 303c021c7ed658c30f4a0dcc894c39f9320f59a185509ffee45eac6023577c7c021c47ac94a501806d5adffea9fcf3ccd8cf79f3cc47eca9fe38fc4886b4\n\n# tcId = 302\n# special case hash\nmsg = 343736303433393330\nresult = valid\nsig = 303d021c397f669cc399a91da96c16efd233f6fe60d1b7caa397cc257843b30b021d00f19375fe66eae4738ec9dc5b7ef51cb33d4cb258f36944d37dd245cb\n\n# tcId = 303\n# special case hash\nmsg = 32353637333738373431\nresult = valid\nsig = 303c021c537ec369b3f0d891e166f6c74e5d73dd2c4822210c5fe5f978c34072021c0b183c48b5f6e69245cb76e1e2c39663eedfb74ba9538739ac495ff5\n\n# tcId = 304\n# special case hash\nmsg = 35373339393334393935\nresult = valid\nsig = 303d021d00d0ed7159cc3a79988f3c279287ca8ed10bb8f02c8b5a6204aead1223021c75ee1e5c00e81899bfa8545edcc64fdf707dae1f61d976d2f0883777\n\n# tcId = 305\n# special case hash\nmsg = 33343738333636313339\nresult = valid\nsig = 303e021d00cf43329a9781db8044a920758e58399866fe7748c0f5d6a3bcdcbcbd021d00d9740d2dd716290ad4160345bcd4af03af01c44b610b1e5953199075\n\n# tcId = 306\n# special case hash\nmsg = 363439303532363032\nresult = valid\nsig = 303e021d008ab2e92c8c9143f9d8da3bdb1d935cce3ab60ae99b3ccfe863b15d14021d0088c89302e8a9c591c6ed16b1ae46f966004d0b2685449842e291d742\n\n# tcId = 307\n# special case hash\nmsg = 34373633383837343936\nresult = valid\nsig = 303d021c04f60f8450b448198cf7981116de06d4c4888cd26be3a5947092238f021d00cb23fcb33c14f089c2ae030146d68fa65eb9b086fa792f95be8ecf35\n\n# tcId = 308\n# special case hash\nmsg = 353739303230303830\nresult = valid\nsig = 303e021d00f270f7a70a96a0f916c7530c6dea7178e6c087ddbcc60aacd8a7c553021d008b2c378554121365a180ad4edf1a12e566ba55eeabf525356783e603\n\n# tcId = 309\n# special case hash\nmsg = 35333434373837383438\nresult = valid\nsig = 303e021d0085ad01b236ca4a5451969242e16165d322428235a2af8fdcd6c4c7b9021d008eb2998c5e0aaf279793caff59a266ca2068d94ebf77bae81fd0fb6a\n\n# tcId = 310\n# special case hash\nmsg = 3139323636343130393230\nresult = valid\nsig = 303d021d00cffdb8d64b5b84b490ff73d77e51cc7797bf67c5ee0a4999def17230021c3baf4b34e1a35e9606a460b395063a554264a9c43cc302ab5abf473e\n\n# tcId = 311\n# special case hash\nmsg = 33373033393135373035\nresult = valid\nsig = 303c021c66cda58a5a6ddb9476e36dbad5df542be88d7e447bdc3dfe1d9e8b2c021c0d99d387486a964ebab4e29bad583e46a5a200391d1065768a4e35fd\n\n# tcId = 312\n# special case hash\nmsg = 3831353435373730\nresult = valid\nsig = 303c021c3200761902825bd353908accd2be6b482645646971f96dc490706a37021c3ed77899efdbe418370fa7998df3b7c924bed6864535277f805c894f\n\n# tcId = 313\n# special case hash\nmsg = 313935353330333737\nresult = valid\nsig = 303e021d00ba0eff0ee46aa9fca5ab8ad64aee4037931d3ad0b953d404ef9f7bdc021d00afdf21df0dcbe39c2f5fa9ef7e1a2bca87d1213d1eca438929ad8982\n\n# tcId = 314\n# special case hash\nmsg = 31323637383130393033\nresult = valid\nsig = 303e021d00a20c6883fc6ec1ca4bb378ac88ed670a742a6284113d5fa3182a1858021d00e0a73b913b94163175d264224cc70736f2fb8e8d58e914b18c921323\n\n# tcId = 315\n# special case hash\nmsg = 3131313830373230383135\nresult = valid\nsig = 303e021d00f2f4af956b0c5409949d377e9bc68e4f1abef7969b518f8beacf27db021d00df3a7b5993d2393ade70a2cfc1e8671a78ca4fecb56425a661a2d2fc\n\n# tcId = 316\n# special case hash\nmsg = 38333831383639323930\nresult = valid\nsig = 303c021c331a1a553494f8524adb4e8a722d558965fb703ae432bf3cbdb255c2021c5ab6e3dee6a2516fc4e0ac88e6dfc81d2bc37c98949cc03e521d389d\n\n# tcId = 317\n# special case hash\nmsg = 33313331323837323737\nresult = valid\nsig = 303e021d00867135558e06e19796ebce8e3555c607a6607d46f7c8da6b8552ffc1021d008e827e8b9a4f74efeec7d7ba5c23428fde0227df55a1efc179a353b1\n\n# tcId = 318\n# special case hash\nmsg = 3134333331393236353338\nresult = valid\nsig = 303d021c6746903ca095bfd3f6378a70092723483ca190b2392d8b1ad337969f021d00f33bfae0835c23a80ec9f33ce9a9035c192836a0b2fadd347d803f96\n\n# tcId = 319\n# special case hash\nmsg = 333434393038323336\nresult = valid\nsig = 303d021c7fc0d8739ecfe349e506e71203a6e60e628a1bb0c67d5e574cb8831c021d00cf8bb1557152c57550a0fde6571456fa752782f7f92f7bb235dde39f\n\n# tcId = 320\n# special case hash\nmsg = 36383239383335393239\nresult = valid\nsig = 303e021d00b4486e3139e0b1542892db3d3f51b0524894e19cb00cd07b03ee9c97021d00ad9728d77a8b7b4fa435b3345847860c332d65d8152aa6503ab18755\n\n# tcId = 321\n# special case hash\nmsg = 33343435313538303233\nresult = valid\nsig = 303e021d00afbbdc8e50e801ecbd2e3705079717f4f9d69f3b3d85215aeecb4fbc021d00eceadd4e2cc9cea10b56d16a03fa551fec3eb808bd8d9f0926d14ed3\n\n# tcId = 322\n# special case hash\nmsg = 3132363937393837363434\nresult = valid\nsig = 303d021c4a762f7d146f9eafff5ad11a6978260c818b801c3488dd60411f5cf6021d009ea77512585620ef2cfae8b8c9d8171229a32197e1949561bb75a049\n\n# tcId = 323\n# special case hash\nmsg = 333939323432353533\nresult = valid\nsig = 303d021c227fe52b579833feee16c287d29273e2256df68aff0b94d2752d877b021d00bd79935e5faa8e9356622fea0135ecf796daf60333d5ab125f71e512\n\n# tcId = 324\n# special case hash\nmsg = 31363031393737393737\nresult = valid\nsig = 303e021d00cd5365983eb165db39ba0c66c3a45b2ce1370c9ad14a9aa76dd4633a021d00a8c77ce42ab1c888a6b5d04b71139fd882328622e15e80252e5cf7da\n\n# tcId = 325\n# special case hash\nmsg = 3130383738373535313435\nresult = valid\nsig = 303c021c54d6d44373f7dfc98455a22cd39a0b320fabc33215216b37365b5a16021c29cc690f2467c02e07bc416ad47204975af8c5c3346973f2b03ded3d\n\n# tcId = 326\n# special case hash\nmsg = 37303034323532393939\nresult = valid\nsig = 303c021c2f5048c9ef9f30da7cb3fe4624552200f9e57a46d79db0484a0d9cf2021c06dad3a4682725852869a1a459bec865661e1a38a9e546eeaac7cb84\n\n# tcId = 327\n# special case hash\nmsg = 31353635333235323833\nresult = valid\nsig = 303e021d00abbf0a02332fbea779899d31d3abd2d22c9c02d4058ced639bf06c45021d00cce0570f3812e5cfcb23376c554c7fc35dbcfeb623a7958c664ac6a4\n\n# tcId = 328\n# special case hash\nmsg = 3233383236333432333530\nresult = valid\nsig = 303d021c1c30cb8bc21087b77eb1216ee8629e3676d925f1ae15077cc631da4f021d00ee998157bdefb77d1044e983a6afec7d91a23d95c937fc5c6548c989\n\n# tcId = 329\n# special case hash\nmsg = 31343437383437303635\nresult = valid\nsig = 303c021c43ee11a7ab62e2125e765c2ce5d4f84704183539810512268d87f195021c65897e54025777659ee802b39c6bfd5ccc5706a9d1b38f95c078abaf\n\n# tcId = 330\n# special case hash\nmsg = 3134323630323035353434\nresult = valid\nsig = 303e021d00a1fe3f4d3f43aaa3dcafa79ed99fbc045c11c352caacd89f0f63847e021d00ca2e37bd2c13b9fb3f8a55b7a67eb034240395abd39fecde75141336\n\n# tcId = 331\n# special case hash\nmsg = 31393933383335323835\nresult = valid\nsig = 303e021d00bd290286ca08485ea4137010c67203c2455e7b669d153c6be40087c7021d0097dd7502ba3637f33baea5b2398647ad24c0fe35072bd963149b5aa0\n\n# tcId = 332\n# special case hash\nmsg = 34323932313533353233\nresult = valid\nsig = 303e021d00c917269a5a4ce80b7fe54a8bed49326b50527a4d2fb0a3093182b5a5021d00a195ec0e69e3172e854e87dd651b44433fcd7dcbb7bd59515d2afe8e\n\n# tcId = 333\n# special case hash\nmsg = 34343539393031343936\nresult = valid\nsig = 303c021c0b7b5aab8364dd4b11001a0b986d5aa4fb61ee720237417a7f63722f021c7f13b411e645e819fed1b925ebe807d9560b44d0ba1b75bd2fbd1294\n\n# tcId = 334\n# special case hash\nmsg = 31333933393731313731\nresult = valid\nsig = 303c021c505b974f8ecf07b60ffdbd2b2df9324de92b39476eb763a4c25f126a021c1c36ed1dee772c724205f717c383f49a87a5bc3caa0ef81360f9d800\n\n# tcId = 335\n# special case hash\nmsg = 32333930363936343935\nresult = valid\nsig = 303d021c24219e49b98a9b64e56d21c908c870eb88b447d9f1ddb735083d6df2021d00bc4d7644faeff1e134443b2bb3bb2a20e2a4a7c193180626127ce937\n\n# tcId = 336\n# special case hash\nmsg = 3131343436303536323634\nresult = valid\nsig = 303d021c083246081cf2f8c5e1cd42b60450fc6cac3b0ab03d38bdd271cd7370021d008d117ec32dbf939394499f7dbc2ab77290e9222d6d60ea02ce45c58a\n\n# tcId = 337\n# special case hash\nmsg = 363835303034373530\nresult = valid\nsig = 303c021c24916961dd0d168c2878ca4fd065b81311c03b7f23f8416f4a23b14b021c1e37e3c03b2333b33bbb2ebe05b031042af19315adfdccdfc8d078ee\n\n# tcId = 338\n# special case hash\nmsg = 3232323035333630363139\nresult = valid\nsig", - " = 303e021d008df5468b123b92477a5c57ea86c54c5c9e41d119370dc18922aa8303021d0086bdf06b75f4d49d02c5806926f5d01b1a4f6a8146664a03fa820772\n\n# tcId = 339\n# special case hash\nmsg = 36323135363635313234\nresult = valid\nsig = 303d021d00f65bf16f7ced97b0cdc22b08c62ef811306813134b001bc51140e828021c3a9b7c008cdaf803368df9ee50e274c7a9f9369344d9918e0c08dba9\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 044408e5c95e332ab6c2823a63959391d60a6d69c59eb1f7bd272206b9f5278e901fb4773aeeb2d8255ba4df3cf3db7e0557dbc6134c55f3a6]\n[key.wx = 4408e5c95e332ab6c2823a63959391d60a6d69c59eb1f7bd272206b9]\n[key.wy = 0f5278e901fb4773aeeb2d8255ba4df3cf3db7e0557dbc6134c55f3a6]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00044408e5c95e332ab6c2823a63959391d60a6d69c59eb1f7bd272206b9f5278e901fb4773aeeb2d8255ba4df3cf3db7e0557dbc6134c55f3a6]\n[sha = SHA-512]\n\n# tcId = 340\n# k*G has a large x-coordinate\nmsg = 313233343030\nresult = valid\nsig = 3030020f00e95c1f470fc1ec22d6baa3a3d5c1021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3a\n\n# tcId = 341\n# r too large\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00fffffffffffffffffffffffffffffffefffffffffffffffffffffffe021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3a\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04315a83008dba00b351c3f9fca0811c3ae1884fa9a2a75e6d5e71f269504bbe6a25be253b582efab4b8b9e61372767a7a3a423c0943127296]\n[key.wx = 315a83008dba00b351c3f9fca0811c3ae1884fa9a2a75e6d5e71f269]\n[key.wy = 504bbe6a25be253b582efab4b8b9e61372767a7a3a423c0943127296]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004315a83008dba00b351c3f9fca0811c3ae1884fa9a2a75e6d5e71f269504bbe6a25be253b582efab4b8b9e61372767a7a3a423c0943127296]\n[sha = SHA-512]\n\n# tcId = 342\n# r,s are large\nmsg = 313233343030\nresult = valid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3b\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 042f6983b6e9f8ef96c2d981f69be54b06591ed73fe40c8a546b936a7971bf57726c26c811d7625a9d851951c1fffe236b0eb3b896bc4c98ef]\n[key.wx = 2f6983b6e9f8ef96c2d981f69be54b06591ed73fe40c8a546b936a79]\n[key.wy = 71bf57726c26c811d7625a9d851951c1fffe236b0eb3b896bc4c98ef]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00042f6983b6e9f8ef96c2d981f69be54b06591ed73fe40c8a546b936a7971bf57726c26c811d7625a9d851951c1fffe236b0eb3b896bc4c98ef]\n[sha = SHA-512]\n\n# tcId = 343\n# r and s^-1 have a large Hamming weight\nmsg = 313233343030\nresult = valid\nsig = 303c021c7fffffffffffffffffffffffffffffffffffffffffffffffffffffff021c3d5052691b8dc89debad360466f2a39e82e8ae2aefb77c3c92ad7cd1\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04d1f515971cc9391153569c2befa1f915e2931110757760ebd7e61f8641c3db8beea20b13205389dcc4ba8a6af4d6da2604cacd7184ec9dbc]\n[key.wx = 0d1f515971cc9391153569c2befa1f915e2931110757760ebd7e61f86]\n[key.wy = 41c3db8beea20b13205389dcc4ba8a6af4d6da2604cacd7184ec9dbc]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004d1f515971cc9391153569c2befa1f915e2931110757760ebd7e61f8641c3db8beea20b13205389dcc4ba8a6af4d6da2604cacd7184ec9dbc]\n[sha = SHA-512]\n\n# tcId = 344\n# r and s^-1 have a large Hamming weight\nmsg = 313233343030\nresult = valid\nsig = 303d021c7fffffffffffffffffffffffffffffffffffffffffffffffffffffff021d00bf19ab4d3ebf5a1a49d765909308daa88c2b7be3969db552ea30562b\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04e8f90a717714f0158d9521f18c14ae8c83bf1eeba115c46cbdabb20b66f50ac13461c02da02edfe4296a1f543dde7b4359f905e04193d3cf]\n[key.wx = 0e8f90a717714f0158d9521f18c14ae8c83bf1eeba115c46cbdabb20b]\n[key.wy = 66f50ac13461c02da02edfe4296a1f543dde7b4359f905e04193d3cf]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004e8f90a717714f0158d9521f18c14ae8c83bf1eeba115c46cbdabb20b66f50ac13461c02da02edfe4296a1f543dde7b4359f905e04193d3cf]\n[sha = SHA-512]\n\n# tcId = 345\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020103020101\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04723bc0c9b7ce6ea784ec075036cede90452c76576bd8fb5be4dc0fb1cf405820d92f48552b551c7b11f49406dc892fd659971ae7f9e74b59]\n[key.wx = 723bc0c9b7ce6ea784ec075036cede90452c76576bd8fb5be4dc0fb1]\n[key.wy = 0cf405820d92f48552b551c7b11f49406dc892fd659971ae7f9e74b59]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004723bc0c9b7ce6ea784ec075036cede90452c76576bd8fb5be4dc0fb1cf405820d92f48552b551c7b11f49406dc892fd659971ae7f9e74b59]\n[sha = SHA-512]\n\n# tcId = 346\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020103020103\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04a0dcce127084f955a4e49a7c86b9b91b05ae7afd6eb07225a6541d88f10a1d4fef93934967bb6c5d8792bbd47ab3abb406899a00b1c91b4a]\n[key.wx = 0a0dcce127084f955a4e49a7c86b9b91b05ae7afd6eb07225a6541d88]\n[key.wy = 0f10a1d4fef93934967bb6c5d8792bbd47ab3abb406899a00b1c91b4a]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004a0dcce127084f955a4e49a7c86b9b91b05ae7afd6eb07225a6541d88f10a1d4fef93934967bb6c5d8792bbd47ab3abb406899a00b1c91b4a]\n[sha = SHA-512]\n\n# tcId = 347\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020103020104\n\n# tcId = 348\n# r is larger than n\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a40020104\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04e10abc9fe15bcc63f009e161aaee26602415bcb45bc6c99ce7ab2b10fbebff4e4de0dfaaf04594dd603cee80b5d9ab78b6707608a95e574d]\n[key.wx = 0e10abc9fe15bcc63f009e161aaee26602415bcb45bc6c99ce7ab2b10]\n[key.wy = 0fbebff4e4de0dfaaf04594dd603cee80b5d9ab78b6707608a95e574d]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004e10abc9fe15bcc63f009e161aaee26602415bcb45bc6c99ce7ab2b10fbebff4e4de0dfaaf04594dd603cee80b5d9ab78b6707608a95e574d]\n[sha = SHA-512]\n\n# tcId = 349\n# s is larger than n\nmsg = 313233343030\nresult = invalid\nsig = 3022020103021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c6f00c4\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04fbfabe6c640856ae5dcdc9e4b706fb3db23ddca46b80b9057ab9e44f6b62d4697977ffe19bf3185083b1ede2161aa5725401a8f57851fc82]\n[key.wx = 0fbfabe6c640856ae5dcdc9e4b706fb3db23ddca46b80b9057ab9e44f]\n[key.wy = 6b62d4697977ffe19bf3185083b1ede2161aa5725401a8f57851fc82]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004fbfabe6c640856ae5dcdc9e4b706fb3db23ddca46b80b9057ab9e44f6b62d4697977ffe19bf3185083b1ede2161aa5725401a8f57851fc82]\n[sha = SHA-512]\n\n# tcId = 350\n# small r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 302302020100021d00c993264c993264c993264c99326411d2e55b3214a8d67528812a55ab\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 0491a85b3c5e90b409f6b8d3bca9117a54a40f4162b388bb9367fd6439f1cedf20ab52eb7154b7ea1f2934a9c8292906e18a0e572002cd2f7c]\n[key.wx = 091a85b3c5e90b409f6b8d3bca9117a54a40f4162b388bb9367fd6439]\n[key.wy = 0f1cedf20ab52eb7154b7ea1f2934a9c8292906e18a0e572002cd2f7c]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000491a85b3c5e90b409f6b8d3bca9117a54a40f4162b388bb9367fd6439f1cedf20ab52eb7154b7ea1f2934a9c8292906e18a0e572002cd2f7c]\n[sha = SHA-512]\n\n# tcId = 351\n# smallish r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 302702072d9b4d347952cc021c3e85d56474b5c55fbe86608442a84b2bf093b7d75f53a47250e1c70c\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04d1ca7a5c1aa086b2951c1ac14e005f0072fb28383973a05117f9652cce523c05ebe94991c47fecd241d0a07e86c88ab3c620eae792aba3d1]\n[key.wx = 0d1ca7a5c1aa086b2951c1ac14e005f0072fb28383973a05117f9652c]\n[key.wy = 0ce523c05ebe94991c47fecd241d0a07e86c88ab3c620eae792aba3d1]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004d1ca7a5c1aa086b2951c1ac14e005f0072fb28383973a05117f9652cce523c05ebe94991c47fecd241d0a07e86c88ab3c620eae792aba3d1]\n[sha = SHA-512]\n\n# tcId = 352\n# 100-bit r and small s^-1\nmsg = 313233343030\nresult = valid\nsig = 302d020d1033e67e37b32b445580bf4ef", - "b021c02fd02fd02fd02fd02fd02fd02fd0043a4fd2da317247308c74dc6b8\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 043565af2a481f9390e71d7642717d0427e02e5e7de8a3c0c1ffd5f33e9474547e0d54dcaae85494c74faa23394a056e41c2839638b8523b72]\n[key.wx = 3565af2a481f9390e71d7642717d0427e02e5e7de8a3c0c1ffd5f33e]\n[key.wy = 09474547e0d54dcaae85494c74faa23394a056e41c2839638b8523b72]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00043565af2a481f9390e71d7642717d0427e02e5e7de8a3c0c1ffd5f33e9474547e0d54dcaae85494c74faa23394a056e41c2839638b8523b72]\n[sha = SHA-512]\n\n# tcId = 353\n# small r and 100 bit s^-1\nmsg = 313233343030\nresult = valid\nsig = 302302020100021d00d05434abacd859ed74185e75b751c6d9f60c7921dacfbb8e19cdba8e\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 0429c694790fbd23777cfde434badcb061a326a5534264bcfe193c716c178a943f7bd4fb132565ba602358b13433a5217ac04cc035566c73f8]\n[key.wx = 29c694790fbd23777cfde434badcb061a326a5534264bcfe193c716c]\n[key.wy = 178a943f7bd4fb132565ba602358b13433a5217ac04cc035566c73f8]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000429c694790fbd23777cfde434badcb061a326a5534264bcfe193c716c178a943f7bd4fb132565ba602358b13433a5217ac04cc035566c73f8]\n[sha = SHA-512]\n\n# tcId = 354\n# 100-bit r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 302e020d062522bbd3ecbe7c39e93e7c24021d00d05434abacd859ed74185e75b751c6d9f60c7921dacfbb8e19cdba8e\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 048fd43aac8556f4665fd4c13f4e151140f42a395763c5da247a398f979687d24a9fcd6b20a59451c348a6364d0ffaf0ecfe164313db6594ab]\n[key.wx = 08fd43aac8556f4665fd4c13f4e151140f42a395763c5da247a398f97]\n[key.wy = 09687d24a9fcd6b20a59451c348a6364d0ffaf0ecfe164313db6594ab]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00048fd43aac8556f4665fd4c13f4e151140f42a395763c5da247a398f979687d24a9fcd6b20a59451c348a6364d0ffaf0ecfe164313db6594ab]\n[sha = SHA-512]\n\n# tcId = 355\n# r and s^-1 are close to n\nmsg = 313233343030\nresult = valid\nsig = 303d021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c29bd021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04c2ae0e357a43f97549a725ae3704449051c96bf3633355c35b6eb7e96a84dfb6d4517d1de46b18786a506178724bf4ae4f9e418c75ab17ef]\n[key.wx = 0c2ae0e357a43f97549a725ae3704449051c96bf3633355c35b6eb7e9]\n[key.wy = 6a84dfb6d4517d1de46b18786a506178724bf4ae4f9e418c75ab17ef]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004c2ae0e357a43f97549a725ae3704449051c96bf3633355c35b6eb7e96a84dfb6d4517d1de46b18786a506178724bf4ae4f9e418c75ab17ef]\n[sha = SHA-512]\n\n# tcId = 356\n# s == 1\nmsg = 313233343030\nresult = valid\nsig = 3021021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14020101\n\n# tcId = 357\n# s == 0\nmsg = 313233343030\nresult = invalid\nsig = 3021021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14020100\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04961617d9855f202fd600b584abe94a46674927cfdc6333c5be56ce7b89b4150d9ccdfbd77e7682ca862c0c3e96d89c918b7d3b7bbb92ff43]\n[key.wx = 0961617d9855f202fd600b584abe94a46674927cfdc6333c5be56ce7b]\n[key.wy = 089b4150d9ccdfbd77e7682ca862c0c3e96d89c918b7d3b7bbb92ff43]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004961617d9855f202fd600b584abe94a46674927cfdc6333c5be56ce7b89b4150d9ccdfbd77e7682ca862c0c3e96d89c918b7d3b7bbb92ff43]\n[sha = SHA-512]\n\n# tcId = 358\n# point at infinity during verify\nmsg = 313233343030\nresult = invalid\nsig = 303c021c7fffffffffffffffffffffffffff8b51705c781f09ee94a2ae2e151e021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 0455b212919cd6886b13cd7a2556430ce442e86942f1bf6e4618ae363e795c664ae960ee1106308b7dba91240ab0c3ef8beb7d0a4d7a102a7f]\n[key.wx = 55b212919cd6886b13cd7a2556430ce442e86942f1bf6e4618ae363e]\n[key.wy = 795c664ae960ee1106308b7dba91240ab0c3ef8beb7d0a4d7a102a7f]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000455b212919cd6886b13cd7a2556430ce442e86942f1bf6e4618ae363e795c664ae960ee1106308b7dba91240ab0c3ef8beb7d0a4d7a102a7f]\n[sha = SHA-512]\n\n# tcId = 359\n# u1 == 1\nmsg = 313233343030\nresult = valid\nsig = 303c021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021c43f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b0\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04c0288a63ce32263f3651198dab801c896fb9308362fc40e35959e14010d00bd1c228cfb6a5faa647387804e34fa1a7f9fcc472c05ea2eeda]\n[key.wx = 0c0288a63ce32263f3651198dab801c896fb9308362fc40e35959e140]\n[key.wy = 10d00bd1c228cfb6a5faa647387804e34fa1a7f9fcc472c05ea2eeda]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004c0288a63ce32263f3651198dab801c896fb9308362fc40e35959e14010d00bd1c228cfb6a5faa647387804e34fa1a7f9fcc472c05ea2eeda]\n[sha = SHA-512]\n\n# tcId = 360\n# u1 == n - 1\nmsg = 313233343030\nresult = valid\nsig = 303d021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021d00bc07ff041506dc73a75086a4325211e696eb6b31da8ff5c2c728d38d\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 040c8e2cb5f6a903e1cccf3ac2d465f1d0dc3452237fd9e8a4df5d5341d044ca8ceecb54a1b951270971e5ab4eb226116c48c553499d1a4899]\n[key.wx = 0c8e2cb5f6a903e1cccf3ac2d465f1d0dc3452237fd9e8a4df5d5341]\n[key.wy = 0d044ca8ceecb54a1b951270971e5ab4eb226116c48c553499d1a4899]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00040c8e2cb5f6a903e1cccf3ac2d465f1d0dc3452237fd9e8a4df5d5341d044ca8ceecb54a1b951270971e5ab4eb226116c48c553499d1a4899]\n[sha = SHA-512]\n\n# tcId = 361\n# u2 == 1\nmsg = 313233343030\nresult = valid\nsig = 303c021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 041ff6b9901784d88b25527b3702622a2734b83d8a0fed0f740bb784e20e83ee0aa82933dcdc637a3760606a04974c2dc75f12095f8fdaf003]\n[key.wx = 1ff6b9901784d88b25527b3702622a2734b83d8a0fed0f740bb784e2]\n[key.wy = 0e83ee0aa82933dcdc637a3760606a04974c2dc75f12095f8fdaf003]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00041ff6b9901784d88b25527b3702622a2734b83d8a0fed0f740bb784e20e83ee0aa82933dcdc637a3760606a04974c2dc75f12095f8fdaf003]\n[sha = SHA-512]\n\n# tcId = 362\n# u2 == n - 1\nmsg = 313233343030\nresult = valid\nsig = 303d021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021d00aaaaaaaaaaaaaaaaaaaaaaaaaaaa0f17407b4ad40d3e1b8392e81c29\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04b21faca17b68058752d943a81f853b800562df8b2172e150953c624201c2c0f5ed3b342956cacd26f9097562d0fb0a3ddab91c5ae7e90c01]\n[key.wx = 0b21faca17b68058752d943a81f853b800562df8b2172e150953c6242]\n[key.wy = 1c2c0f5ed3b342956cacd26f9097562d0fb0a3ddab91c5ae7e90c01]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b21faca17b68058752d943a81f853b800562df8b2172e150953c624201c2c0f5ed3b342956cacd26f9097562d0fb0a3ddab91c5ae7e90c01]\n[sha = SHA-512]\n\n# tcId = 363\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00c152aafea3a8612ec83a7dc9448e6600ae6a772d75ad2caf19f9390e\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04f49278419e4f506889b0168b1fce1f87ee5b61efa0e73c7833eeb29cb1b334f81be8f05f3b2e98d38b030cff57947b96135ec4465c5e53f3]\n[key.wx = 0f49278419e4f506889b0168b1fce1f87ee5b61efa0e73c7833eeb29c]\n[key.wy = 0b1b334f81be8f05f3b2e98d38b030cff57947b96135ec4465c5e53f3]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004f49278419e4f506889b0168b1fce1f87ee5b61efa0e73c7833eeb29cb1b334f81be8f05f3b2e98d38b030cff57947b96135ec4465c5e53f3]\n[sha = SHA-512]\n\n# tcId = 364\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c4e158ef86cc53054f1635c74e65508206048929315e097a59f1519e2\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 0475c6a886e2", - "2bc04b996d4a19575ce0c6686b449b6e05ef1301bd8ba233ab29f65df2d4144da2b21e90359a064765c95e325bb7e54ca28e40]\n[key.wx = 75c6a886e22bc04b996d4a19575ce0c6686b449b6e05ef1301bd8ba2]\n[key.wy = 33ab29f65df2d4144da2b21e90359a064765c95e325bb7e54ca28e40]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000475c6a886e22bc04b996d4a19575ce0c6686b449b6e05ef1301bd8ba233ab29f65df2d4144da2b21e90359a064765c95e325bb7e54ca28e40]\n[sha = SHA-512]\n\n# tcId = 365\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00e2ac0b24512e84f6fb015620d689d30d14736cf00c18838753c3814f\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04f554014cc14f319c18f5fa6cd739249075ff35ba3b2afdab5329ef0fd2c501f25a704addbd85c0e022748956e5998d99c387fbfd343c89e0]\n[key.wx = 0f554014cc14f319c18f5fa6cd739249075ff35ba3b2afdab5329ef0f]\n[key.wy = 0d2c501f25a704addbd85c0e022748956e5998d99c387fbfd343c89e0]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004f554014cc14f319c18f5fa6cd739249075ff35ba3b2afdab5329ef0fd2c501f25a704addbd85c0e022748956e5998d99c387fbfd343c89e0]\n[sha = SHA-512]\n\n# tcId = 366\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c6c5221f3c2de0c6fbc07ff04150679b57f57512b814f413aebafe731\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04bcfa8db704aca56feb23bd4b4049213233aa652045a0a81a2e0da64c091b359f7be7ae00a0e9777d9510f847430b5dfda878e66d4fb0d62f]\n[key.wx = 0bcfa8db704aca56feb23bd4b4049213233aa652045a0a81a2e0da64c]\n[key.wy = 091b359f7be7ae00a0e9777d9510f847430b5dfda878e66d4fb0d62f]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004bcfa8db704aca56feb23bd4b4049213233aa652045a0a81a2e0da64c091b359f7be7ae00a0e9777d9510f847430b5dfda878e66d4fb0d62f]\n[sha = SHA-512]\n\n# tcId = 367\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c221f3c2de0c6fbc07ff041506dc71b5a312063d87beb4c30c289210f\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 049fd4d828ae98056be58fa69eaf9cde98ca0ed9b415d6463fa1864d9fb2a5e41f10e8789450217daafd259f204aed87b0e26100f43f7c5bad]\n[key.wx = 09fd4d828ae98056be58fa69eaf9cde98ca0ed9b415d6463fa1864d9f]\n[key.wy = 0b2a5e41f10e8789450217daafd259f204aed87b0e26100f43f7c5bad]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00049fd4d828ae98056be58fa69eaf9cde98ca0ed9b415d6463fa1864d9fb2a5e41f10e8789450217daafd259f204aed87b0e26100f43f7c5bad]\n[sha = SHA-512]\n\n# tcId = 368\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c443e785bc18df780ffe082a0db8e36b46240c7b0f7d698618512421e\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 046123a33969f2e036fc27885f55755d391cb0c2d3fafb0c4056c1995da03bb490047e88fe7e608912a6205b65f950a8a0a360362d3339e62c]\n[key.wx = 6123a33969f2e036fc27885f55755d391cb0c2d3fafb0c4056c1995d]\n[key.wy = 0a03bb490047e88fe7e608912a6205b65f950a8a0a360362d3339e62c]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00046123a33969f2e036fc27885f55755d391cb0c2d3fafb0c4056c1995da03bb490047e88fe7e608912a6205b65f950a8a0a360362d3339e62c]\n[sha = SHA-512]\n\n# tcId = 369\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00c2de0c6fbc07ff041506dc73a74fd50136878b7e1341521b2f880b19\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04a10b7aa7785b2f2791b1d4c43e127aab5669612d740b38abaa0d306ec178f216fad379ad80baa0eac57bf9a56d446d685576371b74762382]\n[key.wx = 0a10b7aa7785b2f2791b1d4c43e127aab5669612d740b38abaa0d306e]\n[key.wy = 0c178f216fad379ad80baa0eac57bf9a56d446d685576371b74762382]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004a10b7aa7785b2f2791b1d4c43e127aab5669612d740b38abaa0d306ec178f216fad379ad80baa0eac57bf9a56d446d685576371b74762382]\n[sha = SHA-512]\n\n# tcId = 370\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d009f56aa80ae2bcf689be2c11b5db7e3a28983b4a7590692edcf5f8db6\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04e012c23c6867e9553313d0179e9db953de7c368cdb59abe05f1c52bad352a57bb59c45159352c114eeb696ec3b79caa835ef5c2ae71ddcfa]\n[key.wx = 0e012c23c6867e9553313d0179e9db953de7c368cdb59abe05f1c52ba]\n[key.wy = 0d352a57bb59c45159352c114eeb696ec3b79caa835ef5c2ae71ddcfa]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004e012c23c6867e9553313d0179e9db953de7c368cdb59abe05f1c52bad352a57bb59c45159352c114eeb696ec3b79caa835ef5c2ae71ddcfa]\n[sha = SHA-512]\n\n# tcId = 371\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c3ead55015c579ed137c58236bb70b0a2324e79109e2ffc964262f12f\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04b9ccd7f0f3594954aa729bda4be883e107e7f1226465b64c2ca7105789829d787016c5c118d3ba3317a2da0a0daaf56d3004c10962333a9f]\n[key.wx = 0b9ccd7f0f3594954aa729bda4be883e107e7f1226465b64c2ca71057]\n[key.wy = 089829d787016c5c118d3ba3317a2da0a0daaf56d3004c10962333a9f]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b9ccd7f0f3594954aa729bda4be883e107e7f1226465b64c2ca7105789829d787016c5c118d3ba3317a2da0a0daaf56d3004c10962333a9f]\n[sha = SHA-512]\n\n# tcId = 372\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00de03ff820a836e39d3a8435219289444bbd22db7f7368f8411c27ee5\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04321a17de024fe89c1864e128b9e0af3e6b48800a70d6e802b8b6dffeb1a8ae96911ddbdeb83948a992b1b0fe316679c64814b6a45ec56fe9]\n[key.wx = 321a17de024fe89c1864e128b9e0af3e6b48800a70d6e802b8b6dffe]\n[key.wy = 0b1a8ae96911ddbdeb83948a992b1b0fe316679c64814b6a45ec56fe9]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004321a17de024fe89c1864e128b9e0af3e6b48800a70d6e802b8b6dffeb1a8ae96911ddbdeb83948a992b1b0fe316679c64814b6a45ec56fe9]\n[sha = SHA-512]\n\n# tcId = 373\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00f15605922897427b7d80ab106b4474d7fa962e970ffad666580fd5c6\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 0408842f19b114d16be27bb4b6971377ed6b1d0915e133a9ebf01674ee4c97738b6912ff71553c4a747c782eddd9d2a20fbeae38864d217859]\n[key.wx = 08842f19b114d16be27bb4b6971377ed6b1d0915e133a9ebf01674ee]\n[key.wy = 4c97738b6912ff71553c4a747c782eddd9d2a20fbeae38864d217859]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000408842f19b114d16be27bb4b6971377ed6b1d0915e133a9ebf01674ee4c97738b6912ff71553c4a747c782eddd9d2a20fbeae38864d217859]\n[sha = SHA-512]\n\n# tcId = 374\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c7fffffffffffffffffffffffffffb2364ae85014b149b86c741eb8be\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 0484d651596fd2348f1bb5c8ae9d22c8b21c4f7509240b609abad5cc243196b67b4cfaffaf0dce25ab00bfeaa1a64821332efa6dedd87cc9e7]\n[key.wx = 084d651596fd2348f1bb5c8ae9d22c8b21c4f7509240b609abad5cc24]\n[key.wy = 3196b67b4cfaffaf0dce25ab00bfeaa1a64821332efa6dedd87cc9e7]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000484d651596fd2348f1bb5c8ae9d22c8b21c4f7509240b609abad5cc243196b67b4cfaffaf0dce25ab00bfeaa1a64821332efa6dedd87cc9e7]\n[sha = SHA-512]\n\n# tcId = 375\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00855f5b2dc8e46ec428a593f73219cf65dae793e8346e30cc3701309c\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 048fbe39e75bc4fd8a15e4b52e4bbebe2047d54385a7117e17a4d0b2b207abdb40824538e5787c718d6548583f523f6b5bbfa239a7f622c8a0]\n[key.wx = 08fbe39e75bc4fd8a15e4b52e4bbebe2047d54385a71", - "17e17a4d0b2b2]\n[key.wy = 7abdb40824538e5787c718d6548583f523f6b5bbfa239a7f622c8a0]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00048fbe39e75bc4fd8a15e4b52e4bbebe2047d54385a7117e17a4d0b2b207abdb40824538e5787c718d6548583f523f6b5bbfa239a7f622c8a0]\n[sha = SHA-512]\n\n# tcId = 376\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c2db5f61aea817276af2064e104c7a30e32034cb526dd0aacfa56566f\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04c336b340bc99d46c2c52df5428b6a0c4eb2da76c423530f767cc7652f3ab9981bd05d2955123935a379cbb2d4361a17d19878673e1e17dcc]\n[key.wx = 0c336b340bc99d46c2c52df5428b6a0c4eb2da76c423530f767cc7652]\n[key.wy = 0f3ab9981bd05d2955123935a379cbb2d4361a17d19878673e1e17dcc]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004c336b340bc99d46c2c52df5428b6a0c4eb2da76c423530f767cc7652f3ab9981bd05d2955123935a379cbb2d4361a17d19878673e1e17dcc]\n[sha = SHA-512]\n\n# tcId = 377\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d0084a6c7513e5f48c07fffffffffff8713f3cba1293e4f3e95597fe6bd\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04816fdcf370827e3f7771564e1aa73ed73e62556deadad89711cef663edcda0ea42235f4c9a8c13f787351ffe5ceb32f15fc0ccb24e0a409c]\n[key.wx = 0816fdcf370827e3f7771564e1aa73ed73e62556deadad89711cef663]\n[key.wy = 0edcda0ea42235f4c9a8c13f787351ffe5ceb32f15fc0ccb24e0a409c]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004816fdcf370827e3f7771564e1aa73ed73e62556deadad89711cef663edcda0ea42235f4c9a8c13f787351ffe5ceb32f15fc0ccb24e0a409c]\n[sha = SHA-512]\n\n# tcId = 378\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c6c7513e5f48c07ffffffffffffff9d21fd1b31544cb13ca86a75b25e\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 046429d2b7b07ab0d5ea352902df0efc036d7270a0a6ed39f635d04f394f7932883bc45394151324aab26ae29bbd7385fa6a42c3db84432897]\n[key.wx = 6429d2b7b07ab0d5ea352902df0efc036d7270a0a6ed39f635d04f39]\n[key.wy = 4f7932883bc45394151324aab26ae29bbd7385fa6a42c3db84432897]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00046429d2b7b07ab0d5ea352902df0efc036d7270a0a6ed39f635d04f394f7932883bc45394151324aab26ae29bbd7385fa6a42c3db84432897]\n[sha = SHA-512]\n\n# tcId = 379\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00d8ea27cbe9180fffffffffffffff3a43fa3662a899627950d4eb64bc\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04288f38fd77dd1603ff0275cb11cba280ae3408affa6a760f396f1a1ec84ca6fd772c6ac6cc523cc72c2e7e95eb6a36a66b5cca5a58ba078a]\n[key.wx = 288f38fd77dd1603ff0275cb11cba280ae3408affa6a760f396f1a1e]\n[key.wy = 0c84ca6fd772c6ac6cc523cc72c2e7e95eb6a36a66b5cca5a58ba078a]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004288f38fd77dd1603ff0275cb11cba280ae3408affa6a760f396f1a1ec84ca6fd772c6ac6cc523cc72c2e7e95eb6a36a66b5cca5a58ba078a]\n[sha = SHA-512]\n\n# tcId = 380\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c3e5f48c07fffffffffffffffffffc724968c0ecf9ed783744a7337b3\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04c769c138f9d71ffff113273b71a4afde4f9996a1c4be658a3903cf7f430e512b868b37bb96bc17a09b0ab01b262f2e23f34f00418f6b63d6]\n[key.wx = 0c769c138f9d71ffff113273b71a4afde4f9996a1c4be658a3903cf7f]\n[key.wy = 430e512b868b37bb96bc17a09b0ab01b262f2e23f34f00418f6b63d6]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004c769c138f9d71ffff113273b71a4afde4f9996a1c4be658a3903cf7f430e512b868b37bb96bc17a09b0ab01b262f2e23f34f00418f6b63d6]\n[sha = SHA-512]\n\n# tcId = 381\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00bfffffffffffffffffffffffffff3d87bb44c833bb384d0f224ccdde\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 0475f007c11b93e6f46e9a815cb765990a8305d3ad8d22c76fe6b257cc71b5c1951b5d464c66df7c290cf0a4f156bbf52f1e41a79dc63abce5]\n[key.wx = 75f007c11b93e6f46e9a815cb765990a8305d3ad8d22c76fe6b257cc]\n[key.wy = 71b5c1951b5d464c66df7c290cf0a4f156bbf52f1e41a79dc63abce5]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000475f007c11b93e6f46e9a815cb765990a8305d3ad8d22c76fe6b257cc71b5c1951b5d464c66df7c290cf0a4f156bbf52f1e41a79dc63abce5]\n[sha = SHA-512]\n\n# tcId = 382\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c7fffffffffffffffffffffffffff646c95d0a029629370d8e83d717f\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 041255fb94a0f20e6faa2505c394cc3c39f07def4107127dffc4dacb6eea73c1044544a1496560bd1b049ff615e68ae0d483220327569884e1]\n[key.wx = 1255fb94a0f20e6faa2505c394cc3c39f07def4107127dffc4dacb6e]\n[key.wy = 0ea73c1044544a1496560bd1b049ff615e68ae0d483220327569884e1]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00041255fb94a0f20e6faa2505c394cc3c39f07def4107127dffc4dacb6eea73c1044544a1496560bd1b049ff615e68ae0d483220327569884e1]\n[sha = SHA-512]\n\n# tcId = 383\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c3fffffffffffffffffffffffffff8b51705c781f09ee94a2ae2e1520\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04f656a632a0804cf688446b261208f793373c5ff4454bd1e0a882113f30a25d6f586e02dd4dcbf73d96af3e483b7acb5f8f4c06450dec1982]\n[key.wx = 0f656a632a0804cf688446b261208f793373c5ff4454bd1e0a882113f]\n[key.wy = 30a25d6f586e02dd4dcbf73d96af3e483b7acb5f8f4c06450dec1982]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004f656a632a0804cf688446b261208f793373c5ff4454bd1e0a882113f30a25d6f586e02dd4dcbf73d96af3e483b7acb5f8f4c06450dec1982]\n[sha = SHA-512]\n\n# tcId = 384\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d0096dafb0d7540b93b5790327082635cd8895e1e799d5d19f92b594056\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 048fb572de4daf76702624ce4ed819d026762224e8a54215bf81b202a3f074d20e1da7232d279461732bc1bae0c5416ab9d696308622e7ffe8]\n[key.wx = 08fb572de4daf76702624ce4ed819d026762224e8a54215bf81b202a3]\n[key.wy = 0f074d20e1da7232d279461732bc1bae0c5416ab9d696308622e7ffe8]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00048fb572de4daf76702624ce4ed819d026762224e8a54215bf81b202a3f074d20e1da7232d279461732bc1bae0c5416ab9d696308622e7ffe8]\n[sha = SHA-512]\n\n# tcId = 385\n# point duplication during verification\nmsg = 313233343030\nresult = valid\nsig = 303e021d00c44503dae85dd5210780f02928b3d927171c578f8603d16b240663c7021d00ec0ce3fa725c1027475a5f5bf4ee980de61c3b4875afe8b654b24ee2\n# Some implementations of ECDSA do not handle duplication and points at infinity\n# correctly. This is a test vector that has been specially crafted to check for\n# such an omission.\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 048fb572de4daf76702624ce4ed819d026762224e8a54215bf81b202a30f8b2df1e258dcd2d86b9e8cd43e451e3abe95462969cf79dd180019]\n[key.wx = 08fb572de4daf76702624ce4ed819d026762224e8a54215bf81b202a3]\n[key.wy = 0f8b2df1e258dcd2d86b9e8cd43e451e3abe95462969cf79dd180019]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00048fb572de4daf76702624ce4ed819d026762224e8a54215bf81b202a30f8b2df1e258dcd2d86b9e8cd43e451e3abe95462969cf79dd180019]\n[sha = SHA-512]\n\n# tcId = 386\n# duplication bug\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00c44503dae85dd5210780f02928b3d927171c578f8603d16b240663c7021d00ec0ce3fa725c1027475a5f5bf4ee980de61c3b4875afe8b654b24ee2\n# Some implementations of ECDSA do not handle duplication and points at infinity\n# correctly. This is a test vector that has been specially crafted to check for\n# such an omission.\n\n[key.curve = secp224r1]\n[key.key", - "Size = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04e5462d3a838d4a14de96a7b0b1071eb622ae6e71ede8f95ff01c2121368e3a90d8584e194616d3211a7541f6a0960339cab28e8bfd6b1dfd]\n[key.wx = 0e5462d3a838d4a14de96a7b0b1071eb622ae6e71ede8f95ff01c2121]\n[key.wy = 368e3a90d8584e194616d3211a7541f6a0960339cab28e8bfd6b1dfd]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004e5462d3a838d4a14de96a7b0b1071eb622ae6e71ede8f95ff01c2121368e3a90d8584e194616d3211a7541f6a0960339cab28e8bfd6b1dfd]\n[sha = SHA-512]\n\n# tcId = 387\n# comparison with point at infinity \nmsg = 313233343030\nresult = invalid\nsig = 303c021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021c33333333333333333333333333330486f9be9672d0c5d50ddf45a20c\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 045d97670c1f121f7f1ba541505609f20143b312a7bb49d376690e1831c1b4567141a7b534e21bd2f706ae034169ab9c3f8536147904de8c5f]\n[key.wx = 5d97670c1f121f7f1ba541505609f20143b312a7bb49d376690e1831]\n[key.wy = 0c1b4567141a7b534e21bd2f706ae034169ab9c3f8536147904de8c5f]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00045d97670c1f121f7f1ba541505609f20143b312a7bb49d376690e1831c1b4567141a7b534e21bd2f706ae034169ab9c3f8536147904de8c5f]\n[sha = SHA-512]\n\n# tcId = 388\n# extreme value for k and edgecase s\nmsg = 313233343030\nresult = valid\nsig = 303c021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04d2675278da2d7daa8373dd63b7aa46cb14766571c2d8098b83a102a5699b572d4b951497418a376930022d48fe59966b158fa08340e24b98]\n[key.wx = 0d2675278da2d7daa8373dd63b7aa46cb14766571c2d8098b83a102a5]\n[key.wy = 699b572d4b951497418a376930022d48fe59966b158fa08340e24b98]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004d2675278da2d7daa8373dd63b7aa46cb14766571c2d8098b83a102a5699b572d4b951497418a376930022d48fe59966b158fa08340e24b98]\n[sha = SHA-512]\n\n# tcId = 389\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303d021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021d00db6db6db6db6db6db6db6db6db6ceed4c09e84c77ebd9116e17391eb\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 045a5cd1162388348734dae20e2235ae2c464adef0a196f9aaf02482ca2ae94e8b9a024375036429b632ab485e02c5a9665b289b8a47bade8f]\n[key.wx = 5a5cd1162388348734dae20e2235ae2c464adef0a196f9aaf02482ca]\n[key.wy = 2ae94e8b9a024375036429b632ab485e02c5a9665b289b8a47bade8f]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00045a5cd1162388348734dae20e2235ae2c464adef0a196f9aaf02482ca2ae94e8b9a024375036429b632ab485e02c5a9665b289b8a47bade8f]\n[sha = SHA-512]\n\n# tcId = 390\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303c021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021c33333333333333333333333333330486f9be9672d0c5d50ddf45a20c\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04cacd93eb11a821de3d882bab7411e7c77f23c08da174189cc987dc41716fe378ab842161bc16def6e037d4ba9d30d8cb41ad30cf0656e50b]\n[key.wx = 0cacd93eb11a821de3d882bab7411e7c77f23c08da174189cc987dc41]\n[key.wy = 716fe378ab842161bc16def6e037d4ba9d30d8cb41ad30cf0656e50b]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004cacd93eb11a821de3d882bab7411e7c77f23c08da174189cc987dc41716fe378ab842161bc16def6e037d4ba9d30d8cb41ad30cf0656e50b]\n[sha = SHA-512]\n\n# tcId = 391\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303d021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021d00cccccccccccccccccccccccccccc121be6fa59cb431754377d168831\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04cf46960060453e55577f1bee6a9c4709e7cdcba45ca8020bb3536931ea4ec33309213864a1318aee0a86d8b6f0c1b9741cd6bd5dea4f4066]\n[key.wx = 0cf46960060453e55577f1bee6a9c4709e7cdcba45ca8020bb3536931]\n[key.wy = 0ea4ec33309213864a1318aee0a86d8b6f0c1b9741cd6bd5dea4f4066]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004cf46960060453e55577f1bee6a9c4709e7cdcba45ca8020bb3536931ea4ec33309213864a1318aee0a86d8b6f0c1b9741cd6bd5dea4f4066]\n[sha = SHA-512]\n\n# tcId = 392\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303c021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021c249249249249249249249249249227ce201a6b76951f982e7ae89852\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 0462f4eaf3797bdc3d5d8cfaa07b5af7060e131b183ca4eded4819e561bff3eadd7b55db2dc01bd20569e6c47c9212f9b2d6793795b51e4f6c]\n[key.wx = 62f4eaf3797bdc3d5d8cfaa07b5af7060e131b183ca4eded4819e561]\n[key.wy = 0bff3eadd7b55db2dc01bd20569e6c47c9212f9b2d6793795b51e4f6c]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000462f4eaf3797bdc3d5d8cfaa07b5af7060e131b183ca4eded4819e561bff3eadd7b55db2dc01bd20569e6c47c9212f9b2d6793795b51e4f6c]\n[sha = SHA-512]\n\n# tcId = 393\n# extreme value for k\nmsg = 313233343030\nresult = valid\nsig = 303c021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021c0eb10e5ab95facded4061029d63a46f46f12947411f2ea561a592057\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04c4a4bf5ae0138587f50ab7a2c336a430527a86f59f9765c2f3f5488df9419bf9df5f121de3a32db17b49c72b606b2be5ce56acb565cc12b7]\n[key.wx = 0c4a4bf5ae0138587f50ab7a2c336a430527a86f59f9765c2f3f5488d]\n[key.wy = 0f9419bf9df5f121de3a32db17b49c72b606b2be5ce56acb565cc12b7]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004c4a4bf5ae0138587f50ab7a2c336a430527a86f59f9765c2f3f5488df9419bf9df5f121de3a32db17b49c72b606b2be5ce56acb565cc12b7]\n[sha = SHA-512]\n\n# tcId = 394\n# extreme value for k and edgecase s\nmsg = 313233343030\nresult = valid\nsig = 303d021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04e7cb5ae54dbe619ab5069f14566236b3c6b0b44f1c4c531e66d89b3e64be7fdc18789629dfddf7158f8ff27abd553bfac3f7c874bccdc31b]\n[key.wx = 0e7cb5ae54dbe619ab5069f14566236b3c6b0b44f1c4c531e66d89b3e]\n[key.wy = 64be7fdc18789629dfddf7158f8ff27abd553bfac3f7c874bccdc31b]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004e7cb5ae54dbe619ab5069f14566236b3c6b0b44f1c4c531e66d89b3e64be7fdc18789629dfddf7158f8ff27abd553bfac3f7c874bccdc31b]\n[sha = SHA-512]\n\n# tcId = 395\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303e021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021d00db6db6db6db6db6db6db6db6db6ceed4c09e84c77ebd9116e17391eb\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 0430db5d8279319cf5a3b6768a0c5e5c84752f6314f735d63f6c5650cdd32fb54f74d4a5088e6774a13201683642790d2e69e55e4f47612934]\n[key.wx = 30db5d8279319cf5a3b6768a0c5e5c84752f6314f735d63f6c5650cd]\n[key.wy = 0d32fb54f74d4a5088e6774a13201683642790d2e69e55e4f47612934]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000430db5d8279319cf5a3b6768a0c5e5c84752f6314f735d63f6c5650cdd32fb54f74d4a5088e6774a13201683642790d2e69e55e4f47612934]\n[sha = SHA-512]\n\n# tcId = 396\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303d021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021c33333333333333333333333333330486f9be9672d0c5d50ddf45a20c\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 047db27da4d67a2de0c78815809719bdf6976332c67ef0f3827df4adc22ab37aec2eed0d5e67acfd6a195f21032d9af71ce73e120fdda29f1a]\n[key.wx = 7db27da4d67a2de0c78815809719bdf6976332c67ef0f3827df4adc2]\n[key.wy = 2ab37aec2eed0d5e67acfd6a195f21032d9af71ce73e120fdda29f1a]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00047db27da4d67a2de0c78815809719bdf6976332c67ef0f3827df4adc22ab37aec2eed0d5e67acfd6a195f21032d9af71ce73e120fdda29f1a]\n[sha = SHA-512]\n\n# tcId = 397\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303e021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021d00cccccccccccccccccccccccccccc121be6fa59cb431754377d168831\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[k", - "ey.type = ECPublicKey]\n[key.uncompressed = 04d1c19d46b517bb3bd7bdf074ff975c0dbd2bde10d1ad217e58ebc8c55ac898c040a185804ddb032b48103d6c8d12043d3a4fec93aba7a6d7]\n[key.wx = 0d1c19d46b517bb3bd7bdf074ff975c0dbd2bde10d1ad217e58ebc8c5]\n[key.wy = 5ac898c040a185804ddb032b48103d6c8d12043d3a4fec93aba7a6d7]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004d1c19d46b517bb3bd7bdf074ff975c0dbd2bde10d1ad217e58ebc8c55ac898c040a185804ddb032b48103d6c8d12043d3a4fec93aba7a6d7]\n[sha = SHA-512]\n\n# tcId = 398\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303d021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021c249249249249249249249249249227ce201a6b76951f982e7ae89852\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04d95ac96ae9dbfb80911862e00a4cadbcb2359f499b53be007f0711c093d3da931acbb9242800dc521695b4f19ff2dffc3613f40bdb15c3cd]\n[key.wx = 0d95ac96ae9dbfb80911862e00a4cadbcb2359f499b53be007f0711c0]\n[key.wy = 093d3da931acbb9242800dc521695b4f19ff2dffc3613f40bdb15c3cd]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004d95ac96ae9dbfb80911862e00a4cadbcb2359f499b53be007f0711c093d3da931acbb9242800dc521695b4f19ff2dffc3613f40bdb15c3cd]\n[sha = SHA-512]\n\n# tcId = 399\n# extreme value for k\nmsg = 313233343030\nresult = valid\nsig = 303d021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021c0eb10e5ab95facded4061029d63a46f46f12947411f2ea561a592057\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34]\n[key.wx = 0b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21]\n[key.wy = 0bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34]\n[sha = SHA-512]\n\n# tcId = 400\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 303c021c43f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b0021c249249249249249249249249249227ce201a6b76951f982e7ae89851\n\n# tcId = 401\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 303d021d00bc07ff041506dc73a75086a4325211e696eb6b31da8ff5c2c728d38d021c249249249249249249249249249227ce201a6b76951f982e7ae89851\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d2142c89c774a08dc04b3dd201932bc8a5ea5f8b89bbb2a7e667aff81cd]\n[key.wx = 0b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21]\n[key.wy = 42c89c774a08dc04b3dd201932bc8a5ea5f8b89bbb2a7e667aff81cd]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d2142c89c774a08dc04b3dd201932bc8a5ea5f8b89bbb2a7e667aff81cd]\n[sha = SHA-512]\n\n# tcId = 402\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 303c021c43f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b0021c249249249249249249249249249227ce201a6b76951f982e7ae89851\n\n# tcId = 403\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 303d021d00bc07ff041506dc73a75086a4325211e696eb6b31da8ff5c2c728d38d021c249249249249249249249249249227ce201a6b76951f982e7ae89851\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 044c246670658a1d41f5d77bce246cbe386ac22848e269b9d4cd67c466ddd947153d39b2d42533a460def26880408caf2dd3dd48fe888cd176]\n[key.wx = 4c246670658a1d41f5d77bce246cbe386ac22848e269b9d4cd67c466]\n[key.wy = 0ddd947153d39b2d42533a460def26880408caf2dd3dd48fe888cd176]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00044c246670658a1d41f5d77bce246cbe386ac22848e269b9d4cd67c466ddd947153d39b2d42533a460def26880408caf2dd3dd48fe888cd176]\n[sha = SHA-512]\n\n# tcId = 404\n# pseudorandom signature\nmsg = \nresult = valid\nsig = 303e021d00f72915d6d916014279616186869a01228fcd9f1b4078353018b399ab021d00b67f2b91eeeb910381f5b461a4a39c642aea4792013d4eb63da1832b\n\n# tcId = 405\n# pseudorandom signature\nmsg = 4d7367\nresult = valid\nsig = 303e021d00a5d179c336ccdc760dfddd913cdf8ea468d0f4686f7b2d3825698ed7021d00a77f12060a4d1b94b0d1c443eae3ad6e21b7eacfdf6fbf39a2b29658\n\n# tcId = 406\n# pseudorandom signature\nmsg = 313233343030\nresult = valid\nsig = 303e021d00b7c65dce56abe24fb4592ece5ac1e6ee8353431f7452409add736884021d00e5fe5db7988931026b937dc4ef983fe446ca134d29b94ac777cde317\n\n# tcId = 407\n# pseudorandom signature\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 303d021c05c563d3a4bad874e4610adfa57777a59f995bfa06ef97bf125a4988021d0097ed68f546cf4bb4998524c18356f3af162d2bf2744be93357bc4b4b\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04aed6fcad2400c4d94e55dbb6b012ce3d4c2b46843fbe99d4289e6ecf8a24a89e71343d7d151d258d2cb690349c2d56b366dd10a600000000]\n[key.wx = 0aed6fcad2400c4d94e55dbb6b012ce3d4c2b46843fbe99d4289e6ecf]\n[key.wy = 08a24a89e71343d7d151d258d2cb690349c2d56b366dd10a600000000]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004aed6fcad2400c4d94e55dbb6b012ce3d4c2b46843fbe99d4289e6ecf8a24a89e71343d7d151d258d2cb690349c2d56b366dd10a600000000]\n[sha = SHA-512]\n\n# tcId = 408\n# y-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 303e021d00c7a6f358b7d93815189ae5d2c3ab4d4e05f43176a52dd4fc5b48a34a021d00a2458512bb8dbe6f1bd6eb01d2d77d5624e8547bf87d85fc731c0c86\n\n# tcId = 409\n# y-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c5f56ca587d16664a20dad13df85a475978e5cee81a8d0f49faaf6158021d00b64ef59d79461fe1a09a5864907435f70bd75f183afb11903f560b7c\n\n# tcId = 410\n# y-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 303e021d00dd94f5b56e9947d007e7c8efd894a5c882f1d0b5dd56c32b5b266521021d00fbc883741bd27c59958ae17ba6e4a41ad1edeca9a3ba31c8f233b5ac\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04bf19ecfe43ffe289f699f479316145b9a7f7370b9ece5ab1212174f173d528949ae9142f818bade71a960407963be0b6482a6a60ffffffff]\n[key.wx = 0bf19ecfe43ffe289f699f479316145b9a7f7370b9ece5ab1212174f1]\n[key.wy = 73d528949ae9142f818bade71a960407963be0b6482a6a60ffffffff]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004bf19ecfe43ffe289f699f479316145b9a7f7370b9ece5ab1212174f173d528949ae9142f818bade71a960407963be0b6482a6a60ffffffff]\n[sha = SHA-512]\n\n# tcId = 411\n# y-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 303e021d008071e6682c6e8a32706dc7e411503946546b31fff27dcce188ae389f021d00dc396c797d44edf794432d1da091f8c762974d8ce1f06e08ca013622\n\n# tcId = 412\n# y-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 303c021c791624e5f234b8950d509d0b456ef6fa778b19dccd609d496b62a211021c6c51e846fa53d03d42f798e6bb90954f9a48c1794b47e84ac97b460a\n\n# tcId = 413\n# y-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 303c021b34befa1d25b756ce76b383a6e8753741c12a59266c2c7921ff6e8b021d00bc44e3823e4d807cbc92fa786a89e62a4b217b5fb0c0f1865d4a7e43\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 0426e5abf135cb54eaaa16b69e4b0b292275344e88a09df6df80000000eab891de54e3f26ff50ab989f333dac551583d468ae623c596434af0]\n[key.wx = 26e5abf135cb54eaaa16b69e4b0b292275344e88a09df6df80000000]\n[key.wy = 0eab891de54e3f26ff50ab989f333dac551583d468ae623c596434af0]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000426e5abf135cb54eaaa16b69e4b0b292275344e88a09df6df80000000eab891de54e3f26ff50ab989f333dac551583d468ae623c596434af0]\n[sha = SHA-512]\n\n# tcId = 414\n# x-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 303c021c224a38e733ebd3fac274ecc50ecef2e7c3189be2b9d093a8dcc6fa3a021c134fa5a4f923d296b3c6dd4683d249ccf0ad272890e4149c9a0d7415\n\n# tcId = 415\n# x-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c338d07d990879ad844e24c1788e362269d8aca70500357d385768227021d00f745cc4ebaaf1cd42830026a66e5b95564cdbee5edf853", - "bb2cc91259\n\n# tcId = 416\n# x-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 303c021c689fce4b33d8212a663640a1ae0efaa7a7d7711beba719374fe634ee021c04bd9981fa52293063076f0fd70fc31875d580ef94f020d2f95440e0\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04ec627f345545d03f8c6dbd08e575527116567fe375f9ecaaffffffff41bf705697d5f716bcf78718d5393b63a98691f4a1f24246375538fd]\n[key.wx = 0ec627f345545d03f8c6dbd08e575527116567fe375f9ecaaffffffff]\n[key.wy = 41bf705697d5f716bcf78718d5393b63a98691f4a1f24246375538fd]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004ec627f345545d03f8c6dbd08e575527116567fe375f9ecaaffffffff41bf705697d5f716bcf78718d5393b63a98691f4a1f24246375538fd]\n[sha = SHA-512]\n\n# tcId = 417\n# x-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 303c021c2a4287e01510e7fb5fed2e1ccc3f2a6929cf7d03850e49d7ae8a504a021c355c3915f3fa9637dc8001438a8c04e15d14934cabd430feb0cb5ba5\n\n# tcId = 418\n# x-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 303d021d00b5bf795a38adb052b401468ffcab81103d2d9fca2e15b8d08ab98ce8021c5ec0d2c6aec71888c941af324c7272bec192abb292f9df82a24e8a41\n\n# tcId = 419\n# x-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c100ed07f467133bf10917f7a15ab2bfda519bdbc2653b95955e22211021d00b38a081f7c2e2b775d1da868d0381c09ba1559c9613b5be7159363ad\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 0415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a00000000762d28f1fdc219184f81681fbff566d465b5f1f31e872df5]\n[key.wx = 15016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a]\n[key.wy = 762d28f1fdc219184f81681fbff566d465b5f1f31e872df5]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a00000000762d28f1fdc219184f81681fbff566d465b5f1f31e872df5]\n[sha = SHA-512]\n\n# tcId = 420\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303c021c54e6add8ac910e52c6228fe3980d8f586218334d8d859ba9a3329917021c5836cc79ec88519eab4a6b2614c501628c9fee32fbafd93e32158409\n\n# tcId = 421\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303c021c1230d5409f379584b4d548b7bccba64baf81d512a9f2e6398c4e3a66021c1937a298f8cbdfa85b8e6fcf0a12be4966d80270cade85a0c37ee6f3\n\n# tcId = 422\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303e021d00862f43b044fb32adb45e00378ba083ae761c84452054f17b1341bf5b021d0095d8d8e5e3a6cc2b0a06c792252ca11a642257721831578520f96b9e\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 0415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555affffffff89d2d70e023de6e7b07e97df400a992b9a4a0e0ce178d20c]\n[key.wx = 15016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a]\n[key.wy = 0ffffffff89d2d70e023de6e7b07e97df400a992b9a4a0e0ce178d20c]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555affffffff89d2d70e023de6e7b07e97df400a992b9a4a0e0ce178d20c]\n[sha = SHA-512]\n\n# tcId = 423\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303d021d00cb5cabb1ca01b847a6bc70558d1e5d3a204d1741bbe800f4b159af35021c3580cc85f218394130bddf1c4eac04fe96f59f14fb436686950398be\n\n# tcId = 424\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303d021d00c9d83dc04cf4ee89c405045d0fd1d704f627ca5bbe350f40b826bbc1021c74fedc9e55045e9759f2124460fdfb991dc620cfee6effc0b4adaa9e\n\n# tcId = 425\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c46dd65b6e7f10c0841841b01033a5befd3a0e78c85f1f390bb3cdf25021d00f33acea3d47cf0dd5273735b004104f6512ed641052509422c0325a7\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 0400000000f7e4713d085112112c37cdf4601ff688da796016b71a727ade5a9ec165054cc987f9dc87e9991b92e4fa649ca655eeae9f2a30e1]\n[key.wx = 0f7e4713d085112112c37cdf4601ff688da796016b71a727a]\n[key.wy = 0de5a9ec165054cc987f9dc87e9991b92e4fa649ca655eeae9f2a30e1]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000400000000f7e4713d085112112c37cdf4601ff688da796016b71a727ade5a9ec165054cc987f9dc87e9991b92e4fa649ca655eeae9f2a30e1]\n[sha = SHA-512]\n\n# tcId = 426\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303e021d00ddb4a7e400a1e98118f474722da3f421f65a76eec61f4f7b699faf07021d00db80cba199859cdfe916d6ab3deb91d76aaf0ed554c8f9ed7e5aa59d\n\n# tcId = 427\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c4c260b546280604e4c80384721c9e803ef704e7fb70168e6730fc1f3021d00a8aceae219ac25c9f04231b4e0c171413db1d26df1c1e8430062eb2b\n\n# tcId = 428\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303e021d00f4098d2c0240e78fceabb0183df0b39e7ad3e7f5d6da1587fa09853c021d00d42412b2abaa614c95eb11f9b9346282ce3a1c93aac35ce7aa372f4a\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04ffffffffeadf7cee8d34d04cf22c8f7de35674fb2f501d242a76f72586c409309d398e60ce1e0a4c9e05a9d32627577e8ce2cc7f3afa2c3e]\n[key.wx = 0ffffffffeadf7cee8d34d04cf22c8f7de35674fb2f501d242a76f725]\n[key.wy = 086c409309d398e60ce1e0a4c9e05a9d32627577e8ce2cc7f3afa2c3e]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004ffffffffeadf7cee8d34d04cf22c8f7de35674fb2f501d242a76f72586c409309d398e60ce1e0a4c9e05a9d32627577e8ce2cc7f3afa2c3e]\n[sha = SHA-512]\n\n# tcId = 429\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c48ddc497f9a4732c677e46c0e2bdabec54fc9d27e46ab595056db4d9021d00b8219ebbfaebc2fe4311efab0c35d4392751351bcc1971e8d01941e4\n\n# tcId = 430\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303d021d00e1abaf51d27a6d7d4c9b28078325cac2d7ce3d5403916c68903760b7021c2c45a99e2770f782fee5ca1d713eaecf07e62d53c64b7cf93de9900d\n\n# tcId = 431\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303d021d00868cd127c99e1149f7fc8d878cdfa986b62e99addea281149611ff15021c16e5953820135b7d462ce5434ef85920e973eec9e4d14d7cb3cc2a3f\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1000000000e2ab0e8495e859eb2afb00769d6e7fe626a119167c0b6bc]\n[key.wx = 0b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1]\n[key.wy = 0e2ab0e8495e859eb2afb00769d6e7fe626a119167c0b6bc]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1000000000e2ab0e8495e859eb2afb00769d6e7fe626a119167c0b6bc]\n[sha = SHA-512]\n\n# tcId = 432\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303e021d00a375929718ec4e6ada9c9370c51df6bdaee7ebab2a70675d42a0b6b3021d009eaf4802efaf7ca082ffbf5ed774af43792d9b3fd711c6b1c36112ff\n\n# tcId = 433\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303d021d00d97b32f3bf8bc11ec2672dd6320418beeed99527a63fe4c52199ec61021c68dd9006b03319ccbe651d0bdaf84c63356f03cb007a6865ee3e0206\n\n# tcId = 434\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303d021d008ee5794dc2e66f2584910ea1d8361e5b53db535adcf5c1c35e128309021c5d1d8b9b996c0a488e05af14421b86e9841f0cba706027fc827d4d95\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = ECPublicKey]\n[key.uncompressed = 04b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1fffffffff1d54f17b6a17a614d504ff7962918019d95ee6e983f4945]\n[key.wx = 0b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1]\n[key.wy = 0fffffffff1d54f17b6a17a614d504ff7962918019d95ee6e983f4945]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1fffffffff1d54f17b6a17a614d504ff7962918019d95ee6e983f4945]\n[sha = SHA-512]\n\n# tcId = 435\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c7999727c0cc02d88ef274012a762afcbb19e7fce19091a02acd00", - "564021d00dbfacf67999f22c499d48a60a6fe4bbb746199c29957a1ec7a0900e0\n\n# tcId = 436\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303c021c5797c21c0162e42f69693c6c0244dfdf9218c01e9235760177b61a54021c5452c887b27fb342a8a00d27579c7195dddb73df399233ed0dea567b\n\n# tcId = 437\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c0eb9dc5d67bb0d4009544f8654977907dfe770e7fae4571d31d7b4fa021d00ab5cda53e868bff5198be4be3681b186cb0c1396d272c71f093f8b12\n\n", +static const char *kData101[] = { + "# Imported from Wycheproof's ecdsa_secp224r1_sha512_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: ECDSA\n# Generator version: 0.8r12\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04eada93be10b2449e1e8bb58305d52008013c57107c1a20a317a6cba7eca672340c03d1d2e09663286691df55069fa25490c9dd9f9c0bb2b5]\n[key.wx = 00eada93be10b2449e1e8bb58305d52008013c57107c1a20a317a6cba7]\n[key.wy = 00eca672340c03d1d2e09663286691df55069fa25490c9dd9f9c0bb2b5]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004eada93be10b2449e1e8bb58305d52008013c57107c1a20a317a6cba7eca672340c03d1d2e09663286691df55069fa25490c9dd9f9c0bb2b5]\n[sha = SHA-512]\n\n# tcId = 1\n# signature malleability\nmsg = 313233343030\nresult = valid\nsig = 303c021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021c394766fb67a65fe0af6c154f7cbd285ea180b4c6150cdafafb0f6f0f\n\n# tcId = 2\n# Legacy:ASN encoding of s misses leading 0\nmsg = 313233343030\nresult = acceptable\nsig = 303c021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021cc6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\nflags = MissingZero\n\n# tcId = 3\n# valid\nmsg = 313233343030\nresult = valid\nsig = 303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 4\n# long form encoding of length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 30813d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\nflags = BER\n\n# tcId = 5\n# length of sequence contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 3082003d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\nflags = BER\n\n# tcId = 6\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 303e021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 7\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 303c021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 8\n# uint32 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3085010000003d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 9\n# uint64 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 308901000000000000003d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 10\n# length of sequence = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30847fffffff021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 11\n# length of sequence = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3084ffffffff021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 12\n# length of sequence = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3085ffffffffff021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 13\n# length of sequence = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3088ffffffffffffffff021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 14\n# incorrect length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 30ff021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 15\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 3080021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 16\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 303d0280691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 17\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab028000c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 18\n# removing sequence\nmsg = 313233343030\nresult = invalid\nsig = \n\n# tcId = 19\n# lonely sequence tag\nmsg = 313233343030\nresult = invalid\nsig = 30\n\n# tcId = 20\n# appending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 303f021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e0000\n\n# tcId = 21\n# prepending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 303f0000021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 22\n# appending unused 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e0000\n\n# tcId = 23\n# appending null value to sequence\nmsg = 313233343030\nresult = invalid\nsig = 303f021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e0500\n\n# tcId = 24\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3042498177303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 25\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 30412500303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 26\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 303f303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e0004deadbeef\n\n# tcId = 27\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 30422221498177021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 28\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 304122202500021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 29\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3045221e021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab0004deadbeef021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 30\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3042021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab2222498177021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 31\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3041021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab22212500021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 32\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3045021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab221f021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e0004deadbeef\n\n# tcId = 33\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 3045aa00bb00cd00303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 34\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 3043aa02aabb303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 35\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 30452224aa00bb00cd00021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 36\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig", + " = 30432222aa02aabb021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 37\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 3045021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab2225aa00bb00cd00021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 38\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 3043021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab2223aa02aabb021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 39\n# truncated length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3081\n\n# tcId = 40\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 3080303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e0000\n\n# tcId = 41\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 30412280021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab0000021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 42\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 3041021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab2280021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e0000\n\n# tcId = 43\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 3080313d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e0000\n\n# tcId = 44\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 30412280031c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab0000021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 45\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 3041021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab2280031d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e0000\n\n# tcId = 46\n# Replacing sequence with NULL\nmsg = 313233343030\nresult = invalid\nsig = 0500\n\n# tcId = 47\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 2e3d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 48\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 2f3d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 49\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 313d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 50\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 323d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 51\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = ff3d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 52\n# dropping value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3000\n\n# tcId = 53\n# using composition for sequence\nmsg = 313233343030\nresult = invalid\nsig = 3041300102303c1c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 54\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 303c021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb\n\n# tcId = 55\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 303c1c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 56\n# indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 3080021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e0000\nflags = BER\n\n# tcId = 57\n# indefinite length with truncated delimiter\nmsg = 313233343030\nresult = invalid\nsig = 3080021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e00\n\n# tcId = 58\n# indefinite length with additional element\nmsg = 313233343030\nresult = invalid\nsig = 3080021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e05000000\n\n# tcId = 59\n# indefinite length with truncated element\nmsg = 313233343030\nresult = invalid\nsig = 3080021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e060811220000\n\n# tcId = 60\n# indefinite length with garbage\nmsg = 313233343030\nresult = invalid\nsig = 3080021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e0000fe02beef\n\n# tcId = 61\n# indefinite length with nonempty EOC\nmsg = 313233343030\nresult = invalid\nsig = 3080021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e0002beef\n\n# tcId = 62\n# prepend empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 303f3000021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 63\n# append empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 303f021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e3000\n\n# tcId = 64\n# append garbage with high tag number\nmsg = 313233343030\nresult = invalid\nsig = 3040021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2ebf7f00\n\n# tcId = 65\n# sequence of sequence\nmsg = 313233343030\nresult = invalid\nsig = 303f303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 66\n# truncated sequence: removed last 1 elements\nmsg = 313233343030\nresult = invalid\nsig = 301e021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab\n\n# tcId = 67\n# repeating element in sequence\nmsg = 313233343030\nresult = invalid\nsig = 305c021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 68\n# long form encoding of length of integer\nmsg = 313233343030\nresult = invalid\nsig = 303e02811c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\nflags = BER\n\n# tcId = 69\n# long form encoding of length of integer\nmsg = 313233343030\nresult = invalid\nsig = 303e021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab02811d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\nflags = BER\n\n# tcId = 70\n# length of integer contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 303f0282001c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\nflags = BER\n\n# tcId = 71\n# length of integer contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 303f021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab0282001d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\nflags = BER\n\n# tcId = 72\n# wrong length of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021d691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 73\n# wrong length of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021b691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 74\n# wrong length of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021e00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 75\n#", + " wrong length of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021c00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 76\n# uint32 overflow in length of integer\nmsg = 313233343030\nresult = invalid\nsig = 30420285010000001c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 77\n# uint32 overflow in length of integer\nmsg = 313233343030\nresult = invalid\nsig = 3042021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab0285010000001d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 78\n# uint64 overflow in length of integer\nmsg = 313233343030\nresult = invalid\nsig = 3046028901000000000000001c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 79\n# uint64 overflow in length of integer\nmsg = 313233343030\nresult = invalid\nsig = 3046021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab028901000000000000001d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 80\n# length of integer = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 304102847fffffff691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 81\n# length of integer = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3041021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab02847fffffff00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 82\n# length of integer = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30410284ffffffff691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 83\n# length of integer = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3041021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab0284ffffffff00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 84\n# length of integer = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30420285ffffffffff691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 85\n# length of integer = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3042021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab0285ffffffffff00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 86\n# length of integer = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30450288ffffffffffffffff691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 87\n# length of integer = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3045021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab0288ffffffffffffffff00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 88\n# incorrect length of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d02ff691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 89\n# incorrect length of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab02ff00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 90\n# removing integer\nmsg = 313233343030\nresult = invalid\nsig = 301f021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 91\n# lonely integer tag\nmsg = 313233343030\nresult = invalid\nsig = 302002021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 92\n# lonely integer tag\nmsg = 313233343030\nresult = invalid\nsig = 301f021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab02\n\n# tcId = 93\n# appending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 303f021e691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab0000021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 94\n# appending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 303f021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021f00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e0000\n\n# tcId = 95\n# prepending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 303f021e0000691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\nflags = BER\n\n# tcId = 96\n# prepending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 303f021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021f000000c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\nflags = BER\n\n# tcId = 97\n# appending unused 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 303f021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab0000021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 98\n# appending null value to integer\nmsg = 313233343030\nresult = invalid\nsig = 303f021e691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab0500021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 99\n# appending null value to integer\nmsg = 313233343030\nresult = invalid\nsig = 303f021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021f00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e0500\n\n# tcId = 100\n# truncated length of integer\nmsg = 313233343030\nresult = invalid\nsig = 30210281021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 101\n# truncated length of integer\nmsg = 313233343030\nresult = invalid\nsig = 3020021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab0281\n\n# tcId = 102\n# Replacing integer with NULL\nmsg = 313233343030\nresult = invalid\nsig = 30210500021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 103\n# Replacing integer with NULL\nmsg = 313233343030\nresult = invalid\nsig = 3020021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab0500\n\n# tcId = 104\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d001c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 105\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d011c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 106\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d031c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 107\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d041c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 108\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303dff1c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 109\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab001d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 110\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab011d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 111\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab031d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 112\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab041d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 113\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92abff1d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 114\n# dropping value of integer\nmsg = 313233343030\nresult = invalid\nsig = 30210200021d0", + "0c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 115\n# dropping value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3020021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab0200\n\n# tcId = 116\n# using composition for integer\nmsg = 313233343030\nresult = invalid\nsig = 30412220020169021b1c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 117\n# using composition for integer\nmsg = 313233343030\nresult = invalid\nsig = 3041021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab2221020100021cc6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 118\n# modify first byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021c6b1c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 119\n# modify first byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d02c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 120\n# modify last byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf922b021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 121\n# modify last byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbbae\n\n# tcId = 122\n# truncated integer\nmsg = 313233343030\nresult = invalid\nsig = 303c021b691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 123\n# truncated integer\nmsg = 313233343030\nresult = invalid\nsig = 303c021b1c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 124\n# truncated integer\nmsg = 313233343030\nresult = invalid\nsig = 303c021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021c00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb\n\n# tcId = 125\n# leading ff in integer\nmsg = 313233343030\nresult = invalid\nsig = 303e021dff691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 126\n# leading ff in integer\nmsg = 313233343030\nresult = invalid\nsig = 303e021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021eff00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 127\n# replaced integer by infinity\nmsg = 313233343030\nresult = invalid\nsig = 3022090180021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 128\n# replaced integer by infinity\nmsg = 313233343030\nresult = invalid\nsig = 3021021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab090180\n\n# tcId = 129\n# replacing integer with zero\nmsg = 313233343030\nresult = invalid\nsig = 3022020100021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 130\n# replacing integer with zero\nmsg = 313233343030\nresult = invalid\nsig = 3021021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab020100\n\n# tcId = 131\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303e021d01691c723dd6a7f5d11b8c8e8bd08173428bc48a2c3f031caaec3bbce8021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 132\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303e021dff691c723dd6a7f5d11b8c8e8bd08345fcca52a9b01748ca203383686e021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 133\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303d021c96e38dc229580a2ee47371742f7da36054f46611d4da0c9a70206d55021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 134\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303e021d0096e38dc229580a2ee47371742f7cba0335ad564fe8b735dfcc7c9792021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 135\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303e021dfe96e38dc229580a2ee47371742f7e8cbd743b75d3c0fce35513c44318021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 136\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303e021d01691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 137\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303e021d0096e38dc229580a2ee47371742f7da36054f46611d4da0c9a70206d55021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 138\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d01c6b899049859a01f5093eab0834104e71ff12bb612ad778fbda8e56b\n\n# tcId = 139\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303c021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021cc6b899049859a01f5093eab08342d7a15e7f4b39eaf3250504f090f1\n\n# tcId = 140\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021dff394766fb67a65fe0af6c154f7cbe11bbc0c7c488012fb1b59eb344d2\n\n# tcId = 141\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021dfe394766fb67a65fe0af6c154f7cbefb18e00ed449ed52887042571a95\n\n# tcId = 142\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d01c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e\n\n# tcId = 143\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 303c021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021c394766fb67a65fe0af6c154f7cbe11bbc0c7c488012fb1b59eb344d2\n\n# tcId = 144\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020100020100\nflags = EdgeCase\n\n# tcId = 145\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020100020101\nflags = EdgeCase\n\n# tcId = 146\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201000201ff\nflags = EdgeCase\n\n# tcId = 147\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020100021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\nflags = EdgeCase\n\n# tcId = 148\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020100021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\nflags = EdgeCase\n\n# tcId = 149\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020100021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\nflags = EdgeCase\n\n# tcId = 150\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020100021d00ffffffffffffffffffffffffffffffff000000000000000000000001\nflags = EdgeCase\n\n# tcId = 151\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020100021d00ffffffffffffffffffffffffffffffff000000000000000000000002\nflags = EdgeCase\n\n# tcId = 152\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3008020100090380fe01\nflags = EdgeCase\n\n# tcId = 153\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020100090142\nflags = EdgeCase\n\n# tcId = 154\n# Signature wit", + "h special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020101020100\nflags = EdgeCase\n\n# tcId = 155\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020101020101\nflags = EdgeCase\n\n# tcId = 156\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201010201ff\nflags = EdgeCase\n\n# tcId = 157\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020101021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\nflags = EdgeCase\n\n# tcId = 158\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020101021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\nflags = EdgeCase\n\n# tcId = 159\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020101021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\nflags = EdgeCase\n\n# tcId = 160\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020101021d00ffffffffffffffffffffffffffffffff000000000000000000000001\nflags = EdgeCase\n\n# tcId = 161\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022020101021d00ffffffffffffffffffffffffffffffff000000000000000000000002\nflags = EdgeCase\n\n# tcId = 162\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3008020101090380fe01\nflags = EdgeCase\n\n# tcId = 163\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020101090142\nflags = EdgeCase\n\n# tcId = 164\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff020100\nflags = EdgeCase\n\n# tcId = 165\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff020101\nflags = EdgeCase\n\n# tcId = 166\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff0201ff\nflags = EdgeCase\n\n# tcId = 167\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30220201ff021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\nflags = EdgeCase\n\n# tcId = 168\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30220201ff021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\nflags = EdgeCase\n\n# tcId = 169\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30220201ff021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\nflags = EdgeCase\n\n# tcId = 170\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30220201ff021d00ffffffffffffffffffffffffffffffff000000000000000000000001\nflags = EdgeCase\n\n# tcId = 171\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30220201ff021d00ffffffffffffffffffffffffffffffff000000000000000000000002\nflags = EdgeCase\n\n# tcId = 172\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30080201ff090380fe01\nflags = EdgeCase\n\n# tcId = 173\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff090142\nflags = EdgeCase\n\n# tcId = 174\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020100\nflags = EdgeCase\n\n# tcId = 175\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020101\nflags = EdgeCase\n\n# tcId = 176\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d0201ff\nflags = EdgeCase\n\n# tcId = 177\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\nflags = EdgeCase\n\n# tcId = 178\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\nflags = EdgeCase\n\n# tcId = 179\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\nflags = EdgeCase\n\n# tcId = 180\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffffffff000000000000000000000001\nflags = EdgeCase\n\n# tcId = 181\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffffffff000000000000000000000002\nflags = EdgeCase\n\n# tcId = 182\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3024021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d090380fe01\nflags = EdgeCase\n\n# tcId = 183\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d090142\nflags = EdgeCase\n\n# tcId = 184\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c020100\nflags = EdgeCase\n\n# tcId = 185\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c020101\nflags = EdgeCase\n\n# tcId = 186\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c0201ff\nflags = EdgeCase\n\n# tcId = 187\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\nflags = EdgeCase\n\n# tcId = 188\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\nflags = EdgeCase\n\n# tcId = 189\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\nflags = EdgeCase\n\n# tcId = 190\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffffffff000000000000000000000001\nflags = EdgeCase\n\n# tcId = 191\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffffffff000000000000000000000002\nflags = EdgeCase\n\n# tcId = 192\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3024021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c090380fe01\nflags = EdgeCase\n\n# tcId = 193\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c090142\nflags = EdgeCase\n\n# tcId = 194\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e020100\nflags = EdgeCase\n\n# tcId = 195\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e020101\nflags = EdgeCase\n\n# tcId = 196\n#", + " Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e0201ff\nflags = EdgeCase\n\n# tcId = 197\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\nflags = EdgeCase\n\n# tcId = 198\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\nflags = EdgeCase\n\n# tcId = 199\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\nflags = EdgeCase\n\n# tcId = 200\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffffffff000000000000000000000001\nflags = EdgeCase\n\n# tcId = 201\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffffffff000000000000000000000002\nflags = EdgeCase\n\n# tcId = 202\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3024021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e090380fe01\nflags = EdgeCase\n\n# tcId = 203\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e090142\nflags = EdgeCase\n\n# tcId = 204\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffffffff000000000000000000000001020100\nflags = EdgeCase\n\n# tcId = 205\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffffffff000000000000000000000001020101\nflags = EdgeCase\n\n# tcId = 206\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffffffff0000000000000000000000010201ff\nflags = EdgeCase\n\n# tcId = 207\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\nflags = EdgeCase\n\n# tcId = 208\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\nflags = EdgeCase\n\n# tcId = 209\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\nflags = EdgeCase\n\n# tcId = 210\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffffffff000000000000000000000001\nflags = EdgeCase\n\n# tcId = 211\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffffffff000000000000000000000002\nflags = EdgeCase\n\n# tcId = 212\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3024021d00ffffffffffffffffffffffffffffffff000000000000000000000001090380fe01\nflags = EdgeCase\n\n# tcId = 213\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffffffff000000000000000000000001090142\nflags = EdgeCase\n\n# tcId = 214\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffffffff000000000000000000000002020100\nflags = EdgeCase\n\n# tcId = 215\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffffffff000000000000000000000002020101\nflags = EdgeCase\n\n# tcId = 216\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffffffff0000000000000000000000020201ff\nflags = EdgeCase\n\n# tcId = 217\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\nflags = EdgeCase\n\n# tcId = 218\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c\nflags = EdgeCase\n\n# tcId = 219\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e\nflags = EdgeCase\n\n# tcId = 220\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffffffff000000000000000000000001\nflags = EdgeCase\n\n# tcId = 221\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffffffff000000000000000000000002\nflags = EdgeCase\n\n# tcId = 222\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3024021d00ffffffffffffffffffffffffffffffff000000000000000000000002090380fe01\nflags = EdgeCase\n\n# tcId = 223\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffffffff000000000000000000000002090142\nflags = EdgeCase\n\n# tcId = 224\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 30060201010c0130\n\n# tcId = 225\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 30050201010c00\n\n# tcId = 226\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 30090c0225730c03732573\n\n# tcId = 227\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 30080201013003020100\n\n# tcId = 228\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 3003020101\n\n# tcId = 229\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 3006020101010100\n\n# tcId = 230\n# Edge case for Shamir multiplication\nmsg = 3639313930\nresult = valid\nsig = 303c021c326bc06353f7f9c9f77b8f4b55464e8619944e7879402cca572e041a021c221a25eb9cc8dd66fdf156b2f6ab601ab6d9c509247f8de5d2671a96\n\n# tcId = 231\n# special case hash\nmsg = 33393439313934313732\nresult = valid\nsig = 303c021c3b3008ed596b7fa276498def40d96b1eb2ffb731a44050ffb732e4e6021c6dbb08c56db737e9392ff4f3a54d8b806d70af226ecf413b3465de55\n\n# tcId = 232\n# special case hash\nmsg = 35333637363431383737\nresult = valid\nsig = 303d021d00d1fe269c3061e4b94604e8d612d70887068cc7d5232cd5a9b72923a1021c3c1cbc027d33fb2451d52dce3a828a8c7ecc490a28a94e5e5bb2c4d7\n\n# tcId = 233\n# special case hash\nmsg = 35363731343831303935\nresult = valid\nsig = 303d021c04586134cc679295dd93499311c4a8af37cb94dadbae18d8ee279b9b021d00bf9170a1b65b665664cf567d40a995ce252a23d6a9f962b05e364486\n\n# tcId = 234\n# special case hash\nmsg = 3131323037313732393039\nresult = valid\nsig = 303d021d00c1f51009b935b4773374364ec3eed72a24b70926e0349c77862f3475021c46df3d98f104ba6602f8041a5bf5495fb240e103d1bd17f2fa878923\n\n# tcId = 235\n# special case hash\nmsg = 3131323938303334323336\nresult = valid\nsig = 303e021d00e822242872f1ecf338a4f773df87b67e9b21bb283acac7d66b26", + "551e021d0094d4e0fc3c6359994a6eaedddd1533f490f72ef85139f8d3b39cf07b\n\n# tcId = 236\n# special case hash\nmsg = 39383736303239363833\nresult = valid\nsig = 303c021c7fd45528eb7bfc3710e273c4468f0b50ebf93f94cd0e7a602a4929a6021c46613dd1ffd85df8d71f3498001721fda4982c27a1c291359b05b1b8\n\n# tcId = 237\n# special case hash\nmsg = 3230323034323936353139\nresult = valid\nsig = 303d021c36d137b69171a486933b50138d1db1842724766afd25c85b0032daf5021d008e700de21f2fc350a34c7cc19054cf371ecab6f7331ccecf68fca0f4\n\n# tcId = 238\n# special case hash\nmsg = 31343531363639313830\nresult = valid\nsig = 303e021d00da3b436908f5a82f26bc17a8577ad2a782946e3a7587b01d253b1dd0021d00a6544e38f24e8117370c049b5d1f6712ea14337a94511224df4496a3\n\n# tcId = 239\n# special case hash\nmsg = 31303933363835393531\nresult = valid\nsig = 303c021c4314a2bd139d47be3d9fd9ebdd72a06a220219c7596b944178ee6f5f021c0e6f1d2f57c699654e9c705d7b8fa3c1ccb0f939f6368bed246b2e10\n\n# tcId = 240\n# special case hash\nmsg = 36323139353630323031\nresult = valid\nsig = 303d021c6a25643464682679d84970c603927f4a8ca83e7ef9715dd1ed84c28f021d00932b78d165c225a5253e6201c0b1ded0898ba24de44b23233eb78054\n\n# tcId = 241\n# special case hash\nmsg = 35363832343734333033\nresult = valid\nsig = 303c021c476aaa58677d9e60477cffd026c43248e2cf3cc21e8fdccb75ceefad021c7799fc7af8f9b929203faf899bb5ca1aecf2492555157282dfde790d\n\n# tcId = 242\n# special case hash\nmsg = 33373336353331373836\nresult = valid\nsig = 303d021c63a98614a1421e2ebb278de53b61618bafc757122647affd358c667a021d008edba806e0a7e438ca35f98405a8ad2d5c3e8cc2d5c4384233aef0a5\n\n# tcId = 243\n# special case hash\nmsg = 34373935393033373932\nresult = valid\nsig = 303e021d00880b5238a014f8b44655b83c175880eb1e8307899a824ea3e07dbd6d021d00a4724c8649fd74e5bc8d7fe6a9067a1376fb8e08dbdaed68980b0f50\n\n# tcId = 244\n# special case hash\nmsg = 39333939363131303037\nresult = valid\nsig = 303e021d00f8743588234634dd9891f4f2f40f4e46b77f97b82dc5dbe234aa6b5d021d0080656e5262bc25e158f3b78f51ae0d6a41cc8cca1aa457221b2eb7fb\n\n# tcId = 245\n# special case hash\nmsg = 31303837343931313835\nresult = valid\nsig = 303d021c2a2357e3d8fe34434582be4dabd58b77b388d1d52adcc664f45dece4021d0094be3a369b7c2788df4587ec5bd4163c4cbc40b77de1a85e8bcfb251\n\n# tcId = 246\n# special case hash\nmsg = 33323336363738353030\nresult = valid\nsig = 303d021d00b6b0c0aba6c611300ecad8816242c415f183a2bd4d46cd7769033d9b021c7750b24be02f22dc0b656fe4af377413f9453dff99226915dbb6e08f\n\n# tcId = 247\n# special case hash\nmsg = 31343438393937373033\nresult = valid\nsig = 303d021d00a5c1a75c2779f3eb83a65e295927cce4288e9d5c2132a4c7ca92526e021c10fe30f0be33a785385137b57d806140a402b9bd3c1df1b57de6da63\n\n# tcId = 248\n# special case hash\nmsg = 35373134363332383037\nresult = valid\nsig = 303d021d00b92b5521d1a7abe77e8524dbd3001121cf83c08017e3917bc58b5d1c021c224b113779017f6a522171edf930f1b5d4f5e7dedc6d2d514fd7883c\n\n# tcId = 249\n# special case hash\nmsg = 323236343837343932\nresult = valid\nsig = 303e021d00ebd3ecf3aa64cdcdd171585a141a4a673a8d5de0ca087dfcdf62432e021d00e0f1a0f7b8f5ac4a42632f87156ad1094079393b03f2051a9fd60249\n\n# tcId = 250\n# special case hash\nmsg = 35333533343439343739\nresult = valid\nsig = 303d021c6c3854297e1f267b64a28e0cd6148e0fadcf85bc8d5c23947543bcb8021d00aa0594ee11312f5d4767d296e5ca83df68072811f81a8d27e178ca5d\n\n# tcId = 251\n# special case hash\nmsg = 34373837333033383830\nresult = valid\nsig = 303c021c785ac8c956d7797ae67498775b3c446c41735eb15f3430b49f6a09f2021c5710879ab83994e809c8d2cbd6f2ac5c205b4b8d6226e98be03e7967\n\n# tcId = 252\n# special case hash\nmsg = 32323332313935383233\nresult = valid\nsig = 303e021d00f1f3d016693125ba73981c8f9a1748e5dce1d9634355f26fa536190e021d00b574e97def60dcd0e9177106483791b2edb4ab0342b9f5ebb957d5b0\n\n# tcId = 253\n# special case hash\nmsg = 3130373339333931393137\nresult = valid\nsig = 303e021d00e64f3371522cb1a5f0d1511b152b20e01deca0b3284786853cac279a021d00c9a2e5f4ffde22b9d4ed0179ce74fff408ea918dda7685c7980ae61a\n\n# tcId = 254\n# special case hash\nmsg = 31383831303237333135\nresult = valid\nsig = 303d021c1f99dd6ef72feeeda6c123baa4fabb126d7dedb64130fae3f4230797021d00e441ec51dca6271b043e95753c4043d7cb4e76fdc13d6aea45fbf243\n\n# tcId = 255\n# special case hash\nmsg = 36303631363933393037\nresult = valid\nsig = 303d021d008637a09627c52766bf96f0b6cea6f2ac3eb303001c5f6fe6d628e4ba021c10b66c599455d40077bb865ed43e2c2cc403473baa6d63b16be48c84\n\n# tcId = 256\n# special case hash\nmsg = 38383935323237303934\nresult = valid\nsig = 303c021c52a010a23e4f9ebb459bbe9f3057e6c19761fb99d25c9b16b8f007d8021c526dc1f34444de00447ba23c76950f2c159579d548b6335d127ea321\n\n# tcId = 257\n# special case hash\nmsg = 31353830323334303934\nresult = valid\nsig = 303d021d00fc49caaada528f3357e5a264f2e7f970ca1b15ca5fee28741d1202ac021c175e884d10d0bfd20b39311ce2c53083da167d1f3dfeb990e59ed628\n\n# tcId = 258\n# special case hash\nmsg = 33393635393931353132\nresult = valid\nsig = 303d021d00d95d539a85c9edacd4e02ede27b0e0b737099612d166c637c83a9f34021c59936a2b90b7f3f3da83f64dec8e347a3bfa57baadf9acea18c071d8\n\n# tcId = 259\n# special case hash\nmsg = 32323838373332313938\nresult = valid\nsig = 303c021c1895e65593d71e5635cce022dda19bd155bb9a7f2e307e5ce9127ade021c121b487c320c544dcdd471d46fcde2ce5dc9d17fda70544c4eab50a2\n\n# tcId = 260\n# special case hash\nmsg = 32323330383837333139\nresult = valid\nsig = 303d021d00b5f4c85b13b51a5da81a236f1105937f3d98856d2aeb57101b6b499c021c3be74ae770fa6467f76a742eb9e504a815a4a60e74b38bcaa89f9b06\n\n# tcId = 261\n# special case hash\nmsg = 313239303536393337\nresult = valid\nsig = 303c021c07a57197667a0c40423d4811ff96384c9330467e8a28eaa4c0d519f4021c011062c8694494baaed24ff610e1e4227efb59a163c33fafd40100f9\n\n# tcId = 262\n# special case hash\nmsg = 32373438363536343338\nresult = valid\nsig = 303c021b7f718615ba1d0a9d27a8c5a678a6225ffe1233ed8b417c9343b310021d00cf6a87e4496725c6a2612f4034ddf4b31c7435e2fc3a163e92d463ba\n\n# tcId = 263\n# special case hash\nmsg = 37353833353032363034\nresult = valid\nsig = 303e021d00ba8f95a4363c493a9f78bb61dbefaa9587d028bb8344420de2b0cf21021d00b3798c2d6e27a2591c2edc18320b78bf11df194b11b3fb498c595232\n\n# tcId = 264\n# special case hash\nmsg = 32333237373534323739\nresult = valid\nsig = 303c021c596b74077801db2e889d3b2aaa3990fe180abc152d48528385ca955d021c38bffd416f779843fad389750003eb0708112a4834c554f476a3e0d1\n\n# tcId = 265\n# special case hash\nmsg = 373735353038353834\nresult = valid\nsig = 303d021d008547f62967523a06c9690e5ff66c3f2254cda28f09ffccc222433d39021c3d9ebf664ee551bb7b33157d6c6c5fd456bda3d4ae460215ec1a5f94\n\n# tcId = 266\n# special case hash\nmsg = 3137393832363438333832\nresult = valid\nsig = 303d021d0090ee3fab9c6ce373a1b35fc135fe878280ee25e58a4bd7529e91b4f0021c6451e7526505b44e88472b46eda3fd2679824dcdfc445e67f35ea382\n\n# tcId = 267\n# special case hash\nmsg = 32333936373737333635\nresult = valid\nsig = 303c021c0a530530b6a9238d2d1a3cf468986c87f3b208f61ea0486d53140c17021c5f027a73f31a5cc2bee81ff0019477c542fd782ecde0e551fcd37e93\n\n# tcId = 268\n# special case hash\nmsg = 35393938313035383031\nresult = valid\nsig = 303e021d00beab4abd23df5e2acfff07c82e245dfa7d587d0238c2c9ab9c88a96a021d0098c6507635536840edf604f9baae6408ce4d3fbee694db3abd825011\n\n# tcId = 269\n# special case hash\nmsg = 3136363737383237303537\nresult = valid\nsig = 303d021c3ec8c36335cb98fa07b983c35b7fc256f44a5aa192d6087595145a15021d00c32b7a47ac6271f4593562bbbf91f9e07395a5e4d46970495cf29f05\n\n# tcId = 270\n# special case hash\nmsg = 323036323134333632\nresult = valid\nsig = 303d021d00bd635a741f1f2a1d9ac1698baf5cfc491d5e3f8e15f1cacbe4ffe4dc021c4bb606cf7cc11d0d7d96b83966f42276095ccc445882ed5afddabf1e\n\n# tcId = 271\n# special case hash\nmsg = 36383432343936303435\nresult = valid\nsig = 303d021d00812c08622c0a09d949b7628585c4f4f2db4c5591b5da148ff46d5cd4021c2104f9bc9d0079acb3077d2db58f388119500c5322cb9b5389b5c5d7\n\n# tcId = 272\n# special case hash\nmsg = 33323639383937333231\nresult = valid\nsig = 303e021d00fa4e1c8b0006f269c855eb495fa3a113f643fa8b1fef2b08ab145994021d00fe85b8b522c7f9e8943e0f62643395bd1fcdabc892c315d108b75f65\n\n# tcId = 273\n# special case hash\nmsg = 31333837333234363932\nresult = valid\nsig = 303e021d008c1d9b7911bacb6b4a09582648b992d46a1832eb006178c0c77fcb10021d00becbe12b99f243766da5bdad07461b9226a8298672b4f1adb35357ef\n\n# tcId = 274\n# special case hash\nmsg = 34313138383837353336\nresult = valid\nsig = 303c021c78850a40530aa258e478e7c547d3a5e4944d3524f1676443e4dfb37d021c687058e1ca478f52a30c9a3f8e2eea9d8", + "c40599cd47ef66b9430d17d\n\n# tcId = 275\n# special case hash\nmsg = 393838363036353435\nresult = valid\nsig = 303c021c066e7268a6abefe1b4b916ca51c3e958e40dc78c3661313e0ed2e77d021c6404d8a332a837f2ab6bd13e3ee4aad1e9307d449e7f9b7d6332030c\n\n# tcId = 276\n# special case hash\nmsg = 32343739313135383435\nresult = valid\nsig = 303c021c4eca73709a67c41603ca5af494c8132483ffc2e0bf171b52de5a5e81021c2c79137cd2add3ce3a76792270e347221a3ad786eafc2682b39bcf95\n\n# tcId = 277\n# special case hash\nmsg = 35303736383837333637\nresult = valid\nsig = 303d021c0178512f8844984222393a63263e0a009601869e632f07eb7470aa05021d00e32657cded1122cee0a4f66ff50a32da1f05de4c5e217acdf5eb6fe2\n\n# tcId = 278\n# special case hash\nmsg = 393838353036393637\nresult = valid\nsig = 303d021d00e2c7bf1222ca23a56492873c2d3fa6c7030cc166d693142dcea272b6021c715a4c82fda4404217dea6c0bbf3ac24f8faa2b435fbc6d51a32c4a8\n\n# tcId = 279\n# special case hash\nmsg = 32373231333036313331\nresult = valid\nsig = 303c021c49886a8c26c91d649cbfecda6ce8d1441e764c66f5d81dceedb6c5ba021c4370d8bcd4f052fac9491d62850b6a6a85d5acc44d9248c3dff30bf2\n\n# tcId = 280\n# special case hash\nmsg = 33323034313031363535\nresult = valid\nsig = 303e021d00e1ae225e1aeca40747ff3e7ad1f75eb9bc90d637160a7f58ce12e591021d00b97cbea3a9323110315760b7e2ede496514b30f0eec521ffeb07a634\n\n# tcId = 281\n# special case hash\nmsg = 33313530363830393530\nresult = valid\nsig = 303d021d008a93b87b46512544fb9a7af5c41e3aa72e40235ef87ccb7108daae48021c157db617ac697df407af7a11626c52a1af7ef189514da39918c43010\n\n# tcId = 282\n# special case hash\nmsg = 31373237343630313033\nresult = valid\nsig = 303e021d00ebdebe6388b9f460fce6d84faa67ded1e864ef09e77ea3ce58a5deff021d00be5052033eb40380c2b1325fe97dcc55841e147a89f02a296b4505ef\n\n# tcId = 283\n# special case hash\nmsg = 3134353731343631323235\nresult = valid\nsig = 303e021d00e85d0667972d003c82afb9e18b702357119b4f38401a5ebdfcbea88c021d00eb7b3e5268a4ce6280f72d7e9a3d74e5cac50b1c3a5296cdb5a49d82\n\n# tcId = 284\n# special case hash\nmsg = 34313739353136303930\nresult = valid\nsig = 303c021c3d243581c0874fd4eb4d80f896c5067429ad455314881951ab5ec6e3021c0ec47aba08ccba88c1a6ddc289f595bda08dc2dd34d12dcefb68094d\n\n# tcId = 285\n# special case hash\nmsg = 35383932373133303534\nresult = valid\nsig = 303d021c75c966bbdcef9157d47a134231229f9f5ee8ce458775fc747d4509bd021d00e344fa716e2088d95a55d02a978a416da10f22a5cccf35a2863227cf\n\n# tcId = 286\n# special case hash\nmsg = 33383936313832323937\nresult = valid\nsig = 303e021d00cfdf599e986d770b73784d97149f9945fd16d22c302bb796156e7fb4021d00c6409785047b0083f008771b40db8502583208b61c8984671acb0929\n\n# tcId = 287\n# special case hash\nmsg = 38323833333436373332\nresult = valid\nsig = 303e021d00c53c4aeec8f2e7a5cc0e885a6031aa1a6c1b7b7fec83b5084cbe291f021d00b0e6d10a8fd86f958c3b0f4662ed8ca0d6eadbc892aac4200fcf8315\n\n# tcId = 288\n# special case hash\nmsg = 33333636393734383931\nresult = valid\nsig = 303d021c2386550d6e75350bcc32507bfc9beb9c26d72ff82f671c1f5282e98b021d00a55b8de808c4359fb529b80a80d9fc6eddb5ce08082c3b677c689991\n\n# tcId = 289\n# special case hash\nmsg = 32313939313533323239\nresult = valid\nsig = 303d021c1fbd192d955ce02b64a3be5bb21bef22b53a6c6f9576d8f889b09e4e021d00f5a9b673a4ee5aabf1ca8e8289f25b62a3e08b956f7418c03e2d3031\n\n# tcId = 290\n# special case hash\nmsg = 35363030333136383232\nresult = valid\nsig = 303d021d00b80ffba451db9fc2194e450bdd43bc0f53a7d0f4a78900c09fb8d9bc021c0124eeeab9035b6c845959e70b04d1e187d554807d6751afabcc1802\n\n# tcId = 291\n# special case hash\nmsg = 383639363531363935\nresult = valid\nsig = 303c021c187fb026ade3ad16dd4b2813e8ebda433cb6cc3af1615bedf486a9e2021c6fbee53fa884d296f34f7719f74919434d1b7090c485eeed2fb8fd6c\n\n# tcId = 292\n# special case hash\nmsg = 36353833393236333732\nresult = valid\nsig = 303d021d00e598a16fe12da79e9814f6985c9a9334010f287dc9e38de857ca5fc0021c19e0ed54f0e08ad091a163b4c7b86d0634da2c86a7a8991f5d8706d8\n\n# tcId = 293\n# special case hash\nmsg = 3133323035303135373235\nresult = valid\nsig = 303d021d00b31a10480e397c8aa46f52a0f2fb5c22ebc0534fba156718b50cf6ea021c602004df4b47a2065130ca3b05f1eb02d0b37b79b04b1eb799408346\n\n# tcId = 294\n# special case hash\nmsg = 35303835333330373931\nresult = valid\nsig = 303e021d00bc47e242d19dcc6321913980d73923e430bc6623d219529d586619b6021d0081397dd2f52811b534ed754a937d904f04a7de278fa3bc8926de6946\n\n# tcId = 295\n# special case hash\nmsg = 37383636383133313139\nresult = valid\nsig = 303c021c5be0e0dfb26b1caa88f866504aa8e76f035a82abe00028d962bcfafa021c3c3c1df06026123471bed324ca79c51b28b3d10b1ce877cef21b852d\n\n# tcId = 296\n# special case hash\nmsg = 32303832353339343239\nresult = valid\nsig = 303e021d00fe79d0cfe455724792cb5ab0580ad4f2918c1403ec12f0bdd2ce6528021d00f1357cd4afc402994ab868b0163f41701e0f00e561fdd97e0db6f7b9\n\n# tcId = 297\n# special case hash\nmsg = 3130303635393536363937\nresult = valid\nsig = 303d021c1858c5d857124cd703e7c2f5e99d5025d6d979539c6f50b1d00fbd34021d00d94a5adb6d9c5001162620415541d49334fb929bc86a350ca4591195\n\n# tcId = 298\n# special case hash\nmsg = 33303234313831363034\nresult = valid\nsig = 303e021d00e6b2ec967cfa25f57234b9ef1d87c5945502cbbd5831c862f00774d1021d00caea26368bffc8e562b2bd03aa6c9dc41c529659fefe6597fce9cd9c\n\n# tcId = 299\n# special case hash\nmsg = 37373637383532383734\nresult = valid\nsig = 303d021d00a59b438b2472074a93a289b33f5b13e604977dd3ab4d744d08e1061b021c699574a17dc8c7298c9321ca78552e5128ea801d056f387ba42f7a09\n\n# tcId = 300\n# special case hash\nmsg = 353434313939393734\nresult = valid\nsig = 303d021c748481709c6882c4a130193834a57f4bc714906211ec6cc12c400dff021d00eec6c9d5a06786f821a8117eec3dc025ed3ac74e39e98a16a4aa285c\n\n# tcId = 301\n# special case hash\nmsg = 35383433343830333931\nresult = valid\nsig = 303e021d00bc8991b506997403e123136a9c140a4336364733b0815f40d1dbd5fe021d00819503ea3b4c07fc157f948f6949705d560a881fc1c6af4b7391765c\n\n# tcId = 302\n# special case hash\nmsg = 373138383932363239\nresult = valid\nsig = 303c021c1caece75c8e31bb0c5cceb0842f23683b8557a97036574ea88ceeabd021c645ad3276aaee22b693647f00dce5f91a03b678b789b667cd3b8e751\n\n# tcId = 303\n# special case hash\nmsg = 31373433323233343433\nresult = valid\nsig = 303c021c3a7d582068aaecaba945203bc445b3312e5cb40886522987aced68d0021c39b3c612b6743a13bb2ffb83514d690cfcb9a7055e3a993cb0863938\n\n# tcId = 304\n# special case hash\nmsg = 32343036303035393336\nresult = valid\nsig = 303e021d00f773c49fd0645716d16e559e22c39101df266cdfa7cb61ce46f85280021d00df6109fd77a241031cf03b376e001d8a3cd2a6b646edbf9e578133f1\n\n# tcId = 305\n# special case hash\nmsg = 31363134303336393838\nresult = valid\nsig = 303c021c79cf893f66f7faa5ca08553ea03456107e7bb391a5e51260cedaea84021c32e8e3509468da7216c59975d4f3d5493848a03f864b2332044e68d1\n\n# tcId = 306\n# special case hash\nmsg = 32303935343235363835\nresult = valid\nsig = 303d021c025ecd1a7ab765fbfd25a6d7cd3c461e17f465e6958bce9f492b7a5a021d00a1ca95038603d302761e416935acbd6b716a316c9b79c57d4053cb79\n\n# tcId = 307\n# special case hash\nmsg = 31303038303938393833\nresult = valid\nsig = 303d021c3d14a4c21ba4dbd338fdd8b15fcdd0a9228f157cfaf2b09dd4f2aa67021d00e1640e8bd2a6110dc18d6f290b7325814710c0dc88b76f127c5e9e21\n\n# tcId = 308\n# special case hash\nmsg = 31353734313437393237\nresult = valid\nsig = 303c021c258dce916ef78b9d8a87beaf6edd35bcccc08c5de488586e1b7b749a021c4ff500db4d665c7062179c099b2985a814f99fbfa44a3a709024d589\n\n# tcId = 309\n# special case hash\nmsg = 32383636373731353232\nresult = valid\nsig = 303e021d00cecf0aec5357749f357c459575298a3384dc4ac381438ff99acd9993021d00da7adb092a6890e0918c235a62d4a949b0cae5e57856975108fb2b91\n\n# tcId = 310\n# special case hash\nmsg = 31363934323830373837\nresult = valid\nsig = 303d021d00d77f2e547fd68d5db314901da1ff7ecaf3d0c17ec047a974a7cec33e021c443a97afdf882272bf0233c8c4a8d23c9352ad89b1770c26240f6650\n\n# tcId = 311\n# special case hash\nmsg = 39393231363932353638\nresult = valid\nsig = 303e021d00d5dcf93e6e1b93323ea2642d3405a7423cb04f59c03420193f394886021d00ddd5842e4928ee4b5d77d43d4a4bfc7f991c899727b75fc941b52995\n\n# tcId = 312\n# special case hash\nmsg = 3131363039343339373938\nresult = valid\nsig = 303d021d00a9bc3ebc6ee34421326711ce29518d02bd403ead806a3e4502efa0ce021c12610b89a61689a8eb6e062d2524278155fe499ffecc0e0d940d48a7\n\n# tcId = 313\n# special case hash\nmsg = 37313836313632313030\nresult = valid\nsig = 303e021d00c703c508784ef71b596dcd61c5b01b45c6c69d2b36a5a3b7701e5976021d00f05444a777204118f3ac2afc92d0212831bf7002158e7c656f4c07db\n\n# tcId = 314", + "\n# special case hash\nmsg = 33323934333437313737\nresult = valid\nsig = 303e021d0080674b740b64d383677c049a6f4baeb214f4a6b5933033853e634578021d009b3a804c75ed790e31966bc25730b7428af8c73c65fb503c06c597eb\n\n# tcId = 315\n# special case hash\nmsg = 3138353134343535313230\nresult = valid\nsig = 303c021c7ed658c30f4a0dcc894c39f9320f59a185509ffee45eac6023577c7c021c47ac94a501806d5adffea9fcf3ccd8cf79f3cc47eca9fe38fc4886b4\n\n# tcId = 316\n# special case hash\nmsg = 343736303433393330\nresult = valid\nsig = 303d021c397f669cc399a91da96c16efd233f6fe60d1b7caa397cc257843b30b021d00f19375fe66eae4738ec9dc5b7ef51cb33d4cb258f36944d37dd245cb\n\n# tcId = 317\n# special case hash\nmsg = 32353637333738373431\nresult = valid\nsig = 303c021c537ec369b3f0d891e166f6c74e5d73dd2c4822210c5fe5f978c34072021c0b183c48b5f6e69245cb76e1e2c39663eedfb74ba9538739ac495ff5\n\n# tcId = 318\n# special case hash\nmsg = 35373339393334393935\nresult = valid\nsig = 303d021d00d0ed7159cc3a79988f3c279287ca8ed10bb8f02c8b5a6204aead1223021c75ee1e5c00e81899bfa8545edcc64fdf707dae1f61d976d2f0883777\n\n# tcId = 319\n# special case hash\nmsg = 33343738333636313339\nresult = valid\nsig = 303e021d00cf43329a9781db8044a920758e58399866fe7748c0f5d6a3bcdcbcbd021d00d9740d2dd716290ad4160345bcd4af03af01c44b610b1e5953199075\n\n# tcId = 320\n# special case hash\nmsg = 363439303532363032\nresult = valid\nsig = 303e021d008ab2e92c8c9143f9d8da3bdb1d935cce3ab60ae99b3ccfe863b15d14021d0088c89302e8a9c591c6ed16b1ae46f966004d0b2685449842e291d742\n\n# tcId = 321\n# special case hash\nmsg = 34373633383837343936\nresult = valid\nsig = 303d021c04f60f8450b448198cf7981116de06d4c4888cd26be3a5947092238f021d00cb23fcb33c14f089c2ae030146d68fa65eb9b086fa792f95be8ecf35\n\n# tcId = 322\n# special case hash\nmsg = 353739303230303830\nresult = valid\nsig = 303e021d00f270f7a70a96a0f916c7530c6dea7178e6c087ddbcc60aacd8a7c553021d008b2c378554121365a180ad4edf1a12e566ba55eeabf525356783e603\n\n# tcId = 323\n# special case hash\nmsg = 35333434373837383438\nresult = valid\nsig = 303e021d0085ad01b236ca4a5451969242e16165d322428235a2af8fdcd6c4c7b9021d008eb2998c5e0aaf279793caff59a266ca2068d94ebf77bae81fd0fb6a\n\n# tcId = 324\n# special case hash\nmsg = 3139323636343130393230\nresult = valid\nsig = 303d021d00cffdb8d64b5b84b490ff73d77e51cc7797bf67c5ee0a4999def17230021c3baf4b34e1a35e9606a460b395063a554264a9c43cc302ab5abf473e\n\n# tcId = 325\n# special case hash\nmsg = 33373033393135373035\nresult = valid\nsig = 303c021c66cda58a5a6ddb9476e36dbad5df542be88d7e447bdc3dfe1d9e8b2c021c0d99d387486a964ebab4e29bad583e46a5a200391d1065768a4e35fd\n\n# tcId = 326\n# special case hash\nmsg = 3831353435373730\nresult = valid\nsig = 303c021c3200761902825bd353908accd2be6b482645646971f96dc490706a37021c3ed77899efdbe418370fa7998df3b7c924bed6864535277f805c894f\n\n# tcId = 327\n# special case hash\nmsg = 313935353330333737\nresult = valid\nsig = 303e021d00ba0eff0ee46aa9fca5ab8ad64aee4037931d3ad0b953d404ef9f7bdc021d00afdf21df0dcbe39c2f5fa9ef7e1a2bca87d1213d1eca438929ad8982\n\n# tcId = 328\n# special case hash\nmsg = 31323637383130393033\nresult = valid\nsig = 303e021d00a20c6883fc6ec1ca4bb378ac88ed670a742a6284113d5fa3182a1858021d00e0a73b913b94163175d264224cc70736f2fb8e8d58e914b18c921323\n\n# tcId = 329\n# special case hash\nmsg = 3131313830373230383135\nresult = valid\nsig = 303e021d00f2f4af956b0c5409949d377e9bc68e4f1abef7969b518f8beacf27db021d00df3a7b5993d2393ade70a2cfc1e8671a78ca4fecb56425a661a2d2fc\n\n# tcId = 330\n# special case hash\nmsg = 38333831383639323930\nresult = valid\nsig = 303c021c331a1a553494f8524adb4e8a722d558965fb703ae432bf3cbdb255c2021c5ab6e3dee6a2516fc4e0ac88e6dfc81d2bc37c98949cc03e521d389d\n\n# tcId = 331\n# special case hash\nmsg = 33313331323837323737\nresult = valid\nsig = 303e021d00867135558e06e19796ebce8e3555c607a6607d46f7c8da6b8552ffc1021d008e827e8b9a4f74efeec7d7ba5c23428fde0227df55a1efc179a353b1\n\n# tcId = 332\n# special case hash\nmsg = 3134333331393236353338\nresult = valid\nsig = 303d021c6746903ca095bfd3f6378a70092723483ca190b2392d8b1ad337969f021d00f33bfae0835c23a80ec9f33ce9a9035c192836a0b2fadd347d803f96\n\n# tcId = 333\n# special case hash\nmsg = 333434393038323336\nresult = valid\nsig = 303d021c7fc0d8739ecfe349e506e71203a6e60e628a1bb0c67d5e574cb8831c021d00cf8bb1557152c57550a0fde6571456fa752782f7f92f7bb235dde39f\n\n# tcId = 334\n# special case hash\nmsg = 36383239383335393239\nresult = valid\nsig = 303e021d00b4486e3139e0b1542892db3d3f51b0524894e19cb00cd07b03ee9c97021d00ad9728d77a8b7b4fa435b3345847860c332d65d8152aa6503ab18755\n\n# tcId = 335\n# special case hash\nmsg = 33343435313538303233\nresult = valid\nsig = 303e021d00afbbdc8e50e801ecbd2e3705079717f4f9d69f3b3d85215aeecb4fbc021d00eceadd4e2cc9cea10b56d16a03fa551fec3eb808bd8d9f0926d14ed3\n\n# tcId = 336\n# special case hash\nmsg = 3132363937393837363434\nresult = valid\nsig = 303d021c4a762f7d146f9eafff5ad11a6978260c818b801c3488dd60411f5cf6021d009ea77512585620ef2cfae8b8c9d8171229a32197e1949561bb75a049\n\n# tcId = 337\n# special case hash\nmsg = 333939323432353533\nresult = valid\nsig = 303d021c227fe52b579833feee16c287d29273e2256df68aff0b94d2752d877b021d00bd79935e5faa8e9356622fea0135ecf796daf60333d5ab125f71e512\n\n# tcId = 338\n# special case hash\nmsg = 31363031393737393737\nresult = valid\nsig = 303e021d00cd5365983eb165db39ba0c66c3a45b2ce1370c9ad14a9aa76dd4633a021d00a8c77ce42ab1c888a6b5d04b71139fd882328622e15e80252e5cf7da\n\n# tcId = 339\n# special case hash\nmsg = 3130383738373535313435\nresult = valid\nsig = 303c021c54d6d44373f7dfc98455a22cd39a0b320fabc33215216b37365b5a16021c29cc690f2467c02e07bc416ad47204975af8c5c3346973f2b03ded3d\n\n# tcId = 340\n# special case hash\nmsg = 37303034323532393939\nresult = valid\nsig = 303c021c2f5048c9ef9f30da7cb3fe4624552200f9e57a46d79db0484a0d9cf2021c06dad3a4682725852869a1a459bec865661e1a38a9e546eeaac7cb84\n\n# tcId = 341\n# special case hash\nmsg = 31353635333235323833\nresult = valid\nsig = 303e021d00abbf0a02332fbea779899d31d3abd2d22c9c02d4058ced639bf06c45021d00cce0570f3812e5cfcb23376c554c7fc35dbcfeb623a7958c664ac6a4\n\n# tcId = 342\n# special case hash\nmsg = 3233383236333432333530\nresult = valid\nsig = 303d021c1c30cb8bc21087b77eb1216ee8629e3676d925f1ae15077cc631da4f021d00ee998157bdefb77d1044e983a6afec7d91a23d95c937fc5c6548c989\n\n# tcId = 343\n# special case hash\nmsg = 31343437383437303635\nresult = valid\nsig = 303c021c43ee11a7ab62e2125e765c2ce5d4f84704183539810512268d87f195021c65897e54025777659ee802b39c6bfd5ccc5706a9d1b38f95c078abaf\n\n# tcId = 344\n# special case hash\nmsg = 3134323630323035353434\nresult = valid\nsig = 303e021d00a1fe3f4d3f43aaa3dcafa79ed99fbc045c11c352caacd89f0f63847e021d00ca2e37bd2c13b9fb3f8a55b7a67eb034240395abd39fecde75141336\n\n# tcId = 345\n# special case hash\nmsg = 31393933383335323835\nresult = valid\nsig = 303e021d00bd290286ca08485ea4137010c67203c2455e7b669d153c6be40087c7021d0097dd7502ba3637f33baea5b2398647ad24c0fe35072bd963149b5aa0\n\n# tcId = 346\n# special case hash\nmsg = 34323932313533353233\nresult = valid\nsig = 303e021d00c917269a5a4ce80b7fe54a8bed49326b50527a4d2fb0a3093182b5a5021d00a195ec0e69e3172e854e87dd651b44433fcd7dcbb7bd59515d2afe8e\n\n# tcId = 347\n# special case hash\nmsg = 34343539393031343936\nresult = valid\nsig = 303c021c0b7b5aab8364dd4b11001a0b986d5aa4fb61ee720237417a7f63722f021c7f13b411e645e819fed1b925ebe807d9560b44d0ba1b75bd2fbd1294\n\n# tcId = 348\n# special case hash\nmsg = 31333933393731313731\nresult = valid\nsig = 303c021c505b974f8ecf07b60ffdbd2b2df9324de92b39476eb763a4c25f126a021c1c36ed1dee772c724205f717c383f49a87a5bc3caa0ef81360f9d800\n\n# tcId = 349\n# special case hash\nmsg = 32333930363936343935\nresult = valid\nsig = 303d021c24219e49b98a9b64e56d21c908c870eb88b447d9f1ddb735083d6df2021d00bc4d7644faeff1e134443b2bb3bb2a20e2a4a7c193180626127ce937\n\n# tcId = 350\n# special case hash\nmsg = 3131343436303536323634\nresult = valid\nsig = 303d021c083246081cf2f8c5e1cd42b60450fc6cac3b0ab03d38bdd271cd7370021d008d117ec32dbf939394499f7dbc2ab77290e9222d6d60ea02ce45c58a\n\n# tcId = 351\n# special case hash\nmsg = 363835303034373530\nresult = valid\nsig = 303c021c24916961dd0d168c2878ca4fd065b81311c03b7f23f8416f4a23b14b021c1e37e3c03b2333b33bbb2ebe05b031042af19315adfdccdfc8d078ee\n\n# tcId = 352\n# special case hash\nmsg = 3232323035333630363139\nresult = valid\nsig = 303e021d008df5468b123b92477a5c57ea86c54c5c9e41d119370dc18922aa8303021d0086bdf06b75f4d49d02c5806926f5d01b1a4f6a8146664a03fa820772\n\n# tcId = 353\n# special case hash\nmsg = ", + "36323135363635313234\nresult = valid\nsig = 303d021d00f65bf16f7ced97b0cdc22b08c62ef811306813134b001bc51140e828021c3a9b7c008cdaf803368df9ee50e274c7a9f9369344d9918e0c08dba9\n\n# tcId = 354\n# Signature generated without truncating the hash\nmsg = 313233343030\nresult = invalid\nsig = 303c021c6239877430e268f1a3ada2c90357247c6ca6687f49023bed0fb5b597021c355c60c09f0dacb9d74b7ccde71806c50fda8750c6ecb7abba910ac7\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 044408e5c95e332ab6c2823a63959391d60a6d69c59eb1f7bd272206b9f5278e901fb4773aeeb2d8255ba4df3cf3db7e0557dbc6134c55f3a6]\n[key.wx = 4408e5c95e332ab6c2823a63959391d60a6d69c59eb1f7bd272206b9]\n[key.wy = 00f5278e901fb4773aeeb2d8255ba4df3cf3db7e0557dbc6134c55f3a6]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00044408e5c95e332ab6c2823a63959391d60a6d69c59eb1f7bd272206b9f5278e901fb4773aeeb2d8255ba4df3cf3db7e0557dbc6134c55f3a6]\n[sha = SHA-512]\n\n# tcId = 355\n# k*G has a large x-coordinate\nmsg = 313233343030\nresult = valid\nsig = 3030020f00e95c1f470fc1ec22d6baa3a3d5c1021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3a\n\n# tcId = 356\n# r too large\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00fffffffffffffffffffffffffffffffefffffffffffffffffffffffe021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3a\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04315a83008dba00b351c3f9fca0811c3ae1884fa9a2a75e6d5e71f269504bbe6a25be253b582efab4b8b9e61372767a7a3a423c0943127296]\n[key.wx = 315a83008dba00b351c3f9fca0811c3ae1884fa9a2a75e6d5e71f269]\n[key.wy = 504bbe6a25be253b582efab4b8b9e61372767a7a3a423c0943127296]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004315a83008dba00b351c3f9fca0811c3ae1884fa9a2a75e6d5e71f269504bbe6a25be253b582efab4b8b9e61372767a7a3a423c0943127296]\n[sha = SHA-512]\n\n# tcId = 357\n# r,s are large\nmsg = 313233343030\nresult = valid\nsig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3b\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 042f6983b6e9f8ef96c2d981f69be54b06591ed73fe40c8a546b936a7971bf57726c26c811d7625a9d851951c1fffe236b0eb3b896bc4c98ef]\n[key.wx = 2f6983b6e9f8ef96c2d981f69be54b06591ed73fe40c8a546b936a79]\n[key.wy = 71bf57726c26c811d7625a9d851951c1fffe236b0eb3b896bc4c98ef]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00042f6983b6e9f8ef96c2d981f69be54b06591ed73fe40c8a546b936a7971bf57726c26c811d7625a9d851951c1fffe236b0eb3b896bc4c98ef]\n[sha = SHA-512]\n\n# tcId = 358\n# r and s^-1 have a large Hamming weight\nmsg = 313233343030\nresult = valid\nsig = 303c021c7fffffffffffffffffffffffffffffffffffffffffffffffffffffff021c3d5052691b8dc89debad360466f2a39e82e8ae2aefb77c3c92ad7cd1\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04d1f515971cc9391153569c2befa1f915e2931110757760ebd7e61f8641c3db8beea20b13205389dcc4ba8a6af4d6da2604cacd7184ec9dbc]\n[key.wx = 00d1f515971cc9391153569c2befa1f915e2931110757760ebd7e61f86]\n[key.wy = 41c3db8beea20b13205389dcc4ba8a6af4d6da2604cacd7184ec9dbc]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004d1f515971cc9391153569c2befa1f915e2931110757760ebd7e61f8641c3db8beea20b13205389dcc4ba8a6af4d6da2604cacd7184ec9dbc]\n[sha = SHA-512]\n\n# tcId = 359\n# r and s^-1 have a large Hamming weight\nmsg = 313233343030\nresult = valid\nsig = 303d021c7fffffffffffffffffffffffffffffffffffffffffffffffffffffff021d00bf19ab4d3ebf5a1a49d765909308daa88c2b7be3969db552ea30562b\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04e8f90a717714f0158d9521f18c14ae8c83bf1eeba115c46cbdabb20b66f50ac13461c02da02edfe4296a1f543dde7b4359f905e04193d3cf]\n[key.wx = 00e8f90a717714f0158d9521f18c14ae8c83bf1eeba115c46cbdabb20b]\n[key.wy = 66f50ac13461c02da02edfe4296a1f543dde7b4359f905e04193d3cf]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004e8f90a717714f0158d9521f18c14ae8c83bf1eeba115c46cbdabb20b66f50ac13461c02da02edfe4296a1f543dde7b4359f905e04193d3cf]\n[sha = SHA-512]\n\n# tcId = 360\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020103020101\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04723bc0c9b7ce6ea784ec075036cede90452c76576bd8fb5be4dc0fb1cf405820d92f48552b551c7b11f49406dc892fd659971ae7f9e74b59]\n[key.wx = 723bc0c9b7ce6ea784ec075036cede90452c76576bd8fb5be4dc0fb1]\n[key.wy = 00cf405820d92f48552b551c7b11f49406dc892fd659971ae7f9e74b59]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004723bc0c9b7ce6ea784ec075036cede90452c76576bd8fb5be4dc0fb1cf405820d92f48552b551c7b11f49406dc892fd659971ae7f9e74b59]\n[sha = SHA-512]\n\n# tcId = 361\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020103020103\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04a0dcce127084f955a4e49a7c86b9b91b05ae7afd6eb07225a6541d88f10a1d4fef93934967bb6c5d8792bbd47ab3abb406899a00b1c91b4a]\n[key.wx = 00a0dcce127084f955a4e49a7c86b9b91b05ae7afd6eb07225a6541d88]\n[key.wy = 00f10a1d4fef93934967bb6c5d8792bbd47ab3abb406899a00b1c91b4a]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004a0dcce127084f955a4e49a7c86b9b91b05ae7afd6eb07225a6541d88f10a1d4fef93934967bb6c5d8792bbd47ab3abb406899a00b1c91b4a]\n[sha = SHA-512]\n\n# tcId = 362\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020103020104\n\n# tcId = 363\n# r is larger than n\nmsg = 313233343030\nresult = invalid\nsig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a40020104\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04e10abc9fe15bcc63f009e161aaee26602415bcb45bc6c99ce7ab2b10fbebff4e4de0dfaaf04594dd603cee80b5d9ab78b6707608a95e574d]\n[key.wx = 00e10abc9fe15bcc63f009e161aaee26602415bcb45bc6c99ce7ab2b10]\n[key.wy = 00fbebff4e4de0dfaaf04594dd603cee80b5d9ab78b6707608a95e574d]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004e10abc9fe15bcc63f009e161aaee26602415bcb45bc6c99ce7ab2b10fbebff4e4de0dfaaf04594dd603cee80b5d9ab78b6707608a95e574d]\n[sha = SHA-512]\n\n# tcId = 364\n# s is larger than n\nmsg = 313233343030\nresult = invalid\nsig = 3022020103021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c6f00c4\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04fbfabe6c640856ae5dcdc9e4b706fb3db23ddca46b80b9057ab9e44f6b62d4697977ffe19bf3185083b1ede2161aa5725401a8f57851fc82]\n[key.wx = 00fbfabe6c640856ae5dcdc9e4b706fb3db23ddca46b80b9057ab9e44f]\n[key.wy = 6b62d4697977ffe19bf3185083b1ede2161aa5725401a8f57851fc82]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004fbfabe6c640856ae5dcdc9e4b706fb3db23ddca46b80b9057ab9e44f6b62d4697977ffe19bf3185083b1ede2161aa5725401a8f57851fc82]\n[sha = SHA-512]\n\n# tcId = 365\n# small r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 302302020100021d00c993264c993264c993264c99326411d2e55b3214a8d67528812a55ab\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0491a85b3c5e90b409f6b8d3bca9117a54a40f4162b388bb9367fd6439f1cedf20ab52eb7154b7ea1f2934a9c8292906e18a0e572002cd2f7c]\n[key.wx = 0091a85b3c5e90b409f6b8d3bca9117a54a40f4162b388bb9367fd6439]\n[key.wy = 00f1cedf20ab52eb7154b7ea1f2934a9c8292906e18a0e572002cd2f7c]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000491a85b3c5e90b409f6b8d3bca9117a54a40f4162b388bb9367fd6439f1cedf20ab52eb7154b7ea1f2934a9c8292906e18a0e572002cd2f7c]\n[sha = SHA-512]\n\n# tcId = 366\n# smallish r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 302702072d9b4d347952cc021c3e85d56474b5c55fbe86608442a84b2bf093b7d75f53a47250e1c70c\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04d1ca7a5c1aa086b2951c1ac14e005f0072fb28383973a05117f9652cce523c05ebe94991c47fecd241d0a07e86c88ab3c620eae792aba3d1]\n[key.wx = 00d1ca7a5c1aa086b2951c1ac14e005f0072fb28383973a05117f9652c]\n[key.wy = 00ce523c05ebe94991c47fecd241d0a07e86c88ab3c620eae792aba3d1]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004d1ca7a5c1aa086b2951c1ac14e005f0072fb28383973a05117f9652cce523c05ebe94991c47fecd241d0a07e86c88ab3c620eae792aba3d1]\n[sha = SHA-512]\n\n# tcId = 367\n# 100-bit r and small s^-1\nm", + "sg = 313233343030\nresult = valid\nsig = 302d020d1033e67e37b32b445580bf4efb021c02fd02fd02fd02fd02fd02fd02fd0043a4fd2da317247308c74dc6b8\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 043565af2a481f9390e71d7642717d0427e02e5e7de8a3c0c1ffd5f33e9474547e0d54dcaae85494c74faa23394a056e41c2839638b8523b72]\n[key.wx = 3565af2a481f9390e71d7642717d0427e02e5e7de8a3c0c1ffd5f33e]\n[key.wy = 009474547e0d54dcaae85494c74faa23394a056e41c2839638b8523b72]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00043565af2a481f9390e71d7642717d0427e02e5e7de8a3c0c1ffd5f33e9474547e0d54dcaae85494c74faa23394a056e41c2839638b8523b72]\n[sha = SHA-512]\n\n# tcId = 368\n# small r and 100 bit s^-1\nmsg = 313233343030\nresult = valid\nsig = 302302020100021d00d05434abacd859ed74185e75b751c6d9f60c7921dacfbb8e19cdba8e\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0429c694790fbd23777cfde434badcb061a326a5534264bcfe193c716c178a943f7bd4fb132565ba602358b13433a5217ac04cc035566c73f8]\n[key.wx = 29c694790fbd23777cfde434badcb061a326a5534264bcfe193c716c]\n[key.wy = 178a943f7bd4fb132565ba602358b13433a5217ac04cc035566c73f8]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000429c694790fbd23777cfde434badcb061a326a5534264bcfe193c716c178a943f7bd4fb132565ba602358b13433a5217ac04cc035566c73f8]\n[sha = SHA-512]\n\n# tcId = 369\n# 100-bit r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 302e020d062522bbd3ecbe7c39e93e7c24021d00d05434abacd859ed74185e75b751c6d9f60c7921dacfbb8e19cdba8e\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 048fd43aac8556f4665fd4c13f4e151140f42a395763c5da247a398f979687d24a9fcd6b20a59451c348a6364d0ffaf0ecfe164313db6594ab]\n[key.wx = 008fd43aac8556f4665fd4c13f4e151140f42a395763c5da247a398f97]\n[key.wy = 009687d24a9fcd6b20a59451c348a6364d0ffaf0ecfe164313db6594ab]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00048fd43aac8556f4665fd4c13f4e151140f42a395763c5da247a398f979687d24a9fcd6b20a59451c348a6364d0ffaf0ecfe164313db6594ab]\n[sha = SHA-512]\n\n# tcId = 370\n# r and s^-1 are close to n\nmsg = 313233343030\nresult = valid\nsig = 303d021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c29bd021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04c2ae0e357a43f97549a725ae3704449051c96bf3633355c35b6eb7e96a84dfb6d4517d1de46b18786a506178724bf4ae4f9e418c75ab17ef]\n[key.wx = 00c2ae0e357a43f97549a725ae3704449051c96bf3633355c35b6eb7e9]\n[key.wy = 6a84dfb6d4517d1de46b18786a506178724bf4ae4f9e418c75ab17ef]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004c2ae0e357a43f97549a725ae3704449051c96bf3633355c35b6eb7e96a84dfb6d4517d1de46b18786a506178724bf4ae4f9e418c75ab17ef]\n[sha = SHA-512]\n\n# tcId = 371\n# s == 1\nmsg = 313233343030\nresult = valid\nsig = 3021021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14020101\n\n# tcId = 372\n# s == 0\nmsg = 313233343030\nresult = invalid\nsig = 3021021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14020100\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04961617d9855f202fd600b584abe94a46674927cfdc6333c5be56ce7b89b4150d9ccdfbd77e7682ca862c0c3e96d89c918b7d3b7bbb92ff43]\n[key.wx = 00961617d9855f202fd600b584abe94a46674927cfdc6333c5be56ce7b]\n[key.wy = 0089b4150d9ccdfbd77e7682ca862c0c3e96d89c918b7d3b7bbb92ff43]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004961617d9855f202fd600b584abe94a46674927cfdc6333c5be56ce7b89b4150d9ccdfbd77e7682ca862c0c3e96d89c918b7d3b7bbb92ff43]\n[sha = SHA-512]\n\n# tcId = 373\n# point at infinity during verify\nmsg = 313233343030\nresult = invalid\nsig = 303c021c7fffffffffffffffffffffffffff8b51705c781f09ee94a2ae2e151e021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 048db53fe4168df43ee538bc9d758b8c26fa433fb0101bcbad039585de2310dfc20835379ea406993036fd4bb0f67d14760e1eb414c32dd1f3]\n[key.wx = 008db53fe4168df43ee538bc9d758b8c26fa433fb0101bcbad039585de]\n[key.wy = 2310dfc20835379ea406993036fd4bb0f67d14760e1eb414c32dd1f3]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00048db53fe4168df43ee538bc9d758b8c26fa433fb0101bcbad039585de2310dfc20835379ea406993036fd4bb0f67d14760e1eb414c32dd1f3]\n[sha = SHA-512]\n\n# tcId = 374\n# edge case for signature malleability\nmsg = 313233343030\nresult = valid\nsig = 303c021c7fffffffffffffffffffffffffff8b51705c781f09ee94a2ae2e151f021c7fffffffffffffffffffffffffff8b51705c781f09ee94a2ae2e151e\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 040b7fa61983e7a227f738847d457f3e8cf0a4085c312fb6dcec822570ee7434ce2ff3fbcc1d0960379876e9dd5bed28aad576eea233a44b0d]\n[key.wx = 0b7fa61983e7a227f738847d457f3e8cf0a4085c312fb6dcec822570]\n[key.wy = 00ee7434ce2ff3fbcc1d0960379876e9dd5bed28aad576eea233a44b0d]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00040b7fa61983e7a227f738847d457f3e8cf0a4085c312fb6dcec822570ee7434ce2ff3fbcc1d0960379876e9dd5bed28aad576eea233a44b0d]\n[sha = SHA-512]\n\n# tcId = 375\n# edge case for signature malleability\nmsg = 313233343030\nresult = valid\nsig = 303c021c7fffffffffffffffffffffffffff8b51705c781f09ee94a2ae2e151f021c7fffffffffffffffffffffffffff8b51705c781f09ee94a2ae2e151f\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0455b212919cd6886b13cd7a2556430ce442e86942f1bf6e4618ae363e795c664ae960ee1106308b7dba91240ab0c3ef8beb7d0a4d7a102a7f]\n[key.wx = 55b212919cd6886b13cd7a2556430ce442e86942f1bf6e4618ae363e]\n[key.wy = 795c664ae960ee1106308b7dba91240ab0c3ef8beb7d0a4d7a102a7f]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000455b212919cd6886b13cd7a2556430ce442e86942f1bf6e4618ae363e795c664ae960ee1106308b7dba91240ab0c3ef8beb7d0a4d7a102a7f]\n[sha = SHA-512]\n\n# tcId = 376\n# u1 == 1\nmsg = 313233343030\nresult = valid\nsig = 303c021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021c43f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b0\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04c0288a63ce32263f3651198dab801c896fb9308362fc40e35959e14010d00bd1c228cfb6a5faa647387804e34fa1a7f9fcc472c05ea2eeda]\n[key.wx = 00c0288a63ce32263f3651198dab801c896fb9308362fc40e35959e140]\n[key.wy = 10d00bd1c228cfb6a5faa647387804e34fa1a7f9fcc472c05ea2eeda]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004c0288a63ce32263f3651198dab801c896fb9308362fc40e35959e14010d00bd1c228cfb6a5faa647387804e34fa1a7f9fcc472c05ea2eeda]\n[sha = SHA-512]\n\n# tcId = 377\n# u1 == n - 1\nmsg = 313233343030\nresult = valid\nsig = 303d021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021d00bc07ff041506dc73a75086a4325211e696eb6b31da8ff5c2c728d38d\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 040c8e2cb5f6a903e1cccf3ac2d465f1d0dc3452237fd9e8a4df5d5341d044ca8ceecb54a1b951270971e5ab4eb226116c48c553499d1a4899]\n[key.wx = 0c8e2cb5f6a903e1cccf3ac2d465f1d0dc3452237fd9e8a4df5d5341]\n[key.wy = 00d044ca8ceecb54a1b951270971e5ab4eb226116c48c553499d1a4899]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00040c8e2cb5f6a903e1cccf3ac2d465f1d0dc3452237fd9e8a4df5d5341d044ca8ceecb54a1b951270971e5ab4eb226116c48c553499d1a4899]\n[sha = SHA-512]\n\n# tcId = 378\n# u2 == 1\nmsg = 313233343030\nresult = valid\nsig = 303c021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 041ff6b9901784d88b25527b3702622a2734b83d8a0fed0f740bb784e20e83ee0aa82933dcdc637a3760606a04974c2dc75f12095f8fdaf003]\n[key.wx = 1ff6b9901784d88b25527b3702622a2734b83d8a0fed0f740bb784e2]\n[key.wy = 0e83ee0aa82933dcdc637a3760606a04974c2dc75f12095f8fdaf003]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00041ff6b9901784d88b25527b3702622a2734b83d8a0fed0f740bb784e20e83ee0aa82933dcdc637a3760606a04974c2dc75f12095f8fdaf003]\n[sha = SHA-512]\n\n# tcId = 379\n# u2 == n - 1\nmsg = 313233343030\nresult = valid\nsig = 303d021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021d00aaaaaaaaaaaaaaaaaaaaaaaaaaaa0f17407b4ad", + "40d3e1b8392e81c29\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04b21faca17b68058752d943a81f853b800562df8b2172e150953c624201c2c0f5ed3b342956cacd26f9097562d0fb0a3ddab91c5ae7e90c01]\n[key.wx = 00b21faca17b68058752d943a81f853b800562df8b2172e150953c6242]\n[key.wy = 01c2c0f5ed3b342956cacd26f9097562d0fb0a3ddab91c5ae7e90c01]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b21faca17b68058752d943a81f853b800562df8b2172e150953c624201c2c0f5ed3b342956cacd26f9097562d0fb0a3ddab91c5ae7e90c01]\n[sha = SHA-512]\n\n# tcId = 380\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00c152aafea3a8612ec83a7dc9448e6600ae6a772d75ad2caf19f9390e\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04f49278419e4f506889b0168b1fce1f87ee5b61efa0e73c7833eeb29cb1b334f81be8f05f3b2e98d38b030cff57947b96135ec4465c5e53f3]\n[key.wx = 00f49278419e4f506889b0168b1fce1f87ee5b61efa0e73c7833eeb29c]\n[key.wy = 00b1b334f81be8f05f3b2e98d38b030cff57947b96135ec4465c5e53f3]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004f49278419e4f506889b0168b1fce1f87ee5b61efa0e73c7833eeb29cb1b334f81be8f05f3b2e98d38b030cff57947b96135ec4465c5e53f3]\n[sha = SHA-512]\n\n# tcId = 381\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c4e158ef86cc53054f1635c74e65508206048929315e097a59f1519e2\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0475c6a886e22bc04b996d4a19575ce0c6686b449b6e05ef1301bd8ba233ab29f65df2d4144da2b21e90359a064765c95e325bb7e54ca28e40]\n[key.wx = 75c6a886e22bc04b996d4a19575ce0c6686b449b6e05ef1301bd8ba2]\n[key.wy = 33ab29f65df2d4144da2b21e90359a064765c95e325bb7e54ca28e40]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000475c6a886e22bc04b996d4a19575ce0c6686b449b6e05ef1301bd8ba233ab29f65df2d4144da2b21e90359a064765c95e325bb7e54ca28e40]\n[sha = SHA-512]\n\n# tcId = 382\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00e2ac0b24512e84f6fb015620d689d30d14736cf00c18838753c3814f\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04f554014cc14f319c18f5fa6cd739249075ff35ba3b2afdab5329ef0fd2c501f25a704addbd85c0e022748956e5998d99c387fbfd343c89e0]\n[key.wx = 00f554014cc14f319c18f5fa6cd739249075ff35ba3b2afdab5329ef0f]\n[key.wy = 00d2c501f25a704addbd85c0e022748956e5998d99c387fbfd343c89e0]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004f554014cc14f319c18f5fa6cd739249075ff35ba3b2afdab5329ef0fd2c501f25a704addbd85c0e022748956e5998d99c387fbfd343c89e0]\n[sha = SHA-512]\n\n# tcId = 383\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c6c5221f3c2de0c6fbc07ff04150679b57f57512b814f413aebafe731\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04bcfa8db704aca56feb23bd4b4049213233aa652045a0a81a2e0da64c091b359f7be7ae00a0e9777d9510f847430b5dfda878e66d4fb0d62f]\n[key.wx = 00bcfa8db704aca56feb23bd4b4049213233aa652045a0a81a2e0da64c]\n[key.wy = 091b359f7be7ae00a0e9777d9510f847430b5dfda878e66d4fb0d62f]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004bcfa8db704aca56feb23bd4b4049213233aa652045a0a81a2e0da64c091b359f7be7ae00a0e9777d9510f847430b5dfda878e66d4fb0d62f]\n[sha = SHA-512]\n\n# tcId = 384\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c221f3c2de0c6fbc07ff041506dc71b5a312063d87beb4c30c289210f\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 049fd4d828ae98056be58fa69eaf9cde98ca0ed9b415d6463fa1864d9fb2a5e41f10e8789450217daafd259f204aed87b0e26100f43f7c5bad]\n[key.wx = 009fd4d828ae98056be58fa69eaf9cde98ca0ed9b415d6463fa1864d9f]\n[key.wy = 00b2a5e41f10e8789450217daafd259f204aed87b0e26100f43f7c5bad]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00049fd4d828ae98056be58fa69eaf9cde98ca0ed9b415d6463fa1864d9fb2a5e41f10e8789450217daafd259f204aed87b0e26100f43f7c5bad]\n[sha = SHA-512]\n\n# tcId = 385\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c443e785bc18df780ffe082a0db8e36b46240c7b0f7d698618512421e\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 046123a33969f2e036fc27885f55755d391cb0c2d3fafb0c4056c1995da03bb490047e88fe7e608912a6205b65f950a8a0a360362d3339e62c]\n[key.wx = 6123a33969f2e036fc27885f55755d391cb0c2d3fafb0c4056c1995d]\n[key.wy = 00a03bb490047e88fe7e608912a6205b65f950a8a0a360362d3339e62c]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00046123a33969f2e036fc27885f55755d391cb0c2d3fafb0c4056c1995da03bb490047e88fe7e608912a6205b65f950a8a0a360362d3339e62c]\n[sha = SHA-512]\n\n# tcId = 386\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00c2de0c6fbc07ff041506dc73a74fd50136878b7e1341521b2f880b19\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04a10b7aa7785b2f2791b1d4c43e127aab5669612d740b38abaa0d306ec178f216fad379ad80baa0eac57bf9a56d446d685576371b74762382]\n[key.wx = 00a10b7aa7785b2f2791b1d4c43e127aab5669612d740b38abaa0d306e]\n[key.wy = 00c178f216fad379ad80baa0eac57bf9a56d446d685576371b74762382]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004a10b7aa7785b2f2791b1d4c43e127aab5669612d740b38abaa0d306ec178f216fad379ad80baa0eac57bf9a56d446d685576371b74762382]\n[sha = SHA-512]\n\n# tcId = 387\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d009f56aa80ae2bcf689be2c11b5db7e3a28983b4a7590692edcf5f8db6\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04e012c23c6867e9553313d0179e9db953de7c368cdb59abe05f1c52bad352a57bb59c45159352c114eeb696ec3b79caa835ef5c2ae71ddcfa]\n[key.wx = 00e012c23c6867e9553313d0179e9db953de7c368cdb59abe05f1c52ba]\n[key.wy = 00d352a57bb59c45159352c114eeb696ec3b79caa835ef5c2ae71ddcfa]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004e012c23c6867e9553313d0179e9db953de7c368cdb59abe05f1c52bad352a57bb59c45159352c114eeb696ec3b79caa835ef5c2ae71ddcfa]\n[sha = SHA-512]\n\n# tcId = 388\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c3ead55015c579ed137c58236bb70b0a2324e79109e2ffc964262f12f\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04b9ccd7f0f3594954aa729bda4be883e107e7f1226465b64c2ca7105789829d787016c5c118d3ba3317a2da0a0daaf56d3004c10962333a9f]\n[key.wx = 00b9ccd7f0f3594954aa729bda4be883e107e7f1226465b64c2ca71057]\n[key.wy = 0089829d787016c5c118d3ba3317a2da0a0daaf56d3004c10962333a9f]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b9ccd7f0f3594954aa729bda4be883e107e7f1226465b64c2ca7105789829d787016c5c118d3ba3317a2da0a0daaf56d3004c10962333a9f]\n[sha = SHA-512]\n\n# tcId = 389\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00de03ff820a836e39d3a8435219289444bbd22db7f7368f8411c27ee5\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04321a17de024fe89c1864e128b9e0af3e6b48800a70d6e802b8b6dffeb1a8ae96911ddbdeb83948a992b1b0fe316679c64814b6a45ec56fe9]\n[key.wx = 321a17de024fe89c1864e128b9e0af3e6b48800a70d6e802b8b6dffe]\n[key.wy = 00b1a8ae96911ddbdeb83948a992b1b0fe316679c64814b6a45ec56fe9]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004321a17de024fe89c1864e128b9e0af3e6b48800a70d6e802b8b6dffeb1a8ae96911ddbdeb83948a992b1b0fe316679c64814b6a45ec56fe9]\n[sha = SHA-512]\n\n# tcId = 390\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00f15605922897427b7d80ab106b4474d7fa962e970ffad666580fd5c6\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0408842f19b114d16be27bb4b6971377", + "ed6b1d0915e133a9ebf01674ee4c97738b6912ff71553c4a747c782eddd9d2a20fbeae38864d217859]\n[key.wx = 08842f19b114d16be27bb4b6971377ed6b1d0915e133a9ebf01674ee]\n[key.wy = 4c97738b6912ff71553c4a747c782eddd9d2a20fbeae38864d217859]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000408842f19b114d16be27bb4b6971377ed6b1d0915e133a9ebf01674ee4c97738b6912ff71553c4a747c782eddd9d2a20fbeae38864d217859]\n[sha = SHA-512]\n\n# tcId = 391\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c7fffffffffffffffffffffffffffb2364ae85014b149b86c741eb8be\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0484d651596fd2348f1bb5c8ae9d22c8b21c4f7509240b609abad5cc243196b67b4cfaffaf0dce25ab00bfeaa1a64821332efa6dedd87cc9e7]\n[key.wx = 0084d651596fd2348f1bb5c8ae9d22c8b21c4f7509240b609abad5cc24]\n[key.wy = 3196b67b4cfaffaf0dce25ab00bfeaa1a64821332efa6dedd87cc9e7]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000484d651596fd2348f1bb5c8ae9d22c8b21c4f7509240b609abad5cc243196b67b4cfaffaf0dce25ab00bfeaa1a64821332efa6dedd87cc9e7]\n[sha = SHA-512]\n\n# tcId = 392\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00855f5b2dc8e46ec428a593f73219cf65dae793e8346e30cc3701309c\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 048fbe39e75bc4fd8a15e4b52e4bbebe2047d54385a7117e17a4d0b2b207abdb40824538e5787c718d6548583f523f6b5bbfa239a7f622c8a0]\n[key.wx = 008fbe39e75bc4fd8a15e4b52e4bbebe2047d54385a7117e17a4d0b2b2]\n[key.wy = 07abdb40824538e5787c718d6548583f523f6b5bbfa239a7f622c8a0]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00048fbe39e75bc4fd8a15e4b52e4bbebe2047d54385a7117e17a4d0b2b207abdb40824538e5787c718d6548583f523f6b5bbfa239a7f622c8a0]\n[sha = SHA-512]\n\n# tcId = 393\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c2db5f61aea817276af2064e104c7a30e32034cb526dd0aacfa56566f\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04c336b340bc99d46c2c52df5428b6a0c4eb2da76c423530f767cc7652f3ab9981bd05d2955123935a379cbb2d4361a17d19878673e1e17dcc]\n[key.wx = 00c336b340bc99d46c2c52df5428b6a0c4eb2da76c423530f767cc7652]\n[key.wy = 00f3ab9981bd05d2955123935a379cbb2d4361a17d19878673e1e17dcc]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004c336b340bc99d46c2c52df5428b6a0c4eb2da76c423530f767cc7652f3ab9981bd05d2955123935a379cbb2d4361a17d19878673e1e17dcc]\n[sha = SHA-512]\n\n# tcId = 394\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d0084a6c7513e5f48c07fffffffffff8713f3cba1293e4f3e95597fe6bd\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04816fdcf370827e3f7771564e1aa73ed73e62556deadad89711cef663edcda0ea42235f4c9a8c13f787351ffe5ceb32f15fc0ccb24e0a409c]\n[key.wx = 00816fdcf370827e3f7771564e1aa73ed73e62556deadad89711cef663]\n[key.wy = 00edcda0ea42235f4c9a8c13f787351ffe5ceb32f15fc0ccb24e0a409c]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004816fdcf370827e3f7771564e1aa73ed73e62556deadad89711cef663edcda0ea42235f4c9a8c13f787351ffe5ceb32f15fc0ccb24e0a409c]\n[sha = SHA-512]\n\n# tcId = 395\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c6c7513e5f48c07ffffffffffffff9d21fd1b31544cb13ca86a75b25e\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 046429d2b7b07ab0d5ea352902df0efc036d7270a0a6ed39f635d04f394f7932883bc45394151324aab26ae29bbd7385fa6a42c3db84432897]\n[key.wx = 6429d2b7b07ab0d5ea352902df0efc036d7270a0a6ed39f635d04f39]\n[key.wy = 4f7932883bc45394151324aab26ae29bbd7385fa6a42c3db84432897]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00046429d2b7b07ab0d5ea352902df0efc036d7270a0a6ed39f635d04f394f7932883bc45394151324aab26ae29bbd7385fa6a42c3db84432897]\n[sha = SHA-512]\n\n# tcId = 396\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00d8ea27cbe9180fffffffffffffff3a43fa3662a899627950d4eb64bc\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04288f38fd77dd1603ff0275cb11cba280ae3408affa6a760f396f1a1ec84ca6fd772c6ac6cc523cc72c2e7e95eb6a36a66b5cca5a58ba078a]\n[key.wx = 288f38fd77dd1603ff0275cb11cba280ae3408affa6a760f396f1a1e]\n[key.wy = 00c84ca6fd772c6ac6cc523cc72c2e7e95eb6a36a66b5cca5a58ba078a]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004288f38fd77dd1603ff0275cb11cba280ae3408affa6a760f396f1a1ec84ca6fd772c6ac6cc523cc72c2e7e95eb6a36a66b5cca5a58ba078a]\n[sha = SHA-512]\n\n# tcId = 397\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c3e5f48c07fffffffffffffffffffc724968c0ecf9ed783744a7337b3\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04c769c138f9d71ffff113273b71a4afde4f9996a1c4be658a3903cf7f430e512b868b37bb96bc17a09b0ab01b262f2e23f34f00418f6b63d6]\n[key.wx = 00c769c138f9d71ffff113273b71a4afde4f9996a1c4be658a3903cf7f]\n[key.wy = 430e512b868b37bb96bc17a09b0ab01b262f2e23f34f00418f6b63d6]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004c769c138f9d71ffff113273b71a4afde4f9996a1c4be658a3903cf7f430e512b868b37bb96bc17a09b0ab01b262f2e23f34f00418f6b63d6]\n[sha = SHA-512]\n\n# tcId = 398\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00bfffffffffffffffffffffffffff3d87bb44c833bb384d0f224ccdde\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0475f007c11b93e6f46e9a815cb765990a8305d3ad8d22c76fe6b257cc71b5c1951b5d464c66df7c290cf0a4f156bbf52f1e41a79dc63abce5]\n[key.wx = 75f007c11b93e6f46e9a815cb765990a8305d3ad8d22c76fe6b257cc]\n[key.wy = 71b5c1951b5d464c66df7c290cf0a4f156bbf52f1e41a79dc63abce5]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000475f007c11b93e6f46e9a815cb765990a8305d3ad8d22c76fe6b257cc71b5c1951b5d464c66df7c290cf0a4f156bbf52f1e41a79dc63abce5]\n[sha = SHA-512]\n\n# tcId = 399\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c7fffffffffffffffffffffffffff646c95d0a029629370d8e83d717f\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 041255fb94a0f20e6faa2505c394cc3c39f07def4107127dffc4dacb6eea73c1044544a1496560bd1b049ff615e68ae0d483220327569884e1]\n[key.wx = 1255fb94a0f20e6faa2505c394cc3c39f07def4107127dffc4dacb6e]\n[key.wy = 00ea73c1044544a1496560bd1b049ff615e68ae0d483220327569884e1]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00041255fb94a0f20e6faa2505c394cc3c39f07def4107127dffc4dacb6eea73c1044544a1496560bd1b049ff615e68ae0d483220327569884e1]\n[sha = SHA-512]\n\n# tcId = 400\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c3fffffffffffffffffffffffffff8b51705c781f09ee94a2ae2e1520\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04f656a632a0804cf688446b261208f793373c5ff4454bd1e0a882113f30a25d6f586e02dd4dcbf73d96af3e483b7acb5f8f4c06450dec1982]\n[key.wx = 00f656a632a0804cf688446b261208f793373c5ff4454bd1e0a882113f]\n[key.wy = 30a25d6f586e02dd4dcbf73d96af3e483b7acb5f8f4c06450dec1982]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004f656a632a0804cf688446b261208f793373c5ff4454bd1e0a882113f30a25d6f586e02dd4dcbf73d96af3e483b7acb5f8f4c06450dec1982]\n[sha = SHA-512]\n\n# tcId = 401\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d0096dafb0d7540b93b5790327082635cd8895e1e799d5d19f92b594056\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 048fb572de4daf76702624ce4ed819d026762224e8a54215bf81b202a3f074d20e1da7232d279461732bc1bae0c5416ab9d696308622e7ffe8]\n[key.wx = 008fb572de4daf76702624ce4ed819d026762224e8a54215bf81b202a3]\n", + "[key.wy = 00f074d20e1da7232d279461732bc1bae0c5416ab9d696308622e7ffe8]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00048fb572de4daf76702624ce4ed819d026762224e8a54215bf81b202a3f074d20e1da7232d279461732bc1bae0c5416ab9d696308622e7ffe8]\n[sha = SHA-512]\n\n# tcId = 402\n# point duplication during verification\nmsg = 313233343030\nresult = valid\nsig = 303e021d00c44503dae85dd5210780f02928b3d927171c578f8603d16b240663c7021d00ec0ce3fa725c1027475a5f5bf4ee980de61c3b4875afe8b654b24ee2\nflags = PointDuplication\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 048fb572de4daf76702624ce4ed819d026762224e8a54215bf81b202a30f8b2df1e258dcd2d86b9e8cd43e451e3abe95462969cf79dd180019]\n[key.wx = 008fb572de4daf76702624ce4ed819d026762224e8a54215bf81b202a3]\n[key.wy = 0f8b2df1e258dcd2d86b9e8cd43e451e3abe95462969cf79dd180019]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00048fb572de4daf76702624ce4ed819d026762224e8a54215bf81b202a30f8b2df1e258dcd2d86b9e8cd43e451e3abe95462969cf79dd180019]\n[sha = SHA-512]\n\n# tcId = 403\n# duplication bug\nmsg = 313233343030\nresult = invalid\nsig = 303e021d00c44503dae85dd5210780f02928b3d927171c578f8603d16b240663c7021d00ec0ce3fa725c1027475a5f5bf4ee980de61c3b4875afe8b654b24ee2\nflags = PointDuplication\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04e5462d3a838d4a14de96a7b0b1071eb622ae6e71ede8f95ff01c2121368e3a90d8584e194616d3211a7541f6a0960339cab28e8bfd6b1dfd]\n[key.wx = 00e5462d3a838d4a14de96a7b0b1071eb622ae6e71ede8f95ff01c2121]\n[key.wy = 368e3a90d8584e194616d3211a7541f6a0960339cab28e8bfd6b1dfd]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004e5462d3a838d4a14de96a7b0b1071eb622ae6e71ede8f95ff01c2121368e3a90d8584e194616d3211a7541f6a0960339cab28e8bfd6b1dfd]\n[sha = SHA-512]\n\n# tcId = 404\n# comparison with point at infinity \nmsg = 313233343030\nresult = invalid\nsig = 303c021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021c33333333333333333333333333330486f9be9672d0c5d50ddf45a20c\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 045d97670c1f121f7f1ba541505609f20143b312a7bb49d376690e1831c1b4567141a7b534e21bd2f706ae034169ab9c3f8536147904de8c5f]\n[key.wx = 5d97670c1f121f7f1ba541505609f20143b312a7bb49d376690e1831]\n[key.wy = 00c1b4567141a7b534e21bd2f706ae034169ab9c3f8536147904de8c5f]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00045d97670c1f121f7f1ba541505609f20143b312a7bb49d376690e1831c1b4567141a7b534e21bd2f706ae034169ab9c3f8536147904de8c5f]\n[sha = SHA-512]\n\n# tcId = 405\n# extreme value for k and edgecase s\nmsg = 313233343030\nresult = valid\nsig = 303c021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04d2675278da2d7daa8373dd63b7aa46cb14766571c2d8098b83a102a5699b572d4b951497418a376930022d48fe59966b158fa08340e24b98]\n[key.wx = 00d2675278da2d7daa8373dd63b7aa46cb14766571c2d8098b83a102a5]\n[key.wy = 699b572d4b951497418a376930022d48fe59966b158fa08340e24b98]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004d2675278da2d7daa8373dd63b7aa46cb14766571c2d8098b83a102a5699b572d4b951497418a376930022d48fe59966b158fa08340e24b98]\n[sha = SHA-512]\n\n# tcId = 406\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303d021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021d00db6db6db6db6db6db6db6db6db6ceed4c09e84c77ebd9116e17391eb\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 045a5cd1162388348734dae20e2235ae2c464adef0a196f9aaf02482ca2ae94e8b9a024375036429b632ab485e02c5a9665b289b8a47bade8f]\n[key.wx = 5a5cd1162388348734dae20e2235ae2c464adef0a196f9aaf02482ca]\n[key.wy = 2ae94e8b9a024375036429b632ab485e02c5a9665b289b8a47bade8f]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00045a5cd1162388348734dae20e2235ae2c464adef0a196f9aaf02482ca2ae94e8b9a024375036429b632ab485e02c5a9665b289b8a47bade8f]\n[sha = SHA-512]\n\n# tcId = 407\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303c021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021c33333333333333333333333333330486f9be9672d0c5d50ddf45a20c\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04cacd93eb11a821de3d882bab7411e7c77f23c08da174189cc987dc41716fe378ab842161bc16def6e037d4ba9d30d8cb41ad30cf0656e50b]\n[key.wx = 00cacd93eb11a821de3d882bab7411e7c77f23c08da174189cc987dc41]\n[key.wy = 716fe378ab842161bc16def6e037d4ba9d30d8cb41ad30cf0656e50b]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004cacd93eb11a821de3d882bab7411e7c77f23c08da174189cc987dc41716fe378ab842161bc16def6e037d4ba9d30d8cb41ad30cf0656e50b]\n[sha = SHA-512]\n\n# tcId = 408\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303d021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021d00cccccccccccccccccccccccccccc121be6fa59cb431754377d168831\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04cf46960060453e55577f1bee6a9c4709e7cdcba45ca8020bb3536931ea4ec33309213864a1318aee0a86d8b6f0c1b9741cd6bd5dea4f4066]\n[key.wx = 00cf46960060453e55577f1bee6a9c4709e7cdcba45ca8020bb3536931]\n[key.wy = 00ea4ec33309213864a1318aee0a86d8b6f0c1b9741cd6bd5dea4f4066]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004cf46960060453e55577f1bee6a9c4709e7cdcba45ca8020bb3536931ea4ec33309213864a1318aee0a86d8b6f0c1b9741cd6bd5dea4f4066]\n[sha = SHA-512]\n\n# tcId = 409\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303c021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021c249249249249249249249249249227ce201a6b76951f982e7ae89852\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0462f4eaf3797bdc3d5d8cfaa07b5af7060e131b183ca4eded4819e561bff3eadd7b55db2dc01bd20569e6c47c9212f9b2d6793795b51e4f6c]\n[key.wx = 62f4eaf3797bdc3d5d8cfaa07b5af7060e131b183ca4eded4819e561]\n[key.wy = 00bff3eadd7b55db2dc01bd20569e6c47c9212f9b2d6793795b51e4f6c]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000462f4eaf3797bdc3d5d8cfaa07b5af7060e131b183ca4eded4819e561bff3eadd7b55db2dc01bd20569e6c47c9212f9b2d6793795b51e4f6c]\n[sha = SHA-512]\n\n# tcId = 410\n# extreme value for k\nmsg = 313233343030\nresult = valid\nsig = 303c021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021c0eb10e5ab95facded4061029d63a46f46f12947411f2ea561a592057\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04c4a4bf5ae0138587f50ab7a2c336a430527a86f59f9765c2f3f5488df9419bf9df5f121de3a32db17b49c72b606b2be5ce56acb565cc12b7]\n[key.wx = 00c4a4bf5ae0138587f50ab7a2c336a430527a86f59f9765c2f3f5488d]\n[key.wy = 00f9419bf9df5f121de3a32db17b49c72b606b2be5ce56acb565cc12b7]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004c4a4bf5ae0138587f50ab7a2c336a430527a86f59f9765c2f3f5488df9419bf9df5f121de3a32db17b49c72b606b2be5ce56acb565cc12b7]\n[sha = SHA-512]\n\n# tcId = 411\n# extreme value for k and edgecase s\nmsg = 313233343030\nresult = valid\nsig = 303d021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04e7cb5ae54dbe619ab5069f14566236b3c6b0b44f1c4c531e66d89b3e64be7fdc18789629dfddf7158f8ff27abd553bfac3f7c874bccdc31b]\n[key.wx = 00e7cb5ae54dbe619ab5069f14566236b3c6b0b44f1c4c531e66d89b3e]\n[key.wy = 64be7fdc18789629dfddf7158f8ff27abd553bfac3f7c874bccdc31b]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004e7cb5ae54dbe619ab5069f14566236b3c6b0b44f1c4c531e66d89b3e64be7fdc18789629dfddf7158f8ff27abd553bfac3f7c874bccdc31b]\n[sha = SHA-512]\n\n# tcId = 412\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303e021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021d00db6db6db6db6db6db6db6db6db6ceed4c09e84c77ebd9116e17391eb\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0430db5d8279319cf5a3b6768a0c5e5c84752f6314f735d63f6c5650cdd32fb54f74d4a5088e6774a13201683642790d2e69e55e4f47612934]\n[key.wx = 30db5d827", + "9319cf5a3b6768a0c5e5c84752f6314f735d63f6c5650cd]\n[key.wy = 00d32fb54f74d4a5088e6774a13201683642790d2e69e55e4f47612934]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000430db5d8279319cf5a3b6768a0c5e5c84752f6314f735d63f6c5650cdd32fb54f74d4a5088e6774a13201683642790d2e69e55e4f47612934]\n[sha = SHA-512]\n\n# tcId = 413\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303d021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021c33333333333333333333333333330486f9be9672d0c5d50ddf45a20c\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 047db27da4d67a2de0c78815809719bdf6976332c67ef0f3827df4adc22ab37aec2eed0d5e67acfd6a195f21032d9af71ce73e120fdda29f1a]\n[key.wx = 7db27da4d67a2de0c78815809719bdf6976332c67ef0f3827df4adc2]\n[key.wy = 2ab37aec2eed0d5e67acfd6a195f21032d9af71ce73e120fdda29f1a]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00047db27da4d67a2de0c78815809719bdf6976332c67ef0f3827df4adc22ab37aec2eed0d5e67acfd6a195f21032d9af71ce73e120fdda29f1a]\n[sha = SHA-512]\n\n# tcId = 414\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303e021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021d00cccccccccccccccccccccccccccc121be6fa59cb431754377d168831\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04d1c19d46b517bb3bd7bdf074ff975c0dbd2bde10d1ad217e58ebc8c55ac898c040a185804ddb032b48103d6c8d12043d3a4fec93aba7a6d7]\n[key.wx = 00d1c19d46b517bb3bd7bdf074ff975c0dbd2bde10d1ad217e58ebc8c5]\n[key.wy = 5ac898c040a185804ddb032b48103d6c8d12043d3a4fec93aba7a6d7]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004d1c19d46b517bb3bd7bdf074ff975c0dbd2bde10d1ad217e58ebc8c55ac898c040a185804ddb032b48103d6c8d12043d3a4fec93aba7a6d7]\n[sha = SHA-512]\n\n# tcId = 415\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303d021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021c249249249249249249249249249227ce201a6b76951f982e7ae89852\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04d95ac96ae9dbfb80911862e00a4cadbcb2359f499b53be007f0711c093d3da931acbb9242800dc521695b4f19ff2dffc3613f40bdb15c3cd]\n[key.wx = 00d95ac96ae9dbfb80911862e00a4cadbcb2359f499b53be007f0711c0]\n[key.wy = 0093d3da931acbb9242800dc521695b4f19ff2dffc3613f40bdb15c3cd]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004d95ac96ae9dbfb80911862e00a4cadbcb2359f499b53be007f0711c093d3da931acbb9242800dc521695b4f19ff2dffc3613f40bdb15c3cd]\n[sha = SHA-512]\n\n# tcId = 416\n# extreme value for k\nmsg = 313233343030\nresult = valid\nsig = 303d021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021c0eb10e5ab95facded4061029d63a46f46f12947411f2ea561a592057\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34]\n[key.wx = 00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21]\n[key.wy = 00bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34]\n[sha = SHA-512]\n\n# tcId = 417\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 303c021c43f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b0021c249249249249249249249249249227ce201a6b76951f982e7ae89851\n\n# tcId = 418\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 303d021d00bc07ff041506dc73a75086a4325211e696eb6b31da8ff5c2c728d38d021c249249249249249249249249249227ce201a6b76951f982e7ae89851\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d2142c89c774a08dc04b3dd201932bc8a5ea5f8b89bbb2a7e667aff81cd]\n[key.wx = 00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21]\n[key.wy = 42c89c774a08dc04b3dd201932bc8a5ea5f8b89bbb2a7e667aff81cd]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d2142c89c774a08dc04b3dd201932bc8a5ea5f8b89bbb2a7e667aff81cd]\n[sha = SHA-512]\n\n# tcId = 419\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 303c021c43f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b0021c249249249249249249249249249227ce201a6b76951f982e7ae89851\n\n# tcId = 420\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 303d021d00bc07ff041506dc73a75086a4325211e696eb6b31da8ff5c2c728d38d021c249249249249249249249249249227ce201a6b76951f982e7ae89851\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 044c246670658a1d41f5d77bce246cbe386ac22848e269b9d4cd67c466ddd947153d39b2d42533a460def26880408caf2dd3dd48fe888cd176]\n[key.wx = 4c246670658a1d41f5d77bce246cbe386ac22848e269b9d4cd67c466]\n[key.wy = 00ddd947153d39b2d42533a460def26880408caf2dd3dd48fe888cd176]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a00044c246670658a1d41f5d77bce246cbe386ac22848e269b9d4cd67c466ddd947153d39b2d42533a460def26880408caf2dd3dd48fe888cd176]\n[sha = SHA-512]\n\n# tcId = 421\n# pseudorandom signature\nmsg = \nresult = valid\nsig = 303e021d00f72915d6d916014279616186869a01228fcd9f1b4078353018b399ab021d00b67f2b91eeeb910381f5b461a4a39c642aea4792013d4eb63da1832b\n\n# tcId = 422\n# pseudorandom signature\nmsg = 4d7367\nresult = valid\nsig = 303e021d00a5d179c336ccdc760dfddd913cdf8ea468d0f4686f7b2d3825698ed7021d00a77f12060a4d1b94b0d1c443eae3ad6e21b7eacfdf6fbf39a2b29658\n\n# tcId = 423\n# pseudorandom signature\nmsg = 313233343030\nresult = valid\nsig = 303e021d00b7c65dce56abe24fb4592ece5ac1e6ee8353431f7452409add736884021d00e5fe5db7988931026b937dc4ef983fe446ca134d29b94ac777cde317\n\n# tcId = 424\n# pseudorandom signature\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 303d021c05c563d3a4bad874e4610adfa57777a59f995bfa06ef97bf125a4988021d0097ed68f546cf4bb4998524c18356f3af162d2bf2744be93357bc4b4b\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04aed6fcad2400c4d94e55dbb6b012ce3d4c2b46843fbe99d4289e6ecf8a24a89e71343d7d151d258d2cb690349c2d56b366dd10a600000000]\n[key.wx = 00aed6fcad2400c4d94e55dbb6b012ce3d4c2b46843fbe99d4289e6ecf]\n[key.wy = 008a24a89e71343d7d151d258d2cb690349c2d56b366dd10a600000000]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004aed6fcad2400c4d94e55dbb6b012ce3d4c2b46843fbe99d4289e6ecf8a24a89e71343d7d151d258d2cb690349c2d56b366dd10a600000000]\n[sha = SHA-512]\n\n# tcId = 425\n# y-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 303e021d00c7a6f358b7d93815189ae5d2c3ab4d4e05f43176a52dd4fc5b48a34a021d00a2458512bb8dbe6f1bd6eb01d2d77d5624e8547bf87d85fc731c0c86\n\n# tcId = 426\n# y-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c5f56ca587d16664a20dad13df85a475978e5cee81a8d0f49faaf6158021d00b64ef59d79461fe1a09a5864907435f70bd75f183afb11903f560b7c\n\n# tcId = 427\n# y-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 303e021d00dd94f5b56e9947d007e7c8efd894a5c882f1d0b5dd56c32b5b266521021d00fbc883741bd27c59958ae17ba6e4a41ad1edeca9a3ba31c8f233b5ac\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04bf19ecfe43ffe289f699f479316145b9a7f7370b9ece5ab1212174f173d528949ae9142f818bade71a960407963be0b6482a6a60ffffffff]\n[key.wx = 00bf19ecfe43ffe289f699f479316145b9a7f7370b9ece5ab1212174f1]\n[key.wy = 73d528949ae9142f818bade71a960407963be0b6482a6a60ffffffff]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004bf19ecfe43ffe289f699f479316145b9a7f7370b9ece5ab1212174f173d528949ae9142f818bade71a960407963be0b6482a6a60ffffffff]\n[sha = SHA-512]\n\n# tcId = 428\n# y-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 303e021d008071e6682c6e8a32706dc7e411503946546b31fff27dcce188ae389f021d00dc396c797d44edf794432d1da091f8c762974d8ce1f06e08ca013622\n\n# tcId = 429\n# y-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 303c021c791624e5f234b8950d509d0b456", + "ef6fa778b19dccd609d496b62a211021c6c51e846fa53d03d42f798e6bb90954f9a48c1794b47e84ac97b460a\n\n# tcId = 430\n# y-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 303c021b34befa1d25b756ce76b383a6e8753741c12a59266c2c7921ff6e8b021d00bc44e3823e4d807cbc92fa786a89e62a4b217b5fb0c0f1865d4a7e43\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0426e5abf135cb54eaaa16b69e4b0b292275344e88a09df6df80000000eab891de54e3f26ff50ab989f333dac551583d468ae623c596434af0]\n[key.wx = 26e5abf135cb54eaaa16b69e4b0b292275344e88a09df6df80000000]\n[key.wy = 00eab891de54e3f26ff50ab989f333dac551583d468ae623c596434af0]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000426e5abf135cb54eaaa16b69e4b0b292275344e88a09df6df80000000eab891de54e3f26ff50ab989f333dac551583d468ae623c596434af0]\n[sha = SHA-512]\n\n# tcId = 431\n# x-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 303c021c224a38e733ebd3fac274ecc50ecef2e7c3189be2b9d093a8dcc6fa3a021c134fa5a4f923d296b3c6dd4683d249ccf0ad272890e4149c9a0d7415\n\n# tcId = 432\n# x-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c338d07d990879ad844e24c1788e362269d8aca70500357d385768227021d00f745cc4ebaaf1cd42830026a66e5b95564cdbee5edf853bb2cc91259\n\n# tcId = 433\n# x-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 303c021c689fce4b33d8212a663640a1ae0efaa7a7d7711beba719374fe634ee021c04bd9981fa52293063076f0fd70fc31875d580ef94f020d2f95440e0\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04ec627f345545d03f8c6dbd08e575527116567fe375f9ecaaffffffff41bf705697d5f716bcf78718d5393b63a98691f4a1f24246375538fd]\n[key.wx = 00ec627f345545d03f8c6dbd08e575527116567fe375f9ecaaffffffff]\n[key.wy = 41bf705697d5f716bcf78718d5393b63a98691f4a1f24246375538fd]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004ec627f345545d03f8c6dbd08e575527116567fe375f9ecaaffffffff41bf705697d5f716bcf78718d5393b63a98691f4a1f24246375538fd]\n[sha = SHA-512]\n\n# tcId = 434\n# x-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 303c021c2a4287e01510e7fb5fed2e1ccc3f2a6929cf7d03850e49d7ae8a504a021c355c3915f3fa9637dc8001438a8c04e15d14934cabd430feb0cb5ba5\n\n# tcId = 435\n# x-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 303d021d00b5bf795a38adb052b401468ffcab81103d2d9fca2e15b8d08ab98ce8021c5ec0d2c6aec71888c941af324c7272bec192abb292f9df82a24e8a41\n\n# tcId = 436\n# x-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c100ed07f467133bf10917f7a15ab2bfda519bdbc2653b95955e22211021d00b38a081f7c2e2b775d1da868d0381c09ba1559c9613b5be7159363ad\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a00000000762d28f1fdc219184f81681fbff566d465b5f1f31e872df5]\n[key.wx = 15016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a]\n[key.wy = 762d28f1fdc219184f81681fbff566d465b5f1f31e872df5]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a00000000762d28f1fdc219184f81681fbff566d465b5f1f31e872df5]\n[sha = SHA-512]\n\n# tcId = 437\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303c021c54e6add8ac910e52c6228fe3980d8f586218334d8d859ba9a3329917021c5836cc79ec88519eab4a6b2614c501628c9fee32fbafd93e32158409\n\n# tcId = 438\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303c021c1230d5409f379584b4d548b7bccba64baf81d512a9f2e6398c4e3a66021c1937a298f8cbdfa85b8e6fcf0a12be4966d80270cade85a0c37ee6f3\n\n# tcId = 439\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303e021d00862f43b044fb32adb45e00378ba083ae761c84452054f17b1341bf5b021d0095d8d8e5e3a6cc2b0a06c792252ca11a642257721831578520f96b9e\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555affffffff89d2d70e023de6e7b07e97df400a992b9a4a0e0ce178d20c]\n[key.wx = 15016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a]\n[key.wy = 00ffffffff89d2d70e023de6e7b07e97df400a992b9a4a0e0ce178d20c]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555affffffff89d2d70e023de6e7b07e97df400a992b9a4a0e0ce178d20c]\n[sha = SHA-512]\n\n# tcId = 440\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303d021d00cb5cabb1ca01b847a6bc70558d1e5d3a204d1741bbe800f4b159af35021c3580cc85f218394130bddf1c4eac04fe96f59f14fb436686950398be\n\n# tcId = 441\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303d021d00c9d83dc04cf4ee89c405045d0fd1d704f627ca5bbe350f40b826bbc1021c74fedc9e55045e9759f2124460fdfb991dc620cfee6effc0b4adaa9e\n\n# tcId = 442\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c46dd65b6e7f10c0841841b01033a5befd3a0e78c85f1f390bb3cdf25021d00f33acea3d47cf0dd5273735b004104f6512ed641052509422c0325a7\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 0400000000f7e4713d085112112c37cdf4601ff688da796016b71a727ade5a9ec165054cc987f9dc87e9991b92e4fa649ca655eeae9f2a30e1]\n[key.wx = 00f7e4713d085112112c37cdf4601ff688da796016b71a727a]\n[key.wy = 00de5a9ec165054cc987f9dc87e9991b92e4fa649ca655eeae9f2a30e1]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a000400000000f7e4713d085112112c37cdf4601ff688da796016b71a727ade5a9ec165054cc987f9dc87e9991b92e4fa649ca655eeae9f2a30e1]\n[sha = SHA-512]\n\n# tcId = 443\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303e021d00ddb4a7e400a1e98118f474722da3f421f65a76eec61f4f7b699faf07021d00db80cba199859cdfe916d6ab3deb91d76aaf0ed554c8f9ed7e5aa59d\n\n# tcId = 444\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c4c260b546280604e4c80384721c9e803ef704e7fb70168e6730fc1f3021d00a8aceae219ac25c9f04231b4e0c171413db1d26df1c1e8430062eb2b\n\n# tcId = 445\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303e021d00f4098d2c0240e78fceabb0183df0b39e7ad3e7f5d6da1587fa09853c021d00d42412b2abaa614c95eb11f9b9346282ce3a1c93aac35ce7aa372f4a\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04ffffffffeadf7cee8d34d04cf22c8f7de35674fb2f501d242a76f72586c409309d398e60ce1e0a4c9e05a9d32627577e8ce2cc7f3afa2c3e]\n[key.wx = 00ffffffffeadf7cee8d34d04cf22c8f7de35674fb2f501d242a76f725]\n[key.wy = 0086c409309d398e60ce1e0a4c9e05a9d32627577e8ce2cc7f3afa2c3e]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004ffffffffeadf7cee8d34d04cf22c8f7de35674fb2f501d242a76f72586c409309d398e60ce1e0a4c9e05a9d32627577e8ce2cc7f3afa2c3e]\n[sha = SHA-512]\n\n# tcId = 446\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c48ddc497f9a4732c677e46c0e2bdabec54fc9d27e46ab595056db4d9021d00b8219ebbfaebc2fe4311efab0c35d4392751351bcc1971e8d01941e4\n\n# tcId = 447\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303d021d00e1abaf51d27a6d7d4c9b28078325cac2d7ce3d5403916c68903760b7021c2c45a99e2770f782fee5ca1d713eaecf07e62d53c64b7cf93de9900d\n\n# tcId = 448\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303d021d00868cd127c99e1149f7fc8d878cdfa986b62e99addea281149611ff15021c16e5953820135b7d462ce5434ef85920e973eec9e4d14d7cb3cc2a3f\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1000000000e2ab0e8495e859eb2afb00769d6e7fe626a119167c0b6bc]\n[key.wx = 00b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1]\n[key.wy = 0e2ab0e8495e859eb2afb00769d6e7fe626a119167c0b6bc]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1000000000e2ab0e8495e859eb2afb00769d6e7fe626a119167c0b6bc]\n[sha = SHA-512]\n\n# tcId = 449\n# y-coordinate of the publ", + "ic key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303e021d00a375929718ec4e6ada9c9370c51df6bdaee7ebab2a70675d42a0b6b3021d009eaf4802efaf7ca082ffbf5ed774af43792d9b3fd711c6b1c36112ff\n\n# tcId = 450\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303d021d00d97b32f3bf8bc11ec2672dd6320418beeed99527a63fe4c52199ec61021c68dd9006b03319ccbe651d0bdaf84c63356f03cb007a6865ee3e0206\n\n# tcId = 451\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 303d021d008ee5794dc2e66f2584910ea1d8361e5b53db535adcf5c1c35e128309021c5d1d8b9b996c0a488e05af14421b86e9841f0cba706027fc827d4d95\n\n[key.curve = secp224r1]\n[key.keySize = 224]\n[key.type = EcPublicKey]\n[key.uncompressed = 04b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1fffffffff1d54f17b6a17a614d504ff7962918019d95ee6e983f4945]\n[key.wx = 00b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1]\n[key.wy = 00fffffffff1d54f17b6a17a614d504ff7962918019d95ee6e983f4945]\n[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1fffffffff1d54f17b6a17a614d504ff7962918019d95ee6e983f4945]\n[sha = SHA-512]\n\n# tcId = 452\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c7999727c0cc02d88ef274012a762afcbb19e7fce19091a02acd00564021d00dbfacf67999f22c499d48a60a6fe4bbb746199c29957a1ec7a0900e0\n\n# tcId = 453\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303c021c5797c21c0162e42f69693c6c0244dfdf9218c01e9235760177b61a54021c5452c887b27fb342a8a00d27579c7195dddb73df399233ed0dea567b\n\n# tcId = 454\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 303d021c0eb9dc5d67bb0d4009544f8654977907dfe770e7fae4571d31d7b4fa021d00ab5cda53e868bff5198be4be3681b186cb0c1396d272c71f093f8b12\n\n", }; -static const size_t kLen69 = 138649; +static const size_t kLen102 = 131736; -static const char *kData69[] = { - "# Imported from Wycheproof's ecdsa_secp256r1_sha256_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: ECDSA\n# Generator version: 0.4.12\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 042927b10512bae3eddcfe467828128bad2903269919f7086069c8c4df6c732838c7787964eaac00e5921fb1498a60f4606766b3d9685001558d1a974e7341513e]\n[key.wx = 2927b10512bae3eddcfe467828128bad2903269919f7086069c8c4df6c732838]\n[key.wy = 0c7787964eaac00e5921fb1498a60f4606766b3d9685001558d1a974e7341513e]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200042927b10512bae3eddcfe467828128bad2903269919f7086069c8c4df6c732838c7787964eaac00e5921fb1498a60f4606766b3d9685001558d1a974e7341513e]\n[sha = SHA-256]\n\n# tcId = 1\n# signature malleability\nmsg = 313233343030\nresult = valid\nsig = 304402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e1802204cd60b855d442f5b3c7b11eb6c4e0ae7525fe710fab9aa7c77a67f79e6fadd76\n\n# tcId = 2\n# Legacy:ASN encoding of s misses leading 0\nmsg = 313233343030\nresult = acceptable\nsig = 304402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180220b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n# Some implementations of ECDSA and DSA incorrectly encode r and s by not\n# including leading zeros in the ASN encoding of integers when necessary. Hence,\n# some implementations (e.g. jdk) allow signatures with incorrect ASN encodings\n# assuming that the signature is otherwise valid.\n\n# tcId = 3\n# valid\nmsg = 313233343030\nresult = valid\nsig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 4\n# long form encoding of length\nmsg = 313233343030\nresult = invalid\nsig = 30814502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 5\n# long form encoding of length\nmsg = 313233343030\nresult = invalid\nsig = 30460281202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 6\n# long form encoding of length\nmsg = 313233343030\nresult = invalid\nsig = 304602202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e1802812100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 7\n# length contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 3082004502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 8\n# length contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 3047028200202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 9\n# length contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 304702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180282002100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 10\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 304602202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 11\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 304402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 12\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 304502212ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 13\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 3045021f2ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 14\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022200b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 15\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022000b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 16\n# uint32 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 3085010000004502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 17\n# uint32 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 304a028501000000202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 18\n# uint32 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 304a02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180285010000002100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 19\n# uint64 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 308901000000000000004502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 20\n# uint64 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 304e02890100000000000000202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 21\n# uint64 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 304e02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18028901000000000000002100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 22\n# length = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30847fffffff02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 23\n# length = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 304902847fffffff2ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 24\n# length = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 304902202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e1802847fffffff00b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 25\n# length = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3084ffffffff02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 26\n# length = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30490284ffffffff2ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 27\n# ", - "length = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 304902202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180284ffffffff00b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 28\n# length = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3085ffffffffff02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 29\n# length = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 304a0285ffffffffff2ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 30\n# length = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 304a02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180285ffffffffff00b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 31\n# length = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3088ffffffffffffffff02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 32\n# length = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 304d0288ffffffffffffffff2ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 33\n# length = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 304d02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180288ffffffffffffffff00b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 34\n# incorrect length\nmsg = 313233343030\nresult = invalid\nsig = 30ff02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 35\n# incorrect length\nmsg = 313233343030\nresult = invalid\nsig = 304502ff2ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 36\n# incorrect length\nmsg = 313233343030\nresult = invalid\nsig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e1802ff00b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 37\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 308002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 38\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 304502802ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 39\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18028000b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 40\n# removing sequence\nmsg = 313233343030\nresult = invalid\nsig = \n\n# tcId = 41\n# lonely sequence tag\nmsg = 313233343030\nresult = invalid\nsig = 30\n\n# tcId = 42\n# appending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 304702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0000\n\n# tcId = 43\n# prepending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 3047000002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 44\n# appending unused 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0000\n\n# tcId = 45\n# appending null value to sequence\nmsg = 313233343030\nresult = invalid\nsig = 304702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0500\n\n# tcId = 46\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 304a498177304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 47\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 30492500304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 48\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3047304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0004deadbeef\n\n# tcId = 49\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 304a222549817702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 50\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 30492224250002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 51\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 304d222202202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180004deadbeef022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 52\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 304a02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e182226498177022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 53\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 304902202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e1822252500022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 54\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 304d02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e182223022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0004deadbeef\n\n# tcId = 55\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 304daa00bb00cd00304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 56\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 304baa02aabb304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 57\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 304d2228aa00bb00cd0002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 58\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 304b2226aa02aabb02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 59\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 304d02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e182229aa00bb00cd00022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 60\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 304b02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e182227aa02aabb022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 61\n# truncated length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3081\n\n# tcId = 62\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 3080304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0000\n\n# tcId = 63\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 3049228002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180000022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 64\n# using composition with indefin", - "ite length\nmsg = 313233343030\nresult = invalid\nsig = 304902202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e182280022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0000\n\n# tcId = 65\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 3080314502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0000\n\n# tcId = 66\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 3049228003202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180000022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 67\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 304902202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e182280032100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0000\n\n# tcId = 68\n# Replacing sequence with NULL\nmsg = 313233343030\nresult = invalid\nsig = 0500\n\n# tcId = 69\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 2e4502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 70\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 2f4502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 71\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 314502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 72\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 324502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 73\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = ff4502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 74\n# dropping value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3000\n\n# tcId = 75\n# using composition for sequence\nmsg = 313233343030\nresult = invalid\nsig = 30493001023044202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 76\n# truncate sequence\nmsg = 313233343030\nresult = invalid\nsig = 304402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847\n\n# tcId = 77\n# truncate sequence\nmsg = 313233343030\nresult = invalid\nsig = 3044202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 78\n# indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 308002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0000\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 79\n# indefinite length with truncated delimiter\nmsg = 313233343030\nresult = invalid\nsig = 308002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db00\n\n# tcId = 80\n# indefinite length with additional element\nmsg = 313233343030\nresult = invalid\nsig = 308002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db05000000\n\n# tcId = 81\n# indefinite length with truncated element\nmsg = 313233343030\nresult = invalid\nsig = 308002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db060811220000\n\n# tcId = 82\n# indefinite length with garbage\nmsg = 313233343030\nresult = invalid\nsig = 308002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0000fe02beef\n\n# tcId = 83\n# indefinite length with nonempty EOC\nmsg = 313233343030\nresult = invalid\nsig = 308002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0002beef\n\n# tcId = 84\n# prepend empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 3047300002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 85\n# append empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 304702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db3000\n\n# tcId = 86\n# sequence of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3047304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 87\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 302202202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18\n\n# tcId = 88\n# repeat element in sequence\nmsg = 313233343030\nresult = invalid\nsig = 306802202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 89\n# removing integer\nmsg = 313233343030\nresult = invalid\nsig = 3023022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 90\n# lonely integer tag\nmsg = 313233343030\nresult = invalid\nsig = 302402022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 91\n# lonely integer tag\nmsg = 313233343030\nresult = invalid\nsig = 302302202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e1802\n\n# tcId = 92\n# appending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 304702222ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180000022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 93\n# appending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 304702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022300b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0000\n\n# tcId = 94\n# prepending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 3047022200002ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 95\n# prepending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 304702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180223000000b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 96\n# appending unused 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 304702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180000022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 97\n# appending null value to integer\nmsg = 313233343030\nresult = invalid\nsig = 304702222ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180500022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 98\n# appending null value to integer\nmsg = 313233343030\nresult = invalid\nsig = 304702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022300b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134", - "b49156847db0500\n\n# tcId = 99\n# truncated length of integer\nmsg = 313233343030\nresult = invalid\nsig = 30250281022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 100\n# truncated length of integer\nmsg = 313233343030\nresult = invalid\nsig = 302402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180281\n\n# tcId = 101\n# Replacing integer with NULL\nmsg = 313233343030\nresult = invalid\nsig = 30250500022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 102\n# Replacing integer with NULL\nmsg = 313233343030\nresult = invalid\nsig = 302402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180500\n\n# tcId = 103\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 304500202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 104\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 304501202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 105\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 304503202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 106\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 304504202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 107\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3045ff202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 108\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18002100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 109\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18012100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 110\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18032100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 111\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18042100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 112\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18ff2100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 113\n# dropping value of integer\nmsg = 313233343030\nresult = invalid\nsig = 30250200022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 114\n# dropping value of integer\nmsg = 313233343030\nresult = invalid\nsig = 302402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180200\n\n# tcId = 115\n# using composition for integer\nmsg = 313233343030\nresult = invalid\nsig = 3049222402012b021fa3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 116\n# using composition for integer\nmsg = 313233343030\nresult = invalid\nsig = 304902202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e1822250201000220b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 117\n# modify first byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 3045022029a3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 118\n# modify first byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022102b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 119\n# modify last byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e98022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 120\n# modify last byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b491568475b\n\n# tcId = 121\n# truncate integer\nmsg = 313233343030\nresult = invalid\nsig = 3044021f2ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 122\n# truncate integer\nmsg = 313233343030\nresult = invalid\nsig = 3044021fa3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 123\n# truncate integer\nmsg = 313233343030\nresult = invalid\nsig = 304402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022000b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847\n\n# tcId = 124\n# truncate integer\nmsg = 313233343030\nresult = invalid\nsig = 304402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180220b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 125\n# leading ff in integer\nmsg = 313233343030\nresult = invalid\nsig = 30460221ff2ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 126\n# leading ff in integer\nmsg = 313233343030\nresult = invalid\nsig = 304602202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180222ff00b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 127\n# infinity\nmsg = 313233343030\nresult = invalid\nsig = 3026090180022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 128\n# infinity\nmsg = 313233343030\nresult = invalid\nsig = 302502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18090180\n\n# tcId = 129\n# replacing integer with zero\nmsg = 313233343030\nresult = invalid\nsig = 3026020100022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 130\n# replacing integer with zero\nmsg = 313233343030\nresult = invalid\nsig = 302502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18020100\n\n# tcId = 131\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30460221012ba3a8bd6b94d5ed80a6d9d1190a436ebccc0833490686deac8635bcb9bf5369022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 132\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30460221ff2ba3a8bf6b94d5eb80a6d9d1190a436f42fe12d7fad749d4c512a036c0f908c7022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 133\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30450220d45c5741946b2a137f59262ee6f5bc91001af27a5e1117a64733950642a3d1e8022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 134\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3046022100d45c5740946b2a147f59262ee6f5bc90bd01ed280528b62b3aed5fc93f06f739022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 135\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30460221fed45c5742946b2a127f59262ee6f5bc914333f7ccb6f979215379ca434640ac97022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 136\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30460221012ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8", - "cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 137\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3046022100d45c5741946b2a137f59262ee6f5bc91001af27a5e1117a64733950642a3d1e8022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 138\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022101b329f478a2bbd0a6c384ee1493b1f518276e0e4a5375928d6fcd160c11cb6d2c\n\n# tcId = 139\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 304402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180220b329f47aa2bbd0a4c384ee1493b1f518ada018ef05465583885980861905228a\n\n# tcId = 140\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180221ff4cd60b865d442f5a3c7b11eb6c4e0ae79578ec6353a20bf783ecb4b6ea97b825\n\n# tcId = 141\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180221fe4cd60b875d442f593c7b11eb6c4e0ae7d891f1b5ac8a6d729032e9f3ee3492d4\n\n# tcId = 142\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022101b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 143\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 304402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e1802204cd60b865d442f5a3c7b11eb6c4e0ae79578ec6353a20bf783ecb4b6ea97b825\n\n# tcId = 144\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020100020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 145\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020100020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 146\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201000201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 147\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026020100022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 148\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026020100022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 149\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026020100022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 150\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026020100022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 151\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026020100022100ffffffff00000001000000000000000000000001000000000000000000000000\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 152\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3008020100090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 153\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020101020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 154\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020101020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 155\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201010201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 156\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026020101022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 157\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026020101022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 158\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026020101022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 159\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026020101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 160\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026020101022100ffffffff00000001000000000000000000000001000000000000000000000000\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 161\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3008020101090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 162\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 163\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 164\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff0201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 165\n# Signature with special ca", - "se values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30260201ff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 166\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30260201ff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 167\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30260201ff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 168\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30260201ff022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 169\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30260201ff022100ffffffff00000001000000000000000000000001000000000000000000000000\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 170\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30080201ff090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 171\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 172\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 173\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6325510201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 174\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 175\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 176\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 177\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 178\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551022100ffffffff00000001000000000000000000000001000000000000000000000000\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 179\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3028022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 180\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 181\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 182\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6325500201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 183\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 184\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 185\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 186\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 187\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550022100ffffffff00000001000000000000000000000001000000000000000000000000\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 188\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3028022100ffffffff00000", - "000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 189\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 190\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 191\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6325520201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 192\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 193\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 194\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 195\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 196\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552022100ffffffff00000001000000000000000000000001000000000000000000000000\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 197\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3028022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 198\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 199\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 200\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff0201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 201\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 202\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 203\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 204\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 205\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff022100ffffffff00000001000000000000000000000001000000000000000000000000\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 206\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3028022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 207\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000001000000000000000000000001000000000000000000000000020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 208\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000001000000000000000000000001000000000000000000000000020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 209\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff000000010000000000000000000000010000000000000000000000000201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 210\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000001000000000000000000000001000000000000000000000000022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 211\n# Signature with special case values for r and s\nmsg = 313233343030\nr", - "esult = invalid\nsig = 3046022100ffffffff00000001000000000000000000000001000000000000000000000000022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 212\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000001000000000000000000000001000000000000000000000000022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 213\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000001000000000000000000000001000000000000000000000000022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 214\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000001000000000000000000000001000000000000000000000000022100ffffffff00000001000000000000000000000001000000000000000000000000\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 215\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3028022100ffffffff00000001000000000000000000000001000000000000000000000000090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 216\n# Edge case for Shamir multiplication\nmsg = 3639383139\nresult = valid\nsig = 3044022064a1aab5000d0e804f3e2fc02bdee9be8ff312334e2ba16d11547c97711c898e02206af015971cc30be6d1a206d4e013e0997772a2f91d73286ffd683b9bb2cf4f1b\n\n# tcId = 217\n# special case hash\nmsg = 343236343739373234\nresult = valid\nsig = 3044022016aea964a2f6506d6f78c81c91fc7e8bded7d397738448de1e19a0ec580bf2660220252cd762130c6667cfe8b7bc47d27d78391e8e80c578d1cd38c3ff033be928e9\n\n# tcId = 218\n# special case hash\nmsg = 37313338363834383931\nresult = valid\nsig = 30450221009cc98be2347d469bf476dfc26b9b733df2d26d6ef524af917c665baccb23c8820220093496459effe2d8d70727b82462f61d0ec1b7847929d10ea631dacb16b56c32\n\n# tcId = 219\n# special case hash\nmsg = 3130333539333331363638\nresult = valid\nsig = 3044022073b3c90ecd390028058164524dde892703dce3dea0d53fa8093999f07ab8aa4302202f67b0b8e20636695bb7d8bf0a651c802ed25a395387b5f4188c0c4075c88634\n\n# tcId = 220\n# special case hash\nmsg = 33393439343031323135\nresult = valid\nsig = 3046022100bfab3098252847b328fadf2f89b95c851a7f0eb390763378f37e90119d5ba3dd022100bdd64e234e832b1067c2d058ccb44d978195ccebb65c2aaf1e2da9b8b4987e3b\n\n# tcId = 221\n# special case hash\nmsg = 31333434323933303739\nresult = valid\nsig = 30440220204a9784074b246d8bf8bf04a4ceb1c1f1c9aaab168b1596d17093c5cd21d2cd022051cce41670636783dc06a759c8847868a406c2506fe17975582fe648d1d88b52\n\n# tcId = 222\n# special case hash\nmsg = 33373036323131373132\nresult = valid\nsig = 3046022100ed66dc34f551ac82f63d4aa4f81fe2cb0031a91d1314f835027bca0f1ceeaa0302210099ca123aa09b13cd194a422e18d5fda167623c3f6e5d4d6abb8953d67c0c48c7\n\n# tcId = 223\n# special case hash\nmsg = 333433363838373132\nresult = valid\nsig = 30450220060b700bef665c68899d44f2356a578d126b062023ccc3c056bf0f60a237012b0221008d186c027832965f4fcc78a3366ca95dedbb410cbef3f26d6be5d581c11d3610\n\n# tcId = 224\n# special case hash\nmsg = 31333531353330333730\nresult = valid\nsig = 30460221009f6adfe8d5eb5b2c24d7aa7934b6cf29c93ea76cd313c9132bb0c8e38c96831d022100b26a9c9e40e55ee0890c944cf271756c906a33e66b5bd15e051593883b5e9902\n\n# tcId = 225\n# special case hash\nmsg = 36353533323033313236\nresult = valid\nsig = 3045022100a1af03ca91677b673ad2f33615e56174a1abf6da168cebfa8868f4ba273f16b7022020aa73ffe48afa6435cd258b173d0c2377d69022e7d098d75caf24c8c5e06b1c\n\n# tcId = 226\n# special case hash\nmsg = 31353634333436363033\nresult = valid\nsig = 3045022100fdc70602766f8eed11a6c99a71c973d5659355507b843da6e327a28c11893db902203df5349688a085b137b1eacf456a9e9e0f6d15ec0078ca60a7f83f2b10d21350\n\n# tcId = 227\n# special case hash\nmsg = 34343239353339313137\nresult = valid\nsig = 3046022100b516a314f2fce530d6537f6a6c49966c23456f63c643cf8e0dc738f7b876e675022100d39ffd033c92b6d717dd536fbc5efdf1967c4bd80954479ba66b0120cd16fff2\n\n# tcId = 228\n# special case hash\nmsg = 3130393533323631333531\nresult = valid\nsig = 304402203b2cbf046eac45842ecb7984d475831582717bebb6492fd0a485c101e29ff0a802204c9b7b47a98b0f82de512bc9313aaf51701099cac5f76e68c8595fc1c1d99258\n\n# tcId = 229\n# special case hash\nmsg = 35393837333530303431\nresult = valid\nsig = 3044022030c87d35e636f540841f14af54e2f9edd79d0312cfa1ab656c3fb15bfde48dcf022047c15a5a82d24b75c85a692bd6ecafeb71409ede23efd08e0db9abf6340677ed\n\n# tcId = 230\n# special case hash\nmsg = 33343633303036383738\nresult = valid\nsig = 3044022038686ff0fda2cef6bc43b58cfe6647b9e2e8176d168dec3c68ff262113760f520220067ec3b651f422669601662167fa8717e976e2db5e6a4cf7c2ddabb3fde9d67d\n\n# tcId = 231\n# special case hash\nmsg = 39383137333230323837\nresult = valid\nsig = 3044022044a3e23bf314f2b344fc25c7f2de8b6af3e17d27f5ee844b225985ab6e2775cf02202d48e223205e98041ddc87be532abed584f0411f5729500493c9cc3f4dd15e86\n\n# tcId = 232\n# special case hash\nmsg = 33323232303431303436\nresult = valid\nsig = 304402202ded5b7ec8e90e7bf11f967a3d95110c41b99db3b5aa8d330eb9d638781688e902207d5792c53628155e1bfc46fb1a67e3088de049c328ae1f44ec69238a009808f9\n\n# tcId = 233\n# special case hash\nmsg = 36363636333037313034\nresult = valid\nsig = 3046022100bdae7bcb580bf335efd3bc3d31870f923eaccafcd40ec2f605976f15137d8b8f022100f6dfa12f19e525270b0106eecfe257499f373a4fb318994f24838122ce7ec3c7\n\n# tcId = 234\n# special case hash\nmsg = 31303335393531383938\nresult = valid\nsig = 3045022050f9c4f0cd6940e162720957ffff513799209b78596956d21ece251c2401f1c6022100d7033a0a787d338e889defaaabb106b95a4355e411a59c32aa5167dfab244726\n\n# tcId = 235\n# special case hash\nmsg = 31383436353937313935\nresult = valid\nsig = 3045022100f612820687604fa01906066a378d67540982e29575d019aabe90924ead5c860d02203f9367702dd7dd4f75ea98afd20e328a1a99f4857b316525328230ce294b0fef\n\n# tcId = 236\n# special case hash\nmsg = 33313336303436313839\nresult = valid\nsig = 30460221009505e407657d6e8bc93db5da7aa6f5081f61980c1949f56b0f2f507da5782a7a022100c60d31904e3669738ffbeccab6c3656c08e0ed5cb92b3cfa5e7f71784f9c5021\n\n# tcId = 237\n# special case hash\nmsg = 32363633373834323534\nresult = valid\nsig = 3046022100bbd16fbbb656b6d0d83e6a7787cd691b08735aed371732723e1c68a40404517d0221009d8e35dba96028b7787d91315be675877d2d097be5e8ee34560e3e7fd25c0f00\n\n# tcId = 238\n# special case hash\nmsg = 31363532313030353234\nresult = valid\nsig = 304402202ec9760122db98fd06ea76848d35a6da442d2ceef7559a30cf57c61e92df327e02207ab271da90859479701fccf86e462ee3393fb6814c27b760c4963625c0a19878\n\n# tcId = 239\n# special case hash\nmsg = 35373438303831363936\nresult = valid\nsig = 3044022054e76b7683b6650baa6a7fc49b1c51eed9ba9dd463221f7a4f1005a89fe00c5902202ea076886c773eb937ec1cc8374b7915cfd11b1c1ae1166152f2f7806a31c8fd\n\n# tcId = 240\n# special case hash\nmsg = 36333433393133343638\nresult = valid\nsig = 304402205291deaf24659ffbbce6e3c26f6021097a74abdbb69be4fb10419c0c496c9466022065d6fcf336d27cc7cdb982bb4e4ecef5827f84742f29f10abf83469270a03dc3\n\n# tcId = 241\n# special case hash\nmsg = 31353431313033353938\nresult = valid\nsig = 30450220207a3241812d75d947419dc58efb05e8003b33fc17eb50f9d15166a88479f107022100cdee749f2e492b213ce80b32d0574f62f1c5d70793cf55e382d5caadf7592767\n\n# tcId = 242\n# special case hash\nmsg = 3130343738353830313238\nresult = valid\nsig = 304502206554e49f82a855204328ac94913bf01bbe84437a355a0a37c0dee3cf81aa7728022100aea00de2507ddaf5c94e1e126980d3df16250a2eaebc8be486effe7f22b4f929\n\n# tcId = 243\n# special case hash\nmsg = 3130353336323835353638\nresult = valid\nsig = 3046022100a54c5062648339d2bff06f71c88216c26c6e19b4d80a8c602990ac82707efdfc022100e99bbe7fcfafae3e69fd016777517aa01056317f467ad09aff09be73c9731b0d\n\n# tcId = 244\n# special case hash\nmsg = 393533393034313035\nresult = valid\nsi", - "g = 3045022100975bd7157a8d363b309f1f444012b1a1d23096593133e71b4ca8b059cff37eaf02207faa7a28b1c822baa241793f2abc930bd4c69840fe090f2aacc46786bf919622\n\n# tcId = 245\n# special case hash\nmsg = 393738383438303339\nresult = valid\nsig = 304402205694a6f84b8f875c276afd2ebcfe4d61de9ec90305afb1357b95b3e0da43885e02200dffad9ffd0b757d8051dec02ebdf70d8ee2dc5c7870c0823b6ccc7c679cbaa4\n\n# tcId = 246\n# special case hash\nmsg = 33363130363732343432\nresult = valid\nsig = 3045022100a0c30e8026fdb2b4b4968a27d16a6d08f7098f1a98d21620d7454ba9790f1ba602205e470453a8a399f15baf463f9deceb53acc5ca64459149688bd2760c65424339\n\n# tcId = 247\n# special case hash\nmsg = 31303534323430373035\nresult = valid\nsig = 30440220614ea84acf736527dd73602cd4bb4eea1dfebebd5ad8aca52aa0228cf7b99a880220737cc85f5f2d2f60d1b8183f3ed490e4de14368e96a9482c2a4dd193195c902f\n\n# tcId = 248\n# special case hash\nmsg = 35313734343438313937\nresult = valid\nsig = 3045022100bead6734ebe44b810d3fb2ea00b1732945377338febfd439a8d74dfbd0f942fa02206bb18eae36616a7d3cad35919fd21a8af4bbe7a10f73b3e036a46b103ef56e2a\n\n# tcId = 249\n# special case hash\nmsg = 31393637353631323531\nresult = valid\nsig = 30440220499625479e161dacd4db9d9ce64854c98d922cbf212703e9654fae182df9bad2022042c177cf37b8193a0131108d97819edd9439936028864ac195b64fca76d9d693\n\n# tcId = 250\n# special case hash\nmsg = 33343437323533333433\nresult = valid\nsig = 3045022008f16b8093a8fb4d66a2c8065b541b3d31e3bfe694f6b89c50fb1aaa6ff6c9b20221009d6455e2d5d1779748573b611cb95d4a21f967410399b39b535ba3e5af81ca2e\n\n# tcId = 251\n# special case hash\nmsg = 333638323634333138\nresult = valid\nsig = 3046022100be26231b6191658a19dd72ddb99ed8f8c579b6938d19bce8eed8dc2b338cb5f8022100e1d9a32ee56cffed37f0f22b2dcb57d5c943c14f79694a03b9c5e96952575c89\n\n# tcId = 252\n# special case hash\nmsg = 33323631313938363038\nresult = valid\nsig = 3045022015e76880898316b16204ac920a02d58045f36a229d4aa4f812638c455abe0443022100e74d357d3fcb5c8c5337bd6aba4178b455ca10e226e13f9638196506a1939123\n\n# tcId = 253\n# special case hash\nmsg = 39363738373831303934\nresult = valid\nsig = 30440220352ecb53f8df2c503a45f9846fc28d1d31e6307d3ddbffc1132315cc07f16dad02201348dfa9c482c558e1d05c5242ca1c39436726ecd28258b1899792887dd0a3c6\n\n# tcId = 254\n# special case hash\nmsg = 34393538383233383233\nresult = valid\nsig = 304402204a40801a7e606ba78a0da9882ab23c7677b8642349ed3d652c5bfa5f2a9558fb02203a49b64848d682ef7f605f2832f7384bdc24ed2925825bf8ea77dc5981725782\n\n# tcId = 255\n# special case hash\nmsg = 383234363337383337\nresult = valid\nsig = 3045022100eacc5e1a8304a74d2be412b078924b3bb3511bac855c05c9e5e9e44df3d61e9602207451cd8e18d6ed1885dd827714847f96ec4bb0ed4c36ce9808db8f714204f6d1\n\n# tcId = 256\n# special case hash\nmsg = 3131303230383333373736\nresult = valid\nsig = 304502202f7a5e9e5771d424f30f67fdab61e8ce4f8cd1214882adb65f7de94c31577052022100ac4e69808345809b44acb0b2bd889175fb75dd050c5a449ab9528f8f78daa10c\n\n# tcId = 257\n# special case hash\nmsg = 313333383731363438\nresult = valid\nsig = 3045022100ffcda40f792ce4d93e7e0f0e95e1a2147dddd7f6487621c30a03d710b3300219022079938b55f8a17f7ed7ba9ade8f2065a1fa77618f0b67add8d58c422c2453a49a\n\n# tcId = 258\n# special case hash\nmsg = 333232313434313632\nresult = valid\nsig = 304602210081f2359c4faba6b53d3e8c8c3fcc16a948350f7ab3a588b28c17603a431e39a8022100cd6f6a5cc3b55ead0ff695d06c6860b509e46d99fccefb9f7f9e101857f74300\n\n# tcId = 259\n# special case hash\nmsg = 3130363836363535353436\nresult = valid\nsig = 3045022100dfc8bf520445cbb8ee1596fb073ea283ea130251a6fdffa5c3f5f2aaf75ca8080220048e33efce147c9dd92823640e338e68bfd7d0dc7a4905b3a7ac711e577e90e7\n\n# tcId = 260\n# special case hash\nmsg = 3632313535323436\nresult = valid\nsig = 3046022100ad019f74c6941d20efda70b46c53db166503a0e393e932f688227688ba6a576202210093320eb7ca0710255346bdbb3102cdcf7964ef2e0988e712bc05efe16c199345\n\n# tcId = 261\n# special case hash\nmsg = 37303330383138373734\nresult = valid\nsig = 3046022100ac8096842e8add68c34e78ce11dd71e4b54316bd3ebf7fffdeb7bd5a3ebc1883022100f5ca2f4f23d674502d4caf85d187215d36e3ce9f0ce219709f21a3aac003b7a8\n\n# tcId = 262\n# special case hash\nmsg = 35393234353233373434\nresult = valid\nsig = 30440220677b2d3a59b18a5ff939b70ea002250889ddcd7b7b9d776854b4943693fb92f702206b4ba856ade7677bf30307b21f3ccda35d2f63aee81efd0bab6972cc0795db55\n\n# tcId = 263\n# special case hash\nmsg = 31343935353836363231\nresult = valid\nsig = 30450220479e1ded14bcaed0379ba8e1b73d3115d84d31d4b7c30e1f05e1fc0d5957cfb0022100918f79e35b3d89487cf634a4f05b2e0c30857ca879f97c771e877027355b2443\n\n# tcId = 264\n# special case hash\nmsg = 34303035333134343036\nresult = valid\nsig = 3044022043dfccd0edb9e280d9a58f01164d55c3d711e14b12ac5cf3b64840ead512a0a302201dbe33fa8ba84533cd5c4934365b3442ca1174899b78ef9a3199f49584389772\n\n# tcId = 265\n# special case hash\nmsg = 33303936343537353132\nresult = valid\nsig = 304402205b09ab637bd4caf0f4c7c7e4bca592fea20e9087c259d26a38bb4085f0bbff11022045b7eb467b6748af618e9d80d6fdcd6aa24964e5a13f885bca8101de08eb0d75\n\n# tcId = 266\n# special case hash\nmsg = 32373834303235363230\nresult = valid\nsig = 304502205e9b1c5a028070df5728c5c8af9b74e0667afa570a6cfa0114a5039ed15ee06f022100b1360907e2d9785ead362bb8d7bd661b6c29eeffd3c5037744edaeb9ad990c20\n\n# tcId = 267\n# special case hash\nmsg = 32363138373837343138\nresult = valid\nsig = 304502200671a0a85c2b72d54a2fb0990e34538b4890050f5a5712f6d1a7a5fb8578f32e022100db1846bab6b7361479ab9c3285ca41291808f27fd5bd4fdac720e5854713694c\n\n# tcId = 268\n# special case hash\nmsg = 31363432363235323632\nresult = valid\nsig = 304402207673f8526748446477dbbb0590a45492c5d7d69859d301abbaedb35b2095103a02203dc70ddf9c6b524d886bed9e6af02e0e4dec0d417a414fed3807ef4422913d7c\n\n# tcId = 269\n# special case hash\nmsg = 36383234313839343336\nresult = valid\nsig = 304402207f085441070ecd2bb21285089ebb1aa6450d1a06c36d3ff39dfd657a796d12b50220249712012029870a2459d18d47da9aa492a5e6cb4b2d8dafa9e4c5c54a2b9a8b\n\n# tcId = 270\n# special case hash\nmsg = 343834323435343235\nresult = valid\nsig = 3046022100914c67fb61dd1e27c867398ea7322d5ab76df04bc5aa6683a8e0f30a5d287348022100fa07474031481dda4953e3ac1959ee8cea7e66ec412b38d6c96d28f6d37304ea\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 040ad99500288d466940031d72a9f5445a4d43784640855bf0a69874d2de5fe103c5011e6ef2c42dcd50d5d3d29f99ae6eba2c80c9244f4c5422f0979ff0c3ba5e]\n[key.wx = 0ad99500288d466940031d72a9f5445a4d43784640855bf0a69874d2de5fe103]\n[key.wy = 0c5011e6ef2c42dcd50d5d3d29f99ae6eba2c80c9244f4c5422f0979ff0c3ba5e]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200040ad99500288d466940031d72a9f5445a4d43784640855bf0a69874d2de5fe103c5011e6ef2c42dcd50d5d3d29f99ae6eba2c80c9244f4c5422f0979ff0c3ba5e]\n[sha = SHA-256]\n\n# tcId = 271\n# k*G has a large x-coordinate\nmsg = 313233343030\nresult = valid\nsig = 303502104319055358e8617b0c46353d039cdaab022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254e\n\n# tcId = 272\n# r too large\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000001000000000000000000000000fffffffffffffffffffffffc022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254e\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04ab05fd9d0de26b9ce6f4819652d9fc69193d0aa398f0fba8013e09c58220455419235271228c786759095d12b75af0692dd4103f19f6a8c32f49435a1e9b8d45]\n[key.wx = 0ab05fd9d0de26b9ce6f4819652d9fc69193d0aa398f0fba8013e09c582204554]\n[key.wy = 19235271228c786759095d12b75af0692dd4103f19f6a8c32f49435a1e9b8d45]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004ab05fd9d0de26b9ce6f4819652d9fc69193d0aa398f0fba8013e09c58220455419235271228c786759095d12b75af0692dd4103f19f6a8c32f49435a1e9b8d45]\n[sha = SHA-256]\n\n# tcId = 273\n# r,s are large\nmsg = 313233343030\nresult = valid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254f022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254e\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 0480984f39a1ff38a86a68aa4201b6be5dfbfecf876219710b07badf6fdd4c6c5611feb97390d9826e7a06dfb41871c940d74415ed3cac2089f1445019bb55ed95]\n[key.wx = 080984f39a1ff38a86a68aa4201b6be5dfbfecf876219710b07badf6fdd4c6c56]\n[key.wy = 11feb97390d9826e7a06dfb41871c940d74415ed3cac2089f1445019bb55ed95]\n[keyDer = 3059301306072a8648ce3d020106082a8648", - "ce3d0301070342000480984f39a1ff38a86a68aa4201b6be5dfbfecf876219710b07badf6fdd4c6c5611feb97390d9826e7a06dfb41871c940d74415ed3cac2089f1445019bb55ed95]\n[sha = SHA-256]\n\n# tcId = 274\n# r and s^-1 have a large Hamming weight\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100909135bdb6799286170f5ead2de4f6511453fe50914f3df2de54a36383df8dd4\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 044201b4272944201c3294f5baa9a3232b6dd687495fcc19a70a95bc602b4f7c0595c37eba9ee8171c1bb5ac6feaf753bc36f463e3aef16629572c0c0a8fb0800e]\n[key.wx = 4201b4272944201c3294f5baa9a3232b6dd687495fcc19a70a95bc602b4f7c05]\n[key.wy = 095c37eba9ee8171c1bb5ac6feaf753bc36f463e3aef16629572c0c0a8fb0800e]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200044201b4272944201c3294f5baa9a3232b6dd687495fcc19a70a95bc602b4f7c0595c37eba9ee8171c1bb5ac6feaf753bc36f463e3aef16629572c0c0a8fb0800e]\n[sha = SHA-256]\n\n# tcId = 275\n# r and s^-1 have a large Hamming weight\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022027b4577ca009376f71303fd5dd227dcef5deb773ad5f5a84360644669ca249a5\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04a71af64de5126a4a4e02b7922d66ce9415ce88a4c9d25514d91082c8725ac9575d47723c8fbe580bb369fec9c2665d8e30a435b9932645482e7c9f11e872296b]\n[key.wx = 0a71af64de5126a4a4e02b7922d66ce9415ce88a4c9d25514d91082c8725ac957]\n[key.wy = 5d47723c8fbe580bb369fec9c2665d8e30a435b9932645482e7c9f11e872296b]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004a71af64de5126a4a4e02b7922d66ce9415ce88a4c9d25514d91082c8725ac9575d47723c8fbe580bb369fec9c2665d8e30a435b9932645482e7c9f11e872296b]\n[sha = SHA-256]\n\n# tcId = 276\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020105020101\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 046627cec4f0731ea23fc2931f90ebe5b7572f597d20df08fc2b31ee8ef16b15726170ed77d8d0a14fc5c9c3c4c9be7f0d3ee18f709bb275eaf2073e258fe694a5]\n[key.wx = 6627cec4f0731ea23fc2931f90ebe5b7572f597d20df08fc2b31ee8ef16b1572]\n[key.wy = 6170ed77d8d0a14fc5c9c3c4c9be7f0d3ee18f709bb275eaf2073e258fe694a5]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200046627cec4f0731ea23fc2931f90ebe5b7572f597d20df08fc2b31ee8ef16b15726170ed77d8d0a14fc5c9c3c4c9be7f0d3ee18f709bb275eaf2073e258fe694a5]\n[sha = SHA-256]\n\n# tcId = 277\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020105020103\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 045a7c8825e85691cce1f5e7544c54e73f14afc010cb731343262ca7ec5a77f5bfef6edf62a4497c1bd7b147fb6c3d22af3c39bfce95f30e13a16d3d7b2812f813]\n[key.wx = 5a7c8825e85691cce1f5e7544c54e73f14afc010cb731343262ca7ec5a77f5bf]\n[key.wy = 0ef6edf62a4497c1bd7b147fb6c3d22af3c39bfce95f30e13a16d3d7b2812f813]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200045a7c8825e85691cce1f5e7544c54e73f14afc010cb731343262ca7ec5a77f5bfef6edf62a4497c1bd7b147fb6c3d22af3c39bfce95f30e13a16d3d7b2812f813]\n[sha = SHA-256]\n\n# tcId = 278\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020105020105\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04cbe0c29132cd738364fedd603152990c048e5e2fff996d883fa6caca7978c73770af6a8ce44cb41224b2603606f4c04d188e80bff7cc31ad5189d4ab0d70e8c1]\n[key.wx = 0cbe0c29132cd738364fedd603152990c048e5e2fff996d883fa6caca7978c737]\n[key.wy = 70af6a8ce44cb41224b2603606f4c04d188e80bff7cc31ad5189d4ab0d70e8c1]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004cbe0c29132cd738364fedd603152990c048e5e2fff996d883fa6caca7978c73770af6a8ce44cb41224b2603606f4c04d188e80bff7cc31ad5189d4ab0d70e8c1]\n[sha = SHA-256]\n\n# tcId = 279\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020105020106\n\n# tcId = 280\n# r is larger than n\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632556020106\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 044be4178097002f0deab68f0d9a130e0ed33a6795d02a20796db83444b037e13920f13051e0eecdcfce4dacea0f50d1f247caa669f193c1b4075b51ae296d2d56]\n[key.wx = 4be4178097002f0deab68f0d9a130e0ed33a6795d02a20796db83444b037e139]\n[key.wy = 20f13051e0eecdcfce4dacea0f50d1f247caa669f193c1b4075b51ae296d2d56]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200044be4178097002f0deab68f0d9a130e0ed33a6795d02a20796db83444b037e13920f13051e0eecdcfce4dacea0f50d1f247caa669f193c1b4075b51ae296d2d56]\n[sha = SHA-256]\n\n# tcId = 281\n# s is larger than n\nmsg = 313233343030\nresult = invalid\nsig = 3026020105022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc75fbd8\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04d0f73792203716afd4be4329faa48d269f15313ebbba379d7783c97bf3e890d9971f4a3206605bec21782bf5e275c714417e8f566549e6bc68690d2363c89cc1]\n[key.wx = 0d0f73792203716afd4be4329faa48d269f15313ebbba379d7783c97bf3e890d9]\n[key.wy = 0971f4a3206605bec21782bf5e275c714417e8f566549e6bc68690d2363c89cc1]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004d0f73792203716afd4be4329faa48d269f15313ebbba379d7783c97bf3e890d9971f4a3206605bec21782bf5e275c714417e8f566549e6bc68690d2363c89cc1]\n[sha = SHA-256]\n\n# tcId = 282\n# small r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3027020201000221008f1e3c7862c58b16bb76eddbb76eddbb516af4f63f2d74d76e0d28c9bb75ea88\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 044838b2be35a6276a80ef9e228140f9d9b96ce83b7a254f71ccdebbb8054ce05ffa9cbc123c919b19e00238198d04069043bd660a828814051fcb8aac738a6c6b]\n[key.wx = 4838b2be35a6276a80ef9e228140f9d9b96ce83b7a254f71ccdebbb8054ce05f]\n[key.wy = 0fa9cbc123c919b19e00238198d04069043bd660a828814051fcb8aac738a6c6b]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200044838b2be35a6276a80ef9e228140f9d9b96ce83b7a254f71ccdebbb8054ce05ffa9cbc123c919b19e00238198d04069043bd660a828814051fcb8aac738a6c6b]\n[sha = SHA-256]\n\n# tcId = 283\n# smallish r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 302c02072d9b4d347952d6022100ef3043e7329581dbb3974497710ab11505ee1c87ff907beebadd195a0ffe6d7a\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 047393983ca30a520bbc4783dc9960746aab444ef520c0a8e771119aa4e74b0f64e9d7be1ab01a0bf626e709863e6a486dbaf32793afccf774e2c6cd27b1857526]\n[key.wx = 7393983ca30a520bbc4783dc9960746aab444ef520c0a8e771119aa4e74b0f64]\n[key.wy = 0e9d7be1ab01a0bf626e709863e6a486dbaf32793afccf774e2c6cd27b1857526]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200047393983ca30a520bbc4783dc9960746aab444ef520c0a8e771119aa4e74b0f64e9d7be1ab01a0bf626e709863e6a486dbaf32793afccf774e2c6cd27b1857526]\n[sha = SHA-256]\n\n# tcId = 284\n# 100-bit r and small s^-1\nmsg = 313233343030\nresult = valid\nsig = 3032020d1033e67e37b32b445580bf4eff0221008b748b74000000008b748b748b748b7466e769ad4a16d3dcd87129b8e91d1b4d\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 045ac331a1103fe966697379f356a937f350588a05477e308851b8a502d5dfcdc5fe9993df4b57939b2b8da095bf6d794265204cfe03be995a02e65d408c871c0b]\n[key.wx = 5ac331a1103fe966697379f356a937f350588a05477e308851b8a502d5dfcdc5]\n[key.wy = 0fe9993df4b57939b2b8da095bf6d794265204cfe03be995a02e65d408c871c0b]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200045ac331a1103fe966697379f356a937f350588a05477e308851b8a502d5dfcdc5fe9993df4b57939b2b8da095bf6d794265204cfe03be995a02e65d408c871c0b]\n[sha = SHA-256]\n\n# tcId = 285\n# small r and 100 bit s^-1\nmsg = 313233343030\nresult = valid\nsig = 302702020100022100ef9f6ba4d97c09d03178fa20b4aaad83be3cf9cb824a879fec3270fc4b81ef5b\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 041d209be8de2de877095a399d3904c74cc458d926e27bb8e58e5eae5767c41509dd59e04c214f7b18dce351fc2a549893a6860e80163f38cc60a4f2c9d040d8c9]\n[key.wx = 1d209be8de2de877095a399d3904c74cc458d926e27bb8e58e5eae5767c41509]\n[key.wy = 0dd59e04c214f7b18dce351fc2a549893a6860e80163f38cc60a4f2c9d", - "040d8c9]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200041d209be8de2de877095a399d3904c74cc458d926e27bb8e58e5eae5767c41509dd59e04c214f7b18dce351fc2a549893a6860e80163f38cc60a4f2c9d040d8c9]\n[sha = SHA-256]\n\n# tcId = 286\n# 100-bit r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3032020d062522bbd3ecbe7c39e93e7c25022100ef9f6ba4d97c09d03178fa20b4aaad83be3cf9cb824a879fec3270fc4b81ef5b\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04083539fbee44625e3acaafa2fcb41349392cef0633a1b8fabecee0c133b10e99915c1ebe7bf00df8535196770a58047ae2a402f26326bb7d41d4d7616337911e]\n[key.wx = 083539fbee44625e3acaafa2fcb41349392cef0633a1b8fabecee0c133b10e99]\n[key.wy = 0915c1ebe7bf00df8535196770a58047ae2a402f26326bb7d41d4d7616337911e]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004083539fbee44625e3acaafa2fcb41349392cef0633a1b8fabecee0c133b10e99915c1ebe7bf00df8535196770a58047ae2a402f26326bb7d41d4d7616337911e]\n[sha = SHA-256]\n\n# tcId = 287\n# r and s^-1 are close to n\nmsg = 313233343030\nresult = valid\nsig = 3045022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6324d50220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 048aeb368a7027a4d64abdea37390c0c1d6a26f399e2d9734de1eb3d0e1937387405bd13834715e1dbae9b875cf07bd55e1b6691c7f7536aef3b19bf7a4adf576d]\n[key.wx = 08aeb368a7027a4d64abdea37390c0c1d6a26f399e2d9734de1eb3d0e19373874]\n[key.wy = 5bd13834715e1dbae9b875cf07bd55e1b6691c7f7536aef3b19bf7a4adf576d]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200048aeb368a7027a4d64abdea37390c0c1d6a26f399e2d9734de1eb3d0e1937387405bd13834715e1dbae9b875cf07bd55e1b6691c7f7536aef3b19bf7a4adf576d]\n[sha = SHA-256]\n\n# tcId = 288\n# s == 1\nmsg = 313233343030\nresult = valid\nsig = 30250220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70020101\n\n# tcId = 289\n# s == 0\nmsg = 313233343030\nresult = invalid\nsig = 30250220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70020100\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04b533d4695dd5b8c5e07757e55e6e516f7e2c88fa0239e23f60e8ec07dd70f2871b134ee58cc583278456863f33c3a85d881f7d4a39850143e29d4eaf009afe47]\n[key.wx = 0b533d4695dd5b8c5e07757e55e6e516f7e2c88fa0239e23f60e8ec07dd70f287]\n[key.wy = 1b134ee58cc583278456863f33c3a85d881f7d4a39850143e29d4eaf009afe47]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004b533d4695dd5b8c5e07757e55e6e516f7e2c88fa0239e23f60e8ec07dd70f2871b134ee58cc583278456863f33c3a85d881f7d4a39850143e29d4eaf009afe47]\n[sha = SHA-256]\n\n# tcId = 290\n# point at infinity during verify\nmsg = 313233343030\nresult = invalid\nsig = 304402207fffffff800000007fffffffffffffffde737d56d38bcf4279dce5617e3192a80220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 0469da0364734d2e530fece94019265fefb781a0f1b08f6c8897bdf6557927c8b866d2d3c7dcd518b23d726960f069ad71a933d86ef8abbcce8b20f71e2a847002]\n[key.wx = 69da0364734d2e530fece94019265fefb781a0f1b08f6c8897bdf6557927c8b8]\n[key.wy = 66d2d3c7dcd518b23d726960f069ad71a933d86ef8abbcce8b20f71e2a847002]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000469da0364734d2e530fece94019265fefb781a0f1b08f6c8897bdf6557927c8b866d2d3c7dcd518b23d726960f069ad71a933d86ef8abbcce8b20f71e2a847002]\n[sha = SHA-256]\n\n# tcId = 291\n# u1 == 1\nmsg = 313233343030\nresult = valid\nsig = 30450220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70022100bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04d8adc00023a8edc02576e2b63e3e30621a471e2b2320620187bf067a1ac1ff3233e2b50ec09807accb36131fff95ed12a09a86b4ea9690aa32861576ba2362e1]\n[key.wx = 0d8adc00023a8edc02576e2b63e3e30621a471e2b2320620187bf067a1ac1ff32]\n[key.wy = 33e2b50ec09807accb36131fff95ed12a09a86b4ea9690aa32861576ba2362e1]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004d8adc00023a8edc02576e2b63e3e30621a471e2b2320620187bf067a1ac1ff3233e2b50ec09807accb36131fff95ed12a09a86b4ea9690aa32861576ba2362e1]\n[sha = SHA-256]\n\n# tcId = 292\n# u1 == n - 1\nmsg = 313233343030\nresult = valid\nsig = 30440220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70022044a5ad0ad0636d9f12bc9e0a6bdd5e1cbcb012ea7bf091fcec15b0c43202d52e\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 043623ac973ced0a56fa6d882f03a7d5c7edca02cfc7b2401fab3690dbe75ab7858db06908e64b28613da7257e737f39793da8e713ba0643b92e9bb3252be7f8fe]\n[key.wx = 3623ac973ced0a56fa6d882f03a7d5c7edca02cfc7b2401fab3690dbe75ab785]\n[key.wy = 08db06908e64b28613da7257e737f39793da8e713ba0643b92e9bb3252be7f8fe]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200043623ac973ced0a56fa6d882f03a7d5c7edca02cfc7b2401fab3690dbe75ab7858db06908e64b28613da7257e737f39793da8e713ba0643b92e9bb3252be7f8fe]\n[sha = SHA-256]\n\n# tcId = 293\n# u2 == 1\nmsg = 313233343030\nresult = valid\nsig = 30440220555555550000000055555555555555553ef7a8e48d07df81a693439654210c700220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04cf04ea77e9622523d894b93ff52dc3027b31959503b6fa3890e5e04263f922f1e8528fb7c006b3983c8b8400e57b4ed71740c2f3975438821199bedeaecab2e9]\n[key.wx = 0cf04ea77e9622523d894b93ff52dc3027b31959503b6fa3890e5e04263f922f1]\n[key.wy = 0e8528fb7c006b3983c8b8400e57b4ed71740c2f3975438821199bedeaecab2e9]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004cf04ea77e9622523d894b93ff52dc3027b31959503b6fa3890e5e04263f922f1e8528fb7c006b3983c8b8400e57b4ed71740c2f3975438821199bedeaecab2e9]\n[sha = SHA-256]\n\n# tcId = 294\n# u2 == n - 1\nmsg = 313233343030\nresult = valid\nsig = 30450220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70022100aaaaaaaa00000000aaaaaaaaaaaaaaaa7def51c91a0fbf034d26872ca84218e1\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04db7a2c8a1ab573e5929dc24077b508d7e683d49227996bda3e9f78dbeff773504f417f3bc9a88075c2e0aadd5a13311730cf7cc76a82f11a36eaf08a6c99a206]\n[key.wx = 0db7a2c8a1ab573e5929dc24077b508d7e683d49227996bda3e9f78dbeff77350]\n[key.wy = 4f417f3bc9a88075c2e0aadd5a13311730cf7cc76a82f11a36eaf08a6c99a206]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004db7a2c8a1ab573e5929dc24077b508d7e683d49227996bda3e9f78dbeff773504f417f3bc9a88075c2e0aadd5a13311730cf7cc76a82f11a36eaf08a6c99a206]\n[sha = SHA-256]\n\n# tcId = 295\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100e91e1ba60fdedb76a46bcb51dc0b8b4b7e019f0a28721885fa5d3a8196623397\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04dead11c7a5b396862f21974dc4752fadeff994efe9bbd05ab413765ea80b6e1f1de3f0640e8ac6edcf89cff53c40e265bb94078a343736df07aa0318fc7fe1ff]\n[key.wx = 0dead11c7a5b396862f21974dc4752fadeff994efe9bbd05ab413765ea80b6e1f]\n[key.wy = 1de3f0640e8ac6edcf89cff53c40e265bb94078a343736df07aa0318fc7fe1ff]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004dead11c7a5b396862f21974dc4752fadeff994efe9bbd05ab413765ea80b6e1f1de3f0640e8ac6edcf89cff53c40e265bb94078a343736df07aa0318fc7fe1ff]\n[sha = SHA-256]\n\n# tcId = 296\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100fdea5843ffeb73af94313ba4831b53fe24f799e525b1e8e8c87b59b95b430ad9\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04d0bc472e0d7c81ebaed3a6ef96c18613bb1fea6f994326fbe80e00dfde67c7e9986c723ea4843d48389b946f64ad56c83ad70ff17ba85335667d1bb9fa619efd]\n[key.wx = 0d0bc472e0d7c81ebaed3a6ef96c18613bb1fea6f994326fbe80e00dfde67c7e9]\n[key.wy = 0986c723ea4843d48389b946f64ad56c83ad70ff17ba85335667d1bb9fa619efd]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004d0bc472e0d7c81ebaed3a6ef96c18613bb1fea6f994326fbe80e00dfde67c7e9986c723ea4843d48389", - "b946f64ad56c83ad70ff17ba85335667d1bb9fa619efd]\n[sha = SHA-256]\n\n# tcId = 297\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022003ffcabf2f1b4d2a65190db1680d62bb994e41c5251cd73b3c3dfc5e5bafc035\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04a0a44ca947d66a2acb736008b9c08d1ab2ad03776e02640f78495d458dd51c326337fe5cf8c4604b1f1c409dc2d872d4294a4762420df43a30a2392e40426add]\n[key.wx = 0a0a44ca947d66a2acb736008b9c08d1ab2ad03776e02640f78495d458dd51c32]\n[key.wy = 6337fe5cf8c4604b1f1c409dc2d872d4294a4762420df43a30a2392e40426add]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004a0a44ca947d66a2acb736008b9c08d1ab2ad03776e02640f78495d458dd51c326337fe5cf8c4604b1f1c409dc2d872d4294a4762420df43a30a2392e40426add]\n[sha = SHA-256]\n\n# tcId = 298\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02204dfbc401f971cd304b33dfdb17d0fed0fe4c1a88ae648e0d2847f74977534989\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04c9c2115290d008b45fb65fad0f602389298c25420b775019d42b62c3ce8a96b73877d25a8080dc02d987ca730f0405c2c9dbefac46f9e601cc3f06e9713973fd]\n[key.wx = 0c9c2115290d008b45fb65fad0f602389298c25420b775019d42b62c3ce8a96b7]\n[key.wy = 3877d25a8080dc02d987ca730f0405c2c9dbefac46f9e601cc3f06e9713973fd]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004c9c2115290d008b45fb65fad0f602389298c25420b775019d42b62c3ce8a96b73877d25a8080dc02d987ca730f0405c2c9dbefac46f9e601cc3f06e9713973fd]\n[sha = SHA-256]\n\n# tcId = 299\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100bc4024761cd2ffd43dfdb17d0fed112b988977055cd3a8e54971eba9cda5ca71\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 045eca1ef4c287dddc66b8bccf1b88e8a24c0018962f3c5e7efa83bc1a5ff6033e5e79c4cb2c245b8c45abdce8a8e4da758d92a607c32cd407ecaef22f1c934a71]\n[key.wx = 5eca1ef4c287dddc66b8bccf1b88e8a24c0018962f3c5e7efa83bc1a5ff6033e]\n[key.wy = 5e79c4cb2c245b8c45abdce8a8e4da758d92a607c32cd407ecaef22f1c934a71]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200045eca1ef4c287dddc66b8bccf1b88e8a24c0018962f3c5e7efa83bc1a5ff6033e5e79c4cb2c245b8c45abdce8a8e4da758d92a607c32cd407ecaef22f1c934a71]\n[sha = SHA-256]\n\n# tcId = 300\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0220788048ed39a5ffa77bfb62fa1fda2257742bf35d128fb3459f2a0c909ee86f91\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 045caaa030e7fdf0e4936bc7ab5a96353e0a01e4130c3f8bf22d473e317029a47adeb6adc462f7058f2a20d371e9702254e9b201642005b3ceda926b42b178bef9]\n[key.wx = 5caaa030e7fdf0e4936bc7ab5a96353e0a01e4130c3f8bf22d473e317029a47a]\n[key.wy = 0deb6adc462f7058f2a20d371e9702254e9b201642005b3ceda926b42b178bef9]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200045caaa030e7fdf0e4936bc7ab5a96353e0a01e4130c3f8bf22d473e317029a47adeb6adc462f7058f2a20d371e9702254e9b201642005b3ceda926b42b178bef9]\n[sha = SHA-256]\n\n# tcId = 301\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0220476d9131fd381bd917d0fed112bc9e0a5924b5ed5b11167edd8b23582b3cb15e\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04c2fd20bac06e555bb8ac0ce69eb1ea20f83a1fc3501c8a66469b1a31f619b0986237050779f52b615bd7b8d76a25fc95ca2ed32525c75f27ffc87ac397e6cbaf]\n[key.wx = 0c2fd20bac06e555bb8ac0ce69eb1ea20f83a1fc3501c8a66469b1a31f619b098]\n[key.wy = 6237050779f52b615bd7b8d76a25fc95ca2ed32525c75f27ffc87ac397e6cbaf]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004c2fd20bac06e555bb8ac0ce69eb1ea20f83a1fc3501c8a66469b1a31f619b0986237050779f52b615bd7b8d76a25fc95ca2ed32525c75f27ffc87ac397e6cbaf]\n[sha = SHA-256]\n\n# tcId = 302\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0221008374253e3e21bd154448d0a8f640fe46fafa8b19ce78d538f6cc0a19662d3601\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 043fd6a1ca7f77fb3b0bbe726c372010068426e11ea6ae78ce17bedae4bba86ced03ce5516406bf8cfaab8745eac1cd69018ad6f50b5461872ddfc56e0db3c8ff4]\n[key.wx = 3fd6a1ca7f77fb3b0bbe726c372010068426e11ea6ae78ce17bedae4bba86ced]\n[key.wy = 3ce5516406bf8cfaab8745eac1cd69018ad6f50b5461872ddfc56e0db3c8ff4]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200043fd6a1ca7f77fb3b0bbe726c372010068426e11ea6ae78ce17bedae4bba86ced03ce5516406bf8cfaab8745eac1cd69018ad6f50b5461872ddfc56e0db3c8ff4]\n[sha = SHA-256]\n\n# tcId = 303\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0220357cfd3be4d01d413c5b9ede36cba5452c11ee7fe14879e749ae6a2d897a52d6\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 049cb8e51e27a5ae3b624a60d6dc32734e4989db20e9bca3ede1edf7b086911114b4c104ab3c677e4b36d6556e8ad5f523410a19f2e277aa895fc57322b4427544]\n[key.wx = 09cb8e51e27a5ae3b624a60d6dc32734e4989db20e9bca3ede1edf7b086911114]\n[key.wy = 0b4c104ab3c677e4b36d6556e8ad5f523410a19f2e277aa895fc57322b4427544]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200049cb8e51e27a5ae3b624a60d6dc32734e4989db20e9bca3ede1edf7b086911114b4c104ab3c677e4b36d6556e8ad5f523410a19f2e277aa895fc57322b4427544]\n[sha = SHA-256]\n\n# tcId = 304\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022029798c5c0ee287d4a5e8e6b799fd86b8df5225298e6ffc807cd2f2bc27a0a6d8\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04a3e52c156dcaf10502620b7955bc2b40bc78ef3d569e1223c262512d8f49602a4a2039f31c1097024ad3cc86e57321de032355463486164cf192944977df147f]\n[key.wx = 0a3e52c156dcaf10502620b7955bc2b40bc78ef3d569e1223c262512d8f49602a]\n[key.wy = 4a2039f31c1097024ad3cc86e57321de032355463486164cf192944977df147f]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004a3e52c156dcaf10502620b7955bc2b40bc78ef3d569e1223c262512d8f49602a4a2039f31c1097024ad3cc86e57321de032355463486164cf192944977df147f]\n[sha = SHA-256]\n\n# tcId = 305\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02200b70f22c781092452dca1a5711fa3a5a1f72add1bf52c2ff7cae4820b30078dd\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04f19b78928720d5bee8e670fb90010fb15c37bf91b58a5157c3f3c059b2655e88cf701ec962fb4a11dcf273f5dc357e58468560c7cfeb942d074abd4329260509]\n[key.wx = 0f19b78928720d5bee8e670fb90010fb15c37bf91b58a5157c3f3c059b2655e88]\n[key.wy = 0cf701ec962fb4a11dcf273f5dc357e58468560c7cfeb942d074abd4329260509]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004f19b78928720d5bee8e670fb90010fb15c37bf91b58a5157c3f3c059b2655e88cf701ec962fb4a11dcf273f5dc357e58468560c7cfeb942d074abd4329260509]\n[sha = SHA-256]\n\n# tcId = 306\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022016e1e458f021248a5b9434ae23f474b43ee55ba37ea585fef95c90416600f1ba\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 0483a744459ecdfb01a5cf52b27a05bb7337482d242f235d7b4cb89345545c90a8c05d49337b9649813287de9ffe90355fd905df5f3c32945828121f37cc50de6e]\n[key.wx = 083a744459ecdfb01a5cf52b27a05bb7337482d242f235d7b4cb89345545c90a8]\n[key.wy = 0c05d49337b9649813287de9ffe90355fd905df5f3c32945828121f37cc50de6e]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000483a744459ecdfb01a5cf52b27a05bb7337482d242f235d7b4cb89345545c90a8c05d49337b9649813287de9ffe90355fd905df5f3c32945828121f37cc50de6e]\n[sha = SHA-256]\n\n# tcId = 307\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304402207fffffffffffffffffffffffffffffffffffffffffffffffffffff", - "fffffffffd02202252d6856831b6cf895e4f0535eeaf0e5e5809753df848fe760ad86219016a97\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04dd13c6b34c56982ddae124f039dfd23f4b19bbe88cee8e528ae51e5d6f3a21d7bfad4c2e6f263fe5eb59ca974d039fc0e4c3345692fb5320bdae4bd3b42a45ff]\n[key.wx = 0dd13c6b34c56982ddae124f039dfd23f4b19bbe88cee8e528ae51e5d6f3a21d7]\n[key.wy = 0bfad4c2e6f263fe5eb59ca974d039fc0e4c3345692fb5320bdae4bd3b42a45ff]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004dd13c6b34c56982ddae124f039dfd23f4b19bbe88cee8e528ae51e5d6f3a21d7bfad4c2e6f263fe5eb59ca974d039fc0e4c3345692fb5320bdae4bd3b42a45ff]\n[sha = SHA-256]\n\n# tcId = 308\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02210081ffe55f178da695b28c86d8b406b15dab1a9e39661a3ae017fbe390ac0972c3\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 0467e6f659cdde869a2f65f094e94e5b4dfad636bbf95192feeed01b0f3deb7460a37e0a51f258b7aeb51dfe592f5cfd5685bbe58712c8d9233c62886437c38ba0]\n[key.wx = 67e6f659cdde869a2f65f094e94e5b4dfad636bbf95192feeed01b0f3deb7460]\n[key.wy = 0a37e0a51f258b7aeb51dfe592f5cfd5685bbe58712c8d9233c62886437c38ba0]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000467e6f659cdde869a2f65f094e94e5b4dfad636bbf95192feeed01b0f3deb7460a37e0a51f258b7aeb51dfe592f5cfd5685bbe58712c8d9233c62886437c38ba0]\n[sha = SHA-256]\n\n# tcId = 309\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02207fffffffaaaaaaaaffffffffffffffffe9a2538f37b28a2c513dee40fecbb71a\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 042eb6412505aec05c6545f029932087e490d05511e8ec1f599617bb367f9ecaaf805f51efcc4803403f9b1ae0124890f06a43fedcddb31830f6669af292895cb0]\n[key.wx = 2eb6412505aec05c6545f029932087e490d05511e8ec1f599617bb367f9ecaaf]\n[key.wy = 0805f51efcc4803403f9b1ae0124890f06a43fedcddb31830f6669af292895cb0]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200042eb6412505aec05c6545f029932087e490d05511e8ec1f599617bb367f9ecaaf805f51efcc4803403f9b1ae0124890f06a43fedcddb31830f6669af292895cb0]\n[sha = SHA-256]\n\n# tcId = 310\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100b62f26b5f2a2b26f6de86d42ad8a13da3ab3cccd0459b201de009e526adf21f2\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 0484db645868eab35e3a9fd80e056e2e855435e3a6b68d75a50a854625fe0d7f356d2589ac655edc9a11ef3e075eddda9abf92e72171570ef7bf43a2ee39338cfe]\n[key.wx = 084db645868eab35e3a9fd80e056e2e855435e3a6b68d75a50a854625fe0d7f35]\n[key.wy = 6d2589ac655edc9a11ef3e075eddda9abf92e72171570ef7bf43a2ee39338cfe]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000484db645868eab35e3a9fd80e056e2e855435e3a6b68d75a50a854625fe0d7f356d2589ac655edc9a11ef3e075eddda9abf92e72171570ef7bf43a2ee39338cfe]\n[sha = SHA-256]\n\n# tcId = 311\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100bb1d9ac949dd748cd02bbbe749bd351cd57b38bb61403d700686aa7b4c90851e\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 0491b9e47c56278662d75c0983b22ca8ea6aa5059b7a2ff7637eb2975e386ad66349aa8ff283d0f77c18d6d11dc062165fd13c3c0310679c1408302a16854ecfbd]\n[key.wx = 091b9e47c56278662d75c0983b22ca8ea6aa5059b7a2ff7637eb2975e386ad663]\n[key.wy = 49aa8ff283d0f77c18d6d11dc062165fd13c3c0310679c1408302a16854ecfbd]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000491b9e47c56278662d75c0983b22ca8ea6aa5059b7a2ff7637eb2975e386ad66349aa8ff283d0f77c18d6d11dc062165fd13c3c0310679c1408302a16854ecfbd]\n[sha = SHA-256]\n\n# tcId = 312\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022066755a00638cdaec1c732513ca0234ece52545dac11f816e818f725b4f60aaf2\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04f3ec2f13caf04d0192b47fb4c5311fb6d4dc6b0a9e802e5327f7ec5ee8e4834df97e3e468b7d0db867d6ecfe81e2b0f9531df87efdb47c1338ac321fefe5a432]\n[key.wx = 0f3ec2f13caf04d0192b47fb4c5311fb6d4dc6b0a9e802e5327f7ec5ee8e4834d]\n[key.wy = 0f97e3e468b7d0db867d6ecfe81e2b0f9531df87efdb47c1338ac321fefe5a432]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004f3ec2f13caf04d0192b47fb4c5311fb6d4dc6b0a9e802e5327f7ec5ee8e4834df97e3e468b7d0db867d6ecfe81e2b0f9531df87efdb47c1338ac321fefe5a432]\n[sha = SHA-256]\n\n# tcId = 313\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022055a00c9fcdaebb6032513ca0234ecfffe98ebe492fdf02e48ca48e982beb3669\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04d92b200aefcab6ac7dafd9acaf2fa10b3180235b8f46b4503e4693c670fccc885ef2f3aebf5b317475336256768f7c19efb7352d27e4cccadc85b6b8ab922c72]\n[key.wx = 0d92b200aefcab6ac7dafd9acaf2fa10b3180235b8f46b4503e4693c670fccc88]\n[key.wy = 5ef2f3aebf5b317475336256768f7c19efb7352d27e4cccadc85b6b8ab922c72]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004d92b200aefcab6ac7dafd9acaf2fa10b3180235b8f46b4503e4693c670fccc885ef2f3aebf5b317475336256768f7c19efb7352d27e4cccadc85b6b8ab922c72]\n[sha = SHA-256]\n\n# tcId = 314\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100ab40193f9b5d76c064a27940469d9fffd31d7c925fbe05c919491d3057d66cd2\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 040a88361eb92ecca2625b38e5f98bbabb96bf179b3d76fc48140a3bcd881523cde6bdf56033f84a5054035597375d90866aa2c96b86a41ccf6edebf47298ad489]\n[key.wx = 0a88361eb92ecca2625b38e5f98bbabb96bf179b3d76fc48140a3bcd881523cd]\n[key.wy = 0e6bdf56033f84a5054035597375d90866aa2c96b86a41ccf6edebf47298ad489]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200040a88361eb92ecca2625b38e5f98bbabb96bf179b3d76fc48140a3bcd881523cde6bdf56033f84a5054035597375d90866aa2c96b86a41ccf6edebf47298ad489]\n[sha = SHA-256]\n\n# tcId = 315\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100ca0234ebb5fdcb13ca0234ecffffffffcb0dadbbc7f549f8a26b4408d0dc8600\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04d0fb17ccd8fafe827e0c1afc5d8d80366e2b20e7f14a563a2ba50469d84375e868612569d39e2bb9f554355564646de99ac602cc6349cf8c1e236a7de7637d93]\n[key.wx = 0d0fb17ccd8fafe827e0c1afc5d8d80366e2b20e7f14a563a2ba50469d84375e8]\n[key.wy = 68612569d39e2bb9f554355564646de99ac602cc6349cf8c1e236a7de7637d93]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004d0fb17ccd8fafe827e0c1afc5d8d80366e2b20e7f14a563a2ba50469d84375e868612569d39e2bb9f554355564646de99ac602cc6349cf8c1e236a7de7637d93]\n[sha = SHA-256]\n\n# tcId = 316\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100bfffffff3ea3677e082b9310572620ae19933a9e65b285598711c77298815ad3\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04836f33bbc1dc0d3d3abbcef0d91f11e2ac4181076c9af0a22b1e4309d3edb2769ab443ff6f901e30c773867582997c2bec2b0cb8120d760236f3a95bbe881f75]\n[key.wx = 0836f33bbc1dc0d3d3abbcef0d91f11e2ac4181076c9af0a22b1e4309d3edb276]\n[key.wy = 09ab443ff6f901e30c773867582997c2bec2b0cb8120d760236f3a95bbe881f75]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004836f33bbc1dc0d3d3abbcef0d91f11e2ac4181076c9af0a22b1e4309d3edb2769ab443ff6f901e30c773867582997c2bec2b0cb8120d760236f3a95bbe881f75]\n[sha = SHA-256]\n\n# tcId = 317\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0220266666663bbbbbbbe6666666666666665b37902e023fab7c8f055d86e5cc41f4\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 0492f99fbe973ed4a2", - "99719baee4b432741237034dec8d72ba5103cb33e55feeb8033dd0e91134c734174889f3ebcf1b7a1ac05767289280ee7a794cebd6e69697]\n[key.wx = 092f99fbe973ed4a299719baee4b432741237034dec8d72ba5103cb33e55feeb8]\n[key.wy = 33dd0e91134c734174889f3ebcf1b7a1ac05767289280ee7a794cebd6e69697]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000492f99fbe973ed4a299719baee4b432741237034dec8d72ba5103cb33e55feeb8033dd0e91134c734174889f3ebcf1b7a1ac05767289280ee7a794cebd6e69697]\n[sha = SHA-256]\n\n# tcId = 318\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100bfffffff36db6db7a492492492492492146c573f4c6dfc8d08a443e258970b09\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04d35ba58da30197d378e618ec0fa7e2e2d12cffd73ebbb2049d130bba434af09eff83986e6875e41ea432b7585a49b3a6c77cbb3c47919f8e82874c794635c1d2]\n[key.wx = 0d35ba58da30197d378e618ec0fa7e2e2d12cffd73ebbb2049d130bba434af09e]\n[key.wy = 0ff83986e6875e41ea432b7585a49b3a6c77cbb3c47919f8e82874c794635c1d2]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004d35ba58da30197d378e618ec0fa7e2e2d12cffd73ebbb2049d130bba434af09eff83986e6875e41ea432b7585a49b3a6c77cbb3c47919f8e82874c794635c1d2]\n[sha = SHA-256]\n\n# tcId = 319\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100bfffffff2aaaaaab7fffffffffffffffc815d0e60b3e596ecb1ad3a27cfd49c4\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 048651ce490f1b46d73f3ff475149be29136697334a519d7ddab0725c8d0793224e11c65bd8ca92dc8bc9ae82911f0b52751ce21dd9003ae60900bd825f590cc28]\n[key.wx = 08651ce490f1b46d73f3ff475149be29136697334a519d7ddab0725c8d0793224]\n[key.wy = 0e11c65bd8ca92dc8bc9ae82911f0b52751ce21dd9003ae60900bd825f590cc28]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200048651ce490f1b46d73f3ff475149be29136697334a519d7ddab0725c8d0793224e11c65bd8ca92dc8bc9ae82911f0b52751ce21dd9003ae60900bd825f590cc28]\n[sha = SHA-256]\n\n# tcId = 320\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02207fffffff55555555ffffffffffffffffd344a71e6f651458a27bdc81fd976e37\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 046d8e1b12c831a0da8795650ff95f101ed921d9e2f72b15b1cdaca9826b9cfc6def6d63e2bc5c089570394a4bc9f892d5e6c7a6a637b20469a58c106ad486bf37]\n[key.wx = 6d8e1b12c831a0da8795650ff95f101ed921d9e2f72b15b1cdaca9826b9cfc6d]\n[key.wy = 0ef6d63e2bc5c089570394a4bc9f892d5e6c7a6a637b20469a58c106ad486bf37]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200046d8e1b12c831a0da8795650ff95f101ed921d9e2f72b15b1cdaca9826b9cfc6def6d63e2bc5c089570394a4bc9f892d5e6c7a6a637b20469a58c106ad486bf37]\n[sha = SHA-256]\n\n# tcId = 321\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02203fffffff800000007fffffffffffffffde737d56d38bcf4279dce5617e3192aa\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 040ae580bae933b4ef2997cbdbb0922328ca9a410f627a0f7dff24cb4d920e15428911e7f8cc365a8a88eb81421a361ccc2b99e309d8dcd9a98ba83c3949d893e3]\n[key.wx = 0ae580bae933b4ef2997cbdbb0922328ca9a410f627a0f7dff24cb4d920e1542]\n[key.wy = 08911e7f8cc365a8a88eb81421a361ccc2b99e309d8dcd9a98ba83c3949d893e3]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200040ae580bae933b4ef2997cbdbb0922328ca9a410f627a0f7dff24cb4d920e15428911e7f8cc365a8a88eb81421a361ccc2b99e309d8dcd9a98ba83c3949d893e3]\n[sha = SHA-256]\n\n# tcId = 322\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02205d8ecd64a4eeba466815ddf3a4de9a8e6abd9c5db0a01eb80343553da648428f\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 045b812fd521aafa69835a849cce6fbdeb6983b442d2444fe70e134c027fc46963838a40f2a36092e9004e92d8d940cf5638550ce672ce8b8d4e15eba5499249e9]\n[key.wx = 5b812fd521aafa69835a849cce6fbdeb6983b442d2444fe70e134c027fc46963]\n[key.wy = 0838a40f2a36092e9004e92d8d940cf5638550ce672ce8b8d4e15eba5499249e9]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200045b812fd521aafa69835a849cce6fbdeb6983b442d2444fe70e134c027fc46963838a40f2a36092e9004e92d8d940cf5638550ce672ce8b8d4e15eba5499249e9]\n[sha = SHA-256]\n\n# tcId = 323\n# point duplication during verification\nmsg = 313233343030\nresult = valid\nsig = 304502206f2347cab7dd76858fe0555ac3bc99048c4aacafdfb6bcbe05ea6c42c4934569022100bb726660235793aa9957a61e76e00c2c435109cf9a15dd624d53f4301047856b\n# Some implementations of ECDSA do not handle duplication and points at infinity\n# correctly. This is a test vector that has been specially crafted to check for\n# such an omission.\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 045b812fd521aafa69835a849cce6fbdeb6983b442d2444fe70e134c027fc469637c75bf0c5c9f6d17ffb16d2726bf30a9c7aaf31a8d317472b1ea145ab66db616]\n[key.wx = 5b812fd521aafa69835a849cce6fbdeb6983b442d2444fe70e134c027fc46963]\n[key.wy = 7c75bf0c5c9f6d17ffb16d2726bf30a9c7aaf31a8d317472b1ea145ab66db616]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200045b812fd521aafa69835a849cce6fbdeb6983b442d2444fe70e134c027fc469637c75bf0c5c9f6d17ffb16d2726bf30a9c7aaf31a8d317472b1ea145ab66db616]\n[sha = SHA-256]\n\n# tcId = 324\n# duplication bug\nmsg = 313233343030\nresult = invalid\nsig = 304502206f2347cab7dd76858fe0555ac3bc99048c4aacafdfb6bcbe05ea6c42c4934569022100bb726660235793aa9957a61e76e00c2c435109cf9a15dd624d53f4301047856b\n# Some implementations of ECDSA do not handle duplication and points at infinity\n# correctly. This is a test vector that has been specially crafted to check for\n# such an omission.\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 046adda82b90261b0f319faa0d878665a6b6da497f09c903176222c34acfef72a647e6f50dcc40ad5d9b59f7602bb222fad71a41bf5e1f9df4959a364c62e488d9]\n[key.wx = 6adda82b90261b0f319faa0d878665a6b6da497f09c903176222c34acfef72a6]\n[key.wy = 47e6f50dcc40ad5d9b59f7602bb222fad71a41bf5e1f9df4959a364c62e488d9]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200046adda82b90261b0f319faa0d878665a6b6da497f09c903176222c34acfef72a647e6f50dcc40ad5d9b59f7602bb222fad71a41bf5e1f9df4959a364c62e488d9]\n[sha = SHA-256]\n\n# tcId = 325\n# point with x-coordinate 0\nmsg = 313233343030\nresult = invalid\nsig = 30250201010220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 042fca0d0a47914de77ed56e7eccc3276a601120c6df0069c825c8f6a01c9f382065f3450a1d17c6b24989a39beb1c7decfca8384fbdc294418e5d807b3c6ed7de]\n[key.wx = 2fca0d0a47914de77ed56e7eccc3276a601120c6df0069c825c8f6a01c9f3820]\n[key.wy = 65f3450a1d17c6b24989a39beb1c7decfca8384fbdc294418e5d807b3c6ed7de]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200042fca0d0a47914de77ed56e7eccc3276a601120c6df0069c825c8f6a01c9f382065f3450a1d17c6b24989a39beb1c7decfca8384fbdc294418e5d807b3c6ed7de]\n[sha = SHA-256]\n\n# tcId = 326\n# point with x-coordinate 0\nmsg = 313233343030\nresult = invalid\nsig = 3045022101000000000000000000000000000000000000000000000000000000000000000002203333333300000000333333333333333325c7cbbc549e52e763f1f55a327a3aa9\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04dd86d3b5f4a13e8511083b78002081c53ff467f11ebd98a51a633db76665d25045d5c8200c89f2fa10d849349226d21d8dfaed6ff8d5cb3e1b7e17474ebc18f7]\n[key.wx = 0dd86d3b5f4a13e8511083b78002081c53ff467f11ebd98a51a633db76665d250]\n[key.wy = 45d5c8200c89f2fa10d849349226d21d8dfaed6ff8d5cb3e1b7e17474ebc18f7]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004dd86d3b5f4a13e8511083b78002081c53ff467f11ebd98a51a633db76665d25045d5c8200c89f2fa10d849349226d21d8dfaed6ff8d5cb3e1b7e17474ebc18f7]\n[sha = SHA-256]\n\n# tcId = 327\n# comparison with point at infinity \nmsg = 313233343030\nresult = invalid\nsig = 30440220555555550000000055555555555555553ef7a8e48d07df81a693439654210c700220333", - "3333300000000333333333333333325c7cbbc549e52e763f1f55a327a3aa9\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 044fea55b32cb32aca0c12c4cd0abfb4e64b0f5a516e578c016591a93f5a0fbcc5d7d3fd10b2be668c547b212f6bb14c88f0fecd38a8a4b2c785ed3be62ce4b280]\n[key.wx = 4fea55b32cb32aca0c12c4cd0abfb4e64b0f5a516e578c016591a93f5a0fbcc5]\n[key.wy = 0d7d3fd10b2be668c547b212f6bb14c88f0fecd38a8a4b2c785ed3be62ce4b280]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200044fea55b32cb32aca0c12c4cd0abfb4e64b0f5a516e578c016591a93f5a0fbcc5d7d3fd10b2be668c547b212f6bb14c88f0fecd38a8a4b2c785ed3be62ce4b280]\n[sha = SHA-256]\n\n# tcId = 328\n# extreme value for k and edgecase s\nmsg = 313233343030\nresult = valid\nsig = 304402207cf27b188d034f7e8a52380304b51ac3c08969e277f21b35a60b48fc476699780220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04c6a771527024227792170a6f8eee735bf32b7f98af669ead299802e32d7c3107bc3b4b5e65ab887bbd343572b3e5619261fe3a073e2ffd78412f726867db589e]\n[key.wx = 0c6a771527024227792170a6f8eee735bf32b7f98af669ead299802e32d7c3107]\n[key.wy = 0bc3b4b5e65ab887bbd343572b3e5619261fe3a073e2ffd78412f726867db589e]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004c6a771527024227792170a6f8eee735bf32b7f98af669ead299802e32d7c3107bc3b4b5e65ab887bbd343572b3e5619261fe3a073e2ffd78412f726867db589e]\n[sha = SHA-256]\n\n# tcId = 329\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 304502207cf27b188d034f7e8a52380304b51ac3c08969e277f21b35a60b48fc47669978022100b6db6db6249249254924924924924924625bd7a09bec4ca81bcdd9f8fd6b63cc\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04851c2bbad08e54ec7a9af99f49f03644d6ec6d59b207fec98de85a7d15b956efcee9960283045075684b410be8d0f7494b91aa2379f60727319f10ddeb0fe9d6]\n[key.wx = 0851c2bbad08e54ec7a9af99f49f03644d6ec6d59b207fec98de85a7d15b956ef]\n[key.wy = 0cee9960283045075684b410be8d0f7494b91aa2379f60727319f10ddeb0fe9d6]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004851c2bbad08e54ec7a9af99f49f03644d6ec6d59b207fec98de85a7d15b956efcee9960283045075684b410be8d0f7494b91aa2379f60727319f10ddeb0fe9d6]\n[sha = SHA-256]\n\n# tcId = 330\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 304502207cf27b188d034f7e8a52380304b51ac3c08969e277f21b35a60b48fc47669978022100cccccccc00000000cccccccccccccccc971f2ef152794b9d8fc7d568c9e8eaa7\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04f6417c8a670584e388676949e53da7fc55911ff68318d1bf3061205acb19c48f8f2b743df34ad0f72674acb7505929784779cd9ac916c3669ead43026ab6d43f]\n[key.wx = 0f6417c8a670584e388676949e53da7fc55911ff68318d1bf3061205acb19c48f]\n[key.wy = 08f2b743df34ad0f72674acb7505929784779cd9ac916c3669ead43026ab6d43f]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004f6417c8a670584e388676949e53da7fc55911ff68318d1bf3061205acb19c48f8f2b743df34ad0f72674acb7505929784779cd9ac916c3669ead43026ab6d43f]\n[sha = SHA-256]\n\n# tcId = 331\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 304402207cf27b188d034f7e8a52380304b51ac3c08969e277f21b35a60b48fc4766997802203333333300000000333333333333333325c7cbbc549e52e763f1f55a327a3aaa\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04501421277be45a5eefec6c639930d636032565af420cf3373f557faa7f8a06438673d6cb6076e1cfcdc7dfe7384c8e5cac08d74501f2ae6e89cad195d0aa1371]\n[key.wx = 501421277be45a5eefec6c639930d636032565af420cf3373f557faa7f8a0643]\n[key.wy = 08673d6cb6076e1cfcdc7dfe7384c8e5cac08d74501f2ae6e89cad195d0aa1371]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004501421277be45a5eefec6c639930d636032565af420cf3373f557faa7f8a06438673d6cb6076e1cfcdc7dfe7384c8e5cac08d74501f2ae6e89cad195d0aa1371]\n[sha = SHA-256]\n\n# tcId = 332\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 304402207cf27b188d034f7e8a52380304b51ac3c08969e277f21b35a60b48fc47669978022049249248db6db6dbb6db6db6db6db6db5a8b230d0b2b51dcd7ebf0c9fef7c185\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 040d935bf9ffc115a527735f729ca8a4ca23ee01a4894adf0e3415ac84e808bb343195a3762fea29ed38912bd9ea6c4fde70c3050893a4375850ce61d82eba33c5]\n[key.wx = 0d935bf9ffc115a527735f729ca8a4ca23ee01a4894adf0e3415ac84e808bb34]\n[key.wy = 3195a3762fea29ed38912bd9ea6c4fde70c3050893a4375850ce61d82eba33c5]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200040d935bf9ffc115a527735f729ca8a4ca23ee01a4894adf0e3415ac84e808bb343195a3762fea29ed38912bd9ea6c4fde70c3050893a4375850ce61d82eba33c5]\n[sha = SHA-256]\n\n# tcId = 333\n# extreme value for k\nmsg = 313233343030\nresult = valid\nsig = 304402207cf27b188d034f7e8a52380304b51ac3c08969e277f21b35a60b48fc47669978022016a4502e2781e11ac82cbc9d1edd8c981584d13e18411e2f6e0478c34416e3bb\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 045e59f50708646be8a589355014308e60b668fb670196206c41e748e64e4dca215de37fee5c97bcaf7144d5b459982f52eeeafbdf03aacbafef38e213624a01de]\n[key.wx = 5e59f50708646be8a589355014308e60b668fb670196206c41e748e64e4dca21]\n[key.wy = 5de37fee5c97bcaf7144d5b459982f52eeeafbdf03aacbafef38e213624a01de]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200045e59f50708646be8a589355014308e60b668fb670196206c41e748e64e4dca215de37fee5c97bcaf7144d5b459982f52eeeafbdf03aacbafef38e213624a01de]\n[sha = SHA-256]\n\n# tcId = 334\n# extreme value for k and edgecase s\nmsg = 313233343030\nresult = valid\nsig = 304402206b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2960220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04169fb797325843faff2f7a5b5445da9e2fd6226f7ef90ef0bfe924104b02db8e7bbb8de662c7b9b1cf9b22f7a2e582bd46d581d68878efb2b861b131d8a1d667]\n[key.wx = 169fb797325843faff2f7a5b5445da9e2fd6226f7ef90ef0bfe924104b02db8e]\n[key.wy = 7bbb8de662c7b9b1cf9b22f7a2e582bd46d581d68878efb2b861b131d8a1d667]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004169fb797325843faff2f7a5b5445da9e2fd6226f7ef90ef0bfe924104b02db8e7bbb8de662c7b9b1cf9b22f7a2e582bd46d581d68878efb2b861b131d8a1d667]\n[sha = SHA-256]\n\n# tcId = 335\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 304502206b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296022100b6db6db6249249254924924924924924625bd7a09bec4ca81bcdd9f8fd6b63cc\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04271cd89c000143096b62d4e9e4ca885aef2f7023d18affdaf8b7b548981487540a1c6e954e32108435b55fa385b0f76481a609b9149ccb4b02b2ca47fe8e4da5]\n[key.wx = 271cd89c000143096b62d4e9e4ca885aef2f7023d18affdaf8b7b54898148754]\n[key.wy = 0a1c6e954e32108435b55fa385b0f76481a609b9149ccb4b02b2ca47fe8e4da5]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004271cd89c000143096b62d4e9e4ca885aef2f7023d18affdaf8b7b548981487540a1c6e954e32108435b55fa385b0f76481a609b9149ccb4b02b2ca47fe8e4da5]\n[sha = SHA-256]\n\n# tcId = 336\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 304502206b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296022100cccccccc00000000cccccccccccccccc971f2ef152794b9d8fc7d568c9e8eaa7\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 043d0bc7ed8f09d2cb7ddb46ebc1ed799ab1563a9ab84bf524587a220afe499c12e22dc3b3c103824a4f378d96adb0a408abf19ce7d68aa6244f78cb216fa3f8df]\n[key.wx = 3d0bc7ed8f09d2cb7ddb46ebc1ed799ab1563a9ab84bf524587a220afe499c12]\n[key.wy = 0e22dc3b3c103824a4f378d96adb0a408abf19ce7d68aa6244f78cb216fa3f8df]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200043d0bc7ed8f09d2cb7ddb46ebc1ed799ab1563a9ab84bf524587a220afe499c12e22dc3b3c103824a4f378d96adb0a408abf19ce7d68aa6244f78cb216fa3f8df]\n[sha = SHA-256]\n\n# tcId = 337\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 304402206b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c29602203333333300000000333333333333333325c7cbbc549e52e763f1f55a327a3aaa\n\n[key.curv", - "e = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04a6c885ade1a4c566f9bb010d066974abb281797fa701288c721bcbd23663a9b72e424b690957168d193a6096fc77a2b004a9c7d467e007e1f2058458f98af316]\n[key.wx = 0a6c885ade1a4c566f9bb010d066974abb281797fa701288c721bcbd23663a9b7]\n[key.wy = 2e424b690957168d193a6096fc77a2b004a9c7d467e007e1f2058458f98af316]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004a6c885ade1a4c566f9bb010d066974abb281797fa701288c721bcbd23663a9b72e424b690957168d193a6096fc77a2b004a9c7d467e007e1f2058458f98af316]\n[sha = SHA-256]\n\n# tcId = 338\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 304402206b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296022049249248db6db6dbb6db6db6db6db6db5a8b230d0b2b51dcd7ebf0c9fef7c185\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 048d3c2c2c3b765ba8289e6ac3812572a25bf75df62d87ab7330c3bdbad9ebfa5c4c6845442d66935b238578d43aec54f7caa1621d1af241d4632e0b780c423f5d]\n[key.wx = 08d3c2c2c3b765ba8289e6ac3812572a25bf75df62d87ab7330c3bdbad9ebfa5c]\n[key.wy = 4c6845442d66935b238578d43aec54f7caa1621d1af241d4632e0b780c423f5d]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200048d3c2c2c3b765ba8289e6ac3812572a25bf75df62d87ab7330c3bdbad9ebfa5c4c6845442d66935b238578d43aec54f7caa1621d1af241d4632e0b780c423f5d]\n[sha = SHA-256]\n\n# tcId = 339\n# extreme value for k\nmsg = 313233343030\nresult = valid\nsig = 304402206b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296022016a4502e2781e11ac82cbc9d1edd8c981584d13e18411e2f6e0478c34416e3bb\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5]\n[key.wx = 6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296]\n[key.wy = 4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5]\n[sha = SHA-256]\n\n# tcId = 340\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 3045022100bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca6050230220249249246db6db6ddb6db6db6db6db6dad4591868595a8ee6bf5f864ff7be0c2\n\n# tcId = 341\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 3044022044a5ad0ad0636d9f12bc9e0a6bdd5e1cbcb012ea7bf091fcec15b0c43202d52e0220249249246db6db6ddb6db6db6db6db6dad4591868595a8ee6bf5f864ff7be0c2\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296b01cbd1c01e58065711814b583f061e9d431cca994cea1313449bf97c840ae0a]\n[key.wx = 6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296]\n[key.wy = 0b01cbd1c01e58065711814b583f061e9d431cca994cea1313449bf97c840ae0a]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296b01cbd1c01e58065711814b583f061e9d431cca994cea1313449bf97c840ae0a]\n[sha = SHA-256]\n\n# tcId = 342\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 3045022100bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca6050230220249249246db6db6ddb6db6db6db6db6dad4591868595a8ee6bf5f864ff7be0c2\n\n# tcId = 343\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 3044022044a5ad0ad0636d9f12bc9e0a6bdd5e1cbcb012ea7bf091fcec15b0c43202d52e0220249249246db6db6ddb6db6db6db6db6dad4591868595a8ee6bf5f864ff7be0c2\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 0404aaec73635726f213fb8a9e64da3b8632e41495a944d0045b522eba7240fad587d9315798aaa3a5ba01775787ced05eaaf7b4e09fc81d6d1aa546e8365d525d]\n[key.wx = 4aaec73635726f213fb8a9e64da3b8632e41495a944d0045b522eba7240fad5]\n[key.wy = 087d9315798aaa3a5ba01775787ced05eaaf7b4e09fc81d6d1aa546e8365d525d]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000404aaec73635726f213fb8a9e64da3b8632e41495a944d0045b522eba7240fad587d9315798aaa3a5ba01775787ced05eaaf7b4e09fc81d6d1aa546e8365d525d]\n[sha = SHA-256]\n\n# tcId = 344\n# pseudorandom signature\nmsg = \nresult = valid\nsig = 3045022100b292a619339f6e567a305c951c0dcbcc42d16e47f219f9e98e76e09d8770b34a02200177e60492c5a8242f76f07bfe3661bde59ec2a17ce5bd2dab2abebdf89a62e2\n\n# tcId = 345\n# pseudorandom signature\nmsg = 4d7367\nresult = valid\nsig = 30450220530bd6b0c9af2d69ba897f6b5fb59695cfbf33afe66dbadcf5b8d2a2a6538e23022100d85e489cb7a161fd55ededcedbf4cc0c0987e3e3f0f242cae934c72caa3f43e9\n\n# tcId = 346\n# pseudorandom signature\nmsg = 313233343030\nresult = valid\nsig = 3046022100a8ea150cb80125d7381c4c1f1da8e9de2711f9917060406a73d7904519e51388022100f3ab9fa68bd47973a73b2d40480c2ba50c22c9d76ec217257288293285449b86\n\n# tcId = 347\n# pseudorandom signature\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 3045022100986e65933ef2ed4ee5aada139f52b70539aaf63f00a91f29c69178490d57fb7102203dafedfb8da6189d372308cbf1489bbbdabf0c0217d1c0ff0f701aaa7a694b9c\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 044f337ccfd67726a805e4f1600ae2849df3807eca117380239fbd816900000000ed9dea124cc8c396416411e988c30f427eb504af43a3146cd5df7ea60666d685]\n[key.wx = 4f337ccfd67726a805e4f1600ae2849df3807eca117380239fbd816900000000]\n[key.wy = 0ed9dea124cc8c396416411e988c30f427eb504af43a3146cd5df7ea60666d685]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200044f337ccfd67726a805e4f1600ae2849df3807eca117380239fbd816900000000ed9dea124cc8c396416411e988c30f427eb504af43a3146cd5df7ea60666d685]\n[sha = SHA-256]\n\n# tcId = 348\n# x-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 3046022100d434e262a49eab7781e353a3565e482550dd0fd5defa013c7f29745eff3569f10221009b0c0a93f267fb6052fd8077be769c2b98953195d7bc10de844218305c6ba17a\n\n# tcId = 349\n# x-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 304402200fe774355c04d060f76d79fd7a772e421463489221bf0a33add0be9b1979110b0220500dcba1c69a8fbd43fa4f57f743ce124ca8b91a1f325f3fac6181175df55737\n\n# tcId = 350\n# x-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 3045022100bb40bf217bed3fb3950c7d39f03d36dc8e3b2cd79693f125bfd06595ee1135e30220541bf3532351ebb032710bdb6a1bf1bfc89a1e291ac692b3fa4780745bb55677\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 043cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f49726500493584fa174d791c72bf2ce3880a8960dd2a7c7a1338a82f85a9e59cdbde80000000]\n[key.wx = 3cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f497265004935]\n[key.wy = 084fa174d791c72bf2ce3880a8960dd2a7c7a1338a82f85a9e59cdbde80000000]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200043cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f49726500493584fa174d791c72bf2ce3880a8960dd2a7c7a1338a82f85a9e59cdbde80000000]\n[sha = SHA-256]\n\n# tcId = 351\n# y-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 30440220664eb7ee6db84a34df3c86ea31389a5405badd5ca99231ff556d3e75a233e73a022059f3c752e52eca46137642490a51560ce0badc678754b8f72e51a2901426a1bd\n\n# tcId = 352\n# y-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 304502204cd0429bbabd2827009d6fcd843d4ce39c3e42e2d1631fd001985a79d1fd8b430221009638bf12dd682f60be7ef1d0e0d98f08b7bca77a1a2b869ae466189d2acdabe3\n\n# tcId = 353\n# y-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 3046022100e56c6ea2d1b017091c44d8b6cb62b9f460e3ce9aed5e5fd41e8added97c56c04022100a308ec31f281e955be20b457e463440b4fcf2b80258078207fc1378180f89b55\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 043cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f4972650049357b05e8b186e38d41d31c77f5769f22d58385ecc857d07a561a6324217fffffff]\n[key.wx = 3cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f497265004935]\n[key.wy = 7b05e8b186e38d41d31c77f5769f22", - "d58385ecc857d07a561a6324217fffffff]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200043cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f4972650049357b05e8b186e38d41d31c77f5769f22d58385ecc857d07a561a6324217fffffff]\n[sha = SHA-256]\n\n# tcId = 354\n# y-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 304402201158a08d291500b4cabed3346d891eee57c176356a2624fb011f8fbbf34668300220228a8c486a736006e082325b85290c5bc91f378b75d487dda46798c18f285519\n\n# tcId = 355\n# y-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 3045022100b1db9289649f59410ea36b0c0fc8d6aa2687b29176939dd23e0dde56d309fa9d02203e1535e4280559015b0dbd987366dcf43a6d1af5c23c7d584e1c3f48a1251336\n\n# tcId = 356\n# y-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 3046022100b7b16e762286cb96446aa8d4e6e7578b0a341a79f2dd1a220ac6f0ca4e24ed86022100ddc60a700a139b04661c547d07bbb0721780146df799ccf55e55234ecb8f12bc\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 042829c31faa2e400e344ed94bca3fcd0545956ebcfe8ad0f6dfa5ff8effffffffa01aafaf000e52585855afa7676ade284113099052df57e7eb3bd37ebeb9222e]\n[key.wx = 2829c31faa2e400e344ed94bca3fcd0545956ebcfe8ad0f6dfa5ff8effffffff]\n[key.wy = 0a01aafaf000e52585855afa7676ade284113099052df57e7eb3bd37ebeb9222e]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200042829c31faa2e400e344ed94bca3fcd0545956ebcfe8ad0f6dfa5ff8effffffffa01aafaf000e52585855afa7676ade284113099052df57e7eb3bd37ebeb9222e]\n[sha = SHA-256]\n\n# tcId = 357\n# x-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 3045022100d82a7c2717261187c8e00d8df963ff35d796edad36bc6e6bd1c91c670d9105b402203dcabddaf8fcaa61f4603e7cbac0f3c0351ecd5988efb23f680d07debd139929\n\n# tcId = 358\n# x-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 304402205eb9c8845de68eb13d5befe719f462d77787802baff30ce96a5cba063254af7802202c026ae9be2e2a5e7ca0ff9bbd92fb6e44972186228ee9a62b87ddbe2ef66fb5\n\n# tcId = 359\n# x-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 304602210096843dd03c22abd2f3b782b170239f90f277921becc117d0404a8e4e36230c28022100f2be378f526f74a543f67165976de9ed9a31214eb4d7e6db19e1ede123dd991d\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04fffffff948081e6a0458dd8f9e738f2665ff9059ad6aac0708318c4ca9a7a4f55a8abcba2dda8474311ee54149b973cae0c0fb89557ad0bf78e6529a1663bd73]\n[key.wx = 0fffffff948081e6a0458dd8f9e738f2665ff9059ad6aac0708318c4ca9a7a4f5]\n[key.wy = 5a8abcba2dda8474311ee54149b973cae0c0fb89557ad0bf78e6529a1663bd73]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004fffffff948081e6a0458dd8f9e738f2665ff9059ad6aac0708318c4ca9a7a4f55a8abcba2dda8474311ee54149b973cae0c0fb89557ad0bf78e6529a1663bd73]\n[sha = SHA-256]\n\n# tcId = 360\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 30440220766456dce1857c906f9996af729339464d27e9d98edc2d0e3b760297067421f60220402385ecadae0d8081dccaf5d19037ec4e55376eced699e93646bfbbf19d0b41\n\n# tcId = 361\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 3046022100c605c4b2edeab20419e6518a11b2dbc2b97ed8b07cced0b19c34f777de7b9fd9022100edf0f612c5f46e03c719647bc8af1b29b2cde2eda700fb1cff5e159d47326dba\n\n# tcId = 362\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 3046022100d48b68e6cabfe03cf6141c9ac54141f210e64485d9929ad7b732bfe3b7eb8a84022100feedae50c61bd00e19dc26f9b7e2265e4508c389109ad2f208f0772315b6c941\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 0400000003fa15f963949d5f03a6f5c7f86f9e0015eeb23aebbff1173937ba748e1099872070e8e87c555fa13659cca5d7fadcfcb0023ea889548ca48af2ba7e71]\n[key.wx = 3fa15f963949d5f03a6f5c7f86f9e0015eeb23aebbff1173937ba748e]\n[key.wy = 1099872070e8e87c555fa13659cca5d7fadcfcb0023ea889548ca48af2ba7e71]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000400000003fa15f963949d5f03a6f5c7f86f9e0015eeb23aebbff1173937ba748e1099872070e8e87c555fa13659cca5d7fadcfcb0023ea889548ca48af2ba7e71]\n[sha = SHA-256]\n\n# tcId = 363\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 3046022100b7c81457d4aeb6aa65957098569f0479710ad7f6595d5874c35a93d12a5dd4c7022100b7961a0b652878c2d568069a432ca18a1a9199f2ca574dad4b9e3a05c0a1cdb3\n\n# tcId = 364\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 304402206b01332ddb6edfa9a30a1321d5858e1ee3cf97e263e669f8de5e9652e76ff3f702205939545fced457309a6a04ace2bd0f70139c8f7d86b02cb1cc58f9e69e96cd5a\n\n# tcId = 365\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 3046022100efdb884720eaeadc349f9fc356b6c0344101cd2fd8436b7d0e6a4fb93f106361022100f24bee6ad5dc05f7613975473aadf3aacba9e77de7d69b6ce48cb60d8113385d\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015000000001352bb4a0fa2ea4cceb9ab63dd684ade5a1127bcf300a698a7193bc2]\n[key.wx = 0bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015]\n[key.wy = 1352bb4a0fa2ea4cceb9ab63dd684ade5a1127bcf300a698a7193bc2]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015000000001352bb4a0fa2ea4cceb9ab63dd684ade5a1127bcf300a698a7193bc2]\n[sha = SHA-256]\n\n# tcId = 366\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 3044022031230428405560dcb88fb5a646836aea9b23a23dd973dcbe8014c87b8b20eb0702200f9344d6e812ce166646747694a41b0aaf97374e19f3c5fb8bd7ae3d9bd0beff\n\n# tcId = 367\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 3046022100caa797da65b320ab0d5c470cda0b36b294359c7db9841d679174db34c4855743022100cf543a62f23e212745391aaf7505f345123d2685ee3b941d3de6d9b36242e5a0\n\n# tcId = 368\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 304502207e5f0ab5d900d3d3d7867657e5d6d36519bc54084536e7d21c336ed8001859450221009450c07f201faec94b82dfb322e5ac676688294aad35aa72e727ff0b19b646aa\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015fffffffeecad44b6f05d15b33146549c2297b522a5eed8430cff596758e6c43d]\n[key.wx = 0bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015]\n[key.wy = 0fffffffeecad44b6f05d15b33146549c2297b522a5eed8430cff596758e6c43d]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015fffffffeecad44b6f05d15b33146549c2297b522a5eed8430cff596758e6c43d]\n[sha = SHA-256]\n\n# tcId = 369\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 3046022100d7d70c581ae9e3f66dc6a480bf037ae23f8a1e4a2136fe4b03aa69f0ca25b35602210089c460f8a5a5c2bbba962c8a3ee833a413e85658e62a59e2af41d9127cc47224\n\n# tcId = 370\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 30440220341c1b9ff3c83dd5e0dfa0bf68bcdf4bb7aa20c625975e5eeee34bb396266b34022072b69f061b750fd5121b22b11366fad549c634e77765a017902a67099e0a4469\n\n# tcId = 371\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 3045022070bebe684cdcb5ca72a42f0d873879359bd1781a591809947628d313a3814f67022100aec03aca8f5587a4d535fa31027bbe9cc0e464b1c3577f4c2dcde6b2094798a9\n\n", +static const char *kData102[] = { + "# Imported from Wycheproof's ecdsa_secp256r1_sha256_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: ECDSA\n# Generator version: 0.8r12\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 042927b10512bae3eddcfe467828128bad2903269919f7086069c8c4df6c732838c7787964eaac00e5921fb1498a60f4606766b3d9685001558d1a974e7341513e]\n[key.wx = 2927b10512bae3eddcfe467828128bad2903269919f7086069c8c4df6c732838]\n[key.wy = 00c7787964eaac00e5921fb1498a60f4606766b3d9685001558d1a974e7341513e]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200042927b10512bae3eddcfe467828128bad2903269919f7086069c8c4df6c732838c7787964eaac00e5921fb1498a60f4606766b3d9685001558d1a974e7341513e]\n[sha = SHA-256]\n\n# tcId = 1\n# signature malleability\nmsg = 313233343030\nresult = valid\nsig = 304402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e1802204cd60b855d442f5b3c7b11eb6c4e0ae7525fe710fab9aa7c77a67f79e6fadd76\n\n# tcId = 2\n# Legacy:ASN encoding of s misses leading 0\nmsg = 313233343030\nresult = acceptable\nsig = 304402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180220b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\nflags = MissingZero\n\n# tcId = 3\n# valid\nmsg = 313233343030\nresult = valid\nsig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 4\n# long form encoding of length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 30814502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\nflags = BER\n\n# tcId = 5\n# length of sequence contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 3082004502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\nflags = BER\n\n# tcId = 6\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 304602202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 7\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 304402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 8\n# uint32 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3085010000004502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 9\n# uint64 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 308901000000000000004502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 10\n# length of sequence = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30847fffffff02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 11\n# length of sequence = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3084ffffffff02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 12\n# length of sequence = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3085ffffffffff02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 13\n# length of sequence = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3088ffffffffffffffff02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 14\n# incorrect length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 30ff02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 15\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 308002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 16\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 304502802ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 17\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18028000b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 18\n# removing sequence\nmsg = 313233343030\nresult = invalid\nsig = \n\n# tcId = 19\n# lonely sequence tag\nmsg = 313233343030\nresult = invalid\nsig = 30\n\n# tcId = 20\n# appending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 304702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0000\n\n# tcId = 21\n# prepending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 3047000002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 22\n# appending unused 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0000\n\n# tcId = 23\n# appending null value to sequence\nmsg = 313233343030\nresult = invalid\nsig = 304702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0500\n\n# tcId = 24\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 304a498177304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 25\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 30492500304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 26\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3047304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0004deadbeef\n\n# tcId = 27\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 304a222549817702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 28\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 30492224250002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 29\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 304d222202202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180004deadbeef022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 30\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 304a02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e182226498177022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 31\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 304902202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e1822252500022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 32\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 304d02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e182223022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0004deadbeef\n\n# tcId = 33\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 304daa00bb00cd00304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac", + "5df4087c134b49156847db\n\n# tcId = 34\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 304baa02aabb304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 35\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 304d2228aa00bb00cd0002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 36\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 304b2226aa02aabb02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 37\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 304d02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e182229aa00bb00cd00022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 38\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 304b02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e182227aa02aabb022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 39\n# truncated length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3081\n\n# tcId = 40\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 3080304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0000\n\n# tcId = 41\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 3049228002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180000022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 42\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 304902202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e182280022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0000\n\n# tcId = 43\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 3080314502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0000\n\n# tcId = 44\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 3049228003202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180000022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 45\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 304902202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e182280032100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0000\n\n# tcId = 46\n# Replacing sequence with NULL\nmsg = 313233343030\nresult = invalid\nsig = 0500\n\n# tcId = 47\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 2e4502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 48\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 2f4502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 49\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 314502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 50\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 324502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 51\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = ff4502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 52\n# dropping value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3000\n\n# tcId = 53\n# using composition for sequence\nmsg = 313233343030\nresult = invalid\nsig = 30493001023044202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 54\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 304402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847\n\n# tcId = 55\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 3044202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 56\n# indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 308002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0000\nflags = BER\n\n# tcId = 57\n# indefinite length with truncated delimiter\nmsg = 313233343030\nresult = invalid\nsig = 308002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db00\n\n# tcId = 58\n# indefinite length with additional element\nmsg = 313233343030\nresult = invalid\nsig = 308002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db05000000\n\n# tcId = 59\n# indefinite length with truncated element\nmsg = 313233343030\nresult = invalid\nsig = 308002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db060811220000\n\n# tcId = 60\n# indefinite length with garbage\nmsg = 313233343030\nresult = invalid\nsig = 308002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0000fe02beef\n\n# tcId = 61\n# indefinite length with nonempty EOC\nmsg = 313233343030\nresult = invalid\nsig = 308002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0002beef\n\n# tcId = 62\n# prepend empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 3047300002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 63\n# append empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 304702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db3000\n\n# tcId = 64\n# append garbage with high tag number\nmsg = 313233343030\nresult = invalid\nsig = 304802202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847dbbf7f00\n\n# tcId = 65\n# sequence of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3047304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 66\n# truncated sequence: removed last 1 elements\nmsg = 313233343030\nresult = invalid\nsig = 302202202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18\n\n# tcId = 67\n# repeating element in sequence\nmsg = 313233343030\nresult = invalid\nsig = 306802202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 68\n# long form encoding of length of integer\nmsg = 313233343030\nresult = invalid\nsig = 30460281202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\nflags = BER\n\n# tcId = 69\n# long form encoding of length of integer\nmsg = 313233343030\nresult = invalid\nsig = 304602202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e1802812100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\nflags = BER\n\n# tcId = 70\n# length of integer con", + "tains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 3047028200202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\nflags = BER\n\n# tcId = 71\n# length of integer contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 304702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180282002100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\nflags = BER\n\n# tcId = 72\n# wrong length of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502212ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 73\n# wrong length of integer\nmsg = 313233343030\nresult = invalid\nsig = 3045021f2ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 74\n# wrong length of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022200b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 75\n# wrong length of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022000b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 76\n# uint32 overflow in length of integer\nmsg = 313233343030\nresult = invalid\nsig = 304a028501000000202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 77\n# uint32 overflow in length of integer\nmsg = 313233343030\nresult = invalid\nsig = 304a02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180285010000002100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 78\n# uint64 overflow in length of integer\nmsg = 313233343030\nresult = invalid\nsig = 304e02890100000000000000202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 79\n# uint64 overflow in length of integer\nmsg = 313233343030\nresult = invalid\nsig = 304e02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18028901000000000000002100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 80\n# length of integer = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 304902847fffffff2ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 81\n# length of integer = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 304902202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e1802847fffffff00b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 82\n# length of integer = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30490284ffffffff2ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 83\n# length of integer = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 304902202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180284ffffffff00b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 84\n# length of integer = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 304a0285ffffffffff2ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 85\n# length of integer = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 304a02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180285ffffffffff00b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 86\n# length of integer = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 304d0288ffffffffffffffff2ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 87\n# length of integer = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 304d02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180288ffffffffffffffff00b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 88\n# incorrect length of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502ff2ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 89\n# incorrect length of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e1802ff00b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 90\n# removing integer\nmsg = 313233343030\nresult = invalid\nsig = 3023022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 91\n# lonely integer tag\nmsg = 313233343030\nresult = invalid\nsig = 302402022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 92\n# lonely integer tag\nmsg = 313233343030\nresult = invalid\nsig = 302302202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e1802\n\n# tcId = 93\n# appending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 304702222ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180000022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 94\n# appending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 304702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022300b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0000\n\n# tcId = 95\n# prepending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 3047022200002ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\nflags = BER\n\n# tcId = 96\n# prepending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 304702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180223000000b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\nflags = BER\n\n# tcId = 97\n# appending unused 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 304702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180000022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 98\n# appending null value to integer\nmsg = 313233343030\nresult = invalid\nsig = 304702222ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180500022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 99\n# appending null value to integer\nmsg = 313233343030\nresult = invalid\nsig = 304702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022300b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0500\n\n# tcId = 100\n# truncated length of integer\nmsg = 313233343030\nresult = invalid\nsig = 30250281022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 101\n# truncated length of integer\nmsg = 313233343030\nresult = invalid\nsig = 302402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180281\n\n# tcId = 102\n# Replacing integer with NULL\nmsg = 313233343030\nresult = invalid\nsig = 30250500022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 103\n# Replacing integer with NULL\nmsg = 313233343030\nresult = invalid\nsig = 302402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180500\n\n# tcId = 104\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 304500202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 105\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 304501202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 106\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 304503202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b4", + "9156847db\n\n# tcId = 107\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 304504202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 108\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3045ff202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 109\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18002100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 110\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18012100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 111\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18032100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 112\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18042100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 113\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18ff2100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 114\n# dropping value of integer\nmsg = 313233343030\nresult = invalid\nsig = 30250200022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 115\n# dropping value of integer\nmsg = 313233343030\nresult = invalid\nsig = 302402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180200\n\n# tcId = 116\n# using composition for integer\nmsg = 313233343030\nresult = invalid\nsig = 3049222402012b021fa3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 117\n# using composition for integer\nmsg = 313233343030\nresult = invalid\nsig = 304902202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e1822250201000220b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 118\n# modify first byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 3045022029a3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 119\n# modify first byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022102b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 120\n# modify last byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e98022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 121\n# modify last byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b491568475b\n\n# tcId = 122\n# truncated integer\nmsg = 313233343030\nresult = invalid\nsig = 3044021f2ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 123\n# truncated integer\nmsg = 313233343030\nresult = invalid\nsig = 3044021fa3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 124\n# truncated integer\nmsg = 313233343030\nresult = invalid\nsig = 304402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022000b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847\n\n# tcId = 125\n# leading ff in integer\nmsg = 313233343030\nresult = invalid\nsig = 30460221ff2ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 126\n# leading ff in integer\nmsg = 313233343030\nresult = invalid\nsig = 304602202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180222ff00b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 127\n# replaced integer by infinity\nmsg = 313233343030\nresult = invalid\nsig = 3026090180022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 128\n# replaced integer by infinity\nmsg = 313233343030\nresult = invalid\nsig = 302502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18090180\n\n# tcId = 129\n# replacing integer with zero\nmsg = 313233343030\nresult = invalid\nsig = 3026020100022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 130\n# replacing integer with zero\nmsg = 313233343030\nresult = invalid\nsig = 302502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18020100\n\n# tcId = 131\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30460221012ba3a8bd6b94d5ed80a6d9d1190a436ebccc0833490686deac8635bcb9bf5369022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 132\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30460221ff2ba3a8bf6b94d5eb80a6d9d1190a436f42fe12d7fad749d4c512a036c0f908c7022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 133\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30450220d45c5741946b2a137f59262ee6f5bc91001af27a5e1117a64733950642a3d1e8022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 134\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3046022100d45c5740946b2a147f59262ee6f5bc90bd01ed280528b62b3aed5fc93f06f739022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 135\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30460221fed45c5742946b2a127f59262ee6f5bc914333f7ccb6f979215379ca434640ac97022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 136\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30460221012ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 137\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3046022100d45c5741946b2a137f59262ee6f5bc91001af27a5e1117a64733950642a3d1e8022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 138\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022101b329f478a2bbd0a6c384ee1493b1f518276e0e4a5375928d6fcd160c11cb6d2c\n\n# tcId = 139\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 304402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180220b329f47aa2bbd0a4c384ee1493b1f518ada018ef05465583885980861905228a\n\n# tcId = 140\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180221ff4cd60b865d442f5a3c7b11eb6c4e0ae79578ec6353a20bf783ecb4b6ea97b825\n\n# tcId = 141\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180221fe4cd60b875d442f593c7b11eb6c4e0ae7d891f1b5ac8a6d729032e9f3ee3492d4\n\n# tcId = 142\n# Modified r or s, e.g. by adding or subtracting the order of the group\nm", + "sg = 313233343030\nresult = invalid\nsig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022101b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db\n\n# tcId = 143\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 304402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e1802204cd60b865d442f5a3c7b11eb6c4e0ae79578ec6353a20bf783ecb4b6ea97b825\n\n# tcId = 144\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020100020100\nflags = EdgeCase\n\n# tcId = 145\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020100020101\nflags = EdgeCase\n\n# tcId = 146\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201000201ff\nflags = EdgeCase\n\n# tcId = 147\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026020100022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551\nflags = EdgeCase\n\n# tcId = 148\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026020100022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550\nflags = EdgeCase\n\n# tcId = 149\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026020100022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552\nflags = EdgeCase\n\n# tcId = 150\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026020100022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff\nflags = EdgeCase\n\n# tcId = 151\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026020100022100ffffffff00000001000000000000000000000001000000000000000000000000\nflags = EdgeCase\n\n# tcId = 152\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3008020100090380fe01\nflags = EdgeCase\n\n# tcId = 153\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020100090142\nflags = EdgeCase\n\n# tcId = 154\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020101020100\nflags = EdgeCase\n\n# tcId = 155\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020101020101\nflags = EdgeCase\n\n# tcId = 156\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201010201ff\nflags = EdgeCase\n\n# tcId = 157\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026020101022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551\nflags = EdgeCase\n\n# tcId = 158\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026020101022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550\nflags = EdgeCase\n\n# tcId = 159\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026020101022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552\nflags = EdgeCase\n\n# tcId = 160\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026020101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff\nflags = EdgeCase\n\n# tcId = 161\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026020101022100ffffffff00000001000000000000000000000001000000000000000000000000\nflags = EdgeCase\n\n# tcId = 162\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3008020101090380fe01\nflags = EdgeCase\n\n# tcId = 163\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020101090142\nflags = EdgeCase\n\n# tcId = 164\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff020100\nflags = EdgeCase\n\n# tcId = 165\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff020101\nflags = EdgeCase\n\n# tcId = 166\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff0201ff\nflags = EdgeCase\n\n# tcId = 167\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30260201ff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551\nflags = EdgeCase\n\n# tcId = 168\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30260201ff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550\nflags = EdgeCase\n\n# tcId = 169\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30260201ff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552\nflags = EdgeCase\n\n# tcId = 170\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30260201ff022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff\nflags = EdgeCase\n\n# tcId = 171\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30260201ff022100ffffffff00000001000000000000000000000001000000000000000000000000\nflags = EdgeCase\n\n# tcId = 172\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30080201ff090380fe01\nflags = EdgeCase\n\n# tcId = 173\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff090142\nflags = EdgeCase\n\n# tcId = 174\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551020100\nflags = EdgeCase\n\n# tcId = 175\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551020101\nflags = EdgeCase\n\n# tcId = 176\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6325510201ff\nflags = EdgeCase\n\n# tcId = 177\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551\nflags = EdgeCase\n\n# tcId = 178\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550\nflags = EdgeCase\n\n# tcId = 179\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552\nflags = EdgeCase\n\n# tcId = 180\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff\nflags = EdgeCase\n\n# tcId = 181\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551022100ffffffff00000001000000000000000000000001000000000000000000000000\nflags = EdgeCase\n\n# tcId = 182\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3028022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551090380fe01\nflags = EdgeCase\n\n# tcId = 183\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551090142\nflags = EdgeCase\n\n# tcId = 184\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550020100\nflags = EdgeCase\n\n# tcId = 185\n# Signature with special c", + "ase values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550020101\nflags = EdgeCase\n\n# tcId = 186\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6325500201ff\nflags = EdgeCase\n\n# tcId = 187\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551\nflags = EdgeCase\n\n# tcId = 188\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550\nflags = EdgeCase\n\n# tcId = 189\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552\nflags = EdgeCase\n\n# tcId = 190\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff\nflags = EdgeCase\n\n# tcId = 191\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550022100ffffffff00000001000000000000000000000001000000000000000000000000\nflags = EdgeCase\n\n# tcId = 192\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3028022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550090380fe01\nflags = EdgeCase\n\n# tcId = 193\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550090142\nflags = EdgeCase\n\n# tcId = 194\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552020100\nflags = EdgeCase\n\n# tcId = 195\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552020101\nflags = EdgeCase\n\n# tcId = 196\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6325520201ff\nflags = EdgeCase\n\n# tcId = 197\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551\nflags = EdgeCase\n\n# tcId = 198\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550\nflags = EdgeCase\n\n# tcId = 199\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552\nflags = EdgeCase\n\n# tcId = 200\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff\nflags = EdgeCase\n\n# tcId = 201\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552022100ffffffff00000001000000000000000000000001000000000000000000000000\nflags = EdgeCase\n\n# tcId = 202\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3028022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552090380fe01\nflags = EdgeCase\n\n# tcId = 203\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552090142\nflags = EdgeCase\n\n# tcId = 204\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff020100\nflags = EdgeCase\n\n# tcId = 205\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff020101\nflags = EdgeCase\n\n# tcId = 206\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff0201ff\nflags = EdgeCase\n\n# tcId = 207\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551\nflags = EdgeCase\n\n# tcId = 208\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550\nflags = EdgeCase\n\n# tcId = 209\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552\nflags = EdgeCase\n\n# tcId = 210\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff\nflags = EdgeCase\n\n# tcId = 211\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff022100ffffffff00000001000000000000000000000001000000000000000000000000\nflags = EdgeCase\n\n# tcId = 212\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3028022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff090380fe01\nflags = EdgeCase\n\n# tcId = 213\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff090142\nflags = EdgeCase\n\n# tcId = 214\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000001000000000000000000000001000000000000000000000000020100\nflags = EdgeCase\n\n# tcId = 215\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000001000000000000000000000001000000000000000000000000020101\nflags = EdgeCase\n\n# tcId = 216\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff000000010000000000000000000000010000000000000000000000000201ff\nflags = EdgeCase\n\n# tcId = 217\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000001000000000000000000000001000000000000000000000000022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551\nflags = EdgeCase\n\n# tcId = 218\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000001000000000000000000000001000000000000000000000000022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550\nflags = EdgeCase\n\n# tcId = 219\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000001000000000000000000000001000000000000000000000000022100ffffffff00000000ffffffffffffffffbce6faada7179", + "e84f3b9cac2fc632552\nflags = EdgeCase\n\n# tcId = 220\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000001000000000000000000000001000000000000000000000000022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff\nflags = EdgeCase\n\n# tcId = 221\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000001000000000000000000000001000000000000000000000000022100ffffffff00000001000000000000000000000001000000000000000000000000\nflags = EdgeCase\n\n# tcId = 222\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3028022100ffffffff00000001000000000000000000000001000000000000000000000000090380fe01\nflags = EdgeCase\n\n# tcId = 223\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000001000000000000000000000001000000000000000000000000090142\nflags = EdgeCase\n\n# tcId = 224\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 30060201010c0130\n\n# tcId = 225\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 30050201010c00\n\n# tcId = 226\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 30090c0225730c03732573\n\n# tcId = 227\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 30080201013003020100\n\n# tcId = 228\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 3003020101\n\n# tcId = 229\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 3006020101010100\n\n# tcId = 230\n# Edge case for Shamir multiplication\nmsg = 3639383139\nresult = valid\nsig = 3044022064a1aab5000d0e804f3e2fc02bdee9be8ff312334e2ba16d11547c97711c898e02206af015971cc30be6d1a206d4e013e0997772a2f91d73286ffd683b9bb2cf4f1b\n\n# tcId = 231\n# special case hash\nmsg = 343236343739373234\nresult = valid\nsig = 3044022016aea964a2f6506d6f78c81c91fc7e8bded7d397738448de1e19a0ec580bf2660220252cd762130c6667cfe8b7bc47d27d78391e8e80c578d1cd38c3ff033be928e9\n\n# tcId = 232\n# special case hash\nmsg = 37313338363834383931\nresult = valid\nsig = 30450221009cc98be2347d469bf476dfc26b9b733df2d26d6ef524af917c665baccb23c8820220093496459effe2d8d70727b82462f61d0ec1b7847929d10ea631dacb16b56c32\n\n# tcId = 233\n# special case hash\nmsg = 3130333539333331363638\nresult = valid\nsig = 3044022073b3c90ecd390028058164524dde892703dce3dea0d53fa8093999f07ab8aa4302202f67b0b8e20636695bb7d8bf0a651c802ed25a395387b5f4188c0c4075c88634\n\n# tcId = 234\n# special case hash\nmsg = 33393439343031323135\nresult = valid\nsig = 3046022100bfab3098252847b328fadf2f89b95c851a7f0eb390763378f37e90119d5ba3dd022100bdd64e234e832b1067c2d058ccb44d978195ccebb65c2aaf1e2da9b8b4987e3b\n\n# tcId = 235\n# special case hash\nmsg = 31333434323933303739\nresult = valid\nsig = 30440220204a9784074b246d8bf8bf04a4ceb1c1f1c9aaab168b1596d17093c5cd21d2cd022051cce41670636783dc06a759c8847868a406c2506fe17975582fe648d1d88b52\n\n# tcId = 236\n# special case hash\nmsg = 33373036323131373132\nresult = valid\nsig = 3046022100ed66dc34f551ac82f63d4aa4f81fe2cb0031a91d1314f835027bca0f1ceeaa0302210099ca123aa09b13cd194a422e18d5fda167623c3f6e5d4d6abb8953d67c0c48c7\n\n# tcId = 237\n# special case hash\nmsg = 333433363838373132\nresult = valid\nsig = 30450220060b700bef665c68899d44f2356a578d126b062023ccc3c056bf0f60a237012b0221008d186c027832965f4fcc78a3366ca95dedbb410cbef3f26d6be5d581c11d3610\n\n# tcId = 238\n# special case hash\nmsg = 31333531353330333730\nresult = valid\nsig = 30460221009f6adfe8d5eb5b2c24d7aa7934b6cf29c93ea76cd313c9132bb0c8e38c96831d022100b26a9c9e40e55ee0890c944cf271756c906a33e66b5bd15e051593883b5e9902\n\n# tcId = 239\n# special case hash\nmsg = 36353533323033313236\nresult = valid\nsig = 3045022100a1af03ca91677b673ad2f33615e56174a1abf6da168cebfa8868f4ba273f16b7022020aa73ffe48afa6435cd258b173d0c2377d69022e7d098d75caf24c8c5e06b1c\n\n# tcId = 240\n# special case hash\nmsg = 31353634333436363033\nresult = valid\nsig = 3045022100fdc70602766f8eed11a6c99a71c973d5659355507b843da6e327a28c11893db902203df5349688a085b137b1eacf456a9e9e0f6d15ec0078ca60a7f83f2b10d21350\n\n# tcId = 241\n# special case hash\nmsg = 34343239353339313137\nresult = valid\nsig = 3046022100b516a314f2fce530d6537f6a6c49966c23456f63c643cf8e0dc738f7b876e675022100d39ffd033c92b6d717dd536fbc5efdf1967c4bd80954479ba66b0120cd16fff2\n\n# tcId = 242\n# special case hash\nmsg = 3130393533323631333531\nresult = valid\nsig = 304402203b2cbf046eac45842ecb7984d475831582717bebb6492fd0a485c101e29ff0a802204c9b7b47a98b0f82de512bc9313aaf51701099cac5f76e68c8595fc1c1d99258\n\n# tcId = 243\n# special case hash\nmsg = 35393837333530303431\nresult = valid\nsig = 3044022030c87d35e636f540841f14af54e2f9edd79d0312cfa1ab656c3fb15bfde48dcf022047c15a5a82d24b75c85a692bd6ecafeb71409ede23efd08e0db9abf6340677ed\n\n# tcId = 244\n# special case hash\nmsg = 33343633303036383738\nresult = valid\nsig = 3044022038686ff0fda2cef6bc43b58cfe6647b9e2e8176d168dec3c68ff262113760f520220067ec3b651f422669601662167fa8717e976e2db5e6a4cf7c2ddabb3fde9d67d\n\n# tcId = 245\n# special case hash\nmsg = 39383137333230323837\nresult = valid\nsig = 3044022044a3e23bf314f2b344fc25c7f2de8b6af3e17d27f5ee844b225985ab6e2775cf02202d48e223205e98041ddc87be532abed584f0411f5729500493c9cc3f4dd15e86\n\n# tcId = 246\n# special case hash\nmsg = 33323232303431303436\nresult = valid\nsig = 304402202ded5b7ec8e90e7bf11f967a3d95110c41b99db3b5aa8d330eb9d638781688e902207d5792c53628155e1bfc46fb1a67e3088de049c328ae1f44ec69238a009808f9\n\n# tcId = 247\n# special case hash\nmsg = 36363636333037313034\nresult = valid\nsig = 3046022100bdae7bcb580bf335efd3bc3d31870f923eaccafcd40ec2f605976f15137d8b8f022100f6dfa12f19e525270b0106eecfe257499f373a4fb318994f24838122ce7ec3c7\n\n# tcId = 248\n# special case hash\nmsg = 31303335393531383938\nresult = valid\nsig = 3045022050f9c4f0cd6940e162720957ffff513799209b78596956d21ece251c2401f1c6022100d7033a0a787d338e889defaaabb106b95a4355e411a59c32aa5167dfab244726\n\n# tcId = 249\n# special case hash\nmsg = 31383436353937313935\nresult = valid\nsig = 3045022100f612820687604fa01906066a378d67540982e29575d019aabe90924ead5c860d02203f9367702dd7dd4f75ea98afd20e328a1a99f4857b316525328230ce294b0fef\n\n# tcId = 250\n# special case hash\nmsg = 33313336303436313839\nresult = valid\nsig = 30460221009505e407657d6e8bc93db5da7aa6f5081f61980c1949f56b0f2f507da5782a7a022100c60d31904e3669738ffbeccab6c3656c08e0ed5cb92b3cfa5e7f71784f9c5021\n\n# tcId = 251\n# special case hash\nmsg = 32363633373834323534\nresult = valid\nsig = 3046022100bbd16fbbb656b6d0d83e6a7787cd691b08735aed371732723e1c68a40404517d0221009d8e35dba96028b7787d91315be675877d2d097be5e8ee34560e3e7fd25c0f00\n\n# tcId = 252\n# special case hash\nmsg = 31363532313030353234\nresult = valid\nsig = 304402202ec9760122db98fd06ea76848d35a6da442d2ceef7559a30cf57c61e92df327e02207ab271da90859479701fccf86e462ee3393fb6814c27b760c4963625c0a19878\n\n# tcId = 253\n# special case hash\nmsg = 35373438303831363936\nresult = valid\nsig = 3044022054e76b7683b6650baa6a7fc49b1c51eed9ba9dd463221f7a4f1005a89fe00c5902202ea076886c773eb937ec1cc8374b7915cfd11b1c1ae1166152f2f7806a31c8fd\n\n# tcId = 254\n# special case hash\nmsg = 36333433393133343638\nresult = valid\nsig = 304402205291deaf24659ffbbce6e3c26f6021097a74abdbb69be4fb10419c0c496c9466022065d6fcf336d27cc7cdb982bb4e4ecef5827f84742f29f10abf83469270a03dc3\n\n# tcId = 255\n# special case hash\nmsg = 31353431313033353938\nresult = valid\nsig = 30450220207a3241812d75d947419dc58efb05e8003b33fc17eb50f9d15166a88479f107022100cdee749f2e492b213ce80b32d0574f62f1c5d70793cf55e382d5caadf7592767\n\n# tcId = 256\n# special case hash\nmsg = 3130343738353830313238\nresult = valid\nsig = 304502206554e49f82a855204328ac94913bf01bbe84437a355a0a37c0dee3cf81aa7728022100aea00de2507ddaf5c94e1e126980d3df16250a2eaebc8be486effe7f22b4f929\n\n# tcId = 257\n# special case hash\nmsg = 3130353336323835353638\nresult = valid\nsig = 3046022100a54c5062648339d2bff06f71c88216c26c6e19b4d80a8c602990ac82707efdfc022100e99bbe7fcfafae3e69fd016777517aa01056317f467ad09aff09be73c9731b0d\n\n# tcId = 258\n# special case hash\nmsg = 393533393034313035\nresult = valid\nsig = 3045022100975bd7157a8d363b309f1f444012b1a1d23096593133e71b4ca8b059cff37eaf02207faa7a28b1c822baa241793f2abc930bd4c69840fe090f2aacc", + "46786bf919622\n\n# tcId = 259\n# special case hash\nmsg = 393738383438303339\nresult = valid\nsig = 304402205694a6f84b8f875c276afd2ebcfe4d61de9ec90305afb1357b95b3e0da43885e02200dffad9ffd0b757d8051dec02ebdf70d8ee2dc5c7870c0823b6ccc7c679cbaa4\n\n# tcId = 260\n# special case hash\nmsg = 33363130363732343432\nresult = valid\nsig = 3045022100a0c30e8026fdb2b4b4968a27d16a6d08f7098f1a98d21620d7454ba9790f1ba602205e470453a8a399f15baf463f9deceb53acc5ca64459149688bd2760c65424339\n\n# tcId = 261\n# special case hash\nmsg = 31303534323430373035\nresult = valid\nsig = 30440220614ea84acf736527dd73602cd4bb4eea1dfebebd5ad8aca52aa0228cf7b99a880220737cc85f5f2d2f60d1b8183f3ed490e4de14368e96a9482c2a4dd193195c902f\n\n# tcId = 262\n# special case hash\nmsg = 35313734343438313937\nresult = valid\nsig = 3045022100bead6734ebe44b810d3fb2ea00b1732945377338febfd439a8d74dfbd0f942fa02206bb18eae36616a7d3cad35919fd21a8af4bbe7a10f73b3e036a46b103ef56e2a\n\n# tcId = 263\n# special case hash\nmsg = 31393637353631323531\nresult = valid\nsig = 30440220499625479e161dacd4db9d9ce64854c98d922cbf212703e9654fae182df9bad2022042c177cf37b8193a0131108d97819edd9439936028864ac195b64fca76d9d693\n\n# tcId = 264\n# special case hash\nmsg = 33343437323533333433\nresult = valid\nsig = 3045022008f16b8093a8fb4d66a2c8065b541b3d31e3bfe694f6b89c50fb1aaa6ff6c9b20221009d6455e2d5d1779748573b611cb95d4a21f967410399b39b535ba3e5af81ca2e\n\n# tcId = 265\n# special case hash\nmsg = 333638323634333138\nresult = valid\nsig = 3046022100be26231b6191658a19dd72ddb99ed8f8c579b6938d19bce8eed8dc2b338cb5f8022100e1d9a32ee56cffed37f0f22b2dcb57d5c943c14f79694a03b9c5e96952575c89\n\n# tcId = 266\n# special case hash\nmsg = 33323631313938363038\nresult = valid\nsig = 3045022015e76880898316b16204ac920a02d58045f36a229d4aa4f812638c455abe0443022100e74d357d3fcb5c8c5337bd6aba4178b455ca10e226e13f9638196506a1939123\n\n# tcId = 267\n# special case hash\nmsg = 39363738373831303934\nresult = valid\nsig = 30440220352ecb53f8df2c503a45f9846fc28d1d31e6307d3ddbffc1132315cc07f16dad02201348dfa9c482c558e1d05c5242ca1c39436726ecd28258b1899792887dd0a3c6\n\n# tcId = 268\n# special case hash\nmsg = 34393538383233383233\nresult = valid\nsig = 304402204a40801a7e606ba78a0da9882ab23c7677b8642349ed3d652c5bfa5f2a9558fb02203a49b64848d682ef7f605f2832f7384bdc24ed2925825bf8ea77dc5981725782\n\n# tcId = 269\n# special case hash\nmsg = 383234363337383337\nresult = valid\nsig = 3045022100eacc5e1a8304a74d2be412b078924b3bb3511bac855c05c9e5e9e44df3d61e9602207451cd8e18d6ed1885dd827714847f96ec4bb0ed4c36ce9808db8f714204f6d1\n\n# tcId = 270\n# special case hash\nmsg = 3131303230383333373736\nresult = valid\nsig = 304502202f7a5e9e5771d424f30f67fdab61e8ce4f8cd1214882adb65f7de94c31577052022100ac4e69808345809b44acb0b2bd889175fb75dd050c5a449ab9528f8f78daa10c\n\n# tcId = 271\n# special case hash\nmsg = 313333383731363438\nresult = valid\nsig = 3045022100ffcda40f792ce4d93e7e0f0e95e1a2147dddd7f6487621c30a03d710b3300219022079938b55f8a17f7ed7ba9ade8f2065a1fa77618f0b67add8d58c422c2453a49a\n\n# tcId = 272\n# special case hash\nmsg = 333232313434313632\nresult = valid\nsig = 304602210081f2359c4faba6b53d3e8c8c3fcc16a948350f7ab3a588b28c17603a431e39a8022100cd6f6a5cc3b55ead0ff695d06c6860b509e46d99fccefb9f7f9e101857f74300\n\n# tcId = 273\n# special case hash\nmsg = 3130363836363535353436\nresult = valid\nsig = 3045022100dfc8bf520445cbb8ee1596fb073ea283ea130251a6fdffa5c3f5f2aaf75ca8080220048e33efce147c9dd92823640e338e68bfd7d0dc7a4905b3a7ac711e577e90e7\n\n# tcId = 274\n# special case hash\nmsg = 3632313535323436\nresult = valid\nsig = 3046022100ad019f74c6941d20efda70b46c53db166503a0e393e932f688227688ba6a576202210093320eb7ca0710255346bdbb3102cdcf7964ef2e0988e712bc05efe16c199345\n\n# tcId = 275\n# special case hash\nmsg = 37303330383138373734\nresult = valid\nsig = 3046022100ac8096842e8add68c34e78ce11dd71e4b54316bd3ebf7fffdeb7bd5a3ebc1883022100f5ca2f4f23d674502d4caf85d187215d36e3ce9f0ce219709f21a3aac003b7a8\n\n# tcId = 276\n# special case hash\nmsg = 35393234353233373434\nresult = valid\nsig = 30440220677b2d3a59b18a5ff939b70ea002250889ddcd7b7b9d776854b4943693fb92f702206b4ba856ade7677bf30307b21f3ccda35d2f63aee81efd0bab6972cc0795db55\n\n# tcId = 277\n# special case hash\nmsg = 31343935353836363231\nresult = valid\nsig = 30450220479e1ded14bcaed0379ba8e1b73d3115d84d31d4b7c30e1f05e1fc0d5957cfb0022100918f79e35b3d89487cf634a4f05b2e0c30857ca879f97c771e877027355b2443\n\n# tcId = 278\n# special case hash\nmsg = 34303035333134343036\nresult = valid\nsig = 3044022043dfccd0edb9e280d9a58f01164d55c3d711e14b12ac5cf3b64840ead512a0a302201dbe33fa8ba84533cd5c4934365b3442ca1174899b78ef9a3199f49584389772\n\n# tcId = 279\n# special case hash\nmsg = 33303936343537353132\nresult = valid\nsig = 304402205b09ab637bd4caf0f4c7c7e4bca592fea20e9087c259d26a38bb4085f0bbff11022045b7eb467b6748af618e9d80d6fdcd6aa24964e5a13f885bca8101de08eb0d75\n\n# tcId = 280\n# special case hash\nmsg = 32373834303235363230\nresult = valid\nsig = 304502205e9b1c5a028070df5728c5c8af9b74e0667afa570a6cfa0114a5039ed15ee06f022100b1360907e2d9785ead362bb8d7bd661b6c29eeffd3c5037744edaeb9ad990c20\n\n# tcId = 281\n# special case hash\nmsg = 32363138373837343138\nresult = valid\nsig = 304502200671a0a85c2b72d54a2fb0990e34538b4890050f5a5712f6d1a7a5fb8578f32e022100db1846bab6b7361479ab9c3285ca41291808f27fd5bd4fdac720e5854713694c\n\n# tcId = 282\n# special case hash\nmsg = 31363432363235323632\nresult = valid\nsig = 304402207673f8526748446477dbbb0590a45492c5d7d69859d301abbaedb35b2095103a02203dc70ddf9c6b524d886bed9e6af02e0e4dec0d417a414fed3807ef4422913d7c\n\n# tcId = 283\n# special case hash\nmsg = 36383234313839343336\nresult = valid\nsig = 304402207f085441070ecd2bb21285089ebb1aa6450d1a06c36d3ff39dfd657a796d12b50220249712012029870a2459d18d47da9aa492a5e6cb4b2d8dafa9e4c5c54a2b9a8b\n\n# tcId = 284\n# special case hash\nmsg = 343834323435343235\nresult = valid\nsig = 3046022100914c67fb61dd1e27c867398ea7322d5ab76df04bc5aa6683a8e0f30a5d287348022100fa07474031481dda4953e3ac1959ee8cea7e66ec412b38d6c96d28f6d37304ea\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 040ad99500288d466940031d72a9f5445a4d43784640855bf0a69874d2de5fe103c5011e6ef2c42dcd50d5d3d29f99ae6eba2c80c9244f4c5422f0979ff0c3ba5e]\n[key.wx = 0ad99500288d466940031d72a9f5445a4d43784640855bf0a69874d2de5fe103]\n[key.wy = 00c5011e6ef2c42dcd50d5d3d29f99ae6eba2c80c9244f4c5422f0979ff0c3ba5e]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200040ad99500288d466940031d72a9f5445a4d43784640855bf0a69874d2de5fe103c5011e6ef2c42dcd50d5d3d29f99ae6eba2c80c9244f4c5422f0979ff0c3ba5e]\n[sha = SHA-256]\n\n# tcId = 285\n# k*G has a large x-coordinate\nmsg = 313233343030\nresult = valid\nsig = 303502104319055358e8617b0c46353d039cdaab022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254e\n\n# tcId = 286\n# r too large\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000001000000000000000000000000fffffffffffffffffffffffc022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254e\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04ab05fd9d0de26b9ce6f4819652d9fc69193d0aa398f0fba8013e09c58220455419235271228c786759095d12b75af0692dd4103f19f6a8c32f49435a1e9b8d45]\n[key.wx = 00ab05fd9d0de26b9ce6f4819652d9fc69193d0aa398f0fba8013e09c582204554]\n[key.wy = 19235271228c786759095d12b75af0692dd4103f19f6a8c32f49435a1e9b8d45]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004ab05fd9d0de26b9ce6f4819652d9fc69193d0aa398f0fba8013e09c58220455419235271228c786759095d12b75af0692dd4103f19f6a8c32f49435a1e9b8d45]\n[sha = SHA-256]\n\n# tcId = 287\n# r,s are large\nmsg = 313233343030\nresult = valid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254f022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254e\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 0480984f39a1ff38a86a68aa4201b6be5dfbfecf876219710b07badf6fdd4c6c5611feb97390d9826e7a06dfb41871c940d74415ed3cac2089f1445019bb55ed95]\n[key.wx = 0080984f39a1ff38a86a68aa4201b6be5dfbfecf876219710b07badf6fdd4c6c56]\n[key.wy = 11feb97390d9826e7a06dfb41871c940d74415ed3cac2089f1445019bb55ed95]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000480984f39a1ff38a86a68aa4201b6be5dfbfecf876219710b07badf6fdd4c6c5611feb97390d9826e7a06dfb41871c940d74415ed3cac2089", + "f1445019bb55ed95]\n[sha = SHA-256]\n\n# tcId = 288\n# r and s^-1 have a large Hamming weight\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100909135bdb6799286170f5ead2de4f6511453fe50914f3df2de54a36383df8dd4\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 044201b4272944201c3294f5baa9a3232b6dd687495fcc19a70a95bc602b4f7c0595c37eba9ee8171c1bb5ac6feaf753bc36f463e3aef16629572c0c0a8fb0800e]\n[key.wx = 4201b4272944201c3294f5baa9a3232b6dd687495fcc19a70a95bc602b4f7c05]\n[key.wy = 0095c37eba9ee8171c1bb5ac6feaf753bc36f463e3aef16629572c0c0a8fb0800e]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200044201b4272944201c3294f5baa9a3232b6dd687495fcc19a70a95bc602b4f7c0595c37eba9ee8171c1bb5ac6feaf753bc36f463e3aef16629572c0c0a8fb0800e]\n[sha = SHA-256]\n\n# tcId = 289\n# r and s^-1 have a large Hamming weight\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022027b4577ca009376f71303fd5dd227dcef5deb773ad5f5a84360644669ca249a5\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04a71af64de5126a4a4e02b7922d66ce9415ce88a4c9d25514d91082c8725ac9575d47723c8fbe580bb369fec9c2665d8e30a435b9932645482e7c9f11e872296b]\n[key.wx = 00a71af64de5126a4a4e02b7922d66ce9415ce88a4c9d25514d91082c8725ac957]\n[key.wy = 5d47723c8fbe580bb369fec9c2665d8e30a435b9932645482e7c9f11e872296b]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004a71af64de5126a4a4e02b7922d66ce9415ce88a4c9d25514d91082c8725ac9575d47723c8fbe580bb369fec9c2665d8e30a435b9932645482e7c9f11e872296b]\n[sha = SHA-256]\n\n# tcId = 290\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020105020101\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 046627cec4f0731ea23fc2931f90ebe5b7572f597d20df08fc2b31ee8ef16b15726170ed77d8d0a14fc5c9c3c4c9be7f0d3ee18f709bb275eaf2073e258fe694a5]\n[key.wx = 6627cec4f0731ea23fc2931f90ebe5b7572f597d20df08fc2b31ee8ef16b1572]\n[key.wy = 6170ed77d8d0a14fc5c9c3c4c9be7f0d3ee18f709bb275eaf2073e258fe694a5]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200046627cec4f0731ea23fc2931f90ebe5b7572f597d20df08fc2b31ee8ef16b15726170ed77d8d0a14fc5c9c3c4c9be7f0d3ee18f709bb275eaf2073e258fe694a5]\n[sha = SHA-256]\n\n# tcId = 291\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020105020103\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 045a7c8825e85691cce1f5e7544c54e73f14afc010cb731343262ca7ec5a77f5bfef6edf62a4497c1bd7b147fb6c3d22af3c39bfce95f30e13a16d3d7b2812f813]\n[key.wx = 5a7c8825e85691cce1f5e7544c54e73f14afc010cb731343262ca7ec5a77f5bf]\n[key.wy = 00ef6edf62a4497c1bd7b147fb6c3d22af3c39bfce95f30e13a16d3d7b2812f813]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200045a7c8825e85691cce1f5e7544c54e73f14afc010cb731343262ca7ec5a77f5bfef6edf62a4497c1bd7b147fb6c3d22af3c39bfce95f30e13a16d3d7b2812f813]\n[sha = SHA-256]\n\n# tcId = 292\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020105020105\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04cbe0c29132cd738364fedd603152990c048e5e2fff996d883fa6caca7978c73770af6a8ce44cb41224b2603606f4c04d188e80bff7cc31ad5189d4ab0d70e8c1]\n[key.wx = 00cbe0c29132cd738364fedd603152990c048e5e2fff996d883fa6caca7978c737]\n[key.wy = 70af6a8ce44cb41224b2603606f4c04d188e80bff7cc31ad5189d4ab0d70e8c1]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004cbe0c29132cd738364fedd603152990c048e5e2fff996d883fa6caca7978c73770af6a8ce44cb41224b2603606f4c04d188e80bff7cc31ad5189d4ab0d70e8c1]\n[sha = SHA-256]\n\n# tcId = 293\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020105020106\n\n# tcId = 294\n# r is larger than n\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632556020106\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 044be4178097002f0deab68f0d9a130e0ed33a6795d02a20796db83444b037e13920f13051e0eecdcfce4dacea0f50d1f247caa669f193c1b4075b51ae296d2d56]\n[key.wx = 4be4178097002f0deab68f0d9a130e0ed33a6795d02a20796db83444b037e139]\n[key.wy = 20f13051e0eecdcfce4dacea0f50d1f247caa669f193c1b4075b51ae296d2d56]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200044be4178097002f0deab68f0d9a130e0ed33a6795d02a20796db83444b037e13920f13051e0eecdcfce4dacea0f50d1f247caa669f193c1b4075b51ae296d2d56]\n[sha = SHA-256]\n\n# tcId = 295\n# s is larger than n\nmsg = 313233343030\nresult = invalid\nsig = 3026020105022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc75fbd8\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04d0f73792203716afd4be4329faa48d269f15313ebbba379d7783c97bf3e890d9971f4a3206605bec21782bf5e275c714417e8f566549e6bc68690d2363c89cc1]\n[key.wx = 00d0f73792203716afd4be4329faa48d269f15313ebbba379d7783c97bf3e890d9]\n[key.wy = 00971f4a3206605bec21782bf5e275c714417e8f566549e6bc68690d2363c89cc1]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004d0f73792203716afd4be4329faa48d269f15313ebbba379d7783c97bf3e890d9971f4a3206605bec21782bf5e275c714417e8f566549e6bc68690d2363c89cc1]\n[sha = SHA-256]\n\n# tcId = 296\n# small r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3027020201000221008f1e3c7862c58b16bb76eddbb76eddbb516af4f63f2d74d76e0d28c9bb75ea88\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 044838b2be35a6276a80ef9e228140f9d9b96ce83b7a254f71ccdebbb8054ce05ffa9cbc123c919b19e00238198d04069043bd660a828814051fcb8aac738a6c6b]\n[key.wx = 4838b2be35a6276a80ef9e228140f9d9b96ce83b7a254f71ccdebbb8054ce05f]\n[key.wy = 00fa9cbc123c919b19e00238198d04069043bd660a828814051fcb8aac738a6c6b]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200044838b2be35a6276a80ef9e228140f9d9b96ce83b7a254f71ccdebbb8054ce05ffa9cbc123c919b19e00238198d04069043bd660a828814051fcb8aac738a6c6b]\n[sha = SHA-256]\n\n# tcId = 297\n# smallish r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 302c02072d9b4d347952d6022100ef3043e7329581dbb3974497710ab11505ee1c87ff907beebadd195a0ffe6d7a\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 047393983ca30a520bbc4783dc9960746aab444ef520c0a8e771119aa4e74b0f64e9d7be1ab01a0bf626e709863e6a486dbaf32793afccf774e2c6cd27b1857526]\n[key.wx = 7393983ca30a520bbc4783dc9960746aab444ef520c0a8e771119aa4e74b0f64]\n[key.wy = 00e9d7be1ab01a0bf626e709863e6a486dbaf32793afccf774e2c6cd27b1857526]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200047393983ca30a520bbc4783dc9960746aab444ef520c0a8e771119aa4e74b0f64e9d7be1ab01a0bf626e709863e6a486dbaf32793afccf774e2c6cd27b1857526]\n[sha = SHA-256]\n\n# tcId = 298\n# 100-bit r and small s^-1\nmsg = 313233343030\nresult = valid\nsig = 3032020d1033e67e37b32b445580bf4eff0221008b748b74000000008b748b748b748b7466e769ad4a16d3dcd87129b8e91d1b4d\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 045ac331a1103fe966697379f356a937f350588a05477e308851b8a502d5dfcdc5fe9993df4b57939b2b8da095bf6d794265204cfe03be995a02e65d408c871c0b]\n[key.wx = 5ac331a1103fe966697379f356a937f350588a05477e308851b8a502d5dfcdc5]\n[key.wy = 00fe9993df4b57939b2b8da095bf6d794265204cfe03be995a02e65d408c871c0b]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200045ac331a1103fe966697379f356a937f350588a05477e308851b8a502d5dfcdc5fe9993df4b57939b2b8da095bf6d794265204cfe03be995a02e65d408c871c0b]\n[sha = SHA-256]\n\n# tcId = 299\n# small r and 100 bit s^-1\nmsg = 313233343030\nresult = valid\nsig = 302702020100022100ef9f6ba4d97c09d03178fa20b4aaad83be3cf9cb824a879fec3270fc4b81ef5b\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 041d209be8de2de877095a399d3904c74cc458d926e27bb8e58e5eae5767c41509dd59e04c214f7b18dce351fc2a549893a6860e80163f38cc60a4f2c9d040d8c9]\n[key.wx = 1d209be8de2de877095a399d3904c74cc458d926e27bb8e58e5eae5767c41509]\n[key.wy = 00dd59e04c214f7b18dce351fc2a549893a6860e80163f38cc60a4f2c9d040d8c9]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200041d209be8de2de877095a399d3904c74cc458d926e27bb8e", + "58e5eae5767c41509dd59e04c214f7b18dce351fc2a549893a6860e80163f38cc60a4f2c9d040d8c9]\n[sha = SHA-256]\n\n# tcId = 300\n# 100-bit r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3032020d062522bbd3ecbe7c39e93e7c25022100ef9f6ba4d97c09d03178fa20b4aaad83be3cf9cb824a879fec3270fc4b81ef5b\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04083539fbee44625e3acaafa2fcb41349392cef0633a1b8fabecee0c133b10e99915c1ebe7bf00df8535196770a58047ae2a402f26326bb7d41d4d7616337911e]\n[key.wx = 083539fbee44625e3acaafa2fcb41349392cef0633a1b8fabecee0c133b10e99]\n[key.wy = 00915c1ebe7bf00df8535196770a58047ae2a402f26326bb7d41d4d7616337911e]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004083539fbee44625e3acaafa2fcb41349392cef0633a1b8fabecee0c133b10e99915c1ebe7bf00df8535196770a58047ae2a402f26326bb7d41d4d7616337911e]\n[sha = SHA-256]\n\n# tcId = 301\n# r and s^-1 are close to n\nmsg = 313233343030\nresult = valid\nsig = 3045022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6324d50220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 048aeb368a7027a4d64abdea37390c0c1d6a26f399e2d9734de1eb3d0e1937387405bd13834715e1dbae9b875cf07bd55e1b6691c7f7536aef3b19bf7a4adf576d]\n[key.wx = 008aeb368a7027a4d64abdea37390c0c1d6a26f399e2d9734de1eb3d0e19373874]\n[key.wy = 05bd13834715e1dbae9b875cf07bd55e1b6691c7f7536aef3b19bf7a4adf576d]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200048aeb368a7027a4d64abdea37390c0c1d6a26f399e2d9734de1eb3d0e1937387405bd13834715e1dbae9b875cf07bd55e1b6691c7f7536aef3b19bf7a4adf576d]\n[sha = SHA-256]\n\n# tcId = 302\n# s == 1\nmsg = 313233343030\nresult = valid\nsig = 30250220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70020101\n\n# tcId = 303\n# s == 0\nmsg = 313233343030\nresult = invalid\nsig = 30250220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70020100\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04b533d4695dd5b8c5e07757e55e6e516f7e2c88fa0239e23f60e8ec07dd70f2871b134ee58cc583278456863f33c3a85d881f7d4a39850143e29d4eaf009afe47]\n[key.wx = 00b533d4695dd5b8c5e07757e55e6e516f7e2c88fa0239e23f60e8ec07dd70f287]\n[key.wy = 1b134ee58cc583278456863f33c3a85d881f7d4a39850143e29d4eaf009afe47]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004b533d4695dd5b8c5e07757e55e6e516f7e2c88fa0239e23f60e8ec07dd70f2871b134ee58cc583278456863f33c3a85d881f7d4a39850143e29d4eaf009afe47]\n[sha = SHA-256]\n\n# tcId = 304\n# point at infinity during verify\nmsg = 313233343030\nresult = invalid\nsig = 304402207fffffff800000007fffffffffffffffde737d56d38bcf4279dce5617e3192a80220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04f50d371b91bfb1d7d14e1323523bc3aa8cbf2c57f9e284de628c8b4536787b86f94ad887ac94d527247cd2e7d0c8b1291c553c9730405380b14cbb209f5fa2dd]\n[key.wx = 00f50d371b91bfb1d7d14e1323523bc3aa8cbf2c57f9e284de628c8b4536787b86]\n[key.wy = 00f94ad887ac94d527247cd2e7d0c8b1291c553c9730405380b14cbb209f5fa2dd]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004f50d371b91bfb1d7d14e1323523bc3aa8cbf2c57f9e284de628c8b4536787b86f94ad887ac94d527247cd2e7d0c8b1291c553c9730405380b14cbb209f5fa2dd]\n[sha = SHA-256]\n\n# tcId = 305\n# edge case for signature malleability\nmsg = 313233343030\nresult = valid\nsig = 304402207fffffff800000007fffffffffffffffde737d56d38bcf4279dce5617e3192a902207fffffff800000007fffffffffffffffde737d56d38bcf4279dce5617e3192a8\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 0468ec6e298eafe16539156ce57a14b04a7047c221bafc3a582eaeb0d857c4d94697bed1af17850117fdb39b2324f220a5698ed16c426a27335bb385ac8ca6fb30]\n[key.wx = 68ec6e298eafe16539156ce57a14b04a7047c221bafc3a582eaeb0d857c4d946]\n[key.wy = 0097bed1af17850117fdb39b2324f220a5698ed16c426a27335bb385ac8ca6fb30]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000468ec6e298eafe16539156ce57a14b04a7047c221bafc3a582eaeb0d857c4d94697bed1af17850117fdb39b2324f220a5698ed16c426a27335bb385ac8ca6fb30]\n[sha = SHA-256]\n\n# tcId = 306\n# edge case for signature malleability\nmsg = 313233343030\nresult = valid\nsig = 304402207fffffff800000007fffffffffffffffde737d56d38bcf4279dce5617e3192a902207fffffff800000007fffffffffffffffde737d56d38bcf4279dce5617e3192a9\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 0469da0364734d2e530fece94019265fefb781a0f1b08f6c8897bdf6557927c8b866d2d3c7dcd518b23d726960f069ad71a933d86ef8abbcce8b20f71e2a847002]\n[key.wx = 69da0364734d2e530fece94019265fefb781a0f1b08f6c8897bdf6557927c8b8]\n[key.wy = 66d2d3c7dcd518b23d726960f069ad71a933d86ef8abbcce8b20f71e2a847002]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000469da0364734d2e530fece94019265fefb781a0f1b08f6c8897bdf6557927c8b866d2d3c7dcd518b23d726960f069ad71a933d86ef8abbcce8b20f71e2a847002]\n[sha = SHA-256]\n\n# tcId = 307\n# u1 == 1\nmsg = 313233343030\nresult = valid\nsig = 30450220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70022100bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04d8adc00023a8edc02576e2b63e3e30621a471e2b2320620187bf067a1ac1ff3233e2b50ec09807accb36131fff95ed12a09a86b4ea9690aa32861576ba2362e1]\n[key.wx = 00d8adc00023a8edc02576e2b63e3e30621a471e2b2320620187bf067a1ac1ff32]\n[key.wy = 33e2b50ec09807accb36131fff95ed12a09a86b4ea9690aa32861576ba2362e1]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004d8adc00023a8edc02576e2b63e3e30621a471e2b2320620187bf067a1ac1ff3233e2b50ec09807accb36131fff95ed12a09a86b4ea9690aa32861576ba2362e1]\n[sha = SHA-256]\n\n# tcId = 308\n# u1 == n - 1\nmsg = 313233343030\nresult = valid\nsig = 30440220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70022044a5ad0ad0636d9f12bc9e0a6bdd5e1cbcb012ea7bf091fcec15b0c43202d52e\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 043623ac973ced0a56fa6d882f03a7d5c7edca02cfc7b2401fab3690dbe75ab7858db06908e64b28613da7257e737f39793da8e713ba0643b92e9bb3252be7f8fe]\n[key.wx = 3623ac973ced0a56fa6d882f03a7d5c7edca02cfc7b2401fab3690dbe75ab785]\n[key.wy = 008db06908e64b28613da7257e737f39793da8e713ba0643b92e9bb3252be7f8fe]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200043623ac973ced0a56fa6d882f03a7d5c7edca02cfc7b2401fab3690dbe75ab7858db06908e64b28613da7257e737f39793da8e713ba0643b92e9bb3252be7f8fe]\n[sha = SHA-256]\n\n# tcId = 309\n# u2 == 1\nmsg = 313233343030\nresult = valid\nsig = 30440220555555550000000055555555555555553ef7a8e48d07df81a693439654210c700220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04cf04ea77e9622523d894b93ff52dc3027b31959503b6fa3890e5e04263f922f1e8528fb7c006b3983c8b8400e57b4ed71740c2f3975438821199bedeaecab2e9]\n[key.wx = 00cf04ea77e9622523d894b93ff52dc3027b31959503b6fa3890e5e04263f922f1]\n[key.wy = 00e8528fb7c006b3983c8b8400e57b4ed71740c2f3975438821199bedeaecab2e9]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004cf04ea77e9622523d894b93ff52dc3027b31959503b6fa3890e5e04263f922f1e8528fb7c006b3983c8b8400e57b4ed71740c2f3975438821199bedeaecab2e9]\n[sha = SHA-256]\n\n# tcId = 310\n# u2 == n - 1\nmsg = 313233343030\nresult = valid\nsig = 30450220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70022100aaaaaaaa00000000aaaaaaaaaaaaaaaa7def51c91a0fbf034d26872ca84218e1\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04db7a2c8a1ab573e5929dc24077b508d7e683d49227996bda3e9f78dbeff773504f417f3bc9a88075c2e0aadd5a13311730cf7cc76a82f11a36eaf08a6c99a206]\n[key.wx = 00db7a2c8a1ab573e5929dc24077b508d7e683d49227996bda3e9f78dbeff77350]\n[key.wy = 4f417f3bc9a88075c2e0aadd5a13311730cf7cc76a82f11a36eaf08a6c99a206]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004db7a2c8a1ab573e5929dc24077b508d7e683d49227996bda3e9f78dbeff773504f417f3bc9a88075c2e0aadd5a13311730cf7cc76a82f11a36eaf08a6c99a206]\n[sha = SHA-256]\n\n# tcId =", + " 311\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100e91e1ba60fdedb76a46bcb51dc0b8b4b7e019f0a28721885fa5d3a8196623397\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04dead11c7a5b396862f21974dc4752fadeff994efe9bbd05ab413765ea80b6e1f1de3f0640e8ac6edcf89cff53c40e265bb94078a343736df07aa0318fc7fe1ff]\n[key.wx = 00dead11c7a5b396862f21974dc4752fadeff994efe9bbd05ab413765ea80b6e1f]\n[key.wy = 1de3f0640e8ac6edcf89cff53c40e265bb94078a343736df07aa0318fc7fe1ff]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004dead11c7a5b396862f21974dc4752fadeff994efe9bbd05ab413765ea80b6e1f1de3f0640e8ac6edcf89cff53c40e265bb94078a343736df07aa0318fc7fe1ff]\n[sha = SHA-256]\n\n# tcId = 312\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100fdea5843ffeb73af94313ba4831b53fe24f799e525b1e8e8c87b59b95b430ad9\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04d0bc472e0d7c81ebaed3a6ef96c18613bb1fea6f994326fbe80e00dfde67c7e9986c723ea4843d48389b946f64ad56c83ad70ff17ba85335667d1bb9fa619efd]\n[key.wx = 00d0bc472e0d7c81ebaed3a6ef96c18613bb1fea6f994326fbe80e00dfde67c7e9]\n[key.wy = 00986c723ea4843d48389b946f64ad56c83ad70ff17ba85335667d1bb9fa619efd]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004d0bc472e0d7c81ebaed3a6ef96c18613bb1fea6f994326fbe80e00dfde67c7e9986c723ea4843d48389b946f64ad56c83ad70ff17ba85335667d1bb9fa619efd]\n[sha = SHA-256]\n\n# tcId = 313\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022003ffcabf2f1b4d2a65190db1680d62bb994e41c5251cd73b3c3dfc5e5bafc035\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04a0a44ca947d66a2acb736008b9c08d1ab2ad03776e02640f78495d458dd51c326337fe5cf8c4604b1f1c409dc2d872d4294a4762420df43a30a2392e40426add]\n[key.wx = 00a0a44ca947d66a2acb736008b9c08d1ab2ad03776e02640f78495d458dd51c32]\n[key.wy = 6337fe5cf8c4604b1f1c409dc2d872d4294a4762420df43a30a2392e40426add]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004a0a44ca947d66a2acb736008b9c08d1ab2ad03776e02640f78495d458dd51c326337fe5cf8c4604b1f1c409dc2d872d4294a4762420df43a30a2392e40426add]\n[sha = SHA-256]\n\n# tcId = 314\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02204dfbc401f971cd304b33dfdb17d0fed0fe4c1a88ae648e0d2847f74977534989\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04c9c2115290d008b45fb65fad0f602389298c25420b775019d42b62c3ce8a96b73877d25a8080dc02d987ca730f0405c2c9dbefac46f9e601cc3f06e9713973fd]\n[key.wx = 00c9c2115290d008b45fb65fad0f602389298c25420b775019d42b62c3ce8a96b7]\n[key.wy = 3877d25a8080dc02d987ca730f0405c2c9dbefac46f9e601cc3f06e9713973fd]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004c9c2115290d008b45fb65fad0f602389298c25420b775019d42b62c3ce8a96b73877d25a8080dc02d987ca730f0405c2c9dbefac46f9e601cc3f06e9713973fd]\n[sha = SHA-256]\n\n# tcId = 315\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100bc4024761cd2ffd43dfdb17d0fed112b988977055cd3a8e54971eba9cda5ca71\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 045eca1ef4c287dddc66b8bccf1b88e8a24c0018962f3c5e7efa83bc1a5ff6033e5e79c4cb2c245b8c45abdce8a8e4da758d92a607c32cd407ecaef22f1c934a71]\n[key.wx = 5eca1ef4c287dddc66b8bccf1b88e8a24c0018962f3c5e7efa83bc1a5ff6033e]\n[key.wy = 5e79c4cb2c245b8c45abdce8a8e4da758d92a607c32cd407ecaef22f1c934a71]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200045eca1ef4c287dddc66b8bccf1b88e8a24c0018962f3c5e7efa83bc1a5ff6033e5e79c4cb2c245b8c45abdce8a8e4da758d92a607c32cd407ecaef22f1c934a71]\n[sha = SHA-256]\n\n# tcId = 316\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0220788048ed39a5ffa77bfb62fa1fda2257742bf35d128fb3459f2a0c909ee86f91\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 045caaa030e7fdf0e4936bc7ab5a96353e0a01e4130c3f8bf22d473e317029a47adeb6adc462f7058f2a20d371e9702254e9b201642005b3ceda926b42b178bef9]\n[key.wx = 5caaa030e7fdf0e4936bc7ab5a96353e0a01e4130c3f8bf22d473e317029a47a]\n[key.wy = 00deb6adc462f7058f2a20d371e9702254e9b201642005b3ceda926b42b178bef9]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200045caaa030e7fdf0e4936bc7ab5a96353e0a01e4130c3f8bf22d473e317029a47adeb6adc462f7058f2a20d371e9702254e9b201642005b3ceda926b42b178bef9]\n[sha = SHA-256]\n\n# tcId = 317\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0220476d9131fd381bd917d0fed112bc9e0a5924b5ed5b11167edd8b23582b3cb15e\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04c2fd20bac06e555bb8ac0ce69eb1ea20f83a1fc3501c8a66469b1a31f619b0986237050779f52b615bd7b8d76a25fc95ca2ed32525c75f27ffc87ac397e6cbaf]\n[key.wx = 00c2fd20bac06e555bb8ac0ce69eb1ea20f83a1fc3501c8a66469b1a31f619b098]\n[key.wy = 6237050779f52b615bd7b8d76a25fc95ca2ed32525c75f27ffc87ac397e6cbaf]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004c2fd20bac06e555bb8ac0ce69eb1ea20f83a1fc3501c8a66469b1a31f619b0986237050779f52b615bd7b8d76a25fc95ca2ed32525c75f27ffc87ac397e6cbaf]\n[sha = SHA-256]\n\n# tcId = 318\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0221008374253e3e21bd154448d0a8f640fe46fafa8b19ce78d538f6cc0a19662d3601\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 043fd6a1ca7f77fb3b0bbe726c372010068426e11ea6ae78ce17bedae4bba86ced03ce5516406bf8cfaab8745eac1cd69018ad6f50b5461872ddfc56e0db3c8ff4]\n[key.wx = 3fd6a1ca7f77fb3b0bbe726c372010068426e11ea6ae78ce17bedae4bba86ced]\n[key.wy = 03ce5516406bf8cfaab8745eac1cd69018ad6f50b5461872ddfc56e0db3c8ff4]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200043fd6a1ca7f77fb3b0bbe726c372010068426e11ea6ae78ce17bedae4bba86ced03ce5516406bf8cfaab8745eac1cd69018ad6f50b5461872ddfc56e0db3c8ff4]\n[sha = SHA-256]\n\n# tcId = 319\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0220357cfd3be4d01d413c5b9ede36cba5452c11ee7fe14879e749ae6a2d897a52d6\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 049cb8e51e27a5ae3b624a60d6dc32734e4989db20e9bca3ede1edf7b086911114b4c104ab3c677e4b36d6556e8ad5f523410a19f2e277aa895fc57322b4427544]\n[key.wx = 009cb8e51e27a5ae3b624a60d6dc32734e4989db20e9bca3ede1edf7b086911114]\n[key.wy = 00b4c104ab3c677e4b36d6556e8ad5f523410a19f2e277aa895fc57322b4427544]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200049cb8e51e27a5ae3b624a60d6dc32734e4989db20e9bca3ede1edf7b086911114b4c104ab3c677e4b36d6556e8ad5f523410a19f2e277aa895fc57322b4427544]\n[sha = SHA-256]\n\n# tcId = 320\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022029798c5c0ee287d4a5e8e6b799fd86b8df5225298e6ffc807cd2f2bc27a0a6d8\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04a3e52c156dcaf10502620b7955bc2b40bc78ef3d569e1223c262512d8f49602a4a2039f31c1097024ad3cc86e57321de032355463486164cf192944977df147f]\n[key.wx = 00a3e52c156dcaf10502620b7955bc2b40bc78ef3d569e1223c262512d8f49602a]\n[key.wy = 4a2039f31c1097024ad3cc86e57321de032355463486164cf192944977df147f]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004a3e52c156dcaf10502620b7955bc2b40bc78ef3d569e1223c262512d8f49602a4a2039f31c1097024ad3cc86e57321de032355463486164cf192944977df147f]\n[sha = SHA-256]\n\n# tcId = 321\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02200b70f22c781092452dca1a5711fa3a5a1f72add1bf52", + "c2ff7cae4820b30078dd\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04f19b78928720d5bee8e670fb90010fb15c37bf91b58a5157c3f3c059b2655e88cf701ec962fb4a11dcf273f5dc357e58468560c7cfeb942d074abd4329260509]\n[key.wx = 00f19b78928720d5bee8e670fb90010fb15c37bf91b58a5157c3f3c059b2655e88]\n[key.wy = 00cf701ec962fb4a11dcf273f5dc357e58468560c7cfeb942d074abd4329260509]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004f19b78928720d5bee8e670fb90010fb15c37bf91b58a5157c3f3c059b2655e88cf701ec962fb4a11dcf273f5dc357e58468560c7cfeb942d074abd4329260509]\n[sha = SHA-256]\n\n# tcId = 322\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022016e1e458f021248a5b9434ae23f474b43ee55ba37ea585fef95c90416600f1ba\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 0483a744459ecdfb01a5cf52b27a05bb7337482d242f235d7b4cb89345545c90a8c05d49337b9649813287de9ffe90355fd905df5f3c32945828121f37cc50de6e]\n[key.wx = 0083a744459ecdfb01a5cf52b27a05bb7337482d242f235d7b4cb89345545c90a8]\n[key.wy = 00c05d49337b9649813287de9ffe90355fd905df5f3c32945828121f37cc50de6e]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000483a744459ecdfb01a5cf52b27a05bb7337482d242f235d7b4cb89345545c90a8c05d49337b9649813287de9ffe90355fd905df5f3c32945828121f37cc50de6e]\n[sha = SHA-256]\n\n# tcId = 323\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02202252d6856831b6cf895e4f0535eeaf0e5e5809753df848fe760ad86219016a97\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04dd13c6b34c56982ddae124f039dfd23f4b19bbe88cee8e528ae51e5d6f3a21d7bfad4c2e6f263fe5eb59ca974d039fc0e4c3345692fb5320bdae4bd3b42a45ff]\n[key.wx = 00dd13c6b34c56982ddae124f039dfd23f4b19bbe88cee8e528ae51e5d6f3a21d7]\n[key.wy = 00bfad4c2e6f263fe5eb59ca974d039fc0e4c3345692fb5320bdae4bd3b42a45ff]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004dd13c6b34c56982ddae124f039dfd23f4b19bbe88cee8e528ae51e5d6f3a21d7bfad4c2e6f263fe5eb59ca974d039fc0e4c3345692fb5320bdae4bd3b42a45ff]\n[sha = SHA-256]\n\n# tcId = 324\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02210081ffe55f178da695b28c86d8b406b15dab1a9e39661a3ae017fbe390ac0972c3\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 0467e6f659cdde869a2f65f094e94e5b4dfad636bbf95192feeed01b0f3deb7460a37e0a51f258b7aeb51dfe592f5cfd5685bbe58712c8d9233c62886437c38ba0]\n[key.wx = 67e6f659cdde869a2f65f094e94e5b4dfad636bbf95192feeed01b0f3deb7460]\n[key.wy = 00a37e0a51f258b7aeb51dfe592f5cfd5685bbe58712c8d9233c62886437c38ba0]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000467e6f659cdde869a2f65f094e94e5b4dfad636bbf95192feeed01b0f3deb7460a37e0a51f258b7aeb51dfe592f5cfd5685bbe58712c8d9233c62886437c38ba0]\n[sha = SHA-256]\n\n# tcId = 325\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02207fffffffaaaaaaaaffffffffffffffffe9a2538f37b28a2c513dee40fecbb71a\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 042eb6412505aec05c6545f029932087e490d05511e8ec1f599617bb367f9ecaaf805f51efcc4803403f9b1ae0124890f06a43fedcddb31830f6669af292895cb0]\n[key.wx = 2eb6412505aec05c6545f029932087e490d05511e8ec1f599617bb367f9ecaaf]\n[key.wy = 00805f51efcc4803403f9b1ae0124890f06a43fedcddb31830f6669af292895cb0]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200042eb6412505aec05c6545f029932087e490d05511e8ec1f599617bb367f9ecaaf805f51efcc4803403f9b1ae0124890f06a43fedcddb31830f6669af292895cb0]\n[sha = SHA-256]\n\n# tcId = 326\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100b62f26b5f2a2b26f6de86d42ad8a13da3ab3cccd0459b201de009e526adf21f2\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 0484db645868eab35e3a9fd80e056e2e855435e3a6b68d75a50a854625fe0d7f356d2589ac655edc9a11ef3e075eddda9abf92e72171570ef7bf43a2ee39338cfe]\n[key.wx = 0084db645868eab35e3a9fd80e056e2e855435e3a6b68d75a50a854625fe0d7f35]\n[key.wy = 6d2589ac655edc9a11ef3e075eddda9abf92e72171570ef7bf43a2ee39338cfe]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000484db645868eab35e3a9fd80e056e2e855435e3a6b68d75a50a854625fe0d7f356d2589ac655edc9a11ef3e075eddda9abf92e72171570ef7bf43a2ee39338cfe]\n[sha = SHA-256]\n\n# tcId = 327\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100bb1d9ac949dd748cd02bbbe749bd351cd57b38bb61403d700686aa7b4c90851e\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 0491b9e47c56278662d75c0983b22ca8ea6aa5059b7a2ff7637eb2975e386ad66349aa8ff283d0f77c18d6d11dc062165fd13c3c0310679c1408302a16854ecfbd]\n[key.wx = 0091b9e47c56278662d75c0983b22ca8ea6aa5059b7a2ff7637eb2975e386ad663]\n[key.wy = 49aa8ff283d0f77c18d6d11dc062165fd13c3c0310679c1408302a16854ecfbd]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000491b9e47c56278662d75c0983b22ca8ea6aa5059b7a2ff7637eb2975e386ad66349aa8ff283d0f77c18d6d11dc062165fd13c3c0310679c1408302a16854ecfbd]\n[sha = SHA-256]\n\n# tcId = 328\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022066755a00638cdaec1c732513ca0234ece52545dac11f816e818f725b4f60aaf2\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04f3ec2f13caf04d0192b47fb4c5311fb6d4dc6b0a9e802e5327f7ec5ee8e4834df97e3e468b7d0db867d6ecfe81e2b0f9531df87efdb47c1338ac321fefe5a432]\n[key.wx = 00f3ec2f13caf04d0192b47fb4c5311fb6d4dc6b0a9e802e5327f7ec5ee8e4834d]\n[key.wy = 00f97e3e468b7d0db867d6ecfe81e2b0f9531df87efdb47c1338ac321fefe5a432]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004f3ec2f13caf04d0192b47fb4c5311fb6d4dc6b0a9e802e5327f7ec5ee8e4834df97e3e468b7d0db867d6ecfe81e2b0f9531df87efdb47c1338ac321fefe5a432]\n[sha = SHA-256]\n\n# tcId = 329\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022055a00c9fcdaebb6032513ca0234ecfffe98ebe492fdf02e48ca48e982beb3669\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04d92b200aefcab6ac7dafd9acaf2fa10b3180235b8f46b4503e4693c670fccc885ef2f3aebf5b317475336256768f7c19efb7352d27e4cccadc85b6b8ab922c72]\n[key.wx = 00d92b200aefcab6ac7dafd9acaf2fa10b3180235b8f46b4503e4693c670fccc88]\n[key.wy = 5ef2f3aebf5b317475336256768f7c19efb7352d27e4cccadc85b6b8ab922c72]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004d92b200aefcab6ac7dafd9acaf2fa10b3180235b8f46b4503e4693c670fccc885ef2f3aebf5b317475336256768f7c19efb7352d27e4cccadc85b6b8ab922c72]\n[sha = SHA-256]\n\n# tcId = 330\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100ab40193f9b5d76c064a27940469d9fffd31d7c925fbe05c919491d3057d66cd2\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 040a88361eb92ecca2625b38e5f98bbabb96bf179b3d76fc48140a3bcd881523cde6bdf56033f84a5054035597375d90866aa2c96b86a41ccf6edebf47298ad489]\n[key.wx = 0a88361eb92ecca2625b38e5f98bbabb96bf179b3d76fc48140a3bcd881523cd]\n[key.wy = 00e6bdf56033f84a5054035597375d90866aa2c96b86a41ccf6edebf47298ad489]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200040a88361eb92ecca2625b38e5f98bbabb96bf179b3d76fc48140a3bcd881523cde6bdf56033f84a5054035597375d90866aa2c96b86a41ccf6edebf47298ad489]\n[sha = SHA-256]\n\n# tcId = 331\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100ca0234ebb5fdcb13ca0234ecffffffffcb0dadbbc7f549f8a26b4408d0dc8600\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04d0fb17ccd8fafe827e0c1afc5d8d80366e2b20e7f14a563a2ba50469d8437", + "5e868612569d39e2bb9f554355564646de99ac602cc6349cf8c1e236a7de7637d93]\n[key.wx = 00d0fb17ccd8fafe827e0c1afc5d8d80366e2b20e7f14a563a2ba50469d84375e8]\n[key.wy = 68612569d39e2bb9f554355564646de99ac602cc6349cf8c1e236a7de7637d93]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004d0fb17ccd8fafe827e0c1afc5d8d80366e2b20e7f14a563a2ba50469d84375e868612569d39e2bb9f554355564646de99ac602cc6349cf8c1e236a7de7637d93]\n[sha = SHA-256]\n\n# tcId = 332\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100bfffffff3ea3677e082b9310572620ae19933a9e65b285598711c77298815ad3\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04836f33bbc1dc0d3d3abbcef0d91f11e2ac4181076c9af0a22b1e4309d3edb2769ab443ff6f901e30c773867582997c2bec2b0cb8120d760236f3a95bbe881f75]\n[key.wx = 00836f33bbc1dc0d3d3abbcef0d91f11e2ac4181076c9af0a22b1e4309d3edb276]\n[key.wy = 009ab443ff6f901e30c773867582997c2bec2b0cb8120d760236f3a95bbe881f75]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004836f33bbc1dc0d3d3abbcef0d91f11e2ac4181076c9af0a22b1e4309d3edb2769ab443ff6f901e30c773867582997c2bec2b0cb8120d760236f3a95bbe881f75]\n[sha = SHA-256]\n\n# tcId = 333\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0220266666663bbbbbbbe6666666666666665b37902e023fab7c8f055d86e5cc41f4\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 0492f99fbe973ed4a299719baee4b432741237034dec8d72ba5103cb33e55feeb8033dd0e91134c734174889f3ebcf1b7a1ac05767289280ee7a794cebd6e69697]\n[key.wx = 0092f99fbe973ed4a299719baee4b432741237034dec8d72ba5103cb33e55feeb8]\n[key.wy = 033dd0e91134c734174889f3ebcf1b7a1ac05767289280ee7a794cebd6e69697]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000492f99fbe973ed4a299719baee4b432741237034dec8d72ba5103cb33e55feeb8033dd0e91134c734174889f3ebcf1b7a1ac05767289280ee7a794cebd6e69697]\n[sha = SHA-256]\n\n# tcId = 334\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100bfffffff36db6db7a492492492492492146c573f4c6dfc8d08a443e258970b09\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04d35ba58da30197d378e618ec0fa7e2e2d12cffd73ebbb2049d130bba434af09eff83986e6875e41ea432b7585a49b3a6c77cbb3c47919f8e82874c794635c1d2]\n[key.wx = 00d35ba58da30197d378e618ec0fa7e2e2d12cffd73ebbb2049d130bba434af09e]\n[key.wy = 00ff83986e6875e41ea432b7585a49b3a6c77cbb3c47919f8e82874c794635c1d2]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004d35ba58da30197d378e618ec0fa7e2e2d12cffd73ebbb2049d130bba434af09eff83986e6875e41ea432b7585a49b3a6c77cbb3c47919f8e82874c794635c1d2]\n[sha = SHA-256]\n\n# tcId = 335\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100bfffffff2aaaaaab7fffffffffffffffc815d0e60b3e596ecb1ad3a27cfd49c4\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 048651ce490f1b46d73f3ff475149be29136697334a519d7ddab0725c8d0793224e11c65bd8ca92dc8bc9ae82911f0b52751ce21dd9003ae60900bd825f590cc28]\n[key.wx = 008651ce490f1b46d73f3ff475149be29136697334a519d7ddab0725c8d0793224]\n[key.wy = 00e11c65bd8ca92dc8bc9ae82911f0b52751ce21dd9003ae60900bd825f590cc28]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200048651ce490f1b46d73f3ff475149be29136697334a519d7ddab0725c8d0793224e11c65bd8ca92dc8bc9ae82911f0b52751ce21dd9003ae60900bd825f590cc28]\n[sha = SHA-256]\n\n# tcId = 336\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02207fffffff55555555ffffffffffffffffd344a71e6f651458a27bdc81fd976e37\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 046d8e1b12c831a0da8795650ff95f101ed921d9e2f72b15b1cdaca9826b9cfc6def6d63e2bc5c089570394a4bc9f892d5e6c7a6a637b20469a58c106ad486bf37]\n[key.wx = 6d8e1b12c831a0da8795650ff95f101ed921d9e2f72b15b1cdaca9826b9cfc6d]\n[key.wy = 00ef6d63e2bc5c089570394a4bc9f892d5e6c7a6a637b20469a58c106ad486bf37]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200046d8e1b12c831a0da8795650ff95f101ed921d9e2f72b15b1cdaca9826b9cfc6def6d63e2bc5c089570394a4bc9f892d5e6c7a6a637b20469a58c106ad486bf37]\n[sha = SHA-256]\n\n# tcId = 337\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02203fffffff800000007fffffffffffffffde737d56d38bcf4279dce5617e3192aa\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 040ae580bae933b4ef2997cbdbb0922328ca9a410f627a0f7dff24cb4d920e15428911e7f8cc365a8a88eb81421a361ccc2b99e309d8dcd9a98ba83c3949d893e3]\n[key.wx = 0ae580bae933b4ef2997cbdbb0922328ca9a410f627a0f7dff24cb4d920e1542]\n[key.wy = 008911e7f8cc365a8a88eb81421a361ccc2b99e309d8dcd9a98ba83c3949d893e3]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200040ae580bae933b4ef2997cbdbb0922328ca9a410f627a0f7dff24cb4d920e15428911e7f8cc365a8a88eb81421a361ccc2b99e309d8dcd9a98ba83c3949d893e3]\n[sha = SHA-256]\n\n# tcId = 338\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02205d8ecd64a4eeba466815ddf3a4de9a8e6abd9c5db0a01eb80343553da648428f\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 045b812fd521aafa69835a849cce6fbdeb6983b442d2444fe70e134c027fc46963838a40f2a36092e9004e92d8d940cf5638550ce672ce8b8d4e15eba5499249e9]\n[key.wx = 5b812fd521aafa69835a849cce6fbdeb6983b442d2444fe70e134c027fc46963]\n[key.wy = 00838a40f2a36092e9004e92d8d940cf5638550ce672ce8b8d4e15eba5499249e9]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200045b812fd521aafa69835a849cce6fbdeb6983b442d2444fe70e134c027fc46963838a40f2a36092e9004e92d8d940cf5638550ce672ce8b8d4e15eba5499249e9]\n[sha = SHA-256]\n\n# tcId = 339\n# point duplication during verification\nmsg = 313233343030\nresult = valid\nsig = 304502206f2347cab7dd76858fe0555ac3bc99048c4aacafdfb6bcbe05ea6c42c4934569022100bb726660235793aa9957a61e76e00c2c435109cf9a15dd624d53f4301047856b\nflags = PointDuplication\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 045b812fd521aafa69835a849cce6fbdeb6983b442d2444fe70e134c027fc469637c75bf0c5c9f6d17ffb16d2726bf30a9c7aaf31a8d317472b1ea145ab66db616]\n[key.wx = 5b812fd521aafa69835a849cce6fbdeb6983b442d2444fe70e134c027fc46963]\n[key.wy = 7c75bf0c5c9f6d17ffb16d2726bf30a9c7aaf31a8d317472b1ea145ab66db616]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200045b812fd521aafa69835a849cce6fbdeb6983b442d2444fe70e134c027fc469637c75bf0c5c9f6d17ffb16d2726bf30a9c7aaf31a8d317472b1ea145ab66db616]\n[sha = SHA-256]\n\n# tcId = 340\n# duplication bug\nmsg = 313233343030\nresult = invalid\nsig = 304502206f2347cab7dd76858fe0555ac3bc99048c4aacafdfb6bcbe05ea6c42c4934569022100bb726660235793aa9957a61e76e00c2c435109cf9a15dd624d53f4301047856b\nflags = PointDuplication\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 046adda82b90261b0f319faa0d878665a6b6da497f09c903176222c34acfef72a647e6f50dcc40ad5d9b59f7602bb222fad71a41bf5e1f9df4959a364c62e488d9]\n[key.wx = 6adda82b90261b0f319faa0d878665a6b6da497f09c903176222c34acfef72a6]\n[key.wy = 47e6f50dcc40ad5d9b59f7602bb222fad71a41bf5e1f9df4959a364c62e488d9]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200046adda82b90261b0f319faa0d878665a6b6da497f09c903176222c34acfef72a647e6f50dcc40ad5d9b59f7602bb222fad71a41bf5e1f9df4959a364c62e488d9]\n[sha = SHA-256]\n\n# tcId = 341\n# point with x-coordinate 0\nmsg = 313233343030\nresult = invalid\nsig = 30250201010220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 042fca0d0a47914de77ed56e7eccc3276a601120c6df0069c825c8f6a01c9f382065f3450a1d17c6b24989a39beb1c7decfca8384fbdc294418e5d807b3c6ed7de]\n[key.wx = 2fca0d0a47914de77ed56e7eccc3276a601120c6df0069c825c8f6a01c9f3820]\n[key.wy = 65f3", + "450a1d17c6b24989a39beb1c7decfca8384fbdc294418e5d807b3c6ed7de]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200042fca0d0a47914de77ed56e7eccc3276a601120c6df0069c825c8f6a01c9f382065f3450a1d17c6b24989a39beb1c7decfca8384fbdc294418e5d807b3c6ed7de]\n[sha = SHA-256]\n\n# tcId = 342\n# point with x-coordinate 0\nmsg = 313233343030\nresult = invalid\nsig = 3045022101000000000000000000000000000000000000000000000000000000000000000002203333333300000000333333333333333325c7cbbc549e52e763f1f55a327a3aa9\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04dd86d3b5f4a13e8511083b78002081c53ff467f11ebd98a51a633db76665d25045d5c8200c89f2fa10d849349226d21d8dfaed6ff8d5cb3e1b7e17474ebc18f7]\n[key.wx = 00dd86d3b5f4a13e8511083b78002081c53ff467f11ebd98a51a633db76665d250]\n[key.wy = 45d5c8200c89f2fa10d849349226d21d8dfaed6ff8d5cb3e1b7e17474ebc18f7]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004dd86d3b5f4a13e8511083b78002081c53ff467f11ebd98a51a633db76665d25045d5c8200c89f2fa10d849349226d21d8dfaed6ff8d5cb3e1b7e17474ebc18f7]\n[sha = SHA-256]\n\n# tcId = 343\n# comparison with point at infinity \nmsg = 313233343030\nresult = invalid\nsig = 30440220555555550000000055555555555555553ef7a8e48d07df81a693439654210c7002203333333300000000333333333333333325c7cbbc549e52e763f1f55a327a3aa9\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 044fea55b32cb32aca0c12c4cd0abfb4e64b0f5a516e578c016591a93f5a0fbcc5d7d3fd10b2be668c547b212f6bb14c88f0fecd38a8a4b2c785ed3be62ce4b280]\n[key.wx = 4fea55b32cb32aca0c12c4cd0abfb4e64b0f5a516e578c016591a93f5a0fbcc5]\n[key.wy = 00d7d3fd10b2be668c547b212f6bb14c88f0fecd38a8a4b2c785ed3be62ce4b280]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200044fea55b32cb32aca0c12c4cd0abfb4e64b0f5a516e578c016591a93f5a0fbcc5d7d3fd10b2be668c547b212f6bb14c88f0fecd38a8a4b2c785ed3be62ce4b280]\n[sha = SHA-256]\n\n# tcId = 344\n# extreme value for k and edgecase s\nmsg = 313233343030\nresult = valid\nsig = 304402207cf27b188d034f7e8a52380304b51ac3c08969e277f21b35a60b48fc476699780220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04c6a771527024227792170a6f8eee735bf32b7f98af669ead299802e32d7c3107bc3b4b5e65ab887bbd343572b3e5619261fe3a073e2ffd78412f726867db589e]\n[key.wx = 00c6a771527024227792170a6f8eee735bf32b7f98af669ead299802e32d7c3107]\n[key.wy = 00bc3b4b5e65ab887bbd343572b3e5619261fe3a073e2ffd78412f726867db589e]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004c6a771527024227792170a6f8eee735bf32b7f98af669ead299802e32d7c3107bc3b4b5e65ab887bbd343572b3e5619261fe3a073e2ffd78412f726867db589e]\n[sha = SHA-256]\n\n# tcId = 345\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 304502207cf27b188d034f7e8a52380304b51ac3c08969e277f21b35a60b48fc47669978022100b6db6db6249249254924924924924924625bd7a09bec4ca81bcdd9f8fd6b63cc\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04851c2bbad08e54ec7a9af99f49f03644d6ec6d59b207fec98de85a7d15b956efcee9960283045075684b410be8d0f7494b91aa2379f60727319f10ddeb0fe9d6]\n[key.wx = 00851c2bbad08e54ec7a9af99f49f03644d6ec6d59b207fec98de85a7d15b956ef]\n[key.wy = 00cee9960283045075684b410be8d0f7494b91aa2379f60727319f10ddeb0fe9d6]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004851c2bbad08e54ec7a9af99f49f03644d6ec6d59b207fec98de85a7d15b956efcee9960283045075684b410be8d0f7494b91aa2379f60727319f10ddeb0fe9d6]\n[sha = SHA-256]\n\n# tcId = 346\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 304502207cf27b188d034f7e8a52380304b51ac3c08969e277f21b35a60b48fc47669978022100cccccccc00000000cccccccccccccccc971f2ef152794b9d8fc7d568c9e8eaa7\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04f6417c8a670584e388676949e53da7fc55911ff68318d1bf3061205acb19c48f8f2b743df34ad0f72674acb7505929784779cd9ac916c3669ead43026ab6d43f]\n[key.wx = 00f6417c8a670584e388676949e53da7fc55911ff68318d1bf3061205acb19c48f]\n[key.wy = 008f2b743df34ad0f72674acb7505929784779cd9ac916c3669ead43026ab6d43f]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004f6417c8a670584e388676949e53da7fc55911ff68318d1bf3061205acb19c48f8f2b743df34ad0f72674acb7505929784779cd9ac916c3669ead43026ab6d43f]\n[sha = SHA-256]\n\n# tcId = 347\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 304402207cf27b188d034f7e8a52380304b51ac3c08969e277f21b35a60b48fc4766997802203333333300000000333333333333333325c7cbbc549e52e763f1f55a327a3aaa\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04501421277be45a5eefec6c639930d636032565af420cf3373f557faa7f8a06438673d6cb6076e1cfcdc7dfe7384c8e5cac08d74501f2ae6e89cad195d0aa1371]\n[key.wx = 501421277be45a5eefec6c639930d636032565af420cf3373f557faa7f8a0643]\n[key.wy = 008673d6cb6076e1cfcdc7dfe7384c8e5cac08d74501f2ae6e89cad195d0aa1371]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004501421277be45a5eefec6c639930d636032565af420cf3373f557faa7f8a06438673d6cb6076e1cfcdc7dfe7384c8e5cac08d74501f2ae6e89cad195d0aa1371]\n[sha = SHA-256]\n\n# tcId = 348\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 304402207cf27b188d034f7e8a52380304b51ac3c08969e277f21b35a60b48fc47669978022049249248db6db6dbb6db6db6db6db6db5a8b230d0b2b51dcd7ebf0c9fef7c185\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 040d935bf9ffc115a527735f729ca8a4ca23ee01a4894adf0e3415ac84e808bb343195a3762fea29ed38912bd9ea6c4fde70c3050893a4375850ce61d82eba33c5]\n[key.wx = 0d935bf9ffc115a527735f729ca8a4ca23ee01a4894adf0e3415ac84e808bb34]\n[key.wy = 3195a3762fea29ed38912bd9ea6c4fde70c3050893a4375850ce61d82eba33c5]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200040d935bf9ffc115a527735f729ca8a4ca23ee01a4894adf0e3415ac84e808bb343195a3762fea29ed38912bd9ea6c4fde70c3050893a4375850ce61d82eba33c5]\n[sha = SHA-256]\n\n# tcId = 349\n# extreme value for k\nmsg = 313233343030\nresult = valid\nsig = 304402207cf27b188d034f7e8a52380304b51ac3c08969e277f21b35a60b48fc47669978022016a4502e2781e11ac82cbc9d1edd8c981584d13e18411e2f6e0478c34416e3bb\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 045e59f50708646be8a589355014308e60b668fb670196206c41e748e64e4dca215de37fee5c97bcaf7144d5b459982f52eeeafbdf03aacbafef38e213624a01de]\n[key.wx = 5e59f50708646be8a589355014308e60b668fb670196206c41e748e64e4dca21]\n[key.wy = 5de37fee5c97bcaf7144d5b459982f52eeeafbdf03aacbafef38e213624a01de]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200045e59f50708646be8a589355014308e60b668fb670196206c41e748e64e4dca215de37fee5c97bcaf7144d5b459982f52eeeafbdf03aacbafef38e213624a01de]\n[sha = SHA-256]\n\n# tcId = 350\n# extreme value for k and edgecase s\nmsg = 313233343030\nresult = valid\nsig = 304402206b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2960220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04169fb797325843faff2f7a5b5445da9e2fd6226f7ef90ef0bfe924104b02db8e7bbb8de662c7b9b1cf9b22f7a2e582bd46d581d68878efb2b861b131d8a1d667]\n[key.wx = 169fb797325843faff2f7a5b5445da9e2fd6226f7ef90ef0bfe924104b02db8e]\n[key.wy = 7bbb8de662c7b9b1cf9b22f7a2e582bd46d581d68878efb2b861b131d8a1d667]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004169fb797325843faff2f7a5b5445da9e2fd6226f7ef90ef0bfe924104b02db8e7bbb8de662c7b9b1cf9b22f7a2e582bd46d581d68878efb2b861b131d8a1d667]\n[sha = SHA-256]\n\n# tcId = 351\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 304502206b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296022100b6db6db6249249254924924924924924625bd7a09bec4ca81bcdd9f8fd6b63cc\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04271cd89c000143096b62d4e9e4ca885aef2f7023d18affdaf8b7b548981487540a1c6e954e32108435b55fa385b0f76481a609b9149ccb4b02b2ca47fe8e4da5]\n[key.wx = 271cd89c000143096b62d4e9e4ca885aef2f7023d18affdaf8b7b54898148754]\n[key.wy = 0a1c6e954e32108435b55fa385b0f76481a609b9149ccb4b02b2ca47fe8e", + "4da5]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004271cd89c000143096b62d4e9e4ca885aef2f7023d18affdaf8b7b548981487540a1c6e954e32108435b55fa385b0f76481a609b9149ccb4b02b2ca47fe8e4da5]\n[sha = SHA-256]\n\n# tcId = 352\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 304502206b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296022100cccccccc00000000cccccccccccccccc971f2ef152794b9d8fc7d568c9e8eaa7\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 043d0bc7ed8f09d2cb7ddb46ebc1ed799ab1563a9ab84bf524587a220afe499c12e22dc3b3c103824a4f378d96adb0a408abf19ce7d68aa6244f78cb216fa3f8df]\n[key.wx = 3d0bc7ed8f09d2cb7ddb46ebc1ed799ab1563a9ab84bf524587a220afe499c12]\n[key.wy = 00e22dc3b3c103824a4f378d96adb0a408abf19ce7d68aa6244f78cb216fa3f8df]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200043d0bc7ed8f09d2cb7ddb46ebc1ed799ab1563a9ab84bf524587a220afe499c12e22dc3b3c103824a4f378d96adb0a408abf19ce7d68aa6244f78cb216fa3f8df]\n[sha = SHA-256]\n\n# tcId = 353\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 304402206b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c29602203333333300000000333333333333333325c7cbbc549e52e763f1f55a327a3aaa\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04a6c885ade1a4c566f9bb010d066974abb281797fa701288c721bcbd23663a9b72e424b690957168d193a6096fc77a2b004a9c7d467e007e1f2058458f98af316]\n[key.wx = 00a6c885ade1a4c566f9bb010d066974abb281797fa701288c721bcbd23663a9b7]\n[key.wy = 2e424b690957168d193a6096fc77a2b004a9c7d467e007e1f2058458f98af316]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004a6c885ade1a4c566f9bb010d066974abb281797fa701288c721bcbd23663a9b72e424b690957168d193a6096fc77a2b004a9c7d467e007e1f2058458f98af316]\n[sha = SHA-256]\n\n# tcId = 354\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 304402206b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296022049249248db6db6dbb6db6db6db6db6db5a8b230d0b2b51dcd7ebf0c9fef7c185\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 048d3c2c2c3b765ba8289e6ac3812572a25bf75df62d87ab7330c3bdbad9ebfa5c4c6845442d66935b238578d43aec54f7caa1621d1af241d4632e0b780c423f5d]\n[key.wx = 008d3c2c2c3b765ba8289e6ac3812572a25bf75df62d87ab7330c3bdbad9ebfa5c]\n[key.wy = 4c6845442d66935b238578d43aec54f7caa1621d1af241d4632e0b780c423f5d]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200048d3c2c2c3b765ba8289e6ac3812572a25bf75df62d87ab7330c3bdbad9ebfa5c4c6845442d66935b238578d43aec54f7caa1621d1af241d4632e0b780c423f5d]\n[sha = SHA-256]\n\n# tcId = 355\n# extreme value for k\nmsg = 313233343030\nresult = valid\nsig = 304402206b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296022016a4502e2781e11ac82cbc9d1edd8c981584d13e18411e2f6e0478c34416e3bb\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5]\n[key.wx = 6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296]\n[key.wy = 4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5]\n[sha = SHA-256]\n\n# tcId = 356\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 3045022100bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca6050230220249249246db6db6ddb6db6db6db6db6dad4591868595a8ee6bf5f864ff7be0c2\n\n# tcId = 357\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 3044022044a5ad0ad0636d9f12bc9e0a6bdd5e1cbcb012ea7bf091fcec15b0c43202d52e0220249249246db6db6ddb6db6db6db6db6dad4591868595a8ee6bf5f864ff7be0c2\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296b01cbd1c01e58065711814b583f061e9d431cca994cea1313449bf97c840ae0a]\n[key.wx = 6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296]\n[key.wy = 00b01cbd1c01e58065711814b583f061e9d431cca994cea1313449bf97c840ae0a]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296b01cbd1c01e58065711814b583f061e9d431cca994cea1313449bf97c840ae0a]\n[sha = SHA-256]\n\n# tcId = 358\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 3045022100bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca6050230220249249246db6db6ddb6db6db6db6db6dad4591868595a8ee6bf5f864ff7be0c2\n\n# tcId = 359\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 3044022044a5ad0ad0636d9f12bc9e0a6bdd5e1cbcb012ea7bf091fcec15b0c43202d52e0220249249246db6db6ddb6db6db6db6db6dad4591868595a8ee6bf5f864ff7be0c2\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 0404aaec73635726f213fb8a9e64da3b8632e41495a944d0045b522eba7240fad587d9315798aaa3a5ba01775787ced05eaaf7b4e09fc81d6d1aa546e8365d525d]\n[key.wx = 04aaec73635726f213fb8a9e64da3b8632e41495a944d0045b522eba7240fad5]\n[key.wy = 0087d9315798aaa3a5ba01775787ced05eaaf7b4e09fc81d6d1aa546e8365d525d]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000404aaec73635726f213fb8a9e64da3b8632e41495a944d0045b522eba7240fad587d9315798aaa3a5ba01775787ced05eaaf7b4e09fc81d6d1aa546e8365d525d]\n[sha = SHA-256]\n\n# tcId = 360\n# pseudorandom signature\nmsg = \nresult = valid\nsig = 3045022100b292a619339f6e567a305c951c0dcbcc42d16e47f219f9e98e76e09d8770b34a02200177e60492c5a8242f76f07bfe3661bde59ec2a17ce5bd2dab2abebdf89a62e2\n\n# tcId = 361\n# pseudorandom signature\nmsg = 4d7367\nresult = valid\nsig = 30450220530bd6b0c9af2d69ba897f6b5fb59695cfbf33afe66dbadcf5b8d2a2a6538e23022100d85e489cb7a161fd55ededcedbf4cc0c0987e3e3f0f242cae934c72caa3f43e9\n\n# tcId = 362\n# pseudorandom signature\nmsg = 313233343030\nresult = valid\nsig = 3046022100a8ea150cb80125d7381c4c1f1da8e9de2711f9917060406a73d7904519e51388022100f3ab9fa68bd47973a73b2d40480c2ba50c22c9d76ec217257288293285449b86\n\n# tcId = 363\n# pseudorandom signature\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 3045022100986e65933ef2ed4ee5aada139f52b70539aaf63f00a91f29c69178490d57fb7102203dafedfb8da6189d372308cbf1489bbbdabf0c0217d1c0ff0f701aaa7a694b9c\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 044f337ccfd67726a805e4f1600ae2849df3807eca117380239fbd816900000000ed9dea124cc8c396416411e988c30f427eb504af43a3146cd5df7ea60666d685]\n[key.wx = 4f337ccfd67726a805e4f1600ae2849df3807eca117380239fbd816900000000]\n[key.wy = 00ed9dea124cc8c396416411e988c30f427eb504af43a3146cd5df7ea60666d685]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200044f337ccfd67726a805e4f1600ae2849df3807eca117380239fbd816900000000ed9dea124cc8c396416411e988c30f427eb504af43a3146cd5df7ea60666d685]\n[sha = SHA-256]\n\n# tcId = 364\n# x-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 3046022100d434e262a49eab7781e353a3565e482550dd0fd5defa013c7f29745eff3569f10221009b0c0a93f267fb6052fd8077be769c2b98953195d7bc10de844218305c6ba17a\n\n# tcId = 365\n# x-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 304402200fe774355c04d060f76d79fd7a772e421463489221bf0a33add0be9b1979110b0220500dcba1c69a8fbd43fa4f57f743ce124ca8b91a1f325f3fac6181175df55737\n\n# tcId = 366\n# x-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 3045022100bb40bf217bed3fb3950c7d39f03d36dc8e3b2cd79693f125bfd06595ee1135e30220541bf3532351ebb032710bdb6a1bf1bfc89a1e291ac692b3fa4780745bb55677\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 043cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f49726500493584fa174d791c72bf2ce3880a8960dd2a7c7a1338a82f85a9e59cdbde80000000]\n[key.wx = 3cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f497265004935]\n[key.wy = 0084fa174d791c72bf2ce3880a8960dd2a7c7a1338a82f85a9e59cdbde80000000]\n[keyDer = 3059301306072a8648ce3d02010", + "6082a8648ce3d030107034200043cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f49726500493584fa174d791c72bf2ce3880a8960dd2a7c7a1338a82f85a9e59cdbde80000000]\n[sha = SHA-256]\n\n# tcId = 367\n# y-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 30440220664eb7ee6db84a34df3c86ea31389a5405badd5ca99231ff556d3e75a233e73a022059f3c752e52eca46137642490a51560ce0badc678754b8f72e51a2901426a1bd\n\n# tcId = 368\n# y-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 304502204cd0429bbabd2827009d6fcd843d4ce39c3e42e2d1631fd001985a79d1fd8b430221009638bf12dd682f60be7ef1d0e0d98f08b7bca77a1a2b869ae466189d2acdabe3\n\n# tcId = 369\n# y-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 3046022100e56c6ea2d1b017091c44d8b6cb62b9f460e3ce9aed5e5fd41e8added97c56c04022100a308ec31f281e955be20b457e463440b4fcf2b80258078207fc1378180f89b55\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 043cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f4972650049357b05e8b186e38d41d31c77f5769f22d58385ecc857d07a561a6324217fffffff]\n[key.wx = 3cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f497265004935]\n[key.wy = 7b05e8b186e38d41d31c77f5769f22d58385ecc857d07a561a6324217fffffff]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200043cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f4972650049357b05e8b186e38d41d31c77f5769f22d58385ecc857d07a561a6324217fffffff]\n[sha = SHA-256]\n\n# tcId = 370\n# y-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 304402201158a08d291500b4cabed3346d891eee57c176356a2624fb011f8fbbf34668300220228a8c486a736006e082325b85290c5bc91f378b75d487dda46798c18f285519\n\n# tcId = 371\n# y-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 3045022100b1db9289649f59410ea36b0c0fc8d6aa2687b29176939dd23e0dde56d309fa9d02203e1535e4280559015b0dbd987366dcf43a6d1af5c23c7d584e1c3f48a1251336\n\n# tcId = 372\n# y-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 3046022100b7b16e762286cb96446aa8d4e6e7578b0a341a79f2dd1a220ac6f0ca4e24ed86022100ddc60a700a139b04661c547d07bbb0721780146df799ccf55e55234ecb8f12bc\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 042829c31faa2e400e344ed94bca3fcd0545956ebcfe8ad0f6dfa5ff8effffffffa01aafaf000e52585855afa7676ade284113099052df57e7eb3bd37ebeb9222e]\n[key.wx = 2829c31faa2e400e344ed94bca3fcd0545956ebcfe8ad0f6dfa5ff8effffffff]\n[key.wy = 00a01aafaf000e52585855afa7676ade284113099052df57e7eb3bd37ebeb9222e]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200042829c31faa2e400e344ed94bca3fcd0545956ebcfe8ad0f6dfa5ff8effffffffa01aafaf000e52585855afa7676ade284113099052df57e7eb3bd37ebeb9222e]\n[sha = SHA-256]\n\n# tcId = 373\n# x-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 3045022100d82a7c2717261187c8e00d8df963ff35d796edad36bc6e6bd1c91c670d9105b402203dcabddaf8fcaa61f4603e7cbac0f3c0351ecd5988efb23f680d07debd139929\n\n# tcId = 374\n# x-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 304402205eb9c8845de68eb13d5befe719f462d77787802baff30ce96a5cba063254af7802202c026ae9be2e2a5e7ca0ff9bbd92fb6e44972186228ee9a62b87ddbe2ef66fb5\n\n# tcId = 375\n# x-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 304602210096843dd03c22abd2f3b782b170239f90f277921becc117d0404a8e4e36230c28022100f2be378f526f74a543f67165976de9ed9a31214eb4d7e6db19e1ede123dd991d\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04fffffff948081e6a0458dd8f9e738f2665ff9059ad6aac0708318c4ca9a7a4f55a8abcba2dda8474311ee54149b973cae0c0fb89557ad0bf78e6529a1663bd73]\n[key.wx = 00fffffff948081e6a0458dd8f9e738f2665ff9059ad6aac0708318c4ca9a7a4f5]\n[key.wy = 5a8abcba2dda8474311ee54149b973cae0c0fb89557ad0bf78e6529a1663bd73]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004fffffff948081e6a0458dd8f9e738f2665ff9059ad6aac0708318c4ca9a7a4f55a8abcba2dda8474311ee54149b973cae0c0fb89557ad0bf78e6529a1663bd73]\n[sha = SHA-256]\n\n# tcId = 376\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 30440220766456dce1857c906f9996af729339464d27e9d98edc2d0e3b760297067421f60220402385ecadae0d8081dccaf5d19037ec4e55376eced699e93646bfbbf19d0b41\n\n# tcId = 377\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 3046022100c605c4b2edeab20419e6518a11b2dbc2b97ed8b07cced0b19c34f777de7b9fd9022100edf0f612c5f46e03c719647bc8af1b29b2cde2eda700fb1cff5e159d47326dba\n\n# tcId = 378\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 3046022100d48b68e6cabfe03cf6141c9ac54141f210e64485d9929ad7b732bfe3b7eb8a84022100feedae50c61bd00e19dc26f9b7e2265e4508c389109ad2f208f0772315b6c941\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 0400000003fa15f963949d5f03a6f5c7f86f9e0015eeb23aebbff1173937ba748e1099872070e8e87c555fa13659cca5d7fadcfcb0023ea889548ca48af2ba7e71]\n[key.wx = 03fa15f963949d5f03a6f5c7f86f9e0015eeb23aebbff1173937ba748e]\n[key.wy = 1099872070e8e87c555fa13659cca5d7fadcfcb0023ea889548ca48af2ba7e71]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000400000003fa15f963949d5f03a6f5c7f86f9e0015eeb23aebbff1173937ba748e1099872070e8e87c555fa13659cca5d7fadcfcb0023ea889548ca48af2ba7e71]\n[sha = SHA-256]\n\n# tcId = 379\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 3046022100b7c81457d4aeb6aa65957098569f0479710ad7f6595d5874c35a93d12a5dd4c7022100b7961a0b652878c2d568069a432ca18a1a9199f2ca574dad4b9e3a05c0a1cdb3\n\n# tcId = 380\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 304402206b01332ddb6edfa9a30a1321d5858e1ee3cf97e263e669f8de5e9652e76ff3f702205939545fced457309a6a04ace2bd0f70139c8f7d86b02cb1cc58f9e69e96cd5a\n\n# tcId = 381\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 3046022100efdb884720eaeadc349f9fc356b6c0344101cd2fd8436b7d0e6a4fb93f106361022100f24bee6ad5dc05f7613975473aadf3aacba9e77de7d69b6ce48cb60d8113385d\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015000000001352bb4a0fa2ea4cceb9ab63dd684ade5a1127bcf300a698a7193bc2]\n[key.wx = 00bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015]\n[key.wy = 1352bb4a0fa2ea4cceb9ab63dd684ade5a1127bcf300a698a7193bc2]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015000000001352bb4a0fa2ea4cceb9ab63dd684ade5a1127bcf300a698a7193bc2]\n[sha = SHA-256]\n\n# tcId = 382\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 3044022031230428405560dcb88fb5a646836aea9b23a23dd973dcbe8014c87b8b20eb0702200f9344d6e812ce166646747694a41b0aaf97374e19f3c5fb8bd7ae3d9bd0beff\n\n# tcId = 383\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 3046022100caa797da65b320ab0d5c470cda0b36b294359c7db9841d679174db34c4855743022100cf543a62f23e212745391aaf7505f345123d2685ee3b941d3de6d9b36242e5a0\n\n# tcId = 384\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 304502207e5f0ab5d900d3d3d7867657e5d6d36519bc54084536e7d21c336ed8001859450221009450c07f201faec94b82dfb322e5ac676688294aad35aa72e727ff0b19b646aa\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015fffffffeecad44b6f05d15b33146549c2297b522a5eed8430cff596758e6c43d]\n[key.wx = 00bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015]\n[key.wy = 00fffffffeecad44b6f05d15b33146549c2297b522a5eed8430cff596758e6c43d]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015fffffffeecad44b6f05d15b33146549c2297b522a5eed8430cff596758e6c43d]\n[sha = SHA-256]\n\n# tcId = 385\n# y-coordinate of the public key is large\nmsg ", + "= 4d657373616765\nresult = valid\nsig = 3046022100d7d70c581ae9e3f66dc6a480bf037ae23f8a1e4a2136fe4b03aa69f0ca25b35602210089c460f8a5a5c2bbba962c8a3ee833a413e85658e62a59e2af41d9127cc47224\n\n# tcId = 386\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 30440220341c1b9ff3c83dd5e0dfa0bf68bcdf4bb7aa20c625975e5eeee34bb396266b34022072b69f061b750fd5121b22b11366fad549c634e77765a017902a67099e0a4469\n\n# tcId = 387\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 3045022070bebe684cdcb5ca72a42f0d873879359bd1781a591809947628d313a3814f67022100aec03aca8f5587a4d535fa31027bbe9cc0e464b1c3577f4c2dcde6b2094798a9\n\n", }; -static const size_t kLen70 = 154185; +static const size_t kLen103 = 147510; -static const char *kData70[] = { - "# Imported from Wycheproof's ecdsa_secp256r1_sha512_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: ECDSA\n# Generator version: 0.4.12\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 042927b10512bae3eddcfe467828128bad2903269919f7086069c8c4df6c732838c7787964eaac00e5921fb1498a60f4606766b3d9685001558d1a974e7341513e]\n[key.wx = 2927b10512bae3eddcfe467828128bad2903269919f7086069c8c4df6c732838]\n[key.wy = 0c7787964eaac00e5921fb1498a60f4606766b3d9685001558d1a974e7341513e]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200042927b10512bae3eddcfe467828128bad2903269919f7086069c8c4df6c732838c7787964eaac00e5921fb1498a60f4606766b3d9685001558d1a974e7341513e]\n[sha = SHA-512]\n\n# tcId = 1\n# signature malleability\nmsg = 313233343030\nresult = valid\nsig = 304402202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c002205f85a63a5be977ad714cea16b10035f07cadf7513ae8cca86f35b7692aafd69f\n\n# tcId = 2\n# Legacy:ASN encoding of s misses leading 0\nmsg = 313233343030\nresult = acceptable\nsig = 304402202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00220a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n# Some implementations of ECDSA and DSA incorrectly encode r and s by not\n# including leading zeros in the ASN encoding of integers when necessary. Hence,\n# some implementations (e.g. jdk) allow signatures with incorrect ASN encodings\n# assuming that the signature is otherwise valid.\n\n# tcId = 3\n# valid\nmsg = 313233343030\nresult = valid\nsig = 304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 4\n# long form encoding of length\nmsg = 313233343030\nresult = invalid\nsig = 30814502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 5\n# long form encoding of length\nmsg = 313233343030\nresult = invalid\nsig = 30460281202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 6\n# long form encoding of length\nmsg = 313233343030\nresult = invalid\nsig = 304602202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c002812100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 7\n# length contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 3082004502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 8\n# length contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 3047028200202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 9\n# length contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 304702202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00282002100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 10\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 304602202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 11\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 304402202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 12\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 304502212478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 13\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 3045021f2478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 14\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022200a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 15\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022000a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 16\n# uint32 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 3085010000004502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 17\n# uint32 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 304a028501000000202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 18\n# uint32 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 304a02202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00285010000002100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 19\n# uint64 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 308901000000000000004502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 20\n# uint64 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 304e02890100000000000000202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 21\n# uint64 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 304e02202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0028901000000000000002100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 22\n# length = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30847fffffff02202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 23\n# length = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 304902847fffffff2478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 24\n# length = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 304902202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c002847fffffff00a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 25\n# length = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3084ffffffff02202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 26\n# length = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30490284ffffffff2478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 27\n# ", - "length = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 304902202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00284ffffffff00a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 28\n# length = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3085ffffffffff02202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 29\n# length = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 304a0285ffffffffff2478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 30\n# length = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 304a02202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00285ffffffffff00a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 31\n# length = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3088ffffffffffffffff02202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 32\n# length = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 304d0288ffffffffffffffff2478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 33\n# length = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 304d02202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00288ffffffffffffffff00a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 34\n# incorrect length\nmsg = 313233343030\nresult = invalid\nsig = 30ff02202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 35\n# incorrect length\nmsg = 313233343030\nresult = invalid\nsig = 304502ff2478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 36\n# incorrect length\nmsg = 313233343030\nresult = invalid\nsig = 304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c002ff00a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 37\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 308002202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 38\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 304502802478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 39\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0028000a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 40\n# removing sequence\nmsg = 313233343030\nresult = invalid\nsig = \n\n# tcId = 41\n# lonely sequence tag\nmsg = 313233343030\nresult = invalid\nsig = 30\n\n# tcId = 42\n# appending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 304702202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb20000\n\n# tcId = 43\n# prepending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 3047000002202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 44\n# appending unused 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb20000\n\n# tcId = 45\n# appending null value to sequence\nmsg = 313233343030\nresult = invalid\nsig = 304702202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb20500\n\n# tcId = 46\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 304a498177304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 47\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 30492500304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 48\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3047304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb20004deadbeef\n\n# tcId = 49\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 304a222549817702202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 50\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 30492224250002202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 51\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 304d222202202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00004deadbeef022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 52\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 304a02202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c02226498177022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 53\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 304902202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c022252500022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 54\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 304d02202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c02223022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb20004deadbeef\n\n# tcId = 55\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 304daa00bb00cd00304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 56\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 304baa02aabb304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 57\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 304d2228aa00bb00cd0002202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 58\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 304b2226aa02aabb02202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 59\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 304d02202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c02229aa00bb00cd00022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 60\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 304b02202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c02227aa02aabb022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 61\n# truncated length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3081\n\n# tcId = 62\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 3080304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb20000\n\n# tcId = 63\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 3049228002202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00000022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 64\n# using composition with indefin", - "ite length\nmsg = 313233343030\nresult = invalid\nsig = 304902202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c02280022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb20000\n\n# tcId = 65\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 3080314502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb20000\n\n# tcId = 66\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 3049228003202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00000022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 67\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 304902202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c02280032100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb20000\n\n# tcId = 68\n# Replacing sequence with NULL\nmsg = 313233343030\nresult = invalid\nsig = 0500\n\n# tcId = 69\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 2e4502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 70\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 2f4502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 71\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 314502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 72\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 324502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 73\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = ff4502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 74\n# dropping value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3000\n\n# tcId = 75\n# using composition for sequence\nmsg = 313233343030\nresult = invalid\nsig = 30493001023044202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 76\n# truncate sequence\nmsg = 313233343030\nresult = invalid\nsig = 304402202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34e\n\n# tcId = 77\n# truncate sequence\nmsg = 313233343030\nresult = invalid\nsig = 3044202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 78\n# indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 308002202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb20000\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 79\n# indefinite length with truncated delimiter\nmsg = 313233343030\nresult = invalid\nsig = 308002202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb200\n\n# tcId = 80\n# indefinite length with additional element\nmsg = 313233343030\nresult = invalid\nsig = 308002202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb205000000\n\n# tcId = 81\n# indefinite length with truncated element\nmsg = 313233343030\nresult = invalid\nsig = 308002202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2060811220000\n\n# tcId = 82\n# indefinite length with garbage\nmsg = 313233343030\nresult = invalid\nsig = 308002202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb20000fe02beef\n\n# tcId = 83\n# indefinite length with nonempty EOC\nmsg = 313233343030\nresult = invalid\nsig = 308002202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb20002beef\n\n# tcId = 84\n# prepend empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 3047300002202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 85\n# append empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 304702202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb23000\n\n# tcId = 86\n# sequence of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3047304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 87\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 302202202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0\n\n# tcId = 88\n# repeat element in sequence\nmsg = 313233343030\nresult = invalid\nsig = 306802202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 89\n# removing integer\nmsg = 313233343030\nresult = invalid\nsig = 3023022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 90\n# lonely integer tag\nmsg = 313233343030\nresult = invalid\nsig = 302402022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 91\n# lonely integer tag\nmsg = 313233343030\nresult = invalid\nsig = 302302202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c002\n\n# tcId = 92\n# appending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 304702222478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00000022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 93\n# appending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 304702202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022300a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb20000\n\n# tcId = 94\n# prepending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 3047022200002478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 95\n# prepending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 304702202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00223000000a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 96\n# appending unused 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 304702202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00000022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 97\n# appending null value to integer\nmsg = 313233343030\nresult = invalid\nsig = 304702222478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00500022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 98\n# appending null value to integer\nmsg = 313233343030\nresult = invalid\nsig = 304702202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022300a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841", - "359d1b34eb20500\n\n# tcId = 99\n# truncated length of integer\nmsg = 313233343030\nresult = invalid\nsig = 30250281022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 100\n# truncated length of integer\nmsg = 313233343030\nresult = invalid\nsig = 302402202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00281\n\n# tcId = 101\n# Replacing integer with NULL\nmsg = 313233343030\nresult = invalid\nsig = 30250500022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 102\n# Replacing integer with NULL\nmsg = 313233343030\nresult = invalid\nsig = 302402202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00500\n\n# tcId = 103\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 304500202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 104\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 304501202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 105\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 304503202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 106\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 304504202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 107\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3045ff202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 108\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0002100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 109\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0012100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 110\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0032100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 111\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0042100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 112\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0ff2100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 113\n# dropping value of integer\nmsg = 313233343030\nresult = invalid\nsig = 30250200022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 114\n# dropping value of integer\nmsg = 313233343030\nresult = invalid\nsig = 302402202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00200\n\n# tcId = 115\n# using composition for integer\nmsg = 313233343030\nresult = invalid\nsig = 30492224020124021f78f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 116\n# using composition for integer\nmsg = 313233343030\nresult = invalid\nsig = 304902202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c022250201000220a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 117\n# modify first byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502202678f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 118\n# modify first byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022102a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 119\n# modify last byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f98140022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 120\n# modify last byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34e32\n\n# tcId = 121\n# truncate integer\nmsg = 313233343030\nresult = invalid\nsig = 3044021f2478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 122\n# truncate integer\nmsg = 313233343030\nresult = invalid\nsig = 3044021f78f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 123\n# truncate integer\nmsg = 313233343030\nresult = invalid\nsig = 304402202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022000a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34e\n\n# tcId = 124\n# truncate integer\nmsg = 313233343030\nresult = invalid\nsig = 304402202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00220a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 125\n# leading ff in integer\nmsg = 313233343030\nresult = invalid\nsig = 30460221ff2478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 126\n# leading ff in integer\nmsg = 313233343030\nresult = invalid\nsig = 304602202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00222ff00a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 127\n# infinity\nmsg = 313233343030\nresult = invalid\nsig = 3026090180022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 128\n# infinity\nmsg = 313233343030\nresult = invalid\nsig = 302502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0090180\n\n# tcId = 129\n# replacing integer with zero\nmsg = 313233343030\nresult = invalid\nsig = 3026020100022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 130\n# replacing integer with zero\nmsg = 313233343030\nresult = invalid\nsig = 302502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0020100\n\n# tcId = 131\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30460221012478f1cf49f6d858ac900a7af177222661ac95e206d32ee63020beee955ca711022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 132\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30460221ff2478f1d149f6d856ac900a7af1772226e7dea086b8a3f1dc48ad29689c965c6f022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 133\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30450220db870e2fb60927a8536ff5850e88ddd95b3a64cba0446f9ec3990bd467067e40022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 134\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3046022100db870e2eb60927a9536ff5850e88ddd918215f79475c0e23b752d6976369a391022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 135\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30460221fedb870e30b60927a7536ff5850e88ddd99e536a1df92cd119cfdf41116aa358ef022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 136\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30460221012478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c", - "66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 137\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3046022100db870e2fb60927a8536ff5850e88ddd95b3a64cba0446f9ec3990bd467067e40022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 138\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022101a07a59c3a41688548eb315e94effca0efd1ffe0a13467061783dde1cce167403\n\n# tcId = 139\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 304402202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00220a07a59c5a41688528eb315e94effca0f835208aec517335790ca4896d5502961\n\n# tcId = 140\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00221ff5f85a63b5be977ac714cea16b10035f0bfc6fca393d12e237b7beca62e4cb14e\n\n# tcId = 141\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00221fe5f85a63c5be977ab714cea16b10035f102e001f5ecb98f9e87c221e331e98bfd\n\n# tcId = 142\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022101a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 143\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 304402202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c002205f85a63b5be977ac714cea16b10035f0bfc6fca393d12e237b7beca62e4cb14e\n\n# tcId = 144\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020100020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 145\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020100020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 146\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201000201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 147\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026020100022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 148\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026020100022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 149\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026020100022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 150\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026020100022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 151\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026020100022100ffffffff00000001000000000000000000000001000000000000000000000000\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 152\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3008020100090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 153\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020101020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 154\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020101020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 155\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201010201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 156\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026020101022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 157\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026020101022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 158\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026020101022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 159\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026020101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 160\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026020101022100ffffffff00000001000000000000000000000001000000000000000000000000\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 161\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3008020101090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 162\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 163\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 164\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff0201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 165\n# Signature with special ca", - "se values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30260201ff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 166\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30260201ff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 167\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30260201ff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 168\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30260201ff022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 169\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30260201ff022100ffffffff00000001000000000000000000000001000000000000000000000000\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 170\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30080201ff090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 171\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 172\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 173\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6325510201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 174\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 175\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 176\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 177\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 178\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551022100ffffffff00000001000000000000000000000001000000000000000000000000\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 179\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3028022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 180\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 181\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 182\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6325500201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 183\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 184\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 185\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 186\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 187\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550022100ffffffff00000001000000000000000000000001000000000000000000000000\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 188\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3028022100ffffffff00000", - "000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 189\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 190\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 191\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6325520201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 192\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 193\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 194\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 195\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 196\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552022100ffffffff00000001000000000000000000000001000000000000000000000000\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 197\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3028022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 198\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 199\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 200\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff0201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 201\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 202\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 203\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 204\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 205\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff022100ffffffff00000001000000000000000000000001000000000000000000000000\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 206\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3028022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 207\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000001000000000000000000000001000000000000000000000000020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 208\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000001000000000000000000000001000000000000000000000000020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 209\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff000000010000000000000000000000010000000000000000000000000201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 210\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000001000000000000000000000001000000000000000000000000022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 211\n# Signature with special case values for r and s\nmsg = 313233343030\nr", - "esult = invalid\nsig = 3046022100ffffffff00000001000000000000000000000001000000000000000000000000022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 212\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000001000000000000000000000001000000000000000000000000022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 213\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000001000000000000000000000001000000000000000000000000022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 214\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000001000000000000000000000001000000000000000000000000022100ffffffff00000001000000000000000000000001000000000000000000000000\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 215\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3028022100ffffffff00000001000000000000000000000001000000000000000000000000090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 216\n# Edge case for Shamir multiplication\nmsg = 3932323038\nresult = valid\nsig = 3044022064a1aab5000d0e804f3e2fc02bdee9be8ff312334e2ba16d11547c97711c898e02203c623e7f7598376825fa8bc09e727c75794cbb4ee8716ae15c31cd1cbe9ca3ee\n\n# tcId = 217\n# special case hash\nmsg = 33393439313934313732\nresult = valid\nsig = 304402203a4f61f7f8c4546e3580f7848411786fee1229a07a6ecf5fb84870869188215d022018c5ce44354e2274eadb8fea319f8d6f60944532dbaae86bfd8105f253041bcb\n\n# tcId = 218\n# special case hash\nmsg = 35333637363431383737\nresult = valid\nsig = 304502203fa9975fb2b08b7b6e33f3843099da3f43f1dcfe9b171a60cafd5489ca9c5328022100985a86825a0cc728f5d9dac2a513b49127a06100f0fc4b8b1f200903e0df9ed2\n\n# tcId = 219\n# special case hash\nmsg = 35363731343831303935\nresult = valid\nsig = 304402204d66e7ee5edd02ab96db25954050079ef8de1d0f02f34d4d75112eaf3f73124002206292d1563140013c589be40e599862bdd6bda2103809928928a119b43851a2ce\n\n# tcId = 220\n# special case hash\nmsg = 3131323037313732393039\nresult = valid\nsig = 3046022100a9228305f7b486f568eb65d44e49ba007e3f14b8f23c689c952e4ced1e6cf91e022100b73c74d28bd1268002bed784a6b06c40a90ee5938ea6d08f272d027e0f96a72c\n\n# tcId = 221\n# special case hash\nmsg = 3131323938303334323336\nresult = valid\nsig = 304402203fa39842bfab6c38afa7963c60beb09484d4579fc75ef09efff44e91bc62ca8302205612add1924f0285ace5b158828e2b32ab2b6e7f10ee68dca1cc54591fee1fec\n\n# tcId = 222\n# special case hash\nmsg = 39383736303239363833\nresult = valid\nsig = 3045022006c04b02edfeecd8620f035ea4f449bd924593e86e5288a6f22d1923b0e2e8a9022100f666718e6fefb515bb9339d29cc0e58cfba89d605ca0066bca87f6a3f08ebcfa\n\n# tcId = 223\n# special case hash\nmsg = 3230323034323936353139\nresult = valid\nsig = 304402201ddd953c32a5f84109cd4d9ec8c364dd318376ff5d228211a367483077d638800220563dba4845de762baf04910618d587e0dd0c97dd1c9785c24ffdf2f8a660abf2\n\n# tcId = 224\n# special case hash\nmsg = 31343531363639313830\nresult = valid\nsig = 30460221009fe4ec4831ef4945f100d5d35a2e6312411ca5df6c900ca60690f2985d553482022100c674ad5e1bead2f767c9248e444452a4a8530dd47246cbbc968da865bdf212b6\n\n# tcId = 225\n# special case hash\nmsg = 31303933363835393531\nresult = valid\nsig = 3046022100e8703d6b16a79fc2ab3653cece29d06f65dd6f2c230cb08ee30c5517407d75db0221008cfeb87b8e95ddacd638b37d315393c5005f3ab8bba0cc1cd1a050829b775bfb\n\n# tcId = 226\n# special case hash\nmsg = 36323139353630323031\nresult = valid\nsig = 3046022100def608caf1f277d71403009f209c1d7eef11aaa7920397fbf429b8146181aece022100f3b8f2aa5b3df9a8b37313ea66ad5b74673f3e8614ff471b1eb6773217511fb0\n\n# tcId = 227\n# special case hash\nmsg = 35363832343734333033\nresult = valid\nsig = 304402204f5d08e8d936ce831d02d6b23fb8fce0e0750101af3ab9c3b28636b95a5e24ad02206f034480553bcecac221f8be8288163c55492e2e56a88f4d0341b61436a0a6c0\n\n# tcId = 228\n# special case hash\nmsg = 33373336353331373836\nresult = valid\nsig = 3045022100bdd822bfe3733d9f4b88764fe091db2e8f8af366e4c44d876bf82e62bd48c7ee02207fbf7750c5dc849a2c55dbdd067806f869652a7b3a57baa4733781d3128f02de\n\n# tcId = 229\n# special case hash\nmsg = 34373935393033373932\nresult = valid\nsig = 304402201c4fc02961b7f4245566b410bf08f447502ea4f75b15690344681efa2edf7b4b02207d63eef119dc88bc4a1b2c43ac21cd53892443661f8c3a97d558bf888c29f769\n\n# tcId = 230\n# special case hash\nmsg = 39333939363131303037\nresult = valid\nsig = 304402206406f2d249ab1264e175476ca3300efd049fcad569dff40b922082b41cc7b7ce0220461872b803383f785077714a9566c4d652e87b2cad90dd4f4cc84bc55004c530\n\n# tcId = 231\n# special case hash\nmsg = 31303837343931313835\nresult = valid\nsig = 30450220415c924b9ba1902b340058117d90623602d48b8280583fb231dc93823b83a153022100f18be8cdc2063a26ab030504d3397dc6e9c6b6c56f4e3a59832c0e4643c0263c\n\n# tcId = 232\n# special case hash\nmsg = 33323336363738353030\nresult = valid\nsig = 3045022100d12e96c7d2f177b7cf6d8a1ede060a2b174dc993d43f5fe60f75604824b64fef02200c97d87035fcca0a5f47fe6461bb30cbaf05b37e4211ec3fcd51fc71a12239ca\n\n# tcId = 233\n# special case hash\nmsg = 31343438393937373033\nresult = valid\nsig = 304502207df72a64c7e982c88f83b3a22802690098147e0e42ef4371ef069910858c0646022100adbaa7b10c6a3f995ed5f83d7bda4ba626b355f34a72bf92ff788300b70e72d0\n\n# tcId = 234\n# special case hash\nmsg = 35373134363332383037\nresult = valid\nsig = 30440220047c4306f8d30e425ae70e0bee9e0b94faa4ef18a9c6d7f2c95de0fe6e2a323702207a4d0d0a596bd9ea3fe9850e9c8c77322594344623c0b46ac2a8c95948aefd98\n\n# tcId = 235\n# special case hash\nmsg = 323236343837343932\nresult = valid\nsig = 3044022057d603a367e23af39c95dd418c0176da8b211d50b1be82bf5ef621a2640204f702205dc3f285ad015c4d71157bd11e5b8df6a89e4b267393b08b5ad5013bdae544b1\n\n# tcId = 236\n# special case hash\nmsg = 35333533343439343739\nresult = valid\nsig = 3044022011df6741021ec8cc567584aea16817c540859c4e5011551c00b097fcfc2337e50220668551919d43206ac0571fc5ad3ac0efb489bea599e7bf99fe4c7468d6c2c5e0\n\n# tcId = 237\n# special case hash\nmsg = 34373837333033383830\nresult = valid\nsig = 304402207451ffede471bd370406533436fc42a89daa0af4903d087cbc062fe7e54dbf700220590895398f22b48ce72cbf7c3d3ee1dd7fb0ee645edb0b1b1de35f370e5bf5ee\n\n# tcId = 238\n# special case hash\nmsg = 32323332313935383233\nresult = valid\nsig = 3045022100fc4c4d81da6f687a6426263193c1a680b67734a1b180647b8c76407cc4f0a9c6022056f775d372c9bee685374085be676c9cf31cf1f978a5e6ccb04e4a0761159cc7\n\n# tcId = 239\n# special case hash\nmsg = 3130373339333931393137\nresult = valid\nsig = 3045022100feb978ca33c46ffba47eb63bb40de7833e43d5654575b54de1fea3d1de3c8ad50220108078ba997bfa064521baf342c97b0c64bd25240c8fd0fd7533ae2d03081b70\n\n# tcId = 240\n# special case hash\nmsg = 31383831303237333135\nresult = valid\nsig = 3046022100cc61729698467ba53da199ff481fe7433f194fc96367907e8dc5e1d9f42b1e2102210083dd9ef156e7c1f9c09b3bf86a4f1c88e5dd20cd74d997858e600797dbe74ad2\n\n# tcId = 241\n# special case hash\nmsg = 36303631363933393037\nresult = valid\nsig = 3045022100d47f616303ff0eb813eac32e760ba30ad445e0af7dc57e70756104823f6a895f0220047f2217b399c46a426b936a124980a6011f0896f51dbe07632828a72d7173f1\n\n# tcId = 242\n# special case hash\nmsg = 38383935323237303934\nresult = valid\nsig = 3046022100cff73dfa2bac67ce1340b25c885abb3e7979ef7f840f15d5f19e86640cdd40a3022100c7d1210802796c4f251049ee08a2c29f5c71064033d17010c65bf2e94499381e\n\n# tcId = 243\n# special case hash\nmsg = 31353830323334303934\nresult = valid\nsig = 3044022010acaf9c485ab1220355b95be269f124e12eb252f2224b0fc50785eb2ee3df45022032443b557efc6896347fa778e1fcf33cbb769c9a7da896b20d93fea7c2791ea4\n\n# tcId = 244\n# special case hash\nmsg = 33393635393931353132\nresult = valid\nsig ", - "= 3046022100f919da0651abc2bff994a879d2778fa5195d57400e003e8dd6adb3fc7a0cc4cc0221009b945d06bd119665b278a59bd24fdd2350817d0be87997bee57b70c479d64a2d\n\n# tcId = 245\n# special case hash\nmsg = 32323838373332313938\nresult = valid\nsig = 3045022100cc38e7a018f6d70b2d9b49120cc9b4a169f2f72238821a86b81f553b6225d24e0220276efd8bf06ccce07c7aae35eaac3bd1c374dcf0cf0588d5e0e4171936688636\n\n# tcId = 246\n# special case hash\nmsg = 32323330383837333139\nresult = valid\nsig = 3045022100ff85ad66621991c318b85cef73c576cb2a8d43c568c1aafc85b40ef2a9a6b41c0220732a79e6837ebf8434fea6e7fefa948f506ae455c1a3eb36a030185a23037d96\n\n# tcId = 247\n# special case hash\nmsg = 313239303536393337\nresult = valid\nsig = 3044022033f016e51eef9b1136380cb8b84c6b38b107e24c6731bd07cb1c7f4a29f33a83022036b177bb8be94c8be67ff3a41fcc4d22b5c9eb377da713eb014ae01c64ca6dd7\n\n# tcId = 248\n# special case hash\nmsg = 32373438363536343338\nresult = valid\nsig = 3045022100929413ee91f27454d74e91370a10a86fc98ac7305c8ab4ca59752bda3a7bfc370220483b47a26a0d7d2e6bd37d351d9ee37c5ec2a4686d884d78b6beb7f6b08c50f9\n\n# tcId = 249\n# special case hash\nmsg = 37353833353032363034\nresult = valid\nsig = 30450220578202c7d0abac93ca43dde3cb44414e5601c1eb557604cb9adb4bde0a12633b022100fb9a7412e307aee95ef4b53540571a21559414e5306794ab5182cfb229dab3e9\n\n# tcId = 250\n# special case hash\nmsg = 32333237373534323739\nresult = valid\nsig = 3045022046d45ad0bb75b8639d0e91d8450fc31887c211328a5784fc83b4cb7f5b962c1b022100d6751d13ede2079b7aa1d822bdb32d7f3cf00273a1ff03df90c0ec7c62a47568\n\n# tcId = 251\n# special case hash\nmsg = 373735353038353834\nresult = valid\nsig = 3046022100abe84c941783d5ced284fea56341ecc68d6bdd3196d318fbd074641f8c885bd5022100bdea3c44d48e01aa40935c1c9723ff733199563440f26b4ecf0b444b0418d9f5\n\n# tcId = 252\n# special case hash\nmsg = 3137393832363438333832\nresult = valid\nsig = 3045022005277cdbf491e336fe81be24e393a161a4fb89112c9ffed1ee6649c406713408022100ab6934332e68e108bb0484d21c457dcf381a620c3a4712fdbfeb658a3fafd60c\n\n# tcId = 253\n# special case hash\nmsg = 32333936373737333635\nresult = valid\nsig = 30450220293825737c8c14430ed10dbadd7da337275f9b61d1d26377f778ffaa00c139de022100cdddec267a8678c96829bf6c1d6f38322e119937cfd2fee01e9dc9525f43ed6b\n\n# tcId = 254\n# special case hash\nmsg = 35393938313035383031\nresult = valid\nsig = 304402202041fdd6111c45dfd29e750e082dcdadc9a584a8a2be46580fb0ba3b3dc658620220421824fe987e4172a0f8bbcb7bcd9e1b073b7742ed9f9df98f2a1a37cd374ce3\n\n# tcId = 255\n# special case hash\nmsg = 3136363737383237303537\nresult = valid\nsig = 30450220267941db660e046ab14e795669e002b852f7788447c53ebef46a2056978b5574022100d00183bcaf75bc11e37653f952f6a6537151c3aa0a1b9e4e41b004a29185395b\n\n# tcId = 256\n# special case hash\nmsg = 323036323134333632\nresult = valid\nsig = 304402205dcd7f6814739d47f80a363b9414e6cbfb5f0846223888510abd5b3903d7ae09022043418f138bb3c857c0ad750ca8389ebcf3719cb389634ac54a91de9f18fd7238\n\n# tcId = 257\n# special case hash\nmsg = 36383432343936303435\nresult = valid\nsig = 304502205e0e8cc0280409a0ce252da02b2424d2de3a52b406c3778932dbc60cb86c356702210093d25e929c5b00e950d89585ec6c01b6589ae0ec0af8a79c04df9e5b27b58bc5\n\n# tcId = 258\n# special case hash\nmsg = 33323639383937333231\nresult = valid\nsig = 304502204fcf9c9d9ffbf4e0b98268c087071bffe0673bb8dcb32aa667f8a639c364ea47022100820db0730bee8227fc831643fcb8e2ef9c0f7059ce42da45cf74828effa8d772\n\n# tcId = 259\n# special case hash\nmsg = 31333837333234363932\nresult = valid\nsig = 3046022100c60cd2e08248d58d1639b123633643c63f89aff611f998937ccb08c9113bcdca022100ac4bb470ce0164616dada7a173364ed3f9d16fd32c686136f904c99266fda17e\n\n# tcId = 260\n# special case hash\nmsg = 34313138383837353336\nresult = valid\nsig = 304502207cfdaf6f22c1c7668d7b6f56f8a7be3fdeeb17a7863539555bbfa899dd70c5f1022100cee151adc71e68483b95a7857a862ae0c5a6eee478d93d40ccc7d40a31dcbd90\n\n# tcId = 261\n# special case hash\nmsg = 393838363036353435\nresult = valid\nsig = 304402202270be7ee033a706b59746eab34816be7e15c8784061d5281060707a0abe0a7d022056a163341ee95e7e3c04294a57f5f7d24bf3c3c6f13ef2f161077c47bd27665d\n\n# tcId = 262\n# special case hash\nmsg = 32343739313135383435\nresult = valid\nsig = 3044022016b5d2bfcaba21167a69f7433d0c476b21ded37d84dc74ca401a3ecddb2752a8022062852cf97d89adfb0ebbe6f398ee641bfea8a2271580aac8a3d8326d8c6e0ef9\n\n# tcId = 263\n# special case hash\nmsg = 35303736383837333637\nresult = valid\nsig = 3046022100d907eefa664115848b90c3d5baa0236f08eafaf81c0d52bb9d0f8acb57490847022100fd91bc45a76e31cdc58c4bfb3df27f6470d20b19f0fba6a77b6c8846650ed8a6\n\n# tcId = 264\n# special case hash\nmsg = 393838353036393637\nresult = valid\nsig = 30450220048337b34f427e8774b3bf7c8ff4b1ae65d132ac8af94829bb2d32944579bb31022100bd6f8eab82213ccf80764644204bb6bf16c668729cdd31dd8596286c15686e8e\n\n# tcId = 265\n# special case hash\nmsg = 32373231333036313331\nresult = valid\nsig = 3046022100b2bc46b7c44293557ab7ebeb0264924277193f87a25d94c924df1518ba7c7260022100abf1f6238ff696aaafaf4f0cbbe152c3d771c5bfc43f36d7e5f5235819d02c1a\n\n# tcId = 266\n# special case hash\nmsg = 33323034313031363535\nresult = valid\nsig = 3045022040d4b38a61232e654ffd08b91e18609851f4189f7bf8a425ad59d9cbb1b54c990221009e775a7bd0d934c3ed886037f5d3b356f60eda41191690566e99677d7aaf64f3\n\n# tcId = 267\n# special case hash\nmsg = 33313530363830393530\nresult = valid\nsig = 3046022100ac8f64d7df8d9fea005744e3ac4af70aa3a38e5a0f3d069d85806a4f29710339022100c014e96decfef3857cc174f2c46ad0882bef0c4c8a17ce09441961e4ae8d2df3\n\n# tcId = 268\n# special case hash\nmsg = 31373237343630313033\nresult = valid\nsig = 3044022041b3766f41a673a01e2c0cab5ceedbcec8d82530a393f884d72aa4e6685dea0a0220073a55dca2da577cafb40e12dd20bf8529a13a6acdf9a1c7d4b2048d60876cb3\n\n# tcId = 269\n# special case hash\nmsg = 3134353731343631323235\nresult = valid\nsig = 304502201942755aa8128382cd8e35a4350c22cc45ba5704d99e8a240970df11956ad866022100f64cf1e0816cf7ac5044f73ba938e142ef3305cb09becb80a0a5b9ad7ba3eb07\n\n# tcId = 270\n# special case hash\nmsg = 34313739353136303930\nresult = valid\nsig = 3045022051aba4ff1c7ddf17e0632ab71684d8de6dc700219ef346cb28ce9dafc3565b3b022100b6aaebe1af0ad01f07a68bf1cf57f9d6040b43c14b7eb8238542760e32ce3b0c\n\n# tcId = 271\n# special case hash\nmsg = 35383932373133303534\nresult = valid\nsig = 304502210091efbfcc731650e9f004c38b71db146c17bf871c82c4e87716f7ff2f7f9e51d00220089ea631a7c5f05311c521d21ba798b5174881f0fd8095fb3a77515913efb6e0\n\n# tcId = 272\n# special case hash\nmsg = 33383936313832323937\nresult = valid\nsig = 304502204a7e47bd281ea09b9e3a32934c7a969e1f788f978b41585989f4689e804663fb022100e65f6bd702403cbbed7f8ad0045f331d4a96fbf8c43f71f11615b7d1b9153b7f\n\n# tcId = 273\n# special case hash\nmsg = 38323833333436373332\nresult = valid\nsig = 3046022100c795f5da86e10a604d4f94bf7cac381c73edad1461d66929e53aa57ca294e89f022100bae784ab6c7b58332ee05e7d54169edf55ce45f030e71ae8df63969fb327a10c\n\n# tcId = 274\n# special case hash\nmsg = 33333636393734383931\nresult = valid\nsig = 3046022100ea68b24843b225f505e01c0e608b20b4d93e8faf6b9cf70cf8f9134a80e7b668022100a3abc044b4728f80fe414bdc66f032b262356720547bec7729fad94151c6adc7\n\n# tcId = 275\n# special case hash\nmsg = 32313939313533323239\nresult = valid\nsig = 3046022100bfe7502140c57a24a77edc3d9b3c4bc11d21bdb0b196977b7f2b13ac973ad697022100947a01da9731849d72b67ef7bc40b012480fd389895aad1f6b1cdbeab3b93b8d\n\n# tcId = 276\n# special case hash\nmsg = 35363030333136383232\nresult = valid\nsig = 304402203434ee1142740a0ab8623b97fc8dc2567eda45dadf6039b45c448819e840cf3002203c0fac0487841997202c29f3bf2df540b115b29dc619160d52203d4a1fd4b9f7\n\n# tcId = 277\n# special case hash\nmsg = 383639363531363935\nresult = valid\nsig = 304502205338500e23ba96a0adc6ef84932e25fbad7435d9f70eb7f476c6912de12e33c8022100a002f5583ea8c0d7fb17136d0ee0415acf629879ce6b01ac52e3ecd7772a3704\n\n# tcId = 278\n# special case hash\nmsg = 36353833393236333732\nresult = valid\nsig = 304402204ff2d4e31f4180de6901d2d20341d12387c9c55f4cf003a742f049b84af6fe0502200312f38771414555fa5ed2817dcc629a8c7cf69d306300e87bc167278ec3ef37\n\n# tcId = 279\n# special case hash\nmsg = 3133323035303135373235\nresult = valid\nsig = 3044022051d665bad5f2d6306c6bbfe1f27555887670061d4df36ec9f4ce6cdfaf9ea7ac02202905e43f6207ee93df35a2e9fb9bc8098c448ae98a14e4ad1ebaea5d56b6e493\n\n# tcId = 280\n# special case hash\nmsg = 35303835333330373931\nresult = valid\nsig = 3046022100b804e0235f135aba7b7531b6831f26cc9fb77d3f83854957431be20706b813690221009d317fd08e4e04", - "67617db819cde1d7d4d74da489b2bce4db055ea01eccfafcf2\n\n# tcId = 281\n# special case hash\nmsg = 37383636383133313139\nresult = valid\nsig = 30450221008ab50ef3660ccb6af34c78e795ded6b256ffca5c94f249f3d907fb65235ef680022049d5aaeae5a6d0c15b286e428b5e720cf37a822ede445baa143ffae69aba91b8\n\n# tcId = 282\n# special case hash\nmsg = 32303832353339343239\nresult = valid\nsig = 30440220571b9c46a47c5cc53a574c196c3fb07f3510c0f4443b9f2fe781252c24d343de022068a9aebd50ff165c89b5b9cb6c1754191958f360b4d2851a481a3e1106ee7809\n\n# tcId = 283\n# special case hash\nmsg = 3130303635393536363937\nresult = valid\nsig = 304502204cb7817b04dc73be60d3711803bc10687a6e3f4ab79c4c1a4e9d63a73174d4eb022100ce398d2d6602d2af58a64042f830bf774aee18209d6fb5c743b6a6e437826b98\n\n# tcId = 284\n# special case hash\nmsg = 33303234313831363034\nresult = valid\nsig = 30450220684399c6cd6ebb1c5d5efb0d78dce40ebd48d9d944eb6548c9ce68d7fdc82229022100cf25c8e427fae359bfe60fa02964f4c9b8d6db54612e05c78c341f0a8c52d0b5\n\n# tcId = 285\n# special case hash\nmsg = 37373637383532383734\nresult = valid\nsig = 3045022020b7b36d5bc76fa182ca27152a99a956e6a0880000694296e31af98a7312d04b022100eeeabc5521f9856e920eb7d29ed7e4042f178ff706dff8eeb24b429e3b63402a\n\n# tcId = 286\n# special case hash\nmsg = 353434313939393734\nresult = valid\nsig = 304402206b65c95e8e121d2e6ee506cfd62cb88e0bfb3589da40876898ef66c43982aca9022009642c05ad619b4402fd297eb57e29cca5c2eb6823931ba82de32d7c652ba73e\n\n# tcId = 287\n# special case hash\nmsg = 35383433343830333931\nresult = valid\nsig = 3044022067c74cbf5ea4b777bf521ace099f4f094d8f58900e15e67e1b4bd399056629ed02203d2884655c49b8b5f64e802a054e7bf09b0fc80ca18ebf927b82e58bb4a00400\n\n# tcId = 288\n# special case hash\nmsg = 373138383932363239\nresult = valid\nsig = 3045022079a5e40da5cf34c4c39adf7dfc5d454995a250314ebd212b5c8e3f4e6f875feb022100b268920e403ba17828ff271938a6558a5b2dd000229f8edb4a9d9f9b6ac1b472\n\n# tcId = 289\n# special case hash\nmsg = 31373433323233343433\nresult = valid\nsig = 3045022100c8b13006c3a51a322fff9321761b01de134f526be582b22e19693c443fc9fe46022034e7f60179c6162ab980fcd58f173b0e6c30b524d35c67921677522dcef843a1\n\n# tcId = 290\n# special case hash\nmsg = 32343036303035393336\nresult = valid\nsig = 304502203513db745489a487c88a6cedf8795b640f8f71578397bdabd6cc586c25bd66ad02210099a72cd3f0ca6c799149283ca0af37f86b88200d0c905bd3c9f1b859e55b1659\n\n# tcId = 291\n# special case hash\nmsg = 31363134303336393838\nresult = valid\nsig = 304402203a6386afb08f7ff8140b5a270f764e8706ef2830fb177446f7b4eeb8a25aac6402204b70854b38c29245b2b980eba10ea936c68a38c1da5255ce2386db23afc7c06a\n\n# tcId = 292\n# special case hash\nmsg = 32303935343235363835\nresult = valid\nsig = 3046022100b8fc54a8a6be3c55e99c06f99ccdcce7af5c18a3c5829726a870cc1068458f64022100cc7237c39c8e6a4a1c8c62f5f88636549c7410798b89684c502c3adfe5fb7ad2\n\n# tcId = 293\n# special case hash\nmsg = 31303038303938393833\nresult = valid\nsig = 3045022047b460851e5607f2021626635c565a63f78f558795e1b330d09115970dbbb8ab022100a6a9f4f213e08d3c736d3e1c44a35140cb107619f265a5b13608ed729fd6d894\n\n# tcId = 294\n# special case hash\nmsg = 31353734313437393237\nresult = valid\nsig = 30450221008cfda4f7a65864ebbea3144863da9b075c07b5b42cb4569643ddfd70dd753b190220595784b1ab217874b82b9585521f8090b9f6322884ab7a620464f51cf846c5b7\n\n# tcId = 295\n# special case hash\nmsg = 32383636373731353232\nresult = valid\nsig = 304402204cd6a45bd7c8bf0edbdf073dbf1f746234cbbca31ec20b526b077c9f480096e702207cf97ae0d33f50b73a5d7adf8aa4eeeb6ff10f89a8794efe1d874e23299c1b3d\n\n# tcId = 296\n# special case hash\nmsg = 31363934323830373837\nresult = valid\nsig = 304402202e233f4df8ffebeaec64842b23cce161c80d303b016eca562429b227ae2b58ec022046b6b56adec82f82b54daa6a5fca286740a1704828052072a5f0bc8c7b884242\n\n# tcId = 297\n# special case hash\nmsg = 39393231363932353638\nresult = valid\nsig = 30440220549f658d4a3f98233a2c93bd5b1a52d64af10815ae60becb4139cac822b579c3022027bdddf0dbcf374a2aec8accc47a8ac897f8d1823dda8eb2052590970b39ce2a\n\n# tcId = 298\n# special case hash\nmsg = 3131363039343339373938\nresult = valid\nsig = 30450221009fabcc1e5fd965226902f594559e231369e584453974e74f49d7d762e134fb9d0220293cccc510793bac45ce5da2bb6c9e906437f59435ca206655f74b625df07c7c\n\n# tcId = 299\n# special case hash\nmsg = 37313836313632313030\nresult = valid\nsig = 304502202e5c140fd6f5f823addc8088ffaae967e7f4897274316769561dfb31435825d9022100eda47327d7cfae1daa344ff5582a467bd18eb9f01caeab9c6da3c0cc89df6713\n\n# tcId = 300\n# special case hash\nmsg = 33323934333437313737\nresult = valid\nsig = 304402204c11e3b7efbe3908ad2118e54d7d34d6c6eb4570bf7fdb11a7679fe93afa254c0220712e90f421836e542dac49d10bb39db4a98b2735b6336d8a3c392f3b90e60bbe\n\n# tcId = 301\n# special case hash\nmsg = 3138353134343535313230\nresult = valid\nsig = 3045022100dfb4619303f4ff689563d2275069fac44d63ea3c3b18f4fb1ac805d7df3d12ec022068e37b846583901db256329f9cf64f40c416fba50dcb9be333a3e29c76ae32db\n\n# tcId = 302\n# special case hash\nmsg = 343736303433393330\nresult = valid\nsig = 3045022100e70e8e17bd758ff0c48f91cb2c53d293f0f5ae82eb9dfe76ab98f9b064278635022021dde32cb0389cad7bdf676d9b9b7d25bb034ad25a55ea71ee7ee26a18359dd2\n\n# tcId = 303\n# special case hash\nmsg = 32353637333738373431\nresult = valid\nsig = 30440220421397ecae30617a5a6081ad1badf6ce9d9d4cb2afdabf1f900e7fdb7fb0af5a022057ca89dc22801c75fdbefdaeca65c675625f94de7d635062b08ed308df5762cc\n\n# tcId = 304\n# special case hash\nmsg = 35373339393334393935\nresult = valid\nsig = 304502200610c08076909bb722fba105c23eac8f66b4db1d58f66a882fc90d59acdec8e0022100af59e8d570761cac589d49f11c884007f7ac1eea1a44c6f3fdad1d542187d25e\n\n# tcId = 305\n# special case hash\nmsg = 33343738333636313339\nresult = valid\nsig = 3045022059a1181cab0ee8ce94ab2b5ab4f4b13a422e38efe69f634bf947485a5b9ea49c0221009b3c913d98a4ab15f6a39f1802b8f2d28559aa1f8d03a3a88df00c89dc293a97\n\n# tcId = 306\n# special case hash\nmsg = 363439303532363032\nresult = valid\nsig = 30460221008cae6c4dfbf901bd66ab82541011fa15c8e90e2c18c01bd881acaa2b63cb587b022100a86acf943f29cef91d1b66a7de5547df6cdfc45dd7bef816dcb8de9f5a425d2d\n\n# tcId = 307\n# special case hash\nmsg = 34373633383837343936\nresult = valid\nsig = 30450221008b00c74b86474d782eac9974aea606d8f7ee78c79597e15687021f5991e86acd0220309dfe3686648eae104e87b3e9b5616a3ad479ca4f0b558ae4f1e5ab3115346a\n\n# tcId = 308\n# special case hash\nmsg = 353739303230303830\nresult = valid\nsig = 30450220433a915504c977809634a36fcf4480e4c8069fc127d201d30dfdb1f423c95fd4022100bcb1b89aafd50a1766b09741fc6a9a96e744ae9826d839bf85ffb50a91981773\n\n# tcId = 309\n# special case hash\nmsg = 35333434373837383438\nresult = valid\nsig = 304502204b69abd2b39840a545cdd4a72d384234580e2fd938b7091d0ecdb562780857db022100fdab9957119e0a4092af82f6cc29f3c8a692671ec86efb0a03c1112a0a1e0467\n\n# tcId = 310\n# special case hash\nmsg = 3139323636343130393230\nresult = valid\nsig = 3045022100dab9d3686c28363ad017b4a2b36d35bf2eb80633613d44deb9501d42a3efbd3802201392a562d79f9ab19014e4f7e2f2668259f3720a76c120d4a3c3964e880f7679\n\n# tcId = 311\n# special case hash\nmsg = 33373033393135373035\nresult = valid\nsig = 3045022023f94e47b440ce379b74c9311232b19a64e3e7c9b90da34b0c1c3f3d7af28105022100e1425903b1479c2ce18b108a6d1ec8b7a4f0f657dedb00de3a3ceea7fdeee9be\n\n# tcId = 312\n# special case hash\nmsg = 3831353435373730\nresult = valid\nsig = 30450221009d706a8fa85d15bd0c3492c6672dfe529f4073b217b3947b5b2cfd61f87ccb7102206aaaaf369f82a0e542f72ded7d7eb90c8314ffa613a0ea81da1c8393dbae2bac\n\n# tcId = 313\n# special case hash\nmsg = 313935353330333737\nresult = valid\nsig = 3046022100ac77918c4085c8a7ce5020b00c315629aee053a445cb4661eb50f6b62a47da29022100df2aea2b9c11a6ce39d3cd9e1faf4a53057e0b1b2e48a324be9e773203fe9fbb\n\n# tcId = 314\n# special case hash\nmsg = 31323637383130393033\nresult = valid\nsig = 30460221009db2dbd2935f147fae7f6a95c8e2307bd8537c3d96eb732ad6d5ebdd89bc754e02210093a9ab99d2de9d08fe0a61e26c8fe1ebbf88726e4b69d551b57d15f0ae16df5a\n\n# tcId = 315\n# special case hash\nmsg = 3131313830373230383135\nresult = valid\nsig = 30440220769f70093939afbd1fa15873decfa803ca523ace8040280ba78cf833497722bc0220369875aba5e1ced5a4ca8444ec9399a38038b00e153a0ae34d9b3c9781447eea\n\n# tcId = 316\n# special case hash\nmsg = 38333831383639323930\nresult = valid\nsig = 3045022026e5182b9822550ad52f46ad80781d6bef3d110a204db5e58a0746f796982200022100a9418e76029ced0cf78a571a9e59ad04086e91f70e6813981bb33c1dee891165\n\n# tcId = 317\n# special case hash\nmsg = 3331333132383732373", - "7\nresult = valid\nsig = 3046022100e7bd6aefcf7b27e1f3fadbe713f9adb3d23398e88200cd2e94989c9d12e921770221009583e0de3b76f8d4b1e634a81cbc34af54e2f8599f3684ce48d372760c8204c4\n\n# tcId = 318\n# special case hash\nmsg = 3134333331393236353338\nresult = valid\nsig = 30450221008638ed7eaa83609a01a6af9c52ec9bfddda90442b1e6031d61cfa22e48b2e1e2022020c284d596f71c6c8df732f5a5a2006302301e1a792e2b39663d93a9760762d2\n\n# tcId = 319\n# special case hash\nmsg = 333434393038323336\nresult = valid\nsig = 3044022061d924307a96180b06383608ba91674e15c3ea06ff2534412b93a587dde649c1022059b84aa2115b2547edac88088ca6313e9fbe1ca6a361c7e57938f9dde3f4349c\n\n# tcId = 320\n# special case hash\nmsg = 36383239383335393239\nresult = valid\nsig = 30450220424fcfc3fd63d128c2eb125e88c7fe5d283b63470a786b82783edbb8a0b7a6d7022100b11548c2cd7fce9d44e795ca51af0b2f6a5180e9c9be0314007ed9e7f4bbe5e9\n\n# tcId = 321\n# special case hash\nmsg = 33343435313538303233\nresult = valid\nsig = 3045022100a5f747ae6290fa9582c6ce8d5608621d495f061551bc4531bacba586a563b184022062faf8f92291e12812835b3f1d43c967bceb885b110bd06e5a68e2d74781ae2b\n\n# tcId = 322\n# special case hash\nmsg = 3132363937393837363434\nresult = valid\nsig = 3045022100b731dc0d92c2cc7a605d78233f7814699bdf1cab2df297b6844eec4015af8ea0022039b1a0cc88eb85bcdc356b3620c51f1298c60aec5306b107e900ffdba049dd6f\n\n# tcId = 323\n# special case hash\nmsg = 333939323432353533\nresult = valid\nsig = 3046022100ef73c4fa322da39fb6503bab6b66b64d241056afbcd6908f84b61ccbbe890433022100f1ef85413e5764aa58a3128ccfcf388324fe5340e5edf8d0135ae76786ce415b\n\n# tcId = 324\n# special case hash\nmsg = 31363031393737393737\nresult = valid\nsig = 30450220694cd30e2ad0182579331474b271ee2d48723bc8415dc6513873586ce705b76b022100c5ac0c0ed5a4017d110cb45d63aa955dc7dc5ce23e7965c5397c3ff46a884636\n\n# tcId = 325\n# special case hash\nmsg = 3130383738373535313435\nresult = valid\nsig = 3046022100f38b2236be3024e10b894ffb1cc68d0bb8d4cf0fcd2cfc1779f8883765d3cd96022100da69cd0b74c25566d60a486edd559fc39d569fb2751445a4798df8a36891802c\n\n# tcId = 326\n# special case hash\nmsg = 37303034323532393939\nresult = valid\nsig = 3046022100a881732c205a0b4b95669c00756fd91973450109a46f17d5a9d971b5e92b9aa40221008acefdca4e06c16b47ccad1c57c05912637e107096ba230c92b97187db79e19e\n\n# tcId = 327\n# special case hash\nmsg = 31353635333235323833\nresult = valid\nsig = 3044022004452f554bae819b42effb84ef44a9f1cb7e2d75b4ba9ff9b9cfffaddde3fd1b022061a3fbc5e73c350f2e3d85a7452cd231a3f3375fc11f5fe153b185f53b09c1d0\n\n# tcId = 328\n# special case hash\nmsg = 3233383236333432333530\nresult = valid\nsig = 3045022005814f57f58efc7cb490119e584e635e6f0ad1c19fb5dc2edafda075bb55f98e0221009dd5c6e39009d67d965903ecffe08a851775cc1248cc19c0b77798282131b8f6\n\n# tcId = 329\n# special case hash\nmsg = 31343437383437303635\nresult = valid\nsig = 3045022100dc1c4a46085e198843b1f01980cd5e4a1ff6f8e8ff7014397f0afd5b247fb0a0022038a13dc723ed90b30251d742b14733a03292ff26530a1ebcaf3d10862a6eff82\n\n# tcId = 330\n# special case hash\nmsg = 3134323630323035353434\nresult = valid\nsig = 304502201067667bf525734ca7f2510e36348fd9c2c9bccf032dfd571de6d45abd49361a022100fa762568d3a19e5a1d8ea65e00202a5b16f9afae56733a01f86e35378c558da4\n\n# tcId = 331\n# special case hash\nmsg = 31393933383335323835\nresult = valid\nsig = 3046022100e58d69dc56bc1031644847e3e046e2ea845a515d969d07ea1aa53aea5bd92fa1022100bfe50b80f7c512f5ab521fe7e1a131045fde78d4de826c91573baaba1e35ca97\n\n# tcId = 332\n# special case hash\nmsg = 34323932313533353233\nresult = valid\nsig = 3046022100fe79c6b8c14d0f23d426e3d157f1b541f6bb91bf29957ef97c55949c9ba48a350221009da112c4a4cf4b1ff490c426f6c8ff122183964a0de56f7336ab382dc9d10285\n\n# tcId = 333\n# special case hash\nmsg = 34343539393031343936\nresult = valid\nsig = 3045022045d4ed7e9edacb5a730944ab0037fba0a136ed9d0d26b2f4d4058554f148fa6f022100f136f15fd30cfe5e5548b3f4965c16a66a7c12904686abe12da777619212ae8c\n\n# tcId = 334\n# special case hash\nmsg = 31333933393731313731\nresult = valid\nsig = 304402204fb7c1727e40bae272f6143a50001b54b536f90233157896dbf845e263f2486302206fea5c924dca17519f6e502ef67efa08d39eb5cc3381266f0216864d2bd00a62\n\n# tcId = 335\n# special case hash\nmsg = 32333930363936343935\nresult = valid\nsig = 30450220779aac665dd988054b04f2e9d483ca79179b3372b58ca00fe43520f44fcb4c32022100b4eca1182cd51f0abd3ea2268dcda49a807ad4116a583102047498aa863653f5\n\n# tcId = 336\n# special case hash\nmsg = 3131343436303536323634\nresult = valid\nsig = 3046022100db7ac6f65fb1c38d80064fd11861631237a09924b4eeca4e1569fa4b7d80ad24022100a38d178d37e13e1afa07a9d03da025d594461938a62a6c6744f5c8f7d7b7bb81\n\n# tcId = 337\n# special case hash\nmsg = 363835303034373530\nresult = valid\nsig = 3046022100c90043b4aadf795d870ac223f33acdbd1948c31afff059054dc99528c6503fa6022100829f67b312bb134f6954a23c611a7f7b5b2a69efced9c48db589ac0b4d3da827\n\n# tcId = 338\n# special case hash\nmsg = 3232323035333630363139\nresult = valid\nsig = 3045022100fa16c0125b6615b90e81f7499804308a90179bf3fcff6a4b2695271c68b23ded02200d6cda5ce041dc5a5f319ad9c0de4927d0cf5e89e37b79216194413d42976d54\n\n# tcId = 339\n# special case hash\nmsg = 36323135363635313234\nresult = valid\nsig = 304502201a4b5bd0f806549f46a3e71bfe412d6d89206017640ded66f3d0b2d9b26bec45022100aac5f74e3130264e01428570ee82ee47e245d160ed812ae252dedffd82e1ec2c\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04b6e08b1bcc89e7fb0b84d7497e310553495be4877eccc4b3d6d79f7c68a0573431760fa1bcea4972759174ac1103bc6011985ccee251918d0573fbcb78969116]\n[key.wx = 0b6e08b1bcc89e7fb0b84d7497e310553495be4877eccc4b3d6d79f7c68a05734]\n[key.wy = 31760fa1bcea4972759174ac1103bc6011985ccee251918d0573fbcb78969116]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004b6e08b1bcc89e7fb0b84d7497e310553495be4877eccc4b3d6d79f7c68a0573431760fa1bcea4972759174ac1103bc6011985ccee251918d0573fbcb78969116]\n[sha = SHA-512]\n\n# tcId = 340\n# k*G has a large x-coordinate\nmsg = 313233343030\nresult = valid\nsig = 303502104319055358e8617b0c46353d039cdaab022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254e\n\n# tcId = 341\n# r too large\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000001000000000000000000000000fffffffffffffffffffffffc022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254e\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 043590c6a10353d669bc94d8e2ff9e14bbeed4a7f45b887255ab7e37b676387bb615fc6f97ce39a3874c2b34cc571889abfa0a706c2cfb0e5a4750cc25690696f8]\n[key.wx = 3590c6a10353d669bc94d8e2ff9e14bbeed4a7f45b887255ab7e37b676387bb6]\n[key.wy = 15fc6f97ce39a3874c2b34cc571889abfa0a706c2cfb0e5a4750cc25690696f8]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200043590c6a10353d669bc94d8e2ff9e14bbeed4a7f45b887255ab7e37b676387bb615fc6f97ce39a3874c2b34cc571889abfa0a706c2cfb0e5a4750cc25690696f8]\n[sha = SHA-512]\n\n# tcId = 342\n# r,s are large\nmsg = 313233343030\nresult = valid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254f022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254e\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04369e96402f2cfd1a37b3acbdecfc562862dbca944a0f12d7aaacb8d325d7650aa723621922be2bdac9186290fdcdda028d94437966507d93f2fc1f5c887fdedb]\n[key.wx = 369e96402f2cfd1a37b3acbdecfc562862dbca944a0f12d7aaacb8d325d7650a]\n[key.wy = 0a723621922be2bdac9186290fdcdda028d94437966507d93f2fc1f5c887fdedb]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004369e96402f2cfd1a37b3acbdecfc562862dbca944a0f12d7aaacb8d325d7650aa723621922be2bdac9186290fdcdda028d94437966507d93f2fc1f5c887fdedb]\n[sha = SHA-512]\n\n# tcId = 343\n# r and s^-1 have a large Hamming weight\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100909135bdb6799286170f5ead2de4f6511453fe50914f3df2de54a36383df8dd4\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 0427a0a80ea2e1aa798ea9bcc3aedbf01ab78e49c9ec2ad0e08a0429a0e1db4d0d32a8ee7bee9d0a40014e484f34a92bd6f33fe63624ea9579657441ac79666e7f]\n[key.wx = 27a0a80ea2e1aa798ea9bcc3aedbf01ab78e49c9ec2ad0e08a0429a0e1db4d0d]\n[key.wy = 32a8ee7bee9d0a40014e484f34a92bd6f33fe63624ea9579657441ac79666e7f]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000427", - "a0a80ea2e1aa798ea9bcc3aedbf01ab78e49c9ec2ad0e08a0429a0e1db4d0d32a8ee7bee9d0a40014e484f34a92bd6f33fe63624ea9579657441ac79666e7f]\n[sha = SHA-512]\n\n# tcId = 344\n# r and s^-1 have a large Hamming weight\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022027b4577ca009376f71303fd5dd227dcef5deb773ad5f5a84360644669ca249a5\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 049cff61712d4bc5b3638341e6e0a576a8098c9c6d3f198d389c4669f398dc0867f3b9e09f567f3dfd9c4d2c1163e82beadf16c76e8f9d7a64673800ea76fa1e59]\n[key.wx = 09cff61712d4bc5b3638341e6e0a576a8098c9c6d3f198d389c4669f398dc0867]\n[key.wy = 0f3b9e09f567f3dfd9c4d2c1163e82beadf16c76e8f9d7a64673800ea76fa1e59]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200049cff61712d4bc5b3638341e6e0a576a8098c9c6d3f198d389c4669f398dc0867f3b9e09f567f3dfd9c4d2c1163e82beadf16c76e8f9d7a64673800ea76fa1e59]\n[sha = SHA-512]\n\n# tcId = 345\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020105020101\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04d9117cae81295e82682fa387991e668e1570e0e90100bf4e63964822460561bc19f96b1787ed15769929978ba3dd7f68c97adf5c16f671e756cd8f08c49456ca]\n[key.wx = 0d9117cae81295e82682fa387991e668e1570e0e90100bf4e63964822460561bc]\n[key.wy = 19f96b1787ed15769929978ba3dd7f68c97adf5c16f671e756cd8f08c49456ca]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004d9117cae81295e82682fa387991e668e1570e0e90100bf4e63964822460561bc19f96b1787ed15769929978ba3dd7f68c97adf5c16f671e756cd8f08c49456ca]\n[sha = SHA-512]\n\n# tcId = 346\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020105020103\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 048cfcbad3524c22b992529f943e3ce0b2d126085501d6e3edd4f1dbf74bdca21eafb259b1ba179cac09e8e43a88c8a09e7339910a7c941932e44b8be56f1fccde]\n[key.wx = 08cfcbad3524c22b992529f943e3ce0b2d126085501d6e3edd4f1dbf74bdca21e]\n[key.wy = 0afb259b1ba179cac09e8e43a88c8a09e7339910a7c941932e44b8be56f1fccde]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200048cfcbad3524c22b992529f943e3ce0b2d126085501d6e3edd4f1dbf74bdca21eafb259b1ba179cac09e8e43a88c8a09e7339910a7c941932e44b8be56f1fccde]\n[sha = SHA-512]\n\n# tcId = 347\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020105020105\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04fbb51127e1f1b6a38e9fe9a2544614edb8e43ad7cd8c56f14b3235dda3bc11179abd9753a9e647e9340c395fb2b91384d6d33fcb6456214350b6f3fa00f4364c]\n[key.wx = 0fbb51127e1f1b6a38e9fe9a2544614edb8e43ad7cd8c56f14b3235dda3bc1117]\n[key.wy = 09abd9753a9e647e9340c395fb2b91384d6d33fcb6456214350b6f3fa00f4364c]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004fbb51127e1f1b6a38e9fe9a2544614edb8e43ad7cd8c56f14b3235dda3bc11179abd9753a9e647e9340c395fb2b91384d6d33fcb6456214350b6f3fa00f4364c]\n[sha = SHA-512]\n\n# tcId = 348\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020105020106\n\n# tcId = 349\n# r is larger than n\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632556020106\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04dc80905500d7d74ed47de5224d8734545f22b776ae086cabfffe6ce58d5ef994dc3067ce7d2cdfa9f4d5ace296b752814acc69c19a932d8b14077927901de3bf]\n[key.wx = 0dc80905500d7d74ed47de5224d8734545f22b776ae086cabfffe6ce58d5ef994]\n[key.wy = 0dc3067ce7d2cdfa9f4d5ace296b752814acc69c19a932d8b14077927901de3bf]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004dc80905500d7d74ed47de5224d8734545f22b776ae086cabfffe6ce58d5ef994dc3067ce7d2cdfa9f4d5ace296b752814acc69c19a932d8b14077927901de3bf]\n[sha = SHA-512]\n\n# tcId = 350\n# s is larger than n\nmsg = 313233343030\nresult = invalid\nsig = 3026020105022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc75fbd8\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 041b824a11eed94fbcd9b722d06613bbcf7eca00b9136f2652642178f37b1a920ee900de495d9ef56fa6d19f3dd1e0edb23d23835ac8c2d3d13c0227e852e503eb]\n[key.wx = 1b824a11eed94fbcd9b722d06613bbcf7eca00b9136f2652642178f37b1a920e]\n[key.wy = 0e900de495d9ef56fa6d19f3dd1e0edb23d23835ac8c2d3d13c0227e852e503eb]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200041b824a11eed94fbcd9b722d06613bbcf7eca00b9136f2652642178f37b1a920ee900de495d9ef56fa6d19f3dd1e0edb23d23835ac8c2d3d13c0227e852e503eb]\n[sha = SHA-512]\n\n# tcId = 351\n# small r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3027020201000221008f1e3c7862c58b16bb76eddbb76eddbb516af4f63f2d74d76e0d28c9bb75ea88\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 042914b30c4c784696ffc3dddcec05f36cb1488bc342b9f529d5387acb9e48cb8d3dbd30d0d5d6d6a39108863c2d6a6e8571cd3261fb9eb98ce46125bd8f139136]\n[key.wx = 2914b30c4c784696ffc3dddcec05f36cb1488bc342b9f529d5387acb9e48cb8d]\n[key.wy = 3dbd30d0d5d6d6a39108863c2d6a6e8571cd3261fb9eb98ce46125bd8f139136]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200042914b30c4c784696ffc3dddcec05f36cb1488bc342b9f529d5387acb9e48cb8d3dbd30d0d5d6d6a39108863c2d6a6e8571cd3261fb9eb98ce46125bd8f139136]\n[sha = SHA-512]\n\n# tcId = 352\n# smallish r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 302c02072d9b4d347952d6022100ef3043e7329581dbb3974497710ab11505ee1c87ff907beebadd195a0ffe6d7a\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 042579f546fe2f2aeb5f822feb28f2f8371618d04815455a7e903c10024a17da415528e951147f76bee1314e65a49c6ec70686e62d38fbc23472f96e3d3b33fd1f]\n[key.wx = 2579f546fe2f2aeb5f822feb28f2f8371618d04815455a7e903c10024a17da41]\n[key.wy = 5528e951147f76bee1314e65a49c6ec70686e62d38fbc23472f96e3d3b33fd1f]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200042579f546fe2f2aeb5f822feb28f2f8371618d04815455a7e903c10024a17da415528e951147f76bee1314e65a49c6ec70686e62d38fbc23472f96e3d3b33fd1f]\n[sha = SHA-512]\n\n# tcId = 353\n# 100-bit r and small s^-1\nmsg = 313233343030\nresult = valid\nsig = 3032020d1033e67e37b32b445580bf4eff0221008b748b74000000008b748b748b748b7466e769ad4a16d3dcd87129b8e91d1b4d\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04b102196bf455ee5aafc6f895504d3c3b6b2d37c35f8669bd0f0b694795fbd992f777b6f829b9628ac35db0ef43f6a89f0a42812614e4c15924d8d47ebe45bae5]\n[key.wx = 0b102196bf455ee5aafc6f895504d3c3b6b2d37c35f8669bd0f0b694795fbd992]\n[key.wy = 0f777b6f829b9628ac35db0ef43f6a89f0a42812614e4c15924d8d47ebe45bae5]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004b102196bf455ee5aafc6f895504d3c3b6b2d37c35f8669bd0f0b694795fbd992f777b6f829b9628ac35db0ef43f6a89f0a42812614e4c15924d8d47ebe45bae5]\n[sha = SHA-512]\n\n# tcId = 354\n# small r and 100 bit s^-1\nmsg = 313233343030\nresult = valid\nsig = 302702020100022100ef9f6ba4d97c09d03178fa20b4aaad83be3cf9cb824a879fec3270fc4b81ef5b\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 044d056ab2ff57662fd6eebbe23930fef5cd08083e24146190cd01960b1fcd3749fe7ec5847651c857898be0f09efd6e0116a5dbe327f6f3080a65fc966bf64d91]\n[key.wx = 4d056ab2ff57662fd6eebbe23930fef5cd08083e24146190cd01960b1fcd3749]\n[key.wy = 0fe7ec5847651c857898be0f09efd6e0116a5dbe327f6f3080a65fc966bf64d91]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200044d056ab2ff57662fd6eebbe23930fef5cd08083e24146190cd01960b1fcd3749fe7ec5847651c857898be0f09efd6e0116a5dbe327f6f3080a65fc966bf64d91]\n[sha = SHA-512]\n\n# tcId = 355\n# 100-bit r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3032020d062522bbd3ecbe7c39e93e7c25022100ef9f6ba4d97c09d03178fa20b4aaad83be3cf9cb824a879fec3270fc4b81ef5b\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04361c4a62cd867613138dfe24ccebc4b7df1b55fc7410f4995ee2b6b9ab2220584f116c6c84e53d262fd13a5f5de6b57e7a1981de4ecdffdf3323b4e91d80649c]\n[key.wx = 361c4a62cd867613138dfe24ccebc4b7df1b55fc7410f4995ee2b6b9ab222058]\n[key.wy = 4f116c6c84e53d262fd13a5f5de6b57e7a1981de4ecdffdf3323b4e91d80649c]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000436", - "1c4a62cd867613138dfe24ccebc4b7df1b55fc7410f4995ee2b6b9ab2220584f116c6c84e53d262fd13a5f5de6b57e7a1981de4ecdffdf3323b4e91d80649c]\n[sha = SHA-512]\n\n# tcId = 356\n# r and s^-1 are close to n\nmsg = 313233343030\nresult = valid\nsig = 3045022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6324d50220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04db9d5c5113f00822a146c9cda2e75cb6634cd0dff54aff6e22875171f57a0dad1c424cdd83eb01c02f6f8d36f42c6dc7e39db74358da8ac9bc9dc5890d46f667]\n[key.wx = 0db9d5c5113f00822a146c9cda2e75cb6634cd0dff54aff6e22875171f57a0dad]\n[key.wy = 1c424cdd83eb01c02f6f8d36f42c6dc7e39db74358da8ac9bc9dc5890d46f667]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004db9d5c5113f00822a146c9cda2e75cb6634cd0dff54aff6e22875171f57a0dad1c424cdd83eb01c02f6f8d36f42c6dc7e39db74358da8ac9bc9dc5890d46f667]\n[sha = SHA-512]\n\n# tcId = 357\n# s == 1\nmsg = 313233343030\nresult = valid\nsig = 30250220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70020101\n\n# tcId = 358\n# s == 0\nmsg = 313233343030\nresult = invalid\nsig = 30250220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70020100\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 0499f19f07b33e03caf4703e04b930d57d6d9baa44460c596a2d3064e0b63ea41286a74c4612a812ee348d2b43f80de627c11c75d81511e22a199c32119b792c6a]\n[key.wx = 099f19f07b33e03caf4703e04b930d57d6d9baa44460c596a2d3064e0b63ea412]\n[key.wy = 086a74c4612a812ee348d2b43f80de627c11c75d81511e22a199c32119b792c6a]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000499f19f07b33e03caf4703e04b930d57d6d9baa44460c596a2d3064e0b63ea41286a74c4612a812ee348d2b43f80de627c11c75d81511e22a199c32119b792c6a]\n[sha = SHA-512]\n\n# tcId = 359\n# point at infinity during verify\nmsg = 313233343030\nresult = invalid\nsig = 304402207fffffff800000007fffffffffffffffde737d56d38bcf4279dce5617e3192a80220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 045e31eccd4704ebf7a4247ea57f9351abadff63679f2276e2a3b05009ebc1b8df648465a925010db823b2a5f3a6072343a6cc9961a9c482399d0d82051c2e3232]\n[key.wx = 5e31eccd4704ebf7a4247ea57f9351abadff63679f2276e2a3b05009ebc1b8df]\n[key.wy = 648465a925010db823b2a5f3a6072343a6cc9961a9c482399d0d82051c2e3232]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200045e31eccd4704ebf7a4247ea57f9351abadff63679f2276e2a3b05009ebc1b8df648465a925010db823b2a5f3a6072343a6cc9961a9c482399d0d82051c2e3232]\n[sha = SHA-512]\n\n# tcId = 360\n# u1 == 1\nmsg = 313233343030\nresult = valid\nsig = 30440220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70022043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04ce0a47f881fd7315a733c4317848fa33c72e38de0b8fda36b61aa9a164f5808a85b05d25115ea4097ddf63f878c8e83657e66de136a8f9e62ed81a58bf117ff9]\n[key.wx = 0ce0a47f881fd7315a733c4317848fa33c72e38de0b8fda36b61aa9a164f5808a]\n[key.wy = 085b05d25115ea4097ddf63f878c8e83657e66de136a8f9e62ed81a58bf117ff9]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004ce0a47f881fd7315a733c4317848fa33c72e38de0b8fda36b61aa9a164f5808a85b05d25115ea4097ddf63f878c8e83657e66de136a8f9e62ed81a58bf117ff9]\n[sha = SHA-512]\n\n# tcId = 361\n# u1 == n - 1\nmsg = 313233343030\nresult = valid\nsig = 30450220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70022100bc07ff031506dc74a75086a43252fb43731975a16dca6b025e867412d94222d0\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04cd6f487b47f36c0dea8f4b04c4e6ac637c76b725929c611f48addcf3d2f65941b50ea8f3a491190ee0b20cfb6efd113608e7c7c127577500e7f5c4a4e490fd60]\n[key.wx = 0cd6f487b47f36c0dea8f4b04c4e6ac637c76b725929c611f48addcf3d2f65941]\n[key.wy = 0b50ea8f3a491190ee0b20cfb6efd113608e7c7c127577500e7f5c4a4e490fd60]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004cd6f487b47f36c0dea8f4b04c4e6ac637c76b725929c611f48addcf3d2f65941b50ea8f3a491190ee0b20cfb6efd113608e7c7c127577500e7f5c4a4e490fd60]\n[sha = SHA-512]\n\n# tcId = 362\n# u2 == 1\nmsg = 313233343030\nresult = valid\nsig = 30440220555555550000000055555555555555553ef7a8e48d07df81a693439654210c700220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04456e5f8067d68a1b0a2e8fe2b28acad5755687154a0f167734ebabbdc059070d720dbe96659a66ef0cf27a73e7b3f3f145a60e0ad29f1e21dcc2bb42f0d82c1e]\n[key.wx = 456e5f8067d68a1b0a2e8fe2b28acad5755687154a0f167734ebabbdc059070d]\n[key.wy = 720dbe96659a66ef0cf27a73e7b3f3f145a60e0ad29f1e21dcc2bb42f0d82c1e]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004456e5f8067d68a1b0a2e8fe2b28acad5755687154a0f167734ebabbdc059070d720dbe96659a66ef0cf27a73e7b3f3f145a60e0ad29f1e21dcc2bb42f0d82c1e]\n[sha = SHA-512]\n\n# tcId = 363\n# u2 == n - 1\nmsg = 313233343030\nresult = valid\nsig = 30450220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70022100aaaaaaaa00000000aaaaaaaaaaaaaaaa7def51c91a0fbf034d26872ca84218e1\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 0442bf0c0ac1e3850baf5515748a878e34249f71035e20a9f54ed468ec273cb0fc5b3138500230055c71f12d53f5c7d0e3d8aa54a94c668cb311e20d195fc71abb]\n[key.wx = 42bf0c0ac1e3850baf5515748a878e34249f71035e20a9f54ed468ec273cb0fc]\n[key.wy = 5b3138500230055c71f12d53f5c7d0e3d8aa54a94c668cb311e20d195fc71abb]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000442bf0c0ac1e3850baf5515748a878e34249f71035e20a9f54ed468ec273cb0fc5b3138500230055c71f12d53f5c7d0e3d8aa54a94c668cb311e20d195fc71abb]\n[sha = SHA-512]\n\n# tcId = 364\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02206bfd55a8f8fdb68472e52873ef39ac3eace6d53df576f0ad2da4607bb52c0d46\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04ffdd48da63d3af67223f16c51eb7e95600eb0b0e8b964f4fcd8c534face3c2c2b4e009ab2a76829480e69c9e43b2f1fe076cfafb3fa8d27dd4d6bab4d6c3db54]\n[key.wx = 0ffdd48da63d3af67223f16c51eb7e95600eb0b0e8b964f4fcd8c534face3c2c2]\n[key.wy = 0b4e009ab2a76829480e69c9e43b2f1fe076cfafb3fa8d27dd4d6bab4d6c3db54]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004ffdd48da63d3af67223f16c51eb7e95600eb0b0e8b964f4fcd8c534face3c2c2b4e009ab2a76829480e69c9e43b2f1fe076cfafb3fa8d27dd4d6bab4d6c3db54]\n[sha = SHA-512]\n\n# tcId = 365\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0220654937791db0686f712ff9b453eeadb0026c9b058bba49199ca3e8fac03c094f\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04793cbfce6f335dcfede7c6898ea1c537d7661ed6a8c9d308d64a2560d21c6e2c483d23a5ff05da00eaf9d52cf5362be9b53b95316c6a32e9ebe68d9ac35c2fd6]\n[key.wx = 793cbfce6f335dcfede7c6898ea1c537d7661ed6a8c9d308d64a2560d21c6e2c]\n[key.wy = 483d23a5ff05da00eaf9d52cf5362be9b53b95316c6a32e9ebe68d9ac35c2fd6]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004793cbfce6f335dcfede7c6898ea1c537d7661ed6a8c9d308d64a2560d21c6e2c483d23a5ff05da00eaf9d52cf5362be9b53b95316c6a32e9ebe68d9ac35c2fd6]\n[sha = SHA-512]\n\n# tcId = 366\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100c51bbee23a95437abe5c978f8fe596a31c858ac8d55be9786aa5d36a5ac74e97\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04a9f7023f559d4bb6c9f4bc3643e2824aff5451d929479ec3ea5eb30bad2c36ac6a7c77e8dd21f4ad49b103e67da9d3cda62b653dd194fad2ba8d1dd37bb0ea9b]\n[key.wx = 0a9f7023f559d4bb6c9f4bc3643e2824aff5451d929479ec3ea5eb30bad2c36ac]\n[key.wy = 6a7c77e8dd21f4ad49b103e67da9d3cda62b653dd194fad2ba8d1dd37bb0ea9b]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004a9f7023f559d4bb6c9f4bc3643e2824aff5451d929479ec3ea5eb30bad2c36ac6a7c77e8dd21f4ad49b103e67da9d3cda62b653dd194fad2ba8d1dd37bb0ea", - "9b]\n[sha = SHA-512]\n\n# tcId = 367\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0221008ba4c3da7154ba564ab344ae12005aa482b6c1639ea191f8568afb6e47163c45\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04df79ee082b2fc77e9ce4633471f569bbcb5ce53856e3067774f37e8a64a2c7ffaa488a6c34d499df76f427de3609bfcfd9feae67ffe0b0de594463c453b0ab16]\n[key.wx = 0df79ee082b2fc77e9ce4633471f569bbcb5ce53856e3067774f37e8a64a2c7ff]\n[key.wy = 0aa488a6c34d499df76f427de3609bfcfd9feae67ffe0b0de594463c453b0ab16]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004df79ee082b2fc77e9ce4633471f569bbcb5ce53856e3067774f37e8a64a2c7ffaa488a6c34d499df76f427de3609bfcfd9feae67ffe0b0de594463c453b0ab16]\n[sha = SHA-512]\n\n# tcId = 368\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02204c3dafcf4ba55bf1344ae12005aa4a74f46eaa85f5023131cc637ae2ea90ab26\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 044cc3bf65e32e00284adfca00f40df755415c485091ac0489ae9a337103a5f8f0123ab86dd433b933b4f2063c002144df3cfeba78dad0ed89c0377541532908c2]\n[key.wx = 4cc3bf65e32e00284adfca00f40df755415c485091ac0489ae9a337103a5f8f0]\n[key.wy = 123ab86dd433b933b4f2063c002144df3cfeba78dad0ed89c0377541532908c2]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200044cc3bf65e32e00284adfca00f40df755415c485091ac0489ae9a337103a5f8f0123ab86dd433b933b4f2063c002144df3cfeba78dad0ed89c0377541532908c2]\n[sha = SHA-512]\n\n# tcId = 369\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100987b5f9e974ab7e26895c2400b5494e9e8dd550bea04626398c6f5c5d521564c\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04264a7ad439a4828a9dc97ecf837155355f99ae0b65975f851b541ad3a0e032f067268b7298c73e581866fbcbd161689b16b81cf262e007ce68e25a28c83ef041]\n[key.wx = 264a7ad439a4828a9dc97ecf837155355f99ae0b65975f851b541ad3a0e032f0]\n[key.wy = 67268b7298c73e581866fbcbd161689b16b81cf262e007ce68e25a28c83ef041]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004264a7ad439a4828a9dc97ecf837155355f99ae0b65975f851b541ad3a0e032f067268b7298c73e581866fbcbd161689b16b81cf262e007ce68e25a28c83ef041]\n[sha = SHA-512]\n\n# tcId = 370\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100fcf97e2fbf0e80d412005aa4a75086a3f004f59d512cb47271798733ab418606\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 041d7ff4d3a41206c8143635f12876e0ea0875ea5e4a5a249250d0eda33daa211f56e89c0beaf910ac934ca12380455600d0fd85b56a7035cb171b3f1c72a15569]\n[key.wx = 1d7ff4d3a41206c8143635f12876e0ea0875ea5e4a5a249250d0eda33daa211f]\n[key.wy = 56e89c0beaf910ac934ca12380455600d0fd85b56a7035cb171b3f1c72a15569]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200041d7ff4d3a41206c8143635f12876e0ea0875ea5e4a5a249250d0eda33daa211f56e89c0beaf910ac934ca12380455600d0fd85b56a7035cb171b3f1c72a15569]\n[sha = SHA-512]\n\n# tcId = 371\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022079d482b60864d6c5cb4fd5db9e7e28ccd9a5948c316c8740fb429c0f37169a02\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04b09685f338dceb421778a1458d52bed734c236242da2baa280d6f6b7b86e4f117fe6a34146b422d7aebd1a51b20948d7872a514c4cfd7686dc436b70733d6473]\n[key.wx = 0b09685f338dceb421778a1458d52bed734c236242da2baa280d6f6b7b86e4f11]\n[key.wy = 7fe6a34146b422d7aebd1a51b20948d7872a514c4cfd7686dc436b70733d6473]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004b09685f338dceb421778a1458d52bed734c236242da2baa280d6f6b7b86e4f117fe6a34146b422d7aebd1a51b20948d7872a514c4cfd7686dc436b70733d6473]\n[sha = SHA-512]\n\n# tcId = 372\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0221008ecd11081a4d0759c14f7bf46813d52cc6738115321be0a4da78a3356bb71510\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04dd811f2c0f5e9d4fbb2ef31818c1cd807247bc14fcd1170bef00e2c71dc037b443a15cdf8f3fbdc87e06250c0720d261d2b8d087fa7bf9548f6293f0ce5ae899]\n[key.wx = 0dd811f2c0f5e9d4fbb2ef31818c1cd807247bc14fcd1170bef00e2c71dc037b4]\n[key.wy = 43a15cdf8f3fbdc87e06250c0720d261d2b8d087fa7bf9548f6293f0ce5ae899]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004dd811f2c0f5e9d4fbb2ef31818c1cd807247bc14fcd1170bef00e2c71dc037b443a15cdf8f3fbdc87e06250c0720d261d2b8d087fa7bf9548f6293f0ce5ae899]\n[sha = SHA-512]\n\n# tcId = 373\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100e8dbffed13c9a2093085c079714f11f24eb583d73ba2b416b3169183e7d9b4c2\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 0469d60ae1f39e1da95809d408894707ad2134f4943a1db089bebf815a391f18db32b401d98bf894d3b6d59e6eb45573285642e358ad687b7d7bf9600b1987809e]\n[key.wx = 69d60ae1f39e1da95809d408894707ad2134f4943a1db089bebf815a391f18db]\n[key.wy = 32b401d98bf894d3b6d59e6eb45573285642e358ad687b7d7bf9600b1987809e]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000469d60ae1f39e1da95809d408894707ad2134f4943a1db089bebf815a391f18db32b401d98bf894d3b6d59e6eb45573285642e358ad687b7d7bf9600b1987809e]\n[sha = SHA-512]\n\n# tcId = 374\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100ca01552a838124bec68d6bc6086329e06673900eac5c262e5ce79a8521cd1eae\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04a658553a0620c95e987b5c3163bcfea68c52065f53c9d553f2a924d8b3ed511f79f0dfec4536b65aa5fb31297e96f6b464aa669b9268b3156c43d4612978a577]\n[key.wx = 0a658553a0620c95e987b5c3163bcfea68c52065f53c9d553f2a924d8b3ed511f]\n[key.wy = 79f0dfec4536b65aa5fb31297e96f6b464aa669b9268b3156c43d4612978a577]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004a658553a0620c95e987b5c3163bcfea68c52065f53c9d553f2a924d8b3ed511f79f0dfec4536b65aa5fb31297e96f6b464aa669b9268b3156c43d4612978a577]\n[sha = SHA-512]\n\n# tcId = 375\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0221009402aa560702497c8d1ad78c10c653c11000256fb1a0add7c6156a474737180b\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04bc4d3354a6a973dd8088919cc181194e879ed7920db30d0d1278edf74413b7b92450d162b26dcb25fbbd53ea4044189981d737055925bd2e86bfb0374b09f3ca]\n[key.wx = 0bc4d3354a6a973dd8088919cc181194e879ed7920db30d0d1278edf74413b7b9]\n[key.wy = 2450d162b26dcb25fbbd53ea4044189981d737055925bd2e86bfb0374b09f3ca]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004bc4d3354a6a973dd8088919cc181194e879ed7920db30d0d1278edf74413b7b92450d162b26dcb25fbbd53ea4044189981d737055925bd2e86bfb0374b09f3ca]\n[sha = SHA-512]\n\n# tcId = 376\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02205e03ff818a836e3a53a8435219297da1b98cbad0b6e535812f433a096ca11168\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 040eb628724fce764c687d874ade7b8e0aa4abf20ee6e3610fac9fe3e72f97ab5aed09f4843660eb1daf015d397a7c1073d7ae43bda0ba3e117008785abfffa00f]\n[key.wx = 0eb628724fce764c687d874ade7b8e0aa4abf20ee6e3610fac9fe3e72f97ab5a]\n[key.wy = 0ed09f4843660eb1daf015d397a7c1073d7ae43bda0ba3e117008785abfffa00f]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200040eb628724fce764c687d874ade7b8e0aa4abf20ee6e3610fac9fe3e72f97ab5aed09f4843660eb1daf015d397a7c1073d7ae43bda0ba3e117008785abfffa00f]\n[sha = SHA-512]\n\n# tcId = 377\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100e28ddf709d4aa1bddf2e", - "4bc7c7f2cb516cb642bb3e39c3feaf2fcf16ab9539f4\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04e7ac5cc7f296912f703f59fe88e49b521da245e12e6eee161ee6b3b1127611a77b3bedd2a773cf58b0629b936dd85dad2d0c39676306ed63e1a9bcd0e08bccc2]\n[key.wx = 0e7ac5cc7f296912f703f59fe88e49b521da245e12e6eee161ee6b3b1127611a7]\n[key.wy = 7b3bedd2a773cf58b0629b936dd85dad2d0c39676306ed63e1a9bcd0e08bccc2]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004e7ac5cc7f296912f703f59fe88e49b521da245e12e6eee161ee6b3b1127611a77b3bedd2a773cf58b0629b936dd85dad2d0c39676306ed63e1a9bcd0e08bccc2]\n[sha = SHA-512]\n\n# tcId = 378\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02207fffffffaaaaaaaaffffffffffffffffe9a2538f37b28a2c513dee40fecbb71a\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 042407b60abf3ee5edaf92ed505a11d0ddce0ea33eca58a031bb2f162c512f4062fb81bff36bf967e834e3d5d468730dcd70440022ab60061a62fac53350fe259f]\n[key.wx = 2407b60abf3ee5edaf92ed505a11d0ddce0ea33eca58a031bb2f162c512f4062]\n[key.wy = 0fb81bff36bf967e834e3d5d468730dcd70440022ab60061a62fac53350fe259f]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200042407b60abf3ee5edaf92ed505a11d0ddce0ea33eca58a031bb2f162c512f4062fb81bff36bf967e834e3d5d468730dcd70440022ab60061a62fac53350fe259f]\n[sha = SHA-512]\n\n# tcId = 379\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100b62f26b5f2a2b26f6de86d42ad8a13da3ab3cccd0459b201de009e526adf21f2\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 0447b2ad96dfc2f23fe5926809f38042b2c801962bd7394cefbf4aacb2554b7b0bdf2b937a16a7d96a2a0682cd164428890208597f2cdcc734fda73600b5cf6c59]\n[key.wx = 47b2ad96dfc2f23fe5926809f38042b2c801962bd7394cefbf4aacb2554b7b0b]\n[key.wy = 0df2b937a16a7d96a2a0682cd164428890208597f2cdcc734fda73600b5cf6c59]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000447b2ad96dfc2f23fe5926809f38042b2c801962bd7394cefbf4aacb2554b7b0bdf2b937a16a7d96a2a0682cd164428890208597f2cdcc734fda73600b5cf6c59]\n[sha = SHA-512]\n\n# tcId = 380\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100bb1d9ac949dd748cd02bbbe749bd351cd57b38bb61403d700686aa7b4c90851e\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 0469a65b75f31ae7b4930292f90902461befcee5d1606939c28e01b652a7fbc498cf68619e5860128f56cecf53eba2ffe82889a9bb04a5fa4c8b722bc91d55978a]\n[key.wx = 69a65b75f31ae7b4930292f90902461befcee5d1606939c28e01b652a7fbc498]\n[key.wy = 0cf68619e5860128f56cecf53eba2ffe82889a9bb04a5fa4c8b722bc91d55978a]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000469a65b75f31ae7b4930292f90902461befcee5d1606939c28e01b652a7fbc498cf68619e5860128f56cecf53eba2ffe82889a9bb04a5fa4c8b722bc91d55978a]\n[sha = SHA-512]\n\n# tcId = 381\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022066755a00638cdaec1c732513ca0234ece52545dac11f816e818f725b4f60aaf2\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04b2037176c84db04a6c773e32f9ed1d6b25ef4c303c6725c6932ec2cc2788bcbb9361505e6b771691adb41598f292d6521722404bf183241b195738b77abd6cfe]\n[key.wx = 0b2037176c84db04a6c773e32f9ed1d6b25ef4c303c6725c6932ec2cc2788bcbb]\n[key.wy = 09361505e6b771691adb41598f292d6521722404bf183241b195738b77abd6cfe]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004b2037176c84db04a6c773e32f9ed1d6b25ef4c303c6725c6932ec2cc2788bcbb9361505e6b771691adb41598f292d6521722404bf183241b195738b77abd6cfe]\n[sha = SHA-512]\n\n# tcId = 382\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022055a00c9fcdaebb6032513ca0234ecfffe98ebe492fdf02e48ca48e982beb3669\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 041eef95aef71f793afd50bb2604064d63e88bef7404a4d0e206446245ae2e7834c96e86dd040f9794b63712d90e719576b8b92c406ab0f288ad9b327bd124454f]\n[key.wx = 1eef95aef71f793afd50bb2604064d63e88bef7404a4d0e206446245ae2e7834]\n[key.wy = 0c96e86dd040f9794b63712d90e719576b8b92c406ab0f288ad9b327bd124454f]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200041eef95aef71f793afd50bb2604064d63e88bef7404a4d0e206446245ae2e7834c96e86dd040f9794b63712d90e719576b8b92c406ab0f288ad9b327bd124454f]\n[sha = SHA-512]\n\n# tcId = 383\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100ab40193f9b5d76c064a27940469d9fffd31d7c925fbe05c919491d3057d66cd2\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04a9734899c954e5b7adbca8f783428b5fbcbdfd3d2813f8d2f95b31a78ab107567667abf8c02ce4951bc59b2564130c27d7b64cdbc5cad95ca42d5bbb7cd4e793]\n[key.wx = 0a9734899c954e5b7adbca8f783428b5fbcbdfd3d2813f8d2f95b31a78ab10756]\n[key.wy = 7667abf8c02ce4951bc59b2564130c27d7b64cdbc5cad95ca42d5bbb7cd4e793]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004a9734899c954e5b7adbca8f783428b5fbcbdfd3d2813f8d2f95b31a78ab107567667abf8c02ce4951bc59b2564130c27d7b64cdbc5cad95ca42d5bbb7cd4e793]\n[sha = SHA-512]\n\n# tcId = 384\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100ca0234ebb5fdcb13ca0234ecffffffffcb0dadbbc7f549f8a26b4408d0dc8600\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 041ae51662331a1dbfab0751d30dfab2273a04a239e055a537b16ab595f9612396434f21c2bfe6555c9fc4a8e82dab1fa5631881b016e0831d9e1bbf5799fcf32e]\n[key.wx = 1ae51662331a1dbfab0751d30dfab2273a04a239e055a537b16ab595f9612396]\n[key.wy = 434f21c2bfe6555c9fc4a8e82dab1fa5631881b016e0831d9e1bbf5799fcf32e]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200041ae51662331a1dbfab0751d30dfab2273a04a239e055a537b16ab595f9612396434f21c2bfe6555c9fc4a8e82dab1fa5631881b016e0831d9e1bbf5799fcf32e]\n[sha = SHA-512]\n\n# tcId = 385\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100bfffffff3ea3677e082b9310572620ae19933a9e65b285598711c77298815ad3\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 0453c90cdd8b0dadd21c44ad557b327f4dbf57144aaf06597deb3f94125206a6c14603475bd79b30e36340cd09b0b59e6cd46ce90150e9ffe5c8a0172b2c9898e3]\n[key.wx = 53c90cdd8b0dadd21c44ad557b327f4dbf57144aaf06597deb3f94125206a6c1]\n[key.wy = 4603475bd79b30e36340cd09b0b59e6cd46ce90150e9ffe5c8a0172b2c9898e3]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000453c90cdd8b0dadd21c44ad557b327f4dbf57144aaf06597deb3f94125206a6c14603475bd79b30e36340cd09b0b59e6cd46ce90150e9ffe5c8a0172b2c9898e3]\n[sha = SHA-512]\n\n# tcId = 386\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0220266666663bbbbbbbe6666666666666665b37902e023fab7c8f055d86e5cc41f4\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 0433797539515c51f429967b8e36930d9fdda1edb13aecec9771f7cde5f6f2e74eba51d0b6456bb902dba1f3ea436f96ad2355da454dc9b32c503c4bc6cfd6d410]\n[key.wx = 33797539515c51f429967b8e36930d9fdda1edb13aecec9771f7cde5f6f2e74e]\n[key.wy = 0ba51d0b6456bb902dba1f3ea436f96ad2355da454dc9b32c503c4bc6cfd6d410]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000433797539515c51f429967b8e36930d9fdda1edb13aecec9771f7cde5f6f2e74eba51d0b6456bb902dba1f3ea436f96ad2355da454dc9b32c503c4bc6cfd6d410]\n[sha = SHA-512]\n\n# tcId = 387\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100bfffffff36db6db7a492492492492492146c573f4c6dfc8d08a443e258970b09\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 040a8f5f1d5bbd2783fa7f37c86879057fb2fcf25383aafb86d03d6b", - "afb41a17b3eaf6da715fe950349fd5736117b08e15e32cf1d2fdc003e510009f1b4ba1e648]\n[key.wx = 0a8f5f1d5bbd2783fa7f37c86879057fb2fcf25383aafb86d03d6bafb41a17b3]\n[key.wy = 0eaf6da715fe950349fd5736117b08e15e32cf1d2fdc003e510009f1b4ba1e648]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200040a8f5f1d5bbd2783fa7f37c86879057fb2fcf25383aafb86d03d6bafb41a17b3eaf6da715fe950349fd5736117b08e15e32cf1d2fdc003e510009f1b4ba1e648]\n[sha = SHA-512]\n\n# tcId = 388\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100bfffffff2aaaaaab7fffffffffffffffc815d0e60b3e596ecb1ad3a27cfd49c4\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 041dbc94e96c056b9d2cb6773bb24b69ed473851badf927a29955aff290ef3675a65e587561122aa8226facb95df08308cadf01c8351a1569176d917821113aa7c]\n[key.wx = 1dbc94e96c056b9d2cb6773bb24b69ed473851badf927a29955aff290ef3675a]\n[key.wy = 65e587561122aa8226facb95df08308cadf01c8351a1569176d917821113aa7c]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200041dbc94e96c056b9d2cb6773bb24b69ed473851badf927a29955aff290ef3675a65e587561122aa8226facb95df08308cadf01c8351a1569176d917821113aa7c]\n[sha = SHA-512]\n\n# tcId = 389\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02207fffffff55555555ffffffffffffffffd344a71e6f651458a27bdc81fd976e37\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04084ab885dbff7f12e6cdadb59d456e500797779425c7518c259c83718289e6e991c345d3a093e86670605bbc2ff4c69d0ed694fd433ec6b6ba1bf7d56c3e6b51]\n[key.wx = 084ab885dbff7f12e6cdadb59d456e500797779425c7518c259c83718289e6e9]\n[key.wy = 091c345d3a093e86670605bbc2ff4c69d0ed694fd433ec6b6ba1bf7d56c3e6b51]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004084ab885dbff7f12e6cdadb59d456e500797779425c7518c259c83718289e6e991c345d3a093e86670605bbc2ff4c69d0ed694fd433ec6b6ba1bf7d56c3e6b51]\n[sha = SHA-512]\n\n# tcId = 390\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02203fffffff800000007fffffffffffffffde737d56d38bcf4279dce5617e3192aa\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04003adfa4c620a207096cd18ee8fd2a90e20106cf824a0c63d6dec727a9fe7f509430d26bdd5f71e819d12b70069901461ae083cc809122d4fb86b5c475244e5a]\n[key.wx = 3adfa4c620a207096cd18ee8fd2a90e20106cf824a0c63d6dec727a9fe7f50]\n[key.wy = 09430d26bdd5f71e819d12b70069901461ae083cc809122d4fb86b5c475244e5a]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004003adfa4c620a207096cd18ee8fd2a90e20106cf824a0c63d6dec727a9fe7f509430d26bdd5f71e819d12b70069901461ae083cc809122d4fb86b5c475244e5a]\n[sha = SHA-512]\n\n# tcId = 391\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02205d8ecd64a4eeba466815ddf3a4de9a8e6abd9c5db0a01eb80343553da648428f\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 047c98b2d47eb433c0d18e533cfbc8909d66f7b79d5925ccb17eccec9d105c58848d5ca99b350bd7d10ab5ee6fcfe46623fdc03e9f828158f4d4cc08ad1ff83de4]\n[key.wx = 7c98b2d47eb433c0d18e533cfbc8909d66f7b79d5925ccb17eccec9d105c5884]\n[key.wy = 08d5ca99b350bd7d10ab5ee6fcfe46623fdc03e9f828158f4d4cc08ad1ff83de4]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200047c98b2d47eb433c0d18e533cfbc8909d66f7b79d5925ccb17eccec9d105c58848d5ca99b350bd7d10ab5ee6fcfe46623fdc03e9f828158f4d4cc08ad1ff83de4]\n[sha = SHA-512]\n\n# tcId = 392\n# point duplication during verification\nmsg = 313233343030\nresult = valid\nsig = 304502206f2347cab7dd76858fe0555ac3bc99048c4aacafdfb6bcbe05ea6c42c4934569022100b4cfa1996ec1d24cdbc8fa17fcabc3a5d4b2b36cf4b50a7b775ab78785710746\n# Some implementations of ECDSA do not handle duplication and points at infinity\n# correctly. This is a test vector that has been specially crafted to check for\n# such an omission.\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 047c98b2d47eb433c0d18e533cfbc8909d66f7b79d5925ccb17eccec9d105c588472a35663caf4282ff54a1190301b99dc023fc1617d7ea70b2b33f752e007c21b]\n[key.wx = 7c98b2d47eb433c0d18e533cfbc8909d66f7b79d5925ccb17eccec9d105c5884]\n[key.wy = 72a35663caf4282ff54a1190301b99dc023fc1617d7ea70b2b33f752e007c21b]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200047c98b2d47eb433c0d18e533cfbc8909d66f7b79d5925ccb17eccec9d105c588472a35663caf4282ff54a1190301b99dc023fc1617d7ea70b2b33f752e007c21b]\n[sha = SHA-512]\n\n# tcId = 393\n# duplication bug\nmsg = 313233343030\nresult = invalid\nsig = 304502206f2347cab7dd76858fe0555ac3bc99048c4aacafdfb6bcbe05ea6c42c4934569022100b4cfa1996ec1d24cdbc8fa17fcabc3a5d4b2b36cf4b50a7b775ab78785710746\n# Some implementations of ECDSA do not handle duplication and points at infinity\n# correctly. This is a test vector that has been specially crafted to check for\n# such an omission.\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04b7a90e21e7547d73267940033cea05042c50f7c9fa5eaeb471cd6260c685f2e38bb7309d0c3bab249faaf3e44179d6dd5302375c580fd0570a788c6be3680c67]\n[key.wx = 0b7a90e21e7547d73267940033cea05042c50f7c9fa5eaeb471cd6260c685f2e3]\n[key.wy = 08bb7309d0c3bab249faaf3e44179d6dd5302375c580fd0570a788c6be3680c67]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004b7a90e21e7547d73267940033cea05042c50f7c9fa5eaeb471cd6260c685f2e38bb7309d0c3bab249faaf3e44179d6dd5302375c580fd0570a788c6be3680c67]\n[sha = SHA-512]\n\n# tcId = 394\n# point with x-coordinate 0\nmsg = 313233343030\nresult = invalid\nsig = 30250201010220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 041550a173373b2d594374f0642cd73de06a045c09c7a4f388c731e8cd8971adfc9a3a9843583a86c0e1c62cbde67165f40a926b1028ba38aa3895e188ebbc7066]\n[key.wx = 1550a173373b2d594374f0642cd73de06a045c09c7a4f388c731e8cd8971adfc]\n[key.wy = 09a3a9843583a86c0e1c62cbde67165f40a926b1028ba38aa3895e188ebbc7066]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200041550a173373b2d594374f0642cd73de06a045c09c7a4f388c731e8cd8971adfc9a3a9843583a86c0e1c62cbde67165f40a926b1028ba38aa3895e188ebbc7066]\n[sha = SHA-512]\n\n# tcId = 395\n# point with x-coordinate 0\nmsg = 313233343030\nresult = invalid\nsig = 3045022101000000000000000000000000000000000000000000000000000000000000000002203333333300000000333333333333333325c7cbbc549e52e763f1f55a327a3aa9\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04313447778195daa1791a6530cd0697ae34bf9d8d225984394f72eef3505971110996a8fbdd1a70ecd64cb00b595afe1669bfef80d91756a62d84c1d83e0f22ab]\n[key.wx = 313447778195daa1791a6530cd0697ae34bf9d8d225984394f72eef350597111]\n[key.wy = 0996a8fbdd1a70ecd64cb00b595afe1669bfef80d91756a62d84c1d83e0f22ab]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004313447778195daa1791a6530cd0697ae34bf9d8d225984394f72eef3505971110996a8fbdd1a70ecd64cb00b595afe1669bfef80d91756a62d84c1d83e0f22ab]\n[sha = SHA-512]\n\n# tcId = 396\n# comparison with point at infinity \nmsg = 313233343030\nresult = invalid\nsig = 30440220555555550000000055555555555555553ef7a8e48d07df81a693439654210c7002203333333300000000333333333333333325c7cbbc549e52e763f1f55a327a3aa9\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 044ada634941476ca63c2c5803eec2f33b2d17920f798a5be6275f5a54cd2e7639b1a04bead5c7314c427492db21b9544d81caa8159587e41aa023aa967f31aaa1]\n[key.wx = 4ada634941476ca63c2c5803eec2f33b2d17920f798a5be6275f5a54cd2e7639]\n[key.wy = 0b1a04bead5c7314c427492db21b9544d81caa8159587e41aa023aa967f31aaa1]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200044ada634941476ca63c2c5803eec2f33b2d17920f798a5be6275f5a54cd2e7639b1a04bead5c7314c427492db21b9544d81caa8159587e41aa023aa967f31aaa1]\n[sha = SHA-512]\n\n# tcId = 397\n# extreme value for k and edgecase s\nmsg = 313233343030\nresult = valid\nsig = 304402207cf27b188d034f7e8a52380304b51ac3c08969e277f21b35a60b48fc476699780220555555550000000055555555555", - "555553ef7a8e48d07df81a693439654210c70\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04aacce093270fa59ad412b5459a08e490743b97086c781ac3c8d54030b41a31193bece4956172d56befb7011d684e772905e48d2115444a75ac7a325a3f25f4b1]\n[key.wx = 0aacce093270fa59ad412b5459a08e490743b97086c781ac3c8d54030b41a3119]\n[key.wy = 3bece4956172d56befb7011d684e772905e48d2115444a75ac7a325a3f25f4b1]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004aacce093270fa59ad412b5459a08e490743b97086c781ac3c8d54030b41a31193bece4956172d56befb7011d684e772905e48d2115444a75ac7a325a3f25f4b1]\n[sha = SHA-512]\n\n# tcId = 398\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 304502207cf27b188d034f7e8a52380304b51ac3c08969e277f21b35a60b48fc47669978022100b6db6db6249249254924924924924924625bd7a09bec4ca81bcdd9f8fd6b63cc\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04f62b8d7feeff5a847ab79212269e55e62fa87ebe930821747b57a511a5ea99f0439ee057bb27898582a683c3fdb7f95404d41d42f276803751a316eb3aab7ebf]\n[key.wx = 0f62b8d7feeff5a847ab79212269e55e62fa87ebe930821747b57a511a5ea99f0]\n[key.wy = 439ee057bb27898582a683c3fdb7f95404d41d42f276803751a316eb3aab7ebf]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004f62b8d7feeff5a847ab79212269e55e62fa87ebe930821747b57a511a5ea99f0439ee057bb27898582a683c3fdb7f95404d41d42f276803751a316eb3aab7ebf]\n[sha = SHA-512]\n\n# tcId = 399\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 304502207cf27b188d034f7e8a52380304b51ac3c08969e277f21b35a60b48fc47669978022100cccccccc00000000cccccccccccccccc971f2ef152794b9d8fc7d568c9e8eaa7\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 044baa07ff6e7bb9aa223d1c61932005fe98fe78b787fdab4bd3619bc8833072a2bcacd63802c56af82607953e72a0f5d3c23bd265544e020951824ea485555d33]\n[key.wx = 4baa07ff6e7bb9aa223d1c61932005fe98fe78b787fdab4bd3619bc8833072a2]\n[key.wy = 0bcacd63802c56af82607953e72a0f5d3c23bd265544e020951824ea485555d33]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200044baa07ff6e7bb9aa223d1c61932005fe98fe78b787fdab4bd3619bc8833072a2bcacd63802c56af82607953e72a0f5d3c23bd265544e020951824ea485555d33]\n[sha = SHA-512]\n\n# tcId = 400\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 304402207cf27b188d034f7e8a52380304b51ac3c08969e277f21b35a60b48fc4766997802203333333300000000333333333333333325c7cbbc549e52e763f1f55a327a3aaa\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 040c753ed1ba92f766800fdd0ae1c0d7f8f4cd8305fd803d8bca881397b5937e2db568509b1faf3cf251de6db9810e8b8caed235da10eeddbed62775c8e5c9460a]\n[key.wx = 0c753ed1ba92f766800fdd0ae1c0d7f8f4cd8305fd803d8bca881397b5937e2d]\n[key.wy = 0b568509b1faf3cf251de6db9810e8b8caed235da10eeddbed62775c8e5c9460a]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200040c753ed1ba92f766800fdd0ae1c0d7f8f4cd8305fd803d8bca881397b5937e2db568509b1faf3cf251de6db9810e8b8caed235da10eeddbed62775c8e5c9460a]\n[sha = SHA-512]\n\n# tcId = 401\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 304402207cf27b188d034f7e8a52380304b51ac3c08969e277f21b35a60b48fc47669978022049249248db6db6dbb6db6db6db6db6db5a8b230d0b2b51dcd7ebf0c9fef7c185\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04030fdcae6541f22c5bab254e4f1a285c507d1cefea03bf90cf19daf3cb62df695ff2c94d588f2c2b2b0a12bebc011bcee4fa1b54506ec07d0a29d24a0891193c]\n[key.wx = 30fdcae6541f22c5bab254e4f1a285c507d1cefea03bf90cf19daf3cb62df69]\n[key.wy = 5ff2c94d588f2c2b2b0a12bebc011bcee4fa1b54506ec07d0a29d24a0891193c]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004030fdcae6541f22c5bab254e4f1a285c507d1cefea03bf90cf19daf3cb62df695ff2c94d588f2c2b2b0a12bebc011bcee4fa1b54506ec07d0a29d24a0891193c]\n[sha = SHA-512]\n\n# tcId = 402\n# extreme value for k\nmsg = 313233343030\nresult = valid\nsig = 304402207cf27b188d034f7e8a52380304b51ac3c08969e277f21b35a60b48fc47669978022016a4502e2781e11ac82cbc9d1edd8c981584d13e18411e2f6e0478c34416e3bb\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 0403fc621eaf90c23d8f9fa125d2c59b8728ebccb30ca3e3db879a06ca90f20cdcae58d3f0c6aef0e805be10ea54e23cf6f0397f9addddc2b09088855316b0ef44]\n[key.wx = 3fc621eaf90c23d8f9fa125d2c59b8728ebccb30ca3e3db879a06ca90f20cdc]\n[key.wy = 0ae58d3f0c6aef0e805be10ea54e23cf6f0397f9addddc2b09088855316b0ef44]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000403fc621eaf90c23d8f9fa125d2c59b8728ebccb30ca3e3db879a06ca90f20cdcae58d3f0c6aef0e805be10ea54e23cf6f0397f9addddc2b09088855316b0ef44]\n[sha = SHA-512]\n\n# tcId = 403\n# extreme value for k and edgecase s\nmsg = 313233343030\nresult = valid\nsig = 304402206b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2960220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 0470f2ce24dc62923bb09cc92d74329bbd0d2e6b0e354c0be2383d24acdccb9e4cd42d1f973466f5e5462a939084a294ebfc7a45629c70ee5def46de9536ea7bf7]\n[key.wx = 70f2ce24dc62923bb09cc92d74329bbd0d2e6b0e354c0be2383d24acdccb9e4c]\n[key.wy = 0d42d1f973466f5e5462a939084a294ebfc7a45629c70ee5def46de9536ea7bf7]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000470f2ce24dc62923bb09cc92d74329bbd0d2e6b0e354c0be2383d24acdccb9e4cd42d1f973466f5e5462a939084a294ebfc7a45629c70ee5def46de9536ea7bf7]\n[sha = SHA-512]\n\n# tcId = 404\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 304502206b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296022100b6db6db6249249254924924924924924625bd7a09bec4ca81bcdd9f8fd6b63cc\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04732b8ac0c30fe44307431235271cb5d6e5f677a19ce3f058b939a7bf19349d3c858cc735af8577468275847cf5ec19972e6c20738276e2708b23c595bfc4433d]\n[key.wx = 732b8ac0c30fe44307431235271cb5d6e5f677a19ce3f058b939a7bf19349d3c]\n[key.wy = 0858cc735af8577468275847cf5ec19972e6c20738276e2708b23c595bfc4433d]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004732b8ac0c30fe44307431235271cb5d6e5f677a19ce3f058b939a7bf19349d3c858cc735af8577468275847cf5ec19972e6c20738276e2708b23c595bfc4433d]\n[sha = SHA-512]\n\n# tcId = 405\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 304502206b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296022100cccccccc00000000cccccccccccccccc971f2ef152794b9d8fc7d568c9e8eaa7\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 0447aff9501825a166782bb58a5b459006eacdbce5e5323addad34ec1b6444cdce9199c31502ad4277c73ddd0c807b72634c45762404837d9814a5d4b5a7c3f398]\n[key.wx = 47aff9501825a166782bb58a5b459006eacdbce5e5323addad34ec1b6444cdce]\n[key.wy = 09199c31502ad4277c73ddd0c807b72634c45762404837d9814a5d4b5a7c3f398]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000447aff9501825a166782bb58a5b459006eacdbce5e5323addad34ec1b6444cdce9199c31502ad4277c73ddd0c807b72634c45762404837d9814a5d4b5a7c3f398]\n[sha = SHA-512]\n\n# tcId = 406\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 304402206b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c29602203333333300000000333333333333333325c7cbbc549e52e763f1f55a327a3aaa\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04aed8eeff77644bf83b9222f8f57173fa8217ec7e0763ee7d7171fb6092fba5c06486a86d94f48834ba5adbaf349687f9cee400389642b828e68207b147ca2c46]\n[key.wx = 0aed8eeff77644bf83b9222f8f57173fa8217ec7e0763ee7d7171fb6092fba5c0]\n[key.wy = 6486a86d94f48834ba5adbaf349687f9cee400389642b828e68207b147ca2c46]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004aed8eeff77644bf83b9222f8f57173fa8217ec7e0763ee7d7171fb6092fba5c06486a86d94f48834ba5adbaf349687f9cee400389642b828e68207b147ca2c46]\n[sha = SHA-512]\n\n# tcId = 407\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 304402206b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296022049249248db6db6dbb6db6db6db6db6db5a8b230d0b2b51dcd7ebf0c9fef7c185\n\n[key.curve = secp256r1]\n[key.keySize = 25", - "6]\n[key.type = ECPublicKey]\n[key.uncompressed = 04f7c54a585a904300d05b53ef3b854e71999a344b89adc0caaa28e254db9bc7c7c161a79f38ff446051303577e40638fb020329940a63c241bb32c2205eb57b7d]\n[key.wx = 0f7c54a585a904300d05b53ef3b854e71999a344b89adc0caaa28e254db9bc7c7]\n[key.wy = 0c161a79f38ff446051303577e40638fb020329940a63c241bb32c2205eb57b7d]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004f7c54a585a904300d05b53ef3b854e71999a344b89adc0caaa28e254db9bc7c7c161a79f38ff446051303577e40638fb020329940a63c241bb32c2205eb57b7d]\n[sha = SHA-512]\n\n# tcId = 408\n# extreme value for k\nmsg = 313233343030\nresult = valid\nsig = 304402206b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296022016a4502e2781e11ac82cbc9d1edd8c981584d13e18411e2f6e0478c34416e3bb\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5]\n[key.wx = 6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296]\n[key.wy = 4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5]\n[sha = SHA-512]\n\n# tcId = 409\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 3044022043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b0232102810220249249246db6db6ddb6db6db6db6db6dad4591868595a8ee6bf5f864ff7be0c2\n\n# tcId = 410\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 3045022100bc07ff031506dc74a75086a43252fb43731975a16dca6b025e867412d94222d00220249249246db6db6ddb6db6db6db6db6dad4591868595a8ee6bf5f864ff7be0c2\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296b01cbd1c01e58065711814b583f061e9d431cca994cea1313449bf97c840ae0a]\n[key.wx = 6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296]\n[key.wy = 0b01cbd1c01e58065711814b583f061e9d431cca994cea1313449bf97c840ae0a]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296b01cbd1c01e58065711814b583f061e9d431cca994cea1313449bf97c840ae0a]\n[sha = SHA-512]\n\n# tcId = 411\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 3044022043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b0232102810220249249246db6db6ddb6db6db6db6db6dad4591868595a8ee6bf5f864ff7be0c2\n\n# tcId = 412\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 3045022100bc07ff031506dc74a75086a43252fb43731975a16dca6b025e867412d94222d00220249249246db6db6ddb6db6db6db6db6dad4591868595a8ee6bf5f864ff7be0c2\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 0404aaec73635726f213fb8a9e64da3b8632e41495a944d0045b522eba7240fad587d9315798aaa3a5ba01775787ced05eaaf7b4e09fc81d6d1aa546e8365d525d]\n[key.wx = 4aaec73635726f213fb8a9e64da3b8632e41495a944d0045b522eba7240fad5]\n[key.wy = 087d9315798aaa3a5ba01775787ced05eaaf7b4e09fc81d6d1aa546e8365d525d]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000404aaec73635726f213fb8a9e64da3b8632e41495a944d0045b522eba7240fad587d9315798aaa3a5ba01775787ced05eaaf7b4e09fc81d6d1aa546e8365d525d]\n[sha = SHA-512]\n\n# tcId = 413\n# pseudorandom signature\nmsg = \nresult = valid\nsig = 30440220093f3825c0cf820cced816a3a67446c85606a6d529e43857643fccc11e1f705f0220769782888c63058630f97a5891c8700e82979e4f233586bfc5042fa73cb70a4e\n\n# tcId = 414\n# pseudorandom signature\nmsg = 4d7367\nresult = valid\nsig = 3046022100e8564e3e515a09f9f35258442b99e162d27e10975fcb7963d3c26319dc093f84022100c3af01ed0fd0148749ca323364846c862fc6f4beb682b7ead3b2d89b9da8bad4\n\n# tcId = 415\n# pseudorandom signature\nmsg = 313233343030\nresult = valid\nsig = 304502201412254f8c1dd2742a00ddee5192e7baa288741026871f3057ad9f983b5ab114022100bcdf878fa156f37040922698ad6fb6928601ddc26c40448ea660e67c25eda090\n\n# tcId = 416\n# pseudorandom signature\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 30450221009e0676048381839bb0a4703a0ae38facfe1e2c61bd25950c896aa975cd6ec86902206ea0cedf96f11fff0e746941183492f4d17272c92449afd20e34041a6894ee82\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 044f337ccfd67726a805e4f1600ae2849df3807eca117380239fbd816900000000ed9dea124cc8c396416411e988c30f427eb504af43a3146cd5df7ea60666d685]\n[key.wx = 4f337ccfd67726a805e4f1600ae2849df3807eca117380239fbd816900000000]\n[key.wy = 0ed9dea124cc8c396416411e988c30f427eb504af43a3146cd5df7ea60666d685]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200044f337ccfd67726a805e4f1600ae2849df3807eca117380239fbd816900000000ed9dea124cc8c396416411e988c30f427eb504af43a3146cd5df7ea60666d685]\n[sha = SHA-512]\n\n# tcId = 417\n# x-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 30440220554482404173a5582884b0d168a32ef8033d7eb780936c390e8eedf720c7f56402200a15413f9ed0d454b92ab901119e7251a4d444ba1421ba639fa57e0d8cf6b313\n\n# tcId = 418\n# x-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 304502200b1d838dd54a462745e2c8d5f32637f26fb16dde20a385e45f8a20a8a1f8370e022100ae855e0a10ef087075fda0ed84e2bc5786a681172ea9834e53351316df332bbd\n\n# tcId = 419\n# x-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 3045022100af89e4f2b03e5d1f0352e258ef71493040c17d70c36cfd044128302df2ed5e4a0220420f04148c3e6f06561bd448362d6c6fa3f9aeeb7e42843b4674e7ddfd0ba901\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 043cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f49726500493584fa174d791c72bf2ce3880a8960dd2a7c7a1338a82f85a9e59cdbde80000000]\n[key.wx = 3cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f497265004935]\n[key.wy = 084fa174d791c72bf2ce3880a8960dd2a7c7a1338a82f85a9e59cdbde80000000]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200043cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f49726500493584fa174d791c72bf2ce3880a8960dd2a7c7a1338a82f85a9e59cdbde80000000]\n[sha = SHA-512]\n\n# tcId = 420\n# y-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 304402206c1581f1485ccc4e657606fa1a38cf227e3870dc9f41e26b84e28483635e321b02201b3e3c22af23e919b30330f8710f6ef3760c0e2237a9a9f5cf30a1d9f5bbd464\n\n# tcId = 421\n# y-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 3045022100dc83bf97ca28db0e04104a16fe3de694311a6cd9f230a300504ae71d8ec755b1022064a83af0ab3e6037003a1f4240dffd8a342afdee50604ed1afa416fd009e4668\n\n# tcId = 422\n# y-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 30450220575b70b4375684291b95d81e3c820ed9bde9e5b7343036e4951f3c46894a6d9d022100f10d716efbfeba953701b603fc9ef6ff6e47edef38c9eeef2d55e6486bc4d6e6\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 043cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f4972650049357b05e8b186e38d41d31c77f5769f22d58385ecc857d07a561a6324217fffffff]\n[key.wx = 3cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f497265004935]\n[key.wy = 7b05e8b186e38d41d31c77f5769f22d58385ecc857d07a561a6324217fffffff]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200043cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f4972650049357b05e8b186e38d41d31c77f5769f22d58385ecc857d07a561a6324217fffffff]\n[sha = SHA-512]\n\n# tcId = 423\n# y-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 30450221008d4f113189dfd3d3239e331f76d3fca9cef86fcd5dc9b4ab2ca38aeba56c178b022078389c3cf11dcff6d6c7f5efd277d480060691144b568a6f090c8902557bfc61\n\n# tcId = 424\n# y-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 3046022100834d10ec2d2d50eeebfecd6328f03fafbb488fc043c362cbc67880ec0ebd04b302210094c026feaf6e68759146fe5b6fd52eaa3c3c5552d83719d2cb900615e2a634db\n\n# tcId = 425\n# y-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nre", - "sult = valid\nsig = 304502206894de495e7bb5566807d475d96a0d414a94f4f02c3ab7c2edc2916deafc1e1f022100a603642c20fabc07182867fcc6923d35be23ad3f97a5f93c6ec5b9cce8239569\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 042829c31faa2e400e344ed94bca3fcd0545956ebcfe8ad0f6dfa5ff8effffffffa01aafaf000e52585855afa7676ade284113099052df57e7eb3bd37ebeb9222e]\n[key.wx = 2829c31faa2e400e344ed94bca3fcd0545956ebcfe8ad0f6dfa5ff8effffffff]\n[key.wy = 0a01aafaf000e52585855afa7676ade284113099052df57e7eb3bd37ebeb9222e]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200042829c31faa2e400e344ed94bca3fcd0545956ebcfe8ad0f6dfa5ff8effffffffa01aafaf000e52585855afa7676ade284113099052df57e7eb3bd37ebeb9222e]\n[sha = SHA-512]\n\n# tcId = 426\n# x-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 3046022100e500c086fedd59e090ce7bfb615751ed9abe4c09b839ee8f05320245b9796f3e022100807b1d0638c86ef6113fff0d63497800e1b848b5a303a54c748e45ca8f35d7d7\n\n# tcId = 427\n# x-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 3046022100b922c1abe1a8309c0acf90e586c6de8c33e37057673390a97ff098f71680b32b022100f86d92b051b7923d82555c205e21b54eab869766c716209648c3e6cc2629057d\n\n# tcId = 428\n# x-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 3046022100823c37e46c74ec8497d89245fde3bf53ddb462c00d840e983dcb1b72bbf8bf27022100c4552f2425d14f0f0fa988778403d60a58962e7c548715af83b2edabbb24a49f\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04fffffff948081e6a0458dd8f9e738f2665ff9059ad6aac0708318c4ca9a7a4f55a8abcba2dda8474311ee54149b973cae0c0fb89557ad0bf78e6529a1663bd73]\n[key.wx = 0fffffff948081e6a0458dd8f9e738f2665ff9059ad6aac0708318c4ca9a7a4f5]\n[key.wy = 5a8abcba2dda8474311ee54149b973cae0c0fb89557ad0bf78e6529a1663bd73]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004fffffff948081e6a0458dd8f9e738f2665ff9059ad6aac0708318c4ca9a7a4f55a8abcba2dda8474311ee54149b973cae0c0fb89557ad0bf78e6529a1663bd73]\n[sha = SHA-512]\n\n# tcId = 429\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 30450220577a08a95db6dcda9985109942d3786630f640190f920b95bd4d5d84e0f163ef022100d762286e92925973fd38b67ef944a99c0ec5b499b7175cbb4369e053c1fcbb10\n\n# tcId = 430\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 304402207ba458cfe952326922c7aa2854bdc673ce3daaf65d464dfb9f700701503056b102200df8821c92d20546fa741fb426bf56728a53182691964225c9b380b56b22ee6d\n\n# tcId = 431\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 304402205cd60c3b021b4be116f06f1d447f65e458329a8bbae1d9b5977d18cf5618486102204c635cd7aa9aebb5716d5ae09e57f8c481a741a029b40f71ec47344ef883e86e\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 0400000003fa15f963949d5f03a6f5c7f86f9e0015eeb23aebbff1173937ba748e1099872070e8e87c555fa13659cca5d7fadcfcb0023ea889548ca48af2ba7e71]\n[key.wx = 3fa15f963949d5f03a6f5c7f86f9e0015eeb23aebbff1173937ba748e]\n[key.wy = 1099872070e8e87c555fa13659cca5d7fadcfcb0023ea889548ca48af2ba7e71]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000400000003fa15f963949d5f03a6f5c7f86f9e0015eeb23aebbff1173937ba748e1099872070e8e87c555fa13659cca5d7fadcfcb0023ea889548ca48af2ba7e71]\n[sha = SHA-512]\n\n# tcId = 432\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 304402204b50e1e8cf830e04c17e7472caf60da8150ffa568e2c64498cc972a379e542e502202e3adaa5afab89cca91693609555f40543578852cde29c21cb037c0c0b78478e\n\n# tcId = 433\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 304402205aea930c7d8fffcd5c6df2c9430ef76f8b5ed58a8b9c95847288abf8f09a1ac202207ddfef7688a6053ce4eeeeefd6f1a9d71381b7548925f6682aa0a9d05cf5a3a3\n\n# tcId = 434\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 304602210098b092c2d14b5b14a23e9368e0ce1be744dfae9f9a5cdaba51e7872099df96f202210090d3e4f87bd7bc94589f8150b6b01045cd8759a00af78b24d7de771887610df5\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015000000001352bb4a0fa2ea4cceb9ab63dd684ade5a1127bcf300a698a7193bc2]\n[key.wx = 0bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015]\n[key.wy = 1352bb4a0fa2ea4cceb9ab63dd684ade5a1127bcf300a698a7193bc2]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015000000001352bb4a0fa2ea4cceb9ab63dd684ade5a1127bcf300a698a7193bc2]\n[sha = SHA-512]\n\n# tcId = 435\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 30460221009e95f2856a9fff9a172b07817c8c60fe185cd3ce9582678f8cc4b02bc444621a022100c54ca51d8117d904f0d3773911cb2792348fae21c2da7dad25f990d122376e4c\n\n# tcId = 436\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 3046022100e77df8f9782696344c33de29ebdc9f8d3fcf463d950cdbe256fd4fc2fd44877e02210087028850c962cf2fb450ffe6b983981e499dc498fbd654fa454c9e07c8cb5ca8\n\n# tcId = 437\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 3045022100bd2dd6f5026d2b5ad7ead74bdf52b8cbcabc08facee0a1c8584658a85ed0c5dc02203e8543e819bdae47d872e29a85ba38addf3eaeaad8786d79c3fb027f6f1ff4bf\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = ECPublicKey]\n[key.uncompressed = 04bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015fffffffeecad44b6f05d15b33146549c2297b522a5eed8430cff596758e6c43d]\n[key.wx = 0bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015]\n[key.wy = 0fffffffeecad44b6f05d15b33146549c2297b522a5eed8430cff596758e6c43d]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015fffffffeecad44b6f05d15b33146549c2297b522a5eed8430cff596758e6c43d]\n[sha = SHA-512]\n\n# tcId = 438\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 3045022100bd5c0294acc28c15c5d1ebc7274c9ca21a081c8a67da430a34a7fff1a564fabb02207ec103a2385b4ff38b47d306434e9091de24dc9f1a25967ee06f8a0a53ac0181\n\n# tcId = 439\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 304402203c7dbfb43dd80379ee2c23ad5472873a22c8a0179ac8f381ad9e0f193231dc1f02207cf8e07530ade503b3d43a84b75a2a76fc40763daed4e9734e745c58c9ae72d3\n\n# tcId = 440\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 3045022100b38ca4dac6d949be5e5f969860269f0eedff2eb92f45bfc02470300cc96dd52602201c7b22992bb13749cc0c5bc25330a17446e40db734203f9035172725fc70f863\n\n", +static const char *kData103[] = { + "# Imported from Wycheproof's ecdsa_secp256r1_sha512_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: ECDSA\n# Generator version: 0.8r12\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 042927b10512bae3eddcfe467828128bad2903269919f7086069c8c4df6c732838c7787964eaac00e5921fb1498a60f4606766b3d9685001558d1a974e7341513e]\n[key.wx = 2927b10512bae3eddcfe467828128bad2903269919f7086069c8c4df6c732838]\n[key.wy = 00c7787964eaac00e5921fb1498a60f4606766b3d9685001558d1a974e7341513e]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200042927b10512bae3eddcfe467828128bad2903269919f7086069c8c4df6c732838c7787964eaac00e5921fb1498a60f4606766b3d9685001558d1a974e7341513e]\n[sha = SHA-512]\n\n# tcId = 1\n# signature malleability\nmsg = 313233343030\nresult = valid\nsig = 304402202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c002205f85a63a5be977ad714cea16b10035f07cadf7513ae8cca86f35b7692aafd69f\n\n# tcId = 2\n# Legacy:ASN encoding of s misses leading 0\nmsg = 313233343030\nresult = acceptable\nsig = 304402202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00220a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\nflags = MissingZero\n\n# tcId = 3\n# valid\nmsg = 313233343030\nresult = valid\nsig = 304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 4\n# long form encoding of length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 30814502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\nflags = BER\n\n# tcId = 5\n# length of sequence contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 3082004502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\nflags = BER\n\n# tcId = 6\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 304602202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 7\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 304402202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 8\n# uint32 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3085010000004502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 9\n# uint64 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 308901000000000000004502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 10\n# length of sequence = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30847fffffff02202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 11\n# length of sequence = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3084ffffffff02202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 12\n# length of sequence = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3085ffffffffff02202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 13\n# length of sequence = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3088ffffffffffffffff02202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 14\n# incorrect length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 30ff02202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 15\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 308002202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 16\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 304502802478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 17\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0028000a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 18\n# removing sequence\nmsg = 313233343030\nresult = invalid\nsig = \n\n# tcId = 19\n# lonely sequence tag\nmsg = 313233343030\nresult = invalid\nsig = 30\n\n# tcId = 20\n# appending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 304702202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb20000\n\n# tcId = 21\n# prepending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 3047000002202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 22\n# appending unused 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb20000\n\n# tcId = 23\n# appending null value to sequence\nmsg = 313233343030\nresult = invalid\nsig = 304702202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb20500\n\n# tcId = 24\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 304a498177304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 25\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 30492500304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 26\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3047304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb20004deadbeef\n\n# tcId = 27\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 304a222549817702202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 28\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 30492224250002202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 29\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 304d222202202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00004deadbeef022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 30\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 304a02202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c02226498177022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 31\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 304902202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c022252500022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 32\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 304d02202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c02223022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb20004deadbeef\n\n# tcId = 33\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 304daa00bb00cd00304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c", + "2ed1dc84841359d1b34eb2\n\n# tcId = 34\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 304baa02aabb304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 35\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 304d2228aa00bb00cd0002202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 36\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 304b2226aa02aabb02202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 37\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 304d02202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c02229aa00bb00cd00022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 38\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 304b02202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c02227aa02aabb022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 39\n# truncated length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3081\n\n# tcId = 40\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 3080304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb20000\n\n# tcId = 41\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 3049228002202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00000022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 42\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 304902202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c02280022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb20000\n\n# tcId = 43\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 3080314502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb20000\n\n# tcId = 44\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 3049228003202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00000022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 45\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 304902202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c02280032100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb20000\n\n# tcId = 46\n# Replacing sequence with NULL\nmsg = 313233343030\nresult = invalid\nsig = 0500\n\n# tcId = 47\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 2e4502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 48\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 2f4502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 49\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 314502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 50\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 324502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 51\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = ff4502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 52\n# dropping value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3000\n\n# tcId = 53\n# using composition for sequence\nmsg = 313233343030\nresult = invalid\nsig = 30493001023044202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 54\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 304402202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34e\n\n# tcId = 55\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 3044202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 56\n# indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 308002202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb20000\nflags = BER\n\n# tcId = 57\n# indefinite length with truncated delimiter\nmsg = 313233343030\nresult = invalid\nsig = 308002202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb200\n\n# tcId = 58\n# indefinite length with additional element\nmsg = 313233343030\nresult = invalid\nsig = 308002202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb205000000\n\n# tcId = 59\n# indefinite length with truncated element\nmsg = 313233343030\nresult = invalid\nsig = 308002202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2060811220000\n\n# tcId = 60\n# indefinite length with garbage\nmsg = 313233343030\nresult = invalid\nsig = 308002202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb20000fe02beef\n\n# tcId = 61\n# indefinite length with nonempty EOC\nmsg = 313233343030\nresult = invalid\nsig = 308002202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb20002beef\n\n# tcId = 62\n# prepend empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 3047300002202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 63\n# append empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 304702202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb23000\n\n# tcId = 64\n# append garbage with high tag number\nmsg = 313233343030\nresult = invalid\nsig = 304802202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2bf7f00\n\n# tcId = 65\n# sequence of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3047304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 66\n# truncated sequence: removed last 1 elements\nmsg = 313233343030\nresult = invalid\nsig = 302202202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0\n\n# tcId = 67\n# repeating element in sequence\nmsg = 313233343030\nresult = invalid\nsig = 306802202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 68\n# long form encoding of length of integer\nmsg = 313233343030\nresult = invalid\nsig = 30460281202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\nflags = BER\n\n# tcId = 69\n# long form encoding of length of integer\nmsg = 313233343030\nresult = invalid\nsig = 304602202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c002812100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\nflags = BER\n\n# tcId = 70\n# length of integer con", + "tains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 3047028200202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\nflags = BER\n\n# tcId = 71\n# length of integer contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 304702202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00282002100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\nflags = BER\n\n# tcId = 72\n# wrong length of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502212478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 73\n# wrong length of integer\nmsg = 313233343030\nresult = invalid\nsig = 3045021f2478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 74\n# wrong length of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022200a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 75\n# wrong length of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022000a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 76\n# uint32 overflow in length of integer\nmsg = 313233343030\nresult = invalid\nsig = 304a028501000000202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 77\n# uint32 overflow in length of integer\nmsg = 313233343030\nresult = invalid\nsig = 304a02202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00285010000002100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 78\n# uint64 overflow in length of integer\nmsg = 313233343030\nresult = invalid\nsig = 304e02890100000000000000202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 79\n# uint64 overflow in length of integer\nmsg = 313233343030\nresult = invalid\nsig = 304e02202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0028901000000000000002100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 80\n# length of integer = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 304902847fffffff2478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 81\n# length of integer = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 304902202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c002847fffffff00a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 82\n# length of integer = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30490284ffffffff2478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 83\n# length of integer = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 304902202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00284ffffffff00a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 84\n# length of integer = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 304a0285ffffffffff2478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 85\n# length of integer = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 304a02202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00285ffffffffff00a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 86\n# length of integer = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 304d0288ffffffffffffffff2478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 87\n# length of integer = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 304d02202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00288ffffffffffffffff00a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 88\n# incorrect length of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502ff2478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 89\n# incorrect length of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c002ff00a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 90\n# removing integer\nmsg = 313233343030\nresult = invalid\nsig = 3023022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 91\n# lonely integer tag\nmsg = 313233343030\nresult = invalid\nsig = 302402022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 92\n# lonely integer tag\nmsg = 313233343030\nresult = invalid\nsig = 302302202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c002\n\n# tcId = 93\n# appending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 304702222478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00000022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 94\n# appending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 304702202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022300a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb20000\n\n# tcId = 95\n# prepending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 3047022200002478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\nflags = BER\n\n# tcId = 96\n# prepending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 304702202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00223000000a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\nflags = BER\n\n# tcId = 97\n# appending unused 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 304702202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00000022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 98\n# appending null value to integer\nmsg = 313233343030\nresult = invalid\nsig = 304702222478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00500022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 99\n# appending null value to integer\nmsg = 313233343030\nresult = invalid\nsig = 304702202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022300a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb20500\n\n# tcId = 100\n# truncated length of integer\nmsg = 313233343030\nresult = invalid\nsig = 30250281022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 101\n# truncated length of integer\nmsg = 313233343030\nresult = invalid\nsig = 302402202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00281\n\n# tcId = 102\n# Replacing integer with NULL\nmsg = 313233343030\nresult = invalid\nsig = 30250500022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 103\n# Replacing integer with NULL\nmsg = 313233343030\nresult = invalid\nsig = 302402202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00500\n\n# tcId = 104\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 304500202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 105\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 304501202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 106\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 304503202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc8484135", + "9d1b34eb2\n\n# tcId = 107\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 304504202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 108\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3045ff202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 109\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0002100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 110\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0012100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 111\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0032100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 112\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0042100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 113\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0ff2100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 114\n# dropping value of integer\nmsg = 313233343030\nresult = invalid\nsig = 30250200022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 115\n# dropping value of integer\nmsg = 313233343030\nresult = invalid\nsig = 302402202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00200\n\n# tcId = 116\n# using composition for integer\nmsg = 313233343030\nresult = invalid\nsig = 30492224020124021f78f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 117\n# using composition for integer\nmsg = 313233343030\nresult = invalid\nsig = 304902202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c022250201000220a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 118\n# modify first byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502202678f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 119\n# modify first byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022102a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 120\n# modify last byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f98140022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 121\n# modify last byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34e32\n\n# tcId = 122\n# truncated integer\nmsg = 313233343030\nresult = invalid\nsig = 3044021f2478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 123\n# truncated integer\nmsg = 313233343030\nresult = invalid\nsig = 3044021f78f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 124\n# truncated integer\nmsg = 313233343030\nresult = invalid\nsig = 304402202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022000a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34e\n\n# tcId = 125\n# leading ff in integer\nmsg = 313233343030\nresult = invalid\nsig = 30460221ff2478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 126\n# leading ff in integer\nmsg = 313233343030\nresult = invalid\nsig = 304602202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00222ff00a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 127\n# replaced integer by infinity\nmsg = 313233343030\nresult = invalid\nsig = 3026090180022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 128\n# replaced integer by infinity\nmsg = 313233343030\nresult = invalid\nsig = 302502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0090180\n\n# tcId = 129\n# replacing integer with zero\nmsg = 313233343030\nresult = invalid\nsig = 3026020100022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 130\n# replacing integer with zero\nmsg = 313233343030\nresult = invalid\nsig = 302502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0020100\n\n# tcId = 131\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30460221012478f1cf49f6d858ac900a7af177222661ac95e206d32ee63020beee955ca711022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 132\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30460221ff2478f1d149f6d856ac900a7af1772226e7dea086b8a3f1dc48ad29689c965c6f022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 133\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30450220db870e2fb60927a8536ff5850e88ddd95b3a64cba0446f9ec3990bd467067e40022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 134\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3046022100db870e2eb60927a9536ff5850e88ddd918215f79475c0e23b752d6976369a391022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 135\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30460221fedb870e30b60927a7536ff5850e88ddd99e536a1df92cd119cfdf41116aa358ef022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 136\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30460221012478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 137\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3046022100db870e2fb60927a8536ff5850e88ddd95b3a64cba0446f9ec3990bd467067e40022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 138\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022101a07a59c3a41688548eb315e94effca0efd1ffe0a13467061783dde1cce167403\n\n# tcId = 139\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 304402202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00220a07a59c5a41688528eb315e94effca0f835208aec517335790ca4896d5502961\n\n# tcId = 140\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00221ff5f85a63b5be977ac714cea16b10035f0bfc6fca393d12e237b7beca62e4cb14e\n\n# tcId = 141\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00221fe5f85a63c5be977ab714cea16b10035f102e001f5ecb98f9e87c221e331e98bfd\n\n# tcId = 142\n# Modified r or s, e.g. by adding or subtracting the order of the group\nm", + "sg = 313233343030\nresult = invalid\nsig = 304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022101a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2\n\n# tcId = 143\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 304402202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c002205f85a63b5be977ac714cea16b10035f0bfc6fca393d12e237b7beca62e4cb14e\n\n# tcId = 144\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020100020100\nflags = EdgeCase\n\n# tcId = 145\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020100020101\nflags = EdgeCase\n\n# tcId = 146\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201000201ff\nflags = EdgeCase\n\n# tcId = 147\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026020100022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551\nflags = EdgeCase\n\n# tcId = 148\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026020100022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550\nflags = EdgeCase\n\n# tcId = 149\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026020100022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552\nflags = EdgeCase\n\n# tcId = 150\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026020100022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff\nflags = EdgeCase\n\n# tcId = 151\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026020100022100ffffffff00000001000000000000000000000001000000000000000000000000\nflags = EdgeCase\n\n# tcId = 152\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3008020100090380fe01\nflags = EdgeCase\n\n# tcId = 153\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020100090142\nflags = EdgeCase\n\n# tcId = 154\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020101020100\nflags = EdgeCase\n\n# tcId = 155\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020101020101\nflags = EdgeCase\n\n# tcId = 156\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201010201ff\nflags = EdgeCase\n\n# tcId = 157\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026020101022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551\nflags = EdgeCase\n\n# tcId = 158\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026020101022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550\nflags = EdgeCase\n\n# tcId = 159\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026020101022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552\nflags = EdgeCase\n\n# tcId = 160\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026020101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff\nflags = EdgeCase\n\n# tcId = 161\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026020101022100ffffffff00000001000000000000000000000001000000000000000000000000\nflags = EdgeCase\n\n# tcId = 162\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3008020101090380fe01\nflags = EdgeCase\n\n# tcId = 163\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020101090142\nflags = EdgeCase\n\n# tcId = 164\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff020100\nflags = EdgeCase\n\n# tcId = 165\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff020101\nflags = EdgeCase\n\n# tcId = 166\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff0201ff\nflags = EdgeCase\n\n# tcId = 167\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30260201ff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551\nflags = EdgeCase\n\n# tcId = 168\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30260201ff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550\nflags = EdgeCase\n\n# tcId = 169\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30260201ff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552\nflags = EdgeCase\n\n# tcId = 170\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30260201ff022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff\nflags = EdgeCase\n\n# tcId = 171\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30260201ff022100ffffffff00000001000000000000000000000001000000000000000000000000\nflags = EdgeCase\n\n# tcId = 172\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30080201ff090380fe01\nflags = EdgeCase\n\n# tcId = 173\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff090142\nflags = EdgeCase\n\n# tcId = 174\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551020100\nflags = EdgeCase\n\n# tcId = 175\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551020101\nflags = EdgeCase\n\n# tcId = 176\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6325510201ff\nflags = EdgeCase\n\n# tcId = 177\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551\nflags = EdgeCase\n\n# tcId = 178\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550\nflags = EdgeCase\n\n# tcId = 179\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552\nflags = EdgeCase\n\n# tcId = 180\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff\nflags = EdgeCase\n\n# tcId = 181\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551022100ffffffff00000001000000000000000000000001000000000000000000000000\nflags = EdgeCase\n\n# tcId = 182\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3028022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551090380fe01\nflags = EdgeCase\n\n# tcId = 183\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551090142\nflags = EdgeCase\n\n# tcId = 184\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550020100\nflags = EdgeCase\n\n# tcId = 185\n# Signature with special c", + "ase values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550020101\nflags = EdgeCase\n\n# tcId = 186\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6325500201ff\nflags = EdgeCase\n\n# tcId = 187\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551\nflags = EdgeCase\n\n# tcId = 188\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550\nflags = EdgeCase\n\n# tcId = 189\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552\nflags = EdgeCase\n\n# tcId = 190\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff\nflags = EdgeCase\n\n# tcId = 191\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550022100ffffffff00000001000000000000000000000001000000000000000000000000\nflags = EdgeCase\n\n# tcId = 192\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3028022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550090380fe01\nflags = EdgeCase\n\n# tcId = 193\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550090142\nflags = EdgeCase\n\n# tcId = 194\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552020100\nflags = EdgeCase\n\n# tcId = 195\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552020101\nflags = EdgeCase\n\n# tcId = 196\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6325520201ff\nflags = EdgeCase\n\n# tcId = 197\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551\nflags = EdgeCase\n\n# tcId = 198\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550\nflags = EdgeCase\n\n# tcId = 199\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552\nflags = EdgeCase\n\n# tcId = 200\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff\nflags = EdgeCase\n\n# tcId = 201\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552022100ffffffff00000001000000000000000000000001000000000000000000000000\nflags = EdgeCase\n\n# tcId = 202\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3028022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552090380fe01\nflags = EdgeCase\n\n# tcId = 203\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552090142\nflags = EdgeCase\n\n# tcId = 204\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff020100\nflags = EdgeCase\n\n# tcId = 205\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff020101\nflags = EdgeCase\n\n# tcId = 206\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff0201ff\nflags = EdgeCase\n\n# tcId = 207\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551\nflags = EdgeCase\n\n# tcId = 208\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550\nflags = EdgeCase\n\n# tcId = 209\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552\nflags = EdgeCase\n\n# tcId = 210\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff\nflags = EdgeCase\n\n# tcId = 211\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff022100ffffffff00000001000000000000000000000001000000000000000000000000\nflags = EdgeCase\n\n# tcId = 212\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3028022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff090380fe01\nflags = EdgeCase\n\n# tcId = 213\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff090142\nflags = EdgeCase\n\n# tcId = 214\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000001000000000000000000000001000000000000000000000000020100\nflags = EdgeCase\n\n# tcId = 215\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000001000000000000000000000001000000000000000000000000020101\nflags = EdgeCase\n\n# tcId = 216\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff000000010000000000000000000000010000000000000000000000000201ff\nflags = EdgeCase\n\n# tcId = 217\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000001000000000000000000000001000000000000000000000000022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551\nflags = EdgeCase\n\n# tcId = 218\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000001000000000000000000000001000000000000000000000000022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550\nflags = EdgeCase\n\n# tcId = 219\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000001000000000000000000000001000000000000000000000000022100ffffffff00000000ffffffffffffffffbce6faada7179", + "e84f3b9cac2fc632552\nflags = EdgeCase\n\n# tcId = 220\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000001000000000000000000000001000000000000000000000000022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff\nflags = EdgeCase\n\n# tcId = 221\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000001000000000000000000000001000000000000000000000000022100ffffffff00000001000000000000000000000001000000000000000000000000\nflags = EdgeCase\n\n# tcId = 222\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3028022100ffffffff00000001000000000000000000000001000000000000000000000000090380fe01\nflags = EdgeCase\n\n# tcId = 223\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000001000000000000000000000001000000000000000000000000090142\nflags = EdgeCase\n\n# tcId = 224\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 30060201010c0130\n\n# tcId = 225\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 30050201010c00\n\n# tcId = 226\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 30090c0225730c03732573\n\n# tcId = 227\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 30080201013003020100\n\n# tcId = 228\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 3003020101\n\n# tcId = 229\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 3006020101010100\n\n# tcId = 230\n# Edge case for Shamir multiplication\nmsg = 3932323038\nresult = valid\nsig = 3044022064a1aab5000d0e804f3e2fc02bdee9be8ff312334e2ba16d11547c97711c898e02203c623e7f7598376825fa8bc09e727c75794cbb4ee8716ae15c31cd1cbe9ca3ee\n\n# tcId = 231\n# special case hash\nmsg = 33393439313934313732\nresult = valid\nsig = 304402203a4f61f7f8c4546e3580f7848411786fee1229a07a6ecf5fb84870869188215d022018c5ce44354e2274eadb8fea319f8d6f60944532dbaae86bfd8105f253041bcb\n\n# tcId = 232\n# special case hash\nmsg = 35333637363431383737\nresult = valid\nsig = 304502203fa9975fb2b08b7b6e33f3843099da3f43f1dcfe9b171a60cafd5489ca9c5328022100985a86825a0cc728f5d9dac2a513b49127a06100f0fc4b8b1f200903e0df9ed2\n\n# tcId = 233\n# special case hash\nmsg = 35363731343831303935\nresult = valid\nsig = 304402204d66e7ee5edd02ab96db25954050079ef8de1d0f02f34d4d75112eaf3f73124002206292d1563140013c589be40e599862bdd6bda2103809928928a119b43851a2ce\n\n# tcId = 234\n# special case hash\nmsg = 3131323037313732393039\nresult = valid\nsig = 3046022100a9228305f7b486f568eb65d44e49ba007e3f14b8f23c689c952e4ced1e6cf91e022100b73c74d28bd1268002bed784a6b06c40a90ee5938ea6d08f272d027e0f96a72c\n\n# tcId = 235\n# special case hash\nmsg = 3131323938303334323336\nresult = valid\nsig = 304402203fa39842bfab6c38afa7963c60beb09484d4579fc75ef09efff44e91bc62ca8302205612add1924f0285ace5b158828e2b32ab2b6e7f10ee68dca1cc54591fee1fec\n\n# tcId = 236\n# special case hash\nmsg = 39383736303239363833\nresult = valid\nsig = 3045022006c04b02edfeecd8620f035ea4f449bd924593e86e5288a6f22d1923b0e2e8a9022100f666718e6fefb515bb9339d29cc0e58cfba89d605ca0066bca87f6a3f08ebcfa\n\n# tcId = 237\n# special case hash\nmsg = 3230323034323936353139\nresult = valid\nsig = 304402201ddd953c32a5f84109cd4d9ec8c364dd318376ff5d228211a367483077d638800220563dba4845de762baf04910618d587e0dd0c97dd1c9785c24ffdf2f8a660abf2\n\n# tcId = 238\n# special case hash\nmsg = 31343531363639313830\nresult = valid\nsig = 30460221009fe4ec4831ef4945f100d5d35a2e6312411ca5df6c900ca60690f2985d553482022100c674ad5e1bead2f767c9248e444452a4a8530dd47246cbbc968da865bdf212b6\n\n# tcId = 239\n# special case hash\nmsg = 31303933363835393531\nresult = valid\nsig = 3046022100e8703d6b16a79fc2ab3653cece29d06f65dd6f2c230cb08ee30c5517407d75db0221008cfeb87b8e95ddacd638b37d315393c5005f3ab8bba0cc1cd1a050829b775bfb\n\n# tcId = 240\n# special case hash\nmsg = 36323139353630323031\nresult = valid\nsig = 3046022100def608caf1f277d71403009f209c1d7eef11aaa7920397fbf429b8146181aece022100f3b8f2aa5b3df9a8b37313ea66ad5b74673f3e8614ff471b1eb6773217511fb0\n\n# tcId = 241\n# special case hash\nmsg = 35363832343734333033\nresult = valid\nsig = 304402204f5d08e8d936ce831d02d6b23fb8fce0e0750101af3ab9c3b28636b95a5e24ad02206f034480553bcecac221f8be8288163c55492e2e56a88f4d0341b61436a0a6c0\n\n# tcId = 242\n# special case hash\nmsg = 33373336353331373836\nresult = valid\nsig = 3045022100bdd822bfe3733d9f4b88764fe091db2e8f8af366e4c44d876bf82e62bd48c7ee02207fbf7750c5dc849a2c55dbdd067806f869652a7b3a57baa4733781d3128f02de\n\n# tcId = 243\n# special case hash\nmsg = 34373935393033373932\nresult = valid\nsig = 304402201c4fc02961b7f4245566b410bf08f447502ea4f75b15690344681efa2edf7b4b02207d63eef119dc88bc4a1b2c43ac21cd53892443661f8c3a97d558bf888c29f769\n\n# tcId = 244\n# special case hash\nmsg = 39333939363131303037\nresult = valid\nsig = 304402206406f2d249ab1264e175476ca3300efd049fcad569dff40b922082b41cc7b7ce0220461872b803383f785077714a9566c4d652e87b2cad90dd4f4cc84bc55004c530\n\n# tcId = 245\n# special case hash\nmsg = 31303837343931313835\nresult = valid\nsig = 30450220415c924b9ba1902b340058117d90623602d48b8280583fb231dc93823b83a153022100f18be8cdc2063a26ab030504d3397dc6e9c6b6c56f4e3a59832c0e4643c0263c\n\n# tcId = 246\n# special case hash\nmsg = 33323336363738353030\nresult = valid\nsig = 3045022100d12e96c7d2f177b7cf6d8a1ede060a2b174dc993d43f5fe60f75604824b64fef02200c97d87035fcca0a5f47fe6461bb30cbaf05b37e4211ec3fcd51fc71a12239ca\n\n# tcId = 247\n# special case hash\nmsg = 31343438393937373033\nresult = valid\nsig = 304502207df72a64c7e982c88f83b3a22802690098147e0e42ef4371ef069910858c0646022100adbaa7b10c6a3f995ed5f83d7bda4ba626b355f34a72bf92ff788300b70e72d0\n\n# tcId = 248\n# special case hash\nmsg = 35373134363332383037\nresult = valid\nsig = 30440220047c4306f8d30e425ae70e0bee9e0b94faa4ef18a9c6d7f2c95de0fe6e2a323702207a4d0d0a596bd9ea3fe9850e9c8c77322594344623c0b46ac2a8c95948aefd98\n\n# tcId = 249\n# special case hash\nmsg = 323236343837343932\nresult = valid\nsig = 3044022057d603a367e23af39c95dd418c0176da8b211d50b1be82bf5ef621a2640204f702205dc3f285ad015c4d71157bd11e5b8df6a89e4b267393b08b5ad5013bdae544b1\n\n# tcId = 250\n# special case hash\nmsg = 35333533343439343739\nresult = valid\nsig = 3044022011df6741021ec8cc567584aea16817c540859c4e5011551c00b097fcfc2337e50220668551919d43206ac0571fc5ad3ac0efb489bea599e7bf99fe4c7468d6c2c5e0\n\n# tcId = 251\n# special case hash\nmsg = 34373837333033383830\nresult = valid\nsig = 304402207451ffede471bd370406533436fc42a89daa0af4903d087cbc062fe7e54dbf700220590895398f22b48ce72cbf7c3d3ee1dd7fb0ee645edb0b1b1de35f370e5bf5ee\n\n# tcId = 252\n# special case hash\nmsg = 32323332313935383233\nresult = valid\nsig = 3045022100fc4c4d81da6f687a6426263193c1a680b67734a1b180647b8c76407cc4f0a9c6022056f775d372c9bee685374085be676c9cf31cf1f978a5e6ccb04e4a0761159cc7\n\n# tcId = 253\n# special case hash\nmsg = 3130373339333931393137\nresult = valid\nsig = 3045022100feb978ca33c46ffba47eb63bb40de7833e43d5654575b54de1fea3d1de3c8ad50220108078ba997bfa064521baf342c97b0c64bd25240c8fd0fd7533ae2d03081b70\n\n# tcId = 254\n# special case hash\nmsg = 31383831303237333135\nresult = valid\nsig = 3046022100cc61729698467ba53da199ff481fe7433f194fc96367907e8dc5e1d9f42b1e2102210083dd9ef156e7c1f9c09b3bf86a4f1c88e5dd20cd74d997858e600797dbe74ad2\n\n# tcId = 255\n# special case hash\nmsg = 36303631363933393037\nresult = valid\nsig = 3045022100d47f616303ff0eb813eac32e760ba30ad445e0af7dc57e70756104823f6a895f0220047f2217b399c46a426b936a124980a6011f0896f51dbe07632828a72d7173f1\n\n# tcId = 256\n# special case hash\nmsg = 38383935323237303934\nresult = valid\nsig = 3046022100cff73dfa2bac67ce1340b25c885abb3e7979ef7f840f15d5f19e86640cdd40a3022100c7d1210802796c4f251049ee08a2c29f5c71064033d17010c65bf2e94499381e\n\n# tcId = 257\n# special case hash\nmsg = 31353830323334303934\nresult = valid\nsig = 3044022010acaf9c485ab1220355b95be269f124e12eb252f2224b0fc50785eb2ee3df45022032443b557efc6896347fa778e1fcf33cbb769c9a7da896b20d93fea7c2791ea4\n\n# tcId = 258\n# special case hash\nmsg = 33393635393931353132\nresult = valid\nsig = 3046022100f919da0651abc2bff994a879d2778fa5195d57400e003e8dd6adb3fc7a0cc4cc0221009b945d06bd119665b278a59bd24fdd2350817d0be87997bee57", + "b70c479d64a2d\n\n# tcId = 259\n# special case hash\nmsg = 32323838373332313938\nresult = valid\nsig = 3045022100cc38e7a018f6d70b2d9b49120cc9b4a169f2f72238821a86b81f553b6225d24e0220276efd8bf06ccce07c7aae35eaac3bd1c374dcf0cf0588d5e0e4171936688636\n\n# tcId = 260\n# special case hash\nmsg = 32323330383837333139\nresult = valid\nsig = 3045022100ff85ad66621991c318b85cef73c576cb2a8d43c568c1aafc85b40ef2a9a6b41c0220732a79e6837ebf8434fea6e7fefa948f506ae455c1a3eb36a030185a23037d96\n\n# tcId = 261\n# special case hash\nmsg = 313239303536393337\nresult = valid\nsig = 3044022033f016e51eef9b1136380cb8b84c6b38b107e24c6731bd07cb1c7f4a29f33a83022036b177bb8be94c8be67ff3a41fcc4d22b5c9eb377da713eb014ae01c64ca6dd7\n\n# tcId = 262\n# special case hash\nmsg = 32373438363536343338\nresult = valid\nsig = 3045022100929413ee91f27454d74e91370a10a86fc98ac7305c8ab4ca59752bda3a7bfc370220483b47a26a0d7d2e6bd37d351d9ee37c5ec2a4686d884d78b6beb7f6b08c50f9\n\n# tcId = 263\n# special case hash\nmsg = 37353833353032363034\nresult = valid\nsig = 30450220578202c7d0abac93ca43dde3cb44414e5601c1eb557604cb9adb4bde0a12633b022100fb9a7412e307aee95ef4b53540571a21559414e5306794ab5182cfb229dab3e9\n\n# tcId = 264\n# special case hash\nmsg = 32333237373534323739\nresult = valid\nsig = 3045022046d45ad0bb75b8639d0e91d8450fc31887c211328a5784fc83b4cb7f5b962c1b022100d6751d13ede2079b7aa1d822bdb32d7f3cf00273a1ff03df90c0ec7c62a47568\n\n# tcId = 265\n# special case hash\nmsg = 373735353038353834\nresult = valid\nsig = 3046022100abe84c941783d5ced284fea56341ecc68d6bdd3196d318fbd074641f8c885bd5022100bdea3c44d48e01aa40935c1c9723ff733199563440f26b4ecf0b444b0418d9f5\n\n# tcId = 266\n# special case hash\nmsg = 3137393832363438333832\nresult = valid\nsig = 3045022005277cdbf491e336fe81be24e393a161a4fb89112c9ffed1ee6649c406713408022100ab6934332e68e108bb0484d21c457dcf381a620c3a4712fdbfeb658a3fafd60c\n\n# tcId = 267\n# special case hash\nmsg = 32333936373737333635\nresult = valid\nsig = 30450220293825737c8c14430ed10dbadd7da337275f9b61d1d26377f778ffaa00c139de022100cdddec267a8678c96829bf6c1d6f38322e119937cfd2fee01e9dc9525f43ed6b\n\n# tcId = 268\n# special case hash\nmsg = 35393938313035383031\nresult = valid\nsig = 304402202041fdd6111c45dfd29e750e082dcdadc9a584a8a2be46580fb0ba3b3dc658620220421824fe987e4172a0f8bbcb7bcd9e1b073b7742ed9f9df98f2a1a37cd374ce3\n\n# tcId = 269\n# special case hash\nmsg = 3136363737383237303537\nresult = valid\nsig = 30450220267941db660e046ab14e795669e002b852f7788447c53ebef46a2056978b5574022100d00183bcaf75bc11e37653f952f6a6537151c3aa0a1b9e4e41b004a29185395b\n\n# tcId = 270\n# special case hash\nmsg = 323036323134333632\nresult = valid\nsig = 304402205dcd7f6814739d47f80a363b9414e6cbfb5f0846223888510abd5b3903d7ae09022043418f138bb3c857c0ad750ca8389ebcf3719cb389634ac54a91de9f18fd7238\n\n# tcId = 271\n# special case hash\nmsg = 36383432343936303435\nresult = valid\nsig = 304502205e0e8cc0280409a0ce252da02b2424d2de3a52b406c3778932dbc60cb86c356702210093d25e929c5b00e950d89585ec6c01b6589ae0ec0af8a79c04df9e5b27b58bc5\n\n# tcId = 272\n# special case hash\nmsg = 33323639383937333231\nresult = valid\nsig = 304502204fcf9c9d9ffbf4e0b98268c087071bffe0673bb8dcb32aa667f8a639c364ea47022100820db0730bee8227fc831643fcb8e2ef9c0f7059ce42da45cf74828effa8d772\n\n# tcId = 273\n# special case hash\nmsg = 31333837333234363932\nresult = valid\nsig = 3046022100c60cd2e08248d58d1639b123633643c63f89aff611f998937ccb08c9113bcdca022100ac4bb470ce0164616dada7a173364ed3f9d16fd32c686136f904c99266fda17e\n\n# tcId = 274\n# special case hash\nmsg = 34313138383837353336\nresult = valid\nsig = 304502207cfdaf6f22c1c7668d7b6f56f8a7be3fdeeb17a7863539555bbfa899dd70c5f1022100cee151adc71e68483b95a7857a862ae0c5a6eee478d93d40ccc7d40a31dcbd90\n\n# tcId = 275\n# special case hash\nmsg = 393838363036353435\nresult = valid\nsig = 304402202270be7ee033a706b59746eab34816be7e15c8784061d5281060707a0abe0a7d022056a163341ee95e7e3c04294a57f5f7d24bf3c3c6f13ef2f161077c47bd27665d\n\n# tcId = 276\n# special case hash\nmsg = 32343739313135383435\nresult = valid\nsig = 3044022016b5d2bfcaba21167a69f7433d0c476b21ded37d84dc74ca401a3ecddb2752a8022062852cf97d89adfb0ebbe6f398ee641bfea8a2271580aac8a3d8326d8c6e0ef9\n\n# tcId = 277\n# special case hash\nmsg = 35303736383837333637\nresult = valid\nsig = 3046022100d907eefa664115848b90c3d5baa0236f08eafaf81c0d52bb9d0f8acb57490847022100fd91bc45a76e31cdc58c4bfb3df27f6470d20b19f0fba6a77b6c8846650ed8a6\n\n# tcId = 278\n# special case hash\nmsg = 393838353036393637\nresult = valid\nsig = 30450220048337b34f427e8774b3bf7c8ff4b1ae65d132ac8af94829bb2d32944579bb31022100bd6f8eab82213ccf80764644204bb6bf16c668729cdd31dd8596286c15686e8e\n\n# tcId = 279\n# special case hash\nmsg = 32373231333036313331\nresult = valid\nsig = 3046022100b2bc46b7c44293557ab7ebeb0264924277193f87a25d94c924df1518ba7c7260022100abf1f6238ff696aaafaf4f0cbbe152c3d771c5bfc43f36d7e5f5235819d02c1a\n\n# tcId = 280\n# special case hash\nmsg = 33323034313031363535\nresult = valid\nsig = 3045022040d4b38a61232e654ffd08b91e18609851f4189f7bf8a425ad59d9cbb1b54c990221009e775a7bd0d934c3ed886037f5d3b356f60eda41191690566e99677d7aaf64f3\n\n# tcId = 281\n# special case hash\nmsg = 33313530363830393530\nresult = valid\nsig = 3046022100ac8f64d7df8d9fea005744e3ac4af70aa3a38e5a0f3d069d85806a4f29710339022100c014e96decfef3857cc174f2c46ad0882bef0c4c8a17ce09441961e4ae8d2df3\n\n# tcId = 282\n# special case hash\nmsg = 31373237343630313033\nresult = valid\nsig = 3044022041b3766f41a673a01e2c0cab5ceedbcec8d82530a393f884d72aa4e6685dea0a0220073a55dca2da577cafb40e12dd20bf8529a13a6acdf9a1c7d4b2048d60876cb3\n\n# tcId = 283\n# special case hash\nmsg = 3134353731343631323235\nresult = valid\nsig = 304502201942755aa8128382cd8e35a4350c22cc45ba5704d99e8a240970df11956ad866022100f64cf1e0816cf7ac5044f73ba938e142ef3305cb09becb80a0a5b9ad7ba3eb07\n\n# tcId = 284\n# special case hash\nmsg = 34313739353136303930\nresult = valid\nsig = 3045022051aba4ff1c7ddf17e0632ab71684d8de6dc700219ef346cb28ce9dafc3565b3b022100b6aaebe1af0ad01f07a68bf1cf57f9d6040b43c14b7eb8238542760e32ce3b0c\n\n# tcId = 285\n# special case hash\nmsg = 35383932373133303534\nresult = valid\nsig = 304502210091efbfcc731650e9f004c38b71db146c17bf871c82c4e87716f7ff2f7f9e51d00220089ea631a7c5f05311c521d21ba798b5174881f0fd8095fb3a77515913efb6e0\n\n# tcId = 286\n# special case hash\nmsg = 33383936313832323937\nresult = valid\nsig = 304502204a7e47bd281ea09b9e3a32934c7a969e1f788f978b41585989f4689e804663fb022100e65f6bd702403cbbed7f8ad0045f331d4a96fbf8c43f71f11615b7d1b9153b7f\n\n# tcId = 287\n# special case hash\nmsg = 38323833333436373332\nresult = valid\nsig = 3046022100c795f5da86e10a604d4f94bf7cac381c73edad1461d66929e53aa57ca294e89f022100bae784ab6c7b58332ee05e7d54169edf55ce45f030e71ae8df63969fb327a10c\n\n# tcId = 288\n# special case hash\nmsg = 33333636393734383931\nresult = valid\nsig = 3046022100ea68b24843b225f505e01c0e608b20b4d93e8faf6b9cf70cf8f9134a80e7b668022100a3abc044b4728f80fe414bdc66f032b262356720547bec7729fad94151c6adc7\n\n# tcId = 289\n# special case hash\nmsg = 32313939313533323239\nresult = valid\nsig = 3046022100bfe7502140c57a24a77edc3d9b3c4bc11d21bdb0b196977b7f2b13ac973ad697022100947a01da9731849d72b67ef7bc40b012480fd389895aad1f6b1cdbeab3b93b8d\n\n# tcId = 290\n# special case hash\nmsg = 35363030333136383232\nresult = valid\nsig = 304402203434ee1142740a0ab8623b97fc8dc2567eda45dadf6039b45c448819e840cf3002203c0fac0487841997202c29f3bf2df540b115b29dc619160d52203d4a1fd4b9f7\n\n# tcId = 291\n# special case hash\nmsg = 383639363531363935\nresult = valid\nsig = 304502205338500e23ba96a0adc6ef84932e25fbad7435d9f70eb7f476c6912de12e33c8022100a002f5583ea8c0d7fb17136d0ee0415acf629879ce6b01ac52e3ecd7772a3704\n\n# tcId = 292\n# special case hash\nmsg = 36353833393236333732\nresult = valid\nsig = 304402204ff2d4e31f4180de6901d2d20341d12387c9c55f4cf003a742f049b84af6fe0502200312f38771414555fa5ed2817dcc629a8c7cf69d306300e87bc167278ec3ef37\n\n# tcId = 293\n# special case hash\nmsg = 3133323035303135373235\nresult = valid\nsig = 3044022051d665bad5f2d6306c6bbfe1f27555887670061d4df36ec9f4ce6cdfaf9ea7ac02202905e43f6207ee93df35a2e9fb9bc8098c448ae98a14e4ad1ebaea5d56b6e493\n\n# tcId = 294\n# special case hash\nmsg = 35303835333330373931\nresult = valid\nsig = 3046022100b804e0235f135aba7b7531b6831f26cc9fb77d3f83854957431be20706b813690221009d317fd08e4e0467617db819cde1d7d4d74da489b2bce4db055ea01eccfafcf2\n\n# tcId = 295\n# special case hash\nmsg = 37383636383133313139\nresult = valid\nsig = ", + "30450221008ab50ef3660ccb6af34c78e795ded6b256ffca5c94f249f3d907fb65235ef680022049d5aaeae5a6d0c15b286e428b5e720cf37a822ede445baa143ffae69aba91b8\n\n# tcId = 296\n# special case hash\nmsg = 32303832353339343239\nresult = valid\nsig = 30440220571b9c46a47c5cc53a574c196c3fb07f3510c0f4443b9f2fe781252c24d343de022068a9aebd50ff165c89b5b9cb6c1754191958f360b4d2851a481a3e1106ee7809\n\n# tcId = 297\n# special case hash\nmsg = 3130303635393536363937\nresult = valid\nsig = 304502204cb7817b04dc73be60d3711803bc10687a6e3f4ab79c4c1a4e9d63a73174d4eb022100ce398d2d6602d2af58a64042f830bf774aee18209d6fb5c743b6a6e437826b98\n\n# tcId = 298\n# special case hash\nmsg = 33303234313831363034\nresult = valid\nsig = 30450220684399c6cd6ebb1c5d5efb0d78dce40ebd48d9d944eb6548c9ce68d7fdc82229022100cf25c8e427fae359bfe60fa02964f4c9b8d6db54612e05c78c341f0a8c52d0b5\n\n# tcId = 299\n# special case hash\nmsg = 37373637383532383734\nresult = valid\nsig = 3045022020b7b36d5bc76fa182ca27152a99a956e6a0880000694296e31af98a7312d04b022100eeeabc5521f9856e920eb7d29ed7e4042f178ff706dff8eeb24b429e3b63402a\n\n# tcId = 300\n# special case hash\nmsg = 353434313939393734\nresult = valid\nsig = 304402206b65c95e8e121d2e6ee506cfd62cb88e0bfb3589da40876898ef66c43982aca9022009642c05ad619b4402fd297eb57e29cca5c2eb6823931ba82de32d7c652ba73e\n\n# tcId = 301\n# special case hash\nmsg = 35383433343830333931\nresult = valid\nsig = 3044022067c74cbf5ea4b777bf521ace099f4f094d8f58900e15e67e1b4bd399056629ed02203d2884655c49b8b5f64e802a054e7bf09b0fc80ca18ebf927b82e58bb4a00400\n\n# tcId = 302\n# special case hash\nmsg = 373138383932363239\nresult = valid\nsig = 3045022079a5e40da5cf34c4c39adf7dfc5d454995a250314ebd212b5c8e3f4e6f875feb022100b268920e403ba17828ff271938a6558a5b2dd000229f8edb4a9d9f9b6ac1b472\n\n# tcId = 303\n# special case hash\nmsg = 31373433323233343433\nresult = valid\nsig = 3045022100c8b13006c3a51a322fff9321761b01de134f526be582b22e19693c443fc9fe46022034e7f60179c6162ab980fcd58f173b0e6c30b524d35c67921677522dcef843a1\n\n# tcId = 304\n# special case hash\nmsg = 32343036303035393336\nresult = valid\nsig = 304502203513db745489a487c88a6cedf8795b640f8f71578397bdabd6cc586c25bd66ad02210099a72cd3f0ca6c799149283ca0af37f86b88200d0c905bd3c9f1b859e55b1659\n\n# tcId = 305\n# special case hash\nmsg = 31363134303336393838\nresult = valid\nsig = 304402203a6386afb08f7ff8140b5a270f764e8706ef2830fb177446f7b4eeb8a25aac6402204b70854b38c29245b2b980eba10ea936c68a38c1da5255ce2386db23afc7c06a\n\n# tcId = 306\n# special case hash\nmsg = 32303935343235363835\nresult = valid\nsig = 3046022100b8fc54a8a6be3c55e99c06f99ccdcce7af5c18a3c5829726a870cc1068458f64022100cc7237c39c8e6a4a1c8c62f5f88636549c7410798b89684c502c3adfe5fb7ad2\n\n# tcId = 307\n# special case hash\nmsg = 31303038303938393833\nresult = valid\nsig = 3045022047b460851e5607f2021626635c565a63f78f558795e1b330d09115970dbbb8ab022100a6a9f4f213e08d3c736d3e1c44a35140cb107619f265a5b13608ed729fd6d894\n\n# tcId = 308\n# special case hash\nmsg = 31353734313437393237\nresult = valid\nsig = 30450221008cfda4f7a65864ebbea3144863da9b075c07b5b42cb4569643ddfd70dd753b190220595784b1ab217874b82b9585521f8090b9f6322884ab7a620464f51cf846c5b7\n\n# tcId = 309\n# special case hash\nmsg = 32383636373731353232\nresult = valid\nsig = 304402204cd6a45bd7c8bf0edbdf073dbf1f746234cbbca31ec20b526b077c9f480096e702207cf97ae0d33f50b73a5d7adf8aa4eeeb6ff10f89a8794efe1d874e23299c1b3d\n\n# tcId = 310\n# special case hash\nmsg = 31363934323830373837\nresult = valid\nsig = 304402202e233f4df8ffebeaec64842b23cce161c80d303b016eca562429b227ae2b58ec022046b6b56adec82f82b54daa6a5fca286740a1704828052072a5f0bc8c7b884242\n\n# tcId = 311\n# special case hash\nmsg = 39393231363932353638\nresult = valid\nsig = 30440220549f658d4a3f98233a2c93bd5b1a52d64af10815ae60becb4139cac822b579c3022027bdddf0dbcf374a2aec8accc47a8ac897f8d1823dda8eb2052590970b39ce2a\n\n# tcId = 312\n# special case hash\nmsg = 3131363039343339373938\nresult = valid\nsig = 30450221009fabcc1e5fd965226902f594559e231369e584453974e74f49d7d762e134fb9d0220293cccc510793bac45ce5da2bb6c9e906437f59435ca206655f74b625df07c7c\n\n# tcId = 313\n# special case hash\nmsg = 37313836313632313030\nresult = valid\nsig = 304502202e5c140fd6f5f823addc8088ffaae967e7f4897274316769561dfb31435825d9022100eda47327d7cfae1daa344ff5582a467bd18eb9f01caeab9c6da3c0cc89df6713\n\n# tcId = 314\n# special case hash\nmsg = 33323934333437313737\nresult = valid\nsig = 304402204c11e3b7efbe3908ad2118e54d7d34d6c6eb4570bf7fdb11a7679fe93afa254c0220712e90f421836e542dac49d10bb39db4a98b2735b6336d8a3c392f3b90e60bbe\n\n# tcId = 315\n# special case hash\nmsg = 3138353134343535313230\nresult = valid\nsig = 3045022100dfb4619303f4ff689563d2275069fac44d63ea3c3b18f4fb1ac805d7df3d12ec022068e37b846583901db256329f9cf64f40c416fba50dcb9be333a3e29c76ae32db\n\n# tcId = 316\n# special case hash\nmsg = 343736303433393330\nresult = valid\nsig = 3045022100e70e8e17bd758ff0c48f91cb2c53d293f0f5ae82eb9dfe76ab98f9b064278635022021dde32cb0389cad7bdf676d9b9b7d25bb034ad25a55ea71ee7ee26a18359dd2\n\n# tcId = 317\n# special case hash\nmsg = 32353637333738373431\nresult = valid\nsig = 30440220421397ecae30617a5a6081ad1badf6ce9d9d4cb2afdabf1f900e7fdb7fb0af5a022057ca89dc22801c75fdbefdaeca65c675625f94de7d635062b08ed308df5762cc\n\n# tcId = 318\n# special case hash\nmsg = 35373339393334393935\nresult = valid\nsig = 304502200610c08076909bb722fba105c23eac8f66b4db1d58f66a882fc90d59acdec8e0022100af59e8d570761cac589d49f11c884007f7ac1eea1a44c6f3fdad1d542187d25e\n\n# tcId = 319\n# special case hash\nmsg = 33343738333636313339\nresult = valid\nsig = 3045022059a1181cab0ee8ce94ab2b5ab4f4b13a422e38efe69f634bf947485a5b9ea49c0221009b3c913d98a4ab15f6a39f1802b8f2d28559aa1f8d03a3a88df00c89dc293a97\n\n# tcId = 320\n# special case hash\nmsg = 363439303532363032\nresult = valid\nsig = 30460221008cae6c4dfbf901bd66ab82541011fa15c8e90e2c18c01bd881acaa2b63cb587b022100a86acf943f29cef91d1b66a7de5547df6cdfc45dd7bef816dcb8de9f5a425d2d\n\n# tcId = 321\n# special case hash\nmsg = 34373633383837343936\nresult = valid\nsig = 30450221008b00c74b86474d782eac9974aea606d8f7ee78c79597e15687021f5991e86acd0220309dfe3686648eae104e87b3e9b5616a3ad479ca4f0b558ae4f1e5ab3115346a\n\n# tcId = 322\n# special case hash\nmsg = 353739303230303830\nresult = valid\nsig = 30450220433a915504c977809634a36fcf4480e4c8069fc127d201d30dfdb1f423c95fd4022100bcb1b89aafd50a1766b09741fc6a9a96e744ae9826d839bf85ffb50a91981773\n\n# tcId = 323\n# special case hash\nmsg = 35333434373837383438\nresult = valid\nsig = 304502204b69abd2b39840a545cdd4a72d384234580e2fd938b7091d0ecdb562780857db022100fdab9957119e0a4092af82f6cc29f3c8a692671ec86efb0a03c1112a0a1e0467\n\n# tcId = 324\n# special case hash\nmsg = 3139323636343130393230\nresult = valid\nsig = 3045022100dab9d3686c28363ad017b4a2b36d35bf2eb80633613d44deb9501d42a3efbd3802201392a562d79f9ab19014e4f7e2f2668259f3720a76c120d4a3c3964e880f7679\n\n# tcId = 325\n# special case hash\nmsg = 33373033393135373035\nresult = valid\nsig = 3045022023f94e47b440ce379b74c9311232b19a64e3e7c9b90da34b0c1c3f3d7af28105022100e1425903b1479c2ce18b108a6d1ec8b7a4f0f657dedb00de3a3ceea7fdeee9be\n\n# tcId = 326\n# special case hash\nmsg = 3831353435373730\nresult = valid\nsig = 30450221009d706a8fa85d15bd0c3492c6672dfe529f4073b217b3947b5b2cfd61f87ccb7102206aaaaf369f82a0e542f72ded7d7eb90c8314ffa613a0ea81da1c8393dbae2bac\n\n# tcId = 327\n# special case hash\nmsg = 313935353330333737\nresult = valid\nsig = 3046022100ac77918c4085c8a7ce5020b00c315629aee053a445cb4661eb50f6b62a47da29022100df2aea2b9c11a6ce39d3cd9e1faf4a53057e0b1b2e48a324be9e773203fe9fbb\n\n# tcId = 328\n# special case hash\nmsg = 31323637383130393033\nresult = valid\nsig = 30460221009db2dbd2935f147fae7f6a95c8e2307bd8537c3d96eb732ad6d5ebdd89bc754e02210093a9ab99d2de9d08fe0a61e26c8fe1ebbf88726e4b69d551b57d15f0ae16df5a\n\n# tcId = 329\n# special case hash\nmsg = 3131313830373230383135\nresult = valid\nsig = 30440220769f70093939afbd1fa15873decfa803ca523ace8040280ba78cf833497722bc0220369875aba5e1ced5a4ca8444ec9399a38038b00e153a0ae34d9b3c9781447eea\n\n# tcId = 330\n# special case hash\nmsg = 38333831383639323930\nresult = valid\nsig = 3045022026e5182b9822550ad52f46ad80781d6bef3d110a204db5e58a0746f796982200022100a9418e76029ced0cf78a571a9e59ad04086e91f70e6813981bb33c1dee891165\n\n# tcId = 331\n# special case hash\nmsg = 33313331323837323737\nresult = valid\nsig = 3046022100e7bd6aefcf7b27e1f3fadbe713f9adb3d23398e88200cd2e94989c9d12e921770221009583e0de3b76f8d4b1e634a81cbc34", + "af54e2f8599f3684ce48d372760c8204c4\n\n# tcId = 332\n# special case hash\nmsg = 3134333331393236353338\nresult = valid\nsig = 30450221008638ed7eaa83609a01a6af9c52ec9bfddda90442b1e6031d61cfa22e48b2e1e2022020c284d596f71c6c8df732f5a5a2006302301e1a792e2b39663d93a9760762d2\n\n# tcId = 333\n# special case hash\nmsg = 333434393038323336\nresult = valid\nsig = 3044022061d924307a96180b06383608ba91674e15c3ea06ff2534412b93a587dde649c1022059b84aa2115b2547edac88088ca6313e9fbe1ca6a361c7e57938f9dde3f4349c\n\n# tcId = 334\n# special case hash\nmsg = 36383239383335393239\nresult = valid\nsig = 30450220424fcfc3fd63d128c2eb125e88c7fe5d283b63470a786b82783edbb8a0b7a6d7022100b11548c2cd7fce9d44e795ca51af0b2f6a5180e9c9be0314007ed9e7f4bbe5e9\n\n# tcId = 335\n# special case hash\nmsg = 33343435313538303233\nresult = valid\nsig = 3045022100a5f747ae6290fa9582c6ce8d5608621d495f061551bc4531bacba586a563b184022062faf8f92291e12812835b3f1d43c967bceb885b110bd06e5a68e2d74781ae2b\n\n# tcId = 336\n# special case hash\nmsg = 3132363937393837363434\nresult = valid\nsig = 3045022100b731dc0d92c2cc7a605d78233f7814699bdf1cab2df297b6844eec4015af8ea0022039b1a0cc88eb85bcdc356b3620c51f1298c60aec5306b107e900ffdba049dd6f\n\n# tcId = 337\n# special case hash\nmsg = 333939323432353533\nresult = valid\nsig = 3046022100ef73c4fa322da39fb6503bab6b66b64d241056afbcd6908f84b61ccbbe890433022100f1ef85413e5764aa58a3128ccfcf388324fe5340e5edf8d0135ae76786ce415b\n\n# tcId = 338\n# special case hash\nmsg = 31363031393737393737\nresult = valid\nsig = 30450220694cd30e2ad0182579331474b271ee2d48723bc8415dc6513873586ce705b76b022100c5ac0c0ed5a4017d110cb45d63aa955dc7dc5ce23e7965c5397c3ff46a884636\n\n# tcId = 339\n# special case hash\nmsg = 3130383738373535313435\nresult = valid\nsig = 3046022100f38b2236be3024e10b894ffb1cc68d0bb8d4cf0fcd2cfc1779f8883765d3cd96022100da69cd0b74c25566d60a486edd559fc39d569fb2751445a4798df8a36891802c\n\n# tcId = 340\n# special case hash\nmsg = 37303034323532393939\nresult = valid\nsig = 3046022100a881732c205a0b4b95669c00756fd91973450109a46f17d5a9d971b5e92b9aa40221008acefdca4e06c16b47ccad1c57c05912637e107096ba230c92b97187db79e19e\n\n# tcId = 341\n# special case hash\nmsg = 31353635333235323833\nresult = valid\nsig = 3044022004452f554bae819b42effb84ef44a9f1cb7e2d75b4ba9ff9b9cfffaddde3fd1b022061a3fbc5e73c350f2e3d85a7452cd231a3f3375fc11f5fe153b185f53b09c1d0\n\n# tcId = 342\n# special case hash\nmsg = 3233383236333432333530\nresult = valid\nsig = 3045022005814f57f58efc7cb490119e584e635e6f0ad1c19fb5dc2edafda075bb55f98e0221009dd5c6e39009d67d965903ecffe08a851775cc1248cc19c0b77798282131b8f6\n\n# tcId = 343\n# special case hash\nmsg = 31343437383437303635\nresult = valid\nsig = 3045022100dc1c4a46085e198843b1f01980cd5e4a1ff6f8e8ff7014397f0afd5b247fb0a0022038a13dc723ed90b30251d742b14733a03292ff26530a1ebcaf3d10862a6eff82\n\n# tcId = 344\n# special case hash\nmsg = 3134323630323035353434\nresult = valid\nsig = 304502201067667bf525734ca7f2510e36348fd9c2c9bccf032dfd571de6d45abd49361a022100fa762568d3a19e5a1d8ea65e00202a5b16f9afae56733a01f86e35378c558da4\n\n# tcId = 345\n# special case hash\nmsg = 31393933383335323835\nresult = valid\nsig = 3046022100e58d69dc56bc1031644847e3e046e2ea845a515d969d07ea1aa53aea5bd92fa1022100bfe50b80f7c512f5ab521fe7e1a131045fde78d4de826c91573baaba1e35ca97\n\n# tcId = 346\n# special case hash\nmsg = 34323932313533353233\nresult = valid\nsig = 3046022100fe79c6b8c14d0f23d426e3d157f1b541f6bb91bf29957ef97c55949c9ba48a350221009da112c4a4cf4b1ff490c426f6c8ff122183964a0de56f7336ab382dc9d10285\n\n# tcId = 347\n# special case hash\nmsg = 34343539393031343936\nresult = valid\nsig = 3045022045d4ed7e9edacb5a730944ab0037fba0a136ed9d0d26b2f4d4058554f148fa6f022100f136f15fd30cfe5e5548b3f4965c16a66a7c12904686abe12da777619212ae8c\n\n# tcId = 348\n# special case hash\nmsg = 31333933393731313731\nresult = valid\nsig = 304402204fb7c1727e40bae272f6143a50001b54b536f90233157896dbf845e263f2486302206fea5c924dca17519f6e502ef67efa08d39eb5cc3381266f0216864d2bd00a62\n\n# tcId = 349\n# special case hash\nmsg = 32333930363936343935\nresult = valid\nsig = 30450220779aac665dd988054b04f2e9d483ca79179b3372b58ca00fe43520f44fcb4c32022100b4eca1182cd51f0abd3ea2268dcda49a807ad4116a583102047498aa863653f5\n\n# tcId = 350\n# special case hash\nmsg = 3131343436303536323634\nresult = valid\nsig = 3046022100db7ac6f65fb1c38d80064fd11861631237a09924b4eeca4e1569fa4b7d80ad24022100a38d178d37e13e1afa07a9d03da025d594461938a62a6c6744f5c8f7d7b7bb81\n\n# tcId = 351\n# special case hash\nmsg = 363835303034373530\nresult = valid\nsig = 3046022100c90043b4aadf795d870ac223f33acdbd1948c31afff059054dc99528c6503fa6022100829f67b312bb134f6954a23c611a7f7b5b2a69efced9c48db589ac0b4d3da827\n\n# tcId = 352\n# special case hash\nmsg = 3232323035333630363139\nresult = valid\nsig = 3045022100fa16c0125b6615b90e81f7499804308a90179bf3fcff6a4b2695271c68b23ded02200d6cda5ce041dc5a5f319ad9c0de4927d0cf5e89e37b79216194413d42976d54\n\n# tcId = 353\n# special case hash\nmsg = 36323135363635313234\nresult = valid\nsig = 304502201a4b5bd0f806549f46a3e71bfe412d6d89206017640ded66f3d0b2d9b26bec45022100aac5f74e3130264e01428570ee82ee47e245d160ed812ae252dedffd82e1ec2c\n\n# tcId = 354\n# Signature generated without truncating the hash\nmsg = 313233343030\nresult = invalid\nsig = 3045022100f8e272234b51475ec4c6f327562a6e5c9080a96225e88b2e5f72a8eecbd41ab40220516b91617fc39e3141b3bc769f6a3b2e468e687f50bdc29e19088af62d203f4b\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04b6e08b1bcc89e7fb0b84d7497e310553495be4877eccc4b3d6d79f7c68a0573431760fa1bcea4972759174ac1103bc6011985ccee251918d0573fbcb78969116]\n[key.wx = 00b6e08b1bcc89e7fb0b84d7497e310553495be4877eccc4b3d6d79f7c68a05734]\n[key.wy = 31760fa1bcea4972759174ac1103bc6011985ccee251918d0573fbcb78969116]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004b6e08b1bcc89e7fb0b84d7497e310553495be4877eccc4b3d6d79f7c68a0573431760fa1bcea4972759174ac1103bc6011985ccee251918d0573fbcb78969116]\n[sha = SHA-512]\n\n# tcId = 355\n# k*G has a large x-coordinate\nmsg = 313233343030\nresult = valid\nsig = 303502104319055358e8617b0c46353d039cdaab022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254e\n\n# tcId = 356\n# r too large\nmsg = 313233343030\nresult = invalid\nsig = 3046022100ffffffff00000001000000000000000000000000fffffffffffffffffffffffc022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254e\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 043590c6a10353d669bc94d8e2ff9e14bbeed4a7f45b887255ab7e37b676387bb615fc6f97ce39a3874c2b34cc571889abfa0a706c2cfb0e5a4750cc25690696f8]\n[key.wx = 3590c6a10353d669bc94d8e2ff9e14bbeed4a7f45b887255ab7e37b676387bb6]\n[key.wy = 15fc6f97ce39a3874c2b34cc571889abfa0a706c2cfb0e5a4750cc25690696f8]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200043590c6a10353d669bc94d8e2ff9e14bbeed4a7f45b887255ab7e37b676387bb615fc6f97ce39a3874c2b34cc571889abfa0a706c2cfb0e5a4750cc25690696f8]\n[sha = SHA-512]\n\n# tcId = 357\n# r,s are large\nmsg = 313233343030\nresult = valid\nsig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254f022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254e\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04369e96402f2cfd1a37b3acbdecfc562862dbca944a0f12d7aaacb8d325d7650aa723621922be2bdac9186290fdcdda028d94437966507d93f2fc1f5c887fdedb]\n[key.wx = 369e96402f2cfd1a37b3acbdecfc562862dbca944a0f12d7aaacb8d325d7650a]\n[key.wy = 00a723621922be2bdac9186290fdcdda028d94437966507d93f2fc1f5c887fdedb]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004369e96402f2cfd1a37b3acbdecfc562862dbca944a0f12d7aaacb8d325d7650aa723621922be2bdac9186290fdcdda028d94437966507d93f2fc1f5c887fdedb]\n[sha = SHA-512]\n\n# tcId = 358\n# r and s^-1 have a large Hamming weight\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100909135bdb6799286170f5ead2de4f6511453fe50914f3df2de54a36383df8dd4\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 0427a0a80ea2e1aa798ea9bcc3aedbf01ab78e49c9ec2ad0e08a0429a0e1db4d0d32a8ee7bee9d0a40014e484f34a92bd6f33fe63624ea9579657441ac79666e7f]\n[key.wx = 27a0a80ea2e1aa798ea9bcc3aedbf01ab78e49c9ec2ad0e08a0429a0e1db4d0d]\n[key.wy = 32a8ee7bee9d0a", + "40014e484f34a92bd6f33fe63624ea9579657441ac79666e7f]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000427a0a80ea2e1aa798ea9bcc3aedbf01ab78e49c9ec2ad0e08a0429a0e1db4d0d32a8ee7bee9d0a40014e484f34a92bd6f33fe63624ea9579657441ac79666e7f]\n[sha = SHA-512]\n\n# tcId = 359\n# r and s^-1 have a large Hamming weight\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022027b4577ca009376f71303fd5dd227dcef5deb773ad5f5a84360644669ca249a5\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 049cff61712d4bc5b3638341e6e0a576a8098c9c6d3f198d389c4669f398dc0867f3b9e09f567f3dfd9c4d2c1163e82beadf16c76e8f9d7a64673800ea76fa1e59]\n[key.wx = 009cff61712d4bc5b3638341e6e0a576a8098c9c6d3f198d389c4669f398dc0867]\n[key.wy = 00f3b9e09f567f3dfd9c4d2c1163e82beadf16c76e8f9d7a64673800ea76fa1e59]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200049cff61712d4bc5b3638341e6e0a576a8098c9c6d3f198d389c4669f398dc0867f3b9e09f567f3dfd9c4d2c1163e82beadf16c76e8f9d7a64673800ea76fa1e59]\n[sha = SHA-512]\n\n# tcId = 360\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020105020101\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04d9117cae81295e82682fa387991e668e1570e0e90100bf4e63964822460561bc19f96b1787ed15769929978ba3dd7f68c97adf5c16f671e756cd8f08c49456ca]\n[key.wx = 00d9117cae81295e82682fa387991e668e1570e0e90100bf4e63964822460561bc]\n[key.wy = 19f96b1787ed15769929978ba3dd7f68c97adf5c16f671e756cd8f08c49456ca]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004d9117cae81295e82682fa387991e668e1570e0e90100bf4e63964822460561bc19f96b1787ed15769929978ba3dd7f68c97adf5c16f671e756cd8f08c49456ca]\n[sha = SHA-512]\n\n# tcId = 361\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020105020103\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 048cfcbad3524c22b992529f943e3ce0b2d126085501d6e3edd4f1dbf74bdca21eafb259b1ba179cac09e8e43a88c8a09e7339910a7c941932e44b8be56f1fccde]\n[key.wx = 008cfcbad3524c22b992529f943e3ce0b2d126085501d6e3edd4f1dbf74bdca21e]\n[key.wy = 00afb259b1ba179cac09e8e43a88c8a09e7339910a7c941932e44b8be56f1fccde]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200048cfcbad3524c22b992529f943e3ce0b2d126085501d6e3edd4f1dbf74bdca21eafb259b1ba179cac09e8e43a88c8a09e7339910a7c941932e44b8be56f1fccde]\n[sha = SHA-512]\n\n# tcId = 362\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020105020105\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04fbb51127e1f1b6a38e9fe9a2544614edb8e43ad7cd8c56f14b3235dda3bc11179abd9753a9e647e9340c395fb2b91384d6d33fcb6456214350b6f3fa00f4364c]\n[key.wx = 00fbb51127e1f1b6a38e9fe9a2544614edb8e43ad7cd8c56f14b3235dda3bc1117]\n[key.wy = 009abd9753a9e647e9340c395fb2b91384d6d33fcb6456214350b6f3fa00f4364c]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004fbb51127e1f1b6a38e9fe9a2544614edb8e43ad7cd8c56f14b3235dda3bc11179abd9753a9e647e9340c395fb2b91384d6d33fcb6456214350b6f3fa00f4364c]\n[sha = SHA-512]\n\n# tcId = 363\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020105020106\n\n# tcId = 364\n# r is larger than n\nmsg = 313233343030\nresult = invalid\nsig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632556020106\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04dc80905500d7d74ed47de5224d8734545f22b776ae086cabfffe6ce58d5ef994dc3067ce7d2cdfa9f4d5ace296b752814acc69c19a932d8b14077927901de3bf]\n[key.wx = 00dc80905500d7d74ed47de5224d8734545f22b776ae086cabfffe6ce58d5ef994]\n[key.wy = 00dc3067ce7d2cdfa9f4d5ace296b752814acc69c19a932d8b14077927901de3bf]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004dc80905500d7d74ed47de5224d8734545f22b776ae086cabfffe6ce58d5ef994dc3067ce7d2cdfa9f4d5ace296b752814acc69c19a932d8b14077927901de3bf]\n[sha = SHA-512]\n\n# tcId = 365\n# s is larger than n\nmsg = 313233343030\nresult = invalid\nsig = 3026020105022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc75fbd8\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 041b824a11eed94fbcd9b722d06613bbcf7eca00b9136f2652642178f37b1a920ee900de495d9ef56fa6d19f3dd1e0edb23d23835ac8c2d3d13c0227e852e503eb]\n[key.wx = 1b824a11eed94fbcd9b722d06613bbcf7eca00b9136f2652642178f37b1a920e]\n[key.wy = 00e900de495d9ef56fa6d19f3dd1e0edb23d23835ac8c2d3d13c0227e852e503eb]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200041b824a11eed94fbcd9b722d06613bbcf7eca00b9136f2652642178f37b1a920ee900de495d9ef56fa6d19f3dd1e0edb23d23835ac8c2d3d13c0227e852e503eb]\n[sha = SHA-512]\n\n# tcId = 366\n# small r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3027020201000221008f1e3c7862c58b16bb76eddbb76eddbb516af4f63f2d74d76e0d28c9bb75ea88\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 042914b30c4c784696ffc3dddcec05f36cb1488bc342b9f529d5387acb9e48cb8d3dbd30d0d5d6d6a39108863c2d6a6e8571cd3261fb9eb98ce46125bd8f139136]\n[key.wx = 2914b30c4c784696ffc3dddcec05f36cb1488bc342b9f529d5387acb9e48cb8d]\n[key.wy = 3dbd30d0d5d6d6a39108863c2d6a6e8571cd3261fb9eb98ce46125bd8f139136]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200042914b30c4c784696ffc3dddcec05f36cb1488bc342b9f529d5387acb9e48cb8d3dbd30d0d5d6d6a39108863c2d6a6e8571cd3261fb9eb98ce46125bd8f139136]\n[sha = SHA-512]\n\n# tcId = 367\n# smallish r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 302c02072d9b4d347952d6022100ef3043e7329581dbb3974497710ab11505ee1c87ff907beebadd195a0ffe6d7a\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 042579f546fe2f2aeb5f822feb28f2f8371618d04815455a7e903c10024a17da415528e951147f76bee1314e65a49c6ec70686e62d38fbc23472f96e3d3b33fd1f]\n[key.wx = 2579f546fe2f2aeb5f822feb28f2f8371618d04815455a7e903c10024a17da41]\n[key.wy = 5528e951147f76bee1314e65a49c6ec70686e62d38fbc23472f96e3d3b33fd1f]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200042579f546fe2f2aeb5f822feb28f2f8371618d04815455a7e903c10024a17da415528e951147f76bee1314e65a49c6ec70686e62d38fbc23472f96e3d3b33fd1f]\n[sha = SHA-512]\n\n# tcId = 368\n# 100-bit r and small s^-1\nmsg = 313233343030\nresult = valid\nsig = 3032020d1033e67e37b32b445580bf4eff0221008b748b74000000008b748b748b748b7466e769ad4a16d3dcd87129b8e91d1b4d\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04b102196bf455ee5aafc6f895504d3c3b6b2d37c35f8669bd0f0b694795fbd992f777b6f829b9628ac35db0ef43f6a89f0a42812614e4c15924d8d47ebe45bae5]\n[key.wx = 00b102196bf455ee5aafc6f895504d3c3b6b2d37c35f8669bd0f0b694795fbd992]\n[key.wy = 00f777b6f829b9628ac35db0ef43f6a89f0a42812614e4c15924d8d47ebe45bae5]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004b102196bf455ee5aafc6f895504d3c3b6b2d37c35f8669bd0f0b694795fbd992f777b6f829b9628ac35db0ef43f6a89f0a42812614e4c15924d8d47ebe45bae5]\n[sha = SHA-512]\n\n# tcId = 369\n# small r and 100 bit s^-1\nmsg = 313233343030\nresult = valid\nsig = 302702020100022100ef9f6ba4d97c09d03178fa20b4aaad83be3cf9cb824a879fec3270fc4b81ef5b\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 044d056ab2ff57662fd6eebbe23930fef5cd08083e24146190cd01960b1fcd3749fe7ec5847651c857898be0f09efd6e0116a5dbe327f6f3080a65fc966bf64d91]\n[key.wx = 4d056ab2ff57662fd6eebbe23930fef5cd08083e24146190cd01960b1fcd3749]\n[key.wy = 00fe7ec5847651c857898be0f09efd6e0116a5dbe327f6f3080a65fc966bf64d91]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200044d056ab2ff57662fd6eebbe23930fef5cd08083e24146190cd01960b1fcd3749fe7ec5847651c857898be0f09efd6e0116a5dbe327f6f3080a65fc966bf64d91]\n[sha = SHA-512]\n\n# tcId = 370\n# 100-bit r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3032020d062522bbd3ecbe7c39e93e7c25022100ef9f6ba4d97c09d03178fa20b4aaad83be3cf9cb824a879fec3270fc4b81ef5b\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04361c4a62cd867613138dfe24ccebc4b7df1b55fc7410f4995ee2b6b9ab2220584f116c6c84e53d262fd13a5f5de6b57e7a1981de4ecdffdf3323b4e91d80649c]\n[key.wx = 361c4a62cd867613138dfe24ccebc4b7df1b55fc7410f4995ee2b6b9ab222058]\n[key.wy = 4", + "f116c6c84e53d262fd13a5f5de6b57e7a1981de4ecdffdf3323b4e91d80649c]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004361c4a62cd867613138dfe24ccebc4b7df1b55fc7410f4995ee2b6b9ab2220584f116c6c84e53d262fd13a5f5de6b57e7a1981de4ecdffdf3323b4e91d80649c]\n[sha = SHA-512]\n\n# tcId = 371\n# r and s^-1 are close to n\nmsg = 313233343030\nresult = valid\nsig = 3045022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6324d50220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04db9d5c5113f00822a146c9cda2e75cb6634cd0dff54aff6e22875171f57a0dad1c424cdd83eb01c02f6f8d36f42c6dc7e39db74358da8ac9bc9dc5890d46f667]\n[key.wx = 00db9d5c5113f00822a146c9cda2e75cb6634cd0dff54aff6e22875171f57a0dad]\n[key.wy = 1c424cdd83eb01c02f6f8d36f42c6dc7e39db74358da8ac9bc9dc5890d46f667]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004db9d5c5113f00822a146c9cda2e75cb6634cd0dff54aff6e22875171f57a0dad1c424cdd83eb01c02f6f8d36f42c6dc7e39db74358da8ac9bc9dc5890d46f667]\n[sha = SHA-512]\n\n# tcId = 372\n# s == 1\nmsg = 313233343030\nresult = valid\nsig = 30250220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70020101\n\n# tcId = 373\n# s == 0\nmsg = 313233343030\nresult = invalid\nsig = 30250220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70020100\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 0499f19f07b33e03caf4703e04b930d57d6d9baa44460c596a2d3064e0b63ea41286a74c4612a812ee348d2b43f80de627c11c75d81511e22a199c32119b792c6a]\n[key.wx = 0099f19f07b33e03caf4703e04b930d57d6d9baa44460c596a2d3064e0b63ea412]\n[key.wy = 0086a74c4612a812ee348d2b43f80de627c11c75d81511e22a199c32119b792c6a]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000499f19f07b33e03caf4703e04b930d57d6d9baa44460c596a2d3064e0b63ea41286a74c4612a812ee348d2b43f80de627c11c75d81511e22a199c32119b792c6a]\n[sha = SHA-512]\n\n# tcId = 374\n# point at infinity during verify\nmsg = 313233343030\nresult = invalid\nsig = 304402207fffffff800000007fffffffffffffffde737d56d38bcf4279dce5617e3192a80220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04313f3309b236484c6eb4ea381e007854467a617343a2e97d845801c01a632cfe33f231854bba89a8ca3f802a2764d3bf6c3233c811a31e5e8028a0b862cb1977]\n[key.wx = 313f3309b236484c6eb4ea381e007854467a617343a2e97d845801c01a632cfe]\n[key.wy = 33f231854bba89a8ca3f802a2764d3bf6c3233c811a31e5e8028a0b862cb1977]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004313f3309b236484c6eb4ea381e007854467a617343a2e97d845801c01a632cfe33f231854bba89a8ca3f802a2764d3bf6c3233c811a31e5e8028a0b862cb1977]\n[sha = SHA-512]\n\n# tcId = 375\n# edge case for signature malleability\nmsg = 313233343030\nresult = valid\nsig = 304402207fffffff800000007fffffffffffffffde737d56d38bcf4279dce5617e3192a902207fffffff800000007fffffffffffffffde737d56d38bcf4279dce5617e3192a8\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04d3aa01fe59bad92cffe3db59e1385391fafd7af4e4ce462e8aac157274cc8a05c7a7e603e18538aac15f89610beacc21e39898e6c5f7680a81c5bd7bd744a989]\n[key.wx = 00d3aa01fe59bad92cffe3db59e1385391fafd7af4e4ce462e8aac157274cc8a05]\n[key.wy = 00c7a7e603e18538aac15f89610beacc21e39898e6c5f7680a81c5bd7bd744a989]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004d3aa01fe59bad92cffe3db59e1385391fafd7af4e4ce462e8aac157274cc8a05c7a7e603e18538aac15f89610beacc21e39898e6c5f7680a81c5bd7bd744a989]\n[sha = SHA-512]\n\n# tcId = 376\n# edge case for signature malleability\nmsg = 313233343030\nresult = valid\nsig = 304402207fffffff800000007fffffffffffffffde737d56d38bcf4279dce5617e3192a902207fffffff800000007fffffffffffffffde737d56d38bcf4279dce5617e3192a9\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 045e31eccd4704ebf7a4247ea57f9351abadff63679f2276e2a3b05009ebc1b8df648465a925010db823b2a5f3a6072343a6cc9961a9c482399d0d82051c2e3232]\n[key.wx = 5e31eccd4704ebf7a4247ea57f9351abadff63679f2276e2a3b05009ebc1b8df]\n[key.wy = 648465a925010db823b2a5f3a6072343a6cc9961a9c482399d0d82051c2e3232]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200045e31eccd4704ebf7a4247ea57f9351abadff63679f2276e2a3b05009ebc1b8df648465a925010db823b2a5f3a6072343a6cc9961a9c482399d0d82051c2e3232]\n[sha = SHA-512]\n\n# tcId = 377\n# u1 == 1\nmsg = 313233343030\nresult = valid\nsig = 30440220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70022043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04ce0a47f881fd7315a733c4317848fa33c72e38de0b8fda36b61aa9a164f5808a85b05d25115ea4097ddf63f878c8e83657e66de136a8f9e62ed81a58bf117ff9]\n[key.wx = 00ce0a47f881fd7315a733c4317848fa33c72e38de0b8fda36b61aa9a164f5808a]\n[key.wy = 0085b05d25115ea4097ddf63f878c8e83657e66de136a8f9e62ed81a58bf117ff9]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004ce0a47f881fd7315a733c4317848fa33c72e38de0b8fda36b61aa9a164f5808a85b05d25115ea4097ddf63f878c8e83657e66de136a8f9e62ed81a58bf117ff9]\n[sha = SHA-512]\n\n# tcId = 378\n# u1 == n - 1\nmsg = 313233343030\nresult = valid\nsig = 30450220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70022100bc07ff031506dc74a75086a43252fb43731975a16dca6b025e867412d94222d0\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04cd6f487b47f36c0dea8f4b04c4e6ac637c76b725929c611f48addcf3d2f65941b50ea8f3a491190ee0b20cfb6efd113608e7c7c127577500e7f5c4a4e490fd60]\n[key.wx = 00cd6f487b47f36c0dea8f4b04c4e6ac637c76b725929c611f48addcf3d2f65941]\n[key.wy = 00b50ea8f3a491190ee0b20cfb6efd113608e7c7c127577500e7f5c4a4e490fd60]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004cd6f487b47f36c0dea8f4b04c4e6ac637c76b725929c611f48addcf3d2f65941b50ea8f3a491190ee0b20cfb6efd113608e7c7c127577500e7f5c4a4e490fd60]\n[sha = SHA-512]\n\n# tcId = 379\n# u2 == 1\nmsg = 313233343030\nresult = valid\nsig = 30440220555555550000000055555555555555553ef7a8e48d07df81a693439654210c700220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04456e5f8067d68a1b0a2e8fe2b28acad5755687154a0f167734ebabbdc059070d720dbe96659a66ef0cf27a73e7b3f3f145a60e0ad29f1e21dcc2bb42f0d82c1e]\n[key.wx = 456e5f8067d68a1b0a2e8fe2b28acad5755687154a0f167734ebabbdc059070d]\n[key.wy = 720dbe96659a66ef0cf27a73e7b3f3f145a60e0ad29f1e21dcc2bb42f0d82c1e]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004456e5f8067d68a1b0a2e8fe2b28acad5755687154a0f167734ebabbdc059070d720dbe96659a66ef0cf27a73e7b3f3f145a60e0ad29f1e21dcc2bb42f0d82c1e]\n[sha = SHA-512]\n\n# tcId = 380\n# u2 == n - 1\nmsg = 313233343030\nresult = valid\nsig = 30450220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70022100aaaaaaaa00000000aaaaaaaaaaaaaaaa7def51c91a0fbf034d26872ca84218e1\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 0442bf0c0ac1e3850baf5515748a878e34249f71035e20a9f54ed468ec273cb0fc5b3138500230055c71f12d53f5c7d0e3d8aa54a94c668cb311e20d195fc71abb]\n[key.wx = 42bf0c0ac1e3850baf5515748a878e34249f71035e20a9f54ed468ec273cb0fc]\n[key.wy = 5b3138500230055c71f12d53f5c7d0e3d8aa54a94c668cb311e20d195fc71abb]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000442bf0c0ac1e3850baf5515748a878e34249f71035e20a9f54ed468ec273cb0fc5b3138500230055c71f12d53f5c7d0e3d8aa54a94c668cb311e20d195fc71abb]\n[sha = SHA-512]\n\n# tcId = 381\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02206bfd55a8f8fdb68472e52873ef39ac3eace6d53df576f0ad2da4607bb52c0d46\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04ffdd48da63d3af67223f16c51eb7e95600eb0b0e8b964f4fcd8c534face3c2c2b4e009ab2a76829480e69c9e43b2f1fe076cfafb3fa8d27dd4d6bab4d6c3db54]\n[key.wx = 00ffdd48da63d3af67223f16c51eb7e95600eb0b0e8b964f4fcd8c534face3c2c2]\n[key.wy = 00b4e009ab2a76829480e69c9e43b2f1fe076cfafb3fa8d27dd4d6bab4d6c3db54]\n[keyDer =", + " 3059301306072a8648ce3d020106082a8648ce3d03010703420004ffdd48da63d3af67223f16c51eb7e95600eb0b0e8b964f4fcd8c534face3c2c2b4e009ab2a76829480e69c9e43b2f1fe076cfafb3fa8d27dd4d6bab4d6c3db54]\n[sha = SHA-512]\n\n# tcId = 382\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0220654937791db0686f712ff9b453eeadb0026c9b058bba49199ca3e8fac03c094f\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04793cbfce6f335dcfede7c6898ea1c537d7661ed6a8c9d308d64a2560d21c6e2c483d23a5ff05da00eaf9d52cf5362be9b53b95316c6a32e9ebe68d9ac35c2fd6]\n[key.wx = 793cbfce6f335dcfede7c6898ea1c537d7661ed6a8c9d308d64a2560d21c6e2c]\n[key.wy = 483d23a5ff05da00eaf9d52cf5362be9b53b95316c6a32e9ebe68d9ac35c2fd6]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004793cbfce6f335dcfede7c6898ea1c537d7661ed6a8c9d308d64a2560d21c6e2c483d23a5ff05da00eaf9d52cf5362be9b53b95316c6a32e9ebe68d9ac35c2fd6]\n[sha = SHA-512]\n\n# tcId = 383\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100c51bbee23a95437abe5c978f8fe596a31c858ac8d55be9786aa5d36a5ac74e97\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04a9f7023f559d4bb6c9f4bc3643e2824aff5451d929479ec3ea5eb30bad2c36ac6a7c77e8dd21f4ad49b103e67da9d3cda62b653dd194fad2ba8d1dd37bb0ea9b]\n[key.wx = 00a9f7023f559d4bb6c9f4bc3643e2824aff5451d929479ec3ea5eb30bad2c36ac]\n[key.wy = 6a7c77e8dd21f4ad49b103e67da9d3cda62b653dd194fad2ba8d1dd37bb0ea9b]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004a9f7023f559d4bb6c9f4bc3643e2824aff5451d929479ec3ea5eb30bad2c36ac6a7c77e8dd21f4ad49b103e67da9d3cda62b653dd194fad2ba8d1dd37bb0ea9b]\n[sha = SHA-512]\n\n# tcId = 384\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0221008ba4c3da7154ba564ab344ae12005aa482b6c1639ea191f8568afb6e47163c45\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04df79ee082b2fc77e9ce4633471f569bbcb5ce53856e3067774f37e8a64a2c7ffaa488a6c34d499df76f427de3609bfcfd9feae67ffe0b0de594463c453b0ab16]\n[key.wx = 00df79ee082b2fc77e9ce4633471f569bbcb5ce53856e3067774f37e8a64a2c7ff]\n[key.wy = 00aa488a6c34d499df76f427de3609bfcfd9feae67ffe0b0de594463c453b0ab16]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004df79ee082b2fc77e9ce4633471f569bbcb5ce53856e3067774f37e8a64a2c7ffaa488a6c34d499df76f427de3609bfcfd9feae67ffe0b0de594463c453b0ab16]\n[sha = SHA-512]\n\n# tcId = 385\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02204c3dafcf4ba55bf1344ae12005aa4a74f46eaa85f5023131cc637ae2ea90ab26\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 044cc3bf65e32e00284adfca00f40df755415c485091ac0489ae9a337103a5f8f0123ab86dd433b933b4f2063c002144df3cfeba78dad0ed89c0377541532908c2]\n[key.wx = 4cc3bf65e32e00284adfca00f40df755415c485091ac0489ae9a337103a5f8f0]\n[key.wy = 123ab86dd433b933b4f2063c002144df3cfeba78dad0ed89c0377541532908c2]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200044cc3bf65e32e00284adfca00f40df755415c485091ac0489ae9a337103a5f8f0123ab86dd433b933b4f2063c002144df3cfeba78dad0ed89c0377541532908c2]\n[sha = SHA-512]\n\n# tcId = 386\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100987b5f9e974ab7e26895c2400b5494e9e8dd550bea04626398c6f5c5d521564c\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04264a7ad439a4828a9dc97ecf837155355f99ae0b65975f851b541ad3a0e032f067268b7298c73e581866fbcbd161689b16b81cf262e007ce68e25a28c83ef041]\n[key.wx = 264a7ad439a4828a9dc97ecf837155355f99ae0b65975f851b541ad3a0e032f0]\n[key.wy = 67268b7298c73e581866fbcbd161689b16b81cf262e007ce68e25a28c83ef041]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004264a7ad439a4828a9dc97ecf837155355f99ae0b65975f851b541ad3a0e032f067268b7298c73e581866fbcbd161689b16b81cf262e007ce68e25a28c83ef041]\n[sha = SHA-512]\n\n# tcId = 387\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100fcf97e2fbf0e80d412005aa4a75086a3f004f59d512cb47271798733ab418606\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 041d7ff4d3a41206c8143635f12876e0ea0875ea5e4a5a249250d0eda33daa211f56e89c0beaf910ac934ca12380455600d0fd85b56a7035cb171b3f1c72a15569]\n[key.wx = 1d7ff4d3a41206c8143635f12876e0ea0875ea5e4a5a249250d0eda33daa211f]\n[key.wy = 56e89c0beaf910ac934ca12380455600d0fd85b56a7035cb171b3f1c72a15569]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200041d7ff4d3a41206c8143635f12876e0ea0875ea5e4a5a249250d0eda33daa211f56e89c0beaf910ac934ca12380455600d0fd85b56a7035cb171b3f1c72a15569]\n[sha = SHA-512]\n\n# tcId = 388\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022079d482b60864d6c5cb4fd5db9e7e28ccd9a5948c316c8740fb429c0f37169a02\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04b09685f338dceb421778a1458d52bed734c236242da2baa280d6f6b7b86e4f117fe6a34146b422d7aebd1a51b20948d7872a514c4cfd7686dc436b70733d6473]\n[key.wx = 00b09685f338dceb421778a1458d52bed734c236242da2baa280d6f6b7b86e4f11]\n[key.wy = 7fe6a34146b422d7aebd1a51b20948d7872a514c4cfd7686dc436b70733d6473]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004b09685f338dceb421778a1458d52bed734c236242da2baa280d6f6b7b86e4f117fe6a34146b422d7aebd1a51b20948d7872a514c4cfd7686dc436b70733d6473]\n[sha = SHA-512]\n\n# tcId = 389\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0221008ecd11081a4d0759c14f7bf46813d52cc6738115321be0a4da78a3356bb71510\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04dd811f2c0f5e9d4fbb2ef31818c1cd807247bc14fcd1170bef00e2c71dc037b443a15cdf8f3fbdc87e06250c0720d261d2b8d087fa7bf9548f6293f0ce5ae899]\n[key.wx = 00dd811f2c0f5e9d4fbb2ef31818c1cd807247bc14fcd1170bef00e2c71dc037b4]\n[key.wy = 43a15cdf8f3fbdc87e06250c0720d261d2b8d087fa7bf9548f6293f0ce5ae899]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004dd811f2c0f5e9d4fbb2ef31818c1cd807247bc14fcd1170bef00e2c71dc037b443a15cdf8f3fbdc87e06250c0720d261d2b8d087fa7bf9548f6293f0ce5ae899]\n[sha = SHA-512]\n\n# tcId = 390\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100e8dbffed13c9a2093085c079714f11f24eb583d73ba2b416b3169183e7d9b4c2\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 0469d60ae1f39e1da95809d408894707ad2134f4943a1db089bebf815a391f18db32b401d98bf894d3b6d59e6eb45573285642e358ad687b7d7bf9600b1987809e]\n[key.wx = 69d60ae1f39e1da95809d408894707ad2134f4943a1db089bebf815a391f18db]\n[key.wy = 32b401d98bf894d3b6d59e6eb45573285642e358ad687b7d7bf9600b1987809e]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000469d60ae1f39e1da95809d408894707ad2134f4943a1db089bebf815a391f18db32b401d98bf894d3b6d59e6eb45573285642e358ad687b7d7bf9600b1987809e]\n[sha = SHA-512]\n\n# tcId = 391\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100ca01552a838124bec68d6bc6086329e06673900eac5c262e5ce79a8521cd1eae\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04a658553a0620c95e987b5c3163bcfea68c52065f53c9d553f2a924d8b3ed511f79f0dfec4536b65aa5fb31297e96f6b464aa669b9268b3156c43d4612978a577]\n[key.wx = 00a658553a0620c95e987b5c3163bcfea68c52065f53c9d553f2a924d8b3ed511f]\n[key.wy = 79f0dfec4536b65aa5fb31297e96f6b464aa669b9268b3156c43d4612978a577]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004a658553a0620c95e987b5c3163bcfea68c52065f53c9d553f2a924d8b3ed511f79f0dfec4536b65aa5fb31297e96f6b464aa669b9268b3156c43d4612978a577]\n[", + "sha = SHA-512]\n\n# tcId = 392\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0221009402aa560702497c8d1ad78c10c653c11000256fb1a0add7c6156a474737180b\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04bc4d3354a6a973dd8088919cc181194e879ed7920db30d0d1278edf74413b7b92450d162b26dcb25fbbd53ea4044189981d737055925bd2e86bfb0374b09f3ca]\n[key.wx = 00bc4d3354a6a973dd8088919cc181194e879ed7920db30d0d1278edf74413b7b9]\n[key.wy = 2450d162b26dcb25fbbd53ea4044189981d737055925bd2e86bfb0374b09f3ca]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004bc4d3354a6a973dd8088919cc181194e879ed7920db30d0d1278edf74413b7b92450d162b26dcb25fbbd53ea4044189981d737055925bd2e86bfb0374b09f3ca]\n[sha = SHA-512]\n\n# tcId = 393\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02205e03ff818a836e3a53a8435219297da1b98cbad0b6e535812f433a096ca11168\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 040eb628724fce764c687d874ade7b8e0aa4abf20ee6e3610fac9fe3e72f97ab5aed09f4843660eb1daf015d397a7c1073d7ae43bda0ba3e117008785abfffa00f]\n[key.wx = 0eb628724fce764c687d874ade7b8e0aa4abf20ee6e3610fac9fe3e72f97ab5a]\n[key.wy = 00ed09f4843660eb1daf015d397a7c1073d7ae43bda0ba3e117008785abfffa00f]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200040eb628724fce764c687d874ade7b8e0aa4abf20ee6e3610fac9fe3e72f97ab5aed09f4843660eb1daf015d397a7c1073d7ae43bda0ba3e117008785abfffa00f]\n[sha = SHA-512]\n\n# tcId = 394\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100e28ddf709d4aa1bddf2e4bc7c7f2cb516cb642bb3e39c3feaf2fcf16ab9539f4\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04e7ac5cc7f296912f703f59fe88e49b521da245e12e6eee161ee6b3b1127611a77b3bedd2a773cf58b0629b936dd85dad2d0c39676306ed63e1a9bcd0e08bccc2]\n[key.wx = 00e7ac5cc7f296912f703f59fe88e49b521da245e12e6eee161ee6b3b1127611a7]\n[key.wy = 7b3bedd2a773cf58b0629b936dd85dad2d0c39676306ed63e1a9bcd0e08bccc2]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004e7ac5cc7f296912f703f59fe88e49b521da245e12e6eee161ee6b3b1127611a77b3bedd2a773cf58b0629b936dd85dad2d0c39676306ed63e1a9bcd0e08bccc2]\n[sha = SHA-512]\n\n# tcId = 395\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02207fffffffaaaaaaaaffffffffffffffffe9a2538f37b28a2c513dee40fecbb71a\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 042407b60abf3ee5edaf92ed505a11d0ddce0ea33eca58a031bb2f162c512f4062fb81bff36bf967e834e3d5d468730dcd70440022ab60061a62fac53350fe259f]\n[key.wx = 2407b60abf3ee5edaf92ed505a11d0ddce0ea33eca58a031bb2f162c512f4062]\n[key.wy = 00fb81bff36bf967e834e3d5d468730dcd70440022ab60061a62fac53350fe259f]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200042407b60abf3ee5edaf92ed505a11d0ddce0ea33eca58a031bb2f162c512f4062fb81bff36bf967e834e3d5d468730dcd70440022ab60061a62fac53350fe259f]\n[sha = SHA-512]\n\n# tcId = 396\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100b62f26b5f2a2b26f6de86d42ad8a13da3ab3cccd0459b201de009e526adf21f2\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 0447b2ad96dfc2f23fe5926809f38042b2c801962bd7394cefbf4aacb2554b7b0bdf2b937a16a7d96a2a0682cd164428890208597f2cdcc734fda73600b5cf6c59]\n[key.wx = 47b2ad96dfc2f23fe5926809f38042b2c801962bd7394cefbf4aacb2554b7b0b]\n[key.wy = 00df2b937a16a7d96a2a0682cd164428890208597f2cdcc734fda73600b5cf6c59]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000447b2ad96dfc2f23fe5926809f38042b2c801962bd7394cefbf4aacb2554b7b0bdf2b937a16a7d96a2a0682cd164428890208597f2cdcc734fda73600b5cf6c59]\n[sha = SHA-512]\n\n# tcId = 397\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100bb1d9ac949dd748cd02bbbe749bd351cd57b38bb61403d700686aa7b4c90851e\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 0469a65b75f31ae7b4930292f90902461befcee5d1606939c28e01b652a7fbc498cf68619e5860128f56cecf53eba2ffe82889a9bb04a5fa4c8b722bc91d55978a]\n[key.wx = 69a65b75f31ae7b4930292f90902461befcee5d1606939c28e01b652a7fbc498]\n[key.wy = 00cf68619e5860128f56cecf53eba2ffe82889a9bb04a5fa4c8b722bc91d55978a]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000469a65b75f31ae7b4930292f90902461befcee5d1606939c28e01b652a7fbc498cf68619e5860128f56cecf53eba2ffe82889a9bb04a5fa4c8b722bc91d55978a]\n[sha = SHA-512]\n\n# tcId = 398\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022066755a00638cdaec1c732513ca0234ece52545dac11f816e818f725b4f60aaf2\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04b2037176c84db04a6c773e32f9ed1d6b25ef4c303c6725c6932ec2cc2788bcbb9361505e6b771691adb41598f292d6521722404bf183241b195738b77abd6cfe]\n[key.wx = 00b2037176c84db04a6c773e32f9ed1d6b25ef4c303c6725c6932ec2cc2788bcbb]\n[key.wy = 009361505e6b771691adb41598f292d6521722404bf183241b195738b77abd6cfe]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004b2037176c84db04a6c773e32f9ed1d6b25ef4c303c6725c6932ec2cc2788bcbb9361505e6b771691adb41598f292d6521722404bf183241b195738b77abd6cfe]\n[sha = SHA-512]\n\n# tcId = 399\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022055a00c9fcdaebb6032513ca0234ecfffe98ebe492fdf02e48ca48e982beb3669\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 041eef95aef71f793afd50bb2604064d63e88bef7404a4d0e206446245ae2e7834c96e86dd040f9794b63712d90e719576b8b92c406ab0f288ad9b327bd124454f]\n[key.wx = 1eef95aef71f793afd50bb2604064d63e88bef7404a4d0e206446245ae2e7834]\n[key.wy = 00c96e86dd040f9794b63712d90e719576b8b92c406ab0f288ad9b327bd124454f]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200041eef95aef71f793afd50bb2604064d63e88bef7404a4d0e206446245ae2e7834c96e86dd040f9794b63712d90e719576b8b92c406ab0f288ad9b327bd124454f]\n[sha = SHA-512]\n\n# tcId = 400\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100ab40193f9b5d76c064a27940469d9fffd31d7c925fbe05c919491d3057d66cd2\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04a9734899c954e5b7adbca8f783428b5fbcbdfd3d2813f8d2f95b31a78ab107567667abf8c02ce4951bc59b2564130c27d7b64cdbc5cad95ca42d5bbb7cd4e793]\n[key.wx = 00a9734899c954e5b7adbca8f783428b5fbcbdfd3d2813f8d2f95b31a78ab10756]\n[key.wy = 7667abf8c02ce4951bc59b2564130c27d7b64cdbc5cad95ca42d5bbb7cd4e793]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004a9734899c954e5b7adbca8f783428b5fbcbdfd3d2813f8d2f95b31a78ab107567667abf8c02ce4951bc59b2564130c27d7b64cdbc5cad95ca42d5bbb7cd4e793]\n[sha = SHA-512]\n\n# tcId = 401\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100ca0234ebb5fdcb13ca0234ecffffffffcb0dadbbc7f549f8a26b4408d0dc8600\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 041ae51662331a1dbfab0751d30dfab2273a04a239e055a537b16ab595f9612396434f21c2bfe6555c9fc4a8e82dab1fa5631881b016e0831d9e1bbf5799fcf32e]\n[key.wx = 1ae51662331a1dbfab0751d30dfab2273a04a239e055a537b16ab595f9612396]\n[key.wy = 434f21c2bfe6555c9fc4a8e82dab1fa5631881b016e0831d9e1bbf5799fcf32e]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200041ae51662331a1dbfab0751d30dfab2273a04a239e055a537b16ab595f9612396434f21c2bfe6555c9fc4a8e82dab1fa5631881b016e0831d9e1bbf5799fcf32e]\n[sha = SHA-512]\n\n# tcId = 402\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100bfffffff3ea367", + "7e082b9310572620ae19933a9e65b285598711c77298815ad3\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 0453c90cdd8b0dadd21c44ad557b327f4dbf57144aaf06597deb3f94125206a6c14603475bd79b30e36340cd09b0b59e6cd46ce90150e9ffe5c8a0172b2c9898e3]\n[key.wx = 53c90cdd8b0dadd21c44ad557b327f4dbf57144aaf06597deb3f94125206a6c1]\n[key.wy = 4603475bd79b30e36340cd09b0b59e6cd46ce90150e9ffe5c8a0172b2c9898e3]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000453c90cdd8b0dadd21c44ad557b327f4dbf57144aaf06597deb3f94125206a6c14603475bd79b30e36340cd09b0b59e6cd46ce90150e9ffe5c8a0172b2c9898e3]\n[sha = SHA-512]\n\n# tcId = 403\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0220266666663bbbbbbbe6666666666666665b37902e023fab7c8f055d86e5cc41f4\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 0433797539515c51f429967b8e36930d9fdda1edb13aecec9771f7cde5f6f2e74eba51d0b6456bb902dba1f3ea436f96ad2355da454dc9b32c503c4bc6cfd6d410]\n[key.wx = 33797539515c51f429967b8e36930d9fdda1edb13aecec9771f7cde5f6f2e74e]\n[key.wy = 00ba51d0b6456bb902dba1f3ea436f96ad2355da454dc9b32c503c4bc6cfd6d410]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000433797539515c51f429967b8e36930d9fdda1edb13aecec9771f7cde5f6f2e74eba51d0b6456bb902dba1f3ea436f96ad2355da454dc9b32c503c4bc6cfd6d410]\n[sha = SHA-512]\n\n# tcId = 404\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100bfffffff36db6db7a492492492492492146c573f4c6dfc8d08a443e258970b09\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 040a8f5f1d5bbd2783fa7f37c86879057fb2fcf25383aafb86d03d6bafb41a17b3eaf6da715fe950349fd5736117b08e15e32cf1d2fdc003e510009f1b4ba1e648]\n[key.wx = 0a8f5f1d5bbd2783fa7f37c86879057fb2fcf25383aafb86d03d6bafb41a17b3]\n[key.wy = 00eaf6da715fe950349fd5736117b08e15e32cf1d2fdc003e510009f1b4ba1e648]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200040a8f5f1d5bbd2783fa7f37c86879057fb2fcf25383aafb86d03d6bafb41a17b3eaf6da715fe950349fd5736117b08e15e32cf1d2fdc003e510009f1b4ba1e648]\n[sha = SHA-512]\n\n# tcId = 405\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100bfffffff2aaaaaab7fffffffffffffffc815d0e60b3e596ecb1ad3a27cfd49c4\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 041dbc94e96c056b9d2cb6773bb24b69ed473851badf927a29955aff290ef3675a65e587561122aa8226facb95df08308cadf01c8351a1569176d917821113aa7c]\n[key.wx = 1dbc94e96c056b9d2cb6773bb24b69ed473851badf927a29955aff290ef3675a]\n[key.wy = 65e587561122aa8226facb95df08308cadf01c8351a1569176d917821113aa7c]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200041dbc94e96c056b9d2cb6773bb24b69ed473851badf927a29955aff290ef3675a65e587561122aa8226facb95df08308cadf01c8351a1569176d917821113aa7c]\n[sha = SHA-512]\n\n# tcId = 406\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02207fffffff55555555ffffffffffffffffd344a71e6f651458a27bdc81fd976e37\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04084ab885dbff7f12e6cdadb59d456e500797779425c7518c259c83718289e6e991c345d3a093e86670605bbc2ff4c69d0ed694fd433ec6b6ba1bf7d56c3e6b51]\n[key.wx = 084ab885dbff7f12e6cdadb59d456e500797779425c7518c259c83718289e6e9]\n[key.wy = 0091c345d3a093e86670605bbc2ff4c69d0ed694fd433ec6b6ba1bf7d56c3e6b51]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004084ab885dbff7f12e6cdadb59d456e500797779425c7518c259c83718289e6e991c345d3a093e86670605bbc2ff4c69d0ed694fd433ec6b6ba1bf7d56c3e6b51]\n[sha = SHA-512]\n\n# tcId = 407\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02203fffffff800000007fffffffffffffffde737d56d38bcf4279dce5617e3192aa\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04003adfa4c620a207096cd18ee8fd2a90e20106cf824a0c63d6dec727a9fe7f509430d26bdd5f71e819d12b70069901461ae083cc809122d4fb86b5c475244e5a]\n[key.wx = 3adfa4c620a207096cd18ee8fd2a90e20106cf824a0c63d6dec727a9fe7f50]\n[key.wy = 009430d26bdd5f71e819d12b70069901461ae083cc809122d4fb86b5c475244e5a]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004003adfa4c620a207096cd18ee8fd2a90e20106cf824a0c63d6dec727a9fe7f509430d26bdd5f71e819d12b70069901461ae083cc809122d4fb86b5c475244e5a]\n[sha = SHA-512]\n\n# tcId = 408\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02205d8ecd64a4eeba466815ddf3a4de9a8e6abd9c5db0a01eb80343553da648428f\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 047c98b2d47eb433c0d18e533cfbc8909d66f7b79d5925ccb17eccec9d105c58848d5ca99b350bd7d10ab5ee6fcfe46623fdc03e9f828158f4d4cc08ad1ff83de4]\n[key.wx = 7c98b2d47eb433c0d18e533cfbc8909d66f7b79d5925ccb17eccec9d105c5884]\n[key.wy = 008d5ca99b350bd7d10ab5ee6fcfe46623fdc03e9f828158f4d4cc08ad1ff83de4]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200047c98b2d47eb433c0d18e533cfbc8909d66f7b79d5925ccb17eccec9d105c58848d5ca99b350bd7d10ab5ee6fcfe46623fdc03e9f828158f4d4cc08ad1ff83de4]\n[sha = SHA-512]\n\n# tcId = 409\n# point duplication during verification\nmsg = 313233343030\nresult = valid\nsig = 304502206f2347cab7dd76858fe0555ac3bc99048c4aacafdfb6bcbe05ea6c42c4934569022100b4cfa1996ec1d24cdbc8fa17fcabc3a5d4b2b36cf4b50a7b775ab78785710746\nflags = PointDuplication\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 047c98b2d47eb433c0d18e533cfbc8909d66f7b79d5925ccb17eccec9d105c588472a35663caf4282ff54a1190301b99dc023fc1617d7ea70b2b33f752e007c21b]\n[key.wx = 7c98b2d47eb433c0d18e533cfbc8909d66f7b79d5925ccb17eccec9d105c5884]\n[key.wy = 72a35663caf4282ff54a1190301b99dc023fc1617d7ea70b2b33f752e007c21b]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200047c98b2d47eb433c0d18e533cfbc8909d66f7b79d5925ccb17eccec9d105c588472a35663caf4282ff54a1190301b99dc023fc1617d7ea70b2b33f752e007c21b]\n[sha = SHA-512]\n\n# tcId = 410\n# duplication bug\nmsg = 313233343030\nresult = invalid\nsig = 304502206f2347cab7dd76858fe0555ac3bc99048c4aacafdfb6bcbe05ea6c42c4934569022100b4cfa1996ec1d24cdbc8fa17fcabc3a5d4b2b36cf4b50a7b775ab78785710746\nflags = PointDuplication\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04b7a90e21e7547d73267940033cea05042c50f7c9fa5eaeb471cd6260c685f2e38bb7309d0c3bab249faaf3e44179d6dd5302375c580fd0570a788c6be3680c67]\n[key.wx = 00b7a90e21e7547d73267940033cea05042c50f7c9fa5eaeb471cd6260c685f2e3]\n[key.wy = 008bb7309d0c3bab249faaf3e44179d6dd5302375c580fd0570a788c6be3680c67]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004b7a90e21e7547d73267940033cea05042c50f7c9fa5eaeb471cd6260c685f2e38bb7309d0c3bab249faaf3e44179d6dd5302375c580fd0570a788c6be3680c67]\n[sha = SHA-512]\n\n# tcId = 411\n# point with x-coordinate 0\nmsg = 313233343030\nresult = invalid\nsig = 30250201010220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 041550a173373b2d594374f0642cd73de06a045c09c7a4f388c731e8cd8971adfc9a3a9843583a86c0e1c62cbde67165f40a926b1028ba38aa3895e188ebbc7066]\n[key.wx = 1550a173373b2d594374f0642cd73de06a045c09c7a4f388c731e8cd8971adfc]\n[key.wy = 009a3a9843583a86c0e1c62cbde67165f40a926b1028ba38aa3895e188ebbc7066]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200041550a173373b2d594374f0642cd73de06a045c09c7a4f388c731e8cd8971adfc9a3a9843583a86c0e1c62cbde67165f40a926b1028ba38aa3895e188ebbc7066]\n[sha = SHA-512]\n\n# tcId = 412\n# point with x-coordinate 0\nmsg = 313233343030\nresult = invalid\nsig = 3045022101000000000000000000000000000000000000000000000000000000000000000002203333333300000000333333333333333325c7cbbc549e52e763f1f55a327a3aa9\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04313447778195d", + "aa1791a6530cd0697ae34bf9d8d225984394f72eef3505971110996a8fbdd1a70ecd64cb00b595afe1669bfef80d91756a62d84c1d83e0f22ab]\n[key.wx = 313447778195daa1791a6530cd0697ae34bf9d8d225984394f72eef350597111]\n[key.wy = 0996a8fbdd1a70ecd64cb00b595afe1669bfef80d91756a62d84c1d83e0f22ab]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004313447778195daa1791a6530cd0697ae34bf9d8d225984394f72eef3505971110996a8fbdd1a70ecd64cb00b595afe1669bfef80d91756a62d84c1d83e0f22ab]\n[sha = SHA-512]\n\n# tcId = 413\n# comparison with point at infinity \nmsg = 313233343030\nresult = invalid\nsig = 30440220555555550000000055555555555555553ef7a8e48d07df81a693439654210c7002203333333300000000333333333333333325c7cbbc549e52e763f1f55a327a3aa9\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 044ada634941476ca63c2c5803eec2f33b2d17920f798a5be6275f5a54cd2e7639b1a04bead5c7314c427492db21b9544d81caa8159587e41aa023aa967f31aaa1]\n[key.wx = 4ada634941476ca63c2c5803eec2f33b2d17920f798a5be6275f5a54cd2e7639]\n[key.wy = 00b1a04bead5c7314c427492db21b9544d81caa8159587e41aa023aa967f31aaa1]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200044ada634941476ca63c2c5803eec2f33b2d17920f798a5be6275f5a54cd2e7639b1a04bead5c7314c427492db21b9544d81caa8159587e41aa023aa967f31aaa1]\n[sha = SHA-512]\n\n# tcId = 414\n# extreme value for k and edgecase s\nmsg = 313233343030\nresult = valid\nsig = 304402207cf27b188d034f7e8a52380304b51ac3c08969e277f21b35a60b48fc476699780220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04aacce093270fa59ad412b5459a08e490743b97086c781ac3c8d54030b41a31193bece4956172d56befb7011d684e772905e48d2115444a75ac7a325a3f25f4b1]\n[key.wx = 00aacce093270fa59ad412b5459a08e490743b97086c781ac3c8d54030b41a3119]\n[key.wy = 3bece4956172d56befb7011d684e772905e48d2115444a75ac7a325a3f25f4b1]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004aacce093270fa59ad412b5459a08e490743b97086c781ac3c8d54030b41a31193bece4956172d56befb7011d684e772905e48d2115444a75ac7a325a3f25f4b1]\n[sha = SHA-512]\n\n# tcId = 415\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 304502207cf27b188d034f7e8a52380304b51ac3c08969e277f21b35a60b48fc47669978022100b6db6db6249249254924924924924924625bd7a09bec4ca81bcdd9f8fd6b63cc\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04f62b8d7feeff5a847ab79212269e55e62fa87ebe930821747b57a511a5ea99f0439ee057bb27898582a683c3fdb7f95404d41d42f276803751a316eb3aab7ebf]\n[key.wx = 00f62b8d7feeff5a847ab79212269e55e62fa87ebe930821747b57a511a5ea99f0]\n[key.wy = 439ee057bb27898582a683c3fdb7f95404d41d42f276803751a316eb3aab7ebf]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004f62b8d7feeff5a847ab79212269e55e62fa87ebe930821747b57a511a5ea99f0439ee057bb27898582a683c3fdb7f95404d41d42f276803751a316eb3aab7ebf]\n[sha = SHA-512]\n\n# tcId = 416\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 304502207cf27b188d034f7e8a52380304b51ac3c08969e277f21b35a60b48fc47669978022100cccccccc00000000cccccccccccccccc971f2ef152794b9d8fc7d568c9e8eaa7\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 044baa07ff6e7bb9aa223d1c61932005fe98fe78b787fdab4bd3619bc8833072a2bcacd63802c56af82607953e72a0f5d3c23bd265544e020951824ea485555d33]\n[key.wx = 4baa07ff6e7bb9aa223d1c61932005fe98fe78b787fdab4bd3619bc8833072a2]\n[key.wy = 00bcacd63802c56af82607953e72a0f5d3c23bd265544e020951824ea485555d33]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200044baa07ff6e7bb9aa223d1c61932005fe98fe78b787fdab4bd3619bc8833072a2bcacd63802c56af82607953e72a0f5d3c23bd265544e020951824ea485555d33]\n[sha = SHA-512]\n\n# tcId = 417\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 304402207cf27b188d034f7e8a52380304b51ac3c08969e277f21b35a60b48fc4766997802203333333300000000333333333333333325c7cbbc549e52e763f1f55a327a3aaa\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 040c753ed1ba92f766800fdd0ae1c0d7f8f4cd8305fd803d8bca881397b5937e2db568509b1faf3cf251de6db9810e8b8caed235da10eeddbed62775c8e5c9460a]\n[key.wx = 0c753ed1ba92f766800fdd0ae1c0d7f8f4cd8305fd803d8bca881397b5937e2d]\n[key.wy = 00b568509b1faf3cf251de6db9810e8b8caed235da10eeddbed62775c8e5c9460a]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200040c753ed1ba92f766800fdd0ae1c0d7f8f4cd8305fd803d8bca881397b5937e2db568509b1faf3cf251de6db9810e8b8caed235da10eeddbed62775c8e5c9460a]\n[sha = SHA-512]\n\n# tcId = 418\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 304402207cf27b188d034f7e8a52380304b51ac3c08969e277f21b35a60b48fc47669978022049249248db6db6dbb6db6db6db6db6db5a8b230d0b2b51dcd7ebf0c9fef7c185\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04030fdcae6541f22c5bab254e4f1a285c507d1cefea03bf90cf19daf3cb62df695ff2c94d588f2c2b2b0a12bebc011bcee4fa1b54506ec07d0a29d24a0891193c]\n[key.wx = 030fdcae6541f22c5bab254e4f1a285c507d1cefea03bf90cf19daf3cb62df69]\n[key.wy = 5ff2c94d588f2c2b2b0a12bebc011bcee4fa1b54506ec07d0a29d24a0891193c]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004030fdcae6541f22c5bab254e4f1a285c507d1cefea03bf90cf19daf3cb62df695ff2c94d588f2c2b2b0a12bebc011bcee4fa1b54506ec07d0a29d24a0891193c]\n[sha = SHA-512]\n\n# tcId = 419\n# extreme value for k\nmsg = 313233343030\nresult = valid\nsig = 304402207cf27b188d034f7e8a52380304b51ac3c08969e277f21b35a60b48fc47669978022016a4502e2781e11ac82cbc9d1edd8c981584d13e18411e2f6e0478c34416e3bb\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 0403fc621eaf90c23d8f9fa125d2c59b8728ebccb30ca3e3db879a06ca90f20cdcae58d3f0c6aef0e805be10ea54e23cf6f0397f9addddc2b09088855316b0ef44]\n[key.wx = 03fc621eaf90c23d8f9fa125d2c59b8728ebccb30ca3e3db879a06ca90f20cdc]\n[key.wy = 00ae58d3f0c6aef0e805be10ea54e23cf6f0397f9addddc2b09088855316b0ef44]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000403fc621eaf90c23d8f9fa125d2c59b8728ebccb30ca3e3db879a06ca90f20cdcae58d3f0c6aef0e805be10ea54e23cf6f0397f9addddc2b09088855316b0ef44]\n[sha = SHA-512]\n\n# tcId = 420\n# extreme value for k and edgecase s\nmsg = 313233343030\nresult = valid\nsig = 304402206b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2960220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 0470f2ce24dc62923bb09cc92d74329bbd0d2e6b0e354c0be2383d24acdccb9e4cd42d1f973466f5e5462a939084a294ebfc7a45629c70ee5def46de9536ea7bf7]\n[key.wx = 70f2ce24dc62923bb09cc92d74329bbd0d2e6b0e354c0be2383d24acdccb9e4c]\n[key.wy = 00d42d1f973466f5e5462a939084a294ebfc7a45629c70ee5def46de9536ea7bf7]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000470f2ce24dc62923bb09cc92d74329bbd0d2e6b0e354c0be2383d24acdccb9e4cd42d1f973466f5e5462a939084a294ebfc7a45629c70ee5def46de9536ea7bf7]\n[sha = SHA-512]\n\n# tcId = 421\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 304502206b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296022100b6db6db6249249254924924924924924625bd7a09bec4ca81bcdd9f8fd6b63cc\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04732b8ac0c30fe44307431235271cb5d6e5f677a19ce3f058b939a7bf19349d3c858cc735af8577468275847cf5ec19972e6c20738276e2708b23c595bfc4433d]\n[key.wx = 732b8ac0c30fe44307431235271cb5d6e5f677a19ce3f058b939a7bf19349d3c]\n[key.wy = 00858cc735af8577468275847cf5ec19972e6c20738276e2708b23c595bfc4433d]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004732b8ac0c30fe44307431235271cb5d6e5f677a19ce3f058b939a7bf19349d3c858cc735af8577468275847cf5ec19972e6c20738276e2708b23c595bfc4433d]\n[sha = SHA-512]\n\n# tcId = 422\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 304502206b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296022100cccccccc00000000cccccccccccccccc971f2ef152794b9d8fc7d568c9e8eaa7\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 0447aff9501825a166782bb58a5b459006eacdbce5e5323addad34ec1b6444cdce9199c3", + "1502ad4277c73ddd0c807b72634c45762404837d9814a5d4b5a7c3f398]\n[key.wx = 47aff9501825a166782bb58a5b459006eacdbce5e5323addad34ec1b6444cdce]\n[key.wy = 009199c31502ad4277c73ddd0c807b72634c45762404837d9814a5d4b5a7c3f398]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000447aff9501825a166782bb58a5b459006eacdbce5e5323addad34ec1b6444cdce9199c31502ad4277c73ddd0c807b72634c45762404837d9814a5d4b5a7c3f398]\n[sha = SHA-512]\n\n# tcId = 423\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 304402206b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c29602203333333300000000333333333333333325c7cbbc549e52e763f1f55a327a3aaa\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04aed8eeff77644bf83b9222f8f57173fa8217ec7e0763ee7d7171fb6092fba5c06486a86d94f48834ba5adbaf349687f9cee400389642b828e68207b147ca2c46]\n[key.wx = 00aed8eeff77644bf83b9222f8f57173fa8217ec7e0763ee7d7171fb6092fba5c0]\n[key.wy = 6486a86d94f48834ba5adbaf349687f9cee400389642b828e68207b147ca2c46]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004aed8eeff77644bf83b9222f8f57173fa8217ec7e0763ee7d7171fb6092fba5c06486a86d94f48834ba5adbaf349687f9cee400389642b828e68207b147ca2c46]\n[sha = SHA-512]\n\n# tcId = 424\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 304402206b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296022049249248db6db6dbb6db6db6db6db6db5a8b230d0b2b51dcd7ebf0c9fef7c185\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04f7c54a585a904300d05b53ef3b854e71999a344b89adc0caaa28e254db9bc7c7c161a79f38ff446051303577e40638fb020329940a63c241bb32c2205eb57b7d]\n[key.wx = 00f7c54a585a904300d05b53ef3b854e71999a344b89adc0caaa28e254db9bc7c7]\n[key.wy = 00c161a79f38ff446051303577e40638fb020329940a63c241bb32c2205eb57b7d]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004f7c54a585a904300d05b53ef3b854e71999a344b89adc0caaa28e254db9bc7c7c161a79f38ff446051303577e40638fb020329940a63c241bb32c2205eb57b7d]\n[sha = SHA-512]\n\n# tcId = 425\n# extreme value for k\nmsg = 313233343030\nresult = valid\nsig = 304402206b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296022016a4502e2781e11ac82cbc9d1edd8c981584d13e18411e2f6e0478c34416e3bb\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5]\n[key.wx = 6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296]\n[key.wy = 4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5]\n[sha = SHA-512]\n\n# tcId = 426\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 3044022043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b0232102810220249249246db6db6ddb6db6db6db6db6dad4591868595a8ee6bf5f864ff7be0c2\n\n# tcId = 427\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 3045022100bc07ff031506dc74a75086a43252fb43731975a16dca6b025e867412d94222d00220249249246db6db6ddb6db6db6db6db6dad4591868595a8ee6bf5f864ff7be0c2\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296b01cbd1c01e58065711814b583f061e9d431cca994cea1313449bf97c840ae0a]\n[key.wx = 6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296]\n[key.wy = 00b01cbd1c01e58065711814b583f061e9d431cca994cea1313449bf97c840ae0a]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296b01cbd1c01e58065711814b583f061e9d431cca994cea1313449bf97c840ae0a]\n[sha = SHA-512]\n\n# tcId = 428\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 3044022043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b0232102810220249249246db6db6ddb6db6db6db6db6dad4591868595a8ee6bf5f864ff7be0c2\n\n# tcId = 429\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 3045022100bc07ff031506dc74a75086a43252fb43731975a16dca6b025e867412d94222d00220249249246db6db6ddb6db6db6db6db6dad4591868595a8ee6bf5f864ff7be0c2\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 0404aaec73635726f213fb8a9e64da3b8632e41495a944d0045b522eba7240fad587d9315798aaa3a5ba01775787ced05eaaf7b4e09fc81d6d1aa546e8365d525d]\n[key.wx = 04aaec73635726f213fb8a9e64da3b8632e41495a944d0045b522eba7240fad5]\n[key.wy = 0087d9315798aaa3a5ba01775787ced05eaaf7b4e09fc81d6d1aa546e8365d525d]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000404aaec73635726f213fb8a9e64da3b8632e41495a944d0045b522eba7240fad587d9315798aaa3a5ba01775787ced05eaaf7b4e09fc81d6d1aa546e8365d525d]\n[sha = SHA-512]\n\n# tcId = 430\n# pseudorandom signature\nmsg = \nresult = valid\nsig = 30440220093f3825c0cf820cced816a3a67446c85606a6d529e43857643fccc11e1f705f0220769782888c63058630f97a5891c8700e82979e4f233586bfc5042fa73cb70a4e\n\n# tcId = 431\n# pseudorandom signature\nmsg = 4d7367\nresult = valid\nsig = 3046022100e8564e3e515a09f9f35258442b99e162d27e10975fcb7963d3c26319dc093f84022100c3af01ed0fd0148749ca323364846c862fc6f4beb682b7ead3b2d89b9da8bad4\n\n# tcId = 432\n# pseudorandom signature\nmsg = 313233343030\nresult = valid\nsig = 304502201412254f8c1dd2742a00ddee5192e7baa288741026871f3057ad9f983b5ab114022100bcdf878fa156f37040922698ad6fb6928601ddc26c40448ea660e67c25eda090\n\n# tcId = 433\n# pseudorandom signature\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 30450221009e0676048381839bb0a4703a0ae38facfe1e2c61bd25950c896aa975cd6ec86902206ea0cedf96f11fff0e746941183492f4d17272c92449afd20e34041a6894ee82\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 044f337ccfd67726a805e4f1600ae2849df3807eca117380239fbd816900000000ed9dea124cc8c396416411e988c30f427eb504af43a3146cd5df7ea60666d685]\n[key.wx = 4f337ccfd67726a805e4f1600ae2849df3807eca117380239fbd816900000000]\n[key.wy = 00ed9dea124cc8c396416411e988c30f427eb504af43a3146cd5df7ea60666d685]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200044f337ccfd67726a805e4f1600ae2849df3807eca117380239fbd816900000000ed9dea124cc8c396416411e988c30f427eb504af43a3146cd5df7ea60666d685]\n[sha = SHA-512]\n\n# tcId = 434\n# x-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 30440220554482404173a5582884b0d168a32ef8033d7eb780936c390e8eedf720c7f56402200a15413f9ed0d454b92ab901119e7251a4d444ba1421ba639fa57e0d8cf6b313\n\n# tcId = 435\n# x-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 304502200b1d838dd54a462745e2c8d5f32637f26fb16dde20a385e45f8a20a8a1f8370e022100ae855e0a10ef087075fda0ed84e2bc5786a681172ea9834e53351316df332bbd\n\n# tcId = 436\n# x-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 3045022100af89e4f2b03e5d1f0352e258ef71493040c17d70c36cfd044128302df2ed5e4a0220420f04148c3e6f06561bd448362d6c6fa3f9aeeb7e42843b4674e7ddfd0ba901\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 043cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f49726500493584fa174d791c72bf2ce3880a8960dd2a7c7a1338a82f85a9e59cdbde80000000]\n[key.wx = 3cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f497265004935]\n[key.wy = 0084fa174d791c72bf2ce3880a8960dd2a7c7a1338a82f85a9e59cdbde80000000]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200043cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f49726500493584fa174d791c72bf2ce3880a8960dd2a7c7a1338a82f85a9e59cdbde80000000]\n[sha = SHA-512]\n\n# tcId = 437\n# y-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 304402206c1581f1485ccc4e657606fa1a38cf227e3870dc9f41e26b84e28483635e321b02201b3e3c22af23e919b30330f8710f6ef3760c0e2237a9a9f5cf30a1d9f5bbd464\n\n# tcId = 438\n# y-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 3045022100dc83bf97ca28db0e04104a16fe3de694311a6cd9f230a300504ae71d8ec755", + "b1022064a83af0ab3e6037003a1f4240dffd8a342afdee50604ed1afa416fd009e4668\n\n# tcId = 439\n# y-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 30450220575b70b4375684291b95d81e3c820ed9bde9e5b7343036e4951f3c46894a6d9d022100f10d716efbfeba953701b603fc9ef6ff6e47edef38c9eeef2d55e6486bc4d6e6\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 043cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f4972650049357b05e8b186e38d41d31c77f5769f22d58385ecc857d07a561a6324217fffffff]\n[key.wx = 3cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f497265004935]\n[key.wy = 7b05e8b186e38d41d31c77f5769f22d58385ecc857d07a561a6324217fffffff]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200043cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f4972650049357b05e8b186e38d41d31c77f5769f22d58385ecc857d07a561a6324217fffffff]\n[sha = SHA-512]\n\n# tcId = 440\n# y-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 30450221008d4f113189dfd3d3239e331f76d3fca9cef86fcd5dc9b4ab2ca38aeba56c178b022078389c3cf11dcff6d6c7f5efd277d480060691144b568a6f090c8902557bfc61\n\n# tcId = 441\n# y-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 3046022100834d10ec2d2d50eeebfecd6328f03fafbb488fc043c362cbc67880ec0ebd04b302210094c026feaf6e68759146fe5b6fd52eaa3c3c5552d83719d2cb900615e2a634db\n\n# tcId = 442\n# y-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 304502206894de495e7bb5566807d475d96a0d414a94f4f02c3ab7c2edc2916deafc1e1f022100a603642c20fabc07182867fcc6923d35be23ad3f97a5f93c6ec5b9cce8239569\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 042829c31faa2e400e344ed94bca3fcd0545956ebcfe8ad0f6dfa5ff8effffffffa01aafaf000e52585855afa7676ade284113099052df57e7eb3bd37ebeb9222e]\n[key.wx = 2829c31faa2e400e344ed94bca3fcd0545956ebcfe8ad0f6dfa5ff8effffffff]\n[key.wy = 00a01aafaf000e52585855afa7676ade284113099052df57e7eb3bd37ebeb9222e]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200042829c31faa2e400e344ed94bca3fcd0545956ebcfe8ad0f6dfa5ff8effffffffa01aafaf000e52585855afa7676ade284113099052df57e7eb3bd37ebeb9222e]\n[sha = SHA-512]\n\n# tcId = 443\n# x-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 3046022100e500c086fedd59e090ce7bfb615751ed9abe4c09b839ee8f05320245b9796f3e022100807b1d0638c86ef6113fff0d63497800e1b848b5a303a54c748e45ca8f35d7d7\n\n# tcId = 444\n# x-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 3046022100b922c1abe1a8309c0acf90e586c6de8c33e37057673390a97ff098f71680b32b022100f86d92b051b7923d82555c205e21b54eab869766c716209648c3e6cc2629057d\n\n# tcId = 445\n# x-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 3046022100823c37e46c74ec8497d89245fde3bf53ddb462c00d840e983dcb1b72bbf8bf27022100c4552f2425d14f0f0fa988778403d60a58962e7c548715af83b2edabbb24a49f\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04fffffff948081e6a0458dd8f9e738f2665ff9059ad6aac0708318c4ca9a7a4f55a8abcba2dda8474311ee54149b973cae0c0fb89557ad0bf78e6529a1663bd73]\n[key.wx = 00fffffff948081e6a0458dd8f9e738f2665ff9059ad6aac0708318c4ca9a7a4f5]\n[key.wy = 5a8abcba2dda8474311ee54149b973cae0c0fb89557ad0bf78e6529a1663bd73]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004fffffff948081e6a0458dd8f9e738f2665ff9059ad6aac0708318c4ca9a7a4f55a8abcba2dda8474311ee54149b973cae0c0fb89557ad0bf78e6529a1663bd73]\n[sha = SHA-512]\n\n# tcId = 446\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 30450220577a08a95db6dcda9985109942d3786630f640190f920b95bd4d5d84e0f163ef022100d762286e92925973fd38b67ef944a99c0ec5b499b7175cbb4369e053c1fcbb10\n\n# tcId = 447\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 304402207ba458cfe952326922c7aa2854bdc673ce3daaf65d464dfb9f700701503056b102200df8821c92d20546fa741fb426bf56728a53182691964225c9b380b56b22ee6d\n\n# tcId = 448\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 304402205cd60c3b021b4be116f06f1d447f65e458329a8bbae1d9b5977d18cf5618486102204c635cd7aa9aebb5716d5ae09e57f8c481a741a029b40f71ec47344ef883e86e\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 0400000003fa15f963949d5f03a6f5c7f86f9e0015eeb23aebbff1173937ba748e1099872070e8e87c555fa13659cca5d7fadcfcb0023ea889548ca48af2ba7e71]\n[key.wx = 03fa15f963949d5f03a6f5c7f86f9e0015eeb23aebbff1173937ba748e]\n[key.wy = 1099872070e8e87c555fa13659cca5d7fadcfcb0023ea889548ca48af2ba7e71]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000400000003fa15f963949d5f03a6f5c7f86f9e0015eeb23aebbff1173937ba748e1099872070e8e87c555fa13659cca5d7fadcfcb0023ea889548ca48af2ba7e71]\n[sha = SHA-512]\n\n# tcId = 449\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 304402204b50e1e8cf830e04c17e7472caf60da8150ffa568e2c64498cc972a379e542e502202e3adaa5afab89cca91693609555f40543578852cde29c21cb037c0c0b78478e\n\n# tcId = 450\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 304402205aea930c7d8fffcd5c6df2c9430ef76f8b5ed58a8b9c95847288abf8f09a1ac202207ddfef7688a6053ce4eeeeefd6f1a9d71381b7548925f6682aa0a9d05cf5a3a3\n\n# tcId = 451\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 304602210098b092c2d14b5b14a23e9368e0ce1be744dfae9f9a5cdaba51e7872099df96f202210090d3e4f87bd7bc94589f8150b6b01045cd8759a00af78b24d7de771887610df5\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015000000001352bb4a0fa2ea4cceb9ab63dd684ade5a1127bcf300a698a7193bc2]\n[key.wx = 00bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015]\n[key.wy = 1352bb4a0fa2ea4cceb9ab63dd684ade5a1127bcf300a698a7193bc2]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015000000001352bb4a0fa2ea4cceb9ab63dd684ade5a1127bcf300a698a7193bc2]\n[sha = SHA-512]\n\n# tcId = 452\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 30460221009e95f2856a9fff9a172b07817c8c60fe185cd3ce9582678f8cc4b02bc444621a022100c54ca51d8117d904f0d3773911cb2792348fae21c2da7dad25f990d122376e4c\n\n# tcId = 453\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 3046022100e77df8f9782696344c33de29ebdc9f8d3fcf463d950cdbe256fd4fc2fd44877e02210087028850c962cf2fb450ffe6b983981e499dc498fbd654fa454c9e07c8cb5ca8\n\n# tcId = 454\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 3045022100bd2dd6f5026d2b5ad7ead74bdf52b8cbcabc08facee0a1c8584658a85ed0c5dc02203e8543e819bdae47d872e29a85ba38addf3eaeaad8786d79c3fb027f6f1ff4bf\n\n[key.curve = secp256r1]\n[key.keySize = 256]\n[key.type = EcPublicKey]\n[key.uncompressed = 04bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015fffffffeecad44b6f05d15b33146549c2297b522a5eed8430cff596758e6c43d]\n[key.wx = 00bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015]\n[key.wy = 00fffffffeecad44b6f05d15b33146549c2297b522a5eed8430cff596758e6c43d]\n[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015fffffffeecad44b6f05d15b33146549c2297b522a5eed8430cff596758e6c43d]\n[sha = SHA-512]\n\n# tcId = 455\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 3045022100bd5c0294acc28c15c5d1ebc7274c9ca21a081c8a67da430a34a7fff1a564fabb02207ec103a2385b4ff38b47d306434e9091de24dc9f1a25967ee06f8a0a53ac0181\n\n# tcId = 456\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 304402203c7dbfb43dd80379ee2c23ad5472873a22c8a0179ac8f381ad9e0f193231dc1f02207cf8e07530ade503b3d43a84b75a2a76fc40763daed4e9734e745c58c9ae72d3\n\n# tcId = 457\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 3045022100b38ca4dac6d949be5e5f969860269f0eedff2eb92f45bfc02470300cc96dd52602201c7b22992bb1", + "3749cc0c5bc25330a17446e40db734203f9035172725fc70f863\n\n", }; -static const size_t kLen71 = 174442; +static const size_t kLen104 = 168183; -static const char *kData71[] = { - "# Imported from Wycheproof's ecdsa_secp384r1_sha384_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: ECDSA\n# Generator version: 0.4.12\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 042da57dda1089276a543f9ffdac0bff0d976cad71eb7280e7d9bfd9fee4bdb2f20f47ff888274389772d98cc5752138aa4b6d054d69dcf3e25ec49df870715e34883b1836197d76f8ad962e78f6571bbc7407b0d6091f9e4d88f014274406174f]\n[key.wx = 2da57dda1089276a543f9ffdac0bff0d976cad71eb7280e7d9bfd9fee4bdb2f20f47ff888274389772d98cc5752138aa]\n[key.wy = 4b6d054d69dcf3e25ec49df870715e34883b1836197d76f8ad962e78f6571bbc7407b0d6091f9e4d88f014274406174f]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200042da57dda1089276a543f9ffdac0bff0d976cad71eb7280e7d9bfd9fee4bdb2f20f47ff888274389772d98cc5752138aa4b6d054d69dcf3e25ec49df870715e34883b1836197d76f8ad962e78f6571bbc7407b0d6091f9e4d88f014274406174f]\n[sha = SHA-384]\n\n# tcId = 1\n# signature malleability\nmsg = 313233343030\nresult = valid\nsig = 3064023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d702301840da9fc1d2f8f8900cf485d5413b8c2574ee3a8d4ca03995ca30240e09513805bf6209b58ac7aa9cff54eecd82b9f1\n\n# tcId = 2\n# Legacy:ASN encoding of s misses leading 0\nmsg = 313233343030\nresult = acceptable\nsig = 3064023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70230e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n# Some implementations of ECDSA and DSA incorrectly encode r and s by not\n# including leading zeros in the ASN encoding of integers when necessary. Hence,\n# some implementations (e.g. jdk) allow signatures with incorrect ASN encodings\n# assuming that the signature is otherwise valid.\n\n# tcId = 3\n# valid\nmsg = 313233343030\nresult = valid\nsig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 4\n# long form encoding of length\nmsg = 313233343030\nresult = invalid\nsig = 308165023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 5\n# long form encoding of length\nmsg = 313233343030\nresult = invalid\nsig = 306602813012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 6\n# long form encoding of length\nmsg = 313233343030\nresult = invalid\nsig = 3066023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d702813100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 7\n# length contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 30820065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 8\n# length contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 30670282003012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 9\n# length contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 3067023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70282003100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 10\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 3066023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 11\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 3064023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 12\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 3065023112b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 13\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 3065022f12b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 14\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023200e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 15\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023000e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 16\n# uint32 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 30850100000065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 17\n# uint32 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 306a0285010000003012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 18\n# uint32 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 306a023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70285010000003100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 19\n# uint64 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 3089010000000000000065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 20\n# uint64 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 306e028901000000000000003012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2a", - "bec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 21\n# uint64 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 306e023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7028901000000000000003100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 22\n# length = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30847fffffff023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 23\n# length = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 306902847fffffff12b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 24\n# length = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3069023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d702847fffffff00e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 25\n# length = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3084ffffffff023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 26\n# length = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30690284ffffffff12b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 27\n# length = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3069023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70284ffffffff00e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 28\n# length = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3085ffffffffff023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 29\n# length = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 306a0285ffffffffff12b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 30\n# length = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 306a023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70285ffffffffff00e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 31\n# length = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3088ffffffffffffffff023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 32\n# length = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 306d0288ffffffffffffffff12b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 33\n# length = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 306d023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70288ffffffffffffffff00e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 34\n# incorrect length\nmsg = 313233343030\nresult = invalid\nsig = 30ff023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 35\n# incorrect length\nmsg = 313233343030\nresult = invalid\nsig = 306502ff12b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 36\n# incorrect length\nmsg = 313233343030\nresult = invalid\nsig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d702ff00e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 37\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 3080023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 38\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 3065028012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 39\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7028000e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 40\n# removing sequence\nmsg = 313233343030\nresult = invalid\nsig = \n\n# tcId = 41\n# lonely sequence tag\nmsg = 313233343030\nresult = invalid\nsig = 30\n\n# tcId = 42\n# appending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 3067023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820000\n\n# tcId = 43\n# prepending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 30670000023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 44\n# appending unused 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820000\n\n# tcId = 45\n# appending null value to sequence\nmsg = 313233343030\nresult = invalid\nsig = 3067023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820500\n\n# tcId = 46\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 306a4981773065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 47\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 306925003065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 48\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 30673065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820004deadbeef\n\n# tcId = 49\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 306a2235498177023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 50\n# includin", - "g garbage\nmsg = 313233343030\nresult = invalid\nsig = 306922342500023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 51\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 306d2232023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70004deadbeef023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 52\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 306a023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d72236498177023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 53\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3069023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d722352500023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 54\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 306d023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d72233023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820004deadbeef\n\n# tcId = 55\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 306daa00bb00cd003065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 56\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 306baa02aabb3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 57\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 306d2238aa00bb00cd00023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 58\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 306b2236aa02aabb023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 59\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 306d023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d72239aa00bb00cd00023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 60\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 306b023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d72237aa02aabb023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 61\n# truncated length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3081\n\n# tcId = 62\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 30803065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820000\n\n# tcId = 63\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 30692280023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70000023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 64\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 3069023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d72280023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820000\n\n# tcId = 65\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 30803165023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820000\n\n# tcId = 66\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 30692280033012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70000023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 67\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 3069023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d72280033100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820000\n\n# tcId = 68\n# Replacing sequence with NULL\nmsg = 313233343030\nresult = invalid\nsig = 0500\n\n# tcId = 69\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 2e65023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 70\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 2f65023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 71\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3165023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 72\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3265023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 73\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = ff65023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 74\n# dropping value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3000\n\n# tcId = 75\n# using composition for sequence\nmsg = 313233343030\nresult = invalid\nsig = 306930010230643012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 76\n# truncate sequence\nmsg = 313233343030\nresult = invalid\nsig = 3064023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f\n\n# tcId = 77\n# truncate sequence\nmsg = 313233343030\nresult = invalid\nsig = 30643012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 78\n# indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 3080023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820000\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit", - " signature malleability.\n\n# tcId = 79\n# indefinite length with truncated delimiter\nmsg = 313233343030\nresult = invalid\nsig = 3080023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f8200\n\n# tcId = 80\n# indefinite length with additional element\nmsg = 313233343030\nresult = invalid\nsig = 3080023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f8205000000\n\n# tcId = 81\n# indefinite length with truncated element\nmsg = 313233343030\nresult = invalid\nsig = 3080023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82060811220000\n\n# tcId = 82\n# indefinite length with garbage\nmsg = 313233343030\nresult = invalid\nsig = 3080023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820000fe02beef\n\n# tcId = 83\n# indefinite length with nonempty EOC\nmsg = 313233343030\nresult = invalid\nsig = 3080023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820002beef\n\n# tcId = 84\n# prepend empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 30673000023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 85\n# append empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 3067023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f823000\n\n# tcId = 86\n# sequence of sequence\nmsg = 313233343030\nresult = invalid\nsig = 30673065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 87\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 3032023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7\n\n# tcId = 88\n# repeat element in sequence\nmsg = 313233343030\nresult = invalid\nsig = 308198023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 89\n# removing integer\nmsg = 313233343030\nresult = invalid\nsig = 3033023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 90\n# lonely integer tag\nmsg = 313233343030\nresult = invalid\nsig = 303402023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 91\n# lonely integer tag\nmsg = 313233343030\nresult = invalid\nsig = 3033023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d702\n\n# tcId = 92\n# appending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 3067023212b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70000023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 93\n# appending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 3067023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023300e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820000\n\n# tcId = 94\n# prepending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 30670232000012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 95\n# prepending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 3067023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70233000000e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 96\n# appending unused 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 3067023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70000023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 97\n# appending null value to integer\nmsg = 313233343030\nresult = invalid\nsig = 3067023212b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70500023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 98\n# appending null value to integer\nmsg = 313233343030\nresult = invalid\nsig = 3067023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023300e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820500\n\n# tcId = 99\n# truncated length of integer\nmsg = 313233343030\nresult = invalid\nsig = 30350281023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 100\n# truncated length of integer\nmsg = 313233343030\nresult = invalid\nsig = 3034023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70281\n\n# tcId = 101\n# Replacing integer with NULL\nmsg = 313233343030\nresult = invalid\nsig = 30350500023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 102\n# Replacing integer with NULL\nmsg = 313233343030\nresult = invalid\nsig = 3034023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70500\n\n# tcId = 103\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3065003012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 104\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3065013012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 105\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3065033012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 106\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3065043012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 107\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3065ff3012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc", - "45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 108\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7003100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 109\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7013100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 110\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7033100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 111\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7043100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 112\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7ff3100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 113\n# dropping value of integer\nmsg = 313233343030\nresult = invalid\nsig = 30350200023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 114\n# dropping value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3034023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70200\n\n# tcId = 115\n# using composition for integer\nmsg = 313233343030\nresult = invalid\nsig = 30692234020112022fb30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 116\n# using composition for integer\nmsg = 313233343030\nresult = invalid\nsig = 3069023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d722350201000230e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 117\n# modify first byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 3065023010b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 118\n# modify first byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023102e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 119\n# modify last byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c54857023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 120\n# modify last byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f02\n\n# tcId = 121\n# truncate integer\nmsg = 313233343030\nresult = invalid\nsig = 3064022f12b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 122\n# truncate integer\nmsg = 313233343030\nresult = invalid\nsig = 3064022fb30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 123\n# truncate integer\nmsg = 313233343030\nresult = invalid\nsig = 3064023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023000e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f\n\n# tcId = 124\n# truncate integer\nmsg = 313233343030\nresult = invalid\nsig = 3064023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70230e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 125\n# leading ff in integer\nmsg = 313233343030\nresult = invalid\nsig = 30660231ff12b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 126\n# leading ff in integer\nmsg = 313233343030\nresult = invalid\nsig = 3066023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70232ff00e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 127\n# infinity\nmsg = 313233343030\nresult = invalid\nsig = 3036090180023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 128\n# infinity\nmsg = 313233343030\nresult = invalid\nsig = 3035023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7090180\n\n# tcId = 129\n# replacing integer with zero\nmsg = 313233343030\nresult = invalid\nsig = 3036020100023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 130\n# replacing integer with zero\nmsg = 313233343030\nresult = invalid\nsig = 3035023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7020100\n\n# tcId = 131\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 306602310112b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19a25617aad7485e6312a8589714f647acf7a94cffbe8a724a023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 132\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30660231ff12b30abef6b5476fe6b612ae557c0425661e26b44b1bfe1a138f7ca6eeda02a462743d328394f8b71dd11a2a25001f64023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 133\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30650230ed4cf541094ab8901949ed51aa83fbda99e1d94bb4e401e6250d35d71ceecf7c4571b51b33ba5fcdf542cc6b0e3ab729023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 134\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ed4cf541094ab8901949ed51aa83fbda99e1d94bb4e401e5ec7083591125fd5b9d8bc2cd7c6b0748e22ee5d5daffe09c023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 135\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30660231feed4cf541094ab8901949ed51aa83fbda99e1d94bb4e401e65da9e85528b7a19ced57a768eb09b8530856b30041758db6023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 136\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 306602310112b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc63", - "1991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 137\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ed4cf541094ab8901949ed51aa83fbda99e1d94bb4e401e6250d35d71ceecf7c4571b51b33ba5fcdf542cc6b0e3ab729023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 138\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023101e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc5f8fc6adfda650a86aa74b95adbd6874b3cd8dde6cc0798f5\n\n# tcId = 139\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3064023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70230e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc66a35cfdbf1f6aec7fa409df64a7538556300ab11327d460f\n\n# tcId = 140\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70231ff1840da9fc1d2f8f8900cf485d5413b8c2574ee3a8d4ca039ce66e2a219d22358ada554576cda202fb0133b8400bd907e\n\n# tcId = 141\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70231fe1840da9fc1d2f8f8900cf485d5413b8c2574ee3a8d4ca03a07039520259af579558b46a5242978b4c327221933f8670b\n\n# tcId = 142\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023101e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 143\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3064023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d702301840da9fc1d2f8f8900cf485d5413b8c2574ee3a8d4ca039ce66e2a219d22358ada554576cda202fb0133b8400bd907e\n\n# tcId = 144\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020100020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 145\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020100020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 146\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201000201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 147\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036020100023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 148\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036020100023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 149\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036020100023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 150\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036020100023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 151\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036020100023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 152\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3008020100090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 153\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020101020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 154\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020101020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 155\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201010201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 156\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036020101023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 157\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036020101023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 158\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036020101023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 159\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036020101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 160\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036020101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 161\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3008020101090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 162\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\n", - "sig = 30060201ff020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 163\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 164\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff0201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 165\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30360201ff023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 166\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30360201ff023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 167\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30360201ff023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 168\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30360201ff023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 169\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30360201ff023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 170\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30080201ff090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 171\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 172\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 173\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc529730201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 174\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 175\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 176\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 177\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 178\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 179\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3038023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 180\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 181\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 182\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc529720201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 183\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 184\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a7", - "7aecec196accc52972023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 185\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 186\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 187\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 188\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3038023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 189\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 190\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 191\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc529740201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 192\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 193\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 194\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 195\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 196\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 197\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3038023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 198\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 199\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 200\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff0201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 201\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 202\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 203\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 204\n# Signature with special case v", - "alues for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 205\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 206\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3038023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 207\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 208\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 209\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000001000000000201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 210\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 211\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 212\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 213\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 214\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 215\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3038023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 216\n# Edge case for Shamir multiplication\nmsg = 3133323237\nresult = valid\nsig = 3066023100ac042e13ab83394692019170707bc21dd3d7b8d233d11b651757085bdd5767eabbb85322984f14437335de0cdf565684023100bd770d3ee4beadbabe7ca46e8c4702783435228d46e2dd360e322fe61c86926fa49c8116ec940f72ac8c30d9beb3e12f\n\n# tcId = 217\n# special case hash\nmsg = 31373530353531383135\nresult = valid\nsig = 3066023100d3298a0193c4316b34e3833ff764a82cff4ef57b5dd79ed6237b51ff76ceab13bf92131f41030515b7e012d2ba857830023100bfc7518d2ad20ed5f58f3be79720f1866f7a23b3bd1bf913d3916819d008497a071046311d3c2fd05fc284c964a39617\n\n# tcId = 218\n# special case hash\nmsg = 3130333633303731\nresult = valid\nsig = 3065023100e14f41a5fc83aa4725a9ea60ab5b0b9de27f519af4b557a601f1fee0243f8eee5180f8c531414f3473f4457430cb7a2602301047ed2bf1f98e3ce93e8fdbdc63cc79f238998fee74e1bb6cd708694950bbffe3945066064da043f04d7083d0a596ec\n\n# tcId = 219\n# special case hash\nmsg = 32333632343231333231\nresult = valid\nsig = 3066023100b7c8b5cf631a96ad908d6a8c8d0e0a35fcc22a5a36050230b665932764ae45bd84cb87ebba8e444abd89e4483fc9c4a8023100a11636c095aa9bc69cf24b50a0a9e5377d0ffbba4fab5433159f006ab4563d55e918493020a19691574e4d1e66e3975e\n\n# tcId = 220\n# special case hash\nmsg = 34353838303134363536\nresult = valid\nsig = 306402304a7df2df6a32d59b6bfed54f032c3d6f3acd3ac4063704099cd162ab3908e8eeba4e973ee75b5e285dd572062338fe58023035365be327e2463dc759951c5c0be5e3d094cb706912fdf7d26b15d4a5c42ffebeca5ae73a1823f5e65d571b4ccf1a82\n\n# tcId = 221\n# special case hash\nmsg = 32313436363035363432\nresult = valid\nsig = 30660231009ad363a1bbc67c57c82a378e988cc083cc91f8b32739ec647c0cb348fb5c86472015131a7d9083bf4740af3351755195023100d310dc1509f8c00281efe571768d488027ea760fe32971f6cb7b57cdf90621b7d0086e26443d3761df7aa3a4eccc6c58\n\n# tcId = 222\n# special case hash\nmsg = 333335333030383230\nresult = valid\nsig = 306502310095078af5c2ac230239557f5fcee2e712a7034e95437a9b34c1692a81270edcf8ddd5aba1138a42012663e5f81c9beae2023040ee510a0cceb8518ad4f618599164da0f3ba75eceeac216216ec62bcceae8dc98b5e35b2e7ed47c4b8ebacfe84a74e6\n\n# tcId = 223\n# special case hash\nmsg = 36333936363033363331\nresult = valid\nsig = 3066023100a538076362043de54864464c14a6c1c3a478443726c1309a36b9e9ea1592b40c3f3f90d195bd298004a71e8f285e093a023100d74f97ef38468515a8c927a450275c14dc16ddbdd92b3a5cae804be20d29c682129247d2e01d37dabe38ffb74808a8b7\n\n# tcId = 224\n# special case hash\nmsg = 33333931363630373935\nresult = valid\nsig = 3065023100bbe835113f8ea4dc469f0283af6603f3d7a3a222b3ab5a93db56007ef2dc07c97988fc7b8b833057fa3fbf97413b6c150230737c316320b61002c2acb184d82e60e46bd2129a9bbf563c80da423121c161decd363518b260aaacf3734c1ef9faa925\n\n# tcId = 225\n# special case hash\nmsg = 31343436393735393634\nresult = valid\nsig = 30650230679c3640ad8ffe9577d9b59b18ff5598dbfe61122bbab8238d268907c989cd94dc7f601d17486af93f6d18624aa524a3023100e84dd195502bdcdd77b7f51d8c1ea789006905844a0e185474af1a583bab564ee23be0bc49500390dceb3d3948f06730\n\n# tcId = 226\n# special case hash\nmsg = 35313539343738363431\nresult = valid\nsig = 3066023100f6f1afe6febce799cc9b754279f2499f3825c3e789accef46d3f068e2b6781fd50669e80c3c7293a5c0c0af48e068e35023100f59cc8c2222ed63b4553f8149ebecc43b866719b294ef0832a12b3e3dbc825eeab68b5779625b10ae5541412ec295354\n\n# tcId = 227\n# special case hash\nmsg = 353234313739323333", - "31\nresult = valid\nsig = 3065023100f46496f6d473f3c091a68aaa3749220c840061cd4f888613ccfeac0aa0411b451edbd4facbe38d2dd9d6d0d0d255ed34023000c3a74fa6666f58c4798f30c3779813e5c6d08ac31a792c2d0f9cb708733f26ad6bf3b1e46815ae536aa151680bdee2\n\n# tcId = 228\n# special case hash\nmsg = 31313437323930323034\nresult = valid\nsig = 3066023100df8b8e4cb1bc4ec69cb1472fa5a81c36642ed47fc6ce560033c4f7cb0bc8459b5788e34caa7d96e6071188e449f0207a0231008b8ee0177962a489938f3feffae55729d9d446fe438c7cb91ea5f632c80aa72a43b9b04e6de7ff34f76f4425107fd697\n\n# tcId = 229\n# special case hash\nmsg = 3130383738373235363435\nresult = valid\nsig = 30660231008bb6a8ecdc8b483ad7b9c94bb39f63b5fc1378efe8c0204a74631dded7159643821419af33863b0414bd87ecf73ba3fb0231008928449f2d6db2b2c65d44d98beb77eeadcbda83ff33e57eb183e1fc29ad86f0ba29ee66e750e8170ccc434cf70ae199\n\n# tcId = 230\n# special case hash\nmsg = 37333433333036353633\nresult = valid\nsig = 3065023100e3832877c80c4ed439d8eadcf615c0286ff54943e3ae2f66a3b9f886245fea470e6d5812cef80c23e4f568d0215a3bfc02303177a7dbf0ab8f8f5fc1d01b19d6a5e89642899f369dfe213b7cc55d8eaf21dd2885efce52b5959c1f06b7cac5773e5b\n\n# tcId = 231\n# special case hash\nmsg = 393734343630393738\nresult = valid\nsig = 306502306275738f0880023286a9b6f28ea0a9779e8d644c3dec48293c64f1566b34e15c7119bd9d02fa2357774cabc9e53ef7e6023100d2f0a52b1016082bd5517609ee81c0764dc38a8f32d9a5074e717ee1d832f9ea0e4c6b100b1fd5e7f4bc7468c79d3933\n\n# tcId = 232\n# special case hash\nmsg = 33323237303836383339\nresult = valid\nsig = 3066023100d316fe5168cf13753c8c3bbef83869a6703dc0d5afa82af49c88ff3555660f57919a6f36e84451c3e8e5783e3b83fe3b023100995f08c8fec7cd82ce27e7509393f5a3803a48fe255fcb160321c6e1890eb36e37bcda158f0fa6899e7d107e52de8c3c\n\n# tcId = 233\n# special case hash\nmsg = 323332393736343130\nresult = valid\nsig = 306402300b13b8fd10fa7b42169137588ad3f557539a4e9206f3a1f1fe9202b0690defded2be18147f5b2da9285c0e7349735ea302300478ad317b22a247bf9334719b4c8ee84acf134515db77e6141c75d08961e1e51eaca29836744103de0f6a4c798d3eeb\n\n# tcId = 234\n# special case hash\nmsg = 3934303437333831\nresult = valid\nsig = 3065023015804429bcb5277d4f0af73bd54c8a177499a7b64f18afc566c3ce7096bdc6c275e38548edcfa0b78dd7f57b6f393e49023100d5951f243e65b82ba5c0c7552d33b11f1e90fde0c3fd014aac1bb27db2aaf09b667c8b247c4cdd5b0723fba83b4f999e\n\n# tcId = 235\n# special case hash\nmsg = 33323230353639313233\nresult = valid\nsig = 30650230359247c95776bb17492b7bf827f5f330fa9f9de7cc10441a1479c81776ce36cdc6a13c5f5149c4e39147a196bb02ed34023100f6ed9252a73de48516f4eabab6368fbff6875128af4e1226d54db558bd76eec369cc9b285bc196d512e531f84864d33f\n\n# tcId = 236\n# special case hash\nmsg = 343134303533393934\nresult = valid\nsig = 3065023100a557d1f63a2094f683429ecb35a6533bac897682775c0051e111eed6e076c48867cae005c5e0803800b050311e381cd602302a2f871efcf03cf1c8f509e076aaa2a76f1ea78d1c64804ea5b063b0324b8e98eb5825d04370106020ee15805dbedf81\n\n# tcId = 237\n# special case hash\nmsg = 31393531353638363439\nresult = valid\nsig = 3065023100f22bf91169b4aec84ca84041cb826f7dfc6f33d973f3c72433b8a0ca203aac93f7eed62be9bea01706402d5b5d3b0e6502307841d3bc34aa47e813a55c25203c5ec2342d838d5b4638c2705dcf4bac9c24f765b5d4c28fa3c7fda7a38ed5048c7de3\n\n# tcId = 238\n# special case hash\nmsg = 35393539303731363335\nresult = valid\nsig = 30660231009c196e39a2d61a3c2565f5932f357e242892737e9adfc86c6609f291e5e6fdbb23029ff915a032b0c5390ba9d15f203e023100d721e28e5269d7813e8a9aed53a37e652fec1560ca61f28f55ab4c262cc6214eee8d3c4c2ba9d1ba0ba19e5e3c7484a7\n\n# tcId = 239\n# special case hash\nmsg = 323135333436393533\nresult = valid\nsig = 30660231008ba1e9dec14d300b0e250ea0bcd4419c3d9559622cc7b8375bd73f7d70133242e3d5bf70bc782808734654bacd12daea023100d893d3970f72ccab35555ae91ebcfed3c5bfc5d39181071bc06ba382587a695e02ed482f1a74fe309a399eaee5f5bc52\n\n# tcId = 240\n# special case hash\nmsg = 34383037313039383330\nresult = valid\nsig = 306402302f521d9d83e1bff8d25255a9bdca90e15d78a8c9ea7885b884024a40de9a315bed7f746b5da4ce96b070208e9ae0cfa502304185c6f4225b8c255a4d31abb5c9b6c686a6ee50a8eb7103aaef90245a4722fc8996f266f262109c3b5957ba73289a20\n\n# tcId = 241\n# special case hash\nmsg = 343932393339363930\nresult = valid\nsig = 3065023100d4900f54c1bc841d38eb2f13e0bafbb12b5667393b07102db90639744f54d78960b344c8fbfbf3540b38d00278e177aa02303a16eff0399700009b6949f3f506c543495bf8e0f3a34feb8edd63648747b531adc4e75398e4da8083b88b34c2fb97a8\n\n# tcId = 242\n# special case hash\nmsg = 32313132333535393630\nresult = valid\nsig = 3065023100c0169e2b8b97eeb0650e27653f2e473b97a06e1e888b07c1018c730cabfdeeec4a626c3edee0767d44e8ed07080c2ac4023013f46475f955f9701928067e3982d4ba5a58a379a66f91b74fad9ac8aee30086be6f41c9c2d8fb80e0924dedbe67e968\n\n# tcId = 243\n# special case hash\nmsg = 31323339323735373034\nresult = valid\nsig = 306402302e868871ea8b27a8a746882152051f2b146af4ac9d8473b4b6852f80a1d0c7cab57489aa43f89024388aec0605b0263702306d8c89eed8a5a6252c5cead1c55391c6743d881609e3db24d70ead80a663570020798fbf41d4c624fcb1ce36c536fe38\n\n# tcId = 244\n# special case hash\nmsg = 32303831313838373638\nresult = valid\nsig = 3065023100abe6a51179ee87c957805ecad5ccebca30c6e3a3e6dbe4eb4d130b71df2bf590b9d67c8f49e81bf90ce0909d3c2dab4c02307110582fab495b21bd9dda064fbd7acc09d0544dcf7699be35ad16207ffa10e8904f9241a709487ba2ba7e34430b81c3\n\n# tcId = 245\n# special case hash\nmsg = 343534363038393633\nresult = valid\nsig = 3064023050252c19e60e4120b7c28b2c2e0a588e5d107518cd61e5c7999c6d465ea134f752322d8b83f5988fcdc62bd9adb36ccd0230193899352491dabfe4fc942e14ddacb200673729d61602cc0baf5732d262f36e5279865a810ce2f977f57686a0d0137a\n\n# tcId = 246\n# special case hash\nmsg = 31333837363837313131\nresult = valid\nsig = 3066023100eb725fdd539d7de8ea02fac8db6ec464f40c272a63e6b2718c4e0266bf1235dae330f747a6052f4319ecbe7bdade9bd0023100ae84507648ba2d1944bb67722ccd2cb94b92b59e89a1ae698c668bb57f481c42b216c23da4b1d8c0e502ef97fda05ad0\n\n# tcId = 247\n# special case hash\nmsg = 32303331333831383735\nresult = valid\nsig = 3064023025aa56fcbd92f2cf53bddbaa0db537de5843290731c1dd78036fcbded4a8f7187ddfed9f5ca9d98ea7b12d24b8d29d570230028f68372d66164810bf79c30a191116d496fe32314605dc1668289425fb3a15d7532dde1052a49a35866c147abde1d9\n\n# tcId = 248\n# special case hash\nmsg = 323535333538333333\nresult = valid\nsig = 3065023054bf7adc8548e7cae270e7b097f16b5e315158d21b0e652ce1cfe4b33126ba4a65bf227b4cddcaf22d33d82478937b20023100bfc1b8f1d02846a42f31e1bd10ba334065459f712a3bbc76005d6c6488889f88c0983f4834d0bf2249dbf0a6db760701\n\n# tcId = 249\n# special case hash\nmsg = 34363138383431343732\nresult = valid\nsig = 3066023100d3bb29ac0bd1f6058a5197f766d6ea3216c572ded62af46318c8c7f9547bb246553654279d69989d9af5ef4ccacf64da023100e10281122c2112a2a5a9d87ac58f64fb07c996a2d09292119e8f24d5499b2e8524ebd0570097f6cc7f9c26094a35c857\n\n# tcId = 250\n# special case hash\nmsg = 31303039323435383534\nresult = valid\nsig = 3066023100bc32e85e3112472408f9324586e525325128a38313c34b79700cb0a3f7262a90a1fcc40eef1f1a3884032a7a21810e0a023100c02f52541360358107a13dbea31f83d80397710901734b7adb78b1fc904454a28a378514ccef80ecc70c1d8e55f11311\n\n# tcId = 251\n# special case hash\nmsg = 32373536343636353238\nresult = valid\nsig = 3066023100f04b9e17c71d2d2133ea380d71b6b82c8a8e3332703e9d535b2c2bca9b0ad586d176a6049afa35edd9722edb5c33daa3023100bd44d4a6263380ca6f22e76c26d5f70f41f4d7cae7d4b9c1b8dc2ba5298d9d12408b04614e2f3796cc19c950c8c88a10\n\n# tcId = 252\n# special case hash\nmsg = 313139363937313032\nresult = valid\nsig = 3065023100c8807351d8e261338e750cb9a52f4be4470b63f6f181cbe0e81d43b60824ba4be1bba42b1783897a0d72b0614018b02f023052e3a598c8be982127e961eed2b04f21c86df4ebcab0d955a7c66ec7f818898798ee75367a85022276b912c0a072bff7\n\n# tcId = 253\n# special case hash\nmsg = 323333313432313732\nresult = valid\nsig = 306402306152841b6fb460546eeb4158a3e5ffa54f51aa6a208987be899b706055cd59d8ec7c01f4634254fe050e1d4ec525a173023073f0c5f13640d892c28f701428e8fbfb736b6478bbd972c8c684977556ed599a70d313e06b126080e13068d56e1c10be\n\n# tcId = 254\n# special case hash\nmsg = 31363733343831383938\nresult = valid\nsig = 3066023100842f8d2814f5b7163f4b21bd9727246e078ad1e7435dfe1bc5f9e0e7374232e686b9b98b73deab9e43b3b7f25416c2be023100852c106c412300bac3ba265990b428a26076ab3f00fd7657bbd9315fa1cd2a1230a9a60d06b7af87aa0a6cf3f48b344c\n\n# tcId = 255\n# special case hash\nmsg = 31343630313539383237\nresult = valid\nsig = 3066023100e13f6d638b9d4fba54aa436a945cfea66dec058fab6f026293265884457b5a86e8e927d699bc64", - "431b71e3d41df200440231009832cd1b4177118ed247b4f31277da15f420179f45c71a237d77f599a45df68247bac3dcef0868ecd1665005c25b7c6c\n\n# tcId = 256\n# special case hash\nmsg = 38393930383539393239\nresult = valid\nsig = 3064023009fff1c2e4ff8643cbfad588620c2bf7aaca5cf4242969142c7145b927bd82ed14f3ae8c6e2ce2da63b990b9f1be6d640230780c816f6c86343b008235ee986abf2136123ed247e4751e4d5467334f08e5e2ca1161254f68c3e6678e2d0b87d1cc7c\n\n# tcId = 257\n# special case hash\nmsg = 34333236343430393831\nresult = valid\nsig = 3066023100ffae6e7d2cea71b5a9c73cbc1285a8d252949772afe1aa27fb137740fc429c2a8c8648c9a5ba678a32f7ae7689b395ca02310089d54cd13a162c34189ff524813690e79768af8ebe794cc941dfe7fdf2cb8dd0b42519f034ea4d4f1c870046d13210e1\n\n# tcId = 258\n# special case hash\nmsg = 32333736343337353537\nresult = valid\nsig = 3066023100efa3c5fc3c8be1007475a2dbd46e3578bb30579445909c2445f850fb8aa60aa5b1749cc3400d8ffd81cb8832b50d27b4023100b36a08db3845b3d2ebd2c335480f12fb83f2a7351841ea3842ec62ad904b098efbf9faa7828b9c185746d9c8bd047d76\n\n# tcId = 259\n# special case hash\nmsg = 383630333937373230\nresult = valid\nsig = 3066023100f577095f7c74594aa1c69aca9bb26e0c7475ae5163058ecc074b03af89e56b12b6a72450589dacf0d7e6b172d0017a0e023100bee756a0b5d0a677bf95f98da512854f3ecb712f94570e1ad230eab17c527b6a8bcc9ae202b657a3611ecffa94ba0d54\n\n# tcId = 260\n# special case hash\nmsg = 35383037373733393837\nresult = valid\nsig = 306502300ae7688c7de5882eb9c3172f5500015552f998fb53702c6cd4b03404d5a0510a8073db95db544808dbd76659fd20cf12023100bc610fe5f04d8909cc439615fb7e302d3d82992817647c50c1f467090a52b328cbbc0262f18ffb6fd9f3bd60013cea08\n\n# tcId = 261\n# special case hash\nmsg = 353731383636383537\nresult = valid\nsig = 306502305dc8a6d84afaaf900d78c6a91dc5e12e7d17891a52c1468253061d704b8940bef85b9fe807a0e02b56e8dd37c22fbb82023100914258de52932c4604dceb5ce7cc0a92e021edca9b819b84a9f25652f9af13f956a1139ee95c7aa7a079e3ad8317fbdb\n\n# tcId = 262\n# special case hash\nmsg = 38363737333039333632\nresult = valid\nsig = 3066023100da55a6dbb845205c87c995b0bbc8444ffcba6eb1f4eb9d30f721d2dacc198fb1a8296075e68eb3d25ef596a952b8ea19023100829f671dccad6d7b0b8c4b39ff3f42597965d55c645fb880a66fe198d9344c9311f1598930392470379fa5ff43c75d04\n\n# tcId = 263\n# special case hash\nmsg = 32343735353135303630\nresult = valid\nsig = 306402303730dfd0985de77decdd358a544b47f418d3fab42481530d5d514859894c6f23b729af72b44686058de29687b34b3b0c023065bdfaf0ac217a80b82eb09c9f59c5c8cfbf50a6eb979a8f5f63eab9bd38ee0938e4b23102112033b230a14ad2790e3f\n\n# tcId = 264\n# special case hash\nmsg = 393733313736383734\nresult = valid\nsig = 3065023055210df2124c170e259af1dafa73e66613aa18ced8eb40a7f66155d50d5f3124edfa55276de4797013177291e8afeff6023100c314d3a310a60647dad3318ed7f0405a64c3f94b5ac98e6be12208c8ad9835fa6b81a0ea59f476608634657b66e00ffd\n\n# tcId = 265\n# special case hash\nmsg = 33363938303935313438\nresult = valid\nsig = 3065023100f6c9897144b5d84964515eb0c8c3d0d9c6687c957887e93c29b2a21804b40307fb88bfd5cca11c95885d28867cb33a740230656bafca242290f7d7e9801b6cfd4bd1b07e8d7c6c1c59fd3d8e82e9846a1b2855c85420e4ee6ec2d97fec2161eeb243\n\n# tcId = 266\n# special case hash\nmsg = 3130373530323638353736\nresult = valid\nsig = 3065023100bfbcc5f343e2ab392ce6c1c02d91c00650c47136836a5d0622d476ac2b3274395721b1ab21882ed5cabed093b43b133f0230043e9fc64c6108df73f9eced90f91185f83d89662f5a9d810c1824fbfd97b842f784305fd6b9c28c80d32d52b1538d12\n\n# tcId = 267\n# special case hash\nmsg = 383639313439353538\nresult = valid\nsig = 3066023100b8f793ddd47e657a9081cbed1600fb22b38ad6a155f9c006ba98de1f383b4c0918ceea72253e0f869524b2369cd9bd8c02310096c452ff58f42e0853040a6d5c7e750b57dd4af06e2df8194e8d524e81ac000ee3315bbeabbf6a21f61b8904c55378d9\n\n# tcId = 268\n# special case hash\nmsg = 32313734363535343335\nresult = valid\nsig = 30640230263ab1c93567e93b5ec4e380b0d3bb5ea1ce693c14a47afccc539aaf197f099d331ea9e26f1a0057148d46727acb61880230621db07ce94110e2be74fa953a00a8a554225b3f2c0f6c56b4ebd4db2f57ca2565ed3323fd708bb56ac6e28bfb40f2e7\n\n# tcId = 269\n# special case hash\nmsg = 363434353530373932\nresult = valid\nsig = 306502310096f4a2b3529c65e45a0b4c19c582dc8db635d4e74f0b81309696b23be920ba8ec553d4b370df4c59d74dd654bac6df5802301573ba1b280c735a3401d957ecd3b8908e4e0b7d80239ce042594d182faf2ddf811c9056aac4c87f4f85043766a26614\n\n# tcId = 270\n# special case hash\nmsg = 353332383138333338\nresult = valid\nsig = 306602310096a691b19a6294b311a438f8da345e480b1deaa1e940cfbf02177d5f08479976ea58aee31011d50b5542be188c9d63df0231008f67dc9e1588aeb8be180013d41a036f9badfad9fe9340910cbf87243776f54bef7da2ebf3a7643866eb9a3b23fe59b9\n\n# tcId = 271\n# special case hash\nmsg = 31313932303736333832\nresult = valid\nsig = 3066023100cff27948c6d902c73d103d0802eb144dd89c1b0e3b9f9a5e498b0361dc122a0d555160d8c64d61539c1dbbd4bc18971f023100b60827488c9f16ba28378fd59b1a29c65073335a7f236131134674c62c8396f193c76f2395ddaaa4f24b69161eb69b4d\n\n# tcId = 272\n# special case hash\nmsg = 31353332383432323230\nresult = valid\nsig = 3066023100e90e22d9e535dfdfd86e098d5d6a0ae08f69d4a3ffaa39f6930bcf5f5ad02ee0d0472ae984edd9f0bbe5e7d63fd4f6ac023100e3f57b0a4629ecaa21f2d34a7a0834d57ba20f99c6e31b43c37811cc23b9957c8f3356f4462214d3c8e58745e50f23f6\n\n# tcId = 273\n# special case hash\nmsg = 313536373137373339\nresult = valid\nsig = 3064023018b70e272a98cc48e1e0af73146f0f972bbfbeb6b985feb2c4acd695a7a41b99c415be9c46aedaf3ddff67a65a89e387023047d6bcea088f622ad35d88bcf46d71827bcba2f57c36d6fb8a4bf2befdc0d4e3ef366d5966c4d076d3cfa43d6626717b\n\n# tcId = 274\n# special case hash\nmsg = 34333033303931313230\nresult = valid\nsig = 3066023100acfd981c55fd5286cfce173726d51c3d25f65b11b7673729a62167256774f7c894b74662a212c706e00cef096074162f023100f4d471c97797c24d96aec1de85a249ef468d6036cd712563aeb65cea4995f3ee85e769b874f09a08637a44a96084be7a\n\n# tcId = 275\n# special case hash\nmsg = 37373335393135353831\nresult = valid\nsig = 3065023100f15fcbeea8b64dad5e8566a2c37913c82d6be9d9668df469bd0b591c3923a6e12644eaf697d466fa7cd513983d946a40023070063966801079351526999e5c5c2c5f627e4c8bc96784bcbe715fe7c7afcf69785d1c8c7ccd3725e364101638396597\n\n# tcId = 276\n# special case hash\nmsg = 323433393636373430\nresult = valid\nsig = 3066023100d995147939ae6d8f62bb57372227395839e25a0d4308b899d5f506cf9e0a01e8115b7e4b822f037ec95752bd9e892f5e0231009bb4d07333e468f8482a790a2a2e650e2c42da8240ec5e402506b368122f046680cd71e0117897cce3df4a1555fc8876\n\n# tcId = 277\n# special case hash\nmsg = 34333237363032383233\nresult = valid\nsig = 3064023043c6ce5184476f3f496afeae3cb96a3f9f038957686c93437b8266a233022371d266e904aa096c3566cb33824b88075e0230680c13245a8bc560b638d26f0c5f261964130256939552d3fffb07b658355611612c268a89541055d3c2bf9e82cf4da3\n\n# tcId = 278\n# special case hash\nmsg = 32393332303032353932\nresult = valid\nsig = 30630230447539941dc350767fc841083d25d9247a0807e1e22e0bb9d94f504f721981b413d521efbd75e4fe831ee26338cf3de3022f395ab27ea782cee4be53e06c7616bbd41d6926b18d219d75d5979f13cba2f52101019b0ec0a41ffdbf29ef73ddba70\n\n# tcId = 279\n# special case hash\nmsg = 36343039383737323834\nresult = valid\nsig = 3066023100a0ba8e8b979c20345e34fca98531900164a859923bd6986a9c39236a2f5de053a252997f35e5b84b0d48ba0f8d09aedd023100facd6df04358fcd95fa9018a6fc0828dfe319812ff65929c060b18ad4b9f06e7fc0addd1b695315d71c15e51dc51d719\n\n# tcId = 280\n# special case hash\nmsg = 36303735363930343132\nresult = valid\nsig = 3065023100b8378390f71f0bb6663f1846daf6908f8c84f770ae740cc8054122494cf0ffa9437ab26040ca22808fb29a810b70126e0230427636b929a500abc34d9f22977b81e734919afaf3ed2c91eeada7074e0c16bdc52f960eaec9db5a879c1e6414035101\n\n# tcId = 281\n# special case hash\nmsg = 32333231363233313335\nresult = valid\nsig = 3066023100f36a9048fd94803d3d6d1b11430b90b94ef8d5d2ad89018c69473ce9cfe0d6105b3c2fb2e7555ccd25f65af8c872bdc602310081254841e7ecbfd0d810afaaf5afd6d6c5d0542bb00cc183b1db01767120afbcc0006ddcba8db7baf65f302723dabc4d\n\n# tcId = 282\n# special case hash\nmsg = 36343130313532313731\nresult = valid\nsig = 3066023100d8a4d96409c191baa9540bf35f1d5192f9352d7f0e14f92c0e8e1f19f559b42ed3c6b7bdb6becc56584fb5c09421e2e4023100d966ba13d4245e248eafb46f2a3df92c2037d5969c7db6dbcb0ff4b21850e16a18a29785267239886365cf721a212536\n\n# tcId = 283\n# special case hash\nmsg = 383337323835373438\nresult = valid\nsig = 306402301d5d86fd48e65b0cf0b0b46062241f89cf65785dd818f93f1162771a38a15f20febc261812ecaaf6f4f2b86b3362d7eb02300c76e363de1432513cb9dad6493931381ecd25f142e61968b6f20d7b1270cb9e38a7ae54e4778aff40", - "25eb00c6a67aef\n\n# tcId = 284\n# special case hash\nmsg = 33333234373034353235\nresult = valid\nsig = 306402300508eed148f061114be18e8a86188feabf76b873b36eadcca9c2c60e24a2002fe456231decf7a8f6f032c08dbe0ab5a90230694c0ad781b2341e30e1d0739ac99672064f48821a69852c7940cf1d621738199c980d56d2a0b71b3fc6011c6b2444ba\n\n# tcId = 285\n# special case hash\nmsg = 31343033393636383732\nresult = valid\nsig = 30650230726ef88bb7947a043116c111cb519ddeda3e6ffbf724884a1b22c24409cdf2779d93ce610c8c07411c2b001399103d6d02310095dc1d65046caf0e8dad07b224798d6f7807278e737883e7c7bf0b446791d4ee144c26f710134861af4e6771d4082896\n\n# tcId = 286\n# special case hash\nmsg = 31323237363035313238\nresult = valid\nsig = 3066023100eb0e8e3c639f5eba8eccd9020d0ec62d8ac73f3fddbdfa08fdb2155deb0a536923ebd55e20020cab9f8e39a43a88be11023100c796df399fc35883dd5dae6817d02d3d67a8eec6601585e5e36fd2c134eddb1447ec12b144dddc9aae28a84f22602641\n\n# tcId = 287\n# special case hash\nmsg = 34393531343838333632\nresult = valid\nsig = 3065023100e8f8c69d0396ea900f9757736d2b19dbc2d2a8c01dccf490c8b9455bd63b34c095867e7cf3b84dc7c3c3d6b51bebf405023058152a7564eeb22a3e26597026d0cd7835725bd512245448cb5016eb48ea759809fd6949d0ee5d579643f72f908c16bb\n\n# tcId = 288\n# special case hash\nmsg = 32343532313237303139\nresult = valid\nsig = 30650230380b4e48b3ff012af7c08bf871d9f4da0c708b5494a986d3d80b1979e579d0dbee61db9bc3c04c396176410788e15a0f023100e6971c013c965a7e4df10f95620a5092fab096bd5b50828f4bc91c5e479bccf6e0daf287e7ef580fa9ea153fa1a507a2\n\n# tcId = 289\n# special case hash\nmsg = 31373331353530373036\nresult = valid\nsig = 30650231008061de12029e2b000d157a455ecf2301222f092df95b9551b78cf0ef3a64f12212b57ec7b16d2c0f258946f51cb1633a02300ac2ca6ad99b29ca29a0dc38b34443ee41020f81ed9087cef7681a00c4fe60653a572944ba37f1fe51d112bfffbdd701\n\n# tcId = 290\n# special case hash\nmsg = 31363637303639383738\nresult = valid\nsig = 3066023100e74f2a791eeb7341cff6cc1c24f459e6c0109924f7984639ae387e3ceb58758a1bc3839dea1fc3a3799562225e70a733023100d90e4d0f47343268e56bbcb011bd4734390abc9aa1304b6253e78f5a78b6905aa6bf6a3892a4ae1a875c823ae5a83e87\n\n# tcId = 291\n# special case hash\nmsg = 343431353437363137\nresult = valid\nsig = 306402306a1cd0ff7906be207b56862edcbc0d0bbfb26d43255c99f6ab77639f5e6103a07aa322b22ed43870d1ce6df68aa0a8c10230655558b129aa23184500bd4aab4f0355d3192e9b8860f60b05a1c29261f4486a6ae235a526339b86c05f5fac477b6723\n\n# tcId = 292\n# special case hash\nmsg = 343233393434393938\nresult = valid\nsig = 306602310081111fdc5f0de65583c7a5668d26c04ee52e08dac227753132cff1741cb721e112aa793c0d5fa047faf14cb45dd13e1f0231009a25cf1e6c152bc3e216e021561d194979f1c11fe17019ed7bac2c13c4010f209665e3b6f33b86641704d922b407818f\n\n# tcId = 293\n# special case hash\nmsg = 34383037363230373132\nresult = valid\nsig = 30660231009b66d122a315095b2b66ccb97272c476a2d760e827fdea05732d634df3d066569c984dd941aad5f5dec4c2e1b7b94a0002310096c32403c85bc3d0ee87f96a600182796dce53d54d7467ae660a42b87bb70792f14650ac28a5fa47ce9ca4d3b2c25878\n\n# tcId = 294\n# special case hash\nmsg = 32313634363636323839\nresult = valid\nsig = 306402302bb062a002088d62a0b7338d0484fedfe2af7e20cebf6a4788264eb27cb4ebc3cc81c816e6a35722cf9b464783094cb8023046cc21b70f2133f85ab0443bebe9c6fc62c6e2ec1fd9c4ddf4a6d5f3f48eb7abf1ee7bdf6725879fd1b7daafb44f6e04\n\n# tcId = 295\n# special case hash\nmsg = 31393432383533383635\nresult = valid\nsig = 3065023033e87061ee9a82eb74d8bb4ae91606563c2e4db8b09183cc00d1119ab4f5033d287a1fc90a2348163fdf68d35006fd7f02310096db97c947ee2e96e6139d3bcbf5a43606bae1ad3ca28290fbad43b281ef115ec1b98bc581ef48094f8c1aa8e36c282a\n\n# tcId = 296\n# special case hash\nmsg = 32323139333833353231\nresult = valid\nsig = 3064023070f80b438424ba228a7d80f26e22ff6a896243c9d49c75573489ee0de58ec60efd103838143465bd8fe34672ba9496170230115492bd9365b96f38747536318bffb819e7c146df3a5a7a46d6288c7fdf31cff570b22176aa398daba9073ab1e7b9bf\n\n# tcId = 297\n# special case hash\nmsg = 393236393333343139\nresult = valid\nsig = 3066023100ff16ca0389ea6948f4305b434fe0aa589f880f5aa937767c31170ee8da6c1ad620c993d40ddf141b7fda37424d51b5cd023100ba0f86985dffc61d6e35a37de06918b11e431b72403161acfb8f05c469f1fcfa6e215c6f7eb5a0a5e0cc9e7be79ce18b\n\n# tcId = 298\n# special case hash\nmsg = 373639333836333634\nresult = valid\nsig = 3065023100d60c24bee05f5198cd155ad095ffb956bbcfb66b82fc0d3755119915a62f2f923557b85ddc1d12e6a757f23042cb601b02302c4d968b5eac930b51d283b418fcff6df3a9d6d66e3812cd1bf5fde797fd203a7c439b1b381e4fe8b44e6f108764a7dd\n\n# tcId = 299\n# special case hash\nmsg = 32373335393330353733\nresult = valid\nsig = 3066023100bdf634d915a4fae7a155532ca2847c33a6babe7ef8db0af50f485db3dd2c8bffe722394583932f6eb5cd97f6db7561d9023100bb425cae2e5483174b5ed873af4329da4618c14458141850bee3c7bf1ffb3f2030159043277dacc708e9d32f63400083\n\n# tcId = 300\n# special case hash\nmsg = 38333030353634303635\nresult = valid\nsig = 30650230061320a3bcebac33cf399d45d1e1e1b34f37288fe4753f4fddfd496eff427e1d26b1b91d749cc34c12f4ecef837c0e8f023100fd5cf468cda319fe06e773a190c38de6e150a321ac1c416ad875432cdb7a07134c446f13068e71a1a96e35da923974ad\n\n# tcId = 301\n# special case hash\nmsg = 34333037363535373338\nresult = valid\nsig = 3065023100d620f063d33efa859b623f6c9a92340e4cdd854ffbe3e5e01379177aee31715ce587b00bd0aea98fddf236d2fc8a7a740230671f4b7c187297dc236c61888b6d9397e97783077cc4101807d79ee62e4a53a78c4b6a3a31b03178668af894a3d8902e\n\n# tcId = 302\n# special case hash\nmsg = 39363537303138313735\nresult = valid\nsig = 306502310091c556c5bddd529fe903b86afc0eb8fa1f49425b779a39114ae563bebc947e633ba4ee98948faa8940dfe2562c63e1c50230198b00079d8db072d25b0a49bc8bc36457926f3c101527528df6679f92c76f1b487e6695d4b92fe33b4ee7046a6a5df9\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 044bf4e52f958427ebb5915fb8c9595551b4d3a3fdab67badd9d6c3093f425ba43630df71f42f0eb7ceaa94d9f6448a85dd30331588249fd2fdc0b309ec7ed8481bc16f27800c13d7db700fc82e1b1c8545aa0c0d3b56e3bfe789fc18a916887c2]\n[key.wx = 4bf4e52f958427ebb5915fb8c9595551b4d3a3fdab67badd9d6c3093f425ba43630df71f42f0eb7ceaa94d9f6448a85d]\n[key.wy = 0d30331588249fd2fdc0b309ec7ed8481bc16f27800c13d7db700fc82e1b1c8545aa0c0d3b56e3bfe789fc18a916887c2]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200044bf4e52f958427ebb5915fb8c9595551b4d3a3fdab67badd9d6c3093f425ba43630df71f42f0eb7ceaa94d9f6448a85dd30331588249fd2fdc0b309ec7ed8481bc16f27800c13d7db700fc82e1b1c8545aa0c0d3b56e3bfe789fc18a916887c2]\n[sha = SHA-384]\n\n# tcId = 303\n# k*G has a large x-coordinate\nmsg = 313233343030\nresult = valid\nsig = 304d0218389cb27e0bc8d21fa7e5f24cb74f58851313e696333ad68b023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52970\n\n# tcId = 304\n# r too large\nmsg = 313233343030\nresult = invalid\nsig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffe023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52970\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 043623bb296b88f626d0f92656bf016f115b721277ccb4930739bfbd81f9c1e734630e0685d32e154e0b4a5c62e43851f6768356b4a5764c128c7b1105e3d778a89d1e01da297ede1bc4312c2583e0bbddd21613583dd09ab895c63be479f94576]\n[key.wx = 3623bb296b88f626d0f92656bf016f115b721277ccb4930739bfbd81f9c1e734630e0685d32e154e0b4a5c62e43851f6]\n[key.wy = 768356b4a5764c128c7b1105e3d778a89d1e01da297ede1bc4312c2583e0bbddd21613583dd09ab895c63be479f94576]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200043623bb296b88f626d0f92656bf016f115b721277ccb4930739bfbd81f9c1e734630e0685d32e154e0b4a5c62e43851f6768356b4a5764c128c7b1105e3d778a89d1e01da297ede1bc4312c2583e0bbddd21613583dd09ab895c63be479f94576]\n[sha = SHA-384]\n\n# tcId = 305\n# r,s are large\nmsg = 313233343030\nresult = valid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52971\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04d516cb8ac8e4457b693d5192beeb6ce7d9a46bef48eecf3ea823286f101f98d130f5a26dc6fec23662eff07f14486fd58456932e74894b7f0e3bb0dfd362502b3765dd80a3177209fb221dc9b51aaf4470b245391405bef514176b13a267a720]\n[key.wx = 0d516cb8ac8e4457b693d5192beeb6ce7d9a46bef48eecf3ea8", - "23286f101f98d130f5a26dc6fec23662eff07f14486fd5]\n[key.wy = 08456932e74894b7f0e3bb0dfd362502b3765dd80a3177209fb221dc9b51aaf4470b245391405bef514176b13a267a720]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004d516cb8ac8e4457b693d5192beeb6ce7d9a46bef48eecf3ea823286f101f98d130f5a26dc6fec23662eff07f14486fd58456932e74894b7f0e3bb0dfd362502b3765dd80a3177209fb221dc9b51aaf4470b245391405bef514176b13a267a720]\n[sha = SHA-384]\n\n# tcId = 306\n# r and s^-1 have a large Hamming weight\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100d1aee55fdc2a716ba2fabcb57020b72e539bf05c7902f98e105bf83d4cc10c2a159a3cf7e01d749d2205f4da6bd8fcf1\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04a8380cd35026e13bf87be693cdb6e75a82d765b4019b529e8d277c4af6c9db27ebb5d3f86e88add9d5b61186f04c83a992a187507c737325d2cc624acef3cd036bfa99e0c1518be65c88bb51f900f94123acabad81d15130d3ade7ff7e4364e1]\n[key.wx = 0a8380cd35026e13bf87be693cdb6e75a82d765b4019b529e8d277c4af6c9db27ebb5d3f86e88add9d5b61186f04c83a9]\n[key.wy = 092a187507c737325d2cc624acef3cd036bfa99e0c1518be65c88bb51f900f94123acabad81d15130d3ade7ff7e4364e1]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004a8380cd35026e13bf87be693cdb6e75a82d765b4019b529e8d277c4af6c9db27ebb5d3f86e88add9d5b61186f04c83a992a187507c737325d2cc624acef3cd036bfa99e0c1518be65c88bb51f900f94123acabad81d15130d3ade7ff7e4364e1]\n[sha = SHA-384]\n\n# tcId = 307\n# r and s^-1 have a large Hamming weight\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100b6b681dc484f4f020fd3f7e626d88edc6ded1b382ef3e143d60887b51394260832d4d8f2ef70458f9fa90e38c2e19e4f\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04554f2fd0b700a9f4568752b673d9c0d29dc96c10fe67e38c6d6d339bfafe05f970da8c3d2164e82031307a44bd32251171312b61b59113ff0bd3b8a9a4934df262aa8096f840e9d8bffa5d7491ded87b38c496f9b9e4f0ba1089f8d3ffc88a9f]\n[key.wx = 554f2fd0b700a9f4568752b673d9c0d29dc96c10fe67e38c6d6d339bfafe05f970da8c3d2164e82031307a44bd322511]\n[key.wy = 71312b61b59113ff0bd3b8a9a4934df262aa8096f840e9d8bffa5d7491ded87b38c496f9b9e4f0ba1089f8d3ffc88a9f]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004554f2fd0b700a9f4568752b673d9c0d29dc96c10fe67e38c6d6d339bfafe05f970da8c3d2164e82031307a44bd32251171312b61b59113ff0bd3b8a9a4934df262aa8096f840e9d8bffa5d7491ded87b38c496f9b9e4f0ba1089f8d3ffc88a9f]\n[sha = SHA-384]\n\n# tcId = 308\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020102020101\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 0444ee3335fa77d2fb02e4bd7074f45e598a879c0fa822ec718c21dc13b83440edc4e3c10a1858423e03044c9eff22591cd027c49933e5510557d6b4b2c6f66fe5dcb9302a3b13fdc68048c3fcac88ba152b6a9833c87fdc6280afc5d11ab7c107]\n[key.wx = 44ee3335fa77d2fb02e4bd7074f45e598a879c0fa822ec718c21dc13b83440edc4e3c10a1858423e03044c9eff22591c]\n[key.wy = 0d027c49933e5510557d6b4b2c6f66fe5dcb9302a3b13fdc68048c3fcac88ba152b6a9833c87fdc6280afc5d11ab7c107]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000444ee3335fa77d2fb02e4bd7074f45e598a879c0fa822ec718c21dc13b83440edc4e3c10a1858423e03044c9eff22591cd027c49933e5510557d6b4b2c6f66fe5dcb9302a3b13fdc68048c3fcac88ba152b6a9833c87fdc6280afc5d11ab7c107]\n[sha = SHA-384]\n\n# tcId = 309\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020102020102\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04e2f87f72e3c66c73037fe77607d42ad2d9c4cc159893b4b9b8b0365d3a7766dbe8678b02e2b68f58e5a4f7681061a390e38f2142818542bef6b2bc3a2c4f43c95e5259d6bd5401531378c7ca125a1f6cc609d4fadfc5c9a99358ee77ff780c8d]\n[key.wx = 0e2f87f72e3c66c73037fe77607d42ad2d9c4cc159893b4b9b8b0365d3a7766dbe8678b02e2b68f58e5a4f7681061a390]\n[key.wy = 0e38f2142818542bef6b2bc3a2c4f43c95e5259d6bd5401531378c7ca125a1f6cc609d4fadfc5c9a99358ee77ff780c8d]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004e2f87f72e3c66c73037fe77607d42ad2d9c4cc159893b4b9b8b0365d3a7766dbe8678b02e2b68f58e5a4f7681061a390e38f2142818542bef6b2bc3a2c4f43c95e5259d6bd5401531378c7ca125a1f6cc609d4fadfc5c9a99358ee77ff780c8d]\n[sha = SHA-384]\n\n# tcId = 310\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020102020103\n\n# tcId = 311\n# r is larger than n\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52975020103\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 0405e67c44fc0cbc9a8eb343b4d6f596c7d00cac5da8594caf45b7209397496214c42d856a015ce589bc9ba865a4fab5ab88a01c7b5d09efaf878fcb9102fb3875a8381af234d1c593076e452225a56f51674f347126d3009b44dcbb003a64d95f]\n[key.wx = 5e67c44fc0cbc9a8eb343b4d6f596c7d00cac5da8594caf45b7209397496214c42d856a015ce589bc9ba865a4fab5ab]\n[key.wy = 088a01c7b5d09efaf878fcb9102fb3875a8381af234d1c593076e452225a56f51674f347126d3009b44dcbb003a64d95f]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000405e67c44fc0cbc9a8eb343b4d6f596c7d00cac5da8594caf45b7209397496214c42d856a015ce589bc9ba865a4fab5ab88a01c7b5d09efaf878fcb9102fb3875a8381af234d1c593076e452225a56f51674f347126d3009b44dcbb003a64d95f]\n[sha = SHA-384]\n\n# tcId = 312\n# s is larger than n\nmsg = 313233343030\nresult = invalid\nsig = 3036020102023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accd7fffa\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 040bb03fce3c01ebcf0873abd134a8682f5fb8dbffa22da674047e5c3e71e43de582ed6abb908c2e4faa5d96186278b6c1ba3b22123e68ccc56f17dd79ff15565706f71a0b6123c77af3cd88f0af024cc5259781516edcaf5fe990646e7b66999d]\n[key.wx = 0bb03fce3c01ebcf0873abd134a8682f5fb8dbffa22da674047e5c3e71e43de582ed6abb908c2e4faa5d96186278b6c1]\n[key.wy = 0ba3b22123e68ccc56f17dd79ff15565706f71a0b6123c77af3cd88f0af024cc5259781516edcaf5fe990646e7b66999d]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200040bb03fce3c01ebcf0873abd134a8682f5fb8dbffa22da674047e5c3e71e43de582ed6abb908c2e4faa5d96186278b6c1ba3b22123e68ccc56f17dd79ff15565706f71a0b6123c77af3cd88f0af024cc5259781516edcaf5fe990646e7b66999d]\n[sha = SHA-384]\n\n# tcId = 313\n# small r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3036020201000230489122448912244891224489122448912244891224489122347ce79bc437f4d071aaa92c7d6c882ae8734dc18cb0d553\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 0458f246090d5e49863bc0bf2d501ff72f551c5f1c5e679eb49064fd02e221a2707326ec2d140bcc817afaad5065761566497c823fd736882cbf78fb92b1a5589b67e8067497c710a4cbb39dee2c5431bc45cfb96c9f8454385c9f2b3ef2d3d31a]\n[key.wx = 58f246090d5e49863bc0bf2d501ff72f551c5f1c5e679eb49064fd02e221a2707326ec2d140bcc817afaad5065761566]\n[key.wy = 497c823fd736882cbf78fb92b1a5589b67e8067497c710a4cbb39dee2c5431bc45cfb96c9f8454385c9f2b3ef2d3d31a]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000458f246090d5e49863bc0bf2d501ff72f551c5f1c5e679eb49064fd02e221a2707326ec2d140bcc817afaad5065761566497c823fd736882cbf78fb92b1a5589b67e8067497c710a4cbb39dee2c5431bc45cfb96c9f8454385c9f2b3ef2d3d31a]\n[sha = SHA-384]\n\n# tcId = 314\n# smallish r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303c02072d9b4d347952cd023100ce751512561b6f57c75342848a3ff98ccf9c3f0219b6b68d00449e6c971a85d2e2ce73554b59219d54d2083b46327351\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04fc6984dd6830d1485fb2581a45a791d8dca2c727c73d3d44c89f0082c1868af5ca74b4ca4ae22802640a9ebfe8c7ae12998d63a5b5ad1b72b899f0b132e4952aaa19d41fdeea48b1ed6b8358dd1db207fd66e01453ad40f67b836adc802d5fe8]\n[key.wx = 0fc6984dd6830d1485fb2581a45a791d8dca2c727c73d3d44c89f0082c1868af5ca74b4ca4ae22802640a9ebfe8c7ae12]\n[key.wy = 0998d63a5b5ad1b72b899f0b132e4952aaa19d41fdeea48b1ed6b8358dd1db207fd66e01453ad40f67b836adc802d5fe8]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004fc6984dd6830d1485fb2581a45a791d8dca2c727c73d3d44c89f0082c1868af5ca74b4ca4ae22802640a9ebfe8c7ae12998d63a5b5ad1b72b899f0b132e4952aaa19d41fdeea48b1ed6b8358dd1db207fd66e01453ad40f67", - "b836adc802d5fe8]\n[sha = SHA-384]\n\n# tcId = 315\n# 100-bit r and small s^-1\nmsg = 313233343030\nresult = valid\nsig = 3041020d1033e67e37b32b445580bf4efb02302ad52ad52ad52ad52ad52ad52ad52ad52ad52ad52ad52ad5215c51b320e460542f9cc38968ccdf4263684004eb79a452\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 041b8def5922303d647e8eb07e3bad92f924b79b769eef168e7541de1f4e0d28ae9733eb98cf8a1fb6dd52ca02c8c75b51c7aa4bf679d49d8114122074da8f6044a427371796a5654a6106162d5f686abb73ebd896ab08c7062687f12171fbe4a3]\n[key.wx = 1b8def5922303d647e8eb07e3bad92f924b79b769eef168e7541de1f4e0d28ae9733eb98cf8a1fb6dd52ca02c8c75b51]\n[key.wy = 0c7aa4bf679d49d8114122074da8f6044a427371796a5654a6106162d5f686abb73ebd896ab08c7062687f12171fbe4a3]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200041b8def5922303d647e8eb07e3bad92f924b79b769eef168e7541de1f4e0d28ae9733eb98cf8a1fb6dd52ca02c8c75b51c7aa4bf679d49d8114122074da8f6044a427371796a5654a6106162d5f686abb73ebd896ab08c7062687f12171fbe4a3]\n[sha = SHA-384]\n\n# tcId = 316\n# small r and 100 bit s^-1\nmsg = 313233343030\nresult = valid\nsig = 303602020100023077a172dfe37a2c53f0b92ab60f0a8f085f49dbfd930719d6f9e587ea68ae57cb49cd35a88cf8c6acec02f057a3807a5b\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 041734a039a88a16c2ff4aa97d2399121f56f52ef01ed5e50887f736f65b6e51d6e8786abb4e063da5d1ba812dff998403ccd698e6c296d5cd69178f8a82481a865da331627f1c4b324fbc02b36e8b5ed58a31f728e904d203a388755302195765]\n[key.wx = 1734a039a88a16c2ff4aa97d2399121f56f52ef01ed5e50887f736f65b6e51d6e8786abb4e063da5d1ba812dff998403]\n[key.wy = 0ccd698e6c296d5cd69178f8a82481a865da331627f1c4b324fbc02b36e8b5ed58a31f728e904d203a388755302195765]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200041734a039a88a16c2ff4aa97d2399121f56f52ef01ed5e50887f736f65b6e51d6e8786abb4e063da5d1ba812dff998403ccd698e6c296d5cd69178f8a82481a865da331627f1c4b324fbc02b36e8b5ed58a31f728e904d203a388755302195765]\n[sha = SHA-384]\n\n# tcId = 317\n# 100-bit r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3041020d062522bbd3ecbe7c39e93e7c24023077a172dfe37a2c53f0b92ab60f0a8f085f49dbfd930719d6f9e587ea68ae57cb49cd35a88cf8c6acec02f057a3807a5b\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 0452ca47dda99172cb8321495acf988548295988ec973c1b4ea9462c53e5768a704a936410ee847b5dbf1e9d0c131da6c787a47027e6655792eb002d4228ee72f7c814c9a0cecbff267948f81c9903ac10eb35f6cb86369224ed609811cdf390f4]\n[key.wx = 52ca47dda99172cb8321495acf988548295988ec973c1b4ea9462c53e5768a704a936410ee847b5dbf1e9d0c131da6c7]\n[key.wy = 087a47027e6655792eb002d4228ee72f7c814c9a0cecbff267948f81c9903ac10eb35f6cb86369224ed609811cdf390f4]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000452ca47dda99172cb8321495acf988548295988ec973c1b4ea9462c53e5768a704a936410ee847b5dbf1e9d0c131da6c787a47027e6655792eb002d4228ee72f7c814c9a0cecbff267948f81c9903ac10eb35f6cb86369224ed609811cdf390f4]\n[sha = SHA-384]\n\n# tcId = 318\n# r and s^-1 are close to n\nmsg = 313233343030\nresult = valid\nsig = 3065023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc528f3023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04bd3d91f003e18adbea73079d4eba23b91fc17fcec14c9eb15a193fbc9ca39c8c747cd7a2c9623e05dd587ccbb8ab4c443adb0a0706aa5ea7a68042082fccefc979612a7a1a3d694b00793b03f89bff866a8b97c8e77990c29360ce795036c764]\n[key.wx = 0bd3d91f003e18adbea73079d4eba23b91fc17fcec14c9eb15a193fbc9ca39c8c747cd7a2c9623e05dd587ccbb8ab4c44]\n[key.wy = 3adb0a0706aa5ea7a68042082fccefc979612a7a1a3d694b00793b03f89bff866a8b97c8e77990c29360ce795036c764]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004bd3d91f003e18adbea73079d4eba23b91fc17fcec14c9eb15a193fbc9ca39c8c747cd7a2c9623e05dd587ccbb8ab4c443adb0a0706aa5ea7a68042082fccefc979612a7a1a3d694b00793b03f89bff866a8b97c8e77990c29360ce795036c764]\n[sha = SHA-384]\n\n# tcId = 319\n# s == 1\nmsg = 313233343030\nresult = valid\nsig = 3035023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326020101\n\n# tcId = 320\n# s == 0\nmsg = 313233343030\nresult = invalid\nsig = 3035023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326020100\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04f896353cc3a8afdd543ec3aef062ca97bc32ed1724ea38b940b8c0ea0e23b34187afbe70daf8dbaa5b511557e5d2bddac4bd265da67ceeafca636f6f4c0472f22a9d02e2289184f73bbb700ae8fc921eff4920f290bfcb49fbb232cc13a21028]\n[key.wx = 0f896353cc3a8afdd543ec3aef062ca97bc32ed1724ea38b940b8c0ea0e23b34187afbe70daf8dbaa5b511557e5d2bdda]\n[key.wy = 0c4bd265da67ceeafca636f6f4c0472f22a9d02e2289184f73bbb700ae8fc921eff4920f290bfcb49fbb232cc13a21028]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004f896353cc3a8afdd543ec3aef062ca97bc32ed1724ea38b940b8c0ea0e23b34187afbe70daf8dbaa5b511557e5d2bddac4bd265da67ceeafca636f6f4c0472f22a9d02e2289184f73bbb700ae8fc921eff4920f290bfcb49fbb232cc13a21028]\n[sha = SHA-384]\n\n# tcId = 321\n# point at infinity during verify\nmsg = 313233343030\nresult = invalid\nsig = 306402307fffffffffffffffffffffffffffffffffffffffffffffffe3b1a6c0fa1b96efac0d06d9245853bd76760cb5666294b9023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 043ecfd58a3ce583866e0471d16eb3c10a411ec3b8671f3a04769b1ed8464a71cf1c76d8d9b7e3670bbe712d6f554a9383d980d8bedf57470d6b45cc1ad0c6426dc70a0e4be901106a36663bfcab04fcb86008777b92445120d5e3641d97396362]\n[key.wx = 3ecfd58a3ce583866e0471d16eb3c10a411ec3b8671f3a04769b1ed8464a71cf1c76d8d9b7e3670bbe712d6f554a9383]\n[key.wy = 0d980d8bedf57470d6b45cc1ad0c6426dc70a0e4be901106a36663bfcab04fcb86008777b92445120d5e3641d97396362]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200043ecfd58a3ce583866e0471d16eb3c10a411ec3b8671f3a04769b1ed8464a71cf1c76d8d9b7e3670bbe712d6f554a9383d980d8bedf57470d6b45cc1ad0c6426dc70a0e4be901106a36663bfcab04fcb86008777b92445120d5e3641d97396362]\n[sha = SHA-384]\n\n# tcId = 322\n# u1 == 1\nmsg = 313233343030\nresult = valid\nsig = 3065023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326023100f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 044150ccd0fa45aa2ef6b5042ddbb1b87c5ffd1115a8fe5995641948acda82a7b190762d84352cd74d1ca01e79f68f9cb4eb11be9d494c181c156e23e77e532bdf0a20c3cc74ba8c29b1f3eb2bd99129ee0d70ff0d593f0d7a6d6887e7c55930d2]\n[key.wx = 4150ccd0fa45aa2ef6b5042ddbb1b87c5ffd1115a8fe5995641948acda82a7b190762d84352cd74d1ca01e79f68f9cb4]\n[key.wy = 0eb11be9d494c181c156e23e77e532bdf0a20c3cc74ba8c29b1f3eb2bd99129ee0d70ff0d593f0d7a6d6887e7c55930d2]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200044150ccd0fa45aa2ef6b5042ddbb1b87c5ffd1115a8fe5995641948acda82a7b190762d84352cd74d1ca01e79f68f9cb4eb11be9d494c181c156e23e77e532bdf0a20c3cc74ba8c29b1f3eb2bd99129ee0d70ff0d593f0d7a6d6887e7c55930d2]\n[sha = SHA-384]\n\n# tcId = 323\n# u1 == n - 1\nmsg = 313233343030\nresult = valid\nsig = 3064023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec63260230064ed80f27e1432e84845f15ece399f2cbf4fa31aa837de9b953d44413b9f5c7c7f67989d703f07abef11b6ad0373ea5\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04e78fe2c11beac7090ee0af7fed469a8ccebd3cccc4ee9fccc8ef3fc0455b69aaa082dc13e1d84f34026cb6f0af9e992ff34ebba71bf3a4050bf28e4084b5c5f5d4098ec46f10a31b02fb4bf20cc9362f6f02a66e802f817507535fac3ec0b099]\n[key.wx = 0e78fe2c11beac7090ee0af7fed469a8ccebd3cccc4ee9fccc8ef3fc0455b69aaa082dc13e1d84f34026cb6f0af9e992f]\n[key.wy = 0f34ebba71bf3a4050bf28e4084b5c5f5d4098ec46f10a31b02fb4bf20cc9362f6f02a66e802f817507535fac3ec0b099]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004e78fe2c11beac7090ee0af7fed469a8ccebd3cccc4ee9fccc8ef3fc0455b69aaa082dc13e1d84f34026cb6f0af9e992ff34eb", - "ba71bf3a4050bf28e4084b5c5f5d4098ec46f10a31b02fb4bf20cc9362f6f02a66e802f817507535fac3ec0b099]\n[sha = SHA-384]\n\n# tcId = 324\n# u2 == 1\nmsg = 313233343030\nresult = valid\nsig = 3064023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04ee24ab8a34d05af684939357f32759cc5a14f3c717529a20aea8e0c5965d8a41e68925f688471994b72021ba51b28c090a55693c92ad0cbae9edcf515e2b4c060b888d82c81e4a3b6a173b62ed04a46fa95db1a2f3949980fba2e371263c4fa9]\n[key.wx = 0ee24ab8a34d05af684939357f32759cc5a14f3c717529a20aea8e0c5965d8a41e68925f688471994b72021ba51b28c09]\n[key.wy = 0a55693c92ad0cbae9edcf515e2b4c060b888d82c81e4a3b6a173b62ed04a46fa95db1a2f3949980fba2e371263c4fa9]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004ee24ab8a34d05af684939357f32759cc5a14f3c717529a20aea8e0c5965d8a41e68925f688471994b72021ba51b28c090a55693c92ad0cbae9edcf515e2b4c060b888d82c81e4a3b6a173b62ed04a46fa95db1a2f3949980fba2e371263c4fa9]\n[sha = SHA-384]\n\n# tcId = 325\n# u2 == n - 1\nmsg = 313233343030\nresult = valid\nsig = 3065023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326023100aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa84ecde56a2cf73ea3abc092185cb1a51f34810f1ddd8c64d\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 043d2e916055c92e1b36133f5937b37c1b0102834eb77008a3ba9c3da446e9065971d68ba913091851e10cff5b4cd875c139aa7aadfc2caf7107b17ae1aea8b299d61bf15aca0cb3fd6f1ffde8192bfe58f0822bbbc1f55bddf6b4fe9c8f2b0eac]\n[key.wx = 3d2e916055c92e1b36133f5937b37c1b0102834eb77008a3ba9c3da446e9065971d68ba913091851e10cff5b4cd875c1]\n[key.wy = 39aa7aadfc2caf7107b17ae1aea8b299d61bf15aca0cb3fd6f1ffde8192bfe58f0822bbbc1f55bddf6b4fe9c8f2b0eac]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200043d2e916055c92e1b36133f5937b37c1b0102834eb77008a3ba9c3da446e9065971d68ba913091851e10cff5b4cd875c139aa7aadfc2caf7107b17ae1aea8b299d61bf15aca0cb3fd6f1ffde8192bfe58f0822bbbc1f55bddf6b4fe9c8f2b0eac]\n[sha = SHA-384]\n\n# tcId = 326\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0230533b0d50480a3ef07e7e8af8b1097759bc03ac9a1c7ed6075a052869f57f12b285613162d08ee7aab9fe54aaa984a39a\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04ae596697427aa250156c05ac4338e48980a7f093ea1f1fe67098b43f6539c1b20ae74338f9bf270d33663c50abe8fd001ca6a52732db74ab15d2f249a3d839080f898367dfd64992cdce2708deaad523a2a236b43400424241c91a35b530fa50]\n[key.wx = 0ae596697427aa250156c05ac4338e48980a7f093ea1f1fe67098b43f6539c1b20ae74338f9bf270d33663c50abe8fd00]\n[key.wy = 1ca6a52732db74ab15d2f249a3d839080f898367dfd64992cdce2708deaad523a2a236b43400424241c91a35b530fa50]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004ae596697427aa250156c05ac4338e48980a7f093ea1f1fe67098b43f6539c1b20ae74338f9bf270d33663c50abe8fd001ca6a52732db74ab15d2f249a3d839080f898367dfd64992cdce2708deaad523a2a236b43400424241c91a35b530fa50]\n[sha = SHA-384]\n\n# tcId = 327\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100d49a253986bbaa8ce9c3d3808313d39c3b950a478372edc009bc0566b73be7b05dad0737e16960257cc16db6ec6c620f\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 0488738f9981dd4d1fabb60ad83c2dd6dfc9da302209ae3e53498a883b6e39a38bead9b02709f352d3e6b6578154eab2529388a05c6b9f3a4028abb9950a51f5264ecd7580a423fdec9472faeeb57f92e31c46bef2a781fe5edad026009f198262]\n[key.wx = 088738f9981dd4d1fabb60ad83c2dd6dfc9da302209ae3e53498a883b6e39a38bead9b02709f352d3e6b6578154eab252]\n[key.wy = 09388a05c6b9f3a4028abb9950a51f5264ecd7580a423fdec9472faeeb57f92e31c46bef2a781fe5edad026009f198262]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000488738f9981dd4d1fabb60ad83c2dd6dfc9da302209ae3e53498a883b6e39a38bead9b02709f352d3e6b6578154eab2529388a05c6b9f3a4028abb9950a51f5264ecd7580a423fdec9472faeeb57f92e31c46bef2a781fe5edad026009f198262]\n[sha = SHA-384]\n\n# tcId = 328\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0230285090b0d6a6820bbba394efbee5c24a2281e825d2f6c55fb7a85b8251db00f75ab07cc993ceaf664f3c116baf34b021\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04f421541311c94fdd79fc298f8ab1a3adfd08029fdad439a94d4cea11f7e799bc439609f2fb7be3f349d55e484d0a0d36b35330bbdbec1e75f2984483d96bf210d722c1830292ffc35a2f6a21a4b50519f565f024bbccc97228a2f8ad8fadc0d5]\n[key.wx = 0f421541311c94fdd79fc298f8ab1a3adfd08029fdad439a94d4cea11f7e799bc439609f2fb7be3f349d55e484d0a0d36]\n[key.wy = 0b35330bbdbec1e75f2984483d96bf210d722c1830292ffc35a2f6a21a4b50519f565f024bbccc97228a2f8ad8fadc0d5]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004f421541311c94fdd79fc298f8ab1a3adfd08029fdad439a94d4cea11f7e799bc439609f2fb7be3f349d55e484d0a0d36b35330bbdbec1e75f2984483d96bf210d722c1830292ffc35a2f6a21a4b50519f565f024bbccc97228a2f8ad8fadc0d5]\n[sha = SHA-384]\n\n# tcId = 329\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100b39af4a81ee4ae79064ed80f27e1432e84845f15ece399f2a43d2505a0a8c72c5731f4fd967420b1000e3f75502ed7b7\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04399be4cfc439f94f2421cbd34c2cd90bae53eb60ddfafca52f7275d165d14fa659b636713b5d4b39e62fd48bae141d0e1b23e3b4f0c202ed7b59db78a35c12ac698c603eab144fd09ac2ed8f4495f607e4d2c87a23ce2ec33e410ca47ecc2555]\n[key.wx = 399be4cfc439f94f2421cbd34c2cd90bae53eb60ddfafca52f7275d165d14fa659b636713b5d4b39e62fd48bae141d0e]\n[key.wy = 1b23e3b4f0c202ed7b59db78a35c12ac698c603eab144fd09ac2ed8f4495f607e4d2c87a23ce2ec33e410ca47ecc2555]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004399be4cfc439f94f2421cbd34c2cd90bae53eb60ddfafca52f7275d165d14fa659b636713b5d4b39e62fd48bae141d0e1b23e3b4f0c202ed7b59db78a35c12ac698c603eab144fd09ac2ed8f4495f607e4d2c87a23ce2ec33e410ca47ecc2555]\n[sha = SHA-384]\n\n# tcId = 330\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100af4a81ee4ae79064ed80f27e1432e84845f15ece399f2cbf28df829ccd30f5ef62ec23957b837d73fe4e156edccd4465\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 041578bbff72137c4bca33d7385a892be94cb059f9091ddfe890345f712a9fba5fc77084cec11084ed048491604a07f66c76bbaa872f0710d82a08d9dddd833c7be7c7e8e265f49145157eb4e8e8280076a37ee5873271db510034da19da24415b]\n[key.wx = 1578bbff72137c4bca33d7385a892be94cb059f9091ddfe890345f712a9fba5fc77084cec11084ed048491604a07f66c]\n[key.wy = 76bbaa872f0710d82a08d9dddd833c7be7c7e8e265f49145157eb4e8e8280076a37ee5873271db510034da19da24415b]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200041578bbff72137c4bca33d7385a892be94cb059f9091ddfe890345f712a9fba5fc77084cec11084ed048491604a07f66c76bbaa872f0710d82a08d9dddd833c7be7c7e8e265f49145157eb4e8e8280076a37ee5873271db510034da19da24415b]\n[sha = SHA-384]\n\n# tcId = 331\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02305e9503dc95cf20c9db01e4fc2865d0908be2bd9c733e597e8a5bb7b7a62abdff6dbe3978ae56536d0fb01172ecd55f57\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 0433ba451c85e729058f83041077a4695eb47df93e718b09a4618c753ac803cd75c1a91290c2ff5a635389d07149571dab1fc7d8a71776851ff244ff632fe6f92e1652e5284893c4244fe775d8efc589d823dd03f3919027f004537bd8ee09f3a3]\n[key.wx = 33ba451c85e729058f83041077a4695eb47df93e718b09a4618c753ac803cd75c1a91290c2ff5a635389d07149571dab]\n[key.wy = 1fc7d8a71776851ff244ff632fe6f92e1652e5284893c4244fe775d8efc589d82", - "3dd03f3919027f004537bd8ee09f3a3]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000433ba451c85e729058f83041077a4695eb47df93e718b09a4618c753ac803cd75c1a91290c2ff5a635389d07149571dab1fc7d8a71776851ff244ff632fe6f92e1652e5284893c4244fe775d8efc589d823dd03f3919027f004537bd8ee09f3a3]\n[sha = SHA-384]\n\n# tcId = 332\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02301ee4ae79064ed80f27e1432e84845f15ece399f2cbf4fa31a3ae8edab84dc3330a39f70938e3912bd59753de5aed3088\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04040771e3390216fed2c6208bdf5bfea83ab1915b166e626569f12efd410a39b7e7c76f70f0012843a26debf4ccc33ddae5bc5f7e62d054eac31cd022afdb71b7c638f24c30cbad0ef35ed2fc9917f356e9c3f04391b21d1035274b81537fcbf3]\n[key.wx = 40771e3390216fed2c6208bdf5bfea83ab1915b166e626569f12efd410a39b7e7c76f70f0012843a26debf4ccc33dda]\n[key.wy = 0e5bc5f7e62d054eac31cd022afdb71b7c638f24c30cbad0ef35ed2fc9917f356e9c3f04391b21d1035274b81537fcbf3]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004040771e3390216fed2c6208bdf5bfea83ab1915b166e626569f12efd410a39b7e7c76f70f0012843a26debf4ccc33ddae5bc5f7e62d054eac31cd022afdb71b7c638f24c30cbad0ef35ed2fc9917f356e9c3f04391b21d1035274b81537fcbf3]\n[sha = SHA-384]\n\n# tcId = 333\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100bb51cd3ba8eb201f53ddb4e34e08c0ff7dff9378106784d798d5a3440bd6dc34be3a0eaef8776619a0c97fefb15720b3\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 0498d3f16e1c510a933e648e78d01588319f002e9475df8942a2a89db0666bb7c88b32bb248140e44ac4ab28111b2b792399a926f4a66fbe28ff65c09f8306893aec094b89d0fe529e3577c5ecf30a7944caaf530f4575eb113fcf4c200d2dd4bd]\n[key.wx = 098d3f16e1c510a933e648e78d01588319f002e9475df8942a2a89db0666bb7c88b32bb248140e44ac4ab28111b2b7923]\n[key.wy = 099a926f4a66fbe28ff65c09f8306893aec094b89d0fe529e3577c5ecf30a7944caaf530f4575eb113fcf4c200d2dd4bd]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000498d3f16e1c510a933e648e78d01588319f002e9475df8942a2a89db0666bb7c88b32bb248140e44ac4ab28111b2b792399a926f4a66fbe28ff65c09f8306893aec094b89d0fe529e3577c5ecf30a7944caaf530f4575eb113fcf4c200d2dd4bd]\n[sha = SHA-384]\n\n# tcId = 334\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100e707e267ea635384a6da09823149f5cb7acbb29e910d2630c5fb5afbc42aa8436349b214a3b8fb9481ec999e005091f8\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04d1fd602feef80be9e55a19d1a9799c72a899110c6ac21fb3c21357069809d591a8775b64d1867a8cfff124f6a5e3a4f5f9548064f01b9af8868705493a37a037193b48f53b7c7973023f53e6ceff6830ca2f7a14ef51536d453af43b3058d8a9]\n[key.wx = 0d1fd602feef80be9e55a19d1a9799c72a899110c6ac21fb3c21357069809d591a8775b64d1867a8cfff124f6a5e3a4f5]\n[key.wy = 0f9548064f01b9af8868705493a37a037193b48f53b7c7973023f53e6ceff6830ca2f7a14ef51536d453af43b3058d8a9]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004d1fd602feef80be9e55a19d1a9799c72a899110c6ac21fb3c21357069809d591a8775b64d1867a8cfff124f6a5e3a4f5f9548064f01b9af8868705493a37a037193b48f53b7c7973023f53e6ceff6830ca2f7a14ef51536d453af43b3058d8a9]\n[sha = SHA-384]\n\n# tcId = 335\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100acc4f2afb7f5c10f818175074ef688a643fc5365e38129f86d5e2517feb81b2cd2b8dc4f7821bfd032edc4c0234085d9\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 0482f37604f66664c2883dba6d98397c281045cbf59f1d16dddb1381126a246553a8b4d2aaea48ad9185a1645f65567d318a4d7b19f1d2e4434c9a8ecad396304abc82221bbab0679935071c72fd975e7b021c04b1d16ea36fc2d051ef5a8e117c]\n[key.wx = 082f37604f66664c2883dba6d98397c281045cbf59f1d16dddb1381126a246553a8b4d2aaea48ad9185a1645f65567d31]\n[key.wy = 08a4d7b19f1d2e4434c9a8ecad396304abc82221bbab0679935071c72fd975e7b021c04b1d16ea36fc2d051ef5a8e117c]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000482f37604f66664c2883dba6d98397c281045cbf59f1d16dddb1381126a246553a8b4d2aaea48ad9185a1645f65567d318a4d7b19f1d2e4434c9a8ecad396304abc82221bbab0679935071c72fd975e7b021c04b1d16ea36fc2d051ef5a8e117c]\n[sha = SHA-384]\n\n# tcId = 336\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02310083276c0793f0a19742422f8af671ccf965fa7d18d541bef4c05b90e303f891d39008439e0fda4bfad5ee9a6ace7e340c\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04f052dfc27bf8a6d36f3739f239b981f5b53fe08d999ec683b01e43e7596156206ba08b8b9f59229e2fbdce05f1e40f9990f0fdfb7029f9b3e8c6144dad0339208b7cdcb3820a554259db9d27afdd18f4a750296c59bad6b62df076f90d53be0d]\n[key.wx = 0f052dfc27bf8a6d36f3739f239b981f5b53fe08d999ec683b01e43e7596156206ba08b8b9f59229e2fbdce05f1e40f99]\n[key.wy = 090f0fdfb7029f9b3e8c6144dad0339208b7cdcb3820a554259db9d27afdd18f4a750296c59bad6b62df076f90d53be0d]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004f052dfc27bf8a6d36f3739f239b981f5b53fe08d999ec683b01e43e7596156206ba08b8b9f59229e2fbdce05f1e40f9990f0fdfb7029f9b3e8c6144dad0339208b7cdcb3820a554259db9d27afdd18f4a750296c59bad6b62df076f90d53be0d]\n[sha = SHA-384]\n\n# tcId = 337\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100942848586b534105ddd1ca77df72e1251140f412e97b62afbf85d4822309176b5965453dee3fab709e14156b3dfcecca\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04f877bd6e2a9273e322a3298ea3add13d1104b32172283669ca6688f0cb591524a7f15dd41496681eda98939aae729fede85ca37c81ef19e3dc9ab16908a3720d86875a51a6a6d932e37492a6ec7a344eabc482377f14891fbd1da7faeffa1178]\n[key.wx = 0f877bd6e2a9273e322a3298ea3add13d1104b32172283669ca6688f0cb591524a7f15dd41496681eda98939aae729fed]\n[key.wy = 0e85ca37c81ef19e3dc9ab16908a3720d86875a51a6a6d932e37492a6ec7a344eabc482377f14891fbd1da7faeffa1178]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004f877bd6e2a9273e322a3298ea3add13d1104b32172283669ca6688f0cb591524a7f15dd41496681eda98939aae729fede85ca37c81ef19e3dc9ab16908a3720d86875a51a6a6d932e37492a6ec7a344eabc482377f14891fbd1da7faeffa1178]\n[sha = SHA-384]\n\n# tcId = 338\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02307fffffffffffffffffffffffffffffffffffffffffffffffed2119d5fc12649fc808af3b6d9037d3a44eb32399970dd0\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 0414249bbcfeeceab06c75654d361c0df8d56b320ea3bc1d4627ec0a2f4b8fa3577445694664f569a91f480741381e494a28479f2186d715a56788f67073056aa0cb0b6a7f7893e77b9a6976ef6663d80226896d7f43bb502e1b4d49558a27dd8b]\n[key.wx = 14249bbcfeeceab06c75654d361c0df8d56b320ea3bc1d4627ec0a2f4b8fa3577445694664f569a91f480741381e494a]\n[key.wy = 28479f2186d715a56788f67073056aa0cb0b6a7f7893e77b9a6976ef6663d80226896d7f43bb502e1b4d49558a27dd8b]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000414249bbcfeeceab06c75654d361c0df8d56b320ea3bc1d4627ec0a2f4b8fa3577445694664f569a91f480741381e494a28479f2186d715a56788f67073056aa0cb0b6a7f7893e77b9a6976ef6663d80226896d7f43bb502e1b4d49558a27dd8b]\n[sha = SHA-384]\n\n# tcId = 339\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023079b95c013b0472de04d8faeec3b779c39fe729ea84fb554cd091c7178c2f054eabbc62c3e1cfbac2c2e69d7aa45d9072\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 0450a438c98ee94025ce13e27d36b8280d4843585836eb47011a070cd77729245684a0db31fde980620349c796832b2c6cbdb72dba9f3f9cc878559f50b6bd1290f10a6bccbc1eeef7708b1b72059022987979e", - "35221c51259f337c7288a2f86bc]\n[key.wx = 50a438c98ee94025ce13e27d36b8280d4843585836eb47011a070cd77729245684a0db31fde980620349c796832b2c6c]\n[key.wy = 0bdb72dba9f3f9cc878559f50b6bd1290f10a6bccbc1eeef7708b1b72059022987979e35221c51259f337c7288a2f86bc]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000450a438c98ee94025ce13e27d36b8280d4843585836eb47011a070cd77729245684a0db31fde980620349c796832b2c6cbdb72dba9f3f9cc878559f50b6bd1290f10a6bccbc1eeef7708b1b72059022987979e35221c51259f337c7288a2f86bc]\n[sha = SHA-384]\n\n# tcId = 340\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100bfd40d0caa4d9d42381f3d72a25683f52b03a1ed96fb72d03f08dcb9a8bc8f23c1a459deab03bcd39396c0d1e9053c81\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 044d3fc5dcfaf741113cda3ce2f8dff4c912143e4d36314c361d7ed5656b68448bcca114ba9e8124281234660b7726ddcd680ddfef7ea07bfbcede10803d38d7211631ca11466078819eb66e11921ab7ffa3c4560c732e77595fd408e917dd9afc]\n[key.wx = 4d3fc5dcfaf741113cda3ce2f8dff4c912143e4d36314c361d7ed5656b68448bcca114ba9e8124281234660b7726ddcd]\n[key.wy = 680ddfef7ea07bfbcede10803d38d7211631ca11466078819eb66e11921ab7ffa3c4560c732e77595fd408e917dd9afc]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200044d3fc5dcfaf741113cda3ce2f8dff4c912143e4d36314c361d7ed5656b68448bcca114ba9e8124281234660b7726ddcd680ddfef7ea07bfbcede10803d38d7211631ca11466078819eb66e11921ab7ffa3c4560c732e77595fd408e917dd9afc]\n[sha = SHA-384]\n\n# tcId = 341\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02304c7d219db9af94ce7fffffffffffffffffffffffffffffffef15cf1058c8d8ba1e634c4122db95ec1facd4bb13ebf09a\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 0463d65cdfeb1f1a42000f43bd1ddd130537a7b6f635e8d2bd81a97da168221183da433ca78429fd2b33c5f94895a9c13aa9d1d5ea328725653a5a9d00f85a5516236f3b1428a8629287d3b0487a2e82dd57f93bb2aa3d9783dc74131e13756034]\n[key.wx = 63d65cdfeb1f1a42000f43bd1ddd130537a7b6f635e8d2bd81a97da168221183da433ca78429fd2b33c5f94895a9c13a]\n[key.wy = 0a9d1d5ea328725653a5a9d00f85a5516236f3b1428a8629287d3b0487a2e82dd57f93bb2aa3d9783dc74131e13756034]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000463d65cdfeb1f1a42000f43bd1ddd130537a7b6f635e8d2bd81a97da168221183da433ca78429fd2b33c5f94895a9c13aa9d1d5ea328725653a5a9d00f85a5516236f3b1428a8629287d3b0487a2e82dd57f93bb2aa3d9783dc74131e13756034]\n[sha = SHA-384]\n\n# tcId = 342\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100d219db9af94ce7ffffffffffffffffffffffffffffffffffd189bdb6d9ef7be8504ca374756ea5b8f15e44067d209b9b\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04d22c9c348b9745711f57debac3a07df90a527c06bd02a8454f41437d54224e071698f03fdc64b1d652414edc3f2239c49ae9812a4b92f099d6659a659691768d57e530ed3c91d5455781605850997a58221f22a2451c3932470606c23f3ab1b8]\n[key.wx = 0d22c9c348b9745711f57debac3a07df90a527c06bd02a8454f41437d54224e071698f03fdc64b1d652414edc3f2239c4]\n[key.wy = 09ae9812a4b92f099d6659a659691768d57e530ed3c91d5455781605850997a58221f22a2451c3932470606c23f3ab1b8]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004d22c9c348b9745711f57debac3a07df90a527c06bd02a8454f41437d54224e071698f03fdc64b1d652414edc3f2239c49ae9812a4b92f099d6659a659691768d57e530ed3c91d5455781605850997a58221f22a2451c3932470606c23f3ab1b8]\n[sha = SHA-384]\n\n# tcId = 343\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100a433b735f299cfffffffffffffffffffffffffffffffffffdbb02debbfa7c9f1487f3936a22ca3f6f5d06ea22d7c0dc3\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 0431f05c0c29e9da49aa2fbbedee770c68d10f85e7f77e72ac3cfa9c8623a2bb42eeb2f24ac8f2aef7ab0c4b47823140035bb32fc1ec04bbff5eab96e070c938ba1b53fe63970f649ae02e2a4ada420a249b6f7c525e2c4b9b0d5562ae26f2278c]\n[key.wx = 31f05c0c29e9da49aa2fbbedee770c68d10f85e7f77e72ac3cfa9c8623a2bb42eeb2f24ac8f2aef7ab0c4b4782314003]\n[key.wy = 5bb32fc1ec04bbff5eab96e070c938ba1b53fe63970f649ae02e2a4ada420a249b6f7c525e2c4b9b0d5562ae26f2278c]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000431f05c0c29e9da49aa2fbbedee770c68d10f85e7f77e72ac3cfa9c8623a2bb42eeb2f24ac8f2aef7ab0c4b47823140035bb32fc1ec04bbff5eab96e070c938ba1b53fe63970f649ae02e2a4ada420a249b6f7c525e2c4b9b0d5562ae26f2278c]\n[sha = SHA-384]\n\n# tcId = 344\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100b9af94ce7fffffffffffffffffffffffffffffffffffffffd6efeefc876c9f23217b443c80637ef939e911219f96c179\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04bc26eec95e26c980bc0334264cbcfc26b897c3571c96ce9ab2a67b49bb0f26a6272fdc27806d7a4c572ae0f78149f1f3c8af5f41b99d2066018165513fb3b55e4255dcd0659647ed55e1e2602cae4efbd6eae1dfe2ff63e2c748d4acc7430139]\n[key.wx = 0bc26eec95e26c980bc0334264cbcfc26b897c3571c96ce9ab2a67b49bb0f26a6272fdc27806d7a4c572ae0f78149f1f3]\n[key.wy = 0c8af5f41b99d2066018165513fb3b55e4255dcd0659647ed55e1e2602cae4efbd6eae1dfe2ff63e2c748d4acc7430139]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004bc26eec95e26c980bc0334264cbcfc26b897c3571c96ce9ab2a67b49bb0f26a6272fdc27806d7a4c572ae0f78149f1f3c8af5f41b99d2066018165513fb3b55e4255dcd0659647ed55e1e2602cae4efbd6eae1dfe2ff63e2c748d4acc7430139]\n[sha = SHA-384]\n\n# tcId = 345\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100a276276276276276276276276276276276276276276276273d7228d4f84b769be0fd57b97e4c1ebcae9a5f635e80e9df\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 046fa0964dd054250af176891c0c822b013b70f059c347172cafc6b36cd16cf3b0f9d19f2598bd0d580ac16c46acb167d4375bef701c002dcc040fd54824b14cc2df0154eb20e74464e1fe7b833426dd7d636bf2d79603fdde5ddaab23ab0cf426]\n[key.wx = 6fa0964dd054250af176891c0c822b013b70f059c347172cafc6b36cd16cf3b0f9d19f2598bd0d580ac16c46acb167d4]\n[key.wy = 375bef701c002dcc040fd54824b14cc2df0154eb20e74464e1fe7b833426dd7d636bf2d79603fdde5ddaab23ab0cf426]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200046fa0964dd054250af176891c0c822b013b70f059c347172cafc6b36cd16cf3b0f9d19f2598bd0d580ac16c46acb167d4375bef701c002dcc040fd54824b14cc2df0154eb20e74464e1fe7b833426dd7d636bf2d79603fdde5ddaab23ab0cf426]\n[sha = SHA-384]\n\n# tcId = 346\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023073333333333333333333333333333333333333333333333316e4d9f42d4eca22df403a0c578b86f0a9a93fe89995c7ed\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04baa4e712ee0786a5ab0e5a5dafdcdcf87b38830ab2ec86faedda9fdf65332f6a9688269412f050356530d4664a7fb8cdecc46a901b016e6bb8a336ad9aa6f19abf9ada69705d1c905beafb95a44f52af43de4bf80c050cf996b7796dfcee8e1b]\n[key.wx = 0baa4e712ee0786a5ab0e5a5dafdcdcf87b38830ab2ec86faedda9fdf65332f6a9688269412f050356530d4664a7fb8cd]\n[key.wy = 0ecc46a901b016e6bb8a336ad9aa6f19abf9ada69705d1c905beafb95a44f52af43de4bf80c050cf996b7796dfcee8e1b]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004baa4e712ee0786a5ab0e5a5dafdcdcf87b38830ab2ec86faedda9fdf65332f6a9688269412f050356530d4664a7fb8cdecc46a901b016e6bb8a336ad9aa6f19abf9ada69705d1c905beafb95a44f52af43de4bf80c050cf996b7796dfcee8e1b]\n[sha = SHA-384]\n\n# tcId = 347\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02307fffffffffffffffffffffffffffffffffffffffffffffffda4233abf824c93f90115e76db206fa7489d6647332e1ba3\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[k", - "ey.type = ECPublicKey]\n[key.uncompressed = 0481e78a52ae0695583f7a601ab9b6fbfaf434f2befa1f8c833d59deb627a927c2f42d48eb617fe042f584e105c23c2317cf22d565f5f3b425ef7937df629b6864dac71264b288c1a987210f523071319ce3f64411910ac23765c4266e615112bc]\n[key.wx = 081e78a52ae0695583f7a601ab9b6fbfaf434f2befa1f8c833d59deb627a927c2f42d48eb617fe042f584e105c23c2317]\n[key.wy = 0cf22d565f5f3b425ef7937df629b6864dac71264b288c1a987210f523071319ce3f64411910ac23765c4266e615112bc]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000481e78a52ae0695583f7a601ab9b6fbfaf434f2befa1f8c833d59deb627a927c2f42d48eb617fe042f584e105c23c2317cf22d565f5f3b425ef7937df629b6864dac71264b288c1a987210f523071319ce3f64411910ac23765c4266e615112bc]\n[sha = SHA-384]\n\n# tcId = 348\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02303fffffffffffffffffffffffffffffffffffffffffffffffe3b1a6c0fa1b96efac0d06d9245853bd76760cb5666294bb\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 0441fa8765b19d3108031e28c9a781a385c9c10b2bfd42e6437e5c4bd711cf2a031750847d17a82f9376a30ae182a6d6e71c20af96324147d4155a4d0c867ca8e36eba204fbed2087e0fcbdc8baabe07bb3123f9f7259e771cd9f1ad17d1a23787]\n[key.wx = 41fa8765b19d3108031e28c9a781a385c9c10b2bfd42e6437e5c4bd711cf2a031750847d17a82f9376a30ae182a6d6e7]\n[key.wy = 1c20af96324147d4155a4d0c867ca8e36eba204fbed2087e0fcbdc8baabe07bb3123f9f7259e771cd9f1ad17d1a23787]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000441fa8765b19d3108031e28c9a781a385c9c10b2bfd42e6437e5c4bd711cf2a031750847d17a82f9376a30ae182a6d6e71c20af96324147d4155a4d0c867ca8e36eba204fbed2087e0fcbdc8baabe07bb3123f9f7259e771cd9f1ad17d1a23787]\n[sha = SHA-384]\n\n# tcId = 349\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100dfea06865526cea11c0f9eb9512b41fa9581d0f6cb7db9680336151dce79de818cdf33c879da322740416d1e5ae532fa\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04e585a067d6dff37ae7f17f81583119b61291597345f107acffe237a08f4886d4fdf94fe63182e6143c99be25a7b7d86b572c1e06dd2c7b94b873f0578fcb2b99d60e246e51245d0804edd44b32f0f000c8f8f88f1d4a65fea51dbbb4ab1e2823]\n[key.wx = 0e585a067d6dff37ae7f17f81583119b61291597345f107acffe237a08f4886d4fdf94fe63182e6143c99be25a7b7d86b]\n[key.wy = 572c1e06dd2c7b94b873f0578fcb2b99d60e246e51245d0804edd44b32f0f000c8f8f88f1d4a65fea51dbbb4ab1e2823]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004e585a067d6dff37ae7f17f81583119b61291597345f107acffe237a08f4886d4fdf94fe63182e6143c99be25a7b7d86b572c1e06dd2c7b94b873f0578fcb2b99d60e246e51245d0804edd44b32f0f000c8f8f88f1d4a65fea51dbbb4ab1e2823]\n[sha = SHA-384]\n\n# tcId = 350\n# point duplication during verification\nmsg = 313233343030\nresult = valid\nsig = 3065023100b37699e0d518a4d370dbdaaaea3788850fa03f8186d1f78fdfbae6540aa670b31c8ada0fff3e737bd69520560fe0ce60023064adb4d51a93f96bed4665de2d4e1169cc95819ec6e9333edfd5c07ca134ceef7c95957b719ae349fc439eaa49fbbe34\n# Some implementations of ECDSA do not handle duplication and points at infinity\n# correctly. This is a test vector that has been specially crafted to check for\n# such an omission.\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04e585a067d6dff37ae7f17f81583119b61291597345f107acffe237a08f4886d4fdf94fe63182e6143c99be25a7b7d86ba8d3e1f922d3846b478c0fa87034d46629f1db91aedba2f7fb122bb4cd0f0ffe3707076fe2b59a015ae2444c54e1d7dc]\n[key.wx = 0e585a067d6dff37ae7f17f81583119b61291597345f107acffe237a08f4886d4fdf94fe63182e6143c99be25a7b7d86b]\n[key.wy = 0a8d3e1f922d3846b478c0fa87034d46629f1db91aedba2f7fb122bb4cd0f0ffe3707076fe2b59a015ae2444c54e1d7dc]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004e585a067d6dff37ae7f17f81583119b61291597345f107acffe237a08f4886d4fdf94fe63182e6143c99be25a7b7d86ba8d3e1f922d3846b478c0fa87034d46629f1db91aedba2f7fb122bb4cd0f0ffe3707076fe2b59a015ae2444c54e1d7dc]\n[sha = SHA-384]\n\n# tcId = 351\n# duplication bug\nmsg = 313233343030\nresult = invalid\nsig = 3065023100b37699e0d518a4d370dbdaaaea3788850fa03f8186d1f78fdfbae6540aa670b31c8ada0fff3e737bd69520560fe0ce60023064adb4d51a93f96bed4665de2d4e1169cc95819ec6e9333edfd5c07ca134ceef7c95957b719ae349fc439eaa49fbbe34\n# Some implementations of ECDSA do not handle duplication and points at infinity\n# correctly. This is a test vector that has been specially crafted to check for\n# such an omission.\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04b4d78cccbced8065c0ebdc330b4670ec99309273e442b9be341196c1043e4441fc57b914085595bfc755c64fc409f0ba01fee31cbbbaed5c1323f09c87df9b0712c12e99733fa23ef91b4e6ca666b09dd7540ebf1068a15155bc069e3d595c8c]\n[key.wx = 0b4d78cccbced8065c0ebdc330b4670ec99309273e442b9be341196c1043e4441fc57b914085595bfc755c64fc409f0ba]\n[key.wy = 1fee31cbbbaed5c1323f09c87df9b0712c12e99733fa23ef91b4e6ca666b09dd7540ebf1068a15155bc069e3d595c8c]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004b4d78cccbced8065c0ebdc330b4670ec99309273e442b9be341196c1043e4441fc57b914085595bfc755c64fc409f0ba01fee31cbbbaed5c1323f09c87df9b0712c12e99733fa23ef91b4e6ca666b09dd7540ebf1068a15155bc069e3d595c8c]\n[sha = SHA-384]\n\n# tcId = 352\n# point with x-coordinate 0\nmsg = 313233343030\nresult = invalid\nsig = 3035020101023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 046e3c68be53aade81ef89e096d841e2845a23331e7ec8a6a839d58d07fa016c0973ed75de4f99177bfdc74db566e9d15a4972ea08e577ce1f61c13a6ca1bad1deef2982ee01a2826f002b769f2c46098d3baff068a405d09ca3840d2fafe4e46e]\n[key.wx = 6e3c68be53aade81ef89e096d841e2845a23331e7ec8a6a839d58d07fa016c0973ed75de4f99177bfdc74db566e9d15a]\n[key.wy = 4972ea08e577ce1f61c13a6ca1bad1deef2982ee01a2826f002b769f2c46098d3baff068a405d09ca3840d2fafe4e46e]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200046e3c68be53aade81ef89e096d841e2845a23331e7ec8a6a839d58d07fa016c0973ed75de4f99177bfdc74db566e9d15a4972ea08e577ce1f61c13a6ca1bad1deef2982ee01a2826f002b769f2c46098d3baff068a405d09ca3840d2fafe4e46e]\n[sha = SHA-384]\n\n# tcId = 353\n# point with x-coordinate 0\nmsg = 313233343030\nresult = invalid\nsig = 3065023101000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000023033333333333333333333333333333333333333333333333327e0a919fda4a2c644d202bd41bcee4bc8fc05155c276eb0\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04b101cdb3eba20e112adbb4bbd2cb479a69e590a44ea902631832abfab8af2c3041b3df7f1665b2c6eb533f546217100a1a61aa9951578ad4f00ae17339a8a6f1359bbd0ac355678ed4df21338f08763c1d3702ec132b634c7bcc0118efb1d0dd]\n[key.wx = 0b101cdb3eba20e112adbb4bbd2cb479a69e590a44ea902631832abfab8af2c3041b3df7f1665b2c6eb533f546217100a]\n[key.wy = 1a61aa9951578ad4f00ae17339a8a6f1359bbd0ac355678ed4df21338f08763c1d3702ec132b634c7bcc0118efb1d0dd]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004b101cdb3eba20e112adbb4bbd2cb479a69e590a44ea902631832abfab8af2c3041b3df7f1665b2c6eb533f546217100a1a61aa9951578ad4f00ae17339a8a6f1359bbd0ac355678ed4df21338f08763c1d3702ec132b634c7bcc0118efb1d0dd]\n[sha = SHA-384]\n\n# tcId = 354\n# comparison with point at infinity \nmsg = 313233343030\nresult = invalid\nsig = 3064023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326023033333333333333333333333333333333333333333333333327e0a919fda4a2c644d202bd41bcee4bc8fc05155c276eb0\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 046761044a040a4979db269b4a377e42f11b4be0ce24611f677674dcf770f5887ca4db565303283809e6d65f7fc6bc273605c7daa403fca53549f75ff3372909642d02b7fdcac1e68242814d6e925ab01a80836cfbb35581960079e2fb44c0d186]\n[key.wx = 6761044a040a4979db269b4a377e42f11b4be0ce24611f677674dcf770f5887ca4db565303283809e6d65f7fc6bc2736]\n[key.wy = 5c7daa403fca53549f75ff3372909642d02b7fdcac1e68242814d6e925ab01a80836cfbb35581960079e2fb44c0d186]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200", - "046761044a040a4979db269b4a377e42f11b4be0ce24611f677674dcf770f5887ca4db565303283809e6d65f7fc6bc273605c7daa403fca53549f75ff3372909642d02b7fdcac1e68242814d6e925ab01a80836cfbb35581960079e2fb44c0d186]\n[sha = SHA-384]\n\n# tcId = 355\n# extreme value for k and edgecase s\nmsg = 313233343030\nresult = valid\nsig = 3064023008d999057ba3d2d969260045c55b97f089025959a6f434d651d207d19fb96e9e4fe0e86ebe0e64f85b96a9c75295df61023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 046922c591502f01046fee5617bf16496f58398822e69afa8335308f36c09a8ed437209fefcffbbdf0a4876b35a3c7ab2655854db825b94b3f27e5f892d3bbb6c7240ec922894dd3598e91fcc6134a2b8fd154e1790466906206f0f623416e63a1]\n[key.wx = 6922c591502f01046fee5617bf16496f58398822e69afa8335308f36c09a8ed437209fefcffbbdf0a4876b35a3c7ab26]\n[key.wy = 55854db825b94b3f27e5f892d3bbb6c7240ec922894dd3598e91fcc6134a2b8fd154e1790466906206f0f623416e63a1]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200046922c591502f01046fee5617bf16496f58398822e69afa8335308f36c09a8ed437209fefcffbbdf0a4876b35a3c7ab2655854db825b94b3f27e5f892d3bbb6c7240ec922894dd3598e91fcc6134a2b8fd154e1790466906206f0f623416e63a1]\n[sha = SHA-384]\n\n# tcId = 356\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3064023008d999057ba3d2d969260045c55b97f089025959a6f434d651d207d19fb96e9e4fe0e86ebe0e64f85b96a9c75295df6102302492492492492492492492492492492492492492492492491c7be680477598d6c3716fabc13dcec86afd2833d41c2a7e\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04892dac0e700fc29d1802d9a449a6f56b2172cb1b7d881013cd3b31c0edb052f2d340c8995a4477bcb9225fec15667233cc6c34ae17445444516fd8fd22ee83f79eb0771ebff6677ac5d4e089f87a1c72df957acb24492adcd7c3816b8e0c75b1]\n[key.wx = 0892dac0e700fc29d1802d9a449a6f56b2172cb1b7d881013cd3b31c0edb052f2d340c8995a4477bcb9225fec15667233]\n[key.wy = 0cc6c34ae17445444516fd8fd22ee83f79eb0771ebff6677ac5d4e089f87a1c72df957acb24492adcd7c3816b8e0c75b1]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004892dac0e700fc29d1802d9a449a6f56b2172cb1b7d881013cd3b31c0edb052f2d340c8995a4477bcb9225fec15667233cc6c34ae17445444516fd8fd22ee83f79eb0771ebff6677ac5d4e089f87a1c72df957acb24492adcd7c3816b8e0c75b1]\n[sha = SHA-384]\n\n# tcId = 357\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3064023008d999057ba3d2d969260045c55b97f089025959a6f434d651d207d19fb96e9e4fe0e86ebe0e64f85b96a9c75295df6102306666666666666666666666666666666666666666666666664fc15233fb49458c89a4057a8379dc9791f80a2ab84edd61\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 0401634117e6478ce0568b0a2469237bbac6ff096acb7e514072bf77123cb51ba0cc3e8d69284d534d8e6d1e876cecf22231e5ef04dc96762ce7d5ef3348ad1e241ac797ae3b630ea249afc5139af49b8ef68b32f812d6b514210363d498efc28c]\n[key.wx = 1634117e6478ce0568b0a2469237bbac6ff096acb7e514072bf77123cb51ba0cc3e8d69284d534d8e6d1e876cecf222]\n[key.wy = 31e5ef04dc96762ce7d5ef3348ad1e241ac797ae3b630ea249afc5139af49b8ef68b32f812d6b514210363d498efc28c]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000401634117e6478ce0568b0a2469237bbac6ff096acb7e514072bf77123cb51ba0cc3e8d69284d534d8e6d1e876cecf22231e5ef04dc96762ce7d5ef3348ad1e241ac797ae3b630ea249afc5139af49b8ef68b32f812d6b514210363d498efc28c]\n[sha = SHA-384]\n\n# tcId = 358\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3065023008d999057ba3d2d969260045c55b97f089025959a6f434d651d207d19fb96e9e4fe0e86ebe0e64f85b96a9c75295df6102310099999999999999999999999999999999999999999999999977a1fb4df8ede852ce760837c536cae35af40f4014764c12\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04675bdc79d8243887fe1b305d12ac10d2e9c0bde070a6e3394cd5f6adfbceda75498b0e7a794c7212f42be93f616744563e96d1bf6f95cdbefa774911ba06463d8a90a0c9d73c9699b061d779dc52496e8ee9b9ae9c5d4d90e89cd1157d811895]\n[key.wx = 675bdc79d8243887fe1b305d12ac10d2e9c0bde070a6e3394cd5f6adfbceda75498b0e7a794c7212f42be93f61674456]\n[key.wy = 3e96d1bf6f95cdbefa774911ba06463d8a90a0c9d73c9699b061d779dc52496e8ee9b9ae9c5d4d90e89cd1157d811895]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004675bdc79d8243887fe1b305d12ac10d2e9c0bde070a6e3394cd5f6adfbceda75498b0e7a794c7212f42be93f616744563e96d1bf6f95cdbefa774911ba06463d8a90a0c9d73c9699b061d779dc52496e8ee9b9ae9c5d4d90e89cd1157d811895]\n[sha = SHA-384]\n\n# tcId = 359\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3065023008d999057ba3d2d969260045c55b97f089025959a6f434d651d207d19fb96e9e4fe0e86ebe0e64f85b96a9c75295df61023100db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6aae76701acc1950894a89e068772d8b281eef136f8a8fef5\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 040fd1aab89f47b565b8160dfcc433b6408adeb1473c036b26b7ddec714fb4d0e7dd756c88469e86e218813ead8e8e7676f1cc955c4139e0071c0079ec1d77164e0569bdf453837e8b33c98535a0e7c9c61ef24762067bb46b6116ea7909a69b23]\n[key.wx = 0fd1aab89f47b565b8160dfcc433b6408adeb1473c036b26b7ddec714fb4d0e7dd756c88469e86e218813ead8e8e7676]\n[key.wy = 0f1cc955c4139e0071c0079ec1d77164e0569bdf453837e8b33c98535a0e7c9c61ef24762067bb46b6116ea7909a69b23]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200040fd1aab89f47b565b8160dfcc433b6408adeb1473c036b26b7ddec714fb4d0e7dd756c88469e86e218813ead8e8e7676f1cc955c4139e0071c0079ec1d77164e0569bdf453837e8b33c98535a0e7c9c61ef24762067bb46b6116ea7909a69b23]\n[sha = SHA-384]\n\n# tcId = 360\n# extreme value for k\nmsg = 313233343030\nresult = valid\nsig = 3064023008d999057ba3d2d969260045c55b97f089025959a6f434d651d207d19fb96e9e4fe0e86ebe0e64f85b96a9c75295df6102300eb10e5ab95f2f26a40700b1300fb8c3e754d5c453d9384ecce1daa38135a48a0a96c24efc2a76d00bde1d7aeedf7f6a\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 0434d74ec088bab6c6323968d1f468993812f690d6edca5b97604d718e12b8cdfdd96d42e57d33afe312f0ee3c3d0a13f786f4922bb2c13bdf7752a3ecb69393e997bd65461c46867ebeef6296b23f2c56df63acfde648f3f5002dbc239ffd1582]\n[key.wx = 34d74ec088bab6c6323968d1f468993812f690d6edca5b97604d718e12b8cdfdd96d42e57d33afe312f0ee3c3d0a13f7]\n[key.wy = 086f4922bb2c13bdf7752a3ecb69393e997bd65461c46867ebeef6296b23f2c56df63acfde648f3f5002dbc239ffd1582]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000434d74ec088bab6c6323968d1f468993812f690d6edca5b97604d718e12b8cdfdd96d42e57d33afe312f0ee3c3d0a13f786f4922bb2c13bdf7752a3ecb69393e997bd65461c46867ebeef6296b23f2c56df63acfde648f3f5002dbc239ffd1582]\n[sha = SHA-384]\n\n# tcId = 361\n# extreme value for k and edgecase s\nmsg = 313233343030\nresult = valid\nsig = 3065023100aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 044376c9893e9277296c766a83abbe36b34da7a631f8cbfd32a1888de0dd1455a21a153ea2d61cfa5071fc6be12a658f6b290ba1a8ee8c78b5dd58f9ffcacb22955682eea02429c3fa8cdcb649fa4d007c8693e3f8f3c0a5f3c4de7a51beaa9809]\n[key.wx = 4376c9893e9277296c766a83abbe36b34da7a631f8cbfd32a1888de0dd1455a21a153ea2d61cfa5071fc6be12a658f6b]\n[key.wy = 290ba1a8ee8c78b5dd58f9ffcacb22955682eea02429c3fa8cdcb649fa4d007c8693e3f8f3c0a5f3c4de7a51beaa9809]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200044376c9893e9277296c766a83abbe36b34da7a631f8cbfd32a1888de0dd1455a21a153ea2d61cfa5071fc6be12a658f6b290ba1a8ee8c78b5dd58f9ffcacb22955682eea02429c3fa8cdcb649fa4d007c8693e3f8f3c0a5f3c4de7a51beaa9809]\n[sha = SHA-384]\n\n# tcId = 362\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3065023100aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab702302492492492492492492492492492492492492492492492491c7be680477598d6c3716fabc13dcec86afd2833d41c2a7e\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 0410878fc4807f6732a23c883e838e38c787f7088f94c1824b84673e8b9eab16de1544ae4bf2c6fe3fe4fb343b7487e2b43036ff439533d22f951dae966584bafb23b217dcad2f8f4e0e6999c0c4d0f076634b", - "e805f676fd2a59c27f9fe7c5d95b]\n[key.wx = 10878fc4807f6732a23c883e838e38c787f7088f94c1824b84673e8b9eab16de1544ae4bf2c6fe3fe4fb343b7487e2b4]\n[key.wy = 3036ff439533d22f951dae966584bafb23b217dcad2f8f4e0e6999c0c4d0f076634be805f676fd2a59c27f9fe7c5d95b]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000410878fc4807f6732a23c883e838e38c787f7088f94c1824b84673e8b9eab16de1544ae4bf2c6fe3fe4fb343b7487e2b43036ff439533d22f951dae966584bafb23b217dcad2f8f4e0e6999c0c4d0f076634be805f676fd2a59c27f9fe7c5d95b]\n[sha = SHA-384]\n\n# tcId = 363\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3065023100aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab702306666666666666666666666666666666666666666666666664fc15233fb49458c89a4057a8379dc9791f80a2ab84edd61\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04036b253e3b4ac88bb8585a2b32b978766a931e5ad0d0e653a2e34b44d6ddcc0d386e20c4def2d8bb3f8da128c1eac69f9c8e3b5ff5dde2205af359b3974d52758d7abae812b8b275e1452c4e59cb62e9b6771d347dbd1dea761c70291cc5e0a6]\n[key.wx = 36b253e3b4ac88bb8585a2b32b978766a931e5ad0d0e653a2e34b44d6ddcc0d386e20c4def2d8bb3f8da128c1eac69f]\n[key.wy = 09c8e3b5ff5dde2205af359b3974d52758d7abae812b8b275e1452c4e59cb62e9b6771d347dbd1dea761c70291cc5e0a6]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004036b253e3b4ac88bb8585a2b32b978766a931e5ad0d0e653a2e34b44d6ddcc0d386e20c4def2d8bb3f8da128c1eac69f9c8e3b5ff5dde2205af359b3974d52758d7abae812b8b275e1452c4e59cb62e9b6771d347dbd1dea761c70291cc5e0a6]\n[sha = SHA-384]\n\n# tcId = 364\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3066023100aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab702310099999999999999999999999999999999999999999999999977a1fb4df8ede852ce760837c536cae35af40f4014764c12\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 042783c1be922fce155864ecb41d0a316e193a55843e80192f1fe556772f3debd04b9fc93c27bc6f353938886a404419941a352cec336946424fa3c208ea7105f5549edde8688abd305344bf4f66dda7eabcda6f8557c9af88109804d702e9670b]\n[key.wx = 2783c1be922fce155864ecb41d0a316e193a55843e80192f1fe556772f3debd04b9fc93c27bc6f353938886a40441994]\n[key.wy = 1a352cec336946424fa3c208ea7105f5549edde8688abd305344bf4f66dda7eabcda6f8557c9af88109804d702e9670b]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200042783c1be922fce155864ecb41d0a316e193a55843e80192f1fe556772f3debd04b9fc93c27bc6f353938886a404419941a352cec336946424fa3c208ea7105f5549edde8688abd305344bf4f66dda7eabcda6f8557c9af88109804d702e9670b]\n[sha = SHA-384]\n\n# tcId = 365\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3066023100aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7023100db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6aae76701acc1950894a89e068772d8b281eef136f8a8fef5\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04fa92538cdc740368caf16480ff1304cebbbe59a46a7a84603726b9592d105be069df1c61b5974f27e7552f797de97cdb620e03a46da862e4b089bafbb80df8f055c8f47991b3a3ddb2b089aedb2f15841a6a5b5e14c1dc36b3c155c4f74d3409]\n[key.wx = 0fa92538cdc740368caf16480ff1304cebbbe59a46a7a84603726b9592d105be069df1c61b5974f27e7552f797de97cdb]\n[key.wy = 620e03a46da862e4b089bafbb80df8f055c8f47991b3a3ddb2b089aedb2f15841a6a5b5e14c1dc36b3c155c4f74d3409]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004fa92538cdc740368caf16480ff1304cebbbe59a46a7a84603726b9592d105be069df1c61b5974f27e7552f797de97cdb620e03a46da862e4b089bafbb80df8f055c8f47991b3a3ddb2b089aedb2f15841a6a5b5e14c1dc36b3c155c4f74d3409]\n[sha = SHA-384]\n\n# tcId = 366\n# extreme value for k\nmsg = 313233343030\nresult = valid\nsig = 3065023100aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab702300eb10e5ab95f2f26a40700b1300fb8c3e754d5c453d9384ecce1daa38135a48a0a96c24efc2a76d00bde1d7aeedf7f6a\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f]\n[key.wx = 0aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7]\n[key.wy = 3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f]\n[sha = SHA-384]\n\n# tcId = 367\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 3065023100f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace02302492492492492492492492492492492492492492492492491c7be680477598d6c3716fabc13dcec86afd2833d41c2a7e\n\n# tcId = 368\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 30640230064ed80f27e1432e84845f15ece399f2cbf4fa31aa837de9b953d44413b9f5c7c7f67989d703f07abef11b6ad0373ea502302492492492492492492492492492492492492492492492491c7be680477598d6c3716fabc13dcec86afd2833d41c2a7e\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7c9e821b569d9d390a26167406d6d23d6070be242d765eb831625ceec4a0f473ef59f4e30e2817e6285bce2846f15f1a0]\n[key.wx = 0aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7]\n[key.wy = 0c9e821b569d9d390a26167406d6d23d6070be242d765eb831625ceec4a0f473ef59f4e30e2817e6285bce2846f15f1a0]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7c9e821b569d9d390a26167406d6d23d6070be242d765eb831625ceec4a0f473ef59f4e30e2817e6285bce2846f15f1a0]\n[sha = SHA-384]\n\n# tcId = 369\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 3065023100f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace02302492492492492492492492492492492492492492492492491c7be680477598d6c3716fabc13dcec86afd2833d41c2a7e\n\n# tcId = 370\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 30640230064ed80f27e1432e84845f15ece399f2cbf4fa31aa837de9b953d44413b9f5c7c7f67989d703f07abef11b6ad0373ea502302492492492492492492492492492492492492492492492491c7be680477598d6c3716fabc13dcec86afd2833d41c2a7e\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 0429bdb76d5fa741bfd70233cb3a66cc7d44beb3b0663d92a8136650478bcefb61ef182e155a54345a5e8e5e88f064e5bc9a525ab7f764dad3dae1468c2b419f3b62b9ba917d5e8c4fb1ec47404a3fc76474b2713081be9db4c00e043ada9fc4a3]\n[key.wx = 29bdb76d5fa741bfd70233cb3a66cc7d44beb3b0663d92a8136650478bcefb61ef182e155a54345a5e8e5e88f064e5bc]\n[key.wy = 09a525ab7f764dad3dae1468c2b419f3b62b9ba917d5e8c4fb1ec47404a3fc76474b2713081be9db4c00e043ada9fc4a3]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000429bdb76d5fa741bfd70233cb3a66cc7d44beb3b0663d92a8136650478bcefb61ef182e155a54345a5e8e5e88f064e5bc9a525ab7f764dad3dae1468c2b419f3b62b9ba917d5e8c4fb1ec47404a3fc76474b2713081be9db4c00e043ada9fc4a3]\n[sha = SHA-384]\n\n# tcId = 371\n# pseudorandom signature\nmsg = \nresult = valid\nsig = 3064023032401249714e9091f05a5e109d5c1216fdc05e98614261aa0dbd9e9cd4415dee29238afbd3b103c1e40ee5c9144aee0f02304326756fb2c4fd726360dd6479b5849478c7a9d054a833a58c1631c33b63c3441336ddf2c7fe0ed129aae6d4ddfeb753\n\n# tcId = 372\n# pseudorandom signature\nmsg = 4d7367\nresult = valid\nsig = 3066023100d7143a836608b25599a7f28dec6635494c2992ad1e2bbeecb7ef601a9c01746e710ce0d9c48accb38a79ede5b9638f3402310080f9e165e8c61035bf8aa7b5533960e46dd0e211c904a064edb6de41f797c0eae4e327612ee3f816f4157272bb4fabc9\n\n# tcId = 373\n# pseudorandom signature\nmsg = 313233343030\nresult = valid\nsig = 30650230234503fcca578121986d96be07fbc8da5d894ed8588c6dbcdbe974b4b813b21c52d20a8928f2e2fdac14705b0", - "705498c023100cd7b9b766b97b53d1a80fc0b760af16a11bf4a59c7c367c6c7275dfb6e18a88091eed3734bf5cf41b3dc6fecd6d3baaf\n\n# tcId = 374\n# pseudorandom signature\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 306502305cad9ae1565f2588f86d821c2cc1b4d0fdf874331326568f5b0e130e4e0c0ec497f8f5f564212bd2a26ecb782cf0a18d023100bf2e9d0980fbb00696673e7fbb03e1f854b9d7596b759a17bf6e6e67a95ea6c1664f82dc449ae5ea779abd99c78e6840\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04ffffffffaa63f1a239ac70197c6ebfcea5756dc012123f82c51fa874d66028be00e976a1080606737cc75c40bdfe4aacacbd85389088a62a6398384c22b52d492f23f46e4a27a4724ad55551da5c483438095a247cb0c3378f1f52c3425ff9f1]\n[key.wx = 0ffffffffaa63f1a239ac70197c6ebfcea5756dc012123f82c51fa874d66028be00e976a1080606737cc75c40bdfe4aac]\n[key.wy = 0acbd85389088a62a6398384c22b52d492f23f46e4a27a4724ad55551da5c483438095a247cb0c3378f1f52c3425ff9f1]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004ffffffffaa63f1a239ac70197c6ebfcea5756dc012123f82c51fa874d66028be00e976a1080606737cc75c40bdfe4aacacbd85389088a62a6398384c22b52d492f23f46e4a27a4724ad55551da5c483438095a247cb0c3378f1f52c3425ff9f1]\n[sha = SHA-384]\n\n# tcId = 375\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 3065023007648b6660d01ba2520a09d298adf3b1a02c32744bd2877208f5a4162f6c984373139d800a4cdc1ffea15bce4871a0ed02310099fd367012cb9e02cde2749455e0d495c52818f3c14f6e6aad105b0925e2a7290ac4a06d9fadf4b15b578556fe332a5f\n\n# tcId = 376\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 3065023100a049dcd96c72e4f36144a51bba30417b451a305dd01c9e30a5e04df94342617dc383f17727708e3277cd7246ca44074102303970e264d85b228bf9e9b9c4947c5dd041ea8b5bde30b93aa59fedf2c428d3e2540a54e0530688acccb83ac7b29b79a2\n\n# tcId = 377\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 30650230441800ea9377c27865be000ad008eb3d7502bdd105824b26d15cf3d06452969a9d0607a915a8fe989215fc4d61af6e05023100dce29faa5137f75ad77e03918c8ee6747cc7a39b0a69f8b915654cac4cf4bfd9c87cc46ae1631b5c6baebd4fc08ff8fd\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04d1827fc6f6f12f21992c5a409a0653b121d2ef02b2b0ab01a9161ce956280740b1e356b255701b0a6ddc9ec2ca8a9422c6ed5d2ced8d8ab7560fa5bb88c738e74541883d8a2b1c0e2ba7e36d030fc4d9bfb8b22f24db897ebac49dd400000000]\n[key.wx = 0d1827fc6f6f12f21992c5a409a0653b121d2ef02b2b0ab01a9161ce956280740b1e356b255701b0a6ddc9ec2ca8a9422]\n[key.wy = 0c6ed5d2ced8d8ab7560fa5bb88c738e74541883d8a2b1c0e2ba7e36d030fc4d9bfb8b22f24db897ebac49dd400000000]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004d1827fc6f6f12f21992c5a409a0653b121d2ef02b2b0ab01a9161ce956280740b1e356b255701b0a6ddc9ec2ca8a9422c6ed5d2ced8d8ab7560fa5bb88c738e74541883d8a2b1c0e2ba7e36d030fc4d9bfb8b22f24db897ebac49dd400000000]\n[sha = SHA-384]\n\n# tcId = 378\n# y-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 306402303244768016457c463b74f2097f216d9670b191f76281c74bc6a1a1971d19f209bf4696468f5eb75d6326a0a43c0a65290230501e0ad985ed9f95697bd17fdbe3f9ca92e0f76426d3664e6896648d9c750bf588d0ce7d011c1a1e8d6c2e082422dc93\n\n# tcId = 379\n# y-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 306402305e1af40f2480e3d97c4ae4bfd34a9f45269241356f3a46becd86a4a7c9716d73ca5aebdb3db1a7765650666683bc856b02307e7c4b473a2baaa4953785be8aa2a10006f6d36b400ab981864d69cecec046718d0404b9647454b159aa5a92d76d7955\n\n# tcId = 380\n# y-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 306502306688e36a26f15bdc1c3f91367f8a7667f7bb3e30a335d6f0900e9534eb88b260cb29344c723fedfbe7ac9c5a33f4bf0d023100aa35fddf0fdc9017860b378f801cd806f3e2d754cd2fd94eb7bb36a46ce828cef87e9ebbf447068e630b87fee385ad8f\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 041099bb45100f55f5a85cca3de2b3bd5e250f4f6fad6631a3156c2e52a33d7d615dd279f79f8b4baff7c713ac00000000e6c9b736a8929f2ed7be0c753a54cbb48b8469e0411eaf93a4a82459ba0b681bba8f5fb383b4906d4901a3303e2f1557]\n[key.wx = 1099bb45100f55f5a85cca3de2b3bd5e250f4f6fad6631a3156c2e52a33d7d615dd279f79f8b4baff7c713ac00000000]\n[key.wy = 0e6c9b736a8929f2ed7be0c753a54cbb48b8469e0411eaf93a4a82459ba0b681bba8f5fb383b4906d4901a3303e2f1557]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200041099bb45100f55f5a85cca3de2b3bd5e250f4f6fad6631a3156c2e52a33d7d615dd279f79f8b4baff7c713ac00000000e6c9b736a8929f2ed7be0c753a54cbb48b8469e0411eaf93a4a82459ba0b681bba8f5fb383b4906d4901a3303e2f1557]\n[sha = SHA-384]\n\n# tcId = 381\n# x-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 3065023100d4a8f3b0b4d3a5769e3a0bbc644b35f1d509355ed1fe401e170f667b661f693b32598e8c143a817a958982845042bb48023004cc07578bbd1981dbf6e8a97a354c98d41b8b6f6e8a2c2b1763c7c2a29d79e24f8476075c9aed9aec6c64dff50461ae\n\n# tcId = 382\n# x-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 3065023100c286d1928e9c79fdd3bebdf22a1dbd37c8105e8ecf41e9e3777fe341b6b8d5a89b9d986827d6d1dbb381cd8239484a220230201119ae305b9360aa9b5e5d1567e0674c09e4f025556ebf81b987466b0f421b8d31f72bbe95f3ce2aa9874a84edfd40\n\n# tcId = 383\n# x-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 3065023100d9c678550167f10c511e62acb4bd0a3f7f336bc090c94e6c6b02622439c348a2159c5f41f9b5aa4b470590d40dcd7cc202301fd5eaee295abb4081cb626745f4ad279ceb44604062830b58e6c0465c562d41f02ba588fc0db1ebbe339cdc008d7a1b\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04000000002b089edd754169010145f263f334fc167cc19dae8225970ae19cc8cb7ec73593d6a465c370f5478b0e539d69d1951d597b56a67345acb25809581f07cd0eb78d9538a3f8a65f300e68a1eb78507df76de650e8f8ee63a5f0c5687c98]\n[key.wx = 2b089edd754169010145f263f334fc167cc19dae8225970ae19cc8cb7ec73593d6a465c370f5478b0e539d69]\n[key.wy = 0d1951d597b56a67345acb25809581f07cd0eb78d9538a3f8a65f300e68a1eb78507df76de650e8f8ee63a5f0c5687c98]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004000000002b089edd754169010145f263f334fc167cc19dae8225970ae19cc8cb7ec73593d6a465c370f5478b0e539d69d1951d597b56a67345acb25809581f07cd0eb78d9538a3f8a65f300e68a1eb78507df76de650e8f8ee63a5f0c5687c98]\n[sha = SHA-384]\n\n# tcId = 384\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 3065023020fee7c71b6cb0d1da3641ec6622c055a3b16a1f596c64b34da1b2d0b868b66a8f0a0d0db983b3dc7e53bb7295da81970231008141a931d3579aec1cac9887d2fff9c6f12d47a27e4aab8cf262a9d14a715bca0b2057cbc3f18b6fd3d1df76f7410f16\n\n# tcId = 385\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 3065023100913eecc559b3cf7108a65d6cc3076bfdf36c6f94dcc6693d06690470f34a2e81564241e1de5f5f51421de30af467f10f0230649bd3717244e8ef3c6b0eda983f84dca5ea86d1bec15386b9c473ec43a8cd0ba558eee819f791d9ff9272b9afd59551\n\n# tcId = 386\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 3064023023855c46403a97b76cbb316ec3fe7e2c422b818387604bda8c3d91121b4f20179d9107c5f92dedc8b620d7db87fccccd023050f57343ab148e50662320c4161e44543c35bc992011ea5b1680b94382cf224ea0ec5da511e102f566cb67201f30a2ee\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b33600000000208b3f5ad3b3937acc9d606cc5ececab4a701f75ed42957ea4d7858d33f5c26c6ae20a9cccda56996700d6b4]\n[key.wx = 0fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b336]\n[key.wy = 208b3f5ad3b3937acc9d606cc5ececab4a701f75ed42957ea4d7858d33f5c26c6ae20a9cccda56996700d6b4]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b33600000000208b3f5ad3b3937acc9d606cc5ececab4a701f75ed42957ea4d7858d33f5c26c6ae20a9cccda56996700d6b4]\n[sha = SHA-384]\n\n# tcId = 387\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 3066023100d200958d491fcebde667cd736c9dba0961c70db2ecaf573c31dd7fa41ecca32b40b5896f9a0ddf272110e3d", - "21e84593a023100c2ecf73943b9adce596bac14fce62495ae93825c5ff6f61c247d1d8afcba52082fc96f63a26e55bccfc3779f88cfd799\n\n# tcId = 388\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 306402306ac17d71260c79f81a7566124738cb3ee5d0aa690e73a98ae9e766f1336691e500cad51ba1302366c09cc06b8f7049e0023032ca965d6d7012ec187c7cab9544334d66c2a7658ddefa67e4ad40429815518ecc87b1492ddd57333bd2300b4660a835\n\n# tcId = 389\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 3065023100e19a4646f0ed8a271fe86ba533f8be4fd81bbf4674716f668efa89a40cac51eec2a6cfbd92327d25efe91ca4ff712bc502304a86b2e8e12378e633dec2691e3b1eed4e932cc48b28e45fa3d464cc0e948c02cc9decf2bb43b25937fcf37e9ad86ef0\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b336ffffffffdf74c0a52c4c6c8533629f933a131354b58fe08a12bd6a815b287a71cc0a3d92951df5633325a96798ff294b]\n[key.wx = 0fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b336]\n[key.wy = 0ffffffffdf74c0a52c4c6c8533629f933a131354b58fe08a12bd6a815b287a71cc0a3d92951df5633325a96798ff294b]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b336ffffffffdf74c0a52c4c6c8533629f933a131354b58fe08a12bd6a815b287a71cc0a3d92951df5633325a96798ff294b]\n[sha = SHA-384]\n\n# tcId = 390\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 3064023015aac6c0f435cb662d110db5cf686caee53c64fe2d6d600a83ebe505a0e6fc62dc5705160477c47528c8c903fa865b5d02307f94ddc01a603f9bec5d10c9f2c89fb23b3ffab6b2b68d0f04336d499085e32d22bf3ab67a49a74c743f72473172b59f\n\n# tcId = 391\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 306602310090b95a7d194b73498fba5afc95c1aea9be073162a9edc57c4d12f459f0a1730baf2f87d7d6624aea7b931ec53370fe47023100cbc1ef470e666010604c609384b872db7fa7b8a5a9f20fdefd656be2fcc75db53948102f7ab203ea1860a6a32af246a1\n\n# tcId = 392\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 3066023100dd4391ce7557cbd005e3d5d727cd264399dcc3c6501e4547505b6d57b40bbf0a7fac794dcc8d4233159dd0aa40d4e0b9023100a77fa1374fd60aa91600912200fc83c6aa447f8171ecea72ae322df32dccd68951dc5caf6c50380e400e45bf5c0e626b\n\n", +static const char *kData104[] = { + "# Imported from Wycheproof's ecdsa_secp384r1_sha384_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: ECDSA\n# Generator version: 0.8r12\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 042da57dda1089276a543f9ffdac0bff0d976cad71eb7280e7d9bfd9fee4bdb2f20f47ff888274389772d98cc5752138aa4b6d054d69dcf3e25ec49df870715e34883b1836197d76f8ad962e78f6571bbc7407b0d6091f9e4d88f014274406174f]\n[key.wx = 2da57dda1089276a543f9ffdac0bff0d976cad71eb7280e7d9bfd9fee4bdb2f20f47ff888274389772d98cc5752138aa]\n[key.wy = 4b6d054d69dcf3e25ec49df870715e34883b1836197d76f8ad962e78f6571bbc7407b0d6091f9e4d88f014274406174f]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200042da57dda1089276a543f9ffdac0bff0d976cad71eb7280e7d9bfd9fee4bdb2f20f47ff888274389772d98cc5752138aa4b6d054d69dcf3e25ec49df870715e34883b1836197d76f8ad962e78f6571bbc7407b0d6091f9e4d88f014274406174f]\n[sha = SHA-384]\n\n# tcId = 1\n# signature malleability\nmsg = 313233343030\nresult = valid\nsig = 3064023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d702301840da9fc1d2f8f8900cf485d5413b8c2574ee3a8d4ca03995ca30240e09513805bf6209b58ac7aa9cff54eecd82b9f1\n\n# tcId = 2\n# Legacy:ASN encoding of s misses leading 0\nmsg = 313233343030\nresult = acceptable\nsig = 3064023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70230e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\nflags = MissingZero\n\n# tcId = 3\n# valid\nmsg = 313233343030\nresult = valid\nsig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 4\n# long form encoding of length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 308165023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\nflags = BER\n\n# tcId = 5\n# length of sequence contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 30820065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\nflags = BER\n\n# tcId = 6\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3066023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 7\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3064023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 8\n# uint32 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 30850100000065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 9\n# uint64 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3089010000000000000065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 10\n# length of sequence = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30847fffffff023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 11\n# length of sequence = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3084ffffffff023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 12\n# length of sequence = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3085ffffffffff023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 13\n# length of sequence = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3088ffffffffffffffff023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 14\n# incorrect length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 30ff023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 15\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 3080023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 16\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 3065028012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 17\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7028000e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 18\n# removing sequence\nmsg = 313233343030\nresult = invalid\nsig = \n\n# tcId = 19\n# lonely sequence tag\nmsg = 313233343030\nresult = invalid\nsig = 30\n\n# tcId = 20\n# appending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 3067023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820000\n\n# tcId = 21\n# prepending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 30670000023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 22\n# appending unused 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820000\n\n# tcId = 23\n# appending null value to sequence\nmsg = 313233343030\nresult = invalid\nsig = 3067023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820500\n\n# tcId = 24\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 306a4981773065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 25\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 306925003065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 26\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 30673065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3", + "394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820004deadbeef\n\n# tcId = 27\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 306a2235498177023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 28\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 306922342500023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 29\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 306d2232023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70004deadbeef023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 30\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 306a023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d72236498177023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 31\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3069023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d722352500023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 32\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 306d023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d72233023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820004deadbeef\n\n# tcId = 33\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 306daa00bb00cd003065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 34\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 306baa02aabb3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 35\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 306d2238aa00bb00cd00023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 36\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 306b2236aa02aabb023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 37\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 306d023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d72239aa00bb00cd00023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 38\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 306b023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d72237aa02aabb023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 39\n# truncated length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3081\n\n# tcId = 40\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 30803065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820000\n\n# tcId = 41\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 30692280023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70000023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 42\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 3069023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d72280023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820000\n\n# tcId = 43\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 30803165023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820000\n\n# tcId = 44\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 30692280033012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70000023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 45\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 3069023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d72280033100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820000\n\n# tcId = 46\n# Replacing sequence with NULL\nmsg = 313233343030\nresult = invalid\nsig = 0500\n\n# tcId = 47\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 2e65023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 48\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 2f65023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 49\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3165023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 50\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3265023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 51\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = ff65023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 52\n# dropping value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3000\n\n# tcId = 53\n# using composition for sequence\nmsg = 313233343030\nresult = invalid\nsig = 306930010230643012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 54\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 3064023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f\n\n# tcId = 55\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 30643012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 56\n# indefini", + "te length\nmsg = 313233343030\nresult = invalid\nsig = 3080023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820000\nflags = BER\n\n# tcId = 57\n# indefinite length with truncated delimiter\nmsg = 313233343030\nresult = invalid\nsig = 3080023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f8200\n\n# tcId = 58\n# indefinite length with additional element\nmsg = 313233343030\nresult = invalid\nsig = 3080023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f8205000000\n\n# tcId = 59\n# indefinite length with truncated element\nmsg = 313233343030\nresult = invalid\nsig = 3080023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82060811220000\n\n# tcId = 60\n# indefinite length with garbage\nmsg = 313233343030\nresult = invalid\nsig = 3080023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820000fe02beef\n\n# tcId = 61\n# indefinite length with nonempty EOC\nmsg = 313233343030\nresult = invalid\nsig = 3080023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820002beef\n\n# tcId = 62\n# prepend empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 30673000023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 63\n# append empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 3067023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f823000\n\n# tcId = 64\n# append garbage with high tag number\nmsg = 313233343030\nresult = invalid\nsig = 3068023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82bf7f00\n\n# tcId = 65\n# sequence of sequence\nmsg = 313233343030\nresult = invalid\nsig = 30673065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 66\n# truncated sequence: removed last 1 elements\nmsg = 313233343030\nresult = invalid\nsig = 3032023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7\n\n# tcId = 67\n# repeating element in sequence\nmsg = 313233343030\nresult = invalid\nsig = 308198023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 68\n# long form encoding of length of integer\nmsg = 313233343030\nresult = invalid\nsig = 306602813012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\nflags = BER\n\n# tcId = 69\n# long form encoding of length of integer\nmsg = 313233343030\nresult = invalid\nsig = 3066023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d702813100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\nflags = BER\n\n# tcId = 70\n# length of integer contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 30670282003012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\nflags = BER\n\n# tcId = 71\n# length of integer contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 3067023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70282003100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\nflags = BER\n\n# tcId = 72\n# wrong length of integer\nmsg = 313233343030\nresult = invalid\nsig = 3065023112b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 73\n# wrong length of integer\nmsg = 313233343030\nresult = invalid\nsig = 3065022f12b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 74\n# wrong length of integer\nmsg = 313233343030\nresult = invalid\nsig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023200e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 75\n# wrong length of integer\nmsg = 313233343030\nresult = invalid\nsig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023000e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 76\n# uint32 overflow in length of integer\nmsg = 313233343030\nresult = invalid\nsig = 306a0285010000003012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 77\n# uint32 overflow in length of integer\nmsg = 313233343030\nresult = invalid\nsig = 306a023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70285010000003100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 78\n# uint64 overflow in length of integer\nmsg = 313233343030\nresult = invalid\nsig = 306e028901000000000000003012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 79\n# uint64 overflow in length of integer\nmsg = 313233343030\nresult = invalid\nsig = 306e023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7028901000000000000003100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 80\n# length of integer = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 306902847fffffff12b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 81\n# length of integer = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3069023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d702847fffffff00e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 82\n# length of integer = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30690284ffffffff12b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff4", + "26f82\n\n# tcId = 83\n# length of integer = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3069023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70284ffffffff00e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 84\n# length of integer = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 306a0285ffffffffff12b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 85\n# length of integer = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 306a023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70285ffffffffff00e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 86\n# length of integer = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 306d0288ffffffffffffffff12b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 87\n# length of integer = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 306d023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70288ffffffffffffffff00e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 88\n# incorrect length of integer\nmsg = 313233343030\nresult = invalid\nsig = 306502ff12b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 89\n# incorrect length of integer\nmsg = 313233343030\nresult = invalid\nsig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d702ff00e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 90\n# removing integer\nmsg = 313233343030\nresult = invalid\nsig = 3033023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 91\n# lonely integer tag\nmsg = 313233343030\nresult = invalid\nsig = 303402023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 92\n# lonely integer tag\nmsg = 313233343030\nresult = invalid\nsig = 3033023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d702\n\n# tcId = 93\n# appending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 3067023212b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70000023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 94\n# appending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 3067023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023300e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820000\n\n# tcId = 95\n# prepending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 30670232000012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\nflags = BER\n\n# tcId = 96\n# prepending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 3067023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70233000000e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\nflags = BER\n\n# tcId = 97\n# appending unused 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 3067023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70000023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 98\n# appending null value to integer\nmsg = 313233343030\nresult = invalid\nsig = 3067023212b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70500023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 99\n# appending null value to integer\nmsg = 313233343030\nresult = invalid\nsig = 3067023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023300e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820500\n\n# tcId = 100\n# truncated length of integer\nmsg = 313233343030\nresult = invalid\nsig = 30350281023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 101\n# truncated length of integer\nmsg = 313233343030\nresult = invalid\nsig = 3034023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70281\n\n# tcId = 102\n# Replacing integer with NULL\nmsg = 313233343030\nresult = invalid\nsig = 30350500023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 103\n# Replacing integer with NULL\nmsg = 313233343030\nresult = invalid\nsig = 3034023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70500\n\n# tcId = 104\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3065003012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 105\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3065013012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 106\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3065033012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 107\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3065043012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 108\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3065ff3012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 109\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7003100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 110\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7013100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 111\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7033100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 112\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7043100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fe", + "cc47bff426f82\n\n# tcId = 113\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7ff3100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 114\n# dropping value of integer\nmsg = 313233343030\nresult = invalid\nsig = 30350200023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 115\n# dropping value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3034023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70200\n\n# tcId = 116\n# using composition for integer\nmsg = 313233343030\nresult = invalid\nsig = 30692234020112022fb30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 117\n# using composition for integer\nmsg = 313233343030\nresult = invalid\nsig = 3069023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d722350201000230e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 118\n# modify first byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 3065023010b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 119\n# modify first byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023102e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 120\n# modify last byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c54857023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 121\n# modify last byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f02\n\n# tcId = 122\n# truncated integer\nmsg = 313233343030\nresult = invalid\nsig = 3064022f12b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 123\n# truncated integer\nmsg = 313233343030\nresult = invalid\nsig = 3064022fb30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 124\n# truncated integer\nmsg = 313233343030\nresult = invalid\nsig = 3064023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023000e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f\n\n# tcId = 125\n# leading ff in integer\nmsg = 313233343030\nresult = invalid\nsig = 30660231ff12b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 126\n# leading ff in integer\nmsg = 313233343030\nresult = invalid\nsig = 3066023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70232ff00e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 127\n# replaced integer by infinity\nmsg = 313233343030\nresult = invalid\nsig = 3036090180023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 128\n# replaced integer by infinity\nmsg = 313233343030\nresult = invalid\nsig = 3035023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7090180\n\n# tcId = 129\n# replacing integer with zero\nmsg = 313233343030\nresult = invalid\nsig = 3036020100023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 130\n# replacing integer with zero\nmsg = 313233343030\nresult = invalid\nsig = 3035023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7020100\n\n# tcId = 131\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 306602310112b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19a25617aad7485e6312a8589714f647acf7a94cffbe8a724a023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 132\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30660231ff12b30abef6b5476fe6b612ae557c0425661e26b44b1bfe1a138f7ca6eeda02a462743d328394f8b71dd11a2a25001f64023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 133\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30650230ed4cf541094ab8901949ed51aa83fbda99e1d94bb4e401e6250d35d71ceecf7c4571b51b33ba5fcdf542cc6b0e3ab729023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 134\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ed4cf541094ab8901949ed51aa83fbda99e1d94bb4e401e5ec7083591125fd5b9d8bc2cd7c6b0748e22ee5d5daffe09c023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 135\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30660231feed4cf541094ab8901949ed51aa83fbda99e1d94bb4e401e65da9e85528b7a19ced57a768eb09b8530856b30041758db6023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 136\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 306602310112b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 137\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ed4cf541094ab8901949ed51aa83fbda99e1d94bb4e401e6250d35d71ceecf7c4571b51b33ba5fcdf542cc6b0e3ab729023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 138\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023101e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc5f8fc6adfda650a86aa74b95adbd6874b3cd8dde6cc0798f5\n\n# tcId = 139\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3064023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70230e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc66a35cfdbf1f6aec7fa409df64a7538556300ab11327d460f\n\n# tcId = 140\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70231ff1840da9fc1d2f8f8900cf485d5413b8c2574ee3a8d4ca039ce66e2a219d22358ada554576cda202fb0133b8400bd907e\n\n# tcId = 141\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3065023012b3", + "0abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70231fe1840da9fc1d2f8f8900cf485d5413b8c2574ee3a8d4ca03a07039520259af579558b46a5242978b4c327221933f8670b\n\n# tcId = 142\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023101e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82\n\n# tcId = 143\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3064023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d702301840da9fc1d2f8f8900cf485d5413b8c2574ee3a8d4ca039ce66e2a219d22358ada554576cda202fb0133b8400bd907e\n\n# tcId = 144\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020100020100\nflags = EdgeCase\n\n# tcId = 145\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020100020101\nflags = EdgeCase\n\n# tcId = 146\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201000201ff\nflags = EdgeCase\n\n# tcId = 147\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036020100023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973\nflags = EdgeCase\n\n# tcId = 148\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036020100023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972\nflags = EdgeCase\n\n# tcId = 149\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036020100023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974\nflags = EdgeCase\n\n# tcId = 150\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036020100023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff\nflags = EdgeCase\n\n# tcId = 151\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036020100023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000\nflags = EdgeCase\n\n# tcId = 152\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3008020100090380fe01\nflags = EdgeCase\n\n# tcId = 153\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020100090142\nflags = EdgeCase\n\n# tcId = 154\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020101020100\nflags = EdgeCase\n\n# tcId = 155\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020101020101\nflags = EdgeCase\n\n# tcId = 156\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201010201ff\nflags = EdgeCase\n\n# tcId = 157\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036020101023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973\nflags = EdgeCase\n\n# tcId = 158\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036020101023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972\nflags = EdgeCase\n\n# tcId = 159\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036020101023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974\nflags = EdgeCase\n\n# tcId = 160\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036020101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff\nflags = EdgeCase\n\n# tcId = 161\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036020101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000\nflags = EdgeCase\n\n# tcId = 162\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3008020101090380fe01\nflags = EdgeCase\n\n# tcId = 163\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020101090142\nflags = EdgeCase\n\n# tcId = 164\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff020100\nflags = EdgeCase\n\n# tcId = 165\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff020101\nflags = EdgeCase\n\n# tcId = 166\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff0201ff\nflags = EdgeCase\n\n# tcId = 167\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30360201ff023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973\nflags = EdgeCase\n\n# tcId = 168\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30360201ff023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972\nflags = EdgeCase\n\n# tcId = 169\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30360201ff023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974\nflags = EdgeCase\n\n# tcId = 170\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30360201ff023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff\nflags = EdgeCase\n\n# tcId = 171\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30360201ff023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000\nflags = EdgeCase\n\n# tcId = 172\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30080201ff090380fe01\nflags = EdgeCase\n\n# tcId = 173\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff090142\nflags = EdgeCase\n\n# tcId = 174\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973020100\nflags = EdgeCase\n\n# tcId = 175\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973020101\nflags = EdgeCase\n\n# tcId = 176\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc529730201ff\nflags = EdgeCase\n\n# tcId = 177\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973\nflags = EdgeCase\n\n# tcId = 178\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972\nflags = EdgeCase\n\n# tcId = 179\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974\nflags = EdgeCase\n\n# tcId =", + " 180\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff\nflags = EdgeCase\n\n# tcId = 181\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000\nflags = EdgeCase\n\n# tcId = 182\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3038023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973090380fe01\nflags = EdgeCase\n\n# tcId = 183\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973090142\nflags = EdgeCase\n\n# tcId = 184\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972020100\nflags = EdgeCase\n\n# tcId = 185\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972020101\nflags = EdgeCase\n\n# tcId = 186\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc529720201ff\nflags = EdgeCase\n\n# tcId = 187\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973\nflags = EdgeCase\n\n# tcId = 188\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972\nflags = EdgeCase\n\n# tcId = 189\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974\nflags = EdgeCase\n\n# tcId = 190\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff\nflags = EdgeCase\n\n# tcId = 191\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000\nflags = EdgeCase\n\n# tcId = 192\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3038023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972090380fe01\nflags = EdgeCase\n\n# tcId = 193\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972090142\nflags = EdgeCase\n\n# tcId = 194\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974020100\nflags = EdgeCase\n\n# tcId = 195\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974020101\nflags = EdgeCase\n\n# tcId = 196\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc529740201ff\nflags = EdgeCase\n\n# tcId = 197\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973\nflags = EdgeCase\n\n# tcId = 198\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972\nflags = EdgeCase\n\n# tcId = 199\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974\nflags = EdgeCase\n\n# tcId = 200\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff\nflags = EdgeCase\n\n# tcId = 201\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000\nflags = EdgeCase\n\n# tcId = 202\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3038023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974090380fe01\nflags = EdgeCase\n\n# tcId = 203\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974090142\nflags = EdgeCase\n\n# tcId = 204\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff020100\nflags = EdgeCase\n\n# tcId = 205\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff020101\nflags = EdgeCase\n\n# tcId = 206\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff0201ff\nflags = EdgeCase\n\n# tcId = 207\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973\nflags = EdgeCase\n\n# tcId = 208\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972\nflags = EdgeCase\n\n# tcId = 209\n# Signature with", + " special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974\nflags = EdgeCase\n\n# tcId = 210\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff\nflags = EdgeCase\n\n# tcId = 211\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000\nflags = EdgeCase\n\n# tcId = 212\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3038023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff090380fe01\nflags = EdgeCase\n\n# tcId = 213\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff090142\nflags = EdgeCase\n\n# tcId = 214\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000020100\nflags = EdgeCase\n\n# tcId = 215\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000020101\nflags = EdgeCase\n\n# tcId = 216\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000001000000000201ff\nflags = EdgeCase\n\n# tcId = 217\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973\nflags = EdgeCase\n\n# tcId = 218\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972\nflags = EdgeCase\n\n# tcId = 219\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974\nflags = EdgeCase\n\n# tcId = 220\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff\nflags = EdgeCase\n\n# tcId = 221\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000\nflags = EdgeCase\n\n# tcId = 222\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3038023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000090380fe01\nflags = EdgeCase\n\n# tcId = 223\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000090142\nflags = EdgeCase\n\n# tcId = 224\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 30060201010c0130\n\n# tcId = 225\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 30050201010c00\n\n# tcId = 226\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 30090c0225730c03732573\n\n# tcId = 227\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 30080201013003020100\n\n# tcId = 228\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 3003020101\n\n# tcId = 229\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 3006020101010100\n\n# tcId = 230\n# Edge case for Shamir multiplication\nmsg = 3133323237\nresult = valid\nsig = 3066023100ac042e13ab83394692019170707bc21dd3d7b8d233d11b651757085bdd5767eabbb85322984f14437335de0cdf565684023100bd770d3ee4beadbabe7ca46e8c4702783435228d46e2dd360e322fe61c86926fa49c8116ec940f72ac8c30d9beb3e12f\n\n# tcId = 231\n# special case hash\nmsg = 31373530353531383135\nresult = valid\nsig = 3066023100d3298a0193c4316b34e3833ff764a82cff4ef57b5dd79ed6237b51ff76ceab13bf92131f41030515b7e012d2ba857830023100bfc7518d2ad20ed5f58f3be79720f1866f7a23b3bd1bf913d3916819d008497a071046311d3c2fd05fc284c964a39617\n\n# tcId = 232\n# special case hash\nmsg = 3130333633303731\nresult = valid\nsig = 3065023100e14f41a5fc83aa4725a9ea60ab5b0b9de27f519af4b557a601f1fee0243f8eee5180f8c531414f3473f4457430cb7a2602301047ed2bf1f98e3ce93e8fdbdc63cc79f238998fee74e1bb6cd708694950bbffe3945066064da043f04d7083d0a596ec\n\n# tcId = 233\n# special case hash\nmsg = 32333632343231333231\nresult = valid\nsig = 3066023100b7c8b5cf631a96ad908d6a8c8d0e0a35fcc22a5a36050230b665932764ae45bd84cb87ebba8e444abd89e4483fc9c4a8023100a11636c095aa9bc69cf24b50a0a9e5377d0ffbba4fab5433159f006ab4563d55e918493020a19691574e4d1e66e3975e\n\n# tcId = 234\n# special case hash\nmsg = 34353838303134363536\nresult = valid\nsig = 306402304a7df2df6a32d59b6bfed54f032c3d6f3acd3ac4063704099cd162ab3908e8eeba4e973ee75b5e285dd572062338fe58023035365be327e2463dc759951c5c0be5e3d094cb706912fdf7d26b15d4a5c42ffebeca5ae73a1823f5e65d571b4ccf1a82\n\n# tcId = 235\n# special case hash\nmsg = 32313436363035363432\nresult = valid\nsig = 30660231009ad363a1bbc67c57c82a378e988cc083cc91f8b32739ec647c0cb348fb5c86472015131a7d9083bf4740af3351755195023100d310dc1509f8c00281efe571768d488027ea760fe32971f6cb7b57cdf90621b7d0086e26443d3761df7aa3a4eccc6c58\n\n# tcId = 236\n# special case hash\nmsg = 333335333030383230\nresult = valid\nsig = 306502310095078af5c2ac230239557f5fcee2e712a7034e95437a9b34c1692a81270edcf8ddd5aba1138a42012663e5f81c9beae2023040ee510a0cceb8518ad4f618599164da0f3ba75eceeac216216ec62bcceae8dc98b5e35b2e7ed47c4b8ebacfe84a74e6\n\n# tcId = 237\n# special case hash\nmsg = 36333936363033363331\nresult = valid\nsig = 3066023100a538076362043de54864464c14a6c1c3a478443726c1309a36b9e9ea1592b40c3f3f90d195bd298004a71e8f285e093a023100d74f97ef38468515a8c927a450275c14dc16ddbdd92b3a5cae804be20d29c682129247d2e01d37dabe38ffb74808a8b7\n\n# tcId = 238\n# special case hash\nmsg = 33333931363630373935\nresult = valid\nsig = 3065023100bbe835113f8ea4dc469f0283af6603f3d7a3a222b3ab5a93db56007ef2dc07c97988fc7b8b833057fa3fbf97413b6c150230737c316320b61002c2acb184d82e60e46bd2129a9bbf563c80da423121c161decd363518b260aaacf3734c1ef9faa925\n\n# tcId = 239\n# special case hash\nmsg = 31343436393735393634\nresult = valid\nsig = 30650230679c3640ad8ffe9577d9b59b18ff5598dbfe61122bbab8238d268907c989cd94dc7f601d17486af93f6d18624aa524a3023100e84dd195502bdcdd77b7f51d8c1ea789006905844a0e185474af1a583bab564ee23be0bc49500390dceb3d3948f06730\n\n# tcId = 240\n# special case hash\nmsg = 35313539343738363431\nresult = valid\nsig = 3066023100f6f1afe6febce799cc9b754279f2499f3825c3e789accef46d3f068e2b6781fd50669e80c3c7293a5c0c0af48e068e35023100f59cc8c2222ed63b4553f8149ebecc43b866719b294ef0832a12b3e3dbc825eeab68b5779625b10ae5541412ec295354\n\n# tcId = 241\n# special case has", + "h\nmsg = 35323431373932333331\nresult = valid\nsig = 3065023100f46496f6d473f3c091a68aaa3749220c840061cd4f888613ccfeac0aa0411b451edbd4facbe38d2dd9d6d0d0d255ed34023000c3a74fa6666f58c4798f30c3779813e5c6d08ac31a792c2d0f9cb708733f26ad6bf3b1e46815ae536aa151680bdee2\n\n# tcId = 242\n# special case hash\nmsg = 31313437323930323034\nresult = valid\nsig = 3066023100df8b8e4cb1bc4ec69cb1472fa5a81c36642ed47fc6ce560033c4f7cb0bc8459b5788e34caa7d96e6071188e449f0207a0231008b8ee0177962a489938f3feffae55729d9d446fe438c7cb91ea5f632c80aa72a43b9b04e6de7ff34f76f4425107fd697\n\n# tcId = 243\n# special case hash\nmsg = 3130383738373235363435\nresult = valid\nsig = 30660231008bb6a8ecdc8b483ad7b9c94bb39f63b5fc1378efe8c0204a74631dded7159643821419af33863b0414bd87ecf73ba3fb0231008928449f2d6db2b2c65d44d98beb77eeadcbda83ff33e57eb183e1fc29ad86f0ba29ee66e750e8170ccc434cf70ae199\n\n# tcId = 244\n# special case hash\nmsg = 37333433333036353633\nresult = valid\nsig = 3065023100e3832877c80c4ed439d8eadcf615c0286ff54943e3ae2f66a3b9f886245fea470e6d5812cef80c23e4f568d0215a3bfc02303177a7dbf0ab8f8f5fc1d01b19d6a5e89642899f369dfe213b7cc55d8eaf21dd2885efce52b5959c1f06b7cac5773e5b\n\n# tcId = 245\n# special case hash\nmsg = 393734343630393738\nresult = valid\nsig = 306502306275738f0880023286a9b6f28ea0a9779e8d644c3dec48293c64f1566b34e15c7119bd9d02fa2357774cabc9e53ef7e6023100d2f0a52b1016082bd5517609ee81c0764dc38a8f32d9a5074e717ee1d832f9ea0e4c6b100b1fd5e7f4bc7468c79d3933\n\n# tcId = 246\n# special case hash\nmsg = 33323237303836383339\nresult = valid\nsig = 3066023100d316fe5168cf13753c8c3bbef83869a6703dc0d5afa82af49c88ff3555660f57919a6f36e84451c3e8e5783e3b83fe3b023100995f08c8fec7cd82ce27e7509393f5a3803a48fe255fcb160321c6e1890eb36e37bcda158f0fa6899e7d107e52de8c3c\n\n# tcId = 247\n# special case hash\nmsg = 323332393736343130\nresult = valid\nsig = 306402300b13b8fd10fa7b42169137588ad3f557539a4e9206f3a1f1fe9202b0690defded2be18147f5b2da9285c0e7349735ea302300478ad317b22a247bf9334719b4c8ee84acf134515db77e6141c75d08961e1e51eaca29836744103de0f6a4c798d3eeb\n\n# tcId = 248\n# special case hash\nmsg = 3934303437333831\nresult = valid\nsig = 3065023015804429bcb5277d4f0af73bd54c8a177499a7b64f18afc566c3ce7096bdc6c275e38548edcfa0b78dd7f57b6f393e49023100d5951f243e65b82ba5c0c7552d33b11f1e90fde0c3fd014aac1bb27db2aaf09b667c8b247c4cdd5b0723fba83b4f999e\n\n# tcId = 249\n# special case hash\nmsg = 33323230353639313233\nresult = valid\nsig = 30650230359247c95776bb17492b7bf827f5f330fa9f9de7cc10441a1479c81776ce36cdc6a13c5f5149c4e39147a196bb02ed34023100f6ed9252a73de48516f4eabab6368fbff6875128af4e1226d54db558bd76eec369cc9b285bc196d512e531f84864d33f\n\n# tcId = 250\n# special case hash\nmsg = 343134303533393934\nresult = valid\nsig = 3065023100a557d1f63a2094f683429ecb35a6533bac897682775c0051e111eed6e076c48867cae005c5e0803800b050311e381cd602302a2f871efcf03cf1c8f509e076aaa2a76f1ea78d1c64804ea5b063b0324b8e98eb5825d04370106020ee15805dbedf81\n\n# tcId = 251\n# special case hash\nmsg = 31393531353638363439\nresult = valid\nsig = 3065023100f22bf91169b4aec84ca84041cb826f7dfc6f33d973f3c72433b8a0ca203aac93f7eed62be9bea01706402d5b5d3b0e6502307841d3bc34aa47e813a55c25203c5ec2342d838d5b4638c2705dcf4bac9c24f765b5d4c28fa3c7fda7a38ed5048c7de3\n\n# tcId = 252\n# special case hash\nmsg = 35393539303731363335\nresult = valid\nsig = 30660231009c196e39a2d61a3c2565f5932f357e242892737e9adfc86c6609f291e5e6fdbb23029ff915a032b0c5390ba9d15f203e023100d721e28e5269d7813e8a9aed53a37e652fec1560ca61f28f55ab4c262cc6214eee8d3c4c2ba9d1ba0ba19e5e3c7484a7\n\n# tcId = 253\n# special case hash\nmsg = 323135333436393533\nresult = valid\nsig = 30660231008ba1e9dec14d300b0e250ea0bcd4419c3d9559622cc7b8375bd73f7d70133242e3d5bf70bc782808734654bacd12daea023100d893d3970f72ccab35555ae91ebcfed3c5bfc5d39181071bc06ba382587a695e02ed482f1a74fe309a399eaee5f5bc52\n\n# tcId = 254\n# special case hash\nmsg = 34383037313039383330\nresult = valid\nsig = 306402302f521d9d83e1bff8d25255a9bdca90e15d78a8c9ea7885b884024a40de9a315bed7f746b5da4ce96b070208e9ae0cfa502304185c6f4225b8c255a4d31abb5c9b6c686a6ee50a8eb7103aaef90245a4722fc8996f266f262109c3b5957ba73289a20\n\n# tcId = 255\n# special case hash\nmsg = 343932393339363930\nresult = valid\nsig = 3065023100d4900f54c1bc841d38eb2f13e0bafbb12b5667393b07102db90639744f54d78960b344c8fbfbf3540b38d00278e177aa02303a16eff0399700009b6949f3f506c543495bf8e0f3a34feb8edd63648747b531adc4e75398e4da8083b88b34c2fb97a8\n\n# tcId = 256\n# special case hash\nmsg = 32313132333535393630\nresult = valid\nsig = 3065023100c0169e2b8b97eeb0650e27653f2e473b97a06e1e888b07c1018c730cabfdeeec4a626c3edee0767d44e8ed07080c2ac4023013f46475f955f9701928067e3982d4ba5a58a379a66f91b74fad9ac8aee30086be6f41c9c2d8fb80e0924dedbe67e968\n\n# tcId = 257\n# special case hash\nmsg = 31323339323735373034\nresult = valid\nsig = 306402302e868871ea8b27a8a746882152051f2b146af4ac9d8473b4b6852f80a1d0c7cab57489aa43f89024388aec0605b0263702306d8c89eed8a5a6252c5cead1c55391c6743d881609e3db24d70ead80a663570020798fbf41d4c624fcb1ce36c536fe38\n\n# tcId = 258\n# special case hash\nmsg = 32303831313838373638\nresult = valid\nsig = 3065023100abe6a51179ee87c957805ecad5ccebca30c6e3a3e6dbe4eb4d130b71df2bf590b9d67c8f49e81bf90ce0909d3c2dab4c02307110582fab495b21bd9dda064fbd7acc09d0544dcf7699be35ad16207ffa10e8904f9241a709487ba2ba7e34430b81c3\n\n# tcId = 259\n# special case hash\nmsg = 343534363038393633\nresult = valid\nsig = 3064023050252c19e60e4120b7c28b2c2e0a588e5d107518cd61e5c7999c6d465ea134f752322d8b83f5988fcdc62bd9adb36ccd0230193899352491dabfe4fc942e14ddacb200673729d61602cc0baf5732d262f36e5279865a810ce2f977f57686a0d0137a\n\n# tcId = 260\n# special case hash\nmsg = 31333837363837313131\nresult = valid\nsig = 3066023100eb725fdd539d7de8ea02fac8db6ec464f40c272a63e6b2718c4e0266bf1235dae330f747a6052f4319ecbe7bdade9bd0023100ae84507648ba2d1944bb67722ccd2cb94b92b59e89a1ae698c668bb57f481c42b216c23da4b1d8c0e502ef97fda05ad0\n\n# tcId = 261\n# special case hash\nmsg = 32303331333831383735\nresult = valid\nsig = 3064023025aa56fcbd92f2cf53bddbaa0db537de5843290731c1dd78036fcbded4a8f7187ddfed9f5ca9d98ea7b12d24b8d29d570230028f68372d66164810bf79c30a191116d496fe32314605dc1668289425fb3a15d7532dde1052a49a35866c147abde1d9\n\n# tcId = 262\n# special case hash\nmsg = 323535333538333333\nresult = valid\nsig = 3065023054bf7adc8548e7cae270e7b097f16b5e315158d21b0e652ce1cfe4b33126ba4a65bf227b4cddcaf22d33d82478937b20023100bfc1b8f1d02846a42f31e1bd10ba334065459f712a3bbc76005d6c6488889f88c0983f4834d0bf2249dbf0a6db760701\n\n# tcId = 263\n# special case hash\nmsg = 34363138383431343732\nresult = valid\nsig = 3066023100d3bb29ac0bd1f6058a5197f766d6ea3216c572ded62af46318c8c7f9547bb246553654279d69989d9af5ef4ccacf64da023100e10281122c2112a2a5a9d87ac58f64fb07c996a2d09292119e8f24d5499b2e8524ebd0570097f6cc7f9c26094a35c857\n\n# tcId = 264\n# special case hash\nmsg = 31303039323435383534\nresult = valid\nsig = 3066023100bc32e85e3112472408f9324586e525325128a38313c34b79700cb0a3f7262a90a1fcc40eef1f1a3884032a7a21810e0a023100c02f52541360358107a13dbea31f83d80397710901734b7adb78b1fc904454a28a378514ccef80ecc70c1d8e55f11311\n\n# tcId = 265\n# special case hash\nmsg = 32373536343636353238\nresult = valid\nsig = 3066023100f04b9e17c71d2d2133ea380d71b6b82c8a8e3332703e9d535b2c2bca9b0ad586d176a6049afa35edd9722edb5c33daa3023100bd44d4a6263380ca6f22e76c26d5f70f41f4d7cae7d4b9c1b8dc2ba5298d9d12408b04614e2f3796cc19c950c8c88a10\n\n# tcId = 266\n# special case hash\nmsg = 313139363937313032\nresult = valid\nsig = 3065023100c8807351d8e261338e750cb9a52f4be4470b63f6f181cbe0e81d43b60824ba4be1bba42b1783897a0d72b0614018b02f023052e3a598c8be982127e961eed2b04f21c86df4ebcab0d955a7c66ec7f818898798ee75367a85022276b912c0a072bff7\n\n# tcId = 267\n# special case hash\nmsg = 323333313432313732\nresult = valid\nsig = 306402306152841b6fb460546eeb4158a3e5ffa54f51aa6a208987be899b706055cd59d8ec7c01f4634254fe050e1d4ec525a173023073f0c5f13640d892c28f701428e8fbfb736b6478bbd972c8c684977556ed599a70d313e06b126080e13068d56e1c10be\n\n# tcId = 268\n# special case hash\nmsg = 31363733343831383938\nresult = valid\nsig = 3066023100842f8d2814f5b7163f4b21bd9727246e078ad1e7435dfe1bc5f9e0e7374232e686b9b98b73deab9e43b3b7f25416c2be023100852c106c412300bac3ba265990b428a26076ab3f00fd7657bbd9315fa1cd2a1230a9a60d06b7af87aa0a6cf3f48b344c\n\n# tcId = 269\n# special case hash\nmsg = 31343630313539383237\nresult = valid\nsig = 3066023100e13f6d638b9d4fba54aa436a945cfea66dec058fab6f02629326", + "5884457b5a86e8e927d699bc64431b71e3d41df200440231009832cd1b4177118ed247b4f31277da15f420179f45c71a237d77f599a45df68247bac3dcef0868ecd1665005c25b7c6c\n\n# tcId = 270\n# special case hash\nmsg = 38393930383539393239\nresult = valid\nsig = 3064023009fff1c2e4ff8643cbfad588620c2bf7aaca5cf4242969142c7145b927bd82ed14f3ae8c6e2ce2da63b990b9f1be6d640230780c816f6c86343b008235ee986abf2136123ed247e4751e4d5467334f08e5e2ca1161254f68c3e6678e2d0b87d1cc7c\n\n# tcId = 271\n# special case hash\nmsg = 34333236343430393831\nresult = valid\nsig = 3066023100ffae6e7d2cea71b5a9c73cbc1285a8d252949772afe1aa27fb137740fc429c2a8c8648c9a5ba678a32f7ae7689b395ca02310089d54cd13a162c34189ff524813690e79768af8ebe794cc941dfe7fdf2cb8dd0b42519f034ea4d4f1c870046d13210e1\n\n# tcId = 272\n# special case hash\nmsg = 32333736343337353537\nresult = valid\nsig = 3066023100efa3c5fc3c8be1007475a2dbd46e3578bb30579445909c2445f850fb8aa60aa5b1749cc3400d8ffd81cb8832b50d27b4023100b36a08db3845b3d2ebd2c335480f12fb83f2a7351841ea3842ec62ad904b098efbf9faa7828b9c185746d9c8bd047d76\n\n# tcId = 273\n# special case hash\nmsg = 383630333937373230\nresult = valid\nsig = 3066023100f577095f7c74594aa1c69aca9bb26e0c7475ae5163058ecc074b03af89e56b12b6a72450589dacf0d7e6b172d0017a0e023100bee756a0b5d0a677bf95f98da512854f3ecb712f94570e1ad230eab17c527b6a8bcc9ae202b657a3611ecffa94ba0d54\n\n# tcId = 274\n# special case hash\nmsg = 35383037373733393837\nresult = valid\nsig = 306502300ae7688c7de5882eb9c3172f5500015552f998fb53702c6cd4b03404d5a0510a8073db95db544808dbd76659fd20cf12023100bc610fe5f04d8909cc439615fb7e302d3d82992817647c50c1f467090a52b328cbbc0262f18ffb6fd9f3bd60013cea08\n\n# tcId = 275\n# special case hash\nmsg = 353731383636383537\nresult = valid\nsig = 306502305dc8a6d84afaaf900d78c6a91dc5e12e7d17891a52c1468253061d704b8940bef85b9fe807a0e02b56e8dd37c22fbb82023100914258de52932c4604dceb5ce7cc0a92e021edca9b819b84a9f25652f9af13f956a1139ee95c7aa7a079e3ad8317fbdb\n\n# tcId = 276\n# special case hash\nmsg = 38363737333039333632\nresult = valid\nsig = 3066023100da55a6dbb845205c87c995b0bbc8444ffcba6eb1f4eb9d30f721d2dacc198fb1a8296075e68eb3d25ef596a952b8ea19023100829f671dccad6d7b0b8c4b39ff3f42597965d55c645fb880a66fe198d9344c9311f1598930392470379fa5ff43c75d04\n\n# tcId = 277\n# special case hash\nmsg = 32343735353135303630\nresult = valid\nsig = 306402303730dfd0985de77decdd358a544b47f418d3fab42481530d5d514859894c6f23b729af72b44686058de29687b34b3b0c023065bdfaf0ac217a80b82eb09c9f59c5c8cfbf50a6eb979a8f5f63eab9bd38ee0938e4b23102112033b230a14ad2790e3f\n\n# tcId = 278\n# special case hash\nmsg = 393733313736383734\nresult = valid\nsig = 3065023055210df2124c170e259af1dafa73e66613aa18ced8eb40a7f66155d50d5f3124edfa55276de4797013177291e8afeff6023100c314d3a310a60647dad3318ed7f0405a64c3f94b5ac98e6be12208c8ad9835fa6b81a0ea59f476608634657b66e00ffd\n\n# tcId = 279\n# special case hash\nmsg = 33363938303935313438\nresult = valid\nsig = 3065023100f6c9897144b5d84964515eb0c8c3d0d9c6687c957887e93c29b2a21804b40307fb88bfd5cca11c95885d28867cb33a740230656bafca242290f7d7e9801b6cfd4bd1b07e8d7c6c1c59fd3d8e82e9846a1b2855c85420e4ee6ec2d97fec2161eeb243\n\n# tcId = 280\n# special case hash\nmsg = 3130373530323638353736\nresult = valid\nsig = 3065023100bfbcc5f343e2ab392ce6c1c02d91c00650c47136836a5d0622d476ac2b3274395721b1ab21882ed5cabed093b43b133f0230043e9fc64c6108df73f9eced90f91185f83d89662f5a9d810c1824fbfd97b842f784305fd6b9c28c80d32d52b1538d12\n\n# tcId = 281\n# special case hash\nmsg = 383639313439353538\nresult = valid\nsig = 3066023100b8f793ddd47e657a9081cbed1600fb22b38ad6a155f9c006ba98de1f383b4c0918ceea72253e0f869524b2369cd9bd8c02310096c452ff58f42e0853040a6d5c7e750b57dd4af06e2df8194e8d524e81ac000ee3315bbeabbf6a21f61b8904c55378d9\n\n# tcId = 282\n# special case hash\nmsg = 32313734363535343335\nresult = valid\nsig = 30640230263ab1c93567e93b5ec4e380b0d3bb5ea1ce693c14a47afccc539aaf197f099d331ea9e26f1a0057148d46727acb61880230621db07ce94110e2be74fa953a00a8a554225b3f2c0f6c56b4ebd4db2f57ca2565ed3323fd708bb56ac6e28bfb40f2e7\n\n# tcId = 283\n# special case hash\nmsg = 363434353530373932\nresult = valid\nsig = 306502310096f4a2b3529c65e45a0b4c19c582dc8db635d4e74f0b81309696b23be920ba8ec553d4b370df4c59d74dd654bac6df5802301573ba1b280c735a3401d957ecd3b8908e4e0b7d80239ce042594d182faf2ddf811c9056aac4c87f4f85043766a26614\n\n# tcId = 284\n# special case hash\nmsg = 353332383138333338\nresult = valid\nsig = 306602310096a691b19a6294b311a438f8da345e480b1deaa1e940cfbf02177d5f08479976ea58aee31011d50b5542be188c9d63df0231008f67dc9e1588aeb8be180013d41a036f9badfad9fe9340910cbf87243776f54bef7da2ebf3a7643866eb9a3b23fe59b9\n\n# tcId = 285\n# special case hash\nmsg = 31313932303736333832\nresult = valid\nsig = 3066023100cff27948c6d902c73d103d0802eb144dd89c1b0e3b9f9a5e498b0361dc122a0d555160d8c64d61539c1dbbd4bc18971f023100b60827488c9f16ba28378fd59b1a29c65073335a7f236131134674c62c8396f193c76f2395ddaaa4f24b69161eb69b4d\n\n# tcId = 286\n# special case hash\nmsg = 31353332383432323230\nresult = valid\nsig = 3066023100e90e22d9e535dfdfd86e098d5d6a0ae08f69d4a3ffaa39f6930bcf5f5ad02ee0d0472ae984edd9f0bbe5e7d63fd4f6ac023100e3f57b0a4629ecaa21f2d34a7a0834d57ba20f99c6e31b43c37811cc23b9957c8f3356f4462214d3c8e58745e50f23f6\n\n# tcId = 287\n# special case hash\nmsg = 313536373137373339\nresult = valid\nsig = 3064023018b70e272a98cc48e1e0af73146f0f972bbfbeb6b985feb2c4acd695a7a41b99c415be9c46aedaf3ddff67a65a89e387023047d6bcea088f622ad35d88bcf46d71827bcba2f57c36d6fb8a4bf2befdc0d4e3ef366d5966c4d076d3cfa43d6626717b\n\n# tcId = 288\n# special case hash\nmsg = 34333033303931313230\nresult = valid\nsig = 3066023100acfd981c55fd5286cfce173726d51c3d25f65b11b7673729a62167256774f7c894b74662a212c706e00cef096074162f023100f4d471c97797c24d96aec1de85a249ef468d6036cd712563aeb65cea4995f3ee85e769b874f09a08637a44a96084be7a\n\n# tcId = 289\n# special case hash\nmsg = 37373335393135353831\nresult = valid\nsig = 3065023100f15fcbeea8b64dad5e8566a2c37913c82d6be9d9668df469bd0b591c3923a6e12644eaf697d466fa7cd513983d946a40023070063966801079351526999e5c5c2c5f627e4c8bc96784bcbe715fe7c7afcf69785d1c8c7ccd3725e364101638396597\n\n# tcId = 290\n# special case hash\nmsg = 323433393636373430\nresult = valid\nsig = 3066023100d995147939ae6d8f62bb57372227395839e25a0d4308b899d5f506cf9e0a01e8115b7e4b822f037ec95752bd9e892f5e0231009bb4d07333e468f8482a790a2a2e650e2c42da8240ec5e402506b368122f046680cd71e0117897cce3df4a1555fc8876\n\n# tcId = 291\n# special case hash\nmsg = 34333237363032383233\nresult = valid\nsig = 3064023043c6ce5184476f3f496afeae3cb96a3f9f038957686c93437b8266a233022371d266e904aa096c3566cb33824b88075e0230680c13245a8bc560b638d26f0c5f261964130256939552d3fffb07b658355611612c268a89541055d3c2bf9e82cf4da3\n\n# tcId = 292\n# special case hash\nmsg = 32393332303032353932\nresult = valid\nsig = 30630230447539941dc350767fc841083d25d9247a0807e1e22e0bb9d94f504f721981b413d521efbd75e4fe831ee26338cf3de3022f395ab27ea782cee4be53e06c7616bbd41d6926b18d219d75d5979f13cba2f52101019b0ec0a41ffdbf29ef73ddba70\n\n# tcId = 293\n# special case hash\nmsg = 36343039383737323834\nresult = valid\nsig = 3066023100a0ba8e8b979c20345e34fca98531900164a859923bd6986a9c39236a2f5de053a252997f35e5b84b0d48ba0f8d09aedd023100facd6df04358fcd95fa9018a6fc0828dfe319812ff65929c060b18ad4b9f06e7fc0addd1b695315d71c15e51dc51d719\n\n# tcId = 294\n# special case hash\nmsg = 36303735363930343132\nresult = valid\nsig = 3065023100b8378390f71f0bb6663f1846daf6908f8c84f770ae740cc8054122494cf0ffa9437ab26040ca22808fb29a810b70126e0230427636b929a500abc34d9f22977b81e734919afaf3ed2c91eeada7074e0c16bdc52f960eaec9db5a879c1e6414035101\n\n# tcId = 295\n# special case hash\nmsg = 32333231363233313335\nresult = valid\nsig = 3066023100f36a9048fd94803d3d6d1b11430b90b94ef8d5d2ad89018c69473ce9cfe0d6105b3c2fb2e7555ccd25f65af8c872bdc602310081254841e7ecbfd0d810afaaf5afd6d6c5d0542bb00cc183b1db01767120afbcc0006ddcba8db7baf65f302723dabc4d\n\n# tcId = 296\n# special case hash\nmsg = 36343130313532313731\nresult = valid\nsig = 3066023100d8a4d96409c191baa9540bf35f1d5192f9352d7f0e14f92c0e8e1f19f559b42ed3c6b7bdb6becc56584fb5c09421e2e4023100d966ba13d4245e248eafb46f2a3df92c2037d5969c7db6dbcb0ff4b21850e16a18a29785267239886365cf721a212536\n\n# tcId = 297\n# special case hash\nmsg = 383337323835373438\nresult = valid\nsig = 306402301d5d86fd48e65b0cf0b0b46062241f89cf65785dd818f93f1162771a38a15f20febc261812ecaaf6f4f2b86b3362d7eb02300c76e363de1432513cb9dad6493931381ecd25f142e61968b6f20d7b", + "1270cb9e38a7ae54e4778aff4025eb00c6a67aef\n\n# tcId = 298\n# special case hash\nmsg = 33333234373034353235\nresult = valid\nsig = 306402300508eed148f061114be18e8a86188feabf76b873b36eadcca9c2c60e24a2002fe456231decf7a8f6f032c08dbe0ab5a90230694c0ad781b2341e30e1d0739ac99672064f48821a69852c7940cf1d621738199c980d56d2a0b71b3fc6011c6b2444ba\n\n# tcId = 299\n# special case hash\nmsg = 31343033393636383732\nresult = valid\nsig = 30650230726ef88bb7947a043116c111cb519ddeda3e6ffbf724884a1b22c24409cdf2779d93ce610c8c07411c2b001399103d6d02310095dc1d65046caf0e8dad07b224798d6f7807278e737883e7c7bf0b446791d4ee144c26f710134861af4e6771d4082896\n\n# tcId = 300\n# special case hash\nmsg = 31323237363035313238\nresult = valid\nsig = 3066023100eb0e8e3c639f5eba8eccd9020d0ec62d8ac73f3fddbdfa08fdb2155deb0a536923ebd55e20020cab9f8e39a43a88be11023100c796df399fc35883dd5dae6817d02d3d67a8eec6601585e5e36fd2c134eddb1447ec12b144dddc9aae28a84f22602641\n\n# tcId = 301\n# special case hash\nmsg = 34393531343838333632\nresult = valid\nsig = 3065023100e8f8c69d0396ea900f9757736d2b19dbc2d2a8c01dccf490c8b9455bd63b34c095867e7cf3b84dc7c3c3d6b51bebf405023058152a7564eeb22a3e26597026d0cd7835725bd512245448cb5016eb48ea759809fd6949d0ee5d579643f72f908c16bb\n\n# tcId = 302\n# special case hash\nmsg = 32343532313237303139\nresult = valid\nsig = 30650230380b4e48b3ff012af7c08bf871d9f4da0c708b5494a986d3d80b1979e579d0dbee61db9bc3c04c396176410788e15a0f023100e6971c013c965a7e4df10f95620a5092fab096bd5b50828f4bc91c5e479bccf6e0daf287e7ef580fa9ea153fa1a507a2\n\n# tcId = 303\n# special case hash\nmsg = 31373331353530373036\nresult = valid\nsig = 30650231008061de12029e2b000d157a455ecf2301222f092df95b9551b78cf0ef3a64f12212b57ec7b16d2c0f258946f51cb1633a02300ac2ca6ad99b29ca29a0dc38b34443ee41020f81ed9087cef7681a00c4fe60653a572944ba37f1fe51d112bfffbdd701\n\n# tcId = 304\n# special case hash\nmsg = 31363637303639383738\nresult = valid\nsig = 3066023100e74f2a791eeb7341cff6cc1c24f459e6c0109924f7984639ae387e3ceb58758a1bc3839dea1fc3a3799562225e70a733023100d90e4d0f47343268e56bbcb011bd4734390abc9aa1304b6253e78f5a78b6905aa6bf6a3892a4ae1a875c823ae5a83e87\n\n# tcId = 305\n# special case hash\nmsg = 343431353437363137\nresult = valid\nsig = 306402306a1cd0ff7906be207b56862edcbc0d0bbfb26d43255c99f6ab77639f5e6103a07aa322b22ed43870d1ce6df68aa0a8c10230655558b129aa23184500bd4aab4f0355d3192e9b8860f60b05a1c29261f4486a6ae235a526339b86c05f5fac477b6723\n\n# tcId = 306\n# special case hash\nmsg = 343233393434393938\nresult = valid\nsig = 306602310081111fdc5f0de65583c7a5668d26c04ee52e08dac227753132cff1741cb721e112aa793c0d5fa047faf14cb45dd13e1f0231009a25cf1e6c152bc3e216e021561d194979f1c11fe17019ed7bac2c13c4010f209665e3b6f33b86641704d922b407818f\n\n# tcId = 307\n# special case hash\nmsg = 34383037363230373132\nresult = valid\nsig = 30660231009b66d122a315095b2b66ccb97272c476a2d760e827fdea05732d634df3d066569c984dd941aad5f5dec4c2e1b7b94a0002310096c32403c85bc3d0ee87f96a600182796dce53d54d7467ae660a42b87bb70792f14650ac28a5fa47ce9ca4d3b2c25878\n\n# tcId = 308\n# special case hash\nmsg = 32313634363636323839\nresult = valid\nsig = 306402302bb062a002088d62a0b7338d0484fedfe2af7e20cebf6a4788264eb27cb4ebc3cc81c816e6a35722cf9b464783094cb8023046cc21b70f2133f85ab0443bebe9c6fc62c6e2ec1fd9c4ddf4a6d5f3f48eb7abf1ee7bdf6725879fd1b7daafb44f6e04\n\n# tcId = 309\n# special case hash\nmsg = 31393432383533383635\nresult = valid\nsig = 3065023033e87061ee9a82eb74d8bb4ae91606563c2e4db8b09183cc00d1119ab4f5033d287a1fc90a2348163fdf68d35006fd7f02310096db97c947ee2e96e6139d3bcbf5a43606bae1ad3ca28290fbad43b281ef115ec1b98bc581ef48094f8c1aa8e36c282a\n\n# tcId = 310\n# special case hash\nmsg = 32323139333833353231\nresult = valid\nsig = 3064023070f80b438424ba228a7d80f26e22ff6a896243c9d49c75573489ee0de58ec60efd103838143465bd8fe34672ba9496170230115492bd9365b96f38747536318bffb819e7c146df3a5a7a46d6288c7fdf31cff570b22176aa398daba9073ab1e7b9bf\n\n# tcId = 311\n# special case hash\nmsg = 393236393333343139\nresult = valid\nsig = 3066023100ff16ca0389ea6948f4305b434fe0aa589f880f5aa937767c31170ee8da6c1ad620c993d40ddf141b7fda37424d51b5cd023100ba0f86985dffc61d6e35a37de06918b11e431b72403161acfb8f05c469f1fcfa6e215c6f7eb5a0a5e0cc9e7be79ce18b\n\n# tcId = 312\n# special case hash\nmsg = 373639333836333634\nresult = valid\nsig = 3065023100d60c24bee05f5198cd155ad095ffb956bbcfb66b82fc0d3755119915a62f2f923557b85ddc1d12e6a757f23042cb601b02302c4d968b5eac930b51d283b418fcff6df3a9d6d66e3812cd1bf5fde797fd203a7c439b1b381e4fe8b44e6f108764a7dd\n\n# tcId = 313\n# special case hash\nmsg = 32373335393330353733\nresult = valid\nsig = 3066023100bdf634d915a4fae7a155532ca2847c33a6babe7ef8db0af50f485db3dd2c8bffe722394583932f6eb5cd97f6db7561d9023100bb425cae2e5483174b5ed873af4329da4618c14458141850bee3c7bf1ffb3f2030159043277dacc708e9d32f63400083\n\n# tcId = 314\n# special case hash\nmsg = 38333030353634303635\nresult = valid\nsig = 30650230061320a3bcebac33cf399d45d1e1e1b34f37288fe4753f4fddfd496eff427e1d26b1b91d749cc34c12f4ecef837c0e8f023100fd5cf468cda319fe06e773a190c38de6e150a321ac1c416ad875432cdb7a07134c446f13068e71a1a96e35da923974ad\n\n# tcId = 315\n# special case hash\nmsg = 34333037363535373338\nresult = valid\nsig = 3065023100d620f063d33efa859b623f6c9a92340e4cdd854ffbe3e5e01379177aee31715ce587b00bd0aea98fddf236d2fc8a7a740230671f4b7c187297dc236c61888b6d9397e97783077cc4101807d79ee62e4a53a78c4b6a3a31b03178668af894a3d8902e\n\n# tcId = 316\n# special case hash\nmsg = 39363537303138313735\nresult = valid\nsig = 306502310091c556c5bddd529fe903b86afc0eb8fa1f49425b779a39114ae563bebc947e633ba4ee98948faa8940dfe2562c63e1c50230198b00079d8db072d25b0a49bc8bc36457926f3c101527528df6679f92c76f1b487e6695d4b92fe33b4ee7046a6a5df9\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 044bf4e52f958427ebb5915fb8c9595551b4d3a3fdab67badd9d6c3093f425ba43630df71f42f0eb7ceaa94d9f6448a85dd30331588249fd2fdc0b309ec7ed8481bc16f27800c13d7db700fc82e1b1c8545aa0c0d3b56e3bfe789fc18a916887c2]\n[key.wx = 4bf4e52f958427ebb5915fb8c9595551b4d3a3fdab67badd9d6c3093f425ba43630df71f42f0eb7ceaa94d9f6448a85d]\n[key.wy = 00d30331588249fd2fdc0b309ec7ed8481bc16f27800c13d7db700fc82e1b1c8545aa0c0d3b56e3bfe789fc18a916887c2]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200044bf4e52f958427ebb5915fb8c9595551b4d3a3fdab67badd9d6c3093f425ba43630df71f42f0eb7ceaa94d9f6448a85dd30331588249fd2fdc0b309ec7ed8481bc16f27800c13d7db700fc82e1b1c8545aa0c0d3b56e3bfe789fc18a916887c2]\n[sha = SHA-384]\n\n# tcId = 317\n# k*G has a large x-coordinate\nmsg = 313233343030\nresult = valid\nsig = 304d0218389cb27e0bc8d21fa7e5f24cb74f58851313e696333ad68b023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52970\n\n# tcId = 318\n# r too large\nmsg = 313233343030\nresult = invalid\nsig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffe023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52970\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 043623bb296b88f626d0f92656bf016f115b721277ccb4930739bfbd81f9c1e734630e0685d32e154e0b4a5c62e43851f6768356b4a5764c128c7b1105e3d778a89d1e01da297ede1bc4312c2583e0bbddd21613583dd09ab895c63be479f94576]\n[key.wx = 3623bb296b88f626d0f92656bf016f115b721277ccb4930739bfbd81f9c1e734630e0685d32e154e0b4a5c62e43851f6]\n[key.wy = 768356b4a5764c128c7b1105e3d778a89d1e01da297ede1bc4312c2583e0bbddd21613583dd09ab895c63be479f94576]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200043623bb296b88f626d0f92656bf016f115b721277ccb4930739bfbd81f9c1e734630e0685d32e154e0b4a5c62e43851f6768356b4a5764c128c7b1105e3d778a89d1e01da297ede1bc4312c2583e0bbddd21613583dd09ab895c63be479f94576]\n[sha = SHA-384]\n\n# tcId = 319\n# r,s are large\nmsg = 313233343030\nresult = valid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52971\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04d516cb8ac8e4457b693d5192beeb6ce7d9a46bef48eecf3ea823286f101f98d130f5a26dc6fec23662eff07f14486fd58456932e74894b7f0e3bb0dfd362502b3765dd80a3177209fb221dc9b51aaf4470b245391405bef514176b13a267a720]\n[key.wx = 00d516cb8ac8e4457b693d51", + "92beeb6ce7d9a46bef48eecf3ea823286f101f98d130f5a26dc6fec23662eff07f14486fd5]\n[key.wy = 008456932e74894b7f0e3bb0dfd362502b3765dd80a3177209fb221dc9b51aaf4470b245391405bef514176b13a267a720]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004d516cb8ac8e4457b693d5192beeb6ce7d9a46bef48eecf3ea823286f101f98d130f5a26dc6fec23662eff07f14486fd58456932e74894b7f0e3bb0dfd362502b3765dd80a3177209fb221dc9b51aaf4470b245391405bef514176b13a267a720]\n[sha = SHA-384]\n\n# tcId = 320\n# r and s^-1 have a large Hamming weight\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100d1aee55fdc2a716ba2fabcb57020b72e539bf05c7902f98e105bf83d4cc10c2a159a3cf7e01d749d2205f4da6bd8fcf1\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04a8380cd35026e13bf87be693cdb6e75a82d765b4019b529e8d277c4af6c9db27ebb5d3f86e88add9d5b61186f04c83a992a187507c737325d2cc624acef3cd036bfa99e0c1518be65c88bb51f900f94123acabad81d15130d3ade7ff7e4364e1]\n[key.wx = 00a8380cd35026e13bf87be693cdb6e75a82d765b4019b529e8d277c4af6c9db27ebb5d3f86e88add9d5b61186f04c83a9]\n[key.wy = 0092a187507c737325d2cc624acef3cd036bfa99e0c1518be65c88bb51f900f94123acabad81d15130d3ade7ff7e4364e1]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004a8380cd35026e13bf87be693cdb6e75a82d765b4019b529e8d277c4af6c9db27ebb5d3f86e88add9d5b61186f04c83a992a187507c737325d2cc624acef3cd036bfa99e0c1518be65c88bb51f900f94123acabad81d15130d3ade7ff7e4364e1]\n[sha = SHA-384]\n\n# tcId = 321\n# r and s^-1 have a large Hamming weight\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100b6b681dc484f4f020fd3f7e626d88edc6ded1b382ef3e143d60887b51394260832d4d8f2ef70458f9fa90e38c2e19e4f\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04554f2fd0b700a9f4568752b673d9c0d29dc96c10fe67e38c6d6d339bfafe05f970da8c3d2164e82031307a44bd32251171312b61b59113ff0bd3b8a9a4934df262aa8096f840e9d8bffa5d7491ded87b38c496f9b9e4f0ba1089f8d3ffc88a9f]\n[key.wx = 554f2fd0b700a9f4568752b673d9c0d29dc96c10fe67e38c6d6d339bfafe05f970da8c3d2164e82031307a44bd322511]\n[key.wy = 71312b61b59113ff0bd3b8a9a4934df262aa8096f840e9d8bffa5d7491ded87b38c496f9b9e4f0ba1089f8d3ffc88a9f]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004554f2fd0b700a9f4568752b673d9c0d29dc96c10fe67e38c6d6d339bfafe05f970da8c3d2164e82031307a44bd32251171312b61b59113ff0bd3b8a9a4934df262aa8096f840e9d8bffa5d7491ded87b38c496f9b9e4f0ba1089f8d3ffc88a9f]\n[sha = SHA-384]\n\n# tcId = 322\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020102020101\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 0444ee3335fa77d2fb02e4bd7074f45e598a879c0fa822ec718c21dc13b83440edc4e3c10a1858423e03044c9eff22591cd027c49933e5510557d6b4b2c6f66fe5dcb9302a3b13fdc68048c3fcac88ba152b6a9833c87fdc6280afc5d11ab7c107]\n[key.wx = 44ee3335fa77d2fb02e4bd7074f45e598a879c0fa822ec718c21dc13b83440edc4e3c10a1858423e03044c9eff22591c]\n[key.wy = 00d027c49933e5510557d6b4b2c6f66fe5dcb9302a3b13fdc68048c3fcac88ba152b6a9833c87fdc6280afc5d11ab7c107]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000444ee3335fa77d2fb02e4bd7074f45e598a879c0fa822ec718c21dc13b83440edc4e3c10a1858423e03044c9eff22591cd027c49933e5510557d6b4b2c6f66fe5dcb9302a3b13fdc68048c3fcac88ba152b6a9833c87fdc6280afc5d11ab7c107]\n[sha = SHA-384]\n\n# tcId = 323\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020102020102\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04e2f87f72e3c66c73037fe77607d42ad2d9c4cc159893b4b9b8b0365d3a7766dbe8678b02e2b68f58e5a4f7681061a390e38f2142818542bef6b2bc3a2c4f43c95e5259d6bd5401531378c7ca125a1f6cc609d4fadfc5c9a99358ee77ff780c8d]\n[key.wx = 00e2f87f72e3c66c73037fe77607d42ad2d9c4cc159893b4b9b8b0365d3a7766dbe8678b02e2b68f58e5a4f7681061a390]\n[key.wy = 00e38f2142818542bef6b2bc3a2c4f43c95e5259d6bd5401531378c7ca125a1f6cc609d4fadfc5c9a99358ee77ff780c8d]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004e2f87f72e3c66c73037fe77607d42ad2d9c4cc159893b4b9b8b0365d3a7766dbe8678b02e2b68f58e5a4f7681061a390e38f2142818542bef6b2bc3a2c4f43c95e5259d6bd5401531378c7ca125a1f6cc609d4fadfc5c9a99358ee77ff780c8d]\n[sha = SHA-384]\n\n# tcId = 324\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020102020103\n\n# tcId = 325\n# r is larger than n\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52975020103\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 0405e67c44fc0cbc9a8eb343b4d6f596c7d00cac5da8594caf45b7209397496214c42d856a015ce589bc9ba865a4fab5ab88a01c7b5d09efaf878fcb9102fb3875a8381af234d1c593076e452225a56f51674f347126d3009b44dcbb003a64d95f]\n[key.wx = 05e67c44fc0cbc9a8eb343b4d6f596c7d00cac5da8594caf45b7209397496214c42d856a015ce589bc9ba865a4fab5ab]\n[key.wy = 0088a01c7b5d09efaf878fcb9102fb3875a8381af234d1c593076e452225a56f51674f347126d3009b44dcbb003a64d95f]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000405e67c44fc0cbc9a8eb343b4d6f596c7d00cac5da8594caf45b7209397496214c42d856a015ce589bc9ba865a4fab5ab88a01c7b5d09efaf878fcb9102fb3875a8381af234d1c593076e452225a56f51674f347126d3009b44dcbb003a64d95f]\n[sha = SHA-384]\n\n# tcId = 326\n# s is larger than n\nmsg = 313233343030\nresult = invalid\nsig = 3036020102023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accd7fffa\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 040bb03fce3c01ebcf0873abd134a8682f5fb8dbffa22da674047e5c3e71e43de582ed6abb908c2e4faa5d96186278b6c1ba3b22123e68ccc56f17dd79ff15565706f71a0b6123c77af3cd88f0af024cc5259781516edcaf5fe990646e7b66999d]\n[key.wx = 0bb03fce3c01ebcf0873abd134a8682f5fb8dbffa22da674047e5c3e71e43de582ed6abb908c2e4faa5d96186278b6c1]\n[key.wy = 00ba3b22123e68ccc56f17dd79ff15565706f71a0b6123c77af3cd88f0af024cc5259781516edcaf5fe990646e7b66999d]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200040bb03fce3c01ebcf0873abd134a8682f5fb8dbffa22da674047e5c3e71e43de582ed6abb908c2e4faa5d96186278b6c1ba3b22123e68ccc56f17dd79ff15565706f71a0b6123c77af3cd88f0af024cc5259781516edcaf5fe990646e7b66999d]\n[sha = SHA-384]\n\n# tcId = 327\n# small r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3036020201000230489122448912244891224489122448912244891224489122347ce79bc437f4d071aaa92c7d6c882ae8734dc18cb0d553\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 0458f246090d5e49863bc0bf2d501ff72f551c5f1c5e679eb49064fd02e221a2707326ec2d140bcc817afaad5065761566497c823fd736882cbf78fb92b1a5589b67e8067497c710a4cbb39dee2c5431bc45cfb96c9f8454385c9f2b3ef2d3d31a]\n[key.wx = 58f246090d5e49863bc0bf2d501ff72f551c5f1c5e679eb49064fd02e221a2707326ec2d140bcc817afaad5065761566]\n[key.wy = 497c823fd736882cbf78fb92b1a5589b67e8067497c710a4cbb39dee2c5431bc45cfb96c9f8454385c9f2b3ef2d3d31a]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000458f246090d5e49863bc0bf2d501ff72f551c5f1c5e679eb49064fd02e221a2707326ec2d140bcc817afaad5065761566497c823fd736882cbf78fb92b1a5589b67e8067497c710a4cbb39dee2c5431bc45cfb96c9f8454385c9f2b3ef2d3d31a]\n[sha = SHA-384]\n\n# tcId = 328\n# smallish r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303c02072d9b4d347952cd023100ce751512561b6f57c75342848a3ff98ccf9c3f0219b6b68d00449e6c971a85d2e2ce73554b59219d54d2083b46327351\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04fc6984dd6830d1485fb2581a45a791d8dca2c727c73d3d44c89f0082c1868af5ca74b4ca4ae22802640a9ebfe8c7ae12998d63a5b5ad1b72b899f0b132e4952aaa19d41fdeea48b1ed6b8358dd1db207fd66e01453ad40f67b836adc802d5fe8]\n[key.wx = 00fc6984dd6830d1485fb2581a45a791d8dca2c727c73d3d44c89f0082c1868af5ca74b4ca4ae22802640a9ebfe8c7ae12]\n[key.wy = 00998d63a5b5ad1b72b899f0b132e4952aaa19d41fdeea48b1ed6b8358dd1db207fd66e01453ad40f67b836adc802d5fe8]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004fc6984dd6830d1485fb2581a45a791d8dca2c727c73d3d44c89f0082c1868af5ca74b4ca4ae22802640a9ebfe8c7ae12998d63a5b5ad1b72b899f0b132e4952aaa19d41fde", + "ea48b1ed6b8358dd1db207fd66e01453ad40f67b836adc802d5fe8]\n[sha = SHA-384]\n\n# tcId = 329\n# 100-bit r and small s^-1\nmsg = 313233343030\nresult = valid\nsig = 3041020d1033e67e37b32b445580bf4efb02302ad52ad52ad52ad52ad52ad52ad52ad52ad52ad52ad52ad5215c51b320e460542f9cc38968ccdf4263684004eb79a452\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 041b8def5922303d647e8eb07e3bad92f924b79b769eef168e7541de1f4e0d28ae9733eb98cf8a1fb6dd52ca02c8c75b51c7aa4bf679d49d8114122074da8f6044a427371796a5654a6106162d5f686abb73ebd896ab08c7062687f12171fbe4a3]\n[key.wx = 1b8def5922303d647e8eb07e3bad92f924b79b769eef168e7541de1f4e0d28ae9733eb98cf8a1fb6dd52ca02c8c75b51]\n[key.wy = 00c7aa4bf679d49d8114122074da8f6044a427371796a5654a6106162d5f686abb73ebd896ab08c7062687f12171fbe4a3]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200041b8def5922303d647e8eb07e3bad92f924b79b769eef168e7541de1f4e0d28ae9733eb98cf8a1fb6dd52ca02c8c75b51c7aa4bf679d49d8114122074da8f6044a427371796a5654a6106162d5f686abb73ebd896ab08c7062687f12171fbe4a3]\n[sha = SHA-384]\n\n# tcId = 330\n# small r and 100 bit s^-1\nmsg = 313233343030\nresult = valid\nsig = 303602020100023077a172dfe37a2c53f0b92ab60f0a8f085f49dbfd930719d6f9e587ea68ae57cb49cd35a88cf8c6acec02f057a3807a5b\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 041734a039a88a16c2ff4aa97d2399121f56f52ef01ed5e50887f736f65b6e51d6e8786abb4e063da5d1ba812dff998403ccd698e6c296d5cd69178f8a82481a865da331627f1c4b324fbc02b36e8b5ed58a31f728e904d203a388755302195765]\n[key.wx = 1734a039a88a16c2ff4aa97d2399121f56f52ef01ed5e50887f736f65b6e51d6e8786abb4e063da5d1ba812dff998403]\n[key.wy = 00ccd698e6c296d5cd69178f8a82481a865da331627f1c4b324fbc02b36e8b5ed58a31f728e904d203a388755302195765]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200041734a039a88a16c2ff4aa97d2399121f56f52ef01ed5e50887f736f65b6e51d6e8786abb4e063da5d1ba812dff998403ccd698e6c296d5cd69178f8a82481a865da331627f1c4b324fbc02b36e8b5ed58a31f728e904d203a388755302195765]\n[sha = SHA-384]\n\n# tcId = 331\n# 100-bit r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3041020d062522bbd3ecbe7c39e93e7c24023077a172dfe37a2c53f0b92ab60f0a8f085f49dbfd930719d6f9e587ea68ae57cb49cd35a88cf8c6acec02f057a3807a5b\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 0452ca47dda99172cb8321495acf988548295988ec973c1b4ea9462c53e5768a704a936410ee847b5dbf1e9d0c131da6c787a47027e6655792eb002d4228ee72f7c814c9a0cecbff267948f81c9903ac10eb35f6cb86369224ed609811cdf390f4]\n[key.wx = 52ca47dda99172cb8321495acf988548295988ec973c1b4ea9462c53e5768a704a936410ee847b5dbf1e9d0c131da6c7]\n[key.wy = 0087a47027e6655792eb002d4228ee72f7c814c9a0cecbff267948f81c9903ac10eb35f6cb86369224ed609811cdf390f4]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000452ca47dda99172cb8321495acf988548295988ec973c1b4ea9462c53e5768a704a936410ee847b5dbf1e9d0c131da6c787a47027e6655792eb002d4228ee72f7c814c9a0cecbff267948f81c9903ac10eb35f6cb86369224ed609811cdf390f4]\n[sha = SHA-384]\n\n# tcId = 332\n# r and s^-1 are close to n\nmsg = 313233343030\nresult = valid\nsig = 3065023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc528f3023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04bd3d91f003e18adbea73079d4eba23b91fc17fcec14c9eb15a193fbc9ca39c8c747cd7a2c9623e05dd587ccbb8ab4c443adb0a0706aa5ea7a68042082fccefc979612a7a1a3d694b00793b03f89bff866a8b97c8e77990c29360ce795036c764]\n[key.wx = 00bd3d91f003e18adbea73079d4eba23b91fc17fcec14c9eb15a193fbc9ca39c8c747cd7a2c9623e05dd587ccbb8ab4c44]\n[key.wy = 3adb0a0706aa5ea7a68042082fccefc979612a7a1a3d694b00793b03f89bff866a8b97c8e77990c29360ce795036c764]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004bd3d91f003e18adbea73079d4eba23b91fc17fcec14c9eb15a193fbc9ca39c8c747cd7a2c9623e05dd587ccbb8ab4c443adb0a0706aa5ea7a68042082fccefc979612a7a1a3d694b00793b03f89bff866a8b97c8e77990c29360ce795036c764]\n[sha = SHA-384]\n\n# tcId = 333\n# s == 1\nmsg = 313233343030\nresult = valid\nsig = 3035023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326020101\n\n# tcId = 334\n# s == 0\nmsg = 313233343030\nresult = invalid\nsig = 3035023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326020100\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04f896353cc3a8afdd543ec3aef062ca97bc32ed1724ea38b940b8c0ea0e23b34187afbe70daf8dbaa5b511557e5d2bddac4bd265da67ceeafca636f6f4c0472f22a9d02e2289184f73bbb700ae8fc921eff4920f290bfcb49fbb232cc13a21028]\n[key.wx = 00f896353cc3a8afdd543ec3aef062ca97bc32ed1724ea38b940b8c0ea0e23b34187afbe70daf8dbaa5b511557e5d2bdda]\n[key.wy = 00c4bd265da67ceeafca636f6f4c0472f22a9d02e2289184f73bbb700ae8fc921eff4920f290bfcb49fbb232cc13a21028]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004f896353cc3a8afdd543ec3aef062ca97bc32ed1724ea38b940b8c0ea0e23b34187afbe70daf8dbaa5b511557e5d2bddac4bd265da67ceeafca636f6f4c0472f22a9d02e2289184f73bbb700ae8fc921eff4920f290bfcb49fbb232cc13a21028]\n[sha = SHA-384]\n\n# tcId = 335\n# point at infinity during verify\nmsg = 313233343030\nresult = invalid\nsig = 306402307fffffffffffffffffffffffffffffffffffffffffffffffe3b1a6c0fa1b96efac0d06d9245853bd76760cb5666294b9023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04370d9e2e31c712c8028092f802319d7fdf5b3319a8518d08bed3891508c7060cfe2236e18fa14fe077093ceae633e5430fd79aacf9d16ecc19b12d60fba4998dfc682702ec7c8bdd4a590035773b8c9c570ac7dcd414e03252f7a0e6f53b5863]\n[key.wx = 370d9e2e31c712c8028092f802319d7fdf5b3319a8518d08bed3891508c7060cfe2236e18fa14fe077093ceae633e543]\n[key.wy = 0fd79aacf9d16ecc19b12d60fba4998dfc682702ec7c8bdd4a590035773b8c9c570ac7dcd414e03252f7a0e6f53b5863]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004370d9e2e31c712c8028092f802319d7fdf5b3319a8518d08bed3891508c7060cfe2236e18fa14fe077093ceae633e5430fd79aacf9d16ecc19b12d60fba4998dfc682702ec7c8bdd4a590035773b8c9c570ac7dcd414e03252f7a0e6f53b5863]\n[sha = SHA-384]\n\n# tcId = 336\n# edge case for signature malleability\nmsg = 313233343030\nresult = valid\nsig = 306402307fffffffffffffffffffffffffffffffffffffffffffffffe3b1a6c0fa1b96efac0d06d9245853bd76760cb5666294b902307fffffffffffffffffffffffffffffffffffffffffffffffe3b1a6c0fa1b96efac0d06d9245853bd76760cb5666294b9\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04941e6cfa356e572dcccaeb594b06955d99dc4bf07958fc98ffa17de11c7521bf2c7aa8ff260952fcb7aac078ede67b4790a78a0296b041a10f003df1998da4cc4a1614ebcbf5d239431f33d90d3023edc1802e8db6dabcbae67cc314da2aabab]\n[key.wx = 00941e6cfa356e572dcccaeb594b06955d99dc4bf07958fc98ffa17de11c7521bf2c7aa8ff260952fcb7aac078ede67b47]\n[key.wy = 0090a78a0296b041a10f003df1998da4cc4a1614ebcbf5d239431f33d90d3023edc1802e8db6dabcbae67cc314da2aabab]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004941e6cfa356e572dcccaeb594b06955d99dc4bf07958fc98ffa17de11c7521bf2c7aa8ff260952fcb7aac078ede67b4790a78a0296b041a10f003df1998da4cc4a1614ebcbf5d239431f33d90d3023edc1802e8db6dabcbae67cc314da2aabab]\n[sha = SHA-384]\n\n# tcId = 337\n# edge case for signature malleability\nmsg = 313233343030\nresult = valid\nsig = 306402307fffffffffffffffffffffffffffffffffffffffffffffffe3b1a6c0fa1b96efac0d06d9245853bd76760cb5666294b902307fffffffffffffffffffffffffffffffffffffffffffffffe3b1a6c0fa1b96efac0d06d9245853bd76760cb5666294ba\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 043ecfd58a3ce583866e0471d16eb3c10a411ec3b8671f3a04769b1ed8464a71cf1c76d8d9b7e3670bbe712d6f554a9383d980d8bedf57470d6b45cc1ad0c6426dc70a0e4be901106a36663bfcab04fcb86008777b92445120d5e3641d97396362]\n[key.wx = 3ecfd58a3ce583866e0471d16eb3c10a411ec3b8671f3a04769b1ed8464a71cf1c76d8d9b7e3670bbe712d6f554a9383]\n[key.wy = 00d980d8bedf57470d6b45cc1ad0c6426dc70a0e4be901106a36663bfcab04fcb86008777b92445120d5e3641d97396362]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200043e", + "cfd58a3ce583866e0471d16eb3c10a411ec3b8671f3a04769b1ed8464a71cf1c76d8d9b7e3670bbe712d6f554a9383d980d8bedf57470d6b45cc1ad0c6426dc70a0e4be901106a36663bfcab04fcb86008777b92445120d5e3641d97396362]\n[sha = SHA-384]\n\n# tcId = 338\n# u1 == 1\nmsg = 313233343030\nresult = valid\nsig = 3065023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326023100f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 044150ccd0fa45aa2ef6b5042ddbb1b87c5ffd1115a8fe5995641948acda82a7b190762d84352cd74d1ca01e79f68f9cb4eb11be9d494c181c156e23e77e532bdf0a20c3cc74ba8c29b1f3eb2bd99129ee0d70ff0d593f0d7a6d6887e7c55930d2]\n[key.wx = 4150ccd0fa45aa2ef6b5042ddbb1b87c5ffd1115a8fe5995641948acda82a7b190762d84352cd74d1ca01e79f68f9cb4]\n[key.wy = 00eb11be9d494c181c156e23e77e532bdf0a20c3cc74ba8c29b1f3eb2bd99129ee0d70ff0d593f0d7a6d6887e7c55930d2]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200044150ccd0fa45aa2ef6b5042ddbb1b87c5ffd1115a8fe5995641948acda82a7b190762d84352cd74d1ca01e79f68f9cb4eb11be9d494c181c156e23e77e532bdf0a20c3cc74ba8c29b1f3eb2bd99129ee0d70ff0d593f0d7a6d6887e7c55930d2]\n[sha = SHA-384]\n\n# tcId = 339\n# u1 == n - 1\nmsg = 313233343030\nresult = valid\nsig = 3064023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec63260230064ed80f27e1432e84845f15ece399f2cbf4fa31aa837de9b953d44413b9f5c7c7f67989d703f07abef11b6ad0373ea5\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04e78fe2c11beac7090ee0af7fed469a8ccebd3cccc4ee9fccc8ef3fc0455b69aaa082dc13e1d84f34026cb6f0af9e992ff34ebba71bf3a4050bf28e4084b5c5f5d4098ec46f10a31b02fb4bf20cc9362f6f02a66e802f817507535fac3ec0b099]\n[key.wx = 00e78fe2c11beac7090ee0af7fed469a8ccebd3cccc4ee9fccc8ef3fc0455b69aaa082dc13e1d84f34026cb6f0af9e992f]\n[key.wy = 00f34ebba71bf3a4050bf28e4084b5c5f5d4098ec46f10a31b02fb4bf20cc9362f6f02a66e802f817507535fac3ec0b099]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004e78fe2c11beac7090ee0af7fed469a8ccebd3cccc4ee9fccc8ef3fc0455b69aaa082dc13e1d84f34026cb6f0af9e992ff34ebba71bf3a4050bf28e4084b5c5f5d4098ec46f10a31b02fb4bf20cc9362f6f02a66e802f817507535fac3ec0b099]\n[sha = SHA-384]\n\n# tcId = 340\n# u2 == 1\nmsg = 313233343030\nresult = valid\nsig = 3064023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04ee24ab8a34d05af684939357f32759cc5a14f3c717529a20aea8e0c5965d8a41e68925f688471994b72021ba51b28c090a55693c92ad0cbae9edcf515e2b4c060b888d82c81e4a3b6a173b62ed04a46fa95db1a2f3949980fba2e371263c4fa9]\n[key.wx = 00ee24ab8a34d05af684939357f32759cc5a14f3c717529a20aea8e0c5965d8a41e68925f688471994b72021ba51b28c09]\n[key.wy = 0a55693c92ad0cbae9edcf515e2b4c060b888d82c81e4a3b6a173b62ed04a46fa95db1a2f3949980fba2e371263c4fa9]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004ee24ab8a34d05af684939357f32759cc5a14f3c717529a20aea8e0c5965d8a41e68925f688471994b72021ba51b28c090a55693c92ad0cbae9edcf515e2b4c060b888d82c81e4a3b6a173b62ed04a46fa95db1a2f3949980fba2e371263c4fa9]\n[sha = SHA-384]\n\n# tcId = 341\n# u2 == n - 1\nmsg = 313233343030\nresult = valid\nsig = 3065023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326023100aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa84ecde56a2cf73ea3abc092185cb1a51f34810f1ddd8c64d\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 043d2e916055c92e1b36133f5937b37c1b0102834eb77008a3ba9c3da446e9065971d68ba913091851e10cff5b4cd875c139aa7aadfc2caf7107b17ae1aea8b299d61bf15aca0cb3fd6f1ffde8192bfe58f0822bbbc1f55bddf6b4fe9c8f2b0eac]\n[key.wx = 3d2e916055c92e1b36133f5937b37c1b0102834eb77008a3ba9c3da446e9065971d68ba913091851e10cff5b4cd875c1]\n[key.wy = 39aa7aadfc2caf7107b17ae1aea8b299d61bf15aca0cb3fd6f1ffde8192bfe58f0822bbbc1f55bddf6b4fe9c8f2b0eac]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200043d2e916055c92e1b36133f5937b37c1b0102834eb77008a3ba9c3da446e9065971d68ba913091851e10cff5b4cd875c139aa7aadfc2caf7107b17ae1aea8b299d61bf15aca0cb3fd6f1ffde8192bfe58f0822bbbc1f55bddf6b4fe9c8f2b0eac]\n[sha = SHA-384]\n\n# tcId = 342\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0230533b0d50480a3ef07e7e8af8b1097759bc03ac9a1c7ed6075a052869f57f12b285613162d08ee7aab9fe54aaa984a39a\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04ae596697427aa250156c05ac4338e48980a7f093ea1f1fe67098b43f6539c1b20ae74338f9bf270d33663c50abe8fd001ca6a52732db74ab15d2f249a3d839080f898367dfd64992cdce2708deaad523a2a236b43400424241c91a35b530fa50]\n[key.wx = 00ae596697427aa250156c05ac4338e48980a7f093ea1f1fe67098b43f6539c1b20ae74338f9bf270d33663c50abe8fd00]\n[key.wy = 1ca6a52732db74ab15d2f249a3d839080f898367dfd64992cdce2708deaad523a2a236b43400424241c91a35b530fa50]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004ae596697427aa250156c05ac4338e48980a7f093ea1f1fe67098b43f6539c1b20ae74338f9bf270d33663c50abe8fd001ca6a52732db74ab15d2f249a3d839080f898367dfd64992cdce2708deaad523a2a236b43400424241c91a35b530fa50]\n[sha = SHA-384]\n\n# tcId = 343\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100d49a253986bbaa8ce9c3d3808313d39c3b950a478372edc009bc0566b73be7b05dad0737e16960257cc16db6ec6c620f\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 0488738f9981dd4d1fabb60ad83c2dd6dfc9da302209ae3e53498a883b6e39a38bead9b02709f352d3e6b6578154eab2529388a05c6b9f3a4028abb9950a51f5264ecd7580a423fdec9472faeeb57f92e31c46bef2a781fe5edad026009f198262]\n[key.wx = 0088738f9981dd4d1fabb60ad83c2dd6dfc9da302209ae3e53498a883b6e39a38bead9b02709f352d3e6b6578154eab252]\n[key.wy = 009388a05c6b9f3a4028abb9950a51f5264ecd7580a423fdec9472faeeb57f92e31c46bef2a781fe5edad026009f198262]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000488738f9981dd4d1fabb60ad83c2dd6dfc9da302209ae3e53498a883b6e39a38bead9b02709f352d3e6b6578154eab2529388a05c6b9f3a4028abb9950a51f5264ecd7580a423fdec9472faeeb57f92e31c46bef2a781fe5edad026009f198262]\n[sha = SHA-384]\n\n# tcId = 344\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0230285090b0d6a6820bbba394efbee5c24a2281e825d2f6c55fb7a85b8251db00f75ab07cc993ceaf664f3c116baf34b021\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04f421541311c94fdd79fc298f8ab1a3adfd08029fdad439a94d4cea11f7e799bc439609f2fb7be3f349d55e484d0a0d36b35330bbdbec1e75f2984483d96bf210d722c1830292ffc35a2f6a21a4b50519f565f024bbccc97228a2f8ad8fadc0d5]\n[key.wx = 00f421541311c94fdd79fc298f8ab1a3adfd08029fdad439a94d4cea11f7e799bc439609f2fb7be3f349d55e484d0a0d36]\n[key.wy = 00b35330bbdbec1e75f2984483d96bf210d722c1830292ffc35a2f6a21a4b50519f565f024bbccc97228a2f8ad8fadc0d5]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004f421541311c94fdd79fc298f8ab1a3adfd08029fdad439a94d4cea11f7e799bc439609f2fb7be3f349d55e484d0a0d36b35330bbdbec1e75f2984483d96bf210d722c1830292ffc35a2f6a21a4b50519f565f024bbccc97228a2f8ad8fadc0d5]\n[sha = SHA-384]\n\n# tcId = 345\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100b39af4a81ee4ae79064ed80f27e1432e84845f15ece399f2a43d2505a0a8c72c5731f4fd967420b1000e3f75502ed7b7\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04399be4cfc439f94f2421cbd34c2cd90bae53eb60ddfafca52f7275d165d14fa659b636713b5d4b39e62fd48bae141d0e1b23e3b4f0c202ed7b59db78a35c12ac698c603eab144fd09ac2ed8f4495f607e4d2c87a23ce2ec33e410ca47ecc2555]\n[key.wx = 399be4cfc439f94f2421cbd34c2cd90bae53eb60ddfafca52f7275d165d14fa659b636713b5d", + "4b39e62fd48bae141d0e]\n[key.wy = 1b23e3b4f0c202ed7b59db78a35c12ac698c603eab144fd09ac2ed8f4495f607e4d2c87a23ce2ec33e410ca47ecc2555]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004399be4cfc439f94f2421cbd34c2cd90bae53eb60ddfafca52f7275d165d14fa659b636713b5d4b39e62fd48bae141d0e1b23e3b4f0c202ed7b59db78a35c12ac698c603eab144fd09ac2ed8f4495f607e4d2c87a23ce2ec33e410ca47ecc2555]\n[sha = SHA-384]\n\n# tcId = 346\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100af4a81ee4ae79064ed80f27e1432e84845f15ece399f2cbf28df829ccd30f5ef62ec23957b837d73fe4e156edccd4465\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 041578bbff72137c4bca33d7385a892be94cb059f9091ddfe890345f712a9fba5fc77084cec11084ed048491604a07f66c76bbaa872f0710d82a08d9dddd833c7be7c7e8e265f49145157eb4e8e8280076a37ee5873271db510034da19da24415b]\n[key.wx = 1578bbff72137c4bca33d7385a892be94cb059f9091ddfe890345f712a9fba5fc77084cec11084ed048491604a07f66c]\n[key.wy = 76bbaa872f0710d82a08d9dddd833c7be7c7e8e265f49145157eb4e8e8280076a37ee5873271db510034da19da24415b]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200041578bbff72137c4bca33d7385a892be94cb059f9091ddfe890345f712a9fba5fc77084cec11084ed048491604a07f66c76bbaa872f0710d82a08d9dddd833c7be7c7e8e265f49145157eb4e8e8280076a37ee5873271db510034da19da24415b]\n[sha = SHA-384]\n\n# tcId = 347\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02305e9503dc95cf20c9db01e4fc2865d0908be2bd9c733e597e8a5bb7b7a62abdff6dbe3978ae56536d0fb01172ecd55f57\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 0433ba451c85e729058f83041077a4695eb47df93e718b09a4618c753ac803cd75c1a91290c2ff5a635389d07149571dab1fc7d8a71776851ff244ff632fe6f92e1652e5284893c4244fe775d8efc589d823dd03f3919027f004537bd8ee09f3a3]\n[key.wx = 33ba451c85e729058f83041077a4695eb47df93e718b09a4618c753ac803cd75c1a91290c2ff5a635389d07149571dab]\n[key.wy = 1fc7d8a71776851ff244ff632fe6f92e1652e5284893c4244fe775d8efc589d823dd03f3919027f004537bd8ee09f3a3]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000433ba451c85e729058f83041077a4695eb47df93e718b09a4618c753ac803cd75c1a91290c2ff5a635389d07149571dab1fc7d8a71776851ff244ff632fe6f92e1652e5284893c4244fe775d8efc589d823dd03f3919027f004537bd8ee09f3a3]\n[sha = SHA-384]\n\n# tcId = 348\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02301ee4ae79064ed80f27e1432e84845f15ece399f2cbf4fa31a3ae8edab84dc3330a39f70938e3912bd59753de5aed3088\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04040771e3390216fed2c6208bdf5bfea83ab1915b166e626569f12efd410a39b7e7c76f70f0012843a26debf4ccc33ddae5bc5f7e62d054eac31cd022afdb71b7c638f24c30cbad0ef35ed2fc9917f356e9c3f04391b21d1035274b81537fcbf3]\n[key.wx = 040771e3390216fed2c6208bdf5bfea83ab1915b166e626569f12efd410a39b7e7c76f70f0012843a26debf4ccc33dda]\n[key.wy = 00e5bc5f7e62d054eac31cd022afdb71b7c638f24c30cbad0ef35ed2fc9917f356e9c3f04391b21d1035274b81537fcbf3]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004040771e3390216fed2c6208bdf5bfea83ab1915b166e626569f12efd410a39b7e7c76f70f0012843a26debf4ccc33ddae5bc5f7e62d054eac31cd022afdb71b7c638f24c30cbad0ef35ed2fc9917f356e9c3f04391b21d1035274b81537fcbf3]\n[sha = SHA-384]\n\n# tcId = 349\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100bb51cd3ba8eb201f53ddb4e34e08c0ff7dff9378106784d798d5a3440bd6dc34be3a0eaef8776619a0c97fefb15720b3\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 0498d3f16e1c510a933e648e78d01588319f002e9475df8942a2a89db0666bb7c88b32bb248140e44ac4ab28111b2b792399a926f4a66fbe28ff65c09f8306893aec094b89d0fe529e3577c5ecf30a7944caaf530f4575eb113fcf4c200d2dd4bd]\n[key.wx = 0098d3f16e1c510a933e648e78d01588319f002e9475df8942a2a89db0666bb7c88b32bb248140e44ac4ab28111b2b7923]\n[key.wy = 0099a926f4a66fbe28ff65c09f8306893aec094b89d0fe529e3577c5ecf30a7944caaf530f4575eb113fcf4c200d2dd4bd]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000498d3f16e1c510a933e648e78d01588319f002e9475df8942a2a89db0666bb7c88b32bb248140e44ac4ab28111b2b792399a926f4a66fbe28ff65c09f8306893aec094b89d0fe529e3577c5ecf30a7944caaf530f4575eb113fcf4c200d2dd4bd]\n[sha = SHA-384]\n\n# tcId = 350\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100e707e267ea635384a6da09823149f5cb7acbb29e910d2630c5fb5afbc42aa8436349b214a3b8fb9481ec999e005091f8\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04d1fd602feef80be9e55a19d1a9799c72a899110c6ac21fb3c21357069809d591a8775b64d1867a8cfff124f6a5e3a4f5f9548064f01b9af8868705493a37a037193b48f53b7c7973023f53e6ceff6830ca2f7a14ef51536d453af43b3058d8a9]\n[key.wx = 00d1fd602feef80be9e55a19d1a9799c72a899110c6ac21fb3c21357069809d591a8775b64d1867a8cfff124f6a5e3a4f5]\n[key.wy = 00f9548064f01b9af8868705493a37a037193b48f53b7c7973023f53e6ceff6830ca2f7a14ef51536d453af43b3058d8a9]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004d1fd602feef80be9e55a19d1a9799c72a899110c6ac21fb3c21357069809d591a8775b64d1867a8cfff124f6a5e3a4f5f9548064f01b9af8868705493a37a037193b48f53b7c7973023f53e6ceff6830ca2f7a14ef51536d453af43b3058d8a9]\n[sha = SHA-384]\n\n# tcId = 351\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100acc4f2afb7f5c10f818175074ef688a643fc5365e38129f86d5e2517feb81b2cd2b8dc4f7821bfd032edc4c0234085d9\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 0482f37604f66664c2883dba6d98397c281045cbf59f1d16dddb1381126a246553a8b4d2aaea48ad9185a1645f65567d318a4d7b19f1d2e4434c9a8ecad396304abc82221bbab0679935071c72fd975e7b021c04b1d16ea36fc2d051ef5a8e117c]\n[key.wx = 0082f37604f66664c2883dba6d98397c281045cbf59f1d16dddb1381126a246553a8b4d2aaea48ad9185a1645f65567d31]\n[key.wy = 008a4d7b19f1d2e4434c9a8ecad396304abc82221bbab0679935071c72fd975e7b021c04b1d16ea36fc2d051ef5a8e117c]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000482f37604f66664c2883dba6d98397c281045cbf59f1d16dddb1381126a246553a8b4d2aaea48ad9185a1645f65567d318a4d7b19f1d2e4434c9a8ecad396304abc82221bbab0679935071c72fd975e7b021c04b1d16ea36fc2d051ef5a8e117c]\n[sha = SHA-384]\n\n# tcId = 352\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02310083276c0793f0a19742422f8af671ccf965fa7d18d541bef4c05b90e303f891d39008439e0fda4bfad5ee9a6ace7e340c\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04f052dfc27bf8a6d36f3739f239b981f5b53fe08d999ec683b01e43e7596156206ba08b8b9f59229e2fbdce05f1e40f9990f0fdfb7029f9b3e8c6144dad0339208b7cdcb3820a554259db9d27afdd18f4a750296c59bad6b62df076f90d53be0d]\n[key.wx = 00f052dfc27bf8a6d36f3739f239b981f5b53fe08d999ec683b01e43e7596156206ba08b8b9f59229e2fbdce05f1e40f99]\n[key.wy = 0090f0fdfb7029f9b3e8c6144dad0339208b7cdcb3820a554259db9d27afdd18f4a750296c59bad6b62df076f90d53be0d]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004f052dfc27bf8a6d36f3739f239b981f5b53fe08d999ec683b01e43e7596156206ba08b8b9f59229e2fbdce05f1e40f9990f0fdfb7029f9b3e8c6144dad0339208b7cdcb3820a554259db9d27afdd18f4a750296c59bad6b62df076f90d53be0d]\n[sha = SHA-384]\n\n# tcId = 353\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100942848586b534105ddd1ca77df72e1251140f412e97b62afbf85d4822309176b5965453dee3fab709e14156b3dfcecca\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04f877bd6e2a9273e322a3298ea3add13d1104b32172283669ca6688f0cb", + "591524a7f15dd41496681eda98939aae729fede85ca37c81ef19e3dc9ab16908a3720d86875a51a6a6d932e37492a6ec7a344eabc482377f14891fbd1da7faeffa1178]\n[key.wx = 00f877bd6e2a9273e322a3298ea3add13d1104b32172283669ca6688f0cb591524a7f15dd41496681eda98939aae729fed]\n[key.wy = 00e85ca37c81ef19e3dc9ab16908a3720d86875a51a6a6d932e37492a6ec7a344eabc482377f14891fbd1da7faeffa1178]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004f877bd6e2a9273e322a3298ea3add13d1104b32172283669ca6688f0cb591524a7f15dd41496681eda98939aae729fede85ca37c81ef19e3dc9ab16908a3720d86875a51a6a6d932e37492a6ec7a344eabc482377f14891fbd1da7faeffa1178]\n[sha = SHA-384]\n\n# tcId = 354\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02307fffffffffffffffffffffffffffffffffffffffffffffffed2119d5fc12649fc808af3b6d9037d3a44eb32399970dd0\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 0414249bbcfeeceab06c75654d361c0df8d56b320ea3bc1d4627ec0a2f4b8fa3577445694664f569a91f480741381e494a28479f2186d715a56788f67073056aa0cb0b6a7f7893e77b9a6976ef6663d80226896d7f43bb502e1b4d49558a27dd8b]\n[key.wx = 14249bbcfeeceab06c75654d361c0df8d56b320ea3bc1d4627ec0a2f4b8fa3577445694664f569a91f480741381e494a]\n[key.wy = 28479f2186d715a56788f67073056aa0cb0b6a7f7893e77b9a6976ef6663d80226896d7f43bb502e1b4d49558a27dd8b]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000414249bbcfeeceab06c75654d361c0df8d56b320ea3bc1d4627ec0a2f4b8fa3577445694664f569a91f480741381e494a28479f2186d715a56788f67073056aa0cb0b6a7f7893e77b9a6976ef6663d80226896d7f43bb502e1b4d49558a27dd8b]\n[sha = SHA-384]\n\n# tcId = 355\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023079b95c013b0472de04d8faeec3b779c39fe729ea84fb554cd091c7178c2f054eabbc62c3e1cfbac2c2e69d7aa45d9072\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 0450a438c98ee94025ce13e27d36b8280d4843585836eb47011a070cd77729245684a0db31fde980620349c796832b2c6cbdb72dba9f3f9cc878559f50b6bd1290f10a6bccbc1eeef7708b1b72059022987979e35221c51259f337c7288a2f86bc]\n[key.wx = 50a438c98ee94025ce13e27d36b8280d4843585836eb47011a070cd77729245684a0db31fde980620349c796832b2c6c]\n[key.wy = 00bdb72dba9f3f9cc878559f50b6bd1290f10a6bccbc1eeef7708b1b72059022987979e35221c51259f337c7288a2f86bc]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000450a438c98ee94025ce13e27d36b8280d4843585836eb47011a070cd77729245684a0db31fde980620349c796832b2c6cbdb72dba9f3f9cc878559f50b6bd1290f10a6bccbc1eeef7708b1b72059022987979e35221c51259f337c7288a2f86bc]\n[sha = SHA-384]\n\n# tcId = 356\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100bfd40d0caa4d9d42381f3d72a25683f52b03a1ed96fb72d03f08dcb9a8bc8f23c1a459deab03bcd39396c0d1e9053c81\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 044d3fc5dcfaf741113cda3ce2f8dff4c912143e4d36314c361d7ed5656b68448bcca114ba9e8124281234660b7726ddcd680ddfef7ea07bfbcede10803d38d7211631ca11466078819eb66e11921ab7ffa3c4560c732e77595fd408e917dd9afc]\n[key.wx = 4d3fc5dcfaf741113cda3ce2f8dff4c912143e4d36314c361d7ed5656b68448bcca114ba9e8124281234660b7726ddcd]\n[key.wy = 680ddfef7ea07bfbcede10803d38d7211631ca11466078819eb66e11921ab7ffa3c4560c732e77595fd408e917dd9afc]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200044d3fc5dcfaf741113cda3ce2f8dff4c912143e4d36314c361d7ed5656b68448bcca114ba9e8124281234660b7726ddcd680ddfef7ea07bfbcede10803d38d7211631ca11466078819eb66e11921ab7ffa3c4560c732e77595fd408e917dd9afc]\n[sha = SHA-384]\n\n# tcId = 357\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02304c7d219db9af94ce7fffffffffffffffffffffffffffffffef15cf1058c8d8ba1e634c4122db95ec1facd4bb13ebf09a\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 0463d65cdfeb1f1a42000f43bd1ddd130537a7b6f635e8d2bd81a97da168221183da433ca78429fd2b33c5f94895a9c13aa9d1d5ea328725653a5a9d00f85a5516236f3b1428a8629287d3b0487a2e82dd57f93bb2aa3d9783dc74131e13756034]\n[key.wx = 63d65cdfeb1f1a42000f43bd1ddd130537a7b6f635e8d2bd81a97da168221183da433ca78429fd2b33c5f94895a9c13a]\n[key.wy = 00a9d1d5ea328725653a5a9d00f85a5516236f3b1428a8629287d3b0487a2e82dd57f93bb2aa3d9783dc74131e13756034]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000463d65cdfeb1f1a42000f43bd1ddd130537a7b6f635e8d2bd81a97da168221183da433ca78429fd2b33c5f94895a9c13aa9d1d5ea328725653a5a9d00f85a5516236f3b1428a8629287d3b0487a2e82dd57f93bb2aa3d9783dc74131e13756034]\n[sha = SHA-384]\n\n# tcId = 358\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100d219db9af94ce7ffffffffffffffffffffffffffffffffffd189bdb6d9ef7be8504ca374756ea5b8f15e44067d209b9b\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04d22c9c348b9745711f57debac3a07df90a527c06bd02a8454f41437d54224e071698f03fdc64b1d652414edc3f2239c49ae9812a4b92f099d6659a659691768d57e530ed3c91d5455781605850997a58221f22a2451c3932470606c23f3ab1b8]\n[key.wx = 00d22c9c348b9745711f57debac3a07df90a527c06bd02a8454f41437d54224e071698f03fdc64b1d652414edc3f2239c4]\n[key.wy = 009ae9812a4b92f099d6659a659691768d57e530ed3c91d5455781605850997a58221f22a2451c3932470606c23f3ab1b8]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004d22c9c348b9745711f57debac3a07df90a527c06bd02a8454f41437d54224e071698f03fdc64b1d652414edc3f2239c49ae9812a4b92f099d6659a659691768d57e530ed3c91d5455781605850997a58221f22a2451c3932470606c23f3ab1b8]\n[sha = SHA-384]\n\n# tcId = 359\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100a433b735f299cfffffffffffffffffffffffffffffffffffdbb02debbfa7c9f1487f3936a22ca3f6f5d06ea22d7c0dc3\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 0431f05c0c29e9da49aa2fbbedee770c68d10f85e7f77e72ac3cfa9c8623a2bb42eeb2f24ac8f2aef7ab0c4b47823140035bb32fc1ec04bbff5eab96e070c938ba1b53fe63970f649ae02e2a4ada420a249b6f7c525e2c4b9b0d5562ae26f2278c]\n[key.wx = 31f05c0c29e9da49aa2fbbedee770c68d10f85e7f77e72ac3cfa9c8623a2bb42eeb2f24ac8f2aef7ab0c4b4782314003]\n[key.wy = 5bb32fc1ec04bbff5eab96e070c938ba1b53fe63970f649ae02e2a4ada420a249b6f7c525e2c4b9b0d5562ae26f2278c]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000431f05c0c29e9da49aa2fbbedee770c68d10f85e7f77e72ac3cfa9c8623a2bb42eeb2f24ac8f2aef7ab0c4b47823140035bb32fc1ec04bbff5eab96e070c938ba1b53fe63970f649ae02e2a4ada420a249b6f7c525e2c4b9b0d5562ae26f2278c]\n[sha = SHA-384]\n\n# tcId = 360\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100b9af94ce7fffffffffffffffffffffffffffffffffffffffd6efeefc876c9f23217b443c80637ef939e911219f96c179\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04bc26eec95e26c980bc0334264cbcfc26b897c3571c96ce9ab2a67b49bb0f26a6272fdc27806d7a4c572ae0f78149f1f3c8af5f41b99d2066018165513fb3b55e4255dcd0659647ed55e1e2602cae4efbd6eae1dfe2ff63e2c748d4acc7430139]\n[key.wx = 00bc26eec95e26c980bc0334264cbcfc26b897c3571c96ce9ab2a67b49bb0f26a6272fdc27806d7a4c572ae0f78149f1f3]\n[key.wy = 00c8af5f41b99d2066018165513fb3b55e4255dcd0659647ed55e1e2602cae4efbd6eae1dfe2ff63e2c748d4acc7430139]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004bc26eec95e26c980bc0334264cbcfc26b897c3571c96ce9ab2a67b49bb0f26a6272fdc27806d7a4c572ae0f78149f1f3c8af5f41b99d2066018165513fb3b55e4255dcd0659647ed55e1e2602cae4efbd6eae1dfe2ff63e2c748d4acc7430139]\n[sha = SHA-384]\n\n# tcId = 361\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100a2762762762762762762762762762", + "76276276276276276273d7228d4f84b769be0fd57b97e4c1ebcae9a5f635e80e9df\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 046fa0964dd054250af176891c0c822b013b70f059c347172cafc6b36cd16cf3b0f9d19f2598bd0d580ac16c46acb167d4375bef701c002dcc040fd54824b14cc2df0154eb20e74464e1fe7b833426dd7d636bf2d79603fdde5ddaab23ab0cf426]\n[key.wx = 6fa0964dd054250af176891c0c822b013b70f059c347172cafc6b36cd16cf3b0f9d19f2598bd0d580ac16c46acb167d4]\n[key.wy = 375bef701c002dcc040fd54824b14cc2df0154eb20e74464e1fe7b833426dd7d636bf2d79603fdde5ddaab23ab0cf426]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200046fa0964dd054250af176891c0c822b013b70f059c347172cafc6b36cd16cf3b0f9d19f2598bd0d580ac16c46acb167d4375bef701c002dcc040fd54824b14cc2df0154eb20e74464e1fe7b833426dd7d636bf2d79603fdde5ddaab23ab0cf426]\n[sha = SHA-384]\n\n# tcId = 362\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023073333333333333333333333333333333333333333333333316e4d9f42d4eca22df403a0c578b86f0a9a93fe89995c7ed\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04baa4e712ee0786a5ab0e5a5dafdcdcf87b38830ab2ec86faedda9fdf65332f6a9688269412f050356530d4664a7fb8cdecc46a901b016e6bb8a336ad9aa6f19abf9ada69705d1c905beafb95a44f52af43de4bf80c050cf996b7796dfcee8e1b]\n[key.wx = 00baa4e712ee0786a5ab0e5a5dafdcdcf87b38830ab2ec86faedda9fdf65332f6a9688269412f050356530d4664a7fb8cd]\n[key.wy = 00ecc46a901b016e6bb8a336ad9aa6f19abf9ada69705d1c905beafb95a44f52af43de4bf80c050cf996b7796dfcee8e1b]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004baa4e712ee0786a5ab0e5a5dafdcdcf87b38830ab2ec86faedda9fdf65332f6a9688269412f050356530d4664a7fb8cdecc46a901b016e6bb8a336ad9aa6f19abf9ada69705d1c905beafb95a44f52af43de4bf80c050cf996b7796dfcee8e1b]\n[sha = SHA-384]\n\n# tcId = 363\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02307fffffffffffffffffffffffffffffffffffffffffffffffda4233abf824c93f90115e76db206fa7489d6647332e1ba3\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 0481e78a52ae0695583f7a601ab9b6fbfaf434f2befa1f8c833d59deb627a927c2f42d48eb617fe042f584e105c23c2317cf22d565f5f3b425ef7937df629b6864dac71264b288c1a987210f523071319ce3f64411910ac23765c4266e615112bc]\n[key.wx = 0081e78a52ae0695583f7a601ab9b6fbfaf434f2befa1f8c833d59deb627a927c2f42d48eb617fe042f584e105c23c2317]\n[key.wy = 00cf22d565f5f3b425ef7937df629b6864dac71264b288c1a987210f523071319ce3f64411910ac23765c4266e615112bc]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000481e78a52ae0695583f7a601ab9b6fbfaf434f2befa1f8c833d59deb627a927c2f42d48eb617fe042f584e105c23c2317cf22d565f5f3b425ef7937df629b6864dac71264b288c1a987210f523071319ce3f64411910ac23765c4266e615112bc]\n[sha = SHA-384]\n\n# tcId = 364\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02303fffffffffffffffffffffffffffffffffffffffffffffffe3b1a6c0fa1b96efac0d06d9245853bd76760cb5666294bb\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 0441fa8765b19d3108031e28c9a781a385c9c10b2bfd42e6437e5c4bd711cf2a031750847d17a82f9376a30ae182a6d6e71c20af96324147d4155a4d0c867ca8e36eba204fbed2087e0fcbdc8baabe07bb3123f9f7259e771cd9f1ad17d1a23787]\n[key.wx = 41fa8765b19d3108031e28c9a781a385c9c10b2bfd42e6437e5c4bd711cf2a031750847d17a82f9376a30ae182a6d6e7]\n[key.wy = 1c20af96324147d4155a4d0c867ca8e36eba204fbed2087e0fcbdc8baabe07bb3123f9f7259e771cd9f1ad17d1a23787]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000441fa8765b19d3108031e28c9a781a385c9c10b2bfd42e6437e5c4bd711cf2a031750847d17a82f9376a30ae182a6d6e71c20af96324147d4155a4d0c867ca8e36eba204fbed2087e0fcbdc8baabe07bb3123f9f7259e771cd9f1ad17d1a23787]\n[sha = SHA-384]\n\n# tcId = 365\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100dfea06865526cea11c0f9eb9512b41fa9581d0f6cb7db9680336151dce79de818cdf33c879da322740416d1e5ae532fa\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04e585a067d6dff37ae7f17f81583119b61291597345f107acffe237a08f4886d4fdf94fe63182e6143c99be25a7b7d86b572c1e06dd2c7b94b873f0578fcb2b99d60e246e51245d0804edd44b32f0f000c8f8f88f1d4a65fea51dbbb4ab1e2823]\n[key.wx = 00e585a067d6dff37ae7f17f81583119b61291597345f107acffe237a08f4886d4fdf94fe63182e6143c99be25a7b7d86b]\n[key.wy = 572c1e06dd2c7b94b873f0578fcb2b99d60e246e51245d0804edd44b32f0f000c8f8f88f1d4a65fea51dbbb4ab1e2823]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004e585a067d6dff37ae7f17f81583119b61291597345f107acffe237a08f4886d4fdf94fe63182e6143c99be25a7b7d86b572c1e06dd2c7b94b873f0578fcb2b99d60e246e51245d0804edd44b32f0f000c8f8f88f1d4a65fea51dbbb4ab1e2823]\n[sha = SHA-384]\n\n# tcId = 366\n# point duplication during verification\nmsg = 313233343030\nresult = valid\nsig = 3065023100b37699e0d518a4d370dbdaaaea3788850fa03f8186d1f78fdfbae6540aa670b31c8ada0fff3e737bd69520560fe0ce60023064adb4d51a93f96bed4665de2d4e1169cc95819ec6e9333edfd5c07ca134ceef7c95957b719ae349fc439eaa49fbbe34\nflags = PointDuplication\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04e585a067d6dff37ae7f17f81583119b61291597345f107acffe237a08f4886d4fdf94fe63182e6143c99be25a7b7d86ba8d3e1f922d3846b478c0fa87034d46629f1db91aedba2f7fb122bb4cd0f0ffe3707076fe2b59a015ae2444c54e1d7dc]\n[key.wx = 00e585a067d6dff37ae7f17f81583119b61291597345f107acffe237a08f4886d4fdf94fe63182e6143c99be25a7b7d86b]\n[key.wy = 00a8d3e1f922d3846b478c0fa87034d46629f1db91aedba2f7fb122bb4cd0f0ffe3707076fe2b59a015ae2444c54e1d7dc]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004e585a067d6dff37ae7f17f81583119b61291597345f107acffe237a08f4886d4fdf94fe63182e6143c99be25a7b7d86ba8d3e1f922d3846b478c0fa87034d46629f1db91aedba2f7fb122bb4cd0f0ffe3707076fe2b59a015ae2444c54e1d7dc]\n[sha = SHA-384]\n\n# tcId = 367\n# duplication bug\nmsg = 313233343030\nresult = invalid\nsig = 3065023100b37699e0d518a4d370dbdaaaea3788850fa03f8186d1f78fdfbae6540aa670b31c8ada0fff3e737bd69520560fe0ce60023064adb4d51a93f96bed4665de2d4e1169cc95819ec6e9333edfd5c07ca134ceef7c95957b719ae349fc439eaa49fbbe34\nflags = PointDuplication\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04b4d78cccbced8065c0ebdc330b4670ec99309273e442b9be341196c1043e4441fc57b914085595bfc755c64fc409f0ba01fee31cbbbaed5c1323f09c87df9b0712c12e99733fa23ef91b4e6ca666b09dd7540ebf1068a15155bc069e3d595c8c]\n[key.wx = 00b4d78cccbced8065c0ebdc330b4670ec99309273e442b9be341196c1043e4441fc57b914085595bfc755c64fc409f0ba]\n[key.wy = 01fee31cbbbaed5c1323f09c87df9b0712c12e99733fa23ef91b4e6ca666b09dd7540ebf1068a15155bc069e3d595c8c]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004b4d78cccbced8065c0ebdc330b4670ec99309273e442b9be341196c1043e4441fc57b914085595bfc755c64fc409f0ba01fee31cbbbaed5c1323f09c87df9b0712c12e99733fa23ef91b4e6ca666b09dd7540ebf1068a15155bc069e3d595c8c]\n[sha = SHA-384]\n\n# tcId = 368\n# point with x-coordinate 0\nmsg = 313233343030\nresult = invalid\nsig = 3035020101023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 046e3c68be53aade81ef89e096d841e2845a23331e7ec8a6a839d58d07fa016c0973ed75de4f99177bfdc74db566e9d15a4972ea08e577ce1f61c13a6ca1bad1deef2982ee01a2826f002b769f2c46098d3baff068a405d09ca3840d2fafe4e46e]\n[key.wx = 6e3c68be53aade81ef89e096d841e2845a23331e7ec8a6a839d58d07fa016c0973ed75de4f99177bfdc74db566e9d15a]\n[key.wy = 4972ea08e577ce1f61c13a6ca1bad1deef2982ee01a2826f002b769f2c46098d3baff068a405d09ca3840d2fafe4e46e]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200046e3c68be53aade81ef89e096d841e2845a23331e7ec8a6a839d58d07fa016c0973ed75de4f99177bfdc74db566e9d15a4972ea08e577ce1f61c13a6ca1bad1deef2982ee01a2826f002b769f2c46098d3baff068a405d09ca3840d2fafe4e46e]\n[sha = SHA-384]\n\n# tcId", + " = 369\n# point with x-coordinate 0\nmsg = 313233343030\nresult = invalid\nsig = 3065023101000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000023033333333333333333333333333333333333333333333333327e0a919fda4a2c644d202bd41bcee4bc8fc05155c276eb0\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04b101cdb3eba20e112adbb4bbd2cb479a69e590a44ea902631832abfab8af2c3041b3df7f1665b2c6eb533f546217100a1a61aa9951578ad4f00ae17339a8a6f1359bbd0ac355678ed4df21338f08763c1d3702ec132b634c7bcc0118efb1d0dd]\n[key.wx = 00b101cdb3eba20e112adbb4bbd2cb479a69e590a44ea902631832abfab8af2c3041b3df7f1665b2c6eb533f546217100a]\n[key.wy = 1a61aa9951578ad4f00ae17339a8a6f1359bbd0ac355678ed4df21338f08763c1d3702ec132b634c7bcc0118efb1d0dd]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004b101cdb3eba20e112adbb4bbd2cb479a69e590a44ea902631832abfab8af2c3041b3df7f1665b2c6eb533f546217100a1a61aa9951578ad4f00ae17339a8a6f1359bbd0ac355678ed4df21338f08763c1d3702ec132b634c7bcc0118efb1d0dd]\n[sha = SHA-384]\n\n# tcId = 370\n# comparison with point at infinity \nmsg = 313233343030\nresult = invalid\nsig = 3064023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326023033333333333333333333333333333333333333333333333327e0a919fda4a2c644d202bd41bcee4bc8fc05155c276eb0\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 046761044a040a4979db269b4a377e42f11b4be0ce24611f677674dcf770f5887ca4db565303283809e6d65f7fc6bc273605c7daa403fca53549f75ff3372909642d02b7fdcac1e68242814d6e925ab01a80836cfbb35581960079e2fb44c0d186]\n[key.wx = 6761044a040a4979db269b4a377e42f11b4be0ce24611f677674dcf770f5887ca4db565303283809e6d65f7fc6bc2736]\n[key.wy = 05c7daa403fca53549f75ff3372909642d02b7fdcac1e68242814d6e925ab01a80836cfbb35581960079e2fb44c0d186]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200046761044a040a4979db269b4a377e42f11b4be0ce24611f677674dcf770f5887ca4db565303283809e6d65f7fc6bc273605c7daa403fca53549f75ff3372909642d02b7fdcac1e68242814d6e925ab01a80836cfbb35581960079e2fb44c0d186]\n[sha = SHA-384]\n\n# tcId = 371\n# extreme value for k and edgecase s\nmsg = 313233343030\nresult = valid\nsig = 3064023008d999057ba3d2d969260045c55b97f089025959a6f434d651d207d19fb96e9e4fe0e86ebe0e64f85b96a9c75295df61023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 046922c591502f01046fee5617bf16496f58398822e69afa8335308f36c09a8ed437209fefcffbbdf0a4876b35a3c7ab2655854db825b94b3f27e5f892d3bbb6c7240ec922894dd3598e91fcc6134a2b8fd154e1790466906206f0f623416e63a1]\n[key.wx = 6922c591502f01046fee5617bf16496f58398822e69afa8335308f36c09a8ed437209fefcffbbdf0a4876b35a3c7ab26]\n[key.wy = 55854db825b94b3f27e5f892d3bbb6c7240ec922894dd3598e91fcc6134a2b8fd154e1790466906206f0f623416e63a1]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200046922c591502f01046fee5617bf16496f58398822e69afa8335308f36c09a8ed437209fefcffbbdf0a4876b35a3c7ab2655854db825b94b3f27e5f892d3bbb6c7240ec922894dd3598e91fcc6134a2b8fd154e1790466906206f0f623416e63a1]\n[sha = SHA-384]\n\n# tcId = 372\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3064023008d999057ba3d2d969260045c55b97f089025959a6f434d651d207d19fb96e9e4fe0e86ebe0e64f85b96a9c75295df6102302492492492492492492492492492492492492492492492491c7be680477598d6c3716fabc13dcec86afd2833d41c2a7e\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04892dac0e700fc29d1802d9a449a6f56b2172cb1b7d881013cd3b31c0edb052f2d340c8995a4477bcb9225fec15667233cc6c34ae17445444516fd8fd22ee83f79eb0771ebff6677ac5d4e089f87a1c72df957acb24492adcd7c3816b8e0c75b1]\n[key.wx = 00892dac0e700fc29d1802d9a449a6f56b2172cb1b7d881013cd3b31c0edb052f2d340c8995a4477bcb9225fec15667233]\n[key.wy = 00cc6c34ae17445444516fd8fd22ee83f79eb0771ebff6677ac5d4e089f87a1c72df957acb24492adcd7c3816b8e0c75b1]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004892dac0e700fc29d1802d9a449a6f56b2172cb1b7d881013cd3b31c0edb052f2d340c8995a4477bcb9225fec15667233cc6c34ae17445444516fd8fd22ee83f79eb0771ebff6677ac5d4e089f87a1c72df957acb24492adcd7c3816b8e0c75b1]\n[sha = SHA-384]\n\n# tcId = 373\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3064023008d999057ba3d2d969260045c55b97f089025959a6f434d651d207d19fb96e9e4fe0e86ebe0e64f85b96a9c75295df6102306666666666666666666666666666666666666666666666664fc15233fb49458c89a4057a8379dc9791f80a2ab84edd61\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 0401634117e6478ce0568b0a2469237bbac6ff096acb7e514072bf77123cb51ba0cc3e8d69284d534d8e6d1e876cecf22231e5ef04dc96762ce7d5ef3348ad1e241ac797ae3b630ea249afc5139af49b8ef68b32f812d6b514210363d498efc28c]\n[key.wx = 01634117e6478ce0568b0a2469237bbac6ff096acb7e514072bf77123cb51ba0cc3e8d69284d534d8e6d1e876cecf222]\n[key.wy = 31e5ef04dc96762ce7d5ef3348ad1e241ac797ae3b630ea249afc5139af49b8ef68b32f812d6b514210363d498efc28c]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000401634117e6478ce0568b0a2469237bbac6ff096acb7e514072bf77123cb51ba0cc3e8d69284d534d8e6d1e876cecf22231e5ef04dc96762ce7d5ef3348ad1e241ac797ae3b630ea249afc5139af49b8ef68b32f812d6b514210363d498efc28c]\n[sha = SHA-384]\n\n# tcId = 374\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3065023008d999057ba3d2d969260045c55b97f089025959a6f434d651d207d19fb96e9e4fe0e86ebe0e64f85b96a9c75295df6102310099999999999999999999999999999999999999999999999977a1fb4df8ede852ce760837c536cae35af40f4014764c12\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04675bdc79d8243887fe1b305d12ac10d2e9c0bde070a6e3394cd5f6adfbceda75498b0e7a794c7212f42be93f616744563e96d1bf6f95cdbefa774911ba06463d8a90a0c9d73c9699b061d779dc52496e8ee9b9ae9c5d4d90e89cd1157d811895]\n[key.wx = 675bdc79d8243887fe1b305d12ac10d2e9c0bde070a6e3394cd5f6adfbceda75498b0e7a794c7212f42be93f61674456]\n[key.wy = 3e96d1bf6f95cdbefa774911ba06463d8a90a0c9d73c9699b061d779dc52496e8ee9b9ae9c5d4d90e89cd1157d811895]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004675bdc79d8243887fe1b305d12ac10d2e9c0bde070a6e3394cd5f6adfbceda75498b0e7a794c7212f42be93f616744563e96d1bf6f95cdbefa774911ba06463d8a90a0c9d73c9699b061d779dc52496e8ee9b9ae9c5d4d90e89cd1157d811895]\n[sha = SHA-384]\n\n# tcId = 375\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3065023008d999057ba3d2d969260045c55b97f089025959a6f434d651d207d19fb96e9e4fe0e86ebe0e64f85b96a9c75295df61023100db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6aae76701acc1950894a89e068772d8b281eef136f8a8fef5\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 040fd1aab89f47b565b8160dfcc433b6408adeb1473c036b26b7ddec714fb4d0e7dd756c88469e86e218813ead8e8e7676f1cc955c4139e0071c0079ec1d77164e0569bdf453837e8b33c98535a0e7c9c61ef24762067bb46b6116ea7909a69b23]\n[key.wx = 0fd1aab89f47b565b8160dfcc433b6408adeb1473c036b26b7ddec714fb4d0e7dd756c88469e86e218813ead8e8e7676]\n[key.wy = 00f1cc955c4139e0071c0079ec1d77164e0569bdf453837e8b33c98535a0e7c9c61ef24762067bb46b6116ea7909a69b23]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200040fd1aab89f47b565b8160dfcc433b6408adeb1473c036b26b7ddec714fb4d0e7dd756c88469e86e218813ead8e8e7676f1cc955c4139e0071c0079ec1d77164e0569bdf453837e8b33c98535a0e7c9c61ef24762067bb46b6116ea7909a69b23]\n[sha = SHA-384]\n\n# tcId = 376\n# extreme value for k\nmsg = 313233343030\nresult = valid\nsig = 3064023008d999057ba3d2d969260045c55b97f089025959a6f434d651d207d19fb96e9e4fe0e86ebe0e64f85b96a9c75295df6102300eb10e5ab95f2f26a40700b1300fb8c3e754d5c453d9384ecce1daa38135a48a0a96c24efc2a76d00bde1d7aeedf7f6a\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 0434d74ec088bab6c6323968d1f468993812f690d6edca5b97604d718e12b8cdfdd96d42e57d33afe312f0ee3c3d0a13f786f4922bb2c13bdf7752a3ecb69393e997bd65461c46867ebeef6296b23f2c56df63acfde648f3f5002dbc239ffd1582]\n[key.wx = 34d74ec088bab6c6323968d1f468993812f690d6edca5b97604d718e12b8cdfdd96d42e57d33afe312f0ee3c3d0a13f7]\n[key.wy = 0086f4922bb2c13bdf7752a3ecb69393e997bd65461c46867ebeef6296b23f2c56d", + "f63acfde648f3f5002dbc239ffd1582]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000434d74ec088bab6c6323968d1f468993812f690d6edca5b97604d718e12b8cdfdd96d42e57d33afe312f0ee3c3d0a13f786f4922bb2c13bdf7752a3ecb69393e997bd65461c46867ebeef6296b23f2c56df63acfde648f3f5002dbc239ffd1582]\n[sha = SHA-384]\n\n# tcId = 377\n# extreme value for k and edgecase s\nmsg = 313233343030\nresult = valid\nsig = 3065023100aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 044376c9893e9277296c766a83abbe36b34da7a631f8cbfd32a1888de0dd1455a21a153ea2d61cfa5071fc6be12a658f6b290ba1a8ee8c78b5dd58f9ffcacb22955682eea02429c3fa8cdcb649fa4d007c8693e3f8f3c0a5f3c4de7a51beaa9809]\n[key.wx = 4376c9893e9277296c766a83abbe36b34da7a631f8cbfd32a1888de0dd1455a21a153ea2d61cfa5071fc6be12a658f6b]\n[key.wy = 290ba1a8ee8c78b5dd58f9ffcacb22955682eea02429c3fa8cdcb649fa4d007c8693e3f8f3c0a5f3c4de7a51beaa9809]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200044376c9893e9277296c766a83abbe36b34da7a631f8cbfd32a1888de0dd1455a21a153ea2d61cfa5071fc6be12a658f6b290ba1a8ee8c78b5dd58f9ffcacb22955682eea02429c3fa8cdcb649fa4d007c8693e3f8f3c0a5f3c4de7a51beaa9809]\n[sha = SHA-384]\n\n# tcId = 378\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3065023100aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab702302492492492492492492492492492492492492492492492491c7be680477598d6c3716fabc13dcec86afd2833d41c2a7e\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 0410878fc4807f6732a23c883e838e38c787f7088f94c1824b84673e8b9eab16de1544ae4bf2c6fe3fe4fb343b7487e2b43036ff439533d22f951dae966584bafb23b217dcad2f8f4e0e6999c0c4d0f076634be805f676fd2a59c27f9fe7c5d95b]\n[key.wx = 10878fc4807f6732a23c883e838e38c787f7088f94c1824b84673e8b9eab16de1544ae4bf2c6fe3fe4fb343b7487e2b4]\n[key.wy = 3036ff439533d22f951dae966584bafb23b217dcad2f8f4e0e6999c0c4d0f076634be805f676fd2a59c27f9fe7c5d95b]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000410878fc4807f6732a23c883e838e38c787f7088f94c1824b84673e8b9eab16de1544ae4bf2c6fe3fe4fb343b7487e2b43036ff439533d22f951dae966584bafb23b217dcad2f8f4e0e6999c0c4d0f076634be805f676fd2a59c27f9fe7c5d95b]\n[sha = SHA-384]\n\n# tcId = 379\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3065023100aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab702306666666666666666666666666666666666666666666666664fc15233fb49458c89a4057a8379dc9791f80a2ab84edd61\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04036b253e3b4ac88bb8585a2b32b978766a931e5ad0d0e653a2e34b44d6ddcc0d386e20c4def2d8bb3f8da128c1eac69f9c8e3b5ff5dde2205af359b3974d52758d7abae812b8b275e1452c4e59cb62e9b6771d347dbd1dea761c70291cc5e0a6]\n[key.wx = 036b253e3b4ac88bb8585a2b32b978766a931e5ad0d0e653a2e34b44d6ddcc0d386e20c4def2d8bb3f8da128c1eac69f]\n[key.wy = 009c8e3b5ff5dde2205af359b3974d52758d7abae812b8b275e1452c4e59cb62e9b6771d347dbd1dea761c70291cc5e0a6]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004036b253e3b4ac88bb8585a2b32b978766a931e5ad0d0e653a2e34b44d6ddcc0d386e20c4def2d8bb3f8da128c1eac69f9c8e3b5ff5dde2205af359b3974d52758d7abae812b8b275e1452c4e59cb62e9b6771d347dbd1dea761c70291cc5e0a6]\n[sha = SHA-384]\n\n# tcId = 380\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3066023100aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab702310099999999999999999999999999999999999999999999999977a1fb4df8ede852ce760837c536cae35af40f4014764c12\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 042783c1be922fce155864ecb41d0a316e193a55843e80192f1fe556772f3debd04b9fc93c27bc6f353938886a404419941a352cec336946424fa3c208ea7105f5549edde8688abd305344bf4f66dda7eabcda6f8557c9af88109804d702e9670b]\n[key.wx = 2783c1be922fce155864ecb41d0a316e193a55843e80192f1fe556772f3debd04b9fc93c27bc6f353938886a40441994]\n[key.wy = 1a352cec336946424fa3c208ea7105f5549edde8688abd305344bf4f66dda7eabcda6f8557c9af88109804d702e9670b]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200042783c1be922fce155864ecb41d0a316e193a55843e80192f1fe556772f3debd04b9fc93c27bc6f353938886a404419941a352cec336946424fa3c208ea7105f5549edde8688abd305344bf4f66dda7eabcda6f8557c9af88109804d702e9670b]\n[sha = SHA-384]\n\n# tcId = 381\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3066023100aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7023100db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6aae76701acc1950894a89e068772d8b281eef136f8a8fef5\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04fa92538cdc740368caf16480ff1304cebbbe59a46a7a84603726b9592d105be069df1c61b5974f27e7552f797de97cdb620e03a46da862e4b089bafbb80df8f055c8f47991b3a3ddb2b089aedb2f15841a6a5b5e14c1dc36b3c155c4f74d3409]\n[key.wx = 00fa92538cdc740368caf16480ff1304cebbbe59a46a7a84603726b9592d105be069df1c61b5974f27e7552f797de97cdb]\n[key.wy = 620e03a46da862e4b089bafbb80df8f055c8f47991b3a3ddb2b089aedb2f15841a6a5b5e14c1dc36b3c155c4f74d3409]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004fa92538cdc740368caf16480ff1304cebbbe59a46a7a84603726b9592d105be069df1c61b5974f27e7552f797de97cdb620e03a46da862e4b089bafbb80df8f055c8f47991b3a3ddb2b089aedb2f15841a6a5b5e14c1dc36b3c155c4f74d3409]\n[sha = SHA-384]\n\n# tcId = 382\n# extreme value for k\nmsg = 313233343030\nresult = valid\nsig = 3065023100aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab702300eb10e5ab95f2f26a40700b1300fb8c3e754d5c453d9384ecce1daa38135a48a0a96c24efc2a76d00bde1d7aeedf7f6a\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f]\n[key.wx = 00aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7]\n[key.wy = 3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f]\n[sha = SHA-384]\n\n# tcId = 383\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 3065023100f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace02302492492492492492492492492492492492492492492492491c7be680477598d6c3716fabc13dcec86afd2833d41c2a7e\n\n# tcId = 384\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 30640230064ed80f27e1432e84845f15ece399f2cbf4fa31aa837de9b953d44413b9f5c7c7f67989d703f07abef11b6ad0373ea502302492492492492492492492492492492492492492492492491c7be680477598d6c3716fabc13dcec86afd2833d41c2a7e\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7c9e821b569d9d390a26167406d6d23d6070be242d765eb831625ceec4a0f473ef59f4e30e2817e6285bce2846f15f1a0]\n[key.wx = 00aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7]\n[key.wy = 00c9e821b569d9d390a26167406d6d23d6070be242d765eb831625ceec4a0f473ef59f4e30e2817e6285bce2846f15f1a0]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7c9e821b569d9d390a26167406d6d23d6070be242d765eb831625ceec4a0f473ef59f4e30e2817e6285bce2846f15f1a0]\n[sha = SHA-384]\n\n# tcId = 385\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 3065023100f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d3817", + "9023942871acb7002dfafdfffc8deace02302492492492492492492492492492492492492492492492491c7be680477598d6c3716fabc13dcec86afd2833d41c2a7e\n\n# tcId = 386\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 30640230064ed80f27e1432e84845f15ece399f2cbf4fa31aa837de9b953d44413b9f5c7c7f67989d703f07abef11b6ad0373ea502302492492492492492492492492492492492492492492492491c7be680477598d6c3716fabc13dcec86afd2833d41c2a7e\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 0429bdb76d5fa741bfd70233cb3a66cc7d44beb3b0663d92a8136650478bcefb61ef182e155a54345a5e8e5e88f064e5bc9a525ab7f764dad3dae1468c2b419f3b62b9ba917d5e8c4fb1ec47404a3fc76474b2713081be9db4c00e043ada9fc4a3]\n[key.wx = 29bdb76d5fa741bfd70233cb3a66cc7d44beb3b0663d92a8136650478bcefb61ef182e155a54345a5e8e5e88f064e5bc]\n[key.wy = 009a525ab7f764dad3dae1468c2b419f3b62b9ba917d5e8c4fb1ec47404a3fc76474b2713081be9db4c00e043ada9fc4a3]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000429bdb76d5fa741bfd70233cb3a66cc7d44beb3b0663d92a8136650478bcefb61ef182e155a54345a5e8e5e88f064e5bc9a525ab7f764dad3dae1468c2b419f3b62b9ba917d5e8c4fb1ec47404a3fc76474b2713081be9db4c00e043ada9fc4a3]\n[sha = SHA-384]\n\n# tcId = 387\n# pseudorandom signature\nmsg = \nresult = valid\nsig = 3064023032401249714e9091f05a5e109d5c1216fdc05e98614261aa0dbd9e9cd4415dee29238afbd3b103c1e40ee5c9144aee0f02304326756fb2c4fd726360dd6479b5849478c7a9d054a833a58c1631c33b63c3441336ddf2c7fe0ed129aae6d4ddfeb753\n\n# tcId = 388\n# pseudorandom signature\nmsg = 4d7367\nresult = valid\nsig = 3066023100d7143a836608b25599a7f28dec6635494c2992ad1e2bbeecb7ef601a9c01746e710ce0d9c48accb38a79ede5b9638f3402310080f9e165e8c61035bf8aa7b5533960e46dd0e211c904a064edb6de41f797c0eae4e327612ee3f816f4157272bb4fabc9\n\n# tcId = 389\n# pseudorandom signature\nmsg = 313233343030\nresult = valid\nsig = 30650230234503fcca578121986d96be07fbc8da5d894ed8588c6dbcdbe974b4b813b21c52d20a8928f2e2fdac14705b0705498c023100cd7b9b766b97b53d1a80fc0b760af16a11bf4a59c7c367c6c7275dfb6e18a88091eed3734bf5cf41b3dc6fecd6d3baaf\n\n# tcId = 390\n# pseudorandom signature\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 306502305cad9ae1565f2588f86d821c2cc1b4d0fdf874331326568f5b0e130e4e0c0ec497f8f5f564212bd2a26ecb782cf0a18d023100bf2e9d0980fbb00696673e7fbb03e1f854b9d7596b759a17bf6e6e67a95ea6c1664f82dc449ae5ea779abd99c78e6840\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04ffffffffaa63f1a239ac70197c6ebfcea5756dc012123f82c51fa874d66028be00e976a1080606737cc75c40bdfe4aacacbd85389088a62a6398384c22b52d492f23f46e4a27a4724ad55551da5c483438095a247cb0c3378f1f52c3425ff9f1]\n[key.wx = 00ffffffffaa63f1a239ac70197c6ebfcea5756dc012123f82c51fa874d66028be00e976a1080606737cc75c40bdfe4aac]\n[key.wy = 00acbd85389088a62a6398384c22b52d492f23f46e4a27a4724ad55551da5c483438095a247cb0c3378f1f52c3425ff9f1]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004ffffffffaa63f1a239ac70197c6ebfcea5756dc012123f82c51fa874d66028be00e976a1080606737cc75c40bdfe4aacacbd85389088a62a6398384c22b52d492f23f46e4a27a4724ad55551da5c483438095a247cb0c3378f1f52c3425ff9f1]\n[sha = SHA-384]\n\n# tcId = 391\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 3065023007648b6660d01ba2520a09d298adf3b1a02c32744bd2877208f5a4162f6c984373139d800a4cdc1ffea15bce4871a0ed02310099fd367012cb9e02cde2749455e0d495c52818f3c14f6e6aad105b0925e2a7290ac4a06d9fadf4b15b578556fe332a5f\n\n# tcId = 392\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 3065023100a049dcd96c72e4f36144a51bba30417b451a305dd01c9e30a5e04df94342617dc383f17727708e3277cd7246ca44074102303970e264d85b228bf9e9b9c4947c5dd041ea8b5bde30b93aa59fedf2c428d3e2540a54e0530688acccb83ac7b29b79a2\n\n# tcId = 393\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 30650230441800ea9377c27865be000ad008eb3d7502bdd105824b26d15cf3d06452969a9d0607a915a8fe989215fc4d61af6e05023100dce29faa5137f75ad77e03918c8ee6747cc7a39b0a69f8b915654cac4cf4bfd9c87cc46ae1631b5c6baebd4fc08ff8fd\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04d1827fc6f6f12f21992c5a409a0653b121d2ef02b2b0ab01a9161ce956280740b1e356b255701b0a6ddc9ec2ca8a9422c6ed5d2ced8d8ab7560fa5bb88c738e74541883d8a2b1c0e2ba7e36d030fc4d9bfb8b22f24db897ebac49dd400000000]\n[key.wx = 00d1827fc6f6f12f21992c5a409a0653b121d2ef02b2b0ab01a9161ce956280740b1e356b255701b0a6ddc9ec2ca8a9422]\n[key.wy = 00c6ed5d2ced8d8ab7560fa5bb88c738e74541883d8a2b1c0e2ba7e36d030fc4d9bfb8b22f24db897ebac49dd400000000]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004d1827fc6f6f12f21992c5a409a0653b121d2ef02b2b0ab01a9161ce956280740b1e356b255701b0a6ddc9ec2ca8a9422c6ed5d2ced8d8ab7560fa5bb88c738e74541883d8a2b1c0e2ba7e36d030fc4d9bfb8b22f24db897ebac49dd400000000]\n[sha = SHA-384]\n\n# tcId = 394\n# y-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 306402303244768016457c463b74f2097f216d9670b191f76281c74bc6a1a1971d19f209bf4696468f5eb75d6326a0a43c0a65290230501e0ad985ed9f95697bd17fdbe3f9ca92e0f76426d3664e6896648d9c750bf588d0ce7d011c1a1e8d6c2e082422dc93\n\n# tcId = 395\n# y-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 306402305e1af40f2480e3d97c4ae4bfd34a9f45269241356f3a46becd86a4a7c9716d73ca5aebdb3db1a7765650666683bc856b02307e7c4b473a2baaa4953785be8aa2a10006f6d36b400ab981864d69cecec046718d0404b9647454b159aa5a92d76d7955\n\n# tcId = 396\n# y-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 306502306688e36a26f15bdc1c3f91367f8a7667f7bb3e30a335d6f0900e9534eb88b260cb29344c723fedfbe7ac9c5a33f4bf0d023100aa35fddf0fdc9017860b378f801cd806f3e2d754cd2fd94eb7bb36a46ce828cef87e9ebbf447068e630b87fee385ad8f\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 041099bb45100f55f5a85cca3de2b3bd5e250f4f6fad6631a3156c2e52a33d7d615dd279f79f8b4baff7c713ac00000000e6c9b736a8929f2ed7be0c753a54cbb48b8469e0411eaf93a4a82459ba0b681bba8f5fb383b4906d4901a3303e2f1557]\n[key.wx = 1099bb45100f55f5a85cca3de2b3bd5e250f4f6fad6631a3156c2e52a33d7d615dd279f79f8b4baff7c713ac00000000]\n[key.wy = 00e6c9b736a8929f2ed7be0c753a54cbb48b8469e0411eaf93a4a82459ba0b681bba8f5fb383b4906d4901a3303e2f1557]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200041099bb45100f55f5a85cca3de2b3bd5e250f4f6fad6631a3156c2e52a33d7d615dd279f79f8b4baff7c713ac00000000e6c9b736a8929f2ed7be0c753a54cbb48b8469e0411eaf93a4a82459ba0b681bba8f5fb383b4906d4901a3303e2f1557]\n[sha = SHA-384]\n\n# tcId = 397\n# x-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 3065023100d4a8f3b0b4d3a5769e3a0bbc644b35f1d509355ed1fe401e170f667b661f693b32598e8c143a817a958982845042bb48023004cc07578bbd1981dbf6e8a97a354c98d41b8b6f6e8a2c2b1763c7c2a29d79e24f8476075c9aed9aec6c64dff50461ae\n\n# tcId = 398\n# x-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 3065023100c286d1928e9c79fdd3bebdf22a1dbd37c8105e8ecf41e9e3777fe341b6b8d5a89b9d986827d6d1dbb381cd8239484a220230201119ae305b9360aa9b5e5d1567e0674c09e4f025556ebf81b987466b0f421b8d31f72bbe95f3ce2aa9874a84edfd40\n\n# tcId = 399\n# x-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 3065023100d9c678550167f10c511e62acb4bd0a3f7f336bc090c94e6c6b02622439c348a2159c5f41f9b5aa4b470590d40dcd7cc202301fd5eaee295abb4081cb626745f4ad279ceb44604062830b58e6c0465c562d41f02ba588fc0db1ebbe339cdc008d7a1b\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04000000002b089edd754169010145f263f334fc167cc19dae8225970ae19cc8cb7ec73593d6a465c370f5478b0e539d69d1951d597b56a67345acb25809581f07cd0eb78d9538a3f8a65f300e68a1eb78507df76de650e8f8ee63a5f0c5687c98]\n[key.wx = 2b089edd754169010145f263f334fc167cc19dae8225970ae19cc8cb7ec73593d6a465c370f5478b0e539d69]\n[key.wy = 00d1951d597b56a67345acb25809581f07cd0eb78d9538a3f8a65f300e68a1eb78507df76de650e8f8ee63a5f0c5687c98]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004000000002b089edd754169010145f263f334fc167cc19dae8225970ae19cc8cb7ec73593d6a465c370f5478b0e539d69d1951d597b56a67345acb25809581f07cd0eb78d9538a3f8a65f300", + "e68a1eb78507df76de650e8f8ee63a5f0c5687c98]\n[sha = SHA-384]\n\n# tcId = 400\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 3065023020fee7c71b6cb0d1da3641ec6622c055a3b16a1f596c64b34da1b2d0b868b66a8f0a0d0db983b3dc7e53bb7295da81970231008141a931d3579aec1cac9887d2fff9c6f12d47a27e4aab8cf262a9d14a715bca0b2057cbc3f18b6fd3d1df76f7410f16\n\n# tcId = 401\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 3065023100913eecc559b3cf7108a65d6cc3076bfdf36c6f94dcc6693d06690470f34a2e81564241e1de5f5f51421de30af467f10f0230649bd3717244e8ef3c6b0eda983f84dca5ea86d1bec15386b9c473ec43a8cd0ba558eee819f791d9ff9272b9afd59551\n\n# tcId = 402\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 3064023023855c46403a97b76cbb316ec3fe7e2c422b818387604bda8c3d91121b4f20179d9107c5f92dedc8b620d7db87fccccd023050f57343ab148e50662320c4161e44543c35bc992011ea5b1680b94382cf224ea0ec5da511e102f566cb67201f30a2ee\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b33600000000208b3f5ad3b3937acc9d606cc5ececab4a701f75ed42957ea4d7858d33f5c26c6ae20a9cccda56996700d6b4]\n[key.wx = 00fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b336]\n[key.wy = 208b3f5ad3b3937acc9d606cc5ececab4a701f75ed42957ea4d7858d33f5c26c6ae20a9cccda56996700d6b4]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b33600000000208b3f5ad3b3937acc9d606cc5ececab4a701f75ed42957ea4d7858d33f5c26c6ae20a9cccda56996700d6b4]\n[sha = SHA-384]\n\n# tcId = 403\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 3066023100d200958d491fcebde667cd736c9dba0961c70db2ecaf573c31dd7fa41ecca32b40b5896f9a0ddf272110e3d21e84593a023100c2ecf73943b9adce596bac14fce62495ae93825c5ff6f61c247d1d8afcba52082fc96f63a26e55bccfc3779f88cfd799\n\n# tcId = 404\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 306402306ac17d71260c79f81a7566124738cb3ee5d0aa690e73a98ae9e766f1336691e500cad51ba1302366c09cc06b8f7049e0023032ca965d6d7012ec187c7cab9544334d66c2a7658ddefa67e4ad40429815518ecc87b1492ddd57333bd2300b4660a835\n\n# tcId = 405\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 3065023100e19a4646f0ed8a271fe86ba533f8be4fd81bbf4674716f668efa89a40cac51eec2a6cfbd92327d25efe91ca4ff712bc502304a86b2e8e12378e633dec2691e3b1eed4e932cc48b28e45fa3d464cc0e948c02cc9decf2bb43b25937fcf37e9ad86ef0\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b336ffffffffdf74c0a52c4c6c8533629f933a131354b58fe08a12bd6a815b287a71cc0a3d92951df5633325a96798ff294b]\n[key.wx = 00fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b336]\n[key.wy = 00ffffffffdf74c0a52c4c6c8533629f933a131354b58fe08a12bd6a815b287a71cc0a3d92951df5633325a96798ff294b]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b336ffffffffdf74c0a52c4c6c8533629f933a131354b58fe08a12bd6a815b287a71cc0a3d92951df5633325a96798ff294b]\n[sha = SHA-384]\n\n# tcId = 406\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 3064023015aac6c0f435cb662d110db5cf686caee53c64fe2d6d600a83ebe505a0e6fc62dc5705160477c47528c8c903fa865b5d02307f94ddc01a603f9bec5d10c9f2c89fb23b3ffab6b2b68d0f04336d499085e32d22bf3ab67a49a74c743f72473172b59f\n\n# tcId = 407\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 306602310090b95a7d194b73498fba5afc95c1aea9be073162a9edc57c4d12f459f0a1730baf2f87d7d6624aea7b931ec53370fe47023100cbc1ef470e666010604c609384b872db7fa7b8a5a9f20fdefd656be2fcc75db53948102f7ab203ea1860a6a32af246a1\n\n# tcId = 408\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 3066023100dd4391ce7557cbd005e3d5d727cd264399dcc3c6501e4547505b6d57b40bbf0a7fac794dcc8d4233159dd0aa40d4e0b9023100a77fa1374fd60aa91600912200fc83c6aa447f8171ecea72ae322df32dccd68951dc5caf6c50380e400e45bf5c0e626b\n\n", }; -static const size_t kLen72 = 186011; +static const size_t kLen105 = 179510; -static const char *kData72[] = { - "# Imported from Wycheproof's ecdsa_secp384r1_sha512_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: ECDSA\n# Generator version: 0.4.12\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 042da57dda1089276a543f9ffdac0bff0d976cad71eb7280e7d9bfd9fee4bdb2f20f47ff888274389772d98cc5752138aa4b6d054d69dcf3e25ec49df870715e34883b1836197d76f8ad962e78f6571bbc7407b0d6091f9e4d88f014274406174f]\n[key.wx = 2da57dda1089276a543f9ffdac0bff0d976cad71eb7280e7d9bfd9fee4bdb2f20f47ff888274389772d98cc5752138aa]\n[key.wy = 4b6d054d69dcf3e25ec49df870715e34883b1836197d76f8ad962e78f6571bbc7407b0d6091f9e4d88f014274406174f]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200042da57dda1089276a543f9ffdac0bff0d976cad71eb7280e7d9bfd9fee4bdb2f20f47ff888274389772d98cc5752138aa4b6d054d69dcf3e25ec49df870715e34883b1836197d76f8ad962e78f6571bbc7407b0d6091f9e4d88f014274406174f]\n[sha = SHA-512]\n\n# tcId = 1\n# signature malleability\nmsg = 313233343030\nresult = valid\nsig = 3065023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202307b0a10ee2dd0dd2fab75095af240d095e446faba7a50a19fbb197e4c4250926e30c5303a2c2d34250f17fcf5ab3181a6\n\n# tcId = 2\n# Legacy:ASN encoding of r misses leading 0\nmsg = 313233343030\nresult = acceptable\nsig = 30650230814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n# Some implementations of ECDSA and DSA incorrectly encode r and s by not\n# including leading zeros in the ASN encoding of integers when necessary. Hence,\n# some implementations (e.g. jdk) allow signatures with incorrect ASN encodings\n# assuming that the signature is otherwise valid.\n\n# tcId = 3\n# Legacy:ASN encoding of s misses leading 0\nmsg = 313233343030\nresult = acceptable\nsig = 3065023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2023084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n# Some implementations of ECDSA and DSA incorrectly encode r and s by not\n# including leading zeros in the ASN encoding of integers when necessary. Hence,\n# some implementations (e.g. jdk) allow signatures with incorrect ASN encodings\n# assuming that the signature is otherwise valid.\n\n# tcId = 4\n# valid\nmsg = 313233343030\nresult = valid\nsig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 5\n# long form encoding of length\nmsg = 313233343030\nresult = invalid\nsig = 308166023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 6\n# long form encoding of length\nmsg = 313233343030\nresult = invalid\nsig = 306702813100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 7\n# long form encoding of length\nmsg = 313233343030\nresult = invalid\nsig = 3067023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e20281310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 8\n# length contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 30820066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 9\n# length contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 30680282003100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 10\n# length contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 3068023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2028200310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 11\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 3067023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 12\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 3065023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 13\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 3066023200814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 14\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 3066023000814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 15\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202320084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 16\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202300084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 17\n# uint32 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 30850100000066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 18\n# uint32 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 306b0285010000003100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 19\n# uint32 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 306b023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2028501000000310084f5ef11d22f", - "22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 20\n# uint64 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 3089010000000000000066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 21\n# uint64 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 306f028901000000000000003100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 22\n# uint64 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 306f023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202890100000000000000310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 23\n# length = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30847fffffff023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 24\n# length = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 306a02847fffffff00814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 25\n# length = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 306a023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202847fffffff0084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 26\n# length = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3084ffffffff023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 27\n# length = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 306a0284ffffffff00814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 28\n# length = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 306a023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e20284ffffffff0084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 29\n# length = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3085ffffffffff023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 30\n# length = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 306b0285ffffffffff00814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 31\n# length = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 306b023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e20285ffffffffff0084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 32\n# length = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3088ffffffffffffffff023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 33\n# length = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 306e0288ffffffffffffffff00814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 34\n# length = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 306e023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e20288ffffffffffffffff0084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 35\n# incorrect length\nmsg = 313233343030\nresult = invalid\nsig = 30ff023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 36\n# incorrect length\nmsg = 313233343030\nresult = invalid\nsig = 306602ff00814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 37\n# incorrect length\nmsg = 313233343030\nresult = invalid\nsig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202ff0084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 38\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 3080023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 39\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 3066028000814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 40\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202800084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 41\n# removing sequence\nmsg = 313233343030\nresult = invalid\nsig = \n\n# tcId = 42\n# lonely sequence tag\nmsg = 313233343030\nresult = invalid\nsig = 30\n\n# tcId = 43\n# appending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 3068023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0000\n\n# tcId = 44\n# prepending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 30680000023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 45\n# appending unused 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0000\n\n# tcId = 46\n# appending null value to sequence\nmsg = 313233343030\nresult = invalid\nsig = 3068023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0500\n\n# tcId = 47\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 306b4981773066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 48\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 306a25003066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50d", - "bf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 49\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 30683066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0004deadbeef\n\n# tcId = 50\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 306b2236498177023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 51\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 306a22352500023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 52\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 306e2233023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e20004deadbeef02310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 53\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 306b023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2223649817702310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 54\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 306a023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e22235250002310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 55\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 306e023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2223302310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0004deadbeef\n\n# tcId = 56\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 306eaa00bb00cd003066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 57\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 306caa02aabb3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 58\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 306e2239aa00bb00cd00023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 59\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 306c2237aa02aabb023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 60\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 306e023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e22239aa00bb00cd0002310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 61\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 306c023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e22237aa02aabb02310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 62\n# truncated length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3081\n\n# tcId = 63\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 30803066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0000\n\n# tcId = 64\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 306a2280023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2000002310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 65\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 306a023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2228002310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0000\n\n# tcId = 66\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 30803166023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0000\n\n# tcId = 67\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 306a2280033100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2000002310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 68\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 306a023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2228003310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0000\n\n# tcId = 69\n# Replacing sequence with NULL\nmsg = 313233343030\nresult = invalid\nsig = 0500\n\n# tcId = 70\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 2e66023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 71\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 2f66023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 72\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3166023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 73\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3266023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 74\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = ff66023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 75\n# dropping value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3000\n\n# tcId = 76\n# using composition for sequence\nmsg = 313233343030\nresult = invalid\nsig = 306a30010230653100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 77\n# truncate sequence\nmsg = 313233343030\nresult = invalid\nsig = 3065023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7\n\n# tcId = ", - "78\n# truncate sequence\nmsg = 313233343030\nresult = invalid\nsig = 30653100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 79\n# indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 3080023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0000\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 80\n# indefinite length with truncated delimiter\nmsg = 313233343030\nresult = invalid\nsig = 3080023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd00\n\n# tcId = 81\n# indefinite length with additional element\nmsg = 313233343030\nresult = invalid\nsig = 3080023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd05000000\n\n# tcId = 82\n# indefinite length with truncated element\nmsg = 313233343030\nresult = invalid\nsig = 3080023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd060811220000\n\n# tcId = 83\n# indefinite length with garbage\nmsg = 313233343030\nresult = invalid\nsig = 3080023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0000fe02beef\n\n# tcId = 84\n# indefinite length with nonempty EOC\nmsg = 313233343030\nresult = invalid\nsig = 3080023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0002beef\n\n# tcId = 85\n# prepend empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 30683000023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 86\n# append empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 3068023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd3000\n\n# tcId = 87\n# sequence of sequence\nmsg = 313233343030\nresult = invalid\nsig = 30683066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 88\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 3033023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2\n\n# tcId = 89\n# repeat element in sequence\nmsg = 313233343030\nresult = invalid\nsig = 308199023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd02310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 90\n# removing integer\nmsg = 313233343030\nresult = invalid\nsig = 303302310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 91\n# lonely integer tag\nmsg = 313233343030\nresult = invalid\nsig = 30340202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 92\n# lonely integer tag\nmsg = 313233343030\nresult = invalid\nsig = 3034023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202\n\n# tcId = 93\n# appending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 3068023300814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2000002310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 94\n# appending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 3068023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202330084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0000\n\n# tcId = 95\n# prepending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 30680233000000814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 96\n# prepending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 3068023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2023300000084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 97\n# appending unused 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 3068023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2000002310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 98\n# appending null value to integer\nmsg = 313233343030\nresult = invalid\nsig = 3068023300814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2050002310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 99\n# appending null value to integer\nmsg = 313233343030\nresult = invalid\nsig = 3068023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202330084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0500\n\n# tcId = 100\n# truncated length of integer\nmsg = 313233343030\nresult = invalid\nsig = 3035028102310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 101\n# truncated length of integer\nmsg = 313233343030\nresult = invalid\nsig = 3035023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e20281\n\n# tcId = 102\n# Replacing integer with NULL\nmsg = 313233343030\nresult = invalid\nsig = 3035050002310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 103\n# Replacing integer with NULL\nmsg = 313233343030\nresult = invalid\nsig = 3035023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e20500\n\n# tcId = 104\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3066003100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 105\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3066013100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd78", - "1c837355ddd41c752193a7cd\n\n# tcId = 106\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3066033100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 107\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3066043100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 108\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3066ff3100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 109\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e200310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 110\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e201310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 111\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e203310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 112\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e204310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 113\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2ff310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 114\n# dropping value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3035020002310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 115\n# dropping value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3035023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e20200\n\n# tcId = 116\n# using composition for integer\nmsg = 313233343030\nresult = invalid\nsig = 306a22350201000230814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 117\n# using composition for integer\nmsg = 313233343030\nresult = invalid\nsig = 306a023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e22235020100023084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 118\n# modify first byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 3066023102814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 119\n# modify first byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310284f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 120\n# modify last byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a156202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 121\n# modify last byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a74d\n\n# tcId = 122\n# truncate integer\nmsg = 313233343030\nresult = invalid\nsig = 3065023000814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a1502310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 123\n# truncate integer\nmsg = 313233343030\nresult = invalid\nsig = 30650230814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 124\n# truncate integer\nmsg = 313233343030\nresult = invalid\nsig = 3065023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202300084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7\n\n# tcId = 125\n# truncate integer\nmsg = 313233343030\nresult = invalid\nsig = 3065023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2023084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 126\n# leading ff in integer\nmsg = 313233343030\nresult = invalid\nsig = 30670232ff00814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 127\n# leading ff in integer\nmsg = 313233343030\nresult = invalid\nsig = 3067023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e20232ff0084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 128\n# infinity\nmsg = 313233343030\nresult = invalid\nsig = 303609018002310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 129\n# infinity\nmsg = 313233343030\nresult = invalid\nsig = 3036023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2090180\n\n# tcId = 130\n# replacing integer with zero\nmsg = 313233343030\nresult = invalid\nsig = 303602010002310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 131\n# replacing integer with zero\nmsg = 313233343030\nresult = invalid\nsig = 3036023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2020100\n\n# tcId = 132\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3066023101814cc9a70febda342d4ada87fc39426f403d5e8980842845d38217e2bcceedb5caa7aef8bc35edeec4beb155610f3f5502310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 133\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30650230814cc9a70febda342d4ada87fc39426f403d5e898084284644bb7cded46091f71a7393942ad49ef8eae67e7fc784ec6f02310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 134\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30660231ff7eb33658f01425cbd2b5257803c6bd90bfc2a1767f7bd7b9f3e1359f376840298d725eb98c7ab98c282d68156bb5ea1e02310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 135\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3065", - "02307eb33658f01425cbd2b5257803c6bd90bfc2a1767f7bd7b9bb4483212b9f6e08e58c6c6bd52b610715198180387b139102310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 136\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30660231fe7eb33658f01425cbd2b5257803c6bd90bfc2a1767f7bd7ba2c7de81d4331124a3558510743ca12113b414eaa9ef0c0ab02310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 137\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3066023101814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 138\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 306502307eb33658f01425cbd2b5257803c6bd90bfc2a1767f7bd7b9f3e1359f376840298d725eb98c7ab98c282d68156bb5ea1e02310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 139\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310184f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e5fd3ad1cb7a61dc9507f6eeb2a65341ad0cac035dfee58d140\n\n# tcId = 140\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3065023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2023084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e6044e681b3bdaf6d91cf3acfc5d3d2cbdaf0e8030a54ce7e5a\n\n# tcId = 141\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e20231ff7b0a10ee2dd0dd2fab75095af240d095e446faba7a50a19ff3b630ca4e19648ed8ab2287e37c8caa222be38ade6c5833\n\n# tcId = 142\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e20231fe7b0a10ee2dd0dd2fab75095af240d095e446faba7a50a1a02c52e34859e236af809114d59acbe52f353fca2011a72ec0\n\n# tcId = 143\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310184f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 144\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3065023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202307b0a10ee2dd0dd2fab75095af240d095e446faba7a50a19ff3b630ca4e19648ed8ab2287e37c8caa222be38ade6c5833\n\n# tcId = 145\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020100020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 146\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020100020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 147\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201000201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 148\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036020100023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 149\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036020100023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 150\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036020100023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 151\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036020100023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 152\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036020100023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 153\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3008020100090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 154\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020101020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 155\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020101020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 156\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201010201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 157\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036020101023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 158\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036020101023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 159\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036020101023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 160\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036020101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff\n# Edge case values such as ", - "r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 161\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036020101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 162\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3008020101090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 163\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 164\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 165\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff0201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 166\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30360201ff023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 167\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30360201ff023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 168\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30360201ff023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 169\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30360201ff023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 170\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30360201ff023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 171\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30080201ff090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 172\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 173\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 174\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc529730201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 175\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 176\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 177\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 178\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 179\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 180\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3038023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 181\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 182\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 183\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634", - "d81f4372ddf581a0db248b0a77aecec196accc529720201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 184\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 185\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 186\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 187\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 188\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 189\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3038023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 190\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 191\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 192\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc529740201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 193\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 194\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 195\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 196\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 197\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 198\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3038023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 199\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 200\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 201\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff0201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 202\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 203\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100f", - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 204\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 205\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 206\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 207\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3038023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 208\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 209\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 210\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000001000000000201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 211\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 212\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 213\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 214\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 215\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 216\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3038023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 217\n# Edge case for Shamir multiplication\nmsg = 3637323636\nresult = valid\nsig = 3066023100ac042e13ab83394692019170707bc21dd3d7b8d233d11b651757085bdd5767eabbb85322984f14437335de0cdf5656840231008f8a277dde5282671af958e3315e795a20e2885157b77663a67a77ef2379020c5d12be6c732fd725402cb9ee8c345284\n\n# tcId = 218\n# special case hash\nmsg = 33393439313934313732\nresult = valid\nsig = 3065023100d51c53fa3e201c440a4e33ea0bbc1d3f3fe18b0cc2a4d6812dd217a9b426e54eb4024113b354441272174549c979857c02300992c5442dc6d5d6095a45720f5c5344acb78bc18817ef32c1334e6eba7726246577d4257942bdefe994c1575ed15a6e\n\n# tcId = 219\n# special case hash\nmsg = 35333637363431383737\nresult = valid\nsig = 3065023100c8d44c8b70abed9e6ae6bbb9f4b72ed6e8b50a52a8e6e1bd3447c0828dad26fc6f395ba09069b307f040d1e86a42c022023001e0af500505bb88b3a2b0f132acb4da64adddc0598318cb7612b5812d29c2d0dde1413d0ce40044b44590e91b97bacd\n\n# tcId = 220\n# special case hash\nmsg = 35363731343831303935\nresult = valid\nsig = 3065023100d3513bd06496d8576e01e8c4b284587acafd239acfd739a19a5899f0a00d269f990659a671b2e0e25f935b3a28a1f5fd0230366b35315ce114bffbb75a969543646ee253f046a8630fbbb121ecc5d62df4a7eb09d2878805d5dab9c9b3880b747b68\n\n# tcId = 221\n# special case hash\nmsg = 3131323037313732393039\nresult = valid\nsig = 3065023100b08c4018556ca8833b524504e30c58346e1c0345b678fdf91891c464a33180ed85a99bc8911acf4f22aceb40440afc9402304a595f7eed2db9f6bd3e90355d5c0e96486dc64242319e41fc07be00a732354b62ec9c34319720b9ffb24c994b1cf875\n\n# tcId = 222\n# special case hash\nmsg = 3131323938303334323336\nresult = valid\nsig = 306502302b08f784617fd0707a83d3c2615efa0c45f28d7d928fc45cd8a886e116b45f4686aee97474d091012e27057b6ba8f7e6023100c440aa6ecb63e0d43c639b37e5810a96def7eec8e90a4c55e5b57971c48dfb4e850232fbb37bd32bb3b0523b815ff985\n\n# tcId = 223\n# special case hash\nmsg = 39383736303239363833\nresult = valid\nsig = 306402300609f4ec120c8838bda916f668e9600af7652e1d3f7182734f97f54da5d106bbfd216c32f227b76d583de1c53949b2ee023046926dffc766ff90c3b921b3e51a2982a1072314c1fdfb4175de7adea5a6f97bdff587a473504a9c402aac7c05bd4785\n\n# tcId = 224\n# special case hash\nmsg = 3230323034323936353139\nresult = valid\nsig = 306502305ae2220e4716e1ef0382afcc39db339e5bd5f05e8a188d4a5daaab71c6c35263ee8820a34558092877449ebb15898c5c023100c4d38e2e85451c43ee35b0c56196cbf3059acf2b8b529f06dc1de9b281d9b0f3f3983df8936e944ab0b18330a342ee88\n\n# tcId = 225\n# special case hash\nmsg = 31343531363639313830\nresult = valid\nsig = 30", - "65023051fb84ed71d436c737ab24e2a45c68f8f623748be2caebd89e02bfc89309b8350042ab1b97849b9f680f044a58765175023100d4a8f60791657a8c12985fd896ac77e7d95cb050582f2466471dc2c6dcf90db05ce34beadbfcfe690dc56c0cc9944007\n\n# tcId = 226\n# special case hash\nmsg = 31303933363835393531\nresult = valid\nsig = 3065023040159290d161df6b3f81a92cefb6df56149d588e7b886bf24939f5c8b6bb515d325b3764f0ed284a77fa9081ccfa5237023100bd55dfb47709287ce7b88dfd96ac7543eeba9bd31b8c91f203d2b90418122406399c80a53539b81f1cb60fa3b23a2563\n\n# tcId = 227\n# special case hash\nmsg = 36323139353630323031\nresult = valid\nsig = 3066023100d7fb9f53865cdf9d4cad6f66981aea35a1454858ceb678d7b851c12a4c6644fe1915a4b219b51389a5ae2c98a433cc3a02310094ad75c3dea88740205cab41032dfe149341cf4ee94dcd2f0c8bbe5af5860b30b5e1f764b2c767b09fd10761050c989c\n\n# tcId = 228\n# special case hash\nmsg = 35363832343734333033\nresult = valid\nsig = 30650230157ef8f85cdb9257983d06a7f29674752659097364b401e701705b3bd9ead884fd32141320ae76ae05f6fc7ec155d6c2023100ccadc3851020e41dd91bc28a6c073409136a47f20b8dbf2553fd456a8ed5fa7e73e4ec59dca499e0d082efbb9ad34dc7\n\n# tcId = 229\n# special case hash\nmsg = 33373336353331373836\nresult = valid\nsig = 3066023100e763001769c76f6a6d06fad37b584d7f25832501491bec283b3b6836f947dc4e2cef021c6c6e525b0a6a3890d1da122a023100acbd88729cce3992d14ec99e69ff0712b82a33a1c1e8b90e1399c66fe196f7c99bdb3ff81db77dc25ae6f0c1a025117d\n\n# tcId = 230\n# special case hash\nmsg = 34373935393033373932\nresult = valid\nsig = 3066023100c6425b6b046ec91ebc32b9e6de750e5d3d36d4ddc6dffd25ba47817385a9466f6fc52259c7d02c66af5bf12045b5659d02310084cdc06e35fecc85a3e00b16488eac3584942f663d8b59df111c0650139d7cda20d68dccae569d433170d832147bc94c\n\n# tcId = 231\n# special case hash\nmsg = 39333939363131303037\nresult = valid\nsig = 306502303061f090e4932133a0e08ac984d1c8d8d4f565e21cf15427671503880341265cd44f35a437ee3c3a8857579dd7af0c3502310093ae374a0f63dcbe41a1b7b07a50faf2b33f35e0b6600bb36aa5cda05238640fa35c635c0fa78e1410f3a879bbb8a541\n\n# tcId = 232\n# special case hash\nmsg = 31303837343931313835\nresult = valid\nsig = 306502300ccc627f35454cc84e08a828f5bd5f5e41eeeaa40475bcc2e71ff372e8c718a5e179d3b7f2d7051db9060c4c978eb638023100b12d0240afbdfc64c60861548c33663b8960316a55f860cc33d1908e89aa6fc9519f23a900e0488fa6a37cfb37856565\n\n# tcId = 233\n# special case hash\nmsg = 33323336363738353030\nresult = valid\nsig = 3065023100e72419fb67ebbcc0de9c46ce5475c608f9de7e83fc5e582920b8e9848000d820d393fdac6c96ea35ce941cb14951640002306aa19934ef60f4a247bc261ba256283a94857a268f42a0939c95a536fbd4f8e1f1c285a7b164c12213abb9e3393cbe9f\n\n# tcId = 234\n# special case hash\nmsg = 31343438393937373033\nresult = valid\nsig = 30660231008b740931f9afa8a04c08cde896b7fdd9aca3177d5e4a3e5a51e54bfa824b66ab11df4e90f49798d644babfede7830224023100afd91e7ce15059a5b5499e5aef4afa91fd090e4e5029b3f4348f0d4349df11745869f9255117eea405a78af5dd6a646d\n\n# tcId = 235\n# special case hash\nmsg = 35373134363332383037\nresult = valid\nsig = 3066023100989024bce204a7539fbd2b185ecf375590d873177c1ff26bbf755838ae5bcde180054663702ac3a4e68fe8b58fd88c70023100bdbedf64e424dbd7f979f83adef3fc85077fa76f8b1724815b5b8c24fde7fbd72f4b369a415d9bbf565cdc459bdce54c\n\n# tcId = 236\n# special case hash\nmsg = 323236343837343932\nresult = valid\nsig = 3064023022624fc23403955c0c9f5b89871177fa53879c8424de3b4ab1bcbcddc6e57b870b0491b848e19f728722b3163f4aa32802305bb82642cdaa84d6977fb95b3ede4ec7f2d54881cf435636d3509816f13ebb7be24fd7d4e1e81fddf07bde685e8d630d\n\n# tcId = 237\n# special case hash\nmsg = 35333533343439343739\nresult = valid\nsig = 3065023100da5a2daa7437df4566ebba6ac5ed424655633e354ef4d943dc95ddefb0dae69f3616e506cc8cb5bc433a82ba71f6feb402305107b24041bba45073ce54488a5aef861e7805bbb8f970aedc1c59149cfe72c7025e2d117337e8677c88ef43374e6907\n\n# tcId = 238\n# special case hash\nmsg = 34373837333033383830\nresult = valid\nsig = 306402302b0659fb7fa5fc1fce767418c20978de9a6a59941fc54f8380619b2ab2a7d6039de5373fbb503c24f2ce38e9c57995de02300d94dba98dd874bfffeac96a9295b6ab667708b8e33252edc029574c484a132135b13e52db6f877987c1be4f51fca193\n\n# tcId = 239\n# special case hash\nmsg = 32323332313935383233\nresult = valid\nsig = 306402304a5a14f1ecf053bf3ec14843db8c7dd153e9545d20d76345a9e1d1a8fcb49558ca1ee5a9402311c2eaa102e646e57c2c02301573b8b4b633496da320e99a85c6f57b7ee543548180a77f7fced2d0665911cb4cde9de21bc1a981b97742c9040a6369\n\n# tcId = 240\n# special case hash\nmsg = 3130373339333931393137\nresult = valid\nsig = 30650230104e66e6e26c36633c0af001f0d9a216236816923ec93b70bea0a8ff053a15aaaef5fe3483e5cc73564e60fe8364ce0e023100ec2df9100e34875a5dc436da824916487b38e7aeb02944860e257fd982b01782b3bd6b13b376e8a6dbd783dfa0d77169\n\n# tcId = 241\n# special case hash\nmsg = 31383831303237333135\nresult = valid\nsig = 306402304b06795da82bda354e8d9422a76c7bc064027fcdd68f95b7bc6177a85b2d822c84dc31cb91fc016afa48816a3a019267023018e31018e312d3dd3dd49ec355fdb0def3bb3e44393c26cf1bc110b23a3aacf6c442bfcec5535ce37527d0e068f75c03\n\n# tcId = 242\n# special case hash\nmsg = 36303631363933393037\nresult = valid\nsig = 3066023100ad75ca5a3df34e5a6d3ea4c9df534e8910cfb1d8c605fc398fbee4c05f2b715bd2146221920de8bac86c2b210221bcff023100a322d3df3bb2cf9e4215adf1ff459e70f2f86bec6dd6af5d04ae307d21ed5955136c8e258fdc0f9cbd6cf89c31aa691f\n\n# tcId = 243\n# special case hash\nmsg = 38383935323237303934\nresult = valid\nsig = 3065023100b0fa6289cc61bab335932ea1ac6540462653cc747ef67827825f77689a4398602297835d08aa16e23a76dea9f75404ef0230278d654a0b50c57d13f9c9c8c7c694001167f8e3b71491772a7427f1410fb6de518740c22e455e58de48846479b300cc\n\n# tcId = 244\n# special case hash\nmsg = 31353830323334303934\nresult = valid\nsig = 3065023100c216cb4fe97facb7cd66f02cd751155b94fa2f35f8a62ba565aca575728af533540ff5d769b7c15c1345ab6414e150680230278a8a372b75d6eb17a4f7c7f62d5555c7357a1a047026bead52185cbcc01d73b80a1577e86220b2278da2b1ee8c983a\n\n# tcId = 245\n# special case hash\nmsg = 33393635393931353132\nresult = valid\nsig = 30660231009591c80453cffbcd0b8d6d20fce0cbb2a458e54aed7ba1c767e6c017af4c4aa07a76859c0b249f6692a3c9ace893f14e023100893b567cd2959cd60557d3d6013d6e1741421a6edc5bc18244b3e8d7744e57928ce006a3fbd6e6324cb8ea3e5177e7e3\n\n# tcId = 246\n# special case hash\nmsg = 32323838373332313938\nresult = valid\nsig = 30650230350b5515ba9785f149e2a566c14f4178757bb325179888f526f7db11161aedcd752551381316c2713f5de21d3d517af002310097d48a90c3bb3444736bec69db0649f82428b39238ada6048a0bead84f2f3b73816b48fed4d57b5f87a194ce4004ed7b\n\n# tcId = 247\n# special case hash\nmsg = 32323330383837333139\nresult = valid\nsig = 3066023100833210c45d2448d9a4d69622d6f2193e64c65c79d45d62e28f517ca5c68eef05a2e98b1faed4cc87cbdbec6fe6bb8987023100b777b44cd30e6a049dc56af19a251d955c1bbab0c307fe12e9e5382fd48c173db0292f0b1047da28ee18518e11688eea\n\n# tcId = 248\n# special case hash\nmsg = 313239303536393337\nresult = valid\nsig = 306402307728ef10d9d5f3f32132716e6b403926929b05201700658d4b7f25a0692f153b8d666fd0da39888ab6234212659268d0023055df9466ee2c98225a2b0c4ff77622f9d11b4e48aa7f9279cdc2e245fdd9b9f4282106e25a458ff618bc3ca9422bea25\n\n# tcId = 249\n# special case hash\nmsg = 32373438363536343338\nresult = valid\nsig = 30640230552040701dba17be3b4d5d6e136ce412b6a4c50ce1ee53415d8100c69a8ee4726652648f50e695f8bb552d0df3e8d1c402301374972b2f35b2fd86d45ed0c9358b394e271575e429ac8aa60eb94b9df7e755d9317fb259269e9d3b1db8d48d91dc7e\n\n# tcId = 250\n# special case hash\nmsg = 37353833353032363034\nresult = valid\nsig = 3065023100fe6ef07056ce647128584bec156b68b8005f42d8c85dfb122134c488cc0e72cf8f06700417d7ff694b45e894ec23cbbd02307f5e33c5bfa697c144d440b32d06221f630a9ccaa8e9a0489490c04b86e8daae0e41d2466429b4b3cc1d37348e36cc0b\n\n# tcId = 251\n# special case hash\nmsg = 32333237373534323739\nresult = valid\nsig = 3065023100e009fc1a13d282bd37f10693350a5b421a0039713d29cb9e816e013c173bd1ec2bd6eb6bd88429023ee3d75d9a5ec06f02300b8bd481982a6e52355bcde5fe0092abac41f0543c31d1928b9a585e63e9520e24a65f46db2696e1b85a65c4e5240879\n\n# tcId = 252\n# special case hash\nmsg = 373735353038353834\nresult = valid\nsig = 3065023100acee00dfdfcee7343aeffa8514b11020c5435027887529d255bdbd45a90f160c68f05bd4b567daa8fa14e5807f5167a402301c9fdf546190970aa33121a3043280669be694e5f700b52a805aa6101b4c58f0467e7b699641d1d03f6229b2faf4253f\n\n# tcId = 253\n# special case hash\nmsg = 3137393832363438333832\nresult = valid\nsig = 30650231008a4ee1e3bb251982475877d18763fafcf49ccc8b0fec1da63b0edccbb8d3e38608a2e02d0d951031179e12ac89", - "9d30c3023073cb62ad7632cd42dff829abfbfcb6165207e3708ed10043c0cdee951c7f8012432696e9cf732dcbadb504630648419f\n\n# tcId = 254\n# special case hash\nmsg = 32333936373737333635\nresult = valid\nsig = 306402303903b59f837ff5f41f42cbe3e2fc8e17d859cbb35386c4327d3947fb012b3629fea911c83cefdbd503aebbcc1114afd102300e5be9094b5a22ade00c24644f476baad0f7741dfb2ce9644a1c45769404f8dccc522017c2b8cc630f1a0ef5fee99fe8\n\n# tcId = 255\n# special case hash\nmsg = 35393938313035383031\nresult = valid\nsig = 306502307717ffc8d0811f357299423c56ec181c58f1981f5c1dd4f346f6a2ad71d3582e203a11e8609c1146ff3247a1820f832c02310096c89ec707da3cd8b09084b065e3265327a536a974c4285155388011e348f2e7f005ae7e3e502732fc2971ac13fd72c0\n\n# tcId = 256\n# special case hash\nmsg = 3136363737383237303537\nresult = valid\nsig = 3065023100a21519ce3533c80826f1e47fa9afde7096151144291134421990285a8d89a8c2d4afdadd547a923dcc17bfcdd0e9ffb9023040577245dd2e022c8ed8b5de7b8c26f31307429a7a64e5729311cc4128e3b486867e61b4a8a1cd0731792eb1466d08f3\n\n# tcId = 257\n# special case hash\nmsg = 323036323134333632\nresult = valid\nsig = 3065023100a727addad0b2acd2942cb1e3f7b2917ca65453275198b06436a993bfc982d3f54620c395e253d57b8fe026efcf7252f902307a19811aa4c12c45c3c041e7c614d0d98051ca7a0c57a9a107d552793ba1d0debb373525aafcc13ae1acd50a42a89adf\n\n# tcId = 258\n# special case hash\nmsg = 36383432343936303435\nresult = valid\nsig = 3065023022287277872d175d8a3ff5be9818658f845eb9c1b2edc093ae82a75aa31cc26fe1771b4bfbd4c320251388d7279b5245023100b47d1833867e889fcfd7ac171855293a50aa6db24c6522e374fe87be12bf49b13c8b5e1455a2f25aa7912f799eebe552\n\n# tcId = 259\n# special case hash\nmsg = 33323639383937333231\nresult = valid\nsig = 3065023100a0f41362009b8e7e7545d0f7c4127e22d82ac1921eb61bf51e9ea711e41557a84f7bb6ace499a3bc9ebca8e83728787b02301f6e0c15a3e402370885e2aceb712280ebc45b63986357765b7e54b06cd00db8308e4715c39d48d246030bf960e6a2ff\n\n# tcId = 260\n# special case hash\nmsg = 31333837333234363932\nresult = valid\nsig = 306502304144e1c6ad29ad88aa5472d6d1a8d1f15de315f5b281f87cc392d66d7042547e6af7c733b31828f89c8a5dafce5bb9af023100f5d0d81f92428df2977757c88ba67f9e03abd4c15b1e87fa1dd49e601a9dd479e7c3dc03a8bfea60fcfc1c543931a7de\n\n# tcId = 261\n# special case hash\nmsg = 34313138383837353336\nresult = valid\nsig = 306402305f177fc05542be6e09027b7eac5eb34f34fc10ad1429e4daaea75834de48dd22626f2bf653dfcc46234921d19b97406b02307def6c993a87560425f2c911046357c4b1c4c376bfa22bb45d533654fea6f565ba722147b2269ea7652f9c4af62ed118\n\n# tcId = 262\n# special case hash\nmsg = 393838363036353435\nresult = valid\nsig = 3066023100bd77a8ff0cd798d8f6e75dfbbb16c3ee5bf3f626dcb5abdfd453b301cb4fd4caee8e84dd650a8b4cf6655dea163788c7023100ef8f42394469eb8cd7b2ac6942cdb5e70dd54980ad8c0c483099573d75b936880459c9d14f9e73645865a4f24ee2c4ce\n\n# tcId = 263\n# special case hash\nmsg = 32343739313135383435\nresult = valid\nsig = 3066023100a02e2196258436da6a35a2f73cf6b08880f27757566ce80c7fc45f5dcbaec62d3fcebb784b4a650e24c1a997e4b971f7023100f1195d2ba3321b6938e04169d7baf605001b6311f08a5e82157a7675d54993f2fd1e41f8c84fc437a1a139d2e73e8d46\n\n# tcId = 264\n# special case hash\nmsg = 35303736383837333637\nresult = valid\nsig = 30640230686c5dfe858629125fdee522b77a9b9be5e03a347d79cb4c407f17fd25c97293cd99711f33e77814bd30d2453d3a86c10230509ac9b18c1b2b5a2b1b889d994b950743a988c2fcfb683e89211a43da6ee362c2e414d84fe82db1904b81701c257822\n\n# tcId = 265\n# special case hash\nmsg = 393838353036393637\nresult = valid\nsig = 306502310083ce818ecd276432a8ddfe75406d01329e76d7586cd6f611c1fe1a0913ad80014c2156381942d58dd6356e44ccdc52a8023036a35983b97a9ae2a19cf05ba947dd880c973d5c78f9676ebbcb0b40d639124030c137236232f1fad15afd71c52ad8ec\n\n# tcId = 266\n# special case hash\nmsg = 32373231333036313331\nresult = valid\nsig = 306502307cb78ebb712b5a2e0b0573d28440a5da36bd2338805d90ef3b0c1178ae613be8ae8bf548af4e7403e5a5410462afc2e30231008631a82cbdb8c2c7df70f012405f06ad0ab20d6c4fbceb3e736f40fdff1a8e5f6e667a0e77259f277494de84ec0de50d\n\n# tcId = 267\n# special case hash\nmsg = 33323034313031363535\nresult = valid\nsig = 306602310085110fe21156b7764b91bcb6cf44da3eb21d162395071c216a13b5920d67a31aaa20dfc4669cf32c04964d0831bcdc29023100e19187033d8b4e1edf7ab8eaaae1e13c80c0c4db51d921ccf62f424524cbd530d07de2cf902a0ecda5e01206ae61e240\n\n# tcId = 268\n# special case hash\nmsg = 33313530363830393530\nresult = valid\nsig = 306402300fd621a892ee5a3eb0bcb80f3184714a6635f568d92f41ad8d523887d5b82d2b930eb5ff2922fda1a3d299f5a045837f02301278725a607fa6f2fc7549b0de816fe2f88e3a1ec1ccaf9fb58e70a0f6646c2d7aad6e4f73d116e73096bdef231d0c89\n\n# tcId = 269\n# special case hash\nmsg = 31373237343630313033\nresult = valid\nsig = 3066023100802cbe405d3ce9663b0b13c639aa27730b3377ce42521098ae09096b7fc5e7ac998b6994344e89abfb50c05476f9cae80231009aa7258c0dc4eff4b2d583575368301e2a7865cfaa3753055a79c8b8e91e94496a5d539181c2fd77941df50fe87453cd\n\n# tcId = 270\n# special case hash\nmsg = 3134353731343631323235\nresult = valid\nsig = 3066023100859b0446949d7f78a0301ac4cc02b599a758fd1be006bf1a12570015869e59b9a429ce1c77a750969f49e291f6ab899402310099a812a1acc2c646814315cf9b6290d2232236cdf131f9590088e75a55786cdfc9d9027ec70056408ab55445fd79fe60\n\n# tcId = 271\n# special case hash\nmsg = 34313739353136303930\nresult = valid\nsig = 3065023100dbcc7ee9fa620e943193deae3f46b3142779caa2bce2df79a20639c8d01bce414a61f72764c1ec949c945320f5ee2a1d02301d9879787b880bd05db39bac07bfe3e7d0792932144e211e81f21da9621b83bff11bc52bcc7cb40cf5093f9bad8650fb\n\n# tcId = 272\n# special case hash\nmsg = 35383932373133303534\nresult = valid\nsig = 306402307a1f9fbd0f6e776c3e3a3c798f5c0d9e20f0e2f3f4d22e5893dd09e5af69a46abc2f888d3c76834462008069275dfeb9023045e6d62a74d3eb81f0a3a62902b8949132821b45d8e6cad9bb3d8660451727cdf7b332a9ac7bb04604991312143f8a6a\n\n# tcId = 273\n# special case hash\nmsg = 33383936313832323937\nresult = valid\nsig = 30640230047962e09e1b61823d23726bf72b4dde380e032b534e3273db157fa60908159ab7ee4cadce14fd06ebe8e08e8d8d5a0702301892f65ee09e34ce45dd44b5a172b200ce66b678b0e200c17e424e319f414f8dfbb2769a0259c9cc105191aa924e48d5\n\n# tcId = 274\n# special case hash\nmsg = 38323833333436373332\nresult = valid\nsig = 30660231008f02799390ab861452cd4949942cbbcc25cad7c4334c4bc6146fbef8ad96c86f923fbf376d9ab79073e5fcb663f1ea91023100ce15d9862d100ff95ad7368922eec3f6d7060ce412c01ff13870aa61626ee49edf39bb27005ecbe406bb6825f74c0438\n\n# tcId = 275\n# special case hash\nmsg = 33333636393734383931\nresult = valid\nsig = 306502301879c4d6cf7c5425515547575049be2a40c624a928cf281250f8bdcbf47e9f95310d0992c9887dc6318b3197114f358e023100e1116bf68320bade7d07a1a9651512d60b551af8625b98b5eb8ca222d4073ae5c140a80e5dbe59f073647daa00837aee\n\n# tcId = 276\n# special case hash\nmsg = 32313939313533323239\nresult = valid\nsig = 3064023031dced9a6767f39045472749baec1644ae7d93a810a4b60eb213c02c42de65152ffc669af96089554570801a704e2a2d02303022ecfbc88a72b9c50ef65344765b615738f2b3d420ade68cbf3ec40bef0e10c5cc43bcfe003bb6f17ec23802c40569\n\n# tcId = 277\n# special case hash\nmsg = 35363030333136383232\nresult = valid\nsig = 3066023100f4bdf786c61c5f1ce7568638ba9dbc9a134e27fc142003bf9870353980a8f4c2fbd03c8d0171e4048ef30db6fe15388a023100d0e96768bc6adc91f93ae5704e86888853f479f32a45bfd436dc8a030603d233c56880124b7971362aa11b71315ae304\n\n# tcId = 278\n# special case hash\nmsg = 383639363531363935\nresult = valid\nsig = 3065023100ec0f635b7ce31988a07f41b3df35ca03c70e376bfb3b6ab24831a83be2121b9f9e93928b10a8f5fc0322bdb9edd406fe023066618ccb473c6dac3b14cfab6dfb24d219b37aec63425067c2c1c631d64a80b9cab6445f5a5439adb28bb99daa9234a5\n\n# tcId = 279\n# special case hash\nmsg = 36353833393236333732\nresult = valid\nsig = 306402304f2bea24f7de57901e365d4c332ddb62d294d0c5fd58342a43bdd3ba5cbaf25adaddb5944bfef9dcc88f94d93650bbbb02300851b97ddc433e4521c600904970e2bf55aa901e1aaaaf06818377f84a28e033a49eebc21ffe9cff3cbefd0963fbed00\n\n# tcId = 280\n# special case hash\nmsg = 3133323035303135373235\nresult = valid\nsig = 3064023072a9bab30f8da1437f17115cc37b6ef8cf6591ed934d596675ad7b000c6a74cca5f37210a68228a58023790e3726c357023012d697c4e20b18f63a3e0164dca8ca4a5fa0058ad7cd1c571cef356e85fd8f56ab7963d8aba824e8d31efb3e690c27b9\n\n# tcId = 281\n# special case hash\nmsg = 35303835333330373931\nresult = valid\nsig = 3064023033b7105f4cc98a1ea2abad45dbbe3761b4613ddd350e62da91560da694be3e84b1684f9a8ee4b3f556c61d02af54446202302c86e3a216dc7dd784cdcbf5084bdf6cdc1c7e67dbd61f9f6ed161fda4d4c26167e5b12731cf2b0cf5d9a5f0b6124939\n\n", - "# tcId = 282\n# special case hash\nmsg = 37383636383133313139\nresult = valid\nsig = 30640230252e3b5b60b8f80748b83623e30013723115cabcc48770c0ab6e7ee29c429ef1d9da78db3a9a8504133b9bd6feceb82502301ba740f87907cf6d450080f7807a50f21c31cd245dd30f95849a168d63b37628e8043c292ab7f130a4468eaf8b47e56d\n\n# tcId = 283\n# special case hash\nmsg = 32303832353339343239\nresult = valid\nsig = 3066023100b8694dbf8310ccd78398a1cffa51493f95e3317f238291771cb331f8e3a9753774ae3be78df16d22b3fbe9ad45bed793023100daaead431bbdbf8d82368fbbd2473695683206ee67092c146b266ed32f56b31cb0f033eebf6c75118730eef7b7f96ba7\n\n# tcId = 284\n# special case hash\nmsg = 3130303635393536363937\nresult = valid\nsig = 3066023100d37ba39cd1b5289e7aa3f33afefa4df6821a07d3e8ee1c11e7df036c37e36214bb90264633d4c395644cd2cc2523833f0231008b0d58ed75af59e2abbcec9226836f176b27da2d9f3094f2d4a09898136436235025208cf5444265af66fed05b3dc27c\n\n# tcId = 285\n# special case hash\nmsg = 33303234313831363034\nresult = valid\nsig = 3066023100b4ef419020c0dcbdeeeed76c255560f1ed783c0f9e7fcea4c08a0714b9d1f491fda9ae7bb1eb96d294b02799f82861290231008d987611063d2f28cb309a56eaf1ea65f27d95c97b77a5f037f2f914fed728267aaf62a37f3c7b44fc4b15125b349863\n\n# tcId = 286\n# special case hash\nmsg = 37373637383532383734\nresult = valid\nsig = 3066023100b2df7b11cf60ac93c078d19f37f889717aa5d9af1d00d0964f9e9f5257c3b51b3d3e47ca5b5aa72058ed63b52464e582023100b524968ea8c58d379e38f4cfa9da1527a2acb26d605d22f173fcf1e834db0d7f031cb9245cb62b8458ff499b8d3decbe\n\n# tcId = 287\n# special case hash\nmsg = 353434313939393734\nresult = valid\nsig = 3066023100e0edc08b4122b75ebbd1635d07f0bb55771bda15573a5081da971955f9a63f6decdd4919911dbfea503ea8ed1faad93d023100ca7850c74ce878587056206c590a1097d197a2090cfe3e057becfa2700c7a531623ae7331e163def693e26a97feb540d\n\n# tcId = 288\n# special case hash\nmsg = 35383433343830333931\nresult = valid\nsig = 3065023068f555eef5a323a929719bfd8cf81d6d8a977ecb35defd86fa54d8e5749c7b5f3e80087fbd39f8aa0cd29d8310bd6578023100e2c2314a50fc0ad78c1ec02ea77ee2e13dcef1460957c6b573f721d72c209ac5fb529ab20397234c59ed44f60400971a\n\n# tcId = 289\n# special case hash\nmsg = 373138383932363239\nresult = valid\nsig = 30660231009e330e29f18123813e83b9c6abd68de96a57f97a4005b88d5b470a67a541b6d3af12124cf8658b751671c6698fb8b021023100d210fba9bde6ef077ca06b75e1cf7ce8dd70b08e9dd42d81a215ef9272f1779ae3e9f0dec510571d87237cc6bf3203e8\n\n# tcId = 290\n# special case hash\nmsg = 31373433323233343433\nresult = valid\nsig = 30650230483192056f753f64ddf0f21072b73d68893e6fa5432c981c7a1955b6592a6045a5c1c58c383e70023c34e09b7964ec8d02310094b005d5f98c4fd2ad40ff8e03a8599f45e206082112f834df1d48502d2ac690cd3204f0078913794c9c39077ad6c58b\n\n# tcId = 291\n# special case hash\nmsg = 32343036303035393336\nresult = valid\nsig = 306402302b7ec14fd77c4b33230dd0a4e2710fbd307e469baec54b6f25daac7e196b7b4b5df251cdddba7bdc9836ca1319bb900b0230590036192586ff66ae9a288199db9d02bbd5b703f8c329a9a1f986001b190f20ae96fe8b63681eda17bac2a57fd40f2e\n\n# tcId = 292\n# special case hash\nmsg = 31363134303336393838\nresult = valid\nsig = 306402302611484e7ff47dfaece4aa883dd73f891869e2786f20c87b980055ddd792070c0d0d9a370878126bab89a402b9ea173c02304e0006b8aabe9d6a3c3018d9c87eae7f46461187d3c20b33e975c850599ec1cb52c76e1f507e439afc43f9f682e7a8d2\n\n# tcId = 293\n# special case hash\nmsg = 32303935343235363835\nresult = valid\nsig = 306502302d504e38cdb1bb80bf29e07afbc66aea732accc85a722011069988f21eef685084f55efa30bfe32427eb8636db9171b4023100883e3d80d766ccb29e73a9e929111930da8353ec69769785633fe1b4505f9051e78d50c79a6b7c885c10b160bbb57fb6\n\n# tcId = 294\n# special case hash\nmsg = 31303038303938393833\nresult = valid\nsig = 3064023028dc1b63dc61ecde754ff4913780e486339103178e27d761987dac0b03c9bdf4a4a96b8680fa07fc47ae175b780e896e02305a9898eedf8781b9afeb506e0272a12c0c79bb893b8a5893c5a0a1bf4324d46dde71a245be2fd8aa2975fdeb40adf8f3\n\n# tcId = 295\n# special case hash\nmsg = 31353734313437393237\nresult = valid\nsig = 306402304c978a47b9e9449337178aa6413a794c4c9bf182a42062646a469b1d2c2c95621e818e661352b07e63254b6954e1459802306997345f05cfc05c0fd4d1dd133e555e5e5002e0929a59f60bbffc354234783ebf4fe5db10a870952cabd453635c1082\n\n# tcId = 296\n# special case hash\nmsg = 32383636373731353232\nresult = valid\nsig = 3065023036d8e2cfc80d0436e1fad3702ec05aa138618cdb745652cb85b0b121ee107bdf1ade0464dc0c6bd16875bcc364044d8c023100898b8775c9b39aa9fd130b5ab77e6c462ced6114898045b7f606142277d9eb2aa897f24c9ba4c8d112111de04dc57c10\n\n# tcId = 297\n# special case hash\nmsg = 31363934323830373837\nresult = valid\nsig = 3065023100ce2bdcf924caaa81e79bd7dd983dfeeee91652e4ea6edd077f8b56ada4953733a22dd3a6336446a648aec4ffc367cb3e023008eb09faeef4b0e5c1262eda2127464f7e2981ea1736e80afc7c622461c3d26fe08694fb4914ce9dbba83704e3077b3c\n\n# tcId = 298\n# special case hash\nmsg = 39393231363932353638\nresult = valid\nsig = 3066023100e3a1b4b0567d6c664dec02f3ee9cd8581129046944b0e6650f6e6a41b5d9d4bf79d7a6fd54ea5a218492cfa1bb03ca07023100986206925cbfa186c7d88f7100d87dd3b2d03b8789309a722d582f119eef48cd0ea5460917cf27246c31f90e28540424\n\n# tcId = 299\n# special case hash\nmsg = 3131363039343339373938\nresult = valid\nsig = 306502310095a5e29940e42099c4637f4ae51e7d1ec02be0dcfb0b627030984c35e477e80cc57e7eef970e384dee16a9b9fc8f2bf202300ca166c390339653cde84e79a87e5ceb4f52c1a515a5878542fd82705b9983976fd31a4123b5d0bde95a0818114cf462\n\n# tcId = 300\n# special case hash\nmsg = 37313836313632313030\nresult = valid\nsig = 3066023100c30c49d0ba131944e2075daacb1259d5580a712a08f73d889c4d3d484d73dd9719a439a986f48b072c4595c507a01083023100a5595c0691bc2d215f981fab513e3a88a452f2a1433367b99b02b6efe507519afedbe1ad0337899944e29c9ccccb2476\n\n# tcId = 301\n# special case hash\nmsg = 33323934333437313737\nresult = valid\nsig = 30650231009fd0585f8740669885c162842bba25323ea12b1d05e524bb945cad4e31538742eda5128f467b3c562c5f0a99019d3406023043acfadd03915c2350e1d8e514c47eb36f3c3456169c9a562a6262c1c2d7d33378bf9fec7f220239d5c61e06414414a4\n\n# tcId = 302\n# special case hash\nmsg = 3138353134343535313230\nresult = valid\nsig = 306402304ecac0cdbf665c584f8a40614cd55d042706c54895b1de02984fe309122566c959a4dd3315e7d3f089879f8f45821336023009187da6587a3de90eba41f4e6510e711f4467f3122971566ecc39a4bd53e95b8a19380e20ec2a7c752d29de54fd2e8f\n\n# tcId = 303\n# special case hash\nmsg = 343736303433393330\nresult = valid\nsig = 3065023037a1ba49f11e97ad0ec47e687c6c6e94f794f874720c0dd2da501437b50e5b00fb6ed33adf7cf1f9c870fd3d37165bf7023100b3ad08c9886b4ca1593a68938b67142c65ed4da1714c22204cba71300c094ccdbdf84c38a3f6d896db72ed5051a19266\n\n# tcId = 304\n# special case hash\nmsg = 32353637333738373431\nresult = valid\nsig = 3066023100a0abe896d2f30207bc9b21e75400eedb88d3498d49806f41aa8e7f9bd815a33382f278db39710c2cb097937790d0236c0231009a29aded30e8ce4790756208d12044e18c34168608026000a883044dd0d91109d866b422a054c232810ddfbb2ae440bb\n\n# tcId = 305\n# special case hash\nmsg = 35373339393334393935\nresult = valid\nsig = 3065023100b024fc3479d0ddde1c9e06b63c9bfb76a00d0f2f555220cb9a1311c2deec32eb3d6d2b648f5e8c104d5f88931754c0c20230767950cc149697edbae836f977bd38d89d141ff9774147b13ddd525b7a3f3a14a80d9979856f65b99a6faff173b5d6eb\n\n# tcId = 306\n# special case hash\nmsg = 33343738333636313339\nresult = valid\nsig = 306402302a0ae7b5d42645051212cafb7339b9c5283d1fd9881d77ad5c18d25ee10907b7809740a510e65aecd61b53ba3a0f660a02304c0457dd19ef6e4d6ae65f45417ddf1a58c07663a86737d271becfa3ea5724b6018f1fa9e64fd08601a7dbd3957761d9\n\n# tcId = 307\n# special case hash\nmsg = 363439303532363032\nresult = valid\nsig = 306502300c1657320faca6668c6e9f06f657a310b01939a7d9640fa0429872fe28bd1667688bc162221285ecfb14e8d80627450a023100f5272aa08c321aa4f7e520825cc720f6511d635598c648d4d514669b3ad803ad259c799e195a095982f66c176435be21\n\n# tcId = 308\n# special case hash\nmsg = 34373633383837343936\nresult = valid\nsig = 3066023100d821798a7a72bfb483e6e9840e8d921200ef1976b7e514036bf9133a01740ce397c73fa046054438c5806c294a02c6800231008c5d12887fcd945ba123fc5a5605d13a5a3e7e781ad69c6103577ee9dc47adc3e39a21080dd50304b59e5f5cf3f5a385\n\n# tcId = 309\n# special case hash\nmsg = 353739303230303830\nresult = valid\nsig = 3065023100c996bd6fa63c9586779f27523d5583135a594808514f98cc44cac1fa5cfa03c78c7f12f746c6bd20608ecbe3060eb068023027d40a11d52373df3054a28b0ab98a91ad689d1211d69919fc04cadc22ff0367d3ef9433012a760c1d1df3715c8d5cf3\n\n# tcId = 310\n# special case hash\nmsg = 35333434373837383438\nresult = valid\nsig = 3065023042dd6c8d9", - "95938701a538909ed6aeae0ba50c995138de84e195bbb9c56180e108d4a6274548c7be6e121c4d218d2d4a0023100fae8668bb2003f0da1dc90bec67d354ccbb899432599c3198b96c5ca4bd2324c46998f4fb76a123467cf24570b1b6916\n\n# tcId = 311\n# special case hash\nmsg = 3139323636343130393230\nresult = valid\nsig = 30650230061f185633291b9a768e15ec03a2b7c356c757b023b61e313fdf0c5349d128a78668d20b2561709b3bd8451b920f12ab0231008fc5edc66410dbf20a7cbc3498e405761756ed39866856e74256ac1f255f62b0edff519762ecdbbc8395d14715c4388e\n\n# tcId = 312\n# special case hash\nmsg = 33373033393135373035\nresult = valid\nsig = 3065023069326e047c62e8bac5c090b76bf73ae652fa9a6aecfa1ccb8702f419094c9727511264fb1aeec00e425c7a0d746793d30231009dbddd22db4a77dbe16114bc6fbb981aecba7e82a9cbc1ed385e28a51793561770fb3f9696090efca24f268d8788f2c9\n\n# tcId = 313\n# special case hash\nmsg = 3831353435373730\nresult = valid\nsig = 306402304ca1df89b23ed5efcdf601d295c45e402d786a14d62f7261104e4cb05b8cae17abb095799e71173841749615c829411b02301bb777e0a6fee8a2337a436a6fa26a487de4640ff97d57b44b55305989803863d748c7302f2dfde8b8cedd69bb602e2d\n\n# tcId = 314\n# special case hash\nmsg = 313935353330333737\nresult = valid\nsig = 3065023067be1b06f67172c503a5ac50582235d30bc9079eaa4cdec69a39c096310f8d99186cc9af7c8b4369a291d3e921d60705023100ab645fc91f06b1ff7cc58fccf6f7cfac74db30d839748a78cb5f3b8fefc7a06f3b5ff0310a8580c6050bebb75eda972c\n\n# tcId = 315\n# special case hash\nmsg = 31323637383130393033\nresult = valid\nsig = 3066023100d966442d6c29e5a4cc60e2374eccd373db3ebe405ee7c9664c4273100cd1899a1c58110487528616d8c5321dbf5227640231009bb0e4a2c041a3b7b672029fe480d155f57671ecd6eb598660d025acce1f613d03cd6cff4a214131c8c7a8ad22df1397\n\n# tcId = 316\n# special case hash\nmsg = 3131313830373230383135\nresult = valid\nsig = 3064023008a84a2bc39b082ab82e6e45f088a36f1cb255f97ec8124eca929d4506d7dab63957c647994be2c2c7344f902de5b38f02300c9645e84a304ba0970ca5ce00b8c8a971fa0d0bcbec6a70134894c44d3075030ff04333ea3889f847a1ed769ee618ee\n\n# tcId = 317\n# special case hash\nmsg = 38333831383639323930\nresult = valid\nsig = 306502310083004b034202bbf51a327d32ed3ddf67b46eda9bac695a4422744a4bd99aaac3b3e8ed80ddac6538939c9385d6c8f61602307b4e61926cb9afa8cdaaf44909df6dc6449887d59fe2acac05f7684a235fa77179bdbcc69fd8f359e8eda19e5a5d4807\n\n# tcId = 318\n# special case hash\nmsg = 33313331323837323737\nresult = valid\nsig = 3065023100ad93375a1d374c41e5de268a8c08c205ff5652445bfe3ddf4ca77a70f5819f9f06db861d82fc9637946f0fe38457f2bd02304bc043acbc6a68d4824ed768af9476ad5b93e4cb3bbac284fb5fbd548ae3b96c265c6d1ef4588a3e2da21b124c0d6b12\n\n# tcId = 319\n# special case hash\nmsg = 3134333331393236353338\nresult = valid\nsig = 30660231009e0d45d2dc93fd363dc919405818e39922f3f9dd0827bcad86d4ba80a44b45a6f60b8e593b580c91262b32859dbb1e53023100eb9b8dfe5ba4a055a974f19b488f3a6fa07161006ac94eb1fe1c12dd0e20f3a7be38a37ce96d671183c5871249b2a3c5\n\n# tcId = 320\n# special case hash\nmsg = 333434393038323336\nresult = valid\nsig = 306502307a5d04cd2fda59d8565c79ea2a7f1289ab79cae9fde060094c805c591a2534e4393e28c3fd858529bf17643846aceb830231008de0d8c0092fd02d554afe25f814744beaaa17c6946a6387ec7046b602db8a6c900246c2fb63fcef2ac8d9394444a0fc\n\n# tcId = 321\n# special case hash\nmsg = 36383239383335393239\nresult = valid\nsig = 3065023100a564eea0cdac051a769f8ff1e0c834a288ce514f67d138113727b53a1a6fc95ce237367b91f1b91b2f65d589adc8288e0230182e5b47b6fbd8e741a04e809487ba5fcb8a5f2f1b9af6ce214128623a4768e38e6ddc958ff39078c36c04a314708427\n\n# tcId = 322\n# special case hash\nmsg = 33343435313538303233\nresult = valid\nsig = 306402306758867cd1ca1446cc41043d1625c967a0ae04d9db17bbb42fa9c076b3593125d63cd3e7471ee6cdba5235a21cec2f220230563db387adb537e1d89231d935ac790316925aeb29132b9f87bee91116c33bf50943fe39b671ce9535dca0a5d22bbfa4\n\n# tcId = 323\n# special case hash\nmsg = 3132363937393837363434\nresult = valid\nsig = 3066023100cde033e38d3f791db87d8a6907516bd8021acd47e897df683fda529d48050f8b5688f6361daf1b14bc3f45fc7f76150f023100e14f4811a667c85335a4709a589ea46bac72055b794eaea92d28e834d5bc459c605fe4f27c1ab18d186d59e7d205cb67\n\n# tcId = 324\n# special case hash\nmsg = 333939323432353533\nresult = valid\nsig = 3065023100f2384468b55553c68f9764d8248cfd7358d604fa377ebb13828c43a8ebdf308fbbbebfa49a9458bfda957d2068d24e3f02301fdf4891d56e3e90c02b05c14c27c17f56f8e6aa144f02328c90109e1f70c9e3f582f0d299c44da505c543cc89c6a990\n\n# tcId = 325\n# special case hash\nmsg = 31363031393737393737\nresult = valid\nsig = 3065023100b1ccafedcc21ba90b342fa23c0149f3d12a939ab6c3342b36ae61fddbdc753927a7c3e978bd780cf25cd78c8c5efe28002304c32a73f3157bbe2384095eb67726b9cd3c2623b98a182a3b4f00e8db933e1113b7ada2695a7d79b471026462b20e289\n\n# tcId = 326\n# special case hash\nmsg = 3130383738373535313435\nresult = valid\nsig = 3066023100f3ed170e449758299ae55eb85244745e1876621c1f708e07e55c0d2d9ab5f9af9e0a8b3c7bdf8936ab3c9ebd1908e9dc023100da62ccdb658868147286d7269bcbd4addb4dec9ea3d5d79fdbe0ccffa40d055170bddeb4ef4c5e0bc99fae5db62b4477\n\n# tcId = 327\n# special case hash\nmsg = 37303034323532393939\nresult = valid\nsig = 306502310083455fc4629e7693c8e495fec2d29bb23bb6db79180fcfa83a4f9310d9db27e29297dee27ee80a71ab2f7a2d59f48b8802307736c056c8f2bb57e9fb6b8de0ab6d09879f6611e737634e7b6337aa5c5a01f515d5e3702dec9a702177c816e32bac67\n\n# tcId = 328\n# special case hash\nmsg = 31353635333235323833\nresult = valid\nsig = 3065023074961587cbe49bbf0a73fea82b8b2242f67b0ea09224774639f437c60378a36b2d511a9145d576b440dffd1f02286a8b0231008fb95d46c22889085cc1d3e20bcfbcbc52f4532445f76f08efae2de8b56fe8525204643330dfd23cce946687a0aef046\n\n# tcId = 329\n# special case hash\nmsg = 3233383236333432333530\nresult = valid\nsig = 3065023100a3fd322330d0f0efccc54bd7d73c3159eb1bcca08cec369a4a08fd00f9ec6d482ced58eb08a0d7c2113bd5575de4917d0230164e3232a628c40fbba1de82bfb9627cec78a8040cf325a5a8bb8f864c2ac19e3524ac93f4db5713ce62ba256176e05e\n\n# tcId = 330\n# special case hash\nmsg = 31343437383437303635\nresult = valid\nsig = 306502304c862ff9e4ff88f9a58e9fceaaf9bbb30740d3f6c8c6a69b5627fe234b144f8cdf09520735cfd708f5e341a78cc4873d023100a861972514a0e975cf2da214125ec93288524cc77492ed63c516424278e5ec8d41724467cb7c3111fa34c69193abb435\n\n# tcId = 331\n# special case hash\nmsg = 3134323630323035353434\nresult = valid\nsig = 3065023062225e4e492a9773397870336168960a66b9e50391ef7289cb2d3878f32252dc1b904f6682545e14564e415bd93e01170231009f4d0327f79e043505c691e361fa2e00f87f41324777eca6966f4bea2fa0858876aa01980b2cad7f66037524de49bf65\n\n# tcId = 332\n# special case hash\nmsg = 31393933383335323835\nresult = valid\nsig = 30640230450c65d2d88ba464eee3a5ce9310b519d5dcf608799fb2275eee987a67c2c4d7ac53716987cc5139c18c67ef07b1e20702301ee0439311a7bce1c4fed0a3152d1b354d96536c6ca0c9188ac1f1afcc5cd7305b5611ef0d19d8bd57c5059976dc5e68\n\n# tcId = 333\n# special case hash\nmsg = 34323932313533353233\nresult = valid\nsig = 3066023100aa2575fb5bea0effb5247d20c3d0165d575831840b5c18b0245a99a61b7ad5d7bf8a8cfcc375e095a84e781025bee3ee0231009c8b7797ad330abc206060b28b6ca1c639d89f59582528bda1527e3ab081697a2ab576f9d09c2ee329dd73231667308d\n\n# tcId = 334\n# special case hash\nmsg = 34343539393031343936\nresult = valid\nsig = 3064023001fc45285aa2c2e50458199ade2ded0dd36b1de03e8969175be4a6f09f9719b195ded8d9eb4ea132d95d19a3528fd6c9023059609a358c5919fef4781061804d4d64a067edecdcfd14620161aae3ef2735095a558e4f8ae345040123f093e5f70af2\n\n# tcId = 335\n# special case hash\nmsg = 31333933393731313731\nresult = valid\nsig = 3065023100d8e1f6b19e5b92e36060e59e53eeb788a4758c2c8ee9519f3949d5f3315abafbe937b8ed44d47e886a07c107aa8ac9f4023012550574318371e5168d0a339f20fcacaec87db211bba4d4e7c7e055b63b75fd31790ad285f4cc061378692b0a248e34\n\n# tcId = 336\n# special case hash\nmsg = 32333930363936343935\nresult = valid\nsig = 306402304815aec44a7a6b86ae87fc2556accd77832fa33a4710e02ec5ef6f41f68a910e6af4d173ae462a759bd98079b371bf5d02306e78d562f9e8be65e8d7a74a7305e5d6cf2f3c4c980f2b18dfb8e9c8b0134ec86548053b3d125e56d5872294d2d14ebc\n\n# tcId = 337\n# special case hash\nmsg = 3131343436303536323634\nresult = valid\nsig = 3065023100d302f9db6b2d94e194412f0d40a135a554aee014bd939b3d7e45c1221ef7ce45c2aed875f9a2bc43dbc8264d92e444a5023004e7247b258c6e7739979c0a07282f62958ac45e52dd76a41d5e1aca31a5cda73d7b026d67b4d609803001cb661d74c6\n\n# tcId = 338\n# special case hash\nmsg = 363835303034373530\nresult = valid\nsig = 3065023100889f0e2a6ae2ddcad1cde3f65b61d4dd40985917ba841b47a1f802491f5af5067722b7683df0fca7ee19d2b73724c8fd02301f989", - "bac23b51c49e5d7dcc319eed2fc767e9b432bf75af92814d9e67a5d4b3398eb15e98b70527abbc029abc1bea524\n\n# tcId = 339\n# special case hash\nmsg = 3232323035333630363139\nresult = valid\nsig = 3066023100e69c70c679795ca7d2b66e2632529651c120055fa3cf25435fe8bb28987c02412ce73e6ca5ca7e0b42e9670c0a588175023100edd8513bff40cdca9e22659238fbcea2de2caeef53c5287a515db9168b3008ec446c9b94f28a6e021c69bc6637fc4634\n\n# tcId = 340\n# special case hash\nmsg = 36323135363635313234\nresult = valid\nsig = 30640230068cbecfd47bfd688f495df05e45fd5fced6d8e240605c5b2be5e69368740b694b9b1ea034af3180e571dd38a86369ef02301a1d2976f748d1621128013c61abda5398a3e24f0073d1a6e07a1e96c12be4f1e2e7b144f9b5a350500acfc5cb0698d9\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04ca5ee479ad6624ab5870539a56a23b3816eef7bbc67156836dfb58c425fdb7213e31770f12b43152e887d88a3afb4b182aceec92b3139aca8396402a8f81bb5014e748eab2e2059f8656a883e62d78b9dc988b98332627f95232d37df26585d3]\n[key.wx = 0ca5ee479ad6624ab5870539a56a23b3816eef7bbc67156836dfb58c425fdb7213e31770f12b43152e887d88a3afb4b18]\n[key.wy = 2aceec92b3139aca8396402a8f81bb5014e748eab2e2059f8656a883e62d78b9dc988b98332627f95232d37df26585d3]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004ca5ee479ad6624ab5870539a56a23b3816eef7bbc67156836dfb58c425fdb7213e31770f12b43152e887d88a3afb4b182aceec92b3139aca8396402a8f81bb5014e748eab2e2059f8656a883e62d78b9dc988b98332627f95232d37df26585d3]\n[sha = SHA-512]\n\n# tcId = 341\n# k*G has a large x-coordinate\nmsg = 313233343030\nresult = valid\nsig = 304d0218389cb27e0bc8d21fa7e5f24cb74f58851313e696333ad68b023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52970\n\n# tcId = 342\n# r too large\nmsg = 313233343030\nresult = invalid\nsig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffe023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52970\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 0470e6a90b4e076bf51dfa01fa44de49b448f7afa0f3d07677f1682ca776d404b2a0feef66b005ea28ba99b6ce21d0ca12424f7d179951fb89156cdf04aed6db056c98592c651b5a881abc34e2401127fb81c64e90cee83269c5141f9a3c7bce78]\n[key.wx = 70e6a90b4e076bf51dfa01fa44de49b448f7afa0f3d07677f1682ca776d404b2a0feef66b005ea28ba99b6ce21d0ca12]\n[key.wy = 424f7d179951fb89156cdf04aed6db056c98592c651b5a881abc34e2401127fb81c64e90cee83269c5141f9a3c7bce78]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000470e6a90b4e076bf51dfa01fa44de49b448f7afa0f3d07677f1682ca776d404b2a0feef66b005ea28ba99b6ce21d0ca12424f7d179951fb89156cdf04aed6db056c98592c651b5a881abc34e2401127fb81c64e90cee83269c5141f9a3c7bce78]\n[sha = SHA-512]\n\n# tcId = 343\n# r,s are large\nmsg = 313233343030\nresult = valid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52971\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 045a568474805fbf9acc1e5756d296696290b73d4d1c3b197f48aff03b919f0111823f90ea024af1c78e7c803e2297662d4c1c79edc9c694620c1f5b5cc7dd9ff89a42442747857cace26b6ebc99962ec3a68a8e4072226d6d98a2a866dd97c203]\n[key.wx = 5a568474805fbf9acc1e5756d296696290b73d4d1c3b197f48aff03b919f0111823f90ea024af1c78e7c803e2297662d]\n[key.wy = 4c1c79edc9c694620c1f5b5cc7dd9ff89a42442747857cace26b6ebc99962ec3a68a8e4072226d6d98a2a866dd97c203]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200045a568474805fbf9acc1e5756d296696290b73d4d1c3b197f48aff03b919f0111823f90ea024af1c78e7c803e2297662d4c1c79edc9c694620c1f5b5cc7dd9ff89a42442747857cace26b6ebc99962ec3a68a8e4072226d6d98a2a866dd97c203]\n[sha = SHA-512]\n\n# tcId = 344\n# r and s^-1 have a large Hamming weight\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100d1aee55fdc2a716ba2fabcb57020b72e539bf05c7902f98e105bf83d4cc10c2a159a3cf7e01d749d2205f4da6bd8fcf1\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 0488531382963bfe4e179f0b457ecd446528b98d349edbd8e7d0f6c1673b4ae2a7629b3345a7eae2e7c48358c13bdbe0389375c849dd571d91f2a3bf8994f53f82261f38172806c4d725de2029e887bfe036f38d6985ea5a22c52169db6e4213da]\n[key.wx = 088531382963bfe4e179f0b457ecd446528b98d349edbd8e7d0f6c1673b4ae2a7629b3345a7eae2e7c48358c13bdbe038]\n[key.wy = 09375c849dd571d91f2a3bf8994f53f82261f38172806c4d725de2029e887bfe036f38d6985ea5a22c52169db6e4213da]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000488531382963bfe4e179f0b457ecd446528b98d349edbd8e7d0f6c1673b4ae2a7629b3345a7eae2e7c48358c13bdbe0389375c849dd571d91f2a3bf8994f53f82261f38172806c4d725de2029e887bfe036f38d6985ea5a22c52169db6e4213da]\n[sha = SHA-512]\n\n# tcId = 345\n# r and s^-1 have a large Hamming weight\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100b6b681dc484f4f020fd3f7e626d88edc6ded1b382ef3e143d60887b51394260832d4d8f2ef70458f9fa90e38c2e19e4f\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04080da57d67dba48eb50eef484cf668d981e1bf30c357c3fd21a43cdc41f267c3f186bf87e3680239bac09930f144263c5f28777ad8bcbfc3eb0369e0f7b18392a12397a4fbe15a2a1f6e2e5b4067c82681c89c73db25eca18c6b25768429cef0]\n[key.wx = 080da57d67dba48eb50eef484cf668d981e1bf30c357c3fd21a43cdc41f267c3f186bf87e3680239bac09930f144263c]\n[key.wy = 5f28777ad8bcbfc3eb0369e0f7b18392a12397a4fbe15a2a1f6e2e5b4067c82681c89c73db25eca18c6b25768429cef0]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004080da57d67dba48eb50eef484cf668d981e1bf30c357c3fd21a43cdc41f267c3f186bf87e3680239bac09930f144263c5f28777ad8bcbfc3eb0369e0f7b18392a12397a4fbe15a2a1f6e2e5b4067c82681c89c73db25eca18c6b25768429cef0]\n[sha = SHA-512]\n\n# tcId = 346\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020102020101\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 040e74a096d7f6ee1be9b4160d6b79baba4d25b4fb6fbdd38f5a9ed5cc1ac79943be71ede093e504c7dc0832daeb898a05a8d005b30c894686f6ecb2bc696e25effaccd3c9e4b48122db567c0118a0b983b757c2f40082dc374f8f6117a8e76fc0]\n[key.wx = 0e74a096d7f6ee1be9b4160d6b79baba4d25b4fb6fbdd38f5a9ed5cc1ac79943be71ede093e504c7dc0832daeb898a05]\n[key.wy = 0a8d005b30c894686f6ecb2bc696e25effaccd3c9e4b48122db567c0118a0b983b757c2f40082dc374f8f6117a8e76fc0]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200040e74a096d7f6ee1be9b4160d6b79baba4d25b4fb6fbdd38f5a9ed5cc1ac79943be71ede093e504c7dc0832daeb898a05a8d005b30c894686f6ecb2bc696e25effaccd3c9e4b48122db567c0118a0b983b757c2f40082dc374f8f6117a8e76fc0]\n[sha = SHA-512]\n\n# tcId = 347\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020102020102\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04a2ad0e27b40410d16077ddc5e415f109d328bf75e73a0f56876fef731285f83188b207a68690a40e76ed23e2c5e49fcf604f1c5d7d7df365005d40e209f4da7bb06f310d5a1660ad6236577fbb47955261f507d23b83013ffb951bd76908e76c]\n[key.wx = 0a2ad0e27b40410d16077ddc5e415f109d328bf75e73a0f56876fef731285f83188b207a68690a40e76ed23e2c5e49fcf]\n[key.wy = 604f1c5d7d7df365005d40e209f4da7bb06f310d5a1660ad6236577fbb47955261f507d23b83013ffb951bd76908e76c]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004a2ad0e27b40410d16077ddc5e415f109d328bf75e73a0f56876fef731285f83188b207a68690a40e76ed23e2c5e49fcf604f1c5d7d7df365005d40e209f4da7bb06f310d5a1660ad6236577fbb47955261f507d23b83013ffb951bd76908e76c]\n[sha = SHA-512]\n\n# tcId = 348\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020102020103\n\n# tcId = 349\n# r is larger than n\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52975020103\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04a233025c12d20f49dc50dc802e79f03c7ce1750b9204b51325d90b5ade08f4a74ef6efb081ed3156d64a0110d60fffabb924881891ee984cf51949dee96cfd7c9759b1ff00f0dbdc718d52117079d5d8bd6c86c6f532276a", - "f38b779bf2350d7f]\n[key.wx = 0a233025c12d20f49dc50dc802e79f03c7ce1750b9204b51325d90b5ade08f4a74ef6efb081ed3156d64a0110d60fffab]\n[key.wy = 0b924881891ee984cf51949dee96cfd7c9759b1ff00f0dbdc718d52117079d5d8bd6c86c6f532276af38b779bf2350d7f]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004a233025c12d20f49dc50dc802e79f03c7ce1750b9204b51325d90b5ade08f4a74ef6efb081ed3156d64a0110d60fffabb924881891ee984cf51949dee96cfd7c9759b1ff00f0dbdc718d52117079d5d8bd6c86c6f532276af38b779bf2350d7f]\n[sha = SHA-512]\n\n# tcId = 350\n# s is larger than n\nmsg = 313233343030\nresult = invalid\nsig = 3036020102023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accd7fffa\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 043c9bb63607cdea0585f38d9780c9ac3e9a5a58153e2aacc4bc7a1d638d12e32c4d3a90c0c114b232c6f16e23e4bebb24da2ac2ccedc5494fe534a9abaea3013de0176f1b0e91bcd62154bdf3f604091a5008b2466702d0e2f93e4a4b6c601a54]\n[key.wx = 3c9bb63607cdea0585f38d9780c9ac3e9a5a58153e2aacc4bc7a1d638d12e32c4d3a90c0c114b232c6f16e23e4bebb24]\n[key.wy = 0da2ac2ccedc5494fe534a9abaea3013de0176f1b0e91bcd62154bdf3f604091a5008b2466702d0e2f93e4a4b6c601a54]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200043c9bb63607cdea0585f38d9780c9ac3e9a5a58153e2aacc4bc7a1d638d12e32c4d3a90c0c114b232c6f16e23e4bebb24da2ac2ccedc5494fe534a9abaea3013de0176f1b0e91bcd62154bdf3f604091a5008b2466702d0e2f93e4a4b6c601a54]\n[sha = SHA-512]\n\n# tcId = 351\n# small r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3036020201000230489122448912244891224489122448912244891224489122347ce79bc437f4d071aaa92c7d6c882ae8734dc18cb0d553\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04559a66ef77752fd856976f36ed315619932204599bd7ef91d1a53ac1e7c90b3969cab8143b7a53c4bf5a3fe39f649eb61f00f86dd8b8556c4815b2a01c59eb6cc03c97b94b6db4318249fe489e36ac9635876b1ca2ec0999caef5e1a6a58a70d]\n[key.wx = 559a66ef77752fd856976f36ed315619932204599bd7ef91d1a53ac1e7c90b3969cab8143b7a53c4bf5a3fe39f649eb6]\n[key.wy = 1f00f86dd8b8556c4815b2a01c59eb6cc03c97b94b6db4318249fe489e36ac9635876b1ca2ec0999caef5e1a6a58a70d]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004559a66ef77752fd856976f36ed315619932204599bd7ef91d1a53ac1e7c90b3969cab8143b7a53c4bf5a3fe39f649eb61f00f86dd8b8556c4815b2a01c59eb6cc03c97b94b6db4318249fe489e36ac9635876b1ca2ec0999caef5e1a6a58a70d]\n[sha = SHA-512]\n\n# tcId = 352\n# smallish r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303c02072d9b4d347952cd023100ce751512561b6f57c75342848a3ff98ccf9c3f0219b6b68d00449e6c971a85d2e2ce73554b59219d54d2083b46327351\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 040548e79a17fd3a114d830ea88f218ee1ef7aa3f8dc139e0a8b9b60e25049a816ef449e8bd5dae867446495fdf20f47700363a1e8afefb02ebfd59df90b6d23ff7d5f706f9b26daebae1d4657ac342844ee9c2e0e9269f7efe7ab91e0303c115d]\n[key.wx = 548e79a17fd3a114d830ea88f218ee1ef7aa3f8dc139e0a8b9b60e25049a816ef449e8bd5dae867446495fdf20f4770]\n[key.wy = 363a1e8afefb02ebfd59df90b6d23ff7d5f706f9b26daebae1d4657ac342844ee9c2e0e9269f7efe7ab91e0303c115d]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200040548e79a17fd3a114d830ea88f218ee1ef7aa3f8dc139e0a8b9b60e25049a816ef449e8bd5dae867446495fdf20f47700363a1e8afefb02ebfd59df90b6d23ff7d5f706f9b26daebae1d4657ac342844ee9c2e0e9269f7efe7ab91e0303c115d]\n[sha = SHA-512]\n\n# tcId = 353\n# 100-bit r and small s^-1\nmsg = 313233343030\nresult = valid\nsig = 3041020d1033e67e37b32b445580bf4efb02302ad52ad52ad52ad52ad52ad52ad52ad52ad52ad52ad52ad5215c51b320e460542f9cc38968ccdf4263684004eb79a452\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04a0eb670630f9bbbd963c5750de7bcbae4ddfd37b13fe7690eec6861a3c56c8efb87dbbf85ccd953c659d382c3d7df76afb08840635a16ac7ecf3de2dc28a77c8af9d49e5a832551e3354a2b311e52be86720d9b2fbb78d11a8aec61606a29f0d]\n[key.wx = 0a0eb670630f9bbbd963c5750de7bcbae4ddfd37b13fe7690eec6861a3c56c8efb87dbbf85ccd953c659d382c3d7df76a]\n[key.wy = 0fb08840635a16ac7ecf3de2dc28a77c8af9d49e5a832551e3354a2b311e52be86720d9b2fbb78d11a8aec61606a29f0d]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004a0eb670630f9bbbd963c5750de7bcbae4ddfd37b13fe7690eec6861a3c56c8efb87dbbf85ccd953c659d382c3d7df76afb08840635a16ac7ecf3de2dc28a77c8af9d49e5a832551e3354a2b311e52be86720d9b2fbb78d11a8aec61606a29f0d]\n[sha = SHA-512]\n\n# tcId = 354\n# small r and 100 bit s^-1\nmsg = 313233343030\nresult = valid\nsig = 303602020100023077a172dfe37a2c53f0b92ab60f0a8f085f49dbfd930719d6f9e587ea68ae57cb49cd35a88cf8c6acec02f057a3807a5b\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04254bce3041b00468445cb9ae597bc76c1279a8506142ce2427185b1d7f753d1c0aad94156b531a2071aa61c83ec842a3710d6c8c96766ae8b63396133e5872805e47d9ba39113e122d676d54dbb2460b59d986bdd33be346c021e8a71bb41ba9]\n[key.wx = 254bce3041b00468445cb9ae597bc76c1279a8506142ce2427185b1d7f753d1c0aad94156b531a2071aa61c83ec842a3]\n[key.wy = 710d6c8c96766ae8b63396133e5872805e47d9ba39113e122d676d54dbb2460b59d986bdd33be346c021e8a71bb41ba9]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004254bce3041b00468445cb9ae597bc76c1279a8506142ce2427185b1d7f753d1c0aad94156b531a2071aa61c83ec842a3710d6c8c96766ae8b63396133e5872805e47d9ba39113e122d676d54dbb2460b59d986bdd33be346c021e8a71bb41ba9]\n[sha = SHA-512]\n\n# tcId = 355\n# 100-bit r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3041020d062522bbd3ecbe7c39e93e7c24023077a172dfe37a2c53f0b92ab60f0a8f085f49dbfd930719d6f9e587ea68ae57cb49cd35a88cf8c6acec02f057a3807a5b\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 049129db4446c2c598c4f81070f70f66c37c39323e01418c095de9902e0e1b20f26bc3e011ba84c10626ffdce836690c9f8e4a104fec4aaa4350c238617ee50456accc49efc3b73eb9548e1600c2483f1c4bae9ddf3ff92af17afd19f86274589c]\n[key.wx = 09129db4446c2c598c4f81070f70f66c37c39323e01418c095de9902e0e1b20f26bc3e011ba84c10626ffdce836690c9f]\n[key.wy = 08e4a104fec4aaa4350c238617ee50456accc49efc3b73eb9548e1600c2483f1c4bae9ddf3ff92af17afd19f86274589c]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200049129db4446c2c598c4f81070f70f66c37c39323e01418c095de9902e0e1b20f26bc3e011ba84c10626ffdce836690c9f8e4a104fec4aaa4350c238617ee50456accc49efc3b73eb9548e1600c2483f1c4bae9ddf3ff92af17afd19f86274589c]\n[sha = SHA-512]\n\n# tcId = 356\n# r and s^-1 are close to n\nmsg = 313233343030\nresult = valid\nsig = 3065023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc528f3023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04a701a8111cdf97ced74a00a4514b2b526be8113e7df6cf7163aaee465880d26275b833b186d80f1862dc67ff768dde43e5a991f16f8f777311b17eabdc90b6ece3b5da776cfbebbc504382ca1abae1c6aa6a64d9c41110d97950514e99578ed8]\n[key.wx = 0a701a8111cdf97ced74a00a4514b2b526be8113e7df6cf7163aaee465880d26275b833b186d80f1862dc67ff768dde43]\n[key.wy = 0e5a991f16f8f777311b17eabdc90b6ece3b5da776cfbebbc504382ca1abae1c6aa6a64d9c41110d97950514e99578ed8]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004a701a8111cdf97ced74a00a4514b2b526be8113e7df6cf7163aaee465880d26275b833b186d80f1862dc67ff768dde43e5a991f16f8f777311b17eabdc90b6ece3b5da776cfbebbc504382ca1abae1c6aa6a64d9c41110d97950514e99578ed8]\n[sha = SHA-512]\n\n# tcId = 357\n# s == 1\nmsg = 313233343030\nresult = valid\nsig = 3035023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326020101\n\n# tcId = 358\n# s == 0\nmsg = 313233343030\nresult = invalid\nsig = 3035023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326020100\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04b6815ba05413bcf34f4c0704af590c1998d7fcd169541e1efe1567ca1dd71a22e35ac838b20c75281582044a57b58f456cdceb10612062779abadd8742c6e93ed74adf306f3b3a0f96b70dd1134b7558b64b55b200c5732c50f05aa032ae7c00]\n[key.wx = 0b6815ba05413bcf34f4c0704af590c1998d7fcd169541e1efe1567ca1dd71a22e35ac838b20c75281582044a57b58f45]\n[key.wy = 6cdceb10612062779abadd8742c6e93ed74adf306f3b3a0f96b7", - "0dd1134b7558b64b55b200c5732c50f05aa032ae7c00]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004b6815ba05413bcf34f4c0704af590c1998d7fcd169541e1efe1567ca1dd71a22e35ac838b20c75281582044a57b58f456cdceb10612062779abadd8742c6e93ed74adf306f3b3a0f96b70dd1134b7558b64b55b200c5732c50f05aa032ae7c00]\n[sha = SHA-512]\n\n# tcId = 359\n# point at infinity during verify\nmsg = 313233343030\nresult = invalid\nsig = 306402307fffffffffffffffffffffffffffffffffffffffffffffffe3b1a6c0fa1b96efac0d06d9245853bd76760cb5666294b9023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04b4b2d5a8b50ffabd34748e94498c1d4728d084f943fbddd4b3b6ee16eaa4da91613a82c98017132c94cd6fe4b87232f16d612228ed5d7d08bf0c8699677e3b8f3e718073b945a6c108d97a3b1433c79052b2655a18a3b2e621baa88198cb5f3c]\n[key.wx = 0b4b2d5a8b50ffabd34748e94498c1d4728d084f943fbddd4b3b6ee16eaa4da91613a82c98017132c94cd6fe4b87232f1]\n[key.wy = 6d612228ed5d7d08bf0c8699677e3b8f3e718073b945a6c108d97a3b1433c79052b2655a18a3b2e621baa88198cb5f3c]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004b4b2d5a8b50ffabd34748e94498c1d4728d084f943fbddd4b3b6ee16eaa4da91613a82c98017132c94cd6fe4b87232f16d612228ed5d7d08bf0c8699677e3b8f3e718073b945a6c108d97a3b1433c79052b2655a18a3b2e621baa88198cb5f3c]\n[sha = SHA-512]\n\n# tcId = 360\n# u1 == 1\nmsg = 313233343030\nresult = valid\nsig = 3064023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326023043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158ca\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04842b3d89e54d9a4b5694d9251bba20ae4854c510dc0b6ef7033e4045ba4e64b6ddcd36299aac554dbac6db3e27c98123868258190297e1d6bae648a6dee2285886233afd1c3d6f196ad1db14262a579d74cf7855fffc65f5abd242b135ae87df]\n[key.wx = 0842b3d89e54d9a4b5694d9251bba20ae4854c510dc0b6ef7033e4045ba4e64b6ddcd36299aac554dbac6db3e27c98123]\n[key.wy = 0868258190297e1d6bae648a6dee2285886233afd1c3d6f196ad1db14262a579d74cf7855fffc65f5abd242b135ae87df]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004842b3d89e54d9a4b5694d9251bba20ae4854c510dc0b6ef7033e4045ba4e64b6ddcd36299aac554dbac6db3e27c98123868258190297e1d6bae648a6dee2285886233afd1c3d6f196ad1db14262a579d74cf7855fffc65f5abd242b135ae87df]\n[sha = SHA-512]\n\n# tcId = 361\n# u1 == n - 1\nmsg = 313233343030\nresult = valid\nsig = 3065023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326023100bc07ff041506dc73a75086a43252fb43b6327af3c6b2cc7d322ff6d1d1162b5de29edcd0b69803fe2f8af8e3d103d0a9\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 049ab73dcfffc820e739a3ed9c316c6f15d27a032f8aa59325f7842cf4a34198ac6ff09eb1a311ce226bf1abb49d8085110135f4b0c2b6b195da9bbe1993e985b8607664f1a4b3d499ea1a112b6afc7e6b88357c9348b614ddfdc846a3f38bbdca]\n[key.wx = 09ab73dcfffc820e739a3ed9c316c6f15d27a032f8aa59325f7842cf4a34198ac6ff09eb1a311ce226bf1abb49d808511]\n[key.wy = 135f4b0c2b6b195da9bbe1993e985b8607664f1a4b3d499ea1a112b6afc7e6b88357c9348b614ddfdc846a3f38bbdca]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200049ab73dcfffc820e739a3ed9c316c6f15d27a032f8aa59325f7842cf4a34198ac6ff09eb1a311ce226bf1abb49d8085110135f4b0c2b6b195da9bbe1993e985b8607664f1a4b3d499ea1a112b6afc7e6b88357c9348b614ddfdc846a3f38bbdca]\n[sha = SHA-512]\n\n# tcId = 362\n# u2 == 1\nmsg = 313233343030\nresult = valid\nsig = 3064023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 0428771b137fb7d74c0ed0290416f47c8118997923c7b3b717fbbd5308a4bb0e494714bd3f1ff5e9e368887377284272ebf92e5df476a2fa0906ce4fad121c641abb539ab4ef270cd8f0497cc3e6e05b18561b730670f010741238a5d07b077045]\n[key.wx = 28771b137fb7d74c0ed0290416f47c8118997923c7b3b717fbbd5308a4bb0e494714bd3f1ff5e9e368887377284272eb]\n[key.wy = 0f92e5df476a2fa0906ce4fad121c641abb539ab4ef270cd8f0497cc3e6e05b18561b730670f010741238a5d07b077045]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000428771b137fb7d74c0ed0290416f47c8118997923c7b3b717fbbd5308a4bb0e494714bd3f1ff5e9e368887377284272ebf92e5df476a2fa0906ce4fad121c641abb539ab4ef270cd8f0497cc3e6e05b18561b730670f010741238a5d07b077045]\n[sha = SHA-512]\n\n# tcId = 363\n# u2 == n - 1\nmsg = 313233343030\nresult = valid\nsig = 3065023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326023100aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa84ecde56a2cf73ea3abc092185cb1a51f34810f1ddd8c64d\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 049d1baad217829d5f2d7db5bd085e9126232e8c49c58707cb153db1d1e20a109c90f7bcbae4f2c74d6595207cb0e5dd271eea30752a1425905d0811d0f42019e5088142b41945bee03948f206f2e7c3c1081ba9a297180e36b247ee9e70832035]\n[key.wx = 09d1baad217829d5f2d7db5bd085e9126232e8c49c58707cb153db1d1e20a109c90f7bcbae4f2c74d6595207cb0e5dd27]\n[key.wy = 1eea30752a1425905d0811d0f42019e5088142b41945bee03948f206f2e7c3c1081ba9a297180e36b247ee9e70832035]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200049d1baad217829d5f2d7db5bd085e9126232e8c49c58707cb153db1d1e20a109c90f7bcbae4f2c74d6595207cb0e5dd271eea30752a1425905d0811d0f42019e5088142b41945bee03948f206f2e7c3c1081ba9a297180e36b247ee9e70832035]\n[sha = SHA-512]\n\n# tcId = 364\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100c152aafea3a8612ec83a7dc9448f01941899d7041319bbd60bfdfb3c03da74c00c8fc4176128a6263268711edc6e8e90\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 048e39e1e44f782b810ea93037c344371c4fb141c8bf196ea618f3a176547139a6d02121d2794cbe6481061694db579315c3184e8cd9b6c16b37699633d87f5600654b44cbcb5ab50ba872dfa001769eb765b2d1902e01d2e8af4e1fd6e9c0f30f]\n[key.wx = 08e39e1e44f782b810ea93037c344371c4fb141c8bf196ea618f3a176547139a6d02121d2794cbe6481061694db579315]\n[key.wy = 0c3184e8cd9b6c16b37699633d87f5600654b44cbcb5ab50ba872dfa001769eb765b2d1902e01d2e8af4e1fd6e9c0f30f]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200048e39e1e44f782b810ea93037c344371c4fb141c8bf196ea618f3a176547139a6d02121d2794cbe6481061694db579315c3184e8cd9b6c16b37699633d87f5600654b44cbcb5ab50ba872dfa001769eb765b2d1902e01d2e8af4e1fd6e9c0f30f]\n[sha = SHA-512]\n\n# tcId = 365\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02304764eeac3e7a08daacfad7d1e1e3696042164b06f77bd78c3213ddea6f9fd449a34c97b9e560a6bf7195da41333c7565\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04b96fca0e3f6ebf7326f0a8ce8bdf226a2560c22526bf154f7b467010f3a46baca73414070db0f7ab039f345548452ae26f7b744274e9bd6c791f47513e6b51eb42fea3816b3032b33a81695f04d4e775be06484cf7e6a69cba8bacbcb597b3e3]\n[key.wx = 0b96fca0e3f6ebf7326f0a8ce8bdf226a2560c22526bf154f7b467010f3a46baca73414070db0f7ab039f345548452ae2]\n[key.wy = 6f7b744274e9bd6c791f47513e6b51eb42fea3816b3032b33a81695f04d4e775be06484cf7e6a69cba8bacbcb597b3e3]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004b96fca0e3f6ebf7326f0a8ce8bdf226a2560c22526bf154f7b467010f3a46baca73414070db0f7ab039f345548452ae26f7b744274e9bd6c791f47513e6b51eb42fea3816b3032b33a81695f04d4e775be06484cf7e6a69cba8bacbcb597b3e3]\n[sha = SHA-512]\n\n# tcId = 366\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100cb4d5c0ff0abe29b2771fe9f179a5614e2e4c3cc1134a7aad08d8ec3fd8fcd07fd34b3473ca65ead1c7bb20bcf3ea5c9\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 044fd52b11ff747b59ef609e065a462cd85b73172d20f406fdd845d4eaa3ec173e06ee58a58e1810f051b275bbaa47ccb484d2382b9e72c526dc3764a11a4a962a7a4c7355e6f057fc976ab73cc384f9a29da5076", - "9809ecbf37358dd83c74fc25f]\n[key.wx = 4fd52b11ff747b59ef609e065a462cd85b73172d20f406fdd845d4eaa3ec173e06ee58a58e1810f051b275bbaa47ccb4]\n[key.wy = 084d2382b9e72c526dc3764a11a4a962a7a4c7355e6f057fc976ab73cc384f9a29da50769809ecbf37358dd83c74fc25f]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200044fd52b11ff747b59ef609e065a462cd85b73172d20f406fdd845d4eaa3ec173e06ee58a58e1810f051b275bbaa47ccb484d2382b9e72c526dc3764a11a4a962a7a4c7355e6f057fc976ab73cc384f9a29da50769809ecbf37358dd83c74fc25f]\n[sha = SHA-512]\n\n# tcId = 367\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02306e441db253bf798dbc07ff041506dc73a75086a43252fb439dd016110475d8381f65f7f27f9e1cfc9b48f06a2dfa8eb6\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 047d123e3dbab9913d698891023e28654cba2a94dc408a0dc386e63d8d22ff0f33358a231860b7c2e4f8429e9e8c9a1c5be7c95d1875f24ecdfeffc6136cf56f800f5434490f234f14d78505c2d4aea51e2a3a6a5d1693e72c4b1dd2a8746b875a]\n[key.wx = 7d123e3dbab9913d698891023e28654cba2a94dc408a0dc386e63d8d22ff0f33358a231860b7c2e4f8429e9e8c9a1c5b]\n[key.wy = 0e7c95d1875f24ecdfeffc6136cf56f800f5434490f234f14d78505c2d4aea51e2a3a6a5d1693e72c4b1dd2a8746b875a]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200047d123e3dbab9913d698891023e28654cba2a94dc408a0dc386e63d8d22ff0f33358a231860b7c2e4f8429e9e8c9a1c5be7c95d1875f24ecdfeffc6136cf56f800f5434490f234f14d78505c2d4aea51e2a3a6a5d1693e72c4b1dd2a8746b875a]\n[sha = SHA-512]\n\n# tcId = 368\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023041db253bf798dbc07ff041506dc73a75086a43252fb43b63191efcd0914b6afb4bf8c77d008dbeac04277ef4aa59c394\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04608ce23a383452f8f4dcc5c0085d6793ec518985f0276a3409a23d7b7ca7e7dcb163601aca73840c3bd470aff70250bf674005a0be08939339363e314dca7ea67adfb60cd530628fe35f05416da8f20d5fb3b0ccd183a21dbb41c4e195d6303d]\n[key.wx = 608ce23a383452f8f4dcc5c0085d6793ec518985f0276a3409a23d7b7ca7e7dcb163601aca73840c3bd470aff70250bf]\n[key.wy = 674005a0be08939339363e314dca7ea67adfb60cd530628fe35f05416da8f20d5fb3b0ccd183a21dbb41c4e195d6303d]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004608ce23a383452f8f4dcc5c0085d6793ec518985f0276a3409a23d7b7ca7e7dcb163601aca73840c3bd470aff70250bf674005a0be08939339363e314dca7ea67adfb60cd530628fe35f05416da8f20d5fb3b0ccd183a21dbb41c4e195d6303d]\n[sha = SHA-512]\n\n# tcId = 369\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02310083b64a77ef31b780ffe082a0db8e74ea10d4864a5f6876c6323df9a12296d5f697f18efa011b7d58084efde954b38728\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 0448d23de1869475a1de532399da1240bab560eb74a6c7b0871bf8ac8fb6cc17cf7b34fcd7c79fd99c76c605bdf3fcbe18e15b66ab91d0a03e203c2ff914d4bedc38c1ec5dcd1d12db9b43ef6f44581632683bf785aa4326566227ece3c16be796]\n[key.wx = 48d23de1869475a1de532399da1240bab560eb74a6c7b0871bf8ac8fb6cc17cf7b34fcd7c79fd99c76c605bdf3fcbe18]\n[key.wy = 0e15b66ab91d0a03e203c2ff914d4bedc38c1ec5dcd1d12db9b43ef6f44581632683bf785aa4326566227ece3c16be796]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000448d23de1869475a1de532399da1240bab560eb74a6c7b0871bf8ac8fb6cc17cf7b34fcd7c79fd99c76c605bdf3fcbe18e15b66ab91d0a03e203c2ff914d4bedc38c1ec5dcd1d12db9b43ef6f44581632683bf785aa4326566227ece3c16be796]\n[sha = SHA-512]\n\n# tcId = 370\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023053bf798dbc07ff041506dc73a75086a43252fb43b6327af3b42da6d3e9a72cde0b5c2de6bf072e780e94ad12dcab270a\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 045d5eb470f9c6a0bb18e8960b67011acf9f01df405ac5b4bf9f4611d6a8af1a26b11b0790e93ae2361525dde51bacac94d42ce151793b80cee679c848362ec272000316590ebc91547b3b6608dfbade21e04de1548ebb45cc4721eb64a16b8318]\n[key.wx = 5d5eb470f9c6a0bb18e8960b67011acf9f01df405ac5b4bf9f4611d6a8af1a26b11b0790e93ae2361525dde51bacac94]\n[key.wy = 0d42ce151793b80cee679c848362ec272000316590ebc91547b3b6608dfbade21e04de1548ebb45cc4721eb64a16b8318]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200045d5eb470f9c6a0bb18e8960b67011acf9f01df405ac5b4bf9f4611d6a8af1a26b11b0790e93ae2361525dde51bacac94d42ce151793b80cee679c848362ec272000316590ebc91547b3b6608dfbade21e04de1548ebb45cc4721eb64a16b8318]\n[sha = SHA-512]\n\n# tcId = 371\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023024c53b0a00cf087a9a20a2b78bc81d5b383d04ba9b55a567405239d224387344c41cceff0f68ffc930dbaa0b3d346f45\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 041da34a149ed562c8ec13e84cb067107bc28b50bfa47575d5a9948cde5a3d7357c38ea41fcfcdd1ab1a1bd9b6592b33d9e14aedfd0cfffcfecbdc21276e6a2c78b8729412c48339ae538b799b7d8e61163047a64cfcec9018aa00f99ae740e3f3]\n[key.wx = 1da34a149ed562c8ec13e84cb067107bc28b50bfa47575d5a9948cde5a3d7357c38ea41fcfcdd1ab1a1bd9b6592b33d9]\n[key.wy = 0e14aedfd0cfffcfecbdc21276e6a2c78b8729412c48339ae538b799b7d8e61163047a64cfcec9018aa00f99ae740e3f3]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200041da34a149ed562c8ec13e84cb067107bc28b50bfa47575d5a9948cde5a3d7357c38ea41fcfcdd1ab1a1bd9b6592b33d9e14aedfd0cfffcfecbdc21276e6a2c78b8729412c48339ae538b799b7d8e61163047a64cfcec9018aa00f99ae740e3f3]\n[sha = SHA-512]\n\n# tcId = 372\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100c600ccb39bb3e2d85d880d76d1d519205f050c4b93deae0c5d63e8898ca8d7a5babbb944debe0f3c44332aae5770cb7b\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 048b8675211b321f8b318ba60337cde32a6b04243979546383127a068a8749cb5e98c4231b198de62a2b069d3a94d1c7b19d33468a130b4fef66a59d4aee00ca40bdbeaf044b8b22841bb4c8ba419f891b3855f4bddf8dae3577d97120b9d3fa44]\n[key.wx = 08b8675211b321f8b318ba60337cde32a6b04243979546383127a068a8749cb5e98c4231b198de62a2b069d3a94d1c7b1]\n[key.wy = 09d33468a130b4fef66a59d4aee00ca40bdbeaf044b8b22841bb4c8ba419f891b3855f4bddf8dae3577d97120b9d3fa44]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200048b8675211b321f8b318ba60337cde32a6b04243979546383127a068a8749cb5e98c4231b198de62a2b069d3a94d1c7b19d33468a130b4fef66a59d4aee00ca40bdbeaf044b8b22841bb4c8ba419f891b3855f4bddf8dae3577d97120b9d3fa44]\n[sha = SHA-512]\n\n# tcId = 373\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02303ead55015c579ed137c58236bb70fe6be76628fbece64429bb655245f05cb91f4b8a499ae7880154ba83a84bf0569ae3\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04442766bdb8b2cf4fef5f65d5d86b61681ec89220c983b51f15bfe12fb0bf9780e0c38bbcc888afb3c55ee828774b86f756b7f399c534c7acd46be4bc8bb38f087b0023b8f5166ab34192ca0b1cad62d663aa474c6f9286c8a054ef94ea42e3c7]\n[key.wx = 442766bdb8b2cf4fef5f65d5d86b61681ec89220c983b51f15bfe12fb0bf9780e0c38bbcc888afb3c55ee828774b86f7]\n[key.wy = 56b7f399c534c7acd46be4bc8bb38f087b0023b8f5166ab34192ca0b1cad62d663aa474c6f9286c8a054ef94ea42e3c7]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004442766bdb8b2cf4fef5f65d5d86b61681ec89220c983b51f15bfe12fb0bf9780e0c38bbcc888afb3c55ee828774b86f756b7f399c534c7acd46be4bc8bb38f087b0023b8f5166ab34192ca0b1cad62d663aa474c6f9286c8a054ef94ea42e3c7]\n[sha = SHA-512]\n\n# tcId = 374\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100de03ff820a836e39d3a8435219297da1db193d79e359663e7cc9a229e2a6ac9e9d5c75417fa455bc8e3b89274ee47d0e\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type", - " = ECPublicKey]\n[key.uncompressed = 0411342b314f31648931abb897c1371dd3a23e91f2405c4a81744be18e753919752208779de2d54e865eeefbb0bfb4998af533d7a4d6fc6cb5cb98915ce08d0f656e37a502e78f8c1b8baca728c2ecb05a2156f01cff16595b363cdb49c00c1aa2]\n[key.wx = 11342b314f31648931abb897c1371dd3a23e91f2405c4a81744be18e753919752208779de2d54e865eeefbb0bfb4998a]\n[key.wy = 0f533d7a4d6fc6cb5cb98915ce08d0f656e37a502e78f8c1b8baca728c2ecb05a2156f01cff16595b363cdb49c00c1aa2]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000411342b314f31648931abb897c1371dd3a23e91f2405c4a81744be18e753919752208779de2d54e865eeefbb0bfb4998af533d7a4d6fc6cb5cb98915ce08d0f656e37a502e78f8c1b8baca728c2ecb05a2156f01cff16595b363cdb49c00c1aa2]\n[sha = SHA-512]\n\n# tcId = 375\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100e5a6ae07f855f14d93b8ff4f8bcd2b0a717261e6089a53d54bf86e22f8e37d73aaa7607cc2ab831404b3e5bb4e01e79e\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 043c96b49ff60ff05951b7b1aca65664f13128b714da620697ef0d90bfc01ef643baa5c608f16ca885038322a443aed3e6169a27f2ea7a36376ef92a900e5389a7b441fd051d693ce65250b881cfdd6487370372292c84369742b18106188b05c0]\n[key.wx = 3c96b49ff60ff05951b7b1aca65664f13128b714da620697ef0d90bfc01ef643baa5c608f16ca885038322a443aed3e6]\n[key.wy = 169a27f2ea7a36376ef92a900e5389a7b441fd051d693ce65250b881cfdd6487370372292c84369742b18106188b05c0]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200043c96b49ff60ff05951b7b1aca65664f13128b714da620697ef0d90bfc01ef643baa5c608f16ca885038322a443aed3e6169a27f2ea7a36376ef92a900e5389a7b441fd051d693ce65250b881cfdd6487370372292c84369742b18106188b05c0]\n[sha = SHA-512]\n\n# tcId = 376\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02307fffffffffffffffffffffffffffffffffffffffffffffffed2119d5fc12649fc808af3b6d9037d3a44eb32399970dd0\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04388dae49ea48afb558456fdb1d0b04d4f8f1c46f14d22de25862d35069a28ae9284d7a8074546e779ad2c5f17ce9b89bb353298f3c526aa0a10ed23bcb1ed9788812c8a3a6cbea82a3d9d8d465a4cca59dbd3d3d8a36098d644f1b45d36df537]\n[key.wx = 388dae49ea48afb558456fdb1d0b04d4f8f1c46f14d22de25862d35069a28ae9284d7a8074546e779ad2c5f17ce9b89b]\n[key.wy = 0b353298f3c526aa0a10ed23bcb1ed9788812c8a3a6cbea82a3d9d8d465a4cca59dbd3d3d8a36098d644f1b45d36df537]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004388dae49ea48afb558456fdb1d0b04d4f8f1c46f14d22de25862d35069a28ae9284d7a8074546e779ad2c5f17ce9b89bb353298f3c526aa0a10ed23bcb1ed9788812c8a3a6cbea82a3d9d8d465a4cca59dbd3d3d8a36098d644f1b45d36df537]\n[sha = SHA-512]\n\n# tcId = 377\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023079b95c013b0472de04d8faeec3b779c39fe729ea84fb554cd091c7178c2f054eabbc62c3e1cfbac2c2e69d7aa45d9072\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04c85200ac6411423573e3ebc1b7aea95e74add5ce3b41282baa885972acc085c8365c05c539ce47e799afc353d6788ce868cfce1eb2bfe009990084fb03c0919ab892313d7a12efc3514e8273685b9071892faefca4306adf7854afcebafffbf4]\n[key.wx = 0c85200ac6411423573e3ebc1b7aea95e74add5ce3b41282baa885972acc085c8365c05c539ce47e799afc353d6788ce8]\n[key.wy = 68cfce1eb2bfe009990084fb03c0919ab892313d7a12efc3514e8273685b9071892faefca4306adf7854afcebafffbf4]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004c85200ac6411423573e3ebc1b7aea95e74add5ce3b41282baa885972acc085c8365c05c539ce47e799afc353d6788ce868cfce1eb2bfe009990084fb03c0919ab892313d7a12efc3514e8273685b9071892faefca4306adf7854afcebafffbf4]\n[sha = SHA-512]\n\n# tcId = 378\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100bfd40d0caa4d9d42381f3d72a25683f52b03a1ed96fb72d03f08dcb9a8bc8f23c1a459deab03bcd39396c0d1e9053c81\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04e63ae2881ed60884ef1aef52178a297bdfedf67f4e3c1d876ad10b42c03b5e67f7f8cfaf4dfea4def7ab82fde3ed9b910e2be22bc3fa46a2ed094ebd7c86a9512c8c40cd542fb539c34347ef2be4e7f1543af960fd2347354a7a1df71a237d51]\n[key.wx = 0e63ae2881ed60884ef1aef52178a297bdfedf67f4e3c1d876ad10b42c03b5e67f7f8cfaf4dfea4def7ab82fde3ed9b91]\n[key.wy = 0e2be22bc3fa46a2ed094ebd7c86a9512c8c40cd542fb539c34347ef2be4e7f1543af960fd2347354a7a1df71a237d51]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004e63ae2881ed60884ef1aef52178a297bdfedf67f4e3c1d876ad10b42c03b5e67f7f8cfaf4dfea4def7ab82fde3ed9b910e2be22bc3fa46a2ed094ebd7c86a9512c8c40cd542fb539c34347ef2be4e7f1543af960fd2347354a7a1df71a237d51]\n[sha = SHA-512]\n\n# tcId = 379\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02304c7d219db9af94ce7fffffffffffffffffffffffffffffffef15cf1058c8d8ba1e634c4122db95ec1facd4bb13ebf09a\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04e9c415f8a72055239570c3c370cf9380cdfabb6ebdbd8058e2fc65193080707895ea1566eeb26149603f4b4d4c1e79d496ae17a001424d21eae4eaa01067048bcd919625fdd7efd896d980633a0e2ca1f8c9b02c99b69a1e4fa53468a2fe244d]\n[key.wx = 0e9c415f8a72055239570c3c370cf9380cdfabb6ebdbd8058e2fc65193080707895ea1566eeb26149603f4b4d4c1e79d4]\n[key.wy = 096ae17a001424d21eae4eaa01067048bcd919625fdd7efd896d980633a0e2ca1f8c9b02c99b69a1e4fa53468a2fe244d]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004e9c415f8a72055239570c3c370cf9380cdfabb6ebdbd8058e2fc65193080707895ea1566eeb26149603f4b4d4c1e79d496ae17a001424d21eae4eaa01067048bcd919625fdd7efd896d980633a0e2ca1f8c9b02c99b69a1e4fa53468a2fe244d]\n[sha = SHA-512]\n\n# tcId = 380\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100d219db9af94ce7ffffffffffffffffffffffffffffffffffd189bdb6d9ef7be8504ca374756ea5b8f15e44067d209b9b\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04637223a93dd63af6b348f246e7b3bcb30beaa1dcc888af8e12e5086aa00f7792fbe457463c52422d435f430ad1bb4b21f9a1e01758d1e025b162d09d3df8b403226ed3b35e414c41651740d509d8cf6b5e558118607d10669902abebda3ca28d]\n[key.wx = 637223a93dd63af6b348f246e7b3bcb30beaa1dcc888af8e12e5086aa00f7792fbe457463c52422d435f430ad1bb4b21]\n[key.wy = 0f9a1e01758d1e025b162d09d3df8b403226ed3b35e414c41651740d509d8cf6b5e558118607d10669902abebda3ca28d]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004637223a93dd63af6b348f246e7b3bcb30beaa1dcc888af8e12e5086aa00f7792fbe457463c52422d435f430ad1bb4b21f9a1e01758d1e025b162d09d3df8b403226ed3b35e414c41651740d509d8cf6b5e558118607d10669902abebda3ca28d]\n[sha = SHA-512]\n\n# tcId = 381\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100a433b735f299cfffffffffffffffffffffffffffffffffffdbb02debbfa7c9f1487f3936a22ca3f6f5d06ea22d7c0dc3\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 047f4dc23982ecc8b84f54241715c7e94e950f596ce033237639a15fefa5eb5c37cb2e562d6d5b3051ea15600e3341a565fed2b55b89d2793321374887b78827ee4ca2216eac2993b1b095844db76adc560450135c072ac1a2c4167520237fbc9d]\n[key.wx = 7f4dc23982ecc8b84f54241715c7e94e950f596ce033237639a15fefa5eb5c37cb2e562d6d5b3051ea15600e3341a565]\n[key.wy = 0fed2b55b89d2793321374887b78827ee4ca2216eac2993b1b095844db76adc560450135c072ac1a2c4167520237fbc9d]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200047f4dc23982ecc8b84f54241715c7e94e950f596ce033237639a15fefa5eb5c37cb2e562d6d5b3051ea15600e3341a565fed2b55b89d2793321374887b78827ee4ca2216eac2993b1b095844db76adc560450135c072ac1a2c4167520237fbc9d]\n[sha = SHA-512]\n\n# tcId = 382\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffff", - "ffffffffffffffffffffffffffffffffffffffffffffffffffffd023100b9af94ce7fffffffffffffffffffffffffffffffffffffffd6efeefc876c9f23217b443c80637ef939e911219f96c179\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04a0ae8c949f63f1b6a5d024c99e0a296ecd12d196d3b1625d4a76600082a14d455aab267c68f571d89ad0619cb8e476a134634336611e1fd1d728bcea588d0e1b652bbca0e52c1bfbd4387a6337ff41ce13a65c8306915d2a39897b985d909b36]\n[key.wx = 0a0ae8c949f63f1b6a5d024c99e0a296ecd12d196d3b1625d4a76600082a14d455aab267c68f571d89ad0619cb8e476a1]\n[key.wy = 34634336611e1fd1d728bcea588d0e1b652bbca0e52c1bfbd4387a6337ff41ce13a65c8306915d2a39897b985d909b36]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004a0ae8c949f63f1b6a5d024c99e0a296ecd12d196d3b1625d4a76600082a14d455aab267c68f571d89ad0619cb8e476a134634336611e1fd1d728bcea588d0e1b652bbca0e52c1bfbd4387a6337ff41ce13a65c8306915d2a39897b985d909b36]\n[sha = SHA-512]\n\n# tcId = 383\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100a276276276276276276276276276276276276276276276273d7228d4f84b769be0fd57b97e4c1ebcae9a5f635e80e9df\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 047cad1637721f5988cb7967238b1f47fd0b63f30f207a165951fc6fb74ba868e5b462628595edc80f75182e564a89c7a0fc04c405938aab3d6828e72e86bc59a400719270f8ee3cb5ef929ab53287bb308b51abd2e3ffbc3d93b87471bc2e3730]\n[key.wx = 7cad1637721f5988cb7967238b1f47fd0b63f30f207a165951fc6fb74ba868e5b462628595edc80f75182e564a89c7a0]\n[key.wy = 0fc04c405938aab3d6828e72e86bc59a400719270f8ee3cb5ef929ab53287bb308b51abd2e3ffbc3d93b87471bc2e3730]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200047cad1637721f5988cb7967238b1f47fd0b63f30f207a165951fc6fb74ba868e5b462628595edc80f75182e564a89c7a0fc04c405938aab3d6828e72e86bc59a400719270f8ee3cb5ef929ab53287bb308b51abd2e3ffbc3d93b87471bc2e3730]\n[sha = SHA-512]\n\n# tcId = 384\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023073333333333333333333333333333333333333333333333316e4d9f42d4eca22df403a0c578b86f0a9a93fe89995c7ed\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 042024ecde0e61262955b0301ae6b0a4fbd7771762feb2de35eed1823d2636c6e001f7bfcdbc4e65b1ea40224090411906d55362a570e80a2126f01d919b608440294039be03419d518b13cca6a1595414717f1b4ddb842b2c9d4f543e683b86a0]\n[key.wx = 2024ecde0e61262955b0301ae6b0a4fbd7771762feb2de35eed1823d2636c6e001f7bfcdbc4e65b1ea40224090411906]\n[key.wy = 0d55362a570e80a2126f01d919b608440294039be03419d518b13cca6a1595414717f1b4ddb842b2c9d4f543e683b86a0]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200042024ecde0e61262955b0301ae6b0a4fbd7771762feb2de35eed1823d2636c6e001f7bfcdbc4e65b1ea40224090411906d55362a570e80a2126f01d919b608440294039be03419d518b13cca6a1595414717f1b4ddb842b2c9d4f543e683b86a0]\n[sha = SHA-512]\n\n# tcId = 385\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02307fffffffffffffffffffffffffffffffffffffffffffffffda4233abf824c93f90115e76db206fa7489d6647332e1ba3\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 0440c5f2608956380c39695c7457ddce0880b5e8fab0a9a3726d0c8535b2ff6ca15814d83ed82c0ab33aba76e05e5c0476c9d15a2a0b2041237ff61c26519d1d74b141d7a4499fbdefc414a900937a8faf6ef560550c73cdb7edfe9314c480bb2b]\n[key.wx = 40c5f2608956380c39695c7457ddce0880b5e8fab0a9a3726d0c8535b2ff6ca15814d83ed82c0ab33aba76e05e5c0476]\n[key.wy = 0c9d15a2a0b2041237ff61c26519d1d74b141d7a4499fbdefc414a900937a8faf6ef560550c73cdb7edfe9314c480bb2b]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000440c5f2608956380c39695c7457ddce0880b5e8fab0a9a3726d0c8535b2ff6ca15814d83ed82c0ab33aba76e05e5c0476c9d15a2a0b2041237ff61c26519d1d74b141d7a4499fbdefc414a900937a8faf6ef560550c73cdb7edfe9314c480bb2b]\n[sha = SHA-512]\n\n# tcId = 386\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02303fffffffffffffffffffffffffffffffffffffffffffffffe3b1a6c0fa1b96efac0d06d9245853bd76760cb5666294bb\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 0474acdfd2ab763c593bca30d248f2bf26f1843acf9eb89b4dfcb8451d59683812cf3cbe9a264ea435912a8969c53d7cb8496dcb0a4efed69b87110fda20e68eb6feed2d5101a4955d43759f10b73e8ffc3131e0c12a765b68bd216ed1ec4f5d2f]\n[key.wx = 74acdfd2ab763c593bca30d248f2bf26f1843acf9eb89b4dfcb8451d59683812cf3cbe9a264ea435912a8969c53d7cb8]\n[key.wy = 496dcb0a4efed69b87110fda20e68eb6feed2d5101a4955d43759f10b73e8ffc3131e0c12a765b68bd216ed1ec4f5d2f]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000474acdfd2ab763c593bca30d248f2bf26f1843acf9eb89b4dfcb8451d59683812cf3cbe9a264ea435912a8969c53d7cb8496dcb0a4efed69b87110fda20e68eb6feed2d5101a4955d43759f10b73e8ffc3131e0c12a765b68bd216ed1ec4f5d2f]\n[sha = SHA-512]\n\n# tcId = 387\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100dfea06865526cea11c0f9eb9512b41fa9581d0f6cb7db9680336151dce79de818cdf33c879da322740416d1e5ae532fa\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04da35d6a82818ae5254cb65fc86ac42a47873ab247a5ca664e9f095e8de9a57fe721860e66cbc6bd499431a48a3991734945baab27ca6383737b7dd45023f997aff5e165f0fd7d8e5c0b5f9c5e731588af2fe5bd8976a0b871c132edf21f363af]\n[key.wx = 0da35d6a82818ae5254cb65fc86ac42a47873ab247a5ca664e9f095e8de9a57fe721860e66cbc6bd499431a48a3991734]\n[key.wy = 0945baab27ca6383737b7dd45023f997aff5e165f0fd7d8e5c0b5f9c5e731588af2fe5bd8976a0b871c132edf21f363af]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004da35d6a82818ae5254cb65fc86ac42a47873ab247a5ca664e9f095e8de9a57fe721860e66cbc6bd499431a48a3991734945baab27ca6383737b7dd45023f997aff5e165f0fd7d8e5c0b5f9c5e731588af2fe5bd8976a0b871c132edf21f363af]\n[sha = SHA-512]\n\n# tcId = 388\n# point duplication during verification\nmsg = 313233343030\nresult = valid\nsig = 3066023100b37699e0d518a4d370dbdaaaea3788850fa03f8186d1f78fdfbae6540aa670b31c8ada0fff3e737bd69520560fe0ce60023100e16043c2face20228dba6366e19ecc6db71b918bbe8a890b9dad2fcead184e071c9ac4acaee2f831a1e4cc337994f5ec\n# Some implementations of ECDSA do not handle duplication and points at infinity\n# correctly. This is a test vector that has been specially crafted to check for\n# such an omission.\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04da35d6a82818ae5254cb65fc86ac42a47873ab247a5ca664e9f095e8de9a57fe721860e66cbc6bd499431a48a39917346ba4554d8359c7c8c84822bafdc0668500a1e9a0f028271a3f4a063a18cea7740d01a4266895f478e3ecd121de0c9c50]\n[key.wx = 0da35d6a82818ae5254cb65fc86ac42a47873ab247a5ca664e9f095e8de9a57fe721860e66cbc6bd499431a48a3991734]\n[key.wy = 6ba4554d8359c7c8c84822bafdc0668500a1e9a0f028271a3f4a063a18cea7740d01a4266895f478e3ecd121de0c9c50]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004da35d6a82818ae5254cb65fc86ac42a47873ab247a5ca664e9f095e8de9a57fe721860e66cbc6bd499431a48a39917346ba4554d8359c7c8c84822bafdc0668500a1e9a0f028271a3f4a063a18cea7740d01a4266895f478e3ecd121de0c9c50]\n[sha = SHA-512]\n\n# tcId = 389\n# duplication bug\nmsg = 313233343030\nresult = invalid\nsig = 3066023100b37699e0d518a4d370dbdaaaea3788850fa03f8186d1f78fdfbae6540aa670b31c8ada0fff3e737bd69520560fe0ce60023100e16043c2face20228dba6366e19ecc6db71b918bbe8a890b9dad2fcead184e071c9ac4acaee2f831a1e4cc337994f5ec\n# Some implementations of ECDSA do not handle duplication and points at infinity\n# correctly. This is a test vector that has been specially crafted to check for\n# such an omission.\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04820064193c71c7141fe41e711fe843a7474be6b05f50cb0be411cdf7fc78ea7ec96aeb3991ef7646bbde59152d381a32631c5adf93d488b45e67cc9890d8e779f63960193dc16bd1cc136b3e28cf499dfa8e7bff482a0115e6083987f7c042fc]\n[key.wx = 0", - "820064193c71c7141fe41e711fe843a7474be6b05f50cb0be411cdf7fc78ea7ec96aeb3991ef7646bbde59152d381a32]\n[key.wy = 631c5adf93d488b45e67cc9890d8e779f63960193dc16bd1cc136b3e28cf499dfa8e7bff482a0115e6083987f7c042fc]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004820064193c71c7141fe41e711fe843a7474be6b05f50cb0be411cdf7fc78ea7ec96aeb3991ef7646bbde59152d381a32631c5adf93d488b45e67cc9890d8e779f63960193dc16bd1cc136b3e28cf499dfa8e7bff482a0115e6083987f7c042fc]\n[sha = SHA-512]\n\n# tcId = 390\n# point with x-coordinate 0\nmsg = 313233343030\nresult = invalid\nsig = 3035020101023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 0452fabc58eacfd3a4828f51c413205c20888941ee45ecac076ffc23145d83542034aa01253d6ebf34eeefaa371d6cee119f340712cd78155712746578f5632ded2b2e5afb43b085f81732792108e331a4b50d27f3578252ffb0daa9d78655a0ab]\n[key.wx = 52fabc58eacfd3a4828f51c413205c20888941ee45ecac076ffc23145d83542034aa01253d6ebf34eeefaa371d6cee11]\n[key.wy = 09f340712cd78155712746578f5632ded2b2e5afb43b085f81732792108e331a4b50d27f3578252ffb0daa9d78655a0ab]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000452fabc58eacfd3a4828f51c413205c20888941ee45ecac076ffc23145d83542034aa01253d6ebf34eeefaa371d6cee119f340712cd78155712746578f5632ded2b2e5afb43b085f81732792108e331a4b50d27f3578252ffb0daa9d78655a0ab]\n[sha = SHA-512]\n\n# tcId = 391\n# point with x-coordinate 0\nmsg = 313233343030\nresult = invalid\nsig = 3065023101000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000023033333333333333333333333333333333333333333333333327e0a919fda4a2c644d202bd41bcee4bc8fc05155c276eb0\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04a8fdb1a022d4e3a7ee29612bb110acbea27daecb827d344cb6c6a7acad61d371ddc7842147b74a18767e618712f04c1c64ac6daf8e08cd7b90a0c9d9123884c7a7abb4664a75b0897064c3c8956b0ca9c417237f8d5a7dd8421b0d48c9d52c7c]\n[key.wx = 0a8fdb1a022d4e3a7ee29612bb110acbea27daecb827d344cb6c6a7acad61d371ddc7842147b74a18767e618712f04c1c]\n[key.wy = 64ac6daf8e08cd7b90a0c9d9123884c7a7abb4664a75b0897064c3c8956b0ca9c417237f8d5a7dd8421b0d48c9d52c7c]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004a8fdb1a022d4e3a7ee29612bb110acbea27daecb827d344cb6c6a7acad61d371ddc7842147b74a18767e618712f04c1c64ac6daf8e08cd7b90a0c9d9123884c7a7abb4664a75b0897064c3c8956b0ca9c417237f8d5a7dd8421b0d48c9d52c7c]\n[sha = SHA-512]\n\n# tcId = 392\n# comparison with point at infinity \nmsg = 313233343030\nresult = invalid\nsig = 3064023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326023033333333333333333333333333333333333333333333333327e0a919fda4a2c644d202bd41bcee4bc8fc05155c276eb0\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04878e414a5d6a0e0d1ab3c5563c44e80c3b2ef265f27a33ed5cac109ad664c1269beae9031d8d178cbfdb1bfa7cc3cc79fabbb2b6f7ce54026863b0f297a4fe3de82d5044dacafede49d5afc60bc875f4b659c06c19bb74c7c27351687f52b411]\n[key.wx = 0878e414a5d6a0e0d1ab3c5563c44e80c3b2ef265f27a33ed5cac109ad664c1269beae9031d8d178cbfdb1bfa7cc3cc79]\n[key.wy = 0fabbb2b6f7ce54026863b0f297a4fe3de82d5044dacafede49d5afc60bc875f4b659c06c19bb74c7c27351687f52b411]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004878e414a5d6a0e0d1ab3c5563c44e80c3b2ef265f27a33ed5cac109ad664c1269beae9031d8d178cbfdb1bfa7cc3cc79fabbb2b6f7ce54026863b0f297a4fe3de82d5044dacafede49d5afc60bc875f4b659c06c19bb74c7c27351687f52b411]\n[sha = SHA-512]\n\n# tcId = 393\n# extreme value for k and edgecase s\nmsg = 313233343030\nresult = valid\nsig = 3064023008d999057ba3d2d969260045c55b97f089025959a6f434d651d207d19fb96e9e4fe0e86ebe0e64f85b96a9c75295df61023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 048faa8497ae3006b612999b03f91f7884d95543a266598e897b71e44ecfd9abd7908bfd122bb366c016a577cb1b2e2e412bb1a719289c749804ca677d14c0900fab031da8c70724723a0d54e3a0035da7dcddeef6fce80df2f81940817d27b2b5]\n[key.wx = 08faa8497ae3006b612999b03f91f7884d95543a266598e897b71e44ecfd9abd7908bfd122bb366c016a577cb1b2e2e41]\n[key.wy = 2bb1a719289c749804ca677d14c0900fab031da8c70724723a0d54e3a0035da7dcddeef6fce80df2f81940817d27b2b5]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200048faa8497ae3006b612999b03f91f7884d95543a266598e897b71e44ecfd9abd7908bfd122bb366c016a577cb1b2e2e412bb1a719289c749804ca677d14c0900fab031da8c70724723a0d54e3a0035da7dcddeef6fce80df2f81940817d27b2b5]\n[sha = SHA-512]\n\n# tcId = 394\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3064023008d999057ba3d2d969260045c55b97f089025959a6f434d651d207d19fb96e9e4fe0e86ebe0e64f85b96a9c75295df6102302492492492492492492492492492492492492492492492491c7be680477598d6c3716fabc13dcec86afd2833d41c2a7e\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04c59cc648629e62dc1855f653583da0ace631e0f4b4589b7fe5cc449e12df2dceeb862cae00cd100233b999af657ae16cb138f659dcc8d342fd17664d86c5bddaa866c20b0031f65c8442a0ed62b337d09adb63a443ab14e3587b9299053717f9]\n[key.wx = 0c59cc648629e62dc1855f653583da0ace631e0f4b4589b7fe5cc449e12df2dceeb862cae00cd100233b999af657ae16c]\n[key.wy = 0b138f659dcc8d342fd17664d86c5bddaa866c20b0031f65c8442a0ed62b337d09adb63a443ab14e3587b9299053717f9]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004c59cc648629e62dc1855f653583da0ace631e0f4b4589b7fe5cc449e12df2dceeb862cae00cd100233b999af657ae16cb138f659dcc8d342fd17664d86c5bddaa866c20b0031f65c8442a0ed62b337d09adb63a443ab14e3587b9299053717f9]\n[sha = SHA-512]\n\n# tcId = 395\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3064023008d999057ba3d2d969260045c55b97f089025959a6f434d651d207d19fb96e9e4fe0e86ebe0e64f85b96a9c75295df6102306666666666666666666666666666666666666666666666664fc15233fb49458c89a4057a8379dc9791f80a2ab84edd61\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04386bdc98fe3c156a790eee6d556e0036a4b84853358bd5ab6856db5985b9e8ea92e8d4c1f8d04ecd1e6de4548bf288215503292c2c570f57b42f2caf5e7ab94d87817a800b2af6ffcd4f13e30edb8caaf23c6d5be22abea18c2f9450ad1a4715]\n[key.wx = 386bdc98fe3c156a790eee6d556e0036a4b84853358bd5ab6856db5985b9e8ea92e8d4c1f8d04ecd1e6de4548bf28821]\n[key.wy = 5503292c2c570f57b42f2caf5e7ab94d87817a800b2af6ffcd4f13e30edb8caaf23c6d5be22abea18c2f9450ad1a4715]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004386bdc98fe3c156a790eee6d556e0036a4b84853358bd5ab6856db5985b9e8ea92e8d4c1f8d04ecd1e6de4548bf288215503292c2c570f57b42f2caf5e7ab94d87817a800b2af6ffcd4f13e30edb8caaf23c6d5be22abea18c2f9450ad1a4715]\n[sha = SHA-512]\n\n# tcId = 396\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3065023008d999057ba3d2d969260045c55b97f089025959a6f434d651d207d19fb96e9e4fe0e86ebe0e64f85b96a9c75295df6102310099999999999999999999999999999999999999999999999977a1fb4df8ede852ce760837c536cae35af40f4014764c12\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04294c37b3ec91a1b0500042d8b97bc9619d17f784a9ea528c0602d700783bfbac9ac49bff1e527b39bb2a49d1dc3abd471e798679b7c58f4dfa33cfe40bb62e7df6d2f190b0f3804c700fa19eba28ad7fd6edd7e3a754af852921c2705f444f0b]\n[key.wx = 294c37b3ec91a1b0500042d8b97bc9619d17f784a9ea528c0602d700783bfbac9ac49bff1e527b39bb2a49d1dc3abd47]\n[key.wy = 1e798679b7c58f4dfa33cfe40bb62e7df6d2f190b0f3804c700fa19eba28ad7fd6edd7e3a754af852921c2705f444f0b]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004294c37b3ec91a1b0500042d8b97bc9619d17f784a9ea528c0602d700783bfbac9ac49bff1e527b39bb2a49d1dc3abd471e798679b7c58f4dfa33cfe40bb62e7df6d2f190b0f3804c700fa19eba28ad7fd6edd7e3a754af852921c2705f444f0b]\n[sha = SHA-512]\n\n# tcId = 397\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3065023008d999057ba3d2d969260045c55b97f089025959a6f434d651d207d19fb96e9e4fe0e86ebe0e64f85b96a9c75295df61023100db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6aae76701acc1950894a89e068772d8b281eef136f8a8fef5\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.un", - "compressed = 04bac7cd8a7755a174fab58e5374ec55a5ce5313235ec51c919c6684bd49305b7005393f72bc4d810ca864fb046d2c83415a33b77f4145680bde63b669ea1f10f3ee1836018c11a6f97155d90827c83dbac388402ac8f59368ddaf2c33548611af]\n[key.wx = 0bac7cd8a7755a174fab58e5374ec55a5ce5313235ec51c919c6684bd49305b7005393f72bc4d810ca864fb046d2c8341]\n[key.wy = 5a33b77f4145680bde63b669ea1f10f3ee1836018c11a6f97155d90827c83dbac388402ac8f59368ddaf2c33548611af]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004bac7cd8a7755a174fab58e5374ec55a5ce5313235ec51c919c6684bd49305b7005393f72bc4d810ca864fb046d2c83415a33b77f4145680bde63b669ea1f10f3ee1836018c11a6f97155d90827c83dbac388402ac8f59368ddaf2c33548611af]\n[sha = SHA-512]\n\n# tcId = 398\n# extreme value for k\nmsg = 313233343030\nresult = valid\nsig = 3064023008d999057ba3d2d969260045c55b97f089025959a6f434d651d207d19fb96e9e4fe0e86ebe0e64f85b96a9c75295df6102300eb10e5ab95f2f26a40700b1300fb8c3e754d5c453d9384ecce1daa38135a48a0a96c24efc2a76d00bde1d7aeedf7f6a\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04984a1c04446a52ad6a54d64f2c6c49b61f23abe7dc6f33714896aefb0befb9a52b95b048561132c28c9850e851a6d00eb4e19f9de59d30ca26801f2789a3330b081e6bf57f84f3c6107defd05a959cef5f298acea5a6b87b38e22c5409ec9f71]\n[key.wx = 0984a1c04446a52ad6a54d64f2c6c49b61f23abe7dc6f33714896aefb0befb9a52b95b048561132c28c9850e851a6d00e]\n[key.wy = 0b4e19f9de59d30ca26801f2789a3330b081e6bf57f84f3c6107defd05a959cef5f298acea5a6b87b38e22c5409ec9f71]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004984a1c04446a52ad6a54d64f2c6c49b61f23abe7dc6f33714896aefb0befb9a52b95b048561132c28c9850e851a6d00eb4e19f9de59d30ca26801f2789a3330b081e6bf57f84f3c6107defd05a959cef5f298acea5a6b87b38e22c5409ec9f71]\n[sha = SHA-512]\n\n# tcId = 399\n# extreme value for k and edgecase s\nmsg = 313233343030\nresult = valid\nsig = 3065023100aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04f00d6327b1226eaa1b0897295eeddadf7510249e6f0f811b57d7197eb6e61199a8f1c6665ec4821d3e18675d5399fdf787bf1e3fb7fee5cb3582a4159808b75e8b1de07eaffd49d3882d15c77443ad83213d21a4be9285223aa44a840e47eb56]\n[key.wx = 0f00d6327b1226eaa1b0897295eeddadf7510249e6f0f811b57d7197eb6e61199a8f1c6665ec4821d3e18675d5399fdf7]\n[key.wy = 087bf1e3fb7fee5cb3582a4159808b75e8b1de07eaffd49d3882d15c77443ad83213d21a4be9285223aa44a840e47eb56]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004f00d6327b1226eaa1b0897295eeddadf7510249e6f0f811b57d7197eb6e61199a8f1c6665ec4821d3e18675d5399fdf787bf1e3fb7fee5cb3582a4159808b75e8b1de07eaffd49d3882d15c77443ad83213d21a4be9285223aa44a840e47eb56]\n[sha = SHA-512]\n\n# tcId = 400\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3065023100aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab702302492492492492492492492492492492492492492492492491c7be680477598d6c3716fabc13dcec86afd2833d41c2a7e\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04452b047743346898b087daaac5d982d378752ba534e569f21ac592c09654d0809b94ccf822045f2885cbd3b221453cd668a01f502f551af14aab35c2c30ec7bac0709f525fe7960439b1e9de53cdad245efd8930967cde6caf8d222c8200cd69]\n[key.wx = 452b047743346898b087daaac5d982d378752ba534e569f21ac592c09654d0809b94ccf822045f2885cbd3b221453cd6]\n[key.wy = 68a01f502f551af14aab35c2c30ec7bac0709f525fe7960439b1e9de53cdad245efd8930967cde6caf8d222c8200cd69]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004452b047743346898b087daaac5d982d378752ba534e569f21ac592c09654d0809b94ccf822045f2885cbd3b221453cd668a01f502f551af14aab35c2c30ec7bac0709f525fe7960439b1e9de53cdad245efd8930967cde6caf8d222c8200cd69]\n[sha = SHA-512]\n\n# tcId = 401\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3065023100aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab702306666666666666666666666666666666666666666666666664fc15233fb49458c89a4057a8379dc9791f80a2ab84edd61\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 0444a8f54795bdb81e00fc84fa8373d125b16da6e2bf4cfa9ee1dc13d7f157394683963c170f4c15e8cf21b5466b49fa72bb5693655b3e0a85e27e3e6d265fba0131f3083bf447f62b6e3e5275496f34daa522e16195d81488a31fe982c2b75f16]\n[key.wx = 44a8f54795bdb81e00fc84fa8373d125b16da6e2bf4cfa9ee1dc13d7f157394683963c170f4c15e8cf21b5466b49fa72]\n[key.wy = 0bb5693655b3e0a85e27e3e6d265fba0131f3083bf447f62b6e3e5275496f34daa522e16195d81488a31fe982c2b75f16]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000444a8f54795bdb81e00fc84fa8373d125b16da6e2bf4cfa9ee1dc13d7f157394683963c170f4c15e8cf21b5466b49fa72bb5693655b3e0a85e27e3e6d265fba0131f3083bf447f62b6e3e5275496f34daa522e16195d81488a31fe982c2b75f16]\n[sha = SHA-512]\n\n# tcId = 402\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3066023100aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab702310099999999999999999999999999999999999999999999999977a1fb4df8ede852ce760837c536cae35af40f4014764c12\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 0410b336b3afb80c80ff50716e734110fe83cd5b8d41d7f2f94f0dec7ecf1facc663babb8ed94e4bdf3592e37464970afa9be144d354e9b456873c6387a12a3eefd3e2feb66f7519ac72ac502c09d20d72cae9d04c88549a285c081023e1c1da08]\n[key.wx = 10b336b3afb80c80ff50716e734110fe83cd5b8d41d7f2f94f0dec7ecf1facc663babb8ed94e4bdf3592e37464970afa]\n[key.wy = 09be144d354e9b456873c6387a12a3eefd3e2feb66f7519ac72ac502c09d20d72cae9d04c88549a285c081023e1c1da08]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000410b336b3afb80c80ff50716e734110fe83cd5b8d41d7f2f94f0dec7ecf1facc663babb8ed94e4bdf3592e37464970afa9be144d354e9b456873c6387a12a3eefd3e2feb66f7519ac72ac502c09d20d72cae9d04c88549a285c081023e1c1da08]\n[sha = SHA-512]\n\n# tcId = 403\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3066023100aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7023100db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6aae76701acc1950894a89e068772d8b281eef136f8a8fef5\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 0481f92630778777a01781e7924fced35fc09018d9b00820881b14a814c1836a1f73c3641f7a17c821ffd95da902efe132221d81323509391f7b61bd796011337e6af36ae0798c17043d79e8efcdae8e724adf96a2309207c2d2cfd88e8c483acb]\n[key.wx = 081f92630778777a01781e7924fced35fc09018d9b00820881b14a814c1836a1f73c3641f7a17c821ffd95da902efe132]\n[key.wy = 221d81323509391f7b61bd796011337e6af36ae0798c17043d79e8efcdae8e724adf96a2309207c2d2cfd88e8c483acb]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000481f92630778777a01781e7924fced35fc09018d9b00820881b14a814c1836a1f73c3641f7a17c821ffd95da902efe132221d81323509391f7b61bd796011337e6af36ae0798c17043d79e8efcdae8e724adf96a2309207c2d2cfd88e8c483acb]\n[sha = SHA-512]\n\n# tcId = 404\n# extreme value for k\nmsg = 313233343030\nresult = valid\nsig = 3065023100aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab702300eb10e5ab95f2f26a40700b1300fb8c3e754d5c453d9384ecce1daa38135a48a0a96c24efc2a76d00bde1d7aeedf7f6a\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f]\n[key.wx = 0aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7]\n[key.wy = 3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f]\n[sha = SHA-512]\n\n# tcId = 405\n# testing point duplication\nmsg = 313233343030\nresul", - "t = invalid\nsig = 3064023043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158ca02302492492492492492492492492492492492492492492492491c7be680477598d6c3716fabc13dcec86afd2833d41c2a7e\n\n# tcId = 406\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 3065023100bc07ff041506dc73a75086a43252fb43b6327af3c6b2cc7d322ff6d1d1162b5de29edcd0b69803fe2f8af8e3d103d0a902302492492492492492492492492492492492492492492492491c7be680477598d6c3716fabc13dcec86afd2833d41c2a7e\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7c9e821b569d9d390a26167406d6d23d6070be242d765eb831625ceec4a0f473ef59f4e30e2817e6285bce2846f15f1a0]\n[key.wx = 0aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7]\n[key.wy = 0c9e821b569d9d390a26167406d6d23d6070be242d765eb831625ceec4a0f473ef59f4e30e2817e6285bce2846f15f1a0]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7c9e821b569d9d390a26167406d6d23d6070be242d765eb831625ceec4a0f473ef59f4e30e2817e6285bce2846f15f1a0]\n[sha = SHA-512]\n\n# tcId = 407\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 3064023043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158ca02302492492492492492492492492492492492492492492492491c7be680477598d6c3716fabc13dcec86afd2833d41c2a7e\n\n# tcId = 408\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 3065023100bc07ff041506dc73a75086a43252fb43b6327af3c6b2cc7d322ff6d1d1162b5de29edcd0b69803fe2f8af8e3d103d0a902302492492492492492492492492492492492492492492492491c7be680477598d6c3716fabc13dcec86afd2833d41c2a7e\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 0429bdb76d5fa741bfd70233cb3a66cc7d44beb3b0663d92a8136650478bcefb61ef182e155a54345a5e8e5e88f064e5bc9a525ab7f764dad3dae1468c2b419f3b62b9ba917d5e8c4fb1ec47404a3fc76474b2713081be9db4c00e043ada9fc4a3]\n[key.wx = 29bdb76d5fa741bfd70233cb3a66cc7d44beb3b0663d92a8136650478bcefb61ef182e155a54345a5e8e5e88f064e5bc]\n[key.wy = 09a525ab7f764dad3dae1468c2b419f3b62b9ba917d5e8c4fb1ec47404a3fc76474b2713081be9db4c00e043ada9fc4a3]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000429bdb76d5fa741bfd70233cb3a66cc7d44beb3b0663d92a8136650478bcefb61ef182e155a54345a5e8e5e88f064e5bc9a525ab7f764dad3dae1468c2b419f3b62b9ba917d5e8c4fb1ec47404a3fc76474b2713081be9db4c00e043ada9fc4a3]\n[sha = SHA-512]\n\n# tcId = 409\n# pseudorandom signature\nmsg = \nresult = valid\nsig = 306402302290c886bbad8f53089583d543a269a727665626d6b94a3796324c62d08988f66f6011e845811a03589e92abe1f17faf023066e2cb4380997f4e7f85022541adb22d24d1196be68a3db888b03eb3d2d40b0d9a3a6a00a1a4782ee0a00e8410ba2d86\n\n# tcId = 410\n# pseudorandom signature\nmsg = 4d7367\nresult = valid\nsig = 30650231008071d8cf9df9efef696ebafc59f74db90c1f1ecf5ccde18858de22fe4d7df2a25cb3001695d706dfd7984b39df65a0f4023027291e6339c2a7fed7a174bb97ffe41d8cfdc20c1260c6ec85d7259f0cc7781bf2ae7a6e6fb4c08e0d75b7381bb7d9b8\n\n# tcId = 411\n# pseudorandom signature\nmsg = 313233343030\nresult = valid\nsig = 30650230470014ccd7a1a5e5333d301c8ea528ac3b07b01944af30cec60f4bad94db108509e45ba381818b5bdfaf9daf0d372301023100e3d49d6a05a755aa871d7cb96fffb79fed7625f83f69498ba07c0d65166a67107c9a17ae6e1028e244377a44096217b2\n\n# tcId = 412\n# pseudorandom signature\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 30640230377044d343f900175ac6833071be74964cd636417039e10e837da94b6919bffc3f5a517b945a450852af3259f5cbf108023032ea25006375c153581e80c09f53ad585c736f823c70147aba4fb47bb0a224fae4d8819adad80d4c144ecc2380954a9e\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04ffffffffaa63f1a239ac70197c6ebfcea5756dc012123f82c51fa874d66028be00e976a1080606737cc75c40bdfe4aacacbd85389088a62a6398384c22b52d492f23f46e4a27a4724ad55551da5c483438095a247cb0c3378f1f52c3425ff9f1]\n[key.wx = 0ffffffffaa63f1a239ac70197c6ebfcea5756dc012123f82c51fa874d66028be00e976a1080606737cc75c40bdfe4aac]\n[key.wy = 0acbd85389088a62a6398384c22b52d492f23f46e4a27a4724ad55551da5c483438095a247cb0c3378f1f52c3425ff9f1]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004ffffffffaa63f1a239ac70197c6ebfcea5756dc012123f82c51fa874d66028be00e976a1080606737cc75c40bdfe4aacacbd85389088a62a6398384c22b52d492f23f46e4a27a4724ad55551da5c483438095a247cb0c3378f1f52c3425ff9f1]\n[sha = SHA-512]\n\n# tcId = 413\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 3066023100ccb13c4dc9805a9b4e06ee25ef8c7593eaff7326c432d4b12b923163cf1cbe5fe1cfd3546c1d0761d8874e83ffd2e15d023100db1b0c082ae314b539f05e8a14ad51e5db37f29cacea9b2aab63a04917d58d008cf3f7ba41d5ea280f3b6a67be3ae8f8\n\n# tcId = 414\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 3065023100c79a30e36d2126b348dd9eb2f5db6aa98f79d80214027e51bcf3cabec188a7ebaf25cb7bbe9ec6bfed135e2a3b70e9160230241338ee2ac931adea9a56e7bfe909947128d54d5122a47b00c278e684e10102740d26e89e343290a5b2fa8b401faec6\n\n# tcId = 415\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 306402300df82e4ec2960e3df614f8b49cec9a4ee1054365414241361feec9d9d9b6909d8775f222ec385a14afab46266db390c302300968485e854addba0f8354e677e955e1ef2df973d564c49f65f2562cb2a2b80d75e92f8784042955f7b8765f609ce221\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04d1827fc6f6f12f21992c5a409a0653b121d2ef02b2b0ab01a9161ce956280740b1e356b255701b0a6ddc9ec2ca8a9422c6ed5d2ced8d8ab7560fa5bb88c738e74541883d8a2b1c0e2ba7e36d030fc4d9bfb8b22f24db897ebac49dd400000000]\n[key.wx = 0d1827fc6f6f12f21992c5a409a0653b121d2ef02b2b0ab01a9161ce956280740b1e356b255701b0a6ddc9ec2ca8a9422]\n[key.wy = 0c6ed5d2ced8d8ab7560fa5bb88c738e74541883d8a2b1c0e2ba7e36d030fc4d9bfb8b22f24db897ebac49dd400000000]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004d1827fc6f6f12f21992c5a409a0653b121d2ef02b2b0ab01a9161ce956280740b1e356b255701b0a6ddc9ec2ca8a9422c6ed5d2ced8d8ab7560fa5bb88c738e74541883d8a2b1c0e2ba7e36d030fc4d9bfb8b22f24db897ebac49dd400000000]\n[sha = SHA-512]\n\n# tcId = 416\n# y-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 306402301fafd83d728422e1485f1e52e5b631548647cc3c76c109c3177a73751d91a19012fa4628b218f2229fc4d55f105fe00102304474f9af7b4b0bb96fdb05ae918f799024e8d5b864e49ccd047cf97e7b9f8763cce015c11cf1f461c9027cb901055101\n\n# tcId = 417\n# y-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 3066023100e6025bb957ab197fb4c080d0a5c647e428afb0d7cc235c605ae97545494fd31a9979790bb2da6e1cf186789422b15c970231008ae9872291430d1bb371ef72360dad5afbb6fb001f403d9aaa1445f0326eb1eef775c9dfe1d7ef8bf4e744822108d27e\n\n# tcId = 418\n# y-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 3066023100877d5567c18fa568259005a89c2300d1b3825b732fa14964c1477d4b3098afd09384b97d497464adba41e9df8a74d339023100c40f0760717b4b3bae75742b6dc3dcf04cc22a449cfea19d305e0658cb705fda75163e7399e0b3125ca7d1919c13851e\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 041099bb45100f55f5a85cca3de2b3bd5e250f4f6fad6631a3156c2e52a33d7d615dd279f79f8b4baff7c713ac00000000e6c9b736a8929f2ed7be0c753a54cbb48b8469e0411eaf93a4a82459ba0b681bba8f5fb383b4906d4901a3303e2f1557]\n[key.wx = 1099bb45100f55f5a85cca3de2b3bd5e250f4f6fad6631a3156c2e52a33d7d615dd279f79f8b4baff7c713ac00000000]\n[key.wy = 0e6c9b736a8929f2ed7be0c753a54cbb48b8469e0411eaf93a4a82459ba0b681bba8f5fb383b4906d4901a3303e2f1557]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200041099bb45100f55f5a85cca3de2b3bd5e250f4f6fad6631a3156c2e52a33d7d615dd279f79f8b4baff7c713ac00000000e6c9b736a8929f2ed7be0c753a54cbb48b8469e0411eaf93a4a82459ba0b681bba8f5fb383b4906d4901a3303e2f1557]\n[sha = SHA-512]\n\n# tcId = 419\n# x-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 3065023100e706b0045a6f54bd175e2437b48767b0204f93d8a4d9d3d00838278137e5b670de4305c5c55e49059b8b5f6e264654c902", - "30405741adff94afd9a88e08d0b1021911fa4cedb2466b1a8fd302a5b5d96566ada63ccb82b6c5e8452fde860c545e0a19\n\n# tcId = 420\n# x-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 306502300c57ce2bc579fbd3a759dfbf5e84c3cef2414846a2e300453e1e4c5188f24432b14ca647a733b6ad35c980a880d36145023100f12a119e22d48b82049df611f1c851fb22795056498a873c730fcb9fd8f314728de0298b9b22c348abc6de2aba97e972\n\n# tcId = 421\n# x-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 30660231009a8f80697ccf2e0617612027d861a3a3a657fb75cc82810b40dd5072d39ff37eca29008390da356137e2c9babd814198023100a86537a83c3d57da50e4b29b47dcc3717c5a1ed0fff18ade8dcce4220eac63aab60b9bfed5f1bdd241dab655a9bdd75f\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04000000002b089edd754169010145f263f334fc167cc19dae8225970ae19cc8cb7ec73593d6a465c370f5478b0e539d69d1951d597b56a67345acb25809581f07cd0eb78d9538a3f8a65f300e68a1eb78507df76de650e8f8ee63a5f0c5687c98]\n[key.wx = 2b089edd754169010145f263f334fc167cc19dae8225970ae19cc8cb7ec73593d6a465c370f5478b0e539d69]\n[key.wy = 0d1951d597b56a67345acb25809581f07cd0eb78d9538a3f8a65f300e68a1eb78507df76de650e8f8ee63a5f0c5687c98]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004000000002b089edd754169010145f263f334fc167cc19dae8225970ae19cc8cb7ec73593d6a465c370f5478b0e539d69d1951d597b56a67345acb25809581f07cd0eb78d9538a3f8a65f300e68a1eb78507df76de650e8f8ee63a5f0c5687c98]\n[sha = SHA-512]\n\n# tcId = 422\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 306602310093718f6f8542725f62de7039fc193d3fcc81d622230ccc94e9e265390b385af3a3ba50c91a9d6a5b1e07d79af2bd80b2023100d08499f3d298e8afecea122265a36dbf337259020654739783c8ec8ef783d072555b5907285ce83fc8ced9c8398c6269\n\n# tcId = 423\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 3066023100ce26e42c490dec92cf59d6b1ba75c9a1400d6e5c3fd7c47e1eeb1cded30a3a3d18c81cdfdcbad2742a97293369ce21c202310094671085d941fd27d495452a4c8559a1fe24f3225f5b8ef75faf9d3fb01372c586e23b82714359d0e47144ff5d946161\n\n# tcId = 424\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 3066023100ffc4738acf71f04a13104c328c138b331fb7202aef66f583ba543ed490d12993c18f724c81ad0f7ea18dae352e5c6480023100e67d4ccdeb68a9a731f06f77eae00175be076d92529b109a62542692c8749ddfde03bed1c119a5901a4e852f2115578f\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b33600000000208b3f5ad3b3937acc9d606cc5ececab4a701f75ed42957ea4d7858d33f5c26c6ae20a9cccda56996700d6b4]\n[key.wx = 0fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b336]\n[key.wy = 208b3f5ad3b3937acc9d606cc5ececab4a701f75ed42957ea4d7858d33f5c26c6ae20a9cccda56996700d6b4]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b33600000000208b3f5ad3b3937acc9d606cc5ececab4a701f75ed42957ea4d7858d33f5c26c6ae20a9cccda56996700d6b4]\n[sha = SHA-512]\n\n# tcId = 425\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 3065023100e6fa8455bc14e730e4ca1eb5faf6c8180f2f231069b93a0bb17d33ad5513d93a36214f5ce82ca6bd785ccbacf7249a4c02303979b4b480f496357c25aa3fc850c67ff1c5a2aabd80b6020d2eac3dd7833cf2387d0be64df54a0e9b59f12c3bebf886\n\n# tcId = 426\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 306502301b49b037783838867fbaa57305b2aa28df1b0ec40f43140067fafdea63f87c02dfb0e6f41b760fbdf51005e90c0c3715023100e7d4eb6ee61611264ea8a668a70287e3d63489273da2b30ad0c221f1893feaea3e878c9a81c6cec865899dbda4fa79ae\n\n# tcId = 427\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 306502310091d9da3d577408189dcaae33d95ed0a0118afd460d5228fa352b6ea671b172eb413816a70621ddaf23c5e2ef79df0c110230053dadbfcd564bddbe44e0ecb4d1e608dbd35d4e83b6634cc72afb87a2d61675ee13960c243f6be70519e167b1d3ceb0\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = ECPublicKey]\n[key.uncompressed = 04fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b336ffffffffdf74c0a52c4c6c8533629f933a131354b58fe08a12bd6a815b287a71cc0a3d92951df5633325a96798ff294b]\n[key.wx = 0fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b336]\n[key.wy = 0ffffffffdf74c0a52c4c6c8533629f933a131354b58fe08a12bd6a815b287a71cc0a3d92951df5633325a96798ff294b]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b336ffffffffdf74c0a52c4c6c8533629f933a131354b58fe08a12bd6a815b287a71cc0a3d92951df5633325a96798ff294b]\n[sha = SHA-512]\n\n# tcId = 428\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 3065023100af0ed6ce6419662db80f02a2b632675445c7bf8a34bbacdc81cc5dd306c657ca4c5a3fb1b05f358d8f36fda8ae238806023046b472c0badb17e089c8f9697fd0b4ce71f0f4471b235483d4c8dd3d00aa282cde990253df38ba733b2ad82a601c7508\n\n# tcId = 429\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 3066023100e2aa9468ccaaadad8b9f43a429c97f0c6a7eedcb4d4af72d639df0fe53f610b953408a8e24e8db138551770750680f7a023100d81020846d1c50ee9ae23601dd638cb71b38d37fb555268c2fa1ad8a761fa7b27afcab2fa69224d1f976699914e09de2\n\n# tcId = 430\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 306402306bf6fa7a663802c3382cc5fd02004ec71e5a031e3d9bfc0858fa994e88497a7782308bc265b8237a6bbbdd38658b36fc02303a9d5941a013bf70d99cc3ff255ce85573688dac40344b5db7144b19bf57bb2701e6850a8f819796b67f7d0b6aea7e50\n\n", +static const char *kData105[] = { + "# Imported from Wycheproof's ecdsa_secp384r1_sha512_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: ECDSA\n# Generator version: 0.8r12\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 042da57dda1089276a543f9ffdac0bff0d976cad71eb7280e7d9bfd9fee4bdb2f20f47ff888274389772d98cc5752138aa4b6d054d69dcf3e25ec49df870715e34883b1836197d76f8ad962e78f6571bbc7407b0d6091f9e4d88f014274406174f]\n[key.wx = 2da57dda1089276a543f9ffdac0bff0d976cad71eb7280e7d9bfd9fee4bdb2f20f47ff888274389772d98cc5752138aa]\n[key.wy = 4b6d054d69dcf3e25ec49df870715e34883b1836197d76f8ad962e78f6571bbc7407b0d6091f9e4d88f014274406174f]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200042da57dda1089276a543f9ffdac0bff0d976cad71eb7280e7d9bfd9fee4bdb2f20f47ff888274389772d98cc5752138aa4b6d054d69dcf3e25ec49df870715e34883b1836197d76f8ad962e78f6571bbc7407b0d6091f9e4d88f014274406174f]\n[sha = SHA-512]\n\n# tcId = 1\n# signature malleability\nmsg = 313233343030\nresult = valid\nsig = 3065023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202307b0a10ee2dd0dd2fab75095af240d095e446faba7a50a19fbb197e4c4250926e30c5303a2c2d34250f17fcf5ab3181a6\n\n# tcId = 2\n# Legacy:ASN encoding of r misses leading 0\nmsg = 313233343030\nresult = acceptable\nsig = 30650230814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\nflags = MissingZero\n\n# tcId = 3\n# Legacy:ASN encoding of s misses leading 0\nmsg = 313233343030\nresult = acceptable\nsig = 3065023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2023084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\nflags = MissingZero\n\n# tcId = 4\n# valid\nmsg = 313233343030\nresult = valid\nsig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 5\n# long form encoding of length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 308166023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\nflags = BER\n\n# tcId = 6\n# length of sequence contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 30820066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\nflags = BER\n\n# tcId = 7\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3067023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 8\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3065023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 9\n# uint32 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 30850100000066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 10\n# uint64 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3089010000000000000066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 11\n# length of sequence = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30847fffffff023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 12\n# length of sequence = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3084ffffffff023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 13\n# length of sequence = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3085ffffffffff023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 14\n# length of sequence = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3088ffffffffffffffff023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 15\n# incorrect length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 30ff023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 16\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 3080023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 17\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 3066028000814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 18\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202800084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 19\n# removing sequence\nmsg = 313233343030\nresult = invalid\nsig = \n\n# tcId = 20\n# lonely sequence tag\nmsg = 313233343030\nresult = invalid\nsig = 30\n\n# tcId = 21\n# appending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 3068023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0000\n\n# tcId = 22\n# prepending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 30680000023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 23\n# appending unused 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0000\n\n# tcId = 24\n# appending null value to sequence\nmsg = 313233343030\nresult = invalid\nsig = 3068023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0500\n\n# tcId = 25\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 306b4981773066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 26\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 306a2500306602", + "3100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 27\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 30683066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0004deadbeef\n\n# tcId = 28\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 306b2236498177023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 29\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 306a22352500023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 30\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 306e2233023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e20004deadbeef02310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 31\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 306b023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2223649817702310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 32\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 306a023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e22235250002310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 33\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 306e023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2223302310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0004deadbeef\n\n# tcId = 34\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 306eaa00bb00cd003066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 35\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 306caa02aabb3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 36\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 306e2239aa00bb00cd00023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 37\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 306c2237aa02aabb023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 38\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 306e023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e22239aa00bb00cd0002310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 39\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 306c023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e22237aa02aabb02310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 40\n# truncated length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3081\n\n# tcId = 41\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 30803066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0000\n\n# tcId = 42\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 306a2280023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2000002310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 43\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 306a023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2228002310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0000\n\n# tcId = 44\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 30803166023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0000\n\n# tcId = 45\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 306a2280033100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2000002310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 46\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 306a023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2228003310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0000\n\n# tcId = 47\n# Replacing sequence with NULL\nmsg = 313233343030\nresult = invalid\nsig = 0500\n\n# tcId = 48\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 2e66023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 49\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 2f66023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 50\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3166023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 51\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3266023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 52\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = ff66023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 53\n# dropping value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3000\n\n# tcId = 54\n# using composition for sequence\nmsg = 313233343030\nresult = invalid\nsig = 306a30010230653100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 55\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 3065023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673", + "854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7\n\n# tcId = 56\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 30653100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 57\n# indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 3080023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0000\nflags = BER\n\n# tcId = 58\n# indefinite length with truncated delimiter\nmsg = 313233343030\nresult = invalid\nsig = 3080023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd00\n\n# tcId = 59\n# indefinite length with additional element\nmsg = 313233343030\nresult = invalid\nsig = 3080023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd05000000\n\n# tcId = 60\n# indefinite length with truncated element\nmsg = 313233343030\nresult = invalid\nsig = 3080023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd060811220000\n\n# tcId = 61\n# indefinite length with garbage\nmsg = 313233343030\nresult = invalid\nsig = 3080023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0000fe02beef\n\n# tcId = 62\n# indefinite length with nonempty EOC\nmsg = 313233343030\nresult = invalid\nsig = 3080023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0002beef\n\n# tcId = 63\n# prepend empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 30683000023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 64\n# append empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 3068023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd3000\n\n# tcId = 65\n# append garbage with high tag number\nmsg = 313233343030\nresult = invalid\nsig = 3069023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cdbf7f00\n\n# tcId = 66\n# sequence of sequence\nmsg = 313233343030\nresult = invalid\nsig = 30683066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 67\n# truncated sequence: removed last 1 elements\nmsg = 313233343030\nresult = invalid\nsig = 3033023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2\n\n# tcId = 68\n# repeating element in sequence\nmsg = 313233343030\nresult = invalid\nsig = 308199023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd02310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 69\n# long form encoding of length of integer\nmsg = 313233343030\nresult = invalid\nsig = 306702813100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\nflags = BER\n\n# tcId = 70\n# long form encoding of length of integer\nmsg = 313233343030\nresult = invalid\nsig = 3067023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e20281310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\nflags = BER\n\n# tcId = 71\n# length of integer contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 30680282003100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\nflags = BER\n\n# tcId = 72\n# length of integer contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 3068023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2028200310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\nflags = BER\n\n# tcId = 73\n# wrong length of integer\nmsg = 313233343030\nresult = invalid\nsig = 3066023200814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 74\n# wrong length of integer\nmsg = 313233343030\nresult = invalid\nsig = 3066023000814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 75\n# wrong length of integer\nmsg = 313233343030\nresult = invalid\nsig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202320084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 76\n# wrong length of integer\nmsg = 313233343030\nresult = invalid\nsig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202300084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 77\n# uint32 overflow in length of integer\nmsg = 313233343030\nresult = invalid\nsig = 306b0285010000003100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 78\n# uint32 overflow in length of integer\nmsg = 313233343030\nresult = invalid\nsig = 306b023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2028501000000310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 79\n# uint64 overflow in length of integer\nmsg = 313233343030\nresult = invalid\nsig = 306f028901000000000000003100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 80\n# uint64 overflow in length of integer\nmsg = 313233343030\nresult = invalid\nsig = 306f023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202890100000000000000310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 81\n# length of integer = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 306a02847fffffff00814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 82\n# length of integer = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 306a023100814cc9a70febda342d4ada", + "87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202847fffffff0084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 83\n# length of integer = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 306a0284ffffffff00814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 84\n# length of integer = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 306a023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e20284ffffffff0084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 85\n# length of integer = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 306b0285ffffffffff00814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 86\n# length of integer = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 306b023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e20285ffffffffff0084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 87\n# length of integer = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 306e0288ffffffffffffffff00814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 88\n# length of integer = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 306e023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e20288ffffffffffffffff0084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 89\n# incorrect length of integer\nmsg = 313233343030\nresult = invalid\nsig = 306602ff00814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 90\n# incorrect length of integer\nmsg = 313233343030\nresult = invalid\nsig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202ff0084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 91\n# removing integer\nmsg = 313233343030\nresult = invalid\nsig = 303302310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 92\n# lonely integer tag\nmsg = 313233343030\nresult = invalid\nsig = 30340202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 93\n# lonely integer tag\nmsg = 313233343030\nresult = invalid\nsig = 3034023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202\n\n# tcId = 94\n# appending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 3068023300814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2000002310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 95\n# appending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 3068023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202330084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0000\n\n# tcId = 96\n# prepending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 30680233000000814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\nflags = BER\n\n# tcId = 97\n# prepending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 3068023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2023300000084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\nflags = BER\n\n# tcId = 98\n# appending unused 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 3068023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2000002310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 99\n# appending null value to integer\nmsg = 313233343030\nresult = invalid\nsig = 3068023300814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2050002310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 100\n# appending null value to integer\nmsg = 313233343030\nresult = invalid\nsig = 3068023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202330084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0500\n\n# tcId = 101\n# truncated length of integer\nmsg = 313233343030\nresult = invalid\nsig = 3035028102310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 102\n# truncated length of integer\nmsg = 313233343030\nresult = invalid\nsig = 3035023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e20281\n\n# tcId = 103\n# Replacing integer with NULL\nmsg = 313233343030\nresult = invalid\nsig = 3035050002310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 104\n# Replacing integer with NULL\nmsg = 313233343030\nresult = invalid\nsig = 3035023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e20500\n\n# tcId = 105\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3066003100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 106\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3066013100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 107\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3066033100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 108\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3066043100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 109\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3066ff3100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 110\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e200310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 111\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e201310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 112\n# changing tag value of intege", + "r\nmsg = 313233343030\nresult = invalid\nsig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e203310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 113\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e204310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 114\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2ff310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 115\n# dropping value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3035020002310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 116\n# dropping value of integer\nmsg = 313233343030\nresult = invalid\nsig = 3035023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e20200\n\n# tcId = 117\n# using composition for integer\nmsg = 313233343030\nresult = invalid\nsig = 306a22350201000230814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 118\n# using composition for integer\nmsg = 313233343030\nresult = invalid\nsig = 306a023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e22235020100023084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 119\n# modify first byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 3066023102814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 120\n# modify first byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310284f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 121\n# modify last byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a156202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 122\n# modify last byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a74d\n\n# tcId = 123\n# truncated integer\nmsg = 313233343030\nresult = invalid\nsig = 3065023000814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a1502310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 124\n# truncated integer\nmsg = 313233343030\nresult = invalid\nsig = 3065023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202300084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7\n\n# tcId = 125\n# leading ff in integer\nmsg = 313233343030\nresult = invalid\nsig = 30670232ff00814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 126\n# leading ff in integer\nmsg = 313233343030\nresult = invalid\nsig = 3067023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e20232ff0084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 127\n# replaced integer by infinity\nmsg = 313233343030\nresult = invalid\nsig = 303609018002310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 128\n# replaced integer by infinity\nmsg = 313233343030\nresult = invalid\nsig = 3036023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2090180\n\n# tcId = 129\n# replacing integer with zero\nmsg = 313233343030\nresult = invalid\nsig = 303602010002310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 130\n# replacing integer with zero\nmsg = 313233343030\nresult = invalid\nsig = 3036023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2020100\n\n# tcId = 131\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3066023101814cc9a70febda342d4ada87fc39426f403d5e8980842845d38217e2bcceedb5caa7aef8bc35edeec4beb155610f3f5502310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 132\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30650230814cc9a70febda342d4ada87fc39426f403d5e898084284644bb7cded46091f71a7393942ad49ef8eae67e7fc784ec6f02310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 133\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30660231ff7eb33658f01425cbd2b5257803c6bd90bfc2a1767f7bd7b9f3e1359f376840298d725eb98c7ab98c282d68156bb5ea1e02310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 134\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 306502307eb33658f01425cbd2b5257803c6bd90bfc2a1767f7bd7b9bb4483212b9f6e08e58c6c6bd52b610715198180387b139102310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 135\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30660231fe7eb33658f01425cbd2b5257803c6bd90bfc2a1767f7bd7ba2c7de81d4331124a3558510743ca12113b414eaa9ef0c0ab02310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 136\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3066023101814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 137\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 306502307eb33658f01425cbd2b5257803c6bd90bfc2a1767f7bd7b9f3e1359f376840298d725eb98c7ab98c282d68156bb5ea1e02310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 138\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310184f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e5fd3ad1cb7a61dc9507f6eeb2a65341ad0cac035dfee58d140\n\n# tcId = 139\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3065023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2023084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e6044e681b3bdaf6d91cf3acfc5d3d2cbdaf0e8030a54ce7e5a\n\n# tcId = 140\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca", + "60c897bfd6728da14673854673d7d297ea944a15e20231ff7b0a10ee2dd0dd2fab75095af240d095e446faba7a50a19ff3b630ca4e19648ed8ab2287e37c8caa222be38ade6c5833\n\n# tcId = 141\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e20231fe7b0a10ee2dd0dd2fab75095af240d095e446faba7a50a1a02c52e34859e236af809114d59acbe52f353fca2011a72ec0\n\n# tcId = 142\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310184f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd\n\n# tcId = 143\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3065023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202307b0a10ee2dd0dd2fab75095af240d095e446faba7a50a19ff3b630ca4e19648ed8ab2287e37c8caa222be38ade6c5833\n\n# tcId = 144\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020100020100\nflags = EdgeCase\n\n# tcId = 145\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020100020101\nflags = EdgeCase\n\n# tcId = 146\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201000201ff\nflags = EdgeCase\n\n# tcId = 147\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036020100023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973\nflags = EdgeCase\n\n# tcId = 148\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036020100023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972\nflags = EdgeCase\n\n# tcId = 149\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036020100023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974\nflags = EdgeCase\n\n# tcId = 150\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036020100023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff\nflags = EdgeCase\n\n# tcId = 151\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036020100023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000\nflags = EdgeCase\n\n# tcId = 152\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3008020100090380fe01\nflags = EdgeCase\n\n# tcId = 153\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020100090142\nflags = EdgeCase\n\n# tcId = 154\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020101020100\nflags = EdgeCase\n\n# tcId = 155\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020101020101\nflags = EdgeCase\n\n# tcId = 156\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201010201ff\nflags = EdgeCase\n\n# tcId = 157\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036020101023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973\nflags = EdgeCase\n\n# tcId = 158\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036020101023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972\nflags = EdgeCase\n\n# tcId = 159\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036020101023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974\nflags = EdgeCase\n\n# tcId = 160\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036020101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff\nflags = EdgeCase\n\n# tcId = 161\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036020101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000\nflags = EdgeCase\n\n# tcId = 162\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3008020101090380fe01\nflags = EdgeCase\n\n# tcId = 163\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020101090142\nflags = EdgeCase\n\n# tcId = 164\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff020100\nflags = EdgeCase\n\n# tcId = 165\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff020101\nflags = EdgeCase\n\n# tcId = 166\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff0201ff\nflags = EdgeCase\n\n# tcId = 167\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30360201ff023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973\nflags = EdgeCase\n\n# tcId = 168\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30360201ff023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972\nflags = EdgeCase\n\n# tcId = 169\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30360201ff023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974\nflags = EdgeCase\n\n# tcId = 170\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30360201ff023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff\nflags = EdgeCase\n\n# tcId = 171\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30360201ff023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000\nflags = EdgeCase\n\n# tcId = 172\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30080201ff090380fe01\nflags = EdgeCase\n\n# tcId = 173\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff090142\nflags = EdgeCase\n\n# tcId = 174\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973020100\nflags = EdgeCase\n\n# tcId = 175\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973020101\nflags = EdgeCase\n\n# tcId = 176\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc529730201ff\nflags = EdgeCase\n\n# tcId = 177\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973\nflags = EdgeCase\n\n# tcId = 178\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972\nflags = EdgeCase\n\n# tcId = 179\n# Signature with special case value", + "s for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974\nflags = EdgeCase\n\n# tcId = 180\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff\nflags = EdgeCase\n\n# tcId = 181\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000\nflags = EdgeCase\n\n# tcId = 182\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3038023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973090380fe01\nflags = EdgeCase\n\n# tcId = 183\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973090142\nflags = EdgeCase\n\n# tcId = 184\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972020100\nflags = EdgeCase\n\n# tcId = 185\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972020101\nflags = EdgeCase\n\n# tcId = 186\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc529720201ff\nflags = EdgeCase\n\n# tcId = 187\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973\nflags = EdgeCase\n\n# tcId = 188\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972\nflags = EdgeCase\n\n# tcId = 189\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974\nflags = EdgeCase\n\n# tcId = 190\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff\nflags = EdgeCase\n\n# tcId = 191\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000\nflags = EdgeCase\n\n# tcId = 192\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3038023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972090380fe01\nflags = EdgeCase\n\n# tcId = 193\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972090142\nflags = EdgeCase\n\n# tcId = 194\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974020100\nflags = EdgeCase\n\n# tcId = 195\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974020101\nflags = EdgeCase\n\n# tcId = 196\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc529740201ff\nflags = EdgeCase\n\n# tcId = 197\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973\nflags = EdgeCase\n\n# tcId = 198\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972\nflags = EdgeCase\n\n# tcId = 199\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974\nflags = EdgeCase\n\n# tcId = 200\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff\nflags = EdgeCase\n\n# tcId = 201\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000\nflags = EdgeCase\n\n# tcId = 202\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3038023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974090380fe01\nflags = EdgeCase\n\n# tcId = 203\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974090142\nflags = EdgeCase\n\n# tcId = 204\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff020100\nflags = EdgeCase\n\n# tcId = 205\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff020101\nflags = EdgeCase\n\n# tcId = 206\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff0201ff\nflags = EdgeCase\n\n# tcId = 207\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973\nflags = EdgeCase\n\n# tcId = 208\n# Signature with special case values for r and s\nmsg = 3", + "13233343030\nresult = invalid\nsig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972\nflags = EdgeCase\n\n# tcId = 209\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974\nflags = EdgeCase\n\n# tcId = 210\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff\nflags = EdgeCase\n\n# tcId = 211\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000\nflags = EdgeCase\n\n# tcId = 212\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3038023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff090380fe01\nflags = EdgeCase\n\n# tcId = 213\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff090142\nflags = EdgeCase\n\n# tcId = 214\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000020100\nflags = EdgeCase\n\n# tcId = 215\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000020101\nflags = EdgeCase\n\n# tcId = 216\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000001000000000201ff\nflags = EdgeCase\n\n# tcId = 217\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973\nflags = EdgeCase\n\n# tcId = 218\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972\nflags = EdgeCase\n\n# tcId = 219\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974\nflags = EdgeCase\n\n# tcId = 220\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff\nflags = EdgeCase\n\n# tcId = 221\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000\nflags = EdgeCase\n\n# tcId = 222\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3038023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000090380fe01\nflags = EdgeCase\n\n# tcId = 223\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3036023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000090142\nflags = EdgeCase\n\n# tcId = 224\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 30060201010c0130\n\n# tcId = 225\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 30050201010c00\n\n# tcId = 226\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 30090c0225730c03732573\n\n# tcId = 227\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 30080201013003020100\n\n# tcId = 228\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 3003020101\n\n# tcId = 229\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 3006020101010100\n\n# tcId = 230\n# Edge case for Shamir multiplication\nmsg = 3637323636\nresult = valid\nsig = 3066023100ac042e13ab83394692019170707bc21dd3d7b8d233d11b651757085bdd5767eabbb85322984f14437335de0cdf5656840231008f8a277dde5282671af958e3315e795a20e2885157b77663a67a77ef2379020c5d12be6c732fd725402cb9ee8c345284\n\n# tcId = 231\n# special case hash\nmsg = 33393439313934313732\nresult = valid\nsig = 3065023100d51c53fa3e201c440a4e33ea0bbc1d3f3fe18b0cc2a4d6812dd217a9b426e54eb4024113b354441272174549c979857c02300992c5442dc6d5d6095a45720f5c5344acb78bc18817ef32c1334e6eba7726246577d4257942bdefe994c1575ed15a6e\n\n# tcId = 232\n# special case hash\nmsg = 35333637363431383737\nresult = valid\nsig = 3065023100c8d44c8b70abed9e6ae6bbb9f4b72ed6e8b50a52a8e6e1bd3447c0828dad26fc6f395ba09069b307f040d1e86a42c022023001e0af500505bb88b3a2b0f132acb4da64adddc0598318cb7612b5812d29c2d0dde1413d0ce40044b44590e91b97bacd\n\n# tcId = 233\n# special case hash\nmsg = 35363731343831303935\nresult = valid\nsig = 3065023100d3513bd06496d8576e01e8c4b284587acafd239acfd739a19a5899f0a00d269f990659a671b2e0e25f935b3a28a1f5fd0230366b35315ce114bffbb75a969543646ee253f046a8630fbbb121ecc5d62df4a7eb09d2878805d5dab9c9b3880b747b68\n\n# tcId = 234\n# special case hash\nmsg = 3131323037313732393039\nresult = valid\nsig = 3065023100b08c4018556ca8833b524504e30c58346e1c0345b678fdf91891c464a33180ed85a99bc8911acf4f22aceb40440afc9402304a595f7eed2db9f6bd3e90355d5c0e96486dc64242319e41fc07be00a732354b62ec9c34319720b9ffb24c994b1cf875\n\n# tcId = 235\n# special case hash\nmsg = 3131323938303334323336\nresult = valid\nsig = 306502302b08f784617fd0707a83d3c2615efa0c45f28d7d928fc45cd8a886e116b45f4686aee97474d091012e27057b6ba8f7e6023100c440aa6ecb63e0d43c639b37e5810a96def7eec8e90a4c55e5b57971c48dfb4e850232fbb37bd32bb3b0523b815ff985\n\n# tcId = 236\n# special case hash\nmsg = 39383736303239363833\nresult = valid\nsig = 306402300609f4ec120c8838bda916f668e9600af7652e1d3f7182734f97f54da5d106bbfd216c32f227b76d583de1c53949b2ee023046926dffc766ff90c3b921b3e51a2982a1072314c1fdfb4175de7adea5a6f97bdff587a473504a9c402aac7c05bd4785\n\n# tcId = 237\n# special case hash\nmsg = 3230323034323936353139\nresult = valid\nsig = 306502305ae2220e4716e1ef0382afcc39db339e5bd5f05e8a188d4a5daaab71c6c35263ee8820a34558092877449ebb15898c5c023100c4d38e2e85451c43ee35b0c56196cbf3059acf2b8b529f06dc1de9b281d9b0f3f3983df8936e944ab0b18330a342ee88\n\n# tcId = 238\n# special case hash\nmsg = 31343531363639313830\nresult = valid\nsig = 3065023051fb84ed71d436c737ab24e2a45c68f8f623748be2caebd89e02bfc89309b8350042ab1b97849b9f680f044a58765175023100d4a8f60791657a8c12985fd896ac77e7d95cb050582f2466471dc2c6dcf90db05ce34beadbfcfe690dc56c0cc9944007\n\n# tcId = 239\n# special case hash\nmsg = 31303933363835393531\nresult = valid\nsig = 3065023040159290d161df6b3f81a92cefb6df56149d588e7b886bf24939f5c8b6bb515d325b3764f0ed284a77fa9081ccfa5237023100bd55dfb47709287ce7b88dfd96ac7543eeba9bd31b8c91f203d2b90418122406399c80a53539b81f1cb60fa3b23a2563\n\n# tcId = 240\n# special case", + " hash\nmsg = 36323139353630323031\nresult = valid\nsig = 3066023100d7fb9f53865cdf9d4cad6f66981aea35a1454858ceb678d7b851c12a4c6644fe1915a4b219b51389a5ae2c98a433cc3a02310094ad75c3dea88740205cab41032dfe149341cf4ee94dcd2f0c8bbe5af5860b30b5e1f764b2c767b09fd10761050c989c\n\n# tcId = 241\n# special case hash\nmsg = 35363832343734333033\nresult = valid\nsig = 30650230157ef8f85cdb9257983d06a7f29674752659097364b401e701705b3bd9ead884fd32141320ae76ae05f6fc7ec155d6c2023100ccadc3851020e41dd91bc28a6c073409136a47f20b8dbf2553fd456a8ed5fa7e73e4ec59dca499e0d082efbb9ad34dc7\n\n# tcId = 242\n# special case hash\nmsg = 33373336353331373836\nresult = valid\nsig = 3066023100e763001769c76f6a6d06fad37b584d7f25832501491bec283b3b6836f947dc4e2cef021c6c6e525b0a6a3890d1da122a023100acbd88729cce3992d14ec99e69ff0712b82a33a1c1e8b90e1399c66fe196f7c99bdb3ff81db77dc25ae6f0c1a025117d\n\n# tcId = 243\n# special case hash\nmsg = 34373935393033373932\nresult = valid\nsig = 3066023100c6425b6b046ec91ebc32b9e6de750e5d3d36d4ddc6dffd25ba47817385a9466f6fc52259c7d02c66af5bf12045b5659d02310084cdc06e35fecc85a3e00b16488eac3584942f663d8b59df111c0650139d7cda20d68dccae569d433170d832147bc94c\n\n# tcId = 244\n# special case hash\nmsg = 39333939363131303037\nresult = valid\nsig = 306502303061f090e4932133a0e08ac984d1c8d8d4f565e21cf15427671503880341265cd44f35a437ee3c3a8857579dd7af0c3502310093ae374a0f63dcbe41a1b7b07a50faf2b33f35e0b6600bb36aa5cda05238640fa35c635c0fa78e1410f3a879bbb8a541\n\n# tcId = 245\n# special case hash\nmsg = 31303837343931313835\nresult = valid\nsig = 306502300ccc627f35454cc84e08a828f5bd5f5e41eeeaa40475bcc2e71ff372e8c718a5e179d3b7f2d7051db9060c4c978eb638023100b12d0240afbdfc64c60861548c33663b8960316a55f860cc33d1908e89aa6fc9519f23a900e0488fa6a37cfb37856565\n\n# tcId = 246\n# special case hash\nmsg = 33323336363738353030\nresult = valid\nsig = 3065023100e72419fb67ebbcc0de9c46ce5475c608f9de7e83fc5e582920b8e9848000d820d393fdac6c96ea35ce941cb14951640002306aa19934ef60f4a247bc261ba256283a94857a268f42a0939c95a536fbd4f8e1f1c285a7b164c12213abb9e3393cbe9f\n\n# tcId = 247\n# special case hash\nmsg = 31343438393937373033\nresult = valid\nsig = 30660231008b740931f9afa8a04c08cde896b7fdd9aca3177d5e4a3e5a51e54bfa824b66ab11df4e90f49798d644babfede7830224023100afd91e7ce15059a5b5499e5aef4afa91fd090e4e5029b3f4348f0d4349df11745869f9255117eea405a78af5dd6a646d\n\n# tcId = 248\n# special case hash\nmsg = 35373134363332383037\nresult = valid\nsig = 3066023100989024bce204a7539fbd2b185ecf375590d873177c1ff26bbf755838ae5bcde180054663702ac3a4e68fe8b58fd88c70023100bdbedf64e424dbd7f979f83adef3fc85077fa76f8b1724815b5b8c24fde7fbd72f4b369a415d9bbf565cdc459bdce54c\n\n# tcId = 249\n# special case hash\nmsg = 323236343837343932\nresult = valid\nsig = 3064023022624fc23403955c0c9f5b89871177fa53879c8424de3b4ab1bcbcddc6e57b870b0491b848e19f728722b3163f4aa32802305bb82642cdaa84d6977fb95b3ede4ec7f2d54881cf435636d3509816f13ebb7be24fd7d4e1e81fddf07bde685e8d630d\n\n# tcId = 250\n# special case hash\nmsg = 35333533343439343739\nresult = valid\nsig = 3065023100da5a2daa7437df4566ebba6ac5ed424655633e354ef4d943dc95ddefb0dae69f3616e506cc8cb5bc433a82ba71f6feb402305107b24041bba45073ce54488a5aef861e7805bbb8f970aedc1c59149cfe72c7025e2d117337e8677c88ef43374e6907\n\n# tcId = 251\n# special case hash\nmsg = 34373837333033383830\nresult = valid\nsig = 306402302b0659fb7fa5fc1fce767418c20978de9a6a59941fc54f8380619b2ab2a7d6039de5373fbb503c24f2ce38e9c57995de02300d94dba98dd874bfffeac96a9295b6ab667708b8e33252edc029574c484a132135b13e52db6f877987c1be4f51fca193\n\n# tcId = 252\n# special case hash\nmsg = 32323332313935383233\nresult = valid\nsig = 306402304a5a14f1ecf053bf3ec14843db8c7dd153e9545d20d76345a9e1d1a8fcb49558ca1ee5a9402311c2eaa102e646e57c2c02301573b8b4b633496da320e99a85c6f57b7ee543548180a77f7fced2d0665911cb4cde9de21bc1a981b97742c9040a6369\n\n# tcId = 253\n# special case hash\nmsg = 3130373339333931393137\nresult = valid\nsig = 30650230104e66e6e26c36633c0af001f0d9a216236816923ec93b70bea0a8ff053a15aaaef5fe3483e5cc73564e60fe8364ce0e023100ec2df9100e34875a5dc436da824916487b38e7aeb02944860e257fd982b01782b3bd6b13b376e8a6dbd783dfa0d77169\n\n# tcId = 254\n# special case hash\nmsg = 31383831303237333135\nresult = valid\nsig = 306402304b06795da82bda354e8d9422a76c7bc064027fcdd68f95b7bc6177a85b2d822c84dc31cb91fc016afa48816a3a019267023018e31018e312d3dd3dd49ec355fdb0def3bb3e44393c26cf1bc110b23a3aacf6c442bfcec5535ce37527d0e068f75c03\n\n# tcId = 255\n# special case hash\nmsg = 36303631363933393037\nresult = valid\nsig = 3066023100ad75ca5a3df34e5a6d3ea4c9df534e8910cfb1d8c605fc398fbee4c05f2b715bd2146221920de8bac86c2b210221bcff023100a322d3df3bb2cf9e4215adf1ff459e70f2f86bec6dd6af5d04ae307d21ed5955136c8e258fdc0f9cbd6cf89c31aa691f\n\n# tcId = 256\n# special case hash\nmsg = 38383935323237303934\nresult = valid\nsig = 3065023100b0fa6289cc61bab335932ea1ac6540462653cc747ef67827825f77689a4398602297835d08aa16e23a76dea9f75404ef0230278d654a0b50c57d13f9c9c8c7c694001167f8e3b71491772a7427f1410fb6de518740c22e455e58de48846479b300cc\n\n# tcId = 257\n# special case hash\nmsg = 31353830323334303934\nresult = valid\nsig = 3065023100c216cb4fe97facb7cd66f02cd751155b94fa2f35f8a62ba565aca575728af533540ff5d769b7c15c1345ab6414e150680230278a8a372b75d6eb17a4f7c7f62d5555c7357a1a047026bead52185cbcc01d73b80a1577e86220b2278da2b1ee8c983a\n\n# tcId = 258\n# special case hash\nmsg = 33393635393931353132\nresult = valid\nsig = 30660231009591c80453cffbcd0b8d6d20fce0cbb2a458e54aed7ba1c767e6c017af4c4aa07a76859c0b249f6692a3c9ace893f14e023100893b567cd2959cd60557d3d6013d6e1741421a6edc5bc18244b3e8d7744e57928ce006a3fbd6e6324cb8ea3e5177e7e3\n\n# tcId = 259\n# special case hash\nmsg = 32323838373332313938\nresult = valid\nsig = 30650230350b5515ba9785f149e2a566c14f4178757bb325179888f526f7db11161aedcd752551381316c2713f5de21d3d517af002310097d48a90c3bb3444736bec69db0649f82428b39238ada6048a0bead84f2f3b73816b48fed4d57b5f87a194ce4004ed7b\n\n# tcId = 260\n# special case hash\nmsg = 32323330383837333139\nresult = valid\nsig = 3066023100833210c45d2448d9a4d69622d6f2193e64c65c79d45d62e28f517ca5c68eef05a2e98b1faed4cc87cbdbec6fe6bb8987023100b777b44cd30e6a049dc56af19a251d955c1bbab0c307fe12e9e5382fd48c173db0292f0b1047da28ee18518e11688eea\n\n# tcId = 261\n# special case hash\nmsg = 313239303536393337\nresult = valid\nsig = 306402307728ef10d9d5f3f32132716e6b403926929b05201700658d4b7f25a0692f153b8d666fd0da39888ab6234212659268d0023055df9466ee2c98225a2b0c4ff77622f9d11b4e48aa7f9279cdc2e245fdd9b9f4282106e25a458ff618bc3ca9422bea25\n\n# tcId = 262\n# special case hash\nmsg = 32373438363536343338\nresult = valid\nsig = 30640230552040701dba17be3b4d5d6e136ce412b6a4c50ce1ee53415d8100c69a8ee4726652648f50e695f8bb552d0df3e8d1c402301374972b2f35b2fd86d45ed0c9358b394e271575e429ac8aa60eb94b9df7e755d9317fb259269e9d3b1db8d48d91dc7e\n\n# tcId = 263\n# special case hash\nmsg = 37353833353032363034\nresult = valid\nsig = 3065023100fe6ef07056ce647128584bec156b68b8005f42d8c85dfb122134c488cc0e72cf8f06700417d7ff694b45e894ec23cbbd02307f5e33c5bfa697c144d440b32d06221f630a9ccaa8e9a0489490c04b86e8daae0e41d2466429b4b3cc1d37348e36cc0b\n\n# tcId = 264\n# special case hash\nmsg = 32333237373534323739\nresult = valid\nsig = 3065023100e009fc1a13d282bd37f10693350a5b421a0039713d29cb9e816e013c173bd1ec2bd6eb6bd88429023ee3d75d9a5ec06f02300b8bd481982a6e52355bcde5fe0092abac41f0543c31d1928b9a585e63e9520e24a65f46db2696e1b85a65c4e5240879\n\n# tcId = 265\n# special case hash\nmsg = 373735353038353834\nresult = valid\nsig = 3065023100acee00dfdfcee7343aeffa8514b11020c5435027887529d255bdbd45a90f160c68f05bd4b567daa8fa14e5807f5167a402301c9fdf546190970aa33121a3043280669be694e5f700b52a805aa6101b4c58f0467e7b699641d1d03f6229b2faf4253f\n\n# tcId = 266\n# special case hash\nmsg = 3137393832363438333832\nresult = valid\nsig = 30650231008a4ee1e3bb251982475877d18763fafcf49ccc8b0fec1da63b0edccbb8d3e38608a2e02d0d951031179e12ac899d30c3023073cb62ad7632cd42dff829abfbfcb6165207e3708ed10043c0cdee951c7f8012432696e9cf732dcbadb504630648419f\n\n# tcId = 267\n# special case hash\nmsg = 32333936373737333635\nresult = valid\nsig = 306402303903b59f837ff5f41f42cbe3e2fc8e17d859cbb35386c4327d3947fb012b3629fea911c83cefdbd503aebbcc1114afd102300e5be9094b5a22ade00c24644f476baad0f7741dfb2ce9644a1c45769404f8dccc522017c2b8cc630f1a0ef5fee99fe8\n\n# tcId = 268\n# special case hash\nmsg = 35393938313035383031\nresult = valid\nsig = 306502307717ffc8d0811f357299423c56ec181c58f198", + "1f5c1dd4f346f6a2ad71d3582e203a11e8609c1146ff3247a1820f832c02310096c89ec707da3cd8b09084b065e3265327a536a974c4285155388011e348f2e7f005ae7e3e502732fc2971ac13fd72c0\n\n# tcId = 269\n# special case hash\nmsg = 3136363737383237303537\nresult = valid\nsig = 3065023100a21519ce3533c80826f1e47fa9afde7096151144291134421990285a8d89a8c2d4afdadd547a923dcc17bfcdd0e9ffb9023040577245dd2e022c8ed8b5de7b8c26f31307429a7a64e5729311cc4128e3b486867e61b4a8a1cd0731792eb1466d08f3\n\n# tcId = 270\n# special case hash\nmsg = 323036323134333632\nresult = valid\nsig = 3065023100a727addad0b2acd2942cb1e3f7b2917ca65453275198b06436a993bfc982d3f54620c395e253d57b8fe026efcf7252f902307a19811aa4c12c45c3c041e7c614d0d98051ca7a0c57a9a107d552793ba1d0debb373525aafcc13ae1acd50a42a89adf\n\n# tcId = 271\n# special case hash\nmsg = 36383432343936303435\nresult = valid\nsig = 3065023022287277872d175d8a3ff5be9818658f845eb9c1b2edc093ae82a75aa31cc26fe1771b4bfbd4c320251388d7279b5245023100b47d1833867e889fcfd7ac171855293a50aa6db24c6522e374fe87be12bf49b13c8b5e1455a2f25aa7912f799eebe552\n\n# tcId = 272\n# special case hash\nmsg = 33323639383937333231\nresult = valid\nsig = 3065023100a0f41362009b8e7e7545d0f7c4127e22d82ac1921eb61bf51e9ea711e41557a84f7bb6ace499a3bc9ebca8e83728787b02301f6e0c15a3e402370885e2aceb712280ebc45b63986357765b7e54b06cd00db8308e4715c39d48d246030bf960e6a2ff\n\n# tcId = 273\n# special case hash\nmsg = 31333837333234363932\nresult = valid\nsig = 306502304144e1c6ad29ad88aa5472d6d1a8d1f15de315f5b281f87cc392d66d7042547e6af7c733b31828f89c8a5dafce5bb9af023100f5d0d81f92428df2977757c88ba67f9e03abd4c15b1e87fa1dd49e601a9dd479e7c3dc03a8bfea60fcfc1c543931a7de\n\n# tcId = 274\n# special case hash\nmsg = 34313138383837353336\nresult = valid\nsig = 306402305f177fc05542be6e09027b7eac5eb34f34fc10ad1429e4daaea75834de48dd22626f2bf653dfcc46234921d19b97406b02307def6c993a87560425f2c911046357c4b1c4c376bfa22bb45d533654fea6f565ba722147b2269ea7652f9c4af62ed118\n\n# tcId = 275\n# special case hash\nmsg = 393838363036353435\nresult = valid\nsig = 3066023100bd77a8ff0cd798d8f6e75dfbbb16c3ee5bf3f626dcb5abdfd453b301cb4fd4caee8e84dd650a8b4cf6655dea163788c7023100ef8f42394469eb8cd7b2ac6942cdb5e70dd54980ad8c0c483099573d75b936880459c9d14f9e73645865a4f24ee2c4ce\n\n# tcId = 276\n# special case hash\nmsg = 32343739313135383435\nresult = valid\nsig = 3066023100a02e2196258436da6a35a2f73cf6b08880f27757566ce80c7fc45f5dcbaec62d3fcebb784b4a650e24c1a997e4b971f7023100f1195d2ba3321b6938e04169d7baf605001b6311f08a5e82157a7675d54993f2fd1e41f8c84fc437a1a139d2e73e8d46\n\n# tcId = 277\n# special case hash\nmsg = 35303736383837333637\nresult = valid\nsig = 30640230686c5dfe858629125fdee522b77a9b9be5e03a347d79cb4c407f17fd25c97293cd99711f33e77814bd30d2453d3a86c10230509ac9b18c1b2b5a2b1b889d994b950743a988c2fcfb683e89211a43da6ee362c2e414d84fe82db1904b81701c257822\n\n# tcId = 278\n# special case hash\nmsg = 393838353036393637\nresult = valid\nsig = 306502310083ce818ecd276432a8ddfe75406d01329e76d7586cd6f611c1fe1a0913ad80014c2156381942d58dd6356e44ccdc52a8023036a35983b97a9ae2a19cf05ba947dd880c973d5c78f9676ebbcb0b40d639124030c137236232f1fad15afd71c52ad8ec\n\n# tcId = 279\n# special case hash\nmsg = 32373231333036313331\nresult = valid\nsig = 306502307cb78ebb712b5a2e0b0573d28440a5da36bd2338805d90ef3b0c1178ae613be8ae8bf548af4e7403e5a5410462afc2e30231008631a82cbdb8c2c7df70f012405f06ad0ab20d6c4fbceb3e736f40fdff1a8e5f6e667a0e77259f277494de84ec0de50d\n\n# tcId = 280\n# special case hash\nmsg = 33323034313031363535\nresult = valid\nsig = 306602310085110fe21156b7764b91bcb6cf44da3eb21d162395071c216a13b5920d67a31aaa20dfc4669cf32c04964d0831bcdc29023100e19187033d8b4e1edf7ab8eaaae1e13c80c0c4db51d921ccf62f424524cbd530d07de2cf902a0ecda5e01206ae61e240\n\n# tcId = 281\n# special case hash\nmsg = 33313530363830393530\nresult = valid\nsig = 306402300fd621a892ee5a3eb0bcb80f3184714a6635f568d92f41ad8d523887d5b82d2b930eb5ff2922fda1a3d299f5a045837f02301278725a607fa6f2fc7549b0de816fe2f88e3a1ec1ccaf9fb58e70a0f6646c2d7aad6e4f73d116e73096bdef231d0c89\n\n# tcId = 282\n# special case hash\nmsg = 31373237343630313033\nresult = valid\nsig = 3066023100802cbe405d3ce9663b0b13c639aa27730b3377ce42521098ae09096b7fc5e7ac998b6994344e89abfb50c05476f9cae80231009aa7258c0dc4eff4b2d583575368301e2a7865cfaa3753055a79c8b8e91e94496a5d539181c2fd77941df50fe87453cd\n\n# tcId = 283\n# special case hash\nmsg = 3134353731343631323235\nresult = valid\nsig = 3066023100859b0446949d7f78a0301ac4cc02b599a758fd1be006bf1a12570015869e59b9a429ce1c77a750969f49e291f6ab899402310099a812a1acc2c646814315cf9b6290d2232236cdf131f9590088e75a55786cdfc9d9027ec70056408ab55445fd79fe60\n\n# tcId = 284\n# special case hash\nmsg = 34313739353136303930\nresult = valid\nsig = 3065023100dbcc7ee9fa620e943193deae3f46b3142779caa2bce2df79a20639c8d01bce414a61f72764c1ec949c945320f5ee2a1d02301d9879787b880bd05db39bac07bfe3e7d0792932144e211e81f21da9621b83bff11bc52bcc7cb40cf5093f9bad8650fb\n\n# tcId = 285\n# special case hash\nmsg = 35383932373133303534\nresult = valid\nsig = 306402307a1f9fbd0f6e776c3e3a3c798f5c0d9e20f0e2f3f4d22e5893dd09e5af69a46abc2f888d3c76834462008069275dfeb9023045e6d62a74d3eb81f0a3a62902b8949132821b45d8e6cad9bb3d8660451727cdf7b332a9ac7bb04604991312143f8a6a\n\n# tcId = 286\n# special case hash\nmsg = 33383936313832323937\nresult = valid\nsig = 30640230047962e09e1b61823d23726bf72b4dde380e032b534e3273db157fa60908159ab7ee4cadce14fd06ebe8e08e8d8d5a0702301892f65ee09e34ce45dd44b5a172b200ce66b678b0e200c17e424e319f414f8dfbb2769a0259c9cc105191aa924e48d5\n\n# tcId = 287\n# special case hash\nmsg = 38323833333436373332\nresult = valid\nsig = 30660231008f02799390ab861452cd4949942cbbcc25cad7c4334c4bc6146fbef8ad96c86f923fbf376d9ab79073e5fcb663f1ea91023100ce15d9862d100ff95ad7368922eec3f6d7060ce412c01ff13870aa61626ee49edf39bb27005ecbe406bb6825f74c0438\n\n# tcId = 288\n# special case hash\nmsg = 33333636393734383931\nresult = valid\nsig = 306502301879c4d6cf7c5425515547575049be2a40c624a928cf281250f8bdcbf47e9f95310d0992c9887dc6318b3197114f358e023100e1116bf68320bade7d07a1a9651512d60b551af8625b98b5eb8ca222d4073ae5c140a80e5dbe59f073647daa00837aee\n\n# tcId = 289\n# special case hash\nmsg = 32313939313533323239\nresult = valid\nsig = 3064023031dced9a6767f39045472749baec1644ae7d93a810a4b60eb213c02c42de65152ffc669af96089554570801a704e2a2d02303022ecfbc88a72b9c50ef65344765b615738f2b3d420ade68cbf3ec40bef0e10c5cc43bcfe003bb6f17ec23802c40569\n\n# tcId = 290\n# special case hash\nmsg = 35363030333136383232\nresult = valid\nsig = 3066023100f4bdf786c61c5f1ce7568638ba9dbc9a134e27fc142003bf9870353980a8f4c2fbd03c8d0171e4048ef30db6fe15388a023100d0e96768bc6adc91f93ae5704e86888853f479f32a45bfd436dc8a030603d233c56880124b7971362aa11b71315ae304\n\n# tcId = 291\n# special case hash\nmsg = 383639363531363935\nresult = valid\nsig = 3065023100ec0f635b7ce31988a07f41b3df35ca03c70e376bfb3b6ab24831a83be2121b9f9e93928b10a8f5fc0322bdb9edd406fe023066618ccb473c6dac3b14cfab6dfb24d219b37aec63425067c2c1c631d64a80b9cab6445f5a5439adb28bb99daa9234a5\n\n# tcId = 292\n# special case hash\nmsg = 36353833393236333732\nresult = valid\nsig = 306402304f2bea24f7de57901e365d4c332ddb62d294d0c5fd58342a43bdd3ba5cbaf25adaddb5944bfef9dcc88f94d93650bbbb02300851b97ddc433e4521c600904970e2bf55aa901e1aaaaf06818377f84a28e033a49eebc21ffe9cff3cbefd0963fbed00\n\n# tcId = 293\n# special case hash\nmsg = 3133323035303135373235\nresult = valid\nsig = 3064023072a9bab30f8da1437f17115cc37b6ef8cf6591ed934d596675ad7b000c6a74cca5f37210a68228a58023790e3726c357023012d697c4e20b18f63a3e0164dca8ca4a5fa0058ad7cd1c571cef356e85fd8f56ab7963d8aba824e8d31efb3e690c27b9\n\n# tcId = 294\n# special case hash\nmsg = 35303835333330373931\nresult = valid\nsig = 3064023033b7105f4cc98a1ea2abad45dbbe3761b4613ddd350e62da91560da694be3e84b1684f9a8ee4b3f556c61d02af54446202302c86e3a216dc7dd784cdcbf5084bdf6cdc1c7e67dbd61f9f6ed161fda4d4c26167e5b12731cf2b0cf5d9a5f0b6124939\n\n# tcId = 295\n# special case hash\nmsg = 37383636383133313139\nresult = valid\nsig = 30640230252e3b5b60b8f80748b83623e30013723115cabcc48770c0ab6e7ee29c429ef1d9da78db3a9a8504133b9bd6feceb82502301ba740f87907cf6d450080f7807a50f21c31cd245dd30f95849a168d63b37628e8043c292ab7f130a4468eaf8b47e56d\n\n# tcId = 296\n# special case hash\nmsg = 32303832353339343239\nresult = valid\nsig = 3066023100b8694dbf8310ccd78398a1cffa51493f95e3317f238291771cb331f8e3a9753774ae3be78df16d22b3fbe9ad45bed793023100daaead431bbdbf8d82368fbbd2473695683206ee67", + "092c146b266ed32f56b31cb0f033eebf6c75118730eef7b7f96ba7\n\n# tcId = 297\n# special case hash\nmsg = 3130303635393536363937\nresult = valid\nsig = 3066023100d37ba39cd1b5289e7aa3f33afefa4df6821a07d3e8ee1c11e7df036c37e36214bb90264633d4c395644cd2cc2523833f0231008b0d58ed75af59e2abbcec9226836f176b27da2d9f3094f2d4a09898136436235025208cf5444265af66fed05b3dc27c\n\n# tcId = 298\n# special case hash\nmsg = 33303234313831363034\nresult = valid\nsig = 3066023100b4ef419020c0dcbdeeeed76c255560f1ed783c0f9e7fcea4c08a0714b9d1f491fda9ae7bb1eb96d294b02799f82861290231008d987611063d2f28cb309a56eaf1ea65f27d95c97b77a5f037f2f914fed728267aaf62a37f3c7b44fc4b15125b349863\n\n# tcId = 299\n# special case hash\nmsg = 37373637383532383734\nresult = valid\nsig = 3066023100b2df7b11cf60ac93c078d19f37f889717aa5d9af1d00d0964f9e9f5257c3b51b3d3e47ca5b5aa72058ed63b52464e582023100b524968ea8c58d379e38f4cfa9da1527a2acb26d605d22f173fcf1e834db0d7f031cb9245cb62b8458ff499b8d3decbe\n\n# tcId = 300\n# special case hash\nmsg = 353434313939393734\nresult = valid\nsig = 3066023100e0edc08b4122b75ebbd1635d07f0bb55771bda15573a5081da971955f9a63f6decdd4919911dbfea503ea8ed1faad93d023100ca7850c74ce878587056206c590a1097d197a2090cfe3e057becfa2700c7a531623ae7331e163def693e26a97feb540d\n\n# tcId = 301\n# special case hash\nmsg = 35383433343830333931\nresult = valid\nsig = 3065023068f555eef5a323a929719bfd8cf81d6d8a977ecb35defd86fa54d8e5749c7b5f3e80087fbd39f8aa0cd29d8310bd6578023100e2c2314a50fc0ad78c1ec02ea77ee2e13dcef1460957c6b573f721d72c209ac5fb529ab20397234c59ed44f60400971a\n\n# tcId = 302\n# special case hash\nmsg = 373138383932363239\nresult = valid\nsig = 30660231009e330e29f18123813e83b9c6abd68de96a57f97a4005b88d5b470a67a541b6d3af12124cf8658b751671c6698fb8b021023100d210fba9bde6ef077ca06b75e1cf7ce8dd70b08e9dd42d81a215ef9272f1779ae3e9f0dec510571d87237cc6bf3203e8\n\n# tcId = 303\n# special case hash\nmsg = 31373433323233343433\nresult = valid\nsig = 30650230483192056f753f64ddf0f21072b73d68893e6fa5432c981c7a1955b6592a6045a5c1c58c383e70023c34e09b7964ec8d02310094b005d5f98c4fd2ad40ff8e03a8599f45e206082112f834df1d48502d2ac690cd3204f0078913794c9c39077ad6c58b\n\n# tcId = 304\n# special case hash\nmsg = 32343036303035393336\nresult = valid\nsig = 306402302b7ec14fd77c4b33230dd0a4e2710fbd307e469baec54b6f25daac7e196b7b4b5df251cdddba7bdc9836ca1319bb900b0230590036192586ff66ae9a288199db9d02bbd5b703f8c329a9a1f986001b190f20ae96fe8b63681eda17bac2a57fd40f2e\n\n# tcId = 305\n# special case hash\nmsg = 31363134303336393838\nresult = valid\nsig = 306402302611484e7ff47dfaece4aa883dd73f891869e2786f20c87b980055ddd792070c0d0d9a370878126bab89a402b9ea173c02304e0006b8aabe9d6a3c3018d9c87eae7f46461187d3c20b33e975c850599ec1cb52c76e1f507e439afc43f9f682e7a8d2\n\n# tcId = 306\n# special case hash\nmsg = 32303935343235363835\nresult = valid\nsig = 306502302d504e38cdb1bb80bf29e07afbc66aea732accc85a722011069988f21eef685084f55efa30bfe32427eb8636db9171b4023100883e3d80d766ccb29e73a9e929111930da8353ec69769785633fe1b4505f9051e78d50c79a6b7c885c10b160bbb57fb6\n\n# tcId = 307\n# special case hash\nmsg = 31303038303938393833\nresult = valid\nsig = 3064023028dc1b63dc61ecde754ff4913780e486339103178e27d761987dac0b03c9bdf4a4a96b8680fa07fc47ae175b780e896e02305a9898eedf8781b9afeb506e0272a12c0c79bb893b8a5893c5a0a1bf4324d46dde71a245be2fd8aa2975fdeb40adf8f3\n\n# tcId = 308\n# special case hash\nmsg = 31353734313437393237\nresult = valid\nsig = 306402304c978a47b9e9449337178aa6413a794c4c9bf182a42062646a469b1d2c2c95621e818e661352b07e63254b6954e1459802306997345f05cfc05c0fd4d1dd133e555e5e5002e0929a59f60bbffc354234783ebf4fe5db10a870952cabd453635c1082\n\n# tcId = 309\n# special case hash\nmsg = 32383636373731353232\nresult = valid\nsig = 3065023036d8e2cfc80d0436e1fad3702ec05aa138618cdb745652cb85b0b121ee107bdf1ade0464dc0c6bd16875bcc364044d8c023100898b8775c9b39aa9fd130b5ab77e6c462ced6114898045b7f606142277d9eb2aa897f24c9ba4c8d112111de04dc57c10\n\n# tcId = 310\n# special case hash\nmsg = 31363934323830373837\nresult = valid\nsig = 3065023100ce2bdcf924caaa81e79bd7dd983dfeeee91652e4ea6edd077f8b56ada4953733a22dd3a6336446a648aec4ffc367cb3e023008eb09faeef4b0e5c1262eda2127464f7e2981ea1736e80afc7c622461c3d26fe08694fb4914ce9dbba83704e3077b3c\n\n# tcId = 311\n# special case hash\nmsg = 39393231363932353638\nresult = valid\nsig = 3066023100e3a1b4b0567d6c664dec02f3ee9cd8581129046944b0e6650f6e6a41b5d9d4bf79d7a6fd54ea5a218492cfa1bb03ca07023100986206925cbfa186c7d88f7100d87dd3b2d03b8789309a722d582f119eef48cd0ea5460917cf27246c31f90e28540424\n\n# tcId = 312\n# special case hash\nmsg = 3131363039343339373938\nresult = valid\nsig = 306502310095a5e29940e42099c4637f4ae51e7d1ec02be0dcfb0b627030984c35e477e80cc57e7eef970e384dee16a9b9fc8f2bf202300ca166c390339653cde84e79a87e5ceb4f52c1a515a5878542fd82705b9983976fd31a4123b5d0bde95a0818114cf462\n\n# tcId = 313\n# special case hash\nmsg = 37313836313632313030\nresult = valid\nsig = 3066023100c30c49d0ba131944e2075daacb1259d5580a712a08f73d889c4d3d484d73dd9719a439a986f48b072c4595c507a01083023100a5595c0691bc2d215f981fab513e3a88a452f2a1433367b99b02b6efe507519afedbe1ad0337899944e29c9ccccb2476\n\n# tcId = 314\n# special case hash\nmsg = 33323934333437313737\nresult = valid\nsig = 30650231009fd0585f8740669885c162842bba25323ea12b1d05e524bb945cad4e31538742eda5128f467b3c562c5f0a99019d3406023043acfadd03915c2350e1d8e514c47eb36f3c3456169c9a562a6262c1c2d7d33378bf9fec7f220239d5c61e06414414a4\n\n# tcId = 315\n# special case hash\nmsg = 3138353134343535313230\nresult = valid\nsig = 306402304ecac0cdbf665c584f8a40614cd55d042706c54895b1de02984fe309122566c959a4dd3315e7d3f089879f8f45821336023009187da6587a3de90eba41f4e6510e711f4467f3122971566ecc39a4bd53e95b8a19380e20ec2a7c752d29de54fd2e8f\n\n# tcId = 316\n# special case hash\nmsg = 343736303433393330\nresult = valid\nsig = 3065023037a1ba49f11e97ad0ec47e687c6c6e94f794f874720c0dd2da501437b50e5b00fb6ed33adf7cf1f9c870fd3d37165bf7023100b3ad08c9886b4ca1593a68938b67142c65ed4da1714c22204cba71300c094ccdbdf84c38a3f6d896db72ed5051a19266\n\n# tcId = 317\n# special case hash\nmsg = 32353637333738373431\nresult = valid\nsig = 3066023100a0abe896d2f30207bc9b21e75400eedb88d3498d49806f41aa8e7f9bd815a33382f278db39710c2cb097937790d0236c0231009a29aded30e8ce4790756208d12044e18c34168608026000a883044dd0d91109d866b422a054c232810ddfbb2ae440bb\n\n# tcId = 318\n# special case hash\nmsg = 35373339393334393935\nresult = valid\nsig = 3065023100b024fc3479d0ddde1c9e06b63c9bfb76a00d0f2f555220cb9a1311c2deec32eb3d6d2b648f5e8c104d5f88931754c0c20230767950cc149697edbae836f977bd38d89d141ff9774147b13ddd525b7a3f3a14a80d9979856f65b99a6faff173b5d6eb\n\n# tcId = 319\n# special case hash\nmsg = 33343738333636313339\nresult = valid\nsig = 306402302a0ae7b5d42645051212cafb7339b9c5283d1fd9881d77ad5c18d25ee10907b7809740a510e65aecd61b53ba3a0f660a02304c0457dd19ef6e4d6ae65f45417ddf1a58c07663a86737d271becfa3ea5724b6018f1fa9e64fd08601a7dbd3957761d9\n\n# tcId = 320\n# special case hash\nmsg = 363439303532363032\nresult = valid\nsig = 306502300c1657320faca6668c6e9f06f657a310b01939a7d9640fa0429872fe28bd1667688bc162221285ecfb14e8d80627450a023100f5272aa08c321aa4f7e520825cc720f6511d635598c648d4d514669b3ad803ad259c799e195a095982f66c176435be21\n\n# tcId = 321\n# special case hash\nmsg = 34373633383837343936\nresult = valid\nsig = 3066023100d821798a7a72bfb483e6e9840e8d921200ef1976b7e514036bf9133a01740ce397c73fa046054438c5806c294a02c6800231008c5d12887fcd945ba123fc5a5605d13a5a3e7e781ad69c6103577ee9dc47adc3e39a21080dd50304b59e5f5cf3f5a385\n\n# tcId = 322\n# special case hash\nmsg = 353739303230303830\nresult = valid\nsig = 3065023100c996bd6fa63c9586779f27523d5583135a594808514f98cc44cac1fa5cfa03c78c7f12f746c6bd20608ecbe3060eb068023027d40a11d52373df3054a28b0ab98a91ad689d1211d69919fc04cadc22ff0367d3ef9433012a760c1d1df3715c8d5cf3\n\n# tcId = 323\n# special case hash\nmsg = 35333434373837383438\nresult = valid\nsig = 3065023042dd6c8d995938701a538909ed6aeae0ba50c995138de84e195bbb9c56180e108d4a6274548c7be6e121c4d218d2d4a0023100fae8668bb2003f0da1dc90bec67d354ccbb899432599c3198b96c5ca4bd2324c46998f4fb76a123467cf24570b1b6916\n\n# tcId = 324\n# special case hash\nmsg = 3139323636343130393230\nresult = valid\nsig = 30650230061f185633291b9a768e15ec03a2b7c356c757b023b61e313fdf0c5349d128a78668d20b2561709b3bd8451b920f12ab0231008fc5edc66410dbf20a7cbc3498e405761756ed39866856e74256ac1f255f62b0edff519762ecdbbc8395d14715c4388e\n\n# tcId = 325\n# special case hash\nmsg = 3", + "3373033393135373035\nresult = valid\nsig = 3065023069326e047c62e8bac5c090b76bf73ae652fa9a6aecfa1ccb8702f419094c9727511264fb1aeec00e425c7a0d746793d30231009dbddd22db4a77dbe16114bc6fbb981aecba7e82a9cbc1ed385e28a51793561770fb3f9696090efca24f268d8788f2c9\n\n# tcId = 326\n# special case hash\nmsg = 3831353435373730\nresult = valid\nsig = 306402304ca1df89b23ed5efcdf601d295c45e402d786a14d62f7261104e4cb05b8cae17abb095799e71173841749615c829411b02301bb777e0a6fee8a2337a436a6fa26a487de4640ff97d57b44b55305989803863d748c7302f2dfde8b8cedd69bb602e2d\n\n# tcId = 327\n# special case hash\nmsg = 313935353330333737\nresult = valid\nsig = 3065023067be1b06f67172c503a5ac50582235d30bc9079eaa4cdec69a39c096310f8d99186cc9af7c8b4369a291d3e921d60705023100ab645fc91f06b1ff7cc58fccf6f7cfac74db30d839748a78cb5f3b8fefc7a06f3b5ff0310a8580c6050bebb75eda972c\n\n# tcId = 328\n# special case hash\nmsg = 31323637383130393033\nresult = valid\nsig = 3066023100d966442d6c29e5a4cc60e2374eccd373db3ebe405ee7c9664c4273100cd1899a1c58110487528616d8c5321dbf5227640231009bb0e4a2c041a3b7b672029fe480d155f57671ecd6eb598660d025acce1f613d03cd6cff4a214131c8c7a8ad22df1397\n\n# tcId = 329\n# special case hash\nmsg = 3131313830373230383135\nresult = valid\nsig = 3064023008a84a2bc39b082ab82e6e45f088a36f1cb255f97ec8124eca929d4506d7dab63957c647994be2c2c7344f902de5b38f02300c9645e84a304ba0970ca5ce00b8c8a971fa0d0bcbec6a70134894c44d3075030ff04333ea3889f847a1ed769ee618ee\n\n# tcId = 330\n# special case hash\nmsg = 38333831383639323930\nresult = valid\nsig = 306502310083004b034202bbf51a327d32ed3ddf67b46eda9bac695a4422744a4bd99aaac3b3e8ed80ddac6538939c9385d6c8f61602307b4e61926cb9afa8cdaaf44909df6dc6449887d59fe2acac05f7684a235fa77179bdbcc69fd8f359e8eda19e5a5d4807\n\n# tcId = 331\n# special case hash\nmsg = 33313331323837323737\nresult = valid\nsig = 3065023100ad93375a1d374c41e5de268a8c08c205ff5652445bfe3ddf4ca77a70f5819f9f06db861d82fc9637946f0fe38457f2bd02304bc043acbc6a68d4824ed768af9476ad5b93e4cb3bbac284fb5fbd548ae3b96c265c6d1ef4588a3e2da21b124c0d6b12\n\n# tcId = 332\n# special case hash\nmsg = 3134333331393236353338\nresult = valid\nsig = 30660231009e0d45d2dc93fd363dc919405818e39922f3f9dd0827bcad86d4ba80a44b45a6f60b8e593b580c91262b32859dbb1e53023100eb9b8dfe5ba4a055a974f19b488f3a6fa07161006ac94eb1fe1c12dd0e20f3a7be38a37ce96d671183c5871249b2a3c5\n\n# tcId = 333\n# special case hash\nmsg = 333434393038323336\nresult = valid\nsig = 306502307a5d04cd2fda59d8565c79ea2a7f1289ab79cae9fde060094c805c591a2534e4393e28c3fd858529bf17643846aceb830231008de0d8c0092fd02d554afe25f814744beaaa17c6946a6387ec7046b602db8a6c900246c2fb63fcef2ac8d9394444a0fc\n\n# tcId = 334\n# special case hash\nmsg = 36383239383335393239\nresult = valid\nsig = 3065023100a564eea0cdac051a769f8ff1e0c834a288ce514f67d138113727b53a1a6fc95ce237367b91f1b91b2f65d589adc8288e0230182e5b47b6fbd8e741a04e809487ba5fcb8a5f2f1b9af6ce214128623a4768e38e6ddc958ff39078c36c04a314708427\n\n# tcId = 335\n# special case hash\nmsg = 33343435313538303233\nresult = valid\nsig = 306402306758867cd1ca1446cc41043d1625c967a0ae04d9db17bbb42fa9c076b3593125d63cd3e7471ee6cdba5235a21cec2f220230563db387adb537e1d89231d935ac790316925aeb29132b9f87bee91116c33bf50943fe39b671ce9535dca0a5d22bbfa4\n\n# tcId = 336\n# special case hash\nmsg = 3132363937393837363434\nresult = valid\nsig = 3066023100cde033e38d3f791db87d8a6907516bd8021acd47e897df683fda529d48050f8b5688f6361daf1b14bc3f45fc7f76150f023100e14f4811a667c85335a4709a589ea46bac72055b794eaea92d28e834d5bc459c605fe4f27c1ab18d186d59e7d205cb67\n\n# tcId = 337\n# special case hash\nmsg = 333939323432353533\nresult = valid\nsig = 3065023100f2384468b55553c68f9764d8248cfd7358d604fa377ebb13828c43a8ebdf308fbbbebfa49a9458bfda957d2068d24e3f02301fdf4891d56e3e90c02b05c14c27c17f56f8e6aa144f02328c90109e1f70c9e3f582f0d299c44da505c543cc89c6a990\n\n# tcId = 338\n# special case hash\nmsg = 31363031393737393737\nresult = valid\nsig = 3065023100b1ccafedcc21ba90b342fa23c0149f3d12a939ab6c3342b36ae61fddbdc753927a7c3e978bd780cf25cd78c8c5efe28002304c32a73f3157bbe2384095eb67726b9cd3c2623b98a182a3b4f00e8db933e1113b7ada2695a7d79b471026462b20e289\n\n# tcId = 339\n# special case hash\nmsg = 3130383738373535313435\nresult = valid\nsig = 3066023100f3ed170e449758299ae55eb85244745e1876621c1f708e07e55c0d2d9ab5f9af9e0a8b3c7bdf8936ab3c9ebd1908e9dc023100da62ccdb658868147286d7269bcbd4addb4dec9ea3d5d79fdbe0ccffa40d055170bddeb4ef4c5e0bc99fae5db62b4477\n\n# tcId = 340\n# special case hash\nmsg = 37303034323532393939\nresult = valid\nsig = 306502310083455fc4629e7693c8e495fec2d29bb23bb6db79180fcfa83a4f9310d9db27e29297dee27ee80a71ab2f7a2d59f48b8802307736c056c8f2bb57e9fb6b8de0ab6d09879f6611e737634e7b6337aa5c5a01f515d5e3702dec9a702177c816e32bac67\n\n# tcId = 341\n# special case hash\nmsg = 31353635333235323833\nresult = valid\nsig = 3065023074961587cbe49bbf0a73fea82b8b2242f67b0ea09224774639f437c60378a36b2d511a9145d576b440dffd1f02286a8b0231008fb95d46c22889085cc1d3e20bcfbcbc52f4532445f76f08efae2de8b56fe8525204643330dfd23cce946687a0aef046\n\n# tcId = 342\n# special case hash\nmsg = 3233383236333432333530\nresult = valid\nsig = 3065023100a3fd322330d0f0efccc54bd7d73c3159eb1bcca08cec369a4a08fd00f9ec6d482ced58eb08a0d7c2113bd5575de4917d0230164e3232a628c40fbba1de82bfb9627cec78a8040cf325a5a8bb8f864c2ac19e3524ac93f4db5713ce62ba256176e05e\n\n# tcId = 343\n# special case hash\nmsg = 31343437383437303635\nresult = valid\nsig = 306502304c862ff9e4ff88f9a58e9fceaaf9bbb30740d3f6c8c6a69b5627fe234b144f8cdf09520735cfd708f5e341a78cc4873d023100a861972514a0e975cf2da214125ec93288524cc77492ed63c516424278e5ec8d41724467cb7c3111fa34c69193abb435\n\n# tcId = 344\n# special case hash\nmsg = 3134323630323035353434\nresult = valid\nsig = 3065023062225e4e492a9773397870336168960a66b9e50391ef7289cb2d3878f32252dc1b904f6682545e14564e415bd93e01170231009f4d0327f79e043505c691e361fa2e00f87f41324777eca6966f4bea2fa0858876aa01980b2cad7f66037524de49bf65\n\n# tcId = 345\n# special case hash\nmsg = 31393933383335323835\nresult = valid\nsig = 30640230450c65d2d88ba464eee3a5ce9310b519d5dcf608799fb2275eee987a67c2c4d7ac53716987cc5139c18c67ef07b1e20702301ee0439311a7bce1c4fed0a3152d1b354d96536c6ca0c9188ac1f1afcc5cd7305b5611ef0d19d8bd57c5059976dc5e68\n\n# tcId = 346\n# special case hash\nmsg = 34323932313533353233\nresult = valid\nsig = 3066023100aa2575fb5bea0effb5247d20c3d0165d575831840b5c18b0245a99a61b7ad5d7bf8a8cfcc375e095a84e781025bee3ee0231009c8b7797ad330abc206060b28b6ca1c639d89f59582528bda1527e3ab081697a2ab576f9d09c2ee329dd73231667308d\n\n# tcId = 347\n# special case hash\nmsg = 34343539393031343936\nresult = valid\nsig = 3064023001fc45285aa2c2e50458199ade2ded0dd36b1de03e8969175be4a6f09f9719b195ded8d9eb4ea132d95d19a3528fd6c9023059609a358c5919fef4781061804d4d64a067edecdcfd14620161aae3ef2735095a558e4f8ae345040123f093e5f70af2\n\n# tcId = 348\n# special case hash\nmsg = 31333933393731313731\nresult = valid\nsig = 3065023100d8e1f6b19e5b92e36060e59e53eeb788a4758c2c8ee9519f3949d5f3315abafbe937b8ed44d47e886a07c107aa8ac9f4023012550574318371e5168d0a339f20fcacaec87db211bba4d4e7c7e055b63b75fd31790ad285f4cc061378692b0a248e34\n\n# tcId = 349\n# special case hash\nmsg = 32333930363936343935\nresult = valid\nsig = 306402304815aec44a7a6b86ae87fc2556accd77832fa33a4710e02ec5ef6f41f68a910e6af4d173ae462a759bd98079b371bf5d02306e78d562f9e8be65e8d7a74a7305e5d6cf2f3c4c980f2b18dfb8e9c8b0134ec86548053b3d125e56d5872294d2d14ebc\n\n# tcId = 350\n# special case hash\nmsg = 3131343436303536323634\nresult = valid\nsig = 3065023100d302f9db6b2d94e194412f0d40a135a554aee014bd939b3d7e45c1221ef7ce45c2aed875f9a2bc43dbc8264d92e444a5023004e7247b258c6e7739979c0a07282f62958ac45e52dd76a41d5e1aca31a5cda73d7b026d67b4d609803001cb661d74c6\n\n# tcId = 351\n# special case hash\nmsg = 363835303034373530\nresult = valid\nsig = 3065023100889f0e2a6ae2ddcad1cde3f65b61d4dd40985917ba841b47a1f802491f5af5067722b7683df0fca7ee19d2b73724c8fd02301f989bac23b51c49e5d7dcc319eed2fc767e9b432bf75af92814d9e67a5d4b3398eb15e98b70527abbc029abc1bea524\n\n# tcId = 352\n# special case hash\nmsg = 3232323035333630363139\nresult = valid\nsig = 3066023100e69c70c679795ca7d2b66e2632529651c120055fa3cf25435fe8bb28987c02412ce73e6ca5ca7e0b42e9670c0a588175023100edd8513bff40cdca9e22659238fbcea2de2caeef53c5287a515db9168b3008ec446c9b94f28a6e021c69bc6637fc4634\n\n# tcId = 353\n# special case hash\nmsg = 36323135363635313234\nresult = valid\nsig = 30640230068cbecfd47bfd688f495df05e45fd5fced6d8e240605c5", + "b2be5e69368740b694b9b1ea034af3180e571dd38a86369ef02301a1d2976f748d1621128013c61abda5398a3e24f0073d1a6e07a1e96c12be4f1e2e7b144f9b5a350500acfc5cb0698d9\n\n# tcId = 354\n# Signature generated without truncating the hash\nmsg = 313233343030\nresult = invalid\nsig = 306402300e2c56eb5f6612f0c2b22ab03d57d9a443075a2b7a0b460883e4f4876121e9b6f1ed67de20b79f028f7f66ed0281db7102303916b72b12d035a307b7c45a9878333a8c61445aad2330dc49a12b92e2e5dab72e53e5789f40afb90aea0ea4431f2dd1\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04ca5ee479ad6624ab5870539a56a23b3816eef7bbc67156836dfb58c425fdb7213e31770f12b43152e887d88a3afb4b182aceec92b3139aca8396402a8f81bb5014e748eab2e2059f8656a883e62d78b9dc988b98332627f95232d37df26585d3]\n[key.wx = 00ca5ee479ad6624ab5870539a56a23b3816eef7bbc67156836dfb58c425fdb7213e31770f12b43152e887d88a3afb4b18]\n[key.wy = 2aceec92b3139aca8396402a8f81bb5014e748eab2e2059f8656a883e62d78b9dc988b98332627f95232d37df26585d3]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004ca5ee479ad6624ab5870539a56a23b3816eef7bbc67156836dfb58c425fdb7213e31770f12b43152e887d88a3afb4b182aceec92b3139aca8396402a8f81bb5014e748eab2e2059f8656a883e62d78b9dc988b98332627f95232d37df26585d3]\n[sha = SHA-512]\n\n# tcId = 355\n# k*G has a large x-coordinate\nmsg = 313233343030\nresult = valid\nsig = 304d0218389cb27e0bc8d21fa7e5f24cb74f58851313e696333ad68b023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52970\n\n# tcId = 356\n# r too large\nmsg = 313233343030\nresult = invalid\nsig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffe023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52970\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 0470e6a90b4e076bf51dfa01fa44de49b448f7afa0f3d07677f1682ca776d404b2a0feef66b005ea28ba99b6ce21d0ca12424f7d179951fb89156cdf04aed6db056c98592c651b5a881abc34e2401127fb81c64e90cee83269c5141f9a3c7bce78]\n[key.wx = 70e6a90b4e076bf51dfa01fa44de49b448f7afa0f3d07677f1682ca776d404b2a0feef66b005ea28ba99b6ce21d0ca12]\n[key.wy = 424f7d179951fb89156cdf04aed6db056c98592c651b5a881abc34e2401127fb81c64e90cee83269c5141f9a3c7bce78]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000470e6a90b4e076bf51dfa01fa44de49b448f7afa0f3d07677f1682ca776d404b2a0feef66b005ea28ba99b6ce21d0ca12424f7d179951fb89156cdf04aed6db056c98592c651b5a881abc34e2401127fb81c64e90cee83269c5141f9a3c7bce78]\n[sha = SHA-512]\n\n# tcId = 357\n# r,s are large\nmsg = 313233343030\nresult = valid\nsig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52971\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 045a568474805fbf9acc1e5756d296696290b73d4d1c3b197f48aff03b919f0111823f90ea024af1c78e7c803e2297662d4c1c79edc9c694620c1f5b5cc7dd9ff89a42442747857cace26b6ebc99962ec3a68a8e4072226d6d98a2a866dd97c203]\n[key.wx = 5a568474805fbf9acc1e5756d296696290b73d4d1c3b197f48aff03b919f0111823f90ea024af1c78e7c803e2297662d]\n[key.wy = 4c1c79edc9c694620c1f5b5cc7dd9ff89a42442747857cace26b6ebc99962ec3a68a8e4072226d6d98a2a866dd97c203]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200045a568474805fbf9acc1e5756d296696290b73d4d1c3b197f48aff03b919f0111823f90ea024af1c78e7c803e2297662d4c1c79edc9c694620c1f5b5cc7dd9ff89a42442747857cace26b6ebc99962ec3a68a8e4072226d6d98a2a866dd97c203]\n[sha = SHA-512]\n\n# tcId = 358\n# r and s^-1 have a large Hamming weight\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100d1aee55fdc2a716ba2fabcb57020b72e539bf05c7902f98e105bf83d4cc10c2a159a3cf7e01d749d2205f4da6bd8fcf1\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 0488531382963bfe4e179f0b457ecd446528b98d349edbd8e7d0f6c1673b4ae2a7629b3345a7eae2e7c48358c13bdbe0389375c849dd571d91f2a3bf8994f53f82261f38172806c4d725de2029e887bfe036f38d6985ea5a22c52169db6e4213da]\n[key.wx = 0088531382963bfe4e179f0b457ecd446528b98d349edbd8e7d0f6c1673b4ae2a7629b3345a7eae2e7c48358c13bdbe038]\n[key.wy = 009375c849dd571d91f2a3bf8994f53f82261f38172806c4d725de2029e887bfe036f38d6985ea5a22c52169db6e4213da]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000488531382963bfe4e179f0b457ecd446528b98d349edbd8e7d0f6c1673b4ae2a7629b3345a7eae2e7c48358c13bdbe0389375c849dd571d91f2a3bf8994f53f82261f38172806c4d725de2029e887bfe036f38d6985ea5a22c52169db6e4213da]\n[sha = SHA-512]\n\n# tcId = 359\n# r and s^-1 have a large Hamming weight\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100b6b681dc484f4f020fd3f7e626d88edc6ded1b382ef3e143d60887b51394260832d4d8f2ef70458f9fa90e38c2e19e4f\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04080da57d67dba48eb50eef484cf668d981e1bf30c357c3fd21a43cdc41f267c3f186bf87e3680239bac09930f144263c5f28777ad8bcbfc3eb0369e0f7b18392a12397a4fbe15a2a1f6e2e5b4067c82681c89c73db25eca18c6b25768429cef0]\n[key.wx = 080da57d67dba48eb50eef484cf668d981e1bf30c357c3fd21a43cdc41f267c3f186bf87e3680239bac09930f144263c]\n[key.wy = 5f28777ad8bcbfc3eb0369e0f7b18392a12397a4fbe15a2a1f6e2e5b4067c82681c89c73db25eca18c6b25768429cef0]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004080da57d67dba48eb50eef484cf668d981e1bf30c357c3fd21a43cdc41f267c3f186bf87e3680239bac09930f144263c5f28777ad8bcbfc3eb0369e0f7b18392a12397a4fbe15a2a1f6e2e5b4067c82681c89c73db25eca18c6b25768429cef0]\n[sha = SHA-512]\n\n# tcId = 360\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020102020101\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 040e74a096d7f6ee1be9b4160d6b79baba4d25b4fb6fbdd38f5a9ed5cc1ac79943be71ede093e504c7dc0832daeb898a05a8d005b30c894686f6ecb2bc696e25effaccd3c9e4b48122db567c0118a0b983b757c2f40082dc374f8f6117a8e76fc0]\n[key.wx = 0e74a096d7f6ee1be9b4160d6b79baba4d25b4fb6fbdd38f5a9ed5cc1ac79943be71ede093e504c7dc0832daeb898a05]\n[key.wy = 00a8d005b30c894686f6ecb2bc696e25effaccd3c9e4b48122db567c0118a0b983b757c2f40082dc374f8f6117a8e76fc0]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200040e74a096d7f6ee1be9b4160d6b79baba4d25b4fb6fbdd38f5a9ed5cc1ac79943be71ede093e504c7dc0832daeb898a05a8d005b30c894686f6ecb2bc696e25effaccd3c9e4b48122db567c0118a0b983b757c2f40082dc374f8f6117a8e76fc0]\n[sha = SHA-512]\n\n# tcId = 361\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020102020102\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04a2ad0e27b40410d16077ddc5e415f109d328bf75e73a0f56876fef731285f83188b207a68690a40e76ed23e2c5e49fcf604f1c5d7d7df365005d40e209f4da7bb06f310d5a1660ad6236577fbb47955261f507d23b83013ffb951bd76908e76c]\n[key.wx = 00a2ad0e27b40410d16077ddc5e415f109d328bf75e73a0f56876fef731285f83188b207a68690a40e76ed23e2c5e49fcf]\n[key.wy = 604f1c5d7d7df365005d40e209f4da7bb06f310d5a1660ad6236577fbb47955261f507d23b83013ffb951bd76908e76c]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004a2ad0e27b40410d16077ddc5e415f109d328bf75e73a0f56876fef731285f83188b207a68690a40e76ed23e2c5e49fcf604f1c5d7d7df365005d40e209f4da7bb06f310d5a1660ad6236577fbb47955261f507d23b83013ffb951bd76908e76c]\n[sha = SHA-512]\n\n# tcId = 362\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020102020103\n\n# tcId = 363\n# r is larger than n\nmsg = 313233343030\nresult = invalid\nsig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52975020103\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04a233025c12d20f49dc50dc802e79f03c7ce1750b9204b51325d90b5ade08f4a74ef6efb081ed3156d64a0110d60fffabb924881891ee984cf51949dee96cfd7c9759b1ff00f0dbdc718d52117079d5d8bd6c86c6f532276af38b779bf2350d7f]\n[key.wx = 00a233025c12d20f49dc50dc802e79f03c7ce1750b9204b51325d90b5ade08f4a74ef6efb081ed3156d64a0110d60fffab]\n[key.wy = 00b924881891ee984cf51949dee96cfd7c9759b1ff00f0dbdc718d52117079d5d8bd", + "6c86c6f532276af38b779bf2350d7f]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004a233025c12d20f49dc50dc802e79f03c7ce1750b9204b51325d90b5ade08f4a74ef6efb081ed3156d64a0110d60fffabb924881891ee984cf51949dee96cfd7c9759b1ff00f0dbdc718d52117079d5d8bd6c86c6f532276af38b779bf2350d7f]\n[sha = SHA-512]\n\n# tcId = 364\n# s is larger than n\nmsg = 313233343030\nresult = invalid\nsig = 3036020102023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accd7fffa\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 043c9bb63607cdea0585f38d9780c9ac3e9a5a58153e2aacc4bc7a1d638d12e32c4d3a90c0c114b232c6f16e23e4bebb24da2ac2ccedc5494fe534a9abaea3013de0176f1b0e91bcd62154bdf3f604091a5008b2466702d0e2f93e4a4b6c601a54]\n[key.wx = 3c9bb63607cdea0585f38d9780c9ac3e9a5a58153e2aacc4bc7a1d638d12e32c4d3a90c0c114b232c6f16e23e4bebb24]\n[key.wy = 00da2ac2ccedc5494fe534a9abaea3013de0176f1b0e91bcd62154bdf3f604091a5008b2466702d0e2f93e4a4b6c601a54]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200043c9bb63607cdea0585f38d9780c9ac3e9a5a58153e2aacc4bc7a1d638d12e32c4d3a90c0c114b232c6f16e23e4bebb24da2ac2ccedc5494fe534a9abaea3013de0176f1b0e91bcd62154bdf3f604091a5008b2466702d0e2f93e4a4b6c601a54]\n[sha = SHA-512]\n\n# tcId = 365\n# small r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3036020201000230489122448912244891224489122448912244891224489122347ce79bc437f4d071aaa92c7d6c882ae8734dc18cb0d553\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04559a66ef77752fd856976f36ed315619932204599bd7ef91d1a53ac1e7c90b3969cab8143b7a53c4bf5a3fe39f649eb61f00f86dd8b8556c4815b2a01c59eb6cc03c97b94b6db4318249fe489e36ac9635876b1ca2ec0999caef5e1a6a58a70d]\n[key.wx = 559a66ef77752fd856976f36ed315619932204599bd7ef91d1a53ac1e7c90b3969cab8143b7a53c4bf5a3fe39f649eb6]\n[key.wy = 1f00f86dd8b8556c4815b2a01c59eb6cc03c97b94b6db4318249fe489e36ac9635876b1ca2ec0999caef5e1a6a58a70d]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004559a66ef77752fd856976f36ed315619932204599bd7ef91d1a53ac1e7c90b3969cab8143b7a53c4bf5a3fe39f649eb61f00f86dd8b8556c4815b2a01c59eb6cc03c97b94b6db4318249fe489e36ac9635876b1ca2ec0999caef5e1a6a58a70d]\n[sha = SHA-512]\n\n# tcId = 366\n# smallish r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 303c02072d9b4d347952cd023100ce751512561b6f57c75342848a3ff98ccf9c3f0219b6b68d00449e6c971a85d2e2ce73554b59219d54d2083b46327351\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 040548e79a17fd3a114d830ea88f218ee1ef7aa3f8dc139e0a8b9b60e25049a816ef449e8bd5dae867446495fdf20f47700363a1e8afefb02ebfd59df90b6d23ff7d5f706f9b26daebae1d4657ac342844ee9c2e0e9269f7efe7ab91e0303c115d]\n[key.wx = 0548e79a17fd3a114d830ea88f218ee1ef7aa3f8dc139e0a8b9b60e25049a816ef449e8bd5dae867446495fdf20f4770]\n[key.wy = 0363a1e8afefb02ebfd59df90b6d23ff7d5f706f9b26daebae1d4657ac342844ee9c2e0e9269f7efe7ab91e0303c115d]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200040548e79a17fd3a114d830ea88f218ee1ef7aa3f8dc139e0a8b9b60e25049a816ef449e8bd5dae867446495fdf20f47700363a1e8afefb02ebfd59df90b6d23ff7d5f706f9b26daebae1d4657ac342844ee9c2e0e9269f7efe7ab91e0303c115d]\n[sha = SHA-512]\n\n# tcId = 367\n# 100-bit r and small s^-1\nmsg = 313233343030\nresult = valid\nsig = 3041020d1033e67e37b32b445580bf4efb02302ad52ad52ad52ad52ad52ad52ad52ad52ad52ad52ad52ad5215c51b320e460542f9cc38968ccdf4263684004eb79a452\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04a0eb670630f9bbbd963c5750de7bcbae4ddfd37b13fe7690eec6861a3c56c8efb87dbbf85ccd953c659d382c3d7df76afb08840635a16ac7ecf3de2dc28a77c8af9d49e5a832551e3354a2b311e52be86720d9b2fbb78d11a8aec61606a29f0d]\n[key.wx = 00a0eb670630f9bbbd963c5750de7bcbae4ddfd37b13fe7690eec6861a3c56c8efb87dbbf85ccd953c659d382c3d7df76a]\n[key.wy = 00fb08840635a16ac7ecf3de2dc28a77c8af9d49e5a832551e3354a2b311e52be86720d9b2fbb78d11a8aec61606a29f0d]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004a0eb670630f9bbbd963c5750de7bcbae4ddfd37b13fe7690eec6861a3c56c8efb87dbbf85ccd953c659d382c3d7df76afb08840635a16ac7ecf3de2dc28a77c8af9d49e5a832551e3354a2b311e52be86720d9b2fbb78d11a8aec61606a29f0d]\n[sha = SHA-512]\n\n# tcId = 368\n# small r and 100 bit s^-1\nmsg = 313233343030\nresult = valid\nsig = 303602020100023077a172dfe37a2c53f0b92ab60f0a8f085f49dbfd930719d6f9e587ea68ae57cb49cd35a88cf8c6acec02f057a3807a5b\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04254bce3041b00468445cb9ae597bc76c1279a8506142ce2427185b1d7f753d1c0aad94156b531a2071aa61c83ec842a3710d6c8c96766ae8b63396133e5872805e47d9ba39113e122d676d54dbb2460b59d986bdd33be346c021e8a71bb41ba9]\n[key.wx = 254bce3041b00468445cb9ae597bc76c1279a8506142ce2427185b1d7f753d1c0aad94156b531a2071aa61c83ec842a3]\n[key.wy = 710d6c8c96766ae8b63396133e5872805e47d9ba39113e122d676d54dbb2460b59d986bdd33be346c021e8a71bb41ba9]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004254bce3041b00468445cb9ae597bc76c1279a8506142ce2427185b1d7f753d1c0aad94156b531a2071aa61c83ec842a3710d6c8c96766ae8b63396133e5872805e47d9ba39113e122d676d54dbb2460b59d986bdd33be346c021e8a71bb41ba9]\n[sha = SHA-512]\n\n# tcId = 369\n# 100-bit r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3041020d062522bbd3ecbe7c39e93e7c24023077a172dfe37a2c53f0b92ab60f0a8f085f49dbfd930719d6f9e587ea68ae57cb49cd35a88cf8c6acec02f057a3807a5b\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 049129db4446c2c598c4f81070f70f66c37c39323e01418c095de9902e0e1b20f26bc3e011ba84c10626ffdce836690c9f8e4a104fec4aaa4350c238617ee50456accc49efc3b73eb9548e1600c2483f1c4bae9ddf3ff92af17afd19f86274589c]\n[key.wx = 009129db4446c2c598c4f81070f70f66c37c39323e01418c095de9902e0e1b20f26bc3e011ba84c10626ffdce836690c9f]\n[key.wy = 008e4a104fec4aaa4350c238617ee50456accc49efc3b73eb9548e1600c2483f1c4bae9ddf3ff92af17afd19f86274589c]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200049129db4446c2c598c4f81070f70f66c37c39323e01418c095de9902e0e1b20f26bc3e011ba84c10626ffdce836690c9f8e4a104fec4aaa4350c238617ee50456accc49efc3b73eb9548e1600c2483f1c4bae9ddf3ff92af17afd19f86274589c]\n[sha = SHA-512]\n\n# tcId = 370\n# r and s^-1 are close to n\nmsg = 313233343030\nresult = valid\nsig = 3065023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc528f3023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04a701a8111cdf97ced74a00a4514b2b526be8113e7df6cf7163aaee465880d26275b833b186d80f1862dc67ff768dde43e5a991f16f8f777311b17eabdc90b6ece3b5da776cfbebbc504382ca1abae1c6aa6a64d9c41110d97950514e99578ed8]\n[key.wx = 00a701a8111cdf97ced74a00a4514b2b526be8113e7df6cf7163aaee465880d26275b833b186d80f1862dc67ff768dde43]\n[key.wy = 00e5a991f16f8f777311b17eabdc90b6ece3b5da776cfbebbc504382ca1abae1c6aa6a64d9c41110d97950514e99578ed8]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004a701a8111cdf97ced74a00a4514b2b526be8113e7df6cf7163aaee465880d26275b833b186d80f1862dc67ff768dde43e5a991f16f8f777311b17eabdc90b6ece3b5da776cfbebbc504382ca1abae1c6aa6a64d9c41110d97950514e99578ed8]\n[sha = SHA-512]\n\n# tcId = 371\n# s == 1\nmsg = 313233343030\nresult = valid\nsig = 3035023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326020101\n\n# tcId = 372\n# s == 0\nmsg = 313233343030\nresult = invalid\nsig = 3035023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326020100\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04b6815ba05413bcf34f4c0704af590c1998d7fcd169541e1efe1567ca1dd71a22e35ac838b20c75281582044a57b58f456cdceb10612062779abadd8742c6e93ed74adf306f3b3a0f96b70dd1134b7558b64b55b200c5732c50f05aa032ae7c00]\n[key.wx = 00b6815ba05413bcf34f4c0704af590c1998d7fcd169541e1efe1567ca1dd71a22e35ac838b20c75281582044a57b58f45]\n[key.wy = 6cdceb10612062779abadd8742c6e93ed74adf306f3b3a0f96b70dd1134b7558b64b55b200c5732c50f05aa032ae7c00]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004b6815ba05413bcf34f4c0704af590c1998d7fcd169541e1efe1567ca1dd71a22e35ac838b20c75281582044a57", + "b58f456cdceb10612062779abadd8742c6e93ed74adf306f3b3a0f96b70dd1134b7558b64b55b200c5732c50f05aa032ae7c00]\n[sha = SHA-512]\n\n# tcId = 373\n# point at infinity during verify\nmsg = 313233343030\nresult = invalid\nsig = 306402307fffffffffffffffffffffffffffffffffffffffffffffffe3b1a6c0fa1b96efac0d06d9245853bd76760cb5666294b9023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 041af19841ff3df8bdc4f8cce957e0dab763efe413929b279f1d46dde1c6f2bbc55af1bb1d8011fc587a4d599a4ae7cd8d5f663860c43c88e08399f00ef6641123787956a2b7012883b5ff7c46bd156d96d3c02a63ef86e060a2a0fa5b80d0c0e5]\n[key.wx = 1af19841ff3df8bdc4f8cce957e0dab763efe413929b279f1d46dde1c6f2bbc55af1bb1d8011fc587a4d599a4ae7cd8d]\n[key.wy = 5f663860c43c88e08399f00ef6641123787956a2b7012883b5ff7c46bd156d96d3c02a63ef86e060a2a0fa5b80d0c0e5]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200041af19841ff3df8bdc4f8cce957e0dab763efe413929b279f1d46dde1c6f2bbc55af1bb1d8011fc587a4d599a4ae7cd8d5f663860c43c88e08399f00ef6641123787956a2b7012883b5ff7c46bd156d96d3c02a63ef86e060a2a0fa5b80d0c0e5]\n[sha = SHA-512]\n\n# tcId = 374\n# edge case for signature malleability\nmsg = 313233343030\nresult = valid\nsig = 306402307fffffffffffffffffffffffffffffffffffffffffffffffe3b1a6c0fa1b96efac0d06d9245853bd76760cb5666294b902307fffffffffffffffffffffffffffffffffffffffffffffffe3b1a6c0fa1b96efac0d06d9245853bd76760cb5666294b9\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 046836084fddfcfd527cb3847fb8b911c0fa002537fa460ca8f5d40f025603a4d89aa6ec640fde0cc4b31c46239a1d0bb76beed7019892e87287e23f0d35093ab14c4d41c0efe8463ede3494230a384eb1bc410de918c5484a25640741acb8cc0d]\n[key.wx = 6836084fddfcfd527cb3847fb8b911c0fa002537fa460ca8f5d40f025603a4d89aa6ec640fde0cc4b31c46239a1d0bb7]\n[key.wy = 6beed7019892e87287e23f0d35093ab14c4d41c0efe8463ede3494230a384eb1bc410de918c5484a25640741acb8cc0d]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200046836084fddfcfd527cb3847fb8b911c0fa002537fa460ca8f5d40f025603a4d89aa6ec640fde0cc4b31c46239a1d0bb76beed7019892e87287e23f0d35093ab14c4d41c0efe8463ede3494230a384eb1bc410de918c5484a25640741acb8cc0d]\n[sha = SHA-512]\n\n# tcId = 375\n# edge case for signature malleability\nmsg = 313233343030\nresult = valid\nsig = 306402307fffffffffffffffffffffffffffffffffffffffffffffffe3b1a6c0fa1b96efac0d06d9245853bd76760cb5666294b902307fffffffffffffffffffffffffffffffffffffffffffffffe3b1a6c0fa1b96efac0d06d9245853bd76760cb5666294ba\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04b4b2d5a8b50ffabd34748e94498c1d4728d084f943fbddd4b3b6ee16eaa4da91613a82c98017132c94cd6fe4b87232f16d612228ed5d7d08bf0c8699677e3b8f3e718073b945a6c108d97a3b1433c79052b2655a18a3b2e621baa88198cb5f3c]\n[key.wx = 00b4b2d5a8b50ffabd34748e94498c1d4728d084f943fbddd4b3b6ee16eaa4da91613a82c98017132c94cd6fe4b87232f1]\n[key.wy = 6d612228ed5d7d08bf0c8699677e3b8f3e718073b945a6c108d97a3b1433c79052b2655a18a3b2e621baa88198cb5f3c]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004b4b2d5a8b50ffabd34748e94498c1d4728d084f943fbddd4b3b6ee16eaa4da91613a82c98017132c94cd6fe4b87232f16d612228ed5d7d08bf0c8699677e3b8f3e718073b945a6c108d97a3b1433c79052b2655a18a3b2e621baa88198cb5f3c]\n[sha = SHA-512]\n\n# tcId = 376\n# u1 == 1\nmsg = 313233343030\nresult = valid\nsig = 3064023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326023043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158ca\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04842b3d89e54d9a4b5694d9251bba20ae4854c510dc0b6ef7033e4045ba4e64b6ddcd36299aac554dbac6db3e27c98123868258190297e1d6bae648a6dee2285886233afd1c3d6f196ad1db14262a579d74cf7855fffc65f5abd242b135ae87df]\n[key.wx = 00842b3d89e54d9a4b5694d9251bba20ae4854c510dc0b6ef7033e4045ba4e64b6ddcd36299aac554dbac6db3e27c98123]\n[key.wy = 00868258190297e1d6bae648a6dee2285886233afd1c3d6f196ad1db14262a579d74cf7855fffc65f5abd242b135ae87df]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004842b3d89e54d9a4b5694d9251bba20ae4854c510dc0b6ef7033e4045ba4e64b6ddcd36299aac554dbac6db3e27c98123868258190297e1d6bae648a6dee2285886233afd1c3d6f196ad1db14262a579d74cf7855fffc65f5abd242b135ae87df]\n[sha = SHA-512]\n\n# tcId = 377\n# u1 == n - 1\nmsg = 313233343030\nresult = valid\nsig = 3065023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326023100bc07ff041506dc73a75086a43252fb43b6327af3c6b2cc7d322ff6d1d1162b5de29edcd0b69803fe2f8af8e3d103d0a9\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 049ab73dcfffc820e739a3ed9c316c6f15d27a032f8aa59325f7842cf4a34198ac6ff09eb1a311ce226bf1abb49d8085110135f4b0c2b6b195da9bbe1993e985b8607664f1a4b3d499ea1a112b6afc7e6b88357c9348b614ddfdc846a3f38bbdca]\n[key.wx = 009ab73dcfffc820e739a3ed9c316c6f15d27a032f8aa59325f7842cf4a34198ac6ff09eb1a311ce226bf1abb49d808511]\n[key.wy = 0135f4b0c2b6b195da9bbe1993e985b8607664f1a4b3d499ea1a112b6afc7e6b88357c9348b614ddfdc846a3f38bbdca]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200049ab73dcfffc820e739a3ed9c316c6f15d27a032f8aa59325f7842cf4a34198ac6ff09eb1a311ce226bf1abb49d8085110135f4b0c2b6b195da9bbe1993e985b8607664f1a4b3d499ea1a112b6afc7e6b88357c9348b614ddfdc846a3f38bbdca]\n[sha = SHA-512]\n\n# tcId = 378\n# u2 == 1\nmsg = 313233343030\nresult = valid\nsig = 3064023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 0428771b137fb7d74c0ed0290416f47c8118997923c7b3b717fbbd5308a4bb0e494714bd3f1ff5e9e368887377284272ebf92e5df476a2fa0906ce4fad121c641abb539ab4ef270cd8f0497cc3e6e05b18561b730670f010741238a5d07b077045]\n[key.wx = 28771b137fb7d74c0ed0290416f47c8118997923c7b3b717fbbd5308a4bb0e494714bd3f1ff5e9e368887377284272eb]\n[key.wy = 00f92e5df476a2fa0906ce4fad121c641abb539ab4ef270cd8f0497cc3e6e05b18561b730670f010741238a5d07b077045]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000428771b137fb7d74c0ed0290416f47c8118997923c7b3b717fbbd5308a4bb0e494714bd3f1ff5e9e368887377284272ebf92e5df476a2fa0906ce4fad121c641abb539ab4ef270cd8f0497cc3e6e05b18561b730670f010741238a5d07b077045]\n[sha = SHA-512]\n\n# tcId = 379\n# u2 == n - 1\nmsg = 313233343030\nresult = valid\nsig = 3065023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326023100aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa84ecde56a2cf73ea3abc092185cb1a51f34810f1ddd8c64d\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 049d1baad217829d5f2d7db5bd085e9126232e8c49c58707cb153db1d1e20a109c90f7bcbae4f2c74d6595207cb0e5dd271eea30752a1425905d0811d0f42019e5088142b41945bee03948f206f2e7c3c1081ba9a297180e36b247ee9e70832035]\n[key.wx = 009d1baad217829d5f2d7db5bd085e9126232e8c49c58707cb153db1d1e20a109c90f7bcbae4f2c74d6595207cb0e5dd27]\n[key.wy = 1eea30752a1425905d0811d0f42019e5088142b41945bee03948f206f2e7c3c1081ba9a297180e36b247ee9e70832035]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200049d1baad217829d5f2d7db5bd085e9126232e8c49c58707cb153db1d1e20a109c90f7bcbae4f2c74d6595207cb0e5dd271eea30752a1425905d0811d0f42019e5088142b41945bee03948f206f2e7c3c1081ba9a297180e36b247ee9e70832035]\n[sha = SHA-512]\n\n# tcId = 380\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100c152aafea3a8612ec83a7dc9448f01941899d7041319bbd60bfdfb3c03da74c00c8fc4176128a6263268711edc6e8e90\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 048e39e1e44f782b810ea93037c344371c4fb141c8bf196ea618f3a176547139a6d02121d2794cbe6481061694db579315c3184e8cd9b6c16b37699633d87f5600654b44cbcb5ab50ba872dfa001769eb765b2d1902e01d2e8af4e1fd6e9c0f30f]\n[key.wx = 008e39e1e44f782b810ea93037c344371c4fb141c8bf196ea618f3a176547139a6d02121d2794cbe6481061694db579315]\n[key.wy = 00c31", + "84e8cd9b6c16b37699633d87f5600654b44cbcb5ab50ba872dfa001769eb765b2d1902e01d2e8af4e1fd6e9c0f30f]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200048e39e1e44f782b810ea93037c344371c4fb141c8bf196ea618f3a176547139a6d02121d2794cbe6481061694db579315c3184e8cd9b6c16b37699633d87f5600654b44cbcb5ab50ba872dfa001769eb765b2d1902e01d2e8af4e1fd6e9c0f30f]\n[sha = SHA-512]\n\n# tcId = 381\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02304764eeac3e7a08daacfad7d1e1e3696042164b06f77bd78c3213ddea6f9fd449a34c97b9e560a6bf7195da41333c7565\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04b96fca0e3f6ebf7326f0a8ce8bdf226a2560c22526bf154f7b467010f3a46baca73414070db0f7ab039f345548452ae26f7b744274e9bd6c791f47513e6b51eb42fea3816b3032b33a81695f04d4e775be06484cf7e6a69cba8bacbcb597b3e3]\n[key.wx = 00b96fca0e3f6ebf7326f0a8ce8bdf226a2560c22526bf154f7b467010f3a46baca73414070db0f7ab039f345548452ae2]\n[key.wy = 6f7b744274e9bd6c791f47513e6b51eb42fea3816b3032b33a81695f04d4e775be06484cf7e6a69cba8bacbcb597b3e3]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004b96fca0e3f6ebf7326f0a8ce8bdf226a2560c22526bf154f7b467010f3a46baca73414070db0f7ab039f345548452ae26f7b744274e9bd6c791f47513e6b51eb42fea3816b3032b33a81695f04d4e775be06484cf7e6a69cba8bacbcb597b3e3]\n[sha = SHA-512]\n\n# tcId = 382\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100cb4d5c0ff0abe29b2771fe9f179a5614e2e4c3cc1134a7aad08d8ec3fd8fcd07fd34b3473ca65ead1c7bb20bcf3ea5c9\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 044fd52b11ff747b59ef609e065a462cd85b73172d20f406fdd845d4eaa3ec173e06ee58a58e1810f051b275bbaa47ccb484d2382b9e72c526dc3764a11a4a962a7a4c7355e6f057fc976ab73cc384f9a29da50769809ecbf37358dd83c74fc25f]\n[key.wx = 4fd52b11ff747b59ef609e065a462cd85b73172d20f406fdd845d4eaa3ec173e06ee58a58e1810f051b275bbaa47ccb4]\n[key.wy = 0084d2382b9e72c526dc3764a11a4a962a7a4c7355e6f057fc976ab73cc384f9a29da50769809ecbf37358dd83c74fc25f]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200044fd52b11ff747b59ef609e065a462cd85b73172d20f406fdd845d4eaa3ec173e06ee58a58e1810f051b275bbaa47ccb484d2382b9e72c526dc3764a11a4a962a7a4c7355e6f057fc976ab73cc384f9a29da50769809ecbf37358dd83c74fc25f]\n[sha = SHA-512]\n\n# tcId = 383\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02306e441db253bf798dbc07ff041506dc73a75086a43252fb439dd016110475d8381f65f7f27f9e1cfc9b48f06a2dfa8eb6\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 047d123e3dbab9913d698891023e28654cba2a94dc408a0dc386e63d8d22ff0f33358a231860b7c2e4f8429e9e8c9a1c5be7c95d1875f24ecdfeffc6136cf56f800f5434490f234f14d78505c2d4aea51e2a3a6a5d1693e72c4b1dd2a8746b875a]\n[key.wx = 7d123e3dbab9913d698891023e28654cba2a94dc408a0dc386e63d8d22ff0f33358a231860b7c2e4f8429e9e8c9a1c5b]\n[key.wy = 00e7c95d1875f24ecdfeffc6136cf56f800f5434490f234f14d78505c2d4aea51e2a3a6a5d1693e72c4b1dd2a8746b875a]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200047d123e3dbab9913d698891023e28654cba2a94dc408a0dc386e63d8d22ff0f33358a231860b7c2e4f8429e9e8c9a1c5be7c95d1875f24ecdfeffc6136cf56f800f5434490f234f14d78505c2d4aea51e2a3a6a5d1693e72c4b1dd2a8746b875a]\n[sha = SHA-512]\n\n# tcId = 384\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023041db253bf798dbc07ff041506dc73a75086a43252fb43b63191efcd0914b6afb4bf8c77d008dbeac04277ef4aa59c394\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04608ce23a383452f8f4dcc5c0085d6793ec518985f0276a3409a23d7b7ca7e7dcb163601aca73840c3bd470aff70250bf674005a0be08939339363e314dca7ea67adfb60cd530628fe35f05416da8f20d5fb3b0ccd183a21dbb41c4e195d6303d]\n[key.wx = 608ce23a383452f8f4dcc5c0085d6793ec518985f0276a3409a23d7b7ca7e7dcb163601aca73840c3bd470aff70250bf]\n[key.wy = 674005a0be08939339363e314dca7ea67adfb60cd530628fe35f05416da8f20d5fb3b0ccd183a21dbb41c4e195d6303d]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004608ce23a383452f8f4dcc5c0085d6793ec518985f0276a3409a23d7b7ca7e7dcb163601aca73840c3bd470aff70250bf674005a0be08939339363e314dca7ea67adfb60cd530628fe35f05416da8f20d5fb3b0ccd183a21dbb41c4e195d6303d]\n[sha = SHA-512]\n\n# tcId = 385\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02310083b64a77ef31b780ffe082a0db8e74ea10d4864a5f6876c6323df9a12296d5f697f18efa011b7d58084efde954b38728\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 0448d23de1869475a1de532399da1240bab560eb74a6c7b0871bf8ac8fb6cc17cf7b34fcd7c79fd99c76c605bdf3fcbe18e15b66ab91d0a03e203c2ff914d4bedc38c1ec5dcd1d12db9b43ef6f44581632683bf785aa4326566227ece3c16be796]\n[key.wx = 48d23de1869475a1de532399da1240bab560eb74a6c7b0871bf8ac8fb6cc17cf7b34fcd7c79fd99c76c605bdf3fcbe18]\n[key.wy = 00e15b66ab91d0a03e203c2ff914d4bedc38c1ec5dcd1d12db9b43ef6f44581632683bf785aa4326566227ece3c16be796]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000448d23de1869475a1de532399da1240bab560eb74a6c7b0871bf8ac8fb6cc17cf7b34fcd7c79fd99c76c605bdf3fcbe18e15b66ab91d0a03e203c2ff914d4bedc38c1ec5dcd1d12db9b43ef6f44581632683bf785aa4326566227ece3c16be796]\n[sha = SHA-512]\n\n# tcId = 386\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023053bf798dbc07ff041506dc73a75086a43252fb43b6327af3b42da6d3e9a72cde0b5c2de6bf072e780e94ad12dcab270a\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 045d5eb470f9c6a0bb18e8960b67011acf9f01df405ac5b4bf9f4611d6a8af1a26b11b0790e93ae2361525dde51bacac94d42ce151793b80cee679c848362ec272000316590ebc91547b3b6608dfbade21e04de1548ebb45cc4721eb64a16b8318]\n[key.wx = 5d5eb470f9c6a0bb18e8960b67011acf9f01df405ac5b4bf9f4611d6a8af1a26b11b0790e93ae2361525dde51bacac94]\n[key.wy = 00d42ce151793b80cee679c848362ec272000316590ebc91547b3b6608dfbade21e04de1548ebb45cc4721eb64a16b8318]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200045d5eb470f9c6a0bb18e8960b67011acf9f01df405ac5b4bf9f4611d6a8af1a26b11b0790e93ae2361525dde51bacac94d42ce151793b80cee679c848362ec272000316590ebc91547b3b6608dfbade21e04de1548ebb45cc4721eb64a16b8318]\n[sha = SHA-512]\n\n# tcId = 387\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023024c53b0a00cf087a9a20a2b78bc81d5b383d04ba9b55a567405239d224387344c41cceff0f68ffc930dbaa0b3d346f45\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 041da34a149ed562c8ec13e84cb067107bc28b50bfa47575d5a9948cde5a3d7357c38ea41fcfcdd1ab1a1bd9b6592b33d9e14aedfd0cfffcfecbdc21276e6a2c78b8729412c48339ae538b799b7d8e61163047a64cfcec9018aa00f99ae740e3f3]\n[key.wx = 1da34a149ed562c8ec13e84cb067107bc28b50bfa47575d5a9948cde5a3d7357c38ea41fcfcdd1ab1a1bd9b6592b33d9]\n[key.wy = 00e14aedfd0cfffcfecbdc21276e6a2c78b8729412c48339ae538b799b7d8e61163047a64cfcec9018aa00f99ae740e3f3]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200041da34a149ed562c8ec13e84cb067107bc28b50bfa47575d5a9948cde5a3d7357c38ea41fcfcdd1ab1a1bd9b6592b33d9e14aedfd0cfffcfecbdc21276e6a2c78b8729412c48339ae538b799b7d8e61163047a64cfcec9018aa00f99ae740e3f3]\n[sha = SHA-512]\n\n# tcId = 388\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100c600ccb39bb3e2d85d880d76d1d519205f050c4b93deae0c5d63e8898ca8d7a5babbb944debe0f3c44332aae5770cb7b\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 048b8675211b321f8b318ba60337cde32a6b04243979546383127a068a8749cb5e98c4231b198de62a2b069d3a94d1c7b19d33468a1", + "30b4fef66a59d4aee00ca40bdbeaf044b8b22841bb4c8ba419f891b3855f4bddf8dae3577d97120b9d3fa44]\n[key.wx = 008b8675211b321f8b318ba60337cde32a6b04243979546383127a068a8749cb5e98c4231b198de62a2b069d3a94d1c7b1]\n[key.wy = 009d33468a130b4fef66a59d4aee00ca40bdbeaf044b8b22841bb4c8ba419f891b3855f4bddf8dae3577d97120b9d3fa44]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200048b8675211b321f8b318ba60337cde32a6b04243979546383127a068a8749cb5e98c4231b198de62a2b069d3a94d1c7b19d33468a130b4fef66a59d4aee00ca40bdbeaf044b8b22841bb4c8ba419f891b3855f4bddf8dae3577d97120b9d3fa44]\n[sha = SHA-512]\n\n# tcId = 389\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02303ead55015c579ed137c58236bb70fe6be76628fbece64429bb655245f05cb91f4b8a499ae7880154ba83a84bf0569ae3\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04442766bdb8b2cf4fef5f65d5d86b61681ec89220c983b51f15bfe12fb0bf9780e0c38bbcc888afb3c55ee828774b86f756b7f399c534c7acd46be4bc8bb38f087b0023b8f5166ab34192ca0b1cad62d663aa474c6f9286c8a054ef94ea42e3c7]\n[key.wx = 442766bdb8b2cf4fef5f65d5d86b61681ec89220c983b51f15bfe12fb0bf9780e0c38bbcc888afb3c55ee828774b86f7]\n[key.wy = 56b7f399c534c7acd46be4bc8bb38f087b0023b8f5166ab34192ca0b1cad62d663aa474c6f9286c8a054ef94ea42e3c7]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004442766bdb8b2cf4fef5f65d5d86b61681ec89220c983b51f15bfe12fb0bf9780e0c38bbcc888afb3c55ee828774b86f756b7f399c534c7acd46be4bc8bb38f087b0023b8f5166ab34192ca0b1cad62d663aa474c6f9286c8a054ef94ea42e3c7]\n[sha = SHA-512]\n\n# tcId = 390\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100de03ff820a836e39d3a8435219297da1db193d79e359663e7cc9a229e2a6ac9e9d5c75417fa455bc8e3b89274ee47d0e\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 0411342b314f31648931abb897c1371dd3a23e91f2405c4a81744be18e753919752208779de2d54e865eeefbb0bfb4998af533d7a4d6fc6cb5cb98915ce08d0f656e37a502e78f8c1b8baca728c2ecb05a2156f01cff16595b363cdb49c00c1aa2]\n[key.wx = 11342b314f31648931abb897c1371dd3a23e91f2405c4a81744be18e753919752208779de2d54e865eeefbb0bfb4998a]\n[key.wy = 00f533d7a4d6fc6cb5cb98915ce08d0f656e37a502e78f8c1b8baca728c2ecb05a2156f01cff16595b363cdb49c00c1aa2]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000411342b314f31648931abb897c1371dd3a23e91f2405c4a81744be18e753919752208779de2d54e865eeefbb0bfb4998af533d7a4d6fc6cb5cb98915ce08d0f656e37a502e78f8c1b8baca728c2ecb05a2156f01cff16595b363cdb49c00c1aa2]\n[sha = SHA-512]\n\n# tcId = 391\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100e5a6ae07f855f14d93b8ff4f8bcd2b0a717261e6089a53d54bf86e22f8e37d73aaa7607cc2ab831404b3e5bb4e01e79e\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 043c96b49ff60ff05951b7b1aca65664f13128b714da620697ef0d90bfc01ef643baa5c608f16ca885038322a443aed3e6169a27f2ea7a36376ef92a900e5389a7b441fd051d693ce65250b881cfdd6487370372292c84369742b18106188b05c0]\n[key.wx = 3c96b49ff60ff05951b7b1aca65664f13128b714da620697ef0d90bfc01ef643baa5c608f16ca885038322a443aed3e6]\n[key.wy = 169a27f2ea7a36376ef92a900e5389a7b441fd051d693ce65250b881cfdd6487370372292c84369742b18106188b05c0]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200043c96b49ff60ff05951b7b1aca65664f13128b714da620697ef0d90bfc01ef643baa5c608f16ca885038322a443aed3e6169a27f2ea7a36376ef92a900e5389a7b441fd051d693ce65250b881cfdd6487370372292c84369742b18106188b05c0]\n[sha = SHA-512]\n\n# tcId = 392\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02307fffffffffffffffffffffffffffffffffffffffffffffffed2119d5fc12649fc808af3b6d9037d3a44eb32399970dd0\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04388dae49ea48afb558456fdb1d0b04d4f8f1c46f14d22de25862d35069a28ae9284d7a8074546e779ad2c5f17ce9b89bb353298f3c526aa0a10ed23bcb1ed9788812c8a3a6cbea82a3d9d8d465a4cca59dbd3d3d8a36098d644f1b45d36df537]\n[key.wx = 388dae49ea48afb558456fdb1d0b04d4f8f1c46f14d22de25862d35069a28ae9284d7a8074546e779ad2c5f17ce9b89b]\n[key.wy = 00b353298f3c526aa0a10ed23bcb1ed9788812c8a3a6cbea82a3d9d8d465a4cca59dbd3d3d8a36098d644f1b45d36df537]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004388dae49ea48afb558456fdb1d0b04d4f8f1c46f14d22de25862d35069a28ae9284d7a8074546e779ad2c5f17ce9b89bb353298f3c526aa0a10ed23bcb1ed9788812c8a3a6cbea82a3d9d8d465a4cca59dbd3d3d8a36098d644f1b45d36df537]\n[sha = SHA-512]\n\n# tcId = 393\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023079b95c013b0472de04d8faeec3b779c39fe729ea84fb554cd091c7178c2f054eabbc62c3e1cfbac2c2e69d7aa45d9072\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04c85200ac6411423573e3ebc1b7aea95e74add5ce3b41282baa885972acc085c8365c05c539ce47e799afc353d6788ce868cfce1eb2bfe009990084fb03c0919ab892313d7a12efc3514e8273685b9071892faefca4306adf7854afcebafffbf4]\n[key.wx = 00c85200ac6411423573e3ebc1b7aea95e74add5ce3b41282baa885972acc085c8365c05c539ce47e799afc353d6788ce8]\n[key.wy = 68cfce1eb2bfe009990084fb03c0919ab892313d7a12efc3514e8273685b9071892faefca4306adf7854afcebafffbf4]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004c85200ac6411423573e3ebc1b7aea95e74add5ce3b41282baa885972acc085c8365c05c539ce47e799afc353d6788ce868cfce1eb2bfe009990084fb03c0919ab892313d7a12efc3514e8273685b9071892faefca4306adf7854afcebafffbf4]\n[sha = SHA-512]\n\n# tcId = 394\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100bfd40d0caa4d9d42381f3d72a25683f52b03a1ed96fb72d03f08dcb9a8bc8f23c1a459deab03bcd39396c0d1e9053c81\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04e63ae2881ed60884ef1aef52178a297bdfedf67f4e3c1d876ad10b42c03b5e67f7f8cfaf4dfea4def7ab82fde3ed9b910e2be22bc3fa46a2ed094ebd7c86a9512c8c40cd542fb539c34347ef2be4e7f1543af960fd2347354a7a1df71a237d51]\n[key.wx = 00e63ae2881ed60884ef1aef52178a297bdfedf67f4e3c1d876ad10b42c03b5e67f7f8cfaf4dfea4def7ab82fde3ed9b91]\n[key.wy = 0e2be22bc3fa46a2ed094ebd7c86a9512c8c40cd542fb539c34347ef2be4e7f1543af960fd2347354a7a1df71a237d51]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004e63ae2881ed60884ef1aef52178a297bdfedf67f4e3c1d876ad10b42c03b5e67f7f8cfaf4dfea4def7ab82fde3ed9b910e2be22bc3fa46a2ed094ebd7c86a9512c8c40cd542fb539c34347ef2be4e7f1543af960fd2347354a7a1df71a237d51]\n[sha = SHA-512]\n\n# tcId = 395\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02304c7d219db9af94ce7fffffffffffffffffffffffffffffffef15cf1058c8d8ba1e634c4122db95ec1facd4bb13ebf09a\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04e9c415f8a72055239570c3c370cf9380cdfabb6ebdbd8058e2fc65193080707895ea1566eeb26149603f4b4d4c1e79d496ae17a001424d21eae4eaa01067048bcd919625fdd7efd896d980633a0e2ca1f8c9b02c99b69a1e4fa53468a2fe244d]\n[key.wx = 00e9c415f8a72055239570c3c370cf9380cdfabb6ebdbd8058e2fc65193080707895ea1566eeb26149603f4b4d4c1e79d4]\n[key.wy = 0096ae17a001424d21eae4eaa01067048bcd919625fdd7efd896d980633a0e2ca1f8c9b02c99b69a1e4fa53468a2fe244d]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004e9c415f8a72055239570c3c370cf9380cdfabb6ebdbd8058e2fc65193080707895ea1566eeb26149603f4b4d4c1e79d496ae17a001424d21eae4eaa01067048bcd919625fdd7efd896d980633a0e2ca1f8c9b02c99b69a1e4fa53468a2fe244d]\n[sha = SHA-512]\n\n# tcId = 396\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100d219db9af94ce7ffffffffffffffffffffffffffffffffffd189bdb6d9ef7be8504ca374756ea5", + "b8f15e44067d209b9b\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04637223a93dd63af6b348f246e7b3bcb30beaa1dcc888af8e12e5086aa00f7792fbe457463c52422d435f430ad1bb4b21f9a1e01758d1e025b162d09d3df8b403226ed3b35e414c41651740d509d8cf6b5e558118607d10669902abebda3ca28d]\n[key.wx = 637223a93dd63af6b348f246e7b3bcb30beaa1dcc888af8e12e5086aa00f7792fbe457463c52422d435f430ad1bb4b21]\n[key.wy = 00f9a1e01758d1e025b162d09d3df8b403226ed3b35e414c41651740d509d8cf6b5e558118607d10669902abebda3ca28d]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004637223a93dd63af6b348f246e7b3bcb30beaa1dcc888af8e12e5086aa00f7792fbe457463c52422d435f430ad1bb4b21f9a1e01758d1e025b162d09d3df8b403226ed3b35e414c41651740d509d8cf6b5e558118607d10669902abebda3ca28d]\n[sha = SHA-512]\n\n# tcId = 397\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100a433b735f299cfffffffffffffffffffffffffffffffffffdbb02debbfa7c9f1487f3936a22ca3f6f5d06ea22d7c0dc3\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 047f4dc23982ecc8b84f54241715c7e94e950f596ce033237639a15fefa5eb5c37cb2e562d6d5b3051ea15600e3341a565fed2b55b89d2793321374887b78827ee4ca2216eac2993b1b095844db76adc560450135c072ac1a2c4167520237fbc9d]\n[key.wx = 7f4dc23982ecc8b84f54241715c7e94e950f596ce033237639a15fefa5eb5c37cb2e562d6d5b3051ea15600e3341a565]\n[key.wy = 00fed2b55b89d2793321374887b78827ee4ca2216eac2993b1b095844db76adc560450135c072ac1a2c4167520237fbc9d]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200047f4dc23982ecc8b84f54241715c7e94e950f596ce033237639a15fefa5eb5c37cb2e562d6d5b3051ea15600e3341a565fed2b55b89d2793321374887b78827ee4ca2216eac2993b1b095844db76adc560450135c072ac1a2c4167520237fbc9d]\n[sha = SHA-512]\n\n# tcId = 398\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100b9af94ce7fffffffffffffffffffffffffffffffffffffffd6efeefc876c9f23217b443c80637ef939e911219f96c179\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04a0ae8c949f63f1b6a5d024c99e0a296ecd12d196d3b1625d4a76600082a14d455aab267c68f571d89ad0619cb8e476a134634336611e1fd1d728bcea588d0e1b652bbca0e52c1bfbd4387a6337ff41ce13a65c8306915d2a39897b985d909b36]\n[key.wx = 00a0ae8c949f63f1b6a5d024c99e0a296ecd12d196d3b1625d4a76600082a14d455aab267c68f571d89ad0619cb8e476a1]\n[key.wy = 34634336611e1fd1d728bcea588d0e1b652bbca0e52c1bfbd4387a6337ff41ce13a65c8306915d2a39897b985d909b36]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004a0ae8c949f63f1b6a5d024c99e0a296ecd12d196d3b1625d4a76600082a14d455aab267c68f571d89ad0619cb8e476a134634336611e1fd1d728bcea588d0e1b652bbca0e52c1bfbd4387a6337ff41ce13a65c8306915d2a39897b985d909b36]\n[sha = SHA-512]\n\n# tcId = 399\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100a276276276276276276276276276276276276276276276273d7228d4f84b769be0fd57b97e4c1ebcae9a5f635e80e9df\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 047cad1637721f5988cb7967238b1f47fd0b63f30f207a165951fc6fb74ba868e5b462628595edc80f75182e564a89c7a0fc04c405938aab3d6828e72e86bc59a400719270f8ee3cb5ef929ab53287bb308b51abd2e3ffbc3d93b87471bc2e3730]\n[key.wx = 7cad1637721f5988cb7967238b1f47fd0b63f30f207a165951fc6fb74ba868e5b462628595edc80f75182e564a89c7a0]\n[key.wy = 00fc04c405938aab3d6828e72e86bc59a400719270f8ee3cb5ef929ab53287bb308b51abd2e3ffbc3d93b87471bc2e3730]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200047cad1637721f5988cb7967238b1f47fd0b63f30f207a165951fc6fb74ba868e5b462628595edc80f75182e564a89c7a0fc04c405938aab3d6828e72e86bc59a400719270f8ee3cb5ef929ab53287bb308b51abd2e3ffbc3d93b87471bc2e3730]\n[sha = SHA-512]\n\n# tcId = 400\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023073333333333333333333333333333333333333333333333316e4d9f42d4eca22df403a0c578b86f0a9a93fe89995c7ed\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 042024ecde0e61262955b0301ae6b0a4fbd7771762feb2de35eed1823d2636c6e001f7bfcdbc4e65b1ea40224090411906d55362a570e80a2126f01d919b608440294039be03419d518b13cca6a1595414717f1b4ddb842b2c9d4f543e683b86a0]\n[key.wx = 2024ecde0e61262955b0301ae6b0a4fbd7771762feb2de35eed1823d2636c6e001f7bfcdbc4e65b1ea40224090411906]\n[key.wy = 00d55362a570e80a2126f01d919b608440294039be03419d518b13cca6a1595414717f1b4ddb842b2c9d4f543e683b86a0]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200042024ecde0e61262955b0301ae6b0a4fbd7771762feb2de35eed1823d2636c6e001f7bfcdbc4e65b1ea40224090411906d55362a570e80a2126f01d919b608440294039be03419d518b13cca6a1595414717f1b4ddb842b2c9d4f543e683b86a0]\n[sha = SHA-512]\n\n# tcId = 401\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02307fffffffffffffffffffffffffffffffffffffffffffffffda4233abf824c93f90115e76db206fa7489d6647332e1ba3\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 0440c5f2608956380c39695c7457ddce0880b5e8fab0a9a3726d0c8535b2ff6ca15814d83ed82c0ab33aba76e05e5c0476c9d15a2a0b2041237ff61c26519d1d74b141d7a4499fbdefc414a900937a8faf6ef560550c73cdb7edfe9314c480bb2b]\n[key.wx = 40c5f2608956380c39695c7457ddce0880b5e8fab0a9a3726d0c8535b2ff6ca15814d83ed82c0ab33aba76e05e5c0476]\n[key.wy = 00c9d15a2a0b2041237ff61c26519d1d74b141d7a4499fbdefc414a900937a8faf6ef560550c73cdb7edfe9314c480bb2b]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000440c5f2608956380c39695c7457ddce0880b5e8fab0a9a3726d0c8535b2ff6ca15814d83ed82c0ab33aba76e05e5c0476c9d15a2a0b2041237ff61c26519d1d74b141d7a4499fbdefc414a900937a8faf6ef560550c73cdb7edfe9314c480bb2b]\n[sha = SHA-512]\n\n# tcId = 402\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02303fffffffffffffffffffffffffffffffffffffffffffffffe3b1a6c0fa1b96efac0d06d9245853bd76760cb5666294bb\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 0474acdfd2ab763c593bca30d248f2bf26f1843acf9eb89b4dfcb8451d59683812cf3cbe9a264ea435912a8969c53d7cb8496dcb0a4efed69b87110fda20e68eb6feed2d5101a4955d43759f10b73e8ffc3131e0c12a765b68bd216ed1ec4f5d2f]\n[key.wx = 74acdfd2ab763c593bca30d248f2bf26f1843acf9eb89b4dfcb8451d59683812cf3cbe9a264ea435912a8969c53d7cb8]\n[key.wy = 496dcb0a4efed69b87110fda20e68eb6feed2d5101a4955d43759f10b73e8ffc3131e0c12a765b68bd216ed1ec4f5d2f]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000474acdfd2ab763c593bca30d248f2bf26f1843acf9eb89b4dfcb8451d59683812cf3cbe9a264ea435912a8969c53d7cb8496dcb0a4efed69b87110fda20e68eb6feed2d5101a4955d43759f10b73e8ffc3131e0c12a765b68bd216ed1ec4f5d2f]\n[sha = SHA-512]\n\n# tcId = 403\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100dfea06865526cea11c0f9eb9512b41fa9581d0f6cb7db9680336151dce79de818cdf33c879da322740416d1e5ae532fa\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04da35d6a82818ae5254cb65fc86ac42a47873ab247a5ca664e9f095e8de9a57fe721860e66cbc6bd499431a48a3991734945baab27ca6383737b7dd45023f997aff5e165f0fd7d8e5c0b5f9c5e731588af2fe5bd8976a0b871c132edf21f363af]\n[key.wx = 00da35d6a82818ae5254cb65fc86ac42a47873ab247a5ca664e9f095e8de9a57fe721860e66cbc6bd499431a48a3991734]\n[key.wy = 00945baab27ca6383737b7dd45023f997aff5e165f0fd7d8e5c0b5f9c5e731588af2fe5bd8976a0b871c132edf21f363af]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004da35d6a82818ae5254cb65fc86ac42a47873ab247a5ca664e9f095e8de9a57fe721860e66cbc6bd499431a48a3991734945baab27ca6383737b7dd45023f997aff5e165f0fd7d8e5c0b5f9c5e731588af2fe5bd8976a0b871c132edf21f363af]\n[sha = SHA-512]\n\n# tcId = 404\n# point duplication during ve", + "rification\nmsg = 313233343030\nresult = valid\nsig = 3066023100b37699e0d518a4d370dbdaaaea3788850fa03f8186d1f78fdfbae6540aa670b31c8ada0fff3e737bd69520560fe0ce60023100e16043c2face20228dba6366e19ecc6db71b918bbe8a890b9dad2fcead184e071c9ac4acaee2f831a1e4cc337994f5ec\nflags = PointDuplication\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04da35d6a82818ae5254cb65fc86ac42a47873ab247a5ca664e9f095e8de9a57fe721860e66cbc6bd499431a48a39917346ba4554d8359c7c8c84822bafdc0668500a1e9a0f028271a3f4a063a18cea7740d01a4266895f478e3ecd121de0c9c50]\n[key.wx = 00da35d6a82818ae5254cb65fc86ac42a47873ab247a5ca664e9f095e8de9a57fe721860e66cbc6bd499431a48a3991734]\n[key.wy = 6ba4554d8359c7c8c84822bafdc0668500a1e9a0f028271a3f4a063a18cea7740d01a4266895f478e3ecd121de0c9c50]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004da35d6a82818ae5254cb65fc86ac42a47873ab247a5ca664e9f095e8de9a57fe721860e66cbc6bd499431a48a39917346ba4554d8359c7c8c84822bafdc0668500a1e9a0f028271a3f4a063a18cea7740d01a4266895f478e3ecd121de0c9c50]\n[sha = SHA-512]\n\n# tcId = 405\n# duplication bug\nmsg = 313233343030\nresult = invalid\nsig = 3066023100b37699e0d518a4d370dbdaaaea3788850fa03f8186d1f78fdfbae6540aa670b31c8ada0fff3e737bd69520560fe0ce60023100e16043c2face20228dba6366e19ecc6db71b918bbe8a890b9dad2fcead184e071c9ac4acaee2f831a1e4cc337994f5ec\nflags = PointDuplication\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04820064193c71c7141fe41e711fe843a7474be6b05f50cb0be411cdf7fc78ea7ec96aeb3991ef7646bbde59152d381a32631c5adf93d488b45e67cc9890d8e779f63960193dc16bd1cc136b3e28cf499dfa8e7bff482a0115e6083987f7c042fc]\n[key.wx = 00820064193c71c7141fe41e711fe843a7474be6b05f50cb0be411cdf7fc78ea7ec96aeb3991ef7646bbde59152d381a32]\n[key.wy = 631c5adf93d488b45e67cc9890d8e779f63960193dc16bd1cc136b3e28cf499dfa8e7bff482a0115e6083987f7c042fc]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004820064193c71c7141fe41e711fe843a7474be6b05f50cb0be411cdf7fc78ea7ec96aeb3991ef7646bbde59152d381a32631c5adf93d488b45e67cc9890d8e779f63960193dc16bd1cc136b3e28cf499dfa8e7bff482a0115e6083987f7c042fc]\n[sha = SHA-512]\n\n# tcId = 406\n# point with x-coordinate 0\nmsg = 313233343030\nresult = invalid\nsig = 3035020101023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 0452fabc58eacfd3a4828f51c413205c20888941ee45ecac076ffc23145d83542034aa01253d6ebf34eeefaa371d6cee119f340712cd78155712746578f5632ded2b2e5afb43b085f81732792108e331a4b50d27f3578252ffb0daa9d78655a0ab]\n[key.wx = 52fabc58eacfd3a4828f51c413205c20888941ee45ecac076ffc23145d83542034aa01253d6ebf34eeefaa371d6cee11]\n[key.wy = 009f340712cd78155712746578f5632ded2b2e5afb43b085f81732792108e331a4b50d27f3578252ffb0daa9d78655a0ab]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000452fabc58eacfd3a4828f51c413205c20888941ee45ecac076ffc23145d83542034aa01253d6ebf34eeefaa371d6cee119f340712cd78155712746578f5632ded2b2e5afb43b085f81732792108e331a4b50d27f3578252ffb0daa9d78655a0ab]\n[sha = SHA-512]\n\n# tcId = 407\n# point with x-coordinate 0\nmsg = 313233343030\nresult = invalid\nsig = 3065023101000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000023033333333333333333333333333333333333333333333333327e0a919fda4a2c644d202bd41bcee4bc8fc05155c276eb0\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04a8fdb1a022d4e3a7ee29612bb110acbea27daecb827d344cb6c6a7acad61d371ddc7842147b74a18767e618712f04c1c64ac6daf8e08cd7b90a0c9d9123884c7a7abb4664a75b0897064c3c8956b0ca9c417237f8d5a7dd8421b0d48c9d52c7c]\n[key.wx = 00a8fdb1a022d4e3a7ee29612bb110acbea27daecb827d344cb6c6a7acad61d371ddc7842147b74a18767e618712f04c1c]\n[key.wy = 64ac6daf8e08cd7b90a0c9d9123884c7a7abb4664a75b0897064c3c8956b0ca9c417237f8d5a7dd8421b0d48c9d52c7c]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004a8fdb1a022d4e3a7ee29612bb110acbea27daecb827d344cb6c6a7acad61d371ddc7842147b74a18767e618712f04c1c64ac6daf8e08cd7b90a0c9d9123884c7a7abb4664a75b0897064c3c8956b0ca9c417237f8d5a7dd8421b0d48c9d52c7c]\n[sha = SHA-512]\n\n# tcId = 408\n# comparison with point at infinity \nmsg = 313233343030\nresult = invalid\nsig = 3064023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326023033333333333333333333333333333333333333333333333327e0a919fda4a2c644d202bd41bcee4bc8fc05155c276eb0\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04878e414a5d6a0e0d1ab3c5563c44e80c3b2ef265f27a33ed5cac109ad664c1269beae9031d8d178cbfdb1bfa7cc3cc79fabbb2b6f7ce54026863b0f297a4fe3de82d5044dacafede49d5afc60bc875f4b659c06c19bb74c7c27351687f52b411]\n[key.wx = 00878e414a5d6a0e0d1ab3c5563c44e80c3b2ef265f27a33ed5cac109ad664c1269beae9031d8d178cbfdb1bfa7cc3cc79]\n[key.wy = 00fabbb2b6f7ce54026863b0f297a4fe3de82d5044dacafede49d5afc60bc875f4b659c06c19bb74c7c27351687f52b411]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004878e414a5d6a0e0d1ab3c5563c44e80c3b2ef265f27a33ed5cac109ad664c1269beae9031d8d178cbfdb1bfa7cc3cc79fabbb2b6f7ce54026863b0f297a4fe3de82d5044dacafede49d5afc60bc875f4b659c06c19bb74c7c27351687f52b411]\n[sha = SHA-512]\n\n# tcId = 409\n# extreme value for k and edgecase s\nmsg = 313233343030\nresult = valid\nsig = 3064023008d999057ba3d2d969260045c55b97f089025959a6f434d651d207d19fb96e9e4fe0e86ebe0e64f85b96a9c75295df61023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 048faa8497ae3006b612999b03f91f7884d95543a266598e897b71e44ecfd9abd7908bfd122bb366c016a577cb1b2e2e412bb1a719289c749804ca677d14c0900fab031da8c70724723a0d54e3a0035da7dcddeef6fce80df2f81940817d27b2b5]\n[key.wx = 008faa8497ae3006b612999b03f91f7884d95543a266598e897b71e44ecfd9abd7908bfd122bb366c016a577cb1b2e2e41]\n[key.wy = 2bb1a719289c749804ca677d14c0900fab031da8c70724723a0d54e3a0035da7dcddeef6fce80df2f81940817d27b2b5]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200048faa8497ae3006b612999b03f91f7884d95543a266598e897b71e44ecfd9abd7908bfd122bb366c016a577cb1b2e2e412bb1a719289c749804ca677d14c0900fab031da8c70724723a0d54e3a0035da7dcddeef6fce80df2f81940817d27b2b5]\n[sha = SHA-512]\n\n# tcId = 410\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3064023008d999057ba3d2d969260045c55b97f089025959a6f434d651d207d19fb96e9e4fe0e86ebe0e64f85b96a9c75295df6102302492492492492492492492492492492492492492492492491c7be680477598d6c3716fabc13dcec86afd2833d41c2a7e\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04c59cc648629e62dc1855f653583da0ace631e0f4b4589b7fe5cc449e12df2dceeb862cae00cd100233b999af657ae16cb138f659dcc8d342fd17664d86c5bddaa866c20b0031f65c8442a0ed62b337d09adb63a443ab14e3587b9299053717f9]\n[key.wx = 00c59cc648629e62dc1855f653583da0ace631e0f4b4589b7fe5cc449e12df2dceeb862cae00cd100233b999af657ae16c]\n[key.wy = 00b138f659dcc8d342fd17664d86c5bddaa866c20b0031f65c8442a0ed62b337d09adb63a443ab14e3587b9299053717f9]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004c59cc648629e62dc1855f653583da0ace631e0f4b4589b7fe5cc449e12df2dceeb862cae00cd100233b999af657ae16cb138f659dcc8d342fd17664d86c5bddaa866c20b0031f65c8442a0ed62b337d09adb63a443ab14e3587b9299053717f9]\n[sha = SHA-512]\n\n# tcId = 411\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3064023008d999057ba3d2d969260045c55b97f089025959a6f434d651d207d19fb96e9e4fe0e86ebe0e64f85b96a9c75295df6102306666666666666666666666666666666666666666666666664fc15233fb49458c89a4057a8379dc9791f80a2ab84edd61\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04386bdc98fe3c156a790eee6d556e0036a4b84853358bd5ab6856db5985b9e8ea92e8d4c1f8d04ecd1e6de4548bf288215503292c2c570f57b42f2caf5e7ab94d87817a800b2af6ffcd4f13e30edb8caaf23c6d5be22abea18c2f9450ad1a4715]\n[key.wx = 386bdc98fe3c156a790eee6d556e0036a4b84853358bd5ab6856db5985b9e8ea92e8d4c1f8d04ecd1e6de4548bf28821]\n[key.wy = 5503292c2c570f57b42f2caf5e7ab94d87817a800b2af6ffcd4f13e30edb8caaf23c6d5be22abea18c2f9450ad1a4715]\n[keyDer = 3076301006072a8648c", + "e3d020106052b8104002203620004386bdc98fe3c156a790eee6d556e0036a4b84853358bd5ab6856db5985b9e8ea92e8d4c1f8d04ecd1e6de4548bf288215503292c2c570f57b42f2caf5e7ab94d87817a800b2af6ffcd4f13e30edb8caaf23c6d5be22abea18c2f9450ad1a4715]\n[sha = SHA-512]\n\n# tcId = 412\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3065023008d999057ba3d2d969260045c55b97f089025959a6f434d651d207d19fb96e9e4fe0e86ebe0e64f85b96a9c75295df6102310099999999999999999999999999999999999999999999999977a1fb4df8ede852ce760837c536cae35af40f4014764c12\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04294c37b3ec91a1b0500042d8b97bc9619d17f784a9ea528c0602d700783bfbac9ac49bff1e527b39bb2a49d1dc3abd471e798679b7c58f4dfa33cfe40bb62e7df6d2f190b0f3804c700fa19eba28ad7fd6edd7e3a754af852921c2705f444f0b]\n[key.wx = 294c37b3ec91a1b0500042d8b97bc9619d17f784a9ea528c0602d700783bfbac9ac49bff1e527b39bb2a49d1dc3abd47]\n[key.wy = 1e798679b7c58f4dfa33cfe40bb62e7df6d2f190b0f3804c700fa19eba28ad7fd6edd7e3a754af852921c2705f444f0b]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004294c37b3ec91a1b0500042d8b97bc9619d17f784a9ea528c0602d700783bfbac9ac49bff1e527b39bb2a49d1dc3abd471e798679b7c58f4dfa33cfe40bb62e7df6d2f190b0f3804c700fa19eba28ad7fd6edd7e3a754af852921c2705f444f0b]\n[sha = SHA-512]\n\n# tcId = 413\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3065023008d999057ba3d2d969260045c55b97f089025959a6f434d651d207d19fb96e9e4fe0e86ebe0e64f85b96a9c75295df61023100db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6aae76701acc1950894a89e068772d8b281eef136f8a8fef5\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04bac7cd8a7755a174fab58e5374ec55a5ce5313235ec51c919c6684bd49305b7005393f72bc4d810ca864fb046d2c83415a33b77f4145680bde63b669ea1f10f3ee1836018c11a6f97155d90827c83dbac388402ac8f59368ddaf2c33548611af]\n[key.wx = 00bac7cd8a7755a174fab58e5374ec55a5ce5313235ec51c919c6684bd49305b7005393f72bc4d810ca864fb046d2c8341]\n[key.wy = 5a33b77f4145680bde63b669ea1f10f3ee1836018c11a6f97155d90827c83dbac388402ac8f59368ddaf2c33548611af]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004bac7cd8a7755a174fab58e5374ec55a5ce5313235ec51c919c6684bd49305b7005393f72bc4d810ca864fb046d2c83415a33b77f4145680bde63b669ea1f10f3ee1836018c11a6f97155d90827c83dbac388402ac8f59368ddaf2c33548611af]\n[sha = SHA-512]\n\n# tcId = 414\n# extreme value for k\nmsg = 313233343030\nresult = valid\nsig = 3064023008d999057ba3d2d969260045c55b97f089025959a6f434d651d207d19fb96e9e4fe0e86ebe0e64f85b96a9c75295df6102300eb10e5ab95f2f26a40700b1300fb8c3e754d5c453d9384ecce1daa38135a48a0a96c24efc2a76d00bde1d7aeedf7f6a\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04984a1c04446a52ad6a54d64f2c6c49b61f23abe7dc6f33714896aefb0befb9a52b95b048561132c28c9850e851a6d00eb4e19f9de59d30ca26801f2789a3330b081e6bf57f84f3c6107defd05a959cef5f298acea5a6b87b38e22c5409ec9f71]\n[key.wx = 00984a1c04446a52ad6a54d64f2c6c49b61f23abe7dc6f33714896aefb0befb9a52b95b048561132c28c9850e851a6d00e]\n[key.wy = 00b4e19f9de59d30ca26801f2789a3330b081e6bf57f84f3c6107defd05a959cef5f298acea5a6b87b38e22c5409ec9f71]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004984a1c04446a52ad6a54d64f2c6c49b61f23abe7dc6f33714896aefb0befb9a52b95b048561132c28c9850e851a6d00eb4e19f9de59d30ca26801f2789a3330b081e6bf57f84f3c6107defd05a959cef5f298acea5a6b87b38e22c5409ec9f71]\n[sha = SHA-512]\n\n# tcId = 415\n# extreme value for k and edgecase s\nmsg = 313233343030\nresult = valid\nsig = 3065023100aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04f00d6327b1226eaa1b0897295eeddadf7510249e6f0f811b57d7197eb6e61199a8f1c6665ec4821d3e18675d5399fdf787bf1e3fb7fee5cb3582a4159808b75e8b1de07eaffd49d3882d15c77443ad83213d21a4be9285223aa44a840e47eb56]\n[key.wx = 00f00d6327b1226eaa1b0897295eeddadf7510249e6f0f811b57d7197eb6e61199a8f1c6665ec4821d3e18675d5399fdf7]\n[key.wy = 0087bf1e3fb7fee5cb3582a4159808b75e8b1de07eaffd49d3882d15c77443ad83213d21a4be9285223aa44a840e47eb56]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004f00d6327b1226eaa1b0897295eeddadf7510249e6f0f811b57d7197eb6e61199a8f1c6665ec4821d3e18675d5399fdf787bf1e3fb7fee5cb3582a4159808b75e8b1de07eaffd49d3882d15c77443ad83213d21a4be9285223aa44a840e47eb56]\n[sha = SHA-512]\n\n# tcId = 416\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3065023100aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab702302492492492492492492492492492492492492492492492491c7be680477598d6c3716fabc13dcec86afd2833d41c2a7e\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04452b047743346898b087daaac5d982d378752ba534e569f21ac592c09654d0809b94ccf822045f2885cbd3b221453cd668a01f502f551af14aab35c2c30ec7bac0709f525fe7960439b1e9de53cdad245efd8930967cde6caf8d222c8200cd69]\n[key.wx = 452b047743346898b087daaac5d982d378752ba534e569f21ac592c09654d0809b94ccf822045f2885cbd3b221453cd6]\n[key.wy = 68a01f502f551af14aab35c2c30ec7bac0709f525fe7960439b1e9de53cdad245efd8930967cde6caf8d222c8200cd69]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004452b047743346898b087daaac5d982d378752ba534e569f21ac592c09654d0809b94ccf822045f2885cbd3b221453cd668a01f502f551af14aab35c2c30ec7bac0709f525fe7960439b1e9de53cdad245efd8930967cde6caf8d222c8200cd69]\n[sha = SHA-512]\n\n# tcId = 417\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3065023100aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab702306666666666666666666666666666666666666666666666664fc15233fb49458c89a4057a8379dc9791f80a2ab84edd61\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 0444a8f54795bdb81e00fc84fa8373d125b16da6e2bf4cfa9ee1dc13d7f157394683963c170f4c15e8cf21b5466b49fa72bb5693655b3e0a85e27e3e6d265fba0131f3083bf447f62b6e3e5275496f34daa522e16195d81488a31fe982c2b75f16]\n[key.wx = 44a8f54795bdb81e00fc84fa8373d125b16da6e2bf4cfa9ee1dc13d7f157394683963c170f4c15e8cf21b5466b49fa72]\n[key.wy = 00bb5693655b3e0a85e27e3e6d265fba0131f3083bf447f62b6e3e5275496f34daa522e16195d81488a31fe982c2b75f16]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000444a8f54795bdb81e00fc84fa8373d125b16da6e2bf4cfa9ee1dc13d7f157394683963c170f4c15e8cf21b5466b49fa72bb5693655b3e0a85e27e3e6d265fba0131f3083bf447f62b6e3e5275496f34daa522e16195d81488a31fe982c2b75f16]\n[sha = SHA-512]\n\n# tcId = 418\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3066023100aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab702310099999999999999999999999999999999999999999999999977a1fb4df8ede852ce760837c536cae35af40f4014764c12\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 0410b336b3afb80c80ff50716e734110fe83cd5b8d41d7f2f94f0dec7ecf1facc663babb8ed94e4bdf3592e37464970afa9be144d354e9b456873c6387a12a3eefd3e2feb66f7519ac72ac502c09d20d72cae9d04c88549a285c081023e1c1da08]\n[key.wx = 10b336b3afb80c80ff50716e734110fe83cd5b8d41d7f2f94f0dec7ecf1facc663babb8ed94e4bdf3592e37464970afa]\n[key.wy = 009be144d354e9b456873c6387a12a3eefd3e2feb66f7519ac72ac502c09d20d72cae9d04c88549a285c081023e1c1da08]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000410b336b3afb80c80ff50716e734110fe83cd5b8d41d7f2f94f0dec7ecf1facc663babb8ed94e4bdf3592e37464970afa9be144d354e9b456873c6387a12a3eefd3e2feb66f7519ac72ac502c09d20d72cae9d04c88549a285c081023e1c1da08]\n[sha = SHA-512]\n\n# tcId = 419\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3066023100aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7023100db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6aae76701acc1950894a89e068772d8b281eef136f8a8fef5\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 0481f92630778777a01781e7924fced35fc09018d9b00820881b14a814c1836a1f73c3641f7a17c821ffd95da902efe132221d81323509391f7b61bd7960", + "11337e6af36ae0798c17043d79e8efcdae8e724adf96a2309207c2d2cfd88e8c483acb]\n[key.wx = 0081f92630778777a01781e7924fced35fc09018d9b00820881b14a814c1836a1f73c3641f7a17c821ffd95da902efe132]\n[key.wy = 221d81323509391f7b61bd796011337e6af36ae0798c17043d79e8efcdae8e724adf96a2309207c2d2cfd88e8c483acb]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000481f92630778777a01781e7924fced35fc09018d9b00820881b14a814c1836a1f73c3641f7a17c821ffd95da902efe132221d81323509391f7b61bd796011337e6af36ae0798c17043d79e8efcdae8e724adf96a2309207c2d2cfd88e8c483acb]\n[sha = SHA-512]\n\n# tcId = 420\n# extreme value for k\nmsg = 313233343030\nresult = valid\nsig = 3065023100aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab702300eb10e5ab95f2f26a40700b1300fb8c3e754d5c453d9384ecce1daa38135a48a0a96c24efc2a76d00bde1d7aeedf7f6a\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f]\n[key.wx = 00aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7]\n[key.wy = 3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f]\n[sha = SHA-512]\n\n# tcId = 421\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 3064023043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158ca02302492492492492492492492492492492492492492492492491c7be680477598d6c3716fabc13dcec86afd2833d41c2a7e\n\n# tcId = 422\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 3065023100bc07ff041506dc73a75086a43252fb43b6327af3c6b2cc7d322ff6d1d1162b5de29edcd0b69803fe2f8af8e3d103d0a902302492492492492492492492492492492492492492492492491c7be680477598d6c3716fabc13dcec86afd2833d41c2a7e\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7c9e821b569d9d390a26167406d6d23d6070be242d765eb831625ceec4a0f473ef59f4e30e2817e6285bce2846f15f1a0]\n[key.wx = 00aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7]\n[key.wy = 00c9e821b569d9d390a26167406d6d23d6070be242d765eb831625ceec4a0f473ef59f4e30e2817e6285bce2846f15f1a0]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7c9e821b569d9d390a26167406d6d23d6070be242d765eb831625ceec4a0f473ef59f4e30e2817e6285bce2846f15f1a0]\n[sha = SHA-512]\n\n# tcId = 423\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 3064023043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158ca02302492492492492492492492492492492492492492492492491c7be680477598d6c3716fabc13dcec86afd2833d41c2a7e\n\n# tcId = 424\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 3065023100bc07ff041506dc73a75086a43252fb43b6327af3c6b2cc7d322ff6d1d1162b5de29edcd0b69803fe2f8af8e3d103d0a902302492492492492492492492492492492492492492492492491c7be680477598d6c3716fabc13dcec86afd2833d41c2a7e\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 0429bdb76d5fa741bfd70233cb3a66cc7d44beb3b0663d92a8136650478bcefb61ef182e155a54345a5e8e5e88f064e5bc9a525ab7f764dad3dae1468c2b419f3b62b9ba917d5e8c4fb1ec47404a3fc76474b2713081be9db4c00e043ada9fc4a3]\n[key.wx = 29bdb76d5fa741bfd70233cb3a66cc7d44beb3b0663d92a8136650478bcefb61ef182e155a54345a5e8e5e88f064e5bc]\n[key.wy = 009a525ab7f764dad3dae1468c2b419f3b62b9ba917d5e8c4fb1ec47404a3fc76474b2713081be9db4c00e043ada9fc4a3]\n[keyDer = 3076301006072a8648ce3d020106052b810400220362000429bdb76d5fa741bfd70233cb3a66cc7d44beb3b0663d92a8136650478bcefb61ef182e155a54345a5e8e5e88f064e5bc9a525ab7f764dad3dae1468c2b419f3b62b9ba917d5e8c4fb1ec47404a3fc76474b2713081be9db4c00e043ada9fc4a3]\n[sha = SHA-512]\n\n# tcId = 425\n# pseudorandom signature\nmsg = \nresult = valid\nsig = 306402302290c886bbad8f53089583d543a269a727665626d6b94a3796324c62d08988f66f6011e845811a03589e92abe1f17faf023066e2cb4380997f4e7f85022541adb22d24d1196be68a3db888b03eb3d2d40b0d9a3a6a00a1a4782ee0a00e8410ba2d86\n\n# tcId = 426\n# pseudorandom signature\nmsg = 4d7367\nresult = valid\nsig = 30650231008071d8cf9df9efef696ebafc59f74db90c1f1ecf5ccde18858de22fe4d7df2a25cb3001695d706dfd7984b39df65a0f4023027291e6339c2a7fed7a174bb97ffe41d8cfdc20c1260c6ec85d7259f0cc7781bf2ae7a6e6fb4c08e0d75b7381bb7d9b8\n\n# tcId = 427\n# pseudorandom signature\nmsg = 313233343030\nresult = valid\nsig = 30650230470014ccd7a1a5e5333d301c8ea528ac3b07b01944af30cec60f4bad94db108509e45ba381818b5bdfaf9daf0d372301023100e3d49d6a05a755aa871d7cb96fffb79fed7625f83f69498ba07c0d65166a67107c9a17ae6e1028e244377a44096217b2\n\n# tcId = 428\n# pseudorandom signature\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 30640230377044d343f900175ac6833071be74964cd636417039e10e837da94b6919bffc3f5a517b945a450852af3259f5cbf108023032ea25006375c153581e80c09f53ad585c736f823c70147aba4fb47bb0a224fae4d8819adad80d4c144ecc2380954a9e\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04ffffffffaa63f1a239ac70197c6ebfcea5756dc012123f82c51fa874d66028be00e976a1080606737cc75c40bdfe4aacacbd85389088a62a6398384c22b52d492f23f46e4a27a4724ad55551da5c483438095a247cb0c3378f1f52c3425ff9f1]\n[key.wx = 00ffffffffaa63f1a239ac70197c6ebfcea5756dc012123f82c51fa874d66028be00e976a1080606737cc75c40bdfe4aac]\n[key.wy = 00acbd85389088a62a6398384c22b52d492f23f46e4a27a4724ad55551da5c483438095a247cb0c3378f1f52c3425ff9f1]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004ffffffffaa63f1a239ac70197c6ebfcea5756dc012123f82c51fa874d66028be00e976a1080606737cc75c40bdfe4aacacbd85389088a62a6398384c22b52d492f23f46e4a27a4724ad55551da5c483438095a247cb0c3378f1f52c3425ff9f1]\n[sha = SHA-512]\n\n# tcId = 429\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 3066023100ccb13c4dc9805a9b4e06ee25ef8c7593eaff7326c432d4b12b923163cf1cbe5fe1cfd3546c1d0761d8874e83ffd2e15d023100db1b0c082ae314b539f05e8a14ad51e5db37f29cacea9b2aab63a04917d58d008cf3f7ba41d5ea280f3b6a67be3ae8f8\n\n# tcId = 430\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 3065023100c79a30e36d2126b348dd9eb2f5db6aa98f79d80214027e51bcf3cabec188a7ebaf25cb7bbe9ec6bfed135e2a3b70e9160230241338ee2ac931adea9a56e7bfe909947128d54d5122a47b00c278e684e10102740d26e89e343290a5b2fa8b401faec6\n\n# tcId = 431\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 306402300df82e4ec2960e3df614f8b49cec9a4ee1054365414241361feec9d9d9b6909d8775f222ec385a14afab46266db390c302300968485e854addba0f8354e677e955e1ef2df973d564c49f65f2562cb2a2b80d75e92f8784042955f7b8765f609ce221\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04d1827fc6f6f12f21992c5a409a0653b121d2ef02b2b0ab01a9161ce956280740b1e356b255701b0a6ddc9ec2ca8a9422c6ed5d2ced8d8ab7560fa5bb88c738e74541883d8a2b1c0e2ba7e36d030fc4d9bfb8b22f24db897ebac49dd400000000]\n[key.wx = 00d1827fc6f6f12f21992c5a409a0653b121d2ef02b2b0ab01a9161ce956280740b1e356b255701b0a6ddc9ec2ca8a9422]\n[key.wy = 00c6ed5d2ced8d8ab7560fa5bb88c738e74541883d8a2b1c0e2ba7e36d030fc4d9bfb8b22f24db897ebac49dd400000000]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004d1827fc6f6f12f21992c5a409a0653b121d2ef02b2b0ab01a9161ce956280740b1e356b255701b0a6ddc9ec2ca8a9422c6ed5d2ced8d8ab7560fa5bb88c738e74541883d8a2b1c0e2ba7e36d030fc4d9bfb8b22f24db897ebac49dd400000000]\n[sha = SHA-512]\n\n# tcId = 432\n# y-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 306402301fafd83d728422e1485f1e52e5b631548647cc3c76c109c3177a73751d91a19012fa4628b218f2229fc4d55f105fe00102304474f9af7b4b0bb96fdb05ae918f799024e8d5b86", + "4e49ccd047cf97e7b9f8763cce015c11cf1f461c9027cb901055101\n\n# tcId = 433\n# y-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 3066023100e6025bb957ab197fb4c080d0a5c647e428afb0d7cc235c605ae97545494fd31a9979790bb2da6e1cf186789422b15c970231008ae9872291430d1bb371ef72360dad5afbb6fb001f403d9aaa1445f0326eb1eef775c9dfe1d7ef8bf4e744822108d27e\n\n# tcId = 434\n# y-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 3066023100877d5567c18fa568259005a89c2300d1b3825b732fa14964c1477d4b3098afd09384b97d497464adba41e9df8a74d339023100c40f0760717b4b3bae75742b6dc3dcf04cc22a449cfea19d305e0658cb705fda75163e7399e0b3125ca7d1919c13851e\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 041099bb45100f55f5a85cca3de2b3bd5e250f4f6fad6631a3156c2e52a33d7d615dd279f79f8b4baff7c713ac00000000e6c9b736a8929f2ed7be0c753a54cbb48b8469e0411eaf93a4a82459ba0b681bba8f5fb383b4906d4901a3303e2f1557]\n[key.wx = 1099bb45100f55f5a85cca3de2b3bd5e250f4f6fad6631a3156c2e52a33d7d615dd279f79f8b4baff7c713ac00000000]\n[key.wy = 00e6c9b736a8929f2ed7be0c753a54cbb48b8469e0411eaf93a4a82459ba0b681bba8f5fb383b4906d4901a3303e2f1557]\n[keyDer = 3076301006072a8648ce3d020106052b81040022036200041099bb45100f55f5a85cca3de2b3bd5e250f4f6fad6631a3156c2e52a33d7d615dd279f79f8b4baff7c713ac00000000e6c9b736a8929f2ed7be0c753a54cbb48b8469e0411eaf93a4a82459ba0b681bba8f5fb383b4906d4901a3303e2f1557]\n[sha = SHA-512]\n\n# tcId = 435\n# x-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 3065023100e706b0045a6f54bd175e2437b48767b0204f93d8a4d9d3d00838278137e5b670de4305c5c55e49059b8b5f6e264654c90230405741adff94afd9a88e08d0b1021911fa4cedb2466b1a8fd302a5b5d96566ada63ccb82b6c5e8452fde860c545e0a19\n\n# tcId = 436\n# x-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 306502300c57ce2bc579fbd3a759dfbf5e84c3cef2414846a2e300453e1e4c5188f24432b14ca647a733b6ad35c980a880d36145023100f12a119e22d48b82049df611f1c851fb22795056498a873c730fcb9fd8f314728de0298b9b22c348abc6de2aba97e972\n\n# tcId = 437\n# x-coordinate of the public key has many trailing 0's\nmsg = 4d657373616765\nresult = valid\nsig = 30660231009a8f80697ccf2e0617612027d861a3a3a657fb75cc82810b40dd5072d39ff37eca29008390da356137e2c9babd814198023100a86537a83c3d57da50e4b29b47dcc3717c5a1ed0fff18ade8dcce4220eac63aab60b9bfed5f1bdd241dab655a9bdd75f\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04000000002b089edd754169010145f263f334fc167cc19dae8225970ae19cc8cb7ec73593d6a465c370f5478b0e539d69d1951d597b56a67345acb25809581f07cd0eb78d9538a3f8a65f300e68a1eb78507df76de650e8f8ee63a5f0c5687c98]\n[key.wx = 2b089edd754169010145f263f334fc167cc19dae8225970ae19cc8cb7ec73593d6a465c370f5478b0e539d69]\n[key.wy = 00d1951d597b56a67345acb25809581f07cd0eb78d9538a3f8a65f300e68a1eb78507df76de650e8f8ee63a5f0c5687c98]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004000000002b089edd754169010145f263f334fc167cc19dae8225970ae19cc8cb7ec73593d6a465c370f5478b0e539d69d1951d597b56a67345acb25809581f07cd0eb78d9538a3f8a65f300e68a1eb78507df76de650e8f8ee63a5f0c5687c98]\n[sha = SHA-512]\n\n# tcId = 438\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 306602310093718f6f8542725f62de7039fc193d3fcc81d622230ccc94e9e265390b385af3a3ba50c91a9d6a5b1e07d79af2bd80b2023100d08499f3d298e8afecea122265a36dbf337259020654739783c8ec8ef783d072555b5907285ce83fc8ced9c8398c6269\n\n# tcId = 439\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 3066023100ce26e42c490dec92cf59d6b1ba75c9a1400d6e5c3fd7c47e1eeb1cded30a3a3d18c81cdfdcbad2742a97293369ce21c202310094671085d941fd27d495452a4c8559a1fe24f3225f5b8ef75faf9d3fb01372c586e23b82714359d0e47144ff5d946161\n\n# tcId = 440\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 3066023100ffc4738acf71f04a13104c328c138b331fb7202aef66f583ba543ed490d12993c18f724c81ad0f7ea18dae352e5c6480023100e67d4ccdeb68a9a731f06f77eae00175be076d92529b109a62542692c8749ddfde03bed1c119a5901a4e852f2115578f\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b33600000000208b3f5ad3b3937acc9d606cc5ececab4a701f75ed42957ea4d7858d33f5c26c6ae20a9cccda56996700d6b4]\n[key.wx = 00fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b336]\n[key.wy = 208b3f5ad3b3937acc9d606cc5ececab4a701f75ed42957ea4d7858d33f5c26c6ae20a9cccda56996700d6b4]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b33600000000208b3f5ad3b3937acc9d606cc5ececab4a701f75ed42957ea4d7858d33f5c26c6ae20a9cccda56996700d6b4]\n[sha = SHA-512]\n\n# tcId = 441\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 3065023100e6fa8455bc14e730e4ca1eb5faf6c8180f2f231069b93a0bb17d33ad5513d93a36214f5ce82ca6bd785ccbacf7249a4c02303979b4b480f496357c25aa3fc850c67ff1c5a2aabd80b6020d2eac3dd7833cf2387d0be64df54a0e9b59f12c3bebf886\n\n# tcId = 442\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 306502301b49b037783838867fbaa57305b2aa28df1b0ec40f43140067fafdea63f87c02dfb0e6f41b760fbdf51005e90c0c3715023100e7d4eb6ee61611264ea8a668a70287e3d63489273da2b30ad0c221f1893feaea3e878c9a81c6cec865899dbda4fa79ae\n\n# tcId = 443\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 306502310091d9da3d577408189dcaae33d95ed0a0118afd460d5228fa352b6ea671b172eb413816a70621ddaf23c5e2ef79df0c110230053dadbfcd564bddbe44e0ecb4d1e608dbd35d4e83b6634cc72afb87a2d61675ee13960c243f6be70519e167b1d3ceb0\n\n[key.curve = secp384r1]\n[key.keySize = 384]\n[key.type = EcPublicKey]\n[key.uncompressed = 04fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b336ffffffffdf74c0a52c4c6c8533629f933a131354b58fe08a12bd6a815b287a71cc0a3d92951df5633325a96798ff294b]\n[key.wx = 00fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b336]\n[key.wy = 00ffffffffdf74c0a52c4c6c8533629f933a131354b58fe08a12bd6a815b287a71cc0a3d92951df5633325a96798ff294b]\n[keyDer = 3076301006072a8648ce3d020106052b8104002203620004fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b336ffffffffdf74c0a52c4c6c8533629f933a131354b58fe08a12bd6a815b287a71cc0a3d92951df5633325a96798ff294b]\n[sha = SHA-512]\n\n# tcId = 444\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 3065023100af0ed6ce6419662db80f02a2b632675445c7bf8a34bbacdc81cc5dd306c657ca4c5a3fb1b05f358d8f36fda8ae238806023046b472c0badb17e089c8f9697fd0b4ce71f0f4471b235483d4c8dd3d00aa282cde990253df38ba733b2ad82a601c7508\n\n# tcId = 445\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 3066023100e2aa9468ccaaadad8b9f43a429c97f0c6a7eedcb4d4af72d639df0fe53f610b953408a8e24e8db138551770750680f7a023100d81020846d1c50ee9ae23601dd638cb71b38d37fb555268c2fa1ad8a761fa7b27afcab2fa69224d1f976699914e09de2\n\n# tcId = 446\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 306402306bf6fa7a663802c3382cc5fd02004ec71e5a031e3d9bfc0858fa994e88497a7782308bc265b8237a6bbbdd38658b36fc02303a9d5941a013bf70d99cc3ff255ce85573688dac40344b5db7144b19bf57bb2701e6850a8f819796b67f7d0b6aea7e50\n\n", }; -static const size_t kLen73 = 229819; +static const size_t kLen106 = 225135; -static const char *kData73[] = { - "# Imported from Wycheproof's ecdsa_secp521r1_sha512_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: ECDSA\n# Generator version: 0.4.12\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 04005c6457ec088d532f482093965ae53ccd07e556ed59e2af945cd8c7a95c1c644f8a56a8a8a3cd77392ddd861e8a924dac99c69069093bd52a52fa6c56004a074508007878d6d42e4b4dd1e9c0696cb3e19f63033c3db4e60d473259b3ebe079aaf0a986ee6177f8217a78c68b813f7e149a4e56fd9562c07fed3d895942d7d101cb83f6]\n[key.wx = 5c6457ec088d532f482093965ae53ccd07e556ed59e2af945cd8c7a95c1c644f8a56a8a8a3cd77392ddd861e8a924dac99c69069093bd52a52fa6c56004a074508]\n[key.wy = 7878d6d42e4b4dd1e9c0696cb3e19f63033c3db4e60d473259b3ebe079aaf0a986ee6177f8217a78c68b813f7e149a4e56fd9562c07fed3d895942d7d101cb83f6]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004005c6457ec088d532f482093965ae53ccd07e556ed59e2af945cd8c7a95c1c644f8a56a8a8a3cd77392ddd861e8a924dac99c69069093bd52a52fa6c56004a074508007878d6d42e4b4dd1e9c0696cb3e19f63033c3db4e60d473259b3ebe079aaf0a986ee6177f8217a78c68b813f7e149a4e56fd9562c07fed3d895942d7d101cb83f6]\n[sha = SHA-512]\n\n# tcId = 1\n# signature malleability\nmsg = 313233343030\nresult = valid\nsig = 30818702414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024201d74a2f6d95be8d4cb64f02d16d6b785a1246b4ebd206dc596818bb953253245f5a27a24a1aae1e218fdccd8cd7d4990b666d4bf4902b84fdad123f941fe906d948\n\n# tcId = 2\n# valid\nmsg = 313233343030\nresult = valid\nsig = 30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 3\n# length contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 3082008602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 4\n# length contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 308188028200414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 5\n# length contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 30818802414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450282004128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 6\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 308702414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 7\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 308502414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 8\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 30818602424e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 9\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 30818602404e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 10\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024228b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 11\n# wrong length\nmsg = 313233343030\nresult = invalid\nsig = 30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024028b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 12\n# uint32 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 3085010000008602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 13\n# uint32 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 30818b028501000000414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 14\n# uint32 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 30818b02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450285010000004128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 15\n# uint64 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 308901000000000000008602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 16\n# uint64 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 30818f02890100000000000000414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 17\n# uint64 overflow in length\nmsg = 313233343030\nresult = invalid\nsig = 30818f02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645028901000000000000004128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 18\n# length = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30847fffffff02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022f", - "ea8318ac1\n\n# tcId = 19\n# length = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30818a02847fffffff4e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 20\n# length = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30818a02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf864502847fffffff28b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 21\n# length = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3084ffffffff02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 22\n# length = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30818a0284ffffffff4e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 23\n# length = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30818a02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450284ffffffff28b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 24\n# length = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3085ffffffffff02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 25\n# length = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30818b0285ffffffffff4e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 26\n# length = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30818b02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450285ffffffffff28b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 27\n# length = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3088ffffffffffffffff02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 28\n# length = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30818e0288ffffffffffffffff4e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 29\n# length = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30818e02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450288ffffffffffffffff28b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 30\n# incorrect length\nmsg = 313233343030\nresult = invalid\nsig = 30ff02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 31\n# incorrect length\nmsg = 313233343030\nresult = invalid\nsig = 30818602ff4e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 32\n# incorrect length\nmsg = 313233343030\nresult = invalid\nsig = 30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf864502ff28b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 33\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 308002414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 34\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 30818602804e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 35\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645028028b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 36\n# removing sequence\nmsg = 313233343030\nresult = invalid\nsig = \n\n# tcId = 37\n# lonely sequence tag\nmsg = 313233343030\nresult = invalid\nsig = 30\n\n# tcId = 38\n# appending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 30818802414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10000\n\n# tcId = 39\n# prepending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 308188000002414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 40\n# appending unused 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10000\n\n# tcId = 41\n# appending null value to sequence\nmsg = 313233343030\nresult = invalid\nsig = 30818802414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10500\n\n# tcId = 42\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 30818c49817730818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 43\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = ", - "30818b250030818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 44\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 30818930818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10004deadbeef\n\n# tcId = 45\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 30818b224649817702414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 46\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 30818a2245250002414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 47\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 30818e224302414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450004deadbeef024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 48\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 30818b02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86452246498177024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 49\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 30818a02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf864522452500024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 50\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 30818e02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86452243024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10004deadbeef\n\n# tcId = 51\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 30818faa00bb00cd0030818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 52\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 30818daa02aabb30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 53\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 30818e2249aa00bb00cd0002414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 54\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 30818c2247aa02aabb02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 55\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 30818e02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86452249aa00bb00cd00024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 56\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 30818c02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86452247aa02aabb024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 57\n# truncated length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3081\n\n# tcId = 58\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 308030818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10000\n\n# tcId = 59\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 30818a228002414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450000024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 60\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 30818a02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86452280024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10000\n\n# tcId = 61\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 308031818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10000\n\n# tcId = 62\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 30818a228003414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450000024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 63\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 30818a02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86452280034128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10000\n\n# tcId = 64\n# Replacing sequence with NULL\nmsg = 313233343030\nresult = invalid\nsig = 0500\n\n# tcId = 65\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 2e818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 66\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 2f818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69", - "d5285e174a01a93022fea8318ac1\n\n# tcId = 67\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 31818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 68\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 32818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 69\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = ff818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 70\n# dropping value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3000\n\n# tcId = 71\n# using composition for sequence\nmsg = 313233343030\nresult = invalid\nsig = 30818b300102308185414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 72\n# truncate sequence\nmsg = 313233343030\nresult = invalid\nsig = 30818502414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318a\n\n# tcId = 73\n# truncate sequence\nmsg = 313233343030\nresult = invalid\nsig = 308185414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 74\n# indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 308002414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10000\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 75\n# indefinite length with truncated delimiter\nmsg = 313233343030\nresult = invalid\nsig = 308002414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac100\n\n# tcId = 76\n# indefinite length with additional element\nmsg = 313233343030\nresult = invalid\nsig = 308002414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac105000000\n\n# tcId = 77\n# indefinite length with truncated element\nmsg = 313233343030\nresult = invalid\nsig = 308002414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1060811220000\n\n# tcId = 78\n# indefinite length with garbage\nmsg = 313233343030\nresult = invalid\nsig = 308002414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10000fe02beef\n\n# tcId = 79\n# indefinite length with nonempty EOC\nmsg = 313233343030\nresult = invalid\nsig = 308002414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10002beef\n\n# tcId = 80\n# prepend empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 308188300002414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 81\n# append empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 30818802414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac13000\n\n# tcId = 82\n# sequence of sequence\nmsg = 313233343030\nresult = invalid\nsig = 30818930818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 83\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 304302414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645\n\n# tcId = 84\n# repeat element in sequence\nmsg = 313233343030\nresult = invalid\nsig = 3081c902414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 85\n# long form encoding of length\nmsg = 313233343030\nresult = invalid\nsig = 3081870281414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 86\n# long form encoding of length\nmsg = 313233343030\nresult = invalid\nsig = 30818702414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf864502814128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 87\n# removing integer\nmsg = 313233343030\nresult = invalid\nsig = 3043024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 88\n# lonely integer tag\nmsg = 313233343030\nresult = invalid\nsig = 304402024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 89\n# lonely integer tag\nmsg = 313233343030\nresult = invalid\nsig = 304402414e4223ee43e8cb89de3b1339ffc279e582f82c7a", - "b0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf864502\n\n# tcId = 90\n# appending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 30818802434e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450000024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 91\n# appending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 30818802414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024328b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10000\n\n# tcId = 92\n# prepending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 308188024300004e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 93\n# prepending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 30818802414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450243000028b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n# This is a signature with correct values for (r, s) but using some alternative\n# BER encoding instead of DER encoding. Implementations should not accept such\n# signatures to limit signature malleability.\n\n# tcId = 94\n# appending unused 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 30818802414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450000024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 95\n# appending null value to integer\nmsg = 313233343030\nresult = invalid\nsig = 30818802434e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450500024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 96\n# appending null value to integer\nmsg = 313233343030\nresult = invalid\nsig = 30818802414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024328b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10500\n\n# tcId = 97\n# truncated length of integer\nmsg = 313233343030\nresult = invalid\nsig = 30450281024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 98\n# truncated length of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450281\n\n# tcId = 99\n# Replacing integer with NULL\nmsg = 313233343030\nresult = invalid\nsig = 30450500024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 100\n# Replacing integer with NULL\nmsg = 313233343030\nresult = invalid\nsig = 304502414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450500\n\n# tcId = 101\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 30818600414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 102\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 30818601414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 103\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 30818603414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 104\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 30818604414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 105\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 308186ff414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 106\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645004128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 107\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645014128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 108\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645034128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 109\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645044128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 110\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645ff4128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 111\n# dropping value of integer\nmsg = 313233343030\nresult = invalid\nsig = 30450200024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 112\n# dropping value of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450200\n\n# tcId = 113\n# using composition for integer\nmsg = 313233343030\nresult = invalid\nsig = 30818a224502014e02404223ee43e8cb89de3b1339ffc279e582f8", - "2c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 114\n# using composition for integer\nmsg = 313233343030\nresult = invalid\nsig = 30818a02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf864522450201280240b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 115\n# modify first byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 30818602414c4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 116\n# modify first byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf864502412ab5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 117\n# modify last byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86c5024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 118\n# modify last byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318a41\n\n# tcId = 119\n# truncate integer\nmsg = 313233343030\nresult = invalid\nsig = 30818502404e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 120\n# truncate integer\nmsg = 313233343030\nresult = invalid\nsig = 30818502404223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 121\n# truncate integer\nmsg = 313233343030\nresult = invalid\nsig = 30818502414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024028b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318a\n\n# tcId = 122\n# truncate integer\nmsg = 313233343030\nresult = invalid\nsig = 30818502414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450240b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 123\n# leading ff in integer\nmsg = 313233343030\nresult = invalid\nsig = 3081870242ff4e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 124\n# leading ff in integer\nmsg = 313233343030\nresult = invalid\nsig = 30818702414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450242ff28b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 125\n# infinity\nmsg = 313233343030\nresult = invalid\nsig = 3046090180024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 126\n# infinity\nmsg = 313233343030\nresult = invalid\nsig = 304602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645090180\n\n# tcId = 127\n# replacing integer with zero\nmsg = 313233343030\nresult = invalid\nsig = 3046020100024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 128\n# replacing integer with zero\nmsg = 313233343030\nresult = invalid\nsig = 304602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645020100\n\n# tcId = 129\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3081870242024e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbe97b3367122fa4a20584c271233f3ec3b7f7b31b0faa4d340b92a6b0d5cd17ea4e024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 130\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3081870242fe4e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbf4d826580ab145752e852a6e91512b78178047879e9714a4ae1bc74298aaa7223c024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 131\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3081860241b1bddc11bc17347621c4ecc6003d861a7d07d3854f08e4421bc241c8b538a00410d65320718f8af465fb099025b7cae2184402aea8df4f13a328c90648c42079bb024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 132\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 308187024201b1bddc11bc17347621c4ecc6003d861a7d07d3854f08e4421bc241c8b538a0040b27d9a7f54eba8ad17ad5916eaed487e87fb8786168eb5b51e438bd675558ddc4024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 133\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3081870242fdb1bddc11bc17347621c4ecc6003d861a7d07d3854f08e4421bc241c8b538a0041684cc98edd05b5dfa7b3d8edcc0c13c48084ce4f055b2cbf46d594f2a32e815b2024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 134\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3081870242024e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 135\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3081870242fe4e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 136\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 308187024201b1bddc11bc17347621c4ecc6003d861a7d07d3854f08e4421bc241c8b538a00410d65320718f8af465fb099025b7cae2184402aea8df4f13a328c90648c42079bb024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a", - "697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 137\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30818702414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf864502420228b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba09a7b6ac4ecd0410b4722ca75ba197a403a0a1f9ee0e7b391b0649fda1d3969eeca\n\n# tcId = 138\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30818702414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450242fe28b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a5d85db5e551e1de70233273282b66f49992b40b6fd47b0252edc06be016f926b8\n\n# tcId = 139\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450241d74a2f6d95be8d4cb64f02d16d6b785a1246b4ebd206dc596818bb953253245f5fd61bc296eeee8b245d018b8edd8f659631962ad7a1e8b5fe56cfdd0157ce753f\n\n# tcId = 140\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30818702414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450242fdd74a2f6d95be8d4cb64f02d16d6b785a1246b4ebd206dc596818bb953253245f6584953b132fbef4b8dd358a45e685bfc5f5e0611f184c6e4f9b6025e2c6961136\n\n# tcId = 141\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30818702414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf864502420228b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 142\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30818702414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450242fe28b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 143\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30818702414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024201d74a2f6d95be8d4cb64f02d16d6b785a1246b4ebd206dc596818bb953253245f5fd61bc296eeee8b245d018b8edd8f659631962ad7a1e8b5fe56cfdd0157ce753f\n\n# tcId = 144\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020100020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 145\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020100020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 146\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201000201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 147\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3047020100024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 148\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3047020100024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 149\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3047020100024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 150\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3047020100024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 151\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30470201000242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 152\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3008020100090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 153\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020101020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 154\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020101020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 155\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201010201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 156\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3047020101024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 157\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3047020101024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 158\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3047020101024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 159\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3047020101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n# Edge case values such as r=1 and", - " s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 160\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30470201010242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 161\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3008020101090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 162\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 163\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 164\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff0201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 165\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30470201ff024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 166\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30470201ff024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 167\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30470201ff024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 168\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30470201ff024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 169\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30470201ff0242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 170\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30080201ff090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 171\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3047024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 172\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3047024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 173\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3047024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e913864090201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 174\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 175\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 176\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 177\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 178\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e913864090242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 179\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3049024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 180\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3047024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc01", - "48f709a5d03bb5c9b8899c47aebb6fb71e91386408020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 181\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3047024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 182\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3047024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e913864080201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 183\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 184\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 185\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 186\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 187\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e913864080242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 188\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3049024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 189\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3047024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 190\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3047024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 191\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3047024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a0201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 192\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 193\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 194\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 195\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 196\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a0242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 197\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3049024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-", - "1)==0.\n\n# tcId = 198\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3047024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 199\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3047024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 200\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3047024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 201\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 308188024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 202\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 308188024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 203\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 308188024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 204\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 308188024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 205\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 308188024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 206\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3049024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 207\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30470242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020100\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 208\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30470242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020101\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 209\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 304702420200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000201ff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 210\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3081880242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 211\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3081880242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 212\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3081880242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 213\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3081880242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 214\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30818802420200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 215\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 304902420200000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000000090380fe01\n# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA\n# implementation does not check boundaries and computes s^(-1)==0.\n\n# tcId = 216\n# Edge case for Shamir multiplication\nmsg = 39353032\nresult = valid\nsig = 308187024200b4b10646a668c385e1c4da613eb6592c0976fc4df843fc446f20673be5ac18c7d8608a943f019d96216254b09de5f20f3159402ced88ef805a4154f780e093e044024165cd4e7f2d8b752c35a62fc11a4ab745a91ca80698a226b41f156fb764b79f4d76548140eb94d2c477c0a9be3e1d4d1acbf9cf449701c10bd47c2e3698b3287934\n\n# tcId = 217\n# special case hash\nmsg = 33393439313934313732\nresult = valid\nsig = 308188024201209e6f7b6f2f764261766d4106c3e4a43ac615f645f3ef5c7139651e86e4a177f9c2ab68027afbc6784ccb78d05c258a8b9b18fb1c0f28be4d024da90738fbd374024201ade5d2cb6bf79d80583aeb11ac3254fc151fa363305508a0f121457d00911f8f5ef6d4ec27460d26f3b56f4447f434ff9abe6a91e5055e7fe7707345e562983d64\n\n# tcId = 218\n# special case hash\nmsg = 35333637363431383737\nresult = valid\nsig = 308188024201c0832c973a455cac48a4439659aa21146036c52ec1514121c66714348a1c0e2c7099a2466d9acb49325a0cb509e5dff2efbcd90369d3027cbb7dca58a134278d05024200a426c063ab5cc6af20dd1ba8a519fac910183561598e67c0929e25f9c3aaeb245c5647fba21e30c103304dc6f49e6dec68a7833533e4e5448240bde023fe201eb9\n\n# tcId = 219\n# special case hash\nmsg = 35363731343831303935\nresult = valid\nsig = 30818702410d01cde64dda4dbcef1a9b924779598217b97eb688d9b4a4fd20d1b81ff0bb870abff1b0db6dfc3762f27c3954f230a7933d9ea397a972caac5ed2183ec72716c7024201c6530fb6b913005f81e156be89b3847701829fbb310d8a4c761212c6d2f8750174f2bf81c238fdde4370fa87de320f57dbed96691af45cb99f3daa865edcdda59e\n\n# tcId = 220\n# special case hash\nmsg = 3131323037313732393039\nresult = valid\nsig = 308187024200c009c74ec707252325d78f4e7f14be28f56272be17c0c18c90ad4c07322cef4eea444c8feabf41a213e3e846f8ac8bb7750d49143069cd01877d530bb981f1a85b02411f1c27ef97f434a8c2ff315dd39d909709775bb3c7588243bdfd8f7c866c49b3369719d5b74a47924bbce57301675e2baadcec438e07e6d532aba664253ab09550\n\n# tcId = 221\n# special case hash\nmsg = 3131323938303334323336\nresult = valid\nsig = 308188024201d3b17a34b19d134773988c434a9fb7f22a57dfb4c4bcca031e213e1b9a56db0ecb2f3c54cf9b1b6e5981369652de37337a7a7d7ddb54d67b067bbce01fd7fd2808024200c90317dfa061122557eb3899939924a8ea3cdd886e0f2e5f2c384b65b1a40de5f00fd9fce889fc313a6a9d5f0a9cd3a7b89b7ba8e97807031f3d1e3f9c103f0a10\n\n# tcId = 222\n# special case hash\nmsg = 39383736303239363833\nresult = valid\nsig = 308188024200cdca5299e788600a3ca5938d4a4c5f42b5eea3cefc990e67af95a4449aac0ab50e8fc4778efa497223cdca07c0e5a5920110f3a87afaaf265beadbb91c00d13464024201a92b9a5570b42f91ebc3d8ba272db9241468154783548d3fcfb6ef46c9e037bb6217af0a31ef952c27604629ad5775e7695c63efa138cee8326a51c1b04d0c658f\n\n# tcId = 223\n# special case hash\nmsg = 3230323034323936353139\nresult = valid\nsig = 308188024201660b0ed15d5f63044cb189e1a405bcb591c37217d0e000008614b152665d5bb9353a3826854a8bc6ebed423b15680e4340a00701b17bae24bd399bcff7e0438bfb024201c47f2f5c6143d2eef063757114aaeb27827b6a8f675d1825dac7f4548cbf78a37eb9621a29e9b14cf61fc6ae49e7e6e15350a4b90a4a897ff69b0c59b69508ebc7\n\n# tcId = 224\n# special case hash\nmsg = 31343531363639313830\nresult = valid\nsig = 3081870241364684856c7c02bfb2ad2de603d10883ca93c122d4cebef276467a9b7620fb530e4d05d07c15ab948b9ce7682561307913b64ea6896ece1095dc64369f1a9d5c0d0242009e6db2ff96d9d71150440fd44992656ca118fcaf6bd04499314e8ba61a55a8790aac023ddb68600fbd7ed4cd4decb176e8bd7822ea31d75adcbdaccafcf510c26c\n\n# tcId = 225\n# special case hash\nmsg = 31303933363835393531\nresult = valid\nsig = 308188024201a317e49014f1bf3afc09cc048531010e2144b662cac657e51b32bb432d274a730b535fb2de66fa8ddd26faa3f46e004389d25517c56e7d8a1d39563b0e8c9c215b024201ad2e1212e1680b660a1c07f54addff575c8c8298e26a14c516f517fb5f966a2b383aa46a483fdbfa72711d60c0f67a2c03d63d2626ffe271e0ce353a4d4b09bd5e\n\n# tcId = 226\n# special case hash\nmsg = 36323139353630323031\nresult = valid\nsig = 308188024201c09b29fc4da04e9b86097bd6d6806aa969ceb37ce52eeac5e9518d27541c3f30c00f113d9dd3b007dae6f381896d43fc6ddfb3fa256a36529b054e416ed638059902420113e5622cb1e4c4bb0842f3d396d7e660241116e94e8120a602e3d2952701b1a11415a3d8c503adced160450fd13157ad147d2d65d77449458659350e20a545602e\n\n# tcId = 227\n# special case hash\nmsg = 35363832343734333033\nresult = valid\nsig = 308187024178f4a2968460ea8f64a938b3a97c914eb0ccfa94eb08636efee9d5ad8668ce1c9099573abd146df9e7b2ccaaa1a25de903f85962849356a872e88e545babc28974024200f2729e9593c9fcdf5971b21e367ffdc87aa7520393527c6f68ab512b88b839003c1c9952b04f2dc74010a31071ee20a9fb1c7e1187d04de71b3f4327df128ccd43\n\n# tcId = 228\n# special case hash\nmsg = 33373336353331373836\nresult = valid\nsig = 3081870242019faed147a76b65779d0989e1300802844c9ba09f338c5e31a24d9ebf8f0b0b4c21f59d369ac10e315fa2b7605b0f17a9c07cf6ce4c83838e58333a3390142d79d002415f4de71fdaced1e8da86efd47ecbdac6a6ffc6d69df71da7ceb5596475cdfecea3d00f074d2de89e0fcc05e3231d531f0d38f2b7c6fe4ecf67a0cdddc21d0867b8\n\n# tcId = 229\n# special case hash\nmsg = 34373935393033373932\nresult = valid\nsig = 308188024200d0b144350a2128f042bc1a27f6c021dad1ec031be8f1d8304797f9ddcb742974aae209f014980174b9d4e434e3f53247889d2da4b767593179cb4eda47e799643002420184d3416dee35ba8807703a91ac927096c10959a05cbffd8103a93a9f20a11537bed7a645f32295e4abce493579caa4e2242060cc4d58b2414870e98b9336795787\n\n# tcId = 230\n# special case hash\nmsg = 39333939363131303037\nresult = valid\nsig = 308187024105257a0f45ee2ae5cc30283d23c47c96f6deaa3ac1473e8e8a40eaf61bc4b0ef8bd18d11983f257ec4b1d8d04e76a122b5bbe1d31065159072c58fd9bc3e98376802420122dba50d0eb71bdbf092a94a7ea280412906e1f849e91dbd5d8158e3fc6cd12e20461b77653e3df2e45b86883f81071b33651ae1b84cc8e7c365ab8d6a36d1cfa6\n\n# tcId = 231\n# special case hash\nmsg = 31303837343931313835\nresult = valid\nsig = 3081880242014f624af9d8096fe7a290651d23ab260da64e44b886fef4f3881d0d984d3b387fddcf65b1fa1dbb239028fbab4a1de6ad150cc8a4e4db0a971bb8bcf01c4728ff9802420105e3b55db0141c06d9854096cc0f73415dd2b85a331da50cfea3bbf648bbf8651f61f2cd09386b62fbb8ce67248683c260894d9ed54d6667ae02978e38ab99320a\n\n# tcId = 232\n# special case hash\nmsg = 33323336363738353030\nresult = valid\nsig = 30818702412c952d7e61e1097cd7f709e62ec486879b380b63791c146b545c064e65b3060250d00af279cf15eade67384b28594db542845fcc6574ef5d8d5bb8a162e0350a0002420135ac6d1cc05b095fbae28b652fe5386b8689e21a14990236d3ada7ceeb0c12a4f774bff7b81c8d07572b0c7985364c5d31f33271f0ac3a2afb88b46bfeefbaeaa8\n\n# tcId = 233\n# special case hash\nmsg = 31343438393937373033\nresult = valid\nsig = 3081880242017919eff78225e1937a921f98f5d153cbffa03929819f228ee013f8e59549b04b9867006a8df25a93a6a25dd1d3f540239a8ed14047ea00811da9305ec515ad000d0242011fb873bdae1757801e575c5df62cf82a1881af3cd6ed17dc50edbe6c5fd0f4d31766670b2aa572a9e6547b36142afa8464d0be4bf41930629dc04c85e01b2ee8e2\n\n# tcId = 234\n# special case hash\nmsg = 35373134363332383037\nresult = valid\nsig = 30818702416ac9b370067b13ac2b57f35d6d9b1faa93b9b068ef5ddf8bde3a54024810aa2226560065b0cb7501df96b4756ce1e1fa607f86a942367894a1f7728bd5f22cf1770242008b47a9e1370c9f5bf4677d554c00e9ac3ea7cdfc78836ac53ac710b7f3bff8c2297780c69a9fddb80e03a605e5e48a52e52fd35f41668cd9064886366fda206086\n\n# tcId = 235\n# special case hash\nmsg = 323236343837343932\nresult = valid\nsig = 308187024200c4bcfff265cd32442220976ffc7e4ec09181d694696eb89af0cb2d5a2dfc3876deb3c6adea168965200c355c3bff5e47ab17ecc44c8434333280796d3a183449ea024162debe91550f8a760eaea309f48483c65a52c7e88a83867c31730cbc6b0a64d4c564bde67e6539af787ecfd18016cde46ddf91740f58f6ea6ec80b173fd1c47ad0\n\n# tcId = 236\n# special case hash\nmsg = 35333533343439343739\nresult = valid\nsig = 30818802420174d744ddc631fcf8202fca0ab10f6d96d3f7552bb2a9ae5ac573634133f61c59a120fedbc39cfb521ab0cd572afbd5147981090d1dcbfe902e03f0c0579967b5810242012f59ca927c4ae331d2f667fcd9ec01b0b5514e2ab5da0561ea614431dc1fcb761c351cd1211092720ebb7074a5128f8019b7c18e048d5ed3573ed61686e9713f72\n\n# tcId = 237\n# special case hash\nmsg = 34373837333033383830\nresult = valid\nsig = 3081880242019a513cfaf871287340d8a51d2f4348ab4096c5fe244b22add38ce433e3178e8ff5b2df0fe74a1ba40fe8341f734c71f9a1177b41035777e2da6b082e0b566690de024200d0c43eb33a817c3aab30281c593c74517ee84e958b114395ce0b31fcf30bb8f5dfe60dbc7f6f14698977d8e0516a9274a5bd71847057e006fa315fae6922eaaa55\n\n# tcId = 238\n# special case hash\nmsg = 323", - "23332313935383233\nresult = valid\nsig = 3081870242013204800efcb40ab09ae4137325a3e8c468edae91880a51616ba61f3ef1f72fd89feb956bfb39818d827468bb4475110a04779fd6bb3def25c61c4ba60889ed0ff70241704b7394687698c8841f4875d40e5b3c914f154ccb2b54466ae163ed3410f20d0a07ac5f90c0c31271ec8a524ca2dae4b8bc4f6e1ece173ea907890693c5f2190c\n\n# tcId = 239\n# special case hash\nmsg = 3130373339333931393137\nresult = valid\nsig = 30818802420180241cd2e6163158a39599890dabee99c2c86b88accd2b04b5a72874fbdfbde0d18143c4d78e0da1abf3796b238738840d60e34775a8ff810d58a9bb3559a3997c024200bc396c2ef28b244fb8e004bf5361572ba1fef6fbe081ed1dedba4d9af78deee126599f75a0a9d0f1b1618ded7a0c5e672e40917fdd30582460da3aeb1e9c4477d7\n\n# tcId = 240\n# special case hash\nmsg = 31383831303237333135\nresult = valid\nsig = 308188024201485fc03fcd629fd4c564775ab6969bbc696b5b0f38141b69f86e052e7fe8849a64af2dd37a2adf64672f20bd6f97cd32f0efea51aa22064c5f10a3911177e1979d02420180fab473ff9d726db6d266541a0bddff8610e4026d26b6c9abf972eaef477d50670bdd3067c9d711a8346e16869147751e89b4ea75bb00ece71300cc3b80cf8899\n\n# tcId = 241\n# special case hash\nmsg = 36303631363933393037\nresult = valid\nsig = 308188024201bea49b150a27026fdf848297b0491019f76abf90f3e6d782e3d3fa6caddb81b7ef58b27f1b2b3f7898889b4e2b6cdda7b5636177a27eb9a67b2055b6f21d262c26024200dffb13c2d5f746c8573aa444afc8baf8bf881cc4d0fca8169f6cb304f400eb3932666cd3758c437c9cad79abfd89c72a788505763aabdfabf8903ad4a70d9ec9f7\n\n# tcId = 242\n# special case hash\nmsg = 38383935323237303934\nresult = valid\nsig = 308187024201d56bf6f3758f627f470706d1d28c28fbfcad6dc30465cb285a274fc057f791de73ac30baccde044473fa9e3dce6d395eadf98d1f97259bd851a1eb6f3d31d2d756024133704b4ad37300a96682569f4f7fea3e14d6e1f65864663f39aa67f40b5c949f198d5de9f2ac2369bbb9111c89b393199537c6c08ed7c02709c733ef7660113d53\n\n# tcId = 243\n# special case hash\nmsg = 31353830323334303934\nresult = valid\nsig = 308188024201554035ba84b051d50901c622b98be4de0123a02928dffa7eb13b0403fd5e255f226505e15694956a66a878ff581173d123d1b24eaa85c5fe46d8973a55040ff405024201b016dd6b5176ad8347eb9802dd7727e06a29db33cc946f809a42f9193040692b0f82ebbd04eff9f099b7f75f8e45e74ac00a51a9cd4f2cbf5f03f4d2bee99c24eb\n\n# tcId = 244\n# special case hash\nmsg = 33393635393931353132\nresult = valid\nsig = 3081860241293e8d6775f3c14183aecc22f608e9013d7b15dad167bb38a1dfef6b373619f1ba2751d77b43f643f68643cfdb5c04a8ed858bfcf3858a681ae93bfc7cd7e3143802412c7d96db7dbbe347bab9f6f7b88f48cb32ab963248737d2c901b90d64591cbdb0f0ca7a14557f8a50fd80d402f929dad141141f1f0c85d9414b32d1fd4d796e6e7\n\n# tcId = 245\n# special case hash\nmsg = 32323838373332313938\nresult = valid\nsig = 308188024200b16a9b3aceece85908125f96f6cb6b1afd0ef04171936b3766f8e43beb340d382084b33439f775a29a83945da8efc4190db1343e87d8c0ffb97aeb3be159d90f59024200e5c2bbd98e449bd0bb4f75a07f1a88dd63c0602a7660f4acd33937c4913a9c16ba44dc5808892ec88a4255109a7bc5b221c07e6a278888a9712fc2a25b374427e3\n\n# tcId = 246\n# special case hash\nmsg = 32323330383837333139\nresult = valid\nsig = 30818702413b47a8ed52f5b0566365313520bc0b6e4e4efb3ea4176ed7a352c4b2f8bffbdb0148ff44f3f13d9e5e31b1cdeae097574aad8bf393c54a5c842e749ee87a74c6b0024201d3f484e9e224bda9c8f10fbb74bbb62d7a18245707f4eb52f17dde793892c16e4bdf504960fba55da487f542d412b1b833f6f46336118618fcff69469c83963777\n\n# tcId = 247\n# special case hash\nmsg = 313239303536393337\nresult = valid\nsig = 30818802420128b8988bfe9287f82ac97be507a544b823e85cc2813b6929e63699cff85a40283076028e7bf8d24330f89adb96bf24a4e183a898e679b36768909574e7d4733d61024200c18aae44e6801fc2e3d9c7a20ff9d42b46e4a31ca37772f8c46ce65219b195ca23717f816e1fed51e5b6f9a0ca12c3cf81ae7fc9cc6946a88330b2011ddd160930\n\n# tcId = 248\n# special case hash\nmsg = 32373438363536343338\nresult = valid\nsig = 3081870242015edf1fa95b17159f762d68c1736101309e80fe5b2c4415609a5ac0837fe5901f3c2d3d826a43b1f8cd1babf494ffd96cca1267950188a924d4e1bf7f68189f27d302412e8697efbbf53adb7cb1b904718fc71eb2561f331c209c50848b5bc50bef77c5c3487d285bfaa3caa14025cbb71bdbaea6911e3610335641d2799c3fd75019f716\n\n# tcId = 249\n# special case hash\nmsg = 37353833353032363034\nresult = valid\nsig = 30818802420161f64bbe93fdc0e61134cfd4c453ab740233b436179351aa68a3e38a83400d86ff464d7ceb7a51f541b86eb2f12e32a879b3a29bcb92e08cd50e74f86a0ed52ae90242008f6fef49ba12ced6696f4f6d24e6c68057a84496d42eede630199e9bd06d91363542a9776bfcd6d77fbae422e80fe466edd2c2c5e1f5cc79bedd1a7becc1a12660\n\n# tcId = 250\n# special case hash\nmsg = 32333237373534323739\nresult = valid\nsig = 3081870242013a6faccc1c06cb5dadb2cf083cb94a7181fd5cbf3954fdc430c2691248fcfcd13767e32491f00269b549cae93777ced0f7b069440726adde7605d4038d7b5ea4cc02417622c9065f4c49a6f8649073dfc6a827b897b6984176b1a09d151b9733a68f6da746c47427cdeb3be075da4a351ab78dd5e472cd98d1586edd6ff2a11c6c169fbb\n\n# tcId = 251\n# special case hash\nmsg = 373735353038353834\nresult = valid\nsig = 308188024201899609e7f7cd2ef14bfbb1cb9ba9283ae11a9346a34bef23b1c249da2e76a7708e0f2f97f819e4e25b0d5227eeb85aa593c3fae9398a7020f61ae1606945d13841024201b8d5e9c4f030295447106d2b5c80cc2e7d4e36b458a90a08f505df62d2234e59d08187385ba5501049b34e12ec92f7839a18361a52a9a0b6f6a664b118680b53d7\n\n# tcId = 252\n# special case hash\nmsg = 3137393832363438333832\nresult = valid\nsig = 308187024201ddc69d1508021eb560db39f3add8a28dd7fbce417e5fa1f4f626705caaad72b634868d01dfc474e926c97927c56ac51f9bdcfd0e7627be35cc300a0cdc083b00d402416e862caf9f2df11b0a46104e78865fbbabe30bfac0b1fe7f99badc11746a288c1ff27f6fa2aaba6441bab0372af906eef083ff03ba466b896c9344cd396dd46dbd\n\n# tcId = 253\n# special case hash\nmsg = 32333936373737333635\nresult = valid\nsig = 30818702420117fe2c21f282c7e4a8415e9c53c254514eeeb0adadc771adbc6d21a09add4f17ea0c597469488238be795f2e187fa016d590535b4ff10c62d2246aa17bb013f9ee02413c9f1590ce7a68fc84c617f478188e71aefe8c74c4b9979b8c9196bcc262205aecce5fd2bb80c360d3e20da20e36c5ab70d810d4ba97d13858199d3a1c9c140c63\n\n# tcId = 254\n# special case hash\nmsg = 35393938313035383031\nresult = valid\nsig = 308188024200be6b47254a3cf93e2e276adfb072256404744070d6dec83ef34e3e6c119206422bb275e61fc47053ef7b2af9e33aca8f8b2e4938057070eb6ebbcf82fabb44a5fe024201061ef80935ff6d0e9f87f3537b639945acf50c5d97d30b4b9c347e3f5f5ec02b15a376ae754d64b2efaa811b3d12a0fff0bc689022025dd2f69f2f4b40dda8687a\n\n# tcId = 255\n# special case hash\nmsg = 3136363737383237303537\nresult = valid\nsig = 30818802420130b6fd7dec5cb6f90a8b54ce7b58c61b013d0aed7c4a26639de80aeac3d9e3388e9f87e1e6419d3f0339af324e1421b5d130317ffd9d8be36500a84bb41d026cea02420176b460a3eae01d8aa8ccffb0d6cf4d1595aa697c65510a1197b97343c1a6234552ce9d6d318c5f20f48bec0dc311dd62eb40058f3cb22fa958edaf9ddded191a08\n\n# tcId = 256\n# special case hash\nmsg = 323036323134333632\nresult = valid\nsig = 308188024200a87de42d827ae1f55d6fab3277c7a9fdfac3af22fe47e52bfee34fa1ee3e765095fff20175becbdc94b4a5ad3a149ea7c1bebf4d45370e6b4404a0437d8fae264f024201a3c1c5186d8aa491b4623f5765a388930f37bb8f3e1c0db508983585b9090b3aaf22bb846e0fb6d915b5811ac55e4d6cb08f605cb84deb55ab7fba2dde8736b1c4\n\n# tcId = 257\n# special case hash\nmsg = 36383432343936303435\nresult = valid\nsig = 3081880242010e46055d9aa087f1c4b6056319cbf17a0694fe073266a3f30363030e345a4bd461acbd99d1261fc05ef3c9a1c37afba6e21c2d513ea3d4709de5586810d7d29ec6024200d0c95c7e97a94efb44aa717cd6ebe82de0644e32676d197351f128ee8d2b223ab476d3e66014ecc003081f7040c578b8984628d6ec80733f713e26b2c98cb4ede1\n\n# tcId = 258\n# special case hash\nmsg = 33323639383937333231\nresult = valid\nsig = 3081880242012c04d08a7a2d07403aba604ea85ec23a52b52786e7fce04170e867be6146eea75a7180f5d4f3b82a204a3c996811a1e61a3e76ed209c22428b35c51fe60f3bee1e0242016f2feabc25733b0a460463b9933e6e4ae9f4124cd0ad3785c77755dbf0848ec1cfd2ab08b960b556870fa00388d23d9a9fa3112ac3e62a0f342d58fb1f0aa81748\n\n# tcId = 259\n# special case hash\nmsg = 31333837333234363932\nresult = valid\nsig = 308188024201ca9532c9daeb80d0dbc07a4138ba62a6bab8c88b9e1e2edf2675132eb97cfb26f4c395f3b9d1d1275694956b34c3ef72cd00bab86777465b9edba29a41b0114c6202420140eb6dddff253a7ff5b032d82fbd18e481a376fe242f6405b81b57165665c9bfe61e25cd3358245bdfb8de7632de72ed20cdacf384764096c8fe3a376563a348af\n\n# tcId = 260\n# special case hash\nmsg = 34313138383837353336\nresult = valid\nsig = 308188024200d609e1f1cc1adf5889dc6deda441682e760be08932b31592fef3ada143fb4940e4ea75ae519e4fb0769c4fbd33a52b183a21d0bba1ffa3fe50fd11f75c6ac58ff60242012400cc4ddc24ddcd47a6d639a2abdef29a65d4fe9175f51b316f4bf918bc918879495c572f8e98364", - "e2e1aa0d4d53ad29e803a4470d94dd06a982a1d041bf2b5dd\n\n# tcId = 261\n# special case hash\nmsg = 393838363036353435\nresult = valid\nsig = 30818702413775a7e61bdda9a3a990ba9fde98f9d81d4b03195547bbd0658e1059daa00da9270671b2fada1bbbf13982f87c9f3f26dda5cd4f24de63bceb5fd9390163c58d260242010a03e4ba08f9e2b6915a6c0b83156b00f59efc5417394c51ca7616b58cf91ab7166d8459eb4eeb0d57146ed6560e173faf354b4390817e0aafb38294df25992cbd\n\n# tcId = 262\n# special case hash\nmsg = 32343739313135383435\nresult = valid\nsig = 3081880242017ab00a30c88faeced3e4a10f9c63785bc29e9af4499466bd8880827cfa580b6171f4a20f36487f7b94592946bca4162faf65872af6bfb1919e6b026c14e51e2740024201927515f6489e9b7d9cbf61e103295857c8131320217e7a86d3f2fdcb350da5b42c2dbe173fcb025d14da239d7d610de8475914748573429c9590d3594f4fa3aab3\n\n# tcId = 263\n# special case hash\nmsg = 35303736383837333637\nresult = valid\nsig = 30818602413b2ba1509aea9d42d400400033952a022fe7e00c7ad65c39a2f76d41130aada99c3cdfb9cf44575a2163de29f097beb9bd3aef9334e6fd0813dde2a087f938c5f602411afb56087dfd5cb4fff6679a114c340f3a59f6b3e1813373bf3ebe30cb5e8b285a5875d1b5a9120db80f70310201559f89bb1df147961d1ca4fcdb5e8e84cae082\n\n# tcId = 264\n# special case hash\nmsg = 393838353036393637\nresult = valid\nsig = 3081880242010efb321a347625343f5126ed8545017d799eb103c75558922eabe44211e8fd834655dc2ec5bee9bb3e44350eb6885e0ab974730222e55f13ad27c066722fecaa25024200d62e3d7ff9215369aa7da818db302e49033875010b2f9b73d25ca5b9bf2c62ed756686230cd5f4a37c1fa881c97e623919fab827de5995ab456a1fd7ac7b85b1f8\n\n# tcId = 265\n# special case hash\nmsg = 32373231333036313331\nresult = valid\nsig = 30818702412f778cd552f54da5f567f47e6979872ba130dc0890172bf3b3bb952f03c64bc8783abe9f056d60e1667780f5ea88f59ef33c735d540561a197d31fe34853a60a52024200bd2816f06372f2e3f2582d53e583e133a551aaec04ddc2fdb7b8131787e73e4295ac28a9604a2402ed5b272cc03be57dd4a7df84d9ee24cb0c2bf124ed927defee\n\n# tcId = 266\n# special case hash\nmsg = 33323034313031363535\nresult = valid\nsig = 3081880242012a459fffea70d3bfc13e9ea0abb10aae3910df604997cb5e4bb0548abd852abac6b9a32418c3b5ed4e7951ae88eecc0a2f1065caf24c6a814674e95682d9b493f2024200e2abd05c585e0c213a219a7e7d38b810d252ffea67650d4d1994a41c2ca325bb964920c6c2545381c45ca3e1eca05e00514b366cb0e1e49b8c236d383b260b9cbd\n\n# tcId = 267\n# special case hash\nmsg = 33313530363830393530\nresult = valid\nsig = 3081870242010f2653d94aa28bcbd667a5013f9b283d8487c44d093ee47660329398caa550ca9c9388c7aadeceacac1507e76590afb736adb3583f54f31ae25c9c717ec9f89b5e0241494448a7ffe4a4eed84b4602781ecef77a23fed116b1b791b8d2e4231b7ca2a7b6f06d132705932d446e61d344714ee24014fa5bb144a96572b3d48d038a55ad68\n\n# tcId = 268\n# special case hash\nmsg = 31373237343630313033\nresult = valid\nsig = 308188024200c2da48552c39d94f5a45427ae9dcd891b65cca33e624ad2532ffa333666b241d873336fab7bbd7b4c193db4d865cd50f0c1d8cb5c14cf3f089ad42dd43cfff634e0242014f2070dcf860b96a45f2a6061e4ec2a6ad64d7d0e9fbdb25aa93b99941be280f5c70c0e32b6234df545bace7341af94c140c865d44fa8ea7ebe0fe53bda44645df\n\n# tcId = 269\n# special case hash\nmsg = 3134353731343631323235\nresult = valid\nsig = 3081880242009bc6e74549b48a1e7c181b179687fb27d6e9acac47ec34b1b8bd044d329320544e4e568e67d17f4cda2f0a3fe303d561a11fc0c981ed9be2fcc6d397a43ad49e10024200ff295e43fec5b68b00ce8044434bcd17af1ba04a74556353e258d017ba26bed67f458fad5dd8e7d2734d56f59928c2419441a9e8c0573db3586ca056951ca935e0\n\n# tcId = 270\n# special case hash\nmsg = 34313739353136303930\nresult = valid\nsig = 308187024120963638d0b058494254efce57778ac65e5f23491f7adfa72e4713b7c03946b543c014d9660d855246f308085eeee495cd831b7dbece47aea48e90433bd0fe818402420161a4f4977fecae92d4f67e56f3338c7a9b820b5e05db1f28d05d71f7e5f36bc63f6edda4d3c1b2d73bb8a30c4d745b73e634ef574cf47656a372e3eb42cc038850\n\n# tcId = 271\n# special case hash\nmsg = 35383932373133303534\nresult = valid\nsig = 308187024201bcc5858597ce8d4dc5ffa6be33f7d804f2f8ef59c5db9301785e0cceb7ed57462f455a465710c7414570c9a35a3100bd15fa40e3ec350d1f75406c2a25885e9d76024143757d282fd1d44c253f9a05d8142c29a6d63c0a1f5508431bc9fb9b60a38b7f414e730e0d59b7b709706a67022e1922fe88b182a57443c58bd06a69ee7814bcab\n\n# tcId = 272\n# special case hash\nmsg = 33383936313832323937\nresult = valid\nsig = 308188024201240120b97ea67bcbd0e412d87137a13e347a870a2249375fccf8c004da35e592620774160e7b82aed1f57997fb015a764d014d4be1f389e5499777054576e7bf000242019f157ec3a2410853274bc4d8e7565e9eaa5dc47d5e515abc86c22fa6dc215482df5c0e2b885f37baef3a6ae83daac930617a5fb37bb03ce40f06fa4ece26cbb11c\n\n# tcId = 273\n# special case hash\nmsg = 38323833333436373332\nresult = valid\nsig = 308188024201a7536d55876f8392a6eba18f075118c273015844eb3536c727c004c1bf23067d57e8fe31872f8bf839640e80e06aba3c0a365a268cabc2da96d84550a569f17f9c024200e840b6a7cba718d91103faa134c2f63763f3b6b91db7ecbd3b10f10171a875712cb9384325411beca9a3aa87aaae3902c282d2dedaa1cbddd40ccf0d29975df22a\n\n# tcId = 274\n# special case hash\nmsg = 33333636393734383931\nresult = valid\nsig = 3081880242013f72be1c331214f45007ff72ce54afce1c910a90e4ff3d176620ff3ca976c2b62d0cdf5d1134290ee97440715531455dc29818828094d366f959e1adc7d7e98ea4024201e80ac38ba69f3e53116e5432fbdb3b1e7ea1b43e5f86d1c0e3d1c469442dbb406ffe524f0685f71e811d94a9efa9ed38ccd9213f983983035f2add0b8f2fa4ae23\n\n# tcId = 275\n# special case hash\nmsg = 32313939313533323239\nresult = valid\nsig = 308188024201aceaa6d567ddb39ba52d297e60e4a814c9b476cab568c09d8ace878d846218dd2b5d2a2461f0d5a56c12f0bd803e3253dc5b387b94e86589cb1d0cb809c7071125024201b1fb021b10b593cf9e793cf22a88bde9a4b92f9e218094f270b093e8c6c95aced43d097bfa3354e6b98d195c599c2e6f13351c63c28967e08b7e497e120665c663\n\n# tcId = 276\n# special case hash\nmsg = 35363030333136383232\nresult = valid\nsig = 308188024200f6ffb5dd786326041e74564b719d38924a28329868177c13463cff90c4b09d3d2dbc011281cc78aa0e5e8656123bc50605601a547bb4b1761f852a120ea46df9df024201a407fdd445614a16a5ebd4ba075c6c1d7564f3cfd477d6b2620abf18a5bf78311282ea45b9bff813f24c3c7854e6091c8055144f9592fbf2e456421a41c555d7a9\n\n# tcId = 277\n# special case hash\nmsg = 383639363531363935\nresult = valid\nsig = 308187024201a15af4d5ca3deadecd75ec1baec31c8d43fbc889466475e6c23106db4e63ab69003f56d819ddfc5a673c8289f9e6df806b07af57a2541af694e6489734c8eec837024169c35433a3217fcd738a65b7da9e81cd81f04f0ef060050b9c843e9e808d8b8175f3adaefa105d215ea9a46bf415fe2ac180958fcdd878d54f8d19d23e11b76d1a\n\n# tcId = 278\n# special case hash\nmsg = 36353833393236333732\nresult = valid\nsig = 308188024200ba899f94841db6c33b850867c8906b436be3853640dbfc863197fa1e5a55ce25240f2be498b9bdcfc0a89dbdca192d8f84ca3c44e5e0ee6f83e7900e085e1bd48102420086e6d558de8d8f014a85cb4a5f6908627e7a1acd70581d9d9c7d14df44d437aa09e5a10a0b760e98d46731f2512ca1b0240c602b5f0a2030485e34de9c6cd08e7e\n\n# tcId = 279\n# special case hash\nmsg = 3133323035303135373235\nresult = valid\nsig = 3081880242008eb5c92dbf5e00888b85e6bf6617017e97c04ae950dd731856b9dfb20e0c0e5c54284f411231fed1d071b321f78618d2a75c139663fb9db3435214cbac5a0dcb4f024201da0dd29d4728fe6331c8e2ade5045b1237664aed157db2a6cbdeaf5abea81324e28920a1c49c334b1226441f88e1a7f2c7e01d63e950d4378f08973db16b2e6161\n\n# tcId = 280\n# special case hash\nmsg = 35303835333330373931\nresult = valid\nsig = 30818802420130779f943df098ddb5315cdca4b731c83472d589f4ba4d32c172faf6b3a9e4154c0517fcc5c432eb269b0152297f6df490ece59496bea8047e2f32d0b5f91e85ef024200c9eb0b56273114ce2e553341247da86b813bfd65f143a5562bb1c874ff970523836bcdf390dc196e67dd75cd28112ef74afd51b1fb35333be0505a012efebd4e22\n\n# tcId = 281\n# special case hash\nmsg = 37383636383133313139\nresult = valid\nsig = 3081870241593f0132f7b5c282355978a2cba73fd3bd5ce3272066d4ad9bd8bd8b3e2be0990071b3509ea445dd155cf97e294e2b8d1355809d880e10700eeab0eb8ebbaa4f0902420107eb3d5ed75cbb9bcb9278f2266c14c57cf703cbd8f7c7de45c51f0f3baf1dff6bb92f1cbf89ba649677bcdca776fc57f587ce714e2e43e6cc523f0d0a286d38fb\n\n# tcId = 282\n# special case hash\nmsg = 32303832353339343239\nresult = valid\nsig = 3081880242016ded17fad10f945e3d953b4fd3b72898c370f15164bb7712673385c10bf3929bea293e08bfc30029a465138ad47abe604df807b31707fef55adf3e104920038e3b024200b76b212d74e4b6eb994d926e9e796975235fad90e339a21a329e6eed3fe96b6d3c0d5426e8464c4a9ed5cbe08eeb5e490f72e9e0406c0d76ad076b476d07c0144a\n\n# tcId = 283\n# special case hash\nmsg = 3130303635393536363937\nresult = valid\nsig = 308187024201f8624ffa5a6aa8d9d04ed1c2272ea55f5271ca2cfc9aa6a3778a0b8a230f611e5d65af18d8251a0cc4ace663878c33205239ee7e8388cc0a040ea5151507", - "2e3f6102412c1e61197229f40e840ea37325f3bd87a6cd32d080bd61bbde4b072cf7a0c8a89d402cd9235c26f19a084ddceb1cc0bae4006251ccbe10de3954e85a8c5efaf6cc\n\n# tcId = 284\n# special case hash\nmsg = 33303234313831363034\nresult = valid\nsig = 3081880242012b01c6601ceca9e58e8abb85d1f6663df70cee761a756b77e45294f09ae609a6b76cfcd67f60e47a3494cb85511e33d92a8d297a1b89e9a9038c0c5b78c3a3d4ca0242010ef5d2fab59bd42e2e92a2fca7a975b959dfb372519330defc8fa8954bfcfb397ba939edb6a944a2ce9f6fafbfcda6092cddf628801f6dd8cd40cad4d809d5c1bf\n\n# tcId = 285\n# special case hash\nmsg = 37373637383532383734\nresult = valid\nsig = 308188024201c54a330b9dc47eb88dbf60c9ee49f2c7518c0a78baf642c74105fe283fa4c357ff22931ef42f92d16d6a0b806ef718539d21cad71955a530e21cab49a56f561673024201c2cc32c5a4d335c48d0cbb0407fb7e4729c57251afbf9534c5309b94e6aae13614a1f2514252f48cc7f143ee761782f8dcebf2fb490e08fdeaf570a7ed9d287da2\n\n# tcId = 286\n# special case hash\nmsg = 353434313939393734\nresult = valid\nsig = 308188024201467b4511b9d6601da3557b8ed432c14a80e5999847be136c756a88dd5134689b5ab70d0a2e8fd8d6141e2b143282f98afb93b7e17609522dd9e64c9e4a31c7c34f024200f50ee66a1dfbf86167ba5968d4ee3506a7cffe0f521c1bf830d0867241e345d319e77eeca45858bb3062acbf8d100bc6bfd3127d57a7e91a8199e05052b8ccf304\n\n# tcId = 287\n# special case hash\nmsg = 35383433343830333931\nresult = valid\nsig = 30818602417af90f6227750f917d65b1c60200c755158bb783a479be6877c59ed89ff595fea3f3a4137591aab23826ed385bd6156277364b5d603ca272259083e6e9ab5db3f9024170842eb62c894935b82da15ca611d9d754ef57859e0c912c0358d0820f4940cdf5360f116a7547a81bf65617f182e597eb1007e26c62838487ca021c3829a590db\n\n# tcId = 288\n# special case hash\nmsg = 373138383932363239\nresult = valid\nsig = 308188024200b0169e68062caa79f99ec0c72d83c4d0fc2a1c818665cfed1aba3e684392b9a95afb82ddd1de49e3fc3cb3889b4f5a86a7bdf944361db2cfa57021a7643fcfce9502420115ec784e042436892c6cc1bede0f4b7b6eb24b300b1f0c674999a6da816dbefb2d53f90b0dedb962a085e5209fcea50311130800d2a9249d279c7bde2f88622512\n\n# tcId = 289\n# special case hash\nmsg = 31373433323233343433\nresult = valid\nsig = 308188024201de4ed1ee81d5cffcf8256a06858cba5eb925ee68e3ed848ac98071b6e30c3b44b102a2de8117cce5b4f9e42603225e0dbcb3fcc171d1492e7ed8bcb6ec286c7de0024200fd1e93bbc8b8adeb7864a2bf8e29d6f9c0966fe3d543525bf268b57cd6fa8852bfe0d2750726d5445560f2fc211aa7859dd3ee10078ef907e49cd64326b397e01c\n\n# tcId = 290\n# special case hash\nmsg = 32343036303035393336\nresult = valid\nsig = 308188024201fcafa62ee6275443d7277fc46e4c30b4db845ba45b5d6b54faf47bbf921f825f6fd0f23a38c0c7f4debc33add282afad1154c8707b6e18cd65adcb07d32915b46202420087a27b2bf3c35d18fd397e0cd7159516cf563b98441e030bfde93ceacd2c4e41228b7b33443ef0a351ce553d6d1d71c12092df796276175cd779b8090c4958b391\n\n# tcId = 291\n# special case hash\nmsg = 31363134303336393838\nresult = valid\nsig = 308187024178989628acfba86d4bf28beeb9f44001fb8f2d8e245320a19efdede31eae3ec8b496faec30c85e8f63f8ae06046fe1d1575321fa04953e460f6b1386dd5df94edb0242012aba3349732e21a5bb27d7d6facd8c7688b9d0d0271d6a077f9d6d82db45b5456b767f4b9f1a80f487031f9c0b3ea833c63fdf9c6a25e6b424c19c2e55305d7a0f\n\n# tcId = 292\n# special case hash\nmsg = 32303935343235363835\nresult = valid\nsig = 308187024114a5a46a3ba415f6e8c566ca1b15fa2055649687b1a9fc84cc0fa8631296898fe014e0d45927e4271396baa4cfb3675669b16e76c339db3c0edaf61337e8bebe91024201fb313129757f76754b60fdb1e4077f9fe3dd62c8bce52190cfeb9c03021cc92f6d7d1302b8a84733486bf769ae94d3db4b60b6df28fed481d3d7c510299f0c319f\n\n# tcId = 293\n# special case hash\nmsg = 31303038303938393833\nresult = valid\nsig = 3081870242008a3250eb5f28b598c4a42890d25f6af84082d4376f84f1717e5112a76623e6fe0d207c39463d20bb86341bc26c9f68bcdf794671a01f90465025f87a8c52137edf02411ddd317f6622d9b032223f76765ba6c9116ae4b43a1bd357bc9db6fa62f0867dc5d8f781f08c1cbd49b4424fe8c22cfd1dcd07cfde7b3598342442589825aa67f7\n\n# tcId = 294\n# special case hash\nmsg = 31353734313437393237\nresult = valid\nsig = 308187024160ee161741d5cb2dd0ff2cf9924aca0376b1544681627a31688e4d8b3b63a01adbb417ee113b9ba8d4d13b7b4e1b14b51a24dbc3f099b068d916aa94862ee081b40242015caff8d30141e1c163e3ec62b7e14874da624a6d8e0252d8e829860e5a49d3732321b625262e5c9b1ef348c3e7cbb1de8227513f320637866785e97e1931d35ccb\n\n# tcId = 295\n# special case hash\nmsg = 32383636373731353232\nresult = valid\nsig = 308188024200a1ef8229db9f45da38ae3b6d601110611e209878bbd03ac2a6de65e8402957c669a115e3f02d085fe2d031c61324b77052ab346b4b1a437b58062fb36f9d56cf45024200cc5c0a3b68970279ae16880f6ca579d0171a827e99a46aa82b9242dcc09cb0b22a44ebcfca84293e6d21aeea492f00ba3157c5b6e2e4caea6a1c09c824720552f2\n\n# tcId = 296\n# special case hash\nmsg = 31363934323830373837\nresult = valid\nsig = 30818702415aa0c8a378c4e02bcc2f56c2c365ccee424e2973c28f0daae8f4c3f0d90b421fefd456e749087e0c667c2a7147bc67b90c696244f216b4d9d7418eadc7d06ef1d2024201e28914bd341f526b041128f2d251131d8b2c65847e541d65adca3442962cddb2a71c64fae39fdd56e41686ad632f99c6038d8de0b3aac4045e0a961efdbf4c6a22\n\n# tcId = 297\n# special case hash\nmsg = 39393231363932353638\nresult = valid\nsig = 30818702415a05f5366c8b8be28654bc39a6671d1b1593495e445c07c995c3be3e168ffdec92e44288802fd455007f8746570d93b5683e4d40e9d9e59de539f0e62bc40d92bc02420187a47d8f70adcc5e10267b8fec89d7011d9985427645aed19a8efa2d1189b469cb7aab1998e0c1d2fcac5a5054d79d2ec1c9a00b183dc9af20f555a1140be2dcef\n\n# tcId = 298\n# special case hash\nmsg = 3131363039343339373938\nresult = valid\nsig = 308187024201e213bcb8b960b1296ae176993b2449bae556b6d90df2f07fb08ad8fd60e3b7fe6c73f9c8a7364417611d60119c550261c54bbca8d61e264130ab90187e27d22dbd024134f519382cfacfd07b0a6f3aca117c13d2be725d2f9ee4e5f88739c99121e63ed7358046bfb1575fc73e1ede8339e46c5139843e52e9184bb8c579061a154a0b8f\n\n# tcId = 299\n# special case hash\nmsg = 37313836313632313030\nresult = valid\nsig = 308188024200ed11ac7efb1f29ee64108a5e2606fa9af3bbc12d1a952e47240d5236df64f5b2b77a0f7a0a73d30d0708b5b23ac6d584bf6997d8851623793655dee8774549b829024201e1602a2cae7d3212df47eebd12e2fe404851201101bbde702be9d74d040ed998e79a09ebf6d055f94473b1f8d87c99aa165bdaf0a5f270d46caabb8e88bfa54103\n\n# tcId = 300\n# special case hash\nmsg = 33323934333437313737\nresult = valid\nsig = 308187024107123c45e6e9338bc9fe225cdd96c5ab36cad5c06163f44f6bd903c7594e8068ba9bc89f652ec31b6e1298766b246c1f10877f1e3ec9829b0937b8d36e3c1ab2b5024201688bbaeb188b5047be6e8023b14fb121eb1451dcb19f814f5f4dca55ff95128011e3bae505a4d22166d00cb7cf14130590335ee923dc5db3e736832a128a067aa4\n\n# tcId = 301\n# special case hash\nmsg = 3138353134343535313230\nresult = valid\nsig = 308187024201264e3cc4fb802aa221d0787cd0cdf44eb6568982a00a6639f15238af36e894b14f45f06f8c2180fdeaaac77f674e056d1928cbbdfc4b2ceca0b35345ca07bfff7f02415c2dedee6b3aa096fc47ba0991a077ef4d5df20d8eff1bf8354412b171f08a98cea1704c8189a7951b0e7a8270ccb285b8db8e35285ed926b19c1eef07fdc05ee5\n\n# tcId = 302\n# special case hash\nmsg = 343736303433393330\nresult = valid\nsig = 308188024200ca3814747888751794b0488955e2aee07e5fab4b9872074aa7432698e7c83b8079773734df1bc752548a218fa59a362e0657b77ae7798ef4a7a3873256ea59ec670242015df8f1f16611c960d56647424b97936c8a06f62dc3a95d66bf4aa378d7a9e17d2afb53565780025927e6928f5313428f1d6708339787c8f460ba18457d4c0f521f\n\n# tcId = 303\n# special case hash\nmsg = 32353637333738373431\nresult = valid\nsig = 3081870242017ba871aee34a893c4ded7a2a546da0d6867d428497b80fca7eea6e51b73d6411aff7609743e6242b6d4d3736ddcc9ee1aa12c8b62de5382e5c33d1fc4853e3e47d02415feb9d9f8fdd44622e4f9effe73fd9b467d355fd6b8de205527f722ee2f5a15eebd59ccdd7b57da26cf953f78886db5a6e5bdd0d56c9bd47ba2271f77687a64b63\n\n# tcId = 304\n# special case hash\nmsg = 35373339393334393935\nresult = valid\nsig = 308188024201840793684765410baf26b66cbcf7c36658d6c18a2f750c1225520e9f3a7c1b890583f321d4e48752c3b3116dfef733ee386c52a53402acea77cfad1db9380110e6024201b51985a306fcdbe3692181106d7d6308873912d003946992098bc98b4261fd78869ed8218849459780b6079f6899a47fcb9ea4874d1c08fab82c6f1e9c9aaae245\n\n# tcId = 305\n# special case hash\nmsg = 33343738333636313339\nresult = valid\nsig = 3081870242012276720b2725ba556d06be39cd16ca0a0351d8f530913c4f0cfb71fdda74b83f02febddc8da0a1f0f910d37d3f5332c027d7bd4c38fd08ebc770bf1252078649540241637e70b06045a86e2f329f907e079a785d7f8649541860322fb8b64b9736363f90156b9a5532d808cf2af33b87ff970c02e648dc4f1c90ff0704028ec2c2d9a82d\n\n# tcId = 306\n# special case hash\nmsg = 363439303532363032\nresult = valid\nsig = 30818702417aade608b22c77245734fc5c4be8737ba24dc2ed4321b58", - "124ae46a77ea7befaa5bcf166cb966aad007911623af10925a324bc3c6d06f24d0e2e7b2c7b8468b8ee024201e9913a412300b3980719148de0bb03826184aabd58f19659aa8ca18045f36c73c97df3d12b921de510ffa96ceac5454b801c86c55a06b2d771fa77bca784332c39\n\n# tcId = 307\n# special case hash\nmsg = 34373633383837343936\nresult = valid\nsig = 308187024201eefc7b6c1468ffa7d60b8408bd44c64a3ffaff298168c5016c6f504031867ea14ae48c661b8124418b4ed6ccc32df6bac6d0a485b1990236e15676268b7868d2760241515d48436afffdb65caed737116a861974b734bd1903e37dbbc231a9db37464ed762e364cac8b32f1546d6de37979fa05f8b80159a0f747d9470291af6569d6d94\n\n# tcId = 308\n# special case hash\nmsg = 353739303230303830\nresult = valid\nsig = 308188024201271b912ca055040c227955df729757654aa9bbdb73c61ba14155220e4e7132319f6fb0ee94f2fbe160738f1dce2ad690845c38d962db4fda1598e93270da84a2bb024200b8907f041c3b19b9234ab555d0b48325b0cd330889a53276a1e913bab892b9c05cfa889005b14ee2730220746aecf12af911c5baea4be377ee76c0eeaf47b7a712\n\n# tcId = 309\n# special case hash\nmsg = 35333434373837383438\nresult = valid\nsig = 3081880242016a813db0f75f9047fb11f3e19fc1688c29328a54f56ae30c1c9d9378537bfc40c5719d084e49a3b4aea255f5b7f6cc775492b5371e6b67b2d6abd5743e10fac709024201c258ffd830151bfd41ccdabb86b24af846612788b361c196d24e997ccf3f17d4452f63d32851a483072e6908095e5c49bbc241a0417749b097bc1ca0e4d127779b\n\n# tcId = 310\n# special case hash\nmsg = 3139323636343130393230\nresult = valid\nsig = 3081870241156a04c22ea5bdb7871124f1117301d781113ac4c9d4da05fea536e983d9261d25dc97006f8c78de23c788718557cf6f98863994af2086f0be3e8aa8812dc3a11d024200ffca96b04c56a4a6ce5d22b36e44d3b974d520e7f7c0f9d69034f9e59e0bbdc43236b3e4bfb0f6bde8802cc5cd6022cff166f4c488d64f38d44e3c563da31cf6fe\n\n# tcId = 311\n# special case hash\nmsg = 33373033393135373035\nresult = valid\nsig = 3081880242010913540ad73ceef7314d1758264e1d1525a371a7b9b3086971599a6b749be4d6ba69269b089508f6500dd925aa89a7c7cb7185e0cca7d2ee5664f22845d961e31702420135256c79ea5e5768fb3a55e2899b12219b8f68953ccd98c710b6a13de0f59786f4331845e65c7dd6340023a5e280206ca31416058f395fff4bb5de411ff66fc018\n\n# tcId = 312\n# special case hash\nmsg = 3831353435373730\nresult = valid\nsig = 308188024201b5051ca0dd3b20df7d8c5b92cb42b8a204f92fb4e58c612f43d3800de8c0683c427e832ce622156747052b81bfbf6ed5fa177b6d47858ec8478f6c9ca7948fd511024201fe5710fac0e9d3e2b3b83081b28b194b822d0c13397bf1516140cbe3faa52e908848f69789a741b9cd54d703a94577fa813e2f2c75834807401ca010fde5328317\n\n# tcId = 313\n# special case hash\nmsg = 313935353330333737\nresult = valid\nsig = 3081870242008d3c8f8e7ab74d49e16a4c7db3a393fa9567777e373313667f9ce32b1b5e648debffedfd2ff5345ca1b8154c18c8b883957d911e41336285f86261c3ee225fdedd02413c51b84c2c9a3feb76a6518634b6f09c0dde8a9d08dec0b3d66135cc1bdb0a80fd69636104af69de8f4062646b29fa3af685ec82704cef706a18c59ca7eca0fb56\n\n# tcId = 314\n# special case hash\nmsg = 31323637383130393033\nresult = valid\nsig = 308187024201195625a64ac11c4fc1fc479ef80430eb85c1af77f8a197a17e009569ef6c41ac6f35850755379f478d8928b154e3baaa29e92b481ac04dc72f3728b4f088ff37dc02410d55c7067877dd1302fdc6bb69b7b7c024e4cf3a0e924102d744ac52366d9d76d5855d3da228c4b67bc7bc4b2a14e7999962cc9bbdc517fc24a823abf584b8f56e\n\n# tcId = 315\n# special case hash\nmsg = 3131313830373230383135\nresult = valid\nsig = 308187024126eb68bc0fb7664c35bf5762cd532dce33b0e396e97d6f4143dc6e1e766c836e27c069da9ea1e74e0b03d030cf8a81490508c1c728f86e59282df94de8d8a0dcaf024200a9fb584b712986f19ab7568693df278cafa43272dba400ff333cf48b5556e6e78353a665605c70b6fd0f18f30b850e1a47cda42c4c924bca80102e6793be9a8698\n\n# tcId = 316\n# special case hash\nmsg = 38333831383639323930\nresult = valid\nsig = 308188024200f3d34e36f9754dfa8eafab160ca96d91c7f4f388ec82ac33784026bb6c6a035719eaeec3ee511fffb22dd5d6ab819e6c6387192d6c3a6e9249ead565157e323f62024201b5786b1d662d26fe9f69c370d2bc18882abef693c8f17100a02725de7c9f03602fd53a9208b573b3b7b0b66db971767bde835f9e8f42ada201e7b7391b86fe0294\n\n# tcId = 317\n# special case hash\nmsg = 33313331323837323737\nresult = valid\nsig = 308188024200e69c833b604075e9b28a2ff73a56a32e1a247ef9ae01e7a0e471f6015c2b86eb864c281c8c93d2acf5653ad05bafab2f58027f37513eb8569f50bd475e770e9a81024200b9c9d6ce09b53025bfcaa7d172ae41a9b636aa4b80a930931fc99e5e2aa23306f19dc57399b0431e72440a1f4ec7d5ca902f0f7b81c91de85e469f992fdfd4c52e\n\n# tcId = 318\n# special case hash\nmsg = 3134333331393236353338\nresult = valid\nsig = 308188024201c6b8b5cf3c4dd3d62391f18e97eef3aa6ace0ae2c6fc97a561cb8e49c087dbcf8135fa433b566b3385cb57202f1b12164fe62765ef73b72a94e7a57870989a498102420185944434b83a0d0fb4bcdce8ddaadb30a1e440815e7674562df9c8bf711222208cc346b9665d90abedb437912391505dd5d26f0178e7c063790f5518f47d1b05c7\n\n# tcId = 319\n# special case hash\nmsg = 333434393038323336\nresult = valid\nsig = 3081880242009f351a41d5375b8993e90b8d8a65bf01d52d14aba1dbe49cbb4ea823804f2b533e0c167903c8bbc593297c18f309798a544787d598074cbf56ef0e5022520912ad024201b892740a57204186bd5f434f72d1534b4289f8f7114cb7b1c9cf4541d754f314448cc32deaf35608263488fdc7596f7481ec098b36f8e440829194becc746c77f5\n\n# tcId = 320\n# special case hash\nmsg = 36383239383335393239\nresult = valid\nsig = 308187024201fe24ea831199e31cc68ef23980c4babd3773040870af8823a19708bd0229adc1ce99d02e4d95224101e3e974236f54df86051fa1e9fd21380432633b2495ab782a02410efd1f2a281f967e7b09d721581356a714c499f9b14f781992eb9ae7a19f6825045fdc6d9d763f44e1e7c91480a678a1d8ecf6d66e76cea3505f65ff78cff15cbd\n\n# tcId = 321\n# special case hash\nmsg = 33343435313538303233\nresult = valid\nsig = 3081870242014c6ee9de0a2a0b60c981831e0acd6636b46ae134fedce61b0488112663b24e1d7e74e227fea883d26b68f21e4135ba0e2069bbe0d9c6433c3908fd5b00182894b002416a180a493182c6bc2a09d7e17ff5d62015293f1e8ae205a16fa09042b0a9af6794cb377f4b8b1175fcee5137c234900f735c484feb7da4cbb405cf9e5370fe4f49\n\n# tcId = 322\n# special case hash\nmsg = 3132363937393837363434\nresult = valid\nsig = 308188024201044a45853ada17ca761acc7df6d1d380252cb0fa66124d9278a5ed8a4a60453bc71de1dbe32b0261165948823c461c7c1eb1714ec1dbf66fd602c7a47446d1dae1024200f8b27f7c71e37e4b440d2c86f1c1d50bf7c53d3878ed27e7bcfbeb902f769f86d6c3e8820b99f890050f0dbebd2132e84626c5b16a8c7ffffc3a30ace69dd15a11\n\n# tcId = 323\n# special case hash\nmsg = 333939323432353533\nresult = valid\nsig = 3081870241676a381b18d05207cddd73b44e4dd71449985c0fa7de1fff43ca5155139a1a09e5e3fd754d86ebbe32f6609f6e906d48d24790e494343c61faa90bfdaa4f49fdc7024200fbc1c891bf6e368fccad51cc9b2c29e8e92b658e88c0d23285af269aff6702a55a0ab16807e5523b6637bbb004727f6f55c51ad4cec8c924f9c1feb24601aeddef\n\n# tcId = 324\n# special case hash\nmsg = 31363031393737393737\nresult = valid\nsig = 3081880242013c9a575382ff6881c908fb5184be7baf38edb0b06008592558efd57dd8fb9993c893800a6ac8c6d2e34ebfbeff43e63263f133868d0ac7a838f69aff26d60a38490242009d22ae7bca8a75a53214c3eece437fb28e05b076ec704d751a28a7ed7e529d5c5338be8c724afa547574a17f70510b2462748a53678e39752a688dc8cf39e886c2\n\n# tcId = 325\n# special case hash\nmsg = 3130383738373535313435\nresult = valid\nsig = 308188024201071ce5a19a09aacd43c7cacd58a439dcca4e85f94ea1d48a60f298ee01bb3eeb11d5daf545e7086486f8e4b518a15be69620ab920cf95c5c15ff178c903124fac3024201ad6eaeedece9a7592bd21508b2720f1b8c4bf55637b1e8a5ce5359775b980b21eb1d33e8ebf5c0b3d7829152a295b8a9a1343c25350e35f709936accc8ce08b0b1\n\n# tcId = 326\n# special case hash\nmsg = 37303034323532393939\nresult = valid\nsig = 308188024201bdae499160f4cc6cd163cf110bb1f9b421e8786a8ef9297e4b98fd508a1d14c50617c8d1a3de94fc8bd6c38055e4906b20fdcab6ef7bf9e7e5c98ef3e83e38ec3b024201ba867b8ee72bb7304ff83fc2d734749447420791d5609e0515de4e05fa70a83385a853cac6c47a075c8c61e4b65b9774574101cf4e081770f83ae1b7e727010ba3\n\n# tcId = 327\n# special case hash\nmsg = 31353635333235323833\nresult = valid\nsig = 3081860240269fc7ed89e554aa52b3875dc00bc140c1937d4f1b32e29da41ff241cdb9bd3058fc148f905982b8717b035e0db00ded7ebcb08572ec76bf0128411145d73091024201b4bd6bc4ba7befd5c305e018448a771b71fa1a11b3a2c6185dd6b8477c35eaeb4733fecd90f38ecba628f27c02f809191e993e1e7ff590383e2ec2afd08020b267\n\n# tcId = 328\n# special case hash\nmsg = 3233383236333432333530\nresult = valid\nsig = 308188024201a5cecc0e572f5ee4eed6755d3230ec5a933c1fb0e35ae771a1fcf0dc880e1c159dd5b6d192dc377505048b7188de3feb815a81a4f30d9226cdc85f751dec1a0410024201ef4a743e1e16f0a60201cc1060625ede6f0936e7af90b42736281e89fe7f2de6aa3f25c68576da705d8b3f6d5d8a34d3073307ea198d1cc8d72a18ef25e90f31af\n\n# tcId = 329\n# special case hash\nmsg = 3134343738", - "3437303635\nresult = valid\nsig = 308188024201a92b43f57421e54d2528d305e7d5aac9a708e75a7d6fedb47908a4e3edcabdd836a2c4e8436f3b7b64895254536174d88c6dca143699522bc2dfdeebcbf38eb90502420093b0b99a89de72aca0c03e12724c2be323577a4629cb47fdda5b12b61ace0b9fdb97549d3d2a1dac15da66ba6389ee54cbc82c995b9f3aa3ae8474f4bb4b52da8a\n\n# tcId = 330\n# special case hash\nmsg = 3134323630323035353434\nresult = valid\nsig = 308188024200a0400f255174ffb8548c29f5faa70e806bb6f6ca08a08753c85c5d145a555cc8e2df285af9985f2e729d4a99a734b7e7fc95560d546a067fda03529f56b2fe66bc024200d7fb60271d22ecb5d8ec904a9df1a416be706ce539e34650b8fc514d1dd7afebc1344c0c68c533c5b20ee249a77c075293b2d7efc8731c2e3619be59da871bb083\n\n# tcId = 331\n# special case hash\nmsg = 31393933383335323835\nresult = valid\nsig = 3081880242019207c7b645aa45c2722331f46e094f2eb0052075b8ac9414ad77baafd01d4d1fdc68344136fbce01edfa5627bfb8f3c128abb61072c74802192e89137c68d0cc31024200ff15b0218f81f0a848742f683cb4d1b7c517efdb8fcf8ac6a35e4971b35536851ed68de40a6e1a4a23bddb5b42efca23b91e91959a4f7e2afa196779c96c6c654c\n\n# tcId = 332\n# special case hash\nmsg = 34323932313533353233\nresult = valid\nsig = 308188024200aaf119702b9985354bbe3f6b6cda8c46151af4202546dfbe04d5f0ffd18ebe7b29d616f1c40376a412a52f4204b5a13e7f3e4304ead566fc41bf4b5fc0b84c8a2d024200d599deafd4fa2368cd072b854a3d53425d06adf3573e886b81248a7328a546ddc41caed38c6b1ffeaec9a98c940905cbffa87b936da980d4a9003da41e0c59c92f\n\n# tcId = 333\n# special case hash\nmsg = 34343539393031343936\nresult = valid\nsig = 30818702416c09a59e71cf34f983f75dbb4724c4828a93021cee8fd7d92af6941ca8efc9c5ddda7c49a0e1777225782e09313e3091f056122e585c4eaa689fb2fdb1cb7848d80242019f0c5ff6b4638f4c33916db76f9d078bfa8f9e25ae00348e46bb32d777aa26155b82ea73a9e4e2f21f6a65c73ed6c6ab2101cef3524d45b9fc6ea1292f1986acad\n\n# tcId = 334\n# special case hash\nmsg = 31333933393731313731\nresult = valid\nsig = 3081880242014e791c42f3998458c5e17f895d25c85cb419195d65e5a0b9a42cf13ddd36959c73460f54aa840d2254355c6ac626f440cb3a84fba632262c9dc5cab31be7da106b024200abb97b682f01f45168403613a7e2ff82bb4a9fc20952a35d935428f71ddcc799c6d9085fe3230d72261d73cd082e8108523da7ba0b1691ad6ea63f5f4e8e8909f4\n\n# tcId = 335\n# special case hash\nmsg = 32333930363936343935\nresult = valid\nsig = 3081880242013ded35ddff2f97780bbc60b8cec89855a35183a48f8fa6bbdc183994bf89021118cc019629df72112b2c529c023e7a5cfce253f7fdb49105d238680b64275a213c0242009c92e7a0f71608e8d8cfab3f850f7fda1a1a1d056e72254469afe5ceec3c718e6a462e1346941eb08c105501647502c1a810a29df8b208da6a5b296b2bd1e98137\n\n# tcId = 336\n# special case hash\nmsg = 3131343436303536323634\nresult = valid\nsig = 308188024201d0d29756ebff02b71674fa4eae37557ccd51a036fb1eb0b7121b405e7fabd60592927d805b75815af1bca6e9d6c5484225bdd0ec7a40735da972fd5ff645d86f1d0242008b9fe55357dc118070cf898973a64e7554b734e900c675541e20332a260ca51a23248d9b8f47ded811cfce556a06a71ba5dc5b873075f264a6843e675caf06a534\n\n# tcId = 337\n# special case hash\nmsg = 363835303034373530\nresult = valid\nsig = 30818802420165fb993f39d350ed60c8483dd6e4e6736591dea974ecd8ab027d3839b752322ee220d40bb6fc0b0d5a8c42928bde50f659b18f51f42fb2b1aa4583892a9114a0c3024200a8816c09d47138bf662da4ba25caf44e24185696d4914a7de2b2535f73b9afbd3ffa9cb0a86a115e4d9ac5be48cf7e8fe276466abdf17127bcc7aaf4d096008ca4\n\n# tcId = 338\n# special case hash\nmsg = 3232323035333630363139\nresult = valid\nsig = 30818702410b901c88ea699e715f6db864e23a676e7f7f2415ac1f850f2dde1ad0d3f9c92e8c5de66d45174d619955fae4b0dfebe49c583506481d28d30cbf58e2ac49f370c202420144c97b688b9ecc07b84c68095267e17e48232922756609e9859d18d2eb7844ec925150c39f2b3a255c882be705e0a8e30e68e49fe7914dbcc3ccfbc1d467050f80\n\n# tcId = 339\n# special case hash\nmsg = 36323135363635313234\nresult = valid\nsig = 308188024200abbd9e77ef1e2a36c6b06f063d93effb8e852387a94bfdf8359b5c18708f90d9f4e9749fd45347f637546b08733789c988fda4f0309551bde813a0bb1a232adee102420191165d58d153fec68f5cc83bcf5891e2e0ca9681204876e872453e9ebd45870b6878ee437e4d833c6ec54337b779acbf9f8202df510d269a710d0c43e4e07b040d\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 0400491cd6c5f93b7414d6d45cfe3d264bd077fc4427a4b0afede76cac537a7ca5ee2c44564258260f7691b81fdfecebfd03ba672277875c5b311ea920e74fb3978af50144a353a251b4297894161bae12d16a89c33b719f904cfccc277df78cea5379198642fd549df919904dc0cf3662eeab01ef11b8e3cb49b51b853d98f042600c0997]\n[key.wx = 491cd6c5f93b7414d6d45cfe3d264bd077fc4427a4b0afede76cac537a7ca5ee2c44564258260f7691b81fdfecebfd03ba672277875c5b311ea920e74fb3978af5]\n[key.wy = 144a353a251b4297894161bae12d16a89c33b719f904cfccc277df78cea5379198642fd549df919904dc0cf3662eeab01ef11b8e3cb49b51b853d98f042600c0997]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400491cd6c5f93b7414d6d45cfe3d264bd077fc4427a4b0afede76cac537a7ca5ee2c44564258260f7691b81fdfecebfd03ba672277875c5b311ea920e74fb3978af50144a353a251b4297894161bae12d16a89c33b719f904cfccc277df78cea5379198642fd549df919904dc0cf3662eeab01ef11b8e3cb49b51b853d98f042600c0997]\n[sha = SHA-512]\n\n# tcId = 340\n# k*G has a large x-coordinate\nmsg = 313233343030\nresult = valid\nsig = 3067022105ae79787c40d069948033feb708f65a2fc44a36477663b851449048e16ec79bf5024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386406\n\n# tcId = 341\n# r too large\nmsg = 313233343030\nresult = invalid\nsig = 308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386406\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 04015f281dcdc976641ce024dca1eac8ddd7f949e3290d3b2de11c4873f3676a06ff9f704c24813bd8d63528b2e813f78b869ff38112527e79b383a3bd527badb929ff01502e4cc7032d3ec35b0f8d05409438a86966d623f7a2f432bf712f76dc6345405dfcfcdc36d477831d38eec64ede7f4d39aa91bffcc56ec4241cb06735b2809fbe]\n[key.wx = 15f281dcdc976641ce024dca1eac8ddd7f949e3290d3b2de11c4873f3676a06ff9f704c24813bd8d63528b2e813f78b869ff38112527e79b383a3bd527badb929ff]\n[key.wy = 1502e4cc7032d3ec35b0f8d05409438a86966d623f7a2f432bf712f76dc6345405dfcfcdc36d477831d38eec64ede7f4d39aa91bffcc56ec4241cb06735b2809fbe]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004015f281dcdc976641ce024dca1eac8ddd7f949e3290d3b2de11c4873f3676a06ff9f704c24813bd8d63528b2e813f78b869ff38112527e79b383a3bd527badb929ff01502e4cc7032d3ec35b0f8d05409438a86966d623f7a2f432bf712f76dc6345405dfcfcdc36d477831d38eec64ede7f4d39aa91bffcc56ec4241cb06735b2809fbe]\n[sha = SHA-512]\n\n# tcId = 342\n# r,s are large\nmsg = 313233343030\nresult = valid\nsig = 308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386407024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386406\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 0400336d5d08fe75c50946e6dddd36c550bb054d9925c8f254cfe1c3388f720b1d6500a90412b020b3db592b92ab9f68f1c693b8d1365371635e21bc43eaadf89e4e7401d48d60319dfd06f935fc46488c229b611eecd038804ae9f681a078dde8ed8f8e20ad9504bcf3c24a0b566b1e85b2d3ed0a1273292ff5f87bae5b3c87857e67ed81]\n[key.wx = 336d5d08fe75c50946e6dddd36c550bb054d9925c8f254cfe1c3388f720b1d6500a90412b020b3db592b92ab9f68f1c693b8d1365371635e21bc43eaadf89e4e74]\n[key.wy = 1d48d60319dfd06f935fc46488c229b611eecd038804ae9f681a078dde8ed8f8e20ad9504bcf3c24a0b566b1e85b2d3ed0a1273292ff5f87bae5b3c87857e67ed81]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400336d5d08fe75c50946e6dddd36c550bb054d9925c8f254cfe1c3388f720b1d6500a90412b020b3db592b92ab9f68f1c693b8d1365371635e21bc43eaadf89e4e7401d48d60319dfd06f935fc46488c229b611eecd038804ae9f681a078dde8ed8f8e20ad9504bcf3c24a0b566b1e85b2d3ed0a1273292ff5f87bae5b3c87857e67ed81]\n[sha = SHA-512]\n\n# tcId = 343\n# r and s^-1 have a large Hamming weight\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe02420095e19fd2b755d603bf994562d9a11f63cf4eadecbdc0ecb5a394e54529e8da58a527bc6d", - "85725043786362ab4de6cbc7d80e625ae0a98861aea1c7bf7109c91f66\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 04006f8fadedbae63701072c287c633f9c0052ea1e6cd00a84342cc0f626210071576abfd0875664b0746cdaf2745effc18d94905b0fc9d2cad4ba375c0ea2298c8d1c0150d128cb62a527ae6df3e92f1f280ea33248711ffe4b35c1b162a9508576860165e0ddc361d96fafcd2ff82776c743b9cd6845db61eb56739f5c4ef561e6c20d8c]\n[key.wx = 6f8fadedbae63701072c287c633f9c0052ea1e6cd00a84342cc0f626210071576abfd0875664b0746cdaf2745effc18d94905b0fc9d2cad4ba375c0ea2298c8d1c]\n[key.wy = 150d128cb62a527ae6df3e92f1f280ea33248711ffe4b35c1b162a9508576860165e0ddc361d96fafcd2ff82776c743b9cd6845db61eb56739f5c4ef561e6c20d8c]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004006f8fadedbae63701072c287c633f9c0052ea1e6cd00a84342cc0f626210071576abfd0875664b0746cdaf2745effc18d94905b0fc9d2cad4ba375c0ea2298c8d1c0150d128cb62a527ae6df3e92f1f280ea33248711ffe4b35c1b162a9508576860165e0ddc361d96fafcd2ff82776c743b9cd6845db61eb56739f5c4ef561e6c20d8c]\n[sha = SHA-512]\n\n# tcId = 344\n# r and s^-1 have a large Hamming weight\nmsg = 313233343030\nresult = valid\nsig = 308187024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe024115837645583a37a7a665f983c5e347f65dca47647aa80fd2498a791d44d9b2850a151a6e86fce7d7bb814e724ff11b9ef726bf36c6e7548c37f82a24902876ee19\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 04005e7eb6c4f481830abaad8a60ddb09891164ee418ea4cd2995062e227d33c229fb737bf330703097d6b3b69a3f09e79c9de0b402bf846dd26b5bb1191cff801355d01789c9afda567e61de414437b0e93a17611e6e76853762bc0aff1e2bc9e46ce1285b931651d7129b85aef2c1fab1728e7eb4449b2956dec33e6cd7c9ba125c5cd9d]\n[key.wx = 5e7eb6c4f481830abaad8a60ddb09891164ee418ea4cd2995062e227d33c229fb737bf330703097d6b3b69a3f09e79c9de0b402bf846dd26b5bb1191cff801355d]\n[key.wy = 1789c9afda567e61de414437b0e93a17611e6e76853762bc0aff1e2bc9e46ce1285b931651d7129b85aef2c1fab1728e7eb4449b2956dec33e6cd7c9ba125c5cd9d]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004005e7eb6c4f481830abaad8a60ddb09891164ee418ea4cd2995062e227d33c229fb737bf330703097d6b3b69a3f09e79c9de0b402bf846dd26b5bb1191cff801355d01789c9afda567e61de414437b0e93a17611e6e76853762bc0aff1e2bc9e46ce1285b931651d7129b85aef2c1fab1728e7eb4449b2956dec33e6cd7c9ba125c5cd9d]\n[sha = SHA-512]\n\n# tcId = 345\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020101020101\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 0400b420fb1fecdd9cc5ea7d7c7617e70538db32e6d7a0ad722c63580f1f6a1f5537eb50930b90fd6fdd9abd40015f746d2fd8adf945a75621407edb6863588e41979e00295108a7e9d2191a287fd160bd24f498055dc9badbd61c6a89fede27b4f9d479d86a20b6dc07c90f008ebe68a0e0cc15a4a03b8cf990e4ff7ed6e3892b21c52153]\n[key.wx = 0b420fb1fecdd9cc5ea7d7c7617e70538db32e6d7a0ad722c63580f1f6a1f5537eb50930b90fd6fdd9abd40015f746d2fd8adf945a75621407edb6863588e41979e]\n[key.wy = 295108a7e9d2191a287fd160bd24f498055dc9badbd61c6a89fede27b4f9d479d86a20b6dc07c90f008ebe68a0e0cc15a4a03b8cf990e4ff7ed6e3892b21c52153]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400b420fb1fecdd9cc5ea7d7c7617e70538db32e6d7a0ad722c63580f1f6a1f5537eb50930b90fd6fdd9abd40015f746d2fd8adf945a75621407edb6863588e41979e00295108a7e9d2191a287fd160bd24f498055dc9badbd61c6a89fede27b4f9d479d86a20b6dc07c90f008ebe68a0e0cc15a4a03b8cf990e4ff7ed6e3892b21c52153]\n[sha = SHA-512]\n\n# tcId = 346\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020101020102\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 040032b9a17c201aec34d29b8c2764e7c7f6aeef10fb61bf9837117fad879f8c6a22a300006d2018cf42b25898ffc9a1bf507352e59e6a52e627cda160e17ea2f4600500317a89899b7cb3a0d33eafa02b0137a0fb1b05102b22b676f35b9ff6c050ddee9f185609ffb7f5165a769e440792b75044a43e838690d13f884aaae888bf5f86f0]\n[key.wx = 32b9a17c201aec34d29b8c2764e7c7f6aeef10fb61bf9837117fad879f8c6a22a300006d2018cf42b25898ffc9a1bf507352e59e6a52e627cda160e17ea2f46005]\n[key.wy = 317a89899b7cb3a0d33eafa02b0137a0fb1b05102b22b676f35b9ff6c050ddee9f185609ffb7f5165a769e440792b75044a43e838690d13f884aaae888bf5f86f0]\n[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040032b9a17c201aec34d29b8c2764e7c7f6aeef10fb61bf9837117fad879f8c6a22a300006d2018cf42b25898ffc9a1bf507352e59e6a52e627cda160e17ea2f4600500317a89899b7cb3a0d33eafa02b0137a0fb1b05102b22b676f35b9ff6c050ddee9f185609ffb7f5165a769e440792b75044a43e838690d13f884aaae888bf5f86f0]\n[sha = SHA-512]\n\n# tcId = 347\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020101020103\n\n# tcId = 348\n# r is larger than n\nmsg = 313233343030\nresult = invalid\nsig = 3047024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a020103\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 040067dd456b52f82a5d4c4a71b3ea9302f62a852ddc04ad25b62fef1ddf657374fb4e80679ddf42d212f0711db32b626d8593bd70892e93ed0adb273157b6df187938014d2c78509f3bd6f7d0fba4a90cb456286e267f5dd9d967842a6086884d66c7b2a932833470c721a4a728cd8486d15314232d801f17e3a6fd7068bdebacdf82c0b4]\n[key.wx = 67dd456b52f82a5d4c4a71b3ea9302f62a852ddc04ad25b62fef1ddf657374fb4e80679ddf42d212f0711db32b626d8593bd70892e93ed0adb273157b6df187938]\n[key.wy = 14d2c78509f3bd6f7d0fba4a90cb456286e267f5dd9d967842a6086884d66c7b2a932833470c721a4a728cd8486d15314232d801f17e3a6fd7068bdebacdf82c0b4]\n[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040067dd456b52f82a5d4c4a71b3ea9302f62a852ddc04ad25b62fef1ddf657374fb4e80679ddf42d212f0711db32b626d8593bd70892e93ed0adb273157b6df187938014d2c78509f3bd6f7d0fba4a90cb456286e267f5dd9d967842a6086884d66c7b2a932833470c721a4a728cd8486d15314232d801f17e3a6fd7068bdebacdf82c0b4]\n[sha = SHA-512]\n\n# tcId = 349\n# s is larger than n\nmsg = 313233343030\nresult = invalid\nsig = 3047020101024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e914b3a90\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 040068d7b518214766ac734a7461d499352444377d50af42a1bbdb7f0032065ee6dc341ccf231af65250e7d13a80733abebff559891d4211d6c28cf952c9222303b53b00a2f3d7e14d9d8fabe1939d664e4615c6e24f5490c815c7651ccf6cc65252f88bcfd3b07fbdbaa0ba00441e590ccbcea00658f388f22c42d8a6d0f781ae5bb4d78b]\n[key.wx = 68d7b518214766ac734a7461d499352444377d50af42a1bbdb7f0032065ee6dc341ccf231af65250e7d13a80733abebff559891d4211d6c28cf952c9222303b53b]\n[key.wy = 0a2f3d7e14d9d8fabe1939d664e4615c6e24f5490c815c7651ccf6cc65252f88bcfd3b07fbdbaa0ba00441e590ccbcea00658f388f22c42d8a6d0f781ae5bb4d78b]\n[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040068d7b518214766ac734a7461d499352444377d50af42a1bbdb7f0032065ee6dc341ccf231af65250e7d13a80733abebff559891d4211d6c28cf952c9222303b53b00a2f3d7e14d9d8fabe1939d664e4615c6e24f5490c815c7651ccf6cc65252f88bcfd3b07fbdbaa0ba00441e590ccbcea00658f388f22c42d8a6d0f781ae5bb4d78b]\n[sha = SHA-512]\n\n# tcId = 350\n# small r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 304802020100024201efdfbf7efdfbf7efdfbf7efdfbf7efdfbf7efdfbf7efdfbf7efdfbf7efdfbf7ef87b4de1fc92dd757639408a50bee10764e326fdd2fa308dfde3e5243fdf4ac5ac\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 04011edc3b22b20f9a188b32b1e827d6e46b2ed61b9be6f4ada0b2c95835bee2738ec4dc5313831cce5f927210a7bc2f13abc02fa90e716fc1bd2f63c429a760ed23630118daad88fe9b9d66e66e71ce05d74137d277a9ca81c7d7aef1e74550890564103cc0d95d30f6205c9124829192e15d66fb1f4033032a42ba606e3edca6ec065c50]\n[key.wx = 11edc3b22b20f9a188b32b1e827d6e46b2ed61b9be6f4ada0b2c95835bee2738ec4dc5313831cce5f927210a7bc2f13abc02fa90e716fc1bd2f63c429a760ed2363]\n[key.wy = 118daad88fe9b9d66e66e71ce05d74137d277a9ca81c7d7aef1e74550890564103cc0d95d30f6205c9124829192e15d66fb1f4033032a42ba606e3edca6ec065c50]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004011edc3b22b20f9a188b32b1e827d6e46b2ed61b9be6f4ada0b2c95835bee2738ec4dc5313831cce5f927210a7bc2f13abc02fa90e716fc1bd2f63c429a760ed23630118daad88fe9b9d66e66e71ce05d74137d277a9ca81c7d7aef1e74550890564103cc0d", - "95d30f6205c9124829192e15d66fb1f4033032a42ba606e3edca6ec065c50]\n[sha = SHA-512]\n\n# tcId = 351\n# smallish r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 304d02072d9b4d347952cd02420100508d073413de829275e76509fd81cff49adf4c80ed2ddd4a7937d1d918796878fec24cc46570982c3fb8f5e92ccdcb3e677f07e9bd0db0b84814be1c7949b0de\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 04012f8b9863a1887eca6827ad4accc2ba607f8592e5be15d9692b697a4061fcc81560c8feb2ae3851d00e06df3e0091f1f1ca5ec64761f4f8bd6d0c2cab2a121024440174b4e34aec517a0d2ceb2fd152ed1736bc330efca5e6d530ea170802fb6af031425903fa6a378405be5e47d1e52f62f859f537df9c0f6a4a6479a0aadafe219821]\n[key.wx = 12f8b9863a1887eca6827ad4accc2ba607f8592e5be15d9692b697a4061fcc81560c8feb2ae3851d00e06df3e0091f1f1ca5ec64761f4f8bd6d0c2cab2a12102444]\n[key.wy = 174b4e34aec517a0d2ceb2fd152ed1736bc330efca5e6d530ea170802fb6af031425903fa6a378405be5e47d1e52f62f859f537df9c0f6a4a6479a0aadafe219821]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004012f8b9863a1887eca6827ad4accc2ba607f8592e5be15d9692b697a4061fcc81560c8feb2ae3851d00e06df3e0091f1f1ca5ec64761f4f8bd6d0c2cab2a121024440174b4e34aec517a0d2ceb2fd152ed1736bc330efca5e6d530ea170802fb6af031425903fa6a378405be5e47d1e52f62f859f537df9c0f6a4a6479a0aadafe219821]\n[sha = SHA-512]\n\n# tcId = 352\n# 100-bit r and small s^-1\nmsg = 313233343030\nresult = valid\nsig = 3053020d1033e67e37b32b445580bf4eff0242013cc33cc33cc33cc33cc33cc33cc33cc33cc33cc33cc33cc33cc33cc33cc33cc3393f632affd3eaa3c8fb64507bd5996497bd588fb9e3947c097ced7546b57c8998\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 04008aed779a32b9bf56ea7ab46e4b914e55c65301cdbe9ea6e7ed44f7e978c0365989a19a5e48282fb1158f481c556505d66ff414a07003ebf82fca1698c33f2884c600a62426993ed5b177b6045e60b5fa1a1f8ce1ad5d70e7bc7b5af811dbf86e651f9ea02ec796ab991e1439bf07ffe2ac6052a8a0b0174d78a9441aaf4d8fc757d80f]\n[key.wx = 08aed779a32b9bf56ea7ab46e4b914e55c65301cdbe9ea6e7ed44f7e978c0365989a19a5e48282fb1158f481c556505d66ff414a07003ebf82fca1698c33f2884c6]\n[key.wy = 0a62426993ed5b177b6045e60b5fa1a1f8ce1ad5d70e7bc7b5af811dbf86e651f9ea02ec796ab991e1439bf07ffe2ac6052a8a0b0174d78a9441aaf4d8fc757d80f]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004008aed779a32b9bf56ea7ab46e4b914e55c65301cdbe9ea6e7ed44f7e978c0365989a19a5e48282fb1158f481c556505d66ff414a07003ebf82fca1698c33f2884c600a62426993ed5b177b6045e60b5fa1a1f8ce1ad5d70e7bc7b5af811dbf86e651f9ea02ec796ab991e1439bf07ffe2ac6052a8a0b0174d78a9441aaf4d8fc757d80f]\n[sha = SHA-512]\n\n# tcId = 353\n# small r and 100 bit s^-1\nmsg = 313233343030\nresult = valid\nsig = 30480202010002420086ecbf54ab59a4e195f0be1402edd8657bb94618fab50f2fe20fe5ebbc9ff0e491397ed313cc918d438eedb9b5ecb4d9dfa305303505baf25400ed8c20fc3fc47b\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 040093697b0378312b38c31deae073f24a8163f086ac2116b7c37c99157cfae7970ab4201f5a7e06ec39eedbf7d87f3021ca439e3ff7c5988b84679937bab786dbe12e01c6987c86077c05423ac281de6d23f6a685870e12855463770eccabc9f3a1d23cb2a0c15479420b5dd40fbdc9886c463b62ee23239df3a8b861c3291d28224f6057]\n[key.wx = 093697b0378312b38c31deae073f24a8163f086ac2116b7c37c99157cfae7970ab4201f5a7e06ec39eedbf7d87f3021ca439e3ff7c5988b84679937bab786dbe12e]\n[key.wy = 1c6987c86077c05423ac281de6d23f6a685870e12855463770eccabc9f3a1d23cb2a0c15479420b5dd40fbdc9886c463b62ee23239df3a8b861c3291d28224f6057]\n[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040093697b0378312b38c31deae073f24a8163f086ac2116b7c37c99157cfae7970ab4201f5a7e06ec39eedbf7d87f3021ca439e3ff7c5988b84679937bab786dbe12e01c6987c86077c05423ac281de6d23f6a685870e12855463770eccabc9f3a1d23cb2a0c15479420b5dd40fbdc9886c463b62ee23239df3a8b861c3291d28224f6057]\n[sha = SHA-512]\n\n# tcId = 354\n# 100-bit r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3053020d062522bbd3ecbe7c39e93e7c2402420086ecbf54ab59a4e195f0be1402edd8657bb94618fab50f2fe20fe5ebbc9ff0e491397ed313cc918d438eedb9b5ecb4d9dfa305303505baf25400ed8c20fc3fc47b\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 04019a9f1b7b7f574a021fedd8679a4e998b48524854eefbaae4104a3973d693e02104fa119243256e3d986f8b4966c286ab8cb1f5267c0bbd6bc182aeb57493a5d5b60158b97eb74862fbca41763e8d3a7beb5fccd05565b75a3a43c2b38b96eb2ccff149c23ef1ac09fc455d808ff28081e985f9e172fc62d0900585172cfbff87383595]\n[key.wx = 19a9f1b7b7f574a021fedd8679a4e998b48524854eefbaae4104a3973d693e02104fa119243256e3d986f8b4966c286ab8cb1f5267c0bbd6bc182aeb57493a5d5b6]\n[key.wy = 158b97eb74862fbca41763e8d3a7beb5fccd05565b75a3a43c2b38b96eb2ccff149c23ef1ac09fc455d808ff28081e985f9e172fc62d0900585172cfbff87383595]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004019a9f1b7b7f574a021fedd8679a4e998b48524854eefbaae4104a3973d693e02104fa119243256e3d986f8b4966c286ab8cb1f5267c0bbd6bc182aeb57493a5d5b60158b97eb74862fbca41763e8d3a7beb5fccd05565b75a3a43c2b38b96eb2ccff149c23ef1ac09fc455d808ff28081e985f9e172fc62d0900585172cfbff87383595]\n[sha = SHA-512]\n\n# tcId = 355\n# r and s^-1 are close to n\nmsg = 313233343030\nresult = valid\nsig = 308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138638a0242015555555555555555555555555555555555555555555555555555555555555555518baf05027f750ef25532ab85fa066e8ad2793125b112da747cf524bf0b7aed5b\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 0401aa9f3a894b727d7a01b09c4f051b469d661de1e06915b599e211463319ac1b7ca8a6097f1be401d70a71d0b53655cdf9bef748d886e08ee7de2fa781e93ec41a2601ba9ea67385e19894fc9cd4b0173ab215f7b96f23bc420665d46c75447bf200ae3ac7b42bd9b857fd1c85cce8ea9c8d2345e4687dd70df59f5149510735bb9c7b64]\n[key.wx = 1aa9f3a894b727d7a01b09c4f051b469d661de1e06915b599e211463319ac1b7ca8a6097f1be401d70a71d0b53655cdf9bef748d886e08ee7de2fa781e93ec41a26]\n[key.wy = 1ba9ea67385e19894fc9cd4b0173ab215f7b96f23bc420665d46c75447bf200ae3ac7b42bd9b857fd1c85cce8ea9c8d2345e4687dd70df59f5149510735bb9c7b64]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401aa9f3a894b727d7a01b09c4f051b469d661de1e06915b599e211463319ac1b7ca8a6097f1be401d70a71d0b53655cdf9bef748d886e08ee7de2fa781e93ec41a2601ba9ea67385e19894fc9cd4b0173ab215f7b96f23bc420665d46c75447bf200ae3ac7b42bd9b857fd1c85cce8ea9c8d2345e4687dd70df59f5149510735bb9c7b64]\n[sha = SHA-512]\n\n# tcId = 356\n# s == 1\nmsg = 313233343030\nresult = valid\nsig = 3047024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad020101\n\n# tcId = 357\n# s == 0\nmsg = 313233343030\nresult = invalid\nsig = 3047024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad020100\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 04002a07f13f3e8df382145b7942fe6f91c12ff3064b314b4e3476bf3afbb982070f17f63b2de5fbe8c91a87ae632869facf17d5ce9d139b37ed557581bb9a7e4b8fa30024b904c5fc536ae53b323a7fd0b7b8e420302406ade84ea8a10ca7c5c934bad5489db6e3a8cc3064602cc83f309e9d247aae72afca08336bc8919e15f4be5ad77a]\n[key.wx = 2a07f13f3e8df382145b7942fe6f91c12ff3064b314b4e3476bf3afbb982070f17f63b2de5fbe8c91a87ae632869facf17d5ce9d139b37ed557581bb9a7e4b8fa3]\n[key.wy = 24b904c5fc536ae53b323a7fd0b7b8e420302406ade84ea8a10ca7c5c934bad5489db6e3a8cc3064602cc83f309e9d247aae72afca08336bc8919e15f4be5ad77a]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004002a07f13f3e8df382145b7942fe6f91c12ff3064b314b4e3476bf3afbb982070f17f63b2de5fbe8c91a87ae632869facf17d5ce9d139b37ed557581bb9a7e4b8fa30024b904c5fc536ae53b323a7fd0b7b8e420302406ade84ea8a10ca7c5c934bad5489db6e3a8cc3064602cc83f309e9d247aae72afca08336bc8919e15f4be5ad77a]\n[sha = SHA-512]\n\n# tcId = 358\n# point at infinity during verify\nmsg = 313233343030\nresult = invalid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd28c343c1df97cb35bfe600a47b84d2e81ddae4dc44ce23d75db7db8f489c3204024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[k", - "ey.uncompressed = 040060daf59638158ed9d3d7e8428501334764162f9be239e168fae9af348c30a7be1cfa4d9636c3bb621d7e0aa71446f8d4a37f2d43274a4255b226f612382f63152e016e48300124a636b206fad4d0355862a852623799afee941e864d96dcbf55b801cabd6249b6f567506d5a503e7d03b4764c70fc44c5365f32c3603678476d62b09d]\n[key.wx = 60daf59638158ed9d3d7e8428501334764162f9be239e168fae9af348c30a7be1cfa4d9636c3bb621d7e0aa71446f8d4a37f2d43274a4255b226f612382f63152e]\n[key.wy = 16e48300124a636b206fad4d0355862a852623799afee941e864d96dcbf55b801cabd6249b6f567506d5a503e7d03b4764c70fc44c5365f32c3603678476d62b09d]\n[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040060daf59638158ed9d3d7e8428501334764162f9be239e168fae9af348c30a7be1cfa4d9636c3bb621d7e0aa71446f8d4a37f2d43274a4255b226f612382f63152e016e48300124a636b206fad4d0355862a852623799afee941e864d96dcbf55b801cabd6249b6f567506d5a503e7d03b4764c70fc44c5365f32c3603678476d62b09d]\n[sha = SHA-512]\n\n# tcId = 359\n# u1 == 1\nmsg = 313233343030\nresult = valid\nsig = 308186024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad024043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 040051fe6a35a85070c7c29502a87672a38153d799aef734226b64d8fd3398621701117f0af9d9afaf6dbb8ca3007255dc79b0f41ed552512cb29207b15a01cdfdfaae01a16c61277586356efadcb24764f21f574ef96f2caabc3f47fa66fb8719d7785824061c2d6d7a4bcb851540e62b2f00960b283eac7808d1813ef51b46e1149d3e4d]\n[key.wx = 51fe6a35a85070c7c29502a87672a38153d799aef734226b64d8fd3398621701117f0af9d9afaf6dbb8ca3007255dc79b0f41ed552512cb29207b15a01cdfdfaae]\n[key.wy = 1a16c61277586356efadcb24764f21f574ef96f2caabc3f47fa66fb8719d7785824061c2d6d7a4bcb851540e62b2f00960b283eac7808d1813ef51b46e1149d3e4d]\n[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040051fe6a35a85070c7c29502a87672a38153d799aef734226b64d8fd3398621701117f0af9d9afaf6dbb8ca3007255dc79b0f41ed552512cb29207b15a01cdfdfaae01a16c61277586356efadcb24764f21f574ef96f2caabc3f47fa66fb8719d7785824061c2d6d7a4bcb851540e62b2f00960b283eac7808d1813ef51b46e1149d3e4d]\n[sha = SHA-512]\n\n# tcId = 360\n# u1 == n - 1\nmsg = 313233343030\nresult = valid\nsig = 308188024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad024201ffbc07ff041506dc73a75086a43252fb43b6327af3c6b2cc7d6acca94fdcdefd78dc0b56a22d16f2eec26ae0c1fb484d059300e80bd6b0472b3d1222ff5d08b03d\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 0400b4ffc0fff087607ad26c4b23d6d31ae5f904cc064e350f47131ce2784fbb359867988a559d4386752e56277bef34e26544dedda88cc20a3411fa98834eeae869ad009d6e8ca99949b7b34fd06a789744ecac3356247317c4d7aa9296676dd623594f3684bc13064cab8d2db7edbca91f1c8beb542bc97978a3f31f3610a03f46a982d2]\n[key.wx = 0b4ffc0fff087607ad26c4b23d6d31ae5f904cc064e350f47131ce2784fbb359867988a559d4386752e56277bef34e26544dedda88cc20a3411fa98834eeae869ad]\n[key.wy = 09d6e8ca99949b7b34fd06a789744ecac3356247317c4d7aa9296676dd623594f3684bc13064cab8d2db7edbca91f1c8beb542bc97978a3f31f3610a03f46a982d2]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400b4ffc0fff087607ad26c4b23d6d31ae5f904cc064e350f47131ce2784fbb359867988a559d4386752e56277bef34e26544dedda88cc20a3411fa98834eeae869ad009d6e8ca99949b7b34fd06a789744ecac3356247317c4d7aa9296676dd623594f3684bc13064cab8d2db7edbca91f1c8beb542bc97978a3f31f3610a03f46a982d2]\n[sha = SHA-512]\n\n# tcId = 361\n# u2 == 1\nmsg = 313233343030\nresult = valid\nsig = 308188024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 0400809fba320fe96ded24611b72a2a5428fe46049ff080d6e0813ab7a35897018fe6418613abd860d1eb484959059a01af7d68cba69d1c52ea64ad0f28a18a41fc78a01108acc5577e9e8962e2a7cea0bb37df1d0ca4050fb6cfeba41a7f868d988dbbcebc962986748fa485183f6b60f453ec8606f8c33d43767dddbbef8c412b2c37939]\n[key.wx = 0809fba320fe96ded24611b72a2a5428fe46049ff080d6e0813ab7a35897018fe6418613abd860d1eb484959059a01af7d68cba69d1c52ea64ad0f28a18a41fc78a]\n[key.wy = 1108acc5577e9e8962e2a7cea0bb37df1d0ca4050fb6cfeba41a7f868d988dbbcebc962986748fa485183f6b60f453ec8606f8c33d43767dddbbef8c412b2c37939]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400809fba320fe96ded24611b72a2a5428fe46049ff080d6e0813ab7a35897018fe6418613abd860d1eb484959059a01af7d68cba69d1c52ea64ad0f28a18a41fc78a01108acc5577e9e8962e2a7cea0bb37df1d0ca4050fb6cfeba41a7f868d988dbbcebc962986748fa485183f6b60f453ec8606f8c33d43767dddbbef8c412b2c37939]\n[sha = SHA-512]\n\n# tcId = 362\n# u2 == n - 1\nmsg = 313233343030\nresult = valid\nsig = 308188024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad0242015555555555555555555555555555555555555555555555555555555555555555518baf05027f750ef25532ab85fa066e8ad2793125b112da747cf524bf0b7aed5c\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 040145130dca77d9674dfceffa851b4a2672e490e8fba8277622b0020e2fe9101e76933b0c01d248071f854e9bc523733936dc0b9930cbe154b9a402f681ee3c6cef6b000d0c94b2ad28556643aa3d27523048d227a1de82f8a664707e75394d21da181bec82e1afb0e627539531affa849a2409bcac83fb786c351c88bac2fb2e4322e54a]\n[key.wx = 145130dca77d9674dfceffa851b4a2672e490e8fba8277622b0020e2fe9101e76933b0c01d248071f854e9bc523733936dc0b9930cbe154b9a402f681ee3c6cef6b]\n[key.wy = 0d0c94b2ad28556643aa3d27523048d227a1de82f8a664707e75394d21da181bec82e1afb0e627539531affa849a2409bcac83fb786c351c88bac2fb2e4322e54a]\n[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040145130dca77d9674dfceffa851b4a2672e490e8fba8277622b0020e2fe9101e76933b0c01d248071f854e9bc523733936dc0b9930cbe154b9a402f681ee3c6cef6b000d0c94b2ad28556643aa3d27523048d227a1de82f8a664707e75394d21da181bec82e1afb0e627539531affa849a2409bcac83fb786c351c88bac2fb2e4322e54a]\n[sha = SHA-512]\n\n# tcId = 363\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024201556bfd55a94e530bd972e52873ef39ac3ec34481aebdc46680dc66723ab66056275d82bff85ad29ac694530bb2f89c36ce600ad1b49761854afc69ab741ce0294a\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 0400ed3e09809fe5985818f90592fd06e71d2c493d9a781714c9157cbafa5ba196b987fd49ae24274c76251c70b9f7970f1f713ad274590a702f463c73a0704831ce5d00cac278297093bd9f9ac2d00bef3d67a01b43b28b9f829407264c738117438300c7704772976916ea102a776262ccf4222cc348c34aac683d8f00179a348323babd]\n[key.wx = 0ed3e09809fe5985818f90592fd06e71d2c493d9a781714c9157cbafa5ba196b987fd49ae24274c76251c70b9f7970f1f713ad274590a702f463c73a0704831ce5d]\n[key.wy = 0cac278297093bd9f9ac2d00bef3d67a01b43b28b9f829407264c738117438300c7704772976916ea102a776262ccf4222cc348c34aac683d8f00179a348323babd]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400ed3e09809fe5985818f90592fd06e71d2c493d9a781714c9157cbafa5ba196b987fd49ae24274c76251c70b9f7970f1f713ad274590a702f463c73a0704831ce5d00cac278297093bd9f9ac2d00bef3d67a01b43b28b9f829407264c738117438300c7704772976916ea102a776262ccf4222cc348c34aac683d8f00179a348323babd]\n[sha = SHA-512]\n\n# tcId = 364\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024200dcf9e7f441448a125b96d72b989d9f4dac7508c7e036f6080d4758e736f5e0636b0ff503f128a98d08e0ae189921065219d2cc3aa83e3c660ca0cb85e7c11a24d0\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 04000ac2c5a4c79309a5132d5d7494befb3905d33fda5f80eeaf63775183aae7af108a3d97f3a441532cf6fac47f6c898329d69182e1fa07ce45997ebec3781c9ad7410173a5b6b80a8b73d30ac97e1a4aacb773c", - "1ad692c5ea63f68e373842782bd677864ff656cf8d1e6ec1e58e9a83856ef92677555916749fb95e800ae2e011618ca3a]\n[key.wx = 0ac2c5a4c79309a5132d5d7494befb3905d33fda5f80eeaf63775183aae7af108a3d97f3a441532cf6fac47f6c898329d69182e1fa07ce45997ebec3781c9ad741]\n[key.wy = 173a5b6b80a8b73d30ac97e1a4aacb773c1ad692c5ea63f68e373842782bd677864ff656cf8d1e6ec1e58e9a83856ef92677555916749fb95e800ae2e011618ca3a]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004000ac2c5a4c79309a5132d5d7494befb3905d33fda5f80eeaf63775183aae7af108a3d97f3a441532cf6fac47f6c898329d69182e1fa07ce45997ebec3781c9ad7410173a5b6b80a8b73d30ac97e1a4aacb773c1ad692c5ea63f68e373842782bd677864ff656cf8d1e6ec1e58e9a83856ef92677555916749fb95e800ae2e011618ca3a]\n[sha = SHA-512]\n\n# tcId = 365\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 308187024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024166eb57733c19a7003cf8253279fce41907bc4f127153c4576dd4814f8b335a0b51560b4447f0382c69b3fe509522c891f0eec3999ad2526835f33ae22a642843af\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 0401eb2a353dec6b460fbda49c67f431190fff6f195639c226ef8fefcbf191d72529a12cc5485b282a52704c1fd84529a1aa0ad794f96493e299718d2618a1b83a526c01f704604d5b2b94a42bfc3ab93317d66a54de15258337433fc96a965d8e2d056fd1134b7989d7b3f709adc28227bdabc11fe2f359c6a6e5111ab43379ca25b66f2f]\n[key.wx = 1eb2a353dec6b460fbda49c67f431190fff6f195639c226ef8fefcbf191d72529a12cc5485b282a52704c1fd84529a1aa0ad794f96493e299718d2618a1b83a526c]\n[key.wy = 1f704604d5b2b94a42bfc3ab93317d66a54de15258337433fc96a965d8e2d056fd1134b7989d7b3f709adc28227bdabc11fe2f359c6a6e5111ab43379ca25b66f2f]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401eb2a353dec6b460fbda49c67f431190fff6f195639c226ef8fefcbf191d72529a12cc5485b282a52704c1fd84529a1aa0ad794f96493e299718d2618a1b83a526c01f704604d5b2b94a42bfc3ab93317d66a54de15258337433fc96a965d8e2d056fd1134b7989d7b3f709adc28227bdabc11fe2f359c6a6e5111ab43379ca25b66f2f]\n[sha = SHA-512]\n\n# tcId = 366\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0242017106d1131b3300d7ffbc07ff041506dc73a75086a43252fb43b6327af3c6b2cc79527ac09f0a3f0a8aa38285585b6afceac5ff6692842232d106d15d4df1b66aa8\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 0401e43dfecc7e6caad03d17b407322c878f701c5add6eb2afcd786ff3803622dfbb6baa01246e1ea059f7b78842919b2507daa9e3434efa7e8d3ae6c35499f82d0ac8018b0e4d6378222a07ccdb4214001f97b1a503d1aac3ab925ea64faa9c739ba04ee3480b147cb07f93edf40b6856a22f4159c3f5cd6c9e7165452907c8d02fab201e]\n[key.wx = 1e43dfecc7e6caad03d17b407322c878f701c5add6eb2afcd786ff3803622dfbb6baa01246e1ea059f7b78842919b2507daa9e3434efa7e8d3ae6c35499f82d0ac8]\n[key.wy = 18b0e4d6378222a07ccdb4214001f97b1a503d1aac3ab925ea64faa9c739ba04ee3480b147cb07f93edf40b6856a22f4159c3f5cd6c9e7165452907c8d02fab201e]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401e43dfecc7e6caad03d17b407322c878f701c5add6eb2afcd786ff3803622dfbb6baa01246e1ea059f7b78842919b2507daa9e3434efa7e8d3ae6c35499f82d0ac8018b0e4d6378222a07ccdb4214001f97b1a503d1aac3ab925ea64faa9c739ba04ee3480b147cb07f93edf40b6856a22f4159c3f5cd6c9e7165452907c8d02fab201e]\n[sha = SHA-512]\n\n# tcId = 367\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 308187024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02416d1131b3300d7ffbc07ff041506dc73a75086a43252fb43b6327af3c6b2cc7d6ab94bf496f53ea229e7fe6b456088ea32f6e2b104f5112798bb59d46a0d468f838\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 040141a4d714628c192b8ace1a42854da06e0e1ddb82a07618e4efb05d7095cd1eb65425078160594715eaf59fcb41c9e573fe10298c75c9e9135c775ca73f63d13aac0089524b475170d4391cc032a0543ea22dab60ea07538f3a37607f0d4ed516634fde545e2f0a6ba8d0d2fe6aded0a771b4b134a5a280e54799fa476ef0ec87d44e1c]\n[key.wx = 141a4d714628c192b8ace1a42854da06e0e1ddb82a07618e4efb05d7095cd1eb65425078160594715eaf59fcb41c9e573fe10298c75c9e9135c775ca73f63d13aac]\n[key.wy = 089524b475170d4391cc032a0543ea22dab60ea07538f3a37607f0d4ed516634fde545e2f0a6ba8d0d2fe6aded0a771b4b134a5a280e54799fa476ef0ec87d44e1c]\n[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040141a4d714628c192b8ace1a42854da06e0e1ddb82a07618e4efb05d7095cd1eb65425078160594715eaf59fcb41c9e573fe10298c75c9e9135c775ca73f63d13aac0089524b475170d4391cc032a0543ea22dab60ea07538f3a37607f0d4ed516634fde545e2f0a6ba8d0d2fe6aded0a771b4b134a5a280e54799fa476ef0ec87d44e1c]\n[sha = SHA-512]\n\n# tcId = 368\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024200da226366601afff780ffe082a0db8e74ea10d4864a5f6876c64f5e78d6598fad57297e92dea7d4453cffcd68ac111d465edc56209ea224f3176b3a8d41a8d1f070\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 040147fbcc65d4818e029e0a3af13a1f7c90f0605a00cd0781200eb656a591d669a787620e6fc8cc594aa28a0b0f2939ec73472c494e09cecaf5f331dafd32d5ac31c30075432bdaeecaa0bec7feddc298c565723fb669ee76e38a4c5ff1701f1b38cda9dc9ac43bff18da2047e4dcd80c05a7bb7e7464829d608b68176b04c87f409f46d6]\n[key.wx = 147fbcc65d4818e029e0a3af13a1f7c90f0605a00cd0781200eb656a591d669a787620e6fc8cc594aa28a0b0f2939ec73472c494e09cecaf5f331dafd32d5ac31c3]\n[key.wy = 75432bdaeecaa0bec7feddc298c565723fb669ee76e38a4c5ff1701f1b38cda9dc9ac43bff18da2047e4dcd80c05a7bb7e7464829d608b68176b04c87f409f46d6]\n[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040147fbcc65d4818e029e0a3af13a1f7c90f0605a00cd0781200eb656a591d669a787620e6fc8cc594aa28a0b0f2939ec73472c494e09cecaf5f331dafd32d5ac31c30075432bdaeecaa0bec7feddc298c565723fb669ee76e38a4c5ff1701f1b38cda9dc9ac43bff18da2047e4dcd80c05a7bb7e7464829d608b68176b04c87f409f46d6]\n[sha = SHA-512]\n\n# tcId = 369\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0242011b3300d7ffbc07ff041506dc73a75086a43252fb43b6327af3c6b2cc7d6acca94cb85df5e6c1125394fcd34f6521ffdaddd98f88a99fedcedd9384288bb793cf2f\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 0400b5b1c3998589b25c96a700bbd450d04da1f273df8053767a3b03ed1a763ed089c0de99bcf54d49c1520d3a09b845296f0445b3bd5b87918d3752cf651e0ff3007b00e896380876b9419c56096914ff6eec01aee247eefef0741895f14ee280f360e11508c37826af82cd915b9002f046cb51008d9ead21124c591bd8265d1492b35ffb]\n[key.wx = 0b5b1c3998589b25c96a700bbd450d04da1f273df8053767a3b03ed1a763ed089c0de99bcf54d49c1520d3a09b845296f0445b3bd5b87918d3752cf651e0ff3007b]\n[key.wy = 0e896380876b9419c56096914ff6eec01aee247eefef0741895f14ee280f360e11508c37826af82cd915b9002f046cb51008d9ead21124c591bd8265d1492b35ffb]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400b5b1c3998589b25c96a700bbd450d04da1f273df8053767a3b03ed1a763ed089c0de99bcf54d49c1520d3a09b845296f0445b3bd5b87918d3752cf651e0ff3007b00e896380876b9419c56096914ff6eec01aee247eefef0741895f14ee280f360e11508c37826af82cd915b9002f046cb51008d9ead21124c591bd8265d1492b35ffb]\n[sha = SHA-512]\n\n# tcId = 370\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02420161be37ed5f748e06a89d72c4b7051cae809d9567848b1d8d7ed019221efb06ae81e1264ce49c5d29ee5fe22ccf70899002643aca7b99f57756f2639b6d459ae410\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 0401aadb41fadc35cf6d11a7c7d01d049b74b37677f04e1bd3dc08450fabae28adcd2d135f966616d283fb18a5e69eabfe7ec41e1a0edb3682f1d39f2af64a94d602b9014ae81ebf5e3d2d0529479d4ae8eb05f4b42e519608466ad69e7662d6e9b236765f9be535c058f00f0866bbb4b172ef47a03cb97c58dde5750344bb293035f8e97e]\n[key.wx = 1aadb41fadc35cf6d11a7c7d01d049b74b37677f04e1bd3dc", - "08450fabae28adcd2d135f966616d283fb18a5e69eabfe7ec41e1a0edb3682f1d39f2af64a94d602b9]\n[key.wy = 14ae81ebf5e3d2d0529479d4ae8eb05f4b42e519608466ad69e7662d6e9b236765f9be535c058f00f0866bbb4b172ef47a03cb97c58dde5750344bb293035f8e97e]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401aadb41fadc35cf6d11a7c7d01d049b74b37677f04e1bd3dc08450fabae28adcd2d135f966616d283fb18a5e69eabfe7ec41e1a0edb3682f1d39f2af64a94d602b9014ae81ebf5e3d2d0529479d4ae8eb05f4b42e519608466ad69e7662d6e9b236765f9be535c058f00f0866bbb4b172ef47a03cb97c58dde5750344bb293035f8e97e]\n[sha = SHA-512]\n\n# tcId = 371\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024201e9bbbd64270b9668f7623ef7cbead5483eb07b883cf39fb6884aab67dac7958b0e03144357b9433e69adc696c86c63a23d35724cbd749b7c34f8e34232d21ea420\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 0401b706fc3f4aae5b86da261a66fbce47eb3b3e1e91544a40a9989fccf74154bbecac042dbbbf411a39090058b62c46fccd1d5eaba0c4879a688ea5fd0a7b4f9a0b4f01eda01930c6b22745a97f2d59e182598dfdfbfdb463335293901de7fc9d49cf55ed7fcf5d767d4c22f89f171b4137c8415c3ed438089270c41f88eadef3018140e1]\n[key.wx = 1b706fc3f4aae5b86da261a66fbce47eb3b3e1e91544a40a9989fccf74154bbecac042dbbbf411a39090058b62c46fccd1d5eaba0c4879a688ea5fd0a7b4f9a0b4f]\n[key.wy = 1eda01930c6b22745a97f2d59e182598dfdfbfdb463335293901de7fc9d49cf55ed7fcf5d767d4c22f89f171b4137c8415c3ed438089270c41f88eadef3018140e1]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401b706fc3f4aae5b86da261a66fbce47eb3b3e1e91544a40a9989fccf74154bbecac042dbbbf411a39090058b62c46fccd1d5eaba0c4879a688ea5fd0a7b4f9a0b4f01eda01930c6b22745a97f2d59e182598dfdfbfdb463335293901de7fc9d49cf55ed7fcf5d767d4c22f89f171b4137c8415c3ed438089270c41f88eadef3018140e1]\n[sha = SHA-512]\n\n# tcId = 372\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024200924449b6c96f3758e3b085c079714f11f28d039b11699f0e9b3e7c553c8fc6c8f5212fec5eac3068713b8ec72fc6e2a90872b94e161a89822887f4a9bd5c9efd74\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 040058a1fa96111bf30be76c3b8ba4435666677b6dd05031b5c4a840e1ea81f6025f70e1d395ef63cb59fa71e3674cb678f7250887f5d734e3ec377dbe3ae637d24f82007a4eaf02cc57e658b5b9fa08ee30e0ef5b3429bb5a10438b0e05bacaebc60317010a334d7f896028aef620f5d9c7cabc38306e032b1b91c2376c3fef3e455a10df]\n[key.wx = 58a1fa96111bf30be76c3b8ba4435666677b6dd05031b5c4a840e1ea81f6025f70e1d395ef63cb59fa71e3674cb678f7250887f5d734e3ec377dbe3ae637d24f82]\n[key.wy = 7a4eaf02cc57e658b5b9fa08ee30e0ef5b3429bb5a10438b0e05bacaebc60317010a334d7f896028aef620f5d9c7cabc38306e032b1b91c2376c3fef3e455a10df]\n[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040058a1fa96111bf30be76c3b8ba4435666677b6dd05031b5c4a840e1ea81f6025f70e1d395ef63cb59fa71e3674cb678f7250887f5d734e3ec377dbe3ae637d24f82007a4eaf02cc57e658b5b9fa08ee30e0ef5b3429bb5a10438b0e05bacaebc60317010a334d7f896028aef620f5d9c7cabc38306e032b1b91c2376c3fef3e455a10df]\n[sha = SHA-512]\n\n# tcId = 373\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024201554a01552b58d67a13468d6bc6086329e09e5dbf28a11dccbf91ccc6e2a4cfd4e6a2c5278791c6490835a27b6f7abb8a690bb060de3deb85093d3ae16482c84f64\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 0400303ba5ef90b05110002fdf74d2b8d4c7ab189c64004859c69d7c4730fcacb5f4d9b761ae987d1f3b63bb3ecb78aeecf4a04ff60f5f367a96ac2da8da27a3687a3e006673d0d4ccd4c3ce1abc9980fd1885002c3e7b86078214caf7f0962fa51e116363032d7a1b93c92a4d62827549d5a33e4e6b9b6c2ab6ad9c2a15e410c5b1a846b2]\n[key.wx = 303ba5ef90b05110002fdf74d2b8d4c7ab189c64004859c69d7c4730fcacb5f4d9b761ae987d1f3b63bb3ecb78aeecf4a04ff60f5f367a96ac2da8da27a3687a3e]\n[key.wy = 6673d0d4ccd4c3ce1abc9980fd1885002c3e7b86078214caf7f0962fa51e116363032d7a1b93c92a4d62827549d5a33e4e6b9b6c2ab6ad9c2a15e410c5b1a846b2]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400303ba5ef90b05110002fdf74d2b8d4c7ab189c64004859c69d7c4730fcacb5f4d9b761ae987d1f3b63bb3ecb78aeecf4a04ff60f5f367a96ac2da8da27a3687a3e006673d0d4ccd4c3ce1abc9980fd1885002c3e7b86078214caf7f0962fa51e116363032d7a1b93c92a4d62827549d5a33e4e6b9b6c2ab6ad9c2a15e410c5b1a846b2]\n[sha = SHA-512]\n\n# tcId = 374\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024200aa9402aa56b1acf4268d1ad78c10c653c13cbb7e51423b997f23998dc5499fa9d2f403c78b645cfba4eb78f595fe6d6f01dbaaf803f23ac263bf060baa74583abf\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 0400a94eea843a5c49637041598e30c381f7173bf8cd127f3caf5c16cbc728aa4d99173fb38d6a1b1ec21e40336e8d802249272b0ccbf4f8c3636ef66290a81b58fa5b01116c23464fad61df8d2d5d1250a5a4c427e9c58e2cf1d059cdd88a7c34984fdd22a4cf18411e1b0224d444a5bd39d5fc97fc0b3648600f19d6ab80aa6a7c083a17]\n[key.wx = 0a94eea843a5c49637041598e30c381f7173bf8cd127f3caf5c16cbc728aa4d99173fb38d6a1b1ec21e40336e8d802249272b0ccbf4f8c3636ef66290a81b58fa5b]\n[key.wy = 1116c23464fad61df8d2d5d1250a5a4c427e9c58e2cf1d059cdd88a7c34984fdd22a4cf18411e1b0224d444a5bd39d5fc97fc0b3648600f19d6ab80aa6a7c083a17]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400a94eea843a5c49637041598e30c381f7173bf8cd127f3caf5c16cbc728aa4d99173fb38d6a1b1ec21e40336e8d802249272b0ccbf4f8c3636ef66290a81b58fa5b01116c23464fad61df8d2d5d1250a5a4c427e9c58e2cf1d059cdd88a7c34984fdd22a4cf18411e1b0224d444a5bd39d5fc97fc0b3648600f19d6ab80aa6a7c083a17]\n[sha = SHA-512]\n\n# tcId = 375\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024201ffde03ff820a836e39d3a8435219297da1db193d79e359663eb56654a7ee6f7eb996c8ef12f62344ad211b71057928f96ae75b58e23026476cfc40ed0ef7208a23\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 04014f71d2ca5bd2051336854657f09a1fab14c7f2f7865d71bd3fa354bf27b69dc8738972140553b525658b6fd203cc05ca0822e0904bad21b632e0de74a2ad3f0e72004525f90519f9497425460b31cbb69ab3701a9ea68aaab72c6d65d364d0f0ed4d0524280f113bd69ef1ba9825202b10287a088c4bf30debecb720ac0739ec67434d]\n[key.wx = 14f71d2ca5bd2051336854657f09a1fab14c7f2f7865d71bd3fa354bf27b69dc8738972140553b525658b6fd203cc05ca0822e0904bad21b632e0de74a2ad3f0e72]\n[key.wy = 4525f90519f9497425460b31cbb69ab3701a9ea68aaab72c6d65d364d0f0ed4d0524280f113bd69ef1ba9825202b10287a088c4bf30debecb720ac0739ec67434d]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004014f71d2ca5bd2051336854657f09a1fab14c7f2f7865d71bd3fa354bf27b69dc8738972140553b525658b6fd203cc05ca0822e0904bad21b632e0de74a2ad3f0e72004525f90519f9497425460b31cbb69ab3701a9ea68aaab72c6d65d364d0f0ed4d0524280f113bd69ef1ba9825202b10287a088c4bf30debecb720ac0739ec67434d]\n[sha = SHA-512]\n\n# tcId = 376\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0242013375abb99e0cd3801e7c12993cfe720c83de278938a9e22bb6ea40a7c599ad05a5d3c8e5e5d7b3e16a99e528ef0ce91be0953cb1a9adf757f257554ca47ab053dc\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 0401d2ecad921dd100a8dc1a7b824b0ac6c9b654ab179833c2881ce237f1b8497ade851302cf50ea5ea169c2a50c0c09cb6ea539a7290a0f3437044b7a2e9ca8d40500003fd5651535dcba1f331981c216a1c7d9842f65c5f38ca43dd71c41e19efcac384617656fd0afdd83c50c5e524e9b672b7aa8a66b289afa688e45ca6edb3477a8b0]\n[key.wx = 1d2ecad921dd100a8dc1a7b824b0ac6c9b654ab179833c2881ce237f1b8497ade851302cf50ea5ea169c2a50c0c09cb6ea539a7290a0f3437044b7a2e9ca8d40500]\n[key.wy = 3fd5651535dcba1f331981c216a1c7d9842f65c5f38ca43dd71c41e19efcac3", - "84617656fd0afdd83c50c5e524e9b672b7aa8a66b289afa688e45ca6edb3477a8b0]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401d2ecad921dd100a8dc1a7b824b0ac6c9b654ab179833c2881ce237f1b8497ade851302cf50ea5ea169c2a50c0c09cb6ea539a7290a0f3437044b7a2e9ca8d40500003fd5651535dcba1f331981c216a1c7d9842f65c5f38ca43dd71c41e19efcac384617656fd0afdd83c50c5e524e9b672b7aa8a66b289afa688e45ca6edb3477a8b0]\n[sha = SHA-512]\n\n# tcId = 377\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 308187024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02415555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555554\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 040165d67972a48fddc2f41c03f79ab5e0d42fd0992c013ead135c3394049645e26ad7c7be96510df59ba677dc94f1146e8e8e8fbe56debcb66920639581956b92b4d1008aeb66ee0be18abaa909a973c70b5749d688f8e2cd2e6e1613af93d0033492d26a6e82cfb80ac6925ac6bc79b984f73e3ebbff2f223a38676891c1ecd784a8a789]\n[key.wx = 165d67972a48fddc2f41c03f79ab5e0d42fd0992c013ead135c3394049645e26ad7c7be96510df59ba677dc94f1146e8e8e8fbe56debcb66920639581956b92b4d1]\n[key.wy = 08aeb66ee0be18abaa909a973c70b5749d688f8e2cd2e6e1613af93d0033492d26a6e82cfb80ac6925ac6bc79b984f73e3ebbff2f223a38676891c1ecd784a8a789]\n[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040165d67972a48fddc2f41c03f79ab5e0d42fd0992c013ead135c3394049645e26ad7c7be96510df59ba677dc94f1146e8e8e8fbe56debcb66920639581956b92b4d1008aeb66ee0be18abaa909a973c70b5749d688f8e2cd2e6e1613af93d0033492d26a6e82cfb80ac6925ac6bc79b984f73e3ebbff2f223a38676891c1ecd784a8a789]\n[sha = SHA-512]\n\n# tcId = 378\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0242009f57708fa97eba94c6d4782cdd4e33bb95c1353bde095232e3e2bab277bb5d2b48f55a53ffe928d034c29970a9e5f384a003907d3d9b82a86817cc61fb17f4c59e\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 04018cd11252f0a434f446d3af18518c6b84cb0b7bf33758b4d83b97c2a56e0037b54d57d2b0b842e9c17d70504e01896389c066db8f2bfec025259a51dff51466830801cca54365156c59e2c73c17664f09fcdcfd5b910f9ab48d0899b6a7064de8b80fc7a992e47ee7f23ec82fd80179a19f4cf89b4c02b7218f435298da5d322a982c1e]\n[key.wx = 18cd11252f0a434f446d3af18518c6b84cb0b7bf33758b4d83b97c2a56e0037b54d57d2b0b842e9c17d70504e01896389c066db8f2bfec025259a51dff514668308]\n[key.wy = 1cca54365156c59e2c73c17664f09fcdcfd5b910f9ab48d0899b6a7064de8b80fc7a992e47ee7f23ec82fd80179a19f4cf89b4c02b7218f435298da5d322a982c1e]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004018cd11252f0a434f446d3af18518c6b84cb0b7bf33758b4d83b97c2a56e0037b54d57d2b0b842e9c17d70504e01896389c066db8f2bfec025259a51dff51466830801cca54365156c59e2c73c17664f09fcdcfd5b910f9ab48d0899b6a7064de8b80fc7a992e47ee7f23ec82fd80179a19f4cf89b4c02b7218f435298da5d322a982c1e]\n[sha = SHA-512]\n\n# tcId = 379\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 308187024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024168d98fa90736eff3e90f8fcfe50838b6fa0bf2cde77bc51e3f41019c8006f4e9cbaeadce7dbb44462da6425be9cfdaecb234c41749ce695be1b5ead2e6b1205f35\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 0401d6329a8afdea27cf1028a44d19c3c72927590d64628775f324514c81de301aa9be9c775c53a6349d1cbd5ecfc7bd39b373e613a10c1439441b141430fdadac168c00071342d63dba901b93bdc444a1fe2ec6a15108bdf49eb1dfd218373884520d84bce03c5012f5837051cb8abf6a0be78dfdfeeb3a5872dff75b3f874faa6d2243bf]\n[key.wx = 1d6329a8afdea27cf1028a44d19c3c72927590d64628775f324514c81de301aa9be9c775c53a6349d1cbd5ecfc7bd39b373e613a10c1439441b141430fdadac168c]\n[key.wy = 71342d63dba901b93bdc444a1fe2ec6a15108bdf49eb1dfd218373884520d84bce03c5012f5837051cb8abf6a0be78dfdfeeb3a5872dff75b3f874faa6d2243bf]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401d6329a8afdea27cf1028a44d19c3c72927590d64628775f324514c81de301aa9be9c775c53a6349d1cbd5ecfc7bd39b373e613a10c1439441b141430fdadac168c00071342d63dba901b93bdc444a1fe2ec6a15108bdf49eb1dfd218373884520d84bce03c5012f5837051cb8abf6a0be78dfdfeeb3a5872dff75b3f874faa6d2243bf]\n[sha = SHA-512]\n\n# tcId = 380\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024200e97ae66bcd4cae36fffffffffffffffffffffffffffffffffffffffffffffffffd68bc9726f02dbf8598a98b3e5077eff6f2491eb678ed040fb338c084a9ea8a4c\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 0401c963b64cdc3ecb1c35cda5ced9419ac146b060adb04c638cf6b66658013cb25e915a6ad0055668342881ed27f438b50ae4bb86ae3c7c02b727a130c77bad69800800481bfffaead856b4137fd4268ecd74a6c2d4bd6cd13998ce7f0e828b220135d8df23253e681dc90673e0537e7590769a2a441aaaaa3a9901c4fbe44fa9513951ef]\n[key.wx = 1c963b64cdc3ecb1c35cda5ced9419ac146b060adb04c638cf6b66658013cb25e915a6ad0055668342881ed27f438b50ae4bb86ae3c7c02b727a130c77bad698008]\n[key.wy = 481bfffaead856b4137fd4268ecd74a6c2d4bd6cd13998ce7f0e828b220135d8df23253e681dc90673e0537e7590769a2a441aaaaa3a9901c4fbe44fa9513951ef]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401c963b64cdc3ecb1c35cda5ced9419ac146b060adb04c638cf6b66658013cb25e915a6ad0055668342881ed27f438b50ae4bb86ae3c7c02b727a130c77bad69800800481bfffaead856b4137fd4268ecd74a6c2d4bd6cd13998ce7f0e828b220135d8df23253e681dc90673e0537e7590769a2a441aaaaa3a9901c4fbe44fa9513951ef]\n[sha = SHA-512]\n\n# tcId = 381\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024201ae66bcd4cae36ffffffffffffffffffffffffffffffffffffffffffffffffffffb3954212f8bea578d93e685e5dba329811b2542bb398233e2944bceb19263325d\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 04005dfbc867d53c57b2945502b8e56d96ca2d4d485aa33452200a2f4ba16042357976afeecf3e63b2fdcd5cdd76076c1a73e496caf9d6de3e8831d955d138e05884ae01e04aa0b5360a0d3badd0120fbb8cc42a38bf1c61755d00858e40e4b10da4ea2575830dc92e312c20af2b8b167d7a58d178661d48cd932fe47a4bc7145e620ae22c]\n[key.wx = 5dfbc867d53c57b2945502b8e56d96ca2d4d485aa33452200a2f4ba16042357976afeecf3e63b2fdcd5cdd76076c1a73e496caf9d6de3e8831d955d138e05884ae]\n[key.wy = 1e04aa0b5360a0d3badd0120fbb8cc42a38bf1c61755d00858e40e4b10da4ea2575830dc92e312c20af2b8b167d7a58d178661d48cd932fe47a4bc7145e620ae22c]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004005dfbc867d53c57b2945502b8e56d96ca2d4d485aa33452200a2f4ba16042357976afeecf3e63b2fdcd5cdd76076c1a73e496caf9d6de3e8831d955d138e05884ae01e04aa0b5360a0d3badd0120fbb8cc42a38bf1c61755d00858e40e4b10da4ea2575830dc92e312c20af2b8b167d7a58d178661d48cd932fe47a4bc7145e620ae22c]\n[sha = SHA-512]\n\n# tcId = 382\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0242015ccd79a995c6dffffffffffffffffffffffffffffffffffffffffffffffffffffc2121badb58a518afa8010a82c03cad31fa94bbbde96820166d27e644938e00b1\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 040078be6c43e366cf63ddc4235e8b969386e95012fbca5cebf1b0a6fe3c03c1257df7cf47b002eb6c4497f310bff6131b5ccb54fd0e8ee7fcf6b49d487e1b54508f68009b61a547104c8516e0dc35d3d17659ca098d023b0593908fe979c29e62373738a3c30094ba47105a49edbc6e1d37cce317b49d2701470eeb53d9b24dce9d809166]\n[key.wx = 78be6c43e366cf63ddc4235e8b969386e95012fbca5cebf1b0a6fe3c03c1257df7cf47b002eb6c4497f310bff6131b5ccb54fd0e8ee7fcf6b49d487e1b54508f68]\n[key.wy = 09b61a547104c8516e0dc35d3d17659ca098d023b0593908fe979c29e62373738a3c30094ba47105a49edbc6e1d37cce317b49d2701470eeb53d9b24dce9d809166]\n[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040078be6c43e366cf63ddc4235e8b96", - "9386e95012fbca5cebf1b0a6fe3c03c1257df7cf47b002eb6c4497f310bff6131b5ccb54fd0e8ee7fcf6b49d487e1b54508f68009b61a547104c8516e0dc35d3d17659ca098d023b0593908fe979c29e62373738a3c30094ba47105a49edbc6e1d37cce317b49d2701470eeb53d9b24dce9d809166]\n[sha = SHA-512]\n\n# tcId = 383\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024201cd4cae36fffffffffffffffffffffffffffffffffffffffffffffffffffffffffae18dcc11dff7526233d923a0b202cb29e713f22de8bb6ab0a12821c5abbe3f23\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 040093f68961005f3040dc1a8ff1416c917bdcc77f1dfa85506c3bb62dac47f7be9529b4cbe57dd2c19e860bd2a0db71d47ef1eca8a20bfc3e0bc5e05c8303001c1960002b9a3d45f2f5120fee06445f0d34e6138e3ac5b16d2a22f0460cea258c368ca9e478eb7b8253e7c6f2f7250fdc7dcd7243761f8d56f2350ac51e47ee063f41da31]\n[key.wx = 093f68961005f3040dc1a8ff1416c917bdcc77f1dfa85506c3bb62dac47f7be9529b4cbe57dd2c19e860bd2a0db71d47ef1eca8a20bfc3e0bc5e05c8303001c1960]\n[key.wy = 2b9a3d45f2f5120fee06445f0d34e6138e3ac5b16d2a22f0460cea258c368ca9e478eb7b8253e7c6f2f7250fdc7dcd7243761f8d56f2350ac51e47ee063f41da31]\n[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040093f68961005f3040dc1a8ff1416c917bdcc77f1dfa85506c3bb62dac47f7be9529b4cbe57dd2c19e860bd2a0db71d47ef1eca8a20bfc3e0bc5e05c8303001c1960002b9a3d45f2f5120fee06445f0d34e6138e3ac5b16d2a22f0460cea258c368ca9e478eb7b8253e7c6f2f7250fdc7dcd7243761f8d56f2350ac51e47ee063f41da31]\n[sha = SHA-512]\n\n# tcId = 384\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 308187024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024122e8ba2e8ba2e8ba2e8ba2e8ba2e8ba2e8ba2e8ba2e8ba2e8ba2e8ba2e8ba2e8b9c4c3f73cc816143fac3412b62de4c63db08f8c57e4c58c31f1b457ca5e57e20a\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 04002d2d7d40bf17c4e8b18757e451ddded95e6b1007cd144809d21af31353b03038372c4af204d4414b71060b48b3a8439c632809bd33c4736263044405a1ad766e3600bb0c5a8848f93fa3e85376b012bf064e303746529a673b852bb5a969c24c0156a8dd26242d0aad4bae43e23631b01fb9d050f9744b59f3b52b1c572217a1d70588]\n[key.wx = 2d2d7d40bf17c4e8b18757e451ddded95e6b1007cd144809d21af31353b03038372c4af204d4414b71060b48b3a8439c632809bd33c4736263044405a1ad766e36]\n[key.wy = 0bb0c5a8848f93fa3e85376b012bf064e303746529a673b852bb5a969c24c0156a8dd26242d0aad4bae43e23631b01fb9d050f9744b59f3b52b1c572217a1d70588]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004002d2d7d40bf17c4e8b18757e451ddded95e6b1007cd144809d21af31353b03038372c4af204d4414b71060b48b3a8439c632809bd33c4736263044405a1ad766e3600bb0c5a8848f93fa3e85376b012bf064e303746529a673b852bb5a969c24c0156a8dd26242d0aad4bae43e23631b01fb9d050f9744b59f3b52b1c572217a1d70588]\n[sha = SHA-512]\n\n# tcId = 385\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0242010590b21642c8590b21642c8590b21642c8590b21642c8590b21642c8590b2164298eb57e5aff9343597a542d3132f9e734fdc305125e0ec139c5f780ee8e8cb9c2\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 04018ac11dfe62d1f2a8202732c79b423d29f43bec4db6080a220796a10f2685f92c71c7f72d9da0a8acb22680cca018eba2e8ba3bfde1db9a4ef3b97da16474364e96005aad3b286707bd3ad07a060cabca49c53de4f56c05a0a8de40fd969d7d4f995f7c6701fe5c5321f85318b98be66251fa490088fd727da2454e00b3b94dc6e1241b]\n[key.wx = 18ac11dfe62d1f2a8202732c79b423d29f43bec4db6080a220796a10f2685f92c71c7f72d9da0a8acb22680cca018eba2e8ba3bfde1db9a4ef3b97da16474364e96]\n[key.wy = 5aad3b286707bd3ad07a060cabca49c53de4f56c05a0a8de40fd969d7d4f995f7c6701fe5c5321f85318b98be66251fa490088fd727da2454e00b3b94dc6e1241b]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004018ac11dfe62d1f2a8202732c79b423d29f43bec4db6080a220796a10f2685f92c71c7f72d9da0a8acb22680cca018eba2e8ba3bfde1db9a4ef3b97da16474364e96005aad3b286707bd3ad07a060cabca49c53de4f56c05a0a8de40fd969d7d4f995f7c6701fe5c5321f85318b98be66251fa490088fd727da2454e00b3b94dc6e1241b]\n[sha = SHA-512]\n\n# tcId = 386\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024201a4924924924924924924924924924924924924924924924924924924924924924445e10670ed0437c9db4125ac4175fbd70e9bd1799a85f44ca0a8e61a3354e808\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 040051b2c3e0494564ed48ed3479b596ea4078240550a3c28da33d71d259e8e623e37ab43f396c49363f31c8de8a4644d37e94ed80e0dd4f92c3df2106e2795c2798b800a530d5e961f0696bbeb962aca8e71f65956ae04cdc22a4ac65146943e99a4a2fdb477df75aa069c8dd37a5daaea3848079a6a7bc03e0faa3d65d42f8053db2078b]\n[key.wx = 51b2c3e0494564ed48ed3479b596ea4078240550a3c28da33d71d259e8e623e37ab43f396c49363f31c8de8a4644d37e94ed80e0dd4f92c3df2106e2795c2798b8]\n[key.wy = 0a530d5e961f0696bbeb962aca8e71f65956ae04cdc22a4ac65146943e99a4a2fdb477df75aa069c8dd37a5daaea3848079a6a7bc03e0faa3d65d42f8053db2078b]\n[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040051b2c3e0494564ed48ed3479b596ea4078240550a3c28da33d71d259e8e623e37ab43f396c49363f31c8de8a4644d37e94ed80e0dd4f92c3df2106e2795c2798b800a530d5e961f0696bbeb962aca8e71f65956ae04cdc22a4ac65146943e99a4a2fdb477df75aa069c8dd37a5daaea3848079a6a7bc03e0faa3d65d42f8053db2078b]\n[sha = SHA-512]\n\n# tcId = 387\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024201d5555555555555555555555555555555555555555555555555555555555555554fa6dbdcd91484ebc0d521569e4c5efb25910b1f0ddef19d0410c50c73e68db95f\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 0401ba31a6f9c2d227da57de00759e2e844d607bc9bd92bcdf282006884dc347c9284f0dc0623af1e9db22117364a7a80a5b067efa19b204dac8faf2230d80b704addc00d88b761cd3a4b0947bfc17e204b4d751f76880a82c9b7c6fd93ded55883c995002d8b8bfff1e021189c08d829d16b088f4fb39ad9456eafbc77c20353bc0f3c038]\n[key.wx = 1ba31a6f9c2d227da57de00759e2e844d607bc9bd92bcdf282006884dc347c9284f0dc0623af1e9db22117364a7a80a5b067efa19b204dac8faf2230d80b704addc]\n[key.wy = 0d88b761cd3a4b0947bfc17e204b4d751f76880a82c9b7c6fd93ded55883c995002d8b8bfff1e021189c08d829d16b088f4fb39ad9456eafbc77c20353bc0f3c038]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401ba31a6f9c2d227da57de00759e2e844d607bc9bd92bcdf282006884dc347c9284f0dc0623af1e9db22117364a7a80a5b067efa19b204dac8faf2230d80b704addc00d88b761cd3a4b0947bfc17e204b4d751f76880a82c9b7c6fd93ded55883c995002d8b8bfff1e021189c08d829d16b088f4fb39ad9456eafbc77c20353bc0f3c038]\n[sha = SHA-512]\n\n# tcId = 388\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024201aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4fc31322e69da41162a76abf3a1b4507ae66074633446f259661a61c93be30eb5\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 040137bbb48ef281133849ed723f5662a19fff9cc7389a0170d311bd34f4dbdc656246db695ea0712d8aceff9d1d0ef7921ec2e3f8b533e4ca122f9f7f4460738893340163e4500d998095f60fa3fed4149d2d9b5b018e03eb5344efe8ffcc1c7d276e7401a4df639c4ab108820062495471be7b29398aadbae440a9bdcd55cf0bb5d96f79]\n[key.wx = 137bbb48ef281133849ed723f5662a19fff9cc7389a0170d311bd34f4dbdc656246db695ea0712d8aceff9d1d0ef7921ec2e3f8b533e4ca122f9f7f446073889334]\n[key.wy = 163e4500d998095f60fa3fed4149d2d9b5b018e03eb5344efe8ffcc1c7d276e7401a4df639c4ab108820062495471be7b29398aadbae440a9bdcd55cf0bb5d96f79]\n[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040137bbb48ef281133849ed723f5662a19fff9cc7389a0170d311bd34f4dbdc656246db695ea0712d8aceff9d1d0ef7921ec2e3f8b533e4ca122f9f7f4460738893340163e4500d998095f60fa3fed4149d2d9b5b018e03eb5344efe8ffcc", - "1c7d276e7401a4df639c4ab108820062495471be7b29398aadbae440a9bdcd55cf0bb5d96f79]\n[sha = SHA-512]\n\n# tcId = 389\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0242017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640b\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 0400726dda8b7b6ed25f97f1fc6c3ccf554d60fc71e4fab2a578286d32612e7f3e669faed0b97619aef2d5aff9c8ffd987feddc0d6c38b7eec028191400874803f498b00c0b8870c612e06c13c57ed6f7ef3d53b5e5fa2db62707b034b5ec13fb47018e31da7ecc991d575943468d701e118eca33122cf6d394b8a6ec0f45bc09701603a26]\n[key.wx = 726dda8b7b6ed25f97f1fc6c3ccf554d60fc71e4fab2a578286d32612e7f3e669faed0b97619aef2d5aff9c8ffd987feddc0d6c38b7eec028191400874803f498b]\n[key.wy = 0c0b8870c612e06c13c57ed6f7ef3d53b5e5fa2db62707b034b5ec13fb47018e31da7ecc991d575943468d701e118eca33122cf6d394b8a6ec0f45bc09701603a26]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400726dda8b7b6ed25f97f1fc6c3ccf554d60fc71e4fab2a578286d32612e7f3e669faed0b97619aef2d5aff9c8ffd987feddc0d6c38b7eec028191400874803f498b00c0b8870c612e06c13c57ed6f7ef3d53b5e5fa2db62707b034b5ec13fb47018e31da7ecc991d575943468d701e118eca33122cf6d394b8a6ec0f45bc09701603a26]\n[sha = SHA-512]\n\n# tcId = 390\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024201346cc7d4839b77f9f487c7e7f2841c5b7d05f966f3bde28f1fa080ce40037a74e3001a2b00bd39ee4c93072e9963724941383cf0812c02d1c838ad4502a12c619f\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 04016fce9f375bbd2968adaaf3575595129ef3e721c3b7c83d5a4a79f4b5dfbbdb1f66da7243e5120c5dbd7be1ca073e04b4cc58ca8ce2f34ff6a3d02a929bf2fc27970083f130792d6c45c8f2a67471e51246e2b8781465b8291cbda66d22719cd536bf801e0076030919d5701732ce7678bf472846ed0777937ed77caad74d05664614a2]\n[key.wx = 16fce9f375bbd2968adaaf3575595129ef3e721c3b7c83d5a4a79f4b5dfbbdb1f66da7243e5120c5dbd7be1ca073e04b4cc58ca8ce2f34ff6a3d02a929bf2fc2797]\n[key.wy = 083f130792d6c45c8f2a67471e51246e2b8781465b8291cbda66d22719cd536bf801e0076030919d5701732ce7678bf472846ed0777937ed77caad74d05664614a2]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004016fce9f375bbd2968adaaf3575595129ef3e721c3b7c83d5a4a79f4b5dfbbdb1f66da7243e5120c5dbd7be1ca073e04b4cc58ca8ce2f34ff6a3d02a929bf2fc27970083f130792d6c45c8f2a67471e51246e2b8781465b8291cbda66d22719cd536bf801e0076030919d5701732ce7678bf472846ed0777937ed77caad74d05664614a2]\n[sha = SHA-512]\n\n# tcId = 391\n# point duplication during verification\nmsg = 313233343030\nresult = valid\nsig = 30818802420090c8d0d718cb9d8d81094e6d068fb13c16b4df8c77bac676dddfe3e68855bed06b9ba8d0f8a80edce03a9fac7da561e24b1cd22d459239a146695a671f81f73aaf024201150b0fe9f0dff27fa180cc9442c3bfc9e395232898607b110a51bcb1086cb9726e251a07c9557808df32460715950a3dc446ae4229b9ed59fe241b389aee3a6963\n# Some implementations of ECDSA do not handle duplication and points at infinity\n# correctly. This is a test vector that has been specially crafted to check for\n# such an omission.\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 04016fce9f375bbd2968adaaf3575595129ef3e721c3b7c83d5a4a79f4b5dfbbdb1f66da7243e5120c5dbd7be1ca073e04b4cc58ca8ce2f34ff6a3d02a929bf2fc2797017c0ecf86d293ba370d598b8e1aedb91d4787eb9a47d6e3425992dd8e632ac9407fe1ff89fcf6e62a8fe8cd31898740b8d7b912f8886c8128835528b2fa99b9eb5d]\n[key.wx = 16fce9f375bbd2968adaaf3575595129ef3e721c3b7c83d5a4a79f4b5dfbbdb1f66da7243e5120c5dbd7be1ca073e04b4cc58ca8ce2f34ff6a3d02a929bf2fc2797]\n[key.wy = 17c0ecf86d293ba370d598b8e1aedb91d4787eb9a47d6e3425992dd8e632ac9407fe1ff89fcf6e62a8fe8cd31898740b8d7b912f8886c8128835528b2fa99b9eb5d]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004016fce9f375bbd2968adaaf3575595129ef3e721c3b7c83d5a4a79f4b5dfbbdb1f66da7243e5120c5dbd7be1ca073e04b4cc58ca8ce2f34ff6a3d02a929bf2fc2797017c0ecf86d293ba370d598b8e1aedb91d4787eb9a47d6e3425992dd8e632ac9407fe1ff89fcf6e62a8fe8cd31898740b8d7b912f8886c8128835528b2fa99b9eb5d]\n[sha = SHA-512]\n\n# tcId = 392\n# duplication bug\nmsg = 313233343030\nresult = invalid\nsig = 30818802420090c8d0d718cb9d8d81094e6d068fb13c16b4df8c77bac676dddfe3e68855bed06b9ba8d0f8a80edce03a9fac7da561e24b1cd22d459239a146695a671f81f73aaf024201150b0fe9f0dff27fa180cc9442c3bfc9e395232898607b110a51bcb1086cb9726e251a07c9557808df32460715950a3dc446ae4229b9ed59fe241b389aee3a6963\n# Some implementations of ECDSA do not handle duplication and points at infinity\n# correctly. This is a test vector that has been specially crafted to check for\n# such an omission.\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 040110fb89aff135edb801a1cb5bc49525b81dc74da45090d228122871814f489fdcb02ebee46b703e6b4e6af56c5024422b31fd4252c44d0bfd29d945de782d98543f01ec425b4c4928e12b619227f1da6d0a9675070d9c5b49ca523050acb718e62643b0e5801543b76dc11f8d694ba09436d8391b477ad2c143ec50c2384c4f688512dc]\n[key.wx = 110fb89aff135edb801a1cb5bc49525b81dc74da45090d228122871814f489fdcb02ebee46b703e6b4e6af56c5024422b31fd4252c44d0bfd29d945de782d98543f]\n[key.wy = 1ec425b4c4928e12b619227f1da6d0a9675070d9c5b49ca523050acb718e62643b0e5801543b76dc11f8d694ba09436d8391b477ad2c143ec50c2384c4f688512dc]\n[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040110fb89aff135edb801a1cb5bc49525b81dc74da45090d228122871814f489fdcb02ebee46b703e6b4e6af56c5024422b31fd4252c44d0bfd29d945de782d98543f01ec425b4c4928e12b619227f1da6d0a9675070d9c5b49ca523050acb718e62643b0e5801543b76dc11f8d694ba09436d8391b477ad2c143ec50c2384c4f688512dc]\n[sha = SHA-512]\n\n# tcId = 393\n# point with x-coordinate 0\nmsg = 313233343030\nresult = invalid\nsig = 3047020101024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 0401c693a3fccbc9f625284239c2725f2a5c90b29b7ce3d07730f7de6031c9e74446d217888ae023aae23df6a4aa153f58c79597d57f42ce5c1354e5dc43a5eb311e13015f99658443b2e39c3edcbcda70707fc5a4d39545eabe354816d09284a6265e47ebf0a47355828e818a767f8452a6d18451e0e3817a896ff404cb1611bfc4c4b4a3]\n[key.wx = 1c693a3fccbc9f625284239c2725f2a5c90b29b7ce3d07730f7de6031c9e74446d217888ae023aae23df6a4aa153f58c79597d57f42ce5c1354e5dc43a5eb311e13]\n[key.wy = 15f99658443b2e39c3edcbcda70707fc5a4d39545eabe354816d09284a6265e47ebf0a47355828e818a767f8452a6d18451e0e3817a896ff404cb1611bfc4c4b4a3]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401c693a3fccbc9f625284239c2725f2a5c90b29b7ce3d07730f7de6031c9e74446d217888ae023aae23df6a4aa153f58c79597d57f42ce5c1354e5dc43a5eb311e13015f99658443b2e39c3edcbcda70707fc5a4d39545eabe354816d09284a6265e47ebf0a47355828e818a767f8452a6d18451e0e3817a896ff404cb1611bfc4c4b4a3]\n[sha = SHA-512]\n\n# tcId = 394\n# point with x-coordinate 0\nmsg = 313233343030\nresult = invalid\nsig = 3081870242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024166666666666666666666666666666666666666666666666666666666666666666543814e4d8ca31e157ff599db649b87900bf128581b85a7efbf1657d2e9d81401\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 04017d7bf723678df574ce4366741e1d3787f834af9997b41c8260a074cb1f325d2bae9f8565dc6b51b6cb02dceeb5a1b774ee8dd7057c99e2d94c3c71299a9ce0f1b00162c65632fff88bdbb17ce2525ccac8df37c501ab0e6626e273fb6cf99000424344c0ac539c9fd6c4f3d28876b257c010d347a45bb010cc058443843a758328d491]\n[key.wx = 17d7bf723678df574ce4366741e1d3787f834af9997b41c8260a074cb1f325d2bae9f8565dc6b51b6cb02dceeb5a1b774ee8dd7057c99e2d94c3c71299a9ce0f1b0]\n[key.wy = 162c65632fff88bdbb17ce2525ccac8df37c501ab0e6626e273fb6cf99000424344c0ac539c9fd6c4f3d28876b257c010d347a45bb010cc058443843a758328d491]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004017d7bf723678df574ce4366741e1d3787f834af9997b41c8260a074cb1f325d2bae9", - "f8565dc6b51b6cb02dceeb5a1b774ee8dd7057c99e2d94c3c71299a9ce0f1b00162c65632fff88bdbb17ce2525ccac8df37c501ab0e6626e273fb6cf99000424344c0ac539c9fd6c4f3d28876b257c010d347a45bb010cc058443843a758328d491]\n[sha = SHA-512]\n\n# tcId = 395\n# comparison with point at infinity \nmsg = 313233343030\nresult = invalid\nsig = 308187024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad024166666666666666666666666666666666666666666666666666666666666666666543814e4d8ca31e157ff599db649b87900bf128581b85a7efbf1657d2e9d81401\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 0401e06db423a902e239b97340ab052534ead37e79412c675bf0eb823999e6b731040bff2b0e4fa64edf3962a328921ea5ae4e8f4079eab439e12f92335dfc4863c07f007ee9f0ecb409cb133c0cd08b85e840b076f3d615e1ef1393b5222338b227d768003da5f3ba1f72f6654ca54ac11c2ba91a6cb5883d6d1a82304ad2b79de09215f3]\n[key.wx = 1e06db423a902e239b97340ab052534ead37e79412c675bf0eb823999e6b731040bff2b0e4fa64edf3962a328921ea5ae4e8f4079eab439e12f92335dfc4863c07f]\n[key.wy = 7ee9f0ecb409cb133c0cd08b85e840b076f3d615e1ef1393b5222338b227d768003da5f3ba1f72f6654ca54ac11c2ba91a6cb5883d6d1a82304ad2b79de09215f3]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401e06db423a902e239b97340ab052534ead37e79412c675bf0eb823999e6b731040bff2b0e4fa64edf3962a328921ea5ae4e8f4079eab439e12f92335dfc4863c07f007ee9f0ecb409cb133c0cd08b85e840b076f3d615e1ef1393b5222338b227d768003da5f3ba1f72f6654ca54ac11c2ba91a6cb5883d6d1a82304ad2b79de09215f3]\n[sha = SHA-512]\n\n# tcId = 396\n# extreme value for k and edgecase s\nmsg = 313233343030\nresult = valid\nsig = 3081870241433c219024277e7e682fcb288148c282747403279b1ccc06352c6e5505d769be97b3b204da6ef55507aa104a3a35c5af41cf2fa364d60fd967f43e3933ba6d783d024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 04015053744d53811dbed8880f38d3a34578a7f1c172ec65bd8ad8183ba0ae10093416107f3c942742bde60719949b2c4f026f43582125c99ed48cbc7c5a051a5a744800b36d4c91a2b0367c566b2c12981ce0fdbc3beb983717403f69bf4264fc6182478af0b236ff120bcfca116924c552abef6663b6023be1986b70206d9bb89b5ed298]\n[key.wx = 15053744d53811dbed8880f38d3a34578a7f1c172ec65bd8ad8183ba0ae10093416107f3c942742bde60719949b2c4f026f43582125c99ed48cbc7c5a051a5a7448]\n[key.wy = 0b36d4c91a2b0367c566b2c12981ce0fdbc3beb983717403f69bf4264fc6182478af0b236ff120bcfca116924c552abef6663b6023be1986b70206d9bb89b5ed298]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004015053744d53811dbed8880f38d3a34578a7f1c172ec65bd8ad8183ba0ae10093416107f3c942742bde60719949b2c4f026f43582125c99ed48cbc7c5a051a5a744800b36d4c91a2b0367c566b2c12981ce0fdbc3beb983717403f69bf4264fc6182478af0b236ff120bcfca116924c552abef6663b6023be1986b70206d9bb89b5ed298]\n[sha = SHA-512]\n\n# tcId = 397\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3081860241433c219024277e7e682fcb288148c282747403279b1ccc06352c6e5505d769be97b3b204da6ef55507aa104a3a35c5af41cf2fa364d60fd967f43e3933ba6d783d0241492492492492492492492492492492492492492492492492492492492492492491795c5c808906cc587ff89278234a8566e3f565f5ca840a3d887dac7214bee9b8\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 0401fb2e26596cc80473917dd46b4a1d14bd9a1ca9769dd12bfac1bff17cdc282e74c73a801ec1be83edfe4bfe9813ec943ac151678f0a9a0bf27d9ef308177eb0400f019e03a5da3da67e6b8d068dbdacf091b9d5efadaf63f4a7e9c6b6ed0a1c9a5d3cbc3e0244d481066018fba7674a2b59139a5656780563bb4618014f176752e177e0]\n[key.wx = 1fb2e26596cc80473917dd46b4a1d14bd9a1ca9769dd12bfac1bff17cdc282e74c73a801ec1be83edfe4bfe9813ec943ac151678f0a9a0bf27d9ef308177eb0400f]\n[key.wy = 19e03a5da3da67e6b8d068dbdacf091b9d5efadaf63f4a7e9c6b6ed0a1c9a5d3cbc3e0244d481066018fba7674a2b59139a5656780563bb4618014f176752e177e0]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401fb2e26596cc80473917dd46b4a1d14bd9a1ca9769dd12bfac1bff17cdc282e74c73a801ec1be83edfe4bfe9813ec943ac151678f0a9a0bf27d9ef308177eb0400f019e03a5da3da67e6b8d068dbdacf091b9d5efadaf63f4a7e9c6b6ed0a1c9a5d3cbc3e0244d481066018fba7674a2b59139a5656780563bb4618014f176752e177e0]\n[sha = SHA-512]\n\n# tcId = 398\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3081870241433c219024277e7e682fcb288148c282747403279b1ccc06352c6e5505d769be97b3b204da6ef55507aa104a3a35c5af41cf2fa364d60fd967f43e3933ba6d783d0242019999999999999999999999999999999999999999999999999999999999999999950e053936328c7855ffd6676d926e1e402fc4a1606e169fbefc595f4ba7605007\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 04008422cea9dcf8ae01f7a157888f018a40a66461d3566ec4a4dfc89ecb3c2404be734d329137d630387b012d033221857d5bfb290fa8027640b4063072a3e5b14c860025a219e724b81814901a677a8bee9b716b33b16a5b65f2272956a46b5e8683dc896984309ac79449657a1895c9f62bde99c7f5e24ed2defbc9f8dde35ebd0bddc1]\n[key.wx = 08422cea9dcf8ae01f7a157888f018a40a66461d3566ec4a4dfc89ecb3c2404be734d329137d630387b012d033221857d5bfb290fa8027640b4063072a3e5b14c86]\n[key.wy = 25a219e724b81814901a677a8bee9b716b33b16a5b65f2272956a46b5e8683dc896984309ac79449657a1895c9f62bde99c7f5e24ed2defbc9f8dde35ebd0bddc1]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004008422cea9dcf8ae01f7a157888f018a40a66461d3566ec4a4dfc89ecb3c2404be734d329137d630387b012d033221857d5bfb290fa8027640b4063072a3e5b14c860025a219e724b81814901a677a8bee9b716b33b16a5b65f2272956a46b5e8683dc896984309ac79449657a1895c9f62bde99c7f5e24ed2defbc9f8dde35ebd0bddc1]\n[sha = SHA-512]\n\n# tcId = 399\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3081860241433c219024277e7e682fcb288148c282747403279b1ccc06352c6e5505d769be97b3b204da6ef55507aa104a3a35c5af41cf2fa364d60fd967f43e3933ba6d783d024166666666666666666666666666666666666666666666666666666666666666666543814e4d8ca31e157ff599db649b87900bf128581b85a7efbf1657d2e9d81402\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 0401bc19cf4b94bcd34114ce83c5f1a7e048e2fc4fd457d57e39b3da29f4766acbaef1c10cb13c796a6fffb56d6a392e47b6c74522df7fa02754c33d95b1a9a3c92a1500f5744c2bed308cb4f41b512e632cd01d270ef1a0d3f47ea780e73c6a6c9ea6a996faef4d282896c64fa50f5b04e204c56b504bc122ffba7aea4574d7d7ab6303c0]\n[key.wx = 1bc19cf4b94bcd34114ce83c5f1a7e048e2fc4fd457d57e39b3da29f4766acbaef1c10cb13c796a6fffb56d6a392e47b6c74522df7fa02754c33d95b1a9a3c92a15]\n[key.wy = 0f5744c2bed308cb4f41b512e632cd01d270ef1a0d3f47ea780e73c6a6c9ea6a996faef4d282896c64fa50f5b04e204c56b504bc122ffba7aea4574d7d7ab6303c0]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401bc19cf4b94bcd34114ce83c5f1a7e048e2fc4fd457d57e39b3da29f4766acbaef1c10cb13c796a6fffb56d6a392e47b6c74522df7fa02754c33d95b1a9a3c92a1500f5744c2bed308cb4f41b512e632cd01d270ef1a0d3f47ea780e73c6a6c9ea6a996faef4d282896c64fa50f5b04e204c56b504bc122ffba7aea4574d7d7ab6303c0]\n[sha = SHA-512]\n\n# tcId = 400\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3081870241433c219024277e7e682fcb288148c282747403279b1ccc06352c6e5505d769be97b3b204da6ef55507aa104a3a35c5af41cf2fa364d60fd967f43e3933ba6d783d024201b6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db68d82a2b033628ca12ffd36ed0d3bf206957c063c2bf183d7132f20aac7c797a51\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 04017b0ebce08b09f21e30d15e0edd9fcdf24ab4831ec8a65a3d1e38f72b15f0115da6ed1885e42fcfae31c0914b71e9df2cd106adc039a82810a92924dd154dc05da300c614d1afc4f63de3803bb5490a34e1e2fab9eb78422b21d377fc0d7f991b938c22f4d7dd665f8dd21fadde43172a55f80d05cc4557b6663f9e7a3fe490d25c5531]\n[key.wx = 17b0ebce08b09f21e30d15e0edd9fcdf24ab4831ec8a65a3d1e38f72b15f0115da6ed1885e42fcfae31c0914b71e9df2cd106adc039a82810a92924dd154dc05da3]\n[key.wy = 0c614d1afc4f63de3803bb5490a34e1e2fab9eb78422b21d377fc0d7f991b938c22f4d7dd665f8dd21fadde43172a55f80d05cc4557b6663f9e7a3fe490d25c5531]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004017b0ebce08b09f21e30d15e0edd9fcdf24ab4831ec8a65a3d1e38f72b15f0115da6ed1885e42fcfae31c0914b71e9df2cd106adc039a82810a92924dd154dc05da300c614d1afc4f63de3803", - "bb5490a34e1e2fab9eb78422b21d377fc0d7f991b938c22f4d7dd665f8dd21fadde43172a55f80d05cc4557b6663f9e7a3fe490d25c5531]\n[sha = SHA-512]\n\n# tcId = 401\n# extreme value for k\nmsg = 313233343030\nresult = valid\nsig = 3081860241433c219024277e7e682fcb288148c282747403279b1ccc06352c6e5505d769be97b3b204da6ef55507aa104a3a35c5af41cf2fa364d60fd967f43e3933ba6d783d02410eb10e5ab95f2f26a40700b1300fb8c3c8d5384ffbecf1fdb9e11e67cb7fd6a7f503e6e25ac09bb88b6c3983df764d4d72bc2920e233f0f7974a234a21b00bb447\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 040004c3ec8d7d23ce74be8b9c7c27be869c23bafc6874ebc44f47e107422ab1e75ed09bebd7cb1ec4626e442bcf512a25c5ddde26eb08ba37506461830cf9241cbe9c0050a1bc08f4ba8da1d641ac3891823ab519facd4159768b1c0738f0e23450f374e4d6de55cceed95722be635c5dc0023a1498862f87bfe61d77e20e592cc20bb2ca]\n[key.wx = 4c3ec8d7d23ce74be8b9c7c27be869c23bafc6874ebc44f47e107422ab1e75ed09bebd7cb1ec4626e442bcf512a25c5ddde26eb08ba37506461830cf9241cbe9c]\n[key.wy = 50a1bc08f4ba8da1d641ac3891823ab519facd4159768b1c0738f0e23450f374e4d6de55cceed95722be635c5dc0023a1498862f87bfe61d77e20e592cc20bb2ca]\n[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040004c3ec8d7d23ce74be8b9c7c27be869c23bafc6874ebc44f47e107422ab1e75ed09bebd7cb1ec4626e442bcf512a25c5ddde26eb08ba37506461830cf9241cbe9c0050a1bc08f4ba8da1d641ac3891823ab519facd4159768b1c0738f0e23450f374e4d6de55cceed95722be635c5dc0023a1498862f87bfe61d77e20e592cc20bb2ca]\n[sha = SHA-512]\n\n# tcId = 402\n# extreme value for k and edgecase s\nmsg = 313233343030\nresult = valid\nsig = 308188024200c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 0400a7c8204f2864dcef089165c3914dcc2c0896075870ca0bc1ce37856f80f23815b0c8f2ec05145c421049e80ec1e7694f9f04174bbef21bc0972e559cf222de7e1a01ff1108c28f01b703820e1c0187912962ab23109618dfcb0c062ccee339002222a3f7dd8dd21675b0e20908fe5855ea876d6a9e02c5f5b793d38fdf79fb83603ea9]\n[key.wx = 0a7c8204f2864dcef089165c3914dcc2c0896075870ca0bc1ce37856f80f23815b0c8f2ec05145c421049e80ec1e7694f9f04174bbef21bc0972e559cf222de7e1a]\n[key.wy = 1ff1108c28f01b703820e1c0187912962ab23109618dfcb0c062ccee339002222a3f7dd8dd21675b0e20908fe5855ea876d6a9e02c5f5b793d38fdf79fb83603ea9]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400a7c8204f2864dcef089165c3914dcc2c0896075870ca0bc1ce37856f80f23815b0c8f2ec05145c421049e80ec1e7694f9f04174bbef21bc0972e559cf222de7e1a01ff1108c28f01b703820e1c0187912962ab23109618dfcb0c062ccee339002222a3f7dd8dd21675b0e20908fe5855ea876d6a9e02c5f5b793d38fdf79fb83603ea9]\n[sha = SHA-512]\n\n# tcId = 403\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 308187024200c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd660241492492492492492492492492492492492492492492492492492492492492492491795c5c808906cc587ff89278234a8566e3f565f5ca840a3d887dac7214bee9b8\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 0401802fc79fc8e55bce50a581632b51d6eec04a3c74ac2bf4fae16ce6c7efef1701d69f9c00a91ad521d75ac7539d54bf464caeec871456103dc974354460898a19c600722fc1f528506618b1da9f8b2edbdbdaf7eec02e8fb9203d2b277735a1d867911b131f453f52ccc4ced05c3b1bc29e4d20f1e6d34979faa688ce8003f79d8e0c95]\n[key.wx = 1802fc79fc8e55bce50a581632b51d6eec04a3c74ac2bf4fae16ce6c7efef1701d69f9c00a91ad521d75ac7539d54bf464caeec871456103dc974354460898a19c6]\n[key.wy = 722fc1f528506618b1da9f8b2edbdbdaf7eec02e8fb9203d2b277735a1d867911b131f453f52ccc4ced05c3b1bc29e4d20f1e6d34979faa688ce8003f79d8e0c95]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401802fc79fc8e55bce50a581632b51d6eec04a3c74ac2bf4fae16ce6c7efef1701d69f9c00a91ad521d75ac7539d54bf464caeec871456103dc974354460898a19c600722fc1f528506618b1da9f8b2edbdbdaf7eec02e8fb9203d2b277735a1d867911b131f453f52ccc4ced05c3b1bc29e4d20f1e6d34979faa688ce8003f79d8e0c95]\n[sha = SHA-512]\n\n# tcId = 404\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 308188024200c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd660242019999999999999999999999999999999999999999999999999999999999999999950e053936328c7855ffd6676d926e1e402fc4a1606e169fbefc595f4ba7605007\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 0401beb0b4c2e494226404fca4ad505ebfed13d184b1572683215b16173c29a4475aede47f266e0c9c4143137d3e0001f9f0148b689286a7c64e229458b824ed7658360130205169783ed9ada9f3a193027ae4e21829ad4a71d05d969605c04f3231dabab03beb2fab07dd8323d7132755734f4e6d1fb43fc8a63bfd244160c23efb6c1429]\n[key.wx = 1beb0b4c2e494226404fca4ad505ebfed13d184b1572683215b16173c29a4475aede47f266e0c9c4143137d3e0001f9f0148b689286a7c64e229458b824ed765836]\n[key.wy = 130205169783ed9ada9f3a193027ae4e21829ad4a71d05d969605c04f3231dabab03beb2fab07dd8323d7132755734f4e6d1fb43fc8a63bfd244160c23efb6c1429]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401beb0b4c2e494226404fca4ad505ebfed13d184b1572683215b16173c29a4475aede47f266e0c9c4143137d3e0001f9f0148b689286a7c64e229458b824ed7658360130205169783ed9ada9f3a193027ae4e21829ad4a71d05d969605c04f3231dabab03beb2fab07dd8323d7132755734f4e6d1fb43fc8a63bfd244160c23efb6c1429]\n[sha = SHA-512]\n\n# tcId = 405\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 308187024200c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66024166666666666666666666666666666666666666666666666666666666666666666543814e4d8ca31e157ff599db649b87900bf128581b85a7efbf1657d2e9d81402\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 040121e59aaf26b8301f4fcc3e0a563c4104ae00b47c55b8945ce749116fdf6761d768bd50ed431e2b51e646fe4fe7dc2985b6aefa7f9441ea11840d2ace2f34293cb1000cf1e1a46d4d637216e28abd124cc641ae7a673445d573856bc2fec58d86e5ed63bc2a7f2049234e335a7bee95bb2724fb1480c97c38cd0d296cbcc113de3f135f]\n[key.wx = 121e59aaf26b8301f4fcc3e0a563c4104ae00b47c55b8945ce749116fdf6761d768bd50ed431e2b51e646fe4fe7dc2985b6aefa7f9441ea11840d2ace2f34293cb1]\n[key.wy = 0cf1e1a46d4d637216e28abd124cc641ae7a673445d573856bc2fec58d86e5ed63bc2a7f2049234e335a7bee95bb2724fb1480c97c38cd0d296cbcc113de3f135f]\n[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040121e59aaf26b8301f4fcc3e0a563c4104ae00b47c55b8945ce749116fdf6761d768bd50ed431e2b51e646fe4fe7dc2985b6aefa7f9441ea11840d2ace2f34293cb1000cf1e1a46d4d637216e28abd124cc641ae7a673445d573856bc2fec58d86e5ed63bc2a7f2049234e335a7bee95bb2724fb1480c97c38cd0d296cbcc113de3f135f]\n[sha = SHA-512]\n\n# tcId = 406\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 308188024200c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66024201b6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db68d82a2b033628ca12ffd36ed0d3bf206957c063c2bf183d7132f20aac7c797a51\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 04008e859e66d1237fdc928a4b954954fef565d203a0731d065d9df41a4fd3812b1cc2487053ea19ce839d200845952f80d80698771d83ccc1fc7f236dbee4c76b2bb4005a04b24c88cd40233fb43c59ea5cf2cb9510d16b1168bc126db64aaf9ab07a7453208fde079095966272bf03bc3312c9b9bab8c795ae375e8a0e8dd81c924e7c27]\n[key.wx = 08e859e66d1237fdc928a4b954954fef565d203a0731d065d9df41a4fd3812b1cc2487053ea19ce839d200845952f80d80698771d83ccc1fc7f236dbee4c76b2bb4]\n[key.wy = 5a04b24c88cd40233fb43c59ea5cf2cb9510d16b1168bc126db64aaf9ab07a7453208fde079095966272bf03bc3312c9b9bab8c795ae375e8a0e8dd81c924e7c27]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004008e859e66d1237fdc928a4b954954fef565d203a0731d065d9df41a4fd3812b1cc2487053ea19ce839d200845952f80d80698771d83ccc1fc7f236dbee4c76b2bb4005a04b24c88cd40233fb43c59ea5cf2cb9510d16b1168bc126db64aaf9ab07a7453208fde079095966272bf03bc3312c9b9bab8c795ae375e8a0e", - "8dd81c924e7c27]\n[sha = SHA-512]\n\n# tcId = 407\n# extreme value for k\nmsg = 313233343030\nresult = valid\nsig = 308187024200c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd6602410eb10e5ab95f2f26a40700b1300fb8c3c8d5384ffbecf1fdb9e11e67cb7fd6a7f503e6e25ac09bb88b6c3983df764d4d72bc2920e233f0f7974a234a21b00bb447\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 0400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650]\n[key.wx = 0c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66]\n[key.wy = 11839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650]\n[sha = SHA-512]\n\n# tcId = 408\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 308185024043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc0241492492492492492492492492492492492492492492492492492492492492492491795c5c808906cc587ff89278234a8566e3f565f5ca840a3d887dac7214bee9b8\n\n# tcId = 409\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 308187024201ffbc07ff041506dc73a75086a43252fb43b6327af3c6b2cc7d6acca94fdcdefd78dc0b56a22d16f2eec26ae0c1fb484d059300e80bd6b0472b3d1222ff5d08b03d0241492492492492492492492492492492492492492492492492492492492492492491795c5c808906cc587ff89278234a8566e3f565f5ca840a3d887dac7214bee9b8\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 0400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd6600e7c6d6958765c43ffba375a04bd382e426670abbb6a864bb97e85042e8d8c199d368118d66a10bd9bf3aaf46fec052f89ecac38f795d8d3dbf77416b89602e99af]\n[key.wx = 0c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66]\n[key.wy = 0e7c6d6958765c43ffba375a04bd382e426670abbb6a864bb97e85042e8d8c199d368118d66a10bd9bf3aaf46fec052f89ecac38f795d8d3dbf77416b89602e99af]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd6600e7c6d6958765c43ffba375a04bd382e426670abbb6a864bb97e85042e8d8c199d368118d66a10bd9bf3aaf46fec052f89ecac38f795d8d3dbf77416b89602e99af]\n[sha = SHA-512]\n\n# tcId = 410\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 308185024043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc0241492492492492492492492492492492492492492492492492492492492492492491795c5c808906cc587ff89278234a8566e3f565f5ca840a3d887dac7214bee9b8\n\n# tcId = 411\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 308187024201ffbc07ff041506dc73a75086a43252fb43b6327af3c6b2cc7d6acca94fdcdefd78dc0b56a22d16f2eec26ae0c1fb484d059300e80bd6b0472b3d1222ff5d08b03d0241492492492492492492492492492492492492492492492492492492492492492491795c5c808906cc587ff89278234a8566e3f565f5ca840a3d887dac7214bee9b8\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 04012a908bfc5b70e17bdfae74294994808bf2a42dab59af8b0523a026d640a2a3d6d344520b62177e2cfa339ca42fb0883ec425904fbda2833a3b5b0a9a00811365d8012333d532f8f8eb1a623c378a3694651192bbda833e3b8d7b8f90b2bfc9b045f8a55e1b6a5fe1512c400c4bc9c86fd7c699d642f5cee9bb827c8b0abc0da01cef1e]\n[key.wx = 12a908bfc5b70e17bdfae74294994808bf2a42dab59af8b0523a026d640a2a3d6d344520b62177e2cfa339ca42fb0883ec425904fbda2833a3b5b0a9a00811365d8]\n[key.wy = 12333d532f8f8eb1a623c378a3694651192bbda833e3b8d7b8f90b2bfc9b045f8a55e1b6a5fe1512c400c4bc9c86fd7c699d642f5cee9bb827c8b0abc0da01cef1e]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004012a908bfc5b70e17bdfae74294994808bf2a42dab59af8b0523a026d640a2a3d6d344520b62177e2cfa339ca42fb0883ec425904fbda2833a3b5b0a9a00811365d8012333d532f8f8eb1a623c378a3694651192bbda833e3b8d7b8f90b2bfc9b045f8a55e1b6a5fe1512c400c4bc9c86fd7c699d642f5cee9bb827c8b0abc0da01cef1e]\n[sha = SHA-512]\n\n# tcId = 412\n# pseudorandom signature\nmsg = \nresult = valid\nsig = 308188024201625d6115092a8e2ee21b9f8a425aa73814dec8b2335e86150ab4229f5a3421d2e6256d632c7a4365a1ee01dd2a936921bbb4551a512d1d4b5a56c314e4a02534c5024201b792d23f2649862595451055777bda1b02dc6cc8fef23231e44b921b16155cd42257441d75a790371e91819f0a9b1fd0ebd02c90b5b774527746ed9bfe743dbe2f\n\n# tcId = 413\n# pseudorandom signature\nmsg = 4d7367\nresult = valid\nsig = 30818602415adc833cbc1d6141ced457bab2b01b0814054d7a28fa8bb2925d1e7525b7cf7d5c938a17abfb33426dcc05ce8d44db02f53a75ea04017dca51e1fbb14ce3311b1402415f69b2a6de129147a8437b79c72315d35173d88c2d6119085c90dae8ec05c55e067e7dfa4f681035e3dccab099291c0ecf4428332a9cb0736d16e79111ac76d766\n\n# tcId = 414\n# pseudorandom signature\nmsg = 313233343030\nresult = valid\nsig = 3081880242014141e4d94a58c1e747cbd9ee6670a41eac3c26fb4db3248e45d583179076e6b19a8e2003657a108f91f9a103157edff9b37df2b436a77dc112927d907ac9ba258702420108afa91b34bd904c680471e943af336fb90c5fb2b91401a58c9b1f467bf81af8049965dd8b45f12e152f4f7fd3780e3492f31ed2680d4777fbe655fe779ad897ab\n\n# tcId = 415\n# pseudorandom signature\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 308187024108135d3f1ae9e26fba825643ed8a29d63d7843720e93566aa09db2bdf5aaa69afbcc0c51e5295c298f305ba7b870f0a85bb5699cdf40764aab59418f77c6ffb4520242011d345256887fb351f5700961a7d47572e0d669056cb1d5619345c0c987f3331c2fe2c6df848a5c610422defd6212b64346161aa871ae55b1fe4add5f68836eb181\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 0400304b3d071ed1ef302391b566af8c9d1cb7afe9aabc141ac39ab39676c63e48c1b2c6451eb460e452bd573e1fb5f15b8e5f9c03f634d8db6897285064b3ce9bd98a00000000009b98bfd33398c2cf8606fc0ae468b6d617ccb3e704af3b8506642a775d5b4da9d00209364a9f0a4ad77cbac604a015c97e6b5a18844a589a4f1c7d9625]\n[key.wx = 304b3d071ed1ef302391b566af8c9d1cb7afe9aabc141ac39ab39676c63e48c1b2c6451eb460e452bd573e1fb5f15b8e5f9c03f634d8db6897285064b3ce9bd98a]\n[key.wy = 09b98bfd33398c2cf8606fc0ae468b6d617ccb3e704af3b8506642a775d5b4da9d00209364a9f0a4ad77cbac604a015c97e6b5a18844a589a4f1c7d9625]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400304b3d071ed1ef302391b566af8c9d1cb7afe9aabc141ac39ab39676c63e48c1b2c6451eb460e452bd573e1fb5f15b8e5f9c03f634d8db6897285064b3ce9bd98a00000000009b98bfd33398c2cf8606fc0ae468b6d617ccb3e704af3b8506642a775d5b4da9d00209364a9f0a4ad77cbac604a015c97e6b5a18844a589a4f1c7d9625]\n[sha = SHA-512]\n\n# tcId = 416\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 3081870242011c9684af6dc52728410473c63053b01c358d67e81f8a1324ad711c60481a4a86dd3e75de20ca55ce7a9a39b1f82fd5da4fadf26a5bb8edd467af8825efe4746218024134c058aba6488d6943e11e0d1348429449ea17ac5edf8bcaf654106b98b2ddf346c537b8a9a3f9b3174b77637d220ef5318dbbc33d0aac0fe2ddeda17b23cb2de6\n\n# tcId = 417\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 30818702417c47a668625648cd8a31ac92174cf3d61041f7ad292588def6ed143b1ff9a288fd20cf36f58d4bfe4b2cd4a381d4da50c8eda5674f020449ae1d3dd77e44ed485e024201058e86b327d284e35bab49fc7c335417573f310afa9e1a53566e0fae516e099007965030f6f46b077116353f26cb466d1cf3f35300d744d2d8f883c8a31b43c20d\n\n# tcId = 418\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 308188024201e4e9f3a7b800de63407b8703ac545226541c97a673566711f70e2b9ccb21a145ad4637825b023d1ea9f18e60897413711611a85c1179bff9c107368f1c1b61c24c02", - "4201de948ee577c3d4e4122a52ecccac59abb6fa937dfb3e4b988cb243efe98740309452ba013112b225b3b1b1384d5f68796845199a2602a8d4505a331b07d101188e\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 0400304b3d071ed1ef302391b566af8c9d1cb7afe9aabc141ac39ab39676c63e48c1b2c6451eb460e452bd573e1fb5f15b8e5f9c03f634d8db6897285064b3ce9bd98a01ffffffff6467402ccc673d3079f903f51b974929e8334c18fb50c47af99bd588a2a4b2562ffdf6c9b560f5b528834539fb5fea368194a5e77bb5a765b0e38269da]\n[key.wx = 304b3d071ed1ef302391b566af8c9d1cb7afe9aabc141ac39ab39676c63e48c1b2c6451eb460e452bd573e1fb5f15b8e5f9c03f634d8db6897285064b3ce9bd98a]\n[key.wy = 1ffffffff6467402ccc673d3079f903f51b974929e8334c18fb50c47af99bd588a2a4b2562ffdf6c9b560f5b528834539fb5fea368194a5e77bb5a765b0e38269da]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400304b3d071ed1ef302391b566af8c9d1cb7afe9aabc141ac39ab39676c63e48c1b2c6451eb460e452bd573e1fb5f15b8e5f9c03f634d8db6897285064b3ce9bd98a01ffffffff6467402ccc673d3079f903f51b974929e8334c18fb50c47af99bd588a2a4b2562ffdf6c9b560f5b528834539fb5fea368194a5e77bb5a765b0e38269da]\n[sha = SHA-512]\n\n# tcId = 419\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 308187024200b6cf64861a2b16e33976095dbf45a592c7c24228c4a1dd727f303d5eeb87e5388ad05c328f824c40abd3e6ce003fef5cd59dee0069ad6348ea6e57f90f6bdc0a820241228181c180366e5451dfef3593ce664804cb42d5a8d5046b816b3daf6602fafd9ac2dc24b8c93a10024480882558b6ad3d9e905923dcd0fd2a11964754a9b46b8f\n\n# tcId = 420\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 30818802420093c8f766827d6dc15c810fa30433153a5e742859205ee8389fbf695c8840dc917440870acc5b160087ffd0cd9a6081029c60a7c26d5e8aa9a0570f4efdeb13dea20242012ec3bbf75a0ad3df40310266648a36db820217ed7fa94e9c8313e03293ef4f6a40e736fb8f208ad8fb883ca509d48046910523645459c27829d54431463b2548c7\n\n# tcId = 421\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 30818802420152388c6da66164b706b41dd4dd48176d6eaf6525f876ef0ff2d147f6966ebfadf1767fa66d04203d3ec9c937a1f0c945aed953e34be444c219fd3b94d3277aa652024201658c1e5b2e563a49d11c883d05c491d628f0a92c3e3dc8db9a4c8d5f0dc846ac22af8b3c5fb5bbe2cfa98614dcffd87de1cee2c5912a5899505a0c5bcaa513e2c6\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 040000000002fba6a061201ea6b1ed4265163568735ebab78600cdf6a71101dc63beaf546d97a214fc6396793b014eb1aa7a728f53deb2ff9999a3808ddfed15e9629b01993852dadc39299a5a45b6bd7c8dc8ec67e7adbb359fa8fa5d44977e15e2e5a9acf0c33645f3f2c68c526e07732fb35043719cfafc16063c8e58850a958436a4e5]\n[key.wx = 2fba6a061201ea6b1ed4265163568735ebab78600cdf6a71101dc63beaf546d97a214fc6396793b014eb1aa7a728f53deb2ff9999a3808ddfed15e9629b]\n[key.wy = 1993852dadc39299a5a45b6bd7c8dc8ec67e7adbb359fa8fa5d44977e15e2e5a9acf0c33645f3f2c68c526e07732fb35043719cfafc16063c8e58850a958436a4e5]\n[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040000000002fba6a061201ea6b1ed4265163568735ebab78600cdf6a71101dc63beaf546d97a214fc6396793b014eb1aa7a728f53deb2ff9999a3808ddfed15e9629b01993852dadc39299a5a45b6bd7c8dc8ec67e7adbb359fa8fa5d44977e15e2e5a9acf0c33645f3f2c68c526e07732fb35043719cfafc16063c8e58850a958436a4e5]\n[sha = SHA-512]\n\n# tcId = 422\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 3081880242010e89470f981d2c7c5c96587121a67323bb96ff2427739d0d885ea277293efa3b25c0bda04d81466198a3cbfc441f1b1b98f6bcdc2589d9d91a17a7899f70d0461e0242017351b0da8c8d0e4aa0974669d190fa2f90aa50227160594dfb55755002365441de17ea42902128a6f81e554177ed509c0cec31fd5053fae03f62ff76579ba92bda\n\n# tcId = 423\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 3081880242011094ac23ca46a3e2b4ac3baae6504f1bfb3ddf2db9ab40eda32d8e0a05727998f8552a033bb05241e826a86a1d03014eae3aa5fe1a45caac1db3e8138b9cf5906802420147edb15a5080ee2f929f78b6ac86604aae51b674fa46eaae7fdfd90bf64d6189341155f4eba937eae74c9e480eb4fb7e6aafd4285e7fc503ee6ec20f0b1415be06\n\n# tcId = 424\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 308188024201d876ae174da31e128babff9f1d15507660bdc7958750844dc4f4291f75a882a22f177f704be6067bf7ce8f06b8626d971e6ef5dcb666fa975c1e11126e04fccce2024201abb12630a68b669e6ad2d8d62654d75dfbc6b54a8e3a9c915be663e080ddcc348e57a10e2b1dd9f03e1b897796ad889b075e5919dc5bf37a112d92c693456e6457\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 0401fffffffe1d5d52b31ca52f8947a35593edf164cd324f833b90935846c64db1454df9f028dc8bc36bb04cb7f0cceceba01a3844097f7c35eeaa81428db0cca6333101b7c70277d0bf78a3c7b62c937f0cb2cad2565f5514f6205ceb1a193d4fdb45ba6e6cec07827bae0b16b8316c3539a15114d0de6d2de407fd7117551a70826eada6]\n[key.wx = 1fffffffe1d5d52b31ca52f8947a35593edf164cd324f833b90935846c64db1454df9f028dc8bc36bb04cb7f0cceceba01a3844097f7c35eeaa81428db0cca63331]\n[key.wy = 1b7c70277d0bf78a3c7b62c937f0cb2cad2565f5514f6205ceb1a193d4fdb45ba6e6cec07827bae0b16b8316c3539a15114d0de6d2de407fd7117551a70826eada6]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401fffffffe1d5d52b31ca52f8947a35593edf164cd324f833b90935846c64db1454df9f028dc8bc36bb04cb7f0cceceba01a3844097f7c35eeaa81428db0cca6333101b7c70277d0bf78a3c7b62c937f0cb2cad2565f5514f6205ceb1a193d4fdb45ba6e6cec07827bae0b16b8316c3539a15114d0de6d2de407fd7117551a70826eada6]\n[sha = SHA-512]\n\n# tcId = 425\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 30818602414ed692af1ed1b4bd5cea3aa8ddc6f3f15d8a6ee0016fa0e8eb958580e7421832ecc0e387c34aafac6380bac419ea45c42ae6426af503847f22c49c2f456338c1a702417aceadde02ace1668bc1a3360d34e125afde230f536c154d91e6c876bee1d34ae06edcbbca0c7cd17646840913164740b12e2e224fe3ef3dec6fd84a81b581c188\n\n# tcId = 426\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 308188024200e01094048fcf7a1e2ec66faedffc40f48c9c93514325bde6b4958d80f0413efde7eec1dc6de65f96009c069397e51da2eb1729efa287afd5552b25a9e427a6d836024201489e7e124f66942e642de992e60b3a86fcce576767719390c3a312fcdeaa560a7fbb0cabb35e05a6d6f3499160fd2dba12d29b613b16dec7494c950d65fdf11fa3\n\n# tcId = 427\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 308188024201d296292213380de133dc66eceb8bd857a5c468afe855c05da9db937373b51f9020ca11353415da76bb6af997a486d2370e31adcc0a4531952a3b59428678ee59430242015979a3c609c2c2099ae1b290da3d613b248e3a10de7ad770dffc82fb33e74fc3207533f97285cf4557a6407e9a775e59efeaee4264b2634933a6baf8c406f0c4a9\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = ECPublicKey]\n[key.uncompressed = 0400c7c8817bf2f0652a4a4b5140c773e261080a0a111395856e8a3350f5eb5612bd63b367b965e92e9538ea3b7908aef1ade4b68e17f9f9148495c167d1c4dd4913490008bf0be2979abb8111fd0d768adcad774113a822c1bb60887053b5cf8c9563e76705a391ece154b5dfb114b20e351df4014bec19fa87720845801cf06b7fffffff]\n[key.wx = 0c7c8817bf2f0652a4a4b5140c773e261080a0a111395856e8a3350f5eb5612bd63b367b965e92e9538ea3b7908aef1ade4b68e17f9f9148495c167d1c4dd491349]\n[key.wy = 08bf0be2979abb8111fd0d768adcad774113a822c1bb60887053b5cf8c9563e76705a391ece154b5dfb114b20e351df4014bec19fa87720845801cf06b7fffffff]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400c7c8817bf2f0652a4a4b5140c773e261080a0a111395856e8a3350f5eb5612bd63b367b965e92e9538ea3b7908aef1ade4b68e17f9f9148495c167d1c4dd4913490008bf0be2979abb8111fd0d768adcad774113a822c1bb60887053b5cf8c9563e76705a391ece154b5dfb114b20e351df4014bec19fa87720845801cf06b7fffffff]\n[sha = SHA-512]\n\n# tcId = 428\n# y-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 308188024201ef8f785c51a25ae2cd93487b5c848d4af133217a91f51359c966e7538e68743578122df5830002f96f6fadb5bc44480e3b3b2c804e4c51cf95d059d5646c5cef21024201ba2276cc003e87bea37c3724e58a0ab885f56d09b8b5718f674f9c70f3b5ecfb4ad1f3417b420ec40810e08826efa7d8ad6ca7c6a7840348097f92b2de8d6e080b\n\n# tcId = 429\n# y-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 30818802420155978adc4b570d897511f5ecfb65a31947e6e989da17dea716625bb3fa7b92b853623eb0cd9ce2a5e2b4d8c1c2a90ec04fe79d012576ec728a45c5ce47c6d500c0024200f79fa8b94ee282a3d1815892cbf15d7ebdf62cb042c76bb3c710c23e32b75992cc249d84072198e", - "4ed63d72435a07d2ed76f278d7399f61a5b5c997f45692fed22\n\n# tcId = 430\n# y-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 308188024201a2af29c58184ca861e7cd931f39cea064b199eee563f241cd5ecf6ebb2ade728f1be23cf007ebe8ef0c42d99f9f5190f6815446afc3043a820d7daf27e86b83b8a024201a2acd1822eb539383defff8769aad8bacd50cd24ca7aa6670671418110177808c3f4fbe6041b9cb898359ee61e04824adedd62b39fe5791907a20586333bd3c76d\n\n", +static const char *kData106[] = { + "# Imported from Wycheproof's ecdsa_secp521r1_sha512_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: ECDSA\n# Generator version: 0.8r12\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 04005c6457ec088d532f482093965ae53ccd07e556ed59e2af945cd8c7a95c1c644f8a56a8a8a3cd77392ddd861e8a924dac99c69069093bd52a52fa6c56004a074508007878d6d42e4b4dd1e9c0696cb3e19f63033c3db4e60d473259b3ebe079aaf0a986ee6177f8217a78c68b813f7e149a4e56fd9562c07fed3d895942d7d101cb83f6]\n[key.wx = 5c6457ec088d532f482093965ae53ccd07e556ed59e2af945cd8c7a95c1c644f8a56a8a8a3cd77392ddd861e8a924dac99c69069093bd52a52fa6c56004a074508]\n[key.wy = 7878d6d42e4b4dd1e9c0696cb3e19f63033c3db4e60d473259b3ebe079aaf0a986ee6177f8217a78c68b813f7e149a4e56fd9562c07fed3d895942d7d101cb83f6]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004005c6457ec088d532f482093965ae53ccd07e556ed59e2af945cd8c7a95c1c644f8a56a8a8a3cd77392ddd861e8a924dac99c69069093bd52a52fa6c56004a074508007878d6d42e4b4dd1e9c0696cb3e19f63033c3db4e60d473259b3ebe079aaf0a986ee6177f8217a78c68b813f7e149a4e56fd9562c07fed3d895942d7d101cb83f6]\n[sha = SHA-512]\n\n# tcId = 1\n# signature malleability\nmsg = 313233343030\nresult = valid\nsig = 30818702414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024201d74a2f6d95be8d4cb64f02d16d6b785a1246b4ebd206dc596818bb953253245f5a27a24a1aae1e218fdccd8cd7d4990b666d4bf4902b84fdad123f941fe906d948\n\n# tcId = 2\n# valid\nmsg = 313233343030\nresult = valid\nsig = 30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 3\n# length of sequence contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 3082008602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\nflags = BER\n\n# tcId = 4\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 308702414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 5\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 308502414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 6\n# uint32 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3085010000008602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 7\n# uint64 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 308901000000000000008602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 8\n# length of sequence = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30847fffffff02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 9\n# length of sequence = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3084ffffffff02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 10\n# length of sequence = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3085ffffffffff02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 11\n# length of sequence = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3088ffffffffffffffff02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 12\n# incorrect length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 30ff02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 13\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 308002414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 14\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 30818602804e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 15\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645028028b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 16\n# removing sequence\nmsg = 313233343030\nresult = invalid\nsig = \n\n# tcId = 17\n# lonely sequence tag\nmsg = 313233343030\nresult = invalid\nsig = 30\n\n# tcId = 18\n# appending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 30818802414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10000\n\n# tcId = 19\n# prepending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 308188000002414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 20\n# appending unused 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10000\n\n# tcId = 21\n# appending null value to sequence\nmsg = 313233343030\nresult = invalid\nsig = 30818802414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df92", + "3a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10500\n\n# tcId = 22\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 30818c49817730818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 23\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 30818b250030818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 24\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 30818930818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10004deadbeef\n\n# tcId = 25\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 30818b224649817702414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 26\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 30818a2245250002414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 27\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 30818e224302414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450004deadbeef024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 28\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 30818b02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86452246498177024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 29\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 30818a02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf864522452500024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 30\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 30818e02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86452243024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10004deadbeef\n\n# tcId = 31\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 30818faa00bb00cd0030818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 32\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 30818daa02aabb30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 33\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 30818e2249aa00bb00cd0002414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 34\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 30818c2247aa02aabb02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 35\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 30818e02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86452249aa00bb00cd00024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 36\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 30818c02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86452247aa02aabb024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 37\n# truncated length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3081\n\n# tcId = 38\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 308030818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10000\n\n# tcId = 39\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 30818a228002414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450000024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 40\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 30818a02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86452280024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10000\n\n# tcId = 41\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 308031818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10000\n\n# tcId = 42\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 30818a228003414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450000024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 43\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 30818a02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86452280034128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10000\n\n# tcId = 44\n# Replacing sequence with NULL\nmsg = 313233343030\nresult = invalid\nsig = 0500\n\n# tcId = 45\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 2e818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf", + "8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 46\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 2f818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 47\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 31818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 48\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 32818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 49\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = ff818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 50\n# dropping value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3000\n\n# tcId = 51\n# using composition for sequence\nmsg = 313233343030\nresult = invalid\nsig = 30818b300102308185414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 52\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 30818502414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318a\n\n# tcId = 53\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 308185414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 54\n# indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 308002414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10000\nflags = BER\n\n# tcId = 55\n# indefinite length with truncated delimiter\nmsg = 313233343030\nresult = invalid\nsig = 308002414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac100\n\n# tcId = 56\n# indefinite length with additional element\nmsg = 313233343030\nresult = invalid\nsig = 308002414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac105000000\n\n# tcId = 57\n# indefinite length with truncated element\nmsg = 313233343030\nresult = invalid\nsig = 308002414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1060811220000\n\n# tcId = 58\n# indefinite length with garbage\nmsg = 313233343030\nresult = invalid\nsig = 308002414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10000fe02beef\n\n# tcId = 59\n# indefinite length with nonempty EOC\nmsg = 313233343030\nresult = invalid\nsig = 308002414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10002beef\n\n# tcId = 60\n# prepend empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 308188300002414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 61\n# append empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 30818802414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac13000\n\n# tcId = 62\n# append garbage with high tag number\nmsg = 313233343030\nresult = invalid\nsig = 30818902414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1bf7f00\n\n# tcId = 63\n# sequence of sequence\nmsg = 313233343030\nresult = invalid\nsig = 30818930818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 64\n# truncated sequence: removed last 1 elements\nmsg = 313233343030\nresult = invalid\nsig = 304302414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645\n\n# tcId = 65\n# repeating element in sequence\nmsg = 313233343030\nresult = invalid\nsig = 3081c902414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 66\n# long form encoding of length of integer\nmsg = 313233343030\nresult = invalid\nsig = 3081870281414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\nflags = BER\n\n# tcId = 67\n# long form encoding of length of integer\nmsg = 313233343030\nresult = invalid\nsig = 30818702414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf864502814128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\nflags = BER\n\n# tcId = 68\n# length of integer contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 308188028200414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf", + "8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\nflags = BER\n\n# tcId = 69\n# length of integer contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 30818802414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450282004128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\nflags = BER\n\n# tcId = 70\n# wrong length of integer\nmsg = 313233343030\nresult = invalid\nsig = 30818602424e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 71\n# wrong length of integer\nmsg = 313233343030\nresult = invalid\nsig = 30818602404e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 72\n# wrong length of integer\nmsg = 313233343030\nresult = invalid\nsig = 30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024228b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 73\n# wrong length of integer\nmsg = 313233343030\nresult = invalid\nsig = 30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024028b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 74\n# uint32 overflow in length of integer\nmsg = 313233343030\nresult = invalid\nsig = 30818b028501000000414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 75\n# uint32 overflow in length of integer\nmsg = 313233343030\nresult = invalid\nsig = 30818b02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450285010000004128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 76\n# uint64 overflow in length of integer\nmsg = 313233343030\nresult = invalid\nsig = 30818f02890100000000000000414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 77\n# uint64 overflow in length of integer\nmsg = 313233343030\nresult = invalid\nsig = 30818f02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645028901000000000000004128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 78\n# length of integer = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30818a02847fffffff4e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 79\n# length of integer = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30818a02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf864502847fffffff28b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 80\n# length of integer = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30818a0284ffffffff4e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 81\n# length of integer = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30818a02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450284ffffffff28b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 82\n# length of integer = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30818b0285ffffffffff4e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 83\n# length of integer = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30818b02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450285ffffffffff28b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 84\n# length of integer = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30818e0288ffffffffffffffff4e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 85\n# length of integer = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 30818e02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450288ffffffffffffffff28b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 86\n# incorrect length of integer\nmsg = 313233343030\nresult = invalid\nsig = 30818602ff4e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 87\n# incorrect length of integer\nmsg = 313233343030\nresult = invalid\nsig = 30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf864502ff28b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 88\n# removing integer\nmsg = 313233343030\nresult = invalid\nsig = 3043024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 89\n# lonely integer tag\nmsg = 313233343030\nresult = invalid\nsig = 304402024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 90\n# lonely integer tag\nmsg = 313233343030\nresult = invalid\nsig = 304402414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf864502\n\n# tcId = 91\n# appending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 30818802434e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450000024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e", + "43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 92\n# appending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 30818802414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024328b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10000\n\n# tcId = 93\n# prepending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 308188024300004e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\nflags = BER\n\n# tcId = 94\n# prepending 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 30818802414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450243000028b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\nflags = BER\n\n# tcId = 95\n# appending unused 0's to integer\nmsg = 313233343030\nresult = invalid\nsig = 30818802414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450000024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 96\n# appending null value to integer\nmsg = 313233343030\nresult = invalid\nsig = 30818802434e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450500024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 97\n# appending null value to integer\nmsg = 313233343030\nresult = invalid\nsig = 30818802414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024328b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10500\n\n# tcId = 98\n# truncated length of integer\nmsg = 313233343030\nresult = invalid\nsig = 30450281024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 99\n# truncated length of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450281\n\n# tcId = 100\n# Replacing integer with NULL\nmsg = 313233343030\nresult = invalid\nsig = 30450500024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 101\n# Replacing integer with NULL\nmsg = 313233343030\nresult = invalid\nsig = 304502414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450500\n\n# tcId = 102\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 30818600414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 103\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 30818601414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 104\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 30818603414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 105\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 30818604414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 106\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 308186ff414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 107\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645004128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 108\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645014128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 109\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645034128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 110\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645044128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 111\n# changing tag value of integer\nmsg = 313233343030\nresult = invalid\nsig = 30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645ff4128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 112\n# dropping value of integer\nmsg = 313233343030\nresult = invalid\nsig = 30450200024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 113\n# dropping value of integer\nmsg = 313233343030\nresult = invalid\nsig = 304502414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450200\n\n# tcId = 114\n# using composition for integer\nmsg = 313233343030\nresult = invalid\nsig = 30818a224502014e02404223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 115\n# using composition for integer\nmsg = 313233343030\nresult = invalid\nsig = 30818a02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf864522450201280240b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 116\n# modify first byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 30818602414c4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b", + "9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 117\n# modify first byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf864502412ab5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 118\n# modify last byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86c5024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 119\n# modify last byte of integer\nmsg = 313233343030\nresult = invalid\nsig = 30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318a41\n\n# tcId = 120\n# truncated integer\nmsg = 313233343030\nresult = invalid\nsig = 30818502404e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 121\n# truncated integer\nmsg = 313233343030\nresult = invalid\nsig = 30818502404223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 122\n# truncated integer\nmsg = 313233343030\nresult = invalid\nsig = 30818502414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024028b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318a\n\n# tcId = 123\n# truncated integer\nmsg = 313233343030\nresult = invalid\nsig = 30818502414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450240b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 124\n# leading ff in integer\nmsg = 313233343030\nresult = invalid\nsig = 3081870242ff4e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 125\n# leading ff in integer\nmsg = 313233343030\nresult = invalid\nsig = 30818702414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450242ff28b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 126\n# replaced integer by infinity\nmsg = 313233343030\nresult = invalid\nsig = 3046090180024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 127\n# replaced integer by infinity\nmsg = 313233343030\nresult = invalid\nsig = 304602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645090180\n\n# tcId = 128\n# replacing integer with zero\nmsg = 313233343030\nresult = invalid\nsig = 3046020100024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 129\n# replacing integer with zero\nmsg = 313233343030\nresult = invalid\nsig = 304602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645020100\n\n# tcId = 130\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3081870242024e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbe97b3367122fa4a20584c271233f3ec3b7f7b31b0faa4d340b92a6b0d5cd17ea4e024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 131\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3081870242fe4e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbf4d826580ab145752e852a6e91512b78178047879e9714a4ae1bc74298aaa7223c024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 132\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3081860241b1bddc11bc17347621c4ecc6003d861a7d07d3854f08e4421bc241c8b538a00410d65320718f8af465fb099025b7cae2184402aea8df4f13a328c90648c42079bb024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 133\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 308187024201b1bddc11bc17347621c4ecc6003d861a7d07d3854f08e4421bc241c8b538a0040b27d9a7f54eba8ad17ad5916eaed487e87fb8786168eb5b51e438bd675558ddc4024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 134\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3081870242fdb1bddc11bc17347621c4ecc6003d861a7d07d3854f08e4421bc241c8b538a0041684cc98edd05b5dfa7b3d8edcc0c13c48084ce4f055b2cbf46d594f2a32e815b2024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 135\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3081870242024e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 136\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 3081870242fe4e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 137\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 308187024201b1bddc11bc17347621c4ecc6003d861a7d07d3854f08e4421bc241c8b538a00410d65320718f8af465fb099025b7cae2184402aea8df4f13a328c90648c42079bb024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 138\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30818702414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf864502420228b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba09a7b6ac4ecd0410b4722ca75ba197a403a0a1f9ee0e7b391b0649fda1d3969eeca\n\n# tcId = 139\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30818702414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd5157", + "20b0ec5cd736f9b73bdf86450242fe28b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a5d85db5e551e1de70233273282b66f49992b40b6fd47b0252edc06be016f926b8\n\n# tcId = 140\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450241d74a2f6d95be8d4cb64f02d16d6b785a1246b4ebd206dc596818bb953253245f5fd61bc296eeee8b245d018b8edd8f659631962ad7a1e8b5fe56cfdd0157ce753f\n\n# tcId = 141\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30818702414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450242fdd74a2f6d95be8d4cb64f02d16d6b785a1246b4ebd206dc596818bb953253245f6584953b132fbef4b8dd358a45e685bfc5f5e0611f184c6e4f9b6025e2c6961136\n\n# tcId = 142\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30818702414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf864502420228b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 143\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30818702414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450242fe28b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1\n\n# tcId = 144\n# Modified r or s, e.g. by adding or subtracting the order of the group\nmsg = 313233343030\nresult = invalid\nsig = 30818702414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024201d74a2f6d95be8d4cb64f02d16d6b785a1246b4ebd206dc596818bb953253245f5fd61bc296eeee8b245d018b8edd8f659631962ad7a1e8b5fe56cfdd0157ce753f\n\n# tcId = 145\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020100020100\nflags = EdgeCase\n\n# tcId = 146\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020100020101\nflags = EdgeCase\n\n# tcId = 147\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201000201ff\nflags = EdgeCase\n\n# tcId = 148\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3047020100024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409\nflags = EdgeCase\n\n# tcId = 149\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3047020100024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408\nflags = EdgeCase\n\n# tcId = 150\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3047020100024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a\nflags = EdgeCase\n\n# tcId = 151\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3047020100024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nflags = EdgeCase\n\n# tcId = 152\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30470201000242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nflags = EdgeCase\n\n# tcId = 153\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3008020100090380fe01\nflags = EdgeCase\n\n# tcId = 154\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020100090142\nflags = EdgeCase\n\n# tcId = 155\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020101020100\nflags = EdgeCase\n\n# tcId = 156\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020101020101\nflags = EdgeCase\n\n# tcId = 157\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201010201ff\nflags = EdgeCase\n\n# tcId = 158\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3047020101024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409\nflags = EdgeCase\n\n# tcId = 159\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3047020101024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408\nflags = EdgeCase\n\n# tcId = 160\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3047020101024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a\nflags = EdgeCase\n\n# tcId = 161\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3047020101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nflags = EdgeCase\n\n# tcId = 162\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30470201010242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nflags = EdgeCase\n\n# tcId = 163\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3008020101090380fe01\nflags = EdgeCase\n\n# tcId = 164\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3006020101090142\nflags = EdgeCase\n\n# tcId = 165\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff020100\nflags = EdgeCase\n\n# tcId = 166\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff020101\nflags = EdgeCase\n\n# tcId = 167\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff0201ff\nflags = EdgeCase\n\n# tcId = 168\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30470201ff024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409\nflags = EdgeCase\n\n# tcId = 169\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30470201ff024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408\nflags = EdgeCase\n\n# tcId = 170\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30470201ff024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a\nflags = EdgeCase\n\n# tcId = 171\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30470201ff024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nflags = EdgeCase\n\n# tcId = 172\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30470201ff0242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nflags = EdgeCase\n\n# tcId = 173\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30080201ff090380fe01\nflags = EdgeCase\n\n# tcId = 174\n#", + " Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30060201ff090142\nflags = EdgeCase\n\n# tcId = 175\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3047024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409020100\nflags = EdgeCase\n\n# tcId = 176\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3047024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409020101\nflags = EdgeCase\n\n# tcId = 177\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3047024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e913864090201ff\nflags = EdgeCase\n\n# tcId = 178\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409\nflags = EdgeCase\n\n# tcId = 179\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408\nflags = EdgeCase\n\n# tcId = 180\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a\nflags = EdgeCase\n\n# tcId = 181\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nflags = EdgeCase\n\n# tcId = 182\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e913864090242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nflags = EdgeCase\n\n# tcId = 183\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3049024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409090380fe01\nflags = EdgeCase\n\n# tcId = 184\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3047024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409090142\nflags = EdgeCase\n\n# tcId = 185\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3047024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408020100\nflags = EdgeCase\n\n# tcId = 186\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3047024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408020101\nflags = EdgeCase\n\n# tcId = 187\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3047024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e913864080201ff\nflags = EdgeCase\n\n# tcId = 188\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409\nflags = EdgeCase\n\n# tcId = 189\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408\nflags = EdgeCase\n\n# tcId = 190\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a\nflags = EdgeCase\n\n# tcId = 191\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nflags = EdgeCase\n\n# tcId = 192\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e913864080242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nflags = EdgeCase\n\n# tcId = 193\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3049024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408090380fe01\nflags = EdgeCase\n\n# tcId = 194\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3047024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408090142\nflags = EdgeCase\n\n# tcId = 195\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3047024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a020100\nflags = EdgeCase\n\n# tcId = 196\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3047024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a020101\nflags = EdgeCase\n\n# tcId = 197\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3047024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a0201ff\nflags = EdgeCase\n\n# tcId = 198\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409\nflags = EdgeCase\n\n# tcId = 199\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 308188024201fffffffffffffffffffffffffffffffffff", + "ffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408\nflags = EdgeCase\n\n# tcId = 200\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a\nflags = EdgeCase\n\n# tcId = 201\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nflags = EdgeCase\n\n# tcId = 202\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a0242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nflags = EdgeCase\n\n# tcId = 203\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3049024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a090380fe01\nflags = EdgeCase\n\n# tcId = 204\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3047024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a090142\nflags = EdgeCase\n\n# tcId = 205\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3047024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff020100\nflags = EdgeCase\n\n# tcId = 206\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3047024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff020101\nflags = EdgeCase\n\n# tcId = 207\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3047024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0201ff\nflags = EdgeCase\n\n# tcId = 208\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 308188024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409\nflags = EdgeCase\n\n# tcId = 209\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 308188024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408\nflags = EdgeCase\n\n# tcId = 210\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 308188024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a\nflags = EdgeCase\n\n# tcId = 211\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 308188024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nflags = EdgeCase\n\n# tcId = 212\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 308188024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nflags = EdgeCase\n\n# tcId = 213\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3049024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff090380fe01\nflags = EdgeCase\n\n# tcId = 214\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3047024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff090142\nflags = EdgeCase\n\n# tcId = 215\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30470242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020100\nflags = EdgeCase\n\n# tcId = 216\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30470242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020101\nflags = EdgeCase\n\n# tcId = 217\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 304702420200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000201ff\nflags = EdgeCase\n\n# tcId = 218\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3081880242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409\nflags = EdgeCase\n\n# tcId = 219\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3081880242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408\nflags = EdgeCase\n\n# tcId = 220\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3081880242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a\nflags = EdgeCase\n\n# tcId = 221\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 3081880242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nflags = EdgeCase\n\n# tcId = 222\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30818802420200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nflags = EdgeCase\n\n# tcId = 223\n# Signature with s", + "pecial case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30490242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000090380fe01\nflags = EdgeCase\n\n# tcId = 224\n# Signature with special case values for r and s\nmsg = 313233343030\nresult = invalid\nsig = 30470242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000090142\nflags = EdgeCase\n\n# tcId = 225\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 30060201010c0130\n\n# tcId = 226\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 30050201010c00\n\n# tcId = 227\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 30090c0225730c03732573\n\n# tcId = 228\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 30080201013003020100\n\n# tcId = 229\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 3003020101\n\n# tcId = 230\n# Signature encoding contains wrong types.\nmsg = 313233343030\nresult = invalid\nsig = 3006020101010100\n\n# tcId = 231\n# Edge case for Shamir multiplication\nmsg = 39353032\nresult = valid\nsig = 308187024200b4b10646a668c385e1c4da613eb6592c0976fc4df843fc446f20673be5ac18c7d8608a943f019d96216254b09de5f20f3159402ced88ef805a4154f780e093e044024165cd4e7f2d8b752c35a62fc11a4ab745a91ca80698a226b41f156fb764b79f4d76548140eb94d2c477c0a9be3e1d4d1acbf9cf449701c10bd47c2e3698b3287934\n\n# tcId = 232\n# special case hash\nmsg = 33393439313934313732\nresult = valid\nsig = 308188024201209e6f7b6f2f764261766d4106c3e4a43ac615f645f3ef5c7139651e86e4a177f9c2ab68027afbc6784ccb78d05c258a8b9b18fb1c0f28be4d024da90738fbd374024201ade5d2cb6bf79d80583aeb11ac3254fc151fa363305508a0f121457d00911f8f5ef6d4ec27460d26f3b56f4447f434ff9abe6a91e5055e7fe7707345e562983d64\n\n# tcId = 233\n# special case hash\nmsg = 35333637363431383737\nresult = valid\nsig = 308188024201c0832c973a455cac48a4439659aa21146036c52ec1514121c66714348a1c0e2c7099a2466d9acb49325a0cb509e5dff2efbcd90369d3027cbb7dca58a134278d05024200a426c063ab5cc6af20dd1ba8a519fac910183561598e67c0929e25f9c3aaeb245c5647fba21e30c103304dc6f49e6dec68a7833533e4e5448240bde023fe201eb9\n\n# tcId = 234\n# special case hash\nmsg = 35363731343831303935\nresult = valid\nsig = 30818702410d01cde64dda4dbcef1a9b924779598217b97eb688d9b4a4fd20d1b81ff0bb870abff1b0db6dfc3762f27c3954f230a7933d9ea397a972caac5ed2183ec72716c7024201c6530fb6b913005f81e156be89b3847701829fbb310d8a4c761212c6d2f8750174f2bf81c238fdde4370fa87de320f57dbed96691af45cb99f3daa865edcdda59e\n\n# tcId = 235\n# special case hash\nmsg = 3131323037313732393039\nresult = valid\nsig = 308187024200c009c74ec707252325d78f4e7f14be28f56272be17c0c18c90ad4c07322cef4eea444c8feabf41a213e3e846f8ac8bb7750d49143069cd01877d530bb981f1a85b02411f1c27ef97f434a8c2ff315dd39d909709775bb3c7588243bdfd8f7c866c49b3369719d5b74a47924bbce57301675e2baadcec438e07e6d532aba664253ab09550\n\n# tcId = 236\n# special case hash\nmsg = 3131323938303334323336\nresult = valid\nsig = 308188024201d3b17a34b19d134773988c434a9fb7f22a57dfb4c4bcca031e213e1b9a56db0ecb2f3c54cf9b1b6e5981369652de37337a7a7d7ddb54d67b067bbce01fd7fd2808024200c90317dfa061122557eb3899939924a8ea3cdd886e0f2e5f2c384b65b1a40de5f00fd9fce889fc313a6a9d5f0a9cd3a7b89b7ba8e97807031f3d1e3f9c103f0a10\n\n# tcId = 237\n# special case hash\nmsg = 39383736303239363833\nresult = valid\nsig = 308188024200cdca5299e788600a3ca5938d4a4c5f42b5eea3cefc990e67af95a4449aac0ab50e8fc4778efa497223cdca07c0e5a5920110f3a87afaaf265beadbb91c00d13464024201a92b9a5570b42f91ebc3d8ba272db9241468154783548d3fcfb6ef46c9e037bb6217af0a31ef952c27604629ad5775e7695c63efa138cee8326a51c1b04d0c658f\n\n# tcId = 238\n# special case hash\nmsg = 3230323034323936353139\nresult = valid\nsig = 308188024201660b0ed15d5f63044cb189e1a405bcb591c37217d0e000008614b152665d5bb9353a3826854a8bc6ebed423b15680e4340a00701b17bae24bd399bcff7e0438bfb024201c47f2f5c6143d2eef063757114aaeb27827b6a8f675d1825dac7f4548cbf78a37eb9621a29e9b14cf61fc6ae49e7e6e15350a4b90a4a897ff69b0c59b69508ebc7\n\n# tcId = 239\n# special case hash\nmsg = 31343531363639313830\nresult = valid\nsig = 3081870241364684856c7c02bfb2ad2de603d10883ca93c122d4cebef276467a9b7620fb530e4d05d07c15ab948b9ce7682561307913b64ea6896ece1095dc64369f1a9d5c0d0242009e6db2ff96d9d71150440fd44992656ca118fcaf6bd04499314e8ba61a55a8790aac023ddb68600fbd7ed4cd4decb176e8bd7822ea31d75adcbdaccafcf510c26c\n\n# tcId = 240\n# special case hash\nmsg = 31303933363835393531\nresult = valid\nsig = 308188024201a317e49014f1bf3afc09cc048531010e2144b662cac657e51b32bb432d274a730b535fb2de66fa8ddd26faa3f46e004389d25517c56e7d8a1d39563b0e8c9c215b024201ad2e1212e1680b660a1c07f54addff575c8c8298e26a14c516f517fb5f966a2b383aa46a483fdbfa72711d60c0f67a2c03d63d2626ffe271e0ce353a4d4b09bd5e\n\n# tcId = 241\n# special case hash\nmsg = 36323139353630323031\nresult = valid\nsig = 308188024201c09b29fc4da04e9b86097bd6d6806aa969ceb37ce52eeac5e9518d27541c3f30c00f113d9dd3b007dae6f381896d43fc6ddfb3fa256a36529b054e416ed638059902420113e5622cb1e4c4bb0842f3d396d7e660241116e94e8120a602e3d2952701b1a11415a3d8c503adced160450fd13157ad147d2d65d77449458659350e20a545602e\n\n# tcId = 242\n# special case hash\nmsg = 35363832343734333033\nresult = valid\nsig = 308187024178f4a2968460ea8f64a938b3a97c914eb0ccfa94eb08636efee9d5ad8668ce1c9099573abd146df9e7b2ccaaa1a25de903f85962849356a872e88e545babc28974024200f2729e9593c9fcdf5971b21e367ffdc87aa7520393527c6f68ab512b88b839003c1c9952b04f2dc74010a31071ee20a9fb1c7e1187d04de71b3f4327df128ccd43\n\n# tcId = 243\n# special case hash\nmsg = 33373336353331373836\nresult = valid\nsig = 3081870242019faed147a76b65779d0989e1300802844c9ba09f338c5e31a24d9ebf8f0b0b4c21f59d369ac10e315fa2b7605b0f17a9c07cf6ce4c83838e58333a3390142d79d002415f4de71fdaced1e8da86efd47ecbdac6a6ffc6d69df71da7ceb5596475cdfecea3d00f074d2de89e0fcc05e3231d531f0d38f2b7c6fe4ecf67a0cdddc21d0867b8\n\n# tcId = 244\n# special case hash\nmsg = 34373935393033373932\nresult = valid\nsig = 308188024200d0b144350a2128f042bc1a27f6c021dad1ec031be8f1d8304797f9ddcb742974aae209f014980174b9d4e434e3f53247889d2da4b767593179cb4eda47e799643002420184d3416dee35ba8807703a91ac927096c10959a05cbffd8103a93a9f20a11537bed7a645f32295e4abce493579caa4e2242060cc4d58b2414870e98b9336795787\n\n# tcId = 245\n# special case hash\nmsg = 39333939363131303037\nresult = valid\nsig = 308187024105257a0f45ee2ae5cc30283d23c47c96f6deaa3ac1473e8e8a40eaf61bc4b0ef8bd18d11983f257ec4b1d8d04e76a122b5bbe1d31065159072c58fd9bc3e98376802420122dba50d0eb71bdbf092a94a7ea280412906e1f849e91dbd5d8158e3fc6cd12e20461b77653e3df2e45b86883f81071b33651ae1b84cc8e7c365ab8d6a36d1cfa6\n\n# tcId = 246\n# special case hash\nmsg = 31303837343931313835\nresult = valid\nsig = 3081880242014f624af9d8096fe7a290651d23ab260da64e44b886fef4f3881d0d984d3b387fddcf65b1fa1dbb239028fbab4a1de6ad150cc8a4e4db0a971bb8bcf01c4728ff9802420105e3b55db0141c06d9854096cc0f73415dd2b85a331da50cfea3bbf648bbf8651f61f2cd09386b62fbb8ce67248683c260894d9ed54d6667ae02978e38ab99320a\n\n# tcId = 247\n# special case hash\nmsg = 33323336363738353030\nresult = valid\nsig = 30818702412c952d7e61e1097cd7f709e62ec486879b380b63791c146b545c064e65b3060250d00af279cf15eade67384b28594db542845fcc6574ef5d8d5bb8a162e0350a0002420135ac6d1cc05b095fbae28b652fe5386b8689e21a14990236d3ada7ceeb0c12a4f774bff7b81c8d07572b0c7985364c5d31f33271f0ac3a2afb88b46bfeefbaeaa8\n\n# tcId = 248\n# special case hash\nmsg = 31343438393937373033\nresult = valid\nsig = 3081880242017919eff78225e1937a921f98f5d153cbffa03929819f228ee013f8e59549b04b9867006a8df25a93a6a25dd1d3f540239a8ed14047ea00811da9305ec515ad000d0242011fb873bdae1757801e575c5df62cf82a1881af3cd6ed17dc50edbe6c5fd0f4d31766670b2aa572a9e6547b36142afa8464d0be4bf41930629dc04c85e01b2ee8e2\n\n# tcId = 249\n# special case hash\nmsg = 35373134363332383037\nresult = valid\nsig = 30818702416ac9b370067b13ac2b57f35d6d9b1faa93b9b068ef5ddf8bde3a54024810aa2226560065b0cb7501df96b4756ce1e1fa607f86a942367894a1f7728bd5f22cf1770242008b47a9e1370c9f5bf4677d554c00e9ac3ea7cdfc78836ac53ac710b7f3bff8c2297780c69a9fddb80e03a605e5e48a52e52fd35f41668cd9064886366fda206086\n\n# tcId = 250\n# special case hash\nmsg = 323236343837343932\nresult = valid\nsig = 308187024200c4bcfff265cd32442220976ffc7e4ec09181d69", + "4696eb89af0cb2d5a2dfc3876deb3c6adea168965200c355c3bff5e47ab17ecc44c8434333280796d3a183449ea024162debe91550f8a760eaea309f48483c65a52c7e88a83867c31730cbc6b0a64d4c564bde67e6539af787ecfd18016cde46ddf91740f58f6ea6ec80b173fd1c47ad0\n\n# tcId = 251\n# special case hash\nmsg = 35333533343439343739\nresult = valid\nsig = 30818802420174d744ddc631fcf8202fca0ab10f6d96d3f7552bb2a9ae5ac573634133f61c59a120fedbc39cfb521ab0cd572afbd5147981090d1dcbfe902e03f0c0579967b5810242012f59ca927c4ae331d2f667fcd9ec01b0b5514e2ab5da0561ea614431dc1fcb761c351cd1211092720ebb7074a5128f8019b7c18e048d5ed3573ed61686e9713f72\n\n# tcId = 252\n# special case hash\nmsg = 34373837333033383830\nresult = valid\nsig = 3081880242019a513cfaf871287340d8a51d2f4348ab4096c5fe244b22add38ce433e3178e8ff5b2df0fe74a1ba40fe8341f734c71f9a1177b41035777e2da6b082e0b566690de024200d0c43eb33a817c3aab30281c593c74517ee84e958b114395ce0b31fcf30bb8f5dfe60dbc7f6f14698977d8e0516a9274a5bd71847057e006fa315fae6922eaaa55\n\n# tcId = 253\n# special case hash\nmsg = 32323332313935383233\nresult = valid\nsig = 3081870242013204800efcb40ab09ae4137325a3e8c468edae91880a51616ba61f3ef1f72fd89feb956bfb39818d827468bb4475110a04779fd6bb3def25c61c4ba60889ed0ff70241704b7394687698c8841f4875d40e5b3c914f154ccb2b54466ae163ed3410f20d0a07ac5f90c0c31271ec8a524ca2dae4b8bc4f6e1ece173ea907890693c5f2190c\n\n# tcId = 254\n# special case hash\nmsg = 3130373339333931393137\nresult = valid\nsig = 30818802420180241cd2e6163158a39599890dabee99c2c86b88accd2b04b5a72874fbdfbde0d18143c4d78e0da1abf3796b238738840d60e34775a8ff810d58a9bb3559a3997c024200bc396c2ef28b244fb8e004bf5361572ba1fef6fbe081ed1dedba4d9af78deee126599f75a0a9d0f1b1618ded7a0c5e672e40917fdd30582460da3aeb1e9c4477d7\n\n# tcId = 255\n# special case hash\nmsg = 31383831303237333135\nresult = valid\nsig = 308188024201485fc03fcd629fd4c564775ab6969bbc696b5b0f38141b69f86e052e7fe8849a64af2dd37a2adf64672f20bd6f97cd32f0efea51aa22064c5f10a3911177e1979d02420180fab473ff9d726db6d266541a0bddff8610e4026d26b6c9abf972eaef477d50670bdd3067c9d711a8346e16869147751e89b4ea75bb00ece71300cc3b80cf8899\n\n# tcId = 256\n# special case hash\nmsg = 36303631363933393037\nresult = valid\nsig = 308188024201bea49b150a27026fdf848297b0491019f76abf90f3e6d782e3d3fa6caddb81b7ef58b27f1b2b3f7898889b4e2b6cdda7b5636177a27eb9a67b2055b6f21d262c26024200dffb13c2d5f746c8573aa444afc8baf8bf881cc4d0fca8169f6cb304f400eb3932666cd3758c437c9cad79abfd89c72a788505763aabdfabf8903ad4a70d9ec9f7\n\n# tcId = 257\n# special case hash\nmsg = 38383935323237303934\nresult = valid\nsig = 308187024201d56bf6f3758f627f470706d1d28c28fbfcad6dc30465cb285a274fc057f791de73ac30baccde044473fa9e3dce6d395eadf98d1f97259bd851a1eb6f3d31d2d756024133704b4ad37300a96682569f4f7fea3e14d6e1f65864663f39aa67f40b5c949f198d5de9f2ac2369bbb9111c89b393199537c6c08ed7c02709c733ef7660113d53\n\n# tcId = 258\n# special case hash\nmsg = 31353830323334303934\nresult = valid\nsig = 308188024201554035ba84b051d50901c622b98be4de0123a02928dffa7eb13b0403fd5e255f226505e15694956a66a878ff581173d123d1b24eaa85c5fe46d8973a55040ff405024201b016dd6b5176ad8347eb9802dd7727e06a29db33cc946f809a42f9193040692b0f82ebbd04eff9f099b7f75f8e45e74ac00a51a9cd4f2cbf5f03f4d2bee99c24eb\n\n# tcId = 259\n# special case hash\nmsg = 33393635393931353132\nresult = valid\nsig = 3081860241293e8d6775f3c14183aecc22f608e9013d7b15dad167bb38a1dfef6b373619f1ba2751d77b43f643f68643cfdb5c04a8ed858bfcf3858a681ae93bfc7cd7e3143802412c7d96db7dbbe347bab9f6f7b88f48cb32ab963248737d2c901b90d64591cbdb0f0ca7a14557f8a50fd80d402f929dad141141f1f0c85d9414b32d1fd4d796e6e7\n\n# tcId = 260\n# special case hash\nmsg = 32323838373332313938\nresult = valid\nsig = 308188024200b16a9b3aceece85908125f96f6cb6b1afd0ef04171936b3766f8e43beb340d382084b33439f775a29a83945da8efc4190db1343e87d8c0ffb97aeb3be159d90f59024200e5c2bbd98e449bd0bb4f75a07f1a88dd63c0602a7660f4acd33937c4913a9c16ba44dc5808892ec88a4255109a7bc5b221c07e6a278888a9712fc2a25b374427e3\n\n# tcId = 261\n# special case hash\nmsg = 32323330383837333139\nresult = valid\nsig = 30818702413b47a8ed52f5b0566365313520bc0b6e4e4efb3ea4176ed7a352c4b2f8bffbdb0148ff44f3f13d9e5e31b1cdeae097574aad8bf393c54a5c842e749ee87a74c6b0024201d3f484e9e224bda9c8f10fbb74bbb62d7a18245707f4eb52f17dde793892c16e4bdf504960fba55da487f542d412b1b833f6f46336118618fcff69469c83963777\n\n# tcId = 262\n# special case hash\nmsg = 313239303536393337\nresult = valid\nsig = 30818802420128b8988bfe9287f82ac97be507a544b823e85cc2813b6929e63699cff85a40283076028e7bf8d24330f89adb96bf24a4e183a898e679b36768909574e7d4733d61024200c18aae44e6801fc2e3d9c7a20ff9d42b46e4a31ca37772f8c46ce65219b195ca23717f816e1fed51e5b6f9a0ca12c3cf81ae7fc9cc6946a88330b2011ddd160930\n\n# tcId = 263\n# special case hash\nmsg = 32373438363536343338\nresult = valid\nsig = 3081870242015edf1fa95b17159f762d68c1736101309e80fe5b2c4415609a5ac0837fe5901f3c2d3d826a43b1f8cd1babf494ffd96cca1267950188a924d4e1bf7f68189f27d302412e8697efbbf53adb7cb1b904718fc71eb2561f331c209c50848b5bc50bef77c5c3487d285bfaa3caa14025cbb71bdbaea6911e3610335641d2799c3fd75019f716\n\n# tcId = 264\n# special case hash\nmsg = 37353833353032363034\nresult = valid\nsig = 30818802420161f64bbe93fdc0e61134cfd4c453ab740233b436179351aa68a3e38a83400d86ff464d7ceb7a51f541b86eb2f12e32a879b3a29bcb92e08cd50e74f86a0ed52ae90242008f6fef49ba12ced6696f4f6d24e6c68057a84496d42eede630199e9bd06d91363542a9776bfcd6d77fbae422e80fe466edd2c2c5e1f5cc79bedd1a7becc1a12660\n\n# tcId = 265\n# special case hash\nmsg = 32333237373534323739\nresult = valid\nsig = 3081870242013a6faccc1c06cb5dadb2cf083cb94a7181fd5cbf3954fdc430c2691248fcfcd13767e32491f00269b549cae93777ced0f7b069440726adde7605d4038d7b5ea4cc02417622c9065f4c49a6f8649073dfc6a827b897b6984176b1a09d151b9733a68f6da746c47427cdeb3be075da4a351ab78dd5e472cd98d1586edd6ff2a11c6c169fbb\n\n# tcId = 266\n# special case hash\nmsg = 373735353038353834\nresult = valid\nsig = 308188024201899609e7f7cd2ef14bfbb1cb9ba9283ae11a9346a34bef23b1c249da2e76a7708e0f2f97f819e4e25b0d5227eeb85aa593c3fae9398a7020f61ae1606945d13841024201b8d5e9c4f030295447106d2b5c80cc2e7d4e36b458a90a08f505df62d2234e59d08187385ba5501049b34e12ec92f7839a18361a52a9a0b6f6a664b118680b53d7\n\n# tcId = 267\n# special case hash\nmsg = 3137393832363438333832\nresult = valid\nsig = 308187024201ddc69d1508021eb560db39f3add8a28dd7fbce417e5fa1f4f626705caaad72b634868d01dfc474e926c97927c56ac51f9bdcfd0e7627be35cc300a0cdc083b00d402416e862caf9f2df11b0a46104e78865fbbabe30bfac0b1fe7f99badc11746a288c1ff27f6fa2aaba6441bab0372af906eef083ff03ba466b896c9344cd396dd46dbd\n\n# tcId = 268\n# special case hash\nmsg = 32333936373737333635\nresult = valid\nsig = 30818702420117fe2c21f282c7e4a8415e9c53c254514eeeb0adadc771adbc6d21a09add4f17ea0c597469488238be795f2e187fa016d590535b4ff10c62d2246aa17bb013f9ee02413c9f1590ce7a68fc84c617f478188e71aefe8c74c4b9979b8c9196bcc262205aecce5fd2bb80c360d3e20da20e36c5ab70d810d4ba97d13858199d3a1c9c140c63\n\n# tcId = 269\n# special case hash\nmsg = 35393938313035383031\nresult = valid\nsig = 308188024200be6b47254a3cf93e2e276adfb072256404744070d6dec83ef34e3e6c119206422bb275e61fc47053ef7b2af9e33aca8f8b2e4938057070eb6ebbcf82fabb44a5fe024201061ef80935ff6d0e9f87f3537b639945acf50c5d97d30b4b9c347e3f5f5ec02b15a376ae754d64b2efaa811b3d12a0fff0bc689022025dd2f69f2f4b40dda8687a\n\n# tcId = 270\n# special case hash\nmsg = 3136363737383237303537\nresult = valid\nsig = 30818802420130b6fd7dec5cb6f90a8b54ce7b58c61b013d0aed7c4a26639de80aeac3d9e3388e9f87e1e6419d3f0339af324e1421b5d130317ffd9d8be36500a84bb41d026cea02420176b460a3eae01d8aa8ccffb0d6cf4d1595aa697c65510a1197b97343c1a6234552ce9d6d318c5f20f48bec0dc311dd62eb40058f3cb22fa958edaf9ddded191a08\n\n# tcId = 271\n# special case hash\nmsg = 323036323134333632\nresult = valid\nsig = 308188024200a87de42d827ae1f55d6fab3277c7a9fdfac3af22fe47e52bfee34fa1ee3e765095fff20175becbdc94b4a5ad3a149ea7c1bebf4d45370e6b4404a0437d8fae264f024201a3c1c5186d8aa491b4623f5765a388930f37bb8f3e1c0db508983585b9090b3aaf22bb846e0fb6d915b5811ac55e4d6cb08f605cb84deb55ab7fba2dde8736b1c4\n\n# tcId = 272\n# special case hash\nmsg = 36383432343936303435\nresult = valid\nsig = 3081880242010e46055d9aa087f1c4b6056319cbf17a0694fe073266a3f30363030e345a4bd461acbd99d1261fc05ef3c9a1c37afba6e21c2d513ea3d4709de5586810d7d29ec6024200d0c95c7e97a94efb44aa717cd6ebe82de0644e32676d197351f128ee8d2b223ab476d3e66014ecc003081f7040c578b8984628d6ec80733f713e26b2c98cb4ede1\n\n# tcId = 273\n# special case hash\nmsg = 33", + "323639383937333231\nresult = valid\nsig = 3081880242012c04d08a7a2d07403aba604ea85ec23a52b52786e7fce04170e867be6146eea75a7180f5d4f3b82a204a3c996811a1e61a3e76ed209c22428b35c51fe60f3bee1e0242016f2feabc25733b0a460463b9933e6e4ae9f4124cd0ad3785c77755dbf0848ec1cfd2ab08b960b556870fa00388d23d9a9fa3112ac3e62a0f342d58fb1f0aa81748\n\n# tcId = 274\n# special case hash\nmsg = 31333837333234363932\nresult = valid\nsig = 308188024201ca9532c9daeb80d0dbc07a4138ba62a6bab8c88b9e1e2edf2675132eb97cfb26f4c395f3b9d1d1275694956b34c3ef72cd00bab86777465b9edba29a41b0114c6202420140eb6dddff253a7ff5b032d82fbd18e481a376fe242f6405b81b57165665c9bfe61e25cd3358245bdfb8de7632de72ed20cdacf384764096c8fe3a376563a348af\n\n# tcId = 275\n# special case hash\nmsg = 34313138383837353336\nresult = valid\nsig = 308188024200d609e1f1cc1adf5889dc6deda441682e760be08932b31592fef3ada143fb4940e4ea75ae519e4fb0769c4fbd33a52b183a21d0bba1ffa3fe50fd11f75c6ac58ff60242012400cc4ddc24ddcd47a6d639a2abdef29a65d4fe9175f51b316f4bf918bc918879495c572f8e98364e2e1aa0d4d53ad29e803a4470d94dd06a982a1d041bf2b5dd\n\n# tcId = 276\n# special case hash\nmsg = 393838363036353435\nresult = valid\nsig = 30818702413775a7e61bdda9a3a990ba9fde98f9d81d4b03195547bbd0658e1059daa00da9270671b2fada1bbbf13982f87c9f3f26dda5cd4f24de63bceb5fd9390163c58d260242010a03e4ba08f9e2b6915a6c0b83156b00f59efc5417394c51ca7616b58cf91ab7166d8459eb4eeb0d57146ed6560e173faf354b4390817e0aafb38294df25992cbd\n\n# tcId = 277\n# special case hash\nmsg = 32343739313135383435\nresult = valid\nsig = 3081880242017ab00a30c88faeced3e4a10f9c63785bc29e9af4499466bd8880827cfa580b6171f4a20f36487f7b94592946bca4162faf65872af6bfb1919e6b026c14e51e2740024201927515f6489e9b7d9cbf61e103295857c8131320217e7a86d3f2fdcb350da5b42c2dbe173fcb025d14da239d7d610de8475914748573429c9590d3594f4fa3aab3\n\n# tcId = 278\n# special case hash\nmsg = 35303736383837333637\nresult = valid\nsig = 30818602413b2ba1509aea9d42d400400033952a022fe7e00c7ad65c39a2f76d41130aada99c3cdfb9cf44575a2163de29f097beb9bd3aef9334e6fd0813dde2a087f938c5f602411afb56087dfd5cb4fff6679a114c340f3a59f6b3e1813373bf3ebe30cb5e8b285a5875d1b5a9120db80f70310201559f89bb1df147961d1ca4fcdb5e8e84cae082\n\n# tcId = 279\n# special case hash\nmsg = 393838353036393637\nresult = valid\nsig = 3081880242010efb321a347625343f5126ed8545017d799eb103c75558922eabe44211e8fd834655dc2ec5bee9bb3e44350eb6885e0ab974730222e55f13ad27c066722fecaa25024200d62e3d7ff9215369aa7da818db302e49033875010b2f9b73d25ca5b9bf2c62ed756686230cd5f4a37c1fa881c97e623919fab827de5995ab456a1fd7ac7b85b1f8\n\n# tcId = 280\n# special case hash\nmsg = 32373231333036313331\nresult = valid\nsig = 30818702412f778cd552f54da5f567f47e6979872ba130dc0890172bf3b3bb952f03c64bc8783abe9f056d60e1667780f5ea88f59ef33c735d540561a197d31fe34853a60a52024200bd2816f06372f2e3f2582d53e583e133a551aaec04ddc2fdb7b8131787e73e4295ac28a9604a2402ed5b272cc03be57dd4a7df84d9ee24cb0c2bf124ed927defee\n\n# tcId = 281\n# special case hash\nmsg = 33323034313031363535\nresult = valid\nsig = 3081880242012a459fffea70d3bfc13e9ea0abb10aae3910df604997cb5e4bb0548abd852abac6b9a32418c3b5ed4e7951ae88eecc0a2f1065caf24c6a814674e95682d9b493f2024200e2abd05c585e0c213a219a7e7d38b810d252ffea67650d4d1994a41c2ca325bb964920c6c2545381c45ca3e1eca05e00514b366cb0e1e49b8c236d383b260b9cbd\n\n# tcId = 282\n# special case hash\nmsg = 33313530363830393530\nresult = valid\nsig = 3081870242010f2653d94aa28bcbd667a5013f9b283d8487c44d093ee47660329398caa550ca9c9388c7aadeceacac1507e76590afb736adb3583f54f31ae25c9c717ec9f89b5e0241494448a7ffe4a4eed84b4602781ecef77a23fed116b1b791b8d2e4231b7ca2a7b6f06d132705932d446e61d344714ee24014fa5bb144a96572b3d48d038a55ad68\n\n# tcId = 283\n# special case hash\nmsg = 31373237343630313033\nresult = valid\nsig = 308188024200c2da48552c39d94f5a45427ae9dcd891b65cca33e624ad2532ffa333666b241d873336fab7bbd7b4c193db4d865cd50f0c1d8cb5c14cf3f089ad42dd43cfff634e0242014f2070dcf860b96a45f2a6061e4ec2a6ad64d7d0e9fbdb25aa93b99941be280f5c70c0e32b6234df545bace7341af94c140c865d44fa8ea7ebe0fe53bda44645df\n\n# tcId = 284\n# special case hash\nmsg = 3134353731343631323235\nresult = valid\nsig = 3081880242009bc6e74549b48a1e7c181b179687fb27d6e9acac47ec34b1b8bd044d329320544e4e568e67d17f4cda2f0a3fe303d561a11fc0c981ed9be2fcc6d397a43ad49e10024200ff295e43fec5b68b00ce8044434bcd17af1ba04a74556353e258d017ba26bed67f458fad5dd8e7d2734d56f59928c2419441a9e8c0573db3586ca056951ca935e0\n\n# tcId = 285\n# special case hash\nmsg = 34313739353136303930\nresult = valid\nsig = 308187024120963638d0b058494254efce57778ac65e5f23491f7adfa72e4713b7c03946b543c014d9660d855246f308085eeee495cd831b7dbece47aea48e90433bd0fe818402420161a4f4977fecae92d4f67e56f3338c7a9b820b5e05db1f28d05d71f7e5f36bc63f6edda4d3c1b2d73bb8a30c4d745b73e634ef574cf47656a372e3eb42cc038850\n\n# tcId = 286\n# special case hash\nmsg = 35383932373133303534\nresult = valid\nsig = 308187024201bcc5858597ce8d4dc5ffa6be33f7d804f2f8ef59c5db9301785e0cceb7ed57462f455a465710c7414570c9a35a3100bd15fa40e3ec350d1f75406c2a25885e9d76024143757d282fd1d44c253f9a05d8142c29a6d63c0a1f5508431bc9fb9b60a38b7f414e730e0d59b7b709706a67022e1922fe88b182a57443c58bd06a69ee7814bcab\n\n# tcId = 287\n# special case hash\nmsg = 33383936313832323937\nresult = valid\nsig = 308188024201240120b97ea67bcbd0e412d87137a13e347a870a2249375fccf8c004da35e592620774160e7b82aed1f57997fb015a764d014d4be1f389e5499777054576e7bf000242019f157ec3a2410853274bc4d8e7565e9eaa5dc47d5e515abc86c22fa6dc215482df5c0e2b885f37baef3a6ae83daac930617a5fb37bb03ce40f06fa4ece26cbb11c\n\n# tcId = 288\n# special case hash\nmsg = 38323833333436373332\nresult = valid\nsig = 308188024201a7536d55876f8392a6eba18f075118c273015844eb3536c727c004c1bf23067d57e8fe31872f8bf839640e80e06aba3c0a365a268cabc2da96d84550a569f17f9c024200e840b6a7cba718d91103faa134c2f63763f3b6b91db7ecbd3b10f10171a875712cb9384325411beca9a3aa87aaae3902c282d2dedaa1cbddd40ccf0d29975df22a\n\n# tcId = 289\n# special case hash\nmsg = 33333636393734383931\nresult = valid\nsig = 3081880242013f72be1c331214f45007ff72ce54afce1c910a90e4ff3d176620ff3ca976c2b62d0cdf5d1134290ee97440715531455dc29818828094d366f959e1adc7d7e98ea4024201e80ac38ba69f3e53116e5432fbdb3b1e7ea1b43e5f86d1c0e3d1c469442dbb406ffe524f0685f71e811d94a9efa9ed38ccd9213f983983035f2add0b8f2fa4ae23\n\n# tcId = 290\n# special case hash\nmsg = 32313939313533323239\nresult = valid\nsig = 308188024201aceaa6d567ddb39ba52d297e60e4a814c9b476cab568c09d8ace878d846218dd2b5d2a2461f0d5a56c12f0bd803e3253dc5b387b94e86589cb1d0cb809c7071125024201b1fb021b10b593cf9e793cf22a88bde9a4b92f9e218094f270b093e8c6c95aced43d097bfa3354e6b98d195c599c2e6f13351c63c28967e08b7e497e120665c663\n\n# tcId = 291\n# special case hash\nmsg = 35363030333136383232\nresult = valid\nsig = 308188024200f6ffb5dd786326041e74564b719d38924a28329868177c13463cff90c4b09d3d2dbc011281cc78aa0e5e8656123bc50605601a547bb4b1761f852a120ea46df9df024201a407fdd445614a16a5ebd4ba075c6c1d7564f3cfd477d6b2620abf18a5bf78311282ea45b9bff813f24c3c7854e6091c8055144f9592fbf2e456421a41c555d7a9\n\n# tcId = 292\n# special case hash\nmsg = 383639363531363935\nresult = valid\nsig = 308187024201a15af4d5ca3deadecd75ec1baec31c8d43fbc889466475e6c23106db4e63ab69003f56d819ddfc5a673c8289f9e6df806b07af57a2541af694e6489734c8eec837024169c35433a3217fcd738a65b7da9e81cd81f04f0ef060050b9c843e9e808d8b8175f3adaefa105d215ea9a46bf415fe2ac180958fcdd878d54f8d19d23e11b76d1a\n\n# tcId = 293\n# special case hash\nmsg = 36353833393236333732\nresult = valid\nsig = 308188024200ba899f94841db6c33b850867c8906b436be3853640dbfc863197fa1e5a55ce25240f2be498b9bdcfc0a89dbdca192d8f84ca3c44e5e0ee6f83e7900e085e1bd48102420086e6d558de8d8f014a85cb4a5f6908627e7a1acd70581d9d9c7d14df44d437aa09e5a10a0b760e98d46731f2512ca1b0240c602b5f0a2030485e34de9c6cd08e7e\n\n# tcId = 294\n# special case hash\nmsg = 3133323035303135373235\nresult = valid\nsig = 3081880242008eb5c92dbf5e00888b85e6bf6617017e97c04ae950dd731856b9dfb20e0c0e5c54284f411231fed1d071b321f78618d2a75c139663fb9db3435214cbac5a0dcb4f024201da0dd29d4728fe6331c8e2ade5045b1237664aed157db2a6cbdeaf5abea81324e28920a1c49c334b1226441f88e1a7f2c7e01d63e950d4378f08973db16b2e6161\n\n# tcId = 295\n# special case hash\nmsg = 35303835333330373931\nresult = valid\nsig = 30818802420130779f943df098ddb5315cdca4b731c83472d589f4ba4d32c172faf6b3a9e4154c0517fcc5c432eb269b0152297f6df490ece59496bea8047e2f32d0b5f91e85ef024200c9eb0b56273114ce2e553341247da86b813bfd65f143a5562bb1c874ff970523836bcdf390dc196e", + "67dd75cd28112ef74afd51b1fb35333be0505a012efebd4e22\n\n# tcId = 296\n# special case hash\nmsg = 37383636383133313139\nresult = valid\nsig = 3081870241593f0132f7b5c282355978a2cba73fd3bd5ce3272066d4ad9bd8bd8b3e2be0990071b3509ea445dd155cf97e294e2b8d1355809d880e10700eeab0eb8ebbaa4f0902420107eb3d5ed75cbb9bcb9278f2266c14c57cf703cbd8f7c7de45c51f0f3baf1dff6bb92f1cbf89ba649677bcdca776fc57f587ce714e2e43e6cc523f0d0a286d38fb\n\n# tcId = 297\n# special case hash\nmsg = 32303832353339343239\nresult = valid\nsig = 3081880242016ded17fad10f945e3d953b4fd3b72898c370f15164bb7712673385c10bf3929bea293e08bfc30029a465138ad47abe604df807b31707fef55adf3e104920038e3b024200b76b212d74e4b6eb994d926e9e796975235fad90e339a21a329e6eed3fe96b6d3c0d5426e8464c4a9ed5cbe08eeb5e490f72e9e0406c0d76ad076b476d07c0144a\n\n# tcId = 298\n# special case hash\nmsg = 3130303635393536363937\nresult = valid\nsig = 308187024201f8624ffa5a6aa8d9d04ed1c2272ea55f5271ca2cfc9aa6a3778a0b8a230f611e5d65af18d8251a0cc4ace663878c33205239ee7e8388cc0a040ea51515072e3f6102412c1e61197229f40e840ea37325f3bd87a6cd32d080bd61bbde4b072cf7a0c8a89d402cd9235c26f19a084ddceb1cc0bae4006251ccbe10de3954e85a8c5efaf6cc\n\n# tcId = 299\n# special case hash\nmsg = 33303234313831363034\nresult = valid\nsig = 3081880242012b01c6601ceca9e58e8abb85d1f6663df70cee761a756b77e45294f09ae609a6b76cfcd67f60e47a3494cb85511e33d92a8d297a1b89e9a9038c0c5b78c3a3d4ca0242010ef5d2fab59bd42e2e92a2fca7a975b959dfb372519330defc8fa8954bfcfb397ba939edb6a944a2ce9f6fafbfcda6092cddf628801f6dd8cd40cad4d809d5c1bf\n\n# tcId = 300\n# special case hash\nmsg = 37373637383532383734\nresult = valid\nsig = 308188024201c54a330b9dc47eb88dbf60c9ee49f2c7518c0a78baf642c74105fe283fa4c357ff22931ef42f92d16d6a0b806ef718539d21cad71955a530e21cab49a56f561673024201c2cc32c5a4d335c48d0cbb0407fb7e4729c57251afbf9534c5309b94e6aae13614a1f2514252f48cc7f143ee761782f8dcebf2fb490e08fdeaf570a7ed9d287da2\n\n# tcId = 301\n# special case hash\nmsg = 353434313939393734\nresult = valid\nsig = 308188024201467b4511b9d6601da3557b8ed432c14a80e5999847be136c756a88dd5134689b5ab70d0a2e8fd8d6141e2b143282f98afb93b7e17609522dd9e64c9e4a31c7c34f024200f50ee66a1dfbf86167ba5968d4ee3506a7cffe0f521c1bf830d0867241e345d319e77eeca45858bb3062acbf8d100bc6bfd3127d57a7e91a8199e05052b8ccf304\n\n# tcId = 302\n# special case hash\nmsg = 35383433343830333931\nresult = valid\nsig = 30818602417af90f6227750f917d65b1c60200c755158bb783a479be6877c59ed89ff595fea3f3a4137591aab23826ed385bd6156277364b5d603ca272259083e6e9ab5db3f9024170842eb62c894935b82da15ca611d9d754ef57859e0c912c0358d0820f4940cdf5360f116a7547a81bf65617f182e597eb1007e26c62838487ca021c3829a590db\n\n# tcId = 303\n# special case hash\nmsg = 373138383932363239\nresult = valid\nsig = 308188024200b0169e68062caa79f99ec0c72d83c4d0fc2a1c818665cfed1aba3e684392b9a95afb82ddd1de49e3fc3cb3889b4f5a86a7bdf944361db2cfa57021a7643fcfce9502420115ec784e042436892c6cc1bede0f4b7b6eb24b300b1f0c674999a6da816dbefb2d53f90b0dedb962a085e5209fcea50311130800d2a9249d279c7bde2f88622512\n\n# tcId = 304\n# special case hash\nmsg = 31373433323233343433\nresult = valid\nsig = 308188024201de4ed1ee81d5cffcf8256a06858cba5eb925ee68e3ed848ac98071b6e30c3b44b102a2de8117cce5b4f9e42603225e0dbcb3fcc171d1492e7ed8bcb6ec286c7de0024200fd1e93bbc8b8adeb7864a2bf8e29d6f9c0966fe3d543525bf268b57cd6fa8852bfe0d2750726d5445560f2fc211aa7859dd3ee10078ef907e49cd64326b397e01c\n\n# tcId = 305\n# special case hash\nmsg = 32343036303035393336\nresult = valid\nsig = 308188024201fcafa62ee6275443d7277fc46e4c30b4db845ba45b5d6b54faf47bbf921f825f6fd0f23a38c0c7f4debc33add282afad1154c8707b6e18cd65adcb07d32915b46202420087a27b2bf3c35d18fd397e0cd7159516cf563b98441e030bfde93ceacd2c4e41228b7b33443ef0a351ce553d6d1d71c12092df796276175cd779b8090c4958b391\n\n# tcId = 306\n# special case hash\nmsg = 31363134303336393838\nresult = valid\nsig = 308187024178989628acfba86d4bf28beeb9f44001fb8f2d8e245320a19efdede31eae3ec8b496faec30c85e8f63f8ae06046fe1d1575321fa04953e460f6b1386dd5df94edb0242012aba3349732e21a5bb27d7d6facd8c7688b9d0d0271d6a077f9d6d82db45b5456b767f4b9f1a80f487031f9c0b3ea833c63fdf9c6a25e6b424c19c2e55305d7a0f\n\n# tcId = 307\n# special case hash\nmsg = 32303935343235363835\nresult = valid\nsig = 308187024114a5a46a3ba415f6e8c566ca1b15fa2055649687b1a9fc84cc0fa8631296898fe014e0d45927e4271396baa4cfb3675669b16e76c339db3c0edaf61337e8bebe91024201fb313129757f76754b60fdb1e4077f9fe3dd62c8bce52190cfeb9c03021cc92f6d7d1302b8a84733486bf769ae94d3db4b60b6df28fed481d3d7c510299f0c319f\n\n# tcId = 308\n# special case hash\nmsg = 31303038303938393833\nresult = valid\nsig = 3081870242008a3250eb5f28b598c4a42890d25f6af84082d4376f84f1717e5112a76623e6fe0d207c39463d20bb86341bc26c9f68bcdf794671a01f90465025f87a8c52137edf02411ddd317f6622d9b032223f76765ba6c9116ae4b43a1bd357bc9db6fa62f0867dc5d8f781f08c1cbd49b4424fe8c22cfd1dcd07cfde7b3598342442589825aa67f7\n\n# tcId = 309\n# special case hash\nmsg = 31353734313437393237\nresult = valid\nsig = 308187024160ee161741d5cb2dd0ff2cf9924aca0376b1544681627a31688e4d8b3b63a01adbb417ee113b9ba8d4d13b7b4e1b14b51a24dbc3f099b068d916aa94862ee081b40242015caff8d30141e1c163e3ec62b7e14874da624a6d8e0252d8e829860e5a49d3732321b625262e5c9b1ef348c3e7cbb1de8227513f320637866785e97e1931d35ccb\n\n# tcId = 310\n# special case hash\nmsg = 32383636373731353232\nresult = valid\nsig = 308188024200a1ef8229db9f45da38ae3b6d601110611e209878bbd03ac2a6de65e8402957c669a115e3f02d085fe2d031c61324b77052ab346b4b1a437b58062fb36f9d56cf45024200cc5c0a3b68970279ae16880f6ca579d0171a827e99a46aa82b9242dcc09cb0b22a44ebcfca84293e6d21aeea492f00ba3157c5b6e2e4caea6a1c09c824720552f2\n\n# tcId = 311\n# special case hash\nmsg = 31363934323830373837\nresult = valid\nsig = 30818702415aa0c8a378c4e02bcc2f56c2c365ccee424e2973c28f0daae8f4c3f0d90b421fefd456e749087e0c667c2a7147bc67b90c696244f216b4d9d7418eadc7d06ef1d2024201e28914bd341f526b041128f2d251131d8b2c65847e541d65adca3442962cddb2a71c64fae39fdd56e41686ad632f99c6038d8de0b3aac4045e0a961efdbf4c6a22\n\n# tcId = 312\n# special case hash\nmsg = 39393231363932353638\nresult = valid\nsig = 30818702415a05f5366c8b8be28654bc39a6671d1b1593495e445c07c995c3be3e168ffdec92e44288802fd455007f8746570d93b5683e4d40e9d9e59de539f0e62bc40d92bc02420187a47d8f70adcc5e10267b8fec89d7011d9985427645aed19a8efa2d1189b469cb7aab1998e0c1d2fcac5a5054d79d2ec1c9a00b183dc9af20f555a1140be2dcef\n\n# tcId = 313\n# special case hash\nmsg = 3131363039343339373938\nresult = valid\nsig = 308187024201e213bcb8b960b1296ae176993b2449bae556b6d90df2f07fb08ad8fd60e3b7fe6c73f9c8a7364417611d60119c550261c54bbca8d61e264130ab90187e27d22dbd024134f519382cfacfd07b0a6f3aca117c13d2be725d2f9ee4e5f88739c99121e63ed7358046bfb1575fc73e1ede8339e46c5139843e52e9184bb8c579061a154a0b8f\n\n# tcId = 314\n# special case hash\nmsg = 37313836313632313030\nresult = valid\nsig = 308188024200ed11ac7efb1f29ee64108a5e2606fa9af3bbc12d1a952e47240d5236df64f5b2b77a0f7a0a73d30d0708b5b23ac6d584bf6997d8851623793655dee8774549b829024201e1602a2cae7d3212df47eebd12e2fe404851201101bbde702be9d74d040ed998e79a09ebf6d055f94473b1f8d87c99aa165bdaf0a5f270d46caabb8e88bfa54103\n\n# tcId = 315\n# special case hash\nmsg = 33323934333437313737\nresult = valid\nsig = 308187024107123c45e6e9338bc9fe225cdd96c5ab36cad5c06163f44f6bd903c7594e8068ba9bc89f652ec31b6e1298766b246c1f10877f1e3ec9829b0937b8d36e3c1ab2b5024201688bbaeb188b5047be6e8023b14fb121eb1451dcb19f814f5f4dca55ff95128011e3bae505a4d22166d00cb7cf14130590335ee923dc5db3e736832a128a067aa4\n\n# tcId = 316\n# special case hash\nmsg = 3138353134343535313230\nresult = valid\nsig = 308187024201264e3cc4fb802aa221d0787cd0cdf44eb6568982a00a6639f15238af36e894b14f45f06f8c2180fdeaaac77f674e056d1928cbbdfc4b2ceca0b35345ca07bfff7f02415c2dedee6b3aa096fc47ba0991a077ef4d5df20d8eff1bf8354412b171f08a98cea1704c8189a7951b0e7a8270ccb285b8db8e35285ed926b19c1eef07fdc05ee5\n\n# tcId = 317\n# special case hash\nmsg = 343736303433393330\nresult = valid\nsig = 308188024200ca3814747888751794b0488955e2aee07e5fab4b9872074aa7432698e7c83b8079773734df1bc752548a218fa59a362e0657b77ae7798ef4a7a3873256ea59ec670242015df8f1f16611c960d56647424b97936c8a06f62dc3a95d66bf4aa378d7a9e17d2afb53565780025927e6928f5313428f1d6708339787c8f460ba18457d4c0f521f\n\n# tcId = 318\n# special case hash\nmsg = 32353637333738373431\nresult = valid\nsig = 3081870242017ba871aee34a893c4ded7a2a546da0d6867d428497b80fca7eea6e51b73d6411aff7609743e6242b6d4d3736ddcc9ee1aa12c8b62de5382e5c33d1fc4853e3e47d0", + "2415feb9d9f8fdd44622e4f9effe73fd9b467d355fd6b8de205527f722ee2f5a15eebd59ccdd7b57da26cf953f78886db5a6e5bdd0d56c9bd47ba2271f77687a64b63\n\n# tcId = 319\n# special case hash\nmsg = 35373339393334393935\nresult = valid\nsig = 308188024201840793684765410baf26b66cbcf7c36658d6c18a2f750c1225520e9f3a7c1b890583f321d4e48752c3b3116dfef733ee386c52a53402acea77cfad1db9380110e6024201b51985a306fcdbe3692181106d7d6308873912d003946992098bc98b4261fd78869ed8218849459780b6079f6899a47fcb9ea4874d1c08fab82c6f1e9c9aaae245\n\n# tcId = 320\n# special case hash\nmsg = 33343738333636313339\nresult = valid\nsig = 3081870242012276720b2725ba556d06be39cd16ca0a0351d8f530913c4f0cfb71fdda74b83f02febddc8da0a1f0f910d37d3f5332c027d7bd4c38fd08ebc770bf1252078649540241637e70b06045a86e2f329f907e079a785d7f8649541860322fb8b64b9736363f90156b9a5532d808cf2af33b87ff970c02e648dc4f1c90ff0704028ec2c2d9a82d\n\n# tcId = 321\n# special case hash\nmsg = 363439303532363032\nresult = valid\nsig = 30818702417aade608b22c77245734fc5c4be8737ba24dc2ed4321b58124ae46a77ea7befaa5bcf166cb966aad007911623af10925a324bc3c6d06f24d0e2e7b2c7b8468b8ee024201e9913a412300b3980719148de0bb03826184aabd58f19659aa8ca18045f36c73c97df3d12b921de510ffa96ceac5454b801c86c55a06b2d771fa77bca784332c39\n\n# tcId = 322\n# special case hash\nmsg = 34373633383837343936\nresult = valid\nsig = 308187024201eefc7b6c1468ffa7d60b8408bd44c64a3ffaff298168c5016c6f504031867ea14ae48c661b8124418b4ed6ccc32df6bac6d0a485b1990236e15676268b7868d2760241515d48436afffdb65caed737116a861974b734bd1903e37dbbc231a9db37464ed762e364cac8b32f1546d6de37979fa05f8b80159a0f747d9470291af6569d6d94\n\n# tcId = 323\n# special case hash\nmsg = 353739303230303830\nresult = valid\nsig = 308188024201271b912ca055040c227955df729757654aa9bbdb73c61ba14155220e4e7132319f6fb0ee94f2fbe160738f1dce2ad690845c38d962db4fda1598e93270da84a2bb024200b8907f041c3b19b9234ab555d0b48325b0cd330889a53276a1e913bab892b9c05cfa889005b14ee2730220746aecf12af911c5baea4be377ee76c0eeaf47b7a712\n\n# tcId = 324\n# special case hash\nmsg = 35333434373837383438\nresult = valid\nsig = 3081880242016a813db0f75f9047fb11f3e19fc1688c29328a54f56ae30c1c9d9378537bfc40c5719d084e49a3b4aea255f5b7f6cc775492b5371e6b67b2d6abd5743e10fac709024201c258ffd830151bfd41ccdabb86b24af846612788b361c196d24e997ccf3f17d4452f63d32851a483072e6908095e5c49bbc241a0417749b097bc1ca0e4d127779b\n\n# tcId = 325\n# special case hash\nmsg = 3139323636343130393230\nresult = valid\nsig = 3081870241156a04c22ea5bdb7871124f1117301d781113ac4c9d4da05fea536e983d9261d25dc97006f8c78de23c788718557cf6f98863994af2086f0be3e8aa8812dc3a11d024200ffca96b04c56a4a6ce5d22b36e44d3b974d520e7f7c0f9d69034f9e59e0bbdc43236b3e4bfb0f6bde8802cc5cd6022cff166f4c488d64f38d44e3c563da31cf6fe\n\n# tcId = 326\n# special case hash\nmsg = 33373033393135373035\nresult = valid\nsig = 3081880242010913540ad73ceef7314d1758264e1d1525a371a7b9b3086971599a6b749be4d6ba69269b089508f6500dd925aa89a7c7cb7185e0cca7d2ee5664f22845d961e31702420135256c79ea5e5768fb3a55e2899b12219b8f68953ccd98c710b6a13de0f59786f4331845e65c7dd6340023a5e280206ca31416058f395fff4bb5de411ff66fc018\n\n# tcId = 327\n# special case hash\nmsg = 3831353435373730\nresult = valid\nsig = 308188024201b5051ca0dd3b20df7d8c5b92cb42b8a204f92fb4e58c612f43d3800de8c0683c427e832ce622156747052b81bfbf6ed5fa177b6d47858ec8478f6c9ca7948fd511024201fe5710fac0e9d3e2b3b83081b28b194b822d0c13397bf1516140cbe3faa52e908848f69789a741b9cd54d703a94577fa813e2f2c75834807401ca010fde5328317\n\n# tcId = 328\n# special case hash\nmsg = 313935353330333737\nresult = valid\nsig = 3081870242008d3c8f8e7ab74d49e16a4c7db3a393fa9567777e373313667f9ce32b1b5e648debffedfd2ff5345ca1b8154c18c8b883957d911e41336285f86261c3ee225fdedd02413c51b84c2c9a3feb76a6518634b6f09c0dde8a9d08dec0b3d66135cc1bdb0a80fd69636104af69de8f4062646b29fa3af685ec82704cef706a18c59ca7eca0fb56\n\n# tcId = 329\n# special case hash\nmsg = 31323637383130393033\nresult = valid\nsig = 308187024201195625a64ac11c4fc1fc479ef80430eb85c1af77f8a197a17e009569ef6c41ac6f35850755379f478d8928b154e3baaa29e92b481ac04dc72f3728b4f088ff37dc02410d55c7067877dd1302fdc6bb69b7b7c024e4cf3a0e924102d744ac52366d9d76d5855d3da228c4b67bc7bc4b2a14e7999962cc9bbdc517fc24a823abf584b8f56e\n\n# tcId = 330\n# special case hash\nmsg = 3131313830373230383135\nresult = valid\nsig = 308187024126eb68bc0fb7664c35bf5762cd532dce33b0e396e97d6f4143dc6e1e766c836e27c069da9ea1e74e0b03d030cf8a81490508c1c728f86e59282df94de8d8a0dcaf024200a9fb584b712986f19ab7568693df278cafa43272dba400ff333cf48b5556e6e78353a665605c70b6fd0f18f30b850e1a47cda42c4c924bca80102e6793be9a8698\n\n# tcId = 331\n# special case hash\nmsg = 38333831383639323930\nresult = valid\nsig = 308188024200f3d34e36f9754dfa8eafab160ca96d91c7f4f388ec82ac33784026bb6c6a035719eaeec3ee511fffb22dd5d6ab819e6c6387192d6c3a6e9249ead565157e323f62024201b5786b1d662d26fe9f69c370d2bc18882abef693c8f17100a02725de7c9f03602fd53a9208b573b3b7b0b66db971767bde835f9e8f42ada201e7b7391b86fe0294\n\n# tcId = 332\n# special case hash\nmsg = 33313331323837323737\nresult = valid\nsig = 308188024200e69c833b604075e9b28a2ff73a56a32e1a247ef9ae01e7a0e471f6015c2b86eb864c281c8c93d2acf5653ad05bafab2f58027f37513eb8569f50bd475e770e9a81024200b9c9d6ce09b53025bfcaa7d172ae41a9b636aa4b80a930931fc99e5e2aa23306f19dc57399b0431e72440a1f4ec7d5ca902f0f7b81c91de85e469f992fdfd4c52e\n\n# tcId = 333\n# special case hash\nmsg = 3134333331393236353338\nresult = valid\nsig = 308188024201c6b8b5cf3c4dd3d62391f18e97eef3aa6ace0ae2c6fc97a561cb8e49c087dbcf8135fa433b566b3385cb57202f1b12164fe62765ef73b72a94e7a57870989a498102420185944434b83a0d0fb4bcdce8ddaadb30a1e440815e7674562df9c8bf711222208cc346b9665d90abedb437912391505dd5d26f0178e7c063790f5518f47d1b05c7\n\n# tcId = 334\n# special case hash\nmsg = 333434393038323336\nresult = valid\nsig = 3081880242009f351a41d5375b8993e90b8d8a65bf01d52d14aba1dbe49cbb4ea823804f2b533e0c167903c8bbc593297c18f309798a544787d598074cbf56ef0e5022520912ad024201b892740a57204186bd5f434f72d1534b4289f8f7114cb7b1c9cf4541d754f314448cc32deaf35608263488fdc7596f7481ec098b36f8e440829194becc746c77f5\n\n# tcId = 335\n# special case hash\nmsg = 36383239383335393239\nresult = valid\nsig = 308187024201fe24ea831199e31cc68ef23980c4babd3773040870af8823a19708bd0229adc1ce99d02e4d95224101e3e974236f54df86051fa1e9fd21380432633b2495ab782a02410efd1f2a281f967e7b09d721581356a714c499f9b14f781992eb9ae7a19f6825045fdc6d9d763f44e1e7c91480a678a1d8ecf6d66e76cea3505f65ff78cff15cbd\n\n# tcId = 336\n# special case hash\nmsg = 33343435313538303233\nresult = valid\nsig = 3081870242014c6ee9de0a2a0b60c981831e0acd6636b46ae134fedce61b0488112663b24e1d7e74e227fea883d26b68f21e4135ba0e2069bbe0d9c6433c3908fd5b00182894b002416a180a493182c6bc2a09d7e17ff5d62015293f1e8ae205a16fa09042b0a9af6794cb377f4b8b1175fcee5137c234900f735c484feb7da4cbb405cf9e5370fe4f49\n\n# tcId = 337\n# special case hash\nmsg = 3132363937393837363434\nresult = valid\nsig = 308188024201044a45853ada17ca761acc7df6d1d380252cb0fa66124d9278a5ed8a4a60453bc71de1dbe32b0261165948823c461c7c1eb1714ec1dbf66fd602c7a47446d1dae1024200f8b27f7c71e37e4b440d2c86f1c1d50bf7c53d3878ed27e7bcfbeb902f769f86d6c3e8820b99f890050f0dbebd2132e84626c5b16a8c7ffffc3a30ace69dd15a11\n\n# tcId = 338\n# special case hash\nmsg = 333939323432353533\nresult = valid\nsig = 3081870241676a381b18d05207cddd73b44e4dd71449985c0fa7de1fff43ca5155139a1a09e5e3fd754d86ebbe32f6609f6e906d48d24790e494343c61faa90bfdaa4f49fdc7024200fbc1c891bf6e368fccad51cc9b2c29e8e92b658e88c0d23285af269aff6702a55a0ab16807e5523b6637bbb004727f6f55c51ad4cec8c924f9c1feb24601aeddef\n\n# tcId = 339\n# special case hash\nmsg = 31363031393737393737\nresult = valid\nsig = 3081880242013c9a575382ff6881c908fb5184be7baf38edb0b06008592558efd57dd8fb9993c893800a6ac8c6d2e34ebfbeff43e63263f133868d0ac7a838f69aff26d60a38490242009d22ae7bca8a75a53214c3eece437fb28e05b076ec704d751a28a7ed7e529d5c5338be8c724afa547574a17f70510b2462748a53678e39752a688dc8cf39e886c2\n\n# tcId = 340\n# special case hash\nmsg = 3130383738373535313435\nresult = valid\nsig = 308188024201071ce5a19a09aacd43c7cacd58a439dcca4e85f94ea1d48a60f298ee01bb3eeb11d5daf545e7086486f8e4b518a15be69620ab920cf95c5c15ff178c903124fac3024201ad6eaeedece9a7592bd21508b2720f1b8c4bf55637b1e8a5ce5359775b980b21eb1d33e8ebf5c0b3d7829152a295b8a9a1343c25350e35f709936accc8ce08b0b1\n\n# tcId = 341\n# special case hash\nmsg = 37303034323532393939\nresult = valid\nsig = 308188024201bdae499160f4cc6cd163cf110bb1f9b421e8786a8ef929", + "7e4b98fd508a1d14c50617c8d1a3de94fc8bd6c38055e4906b20fdcab6ef7bf9e7e5c98ef3e83e38ec3b024201ba867b8ee72bb7304ff83fc2d734749447420791d5609e0515de4e05fa70a83385a853cac6c47a075c8c61e4b65b9774574101cf4e081770f83ae1b7e727010ba3\n\n# tcId = 342\n# special case hash\nmsg = 31353635333235323833\nresult = valid\nsig = 3081860240269fc7ed89e554aa52b3875dc00bc140c1937d4f1b32e29da41ff241cdb9bd3058fc148f905982b8717b035e0db00ded7ebcb08572ec76bf0128411145d73091024201b4bd6bc4ba7befd5c305e018448a771b71fa1a11b3a2c6185dd6b8477c35eaeb4733fecd90f38ecba628f27c02f809191e993e1e7ff590383e2ec2afd08020b267\n\n# tcId = 343\n# special case hash\nmsg = 3233383236333432333530\nresult = valid\nsig = 308188024201a5cecc0e572f5ee4eed6755d3230ec5a933c1fb0e35ae771a1fcf0dc880e1c159dd5b6d192dc377505048b7188de3feb815a81a4f30d9226cdc85f751dec1a0410024201ef4a743e1e16f0a60201cc1060625ede6f0936e7af90b42736281e89fe7f2de6aa3f25c68576da705d8b3f6d5d8a34d3073307ea198d1cc8d72a18ef25e90f31af\n\n# tcId = 344\n# special case hash\nmsg = 31343437383437303635\nresult = valid\nsig = 308188024201a92b43f57421e54d2528d305e7d5aac9a708e75a7d6fedb47908a4e3edcabdd836a2c4e8436f3b7b64895254536174d88c6dca143699522bc2dfdeebcbf38eb90502420093b0b99a89de72aca0c03e12724c2be323577a4629cb47fdda5b12b61ace0b9fdb97549d3d2a1dac15da66ba6389ee54cbc82c995b9f3aa3ae8474f4bb4b52da8a\n\n# tcId = 345\n# special case hash\nmsg = 3134323630323035353434\nresult = valid\nsig = 308188024200a0400f255174ffb8548c29f5faa70e806bb6f6ca08a08753c85c5d145a555cc8e2df285af9985f2e729d4a99a734b7e7fc95560d546a067fda03529f56b2fe66bc024200d7fb60271d22ecb5d8ec904a9df1a416be706ce539e34650b8fc514d1dd7afebc1344c0c68c533c5b20ee249a77c075293b2d7efc8731c2e3619be59da871bb083\n\n# tcId = 346\n# special case hash\nmsg = 31393933383335323835\nresult = valid\nsig = 3081880242019207c7b645aa45c2722331f46e094f2eb0052075b8ac9414ad77baafd01d4d1fdc68344136fbce01edfa5627bfb8f3c128abb61072c74802192e89137c68d0cc31024200ff15b0218f81f0a848742f683cb4d1b7c517efdb8fcf8ac6a35e4971b35536851ed68de40a6e1a4a23bddb5b42efca23b91e91959a4f7e2afa196779c96c6c654c\n\n# tcId = 347\n# special case hash\nmsg = 34323932313533353233\nresult = valid\nsig = 308188024200aaf119702b9985354bbe3f6b6cda8c46151af4202546dfbe04d5f0ffd18ebe7b29d616f1c40376a412a52f4204b5a13e7f3e4304ead566fc41bf4b5fc0b84c8a2d024200d599deafd4fa2368cd072b854a3d53425d06adf3573e886b81248a7328a546ddc41caed38c6b1ffeaec9a98c940905cbffa87b936da980d4a9003da41e0c59c92f\n\n# tcId = 348\n# special case hash\nmsg = 34343539393031343936\nresult = valid\nsig = 30818702416c09a59e71cf34f983f75dbb4724c4828a93021cee8fd7d92af6941ca8efc9c5ddda7c49a0e1777225782e09313e3091f056122e585c4eaa689fb2fdb1cb7848d80242019f0c5ff6b4638f4c33916db76f9d078bfa8f9e25ae00348e46bb32d777aa26155b82ea73a9e4e2f21f6a65c73ed6c6ab2101cef3524d45b9fc6ea1292f1986acad\n\n# tcId = 349\n# special case hash\nmsg = 31333933393731313731\nresult = valid\nsig = 3081880242014e791c42f3998458c5e17f895d25c85cb419195d65e5a0b9a42cf13ddd36959c73460f54aa840d2254355c6ac626f440cb3a84fba632262c9dc5cab31be7da106b024200abb97b682f01f45168403613a7e2ff82bb4a9fc20952a35d935428f71ddcc799c6d9085fe3230d72261d73cd082e8108523da7ba0b1691ad6ea63f5f4e8e8909f4\n\n# tcId = 350\n# special case hash\nmsg = 32333930363936343935\nresult = valid\nsig = 3081880242013ded35ddff2f97780bbc60b8cec89855a35183a48f8fa6bbdc183994bf89021118cc019629df72112b2c529c023e7a5cfce253f7fdb49105d238680b64275a213c0242009c92e7a0f71608e8d8cfab3f850f7fda1a1a1d056e72254469afe5ceec3c718e6a462e1346941eb08c105501647502c1a810a29df8b208da6a5b296b2bd1e98137\n\n# tcId = 351\n# special case hash\nmsg = 3131343436303536323634\nresult = valid\nsig = 308188024201d0d29756ebff02b71674fa4eae37557ccd51a036fb1eb0b7121b405e7fabd60592927d805b75815af1bca6e9d6c5484225bdd0ec7a40735da972fd5ff645d86f1d0242008b9fe55357dc118070cf898973a64e7554b734e900c675541e20332a260ca51a23248d9b8f47ded811cfce556a06a71ba5dc5b873075f264a6843e675caf06a534\n\n# tcId = 352\n# special case hash\nmsg = 363835303034373530\nresult = valid\nsig = 30818802420165fb993f39d350ed60c8483dd6e4e6736591dea974ecd8ab027d3839b752322ee220d40bb6fc0b0d5a8c42928bde50f659b18f51f42fb2b1aa4583892a9114a0c3024200a8816c09d47138bf662da4ba25caf44e24185696d4914a7de2b2535f73b9afbd3ffa9cb0a86a115e4d9ac5be48cf7e8fe276466abdf17127bcc7aaf4d096008ca4\n\n# tcId = 353\n# special case hash\nmsg = 3232323035333630363139\nresult = valid\nsig = 30818702410b901c88ea699e715f6db864e23a676e7f7f2415ac1f850f2dde1ad0d3f9c92e8c5de66d45174d619955fae4b0dfebe49c583506481d28d30cbf58e2ac49f370c202420144c97b688b9ecc07b84c68095267e17e48232922756609e9859d18d2eb7844ec925150c39f2b3a255c882be705e0a8e30e68e49fe7914dbcc3ccfbc1d467050f80\n\n# tcId = 354\n# special case hash\nmsg = 36323135363635313234\nresult = valid\nsig = 308188024200abbd9e77ef1e2a36c6b06f063d93effb8e852387a94bfdf8359b5c18708f90d9f4e9749fd45347f637546b08733789c988fda4f0309551bde813a0bb1a232adee102420191165d58d153fec68f5cc83bcf5891e2e0ca9681204876e872453e9ebd45870b6878ee437e4d833c6ec54337b779acbf9f8202df510d269a710d0c43e4e07b040d\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 0400491cd6c5f93b7414d6d45cfe3d264bd077fc4427a4b0afede76cac537a7ca5ee2c44564258260f7691b81fdfecebfd03ba672277875c5b311ea920e74fb3978af50144a353a251b4297894161bae12d16a89c33b719f904cfccc277df78cea5379198642fd549df919904dc0cf3662eeab01ef11b8e3cb49b51b853d98f042600c0997]\n[key.wx = 491cd6c5f93b7414d6d45cfe3d264bd077fc4427a4b0afede76cac537a7ca5ee2c44564258260f7691b81fdfecebfd03ba672277875c5b311ea920e74fb3978af5]\n[key.wy = 0144a353a251b4297894161bae12d16a89c33b719f904cfccc277df78cea5379198642fd549df919904dc0cf3662eeab01ef11b8e3cb49b51b853d98f042600c0997]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400491cd6c5f93b7414d6d45cfe3d264bd077fc4427a4b0afede76cac537a7ca5ee2c44564258260f7691b81fdfecebfd03ba672277875c5b311ea920e74fb3978af50144a353a251b4297894161bae12d16a89c33b719f904cfccc277df78cea5379198642fd549df919904dc0cf3662eeab01ef11b8e3cb49b51b853d98f042600c0997]\n[sha = SHA-512]\n\n# tcId = 355\n# k*G has a large x-coordinate\nmsg = 313233343030\nresult = valid\nsig = 3067022105ae79787c40d069948033feb708f65a2fc44a36477663b851449048e16ec79bf5024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386406\n\n# tcId = 356\n# r too large\nmsg = 313233343030\nresult = invalid\nsig = 308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386406\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 04015f281dcdc976641ce024dca1eac8ddd7f949e3290d3b2de11c4873f3676a06ff9f704c24813bd8d63528b2e813f78b869ff38112527e79b383a3bd527badb929ff01502e4cc7032d3ec35b0f8d05409438a86966d623f7a2f432bf712f76dc6345405dfcfcdc36d477831d38eec64ede7f4d39aa91bffcc56ec4241cb06735b2809fbe]\n[key.wx = 015f281dcdc976641ce024dca1eac8ddd7f949e3290d3b2de11c4873f3676a06ff9f704c24813bd8d63528b2e813f78b869ff38112527e79b383a3bd527badb929ff]\n[key.wy = 01502e4cc7032d3ec35b0f8d05409438a86966d623f7a2f432bf712f76dc6345405dfcfcdc36d477831d38eec64ede7f4d39aa91bffcc56ec4241cb06735b2809fbe]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004015f281dcdc976641ce024dca1eac8ddd7f949e3290d3b2de11c4873f3676a06ff9f704c24813bd8d63528b2e813f78b869ff38112527e79b383a3bd527badb929ff01502e4cc7032d3ec35b0f8d05409438a86966d623f7a2f432bf712f76dc6345405dfcfcdc36d477831d38eec64ede7f4d39aa91bffcc56ec4241cb06735b2809fbe]\n[sha = SHA-512]\n\n# tcId = 357\n# r,s are large\nmsg = 313233343030\nresult = valid\nsig = 308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386407024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386406\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 0400336d5d08fe75c50946e6dddd36c550bb054d9925c8f254cfe1c3388f720b1d6500a90412b020b3db592b92ab9f68f1c693b8d1365371635e21bc43eaadf89e4e7401d48d60319dfd06f935fc46488c229b611eecd038804ae9f681a078dde8ed8f8e20ad9504bcf3c24a0b", + "566b1e85b2d3ed0a1273292ff5f87bae5b3c87857e67ed81]\n[key.wx = 336d5d08fe75c50946e6dddd36c550bb054d9925c8f254cfe1c3388f720b1d6500a90412b020b3db592b92ab9f68f1c693b8d1365371635e21bc43eaadf89e4e74]\n[key.wy = 01d48d60319dfd06f935fc46488c229b611eecd038804ae9f681a078dde8ed8f8e20ad9504bcf3c24a0b566b1e85b2d3ed0a1273292ff5f87bae5b3c87857e67ed81]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400336d5d08fe75c50946e6dddd36c550bb054d9925c8f254cfe1c3388f720b1d6500a90412b020b3db592b92ab9f68f1c693b8d1365371635e21bc43eaadf89e4e7401d48d60319dfd06f935fc46488c229b611eecd038804ae9f681a078dde8ed8f8e20ad9504bcf3c24a0b566b1e85b2d3ed0a1273292ff5f87bae5b3c87857e67ed81]\n[sha = SHA-512]\n\n# tcId = 358\n# r and s^-1 have a large Hamming weight\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe02420095e19fd2b755d603bf994562d9a11f63cf4eadecbdc0ecb5a394e54529e8da58a527bc6d85725043786362ab4de6cbc7d80e625ae0a98861aea1c7bf7109c91f66\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 04006f8fadedbae63701072c287c633f9c0052ea1e6cd00a84342cc0f626210071576abfd0875664b0746cdaf2745effc18d94905b0fc9d2cad4ba375c0ea2298c8d1c0150d128cb62a527ae6df3e92f1f280ea33248711ffe4b35c1b162a9508576860165e0ddc361d96fafcd2ff82776c743b9cd6845db61eb56739f5c4ef561e6c20d8c]\n[key.wx = 6f8fadedbae63701072c287c633f9c0052ea1e6cd00a84342cc0f626210071576abfd0875664b0746cdaf2745effc18d94905b0fc9d2cad4ba375c0ea2298c8d1c]\n[key.wy = 0150d128cb62a527ae6df3e92f1f280ea33248711ffe4b35c1b162a9508576860165e0ddc361d96fafcd2ff82776c743b9cd6845db61eb56739f5c4ef561e6c20d8c]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004006f8fadedbae63701072c287c633f9c0052ea1e6cd00a84342cc0f626210071576abfd0875664b0746cdaf2745effc18d94905b0fc9d2cad4ba375c0ea2298c8d1c0150d128cb62a527ae6df3e92f1f280ea33248711ffe4b35c1b162a9508576860165e0ddc361d96fafcd2ff82776c743b9cd6845db61eb56739f5c4ef561e6c20d8c]\n[sha = SHA-512]\n\n# tcId = 359\n# r and s^-1 have a large Hamming weight\nmsg = 313233343030\nresult = valid\nsig = 308187024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe024115837645583a37a7a665f983c5e347f65dca47647aa80fd2498a791d44d9b2850a151a6e86fce7d7bb814e724ff11b9ef726bf36c6e7548c37f82a24902876ee19\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 04005e7eb6c4f481830abaad8a60ddb09891164ee418ea4cd2995062e227d33c229fb737bf330703097d6b3b69a3f09e79c9de0b402bf846dd26b5bb1191cff801355d01789c9afda567e61de414437b0e93a17611e6e76853762bc0aff1e2bc9e46ce1285b931651d7129b85aef2c1fab1728e7eb4449b2956dec33e6cd7c9ba125c5cd9d]\n[key.wx = 5e7eb6c4f481830abaad8a60ddb09891164ee418ea4cd2995062e227d33c229fb737bf330703097d6b3b69a3f09e79c9de0b402bf846dd26b5bb1191cff801355d]\n[key.wy = 01789c9afda567e61de414437b0e93a17611e6e76853762bc0aff1e2bc9e46ce1285b931651d7129b85aef2c1fab1728e7eb4449b2956dec33e6cd7c9ba125c5cd9d]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004005e7eb6c4f481830abaad8a60ddb09891164ee418ea4cd2995062e227d33c229fb737bf330703097d6b3b69a3f09e79c9de0b402bf846dd26b5bb1191cff801355d01789c9afda567e61de414437b0e93a17611e6e76853762bc0aff1e2bc9e46ce1285b931651d7129b85aef2c1fab1728e7eb4449b2956dec33e6cd7c9ba125c5cd9d]\n[sha = SHA-512]\n\n# tcId = 360\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020101020101\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 0400b420fb1fecdd9cc5ea7d7c7617e70538db32e6d7a0ad722c63580f1f6a1f5537eb50930b90fd6fdd9abd40015f746d2fd8adf945a75621407edb6863588e41979e00295108a7e9d2191a287fd160bd24f498055dc9badbd61c6a89fede27b4f9d479d86a20b6dc07c90f008ebe68a0e0cc15a4a03b8cf990e4ff7ed6e3892b21c52153]\n[key.wx = 00b420fb1fecdd9cc5ea7d7c7617e70538db32e6d7a0ad722c63580f1f6a1f5537eb50930b90fd6fdd9abd40015f746d2fd8adf945a75621407edb6863588e41979e]\n[key.wy = 295108a7e9d2191a287fd160bd24f498055dc9badbd61c6a89fede27b4f9d479d86a20b6dc07c90f008ebe68a0e0cc15a4a03b8cf990e4ff7ed6e3892b21c52153]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400b420fb1fecdd9cc5ea7d7c7617e70538db32e6d7a0ad722c63580f1f6a1f5537eb50930b90fd6fdd9abd40015f746d2fd8adf945a75621407edb6863588e41979e00295108a7e9d2191a287fd160bd24f498055dc9badbd61c6a89fede27b4f9d479d86a20b6dc07c90f008ebe68a0e0cc15a4a03b8cf990e4ff7ed6e3892b21c52153]\n[sha = SHA-512]\n\n# tcId = 361\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020101020102\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 040032b9a17c201aec34d29b8c2764e7c7f6aeef10fb61bf9837117fad879f8c6a22a300006d2018cf42b25898ffc9a1bf507352e59e6a52e627cda160e17ea2f4600500317a89899b7cb3a0d33eafa02b0137a0fb1b05102b22b676f35b9ff6c050ddee9f185609ffb7f5165a769e440792b75044a43e838690d13f884aaae888bf5f86f0]\n[key.wx = 32b9a17c201aec34d29b8c2764e7c7f6aeef10fb61bf9837117fad879f8c6a22a300006d2018cf42b25898ffc9a1bf507352e59e6a52e627cda160e17ea2f46005]\n[key.wy = 317a89899b7cb3a0d33eafa02b0137a0fb1b05102b22b676f35b9ff6c050ddee9f185609ffb7f5165a769e440792b75044a43e838690d13f884aaae888bf5f86f0]\n[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040032b9a17c201aec34d29b8c2764e7c7f6aeef10fb61bf9837117fad879f8c6a22a300006d2018cf42b25898ffc9a1bf507352e59e6a52e627cda160e17ea2f4600500317a89899b7cb3a0d33eafa02b0137a0fb1b05102b22b676f35b9ff6c050ddee9f185609ffb7f5165a769e440792b75044a43e838690d13f884aaae888bf5f86f0]\n[sha = SHA-512]\n\n# tcId = 362\n# small r and s\nmsg = 313233343030\nresult = valid\nsig = 3006020101020103\n\n# tcId = 363\n# r is larger than n\nmsg = 313233343030\nresult = invalid\nsig = 3047024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a020103\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 040067dd456b52f82a5d4c4a71b3ea9302f62a852ddc04ad25b62fef1ddf657374fb4e80679ddf42d212f0711db32b626d8593bd70892e93ed0adb273157b6df187938014d2c78509f3bd6f7d0fba4a90cb456286e267f5dd9d967842a6086884d66c7b2a932833470c721a4a728cd8486d15314232d801f17e3a6fd7068bdebacdf82c0b4]\n[key.wx = 67dd456b52f82a5d4c4a71b3ea9302f62a852ddc04ad25b62fef1ddf657374fb4e80679ddf42d212f0711db32b626d8593bd70892e93ed0adb273157b6df187938]\n[key.wy = 014d2c78509f3bd6f7d0fba4a90cb456286e267f5dd9d967842a6086884d66c7b2a932833470c721a4a728cd8486d15314232d801f17e3a6fd7068bdebacdf82c0b4]\n[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040067dd456b52f82a5d4c4a71b3ea9302f62a852ddc04ad25b62fef1ddf657374fb4e80679ddf42d212f0711db32b626d8593bd70892e93ed0adb273157b6df187938014d2c78509f3bd6f7d0fba4a90cb456286e267f5dd9d967842a6086884d66c7b2a932833470c721a4a728cd8486d15314232d801f17e3a6fd7068bdebacdf82c0b4]\n[sha = SHA-512]\n\n# tcId = 364\n# s is larger than n\nmsg = 313233343030\nresult = invalid\nsig = 3047020101024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e914b3a90\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 040068d7b518214766ac734a7461d499352444377d50af42a1bbdb7f0032065ee6dc341ccf231af65250e7d13a80733abebff559891d4211d6c28cf952c9222303b53b00a2f3d7e14d9d8fabe1939d664e4615c6e24f5490c815c7651ccf6cc65252f88bcfd3b07fbdbaa0ba00441e590ccbcea00658f388f22c42d8a6d0f781ae5bb4d78b]\n[key.wx = 68d7b518214766ac734a7461d499352444377d50af42a1bbdb7f0032065ee6dc341ccf231af65250e7d13a80733abebff559891d4211d6c28cf952c9222303b53b]\n[key.wy = 00a2f3d7e14d9d8fabe1939d664e4615c6e24f5490c815c7651ccf6cc65252f88bcfd3b07fbdbaa0ba00441e590ccbcea00658f388f22c42d8a6d0f781ae5bb4d78b]\n[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040068d7b518214766ac734a7461d499352444377d50af42a1bbdb7f0032065ee6dc341ccf231af65250e7d13a80733abebff559891d4211d6c28cf952c9222303b53b00a2f3d7e14d9d8fabe1939d664e4615c6e24f5490c815c7651ccf6cc65252f88bcfd3b07fbdbaa0ba00441e590ccbcea00658f388f22c42d8a6d0f781ae5bb4d78b]\n[sha = SHA-512]\n\n# tcId = 365\n# small r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 304802020100024201efdfbf7efdfbf7efdfbf7efdfbf7efdfbf7efdfb", + "f7efdfbf7efdfbf7efdfbf7ef87b4de1fc92dd757639408a50bee10764e326fdd2fa308dfde3e5243fdf4ac5ac\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 04011edc3b22b20f9a188b32b1e827d6e46b2ed61b9be6f4ada0b2c95835bee2738ec4dc5313831cce5f927210a7bc2f13abc02fa90e716fc1bd2f63c429a760ed23630118daad88fe9b9d66e66e71ce05d74137d277a9ca81c7d7aef1e74550890564103cc0d95d30f6205c9124829192e15d66fb1f4033032a42ba606e3edca6ec065c50]\n[key.wx = 011edc3b22b20f9a188b32b1e827d6e46b2ed61b9be6f4ada0b2c95835bee2738ec4dc5313831cce5f927210a7bc2f13abc02fa90e716fc1bd2f63c429a760ed2363]\n[key.wy = 0118daad88fe9b9d66e66e71ce05d74137d277a9ca81c7d7aef1e74550890564103cc0d95d30f6205c9124829192e15d66fb1f4033032a42ba606e3edca6ec065c50]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004011edc3b22b20f9a188b32b1e827d6e46b2ed61b9be6f4ada0b2c95835bee2738ec4dc5313831cce5f927210a7bc2f13abc02fa90e716fc1bd2f63c429a760ed23630118daad88fe9b9d66e66e71ce05d74137d277a9ca81c7d7aef1e74550890564103cc0d95d30f6205c9124829192e15d66fb1f4033032a42ba606e3edca6ec065c50]\n[sha = SHA-512]\n\n# tcId = 366\n# smallish r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 304d02072d9b4d347952cd02420100508d073413de829275e76509fd81cff49adf4c80ed2ddd4a7937d1d918796878fec24cc46570982c3fb8f5e92ccdcb3e677f07e9bd0db0b84814be1c7949b0de\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 04012f8b9863a1887eca6827ad4accc2ba607f8592e5be15d9692b697a4061fcc81560c8feb2ae3851d00e06df3e0091f1f1ca5ec64761f4f8bd6d0c2cab2a121024440174b4e34aec517a0d2ceb2fd152ed1736bc330efca5e6d530ea170802fb6af031425903fa6a378405be5e47d1e52f62f859f537df9c0f6a4a6479a0aadafe219821]\n[key.wx = 012f8b9863a1887eca6827ad4accc2ba607f8592e5be15d9692b697a4061fcc81560c8feb2ae3851d00e06df3e0091f1f1ca5ec64761f4f8bd6d0c2cab2a12102444]\n[key.wy = 0174b4e34aec517a0d2ceb2fd152ed1736bc330efca5e6d530ea170802fb6af031425903fa6a378405be5e47d1e52f62f859f537df9c0f6a4a6479a0aadafe219821]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004012f8b9863a1887eca6827ad4accc2ba607f8592e5be15d9692b697a4061fcc81560c8feb2ae3851d00e06df3e0091f1f1ca5ec64761f4f8bd6d0c2cab2a121024440174b4e34aec517a0d2ceb2fd152ed1736bc330efca5e6d530ea170802fb6af031425903fa6a378405be5e47d1e52f62f859f537df9c0f6a4a6479a0aadafe219821]\n[sha = SHA-512]\n\n# tcId = 367\n# 100-bit r and small s^-1\nmsg = 313233343030\nresult = valid\nsig = 3053020d1033e67e37b32b445580bf4eff0242013cc33cc33cc33cc33cc33cc33cc33cc33cc33cc33cc33cc33cc33cc33cc33cc3393f632affd3eaa3c8fb64507bd5996497bd588fb9e3947c097ced7546b57c8998\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 04008aed779a32b9bf56ea7ab46e4b914e55c65301cdbe9ea6e7ed44f7e978c0365989a19a5e48282fb1158f481c556505d66ff414a07003ebf82fca1698c33f2884c600a62426993ed5b177b6045e60b5fa1a1f8ce1ad5d70e7bc7b5af811dbf86e651f9ea02ec796ab991e1439bf07ffe2ac6052a8a0b0174d78a9441aaf4d8fc757d80f]\n[key.wx = 008aed779a32b9bf56ea7ab46e4b914e55c65301cdbe9ea6e7ed44f7e978c0365989a19a5e48282fb1158f481c556505d66ff414a07003ebf82fca1698c33f2884c6]\n[key.wy = 00a62426993ed5b177b6045e60b5fa1a1f8ce1ad5d70e7bc7b5af811dbf86e651f9ea02ec796ab991e1439bf07ffe2ac6052a8a0b0174d78a9441aaf4d8fc757d80f]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004008aed779a32b9bf56ea7ab46e4b914e55c65301cdbe9ea6e7ed44f7e978c0365989a19a5e48282fb1158f481c556505d66ff414a07003ebf82fca1698c33f2884c600a62426993ed5b177b6045e60b5fa1a1f8ce1ad5d70e7bc7b5af811dbf86e651f9ea02ec796ab991e1439bf07ffe2ac6052a8a0b0174d78a9441aaf4d8fc757d80f]\n[sha = SHA-512]\n\n# tcId = 368\n# small r and 100 bit s^-1\nmsg = 313233343030\nresult = valid\nsig = 30480202010002420086ecbf54ab59a4e195f0be1402edd8657bb94618fab50f2fe20fe5ebbc9ff0e491397ed313cc918d438eedb9b5ecb4d9dfa305303505baf25400ed8c20fc3fc47b\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 040093697b0378312b38c31deae073f24a8163f086ac2116b7c37c99157cfae7970ab4201f5a7e06ec39eedbf7d87f3021ca439e3ff7c5988b84679937bab786dbe12e01c6987c86077c05423ac281de6d23f6a685870e12855463770eccabc9f3a1d23cb2a0c15479420b5dd40fbdc9886c463b62ee23239df3a8b861c3291d28224f6057]\n[key.wx = 0093697b0378312b38c31deae073f24a8163f086ac2116b7c37c99157cfae7970ab4201f5a7e06ec39eedbf7d87f3021ca439e3ff7c5988b84679937bab786dbe12e]\n[key.wy = 01c6987c86077c05423ac281de6d23f6a685870e12855463770eccabc9f3a1d23cb2a0c15479420b5dd40fbdc9886c463b62ee23239df3a8b861c3291d28224f6057]\n[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040093697b0378312b38c31deae073f24a8163f086ac2116b7c37c99157cfae7970ab4201f5a7e06ec39eedbf7d87f3021ca439e3ff7c5988b84679937bab786dbe12e01c6987c86077c05423ac281de6d23f6a685870e12855463770eccabc9f3a1d23cb2a0c15479420b5dd40fbdc9886c463b62ee23239df3a8b861c3291d28224f6057]\n[sha = SHA-512]\n\n# tcId = 369\n# 100-bit r and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3053020d062522bbd3ecbe7c39e93e7c2402420086ecbf54ab59a4e195f0be1402edd8657bb94618fab50f2fe20fe5ebbc9ff0e491397ed313cc918d438eedb9b5ecb4d9dfa305303505baf25400ed8c20fc3fc47b\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 04019a9f1b7b7f574a021fedd8679a4e998b48524854eefbaae4104a3973d693e02104fa119243256e3d986f8b4966c286ab8cb1f5267c0bbd6bc182aeb57493a5d5b60158b97eb74862fbca41763e8d3a7beb5fccd05565b75a3a43c2b38b96eb2ccff149c23ef1ac09fc455d808ff28081e985f9e172fc62d0900585172cfbff87383595]\n[key.wx = 019a9f1b7b7f574a021fedd8679a4e998b48524854eefbaae4104a3973d693e02104fa119243256e3d986f8b4966c286ab8cb1f5267c0bbd6bc182aeb57493a5d5b6]\n[key.wy = 0158b97eb74862fbca41763e8d3a7beb5fccd05565b75a3a43c2b38b96eb2ccff149c23ef1ac09fc455d808ff28081e985f9e172fc62d0900585172cfbff87383595]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004019a9f1b7b7f574a021fedd8679a4e998b48524854eefbaae4104a3973d693e02104fa119243256e3d986f8b4966c286ab8cb1f5267c0bbd6bc182aeb57493a5d5b60158b97eb74862fbca41763e8d3a7beb5fccd05565b75a3a43c2b38b96eb2ccff149c23ef1ac09fc455d808ff28081e985f9e172fc62d0900585172cfbff87383595]\n[sha = SHA-512]\n\n# tcId = 370\n# r and s^-1 are close to n\nmsg = 313233343030\nresult = valid\nsig = 308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138638a0242015555555555555555555555555555555555555555555555555555555555555555518baf05027f750ef25532ab85fa066e8ad2793125b112da747cf524bf0b7aed5b\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 0401aa9f3a894b727d7a01b09c4f051b469d661de1e06915b599e211463319ac1b7ca8a6097f1be401d70a71d0b53655cdf9bef748d886e08ee7de2fa781e93ec41a2601ba9ea67385e19894fc9cd4b0173ab215f7b96f23bc420665d46c75447bf200ae3ac7b42bd9b857fd1c85cce8ea9c8d2345e4687dd70df59f5149510735bb9c7b64]\n[key.wx = 01aa9f3a894b727d7a01b09c4f051b469d661de1e06915b599e211463319ac1b7ca8a6097f1be401d70a71d0b53655cdf9bef748d886e08ee7de2fa781e93ec41a26]\n[key.wy = 01ba9ea67385e19894fc9cd4b0173ab215f7b96f23bc420665d46c75447bf200ae3ac7b42bd9b857fd1c85cce8ea9c8d2345e4687dd70df59f5149510735bb9c7b64]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401aa9f3a894b727d7a01b09c4f051b469d661de1e06915b599e211463319ac1b7ca8a6097f1be401d70a71d0b53655cdf9bef748d886e08ee7de2fa781e93ec41a2601ba9ea67385e19894fc9cd4b0173ab215f7b96f23bc420665d46c75447bf200ae3ac7b42bd9b857fd1c85cce8ea9c8d2345e4687dd70df59f5149510735bb9c7b64]\n[sha = SHA-512]\n\n# tcId = 371\n# s == 1\nmsg = 313233343030\nresult = valid\nsig = 3047024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad020101\n\n# tcId = 372\n# s == 0\nmsg = 313233343030\nresult = invalid\nsig = 3047024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad020100\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 04002a07f13f3e8df382145b7942fe6f91c12ff3064b314b4e3476bf3afbb982070f17f63b2de5fbe8c91a87ae632869facf17d5ce9d139b37ed557581bb9a7e4b8fa30024b904c5fc536ae53b323a7fd0b7b8e420302406ade84ea8a10ca7c5c934bad5489db6e3a8cc3064602cc83f309e9d247aae72afca08336bc8919e15f4be5ad77a]\n[key.wx = 2a07f13f3e8df382145b7942fe6f91c12ff3064b314b4e3", + "476bf3afbb982070f17f63b2de5fbe8c91a87ae632869facf17d5ce9d139b37ed557581bb9a7e4b8fa3]\n[key.wy = 24b904c5fc536ae53b323a7fd0b7b8e420302406ade84ea8a10ca7c5c934bad5489db6e3a8cc3064602cc83f309e9d247aae72afca08336bc8919e15f4be5ad77a]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004002a07f13f3e8df382145b7942fe6f91c12ff3064b314b4e3476bf3afbb982070f17f63b2de5fbe8c91a87ae632869facf17d5ce9d139b37ed557581bb9a7e4b8fa30024b904c5fc536ae53b323a7fd0b7b8e420302406ade84ea8a10ca7c5c934bad5489db6e3a8cc3064602cc83f309e9d247aae72afca08336bc8919e15f4be5ad77a]\n[sha = SHA-512]\n\n# tcId = 373\n# point at infinity during verify\nmsg = 313233343030\nresult = invalid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd28c343c1df97cb35bfe600a47b84d2e81ddae4dc44ce23d75db7db8f489c3204024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 04004bb904073cb6da9e5028df54fc22cf5a9d5ca73a01feedd2b4ce43b87bfd4300a72bdf26b146b2e7b506c03c7a0ad4a7e3e67204dddca9b65d43560ffaf9bfd540012b8895632e0406b78463fe1bc5360a3cf796fddda9db2b18ca9171558e6158fa4b0b1d0461d9a46b9b958d629bd62a29ee3942238e0fa83e932a66abb1b50c5f37]\n[key.wx = 4bb904073cb6da9e5028df54fc22cf5a9d5ca73a01feedd2b4ce43b87bfd4300a72bdf26b146b2e7b506c03c7a0ad4a7e3e67204dddca9b65d43560ffaf9bfd540]\n[key.wy = 012b8895632e0406b78463fe1bc5360a3cf796fddda9db2b18ca9171558e6158fa4b0b1d0461d9a46b9b958d629bd62a29ee3942238e0fa83e932a66abb1b50c5f37]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004004bb904073cb6da9e5028df54fc22cf5a9d5ca73a01feedd2b4ce43b87bfd4300a72bdf26b146b2e7b506c03c7a0ad4a7e3e67204dddca9b65d43560ffaf9bfd540012b8895632e0406b78463fe1bc5360a3cf796fddda9db2b18ca9171558e6158fa4b0b1d0461d9a46b9b958d629bd62a29ee3942238e0fa83e932a66abb1b50c5f37]\n[sha = SHA-512]\n\n# tcId = 374\n# edge case for signature malleability\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd28c343c1df97cb35bfe600a47b84d2e81ddae4dc44ce23d75db7db8f489c3206024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd28c343c1df97cb35bfe600a47b84d2e81ddae4dc44ce23d75db7db8f489c3204\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 04016454afca385eb53eaeaab711537d95c50e01268b100a22656adf5cedf68b4a78a6c14a70245df707f6565ce15948c2e38e3d90e05dda3188ab43a73f30dbc6bda80151dca6dc5aec84fa35c79f21365993f0b267ca486ea66c2186a52a3fb62b53501ce2822d4691fbc25cf27adb70734071be523b9231dd8d33a401dea00cf0ae30a1]\n[key.wx = 016454afca385eb53eaeaab711537d95c50e01268b100a22656adf5cedf68b4a78a6c14a70245df707f6565ce15948c2e38e3d90e05dda3188ab43a73f30dbc6bda8]\n[key.wy = 0151dca6dc5aec84fa35c79f21365993f0b267ca486ea66c2186a52a3fb62b53501ce2822d4691fbc25cf27adb70734071be523b9231dd8d33a401dea00cf0ae30a1]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004016454afca385eb53eaeaab711537d95c50e01268b100a22656adf5cedf68b4a78a6c14a70245df707f6565ce15948c2e38e3d90e05dda3188ab43a73f30dbc6bda80151dca6dc5aec84fa35c79f21365993f0b267ca486ea66c2186a52a3fb62b53501ce2822d4691fbc25cf27adb70734071be523b9231dd8d33a401dea00cf0ae30a1]\n[sha = SHA-512]\n\n# tcId = 375\n# edge case for signature malleability\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd28c343c1df97cb35bfe600a47b84d2e81ddae4dc44ce23d75db7db8f489c3206024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd28c343c1df97cb35bfe600a47b84d2e81ddae4dc44ce23d75db7db8f489c3205\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 040060daf59638158ed9d3d7e8428501334764162f9be239e168fae9af348c30a7be1cfa4d9636c3bb621d7e0aa71446f8d4a37f2d43274a4255b226f612382f63152e016e48300124a636b206fad4d0355862a852623799afee941e864d96dcbf55b801cabd6249b6f567506d5a503e7d03b4764c70fc44c5365f32c3603678476d62b09d]\n[key.wx = 60daf59638158ed9d3d7e8428501334764162f9be239e168fae9af348c30a7be1cfa4d9636c3bb621d7e0aa71446f8d4a37f2d43274a4255b226f612382f63152e]\n[key.wy = 016e48300124a636b206fad4d0355862a852623799afee941e864d96dcbf55b801cabd6249b6f567506d5a503e7d03b4764c70fc44c5365f32c3603678476d62b09d]\n[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040060daf59638158ed9d3d7e8428501334764162f9be239e168fae9af348c30a7be1cfa4d9636c3bb621d7e0aa71446f8d4a37f2d43274a4255b226f612382f63152e016e48300124a636b206fad4d0355862a852623799afee941e864d96dcbf55b801cabd6249b6f567506d5a503e7d03b4764c70fc44c5365f32c3603678476d62b09d]\n[sha = SHA-512]\n\n# tcId = 376\n# u1 == 1\nmsg = 313233343030\nresult = valid\nsig = 308186024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad024043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 040051fe6a35a85070c7c29502a87672a38153d799aef734226b64d8fd3398621701117f0af9d9afaf6dbb8ca3007255dc79b0f41ed552512cb29207b15a01cdfdfaae01a16c61277586356efadcb24764f21f574ef96f2caabc3f47fa66fb8719d7785824061c2d6d7a4bcb851540e62b2f00960b283eac7808d1813ef51b46e1149d3e4d]\n[key.wx = 51fe6a35a85070c7c29502a87672a38153d799aef734226b64d8fd3398621701117f0af9d9afaf6dbb8ca3007255dc79b0f41ed552512cb29207b15a01cdfdfaae]\n[key.wy = 01a16c61277586356efadcb24764f21f574ef96f2caabc3f47fa66fb8719d7785824061c2d6d7a4bcb851540e62b2f00960b283eac7808d1813ef51b46e1149d3e4d]\n[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040051fe6a35a85070c7c29502a87672a38153d799aef734226b64d8fd3398621701117f0af9d9afaf6dbb8ca3007255dc79b0f41ed552512cb29207b15a01cdfdfaae01a16c61277586356efadcb24764f21f574ef96f2caabc3f47fa66fb8719d7785824061c2d6d7a4bcb851540e62b2f00960b283eac7808d1813ef51b46e1149d3e4d]\n[sha = SHA-512]\n\n# tcId = 377\n# u1 == n - 1\nmsg = 313233343030\nresult = valid\nsig = 308188024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad024201ffbc07ff041506dc73a75086a43252fb43b6327af3c6b2cc7d6acca94fdcdefd78dc0b56a22d16f2eec26ae0c1fb484d059300e80bd6b0472b3d1222ff5d08b03d\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 0400b4ffc0fff087607ad26c4b23d6d31ae5f904cc064e350f47131ce2784fbb359867988a559d4386752e56277bef34e26544dedda88cc20a3411fa98834eeae869ad009d6e8ca99949b7b34fd06a789744ecac3356247317c4d7aa9296676dd623594f3684bc13064cab8d2db7edbca91f1c8beb542bc97978a3f31f3610a03f46a982d2]\n[key.wx = 00b4ffc0fff087607ad26c4b23d6d31ae5f904cc064e350f47131ce2784fbb359867988a559d4386752e56277bef34e26544dedda88cc20a3411fa98834eeae869ad]\n[key.wy = 009d6e8ca99949b7b34fd06a789744ecac3356247317c4d7aa9296676dd623594f3684bc13064cab8d2db7edbca91f1c8beb542bc97978a3f31f3610a03f46a982d2]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400b4ffc0fff087607ad26c4b23d6d31ae5f904cc064e350f47131ce2784fbb359867988a559d4386752e56277bef34e26544dedda88cc20a3411fa98834eeae869ad009d6e8ca99949b7b34fd06a789744ecac3356247317c4d7aa9296676dd623594f3684bc13064cab8d2db7edbca91f1c8beb542bc97978a3f31f3610a03f46a982d2]\n[sha = SHA-512]\n\n# tcId = 378\n# u2 == 1\nmsg = 313233343030\nresult = valid\nsig = 308188024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 0400809fba320fe96ded24611b72a2a5428fe46049ff080d6e0813ab7a35897018fe6418613abd860d1eb484959059a01af7d68cba69d1c52ea64ad0f28a18a41fc78a01108acc5577e9e8962e2a7cea0bb37df1d0ca4050fb6cfeba41a7f868d988dbbcebc962986748fa485183f6b60f453ec8606f8c33d43767dddbbef8c412b2c37939]\n[key.wx = 00809fba320fe96ded24611b72a2a5428fe46049ff080d6e0813ab7a35897018fe6418613abd860d1eb484959059a01af7d68cba69d1c52ea64ad0f28a18a41fc78a]\n[key.wy = 01108acc5577e9e8962e2a7", + "cea0bb37df1d0ca4050fb6cfeba41a7f868d988dbbcebc962986748fa485183f6b60f453ec8606f8c33d43767dddbbef8c412b2c37939]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400809fba320fe96ded24611b72a2a5428fe46049ff080d6e0813ab7a35897018fe6418613abd860d1eb484959059a01af7d68cba69d1c52ea64ad0f28a18a41fc78a01108acc5577e9e8962e2a7cea0bb37df1d0ca4050fb6cfeba41a7f868d988dbbcebc962986748fa485183f6b60f453ec8606f8c33d43767dddbbef8c412b2c37939]\n[sha = SHA-512]\n\n# tcId = 379\n# u2 == n - 1\nmsg = 313233343030\nresult = valid\nsig = 308188024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad0242015555555555555555555555555555555555555555555555555555555555555555518baf05027f750ef25532ab85fa066e8ad2793125b112da747cf524bf0b7aed5c\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 040145130dca77d9674dfceffa851b4a2672e490e8fba8277622b0020e2fe9101e76933b0c01d248071f854e9bc523733936dc0b9930cbe154b9a402f681ee3c6cef6b000d0c94b2ad28556643aa3d27523048d227a1de82f8a664707e75394d21da181bec82e1afb0e627539531affa849a2409bcac83fb786c351c88bac2fb2e4322e54a]\n[key.wx = 0145130dca77d9674dfceffa851b4a2672e490e8fba8277622b0020e2fe9101e76933b0c01d248071f854e9bc523733936dc0b9930cbe154b9a402f681ee3c6cef6b]\n[key.wy = 0d0c94b2ad28556643aa3d27523048d227a1de82f8a664707e75394d21da181bec82e1afb0e627539531affa849a2409bcac83fb786c351c88bac2fb2e4322e54a]\n[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040145130dca77d9674dfceffa851b4a2672e490e8fba8277622b0020e2fe9101e76933b0c01d248071f854e9bc523733936dc0b9930cbe154b9a402f681ee3c6cef6b000d0c94b2ad28556643aa3d27523048d227a1de82f8a664707e75394d21da181bec82e1afb0e627539531affa849a2409bcac83fb786c351c88bac2fb2e4322e54a]\n[sha = SHA-512]\n\n# tcId = 380\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024201556bfd55a94e530bd972e52873ef39ac3ec34481aebdc46680dc66723ab66056275d82bff85ad29ac694530bb2f89c36ce600ad1b49761854afc69ab741ce0294a\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 0400ed3e09809fe5985818f90592fd06e71d2c493d9a781714c9157cbafa5ba196b987fd49ae24274c76251c70b9f7970f1f713ad274590a702f463c73a0704831ce5d00cac278297093bd9f9ac2d00bef3d67a01b43b28b9f829407264c738117438300c7704772976916ea102a776262ccf4222cc348c34aac683d8f00179a348323babd]\n[key.wx = 00ed3e09809fe5985818f90592fd06e71d2c493d9a781714c9157cbafa5ba196b987fd49ae24274c76251c70b9f7970f1f713ad274590a702f463c73a0704831ce5d]\n[key.wy = 00cac278297093bd9f9ac2d00bef3d67a01b43b28b9f829407264c738117438300c7704772976916ea102a776262ccf4222cc348c34aac683d8f00179a348323babd]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400ed3e09809fe5985818f90592fd06e71d2c493d9a781714c9157cbafa5ba196b987fd49ae24274c76251c70b9f7970f1f713ad274590a702f463c73a0704831ce5d00cac278297093bd9f9ac2d00bef3d67a01b43b28b9f829407264c738117438300c7704772976916ea102a776262ccf4222cc348c34aac683d8f00179a348323babd]\n[sha = SHA-512]\n\n# tcId = 381\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024200dcf9e7f441448a125b96d72b989d9f4dac7508c7e036f6080d4758e736f5e0636b0ff503f128a98d08e0ae189921065219d2cc3aa83e3c660ca0cb85e7c11a24d0\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 04000ac2c5a4c79309a5132d5d7494befb3905d33fda5f80eeaf63775183aae7af108a3d97f3a441532cf6fac47f6c898329d69182e1fa07ce45997ebec3781c9ad7410173a5b6b80a8b73d30ac97e1a4aacb773c1ad692c5ea63f68e373842782bd677864ff656cf8d1e6ec1e58e9a83856ef92677555916749fb95e800ae2e011618ca3a]\n[key.wx = 0ac2c5a4c79309a5132d5d7494befb3905d33fda5f80eeaf63775183aae7af108a3d97f3a441532cf6fac47f6c898329d69182e1fa07ce45997ebec3781c9ad741]\n[key.wy = 0173a5b6b80a8b73d30ac97e1a4aacb773c1ad692c5ea63f68e373842782bd677864ff656cf8d1e6ec1e58e9a83856ef92677555916749fb95e800ae2e011618ca3a]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004000ac2c5a4c79309a5132d5d7494befb3905d33fda5f80eeaf63775183aae7af108a3d97f3a441532cf6fac47f6c898329d69182e1fa07ce45997ebec3781c9ad7410173a5b6b80a8b73d30ac97e1a4aacb773c1ad692c5ea63f68e373842782bd677864ff656cf8d1e6ec1e58e9a83856ef92677555916749fb95e800ae2e011618ca3a]\n[sha = SHA-512]\n\n# tcId = 382\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 308187024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024166eb57733c19a7003cf8253279fce41907bc4f127153c4576dd4814f8b335a0b51560b4447f0382c69b3fe509522c891f0eec3999ad2526835f33ae22a642843af\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 0401eb2a353dec6b460fbda49c67f431190fff6f195639c226ef8fefcbf191d72529a12cc5485b282a52704c1fd84529a1aa0ad794f96493e299718d2618a1b83a526c01f704604d5b2b94a42bfc3ab93317d66a54de15258337433fc96a965d8e2d056fd1134b7989d7b3f709adc28227bdabc11fe2f359c6a6e5111ab43379ca25b66f2f]\n[key.wx = 01eb2a353dec6b460fbda49c67f431190fff6f195639c226ef8fefcbf191d72529a12cc5485b282a52704c1fd84529a1aa0ad794f96493e299718d2618a1b83a526c]\n[key.wy = 01f704604d5b2b94a42bfc3ab93317d66a54de15258337433fc96a965d8e2d056fd1134b7989d7b3f709adc28227bdabc11fe2f359c6a6e5111ab43379ca25b66f2f]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401eb2a353dec6b460fbda49c67f431190fff6f195639c226ef8fefcbf191d72529a12cc5485b282a52704c1fd84529a1aa0ad794f96493e299718d2618a1b83a526c01f704604d5b2b94a42bfc3ab93317d66a54de15258337433fc96a965d8e2d056fd1134b7989d7b3f709adc28227bdabc11fe2f359c6a6e5111ab43379ca25b66f2f]\n[sha = SHA-512]\n\n# tcId = 383\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0242017106d1131b3300d7ffbc07ff041506dc73a75086a43252fb43b6327af3c6b2cc79527ac09f0a3f0a8aa38285585b6afceac5ff6692842232d106d15d4df1b66aa8\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 0401e43dfecc7e6caad03d17b407322c878f701c5add6eb2afcd786ff3803622dfbb6baa01246e1ea059f7b78842919b2507daa9e3434efa7e8d3ae6c35499f82d0ac8018b0e4d6378222a07ccdb4214001f97b1a503d1aac3ab925ea64faa9c739ba04ee3480b147cb07f93edf40b6856a22f4159c3f5cd6c9e7165452907c8d02fab201e]\n[key.wx = 01e43dfecc7e6caad03d17b407322c878f701c5add6eb2afcd786ff3803622dfbb6baa01246e1ea059f7b78842919b2507daa9e3434efa7e8d3ae6c35499f82d0ac8]\n[key.wy = 018b0e4d6378222a07ccdb4214001f97b1a503d1aac3ab925ea64faa9c739ba04ee3480b147cb07f93edf40b6856a22f4159c3f5cd6c9e7165452907c8d02fab201e]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401e43dfecc7e6caad03d17b407322c878f701c5add6eb2afcd786ff3803622dfbb6baa01246e1ea059f7b78842919b2507daa9e3434efa7e8d3ae6c35499f82d0ac8018b0e4d6378222a07ccdb4214001f97b1a503d1aac3ab925ea64faa9c739ba04ee3480b147cb07f93edf40b6856a22f4159c3f5cd6c9e7165452907c8d02fab201e]\n[sha = SHA-512]\n\n# tcId = 384\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 308187024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02416d1131b3300d7ffbc07ff041506dc73a75086a43252fb43b6327af3c6b2cc7d6ab94bf496f53ea229e7fe6b456088ea32f6e2b104f5112798bb59d46a0d468f838\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 040141a4d714628c192b8ace1a42854da06e0e1ddb82a07618e4efb05d7095cd1eb65425078160594715eaf59fcb41c9e573fe10298c75c9e9135c775ca73f63d13aac0089524b475170d4391cc032a0543ea22dab60ea07538f3a37607f0d4ed516634fde545e2f0a6ba8d0d2fe6aded0a771b4b134a5a280e54799fa476ef0ec87d44e1c]\n[key.wx = 0141a4d714628c192b8ace1a42854da06e0e1ddb82a07618e4efb05d7095cd1eb65425078160594715eaf59fcb41c9e573fe10298c75c9e9135c775ca73f63d13aac]\n[key.wy = 0089524b475170d4391cc032a0543ea22dab60ea07538f3a37607f0d4ed516634fde545e2f0a6ba8d0d2fe6aded0a771b4b134a5a280e54799fa476ef0ec87d44e1c]\n[keyDer = 30819b301006072a8648ce3d02010605", + "2b8104002303818600040141a4d714628c192b8ace1a42854da06e0e1ddb82a07618e4efb05d7095cd1eb65425078160594715eaf59fcb41c9e573fe10298c75c9e9135c775ca73f63d13aac0089524b475170d4391cc032a0543ea22dab60ea07538f3a37607f0d4ed516634fde545e2f0a6ba8d0d2fe6aded0a771b4b134a5a280e54799fa476ef0ec87d44e1c]\n[sha = SHA-512]\n\n# tcId = 385\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024200da226366601afff780ffe082a0db8e74ea10d4864a5f6876c64f5e78d6598fad57297e92dea7d4453cffcd68ac111d465edc56209ea224f3176b3a8d41a8d1f070\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 040147fbcc65d4818e029e0a3af13a1f7c90f0605a00cd0781200eb656a591d669a787620e6fc8cc594aa28a0b0f2939ec73472c494e09cecaf5f331dafd32d5ac31c30075432bdaeecaa0bec7feddc298c565723fb669ee76e38a4c5ff1701f1b38cda9dc9ac43bff18da2047e4dcd80c05a7bb7e7464829d608b68176b04c87f409f46d6]\n[key.wx = 0147fbcc65d4818e029e0a3af13a1f7c90f0605a00cd0781200eb656a591d669a787620e6fc8cc594aa28a0b0f2939ec73472c494e09cecaf5f331dafd32d5ac31c3]\n[key.wy = 75432bdaeecaa0bec7feddc298c565723fb669ee76e38a4c5ff1701f1b38cda9dc9ac43bff18da2047e4dcd80c05a7bb7e7464829d608b68176b04c87f409f46d6]\n[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040147fbcc65d4818e029e0a3af13a1f7c90f0605a00cd0781200eb656a591d669a787620e6fc8cc594aa28a0b0f2939ec73472c494e09cecaf5f331dafd32d5ac31c30075432bdaeecaa0bec7feddc298c565723fb669ee76e38a4c5ff1701f1b38cda9dc9ac43bff18da2047e4dcd80c05a7bb7e7464829d608b68176b04c87f409f46d6]\n[sha = SHA-512]\n\n# tcId = 386\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0242011b3300d7ffbc07ff041506dc73a75086a43252fb43b6327af3c6b2cc7d6acca94cb85df5e6c1125394fcd34f6521ffdaddd98f88a99fedcedd9384288bb793cf2f\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 0400b5b1c3998589b25c96a700bbd450d04da1f273df8053767a3b03ed1a763ed089c0de99bcf54d49c1520d3a09b845296f0445b3bd5b87918d3752cf651e0ff3007b00e896380876b9419c56096914ff6eec01aee247eefef0741895f14ee280f360e11508c37826af82cd915b9002f046cb51008d9ead21124c591bd8265d1492b35ffb]\n[key.wx = 00b5b1c3998589b25c96a700bbd450d04da1f273df8053767a3b03ed1a763ed089c0de99bcf54d49c1520d3a09b845296f0445b3bd5b87918d3752cf651e0ff3007b]\n[key.wy = 00e896380876b9419c56096914ff6eec01aee247eefef0741895f14ee280f360e11508c37826af82cd915b9002f046cb51008d9ead21124c591bd8265d1492b35ffb]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400b5b1c3998589b25c96a700bbd450d04da1f273df8053767a3b03ed1a763ed089c0de99bcf54d49c1520d3a09b845296f0445b3bd5b87918d3752cf651e0ff3007b00e896380876b9419c56096914ff6eec01aee247eefef0741895f14ee280f360e11508c37826af82cd915b9002f046cb51008d9ead21124c591bd8265d1492b35ffb]\n[sha = SHA-512]\n\n# tcId = 387\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02420161be37ed5f748e06a89d72c4b7051cae809d9567848b1d8d7ed019221efb06ae81e1264ce49c5d29ee5fe22ccf70899002643aca7b99f57756f2639b6d459ae410\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 0401aadb41fadc35cf6d11a7c7d01d049b74b37677f04e1bd3dc08450fabae28adcd2d135f966616d283fb18a5e69eabfe7ec41e1a0edb3682f1d39f2af64a94d602b9014ae81ebf5e3d2d0529479d4ae8eb05f4b42e519608466ad69e7662d6e9b236765f9be535c058f00f0866bbb4b172ef47a03cb97c58dde5750344bb293035f8e97e]\n[key.wx = 01aadb41fadc35cf6d11a7c7d01d049b74b37677f04e1bd3dc08450fabae28adcd2d135f966616d283fb18a5e69eabfe7ec41e1a0edb3682f1d39f2af64a94d602b9]\n[key.wy = 014ae81ebf5e3d2d0529479d4ae8eb05f4b42e519608466ad69e7662d6e9b236765f9be535c058f00f0866bbb4b172ef47a03cb97c58dde5750344bb293035f8e97e]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401aadb41fadc35cf6d11a7c7d01d049b74b37677f04e1bd3dc08450fabae28adcd2d135f966616d283fb18a5e69eabfe7ec41e1a0edb3682f1d39f2af64a94d602b9014ae81ebf5e3d2d0529479d4ae8eb05f4b42e519608466ad69e7662d6e9b236765f9be535c058f00f0866bbb4b172ef47a03cb97c58dde5750344bb293035f8e97e]\n[sha = SHA-512]\n\n# tcId = 388\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024201e9bbbd64270b9668f7623ef7cbead5483eb07b883cf39fb6884aab67dac7958b0e03144357b9433e69adc696c86c63a23d35724cbd749b7c34f8e34232d21ea420\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 0401b706fc3f4aae5b86da261a66fbce47eb3b3e1e91544a40a9989fccf74154bbecac042dbbbf411a39090058b62c46fccd1d5eaba0c4879a688ea5fd0a7b4f9a0b4f01eda01930c6b22745a97f2d59e182598dfdfbfdb463335293901de7fc9d49cf55ed7fcf5d767d4c22f89f171b4137c8415c3ed438089270c41f88eadef3018140e1]\n[key.wx = 01b706fc3f4aae5b86da261a66fbce47eb3b3e1e91544a40a9989fccf74154bbecac042dbbbf411a39090058b62c46fccd1d5eaba0c4879a688ea5fd0a7b4f9a0b4f]\n[key.wy = 01eda01930c6b22745a97f2d59e182598dfdfbfdb463335293901de7fc9d49cf55ed7fcf5d767d4c22f89f171b4137c8415c3ed438089270c41f88eadef3018140e1]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401b706fc3f4aae5b86da261a66fbce47eb3b3e1e91544a40a9989fccf74154bbecac042dbbbf411a39090058b62c46fccd1d5eaba0c4879a688ea5fd0a7b4f9a0b4f01eda01930c6b22745a97f2d59e182598dfdfbfdb463335293901de7fc9d49cf55ed7fcf5d767d4c22f89f171b4137c8415c3ed438089270c41f88eadef3018140e1]\n[sha = SHA-512]\n\n# tcId = 389\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024200924449b6c96f3758e3b085c079714f11f28d039b11699f0e9b3e7c553c8fc6c8f5212fec5eac3068713b8ec72fc6e2a90872b94e161a89822887f4a9bd5c9efd74\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 040058a1fa96111bf30be76c3b8ba4435666677b6dd05031b5c4a840e1ea81f6025f70e1d395ef63cb59fa71e3674cb678f7250887f5d734e3ec377dbe3ae637d24f82007a4eaf02cc57e658b5b9fa08ee30e0ef5b3429bb5a10438b0e05bacaebc60317010a334d7f896028aef620f5d9c7cabc38306e032b1b91c2376c3fef3e455a10df]\n[key.wx = 58a1fa96111bf30be76c3b8ba4435666677b6dd05031b5c4a840e1ea81f6025f70e1d395ef63cb59fa71e3674cb678f7250887f5d734e3ec377dbe3ae637d24f82]\n[key.wy = 7a4eaf02cc57e658b5b9fa08ee30e0ef5b3429bb5a10438b0e05bacaebc60317010a334d7f896028aef620f5d9c7cabc38306e032b1b91c2376c3fef3e455a10df]\n[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040058a1fa96111bf30be76c3b8ba4435666677b6dd05031b5c4a840e1ea81f6025f70e1d395ef63cb59fa71e3674cb678f7250887f5d734e3ec377dbe3ae637d24f82007a4eaf02cc57e658b5b9fa08ee30e0ef5b3429bb5a10438b0e05bacaebc60317010a334d7f896028aef620f5d9c7cabc38306e032b1b91c2376c3fef3e455a10df]\n[sha = SHA-512]\n\n# tcId = 390\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024201554a01552b58d67a13468d6bc6086329e09e5dbf28a11dccbf91ccc6e2a4cfd4e6a2c5278791c6490835a27b6f7abb8a690bb060de3deb85093d3ae16482c84f64\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 0400303ba5ef90b05110002fdf74d2b8d4c7ab189c64004859c69d7c4730fcacb5f4d9b761ae987d1f3b63bb3ecb78aeecf4a04ff60f5f367a96ac2da8da27a3687a3e006673d0d4ccd4c3ce1abc9980fd1885002c3e7b86078214caf7f0962fa51e116363032d7a1b93c92a4d62827549d5a33e4e6b9b6c2ab6ad9c2a15e410c5b1a846b2]\n[key.wx = 303ba5ef90b05110002fdf74d2b8d4c7ab189c64004859c69d7c4730fcacb5f4d9b761ae987d1f3b63bb3ecb78aeecf4a04ff60f5f367a96ac2da8da27a3687a3e]\n[key.wy = 6673d0d4ccd4c3ce1abc9980fd1885002c3e7b86078214caf7f0962fa51e116363032d7a1b93c92a4d62827549d5a33e4e6b9b6c2ab6ad9c2a15e410c5b1a846b2]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400303ba5ef90b05110002fdf74d2b8d4c7ab189c64004859c69d7c4730fcacb5f4d9b761ae987d1f3b63bb3ecb78aeecf4a04ff60f5f367a96ac2da8da27a3687a", + "3e006673d0d4ccd4c3ce1abc9980fd1885002c3e7b86078214caf7f0962fa51e116363032d7a1b93c92a4d62827549d5a33e4e6b9b6c2ab6ad9c2a15e410c5b1a846b2]\n[sha = SHA-512]\n\n# tcId = 391\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024200aa9402aa56b1acf4268d1ad78c10c653c13cbb7e51423b997f23998dc5499fa9d2f403c78b645cfba4eb78f595fe6d6f01dbaaf803f23ac263bf060baa74583abf\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 0400a94eea843a5c49637041598e30c381f7173bf8cd127f3caf5c16cbc728aa4d99173fb38d6a1b1ec21e40336e8d802249272b0ccbf4f8c3636ef66290a81b58fa5b01116c23464fad61df8d2d5d1250a5a4c427e9c58e2cf1d059cdd88a7c34984fdd22a4cf18411e1b0224d444a5bd39d5fc97fc0b3648600f19d6ab80aa6a7c083a17]\n[key.wx = 00a94eea843a5c49637041598e30c381f7173bf8cd127f3caf5c16cbc728aa4d99173fb38d6a1b1ec21e40336e8d802249272b0ccbf4f8c3636ef66290a81b58fa5b]\n[key.wy = 01116c23464fad61df8d2d5d1250a5a4c427e9c58e2cf1d059cdd88a7c34984fdd22a4cf18411e1b0224d444a5bd39d5fc97fc0b3648600f19d6ab80aa6a7c083a17]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400a94eea843a5c49637041598e30c381f7173bf8cd127f3caf5c16cbc728aa4d99173fb38d6a1b1ec21e40336e8d802249272b0ccbf4f8c3636ef66290a81b58fa5b01116c23464fad61df8d2d5d1250a5a4c427e9c58e2cf1d059cdd88a7c34984fdd22a4cf18411e1b0224d444a5bd39d5fc97fc0b3648600f19d6ab80aa6a7c083a17]\n[sha = SHA-512]\n\n# tcId = 392\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024201ffde03ff820a836e39d3a8435219297da1db193d79e359663eb56654a7ee6f7eb996c8ef12f62344ad211b71057928f96ae75b58e23026476cfc40ed0ef7208a23\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 04014f71d2ca5bd2051336854657f09a1fab14c7f2f7865d71bd3fa354bf27b69dc8738972140553b525658b6fd203cc05ca0822e0904bad21b632e0de74a2ad3f0e72004525f90519f9497425460b31cbb69ab3701a9ea68aaab72c6d65d364d0f0ed4d0524280f113bd69ef1ba9825202b10287a088c4bf30debecb720ac0739ec67434d]\n[key.wx = 014f71d2ca5bd2051336854657f09a1fab14c7f2f7865d71bd3fa354bf27b69dc8738972140553b525658b6fd203cc05ca0822e0904bad21b632e0de74a2ad3f0e72]\n[key.wy = 4525f90519f9497425460b31cbb69ab3701a9ea68aaab72c6d65d364d0f0ed4d0524280f113bd69ef1ba9825202b10287a088c4bf30debecb720ac0739ec67434d]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004014f71d2ca5bd2051336854657f09a1fab14c7f2f7865d71bd3fa354bf27b69dc8738972140553b525658b6fd203cc05ca0822e0904bad21b632e0de74a2ad3f0e72004525f90519f9497425460b31cbb69ab3701a9ea68aaab72c6d65d364d0f0ed4d0524280f113bd69ef1ba9825202b10287a088c4bf30debecb720ac0739ec67434d]\n[sha = SHA-512]\n\n# tcId = 393\n# edge case for u1\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0242013375abb99e0cd3801e7c12993cfe720c83de278938a9e22bb6ea40a7c599ad05a5d3c8e5e5d7b3e16a99e528ef0ce91be0953cb1a9adf757f257554ca47ab053dc\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 0401d2ecad921dd100a8dc1a7b824b0ac6c9b654ab179833c2881ce237f1b8497ade851302cf50ea5ea169c2a50c0c09cb6ea539a7290a0f3437044b7a2e9ca8d40500003fd5651535dcba1f331981c216a1c7d9842f65c5f38ca43dd71c41e19efcac384617656fd0afdd83c50c5e524e9b672b7aa8a66b289afa688e45ca6edb3477a8b0]\n[key.wx = 01d2ecad921dd100a8dc1a7b824b0ac6c9b654ab179833c2881ce237f1b8497ade851302cf50ea5ea169c2a50c0c09cb6ea539a7290a0f3437044b7a2e9ca8d40500]\n[key.wy = 3fd5651535dcba1f331981c216a1c7d9842f65c5f38ca43dd71c41e19efcac384617656fd0afdd83c50c5e524e9b672b7aa8a66b289afa688e45ca6edb3477a8b0]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401d2ecad921dd100a8dc1a7b824b0ac6c9b654ab179833c2881ce237f1b8497ade851302cf50ea5ea169c2a50c0c09cb6ea539a7290a0f3437044b7a2e9ca8d40500003fd5651535dcba1f331981c216a1c7d9842f65c5f38ca43dd71c41e19efcac384617656fd0afdd83c50c5e524e9b672b7aa8a66b289afa688e45ca6edb3477a8b0]\n[sha = SHA-512]\n\n# tcId = 394\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 308187024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02415555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555554\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 040165d67972a48fddc2f41c03f79ab5e0d42fd0992c013ead135c3394049645e26ad7c7be96510df59ba677dc94f1146e8e8e8fbe56debcb66920639581956b92b4d1008aeb66ee0be18abaa909a973c70b5749d688f8e2cd2e6e1613af93d0033492d26a6e82cfb80ac6925ac6bc79b984f73e3ebbff2f223a38676891c1ecd784a8a789]\n[key.wx = 0165d67972a48fddc2f41c03f79ab5e0d42fd0992c013ead135c3394049645e26ad7c7be96510df59ba677dc94f1146e8e8e8fbe56debcb66920639581956b92b4d1]\n[key.wy = 008aeb66ee0be18abaa909a973c70b5749d688f8e2cd2e6e1613af93d0033492d26a6e82cfb80ac6925ac6bc79b984f73e3ebbff2f223a38676891c1ecd784a8a789]\n[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040165d67972a48fddc2f41c03f79ab5e0d42fd0992c013ead135c3394049645e26ad7c7be96510df59ba677dc94f1146e8e8e8fbe56debcb66920639581956b92b4d1008aeb66ee0be18abaa909a973c70b5749d688f8e2cd2e6e1613af93d0033492d26a6e82cfb80ac6925ac6bc79b984f73e3ebbff2f223a38676891c1ecd784a8a789]\n[sha = SHA-512]\n\n# tcId = 395\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0242009f57708fa97eba94c6d4782cdd4e33bb95c1353bde095232e3e2bab277bb5d2b48f55a53ffe928d034c29970a9e5f384a003907d3d9b82a86817cc61fb17f4c59e\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 04018cd11252f0a434f446d3af18518c6b84cb0b7bf33758b4d83b97c2a56e0037b54d57d2b0b842e9c17d70504e01896389c066db8f2bfec025259a51dff51466830801cca54365156c59e2c73c17664f09fcdcfd5b910f9ab48d0899b6a7064de8b80fc7a992e47ee7f23ec82fd80179a19f4cf89b4c02b7218f435298da5d322a982c1e]\n[key.wx = 018cd11252f0a434f446d3af18518c6b84cb0b7bf33758b4d83b97c2a56e0037b54d57d2b0b842e9c17d70504e01896389c066db8f2bfec025259a51dff514668308]\n[key.wy = 01cca54365156c59e2c73c17664f09fcdcfd5b910f9ab48d0899b6a7064de8b80fc7a992e47ee7f23ec82fd80179a19f4cf89b4c02b7218f435298da5d322a982c1e]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004018cd11252f0a434f446d3af18518c6b84cb0b7bf33758b4d83b97c2a56e0037b54d57d2b0b842e9c17d70504e01896389c066db8f2bfec025259a51dff51466830801cca54365156c59e2c73c17664f09fcdcfd5b910f9ab48d0899b6a7064de8b80fc7a992e47ee7f23ec82fd80179a19f4cf89b4c02b7218f435298da5d322a982c1e]\n[sha = SHA-512]\n\n# tcId = 396\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 308187024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024168d98fa90736eff3e90f8fcfe50838b6fa0bf2cde77bc51e3f41019c8006f4e9cbaeadce7dbb44462da6425be9cfdaecb234c41749ce695be1b5ead2e6b1205f35\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 0401d6329a8afdea27cf1028a44d19c3c72927590d64628775f324514c81de301aa9be9c775c53a6349d1cbd5ecfc7bd39b373e613a10c1439441b141430fdadac168c00071342d63dba901b93bdc444a1fe2ec6a15108bdf49eb1dfd218373884520d84bce03c5012f5837051cb8abf6a0be78dfdfeeb3a5872dff75b3f874faa6d2243bf]\n[key.wx = 01d6329a8afdea27cf1028a44d19c3c72927590d64628775f324514c81de301aa9be9c775c53a6349d1cbd5ecfc7bd39b373e613a10c1439441b141430fdadac168c]\n[key.wy = 071342d63dba901b93bdc444a1fe2ec6a15108bdf49eb1dfd218373884520d84bce03c5012f5837051cb8abf6a0be78dfdfeeb3a5872dff75b3f874faa6d2243bf]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401d6329a8afdea27cf1028a44d19c3c72927590d64628775f324514c81de301aa9be9c775c53a6349d1cbd5ecfc7bd39b373e613a10c1439441b141430fdadac168c00071342d63dba901b93bdc444a1fe2ec6a15108bdf49eb1dfd218373884520d84bce03c5012f5837051cb8abf6a0be78dfdfeeb3a5872dff75b3f874faa6d2243bf]\n[sha = SHA-512", + "]\n\n# tcId = 397\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024200e97ae66bcd4cae36fffffffffffffffffffffffffffffffffffffffffffffffffd68bc9726f02dbf8598a98b3e5077eff6f2491eb678ed040fb338c084a9ea8a4c\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 0401c963b64cdc3ecb1c35cda5ced9419ac146b060adb04c638cf6b66658013cb25e915a6ad0055668342881ed27f438b50ae4bb86ae3c7c02b727a130c77bad69800800481bfffaead856b4137fd4268ecd74a6c2d4bd6cd13998ce7f0e828b220135d8df23253e681dc90673e0537e7590769a2a441aaaaa3a9901c4fbe44fa9513951ef]\n[key.wx = 01c963b64cdc3ecb1c35cda5ced9419ac146b060adb04c638cf6b66658013cb25e915a6ad0055668342881ed27f438b50ae4bb86ae3c7c02b727a130c77bad698008]\n[key.wy = 481bfffaead856b4137fd4268ecd74a6c2d4bd6cd13998ce7f0e828b220135d8df23253e681dc90673e0537e7590769a2a441aaaaa3a9901c4fbe44fa9513951ef]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401c963b64cdc3ecb1c35cda5ced9419ac146b060adb04c638cf6b66658013cb25e915a6ad0055668342881ed27f438b50ae4bb86ae3c7c02b727a130c77bad69800800481bfffaead856b4137fd4268ecd74a6c2d4bd6cd13998ce7f0e828b220135d8df23253e681dc90673e0537e7590769a2a441aaaaa3a9901c4fbe44fa9513951ef]\n[sha = SHA-512]\n\n# tcId = 398\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024201ae66bcd4cae36ffffffffffffffffffffffffffffffffffffffffffffffffffffb3954212f8bea578d93e685e5dba329811b2542bb398233e2944bceb19263325d\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 04005dfbc867d53c57b2945502b8e56d96ca2d4d485aa33452200a2f4ba16042357976afeecf3e63b2fdcd5cdd76076c1a73e496caf9d6de3e8831d955d138e05884ae01e04aa0b5360a0d3badd0120fbb8cc42a38bf1c61755d00858e40e4b10da4ea2575830dc92e312c20af2b8b167d7a58d178661d48cd932fe47a4bc7145e620ae22c]\n[key.wx = 5dfbc867d53c57b2945502b8e56d96ca2d4d485aa33452200a2f4ba16042357976afeecf3e63b2fdcd5cdd76076c1a73e496caf9d6de3e8831d955d138e05884ae]\n[key.wy = 01e04aa0b5360a0d3badd0120fbb8cc42a38bf1c61755d00858e40e4b10da4ea2575830dc92e312c20af2b8b167d7a58d178661d48cd932fe47a4bc7145e620ae22c]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004005dfbc867d53c57b2945502b8e56d96ca2d4d485aa33452200a2f4ba16042357976afeecf3e63b2fdcd5cdd76076c1a73e496caf9d6de3e8831d955d138e05884ae01e04aa0b5360a0d3badd0120fbb8cc42a38bf1c61755d00858e40e4b10da4ea2575830dc92e312c20af2b8b167d7a58d178661d48cd932fe47a4bc7145e620ae22c]\n[sha = SHA-512]\n\n# tcId = 399\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0242015ccd79a995c6dffffffffffffffffffffffffffffffffffffffffffffffffffffc2121badb58a518afa8010a82c03cad31fa94bbbde96820166d27e644938e00b1\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 040078be6c43e366cf63ddc4235e8b969386e95012fbca5cebf1b0a6fe3c03c1257df7cf47b002eb6c4497f310bff6131b5ccb54fd0e8ee7fcf6b49d487e1b54508f68009b61a547104c8516e0dc35d3d17659ca098d023b0593908fe979c29e62373738a3c30094ba47105a49edbc6e1d37cce317b49d2701470eeb53d9b24dce9d809166]\n[key.wx = 78be6c43e366cf63ddc4235e8b969386e95012fbca5cebf1b0a6fe3c03c1257df7cf47b002eb6c4497f310bff6131b5ccb54fd0e8ee7fcf6b49d487e1b54508f68]\n[key.wy = 009b61a547104c8516e0dc35d3d17659ca098d023b0593908fe979c29e62373738a3c30094ba47105a49edbc6e1d37cce317b49d2701470eeb53d9b24dce9d809166]\n[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040078be6c43e366cf63ddc4235e8b969386e95012fbca5cebf1b0a6fe3c03c1257df7cf47b002eb6c4497f310bff6131b5ccb54fd0e8ee7fcf6b49d487e1b54508f68009b61a547104c8516e0dc35d3d17659ca098d023b0593908fe979c29e62373738a3c30094ba47105a49edbc6e1d37cce317b49d2701470eeb53d9b24dce9d809166]\n[sha = SHA-512]\n\n# tcId = 400\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024201cd4cae36fffffffffffffffffffffffffffffffffffffffffffffffffffffffffae18dcc11dff7526233d923a0b202cb29e713f22de8bb6ab0a12821c5abbe3f23\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 040093f68961005f3040dc1a8ff1416c917bdcc77f1dfa85506c3bb62dac47f7be9529b4cbe57dd2c19e860bd2a0db71d47ef1eca8a20bfc3e0bc5e05c8303001c1960002b9a3d45f2f5120fee06445f0d34e6138e3ac5b16d2a22f0460cea258c368ca9e478eb7b8253e7c6f2f7250fdc7dcd7243761f8d56f2350ac51e47ee063f41da31]\n[key.wx = 0093f68961005f3040dc1a8ff1416c917bdcc77f1dfa85506c3bb62dac47f7be9529b4cbe57dd2c19e860bd2a0db71d47ef1eca8a20bfc3e0bc5e05c8303001c1960]\n[key.wy = 2b9a3d45f2f5120fee06445f0d34e6138e3ac5b16d2a22f0460cea258c368ca9e478eb7b8253e7c6f2f7250fdc7dcd7243761f8d56f2350ac51e47ee063f41da31]\n[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040093f68961005f3040dc1a8ff1416c917bdcc77f1dfa85506c3bb62dac47f7be9529b4cbe57dd2c19e860bd2a0db71d47ef1eca8a20bfc3e0bc5e05c8303001c1960002b9a3d45f2f5120fee06445f0d34e6138e3ac5b16d2a22f0460cea258c368ca9e478eb7b8253e7c6f2f7250fdc7dcd7243761f8d56f2350ac51e47ee063f41da31]\n[sha = SHA-512]\n\n# tcId = 401\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 308187024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024122e8ba2e8ba2e8ba2e8ba2e8ba2e8ba2e8ba2e8ba2e8ba2e8ba2e8ba2e8ba2e8b9c4c3f73cc816143fac3412b62de4c63db08f8c57e4c58c31f1b457ca5e57e20a\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 04002d2d7d40bf17c4e8b18757e451ddded95e6b1007cd144809d21af31353b03038372c4af204d4414b71060b48b3a8439c632809bd33c4736263044405a1ad766e3600bb0c5a8848f93fa3e85376b012bf064e303746529a673b852bb5a969c24c0156a8dd26242d0aad4bae43e23631b01fb9d050f9744b59f3b52b1c572217a1d70588]\n[key.wx = 2d2d7d40bf17c4e8b18757e451ddded95e6b1007cd144809d21af31353b03038372c4af204d4414b71060b48b3a8439c632809bd33c4736263044405a1ad766e36]\n[key.wy = 00bb0c5a8848f93fa3e85376b012bf064e303746529a673b852bb5a969c24c0156a8dd26242d0aad4bae43e23631b01fb9d050f9744b59f3b52b1c572217a1d70588]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004002d2d7d40bf17c4e8b18757e451ddded95e6b1007cd144809d21af31353b03038372c4af204d4414b71060b48b3a8439c632809bd33c4736263044405a1ad766e3600bb0c5a8848f93fa3e85376b012bf064e303746529a673b852bb5a969c24c0156a8dd26242d0aad4bae43e23631b01fb9d050f9744b59f3b52b1c572217a1d70588]\n[sha = SHA-512]\n\n# tcId = 402\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0242010590b21642c8590b21642c8590b21642c8590b21642c8590b21642c8590b2164298eb57e5aff9343597a542d3132f9e734fdc305125e0ec139c5f780ee8e8cb9c2\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 04018ac11dfe62d1f2a8202732c79b423d29f43bec4db6080a220796a10f2685f92c71c7f72d9da0a8acb22680cca018eba2e8ba3bfde1db9a4ef3b97da16474364e96005aad3b286707bd3ad07a060cabca49c53de4f56c05a0a8de40fd969d7d4f995f7c6701fe5c5321f85318b98be66251fa490088fd727da2454e00b3b94dc6e1241b]\n[key.wx = 018ac11dfe62d1f2a8202732c79b423d29f43bec4db6080a220796a10f2685f92c71c7f72d9da0a8acb22680cca018eba2e8ba3bfde1db9a4ef3b97da16474364e96]\n[key.wy = 5aad3b286707bd3ad07a060cabca49c53de4f56c05a0a8de40fd969d7d4f995f7c6701fe5c5321f85318b98be66251fa490088fd727da2454e00b3b94dc6e1241b]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004018ac11dfe62d1f2a8202732c79b423d29f43bec4db6080a220796a10f2685f92c71c7f72d9da0a8acb22680cca018eba2e8ba3bfde1db9a4ef3b97da16474364e96005aad3b286707bd3ad07a060cabca49c53de4f56c05a0a8de40fd969d7d4f995f7c6701fe5c5321f85318b98be66251fa490088fd727da2454e00b3b94dc6e1241b]\n[sha = SHA-512]\n\n# tcId = 403\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024201a4924924924924924924924924924924924924924924924924924924924924924445e10670ed0437c9db4125ac4175fbd70e9bd1799a85f44ca0a8e61a3354e808\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 040051b2c3e0494564ed48ed3479b596ea4078240550a3c28da33d71d259e8e623e37ab43f396c49363f31c8de8a4644d37e94ed80e0dd4f92c3df2106e2795c2798b800a530d5e961f0696bbeb962aca8e71f65956ae04cdc22a4ac65146943e99a4a2fdb477df75aa069c8dd37a5daaea3848079a6a7bc03e0faa3d65d42f8053db2078b]\n[key.wx = 51b2c3e0494564ed48ed3479b596ea4078240550a3c28da33d71d259e8e623e37ab43f396c49363f31c8de8a4644d37e94ed80e0dd4f92c3df2106e2795c2798b8]\n[key.wy = 00a530d5e961f0696bbeb962aca8e71f65956ae04cdc22a4ac65146943e99a4a2fdb477df75aa069c8dd37a5daaea3848079a6a7bc03e0faa3d65d42f8053db2078b]\n[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040051b2c3e0494564ed48ed3479b596ea4078240550a3c28da33d71d259e8e623e37ab43f396c49363f31c8de8a4644d37e94ed80e0dd4f92c3df2106e2795c2798b800a530d5e961f0696bbeb962aca8e71f65956ae04cdc22a4ac65146943e99a4a2fdb477df75aa069c8dd37a5daaea3848079a6a7bc03e0faa3d65d42f8053db2078b]\n[sha = SHA-512]\n\n# tcId = 404\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024201d5555555555555555555555555555555555555555555555555555555555555554fa6dbdcd91484ebc0d521569e4c5efb25910b1f0ddef19d0410c50c73e68db95f\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 0401ba31a6f9c2d227da57de00759e2e844d607bc9bd92bcdf282006884dc347c9284f0dc0623af1e9db22117364a7a80a5b067efa19b204dac8faf2230d80b704addc00d88b761cd3a4b0947bfc17e204b4d751f76880a82c9b7c6fd93ded55883c995002d8b8bfff1e021189c08d829d16b088f4fb39ad9456eafbc77c20353bc0f3c038]\n[key.wx = 01ba31a6f9c2d227da57de00759e2e844d607bc9bd92bcdf282006884dc347c9284f0dc0623af1e9db22117364a7a80a5b067efa19b204dac8faf2230d80b704addc]\n[key.wy = 00d88b761cd3a4b0947bfc17e204b4d751f76880a82c9b7c6fd93ded55883c995002d8b8bfff1e021189c08d829d16b088f4fb39ad9456eafbc77c20353bc0f3c038]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401ba31a6f9c2d227da57de00759e2e844d607bc9bd92bcdf282006884dc347c9284f0dc0623af1e9db22117364a7a80a5b067efa19b204dac8faf2230d80b704addc00d88b761cd3a4b0947bfc17e204b4d751f76880a82c9b7c6fd93ded55883c995002d8b8bfff1e021189c08d829d16b088f4fb39ad9456eafbc77c20353bc0f3c038]\n[sha = SHA-512]\n\n# tcId = 405\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024201aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4fc31322e69da41162a76abf3a1b4507ae66074633446f259661a61c93be30eb5\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 040137bbb48ef281133849ed723f5662a19fff9cc7389a0170d311bd34f4dbdc656246db695ea0712d8aceff9d1d0ef7921ec2e3f8b533e4ca122f9f7f4460738893340163e4500d998095f60fa3fed4149d2d9b5b018e03eb5344efe8ffcc1c7d276e7401a4df639c4ab108820062495471be7b29398aadbae440a9bdcd55cf0bb5d96f79]\n[key.wx = 0137bbb48ef281133849ed723f5662a19fff9cc7389a0170d311bd34f4dbdc656246db695ea0712d8aceff9d1d0ef7921ec2e3f8b533e4ca122f9f7f446073889334]\n[key.wy = 0163e4500d998095f60fa3fed4149d2d9b5b018e03eb5344efe8ffcc1c7d276e7401a4df639c4ab108820062495471be7b29398aadbae440a9bdcd55cf0bb5d96f79]\n[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040137bbb48ef281133849ed723f5662a19fff9cc7389a0170d311bd34f4dbdc656246db695ea0712d8aceff9d1d0ef7921ec2e3f8b533e4ca122f9f7f4460738893340163e4500d998095f60fa3fed4149d2d9b5b018e03eb5344efe8ffcc1c7d276e7401a4df639c4ab108820062495471be7b29398aadbae440a9bdcd55cf0bb5d96f79]\n[sha = SHA-512]\n\n# tcId = 406\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0242017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640b\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 0400726dda8b7b6ed25f97f1fc6c3ccf554d60fc71e4fab2a578286d32612e7f3e669faed0b97619aef2d5aff9c8ffd987feddc0d6c38b7eec028191400874803f498b00c0b8870c612e06c13c57ed6f7ef3d53b5e5fa2db62707b034b5ec13fb47018e31da7ecc991d575943468d701e118eca33122cf6d394b8a6ec0f45bc09701603a26]\n[key.wx = 726dda8b7b6ed25f97f1fc6c3ccf554d60fc71e4fab2a578286d32612e7f3e669faed0b97619aef2d5aff9c8ffd987feddc0d6c38b7eec028191400874803f498b]\n[key.wy = 00c0b8870c612e06c13c57ed6f7ef3d53b5e5fa2db62707b034b5ec13fb47018e31da7ecc991d575943468d701e118eca33122cf6d394b8a6ec0f45bc09701603a26]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400726dda8b7b6ed25f97f1fc6c3ccf554d60fc71e4fab2a578286d32612e7f3e669faed0b97619aef2d5aff9c8ffd987feddc0d6c38b7eec028191400874803f498b00c0b8870c612e06c13c57ed6f7ef3d53b5e5fa2db62707b034b5ec13fb47018e31da7ecc991d575943468d701e118eca33122cf6d394b8a6ec0f45bc09701603a26]\n[sha = SHA-512]\n\n# tcId = 407\n# edge case for u2\nmsg = 313233343030\nresult = valid\nsig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024201346cc7d4839b77f9f487c7e7f2841c5b7d05f966f3bde28f1fa080ce40037a74e3001a2b00bd39ee4c93072e9963724941383cf0812c02d1c838ad4502a12c619f\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 04016fce9f375bbd2968adaaf3575595129ef3e721c3b7c83d5a4a79f4b5dfbbdb1f66da7243e5120c5dbd7be1ca073e04b4cc58ca8ce2f34ff6a3d02a929bf2fc27970083f130792d6c45c8f2a67471e51246e2b8781465b8291cbda66d22719cd536bf801e0076030919d5701732ce7678bf472846ed0777937ed77caad74d05664614a2]\n[key.wx = 016fce9f375bbd2968adaaf3575595129ef3e721c3b7c83d5a4a79f4b5dfbbdb1f66da7243e5120c5dbd7be1ca073e04b4cc58ca8ce2f34ff6a3d02a929bf2fc2797]\n[key.wy = 0083f130792d6c45c8f2a67471e51246e2b8781465b8291cbda66d22719cd536bf801e0076030919d5701732ce7678bf472846ed0777937ed77caad74d05664614a2]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004016fce9f375bbd2968adaaf3575595129ef3e721c3b7c83d5a4a79f4b5dfbbdb1f66da7243e5120c5dbd7be1ca073e04b4cc58ca8ce2f34ff6a3d02a929bf2fc27970083f130792d6c45c8f2a67471e51246e2b8781465b8291cbda66d22719cd536bf801e0076030919d5701732ce7678bf472846ed0777937ed77caad74d05664614a2]\n[sha = SHA-512]\n\n# tcId = 408\n# point duplication during verification\nmsg = 313233343030\nresult = valid\nsig = 30818802420090c8d0d718cb9d8d81094e6d068fb13c16b4df8c77bac676dddfe3e68855bed06b9ba8d0f8a80edce03a9fac7da561e24b1cd22d459239a146695a671f81f73aaf024201150b0fe9f0dff27fa180cc9442c3bfc9e395232898607b110a51bcb1086cb9726e251a07c9557808df32460715950a3dc446ae4229b9ed59fe241b389aee3a6963\nflags = PointDuplication\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 04016fce9f375bbd2968adaaf3575595129ef3e721c3b7c83d5a4a79f4b5dfbbdb1f66da7243e5120c5dbd7be1ca073e04b4cc58ca8ce2f34ff6a3d02a929bf2fc2797017c0ecf86d293ba370d598b8e1aedb91d4787eb9a47d6e3425992dd8e632ac9407fe1ff89fcf6e62a8fe8cd31898740b8d7b912f8886c8128835528b2fa99b9eb5d]\n[key.wx = 016fce9f375bbd2968adaaf3575595129ef3e721c3b7c83d5a4a79f4b5dfbbdb1f66da7243e5120c5dbd7be1ca073e04b4cc58ca8ce2f34ff6a3d02a929bf2fc2797]\n[key.wy = 017c0ecf86d293ba370d598b8e1aedb91d4787eb9a47d6e3425992dd8e632ac9407fe1ff89fcf6e62a8fe8cd31898740b8d7b912f8886c8128835528b2fa99b9eb5d]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004016fce9f375bbd2968adaaf3575595129ef3e721c3b7c83d5a4a79f4b5dfbbdb1f66da7243e5120c5dbd7be1ca073e04b4cc58ca8ce2f34ff6a3d02a929bf2fc2797017c0ecf86d293ba370d598b8e1aedb91d4787eb9a47d6e3425992dd8e632ac9407fe1ff89fcf6e62a8fe8cd31898740b8d7b912f8886c8128835528b2fa99b9eb5d]\n[sha = SHA-512]\n\n# tcId = 409\n# duplication bug\nmsg = 313233343030\nresult = invalid\nsig = 30818802420090c8d0d718cb9d8d81094e6d068fb13c16b4df8c77bac676dddfe3e68855bed06b9ba8d0f8a80edce03a9fac7da561e24b1cd22d459239a146695a671f81f73aaf024201150b0fe9f0dff27fa180cc9442c3", + "bfc9e395232898607b110a51bcb1086cb9726e251a07c9557808df32460715950a3dc446ae4229b9ed59fe241b389aee3a6963\nflags = PointDuplication\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 040110fb89aff135edb801a1cb5bc49525b81dc74da45090d228122871814f489fdcb02ebee46b703e6b4e6af56c5024422b31fd4252c44d0bfd29d945de782d98543f01ec425b4c4928e12b619227f1da6d0a9675070d9c5b49ca523050acb718e62643b0e5801543b76dc11f8d694ba09436d8391b477ad2c143ec50c2384c4f688512dc]\n[key.wx = 0110fb89aff135edb801a1cb5bc49525b81dc74da45090d228122871814f489fdcb02ebee46b703e6b4e6af56c5024422b31fd4252c44d0bfd29d945de782d98543f]\n[key.wy = 01ec425b4c4928e12b619227f1da6d0a9675070d9c5b49ca523050acb718e62643b0e5801543b76dc11f8d694ba09436d8391b477ad2c143ec50c2384c4f688512dc]\n[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040110fb89aff135edb801a1cb5bc49525b81dc74da45090d228122871814f489fdcb02ebee46b703e6b4e6af56c5024422b31fd4252c44d0bfd29d945de782d98543f01ec425b4c4928e12b619227f1da6d0a9675070d9c5b49ca523050acb718e62643b0e5801543b76dc11f8d694ba09436d8391b477ad2c143ec50c2384c4f688512dc]\n[sha = SHA-512]\n\n# tcId = 410\n# point with x-coordinate 0\nmsg = 313233343030\nresult = invalid\nsig = 3047020101024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 0401c693a3fccbc9f625284239c2725f2a5c90b29b7ce3d07730f7de6031c9e74446d217888ae023aae23df6a4aa153f58c79597d57f42ce5c1354e5dc43a5eb311e13015f99658443b2e39c3edcbcda70707fc5a4d39545eabe354816d09284a6265e47ebf0a47355828e818a767f8452a6d18451e0e3817a896ff404cb1611bfc4c4b4a3]\n[key.wx = 01c693a3fccbc9f625284239c2725f2a5c90b29b7ce3d07730f7de6031c9e74446d217888ae023aae23df6a4aa153f58c79597d57f42ce5c1354e5dc43a5eb311e13]\n[key.wy = 015f99658443b2e39c3edcbcda70707fc5a4d39545eabe354816d09284a6265e47ebf0a47355828e818a767f8452a6d18451e0e3817a896ff404cb1611bfc4c4b4a3]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401c693a3fccbc9f625284239c2725f2a5c90b29b7ce3d07730f7de6031c9e74446d217888ae023aae23df6a4aa153f58c79597d57f42ce5c1354e5dc43a5eb311e13015f99658443b2e39c3edcbcda70707fc5a4d39545eabe354816d09284a6265e47ebf0a47355828e818a767f8452a6d18451e0e3817a896ff404cb1611bfc4c4b4a3]\n[sha = SHA-512]\n\n# tcId = 411\n# point with x-coordinate 0\nmsg = 313233343030\nresult = invalid\nsig = 3081870242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024166666666666666666666666666666666666666666666666666666666666666666543814e4d8ca31e157ff599db649b87900bf128581b85a7efbf1657d2e9d81401\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 04017d7bf723678df574ce4366741e1d3787f834af9997b41c8260a074cb1f325d2bae9f8565dc6b51b6cb02dceeb5a1b774ee8dd7057c99e2d94c3c71299a9ce0f1b00162c65632fff88bdbb17ce2525ccac8df37c501ab0e6626e273fb6cf99000424344c0ac539c9fd6c4f3d28876b257c010d347a45bb010cc058443843a758328d491]\n[key.wx = 017d7bf723678df574ce4366741e1d3787f834af9997b41c8260a074cb1f325d2bae9f8565dc6b51b6cb02dceeb5a1b774ee8dd7057c99e2d94c3c71299a9ce0f1b0]\n[key.wy = 0162c65632fff88bdbb17ce2525ccac8df37c501ab0e6626e273fb6cf99000424344c0ac539c9fd6c4f3d28876b257c010d347a45bb010cc058443843a758328d491]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004017d7bf723678df574ce4366741e1d3787f834af9997b41c8260a074cb1f325d2bae9f8565dc6b51b6cb02dceeb5a1b774ee8dd7057c99e2d94c3c71299a9ce0f1b00162c65632fff88bdbb17ce2525ccac8df37c501ab0e6626e273fb6cf99000424344c0ac539c9fd6c4f3d28876b257c010d347a45bb010cc058443843a758328d491]\n[sha = SHA-512]\n\n# tcId = 412\n# comparison with point at infinity \nmsg = 313233343030\nresult = invalid\nsig = 308187024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad024166666666666666666666666666666666666666666666666666666666666666666543814e4d8ca31e157ff599db649b87900bf128581b85a7efbf1657d2e9d81401\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 0401e06db423a902e239b97340ab052534ead37e79412c675bf0eb823999e6b731040bff2b0e4fa64edf3962a328921ea5ae4e8f4079eab439e12f92335dfc4863c07f007ee9f0ecb409cb133c0cd08b85e840b076f3d615e1ef1393b5222338b227d768003da5f3ba1f72f6654ca54ac11c2ba91a6cb5883d6d1a82304ad2b79de09215f3]\n[key.wx = 01e06db423a902e239b97340ab052534ead37e79412c675bf0eb823999e6b731040bff2b0e4fa64edf3962a328921ea5ae4e8f4079eab439e12f92335dfc4863c07f]\n[key.wy = 7ee9f0ecb409cb133c0cd08b85e840b076f3d615e1ef1393b5222338b227d768003da5f3ba1f72f6654ca54ac11c2ba91a6cb5883d6d1a82304ad2b79de09215f3]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401e06db423a902e239b97340ab052534ead37e79412c675bf0eb823999e6b731040bff2b0e4fa64edf3962a328921ea5ae4e8f4079eab439e12f92335dfc4863c07f007ee9f0ecb409cb133c0cd08b85e840b076f3d615e1ef1393b5222338b227d768003da5f3ba1f72f6654ca54ac11c2ba91a6cb5883d6d1a82304ad2b79de09215f3]\n[sha = SHA-512]\n\n# tcId = 413\n# extreme value for k and edgecase s\nmsg = 313233343030\nresult = valid\nsig = 3081870241433c219024277e7e682fcb288148c282747403279b1ccc06352c6e5505d769be97b3b204da6ef55507aa104a3a35c5af41cf2fa364d60fd967f43e3933ba6d783d024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 04015053744d53811dbed8880f38d3a34578a7f1c172ec65bd8ad8183ba0ae10093416107f3c942742bde60719949b2c4f026f43582125c99ed48cbc7c5a051a5a744800b36d4c91a2b0367c566b2c12981ce0fdbc3beb983717403f69bf4264fc6182478af0b236ff120bcfca116924c552abef6663b6023be1986b70206d9bb89b5ed298]\n[key.wx = 015053744d53811dbed8880f38d3a34578a7f1c172ec65bd8ad8183ba0ae10093416107f3c942742bde60719949b2c4f026f43582125c99ed48cbc7c5a051a5a7448]\n[key.wy = 00b36d4c91a2b0367c566b2c12981ce0fdbc3beb983717403f69bf4264fc6182478af0b236ff120bcfca116924c552abef6663b6023be1986b70206d9bb89b5ed298]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004015053744d53811dbed8880f38d3a34578a7f1c172ec65bd8ad8183ba0ae10093416107f3c942742bde60719949b2c4f026f43582125c99ed48cbc7c5a051a5a744800b36d4c91a2b0367c566b2c12981ce0fdbc3beb983717403f69bf4264fc6182478af0b236ff120bcfca116924c552abef6663b6023be1986b70206d9bb89b5ed298]\n[sha = SHA-512]\n\n# tcId = 414\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3081860241433c219024277e7e682fcb288148c282747403279b1ccc06352c6e5505d769be97b3b204da6ef55507aa104a3a35c5af41cf2fa364d60fd967f43e3933ba6d783d0241492492492492492492492492492492492492492492492492492492492492492491795c5c808906cc587ff89278234a8566e3f565f5ca840a3d887dac7214bee9b8\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 0401fb2e26596cc80473917dd46b4a1d14bd9a1ca9769dd12bfac1bff17cdc282e74c73a801ec1be83edfe4bfe9813ec943ac151678f0a9a0bf27d9ef308177eb0400f019e03a5da3da67e6b8d068dbdacf091b9d5efadaf63f4a7e9c6b6ed0a1c9a5d3cbc3e0244d481066018fba7674a2b59139a5656780563bb4618014f176752e177e0]\n[key.wx = 01fb2e26596cc80473917dd46b4a1d14bd9a1ca9769dd12bfac1bff17cdc282e74c73a801ec1be83edfe4bfe9813ec943ac151678f0a9a0bf27d9ef308177eb0400f]\n[key.wy = 019e03a5da3da67e6b8d068dbdacf091b9d5efadaf63f4a7e9c6b6ed0a1c9a5d3cbc3e0244d481066018fba7674a2b59139a5656780563bb4618014f176752e177e0]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401fb2e26596cc80473917dd46b4a1d14bd9a1ca9769dd12bfac1bff17cdc282e74c73a801ec1be83edfe4bfe9813ec943ac151678f0a9a0bf27d9ef308177eb0400f019e03a5da3da67e6b8d068dbdacf091b9d5efadaf63f4a7e9c6b6ed0a1c9a5d3cbc3e0244d481066018fba7674a2b59139a5656780563bb4618014f176752e177e0]\n[sha = SHA-512]\n\n# tcId = 415\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3081870241433c219024277e7e682fcb288148c282747403279b1ccc06352c6e5505d769be97b3b204da6ef55507aa104a3a35c5af41cf2fa364d60fd967f43e3933ba6d783d0242019999999999999999999999999999999999999999999999999999999999999999950e053936328c7855ffd6676d926e1e402fc4a1606e169fbefc595f4ba7605007\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key", + ".uncompressed = 04008422cea9dcf8ae01f7a157888f018a40a66461d3566ec4a4dfc89ecb3c2404be734d329137d630387b012d033221857d5bfb290fa8027640b4063072a3e5b14c860025a219e724b81814901a677a8bee9b716b33b16a5b65f2272956a46b5e8683dc896984309ac79449657a1895c9f62bde99c7f5e24ed2defbc9f8dde35ebd0bddc1]\n[key.wx = 008422cea9dcf8ae01f7a157888f018a40a66461d3566ec4a4dfc89ecb3c2404be734d329137d630387b012d033221857d5bfb290fa8027640b4063072a3e5b14c86]\n[key.wy = 25a219e724b81814901a677a8bee9b716b33b16a5b65f2272956a46b5e8683dc896984309ac79449657a1895c9f62bde99c7f5e24ed2defbc9f8dde35ebd0bddc1]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004008422cea9dcf8ae01f7a157888f018a40a66461d3566ec4a4dfc89ecb3c2404be734d329137d630387b012d033221857d5bfb290fa8027640b4063072a3e5b14c860025a219e724b81814901a677a8bee9b716b33b16a5b65f2272956a46b5e8683dc896984309ac79449657a1895c9f62bde99c7f5e24ed2defbc9f8dde35ebd0bddc1]\n[sha = SHA-512]\n\n# tcId = 416\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3081860241433c219024277e7e682fcb288148c282747403279b1ccc06352c6e5505d769be97b3b204da6ef55507aa104a3a35c5af41cf2fa364d60fd967f43e3933ba6d783d024166666666666666666666666666666666666666666666666666666666666666666543814e4d8ca31e157ff599db649b87900bf128581b85a7efbf1657d2e9d81402\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 0401bc19cf4b94bcd34114ce83c5f1a7e048e2fc4fd457d57e39b3da29f4766acbaef1c10cb13c796a6fffb56d6a392e47b6c74522df7fa02754c33d95b1a9a3c92a1500f5744c2bed308cb4f41b512e632cd01d270ef1a0d3f47ea780e73c6a6c9ea6a996faef4d282896c64fa50f5b04e204c56b504bc122ffba7aea4574d7d7ab6303c0]\n[key.wx = 01bc19cf4b94bcd34114ce83c5f1a7e048e2fc4fd457d57e39b3da29f4766acbaef1c10cb13c796a6fffb56d6a392e47b6c74522df7fa02754c33d95b1a9a3c92a15]\n[key.wy = 00f5744c2bed308cb4f41b512e632cd01d270ef1a0d3f47ea780e73c6a6c9ea6a996faef4d282896c64fa50f5b04e204c56b504bc122ffba7aea4574d7d7ab6303c0]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401bc19cf4b94bcd34114ce83c5f1a7e048e2fc4fd457d57e39b3da29f4766acbaef1c10cb13c796a6fffb56d6a392e47b6c74522df7fa02754c33d95b1a9a3c92a1500f5744c2bed308cb4f41b512e632cd01d270ef1a0d3f47ea780e73c6a6c9ea6a996faef4d282896c64fa50f5b04e204c56b504bc122ffba7aea4574d7d7ab6303c0]\n[sha = SHA-512]\n\n# tcId = 417\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 3081870241433c219024277e7e682fcb288148c282747403279b1ccc06352c6e5505d769be97b3b204da6ef55507aa104a3a35c5af41cf2fa364d60fd967f43e3933ba6d783d024201b6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db68d82a2b033628ca12ffd36ed0d3bf206957c063c2bf183d7132f20aac7c797a51\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 04017b0ebce08b09f21e30d15e0edd9fcdf24ab4831ec8a65a3d1e38f72b15f0115da6ed1885e42fcfae31c0914b71e9df2cd106adc039a82810a92924dd154dc05da300c614d1afc4f63de3803bb5490a34e1e2fab9eb78422b21d377fc0d7f991b938c22f4d7dd665f8dd21fadde43172a55f80d05cc4557b6663f9e7a3fe490d25c5531]\n[key.wx = 017b0ebce08b09f21e30d15e0edd9fcdf24ab4831ec8a65a3d1e38f72b15f0115da6ed1885e42fcfae31c0914b71e9df2cd106adc039a82810a92924dd154dc05da3]\n[key.wy = 00c614d1afc4f63de3803bb5490a34e1e2fab9eb78422b21d377fc0d7f991b938c22f4d7dd665f8dd21fadde43172a55f80d05cc4557b6663f9e7a3fe490d25c5531]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004017b0ebce08b09f21e30d15e0edd9fcdf24ab4831ec8a65a3d1e38f72b15f0115da6ed1885e42fcfae31c0914b71e9df2cd106adc039a82810a92924dd154dc05da300c614d1afc4f63de3803bb5490a34e1e2fab9eb78422b21d377fc0d7f991b938c22f4d7dd665f8dd21fadde43172a55f80d05cc4557b6663f9e7a3fe490d25c5531]\n[sha = SHA-512]\n\n# tcId = 418\n# extreme value for k\nmsg = 313233343030\nresult = valid\nsig = 3081860241433c219024277e7e682fcb288148c282747403279b1ccc06352c6e5505d769be97b3b204da6ef55507aa104a3a35c5af41cf2fa364d60fd967f43e3933ba6d783d02410eb10e5ab95f2f26a40700b1300fb8c3c8d5384ffbecf1fdb9e11e67cb7fd6a7f503e6e25ac09bb88b6c3983df764d4d72bc2920e233f0f7974a234a21b00bb447\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 040004c3ec8d7d23ce74be8b9c7c27be869c23bafc6874ebc44f47e107422ab1e75ed09bebd7cb1ec4626e442bcf512a25c5ddde26eb08ba37506461830cf9241cbe9c0050a1bc08f4ba8da1d641ac3891823ab519facd4159768b1c0738f0e23450f374e4d6de55cceed95722be635c5dc0023a1498862f87bfe61d77e20e592cc20bb2ca]\n[key.wx = 04c3ec8d7d23ce74be8b9c7c27be869c23bafc6874ebc44f47e107422ab1e75ed09bebd7cb1ec4626e442bcf512a25c5ddde26eb08ba37506461830cf9241cbe9c]\n[key.wy = 50a1bc08f4ba8da1d641ac3891823ab519facd4159768b1c0738f0e23450f374e4d6de55cceed95722be635c5dc0023a1498862f87bfe61d77e20e592cc20bb2ca]\n[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040004c3ec8d7d23ce74be8b9c7c27be869c23bafc6874ebc44f47e107422ab1e75ed09bebd7cb1ec4626e442bcf512a25c5ddde26eb08ba37506461830cf9241cbe9c0050a1bc08f4ba8da1d641ac3891823ab519facd4159768b1c0738f0e23450f374e4d6de55cceed95722be635c5dc0023a1498862f87bfe61d77e20e592cc20bb2ca]\n[sha = SHA-512]\n\n# tcId = 419\n# extreme value for k and edgecase s\nmsg = 313233343030\nresult = valid\nsig = 308188024200c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 0400a7c8204f2864dcef089165c3914dcc2c0896075870ca0bc1ce37856f80f23815b0c8f2ec05145c421049e80ec1e7694f9f04174bbef21bc0972e559cf222de7e1a01ff1108c28f01b703820e1c0187912962ab23109618dfcb0c062ccee339002222a3f7dd8dd21675b0e20908fe5855ea876d6a9e02c5f5b793d38fdf79fb83603ea9]\n[key.wx = 00a7c8204f2864dcef089165c3914dcc2c0896075870ca0bc1ce37856f80f23815b0c8f2ec05145c421049e80ec1e7694f9f04174bbef21bc0972e559cf222de7e1a]\n[key.wy = 01ff1108c28f01b703820e1c0187912962ab23109618dfcb0c062ccee339002222a3f7dd8dd21675b0e20908fe5855ea876d6a9e02c5f5b793d38fdf79fb83603ea9]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400a7c8204f2864dcef089165c3914dcc2c0896075870ca0bc1ce37856f80f23815b0c8f2ec05145c421049e80ec1e7694f9f04174bbef21bc0972e559cf222de7e1a01ff1108c28f01b703820e1c0187912962ab23109618dfcb0c062ccee339002222a3f7dd8dd21675b0e20908fe5855ea876d6a9e02c5f5b793d38fdf79fb83603ea9]\n[sha = SHA-512]\n\n# tcId = 420\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 308187024200c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd660241492492492492492492492492492492492492492492492492492492492492492491795c5c808906cc587ff89278234a8566e3f565f5ca840a3d887dac7214bee9b8\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 0401802fc79fc8e55bce50a581632b51d6eec04a3c74ac2bf4fae16ce6c7efef1701d69f9c00a91ad521d75ac7539d54bf464caeec871456103dc974354460898a19c600722fc1f528506618b1da9f8b2edbdbdaf7eec02e8fb9203d2b277735a1d867911b131f453f52ccc4ced05c3b1bc29e4d20f1e6d34979faa688ce8003f79d8e0c95]\n[key.wx = 01802fc79fc8e55bce50a581632b51d6eec04a3c74ac2bf4fae16ce6c7efef1701d69f9c00a91ad521d75ac7539d54bf464caeec871456103dc974354460898a19c6]\n[key.wy = 722fc1f528506618b1da9f8b2edbdbdaf7eec02e8fb9203d2b277735a1d867911b131f453f52ccc4ced05c3b1bc29e4d20f1e6d34979faa688ce8003f79d8e0c95]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401802fc79fc8e55bce50a581632b51d6eec04a3c74ac2bf4fae16ce6c7efef1701d69f9c00a91ad521d75ac7539d54bf464caeec871456103dc974354460898a19c600722fc1f528506618b1da9f8b2edbdbdaf7eec02e8fb9203d2b277735a1d867911b131f453f52ccc4ced05c3b1bc29e4d20f1e6d34979faa688ce8003f79d8e0c95]\n[sha = SHA-512]\n\n# tcId = 421\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 308188024200c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd660242019999999999999999999999999999999999999999999999999999999999999999950e053936328c7855ffd6676d926e1e402fc4a1606e169fbefc595f4ba7605007\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 0401beb0b4c2e494226404fca4ad505ebfed13d184b1572683215b16173c29a4475aede47f2", + "66e0c9c4143137d3e0001f9f0148b689286a7c64e229458b824ed7658360130205169783ed9ada9f3a193027ae4e21829ad4a71d05d969605c04f3231dabab03beb2fab07dd8323d7132755734f4e6d1fb43fc8a63bfd244160c23efb6c1429]\n[key.wx = 01beb0b4c2e494226404fca4ad505ebfed13d184b1572683215b16173c29a4475aede47f266e0c9c4143137d3e0001f9f0148b689286a7c64e229458b824ed765836]\n[key.wy = 0130205169783ed9ada9f3a193027ae4e21829ad4a71d05d969605c04f3231dabab03beb2fab07dd8323d7132755734f4e6d1fb43fc8a63bfd244160c23efb6c1429]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401beb0b4c2e494226404fca4ad505ebfed13d184b1572683215b16173c29a4475aede47f266e0c9c4143137d3e0001f9f0148b689286a7c64e229458b824ed7658360130205169783ed9ada9f3a193027ae4e21829ad4a71d05d969605c04f3231dabab03beb2fab07dd8323d7132755734f4e6d1fb43fc8a63bfd244160c23efb6c1429]\n[sha = SHA-512]\n\n# tcId = 422\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 308187024200c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66024166666666666666666666666666666666666666666666666666666666666666666543814e4d8ca31e157ff599db649b87900bf128581b85a7efbf1657d2e9d81402\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 040121e59aaf26b8301f4fcc3e0a563c4104ae00b47c55b8945ce749116fdf6761d768bd50ed431e2b51e646fe4fe7dc2985b6aefa7f9441ea11840d2ace2f34293cb1000cf1e1a46d4d637216e28abd124cc641ae7a673445d573856bc2fec58d86e5ed63bc2a7f2049234e335a7bee95bb2724fb1480c97c38cd0d296cbcc113de3f135f]\n[key.wx = 0121e59aaf26b8301f4fcc3e0a563c4104ae00b47c55b8945ce749116fdf6761d768bd50ed431e2b51e646fe4fe7dc2985b6aefa7f9441ea11840d2ace2f34293cb1]\n[key.wy = 0cf1e1a46d4d637216e28abd124cc641ae7a673445d573856bc2fec58d86e5ed63bc2a7f2049234e335a7bee95bb2724fb1480c97c38cd0d296cbcc113de3f135f]\n[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040121e59aaf26b8301f4fcc3e0a563c4104ae00b47c55b8945ce749116fdf6761d768bd50ed431e2b51e646fe4fe7dc2985b6aefa7f9441ea11840d2ace2f34293cb1000cf1e1a46d4d637216e28abd124cc641ae7a673445d573856bc2fec58d86e5ed63bc2a7f2049234e335a7bee95bb2724fb1480c97c38cd0d296cbcc113de3f135f]\n[sha = SHA-512]\n\n# tcId = 423\n# extreme value for k and s^-1\nmsg = 313233343030\nresult = valid\nsig = 308188024200c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66024201b6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db68d82a2b033628ca12ffd36ed0d3bf206957c063c2bf183d7132f20aac7c797a51\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 04008e859e66d1237fdc928a4b954954fef565d203a0731d065d9df41a4fd3812b1cc2487053ea19ce839d200845952f80d80698771d83ccc1fc7f236dbee4c76b2bb4005a04b24c88cd40233fb43c59ea5cf2cb9510d16b1168bc126db64aaf9ab07a7453208fde079095966272bf03bc3312c9b9bab8c795ae375e8a0e8dd81c924e7c27]\n[key.wx = 008e859e66d1237fdc928a4b954954fef565d203a0731d065d9df41a4fd3812b1cc2487053ea19ce839d200845952f80d80698771d83ccc1fc7f236dbee4c76b2bb4]\n[key.wy = 5a04b24c88cd40233fb43c59ea5cf2cb9510d16b1168bc126db64aaf9ab07a7453208fde079095966272bf03bc3312c9b9bab8c795ae375e8a0e8dd81c924e7c27]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004008e859e66d1237fdc928a4b954954fef565d203a0731d065d9df41a4fd3812b1cc2487053ea19ce839d200845952f80d80698771d83ccc1fc7f236dbee4c76b2bb4005a04b24c88cd40233fb43c59ea5cf2cb9510d16b1168bc126db64aaf9ab07a7453208fde079095966272bf03bc3312c9b9bab8c795ae375e8a0e8dd81c924e7c27]\n[sha = SHA-512]\n\n# tcId = 424\n# extreme value for k\nmsg = 313233343030\nresult = valid\nsig = 308187024200c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd6602410eb10e5ab95f2f26a40700b1300fb8c3c8d5384ffbecf1fdb9e11e67cb7fd6a7f503e6e25ac09bb88b6c3983df764d4d72bc2920e233f0f7974a234a21b00bb447\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 0400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650]\n[key.wx = 00c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66]\n[key.wy = 011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650]\n[sha = SHA-512]\n\n# tcId = 425\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 308185024043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc0241492492492492492492492492492492492492492492492492492492492492492491795c5c808906cc587ff89278234a8566e3f565f5ca840a3d887dac7214bee9b8\n\n# tcId = 426\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 308187024201ffbc07ff041506dc73a75086a43252fb43b6327af3c6b2cc7d6acca94fdcdefd78dc0b56a22d16f2eec26ae0c1fb484d059300e80bd6b0472b3d1222ff5d08b03d0241492492492492492492492492492492492492492492492492492492492492492491795c5c808906cc587ff89278234a8566e3f565f5ca840a3d887dac7214bee9b8\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 0400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd6600e7c6d6958765c43ffba375a04bd382e426670abbb6a864bb97e85042e8d8c199d368118d66a10bd9bf3aaf46fec052f89ecac38f795d8d3dbf77416b89602e99af]\n[key.wx = 00c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66]\n[key.wy = 00e7c6d6958765c43ffba375a04bd382e426670abbb6a864bb97e85042e8d8c199d368118d66a10bd9bf3aaf46fec052f89ecac38f795d8d3dbf77416b89602e99af]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd6600e7c6d6958765c43ffba375a04bd382e426670abbb6a864bb97e85042e8d8c199d368118d66a10bd9bf3aaf46fec052f89ecac38f795d8d3dbf77416b89602e99af]\n[sha = SHA-512]\n\n# tcId = 427\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 308185024043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc0241492492492492492492492492492492492492492492492492492492492492492491795c5c808906cc587ff89278234a8566e3f565f5ca840a3d887dac7214bee9b8\n\n# tcId = 428\n# testing point duplication\nmsg = 313233343030\nresult = invalid\nsig = 308187024201ffbc07ff041506dc73a75086a43252fb43b6327af3c6b2cc7d6acca94fdcdefd78dc0b56a22d16f2eec26ae0c1fb484d059300e80bd6b0472b3d1222ff5d08b03d0241492492492492492492492492492492492492492492492492492492492492492491795c5c808906cc587ff89278234a8566e3f565f5ca840a3d887dac7214bee9b8\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 04012a908bfc5b70e17bdfae74294994808bf2a42dab59af8b0523a026d640a2a3d6d344520b62177e2cfa339ca42fb0883ec425904fbda2833a3b5b0a9a00811365d8012333d532f8f8eb1a623c378a3694651192bbda833e3b8d7b8f90b2bfc9b045f8a55e1b6a5fe1512c400c4bc9c86fd7c699d642f5cee9bb827c8b0abc0da01cef1e]\n[key.wx = 012a908bfc5b70e17bdfae74294994808bf2a42dab59af8b0523a026d640a2a3d6d344520b62177e2cfa339ca42fb0883ec425904fbda2833a3b5b0a9a00811365d8]\n[key.wy = 012333d532f8f8eb1a623c378a3694651192bbda833e3b8d7b8f90b2bfc9b045f8a55e1b6a5fe1512c400c4bc9c86fd7c699d642f5cee9bb827c8b0abc0da01cef1e]\n[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004012a908bfc5b70e17bdfae74294994808bf2a42dab59af8b0523a026d640a2a3d6d344520b62177e2cfa339ca42fb0883ec425904fbda2833a3b5b0a9a00811365d8012333d532f8f8eb1a623c378a3694651192bbda833e3b8d7b8f90b2", + "bfc9b045f8a55e1b6a5fe1512c400c4bc9c86fd7c699d642f5cee9bb827c8b0abc0da01cef1e]\n[sha = SHA-512]\n\n# tcId = 429\n# pseudorandom signature\nmsg = \nresult = valid\nsig = 308188024201625d6115092a8e2ee21b9f8a425aa73814dec8b2335e86150ab4229f5a3421d2e6256d632c7a4365a1ee01dd2a936921bbb4551a512d1d4b5a56c314e4a02534c5024201b792d23f2649862595451055777bda1b02dc6cc8fef23231e44b921b16155cd42257441d75a790371e91819f0a9b1fd0ebd02c90b5b774527746ed9bfe743dbe2f\n\n# tcId = 430\n# pseudorandom signature\nmsg = 4d7367\nresult = valid\nsig = 30818602415adc833cbc1d6141ced457bab2b01b0814054d7a28fa8bb2925d1e7525b7cf7d5c938a17abfb33426dcc05ce8d44db02f53a75ea04017dca51e1fbb14ce3311b1402415f69b2a6de129147a8437b79c72315d35173d88c2d6119085c90dae8ec05c55e067e7dfa4f681035e3dccab099291c0ecf4428332a9cb0736d16e79111ac76d766\n\n# tcId = 431\n# pseudorandom signature\nmsg = 313233343030\nresult = valid\nsig = 3081880242014141e4d94a58c1e747cbd9ee6670a41eac3c26fb4db3248e45d583179076e6b19a8e2003657a108f91f9a103157edff9b37df2b436a77dc112927d907ac9ba258702420108afa91b34bd904c680471e943af336fb90c5fb2b91401a58c9b1f467bf81af8049965dd8b45f12e152f4f7fd3780e3492f31ed2680d4777fbe655fe779ad897ab\n\n# tcId = 432\n# pseudorandom signature\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 308187024108135d3f1ae9e26fba825643ed8a29d63d7843720e93566aa09db2bdf5aaa69afbcc0c51e5295c298f305ba7b870f0a85bb5699cdf40764aab59418f77c6ffb4520242011d345256887fb351f5700961a7d47572e0d669056cb1d5619345c0c987f3331c2fe2c6df848a5c610422defd6212b64346161aa871ae55b1fe4add5f68836eb181\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 0400304b3d071ed1ef302391b566af8c9d1cb7afe9aabc141ac39ab39676c63e48c1b2c6451eb460e452bd573e1fb5f15b8e5f9c03f634d8db6897285064b3ce9bd98a00000000009b98bfd33398c2cf8606fc0ae468b6d617ccb3e704af3b8506642a775d5b4da9d00209364a9f0a4ad77cbac604a015c97e6b5a18844a589a4f1c7d9625]\n[key.wx = 304b3d071ed1ef302391b566af8c9d1cb7afe9aabc141ac39ab39676c63e48c1b2c6451eb460e452bd573e1fb5f15b8e5f9c03f634d8db6897285064b3ce9bd98a]\n[key.wy = 009b98bfd33398c2cf8606fc0ae468b6d617ccb3e704af3b8506642a775d5b4da9d00209364a9f0a4ad77cbac604a015c97e6b5a18844a589a4f1c7d9625]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400304b3d071ed1ef302391b566af8c9d1cb7afe9aabc141ac39ab39676c63e48c1b2c6451eb460e452bd573e1fb5f15b8e5f9c03f634d8db6897285064b3ce9bd98a00000000009b98bfd33398c2cf8606fc0ae468b6d617ccb3e704af3b8506642a775d5b4da9d00209364a9f0a4ad77cbac604a015c97e6b5a18844a589a4f1c7d9625]\n[sha = SHA-512]\n\n# tcId = 433\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 3081870242011c9684af6dc52728410473c63053b01c358d67e81f8a1324ad711c60481a4a86dd3e75de20ca55ce7a9a39b1f82fd5da4fadf26a5bb8edd467af8825efe4746218024134c058aba6488d6943e11e0d1348429449ea17ac5edf8bcaf654106b98b2ddf346c537b8a9a3f9b3174b77637d220ef5318dbbc33d0aac0fe2ddeda17b23cb2de6\n\n# tcId = 434\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 30818702417c47a668625648cd8a31ac92174cf3d61041f7ad292588def6ed143b1ff9a288fd20cf36f58d4bfe4b2cd4a381d4da50c8eda5674f020449ae1d3dd77e44ed485e024201058e86b327d284e35bab49fc7c335417573f310afa9e1a53566e0fae516e099007965030f6f46b077116353f26cb466d1cf3f35300d744d2d8f883c8a31b43c20d\n\n# tcId = 435\n# y-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 308188024201e4e9f3a7b800de63407b8703ac545226541c97a673566711f70e2b9ccb21a145ad4637825b023d1ea9f18e60897413711611a85c1179bff9c107368f1c1b61c24c024201de948ee577c3d4e4122a52ecccac59abb6fa937dfb3e4b988cb243efe98740309452ba013112b225b3b1b1384d5f68796845199a2602a8d4505a331b07d101188e\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 0400304b3d071ed1ef302391b566af8c9d1cb7afe9aabc141ac39ab39676c63e48c1b2c6451eb460e452bd573e1fb5f15b8e5f9c03f634d8db6897285064b3ce9bd98a01ffffffff6467402ccc673d3079f903f51b974929e8334c18fb50c47af99bd588a2a4b2562ffdf6c9b560f5b528834539fb5fea368194a5e77bb5a765b0e38269da]\n[key.wx = 304b3d071ed1ef302391b566af8c9d1cb7afe9aabc141ac39ab39676c63e48c1b2c6451eb460e452bd573e1fb5f15b8e5f9c03f634d8db6897285064b3ce9bd98a]\n[key.wy = 01ffffffff6467402ccc673d3079f903f51b974929e8334c18fb50c47af99bd588a2a4b2562ffdf6c9b560f5b528834539fb5fea368194a5e77bb5a765b0e38269da]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400304b3d071ed1ef302391b566af8c9d1cb7afe9aabc141ac39ab39676c63e48c1b2c6451eb460e452bd573e1fb5f15b8e5f9c03f634d8db6897285064b3ce9bd98a01ffffffff6467402ccc673d3079f903f51b974929e8334c18fb50c47af99bd588a2a4b2562ffdf6c9b560f5b528834539fb5fea368194a5e77bb5a765b0e38269da]\n[sha = SHA-512]\n\n# tcId = 436\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 308187024200b6cf64861a2b16e33976095dbf45a592c7c24228c4a1dd727f303d5eeb87e5388ad05c328f824c40abd3e6ce003fef5cd59dee0069ad6348ea6e57f90f6bdc0a820241228181c180366e5451dfef3593ce664804cb42d5a8d5046b816b3daf6602fafd9ac2dc24b8c93a10024480882558b6ad3d9e905923dcd0fd2a11964754a9b46b8f\n\n# tcId = 437\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 30818802420093c8f766827d6dc15c810fa30433153a5e742859205ee8389fbf695c8840dc917440870acc5b160087ffd0cd9a6081029c60a7c26d5e8aa9a0570f4efdeb13dea20242012ec3bbf75a0ad3df40310266648a36db820217ed7fa94e9c8313e03293ef4f6a40e736fb8f208ad8fb883ca509d48046910523645459c27829d54431463b2548c7\n\n# tcId = 438\n# y-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 30818802420152388c6da66164b706b41dd4dd48176d6eaf6525f876ef0ff2d147f6966ebfadf1767fa66d04203d3ec9c937a1f0c945aed953e34be444c219fd3b94d3277aa652024201658c1e5b2e563a49d11c883d05c491d628f0a92c3e3dc8db9a4c8d5f0dc846ac22af8b3c5fb5bbe2cfa98614dcffd87de1cee2c5912a5899505a0c5bcaa513e2c6\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 040000000002fba6a061201ea6b1ed4265163568735ebab78600cdf6a71101dc63beaf546d97a214fc6396793b014eb1aa7a728f53deb2ff9999a3808ddfed15e9629b01993852dadc39299a5a45b6bd7c8dc8ec67e7adbb359fa8fa5d44977e15e2e5a9acf0c33645f3f2c68c526e07732fb35043719cfafc16063c8e58850a958436a4e5]\n[key.wx = 02fba6a061201ea6b1ed4265163568735ebab78600cdf6a71101dc63beaf546d97a214fc6396793b014eb1aa7a728f53deb2ff9999a3808ddfed15e9629b]\n[key.wy = 01993852dadc39299a5a45b6bd7c8dc8ec67e7adbb359fa8fa5d44977e15e2e5a9acf0c33645f3f2c68c526e07732fb35043719cfafc16063c8e58850a958436a4e5]\n[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040000000002fba6a061201ea6b1ed4265163568735ebab78600cdf6a71101dc63beaf546d97a214fc6396793b014eb1aa7a728f53deb2ff9999a3808ddfed15e9629b01993852dadc39299a5a45b6bd7c8dc8ec67e7adbb359fa8fa5d44977e15e2e5a9acf0c33645f3f2c68c526e07732fb35043719cfafc16063c8e58850a958436a4e5]\n[sha = SHA-512]\n\n# tcId = 439\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 3081880242010e89470f981d2c7c5c96587121a67323bb96ff2427739d0d885ea277293efa3b25c0bda04d81466198a3cbfc441f1b1b98f6bcdc2589d9d91a17a7899f70d0461e0242017351b0da8c8d0e4aa0974669d190fa2f90aa50227160594dfb55755002365441de17ea42902128a6f81e554177ed509c0cec31fd5053fae03f62ff76579ba92bda\n\n# tcId = 440\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 3081880242011094ac23ca46a3e2b4ac3baae6504f1bfb3ddf2db9ab40eda32d8e0a05727998f8552a033bb05241e826a86a1d03014eae3aa5fe1a45caac1db3e8138b9cf5906802420147edb15a5080ee2f929f78b6ac86604aae51b674fa46eaae7fdfd90bf64d6189341155f4eba937eae74c9e480eb4fb7e6aafd4285e7fc503ee6ec20f0b1415be06\n\n# tcId = 441\n# x-coordinate of the public key is small\nmsg = 4d657373616765\nresult = valid\nsig = 308188024201d876ae174da31e128babff9f1d15507660bdc7958750844dc4f4291f75a882a22f177f704be6067bf7ce8f06b8626d971e6ef5dcb666fa975c1e11126e04fccce2024201abb12630a68b669e6ad2d8d62654d75dfbc6b54a8e3a9c915be663e080ddcc348e57a10e2b1dd9f03e1b897796ad889b075e5919dc5bf37a112d92c693456e6457\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 0401fffffffe1d5d52b31ca52f8947a35593edf164cd324f833b90935846c64db1454df9f028dc8bc36bb04cb7f0cceceba01a3844097f7c35eeaa81428db0cca6333101b7c70277d0bf78a3c7b62c937f0cb2cad2565f5514f6205ceb1a193d4fdb45ba6e6cec07827bae0b16b8316c3539a15114d", + "0de6d2de407fd7117551a70826eada6]\n[key.wx = 01fffffffe1d5d52b31ca52f8947a35593edf164cd324f833b90935846c64db1454df9f028dc8bc36bb04cb7f0cceceba01a3844097f7c35eeaa81428db0cca63331]\n[key.wy = 01b7c70277d0bf78a3c7b62c937f0cb2cad2565f5514f6205ceb1a193d4fdb45ba6e6cec07827bae0b16b8316c3539a15114d0de6d2de407fd7117551a70826eada6]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401fffffffe1d5d52b31ca52f8947a35593edf164cd324f833b90935846c64db1454df9f028dc8bc36bb04cb7f0cceceba01a3844097f7c35eeaa81428db0cca6333101b7c70277d0bf78a3c7b62c937f0cb2cad2565f5514f6205ceb1a193d4fdb45ba6e6cec07827bae0b16b8316c3539a15114d0de6d2de407fd7117551a70826eada6]\n[sha = SHA-512]\n\n# tcId = 442\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 30818602414ed692af1ed1b4bd5cea3aa8ddc6f3f15d8a6ee0016fa0e8eb958580e7421832ecc0e387c34aafac6380bac419ea45c42ae6426af503847f22c49c2f456338c1a702417aceadde02ace1668bc1a3360d34e125afde230f536c154d91e6c876bee1d34ae06edcbbca0c7cd17646840913164740b12e2e224fe3ef3dec6fd84a81b581c188\n\n# tcId = 443\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 308188024200e01094048fcf7a1e2ec66faedffc40f48c9c93514325bde6b4958d80f0413efde7eec1dc6de65f96009c069397e51da2eb1729efa287afd5552b25a9e427a6d836024201489e7e124f66942e642de992e60b3a86fcce576767719390c3a312fcdeaa560a7fbb0cabb35e05a6d6f3499160fd2dba12d29b613b16dec7494c950d65fdf11fa3\n\n# tcId = 444\n# x-coordinate of the public key is large\nmsg = 4d657373616765\nresult = valid\nsig = 308188024201d296292213380de133dc66eceb8bd857a5c468afe855c05da9db937373b51f9020ca11353415da76bb6af997a486d2370e31adcc0a4531952a3b59428678ee59430242015979a3c609c2c2099ae1b290da3d613b248e3a10de7ad770dffc82fb33e74fc3207533f97285cf4557a6407e9a775e59efeaee4264b2634933a6baf8c406f0c4a9\n\n[key.curve = secp521r1]\n[key.keySize = 521]\n[key.type = EcPublicKey]\n[key.uncompressed = 0400c7c8817bf2f0652a4a4b5140c773e261080a0a111395856e8a3350f5eb5612bd63b367b965e92e9538ea3b7908aef1ade4b68e17f9f9148495c167d1c4dd4913490008bf0be2979abb8111fd0d768adcad774113a822c1bb60887053b5cf8c9563e76705a391ece154b5dfb114b20e351df4014bec19fa87720845801cf06b7fffffff]\n[key.wx = 00c7c8817bf2f0652a4a4b5140c773e261080a0a111395856e8a3350f5eb5612bd63b367b965e92e9538ea3b7908aef1ade4b68e17f9f9148495c167d1c4dd491349]\n[key.wy = 08bf0be2979abb8111fd0d768adcad774113a822c1bb60887053b5cf8c9563e76705a391ece154b5dfb114b20e351df4014bec19fa87720845801cf06b7fffffff]\n[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400c7c8817bf2f0652a4a4b5140c773e261080a0a111395856e8a3350f5eb5612bd63b367b965e92e9538ea3b7908aef1ade4b68e17f9f9148495c167d1c4dd4913490008bf0be2979abb8111fd0d768adcad774113a822c1bb60887053b5cf8c9563e76705a391ece154b5dfb114b20e351df4014bec19fa87720845801cf06b7fffffff]\n[sha = SHA-512]\n\n# tcId = 445\n# y-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 308188024201ef8f785c51a25ae2cd93487b5c848d4af133217a91f51359c966e7538e68743578122df5830002f96f6fadb5bc44480e3b3b2c804e4c51cf95d059d5646c5cef21024201ba2276cc003e87bea37c3724e58a0ab885f56d09b8b5718f674f9c70f3b5ecfb4ad1f3417b420ec40810e08826efa7d8ad6ca7c6a7840348097f92b2de8d6e080b\n\n# tcId = 446\n# y-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 30818802420155978adc4b570d897511f5ecfb65a31947e6e989da17dea716625bb3fa7b92b853623eb0cd9ce2a5e2b4d8c1c2a90ec04fe79d012576ec728a45c5ce47c6d500c0024200f79fa8b94ee282a3d1815892cbf15d7ebdf62cb042c76bb3c710c23e32b75992cc249d84072198e4ed63d72435a07d2ed76f278d7399f61a5b5c997f45692fed22\n\n# tcId = 447\n# y-coordinate of the public key has many trailing 1's\nmsg = 4d657373616765\nresult = valid\nsig = 308188024201a2af29c58184ca861e7cd931f39cea064b199eee563f241cd5ecf6ebb2ade728f1be23cf007ebe8ef0c42d99f9f5190f6815446afc3043a820d7daf27e86b83b8a024201a2acd1822eb539383defff8769aad8bacd50cd24ca7aa6670671418110177808c3f4fbe6041b9cb898359ee61e04824adedd62b39fe5791907a20586333bd3c76d\n\n", }; -static const size_t kLen74 = 33597; +static const size_t kLen107 = 52032; -static const char *kData74[] = { - "# Imported from Wycheproof's eddsa_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: EDDSA\n# Generator version: 0.4.12\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = 7d4d0e7f6153a69b6242b522abbee685fda4420f8834b108c3bdae369ef549fa]\n[key.sk = add4bb8103785baf9ac534258e8aaf65f5f1adb5ef5f3df19bb80ab989c4d64b]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b65700321007d4d0e7f6153a69b6242b522abbee685fda4420f8834b108c3bdae369ef549fa]\n\n# tcId = 1\nmsg = \nresult = valid\nsig = d4fbdb52bfa726b44d1786a8c0d171c3e62ca83c9e5bbe63de0bb2483f8fd6cc1429ab72cafc41ab56af02ff8fcc43b99bfe4c7ae940f60f38ebaa9d311c4007\n\n# tcId = 2\nmsg = 78\nresult = valid\nsig = d80737358ede548acb173ef7e0399f83392fe8125b2ce877de7975d8b726ef5b1e76632280ee38afad12125ea44b961bf92f1178c9fa819d020869975bcbe109\n\n# tcId = 3\nmsg = 54657374\nresult = valid\nsig = 7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab07a9155711ecfaf7f99f277bad0c6ae7e39d4eef676573336a5c51eb6f946b30d\n\n# tcId = 4\nmsg = 48656c6c6f\nresult = valid\nsig = 1c1ad976cbaae3b31dee07971cf92c928ce2091a85f5899f5e11ecec90fc9f8e93df18c5037ec9b29c07195ad284e63d548cd0a6fe358cc775bd6c1608d2c905\n\n# tcId = 5\nmsg = 313233343030\nresult = valid\nsig = 657c1492402ab5ce03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281c2bf0cf5b3a289976458a1be6277a5055545253b45b07dcc1abd96c8b989c00f301\n\n# tcId = 6\nmsg = 000000000000000000000000\nresult = valid\nsig = d46543bfb892f84ec124dcdfc847034c19363bf3fc2fa89b1267833a14856e52e60736918783f950b6f1dd8d40dc343247cd43ce054c2d68ef974f7ed0f3c60f\n\n# tcId = 7\nmsg = 6161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161\nresult = valid\nsig = 879350045543bc14ed2c08939b68c30d22251d83e018cacbaf0c9d7a48db577e80bdf76ce99e5926762bc13b7b3483260a5ef63d07e34b58eb9c14621ac92f00\n\n# tcId = 8\nmsg = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60\nresult = valid\nsig = 7bdc3f9919a05f1d5db4a3ada896094f6871c1f37afc75db82ec3147d84d6f237b7e5ecc26b59cfea0c7eaf1052dc427b0f724615be9c3d3e01356c65b9b5109\n\n# tcId = 9\nmsg = ffffffffffffffffffffffffffffffff\nresult = valid\nsig = 5dbd7360e55aa38e855d6ad48c34bd35b7871628508906861a7c4776765ed7d1e13d910faabd689ec8618b78295c8ab8f0e19c8b4b43eb8685778499e943ae04\n\n# tcId = 10\n# special values for r and s\nmsg = 3f\nresult = invalid\nsig = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 11\n# special values for r and s\nmsg = 3f\nresult = invalid\nsig = 00000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 12\n# special values for r and s\nmsg = 3f\nresult = invalid\nsig = 0000000000000000000000000000000000000000000000000000000000000000ecd3f55c1a631258d69cf7a2def9de1400000000000000000000000000000010\n\n# tcId = 13\n# special values for r and s\nmsg = 3f\nresult = invalid\nsig = 0000000000000000000000000000000000000000000000000000000000000000edd3f55c1a631258d69cf7a2def9de1400000000000000000000000000000010\n\n# tcId = 14\n# special values for r and s\nmsg = 3f\nresult = invalid\nsig = 0000000000000000000000000000000000000000000000000000000000000000edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\n\n# tcId = 15\n# special values for r and s\nmsg = 3f\nresult = invalid\nsig = 01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 16\n# special values for r and s\nmsg = 3f\nresult = invalid\nsig = 01000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 17\n# special values for r and s\nmsg = 3f\nresult = invalid\nsig = 0100000000000000000000000000000000000000000000000000000000000000ecd3f55c1a631258d69cf7a2def9de1400000000000000000000000000000010\n\n# tcId = 18\n# special values for r and s\nmsg = 3f\nresult = invalid\nsig = 0100000000000000000000000000000000000000000000000000000000000000edd3f55c1a631258d69cf7a2def9de1400000000000000000000000000000010\n\n# tcId = 19\n# special values for r and s\nmsg = 3f\nresult = invalid\nsig = 0100000000000000000000000000000000000000000000000000000000000000edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\n\n# tcId = 20\n# special values for r and s\nmsg = 3f\nresult = invalid\nsig = edd3f55c1a631258d69cf7a2def9de14000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 21\n# special values for r and s\nmsg = 3f\nresult = invalid\nsig = edd3f55c1a631258d69cf7a2def9de14000000000000000000000000000000100100000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 22\n# special values for r and s\nmsg = 3f\nresult = invalid\nsig = edd3f55c1a631258d69cf7a2def9de1400000000000000000000000000000010ecd3f55c1a631258d69cf7a2def9de1400000000000000000000000000000010\n\n# tcId = 23\n# special values for r and s\nmsg = 3f\nresult = invalid\nsig = edd3f55c1a631258d69cf7a2def9de1400000000000000000000000000000010edd3f55c1a631258d69cf7a2def9de1400000000000000000000000000000010\n\n# tcId = 24\n# special values for r and s\nmsg = 3f\nresult = invalid\nsig = edd3f55c1a631258d69cf7a2def9de1400000000000000000000000000000010edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\n\n# tcId = 25\n# special values for r and s\nmsg = 3f\nresult = invalid\nsig = edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 26\n# special values for r and s\nmsg = 3f\nresult = invalid\nsig = edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0100000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 27\n# special values for r and s\nmsg = 3f\nresult = invalid\nsig = edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fecd3f55c1a631258d69cf7a2def9de1400000000000000000000000000000010\n\n# tcId = 28\n# special values for r and s\nmsg = 3f\nresult = invalid\nsig = edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fedd3f55c1a631258d69cf7a2def9de1400000000000000000000000000000010\n\n# tcId = 29\n# special values for r and s\nmsg = 3f\nresult = invalid\nsig = edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fedffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\n\n# tcId = 30\n# empty signature\nmsg = 54657374\nresult = invalid\nsig = \n\n# tcId = 31\n# s missing\nmsg = 54657374\nresult = invalid\nsig = 7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab0\n\n# tcId = 32\n# signature too short\nmsg = 54657374\nresult = invalid\nsig = 7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab07a9155711ecfaf7f99f277bad0c6ae7e39d4eef676573336a5c51eb6f946\n\n# tcId = 33\n# signature too long\nmsg = 54657374\nresult = invalid\nsig = 7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab07a9155711ecfaf7f99f277bad0c6ae7e39d4eef676573336a5c51eb6f946b30d2020\n\n# tcId = 34\n# include pk in signature\nmsg = 54657374\nresult = invalid\nsig = 7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab07a9155711ecfaf7f99f277bad0c6ae7e39d4eef676573336a5c51eb6f946b30d7d4d0e7f6153a69b6242b522abbee685fda4420f8834b108c3bdae369ef549fa\n\n# tcId = 35\n# prepending 0 byte to signature\nmsg = 54657374\nresult = invalid\nsig = 007c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab07a9155711ecfaf7f99f277bad0c6ae7e39d4eef676573336a5c51eb6f946b30d\n\n# tcId = 36\n# prepending 0 byte to s\nmsg = 54657374\nresult = invalid\nsig = 7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab0007a9155711ecfaf7f99f277bad0c6ae7e39d4eef676573336a5c51eb6f946b30d\n\n# tcId = 37\n# appending 0 byte to signature\nmsg = 54657374\nresult = invalid\nsig = 7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab07a9155711ecfaf7f99f277bad0c6ae7e39d4eef676573336a5c51eb6f946b30d00\n\n# tcId = 38\n# removing 0 byte from signature\nmsg = 546573743137\nresult = invalid\nsig = 7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab07a9155711ecfaf7f99f277bad0c6ae7e39d4eef676573336a5c51eb6f946b3\n\n# tcId = 39\n# removing 0 byte from signature\nms", - "g = 54657374313236\nresult = invalid\nsig = 7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab09155711ecfaf7f99f277bad0c6ae7e39d4eef676573336a5c51eb6f946b30d\n\n# tcId = 40\n# removing leading 0 byte from signature\nmsg = 546573743530\nresult = invalid\nsig = 38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab07a9155711ecfaf7f99f277bad0c6ae7e39d4eef676573336a5c51eb6f946b30d\n\n# tcId = 41\n# dropping byte from signature\nmsg = 54657374333437\nresult = invalid\nsig = 7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab09155711ecfaf7f99f277bad0c6ae7e39d4eef676573336a5c51eb6f946b30d\n\n# tcId = 42\n# modified bit 0 in R\nmsg = 313233343030\nresult = invalid\nsig = 647c1492402ab5ce03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281c2b1d125e5538f38afbcc1c84e489521083041d24bc6240767029da063271a1ff0c\n\n# tcId = 43\n# modified bit 1 in R\nmsg = 313233343030\nresult = invalid\nsig = 677c1492402ab5ce03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281c2bc108ca4b87a49c9ed2cf383aecad8f54a962b2899da891e12004d7993a627e01\n\n# tcId = 44\n# modified bit 2 in R\nmsg = 313233343030\nresult = invalid\nsig = 617c1492402ab5ce03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281c2b9ce23fc6213ed5b87912e9bbf92f5e2c780eae26d15c50a112d1e97d2ea33c06\n\n# tcId = 45\n# modified bit 7 in R\nmsg = 313233343030\nresult = invalid\nsig = e57c1492402ab5ce03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281c2bbb3eb51cd98dddb235a5f46f2bded6af184a58d09cce928bda43f41d69118a03\n\n# tcId = 46\n# modified bit 8 in R\nmsg = 313233343030\nresult = invalid\nsig = 657d1492402ab5ce03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281c2bcd237dda9a116501f67a5705a854b9adc304f34720803a91b324f2c13e0f5a09\n\n# tcId = 47\n# modified bit 16 in R\nmsg = 313233343030\nresult = invalid\nsig = 657c1592402ab5ce03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281c2b6b167bbdc0d881cc04d28905552c1876f3709851abc5007376940cc8a435c300\n\n# tcId = 48\n# modified bit 31 in R\nmsg = 313233343030\nresult = invalid\nsig = 657c1412402ab5ce03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281c2b7fd2ac7da14afffcceeb13f2a0d6b887941cb1a5eb57a52f3cb131a16cce7b0e\n\n# tcId = 49\n# modified bit 32 in R\nmsg = 313233343030\nresult = invalid\nsig = 657c1492412ab5ce03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281c2b7373ba13ebbef99cd2a8ead55ce735c987d85a35320925a8e871702dc7c5c40d\n\n# tcId = 50\n# modified bit 63 in R\nmsg = 313233343030\nresult = invalid\nsig = 657c1492402ab54e03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281c2bd35bd331c03f0855504ca1cab87b83c36a028425a3cf007ede4f4254c261cb00\n\n# tcId = 51\n# modified bit 64 in R\nmsg = 313233343030\nresult = invalid\nsig = 657c1492402ab5ce02e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281c2bcb35101f73cf467deac8c1a03b6c3dc35af544132734b7e57ab20c89b2e4750d\n\n# tcId = 52\n# modified bit 97 in R\nmsg = 313233343030\nresult = invalid\nsig = 657c1492402ab5ce03e2c3a7f2384d051b9cf3570f1207fc78c1bcc98c281c2bb58d2e8878290bff8d3355fdd4ea381924ee578752354eb6dee678ab4011c301\n\n# tcId = 53\n# modified bit 127 in R\nmsg = 313233343030\nresult = invalid\nsig = 657c1492402ab5ce03e2c3a7f0384d851b9cf3570f1207fc78c1bcc98c281c2bb978c866187ffb1cc7b29a0b4045aefc08768df65717194ff0c6e63f4dea0d02\n\n# tcId = 54\n# modified bit 240 in R\nmsg = 313233343030\nresult = invalid\nsig = 657c1492402ab5ce03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281d2b0576ecf8eaf675f00f3dfbe19f75b83b7607a6c96414f6821af920a2498d0305\n\n# tcId = 55\n# modified bit 247 in R\nmsg = 313233343030\nresult = invalid\nsig = 657c1492402ab5ce03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c289c2be5241a345c7b5428054c74b7c382fa10d4a5f1e8f8b79a71d3fdea2254f1ff0e\n\n# tcId = 56\n# modified bit 248 in R\nmsg = 313233343030\nresult = invalid\nsig = 657c1492402ab5ce03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281c2a63950c85cd6dc96364e768de50ff7732b538f8a0b1615d799190ab600849230e\n\n# tcId = 57\n# modified bit 253 in R\nmsg = 313233343030\nresult = invalid\nsig = 657c1492402ab5ce03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281c0b543bd3da0a56a8c9c152f59c9fec12f31fa66434d48b817b30d90cb4efa8b501\n\n# tcId = 58\n# modified bit 254 in R\nmsg = 313233343030\nresult = invalid\nsig = 657c1492402ab5ce03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281c6b8da07efd07a6dafb015ed6a32fe136319a972ffbc341f3a0beae97ccf8136505\n\n# tcId = 59\n# modified bit 255 in R\nmsg = 313233343030\nresult = invalid\nsig = 657c1492402ab5ce03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281cab227aedf259f910f0f3a759a335062665217925d019173b88917eae294f75d40f\n\n# tcId = 60\n# R==0\nmsg = 313233343030\nresult = invalid\nsig = 0000000000000000000000000000000000000000000000000000000000000000e0b8e7770d51c7a36375d006c5bffd6af43ff54aaf47e4330dc118c71d61ec02\n\n# tcId = 61\n# invalid R\nmsg = 313233343030\nresult = invalid\nsig = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff463a1908382e7eb7693acef9884f7cf931a215e0791876be22c631a59881fd0e\n\n# tcId = 62\n# all bits flipped in R\nmsg = 313233343030\nresult = invalid\nsig = 9a83eb6dbfd54a31fc1d3c580fc7b2fae4630ca8f0edf803873e433673d7e3d40e94254586cb6188c5386c3febed477cb9a6cb29e3979adc4cb27cf5278fb70a\n\n# tcId = 63\n# checking malleability \nmsg = 54657374\nresult = invalid\nsig = 7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab067654bce3832c2d76f8f6f5dafc08d9339d4eef676573336a5c51eb6f946b31d\n# EdDSA signatures are non-malleable, if implemented accordingly. Failing to\n# check the range of S allows to modify signatures. See RFC 8032, Section 5.2.7\n# and Section 8.4.\n\n# tcId = 64\n# checking malleability \nmsg = 54657374\nresult = invalid\nsig = 7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab05439412b5395d42f462c67008eba6ca839d4eef676573336a5c51eb6f946b32d\n# EdDSA signatures are non-malleable, if implemented accordingly. Failing to\n# check the range of S allows to modify signatures. See RFC 8032, Section 5.2.7\n# and Section 8.4.\n\n# tcId = 65\n# checking malleability \nmsg = 54657374\nresult = invalid\nsig = 7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab02ee12ce5875bf9dff26556464bae2ad239d4eef676573336a5c51eb6f946b34d\n# EdDSA signatures are non-malleable, if implemented accordingly. Failing to\n# check the range of S allows to modify signatures. See RFC 8032, Section 5.2.7\n# and Section 8.4.\n\n# tcId = 66\n# checking malleability \nmsg = 54657374\nresult = invalid\nsig = 7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab0e2300459f1e742404cd934d2c595a6253ad4eef676573336a5c51eb6f946b38d\n# EdDSA signatures are non-malleable, if implemented accordingly. Failing to\n# check the range of S allows to modify signatures. See RFC 8032, Section 5.2.7\n# and Section 8.4.\n\n# tcId = 67\n# checking malleability \nmsg = 54657374\nresult = invalid\nsig = 7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab07a9155711ecfaf7f99f277bad0c6ae7e39d4eef676573336a5c51eb6f946b32d\n# EdDSA signatures are non-malleable, if implemented accordingly. Failing to\n# check the range of S allows to modify signatures. See RFC 8032, Section 5.2.7\n# and Section 8.4.\n\n# tcId = 68\n# checking malleability \nmsg = 54657374\nresult = invalid\nsig = 7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab07a9155711ecfaf7f99f277bad0c6ae7e39d4eef676573336a5c51eb6f946b34d\n# EdDSA signatures are non-malleable, if implemented accordingly. Failing to\n# check the range of S allows to modify signatures. See RFC 8032, Section 5.2.7\n# and Section 8.4.\n\n# tcId = 69\n# checking malleability \nmsg = 54657374\nresult = invalid\nsig = 7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab07a9155711ecfaf7f99f277bad0c6ae7e39d4eef676573336a5c51eb6f946b38d\n# EdDSA signatures are non-malleable, if implemented accordingly. Failing to\n# check the range of S allows to modify signatures. See RFC 8032, Section 5.2.7\n# and Section 8.4.\n\n# tcId = 70\n# checking malleability \nmsg = 54657374\nresult = invalid\nsig = 7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab0679155711ecfaf7f99f277bad0c6ae7e39d4eef676573336a5c51eb6f946b38d\n# EdDSA signatures are non-malleable, if implemented accordingly. Failing to\n# check the range of S allows to modify signatures. See RFC 8032, Section 5.2.7\n# and Section 8.4.\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = a12c2beb77265f2aac953b5009349d94155a03ada416aad451319480e983ca4c]\n[key.sk = 0a23a20072891237aa0864b5765139514908787878cd77135a0059881d313f00]\n[key.type = ED", - "DSAKeyPair]\n[keyDer = 302a300506032b6570032100a12c2beb77265f2aac953b5009349d94155a03ada416aad451319480e983ca4c]\n\n# tcId = 71\nmsg = \nresult = valid\nsig = 5056325d2ab440bf30bbf0f7173199aa8b4e6fbc091cf3eb6bc6cf87cd73d992ffc216c85e4ab5b8a0bbc7e9a6e9f8d33b7f6e5ac0ffdc22d9fcaf784af84302\n\n# tcId = 72\nmsg = 78\nresult = valid\nsig = 481fafbf4364d7b682475282f517a3ac0538c9a6b6a562e99a3d8e5afb4f90a559b056b9f07af023905753b02d95eb329a35c77f154b79abbcd291615ce42f02\n\n# tcId = 73\nmsg = 54657374\nresult = valid\nsig = 8a9bb4c465a3863abc9fd0dd35d80bb28f7d33d37d74679802d63f82b20da114b8d765a1206b3e9ad7cf2b2d8d778bb8651f1fa992db293c0039eacb6161480f\n\n# tcId = 74\nmsg = 48656c6c6f\nresult = valid\nsig = d839c20abfda1fd429531831c64f813f84b913e9928540310cf060b44c3dbf9457d44a7721fdc0d67724ff81cb450dd39b10cfb65db15dda4b8bf09d26bd3801\n\n# tcId = 75\nmsg = 313233343030\nresult = valid\nsig = 9bbb1052dcfa8ad2715c2eb716ae4f1902dea353d42ee09fd4c0b4fcb8b52b5219e2200016e1199d0061891c263e31b0bc3b55673c19610c4e0fa5408004160b\n\n# tcId = 76\nmsg = 000000000000000000000000\nresult = valid\nsig = f63b5c0667c7897fc283296416f7f60e84bbde9cbd832e56be463ed9f568069702b17a2f7c341ebf590706a6388ac76ac613c1675ec0f2c7118f2573422a500b\n\n# tcId = 77\nmsg = 6161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161\nresult = valid\nsig = 1bc44d7001e6b5b9090fef34b2ca480f9786bbefa7d279353e5881e8dfb91b803ccd46500e270ef0109bfd741037558832120bc2a4f20fbe7b5fb3c3aaf23e08\n\n# tcId = 78\nmsg = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60\nresult = valid\nsig = ea8e22143b02372e76e99aece3ed36aec529768a27e2bb49bdc135d44378061e1f62d1ac518f33ebf37b2ee8cc6dde68a4bd7d4a2f4d6cb77f015f71ca9fc30d\n\n# tcId = 79\nmsg = ffffffffffffffffffffffffffffffff\nresult = valid\nsig = 8acd679e1a914fc45d5fa83d3021f0509c805c8d271df54e52f43cfbd00cb6222bf81d58fe1de2de378df67ee9f453786626961fe50a9b05f12b6f0899ebdd0a\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a]\n[key.sk = 9d61b19deffd5a60ba844af492ec2cc44449c5697b326919703bac031cae7f60]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b6570032100d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a]\n\n# tcId = 80\n# draft-josefsson-eddsa-ed25519-02: Test 1\nmsg = \nresult = valid\nsig = e5564300c360ac729086e2cc806e828a84877f1eb8e5d974d873e065224901555fb8821590a33bacc61e39701cf9b46bd25bf5f0595bbe24655141438e7a100b\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = 3d4017c3e843895a92b70aa74d1b7ebc9c982ccf2ec4968cc0cd55f12af4660c]\n[key.sk = 4ccd089b28ff96da9db6c346ec114e0f5b8a319f35aba624da8cf6ed4fb8a6fb]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b65700321003d4017c3e843895a92b70aa74d1b7ebc9c982ccf2ec4968cc0cd55f12af4660c]\n\n# tcId = 81\n# draft-josefsson-eddsa-ed25519-02: Test 2\nmsg = 72\nresult = valid\nsig = 92a009a9f0d4cab8720e820b5f642540a2b27b5416503f8fb3762223ebdb69da085ac1e43e15996e458f3613d0f11d8c387b2eaeb4302aeeb00d291612bb0c00\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = fc51cd8e6218a1a38da47ed00230f0580816ed13ba3303ac5deb911548908025]\n[key.sk = c5aa8df43f9f837bedb7442f31dcb7b166d38535076f094b85ce3a2e0b4458f7]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b6570032100fc51cd8e6218a1a38da47ed00230f0580816ed13ba3303ac5deb911548908025]\n\n# tcId = 82\n# draft-josefsson-eddsa-ed25519-02: Test 3\nmsg = af82\nresult = valid\nsig = 6291d657deec24024827e69c3abe01a30ce548a284743a445e3680d7db5ac3ac18ff9b538d16f290ae67f760984dc6594a7c15e9716ed28dc027beceea1ec40a\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = 278117fc144c72340f67d0f2316e8386ceffbf2b2428c9c51fef7c597f1d426e]\n[key.sk = f5e5767cf153319517630f226876b86c8160cc583bc013744c6bf255f5cc0ee5]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b6570032100278117fc144c72340f67d0f2316e8386ceffbf2b2428c9c51fef7c597f1d426e]\n\n# tcId = 83\n# draft-josefsson-eddsa-ed25519-02: Test 1024\nmsg = 08b8b2b733424243760fe426a4b54908632110a66c2f6591eabd3345e3e4eb98fa6e264bf09efe12ee50f8f54e9f77b1e355f6c50544e23fb1433ddf73be84d879de7c0046dc4996d9e773f4bc9efe5738829adb26c81b37c93a1b270b20329d658675fc6ea534e0810a4432826bf58c941efb65d57a338bbd2e26640f89ffbc1a858efcb8550ee3a5e1998bd177e93a7363c344fe6b199ee5d02e82d522c4feba15452f80288a821a579116ec6dad2b3b310da903401aa62100ab5d1a36553e06203b33890cc9b832f79ef80560ccb9a39ce767967ed628c6ad573cb116dbefefd75499da96bd68a8a97b928a8bbc103b6621fcde2beca1231d206be6cd9ec7aff6f6c94fcd7204ed3455c68c83f4a41da4af2b74ef5c53f1d8ac70bdcb7ed185ce81bd84359d44254d95629e9855a94a7c1958d1f8ada5d0532ed8a5aa3fb2d17ba70eb6248e594e1a2297acbbb39d502f1a8c6eb6f1ce22b3de1a1f40cc24554119a831a9aad6079cad88425de6bde1a9187ebb6092cf67bf2b13fd65f27088d78b7e883c8759d2c4f5c65adb7553878ad575f9fad878e80a0c9ba63bcbcc2732e69485bbc9c90bfbd62481d9089beccf80cfe2df16a2cf65bd92dd597b0707e0917af48bbb75fed413d238f5555a7a569d80c3414a8d0859dc65a46128bab27af87a71314f318c782b23ebfe808b82b0ce26401d2e22f04d83d1255dc51addd3b75a2b1ae0784504df543af8969be3ea7082ff7fc9888c144da2af58429ec96031dbcad3dad9af0dcbaaaf268cb8fcffead94f3c7ca495e056a9b47acdb751fb73e666c6c655ade8297297d07ad1ba5e43f1bca32301651339e22904cc8c42f58c30c04aafdb038dda0847dd988dcda6f3bfd15c4b4c4525004aa06eeff8ca61783aacec57fb3d1f92b0fe2fd1a85f6724517b65e614ad6808d6f6ee34dff7310fdc82aebfd904b01e1dc54b2927094b2db68d6f903b68401adebf5a7e08d78ff4ef5d63653a65040cf9bfd4aca7984a74d37145986780fc0b16ac451649de6188a7dbdf191f64b5fc5e2ab47b57f7f7276cd419c17a3ca8e1b939ae49e488acba6b965610b5480109c8b17b80e1b7b750dfc7598d5d5011fd2dcc5600a32ef5b52a1ecc820e308aa342721aac0943bf6686b64b2579376504ccc493d97e6aed3fb0f9cd71a43dd497f01f17c0e2cb3797aa2a2f256656168e6c496afc5fb93246f6b1116398a346f1a641f3b041e989f7914f90cc2c7fff357876e506b50d334ba77c225bc307ba537152f3f1610e4eafe595f6d9d90d11faa933a15ef1369546868a7f3a45a96768d40fd9d03412c091c6315cf4fde7cb68606937380db2eaaa707b4c4185c32eddcdd306705e4dc1ffc872eeee475a64dfac86aba41c0618983f8741c5ef68d3a101e8a3b8cac60c905c15fc910840b94c00a0b9d0\nresult = valid\nsig = 0aab4c900501b3e24d7cdf4663326a3a87df5e4843b2cbdb67cbf6e460fec350aa5371b1508f9f4528ecea23c436d94b5e8fcd4f681e30a6ac00a9704a188a03\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = 8fd659b77b558ed93882c1157438450ac86ec62d421d568e98ee236f3810295a]\n[key.sk = d7ad3f1f6bbe0477c3c357a806a19eb41ae3f94025035bc87f281f8ee9fc0e34]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b65700321008fd659b77b558ed93882c1157438450ac86ec62d421d568e98ee236f3810295a]\n\n# tcId = 84\n# Random test failure 1\nmsg = b0729a713593a92e46b56eaa66b9e435f7a09a8e7de03b078f6f282285276635f301e7aaafe42187c45d6f5b13f9f16b11195cc125c05b90d24dfe4c\nresult = valid\nsig = 7db17557ac470c0eda4eedaabce99197ab62565653cf911f632ee8be0e5ffcfc88fb94276b42e0798fd3aa2f0318be7fc6a29fae75f70c3dcdc414a0ad866601\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = 2a606bf67ac770c607038b004101b325edb569efd3413d2d1f2c3e6b4e6e3082]\n[key.sk = ad9b22793336fcdac10e136c4deea599be187a38eef91c1cf7c7a4ec884dda08]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b65700321002a606bf67ac770c607038b004101b325edb569efd3413d2d1f2c3e6b4e6e3082]\n\n# tcId = 85\n# Random test failure 2\nmsg = a8546e50ba31cae3234310d32672447be213fad91a227a19669c53d309b959782b0e6b71f8791fdb470043b58122003157d2d96a43a6cbd7d3a8d86bf4c97391883e268d50af80e1e6e12939c2bd50ca746cdadfad4edf1bda875299740724148efb1ebe73fb60088cda890317658627a5f7ab5a0c075d9d8f3f97b6492b35519e50ff6b38377432a7081f9176bb1c29a862deac1336ca20b097a47829cec10a6a7cec178eda2d12f6dc6c87f910454af0123555ba184e68804d9cced60fd5c8c90943e56599c8f0ba59a38491ba5e5a53460682474c07e40ca142983314fd762856bb1093f359da6eb0a756bd93a3160c10dd8feea6b97e7c6a17cb54bd5d7649c05c66d7bdee056671dfdaf689fa3945bb8e29a429f4bd5d355dce9687b06f01d5e33e3999f0e8\nresult = valid\nsig = 67d84d4c3945aaf06e06d524be63acbfb5dbb1988c4aea96a5ee9f7a9b9eecc29df4f66b8aa1d9e8607a58fb1ef0c2ad69aac005b4f58e34103344a9c8871a09\n\n# tcId = 86\n# Random test failure 24\nmsg = b477b0480bb84642608b908d29a51cf2fce63f24ee95\nresult = valid\nsig = 28fafbb62b4d688fa79e1ac92851f46e319b161f801d4dc09acc21fdd6780a2c4292b8c1003c61c2bcebe7f3f88ccc4bb26d407387c5f27cb8c94cf6ce810405\n", - "\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = c9c946cbc5544ac74eef491f07c5881c16faf7ec31ce4aa91bb60ae7b4539051]\n[key.sk = 04a6553d68a9baef78a2175af375458eaa01cdb77350c61e282ef5f0c7116599]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b6570032100c9c946cbc5544ac74eef491f07c5881c16faf7ec31ce4aa91bb60ae7b4539051]\n\n# tcId = 87\n# Random test failure 3\nmsg = cd2212eddb0706f62c995cef958634f0cb7793444cbf4d30e81c27c41ebea6cb02607510131f9c015692dfd521b148841e9a2d3564d20ac401f6cb8e40f520fe0cafbeaa88840b83013369d879f013463fe52a13267aa0c8c59c45cde9399cd1e6be8cc64cf48315ac2eb31a1c567a4fb7d601746d1f63b5ac020712adbbe07519bded6f\nresult = valid\nsig = 24087d47f3e20af51b9668ae0a88ce76586802d0ec75d8c0f28fc30962b5e1d1a1d509571a1624ed125a8df92a6e963728d6b5de99200b8e285f70feb6f05207\n\n# tcId = 88\n# Random test failure 20\nmsg = 27d465bc632743522aefa23c\nresult = valid\nsig = c2656951e2a0285585a51ff0eda7e9a23c2dfd2ffa273aee7808f4604e8f9a8c8ea49e9fce4eb2d8d75d36b7238fe6fc13b6c5d9427dd58f8c6615d033c0bd0f\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = 32ad026f693d0d2afe7f4388d91c4c964426fcb9e3665c3ebd8650009b815c8e]\n[key.sk = c367c8d2ebeeecd70c1e8985b70c3808b75657f243b21ba4f322792540e92257]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b657003210032ad026f693d0d2afe7f4388d91c4c964426fcb9e3665c3ebd8650009b815c8e]\n\n# tcId = 89\n# Random test failure 4\nmsg = ec5c7cb078\nresult = valid\nsig = d920d421a5956b69bfe1ba834c025e2babb6c7a6d78c97de1d9bb1116dfdd1185147b2887e34e15578172e150774275ea2aad9e02106f7e8ca1caa669a066f0c\n\n# tcId = 90\n# Random test failure 5\nmsg = 4668c6a76f0e482190a7175b9f3806a5fe4314a004fa69f988373f7a\nresult = valid\nsig = 4f62daf7f7c162038552ad7d306e195baa37ecf6ca7604142679d7d1128e1f8af52e4cb3545748c44ef1ff1c64e877e4f4d248259b7f6eb56e3ef72097dc8e0c\n\n# tcId = 91\n# Random test failure 8\nmsg = 5dc9bb87eb11621a93f92abe53515697d2611b2eef73\nresult = valid\nsig = deecafb6f2ede73fec91a6f10e45b9c1c61c4b9bfbe6b6147e2de0b1df6938971f7896c3ab83851fb5d9e537037bff0fca0ccb4a3cc38f056f91f7d7a0557e08\n\n# tcId = 92\n# Random test failure 10\nmsg = 7dcfe60f881e1285676f35b68a1b2dbcdd7be6f719a288ababc28d36e3a42ac3010a1ca54b32760e74\nresult = valid\nsig = 7f8663cf98cbd39d5ff553f00bcf3d0d520605794f8866ce75714d77cc51e66c91818b657d7b0dae430a68353506edc4a714c345f5ddb5c8b958ba3d035f7a01\n\n# tcId = 93\n# Random test failure 12\nmsg = 58e456064dff471109def4ca27fa8310a1df32739655b624f27e6418d34b7f007173f3faa5\nresult = valid\nsig = 6aab49e5c0bc309b783378ee03ffda282f0185cdf94c847701ff307a6ee8d0865411c44e0a8206f6a5f606107451940c2593af790ce1860f4c14ab25b2deae08\n\n# tcId = 94\n# Random test failure 15\nmsg = a1\nresult = valid\nsig = 1a74ed2cbdc7d8f3827014e8e6ecf8fd2698ac8f86833acccdd400df710fe0d6b0543c9cfa00d52bf024ab7ce0d91981944097233ec134d5c7abbd44bfd32d0d\n\n# tcId = 95\n# Random test failure 19\nmsg = 11cb1eafa4c42a8402c4193c4696f7b2e6d4585e4b42dcf1a8b67a80b2da80bc9d4b649fb2f35eaf1f56c426fd0b\nresult = valid\nsig = 14ceb2eaf4688d995d482f44852d71ad878cd7c77b41e60b0065fd01a59b054ee74759224187dbde9e59a763a70277c960892ef89fba997aba2576b2c54ba608\n\n# tcId = 96\n# Random test failure 25\nmsg = aa365b442d12b7f3c925\nresult = valid\nsig = 83c40ce13d483cc58ff65844875862d93df4bd367af77efa469ec06a8ed9e6d7905a04879535708ddf225567a815c9b941d405c98e918fd0c151165cea7fb101\n\n# tcId = 97\n# Random test failure 28\nmsg = 475f\nresult = valid\nsig = 71a4a06a34075f2fd47bc3abf4714d46db7e97b08cb6180d3f1539ac50b18ce51f8af8ae95ed21d4fa0daab7235925631ecea1fd9d0d8a2ba7a7583fd04b900c\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = c29ec1894e06d27b4e40486b4fa5063d66a746c7f9c323b12203c03b72b8b78a]\n[key.sk = 56c1e22d616cbb6dea869288b4b1c02bb98696583c2f6e650013a03e17049c62]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b6570032100c29ec1894e06d27b4e40486b4fa5063d66a746c7f9c323b12203c03b72b8b78a]\n\n# tcId = 98\n# Random test failure 6\nmsg = 0f325ffd87e58131ffa23c05ea4579513b287fdba87b44\nresult = valid\nsig = 6669acf94667c5b541afe5307bde9476b13ae7e0e6058a772101ac8eb0a94331428eb4db0a2c68a9b6c1763b8624dab259b0876cdcfaeacc17b21a18e3fc010a\n\n# tcId = 99\n# Random test failure 21\nmsg = 5ffa\nresult = valid\nsig = 931e5152fcef078c22cc5d6a3a65f06e396289f6f5f2d1efa6340254a53526ef5dc6874eeddf35c3f50991c53cd02bf06313e37d93ee1f7022128ffa3b8f300b\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = cfda5b899e35764c5229e59295fe1222b7ddce176643697c29e46ecbba10cf10]\n[key.sk = b7d2f64276df417fed27d8e15b4e90f6fd93dace707294c338bd32bc4bbd8fdb]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b6570032100cfda5b899e35764c5229e59295fe1222b7ddce176643697c29e46ecbba10cf10]\n\n# tcId = 100\n# Random test failure 7\nmsg = ec5c7cb078\nresult = valid\nsig = 30490c28f806298225df62103521dcee047153912c33ab8ab8bbdd1ffabd70fd4fdb360f05be535b067d1cf4e78c2cb432206bf280aab3bd21aaa1cb894c5b06\n\n# tcId = 101\n# Random test failure 9\nmsg = 67484059b2490b1a0a4f8dee77979e26\nresult = valid\nsig = 4cd4f77ed473a6647387f3163541c67a1708a3c3bd1673247cb87f0cb68b3c56f04bfa72970c8a483efe659c87009ab4020b590b6641316b3deddb5450544e02\n\n# tcId = 102\n# Random test failure 11\nmsg = a020a4381dc9141f47ee508871ab7a8b5a3648727c4281ae9932376f23a8e1bcda0626b7129197d864178631ec89c4332dbb18\nresult = valid\nsig = 1e41a24fe732bd7cab14c2a2f5134ee8c87fcbd2e987e60957ed9239e5c32404d56977e1b4282871896cb10625a1937468e4dc266e16a9c1b8e9891177eca802\n\n# tcId = 103\n# Random test failure 14\nmsg = a25176b3afea318b2ec11ddacb10caf7179c0b3f8eabbfa2895581138d3c1e0e\nresult = valid\nsig = 2a833aadecd9f28235cb5896bf3781521dc71f28af2e91dbe1735a61dce3e31ac15ca24b3fc47817a59d386bbbb2ce60a6adc0a2703bb2bdea8f70f91051f706\n\n# tcId = 104\n# Random test failure 18\nmsg = a9e6d94870a67a9fe1cf13b1e6f9150cdd407bf6480ec841ea586ae3935e9787163cf419c1\nresult = valid\nsig = c97e3190f83bae7729ba473ad46b420b8aad735f0808ea42c0f898ccfe6addd4fd9d9fa3355d5e67ee21ab7e1f805cd07f1fce980e307f4d7ad36cc924eef00c\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = 529919c9c780985a841c42ba6c180ff2d67a276ccfbe281080e47ab71a758f56]\n[key.sk = 7d597c3b7283929d07ed8f01f31d2596823e5e46ab226c7be4234d1a9dcaef37]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b6570032100529919c9c780985a841c42ba6c180ff2d67a276ccfbe281080e47ab71a758f56]\n\n# tcId = 105\n# Random test failure 13\nmsg = e1cbf2d86827825613fb7a85811d\nresult = valid\nsig = 01abfa4d6bbc726b196928ec84fd03f0c953a4fa2b228249562ff1442a4f63a7150b064f3712b51c2af768d2c2711a71aabf8d186833e941a0301b82f0502905\n\n# tcId = 106\n# Random test failure 22\nmsg = 25\nresult = valid\nsig = e4ae21f7a8f4b3b325c161a8c6e53e2edd7005b9c2f8a2e3b0ac4ba94aa80be6f2ee22ac8d4a96b9a3eb73a825e7bb5aff4a3393bf5b4a38119e9c9b1b041106\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = 2252b3d57c74cbf8bc460dc2e082847926bc022f09ab6ae95756362bfd1167c1]\n[key.sk = f401cee4bfb1732f0e9b8d8ba79469565c3115296141dbdf7e9c311a0ac1823b]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b65700321002252b3d57c74cbf8bc460dc2e082847926bc022f09ab6ae95756362bfd1167c1]\n\n# tcId = 107\n# Random test failure 16\nmsg = 975ef941710071a9e1e6325a0c860becd7c695b5117c3107b686e330e5\nresult = valid\nsig = af0fd9dda7e03e12313410d8d8844ebb6fe6b7f65141f22d7bcba5695a25414a9e54326fb44d59fb14707899a8aae70857b23d4080d7ab2c396ef3a36d45ce02\n\n# tcId = 108\n# Random test failure 23\nmsg = 80fdd6218f29c8c8f6bd820945f9b0854e3a8824\nresult = valid\nsig = e097e0bd0370bff5bde359175a11b728ee9639095d5df8eda496395565616edfe079977f7d4dc8c75d6113a83d6a55e6e1676408c0967a2906339b43337dcb01\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = c0a773110f975de3732355bb7ec7f0c41c091c0252966070205516693b992a4a]\n[key.sk = 3d658956410377d0644676d2599542412a4f3b0e4eadfb7f3f836615f42b18bc]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b6570032100c0a773110f975de3732355bb7ec7f0c41c091c0252966070205516693b992a4a]\n\n# tcId = 109\n# Random test failure 17\nmsg = \nresult = valid\nsig = 0280427e713378f49d478df6373c6cac847b622b567daa2376c839e7ac10e22c380ab0fa8617c9dcfe76c4d9db5459b21dc1413726e46cc8f387d359e344f407\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = 54cda623245759ad6d43e620a606908befc633d60792bc7798447a0ef38e7311]\n[key.sk = bccb61323840c2a96fc36f7e54ea6c8e55f9d221f7f05791ed60025e06064439]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b657003210054cda623245759ad6d43e620a60690", - "8befc633d60792bc7798447a0ef38e7311]\n\n# tcId = 110\n# Random test failure 26\nmsg = 27e792b28b2f1702\nresult = valid\nsig = 14d9b497c19b91d43481c55bb6f5056de252d9ecb637575c807e58e9b4c5eac8b284089d97e2192dc242014363208e2c9a3435edf8928fb1d893553e9be4c703\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = 2362bac514d5fad33802642e979a1e82de6eb6f1bcbf6a5b304f2bb02b9e57fe]\n[key.sk = f2d3023b9c19e241748bc4039a7a43c595701f23675505015213a8a2a0274c1b]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b65700321002362bac514d5fad33802642e979a1e82de6eb6f1bcbf6a5b304f2bb02b9e57fe]\n\n# tcId = 111\n# Random test failure 27\nmsg = eef3bb0f617c17d0420c115c21c28e3762edc7b7fb048529b84a9c2bc6\nresult = valid\nsig = 242ddb3a5d938d07af690b1b0ef0fa75842c5f9549bf39c8750f75614c712e7cbaf2e37cc0799db38b858d41aec5b9dd2fca6a3c8e082c10408e2cf3932b9d08\n\n", +static const char *kData107[] = { + "# Imported from Wycheproof's eddsa_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: EDDSA\n# Generator version: 0.8rc16\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = 7d4d0e7f6153a69b6242b522abbee685fda4420f8834b108c3bdae369ef549fa]\n[key.sk = add4bb8103785baf9ac534258e8aaf65f5f1adb5ef5f3df19bb80ab989c4d64b]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b65700321007d4d0e7f6153a69b6242b522abbee685fda4420f8834b108c3bdae369ef549fa]\n\n# tcId = 1\nmsg = \nresult = valid\nsig = d4fbdb52bfa726b44d1786a8c0d171c3e62ca83c9e5bbe63de0bb2483f8fd6cc1429ab72cafc41ab56af02ff8fcc43b99bfe4c7ae940f60f38ebaa9d311c4007\n\n# tcId = 2\nmsg = 78\nresult = valid\nsig = d80737358ede548acb173ef7e0399f83392fe8125b2ce877de7975d8b726ef5b1e76632280ee38afad12125ea44b961bf92f1178c9fa819d020869975bcbe109\n\n# tcId = 3\nmsg = 54657374\nresult = valid\nsig = 7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab07a9155711ecfaf7f99f277bad0c6ae7e39d4eef676573336a5c51eb6f946b30d\n\n# tcId = 4\nmsg = 48656c6c6f\nresult = valid\nsig = 1c1ad976cbaae3b31dee07971cf92c928ce2091a85f5899f5e11ecec90fc9f8e93df18c5037ec9b29c07195ad284e63d548cd0a6fe358cc775bd6c1608d2c905\n\n# tcId = 5\nmsg = 313233343030\nresult = valid\nsig = 657c1492402ab5ce03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281c2bf0cf5b3a289976458a1be6277a5055545253b45b07dcc1abd96c8b989c00f301\n\n# tcId = 6\nmsg = 000000000000000000000000\nresult = valid\nsig = d46543bfb892f84ec124dcdfc847034c19363bf3fc2fa89b1267833a14856e52e60736918783f950b6f1dd8d40dc343247cd43ce054c2d68ef974f7ed0f3c60f\n\n# tcId = 7\nmsg = 6161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161\nresult = valid\nsig = 879350045543bc14ed2c08939b68c30d22251d83e018cacbaf0c9d7a48db577e80bdf76ce99e5926762bc13b7b3483260a5ef63d07e34b58eb9c14621ac92f00\n\n# tcId = 8\nmsg = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60\nresult = valid\nsig = 7bdc3f9919a05f1d5db4a3ada896094f6871c1f37afc75db82ec3147d84d6f237b7e5ecc26b59cfea0c7eaf1052dc427b0f724615be9c3d3e01356c65b9b5109\n\n# tcId = 9\nmsg = ffffffffffffffffffffffffffffffff\nresult = valid\nsig = 5dbd7360e55aa38e855d6ad48c34bd35b7871628508906861a7c4776765ed7d1e13d910faabd689ec8618b78295c8ab8f0e19c8b4b43eb8685778499e943ae04\n\n# tcId = 10\n# special values for r and s\nmsg = 3f\nresult = invalid\nsig = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 11\n# special values for r and s\nmsg = 3f\nresult = invalid\nsig = 00000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 12\n# special values for r and s\nmsg = 3f\nresult = invalid\nsig = 0000000000000000000000000000000000000000000000000000000000000000ecd3f55c1a631258d69cf7a2def9de1400000000000000000000000000000010\n\n# tcId = 13\n# special values for r and s\nmsg = 3f\nresult = invalid\nsig = 0000000000000000000000000000000000000000000000000000000000000000edd3f55c1a631258d69cf7a2def9de1400000000000000000000000000000010\n\n# tcId = 14\n# special values for r and s\nmsg = 3f\nresult = invalid\nsig = 0000000000000000000000000000000000000000000000000000000000000000edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\n\n# tcId = 15\n# special values for r and s\nmsg = 3f\nresult = invalid\nsig = 01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 16\n# special values for r and s\nmsg = 3f\nresult = invalid\nsig = 01000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 17\n# special values for r and s\nmsg = 3f\nresult = invalid\nsig = 0100000000000000000000000000000000000000000000000000000000000000ecd3f55c1a631258d69cf7a2def9de1400000000000000000000000000000010\n\n# tcId = 18\n# special values for r and s\nmsg = 3f\nresult = invalid\nsig = 0100000000000000000000000000000000000000000000000000000000000000edd3f55c1a631258d69cf7a2def9de1400000000000000000000000000000010\n\n# tcId = 19\n# special values for r and s\nmsg = 3f\nresult = invalid\nsig = 0100000000000000000000000000000000000000000000000000000000000000edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\n\n# tcId = 20\n# special values for r and s\nmsg = 3f\nresult = invalid\nsig = edd3f55c1a631258d69cf7a2def9de14000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 21\n# special values for r and s\nmsg = 3f\nresult = invalid\nsig = edd3f55c1a631258d69cf7a2def9de14000000000000000000000000000000100100000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 22\n# special values for r and s\nmsg = 3f\nresult = invalid\nsig = edd3f55c1a631258d69cf7a2def9de1400000000000000000000000000000010ecd3f55c1a631258d69cf7a2def9de1400000000000000000000000000000010\n\n# tcId = 23\n# special values for r and s\nmsg = 3f\nresult = invalid\nsig = edd3f55c1a631258d69cf7a2def9de1400000000000000000000000000000010edd3f55c1a631258d69cf7a2def9de1400000000000000000000000000000010\n\n# tcId = 24\n# special values for r and s\nmsg = 3f\nresult = invalid\nsig = edd3f55c1a631258d69cf7a2def9de1400000000000000000000000000000010edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\n\n# tcId = 25\n# special values for r and s\nmsg = 3f\nresult = invalid\nsig = edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 26\n# special values for r and s\nmsg = 3f\nresult = invalid\nsig = edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0100000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 27\n# special values for r and s\nmsg = 3f\nresult = invalid\nsig = edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fecd3f55c1a631258d69cf7a2def9de1400000000000000000000000000000010\n\n# tcId = 28\n# special values for r and s\nmsg = 3f\nresult = invalid\nsig = edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fedd3f55c1a631258d69cf7a2def9de1400000000000000000000000000000010\n\n# tcId = 29\n# special values for r and s\nmsg = 3f\nresult = invalid\nsig = edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fedffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\n\n# tcId = 30\n# empty signature\nmsg = 54657374\nresult = invalid\nsig = \n\n# tcId = 31\n# s missing\nmsg = 54657374\nresult = invalid\nsig = 7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab0\n\n# tcId = 32\n# signature too short\nmsg = 54657374\nresult = invalid\nsig = 7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab07a9155711ecfaf7f99f277bad0c6ae7e39d4eef676573336a5c51eb6f946\n\n# tcId = 33\n# signature too long\nmsg = 54657374\nresult = invalid\nsig = 7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab07a9155711ecfaf7f99f277bad0c6ae7e39d4eef676573336a5c51eb6f946b30d2020\n\n# tcId = 34\n# include pk in signature\nmsg = 54657374\nresult = invalid\nsig = 7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab07a9155711ecfaf7f99f277bad0c6ae7e39d4eef676573336a5c51eb6f946b30d7d4d0e7f6153a69b6242b522abbee685fda4420f8834b108c3bdae369ef549fa\n\n# tcId = 35\n# prepending 0 byte to signature\nmsg = 54657374\nresult = invalid\nsig = 007c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab07a9155711ecfaf7f99f277bad0c6ae7e39d4eef676573336a5c51eb6f946b30d\n\n# tcId = 36\n# prepending 0 byte to s\nmsg = 54657374\nresult = invalid\nsig = 7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab0007a9155711ecfaf7f99f277bad0c6ae7e39d4eef676573336a5c51eb6f946b30d\n\n# tcId = 37\n# appending 0 byte to signature\nmsg = 54657374\nresult = invalid\nsig = 7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab07a9155711ecfaf7f99f277bad0c6ae7e39d4eef676573336a5c51eb6f946b30d00\n\n# tcId = 38\n# removing 0 byte from signature\nmsg = 546573743137\nresult = invalid\nsig = 93de3ca252426c95f735cb9edd92e83321ac62372d5aa5b379786bae111ab6b17251330e8f9a7c30d6993137c596007d7b001409287535ac4804e662bc58a3\n\n# tcId = 39\n# removing 0 byte from signature\nm", + "sg = 54657374313236\nresult = invalid\nsig = dffed33a7f420b62bb1731cfd03be805affd18a281ec02b1067ba6e9d20826569e742347df59c88ae96db1f1969fb189b0ec34381d85633e1889da48d95e0e\n\n# tcId = 40\n# removing leading 0 byte from signature\nmsg = 546573743530\nresult = invalid\nsig = 6e170c719577c25e0e1e8b8aa7a6346f8b109f37385cc2e85dc3b4c0f46a9c6bcafd67f52324c5dbaf40a1b673fb29c4a56052d2d6999d0838a8337bccb502\n\n# tcId = 41\n# dropping byte from signature\nmsg = 54657374333437\nresult = invalid\nsig = b0928b46e99fbbad3f5cb502d2cd309d94a7e86cfd4d84b1fcf4cea18075a9c36993c0582dba1e9e519fae5a8654f454201ae0c3cb397c37b8f4f8eef18400\n\n# tcId = 42\n# modified bit 0 in R\nmsg = 313233343030\nresult = invalid\nsig = 647c1492402ab5ce03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281c2b1d125e5538f38afbcc1c84e489521083041d24bc6240767029da063271a1ff0c\n\n# tcId = 43\n# modified bit 1 in R\nmsg = 313233343030\nresult = invalid\nsig = 677c1492402ab5ce03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281c2bc108ca4b87a49c9ed2cf383aecad8f54a962b2899da891e12004d7993a627e01\n\n# tcId = 44\n# modified bit 2 in R\nmsg = 313233343030\nresult = invalid\nsig = 617c1492402ab5ce03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281c2b9ce23fc6213ed5b87912e9bbf92f5e2c780eae26d15c50a112d1e97d2ea33c06\n\n# tcId = 45\n# modified bit 7 in R\nmsg = 313233343030\nresult = invalid\nsig = e57c1492402ab5ce03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281c2bbb3eb51cd98dddb235a5f46f2bded6af184a58d09cce928bda43f41d69118a03\n\n# tcId = 46\n# modified bit 8 in R\nmsg = 313233343030\nresult = invalid\nsig = 657d1492402ab5ce03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281c2bcd237dda9a116501f67a5705a854b9adc304f34720803a91b324f2c13e0f5a09\n\n# tcId = 47\n# modified bit 16 in R\nmsg = 313233343030\nresult = invalid\nsig = 657c1592402ab5ce03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281c2b6b167bbdc0d881cc04d28905552c1876f3709851abc5007376940cc8a435c300\n\n# tcId = 48\n# modified bit 31 in R\nmsg = 313233343030\nresult = invalid\nsig = 657c1412402ab5ce03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281c2b7fd2ac7da14afffcceeb13f2a0d6b887941cb1a5eb57a52f3cb131a16cce7b0e\n\n# tcId = 49\n# modified bit 32 in R\nmsg = 313233343030\nresult = invalid\nsig = 657c1492412ab5ce03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281c2b7373ba13ebbef99cd2a8ead55ce735c987d85a35320925a8e871702dc7c5c40d\n\n# tcId = 50\n# modified bit 63 in R\nmsg = 313233343030\nresult = invalid\nsig = 657c1492402ab54e03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281c2bd35bd331c03f0855504ca1cab87b83c36a028425a3cf007ede4f4254c261cb00\n\n# tcId = 51\n# modified bit 64 in R\nmsg = 313233343030\nresult = invalid\nsig = 657c1492402ab5ce02e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281c2bcb35101f73cf467deac8c1a03b6c3dc35af544132734b7e57ab20c89b2e4750d\n\n# tcId = 52\n# modified bit 97 in R\nmsg = 313233343030\nresult = invalid\nsig = 657c1492402ab5ce03e2c3a7f2384d051b9cf3570f1207fc78c1bcc98c281c2bb58d2e8878290bff8d3355fdd4ea381924ee578752354eb6dee678ab4011c301\n\n# tcId = 53\n# modified bit 127 in R\nmsg = 313233343030\nresult = invalid\nsig = 657c1492402ab5ce03e2c3a7f0384d851b9cf3570f1207fc78c1bcc98c281c2bb978c866187ffb1cc7b29a0b4045aefc08768df65717194ff0c6e63f4dea0d02\n\n# tcId = 54\n# modified bit 240 in R\nmsg = 313233343030\nresult = invalid\nsig = 657c1492402ab5ce03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281d2b0576ecf8eaf675f00f3dfbe19f75b83b7607a6c96414f6821af920a2498d0305\n\n# tcId = 55\n# modified bit 247 in R\nmsg = 313233343030\nresult = invalid\nsig = 657c1492402ab5ce03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c289c2be5241a345c7b5428054c74b7c382fa10d4a5f1e8f8b79a71d3fdea2254f1ff0e\n\n# tcId = 56\n# modified bit 248 in R\nmsg = 313233343030\nresult = invalid\nsig = 657c1492402ab5ce03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281c2a63950c85cd6dc96364e768de50ff7732b538f8a0b1615d799190ab600849230e\n\n# tcId = 57\n# modified bit 253 in R\nmsg = 313233343030\nresult = invalid\nsig = 657c1492402ab5ce03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281c0b543bd3da0a56a8c9c152f59c9fec12f31fa66434d48b817b30d90cb4efa8b501\n\n# tcId = 58\n# modified bit 254 in R\nmsg = 313233343030\nresult = invalid\nsig = 657c1492402ab5ce03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281c6b8da07efd07a6dafb015ed6a32fe136319a972ffbc341f3a0beae97ccf8136505\n\n# tcId = 59\n# modified bit 255 in R\nmsg = 313233343030\nresult = invalid\nsig = 657c1492402ab5ce03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281cab227aedf259f910f0f3a759a335062665217925d019173b88917eae294f75d40f\n\n# tcId = 60\n# R==0\nmsg = 313233343030\nresult = invalid\nsig = 0000000000000000000000000000000000000000000000000000000000000000e0b8e7770d51c7a36375d006c5bffd6af43ff54aaf47e4330dc118c71d61ec02\n\n# tcId = 61\n# invalid R\nmsg = 313233343030\nresult = invalid\nsig = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff463a1908382e7eb7693acef9884f7cf931a215e0791876be22c631a59881fd0e\n\n# tcId = 62\n# all bits flipped in R\nmsg = 313233343030\nresult = invalid\nsig = 9a83eb6dbfd54a31fc1d3c580fc7b2fae4630ca8f0edf803873e433673d7e3d40e94254586cb6188c5386c3febed477cb9a6cb29e3979adc4cb27cf5278fb70a\n\n# tcId = 63\n# checking malleability \nmsg = 54657374\nresult = invalid\nsig = 7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab067654bce3832c2d76f8f6f5dafc08d9339d4eef676573336a5c51eb6f946b31d\nflags = SignatureMalleability\n\n# tcId = 64\n# checking malleability \nmsg = 54657374\nresult = invalid\nsig = 7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab05439412b5395d42f462c67008eba6ca839d4eef676573336a5c51eb6f946b32d\nflags = SignatureMalleability\n\n# tcId = 65\n# checking malleability \nmsg = 54657374\nresult = invalid\nsig = 7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab02ee12ce5875bf9dff26556464bae2ad239d4eef676573336a5c51eb6f946b34d\nflags = SignatureMalleability\n\n# tcId = 66\n# checking malleability \nmsg = 54657374\nresult = invalid\nsig = 7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab0e2300459f1e742404cd934d2c595a6253ad4eef676573336a5c51eb6f946b38d\nflags = SignatureMalleability\n\n# tcId = 67\n# checking malleability \nmsg = 54657374\nresult = invalid\nsig = 7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab07a9155711ecfaf7f99f277bad0c6ae7e39d4eef676573336a5c51eb6f946b32d\nflags = SignatureMalleability\n\n# tcId = 68\n# checking malleability \nmsg = 54657374\nresult = invalid\nsig = 7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab07a9155711ecfaf7f99f277bad0c6ae7e39d4eef676573336a5c51eb6f946b34d\nflags = SignatureMalleability\n\n# tcId = 69\n# checking malleability \nmsg = 54657374\nresult = invalid\nsig = 7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab07a9155711ecfaf7f99f277bad0c6ae7e39d4eef676573336a5c51eb6f946b38d\nflags = SignatureMalleability\n\n# tcId = 70\n# checking malleability \nmsg = 54657374\nresult = invalid\nsig = 7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab0679155711ecfaf7f99f277bad0c6ae7e39d4eef676573336a5c51eb6f946b38d\nflags = SignatureMalleability\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = a12c2beb77265f2aac953b5009349d94155a03ada416aad451319480e983ca4c]\n[key.sk = 0a23a20072891237aa0864b5765139514908787878cd77135a0059881d313f00]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b6570032100a12c2beb77265f2aac953b5009349d94155a03ada416aad451319480e983ca4c]\n\n# tcId = 71\nmsg = \nresult = valid\nsig = 5056325d2ab440bf30bbf0f7173199aa8b4e6fbc091cf3eb6bc6cf87cd73d992ffc216c85e4ab5b8a0bbc7e9a6e9f8d33b7f6e5ac0ffdc22d9fcaf784af84302\n\n# tcId = 72\nmsg = 78\nresult = valid\nsig = 481fafbf4364d7b682475282f517a3ac0538c9a6b6a562e99a3d8e5afb4f90a559b056b9f07af023905753b02d95eb329a35c77f154b79abbcd291615ce42f02\n\n# tcId = 73\nmsg = 54657374\nresult = valid\nsig = 8a9bb4c465a3863abc9fd0dd35d80bb28f7d33d37d74679802d63f82b20da114b8d765a1206b3e9ad7cf2b2d8d778bb8651f1fa992db293c0039eacb6161480f\n\n# tcId = 74\nmsg = 48656c6c6f\nresult = valid\nsig = d839c20abfda1fd429531831c64f813f84b913e9928540310cf060b44c3dbf9457d44a7721fdc0d67724ff81cb450dd39b10cfb65db15dda4b8bf09d26bd3801\n\n# tcId = 75\nmsg = 313233343030\nresult = valid\nsig = 9bbb1052dcfa8ad2715c2eb716ae4f1902dea353d42ee09fd4c0b4fcb8b52b5219e2200016e1199d0061891c263e31b0bc3b55673c19610c4e0fa5408004160b\n\n# tcId = 76\nmsg = 000000000000000000000000\nresult = valid\nsig = f63b5c0667c7897fc283296416f7f60e84bbde9cbd832e56be463ed9f568069702b17a2f7c341ebf590706a6388ac76ac613c1675ec0", + "f2c7118f2573422a500b\n\n# tcId = 77\nmsg = 6161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161\nresult = valid\nsig = 1bc44d7001e6b5b9090fef34b2ca480f9786bbefa7d279353e5881e8dfb91b803ccd46500e270ef0109bfd741037558832120bc2a4f20fbe7b5fb3c3aaf23e08\n\n# tcId = 78\nmsg = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60\nresult = valid\nsig = ea8e22143b02372e76e99aece3ed36aec529768a27e2bb49bdc135d44378061e1f62d1ac518f33ebf37b2ee8cc6dde68a4bd7d4a2f4d6cb77f015f71ca9fc30d\n\n# tcId = 79\nmsg = ffffffffffffffffffffffffffffffff\nresult = valid\nsig = 8acd679e1a914fc45d5fa83d3021f0509c805c8d271df54e52f43cfbd00cb6222bf81d58fe1de2de378df67ee9f453786626961fe50a9b05f12b6f0899ebdd0a\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a]\n[key.sk = 9d61b19deffd5a60ba844af492ec2cc44449c5697b326919703bac031cae7f60]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b6570032100d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a]\n\n# tcId = 80\n# draft-josefsson-eddsa-ed25519-02: Test 1\nmsg = \nresult = valid\nsig = e5564300c360ac729086e2cc806e828a84877f1eb8e5d974d873e065224901555fb8821590a33bacc61e39701cf9b46bd25bf5f0595bbe24655141438e7a100b\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = 3d4017c3e843895a92b70aa74d1b7ebc9c982ccf2ec4968cc0cd55f12af4660c]\n[key.sk = 4ccd089b28ff96da9db6c346ec114e0f5b8a319f35aba624da8cf6ed4fb8a6fb]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b65700321003d4017c3e843895a92b70aa74d1b7ebc9c982ccf2ec4968cc0cd55f12af4660c]\n\n# tcId = 81\n# draft-josefsson-eddsa-ed25519-02: Test 2\nmsg = 72\nresult = valid\nsig = 92a009a9f0d4cab8720e820b5f642540a2b27b5416503f8fb3762223ebdb69da085ac1e43e15996e458f3613d0f11d8c387b2eaeb4302aeeb00d291612bb0c00\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = fc51cd8e6218a1a38da47ed00230f0580816ed13ba3303ac5deb911548908025]\n[key.sk = c5aa8df43f9f837bedb7442f31dcb7b166d38535076f094b85ce3a2e0b4458f7]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b6570032100fc51cd8e6218a1a38da47ed00230f0580816ed13ba3303ac5deb911548908025]\n\n# tcId = 82\n# draft-josefsson-eddsa-ed25519-02: Test 3\nmsg = af82\nresult = valid\nsig = 6291d657deec24024827e69c3abe01a30ce548a284743a445e3680d7db5ac3ac18ff9b538d16f290ae67f760984dc6594a7c15e9716ed28dc027beceea1ec40a\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = 278117fc144c72340f67d0f2316e8386ceffbf2b2428c9c51fef7c597f1d426e]\n[key.sk = f5e5767cf153319517630f226876b86c8160cc583bc013744c6bf255f5cc0ee5]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b6570032100278117fc144c72340f67d0f2316e8386ceffbf2b2428c9c51fef7c597f1d426e]\n\n# tcId = 83\n# draft-josefsson-eddsa-ed25519-02: Test 1024\nmsg = 08b8b2b733424243760fe426a4b54908632110a66c2f6591eabd3345e3e4eb98fa6e264bf09efe12ee50f8f54e9f77b1e355f6c50544e23fb1433ddf73be84d879de7c0046dc4996d9e773f4bc9efe5738829adb26c81b37c93a1b270b20329d658675fc6ea534e0810a4432826bf58c941efb65d57a338bbd2e26640f89ffbc1a858efcb8550ee3a5e1998bd177e93a7363c344fe6b199ee5d02e82d522c4feba15452f80288a821a579116ec6dad2b3b310da903401aa62100ab5d1a36553e06203b33890cc9b832f79ef80560ccb9a39ce767967ed628c6ad573cb116dbefefd75499da96bd68a8a97b928a8bbc103b6621fcde2beca1231d206be6cd9ec7aff6f6c94fcd7204ed3455c68c83f4a41da4af2b74ef5c53f1d8ac70bdcb7ed185ce81bd84359d44254d95629e9855a94a7c1958d1f8ada5d0532ed8a5aa3fb2d17ba70eb6248e594e1a2297acbbb39d502f1a8c6eb6f1ce22b3de1a1f40cc24554119a831a9aad6079cad88425de6bde1a9187ebb6092cf67bf2b13fd65f27088d78b7e883c8759d2c4f5c65adb7553878ad575f9fad878e80a0c9ba63bcbcc2732e69485bbc9c90bfbd62481d9089beccf80cfe2df16a2cf65bd92dd597b0707e0917af48bbb75fed413d238f5555a7a569d80c3414a8d0859dc65a46128bab27af87a71314f318c782b23ebfe808b82b0ce26401d2e22f04d83d1255dc51addd3b75a2b1ae0784504df543af8969be3ea7082ff7fc9888c144da2af58429ec96031dbcad3dad9af0dcbaaaf268cb8fcffead94f3c7ca495e056a9b47acdb751fb73e666c6c655ade8297297d07ad1ba5e43f1bca32301651339e22904cc8c42f58c30c04aafdb038dda0847dd988dcda6f3bfd15c4b4c4525004aa06eeff8ca61783aacec57fb3d1f92b0fe2fd1a85f6724517b65e614ad6808d6f6ee34dff7310fdc82aebfd904b01e1dc54b2927094b2db68d6f903b68401adebf5a7e08d78ff4ef5d63653a65040cf9bfd4aca7984a74d37145986780fc0b16ac451649de6188a7dbdf191f64b5fc5e2ab47b57f7f7276cd419c17a3ca8e1b939ae49e488acba6b965610b5480109c8b17b80e1b7b750dfc7598d5d5011fd2dcc5600a32ef5b52a1ecc820e308aa342721aac0943bf6686b64b2579376504ccc493d97e6aed3fb0f9cd71a43dd497f01f17c0e2cb3797aa2a2f256656168e6c496afc5fb93246f6b1116398a346f1a641f3b041e989f7914f90cc2c7fff357876e506b50d334ba77c225bc307ba537152f3f1610e4eafe595f6d9d90d11faa933a15ef1369546868a7f3a45a96768d40fd9d03412c091c6315cf4fde7cb68606937380db2eaaa707b4c4185c32eddcdd306705e4dc1ffc872eeee475a64dfac86aba41c0618983f8741c5ef68d3a101e8a3b8cac60c905c15fc910840b94c00a0b9d0\nresult = valid\nsig = 0aab4c900501b3e24d7cdf4663326a3a87df5e4843b2cbdb67cbf6e460fec350aa5371b1508f9f4528ecea23c436d94b5e8fcd4f681e30a6ac00a9704a188a03\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = 8fd659b77b558ed93882c1157438450ac86ec62d421d568e98ee236f3810295a]\n[key.sk = d7ad3f1f6bbe0477c3c357a806a19eb41ae3f94025035bc87f281f8ee9fc0e34]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b65700321008fd659b77b558ed93882c1157438450ac86ec62d421d568e98ee236f3810295a]\n\n# tcId = 84\n# Random test failure 1\nmsg = b0729a713593a92e46b56eaa66b9e435f7a09a8e7de03b078f6f282285276635f301e7aaafe42187c45d6f5b13f9f16b11195cc125c05b90d24dfe4c\nresult = valid\nsig = 7db17557ac470c0eda4eedaabce99197ab62565653cf911f632ee8be0e5ffcfc88fb94276b42e0798fd3aa2f0318be7fc6a29fae75f70c3dcdc414a0ad866601\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = 2a606bf67ac770c607038b004101b325edb569efd3413d2d1f2c3e6b4e6e3082]\n[key.sk = ad9b22793336fcdac10e136c4deea599be187a38eef91c1cf7c7a4ec884dda08]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b65700321002a606bf67ac770c607038b004101b325edb569efd3413d2d1f2c3e6b4e6e3082]\n\n# tcId = 85\n# Random test failure 2\nmsg = a8546e50ba31cae3234310d32672447be213fad91a227a19669c53d309b959782b0e6b71f8791fdb470043b58122003157d2d96a43a6cbd7d3a8d86bf4c97391883e268d50af80e1e6e12939c2bd50ca746cdadfad4edf1bda875299740724148efb1ebe73fb60088cda890317658627a5f7ab5a0c075d9d8f3f97b6492b35519e50ff6b38377432a7081f9176bb1c29a862deac1336ca20b097a47829cec10a6a7cec178eda2d12f6dc6c87f910454af0123555ba184e68804d9cced60fd5c8c90943e56599c8f0ba59a38491ba5e5a53460682474c07e40ca142983314fd762856bb1093f359da6eb0a756bd93a3160c10dd8feea6b97e7c6a17cb54bd5d7649c05c66d7bdee056671dfdaf689fa3945bb8e29a429f4bd5d355dce9687b06f01d5e33e3999f0e8\nresult = valid\nsig = 67d84d4c3945aaf06e06d524be63acbfb5dbb1988c4aea96a5ee9f7a9b9eecc29df4f66b8aa1d9e8607a58fb1ef0c2ad69aac005b4f58e34103344a9c8871a09\n\n# tcId = 86\n# Random test failure 24\nmsg = b477b0480bb84642608b908d29a51cf2fce63f24ee95\nresult = valid\nsig = 28fafbb62b4d688fa79e1ac92851f46e319b161f801d4dc09acc21fdd6780a2c4292b8c1003c61c2bcebe7f3f88ccc4bb26d407387c5f27cb8c94cf6ce810405\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = c9c946cbc5544ac74eef491f07c5881c16faf7ec31ce4aa91bb60ae7b4539051]\n[key.sk = 04a6553d68a9baef78a2175af375458eaa01cdb77350c61e282ef5f0c7116599]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b6570032100c9c946cbc5544ac74eef491f07c5881c16faf7ec31ce4aa91bb60ae7b4539051]\n\n# tcId = 87\n# Random test failure 3\nmsg = cd2212eddb0706f62c995cef958634f0cb7793444cbf4d30e81c27c41ebea6cb02607510131f9c015692dfd521b148841e9a2d3564d20ac401f6cb8e40f520fe0cafbeaa88840b83013369d879f013463fe52a13267aa0c8c59c45cde9399cd1e6be8cc64cf48315ac2eb31a1c567a4fb7d601746d1f63b5ac020712adbbe07519bded6f\nresult = valid\nsig = 24087d47f3e20af51b9668ae0a88ce76586802d0ec75d8c0f28fc30962b5e1d1a1d509571a1624ed125a8df92a6e963728d6b5de99200b8e285f70feb6f05207\n\n# tcId = 88\n# Random test failure 20\nmsg = 27d465bc632743522aefa23c\nresult = valid\nsig = c2656951e2a0285585a51ff0eda7e9a23c2dfd2ffa273aee7808f4604e8f9a8c8ea49e9fce4eb2d8d75d36b7238fe6fc13b6c5d9427dd58f8c6615d033c0bd0f\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = 32ad026f693d0d2afe7f4388d91c4c964426fcb9e3665c3ebd8650009b815c8e]\n[key.sk = c367c8d2ebeeecd70c1e8985b70c38", + "08b75657f243b21ba4f322792540e92257]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b657003210032ad026f693d0d2afe7f4388d91c4c964426fcb9e3665c3ebd8650009b815c8e]\n\n# tcId = 89\n# Random test failure 4\nmsg = ec5c7cb078\nresult = valid\nsig = d920d421a5956b69bfe1ba834c025e2babb6c7a6d78c97de1d9bb1116dfdd1185147b2887e34e15578172e150774275ea2aad9e02106f7e8ca1caa669a066f0c\n\n# tcId = 90\n# Random test failure 5\nmsg = 4668c6a76f0e482190a7175b9f3806a5fe4314a004fa69f988373f7a\nresult = valid\nsig = 4f62daf7f7c162038552ad7d306e195baa37ecf6ca7604142679d7d1128e1f8af52e4cb3545748c44ef1ff1c64e877e4f4d248259b7f6eb56e3ef72097dc8e0c\n\n# tcId = 91\n# Random test failure 8\nmsg = 5dc9bb87eb11621a93f92abe53515697d2611b2eef73\nresult = valid\nsig = deecafb6f2ede73fec91a6f10e45b9c1c61c4b9bfbe6b6147e2de0b1df6938971f7896c3ab83851fb5d9e537037bff0fca0ccb4a3cc38f056f91f7d7a0557e08\n\n# tcId = 92\n# Random test failure 10\nmsg = 7dcfe60f881e1285676f35b68a1b2dbcdd7be6f719a288ababc28d36e3a42ac3010a1ca54b32760e74\nresult = valid\nsig = 7f8663cf98cbd39d5ff553f00bcf3d0d520605794f8866ce75714d77cc51e66c91818b657d7b0dae430a68353506edc4a714c345f5ddb5c8b958ba3d035f7a01\n\n# tcId = 93\n# Random test failure 12\nmsg = 58e456064dff471109def4ca27fa8310a1df32739655b624f27e6418d34b7f007173f3faa5\nresult = valid\nsig = 6aab49e5c0bc309b783378ee03ffda282f0185cdf94c847701ff307a6ee8d0865411c44e0a8206f6a5f606107451940c2593af790ce1860f4c14ab25b2deae08\n\n# tcId = 94\n# Random test failure 15\nmsg = a1\nresult = valid\nsig = 1a74ed2cbdc7d8f3827014e8e6ecf8fd2698ac8f86833acccdd400df710fe0d6b0543c9cfa00d52bf024ab7ce0d91981944097233ec134d5c7abbd44bfd32d0d\n\n# tcId = 95\n# Random test failure 19\nmsg = 11cb1eafa4c42a8402c4193c4696f7b2e6d4585e4b42dcf1a8b67a80b2da80bc9d4b649fb2f35eaf1f56c426fd0b\nresult = valid\nsig = 14ceb2eaf4688d995d482f44852d71ad878cd7c77b41e60b0065fd01a59b054ee74759224187dbde9e59a763a70277c960892ef89fba997aba2576b2c54ba608\n\n# tcId = 96\n# Random test failure 25\nmsg = aa365b442d12b7f3c925\nresult = valid\nsig = 83c40ce13d483cc58ff65844875862d93df4bd367af77efa469ec06a8ed9e6d7905a04879535708ddf225567a815c9b941d405c98e918fd0c151165cea7fb101\n\n# tcId = 97\n# Random test failure 28\nmsg = 475f\nresult = valid\nsig = 71a4a06a34075f2fd47bc3abf4714d46db7e97b08cb6180d3f1539ac50b18ce51f8af8ae95ed21d4fa0daab7235925631ecea1fd9d0d8a2ba7a7583fd04b900c\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = c29ec1894e06d27b4e40486b4fa5063d66a746c7f9c323b12203c03b72b8b78a]\n[key.sk = 56c1e22d616cbb6dea869288b4b1c02bb98696583c2f6e650013a03e17049c62]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b6570032100c29ec1894e06d27b4e40486b4fa5063d66a746c7f9c323b12203c03b72b8b78a]\n\n# tcId = 98\n# Random test failure 6\nmsg = 0f325ffd87e58131ffa23c05ea4579513b287fdba87b44\nresult = valid\nsig = 6669acf94667c5b541afe5307bde9476b13ae7e0e6058a772101ac8eb0a94331428eb4db0a2c68a9b6c1763b8624dab259b0876cdcfaeacc17b21a18e3fc010a\n\n# tcId = 99\n# Random test failure 21\nmsg = 5ffa\nresult = valid\nsig = 931e5152fcef078c22cc5d6a3a65f06e396289f6f5f2d1efa6340254a53526ef5dc6874eeddf35c3f50991c53cd02bf06313e37d93ee1f7022128ffa3b8f300b\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = cfda5b899e35764c5229e59295fe1222b7ddce176643697c29e46ecbba10cf10]\n[key.sk = b7d2f64276df417fed27d8e15b4e90f6fd93dace707294c338bd32bc4bbd8fdb]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b6570032100cfda5b899e35764c5229e59295fe1222b7ddce176643697c29e46ecbba10cf10]\n\n# tcId = 100\n# Random test failure 7\nmsg = ec5c7cb078\nresult = valid\nsig = 30490c28f806298225df62103521dcee047153912c33ab8ab8bbdd1ffabd70fd4fdb360f05be535b067d1cf4e78c2cb432206bf280aab3bd21aaa1cb894c5b06\n\n# tcId = 101\n# Random test failure 9\nmsg = 67484059b2490b1a0a4f8dee77979e26\nresult = valid\nsig = 4cd4f77ed473a6647387f3163541c67a1708a3c3bd1673247cb87f0cb68b3c56f04bfa72970c8a483efe659c87009ab4020b590b6641316b3deddb5450544e02\n\n# tcId = 102\n# Random test failure 11\nmsg = a020a4381dc9141f47ee508871ab7a8b5a3648727c4281ae9932376f23a8e1bcda0626b7129197d864178631ec89c4332dbb18\nresult = valid\nsig = 1e41a24fe732bd7cab14c2a2f5134ee8c87fcbd2e987e60957ed9239e5c32404d56977e1b4282871896cb10625a1937468e4dc266e16a9c1b8e9891177eca802\n\n# tcId = 103\n# Random test failure 14\nmsg = a25176b3afea318b2ec11ddacb10caf7179c0b3f8eabbfa2895581138d3c1e0e\nresult = valid\nsig = 2a833aadecd9f28235cb5896bf3781521dc71f28af2e91dbe1735a61dce3e31ac15ca24b3fc47817a59d386bbbb2ce60a6adc0a2703bb2bdea8f70f91051f706\n\n# tcId = 104\n# Random test failure 18\nmsg = a9e6d94870a67a9fe1cf13b1e6f9150cdd407bf6480ec841ea586ae3935e9787163cf419c1\nresult = valid\nsig = c97e3190f83bae7729ba473ad46b420b8aad735f0808ea42c0f898ccfe6addd4fd9d9fa3355d5e67ee21ab7e1f805cd07f1fce980e307f4d7ad36cc924eef00c\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = 529919c9c780985a841c42ba6c180ff2d67a276ccfbe281080e47ab71a758f56]\n[key.sk = 7d597c3b7283929d07ed8f01f31d2596823e5e46ab226c7be4234d1a9dcaef37]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b6570032100529919c9c780985a841c42ba6c180ff2d67a276ccfbe281080e47ab71a758f56]\n\n# tcId = 105\n# Random test failure 13\nmsg = e1cbf2d86827825613fb7a85811d\nresult = valid\nsig = 01abfa4d6bbc726b196928ec84fd03f0c953a4fa2b228249562ff1442a4f63a7150b064f3712b51c2af768d2c2711a71aabf8d186833e941a0301b82f0502905\n\n# tcId = 106\n# Random test failure 22\nmsg = 25\nresult = valid\nsig = e4ae21f7a8f4b3b325c161a8c6e53e2edd7005b9c2f8a2e3b0ac4ba94aa80be6f2ee22ac8d4a96b9a3eb73a825e7bb5aff4a3393bf5b4a38119e9c9b1b041106\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = 2252b3d57c74cbf8bc460dc2e082847926bc022f09ab6ae95756362bfd1167c1]\n[key.sk = f401cee4bfb1732f0e9b8d8ba79469565c3115296141dbdf7e9c311a0ac1823b]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b65700321002252b3d57c74cbf8bc460dc2e082847926bc022f09ab6ae95756362bfd1167c1]\n\n# tcId = 107\n# Random test failure 16\nmsg = 975ef941710071a9e1e6325a0c860becd7c695b5117c3107b686e330e5\nresult = valid\nsig = af0fd9dda7e03e12313410d8d8844ebb6fe6b7f65141f22d7bcba5695a25414a9e54326fb44d59fb14707899a8aae70857b23d4080d7ab2c396ef3a36d45ce02\n\n# tcId = 108\n# Random test failure 23\nmsg = 80fdd6218f29c8c8f6bd820945f9b0854e3a8824\nresult = valid\nsig = e097e0bd0370bff5bde359175a11b728ee9639095d5df8eda496395565616edfe079977f7d4dc8c75d6113a83d6a55e6e1676408c0967a2906339b43337dcb01\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = c0a773110f975de3732355bb7ec7f0c41c091c0252966070205516693b992a4a]\n[key.sk = 3d658956410377d0644676d2599542412a4f3b0e4eadfb7f3f836615f42b18bc]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b6570032100c0a773110f975de3732355bb7ec7f0c41c091c0252966070205516693b992a4a]\n\n# tcId = 109\n# Random test failure 17\nmsg = \nresult = valid\nsig = 0280427e713378f49d478df6373c6cac847b622b567daa2376c839e7ac10e22c380ab0fa8617c9dcfe76c4d9db5459b21dc1413726e46cc8f387d359e344f407\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = 54cda623245759ad6d43e620a606908befc633d60792bc7798447a0ef38e7311]\n[key.sk = bccb61323840c2a96fc36f7e54ea6c8e55f9d221f7f05791ed60025e06064439]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b657003210054cda623245759ad6d43e620a606908befc633d60792bc7798447a0ef38e7311]\n\n# tcId = 110\n# Random test failure 26\nmsg = 27e792b28b2f1702\nresult = valid\nsig = 14d9b497c19b91d43481c55bb6f5056de252d9ecb637575c807e58e9b4c5eac8b284089d97e2192dc242014363208e2c9a3435edf8928fb1d893553e9be4c703\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = 2362bac514d5fad33802642e979a1e82de6eb6f1bcbf6a5b304f2bb02b9e57fe]\n[key.sk = f2d3023b9c19e241748bc4039a7a43c595701f23675505015213a8a2a0274c1b]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b65700321002362bac514d5fad33802642e979a1e82de6eb6f1bcbf6a5b304f2bb02b9e57fe]\n\n# tcId = 111\n# Random test failure 27\nmsg = eef3bb0f617c17d0420c115c21c28e3762edc7b7fb048529b84a9c2bc6\nresult = valid\nsig = 242ddb3a5d938d07af690b1b0ef0fa75842c5f9549bf39c8750f75614c712e7cbaf2e37cc0799db38b858d41aec5b9dd2fca6a3c8e082c10408e2cf3932b9d08\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = 037b55b427dc8daa0f80fcebaf0846902309f8a6cf18b465c0ce9b6539629ac8]\n[key.sk = 12fc31c40d5a7af71e05424623ba970b670cf6ecb44cda6120210e6370245ddb]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b6570032100037b55b427dc8daa0f80fcebaf0846902309f8a6cf18b465c0ce9b6539629ac8]\n\n# tcId = 112", + "\n# Test case for overflow in signature generation\nmsg = 01234567\nresult = valid\nsig = c964e100033ce8888b23466677da4f4aea29923f642ae508f9d0888d788150636ab9b2c3765e91bbb05153801114d9e52dc700df377212222bb766be4b8c020d\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = 9c0007698f177998a7666c7cf7973e2b88e9c4946e33804a7bbe8968d2394b2e]\n[key.sk = e54bcc4ce95db48072c7b49575617dd1f9403b072105259ca06d8d01530d07fb]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b65700321009c0007698f177998a7666c7cf7973e2b88e9c4946e33804a7bbe8968d2394b2e]\n\n# tcId = 113\n# Test case for overflow in signature generation\nmsg = 9399a6db9433d2a28d2b0c11c8794ab7d108c95b\nresult = valid\nsig = 176065c6d64a136a2227687d77f61f3fca3b16122c966276fd9a8b14a1a2cea4c33b3533d11101717016684e3810efbea63bb23773f7cc480174199abd734f08\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = ed3a6f9721dc9729c1f76635bcf080d7036e1c2f0228654ccbbe1e738c17b963]\n[key.sk = de7f2bb12b875a79ccb057344b2867a2edb25dbc1ecfc8cb07c69e2dd3df3e02]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b6570032100ed3a6f9721dc9729c1f76635bcf080d7036e1c2f0228654ccbbe1e738c17b963]\n\n# tcId = 114\n# Test case for overflow in signature generation\nmsg = 7af783afbbd44c1833ab7237ecaf63b94ffdd003\nresult = valid\nsig = 7ca69331eec8610d38f00e2cdbd46966cb359dcde98a257ac6f362cc00c8f4fe85c02285fe4d66e31a44cadb2bf474e1a7957609eb4fe95a71473fe6699aa70d\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = 4abfb535313705a6570018440cdec1a3ae33e51f352112fa6acbd0c6bc3ea859]\n[key.sk = ea792b7a9d420bf74f6a82a78e58a2cc94f3ab3eb931270611b1f8da75c3d60b]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b65700321004abfb535313705a6570018440cdec1a3ae33e51f352112fa6acbd0c6bc3ea859]\n\n# tcId = 115\n# Test case for overflow in signature generation\nmsg = 321b5f663c19e30ee7bbb85e48ecf44db9d3f512\nresult = valid\nsig = f296715e855d8aecccba782b670163dedc4458fe4eb509a856bcac450920fd2e95a3a3eb212d2d9ccaf948c39ae46a2548af125f8e2ad9b77bd18f92d59f9200\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = 4f2162e6bf03a712db0efa418b7e7006e23871d9d7ec555a313885c4afd96385]\n[key.sk = eca28645f63646575ee2e4bdb36f51838142ce2474664c2b66ef054b37af6124]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b65700321004f2162e6bf03a712db0efa418b7e7006e23871d9d7ec555a313885c4afd96385]\n\n# tcId = 116\n# Test case for overflow in signature generation\nmsg = c48890e92aeeb3af04858a8dc1d34f16a4347b91\nresult = valid\nsig = 367d07253a9d5a77d054b9c1a82d3c0a448a51905343320b3559325ef41839608aa45564978da1b2968c556cfb23b0c98a9be83e594d5e769d69d1156e1b1506\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = 0717d75ce27ea181ed5a30e6456c649b5cf453a6b4c12cd3f9fd16b31e0c25cd]\n[key.sk = 728238602b7e6753b3f49eb0fc4cde38c7bb14ab58ddcaef2537275b13e99dd3]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b65700321000717d75ce27ea181ed5a30e6456c649b5cf453a6b4c12cd3f9fd16b31e0c25cd]\n\n# tcId = 117\n# regression test for arithmetic error\nmsg = 26d5f0631f49106db58c4cfc903691134811b33c\nresult = valid\nsig = 9588e02bc815649d359ce710cdc69814556dd8c8bab1c468f40a49ebefb7f0de7ed49725edfd1b708fa1bad277c35d6c1b9c5ec25990997645780f9203d7dd08\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = db5b9eab7e84e5a13505865fa711c9c896c898609fc11fc9bc1e55028f9496df]\n[key.sk = dc4092d7809c6b070f2808c434267b6697428f4ab1e4626ab56a3059643be43c]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b6570032100db5b9eab7e84e5a13505865fa711c9c896c898609fc11fc9bc1e55028f9496df]\n\n# tcId = 118\n# regression test for arithmetic error\nmsg = 2a71f064af982a3a1103a75cef898732d7881981\nresult = valid\nsig = 2217a0be57dd0d6c0090641496bcb65e37213f02a0df50aff0368ee2808e1376504f37b37494132dfc4d4887f58b9e86eff924040db3925ee4f8e1428c4c500e\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = 7bac18f6d2625d3915f233434cda38a577247a7332a5170b37142a34644145e0]\n[key.sk = 38765b89ec56836ea4190fc957802b6a47167f9b5ef942e92652803b7de6abfd]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b65700321007bac18f6d2625d3915f233434cda38a577247a7332a5170b37142a34644145e0]\n\n# tcId = 119\n# regression test for arithmetic error\nmsg = bf26796cef4ddafcf5033c8d105057db0210b6ad\nresult = valid\nsig = 1fda6dd4519fdbefb515bfa39e8e5911f4a0a8aa65f40ef0c542b8b34b87f9c249dc57f320718ff457ed5915c4d0fc352affc1287724d3f3a9de1ff777a02e01\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = 38ead304624abebf3e2b31e20e5629531e3fc659008887c9106f5e55adbbc62a]\n[key.sk = 97575308a490af0c145411dd16d519a073ef03c2e4a0a1cd6b5de2e881e5eabe]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b657003210038ead304624abebf3e2b31e20e5629531e3fc659008887c9106f5e55adbbc62a]\n\n# tcId = 120\n# regression test for arithmetic error\nmsg = ae03da6997e40cea67935020152d3a9a365cc055\nresult = valid\nsig = 068eafdc2f36b97f9bae7fbda88b530d16b0e35054d3a351e3a4c914b22854c711505e49682e1a447e10a69e3b04d0759c859897b64f71137acf355b63faf100\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = e9bc95049af7e4817b17c402269ba5e767b7348757ac8002fec9e08390c0a9cf]\n[key.sk = ad129e89e0eec908df51adc227c8c4908a8095d75621536c8a28dca4b3c30dbb]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b6570032100e9bc95049af7e4817b17c402269ba5e767b7348757ac8002fec9e08390c0a9cf]\n\n# tcId = 121\n# regression test for arithmetic error\nmsg = 489d473f7fb83c7f6823baf65482517bccd8f4ea\nresult = valid\nsig = 43670abc9f09a8a415e76f4a21c6a46156f066b5a37b3c1e867cf67248c7b927e8d13a763e37abf936f5f27f7a8aa290539d21f740efd26b65fd5ad27085f400\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = ee8155ca4e8fe7bc5bca5992044eab7f8c3c6a13db1176f42f46c29da5b064f4]\n[key.sk = 03ce643d6d341b7065bc9e70da8193451cf83ca7ff5a8640fd07af094640365a]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b6570032100ee8155ca4e8fe7bc5bca5992044eab7f8c3c6a13db1176f42f46c29da5b064f4]\n\n# tcId = 122\n# regression test for arithmetic error\nmsg = 1b704d6692d60a07ad1e1d047b65e105a80d3459\nresult = valid\nsig = 56388f2228893b14ce4f2a5e0cc626591061de3a57c50a5ecab7b9d5bb2caeea191560a1cf2344c75fdb4a085444aa68d727b39f498169eaa82cf64a31f59803\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = db507bfcc9576393f7157bb360532b05c5fcf2e764b690cc6698a4a30d349095]\n[key.sk = 581f593a5cd94594dc0f5dd142026a436a930e573391b7aeea6a8253eeef6ceb]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b6570032100db507bfcc9576393f7157bb360532b05c5fcf2e764b690cc6698a4a30d349095]\n\n# tcId = 123\n# regression test for arithmetic error\nmsg = dc87030862c4c32f56261e93a367caf458c6be27\nresult = valid\nsig = 553e5845fc480a577da6544e602caadaa00ae3e5aa3dce9ef332b1541b6d5f21bdf1d01e98baf80b8435f9932f89b3eb70f02da24787aac8e77279e797d0bd0b\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = 994eaf03309d6ad9d95a656bc1744e2886f029023a3750b34f35086b3c7227f8]\n[key.sk = 6f207dc94b844d4dc71f982da8d9f3ae0b37b4623e441eca75ba62621c524d98]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b6570032100994eaf03309d6ad9d95a656bc1744e2886f029023a3750b34f35086b3c7227f8]\n\n# tcId = 124\n# regression test for arithmetic error\nmsg = 7f41ef68508343ef18813cb2fb332445ec6480cd\nresult = valid\nsig = bc10f88081b7be1f2505b6e76c5c82e358cf21ec11b7df1f334fb587bada465b53d9f7b4d4fec964432ee91ead1bc32ed3c82f2167da1c834a37515df7fe130e\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = 127d37e406e0d83e4b55a09e21e8f50fb88af47e4a43f018cdebffc1948757f0]\n[key.sk = dea9bbb9fb20512fa67eea696afd786f3928265f5208aeaba638f3177d0db70e]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b6570032100127d37e406e0d83e4b55a09e21e8f50fb88af47e4a43f018cdebffc1948757f0]\n\n# tcId = 125\n# regression test for arithmetic error\nmsg = e1ce107971534bc46a42ac609a1a37b4ca65791d\nresult = valid\nsig = 00c11e76b5866b7c37528b0670188c1a0473fb93c33b72ae604a8865a7d6e094ff722e8ede3cb18389685ff3c4086c29006047466f81e71a329711e0b9294709\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = d83ba84edfb4bec49f29be31d80a64b7c0b5a502438cdb1d0dd1e0e3e55786de]\n[key.sk = c99c52ae1e61f7c79a164ee4910fdcaa02946259ea5443f68b23d721d0472f63]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b6570032100d83ba84edfb4bec49f29be31d80a64b7c0b5a502438cdb1d0dd1e0e3e55786de]\n\n# tcId = 126\n# regression test for arithmetic error\nmsg = 869a827397c585cf35acf88a8728833ab1c8c81e\nresult = valid\nsig = 0a", + "6f0ac47ea136cb3ff00f7a96638e4984048999ee2da0af6e5c86bffb0e70bb97406b6ad5a4b764f7c99ebb6ec0fd434b8efe253b0423ef876c037998e8ab07\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = d3c9aa2f3d6ef217a166e8ae403ed436c37facbbe3beceb78df6eb439f8fa04a]\n[key.sk = d8aaad0749db159569a68b46048b3d3e8266e110150251c42806f0752a84e95b]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b6570032100d3c9aa2f3d6ef217a166e8ae403ed436c37facbbe3beceb78df6eb439f8fa04a]\n\n# tcId = 127\n# regression test for arithmetic error\nmsg = 619d8c4f2c93104be01cd574a385ceca08c33a9e\nresult = valid\nsig = b7cbb942a6661e2312f79548224f3e44f5841c6e880c68340756a00ce94a914e8404858265985e6bb97ef01d2d7e5e41340309606bfc43c8c6a8f925126b3d09\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = d53280367c1c0b95ac4112218b92c6a71c51fb6312ce668de196c7d52a136155]\n[key.sk = e78d26ab5b726c9d4dfb1f634082abded90432a2fd18089c7c85253a5d2fc7d0]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b6570032100d53280367c1c0b95ac4112218b92c6a71c51fb6312ce668de196c7d52a136155]\n\n# tcId = 128\n# regression test for arithmetic error\nmsg = 5257a0bae8326d259a6ce97420c65e6c2794afe2\nresult = valid\nsig = 27a4f24009e579173ff3064a6eff2a4d20224f8f85fdec982a9cf2e6a3b51537348a1d7851a3a932128a923a393ea84e6b35eb3473c32dceb9d7e9cab03a0f0d\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = 94ac2336ba97a476fb4c9f2b5563e4167ca292c6e99e422350a911ae3172c315]\n[key.sk = 8e7ca56e07f1438ac3615fd9ec77ae63679d0ec059b4595febf40be59d976a05]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b657003210094ac2336ba97a476fb4c9f2b5563e4167ca292c6e99e422350a911ae3172c315]\n\n# tcId = 129\n# regression test for arithmetic error\nmsg = 5acb6afc9b368f7acac0e71f6a4831c72d628405\nresult = valid\nsig = 985b605fe3f449f68081197a68c714da0bfbf6ac2ab9abb0508b6384ea4999cb8d79af98e86f589409e8d2609a8f8bd7e80aaa8d92a84e7737fbe8dcef41920a\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = e1e7316d231f7f275bdf403360304da1509fdf1af1fd25ca214eaac0a289398f]\n[key.sk = e77525af5856ab9df5abb64e5312576b498cc27f61f266e21f382e0526d4e6fb]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b6570032100e1e7316d231f7f275bdf403360304da1509fdf1af1fd25ca214eaac0a289398f]\n\n# tcId = 130\n# regression test for arithmetic error\nmsg = 3c87b3453277b353941591fc7eaa7dd37604b42a\nresult = valid\nsig = 1c8fbda3d39e2b441f06da6071c13115cb4115c7c3341704cf6513324d4cf1ef4a1dd7678a048b0dde84e48994d080befcd70854079d44b6a0b0f9fa002d130c\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = fffbeea71215efaf9888fec2cc68edb3703ff11a66fd629b53cbda5eabc18750]\n[key.sk = 1f43235ad716f1beb754ab0f546dfa934488fdf7472b493d7cc3c60353005d24]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b6570032100fffbeea71215efaf9888fec2cc68edb3703ff11a66fd629b53cbda5eabc18750]\n\n# tcId = 131\n# regression test for arithmetic error\nmsg = 0a68e27ef6847bfd9e398b328a0ded3679d4649d\nresult = valid\nsig = 59097233eb141ed948b4f3c28a9496b9a7eca77454ecfe7e46737d1449a0b76b15aacf77cf48af27a668aa4434cfa26c504d75a2bcc4feac46465446234c0508\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = 19ccc0527599cb032e0b4c4d74e60f13901768a99df041c3bc1bf6c0ef271169]\n[key.sk = 3977785b9f8c5320e51a3a16f8cc22c4f7e64857617f9550147fa35d685ca34f]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b657003210019ccc0527599cb032e0b4c4d74e60f13901768a99df041c3bc1bf6c0ef271169]\n\n# tcId = 132\n# regression test for arithmetic error\nmsg = 4e9bef60737c7d4dd10bd52567e1473a36d3573d\nresult = valid\nsig = 519105608508fe2f1b6da4cc8b23e39798b1d18d25972beed0404cec722e01ba1b6a0f85e99e092cca8076b101b60d4ac5035684357f4d0daacdc642da742a06\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = 0e726e27047563aa0a1a9c2e085d8d26af2acba129d0869c65031e3e6cac329a]\n[key.sk = 1aa4415c5db0131bec6fa188d0c23d49a65bf795657153fae94777e3f19bcf54]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b65700321000e726e27047563aa0a1a9c2e085d8d26af2acba129d0869c65031e3e6cac329a]\n\n# tcId = 133\n# regression test for arithmetic error\nmsg = cc82b3163efda3ba7e9240e765112caa69113694\nresult = valid\nsig = d8b03ee579e73f16477527fc9dc37a72eaac0748a733772c483ba013944f01ef64fb4ec5e3a95021dc22f4ae282baff6e9b9cc8433c6b6710d82e7397d72ef04\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = e77717b54a2b5e5bce5bccb8f0c5fdb5fd7df77ac254020fc9120dc0d4df4178]\n[key.sk = 0fb7680a50d3f2940077ea4dfcb7eb040a125c4f4b5dcefa16d3af968fc8e5de]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b6570032100e77717b54a2b5e5bce5bccb8f0c5fdb5fd7df77ac254020fc9120dc0d4df4178]\n\n# tcId = 134\n# regression test for arithmetic error\nmsg = 923a5c9e7b5635bb6c32c5a408a4a15b652450eb\nresult = valid\nsig = 26da61fdfd38e6d01792813f27840c8b4766b0faaed39d0ee898cb450d94a5d5f57e58b6a003d7f9b56b20561954c6edcf66492d116b8b5e91f205a3a6449d0b\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = 6220972d3f7d150b36790d7d522384876d64d640cd9913186815e1629582ed36]\n[key.sk = e222c444d6bc8a4796a0d5a2d71d19b98845cc56e39caaf8233ea4c6b0704f09]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b65700321006220972d3f7d150b36790d7d522384876d64d640cd9913186815e1629582ed36]\n\n# tcId = 135\n# regression test for arithmetic error\nmsg = 6f2f0245de4587062979d0422d349f93ccdc3af2\nresult = valid\nsig = 4adeaff7a58c5010a5a067feea0ae504d37b0c6a76c6c153e222f13409dff2df0fab69bc5059b97d925dc1b89e9851d7c627cb82d65585f9fd976124553f8902\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = 7b64a28c50ec7678a90e3e1a21522e30ac9db7b5215aea2bfb33bea037eab987]\n[key.sk = a89ea18476b9ad90cb14b8b1ff24777e4ebd015bc810a60785a9154dacf3be52]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b65700321007b64a28c50ec7678a90e3e1a21522e30ac9db7b5215aea2bfb33bea037eab987]\n\n# tcId = 136\n# regression test for arithmetic error\nmsg = 6e911edb27a170b983d4dee1110554f804330f41\nresult = valid\nsig = 4204d620cde0c3008c0b2901f5d6b44f88f0e3cb4f4d62252bf6f3cb37c1fb150a9ccb296afe5e7c75f65b5c8edd13dc4910ffe1e1265b3707c59042cf9a5902\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = 724452210a9e4c994819229bf12bf84e95768a3a97c08d8d8f5f939a4cad34c5]\n[key.sk = 69b1da56cde8d1676c2a8c0e7f95c7d0bf60739efd1304dd2ccb02729d17a22c]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b6570032100724452210a9e4c994819229bf12bf84e95768a3a97c08d8d8f5f939a4cad34c5]\n\n# tcId = 137\n# regression test for arithmetic error\nmsg = b8cf807eea809aaf739aa091f3b7a3f2fd39fb51\nresult = valid\nsig = f8a69d3fd8c2ff0a9dec41e4c6b43675ce08366a35e220b1185ffc246c339e22c20ac661e866f52054015efd04f42eca2adcee6834c4df923b4a62576e4dff0e\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = bad265b294ed2f422cb6a141694086238fbfe987571aa765d8b4f3a24105aa01]\n[key.sk = b332265cf95595f0c90221593b5a2b3c574d60dc634ddff6186f0eed7980a383]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b6570032100bad265b294ed2f422cb6a141694086238fbfe987571aa765d8b4f3a24105aa01]\n\n# tcId = 138\n# regression test for arithmetic error\nmsg = 01a2b5f7fee813b4e9bd7fc25137648004795010\nresult = valid\nsig = 61792c9442bc6338ac41fd42a40bee9b02ec1836503d60ff725128c63d72808880c36e6190b7da525cbee5d12900aa043547dd14a2709ef9e49d628f37f6b70c\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = 0aaee4b723db9b51ba7d22eb23eb8a76a5ac02f4fc9dd06f77bea42e1d37ec5a]\n[key.sk = faec9764b369df0ef10890dd022c502e551a3222b43e8429455496c76feea45d]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b65700321000aaee4b723db9b51ba7d22eb23eb8a76a5ac02f4fc9dd06f77bea42e1d37ec5a]\n\n# tcId = 139\n# regression test for arithmetic error\nmsg = 0fbf5d47cb5d498feace8f98f1896208da38a885\nresult = valid\nsig = fa3cd41e3a8c00b19eecd404a63c3cb787cd30de0dfc936966cff2117f5aff18db6bef80fcfd8856f3fb2e9c3dc47593e9471103032af918feee638a33d40505\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = 812344af15a91ba83c2c91e96f1727ac0f3c4c41385b9fa84efa399ada5168be]\n[key.sk = 4eb19e278f7a30a06a7d55e42c44775f4a81b7a45c0512aae026262e71770dac]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b6570032100812344af15a91ba83c2c91e96f1727ac0f3c4c41385b9fa84efa399ada5168be]\n\n# tcId = 140\n# regression test for arithmetic error\nmsg = 36e67c1939750bffb3e4ba6cb85562612275e862\nresult = valid\nsig = 97fbbcd7a1d0eb42d2f8c42448ef35a2c2472740556b645547865330d6c57068af377fced08aaf810c08cd3c43d296f1975710312e9334c98b485f831efa4103\n\n", + "[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = 0ee5cb5597fbdf8dccc48b01485e39b33aa133b52d30d23740277267cfec3e3e]\n[key.sk = 1998d5949cab365a00f828e7d17b06c708d33fef0031d353a4e15bf7222a73b0]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b65700321000ee5cb5597fbdf8dccc48b01485e39b33aa133b52d30d23740277267cfec3e3e]\n\n# tcId = 141\n# regression test for arithmetic error\nmsg = 13945c894c1d3fe8562e8b20e5f0efaa26ade8e3\nresult = valid\nsig = d7dbaa337ffd2a5fd8d5fd8ad5aeccc0c0f83795c2c59fe62a40b87903b1ae62ed748a8df5af4d32f9f822a65d0e498b6f40eaf369a9342a1164ee7d08b58103\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = 9fba1de92b60b5b4703089763d0d6f9125e4dd7efae41f08a22882aef96892c4]\n[key.sk = 6164676114c66bd9887dac341c66209dc587ccf0cc5cd9baffdfac9295a00c4a]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b65700321009fba1de92b60b5b4703089763d0d6f9125e4dd7efae41f08a22882aef96892c4]\n\n# tcId = 142\n# regression test for arithmetic error\nmsg = 4de142af4b8402f80a47fa812df84f42e283cee7\nresult = valid\nsig = 09a2ed303a2fa7027a1dd7c3b0d25121eeed2b644a2fbc17aa0c8aea4524071ede7e7dd7a536d5497f8165d29e4e1b63200f74bbae39fbbbccb29889c62c1f09\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = 7582ab1b52e1316e5c13671f43b39ca36b28133cd0832831bcddd0b0f23398cb]\n[key.sk = 4b0bd03a03b20069ccbcc214a7448473f4e7a491fa7ceb48ddbe24c83c4aa4bb]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b65700321007582ab1b52e1316e5c13671f43b39ca36b28133cd0832831bcddd0b0f23398cb]\n\n# tcId = 143\n# regression test for arithmetic error\nmsg = 563357f41b8b23b1d83f19f5667177a67da20b18\nresult = valid\nsig = e6884a6e6b2e60a0b5862251c001e7c79d581d777d6fc11d218d0aecd79f26a30e2ca22cc7c4674f8b72655bc4ee5cb5494ca07c05177656142ac55cc9d33e02\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = dd2d678bae222f3fb6e8278f08cc9e1a66339c926c29ac0a16f9717f5ee18cd8]\n[key.sk = 2fce7870be1f392d21fb1d2350ec7877db8aa99b359fe5bdd5338ff35a791d1c]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b6570032100dd2d678bae222f3fb6e8278f08cc9e1a66339c926c29ac0a16f9717f5ee18cd8]\n\n# tcId = 144\n# regression test for arithmetic error\nmsg = 931bbf9c877a6571cf7d4609fc3eb867edd43f51\nresult = valid\nsig = 6124c206d864507ea5d984b363b4cf583314db6856a45ded5e61eebff4d5e337e0b4c82b445ae2e52d549d2d961eace2ea01f81158e09a9686baa040db65ad08\n\n[key.curve = edwards25519]\n[key.keySize = 255]\n[key.pk = ccbe7cb2e4bc215cee2f885e1d22f7e0d582b2bbbd782c104e548b152d26fc69]\n[key.sk = a9ace42195ddbb3a16f366b24dd9d37a8a043ed2e6001f54652296750379367d]\n[key.type = EDDSAKeyPair]\n[keyDer = 302a300506032b6570032100ccbe7cb2e4bc215cee2f885e1d22f7e0d582b2bbbd782c104e548b152d26fc69]\n\n# tcId = 145\n# regression test for arithmetic error\nmsg = 44530b0b34f598767a7b875b0caee3c7b9c502d1\nresult = valid\nsig = cfbd450a2c83cb8436c348822fe3ee347d4ee937b7f2ea11ed755cc52852407c9eec2c1fa30d2f9aef90e89b2cc3bcef2b1b9ca59f712110d19894a9cf6a2802\n\n", }; -static const size_t kLen75 = 48818; +static const size_t kLen108 = 61255; -static const char *kData75[] = { - "# Imported from Wycheproof's third_party/wycheproof_testvectors/kwp_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: KWP\n# Generator version: 0.4.12\n\n[keySize = 128]\n\n# tcId = 1\nct = 8cd63fa6788aa5edfa753fc87d645a672b14107c3b4519e7\nkey = 6f67486d1e914419cb43c28509c7c1ea\nmsg = 8dc0632d92ee0be4f740028410b08270\nresult = valid\n\n# tcId = 2\nct = e8bac475d1429034b32f9bdeec09a37f9b3704028f1e0270\nkey = a0b17172bb296db7f5c869e9a36b5ce3\nmsg = 615dd022d607c910f20178cbdf42060f\nresult = valid\n\n# tcId = 3\nct = 4c8bcd601b508ef399f71b841294497a4493c4a0014c0103\nkey = 0e49d571c19b5250effd41d94bde39d6\nmsg = f25e4de8caca363fd5f29442eb147b55\nresult = valid\n\n# tcId = 4\n# wrapped key is longer than wrapping key\nct = 9e4510cc84c4bd7abab0a8a5d7f1e6ff3e6777ca2dff9be7e223652239fe57d8\nkey = e0e12959109103e30ae8b5684a22e662\nmsg = dbb0f2bb2be912a20430972d9842ce3fd3b928e573e1ac8e\nresult = acceptable\n\n# tcId = 5\n# wrapped key is longer than wrapping key\nct = 8fbf39ae583bd4efa7a3e8f7b86870b34766ae7d8923a8e97b0cd289ad98cacb\nkey = dd583d9f1059861430ec8b5d8a180e9b\nmsg = f2e34f356362a31b51d6e02bcd333c9e6170494ca5ff5487\nresult = acceptable\n\n# tcId = 6\n# wrapped key is longer than wrapping key\nct = df2fbe5fa86418edc7b5b04a4aea724aca17e88cedc84ca8b0b0f048e64590cb\nkey = faf5ccfae42b43cee2c5f0f3177a7c5d\nmsg = 4e02084833660c463830483b36dab866c64c8cf7429cac3d\nresult = acceptable\n\n# tcId = 7\n# wrapped key is longer than wrapping key\nct = 67f8edf57f84ea0a35b35511d67d3f299c9984b2c07d3809c3d7f5f45091f1a8fbb937ed447677f6\nkey = c2b9d23f2831ddcdeb456853d4014db9\nmsg = f4cfea98e58b939cc859554385cf3a6c7f8217f728efb431c964786de8274907\nresult = acceptable\n\n# tcId = 8\n# wrapped key is longer than wrapping key\nct = 60d55a22ba7dbd7d8f317388e01e6be561d15d29f85c566f1259aa7e7dc3d5d30e0ef5f4c6267553\nkey = 620a08f320cdedbf7ae551add348d95e\nmsg = cec34eaf8e67e1ce619ddfc309531c42f16033a7e2cbc4f5eb3a548164e9b291\nresult = acceptable\n\n# tcId = 9\n# wrapped key is longer than wrapping key\nct = d78a8291108f0f2d8be0ec10ec08240bf4d3021f0a5ed7faba0748db73762f34a0504bd373212df2\nkey = ed089ac274f8c7cea2415671a94b5e53\nmsg = 6065e41df14daeeefacac5daeb7674cdc9c1f686013b797153e80ef215893299\nresult = acceptable\n\n# tcId = 10\n# Round counter overflows 256\nct = 9341221aca1c647e2afc2bdd9cf4ed6e60058eb0a84cb3fc2daf3a87d9fad0a1f8268b27aaf7201d705e72f7e2240309ad98742094e3f1c99b7faa9ae181b441f5004b8bc93cdd4160d403d0884749a3c379d47c112a45788c05c2106c98f59758d393e04c880691b0e8683a12df7f876e1e1f68b4acbae9cc8310b34d59ccf4617cee72e845df1e0e32e5b4938f2923d55f1bb5156dd8c787401e6ef241ea4073d0a59ddfcd7a53db5d89b480b030cfb9084ea8479b964f090bb612d5251eee9ef8870a45f1e76fd24abdd9b350fe148b15a4cfeb032d57b5743b3548a7ce9eec8e21a31ce832530edfd1cffd9bb37369e6463c6b373ab60d80b0a2677e92e658f7daf2a5234b7312bf2d967cd0bc809e9be2f706ae63bd632fd611f161e48ee19677f3243aa0e91f6651a1cef62feff7a72eedf830bae1dc6d89e55ccb5e6f97889c6266f7d3f2eb0aea6c8c42200febccc5916825368adc87e04e835de06fd7bc2805c219e7f0b6252563f29969b1f30cfa1a8da4b90ae7534fb849d068a7e77de7360f8af173\nkey = b6121acad51038e11873aaa7e6c7be06\nmsg = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = acceptable\n\n# tcId = 11\n# wrapping small key\nct = a65959a600000000\nkey = 1abf4b7fa2bb62a78f09ddab04625dca\nmsg = \nresult = acceptable\n\n# tcId = 12\n# wrapping small key\nct = 09bcbab50b8dd45ad83412e2919030d3\nkey = 1abf4b7fa2bb62a78f09ddab04625dca\nmsg = 4c\nresult = acceptable\n\n# tcId = 13\n# wrapping small key\nct = 0cbe852cdce4f0b5333366f446b2b1c5\nkey = 1abf4b7fa2bb62a78f09ddab04625dca\nmsg = be52\nresult = acceptable\n\n# tcId = 14\n# wrapping small key\nct = a9dc66e03435ab3d4f97ff66f2c911a3\nkey = 1abf4b7fa2bb62a78f09ddab04625dca\nmsg = 2d5244\nresult = acceptable\n\n# tcId = 15\n# wrapping small key\nct = 1b970c8ecb4187447e60e6083da03086\nkey = 1abf4b7fa2bb62a78f09ddab04625dca\nmsg = 6c3d3b4c\nresult = acceptable\n\n# tcId = 16\n# wrapping small key\nct = 0344f7b34ab8ef28aaa843f276b0b3d5\nkey = 1abf4b7fa2bb62a78f09ddab04625dca\nmsg = 0412ab3ec6\nresult = acceptable\n\n# tcId = 17\n# wrapping small key\nct = 17356c7148334ca1a24aab7e82a66e18\nkey = 1abf4b7fa2bb62a78f09ddab04625dca\nmsg = 8ae08938929c\nresult = acceptable\n\n# tcId = 18\n# wrapping small key\nct = 1db7510a55591a455d9f8167e6db3c88\nkey = 1abf4b7fa2bb62a78f09ddab04625dca\nmsg = 7c8dfbb68d72af\nresult = acceptable\n\n# tcId = 19\n# wrapping small key\nct = 936fe58b629ea6ec158145218f2361c7\nkey = 1abf4b7fa2bb62a78f09ddab04625dca\nmsg = 536f8f83b64771c1\nresult = acceptable\n\n# tcId = 20\n# wrapping small key\nct = 6787816804b3127d0ca4073f1dba5c4d3db1ec9c227e6556\nkey = 1abf4b7fa2bb62a78f09ddab04625dca\nmsg = 8571f282b18b64ec5e\nresult = acceptable\n\n# tcId = 21\n# wrapping small key\nct = 34131c3bfcc48af15eea8672e52927b462f81d5ba0e6260f\nkey = 1abf4b7fa2bb62a78f09ddab04625dca\nmsg = 8ada889862813e364c4d\nresult = acceptable\n\n# tcId = 22\n# wrapping small key\nct = 4d1ec9287cd4dd378b9aefee79d4ed35bcb98ad9fa9fe529\nkey = 1abf4b7fa2bb62a78f09ddab04625dca\nmsg = f9c56e8058758a5c7c2baa\nresult = acceptable\n\n# tcId = 23\n# wrapping small key\nct = 7209f5b6bd5d4916f4995d280e9aa89edd5e96e3c9283ad2\nkey = 1abf4b7fa2bb62a78f09ddab04625dca\nmsg = 7c7dbc83fa62206a521ed4ad\nresult = acceptable\n\n# tcId = 24\n# wrapping small key\nct = d85a1efc6ab3a40948f723d9810a5deb019b3ce0208a0d94\nkey = 1abf4b7fa2bb62a78f09ddab04625dca\nmsg = a6614daf00df6d14f50388bad5\nresult = acceptable\n\n# tcId = 25\n# wrapping small key\nct = 43509b5df3688b6e44c1a994592f4c03da34712f886e63d5\nkey = 1abf4b7fa2bb62a78f09ddab04625dca\nmsg = 450580a47d7008321496bfb82f48\nresult = acceptable\n\n# tcId = 26\n# wrapping small key\nct = 16e369351c40f220d3fb1197f35da652a3a40ca3b1e99bfb\nkey = 1abf4b7fa2bb62a78f09ddab04625dca\nmsg = 9efd21e13855eea8907afdcd8935f4\nresult = acceptable\n\n# tcId = 27\n# Modified IV\nct = 82af032f5389caa503147d2825336eab84816fb6f8ae6df4\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 28\n# Modified IV\nct = 4e00a9eeef87eb6d7be4ec46204d94006c216d5177d2a83c\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 29\n# Modified IV\nct = d3dc6c3b4707a08039d621879caf419b9895482fff7bdcd0\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 30\n# Modified IV\nct = 09d3bfc3c9c5af2b2951b06406f7ea4d84e9c37402637e2c\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 31\n# Modified IV\nct = 3396679a4d87caf7ce7eb4707ba1c6526728f5a973191713\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 32\n# Modified IV\nct = ec637d90d945e92929c1c873d9aa9c47bc7b172237319d15\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 33\n# Modified IV\nct = 748f373d48d8590e2216b294b9ef94860dbb6b0b0ab625c5\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 34\n# Modified IV\nct = 61d7c584197f257caf2583e444896f1d3ba12509b1ef725b\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 35\n# Modified IV\nct = 7f8cda973fe58b484b120fc710b520c5636057629795f89a\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 36\n# Modified IV\nct = ccea198029edb9d848d6ca76667b666b1dbebd1e4b1faa8d\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 37\n# Modified IV\nct = ee08cb9d20a98b88b2d8f0e39acf34219d105dc14afbe364\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nm", - "sg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 38\n# Modified IV\nct = 6782992bf8cff068cf41341dd2ca04adedea92e846f74411\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 39\n# Modified IV\nct = 7ed35d0c08042dd56bb5df78056ecd21b8c797d36f57aaec\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 40\n# Modified IV\nct = 37e3b4cefee648766a8efe73d6af12812eded603ab7141bb\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 41\n# Modified IV\nct = fe73777d8992e07eef0d053ad5ec0bf8243fc7e0bc2b405b\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 42\n# Modified IV\nct = 39292c91b6b826d47d502043c3ba4f41e2ce32960a0291b5\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 43\n# Modified IV\nct = 36ef8fc13d0f1f5745e3939877b62b8ecba2f5f0b19f9e90\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 44\n# Modified IV\nct = 7255c4eacb4105a68095e9e5b5a4bd8f9623a0da5c6fc230\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 45\n# Modified IV\nct = ea26eec89a46ff1a628834c7247a8e4e45d8a8d3229e26cc\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 46\n# Modified IV\nct = 508593fa85a8effd27c8a225981978fcec6e992eb488c9c2\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 47\n# Modified IV\nct = b8a4cb22f15529864d4ced8e8abae69752a9045a084dfc3f\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 48\n# Modified IV\nct = a0a6bf5e47e89706932b1057b680c3c81dc4d9d0b4f9153b\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 49\n# Modified IV\nct = 11f3af4ed30e77520517c880f1d0c272a89a968dc697cb5a\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 50\n# Modified IV\nct = 6fc912a0bda73bacfa93db4002f18f349fa30f22f7a95ab9\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 51\n# RFC 3349 padding\nct = 3731038571c35f7dcc55e48892de353e54c079b89774bbfd\nkey = 48a53c11ef2d727db7eb9a834b134ea9\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\n\n# tcId = 52\n# Invalid encryption\nct = d85c6bfd092df1aeae5a548e47aa7681\nkey = 48a53c11ef2d727db7eb9a834b134ea9\nmsg = 0001020304050607\nresult = invalid\n\n# tcId = 53\n# padding too long\nct = 7a92427387f5587ee825d1ffa011c40286844ecdadce31cd9678338694ea2682\nkey = 48a53c11ef2d727db7eb9a834b134ea9\nmsg = 000000000000000000000000000000000000000000000000\nresult = invalid\n\n# tcId = 54\n# padding too long\nct = a437d354606ae752894feb62c8def7d17046d8e47f9aed755fba48b3a3009e3ff67d34e26a779064\nkey = 48a53c11ef2d727db7eb9a834b134ea9\nmsg = 0000000000000000000000000000000000000000000000000000000000000000\nresult = invalid\n\n# tcId = 55\n# incorrectly encoded length\nct = e8d240d64f16d1522ae2ded42ced257dfec158ff2fe1467d\nkey = 48a53c11ef2d727db7eb9a834b134ea9\nmsg = 00000000000000000000000000000000\nresult = invalid\n\n# tcId = 56\n# length = 2**32-1\nct = 6d1bfda356b7b954e7aaccc6df953322f75be95947b02b30\nkey = 48a53c11ef2d727db7eb9a834b134ea9\nmsg = 00000000000000000000000000000000\nresult = invalid\n\n# tcId = 57\n# length = 2**32-1\nct = 17dbf878ef4076cfcaba5f81d7b123d7\nkey = 48a53c11ef2d727db7eb9a834b134ea9\nmsg = 0000000000000000\nresult = invalid\n\n# tcId = 58\n# length = 2**31-1\nct = 75c23e253478037802fae0f86af9c78d4e4d9be0c3bff89f\nkey = 48a53c11ef2d727db7eb9a834b134ea9\nmsg = 00000000000000000000000000000000\nresult = invalid\n\n# tcId = 59\n# length = 2**31 + 16\nct = 55717658c6a35e15ee36c66cce91083b63091f51525c0b51\nkey = 48a53c11ef2d727db7eb9a834b134ea9\nmsg = 00000000000000000000000000000000\nresult = invalid\n\n# tcId = 60\n# data is incorrectly padded\nct = 8ede88a52ccb8a6d617456955a9f04c94d87696125ded87eebe3e97e185496d9\nkey = 48a53c11ef2d727db7eb9a834b134ea9\nmsg = ffffffffffffffffffffffffffffffffffffffffffffffff\nresult = invalid\n\n# tcId = 61\n# data is incorrectly padded\nct = 5b4a8f1abffa51676ac8b5ddf9366c12\nkey = 48a53c11ef2d727db7eb9a834b134ea9\nmsg = 0001020304050607\nresult = invalid\n\n# tcId = 62\n# length = 0\nct = 205cc6dd9592da0ebff6b4b48a0c450eeaeb11a60d33f387\nkey = 48a53c11ef2d727db7eb9a834b134ea9\nmsg = 00000000000000000000000000000000\nresult = invalid\n\n# tcId = 63\n# RFC 3349 padding with incorrect size\nct = 908a68b0d2054e199220d37c34a2e136\nkey = 48a53c11ef2d727db7eb9a834b134ea9\nmsg = 0001020304050607\nresult = invalid\n\n# tcId = 64\n# length = 9\nct = f84bdb15045cee3a8a0f3ed2f07c1771\nkey = 48a53c11ef2d727db7eb9a834b134ea9\nmsg = 0000000000000000\nresult = invalid\n\n# tcId = 65\n# length = 16\nct = 7592b1ee6ee92c9467db366adcfa65bb\nkey = 48a53c11ef2d727db7eb9a834b134ea9\nmsg = 0000000000000000\nresult = invalid\n\n# tcId = 66\n# length = 2**31 + 8\nct = db93a1db3b5babc80a304d527682c1ef\nkey = 48a53c11ef2d727db7eb9a834b134ea9\nmsg = 0000000000000000\nresult = invalid\n\n[keySize = 192]\n\n# tcId = 67\nct = 5c117a678223cfe5ee691503061e7ab1e5f720e005171b32\nkey = f75a2f49a630c7dc91626b00ce029f0bd2981d7c74a93ebe\nmsg = 9adbc00c710b1101bdf6a4ed65b32d72\nresult = valid\n\n# tcId = 68\nct = 6a7f9e03b6f379c56da3a56d8f32eba515454a91fd417449\nkey = b713f6b7814f98894d7b153974684359f1460213eb74be68\nmsg = 78585f0c49922e82caf17ebc3721b4db\nresult = valid\n\n# tcId = 69\nct = 764097f5ee8236bc0d93bbcea139a652f4b211cc33a61ac9\nkey = 13ecf423211caa334ba6db37259a535c20de8ad10fc8c432\nmsg = 4fc75d0f221e22408a37e11265d49a05\nresult = valid\n\n# tcId = 70\nct = 04b83ec803a75bbcb2f87fc6f488a4ccc1827b412483070eed195b6f0048ccbe\nkey = 4417fbbea51bdd91818d74051957dd70e135c5cf3732bdf1\nmsg = f5357da9f8fd4a1190f36e9fa09a90fcf14d87d62332f1a5\nresult = valid\n\n# tcId = 71\nct = 46ab71f032cb1ccbcc7447a5183574268c0167a26a93fe8422bf284417aa93ea\nkey = b3f26d8a22fdd61f709841231fbde695b3f28dddced6d41e\nmsg = 0d0af955d2e3829cc3d643219b301e64e0510dfbc428119a\nresult = valid\n\n# tcId = 72\nct = 47ca298ee47b1b755a499129347e11e7a25754ccb6c2689e8eff270e98c81d18\nkey = f70cfb262c729a18206c8afd74356ec7e049d10b44a6e000\nmsg = 241cedfa64c4e7bec541a2eb4c368269e0f0ddebc58267ea\nresult = valid\n\n# tcId = 73\n# wrapped key is longer than wrapping key\nct = ecac4c91758e1ae7bb010c34f4c5f99a3d728b9fa92cb778d3fe80d777a20d3de85ef46e7a0c6a6a\nkey = 1639f9f81e53e2eeb677a249e5eced3af108971301601a7b\nmsg = ec3c6a1f1a9585327fe658490c74635e5300876da5846a629398984fb551d691\nresult = acceptable\n\n# tcId = 74\n# wrapped key is longer than wrapping key\nct = 39b7326a44eaed08bffbd4aeaf3e2c3f899c1fd049384ed7b3eb92b788c6449acd6385f0bb18cf28\nkey = 1f22d5658aa685b8ba8659dc342880d5b2399e6a815005b0\nmsg = 50be4c1b2f29a63f44d7fc63737f600f0194ea3fb36e173d2ddd19f218656380\nresult = acceptable\n\n# tcId = 75\n# wrapped key is longer than wrapping key\nct = 3d2e9f39c7b13e9585227c4344fbe596f92b002456616f137deacc6a8c941649ce294bb2695c1807\nkey = 3a2f4aa50441954bba5a1836294ce071f9296b23dbed6771\nmsg = 65da02ff21b483a1e39575490b4319e84ae0299f1f00b3859fbe2e74b3ec2aaf\nresult = acceptable\n\n# tcId = 76\n# Round counter overflows 256\nct = d6aacfb52c26baae78c2f54259a4e4168f817064344e2ba8fbfa7fae9f1fd69bd5bc5c1e20a6101b4a7119cbce028e25a9e93d29ee260c4e609baedee788411c2afe60218ce1b0d28b9c29b941251fdcbac3009d59040a0337b8b4a3a020c6d8f310cba63db046d8f36b64c9092e75cee463fc7692ef56bed395c4579da0ecb02129e45ad8a7f116aac6170204888e40693f017a6a0a7dd3962004e60db3a9b6c8b7614a467ccb799bce1ba83f5c0921f1e52bb3909bc0486ec0eaea736498f3ba520a519c3ddf491307958620b737613417b15b438b80b43189baa455031f5771502002ea170c767b33d247feebce62e606f2262537f85f18d1951cc75cedef291c6a501cb1778586249b58156eb8d7283a3f508ee8bcc1206d77bbd6892fe74b865bfc02a8f07223087a6c1e50a41b7cf5f6ee04bd07766b2e5b34c4a7666b0ce06f670e6434a59fb74e0df36c91d94e5e8b721e53e09b6f6504c5d515492a373fcc348a63122cc6e4716e0e1a543d038c6f7731199f691780a8a655cca6718e3dc56e815b3669\nkey = b6121acad51038e11873aaa7e6c7be06f93826b74fec0ea1\nmsg = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = acceptable\n\n# tcId = 77\n# wrapping small key\nct = a65959a600000000\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b\nmsg = \nresult = acceptable\n\n# tcId = 78\n# wrapping small key\nct = 52c7f388d0d4237afaa29f2b94723475\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b\nmsg = a3\nresult = acceptable\n\n# tcId = 79\n# wrapping small key\nct = 833431ce8799be69b36aafe3f38d9dac\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b\nmsg = 594b\nresult = acceptable\n\n# tcId = 80\n# wrapping small key\nct = 31674f46b989f6ead582c70dedc8c6b9\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b\nmsg = 72ab34\nresult = acceptable\n\n# tcId = 81\n# wrapping small key\nct = 80535172d2a498aa31601d70fdca9dea\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b\nmsg = d4d9460f\nresult = acceptable\n\n# tcId = 82\n# wrapping small key\nct = 56232300dd7b2a71d2328b6df47af8e3\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b\nmsg = 643972e552\nresult = acceptable\n\n# tcId = 83\n# wrapping small key\nct = e27e08efe39adbbad8d300b87be2c258\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b\nmsg = f3cdb73d2561\nresult = acceptable\n\n# tcId = 84\n# wrapping small key\nct = 8f90942cdab33e58b24a23ad7efb7538\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b\nmsg = 7b0b53b6429e14\nresult = acceptable\n\n# tcId = 85\n# wrapping small key\nct = 0ebaf23c858015d3bda5b8d908db6049\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b\nmsg = 6b2393773e6d1378\nresult = acceptable\n\n# tcId = 86\n# wrapping small key\nct = d56f89977b8eff511158edad6b993007189e5a4b8c0e2faf\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b\nmsg = 2c52d6639e769960e8\nresult = acceptable\n\n# tcId = 87\n# wrapping small key\nct = dd889475a76733849f59bed49a15d4315bdb5ba00dc63470\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b\nmsg = 707c9356216d69c69048\nresult = acceptable\n\n# tcId = 88\n# wrapping small key\nct = 1a9b3369239b0f40a8dc5bd8d965caf7431445799337b99b\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b\nmsg = 615f6fa79e1847e7359a8a\nresult = acceptable\n\n# tcId = 89\n# wrapping small key\nct = 5232f8f6679a17d3303b0bd72b06b56b5089e80372dc295b\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b\nmsg = 7f5e999168ec60624426cbb1\nresult = acceptable\n\n# tcId = 90\n# wrapping small key\nct = e5544361c60980f3d38f2d8820a150f48f49ef3f9184b29f\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b\nmsg = 3f93aaf4463775baf6c0c975ae\nresult = acceptable\n\n# tcId = 91\n# wrapping small key\nct = 55396065905915ec914b8d1efbf471e37d283fc2c1496b49\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b\nmsg = fefcf10c976309b2beb085771e50\nresult = acceptable\n\n# tcId = 92\n# wrapping small key\nct = d90376be302a24c541bd6d96094f0025e3d73888391b4306\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b\nmsg = 6854354d0099f7eff740b0587140b3\nresult = acceptable\n\n# tcId = 93\n# Modified IV\nct = eee27510be39cc88379459420f3773642a423ac1ff0cfb84\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 94\n# Modified IV\nct = 765df3fa1aca6f13268ba79f8659807049a313a0308b643e\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 95\n# Modified IV\nct = 71346c17a2718cb7c357e3af2b2d0c3e29b7e02317926746\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 96\n# Modified IV\nct = 55fd49ba081fdf72896068c5a968e2b3c4a473786a2e12c2\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 97\n# Modified IV\nct = 133c66fcbf0e9d5139eff3fcb494b672d72bb622d7015c4b\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 98\n# Modified IV\nct = 8439244f27470e5f1f294cfa22ef5412675d7fbbd92ff016\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 99\n# Modified IV\nct = 4265bdb7d8ea30d9a51e5f48b7ac5487e0c95f154ea8baeb\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 100\n# Modified IV\nct = 31afcca8ff2b8806408c3460181ee5a96bbaf51d133211be\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 101\n# Modified IV\nct = 196f2a6eccb5368fe6a3f2fa0874d8fc9b3b52484e2d6351\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 102\n# Modified IV\nct = 8dc73d363fdb32f6e0ff830c2a48db5815f66d0922694c74\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 103\n# Modified IV\nct = e90022b9da998b4a30c91c1bd1a1f8ca05a52432867e5e78\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 104\n# Modified IV\nct = c9898a1b70bd718df45f1f3eca82eab1eaddb8ed7f2380dc\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 105\n# Modified IV\nct = cc3f2cd6476eddbbfdc801b61174301688554f3db54c2903\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 106\n# Modified IV\nct = 23e15705e7b00d82bd052f0e0135ab7ac0dcce471ff2f1a7\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 107\n# Modified IV\nct = b8e2862c0f9eae4f44ad99496e3ed62b3b9c4ce7ab5afb74\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 108\n# Modified IV\nct = 66d8a7769d81421efda456992f6c26cb17665fe080b0160e\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 109\n# Modified IV\nct = a6a28bceb91551a395369ff09370658cc92b092855f417aa\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 110\n# Modified IV\nct = 03ff601cf12b432078a2185590fb5d01e3441cf084bcb04a\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 111\n# Modified IV\nct = e250d358d16d9fd20ad80a99656509229dca391aad3798f0\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 112\n# Modified IV\nct = 643a17860b116ec74089bc574685a6328a3d7a07cd18b520\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 113\n# Modified IV\nct = 3e86e8128904f753c0f3fe3401ba36672966567725c4726c\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 114\n# Modified IV\nct = d4b8cc849176b8344b0849490143d3512915171bd7d5759e\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 115\n# Modified IV\nct = f84e0e6ff64e0b27b8b59b5b77c223023f0fea95433864ec\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 116\n# Modified IV\nct = 4030b4b0e9c1b1ce8e52f6bdb48088e65b05844307989c8b\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 117\n# Modified IV\nct = ccb3b36c26b2d901b7f0765362d992b2d5089c2a7559b195becbe173780352fa\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462b", - "e4f1\nresult = invalid\n\n# tcId = 118\n# Modified IV\nct = 4e5fc8dccaeec9b1c8a606a2bd7d7201eede62b9c2e939a5aba663a6a040e361\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 119\n# Modified IV\nct = af21f5e7f15a63c8ea6001cf024f281e7f44aedd68954564fc2bd146e96d793a\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 120\n# Modified IV\nct = 3a4f571ffbf761d3f7d413172ee1e4ae2862baacfd5ab66dc685b9af8b70b538\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 121\n# Modified IV\nct = 273de386d5fef497f9487afd54c1c0fae8aacabf2af465caf352e2300d29266b\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 122\n# Modified IV\nct = 16511743dc44199cee1dbf5045141b075f01ee13326c9faf2c74b7c99791830f\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 123\n# Modified IV\nct = 370f92db00f7fc8a0e654318a5b3ff89a604034f421339201d79e0ec4d6088de\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 124\n# Modified IV\nct = e3edd0e84832f3615f6deefb444de3b9ec527741686029db91de0bb9b2a5c05d\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 125\n# RFC 3349 padding\nct = 36ee480138edf11e144efcddd24d2c121749da6e4eab17fe\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702e\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\n\n# tcId = 126\n# Invalid encryption\nct = 166beb49e97a4a9cc7b0ccf441ec15b5\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702e\nmsg = 0001020304050607\nresult = invalid\n\n# tcId = 127\n# padding too long\nct = 74ff3070a0a08471c001febb95a890f35159a9fe263719e40c2332ce5c58fada\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702e\nmsg = 000000000000000000000000000000000000000000000000\nresult = invalid\n\n# tcId = 128\n# padding too long\nct = 4f0b38eb328d1227b1e17c103a44a373ff67cee953c59eea26117947b5d3ef8932c8858b4f9fb47c\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702e\nmsg = 0000000000000000000000000000000000000000000000000000000000000000\nresult = invalid\n\n# tcId = 129\n# incorrectly encoded length\nct = 775dcabab9e4be8fd9963a4dc7a1447ef82888403882bdb6\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702e\nmsg = 00000000000000000000000000000000\nresult = invalid\n\n# tcId = 130\n# length = 2**32-1\nct = 669803237fa10eabb4d2c6ad85bd9f7df5f4a33340eb0ce9\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702e\nmsg = 00000000000000000000000000000000\nresult = invalid\n\n# tcId = 131\n# length = 2**32-1\nct = c788504d786f5c21b6671bf190657301\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702e\nmsg = 0000000000000000\nresult = invalid\n\n# tcId = 132\n# length = 2**31-1\nct = d079f60d3258f5e695d1a73db008ef38516b713eca2c0eaf\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702e\nmsg = 00000000000000000000000000000000\nresult = invalid\n\n# tcId = 133\n# length = 2**31 + 16\nct = f1ae4b8865013b0fc63b463e664cec3c6031f61f2de82f43\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702e\nmsg = 00000000000000000000000000000000\nresult = invalid\n\n# tcId = 134\n# data is incorrectly padded\nct = 8874e1b6e15e3ef6c461411a5f5ad0c8b05368cd5b3ee39b2b413d18a4eebfc9\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702e\nmsg = ffffffffffffffffffffffffffffffffffffffffffffffff\nresult = invalid\n\n# tcId = 135\n# data is incorrectly padded\nct = 890a3dab8439bb73b14c6e99c34f0b0e\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702e\nmsg = 0001020304050607\nresult = invalid\n\n# tcId = 136\n# length = 0\nct = d4f633aedeb89e349a98738b00ee42c90d583b16e986e49f\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702e\nmsg = 00000000000000000000000000000000\nresult = invalid\n\n# tcId = 137\n# RFC 3349 padding with incorrect size\nct = b8b2a5b1d3280dcb4daeeed43f36509b\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702e\nmsg = 0001020304050607\nresult = invalid\n\n# tcId = 138\n# length = 9\nct = 4429cf64251d8a54a9d1389c01c30900\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702e\nmsg = 0000000000000000\nresult = invalid\n\n# tcId = 139\n# length = 16\nct = e5634eca10372c867c7f91ee813ec3f3\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702e\nmsg = 0000000000000000\nresult = invalid\n\n# tcId = 140\n# length = 2**31 + 8\nct = 9e517d4d0142e1544ba1e7419a696c21\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702e\nmsg = 0000000000000000\nresult = invalid\n\n# tcId = 141\n# RFC 3394\nct = 138bdeaa9b8fa7fc61f97742e72248ee5ae6ae5360d1ae6a5f54f373fa543b6a\nkey = 5840df6e29b02af1ab493b705bf16ea1ae8338f4dcc176a8\nmsg = c37b7e6492584340bed12207808941155068f738\nresult = valid\n\n# tcId = 142\n# RFC 3394\nct = afbeb0f07dfbf5419200f2ccb50bb24f\nkey = 5840df6e29b02af1ab493b705bf16ea1ae8338f4dcc176a8\nmsg = 466f7250617369\nresult = valid\n\n[keySize = 256]\n\n# tcId = 143\nct = e3eab96d9a2fda12f9e252053aff15e753e5ea6f5172c92b\nkey = fce0429c610658ef8e7cfb0154c51de2239a8a317f5af5b6714f985fb5c4d75c\nmsg = 287326b5ed0078e7ca0164d748f667e7\nresult = valid\n\n# tcId = 144\nct = 9d2b42fb2fdb92c89fb0c3bcd9e1600d3334b4e35e791369\nkey = 0dda6da5123e2c37c6fa16ba0d334cd01acd652f8994211751dfab4faac2fc22\nmsg = b40b6828729b456322a8d065abc0d081\nresult = valid\n\n# tcId = 145\nct = 5291e05abd55f5886850855e3f9f2f576b101acc222d6766\nkey = d6925914cd06308f81ad91e23073593d99d4e50351b20eb2a8d1a1ac4ced6588\nmsg = 037b27b3dc95b19d15bd4091e320bfe1\nresult = valid\n\n# tcId = 146\nct = 4b1220525c537aec30ebcd562b694b4e9e2ccd819de22ef608b5d8090779d9de\nkey = 07518a82cbc8da1dcec55f3763a206d277487abd03cedd0b8bef9ee2fb157121\nmsg = faa4664d79fce3c7d2fdd462f6c1c423c2f8e6b69be2e071\nresult = valid\n\n# tcId = 147\nct = 67b2cbd68f6a208d647bdc5af7d0bccf6711a9e8fd0d9434363006addd4b9696\nkey = ea46991d4e71f53dd624e7fe7fde11944a7c5942d232369b8065d42b8cd2dde1\nmsg = dffc5cf1dd5411d015d84601fa38df5effe885c7f26a4825\nresult = valid\n\n# tcId = 148\nct = cfdbbd95f187508a488fe017c5e5d5a5975b68441d520e0e931922388e28784c\nkey = fdcfa902c6f222f527af84da533b14b52e2615da3a89d1d35708b0cd49f60d87\nmsg = 966b07047354966a703e79607b556032f4f596b7f9206f05\nresult = valid\n\n# tcId = 149\nct = b63b7e0fec7e315816233db6758fd3e744b9f6a40862bdf866487e53bcb950d8b2649269e51b4475\nkey = 38e1b1d075d9d852b9a6c01c8ff6965af01bac457a4e339ae3e1d7b2ffacc0cd\nmsg = 80ad6820f1c90981e2ca42b817a345c1179d0a11d8e23a8adc0505e13d87295a\nresult = valid\n\n# tcId = 150\nct = 837cfc316b49299edaf427e0988020ee876204b29d847669daab72c8660b0d860e9de3bd851198ff\nkey = c641f1689d81caa8ba37d895272240664054ed974cfffc40e6c5c0cad1b916c7\nmsg = 3fd0ba19955e46749f54d88e99d080b7339d588fe612ec0f4021ca3ca2104270\nresult = valid\n\n# tcId = 151\nct = 0e9e2e9aa34bbf973d67bc534ac86fc5b5a5f9da5f026866177894ec6077a5c84501510e1bf4afb3\nkey = aa0ab9d68ed4a04e723f81b44c0c88d0bcde7a80cfd476eb4b8836d9aa01ec4c\nmsg = 57faa8766f6d6a0aa1cf643f857c150df5b31303b50af480e21c4b5e8c8a15d5\nresult = valid\n\n# tcId = 152\n# Round counter overflows 256\nct = 1c6b7e4003384f071bf29baea9098ad81da8e9862909329f52793b35d592c10dba15aa89400ea6403df8dcaffd0dbf5606303f109f79ad700ed5d5ad4e59950ce9ce5296c9d186a0df441973d1835f9ac000ad1a6797875c3a03161e9e3f5ea464032e407854eadca5a9e7a386bb0d29253e3804adefd8c0402cc8c40ac7f9041429cc0bb77a405b284baa2dae764ea09c654c0a82f2c5724221ba44e341503d3103dbc393c7702182f8cc2762ddbc873b7f84197709886a4b5df5b04ff9d21b79b50904af3c32128dfb9cde94fe1254d981e6ce3acfda82db1fa2badbccd2d29052a04a69ce1f5652f30496ea57edc7e3e885dd4a35ca15aba602bb4c888a8064da94c2ac5c12c11f608810af46fbb49c3e8f8771ff661f8d8dccd163d0c4a401b8b9aa74e68a56011cf78d21dc7541a974f9dad5ae27f8a26d1b0e76be2f86c6a21e9d1c2b5df3c8878a8bcae143b3af1f082afc52616eeadd2232926597b245d394931e02e493b0bc27a92d013e111694cac2c5a2a46e008a8498b5c31bb5ec35a4e9957e365d\nkey = b6121acad51038e11873aaa7e6c7be06f93826b74fec0ea1c02f9981ed49d16a\nmsg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = acceptable\n\n# tcId = 153\n# wrapping small key\nct = a65959a600000000\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b162baa53d2700093\nmsg = \nresult = acceptable\n\n# tcId = 154\n# wrapping small key\nct = 06c1e65ac0f385b4e8c400d229f39422\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b162baa53d2700093\nmsg = ae\nresult = acceptable\n\n# tcId = 155\n# wrapping small key\nct = c98da5936a1313eba1a6773b8060ea5e\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b162baa53d2700093\nmsg = c548\nresult = acceptable\n\n# tcId = 156\n# wrapping small key\nct = b2a77d9b837e87cdb7391e1df7cdaf14\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b162baa53d2700093\nmsg = f713b9\nresult = acceptable\n\n# tcId = 157\n# wrapping small key\nct = d8ecf20191f75aa36686298bfa5022ab\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b162baa53d2700093\nmsg = f375cbf7\nresult = acceptable\n\n# tcId = 158\n# wrapping small key\nct = 077362f50356fc7c54c70f9cb4306f7d\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b162baa53d2700093\nmsg = d9445094b1\nresult = acceptable\n\n# tcId = 159\n# wrapping small key\nct = a4bd6a116ad88a52aae3f0c0cb893f9b\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b162baa53d2700093\nmsg = fab43e91ae15\nresult = acceptable\n\n# tcId = 160\n# wrapping small key\nct = 68a52de00ec0f1ebbedc38fee6be0c23\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b162baa53d2700093\nmsg = 90735025797bd2\nresult = acceptable\n\n# tcId = 161\n# wrapping small key\nct = 3a6746052a1744cfe7e2f36dafc4042d\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b162baa53d2700093\nmsg = e43f5e4e123a03c4\nresult = acceptable\n\n# tcId = 162\n# wrapping small key\nct = db7e73da22219e1baac0f4e955c3db2b900b5d3078f94b59\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b162baa53d2700093\nmsg = 1723eb9d000916996a\nresult = acceptable\n\n# tcId = 163\n# wrapping small key\nct = f77ec14a010777f1f1071808f285c1c00b4e9420f0e8bf48\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b162baa53d2700093\nmsg = 8b18daecde14b8472ffd\nresult = acceptable\n\n# tcId = 164\n# wrapping small key\nct = 6b40d4f0863581a7d0365ad477568bfad94f8bf134984838\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b162baa53d2700093\nmsg = e5bd6fbacbf3ef0d40c884\nresult = acceptable\n\n# tcId = 165\n# wrapping small key\nct = 660f645b02405a18f7225b68c0a09a949b2b5ba784922cfe\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b162baa53d2700093\nmsg = b3be5e5397df5f46b099e821\nresult = acceptable\n\n# tcId = 166\n# wrapping small key\nct = 6bea6bf57601bf063873f47ec3572cfb9cfb595d8bdb5e97\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b162baa53d2700093\nmsg = 4cdd960cabcf8aaf69c37da1d3\nresult = acceptable\n\n# tcId = 167\n# wrapping small key\nct = b631292536aaf02d829cc6d3c39e5a5cd76240889e9d51d0\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b162baa53d2700093\nmsg = da29e0889cf98742612e0326300b\nresult = acceptable\n\n# tcId = 168\n# wrapping small key\nct = de497acf18a177a3a9b3d8da46d74dfa58dcc537a3a95323\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b162baa53d2700093\nmsg = 72aaee126a822184806c7d22eed66b\nresult = acceptable\n\n# tcId = 169\n# Modified IV\nct = aef4d2357a8fc5c3b4a80a15ed49781d3a82c98eb78c9180\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 170\n# Modified IV\nct = 6eaefd5193f0725fea545077a430860663901979f0b6f4a3\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 171\n# Modified IV\nct = f9ded536c1ae9c680f7d9c4b91a566a07b1628e9b9f4fccd\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 172\n# Modified IV\nct = 443526477c779a329ded0b230307afa64fdc10dfc86414dd\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 173\n# Modified IV\nct = 21ba79f3b423a66e7baad86fe49786e07a33dfdf227687e9\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 174\n# Modified IV\nct = 3e65dbacaae556fa18bd192035cd55958adeac30e5ca7b3b\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 175\n# Modified IV\nct = de2054883b00f81ff68e42b7ff1c05ef5faaf75b2bb14004\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 176\n# Modified IV\nct = 2aa3c6ba891d1211677d59f886cc6d05698243d10dc189f7\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 177\n# Modified IV\nct = 9b1e7d6caf42bb3a15530f2387ed7329310ba76e1852566a\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 178\n# Modified IV\nct = daf6a9f5e4b4985fcd4815bf6298a3039bcb32327b0876ff\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 179\n# Modified IV\nct = 14c4079399721142fd5fce26e9417064c7e0201fb7b5255c\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 180\n# Modified IV\nct = f48a30b8691a2a80dd79c355c281addf779bfed8971e3ce4\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 181\n# Modified IV\nct = 248f867430ffc954b494c936a3ef815b1754009928aaf0c4\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 182\n# Modified IV\nct = dcaa88dad9b03e59a3ac8350239824368004e2ca616c15d7\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 183\n# Modified IV\nct = a6cc8470192687ec9a31258ddb73084005784475f3442705\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 184\n# Modified IV\nct = 0527ab5408b4f1484b27f98641511143ab88783688256815\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 185\n# Modified IV\nct = 7fd3ad3aee0545da1ed3a54d5a198a2c76cf8290c011c042\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 186\n# Modified IV\nct = a24e94c12b2e6b776c8febe9179521beae0cfbd507d358b4\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 187\n# Modified IV\nct = 9395b071fa3d9908b2e1b349bf7cd6a1cfc86b979c8c73cd\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 188\n# Modified IV\nct = 1eb452770bc0f26a3576b604bf5ac72f714fc468c357eba7\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 189\n# Modified IV\nct = b42bcb4161f40b30f3d2f740f43e441d3c9a39613914f1c6\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 190\n# Modified IV\nct = f3d76dd320e5f1b3f85b8f73a9ebcfabfb8346daafaf36e6\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 191\n# Modified ", - "IV\nct = b8e26164496942f44f16751096fb47952ec478bb288e72a1\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 192\n# Modified IV\nct = fa783b3aca0ec1e677378f23ebe937776fa590ecc6b01392\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 193\n# Modified IV\nct = 8b011408049eab81cc185796b9636982c1ad28e940e5c35ab1219434c23e8c59\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 194\n# Modified IV\nct = 08db2f06aa2400d4cc1113b1c9e3ba1b39e3e26a84918f9266796c426c166428\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 195\n# Modified IV\nct = 3114404be000ee167b65dd3cfae3b10c50dffe1df864b5e52a2805f0c80021c0\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 196\n# Modified IV\nct = 405ae5bdeff8b05d28ea55900b8e81dc789d532ec3fc457730819e762172f751\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 197\n# Modified IV\nct = 7c19e66d21c0f1409ee6f03a36ab6ba532349e2567200b95d7f5012b2b7e5d33\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 198\n# Modified IV\nct = 955ac67d6e496b9b93a4dda8f6e65e668f1326b256ee146a7647ba18deee7986\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 199\n# Modified IV\nct = c8600aa18be27279493fd68c84130c8bc328b0f6821e01e892b6c2dc1c005270\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 200\n# Modified IV\nct = 492566e0dc539e234b08b95fb23594a6d14f59fa4367799495c2e7f2993135ec\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 201\n# Modified IV\nct = 8c5c2ea18125a03d15d2a624c9bfcccdf53709a89ae03d5728c98943b13df72c6f02fc8e1cfcdfa7\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce3497352690\nresult = invalid\n\n# tcId = 202\n# Modified IV\nct = 8836c5cb2eec2ca2541b18c1259933ebd601bd6763d9f7cebf06ed6abbe37d455aca13a2db87d111\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce3497352690\nresult = invalid\n\n# tcId = 203\n# Modified IV\nct = 2554e0faf721d77f7dfadaaa90b70c2f242f93bdc4f876cd058a86ccfff33f8fd88736997f505d98\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce3497352690\nresult = invalid\n\n# tcId = 204\n# Modified IV\nct = 53ee4c8f03212b389f5bc2b26bc898deb91a457f258a22028a688919e12c4da23090c26b5c9ff692\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce3497352690\nresult = invalid\n\n# tcId = 205\n# Modified IV\nct = 3a63b0283ec071a4d4c32b0f30b384eccb3cd8d7fb12de6806e12fef5da82a7a39aad8128c3e5915\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce3497352690\nresult = invalid\n\n# tcId = 206\n# Modified IV\nct = d1cfaaa9adc25f948c0c4720967b01488e06d3dfc5622b5de38a722798d4a3a44fa6194a92c5ede7\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce3497352690\nresult = invalid\n\n# tcId = 207\n# Modified IV\nct = 251a71511a4e73d1469a051fd88fa78cae96547fd8ca8e323b05d8717cdcd239292c7bbe0708fae5\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce3497352690\nresult = invalid\n\n# tcId = 208\n# Modified IV\nct = 14a62f7284124d795826cc89852e97dbe6b8a30ac56df07173878cf0136dbe386ec46327d6fc65f1\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce3497352690\nresult = invalid\n\n# tcId = 209\n# RFC 3349 padding\nct = ac1a774a5de27e4f9c356e4f62deaf8b7eeee6bcafafd895\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702eb2c31d96a58c9be2\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\n\n# tcId = 210\n# Invalid encryption\nct = b3941437f55e7cbc3f88050aff703967\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702eb2c31d96a58c9be2\nmsg = 0001020304050607\nresult = invalid\n\n# tcId = 211\n# padding too long\nct = 86175acf19ad0b7ac60d1fe4bb7850635e7ec6f8a314f85b6dd3d8f9349ea38d\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702eb2c31d96a58c9be2\nmsg = 000000000000000000000000000000000000000000000000\nresult = invalid\n\n# tcId = 212\n# padding too long\nct = 791f088847a76731e0d56b9b2dcb28bf9f091a9725790e0a64fc8e7cb3ad50f380297a98e3b1c33e\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702eb2c31d96a58c9be2\nmsg = 0000000000000000000000000000000000000000000000000000000000000000\nresult = invalid\n\n# tcId = 213\n# incorrectly encoded length\nct = 868c34495bd3d7b4e2c1861e7fcbbdb372099488dd96c9ea\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702eb2c31d96a58c9be2\nmsg = 00000000000000000000000000000000\nresult = invalid\n\n# tcId = 214\n# length = 2**32-1\nct = 4a8b4aeaa713469bfd9bf88d4072379fc858e40b24b0bebe\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702eb2c31d96a58c9be2\nmsg = 00000000000000000000000000000000\nresult = invalid\n\n# tcId = 215\n# length = 2**32-1\nct = c210aa3b5fbf5eac97e68d98d7727f38\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702eb2c31d96a58c9be2\nmsg = 0000000000000000\nresult = invalid\n\n# tcId = 216\n# length = 2**31-1\nct = e0ebd376e050cc9027b76dfc38ee2c6ae2808cecf480a560\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702eb2c31d96a58c9be2\nmsg = 00000000000000000000000000000000\nresult = invalid\n\n# tcId = 217\n# length = 2**31 + 16\nct = 23a693e211c08ab9b222c2ede2db18f437e22917fdff8032\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702eb2c31d96a58c9be2\nmsg = 00000000000000000000000000000000\nresult = invalid\n\n# tcId = 218\n# data is incorrectly padded\nct = 003f2916fea6827e01199028d3dc4e03889113f97b1860cc242e5a0f28a0f159\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702eb2c31d96a58c9be2\nmsg = ffffffffffffffffffffffffffffffffffffffffffffffff\nresult = invalid\n\n# tcId = 219\n# data is incorrectly padded\nct = 5c25a170d5225a6d66e117c691b37383\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702eb2c31d96a58c9be2\nmsg = 0001020304050607\nresult = invalid\n\n# tcId = 220\n# length = 0\nct = df9ef924eb59634be5b27cabd33d72bd6be6e01e4672ab05\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702eb2c31d96a58c9be2\nmsg = 00000000000000000000000000000000\nresult = invalid\n\n# tcId = 221\n# RFC 3349 padding with incorrect size\nct = e6e66fad359a7b63a977788acd297121\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702eb2c31d96a58c9be2\nmsg = 0001020304050607\nresult = invalid\n\n# tcId = 222\n# length = 9\nct = 76b88ecda760b1af80703036185fc476\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702eb2c31d96a58c9be2\nmsg = 0000000000000000\nresult = invalid\n\n# tcId = 223\n# length = 16\nct = fd101943f4ab7c38ec68c75d4b3193dc\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702eb2c31d96a58c9be2\nmsg = 0000000000000000\nresult = invalid\n\n# tcId = 224\n# length = 2**31 + 8\nct = 1793a3a9bd146726edbcb9589f20e849\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702eb2c31d96a58c9be2\nmsg = 0000000000000000\nresult = invalid\n\n", +static const char *kData108[] = { + "# Imported from Wycheproof's hkdf_sha1_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: HKDF-SHA-1\n# Generator version: 0.8rc17\n\n[keySize = 88]\n\n# tcId = 1\n# RFC 5869\nikm = 0b0b0b0b0b0b0b0b0b0b0b\ninfo = f0f1f2f3f4f5f6f7f8f9\nokm = 085a01ea1b10f36933068b56efa5ad81a4f14b822f5b091568a9cdd4f155fda2c22e422478d305f3f896\nresult = valid\nsalt = 000102030405060708090a0b0c\nsize = 42\n\n[keySize = 640]\n\n# tcId = 2\n# RFC 5869\nikm = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f\ninfo = b0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nokm = 0bd770a74d1160f7c9f12cd5912a06ebff6adcae899d92191fe4305673ba2ffe8fa3f1a4e5ad79f3f334b3b202b2173c486ea37ce3d397ed034c7f9dfeb15c5e927336d0441f4c4300e2cff0d0900b52d3b4\nresult = valid\nsalt = 606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeaf\nsize = 82\n\n[keySize = 176]\n\n# tcId = 3\n# RFC 5869\nikm = 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b\ninfo = \nokm = 0ac1af7002b3d761d1e55298da9d0506b9ae52057220a306e07b6b87e8df21d0ea00033de03984d34918\nresult = valid\nsalt = \nsize = 42\nflags = EmptySalt\n\n# tcId = 4\n# RFC 5869\nikm = 0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c\ninfo = \nokm = 2c91117204d745f3500d636a62f64f0ab3bae548aa53d423b0d1f27ebba6f5e5673a081d70cce7acfc48\nresult = valid\nsalt = \nsize = 42\nflags = EmptySalt\n\n[keySize = 128]\n\n# tcId = 5\nikm = 60ab7f45b0ad534683b3a6c020d4f775\ninfo = \nokm = 73bf325f0fcc78f15b6cee7c9e7d927d4016eafd\nresult = valid\nsalt = \nsize = 20\nflags = EmptySalt\n\n# tcId = 6\nikm = e3db76e02278cbd2adbcb4555803da11\ninfo = \nokm = a9382b2bb04ceb4fe0543cee88753df8cb90c9dc440f7e476e95150c82e1376e123f058875c00cff6f29\nresult = valid\nsalt = \nsize = 42\nflags = EmptySalt\n\n# tcId = 7\nikm = d4dcb92a769f57c8bab8a420ee0aa351\ninfo = \nokm = d10d4bd0ed723533adfceaa903f1ee8836e61cd085fd951dfc6a291edded082e8478c9f8bd1f7a2611a6a049761dfc2888a9e32be9c326833c6559487c33f6e1\nresult = valid\nsalt = \nsize = 64\nflags = EmptySalt\n\n# tcId = 8\nikm = 2d43e54bf0c94c9cbff4300f4aa69ab8\ninfo = d674da3bb47d5c7e38b501e5251d9348af601c44\nokm = c1b8065a9ea8e79d404f882089cf423a99bde5ea\nresult = valid\nsalt = \nsize = 20\nflags = EmptySalt\n\n# tcId = 9\nikm = 4055536896c406d5fe14a6cd6b999bff\ninfo = 2094768a8816f7df070d6e08b7ad93755dc9024b\nokm = c7d3c9ab74081357d0f6ee3aef0442afee7325381090a2df642926a3e6e6a7e213f05ea5c39978d52165\nresult = valid\nsalt = \nsize = 42\nflags = EmptySalt\n\n# tcId = 10\nikm = 5b01b2da3166f217cdd68de8af60078f\ninfo = 6884cfa7ffe8f27bf4ebc6e46a7e01488c79243a\nokm = 1535a41d6e8a94c5bd51b7447bbd9c2b8fa00ba05b92e7ab0da7d1fec7d348ee7d50a4bdbbde173dd6eeff83aba9e8b822823b339a76811d62771336f4e08f3d\nresult = valid\nsalt = \nsize = 64\nflags = EmptySalt\n\n# tcId = 11\nikm = 467403c2ec02a235bf730ff37e8d8ff3\ninfo = \nokm = 4ab2bf78f2678effaced317249e116862d3d9b8a\nresult = valid\nsalt = 41f0f173d307d40436c25856cf559f96\nsize = 20\n\n# tcId = 12\nikm = 3352f942aa93071da6d39cc5ed8dc460\ninfo = \nokm = bbcf63065c761017f229183e767683b98633a85f4d8f32236cfa0fd3f6b182a5f41c33506636d18c5eba\nresult = valid\nsalt = 57a0db708b25a51afc4271803aa35204\nsize = 42\n\n# tcId = 13\nikm = 08867e76311126089356623ba5381e73\ninfo = \nokm = 3084fee371179b60a4fd27ea2637a9b89a3dcf6ab45d4805c99880b26e5d73efed4b421f1fea4cabb60893241765b19554aa51689bf00d7d94a053a94bfec55e\nresult = valid\nsalt = 0c164c443edcdfaedb1ab150f047951f\nsize = 64\n\n# tcId = 14\nikm = c55c41d69d2424a520414e3662aa7303\ninfo = 3fdf20538063b76901d61bbf9b72b0c18749e00e\nokm = 3917a782fed4d7f525ca16ca1dfde0faa7207262\nresult = valid\nsalt = fea9bfc92b74337e43a201a2dc199e27\nsize = 20\n\n# tcId = 15\nikm = 5d3db20e8238a90b62a600fa57fdb318\ninfo = 2bc5f39032b6fc87da69ba8711ce735b169646fd\nokm = ca0903f17759fc29df761469e3b98a5b1476977706f3c87e9d39050e5b36c7ae6bbafeb3814037b12ca0\nresult = valid\nsalt = 1d6f3b38a1e607b5e6bcd4af1800a9d3\nsize = 42\n\n# tcId = 16\nikm = 8677dc79233ef3480777c4c601ef4f0b\ninfo = a38f634d947819a9bfa792174b42baa20c9fce15\nokm = 1761915ac282909fbfd43ce31934e7a10951f901ad33f614a9394b6f5ca04e00906aa14b91132bf9e8ae0aa2102c3c7a67756e81b57d89192a62ca0cf907a3dc\nresult = valid\nsalt = ad88db718244e2cb60e35f874d7ad81f\nsize = 64\n\n# tcId = 17\nikm = 0f602703d37943e0253bed3da331aff4\ninfo = \nokm = 4a54220ecee20a84e1b7b6f5407af234b14938d1\nresult = valid\nsalt = ebdc8510499f69b2e188daab77cd819cccb95f276f46e6b2be11cbe72700\nsize = 20\n\n# tcId = 18\nikm = 9fe65737574c5c7aa67646adf8230ba8\ninfo = \nokm = 741662ad515bf9d2661aa0731eebd674f7390bd20fa3bb7cb2e9d6ca953c2bd839929c44a6f0ba5ae614\nresult = valid\nsalt = 73a34648c152443586236abcb46a090ce55ef6c7f282ffce6342d694650a\nsize = 42\n\n# tcId = 19\nikm = e8f2b1c3e6a6c3d5ee0a20dd47aafa78\ninfo = \nokm = 695807f517ba39e33eadeb6a7b71d2016163e9f5e6aaad5f493bcbe24ac06f8a6770097da76b50338a4dcbd9fac4d3a545c45eb1e733f70e9e82ca03830d0ee9\nresult = valid\nsalt = 3f5e162de91e0782cd189f3b7778cdc2ce6bfe9d3fe841cd3c70475d7b3c\nsize = 64\n\n# tcId = 20\nikm = a679521cdb56aafc5a4b76db0431a4dd\ninfo = 44ec41ab4f4e64f4a36e5e30c9f0dc1d77ae4974\nokm = e36789305dd2613dedd29e041afddf558d6fb8b6\nresult = valid\nsalt = 123033b1ddaead83a4b9cfef8a660bd8e00fde01e67c35656c6d7607d456\nsize = 20\n\n# tcId = 21\nikm = 49bf155ca102026f2a217ea1bc9843ac\ninfo = 851bda4faa8f7add2a3cbf0acf9c2786f8f955b2\nokm = 6016f537e75e1aaf2e6920827d18aa25e9fc8742c607b0cd97a38cad0bed0a6622981f97b63b08f31ed9\nresult = valid\nsalt = 76776e3b4d75f8f43dce4bded71f3b1ae6bcb012d9c0d59f78248b9427b8\nsize = 42\n\n# tcId = 22\nikm = 6cf725e939e8824d4392233eeac75d30\ninfo = 495425d9727fee2e2b7e78899868c1c3e7735e1d\nokm = b31f845aa6ad9b6803153872145a28617035e9b2d2a5c1ce8d0d2c6017f17403a67326cd06068af972eb8b734903d10b633d07de05f02fc70ed383a60bd82b48\nresult = valid\nsalt = 1e72f24b05a91a0093f34306ffced79e7003055b0833c6d0f27a4f33a1bd\nsize = 64\n\n# tcId = 23\nikm = a319ff7b5ba9b14ac72b681cecf0f742\ninfo = \nokm = d547c94891439eb7dc9e0c425adf20262d27fd9b55e7b0516e836db6b2f778c70296bc97c466e05ce2d5\nresult = valid\nsalt = d7e3bc6daed343ce77ef793e15a8246e4bfcbaf83d2ac956d0661d1df7262b2e7311623dfe4152caddbfda8fa8ed7a82656ec00b72c5adf7c9d388e5b3bc8d24\nsize = 42\n\n# tcId = 24\nikm = 34bae5a158c1678aa76a744417a70d7a\ninfo = 87ec30aa53acfc3d09ccc1d57d654fdbce403cd4\nokm = c508b4bc7503440f3ee04c5b8c5832bf70b54a6caea8d2a0ade43a0ea72c08e474904587334d699ba2ce\nresult = valid\nsalt = 1532075f363e061133780ac959bf653c7687d181b9431215d6f62dd2f1ec3019d61c50fa82c70ae25e624c849a276b0c57d7c02a4d753fe84a1a6621e9a5ef01\nsize = 42\n\n# tcId = 25\n# maximal output size\nikm = 9ab09999adde788dc2bf82c7ec8fab03\ninfo = 60999543d9cec9d3\nokm = 033293a76b1496c9619331f089d402d0deae28166bccf304bf25822f369479cf0aa1600b6ebcae43fd1f5d3389c55331b81cbe1e9f6ae29aa86d8a332d298d50516af4926f01691754981c9c92d743d0d26a94423120761a4d0d0e562368696ab78684e51a65b30cc4849a6a5a6c53a076c276db287b787dbb43d1e107f86bce19986cfcb86ec40fd74dfba08784219c2aea2152e21be5a87dacdd18b22ef23292623bcc64bd03a3a1b408a77fbbf4e18ae59a94cac72f43687190e358579d1b0a54d3f2df7f08b867af0b941deb9f7035a1a8f13c6d0da4f9e02f817ea0a92c02140ff5a7d7e398a7b410574d2e6ef7a710efbd1db628318650236ea02f1b617bc79087f5a6c3adeb7037176ef51fda844b2607a4960e3852107dd2703558a534a06ab5a1595d237fe3eb0c0ea3f14400332abb221784914e99fa5ca7a1f67338860283bf589a6b6ea0b32e2779e207fa8139dfeee954e762ebf6255250b1fc58c4c79b3d98fbbeaf786907b5fc7a8c34a25a642b7286a4b2ecdfd1dce041294322bc54b3c15ac44913dd1a3a4361e2d2a0e58c13f34ab2ead723fa01311a2659f74722a09f5b1837a7666da60728ae5cb4b837621961bf0278da749f79a47249ea0e361be3afd14ea9ead4e2f70d9941fa55862d86b53046de5dceec48a4b9f7b895693e328c59c0b2543ef2cd84b2c549a8e0013351703f7669b8346d2b32f7627b7df9ee746b1092f34033f69314a985ce2e948b9a98dabe9bf259f92b78b9a1de7285db617784001894af381618e9a2992c5738337930408b7e0fb57697bf4839e7e72ffa1010319a50aef208829950d60b6c4e57b76bc62d1923003c374710d5370249172064e4e5e0aacae369fecd4ac4bec3861fd24a6c633aca87f2d73c7accb43f9d83bce2d544563c9213e2eaf4a159520500d576bee5d3301613c31580cd6ca8c47039a4d4085dd8b959e5b8ca4835705bcba8982bcf9e8fef0a1602a76364cedb6daf92952ca58be7076ff5536403023", + "0daff9fee31152d64fa0d6541d862970c2c013efd711c4f96b532fe9f4a4a180ac4d3cd41e5d66d62371616e6ea88896320944a8f3df632ae0188bd93929ce6a6669803c04be549d80fba1815ec67a0269b74e0a1d33beabc1c94ef6636722a2b27bc0f249da083feeb39ef2fa5666ee38339791602afacc9829abf6541a5ede2cd45ece276ddaa9f49fc4d02b755eab466d5bb0ceb3b7b771ce6a9d85283d4a53f53c54b63b4011110b42e9c1fc8c8dca6e4b69e6c4b3b89c53f0f990e26b84ca5f0660e712c775c1824eab5055527bd92495cc59f8d4c04ae13b49c466e886d81639d00b7bc68875a8ab6cb87807d4b2257252561d69788cc136a5273e5f3e68b9ac4ba4f7547422544edd4ca658e1c13c756420e4a6290c7db03f5ff7f44ac78fe4d353847caacd1692c1521b12f1f55362ae755c9714712a6d80362080d865062905ed0e9601c5b12b1300dca219f7676d0080a33d1a6b08718c36f084211461c0f50f6911f17746752f3a6bda656e3a065aab0cf30ce2542eda35a42821c62c838ed18dcd4dcf5d51346804c034fb2c3a16b0c84a6aad62972c84b499a370965a959e17d537acc13d5d08000d732c11aaad9e0f192a9b74d94ef408040c8bc50e7b2ba9edbac047fd4b80c16dbd3962f7eb528e0d80cb5a439eb3d6cc62e41e2cc7f4e2d5141bd48b400ffd19da07d0694e983b91744e420541c01bbfba3f333c5e3e7946d2dd245b70304c3b1a35cd9485aa6908c7a7a846f23466265c1e55e6dfdf8d0cc320033a18feff132c0e3b1216d33b954679121ff2c8795e7c4f9a4a9725d31200bfc72444cb76f50f198b04afbd4821a31a183593210789f93ed612a2e1d70facfa0b23e5aa854059b83979b55ac382777e351589d266d3ceba76a5bc345c5514f4f07e79e54a8b70a024cb031808bc13524c04b4d1fe28781da04688bad13f379a0659915ce438985428473823a70687daa8b6afb659edf07e25518b00114e9847e3d6598f23f2eecf07e59cd2a801eea6e3891735e457b7fa03872358e682571fec629cf19f17fe167a6253dee7b6deb39773e0d3606e025df91f35fc27be8c046d67489e010f743d84599283fcc418b628dc244d2f859db667c376b2953991e0db773b3e068c1da262302c391681fb414c26c41ed85eb4212e982d0e15eab5a67257a3ff913ce68d6aed6e9a8ff385c7d878cd4789ec9adee99fe25438911252de7a7cf6ef5d6662cb424208003d0ddc04d38e04c32d9beb4f6e8cbb19a8dc0835515bb5ddbc600f148861d6dec69dc8cbd4aaa7fbbe49f782199d618cfcc9820e77f2a474a3fa219c384d66bc8abccecf9f82caed37f05f3f0e1d448af96a5a8287a8c877b25b842dd9e0f66ef810f1b0be4e76f8f4e6e15d7eeadd07633fa3763c493e12a84639f76f67cfc823ab945403ce84d50263edcc95223a22acebb79b85aecd82b3aee931c891ba61bd8ff94c625cfa4d55e1b2bd996b5d99e6cab245e243e6414005f1cc4f0dea54b35e1309cc2db46cd785b294aad50ebd634d363688e3206a57fe38d83cc068c4b8504c11bb4c1d256d496513667170163f7ec98b5b9c3e23777d6a3cf72598ed68fc51466ec4e3ebd0412e002af200f1bc8800400e816ab29293b1c7ef24e30415a8e513e4a9efc851fa549b3d1e0d881fda0a6c393d0ff0c57f44260b3f5d7dd60408ca687429c4cd4274c206f80833d605290e5c992f17e05dbc9552f8c40300bc1f3480c6bb404c75c4220d8888afeaa779eb0f625c5c044bb12349af62adf5b0a18e07b37c954146851dd628dc26e894ffea95c84e78a75c25cb751cc81dc93d3146b6beee9871ca3004af6e644b65e972df9934717e075b53eaa6c878cb94f5d1fea89c3e8c9da4d0bd7d8d8ffedda0b48eee4c9877748be05a06b3e69342d5366e9db9be38f36af0f759fb6904876f5ce327dfc777fad8732e4372ada25106477d8311095b8d9dc4c0100cffd70847305695be46b2b5ba8df8ab3de333d09a7f32736061eadf9182bc4c0ea5965ba7d91d655d6942f0796fb4a05c959b6afb52a8b943065de6e0eae3639006c5b130b0a8b00b617409c5c8d5cfcdd88b1e981930ec92f21ada92a8373fc7b49d3ccc5c63b776849d5efa51de531f9387a9d11ae9fba6987d6b680fe15fc19c88bf0b5e1764044bd689554a12c8013f1e7dd6d2214c74c3fa65b4a0a35bf479d2582e948ef91c464c4dbfbea80d42bc8b1ce1fa42ccc38f492e3acf93b2b64f5e956fb171eb2c0e4ff537c4ea2ca13978dbd280aaa1d5a798b423942b6897663aa75d4c153f76d653b4fbdda2d2e141e9731679d52225fbc6dd0e81e03095b37af927e0c2aaf7eea5bdcbf59749e54e391b2af88626ef8f86920c81043334b3a09acd8c0a20e9aa0849dd56a2643803d133fefa3ee0f6b52b6109170ec5d6a15d0d20f7fb546ed78930b4298f4b5623ed912d0a5d6688b05b1b5c892e6fe60b2f1c68623bcf9a0ed513ac75c17cde5e01c3be75b1ce441174d26244873a7946ec1953666512efae05547dc8cf58fc342b262c3ab072f29ee876327e1de6c67f5c480814ea26702e1c7672de4655a87350b38f7b290cb22a3a0725f8aa2d24a794fea6f70fac5a345fc426ea2931cc3890b8cae7e92cc171d86f5f1baddae8f4b1db7aab80e629022eccfad9276c578d2a6085a446ed4b017e6a0da40343be3761f190d801283c061865610c3173753384bf87ef3ec78e63aebb1b051236f9f4d6712b487f0c407a44c7241c96e2af404a2ca14b8b6a11564d0aa2b6efe18072d6d596e26d105783a57beb5954f6066f7d2f4eefc2b455171d56364b21c3d8747d5f407cff5bd8bd350d904c17a4b91f37b48ffca09e5334420bdcb6fc3797417cf99af8773a027d0dccf56087c7e751e519c365119dd9195ee2449de13aac6d538c31d58dfb3b4183be4e71f6b4893ca588876514b581b03ac897b5e9305234740858f2b2a368b26b4d560c54a3f1018df913344d66229c56b3995a9c67d5f6db145e495159501522472dfd3d38deebf4c8cdd698325914d7472d02c49af1a9c85d20c019b03259a849130a53909929695a2f911e11f04caec36280f9653218911f4fa62ff63d77ecbeab3f2eaa235598617c424eb6caceaf365fdb7659eb06569623d38e47306ca2dfa98398586c4d5aba8ee29b9046416b3d7c6660b03aa5f59ca921e9f25090769428587428c8715f053323dff1eecbc2bec9ce90bda4d890416fcb952018f50f9ac9119d45e7ed56af58a4d0d9ab8a2a301eb17325f89359575a6277d340c8fb40f3271387fcbe04f2d3c1d63b490d12b5d2e8e592529c62d07d5d9c315f54157d30cf5ffb870b6a466c6c1f19fd0aa4b8973f1c3492b77cd7aeea7bd85f21cec76b61c3183cccf83e754d8ecca2b2e39420fbd4724f03efd9b6f4d4d59f1e8cdc3746b1dfebcad85287127de3658c2aadaa514e35c84bc772839575622d872a0e8469b3eec05e143b2129c6a75d1d4f043b2785fd2818a3db7dcf2991ea95caf73db5b2340df001771a8548db332006378466ff16dd0c60fcf6fe0c185da8e501afebcc9f566e1ff34f69b5af7997e6413c9e17e34745e131edce9820540c07ada9f500368b0f3dda452b3d1f8312e2926e20ad55fd398d21fed2ae3440834c9779d747f4553cfa2d5edd8242f3e6b1b3694031fa2c7430e78f117e69487798f1f3ac539979e29cb69ec44d8dcf6d0220d956cb4e6a5c9b8ce5263a950362f88f3ba56ad7d2f38fcfb2195cfe79baf44845dc124aeb5283962691abc25a4e016bed2f127e4e6bb78b22437ebc87cc975fc898793dd20f94784cad271dafeda980b4c6a91de39ba71eed0529bf05907db0b1bb9ff09e2bbec611d8238eac1939c3a7fabe8ab631337300ed6c40dbd5299f934790137ea875e54af87a60a169eb920522af2a50b62856a6e471e6c52f285cca854d0bc98b69622aa2c4364843279ac21eb4002c9814fec8be3de5f1e587ea62b0b2f1b5313b69ea407f1f2b7bab8c13cd54ce2a7704ee97d01c1d40feca1aa698fd90b2003507b32644043254dc61ac50f92840a408c62d6754e80108ca656b0ac977e9d1da44f87f4e8be3f1b2258f092714b9c4027b1678388546031a1c7391d9a151a33c5d291d85a457fe46b12ba6faac046630ad646fd5705a67ae2b2f85e4a79f780bf506829fc9cdcf6b8c2cad831ef7b26b37d3db8d4cf63776eb60151f17b68d86002e878c6198c171c8db609f870ef0ce62bc27b0c97788c25262020c4b42036ac3ea666429f7a47248fc41126bfc5777ea036775437b9d14154aea29884aee95e46966699a6a5707726057de573d77f31d190624dc3833c939c318784fb1d80c448fca6f0af4cd18168cb40d3c19377852195ba42da113d5953c1a0fbe5d188d884f6162503d69442798c891d1fa0c706c80565b9e6300918e6f718770058f18e80ae393a96c83a987ab08b2065c42d02f03d88385f1b2041ed70b90b124b6973990d61cff38b493c778c3eb26c722408f4060da392632be571b7260051cf18dfaea3efbc3d37c67b0c182a0cfacc1d013c38ad0592bfd868797790bc8f5a5e2a95c33bf078bfcee82afa438cd4ce48eb8698906cee16e0eee03c551d8c0df8d3448924d3d1108a6dd89739ae1745d637035af515ef94ab3ef461eb479281e743b9d7ea10e7bc1a033da2eac28a97e1b81550c32033ad630efa2a6ec9f666c34adf8dab8367a40c21f1b70fb8254976eed50be0764be04e62cb0427cfa51a9b78d1f4ddfa09c995d20fa0cc3cda2978ccc762146ce9441394df789bfd8233950f84df64d20808758f19e00b5c6aabe64d3c23f709ce866fffa5d35590801459f076e6751827d131185e36e818c30bd5ade360e4f0818a03188a5266c44747ed5e7154c4c93a87f0ce05b745bc7ebd3fe011c5169f1ca118bab34337eeb61206f251d8a0307f6dcb33aea11b1ec7eb888667c7145b2fc601dac47787c842a45ee0f5af1811b7a57759c14f5da6f8b86f73a3bea7b3f1effd9366dc6658fb3b8510f54621d8d13f330163a6530da45f7263a8fda2c43123ef46580b3990d51def937db27f9e06e87fdfd186df2fd6a5dd6133a8f3ee06e0e14719861def6cccf68f085caa631db3e85b4bcdedf83923c2950665b0187e224522060d5d54a02d5501a0c0a384bd247164caedb02c9a69f9a3638d258b945aeba029250ab549478cb855cb27404fa5cdb15a46b9f1ff8dda401f2dd472a6d6c66dfe8f5f7449238eb959c091db1c26e5efb5e7efe096489c7a25515de6399d7399b793aea554bf9fa1f6083f3c955f144171e8584b133a2ea77f49c974c2e79846e83541f37e0671d65173b3327de75c5173644959ba119f49195ed3ca26b144ca3001aa5044d46781a1336967911496da309744bb6ad244d1a96d47c7089c539486a1977a63b6523782bc2701495d50ea208a7fa411c70953cb506befe8ef37cc41dded7edc0a91de2e952abe338141e020afcff657e3eae7d11b384b0a496dc105fcba6c9cb3404dc20c704f0d37c5a96cc37ee132c47ce1ad12791d48a96ea2dfd0881b1d1d777619405b9040fb52cb1a7ca1ca993f34eaa2a7e97edeec2382ff73bfcf3ed5b6fd911c8d610551aaf92c92111d95a3919e20974ac27f3ceabe6aa3be7b6bceab0080f7ad9ee3d48bdfa7e44f6c71845c4e744726f1069324c519188d7ea3607d466ffd25b2d65a4ae1023929087e959eb8277eb495fa4dbbd1fa2", + "29490db87ba6b3a46c55524e398000d7f3d50c11aad2b9e3d033e503fa279f77d2a2fca9c8bd026a006ecc4c913dd3fa519594784c9eb43a9e3f862c3014cc1f01284545004d3733e63b6832607685b329988f26dc394bf17d2d4355e5e4622f86a4a2179b48f6e3a2eb391c343364a6040a384e70babdfb557d23fbf08730f9e8894f28b6c43a8fee397bdb39555c9e1cb389388776f72ac3c88656e4f36ff032c6324d68949bd2608313651eb6662095d40ed72a89dc85b420168c1c299f78ef8601609c1a5a29625545794b89a01e13cbaa339c05f7504bd45b79239d8f0ed106450918fc0be03205e414a58c734cc9fa134e6d7af2e106f25861511c6bb1510f1a4a493bacbad33bea4f41c3d8d28488a87d8fc\nresult = valid\nsalt = 1aa93ccbc92e29d7016f71e7f806bae2027f62c4\nsize = 5100\n\n# tcId = 26\n# invalid output size\nikm = 7727bdfb91621dcd4ca5e8cea6b4e2eb\ninfo = f3fecf4736e28862\nokm = \nresult = invalid\nsalt = 96b2e11fe817e1e40fba8aa5083cd490482b2abe\nsize = 5101\nflags = SizeTooLarge\n\n# tcId = 27\n# output collision for different salts\nikm = 5943c65bc33bf05a205b04be8ae0ab2e\ninfo = be082f301a03f87787a80fbea88941214d50c42b\nokm = bfe5a1669df67ed5638007f620875759af8c0242535a263cd4d17ee9bd9219d2\nresult = valid\nsalt = \nsize = 32\nflags = EmptySalt\n\n# tcId = 28\n# output collision for different salts\nikm = 5943c65bc33bf05a205b04be8ae0ab2e\ninfo = be082f301a03f87787a80fbea88941214d50c42b\nokm = bfe5a1669df67ed5638007f620875759af8c0242535a263cd4d17ee9bd9219d2\nresult = valid\nsalt = 0000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 29\n# a salt longer than the block size of the hash is equivalent to the hash of the\n# salt\nikm = 5943c65bc33bf05a205b04be8ae0ab2e\ninfo = be082f301a03f87787a80fbea88941214d50c42b\nokm = ef793d5a62169cc1911fe5dac7ddb3ce07404e8299296f7c139442b721a75ef4\nresult = valid\nsalt = 329f445e7de8a156cf26a0208dbb028d9de6ef76b8de67ca634f4a5a732138a1bd436a7b345d7a0314c7ed0a00b0d34ecad2cb8bd141e2ecc1c77e237094d55154\nsize = 32\n\n# tcId = 30\n# a salt longer than the block size of the hash is equivalent to the hash of the\n# salt\nikm = 5943c65bc33bf05a205b04be8ae0ab2e\ninfo = be082f301a03f87787a80fbea88941214d50c42b\nokm = ef793d5a62169cc1911fe5dac7ddb3ce07404e8299296f7c139442b721a75ef4\nresult = valid\nsalt = ff881c9fd53adc0535d68f4690bbbd4f4990c7c1\nsize = 32\n\n# tcId = 31\n# a salt shorter than the block size is padded with zeros.\nikm = 5943c65bc33bf05a205b04be8ae0ab2e\ninfo = be082f301a03f87787a80fbea88941214d50c42b\nokm = 2a031029e1b02289917618b7e0dcaf0226f84ff1a5770896c92e42cbe6d27d00\nresult = valid\nsalt = e69dcaad55fb0536\nsize = 32\n\n# tcId = 32\n# a salt shorter than the block size is padded with zeros.\nikm = 5943c65bc33bf05a205b04be8ae0ab2e\ninfo = be082f301a03f87787a80fbea88941214d50c42b\nokm = 2a031029e1b02289917618b7e0dcaf0226f84ff1a5770896c92e42cbe6d27d00\nresult = valid\nsalt = e69dcaad55fb05360000000000000000\nsize = 32\n\n# tcId = 33\n# a salt shorter than the block size is padded with zeros.\nikm = 5943c65bc33bf05a205b04be8ae0ab2e\ninfo = be082f301a03f87787a80fbea88941214d50c42b\nokm = 2a031029e1b02289917618b7e0dcaf0226f84ff1a5770896c92e42cbe6d27d00\nresult = valid\nsalt = e69dcaad55fb053600000000000000000000000000000000\nsize = 32\n\n# tcId = 34\n# a salt shorter than the block size is padded with zeros.\nikm = 5943c65bc33bf05a205b04be8ae0ab2e\ninfo = be082f301a03f87787a80fbea88941214d50c42b\nokm = 2a031029e1b02289917618b7e0dcaf0226f84ff1a5770896c92e42cbe6d27d00\nresult = valid\nsalt = e69dcaad55fb0536000000000000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 35\n# a salt shorter than the block size is padded with zeros.\nikm = 5943c65bc33bf05a205b04be8ae0ab2e\ninfo = be082f301a03f87787a80fbea88941214d50c42b\nokm = 2a031029e1b02289917618b7e0dcaf0226f84ff1a5770896c92e42cbe6d27d00\nresult = valid\nsalt = e69dcaad55fb05360000000000000000000000000000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 36\n# a salt shorter than the block size is padded with zeros.\nikm = 5943c65bc33bf05a205b04be8ae0ab2e\ninfo = be082f301a03f87787a80fbea88941214d50c42b\nokm = 2a031029e1b02289917618b7e0dcaf0226f84ff1a5770896c92e42cbe6d27d00\nresult = valid\nsalt = e69dcaad55fb053600000000000000000000000000000000000000000000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 37\n# a salt shorter than the block size is padded with zeros.\nikm = 5943c65bc33bf05a205b04be8ae0ab2e\ninfo = be082f301a03f87787a80fbea88941214d50c42b\nokm = 2a031029e1b02289917618b7e0dcaf0226f84ff1a5770896c92e42cbe6d27d00\nresult = valid\nsalt = e69dcaad55fb0536000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nsize = 32\n\n[keySize = 160]\n\n# tcId = 38\nikm = e2865d6bbc1abf6a815067edc4ee7aa33c290d5a\ninfo = \nokm = 1c9f5d2c19e47feddf19af9bbf38ed6aab1f872b\nresult = valid\nsalt = \nsize = 20\nflags = EmptySalt\n\n# tcId = 39\nikm = 8c177ab5f40e9c57203883562f01f174070ccd97\ninfo = \nokm = 07d4aa3e002dad7940089482d10e80b349da499fe7d9530b27a8dc5c61940bb44aa703fba340d21c1fec\nresult = valid\nsalt = \nsize = 42\nflags = EmptySalt\n\n# tcId = 40\nikm = e842a4fc1a147cf2f87de9bd5a42fce6457496f7\ninfo = \nokm = 5f426da341127db39b959cd77c13cfa4a7a29259f105f2b181067492a54ba259020a5289b0fff0ffe0b9f72606bb980c929a1aa37255d3cec453bdfb26a3ffe0\nresult = valid\nsalt = \nsize = 64\nflags = EmptySalt\n\n# tcId = 41\nikm = 5b870ee1bb97ee83f67fa7335b4a0f9dadc80d12\ninfo = 0a0dfb2a6e051441678788bdec04cc1b63ebe1f4\nokm = 31aa4cff955a0bc5884e1653087f9d97e284775c\nresult = valid\nsalt = \nsize = 20\nflags = EmptySalt\n\n# tcId = 42\nikm = 58ea7ab33acff514ec08f41e59c17a3c66c1ceef\ninfo = 1cf9e25bd70c5546ea7a79eaf5d90cacf754c4f0\nokm = 16ec1734868565540efe2967cae02d8be26a86abe83edcb4b599f08e016b25b925660179b9dcbf0bf07b\nresult = valid\nsalt = \nsize = 42\nflags = EmptySalt\n\n# tcId = 43\nikm = e8d20934b9d320458f4854e2442e2f0fa092f461\ninfo = 4425999958aa3cc629300c25ab15be8cea7a4277\nokm = ad2bdb5383dc53258ca2051b26c53adc156b31acaf61ecef7d0ecfa14b81b0f53b1c98ce28ee804e964f8b106312f429670287ddcf5bbb67bcbf96ac66c242b5\nresult = valid\nsalt = \nsize = 64\nflags = EmptySalt\n\n# tcId = 44\nikm = dc9e488c684dbf0ac8ff1eefaa0666d413d258f0\ninfo = \nokm = 65580e5feab001f31405f812d87c7d8bcc187c78\nresult = valid\nsalt = 9afa7df500d7a17af1f44422d25a62bf\nsize = 20\n\n# tcId = 45\nikm = 34b85c341a04cbade472b3f7dee4de4d1954bf70\ninfo = \nokm = e02ff2640000391f1fcb3d0fcec40150b20c5af7c3a0c4965281e1761539d48555cddb2cc35efd27ff86\nresult = valid\nsalt = b066b42acea664350a8448f8e064225f\nsize = 42\n\n# tcId = 46\nikm = 44cc641e09f7d5642f7b6007ca5a1c0813319666\ninfo = \nokm = 81c3016fe63b57cfcb13ad04eea7e2f5ab1402dc489c20824271c5a95ac1cb9b0809d76d5d7437e4ac74a36c1693d964d37d10064649fe9003503197456dc4d2\nresult = valid\nsalt = 69c0dde6c8e5bd40553a5981fad6ad87\nsize = 64\n\n# tcId = 47\nikm = 88a8880cc2b73e73b3b6ca1d4902caf2128732c3\ninfo = 6dc723df3d26f704067afb2fb6d95a66516d089c\nokm = 69614a2ebf14d74188e830ee5623c0e0366ea994\nresult = valid\nsalt = 0579f690ed32e57a26701a9f6877f243\nsize = 20\n\n# tcId = 48\nikm = 8408668b9d671121b8c7d31113f045c0d7c020fe\ninfo = b4451b0f1a217db703582881e86d8044d5f2e092\nokm = 6a6ee276cb321c6cf237360a7b30faab9060653ecad213a3aee36735e29164c6fc929b7f206ea4fc2f1c\nresult = valid\nsalt = 679b30e6930a8ea3f076e317b9595d5e\nsize = 42\n\n# tcId = 49\nikm = e6715cc4ee13c4d999d8f8f500243c321f70b0be\ninfo = ef17c9227a5ca654fbdb35dd00dd6dc77b6321de\nokm = 1532fbae2e75d854c96a0b172cbe40b91d36143a93bd1b68d26be85f19de06f585d8670190380dd0690f5fd168cd0c64bcbd99b8dcb9fda9eb345af917f75739\nresult = valid\nsalt = ecfaca2ea3301a992b4de081d9d3a4cc\nsize = 64\n\n# tcId = 50\nikm = 9a6b88f3f68f5a8e79903b51dcd733abaece1a41\ninfo = \nokm = 0b45a0d3ee381c5c1a33556af0a050c81a336f9d\nresult = valid\nsalt = 0226df3d66ee3abb275eb39c8ec3d3e12e9b87b67f85c552accc4279ec17\nsize = 20\n\n# tcId = 51\nikm = 0b9eaec88b2940a4754e83272cbf47fb6f86aaa1\ninfo = \nokm = 844af69cb0e4dbd1a768f69c4a5d2b280b645e48f11cf9f9dfd5930dacae47f5a8a0a58cda227747638f\nresult = valid\nsalt = c1616497d49246400ba68242b635c67515d2528ee1c3b71b318b631f9bef\nsize = 42\n\n# tcId = 52\nikm = c4717276e7c7f794c4ee333b2f7a2ab244be9e8c\ninfo = \nokm = e1e9d8dabba5f8bf934c933170abf15edfa69a19e32666503b00694a1952c38c16703c79ee41d76cc6219533876d162727fa738b949b74b8d04a880d7e917dba\nresult = valid\nsalt = af4c63e5b554063e83e37bf730ffa401c696088ccc4f133a8695ffcbf2a9\nsize = 64\n\n# tcId = 53\nikm = 5e43a900ee0d432c5fe6fc81db8d5f81a54e39df\ninfo = 32460280e60910b10abee2e9f80a3dab48acbc59\nokm = 113ea70eb9eb87624ca2956afa5d5acdb4a5eabd", + "\nresult = valid\nsalt = 8cc815009350b0b6a924ed93e73c8f8c57a1105726663b72741b67209c1f\nsize = 20\n\n# tcId = 54\nikm = 070c170fca600aa2b23618150ab9044bff7d4dcf\ninfo = c1b0971fefa0a23cf4b7185879475ebd8d83b9bc\nokm = 3184be87cfb54d3cf95b2baf96a415c470be4aaf40c38ecddfdc2ea113c0996f1e2c42040d4508ae9fc8\nresult = valid\nsalt = f32a1cddb32693860eeb39a5d190f5667a303d5403712cdcebb575c6563b\nsize = 42\n\n# tcId = 55\nikm = 87a23208df5e66488d23f7aaa066e87bdced8e2b\ninfo = e4d66fa23a6020820013d94d1f8e84a58cba2a82\nokm = 26ed80390ef739f3497e5765f1253706e070a103201988099333c14a70c53762974117c2eeec6b90357e4f5d71f07151fa7d37af7084159653c745915aa23a2c\nresult = valid\nsalt = 0488ffa08062f1fe83e9c3934f5688a2e17827f898aa5daa2d595f09b245\nsize = 64\n\n# tcId = 56\nikm = 214746af12a669b726364027e9a1cfa40c18f8e0\ninfo = \nokm = b7fa371a39453ea956670a412fe6c76bfa4efc0199b20fefd7fdcbd5bb506c9369de90b5d2702ba6e1c7\nresult = valid\nsalt = f65ab21816c5eaa5c9ce77d58608ab67176d2255438096f4b45779d15c2afda12718ec557bfe161e7fab89ebad4fa634cf73f2d12c884c4583e64d2b59b9d8b9\nsize = 42\n\n# tcId = 57\nikm = d509c509f91d78c33b9d661e6df1992b2b6ae429\ninfo = bea4f60eff1a0c6ab664ff3db2f774347920a482\nokm = e3acc2fed4cbffa22a903ed7718017931584e6cbaf7c61234c27bc1a3fd383df74fdd354cb022fa7b6c6\nresult = valid\nsalt = 95ff4b20ade46bada320316dad7e2b4286e93dfa2a72c6366c5ddfe8ce2ff344729ea56416d5b53074c6d6c4eb4e4873980e5e4a4991d6b1497aef822e16e209\nsize = 42\n\n# tcId = 58\nikm = 71a4a7f2ccfdbfa5a907e43f46ab5ccd12abe98c\ninfo = 4f4a4b68bb234db3\nokm = cfb7a0e0dfca246a458c830c77eea7a98f8421a9\nresult = valid\nsalt = 4769ee2fdaa773b6f8293d45a1727adfcb1c8a95\nsize = 20\n\n# tcId = 59\nikm = b1818c1e56aca23595c583b89a2bf39bf90ce9ef\ninfo = 5dbc8584e5facee8\nokm = 63dbd61113df62afed82f2cfdf336f224a528dbe26deaf2446bae9becdd44bee\nresult = valid\nsalt = 70aa181d4b639d67e8ae33881869c8e7f0f1e75c\nsize = 32\n\n# tcId = 60\nikm = 2bf9f0f061cd37f97141853dd93fad6109bd9d1f\ninfo = d1f3077fbe2316e8\nokm = 93b206bd2e38cd81ebfea96fa3cc0573f0f52266ecc5a47fd001cb0b432ed0c2bcb32dbd8d13cd909ab43c905bbd78eba3a976ee16010fc7c77c23c515964a73c19224ae555b5bb207d86073c903718c\nresult = valid\nsalt = 51e306b1bcb7722ded9697541366d5c905ca9395\nsize = 80\n\n# tcId = 61\n# maximal output size\nikm = a974f779dfb38415d1cc69df4c2e7dac023e058a\ninfo = 7a036703c77d7bd4\nokm = 752d5f1fcdaba5f778ef92a8218c730e1d8e43845eb3e976fb05d51397a57f8b94e7cce3e20469283ec1b6b471bce8c1fbd280a3c49670634a47c877069a54f1e8b478bbd9b4662b314b326258334fa40c2d2b7ae953d71301aa309f14d7e54e658ddd259cc7bb05efa475c00630905396dd8aa5f8fe72d3af04f9fa844b1f0ea9975915073d544b3be33db8df48b9d328ef07a800eda472e38df3fb57de8564b2460d80cf0539d5b86501178314704d9f6af54dec9b06313f9cf85112b05f6351c86841214f5f4d7a7981bc3c8f8d68b9ccd8a81e44e3530739409b1a6fd8a6ea91a5f7bc5b91690e423cad62de26437c5c43c99ba84d84d34e83c34a0b2df6449113e5e3bc602e3f07c3ae2c08416d304308deffa44039212f1c8bac344ce1787232d6628b225f0d624574b977371a611c56515c449b324d2fe9d4d3215ffa95753a3aeb2608087240d32bc8eab576a21b37526d9e35917f512ac886da5a3302f4b76b4b6868e35795a44a0ecd4d23a4f252543ea3bad81d337ad13be1ab417a7967aacb48a564808c225919909ccc33c0f34e8911d59c017b3b279d0a176bdbb77c3c11b5a2c0a91a0e67a4c8a498fbd563ee49cdd3b9794c38efbfe1a45d110b3705070a2da15e010ac90b4b4e0a6863acf20c49c4be0d596104925432678dd39a2f9117fc6579e42c3b245174c2aefb5e63308ba372152596fd842304c335a0010e7c3965829b6bfe4352c41c40bdf1d55879e2c3d30c7e6ea892f5b0832f5fa504d20a202ef1a91baa70ecab57684168cf02224ff45af135da178fb4ca48c03865a9857f62d280272e182c82d53cd0b9ab11620e7edb1a3f9e9df3d59a3b01468208651ec3c53b9e4c49f66ec021b5cd4d47bc8db46132c2ad3e0aa9124b312c6b5366f2108c2a74a9876e556182dd96731179c5c6e6519d4dd83d64e7a49c6b70a96e89b7baab690e15e1263e93434b9b9f4f1ca2c53edee06066d69724506493d216fb44eb6096e35f205bbe0fdaae76fbcc2da07891933b864881d331b49bac09f6a98dfaa2d32fdaf36717017c61105bd1b0d238313b1916ff69a67c5c51da53108d46ecf651aff07a106a09c8fcfc3c6b9e22255f9a95b7e804c1b1678e11050fe6f50c7c53b339c89de46ffa605fb3174ab6cb92f9ab8daef7a5aca41497f489f573269b361efe1e0703a75b91516a88e123b2e82a989e0dbe4e69e37ddb9e20864014d9fb6c6040f2c5558cc22c84b1e8286e0d46400361820a39afca673f898ea57c1cbb9c2d0d643e32b1837a153f70aca708775b84605f60d8d2d0200f55a4a4eab235489c391da0fb885a6948965d5144a85d33fbb795caaf2995338ff206638be4a47faaaff20b79eed27096b3da2c9996a8cafb7b28fe7df4c0be6daf4f32992f2223fb90fd6cd4a15db37a29b10c017e8fef57609ce35239c8017428ce6a4f069b5feaec6f1ac46d54450ad066a6da304b65feb5e9b1c905eb35e051e2ea8d5b8c37c6a75a110e351c2a16f61e944ebe2513986df9917b796cd632b26b533d79b26970d71e741ddd4f899195d036cbf03fe8e3fc9596b0f684bf79babf83d232745bcaa58350a0fa50ba99f87382a5346481f1c91ca8367ab0b4b8386f5aef3ef02f90d19e21f3f89fab1b614fef03fe1da6309c2f0067ba5430d79884359b5387a920d913f48c2f71b0b71d1196a9755b1b7a574b84655da35afe333d6babd3ce46c51167fbd845a0a105121a356234cf2704d4a585b817899d230c0e9f03c96f0bbe0c313cf00b031e5b0e7f2e154a122bf625a5bbf406c2d0d7c404fa1a23e9533fc8632401f01088ce6a8e8bf45aef62b3ccad031fc92c262e3197b11c8e4f97122306eac0dd9a7d2060ed1469c67dda2e086d470c2635dbce357b3ff0a1d5fbb808f33869d0b7a37e97510148f1d41a4c53cf4f04069131ba4bcd48d5aff3f484d51431d7e717e8bfec270775a6336b39c4b314d0ce43f82136458c4344953a2ed9d42b8335ffd23b260b026b213156cc6d9aa512aaa90c6d59116aa78404469756740d0eb232b38fd5268b88c6dd04e25eb7c122c5470c65d48e90765012c3a29c3aa692eeb856d7e33a46661ccc2d9dc1d6fb99c8f19f7fe77a0d042a34124057ee4ff8982e45ea19c7c257547b8a4b46a1f042cf8b42bf045c23628b6998553be1d1fd64464c144251e809698b8b7d095a2a45df7db6b6382fb3818ec3e2bff53956279930c7a73dd4477b6bdc53e959dcf9875ceecac88aecb5dcaeedfdea18ae79b41c04f675a9ec0fdf0b8113741a91cf8f3627c83f78f6aae081d6d4b2ed6e08427528e0bbc8ea52dc8b8e6c5327d9c9fd3f09b772ead820b7b4e2b71b5ec579775ff16b978709a7e17d78ef50998b5858cd0cac664e4b341995535f11888b09d8b028ec66961aafb871c12dcf5c6a30514bcf677383f56ad36b8e1ca42f1c4dea49611f4fb4eb57e5724cbf6767c57213767ccda73a9215802801f4804e68d6f7cf35089092bb12da8b091ac90a242e5feeafb576d7392d829b702651d310544d9875edf4225449dad035fcb3473b704650f9ccf48ace3f076abad1797e5ece1ce0fc6181be66457d6c330be1bbba8547b547bb7512645f92403f39b66611bf8f8879cea8421dad5c076dfc5e68ed5c2e8a7e75e47867c6f30c7f44b178a4ca7c9036d0a8e907c9bc12b38ab2f25cdd320046b55e17a2b4f5218b8cf4228c7d4755acf1d188a3795998209a3b2fff15d6c0994da88cb42b9e06de60824f957b2a2299af5774856de93e7d9f88f4e2d833dffb431190cbecc47a7f3c172cd80ce2c496838b6558062c4f60dca3d0c3a754829007fbd462a1718b205214e797b03e834d36c4877fbc6f7bcf091cd905dd4797fc709967f0f0b612311ffc0126b07a09d54d3a87c19e5ff2ab1fa9a2c08c0931fe94be2f334d2a4ac02c3714ae8be23fc08de5d067871438d3cd9f794af08f81fe4921454410dff0ec370fee9af3f29d9f4bd4a6b3a71539ae87e94609b1decd20310f917ed2143c622e239ee3c9de096a79102b86abcbf25b689c2d9fcd9ef5f7d16e197fdd2d640dc9ddf6346d639725efcdf293dfd070ac0c1fb53bbe9e576509174d11bde19cb8c14ee9efbe297f4fabebdb600233abfbe39ee670ea687a9731b9677a59a50f1ee4d0828f1dbb33031df527c3064c6349c51589273218da3c67833a0e86cda700f2d57337ce71d2ab37919b9be78c2895f52b82c088f662c5e8e9d474aa0922f1ff99a106ec931f5e74cdd468a36c34ae0074fd9bcb315fa2ee0c3513dbe8a681fe1634331a885d86bf44972bc94e79a7eeb068bddd629684430e757781992c88549158345557d49039ce61c4f1cf76e6d0ba3279f99a8685d83421d85d50ef5ffe03b2bf414099c34854d39d6938630ca33f0024530ca85e1d590612a5d8b3c2efede0946621bdb2d51da9b8d3bea6d9b22f2f32f764e11db88b360c4ba4092ee7711ea895736f13a1e29ef7480dbfe8257150b80d6c2e3bc7595c3807e1d9b127f354951155da4cc89e13dd694196fcccc62bbc192a1296f2e44b367c88ec4eaf578bc6aa85d0e03c6b70a15344fd649567f6968a96b518e0eb3f981328b1dcbf2a89c8181395fc7ade3061e3106826c9f0bcdd163d9a5bc9979f9b671ad6a6b57ed5e930f763a593b01c10fcd7e27ee79a7b28d62d5f110ed3f96be8468b5922735d99893b63a395aa0b8e0c5ec8abdfe76e5ceef73a5b7326dace9fbc560fb0c50939f45e849c9519875febe765e6f08e5e65c9d551743e36ebbd34f83c22a2c3f89e7056380b2f5d2303a21fea83e445b07e25e45b11299893b73ad73bdfa574ec51641fd8c1bf1aa2051f179ce9448b6b6d32068684c59ae9afb9095ce0eb42ed78281e3fbbc51ca634676b56725b770f7f46c383154bc398f9cef9aae65a04d334700c2c479ab6170cdee3a75a72071087cb22911db25489e64db66707149202468c10b5b3ae7b26c26f487423e411f849965ad2fa8632993be938ffaefc120a1dade3296624d51a5ef1295f455792b89d223916a41b24a6bb3b8ef848d3e57dc4e0e7fc2c2bc5eb0c187578ebd6def2375d4f7b85b2cb10a9e043a7aad0cbae17609dbf43ad3759bf7f6e32fdea4ecd614a9d6dce4f5f204adf86f6a0b73607fe9efe", + "66b2335f9545a93d56ac15a7c763bf1c7246c8f3208f2a6d16bbbe93fb6f712c6dcdb98b25765eeb56c54871d4c2d7c387432153d848a72d592e61f4a1715a9282a8b97f9888fac216fbef2a784f148c9da8a3cd74ecea787fb4996a5fccf6a044ec138a2df359d23570d99b5b43802d0bb0f26f292f62629dcefd86b105e4f0b3258a446ddaeb5a5c52968d49f212b796ca0d2867c03e613558b5854884c96dbe26a1a8db0ff2af83057dcdcd651751d42ad08b366a8a8c8789754a747c7093bf84ca7c537abc024f55279a4a32a77287dd37703093871988f4e439a5aac058a1dc679904d11990c6319b163a41d91be270884b14c528a297556c78118842ff227e63f2d2411c26b5b5c08e1e21b2ae65b2d8fd8d6755b74f7bffe6a247861abb8e2f67802a32fc30543e3b09c01ecb628a8062a130c85a1f89c1b99ee4f87937c0fec871dc6cdb5faa0cde40f187161e2395207595a10863d9de3c77f67d330bc4eca8d296d459fc245b66ef95be412cc34ea63a4b6ef54667de97ab642f3e04ff1d52fd0c53d91aa4c2a099e95c674cb0062ca64a787271c6f3d1f7a151e49564e717093ccc316d201109655a951a2cbc1452d6c9ad6c8a85f0225f1864448e184f6f345f119ea794633fa4ed14f73cb4a93a565a32b23263ee98d6d7ae6d7e72747d0e701d275549cb0e8cc1836473bca962ed3f1634e12336d8e2031276953da8dbaadf43febb2bbc185deb4e4b6bd5b5ae36351f19b3d5fd4eb224185e06ddd7dd9002543d0d165884a48cf560e68decc251cd308eff3fa3d605e749163920c648311f0d458a6d2e162bb54c25eb4ae35c0388c917155eac3e39600a5f56221f8e2874f19dd3620d5148f40be1905a053c7da299dd665c2a2aed1e72c0b02278c6e67f6ec94b4eb9986169b15375ef2cdef3b8ded36ef3f70d2fedbc33ca04f0ecc8214bb754e30bc9596f1425e318d6ef012d8a5360e85bce81a10b4376f9f668382c5453338c0e4ef03a4787bcf971066e1827925ac3db01c8a26abe8270e727d5e946785503ce3e18a1e01c5caab42cde3770d3c133e4504fb040303ae41d707410bbfd76850e8a91fed41759fe84d12c16043a8cdd8d61b999b0f964fe3c3829e365463382ac4e88b50e0a0a25d42df3dd5c9216e117b45ac9168a5190fa7356a050970257871f1e90760b5156ee694372e2751a2c79e31a49a00f546a1e9c829df7066a0b015bde5caffc7f209f6fc888cb5801613b2b7bae1f4fa7266187e6295f3f7e780b86c401cdb965228fc1e343eb18c57ab92295e4fa9f9f6a1de3f4be78453ea916aba396ca6fc77c4694ade2216d7419ea6817ca28e103d36833dc6020a5131a9c7573d8b5fa7b145fad562a061bdd1fa713a3a2cd19bc5d0f58fdb3a10ab41b984ee7bdce5ec312f0986a30bf9eccf5366e90be9aee28f16bd8fe80d521b5050d352c79389eb3c20f83bc3b354633f0c74264761426f3ac09302cd64ecf2b8a28997b40cbcfdccba88c95c4fb38b15ba75295c3540c9d5c61f5f3b33b6183982d0683638109ac91cd77ac59fb9ec61de4e4e753b2731443556848b6c72ba29d436021e12bc33da2049d50cdc955dc13b03d7b7af5b6e646e2d3d1d66a95f19a107d827c1b6cb1a9df3ada381f18b2789eeacf7c48a181bbd29308527ac6c04002029583edc71b9c93d9ac1e22db647f41f8de22641526c5e9fe09b0dd5161445b7c8a574f60c59487a99dd020e01001d937fd6bef90977948bb99717ed59fdfc59ea2a75ebb3ec627470e6dece5a5a4f5b77d453099ec398397019bf38e70f8b43ad39524c55575778136f8715f61043fa7f26bd8deb04a667b4a524c956f625c1cc40b125a73a7fcb8293f7e85e0cb213d3a70eef24bb8ca8fc9c528ba3e99e6288168f494074f0c35ec8caa57932e626f227f571ba3e54cdeae80456b0aa084f91edd2227c4a2fc9a88b070aac07c1356d6add76b1df1cf8bf2220eded9bfda697867e2a8db619f535e3e71593b3a47ca8f7ab8c4343288700dd322317e28d016f777ebfef45915050315e9d7d43424e6326486f4595167ddb226134e72685723564ef8cd5cf3998ecf47fcea5c9e794366d036a263962d39a97aad98c2c183501d480a2b0492f31642ded1cac194e06ea4bf1ddb73d327d526d63bafda5061a6ed1f056959c260ae7371e70bba49e7e002f2f4a1107f5e3b3575e1b80254b637340a0e5ad28f04453a87450f9d8de3e461cf226627c78a3c0f9a022da96c77122b3d00f50a023148d0736dfd694329d5d47381f4f090f3822476d9644024f4ddb95efb0516d1d036a4224c6797468a3de72cad2a0a61dbff3cf8bd1bd77a5e000f96c2487ab180d6c14592bdba2d2ee7f0877ab62c9bbb59c2d420bab61b760f86f2486d4ebeca62b8143ccae97ce1aada007b24fb923c7213d4e824b328a044190c8b668d58208bdcdd14b040c19d58f11e6a773a6f5ab35e4f81d5558259d5717c81798d5edb538b1767e19881f1e3c4cd28a8b27087a78472f4b4d146216ae001b18d5d0d7eb5f4575b23334ea97e4aa99ee4315a34a52cec41856ee6b6c3f203f78172eb21d9af1e75b42b5fe3a5edb5c700a736fcd25fdfed833078f5d2d4f1e6a3e37036509db0e69ee7054fc9245a9d7ef08c2d54851b5be1ceabedac30b21c1c2540498e98080670e1fdd915430ecccfef3bb3c8bbf9e97e63a664841e8eacea6fb770a4ca66bc61cd317c18455857f561a3d4413f66dff4799dd1d0eebb380967e67b657661ca437da3be1838f2577ebcb0bf43977a6e4c570f0a6af142a9c385cb3371130ba19edb4f4b1e47d5ece1631b4685dd0961fe1ddad831f4d73df810ba636f2f6ba2ad86c5e333ecf2e67f6276252e301d648ea8cefb2c906b635e962aa8f237bd8f782a87a3b2e6434633f024f90b5c44b555831d659d5fc98c295d8abf3b6b5cc7da453bad40c0bb5258860f05ec8ef698848a2f9b7569f9b028278eee239968bf3be77ab9\nresult = valid\nsalt = c2a82e526587f4849d37bcab274aacb2bc01529c\nsize = 5100\n\n# tcId = 62\n# invalid output size\nikm = 7b5b2acc573537f4bbcca4bb02d06c902803ead7\ninfo = 26a8336ac6218c2b\nokm = \nresult = invalid\nsalt = cfe7614e2db108b12f077ff8e58e2b80718d981e\nsize = 5101\nflags = SizeTooLarge\n\n# tcId = 63\n# output collision for different salts\nikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501\ninfo = 5447e595250d02165aae3e61fa90313e25509a7b\nokm = eb919ce9c8382ba88195f4fc48df903947f98705bbff58d576ac9bc129034a18\nresult = valid\nsalt = \nsize = 32\nflags = EmptySalt\n\n# tcId = 64\n# output collision for different salts\nikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501\ninfo = 5447e595250d02165aae3e61fa90313e25509a7b\nokm = eb919ce9c8382ba88195f4fc48df903947f98705bbff58d576ac9bc129034a18\nresult = valid\nsalt = 0000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 65\n# a salt longer than the block size of the hash is equivalent to the hash of the\n# salt\nikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501\ninfo = 5447e595250d02165aae3e61fa90313e25509a7b\nokm = bbb1f0bcef58029d47d31d32b5219f5c89e6a108402fbd7f35076455a7f6dc8a\nresult = valid\nsalt = 1a08959149f4b073bcd902c9bc4ed0324c21c95590773afc77037d610b9584806aeeeda8b5d588d0cd79e7c12211b8e394067516ce12946d61111a52042b539353\nsize = 32\n\n# tcId = 66\n# a salt longer than the block size of the hash is equivalent to the hash of the\n# salt\nikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501\ninfo = 5447e595250d02165aae3e61fa90313e25509a7b\nokm = bbb1f0bcef58029d47d31d32b5219f5c89e6a108402fbd7f35076455a7f6dc8a\nresult = valid\nsalt = 36d0017c873ac651fefae61522d41d97ecc66dee\nsize = 32\n\n# tcId = 67\n# a salt shorter than the block size is padded with zeros.\nikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501\ninfo = 5447e595250d02165aae3e61fa90313e25509a7b\nokm = dea2015fd2e84a9ca599dc622fc9c87aab224569261290a63cbed6f7f61939b6\nresult = valid\nsalt = af856d5eed5c77f4\nsize = 32\n\n# tcId = 68\n# a salt shorter than the block size is padded with zeros.\nikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501\ninfo = 5447e595250d02165aae3e61fa90313e25509a7b\nokm = dea2015fd2e84a9ca599dc622fc9c87aab224569261290a63cbed6f7f61939b6\nresult = valid\nsalt = af856d5eed5c77f40000000000000000\nsize = 32\n\n# tcId = 69\n# a salt shorter than the block size is padded with zeros.\nikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501\ninfo = 5447e595250d02165aae3e61fa90313e25509a7b\nokm = dea2015fd2e84a9ca599dc622fc9c87aab224569261290a63cbed6f7f61939b6\nresult = valid\nsalt = af856d5eed5c77f400000000000000000000000000000000\nsize = 32\n\n# tcId = 70\n# a salt shorter than the block size is padded with zeros.\nikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501\ninfo = 5447e595250d02165aae3e61fa90313e25509a7b\nokm = dea2015fd2e84a9ca599dc622fc9c87aab224569261290a63cbed6f7f61939b6\nresult = valid\nsalt = af856d5eed5c77f4000000000000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 71\n# a salt shorter than the block size is padded with zeros.\nikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501\ninfo = 5447e595250d02165aae3e61fa90313e25509a7b\nokm = dea2015fd2e84a9ca599dc622fc9c87aab224569261290a63cbed6f7f61939b6\nresult = valid\nsalt = af856d5eed5c77f40000000000000000000000000000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 72\n# a salt shorter than the block size is padded with zeros.\nikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501\ninfo = 5447e595250d02165aae3e61fa90313e25509a7b\nokm = dea2015fd2e84a9ca599dc622fc9c87aab224569261290a63cbed6f7f61939b6\nresult = valid\nsalt = af856d5eed5c77f400000000000000000000000000000000000000000000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 73\n# a salt shorter than the block size is padded with zeros.\nikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501\ninfo = 5447e595250d02165aae3e61fa90313e25509a7b\nokm = dea2015fd2e84a9ca599dc622fc9c87aab224569261290a63cbed6f7f61939b6\nresult = valid\nsalt = af856d5eed5c77f400000000000000000000000000000000000000000000000000000000000", + "0000000000000000000000000000000000000\nsize = 32\n\n[keySize = 256]\n\n# tcId = 74\nikm = b18e35e63cc4fe4117bf2754ec3f9ebb5346dbb0bf6d4e5f2422418771816fc4\ninfo = \nokm = 8842b25685d615b84d2aded432bc637a6291bf72\nresult = valid\nsalt = \nsize = 20\nflags = EmptySalt\n\n# tcId = 75\nikm = 236c2ba20c72242820f63d3e9c20633162c1cb048a45dea13861e8a138b9640d\ninfo = \nokm = 7963ec539686050e96da3e3da97ee1fb997209c0c2d73ae0750032cab8b6ea4d3682568753815b9da183\nresult = valid\nsalt = \nsize = 42\nflags = EmptySalt\n\n# tcId = 76\nikm = f2cba42dd82acb5d2d569406815a3769b7becb13fa48537fa7d7d5e121081d39\ninfo = \nokm = e8687a27812286db996d44fe0c21dbe772bf3589d40b36845cb8585f7d55b433d35dbf5bd566ce742eb3c3e9975821cfd67ca223a2f8a53b4575489dfb7ba116\nresult = valid\nsalt = \nsize = 64\nflags = EmptySalt\n\n# tcId = 77\nikm = 73d97f2ffde01b447a5b8573190a8eb4f87f7ac04482836143f780ad876bfffe\ninfo = 74d2301c5aca2441372cf6077bd8806dab3e8721\nokm = 0f0e082b4d3afbd94d5aaa583c0ad3d8b746b9b1\nresult = valid\nsalt = \nsize = 20\nflags = EmptySalt\n\n# tcId = 78\nikm = 6948521434707e96fa943e44988d1ad409ec57e6594867e8193e9d727238916d\ninfo = 9eaddd1e7edb6b84c96fb5ac7e0d673a8f5084f2\nokm = 623eb8c00bc85148d561833bc44a092b4e05e033640decbf36a70fdba26987cacaba3c19f71536986348\nresult = valid\nsalt = \nsize = 42\nflags = EmptySalt\n\n# tcId = 79\nikm = b72b3854923b8a0048497a86bddef962552c8f6b2c72b2b2006a1820fea5c6a9\ninfo = 113b708f7522ec3b362999db18699bf7871e3b8f\nokm = 0e9718ad1fa0c5501b42ef7a9b1bb1e4a985f834d44aa10cd77510c182dc2e948c801d5c6fffc92a8342c034b53c499d6af89f0e80ed1942ecee741195aec71c\nresult = valid\nsalt = \nsize = 64\nflags = EmptySalt\n\n# tcId = 80\nikm = 44d774def90685c0e9a685fa50fd434c807d1a57896fa42f91778821fe232057\ninfo = \nokm = 05a30d9926c5ae588f0694962837d40d412a0555\nresult = valid\nsalt = 0d7d3b47bf8484c8adab7f9c27c9584f\nsize = 20\n\n# tcId = 81\nikm = 098ecd86354496a701ffcac8d589a1217231da3b80ccce4ef85762d7f3a2c211\ninfo = \nokm = d8c830bdab6a974b492da563d100201b3361de746a77fc29cb9b886a84aebff5eae86d9cf2ed5fbbd8cd\nresult = valid\nsalt = 5232e5e4e2dd6133d46ebe5a8a51a0bc\nsize = 42\n\n# tcId = 82\nikm = 917ad396520e454a571ac39a9f6bc845a8920954fba1ac400cb2988cd8847ba0\ninfo = \nokm = c0d75cd597ac28549030c94a90a8935608ec1300577bc84fc09cb35a3cec2a60b98cfb5d6adab160a960c0032e470cf82a80b683c1580871334f248ed92beff6\nresult = valid\nsalt = 962d86949506450eaca929286ce5d9e7\nsize = 64\n\n# tcId = 83\nikm = 1cbff2202268edf1985bc91466b80133644988c5e81368cf0995274204fb0aa3\ninfo = 3e4f9c8d3d607c2ed43caa9e87e6ecbc307c6048\nokm = 6c8dd17408c8c2492537ea032874aba93e19386f\nresult = valid\nsalt = 2bde6e33534731f52d39add940ff46f6\nsize = 20\n\n# tcId = 84\nikm = d00d6b4fe088077ffbc64127d6bdb9707a0f9061c0b873c334c3be0adaa7c2bd\ninfo = 4266351bad419173279c901aea148e8b1d99e50f\nokm = e0d47f91e475fd3c8d53e9a5bb4230c0dbd7be0b96ba9ea66d9066291e0f397bf634d2699d935686d4c3\nresult = valid\nsalt = 1647a044472179d454b8d2108e4a2aa8\nsize = 42\n\n# tcId = 85\nikm = 9a27c19b607adc8f152faeaeb1282002d3a2166894b7fe5d65829ecdcfaf73b9\ninfo = 36356cdc28187c11cbb9046f9ce7502ab4d2ea46\nokm = 20e2676587655ee3c899bef116ad4515e947cb549c0fd5d0f3cc61335bbedc7518caafe1950000a067f67bc7bfe5ca81f021723013fd687a13b621613a0775b4\nresult = valid\nsalt = 70d83929a6376a6eab859f0d6225f131\nsize = 64\n\n# tcId = 86\nikm = f5d1c855d3448e212d76d3927ec797dc439cb182f427064288452988ab79c83f\ninfo = \nokm = a605589e0fe22ad6dee3e7910534a58f69d24e02\nresult = valid\nsalt = 87ef5da5400db731d658972ea82b76848004e70d3b22cec76c8be06283c4\nsize = 20\n\n# tcId = 87\nikm = 3f19b7095a6b3d313b59c3ba2c3a78d8b24f30c9ed4f8be9eb92f8eeaabd2c3c\ninfo = \nokm = f364e1b27fa697d6ebc5e2931ba9a4d81c42be447337a8ff519455fd5f89cd356bef5fc8b795334d6a8f\nresult = valid\nsalt = 8f1f6c8e4f68830319ae859b4b1fa71f1d69552b0c3e53cbbad26293651e\nsize = 42\n\n# tcId = 88\nikm = b1d396c69f14994dc8add0f6e0cde4455677ba9ee95ff84a142295f9177ee629\ninfo = \nokm = 66ee99f5b2ce636fad989225301ad571d2124cd9c758042eb005a9f3ef091694c036a5975b39396877aa84342e26f8020eda23f0097b89ed7f3252afc87b37f4\nresult = valid\nsalt = 7f693304bff77534b8246d832749387ecc0e8daeae11d77d022ca9e362d1\nsize = 64\n\n# tcId = 89\nikm = 003d1901a10c062ec44e0f2a94c544b7f53b33f1ea4679fa6e023c2d0a907fcd\ninfo = d5d3ef5beb9840d15efe9c778aefe38f1bf7bae3\nokm = 6924d12a17521e8a235a4b0df4eb8dbe3d5cf277\nresult = valid\nsalt = ed86cb8c8ba1c989f9a60a4a82c38be98c70e6218576b292c93fcc18192e\nsize = 20\n\n# tcId = 90\nikm = 02e0647a4b7ccfc0d3ee7ddfe24ce69c02f51cbaa836b96cbc5a9c2885c45599\ninfo = 4e9e27d971e76fda614fde15031f6664b97d4786\nokm = 3fae59261e358dfe04edd33c1b328ff656a3cb4fac2f1130c97d4e34f10777aa5fc3fd586c4aadc7dbff\nresult = valid\nsalt = f0862f61f2377ca34b76476ae21e331b114c7712aef501a1bf00f7e9cb79\nsize = 42\n\n# tcId = 91\nikm = 92bfb7e31e839f109e6622b2c2c4f41ce84c9907172681920e7d90e80e2339bf\ninfo = ff36776fc755722ff371f21cfb37a168a2731e99\nokm = 6ec989baee1db032c1867222e1f98104c546dc784329367a1e0ff4fe55435a88235a52786b6854f2fd809e1ec3d4fe836b9345474fafec29418da2e213a283f0\nresult = valid\nsalt = ce869619607f71fde53ef55e18d01d20002e3f91a8b7584190fc6667b8d2\nsize = 64\n\n# tcId = 92\nikm = 17632581c34ab743992cd99318889b32f92812bd37f41636b5fbbf2b12190c6f\ninfo = \nokm = 2486d2d795a6be77f2bca215de895ac1b011bf84b58b07020136cf87972402243ee2c210902c33116789\nresult = valid\nsalt = 55e39431c83648867ac98eb7ecbbc8b41c5a5e774646b926a9b49c511915b0de1241f8666da198f6ba4bf7e9025e434b6d7ef794e7a563309303055fe3bbe769\nsize = 42\n\n# tcId = 93\nikm = 045b4d451bc30c39afe0932f6cd62e65b4b2ae2cf1160f19e8ba1323f7ca146c\ninfo = 613e353162c6c1b12fb1477fbc54074ff7848a14\nokm = 7c9b85c582725a15a90570f03c8ba3be2c5ce553db3ff429fcf6eb58e3888c5dfdf29f003740301346c9\nresult = valid\nsalt = b73682dda0fad41095070b2b26f2d7d98ac62202d918258ca9aca0f794ef5e4d23b3fc43c8cabf9fcb37ad9a62337fbce967fe24054c3bf891195858e53997f4\nsize = 42\n\n# tcId = 94\n# maximal output size\nikm = a65a2526a0452a6bda7e16555658611216973b1e85412e0c6fc8f4e25168cc3a\ninfo = af7eddefd083edca\nokm = 70e1bf4b225a9a6828cd59bd32f1e83264b7eaa6123592002498497bde3f7386c1a42a1866a668c56916e3b3ab355b8807e21f79f0fca49d5ef88be9a6f157c1dc1f74a473212ce8f1ffd759fa6d301718578a7c2332c32d2d924d7ea767954a976fa40043e70c980626ecb4a3326e889a23d0c7267292161da339df633540ffee5a4ee5213e4b37ee302a611fc5130eeb5c0d8e18e7657081867deb121194b3e0c2186e61d4f58c89561de51791708091ae2b2aa2467d8969f67720ef1f6bcdf636cc015fb0b76d8085cf006f7eeaaad6a64301723aaf0a6279aaf1ee7819e882cd5a9ac33cf8b8f5e8b56642f6d540126010f7976b3a8a07152f17353919bbe7447126b004f6100d706627f00a7cd5660026064d50b11b7b487c1a2ac9ebcca2e4a590807293e8e46b6655d4f2aa170a4d42011f0cf406afc63c6685c2e6bb203fa1b80a90160fd4ea1ccc87402bf658cc776ce1133250a35a4c22a34450d180f4eabd9a63a4a38b67a91a4bf6f2c2ace2935e36b03d24566bac6446e0916af2a70675cca74828c5f70861c438d58dce384a3df4bff3c6f372996e2d104878d93b9dee0a7ee4c83d56c206b6d3dea1af2f9ba268303c6be86d99f0b576115f5523dc0918a54709189b3d1e458caa80ea376a3cf9ec421962b89e9ced740dc6ddf065af43afa9cd925ffa8c7d7a9a7643ca73890e490608ad77e0c9a9b98db65ddbda8ad76c8b2539a34370cc79433e0023ddf81bc8a83bea1ac4fbb181ee800bb5682d67fc9c607b178fb984ae9f55471bdceece6c3c5e6af9491fb7d3962bc8ab914f0ef65358a6cd63bee8290d581c1e0bf8b5c118642aa1bdbc02938773754cf6a5a3aa98b9012cebe9c87eed630496d27a28eea3835b7ff9cb51d779a5a60528d08b3ec23a31ec6b5603ddc85b18f0c6772e91019cb15159da61c5df0bc29c4bdeb2c68c66021196b8ccd12d6ca75180b1c129f9a75cd59fc8afc51574d2503ee76fffcf6ed6d46477b874665ef45e6ff04a916b67c89f9e57819c66baa782f12ebabd3a5468b5b729834b0ee0e782201235cc09ffa7f5293ca8d3ca347545e2f3f5806ff44bdc5c8d0ace63e947820b67281bfc1ecf36e637c430e1cf47e39b2ab5f47b4cdbaf60e6db884bf6c5200e0249f7c3e0ba814d6f0ccd914222beaa845884b00faf29b2e630c1a55e1fcbf5d5b3a6fa74dafac252647ff40a271a749fade39df7a1f86f046ca0fc618b649ce023b3a92b35e657deb8ce2d181f2ae6eca0989452853e4f2115567793748164c1cc0a114506cc3ba32bf682030003928fe9f9e00be2236c2b7173b33623452fbbf40c90e5085e90703dbcf1a7267422a68840c9010bbd49961ed0a935f5e6e8c1963ac04b851f0ef8716cbebc27db8868e78556aad4ed4b80e39443bc8ec25359bcc1737330be79227f136a0357475afc585c621a8520d0639fc750d1a44f243b553aab880025687a06947e45da0044a74ef4f352dfdeb629eb1bc1ea343192c68139e36c816f74cf3ae3e476a3652d1d6cfd02c0b84a99c728ec1a3b97f28fb5a3ce2b03c2eb8c0f42aed83e4f5891911fbf189dda44f302def860b308a9022b1c46800616ddd799ee19f7394e3ac10a305537d9f0659bc48fcc9d01996a1fda0df5597c606", + "00cdd0299971ac4f1cdfc6af7de2a3f131c868714a24b3c0aff8162951852aa97a29cee9eb7558bd2f384065130abc4de58ee5b268aab6b2380d885e5c98d22138fdf77bff9fe2370eff28f22a4515341d9c226a6dded964086f3bcb5342acee09451c6257eeb434b61b8d93b0850d49e2d229fbd0bb84ba4efa3fc1c2d59a2e725a528fcdb44d43a0e1f5572d52b3f526581af49043d939e9857713d04ba2a96139e007b974b2971f71a0bbdfa76998f250802eecce869bee6e4bd3e4523c3b5d32a61c9f9aa1e0bc215484a4b11bc81ba3b2562ea49d08f63b46edfdcdcb7a496f414d80f853547ae94d8654de4729774b08dfe3acb94ec5ee2a940efef53bb76d2517ffe1acc915ea5c17652ec6651d3f7734cb8b7aa176c5f2e601dc42f0700357b592d4bc72c25e42ad9897ef1fb43bec5be51b7225e57b87732383d0274e1a9594d4cc22451611ec5de786e31a69fdb3c5aa4a857e02539f1655c542c84a32f40dffc4ae8d83ae8c8f7e54dfcc4362fb4c8134a9137836f0ea40b329bb7040eacb31e7b362010fda9fabfa96622db22316c3b297e26d2b867bdee55f600e97d338cd5a2969f38a76f968d9b76aabc392bf1089c0f99dad174b6f8b8e9897bbb0680e9fb08b39f1b9d618b81e1295b546c3ddf7b8b807950199d9fb48a3c1754d97344908e8a4831477132cc7e8525a5fbbe15608619dd369ace1f9c73c67224358f4ce07dbb3cde19df4bac7bc706f18df54c17c3a8284610ae25c00913edbaf2c9fc8ef582ea3ba5c50b7d15a93acc50f632ce4473009da29a6e1852e752a15e6b7c56f5a0dfe65e5cdd00edd363469dcb9866397646722c6ae0f48502dc75bf8381225a17f3533be924a0864f60ba58341a75b1a83404d1d4380f0565c3d55533e858d4c9f427c712965c015fe91589d43a4ef4e95f4bcff164ba8752ed83cb57a7b460d2c9796177433588f800fcd518c5e99baf8ed652e61c1fb4d47a882174e4a0d2d03078b2316327799adb88d07270fc7c9d7919b6be24bbbe2ee7999ca00eae4c64c19e217196c8df9a45d7a9009f11444340eac6454db20263873c86d884d466dd75ffa5315a693fca6ed2af24452a48c9a5e36c1cd7408f5e6a8fbc41e3653986e0f355a05288c51d1f911c494540e9eb164e2cf270d4d07c334a47fdd3d870a2fe69516f8b4ddbc3c0f21179c3ba3863d2851ee1ff0f336a23add665ddbbf7a8168c6e04119eaf4944b132df977cfc826cb53768c275848a498fb3c68a352c1d0a51701bdbe7194beb546c6f9cca343a7e3d86aa74cae125b926dcb5037bf7b3ac08e15c024b1997c4d01f95fc1a941027f8efc6b8abf34c6b25aed0b4052c0bf15aa56812d90c7a43856d9134dc1140788dd2300c555a0ede7be750bea34dd3f8ccbdba143abf975879f9e374b6d417fba64e22b5c848189173a9f972176ca68e2591e4be093e51ba3775443101767db9be8dd92953ce03d91a9f1bb3ebf0a3bdc434be0197f527da23927d8ab4ce0613e363fb7acafa3f2b11ad4c1f12a1990c431bf2553d936d98822a1c893a41663b0ccae8541da379d14895584151c57605c76390b1c91dbc752acae6ad571ab4d0a47e2a4db7b88fedf2081e1c0bb0cf5f60230129711586fa5c99fd34cc3816fcc30644195c4bb72fe8578d4007f7cc16ede32eaf34ce19084782080e2815f25d117dd1d911601fb77bc0e471189fd0a4bbe01b1aa979f052e0431dae1abd9dc8e2cb7d575c5749fdd82f247f1686c24677f8d3a358b6860632d26af38f2d4c91457372c11acde9b447fa1a598b5ec1a3ac0babdbd4eb737f3c4c2f2e15b5d8df3b8d6e6b70a3cd365b57349e6ac60b8759bb09bbef1855c1468d10a777a2babb7e77313a321f2169761108d5e8f11c51c1314fe8fd59aea60551c402c4102d08f4d0c54e4a8ad7303905e42bae5b1ceb09119324e274b63c32215eedf7dc51e4f1ed19f013c5a23c8a2f0841eafbe1ae2ea5f4cf20719010a448f154397b6c65be5867508cf112f9f2ff236024c8254d921c8de4e4c39d91e847e7aef69a2747f75edde39e3adc4c653f20d5742606baaf985260b955c2b6e1947b469927a61d866f797e73fadb2821ffe03c109219078d8c24c852188e3352fe257ca3e371043470575f1b180d0747550d9ae8b55b29b06be0cdfe6955a1acba316f2e0d9fc4a99d7725d022fc240e3956bd66425dd2c844b4824cb5307af5d6d77ee97590ecd849650cab25567bdfef5661d35966a16ad5fea8ca1dad42e19bb6b2b28b06e24dcd8bb240e065ea027ca71ee286e9b8c7a4100f1f08391dfdc0ea125e35c2867aa55f21af22a5ff685ef1bc3a023453bdd381b3cc0a1f0470f0e198c8e9ece8d469479b73f3eced657dabb588b95f82de80b58a924e41146274cdd7b32aaf7c2c1f600f30353cbd88bd236c37619ec4c54f44dad9eb79b5e0f5900dedf93b43e33b94a0bbd24bcf17aa7986287232717a8ccf085ba6826f7224d4a35fbee2592b32ad48cbb30961d2412c65f6d6385107267b7595568d7d76fc8cf4ec6fb06f1c38d29357511454a28ef029da6b9007f3d6a400c381f4b0bd99c5f8371d97a7adcf122bc8d1b51f914016fc96f1ebf1628d62d0c1ff93bc16b960f93d782c66d73023685a881acef65f40e5891132e723697082b8a9bc48eaa170e5935a801914c175906b0e7a54f199907562bc2a3d919bc41b4b4fc43872aceceb494f186fd2510925d082c623a3f17f80d1d421710b91035dcfdfdb912b84270e07c9be495e8713ff51df5eda5a030e51516917605e24d29f2238d27b2a823443e8c7659c62ee4d69d3094e95e630e27e2c0c913d200e23fdfb947f7d2d2037284680aac2d002adb79848e99ca1ee7d5c40e190a3ef5f05c59eeadc97449300b0f41943dd70f3ca2f59a218a093cc036cad4f8f3bf1d488f402d5c5abf5ac9fee0263f6d44fae0d5c157ac12b78032604b618bd66a2dbec688b28a0c301ae294b1e2fffaf0f4f92030aaf4154f91baa6d1167ace84be70da0cb2c38c1f1e8a0e8a7474f3f3e508c1fc9d4a431e2f1f45d142f8cc22af65ac656b94109905ca95d33e809586d3b409ca68269bda1368ecd8e9b6e2d95327aa491b6bc162a9f6c4e8162809b0efd7bee9e4c915534083d5cb9ff27bfaa40f7cfacd1c301c740254ab4421aaeb4fdf8d6f46014a3c3ea23256ac64fb2fc95cfb99688a8788759d1dc35992d455b3ecc4a4c99ebab223d774270d7ebefa8545203cefd49bb21397b6d68664dad1b3461a5162fced871d8fc2160d57834356ec88841f89da475fa7acebcc2321f04c6cb56268b42087b52191d43bc82c29c44d451d6798758b43040617a6024b5750577ee3679f43e08a893da6c330b54cbcb6a3c6eee525d4740ad5cca9c7dd75c3d1b24801961f7a517386fb0ed2b181521ab207574fd4edfa09597afd0fe976d2edc428ea28ba9a5c96162bf891e6b50e345855bd6852252959586aaeb63c1aa0c07c422d70e5655507c090ee47e98c2b7cecfa6a4d11210ee8f22a28806b5f5dce15f139385dcccd2838a7c6c71740b80a7f0239706fde8be06cb1e8e352c176b8bb564b5cc98eec6d4a554a4d7bca07b5f72ca8131fa8479d706d367d32d1652c6f8ec4b9cd374153acdf29bdedd5d385e3b581a3142092b28cc3c8d89c3470cf56ceb9109d70d5a0d98ebe4e9432143d6ccd58fcde6a1f0eaa845175dca5ff85dcfa5448bae273be2dd5354654763de0f2fb0974164f001b42d1156ede02fce2ca912355d59e510ddef52589210506439138c230298e2c7f1b76a4ca7dbcffda66fa2a52e146dcca8ecc0cfae3340fccd033e83fb85cd3ceb30ff33a8bfaac4e9d3c28bd0a1ab89d6582c3c9cc6894e299e71551e4f394ffd81b0a67985a65c9c9850ce869635da0c769bb283bf27c1c2b70fac3b7f0ec6773351753c7527cab97a982722b422eb950b41b9e03e025c17c8dc73852490bc83e82ae956b2c546aa0b1c9a06dd9d4c60c3702753385f67df61422906f5a63cc5ff225efdfd57d9e33acc917b68661c8145e2db301777659692925511534e701ad80c46479e5808aeb1f90ed45526ccf995255555d57f987e2e56bfb04233aad88790207b67b7675db58cc00f7594bfe5089671617991124b72ad32d46b304a87c2a5074c581421652bd730808ebb039e74cdd6dfd1f8dcbb55f978458d1b161780fbbbfa52e3a2288653210c0ba901b385dd7d886cb2db18407b37e3c455b2773bc670436ff702af2bd9d87dce441ed7083231763ca76fb07389de0be1029f29c0fc873fc2c986ffb21724c6c1a746ec03729a0d9cdcf123129c550b8e1500968110c363bdf0fd68df0e3a60146790b216447f82b17718c3ceff4df0ee840f42712f9bf4b898ac9e703afd5869309d89604f2c6fdae0c8ca348e1a980303c522d89949dda61e02982814708630324e6362839f3d28b80adf42a0772c52b532ebb2636c8a006a39b0d384cdabcfab075e66116fdd9ad6c6af17cc812d4b691708f671d9a63244dd833e2c3a90aadfd68ddc03fa290663f0fc7445aee617dca94941f94ca0c6638d99b92f0ed7ebbe5fb6f1c02273751094d8aaee32772365cd8efdb5a85290bb356c4c787dd8bbb9a97ae562c27941bc68cd38f314080c89e27fc1bd7f45bca8412149be8260eec24928f77fc7a722a42e5050ab5d135985c56cb68abd5b7ec49c56ec519c63373a1c8d6dee785671e3c104ca6f5c740c7ca3bb1fd8cce68a097c540fa40f9a4f2b21a7853554556596665881038d4d4530862931aca8cd76e412bf5d2ef66b0d67ba991c4c676d95e2a8d6a4ba8b9dc70e165c697227e59323c96f28f81d79db8ac1fb80de77f13358a2255b9a8c56eeb7a4e504de72e71d31cc6e4b4166313035bb6a44dd80a369c9106e9baf69f5963f92b2bc7c16d39e0e8b88611c36523a7635bf8172b995892bf67bf2f5b4d971508f1a1a8d8d1bbfc46f87f2bc50ef30a8922a354764c66e9daa50194e3ee90ad0b59072fa84b1c2e36f93446c9b920f543ddbb0485f18191cd1aba0387d7793aa3b6e62dc49e3bb5b7ec1cc06840fb671dfb8e6c185ae1e0c62a142d244863689a5772eb78c6356122498bc088e53f0c6895cdb1cf0f646ac6db2d8efdeea5f7ff23c91901c4d496e34550695667a7db538e2a4982d34e8256f18be3d493fa2cbe46c1f04b0474328f4eb417ba155cf3d926107845f0a734488bfc5c9c3b0b236750bcbe0bed15b7a5d219a7c2df95d3505a4f116fa6dafa8b746f4d1fdb1a502d9a45849cf2cad4dbe24eae0b65cf4f38ee38078997a5ade9ccf13fe11206362300fff7628603a4707c1c2fd5eb883f5321e8882c1dcfa1867877447ed9b6813031b95ab9603ced93317b265f70229bfd702da85e3ec5df6d2b9dc2958fb9a0f99e501efd391e22c0e198eec87bd2db850058e6f42b53d888cf8c5fb400ecf6e804554fe2b8e7a3a9d9db7a7704c3a2c82643816d8362c909720a693b665d3eb\nresult = valid\nsalt = bd5cafafd71f517269ce6300208db7593c558639\nsize = 5100\n\n# tcId = 95\n# invalid output size\nikm = ac106eababe3b8fcdfe44ed3f332695aa50833d5d110632b4215a86f9f4ceebb\ninfo = 9824a5f84186c0ea\nokm = \nresult = invalid\nsalt = aac161c03b3d3cf4d94072a48fd6ca3619510888\nsize = 5101\nflags = SizeTooLarge\n\n# tcId = 96\n# output collision for ", + "different salts\nikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d\ninfo = 1301b63168af5451377717f7f5ed52de36a197ff\nokm = 06e27d970948bb30a9d453d843ab332ae2231dfdffbc4815788695c38368fb03\nresult = valid\nsalt = \nsize = 32\nflags = EmptySalt\n\n# tcId = 97\n# output collision for different salts\nikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d\ninfo = 1301b63168af5451377717f7f5ed52de36a197ff\nokm = 06e27d970948bb30a9d453d843ab332ae2231dfdffbc4815788695c38368fb03\nresult = valid\nsalt = 0000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 98\n# a salt longer than the block size of the hash is equivalent to the hash of the\n# salt\nikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d\ninfo = 1301b63168af5451377717f7f5ed52de36a197ff\nokm = e86ef68c222337607de55e6bef35d9df3563cfd8754a5a231a5fb110f1ed1b40\nresult = valid\nsalt = 0102c651e047fed9c217bcf915520532d44999534c1e7e7c87311093d7a3681aff3e2d335b3c6139b9fc66dcfe35573b36a329a550c4cd20bfe2a90dfea50167ff\nsize = 32\n\n# tcId = 99\n# a salt longer than the block size of the hash is equivalent to the hash of the\n# salt\nikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d\ninfo = 1301b63168af5451377717f7f5ed52de36a197ff\nokm = e86ef68c222337607de55e6bef35d9df3563cfd8754a5a231a5fb110f1ed1b40\nresult = valid\nsalt = ce4fbf306d1eecef0d60543d9726b5b3d3d5d8d2\nsize = 32\n\n# tcId = 100\n# a salt shorter than the block size is padded with zeros.\nikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d\ninfo = 1301b63168af5451377717f7f5ed52de36a197ff\nokm = 87cf7342816d0b08822263edae8567b453a251373e2f3ce338114b6738cdd1b4\nresult = valid\nsalt = cd920e8dbf19ed66\nsize = 32\n\n# tcId = 101\n# a salt shorter than the block size is padded with zeros.\nikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d\ninfo = 1301b63168af5451377717f7f5ed52de36a197ff\nokm = 87cf7342816d0b08822263edae8567b453a251373e2f3ce338114b6738cdd1b4\nresult = valid\nsalt = cd920e8dbf19ed660000000000000000\nsize = 32\n\n# tcId = 102\n# a salt shorter than the block size is padded with zeros.\nikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d\ninfo = 1301b63168af5451377717f7f5ed52de36a197ff\nokm = 87cf7342816d0b08822263edae8567b453a251373e2f3ce338114b6738cdd1b4\nresult = valid\nsalt = cd920e8dbf19ed6600000000000000000000000000000000\nsize = 32\n\n# tcId = 103\n# a salt shorter than the block size is padded with zeros.\nikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d\ninfo = 1301b63168af5451377717f7f5ed52de36a197ff\nokm = 87cf7342816d0b08822263edae8567b453a251373e2f3ce338114b6738cdd1b4\nresult = valid\nsalt = cd920e8dbf19ed66000000000000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 104\n# a salt shorter than the block size is padded with zeros.\nikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d\ninfo = 1301b63168af5451377717f7f5ed52de36a197ff\nokm = 87cf7342816d0b08822263edae8567b453a251373e2f3ce338114b6738cdd1b4\nresult = valid\nsalt = cd920e8dbf19ed660000000000000000000000000000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 105\n# a salt shorter than the block size is padded with zeros.\nikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d\ninfo = 1301b63168af5451377717f7f5ed52de36a197ff\nokm = 87cf7342816d0b08822263edae8567b453a251373e2f3ce338114b6738cdd1b4\nresult = valid\nsalt = cd920e8dbf19ed6600000000000000000000000000000000000000000000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 106\n# a salt shorter than the block size is padded with zeros.\nikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d\ninfo = 1301b63168af5451377717f7f5ed52de36a197ff\nokm = 87cf7342816d0b08822263edae8567b453a251373e2f3ce338114b6738cdd1b4\nresult = valid\nsalt = cd920e8dbf19ed66000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nsize = 32\n\n", }; -static const size_t kLen76 = 36808; +static const size_t kLen109 = 80000; -static const char *kData76[] = { - "# Imported from Wycheproof's kw_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: KW\n# Generator version: 0.4.12\n\n[keySize = 128]\n\n# tcId = 1\nct = 9de453ced5d4ab46a5601708eeefefb5e593e6ae8e86b26b\nkey = 6f67486d1e914419cb43c28509c7c1ea\nmsg = 8dc0632d92ee0be4f740028410b08270\nresult = valid\n\n# tcId = 2\nct = 8c3aba85cc0ae1ae10b36658b068f595baf8caafb745ef3c\nkey = a0b17172bb296db7f5c869e9a36b5ce3\nmsg = 615dd022d607c910f20178cbdf42060f\nresult = valid\n\n# tcId = 3\nct = 1de093654826f18fcd0f3fd499416ff22ed75ee12fe0b624\nkey = 0e49d571c19b5250effd41d94bde39d6\nmsg = f25e4de8caca363fd5f29442eb147b55\nresult = valid\n\n# tcId = 4\n# wrapped key is longer than wrapping key\nct = 9c3ddc23827b7b3c13105f9e8b11523baccdfb6c8b7e7825496e7a840bd32aec\nkey = e0e12959109103e30ae8b5684a22e662\nmsg = dbb0f2bb2be912a20430972d9842ce3fd3b928e573e1ac8e\nresult = acceptable\n\n# tcId = 5\n# wrapped key is longer than wrapping key\nct = afb744aaf746dcc0b57f8b378c404cbe877f44cf3d45140d60814eda3f541f01\nkey = dd583d9f1059861430ec8b5d8a180e9b\nmsg = f2e34f356362a31b51d6e02bcd333c9e6170494ca5ff5487\nresult = acceptable\n\n# tcId = 6\n# wrapped key is longer than wrapping key\nct = cff98cd64cb51ab99b81aee82cee4274d0df3e1b6a4943d39236ea989846d0cc\nkey = faf5ccfae42b43cee2c5f0f3177a7c5d\nmsg = 4e02084833660c463830483b36dab866c64c8cf7429cac3d\nresult = acceptable\n\n# tcId = 7\n# wrapped key is longer than wrapping key\nct = 58dcfb0e7ec4d3bc8003418d865fbd520c6b24b2bde35b1be5b1c5ff32a130f33d035e5932616083\nkey = c2b9d23f2831ddcdeb456853d4014db9\nmsg = f4cfea98e58b939cc859554385cf3a6c7f8217f728efb431c964786de8274907\nresult = acceptable\n\n# tcId = 8\n# wrapped key is longer than wrapping key\nct = 4ee47bd68d418586c447a39111e2ec1502ff0f1726ea91c5d97370409d89b8e66e889b638ac40ced\nkey = 620a08f320cdedbf7ae551add348d95e\nmsg = cec34eaf8e67e1ce619ddfc309531c42f16033a7e2cbc4f5eb3a548164e9b291\nresult = acceptable\n\n# tcId = 9\n# wrapped key is longer than wrapping key\nct = d3b093fd822ce454ebc251c6f21fa71c3858ee7e623ecbfbbf887398a30b40c55d0565c7a15e4015\nkey = ed089ac274f8c7cea2415671a94b5e53\nmsg = 6065e41df14daeeefacac5daeb7674cdc9c1f686013b797153e80ef215893299\nresult = acceptable\n\n# tcId = 10\n# Round counter overflows 256\nct = 222deadde6efb760cae42fa188310e0c07e7d557529766444a9efb330907d42f0dd8f3d17b3a38bf40d68c095a9cce19daf907bf2c92f1e59b18b277ff0397fc50f45f582db936aa8afb943de01b58abfdc81daef4e038c99e4c1eb3ee447464bb8f89a4ea81e56556cc26c72883c06a7fe850d04347d68bbadc4a06775030676db8cc34aeb07e39c7f059c2bff76a7f2baf076749004ef7189f887f89029f88c5c1d0f5ee62320b423048e2ad8186e63be23c553f5576a40d967e8b527ccd783c41abc64bea1aec8a76deb3e9c9a6656756e1dac38bd25ff008888a5591af763fd73f5addd749794817070990484654a46ef442adaeacab14d12daaf87bcb91661a21593717d9b93529d813ea5fc812d708c0d8e9b68122d9f5e6267cde363780a45d07e4caa5bf14f2334f25b9d177632bb80a82894aa47b6f360b2da1138dedd4331f077c900554c7a68b5d154980bb3517ac20a78a51f6f21e42b2c4c960d31cbd22bd610819182c5e456ba7d7e903f5e60f6e0c4cc014feb4f81973ce48ad6f4dab8da51eb7\nkey = 31cacbb17d6dbbecae40727c5048fe0c\nmsg = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = acceptable\n\n# tcId = 11\n# empty keys cannot be wrapped\nct = a6a6a6a6a6a6a6a6\nkey = 574957151fc2afe0fa3dc7a9a7da6495\nmsg = \nresult = invalid\n\n# tcId = 12\n# keys of size 8 byte cannot be wrapped\nct = dc26fb6911d71971df0356d6bb9ed6e6\nkey = 574957151fc2afe0fa3dc7a9a7da6495\nmsg = 0001020304050607\nresult = invalid\n\n# tcId = 13\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495\nmsg = 00\nresult = invalid\n\n# tcId = 14\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495\nmsg = 0001\nresult = invalid\n\n# tcId = 15\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495\nmsg = 000102\nresult = invalid\n\n# tcId = 16\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495\nmsg = 00010203\nresult = invalid\n\n# tcId = 17\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495\nmsg = 0001020304\nresult = invalid\n\n# tcId = 18\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495\nmsg = 000102030405\nresult = invalid\n\n# tcId = 19\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495\nmsg = 00010203040506\nresult = invalid\n\n# tcId = 20\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495\nmsg = 000102030405060708090a0b0c0d0e0f10111213\nresult = invalid\n\n# tcId = 21\n# invalid size of wrapped key\nct = \nkey = fe60fc8df7d9f4ebb5416ca4e82182f7\nmsg = \nresult = invalid\n\n# tcId = 22\n# invalid size of wrapped key\nct = 9f\nkey = fe60fc8df7d9f4ebb5416ca4e82182f7\nmsg = \nresult = invalid\n\n# tcId = 23\n# invalid size of wrapped key\nct = dc9e9580\nkey = fe60fc8df7d9f4ebb5416ca4e82182f7\nmsg = \nresult = invalid\n\n# tcId = 24\n# invalid size of wrapped key\nct = b9b282d138693000\nkey = fe60fc8df7d9f4ebb5416ca4e82182f7\nmsg = \nresult = invalid\n\n# tcId = 25\n# invalid size of wrapped key\nct = 0efc635b2d61e244056b9d4591ca6b\nkey = fe60fc8df7d9f4ebb5416ca4e82182f7\nmsg = \nresult = invalid\n\n# tcId = 26\n# invalid size of wrapped key\nct = 4a305dae087b0d24d62af41831338f33ae\nkey = fe60fc8df7d9f4ebb5416ca4e82182f7\nmsg = \nresult = invalid\n\n# tcId = 27\n# invalid size of wrapped key\nct = 82cb927097cf31ea4affea440b0d8ca6a240b900\nkey = fe60fc8df7d9f4ebb5416ca4e82182f7\nmsg = \nresult = invalid\n\n# tcId = 28\n# bytes appended to wrapped key\nct = 9790ab51fbcb850df6764e011ae97c85785bed2633aea66500\nkey = fe60fc8df7d9f4ebb5416ca4e82182f7\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\n\n# tcId = 29\n# Incorrect IV\nct = 0aac329ccd513edbdd6367df67999eaac9e7b51984c4d38d\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 30\n# Incorrect IV\nct = 5a55dc429749ca49bb4ab01d966b19ea9a9e1402e6ab2962\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 31\n# Incorrect IV\nct = 45f533f6072f640eb7e1e512d56072085567f4ad6012a97a\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 32\n# Incorrect IV\nct = 84f284565df47c409107f7a0a71bc370a8ed4489d414b9e9\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 33\n# Incorrect IV\nct = 3941c366554fc896e9fe52f02493ca03d439eb17c236146d\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 34\n# Incorrect IV\nct = 45c9d42363d981d086a972728e130a42f5dd90bda562a85a\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 35\n# Incorrect IV\nct = 037d17859519d6c0728a9eb6e64113e86919decabd3bbb88\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 36\n# Incorrect IV\nct = 1ad10af7f6c042b267a0c7bc4d25d27c003deb50e2cc566a\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 37\n# Incorrect IV\nct = 630c571b7fb8647ac5360a255f9f5d3645795ac45285cbaa\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 38\n# Incorrect IV\nct = 16db553e467d4029d0fea62b2c440e5df6c6591f0497a99d\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 39\n# Incorrect IV\nct = 097991090a156047d4784b757f262e12ce57e13a3d5d28", - "6c\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 40\n# Incorrect IV\nct = 3957c338b750a3285eb7b65c9cfe77053dd7d8149f42caa1\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 41\n# RFC 3394\nct = 1fa68b0a8112b447aef34bd8fb5a7b829d3e862371d2cfe5\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 00112233445566778899aabbccddeeff\nresult = valid\n\n[keySize = 192]\n\n# tcId = 42\nct = 00be1caddfd5ad7697877017795f9cee4bce5a61687a6126\nkey = f75a2f49a630c7dc91626b00ce029f0bd2981d7c74a93ebe\nmsg = 9adbc00c710b1101bdf6a4ed65b32d72\nresult = valid\n\n# tcId = 43\nct = 54e7f278b5a1fb4c31a0d79ac1f615edd910bf22015a0668\nkey = b713f6b7814f98894d7b153974684359f1460213eb74be68\nmsg = 78585f0c49922e82caf17ebc3721b4db\nresult = valid\n\n# tcId = 44\nct = 510455bd9c078ac1f07bb3752cbd04e421b0dd635190fa62\nkey = 13ecf423211caa334ba6db37259a535c20de8ad10fc8c432\nmsg = 4fc75d0f221e22408a37e11265d49a05\nresult = valid\n\n# tcId = 45\nct = 880da5b410f913ad72cc93f46344f1152165bdea14664fd2d3afbd87b8cc5cfd\nkey = 4417fbbea51bdd91818d74051957dd70e135c5cf3732bdf1\nmsg = f5357da9f8fd4a1190f36e9fa09a90fcf14d87d62332f1a5\nresult = valid\n\n# tcId = 46\nct = 27654cf6a63d6004ae83da54c2e5d7b5fad20878f350087ddd17ac44a2be868f\nkey = b3f26d8a22fdd61f709841231fbde695b3f28dddced6d41e\nmsg = 0d0af955d2e3829cc3d643219b301e64e0510dfbc428119a\nresult = valid\n\n# tcId = 47\nct = ad7ca66ad4664f43e4dd09296a6e6f02d5af4408f225c0abeb0d9b76c8d1e982\nkey = f70cfb262c729a18206c8afd74356ec7e049d10b44a6e000\nmsg = 241cedfa64c4e7bec541a2eb4c368269e0f0ddebc58267ea\nresult = valid\n\n# tcId = 48\n# wrapped key is longer than wrapping key\nct = e245c90a6b46caece94f47117d608331958c8f75f531ebcdc902c0213d9105f2155af07daa62d132\nkey = 1639f9f81e53e2eeb677a249e5eced3af108971301601a7b\nmsg = ec3c6a1f1a9585327fe658490c74635e5300876da5846a629398984fb551d691\nresult = acceptable\n\n# tcId = 49\n# wrapped key is longer than wrapping key\nct = 8a32b9f207ae5aaedb7e8a0d945107412c1bd06999bc5ac83c1f958dfb77ebdcf9d98c60dbd4650a\nkey = 1f22d5658aa685b8ba8659dc342880d5b2399e6a815005b0\nmsg = 50be4c1b2f29a63f44d7fc63737f600f0194ea3fb36e173d2ddd19f218656380\nresult = acceptable\n\n# tcId = 50\n# wrapped key is longer than wrapping key\nct = 4a5842b10d2db96ea1039ef4785ce722555b3751a9b6dd39126ad363378c72320d83ea7adb81615a\nkey = 3a2f4aa50441954bba5a1836294ce071f9296b23dbed6771\nmsg = 65da02ff21b483a1e39575490b4319e84ae0299f1f00b3859fbe2e74b3ec2aaf\nresult = acceptable\n\n# tcId = 51\n# Round counter overflows 256\nct = e2192598e6124f2791b2751f930958435bb1d02e98aa1e09781bba0b159435db659fa73fa310111704692c68e16ddf4be06022c52fe9dba6279aad1aeb814125d0ddf33f31e58e625af32305050cfea390d8782d32caac558889ca8e641908208da6976542b40dbd090178e2a6812a436c18a5e891ac8083176ace1ddfee4d382856a59c80c643ecd5c1ab68c66b2b8984ce6e0e386f6554a9cb91d363bb4accf028878ec20b8b2e37214f7b12dbcd78fb38f711a90fe262c78491b9058354e27b34fc92ef0d7028594cb08259f86b54cb1d317ec55f2ef2ab7e8b141671f8bcb1a90bb7d82bc8cb4fb02c9ce430ef4ae0dc847e91e7d4fb463eb9dd87fc9dc9568f3a4ef504d74c134dcb60ca01b36ce10cb467268ea297c0518a50d12cc025cfeea1381ddd7dd63e4ac94890a0eae9dbd8db244625a3c8af2e1aff6a8112c4d3d98e8263588ee1dd9063b709b8ec00474c4ea413a802b8cde814e7b3731410809ed000060fb7b9b0bf8509ef17515f333e868b188ea16445f380b3a7d42774f6456cdf724246fa\nkey = 31cacbb17d6dbbecae40727c5048fe0c01bc53b23ab63502\nmsg = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = acceptable\n\n# tcId = 52\n# empty keys cannot be wrapped\nct = a6a6a6a6a6a6a6a6\nkey = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76\nmsg = \nresult = invalid\n\n# tcId = 53\n# keys of size 8 byte cannot be wrapped\nct = 38d8238cdb0d9a2da28d6d56194f2e78\nkey = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76\nmsg = 0001020304050607\nresult = invalid\n\n# tcId = 54\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76\nmsg = 00\nresult = invalid\n\n# tcId = 55\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76\nmsg = 0001\nresult = invalid\n\n# tcId = 56\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76\nmsg = 000102\nresult = invalid\n\n# tcId = 57\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76\nmsg = 00010203\nresult = invalid\n\n# tcId = 58\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76\nmsg = 0001020304\nresult = invalid\n\n# tcId = 59\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76\nmsg = 000102030405\nresult = invalid\n\n# tcId = 60\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76\nmsg = 00010203040506\nresult = invalid\n\n# tcId = 61\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76\nmsg = 000102030405060708090a0b0c0d0e0f10111213\nresult = invalid\n\n# tcId = 62\n# invalid size of wrapped key\nct = \nkey = fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd97\nmsg = \nresult = invalid\n\n# tcId = 63\n# invalid size of wrapped key\nct = 9f\nkey = fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd97\nmsg = \nresult = invalid\n\n# tcId = 64\n# invalid size of wrapped key\nct = dc9e9580\nkey = fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd97\nmsg = \nresult = invalid\n\n# tcId = 65\n# invalid size of wrapped key\nct = b9b282d138693000\nkey = fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd97\nmsg = \nresult = invalid\n\n# tcId = 66\n# invalid size of wrapped key\nct = 0efc635b2d61e244056b9d4591ca6b\nkey = fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd97\nmsg = \nresult = invalid\n\n# tcId = 67\n# invalid size of wrapped key\nct = 4a305dae087b0d24d62af41831338f33ae\nkey = fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd97\nmsg = \nresult = invalid\n\n# tcId = 68\n# invalid size of wrapped key\nct = 82cb927097cf31ea4affea440b0d8ca6a240b900\nkey = fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd97\nmsg = \nresult = invalid\n\n# tcId = 69\n# bytes appended to wrapped key\nct = 55dfb2f7e0c1ea04fead897c451c0505921dc47f308c491700\nkey = fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd97\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\n\n# tcId = 70\n# Incorrect IV\nct = 9b1593fd7d4fe25a660bbc1976ea4ab68bcc53f848a8eb9d\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 71\n# Incorrect IV\nct = e7edb847fa91e2deded726edf3ab93da91151697425fee28\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 72\n# Incorrect IV\nct = 1b51a7c033c1efb5ee2994259c40f03bb57d8cc09e507e6e\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 73\n# Incorrect IV\nct = c40b614a5062f5fd049c5379b3e8141614c2da97893589fb\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 74\n# Incorrect IV\nct = d7575ef02df54b3086eb49035eeafbce0e08336e89b35ab0\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 75\n# Incorrect IV\nct = 0d617f1c12485a35917d2a941e949d2fdbf03a346889b850\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 76\n# Incorrect IV\nct = c7df34729174db2e83ee16c6de74d5eb9766715fad049b40\nkey = 4f", - "710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 77\n# Incorrect IV\nct = c3ed38d6f9ccb9bf3c56bb3176f00d3ce9887521f8d4c70b\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 78\n# Incorrect IV\nct = 6582b5f4652744b0537e97e7cdae0f443130140dbaea604c\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 79\n# Incorrect IV\nct = fc9b9bdf25f2b48ad79934c8d34897cdbf4c846f8cb4b11d\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 80\n# Incorrect IV\nct = fc23c7f4fe20aa81105efc1a7105a5316b23399ac792c824\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 81\n# Incorrect IV\nct = 37b4a261b96bcec9cc93eef5b2fbbbe84634f978c5893dda\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 82\n# Incorrect IV\nct = 1831109847d17d010bfcd93fb46f3150cdafd52733db74c221b034fe8e1552c0\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 83\n# Incorrect IV\nct = 2b2b89c3c6b2db4903877ad4622ca33f3a3cb7e6701d1340e6afc0fdab7dbd72\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 84\n# Incorrect IV\nct = 3c6903f37da57161af6706050a2ed747cd55344d869189fd49d2536ff948129d\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 85\n# Incorrect IV\nct = 8a8dc8b131c6b968b60c1dd819a655392d1a96d6cafa48e30fb1146f096229c6\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 86\n# Incorrect IV\nct = 303e0b3602d514a7d52edba3306d7383e8999e7c652a510335a8949efb42eb66\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 87\n# Incorrect IV\nct = 319befbf2ddbb475723fb2fa30f2ae7fc1ceb1e6f361715eca7209608873c7fc\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 88\n# Incorrect IV\nct = 9b3e440341c5da131559959db6b3553a534691162f4f009327bf2c21d6fe5ada\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 89\n# Incorrect IV\nct = eba6cc0959e6a56339b141629840add80f4565656dc687a3b996960c994dfd26\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 90\n# Incorrect IV\nct = b703b6cf4587709353c7e4004d3da61ce5f5deaf7163ca9d6158dde919e0ac34\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 91\n# Incorrect IV\nct = 72549d52d6f4ff912d833c74136d90634ce8afa4f84412bbee8074084d4cecff\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 92\n# Incorrect IV\nct = 1337c8bd6c8a5dd43aba8d298864ffe76ad6ea909f3488157a15e6c46acf2214\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 93\n# Incorrect IV\nct = 4aaffaca5fe85814d040aa2a306ba4d1d44746cfe46c978aa057b53fd25316c1\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 94\n# RFC 3394\nct = 96778b25ae6ca435f92b5b97c050aed2468ab8a17ad84e5d\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 00112233445566778899aabbccddeeff\nresult = valid\n\n# tcId = 95\n# RFC 3394\nct = 031d33264e15d33268f24ec260743edce1c6c7ddee725a936ba814915c6762d2\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 00112233445566778899aabbccddeeff0001020304050607\nresult = valid\n\n[keySize = 256]\n\n# tcId = 96\nct = 940b1c580e0c7233a791b0f192438d2eace14214cee455b7\nkey = fce0429c610658ef8e7cfb0154c51de2239a8a317f5af5b6714f985fb5c4d75c\nmsg = 287326b5ed0078e7ca0164d748f667e7\nresult = valid\n\n# tcId = 97\nct = 939b3389336fea4a9751bf014ef18011323090e8a0500bc4\nkey = 0dda6da5123e2c37c6fa16ba0d334cd01acd652f8994211751dfab4faac2fc22\nmsg = b40b6828729b456322a8d065abc0d081\nresult = valid\n\n# tcId = 98\nct = 59ee8e5198861237f682edec6ba906526c016d4d935942bd\nkey = d6925914cd06308f81ad91e23073593d99d4e50351b20eb2a8d1a1ac4ced6588\nmsg = 037b27b3dc95b19d15bd4091e320bfe1\nresult = valid\n\n# tcId = 99\nct = 1ab53a065d8f776a08b33e51383071b6f154612116655137bd3b7ec29b70fd56\nkey = 07518a82cbc8da1dcec55f3763a206d277487abd03cedd0b8bef9ee2fb157121\nmsg = faa4664d79fce3c7d2fdd462f6c1c423c2f8e6b69be2e071\nresult = valid\n\n# tcId = 100\nct = a1bf8e73e3fa1db759f0ab2ab0b1ca6f2c85b63d83e25f7a0b5293d0a216a2b7\nkey = ea46991d4e71f53dd624e7fe7fde11944a7c5942d232369b8065d42b8cd2dde1\nmsg = dffc5cf1dd5411d015d84601fa38df5effe885c7f26a4825\nresult = valid\n\n# tcId = 101\nct = 27308a0e1a6c0a1d15d6174ab7d68675207b615df16fcf7a3c69b25f551cca9f\nkey = fdcfa902c6f222f527af84da533b14b52e2615da3a89d1d35708b0cd49f60d87\nmsg = 966b07047354966a703e79607b556032f4f596b7f9206f05\nresult = valid\n\n# tcId = 102\nct = 7155ee932b0358d98182a23f7f427c774ab340a4757d0b6a63facd3de90578438cf03201c3f88057\nkey = 38e1b1d075d9d852b9a6c01c8ff6965af01bac457a4e339ae3e1d7b2ffacc0cd\nmsg = 80ad6820f1c90981e2ca42b817a345c1179d0a11d8e23a8adc0505e13d87295a\nresult = valid\n\n# tcId = 103\nct = f20b9b553bc0847529f8d4379fa909211e68249bd429f436c615c4c4a5d9f1a1968f0b89c5237b30\nkey = c641f1689d81caa8ba37d895272240664054ed974cfffc40e6c5c0cad1b916c7\nmsg = 3fd0ba19955e46749f54d88e99d080b7339d588fe612ec0f4021ca3ca2104270\nresult = valid\n\n# tcId = 104\nct = 2811716854a214aecdd318c6670b9b2a7511713c9a0c0fa805230ff05cf84af795dd72f6c1a44512\nkey = aa0ab9d68ed4a04e723f81b44c0c88d0bcde7a80cfd476eb4b8836d9aa01ec4c\nmsg = 57faa8766f6d6a0aa1cf643f857c150df5b31303b50af480e21c4b5e8c8a15d5\nresult = valid\n\n# tcId = 105\n# Round counter overflows 256\nct = 5322bc62bd8379abbb75f69688b8f00e31962b8f9ae1e89771952d8a2a749e1352ec33b5435a674271b314760ab9f753b16726185ec7d319ac60531355344c1d53c7903000a8039eb40f70564a0ad3f41b2355ea5dfa6a1d46392f1d106a5da569bfb0493bf7c12dff04bafeae377df4bb47cd440b6f60fbab2a54a98551b76273e02cac8d7be9f2343d3abb2a23af1c91a7011c67a7907260116b67d510aabe5c7ca46c1c20f77106c45966583b3e4ed799a47ee19bb4223209265c2b1ac8183a678ff43bc9a3470a50b9ee4d10f60674268d72c68be003a0d9dd6849aba836fe8a1792b81c90e12945bfe1f27a9c6b2af66a063cdb7721a7f23fb30afdbd8b18db377dd1697f157be81c1578d08b066c71b0c5ca7feecac1cdd938cf9ad525f74844660908194b28e54eddb158f6e4c921b811d90db71a92ff872db2250dcc3f847fc752b66d77e33c85084d3fa53b4f30503d2a06e6cabb9033d59fc1dc15e32f19846a039b91597b0ba3141a7d9717630062170117b2131dab77406e9ed7d66b2c754d849c60\nkey = 31cacbb17d6dbbecae40727c5048fe0c01bc53b23ab635025cbac1ecf52ca495\nmsg = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = acceptable\n\n# tcId = 106\n# empty keys cannot be wrapped\nct = a6a6a6a6a6a6a6a6\nkey = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76a51aac96038ad692\nmsg = \nresult = invalid\n\n# tcId = 107\n# keys of size 8 byte cannot be wrapped\nct = 181ba6a3a4392469e3de98ddbbdd2432\nkey = 574957151fc2afe0fa3d", - "c7a9a7da6495398f18ea0d8eed76a51aac96038ad692\nmsg = 0001020304050607\nresult = invalid\n\n# tcId = 108\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76a51aac96038ad692\nmsg = 00\nresult = invalid\n\n# tcId = 109\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76a51aac96038ad692\nmsg = 0001\nresult = invalid\n\n# tcId = 110\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76a51aac96038ad692\nmsg = 000102\nresult = invalid\n\n# tcId = 111\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76a51aac96038ad692\nmsg = 00010203\nresult = invalid\n\n# tcId = 112\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76a51aac96038ad692\nmsg = 0001020304\nresult = invalid\n\n# tcId = 113\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76a51aac96038ad692\nmsg = 000102030405\nresult = invalid\n\n# tcId = 114\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76a51aac96038ad692\nmsg = 00010203040506\nresult = invalid\n\n# tcId = 115\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76a51aac96038ad692\nmsg = 000102030405060708090a0b0c0d0e0f10111213\nresult = invalid\n\n# tcId = 116\n# invalid size of wrapped key\nct = \nkey = fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd978e3bd2defc1c10d7\nmsg = \nresult = invalid\n\n# tcId = 117\n# invalid size of wrapped key\nct = 9f\nkey = fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd978e3bd2defc1c10d7\nmsg = \nresult = invalid\n\n# tcId = 118\n# invalid size of wrapped key\nct = dc9e9580\nkey = fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd978e3bd2defc1c10d7\nmsg = \nresult = invalid\n\n# tcId = 119\n# invalid size of wrapped key\nct = b9b282d138693000\nkey = fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd978e3bd2defc1c10d7\nmsg = \nresult = invalid\n\n# tcId = 120\n# invalid size of wrapped key\nct = 0efc635b2d61e244056b9d4591ca6b\nkey = fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd978e3bd2defc1c10d7\nmsg = \nresult = invalid\n\n# tcId = 121\n# invalid size of wrapped key\nct = 4a305dae087b0d24d62af41831338f33ae\nkey = fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd978e3bd2defc1c10d7\nmsg = \nresult = invalid\n\n# tcId = 122\n# invalid size of wrapped key\nct = 82cb927097cf31ea4affea440b0d8ca6a240b900\nkey = fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd978e3bd2defc1c10d7\nmsg = \nresult = invalid\n\n# tcId = 123\n# bytes appended to wrapped key\nct = 7dfbd7cf6158d75bb5900b3bf1e3871003402a6508b1912800\nkey = fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd978e3bd2defc1c10d7\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\n\n# tcId = 124\n# Incorrect IV\nct = a417671bc62a23c7a65543092124024df72c048d8db330c7\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 125\n# Incorrect IV\nct = 9518d0f99d7a73ed4a502b449c14c285971b0e6177ce0eca\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 126\n# Incorrect IV\nct = f3511f0491bd74ae1defb5307f0e18db864b57b5c404d428\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 127\n# Incorrect IV\nct = 6c03ce779259661c43d41d5d0e45687f874353bba516c73e\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 128\n# Incorrect IV\nct = 8df01969a11c87026535bfccf72b1d064c86ecc7e5227157\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 129\n# Incorrect IV\nct = 8ed1cde228d9c8d046dca65c7a27aef2edf8ae90c705d1e9\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 130\n# Incorrect IV\nct = d69b3e34e9de38d44de1998992362a6fa1f696b5acab3f10\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 131\n# Incorrect IV\nct = 67865122af3294b8da0588775125cbd6dc19d5e5cab97b6d\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 132\n# Incorrect IV\nct = 9f0fa52363dd55df472d867e6faf5da8eb204a1d6d497030\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 133\n# Incorrect IV\nct = c399f999c96a4204325e7f08d6a4de256faf21ec2c007ddf\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 134\n# Incorrect IV\nct = 282082264a87dc35ce1cc5b9931b77d80d82fcacc0927f85\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 135\n# Incorrect IV\nct = c192c90b83003ca96744498014b6ad6bedda837955269819\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 136\n# Incorrect IV\nct = 30a983cd9e69d561acc95c42b252aba4185f8392f2e6c935c8eb105af8082e34\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 137\n# Incorrect IV\nct = 4de9a639b799630b45b49e28dbfc44dabb9843ee588a8cff286b8d5fbd7b32ee\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 138\n# Incorrect IV\nct = d915b2cdfb769d9d82259dc3d124646bbf972b83efd4c2eae9b9f751073f78d6\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 139\n# Incorrect IV\nct = 117d653f480b69fce564f1fe99572492945189ed5af789ce05a2651baf90bb5e\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 140\n# Incorrect IV\nct = 8226d07a2f919e24ada1081c69a75520be895e3a2bda9b805d9747773ddeaa38\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 141\n# Incorrect IV\nct = b0a74345bedf8865348daf45d054b99ce515ea8be136270d1cf71e1cfa7aa4a2\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 142\n# Incorrect IV\nct = a261db77f17f7ec736d1a8be16e5f9ae432fe2a17012e5a6f07c5426a9f0ca59\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 143\n# Incorrect IV\nct = c53acb5e096b54548e1385b2ff18eaef68d235c95b0194e74a2383d3a7a530dc\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 144\n# Incorrect IV\nct = faef482d99ebb180e5bc5e3cf775ba292c2a3b6c44aa4a21ad400906f11af392\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 145\n# Incorrect IV\nct = 73a450b63b07b3aece9d1ae5bf097a3dd3fcf73e3ec2f1bd8fc3b5586cb9bd73\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 146\n# Incorrect IV\nct = d34b6ee184d387c9aa4b2d180ae0a89498014e55fe8e416be4f826fcf7d56522\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 147\n# Incorrect IV\nct = 2af823d1602803740bfa9040c2c4e769a5b6de919d403cfba9ad360f63af1113\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84f", - "a01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 148\n# Incorrect IV\nct = dd78ebd3091c55a5da5b24504200f7fadd1b3ac6ad35f814f733e603c13936245d69d83f262f6b1e\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce34973526908c\nresult = invalid\n\n# tcId = 149\n# Incorrect IV\nct = 3d8338eae7de322399e1d1b4a3df54326b242b563612ea4b27da22a041d3c80966911bc009911761\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce34973526908c\nresult = invalid\n\n# tcId = 150\n# Incorrect IV\nct = d04bf75cadd3b5f099c34b27a91e64a8f2dbcf08e8c5c1c9f07a777eeb805d5d0e8c5c01afc43944\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce34973526908c\nresult = invalid\n\n# tcId = 151\n# Incorrect IV\nct = be0c5d193b61c5137a8fd8a6d7d1ed8f0fa28cec516f544697c12add4f8f4d5cfca65edeb1019974\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce34973526908c\nresult = invalid\n\n# tcId = 152\n# Incorrect IV\nct = a83ebcbeb2be9d6807b5cfc31c89849d1343dd4eb22e5bfe9e2b2b3790ad8900601f1f5d54fd472f\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce34973526908c\nresult = invalid\n\n# tcId = 153\n# Incorrect IV\nct = 416221485a6cb98ad1342ea9a12926a9a133ead8bd919323fe789bb8f89a4fcaf81e1be54f9d358e\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce34973526908c\nresult = invalid\n\n# tcId = 154\n# Incorrect IV\nct = bf6a53286fac48e7f25d89b7056b27aa917d5b54c0d3171dff369f7249153bf09da5891eb4dc2d88\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce34973526908c\nresult = invalid\n\n# tcId = 155\n# Incorrect IV\nct = 99d517a1321bb633b0d5f3afda2372d3abf68b41d13cbfdffc78f173b88bc4b97efcab2b2904788d\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce34973526908c\nresult = invalid\n\n# tcId = 156\n# Incorrect IV\nct = d92456bc77a268ef71cba76064a1b772d1fee2ae4f0ee3bb932a2adb2b031796b9eadb51753f2868\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce34973526908c\nresult = invalid\n\n# tcId = 157\n# Incorrect IV\nct = 5bb54630ab8d73a040f0f87e70e263d1aeb2358bcdc0dce6994d0d874452bbd8741b7ec1d59d8298\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce34973526908c\nresult = invalid\n\n# tcId = 158\n# Incorrect IV\nct = 4581d6536039db1b23da50c648777e90c82d6128bb92e28b2974bae1141543a19a1592fda1fbd61f\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce34973526908c\nresult = invalid\n\n# tcId = 159\n# Incorrect IV\nct = d35bc67e62064c34f48150999ba30ded475d8c75978f45737320f23edaaa7a40d7803fc61add34a4\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce34973526908c\nresult = invalid\n\n# tcId = 160\n# RFC 3394\nct = 64e8c3f9ce0f5ba263e9777905818a2a93c8191e7d6e8ae7\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 00112233445566778899aabbccddeeff\nresult = valid\n\n# tcId = 161\n# RFC 3394\nct = a8f9bc1612c68b3ff6e6f4fbe30e71e4769c8b80a32cb8958cd5d17d6b254da1\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 00112233445566778899aabbccddeeff0001020304050607\nresult = valid\n\n# tcId = 162\n# RFC 3394\nct = 28c9f404c4b810f4cbccb35cfb87f8263f5786e2d80ed326cbc7f0e71a99f43bfb988b9b7a02dd21\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 00112233445566778899aabbccddeeff000102030405060708090a0b0c0d0e0f\nresult = valid\n\n", +static const char *kData109[] = { + "# Imported from Wycheproof's hkdf_sha256_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: HKDF-SHA-256\n# Generator version: 0.8rc17\n\n[keySize = 176]\n\n# tcId = 1\n# RFC 5869\nikm = 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b\ninfo = f0f1f2f3f4f5f6f7f8f9\nokm = 3cb25f25faacd57a90434f64d0362f2a2d2d0a90cf1a5a4c5db02d56ecc4c5bf34007208d5b887185865\nresult = valid\nsalt = 000102030405060708090a0b0c\nsize = 42\n\n# tcId = 2\n# RFC 5869\nikm = 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b\ninfo = \nokm = 8da4e775a563c18f715f802a063c5a31b8a11f5c5ee1879ec3454e5f3c738d2d9d201395faa4b61a96c8\nresult = valid\nsalt = \nsize = 42\nflags = EmptySalt\n\n[keySize = 640]\n\n# tcId = 3\n# RFC 5869\nikm = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f\ninfo = b0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nokm = b11e398dc80327a1c8e7f78c596a49344f012eda2d4efad8a050cc4c19afa97c59045a99cac7827271cb41c65e590e09da3275600c2f09b8367793a9aca3db71cc30c58179ec3e87c14c01d5c1f3434f1d87\nresult = valid\nsalt = 606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeaf\nsize = 82\n\n[keySize = 128]\n\n# tcId = 4\nikm = 60ab7f45b0ad534683b3a6c020d4f775\ninfo = \nokm = ae5dbce80bbab5bca5b3c6d3b7e6548fb2c23b2f\nresult = valid\nsalt = \nsize = 20\nflags = EmptySalt\n\n# tcId = 5\nikm = e3db76e02278cbd2adbcb4555803da11\ninfo = \nokm = 207ebfa8798c6d8d5260d797fdb9c9969173442186d9e932b18fb589fee2fd00ca4ab49d0402aba2c1b0\nresult = valid\nsalt = \nsize = 42\nflags = EmptySalt\n\n# tcId = 6\nikm = d4dcb92a769f57c8bab8a420ee0aa351\ninfo = \nokm = d875a072bb18fd7717ceaac8829178884b8e51a926849210caf7f42574109f218596e27b92041155d2012917c20e09539bf52016d78aac0b53a51d9cc21e3b15\nresult = valid\nsalt = \nsize = 64\nflags = EmptySalt\n\n# tcId = 7\nikm = 2d43e54bf0c94c9cbff4300f4aa69ab8\ninfo = d674da3bb47d5c7e38b501e5251d9348af601c44\nokm = 3d36966f29c0561b4e50f9325c7c98292b6d28bc\nresult = valid\nsalt = \nsize = 20\nflags = EmptySalt\n\n# tcId = 8\nikm = 4055536896c406d5fe14a6cd6b999bff\ninfo = 2094768a8816f7df070d6e08b7ad93755dc9024b\nokm = b10173a66a08fffa6cf7c1057744eba73cbbde83a3d8674bb0bc1a46d80792a9d5a0d2ca72510e02a6e4\nresult = valid\nsalt = \nsize = 42\nflags = EmptySalt\n\n# tcId = 9\nikm = 5b01b2da3166f217cdd68de8af60078f\ninfo = 6884cfa7ffe8f27bf4ebc6e46a7e01488c79243a\nokm = 7a8e83577d8aeb830d772d8e42fbd105e54ee3f38da12388030580c8b8935f4a2be01c5092f28d5b1bb757bec0a527250eba2549e770d21224e1cdaa5bb76a98\nresult = valid\nsalt = \nsize = 64\nflags = EmptySalt\n\n# tcId = 10\nikm = 467403c2ec02a235bf730ff37e8d8ff3\ninfo = \nokm = 4b1c4f54615e31f713f2364bf194d3f14f68e704\nresult = valid\nsalt = 41f0f173d307d40436c25856cf559f96\nsize = 20\n\n# tcId = 11\nikm = 3352f942aa93071da6d39cc5ed8dc460\ninfo = \nokm = a6823c9940138becba3f9baac05ec119a2715a018f51f4c0ce2add465db8635a6453efdf7c161c2d172a\nresult = valid\nsalt = 57a0db708b25a51afc4271803aa35204\nsize = 42\n\n# tcId = 12\nikm = 08867e76311126089356623ba5381e73\ninfo = \nokm = ce632c353328d59ec519023d08652a97252f2c8f3f29104237fe35261c82eed7e0df52514a157a00fd82d7e46ebf9acc23512e1cda7d5b65b92f692965943e8d\nresult = valid\nsalt = 0c164c443edcdfaedb1ab150f047951f\nsize = 64\n\n# tcId = 13\nikm = c55c41d69d2424a520414e3662aa7303\ninfo = 3fdf20538063b76901d61bbf9b72b0c18749e00e\nokm = 7fce7c021469c8e016f7a9eee111ad71df7c4fdf\nresult = valid\nsalt = fea9bfc92b74337e43a201a2dc199e27\nsize = 20\n\n# tcId = 14\nikm = 5d3db20e8238a90b62a600fa57fdb318\ninfo = 2bc5f39032b6fc87da69ba8711ce735b169646fd\nokm = d3e6274c91a88821367b1853b852a96f3ec12ed466769fdb88e14622165d5878cd736fecc93b9e8633e0\nresult = valid\nsalt = 1d6f3b38a1e607b5e6bcd4af1800a9d3\nsize = 42\n\n# tcId = 15\nikm = 8677dc79233ef3480777c4c601ef4f0b\ninfo = a38f634d947819a9bfa792174b42baa20c9fce15\nokm = 17c2b03dc593fe9bb94f5b9bf646ff15749e82cd4bf569f7806275c241c83e1fe0615663a628ecfd7c1b700215a450f9f42529800424c4707d54488150299f11\nresult = valid\nsalt = ad88db718244e2cb60e35f874d7ad81f\nsize = 64\n\n# tcId = 16\nikm = 0f602703d37943e0253bed3da331aff4\ninfo = \nokm = ff23874bcf844f88f2fb57c0c3a4e3a7a498965c\nresult = valid\nsalt = ebdc8510499f69b2e188daab77cd819cccb95f276f46e6b2be11cbe72700\nsize = 20\n\n# tcId = 17\nikm = 9fe65737574c5c7aa67646adf8230ba8\ninfo = \nokm = 19d4b9e3bf37ca1affeb953ac3a593882b2dd0002409be198718b376253f1e8522af9f276152739e2d5c\nresult = valid\nsalt = 73a34648c152443586236abcb46a090ce55ef6c7f282ffce6342d694650a\nsize = 42\n\n# tcId = 18\nikm = e8f2b1c3e6a6c3d5ee0a20dd47aafa78\ninfo = \nokm = d623e645a84b5ed4a210b9457aad79c9c3171f306bdb8bc9b60496a99e640cdef1cfb56ee336d216aa20122ee33b91c7aac3e5e7d56d87dbed3a446cd5224208\nresult = valid\nsalt = 3f5e162de91e0782cd189f3b7778cdc2ce6bfe9d3fe841cd3c70475d7b3c\nsize = 64\n\n# tcId = 19\nikm = a679521cdb56aafc5a4b76db0431a4dd\ninfo = 44ec41ab4f4e64f4a36e5e30c9f0dc1d77ae4974\nokm = b75be6d7fdb9a7c58514c81e6596973058e8198e\nresult = valid\nsalt = 123033b1ddaead83a4b9cfef8a660bd8e00fde01e67c35656c6d7607d456\nsize = 20\n\n# tcId = 20\nikm = 49bf155ca102026f2a217ea1bc9843ac\ninfo = 851bda4faa8f7add2a3cbf0acf9c2786f8f955b2\nokm = afcec12e5ba6481f144f6e6bfeab0a054b30f2710aeedea90d4be9c790c8e05e601fcb208afafc6cb991\nresult = valid\nsalt = 76776e3b4d75f8f43dce4bded71f3b1ae6bcb012d9c0d59f78248b9427b8\nsize = 42\n\n# tcId = 21\nikm = 6cf725e939e8824d4392233eeac75d30\ninfo = 495425d9727fee2e2b7e78899868c1c3e7735e1d\nokm = e70ba99926c4edd98bf001ed3c8a1557987449a6fbe58360e96c2d1a3c1f2eac7806fa406ec64c4dc2a743129f97ca449380ff495462d1b1858af83d40fb31ff\nresult = valid\nsalt = 1e72f24b05a91a0093f34306ffced79e7003055b0833c6d0f27a4f33a1bd\nsize = 64\n\n# tcId = 22\nikm = a319ff7b5ba9b14ac72b681cecf0f742\ninfo = \nokm = 31e7b971f165eb923b499460c94937477fd61cc4e96c27fa2abb552accceef42aa3a35637bce32d996e9\nresult = valid\nsalt = d7e3bc6daed343ce77ef793e15a8246e4bfcbaf83d2ac956d0661d1df7262b2e7311623dfe4152caddbfda8fa8ed7a82656ec00b72c5adf7c9d388e5b3bc8d24\nsize = 42\n\n# tcId = 23\nikm = 34bae5a158c1678aa76a744417a70d7a\ninfo = 87ec30aa53acfc3d09ccc1d57d654fdbce403cd4\nokm = b80f7525a93a3f630465033ac53f1ace76caf7dcae3bc7374ffdc6d1be60179e1adb9aa8def2d47823e8\nresult = valid\nsalt = 1532075f363e061133780ac959bf653c7687d181b9431215d6f62dd2f1ec3019d61c50fa82c70ae25e624c849a276b0c57d7c02a4d753fe84a1a6621e9a5ef01\nsize = 42\n\n# tcId = 24\n# maximal output size\nikm = 195b2a73c91f69140910664d79ee7f3c\ninfo = 5b3afef0895fee8a\nokm = ba560d02f6661eb3d0bf3a17438343b231d2757e4c8ac2d0f57de4ae267f3b3a40919c4dde2ad7d11ff636e25e4fdc21db7c2b2f20fa1ce7bd6acd2d534f1f660e0487703adde77a0f72c8e3f2b9202c94527e4bb9adf53a0b897a09abc0dddb7f94e6d6ac00d8eb5233f0b88921c8f4b97a1ebd8dfc32ac5cd089bf07720bec56f85dafe527cdbbeffeb168c8a7867fe35ff6fb57a969189d3c17b230db2d213a6860b5cb678fdc913aef231601d131588f021799625c080013a3547cdca49599368b5a483d830fe182bf4639bf830bdba4e301643c20c09434766dc554d7d4effc7165933ae420b136623ca1314383661593fe5aedddabdb44f77afa633149c832fbefd1c884d2717d61156a1916698ecb30aa2f8a43ef7238eb11e4cb1acc7e98a83f66eb8eb4387a7d6cd26249338054d9e5328d97506ecf06e9bf8923756f2f586dd8f17faf515c75d140f502fd162eb074c250b0c4430b659ee49c0dc2176d60ae2e4818b7089c1ba58cf1d80075ac3446fc8f14ad8a9fe26fc677c398bcafb401dd84755e7e550d20684650ca590376b140942410173149fbd9cbe4781bf81b3a3a2e04130e0b392d747f16aa54b323a8dada9fc690e05f75d9108d49ea10015c90505c2d500ceee985354b28fb74bf5f45c3c412ef281c372f4ee2f8df2ddbe889a9cd541326cc2528728159019bdd4925dce7d8cb6c6672298e24cc8760e8a33a5ec9dfe84725dbaba05a8215b30f0ea143d53706d99351f31fc6632f6a28b57baad13bb6768cf52bafd820ad0b2949b789bb4e4d449c8cf6e6c1543c2882bc225f94f70ca6d25855019f29f9d3ce5746ae88a12b70aca25cc16c7ad19769d63ad0de5e0207c994709755c2816febbdc3c381bcd90c5252139bfe45dc86d0ccafa5d437cb3c2c0cb74c59a1f67a206fb0aafc7282aafc7efc5de534c76425c699dff283cd10d7313f342ff79dca06a12dd44f168fe857d41658015e74f40c76f6765b57bc5827082b6ca55e57221428e812b74df3ff82d18678b619f1ac727751fc4b27f1dfcff461ad30bb17e2774288ec3e337a7c8438877f8006d8024c7a62a02d5ba2f1eb302396de86bccff719dfa721abc5be82373a5e62b69f2fd02cef4cde6e66e98c891221f0de23b6223470d34e357efac653c943ae7ce487", + "18a549ce85a0c5f53b966e0ae1495efafa6f70bfd73e915b67cf9439029153161459ed07c7d3fd54cd66a89d366ff9a86f5595044060b612f2ec65e9f2216e30489545c706d79d23abc7ca26aa486480047a92ac01164c3b97fbf253b722c4545ab83741ff483d8ad28b54c072f0ea72119f2807ef71994d18e9015a6cd813c525ea838d3a437640e4f99273369cde21dd580b8e08865603ca87d9d28e1244e93e560f3fe4ce219b55f8f6753e87e59dbf51d89cd4b8aea2f45cfc1be2863b108920a5c380fc1f07b174c72a3ce791bf0799089a571a6dbc0adc4ea668fd8f6e4a8b5a92363d00f92ece0ccbffdebde591779210b34b329f943c426788661b58d637a37094744d7ff967bb27a9d4fbbf00f3a1c2c49e50c14b55e56224d98dbe7bc1e7612d1fe956f048f831ce663b85778478a8572a63ffbfc04e9db2bb307c655707548e48f2e91b86cedb00877e9fd7fea3f07341f4ac342ed020e2ac993209f7a721ae8ca4b9273790f571de9f9d22ab89572fc9a9743efe5a6accc921be33327ca7fe3d3b1f980919f2f62a58475a570ac9f08d39c6e0f9599bb8ebc2101cd9f60da8331dab6dfa3e65a6fecd113f8d28fb87d3750a7019527b388f5eac13b49640554f031e240f52e202e55938b80471560437be12619e1bbf98f3ae350f5a03722e811693285b4774505fc36ea01a97faa35ecc30fcfa8eab0fbf661293bf79877014c68cf582aad70e5c212b18588a6ef3d75202bc4a02f86c62f99a97fb0ffd980f2d7f2fbe7f1eec22c6bbbe2685b4c1693b0429a5069ee387cef60bf0cbf2fd81263085dfb22f404e09284f075d782dc3cdbc24cf242e6a4c7ef6dd65f0269c5a9b49baa1bc0526cd72ee78db3621fa294ee8b7d6cb15f0edf6d9e62b743f25c38f317d100b706baebcffc11396d5400af4657a267dedd3bcfd96527f03be8d733195c0c47d7dcc97e8c8f639c7c972338dc88861f023b5621b6b55549b47aac9630b19884b072aa58fe1a975e86fbf8482821147597914b28ea5a84fcaff9d8ad021282df1a06feae1d813f4094680c6709d63a3907e98a67a5c7a9232e7d4c01bceda04bec5a5dd8e29753af74521d01e346c29955bde6112e131948582695980b71a777e2c42c37c0cec771b1de9f737cfe5301b487e9bfcf35d2750940de6fbaaf00b9897e3fa99f6c5c79e5d27acd055212e0dea3162b27e2b1a400eabf4e8b78077381fe8bba84c8732f469972a0122b8009138ea77592f68717d66bb8ffb3e9bcf4f77a2b472a393f5c6d7758afa9f6adb1a939da7164c22fda33f290bb15fa17ffb87b445931248c9a67edc3e116bbb75fc9439ba7b451e06a589c1cf506a04c2d1c889ed5b9af2002171055580b9555b58ce083a9f5b9f05d440e7fda4eb9a62df33ce6ecd2399ad2725f1eda7568e313f3dfd85d240924ac987d9273f14259170ab30d7363929e3f22dd2e3976b5592e73ba3b4a2f58c4f490affca796ada73db38bdf8b56211038b22242dac86910c132496e9cd1b7fe0e6daeef0c44e31df2c7424d5a8cca7fd812b5b90fe1566e7558e22c35080a73a12c0057e024c60bbf849c9bf20b5acebf48acb4d513ebe9436fa6c6f2c5334504162e6a0e4297c814408483ef02a21b9bdcddb91e73809c36ba0728659eca89fc978f1f154fbdc84638e00620b505965be1b41dd7e2022fe2100cd5aaea63c2e6f1fe80b9188da7655c8c1457ec3f2b02a839260b8cd39d63a6734064ac59251a167e6d25d9d0384c9b526c10b6b258e40496fdd46c85c3ef2b1e4ba91f5c27ba1624c9135535fb922b43970cf7e9b357f2057137cb3df1375a6e6df71e392f2efd6c5ea6e256a0f7b766c30931d89b09dda788e082f9cd4cb8c9c82734d83b817de5877f3ddf0ca4f5392aebf9e70eb9f5c35ad4c40b26b0c485fe8f46638d3994011f2883a70f898fcdf84edf7f3e95309f2e3b166b0bba18f385cdf1d2e530632422c81766fe9e841c205e5e792b49b572415a5f7f5024aaee6e99c65f63df7967d8b3c1976a6c275c7e5668cfb6378bff333477bf599bdd6fc8a969287f796717f6713b375a9262e06fab02684da3ec5d533de48505e41b766540aea29ec73d7c563f2c5d131c1c758aa932a6e5bb039e725e3958b4f1556ea6e2307e2cf3f111421e4acb596aaf6d83a483b11a5c8dd44ae3ef5e3ad813495b54a5fb2688ec3d22d8109297a87fe891e9f67439f0ea7199d3bfd41ab61531414a4f858d0af8338753257934c05c25dc4618b90829c3a7714e732e4dbca579169bed379a46dbb638a7fdac8838d3b4f0769b75880b142568ce9d55e930db5f4d158262b1dc953ccdb6e0fddfee14f042fbfddc88d64b46b7ac177d26c6b7c20341b53a3f31b5c53e9b824b9d5d5d0f7917295409fb497b7ee9450b9d242b009792c8bcf25413c45ac27532d8f36fccac3922fd6a19d1868b558dafa58680e3add12a3fdbd1cdc92f2aa899ad36eae392ce29fbe66af974361a12495a041b5ffb82843750544c2a3a0e817f55877538ab75524b09ff702d04d694b9f7d4d6716a9e461249c298d2d4dd28ce99c64492477d9aa1b1294bd51b45eab201f4c42636bd2dcfa38f509ab8b49ae4e88ab4ef628491b77f073a4a128f452a7cbe3d82d26ba2d354af17cd6bf77164269da782261cf6daecb328573cf975b4d6e8a984839b1f3e6ec81c5c692e32f78f158c1f472ceceb9b448cb8676b56c7d6bde38fb9a37170492a469f936113127e01a8c3801630d56576654552504860b7677d4e49e021640003c093ba2efa8f4a9e2e3286327d7a84527af378029f4306ef188f02204bad184f9a3c977e9a270892b9c0af614373798f5a089c21db136fe3d078586875e6bda63ac7c25859b83a3d2979374eceb99039baee563ac5c6fc54e7b9d818f6d834fb240b3393e56f465ac497a95ea743d6f48a8e34f9c83915678d6dd580aaf103fa8c87ccc667bc66b8a6964d7705f739828272e4e342d495ce5b10aae5a17c68a86d28086ef7d7cc363fb73f763e6b72975f35b3e0e70d38a90d30577d86099de0d2f4570f852b52876c86a2589c199ef5b22485babf4d655a975e22c9c21db0d01dc32a3bd5b808a7434f3025e04a1559f9b1c8e74d928dade07d4fb01e37691077d4f2b9006c15e8122607a3c3176177ba1e6a8238632f705f3f25693c9a9aabee45b9296fe3b2d9333caca0935553f0fc2a57535bf459066442a922de1b96fdd69d5ff57a051eabb0f4781a46f122d393d21fb0d1856d40f6805546fe1d0778f8ee5d1d41d274f6c9edcd0a1d96bf7360389319a21aa2d116fb6ebc44397f1bf3f7d8382cd16f24ec49fa0285f293ee7c3f6b560097b60eada98927584c1bbf30ff9432e6e377d02876390dea6ef7661d3c3d3a7b481883c2e49714238dce4aa8c428f7fb4a5f601782d8b8f719ad89c2ce74333dbd61c7262a5145f5f7b42d3d642e0c393a6d5a2d4633053a4a2e109d70feea7b020b2691c28b5844bd361a442ee779b836100f8b08bd78fa9cf0baf07722570228f12971bf927e31c61365faef3d1e7692f1e48a579dcf3d5b64ad28fb0a7cdc483dc654ce82ceb69ede7f6a960d6c9fab900164aada8a0f600792caab44bd0b6dd8692d6060f90a751625968413dbe4d1d1a2ef3bbff2a21566e4cb41c3abf7006f6d81eebd0f9afcb4de724d16bb0720553523b33654ec6a0fef8af2d49a171dafad2e3751eb21637e4743375107925cb8e9c15d4f6aabcafa3a9659ee3dce219b6cb3e5205b836bbd75fa21baa00e7885613a241c2de00d0cb0b5de2b944f97b0aa758eb708872f7fb4110b852a27286092d31d2f49ec5104212068051f6ee4576f55e23447aef5172673e6268b977156f5bd5b23640bd0915d2e4313557af0ec6d4d0bf98cc881a4f7b5ccbcb77b74ae60c2e4b1c2c32e3738bde4ba6ff854f7d3912df0e28dd30b36f4008430166aff51725cc973c8c69115a219f677390b37ef442257d46d23fd3963904402cb93c6b6c6dad972478a0d8b79670f6f69f9e0cd8d819d8d1d45c38440cc749cf09ab90434d7b57fb1e66af9d09d38c3961a35cb526023b0469c948199aef59a8e1341ab2a73e42b9f05b8ce78c6ede74e9a355ffa0b81aad630bbbe9ef325be7149acb62b02ec7f0dc72b7ac576daa5b19993fb4a52ecc154935beef88abdfd133d51e9953aaa23669e423467a2be1bd35c09c5959f5861a7f9455fdbd25e4a792907b33f6db7f8ee11e5f36aa14a277785b0af2b8ac49700fcbda5aa55c47a24dfc8081003343d55973615b3783037abde6ae0bb35f4175f01b7ff3054b64ee4eb18cd50e0b879b6d41ccbda2638a33ebc23fbac7a09ccf92e19a0bd62725e555079ab1a3f4362ff43b363cae144034f33366f108f284c63ad8d4a798a540c6687823dab864832dbf299e7065594520156842659efad38e48464561bd7d5259af3e590c63cd43ecb95720cefc5b28c3d6b1c7128334db2c112991addaa5b91ac37f06debcd89852c6e8438024c5b4c10049b03169172ef733b1aadb6edf7add5477fc26a48ed428cf0d5cd336e646d17af02642837371913c7286d71aec82d4854617dd362bafc2d582e87bec7afc57ef3c81876e201ea87603b208031583c78876c3f9eaa3fd8995fe691d5ab476a91223c16ebebdc299b23eefd6e93174624021510a7fa1ee3c6cbc268c969f99eafd01f0f86e0146f9fa963c287b704d6fb11ee0b7d465cfc73d1d4c915cf2de87e94e2de498749cb2e0ee9e3cbba76b1a4b9e9e363b7f35088e99be1880fd235a06a614c3e82ceed6e27a72657a4d4f860b336f090adbfc99d4a80754cc747bf4151ab57358b6b4ca5233b17a2b2d1dfe8ef9ae0a92bc4304653b95578aeb5457ca665323292c441f91b6e237cf3a0b2cbee2f1ef8f356c2b42f4d2dee26729b89ddb7747145fd5e4344a82e4a3cedee77506ff79115f00aaa4ee1ecac6999a543d745cc0977340a2502ba6d32607ffbeb3c693a7910907da1a28f6818e6bf83fc72628cda0ec80947c5fda35ec61c3a87c89f1cba548d4a7bf0b911b35b187179d1c74ce03f14682eccf253933bc0b2bc3d4e3a8cc57ab254511075ccb4cf162cc11d36da79125e31f6ae4e758cc62afd8238b28ab8d4020006fc90854eb729edc885179b2f011b0f6d1be61a47e7e9e52110fd8eba49443bb3ec68617d4584c6e6cdfb6bf85db554d777ad8d7fb1ce7fedd3b873d8788a0103a9bf9dad1b07498eb026f455793bde9210c11b173c1304ec6bb44ec007451be41206009f8c723e9e05b3add083abbcd15ef7026af358880a3e9e66ee891c8c36d8133c13c0afb903869980c30d1df0ec297d0f5434fb3d66ffde872f3d97a723d1a30cc297a2e49b7a4590617e6a3c355cd654c9f5ffc5145ff1484b7f87a1e3ace368dca920a593580520438463900d1f079f27ebf68b48dc0fc39f7d7301b3224b760bb1170571135c82fbf1e1d653719c40a726b02262e846494e83a606a47283f002739faa870593c9e57270e36fa7ef18f490f6ada2f93319a4876b3f481880bc762d7cecd0569641b0705914090185793262c8bb5bbd669c86947bdc3b908a8f8abd9f0175dcdea4c952e2255576adf472da19d077e2988b0d5ce05a1aa5dc5c02646ecc7d5fe0a4bdf233f66cbb761e43e5c4c0863ea9e2876c9f846f6bd1b9b84d2521eb8ca0e3be5a9fcbb76713c69d29181acc9f97d73986f95e140d92b901fbe7399aa191d027c438688", + "8ed49665ff8e2843745a065809990aa0c4fcccf24220fdf1e27aa789e334446e13a5788a5e9de3e575f582df12dd3e520fed30cb04d9349424b71587f581939ecfbeb7b48744cfd30e551ddce85a62b903afb33d999a5a1fdc40215a0cc01812b41a2a52ecd4def95ee47345d90865e8f4269f16214e97a7e1df0b4de2e20359a89f88ab906ae05430a211cfa0a33658fa65af3742c1541be4d3a6582fc4b20e42d9e818a62125a7d148966624cd65ebb5528c8c01dca81d20381d832add767a0126203fe9a2837d0479727876673b611afc9a7f5e87294c00deed48fae0fac6506aadda0f7e999a877f527a61d47e440c5f19c8ce12a8b09dcdcf4ea96b8af6fa7e83caecb2ca03fa35a454c419e1121f23cae9d24e53ba352c701211f3138c413d431937ed83da75aebe0acbb8ec9837e857be00a9cff2ca3eb13f045f347f7c745f56df8b73399b1f3d923571a20b5a9a7ebece39e8f379f6df72765272725bea9612e5bcf3cfb6adc56dd05f3249e799cd02adec060b809ca4425e1eef11f7ef2e5721aa37d051c34daa07fab8e729af4b981636083621d7044c13e52c987621a69ca8eac3889776d9c8aa3070aaf563f96ca393d118ce161fb7911b2952b8af451e1bdb717fc70c6e24f3e2f0048e1ca36be23c13d9957d6a021ebb35677f68fa33778ef7524dfb15ae96a296bc393ac5f25261a422e1f7238464d13e3f8726a75d10ad9fb74b480d44c2e9a6bfe0ca0c8d22fbf0f9ad53e9369d0ffecc27b8a0dd1b85cc77b81e701706231c39a045b1bd891a54b0ed1c87b282de40691dee685423f14ad5a6304fc5997482fe0d1351b34136d60b04cab130ab2e7f5721c6e021983dfd3e868cf2dd9f0b180d5218eae554fabe07a62aa7409a93e7e3b3718961106ca3d1ceb606a2e6e93e5d9c05a8d43d34ea1e14cfed1f25074cb7bdc1289f3f7a6ddaf43cc5e7508a964e0a93e26f6711cd234765f7a35c71975ed4e919f4c45cf83ce20076f5238b995a65cb0b402d3690b0a36cd2d164bc7ca986327ec955f49fad0c3f0e94c18638c5473f5b20ba654646d0178e3ba35353a278f32920a75567c7b87991b413db47a164acb93f73339bfe0f72b034c8785de3da8e22a445b5bbc0d13ff3312a13c11f8b5326e8860c136fdbf79da666469da270e0167735941648dfd8fe1b23ce03305bcbc60930906346821ac373a51eedf5c938d3c9f3de9ab43c68a2035068bcd4eb1585c0a696090c25c2825382d8eeb4b75bafd6e5cec3327e80c72b14445aced447bca79ce78d0e1869146c12fb57fc0e27529cfca81bf30b5829f903ac1a36dd560e2ab2ca33c521dadb57c3caae0298a1df936da26a6afe2c9d280f8d9861be48668150385d589ea349cc77c9f67ed448a01b4615decfd902c01ba53df4416736631256afb890af6aff39e47e5cbe59070aed031f20f16e3589d63540904d7ad5709c4830f09c1bbd5b33cd47ff3da3232e11c17d4d9eb02ceb827e092e8e7b7614adab4b3d9aafb45b083f4cb71e25ff7a865541ea185d95d1e80224c732cc5fbe1f2df689fa4ba1753d148d7f6b1846736071d9a4cecc99e96f47f6ff082cef981183d01b08fd14950878d7dc1101770fb3a1565eac3714820c0e058f83b7f85cd38a1ebe3f0fde0734e99efb883c1d08900253963e17333dc90901c56c8fcaf44e4389cc0515ff06bce030367c1301653fee32dbb8ea88c17cc1346aa072723cdf0644ad3d6d5f0608f21131d2fb7d3c994db65f2a615fb21087b4a9e73d81021d1e0316785c96b8236ac14ebcc6efb194a8f05d8120a6fbe19429c27ad8cb8db54e9404d04f94f681791b8d3251c9307cdbcfcc3619111fb10b1daf8de24da449e0e3c6f4f488dbd42c53ef2765a6e5d1a349d13489225ce8eba209ea228ba155648f59c77d5f8856e80e515741aab423e7f3ebe4700aa5c32d30756c4e37d7552f8e63be7a4612a5f1c6ff6c5846bb85611ffe0241200aa188cdd77303db4ad75489afaab6155212a1aea646b50221a9479c0c7ae53579e44c617d20e6cdadb19583835b19c41d230535cb7b4d06fc286554db084dd5b07e6dc7bb798549a68055b86ef86a119e8dbda606e006610f44f6fb62b0c1abfd3c69aece8746ab44f4993048148f4fa6d13399c70a422383be38844c0a1ba4e4b98c0dbfb2be577f62a5669d05ab1aea757959e1c20c691b1924a7fa7ff0c54a8b7388f1f9eb1641771b782a04366ad5799631fc3951ae756d2f54de50a356520be51eb6699a8e224bcf9c223947235da1286824b0feaad9681e68583697da87f55e0402d2baf68251f938930fdd1536cccac63e2ef55d90fbdc91f725846c592dd8b154e19fac278c3df0c90b5032d79ffd12203c626dcfe3091b59624451cdc9811cb5bb61e2894e0c1d5bbd462d2404302dd881109f99cc5b37b3d42ef44e55a8d68eafc143f01ec1a5d48090745f97ff747fe1aa7dabbaaee2d107d73852c38b35ade93c7e7a6cdfd8b3dba80a63626fd0d10adc304ab5c28fdfeecc83f3e04fbb298dff5233f3e7dbac1736c4ae9e80364b06f8bbade5fd619f4655f5f73ae4e978799f725c3c6f9e51528d9842a4c9df7630c857e856dfbe0d7c7753233a16151eae8bb1e018132a28156ccf9d5a085b73d0a3a530ca431a3e705f419091fad1d0dc3e163433f4b5846db6c15214580a533540dc1e14f90cadaa64f662f41377bf35a86310c9bd4ea2a890e672b5a3cc1ab945edaefaf5a7b99f6b664814c728e1ee958bbfd9e810502cacaf5b9671dc8c52982c810d9b737f7210ba7eab97ed95e03dcb75b2b4bd87b19c474a559829deb5f2459d8c25b4518821ac3e9c0294393126efc184fb52cd14e6381a976ba1bb579ca6249ea09d8fc16de82da10413b1251e9a8d85efa079f1afd02dcb8d92876e4d24fcbbe9b134183a28cdab503d18708395c33f94d50d9d4c1d16f2f417fff903f77c6de34e1f506dae723063052645c98217677ade132e466a07a2256f87aa7ad9bc1061cc9482c74717e544c2050b0ea8729bc1a34ce7ecf825b2137a815701fe04c1a3e50fd590521bd26ca7a193a45f864d33e8c7de51b3c686c47074b03d2c442a6882bc03154a61ba68a5ba5a1bc72a5d8c455f0c67371aba5140793aa1a3dc158004bd4da50b70d5a67cf250c665cb897394df202d79cfbb8917827c705a481c9429c7ed6b2cdcc008e6c33132b9173222ad2219b461d69ccbc63a0587bbb550d0e07711c9e4da24a29664be3222c7463661455021fe64027c1d31b052104c3f7a13c8b669aafc16b9558a0431ac7e997884a8a39f92511caf9647cd8dadfeba6ed0ac35813bb9149ac44f1597b00f85786ddd972474d6a572954383fbef702118754ee38b24bcb72ebe91e9ca9a84ad5cd6bac94157bf63ecec1f77bfeb5942430037378e5776d6931af7254590b90b8ccfd3e05f37bddd9dde73bfd7e3b285bcc494964d180a01ceea8f8cef3b7c34e9192f1c89310c1734dbef35fd13d612f699ffdc50e435a07f556f246ede04074b465150fd8f0d9305526d869db0f1b90386e5f775048e6bfe2e826320bdd95ae65061fae55e7a6a427bcf248008bc7d9a05ecb8ef768e24018a3c4063fc2703e650f4080ef663a80525771b147064037eb819c3f00e9b980dc091f9dd8367e79ec2d1c30ca6aa598554af86f347cb95d0f15b0a41423c27e1491a82a29284d5e0721d1ca8b515a2e2f365add9d4c577d7d769585d2e826dacf5e501b25ee58d1ed04e16955213f557b9d774c26fe2c621c0f38d4bc3a2ee4f39fb1738240cdc121c09f9ccb36fb3c839733027152d4db959a4654ed1cb50e35ab6988a551c560b62ed5c19ae6a1d28673ab5a7c10cf4bd956d14016d1d9e063a8c5135b6a4d0d6ad15195c738a9b2fd890e834b0cbb258a10acb46014c08f77458eaae5fbdcf3cc54a404578fbe639ae1a46139a906a94bffd319fd5ee35d1938dc165935bfd453046f5881bb9161ec199a1daac82dadd11df0427afd77c9789c0fa9cbfbf7406aed350f62ef54a54398f013fcbdb5b9ad58a14c024a9e8b390b06229e005fec042a74a3e169d6c54049fd303be7344695942bd50a4689f5a7c31c63e295d38ffc90802844cfa92980b429fe1d2cf4041f3131090b59bcfc7255319ce362d2dd90cf873f87ef01ee1ccbe31a8eb17cfb2660a169375068e2bc4d2a318d964c0d3a514093f77b50f28498e4fed5b90804b649002650720fb0eea7b9da0f92440c8aae5e4017c67475acca73c946425a588d50e5cea5bb5395b8db5cec759503a6e73858dc53e76bb21320a740cec4023195687cf5e82a68a40f8acad2e68df3b8949af88ce071d2db7b389c09ef55b9d7ff4d27d157bb78aa1db6acb793c82cf0c798cd204b48622a5f6af33c80d4d8068c2468c8a1ccc07e44fa27c3ec9d505a3aae1e7508254921905fa29f5c2e232ba2e5380f64603f44ac8acff4ebcdbc53b4ed75a7534bbe9ee9ceed15d9bedeef5398526b31a766364b5952ee2809ee10a58de9e7d04a1f3b729\nresult = valid\nsalt = 45cf5b7711c199f70999902eb755aefe490c86b96cf86ac20d4e67fd87a1c8bf\nsize = 8160\n\n# tcId = 25\n# invalid output size\nikm = febaf0ce3a452bdad48338ae258775db\ninfo = 572d90bc31fc1edd\nokm = \nresult = invalid\nsalt = 701dfbe3f22c13268a04871dbb9711f371bd702b2bb41dba24409578e6481bc1\nsize = 8161\nflags = SizeTooLarge\n\n# tcId = 26\n# output collision for different salts\nikm = 5943c65bc33bf05a205b04be8ae0ab2e\ninfo = be082f301a03f87787a80fbea88941214d50c42b\nokm = e7f384df2eae32addabd068a758dec84ed7fcfd87a5fcceb37b70c51422d7387\nresult = valid\nsalt = \nsize = 32\nflags = EmptySalt\n\n# tcId = 27\n# output collision for different salts\nikm = 5943c65bc33bf05a205b04be8ae0ab2e\ninfo = be082f301a03f87787a80fbea88941214d50c42b\nokm = e7f384df2eae32addabd068a758dec84ed7fcfd87a5fcceb37b70c51422d7387\nresult = valid\nsalt = 0000000000000000000000000000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 28\n# a salt longer than the block size of the hash is equivalent to the hash of the\n# salt\nikm = 5943c65bc33bf05a205b04be8ae0ab2e\ninfo = be082f301a03f87787a80fbea88941214d50c42b\nokm = 12fce691378f28f92cb26ae9cc7ec5a34007fc693944ab79b6fc461093a66c4e\nresult = valid\nsalt = 329f445e7de8a156cf26a0208dbb028d9de6ef76b8de67ca634f4a5a732138a1bd436a7b345d7a0314c7ed0a00b0d34ecad2cb8bd141e2ecc1c77e237094d55154\nsize = 32\n\n# tcId = 29\n# a salt longer than the block size of the hash is equivalent to the hash of the\n# salt\nikm = 5943c65bc33bf05a205b04be8ae0ab2e\ninfo = be082f301a03f87787a80fbea88941214d50c42b\nokm = 12fce691378f28f92cb26ae9cc7ec5a34007fc693944ab79b6fc461093a66c4e\nresult = valid\nsalt = ed16eaa37a3cb51a9ae18e69b1ccb5950ba29ece2e94894ba05715bcc9d926f8\nsize = 32\n\n# tcId = 30\n# a salt shorter than the block size is padded", + " with zeros.\nikm = 5943c65bc33bf05a205b04be8ae0ab2e\ninfo = be082f301a03f87787a80fbea88941214d50c42b\nokm = 43e371354001617abb70454751059625ef1a64e0f818469c2f886b27140a0166\nresult = valid\nsalt = e69dcaad55fb0536\nsize = 32\n\n# tcId = 31\n# a salt shorter than the block size is padded with zeros.\nikm = 5943c65bc33bf05a205b04be8ae0ab2e\ninfo = be082f301a03f87787a80fbea88941214d50c42b\nokm = 43e371354001617abb70454751059625ef1a64e0f818469c2f886b27140a0166\nresult = valid\nsalt = e69dcaad55fb05360000000000000000\nsize = 32\n\n# tcId = 32\n# a salt shorter than the block size is padded with zeros.\nikm = 5943c65bc33bf05a205b04be8ae0ab2e\ninfo = be082f301a03f87787a80fbea88941214d50c42b\nokm = 43e371354001617abb70454751059625ef1a64e0f818469c2f886b27140a0166\nresult = valid\nsalt = e69dcaad55fb053600000000000000000000000000000000\nsize = 32\n\n# tcId = 33\n# a salt shorter than the block size is padded with zeros.\nikm = 5943c65bc33bf05a205b04be8ae0ab2e\ninfo = be082f301a03f87787a80fbea88941214d50c42b\nokm = 43e371354001617abb70454751059625ef1a64e0f818469c2f886b27140a0166\nresult = valid\nsalt = e69dcaad55fb0536000000000000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 34\n# a salt shorter than the block size is padded with zeros.\nikm = 5943c65bc33bf05a205b04be8ae0ab2e\ninfo = be082f301a03f87787a80fbea88941214d50c42b\nokm = 43e371354001617abb70454751059625ef1a64e0f818469c2f886b27140a0166\nresult = valid\nsalt = e69dcaad55fb05360000000000000000000000000000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 35\n# a salt shorter than the block size is padded with zeros.\nikm = 5943c65bc33bf05a205b04be8ae0ab2e\ninfo = be082f301a03f87787a80fbea88941214d50c42b\nokm = 43e371354001617abb70454751059625ef1a64e0f818469c2f886b27140a0166\nresult = valid\nsalt = e69dcaad55fb053600000000000000000000000000000000000000000000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 36\n# a salt shorter than the block size is padded with zeros.\nikm = 5943c65bc33bf05a205b04be8ae0ab2e\ninfo = be082f301a03f87787a80fbea88941214d50c42b\nokm = 43e371354001617abb70454751059625ef1a64e0f818469c2f886b27140a0166\nresult = valid\nsalt = e69dcaad55fb0536000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nsize = 32\n\n[keySize = 160]\n\n# tcId = 37\nikm = e2865d6bbc1abf6a815067edc4ee7aa33c290d5a\ninfo = \nokm = affd91484b5ba2185adb698632e315e1ae238d19\nresult = valid\nsalt = \nsize = 20\nflags = EmptySalt\n\n# tcId = 38\nikm = 8c177ab5f40e9c57203883562f01f174070ccd97\ninfo = \nokm = 279bba84f187099f5b5b4f248b7e99114f012b805eb37b4f2bd777c7f626d8026cc3c36afcc6b95dbc53\nresult = valid\nsalt = \nsize = 42\nflags = EmptySalt\n\n# tcId = 39\nikm = e842a4fc1a147cf2f87de9bd5a42fce6457496f7\ninfo = \nokm = d331254a687cdb1572b5061984689d4a3f321ac82248dbf7c88f9c7d43bf295558d945503b573b268de153d22334133ffd026baa58b70da52169b7d4cc2a0f1d\nresult = valid\nsalt = \nsize = 64\nflags = EmptySalt\n\n# tcId = 40\nikm = 5b870ee1bb97ee83f67fa7335b4a0f9dadc80d12\ninfo = 0a0dfb2a6e051441678788bdec04cc1b63ebe1f4\nokm = f1e1474524b1de386ef1171e2db18b32e074c2d7\nresult = valid\nsalt = \nsize = 20\nflags = EmptySalt\n\n# tcId = 41\nikm = 58ea7ab33acff514ec08f41e59c17a3c66c1ceef\ninfo = 1cf9e25bd70c5546ea7a79eaf5d90cacf754c4f0\nokm = b35bdc6ce6a357934f6b078e3210d6a1a4427c808f759394f0cbdaeec4de12425c988b7deb545ba452d1\nresult = valid\nsalt = \nsize = 42\nflags = EmptySalt\n\n# tcId = 42\nikm = e8d20934b9d320458f4854e2442e2f0fa092f461\ninfo = 4425999958aa3cc629300c25ab15be8cea7a4277\nokm = d9ca1874238b99baa7f62f9e61db9ec45bc6c6618030b0c42c71551e0c56d37a7c59b39dbfa2447647b296a657d096259ed72cc1497f2e6b774da05c00274f05\nresult = valid\nsalt = \nsize = 64\nflags = EmptySalt\n\n# tcId = 43\nikm = dc9e488c684dbf0ac8ff1eefaa0666d413d258f0\ninfo = \nokm = 6c91116d61a04407703a3b59cfdba2d71999564d\nresult = valid\nsalt = 9afa7df500d7a17af1f44422d25a62bf\nsize = 20\n\n# tcId = 44\nikm = 34b85c341a04cbade472b3f7dee4de4d1954bf70\ninfo = \nokm = a043e45d56fb32c784a3aa016f40cba8fa298aa813a27e0797c4a48ac464cfd36a61f0aaa184802a16ca\nresult = valid\nsalt = b066b42acea664350a8448f8e064225f\nsize = 42\n\n# tcId = 45\nikm = 44cc641e09f7d5642f7b6007ca5a1c0813319666\ninfo = \nokm = a8493c8ba5b733dd1e11ef719fd7cdc6773c5b53b5be55acf4d3365ecb6a82c5d692f0cfda042cef5265d21efb587213155cf17399ae61bd0f167f90eca74f9c\nresult = valid\nsalt = 69c0dde6c8e5bd40553a5981fad6ad87\nsize = 64\n\n# tcId = 46\nikm = 88a8880cc2b73e73b3b6ca1d4902caf2128732c3\ninfo = 6dc723df3d26f704067afb2fb6d95a66516d089c\nokm = 27e233f30c2d8501d42d229259c1ec350f7fc9ba\nresult = valid\nsalt = 0579f690ed32e57a26701a9f6877f243\nsize = 20\n\n# tcId = 47\nikm = 8408668b9d671121b8c7d31113f045c0d7c020fe\ninfo = b4451b0f1a217db703582881e86d8044d5f2e092\nokm = 01c4c9b37f4a5c01c89544bfa5aa92072a36206d90e2feeb0d5dd7c222a4340d65f4cba61ed01e79fd75\nresult = valid\nsalt = 679b30e6930a8ea3f076e317b9595d5e\nsize = 42\n\n# tcId = 48\nikm = e6715cc4ee13c4d999d8f8f500243c321f70b0be\ninfo = ef17c9227a5ca654fbdb35dd00dd6dc77b6321de\nokm = a3bdbce02823523eaf356cd8f2dcfb450f42f93d03f73487ca86fab09da7e6cc54e0b1e38b8a04fe02c528cb50efe0e3aa172e620b3c3fc11303d1005a137d90\nresult = valid\nsalt = ecfaca2ea3301a992b4de081d9d3a4cc\nsize = 64\n\n# tcId = 49\nikm = 9a6b88f3f68f5a8e79903b51dcd733abaece1a41\ninfo = \nokm = 06fb02949f1f1212cf27436ef3f595a15ce52057\nresult = valid\nsalt = 0226df3d66ee3abb275eb39c8ec3d3e12e9b87b67f85c552accc4279ec17\nsize = 20\n\n# tcId = 50\nikm = 0b9eaec88b2940a4754e83272cbf47fb6f86aaa1\ninfo = \nokm = fee9dbc5b95515e77a78fe4c8ea77e76c21f15a1a8207a38dcbe45c3498795be6ec145cc92bd6ea02432\nresult = valid\nsalt = c1616497d49246400ba68242b635c67515d2528ee1c3b71b318b631f9bef\nsize = 42\n\n# tcId = 51\nikm = c4717276e7c7f794c4ee333b2f7a2ab244be9e8c\ninfo = \nokm = d6fb5c20957dd52e3cf5ba3f7b1b28b7be3957a0b2a39cd913376e95dcbf30b481a5cf37d50e3de4c59a67b6113adb0b6a23458d0c4be71d2baef446944fae9c\nresult = valid\nsalt = af4c63e5b554063e83e37bf730ffa401c696088ccc4f133a8695ffcbf2a9\nsize = 64\n\n# tcId = 52\nikm = 5e43a900ee0d432c5fe6fc81db8d5f81a54e39df\ninfo = 32460280e60910b10abee2e9f80a3dab48acbc59\nokm = aaec302f32a812fef48e69dadbb56936b0c3119a\nresult = valid\nsalt = 8cc815009350b0b6a924ed93e73c8f8c57a1105726663b72741b67209c1f\nsize = 20\n\n# tcId = 53\nikm = 070c170fca600aa2b23618150ab9044bff7d4dcf\ninfo = c1b0971fefa0a23cf4b7185879475ebd8d83b9bc\nokm = f56000669f0a987954a1e80e3b10588126eb087440b4b253587f5d05ef46530bbe83089aeb1eaa45f0c8\nresult = valid\nsalt = f32a1cddb32693860eeb39a5d190f5667a303d5403712cdcebb575c6563b\nsize = 42\n\n# tcId = 54\nikm = 87a23208df5e66488d23f7aaa066e87bdced8e2b\ninfo = e4d66fa23a6020820013d94d1f8e84a58cba2a82\nokm = 3c5003f24499773817f13695c45b937faa82a8d579a0afcb2ef473b925dbeee8dbb62f28c22d1379f02d29e26327d22c2e4a6d951865ae1a6a3ac2bd441c805e\nresult = valid\nsalt = 0488ffa08062f1fe83e9c3934f5688a2e17827f898aa5daa2d595f09b245\nsize = 64\n\n# tcId = 55\nikm = 214746af12a669b726364027e9a1cfa40c18f8e0\ninfo = \nokm = ac9d8595b73c4e23791aecf157ff1ceb9320db1149a5b8e0eea62ea15e4d36d979b3f79e58747b5b6d51\nresult = valid\nsalt = f65ab21816c5eaa5c9ce77d58608ab67176d2255438096f4b45779d15c2afda12718ec557bfe161e7fab89ebad4fa634cf73f2d12c884c4583e64d2b59b9d8b9\nsize = 42\n\n# tcId = 56\nikm = d509c509f91d78c33b9d661e6df1992b2b6ae429\ninfo = bea4f60eff1a0c6ab664ff3db2f774347920a482\nokm = b8eb1092a47f8b538d33f065b688b3db48b1c47724d26c7106be333228a5f892010eb4ec58597f3ae801\nresult = valid\nsalt = 95ff4b20ade46bada320316dad7e2b4286e93dfa2a72c6366c5ddfe8ce2ff344729ea56416d5b53074c6d6c4eb4e4873980e5e4a4991d6b1497aef822e16e209\nsize = 42\n\n# tcId = 57\n# maximal output size\nikm = 79210bdd3e2d9185c241114eb2ccdc9cd9a92eda\ninfo = 583afffd66331da0\nokm = cf24e0b4c6290e8df554afa553e5b6dc85afb681efa20563871e8ffc1fe2b16c2c6ed18f7913c337ddf462475db5af55b5ccc3dc9f80350a9b538573c8cc3fa0e14286af2ac908794a53e065fbc062e65129548f18be49a029d23a2215a89b16fc802467e313a23e1607b08dff77d2e46233c5232cb27acae0ae98199fbaa42cb8315f0762aa320477371021b933c27e99ce59e45e706c36e1ed24788f0080955aec82b3b8d72da158258ee9ab3f9c62e426df25b3673d37b8961e7b57b36c1b75f8b086abc3cec04fb526ba1cf15c8e91e8d60f2e774b99a1c446c707f7947e14b4e074410ea15c84531a7b487091a9dd37e947d6809bc5c16aee9e1b9ee6eadf11763e3a5d55a973e75d2739c631dbc89a5157fd8bba4de5abc42160320771667efd8fd2f7c47ea5300513b655161eb29b8b056ce4d970b2150d18d42c7392dc67b9e6cecd8da53887316819e21699a0385", + "a1e51affa46b19e4addede417978c6e510a1823392a94e99b3fb47880394e39c13931c665477c76da3281393a8a7c63e80bafc203f0cb9d81ae23daea602d2a1a6640dc10abd36265d84a10e3205ac547a6d89f4d43afff02e854d5e0864ae429f38c7ab959f2a5a701c23e4d619d632552bef2f51d85a00eb173e544f7eb14b62b9d5901ad37be747403ba78eb512ae162d6eccc52436fe36d95f0d0baa13a4a1eeacc470cff29f9a9ccdc1d3bcb216af278eeee3dd039e366a66acfc5c51bf5a4800069baf54989ea911f61f1b58790a6318cb856dbd849cbc35bd445083fb33bcda8a97a4b7bc26ae02439e06414b652c61ecbd1fd1fac1319ca9c4b60cac2d2a539e7a5596f040d801fda9e56fcdca560c67056da14137e0b068f333f3526154e2bad4a92dcd777387e7eba1068b6c1ad30215f8e948b48cd89d03665b5bd7605d6b06b1b908a07c729c78501ee490505f1dbab1b545fd612feee0f12bdf94953b41b95b122288575ca36bffa6d32dc5c6ad88bb759c8cb894b607e56499c1037cd9d5a28a5a85766bf9fe8a0a705227b3bb2d6df3377611af40a4750e9587dadbad132f243947e62f2e74dde1d842544583403d778c9045c88c70d30d0f6167ba97828985aa39019f129fb85311eed6f91504931fd431ff90a44b8dd7f117c18dbfa5346dd39b1f9e67a00f04e8ebe69dd275099b3ad752d4162239265bda196d6f6d61f3fd6dbb9eef4bc85955e26d6eec2fbe513cfeaa7eee840c32b7bc06f1d53c7ff4e4e8f5d30a3f8c45e581bf59814b95c3566e47d74ebecde07ce9d3526f71f0c075682c03aebc0e582f2245c9aa3ccebc851d1052190a6f66dc47ce4bb2428d2fbdaa2bebe569995abe925549f56a1d9de904828bc9c11daea269f181f67ce03af3efffa79c5244cde5a552e840352f8aeb741025f71aee4cd800e362bf5554302d5124843a8e71ca03714f7c103d54a1e425d2a80be6b512ed0fda41a0417d49285c71ccbcb662d7bd85e6d599defc315dac7b70fa5ea32ea9469c42feebb78619727fd75ea1da649d51539fa5c16ab24bdaca44f17040bc638009adac1b0ccee9114b2aa67c9f87997bccd9757e9c8f80fb860909f366ed8db6760c92bb5a09205396634c408e3d549305180e232d5ad0d51adae83541330ccc2e92bb8fcd50926376956a00fc195c8373df5d24d0ea45bde59c1f97d68f25eefec352578d305bb0d8c2ec46737c4ddd7bf9a8fb5d0001c9a4baf544a84d2706be2a1f149091f6e03e86ff78fdfe64be9c8fb3413f229cc9c5783192f401c5532d8f359b8f0ee493be40ca9b5d2c1a3d76519d64eb3cdef6f4ed522c52f8e83ff20ad3e35ce7d7d4cedeff21e398828b49d1f2b880477ff7c107349447e1fee43949118f302547ec168810c99339aec5ba3064a58dc2de08b4c15eacfa42a66362feeabdbedd495716b9344503059d20c1b06a135955439ca71f0274e56dc85dbc135d33a9d992784da58603d3ab6873065a36b68f8078acd3a276610e4c4335f57430ba591de81834417e770595317b02491619c259c0f5002afe89058c244468e8c8ed2fcb98bf6cf8fec723eb055eb8745de08b4b4978ab272a5db69dcd4a2ac712a66749e603648076713aea17e046e66d68102eec7a629e57803116d5f90a790ec86e3b54a5dcebb100d6fe6c04a170d9a54f81784cf59c0b3d373396e8310774a0f2063b8a8bfd4406a4e0e14cd52112334d1d1a2fe90a91a40b1becb806c53ad8039cc08885485550d7b84d7dd2d7b24174ebc1186097f44f904646bc68fdda207a99bee9a68dc41351c9a7a76a06cd66190ab922f5c8d0b03e2616f8451241b22a919e60f63431e9d688dbec5b72f7aec8a1d164d0d236767df3490131f01572e97f479fe7a4589936df3e7cd1bc267d71d182f227c9cf8c53ce5f2f29c709f21ef9cbcf89ae646a5b9f1107456ecc20ef28adc28dbe616cdd8373cf1c97863e3d17f078d6fb9c136a1ec619b1353ca6c18e2b6b9276aa14bc2013734c31d0a7641b7c478ac62c0cd19b3b33f4b40691b96a3aabb65cb17fee503bd383ecbf04219fe545b9b4e538bf3bd78a60c6973e0fabf36854cb2420f0996e68832591865db34ff84b84e7701697336d090cc0d43c6fe2cb8d98faa81b74072a4b51af9a43ff52a4a2a794793b2287fc4d611dfb681a3d87fd5dadb64469c2b3eff8770971135bc53552910ba78f154c139ee1ea7ac3d407f86b856fbd5cdcbb5ff51c8f7ac81303ac78ea78a9b2c1f4f7c50dbd4a3079033177194c9249252653dfde9dc1a09ffe849adac8cd952c6a2ae4f7931e3ae4bf49b1ea0f0381abf3877b49e920cfb24c0013fa6bdb95803d465e0165461b8ba4bd085a7581b822f2821f4fef32d1dc80655050911c93dcc86b2784e2c67faf164a1329afb12b92031b80bfd589d2b8e5b4548caf3d656fda7d59e8d6b499c2151d28586b4b735fedda3c731749ae715fa616185993c46c0a1aea431cb5e666d13937917dfcf3519c52917dd8d327e1cb6f7c02f1d83945e8d469cf73ab888e86894b64ffc632159c66af0ac8dd6783300d1f68f553db359194719cb31c0bd652affb1beb4511e4a8e896373cef1e83f88850d4c5799dad239d37116d8b87ffc27c478260011d9da68578218d493dc0b09d2112dc33e97e2de97351fdbc5009d8b351b859253e2072c268e0da6b4bbbebfcecf86c9d8a665020831566ed4f1c8c206b32362397774aa6d0c506d18890a1d616d9ce0844dda2d06af3cb3e7f53bffc642d261b16927ffa15a8fe025b77e693bd434f503c977e0d8ac1402f6b2ddf92aebc8c29ed3b64802d890174ee63348e404c936351aecafafa7eee855c68a4cfa503edfa51e927cbc2f89a8eac7427d96274453631232643da696312a75ca433e919b8fcf563cc5c84f1c2fa1a3d5e46078bd276fab4323b541e6326dfd0cdc057e6dd33172ccbed29bd35d289367cd378c78e96c4e2c01d3bfa295b3164d028ba8b7f0f8d45bfe54525fd847ead0b46af5dccc53fa96ac8237ef2f5389fb7b1dac15458c145425370c22989e09d6249c1a8266b0c924252f5a9b81695c9e566698428ec655d786bc1dddf0c2107824f0ef9f28a6eb97787d77872c0629758bdd8c47b36fcb104714b91d65d4b62a37077e6cbca5102ed64e4960d14b68bdf5f51f5aa19056fd9c4f82b3eae0d05824f3a257f5d5e7e2a22e847b1e2b9dc0ce1d146805513b29fcce72f3d03c9a6a2a4599d77fdff432f76690e42829f51f7c5af716372e830701d8e264bd89a3cecd896b973dd39c07ba39efad8e4e38ebcf040edd4c497f199b00c470cf1c8d5d619f856a003570dc421576fb781f29a2097b7851fc237ff4bb462af5fbfa266614bfadabbf4d631825ab02cdece4b27c9d4023d480d52da3d26ce09f86584d67ea2a8fbe36e61bdcf4065bb2db1c08f57178a6fb9491b9e6fb13a72b99cf25773fa79d0ba9dad45d0682598d8aaa7130b6866158fe71adb7f23c27b8338ecbafffe8b12216b3e9205686b2b819942b3296c03d77e58797ab1e0ee7c61ec507d3f4e9ab7380348753386a0e3a3a9f026d789f2f5192c97d0303bab9980b943428044516725779bb0189ff7c5d0cb05f093ca5940ed30f1b28add3a8c040663777f93bbcc070cb84b8e569da3f02fb4a425c73d14e49972828fa67b819b22cb69f49d3acdbd09963ddf174cbcad48193f2ec2e8b5cfdc785980abd790f18533da0e0965dff388a9121573aa090f1ad3d63ee7b1bbe98d956f3c56db55a22e93123375d7f0315ee15355b0588277de76cd46837ca6a2b1cb8dc00a98c06707f04c23113c0aa3d7c06b351c59ea1d2294c4ec19ad142de809d8277bdd4a40fbcfbe4dccb11d4bf323955e1415fa91efdba9dc79eaaa9be1f17652f68e51588c847fef9447aba64b6806d8013ecde501439503eda39b2d20809f78a96ef4ef88ff71c9430469f2db5069a725a09dd465e7c9c946c04778a9b1dc02fec2d7c655ccbb277572850fd2ea4ac0a45468e8efa97fa23950195957b079a0b002647b08025edb7781b0979b1a7e3a1d681eb59a70b1cfc055e0aedbe9fe56c34a479a85e766bd32a6780a193704b9216dec17dc7d92eb46ed27f091c1f62cca2a329a0d7d748502f21c072bc4b90b71afbd5d66d19df779bcf9514e81eda5b934a14a0509e6721916a2f35e937763a46dd5a7eeaa5ffaab6c68a7c0188d9a4f70f30556ee43a9604a7aa43507067ceafe41a98df64451a1047efd6c88d17c4b5fff71a2312b3d6ff558e579fb2b6acee500bd0a8f9e4e4f81734c6ef4a8fe83a977a67e98c8d2eb6ee099daf0ef410d59a60c49250d48be47511cfcbeff34b8ecdd83802dc4683c32b404609a41629a67e17e6a2bfe6cf0ac5bc926fe97c15552bff54a0d20987281f8574ede505cf802eb2cbbe4a3149e68c4f504c21d91c576a8cfbaffec52a74b842e5d7733b07624741772bdfa75e5b5e0e3785f18357c66a7e50d991748c76c29cb44167d60dfaae9b6b1837361b10e45921090fc9644a4bf968bddc0acfcddffbd44dfbd5824169e3534d7fe7d28ffefe3e992a6579fbbe06bc79d5816eea0b4033830acecc0b84ce000c377d6447796a76869dee1747a3a37891a3c00e809d1b83d0aa4e70c3a6874247e719a648e78e02d17c9547e62c398d6e5c04c88090cd7b7a1dc1e4a57b1e0382bb7bece72c973574ae0ef2f11e4f0c4c6e2e76dea70411ec01a2be5ec2f93d001ac919d01b5ceb2b86f7f4a2081b42210d6f1a8e4301390f54343db84ef4aee9dec2f2a7dd5dc0780fe95d0818b6f9aa0fc7672de920e8187dbd7ec7e3885e5e34d268b2cda1f4c4feb28cda9669fce58cad9b2598f04d767ed8ca2ae78ff5add40596e327af23353f935c7fde402fab88405f4ff78f02e69bc5ec166280f04d886ba2270c895ddf5942ccdae139cd38edbc708630f41d5aef67c7be8f73234b990a3ebb21f50a493ce10f571a04fca61f67677aee0f8531e671ca2a32aeb3540b3228bea0353feee3c144207e5fe5c2198cfda2ac9798bf376f19565c43371153e5f41bc15b80cabf67cda36aa93f92a3530dee33e4556d1702bc916598e92f78bc5637a02398f46e376eabef664b5fe7733b2d0cbb27c5a9c8d7b481cba3f07e56a87cf7aa5e039965a1237b098a8ecb89148f1e077e2fc216b24f7aef754a65809736ec673c018fa9d98831f69838600b011328f17310036dc043c333fba65812934d4f9a2a6b61fabe75b396c3848a095d63e9eb301d0e6d7d77ea2dafae8f40c577a8d3a9f1a77c3d21d18e81b8ec3936c3cc0f06982e5ffcef5479d3172e381144a352109698a3b590f73e238ba7b7d07306ba970964fa92bc3916b4efb301b586988d3f17d0c1caf2021c318173692f543ba7a8ff792608ae4bdf407e41ef017610d784f9ca3e7cc2009ab4c4c3c597677e4c4eea76014e70bb8ea84f474128d648904407acc5a7a75a5dcee6ae81b2fa97e95d9e210fecac7daad4a0a2c45bea7357b4986b25ea97fc234dff28374cddf4adf5702ebf25eafa83fa67623e2417442f78870a78141dcd57a7e3854d133362e711a06cfac847670906c9c0a54e50bf183369d65c254666a9562b42a733254fcffc51120b4ec5b911460da89a9714e204241411ae02cbfa771acfa328a7d777cf802a5b1814e0e227304b006fad8b2579c15f66397830bdaf9cd02399107332fbd538a29a0b3432775b2a1d2b088ea5828adc5a4", + "69a900af172c6a24a2a56d9a387c74b55fd38451ec802b8a29271d61d8f1e9b6e6ce964861f10b67d04a521a53e45a73e1085974f2d044175d66689b194e3596538695e83e881fec13537cbef21d5a2ab9dc9719752c188bfc3f204950dba940ba8f8023ed3a571cb0ec9c7a2c247a89b4a3fc6c4d09b5e3b90f76e617da43f1048a17bae73856b971df3fbf52eb4eb6adfc7894401df77d165e1572bccb941f99ee6219cd71ec82a3ce48ac556686cde78136ea28d5b801ad7d73d0890b96497fc6e7799548f82d2071df84dba792066a769f2e616a939958747087464c00d04f814685595ce26d81fb43f07f78daaa85fd32152356976756ba728dbde26ebdb8568ae15d2c6d7b41ce08b024417f471e65f6e143860130985c2c4b6d1b8ba51b87d94ef534b285dc99945f5599c602155a194b03c114cd40ebbd03011c6e8595eed8a9264af8f13201bffc5225e369cc2ed17c5c732331d504b4821aeea3acf79acaa9e98e3d2ee1261c366486c4bc59dbfb62b8a971b976c8c6e7379134d0c42277c779db551c8fd39942f88e2b5f6eac2412b1354cb782047f20dbd9a6fe081888a970d9f3aa881c6ea7ac8aa5d67606e03268c65875aed52d87081b9bf140f2a0598b9f743f290880cb816ab5a8cacc56e079380f25e559b8f7914dfa8aa44e3eeee479bb2fcf297223377c3a153d3cb04f22c4345d80953a1b65ca9d9256f129278bf7538d884384e76932eeac09dd287077ad60a07bf588e1504ae5581c9c30e8a82589b00844d3b337f44bf9d3fbdc34bbc4530551dbbb25bf7c309d700586bbce48a2499698134cfd224ed04597390abc324f6a28361dfe4bcbc04ae47aa7e59d8b1952cd54a169e978055103e573a68dc2dffa6600ebb95acdcefa98009ce111278d3a77a134ec1e3801e030a2ee72d179f9f7b9f1bd53517e0591076353bc5f0079d3a13e35a7da033c39d6448dffb07d4b647fd54f76f78bbb186fb9df42837fd8fc809b388f8105f1ffba02cfd150c7e35ccf513835a7c58d17fa3bb6cc36acbb12a83d4bc6d52d9f9d84227a8b25484eb9c7947f8fc45cfec7c3ebbea0a90c2ae84dc5b92fafc91ead28e5019fb3e9cccd08401f9a829ee441376fc48027b413a2a079adf7a251c3e741439e5193dc2e592038b69bcda4238830fcec5452e12b8df0697f623ffd944884de86c828b603d8577911a0d1948a06b6f81a7bc5b2980b7179d37cc0e7deb148094a0f4837db396063da3cf3df6567221e82aa9b45dc432682cf53674ac3ae20dc8187e3118fc6553e08d1da793de157c36534982abd529fed5fb325aaa14d92a9ec4ea02ad77087280a1ca530e086ef456cb22e68673b6d07ba608f34631f19d4c9846ee2f66f2891b0278d7e8151af3976bba441bfaf95938a041c8553d767777cf6e5a51b10d176fe9e58f242bfd0513e677e1f9fedd7c4ae7de1973b3f094eaf36d0b471fb1a0b67867d2720e513140e569f93240f809b711c54a12daef29fd573e58793b4e597037a0e01ec13fa06e36c88f6eea90136a51ba6cbfd2b5c38e7da13f3b903b5d89a8410bcff27fc2286b7033b228b7639e004cda29b24ce06e17fdbbfc346b8abaff01680df78d01a45d65cf594e4244eeb9f0cef5dcabfe7fd2b1dedfc3cc0540fd4959a90ead36bf92e738506ae6beac4c84cf01df8183a6f3cf7ea7983520b59a8f09a47138b0f5a75d12411e82214ab312fb54f575b33025c3f5ed5ca9bfe3fe9571b9c4b06854232e1d65bd5ac71d7be9196bc7102e7e77fb305e49a16e9eaa24f12948fbee62f4f9e5619e36cc92358252f9a17182ae12c2d78e1942e94ebb0a9cb7c58164186d100e73f93dc7a3bc543579a379514fad48d99e32fe04a947be3df5324da6267ac9b928baeb3c9f9b5181262b7e2956f0a997a469fd079ebe57f7396025abf8c594d09ff2f353790cfda055ed8b570abce9c1c18b5ad4d82a0b7195e4f77c48b58d4f31e36f11d4b64deec09c2068aadb0d74f01ff25ec85569a854f9b171bcb41de033beb985413c3f92c7650edebe9af6ed5c4882045ffaadb95e88d0d737188e81c1430b96c4afd02d2895088522706c0b5e22883ef9bb4040bd276f526971d0e7cfaf9b0d965dec0841ff9db5afae213eec385c6967aa84385e5c1148303b54a45ecea61f3e6279066fa51db25a1c42c88e340c1e8ab6f1ffbe3d2eb6a26279486f9202d8b8c02fe4a7830a4adf57764544cc82df4ca6dcf14e332e283ca6349acc8a90f0dbf1adb93ca294a93e5a34eae79a8ae2b066795f242e8408ceba322608f892de6e559c25118d1f16ead863f90456a036f4e976fa07cc9a61f213a62ed075e0668e90c0241f1dc92a14e09602ca27df696de8f90f0e8ae48960a80db14855b0b0b6c7a7a31a6e719a41df797e09dbfa17f93e9f152fb72d5f2cd56caf3a1532640ae8e5dad86bd6d87ff60cace9b651cf90fb8ff42b5d9caa904ef6ca5164fa1275010b4482d12cf46f4c240b3944e0a9b1d9ddf306668c6049ee3276ab596469882f603eede5ee5e890319693f42f16884c7fe00f06c132ae40cde57f2c0cea275edd6b40f866fad63c0661eb07176b43b529099591e63dc369bccb13b7b38ace2347052b457fccc4510639dd4ce5f324bfd6b7ca399398ff20f58bff4d2fb48a160fa04239106c633414289c419b270fa2c8866392b220a142e00299e4f85ecb1c73c6222c7228eb26bccf3af56cb6c4d308e03010b46327aa08af24bb82acecc978824493cfa7ca97646c936b641fabbf151f85f06992ef48f9e7298a8e6a77836a092d1742ab9cfb1d032e75acb3c5db7125b0407591d54d3952c5f1d597c3adb5013e92b172b9175fa38aa3a4968676112620dcb561adb016a45afa5b4b18660f4fbff9f98f21833e8b46c1070aa8e8e95850631f7e25361eac044e662158aec08cf87ec02e16ba4b1e19a969fec3c7d595694c5b48bfbb7aac5abcada36dfaec9c64256e0649942a1171f886a85cf9ef29881f297f5d6ca63679f6dbed9c638f970d65b602ba63ecb00b9e3b8e5d91d339f400f5c5908e6fd16535d93348e41bb0383c0a7f2790111415a3e8948ca0910a4f1e73f85bdeffa4b3355ab2a14e2e8368de0559c4315486ec21346823d21049860bc0d698766c1f5a86cb283b4f549c31bbd48f26184aabf676bf5ad8377df558e3cc33e5668358e12e3c442df86fa18c60241b8a77be7f12af62618e615a6a9193cd6a15fad70f67e63833cc0eb561688be0cfd9eda0e42481fe5a419778e07b82bc45682af16a7ff00055070f5cc0f2062e0a60d4d59a2ba3aad38f055affdb01e4ffed87124d07650e39eb00ba8dda82cde140cfeec546dd555ca15e1ac231db239caba419a2b39393face30ed9e9971f970fb59883b9d524745d8bf1b250da59704349227e9f2dbb0ce7339c7c9e3b8ac6e3c90974ea8e81b1b73d04f254aee6384903ed2fa844a2ab2759d32e0676d7a64f0f8cd3e5547e5e486c0011304a7b4878caf6e89e4c02306e848d266bca823d9631006aa3fb7986eb35eddc423eba51853945b786179d2580e69177311b76da29c6420549cdc8c4bf76aa0138b27a4d7a0986bb891602482ddeb6472fd6be465c06c7261a6fe0f6f8821786ae408b7de34846f158b3518cf3ca21d660d630c860cef9cb392f5019fa32cf12549d1a0479aaa70fd51a0d293d84d45668d072b17d7101aa49957e2ff5d83a59410ee9d0fde24f335a523fa35298fb5aa8c00445e972f6ba8ceac8b46562c781b9398fb2896b1121d66630b50afdfc93607d8bc020c606b6cdaa8f51146d2038abb193f98371d4235207399994b6f2eaeeec8fc5275b1f087057482ae2792a340f9c0eac56149f04012b2b59d72b1ca596cf11ec9401abb77fd62bbeea3a0c6e25ec6e17e6a5cc4cdafd8e8b940e50ad0994878ade0321f4d2c0732fefb0c5306d3835847626a82909b0b96f0fc9a58c8af8f25d8f0ade664cad6efc79739d4532aabfea8d138478b3757b306d75a8ee51cfa7be05da9255b9734261589433ceea6ab8c44264efa08503d7e87de60c40b3fb9112e8c104e96caf323c2d2972680a2145a45218b5780bd769392f9c649093373cca9555a2a837e7b719a19f446e12d427ee2c5f1161d9d1ad24e4f532db0f24a3d902d02ba3d7e6fdc222ec73c16838519d672aa767382510059edee74c619cc2d064a521224abb370d947a8ddfc26a439a028fca6b0ba40b420ec5313db8198317812e1d784b902797d3bf80593d247ad46ce2a9bcc87174527f1ed9a6bb4a27329fe7af6989c31fda897baa7f38b2231e86546654854fc979539125062a6de298677df139b9602d927e316f942cb83da88497c453a45673c3ce40e3b5385e25d0291f25d187894af86560cfd4714b912c9a4fcc2b12598b55c0d9c9173109769b4a3fb5c1d45a21f5103273d89fc3553f5fb4c19079e64b99ab9f3d39ab2b3ccf16ff00f155f3fdf33c1f85aedc471525c1a9cb468489dd92d6be3e3a864b8dbf4a21beb4771f24ea8ce6f434910d99f6141a1d64041ec3cfdcd8589db60a2cde9ced50a50f9986ef7a334173c7604d16e65f1dc67d9e7d7fa8b154a3973c6ce20479626f1706c3efd7bab3d85a9f12690c29aa786e3aaf80352640d0cb393cceee83a6ce68112052d2f6d6ba1d9c7d4089576bbd2550863fc7a0f0a382878c8095d2f3829853d6b221e49070d8512c72879521d5e956d2d0c0895fc4d9a5a59d07135228ba85d20b672db77b4bba77d7a00d45a039daa98cd70973c57c772dc3b0b9df0b3649a8afc35962a03370a5871cc1ea51f54ed2b52c5bfb4fd54cdc68ed519a40d04e6153d4a1f86c276215cf5fba4ee67f6a9d2f38d1ba579d9634ffd22e05c75a90a825f75911ac787e8cdf70366afbe6a35527b8ea875a7e218d15c9b3d833bf485a716ccbaadaf7f501829aaccdd92c02b77c24d49434f0735be5454be94010b68cbd5a7c70525a81052a46e64447caad264d71199db69791d2b8f9466238c9514feffcd74793d43641fdbc54c692e38b28830df7ddc27524cb97f1861034f5f1c9afb935e062411e407b582b09b8c4a6cccc90fbb491fbaa375bb60893979e86d7081017a8ed25538ba08d49e3fe989083869e88a38a8fb2b3044945f121c7e10a5719a93d2b33e080b9ce3e1d783048c6567e2103987d1f842693c41e44d34c130c3371cc2502cda329eb2a46cbeb56d8bd52f804c162\nresult = valid\nsalt = eb5f77214e3b70a7422822986dc397ae75bc953d3759a1ab44eea1f08b789d36\nsize = 8160\n\n# tcId = 58\n# invalid output size\nikm = b237665db1d0652011a5eb49101c4d910b11f7f9\ninfo = 5901d8fb43a50973\nokm = \nresult = invalid\nsalt = 9ad532fb460bf6d4c3eb565dcb84dd0f3c04c5ce962076f1397ca7ca472ae2c2\nsize = 8161\nflags = SizeTooLarge\n\n# tcId = 59\n# output collision for different salts\nikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501\ninfo = 5447e595250d02165aae3e61fa90313e25509a7b\nokm = 234b37551fb454431c62edd79d67da984eea21e86e56093cff9645d7f80b8188\nresult = valid\nsalt = \nsize = 32\nflags = EmptySalt\n\n# tcId = 60\n# output collision for different salts\nikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501\ninfo = 5447e595250d02165aae3e61fa90313", + "e25509a7b\nokm = 234b37551fb454431c62edd79d67da984eea21e86e56093cff9645d7f80b8188\nresult = valid\nsalt = 0000000000000000000000000000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 61\n# a salt longer than the block size of the hash is equivalent to the hash of the\n# salt\nikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501\ninfo = 5447e595250d02165aae3e61fa90313e25509a7b\nokm = d45c3909269f4b5f9de1fb2eeb0593a7cb9175c8835aba37e0ee0c4cb3bd87c4\nresult = valid\nsalt = 1a08959149f4b073bcd902c9bc4ed0324c21c95590773afc77037d610b9584806aeeeda8b5d588d0cd79e7c12211b8e394067516ce12946d61111a52042b539353\nsize = 32\n\n# tcId = 62\n# a salt longer than the block size of the hash is equivalent to the hash of the\n# salt\nikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501\ninfo = 5447e595250d02165aae3e61fa90313e25509a7b\nokm = d45c3909269f4b5f9de1fb2eeb0593a7cb9175c8835aba37e0ee0c4cb3bd87c4\nresult = valid\nsalt = c737d7278df1ec7c0a549ce964abd51c3df1d3584d49e77208cd3f9f5bbfb32e\nsize = 32\n\n# tcId = 63\n# a salt shorter than the block size is padded with zeros.\nikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501\ninfo = 5447e595250d02165aae3e61fa90313e25509a7b\nokm = 5940d282b0f3f91000dd0fd2579db6ac5d86236d5657742fc00e4d9e1757f7c7\nresult = valid\nsalt = af856d5eed5c77f4\nsize = 32\n\n# tcId = 64\n# a salt shorter than the block size is padded with zeros.\nikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501\ninfo = 5447e595250d02165aae3e61fa90313e25509a7b\nokm = 5940d282b0f3f91000dd0fd2579db6ac5d86236d5657742fc00e4d9e1757f7c7\nresult = valid\nsalt = af856d5eed5c77f40000000000000000\nsize = 32\n\n# tcId = 65\n# a salt shorter than the block size is padded with zeros.\nikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501\ninfo = 5447e595250d02165aae3e61fa90313e25509a7b\nokm = 5940d282b0f3f91000dd0fd2579db6ac5d86236d5657742fc00e4d9e1757f7c7\nresult = valid\nsalt = af856d5eed5c77f400000000000000000000000000000000\nsize = 32\n\n# tcId = 66\n# a salt shorter than the block size is padded with zeros.\nikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501\ninfo = 5447e595250d02165aae3e61fa90313e25509a7b\nokm = 5940d282b0f3f91000dd0fd2579db6ac5d86236d5657742fc00e4d9e1757f7c7\nresult = valid\nsalt = af856d5eed5c77f4000000000000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 67\n# a salt shorter than the block size is padded with zeros.\nikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501\ninfo = 5447e595250d02165aae3e61fa90313e25509a7b\nokm = 5940d282b0f3f91000dd0fd2579db6ac5d86236d5657742fc00e4d9e1757f7c7\nresult = valid\nsalt = af856d5eed5c77f40000000000000000000000000000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 68\n# a salt shorter than the block size is padded with zeros.\nikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501\ninfo = 5447e595250d02165aae3e61fa90313e25509a7b\nokm = 5940d282b0f3f91000dd0fd2579db6ac5d86236d5657742fc00e4d9e1757f7c7\nresult = valid\nsalt = af856d5eed5c77f400000000000000000000000000000000000000000000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 69\n# a salt shorter than the block size is padded with zeros.\nikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501\ninfo = 5447e595250d02165aae3e61fa90313e25509a7b\nokm = 5940d282b0f3f91000dd0fd2579db6ac5d86236d5657742fc00e4d9e1757f7c7\nresult = valid\nsalt = af856d5eed5c77f4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nsize = 32\n\n[keySize = 256]\n\n# tcId = 70\nikm = b18e35e63cc4fe4117bf2754ec3f9ebb5346dbb0bf6d4e5f2422418771816fc4\ninfo = \nokm = dffa900130e1d074c51fe2ed2d7764abe94a2adc\nresult = valid\nsalt = \nsize = 20\nflags = EmptySalt\n\n# tcId = 71\nikm = 236c2ba20c72242820f63d3e9c20633162c1cb048a45dea13861e8a138b9640d\ninfo = \nokm = e764a7de3f1a3637f41f102d586b8e98f9e95bbc2db63fdd391ec8141cd326259a533fc4b2c7dc6b4fc9\nresult = valid\nsalt = \nsize = 42\nflags = EmptySalt\n\n# tcId = 72\nikm = f2cba42dd82acb5d2d569406815a3769b7becb13fa48537fa7d7d5e121081d39\ninfo = \nokm = a9ff577bfbbc7e01651d10589f0958f5ec2316d6ad96f9a8c822e4b0af8a707ed5c04839ace033274e5eb748db183d48a2876ba13fc11a3fefc05cbe30b9a18a\nresult = valid\nsalt = \nsize = 64\nflags = EmptySalt\n\n# tcId = 73\nikm = 73d97f2ffde01b447a5b8573190a8eb4f87f7ac04482836143f780ad876bfffe\ninfo = 74d2301c5aca2441372cf6077bd8806dab3e8721\nokm = 7e447411adcc3af485031fa5cb8d624c812b4d84\nresult = valid\nsalt = \nsize = 20\nflags = EmptySalt\n\n# tcId = 74\nikm = 6948521434707e96fa943e44988d1ad409ec57e6594867e8193e9d727238916d\ninfo = 9eaddd1e7edb6b84c96fb5ac7e0d673a8f5084f2\nokm = c746740b67f49da7bb6f5d5e6cb5e23509bece3637f33c45abd96fd8b1da48772baf655f24049af16451\nresult = valid\nsalt = \nsize = 42\nflags = EmptySalt\n\n# tcId = 75\nikm = b72b3854923b8a0048497a86bddef962552c8f6b2c72b2b2006a1820fea5c6a9\ninfo = 113b708f7522ec3b362999db18699bf7871e3b8f\nokm = 6b00010a427093de7e0eed1f22642b2b034b84ebac3b9002229962ef12e53b5baee7ae771a821b385656398739043da5f60d027e1d01e42736a401c853f2e0ca\nresult = valid\nsalt = \nsize = 64\nflags = EmptySalt\n\n# tcId = 76\nikm = 44d774def90685c0e9a685fa50fd434c807d1a57896fa42f91778821fe232057\ninfo = \nokm = 651d20c6a40e23cf2dcb0d929776e64cc04c3466\nresult = valid\nsalt = 0d7d3b47bf8484c8adab7f9c27c9584f\nsize = 20\n\n# tcId = 77\nikm = 098ecd86354496a701ffcac8d589a1217231da3b80ccce4ef85762d7f3a2c211\ninfo = \nokm = bfbcf6c703d8650b8a7d7d0c84f13f635c73e2e8f608adc8964e0ae632bca4d3a70e92e5da871821ee1e\nresult = valid\nsalt = 5232e5e4e2dd6133d46ebe5a8a51a0bc\nsize = 42\n\n# tcId = 78\nikm = 917ad396520e454a571ac39a9f6bc845a8920954fba1ac400cb2988cd8847ba0\ninfo = \nokm = 547e55f20ca5d7eb38596f6b60f9bcada416cb9c987439ad3c772b27b98cd39d954f7ca5d60c05164b7680ea25b101310671a427162e39baf08f8efa5d0569c3\nresult = valid\nsalt = 962d86949506450eaca929286ce5d9e7\nsize = 64\n\n# tcId = 79\nikm = 1cbff2202268edf1985bc91466b80133644988c5e81368cf0995274204fb0aa3\ninfo = 3e4f9c8d3d607c2ed43caa9e87e6ecbc307c6048\nokm = 7ce3df3702e7b7aeebc2c11c9fc0bf28b2b90aad\nresult = valid\nsalt = 2bde6e33534731f52d39add940ff46f6\nsize = 20\n\n# tcId = 80\nikm = d00d6b4fe088077ffbc64127d6bdb9707a0f9061c0b873c334c3be0adaa7c2bd\ninfo = 4266351bad419173279c901aea148e8b1d99e50f\nokm = 84afe4ccca3e7c99c6eb84b33a25e66a604308861622009bc7ca1c52e8ddbbecf10aa92415b003686dd5\nresult = valid\nsalt = 1647a044472179d454b8d2108e4a2aa8\nsize = 42\n\n# tcId = 81\nikm = 9a27c19b607adc8f152faeaeb1282002d3a2166894b7fe5d65829ecdcfaf73b9\ninfo = 36356cdc28187c11cbb9046f9ce7502ab4d2ea46\nokm = 96a4cbf7f84bab262ad8cb024cc2766031957b75fc412aee2f539cedcb66cc2acf7a5481c155ae91d7f6b6c2e8484a8c03a3505f0d2210f3053d43d83bc651bd\nresult = valid\nsalt = 70d83929a6376a6eab859f0d6225f131\nsize = 64\n\n# tcId = 82\nikm = f5d1c855d3448e212d76d3927ec797dc439cb182f427064288452988ab79c83f\ninfo = \nokm = 8d910333d171e6ac3bdbfc703a1eb64e1db04cdc\nresult = valid\nsalt = 87ef5da5400db731d658972ea82b76848004e70d3b22cec76c8be06283c4\nsize = 20\n\n# tcId = 83\nikm = 3f19b7095a6b3d313b59c3ba2c3a78d8b24f30c9ed4f8be9eb92f8eeaabd2c3c\ninfo = \nokm = 7deb232b3eea8f89dfb2527aad8b4e4bf0675cea335d423fe6dd224992aaea61661c886d77034111d8e3\nresult = valid\nsalt = 8f1f6c8e4f68830319ae859b4b1fa71f1d69552b0c3e53cbbad26293651e\nsize = 42\n\n# tcId = 84\nikm = b1d396c69f14994dc8add0f6e0cde4455677ba9ee95ff84a142295f9177ee629\ninfo = \nokm = 192858a93bba3736472d44cfd406f745a19afcf72824f5367fc2f931ed0057b88c06f42aaae31b660720a2db6c6052ed91b3c642a67d04d9621682ce877665a4\nresult = valid\nsalt = 7f693304bff77534b8246d832749387ecc0e8daeae11d77d022ca9e362d1\nsize = 64\n\n# tcId = 85\nikm = 003d1901a10c062ec44e0f2a94c544b7f53b33f1ea4679fa6e023c2d0a907fcd\ninfo = d5d3ef5beb9840d15efe9c778aefe38f1bf7bae3\nokm = 3154e598c6416fccebc1ab5c820fa8498177ad38\nresult = valid\nsalt = ed86cb8c8ba1c989f9a60a4a82c38be98c70e6218576b292c93fcc18192e\nsize = 20\n\n# tcId = 86\nikm = 02e0647a4b7ccfc0d3ee7ddfe24ce69c02f51cbaa836b96cbc5a9c2885c45599\ninfo = 4e9e27d971e76fda614fde15031f6664b97d4786\nokm = 693bccb2426f36134c61fe44d8f77801dc55489cfaea660f0c91093a82cfe16844a7f60e416edb0fc5d1\nresult = valid\nsalt = f0862f61f2377ca34b76476ae21e331b114c7712aef501a1bf00f7e9cb79\nsize = 42\n\n# tcId = 87\nikm = 92bfb7e31e839f109e6622b2c2c4f41ce84c9907172681920e7d90e80e2339bf\ninfo = ff36776fc755722ff371f21cfb37a168a2731e99\nokm = 325bcbf88f99f347fd2a565814d435a295ad73ec203b951e56c11055c62b989bd8138f3d0268672b8b1a1b7ef00578b5d30bac41848383f4e5392b7276121d0a\nresult = valid\nsalt = ce869619607f71fde53ef", + "55e18d01d20002e3f91a8b7584190fc6667b8d2\nsize = 64\n\n# tcId = 88\nikm = 17632581c34ab743992cd99318889b32f92812bd37f41636b5fbbf2b12190c6f\ninfo = \nokm = 696d76e5811d7808a8d1ab3f88c699685e04f12ebcb7eff276bcadbc9492fd163618f01ef9c92e597d57\nresult = valid\nsalt = 55e39431c83648867ac98eb7ecbbc8b41c5a5e774646b926a9b49c511915b0de1241f8666da198f6ba4bf7e9025e434b6d7ef794e7a563309303055fe3bbe769\nsize = 42\n\n# tcId = 89\nikm = 045b4d451bc30c39afe0932f6cd62e65b4b2ae2cf1160f19e8ba1323f7ca146c\ninfo = 613e353162c6c1b12fb1477fbc54074ff7848a14\nokm = 46f80edfd0107fa0ee7679870d8053efdc002b34a631ef9e80c4ff71f26f1adf67ad86e5e010e03e71cb\nresult = valid\nsalt = b73682dda0fad41095070b2b26f2d7d98ac62202d918258ca9aca0f794ef5e4d23b3fc43c8cabf9fcb37ad9a62337fbce967fe24054c3bf891195858e53997f4\nsize = 42\n\n# tcId = 90\nikm = 82efaeb5675daa97466cc61626f3979943f3fdbd115488655cf7d10f278b4777\ninfo = 2ef76656956e76c6\nokm = 7c46dbc4ff032e1f51eff7e5b42f7964c0033d2eb1fb9792c9a2e881abf28cf3\nresult = valid\nsalt = f0950b72da1658417656aaff8300de0ba25c294cc37c8cbb5d21500db5329655\nsize = 32\n\n# tcId = 91\nikm = 29f4a06c406716a2d0977bec7da2b1744558bf9cddab315d9a335664e0b3e7fe\ninfo = 5faad6499cb41564\nokm = 7cf6836ad2510c69ef9fe46956aa21646c59debe68aa2275245406fc317ff9aaef1ee4ade1c393070136c96eca5f84ade585215f4ec4d6db\nresult = valid\nsalt = 76ce4f337e3cfd2e2f6b285a658bb91e036f9dd2e18cf29c46765e62ffa37b29\nsize = 56\n\n# tcId = 92\nikm = 2b1cce4f551d59327f13e0eb78fe51ed5e74d1c5bce2d500d832b4b880c041dd\ninfo = ebd644650e75a774\nokm = 7710f9f762a96aceaa5096058e1fb32d62803c1f7fd3f63495bf7773ef16956f3000c53616bd5bd12a5b28df53ae7ba7c36267e2970bbcf3c4b1476928f44c0906b6ab204a746f069cc9f065e038143b842a9e69208a37e740e808c043ddaa663e52a1357617eededfdcbefdd7d5b2c5c0b208f981da0a588b10413fae9ee7f8\nresult = valid\nsalt = 7b9ab6287dea796394ab0b7d260476d02f86e02266bc9711f8ba4861ab69ac8d\nsize = 128\n\n# tcId = 93\n# maximal output size\nikm = bdd9c30b5fab7f22d859db774779b41cc124daf3ce872f6e80951c0edd8f8214\ninfo = e6483e923d37e4ba\nokm = 5fd99b6a94d1fd2fe8e1f0b9a7b32b6be4b9dc967b78b9d7a221321154c12ce014581e7660649e582377272bd13cbac2c9ae66625b613ed01f3408a560a213e8b6d364bef03ecef71cf58598dcf218e461fefd6d12db5cf2bb196b79082c5ddcb5dc7a83217fbf93c4d89dc803af71c7bd1b91ed9eed4e9515032445d83fa9698433dbc2c357a587df8d1ee4230e1519234992759bcc2b5261fa109141eed97c090806929af8a26d949f505c5f6d0a7c9f5c85e687d947691fc63c44215afdf0223b3813da09b2683e19b8625403eff8e28bd5de09a250e900d9fa8d74dd43904cc21304e708df0fbc6c42f35ad2f1223326ea921d92b03d56208cad1477249e0c9d741327dd264b1fae6f2869da8cb3f4ea0385d7ff27afd49155d2d4099c8f2afc5a93da83b8d2f8fa9668c2dbc66cb84376edc38674b7cd0285c1cff8db4d9b339973055c74bbbc8070591da6b86f5819eaa774124ec203f8e16ed9f9b03207c21769be4b989c0990eb5fc8a25a48b9a906c72f22c5b9d1fe3bbc77d0f276ed3de40bf3699cdc9cc00c5289c8fe1071703d9282d751e0d57d1d68b427a642d73a31b57d9cf321d5faf612223824a58422cbecb9d5f5497758f6c84799649a06cd59d6bdf786ef28fa0fc4d27c33fab33aa9118403286e0f0f5bb01db77e3683dd2765639d5f67b39e3178be9adcadcb336f25ab81701382c8cd9a1faa79d89817060bc3972e5279b3e04d01ace7be1ae79904091f2127945e853eedac23f6eb2ce61aba8e4f789ecc82c6ff846c289de412e0f393de8f1de0ee2024a3acd432f8806122c98be4bc2cc54ddcc80453880ac122a5b37c24a2daac608436a148f83a59f8bf8d9cf40a61ae1e03f8985ce181aa16c6dde9f23f1847ef8c142db603abf27902796140b776b3a98157e449cece81755ad3e0f963cc655b06e4f732a0c4cb8b5902d79d534738662b7f484a2ed9d328b7cc8c22ed5f29bdd13c1a655ed39f0d01b91d5d1b57c0b9368caa362792ba43a6fe58d37af166fda6f440539676fda63b1f42cea3e621bdb8e6f2909d06a38a59e9928f1bb8b0014b43eedd178a14cf070822f4db83491a42a2a07da28e728a998c4386a36f4b4b78f3b66a4716e059b636074f26a9b4535d3009ada020cb04adcdf03b798255896338b16331931b3a803c1472435ede2539d15068f6a06faa16d007ae0660105f3f6a0533792889a13c43fe7cd1ad269e188ffc3eb7dda490848239bfaba8720d85cc8189d48e3be227fd95dfb75bf6ef60bb56dc61ab0bd11bd7e82a6290a249ad7aedb9d0a5d4e5f24fde436b863602285c4825f53ffa99763aef3fc2de5c09d3daa37c5a81b42444676c48d39bfb710921a9e3fbe0cebc110c02952f3dd870fad0c61abaa40b90756e86496de4ceaff9e4123d3e561d62484a7e4f4acbf104ca2c1c4158c9f5e19661c89264d084e5e0b1e505fd83a644ae6b61be6ba04ccd79f42045e2c9254c422aa9a95ae632bd0d2f004e6d7406e83f86a37bd59ed571d0c2ff5c27a7fe97cbe922e0632c93bb7f59f3ff2773774038fda7a617aeb3fbb3ed3732f2b3119333ca100b0a43a0be9cc8e22e699f3e5465edf697d7fd209516002feadcd5a2fc5c3120ec1eba7267c25b12e47493425a257574e6815d0a82d75182b8793eb2f5ef11802ed8cc548d3d465cb54b2e393a840fbbce3d52d404706b441bac12eb462048e3da796c31effc64e3ec372edff1ca546fca3446504e05f5ff9116ab6e0d511a768f70dfb4ab612f12a94714baa0d9df0360d4398d2a7f706a6237d11cb8c36ddf06082008fe1518c694ffb291fd17b8fa7aec004c0696b7ebda028f428fb1130b554590d9d3c0ac15d596ff2ed065e0e812b1e6056862207ab2fb6651009c4a724a41c31d060342fa54ea30390596295e7861d52b9eaf4c7c1c4bef5b1f2606696c570068d8a8f9b6395576071bab35d6749d042370a4042c8a1d044c8e9db39fdc475e3294d2f3faa5c8cd6b833f432ad966f044e4a6e76e4ea985caafca2f2f8828919092fb5f4b7ec5021c1835b60a04f746c73018f01c0cf72a8004076f2fbec0e6f5572241b0141684544998b085e931402282895c027eae0819719a14c42984f46712a954343c4739e817460a1d79e06e8653060de7e1eb34b2a05ebb80750e42cc77060635aefd549cbbaefc55820da18ef2a784a7d8d87104517447085b59e8f2b97a9e6deac97d759fd363cfffc4c4c3b63af30e6958dc27bf46c786a7211dc74cb6405d374c24fc02362a283d822cde59dc72dc0a2deb07d7bc702c49459d142adcdf364103b45eff74c682fb47c7cb34a00ec01de18687c48675494ebef1f09a0a05d5597be15be76faffcb321e0d6984e4a449c92078a9b32ded0cc61bc80bf2b3f06f9b3379f438b022960ce4cc570644db11c1b9833a0f054b6311e155c17ecb0ee8cf73d4e8a762a10ec9e98d7057dd4f00d0970cdc8b6f489118fa3b18d98d506179206b1c4c43910fd81e8df00c1a5e38cfe04c0c5128eedab41f33a238693a42dc02ffa7313cbb79919b482c03659001c5aa36ac96482e882e2963bd33ce69dc0f7a5b82daab911ed9585cfc5a1880667adc0a37a090392b760d9077711ee77d06a7c9f9c68089f1477a4996c32c6f6370c57740605725b46c0faf7ca759004fe19a2ba7829b21e413dc609d039235b97fb5bd4bd6634da0b2ce67946d2047920c7c11279ba0c0ab4fddeb12a53bebe7b5f9c9b02ce66c0c7f691fbcb19914479ef3dea2285a6f0c78e8c81816c35b00109b5f4a6c71909a617ea4d73e4d9311257b828c65019db542b31a72986194b233476cf107cea9779788837f06cdaf9cdeec5e8df4e20af6fd8308d2bf848bfa742ed71ea6edad4b4595ce051abde0d456ff3adf51663d7b7bf291c2f25fb4c0def031d59d48eb365314e1c46d60fb326b136b51cecc05770fcd8fd4d2c7de05ad33be61daa48b96740710fcbf264a5b5a9bd4adef533bd32b1b7a9069ba30c0dec693337d0904019acb1e56858112052955dccf36951eb8ddb50b3e1c37d429c2ebeeda10a0f4c08ff73f7c4147ecf325334ad1e7b85bbccabe7f5cfc225f083cb2615af44d5621449c949d7cb15f23665c7f575ec0adf5718b72eb94e91dd3efee019b255ac09f69bc581adfca4c81432ff189e88da22a4393abc531af4d59344b55df8b81fe7e8f165cb584b120353fb96b6dd2f05e39ee71c859260b4047ca143da050541201355723b8a7a799602e3d67c24cc67629a03876dcf59e9b279cc7ed6503898d6a29eb7051936b5ceefe5a3aa95d31cde6814d7dbbce5cc738f6d04611e8326bf297605107be86e47892fc834cdbb7bc6f45306cb1cb4a9d9f8ee173e8b2af810f827f568e0c43d0c31d782b09a971b414e0ff003cabd04a3e05a596dbbf51de01bccc17ab7b14c4cfc10813cacac54c15e0b1835baf04319463e0198dda56e225016530f35f88cd29a2b5d4dd22b76471fa781a4ac92cca161e2b0b4c41573c638119125722195be871dab7db109b5e66e79bca5306b255b58d3589b3e08bdbf48ec6c4cb5f80163ee84eb55fb17aafe437ea8baccc91a40d078a213f2480752097110aaae940e9edcb1a5db2bd4819286160651ada8665381be49419e01be43ba9c26b0b46fa5d3149ca2b9ba01a15b46612f1a61b3a3769dad50f2e8b05d94fb6cf58790ec3dc0238a7ed6bb2988a7f8e56eba7b228db66d4defab147cf254051852c70f7019bf0dd7e3aad7e49e5bd73f7f6b0dda03476126b0403da7d1b1328921362011a9326b022913fa7b054aef78fb95d3f979aae8f1e1198f105b84a3c097cb77a6cf85958eacf940d274284f4681ff0bcd3a37df5e6fead6c252e3a3af01b730b7cfa90fbcc1e0e1d9af39b4824203c0f4e247c9d393d1ad045f7578972d1b2e4bb970b2545d773e46e2dfdebbc0193372cbb35fb3c9799a49e2bbb196c78321ab28b1e29b4e1f3ac263ca0f3854c4f28314d7dc5ae5c3b47e8fdf8ca74313eabe774acd8feb84583216d53c50d7ebc507f0bccbaf713395c6641021c46aa188be18a3a10c81bbd37f273ce93978ad300ed9691ebb52784f7a0208d34c1eaa2a32a56ff863272f7620576d6a3bf593b87344bfb2a36f1526733cb657ddf0d71881035e3d15f722c69cadf7a3c3f690bae474cd619bca8adc4917322db1130ed4ecd0eeb986f2532760ccb0050dc993e88ba425ed35220cbb7de97b7491c511f244aa243301ab24a72d8dfd6de27ddc5bae277b818cecd1066d0929a11ef1527cd9cace1c598a709aa8ee160f062b1cba0e05f2aa0a9fb5496283465d036fa736bb7e162b693733409da5b2245314926a965f4599d", + "8e3197751cfc33c0d47e2f32a53440109bc257e171bcdcc2cd92adc8f63eeaab0a9d8111a752d37998ac37e47b1b73abe52036c418b039ca2d7214b010104dcc31ecda77670e49ce591e8c422a87243e7529d1a214a84720328811bba534b64a4a893169322d03b2bff9fdaa6df1ac474bb7ff285f3652d171a460cdde44706e757ee9b9e5957d3503734df518dfa30792b6d916877c61a96bba4f104b409f6e6c378dd331fdf6ad124b2b83b885838cc8ee3092b6b30e752058e821a66b217ccbf651dfc504450e71ec6586e5f17d68e7114a1caa8da5360a5aeee9de512ef24aedfb9b48ca3d218f2800aa0c2b8e9e7cddc99a7efda35d71f11916be2cffcf12be9dca9644a856fc64cccc93940d2ecca09b2ec74af5279a3b33eed028ca439e2aa7ea02d043aaf3bf6f13511ca11162951fb9a638de1bd4925d430a63a02da095bd1439f121de1c619627edef0d652c08e4240509f99a715c51e30c6a95c08705355a64d79df580e24700283bb31692b1d1d558187d13dbf61174585915f5da61f22792572de06a64be18270608e0f4723612ca55d295d99a12751d85a54c153713d8bd3cdd0ec92f5ac910b8d27124192cb6d61479461fac6b4b6f0bff38a67c131e3a01c2eaeb6e88673a2b7d45ae3275a19e4a127a672cd91e5497a55ae90178d8130862a223a4b20b3ef51dcf658d63d26514a22107a18051f7f70a3aa1bc69cd60de295b3ac351552b909605a48a983f6ebcfaa1bc13f75db0f92ac8ee4af89daf8cedbc64cb880ef0f2b4679935f0d1cc60a60c5024a7c16ad27ca9fc21c889387977ea6b497d7c3d5e5c45d1ece8c19cca96c4193a19b36b829334385dfab2bac6158f47eefbeec3b171069f516d0fe68fbabde4009d09735fede9298d59d70791ce0572a48283a0549165f9937f165b91003dbacbedf6341b97115710021c1c32263d0edff55d10410628ff4cb5ce3b010951cc6b16d2756eb14ade18005944f0787c1d3860b750ee1e90d1d7a7bafab9d45e29260e0f228869fb353bdf071ac6fcdc0b87071b20d131cdc8305c5a91352d9ffb376e86cd72ce5973713f1e0a2d2079b133ca8a27ca6594c4631900da68dc067dac381dc16ab4da1cdb1c494f295cdd83adc791644fc6ea04915cbe120bc4f2c0e0a93d81c9cf1ca9c302497068c854d2b26d2d39b08c80efc43ec29f268a21a1c3afe2582e5741d7e7a1f364f0fc1e6a760caf6dbdea461b273b34a501dcb7e323f5f3467949692e2548dd60781e8c98262592f73e158d58d579d7859173bd25624e18c310ea8b2dcc5eabb1581b59131c877b663e55532cfa079fd08b4ebf4e9227152d69677d6e7152cde685feaff986167d5331fe5f8d2b509abaec8d2a8771e310c5aa188daca39170f42002ad8dcffd74477ce628c5d157e6e2323c3d2e768749a4194d41a9f6a204663b9efdde8b65d9739812513374659c5ba2ecb72b29a874c814e9ac1e71c005fbbe2b9bd73b00918118a8d6cccbaf2facb4cfab078aef373fa61a7aba5bed3e4b902f2ac9e5a41672c0b8aa024eae9a3e0c9b2365e2f5d8f4b94aa80425db5e16a414499f27eb4e8103cc1da41f2f25579246e0c32d8bc09f36f1f0591ff8a7acc32b2b16dc36ae4c8eb35ccd330eb9dba0abd1646b685f90cc6564ebfd51b0541050ea10e920051c2c2d720747a0ecc8c59bfead9ed542ffe1ff84c8755a2174e6292077e1bb452d199c75fc65218701a3d65a5acdd252a83df1c39745789cd35b05b041206b6e7e7b8ca46671aace80601dfbb50a9b88d636b6c8bc8318e3fd1015f6aa06a59982104ed7d08065a7d99c52f5e03ee16e0e58ca717a899fc1d329aab6ef3f5c442cabea9c20e61e7518c637a975bfc55f5957700b16e2ee0abaae3ea3a10198d7cb7cfde8d74588c9416896a477945712ba256d458b7a076f7f5750588afffc44f53ff99f77060c6dadf5cd921661f72050af110bed15d92a9853c5190d1cfa0cfbd5d73209f00b9257f9fdfc960b338642b7007b7b449bc9858391a4e090402f4b26b818f4f0e759aa583fccb0a54f1707cc222071e8b571ad78a68a1e37601ae655666a955bc5385084830ed2bff7d48af88ef15c08a59f163670a6d908dbdc464075134ee28a8b91a82a711b0ec8eed5ae747b023f0323ad5db9c1c8e7cd1436260754363f3910a94e240becec54980cd3ae6cf82f7e0d642f91045f722bc1f62866ccda4069718c2ab6f831b9b17e87ab967f58fb50ad011c541b2ece0971eda5bfa563c9d3be13cbb3c9c00b9e0297159049ab1f798fae5d555f1b76dedee3eb174955aa76b960815a9f9d9039c45e23f0b855d1c936adbc44cf79217332bde34937e523c797355f95e1ed5ca1e7ec55df924a92abd8ea4beed019aee23d4c31dc78870c90371d02f8c499bf94d6ebc8dca987a294c705f455637ca13f486d6bdd2cc4f6c6e41576ac70479f63eb74f10bb0ed3e82e26d92399046c5fa2b77720415b25c0d86ebb435d5faa4a53aa7103d035e050aec235e848c1d30ef28f49bc12badf7e1f1e9928614e373ad0f462991f0f2cfe39b7fb10d44d6abd53c506e7b2e728ae537ea2a126dfdb3466e373fd773deacc438d55b06f78b4abd8aab4ab2b694ef7422c177cc358ee977afef5b5d50717d4856c4839e747cf106cf1af079c33e8d946cd20a240fb94efe18f0ac7b1c9ab8be58e891976b7e7693cfb0592901bb56da2918b55da38a3615207720972a028266398ef451666fabe85d79b154c0e8157057847d93c7cd14d9fd2173b0f6b57fd7aaf2fee3eb98f059c7539557679090b842186357e19fabb891957788e34264ae867a83f5c5a1d79cadca44dee4ed6797611e9731da5a98b5b43f6a48a67431fb5b1f28e5edffe36a188cb696b0861194bb809b0f8687d790d0a5ada98ab06f6c1aeed04bc1beb0dbcceeece2e0ff3dcb54615206ec070cd109dd6eb5b4a84eccab44ab4712429eb91c5bd2b22f04ea140c252db8f65c42fcb09ceebb9e1de961a8d9ce1e536a5e040f9999ebf9bd8b38cb3562fa9b52ce8e27877303d542896526d5638f8fce8b69dc0ad08e9b1edbb404d24ba86bc37297a5dc0608557f9c520007078480adff54f8a6f36cba5441d7261f1985ad48d0d12b9172e1a1bd463d102134527099ce0c919d427dc53478fa6d6276e438cf83abc94414a5f73da8cdd206613833c836edf4a5d2dbbc7689a8c1abb9cdef52944d31a65d61f5d5a780db652e55ca89dca7d67b7e920c08e95d7d0252d008194b5392c948e4c00da29c0ab2d6a8d8e71fafb5c25e006a5c60ca27179312c7254e5eb82a9797b50169b21306cadc75a96b51c76f0685ee77b13d1d05985c1fcb8dcdb131f5292b79e076f101228173700800e8cb992e2fb3f06565ea245320b1abcf4461e40e6d01708758aad1c790f7859c47d85ad07ba8e693a056907ef24c37e7b2ed52ae5a36552043dc4cb67139b5bac5cb42d2641dbaa76d16aa1471305d677eca15b2ab5a0c54ac4686afc42e541c2ca6c82b8f2a0e4ca0b84d70822d3c86c3c8344f11cac9a1d9a846dfdd55d3789fc1b48c4382d02eb6d9c1b56d7ab915e10907383770457c13ac1ed8cb37b382043b00b921dad98b35ae0f62664b612032752a11902b4abb2b57f403a8417d58467eb35566fee7508e4efeba70f10fe8eea45aed2c3ed7d1c4124d491a4a609267bbeef11f79dfd8fa009b0053cf07750264a44771d94fd7f59477ba8cc35e98dd58e3b32564449b5477abdc1626352124323a28db2340a3813fed4291d6e1ce3d247cbed072c92b0c02214673a5332cf8df8f533a1d042e63b087c0c6666082a6688bdaf355c28592e933ca0d22b271e3973f8c3e19a73eb247041f0c4888ce1933e64b9353b8991e8e6dcc4bb680a4cda36eadb8684ed368247c079e3ad3c9eca7bf36af7f45ef899345b8fb087d7b9e0d74169b9fa5a25cb01512479c6deddaceca52e56682cc4cdbe1228de2e2fd4e2d960c39dbeadf0a170dfee63c326b4a1ecad2229c8244920331aca9b2aee0e2f8734f8b33044eaf313adc11332a2c9665d11021ed9807b8cb25fd533f36e9aaa71a725de7b51b60d00f1ef156027d7170d3a3ac9f05d7ff28c985322ec94758a93ae09c916f114bced7fbf18f8a87e1e7e0d38a45609c78c3c7f4215de6319be36f4900c2a6a333b680be8997b2e5ebef0dc61c45085ac0e7194070f17d1982ae77ea146fca09f02f4fe51ebc3dee456bac5103a7e9d92c6c3c33fa401e64fd35e4ec598c61a9a3a509383cc8bf206ff3686e16a62e603ced7512249b8d0bdbfc8c8e17610e04313ef99787bb305d7eafaf61c3f4bbd655fece58867d68a49aa0569e1d4c267cf30af3096b9c6974a1e14b88ea41d390540c7b9dbf5f796d23d4fa78493eab7f2d8f9004f7ffdea1545a49e54802468d30bce39995d712645aeddbecbb0cfebff195ab658fe05c04a31c6254858af5d8e57f4098e638f1faf3361d851bc7d19e72d8347c3fd27a16fcb329bbf9130af7120e6b8551fb82466f6a75562c50199017ca29fab28b0a38c1a3787a1b66d5edc9d7937ddc8205a210b5a339170bba3fd387e776fbe0f0dc1f05a339c0ffc8ea6f5ec60a7b8d51154103939fbb09496c79e6a62acfa592654be3067ce0fb5faf4499a7bfbe01f0aada0c03f8bb84de45f09e5a4b54bc6edc14588b705688fef1d0188c8726e69ce8c6cf22b576e96810c586601feed56c7926f4fab1cf71802fd25f8ec4ec5b27a5e163ea7a9562efcdb31cf49d310e073287941335babe8d8b1df469e47ae1dd068fa820453db30c3cfc4f6d5857235bb0951ab5e2efacadaa5381184d0a03eaf9be1bb86f8c7a15f078f0be01ac7adb3b1c455e76d1dd3767592ea6cb12986c48aaa4c20a00c8d11bfa44606f5d8475cc6dab844940f88831955d3686e3d0a659abe6482d560aa2c721525e66baa84ebe53aece8e36252b8d2458b955f55eb3706047683130aee910ff235fe48d2e44c868afaa3fc4641948d5dfbecf3ad74f7acc4457207f7e292ff1355af9fa109c498e2613f13071b229a4ebdc69caf29872b6c98cbd17b60fc797214bad78c987451e46418735bed33551e997e6bc8093941ae3d4a6d6a01c786f689e121e02827fc0303852bdf72f44330ca69ce6cc498cdb68823de53768741dea09be1bd98cceeb7f89cf473ccef1f3e672d32188cc599f37ce5255edc6148e7e2e3428d74f112916709609911f6b7f3569c50b9ae727f3365e1f14238184e9c67d2149c2ac408c6f7d7eae8b3fa763706dbaf0271402d92c639810f59698dc9117ad42e1c19701c1d32f069875838b2d83e5a8c8a064ec82dcd1ed3526e01bc511c41fc09d53856dab28f60107769eb259658d84c50e6739edef6f4df380a74c17db01dd0ac1f5465b3eefcd046a1e52bb54c98e52a22af4497c5b59d667b54d7f11969a547555d573df24946d51887f45fce145982b4f2632007f25f280dd87aec910932fba1f742218895412136ef7041f3d00e88efd80260597434a0fef735d07a3f57939821f13dec8de69fc4bb98f5ea8317ff7f89bf7af215c7875142e6c894c596a24acbb703fd5a4705d37ead919326ad55d19775b5765a7cd60314cb453a96bd8c64f51f19f9144f3f88072260d1a27d758fa670d63cca7b5d1ac750b591f0227fbc250f139e663f42b0e8318ee709f3e2e04015ed16918c57bf108f7a8fa0901c99161734db72e530c4e2f41860b0fd703913b4e1993", + "a0fe32e26c2b93fd195aada3b88ae1bb5f40ec7e07bd6bfe95fa1e3cb060a3dab1ca52d87fc955956a25543af410888972e7984eaf94e80faa1b254569c95b0d52badeefd14e4cc14c42ae12adaac72c9eea48cff90ec96d85b37e0225ff9bc82cfea6499ec29d56a61bec24284e885e0021163b14649a050de5a90b5b941aa0ec0891e7d7052d045ef1ca93c47921019b3140b075eb6d99ff5c327f964b5ccb4d3fd4e9985606fa1f2850d1fa5fb1e902049c015d13b128f322fa47ba2552fdc2cabddcc3161b34ae0541945429d7607627b45bd7a808997dc1d5fff59ff3962a300da1dd37296d1cb39425e5fabae502da8d740bdea15101e63b97d896229910241dc438b0937b66a0df0730a966a00df510a54ddf1fbec550093591f891b2cb17934f0380094e096d0448c91bc7d28a5719ec9a8a2f6df5b593a15597a7fc6989eacbb343c928d7fc5e9051299b02b42db3cf3723e92250bb84fda24f61bd5a86e2696f5aa07dd1108fd5862ea54ea307f5a54e7a192f9ed2b214ef65924eed31e07dc3b7ba9a4195b53d446104060f29b26acbd1e36ffae1c0f96d2310ecc1d9ca125f3dc682678a47993bedb9cd91133740d17eca07bc0eb3d8ba18a3eb52f3d6779298045766f33f813212e766f76e48a4b0416b5ee646969659b490da413df61fc3d961b87793676a877123ae7038b3d10fda9fdb2a990097262004b63ae4d992270d53ceb9572f87655f0dc91b78bb4a8ba6047a16ec25fab31c06ac7a2dca432d4b7ae82b1acfa3ee0910af0f7717ea57f98d3330bbbfd0ce475815e85340be8f3d1d713b0d7c437cd5a04c5e511c6d55314d61274e8354c37b8c54b3cc613e9bc97ce393fb2f55873105ba127fca0716bdd399905948fe42b76e7ce9a3f6e91abeb51c346952241edd6edb9c6873f8ed5ac470ec6f69e75d42b88a643b9e10c7515b93cd66cf65a636f5f6157001c4082d53c5876ace30248dd982f035e6c4122a7a5d9d299c7774e55449af162b7a7a33394742817ffd6c4b5aad1e62c7319c1e6724d6fd0c8c2cecbacd2a7eefe17c1cb0b87945f3a19a3cda8cad0935fe7cf6211bd71b54463ce9e5a9616a5ec60bc5c85060ec0a6e63d0c5750d2bd36f6042db66accf596724bbff5d200e3286ca26b744aaad6288cde5540c8d2e99e6b682d19baf0bd70582c572d0271f259b6260ceb5bb831207992c5b20c8bd37067e48062c309236bc08cae43ccb0fe28dd0e1d05a910c5bdf7e255e056b06cf36d9e384e76c8cc42827083a300be06d63e2f17dc39415597fa647c502fe45cdecea40cdf6a5a133ebc8beb2303bd6a628f6c796d71ba2a5aaa4f0105\nresult = valid\nsalt = 90983ed74912c6173d0f7cf8164b525361b89bda04d085341a057bde9083b5af\nsize = 8160\n\n# tcId = 94\n# invalid output size\nikm = 2b1017f28a19841832f576bfb3108db78a1e6f2009d49d25aade75d403ded34f\ninfo = e4978d1c18687176\nokm = \nresult = invalid\nsalt = 41535a35ec11384df15a0a24a65f067591b446ac4514f7d981724db4900a6106\nsize = 8161\nflags = SizeTooLarge\n\n# tcId = 95\n# output collision for different salts\nikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d\ninfo = 1301b63168af5451377717f7f5ed52de36a197ff\nokm = 2d0d642aea95ee9892fb87ac392b06aeaead1735c3468fff85c4d65fa62d4a06\nresult = valid\nsalt = \nsize = 32\nflags = EmptySalt\n\n# tcId = 96\n# output collision for different salts\nikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d\ninfo = 1301b63168af5451377717f7f5ed52de36a197ff\nokm = 2d0d642aea95ee9892fb87ac392b06aeaead1735c3468fff85c4d65fa62d4a06\nresult = valid\nsalt = 0000000000000000000000000000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 97\n# a salt longer than the block size of the hash is equivalent to the hash of the\n# salt\nikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d\ninfo = 1301b63168af5451377717f7f5ed52de36a197ff\nokm = 99dfa94cc0a5e1c313ffc5b3e664149bfe9c85afa7f4d8cff61b7b4fe4b9515a\nresult = valid\nsalt = 0102c651e047fed9c217bcf915520532d44999534c1e7e7c87311093d7a3681aff3e2d335b3c6139b9fc66dcfe35573b36a329a550c4cd20bfe2a90dfea50167ff\nsize = 32\n\n# tcId = 98\n# a salt longer than the block size of the hash is equivalent to the hash of the\n# salt\nikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d\ninfo = 1301b63168af5451377717f7f5ed52de36a197ff\nokm = 99dfa94cc0a5e1c313ffc5b3e664149bfe9c85afa7f4d8cff61b7b4fe4b9515a\nresult = valid\nsalt = 4031634ed8a9a6152058b921eee93908e7277f79263e73976967278317c2b885\nsize = 32\n\n# tcId = 99\n# a salt shorter than the block size is padded with zeros.\nikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d\ninfo = 1301b63168af5451377717f7f5ed52de36a197ff\nokm = 64f72009dd00e4ca7a63f4b9f92dddf6dd074b5cb3e0fa753d47748dc42f0824\nresult = valid\nsalt = cd920e8dbf19ed66\nsize = 32\n\n# tcId = 100\n# a salt shorter than the block size is padded with zeros.\nikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d\ninfo = 1301b63168af5451377717f7f5ed52de36a197ff\nokm = 64f72009dd00e4ca7a63f4b9f92dddf6dd074b5cb3e0fa753d47748dc42f0824\nresult = valid\nsalt = cd920e8dbf19ed660000000000000000\nsize = 32\n\n# tcId = 101\n# a salt shorter than the block size is padded with zeros.\nikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d\ninfo = 1301b63168af5451377717f7f5ed52de36a197ff\nokm = 64f72009dd00e4ca7a63f4b9f92dddf6dd074b5cb3e0fa753d47748dc42f0824\nresult = valid\nsalt = cd920e8dbf19ed6600000000000000000000000000000000\nsize = 32\n\n# tcId = 102\n# a salt shorter than the block size is padded with zeros.\nikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d\ninfo = 1301b63168af5451377717f7f5ed52de36a197ff\nokm = 64f72009dd00e4ca7a63f4b9f92dddf6dd074b5cb3e0fa753d47748dc42f0824\nresult = valid\nsalt = cd920e8dbf19ed66000000000000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 103\n# a salt shorter than the block size is padded with zeros.\nikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d\ninfo = 1301b63168af5451377717f7f5ed52de36a197ff\nokm = 64f72009dd00e4ca7a63f4b9f92dddf6dd074b5cb3e0fa753d47748dc42f0824\nresult = valid\nsalt = cd920e8dbf19ed660000000000000000000000000000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 104\n# a salt shorter than the block size is padded with zeros.\nikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d\ninfo = 1301b63168af5451377717f7f5ed52de36a197ff\nokm = 64f72009dd00e4ca7a63f4b9f92dddf6dd074b5cb3e0fa753d47748dc42f0824\nresult = valid\nsalt = cd920e8dbf19ed6600000000000000000000000000000000000000000000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 105\n# a salt shorter than the block size is padded with zeros.\nikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d\ninfo = 1301b63168af5451377717f7f5ed52de36a197ff\nokm = 64f72009dd00e4ca7a63f4b9f92dddf6dd074b5cb3e0fa753d47748dc42f0824\nresult = valid\nsalt = cd920e8dbf19ed66000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nsize = 32\n\n", }; -static const size_t kLen77 = 32019; +static const size_t kLen110 = 104065; -static const char *kData77[] = { - "# Imported from Wycheproof's rsa_pss_2048_sha1_mgf1_20_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSASSA-PSS\n# Generator version: 0.4.12\n\n[e = 10001]\n[keyAsn = 3082010a0282010100af3897c38ca932c661de8cd18315dcbd8582e98f9f9a21d8cd822d4d1bf1ff1d1bb98dc0ac25c4c268d82ec61dbf32dac496eab4622be114a9309634cc85c16036088026da96abd350152e549552500d6ab9341f6b695c0d4d160f6d50fe97519b44cd74edd65bce876db5da9adeb87a7cba1c5c02f0d0fba690b4ca855024dceee68d04f48679d5c63ec87fd65e1e42604d32f0453db7e83a1bf4dbb8230308bf7c0e36013d555429c6650d7bf576b37b25f420798b22842340e370702fd1cc0fce98a407fff326017dd985f8c64bb6686aa274b664ca44e40de1cbbbf79ad760693c256f820d0dbdfcaaa440b0e69899b7b9bb2911082ba957c4b188e6d6db0203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100af3897c38ca932c661de8cd18315dcbd8582e98f9f9a21d8cd822d4d1bf1ff1d1bb98dc0ac25c4c268d82ec61dbf32dac496eab4622be114a9309634cc85c16036088026da96abd350152e549552500d6ab9341f6b695c0d4d160f6d50fe97519b44cd74edd65bce876db5da9adeb87a7cba1c5c02f0d0fba690b4ca855024dceee68d04f48679d5c63ec87fd65e1e42604d32f0453db7e83a1bf4dbb8230308bf7c0e36013d555429c6650d7bf576b37b25f420798b22842340e370702fd1cc0fce98a407fff326017dd985f8c64bb6686aa274b664ca44e40de1cbbbf79ad760693c256f820d0dbdfcaaa440b0e69899b7b9bb2911082ba957c4b188e6d6db0203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 0af3897c38ca932c661de8cd18315dcbd8582e98f9f9a21d8cd822d4d1bf1ff1d1bb98dc0ac25c4c268d82ec61dbf32dac496eab4622be114a9309634cc85c16036088026da96abd350152e549552500d6ab9341f6b695c0d4d160f6d50fe97519b44cd74edd65bce876db5da9adeb87a7cba1c5c02f0d0fba690b4ca855024dceee68d04f48679d5c63ec87fd65e1e42604d32f0453db7e83a1bf4dbb8230308bf7c0e36013d555429c6650d7bf576b37b25f420798b22842340e370702fd1cc0fce98a407fff326017dd985f8c64bb6686aa274b664ca44e40de1cbbbf79ad760693c256f820d0dbdfcaaa440b0e69899b7b9bb2911082ba957c4b188e6d6db]\n[sLen = 20]\n[sha = SHA-1]\n\n# tcId = 1\nmsg = \nresult = acceptable\nsig = 50dfd875f0a46683f4783667b72993151e6a69e2954538d806fc362725ac6c05d7cb2b99b28b8e2b1c911402bae45fab0270b0eba744e97c00eed757e57fc0ea839421587b3011237adc3373963dfd3d31f5d254a6d6c206f1eb360e9b0ad3675250a4b0cc09f6e63e1bb578a440b2a2a83296056949f61b81a5381e7d05f24f593c471b43d0b408b090af63893bbc535ccf9e1a6c6c96186e59e5428999e2df768ee7ccd4a7ace1feae6b0794d44688ce59c3c5086e5dffdb572abbb4929db6ce219257421aec6f94fdcd2f519dee15d3a0757e366a3942d606937701f5d7e4a1ed9b903739e7c73d98bac19075f050b782225824ce3e28a3175384dab91935\n# The key for this test vector uses a weak hash function.\n\n# tcId = 2\nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nsig = 3b32d1225fc5702a3b4fc4bd29a0cb84e0ad17f8b9879d5d8c870f12ad5a77e45995bfc79f6f73078aa76dacfc2160bd322f5a6854604da364b44d267fe13a9016ab408436d5fb2dddeee07bf0d936b7415f565e0b0d9a0cecbb2a62677a3059d07ffa9a191ec7dd5b26914aa15084c10b3ee4c30444f5777901f15f693077876f3691845f32e94a5ad991f6135a7d139281fbf01ca27a889e93d07a79e48c2cbc02847a4ba685ad4b84e1459fbfc848dd203d04361df1441b3184414704ccfad2e7f5b2dd863cdb1ae52989e82148a1c6bfb605bbd0f38fb7755c7381e6392746477d96304444a1003307f7b21faebb44333d88435b3ae0248729d17cf83e81\n# The key for this test vector uses a weak hash function.\n\n# tcId = 3\nmsg = 54657374\nresult = acceptable\nsig = 719d263205cdbc0d8a9af580628386f68501f29f4026dad9116f149fc285870ac06f570a3632abd20a01d76f617b0001e88ad7606f0a48bb49a8ab1331ce61439ed35c7e45df9c22e54f499309dc2bde89ee9edc8dbbf9b25b60b021f25ae11166a9fda31a0f3a84efc891fe436e3b22e3e0a6c0f2dde3868179abf673848a53ee235671eb401e3b79faf94ce508a7ca3431c2ade11b7fa629ed893881ac731d6d673e5ef4d5ef7f1c12145c9d060fdbdb49fd43db4fdeddaf526cda93dd1a45636168e1b9115ba41e17adcdd95e6a1b7525452244ab6f46cfa01bfa787fab605b82c43a2f65d2e0b066b34b5684369d3ceab10c37a73d3c979be2ac996ea036\n# The key for this test vector uses a weak hash function.\n\n# tcId = 4\nmsg = 313233343030\nresult = acceptable\nsig = 1ad9d6447423c4436a96c17407f8ffbcb8a41ab5421fe319222899e9091fd219690a97f801113d33e13fb5920335646616a35ce4996d63504a2c0dbf7172533b06738706ce20484698cfbd24eade67ed91e6b985ac2df1f17c4598125b2439286c9c01fd10901058b7318f8cc49aadab349560d473c30c3389905311d78288f900cab33b5db060694489a018c2552e588f32832820703e3838b44519ee9430eafd65076e5c8195acbb85ea1e4502810ac13ed72614db0c4bf94ad83dc95ca2bd47688021a56429c4b74b1acd82f242aca266f8a02defdae8b47e12d790c6a7c157d2bf530d50134b1e7c8446bd13884f3de0d44fdca612cd3d4260b6570ad0d8\n# The key for this test vector uses a weak hash function.\n\n# tcId = 5\nmsg = 4d657373616765\nresult = acceptable\nsig = 19f7396f4f538b1dcb82f556ba9b4817aed67eb97229587db7ea1d70f5fffb2af67f4bdf31915ac5c528648fdafa19c21e41d868a78709ec3a1f1f9a4d992c8e5dc98ee7668e66812bac88d39721e6bd6262679652357be5a5d54569ec74a0ab4e9c52244a927b1472d97368854c1dd1bc253d7618d5a94d1e64dc1630461c1c506a5323583e75fcd32b2e30efcff352250580dc8b780dfe1abd5e2ce4b2c58b17f9a95b177e4302e99815aa1de7e84050323cda3fd9fa0e22f5ece22278f075fbe3a09874a464795cb72080a3ba4d5a94c2aef5733fa3b11a9a0172e761aed2eb7e364c885c6fb66c54996d92a98ecf837ae2c3e55354f56def5d71c09a7698\n# The key for this test vector uses a weak hash function.\n\n# tcId = 6\nmsg = 61\nresult = acceptable\nsig = 640c44887275af542fb28ea33a7cc1c05188481d69c8a46d05a3651abb658d7ebe5c5d955c0b27ecbc2cbc05d131910b563e56409d2d0ffd09380a880c58324bb77d4d91c64d94d4f50751a046e1f2a617c20bc34c18636389c89fae170370da1c83c3926431ed164d0518c1fb8646aa7ea43c20695fb9bb1a34adfa2a78bcd97829d87b0a87c9d8e510d25a51ec1969c3ee0b8a22aad0394a36f0a98af973f7fac61e4f9d5c6c0c9b6e703c33e28b39e28d9a65e4f451d3d5ff6ea369f65a38d93bd91b30459f4fd1ef5445dd6ac45715274d3ed28278424324a52fc1be917e4ead14a94fc2baa3e5101fc37f8f1beb2f9601e44c0789c325ad2189c9d4a2d2\n# The key for this test vector uses a weak hash function.\n\n# tcId = 7\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nsig = ad5150442d1b552326200ff1fe9bc797e4be9e3146b92b269a0b2acfb18e7ba326319c7752ea7e6392854a5070f3cf09e0ec54227b16526bc13dc8df4a7ccde94c7237c4d49de949c2c407679f8aa49be386e09f0e35e6a3fece34273a7e88b91a658d3e002a939b16637ee152398ba912284f2d3726354616c155cde76df1fd421936ce213df0a4f84baa01b111479e1c4593cec97a609e2fd54d0350d7f08b2a9dc094c6bde3907583da25f3d6abcc404d2a321282d3a17379137e5ad04e544efdcc62af54a544ae1c17467d99a68cd8e20daa5fb4f906e7528e306688ba58e80d41f2b0c6a1801780cb6b6c36e5be80d1da4e0af005e217d57c3fc26345da\n# The key for this test vector uses a weak hash function.\n\n# tcId = 8\n# first byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 4f732634b50d2ebaa205b8ea73349ffb95cc494b4c8f722de0569c33c2ed4a977095e03e87abe532f48e811d86c8185042cc0dae7cbc59cba0f0aff6dfcdbabfa3dbb2e18e0033cba1cb2661d289c15aacf45469bd5772de4bf378fa4cf4adc7dece05436781c4ff1085dee1ede3f3979d553af3c68f42919ddfd151710644c80c8d1da6cf4cb51f9149efe4e7921ee2f192f057dc6690f6db54a1affd0ecd0d8c205818bac599856fa7729ad63332c1aac2a0148102f549b11b8f33afa638710abae7ab052ba118af38fa87c7f6b7b6f722b513c9c202ba47d3c7a7d0228b535e5f583ed19a014e2e81e4495dede1b72650a4eda669a0e76e78a40b46020c74\n# The key for this test vector uses a weak hash function.\n\n# tcId = 9\n# first byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 52c4c54d30d822b6c7d1741395f95dc303f068680efd2bbbb864c0cce58737f3ab12f5a086603b6806812e3ce39330fde071a6c113a7f9f64c9bff494832f0bff229a0d40e4b67a6e505dbf942af6eeb700b4e6b6e0936ee30fa1a25710cabfc75348a30c951b84f975789e0fc78e9298af5f3f2cfbe9cae763e127720c8451647d3e9c39efc19761c3d7a0c880ca7f84d0737f59ac0e12a32863a34888518f95edaa1cc057e1bb6137d497807b878c91536e09a0a4514cad144822bd7d10c61d11a8810b9d5b81b2127bf626540a5b1af5eabb3db40bdcb528c6bb115ffe61d107d3d593ef2edb375ebf25a91d17ccb63f1f9be27127dc0d00c58e8f6b5f3bb\n# The key for this test vector uses a weak hash function.\n\n# tcId = 10\n# last byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 5b7524c140e80b5fbded9106c9d731233aceaadf71580e5b5632f62c298c670fcb0872b1ff9034a27be61539484d477a3b56e1557b7e6f851ec0aa74e4b6df7b8e0d36771cccdc06c8a1a076a803cd31b1abd1c8037be9fa4320a339a28d731d2824070d7fc816691a6faf233c83e66c598943d41191912edcb298fbd35164c1d5d4e35483f477665a5c0a4d518e77ef60b09bb4281c47a25c20a1a91f6a1749ad0a94145b3c47113ed08e3ba5e938a751e1d1b282cbd48ae980ae02a41604b2f5ed10", - "fdb6f1ab3427cbdaa9467caab56da29a2290b92e6be75f242fe97b96e55545cb18216bd5b654cd014107b2448ac33a833682bb4f79401be44498655687\n# The key for this test vector uses a weak hash function.\n\n# tcId = 11\n# last byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 0a1a47c81b13e02edac4ee16a40e84e1b400285feef1224dd787516cdaf9c81431eb3523226d95856f83c0e58f804ad9c0765f5173dce0268a6dd73d65981a678bcfaf867bcd880bab60b779e032ea7ffa1c4755fa2cc0b67f1714e1db97603b47285e4d43b0e4c1c349d338f904968a8ae6a86683e840c3018186b4dc2d7ea58213120d1dc724a3fe72c980e148fc9892ad4ffcf8336d2f0d99963edc2ec7f3bc5382db750c3c6ea34d9a2c78baa9dadb98cf30361a91aaa01a12dba123745796e13eaa3e200c725a999cd84063f14657ab51ce76f7743333dfb4b74af77e8bd32092776b892430beeace6bd3c2f59a364b9820d31bb3adeca568491fcac10a\n# The key for this test vector uses a weak hash function.\n\n# tcId = 12\n# all bits in m_hash flipped\nmsg = 313233343030\nresult = invalid\nsig = 2b69fdadae6e8854e0e4aa6df667d4cb4e278388a25b4c37f90d45d425bf4f9efdf078cc2e7888c1ff71c2a593a8982c19a6c5b2a9b54703bb007c43226a2d51c35d011a981dd6bf3f5c7c68520468d42417b4f11f62e7bb35c4520bd7d02b74cef0492ee32caabcc35b42166af3a7fd3cc8dac12474a7c71b87f8f018d7631f6452bc7ddb35ceafa5964b010ed1595ac53098557dec598a0c7e861160949e1e5e43ce126add866eaa035b76d1b10724994703178faa228aa0c3ca90f1602dc90a53e8b1493b44192b4488068b802c3ce91c2696c336e1b789e9cf4f1e153cc0eedc8c7f23c580d842078199a263e26bb6ebe469612694e8c6121d97edc64918\n# The key for this test vector uses a weak hash function.\n\n# tcId = 13\n# s_len changed to 0\nmsg = 313233343030\nresult = invalid\nsig = 63384fa945e41c0e4343f43ee12c115cd021737b7cab9c778cc451d180359c9f39a1c457ce5308d029a508c19ca61fe3434bddf28e836726e6e6d4d635cc3d265c8918b4bd921971fcc7fe8857ca330d01cca47d0dbea91ffa7bc813240cd9a81f799f961d00adb060f599836987f5ae194e22262d27f216dd48497205fbafc4274e97f427ec99ab29c6090a62ae6edc777a0494d7e9812dcaeaa51c436d924a38d8c731f4a82243f0fb132fd9f77403f9f0c7f5569608b530b61a69ee8e0c9f32da8d5bcdb0e8370e964a952250b3fece411cbe28d39ce7eabd54f23110f97fbbdb902966524493fd47833addea2baf31979ef65e9ea5f087f7cc898c463503\n# The key for this test vector uses a weak hash function.\n\n# tcId = 14\n# s_len changed to 32\nmsg = 313233343030\nresult = invalid\nsig = 6249a0d0651ea272e9308178eeac74e98e48822bcfa21a2663689e1cca6735d5d298be1d1aa3bf70754a91d87342b78b385cbed55fa761d6ce58ed81411770cd7f4d0d1ac96b2966caade37db00e27c74b497cbbd76f9fa13c08596880a3357cbf05e42f826cef564e707e378af170f9ac892e081930b20183925d6f4a8e934829784472c49c9f384fb631310b376282476130750ef3de53fbf564f2d2cf3161485ffbfd0b96d98b47d4df23dc35974bb853544389fc6ff6eade53d9f4f14f0ace492eaf59dce778bb4398478a531a5ea9fc3f230e0bb973eb173a197d840d1eb080632cb7f4f0193e82a1c9571127616609f55e9f258b42890189a70adee22e\n# The key for this test vector uses a weak hash function.\n\n# tcId = 15\n# salt is all 0\nmsg = 313233343030\nresult = acceptable\nsig = 0580894932c20ad27584f68b560d97e095cacdf2b69286eca83396ef0a9ab5d89263ca8e90f6c7fa59736d0d99ce437f6409f56a07b6ccf228965f556f6ae9f1e505a512bda0420e177535582204fdd933d510dc3ed9cbfd80ae37d1bc1c621f06d32162e0509f2c5e139953796cf306216106ab4379030a26d87b9c761bc9b35d26e296446eae2c5df7a54ce98a155292a7bab987c7eba884b0638e659d57b85ee9093401ec11514e67bd0106fd59542470ab328bdbead97efcccf9d0f85bc6ec1879a2420c5ebf6aa53afe3f62b8197ae16593ef4049c0e8d76b2990beebccb407822701fef5e8b5210982a9f392192491113a7e2e69bae2b1779554d97435\n# The key for this test vector uses a weak hash function.\n\n# tcId = 16\n# salt is all 1\nmsg = 313233343030\nresult = acceptable\nsig = 8f183006f11363b35cb506412c27a1b2b12e0da08ae92233b0248d8ef6c4981ed0993a447e6a5e2336eb33fd8145e8b1465f5ce3cc157bdabca33a2aadda31223ce2f0e8c4ef20546d98476f889064d8e95043ad7923bc2e97498580085fc84a36bd14e3fd056d859a677c3fb01868f8a2bd27d08bc52056d060b25c9b5361871e693cd084918fde00f2d6794a3975c92436dca1d07f20f321c0e5d0a52499be6c1ea7be2ebfdfb7982bb51e72a4306ec1ed7484fda2cdc3d38655d92bded1541387d90ceae0ee0e14837ca61c3acad3b3b06b45b84819fbd4df0502eef53139ebf96c804d780396b397eab38f2ca25ccad4cfc8bc4cebe70386d7432e876ec0\n# The key for this test vector uses a weak hash function.\n\n# tcId = 17\n# byte 0 in zero padding modified\nmsg = 313233343030\nresult = invalid\nsig = 6dc8af93242468b652f14c470730651d6b2de224c15701f025ff056a7b0d72b383fe944e0e4537ab47ce5818e13787e652c373b614543da38a2708b6a522e4c3ffb5790a16d2aeb1aa69610a7dd858ac9bf415ff7c277cf6c9cfecff85df6bbd400f000bde74206068a658f27ccac13055c50911af77d1647c582d5ee140c971701f15c5520e355d32704e383fbf8c4fa571c26a55c6c49ebf4b3f6bc26ef939b575ebeefd4cad99afcab0a9ecc8551e428b9858bd5f6f8d497fc75121d0bcb651bd739d93223197b9306fa6842f695fe651e9b143023b962eb166d21384bebcbb99bc9af257b0f8997da90410646f7783ac65741171e7c94a10c3aee10c1a25\n# The key for this test vector uses a weak hash function.\n\n# tcId = 18\n# byte 7 in zero padding modified\nmsg = 313233343030\nresult = invalid\nsig = 89c0510bdadd44bebee7eb52cef303a1b751539ca4ad31752a9dcf3af755844eb1b47d1879a4da10ff766d47df1871fcf6fcba06e101134c304e87f1d8d255f5363bb123d56c9d2bb5c3056aa5561cfa772a1f9265f714fa0a5118356699b57efdb2c2c553af1ff41026bd8c01512dc760ce0d62a88d868d46914f6ac3793be6aa65e0059e61babff5a8e58c3bd459533013ca0bb19e63018c926c11e4f910b18263fe58b259f1e6f517f0241d4787cc2da771039ef73db3ab3bc364f65a672561c533205740e0c5a0ff754aa90683d3a8637781d3d4438acb8f917d946543f9054a2d032723e0106c56c278ebf63f66dec7eb6022a5afa352bbd8c19248e6e4\n# The key for this test vector uses a weak hash function.\n\n# tcId = 19\n# all bytes in zero padding modified\nmsg = 313233343030\nresult = invalid\nsig = 5e0670e048659ad9e3b9ceb3a07cc4a549ad80fab3f76b532dd077c2e841383a781ca0bcb4de50dd0f737f923fe03062c2d33a9ae9f4ce827cb993369088c8cf6dc3e1765d09d836ed63c3f6a949d2726f429841c6b945adbb8d10d5d7d3f0570d30a813a32c20633f03a6cac4850f5aac776c7e573902af39daebddb205efdbb057662116c41fcf9f46d1d0ab536e300dd9c56fb7dc702fc0385e25149c64cfbb5fe663660feeebbfa009bd40a9d011203a2b216f449c5b949805abfb766a3c2a1d8dc8fd37c1ab4f228c0719f72e223c3d4937fc871f6972268313fba32788f79d20df3ce6e0a540f061711059a7a259f5c38e0389a77e61f13b094f1c4010\n# The key for this test vector uses a weak hash function.\n\n# tcId = 20\n# first byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 5694842681c2892a52cd903b55004859553dd7b42f85ef93492c74278aa4ded900a13245b4e3fbae340bee5880e2be0ead44c5ac0d529063d9a22145ddd9652259b0a134213a56b7947c66e525e136dc86d1ead3e2d057018085b5cf03a2621683d59e60cf7712515343681f857821548dd55092644219015b2e39ba4efcf3ac8794f942e1e7f9285dbd7b24eabe422a23e1c9e61bb42f3c204f572ffda99ba97c90cb0db3936c262177e1562fb333f9cc1b859f55c9f3645e14086804ee965184a436ca13fe458ad74818b554ac834ebcffa4d54cde2a82233da5aa9ab0de031960e1cf48fb00aa89949f8cbb9e149914aa401ad948b32f90f93505706a8cf3\n# The key for this test vector uses a weak hash function.\n\n# tcId = 21\n# first byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 012739d50132db2da632e03fe9126b3b3044f3c71aace80cfbda5c58c22083d0be128a972a6dfdece0445e19161713f33bff4a49ca808c5d0ef2e79de010f3e28eeb00233e2ecf35cc7766b1c130912557beae44717524da4ba553eb2d4ecf06a331c9a82ab6182b02c7143dc9ad1bb33075d234a6c40c6551c864811bb1a4cc8171c6d814d79bda4647f2f11df515132f605b38f080ed400a976f36fb81e58ddd1e01b7de4f96a952e7fb13b2169f70ee679f07b99abca564efebb234a0d66c24bcd7710f89839c93ee6868341327a14960c0e385cb786888e8d462668f0d5f1db94c69a3b4f271e4e7cb64117a0004c87df15ca9fca63f19a0f49a9b61da63\n# The key for this test vector uses a weak hash function.\n\n# tcId = 22\n# last byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 9e98e3431040f3f939def28cf782ba23cdb0a92ceafddd4c6469351c639780a195140eac331416d00a2f846582433b5141a3021459a2eafc229448b178c376c0f6ad8dc7dc1a0cd048def48eace50e8f77a0345cd3666d20389fdeafa3d4474d50a41b7bc6db000b128174c82df7cff6bd17335dfd3f6d954e065ada694ed33c291b82191a1a90cbff58dcfed4f0fdc720369f74a9b218d85eb14c0450e1523b688f5ea1e5ec9ff10d39a42f58902f6639d0f8e760d8f6067a57921515b2edd8338cefe09171decc00a50ae806a47a7d35dda7376aa962d63b0189a63642d33dbf9153a03c1e496c01b9ef74d6871e1d63bb61719b3ef5d40f4dfc15264a07d8\n# The key for this test vector uses a weak hash function.\n\n# tcId = 23\n# last byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 76533757a9a6f4efaf59b8e4fa38c50cc7ac5f9bbaa7f45583ef79dcfd50afe07390f572", - "c5880c27badc4ba3130494aa396540b8fa3d15d1d510d0d0ad7a07d3b44fa989957d6e50ad3921449aa6adea1af2879cfba9f8f045f5c3457fdfc53525c00de55ca0069e239b737e0c02b497c5f2f33f66c9fad5599ae3168bbb1b0dbf40f4d941ad26a9483488d06276b167d089d242cc423b785a4c34568817af7747782db559a32610cbdb368511b7ccb5be09c0ba5a21f677405c73a43088b193d445eb54416d282fab82453ffbeb68e3a1e5eb33a705db4d8be0149817a255c40a53040c05395abfe2c56fae34b8e2ba083955dce77bb7cb5e5905d0ad9bff6d\n# The key for this test vector uses a weak hash function.\n\n# tcId = 24\n# all bytes of h replaced by 0\nmsg = 313233343030\nresult = invalid\nsig = 80fdee23937b15c70116b060340bc7a430914506880dd3f71b5fda9f24964a9ba69454e7929c529327a7bb648c2789d3b4d5d2ca465c74b7659cf445e57a8e7d11e614e34b2f9917139352c0f322428d7c1dda1fa11750a7eb9e7558a6152114f148a90a14250adcdc8918dd0c748b71ade03126ff13a8a191c024291bbb1ef80e5e559a27d6d204247e241864ecff580c56b3345a803967aa0952b59a5401780299cde2cf1b783bdc3f8bff9ccfdf283896ecfdc995ecdb54e394add4fbf16c0904a5f581b4061bf00b2ceda8f7acffc463323584ef69a194f2ddc2c2ac6002bb5647643eba036f4ccf30472387c99b6e199a3a04caea8135ec82654a2cbe3e\n# The key for this test vector uses a weak hash function.\n\n# tcId = 25\n# all bits of h replaced by 1s\nmsg = 313233343030\nresult = invalid\nsig = 2fd19f1af2e56de93cd223e96318b336fc587fe333ec6b81b0b4304d85af72cd56dbce64d9d75f023c39e7d82307ea6504c81bb28119df545e1ac8b73453a87a6c1fff0619c537c6c1f98694b35afedf37540a70f4665c1fc8ee0cce2e29e68c821ff558433845ae46118179cb24ed247419bdc48c13b927e9d4a6da9e445dfb0a1d0d3f599ff1927956fbf04cee1f6e004490198edb6b9cc440ae786f74ddf257474ef3a5f273d87ad361434117ea0172e7cf4a8fa3f0768eb4c26cda4f8d0bc7ce90b2ad39b588897f85513d22ad0af86ddc0a2664ba2dab0b0832160010d743ac0a5ac69b00a68a148ba6c4ac36496addbeb188b58bab9e9b06a2f5e30ed9\n# The key for this test vector uses a weak hash function.\n\n# tcId = 26\n# all bits in hash h flipped\nmsg = 313233343030\nresult = invalid\nsig = 004524fd468f6b32c1e39aa51df5052e174d02851aa433871dc4c9f72b6fc5dd776a7e68f57d180f049d6f90c4c6d5aa21d0749d2232bc2e257dbeae0640b985706eb285b700f6480a29fbf42152f5505b91a73ec8cc80e17b5236dfedd15280e6de907080b339b116f644ddeed18361851ff25f0b6c174e49e0b33962086cf19bc4423f6ddca67c52ec62b8b664504b6a5d97c6d68e80ac522a98008b3d4deef1f0147f3574f4acadb8e3687b410c2f4e52cbe85163a26356dcae935581fd75434da19e1022bc7865ebb1c15c93968fa357e7029b328ba7e59ee6429d4858bc9acf78fbb68508d653c73b97da4bcacb1088ce88c651a7d90c7951b920a2ee80\n# The key for this test vector uses a weak hash function.\n\n# tcId = 27\n# first byte of ps modified\nmsg = 313233343030\nresult = invalid\nsig = aa33236940904a0c0c88e3f7b9744343c4577854cc017e8ab0aa08694393bf1166a55b56f6589fed56bb4bf4c87151407363c36a9530d200a92eb7a04f2451245b105d1d44260ae10385edb5edc6e118e7b27f4270fa2988b1dbca3fd21e1d3ae6d62f24bb4af5138eaef53c598fabf108ee78a6a986c14e5c472f71b24aa67a48c5986ac3962a6eeb9f35d0f09d22f0f9a665cf80e08a19e9cd7bed243af7edef90e5a025fc2b8b0b3ea49940836e9971d3558defb2a08ea6b7c40a4c3db6fc4a7aa4891297f9c9dc92d16b2e6cfb7f558603fd17ce5bada483688b344278e27d05c5bcc1d2f44f91cf24bcd50b53289c744ca67b909ea04fe1a1bb4f680b41\n# The key for this test vector uses a weak hash function.\n\n# tcId = 28\n# last byte of ps modified\nmsg = 313233343030\nresult = invalid\nsig = 7fd4d853d91dac3e29a1d24df4586aae452aeb7d997ed8a039490c2257a259c2fd4e868320a5391d5cdfe13905ab7fb248d722a6932ea15750d8a26b810d10d5c494639b88265d385516acbcf6dbce502b834999387635690b65b65ba1053a42f909b05d590498bfc9962db35f14a1ffa10cecaef5dbcb6ce73b783ac4ec4119cc22f976f3e91be86d67b0a1a45f3b8b757f893bca0f717e9dc4184aac01296e18ce1a1dc643a37635d2ea0618793b1624c0c0da74a46e422df25c56a6610e02a723bf80f147f10939eed5ac347779dbdcdc4b994cb4cd3388283cb6a04e4837d903f75ea7d08a43d334be80b3c05a6b0806502eaf4aecad28abb86c790cc4b7\n# The key for this test vector uses a weak hash function.\n\n# tcId = 29\n# all bytes of ps changed to 0xff\nmsg = 313233343030\nresult = invalid\nsig = 952e142d407387b8bf807790bbb1c8bbf73f86cf8efb897157d5f15ec6579ff2478216eae543b9e81fa45a015070d31f5e8087a987df01e66c332cc0626c984032b3368621b53157a7531d491e70b756a2112a4644486ea74eed5536aa63e5b992317fe1a68cf1f37109aa4709b6347da34c4f846a82b25d51837df3bdb59a41e6edccd92e25f4885d58a164b23e11dbb9ecf3981917ae8682f7ca8606d770114527f34799686bfd3b6e000df2e719fa88d6272bb308403cbd3b216133b60ed74448b04909dc24e2bd3005673667157fa336f3934da3b9991f5584641e67b8dacae279d6e92bd564364719f8a79415c59e1150281ceccc23a312f39c783f0c4f\n# The key for this test vector uses a weak hash function.\n\n# tcId = 30\n# all bytes of ps changed to 0x80\nmsg = 313233343030\nresult = invalid\nsig = 3cc78a8aa312cb60d3452c235d8a530b3f32c376eccf1c981f87658ccf492989aa059aed5a18971182d1a083015c2616b6f5305e37843e8b182a71f19d09a03e46447ee6a4b03846b6cc629c2f39dea75aee0c79040cf6ed930abeabda242032e47082ddb23e62cbf11379022ae08d5463837a10d22d9faf63f3436c8a762a030832333064e73642a01a0bc722d39b11dc720247081280d6790847314401a4def0b1ac9e307c8531fc1136efca55b19c4d0697af168f81c62aa82a8105566b46f690209b6829b7238f579168e11ba1f02646c4a8557a4b15d2136fc2a2f9a46da9688a5c3ae61e91b2463075b5422e82bc40903afa867cd7a77998e097b921f9\n# The key for this test vector uses a weak hash function.\n\n# tcId = 31\n# ps followed by 0\nmsg = 313233343030\nresult = invalid\nsig = 3e68229146bee8f86f1a85439d59132c20f161762d35e117b46a8c9bf6ef7a7b3a6ffc7e83382c8f0550b491c304c397d8240ede43efa5e1cc889e90d0a5a7b829e885f72f764d1574478c2dfb9530e42de5003121a2aa865daaf421e973899c8f3d6479b80b500c10e1b8375f8fee56b1fdd5fe1d1ea4f0ed1ab3e42abed62134ed5ac8d513a91ee782c79e92cc3e76bd34fe66ac3ed4f6865a6c0c5f04c3b430aa2323c9ea5a0409abb64c1fc95af535a3cb45596323431e208640d6f8b9d425bc2c75f0f2f431bb1943198ce80189755569b8c1b09acc729122357de8c88d185926df71ecafcb0122edb7097165337c83340b9676ead12c692c4025177d88\n# The key for this test vector uses a weak hash function.\n\n# tcId = 32\n# ps followed by 0xff\nmsg = 313233343030\nresult = invalid\nsig = aa68dd72cf47df9a0d01f5e7bdc297b35a5cae62846e707b0b8116fc2527dff6e6991ba01e8b5b84bc20e82cbf26b2afd524c68bbc3a6c872b6fcaa92e4fd55b69ce5b773861b3308228f09cab60387779da33213724669fa119ada65d4945bf8c3af6e445584c85f553b17ce6bccec8535e66952c34c9517bafe73a33793ea80e3be07d607d4c7f047198708f973e4f635f190018278824e7e5c8970413239e48854e107b26535085c61309b62a8b2b96320523cef60f6ec30d278bbaf462221bd56950a1f042063148685642d5721ee35e5935aa80f82a16457165b22ba48cc79c4b2cfefdb1b88570aaf760edbcd1f8fef2fabec9d70e3e425daf7ea47d66\n# The key for this test vector uses a weak hash function.\n\n# tcId = 33\n# shifted salt\nmsg = 313233343030\nresult = invalid\nsig = 70ea1c8cf6d950da9cf4f11da5e91089c7b60097004337aa1394e004b58ea4b722decd23dd2260095ff8179f70f9a7c29430247b4086a341302a36daa6e925e42d192835c7d69207586aa6c97c184f17ab6f2b6bb6f97a3d866a2155d5199a6cb0121ee1a31030635bf505c0fb96d883cad6050bc1802769311ad1ea23aaf884e347d2a2ed71c460285d0d4d064bd276be732e899d01ad3b5e08745732fa1bc74622bd20fd0a53320ee5b70cecbb65ed51d6f29f87774b36f26ff66129178beeff34630df9af9ec80cea6b3e307614be9a20a1038079801c24f089847404252e5ca4d60c1613d5e6b1c596ed7a09ec162875664a6bd5168d352464e13ee81f2a\n# The key for this test vector uses a weak hash function.\n\n# tcId = 34\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 84fd2800622e4808ffbf30bde60d9a55c702ba39e344230d8d5a1fff44be6322abce6f1c7a702e2e1c3660c891fce6aa3833bdd87a6d1b28b629c19d01d24d06bf404d54e444f055bcd659815944daea78df4939fe6912f9c396cd9139852a76aa8f90669013e3307ca045793044de1702e98c3d2e02a4023861d13399f489fee3a3a1ee91272948d08cd6503f79f321bbb936910f36c63f8e24a3ff10908547a2818e9d5c954cf3564afc71884b47299e16c70f9f9d2affb68f2620acd58f5e4538f5b56adb6c7f4461d586e1de2bf3c99b7de01bae479ac124a59aea4d4df707dae47edda3bd3c74696fb62a9cd24282193f0cc43816279ee0e2683b82c8bd\n# The key for this test vector uses a weak hash function.\n\n# tcId = 35\n# leading bits of masked_bd not cleared\nmsg = 313233343030\nresult = invalid\nsig = 764e687e19fd6c0f60ef4767262faf217d6bd83f402f72c46dcfcc346f3170d67c3ee927b3366ebde5fc81d576bbf8a0da76ffe950a8dc441d4bcd3485f5a821b5d58dfe6567b7dd5a3a77f3062809ba7ce311fae758ef696d1b36f3066a054d11a38eb124b17b5387ca71433685c14042cf68a1ae42b749083bd852113a214af76c7e34a791c9819b59b261cf71fcb58812c52c9636153a893ec60372b24388f28eb15a806ef912052911661ed55b71e4ce3f5b16d4ed589c27a2a07d2c488990fbdfcd9760fb7b61d56af8ccf00e93814add", - "5a41a436472d7c5f848cbdf269fabcb9452138b06f810f2958b04bf5727640e1d81d99f4e7d6b413976fb59ab4\n# The key for this test vector uses a weak hash function.\n\n# tcId = 36\n# first byte of masked_db changed to 0\nmsg = 313233343030\nresult = invalid\nsig = 452efe45f5f852f61c14e7bf357e58f1a601d3322ba60b7e4d09a226fbae5af2ed866226ad7dd0e658b00afe58e0f017cb218b28dcce2d10bb8b099d8c3a7b4fbc6dfc2d085fef16b5cac7123540e9623fc4704ddb48a3120c1753c2a4de13053e4fb61135375768ef35baedd1dbd31b1b4b51e8a7b9108c8c18faa5d55184e2aa693e27e4534a60627c1cf2ab332fbf13eded03913b310c29f48a09912eaf2128dbc0e402bfdfe5d10dcc3a7071fd12497d904038ceec21382a71ac9a0dc28260acdd23405a291b2c0fe2c9764b04f53db8e2f640f70cb57c452807a01f588529da21fdb8a93f569268c2e5b8f14ccc21e3c05d88a9856a76a58b9e7201b1dc\n# The key for this test vector uses a weak hash function.\n\n# tcId = 37\n# last byte in em modified\nmsg = 313233343030\nresult = invalid\nsig = 2815361aa080fada916df00abb4ff6745144271e36868facb4fd3d42e079b5f0aca5db90991e454f7349e9e8aa85517f8c5a148547c646f9d89dd38a18ecc439b6d8e1f1a67420af089f4030e310e3a9aacdf32c687946b1f2829364bf6127ec9211327793468832090a1afc178901946b552e399c5f4f83fc099c31c950d3f7b3913c13f93eb23186bef7bba43724caed7ddb3551e937ca006ac892d1f3b8933d9ca952ee0d307ca131b53fecc975b29b611a5c95585cdafdbe8f0037488b65d4b4a3bad17a784171264f257b4a7febbdd5a959d99d4e1aa89e6bac530d38acde8acdd068349332b32e05715bda82c25d2eacd58fe72d08af9fbe3ed60990a6\n# The key for this test vector uses a weak hash function.\n\n# tcId = 38\n# last byte in em modified\nmsg = 313233343030\nresult = invalid\nsig = abf40fa37aec687e46bc355e0dc8534f27e9bce3f9ea2d27b5943fc27730d38bc948557b581e548f46d47a18d726806b547866127657414f9b1b0bef341cc2c6cb80bcfbbd7c59112268c49d3f7fd896a4c121b487a99929d94606acf882569d9d63c92bf46232059a485400486558a5041737205709fb3996a8e0f697d4d98a7131bddaaf2000232952c6343a81cfd8d10b4a944cf16cc70c5b78b8adb0a10d690c2454581e5e36aa83bb106be6a753f0807e8c6383e32f6e4268cc91af1a67c09f85b43db732cf401414404a2bc378c7546ba6acf93ce409eb049c58c286a3ad8bb24a8390c166e6d7860a511ffb622a587d44040936238265def3ce8b0972\n# The key for this test vector uses a weak hash function.\n\n# tcId = 39\n# last byte in em modified\nmsg = 313233343030\nresult = invalid\nsig = 18215b1083aab4e4dc911b55332c2dfc7fe776dbf8873eaa7738d79e6529c27081b43e24ba7fe52f9d38933aa9a91337c1cd607e82f092b82895eee08ead942d344a813be0575b110e95e39ad7fa07ca1904926e526d04831c355059570fd24015e2ca660207b55a5bd45f2043f2704dcce5f2f992dc9b185221ab4eb28272cb5b179c6f934e218471f989da57c787e12cc1079428485104cb8cdb380e74d0d8bec8f75cd4831beae12379493f58db754c1f332fdf51d61f2d34f297dda0f761be3afef70ed769fcb786348301f954586f135fd55a67cacff16760147c5f38c796b4837ad5f0688fd0ea5e6567fe0c7f89803004c45a5343cffa5e20c7630c9f\n# The key for this test vector uses a weak hash function.\n\n# tcId = 40\n# signature is 0\nmsg = 313233343030\nresult = invalid\nsig = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\n# The key for this test vector uses a weak hash function.\n\n# tcId = 41\n# signature is 1\nmsg = 313233343030\nresult = invalid\nsig = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\n# The key for this test vector uses a weak hash function.\n\n# tcId = 42\n# signature is n-1\nmsg = 313233343030\nresult = invalid\nsig = af3897c38ca932c661de8cd18315dcbd8582e98f9f9a21d8cd822d4d1bf1ff1d1bb98dc0ac25c4c268d82ec61dbf32dac496eab4622be114a9309634cc85c16036088026da96abd350152e549552500d6ab9341f6b695c0d4d160f6d50fe97519b44cd74edd65bce876db5da9adeb87a7cba1c5c02f0d0fba690b4ca855024dceee68d04f48679d5c63ec87fd65e1e42604d32f0453db7e83a1bf4dbb8230308bf7c0e36013d555429c6650d7bf576b37b25f420798b22842340e370702fd1cc0fce98a407fff326017dd985f8c64bb6686aa274b664ca44e40de1cbbbf79ad760693c256f820d0dbdfcaaa440b0e69899b7b9bb2911082ba957c4b188e6d6da\n# The key for this test vector uses a weak hash function.\n\n# tcId = 43\n# signature is n\nmsg = 313233343030\nresult = invalid\nsig = af3897c38ca932c661de8cd18315dcbd8582e98f9f9a21d8cd822d4d1bf1ff1d1bb98dc0ac25c4c268d82ec61dbf32dac496eab4622be114a9309634cc85c16036088026da96abd350152e549552500d6ab9341f6b695c0d4d160f6d50fe97519b44cd74edd65bce876db5da9adeb87a7cba1c5c02f0d0fba690b4ca855024dceee68d04f48679d5c63ec87fd65e1e42604d32f0453db7e83a1bf4dbb8230308bf7c0e36013d555429c6650d7bf576b37b25f420798b22842340e370702fd1cc0fce98a407fff326017dd985f8c64bb6686aa274b664ca44e40de1cbbbf79ad760693c256f820d0dbdfcaaa440b0e69899b7b9bb2911082ba957c4b188e6d6db\n# The key for this test vector uses a weak hash function.\n\n# tcId = 44\n# prepending 0's to signature\nmsg = 313233343030\nresult = invalid\nsig = 00001ad9d6447423c4436a96c17407f8ffbcb8a41ab5421fe319222899e9091fd219690a97f801113d33e13fb5920335646616a35ce4996d63504a2c0dbf7172533b06738706ce20484698cfbd24eade67ed91e6b985ac2df1f17c4598125b2439286c9c01fd10901058b7318f8cc49aadab349560d473c30c3389905311d78288f900cab33b5db060694489a018c2552e588f32832820703e3838b44519ee9430eafd65076e5c8195acbb85ea1e4502810ac13ed72614db0c4bf94ad83dc95ca2bd47688021a56429c4b74b1acd82f242aca266f8a02defdae8b47e12d790c6a7c157d2bf530d50134b1e7c8446bd13884f3de0d44fdca612cd3d4260b6570ad0d8\n# The key for this test vector uses a weak hash function.\n\n# tcId = 45\n# appending 0's to signature\nmsg = 313233343030\nresult = invalid\nsig = 1ad9d6447423c4436a96c17407f8ffbcb8a41ab5421fe319222899e9091fd219690a97f801113d33e13fb5920335646616a35ce4996d63504a2c0dbf7172533b06738706ce20484698cfbd24eade67ed91e6b985ac2df1f17c4598125b2439286c9c01fd10901058b7318f8cc49aadab349560d473c30c3389905311d78288f900cab33b5db060694489a018c2552e588f32832820703e3838b44519ee9430eafd65076e5c8195acbb85ea1e4502810ac13ed72614db0c4bf94ad83dc95ca2bd47688021a56429c4b74b1acd82f242aca266f8a02defdae8b47e12d790c6a7c157d2bf530d50134b1e7c8446bd13884f3de0d44fdca612cd3d4260b6570ad0d80000\n# The key for this test vector uses a weak hash function.\n\n# tcId = 46\n# truncated signature\nmsg = 313233343030\nresult = invalid\nsig = 1ad9d6447423c4436a96c17407f8ffbcb8a41ab5421fe319222899e9091fd219690a97f801113d33e13fb5920335646616a35ce4996d63504a2c0dbf7172533b06738706ce20484698cfbd24eade67ed91e6b985ac2df1f17c4598125b2439286c9c01fd10901058b7318f8cc49aadab349560d473c30c3389905311d78288f900cab33b5db060694489a018c2552e588f32832820703e3838b44519ee9430eafd65076e5c8195acbb85ea1e4502810ac13ed72614db0c4bf94ad83dc95ca2bd47688021a56429c4b74b1acd82f242aca266f8a02defdae8b47e12d790c6a7c157d2bf530d50134b1e7c8446bd13884f3de0d44fdca612cd3d4260b6570a\n# The key for this test vector uses a weak hash function.\n\n# tcId = 47\n# empty signature\nmsg = 313233343030\nresult = invalid\nsig = \n# The key for this test vector uses a weak hash function.\n\n", +static const char *kData110[] = { + "# Imported from Wycheproof's hkdf_sha384_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: HKDF-SHA-384\n# Generator version: 0.8rc17\n\n[keySize = 128]\n\n# tcId = 1\nikm = 60ab7f45b0ad534683b3a6c020d4f775\ninfo = \nokm = 3f8b0e4a7b2bff01a26a18f1e07c0218897a324e\nresult = valid\nsalt = \nsize = 20\nflags = EmptySalt\n\n# tcId = 2\nikm = e3db76e02278cbd2adbcb4555803da11\ninfo = \nokm = 54d872ee6079718738b96cad7573bdd667aef80a43344ccdd2488eb2e1d3c33b9e291faf89609af32365\nresult = valid\nsalt = \nsize = 42\nflags = EmptySalt\n\n# tcId = 3\nikm = d4dcb92a769f57c8bab8a420ee0aa351\ninfo = \nokm = 8998abf032b4fbb29e431f0bf1544e19590ef4fc99e013db8d6ce0dc085660dd3f2432b5f9cdcc44cb6ce0053e7eb43c0375ac7efba148ece8688e637a5759f6\nresult = valid\nsalt = \nsize = 64\nflags = EmptySalt\n\n# tcId = 4\nikm = 2d43e54bf0c94c9cbff4300f4aa69ab8\ninfo = d674da3bb47d5c7e38b501e5251d9348af601c44\nokm = 658e6132e5279439568a617274fc788dccc2bacf\nresult = valid\nsalt = \nsize = 20\nflags = EmptySalt\n\n# tcId = 5\nikm = 4055536896c406d5fe14a6cd6b999bff\ninfo = 2094768a8816f7df070d6e08b7ad93755dc9024b\nokm = 14a650a903d54e0de9962f5462deb135071cd1e3051ecacd65d378b6181b41e1e1ab3b5d2143b710c728\nresult = valid\nsalt = \nsize = 42\nflags = EmptySalt\n\n# tcId = 6\nikm = 5b01b2da3166f217cdd68de8af60078f\ninfo = 6884cfa7ffe8f27bf4ebc6e46a7e01488c79243a\nokm = 7bf6c7c72fa9bf184f9a2e13077a0e1afb9d976a5574fb7ec819d8bafb9b10f962e6fa8bc6a844ee0b609eee34aaaa025065a7e3a7fe4678a005640f7dc286c2\nresult = valid\nsalt = \nsize = 64\nflags = EmptySalt\n\n# tcId = 7\nikm = 467403c2ec02a235bf730ff37e8d8ff3\ninfo = \nokm = 55169d60bedd7ab2399d830b1da06f69f94e4b0c\nresult = valid\nsalt = 41f0f173d307d40436c25856cf559f96\nsize = 20\n\n# tcId = 8\nikm = 3352f942aa93071da6d39cc5ed8dc460\ninfo = \nokm = 260a775477eb6b32fbeb4e6825464a47ac8484a92296a3a3d51b0821b346deadf57f9c82e589ee369fe6\nresult = valid\nsalt = 57a0db708b25a51afc4271803aa35204\nsize = 42\n\n# tcId = 9\nikm = 08867e76311126089356623ba5381e73\ninfo = \nokm = 59debea3637c46394e2fb2790ebf8760de4986f36a6b142305bb62d1466dd56fa201c96814a2e5846acdf141733ccc54df9e6ccbaebf84c4f40e21201e180b12\nresult = valid\nsalt = 0c164c443edcdfaedb1ab150f047951f\nsize = 64\n\n# tcId = 10\nikm = c55c41d69d2424a520414e3662aa7303\ninfo = 3fdf20538063b76901d61bbf9b72b0c18749e00e\nokm = 25ffbc81bc7b1c2dc1cf98020f55d256a31ce89f\nresult = valid\nsalt = fea9bfc92b74337e43a201a2dc199e27\nsize = 20\n\n# tcId = 11\nikm = 5d3db20e8238a90b62a600fa57fdb318\ninfo = 2bc5f39032b6fc87da69ba8711ce735b169646fd\nokm = 6724e716f6a953aab112b61e29d921fec0f8e806841d5ccd3aa567574b502904d04ae707d244187fec52\nresult = valid\nsalt = 1d6f3b38a1e607b5e6bcd4af1800a9d3\nsize = 42\n\n# tcId = 12\nikm = 8677dc79233ef3480777c4c601ef4f0b\ninfo = a38f634d947819a9bfa792174b42baa20c9fce15\nokm = 758546362a070c0f13cbfbf1756e8f29b7819fb903c7ed4f97a56be3c8f81e8c37aef5c0f8e5d2b17eb1aa02ec04c33f546cb2f3d193e930a9f89ec9ce3a82b5\nresult = valid\nsalt = ad88db718244e2cb60e35f874d7ad81f\nsize = 64\n\n# tcId = 13\nikm = 0f602703d37943e0253bed3da331aff4\ninfo = \nokm = 25b54be713ec3eabde9f8d25745672d1e6386c07\nresult = valid\nsalt = ebdc8510499f69b2e188daab77cd819cccb95f276f46e6b2be11cbe72700\nsize = 20\n\n# tcId = 14\nikm = 9fe65737574c5c7aa67646adf8230ba8\ninfo = \nokm = 24e3486d28a6574270b32541651cccbb93f0418905e628ec1274263681b943114f742b9b81db0f86385d\nresult = valid\nsalt = 73a34648c152443586236abcb46a090ce55ef6c7f282ffce6342d694650a\nsize = 42\n\n# tcId = 15\nikm = e8f2b1c3e6a6c3d5ee0a20dd47aafa78\ninfo = \nokm = 167928954f92eed2e1c82496e57cf091d9c96aa6d4c01ea0b4275f9f17ceed820d90287cea90ac8297f892c219885243a67429829bfc86ca8eabda4295236252\nresult = valid\nsalt = 3f5e162de91e0782cd189f3b7778cdc2ce6bfe9d3fe841cd3c70475d7b3c\nsize = 64\n\n# tcId = 16\nikm = a679521cdb56aafc5a4b76db0431a4dd\ninfo = 44ec41ab4f4e64f4a36e5e30c9f0dc1d77ae4974\nokm = 72f15cece4bc7704a841eb5047f04756f86ec549\nresult = valid\nsalt = 123033b1ddaead83a4b9cfef8a660bd8e00fde01e67c35656c6d7607d456\nsize = 20\n\n# tcId = 17\nikm = 49bf155ca102026f2a217ea1bc9843ac\ninfo = 851bda4faa8f7add2a3cbf0acf9c2786f8f955b2\nokm = f693a3253389435899adac72d3ff59c240c65bf282f373cea7a9ee00864d5b4f39b2000f7eb49af16fda\nresult = valid\nsalt = 76776e3b4d75f8f43dce4bded71f3b1ae6bcb012d9c0d59f78248b9427b8\nsize = 42\n\n# tcId = 18\nikm = 6cf725e939e8824d4392233eeac75d30\ninfo = 495425d9727fee2e2b7e78899868c1c3e7735e1d\nokm = e13a7490f842b6e5be206e6d5ce69b2a8e2cba5525715283f22b021d2fbc2aec59d0144088581058f0fb2f551c6d62bfbd8a15d2706e23e10f3bf7277fff337f\nresult = valid\nsalt = 1e72f24b05a91a0093f34306ffced79e7003055b0833c6d0f27a4f33a1bd\nsize = 64\n\n# tcId = 19\nikm = a319ff7b5ba9b14ac72b681cecf0f742\ninfo = \nokm = 83b3d9f22cb5765c16dcca24e6ce6875b180ec9253bb3950666c52e3711f3b9200d2a995aa548bc6bba2\nresult = valid\nsalt = d7e3bc6daed343ce77ef793e15a8246e4bfcbaf83d2ac956d0661d1df7262b2e7311623dfe4152caddbfda8fa8ed7a82656ec00b72c5adf7c9d388e5b3bc8d24\nsize = 42\n\n# tcId = 20\nikm = 34bae5a158c1678aa76a744417a70d7a\ninfo = 87ec30aa53acfc3d09ccc1d57d654fdbce403cd4\nokm = 9413c6e1b27f829fb82252b5ac5e14a54503e5f433fc8182a6b556bd7b8e04ac34b0d6006950d5917132\nresult = valid\nsalt = 1532075f363e061133780ac959bf653c7687d181b9431215d6f62dd2f1ec3019d61c50fa82c70ae25e624c849a276b0c57d7c02a4d753fe84a1a6621e9a5ef01\nsize = 42\n\n# tcId = 21\n# maximal output size\nikm = b8a3fec3c020e028a2a9512ad3acb688\ninfo = 006a7b5529648b31\nokm = d21bf9e7a8685d4c052b391b472767d436a0335ce2315a9e44d5b183da2f06fb0ac31733fe0cb0c1b47f1652d16b4ca84a5c05e4fc9432a840426d146cdf17924c62d3e1901cd3f5cbb0aaa55d46e0d3d23fd86f82a2bcf3181a548cef4d848960ec65518ae2230474d6177a29381e6537eedc2b2728db2573ee182afc5d72cd65ba04ed613f245f3ac401de5e4b30018040b8b1f253eb57a2128c2c0e99ab68dab4583f5a1ee7d0a1d16e9f00afb5f63a1e98268f8c66db5d49ddff7528dfe71f792a93623e355d0860d65344eee9eba04e739627874829c2cc469f27d467822a72a5dafbea14fea2aca2c521aa17985c07a8457b18a1965ce824bc886525c439bf48c36e957e567edd26ee015c01e01cf3ae463f8efdf12dd0d102d95310da2849b8b0bb0849e8b1b41c515708299c7fb645c8f5c86e165e14ccdd9f3ac4766e8ca74eec97f7632a75543d4a93818fcd2b3201feddc19eafe19ed596b76aa3a8492edc52e990549f91967aad94536e8234afb862a60c92267e029bf90e07315db87e56ce4fe7a857edd4869c44b4f410f62b7ddcd31bdad3c1d6016edff774ea7e17c1cb3b39ba918ef0d961725ebe407b6c89b06a9f012d8fa55abb1b84e277991d8b2089a7e228d326eb0c24632e4e35289a14cf7fa1f036de44ee56c0444bbe7d84873597fd82dd6b717488ba3086d57c76783e88cb0992944c66f8b87132eb9908c5dfcf30600feca06ac52d28af218bc5df00fdf4b8fe3fc3947e3ee24a68d8f7c96517337df46283adbad468daaefd334ee2b101692651cf5c8c1c60c2b204a111707afa2ff0520727ac222807629e65f8425c925eddd4a301ad247499f6640f9ae9818644cc94ce4b088e37ce728c48e42f82201b9b27c7b0e918c09b3dcf6484d6794ba27f10374f618c4ec49791a3918977a13099e53bb8fe4fdee599016e7fc91f849692ba97e722c90fa6b4fe54e2bdf4699857fafef364fda90767692818a40cd83cfa42e5c12b56f7d83c4a8653434ec7e5e9a13cb46019bdd215c106425ad51418a6258014a62a449287edbd879063d8db019de0980d0ee30c9463c50860c7a2c390974c09c74e634b0543212e99f6db9bc104e14fb7eb52c4d98c5df24808c59baeaa01bcec03dd110d0ca6529e437e2994dadd8a48af91734b638acfe6c8d216b5d1ee48143a0b24c51f4e24ab2687be88233d10bb974906d46ac8e08dee1191fe7455075c167a743290c261362051c28fc441737d92de5ebc763cb52bd905cd3cf115dfd3ee89f0051e31159965e285887fee7fbc529ece2d350985d13bd16abe379ac5f9a89a99b768d4f0353e2d52bc8636c1dcb05bed53e958937de69636e34d5f46ca5371bb0f38e2fd718a6bec6784076efefeb08c3184bc92e18a9fb7042910d1305b560b9c59223db160e2959f061cb0c9a0acb11f479d4e77c6d98d5ca73149bd19875daaf06341b86227a93e09765877c0d7d0e74337f9cce38d59f0c4c9fa202d1c48e9c398064d5f9fe802f634b094f47dc44cd041086b728ef57103162df6d62208c3b60f750a4bcc2ab461424fc88107cfd545518aab77b42fccbebc7bf3da92e4a8c2a1eeca8d7052ce8c94ba6393f66be9b758cacf37b7c87ae41e48f9d2016fcac2305d6e15256d4bf7d19d6129582eaf7237af07463aceb51edd7c56bbaae7a54af6678256bbd5ad3bbb328d0506e451855281c5b380f63c1bce87b370132570ca98e4e330c1ad12831771ecfeb6773eaa44880bc5dc633452160ac8388b9eddbd02fbad325e0dbd66cf20298cba81f3263a402c5e6d5d57d4ee5fe391de78d2103067fd889d870a36e7df6441e466262b759d3e2c051f7c850e8484b6fb837239e8d11570d095a76241817fbd518ac44bf1bdeea004f8496a252726de49f36b0dc69c0a5d01daf2723140922ddec55519d49391f9a34b7c1a5e00d094c0ba8af27bd3b2ae1de2d6ae15b23e49bf65483104ac62172c8f2e9ca109c59649d0318e5c38cdd659779c598c23620151783d521f7ca021cb910f195", + "e36d55bd963c25167cdb3bffe3642bde8e184eff7905affe418f80379393cd7ca78586764a80be777dc9d9cbe0840a4219c83459745f9cae786d26c1edc74f5fad27113fb84e8854c76e1fb02b1998253d365cb7aa682104765ea1f020b0aef0d3cd2378c037e5d64ab2dafd8a23beb5ac5fae3341be1c6a9c6053a3d857a2d74d56a7bafe341bd5bf7779bd7bbd1991a949850fc25ef0f2e012772ea0d2cb7e9292fe2658c6424ce786d7b7aaafe415adaf9ed7ac5e5ac8e24218bf9e629dc93d22d398a7872b9a0477ae98df9fb22e042d475f96d349029dbe108632d4d3b56dd89f352dfc703e2f25fba97da49a079133f1e0c0c729bf80b02edad76bb036a9ce1c841e5202d59cf63149cb3b81a68df64589fba8b1dc7f4fdab3cc8c4b5ac9712d7c9c41a6d5e0efebc2a9ad6310d30087395dd74b61aef03cb4facfd59d5d50d8c04c5e79518823f9824a94e0ec06b7157e48916d551bb5a6831ec44cae0cc8dabba3ae1b6c03391f3b5ce45861902a8e777fea9a5729cd16eefff724636284dea34605f53d98010fd888f469475a6a98b20c8ad8fc07466276e461b9821ea55cf3c42e208fc56c610f70368ff331e3dfdffbecc26e489f70b0a3e995fbdeec6b8fc87e19d3ac6f9036dddab7e8ffc38f58446f75fcb2cc4f7e90a721533de151a61c67346dcc63e15fe1a4ef1a98d1cbb25cd7b24703045fdfcffbb1249ebd3c1e52399d6c24838d7bd5b668807a4310b447c167cd3d3c13697f35225bb284339149bdd4618656b2a09712a812b2586c3492bc07a4c2f8fbe39861cf8d36dad815edc9cdc97dc2fe4b24b0fb3c2513e3504bcdb1dacf2692c98a6f90ff77fc5348d4acc44ee4524506bc176257b434e8584a483c4c734cefbb7457b4761e1dd2dafa10eba4a031e1f0f644e210e5bcfb7a72e2e14577c972a78b1a275f338145e2b7d80851013b784811a91c19c71bbb9df88ccc2c1380699f0d88d203800574a0830632e4401880c547c6bab52d2235638a7222662e166307779d2528c3dc5436508e25544d1025ac3dfb627781e8fc7bfa67738b63a86bdd9f1f089f30a71cb7a79dda35340ac1a2dec129cab38dbde6cd5dcf9d2da3a88f9c2cf65b4a1aba02ca213ba596af1a2f323a47ab6a07f0e3057c6d635b2f5ed1bc2f4f6ece8eac348202cf1c6d9f9c8738044ca5166e371dac0f305fbf1b5ef2536cedda250a4f209ab01c714882244b3c1ab3c0a0e5c07d6b928dbc52c9b23362266ab8a25e2ade5e06c3d645dd557630fabe57733c7543f7453e002da4eb1844899740d95ebe604dbb03e883d9f668b4974282ed491ba183c5d8cb2867788f24eed7d67f4b6c235262cf71d52763fb7688d3d84d92424b0b23468908e95ae82de41a2615cb009aa7e5f18c889125f1167d60aa24c3fd9e2e087c6b99d29733abd06c81e5a728faa0a945a2ac8029d58d7782f03aea0e185dbcca12e0564fd163427ebc2bf46bc71fa3564bc9556546ca2cf1e8ac1720d8955caadd08a6530c98d7df7ac14b07f7959d0edc4ac31e6d58d793be3c6ceb370868cb1ee8b57b74860576398fa5c7bc8d23e673745e7ecb1754dc2c873d6ea61057adb9b91dc4ca1ae1fa69a93e8caebd8a647915a75db4935e040e609e3cbd1e382a433b7a990488094dc53a91104c9c28fac9c74568e5a9e4d37df0a44f750fba7dd45b17c142057f16361ac750fbccd56fe43ccc548c9c97ed9a190e14be1bc2a039a671175ae625bd4a0a7a9f6ff27d75a022a5a0e5bea17eb6976631117ad44beeff05360580b8aa87d8a6c65b7f4b51d53c20d9ccf9008eee95cddc90032325598f0c671810edc80c9de9a74cb32de95b940507773347a17fea02f85cd2461e2e76e0f58315a7393489b9d26440283d89ac0d4f8e853e35790aaabf8dc26981bccb4b85c36393db621c26c99d1ccb072c8f250924fd0411136c5e2f9e79ccf450e785de248b75427dc6f858975b0d3f11feb0f8745ef8e2873424d34f09d04bf01edc974865fb2223b9cf72aa4aa35a5b2c9c91f55f2e545ac403e66435c25fdcd6aff3466bc9b947bd1c811c65de058a92dd3d3668f2ea7c8fdfbc54188d8328e445676a3d115252022b2e828ffedad08c2b96b10b5ca3057083fcc313e3a6d1fffac12987b8d518cdb8b0447f6f23d5266d95e03d36a806dedcc5466ca408580d5c3872d7f6c96bc63fe3c0ffacdbac126ecfaa9426483bee96596d0ff88f8fac8b9c67de4d023b3f0b146d8ee27cad9ae019d8982c85e361cfb7495dfbcff0486448251e34a31f22c0beece7f01f8b81448d267397bfe55b4b384d6604606015a744ae36c92d593a1cf33d3b5562d98093313f3a2ebc7b8b7baaaa0535476b7399ef34521f06d459861985e81e2f1bee5b3544c09e5528bfd472e01383975dabd907be7e9628ba660a776a9ed3a815ffb1df09753e8dc45a0225ba98e197508e0a22560cc0d76fc1692749a16c91dbed55e385593331f3bef1666de4c2b8f29f5df2673ac331a337da8fc020d76f4e4b0933ed6df06b5199715416d6ce46b760205b7583973bdf3967fa546c9e367d6e60f4c9f8dd79fc73a0967a58deb4b779f9b5695a91db67fc2c0e55e7d74eff97bcc322a00c5a5c0fb9564d2c128f5ee3b3378416894ff25b8445e52d21bd35f1759171cb4e6e426c71bab9a6cda6049d8eea904a0c95ebacc98dbf5a5e98d835b6e216e6fc062e600ba74c321620f63e76995637fb506daaf7b7e0514563b536edbc11a35515a75c58cb7f56f3f5ca0e7dfa3ec715089bf6e5f26ad74c10e72ba5f603f3ee51c7bc9645f4194877d4f4645c8226b1d974fab69e62aa3527ad2fbd101eb6b752a739a191d431a87d5c739b7d7f7804430f41820cde5e5a717ed84d80ad154f816657561d58f379e4a2e7761cdb505b5da6f1008143cac623d11859b186c291a0b39267da29f64d5f5c3e0e5cf0f3dca3b78372593aecff71541dbe2d3f89d0febe753f9571684bf8c1b82826715d40cc0da84fc2cbeb3f46c1e53f522fe5f682479503bfa423a2fe10396a9330be5c484e21d60a26aa3f70b210d3ca96226972b7b03fcddfde1499fa81be22e82d851e609834ff9be6407e0bae00909f952798a559809bbe47ea0e4e626de0445b79758726a09e38e757c5645379223141ac21de8ee298542670f329d77ab498f73adfd2d269dcee504d8dd046f7b496fea449e2b265874af3419d43b58df44d9be3e414775c715d65a1d4107bafad16bc315610a36b5775b7fdba09511ce68d1fac79592e740535a27b47a24f07b98bc2548df11610860c5918173f04cf28890e9c038846ea4baaac30b22c552d5545c7dab8f4a034367352336e58409ed2907df1a2fdcb0c56994477c2c9075ce3b1876abda5da66b3768eb7eba609f83376aa5175e3d23a49e8a4327ca3687e401b9fc2f00fb41a13059dd57f9053d438fb66050c4022f9a2d740ca1be13830047d47e9d15184669640ae993fdcd2242977f479b80169ccc802baede5fb86fba380d3d6313bf2034f71f9bd7616c02225ae23b2a83158e31de5726b79564f16abde403a915c0e8d9110319dd91e8c32ba5546ae522ba3204b70d59731d9971157807b024306cbb720563671b282b6e89f82cf91d5686978de9af12e523beb1f2947a384dfe1a6b18989a0cf1c42803c8238eab525ed3a25dad792908db3478d14cb26abbf324d589eaf96204c837b32a4c4e6f9240103ffaa14c1edd6b7ee221ca2dc52dc553cd4eea179ca9a7c4481f17a3f4a9633d29987056afe59b8f51b8665837c62c72c0a3b5a4c5c597327414485c39f298b190da1d9effc1e103b0194f5dc634c6e12c7a22866ae23e64a86bca3629544be79f5b4e89592a69c46d92566c7939385870e3337174dde45ddbda3691ccd6573edb897a15d2d17f2599c523355137de6b987cc35df65d0bba0e06e64bd3059ff94e723ab11bb4f015d72b42e1762226f163b881bf82dcbfa1604fe33107c978181d850bbaec70b44d64fb27baaf7cddd33b1ebb0872115a4fbfaeb6ca5299a02aa07ebbb28574c430d02cedf0396b8e181ff3631a1fe938b0ef175ac9e7dd399b663ec6c6c9520e4a63c80584d8b845087f5419d8c815b1ad78e402a4db542b900c71a16ada2cff190d6fb38815c59238e96e6cde1dda63a89ba907db338e0db29d6151722e9120126d70c6d348b8d3b99084fd8b2bc068258d43a34dba7f639807eaf2176ca7eda0c0e2b4e168c1df200734b592416304e7fefe17f051640464164d643e7b66dce05264a24354651cb803c012af3aa6b61c7c2c5690979b1e1b5e05fc64cb6dbd4c95df382f7d5550e12d7bb9242ddc025f2af03a44f7974dcf5da038f23ad826e9177b23f6163b827a98f0cb065395235e7d3141f94e83e46e8fe71c9e2c43c77837c8616150250485db8a41f7dae069fba1e453cca231ac71454bcace3477af40485ff2f24474115a6029163ab3b7186af02de5c3361c3f26741b1d86334823120178f6d453057cd7b7df09c908ab114c0fda4767bcbc43d1262cb94f07c396ff51858ea2a55ee02873cf9fe2c456f8afb5a64671c05c020177891ba65fd8a3857359de1fb4fdd80d2f7bca6e369f8dca930bd1c977a141728afb66abbad60bbd3b5a08f32901354067f5442de768972a8ac3330f3b4324c16c1a5f4b321c68467404cfe642418620df5078d8525919eff62163c388ad4c2666bcd06330ce5737d438b59fe84f4089fcf35dcdb17ad93d3d40e32493a57ef97a6c0d45604623ecc80714b561e515c0169ccf488ece2672af491446a5d9ec8cd443d6bf95258d2bbbe220be1b56f1179231aca39ae84f5ed34ead9511a2e9af44bac69f4bf42b241696d4cdd5f260d28c22d26ebb580265c5046c81bc386c0bf698ca1d412e7cadcc247dc1c774877f5b9ff8193128934fbcdee8e0932e6658dcd30d07391f82f4d89a17e2b622a8b87997e1848490e26efbc6e79b9e1c40a414d9f84e22a0dec7e21321245c76e64921e3030a1076c9a87596d5aa97caa5c9c68b3280427668348985c7b7759db6fba4c1ce21ebc6b6889fd7d925215d56758131c515b544c56e75f95b90d15dda7f309b7740aa7989cf1a9e3ce217e0ca6e27f502731bb7821a3fdfa73f915ee49e0757a897972d58475e4b12ac735cd9e6b28b81a76d2ab0ff179fc1755a7d96cef5e8a68ac9256d8d8f17d9182daf1540d7af15aab8b1517f7b8656fd3e6708b99dca9a1fd598efeaaa60ebeab6adb5a76a0ab6cbb7dedbe3f0862ffb028ba4e942372344cfe84da9fdec4ec75fb290240828c4c31a1fac0d178f0dd2245f29d346c3a841f863130920bc97dc05c510020852f3c01bd783a8c6db64228b973b20d72c45bc5482517cff230f1a9bf1d8d0979f62049bbd5e8a3e1bc54f6a1c148289b2a66685ddfd0406bbab589abfd183c4299ed66283beb96556ff200497804dbabf9b6702a87692b4b5bb58e01d16ce069b6c3512332b394db1c91db0882a571ee41e458bc960e7535668e334152c9d46e9c155ad09617c348c3874e5db311601f25d5e1682cf69689c15c13dc5c8d836ff6e30b0b804e4810e280252f4bee9470964159f2b271c275c9615b341d20f292107a481955b0b986365c3d7f05de29a8955cccc5d42113c21fe60e2a4a51be45784fc304e8da0091398205a9afdad9b62361d6f8c42b16a7990d5fb50ebb90cd1e1052f62a966a9e8be73593b50be8398c5b3e8f7ced3af398d537bce72a", + "b1d7b10b4f0aa77383560a79f4faf2f29992c1e2afda295d15a65e30e6f968d00d60e5f1dab5a847060e55ad9b64f0203b21bdb506319ad379302c24673a727acc17b59ba12f20c3ba472c0a5628d0b05213116e2dfbaf9e98628fac973046f60f930b7eaf0790ff010914c19e93f07b74ac3f7a6b6c3cf92adb49443194f9167f7dd553768841b34d461f7b854a40926b016d8a0123a1fae741e07662e125d42fdcfd765c52d518049ff16393422e6080b9fc69117e5f17f3764917eba5fff3f078727048f3e5bff1d9eefe8ebe2fb6db7c54cdc9b7678fd0d6551aee06b584dc4047beaa72c198bd96ae9eb9b151f29747af88b75399b21570ba6cf983637e6dd2b1d42d39d07108464ee22d81d640aa4cdbdbee7919de51d8f82710e32dc722a04a8ea96aa32a7a19c7048c1d76d2ae63ea288b1120d139bfd2e51f634c82f6f10a5bf18b02725bfed7a2913896b5f108fcebd949d04647467e9837256d9918c2185905e078a14d2945ae64d57eb7ebf9746f80ef939c3b1a307c6af627b91db34d59234d3b62279fec874720624278a51fa6d22886456135bc98b683eccbabcaacab2f013fcc884c554ddfc6f91950215c4f1f750cac338ef3e420a82c1ba15ef420798053483ced448b730e386f0788e1a3a747f8365385bd0e02cd42f1cb48a61ffeb2b2e6e3ad75363a118a27dcb86cf27400be97bc7d10bccdc03f6e19227ffd0e3881bd7c3126d682596abc15bcebe77854ce2844219b17f604aa2b4cc19971e8dc163ac654126bc39966d35737ae75a4852ea1c29183a3700e7cf609ca864285a8b92de0f32ae7c33b5ca11aaea05e10f87d892c5571e89dfe54091639bd87636245f06cfaf87fa3a7d6d657ab3aa89f5fa6b54eedec92186b2026954045a07822997051bf232e39dc1a36a50cbade8fe4dc6ceaaa29008c13fcd7ef96cafc7554b60d479132b2810ffa583aafd6c7e188293c4c35008d895fba6634eb20c92bc1fc2a93f7034694e6bae8d291c59caad61a723719298ae5d99fbb0485837a284f070fd293f74307fafbcd5b9b3a49c96d9b7dace812d6fc7a94aa381346e879601fc292e850d5a732bcec383ec59a1034a573793ee07b9c30e29c3f3cf0efb40693b8ee6df08cad92be3bc4666093daae5484fc02df28f3601861a2aa9ea96e68bbda698fbb032485a55c4baa03893813804f09a4d3e639f2d84c553f2e917b3d47f658820702a6cda2e06070d29c71640c677fd76c429f98ef0b65aed0d5c82d334a3e22b5e2d49a31518d61833ed8fcef352146e7a1ca1c9eac1d786487e357a108ba102415f9d87ef8b00d1fdadccaf3328d9376600ab0e4ee2400aced47774ef5374e62ceb9f19670e144e4590e80d33e0f5863be0e5c515656c7f0880bf57ad0b986affe07a1f66cc9b1763ae7646a8f28f6c804b6c8c260f5fa02af05cffc3a631377f0e4abe659e55655f691fd9572ad832f6485c06bc025d5300dca8aebf5ac0094e582c5ba28389d76fe6387f933db6d04b5da56b739824bd507a072f32b5e10be0516718d1c9031dc83aef222abe60c6ced982b4256a36beaa9d15e11fd3f3f600e28c2625ba2b7a9290fbe89a41465b075aa5f00b1bbcbbfdced6dbfc41e30d511b02c9711510087652b4c6637c44ebaabdd0d5527e5017dc4a339479c9be804bb5b606ea3e701e88bf02cb6c2b3e8c6f7e4bf730c8cc36748d38b96300ad92136c9ab8632c54da6d7307afc226eef8b3b9c849235347fdd953a194a90cc730edd043d44f4387858fb88daaf9a0b4f73abc949895ad4af054a8d31b69a2a98090940c24cf008fe675befaa7641a79c440e666905a055e4ede90f923d8bf16e2c451bbe8970e4c3c54ba5b1c3ddf66e8ee0cb3ea1d417cf82a72d244ccad0288c9231809302494235e905876cf8ae1f874b61d78c26b9e1645f68a0478767d049dee312f6ca578ef5630cf4bcb55967c960077503927f3562dab3e37bee4c96d18b66f969f04d592457d055302ac96fd47abd3582a5117fd62b09a1a8c74c379961fe68c9e1792a2097d29c1d837161edeee01a4b76158b0939af676edd2bcfd18bced7ebd0ea8464be04edfd2590004004b0b24af9c1c028fc2b7e756408854ad3d4f89f8d1d27f90db5844c1622b007c47882f316ddca82c7429c870b2455aebd0519bacda287f843419cd74bb07a40cc08d1fc812039254411266245f3b16dca3d88d305d7ffeaae1b45b1bf622945e3ce4e90ec153b9ef84741db9782f1b4518233ac86e10d5f212ae7dd3cbbb952336401a1831621aa7aaaf1f053efdf3938e73ec95d084cca4c2a266e7a1db5e58851fc291db9d0e7bc4447319feceb83767a5c226010db7c1068e8831d90c0051689a7d7a9dbf687d1f1ae43f62a33d3076784cb5d800c2e3e9007d9a50c1d218efc59bb6d5e61c12112b90f72deb9348e874f3292135d7ea9dd6061a6023cf8d9d8c3abc3a8f29a50f2a2be9ee11de0a910bd3763f0b90946ed1fa5a6494fc65f155bc0a1349f0c3626359746e020f8d3bd83ad591f6ad00921a13909d6df288f4174bdd2bd231d2c5352fa232687c5262432732b2837fc37874ba8ec887f17e41a0eff1b56a03d6d4cce12cd60b426a0ce2ca0a3af667874b2c43dab58e65f83c0afe85e36a754cf460fd66689746ecf640d5af440403d2339898647dd36e733b550f41882b6aebf31d886091d1f3a7044ac84014ffc793f34f6633e419599c792042282f37cade01ea1b307cff1f7ddfc340703166c24a63587324859d7190d540352bd31ecd34a2213978980a490c456dc55adda4f3c920aeaf16611ef0516180d05ccfb6c05a8df20792591a12df86a3450c0bcf0ee7ca2a861c9eab2de259e77391f4cbc3125e67d41553644b2a1a8268647237255bb08e884852fb050365574a5fd78999e23a6b0457b7007c0f31d1919680ba10e803bb52e8af42c4dd85638c87d5ea436be1c8102876cf7c38aef78864ad5ab556b7648806caf6fda6dc247f26754862b29fd0d8c89b5c70476132737eb9d6bbf044fb0eec96a961d4f9975d866a84df0a08cde0e9525b179b4b4f18ea67d035fcaa946e807bb22ae18c159241534ed15da394ed5f73b1d74c51db40283048dd8c0f8c5c807cc7c13129f10d957b698470c05caaf280b37f605ff4d855726869251fd4952cb35d6a873309a7166548cc3aac9008589a6d258d8b4b31835dc26504455bcaa25fc580f27b213d8af43897d59e89cca09472f57720146f4d0748040c2f21764b9b3faa75e5ff78d3eebba844feefe0ad9bc0493599bdf1de61b3d71446e6acaf3327dcf61635e51694d3713732804b43989a43d293f133ac21ead51d1f2b92b76b3c61f8de0aa8dd660effc9cb1bbab80f9d1915025cbf3f70198f979a5a1e15db18ec2b78da238cdab78dad028fd5aac7ac043acda7828234d93bf512e09deea886b6c9459962705f8cac432ca315c3b9449c68deb4b0e71b4d393b891bbf92c6ba9dcec3fece0dd91512f49af9806c6c05f950bf2af2842a85fe153153dd658719a2e1b1a2e989448fb0c9b456d81f4ca770140fe9e37e1ccbe61893c1886ba8805f08c9417c8a3998b5adaf96a37d71b953aeae5717258b9f11fbc891d2bec8ead8d355656a0d0fb783cdc1353af35d8cfce2ecc36124809a77cb6fdba75d0f1ab2c9f82de83e1d166a70edfb86129d9b4e362db8d4dfd6b37c6c85e0399bddc8d30ef6b24e1f0a49871511aa210027fb6dd37b979d3a79cd386d0aa3629a25df9e77c33f4eb822ea3daf6c29be1c2d88d3ae3be2321c8fea439c0da77cee72cce86673477cced34d4fd93aee2d2dde285eeac032a81d4df620603a141fdd1d62ee11d2a82e70c4134ce2a80071cd39cfca105bc669319fc85aae441754ef7a3ea83ccd1ccf3fc6c22b998107d1c747ad5dae0d304649f2bd9e21e3064be40ec7b570fe564fb71d95f9ddc94ca45b8768a0b96414dace446411a07fa0100835aa70b21526a1d6f59c167ae22e7e181a14cff96e1073f652cea4ff504180c74320633527430719178a4f75e65ae9464d7dff690bbed239e00e7d166c5b7f8b6f12d510c7d8e619976b359c3cf71b6ecca2984dbd080e631af5c0e5b4c5641aba47eeb4f3b0d942eff17da0f59ef22a12bf3c09f3c24b462743e396a0bdc21b728bb1a73c6d0038bdeb6c078efe49262c597c50cae204d7ee129f7189ec333b2099d5b8c30a5e651402dfcdd65aac3a30ce35e905b8480a45f3f339b81eecc19ed0b36f40fea6490f47ee1a3386678164e1f299abf45dbadd518f38c758bf4366f8e6a5774ce0ae4c4501f11b06fd72eb8ccc25e5bff4809ffbc78faf3b0055394348513fcc2053207008244ed0461660105fcdb9540cd7a026cd3485c5a06ed7907309c1666f9391eac01bf63d0c6d4818cfa4782e5350f14f0b61dfc566d2d6ae766ba4832a974e7524c351bdcf5279fc49f385894f64c56dafcea13762d9c1763515fe16207ce1873a183ecb0a7e557a2807289a868cc4194efa2b46e0cdfa8668eaf99e583888030891f9991f47cbd11e6594ddcaa87f1d8caf858fedb73269b5dc5749aaa794cd37241100ae2c6ab74f5e5d091cca278b3e2f16109d0fde76230e5b3c91c6b63dbf736fb2af20429af3975d589ccbf41515d492560e92c4f72ca6655c3faa78ea5f49487d2812c72b455b8be1c1b881d243e1bce03a6b171cbdba96e795eb0164cbdf40538e98efcde2843a8b1b12e66daccc68e2b4c169a7198090dcc60934783bab955259332dc3b2fd9f2ee83ab234184c22554325e0fb07c52cd3d1737f12911947312c46ee47ace07e8183dede9d52d1e4d9b8447ecc3f21d8ae22c4065d4a12ec8b0c317324595f5dcf17b14642d0e8b18c1a821723a9970281a593fd865fb6b9fe3c93e58767d3a60a55972e505cbfdafcd957752d2015af86b956972691ae027725c9bc6bd5ad63e8b41ccc5c6c0bce89441e1ecd86b20c73780b4e453a10cd3928c354bdb96fce9f09bfc0c0e34298604a0f2ab0e87d5ec6d3e20ca312695da3b65f8218f161a05fb224437c94c8a936b2f73f27f112df39ec596ec8248e228d379acedb3664a1a96825db7c770c43cf3fd1d8abff9fd68977a72d2cb6c3792c88588913e106a77749fbc9f8f5f0e3178475caf5b228327a7c1620c3b4e3a9e41f66456e40f484343dd3e14ce084e82a06d285379094d7d820b02673e16c79dc1a5e56c04d69a33b328a944d94e33c8009d7071d3dce25b74b1c7b7ff60cee8807c9dc1b8e854c79087e9ac00ec8216e01f1ecccab81432563d71e604af79bbb24761c6fbebb1b5420764624e0d6b08d7127661873b756cfbd99cdeb494228d03a619cda283e430da5cf2ea8854e3bb42b5af8dc957901e2442c89d189c7d0739eaa4c79aac9cc829bc70320c896d626b5cd2f862bae1294f3e2c83270e61c12d1db6064c4be559bbb03bca33d3129437a5f0f0696b9d36cd29b4f98561e4cf0e765258b324c50066db05ec4ed01caf9f6fec58dbd5818fad71b2ddf59c70506a2245e3a3a2753152d94b3b79a90ce2af0f6819bd9ccda102b73b81419c2a317c59d2baa3a963214050d15aa8fa85ea825a8e9852bbd3711ce45b495079b610c18789e0123c6d07178387bcd88fff0ac62437c5dbddcba1ea4af9ad0983f57381c438ff89700eede5047951aae1cd545597ef2f59b82ee173d1e06dbfd55f93b944ad68aafaab9eacbe1ee366e2e650881647d375abf478ea48cd", + "b196c86fe5d9afd3511845d644f5f3c3ae76d21b34b6f376f9e0f145e91044d78ec47a944df31f6683836f5e7eb6ffc458a6438a30fdd070c90d70b45feb320a00012ee6a5a4c00f2f39c16e05ec35367b1e120c243627a3ea42fea333fd54c5e5b487b81a52ab2f0b7c593fe1cb8aadb8b2d29be1aedaee0567356b44aa4ec3ae5440869c7a9fb6e9c31476fd4cebf1c1c59cccdba7d2ca0ba3df636522ee983169d521cc9ae0074dec1083d54df92bec7aed5c97190dbc1067b0950f052335767eb7fb1ff54ce78d6ab20af3ae08cd83f10e22f603fdb6c216ca88c01b6315f6f4c20b400de3363ecd78991171a2b6ecf5fc2d66f5519f53407e6a6e28cdd2789c5ea21f4ebf46ff6fe93b7f30f7dc38b3a9b52ad0cea17eddfa88d534a5a6589ddf5fd5826f0ef3294f6d40cfcfc790ff25ef282a0885caf25c818f3721ca7463c8b7e2ab00fe3b37379bd9b242962702738b97809e45f373bf98e8962eca221d35406dccc0efb041d165ae9ec16044c8929c66c8e6aedeea0164cb61b6cbed9f46aea04de581d12e9c33329f0d70e5ef3ff2c75c6152a65ebff7308a64a8bd8b4e3aeb7795070e9b1dc19522647a48ac70a7166df2aaeb3b11811a8817593ace2db23076bde79a99400ca25240bf180472d406f171545c461f69f6d550dc1e7afb183dab9975f0e4527c9271aa330579a796010bf80138c2721d05a997e4d49f099a19e781c8b78fb8e6a85b004dd0f8a745e39342b19937a20cde7ba721c1634e89b715ad63572e94542e7ea4cbf0396d2f289460d4ce0357b25a01dfb44098da0fee41b85411b4097eb860f4ac9b3713a4164b2abb1b264ddf347cd84d7941d5f221c84d93310c1e3a1c86c7c64cc4c00d45922bccaa9bd4f86af2b40e3610664ae6be78f6cdae5edaa59893cd91d1b0a33038ba2b102c330785914140426c2992baf110404f2848e275fe11c40b6aa98aba6a5a79777adeaaa783f1e60f95bf2c12652ebaf676b7725fcee87fef63c46c886ee6db1cce0e084edb9ee01d6aca1287d77738737e7c42481260410d0ba8cc71f22440f9f309d893aacbe26f23210bbfb5d3957df2ba2abc471d43c9794fc6ef7df55d32e167e94008ba64ab3cff49b974f0a04d6513e687cb363acb536a280a905933c5e0e0253b1d5cee4812c7df42abbc6aaf17ec4ba0e0c408fb040a28895970d4a605cc87136480807260f82628073e62b21b6cb43d475cdff3dfa278bed482d294c1e82f9d99d4da8698d7223ad0a19b18024ff4aa1027bb29a3b35eacec61175c97e99aec01676479d04e2e3ea09bc0a8c2c3d08e6c5bd0459c4c7c64be06ee2eea9f17c93416fb1e13b6eb27c070bc043a05ce02ac9469d101d20044ec5502a6f650550db40bb4f1c3dd7d238091efc8f8df5f64da3e0df42ad021388d79b79772c06a61c262ead76e95c51d720abb7ddb069662a37b1348430c001e1ba0c7c0336ecc363acc425834efbf31695f66526b09e559c209b4266ad344a3392f1c7a086e08ef4d790c261549ec19b736feb243c97704e1a4c7edc3d50e95d531795ca20a65f2c6cf73c497e93de0e0849df72e25ff882159aa1cc1e2c764acd79d900b7f627bae2d6929eb726bb94c3de42bf0ce7cf086ff47b33ba63ab71c0f4a24e07708381f263c481ca25098c6e977e9aea3a99277b5c127ea056006a4478f73e6660aa5ba6890fc9c517e261611c74f7ef2c9addc7ccedb13731f36792b55cbe3497acad6c84139d62f525789ef648208804cb5300b74bce2fe6c35b16f4146d92ddb6ba4f499425f8d9bcab94e340154492d0c1590820a19bad95761c28903a308e84a0530a99ec5a12262a5f2c6c3c43555cadade946c59c0ef5db8cd2ccd388661f3b3634aee15c5ba323f7b6ba592180d2e68897d24408f4c102c4746c88369865e3798c7bcc2c26af47e0dc404b61ff62e63b655e42c8268618469519a3de8267597de938fa149166764230c3f442b484fced4e73a09988863b9f10d23c59402b7822d972ad2f576be45143897fa08bdc86ff05975ba047aceabb4d8430151af315146fceba98517e10710ee5dffee550cee6c1f9c7261b546997e994518fdda25f9e6c9d00bcab9017f7c8b043e750d3fc8ddee31984a40803164260f809d93c2a9ed6e19273bbe6984157d1c0ffd9df3c38eb64462d1bc220daf2d82a31b523befbf3c0f84803e092ef314eb8420668056f445193471a45a0650ad0ff4b2847735d00b48f4130314393d6263792e907457ff80ff7f16ff1e4716a31479b1575b693c685d0487e18fdeb52320a57d75fd1b39bd9c3a23e537a51406ab438627a32f1e47a7ea4bccc432e6dfdbb86da1c44c639680b5389120bf218fb9aa11e8b07e6828ddbdd96a672a5d429807ef1706c9996d8d3f7d4e3760424d6da0e678da0892d352e2d60c310049c1628a4c8b9f42233b0b25a4bad08f4301b985f8fdf886c3c9d83def2fb58c0d443d3a64a75c06f93e7db5ab0744883195c29bd6830745940600a7644ab87717526adac7cb69f463a66bed88df2d7872b2e964ff059f7a67c1fa61eb50eed5f37495880fa7023b36b2b1befe55ab9fe072b1acadf6ebab7fbdb51c3052d4d56170af68292793573397cf1a0d721a30ade786fcb61ee10dde6b9f340c7ac85b57ee6c01b50dc983110ece4641a8e49b9c7a02e13b9fedb550bbf9bc250cf9c9f5d03cb6dcd7ca1d0859e1722fed1e38a521d05fc1dc18d42de7cd7f5ffa17faec8f8bc2993e8393635dfec2b6669a82979367a57734ce805d9d927621517abc53601618c7b5343442e75b0084d76d62e2ebe04c7f3f8bd28e39b8ea3a2b6d7c2021a026a7e1058b4531bc34b4852004eeae6b5a55f212ec3552bc7b779fd14d03b9343a754d7d425c92b0beb6f65161e377b8f86dcfa7738c543a16812b57c0aa8b36d6f62c25737c828f217175c3bfa6c707837c32ca51533459155e368c3da99c2b31c063d17ca57b251726ba177e26d3ccb75891f0b0b6fcf3839efe99cbc6691f8dff63a988b13c08d1ce3a7bc4cac8d0a52e9331543321b76ceda20df0a7bed490a4048d8a9811a476ac8d0eae6151e7705d76484dd6606bd6f3186b248a6bc56f98a06641bd5a82cb2de1c8eb87eb0839acaaa22cacba4b2d47f6facd5c43e45eb73b7778af40f465c66d88b3185b067e838f115bed756956b683cd3f82917107130a0dcb0629520cffae7d3edcdd5d8a739447b6e819f4864c1a71f378a9343f266162adae57f7b27c5cb17606ce89af722fcaf1f828ebe4bf4c01bd9478309f639b95c513e63e51d1d9a207f8ec8eb3b39f3fdb6dbb8178dfdbe136ebc514ae551435b385240f7d080e01d0b7ff4480f5736efc24468f8a0f044fe6f84e4e8954d29ff5153a130b479e1f45ab50b9554df7736ae46f8f405d3ae75ca6416bba8932850bf057f6fd862154148b45e3ba00dd900b1de69879ae428e1b350d513405c18eddc0f9f4980406482e49828f39ee8c1f7f96920a466fd6bfb0e2d36290bcd3d7f52cd6633b9c89593acd9d2e8a43b982b29faf6251644039785e0a66df01e67da68f8d2764eacea4f3abe5e1ebb42e0db1ab787d028356fe739f966023eb90130afc63e1e947ef1bcc2a70d7e600c9ce109dd6af55eea8b\nresult = valid\nsalt = 324ea1f30b8dc6e13694326da568c57345b6383444fe6bc425fabdf92653fbc1f5158e43bddc5526ca2ee0caeb301977\nsize = 12240\n\n# tcId = 22\n# invalid output size\nikm = 39053d8bdfa97044ceb676ae54563de2\ninfo = cae8a93087e97de1\nokm = \nresult = invalid\nsalt = 85522968a566b7ba10cb8e7a6f10159977e4a572408ace1b65c481ccfdf09532483cf308bba0557c9a72c849780e044c\nsize = 12241\nflags = SizeTooLarge\n\n# tcId = 23\n# output collision for different salts\nikm = 5943c65bc33bf05a205b04be8ae0ab2e\ninfo = be082f301a03f87787a80fbea88941214d50c42b\nokm = 6f93965b7399bdcaef06c151056ba14b7392a1521af1145e0c1d05e34b6f19f3\nresult = valid\nsalt = \nsize = 32\nflags = EmptySalt\n\n# tcId = 24\n# output collision for different salts\nikm = 5943c65bc33bf05a205b04be8ae0ab2e\ninfo = be082f301a03f87787a80fbea88941214d50c42b\nokm = 6f93965b7399bdcaef06c151056ba14b7392a1521af1145e0c1d05e34b6f19f3\nresult = valid\nsalt = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 25\n# a salt longer than the block size of the hash is equivalent to the hash of the\n# salt\nikm = 5943c65bc33bf05a205b04be8ae0ab2e\ninfo = be082f301a03f87787a80fbea88941214d50c42b\nokm = 94190f4f21f412c1d9358264a9dbb5035f94f39f5a503c0f54189b1dff1df637\nresult = valid\nsalt = 329f445e7de8a156cf26a0208dbb028d9de6ef76b8de67ca634f4a5a732138a1bd436a7b345d7a0314c7ed0a00b0d34ecad2cb8bd141e2ecc1c77e237094d55154\nsize = 32\n\n# tcId = 26\n# a salt longer than the block size of the hash is equivalent to the hash of the\n# salt\nikm = 5943c65bc33bf05a205b04be8ae0ab2e\ninfo = be082f301a03f87787a80fbea88941214d50c42b\nokm = 998ee6c2df90e53c32281303b2860c214d0325928898603e3dab40ae85cd6e66\nresult = valid\nsalt = 8900e95c7464dd4ad187a480befdbac713cf5e049c4aa4918f11e9caa0e07503cbda48921f5779a685dd220e484d6927\nsize = 32\n\n# tcId = 27\n# a salt shorter than the block size is padded with zeros.\nikm = 5943c65bc33bf05a205b04be8ae0ab2e\ninfo = be082f301a03f87787a80fbea88941214d50c42b\nokm = ef1423258f12fb40c01f773b9af50226f691abfc82def30ddc09d6b45e9beb03\nresult = valid\nsalt = e69dcaad55fb0536\nsize = 32\n\n# tcId = 28\n# a salt shorter than the block size is padded with zeros.\nikm = 5943c65bc33bf05a205b04be8ae0ab2e\ninfo = be082f301a03f87787a80fbea88941214d50c42b\nokm = ef1423258f12fb40c01f773b9af50226f691abfc82def30ddc09d6b45e9beb03\nresult = valid\nsalt = e69dcaad55fb05360000000000000000\nsize = 32\n\n# tcId = 29\n# a salt shorter than the block size is padded with zeros.\nikm = 5943c65bc33bf05a205b04be8ae0ab2e\ninfo = be082f301a03f87787a80fbea88941214d50c42b\nokm = ef1423258f12fb40c01f773b9af50226f691abfc82def30ddc09d6b45e9beb03\nresult = valid\nsalt = e69dcaad55fb053600000000000000000000000000000000\nsize = 32\n\n# tcId = 30\n# a salt shorter than the block size is padded with zeros.\nikm = 5943c65bc33bf05a205b04be8ae0ab2e\ninfo = be082f301a03f87787a80fbea88941214d50c42b\nokm = ef1423258f12fb40c01f773b9af50226f691abfc82def30ddc09d6b45e9beb03\nresult = valid\nsalt = e69dcaad55fb05360000000000000000000000000000000000000000000", + "00000\nsize = 32\n\n# tcId = 31\n# a salt shorter than the block size is padded with zeros.\nikm = 5943c65bc33bf05a205b04be8ae0ab2e\ninfo = be082f301a03f87787a80fbea88941214d50c42b\nokm = ef1423258f12fb40c01f773b9af50226f691abfc82def30ddc09d6b45e9beb03\nresult = valid\nsalt = e69dcaad55fb05360000000000000000000000000000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 32\n# a salt shorter than the block size is padded with zeros.\nikm = 5943c65bc33bf05a205b04be8ae0ab2e\ninfo = be082f301a03f87787a80fbea88941214d50c42b\nokm = ef1423258f12fb40c01f773b9af50226f691abfc82def30ddc09d6b45e9beb03\nresult = valid\nsalt = e69dcaad55fb053600000000000000000000000000000000000000000000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 33\n# a salt shorter than the block size is padded with zeros.\nikm = 5943c65bc33bf05a205b04be8ae0ab2e\ninfo = be082f301a03f87787a80fbea88941214d50c42b\nokm = ef1423258f12fb40c01f773b9af50226f691abfc82def30ddc09d6b45e9beb03\nresult = valid\nsalt = e69dcaad55fb0536000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nsize = 32\n\n[keySize = 160]\n\n# tcId = 34\nikm = e2865d6bbc1abf6a815067edc4ee7aa33c290d5a\ninfo = \nokm = e0f2f690fd50db3731b19ba8d6a7bbaeb5e9f7fb\nresult = valid\nsalt = \nsize = 20\nflags = EmptySalt\n\n# tcId = 35\nikm = 8c177ab5f40e9c57203883562f01f174070ccd97\ninfo = \nokm = f94067eaf6df97baacb1b5a519c259b7e9b9322d6da9f71e976611cdc6e7007eadb1d6180ec1ade0bb7b\nresult = valid\nsalt = \nsize = 42\nflags = EmptySalt\n\n# tcId = 36\nikm = e842a4fc1a147cf2f87de9bd5a42fce6457496f7\ninfo = \nokm = 380c941a86c66affb4694bebec2858c5c1927a6b920f84a6a952a30ba215bc41948c72e90a8017eaa2033d149fb955a2a222c5101eda58c3d7667cd7764f4795\nresult = valid\nsalt = \nsize = 64\nflags = EmptySalt\n\n# tcId = 37\nikm = 5b870ee1bb97ee83f67fa7335b4a0f9dadc80d12\ninfo = 0a0dfb2a6e051441678788bdec04cc1b63ebe1f4\nokm = 99d9e9b5e7c324f8fff6cd2a2152dc2411457f78\nresult = valid\nsalt = \nsize = 20\nflags = EmptySalt\n\n# tcId = 38\nikm = 58ea7ab33acff514ec08f41e59c17a3c66c1ceef\ninfo = 1cf9e25bd70c5546ea7a79eaf5d90cacf754c4f0\nokm = 2e1036f7359a52ad08f987e8be907e12f36f0a3fe576e1e27365a33439b4ce23a10f6ce329428cc7f471\nresult = valid\nsalt = \nsize = 42\nflags = EmptySalt\n\n# tcId = 39\nikm = e8d20934b9d320458f4854e2442e2f0fa092f461\ninfo = 4425999958aa3cc629300c25ab15be8cea7a4277\nokm = d1e7a09a0f77ae7dd5cdb8e568aa53fd4ba63688623079fc8df2a53c9a44275cc61b09091f5997d0c819f89803fb6c990dd6a599f00ff68ab379e7afb29a5b4a\nresult = valid\nsalt = \nsize = 64\nflags = EmptySalt\n\n# tcId = 40\nikm = dc9e488c684dbf0ac8ff1eefaa0666d413d258f0\ninfo = \nokm = ded7f0b68046268ef0e81b03aa74ee58ea72b670\nresult = valid\nsalt = 9afa7df500d7a17af1f44422d25a62bf\nsize = 20\n\n# tcId = 41\nikm = 34b85c341a04cbade472b3f7dee4de4d1954bf70\ninfo = \nokm = 50f2b92a23e76b1cd51071d9416f4ae497a967068616d55aba15ac025ea56e21a4c63adf9c6b2696d9e9\nresult = valid\nsalt = b066b42acea664350a8448f8e064225f\nsize = 42\n\n# tcId = 42\nikm = 44cc641e09f7d5642f7b6007ca5a1c0813319666\ninfo = \nokm = b1ac58c93111b1e81191f88eb408ab179881f3bb1c171903aa335cfc541ece2f8ea7eeac2df7f86a7c2d867e06a9173538fcd3e38bcb99128d76887e8ffaf17d\nresult = valid\nsalt = 69c0dde6c8e5bd40553a5981fad6ad87\nsize = 64\n\n# tcId = 43\nikm = 88a8880cc2b73e73b3b6ca1d4902caf2128732c3\ninfo = 6dc723df3d26f704067afb2fb6d95a66516d089c\nokm = 43c3e04295d525a0dc49591dc27e4f75699421ac\nresult = valid\nsalt = 0579f690ed32e57a26701a9f6877f243\nsize = 20\n\n# tcId = 44\nikm = 8408668b9d671121b8c7d31113f045c0d7c020fe\ninfo = b4451b0f1a217db703582881e86d8044d5f2e092\nokm = 22ee54eb05ea001854069664ad1ebac22323b0b79b6def905942757d1f038a63e74bcc61b00119d3635b\nresult = valid\nsalt = 679b30e6930a8ea3f076e317b9595d5e\nsize = 42\n\n# tcId = 45\nikm = e6715cc4ee13c4d999d8f8f500243c321f70b0be\ninfo = ef17c9227a5ca654fbdb35dd00dd6dc77b6321de\nokm = 9d1ca84928eaf8cde23028ae306389313265b4380cf85459602d86eae08d32fcad2d6ea589eddaf95545adf856f0fc46902d7ea0656cecedb1cbf2191ac66a54\nresult = valid\nsalt = ecfaca2ea3301a992b4de081d9d3a4cc\nsize = 64\n\n# tcId = 46\nikm = 9a6b88f3f68f5a8e79903b51dcd733abaece1a41\ninfo = \nokm = e15666ec2261badaf8364f4cfff8d21f240bbccc\nresult = valid\nsalt = 0226df3d66ee3abb275eb39c8ec3d3e12e9b87b67f85c552accc4279ec17\nsize = 20\n\n# tcId = 47\nikm = 0b9eaec88b2940a4754e83272cbf47fb6f86aaa1\ninfo = \nokm = 86aab917d334ee079d50ea3e20ab243f06e2e29d2475591e88e048f0d3204cb8a8443671724ad11e5e20\nresult = valid\nsalt = c1616497d49246400ba68242b635c67515d2528ee1c3b71b318b631f9bef\nsize = 42\n\n# tcId = 48\nikm = c4717276e7c7f794c4ee333b2f7a2ab244be9e8c\ninfo = \nokm = 00153d105154d1086f950d7829be7e0d75db97441c88b7f31431f04884dd81b8f4ace2f5be6846f0da1853a1db2f89be090d3453488a12cc052f3234d36c4eb5\nresult = valid\nsalt = af4c63e5b554063e83e37bf730ffa401c696088ccc4f133a8695ffcbf2a9\nsize = 64\n\n# tcId = 49\nikm = 5e43a900ee0d432c5fe6fc81db8d5f81a54e39df\ninfo = 32460280e60910b10abee2e9f80a3dab48acbc59\nokm = 883561d252df369074fcdafe0cad379653fe4aaf\nresult = valid\nsalt = 8cc815009350b0b6a924ed93e73c8f8c57a1105726663b72741b67209c1f\nsize = 20\n\n# tcId = 50\nikm = 070c170fca600aa2b23618150ab9044bff7d4dcf\ninfo = c1b0971fefa0a23cf4b7185879475ebd8d83b9bc\nokm = ddc00ec19f76258aad541e0359465fcdb6a036fb4582e7d283b8ffda0b73a8b1b4988550b67a9182c227\nresult = valid\nsalt = f32a1cddb32693860eeb39a5d190f5667a303d5403712cdcebb575c6563b\nsize = 42\n\n# tcId = 51\nikm = 87a23208df5e66488d23f7aaa066e87bdced8e2b\ninfo = e4d66fa23a6020820013d94d1f8e84a58cba2a82\nokm = fbe18cc5a99e747477fbd7ec3c7f9d65eedc9538cee9a1aa81b0b3b1f199f5f892122734fba185919a64638eabe2c6932fd96270116f55a411a555f5c60d5ceb\nresult = valid\nsalt = 0488ffa08062f1fe83e9c3934f5688a2e17827f898aa5daa2d595f09b245\nsize = 64\n\n# tcId = 52\nikm = 214746af12a669b726364027e9a1cfa40c18f8e0\ninfo = \nokm = 281c2cce7550a0b02b170cea4985ee34666552d219b982389f1082746d4524cf3a8edf13fde8f5d2cecd\nresult = valid\nsalt = f65ab21816c5eaa5c9ce77d58608ab67176d2255438096f4b45779d15c2afda12718ec557bfe161e7fab89ebad4fa634cf73f2d12c884c4583e64d2b59b9d8b9\nsize = 42\n\n# tcId = 53\nikm = d509c509f91d78c33b9d661e6df1992b2b6ae429\ninfo = bea4f60eff1a0c6ab664ff3db2f774347920a482\nokm = 6a800418892df0663b4469108eea9f01ab66dbc7888da7ae95b05c68f61a5dd27b7a7c1857f2fb6c1a99\nresult = valid\nsalt = 95ff4b20ade46bada320316dad7e2b4286e93dfa2a72c6366c5ddfe8ce2ff344729ea56416d5b53074c6d6c4eb4e4873980e5e4a4991d6b1497aef822e16e209\nsize = 42\n\n# tcId = 54\n# maximal output size\nikm = e099aecd5c8f0fe1c5dedf647c5687220faaa64c\ninfo = 0e02ec03576474c1\nokm = 43fe9568d5423d93c5f59789319610e996e82ed97aabeb896d88e92614faf45df0fadc3cf496368a07f562eb8036495556edaf95b06d89f1c095da8c18003a20ca5fbb28891596680b3d9e5518f012142a1ff5bb52f4dccbac7d1db2fcfe308d8fd6444d187833ab9dc603305260604d9acc4bf8bfc5ff82d2e4f3bb25a4ad92c30b9236953e096af57eb7f4ac5aefd447f244478b1576ab7f95354f8d2000d986c607e3d1ebc900bf80b4d6cc013ae122a0876191f287f5b5dec28fde54e66858b9169ebb45529ea1c5004fef0aa85a5cf22117039798a30f2f26fe8623c8536751531f6435cc77e0ac841b884f586509e80e4ca98e3260eb60701aaad62a1a4814f4fba950d1690090f0190cf0927cffd0d3ef1b45a846ab9aa1073036c177eaf86d9f4ef8b5ab0fbecd76ee5a293c5f7843a2028a468a952b0109d720d50afd649306685f26ea407d7464e505905f2383460f6b8113923af6916f43259d83bf833cfed074e6a81a997c1a7f8f2f6eec413e3a3768308bd4292dae0d3452619291ab7f3275333edcd39ad2a390149505b6b02d7bcafb91a1185ade1834613396c63eb00e8126a14332205d7c59f39fe1aebf49a46f94bdcc56e1ae834ba06cab4e9a85bea8f4635b3bf6b332946ae3983dd9ef30773471f6c9d5a604efe2d32f4f40f28b9a609db8e6a3049e6bc961b6aa685d7a789a45cf17826305535afb67116447e8a5ca78813bb0e0978ac1a904e2d1d248c714b81fc1642421b43c6992b82cb457703df3ba7767bffca96143886d7157bb3c7a2362636a5f988e1349d57a10d6eff1303c8e3ccedf9350ef65844a173385cf4e12b3c023d99787a7c1a4b74eff2d8da06b6ae69cf71328fc613e68d408e7eaf3b9672525ee72c593e1131a72e3837daad27177a8480d6c0dbe3c61e6b971922ca3f60019e52d648c5981b1da133c1866e9a0fb953383f47441627bab17df6479a9c33547f8fb8c21e555730289d75b48d779b63f4555501220707df4b550a87f356455c516b3e519acb4cd3aff720c60181aa553f0a1a7ba5b2798f988f876e789ebaa32da2ca24b06449cebec9b739ff82ce9d0af6b20271492b53f8cfd00583bc6535f6a778f0a9fc1388b12323e631976ec6c7d69c5a0af7b65f9e2a1553b2104d83de01e98cb80a857e7e7339be2433ed24afbb7b1a663ca8b9b8b0bd21e63089b8ccf49c9669d0dbf6fd2973a0f2a5925e29574e99902d8bfb49193b929edb920d5772f8aae2334ec8efed4287162cf6a14", + "dde23d325222e82f760cc8da3e2453c970c9ca819abcb73e6697a0627090453b8c6c471134125e96416c318f06ddee0824159a7f7be8beb817ff49bd29f2d4d333f7a69cff82ae84076aea16d9cc1bed38b7c2d598428fd0529fdc8082848527d81267511ef9bd420f54540e39c8d648983eb08b2710c7c6456dca567b936d4d55fd0e468a44d0bc469dcd386de6d063a4487e9a17dfe680a4c6c9bc0543152074e9405758fd8036ba74c4f9bbcd3d9518a853f55494960777d60f0bcedadacac8af588fdfa5b68416fd2a7a3c2337bf2c114b2ed39e4b23e461106011b5ca3f13b1d78d2531bf21fec33cfb9f4eb1ef7cca539ce1204cae29239c85e81caebe4c5a01cfe664b5433f95ff1835835068ba7ee15cb3fb7d69187a70e01492454a1b7b00bf270d53fb8deda6f3daab1b996ea3d6ffa3f4bb6cf3dab0d044528183265bc644fce34f8bd1d98cb093447a257bc1ca474f2d3181011310b0c912da67a640b8a7b06b499f8d1d77fed129b47e2685055b1dbe0e831c5e104d11f92a005e2ad67e34c47cf462f867d1d2336c0694d148fb4526ddac66b9f6153c5ea91ccdbff4d2589f53191fc49a595bfada361efd20e9190a5e172e1086df63f6eeb719723cae815b2e2ff76da9c8d359c604f79fb4134bbee3382cb4a2e7ee318f25ddf0097b0e42dcfc49ebdf3467602f7d02040f18b6ed7cbd0d78bc2421795a4072880787db163dd09fc5dabcc35dc557dc68bbaa6176c10772aa7007c0b838dccb22b18750c00a5a1a1a27fac1c4e2b1b6f3923ae004d3d03555224cc54349d2fc9377fb8ce42fc2e246d9c2f2634301018f96bdff0a1d671c0377405e83ffbfa57de8aefcc5de062eb18d0ff922b3a999d0854cec38b276cabe98776c93cc41b5fd345201e1901507fa1e0c1770061263f0559d02a36d0af81f25b9682b38cad3ffe11b5991b1e6967939497424e8320168bd24209d71b0426f1c8d6e86f0377abe4a97e6ac72c9f18ed1929b07c85dd869585e30a30483df52f28545a5068577bd37286bc4b6ee40707b88ffae61344ed7f5723f07fd772d70141ab0a4bc06e3e87e4289176cd65bcd634a2a62075bd759e90c524808909aff506908e659bc1e3b3714f21a9b5c0c28f4232c96a9abe26181b4b27c2409e648a47b3164a8a1c8914835de3cf7eeb630474506ec12585c2d8eb27d692c2b61202a646d4793499ec9217ecd4361b0eaa6514e5483f16be529e2a300f940c94837fc2c68a6a5a71999b6dadbeff5f277a601984cfb74f3659c9c6fd661fecb7a39fdadeb1be5c68ed53eada42deb182445d8def28143147bfba24d65d43978277bdc6137947d6a0ee20ef78603b22919589292fc44e7bfbadda845c626cab6cff4fb4dc6a616da9905f73e16a1b923ab545caa3b11a8edecd9b6ca2812bdc8c49126588ed67aae8066fdbdb190a76c84b9bb49b6d689353ff3dac753dcadd7591c4708ee130f547a731f6880d3e2906154151a71b558d2b6d94801dc7a569c1b030123cee2afbcf121c3868424ab76b0870171cbfa00c15a746f8560e9faa7a35d91b42394ead450eba96735a0c676958fe48ffd9732b21236ea54c9d8c666615866179467b01d3c4e86ede658a3d611fb51340608622429359c7e2eff5480e5d00e948f7dee5da8ddf5a40720d85449142d5440366618dccbeef36a8f47410c344fb9731f86a2ffb4e3706f337c2abe86fd5b0311178b40c4d083d940fda9262bfcf1712a8b30bfb226791a57e0b9138e16cb850182d395433129b96b921b10faf1059c081db4896ae24045c28f9b4b12e7997d52523e3e0cf1e519521ae529146da05bc271fe8f2efaddb82dce5166ddefc86dc790b75ba9ab9458a7e32afb9b4510f9cb419ffd2f92ca479d8e497b87681d895e6536890b9a01d2af13f2a6767b428878812f7a179fe25dc27a45316d9274f49c5510ab2495ddb946d7080aeec72ea81f9b391953d748dcc4c74d5eee53d4dc69269e8f4ceca3d4dbf416840a3b02bee2b4cab18b8e5e88ee4cab4942927ac63eba64f1fb59e23397aa43a0c0f99c2b27ad51a968d61f1c9784e7122d5e63771fd68f9e030f9c26b314c037abf125366b6f199d92212017feefe878f534b32e5f5b18fdfa2edccc85488e5ea4220e8cbe34a15a4b34f1d48291777944e7cfeaefe6d3c3cdc19d216cace0383ccaf7a6fc30c267f01a915e7d8d4dddc53f2c41daf293eb7100b1c9258214669d1de4ba149c37c3a70bc2f4a7cf15d74c81c3bc5f9976677014e4e08e1a23b25790e8b15631044323a26180db21c97a53cba0d5c5a8793df6ad413da4891b9ba403bc1c798fc3bd88435b7170a2e065ae2055ef274d893a0b4ef962c9d92734032d218055ae5be5632f1d3234bb0c4fb4dd8eb2e6bce4fcea9488bc6d59259d99f273a9d76f8fd017b50d43d2d59c7752a26a94ea7e530551bcc09113becd2cfa052ca28e8ef8dbd535a9f859293b64d29a08a01e9b4ad2e4f92c69eb444fe79474a42855bae22d8a38fed765a13df2cc703d59564d55a52d6d3832f1ccdb7ea398934d67fbd4a5584b85b9d3fe2f1c06d76e1ac39a51e994e6217b98d608def8d2c3466bfdb13237ab93987a706ba8090e49a3acaa52fd78d2871f19fec9bb719f7423c566bd34f27f621fa65275457585de575d2af76136698e7f110869c0f71365765d650d3f5dfa7d871be76e761da0e533b0cc1c4acfff0e2ac5bf66c80752520eeab83b43da7e73b1e0c576406de8f2797a5003cdb66eb3a0222de073050ef2afb8fe4b18cba0654bfb8e03b48b78450c80c043df5175859320f5fca3950f226bbc5fc9a1bb25debd1aea9778ac6629840bd584f1d7f5ef9c711ae9f15830fa694660a0d8a890a5f93866ea78476bb0f1de1208eea7bf231dc0274dc496112de0138751dee67f8265dd2efca486a02aaf676e289f7cd994a534c0a062ffbbe1bf1d5aa9bd2b2ca1b864b1ab545bb3468acdb9e4394a499300b0579e475e70f157897f08dfff7fb069e0d72b361e0e5abc4486053ede6b92eadbc784335ffc54e5bc702b0fcd464fe947f29b2ffb4433369bbcb639bc82d3594666c672a57a596359eeb3bde01667d0f43869ff3d818ff715f402be0ed56517934a650f98eba6b15d002249170ed0409fd1fdb3bd241f1a160e1a06dc411e05c55a0d4fefa3b7b5fcca49882f6a83d4d69a23885be5fec6edc77c082456cfa013285979c1b1e157ed37c3c1d4f6bbae36c0f12e1cf82e18cdbf602a7640730f6f53759118aec87cc1ace66298e7fbc671da9d204568c44a0040fb6735b2ba7f1bb6d2fdbda38d04b1ae3ef796cafb1ec98505a3e552361d2950042922f0d649a68953c993bd7ee9cd7ddf2decd0b48213b3db80b640b5b6eb30d2ad36c189ad89d1556db9d016adca7ca00c42471c3f282113c0400cc2ab4016a629d7bf141395584b30c1d70ac53a425894402ab34445948d809c26390e1308ea54f412270f9a9bf24550243d3fd27ab142d0c309ab1511aa417899a123a8a0e2bbaba9758e959667d3572c60113461b6ae43c536d13762748e7ebd30e39ccf5717828038ac3697c7d9af55ed9b82befd8ff67392cd6365419fc7c8c89edead81580ac50108f17ae6b3924221e4ddee45d873de3f024c24838f4723dac9ebd14deec8380682b3a62bae71b44d0d34226502e869cd41fcd41b922e54369ea5cd3c95254d690001caaddae3fe16cf2f44b583c5b8194a2e3a3e09429f8fe6f5f28eba06cb242946ee4dc28f32b7025a05b395ad5072db27eed26ca703bc29325d1bf001d21b26b1cc744e7d87aaf07669333acd066ebf0f27c05631ab204622fc77a06741d5395e42d7ba83d7d59b386aeffc2d93170920adc3066303e1e87c75058a7fa3656505dd4d0fa29d970d5f5220d8618c50e704b03ec5e544ee8b91c028d4cbcc8fe1a52e1c15abbbb7ca810ce45053606b5d6ce21e8d8caa7d496bee2e40d36565def4ee5ff9ef0442ffb16a16998c1c43096dac816976df6e39940cb9097bdc469a567552c485b0e5df1c40ebbe41a90c6df1f6be3754c3946f9e797b8be869fbb195aa3748592298caf24cf0deff33d61ab2bb0b805373df982aedb81a621c58bc664b79bf1d87b298cdc5e5066743339c1f3efe110ed24cfd6655e1d9a3fb243aa4d26dcbbfd7665fe5a090de4be79019786f561a8292fb4434441a68e17edf77c464dff50b7cc5ad4799d43ebb51a23dea7b760d626d041c8bbb96aa6b20e66260c0fcde1e78cc59a5a9ffbc5b409a974c42abf165ba591b4299c3e86ef331c4f71131bedf1a913eeff92da531971698c8884a3f33b43622a9077d118a77645558202ccb437a347051ceda13f2d44f63c24da270bc350f80cbf4ed02a16ca9b5eb75f7e8511a64d16eabaedb6c5a7854cee19b54dd7e37ae423a84889f8f926b5ce07337c023b56cdd09a9f219419630cae32decca6c26e52ca35a90c2e258330982b9896f6664c435ad9319b895e92f310292f3b7e575ec624a65f9258ea6465d5d074d730bfe7d6b19a8d7071a133778cad36b890117f9e75e2c3e755d82756e2f664851f32bb3d48c67a2db19f29a307bdf9b05dce5250a4cb79e48536584b0334cd0f60c256c1d5f0439a0c2f0b44fd1a901a34603cd4692e63439e3374a778f6d7b6186f5f48d7900d6d227bed0b5ea16e0f6b9962adf944b31ab6a4ab5a6f41fa7be2fb605ec181db786f88ac981ba03333f287544e77bcc2f1ff6156099e09acc0a7530a0d7f5e8b45ef6eabd288d26ccc6abe9649f49d4045bf4e6f5e6fdbb735773f58b8e23a108c8229802b20d1252aed2f049e04a83be36406386919770004858fd1133fa4d8721e5caad10ddac2236adcbef269092f2734a0c84be8c55ed3cd42c1920b44832858aded480cb8aaf5104849d67026fd583cffe083b2761baa445f37fcc8205078574e9a746b31a732ff50cc4872d7e0265892a4d7c51dd509099d3682f961689a936e2354e0c4c49e57883b7f8fbb4901e9a8d426d4d85cf7e6280523b372309cde7628f993a19055175f3d959ac2e162aac22b0d4063caae9e6db1e63a866e59554f7dcf887388cdee8eca6608972dcd587a652bb3f75186c44fa32d1cefc4bf593b5c3fb728a898b315f3483285283012738c2e9555ef6dc22309898cab2c6dc75b54f3c1410948cf6c37b6127d89ff0cfdd6b2e512d7a8b150f32c15db6a1443a73907e3c0fdcaeb1df2162823f88dc6c526054686dd57dff1c032f695761397a85181c8817c1bad81ec38230d731d285a0e116eed03b1b03621835cc9143f2a9eae442a7d70e818f701e0e885a794f2afbbb35c5c7210f5f28e356d684bcea9e53a2088052aae19b36870a115855a7df1db48a55a0d3f94929afd81b7dc3973c4749904919a520d7aa664957990ef92a82116a51d5452043d051c29ad36a1c4712c56b92048ec4995c0510abad4f84022eb00037d52ac9133cd1c1e78db7bc57776342f53790a8eb22869eb0868804b753179198c463661faecda241f6c05fdd5236fb802689c35e45087de051f134bc2349ff3ff9f1ad3c33779e607e04478b59ff4b74e4d11cd99235259ef185e7d9bd262c935204c55485b4407b58b21cde59e43d5ad6b9760be9e2cafc676164f99fa909c7b50b3b97367d824529f074c7ae0ec258245be73f4e1395a8bfcb0fbe2f10c90d5b912c6c211d2a9d33d7c0fb31a6251e8b5c48158b81e4ae5fac00dc898eeac6b6b636660a1087f87d", + "b043d0ee0ff9a4667c14e18d886db31a5c10b2b17cfc6d97673ed5f7d72b9aab8b0d8ad5fa66ebf32422431dd8783024c986942d380ec48e3e0e0c5faa94355e2093df1fdb027e8ca52d2b997dfc77f005c2cfc331c401a0b00a013b4c8b3584adac06c28549491914366128d6d2f59f42f9e6905bc58a9253df7b95bee53d40264d9c16ff36d880d1f6e477ec09a958ad90ee89464cbb46e7efaff67426abccac3e05c6ff5e6c6f278164d26e623abe8f9d376e9285a80406cce1fc4de26fa8af5311137fcbeda51ef1767a2ebc76755da10818e9a2bbbb2ccccdf5f72de6d4fc7327a9e388e722eb213b85a9be3bbcfe119137e9c8abdeb72bd8c4448b68314b754603ecc846eeaa85f979e6737e325b0501586cba6ca9c2bac24421570eaf9ee6c897689e8130306df9a10436b50d017464419d535c382becbb4da5071cffedd10c902ce0a7a9e181cb0dc775924c66a516c5effb438cc754c9ffa186598153616ce8858fe534126800f1ff9df6116d1dff074736bacec45420494fd0455929c2a33cd7db8cf063e46772b70eb996bacbb7aaab75eeae21944041ec35a4c8564dc1280d6af8b8e598f8f5bf5a422007c3145b31b8ff3d374b49f4f63e219534f26bcf88b6eb10cdf0bf824e4b115997424dafd2e3f967a51a21e7bfcec437b07a212f355cf1dcb337f01bb029342605e3ce90e6fbdd41fb56f516646f4fc9bbebb650057c7f62610aba4ba2a03d572e08ac97769804c0dbce322e008a207f155d93a1bd949aeacd92a6fedd76b1c11c75099ed3bbec327570534134d5e316253fce81720e735af68ce89e8b1671ebe2aaa932d5568c530d7fc9aad77a09e0ebb3c7c72e5feedac49e653e6754b33aee3d8306e4943ae95d398c0ce227e87cd4ddf973346bc733e2b4d7906dab53639f138acf5bfb700d299cbb124c2f77fda5b44a832f2f6740f32c3fba0becacc4c579e3ffaa086d4c1415119691fb855347183f46f64718c6c5f45b167e6639506675fa0c22cecb539f2926b793dd730a788d87aca9abe31eb210b5abf00133238bb1222ff31efc5917f065130f6991b59a3ac4f82924438ed576665a096a5adada8b3e3842be65b1ec1e636af0859fe9ac1bcf3def535a2ad650c428c514139085a6189716a0bf7c3c8f7fa20858d81985213faeb96ea1e4a9ed39a629d2537850fb56052ba7aeebe7fb5f355e4fd17e6d452c94f67ce4bf6b2fd4e91a8a1089f689ad2c1088bfd38d9dc71750cc5836c5cc4630d48f2d9b237d3d6700af559c5f144a207c625fac2db4dcdf03a157603daf1c1cb5f76afe0fcfee609c1ec602f20ffab7fdb9a6f18e9df3cc75e9879c029ae69677b9e4f1bb3555c2f0bbbd8a398ab3004609707fc6a3d062d4b8c4476b433bf273f2d1a8a5193981ec52e4b8361811f0d7d9bbbb4ff86fc04a1d6c7b3cf4753405f12c0e0e53c6d410aaeedbb6f8a1604370d354be1ee0929a90e36fb4e3e5bc8f8491c7f1b563fbdb66296bcdef1d67129ffce4d1083b527710865730370282244537ec059962e4e48286830c89feef9d20e382b1de2cd0875bcd66f6a18b0a27b261b4aec64864648971e299b019e3a8f6b65a2725af4caf7219a38182e3c058d775871032a4ea80795b330e4445a3099e067ebc01461cd439f77f9635517e55cc274304d4a0c222299773d6b2a24c02b8271954b797c370fb3760d3f493f886cb3f4f7851c35ae22e6d531cd339daece8984188cc85848b4ffdb624506e1560fece36f9e2ee27746ef5f1212822f8aa917ff17504457d054fb934e4fe21772636d71f9e255680a9da2c5a937d16a477e1637562bd1dadf402cb91f4744dcf16733bcbad47e09592f15e8c1fc5f0a71ba9d7c9e9bba0d4f807ecf913986ecc88c4c3571e5bff8ad314585b38d265a1379d1f785c30866b2ff5fb42ed869070785f3fd5215631fb83c9cd909a996dc7e957e1b253138edad231c1e8da892733afe567e6e0923572d57ee6dcb13d50a5b09e32d45319dbae84d93b7e2987cec9cf4da686d823b09432f9cf09adedda9918fd1aedbcf06b0c6753d4dfd27797044e93cac49d04a3af016b2b1c553e843af640274a2a06840728c8f0c26dfe8dbf06d1c1866dd290eb45e1f97ee617054499b461e054883b1ce866facf11e001027ea9342941eb47c3203c6a40457a4da350fa2f454d0b2000a081f86ae7f2fc5aafaf1a17f22bbea02bf3822dad0723384d4a08442aac709ee43873eaa1d2044e98e952667c2ecf14c754d642b2810b902a8ce8784a54f37fa3f4cca6853fc49ddf08510d6f54b803a48b4e0dfbecd70af80e74cef54d21341476b5d3bc8be46f2c4222c24524c781ec698dbaf4f2fdee02f0a183bfe82c1b743b148b17824654e38220a187c74cd4dae0c45056a446950ac7886ee71d397c2b46b07ebb07979e6c644a7c6bf1f6f94597a3b8bfd5285a9faf94fbe7e13cad9802e9667c031455ecc4e4f33cfb67b9a7e2bb6cc099316e9ad7dd7bf1027d2de68c91024863193a70a6cf900ad60e1da8c639af32a0542735deeb11294169d0bb10c4811daf7d2715f89a9fbb4904f823545747f291b977e2b4c2f825953d39b392408166ba8f58e8978543c420cc33f3c3b99cf28c9aab2a891f44ac28a6577dac4b2abbb71634b9f1f098836163355f95c9a614a913405f2fa811593434644eccbce541dc59a2b2cf76f021d82fe5d511a3b6d2ee80b66f1c1d5aaf57589ce3d340afcbbd09f687921725663e4bae152d14c6a0d5ac944c4194e94b0ed6042aa1c0084cb95111d162904ac9bb8ec2bd65b62ecdcceda8bb937fcf9e2f76c2e282cdce8b8ddeac3dab93a8f08c22ced1ca8c230e0ed34f488a20545db5e40f50b931380710a1390d24381a74e6c872548587f0d36c99d0bec08d8ef60f653e64a3aea222ca5de85d750e7cdd6a92df38cbd3f0127e971cb477528dd9639594210dd69825d4b1d6ccb16f3c6945e7a27953c634f3be93ed6a5d5adc62f58de6a34404ab0f154708cc98e031c621784bb76daf022cf6c77f64b080409022dee0b0beb40135f8f8c094798ee83bdaa0f414f3254906c3e244340fc5f940f322fb02d4d1d9c7423dbf1f0ed2d009644ce689eee320e2926f8ca4c360180449705151be7e2c41b1db926c8878b32a46c3ab42e96f12a717f2df77f61a5790865a18ef45199b0b5b21033061e532a17f16a7efb8884340762eec930a02808b9488e080c0c7f86f70e6d245eec1bfde72751918336104947935b37368db7f81958e6856184a0f1be47d6c5ce5aa15980fd226e1dd05cf0c0db76ed9dce2f1f2801fbcc7a2f4ad23ea273740c17573834b9e92ab2368e57360acdbb6fd97887e2600d71db902c3feb4318caa4ca35ec2d02e7b3fbe3378e9ac98286961b877e2e6f0322b61d2e43989cd846085de89635e207b900e369f455b1519ad035f4d66e4a761e1f8438697f3e6743143931e53d1e0d3f5a4b96f6d0762d26728a067d433350b6506775f9e20669e9bac120a02390f2032dce2600aa4e20fa2a7d9513fdbb4c105a9f6a3cea5dfaa19cf7da2edc5959fd5b7d4bf8d7792e0f5d123598e6ef45bb205a1421899f95c6ccb888f371b5cb2c0eb4eab7241ea0d8c0521a4eba74bf6dbda1a4b7aecf64309fe785063958ae7db568fe89523a3c54c378e565b9861f4d853cfa19e2999c6b3418cfbcabad15121fa27f515717d27f197f46d60cb14985f288d279660636c02006a0721b819b0177566843430be4527d27a18b79c677df6f6a3013975e53865bac04acecc5c24c4e90c7179796d1de28bbfaa0542f05b669c2493d04713e18333f6ab5cfd2a3a3c3801a7313887200a757ae3c87ab7f4c1c79d5202ddf56cd0ef7b35a71618e761824274696aeec8b12b21f17d17c4a0cd03848896ff4cf846dded27512cc17eb66d59a7307ccf46a6a4b9ee707a096977c2787d86c4664375292d163e598d2efee1257ec6e5d557cda9ff687216a398482baecdc1fe402244a135df0b0874919794849e9da7c5a6863d5cf83fa6c998cb00c3e70462854eaf80774785f6fb55cb1215a04776532ae403db7409a536e931fa15f479e0f7492301c6219557b54882bc634a857d2f2b1601cf4d345b326ced91b40e6e500030d2cdba5901719ed395381e13ebbac90e80f66c4e7520247f07ca941846a90238735a4a7ca21909d858eb2af54f5f52128339cf5fb2af060f02d4668d81c98f8e14501b9edf0dd766cda58da7b6947499249f6c4f3eb38a56457dcb70c5680e29992d36d8a0045a9c942136a9eaf134af71434c5b9c0d6a2820a365605f7578c48796f7e4de9600d2eea8d43d37714461b4412b306c8712e517226d6a190ee73ce529a3b284f69b6eac34dd03a68548fbc3dd7258a26fe2ddbba69bdcf654bac8b140a1b2c3ee788c539d3da52addb21b1f3e5af8fd594ee1d140746da32f5e8c64f9a9643fce278be2cbb1d1702b033a58319eb061c7034f5ce6e967cc9de6451b33a5b0f95f2c11417bebf02cbcf3913628a09b54c47d60e3dc15445c1d430c9e76819948e88c476d3fc8bd3afa506edb216773bc2cc2e9f87b410fe6fa9d3d323d185fcfc1c40943c1dab531bd0e8939c80a75470b012fcb4afe6d83a32b85c95cbc746c47168da969f67c4b2c348da9e3c6da46882188d28143dc6f68d2f0c106cecbe327091368f597549e027c9431899510bbcddc682fd41777b8a497ac627835c7dc97fa1ce161d849fa05cccb644b0bda99be6ef27a0a08ee6a3b0e61bd1ba0ecaca0f39acdd09948cb09fbf9fa686c535bb0a7227923522192ce2c8611f45aa2850745ea6572d167ab450ece7c982226b01a0359ca4518792e26deec16211ce5138868bce7c4cfa6129ce071efb7f6ccb0e99b848ad3a586c2ad77c5e21d4007c56787dcf56ca8f910e395434092e80273be4081241f02649db8e1a6a5757e4d213714089aaf044a2ed0b181a4c79d48d529eb0edb79dd87a2c9366da1b3e0960860516ceaaf0889c2c2160a5818a13d682c8b81ee3318c5a33ca0359a2d4b69f60595ac0b19e2795e0ac5e6235b7b7fa849d1c01682c01ee0c84bbe5f336f07c671db9b239204fbaa6874723b780196360f9a4b8b7d6d7a4bb8d91b5e620e901cf4d23a2111cec6b4e2882637886fe026ae2470f0a86a6422057ffbd152a9490b572d48dc4c93c9d052ef1c86d5704b4b04709e4a7a59bdb2486b3f2d0b84d31e44cae3d51e9efa35d97c8070678c76376bc4a9b6e40884a9ca5203c69e18ccd0140605c5551151e5ca037deab9a5cd8514f5515363228c30cac1591ea6fb5fcc7957a7ab3ad157aedf0348008cd8add6474f5e4d65a305cba5c01c2f5003af45a018c0cc24f07683e907013cd09dfcf82068adbd68521319a2c6661f495ee3c164334358af499fbd225502219882d7c7ca82220e83fd9496cca4f18a129b53d490254475e0332fb949fd8141eeebbc3841fd3478c4af60e205ca43ba378e42abce20fdaf7dc4a9491ee8d3fd74ec5f6e7e9b2e6467a452336bbda0d8fde7ce783d973a9e1343411746f7288975ab20749d7f75ba34ed496e597675a99de38db3a58eec2b31e1ac9ed1fe8512b33a453d98bb1bca29b5784264a18d4a51700685c69706800eee7a27c17e8536812aa0b5ba16ef8622ba0d42334311e054166ef6fa843c09ca92402510849375c209f2e7afbef5938cc7a4cb194b488d2e42b650f559200d0f1d2f087a3d26cfc4c9d13ce0d83cc2ff35b3", + "655b25b2fb8064235ca4364495e0fd017eed4f854b8929326e8c68b985b1c330ee05fd63b063f58871f48e25218798be5700b7313967572db57125cea82d3e4a366f559ec556ee116b19144965574f03d3596bc56431fb051a882f4d61d4b9eda13b96c48310609f1bf7502723a0b4574ad3f6427138151fc59e1cbdd8bcde532d41459b42f04a0f99623f9aa8eb33ec591dcdc88b026753515411bc8ad4ad75530cff0e4da879203c715fae5ff628546dd5cb6c365afaaf01fe0373ab5f4e373a8b6d0634ff5db6f7da3fcae6334bd7887021e687a8187be9bfb64b4c2d4bcb0907cbf38272945e26ffbe37457efa4799ebbf271df4bf49b70254094f14065efd2136d75c19485f32cdb523dd68f04b2e17fb0b63b10b38eb4d219ea38b7e95178a6c54b15ef70c4f8acbc17f487ee9a4331ab92625b544f74c80ef92903a524824ec3029489a93f9321f8160a80b551d764329d55ffd16b4b2c3be632c9733dae71d16d8d46bf1222b33b293e9b218d3e6c1d55c331966bdaa2ab822c1cb1843e83f9cc06df7a207986430a9fde3fced65ef1591541480d45acaeaacba1ccfa40680a8c736d8a949ac30c10f9776fc584c7a161e51c5f20a523559d1ba2d96834fbb688ae0a1cf5a64a95e25e7eece6dd512196115d8d0e01dcbaa9f7c6f23ecddec8354464408857a61d11b349a550dc9cdd52e536bbb8fe21f9bac950146c54f8fa1bdc855aacaad455a9d86db792c502712b32855820b468701c22108976758f1a4b5a7aaf09934e81687e02c1bcdbe99dfc6f6a3af065c817af159fc337bce1078881f72518cff30d22b2029cb01c8fbe012d370eb443d3116e700b09dd9affd7db12dbc7931c63a44cd95c29289bc4ecaf9de37c1b8b70300daabd4fc9e0c3718610f63cec51217150544449cd45387612462e04b2f200149424f5fd9584dbb6b32a1397c68d89b3e4700d61fd489359faf812dbb21e4e63de0c810dbadf84c9a90d18aeb5d104b689e901815eb49ed249f921e7d3218cda3d717c9fa39e07b40d399ba6b74eb030d5abb7736d70eb2262e0dc048402a7aecb30ce6a077a09b50c3a475fcac29b3c171b1cb8e01dd3b8d4378aaeaa9efa431de7c2fdb097b92c8cb7942d204a4f3ffa6832d97e784d2e5225a149d012bd9932397647663de738d3fd805d7e735b36f375c1a26be760e96198bcaa0a22a50c16d2975bf00228ba35f6d76734a182e0efcfbce1b174270a5094560a61d1376b39d8b8f41a9bd57e1665248c13dbb0e39e4ec776c7914d62045821482da7b9f8da5f7fe87e94ff93f62c1dfb84ed8b38d6555d3129248d5520da73abfa37468d6c39b795271e4e7fa24249fb8ece5235386c7a0d9b149e6fe6b296cdb9017e0724f3b34da6315624717b13dd43e7a80831c9edfd7e58aeb136de554eda1ea13f17a6943dc7f946535f8ffe95329d3923d45caae98c7dbac64dc5d0d1c62176ffc42e2dd184f781a7eea698b9731d5ae3357783a838918d562c5436d353ac241b38fe6e6c045981ff216e9e4f8769992ab3d27d462944e2167b0a27b84d083fe5bc04db1730780004d03f9862a5b27b9719623d6006dabb7201cb763f20d29f16f8f80f2506bbdc2448483fe9e515af8fa4e5c199a232429d4882e64f07e90ad939066c60e23c2a9bdf2b875a490b2556b1b4966feac8cbc212d1d4ab24094401b90b733578d8be20e03b9aed8b67b14ec5744af7d0fe6cbe490e689969c79c813344a07d26c23b18589b040688107a936bd30b1ce7dd6af62a7d33a8bd287dbdbf34e754dbfacff62d05fe8526b53e0ebd8b41eb442d4416dbaa621ed9bbb97709f08c85da603d39d6ea42e6465e1e4f8ffe03bfd0865b6bf13755a61b3f8e3937d917102497c77b9b21a3d67b7d393f27753369f6b488eba203b80c7ecc723aaba839c3957805429bca5b159daa39739fbbe7e32bb785ccc1fff186f85d842e2f22a7a9af3ef93739b0de86cd56d82e89b2fe82489d80553dc4a9e55f28af51e041a13eac68020c17093394dfafb75a79aad21d9034cd3845167b0fc5178b4c8015d7328525a90b64f310ba6668cd5f76c25cda4ed34a4a16158b2cea8317337214a7a2fc9959b54814abe77729faca87ba2db39934480e5e988b2709544564092f57d95a5f8dd0695e1e06e695e371737674e6bdc18acd6595a970aed7bd236bbd313bd857cd96148200d81e04c9e7f5419d4be68f3b41dc8ba8392614eb3170bb5a42bbd01a842f72f3be740d77fe0c5ea41b84a5065bbf97fb429d9a4e33d0d5f8a76954f46ab9d1e15422b29ab283161e4a608292531bff1e15e4b2a77d0ba49ef863f5ac8886dcd5938c3ecc8c1060d05ed917c03fbb316d975e64c5d869d82038f9cdfe960e8b2d90809527b75872c205b49a4f9322784a0f788affd5ffa6877820e96125f8d865c7137a04a4d75add2075c3d739193d53c2e018ed2f37a428e76f68941eed83c1dadd95e05ed9b9d768ca9ff6fa041651c2927e7a445b7c1d3766b82d864d3ad56bb2cc8dd35513f1f6aff6de7e9fd62736ad7d742267be35bbd91b0f06e0d2bc395f4d6199421e83ce840a31caa3d62a2f9f94071fdfa4320d46f3612646177c9cec0d1cd5def90e01d1b82a27a22d0b1dca7c383b9aae588ae7b363b864a91871d737252e973f4362f425a8e422889994f4cf047e61652e94dd71e2b39a04664758aac55d17a6f3f26abe24b6fe9ad5e678591adc1ede8cc67a1aff4ecb1463b727b54749ef6c7c7a4c17440172be36e9639098d561d72d4dbc6f2705646911d603605a342ec1984a5cb09930da7ded78f96bf44bfa7223f6ff2cf7c262ff2603160b07c0b8933e2ddc82a0bf91788fbcbe11552550ee00b70ea47f4f569f1013461e047a57ffe3a222dbc5ecd28c95125c3e09b8c6d360043ef40382cca645b93c1d0a2496d7b8ad3bae37985494637a4001d6b61aa7d5cde2ee7af14249b9ab4655ce5b76a529969d7f5ea6e5d0045585e28ec6b91781598aec0e386b3cab3640a69f4cf710b700d3a4a39906b481a91b804072cec90c616d3ad6d7bc365591b6a4e85baa1c2ac6d923518440293f2eeec4c7ad523e30686f24cde1ee619d86e15f4dbbcdc294a315ea7b0652020c10c2189b28028993af3873dee52ef4c8cf7ce4c97457d775ee0ccecd339b83196a7da32fa91fe00db77a242f728f2cb25b91a03a7933acf525a79c63cf88968f78ec078810a5a60718222fde90c09938f2b0b19ce269b3f5123e61418a7f86586af4260060208b5e0a2ece6f01e955ed827da6ff33f93570a6fbd79082abffdb6f45192d7c2e3d4cc8ac868d284de6843b403bec58bb3ee3570fcb6932ca3d5e0aacf4b1c7ea785e59d4ed10a43e08da8e402861ac9bd1e1a110051ed5282ab2016a84da4e76ed457ee1de45423f56f41281174bc897736888852a5f4a01b4b796eb6fecdaf8584ce1d982ad633a51cedaebf602ef3298ea9b63002a21fb3dee97d89ced945572e37c1184a1813895b23e506a8c974db7e7c6f5fe3fa8dc22816a982cca48d052c0a7d8ec4cd37acb86a9578518e9065c61860f3804fcfc385e0a7bcd772267b8cf366046a61f66c19aeb501cb138793b0de11cdeda36846c6b76a5c2d7b0d4b2f7a7241b2f5bf48d1cfcf0a65b468ef307e55f60d0289be6f66a5c36fa4fed684ddeb97b0d85ac1bb7335c145c35c070b80518441251dafd98a796d1cbc464e038d53aeadba1447a7d00f6baba73b7d6084eff55eb4875c8e16b80c1260a1c45a888801277a4ba4b725a4d5b7d715e133bb38f5ff98efbf07a248ff384badcdcc78bbfb085234f59a415f754deaddd0080d08e1366baa15cd0ae6a4dbd258069a7d328c76522624c78a624c166b486470c1ac977c0763386f307dcbf8f06e2c2f4cf4cde9ba620dda2ec703ab7041e3e376e9107056098709d7fce847352836e65d1af6ca5c1d879e24522b391760fd36643b9f7bdcd1e4028f6401e09187e387eda8817a1e230820f943b8b612628efae93022c28b4f35fd7e64156c77f47804cbde126edd4e3bff900b809220df97f9fcf61ec77e21936d990c8d14f5309807f7d3feb28479cabd370145b8b2d04cf6e29a16333343577e4299dc3f58183813a5e45b6dfc806fcb765c57684401cfec6c8df3e669931913953847e733c6b61d858b42f65594f165cade5384265664f808d5596a67b4fae95cd3c564906357d64da843a3993f344d4b27bd79156a1666c60ae9e1bc07c278d9e176e9fd8613592f1c99f4dd73f32cf2787a1a065a1ace9c3ad2bfe0fbc82f98274ac5bc561f426b5979309ba3fcb68ebecfb58f6b059eb9694236e635915bc0d8315ceac966b633f2fd810c42424c5ac887fda243f94ea535e70596015c4e2664a58bc7479f0c3d038fa8be0b62\nresult = valid\nsalt = a8febd4ecfa01739cedb1136c9a7fa10362e8f7ee6556fe0e2dad1740e1ed44f5c95b6ac57aeaf509af0732c0b0390d4\nsize = 12240\n\n# tcId = 55\n# invalid output size\nikm = 487df211f042c4a8e2e50a4929d4bc302e3584b0\ninfo = 943c7f0cbda70cf2\nokm = \nresult = invalid\nsalt = e01bc4ca3df96a1d158434ec7519550d485ec22d45f827c5f1f9c20036591089a8b6dbec705fd80266fac62a66c9681c\nsize = 12241\nflags = SizeTooLarge\n\n# tcId = 56\n# output collision for different salts\nikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501\ninfo = 5447e595250d02165aae3e61fa90313e25509a7b\nokm = ee8362786c0c8f19b159b49c0ec33438929d4575a7a319a99386392ac07bef44\nresult = valid\nsalt = \nsize = 32\nflags = EmptySalt\n\n# tcId = 57\n# output collision for different salts\nikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501\ninfo = 5447e595250d02165aae3e61fa90313e25509a7b\nokm = ee8362786c0c8f19b159b49c0ec33438929d4575a7a319a99386392ac07bef44\nresult = valid\nsalt = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 58\n# a salt longer than the block size of the hash is equivalent to the hash of the\n# salt\nikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501\ninfo = 5447e595250d02165aae3e61fa90313e25509a7b\nokm = 7e060421904a880f28703cea5defae446809d4cd0b971272ba2cb78d8fd7eadf\nresult = valid\nsalt = 1a08959149f4b073bcd902c9bc4ed0324c21c95590773afc77037d610b9584806aeeeda8b5d588d0cd79e7c12211b8e394067516ce12946d61111a52042b539353\nsize = 32\n\n# tcId = 59\n# a salt longer than the block size of the hash is equivalent to the hash of the\n# salt\nikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501\ninfo = 5447e595250d02165aae3e61fa90313e25509a7b\nokm = 86bcde8ec5a2b4cb9993fc0981d3e216f49789936b43d67de83ba9f51fcdf0f1\nresult = valid\nsalt = 466f383c878a617f0828bf2f86dac9f67b40e6375bbbbbd5615e7e99783bd265fcb5ef946f062250c0186cbe711d930b\nsize = 32\n\n# tcId = 60\n# a salt shorter than the block size is padded with ze", + "ros.\nikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501\ninfo = 5447e595250d02165aae3e61fa90313e25509a7b\nokm = 60a49c2dd255be03e3accc8a66cea4cbc919f957dcba8225be0cd707685df52e\nresult = valid\nsalt = af856d5eed5c77f4\nsize = 32\n\n# tcId = 61\n# a salt shorter than the block size is padded with zeros.\nikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501\ninfo = 5447e595250d02165aae3e61fa90313e25509a7b\nokm = 60a49c2dd255be03e3accc8a66cea4cbc919f957dcba8225be0cd707685df52e\nresult = valid\nsalt = af856d5eed5c77f40000000000000000\nsize = 32\n\n# tcId = 62\n# a salt shorter than the block size is padded with zeros.\nikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501\ninfo = 5447e595250d02165aae3e61fa90313e25509a7b\nokm = 60a49c2dd255be03e3accc8a66cea4cbc919f957dcba8225be0cd707685df52e\nresult = valid\nsalt = af856d5eed5c77f400000000000000000000000000000000\nsize = 32\n\n# tcId = 63\n# a salt shorter than the block size is padded with zeros.\nikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501\ninfo = 5447e595250d02165aae3e61fa90313e25509a7b\nokm = 60a49c2dd255be03e3accc8a66cea4cbc919f957dcba8225be0cd707685df52e\nresult = valid\nsalt = af856d5eed5c77f4000000000000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 64\n# a salt shorter than the block size is padded with zeros.\nikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501\ninfo = 5447e595250d02165aae3e61fa90313e25509a7b\nokm = 60a49c2dd255be03e3accc8a66cea4cbc919f957dcba8225be0cd707685df52e\nresult = valid\nsalt = af856d5eed5c77f40000000000000000000000000000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 65\n# a salt shorter than the block size is padded with zeros.\nikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501\ninfo = 5447e595250d02165aae3e61fa90313e25509a7b\nokm = 60a49c2dd255be03e3accc8a66cea4cbc919f957dcba8225be0cd707685df52e\nresult = valid\nsalt = af856d5eed5c77f400000000000000000000000000000000000000000000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 66\n# a salt shorter than the block size is padded with zeros.\nikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501\ninfo = 5447e595250d02165aae3e61fa90313e25509a7b\nokm = 60a49c2dd255be03e3accc8a66cea4cbc919f957dcba8225be0cd707685df52e\nresult = valid\nsalt = af856d5eed5c77f4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nsize = 32\n\n[keySize = 256]\n\n# tcId = 67\nikm = b18e35e63cc4fe4117bf2754ec3f9ebb5346dbb0bf6d4e5f2422418771816fc4\ninfo = \nokm = 9e2d67ac4c0efa0b734570d7299b8e8d2fbbc5b5\nresult = valid\nsalt = \nsize = 20\nflags = EmptySalt\n\n# tcId = 68\nikm = 236c2ba20c72242820f63d3e9c20633162c1cb048a45dea13861e8a138b9640d\ninfo = \nokm = a7d98a30ba3320706cf345f0ab09d4cac7d212c8337bef01419b054c10d336009e5636916570452d4b8e\nresult = valid\nsalt = \nsize = 42\nflags = EmptySalt\n\n# tcId = 69\nikm = f2cba42dd82acb5d2d569406815a3769b7becb13fa48537fa7d7d5e121081d39\ninfo = \nokm = 558c7cd96388bd7f225afd1580a41083c465aea527cfb4e33a0408565708239eeb6797ba0e9f80f9655fa3bf2c7172252775ccb16170c0c31830c648617ad586\nresult = valid\nsalt = \nsize = 64\nflags = EmptySalt\n\n# tcId = 70\nikm = 73d97f2ffde01b447a5b8573190a8eb4f87f7ac04482836143f780ad876bfffe\ninfo = 74d2301c5aca2441372cf6077bd8806dab3e8721\nokm = dbff53109babfe9694885c6bc0c577ce8f5201ef\nresult = valid\nsalt = \nsize = 20\nflags = EmptySalt\n\n# tcId = 71\nikm = 6948521434707e96fa943e44988d1ad409ec57e6594867e8193e9d727238916d\ninfo = 9eaddd1e7edb6b84c96fb5ac7e0d673a8f5084f2\nokm = bd6dcd55a59713754ba4a26c55b6084014db2c3ac568eda3be9ebc55e67a2aee4d3cf2d19ce945555d42\nresult = valid\nsalt = \nsize = 42\nflags = EmptySalt\n\n# tcId = 72\nikm = b72b3854923b8a0048497a86bddef962552c8f6b2c72b2b2006a1820fea5c6a9\ninfo = 113b708f7522ec3b362999db18699bf7871e3b8f\nokm = 743e992e2d0ebbf94c6b901955270f1cbb472fee9ae645e128a941e62623c3e0f484369e77bba1f6ae485fd23b6ed2bba64ca25a19d56715875f3d092caa5698\nresult = valid\nsalt = \nsize = 64\nflags = EmptySalt\n\n# tcId = 73\nikm = 44d774def90685c0e9a685fa50fd434c807d1a57896fa42f91778821fe232057\ninfo = \nokm = f17c54ecdb9769ab1f2c7e5ae6ac720277cac48d\nresult = valid\nsalt = 0d7d3b47bf8484c8adab7f9c27c9584f\nsize = 20\n\n# tcId = 74\nikm = 098ecd86354496a701ffcac8d589a1217231da3b80ccce4ef85762d7f3a2c211\ninfo = \nokm = 5d0568ae988ca4c225eed0b789b488b8b8eb421aaf0aa8056c69031c004ace076dc2d2292e06b0df6095\nresult = valid\nsalt = 5232e5e4e2dd6133d46ebe5a8a51a0bc\nsize = 42\n\n# tcId = 75\nikm = 917ad396520e454a571ac39a9f6bc845a8920954fba1ac400cb2988cd8847ba0\ninfo = \nokm = dc65cdffb023a4323bb82c444815cbbea1aad5c5fbdea4db2df982432f5a6b4124719f9fd6a47492170041c60a7a075df39e9310ed0394271a53e87f772d8591\nresult = valid\nsalt = 962d86949506450eaca929286ce5d9e7\nsize = 64\n\n# tcId = 76\nikm = 1cbff2202268edf1985bc91466b80133644988c5e81368cf0995274204fb0aa3\ninfo = 3e4f9c8d3d607c2ed43caa9e87e6ecbc307c6048\nokm = 8fd42650adad1b8cff79d8a6c690e62779ecdb48\nresult = valid\nsalt = 2bde6e33534731f52d39add940ff46f6\nsize = 20\n\n# tcId = 77\nikm = d00d6b4fe088077ffbc64127d6bdb9707a0f9061c0b873c334c3be0adaa7c2bd\ninfo = 4266351bad419173279c901aea148e8b1d99e50f\nokm = 61a29469106dd22597f742303af8683bcb81fae85b45d38792b019f201194372895897fd7c63f95d616e\nresult = valid\nsalt = 1647a044472179d454b8d2108e4a2aa8\nsize = 42\n\n# tcId = 78\nikm = 9a27c19b607adc8f152faeaeb1282002d3a2166894b7fe5d65829ecdcfaf73b9\ninfo = 36356cdc28187c11cbb9046f9ce7502ab4d2ea46\nokm = 6f4c33adde661d92083b96c90e9f030cb372304ee1fa8adaba2f22f45c47aec925e944034737e47845d577e4f2559b9d00cbdd07a3bb9b4fffe701385a0e6e53\nresult = valid\nsalt = 70d83929a6376a6eab859f0d6225f131\nsize = 64\n\n# tcId = 79\nikm = f5d1c855d3448e212d76d3927ec797dc439cb182f427064288452988ab79c83f\ninfo = \nokm = 2d45645198322629380b4051ec1a219d2cbb49cd\nresult = valid\nsalt = 87ef5da5400db731d658972ea82b76848004e70d3b22cec76c8be06283c4\nsize = 20\n\n# tcId = 80\nikm = 3f19b7095a6b3d313b59c3ba2c3a78d8b24f30c9ed4f8be9eb92f8eeaabd2c3c\ninfo = \nokm = 5eaa1b59bd65ef1a25f255f2b8bf54757c2cac123ccd8ff64e7d0a094c2a8656cd4eb2c4b98b16a0779c\nresult = valid\nsalt = 8f1f6c8e4f68830319ae859b4b1fa71f1d69552b0c3e53cbbad26293651e\nsize = 42\n\n# tcId = 81\nikm = b1d396c69f14994dc8add0f6e0cde4455677ba9ee95ff84a142295f9177ee629\ninfo = \nokm = 938ce3bda3308425f80da0093b4f8ccb7afdd75c4b484d8c92e9aad3613a5d0c268539e5bb115b658121ceecadcc367f866c505972665fc4ad0d0664576f6b22\nresult = valid\nsalt = 7f693304bff77534b8246d832749387ecc0e8daeae11d77d022ca9e362d1\nsize = 64\n\n# tcId = 82\nikm = 003d1901a10c062ec44e0f2a94c544b7f53b33f1ea4679fa6e023c2d0a907fcd\ninfo = d5d3ef5beb9840d15efe9c778aefe38f1bf7bae3\nokm = a9e331f535da580a86a3b4e0cdd5a7dabbae2de9\nresult = valid\nsalt = ed86cb8c8ba1c989f9a60a4a82c38be98c70e6218576b292c93fcc18192e\nsize = 20\n\n# tcId = 83\nikm = 02e0647a4b7ccfc0d3ee7ddfe24ce69c02f51cbaa836b96cbc5a9c2885c45599\ninfo = 4e9e27d971e76fda614fde15031f6664b97d4786\nokm = 3b17b93969f5e7567f7b955dc1e6bb20a04543724764cae47de80272505d25383687f4ecebe7797c4e9e\nresult = valid\nsalt = f0862f61f2377ca34b76476ae21e331b114c7712aef501a1bf00f7e9cb79\nsize = 42\n\n# tcId = 84\nikm = 92bfb7e31e839f109e6622b2c2c4f41ce84c9907172681920e7d90e80e2339bf\ninfo = ff36776fc755722ff371f21cfb37a168a2731e99\nokm = a4b00d604d54e6d1374499c6588e199a9add616403acce0532eaecab0752b1d49a7beafc47220783577eeba89c5f79ffc21a7cf3a061457e6bc54031037f92f9\nresult = valid\nsalt = ce869619607f71fde53ef55e18d01d20002e3f91a8b7584190fc6667b8d2\nsize = 64\n\n# tcId = 85\nikm = 17632581c34ab743992cd99318889b32f92812bd37f41636b5fbbf2b12190c6f\ninfo = \nokm = 04ea65201dc5ce6cd19dedfb3a30517e0e1c4d4766bc0229da4cdac8c551632306c9cb14bc05fcba1535\nresult = valid\nsalt = 55e39431c83648867ac98eb7ecbbc8b41c5a5e774646b926a9b49c511915b0de1241f8666da198f6ba4bf7e9025e434b6d7ef794e7a563309303055fe3bbe769\nsize = 42\n\n# tcId = 86\nikm = 045b4d451bc30c39afe0932f6cd62e65b4b2ae2cf1160f19e8ba1323f7ca146c\ninfo = 613e353162c6c1b12fb1477fbc54074ff7848a14\nokm = cf9736b01f3ae0768b669d53ad335243db19e2587d904d72b72213aba2f0964064039177cd922e2aaf8d\nresult = valid\nsalt = b73682dda0fad41095070b2b26f2d7d98ac62202d918258ca9aca0f794ef5e4d23b3fc43c8cabf9fcb37ad9a62337fbce967fe24054c3bf891195858e53997f4\nsize = 42\n\n# tcId = 87\n# maximal output size\nikm = b16b67a856259419ada925f3553103eda6cfda15666ad1d012d43429a8272d75\ninfo = f82bfdc6aaf0c789\nokm = 1c9b28ae006c65a8716df9089e105358aac83c2372e31788e2c1ad0bcfef21e14ce59a2c3defed070ed55424e891aec5215240f8915f92c35b3e8cbe6c91e", + "70cd83dae81e2628e3b668d69ec66093d054f7e213ef5a3e88d6694145fe3bc88a6ab55a8c32ef2cf0907e07e0b05fc9002dee5d86a724b237fb8423c874d21fd541e3c6d89ee2b1990e3dcfe6ddb65c0500d1488ae749529724dd975492bd35f98b89c280586e8ace25c03a8259c52a3c7478d748554d2f7d485ed68d1fa6a804b3d1b6a0aab002eef97b9656752cb0c728e1b0f15aea2928346cb97617ea9760e0d46be6638c905247c6f8c927416c283ce1dc41f16e61060644952bd046bd478a01011907456a03080d7bb0d79c959f5def259e6a4e0fab0eab317ed5e62d0b8d8e7ea4b07b0281e09392e43a00deef79eca892b59b1adeaefd14b10f11f9621edaa8567bb15e52e0f71393ec309d3dfbe3673550b8ec6d9e1f325007b5253bea1b838a2785fe37b80dea14c247ebbaeafc73bc44d013408a2368cbcf6d80c572a9630f38322a778470ec557657d3ac8e1265eaadce9975f26d9ee24eaefc6d6c38b78ac198ac49be0e08502901868b6d966543b682ff658b12f962a0f8f1bbd437a2863ad6246b0738b343d368cac0cce1bd4dc4a1efc2e65b53c732caca0101b0b44fe17b15909f84cad9d107e5374bdbf84a579428219adf9e4f60162566d5f29cb28c851ce9d05995018095ef7b915781dcaa5d75c4db60d497982df7767f907fab51d650acf70cb3430a2b5210a572bcf68453b3ba10672b5c134a70f63e934f8388cf4483871134c6b0089988948a528fe4ac88338f00098826042f096de009a605ab575dbee9bc675d626b83393511efccaf73c941d38be181ee22a368526909f8da2246473e2265b58f1a68c7a876b55223d2de9022f4af4036469eda819a593ca3ed2763c1e8d26c49082e9c8a2ca21b939ad0e8949c105ffa36893d36314b266cd6d22d2a1c1e7e81e0bab9743269cb5ae6808fe1c48bd583bd863b74f919118437bcf7053b2796f1ad1b06a4328612be85e9280009c0a11f212dd748987c2b0abd1825385bc1303c935117d3b968e46a6d554c04073affa3884486340b77a37377214cf799e8b422d3ba77c7eeab27c50d0ef7f07adb97b014b7c09982c70142aae3dd417610c76088042e7196745e5574106ac8043642d3e5d0e3f4e916d5bcf14754e21feccd10006d8fcd222f2d6b268fce261ebea921a35f538b23bb14833c10f31b697675182dc1b2a32616f3174aa40f0296b7b45489c2ff16d8ba0e23ff740b53fb91ce8026c2863f7bc1466594a984ec1744cf07533a9bf35794717dfe170e48616cbf7c24293cf9d931d7848513ecc8960907aa60359275bb9af101ac41ad42be509cb8acc9701440773a486a8615dcb8861eef8c1d63373152df15790280436662f4dc98e3fee01fa8ef61a1c500e060da7c5e284fcf3d27ec9321ace93d8764ee34bc51ee6cfced9e56ba56020652a855099395fc5c0290ce84b0ff6c8ce2f25b30bf85909d906f0c418cb70c7e69d5b3aed6d0eb74387b6efbf33872f3712fe0dad38110dbbd0e5f4432bf102835ccf4795f95e7d07e408ef853d28c226cad475fd361c5de53b2d2a1d6f59dcda82dd6f582c52ecd2421b940939acbaa0f34bc64193d6baf7a809b42ffbab45639fe645ccabc93a97b247e454e63cb891cf187908d33dffcf1225757e87bfcfede42dd0e8b75e4ce05f6a766b915f047e52aff8a7a982d9b2072c1020198ae69a69348a8554fb51edd4ff68a8e0041a0a118ad2bf42c418130e01b3d1c521a80716b0898eb63bf6fde067048e650fac3433b6c7aed5d59bb4065ebab0dbaa03e1b8b348bff92575f5e4db87d64355f75925dffbb090aac2ae320bf72da9371148901c740e34b4355e715b7c8640e016d7ab63c0cf5d6f3a6d62f3358a5fda77ada6947fd711501891c23739f262f71e5314bfba0b7372638a6dd2b2547cd1ab5ed3debbf968669b6273cec753d43085192860c4168a8703b917a609d87e5ab1f733976a06240d288f8846ad27328b071b377accebf4501c75f8e4697e715e8b052bd116cd16895024a8b58f9b96f460e6aa9f6b8c5b760ae84e036b2e83d18c3b242f59e7c00cdf308e43ae576c5d69d78dfb39c78423ffc565a0c27b1ed04f231fadd2cd46f4dfc1caa7ba639746ed61e1787606ff6a9e1422ce3ce817e23ecf95b7940c08b865b1e19d143e230defee3ea88893404992399adbede4a82b34b906631b339dbe2e8d0618ff54b9015012fff625f69a1b9c753d790d3ba76af8fe7ee5f6f493e47c30b28341d98f0aa38ff76f7f660e048a09c5cec238d36e21e26d8dca7d427b609dd35d9cf42447ac88636a4575b0383177be4f1f1e4db97778147b73477c50071a625fc908f4130090a819644f1c1bf7318cc611b0ff4454a7b3d180c445fffa0b52739a474017fbdaeb278fdb901723d0de12f0115831f6b4b2f0b6f15c59194bf28d36ad73a2ce8263d8d293a7555048db5ace9e5669d3c0391475c602bda918dd951a2db8aa94bd8925a646ffbf9a22590bd87ca893f45c53b184f63d93794c6f9f4ac2d4ae4669e9b36af3cac1f59262550c5203a1152cbd0d4a264e337302430f59db44b2c3c1bc7580f09a5326db90d6f88617337d20bbb39b05b7d1710eaecdfbfc7be543df1f52dbd8248209275394ed36cff244b9dc25a46bdf9cd09f2201f2fd8007cf561af8dc4bad49de3c7131820e2c3225eb4ff95de565580c02ed86094a3b3757d8ccb040ecc75aa1b272fc1f96b6a9e5f117f9a229da82ba85f42e2fbc172be3f24c2250d15fdf257d39d2d4b677f23a5ec8cc4083d957d38fde4f5571786278fbebb2b56ad8a1dbce217bb8c64926813dbaf0f068e20595f80cb5ec546206b6660789291b3714db364e9f27d920c606cfbd48f5276aaf07f2defc637d25e146d18dfe207e1e0f946b91108bc60a7a633e960bb77c119620e6da200b650d5b45921e32b307029b769a04972421cb80f3494eb7403c58f779891d994c556043a501836111abb0f8ddb34a894cc2fccbae3d73a95dcbbb0c73c3a4fe516b3bf2109e0b9d2ddce48477890911169449e5c00c8a4782c33c349d7802e1b3fee21f23cb73a9e649ead85c06d7e883bc69982ce63e1b9ee3ead32f2d29f82b0eadfb5f55f8311c18697de6472c7d1b9b37a73ce27ef80413efcdbe992dac8ccecb7463509a096ca33cf5449726a83d078d5558da1a95dac80bbcdacfbf5935011143dd0e4ce91aa1a49efee241a72f0edce6567662a4b9789763ca414445a3a4baa45ad4d9ffe7f28c2c94974f5e74052cdd5008b8d89bc7726caf49693d1dc01619ac91155915031c5f575f0694d9f8a0dffe303ecc3779b8cd4441c6a110aaf682be920b3895f45538e1089ad610edc3ca64589cc82f863cb4be9125f1659c51f693d30bef11042384dd92887da5e45cd127065dcd57847673be82a29c1ea6ba5973994182c06db59272149966603c3f1d3c1efe10e6df1fbe2d32f955b4fe04ae96dd3591dd1314ef715951b4ff8b8378ac2e3814fcd378fe7bc739b2c5b7d401603dd00c2c92f9c86b8c63c90d4da37400f590f36210c60495f049cabc91f4c4585c5f1a1098167190108f704eccac5b1960748502ab4791144c8e049fc2a8d37c125c1da0b15adf85bdfb07102a653645c379f5ebc84d505457e8c22884d850def6c3ed18342a28d4f62b47593db3607b97c7be1acc81278bbcd9772ef366e84af816d0e2d132419034163d5fb0b88ffa183ee2eb3c1f354321c076221ed7d1f0774e7fafa5baedc5eb32fc3ff1e2e48d77ebbf4d7804c7a76eadb7673fe9aaddd2960c288d9159f7a2c21b243dd47f4cdb0c29931a3856e1cdca81cf8ab2fd0bc07b4179ffce30e12a72980e9b705f53bc7ad78bf7e939dcfa5200d15b626e220e465e293379f12e1e82df11caf29536aa085cdfce4d9f824666eaf12b71e42919ffa28a327a4d944873f0a970f9abe4986979d772fb854151fdcdb4faf7534a9a8eeea3e9d080f9b56fb8d281ab2e0f9777f2e2f1e58bf6c471c79f4e1611fc0c541227bf9179e6c76152f86013c78e6035f0361e57fd5494c590cd5285cdeef52904fc4a6713009542da95e8e3ff6785bb953d571855d86742331d62682ef537e25411bf35ab44ac31b451477ec44db4624a83fd637852905473d30a4ba927556163b8fb98f15008d005660caa833f28cb80e299427e044dfb254b97ac03ee5389b93130ddf4c8dec96f6babc43220a59a194408540122f96257be852fdc97303f8c21553a506473e2dfcc50e73b5b6c2b2c99e55b2742752a54fae78daa18271534b82c274fd6aa41e003bc60e935edf4cb4fb377afc273d720f41db68db9a98274da032beef4464f082d06e679cb456f4772eed93eda24e31eba70cdbe12fbf39d413304891c7a720ce8d896fd20952b4b0577c700028fa804cdb7e0e72dd503a5299b346e188e7b0ac0b93c3d4ce7ca24181909589c82b01e9c05769dc2ceebe9df8652bf843746945dec545dd211cdfc0831fc03cb91c6136f5e0e2d558db50ce3dd90cae233442f2a41ffd1d69b2897a10ad0a2fb83075d3f389c26f041f6e178313682e91804256c1d0b4842225e6f63e1bde51e888cb9c93fdff2b7dcab1109da6e648cfd57ba9237e35f1d28e5e69cbb8ac5b941f2a2c56985d76107723288422ea37c2883fe775e44e1a5be4f3ab0410c11e2a3e7cfbce8e359c7004e7a7c86884af6dc32fe94198f2592144b1bb397187ea5df233db8856291c1b91914d87cf0bc1e707e104ed80a74b5273d267626180b035fdcb1ab94b8c6560e8dc0a8ebd7d6df478d719b3b426e26c07c9eaa9bfd62f921ef99b8d25cb9db02ef9346b18f41f88fb17aca4f04595f6ecd8c8f89d01b19faf3b479796945bf714497fc692bceb89620138cc089e64b05c3efc39ca03aa87c0ee5e8766e83362f37fb4aa47fde3acf5f3a6f7c7485af5eaa852f3303c03b1c8c4c82e511f0a1aeeb3aa5465d11a306b08ea1a2561e583bd183da982bdc82c20d7ec33e80ac7dd7b7d93f22b7bac6752d71fa6e767b5af61e5496cb6b896e822dd2ecc57d1f3da815eec7ed83ed50822f96da844b1565f65d72afca24a5ee59d36ddcb6e5ad9fa6d2f19248e120a663d3d93c2f2d3e478d3915200104f5a2402dd37cb8473e6104ccb1a8ffe6b014096def2a03ef2c035620b4267711719ae545951c6e930fe19aa90a7d5ca01d089201c9ceaf49aaf4bc3bd80a47884d12848bad2df4bf99b45b09b888f1be26cdddddf557e4e97f3552cedafed9f0be5a26e46140180e204dede4bd0442899bc4e6192d16267e7e0ecc0e52471206b306254ab4e3908b8a4aff72f337f21c551164319ec9fa947e3184bf8eeb1562932f1446f9a1fa6f7a10fe4e9df16a74ca7072170644163cf1f9849cd15dd1d0902012d4d13172334dd7146e3dd066ae11c59e45588bc597f90d217d2eb0545b8e171b5b36669cec25196a4d92a866de6a8b1ecba130876d787386d596d03471a0169a1cd6bd734815d6d36df83e4273d01761550207445247b14e9f5fd9a04d6e5916cd7c5a27dc10e7347522c2e8df09689787d2dd44d852b1316cdc2178d9718f2af92e9fd711b881de0c058e9c9c302a06b9b7bd40a4e857d3007248090f2ce2c74d64d84f1985ecb9b1ae558fb20bc8180cb8720d215bcd57c27737f6051387178fc177010dca84486d62c7113c0de4b0ec79197d450a733c8492d8c213c5123424560853a7878425412fcdad1ae0986c375a2b19863a07f924f27379912", + "97bada908d5033fee6e734e86ce45c60f6e61f42922d500cfc57cffe21bf42a36a3841e710d1cd94caaafeed9be4f00243a439ac4d37348102f7890c8e8adf6d8ec765d709a15cb526e7c52da7281e6262f5ac206806dd595d58ea0158c1102476f4f7077c8bcb13f80d9fbd4fa29e490ffb74b45480a31df2e75618eddf10f34a0cd2e61c99316e303fbf92326fccc785745adba435d68c2f720064668671345fa1a7af122386c969e79fba2fc6b66d86c4ea79ac9d9fbdb6f21fcda70b96875dc70d915f8ee3bd68f84447d9015d3b8b340929daf16c25f57ee9828ac93989c53028023b7be7e6cbe10f077e2b41b873f0a7a9a4718063975a94e045aa246dd05b5f1d0dbdf123ce661943c2fba51eb41f4cc854bccab72d41fd8ac6a34da8d55e9f943f04b675f6661b9ba03857023e2e00011ba47f8635ca9408ebb55b43ed3a029151a6c44fe2f8a1a61f390c2343cdac9dc24afdc6472478673fd2a024578d2ada32a1376332ea24445ac99ff3081fc327a482b6ee96d56db0694b978296102a448f6010dcb560447d32e4fc67f260c9646dd60e11d39cf736577edbc1330bf8a2a3accd05e7f562fc911635898882a9937d3d527d618d450cfbfc1dd16ea040958e21f72fdbe29fdd91798888d0eaf50d01e9c162034dd12a889112b8281be71b291360a6e676f560fe34faccf5556319acd7067ffe1f7abd2489d88cc8238d5479e18b20b502d8be6c3b9565a97d15f827c177622feb795d32a6cc8d49f0223410a484bf8788dd6ffa1722a13857681646e7ce8fdd89646d54b8a960148df2cc92d310112eb1388f5da1eac32b1fdfea06495f57ebf845ac6f38c942e2ab13f45b4448d35a785f0ec3e1a0f15c4b341dc29e4d936bd438f26d1c3f3fd103b6543790a8d48702b24aca7b3a60a968703e258297a592a2690431ce09993fab0da0555b42a448897afec276d1d48b8a71d3708ea3a453bb653ccff2a3b3cb33c7dcbe432813d859f511735b6ac062b225c706f97241a3acc08b56f88d883dbce97c8aa935fb07d8dc5291d3d74732a10130f88907ef6fa06b96ed4de40dc90beb03cadccc978fdcc7e36ec532eac8eb33e4914faa060d3041ab7386a071458f104f9707a9b8858e220acc78802ed0961a268454a4c02bd8d3f7aaadc6573179c5c0a102517d55301febf5001d4d7a5d95d80143e6383f95af933c83fd68bb7d0c1e283390975fdd29b0e62fcb0cb1d032bafc96c1908ef7839a86f52d0cf6fc61a6d145542b2843c8210fa0c44ebc78f3c42faaff2a560dbe937f2dde15f0110d1284a5c69c7aa9f26455d5bfc5558ab6b60d8c98bae2ee0717fdf1757d26d2082da8f481e7404d32d06da52a1f5da5bb128f4c185e7dfed64513c97329e5836ea707361c6dd45366396f31e7aa46ad88e0849622c3851e72c2b44136ba2e1f1769e8cd86184f9c0a1030da36016f146343ee8fad9a06c33946e2cd3224da22504ab68af25b3b9789df7f2dc1c9f99291f89bd2516115876c3bce1e678a846163386db044eb0ecdbc9e0ec6ff999945c83859f025aae214b5cce6c32a048cc76d7077c11e9962061b73a6827a0a4d0b4a8c1c92b3128f21c7e3372e7e248dff0500358fda14bd46f50838666f3d5d8f28a32fdbbea2829b86bafb15d02db14381581709b2a9cd095d8555035ccd4c67c10a4124acaa9ffd2a76196ded0729cfda8d423fe98fcc126569f90899ee416b397bc16d1fbc88ffb4fca25b2b2c91d5ab91d3a66450708a95ab8250ad8d8ce4614683225ac9bdcc236a25c6f5d65ee25262e54c54dbf59f2ba193a210359ae7ab1615f15a3ae2f017bb1aecdab6833c0256495512f5775ef85655e595b8898a3ed24165ddfc1b73b43aa2a9af4060283a1cd6355fdbf585bdb924899790c477a6343b244be0433da2c084aafc57345bd69e57c5fa3b5e6d19c98eb119e7f5e2080b4dd121dfad487441e6089c97494ee9a932bb8f56b0066940f415b5df917110108bfde7bbfebca4206bad5916b45ccd7118164c97ce0b053e0b2265179494568c0de284b8ebe664fcc74ae13fbe56e35e97c1e6e54d10173950090244f353feab7b0a4bcf892dfbe6a1975632efa67c1964140c8c09d23d300338c8f8702475afef0d794ec815cbc28590bb91967179115f5922d7fca605c2e98213589f540fcdc61c28ce38e955cd5cf86b49cb729afd941055d0273e9ab74b87709fad9aaa56878cae49e063c430459983230bb9c47c36eec08ead6faf7428b13cf11739250c3908088aac25e387c1f7ee461c53dacae84804d0c83185508bd5d9f2f3e7e9bee7d2dcdad485bc3cf076b57d153962730bb23017374c76b5181058a982b96357ed0e5a26ffbe6744cfe2f2bbcc0d6a06bdf6235d53a305e922c207d3374f67f9e9571c044f73adcf28ab399b5187b0fa4db03aaeb10a3c6111669cab03dce28daf75ce598604f28326452133a3dd18dcc925c5394b62f48f803f0ad91fbae1c4ccde3a61fd7e23a00b6582d38257d2de8ff5c84e7c15b373b67d10a55940143c30d9cd01dbdbdc4efd2d78e060248106b68f2a741028bda70c99420f996dd225a0fcd0fc93cffb2194ff47023d9bba1054874d8a50bef8ebb90561468f214e13e505b558af82818fd74aa3bae02ea49f2502fc2791e96c3eea62742a2035468927cf74541329c950df615be360fd0b2fae64030a7add9c35b48a6441527dc4e38e9ca001719d5cf1e3d9a5c0660a54473e90557a2e7494fe2da354ad37ad0f1d8c02c4d78bd5e2c18997039f3ed7e9d82954d532b498eb2df080f5840c34eaa7153719bcf3b0f1b7d16c9a61421f83803ae677920b65420ac4dc2ad0fea214a0f66bb2f2b0c326a2067cbeda0419424393c643a1152cfcf0396a15d30d4e216b656b4934babe2d518ce9bac15ab3e6bed02b397d2df6f0bc9d9d56333ee9963a71b9e0fc5eead36a12efe520aa8ab9d1f9933eebd5e45c3068f8ebc90d1434712c8b078d41dc913668fa8ee6d686a90c16df842418bacfe1482fea4526ca464732fd935c61779d294ceaa828b54e437262d8bea50b7e6b423ae39cdfe390e61f7c847d8fb560b07260fc108abc130bb6dbe99dbfa65245c882a2cd65e4205ddeb902603e1c1dcc2a471c9a206064a8d756353773813f0c9efcd22903c443df9677b5979f7cbf97ac09e35ad048b34c33eebd515dc696a7776997929d0bf49052ec3348a81694a324a6829c227388b5352da311bd7ee38f7e2b6792cefb8b33664a6ed89a11f9d9f6f64f63e898a4b97362fbb2a681a87eb2914e6d10eb4f49881197630b2d8c4c8dd3322566c6d3350b9a05890d0f25beb26a49aa9d6f755a4c533966f137aecbcbd6e65391abc4bf97a17f0e32f5ad0a7c6af2ab0af3ebb07b97210606d68d4d8ccea6f0311f15ada1cf79504ef4e4b58d17bcd87cec74370be0f6cbee92831bea0dc35246fda4feb3299813a18ada050744e836cba694e7fc0a8368c797720f16e238a7e9b4d3008ab555cc0c66c1d0fd00721db81dd40585ebf5a7e7cc0443d11e91ece4536325e9993828cafee77ce6e128d0767279001ff089c44f193b1f7b736334e0dc5085fee52e574b2e4ea6c570ed92175df0c1af574b6285c7f5f8ceb3945a2e337fbd19f6b4553cdd8be98e5937d58d229901dab6dfe7cea5683cf573a3ed097c14372eff45e562629851a75cfdc3ca90f68f4aaf94006d03f078b236c443c31fc96e8c7aac2d0a66954add0c0a7771c5ca6665d782de40eca16449b2275fb04fd15114639cef02a6852c7ca2392923e2ca74f05a721b810b555269bfcf6e788e2ae891d54e0d9528ed8cd49c8b0e1b41f8c9355cc5faa42477415d6e7992f65dc6a62dbf10ca59d55a6bbb71b41fb93de8fd00f3640f620257a00f0af4f4286cadd03df8b06077320f617a889fd7487c2703bea22c2c39d3be70e50692f3410e2ce0fe9ee6829833bbca4a9d70ca7438c798432c1ec563d81c384a42bd5599eebf98985124a27279a610dbe9800a6509f517fb1df6be255ec1015bb808d56eaee3a278e0d8119eaa04375137f22558de2759be8dea393312617c4aa447e28091bd3e79e6e6daceac906a7c180faf0ebe9b01635f075b32effc404d52e914e54642057d4976b7ccbdff3932cad5d35fce432bb675db4548e8d358267d1f34498ecf46baf5efd8bf221c0d35f18d5f64974115af6419d0ab4b71fe0bbe8014c03412532699d7caf4b0707f92ac7c677bff84427476eca38cc2da5310df255bfd11c6905639bfd622a0931fe864d5c52caa357ee46b57af74c23d2e2e4abb076c7bf11dc5dbbc69a75ff9446af6e8d5a165d3dccc33fc6ceabd6790ff4e4032b515f2d85414e59ed6d26d9c19e9133e628e3f2b1b77eb6aa74e50df1618abb12240661ace8cc9cb0a78048dc62349df3b16f5a48bb3462f56da5d74a22a04fd3b6353349f09289713539efec56fcaf0a41650b218005c4ab31c8a1f866c2c29dffb51127d52afec692acecd3ab79e46c331c041fe8ca9212a694c7848736a471966f8d3cbee2b1403177a67c4c030164d006c2967e33f45bd90185d385c87b715314a2b15933d7240d2fb4b8e9572e9e07f8402745b35a78ca5f8d053dcdab3b2a9a885439b20506148d2caecb6327cf7d33e559cfa12678f55747abfb3cc25f32572c47922d7b8c9686e5a66e1855ccbef0c4cf0eb489b6a3aa885b2c78e067421268705a4bbfd88374b33279b71303c70aba755458842f205d3a2a7e40a2828a2cef6ef86659182c68a0252c2eb393270fd26402581e1692eaa77be5e6d7252c683e380e932cb5facd2bae8c5c25739f84f07f2b44d6133aaeef8d87191a9c2037f5a95489adcdcb89e54f1165c1af615890a1e4e56d07d949c003e12aae68820492666c999d8c09a356762820c9146ef9f85828d9a9b818cfc2fe2bf09effcd841e9b77922e2d263982060eea4a06a3ae8fbc15e8b5bdfae224c648b33446ba400ecef428b236ffc8938a7bc6c406fea97fc0e1a324f8e31429f53873d0f24eaab39f0e5c37a0147a95ad22c4312b1d8032da65db800150d4e88bf7b9b1dfd63c3b714eb32b7e6f288d7bddd875934c4cab2cc57f771ab8523721033d769b2ffe9080488a1b201299a1eba6aca7f468fc72e4c26c34d161764c7c5ce96c90115898824c24fcd7a97ec7d5031d1364b2028591ec1f6a286a5d474dae06ebfe38900b0ff730a497d40abe221e0dbe82a90106bee225263fe2c04cbdc5aa7a643bafd3f89d10abdbdb320cd8da6c1753202ea2243395f7fc798db6ab11f78e6a6fd29269169c6925488171a147c651e85777a791837f8f079fb958b54af044a11ff54c493a0f032162dcbeaec09d68df9da5c47e87631f7254b3ee5a26d895d2c980ad62ee8fbc5d7c4235bf1f9be12781d1acaf02e100be5a535438c44860b8ca257257f8b4288f66a7bc82a25c9f78f55397e29e99ea97595599ca41f599653548cc4a2983dab789eab4dc1536ccc2463a0d259d14fc0778696a73fb6f4d78c0c1080b2815b1fe91ecf65fa02206c438e16ffb9aa43aa4c6e68dfca745e4b1b287d03325a9f595c5fe164594a8bd3bb1893151c3a7e3d5ee2d966f367d98578e2564398feaeca7d8c4773d4fb51f706bb4fe13494afbd786c0662d0159557a8c1c56590b5738a116a20218b9c35a29651224dceb00b4a5fda958ca46375885af41ff9e1335a3d57d650aae9901b71645923eb3f3d869dbb7d79c6a58f856fd2", + "be95c376d9934950577b682d82985f0ffc2adeb9ac1d801cee6ddad69d342046487798373560db6331ac07287a9240fe1cffa3bcb14825ee235389e80ecfbbe138c349f6fb43574077213fa5a995ecc936eb12b011a7a1b3417b33f2adc3963a2b7abbd2314c4d32291cf24e9d0e896bd709c01e5a05acb60bb7713234b450557e460aa3ba916c5da158a88f37fab9c0a293565610ee33a42fe1b632c9c5ec0a70667d5fe236fd8405a80152bb91ccf336608dbc472602343579d0bca549d6d97155ff65e6d3cd2342ba931158a97613ea430b8fe663c28dac1cce08e8c28db4bae76758d3d186b6e34c631ad743a20ab81771879df17361e7d5db49fb0a88651d6d4b388b925714c19d790c50a76182f3d121dff6fae46fcd97e7eff2277bc8c6b87984c0fdb67cdec92b763d867ac3f54f30ea1c5e86be4484b8d52408dd9638f3d13d32e9fc43a7596c9748e0aaeabc83c08a7849c28df6262ffa83128341431cb97eb574990a2e2e92610035442bd7fa3520c4ad3f6a849297ff68650516fb80b786a3cd5a2699e37ab1f36d40c6b35843ba7cca1aa445af87711feea243c787165dc51975ae058f80cd70a272721e7d3be99db79e76c9cdbb476eea6b73e50968e9ff7515d78bf550e9b77fde7f686544e238483e7444faef2829a01651eb76aa767c03dbfd37c79ed8d77491cdc75798d230d9734052ab886075da01556263d09e82f2682bbad8c26d780ed6def00bbd3413a3b7d69d2eafc4ea0c42fa89114964aa4b775b5840ea4ea9f69b01d269ba4551f1aa7bff0dafd8e3ed13941abcd91fb3bef76a7b49340382eeca128b9ddd1bb253c1d082f02d20c37f0411a57ba5249b05b1ca2959aa140edfc4bbb474c9273909594b1d970124f86f861c0504bcb56d7ce395da042c175384e8e1c0b2be453df961e9fb0e8d60ad09ab6b8c8b09d8c7c3fa0c0376e70fe6487dab64d398257b8293c19bca53ec82479f7784f5359ef3577c7904acfd59ba3694283d7f0b63be70c5f7e55b45ae013ba5a8a77126a11154e91f8c3e9ed719e087c73e425c7425abda06860b898b1763dc030debaa9790ac22263a099573d6b4fa2ac17ffc9e7e0fa710a23326b965df9e2d2a69f07a249f7b2c931f2219a3f6281aa96937b1f88f952693519089b4504965e0408dc018f449c566f027866f891ca75832689995b72fd5f518e5a1e37f33c06775166822050932319f0d1e53bbccb9ae4d18c100086fae3311c69650d2317d83e4a164c4e67278dc1539dfaf2d9e02b52cd6885c9a66831cb81ce13422ccb069067ab6a6c4d3c89650677551c344918a5c24b0973ef5727f9593c59ba1026a82ca6e78033d6ba6a40488c5ec91708ec2479dc53d0ba7fe14bb238181f1c058e694898c914c2208dc01979119bfc0195e8ac0fcaca51d61fcfc5f72d92ba68a8d51394eea8d10b624dff051a9153b7d729f50f02d04547a6676add6ee0338b6d9ca9dee43260980291adaed18759bddd5311b7b46956cd113a076a3995b2e72cd1a5138dc31fcb5edfbc514bd2ee72fb53e0722367afc717b9ec401e4213a317583e6b3b19a75e1c63f1889f60dfb3059b0a64b85fb758651c713ac43345c8cd3c801da3f6ba8aceaba572f46100def2adcc135c4af0965f379a7a6c75d039a2cd40f2bb5919a3c8b74d58bc9d008b592f2ddb3acf4888e8b7873585f1f3d8581c743b324873fc23a345176635375b746575f79d361d186108eb5609dc78612b7bb530b6327bca6dfca45fb4f4f975afd1bf0f898dae164a19dee3f0feaaede1440cc7ff8fcb21145680e8a24e2eb5404697e25c2558ae9289f528a8faa572a354931a1cd4bc05bfb0116a0359a6b70aa79b145a88df482ed33354c260d1567e000b2d315e2808138638fd7bf7f4e88add370d24ceab5a999643741b13612ea85f67ecfc728e110aedeff58060a8aff0b7e1526f4aa60b9f9b558c2acf584a83b08d91901d6cff5ea2bcdd832303539703d30102ca067db40908dd8b555834a6060f3f6e7189612ed0d3b6c645db8b113909a38149072b3decb1f3a28be9223cfde40c2feea7e8c9d5bf37a2e55a60d8f89c391903e49bc644178531e6891653b1a4d73ee0870b18f8d53a089d5066dfadc3d92271232455637b20c298d640cb04b668d7080a510146b08031fcb84f41ca0cc85428f27ea9657de94073fec43d2c8c464723539276dbdcef593d716d02d172d30e76a9fc022d4952621d4c306278d3969592469d9a9ba62841dedd07e76a362b67ae5f925fae70f27c9cc870ba7b15d2d7d81b4e1d49f02fd963fa6f9ea5f4c901eade1114d92eabbde70cb0c6ba9136c68cbd25acb278e6cc73f9e625f1747e281d248739ecaaf403a21269758211121db85805ac522295ece97b8f90abb56e5a762bb7601b916befe8257e02a2b10c8384887de04b2d1c5afabe583367690c03d3ea6f7294f71b82ca80cd99951e5ccfe9ce7cbc5e04d1d60dcdd2ec88f9edb424bce5f04217be277700df4035443d18c14391bc9469f38f78f41f2d983bf761296161216e5719b37e3653de0d4a90a5171c2fdb9547a75be38910aa96c27ecc4e1fcf7a12d5254a8951a659df30db813ad7c75716ac050e61bd76ee5a4ec0bd7208a4c8cf4dfa0ac4438fc7f85e23db79d006e2acfb8d5a4229dbf0ee5ee26d064dc57a1dfb4374dc306158c1f8a9fe450a11e7ed21700ab2b817724a7139e2ac3df5f953ade220d996821ccef9e8f58a9c4996ed0bf6e70fc17237141d822f393cbc725b6813626cc63b88f5b893732969b47dc884c772e12c9099be0e519eccbc31d5b5886fbd737499a622058d6c13e200e7b201839c52634dd89e87a742cc99c5971e0b7cd976e8b1f5043a74fd6bd9d30eb8ab29c332057b2dac2f95739f34f1abe9e85b856f1d2df1d80915338cfc454b70ce41c2ce77da0f06f3b113d8ebc2ea441721a2f4d6e573eef2ce7e86c2c68a1060f6836526723e6726046c6efc68178798d967a88c17b4b4c59b96828d7497c7e40d6cb57e8f83c7164ad56c4e95cf551cbfe0314523fd7ca84bd0063ba241b591799b5422ba0cec9c2d5d5a3785bc510a4b12ece05c1081bd489edf428bba344eac60f1c9a59152fb8442c7b65987ac41b5ee2ff7ca6b8bbeded9e8b10ece0a3a792a508ac22497df9e66031edade139dffb19a3fc7d27b9bcd572d60b6a0f3482b8fb6ef495e2aaad99cdb89cf6171609096e4f2f03e21f01ad554c59d008ffce5f1ba874fc58638179ff01dd4fdfb01c4b60e08e315654fa5e211d0b75109439082a982ace4667ef510211b1c3ed116bbff57a3304161e1707f4f9c3b22365760b1de206a68c4eea017970e138a5e29fa3f5fb28f220d84596c0a7fa5e192e7aac83a1b83f65a5a61b2ce0586cf5c387ad24efacdec8f4c9e96334b94a9994fe3181a5e0ef82dd8e6a9ca79dcf9e5dec753a01f8d8c89e709a63a92638f0dbd4d083cd80ee7b4c82bb08bdb24d77ead9d20fa041b32386bb68d7e5255290ce65dd07d470b220e5298bf80a064c940378f06d35a3eec74dc60be0a9f46d29014210cb09374406a02e48342bc07db10811d314b0fd9be677909c91958ef5b3de9660d105058cb3a9bb859a355d502076938dc0f8feab32cc342f08e5392735263ab0e84eae11b39e993f0a6dfbbbc69dd01a7c23989f05acf42829f0fedc564e8ea633dbd4a1ae9318b8a7fe03efc535eb008cf30f8c9d38fa572e79a1b6c8bb02b87050dfd40f6d8a91a3b1bbc167247613000dd7fdcfa7e49000eb3604cbc7e790b1df640acb5a7dfb359d138b6fe3e12a8025b512f429d47ddd60c8c56c9084c509766d38ee652d49fa12aa3c2a26be8faafe589bfbae0815203101127aa23abae6b01b4fb82a2f7fee10cac9092d92e68b48bf26629524f2d8882dcd18965c2b7b6ecbab0204bd90e68ba89f1af5ab3992604bebfd482babe08ac40f86dc638c9440796bacc8bda1895d75fa30fcb0434aab12526de4c026d320587ebc36843a662d5c646eefc6524d6350ab11206530a7e48b53c8ef851e1d17d1a78a5f0a58023b9081357b033e2ece1dfc4cd68f99ae754195ba9453cc90f60371ebfb5086f60619f6b951f0708c1304875c618eb30ff4acf7b16a5f88564cebd3afa0c509516889e4a58354aed00433173830cc90c16ebd6b366e7d2b43da4f37ee4a05860e2d3267b4b61facdfed2ffb1960adce69914d4f36d13a5b7d6920524b364c87c2697000335cc5fecbc68c24acb6a6235a61fff788daad1294df9d2fd0d012b446b35e3bd4592f4f6418d7e676cf46bfdf1ede5c9f9c3fabbf3ea0b435555d253412deb4c66922f54a59cedef5dfd961795b0a8840a78266810d45da1e76f4ff7c8642e106852173bb7fb44394bf4b285d95d711651031d8f062ea62f2503c0047d808a131a44c0d67bbf1ae1ff58f9018bd92c63bab4761f572ec67da2538bae95fee458b1f298d27be26fbeb9c80361e30e0738e7da2d5b0dd21817832bd2af3f92f2e6d9a8c75f0bdb4c5f31811c4ba4af5312aa615e0e72a987724b56d78c8d598a59eee50978dd4ef4aa0fe958ce88f6ff8d3672a5d07a50a4c61af4b8121e6b5efdf7e39842d91004d2a78cda448ad233708a91d6a9b0e29e5c6ae3494b3e73f81c04e9df3d7cb5e4f8484bddcc228e87c3efeb39ee367cc3e9bd25521b493b168d15f5e15379177fe625e9a6052f8e3312ba0b85380ce40ec62afe4abb8d21ff9e420865874f16525fa38e3ea1aab965f548db6ba2bc21001a836b2598792e4dc27ac82b136ce604f554078d44b80424f449968cd3e7f07e73c1769fd6bbf2580421d4fa4e6bc2929da999f4ff8fb9f6170210e1d2be140f6fba282ec31c9d57a6d69e73502d194b611b1adbbc4c028bcea1d4003368cd564a59bd93966f2996fe7c6ef5b7ca578dac3b59989080b47024732adf735ffd721fdd88638217d44ac912893f031366150855028af0b12719460cfcb72378447f43fde09ae5fa6060e41372e40b89e088b00decd495dc7f37f9e8a4421f504108fc2f56eef0bc2eefe041dc52cde085622407d0da699cdc018a7844e8f8589e62cdd3359b08a6b90c75eb5b77421df5316c6dcb2e0672369f3feb5fc368d112a1d4d00abbae91f28e5fbecf772c8bfa84c222963934b206f8f77886bfc27e03b876d3c33e59d29901d41c7f3209d9562eee953eeb239a9c83f3c649a86c55d84a799145eac8f05303dfa6530cb693bfd5d1facb26753f76c50a3528003044e64359f22d8b31750782dd323b003c767ab6a8332994c51b57563cdc60c181400c46b5e7f928684e049a146ff614facfc17ad5f34e23f2a3bed5bb41cae4c65b9e6a6e62fa7dbf787543e5d8d2dcda4dad9773ba129e75b4dbf341cf6261c71441875a690ceb6b56b1f8a5c2504f17d521e1fb2b9e802db8a2e332c9ec91dfa044b0d948be844b6c67547efa07d74c9f9b1f44998888a62ce1b04a806923e3368fe4d9a1960191e022a1774589533b5c39090351ad793327dea2c54c6c03fe8afa5185e8579ef4f91a7b34d01b771bcb6cf1c9107bbb06045b4f689c034d4026a0540b44c24e9df543014a18\nresult = valid\nsalt = 8ed2f3533ae5da80bc34db49d9c3b3b0a7873baf9148772f286244b23ec6b3c1d9f235310c383c96bfe02a7e8be2c01c\nsize = 12240\n\n# tcId = 88\n# invalid output size\nikm = f39c81ba274637ba1460a7ecd776db66fa91ac12e1429be", + "f84a9963b76c2c07f\ninfo = 516c2d910a221982\nokm = \nresult = invalid\nsalt = 408df96efb424324020d4836d100280b70f5d0e850e5460db77c543224ad5d2ba935060d1b5d63d80923fe922db1220a\nsize = 12241\nflags = SizeTooLarge\n\n# tcId = 89\n# output collision for different salts\nikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d\ninfo = 1301b63168af5451377717f7f5ed52de36a197ff\nokm = ef369d7b63f5509da56c5f6e446e2f03b700ca40c13e059ea0f43b08f5c29f15\nresult = valid\nsalt = \nsize = 32\nflags = EmptySalt\n\n# tcId = 90\n# output collision for different salts\nikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d\ninfo = 1301b63168af5451377717f7f5ed52de36a197ff\nokm = ef369d7b63f5509da56c5f6e446e2f03b700ca40c13e059ea0f43b08f5c29f15\nresult = valid\nsalt = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 91\n# a salt longer than the block size of the hash is equivalent to the hash of the\n# salt\nikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d\ninfo = 1301b63168af5451377717f7f5ed52de36a197ff\nokm = b8365c28c10d6cd188f01efa320fa26713f7d87bf18f18529071607d1410b93c\nresult = valid\nsalt = 0102c651e047fed9c217bcf915520532d44999534c1e7e7c87311093d7a3681aff3e2d335b3c6139b9fc66dcfe35573b36a329a550c4cd20bfe2a90dfea50167ff\nsize = 32\n\n# tcId = 92\n# a salt longer than the block size of the hash is equivalent to the hash of the\n# salt\nikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d\ninfo = 1301b63168af5451377717f7f5ed52de36a197ff\nokm = be14708389e4bf856681504fe3bd6a50eb33bf71a823337ada17316fc641344c\nresult = valid\nsalt = a0b5f9ccef84deab2a26b5d81f84e62b8800dbf270bad71f53d66881ccc543e33c20eb1b6526ffb53ab50399c5c96339\nsize = 32\n\n# tcId = 93\n# a salt shorter than the block size is padded with zeros.\nikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d\ninfo = 1301b63168af5451377717f7f5ed52de36a197ff\nokm = ab13dba7201b6df9182666cf7e658b2660de998ac8410745c2873aeb502fa371\nresult = valid\nsalt = cd920e8dbf19ed66\nsize = 32\n\n# tcId = 94\n# a salt shorter than the block size is padded with zeros.\nikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d\ninfo = 1301b63168af5451377717f7f5ed52de36a197ff\nokm = ab13dba7201b6df9182666cf7e658b2660de998ac8410745c2873aeb502fa371\nresult = valid\nsalt = cd920e8dbf19ed660000000000000000\nsize = 32\n\n# tcId = 95\n# a salt shorter than the block size is padded with zeros.\nikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d\ninfo = 1301b63168af5451377717f7f5ed52de36a197ff\nokm = ab13dba7201b6df9182666cf7e658b2660de998ac8410745c2873aeb502fa371\nresult = valid\nsalt = cd920e8dbf19ed6600000000000000000000000000000000\nsize = 32\n\n# tcId = 96\n# a salt shorter than the block size is padded with zeros.\nikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d\ninfo = 1301b63168af5451377717f7f5ed52de36a197ff\nokm = ab13dba7201b6df9182666cf7e658b2660de998ac8410745c2873aeb502fa371\nresult = valid\nsalt = cd920e8dbf19ed66000000000000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 97\n# a salt shorter than the block size is padded with zeros.\nikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d\ninfo = 1301b63168af5451377717f7f5ed52de36a197ff\nokm = ab13dba7201b6df9182666cf7e658b2660de998ac8410745c2873aeb502fa371\nresult = valid\nsalt = cd920e8dbf19ed660000000000000000000000000000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 98\n# a salt shorter than the block size is padded with zeros.\nikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d\ninfo = 1301b63168af5451377717f7f5ed52de36a197ff\nokm = ab13dba7201b6df9182666cf7e658b2660de998ac8410745c2873aeb502fa371\nresult = valid\nsalt = cd920e8dbf19ed6600000000000000000000000000000000000000000000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 99\n# a salt shorter than the block size is padded with zeros.\nikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d\ninfo = 1301b63168af5451377717f7f5ed52de36a197ff\nokm = ab13dba7201b6df9182666cf7e658b2660de998ac8410745c2873aeb502fa371\nresult = valid\nsalt = cd920e8dbf19ed66000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nsize = 32\n\n[keySize = 384]\n\n# tcId = 100\nikm = baa311295125e326efd92676775b9aa20a0acd68fdd9b05795cf82e157c7dac61394fdc26cd7f8a9015e9587c5d0855d\ninfo = ac9954349e500c55\nokm = 5f027dcc4e32bc2f1c23de92b8b5fad67312fdeca2c09daa97bf0c81015bfe02ff2c17de1851336833666db3b29ceb16\nresult = valid\nsalt = 79f4669058de474f47efb74371ca5b6e3788a729abc31d47113ca0c2f972217ac9deb56b317f1e80fe42f5504c8690fa\nsize = 48\n\n# tcId = 101\nikm = a91adac5ab8bdd60fb350eb81d7243cf97740787877d41b40eee1c4c9a96f077e8bda335cb0e3b106454e85629bc5e63\ninfo = 3eb47169931585a5\nokm = fca326c96af6690eb9b61b4b2a23d78a05c90152667c87cf813c2c16f56047a63cc6103986d3c2bce48c5e4e031dde077fc153876bab3f57e12e871a506278f220d6180321ce84eb1ea45494d6b1c5bf44f60a397cf01d5a\nresult = valid\nsalt = 07e28c9f6efd74908c06435c95f3ab25f4d9a9e023f287e7298f9cde0cba29717baa1158e86fb70d5bd76d2549291923\nsize = 88\n\n# tcId = 102\nikm = e80e0fdb818f228c505ea15887a42abfd7b6479b589a76c33b0f63c00e7d188a20ef8e98534aa85df6e482750f85ad7f\ninfo = 31580276db515d6b\nokm = 941c9c841ecfd3b0d2c0488e0b327d151081d6f4d6b927c319df7ba4e3c9dd92ebe1c5b420af2f3b50b6991cc57a4f5a6aded05d5be9d699b4c70555e3dae218eb520158fd63e7be11bff5c5601ed9c6e616147aeb9878d01314ff519c4fe23bf29abe768df09bc485c175d9320e93aebce8336bd83c400b69d07fc19ff692bf05d299b25679cd038bffa43405057d22f014b9db5e5d94f09d3f6cea5d479d7e70f31dce39e2acd93f47f789ff094c0ae4c68b231d818548a81cd1373120b0f5\nresult = valid\nsalt = d1dd17d92c45854e1c617830ec2bd6ea613d8debe261ac30f0fdf9358a2be2dbb25f7ffaa9eee85f06df367b370804c8\nsize = 192\n\n", }; -static const size_t kLen78 = 27481; +static const size_t kLen111 = 129346; -static const char *kData78[] = { - "# Imported from Wycheproof's rsa_pss_2048_sha256_mgf1_0_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSASSA-PSS\n# Generator version: 0.4.12\n\n[e = 10001]\n[keyAsn = 3082010a0282010100a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d50203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d50203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 0a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d5]\n[sLen = 0]\n[sha = SHA-256]\n\n# tcId = 1\nmsg = \nresult = valid\nsig = 20081f8894a1330c4d503f642880e3c30e398fc6235c24f1be752e2d49cd9493ac0cf999e275c4f89ff08f0d9ba4e264a332525a616d336bd9e822f41ab3f4fae2f48ec66c2e52642ed93b7cb944396fbaa727cbfdfc1f20aace99a6f2a74475c338f8d9f22a38cb5bc51752076503b3aef1e65e5a8f8583d9ae7378ded038cf516898ad06beb90a42b85764526fcea44f74258fa4efb1da253d337f65619181ceb832dfe285ce78ae6b15f204e23bab274e87445d9f5df97f41dc8e3a97736b62591d075744b2552f90bcf1b1393e1e7627ef1f985f2bbabd52e43a35d0ddf4c67126e391f922ef7b1bb1911cd6e1b303cb2910dd70672bbfb62ea4eaad725c\n\n# tcId = 2\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 4bf16f098701d340c438368e658ed8904d3a21f7714c02440d7476ead132766b3d578b325ae752f906873af1b795585a2a0d0e6788fe903321b2080bd0dfb9de42c3be41aeff37e32defdc0a75f12adb5b9de4d067a920a720cb16cfaf56d7c09d8ef384a8aa106545229b540c52b49ecc9d6d14ea70480642b9cd0330efc005502e4c38b96a36456447ce2133df78854307010ec221305dc90570252321e06c1bb01d75100e85e68326fe92488c0c5e58524b10f8ec7458d887cec254d39b0bef921ba31fd5a117977f1945fc04837727456949ffdc9886f21071186bf32dfbd9c3cd6a2a00a1cdd5fc3c22f4bbaab92aa85116711f1c53754bdd2bc384f2a8\n\n# tcId = 3\nmsg = 54657374\nresult = valid\nsig = 2b3155b14971f79c9e3294723c7e41ded41af709f6edb2c19f3526584aaa1ef2de2e7a8dcaf5d7c3239f604c421656dc58e8b0852f7a65cd557724a9b2a17cac38d8020e939bfefec5dce0d8993e75615b974944e4c4a811e40db63f13d2b626bf26257a706a7bedc863d0100b676ab70d4a4f6eaf4692e0b69ee4426cfe7cfc3e92d93bb804569883cf31fb282efa5a81ce9f6d9f0ed79251ef2a0b596f80e0eb96ede67e30457a07655d777928b898ed1679046673e489d9c6305dee05abfdeba7357099f9cffd00735165ddc39aa7355b10a8b8612dfa2f836fb9f5f89f1407365d6b39a39e89c6647ff9da5fc6f960306686a8ed8e2ce12cc7fd9870d576\n\n# tcId = 4\nmsg = 313233343030\nresult = valid\nsig = 5e91b5dcbf02d6f19621d41a83dc8f15ea83c0edb83765ef029b0acac2e1ec8918b1d2afe1fadf11c48d27594cb9c01fed79d90e5d5a8085c438450111aa7d9fa39c2345b14fc3c2cb34128f86db5eb00bdf8dfe38d61f29a41fe31342e7aaefcb4b122eb5d63c2f5c263c8df8450e9428ffef974d535818d51dc03a7d60c8b2d16c999ae46d73ab40515fe601d9b89b1d09c6d60cd51639a97c1d211e097609ba5e8c319c6fbd21b34a634ec8fb8971c5aae21c70b847a4539cc10dc314ddd8a9629e8a0e51c66c0cb61fd1f7228c01c6769190abe9bac9a3897800050014358594e0fb20dbb458b12aa1346826cc9f7e9c5352b073d62853dafe77c848cb1f\n\n# tcId = 5\nmsg = 4d657373616765\nresult = valid\nsig = 501c8119a0f8aa2139ef5e05adc65384fa389b9023532171d514651ff48677aad546326a2e3c02b39ed84e5b7e4630604f2979c1fd7bf37da8e0cedcaecfbea6f9c715141a1d052529d0d0fcd71eb70867e2704377801a0ec721fc59fca9d8b1b08cd9ae3ab094f5bbe2faaf3171dcf1712c534bbc7ea802a2a72d8cebefeeff1530e4081b85a42ae38f630f38c1121199f2156e267ce2467f9b4853dbd29dd999aebfc402f2a0c33b8c1b8022941e754b7a187df4c59633dc6e76cb3200e34acfde53a386647833dc2accf244726fdbf440cd32503188a291e5b0678aa729b539c1f5f97e7b788c0c20b88d90c90a3bf33300d181b9ae797cbc76049b43be3d\n\n# tcId = 6\nmsg = 61\nresult = valid\nsig = a17d67937354c7fcba18dd5383edbf2f0868ccbe0a316876fb1c4fb14e7f4c048ef5ded5d01d02556cff0c8bf081bd09c46ce4da156e9810df195c5b65ddbc3025b84f91047049f205341ca8dc55e440bf8d9a3e98c231bb74e71be019cdf451e962d8b7e8e6d766d3be430c7596ffcafbb785e5fe8987ce721ae228832c8b4fe0b0071b0e5c652856f785695f70cbb3c62394a8291ba5f587d4fd7bb448649a72261447aae6a2b750824d400ca402543c8bdbbb8e7c3b44cb7085a83392346abe999ea2a5ea15e9eef6bf08a88096ee4e532369f0059285298b387a428e5e34ed7296e0b53d34c5e23f0d3c12e8a2d3132672a655c7048bdc0c69b36cae602f\n\n# tcId = 7\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\nsig = 64c26d43b028f284e9667d5951e70c75e611ae2ab876f66ccfaf09bd54a26dd17983d993bd4f5270537f4c4b2e48695eda28c8c365486b5fc3bde4049dcf6fd722e634fdf5571d29b1e156a48b0c706d96155d86c20dbbb1a47c7e54efa15b25d76f502b3069e2514f89d9bdfda9bcda02301c58e2173cf4f3dd49d8415802c11aed78f031e8e2e50197443e5fe9ab55afd8deeb7b5db8ba7a7b9fce6b7d9eeab9ef25035742d076935c059d076b4714127d408c9428a90cb9891a151eee8de7d0cea32b0ad2d8ca4abeb0521b296b5ac08f7c53d5c85e47ed828e0c11468d6cb50bea89e4b455936376bde9f22eb98b3e2395eedd05d1def38fd5e082ade3b0\n\n# tcId = 8\n# first byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 6b77fb8cd287c666cbc30f00bcfccd31f6dc01655c3c976d1b2a980d53be40d6a4a7676024abeb1825ec47589365c07e5d4c3d34e249814126e32ba40aa81ddea0f61fe4e3725aeb9751103fd034cf3fa516fdc1569aeb7b028d192c8ef4ef60a5befb8a4de595bd4717462879f424e87286aec0bce6f9e763ee341765c24cef24f916a52a777595879471e2f3188c1be77fdced941fe0cf739bd8d5a4ceed9fa1e47f6f12dba68cbe7bb2eb81e46c2788b847d0ab6f55951f787db4ec736772851c43534b7ebcf226c2540806d925bebec9d109915e466d08e2470b7e85b4fac66e089b1a535ba703dbc10f800f6bdd557370e9ce761e86466833903efe315c\n\n# tcId = 9\n# first byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 4af6c02b1f3c2719fd1c84965658e36651ff891484f4c4177fce2185b7098c861939fcba677e8ad461577a666ac77653ac37fe61b5fc235ba76917e03c3419fa3b055171f959edc7f9fd349209a23a4aba57ca80744f69be6ffd1a2252a182a3a2c1a2c069dd4953dab9a6acb4c7047d7402584275cb726875c0858066f50caebdf7e9afb6d4f3270662afbc66ed14ce69a846fc0c54f9e57bd4f827c0b780c30dcf8661cf4bb678ee0396bf8e0a08d259593170dff3f93dfde9f4d9ced510e07a2736c8727d2f9e973e32524e072a92dba8edb2d1628da03741d227255914717445407111eefaaa889febfc6f4b0d42dd958937710ba5e94414a26e09cb3f5c\n\n# tcId = 10\n# last byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 601f6431b0607c80d5c92c86a63d06fcd862bb35eda31a7f331a59abbb8ec18fbc86ec95ad63723216e151b7bf73135c028a5ac3b45f30a7ff8ea43d5dfa6a52f5fe1405e6f5d64abc4999f8c580701bd9e451bcf6d54bf0bd1c83c7e0399e7805757cf436164f365ee76f29433861856b67b6cbd8b235365786c2de9b305e3293792202e1848f9595265ed6fd4b1740bcbcc697d719ff70b9200e65d7711494e18855fac36bf9487b54798f39d5a32b5d62dde3de2c3b5f8f7f4bbaf3ea04e11cc8a4f6247e25c8a3a4e05d831199d14cf44ecc8e66c8ca3883b5aaac3eb5889b23dea6ba6649c8a69cfed547ca936a57b220c44b8eb8604c8dbd81a3500116\n\n# tcId = 11\n# last byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 2a31524193054309ce7b6ae9c4bb053f5a5aed273d7a4a609496c7205f5077ddc746e8a4ea376bb879556d4999e788fc8f82378f6281140663af2fe0995a1b73eeef60341d0720ce47282eb87bb79908be8c3ffe86182d174afd0522a87fa56e0d149ab4c32292ca1d1a8478ad4090006b32a147ffe4303487196d308dd59f81eff956bd6ca87ee0246927e279bf80807ef45829824c80b82f7442021bccd8ce4513cbd4d4150fff20ddc2ea", - "942ef318455265b5667a74ebbeb83a05d15f3215c04b113c8b55ec8be512e797a3ace15d2514c2bb74f50e0969eb1a2291fdb6fdea1af0cbea6f05937be614003c1569b648c2012ec5dcde806f68e247597bcce6\n\n# tcId = 12\n# all bits in m_hash flipped\nmsg = 313233343030\nresult = invalid\nsig = 8291cbd81529c8f1e27a907dfef2de16dc6d382b112cc3d2d69f4c6915e7c6992eeac6e4b82f5396a46eab562858835ab0c0aee63d2585dc7537dc0008a4b40803467abd5fdca4114282265c2bd929a03c7892774a21ed6454e73684673d6448b19555d0cba9e4c00c99af77b30f1daa4b15eef8489e15a276fed1553e617a64dc58d5dff3c05853a7039047d243c52e53f7dcfc40641bb9acc33ed96c74c79c93b79f32566cf553428cf85d2d36a070c89f1eceb4606fd285f7ba3ddef70ff151ed0fd3a5b6c5338eb2f812cb4cf4827caef0b896a1d49f49e2c3049462d07d0e64d33f1e2c615c62a958abb6942d9ac8fdc39acc595cd381aead075ab7b51c\n\n# tcId = 13\n# s_len changed to 20\nmsg = 313233343030\nresult = invalid\nsig = 57e8cc1dc00c07383d89a79b5c8e4f5bde2a2ba55a3c7201b3291c4d805b1b2eb36f8f326b542342da180abe508669bb6cc2dd54e327bc70c1e317ba93a0fd21e7fce22a0c597c7420d1d5602ac43d9348ba3eba561f250e301ab955b0dc33e4abde32946b9b3e86c8bf07a44646ca595960bb988fef04b2824967e9da8b0264f1da0659373935313a574b5380f0b54ce1bc0dde423bd3a54f6ae5fafa772a55c1c44eb6edffecf13e6e5e1edaf87a79e338577304141fbc44f0e9eeb286f553f879addd6e12e436fa3af51ad53a72f2679f0ed102d504ee08706fe111eaee49d880d1a0b91924b3b79968ed0f9bff446dac199ee89b158c074927d27b864498\n\n# tcId = 14\n# s_len changed to 32\nmsg = 313233343030\nresult = invalid\nsig = 68caf07e71ee654ffabf07d342fc4059deb4f7e5970746c423b1e8f668d5332275cc35eb61270aebd27855b1e80d59def47fe8882867fd33c2308c91976baa0b1df952caa78db4828ab81e79949bf145cbdfd1c4987ed036f81e8442081016f20fa4b587574884ca6f6045959ce3501ae7c02b1902ec1d241ef28dee356c0d30d28a950f1fbc683ee7d9aad26b048c13426fe3975d5638afeb5b9c1a99d162d3a5810e8b074d7a2eae2be52b577151f76e1f734b0a956ef4f22be64dc20a81ad1316e4f79dff5fc41fc08a20bc612283a88415d41595bfea66d59de7ac12e230f72244ad9905aef0ead3fa41ed70bf4218863d5f041292f2d14ce0a7271c6d36\n\n# tcId = 15\n# byte 0 in zero padding modified\nmsg = 313233343030\nresult = invalid\nsig = 1abb40f03dbe5b4f1365862d9f095a8d57e8922565372f0b34ef5e232441d577b3c1f19a240ebda880a09cb41a7267732623b0faa414843f9ef063f93a92bfe5f98f7c28da184f011aa787ebd0b5fda4aec1beab6757add32f7a35cb407779aacef43c0429280e5a040cf5943dfb579f86e0c63cc828fbcafc9c8a15ec98fb64ecb5e295dc360f50230f415337aaac6fcac02fe625ef61744488eb7cd81a4e788a443f56b32bb3a7a344900806952f6f3f55f8d9e9217ddaf06a0ffe8b0bf5551d87cc9251d839441cdb3c72ae9c6a5a3de7ab85f908ae7d04232c52143d272e87a54c5b39d399b49ca7e96edd3b6e22c296de69e9e1848038025780e4f1ac29\n\n# tcId = 16\n# byte 7 in zero padding modified\nmsg = 313233343030\nresult = invalid\nsig = a11bd4fdd30fb353314530d60b1cd921d6091658e0c775432b6b702b1563a9e5b547f968ac13ac5b7027aeb53ea8987c9441fbcaf414bd04434445b2ce6a1d9dea2f2f179a6d40342a25b10300d45358f703f814917870f0a47f4b4ac47228574096ff240ab0966bb77ea9b5155c6a4fa0a185ce5d389c6ce28821262698beadd0fbec4ba2b66389d610f290656b7a4f7ea1f4a3c44b3528bf62f72abf7935e0d8b6cfc2db947e440752410a43a0ef77c0dc31b58be021b94118e5e0cab1d8994e76ddffcc2e5d55fa59d1ba792fda9db2b5ba9ec6f6bac395c250e2b8ff245a448b611797322bce637c0b1537c9765a8498e0e0371af2f8ec15f32e765ee234\n\n# tcId = 17\n# all bytes in zero padding modified\nmsg = 313233343030\nresult = invalid\nsig = 83673bf6d178e873e986c9a9750befdf2d6a3f0128ec90b5a8059d32f9f9592349095e24f88e9fc48ae549009f52b4d821fd40848a9aceaec252374b17d4950296e30b3ff489d420b8daaef47488696762ae4cc55ade170c5e0d72e696af793d5cfa04477c147732328e275999746c3680c3dca701592b17bb37dd8c5eeb3a929f932a3521a8004c10c9e3eed8d956835a700cabca21038a9d6dde44f888336c167c04ac26e800a99130a6e1d3b3bd8061dafd2b462102249fd07dc50a2e57a8c6cd52381fd4e1bfdbab18fd602c8890d51e8053c3c2ab5c96bae2847b5539aed3ad83953f47841f8f50fa28446d30c20b2b7dd8abf4e49c0636437c22833ba9\n\n# tcId = 18\n# first byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 90c3cb3331e8b352c37db46283a1a66b647ecca43e3461ce1afc49d6230457341a52b558496ff83053175a7bfb4755a1bef0e65f470d6139eaaa28cc1c083905859c1475868ceb1e3829437f64a7ad757c9da3b6e8443e8f981f5c0724c5909bd4ebcfa65eea4e4f7af5222dba64a51228759c69e26c44d9a528d75a5b96855253da88f9b54744b1a8b02328394c452e62ef75cd69f7def67b80e4859ba3e73b08a2a3ff931f44d1d524320a33416bf4fc744847d12e3e973cb870fdc3ac1bdbacb677bcc63f927366f4d0d61ee3bc0d1a1b3d149672c6398f3409fe9e7c7c0a150571573b87889b4f23ef49b6f5984412642e5b0abe7f5ec4b4cf12c46a38f4\n\n# tcId = 19\n# first byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 7a7318799477eb6da55c7b5f6a0338071d981011e1a9bc6fa3a2258ca5caa039fc7f768234cc08e425323f57691cbcf5f83d6a3439a639818c6b2bd3a860c9a6b9a8e0728aa7ddffe18f82c02854ca07b17db0f166d2e521ada5c1f85d0c2f259301d3f4b4f1380f94bb819dcfac9adb764a198091e110f0d3c5fbe20a29366fa52d246cc922bfd2b44a619b59b497a5379282ee30608f4243f7328ca8aec20f61aa8b4083abd1c206fbc9ea598d163e52da1026ae349d26469e2244b86139895f80ec4e8b6f5965a28ac4e9636ec3b1e5d685483a0475fa645421ed6ee9633f276aa4000eefb173b5ffe824d38a4d7e24146e4a6adedc3ffde4521dab879120\n\n# tcId = 20\n# last byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 331756b92b346379e1c50dea5e05d92912eabc568905d7f290ed353e705671f0f5a43921d71cef11fa2cc23c954ef27eebfbaec77a33147b5c6408b7fb8ba9d8e3ccd5af541942a946bf057d39ac34e954ca3eb308449a9a8fed15f760d9392c32618c289993b38875df412d460500ed0ac7d9b79b0c34e8a64310ad4cb0e7d6dd1dd8ad6aa81683a3420618783a315b2643f7e8c8a95734aa1ea526752bca4d443a18224ced3d2a07bbb734d01629483f5c8b91d94926916e86ee430f4f6f07c40d5808f0f59b9f438723bcfb0a8f595e3da00d5f2c3bc9eba4e64cfc5edd9c244eaa4aa8f7181fc0895c911305fb8dd3d404865f6ee2a4de8f5de7962cfa9e\n\n# tcId = 21\n# last byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 28481a5bc8762ab8cfad8d7888e5db6b678b12554a244aebedbb4d83fe0fb676d77411285484ec8b76843d4ebed1dc9dbc2039c3d0e7e5288de9602f7ee82793e75d2320d8a7c254116ccb086573142cfd33e36cce3f830901dc734ef18364e1c0125cd8fcc3c7f4f333d4b05386c3cbdf616d386a086862b591d80c34832767feb83aebdace7d19269b0b5bf340499a9d530c15b19c68ce227364080b27e6f4e017d6dfdf6ef05f4b73b92602a6249391812a286d8fc87204a477d14307aa2e23f12f7452e15d4bfaa3deee56903ed66031304dac16f6393008a53496845079af72e6c5d4781664ec757c741ea0dc9ba628df2dbfa591f16c352d5171b3a0c5\n\n# tcId = 22\n# all bytes of h replaced by 0\nmsg = 313233343030\nresult = invalid\nsig = 267cdb3f7ec390ac0910a3acd42893b3c445226413ce38d7fecd825e29d3a7c8a2c361607b70b88f1ccedee4c9d3c8d109bc3e77ad749236f546352713b71581ef0ed3b9a9d1a11035629c8f6cf912cca10eeb2b02d3bcbcb167f02ce43d00513999e4710cf5d4f4d730dffe9e52ac5a11d6453821298e66dd882fa7eeaa99d06d324a1436e2e2f3a8e78744cdb21d0070987a4895697f26d37f79e93f6702619ddc4b6986450f84630717643224d134a922b5aebaa430444bb587079f925ba93a42bf847579b8bd7e72baa5eef82af83afde809ead8f810bf4441107a3095a4f4f137a3a24bd5f21a18cfec809a164f4471c49091390d2fc1c6578dfbc2060a\n\n# tcId = 23\n# all bits of h replaced by 1s\nmsg = 313233343030\nresult = invalid\nsig = 7b9fb586f1455c9fd95db25ec66cc1b8e0237355177cf1c40df59ec1eb84a95149fc4c06117e8301836a32aae7e9ed18b9eae67e5f76ced60e89b8e11d3467afd71194b494f7062c15731a475586fc90ebbd1b382d5c55c0b319869b3d409b82cec0afb19f6352efcd6f1ed949f27a0306a3fd1ec4722cd335c1169871c63796bf3a933dee3f81f01fa8b6e710072fea562cd938fb2bb1053845555b07cda74f144ac84d9557326cca799af501f9474cd8b18a2af4d1a12f93a5b6dfd1880e58ea82e98fabe96fa76981a6243e8e4ca386f5ea4463f615ba1812e38842fd51c71e0b6a9da68a2b1432a7ce2686638e55129d4224c94513207ebf90e8c5f435ab\n\n# tcId = 24\n# all bits in hash h flipped\nmsg = 313233343030\nresult = invalid\nsig = 6bd414e877abc92b608b08a273946f90ba6c6c27de2448175638f67a6b14492fc1415ece540be3e3df8c8ea7154211637d9b5144312e113bda2526b6fb2caf7b07673332dfa605468e37f4026eadb4c0f84b7b482ba6752839fba46b765709c3c6e54de13953245a3364bbf21222374eb63e61e68d73a126f40f115405fe9092b00b60a7f0b995092061427454f6876ae2ab3b2757337349ff3ca3e2332888b9616fcffb3b924977ef856553f55b2f1b115ef0ad7856f666a9863109c6498c52271ea2e6854fe73e9e4d4ec666fe668f0ea1d1af19853e9a07066418697429cc31fff107b6ba212b4a3cc19b59ada459efbc4ccb90da8a0bbb48280456de69d2\n\n# tcId = 25\n# first byte of ps modified\nmsg = 313233343030\nresult = invalid\nsig = 487bc9021d8e95d05c1d3237c3e9f10df764e8f70a068fe6d93b865233f6ce8088bfc117c9086a3bea29d86e6d75fd9c8700e871f6027bdd0b37c1b581dda807a1401721f8a582a06309bfdfea5ef177c", - "b7bff47179d9fee32bf545e3e4513212b68fc3eaa43f9bf86ab066fea31018299f4401e3e0985c0d450f102162896e619a2083d5fd2f2a03fac6ad99d38eaade1c56a7996a35e5e657078547c43d13fbf62a64a007c8f03b79b9c59d19697069344b7ab309b532a7449878d3c33472098026917f99d07d4b24c39c67dac099d77c2c0313a557d8a5aeb896214211fdccb531f390d91848be459df01c014454c8c9fb390d6f759713e30128a9184e881\n\n# tcId = 26\n# last byte of ps modified\nmsg = 313233343030\nresult = invalid\nsig = 5bc1e96ad536dee1b3d23e31f053b9b0e1439ce7c48ebb54f01a81de10133612dd0c1b4dc0b60d6afcbd18e40123b40236bcd773b5ff473b5f35c6ed4294541e7f028acbc29f5583e93331d4c03631afaf79bc683c187c7929d2f7db52d1a34d88210ab50231219837e1b60d49ce8048e9ee4ef55c2218674f297158c711e4fba62351879e7d058e0cef25575cb0ab9f6d6961a4cb6d9ab0a68a301fa3bbb8d0899f43bae40ec19758591e5e0cfa84dd08f7859ebf54c76e04e74748833313bf15793b5bbc47494f3bf439d7fb5225640f3f3756d9d4452f7fbdd828fe844f757a0cc585ae0a6a5410065c8ce4e0319c356565ebdb1ba0fefe780c70a5135365\n\n# tcId = 27\n# all bytes of ps changed to 0xff\nmsg = 313233343030\nresult = invalid\nsig = 2b3be6997057ae17c749c435dbc68110204e95b3e127a230121e27c95aace90e9f221e2763833024b3bb873368e3e992897d8767eba2479637ee9383796cbc10455da3b52c7fac1d91131e3f78f5f616b3fd413b310fe8f50ef4f721fc026a6222f0d9113624cf7d481e79e788587ee659e81296eaa438ff13454e36ea50e9f038ed2a7548a8d169635c3e15bc20cd83c8279d16e6b0edcac2e9c72b9048dd7fd1d298e414c3832236d612af3841e426c74f20484ef408b19f22449e701460633fbc5155851e812e886cbfd6218bb27388e20547fb4a48d2e0f9a284f9bc1e9391b28ab7f3f45ff5aeb6af12faae437361877d04e2df1a1057ac3a680e5123ef\n\n# tcId = 28\n# all bytes of ps changed to 0x80\nmsg = 313233343030\nresult = invalid\nsig = 4bb8fd79da58fd3217661938c90772eebde7bfe5d49fa597cf448019a56d710ea126e8b94aacb45bed81df07ed4c89a9889bac0ad2abd506374d5ebed14777673fb1c51a3f844e9619bf707c9866b21721a75458c100d57b9ebf6ca58aaff1d47cb2d0f26074dc15d0900a11d681bcd76b111140500a51cf8c1b5ff4771176f1dc0884d42b36a15690b991c77f9605ee9c4329fead40364f2b6372812319c0ed4a6a15c0716da9426ddbbee79938bbf8dc3b459bad11ce79c0bae6080a06b6c8c1c051fc37e0bf0546c7b55b2cb6d90bbf4961ccd1adc623c9b9b51912d6b78843932ce04323f8a9159d10ac94c2d980e9b48fc143299d4c830050ace61f7238\n\n# tcId = 29\n# ps followed by 0\nmsg = 313233343030\nresult = invalid\nsig = 9aca5b5fe1369dc46eff908e690ba88744db0c86f7da7e644eac314493ba6a7d003dc5400e1c521c373ede410afcaae8a4ea8e14d1e6c2ac3f39c0bf8bfeb688962260f91058ef9c1a0ba39689736d039ff86524a97d8eaaf248601793023ce6569c3cf15dff30f41e384690ab40812cb1e4414a0370fc39f526abab87bb9a405fd44869069f343f28bab50a1e582d4bced25d41f9fdd2e958177a3625bb59c4677f7f749321023fc9b9b724e8172a4a512743a1c78c3c8b1f0556fede02e9f6f2f851fd31e21f0886a35d12a0e04f041251524bd7838d91657026540e133a2ac1ade52f03efb509c30578bfde272f0d9fc2e515e541259dfc249bf1762b17b5\n\n# tcId = 30\n# ps followed by 0xff\nmsg = 313233343030\nresult = invalid\nsig = 9211ea6374362d77f491d9dca7e8e8d2b672bd565dda1566814670d22e3f211b38246529a5f01333ced70323e6cc4de58e9dee11a90f345fc53c1cb0f0c2287230d1cfc83d33c6158a8730853b5163c825ec05084cf0816325e21ba87f1685197c9891ca3b89d8d8bbad395f7f71b91ef937a1d81bf7497356928b77b10fe270500a731d498beb85490c1d3c4145336d2a8ce8430354b3afcbf0c923b0b0e824adb36d7be69a8e951f64a5b1d648dfd9fea49b59c99efcf015c6b3937d8986100f48022346136eb56f9538b115284ead85196385d91dd414ee22a3c7f40f632cbe565c8d0a325404d0d4905282cf7acc6210a6eaa26f3c3961660a944771b342\n\n# tcId = 31\n# shifted salt\nmsg = 313233343030\nresult = invalid\nsig = 39112e1c8251d5ffe1373e70fac946358b00bae6a461a1af561a82d81ec4acdc63eecb3b98f5f070929dec66a758d4a12cec2600208d7597320ba5db412006ebe76ed593d8b1090e93be21b1c00700e393ddb4b7d7a8bbdaab603087abd2b90a0408a775a4469d4f2f6b34d228da55bb4872ef6dde5282f5bbcdd6a8cefc71c4caf00453e6d6c59321b738d3b21a3d8f0da4afde30c16bc5722ac30ad6bb1f9fe0451ad150fb3d67a805993e506a80b2dea3801bbedb8ff7b676f50ca3fa5b9bd744c00822c975e2ab8cc6a917436279a9e85aea62477ef84270f6efe495ed503623108ca39d5c47bafa3505f04995ec9c2a0e411fed9179c9a9e94fcecda5ad\n\n# tcId = 32\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 1baab34d753d4c169107ff7dba46ec1a4203cb1654489d6fc20d206bb21fab483872c44ae8017b7c07aadb8e8489a2b41b89f9331fef63317408105eae19900377ce150ec89a37b26bfb169a89aa1c71a83cba6858d5b47353e82017f19a6688927768bfd0e75bfcd71a5e1948543907d65bc8fc813436a15949fbaf0a7f95ddf010f298df9314203838a60b39c5bcbc7a438500649950bf28e78f94155cc664ad5ff996e51789fb13038e1757dc19b6572f028fdd8be318ab933adced2e87b569544503916030b4060e231b0265372805cb53214c6f21e13c632ce08031ee368bcdf3eacb3b87269e8a8684703a348524020e820de93f1f334b59cddff51a12\n\n# tcId = 33\n# first byte of masked_db changed to 0\nmsg = 313233343030\nresult = invalid\nsig = 7f04560acea95c8b3df67a74fb2b32d904e5c59b43b10b11519e796efa77c0c9b14beaf1ba1308a65fee50e7862289d46a3cfe79f423e7d9201dfc7428bec7f304228508b7e8e5af4dbabbb3958d1f48dae4016cf699421b7a9a0b1dc1c806a7b19cf65fb7d4465a031bd8c24071b397dc1f6987cddc8b69f5f3dde25fa36c2ad6e030c64413bf3eb39176bc003c909e37d28d5a040c15bb4a73c74c39c4d132d09fd565abd7b63d81115ecc8a151786f6ea50882e50db362cced39702ae1ecc176cece9509ff071b87f142547ca3aab04bec1a7d0c6ff35060420b99e285515eec016ec419caf75cf11af56a395187fe6575786998b6b4348561a0dd68878cf\n\n# tcId = 34\n# last byte in em modified\nmsg = 313233343030\nresult = invalid\nsig = 1c029185061385643943dca8adefc5666ca039765d29f8baa20dc3cc43981ebe1e6d1f09a617559955437323e50f6464a69950baf23c7463b1b1c6761b50bba89c81299d4543f76e3e4ca4e30ce710a20707b18dee5d2ac9e0d9330148526f193439cb33238ef9d82424fc1287097e7626bae0130b735a22cb6ef08ba4d840b370c9e8658f83267e52b8d56ae0ada9dc5114920f97884d6bf529bbd7c81b2f9a700e4df4c71a8ce3141f9f4be31c9d639619b20f725f55475b38ce36faee929864a5c7793ec26dd6d1c4b75f111feba3765d0d35a272fc52fdb85f2c0bd1bd22cfb47bd0ba58d00af119759e1f4d5763f15cba4e788fc6f8a221dbdeb32c484a\n\n# tcId = 35\n# last byte in em modified\nmsg = 313233343030\nresult = invalid\nsig = 0594a2a0f3d10857e8e2a89d72df80c8b37977bf2c390087d1df7672fca50d21b7a3b24453b55afee4c6fb2adf83e6b3e6a63db31b685ca956bda1f3074eb53364d9bbb9ad16883b56ceb66cae51712d592e10f851c4431a4f7b3625c774808bf7c694c582f1f20c2f51ca9f781c6172d05201e1e0ad96f7231c2786e039cdafcc4045bb078c2f432d3409dcaf25d8c0549de03d7964606aa0fbda333a0eac26e5f3ba13b1d6dc710c01a17e1a24241bd741d51db4cafbaca518fe32feb0ed5cb916c8c094c41f092cecb7a9cc0818351b5c8b6563bba32fb8e86b4c81f4f57c24a880e91daf31cd1911aa6690c8e45f00dd62986369bfa5824b785c1c56fdbb\n\n# tcId = 36\n# last byte in em modified\nmsg = 313233343030\nresult = invalid\nsig = 10bc1d1d1fdd4a8f74b17f2c8258078ef5c4f5fb973a2505060b126504c9366a4578e2a333b1a9c580239ee959d17017664631982cb8554fae8cedae07eb7e2fb69cb702db93d948d0d0e4654d9eb49192ef87e92f4d229ba56f165a8ad4769d0c707111b9be90c6cc29cb3389a9ae4d5045d8a69234cd5e57fabb76e5d1869d83cd2f3ea8f0419194cc54c398a288aaa35f765ca8e0e264865b709d5a21c9d807c4c0751f9e4e68c9cdc61d93113e5bb811c2e217f31eb14f010aad77abed3e4305e7bdb1066879237849883c3ef099b85c78352b32374dd244e173edc3824924098cfce9d729166ccfccadae8871266927763ae6a5e750f49b837b60682aa9\n\n# tcId = 37\n# signature is 0\nmsg = 313233343030\nresult = invalid\nsig = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 38\n# signature is 1\nmsg = 313233343030\nresult = invalid\nsig = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\n\n# tcId = 39\n# signature is n-1\nmsg = 313233343030\nresult = invalid\nsig = a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee", - "82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d4\n\n# tcId = 40\n# signature is n\nmsg = 313233343030\nresult = invalid\nsig = a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d5\n\n# tcId = 41\n# prepending 0's to signature\nmsg = 313233343030\nresult = invalid\nsig = 00005e91b5dcbf02d6f19621d41a83dc8f15ea83c0edb83765ef029b0acac2e1ec8918b1d2afe1fadf11c48d27594cb9c01fed79d90e5d5a8085c438450111aa7d9fa39c2345b14fc3c2cb34128f86db5eb00bdf8dfe38d61f29a41fe31342e7aaefcb4b122eb5d63c2f5c263c8df8450e9428ffef974d535818d51dc03a7d60c8b2d16c999ae46d73ab40515fe601d9b89b1d09c6d60cd51639a97c1d211e097609ba5e8c319c6fbd21b34a634ec8fb8971c5aae21c70b847a4539cc10dc314ddd8a9629e8a0e51c66c0cb61fd1f7228c01c6769190abe9bac9a3897800050014358594e0fb20dbb458b12aa1346826cc9f7e9c5352b073d62853dafe77c848cb1f\n\n# tcId = 42\n# appending 0's to signature\nmsg = 313233343030\nresult = invalid\nsig = 5e91b5dcbf02d6f19621d41a83dc8f15ea83c0edb83765ef029b0acac2e1ec8918b1d2afe1fadf11c48d27594cb9c01fed79d90e5d5a8085c438450111aa7d9fa39c2345b14fc3c2cb34128f86db5eb00bdf8dfe38d61f29a41fe31342e7aaefcb4b122eb5d63c2f5c263c8df8450e9428ffef974d535818d51dc03a7d60c8b2d16c999ae46d73ab40515fe601d9b89b1d09c6d60cd51639a97c1d211e097609ba5e8c319c6fbd21b34a634ec8fb8971c5aae21c70b847a4539cc10dc314ddd8a9629e8a0e51c66c0cb61fd1f7228c01c6769190abe9bac9a3897800050014358594e0fb20dbb458b12aa1346826cc9f7e9c5352b073d62853dafe77c848cb1f0000\n\n# tcId = 43\n# truncated signature\nmsg = 313233343030\nresult = invalid\nsig = 5e91b5dcbf02d6f19621d41a83dc8f15ea83c0edb83765ef029b0acac2e1ec8918b1d2afe1fadf11c48d27594cb9c01fed79d90e5d5a8085c438450111aa7d9fa39c2345b14fc3c2cb34128f86db5eb00bdf8dfe38d61f29a41fe31342e7aaefcb4b122eb5d63c2f5c263c8df8450e9428ffef974d535818d51dc03a7d60c8b2d16c999ae46d73ab40515fe601d9b89b1d09c6d60cd51639a97c1d211e097609ba5e8c319c6fbd21b34a634ec8fb8971c5aae21c70b847a4539cc10dc314ddd8a9629e8a0e51c66c0cb61fd1f7228c01c6769190abe9bac9a3897800050014358594e0fb20dbb458b12aa1346826cc9f7e9c5352b073d62853dafe77c848\n\n# tcId = 44\n# empty signature\nmsg = 313233343030\nresult = invalid\nsig = \n\n", +static const char *kData111[] = { + "# Imported from Wycheproof's hkdf_sha512_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: HKDF-SHA-512\n# Generator version: 0.8rc17\n\n[keySize = 128]\n\n# tcId = 1\nikm = 60ab7f45b0ad534683b3a6c020d4f775\ninfo = \nokm = 2109bd244744acae2b8caa9e70f57596ad680212\nresult = valid\nsalt = \nsize = 20\nflags = EmptySalt\n\n# tcId = 2\nikm = e3db76e02278cbd2adbcb4555803da11\ninfo = \nokm = b28e3c338c70ede899f2a2654f2cd7e0d958d16eab2fa2a76035a2696054b68fa963c617b8fc2a826917\nresult = valid\nsalt = \nsize = 42\nflags = EmptySalt\n\n# tcId = 3\nikm = d4dcb92a769f57c8bab8a420ee0aa351\ninfo = \nokm = a8420281c08c5f087c9d54d5660847805b0fff2d6257f02bf849badfa8a29bee84ebe704a6eadc0beba0c33805d5843e167b1966aeba6a15b0f1f7b3db8c407a\nresult = valid\nsalt = \nsize = 64\nflags = EmptySalt\n\n# tcId = 4\nikm = 2d43e54bf0c94c9cbff4300f4aa69ab8\ninfo = d674da3bb47d5c7e38b501e5251d9348af601c44\nokm = ccd42097a730e47cd2908a834f9d81a3239f4b91\nresult = valid\nsalt = \nsize = 20\nflags = EmptySalt\n\n# tcId = 5\nikm = 4055536896c406d5fe14a6cd6b999bff\ninfo = 2094768a8816f7df070d6e08b7ad93755dc9024b\nokm = 0191ca548ab4c1f91eeaeaa2e561f954983885dd363c80079f7bbd053da4274b236f4ef0e4954b34a386\nresult = valid\nsalt = \nsize = 42\nflags = EmptySalt\n\n# tcId = 6\nikm = 5b01b2da3166f217cdd68de8af60078f\ninfo = 6884cfa7ffe8f27bf4ebc6e46a7e01488c79243a\nokm = 01e10d4c477c906d4f67105e4a8054bd2e9479d726166893fcf77b5df431ad007c0ae42847d3706a770a5e468783c9519804be63a404112dcd4ecea952952b73\nresult = valid\nsalt = \nsize = 64\nflags = EmptySalt\n\n# tcId = 7\nikm = 467403c2ec02a235bf730ff37e8d8ff3\ninfo = \nokm = 13abf6dd4468e2db7114437adc914cda3fab1c26\nresult = valid\nsalt = 41f0f173d307d40436c25856cf559f96\nsize = 20\n\n# tcId = 8\nikm = 3352f942aa93071da6d39cc5ed8dc460\ninfo = \nokm = 3cbd7242368ce2eecacd1839876cf2e8ee04d8c54848bf5515dfdd046fbe09483982d406345d1f71a4f9\nresult = valid\nsalt = 57a0db708b25a51afc4271803aa35204\nsize = 42\n\n# tcId = 9\nikm = 08867e76311126089356623ba5381e73\ninfo = \nokm = 098d9f9e0e0c609b94e8aa57b0449cdb3929605f821cda305e4d93746553a40a1e4c97565183e116511c3dc5d9d56561c698849a114692c8128b5d3c1cd728f7\nresult = valid\nsalt = 0c164c443edcdfaedb1ab150f047951f\nsize = 64\n\n# tcId = 10\nikm = c55c41d69d2424a520414e3662aa7303\ninfo = 3fdf20538063b76901d61bbf9b72b0c18749e00e\nokm = 19c2ea76fcf7ea72279de10e44533436300e250d\nresult = valid\nsalt = fea9bfc92b74337e43a201a2dc199e27\nsize = 20\n\n# tcId = 11\nikm = 5d3db20e8238a90b62a600fa57fdb318\ninfo = 2bc5f39032b6fc87da69ba8711ce735b169646fd\nokm = 8c3cf7122dcb5eb7efaf02718f1faf70bca20dcb75070e9d0871a413a6c05fc195a75aa9ffc349d70aae\nresult = valid\nsalt = 1d6f3b38a1e607b5e6bcd4af1800a9d3\nsize = 42\n\n# tcId = 12\nikm = 8677dc79233ef3480777c4c601ef4f0b\ninfo = a38f634d947819a9bfa792174b42baa20c9fce15\nokm = 918e9cda37bf7f52506111048a878e64a503f9869d0c2615047b995f1efedc4f713b4dbcc940838e68f6a2bf772ebefae9154e9075da80ea1fd68b9df580ad76\nresult = valid\nsalt = ad88db718244e2cb60e35f874d7ad81f\nsize = 64\n\n# tcId = 13\nikm = 0f602703d37943e0253bed3da331aff4\ninfo = \nokm = 60738c594db9638656cc8493db969736e743e152\nresult = valid\nsalt = ebdc8510499f69b2e188daab77cd819cccb95f276f46e6b2be11cbe72700\nsize = 20\n\n# tcId = 14\nikm = 9fe65737574c5c7aa67646adf8230ba8\ninfo = \nokm = d02f9f8a507d3cb0bc047b0d979b50f94dd9f3d805a5d7f5cd372ca14479cb698e17a95c737849aa7881\nresult = valid\nsalt = 73a34648c152443586236abcb46a090ce55ef6c7f282ffce6342d694650a\nsize = 42\n\n# tcId = 15\nikm = e8f2b1c3e6a6c3d5ee0a20dd47aafa78\ninfo = \nokm = 34718d60d8eba9f7ad6d111ef14160652381239551aca21bfc1f250f8d04c64cb6cd503c7f5fb3ff6b73ce234cf6bf91056228a8a51599a39c402e32d47618cb\nresult = valid\nsalt = 3f5e162de91e0782cd189f3b7778cdc2ce6bfe9d3fe841cd3c70475d7b3c\nsize = 64\n\n# tcId = 16\nikm = a679521cdb56aafc5a4b76db0431a4dd\ninfo = 44ec41ab4f4e64f4a36e5e30c9f0dc1d77ae4974\nokm = cb914a0b318cd57eda5b9575dd511313b60cb7ef\nresult = valid\nsalt = 123033b1ddaead83a4b9cfef8a660bd8e00fde01e67c35656c6d7607d456\nsize = 20\n\n# tcId = 17\nikm = 49bf155ca102026f2a217ea1bc9843ac\ninfo = 851bda4faa8f7add2a3cbf0acf9c2786f8f955b2\nokm = 4a540a643b1597bfbd4cb38953f31b677c02c40cdcbdb6c48984aa8ff3e5dc17caf09d0a6f67afe92cb0\nresult = valid\nsalt = 76776e3b4d75f8f43dce4bded71f3b1ae6bcb012d9c0d59f78248b9427b8\nsize = 42\n\n# tcId = 18\nikm = 6cf725e939e8824d4392233eeac75d30\ninfo = 495425d9727fee2e2b7e78899868c1c3e7735e1d\nokm = 379e6d4fc3c9b344754a1094eac60b71e47e281695515987abbc3b22c1e267d95b101592896e08c869557ea82ba075d9c9524d3cb79d7d8cabb33364f5252968\nresult = valid\nsalt = 1e72f24b05a91a0093f34306ffced79e7003055b0833c6d0f27a4f33a1bd\nsize = 64\n\n# tcId = 19\nikm = a319ff7b5ba9b14ac72b681cecf0f742\ninfo = \nokm = ca31c0e0f5ddaa7fded85be96d6311d8b935307b08127f690f15f5ce3ed5a44d1c226e354e8d7e5069ef\nresult = valid\nsalt = d7e3bc6daed343ce77ef793e15a8246e4bfcbaf83d2ac956d0661d1df7262b2e7311623dfe4152caddbfda8fa8ed7a82656ec00b72c5adf7c9d388e5b3bc8d24\nsize = 42\n\n# tcId = 20\nikm = 34bae5a158c1678aa76a744417a70d7a\ninfo = 87ec30aa53acfc3d09ccc1d57d654fdbce403cd4\nokm = 65f5385dab06d375033a6a25926ef4bf5dc660737ab8ccef370af10cc9dcd7743cf273fd048f64b7301e\nresult = valid\nsalt = 1532075f363e061133780ac959bf653c7687d181b9431215d6f62dd2f1ec3019d61c50fa82c70ae25e624c849a276b0c57d7c02a4d753fe84a1a6621e9a5ef01\nsize = 42\n\n# tcId = 21\n# maximal output size\nikm = dfc7c0159b921546a4ccb3067cafdd6c\ninfo = 7fa60cc2c830aba2\nokm = b52c51a447b923e2e6acfc05cd6fb0fb65d8f67f7facce95d3fd4b0dc0dc41d7a92bd06c1fa156d7756d603f8c26a5023cb842c7a133850e842aceea3779417d29a517452fac99855a2ec52503e725975b1d1142fe20608ca753d39301d37d99ff5956b45a7b587e3ad485e135c0002dc9918ec49a985d494795b7cfd53641ea9ceec7834d33d060bdb2eb158d10caccf74f87465052f71c43e67567e62975f02cc79349ed381720965533fa5eaa172d8c7c017036a0b4076d5b76ca16f69586aecc94d2e93585c4c90834ba697d0ecdf04b322c4a6f1b468a7c89bda5ea1307cd99060427fb6c2daeb2f25ad3572b9df69a5bb783d0e91f5f72f95e3aea3575de29e0d91aa8011c85dc918481155dac096260475076e1b5b2cf8061e888de70697899771eb8eaa9c899de2a5fcacb78ecec49a1b8d72df2e208eec858e2af089003c34079a24c15cac878d5339933b91497fe6732bd2d0f77cfb4a5adac9d59a778e38a65c986fd4cbe5f3661ff6e4aec2cb1f103660708a06b9dda3eb50e76629375c4bfc4027f563ffffb0a6b17e80fb1c8705fd28cdace78666dcb64e009ebbd67d77b8fd18c1cac8f7e114c18b4215f4678d719672f7c3307eafeb91b1ac44675654b26c49ec71144fee1fdd0c238be154768be9e851187d41dd1e8842fb4c7de48061cb1a2568a8682aea5cd457453f281541ec0544da726c0fa38b76672867763c1937fde3c9c3f8b58e4120a1ee1704a3dc472da40ac9326aa417b49e3a9603cad661bf1c61f92dff92c553a8368ec0c3b5b105e4c3a4bd1b02a7fe12e93b6674a2b45396206a113d28bc77fa6135d1a3c5d4c876a8c17b6f4611483ed080642677255f7d0219c9e6e7e661ddf05fd7ba333194efa079121091d9b117d9f0281c2a0d51bdafc8a7e391ee607176b1ccbae5b0df7a936f9611753cd5bd815a9fab6bcb2a95343dd7781484afbcdf55d260335cfce70f07b8f4737c49c7a9d93335fbf5bd2595c77e5fb088f81c033ccf08673b446da6edd68cb0e1cb2b93c793dbbd3f845d76bc90728149d6f5bcf3360a5601d42e6befa0574d89ef6f3d749538f7fac02e4b122ab93cee09cd710b0aea2570d761164f6bf37b43f2a252fb5d17a737b83ff36cc07ed550f5cc6d32679691d9cdd72c91f9fd3229c8492c02710a3b380b8ff95d2ed3779cab4abe7e1d16d21b0572a0cff15488721e447efbab8db70c2a79d36e80b6e7da11101e06b560bf6c3dd0e3fe7decbab8c3a023597d07f2ae5af73bac662508f4a86db8e71b9e02545a970f614f66c18fc69e569ff96fc32c05f1b3e87d3376131d69ac2f0aa9e50f4c02806f164a29f32852f64291862609f423be3627ca2a0b76e09f1080c3b602396fc043c7bb77722c08574385685f711446600a98718e78f49ce1ca2d522061bee0dc45a5b899769d098282d1bfde4f35c9a60101dae768e91f59d69e6b9d6f5c08c067044c7efa01790ad94b8e3c562ea8501f67b43933e76a7e416bdacf52f7ced3f5f01af4e317b5e537cb6d1b96960832066d8ccc74ca06664a8416a390ca7d0f31aee6973ea9c4d08d7a14b6dcba15203cada6baf08934cd211b6ec988cf1ae8b23ec9da4f78c5a73313fe294fe2d19c5dd7e5086efaf5956d8653362f03d70a7c4a348ebbab64831a12ba64081e8e4b9233fa75096ac0f0d225f2ca3d4944aaaa7da6dc1bec11a9aecb14e21181bbcd0f5b466d40bdbcd69bbddd51a85e2e9cb8becd5da2c7fcaf20283a35f6408061f9cc0bf68088c68df7e257492f2b1a77db3f6e3884689b09ebe0af6d8bea07eb4ec4f78aa4f61f94533311ce24c8e3bbca0e57d96834e2ab1fe9b80f8ccab305e47e63145244f340480513ea6089fdeab01a69f4401d2da6aed99176d5603cedfad1a9ba79b277c35611801c03534b1de4784e5def8f2e1d81aa68207968e1e9baf3405cd5fffe6a0acab1a18e01540821cdc1b69d344111c6043ea8dd9196a3eb2ea9c2b1f6a1c77564c0eb144e376b9cfe74ba734eddec86ba19e2c57677547ff6", + "5dce2091d57fe59b7515941acddacbe757029babde6d8363e9c87ea40973f121463e706514a6b93cacc4375b0a4b640731d39bad93aa5d81d0024406b9412b951158a4a91a40c39dbe50295b01281f78c65430e6ba97ad3106a672721c80909d5d0d3e95b5e81308fe7e9b7cd6145dae402c32967ff73b04a163405e8d104ce751203d2c354622370b9a54601c1b1c9d484d3827d2137faab9fbd6fdae854add24a933b1b32f33985cf3bc1132ee2f6b0399101801754e34ef0d15bd95a40e9d8b3241008e39082a518a3882e30ffa1b4073cc637b2412667d4b51993135746b748fd88ed5da3e83948d278426262368f57cf5179ffe02c35952539c1f61591825c63e8178f45b6eb515e4f02547f7118b39646b8840694ceeb28ad96b4a1f63941fe68cba5eda641538906fb6b930a9e4fca5b02b2ea1e155093dc56bdc8c88780ba1ac9402fd0674ade1621e0aae1936fdca343e6a05e791147150e06c9a5720c76cd7f1b6ea0e02472deed435d69081c57b88c33618bfc31938fb11e5d1e731e1ac83b24c15a32e3c4becdfb839c5e737d21e3321bfd607300b606ec2c73544741536cdb72b0853da920453443d6efd99694124b61d312e11a8bfad436df14d04f9f9fab14ec474c5df8f81f4dd1de24ca5a4a74880ef61106f1218b55df34ed85ff1a6139330c8df45b047fa3acc4f3b1c896cea3a979e8dc5f58ee34c44a82dcdfbbdb6a42e1332579399651cec217355acb55e45f8206bee4e53e6afc6811704e3119e191e3be8182219e8543095cbc639f1b66b4cfbf96fd3b7d02ef6f781b18882e8dc5ccd684d330141029a9d8c8ebebc3a9e49a7a0f21facc94ebe64cc538d328679f38b06f31b3c5996729ffd9d1cd95e7ad33e7c5dfc147c3e75cd9dc417a08c910fdc3041accbe5b669c649502e16c02b78729784d08e81e0bc40b4590836cd877f80217e23bbde955d56176372221ccf1f18b1bac1f5c150b0b4bd764206b7cfe43716f4bbdf7a44b4407278bd849479865a581812221fa56ec34c30a08fff4045853251a12f48e9bc4fbf58fb1cca7aa68b5703ab6f6be834923c933b2b467013a0e6c156f417e14ae817f20a18898db4806465980eda6f166dcd8d8e36f8a138a96d65aa739a4c3ffc5777d1303f4a3c44751b12ebf293df5fa49beaf657ea5e10c06c5160635b5ffb0b252c32a2f0cf448bfb934d099fb450de717981befb8fdf24fa711eea66e3f670124b68eee9c7861e3cdd3e3d1366d981a6362563dd7cd1c3f87faff083c39be3cf2f39101012bd105715f36c34ec8d6a4bfd35ee74a813e4fa0c98c077f6c9f2ebe1decc3b2455f6b2e99121f6b1478ca45d6b2ad2903ecf2294741f80d09076c447bed7da37e3445fea133a4cab5de5c4f7b46abb84756925f3e1e1a6adcad8cf667e6521aaea32d8fd5f423b9ad7fbd6003ca6d15d6457f31720d5ec7833e58866465d89d807b9bf71be745241e6dd2a179f5d2b6ebc9b92ad0a86a7c64d6fb15ddfaba5b030ed94a0cde4ff8f67282b572fcfa85072a3f1102fa710e60e4f59e906fa190ead2056a35efcee0d74d7d6f3bc05fefda6a43362eb966944c23c99810f0ad6998427f33c0e94388ed7e677dee402c48fe08409bb8e7a2109c230f1f0bbeacf57910d5beb58d1d83c10e55454cee4de633b63fba04904b9f796fd0d8428522536c50ba8ba2997b43198ccc4e3009eecbe43ff652e3e17e6cf0e9774b4b8616cc9bc30740c85fd04bdeb181aa281a3fee92bab269fe0999d85d89e8cd1a4d1682ee873de633eff0f51473e0e29d625c2582c2d67d941d6a80aa9eae47bd8b1c147601eaafda28e721082edc8724e3a6ca944f2b96286035fe8017a9dbfdac05d0602037bb330ad2e05aa6ac6b771a836334a7a8eae30f8a0caf757b74e63c995fdbebb159152c7ca7105245597035258bd9b031bfe1951c688cc224fb3ba8da6063f244cad38b8fb5db148dcb838eabdc402572bb30cd8ab5ecf9a220c513f6d45ae3472e04779776b014acd812f48b1356d2c8429213b0204734338d386e29ea394fd856533c1fa81483a3acf32cb33025373debc7d00c8d5a153dd3e56f5069c44a8ac745cb6d1cd6d0a37ddf4816bb64667da38ad6c75e246ed358e539febd606bd66d12153ec3d223a5ff15f74d7a46319c73962aaeaa8cd470a861782ec3de3ca235688a99bdd8b234e61f6a1264fb93292ea2826e3695ee16b6c57e4287220429d2d1a28c6dc8b5a0b50117d23b0b5f4df498d3ad61ac6fc58e398a9f4093b5aa92e23a1a4b5a34ef93b9662e60baccf9bdcce4c058b80469c01975c6f0742e7cab07c14f975072533081a312d30a251867341f0e904391252bb5cf03e9cbc9318e2aac65b0a69c506b7f9e8ad7b9d19ebde74801e0526a2bc03b4821f8cec964bf1763ba94930135d589dbbc63a048c42d79ead50613135278685f99a38070696a4c8e88985a9a4c7fea3e23bae77d287db1281bdfd00e60a5a5cffcf7c29962604df3017c8b4f4fffaf1a27f2d353fca7c40784219c8e31c06ac628257dbc3cecd1341cab153109fc5e0df5e89c0996525ae5d2f949876a85e6f5671e9043c28920f46f5c778490cd1ee733ca3eddb8003abd82fd6973a45e338b9091f472ac877ebf57161b9afc4ec5721a03f17729c95af786d27f02da6c53f43d339e313bc11aa483a354fef6e36d17508bc8f22a98f13508af80a5f136248cecd3c34da11b2ebec4b2f135b66f3188803b840eca048a559b33b842d340e489df31644ec53cac0d10646d6100f76e3c6e074a13e4194796113a770331bb84bd00fdea57433ed74849d90410e2a2913a79d642103a3b732725d6e7a7c02c4fa844fa4866aca3af7c257cc94720fc032eb482d75a27ffd5491b28144bc2191b2db5d4e515ab4c79c55af44000a821f02c31621b0efeef6a4ef945c59ea4b32a6b95b73bf9a2687a3d059c9cb7ea1472271066892c4ab14198897ae910311f0f353ddf4f9e8177f8bb10dc0a64e0c9be776c07d94fa788718973226077dffca41bcbd57c0cdb2cef9b95ddf7beffa76ea663b28225b382c11a8f1a9a7fb3d1ba4448c36aeb55e7a49adba4992d057dbf4dde3f24d208e0611ee7e15fa715046eb32fede6193f64356da54799599a582a499ed2c48182d9a4f208931b64105ed27385ac1727122cabec3580897762509a7a5e5fe4c3bf921bbf2f0308905895c298633dca6450cd9334708b3c0342c73e32674530d6588a7528cf2fef4077597d18e2342b692581d6ddd977ef3a7bff43dc0c5078f38985896f6e6dc753bc5d2b02d8152097f62fb92508bc80bc556e5295329a0b1502b4fccce062bf1166e21da5b1253c0165fda2d31e6d80b7e68e4687ba90acbdad5a8af67b06bdaefdfead0deed71d318805adea6f641fb35b300b9f79a8ef3822463258684e0ee033b5c304db81f3c104fcadc7aaeefd80b8184e2d016440463948d35058ba6be3dae282d096beb6cda140c3663bce15aeb07fae784de1372f766c0ffb2748fb1210f5eede51c67527dcaf5621d225586c17554bc78d367d70413e2a1e0cc06bebfa1fef2b7a971e08e50087d0266a4da1505dfbe5f639d29421bb7045712a603aa65d54e9070e4d71fdd4a14ba92681a8aaa0254b198dd5095780dab36afe8e6e85289c67740cbbca6723ee55173b1c36759edf969af04cd52c05480573f60ce7c97dd97b64e3da1b9889bde260d1dac867c75d365476678c33a4cc2adf218a1d469af05e821cea216bccbff7ed7ce7af028816181e01eee51a9f72c4520abb40a82bdbb8b7b69e97b92c0805555a9052f17a123ff4a1c797be25a661cfc8c3096dddfb987022bfaebf169bb7f3d83b9e66d1999bc8f75df07be79b3be2f1b69d8a5d3c4b9e3b8388ee06bb5891374c922a99f597729066efca97d709c55b9dcb49384a2e49c63e4c83c3378b8cb6147405d2998d113bc29909ebb2fe97fbcdeedfc89d686763bb9a43476a2690600a3cb83858f9198c1b8d5969dd534e609cbf3da0d311c70896772531a53f4e8329b2d8fea575831bfb77283bd688dd6a3004438cc10f0dbc4f5b982fd25325e16b530b6f3fd015036b92e166b5c38238211b81e8f7b92aa492027bd91fe3f8d879dd4b3220c4738fdae0ebd462f554eb1a51987988a130e78c40e0e03c7df1f7527d87899a1fed1ce4155992c753f7b5a8e554b99d14cbe36ab012687e89fe01a87e250bef650611d2be15071119f9649691eef5a147c253eb77eaaeb53d44b1e354e0b5c00eaeba91dc4c5eef389fe861a38f1f9dd4262cc2f85351b7dc1b8dd740f43040c85c5fcf4b3316738c1bf0d31960416a6cab54112987262ea54c06ead156de660559805558ab110145b2df2a601266991f00c9e4dc7567d33834a13a156419eb1cd213629b3ddebe5dce71212c4c08fcadc22ee78687d465b6908cd578729ba23f326c7f02f68a7e567a5c07effefaff4bdf726dc90d37e1f3b72e8332d3ef5016fabf5c73c384816e18d175d718c6fb5f702d39063ae9b92e05e1674cac86a7c34db1f11eb9dcc0898143d8a66e8ca343e4a3f20e593ecb311ac06a36c4e84068de483794bb0fcf516bfb291befb6ff7af518219d6bff8eab670b42e824610522e805aac17808ffeb87ff7bc135de4eee0fd200c4344fb88e4c178fbe517c9f2a4919dc2a3f3c68e849e255106cd5216235fc8d6a0ec04d9f4765c7c9f58a71d2ea63b4446b5ed4cdee274a224d3c4ee5d5edb1b0a7d4fcf7234e612652e06c88f670eccf15086f1da39dcb273e1c0e7365b7fd506b14944f2a387294a3221993e60f0a10a50b662b886e199d3421d0710bf08ebb40a876de217eab4222db41590f13e7660939173606158d050d3d3e5e902b497bea23c38b0715033e0aa117fc2ac13c8f467a9e2547d58e60a68f478b78e6ab7bf8c963a0e708a60cfd9cb5d9e3782bf3cf2449d0df555bbe8fed61c7b55e56b056ae1220e94e13ae292ae2aeb6fac9ab5c5b920889dc0c83d2852ecd25ee82227d112a1ccd356aba1087f72f3885d302b7d302dc44b61483e0d1a692bcf68d96574a462fe217f323c5d88e76cf792fa81e6956800b6c0b5ef54f596dec633ba322dcdb6affe30af64f39bc4907ad4ed4f74e1a067fa82f76fab1d05f0804124e65e2afb43cf97c3c335fa71b7efe743955a5b5910c297799a57fd46828969f8c9690d4e2f102aefb6ea3acd049d811d977827b88ae5c01319beb85ca0a9f3cb835733b8945ba5fe50c23a84864800c87e9e26e3271612006e057a3fc38fbbe52bf7db6bac81d1c1b6c1ec9d12d09a27ef91546cf9f2ac6354e2118bfedd3fcceb77c6aeef1abc9fb985770980d65dbd1b25651268ec9826f979d10d2c9f7b267349c2a2afe2d3a799472a1f555f38c8ec67cd153b3ba55cbc3864fe8bf4e8624d9051fc4270abdf759e1cb1ca09374a747e806002039acea004ba5cc557d04701871c4ca0c5814c1a5912c5ba11dd66a36ca49b098f0d16a1a067f3e5df1c49a6a1ce5a82851a518986d12e0e207eb73c94648ff95437de11e49fe8f1f99f2858356472fdffe262a384e42443cc535767ee5aa223664cd20254e8a26121329fe22b0f64cd59a4b4558d21568e8cfe22272163e3d2af3805703153fa7b252ecc87e2ed1f807d2c8f1f52bd46bab665c207fe031f943a2e48e688c96417496a553eef8ac31d2a284f579464ec7e1e863a603fcae6bda14452a6ff6ea9efd2b83036848905df1382", + "32bd8f68ec7f69078469111304bcf83519431481bec07ac9baaafe37dd63dca2aa6a07918d6da72305a3104819759dd829ec38ef1f4f2d96325a1ef4080075dad795c9b99bc0170f3d9868d11edc63e47e3c5bea097abf2817bb5c0e1d682370a22d70310d73280d5b50cd197492ae15176e292ae2fe2e00edb69c55817d5b6fd6eb349c028d35478edcb877d5316cf53d91a91e381bad7c07f015bb7b5f5bbd5047e51207ab93564b2120d34c524aaad5ed7d6334d22971eedc4ace2e319421644ff8f0b072f083e7440dbf8b97dcaa32702e364e481cc7c6fed8b50bddf67165224516ca8043dff05c6a9ffdbfed302ec8587866937ccde5633787e4e2755a81562acef00e150975568ed07a35182c06c79ed2db3c738f4a14d0281a1e649dae9d6b9c13faf164c4eb24a639fbb382776bf5fc01a4ff8273bc8e2229fa421a530f4f625e6ad2ca3b3309ce6eb1b090796771606b41d7a875d62c895937a6f5b8a202a4a215a72977a5ef7a90d63c6be8c4acf2f468a2f67ce26cc13f2d1d39788660eddbea5dd1ccc07578fab26c0d15f64294f8e51aadc1face02f3b990cb49b5898388664dfd0d20aa9f93d0a8a606cded780841bfd8aee52a4c9f701c8461627f94cf4e501ddb23033cf514839a23206306c5158cbbc993614bea44e00b8c927cafd1df01381884bcf35827ec7903f6b6e9eb1c6f6e7e163b5aafd77088d59379437babf32201c99583e65888a06197863fbd2cd814126905e6c4df6a4a4217b7d31535448cc9cc82dc5c3b2d9e939c3b4b6edb4cd2548fc94a2b94cf5c3bf992e5c4b911308df9fb02a4f3bd2565b06486538ffa08adb77fc650b51a3c5d1437a09f8ef2ad418241e9d22e1054133565d13eed0095cfd57364ce634060519d52865344cdac47c5c5c91c3ac77ae18d392146f300fcbd35f61126868b13763eb3978d318f53ca31de3c94449bde5eef91690e1a69d6fb44ad56edef2f8659123fb7022346472a6e218ca641aea266e6e5d582147a2f8e40d0689abfd150c9228cdf6d994ea3d211260a8c6e7ed60b6710babef11ffbd7c0c7bfd6c23f8030164341158ea10697c02855b827561023c20df47c529aa71fbd242425ec2c0fe1d506a0b72bb3b37564390180e0c2597b91c4ab07e02f5e95d71279cb44c01bcc95a2f2cfd095d48e6501ebef72e0696702b1d86506be3e53ac548fe2f567606f0b8d6b9dd0e4cc0fb24d78c6f5c3e9bc59ad74ba7d0dc92646de38bd6f9329cfaf83babd3f94752c44e2e1a20a7c8735d1adf9876360e5916b16761a2e1eb6359870e521099da05eb535b008fbc519aa03b030835033e4d529cc93038eb836c85ca1d61bc454843f0b32992c4f155c18a5cfe15ff5a07eef8e64f741288e8ced16b372d41f82cd13f285a51209a80d7612ea7ed2f11d5bebc20fae499612a9f92e203e49de1fe3a5a8caa9b27f49de9c73e4b7206f87142edfc179cefdc06ba50b8aabeb06f20e6023ce71dc996b53119e6252709b0d42d4abfac576ac907d31403dc260d76d7ab2c6e3dc25a079878e543abb7238f5e0c178388075d1a0abe378dd46e3f28ee782ca60459ba930c5e4083c4d91f4e7538b85e71bb5997c748719ba412ca291e9b9e93e3792dfa471652b710e86bbd38d4c147de34fd1ab283b6b3d8b7eb886b7306137e8c94ed0b18bf7cad1e829186ca25d91bb60af412b37080728f94f8893e6956f99e48cf032eb1604c6ef2021ecea58b87b2673a3f7982ecf16b372d6315f0613dd8b964f5c11218853f0db2f4c12d990386fedd53a848270f9d16c197f48ea850ece23c9b892bfaba8aeefa9d8bda3e801b186ebd7588469028406e0e2605bd66ec849c3269b6e6356ba367e8915d9baa88fdf5d8e039990b858b956daa61faf19856721bc4780662f698cd0ed03ca4f4468115c2c1431bfa187c7edaad651d6f4b361939235622650c1287aaf97dffe04458ef2d10070293cad2ee1b42e405bf3f8a18158d89e58309c37fe6616bca374f89a7566d914cb5ebc32c29141d38cceceaa28bbb02e13d5e8ce5626e6742c54ad953ec5f34eb15e1fb92746cbfdbba531e5e2d3ac6725a02d17007d31d1c7ff2df57af6430559eefd0e814e40553244b8a4a4e31dcce5f5688a7407d262dcf5369a50c964b56b49389d7aa15c3cd40191b21a1faba10db56cf83b2b47aef0944ba252ceb790f52a2537b6d9935029dd9c78631c999ed03c06e9bc608d4a87aec4671fb361bd631699270af5c6304e0fbc309a4d46175ecd1ba5fdfe9bc08dc3745b27af2cc22d67043a8c9d2e616286042cd0286b66de058bf1bc424f035a07804364dd03f85e3353e218c871f9faab4e276a676d0bbc1ae56750a56901b46a65b8d0fe096e571e70b9007d6f2a3c138b49d1883f0d32ac3956b94db4955f638f99c131b7ba291075e7f14692769ea03d8a05a64f68dd34ec9e39b7685192715b3b79463ade1c16dbe3522447078684a50264b26f79f9c6bdf1e8373a3d161f91962f5a850524bff5437bc9b9eecb657141f91aeec634db228a5246a9e2a2f96c005fedcea91bf8c4623894cfdddfe606c7f81cec461678b72cb4542715a72e5790be4f0bd62f36d6d2a1182c19f7832d9dab663c75e89f2f84603e9a172db7d89271ae0cbc7186c17a71204394f63294b540ef407d4b7b83d087026976b3e4b2d3e3252a6e9c281704bbc21333bc15c5f0fd67ecde2a13b763dddc1b6770c28641bafeca1bf333b09d5735b117bd3b93d404afdea4a35b05e910985225472d6363b481adb11672b6cf1ac2e8a6b50b04b355ff9f15fd661b36b8f00a9af9775c7c6fe44fcfc33bb73f702ea96d647cc6758edf04c77e209baec6c2c99bbaf14b43f100e920afcb470bfa5d638e8938908131cebd588f4591f846591b5ac53c32ae5809a807d57b74f08d949eb55f8e21b4b0b6007600a541e0aedbd027727592b6720f4275e832da4a488efba1ca4e94ed3702a2c978c656984960c0893b911aa7ed49cd70d543894eac675b2d9a37659cb89aba129a285323f92918801987f2d87b8c328005ae3fd99c48c1677f057f3b4eb9ed4375ff2cc0b34049276a9007388e0eaff0b20a7d209ce1186707e7773bc95fe97fefc2ba6a06680dd37608d1f76e91fe0a5fcf49577058e4ee270e6966c71f482456b31ca90bd7b43c3781a48eca3eb0689c3a93e9b258d25e49861e6a37e4de6491f6e4924a9fbc6e712fd4aeccdadf5ebf6dcfdc862e11bc52ee047460ed3d0bf6d472500b03762ee040ea403540ef4ce2495e50b64c0b541f7f27d14a6e6e20a3089ef309ce106504788a40fc4ab08a31608ec5237409fe59978339c672ebd22da9af5e791cb41dafad39e6217bee14f7367618e6183ff7280fc9b960871418b2d249b14879dce08f4bf1c1a1150672b5ab73002064d9d2b39941244c3d892d9d901bb9903aa66f224c2944b185c4a4f457d07f9587e850c4a0357bb6d64f0d3ad5f77edad72538dfa9df8569ec6094b24e36fb7a73938a13dac36aaf5813bfd5106e8d4064b9d82b45e3ec7caaa743e393c5de2145f711a6f653ad8de4cca55d9a8c4e90af42aaab37957dd4c9e7bca090dc713820e2395cf884b00e898f5196a8ee68ac822fcbc1a02ad92804d6e01bad3c337e3cdf3050da13a4cc0e5e677d2c225f6a297b4f077a90f52869e548b939a5fdfca735c2d0a58f279e624be63b6ae8ea3e5fc992f821ca38a5f67a05e721c90e79a5192bd6758d3d126ba9646c571b1a9678ac57975894f96f0ae17f0e2ad8cec39e8bc7de599e46bc05811360150acbff1d114cffe1edfba639fb63a1896cda03d42e6cf8fce4473426d92377e23454e8f289c01882305ea571138ae226d7c2951dee3b41f82e00c2425fc7c0b0bf925fdadc8e9abea6464ff49393539495e8b2b2b60a46a256b07b99a961bd11acafdb4235eb1a9d428296f068495861b824bf3be80a7e58dd09062d8141dba93f4b969a3a056cf78c3b91f6987262798045d5e72494bf3954bb56b6f9576ebeb2a4085aca829def1fdcf8a34140e859586819f7c50ef6aa4910c868de43f1c510fd6c049ddedd62dde4f6efbb83959d0a9157bee03c782b0b6e9e965bb0628e0600531372cdf27f510f47f4ec377dda208d43c5da5a0690498ed64dc9efb560295afdd09fe1fad5b1867a44cbde8faad2da662336183620eb7cec6d9bb09e60dcf67d332f28b4b07da39e25ab94fe074bd4919673625de5565a83ec7e42dcdcebe3ee5bcb1d52e7db91e1ac1f76359114080bb4e268d243906cbe5cbab8fef482732b971c4052e746c7136edba055dc6527e0516f5999c05654d28f4e23b56fe7da84d690ebc208193c6859c302346555c76f1e5f92cb4bc8f95abb2522d25a9b31387f3b3002d4c9f6b40d36d19b31fcf7715d9868513eef8de50afbd4f10caef4edebff586250b9965f8414ccf493a5f4c81032a0972c7ee33986cb278f6ff999e8f7be77795241a0c801966071c8f12aba59d9011f46acc1524b9683eef30700f8bab89a9c3d981e61be6d2e7b5227539d0c0227d8d1583e454404283517c2f4915c3612dba632ff9ada1aeb3ae94e9ba31a5c6a9fc555a8b1772fd2f2c7664b50a021f3e7174a65c386278ca670b398afc43c5bc79e6df61766780b73e0bba811fcf7c11541802953d01289f315fc4d1689f27e34ed4179ece68e550357a0ead1c34b7bd7b36d4fd5c812539877255ce67c1f561d58d9389eeda415d939bc3ab34a80e21fe9c6838b751130ceddbd412f8faa61b369670917b4778b0c0244619a6d483466a5ef85ec76a8514fdb1ac5cc429d6c6d6e5904776fced03bb677d9c3929fce21e0cd0f161d6d2e6149f6653f97cf62e802212ad1c6207866ad0fe6261428957f9aa0606262db22ca6490ed5930db5ce49a016265f12ea5262620acf93dc0a22fbb8147d92a11e6ca3999e0cf6d7b2770124db73949f84556ddc3008a0e27c686c40b8f3eac972a4c75a84e76dce3f917f2abe9de474cce9e6fa11711411d471971d74ee7474bf8e612ee769ba9878384f0b61a98c6c62f27dcd96398fc04883cde133d86e396b28c08443217a14efa2fc801cda336afa7481ddb71489df94bb8b432240ed0186511e55d8c03397306d8b67c2fa79da7380a866d40a5af26d5fdaaac09f98eebc69b1b4c0d339115a25c6435c7e6f8905406f0c6dba03d54f32e20333c5c2273613a764a7d594f967f9471a206380ed6f38997a55b7a4287d4f2b1cfd6c15c188b55696b90d5625ed0f33a9dc3ebb89e085bb7e295236b2be0872ec037b43a64b0896d2daaff9058d028298b7aca6a1053cc500885314cd0a304fa04e95a6ee95f859823c1a17808903cdc093c039b11c78108ec49a1af11a3188d61c9517f781745e32a02153a1f9af4fa8d7db0b3d34268c129a2c5f7b72f07342d1f3221037704da06235a6c55c3bec83b705087ca5293765ef24603f36b9280efa3c4683fd25190ccf2342034ac0fe5813ef2aac89c06a0ed565d2f9d590824a09ae785e581628ab9b0de009a736a3939bbe79c62111cf6a16fccdd4f1266017f7e68cfe71898b4ddfcfc58869de822590b124ce4c188eca36087b5f848fa8dc1b8178b943d8096fe3a94e24745026ce50f62632610540fcd8c2db5b9cf714002f8db11807f008e719304f269d1fc41473d14d97f85bcfe4c797bd0529fa8450286284fc57e63f4952e73f96268e7a413754182d5ccfb1fdf5c05a0c016696dae8516e8", + "a5805e7be0f124e2c5c48efd7e5521cad6979141b6029c2c983459bf876ec4a1fbe8164072c5df60f05cceecbdcfe3d537dbe233f35f1b4fbb89eec5d4ba3ce68ebf3912be50927ee0f1e34f8a376150d622991f0c93551d039de7213cee59d8d39616099a427d86fab6311cadab54b58b76290f04589efdececd30d8509a25af556af9b15fdc90a6013933f89c26b50a4386d3e98f4e92468f43c488bce0c3d509124daa2ab2d6fee9466cfcec9096e78ef4b31ccdc9a769d5c04e4707799a38a044a4d597c5d6b6df4c192650a2ef51ea37134dbfe820b825cc015c968e2601cf3147c9e2e0c8114f6e5af51161051a29ae1b7818751c0b0850e707ed3ddc38ad952c19bc754c3d001e9348c7ac01bb1441c959ffca12a1d0341372fae586d76f339305ec8a1c93b49b2d33c2f595fb76d7cab39ba0daf7eac8b53feb3171373faaa2c93c1b29df5a290a20b02fac76d4d1b93e121bfc313046af2f7b96063bc2aad934076803a8b611b603d91bf3fb2852b29902d4b5e0c4201ac346bae432a9b8a57e39a0d1edf82ba7cb6dfb311458aa97b7e269c82ca9479760b720345892d80e291c23c86e4491877932d2ab8a199c60f84fcb3d3fd984e5a93dce7d3915416036ce2e3440eef6877aa03df08cfb8d77305d65f54525dfe57397059606387d89d7752d605677de00b5412fad9e300d16fc5cdcbbfb01d52754f7aadc52561b5e9ef5cedd5eb6f0b3da6f5075c0549cc7092c205f04a8f7008e994b268f118a83c0f2f41aeee9cfe3fdc50381e43054035b3f8de446e1ebf1e18a814b5f5e3c3a990858ab71b546e91a15f27c817dc95e8fe19641dd326ddbe98bb7211a0297ba09e8a00ede828ebb4fbd1b3ad667d7e58c48edb6cf18c693df5858a59fc3bcfa0cde29a50bd466aac096b906795dfd7313049b18be238812cd47eb9ebfe6a86641da68fd4b795e808aa539ba0090344c8a8f8f94f964d4c30bc2b3de337723e8528c7b09693b972f4229e7a60f5a5b73096f04fe24a94238cadf71e8dadf33804fc9070e78035b0e273cf2a5e3cdb935f19795a027027693d50f43dec95e0aed3590348e18318ae55687883a3a55723cd817bf344466fb849d05e9d84b48100d1f4c591efee1d45dd31cd0db36b8656467fea14289982d12bdcdba0e69144e5e96f05fb8527ca95216052cd5cba6e6082b6f528d5da0770f704fa10a66b129dc2df07a20b06707339670bca46222ec9ebfa2f7c28658e6c922ffd5ab3388b1b6de9380aeb21c6801ac7ad7b1318580f867629e73fb4bf04a53316b96b1c89fab40b821b1fc1c51a6357de33b7a3b0d8690396519c7e25e9b0b25aa7023b6be84d1f773638efe833865f1aacfafeb953528ad22ac36bbcd1fa04ad197f77830597e294d3b4657652adfcfe2583cde2f1a2e2b51c032a54952ccddd063e21cac394b5e26e1b0b3d356bf95baef53c2e64de53f5b2b3f30bdfa009872680cc43011f137e57b7471029112e9f7130e20a3a95ee7517b16295f91febe284c2624c81aa2e29e759298abcb169e0f4fb8cf1b6c133da86b760fbbc1c1ee071c73f8ecd38111f4efd1b7939341bd24f91bc669d0d1500c595dbdf948d7e545fcf82beb8ccb1d4ba07262d62c7bfc17ed4d09db55aad49f274cb69d4fbf670557fb224dab146b3466ead035a76a659b5999bc6117e9e2a8f606e596a4b813e68c28633221c08b6e00989656627c0fc43fa728e8385335b8750fe9f5c1d7aaa47418456c963ab29d3a14399832fcf246df02d233651b03922c64fc70908571ca04f013af8f5a8405b96e8520b1d5f762278a34b5cadb99c6ccc5bcb42e7eb987354f28ad13c969d31ad94d38f94f36fd800844feb18e6daff19d53023bf99f9b136fa76f99c429eec13a6ca39fe70f809c8ee734fc89610b8073e86f79fc7312cf31137791f2f5d97878d19d37fa64e70a1f869f60ef47b039a0205b8d1d9f1b4b2399c13cb0481d536deb51accd7b63d96ac0c6517c0d00948049b70f9a25df35028cff9360cc2b38902453a2feb46f4ee737da5e4af289bed20c2f6ed5fcf60bbf48019b318cdd61755360c63b91a4313fefcbf48ba49a6a3d55832c162391e72ac2ea59f3e51748291c327cb2b38f4b7ff451e686bc99320d6a7a624e8ef4307fc0741f58d3e18fa90c19a231f716c2fab4445f062da1dc93db64357e8036f78cef8fa551d70d2d3f2e74944040993e154b11fcf8f9b526861b43b2439d66b9ad8493c041a156d2566a85825990f6f98a8ca1bec4c300ac8a7bb5a9eee1f8bc7ba52b5c24fa2aa09f08946b9026f671b128cef1a19b453ac3b633da0798b55e1dc07bc23adcfa1a2dd19def4c2cb98e05742c5be778519f6a72f9a06db664108e6930a4066cb64f37cb0eb027c9f5d7ebd29d0643185226050b8ac99450bb2f9f84b3fff78fca56f3479da226964ea2977a13d6d84ae73c004792fea34506557fc354fa795781aa3245258e0c548b5a4fa525134263a60421668fdf7bebeafa161315a1046731bbd8cbefe7c101ec0dcba3459106517ba5922c65d19f8f64757658663db33564be86b3953ac6157002e05b86de8cd5061c58449013767121ef0c3d164758bff739d4f8bded53c01f8a4266d5fd0fe3937f2bf22dd05cc7e17eec825d06cb9a26e17d013528d804cde17b68fe228c31c1c4948d0ed23d0c7528c1b421edf9c1e3113b5485b1253e2f2bf70ba32e5d1ac7c27b6b3900967737ecaf260774d14c9f1324b10bd79813a15a2dabc64d4c83a7ff02800be0457a203469831ee8350d7d9d3148981f5f9217a4439a763ff7cf0ae4e28c275336bdb3ec625a16e779cb0cc137f7d019b53f436278f743cdda91f450cc99dc24919d4be99983027ce46edbb27b45e4bc76c175b56c446f56ee14a4ccf3279c38549c2dae22867acd2580582288ad681acc4e2d544df6430a6a845e4973b392d3d4bafb5a5b542a2dfe328e589952d70eb6ccccee5ebec52bf6c16b0554a33f29ce7363535385edab48009c02087affeca2f667de04039e23489062b91d1342eb445bc4f42418c126dac4268ef0ab6c3dffab678690a007e39572ca8c177d836f1e64bebeb3e1fda3cfe4ebd960ac4ab59343ad460436fc375958bdfb72d8c31e5d4a2c47e53126599ade4f5440c4c1027cb3af2fab30d7af60e8e96e808b890fe8e3e1438babb7e36fec250778c0dc249aac57bd74fe7f772dc8c4ae10d24c54d66a094769f93e77358cce7b5669e81afb5cd2b46791c689edc6925d49c3176152194d3d4c8044757a6ab4ef6fb7067281555b0bea1357543c60961df21601cbeaa78a5f48e48f3747b9c89013e1e70b7509e90be9a4347acd9e11aed817f8bcbbcf4965887d52a819833b485fdae03efe3c2ec68e813820447230b513e957e3ebc08d66b794cce5f198ffab702b72ac40107b5f84d420fc23be2e107eebf1913b278db0d6af15e98ae93b873ddd92629cd66010140bb5d6a6749f622dee02bacc37fd02686314b48b1eb91b12f008c0384e013089ec1a6756bdf8a5c0878a9ab30b7bd26da941096a4f71b1b73cc8414d255b2e612023d37e9b4548358b6fada3b36b29198194c72eb59c0736c91f9c39e9d8c7379cb8508a087a40359d0f05d4991c4d36dd5d8d377d53f24392154b2db4559529b6fa1ddbd357b9a6679b2e75a24c39df93f53133fcd5c8e4ef53dfb4056ba88ebf8e7c051fc3fa1cf879c8d602f4e58ca405814a5b58517b0a1bc36f366f416fd22bdfc4cc612aaf68acd838ed9212a9056251f545ffdd1d11e74e985c5629da9128590f4c431736f0cf5d50a88adefcc4a0c727814706fd924fa55746804953cde7c0c5991a5c9cc1faed1ab240723436e4f51429b75ae688c201d2e3823ecfcb3bb902532e45fd0fe1f39fc10caa5a80b2cbe031e3adb33961fd6831abc2c0b59afad958eee9e14c0a65508784216414bff1c512ba9c56fc8457e566fbe9a50e67f64fc66f53aed2622c85472b55a9547610eaa4d61a6aa798f8a39abf179f15fb2c268ef3c98f23520be1235e1eada8565be1eb48259fa045090da99dc0c89e289bf3487314b58740da3df238128be0914607fc7f29b7c843f9a500a180e4d25819fe13c67f9c42c07789a3bea2f93e0214e02a0594d02db485855e2d45a29027c5823d9a79fe4eb7d33c87e55da67c5a16cb881456ee58dc829b4449dbc9cc5146b477754fbf3433b389266425d6290696148bef8e0bd1a1536e827b6cf229a4023de9caf2a7dea93dd37397eb090614206af33c74b8ae2eb96be49431194750ff575e446cbf3effb627bb1b568027d15e3136e6a3f70d96ea1dccf7f2a7f9666697a04be96e5aa101df1e83ec7d71400574ec009494a3c71878567c9d73475fc2195b8eb12eebcf9cd61d9d038469292c95e6adefe8921ec3ca2a2a52e8f6343ed2e8a8f871426e4d1d85c73a8b42311a4c048294221cf241528c8ba4207d5a38d04e8047df54a0d2bc6a190ffa9821f09c648c2b6cdcfb2e8b33869884330dee10c86e101c1de368e778242f499dae643aa7027491cb4992c9ea3ac6a55e6b4325586273e1b09339ed11896a822d27e577062c0b9c6a81e78d0f4688a643585add96cfd299dbb3ba07447b4b48060a00a096299f3c1a68fcce0fdf5525440900d60c6f00512eca56291d35c2c87a957424f4b2806a7b6b687358520db56e59b8105c6dd7973dc9f00d0f6917e0afef879d62c657df781cd3873770cb533ed4490de0ccaeb24d38053783ea3f701aa9ed39d4f8878536c39e1ce4588ec25ce6677c68b0a7a95fba7233bc0c7238e76aff813e0820e8213f5becbe5a11508e9aa07bbc0e74005b7af4e60ebbcb390b4716ee7c1b303417e259f80ece180a53f817e8d6ce2840814278e2a30ddcc4c477019787a0e18ab1cd073373b1562985ebdeacaa7ceaed4c67789b5b7e190bd432d2849e05bc485fe22a616ce200fbb39285b84ef2266faee664a313e19c9b5051838677e4b67a237f96704940757c5163fcb0ca10efd2d2b31b273905d8ca3c5277e3292d40b75ae5a6ea942875960a02202207232e5d29ba4fa0d75f569d20005e36ba3efd5ef2a67a7f76ac317e2b73d872cda51baae5779d470420008e1c26a6454c0ccb275a86e4dc20732ed23715f57216591a4b0505de2c89c3d1c3b35785c51417e4ce4cec58104c2898bf388df3261a904c5559828b0b93f4b0532239d19f2cd925f5cdbbd965fcbcfa96563f51596198b89c50c91f130e97174d1ca86f2d969fca7e78844329503d3e7cfc62fbda22267b37727c890a58aa0298c39fcaf8cd2bd4165e33771d04dd2f4132a1aa4fec3a76f69ace3bdbbaac000b912dfdb9f9d12ceeacce4829b82a45d375026a5cd4edad2b05609cc68196c8067305a97b5a35905d84e58676e973394a8b598236b3a530ce70c93c5070401cd7403b3fbb18c32c189831e76dc64951daaa4644e5f3a4cce561ce3c9d6681b84840a26eac3150509650aaa99dd6d0c35a9a1385cb38e03cd29d30bc908a14cb92d3eb25934702ef338e8fa29fa953b3495e6d9e9c824ef37788905b004a622a8d41f7456d93060aca59910635e4d0429e777350bb34b6fcb72ff2ea501ef72685e9cb773c81e06dddc3163b4daf637658f225b4f0fe21fd1affe861b5c06d35cacc2de7b57bbf7c9dcaa2c148cf96bb9496f9c98dea0a4c67fb59933597043b39fdbf7616fa4d64e8e8747c0e7e29fddcd741fc969dd2107c32f502f5ee12c9e", + "9bc6793a1d2e709edbed465c19ff52ba7944b81453f766a344658fda11c645a904777c2af6b0da86d5f13cb9b0f1e52c0658978c33a86ad2c8d6d7f334c9b6572eef82d162f295602fe3d026fa1d05684acd35037e3ad74a695f0e15c65e7be17d6a258e979108532bc53f148939ddcad9e5eb4705176bb0b593f4a55b4bc59455b37c56a97118d486f35f640a76abe920c9c26167b7d22cc0f2a3fb0651c63be8c2dd767093dc1b1e10e3a9034bb52b8dd20c8d9106cb10a5b30d575b1062d32b3dca2bf930ab1715e50f4a2655c9fae789b5ffee61fefa4dbb25a4ffbcd64e19187c0d992d82e736819e076dd4e2db94c6e9e95741f65f6601598d3fec51d9de98091943331b0b900dacdbf5e5b76b73c72ae62a46a7db844019bed680aa0e46e9cbe104a8f7b4deccf547623767a253d363b473917222a24cbd8b6e234d37dff3bbf5de46bc69af0238644a8c35f823ae8fcef5ecf19c8a2c05e4ad1eb4937be1d6e078ffa619bd80aec5d1f06390de6eaad2218c54ffbe60660990ba19eb67474d5f63946c625b973632cfd3cea0399f4b94ac1df10a431c397439066d72101e1943334d44077a450453f171492ca6a047fc8c53781414658106cd45127b3943de0645c86f94202f01927f91af838692762b5273e8fabd129c2917d75053d8c07baeefca905cc8d312277dd58e777ec2832c8b134bb3e6cd5f84949f72395b6c994ec19177b83b347ced201e86474ff37c60d6d853d50de8edf593ca8322899eb0887351a60968adcb16a88d74ce5c9662335a4f21ae299d9bf4fc18c39d54dfa80ff2d785311596dd217347da2407bb845ed09b796c702a22615623b9554d6df1428fcad0ec86c98f045bbdabcd9d012f0feffc52ea1d04cef55600115446bbbf733d304828ccd14709b5ea58584717199fe643c65c44512840c9bafe0372917fe90a80d5f3f6cd4589947c4ca6a47d3dbff7b706362678d1b3f592b6ce97c831e4c21ca99816757c5c77d0f75b7587b29334685df8a55d81d246d5a0c0697d5914140d514d6baff5b729bd374c9985301f89b1de1951b617b0a3b70a117651e491c1df3af38118f107c13431665f65e0fa34f8c40a54e9aedbb807c029a6f5c469487e66f74dbe20d9202f2b7c3e119e5fe1444013f6ceb557d2e69eacbe6419944b40f7400cc0de04afbcef68d1eac98844b4a2ad6d26b4458e7498d3c5340b4c7d7ad34c87a9102c6546d43991f300144bf7b55f5fd8c92f8ce9e4d513ac1ad1ad82c45e7bc3d04043636f1bbb330a7822be5938158a97c5277ae247c75d6c1253cf63b6700a45ba26269c40cd8b5c24299fa0432f2245e21cb1cdcf218939bc4455f153accae2983023b6ef30dac5a35e21a725f7919a4701181178a23a32f281b5c8d8ed2fea49fb1d383c160a6de2872cf99e5bfadf629430c7b1aefe3417c27a5a1eaa781f761748e2842c8cd7d825891ef67e86540c2dbab8781d5e7364d56dab12a09746aec42150c90a6f6fdf9c9e480cadbe3c5272abac109c3d9dc911a4c7aee256bf774ba4e1cafeeeefe02ffb87952bb6a31b8550ee0fc32aba2236ceb5ae980d90c7cd64dfdd96c53c92979dd3d36e95fbc13ca4f8f85558df2e5dc6eb102f89914ea0e22f9a9dfd9ebf2bd9d82e5dbbb369e6ede5e744115cd4e7cdba67db20fca5c9c3a6363741656965c9fe253d5c9f4a08e24e5e03aca21d579e37b4ddc6e8bf21155065586504da7791d368f8b203b8c50db18966e41821e30272df7e8a0d1c356839d822e75f856892cd4de144b0d41a80f1ed53c51a7aae0801885c1821d0eb050fbc132c0cf206999da276911dcec4929a5e6bfc584ab0ad736d4c1f60ad1bcde83fe6c5ee761a5eb046727f5eff80050d16840187d5504436752681e5f951f0dfd1d72d3add7657676480bcbd6e86734ef844d772bf75309c46ed05061fc723b15f853ec1c1400596396b9f26f67edc085102626104f75cc61653954d9c161d7f3b65a74ee972a722c49dcabd422837c9b3459041e5df14149797bf0d4ed6f7f5282df8d0d5e2338f5c73703dec3ba8d65143a639139b98bd2c3bf901e552fafb0f21c7d6fa1f2eff7b09a9813c279b5345d8d703a106f74edaba74a11b38302207262698eab7ba6256f97961c0d6ff3247e641dc653ba54507310d5a857542b83f51dfdab971340526dcb782d231403eb48e03c7a5b4ed872d2f33147b5641af337e6dca2c36a60c05b63f33665249af51fed02576d05dab7ab9734c0f35f4387088697f0a0c2ae5c9d88f2f86bfc08f17e99978159dcf77241e364acc560a9fccd655eab5ea4894a0463c369bb64016cf75628af85300b8a10647822a68c9b619e7b1755f6644256eda3b4e2f0f2e47e1c6e00a8dc22ad010266ce8a8df10358344a672c508f5b3e4d8f3245feab902a9069bfccfe5b45fe48d66133a76bd30e8d8956c7c6ed88bc616751fc09ff0f5539d18c28f2e079ffd603353b5e4dc91c6017703a99182e4d0a781a9064df2f1dedfe677ff7572b4ebbb51e6209008ae10a0a7beab424e2fc0456d4a527e63d725e80806b3dff054d1321603f0c73d3d976593c022b2341e096562c182158891177a8caac62c5f6c2308508e3dd65d2fe2995de88d5649d161a041e2a4ad4c455293e8a0ea6a6bc6c36160587e5a199dfb7fb116cbcc71f9e8eb3589498ef798fa146865e8dcf552fbfb86347ad21fa257dcec74044f1c894ca62ca8e28d641ee1e11b625aed47c43abfd22c2e505ee9816c61d7e0c50ba9bb25921a4c98b29eade7ef3877d3a21e5d953a02378c3eb8a75e514a4a38d6fac925d2f69f66c4e87357f4758cc12d8c086f0c934678ef84df8bcf8c7c8bbed5909e8c750764b869d0194947c3bc874ae8e70d5d9b8e37fdfb02682b1e0e33aa458750f844554209c42d8544184b4fd94220eadfeed03d61080f551daff95ab238230b4f12eba6477426bee1e8aa53ecf11896d54e6cf7989e25212cdea0087fdda8cf578455e582f6d10773e0e8aecbba42a2803969ad1c396c77c663f64013eec29811f5f0b004952ba3caeab45d9da7409cbf0320b3e4de097b44b289d227489d0b0c5e8f14f36392fedaaf6008d54671e8d72bba4fbab122815fd3d49a25a3c2d85fb83e1645350d0a7de8046e74db6a7f2965d7ab04cf3625b5dab9c02f70cd6a4274aaf9ad4c453e70cf5ea121fc9d5b43d405166d1215c712c9a13fd9a0b34e0f97efe1337e301c592b533276b8ece2192ad05395a00b10a4fb76332acf3dac46d716b618be5dc530561bb5fa69fb2295f3c6bf47fbf34221bb335509e6e8a507fe3d7fe3d0176409fe6403a0f7321936c166b2bcc4eb190661b6add5c5e17cdc3916c8878800fd81784f5c60825472d58bd0b45f1a10044d45384793575b58a4d823774eed9bc45e91b04072b361266972ee0ef82dff917637c344805d17c941f41c950480c162f56ad772c6257f10a8a6cc495b56299b94d190104416ad537bd1b1d4a89d7519d0a7f395e138852f389c0959a13a510f1ef35ca560fb7a7f6c733542e18b59d191e57b3d55a8b53af132f08d719a0860cae66962246e8ab1d99cee40b3db0579302fc23fa41f0e16a6b74728b07c833f6276c\nresult = valid\nsalt = 8dec7fa5cb2bf9d277121bd42e04d963f3a6aa6ed54606babc4a40c210296848c08d79c03d018a3f71112dae4d63a0ff86cbe1174457f28946f3af58327d45fc\nsize = 16320\n\n# tcId = 22\n# invalid output size\nikm = dac05fc4504402cd627f18b35af956b0\ninfo = 8785200cebfad691\nokm = \nresult = invalid\nsalt = 1460e1e2a09bd06410ec04ecacb752b707d5b26a003431a7d67e51c5df028b098853d77c0faa23edc5b27d304fcfc85883cb8fa4cbc5ff32e79139102b8ebcd4\nsize = 16321\nflags = SizeTooLarge\n\n# tcId = 23\n# output collision for different salts\nikm = 5943c65bc33bf05a205b04be8ae0ab2e\ninfo = be082f301a03f87787a80fbea88941214d50c42b\nokm = e91cabd2038706c02f8ba3102a545f40f340bf65de30d3c37c2408f14df06e1a\nresult = valid\nsalt = \nsize = 32\nflags = EmptySalt\n\n# tcId = 24\n# output collision for different salts\nikm = 5943c65bc33bf05a205b04be8ae0ab2e\ninfo = be082f301a03f87787a80fbea88941214d50c42b\nokm = e91cabd2038706c02f8ba3102a545f40f340bf65de30d3c37c2408f14df06e1a\nresult = valid\nsalt = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 25\n# a salt longer than the block size of the hash is equivalent to the hash of the\n# salt\nikm = 5943c65bc33bf05a205b04be8ae0ab2e\ninfo = be082f301a03f87787a80fbea88941214d50c42b\nokm = 23117b38f94d22c8180ed72976a1f784fe591caebb6a07c1f0cbf8e29c6938ee\nresult = valid\nsalt = 329f445e7de8a156cf26a0208dbb028d9de6ef76b8de67ca634f4a5a732138a1bd436a7b345d7a0314c7ed0a00b0d34ecad2cb8bd141e2ecc1c77e237094d55154\nsize = 32\n\n# tcId = 26\n# a salt longer than the block size of the hash is equivalent to the hash of the\n# salt\nikm = 5943c65bc33bf05a205b04be8ae0ab2e\ninfo = be082f301a03f87787a80fbea88941214d50c42b\nokm = cbb19fbb59b4647d05c57fc07778fe4a73ff7a0de9408c3cd07292bbbef08fe0\nresult = valid\nsalt = e6fed0037da957a6a67318c3d8df737bb52b62b8ae4f48b96ff9eb7a108865eca7cd91b371318c8c7bfba2eb4e8d50ff8c9e8e156f998c46cdd7765375725a5f\nsize = 32\n\n# tcId = 27\n# a salt shorter than the block size is padded with zeros.\nikm = 5943c65bc33bf05a205b04be8ae0ab2e\ninfo = be082f301a03f87787a80fbea88941214d50c42b\nokm = e81c7970f06808e8cab6bc6f3a7ea308b19702197cb41a04eef602df9e26d05c\nresult = valid\nsalt = e69dcaad55fb0536\nsize = 32\n\n# tcId = 28\n# a salt shorter than the block size is padded with zeros.\nikm = 5943c65bc33bf05a205b04be8ae0ab2e\ninfo = be082f301a03f87787a80fbea88941214d50c42b\nokm = e81c7970f06808e8cab6bc6f3a7ea308b19702197cb41a04eef602df9e26d05c\nresult = valid\nsalt = e69dcaad55fb05360000000000000000\nsize = 32\n\n# tcId = 29\n# a salt shorter than the block size is padded with zeros.\nikm = 5943c65bc33bf05a205b04be8ae0ab2e\ninfo = be082f301a03f87787a80fbea88941214d50c42b\nokm = e81c7970f06808e8cab6bc6f3a7ea308b19702197cb41a04eef602df9e26d05c\nresult = valid\nsalt = e69dcaad55fb053600000000000000000000000000000000\nsize = 32\n\n# tcId = 30\n# a salt shorter than the block size is padded with zeros.\nikm = 5943c65bc33bf05a205b04be8ae0ab2e\ninfo = be082f301a03f87787a80fbea88941214d50c42b\nokm = e81c7970f06808e8cab6bc6f3a7ea308b19702197cb41a04ee", + "f602df9e26d05c\nresult = valid\nsalt = e69dcaad55fb0536000000000000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 31\n# a salt shorter than the block size is padded with zeros.\nikm = 5943c65bc33bf05a205b04be8ae0ab2e\ninfo = be082f301a03f87787a80fbea88941214d50c42b\nokm = e81c7970f06808e8cab6bc6f3a7ea308b19702197cb41a04eef602df9e26d05c\nresult = valid\nsalt = e69dcaad55fb05360000000000000000000000000000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 32\n# a salt shorter than the block size is padded with zeros.\nikm = 5943c65bc33bf05a205b04be8ae0ab2e\ninfo = be082f301a03f87787a80fbea88941214d50c42b\nokm = e81c7970f06808e8cab6bc6f3a7ea308b19702197cb41a04eef602df9e26d05c\nresult = valid\nsalt = e69dcaad55fb053600000000000000000000000000000000000000000000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 33\n# a salt shorter than the block size is padded with zeros.\nikm = 5943c65bc33bf05a205b04be8ae0ab2e\ninfo = be082f301a03f87787a80fbea88941214d50c42b\nokm = e81c7970f06808e8cab6bc6f3a7ea308b19702197cb41a04eef602df9e26d05c\nresult = valid\nsalt = e69dcaad55fb0536000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nsize = 32\n\n[keySize = 160]\n\n# tcId = 34\nikm = e2865d6bbc1abf6a815067edc4ee7aa33c290d5a\ninfo = \nokm = 3e80cfd3ff6e21e810b7c3ce1d1b002fc6d0ab75\nresult = valid\nsalt = \nsize = 20\nflags = EmptySalt\n\n# tcId = 35\nikm = 8c177ab5f40e9c57203883562f01f174070ccd97\ninfo = \nokm = 247885b9b90ef2a8cd1e97710eb9bdead1aab09cd552c840df8ae4fe08ac153f0152b20c1e90e5d4e55f\nresult = valid\nsalt = \nsize = 42\nflags = EmptySalt\n\n# tcId = 36\nikm = e842a4fc1a147cf2f87de9bd5a42fce6457496f7\ninfo = \nokm = 60552eee83f4bd894098f901f9a13462796f75603d3bec289a4c55a16dde21cb2ad41708b3a3d76dbe5c54cea3888caac951d728834d3651a37cde0b0664121e\nresult = valid\nsalt = \nsize = 64\nflags = EmptySalt\n\n# tcId = 37\nikm = 5b870ee1bb97ee83f67fa7335b4a0f9dadc80d12\ninfo = 0a0dfb2a6e051441678788bdec04cc1b63ebe1f4\nokm = 453fedfd43595245f3c67c61b9dfc253a356a2b7\nresult = valid\nsalt = \nsize = 20\nflags = EmptySalt\n\n# tcId = 38\nikm = 58ea7ab33acff514ec08f41e59c17a3c66c1ceef\ninfo = 1cf9e25bd70c5546ea7a79eaf5d90cacf754c4f0\nokm = 34226a7c2443a012bd994f8ac6ced5eb70ce08970617b4aca853f6a13b89986725f2b1a3472f5a3122df\nresult = valid\nsalt = \nsize = 42\nflags = EmptySalt\n\n# tcId = 39\nikm = e8d20934b9d320458f4854e2442e2f0fa092f461\ninfo = 4425999958aa3cc629300c25ab15be8cea7a4277\nokm = 636c9341fc005909bbbfe18d9b4db595b5007178c13d295375d0738204306b522f0e33f37c67465b56d4a09450375a50e8e02199f3c44b7a89618aa940040d1d\nresult = valid\nsalt = \nsize = 64\nflags = EmptySalt\n\n# tcId = 40\nikm = dc9e488c684dbf0ac8ff1eefaa0666d413d258f0\ninfo = \nokm = 8f426916a9593815065cdbaada2c23921025e780\nresult = valid\nsalt = 9afa7df500d7a17af1f44422d25a62bf\nsize = 20\n\n# tcId = 41\nikm = 34b85c341a04cbade472b3f7dee4de4d1954bf70\ninfo = \nokm = 81703cfa5d5f3af1d2105e047f0cba013c1ad5eb27e8d408566a10e00a7e90da4a30a559b33f353d6932\nresult = valid\nsalt = b066b42acea664350a8448f8e064225f\nsize = 42\n\n# tcId = 42\nikm = 44cc641e09f7d5642f7b6007ca5a1c0813319666\ninfo = \nokm = 582d7b17c4c783d2f37f0abdff8adc1e324370e069f274b1c7d6a46655843e446504cbbf3155716b6e824d4038e0bdb344df20f19a4a2dacddfe9aad36a81dac\nresult = valid\nsalt = 69c0dde6c8e5bd40553a5981fad6ad87\nsize = 64\n\n# tcId = 43\nikm = 88a8880cc2b73e73b3b6ca1d4902caf2128732c3\ninfo = 6dc723df3d26f704067afb2fb6d95a66516d089c\nokm = 02d1a60044f4b017bed7e49a6984cd2108455f5c\nresult = valid\nsalt = 0579f690ed32e57a26701a9f6877f243\nsize = 20\n\n# tcId = 44\nikm = 8408668b9d671121b8c7d31113f045c0d7c020fe\ninfo = b4451b0f1a217db703582881e86d8044d5f2e092\nokm = ff71e665d74a7fcd57e7f6ec5600cea19673bd299766e525959717169d3e735a33bd998a317391f1ba91\nresult = valid\nsalt = 679b30e6930a8ea3f076e317b9595d5e\nsize = 42\n\n# tcId = 45\nikm = e6715cc4ee13c4d999d8f8f500243c321f70b0be\ninfo = ef17c9227a5ca654fbdb35dd00dd6dc77b6321de\nokm = 76882b3bd15ca84585e2a4e7622e9c3bc20da778aee4d33a6d6a095229f0843878157cb1b5970676725375536a5c724fff18056cb28cdce8878a3c687911c5bf\nresult = valid\nsalt = ecfaca2ea3301a992b4de081d9d3a4cc\nsize = 64\n\n# tcId = 46\nikm = 9a6b88f3f68f5a8e79903b51dcd733abaece1a41\ninfo = \nokm = 6f0c3e176ea037da5e32418174dceb98fc1c2b4d\nresult = valid\nsalt = 0226df3d66ee3abb275eb39c8ec3d3e12e9b87b67f85c552accc4279ec17\nsize = 20\n\n# tcId = 47\nikm = 0b9eaec88b2940a4754e83272cbf47fb6f86aaa1\ninfo = \nokm = 4592acac51be6ff829028b39b57dc1705b161b9775e5fc4bb668bd4addbf11a6c8230115cd5890015dfc\nresult = valid\nsalt = c1616497d49246400ba68242b635c67515d2528ee1c3b71b318b631f9bef\nsize = 42\n\n# tcId = 48\nikm = c4717276e7c7f794c4ee333b2f7a2ab244be9e8c\ninfo = \nokm = 3aa97526d07f8cb7f936d6ec9d6503a21ef162b9fedf354a6afab2bf420a922100838efc9deba0bbf31a0ae06deea9118fe47f4bc484c1bc75f649f3a37c3225\nresult = valid\nsalt = af4c63e5b554063e83e37bf730ffa401c696088ccc4f133a8695ffcbf2a9\nsize = 64\n\n# tcId = 49\nikm = 5e43a900ee0d432c5fe6fc81db8d5f81a54e39df\ninfo = 32460280e60910b10abee2e9f80a3dab48acbc59\nokm = a715f5178595b4d7a7592e5fa740b9473ce00777\nresult = valid\nsalt = 8cc815009350b0b6a924ed93e73c8f8c57a1105726663b72741b67209c1f\nsize = 20\n\n# tcId = 50\nikm = 070c170fca600aa2b23618150ab9044bff7d4dcf\ninfo = c1b0971fefa0a23cf4b7185879475ebd8d83b9bc\nokm = de39d37c8f7d27af175221836c34e72fe2c2fd8fae0569f47d24a6de918d5992ff95302b421e477e1240\nresult = valid\nsalt = f32a1cddb32693860eeb39a5d190f5667a303d5403712cdcebb575c6563b\nsize = 42\n\n# tcId = 51\nikm = 87a23208df5e66488d23f7aaa066e87bdced8e2b\ninfo = e4d66fa23a6020820013d94d1f8e84a58cba2a82\nokm = f275c7be87f3a20c5f095c9c11df0105f825bc3c321dbdf4c64190bf3dd572bf6ec867be292de7351995be506d40075a39a6cfab4ececb19d9502898f8a88e8d\nresult = valid\nsalt = 0488ffa08062f1fe83e9c3934f5688a2e17827f898aa5daa2d595f09b245\nsize = 64\n\n# tcId = 52\nikm = 214746af12a669b726364027e9a1cfa40c18f8e0\ninfo = \nokm = bc141ae6584b51855f8f671bdf162fbbde5d8abf3aa42cf9d04908be780075a889472e5093e16a8af780\nresult = valid\nsalt = f65ab21816c5eaa5c9ce77d58608ab67176d2255438096f4b45779d15c2afda12718ec557bfe161e7fab89ebad4fa634cf73f2d12c884c4583e64d2b59b9d8b9\nsize = 42\n\n# tcId = 53\nikm = d509c509f91d78c33b9d661e6df1992b2b6ae429\ninfo = bea4f60eff1a0c6ab664ff3db2f774347920a482\nokm = 7d1b8de204154bda72a69644c6635be89fc1859619f101ef215960dd9c776206e9dcb8e5545dec95b2e8\nresult = valid\nsalt = 95ff4b20ade46bada320316dad7e2b4286e93dfa2a72c6366c5ddfe8ce2ff344729ea56416d5b53074c6d6c4eb4e4873980e5e4a4991d6b1497aef822e16e209\nsize = 42\n\n# tcId = 54\n# maximal output size\nikm = a53c9ef28d9df1cf2d27cfc10ee41e6b7d3d8883\ninfo = 721ca065b18af203\nokm = a9aee535bee79891489603a6b874da4c781985a62694256d07701275babbcf55448d189dc1a2c2197b1a9ff695f8ec73a656c1ae1cf3d2febf653206027f7c976d5da9f54b946fae91303f14029b783c76c5c970d688f4dd8478210fcf7525950e1f007e502c0e829f1582bb0c7f0e221dc7463e581599e340b891eb86b77db0bbc420043708d384d6365cd6e06347260b65f629b4b54e83172ff239c39c4a25f5194c5611e560e7c38f5adeb1c4d2078b48f576384866e91867d41b97700a819392f102b0428b2d8b455741d71f4cf165f31095ffbeb4d53bcc787299394a71f48abfbcb2685a324029dc5fd91284fc78b67c241d39db1a75a96ca6e225d98da1fadced84d7f23d6d4bb442037b714867860ca004e3583665c6d7f51559fa38faa5371c0bff7679626f75080b6b36b24f10ef486e24e1ee9e35afa718f67c6b93d75eccce25fb7f3be7e3db767082bcf7ba449447bb6c07460ebb6bfc5bce7d1fc82e3111b44fa8e4838a59ad5458d5b3f70d9891bbb1f74c2b18e72b9861d4d9fe99b13099f6d4978edd6db0aca250f2428a7372405411be7d223568d5db70fefb81b7eee22711c612e3d6514e9340639b454cb52c1969ad56d4303c40863885e6e438060eb20c8de996a91f9bc0879be71ab925e632c0b0e165395db69b34f606bc65637c6648441408ea6fe95a4c13c8f450abf7a3041d853cdebfe61b322d42db087ed7da3175249aec6520e2a079bf39016286995a36d9f11eb348f501132566cde44219e51b2415e04667d06bbc5f7cc0502e8c8ff9b6037654300c64c540d5e4cb78fc20dea518e721a8ed259f26b033617c9dbe239e92377ceef9fa9383b744cbdc044fb8b3d8089c01dd4ba38f147b691fd0cc4e8ef2acbb6f733c73cfdb52dba9b9d8ef80f3e153cf3281f994335e075498b25840a0f51dd4a654cfbab9277e8708b456ddd0e64977bdb5e88067b889883eba0d433b183ff730109dfbdb994a165f61d9d668c27caed764820348210a24e86b77de66b8032a5173d474fee5ac889b5ebdf1bd653d46af427156ed94f36bd1d205bd0c56e9b783420eba82b6926f988055c2f734fc112772137c5fe63f69fa42e3d02a1cfa316ca7458722372de97e6bc4eb9d049358e84511f80ad45e29a862e756275a617e086bbeb299425f879801701dab7c753bff20cdbfe61aad8fc824a3ee3d", + "47cdd0f166a36de7750e121d9a6d74902b8440969485807eee4d4f18a80a7d5d273c2e6eee6c21a031e6c65e25bb791a2b0817ac168920a739e0ae6128ad2ca97bfb6920a748733404b98083b578163791b085832ad4a35c853fe8529e4e4b62df0e8726c035861c6edb6f2eb4170698d2d3da901da1c7f2d85b73c4c12468a8fd0e4122558f866749375d33b6749f41e37bfb49acae681efc67ae3578bbcb086bf9f1833d3a2a9d0e0c042706c41958dd9b5e6f107e28e5bed647d2db94ddfbb75491be54b3f6b315402f0df49587f614d801c90dc6b42803286b5e37fdde549d88bfeeb3fea83522e30e347d38d228a701537a0cc11c9cb32ae1db6e567e8552d9fc97d88598683afbd90ae58c2e786a5285b33d6892af0c4b91f2a34c7a3eed752f89233ea32c9127249d930c274c133232e53fe667732c31104ab8acc0599f3d017e77f34e1e292d05ded1bc5209b7183dbeca21af986957545b2b231115143b23fdff983367d504232765f22e9a9a5c651d66947784f7d408444833089c69871f97b499b1ca127411c4ae2e4e2fa9b52e3215ac9df9c738de19664b2e03315089753c3df5bb20dd84639d8d1b94e523e8d21c6378b7777b7d057de3f4a25f1b8d4cffc5f43d6bb0da79ae6c12ee2d48e652ae168a7eaab602043cc64c5a5a4736b217678b417734d8d55fb33a7f76207ad443686d416f3465c97fc872e8457a9c3e901dc13f6cb7e6c70799df3780023336c6e4309b239cf876ab831ad1fc96ed9c9e311ccad375d9102ab8451902ef3a5b81fbdbe86c441b3b8ebb9002ba679b4005b540a99df75f1965bf3ca20c82e8540723ad96ceac9dda225bc90f9287803a04f52f26053dcaf9f699fe726e714da69ec9d71d78db541904a61435a3dc0e1d00ee4e7598b8d2fc1ee9595e554e943b76228c72475c94e714b9e2e65ca42bd6c27f3a725c9773e8c9b665700de0781a2f1e5e7d3da8cbf002dfe175b5927fea8484ad88123ce76437b9aced1e5a36a8933276eb9839a8cfcd6d1acfadca6f9fa1a507280780059cd8ec3cfb17492f2e38d03f776644d920163ce8418074cb3123ae35ca2326c71bdee6173a3b3d36318924f836c6782a85bc2410ae67139bca7831d815334f022f59e157d5483266c1bb387a1d8e59d37f080532949007de3a53b4a44b67cefe59b9db6326b232bd9850afa4edd3a5236986a3f116e7d5d8a98e6a967993985aa2415201a24655e7567f1a159eec7d2296eac596af5f770077a1d6444f4d7176b201597f33405cb807855f2b8f824c9c5e92078f4b7ba795b1237bd24c7376ad9d2647f6b131ec8120b3efa4b6f254f51d22f8c5da727fe19580404be59b8f3898c66f17ff82ff19b7cf82bf649c0add1144601c8b38bcac2ada242444fd11ae9498eb47f16d77de6ca9cbc861ecf479de373e969d26e5eb2ad39e4090bed1a0affdff31f5bc9f4a8add6f6b2d2e5921fb4ee3e92319246ffaabaf094d92378d5286fce5233029390d224c5be8a3dcc8b1ae880d47725493d90e3def934522f63d80f96f37921cb8397358cc39892767b1155761e3bd68311ab93ec54575b0eb0e3c3c47fd49cd97a2a2ccd76f8bcc316cf2c5d5f877367898fdfd7e88f6301e4b1e1a5d80bdb6e513d134329bb753eb7e982696713eec74602fc1112dd8fdd9f4b129a08b2bd07eefb514b58b043f879aa298b25acc9221d3c366162d15d6389d9443c1d0dd7d8ca217e095ea039ae383716d4c96add3a38f3466f2fae19d2fde3a68806cebfbf8950425cefbd61fcf68400dd26aeffd34da8fa60f51398d9bf1d2d4c24efdf229c8afa346421f9ddff56512fb5707e85b8f43ea9f38c0891592d3ee1a2c9c8700f55a0be7b7bbfdecacd27af04ba8c22424eb027f2a8504b2878f1bcf1e54608a2ee5d8c27d265e9918acc2d2e45baa3c3d5cdc17ed57ff4193ed8d764ed4eb290b24207d36a19c48565eda5a6ac9516f4432594dfca513ca51fdc4b147813706e26857416f94a3ab5258720bf6d9ed59c2a3f3ef6ee561375966fdefa0ecd2f2b82a813e80f8290d5d04f5b20e6092ff3e406afbac8a524e7044bec55f9a685d1aa156e52fd3d77598ba60b4dc478a14a39b41fa027d5f0947bac937ddb169b552b055a83788d66965a4473e4539c65bebf885f09e29051e27dfc76fd466c14726972527a3b798c58f340fa050954c42ee2442af5f9a4a824de31b1b536e775202a2c1f6c4fa093710d8d23382eeea0e8c06704d855280110f70259e2771c5a07326440dc68363ff96223c215735b53c7bb880eaf878d46837f0f58a2c8f34db2563d021c8e005802fa65b746c8d3b2a72d6fa8ce13e22b6cb02a18320687a7aa13aab14e5318dcd13727a1294caa38192e3ea73d2cc4460a0646313a4428be81af3e091c36b2e9dfbf51f391d915489295ef3574cb8aface6f942049cafec4914ded402071a241128e4055528ce7c1a43e5c426c5c1cd4af9974884a0ad55660052fc3d3f2cb85cd5a1d40d6ec4eab3c18d61c2ae6c98949ceb6d07b93086449a8f77e70ca2d55f7a0886c71f3be9e49b7810155e8aba3512b413879d43288adb5d780f5609e2ca5c22ca4cfff3f3482c79ead24b4af0086b605a0e08662673e472fb4b28b8e94f32884dc1c171ff527ef5da7d998eb79ce745d9c5db985d1cfacb34fd1ac16af80425d782f348d94f9ff70d39de1aa38197676137e722ec427033df9e3c5c456c2bf8eb965d628ac3af64725853ccc389def8ea8a7fb5ce19ad4b0fc50b0b32ce6f1dea3bfcfdef7c3032a921958336a7bc356e19e5fe6bb50465fbf14dc38ba037d19df3ad3e3e855ea95ef81cee28899bf162b0d424f38f528e64db4d68986ce0732ec69456f55701b7f5dda90a755858ce0619926b53ef53f9fbce5eadf15794891630394840378a524609811c00e71b5739158ef31d714f3ab7018c0ecc51e99f4264ec98982aeb736337ab3f415213564cdb8077ae104d3e7407d4481f8fae8579528a8fc74c45c36e7b6d54f93d0d39d5b31f1a4c915821a9d7ab8013c1c6f7620ee069bec49608d10a915b2eb556a5562a4f7eeb28cef87030196f98916e2a9f3c8be8893bdb2e5492536090e3ddc6c6553d7555117f49ce54d0c06e2c8ab715bcbe062bfef4a3f7dd9317650f8f7fba3fc03d5c7678b4212867293aef6216a08c60db5dea51b520b15a8c93bfa2d6959f233e04545471942ca2e6516dbb588041f0fe63997c7bfbc6afa990027f1abd62b347261389b9d4811670eb32abcf9fa971b32b5f5a19df16c517de9e6d57e028ee80393a890896ece64639a840fa01446bbbf45e0e5d8b187b85dc4fcc1e818825d4a08d1fb6b397658a5fa592b3587fea96ddca7a520f7130160c35a0cabb1200a0dc7fb2441a3dde721e49e6d2b185cec101aead7f31da0cecb6ff6f2d8a02417bb3f951e88e6e3f10c68f1cb8dc98da1e608148910b55f49b69a6139bdfdc637ab30997e21b8772201f151a09c183fc4803f0defd2dba67080e7ad453c078f027bc7525c7d4571d6e722e3d4547d591d52414409c60d0dba2db1b784c0003ff8d13ed0138a71aefab18e1fb5cdcf1f8f667697e2789c98c2c7cd0e3ebb1f51c6dd37e4c1a1cc06bcec22d4266baeb16e70339c88cbd238504a11369fb53a45fa7f6aaa03ce314a0680c7b7c1833f60940d9305d2b6b7ac85616a7e5ba1472b6e17e1f5775527e4f520f9eec420b70c7261a3344b19aa023e27a202913bf42e87706625f016674d8f79f35a41020ad962e77359c5622bb03266ba1292ebe3837f37c5ee2c5ee92217e14c26412374c1e14e3e4ef40b57dfc3b529e3f29a6e16e7c03ba19ae80dbfc55f856c23111c7b082ffff05658f2176a2786289cb6799bbface2312c58d6b45656dd085b642a09f05ea8b6cc27660bf81b5118778412a88c62a96602610ff89c34bb1a477558b387dd32d352e8a507b27edfbec30a40e5313f262f905b0f5f73e3be0198299b11d13f0e569bacae5e28b7d06c336b6ca4f5c7e973c463bea0cc37129a0e87a17279ce301cb0b0913ea45a04a77c2473c4d2bbc19808f93baf8b392c64a4fbec09e078bd5db416089ba3e60833f53d05a7a96a7c03f913f39b1a3181cf2342eb307965dd01c7e82d65e7840ad297897ed3f1dfbeb17b5c2aedd8db75ef1dfa65aa5c2a321d472d85a455b74e540a1cf09b0a4dd46a6383e0b08604e69aea1b79eed155584118a183a32669a5d550dfa795f4498b98d31391f7bf9aefcf9b32559778f59304f4d6ecebb23654144aaa38f6b6846aa951c437b5e4ed80120d5841f9dc8b5b41926d58059854bf8cbf57d8cbf820bedce68cc88734a40dc7778475fdcfe01e59e260ea866c85d979ef6f7a7a577a75bbdd9cce9b1fd9aa6c2b89a2bb792156f42cb65d784660b762138a7337e87f074878c94cb8f0e7a70d4f19371316aac641d35348fc5ccfc911c5cbdd2983e032df62004f6788940f2e2fd6e7151f9e5563a87312229e8bbadf04e68e2cf4e1b19378db4de335b4c88c87f096dc2937262b63a3644f69241fcfcc14b1e03a066645ec8fb43b33b3b49555d35cb52f6228a213f49b6d0cab46ab3b494153a3c70f100e7491e662107aa8e7b651c68aa5465a24500a700b33480c1a8c02ddfd9965dcff294a7cd4c5873ba32a45592576da3d5ed9636ae5709c6820e4a3ea2a9e950c97e8d171f1528bd19169c470ee7a4df23c33d3f70e9128472442429bd9d4b27c8d73c8161b3cd5d07c3290b3eae3e9a6c14a815413fcf94193535f5a5c0c0023aa6a27e66ddadbdf4661db08a7b7340653fdd8426f784a05b4a365d6ccd38179a285dcaee8e362538270f01c7c40708f0013612a523f41cbbadc9d3c50e5e4eded53396db97a13748cf10e464a81ee5c5f7576f49631dfc6fa951335055ce347e8b7bd75ce9bd00d70ade8dc14d358fd4afbd5184526368add8f9475ef7d9e13df4379efa27b54bc057ea362a08c97b2e8f03458621bdf38c40e9425c45c142d4461023d351c300b3d00c4d17d57df98a60d6dacda38eb46513f786801896ce18add8acfd03973aca374e0571d422d04c306f28b793a99e36211f1670399cc9399c5e5b02b8ed15cfbde1a4e2047c7aa26a01e23e69bf130a57d1911e11169c362f5f3345c381063d28409c8dab60213df67a0bb49d901d3d4441aa0bef3ad2c45d049b89a841e3659e7715537084c466259ed694bdb1ca11c4dfa903b1e1edb6f90fff6c8305f33b923a2b3aa538fef5fef5fe9be69a1dd192f56782c709cad067296807c9c067a7e8404f8e6e4c668a831df88bc44c526672dfb8165087425efbf248730cd1fc4779fddbf51d4c9af348373db1f5b690dcb967394e06cb32245a51241802736dae19362b2d1e37fe30fa7ab79f5330caedcc6c182c09cc44c8982905906106e8114ceb20b41d5c52fd6fb9bd3a3e54e5894e4f2c858f8df3a27e6dd3fd559d3894e530809e1be8ba9f2b5526dd183f9cb3949e0bb14c3fccb471fd1a70751b938326de55e8e6c14e7edf10eb455a2340f48fa63bfaac46f3d3b89b07af2b83b494745b71eaf5e40ea9bcad95a4454c3a6d39fec718b7ba7be5b35078efb8d08877986691ca347c62af92a946b716b8dd076bd7c7161a7c5ae6ccc9929e8ffa11d8f44d3f3b2e45b51a1236779722313f4cf7208d095e3732fa94879eeceb8d7e47e91fd25089c9468f116e15aa764d4607aa77d96147096e46df9e87defe93218dfd5c7498", + "d3dbeb3a004e3776737a8f02cf6c40a538699313e1f70edd510694b5333cc7172c00c16470104618f9a39688a01ea259c600d18051a379614cf4e5844e2e9d4af11c41eb103aa1e839f6226525d92af5e609459a38b3a25dd4e67deff0bafe09b82f99f3d75c523c4ba21221fc642d6fb327a015c6f48ce87dc5d79dc5b650f91e3151a3fe3fe76611d6eaef5c1bd0569133377834facd47f2982c5d4855095308373003fa61d80835cca34002eaa52a4fa7d3b8c34f54ddca79dff197c6fd3cc43e3371bd43fcc37f723d9f41dfec21867df3ecc636199daadbe659214297b8d0babba8e5d00cafc7125aa0cfdcb859e953d238fc2ab6462362dd3097e75ada136c070839c0d0b92c53f09aafc99248fe6198b3334fa1f5f4f06b114037e96c3ee4321177c199a33ddb6cba0739bd2b7f454bc9064158df43191c42ea0d8995e4e94afa21a2c2fa59877f38e0f1184917f0bc87bec9669cb2d9f9a10ba7d99f2ce7a23a8c4c694b4dcd7bb6e28e77f4cb16cbfc86b6cea04380861e7f7388ddd4876055b5f7ba8cce89b92defb8a625040fa252dcf4cf6ba67e8f2c681b4bb5b2000a8e1a49716c0dc69f42ffb27685773119f2e5d57e84f7f8023f8b452a42c285bc920e3a46049e0d7672a5163dd6f72393b238c3d0d3a4992029c71323c3c1ad5e03e942cb148051bdd2d10342da57c6d8f68b99047d43d6200af8878229e4b6afb3396b938ece754e8cc140caba66df1bacb2a505af3e579bb06d43902a8e6b0cada8b52762ad0c795d4d017716bbc7dca79dceeb986a0cf326cbbc9d6a302f34a5831022d461d99303cf7a41bb5175e1cc88e9377a16f205e1d32fce897f167ecde08e593048e1fa2368e4880701332a55b7ee671343ec340f37e5a9b8edc26e789fccdb4f572bf0189d3a887859c5dba8b0490cb591b200a3004442fced4b96bf4717830c027d6f5662fd57d964a18f89d873339a0de6b3ef2617417deb7dd104b7730ddc73eeca6478de7c7084ae5262f1c3a150da9afa79abf9e4de110d49b0a0a727a8675dcb1cbe76feae3cde81d23653b48d07559bc5266584fa067873412f6ffe16c85c9edddcdfddb8fc6998b8a4e0b29127e62cd9ba7dfce390928deb640f86273ae253ff4f6df03c91f80fe25ed2e6de509c3536d41b35abc54cf7ce30287e93acb85395f04073dce0915c02e6731d16ad76527f3fbf3e96006aabd7ee241dbfe38509932560ad98039a4bd56d4d15ed9ee4d36227e13c5305c71b1b878f6b96479cf1166a93894fa6cf01aca4da216ae6f825ade76972a4a593027121bdbc7c2fce2b734bf730b14cf513dd9641cb1d3cfaeb88bec0611c825ca6c60694a854de543db9119fe484cb7bca47ebf03899a185245693ffc282da97ae89d8d00f564fa0ec7988a629ab5264a7fa6c4e17ac3eb3bbd26ca525563d400e9de1219d58c8d4118c637a95efd8350f1cb5cd56c6af87caa7fc2620f34159c455d8e3f2b020c800e78973223c5d9da400bf5efa609f340a1f13742a92d71f6db545c8ef87c2441b99c54b90d19f3fd0dafbd3912b328314e351a9bb7bac449649d3ab0ae090f94f21463b78db4512004d0e2162debd3c95e679fbcaacef0737f8345aa65a76e7d9fbada667abf200c61098000d18144cd026ce517c70908e023b143ad70053aced29fe3cb7d6bc650b96273a4082ebc50e47781681ccddae1567deb7e041c73bd82438775870ecdd9fb06db903c5fd2e768c3b8a8d637ba7040de04045f1e5155bb5aeb887f49f7dcc77c5d3fcfd225c1b30ed7e8bdb52cc5d3c7b43e72c0a3ec9d8381552133813c17c2ccf1d4949fdaa1979ae74bde43c72aee77ca39611a8e2733c64cde1ea0c9eba5b8c34be8d48ca6b5960409b7c09863c39f9db10d07c9f4981ecf1561abebaacfb6b9fde3117d6bc81330649fbee9fed0d231bf3121c48263d32ae4d860d319059b447d047e276c0622cba5aaa9a44e4677db436959256cde98709ad4c72a74f7db88c825464a4f531aa1b0caae6a47d682a137414f996fb3e860383b479978eb99c5e1f082ba3ea4305dffe5a139f3da93048a8f80a92ca598ac27c641a3f82c5d9b4bdc5b8260bc1b90c852bbea66002f0b7812d477f70efa9d7392707b498b84f490cbf3c9e95d6eab34a6b5fe9ec3f13ac8ebcee017622f967e04c2accd564b87b0ec366cceb8aba4561711bc6ac63a3b409cc85b993f67c96b346aa9bc6957c3dd12f3e427ff769a702b5098f3d61c2185d9a7a656646f4f534e68670322fd6a28a0abdc4590dc1c76b9630ed769521902a44677216efdc7ceb099aa7aa68f87e215090a74aa9c376bc5ee4abb45c80d6b8176fa02618a1df6124d4b1ece04bd93c252ee8cb53a4a5caf4068f0695ecd4dfaea8ebe801d54268f7512354142be80a3ec53337b25191ecfd60b6c30c7a5624f1d8cc0475b3ed016ddd31c5f6b25bb4b837a7a35498edbda00edb10ea98079328276808511972e05aec774f5f6ccfd408d232d4622900c85032e5744492c101c5587e16fffb9149eeb996ddc27238dde497de6ccb4848462e444bf8ff5ed13b09e4c2dc11a183473bc53d10d06d69fc8f2211ec31e280361174315f4947b9a92511f36b915d96f65bb03ec93c634eeeb11d100e10a547d4fc3a182b81e489a2694b55b01bc7e88afbfe4dafe6d6f5f6bd5003926e9fbfb03052b431a1b5bef08335a7ef88593aafbd47afee929022fd4af8ae196de9ad520be9bc1437fa40e7bcabc3e70797f7f8ff0c85d2fa66f6102bb33a7cb0f44a3b64eee1bbcd2b6b1aff83d86f313ea8d96a8cfa066722f7cb0f97d7baf3b0b4e6653a351dcd52b1f2bee1e8d3185466dfac516a39f03cdfdc8cfec3ca0082d94f0052c4213e53eb71574edea8c09a08a396838707ee24825f70564d458493c463360462add277f2de81223b992fac5fef4e6eac66f28a35d0c72a1f5274924c691382b47b1fe6a406eb7902ff435f7f5508d1a92009ff7de03f48da3f4b64166c87759a084e6770a7fa687a1d8ae463401617547e91f44943b0e154a71e176b7838c26d02612cdf9118705dbc2d866d7116f0d9b538919b072441d5f7dc1f4f812ad74ff614d165d9aa2efc7670e1fefef6fe595625eb78f5288d5e5759ad0e76e2fe3f97cb73fe0984368d8dd04c283e3cdb0370116315639e154e445e23b09885af5974c0b80e8983e0bb863b78024db0097779f3ecae9ac1939d48fdbfa193066b6150eef83ad97d96b4a9b67c0701081e91178d58d788eb40aa0d24f8fce6bc11aacece595ef8e54377c813f3045302f3e2ab15005f2198a6f17e2c9ac94e7a3ce4b259d63d87a739aabe59c21d957e05494a1bc057e1408997284bacd404d9697c51ba0e74db22b7d8c86cc609ab6dbcaa988cb190659fd58de12bce56c86ff8a27b3fe03a6be5a83929995c9b5375b558895f0d3cf31ff8fce0657fac1f6c302d84b989d2906855fa4f5a254df91d9ef1077ba2b43d9624065e366a9c76da53aba404fbcc2601e5edcddfe72fb9276f35efacba90bc112fa4cf1a3d3f4135a21c44cc9d91ed2f81e77c7f78805ca52a659f61d28cf3fb27b9757486a9a79b90674d03eda7f107e5dfacae41c50fd6157ca108cd8f07d9408005cb6b939851457882e13f165e602c04ad3d01c82df0cd69a2a47225af034a5546e2f8dd1618539059fb17e458f663f637c657ba6e5eb095b88906ad5b9c7a350d24b004399b835cee54a5ca5dfb01e34b5009353e505a726f54853c6ab66a7d111e320f743a6ebf1801921471de6c651521080e2d7e0034e457842617131a2796027462424872ee70ed403f0028ef21fd5cb7ced0d6a7cef7b2ca1782dc57c188484605f2f2b1322f1be653d9af4d4800a1c2119a28cbad19efd23ce61180d3159e42a31ca41cc1e4884d189d2f9de3de876fcac358a9df84ee3a459cacf4a5a3d4a4a2a06d03b5af48e3a0f9b15b63ef3d96158496cf3c8014bd56251e0f01f44efad82e24a31d10fd060f837f4979768178af004fea3826c98fd73891264bcda5bb5fdb2c24f315489fc2732480e7ae0d55f91c51bc005ba9e315ddde962318d95b3bb5c04b02f0d47dc94010dcc6707ab55afb81d3847d036dc561b7e0e1ac897df028f06f622008fef07ae655e0c9fdbf9af10728df7646d249d01c459002471495c657a2c2f0eef09666efb0e38af035b1703d4a865f85bc6d7d20fc4b5f4a7db655913dc65a694b31ec5b90f831b43fb328a2de2dfe0fcbb075bfe32187294085a1c0d776c91949611fe8466d35b1c42c91d303d3231920940267b54fd5fac1485b706abbfd48b9935fcd0c90dac9708515db00237f0cc0b275c050e83665edd68fd738fa8b787522975426c3eaa489b2f5beea9095eee6013695b15ee7be09955ea139a8d039f62edcf4d6e9ad541a1535ec2073b4aaf3b1ffcbb08d359de2134fc1ddf230f04eee3c744ba64848ebd07ac5daefc794350bcbe776874dd8f3c6cc04e7f65bdc2a416273adc5fbe0b3a79b85a89aa492c1430af46f4d4045d7e32fe36c804ff8479d75ab5b310efb19917ed350b74b5d70eda057761187cb8115d5f0132cc3600bcd14d724ca450b065c0d96686d0b10fd10b1df17c722f109f17580f9da1dfa32885fec8e289af30869bf8b9a898c44a69287b72a473eaecaaba1cca8a7320d51021b60ff69335035439da30ab05e04f16cf6c5a079ad6f65019ffd600cf257acc855fdcdab66975bc7bac081732e32b0c11093e6da0865776c10ba342fdd88afa589362c256983ec946b5587122dd6c0e61f35b9160d0c6afa2097ef1dee6b27e43fcec7ad37b0bef4a584a5c316334058f5d4fe8a8b81d53f0582b7b8731eddad8913aa6e0b981d3f577e6fb03400c60762ac674cbbf7926c61312bd00ee3ef2130d27c1af7346efa32e76c1e3172f4a7cc23598653b459ee35a776c93a8c7d3e24758a5542684bcd4b5cf7e482b0573f61768640d592e21484fa82a410ce80ac429378a31c47eda90061d7ccb03c033141c684c86b5987d8f080eef9b0fc4708e10e8dad034e2909da14739b7c32a2549da0d53bfeb5400221932c40577430556f5610589c7f5d10ba991d58eaf2b37a9b6a2ea15928f20604b2d7b17d2ffbf8cb94001c544a9b0f9aaa342199d9e7c0cdfe3a44833829560d875d2f4d69f34bf621ef254cf6c459a3019f1a0a40f7800a6a337faac1de80e3243106743153cde5be027a8d2f12849a905f54ccbe28e652ed63cc02de3a7d75b3554c29a211c6e292655f1c55a60531df2fbb6e362480a2df07b651c04f70862f97776fe3272584c607dde78aa9f09c7e890afc42425af88c4ea5f9feb9bf32e7ce38c73b8a1bcee7e64ec723404b15b53579665762650e3d4d6efc32132fe4ea4d633929cfbb5313ff680921392bc7a04262cdeeee18c41fc779e1dc734d51170f8d2b26a91a2cdf82667dd33092ce72d5ac6b76158f52c7f5cd3cfec7e6fea996df01bfe415d0c5f36431db3c9a391affe75428947080d2a0bb78b333b99f339a6c9c939f4483b3a850cce5afe4b864ccc6b9432971837bbeeaa62fa58f9d41ad7814bdda840b4ead959cc0080b27baa65716c32c3c3a5d7bb28747f03db5ab3eee4b28da3ed88a838d027292b139f9b8333716834df2f54cd6de14245ac89ffd806e3dec2e7a439b77e4f97f65cad10ed00f714538b9e68cf14ea50125189434c9a5bce8470276d3472423275ec84f2d504b8cee5d866ab020bb8bf94122", + "8da462bc582c6f2f59355277a455b7ad787a92f9a0b128f7cc866074cbd97df643d132a63dad4fce01f16ae749738c5c79a7bded51a58be37bea7fd6d5777c652eb25f707c22075ec6ee8583f1c8f3bb803c179392f353d851bb178bd2eac4f0535cccf2fccac71ac1ee05a7cdfb20ca436e3416bf231da2e83f545d2640c8e0411877a94bc92c74bb6bb6c5a795ce36141ccd009d6bafad274e82c202349be98625837427e1ef8de6f6e960b08dec7d9a6c26753bfc326a4b4be053729ba975bbf1599059e5f156489482c840beeaf7bf6361677b19f07282ec3e6c360e2518b66dfaf61010a96360a32d41f3a8a23036340b9f5452dd9475593e768fda4b8943a154e3e89e9f0a948817481ae98973e78e6b2edb6dca17d473b6f02b1fb14dee387c90aaa4648b8b0ed41d39a243dfcb1a5fc490284d8d8f2a07d921cb67f1fcc59adfe3297c5e27b6839169911e916c2a0ddd3b9cf619f47835e1db310d2cbb83ee61bfb0f327bfc31ed7796530ecd876a1110e846701d062c4cd9078f33b509d7f7d8096a1d54f13482d18436c4ec0e0c88054bfc58a8ca25e0af80937724acc399959ad92af128c66bd73d81c536e71dc1288a5cbeeaf46d576c012ec993c96c5f9c47708b3f93cafa205e59582e96c798c3ae4f8c67fbadeab10f7b16cc0af8b7f6b7f7f792244e4a322df484c4b84019d32928ce074c50eed31befea4709d16cf5c844657161044018a1fc1ef1897156c23b129ea3513ff0cbea0a9a4187673d3ce4c9e05224747bb66ef21c57c9a23d5cf9a1974fb9076d70340e75b838e44996ea6632d90a71e59a9137f4a97aafacab3b4ad1aa99260efa682858c31965c2386f28e53d19edee0051817d3450cbf45bb6f118c2d0c310e8c3dbad2564f88fe5a58edee9f9dd1795165bea5a7b92a0005f0efad3d740d8fa0714ead750fd5e0366246bd64f0af25466daa59eb5e4b4431566f7ad2dfbcaf243600e656f6dec7af5cfd72eaaf09e8621c778694e8a3e939998e918e9d8c3b8dcaecaf9d1bc363f8fe8151b169e0291d58a1413b3c3a4c64709392e67a6e1cb5728f34ca3e743cfa543fc6123067354ee00ad7853b4eeee59986141975cc9499fb47ac9edc6f39d2eda20e777501c2ff04a493c8f3036df977cd36fbc947c5cf1a5ae7cfb69b1df57ee3a557a5f6e6b6367a335221f34771f8ece137d9155e73a77cdddf1cd0f5c3055a12424b95c6948fc9c4f88e244e4dce40b5ed38f9ac1e7807c8a923e4b44f8ba00e8f06cc0062dda7bb2ef4a798c5d1a8620f8a6bbaed52a68d41902f094cfba1f33d080b2b6dab0323714beefe1fc10568baff471f25b9ea51d84776ce3d9781df36c696cf40d7223487917aafbee15475c100ea27cc678484f9edc9a9ab2c7149e2b38f8f329159a0d98ff492b412a287de6637891efe758c4f37249953dae1eb26643ebf69dee48413858ad596498a38daf6436a1e59c8cac1ac7c94a864382bc834d44ab3787c4571623311ed3c1e66306a280e1fc6bbab8ba56f4c79a15a83eadde199cfa8f80555c97ada73b471b36a21b346fef8c21c44c91b7a7e7085737afbc82da220484ae0804d94f71d33953f4baf07d61fb95676e88c9f8a5cd20f663d0519309daef40ccc45344ec0bf26ec5512bbdc521de3577dfafe01cde71a3002c820ead34386ef1a23bd2f6e3f125c136d4a29bfa8181a59c345412f0f9d2d004edd0a2e6e9b89a113375cde50eafcf2b5b241c0cefddd4e630b6be2d22a93363bdaf0557c06aed611527b23900db763cc1353c33e126c3eda717769b51628bfcb2813308af89c6a3c4445ec0365082e6ce7cca216cfd3fdc29ae96d13c66b7bd5c621b90b3375c19ffe9e2cae18d15bae52007e8ba135bcadd39cea9978f1f49783182f13ecb57f1a77f79b3b0038086ebd9e96d8ae7288414f4725dfe5aa15997ad26941aaa1bfbe1ab9e6660284452bbbc0c8849a1f0bac574d3331d8033178a7461bcebaab54d3e6156a5aef5730dc958cd998a75e1a412d93925048990dadbe22388f6b85c6b4259185e8ed1cf878fe5334c80205750e47932c425c84370cb0bc7933e29e3af5c6724ada3a1a6495fe8acce634ced98f098e7e4bc39598ca744435f09d2652b858ea36f62bc1ddc97cbadb16315767e06b8d0ffb2aceadf2575a0a84eccdd3f7e2bf2baf1c80f8cf69acbd5b71e00e6057ffb43d87d7d244aa30052b379bced1afcba38325454d604aff82ec0e42e3e69deaaabc12718e2e4df13fcaaf855ffe1e2d82e7060062c20f99e94b1e3ba42afd0c7659ed5d0064f61c958329a8fe90eb17a176b5d3d7d559f785602d3401b0ce06b6ede8e58b88db4ecac13df6eb4d16c2f3f83e349c9ca2f66e1f0fc1b37989f722589075421fba332502657575a47aa435b2e93fa0060f38e788fae795e1b62f49260240015b1c12fe019b32be2f361568550c9083a73e4b99979a8fb734bde74248827cb5f3f8204da3afac1107154833b76fbb7e7c84fd690043741e55401149fee035a8d7e59d399e68c19a2ad9888006c11cfc591cc570a78240f2d5c39e0179a37ab53ea97b1f477d757c1af797e3801743202113323778caf219bb548d18293c5f68742ddf0e74a972e09758d475726064d23f75964a23c0bf405ced42b02047c035d2ad245285debc86810feac7bdbd9a055d9ed1e7abe5ef4c806b6ce00bf647e9370c350c60a988da268a9c70b9f41773cab5f6dfa5e11afda54b2318116afebccc0e2c54077d527bf005c2498b083d9b95bf6c665f7a0abf1f62549ecc08c0581bc8dd7b15d2f360a5d795d42bd3899be206192e488692332fbcd065257c11b1467919e768a90af32b18217c3352e2b2858e20f320899430e4fa704240c076224573640a3ac050dbbdc49a70a537ae8185c1b7a070a3b7812a0d3c21d6ae1a94b165f533a630a24660b8b2ac5111e1ba4337d2141be6793d9e104c4c670e22cfa4413d7d5302a6302ddacb7f38caae3794085ab725ca95f671d96160828cff5760fdbb83eba9aba400799df8da00541f5f5189ae0c75b1d5f59db4eff219a57b96a264fdb8ee1764e52da1096b1cda085d72c780615e11f2f04e974980c4c34b80e0de667858d903a626b2b04dd7038acc5ac96f7dc890e43d9774821bbe9d84e5b6275d0fd8f6e532f4894ca4e11888f3bb3223f72198d547c56b70f77f8346f2d2c487c02b19dfb6eb315e30087afe4f5a38589a147b5ba49d59fc17595180fe75607aa1e0a421f1ced70cb73b5f818a0b91927c14befa25a1c4523bc249cd676bbc6f9b46d99baf597783e9d04d18215bdc461ae21a452deba22f1b5ba8f0fe4b3dda043d04de5fc6279906c2ef8d899b05b1deecabe0225a734348e75d6178b3da30dd2c1b1805499365a1068785f75c32de8f59a0326a90e7bdda944b8c4e338583100bcc50cc6d1bfacc9f3d243b698f0d5df7b1a6084333bf61048c0dea3acfd17ab620da603fb420701b9e67118b2b267b53459f5f295b93722333a7c42047c5289bf7e20b2a4389e9248030c72f18e5b2508f4403ed3d1b87204aea8bdce0b463bcea963b66e93a1cf48d630b177efa26531bea9bd1b37f044cc4a02ee8f06de2787d48c1840a6c43de850b4b9f562ab583d9469d63f601bacaec5a32521c5ee92bf35b58995a19584690dad9cb87c5f2625279b5a50f78ec7bba87fec6e1e765ea61c3662b42b13d4e68c1c048847e572041dc865d1567bd9b542e51c1b2af312923ba560f535ff24c3ccc75e334147e608573d0133de25ad7c670ba076f3cde5515572369cc972ef1969c74bd0e5308169bbe5b102367a021b70caf9814b8f2bfe67c6139b82053e1e52ff510447cae98ce3c2f5620a56829024398d4c23d6178551c258004626bdfabdc1d317fa212f44094f53b8a5b47a182f0fd25c443c296a14d5e3b0ac88f3b7686aba71dc3ec8f21231ed172a64fc3aad92e62f76d418f4e5b7aa64eb6018092bf50cfa921758316d91840cf5bae812d826bf6771f2c50b74b6bf9ce86a006282dfa21f9984121573004c58490a5c71c63c10b7ee0193510bef70e76e53cb23f4a0db49c8bf87f330532a344a075f78f2396402537f94bb49c425c13057a55214deeaedceea33819b52c1ac5f275f20b3a93f0f519e792bcc7f9e8152cea0d3924ea411fbd6fa55e451ab4d2da6c7e74a6c5ee26fb550e4214955595269aa0801124201ee2ae99243d53c46038f1a2e9eb109dca40f1784dfa0e976bb61580fe941930721f204f669e344bf88f9284f211d50a2ec61553fc28416d9897c394a05c6489969a4b730b76b908f283f39e5248d3df134d7880250a0050bf26bd85b0ace5d2507627de9819f9225de9039e80221826b207fc00dc9c1b77dfcaea8c5076cf30620761e1eed6761e909050d982455c7f0de450ead290a0223a07b6c60bbce5b90fe2d6a75a6f824d7835b7ca5d73342abd3760bcc6f6bfb037736a201dd285828206cd21e19fa5b583512a6657d9670f4b80e613576306c6df7ac13e99dccf4751405947d2f14b2c4debc1eef724768ba3f3aceec9bcb788f00ea92f1ba5df90182690233b0c4d0a5b09670f01aa6cfd82919f40fdcacd80c5554c1b46468443bfcaa75c52f894866361cd479e3b97d60ff0c092faefc7d7c0e9a3e5282feeb6ecfdc8e498f2aab85a71a12443eed58617613d0043c0cc360bc978c811f74e28ba54d545c0748eba66a6a8a5abcd2cca3b2e3c7e6c842727030aec2e591c0de61bde8201fd43e6df31af74e46ec35c0a1a56420920ae4d4687a8127f83a5ca97c6d21ebd0c8febf60e715670a4ed5d1987d1404d711ef8fe42e1047cae8d523900167e2a8d73d2bbda48d470f874f171482dd3068761da65f7dd9519951807acf5c49b4548427085bf6883126566e820eb7ab6e211c48d1e43c1c1743a7282082e7f922951fde1a98dd2069882bb634dcee32e79cd78835bcc57b263c74d5bd90137dd344bbc6523d5dd89c0c2314839c4f6e24c325a0e544c4c21b786fcb44bff61b2792c58fc1bc034118e93bfe91582a6c66f8c4c8be0d9184b7858554fd66bb6af3e21c0c5410bcad7fc5a7d60269a226259960bb6632b00d0f85531eac457f4f4d9d2694b55cdbd34de186d61827c4b8adb5fd2cc388b939aec81ee1b616aff79f4327a056873ac7a51e05b85cbaa1524b619a4dda3636e927063560a5ef85c0d37b419a4cdf7c0e4d58ee87d7a5209ca9d2b519785a9d7ac81944d1757597dece91b788c1723cd4d8453c251a016466fdaf27258339d2b7b891f875f92248e3809fce2a8bd8561cf87070318c742bbcd04143fb52fff2430c2ee369cc6b3d3cd7ac08a6c7023238feed49f956db734da42058c93c65e3d5c09093c9aba2b07bcd85e70b316109d27489ffe4381746468b4810da570d731a7ef47b67de81f4a0277e80af586bbe0201ba24d799d424cf3592119ce3fff2ca1823cb9244288c7de860c9029bb44b65fb9ac388908a19350c3b470bc699377f2e764e3afa239498aa6c87e292f202ede3f98dcbe74806136bc623c2e96f24c7fdb54f1a7f1f63189af9e9bc67184c889183722769d3dfd4cb0b7e321d745d51f77f855a38e9f7ea6371a0c8b6a80c03cce921be0814c144c2425e344ffb45b5a8eac144e3b6e6c5e638079305b7012029b01929a7e79f6edc02b936f844a86c65ac5cb7b334bf3174e11b2ea0d7896e4afb03e8cafd620c44df5111b9063437d326c14c7223b276f56", + "8642d04c387452f77dc4c1fa5c82dc1a8f538c6082541a4c00736cf1b6406ffe2ee1ab29e4caf3737b9da7b615cbc4232ab7421134a1e36574e1fcfcb649334562fe81b006f30d4e7f73741a1a9990a41a69b63c951751353dc02984492a44c1f23074634769f39e13d1f0a9824c7f7cfb4fe5c8cc05d811c45548e92fd4872493f8d5fa2ff39a01a332b75b467137f9a3606bf66b294fc8ab5e0cc8281d2fc36c60804f520b8a644294e5d8d80bc1c2968c4a03808539d7bd10094f61d9dbd7219d465e3c2878b28fc14d0a44714dedfe0eb2fd252dfd36bd79827a31a168e2d5d252c4cd2eef4fea8a37b8d7605345a54499dbe0b6a246dbe90367a84764f78dfc0857ebf78d0b559437938b42e0b6de2257818291e4321cf6074fdffee9604b46fe768a0175eab2983cd7feecfa521c5bcbd7b164351757422972a79319c60824c50fd8e52af845c2adfd17bbf758263732fbd7542f44e07c7e8936ed8c9d6bf75a7db7b0d24bb1d367fbc10de3f1f226b6aaaf803c3cd44ffd11475c949ff5d7db75aa0f511e2b1c947c4c893e554d96d9ea53877c80f703a8ad86e6e1c3aba41cd11ee291570b9e0c3c3e0221394c0c0b98e7c8bfc3e1a51b05c6331944be499d6823cd43493d6682ac585f302fc435c8ceaf2646414501a51b152da5bdbb917342764d4298f4c9cfb3ac900eba0224cd8abfecd5b732a26fc38ee45ab997f6f3b0587cc88411401c1d3e8ae068bfda326abefdfc338f9bde30429d4b15a06a0070348bfd39418bc52a30924a454784e7ea47b697603aa19bc5e08e123e8fa814c863016bc178a315c6d1b67ea73b7162684234d4d4636f306f1d1d1c0dcfa72e48380e54fc33d60121a5da9b67811db7d9c59206a6ecebb1b942a397eb5754a434d14ffc0dabbd9d97372be24ec26399aca48396dcfc439d47e33bdfdccda38439a0431b9ec0c3b2dff46f27b2b0e474bcbd81a71ad5d8a52ba47339ceded7c11064b8add5010d4a7c582bbf7b25f03f540f0ab1b70a915cc9d23562ccc4ccc6f7539fd0d08cf5339b8647a916d6d5efdbc259b6fea87f196e0e62f73add4bdb6e203b502553efddfe0e60fdf6f118ba5f2930a2ce52a5a30f7036857dfd4a5761fa90b753d5ccc623020b39c593b874f646e9dcc2dd0d9c26d6a66fd85d81c57776e49542a5b5ed032c270c2b35e22aa779e63aecbb16d0c2ee09ebe8cb0fa6b74cabf7b645a18058273bac5399af8d0147590abd7b00b5d94f95a0a2c199d5f4c983ce5aad47bf35c515b4e30f5303afd4d01ebdf11ca42682442a575b4ceda683fda64c6802e08748f1ff32bc58138d8a7269d1fbfc0a5170d0020171c9b69960d697a8a4a2f065263e50ba2950bd1ed3dfbb4cbc3290f164a9ea6d10062fb0cb7bd25a0c20d979b3b0dea069e416e5ab7c95df48db5d560e798e2dab0f4e3695685029968777b1659bddc1fb14343060ef8cef7c1325f47c21d2b8e93986e2886e6fdb1de347b516eb724cc84fd9ba94a17bb2c23bacd7b68e74162259a29d126a737a7e0d26372ed28a4a40b7c8e02d75c15cf52fa0cc9bb78f025a7e3413524890250ee922cccebbae13ad53ca87e9e5a60720f069131172ad7cc0d27089cf9d828b113ee15773e8f22bacb66377dc4dc1aee2f199db2924cbb6bc9b38f2e3a42cf358115fa93d59bfc0ce7e42bbc4d988e94c9b68cc621e6950965b6f5cfd6e865ff379c187e8b2a7a6d975ae756da6b39b65643260b1f942df18de38c5bb99d953c2b8ca43f9a9c1cc11e02304a79705c0e28cb37957fa9ef6f4d18050be0f197380f0581f3204382d92878ad3d68a93ff12e672067383a67c32a8c8d18147482aed0a77a0ec7e15c8fe934a8effea9baff792989fb8c4f08bea66283f42129a61ce5c21f4165516f8e08ee45f7bdfeaa925ed7abfe997f530884359dc7abb701be4ea69436ba35ba794593580081af6b0d2ec6f0811be138ef599345a34506c828ccad8df085b0c86797b9058e45ffd88833904ff8ecdc79357a38e77025abe5efdb9e8d0bfc1883439afea184370817e57f08292b95077c54cf4f947c7ef72a245eef232b911a5307ec30de5e8569a7d1009259ac540e38ff08ca4ab2d3812dd9c5058686ab41036c4b0718a2f73ca0a114868684db94ad71362a36f62aa01885f7cc93b0c9dfdcfa22c64a5be52c94315e9613e75122a212465dc5214903e138f92c68fe36f875eb575601739635af2781f4d35eacb39f4f392c96a5c03e4a58e9323e6d6ddd557d786a4f0522fd1697f0692dbdf98b60352889ab73cf1e4852a115c300c6e7853caa33950d51b4f91800fb6af78d1fbfd1d7d04b6fdea8ed13e64088e4e53ad5205c7e2ba53709fd8158e2d79f969789bd6ff03b582c19bdf4a8d49e4d7ee051407de1d28b5969e0ac82c1bcfad655cde6ab0813f4bb9d5965f1673abaced12de8916cf239ae42f38e71438612785cfec947b28a3468b53698e7c9dcce456c0910bb97bb4521f6d03a17209d93a70a53596e5b25ce66edc7099b350fe20dc44dbf45865c7d81f62528eb51ffc67bc683d4977a36b091ff4ca086e04737b7d0a9dc28b21e2a6af7a3cbc8095ca0cddc66217b849ce3abfe6abc78d7be7e7013bbe46de6c93db8bac55a3c831f4857cd18630567defd154c30c7c8b88a731cb19769f1e16c9a41ecfd0ff5b51ab31e4732e99ef11527f4320b3b645f68f03cf694d6711c317860a862047e2ea9d00af95a0cca74e42dfad90eb45ed1617a89e94634e49c82faf6dcdfab6115b7ae22cab27d441afec80f6abaffe7f38e3b421a265ef86c8c2b3cf2005f490bb0930837f325edff037f496637778052d5f552b500ce032f8f0db4129ae7f29997739d63e0ca0f572ef2db8cbcbc943738cbbcf482089fbcf5b0c86a1f454e7042429efc6d17c6765ba9205beeb2ce9bcd3dd77d99c6de84b0219ce18a86dd159b321d30eaec9df24f6d7c3ea2e65ec07cc06ee4304ee5663c20b89e0841f4339e365e3bc233de84f2b88fdc7dec0b823c7be39ee348727232a88ca59c5b30eaf92da2329735ab5b591cc78cf78abda50e74734b0ce3cc817f71f0a8216e3fe1ca703b0518b9067abbe0e7a23c3e27c9a2b930d7670f087dd0f30638ccee3888c9abe7579894f5a4cec8c946ac82e45b094fbed19e5ab168e83eb4290bc48170741fb51e4f563f2fd8a22c3936282accce138a50a3faea0fb615e55727fd044fe3dc289fe9d1b9d7f09601b186b3599623e174cf42ab31301d50211555bd7b5e5e42231ff07b85e15510d712ca2b4c1be895646b0b80b5ffcb23bfb1daeff039d1afcfb7f8d952a3681cc79adea50b163497004767174aab6cfd6e708e7377fe19bbf08e1b271a4098d8cc33117b90b0225642fc92a5b4d9824d9fc3d3ea59465a8374b9dda581862e38d5a3aad3fcd8c10cd48cbab611db5a73a09cd05128717d3c45cabf3ef02e9e55b1560a0b7fcf776d7fecc0631e5671f826599616b7e09f36b73b71d8e8847e7b1a9804f8d70cd802962b8e89de6ac2ffc1de04f3f78819675467ffecb47de3097ccd13c27165646705c53670b99b1a70a835a0fb9a5f7930b91aa9a4e3fa17b9bca709c43cbdb832fde1e4c99be3cc0b9670395aa9c2b6b40b85485717db8332fe95985d7b187a077484a31706a7852a58ae7b7251558086229f68b1243ebeab305a7ea90e97e321aea9ceada4a41d6c6af4025f7f299a6e30c40c77c4e65802c1333ac884ac36a93c2c1d72cbb10ada425eb33553397dbc950ee5dc3e47ad98b5a2def7636261cb3fc356c4382aa0268673ccd11d101a82a61d6131718c1f33979003eec1cb9719cf2419080b9b4df32a55591fb0efca027ac0a04cfa9cf8dd1f2cef4cd5406e0c45aa4e40f86c9c609830536092ab77d9f1f3fbda3e7b209fea4c7570e407b179448e665aebf3a8ff6445f6ccc58f05af5d6dd1cbe596094bf8aea65b3ef04f36ae292136d341a5e72a1b4f0e0e278ef4f811873c8ee5ce54959dbf91d9b171d612d152d44c78fb346c4d6b461fae12a66b8db6aeaa3f9193b4fc0d696a9323828c10e48329c8fbec315bd03f7665bed23f63457954648566bae2d67c15e2e659d068c93a1f6ac7712502a5fb861895ecea6c02d4c7abea9be8000276a4786772961057ff5e03b985fd63a651aa9814c033aa25b329c9493b8e20fac9b254dd59adda1fae29b53b1226bf799b326359e3a5f315c0338b59f3120a284815f11bd72de4eeea3830a5602910ff54d056f8b247e2c1ca6d242b6ddde6c345bab1a20aebe7102f12b5efe2fd0b85f20581fc842213338b332267ba188549c21c6fb96ab734c761b57f2fef5b8ad48db8a450cc07922f8f6eca2a374186ed84422422ff47d85c216d218681a730108af8d96ee6efd8c451aaacbbae99a075fd3a501b4d903ffa120460bf8ee66cdc3c44485230aea38a8239467a185\nresult = valid\nsalt = c521bf7ffc3146dc02c9297fdcd45af84441390af658105cc99622d593b68d774e61006e6cc02dcfff483d3aff0f36ec184585f35ddfd46ad8b116205b909b81\nsize = 16320\n\n# tcId = 55\n# invalid output size\nikm = dc46034cfb2df51863a09d3c36774403267ff968\ninfo = 5c038dce10e6d437\nokm = \nresult = invalid\nsalt = dedfa9e98cf384cc448927bea53574c05c1132f2a07b531b366b15e12dd7c9f69ad1eca26581562f53cb3b4db07b9196664bcfd2b9cd1616a9dfe471af24b55a\nsize = 16321\nflags = SizeTooLarge\n\n# tcId = 56\n# output collision for different salts\nikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501\ninfo = 5447e595250d02165aae3e61fa90313e25509a7b\nokm = 30850cf9dca6893d4f864047e6545a3331f221dd49d7e1d2e3042d5af1fbc2c1\nresult = valid\nsalt = \nsize = 32\nflags = EmptySalt\n\n# tcId = 57\n# output collision for different salts\nikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501\ninfo = 5447e595250d02165aae3e61fa90313e25509a7b\nokm = 30850cf9dca6893d4f864047e6545a3331f221dd49d7e1d2e3042d5af1fbc2c1\nresult = valid\nsalt = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 58\n# a salt longer than the block size of the hash is equivalent to the hash of the\n# salt\nikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501\ninfo = 5447e595250d02165aae3e61fa90313e25509a7b\nokm = 8b4fe5702f56eeb71bf7d90e87c95c3ad054e448d50dca0f65b78101f657dfe3\nresult = valid\nsalt = 1a08959149f4b073bcd902c9bc4ed0324c21c95590773afc77037d610b9584806aeeeda8b5d588d0cd79e7c12211b8e394067516ce12946d61111a52042b539353\nsize = 32\n\n# tcId = 59\n# a salt longer than the block size of the hash is equivalent to the hash of the\n# salt\nikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501\ninfo = 5447e595250d02165aae3e61fa90313e25509a7b\nokm = d5b8c21cf1fb6da39d7cb2394fb7a2c263d8d508d008b8e5fec3030340cc5664\nresult = valid\nsalt = 96b8543f45cdf8", + "cdf0d8648cbe854e20e21c554c33e6a27be0e5d5caf1f70e26b14a9df8e1c45649bb96e510d095b249d11b526d094f6e900a17056271f12fc6\nsize = 32\n\n# tcId = 60\n# a salt shorter than the block size is padded with zeros.\nikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501\ninfo = 5447e595250d02165aae3e61fa90313e25509a7b\nokm = 9cb385bb5126c9220bb9870eac3c6b74962b0ab2b76c0f9be6627a7163facb1b\nresult = valid\nsalt = af856d5eed5c77f4\nsize = 32\n\n# tcId = 61\n# a salt shorter than the block size is padded with zeros.\nikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501\ninfo = 5447e595250d02165aae3e61fa90313e25509a7b\nokm = 9cb385bb5126c9220bb9870eac3c6b74962b0ab2b76c0f9be6627a7163facb1b\nresult = valid\nsalt = af856d5eed5c77f40000000000000000\nsize = 32\n\n# tcId = 62\n# a salt shorter than the block size is padded with zeros.\nikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501\ninfo = 5447e595250d02165aae3e61fa90313e25509a7b\nokm = 9cb385bb5126c9220bb9870eac3c6b74962b0ab2b76c0f9be6627a7163facb1b\nresult = valid\nsalt = af856d5eed5c77f400000000000000000000000000000000\nsize = 32\n\n# tcId = 63\n# a salt shorter than the block size is padded with zeros.\nikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501\ninfo = 5447e595250d02165aae3e61fa90313e25509a7b\nokm = 9cb385bb5126c9220bb9870eac3c6b74962b0ab2b76c0f9be6627a7163facb1b\nresult = valid\nsalt = af856d5eed5c77f4000000000000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 64\n# a salt shorter than the block size is padded with zeros.\nikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501\ninfo = 5447e595250d02165aae3e61fa90313e25509a7b\nokm = 9cb385bb5126c9220bb9870eac3c6b74962b0ab2b76c0f9be6627a7163facb1b\nresult = valid\nsalt = af856d5eed5c77f40000000000000000000000000000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 65\n# a salt shorter than the block size is padded with zeros.\nikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501\ninfo = 5447e595250d02165aae3e61fa90313e25509a7b\nokm = 9cb385bb5126c9220bb9870eac3c6b74962b0ab2b76c0f9be6627a7163facb1b\nresult = valid\nsalt = af856d5eed5c77f400000000000000000000000000000000000000000000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 66\n# a salt shorter than the block size is padded with zeros.\nikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501\ninfo = 5447e595250d02165aae3e61fa90313e25509a7b\nokm = 9cb385bb5126c9220bb9870eac3c6b74962b0ab2b76c0f9be6627a7163facb1b\nresult = valid\nsalt = af856d5eed5c77f4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nsize = 32\n\n[keySize = 256]\n\n# tcId = 67\nikm = b18e35e63cc4fe4117bf2754ec3f9ebb5346dbb0bf6d4e5f2422418771816fc4\ninfo = \nokm = 6cb29020bbbd80a8525643612b5165a77bf387f3\nresult = valid\nsalt = \nsize = 20\nflags = EmptySalt\n\n# tcId = 68\nikm = 236c2ba20c72242820f63d3e9c20633162c1cb048a45dea13861e8a138b9640d\ninfo = \nokm = 41500bfebed54b041187964d00b2eb09d3a83a0a1eb483726d08dbdf8cbf02ee78c949562935902437b1\nresult = valid\nsalt = \nsize = 42\nflags = EmptySalt\n\n# tcId = 69\nikm = f2cba42dd82acb5d2d569406815a3769b7becb13fa48537fa7d7d5e121081d39\ninfo = \nokm = 6e79ba20f225b2ca5fad5d87d18b5d0922f489961feedaa032a3551dfefa7cc0b636f831105b0301bcb982cfbcfc22cb01f4d4d38bb5336448091218bee6f8a9\nresult = valid\nsalt = \nsize = 64\nflags = EmptySalt\n\n# tcId = 70\nikm = 73d97f2ffde01b447a5b8573190a8eb4f87f7ac04482836143f780ad876bfffe\ninfo = 74d2301c5aca2441372cf6077bd8806dab3e8721\nokm = 604db18fa852e98c2ceba7c5fd876c9565f2d8ac\nresult = valid\nsalt = \nsize = 20\nflags = EmptySalt\n\n# tcId = 71\nikm = 6948521434707e96fa943e44988d1ad409ec57e6594867e8193e9d727238916d\ninfo = 9eaddd1e7edb6b84c96fb5ac7e0d673a8f5084f2\nokm = f0a591ba1b695a12cf0601ef28ad454aea0381f5136e9d44d45c9a990915eb537d485b02dc21f5602d25\nresult = valid\nsalt = \nsize = 42\nflags = EmptySalt\n\n# tcId = 72\nikm = b72b3854923b8a0048497a86bddef962552c8f6b2c72b2b2006a1820fea5c6a9\ninfo = 113b708f7522ec3b362999db18699bf7871e3b8f\nokm = 03d4ec407cad5d86bb14557274863c89b426eb6842abfca17809c67027710d683d66d60cda03b01f82c15240b18fd53ef3b1a312a6b1c24b3e68095d624c4e0e\nresult = valid\nsalt = \nsize = 64\nflags = EmptySalt\n\n# tcId = 73\nikm = 44d774def90685c0e9a685fa50fd434c807d1a57896fa42f91778821fe232057\ninfo = \nokm = 966d70d2a934e0531e7f014ec225173a473ed5f5\nresult = valid\nsalt = 0d7d3b47bf8484c8adab7f9c27c9584f\nsize = 20\n\n# tcId = 74\nikm = 098ecd86354496a701ffcac8d589a1217231da3b80ccce4ef85762d7f3a2c211\ninfo = \nokm = 960403608cbb8f54559fc16feb4d0b3a2cc083b111795ebc4a47bb21b8d0742759a7f310446ac307baa7\nresult = valid\nsalt = 5232e5e4e2dd6133d46ebe5a8a51a0bc\nsize = 42\n\n# tcId = 75\nikm = 917ad396520e454a571ac39a9f6bc845a8920954fba1ac400cb2988cd8847ba0\ninfo = \nokm = f4470980d2ae8bbdb48d9c379c1c3c3444b1db1f606f1c9db15ffdf1d6f7778289b3d10b8b3fa44ae071bf8862a980464975351f4d7518ebb520fe3ce93188ad\nresult = valid\nsalt = 962d86949506450eaca929286ce5d9e7\nsize = 64\n\n# tcId = 76\nikm = 1cbff2202268edf1985bc91466b80133644988c5e81368cf0995274204fb0aa3\ninfo = 3e4f9c8d3d607c2ed43caa9e87e6ecbc307c6048\nokm = c5abdaef7f2de0778c32ab5c697173eaa77a052a\nresult = valid\nsalt = 2bde6e33534731f52d39add940ff46f6\nsize = 20\n\n# tcId = 77\nikm = d00d6b4fe088077ffbc64127d6bdb9707a0f9061c0b873c334c3be0adaa7c2bd\ninfo = 4266351bad419173279c901aea148e8b1d99e50f\nokm = c01c828143f4e2d4aa7670b7a530ba550aa70577d1eb7acf1504974d2b48c8b9de2a8f968057230e7a65\nresult = valid\nsalt = 1647a044472179d454b8d2108e4a2aa8\nsize = 42\n\n# tcId = 78\nikm = 9a27c19b607adc8f152faeaeb1282002d3a2166894b7fe5d65829ecdcfaf73b9\ninfo = 36356cdc28187c11cbb9046f9ce7502ab4d2ea46\nokm = 2a9b1cfbdc14bf2ec8663ee121290534c84c1b053e848a241f5a75828ed63c14dc364c90e5008f35c98e54e25923f6f145708f5dcd6cad78157ac9a0d2b18d55\nresult = valid\nsalt = 70d83929a6376a6eab859f0d6225f131\nsize = 64\n\n# tcId = 79\nikm = f5d1c855d3448e212d76d3927ec797dc439cb182f427064288452988ab79c83f\ninfo = \nokm = a76a114ca44ccd115e42b6957a678c5f8cf958f0\nresult = valid\nsalt = 87ef5da5400db731d658972ea82b76848004e70d3b22cec76c8be06283c4\nsize = 20\n\n# tcId = 80\nikm = 3f19b7095a6b3d313b59c3ba2c3a78d8b24f30c9ed4f8be9eb92f8eeaabd2c3c\ninfo = \nokm = 232dd33123eb4851feb01bed3e9fa1e42e966d6425ccb3e18f12dbf86d0f201f7b9d5707216de4c69e6e\nresult = valid\nsalt = 8f1f6c8e4f68830319ae859b4b1fa71f1d69552b0c3e53cbbad26293651e\nsize = 42\n\n# tcId = 81\nikm = b1d396c69f14994dc8add0f6e0cde4455677ba9ee95ff84a142295f9177ee629\ninfo = \nokm = b675ad80f49e3cc43fdd385e8d79db1f0335c3cfe9ed03a0924121de4626254936c031330b94c3130587a8e98eec3a4fca781cc220f549c1e6a5fcddc378a0a8\nresult = valid\nsalt = 7f693304bff77534b8246d832749387ecc0e8daeae11d77d022ca9e362d1\nsize = 64\n\n# tcId = 82\nikm = 003d1901a10c062ec44e0f2a94c544b7f53b33f1ea4679fa6e023c2d0a907fcd\ninfo = d5d3ef5beb9840d15efe9c778aefe38f1bf7bae3\nokm = 8d8b785c0421f032abc0778f97c71f3b3e337627\nresult = valid\nsalt = ed86cb8c8ba1c989f9a60a4a82c38be98c70e6218576b292c93fcc18192e\nsize = 20\n\n# tcId = 83\nikm = 02e0647a4b7ccfc0d3ee7ddfe24ce69c02f51cbaa836b96cbc5a9c2885c45599\ninfo = 4e9e27d971e76fda614fde15031f6664b97d4786\nokm = b9a02032cb32071c7c5a7b61a87fc6c28a9b6b2547fb951fe14b84271bf893c3fe40173066da4777e87c\nresult = valid\nsalt = f0862f61f2377ca34b76476ae21e331b114c7712aef501a1bf00f7e9cb79\nsize = 42\n\n# tcId = 84\nikm = 92bfb7e31e839f109e6622b2c2c4f41ce84c9907172681920e7d90e80e2339bf\ninfo = ff36776fc755722ff371f21cfb37a168a2731e99\nokm = 1a3dbaed5d00209df5fcf4218b45a805341eb0aee4ac74c135fd832ac430e058835e46e54f07682e35999fe4c6c760421e25765753bc34a254a562ac49e3f4f1\nresult = valid\nsalt = ce869619607f71fde53ef55e18d01d20002e3f91a8b7584190fc6667b8d2\nsize = 64\n\n# tcId = 85\nikm = 17632581c34ab743992cd99318889b32f92812bd37f41636b5fbbf2b12190c6f\ninfo = \nokm = ddaa59f32235b0b32e5dac17b2b4420cc2a8c3e8ae48d1aaeea8853c2d0a371ed831a94606c6bcf6b08a\nresult = valid\nsalt = 55e39431c83648867ac98eb7ecbbc8b41c5a5e774646b926a9b49c511915b0de1241f8666da198f6ba4bf7e9025e434b6d7ef794e7a563309303055fe3bbe769\nsize = 42\n\n# tcId = 86\nikm = 045b4d451bc30c39afe0932f6cd62e65b4b2ae2cf1160f19e8ba1323f7ca146c\ninfo = 613e353162c6c1b12fb1477fbc54074ff7848a14\nokm = 60cdac1a10892b6937b1d648e3339c572e885861444082a0ed013aaa76d763c27c93ed89487ee85e2bd3\nresult = valid\nsalt = b73682dda0fad41095070b2b26f2d7d98ac62202d918258ca9aca0f794ef5e4d23b3fc43c8cabf9fcb37ad9a62337fbce967fe24054c3bf891195858e53997f4\nsize = 42\n\n# tcId = 87\n# maximal output size\nikm = 78da0447b11a85e315938f70a45e", + "bfd15cf5bca89b6832e8f490aa09e044c602\ninfo = d69a09972d98ea41\nokm = 1d4f394d4a3ea4f0f91aaf7bb73d6728338988d03004a34086d8fa0b1c3fb83ece7a19b9912a3c68367fe9979aeefb2c3faac683bebb50d6ce8c9187012e361e8ede6cf6ec44bb4d2c1c30dd704a2e6145662a8c700a02fad9bc5158b69bf0371a0b1adc094152138785d0c1ac26ab42e58fd0e86818273c967154c4cfdc1af4d7b9fc788ef0477e271a75002baa9e5b54ca66f81885fbabc6ac03a2308eaa146b76a8c52aa6cb97032e5ece2d6df99ae25cdef3f4d4358704279842cd24dba9c24bb0c396fdab4bb9022365783dd00df293174d66a43ebfe0a562b5d896e31fa59fac550cfbeecbc0af54e6e97854d8fc2bc278bccef70296aa8688bd7488aa0b0a8aa72e3eaaf10f279247fb6929c6f4654f741afe058059bd2eca5a7aa6beb4132afc8e4458f97df107f125c2a9d8c34f62ddbf154a62ae7425e3176ca1232f1f3fc3f763e76282bea8cdaea3c32ebf9047723599b56e0d2ec033c27b5c2577adc9ee979bd88da83d20f8298d3cf99c883f84368d98d8ef3a5dc3366ec420388c6c0144665fd2b091739fabf4a3dea16bd54b45d56cc18ffe9a2c64751ebeec97ca6f5905f01871f6d14561925151bcdafa32a29860f4386c77ac28dbe4dc3d67b008f63bb5a213c3a48f2adc7a024d7988ab26b79b965c85f013806d9c725264974319a54b4d9501ef08baeb606f8f17cc08d60dba42925342c6a77886f95450309ea695a7c7b7af98c797cab067ae7aa0e2ac1e140f841d99af4d9b5f797ccc40ace067d2b86aeb2d4a7bb852e664049d184349d6dd8a54f3fc168fde7d7602977b72acdb218cf2c8adee00902c0fe00712ad10de12735fc006fce75899c446ac151c270b5309f103120caa91b799cd1b7ec368821e4f427c62e983f349ae15ef7972a8d35a347154ac942133bf09cf5f92b8c4bf330e85d95df574589e1e38cf0edab7f091f6b1c3794ec722e9e70fe6fc780525c0b4b0c2135ff0256c2d1d30011494c7e90fa2e92c379f7a74e3b3c8a0b458f41bd5210ea2baadaa9ce5b843f833de3f6775b4f30291cfa8bb7ab2809fa0cca97b01706ca3d9c23f83955c6f47c39b5f38a15a7be91d70d3acbd3045ef92d5404b762edf5b8d3ca4a8e59ae48d779d2d5ae29e3944c7019df498cb7ea7bdaf4cbcc87b45af7b706980a45baec6e25ba4c3dd934eb480545dbb090d0670b8ea353327acfce9aefaeb8f3e17b846c64630a3b4a840ab694bdff734859cff62c55973c4012fb3a697983bc8eb2290a043f314de54a95cccd5c95d807687cf9179155335d16ce0b5cca52c09b951826137188512b30119449f8d4ace4054aa8743dd0f21b9ea404c6e3ef14e49cc36dcec48bbe2c06a053917f4bebb9ab8aff363c36c49076c171c08a18a7a195bfd2c92fb19c7f87d4113fa2fb715e4a7889e13f5ff59e51b0edef284c1bf4f1df33995e975c0bdcba13d3ca7dd3225eaef9718bd841a744e192eef374f65f9e9319b8c2d2f7cc99660b8a4acf77cfbb02c88162a5d7325b474aaa5dd32a2a39aeed0ac68b860e6a11ddc73e2f6a4ff914d40939d80026de5bb50f90620a6f11bbaf8f2656e4197b4ace49a85efdcf856b2c37b602f8ac71b645bb67bbebd4b20d97c00fc3eb92fc9dcd573db6b4d09c6a463b1d25879cb04678f116ac9b152c05a92e5d8246e6b7478e1836abe0e5ec0f17ec454ac8a9f9f400ffd44778df77bcd8db1653912fd2e4018330f249d1fb979bea28a81d1234cb6df3266d8597d5cb9400d602b855c6b7ec7e12f9a63568142b33d4a8c87ff895d37ac99950d75f577cda26a69ac7eec67a7ac6d9f1d419e8beb58388a09fde9c5d0d0fa2bb578815bfc826eaea6a10417700b250fa52796a4a40b2de511621e4bec6b9ae0161241911938a1c719686bf3f442ba341d8dca6cf82e16a72b4e08fb27bc8c1d5b584b65f92bdfb838bc5f0ab6eb38abd7c3ef13ec87a8dc24d69b451c5ee0793624352eb72a9bd9d895650e8c907cddd49c4056f03493bfb7dae63d8045437eea1543386cb89cd7c6875c227fa5c1ff4f20f18e69bd795ecc5256e76e7fb366195c909ee43445184660414befab7f67048bb76f218ef07ecc35c73a23bab782650ebe6c355eb28a29225d79cbcc61ef4b3edaf804b852d292ede13fed0f89be119c7a594a0192aae64c499483b11a9d702f0bb415e486b139d1e07830be92a44da79bb0e4489a74a97f07577a23737b9a03c31320588586437b9a8208c02436fb061adbae958cda6f6222e235a16a3c28a870a58e29698f7996f27d40b5d0d8f3db1dea3ac806c10568ca0588e0a4ec5234ed9ea7ceffaa74a2b8c0486208f3ce28fd9bebd472a66bb4dd1fdcbc0ba9ee630a48c45b31656a50233ae2acf03741a07cf8d18eec13a8127edbe65a6a7a8d0341734a5eaf283afc80710339442b390c48e00b441c9804c3bcbdce2cdf6b94a82bce257fa33be9f38faf7de0f9c20f2bf38ed0621befc05b2fa0828e190bbb2768aeedfc4193fb377b24b8f34e531340c54706aec1cd0fee016f5051c018a0dfa66cd0e0e0f105a9e365deecd3b2a0b658edf88eace65b314131b1ba0de9cdb0586a8c204a4c0878aa444be0c5590628ba53814ea443dec0c08a5bbffa6e4af13918f9ccf235c9036c1bd5590f3e7def42b0f25843c41c9bb32bd716b0deddb3ff7b9bb6e582a9b632614521dd795d26c78754bda13a9d5f15f1eea1fd1cc402fb8da8ab6fb8aff96985afe2ff822f7403e3fd049da82efc34d8dfcbbe3921df8288a5dcfc7f9f3ec990f81a87ef5947a839725d09282c2b1d131a9513c40c8fd3912a51b94475ecc31c221290bd3676c1b925e2fda729843f0c539a1248ff7637d8ff8f03754a7523622fd2cd13e5297e72a97d0299712e428b82524fe99d056df6568dff5e450cf4620a587c711b4f1a016c431241f040e33c4b0e0d96858fbde39a602cecbf7ff263e00c1448b6f3c0c9e9c55b2b035703169236df421d6ff67048908a89e38801a370a92306a235e9b5ad9464d07440ac86803568a36f6d63a9d89fee42b493c18c2e11ce4a9ac57863e95cc98940120db6ed0fecd4800e30f1182e59f9edbd90cf1f2f178b479fbe446ef328155ca11b943b9f5e7c4d1950efc6b77a9f51c5eb0cd559c47102180abde687a17530db2db357c4621b601dc22942cf53a48bc7ff44edc07ce7835d015cb180dd5b4ce7d97fee5ed9e329d6e62828030771b055e9444851b8404dfa806d97ba5f216f317ed922c4e8641c9f767674629ce9a02b98ef0398a5c145338d908156ad9649dbad711e90e4579ea3c728dc69d3d4a60b172f7a94e1b3032705ef0799bc1461ebb34dff6895615d69252b042375a6dbf9dd996feb0edcf6694a39e2300e91a00dc04074a24c59c623c9bda0fde4eb60272d846a9955bf442ab507381376b9714fa55274e1de7e0dab70db44bf27b588d23c4b582dee00c38238eef5e72acf1c644c6cae739503e86c9b36ea74d6c55097dcd71e454621a80e0770657f93405341eb3e48299791b531574773fd6b2cf5faf58e9d6caeeb511c823516ffa92d6d6f7f1726dc7ff014bfaa9421b503b271851cf6baf3d788f363223a586a18ff351682494d65298d204bfe931c23deff4474e223fb735c09f871212b889e0567451db780bcd0f8e226eb01d3ec2237fc761779c8f13aed5fad572a3ca4eb99979aa03e66fc531b71ce1375bd68799b4d92239c93dc341c4e6b60d5dee9168b22ca5de1964275203d982b5e09310ee56a0121a7e0ff92b3ef6495536ec320668a4e88212f5d611335c04457b85d7b0c8718f2665e9bee6fcdeebabb94da8dd377ac8b4ad003b663e163056d7ce2766b97182a7c92354228bb8f06ae9c5d227026b3fc1d55254e1943b2decf5388de21a1fc5758cf74f69d6debb155ee7da7af647ab1c3e6b8a0f5192dfe5be41e94c3cdffaba02663fe53731dd920f37f19ca16c661e58295654e1692cc4cac9bd9d9dce3297c7e04677fec0f90661fc803999f3234d76ed10bfbe4928b28c34acd10e5a1972842b1b6ce216c53789a185957b866e5e2f51f4dac6b16dacaaa865e9ac5eab3e5436e2719d2d12d0c371cf11a35583cbf063875a7c7aca744d713e5295e5edb39b13dc06298d75b7b3a807074a1e8f4abe691f9d1233e619cba4edd9808a271765bb60fc5d674fe3077eda7e97670fb3d68d68621e892a261b28d50b26e519c3c6c77295be3d54f9e797c2a946c97b5dd67c289d028df73a40a3b6d656c812eb2e2209def77ed68625cc8aebad4e4b1641600554619a9864cf6b07200231e016b6e01ddaba40e7047dc312beaa6f891982ee7c777bf224a763f76d7e7baa6807d84d495d661082beb60f9cdd2b8f6a9f1d04ba184df5c45cf5447a388bbd5a6894ae7f759afa04de88032529d37c1ec9396d0080e24ebf4828d57e5b347df8df9f80327ba121e40b444cf7a4245da5d6a37b01ae795d6bb8fef9f947e2842a4967ebbb3919b95922e2896a93f747f9ae6cbcb179910c0a327d656388e47f2241624859a6a87b53a15b4dc4f5e5d19c4af7c7ab2b60c1e71859c276a0c5a09656fcbffbcb5f98fa1401bb257277ab1de03b378a928d308fe5f33a0f21629522b09c0e0bf6c74780a30859c1cf7b045a3a1c70febf69f595da99187b932bba493918bc48ec407638bee8afca71a746d0be340c9562bd420124ba3938e06be7a774405670ca98b677942340774417d957eb3550925bb7eae805306f08de8a5b45c6e5985c437680b8973ab62f69a675cf24a1b833d6c4fca694674c3ac9d2891ac737963c3d2ae5fc8fca9a6348c0791f5f4d322dba8ab53a91c0607c9983373422560f124f5f1eb53a9207335304c35844f503a273fa4f780bf0cb4954397c20899f015bbf27fdc0f5c6e6393a285cc8f279de96875a965dc699f6ef8e23972dc838065db3b5772743dab3a4e91634e1e38f8a0de18ab19368a8902fc9a73f2c902cd3364f0afec7937cd65da2f58037b840ae4cc33bcf8bba1a471f123104df56ce5f5ec0cf7ac924bac63ad700345236c1fa4f34778c36d71c98d7232bfa5dc1c705a1d624bdb641bb83ef61ab4976bdb9e5af58c358ce77b4d4c6cbaa32057a3ed45990c844f61a7a77ddaf65203c9de21c9d7ec7770049cc524fe869d7954d7e7557c895cda88f8dc93f15cbb1f97601383be61eddc083ead645cad67bf404376faeafb6d9776137b50397cb4269700606e149f3f7d031e8e17f4d4e5d905cd782d7d435174930266f90b12d04b67997300b26ba41bd2053acaca853e50bdadb790188c53abb181458361fe5201c46796b4f2c8f698ba9358e75ed64ec8688bec6fdc6158a711c6f299c8e12d78e0cdea6d758f7c07ad8006800f147669c8232419d751a61a8b2c7921b1e9950180867547ab4caa43d45b14486bd4c62e5ff88c066553411638bb1d0788bd1aaf2b62f1865c550eeab9a6c7ce57f55d44edc65fd459f4ecb938466eef07e90768715bfa3f2286721b37c915bbf60184cdb8f725c30fa93d902f3e2225468988678a3424786724f73ac1a276c69deb82387d4397ef27a1c3c0d929d1b0d7a9e652048df5caa0b3039c7ca37e2433c0be76d654b2ad438f5a87058173697e606350e8a3b827efdfbaebd502aec905fd3eaa29e1d0269a49349e8685d290a202cc62adc0bbc18002bcb5ed26ae33dc20c5984edd81f0680", + "6e56034f945992329b7e7807455fb876f7f9e3d7c517c181737cbbbc3400f138ac6fb4dfe13a60931eba46e0e76b72d9ef85da6c0f92f2d69dc466a51aa689c6238578b3f668dad4ccac5634e75905bd6bd69daae8a84eb7b13dc658dc548cb7ff0f07b485ca21f3658730eb70367cf05e96030935f153b08ae8d98616e22d0cb43c7cec4e19f8d7f64e396b2aa352a1722f057d15385e1bfa776477547201d4db4053ddb12feb93d3330b1e7f625b328b8fa64c9554d271fb807f5d63485c8e6a00a05fcdcfc9b0da916832519a10b6e416c7e44d23790b4240279af77d11230c84ba50266f20884c60efd9c5cc5510a31c6f5ea8d632dd74862a9e46be6ee0f486aed2a81fccc89caeb4ab41e9cef80f967f136fb4596227d4c604fb5ae4c96ed04f5c1852d185c22e39b4463ae680dc1395926118fcf832b1cdf9dd55d15eaaafa173c6756dd0906e8d6dd28be914f3b1d4dd1fe774426a887ee2214f0b65ad22c5c3d9c175a29df3cc61e26a6dac2b2cfef7b024557f41db4d165416c82ad91aa9c1091371260672837792a41ae09f6b9523404a8339805766b1a88bfbdd017d98d4e32c14aa879540428a9ff83d9ef2fbd937854d30efad4fd9e9887ec915eae17ea64c34886673db98fcefc5ee0e76cefb5873c20770ed356ff6aa16d80bcd5aa8cee864065445dc816da4ee681802a57fdc700429f98de59964a08e4ee2f68e8386c69fac44ec4e5bbf468148df2b400184108f7b98d5e5496f4aef27bbc215008d3582d53d465fd90a119de8532bdac1278adb4f88825bbf9a8e31002e3235488a0703ce1255e7eb12b3daaa306868b86afd2cec3cb31cad2d2751e5ee717c434779d7bef518ab58df9a75be6da58ed8126b5752fcda3903fc46e148dd92ab430e0b61f388d4a5b8243a06fb644846a94e6ad46aeec1c9e828b6ee24b87a98f8d61f59760510323224fdabbbacb8905c536c3713af2d5ac777e545385794536eff117e6730812019a5daa162dfba23addf74e030d91f2b25f7a5f5e1bca09bcfe49df5d52b309aa35fc561f2bb9d67c60cf3dc390e3580d2ef54c57ac839e6e863efef6bfef0f1be28313a4d291fd2cc56bfbce122f358d4e665d987aae72f1c1c2115e4ec730d8e88e39ec4c1744e4f3feaa797c01cca1a86e54eed9db979e67389a39f8c898d2a8ac612487510d03cf1f5fd14744112569d1f13f5928a34bef62b3049e2fba45e7a0800908f9726a1a834c6f145cde1675497031308a34ceff22372ea8ff5c6751ccbe403d00999358124017b56b08f78b7b41bd15aa1a43f99999f449b58717d6a5d048db0a996947e058e899d5b403f7ba43a62bf56bd7f3e7be9b7754d025e90a1b5dfb3ba9875ebce74f9310b5268e85ed5355ed0cc26b70517caf30a46c5bc24d9a3d91aeb5e03e7990f518d01db4de8b29734ddaeee0832c136a6132016f1e7848f413102f6956195d9ac54bd0b488aaf149ea39057cdc528d0f93c1fe487b722fe13bbb95ae40af1fab137e5728a1b5398666ee454c2c7d4244391462b4075a7bc04557ac9479ce09ddf72e8ee1a61ec07a228b3af281ba22699400bcb1acd0ee6aaa2da722e32d8f1aac209ae443610b27b4f3919cb1dc81827817b652b00a892633d5d148957e0414dd913e94e97ec43fac40ab262bee878df6fefaec5defc09468e42ed56f643b9cb48ba220cbf5168ef2428f9d0373d68a4b13aa47fb3e077f3390ae3f49749526a7448c3704d0928a393b3fde5ed62a4f8f65fd572b1acb1b500f2fcc3099dd86e74a88400002618db0b2bc32ed701d10552213f0217aa4b6983f71a8f5575d5d42184186241ae4afd8d0acc6c1ee88462c4ae32fc9dfacf6b4130c91cb5fbc7caa0f39484fbd88fe78b950e33011fdf8643104825e7da91082f7e420c141b8b6f10fabb520a680a2ffc561aeed402a8d59053440090549de3cca2e1d5bbf816d6f1b58680d43736e77a0fc078bb6f531b7758a4cfb3aaab66f0c61aaff50e75e08af403b03e9d0056fe04a63a758eb3c2950a1072d949879d7decc2fd99b3ac736d22fd9fdd9f800b75a3395727129d49a26d8afb9c477550d3daf519ad35e580b05d8c05c5c5aadbdbdd51c971b7452abe98d1187778f15a427993a2bcc6ffe626aaa944948bd0f406557231d8ab67b02b59c18ce4f8b52d2e124f15ed1408ae07025d4ea841a2688f1c33fed563331a30200c0d82da82312f395bc5f54469df34a79fdc9e363c61bccf27b07a06dc7fc459b977192be6806a8f45db5400a09fb2d1c7010f252337927944bf6cec0b7b0d62685c2ab01eb858d69b8344b2830ffb18f9c456bc1f3431b8c4f29064b4d08287d09969ea77941b6c696ed83fb2874fd33725229c9ff87b0c2081d7e708563b4831e4b097d41442ddd27da9fd67f33564f9c8958205e15cd48e4062124b4d6349e99d350d37eb56bf89f8328e60c97365eda057333ae1bafe6cbd00c76477e5e2aa2b51c4d2e6f9623fbeae1b2ebab8442fd16a44c3d632627173518d5c8cdbe5126754ad62827eef5e43770a7c4796da0dfdce390fd138ebddb73ea1b02e8771804747eea0015622e8f06340b4ae9ebe6ebdcaf831dd5278319ff6a1c4d59a0f27b23207d07cb4da58914d560a6ebc20dd094ccb3335cf11df6f6a9134c3689c342af7ebf46d7dbec8aadf8c37afd56cd1e877903efd2ee903ccff9d067491e0dfde2c0041223be2ee7df6dbb51019438b8689d211ef99e903db742c1def4316f4dc071e759758b64e3ce8377c0b960356e7ba035b4f487903f8c16f028e09d8960a94ba843c99377b42b227843432d260d51ef605a13195a1f55f3bb1e256283418d56ed6a1c3898beb44702f092838d7cba347e9af538f5b6b65b52ca562a215cdf68d34ebf60561c02e5086fd78c11d35557f9019632c40faffd64b78d87f411bada077946cfce6e3af66d239e61ba08252bcf158ed296a156021a52425892f48784ff7a6b55fcc5aa987959a3f6800f56b756bbddc3dcf7fbdd79675b55cfc22d89f30f3925a1e9ac04dcbdfa9e50adaae9a36cd8a4af1ce804d7f638fa6c673fd041cc7b3e0e818f11d9c2c6c3acc14141e629fbe977d1c9f904f6f83a1b4ba9fc21ec88e335c82618f5d5d9b8d84b5f31b1d60b69e1f59a6c4d593ae3dc1992af56fddd3fc3e4c58f79f428a958e9c9c930c5add1988792109ee4a0f3def25c1af5d5f66efcff7ce987f9470d44215001ea6900796a1aabc77393a74af29797c6c3467c6c75b0ec1eca2bdca923bdf3c3d40a91128ef56099fa85ff3caeb5b4200bac84e4d57afdb60944cab37b85d15ad4afc72554215bf3d4a09733ec3abbd7bed484ac7061c77027cfadb3751d5edd53f01f01fe8f429da41e8066b747020e34a6630ae8a9407ee988208fb0712ba33b44741d85d6f16991f77e98a4fea68486b3c6fdf40cf241848c641644a80d518d397aae8f7cac1cf9aa56c17d617392d876b5927551eb6d08b448a0863eb898b1e39a41bd1cc6a29c45651599adb94680117822bbcd072eb076b787828bf5c642ec02da763cda9f98274624c94eb09d2675d5d82c41a3ae7ef8c14a57ed24b5c9e79d7c2e2ddcce6a9b11b4a5f74e2c6f7a6edd5951c5d3198b394dab1ed7eff28830e0806648fc0edfbdae636c3e72ac8868e7bbd8c87ff955e75f469817ef238968670bc0c17e79dfcff93486da5e5ef3628126762e2807a2eee6fcb9242036d45f03a7635c7aff2ea61b0750d49f74edb6f8360e74a2d357875f4ffa4567a6c367a9117c29145be97aa27312d80b2086108ed8a66874b6e9a5065ce8c7bea9ee0a7c9974d6824e64a7eacd613d63fd9da09bd3e5f7365edc9841b2168defaba5bbece5a939604ab6a5a89d1fa77446e66d72d40bdf2e25856454077d2468e10be476472ffece14e23e0e907a231ff8e6d6616ff2ec96e022a5a20590ef4ec5d137830efc7fb2b0ffffe22692f06213711a4a09b3c0786811aa043e19020809e9926649eec038f1bc5606519edb9746ec4313fdcc0f30423abbe480f96517e20ad8a9cd613193aa0c503a038a728cf6b01acebb541b65ffec1803251601a33428a263e43d17824eddb9ceb60468c8039fc84a5843df7286c092b02eb297ad191bc47d36c0a9137aa5c281c7499dd982e6a56d60f6145d354e8987916b106776ac806035c3c2d7be3ca84313cd1c4a4ed89682c8e25506a554971fcabb5aeb611300de598a1318873b8a0a8c151bf2660f5359a9926b5c6f67a5a24f8af02a5452aa972a6929511018605fafa6164371e610f6af5b876560b63065db9851671774ae1ad295c0c47c5239d5e6cc30bb1911c92f2382d7b671a1ff036d90333195342a2301eb91a44e731cc4ddcf307cbcdaf650fdfca07a246cdab1dedd50c88a144f7de41aeb9c59919b3aae243cc45beaa337614dda2caf41987d33dec8c392f46793e59a5a0a092d861e0ae54d2bab312b641b9de25ca31facb5f36014ece208025609050d8ee10f95978bb7c045ed8c4b35129af17d8be198b0b3eaf1e4b170f1fa23cb9a59173570135e3e3fb2be9013e16355c5cbf13272293df09e0faf973635139caa589fa52ef4320af22a583deb18c09176fec41cbe017a3cb0f53c622f40b84a87f2913e7fa4f18785798d7103efad3c92cea6af4452d553ea34e43b2b615e06a53b956567db95d0bb61a8a863ea3391ff79a94d50d6e35a89b46cd0e84e10ffe0735f1b3370f763be3c713b64fd23bf28794fe3bc62457d2cb500dcdda415a0c2ea75f1ca1b46b6fe09af8b30ba4a77810579a6545a15bd09f9be023f618c4d2bbf4e5de575e4ee0c3da911494f80dd4276e8e9e6f490bfa0851cd8444ca1c913824d07dc80bd2e7c46a388432604aa2f9488593f2aabe40d8082ede5cb4e7f68737881854175b4843b8f449e29762057918dc317607958e7c5359af8b8969b008654523059931a7d204b39275f7400b46ff5a4b6d21efffaf57f3f0f9c46adbf856d624b78f5f349ea7c87ff3a2a3f6026cf3fc57631e718f0a4a27426585cd0d03951042b92e558f368868bab6e901f136fbbc2a458895eb295486c5b88f68b5c9d507e0a50e5065331bd4cd03890c6a250a42d0178110a0ba409c8144d4271cdf90ace71c4674c898db3aeb10fb7e59587f8b595dc9a914d6a162c796584aac91598dc84d11ac079d41184a16fac6a531f78d94895579b605987894bfd7ebd3fe57f3fa2dec05e4e25d717ecc145c40514b9383a431229658e5f44b4efeb498ad8e5b7a62ca4203a64a05dec0ca701a402bc6f0b57d94f570aea2991215f73674e3d155e15baa75342fa17f7d5d34a05218ccdb4fdc019c4b00ed0476fff874800731686a322ad76571856582743675cd81204134f11663ec1fdc9344bd649ae6f01e4b043fdd74d58c22961a2653d0da7161ea02ddc60028590e3178d573c40e08d8f0814535aeac049cdb06f71f5b537da672c23ea0b28d6327e52feb83acb22be0ecd53d6cc1de914d6b137fea68cd1347967c39de99250377eaf7e909aee9447dd6116aeca50d465feb8f9db3c571e12b9160e2cbe3398d6f065a2e2ab16e322370740d60debae1196f6b27d129b9d0e702eb409afa4b2fa494363cbc3df3ef0ff6dad08a1486d1f3688f8e0c1a9651f4fc79b66b2d6525f13d2faa8398941504f330f34ea7ce4a1f745b905d83169083a806051dfd96aecc95e50e629abaf87f7e6785d86c3c392917b3f4afe087c0082e4cca0f257bdc", + "d6883d1a0cb917c1037c32d4aec1f6827b4051c6f47d052885ded4e7b23d75c4d6489b5196d2c9a32d436a12e51ad94dc88367391df06b4c8e7272ddbbe269673d9b422e87866818bd1d09cc15a79fc8b45654f12e6b431b3c1ace46b8e5ae1b5a6dc02707cfbb2fba27b5bb6bd0d646ec4ae43b3c84ddd605d4ecdc8f6214abadc9844511a3d7449e3b02cabbc2bccdd79760d79b26ba687986c3118d3fa9dfcefad6806e3cb489170b45c65fc0f84f813175247c98731db96154f263add9f1704f142a38461a8105b6d6b6a79adee56b33b4fe7e275d475ee51956c4ef9f1202f1ae479caedf465a730c2edd23406241ca4859f0acab9ff24a561cd4c4fe263fca7d146958f4e9cb2b50aaf33c71fb955b34894e417c41cb0de82b146e4c212b72835ebb8f98c6248e019a908babb06477b595c526694a484d2f1632fc46c27923e9f316a6d732bb8fde0598df6d2c1df4c4872dde9153e85c3211eaec6ac94730c0be7228406a1f9b6a79947f479c31ff2f34fa532cb5df00a9a1fa054252bc764fe2d9c010788fc4be141e574d858c566ab627e92139b4f1b6f6069b520657f7d3cab1693ed693a8f43a037965e608dac3ba4a9608fc8e79fca1d63e2f7a8c3b0307443aca861a83a698318a140c2a1b92fb351314685dfc2bf04e8745b90c4d719d76b57f7bb91c815a70667220601a66b7bf70f7bd8bfba5bb3f9a4e9966269439440d2bd0cc7348bd4aba6383de31058149321e6feacfa6451fe9703f2858c6ffff96ff5b33a5c2a70a229fbd8ac2cd00717305425194b67312b0a339acb39d9184aa43a2fd4e09b0764c6bc05d36fd9e1c258f37a65d5d5b09b5ddab30860ba4e76516678d806208297dca349ba430c0cb51d00d68fb027b587e8a8cc11ddd1d2667a798a4ce01b0106695d57d9b38bea5df494964ea0efcc73418c91976fda9406e33195fcbc097e80dffa1f8deeaa208fe29d666e1b7648960036273c219d188f0bdf7966a424a79c5bb5314564d284b7858acd85952c12e6397a2b978bfd4d20b251933506a532a95cc16c6c8c691432d8758f32a10447c76218a144ddbfff8d4f179ed4a1c6bfaf304a1ddbc92049be8cc16ac1c68f47b0b0aa5cbdb4601f88897770fc4097eb56e44f3ab30b13ce1d7fcb707369a88c73a770702da11107109f993c68747b9d692fd3daa64d9978a3b5c9ffc2f70d8553318ec6605b3722c3e630503d307772caeb839df8bf8a7e707d394501a74e3e1a9d299ea8f2f7c63e9ad92180aaccb52f465ca803ad9c48de555df5b5492a8bf54494c4f9b2951bea4a65a309630d1f4f040ade7cd75d54b6fec534d64b2b0ebf96308aaac9745bd4c9b83773ade37191261b7f5a44604f88e48f4db9e250f24944d72ecfd03355f7e13c959bd726bc614767d49f539660f7133f226981f8fb7165581f14ffa1bc824eedba1a394458887ca1af9edb5af85b2cd86c8e93bf03b401f324a54e2a742882183a649ed2b0243fe0b5f234f4e4d7328e69e7cd4912932220185eb19f333599a9c8befd893dc637cc7a72bc41fe437147d3958049dc768d71c64cc1b87c2fcd7d34ef4ed683bbb366cf061511ae01ccf7ce82014fab14e52abf5782a09bb32e82a330f1453576c21a2ce9aedf6b36116ad4447eee277a0821a22859987783b944a3961bdcbf540d4318e0c5e59558fa88ec3b3ae38fa85303fad6ebefbdc2e16668043e7cfc35da5eafc1717316e13389cc208ce2621b153d65a91488ee18463220c43ff79e8b2eea821c4b91124ab7c513e864e923a75157403599302bca85b72dddfd256c09698c2eae11f478fd7c381bdd7d54bb2eb3eba44d13aa408f80b1f17a74c724268ccad52af73ad281abe9b0703ca4108b1062d0b465525e5a498c13d56736c8250e42206c0efceacbd2a1553d693376896f28b182fec2242969b9d908c12aa3feae637aed62e8195385a5cc38a4154c24e7ae759ef1a4e7cb129bb481870fefbb6138892f293b3afcaf4b5bc260e06798defa433355bd99b347287530fb9a7a33f67f3fbe66ab84079fb9b0efff62161007ce8d0f63f34a494b8dff2abc25c30120cbb12a3abbfb33ac452f0f7899c4fd13bc378fe27eeac867e2523f136b4bafe2e7523b7f73b21aa66f82e352682100d3b461d88f5c90d179c6e5258cc736eefbfe1dda2180c6420554454b546c89ca17fe5672a9cf7e457e1cca331cf4a5b2d503bb0a62904e9166ff769c5b364670339162e386a586091401fb74c580152cf3ce3e58f49585f837289f59128ff7230a294e1a56a7771cec419e3d92ae5420dc4af12336486e13346494a402a455ddd4f6544d81772d0380229c0573dc26d952f23ec66c2438d8e0c9cca660a89e1d0cb8e5114b3b9040630853fcddcc041cd3435c709c81d919295b4f0656dbfe40bb86b2540a8ab93cae5d405abc1dc56b79fc8011e9d34745b28b09dd515df5b75b70e6e01b3a013556ac0c2984652087cf11682a4e14b40d390fdc8f57e5f0e09cd8a808e5c91c45039c1109aec551ce4972fe26f976d5f37f284db1027a85c0f2c511b57fe2cbc0d1e6a4a2eaf9106b21a5b88412b34bea0ed585063e152e0c4f321a81bec40e25f74aecb43cfeaa13823a24438f0340315a7f3030d1b29ff56f3142e9801f62294097d96a61923e747f6f1d3487eb3e2ca0735fd277f6ae054abb3ec1480d58dcb543cf188f238741aadd7b453cd18ddca0d8ba0a587384ccaf69c412839703103ec0325c432253f2e1299f73fdb563218ecf4763ac029ff6a35195bde2a4fa3823842b92afdd59ee341e971337a54a6de6303cd0e09c83be0c3b3b2e71cd1e268259167844ac45d08ff9ec8c9bfd3a17990d8502bc01d192370c9851346715217ba3f9c2b39f6577226db8423ce09fb4f75040327a1034a8256515be64543e15cb204674bc68fe93252e1f1174eb705c0322b3f7295a582a435acba690e30f8ac2815748429bd3b29ccb5575741f9143d026fe0d20abff2eb2ee53473bb2fc869fcfb61f346e5b05e0aaae432fb7bcfd4382ec234cf554604f9548b0a492e4d91c1b6e9d6ccf1e11863b668c0fd25c00fe0b3a90b3195b33c6847f64241ab5bb4bb6c10805f3c2d67fc012cdf420a3c66231e6815b8140d40f840ff55ad6945bb8e4e99397092413655bc385e7005f59a9a74ce6d66eced18eede5b8d83fae6ca98f22b1fcfe5000775f05dee523868c904570af548e8af065713612ac9995536663dea46cdf61133e88eacf9a523ae875a8cd581d93438a629f572b3735d77afba0851130bbca2173cae9d9e84bb979e8acb114d9bc78eb8fc14e6f4560db8a72cccd5a07bb2a1907f4dd294becc0dde4cea8f2a1f138b8d8cf01707fb5500c7353cdd95494b6c8b751322ea6679aced2608c4c691b3c3d6663ffdf96a13b556b7c5fc017858d92ba01e80391ef1b2b23b827eeebe11505f320972f5866f80b3326da4190f17aed2689455d24df9341cb52f81b43f6cdfce78cf2f8a8e6bfdb5c5f667a4d45b9905c800c1f17f06ab3cf3047754463f219db75b03be4d04ae7a7042391387180fde9b5a3ffec8bf8e2801ed8338a6d4d1301b636ad7e221757fedf43f9f3519b6c7743367ea4643f91572042ed2111c38eda14ade56f47929e8723069ef9392fd60b743c09cd6c0467fa4a5367c05eaac20c6e9a84c2367dafe91db2dfdd953a57a9e80814ac8b2bde5193b12214abf9a69a12ce2f43e5bb14ef6ed5678b34bd05b8eac810c202a2b7f3d762a8e79fa98a618a2be5063496f83066dc8b37afc310c07cdfab9a39fec3b16f890b01481a320ed3b09605f27d5b08f16b046149a65c899939c7d8edf912b900e0559b39e23b87740306026d6fe9c2da6066596663c71a5dc98ad91bf59fb8926eb44a373c57073635d6c5377c396f7ff80b22eaa7f40dade5919a8fcec035cf759c4d1c82d43575760e6d94855f971ca0a3c05b206b1aa98fc7740f3fd54dc4902055989a88ffa63c1e3b32f227fed8ec1fb1fce789bf35976024d98296f766404f41cc08fbb3e1147ec31433f653e0c1a7e821c00dd7431217c775c60a90f3232be9b2a132647185a4b6f12d68bf9b25d8bab80cb0e21b4955abd25b7e946e404102a0a293152b95147c695242851f418a56feac219f66a2b0dc7731da57ac9fbf2103e31979d90b7b6be00e187f7b64c9c82de398fb8c3e263fb181df45f43b54481a0b600e640a7d2d35f9901999f22f18a696fbc5d6563ad45d1119ad66daf5c6efefe5a606d3f2a2b2c16b5b2ee902e47eab1e6aad6ef04b542c5ffd95c21964891e4685369855fe0dac84132fb84170fdbb4d82f19e21b2123a003c0348c381da312a9e4a9933fe71c749245705368bcee1a48caf7edb4e605167c39d42c13f7b58f56ac44a6716dd23da791726e17d271ead5e4a85aaef83e6ad5148f6a8d50da31b5dfda5a00a8d52311d9d7558721b86f8fbbf468c488717f288aed39458de6a1f80f5c09cfe40c74d514627d45a68d47fab2f88adc8acfdbab074b72f87d9f46eaae139464748284f70d31d47c0b482b8c94a136a9c8d3e8f35302a05602af8f75983f065b270b816001c1735bca7fefdd37b0deeb8cdaa9c44ade6cd6f2d56284e0c79b764b569b59caacdb7f78f39409fcacd6e8e6dccf67f145f06ebc698096cd5eeff7f402d7a36597c7bd4989e3c77514c6d386435041f7ef808954486f9524f78434c38dff0604800cfd627ef84d5afca98d81b8e1e7b8b0b2af0c2b2382d70116dda6ce1e3a5f395cfceca43741c61a0b88c0eded9550eb2798d2446efef4f60b054c71c7606c219ff7113fa64d42117103a7cc4d7fe96b042e37a1887edfacc0ae1fd70e8fad65bfbe8041ff3a699836628365b811dfc5650cddebe40a44835f6c2738ef6054637106d6c4ee7f69a6f72633c9f35552ebe231644f19adb68c017daa8a5bce18003b34b3e3fa0852843fb08fb7877282fc98cff7c1879e249d83b55ddb236f7dac8bd7627606f524a44df1df61229bd6fc660e3718f13d0bd93d5ebaf50805e514583a28e8a9c66615ba722fd6187b8616476139147b433392bb73ec495f8ce55444d6c5589e19758ad9a88bc34b0a7e9897c7353088e71c5fbec7ab7daa645d9fe6d38b286ce2fa9d9a0cc6af5e749d1019a4986d83b9a6f54c41803c45938783134e54b0dbf6a78623aec3b6923aec68e3a52a809971807b5b65396635037ecad640d6dad60fa109e44395ac570f73f1002c625e0ccc577bdc1a50f2f3a5af4d97f4236198c862758e7792f81fca669213e4c26d9729599aac3de53f5bbd37966d5f2a9c9f97b61951bac115d6161c786a9daa31ff4093c938e230174b1372fd9eba242216f57970faf5c9e06a3732aae658e5bbd2398f0384c90e7ef3a6dd05fe70c91a8a49debdeaa1838d1eabfdeb70a5160ac5d84df14c9c760667502e94175e80d0a5104321cde94f08a226ccb30a26fc6fa15264b59450aeebe36f1a9dc1321157abf5cd5c2d2018f8b7737ec25eeaf2221f6d8b6ea98ee84d5e393627a7c576a276f0ea6b724aa46dc0b4f85003877b801e3c99f2d08773ac32819d368c36fcec2b57ab71e4e6ea0e189b68429e4f872efeb3917c6b92dd6a4b46d743f225919e9f4f86925f7222c7ec1ac061466adc62f5b462538aafaa75d6ef7ed3e022d442c4dbeeb95ae86bc5654f54c77c91d71c7c309601ef3b9679c50507b024da8fc892e1825cb77d131df10e4b53ff5d1fc1897c7fe3", + "b8069b185e8ca97f1772204e5a84ceadc892f8d3dcd2e3314d0d52894beea8ce9a536a88231f4d4386da6cae92841b9b90f78efa335ebca2464dd7017346fb53240150b5effbe0ef6b2d22398879ad07f981a2f079f28e29b73e67b58fa3163bb9411a5be962fdcf419ed7f5e67edb9c325aa6f1440d04a5111dc190e085e7c0f68365ab086f83ea68b4607f7219a4719e5c8288a0bc08889bfbe0dfc469cd9a90d440826ffa49296cd8b157a14f4383d47470bc139e2d38e0656b56f9958b5e08ac1802bffc142f9fed8df02e04ff976ead2817af9cc173aa9328fd73416fd105cd6d5742f509f7ea8864e13d4030555142c5507f1c2c74aa273cb9823e12c54d28842756504b966e2c157a46b20f57154ed063db1d2c31e55642edeaf53c3d078c255f168e5905689c30e94c8ef657e3990e3d32f09d41fbf6c4a360e3cf7957cff3888343f1b24d277d4dd8e70a3defe4cb5247b9f6c24f7469bf5d9270e9a1edd5e764ccd8b5e08927c066e08a792166b7907ef572dc9218600b18ca4c0de84870580871201db507af257d516c40c01902ac4be0a8190fbef31e71cf812dd3fd0d01cc6f4e5abec3bd68cefc1c97aef46e84923c08997c6ad565edbb70b0cd65856fb253cb35f9e10b485713cfcd5dd870ed6ea4d6490ef08323757b067abe2a1ddeb4e4e5b2471eba838682e0c611894bbfc1fbc831d2e6969798016462299a89f2a60860a5ed5fdc5854b2fb6c5b7f7e1b0efd261f70624c290c9207e903900faad06a7690b924edfda733a6e1b9541b556ff4c5585c3530349060eaa8576cc0e56ee3687fd087e26d933e4d0c5cbbd887302c3622a1a747096dedb5fc9cbc86b084df79d205cdfe29bb6e53b8f34d67111dd8218af04142332ddecb12e66d59307633b51d33e465b00b8126d2708d6caf45aa045a800b2860da7ed2b0af0f949a6fb164a9d5c837de7ccb4931c45b6b0c857c52f9030a377a75e5b27623e5d63badbd3d4d15dd9c36dd518f54a7f9f3271686fe5e606e608aacc9114e3ec0f6cc90ac163dd2ffde0fe8f2012477bc3a7a90b9df4233648634ec312a46994d4399ee5b5446c47c4d51658d88d2584bf7fedb329557ff80fcf1a94b03515561539b20e90e4da5c0626b51efeba29496fbc3091b70a73d9fbdb8739606dc5ee6d564d0f54d7febceb590be1e0f2b78fa7b21d5e181c6ba899c40d234e438bccfe37ba779cd8e1194a496e459c9e76fb9d8494a1182623ee747a3349b75bcd90dfc760f6fc72c174b5809789301ccfe6685c69968d1400ea9ecaa2441b8d772ecbbc8b8bbf0cde4887a9729298cbeeb2f9f5c8a823b0634818f78d0d4a79b2252fb5aeaa6c2b89b8818c18a21930e5b740cd842d049e02690fe0c10ff9b962068454d63f4a1bf7f6c5b7bec88db6810bfebfa38071ced9253e21f4be3790c5d96c6e99347b02d1fc6786aa7266bdc6f5c0e39891e772773ff348bf7e54bf21870692d07f2ba6558a20012d80351a9fe55ebbaeee155ffd13f59bab4917f75b1b8a0288340df5e06eee792497cded2f92016c00e44107b3eda12a007e84f9b81b09b21c22760e5d143c7acf0e057817149f07c055e049d96e0490f9b860bb80473a597fa2a842e0d20e7f2dce2eb2c5c68dab59d5205a5c9eeb3087b7cc798b02bd1bd84ac7d6973624fec2443fbbcd67cda5742651a441c0aaeaec96fb1186f66bc33f488c6f243ab16a07227e6796ab2124b62f6cb47255f2cab97c44dc94a090b366aeeee5efbf3846a47a886ff23b29dbec2a3df3b6295127d9b7fa6de46a69c7c195845e996a4384c07d1282dc7cd461fcf7eed91348d7481a4de5b3dae00f7326364c77f746e0271981779dc832edc3665628b504d657103f303443c653c1a1e898f99c794180bdfc2075787c0a6392e57b8afd6a517367cf614474ad2af4c221b448a23c0083daac98f16c9031504e778daf072db58eebf0485fd739e8431b88684f8cb3ca585577e8795415a16f19a11b5a60ae17bd244d12339bf1f5e9610cd19f1b020421c6b5cf6fd3442883cf10dd8ab6ccec576c81ee4cd404e89510b4035947a370442ef46a71ea93703505c240d8430c35d42078f45ff49b2fd382379643b36318efbcaef2d063e5f0306551454752b86adf5e406a9f190a0ac2fd3e8a17f1b02168e1a1a97b909e79c5e820376e6832bc3be73bace1dd05ec791590daf112a232a460a133e0d222d11d6faad404924c8591bd5900b34c829f6ab52fac5ff158b40089324d8e2ffdd53d0dd85b43995f7df351ec38825ea4deb1359e7fbfc8eff2135241fbfd484e1e832b3a680c8e228e5d5e5356818bf93d2b97bb68c6d6e528fcd6bc0fbc3ebb28ad842d94e750072d3a635e69969b778c8f14a97a2d28042a4071753fab49db785b5c41f7761ef49280a1a689642d6e47eb6e03cfcc18313729895c6bdc6bee62a970bcb247099c27c29733de0ed2de83674756ef4c84c41ffb7d47d67aeb8737ba082a33aea742601158d4843e55ee641a0fdc956a3bf2fba5f391b73036f1b4150f2908be5138cc0ee92953e2ef7de0455af425e8c5dcaac16b5e640892c56bf161ff1b94c16ff80bb0c3d6a876d072aeed92e4d4b1becfbee8b5c452d796b92ec452af4f8bc838e7b84dfdd80343983526d315622afdea80ab1ba296617556a993c9169f778c9d9e9256f4585e843fe550d1148d4d1a4891aa0fdff51a8f8914092a162f7959aa899fc3a0d105915bd88c05412fccff60504a0cafae00bb4880b6bd169316f9eb52835267f95c448cfd00dd1e409acc0cf2d7f5f6fdd1325f38adea4fd6f55af71c739ecdafe366dec44f3b544ae5c77c339e8fd5c7e06d28fa7207dd61518b3f327b35c6ab2b6e245fc4560770ddb18820826d95c743ffdce1b1a3af8a71c22beb5b5ef571ecab56373d182c20ccdcda91fc9a1b3bee03ee89cc38bf109cb0070c20d515f0b5339cc9060aabd23c2715f82a44bb10f2d956dd51f9c1d48dcd887b79723f9e7c61c87d61f1414d1ee1945f8defabccc0a4eddc2b5b02e2190d4510ec2b7ad404eeb28ad5a0c5eb838a35f39bf7fa91fc999445ccfa59391363ea6cd7ec389694eb4ecae97ca31524582f207dd120eecb0c6145885eee6bd39c8627c33916379a9d614c929adb64dd3fdb28c12b24d31b66919c4730cafd23fbd0266d471a2bd72b01cbe1649b56b4203c903b7c1e27fd00bdb8146632c2a5916ac678cae648192464082c747da12caf955033f4d942da3bd16690ced4653280abdcbe6ae6780a5512930d8adc6f7badde45a3426b78271bada4c28cbd4c5e5bb5ac958615ef129970ac13c376c7929d60ad1c629f8bab3c610649007dcfbfe6abfb66f4c4585082b1d9167a705cfc685f5fe5b17350e48b405e03a3d3d07f0ab0cedc961137e009b4ecdb9969f6ddbb92fc05bed560080d8450f7235b43ff79c9b460c29b2ffd0b67f4c437cbd8cc3badfe5a9feb3315c0aa6c9bfcb81c87547625038c804061e98346ff3633746cc571c3853ceff7a1842e0d2ddaeafd01f15758954ffac64ba46725acc1e30f6a5872fc090e47640cb4c804a59c55a5ed0316297a72f2bd4154f0452eeb785136f5d9befc4534b2ec2afd932c235c0c58f932aab15aa16f2cf7372633656c8623fab7291525e946550efe47eab479a1fc6c51132856ce09eecf36091892bb06f0f8ccc87f260c858873a4174ba1a64e1060a111efe1224c0b3d2c05e7d1282660b52e35c8f1a68a52cee6516e94b9746917d224c28f68ab4bb4a75a8b47ff343ea1056cf3116ac0660815bf0f6be1a6b98d713647d439c7e2511824026118a96b06c006d27454c3050f8bfbda087b3c7a8397383d652cc3b579fbeb309947773d6fbfdeda2940b7a0bbc2569b31dcac7dbfb8843b5a7bee26e63f734db3eb0773460d040238dbe757db9efb4ef872f781be75f357336b17bd84e2717db6fc23ab1a5c635a2dac389b3b6ff5bbad55711e807fcf207c80183f32efb5d47943bbccd96f5761c3861eb1ad3dc874cbfc5c25435c1a283c662cc13cd65ad6a807020dca215132f6a453ccf26ad4e8bf94dd0f6f8024c17729843d9f359609dd9b25e2a9b3c87622a751ace3ae47ac5675a3011c86d0ba3356ab8f9827bc726c956d11b4617010bdf90ddde46ab21423eb8ffe23da3cf551b23be964f9dbeb79297416ec4b3ac8e3dc7881aebed2a8c168e2c34316fcfff83602ff57cb99c18a71372d9f019fcea16abe0b6b7a27b02d99e2d67564986f122cae4205c0937bdd89a1de0cdb4fb71a4bcacc2a592b02be16e5d32ef4cddc4a52889c793dfe401135ca3baac0e1610f3bef47c89d411a53de275cb290b0715ed885bffe333a2df6bcd681ff0b47760306c0e379b07503e556a0f5313f7314c0d20f53cc41a75f07ef86720a42c88781ac6a968245fba509b43b67a42df8200981bcbee163c88d28b8dd1b70c61f0d558e0c5f827920d0b677e48915b99361dbb017e7df4cb5e2285557751b5dc2427cb7ff490b3f4566b3130b3c373fc877877149c8182c6e8c609eeb46bbc9e353d87cb8dd2fd59112b778881c30a87ee32618501767587e3bf64fbc7b8d801738bc9fb703fb8adeaa7699d4b227a588a4820dd4d07ecbead8910578c190465c14d7a1383b6ff1910017c3cf624b7a02dab9b2713084f45a7bac3d75012c3ea47cb39defc2009ea9fd083dd8b521e7df4c903bd39207ed5fa56c5dc594483e1531190bac65f348baa2159249546cebcf65155cc70b76013883af3df8ed1d8ae43da4cb26eab8d7e13a9ccbc1a8da5cd1026ef1bb5804169bcb25d6724775309414c7fd55d2fa219998a69a911a7e77e447fb12e3a2efea3265c728a0b14139436b50455669838f83463adb4ff0876285c5ce221ff704682f68949b2cce4749a6d442c6fe3a1fcf84e6714a764e19c383174b20f054c7f9488474ad2f8e572c566c1a33457f3ad24347e9f2517769c0a0842e3299b4b693492d5ac595654ced83e3b478676ea56dfc6a0430f356b6a5de1b473d5f9a6aaee5e4d31d1933340f42e09f245ac543fb2e2331f2c30847af524456563c0d9bc4190ab02ff510fcbcf5d8efb0f668587ef0023b0f4bdb193c4c73f7dbf1c7d662bb8e98fafb96bd9015c2b16b8fec91f764add9a57a5a5b25b4c9a836f95043b5fda20dff16e139c35922ce381d246f430036c79b32904979ed54ec4e08fc3fb006a62f90464b7fbbc18624e377710ba748782fc2ab80bb5133311d98a9d234601337b680073800c4408f44040629a3a0d2c6610a28367dd7ab59e43270ff10c3d29d945b01798d01169b13c061b4b60978df83702d7061bfefa1378b2ad3dda42a60179a5e3f080a3e1b8e36d9a689b1f41e039e39c500934d260bc1a51e0f6a87d5b65f65d2bc0bee3cb85adeffff9b0ae52a1bb80e1328a738964d91764fe1416a199b41603aa97fc63489238c6cd17c0d70a16c70118321cd1d3cd2536e40b782b40dc3c6f02d994a9a7270dad180345a48050119d96707c31159e12430a79b15330315c707e2d6843fef43e4454b1e033dd54ba498fe3dab1614aee2e290d971d4cf9d2043102231edeb6b703b4af5a23dc1dfd3f796c4916041aea90dff64d5c9cc9f6181ecd0843d6cc3d1767ee1d660929b953f8b4a51c9f10e90e1fb7dc1130877c46dc26b897e7c2b31cb868e38f9358d7997fc52335f530e41e33c\nresult = valid\nsalt = a1f3edc92da6733ed0c662ac5b9564525810e6", + "4d87a2b317749f9eb4068f4df93b5e9bf1f5f2033b8e4cde8782738fb46c37aa1023399f29562033cb35b65ea2\nsize = 16320\n\n# tcId = 88\n# invalid output size\nikm = 38ec0b50e79a870ca225d1e78fdfb74b7fbde0891a16ed1b6e7ce8889d441fdd\ninfo = 9a6c71fc1588b2d2\nokm = \nresult = invalid\nsalt = 78865524949fc5a008997d85b1ce5d33054ea061d6ff5d7bf74c9d36b3502f0b6fc163101376b241024ee063e82d5826ff5395124a18504256544f922b7c1761\nsize = 16321\nflags = SizeTooLarge\n\n# tcId = 89\n# output collision for different salts\nikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d\ninfo = 1301b63168af5451377717f7f5ed52de36a197ff\nokm = 084332b8a0ab8635227a3b9ee0737072f021c21fbf0b087940939f34f685c0a0\nresult = valid\nsalt = \nsize = 32\nflags = EmptySalt\n\n# tcId = 90\n# output collision for different salts\nikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d\ninfo = 1301b63168af5451377717f7f5ed52de36a197ff\nokm = 084332b8a0ab8635227a3b9ee0737072f021c21fbf0b087940939f34f685c0a0\nresult = valid\nsalt = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 91\n# a salt longer than the block size of the hash is equivalent to the hash of the\n# salt\nikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d\ninfo = 1301b63168af5451377717f7f5ed52de36a197ff\nokm = d41d1d366b10f6dd7e886e5030ccd01ed14ed918407c84f12f8b9a2ed3a5841c\nresult = valid\nsalt = 0102c651e047fed9c217bcf915520532d44999534c1e7e7c87311093d7a3681aff3e2d335b3c6139b9fc66dcfe35573b36a329a550c4cd20bfe2a90dfea50167ff\nsize = 32\n\n# tcId = 92\n# a salt longer than the block size of the hash is equivalent to the hash of the\n# salt\nikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d\ninfo = 1301b63168af5451377717f7f5ed52de36a197ff\nokm = dbbe9ebd37e2545d08d715013b50f31fd1f7089ebc2866191e49e774c537b17d\nresult = valid\nsalt = 1a57a60677a3c97fea6d4d6eabe0201452130c58eef435bb9cbc21eb65f1cf2c879639d10b9a580b1eda822aa5f406b939cea2ff9be10c56f0856709abf33a08\nsize = 32\n\n# tcId = 93\n# a salt shorter than the block size is padded with zeros.\nikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d\ninfo = 1301b63168af5451377717f7f5ed52de36a197ff\nokm = f05091c6083c24742adbe5fbdf10a941783517d568e96dcc8cb55db90756d8c2\nresult = valid\nsalt = cd920e8dbf19ed66\nsize = 32\n\n# tcId = 94\n# a salt shorter than the block size is padded with zeros.\nikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d\ninfo = 1301b63168af5451377717f7f5ed52de36a197ff\nokm = f05091c6083c24742adbe5fbdf10a941783517d568e96dcc8cb55db90756d8c2\nresult = valid\nsalt = cd920e8dbf19ed660000000000000000\nsize = 32\n\n# tcId = 95\n# a salt shorter than the block size is padded with zeros.\nikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d\ninfo = 1301b63168af5451377717f7f5ed52de36a197ff\nokm = f05091c6083c24742adbe5fbdf10a941783517d568e96dcc8cb55db90756d8c2\nresult = valid\nsalt = cd920e8dbf19ed6600000000000000000000000000000000\nsize = 32\n\n# tcId = 96\n# a salt shorter than the block size is padded with zeros.\nikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d\ninfo = 1301b63168af5451377717f7f5ed52de36a197ff\nokm = f05091c6083c24742adbe5fbdf10a941783517d568e96dcc8cb55db90756d8c2\nresult = valid\nsalt = cd920e8dbf19ed66000000000000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 97\n# a salt shorter than the block size is padded with zeros.\nikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d\ninfo = 1301b63168af5451377717f7f5ed52de36a197ff\nokm = f05091c6083c24742adbe5fbdf10a941783517d568e96dcc8cb55db90756d8c2\nresult = valid\nsalt = cd920e8dbf19ed660000000000000000000000000000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 98\n# a salt shorter than the block size is padded with zeros.\nikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d\ninfo = 1301b63168af5451377717f7f5ed52de36a197ff\nokm = f05091c6083c24742adbe5fbdf10a941783517d568e96dcc8cb55db90756d8c2\nresult = valid\nsalt = cd920e8dbf19ed6600000000000000000000000000000000000000000000000000000000000000000000000000000000\nsize = 32\n\n# tcId = 99\n# a salt shorter than the block size is padded with zeros.\nikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d\ninfo = 1301b63168af5451377717f7f5ed52de36a197ff\nokm = f05091c6083c24742adbe5fbdf10a941783517d568e96dcc8cb55db90756d8c2\nresult = valid\nsalt = cd920e8dbf19ed66000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nsize = 32\n\n[keySize = 512]\n\n# tcId = 100\nikm = a75ce5b072311acdf290ceb4c6fd25eb6c52ecabc8ed1ffc698d7556d1132180e2888bbe6a798d891e0c8c5e0f79cabf3d27df56d472be152aae155b52d9a9f9\ninfo = 69d2aa66efec2cca\nokm = 8b025c9925f105898fe8f75da1839b683beb73e349dd08b79a3d80a7b29e7d9c1eebb5cf4c902371b31376e44d49ea39725ac912d5055c8638ce0771a8edc999\nresult = valid\nsalt = 8df18f4f797c4be88ca6b2935441a1100db080759c042a6d2c37d2e6fea9fd6fb066805c467b7557c78d078ae44dcb886e5e3d5f74a96bf6394aad36847ed8b7\nsize = 64\n\n# tcId = 101\nikm = 5be4b9756eff71ebe87fdb5933e5d88d51bcaf384cc289c16ec642d67f2e9236c04106e01ebe7956bac010e4107b6b788ed8b3916a39b59c7c01161cbc2671a7\ninfo = e496bea60a731eb7\nokm = 02487460b110121d3df3746d7860332b6d67d746f96ff8e7bcb2d62481b653dcf67903b25aabaf9031b370959105c9136536b52dab810cf041862e73d3352f77747814aee2d74cfa29840dbfbca242f38b95ea26d4a540edbdab3fbeced1c767d35a73b4c2ff180eee75b4ada9739b7bd8c75c3bb03589ab\nresult = valid\nsalt = 336a871d315b7d2ae0a0d24febebf0702d9f039ca97146cc0aa2341728824e83553e6eb166e954dac33e4d6a2437309d0980e26d1c7665ddc79b2e9ba3354262\nsize = 120\n\n# tcId = 102\nikm = 45102dd5f609c2f9352b91d8b492d83b5ab34976372b4ac814bf82cf0dc4f3875cd31dfd5897022458fc7bb8e5d2930a620909b7385ba4e48c8395b50d7d07fb\ninfo = cf6db9210ef18e3d\nokm = 146e59745a9d65fa6c98308b6f162566045d2f459a09eeb7ef7cf15e076fe8093fa202d15b12063e55d4b5ab4e80d58140b2664d944e33d8b2a72a3ac307ca51c23976adb1ff9ff04fd0fcbd21edea49890c12698b0600b3b70a61dd228542d47e69797122f0734c08d53f51afeccea785af1028b35e6ee911fa0d98f76e2aedc517f35d719c199b6a73aa867ad31253fc1c1d612ecc913b70c2f6b983fd50eccd8a20172052c8726ac6ecad97b8bc8770ba5fd59eec423160828fd8b1936a5ac5bbccfb6398cf46dc3e19df40d315091f2ae3df875334030418143e7b791cd1f732935482fdd585fba2f495973436138c7fc106058f9538b92f055ea3bbfec1\nresult = valid\nsalt = 76d1494d3631034558ac7108a69b79f7e38a45aa50783af41bf8c19531fdb30782e7689a50a4eb1391415ab2e6085b1e246ce0e6c35a5e02910c072a241cd8a0\nsize = 256\n\n", }; -static const size_t kLen79 = 29254; +static const size_t kLen112 = 30701; -static const char *kData79[] = { - "# Imported from Wycheproof's rsa_pss_2048_sha256_mgf1_32_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSASSA-PSS\n# Generator version: 0.4.12\n\n[e = 10001]\n[keyAsn = 3082010a0282010100a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d50203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d50203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 0a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d5]\n[sLen = 32]\n[sha = SHA-256]\n\n# tcId = 1\nmsg = \nresult = valid\nsig = 4f01e0c12b08625ecac89a69231906edf826380f37c959a96690d046316d68ffce9d5c471694fcebfc6b45534864689256e4fc81c78e583f675d0c94b449647451e81beff01a11a516d5e5ce3f1a910437cb8a3a5096b19fb15f4524a35b23d89cdba12cf5b71aac1047b28c562df7c5542c34ce23a182cf7e0e231934b17294799d44877a1d68ef1b8f073619b7618e6b7c22db20030d98cf591ffc3d4da5f58613ecd5ecfc3b40a1d02f40891ca43695cd4c088b05a8054c89c595a47e274816f35384226f74459ee63e25a1bfc03c360490552ec38343f8ace502f065303b00bc0ec320711b211fde92e57feb9013c3609342495ec0d7cabdec21e54acc38\n\n# tcId = 2\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 0658c68fe0895646056d9bca422a64fe48813b4e14f0c8c4122e56d345b6813dc6286ffde014617e351c7af0a0d2c0f285def79cb734e1e055a25fa6fddc1c07da17b4b235c637413b1849c24311fa72331f4c0458c364a4916de8619b884d7e37288fad12926fc091f4851686a04fd0a504dbce3db370663a6ea6128fea86c2ca94c63e0d34d7f2c845b5d71d9a5e544451f524a451acb85c49bba7864e0a34a48613a819caf3dfd0d510c940f1df21c3373915be1f3509a557fa4d5a4e9f273e85467961133e2482c0907386454228fb0246638616fc31bbb6fa7c2361b8035994eec69a923f4c0bb0ba8696dfe8b1400c2398d7b343fdf498b1116c8de602\n\n# tcId = 3\nmsg = 54657374\nresult = valid\nsig = 401eb03cdb47ca88033e3030f6bdecbac8f5c8fc1dd6a13d23d379ed9a2b309891d13d74fea9d21d159b9e6d8f37efa2489962e24555f56dd434ff1d31ce4f9f5abd3f22cbea8b691d6a11e44efb83e2bca155e6a164325e0fde2a8865afd5c9f51161a9d615f62af7ec2e31b3e5ab649c164490d31d88cfae35b84aea7925690f929a144b6d2f48e8fb894a52deecd1b9a6496990c4ecf1588699a42cacd10c53af350514e4291ea9a058e77f101e32c1c0cefa61d945f7bc931f8bd19e7ba3169358a60e5a8b0123bc3199b9fdcafe8e519c41ba675491a27b85e44ef2d77277c10fe107293c8290186913bc9a99b640d8da041b64f31eab1d35920985f4a5\n\n# tcId = 4\nmsg = 313233343030\nresult = valid\nsig = 68caf07e71ee654ffabf07d342fc4059deb4f7e5970746c423b1e8f668d5332275cc35eb61270aebd27855b1e80d59def47fe8882867fd33c2308c91976baa0b1df952caa78db4828ab81e79949bf145cbdfd1c4987ed036f81e8442081016f20fa4b587574884ca6f6045959ce3501ae7c02b1902ec1d241ef28dee356c0d30d28a950f1fbc683ee7d9aad26b048c13426fe3975d5638afeb5b9c1a99d162d3a5810e8b074d7a2eae2be52b577151f76e1f734b0a956ef4f22be64dc20a81ad1316e4f79dff5fc41fc08a20bc612283a88415d41595bfea66d59de7ac12e230f72244ad9905aef0ead3fa41ed70bf4218863d5f041292f2d14ce0a7271c6d36\n\n# tcId = 5\nmsg = 4d657373616765\nresult = valid\nsig = 599724adc1bae31e84eb6e1399cd90cd67f48b432c63719b600402384aaea9b21ee864cdcf259029180877c847a223912b0647f066a59a65df6c2d3a6675b1450f0b05185cee486bfac56cfded182babcefe60568a6954f026cb2f59002a2f755e9bce49793f280d89822c9bd3a06a7ad2209c3d6cab7c1f74c8bbf4bf374e7ae8a539fccb83a78cff96a4f538adeba0869659d0e9647d98f96cb55d9cb7e58440c4c9d85b8e9dc602e909e29e45f2b82ded44f40e9ceb1292da20063967e3a116f4aeb202863cea523f215b8ec7fc4f6a22cd8652ed661e33803f3fa1be966fa8754cc7b0fa894cee0f045efba14c4f4a1d7cb837cea69e30522526b8a5878f\n\n# tcId = 6\nmsg = 61\nresult = valid\nsig = 4e68a8375e086990bde05fc4bbde2d368f8d96a5bbcf16d9239fcdd45942d764fc2317d90f4f62ec80059490240be8f32dfc32414a427c7e34be25ed0dcaee6927881e797db97a0341fdde459b9cc915d0a348e15dcbfe1b0780472f52a887faffc988a9ceb677e1cf5638e44a9d6f2532417ed0bde5d67f5dc9229ef1f3cfd9cb46c695738fd006cc62d02f5df76996270223060f72505ccfbdf4e88d961e2e7763705480335148ecdd23d1202c26a963860dc769a43e44c72285092ba7f24d81844e612bf03f9c2ddd4e5960622f71672f4e42b8a8f36c6847a05f70400207471c575d6a960fac1de809118efb52903ca37f12d40f6de74decb9a5b8a415d4\n\n# tcId = 7\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\nsig = 8bdd6db90323f3bf26a36a4ab5b92180c96881bd32b66317c4b48c2ba1421f8434000c06adde4264c6ea2d5346468c6d5e97cb13d3cb932e523ac57b59c814fa0397ca6dcc9bec4be1147d77abcd318a6aba1af46ede2f5640da06511a006fd1bd5fb8e04be22789956adc47bbec7988be477150f9b24a07dff51530e8f0c14cfef7d25ca141f512939987b7eb0825633d41a48742bd7f56d4db9733d92ac0f36b4041f51332695f551ec91076da2301120c438eb9ec197cbe318d4571b6b79098d17eded0ca47747a143e34f882ad6e3f490f3a710ff7ec1bffce022027165d96281e593180c67f44aeda9ce6605e6b8e5eac1347695dab211a965bb3d3f928\n\n# tcId = 8\n# first byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 67d1d1c0a398148625317c3f5e44b738bdf461c27a59594b39ebb2aebef233c7809379e54411411b82d2e7ac88f989b58373d532c758baea121878ce9759441738d121881c1fa2d04421f02dd565b12770d844611ed1873a0b64d822709a6b78d6d3892b294404bce6711001d6c3a54546c76a1d17819674b0be904497a233b466fe4becc832dee740f9ab79e5b9f5db0b0f9aac0084ba05cebf42303b5ca2ad95e3d61b29ed6475545c02e93e7b0e118af92f5cddb1faeb2cbc23c9e69c120e29df7fe31991e887b3b29e77688c60e80be65cccf3d7861a7a14c39e6a6e5645568e2cc5e4a17b75db1dd415aadb45e112a9b582b2ff6e82a43d7a7347b7b56d\n\n# tcId = 9\n# first byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 842348f2b2cdd4c72cda7dbec0fb8b114e419cbfc1ee1b7ce5d70ec56a833c4ebc8c114dc3c92164b13f4692f236d6b88e5618b23af9fa979fe9b5d8eb228b1efd0da8e47b4c4042965c8b9f08eb9f6fdf7e472c88f532d4d851623b4bf99e021e82ef313c7d93179af810b70aaf929a395ece713d5fec3339e394210b56f1edf26dedfb04083bd24eb0d3ca117761f38319c3b97a9453993dafd3d2dd8c01cd63117f8fda46f52565e4d7de9f718f1f23254c4f9ee77ad1414af4d4dcf959a89bef438329516cc9b79149db058d206e6d7c0133e7c870335f0490b8c569d787443c4a84ff665dbc6f4353dec66f9c488a3f91071ce19553a7c156025f1f81b2\n\n# tcId = 10\n# last byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 77c9dd7786f0b5cbe76f20abf24361f8979d3a6c6c122e798eda906b0b9700cd2dd26e5286ddd39d07b7c24379cb40f8350354a36b0759bfade61d3d770702b58218c5dc64ddd0d5fce405a16fbc4de3a5fbe7737032605c06ac82e174619c3004d24bbf22bd1ab3e4d432b4ae36c23573cbad845c16a1842e5de1a3bfa2f12d3496a3114fda830dd6061cf538a4571fe088cc03dd7e8762fb08b84501843f5f0362a4fb097d6fe9b96970c0c505d2f6a59754c42684908627fa8c734ecd587c161de7b7bdd69924c0b4d06cb7db2a70dd9257876d1da1ed8cc00fa68279525c346b7256c916ccf1df9386ff9d1eb27f0a5d83a00a2738fa2dbfaa500baea789\n\n# tcId = 11\n# last byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 455221c385f769fedd123afa37a42b7477d6c3ed968ce44d4982c41ad29a3f59baeb2b566dbacc91b423fbaec371f3809c20cad6afcc2b8df782e472c954cdeffca49553f6eca58781894c67fed1d9326a53422f9642031b69ff45e6a826d18e4241b5214231f7d252d4c640386a17c2a1839ba9c5a34e94b2b8f30fb259fa752339f134e54375a9a4f3a5dbd5f3fb93c38b59fc33a77dbdea9b8fab7c209e6f403d188958b5fa5481bd22", - "5b266bee6761132104890c8c25f04583084eb01c266ccbca401617120c61a388cc683fdd5d195c8dcd48f4d1a9be80c07727f78a10cd26359c8dd1d87614f8acac1506c5bba79b30c0af745c872433f17e8a52a94e\n\n# tcId = 12\n# all bits in m_hash flipped\nmsg = 313233343030\nresult = invalid\nsig = 5d1f5b3ada8d4507a7447829f26764b9f794ccb4c287870b5c5aac649f9272fbbe22f064cb75e5b3813bf874c6977dc286ef1deddeee1a84a9302fbbc9c8f86ec45eed5469bb85eed8618efdaf29ea4bc0a9cd0c0be71e82bdab6f15a9f7a637f297e0b5ad4c7885bd27b89f4a52452f0176df3d266f9c13fc44d3fcc3e71e3cc5ede3fe2555ff2bf2b72a2198af709e29c2f6f5ce44997c02ea7aebc9a33d0c609ff0f586e753e585ee5052a0bf2f71247cf43ac244818c84347662338384d6c1a4c9b9ebc14f912db688e658d453bb2082c8def4c440a6b25e03ea4459c1c9bd5495e2ce9343439cbbf03affca63856cc50936d49cf2dcfc73679c9aa32e56\n\n# tcId = 13\n# s_len changed to 0\nmsg = 313233343030\nresult = invalid\nsig = 5e91b5dcbf02d6f19621d41a83dc8f15ea83c0edb83765ef029b0acac2e1ec8918b1d2afe1fadf11c48d27594cb9c01fed79d90e5d5a8085c438450111aa7d9fa39c2345b14fc3c2cb34128f86db5eb00bdf8dfe38d61f29a41fe31342e7aaefcb4b122eb5d63c2f5c263c8df8450e9428ffef974d535818d51dc03a7d60c8b2d16c999ae46d73ab40515fe601d9b89b1d09c6d60cd51639a97c1d211e097609ba5e8c319c6fbd21b34a634ec8fb8971c5aae21c70b847a4539cc10dc314ddd8a9629e8a0e51c66c0cb61fd1f7228c01c6769190abe9bac9a3897800050014358594e0fb20dbb458b12aa1346826cc9f7e9c5352b073d62853dafe77c848cb1f\n\n# tcId = 14\n# s_len changed to 20\nmsg = 313233343030\nresult = invalid\nsig = 57e8cc1dc00c07383d89a79b5c8e4f5bde2a2ba55a3c7201b3291c4d805b1b2eb36f8f326b542342da180abe508669bb6cc2dd54e327bc70c1e317ba93a0fd21e7fce22a0c597c7420d1d5602ac43d9348ba3eba561f250e301ab955b0dc33e4abde32946b9b3e86c8bf07a44646ca595960bb988fef04b2824967e9da8b0264f1da0659373935313a574b5380f0b54ce1bc0dde423bd3a54f6ae5fafa772a55c1c44eb6edffecf13e6e5e1edaf87a79e338577304141fbc44f0e9eeb286f553f879addd6e12e436fa3af51ad53a72f2679f0ed102d504ee08706fe111eaee49d880d1a0b91924b3b79968ed0f9bff446dac199ee89b158c074927d27b864498\n\n# tcId = 15\n# salt is all 0\nmsg = 313233343030\nresult = valid\nsig = 1591ae743c58ceb723a76f502e21ff6a65c24cabf5f527bab5a6f2a69f20c776fd2251e43ad22e09b1486ceb1935b2dc2ade95e233f296cc0e5a8af8109659be76b6bfdf37e14837fd6c34bfed1f19ec9d21f974b984fe4d4773896ebcc7fb862fd641cd0d77178485c70c2d68b4d9be1d863f6f254b77991fc9053f5d5415d1aa74ba9067e2e6607fb651638c9cc0430a40c9b691977b557a31d95a290a95b56ef2ec8e4313686a9c5ef48235912b210fdd2c50aafac28131104c795c42ae75810b0284b2d257e81ecac4240622ebc261ab8bceeeebe80f1cfa70f18d782aebb97d803ea3a895be541be6941df103eaaabd870848bfaf58cdaf6cecdd5a10bf\n\n# tcId = 16\n# salt is all 1\nmsg = 313233343030\nresult = valid\nsig = 6f2f650ac10d5aa2c16703f657233da8c035da67a6e9e950dfd0391399da3a86ca7837dd7cf23e864d9cfca1fe77dae45a01ba21d23dd918ca7bba094aae376100198f59834396ec942fcffdd7d6a44953f69bc60291b1eed5921a0434d8b8953beb9d1e1b15fdca7090fa5c646847c0b759e94f056911ad188d4b0cc399c8c345757d5022f1a38926de0cbda8648a7affd9f031262b1079a3681d58249186fec4f6e98bf151c9b680a46b88dada9b42cca365cf908ed0501cd21e02a5bc4c0675f23ece50987b703499eeb94b6c40b5cdf22299776fe30800f887a1dfff18cd8a7da8c2388060dcb78c925c54b4e620cd3fe7546accfb3bbae9de08ba886009\n\n# tcId = 17\n# byte 0 in zero padding modified\nmsg = 313233343030\nresult = invalid\nsig = 37487b948dac95a1e57bf1ac40888b8e074cf9db9c9825e7b7267d3b105a8c67cb9b33c0e5fd641836798f41b8b1f024b13243da4fa5e527098337e5cac41e0523a28fb135ae060e7c1e4eb9556222bc43bf1659f65a2a2db108ac9b7c9942a5658fcbca5622c115e34ead883ea4ef03f7f62990f282fa791b04489053771329a482467cba8a13ad98f27ff7b61c24a452e085d432130b7259e59b2866e55320119b21e3c706f3596ec174517c43cdbe957e012b573961b1fa925373945ab3209a1007d197e1e9301dd0afa485acf6643ba0587a69f7c44bdf1e53c32f05a3b96db0c462509c292d7de09a6c78ebf1131453d37ab037176011296730f57cda97\n\n# tcId = 18\n# byte 7 in zero padding modified\nmsg = 313233343030\nresult = invalid\nsig = 241a3a7569210a47b83125fb67039a68d9859b971a49af62bfd4bde01e3b955ab166bba5165657fbfa519573027ef1a0f40cf7533f941d64e09fcfcc35cdd564c1ee0823166dfc054ed93e01c5831c036920335d8b8daa32220dd5c0b6a071f08d19411c6418aaa9883375587b19f0720e79f184535d7ed8c5360e667ade541c1ddbf9c0629255d8d286eae8defd34f000a3be1fa7fea65a4cd4f64b11c641806fa57d67b4c6b7b49892f38dc5d13abdabfaa6cb91ed6022d4fb467cdb6046b13fcc8142a97bc34eddd045796f4e19b1885d04c51f53e5bc0c272678990aea50a124274cdf048ecdb7074ca86f36841a7ade80a8aec6a653a0292c82a1b5c678\n\n# tcId = 19\n# all bytes in zero padding modified\nmsg = 313233343030\nresult = invalid\nsig = 484d71be451d1f3667e01f3e7f1a80db9764f751ca87ffc6352953a773f6519e8a0f210d6d43b417670d9c0ce3c11a668cc83394a5e2d7bcd4ae98e50ed26c0ab66b41ad2e28fa703f2da04db0963875842d90a77899642dc297cf37a76fdb007a990c5b7af83e264be9323149fb680acb69a19e0c5aa949c2094e0a18abfa1b199b73363654638d86f9abe73a678ff0a41f6b702b70ea1aedb287add79b9a7f4a97535d0db46c05983072481dbe43fe6dfe33229ca1aec42e19afeb5bd35f1e44264c1fc6c18fddc95fadf1b1676f185e5b55f9a2bfe6b6d40289f240633513828a7b967748bbf0ccd1d3fb9f6240f31790a789d8c709c278ddbb0f706778b5\n\n# tcId = 20\n# first byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 3f27e0fafc57629ccc0432827187766a30537e821a2fcd5f1088100d4d8b6a6a9ce950f51102e3b55167d4b49e0b6a306e0fdf90837d0630859093e90a94fa564b7a4a82f4ccb772377e07a2b5a6873d98bf665c92df1ce7cbdb583cda83947b3c9c3df5b3807b470f23f8d08df9fba78e13d6b635f9f59d2d4baa34831dc6c3e5a29695645b1ed50f3a3389e9e119de765e6d7daaff0b454eadd10f445e402bf3cf4d14f4d16c2d9e4fb5571cea7929d53019d414d118e82d491bf3fb3bd7427abd6eb48a0ed277221c42840eaa1fd5e7ce658f7763099c1d59431e498cb58357a659aea8e181ec0fb5ad8a55d1c0f129500a25b85cbcc8733fa3dfa9ea30a4\n\n# tcId = 21\n# first byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 006e3f343b22fbf5cce816efbfe06636c1619632665591f9b1fd2bd0aaac9a0f776c501d7a232fd2edcc12ac63b3b56aa12ae87982c1997e5ac5fd50f6a5c350e6e84fc17d2149547babc4830f8c2eef1885e4bfb15c9b73322b693ea74eabf43e5050c477c0e75ecf75cfe487f41f4a2df4972a16e0580d57946d504fb073f23ea691086e5bc40e2b2e1dd653f2ab201ad609fd06983a5cebb98678c039150563f6c944bd6558b422de25b9720887d97ef63b34cdee0139391c48558941ba94bdc0c22e605dd9cae669406c3ddb361787ec6437c87a688b0c64f0290b1bc0ce17466592a48b83b27f0442bdb15ef753ad56eaabeb08bb3b7ace7f9620fea113\n\n# tcId = 22\n# last byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 838d0ad34f2393aec53682ed48f937a458a32216a74dcc4a1e591a538119c3b56cad78b1c4b722948373c51c04a50e46fb5f3034f43c5d260364617e6f03af7d75d66baf3dfa1ca94e75e77d304c63ea5015cdd7fb1e1cdfbd6b5ebef2b2addf697f14c97cf9b5cbb1bab7f612b3a428d32cefbb788bdb70729e53d5b8cd14f586aa2b9410bbae2d093bd11f491469479eb640847514d72269cddab484d882aaa9761839aca9851b3d409211de83df742674d6305cc3a71143fa5077bce9d3c8da1f6da0df5c271f048ba589e5c34a23ef12747299d9dc4299589364f2137ace59781e3f01011ae145a5e1af20c74516e0b56d729e49b3de310c197e7a760efa\n\n# tcId = 23\n# last byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 6b19a03c774e1c3c24ea889b552e99fe0068a6cda022d5ccb6d75a447cfa0b16b5b144208dd407e440230ffaad4f12a0746da108dab5d4f162bdc9b24dc68a2e9e077ef5702472c4ceaa89c29cac41b4782b92f6c87e014df2483580cadf2b455f823fe12c9c79a155ea32a9f1ed120fe0f13b10ab4792fd94b99e0aa6ffd27c04ef7088e3cb935436529650894fee6b5b78e0bb5aa59ee7bbb2fb46af784e2c33eb76a12cdd7d0087a081d82d3e466a381dd37d25d3b4a92756723cb1f1f49d0481d12baa21ff77c0291f902682226d99d77d36bfe58d1825988c97d9d00e15ab48c9919583fd60593fa93ab1ca8e7dabaa912f6535bbb05e82bbfaa8537b0e\n\n# tcId = 24\n# all bytes of h replaced by 0\nmsg = 313233343030\nresult = invalid\nsig = 682673d7c98ae70039e9f259275c884da7c77136e06d47e8af72f82a09614a08ed125c6d3a80f701a61dc2ad967e9637662bf40b48543e5b620daf37e3088d2a54a8c5147ef99227cd5cfd0a478d1fd1ec62c495cb89046df756908621099913aa4142c3dba2a62de6a8899f0acc7932e33581d4102020423a99876777c59292d597428f50b846a39d709d38c3a842f9a9531f26dc2a11f518950eee92560fb6b6667a113237a3e6d7bdae48bafc90a76a6839b97e6301e546f5b136ff23d662593f74920dccb56d47fea557adca4b36820469425cdd4071ade7c5c14f365ba4e0da97cdd62cec66fdc724d3f309b6297c1c84091a74d656b4b030787df593b0\n\n# tcId = 25\n# all bits of h replaced by 1s\nmsg = 313233343030\nresult = invalid\nsig = 1452cef4f4e0d46ca8caf3a628074f7ed0acafd0a16c4c4c423cd361cd61319d5e912b162bb2b7326e56e20d5f9814d6339e0cc44da9ba1be28e473880b6276a86b8cdfd91d2f5fa830024b842834bcf2d425c48b5a58464b7a3111f55ade", - "2d3b9cdb958392efd559f6b6136cd158e157faa4b7ee86a3457dcdbd877b82d53c23d6e71488e554574b78f0be72da8d4160aee680ce485f9fa544562a12a89328560a773ff25138decf4200e2558e3b5a364a4372cd1f64fb25887b8c2b3938aca10d8727535d0eb0b73af2b7ad70656f97c5c1a97d3e2c2d1cd2732c5fe8fdc5ba6f554bd5190a54742313a6175db2a77d36d24934dc056d66cc6bd83abac61e0\n\n# tcId = 26\n# all bits in hash h flipped\nmsg = 313233343030\nresult = invalid\nsig = 2f5ab041e87b74c0ffa6f5b0a4c5ec8d0ee3d2357a0fd2face275dbc6b50a230f2108b4b37fa45d5bb1211fb26b96d315cec9391d198ad7713faf3c4fb60806cbe6378c7a08c2e75a67848ca98c80a02680650eda98ff0c818f1e7af9ff3a3236150699a4c900c394c2a00ea65b39fea873504898c6fced5e4520bf3d69a11debd3e66ad681b7d03bbca940fbc809f03f99079d0f24f31cdc76afab73ec0b4f5baff4437b0a304a8893cf593bcf47b2f63a401f1b456f1741b3b3641e3154e6f4bc035723fc3532ee22d4f65a3963c1b278c1a9a8ce7e04876e8c327a70463e3785b9a5aa5b4a50cb4e35d92085172a61cc5407af2752a59d06b58a242926328\n\n# tcId = 27\n# first byte of ps modified\nmsg = 313233343030\nresult = invalid\nsig = 31ce7ca597f76ab95d47563f728ff93bf43d9864e5bd1229b824ae26b5a13c79f6f7957217b37e1af0537fea81616187ff08a0d5c98a92da8dba61bc5c14da3321fd1146d83c2cbd0ec0687d81f6d7349f5a0cab0840e22cbfa83f02a79d321ff88830d47d4842c0b032c27a181ac06a42cd0bfedaf75f2daa53f64eacb5986545bcf150b8d433e66b698f2553f9da259bec319d8c0cec05d9c320e7300463d41eb077028c1e0a7d6d87d4dddf54c5b78d6a15e4527e37110b9b9ad2f3b2dd0db591227d41cc9f26f2349581dd89e0ba639d0cf9f8c86fe819dbadc688522b58d7284caabf843e7143395255e9a0d710ffbef6ad13f6a9361e20d2f6f5a414f5\n\n# tcId = 28\n# last byte of ps modified\nmsg = 313233343030\nresult = invalid\nsig = 5798785187910703680cb2109f492c3f0a91b4a8f11d3da775aba891eedec3d76fd30a939f5d7a2baf7290c573e886cec8ecec0b1598f2cd169d53b4abf8accc09709187f32a12c80fdb42ed98d9e98b0923828f0e38acc338234f7b7a0ee377644a655f48816ea4a5bff0f6d63c3945dc3aaf921e9404864594bc323c1f3ef42f9361ed6cb8fcff2994293e17865e2fad2d885277251fa24d7e7aacebc48d61c3b48047dd7c99826b3105d2f820cd62404cad5d758da461af67677e39e55086d8fa52ea0334bc3b77f95191ffacd28ead07a34e4672577c4c65b5bb9d5f9cab6e1f1242216291b69a0c98714452f01f37722ff26589734cf6020c5ac9196374\n\n# tcId = 29\n# all bytes of ps changed to 0xff\nmsg = 313233343030\nresult = invalid\nsig = 3747c7c116cf30567e24fd4213c126ec84366a26eb304a65d144dd9b453054df4e5036c861b5807137934b1cef351411e40654bae5df6fbe3c42d763407f273d3dbe059fc6412a366775603e064b1561a58e70860edf954dbe666f8fe44f44f87df3b0e3f3e19c904966ada52f00806f975f256d4a855cee973e20f33c31f9f2b3792fcf326f075f86f275d8ef8df2dd0abac83d491d485fc167cd40f3802f66036df4fd64fc441ac8a25b405d5ef960127623c269ca836671a66a6bf2f39c0792dade17564d31863c7e0161ee0bb88522ac0c9054bebcedb603a2d18ddb0f64a91ca5a2f0086afd0d8c07cb0c1e7f24d12f866cdcde46d663c1d4dc7f7c6f62\n\n# tcId = 30\n# all bytes of ps changed to 0x80\nmsg = 313233343030\nresult = invalid\nsig = 1377d4997c03d885e4b95f0350b1c8091a4d9beef9533dc6abd194a1439c383622b9dca5a49da247cd55c02186829f695ebb007ef0535c4757baad057d7bf76dcfe37cb9181b0c290db16d0abc51ff32d03b6a8e56ecd270dac231c81e50c7e0203d22b991291fec650b9904b2539a8a330172843bcff0cf46f06e32f55bec1f5a734e70ec8e4e8883e3c22eab7561d9c76737025352b5c9fa9c76eaacb909d23d0d7d7b6f1094ccec8ba94f149f81946faedb39ac557cc28817c9114a89a6f720d849f90cb23ad202ed4682036b3cb70b6fd5df0225900eaec7a21e39fd433d3200aed4bb4abc3b531393fa462fbc920c918f1938d33ca86e7ca3bbf1d34d74\n\n# tcId = 31\n# ps followed by 0\nmsg = 313233343030\nresult = invalid\nsig = 7d0f3cebb4372569e8f02df9f42222151cc31659df8d5078e9ee8e91030735d27e66da8c87039a27ac28588e8431d7ad1583534e8570318cbb2554c07016bfb02fe59af00576b7908286f4b27e36f768a118c3f3a1ceaeffee03a1b67270c3e489cce5c5f1171e0a8734553403047faff680dbcd70bf0fc1f0f4461bd4e68c6c0978da3490a137ddd8f62bd79c6a1daf70f7a9a3e90056ccd41c62f04915bf128f74dabcc47cba85b0fae47a04da32e17799ca150814d27793816e6a198390c35d1f35abf6816761a5ff0c28b1e60eeed244b1f24934174a1d2c469475f3eb8842eb9f5c6224386994aff9579f26ea7d73c668a113ef7dee8b2bda576135d452\n\n# tcId = 32\n# ps followed by 0xff\nmsg = 313233343030\nresult = invalid\nsig = 53f2db262358c21792eca635806ea1c1ad041d9334e977a25c1de0fc8233ec6f01737adcf1fb4dbedbd0078406ecad921e37c77d4585b5eb5ecc74c07ada1864a3c13acaba9372f852aef55ff2dc42c0aaef74bb656b8e0beccb7b9eae587fdf3b52eb678af1032e60ad12321c9c10c445448df523856ad262208a06b8817ee229df825f080a72d5e1a43f222215824a8ea6d455c80b2563c65be1eaa0455714ae576ae67e46d006934cf0c137b8c9900af9ed716391ce96ec43296e83a5a10390ed91f2e6753ed0254f0290ad899462b3b7af42c3c5f0893863a3b5e6052d3a6dee554746960a07fb6ecdf781e47b96023ba01cfde4c7214611a1be5735e2fd\n\n# tcId = 33\n# shifted salt\nmsg = 313233343030\nresult = invalid\nsig = 11e8938238a20f0e6947015987380dfd88a1661606bd05bbe4298f4746e81e3bbf34aeceba5360f1839ee0d7d7fe3e578cacc2d24b15eefe2064edb1fd04ff9a44c0a600ebf00f64fbb1ead4246e5ffbad0c22441ed073462f26e30b61a0a9142b4f993d1b26fa32e11382da33b9eb5855cef6736bec2f4f5bc6bf82fdf7da62346a4d9696c53e1cfa789667b721f32f7779daf7df85474096a9e9a7291afc76df3a66c7a0b997b41bfb71fedbdb4e65095efe1a81d35b66be55432e0a6e33905475b46a94e05bce7fee84645f500d8ebd7c0282c35f22774e7089262210f83ed485cd2b045acd5d62b4bb53dcbeb2588dc6535518189cb0220a7c9406e454d6\n\n# tcId = 34\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 39a8e947c919ecfad7ee28bb708c1f9e825036374ea0f610bf5531d89b813d506fd00bdc15850b250ac50fc556a676c894fb641dc650999eb6239b91e2c755126bbb9fef5783a5ab834e0ad91c60e720e80e096c091167a2a1dae838a16fe0ebaa8efb3573c89ac5d8e0584b5ec4e2168ef097f937ef0f0d2a2f964a8e6a810dd15b9c27b234d788af3c4f54dc97035657ff19f2835555dbafd02c4ed3c76654fa868babb71534bfe84674eeddbfc2b27a517f666bd03a27d8173bb92826a231cd9a241c171445b416934ebec5f7eea4fb41a61937d9a98f61b2fd1ca8e2be125e85cc8d16d553b114ab72395e86fea52f54edd853e9c5156557e38f621b975a\n\n# tcId = 35\n# leading bits of masked_bd not cleared\nmsg = 313233343030\nresult = invalid\nsig = 9c13d877ac2bd8c02c11e29ffcc0c1046dbc9870177e843c30b499c2bf7fd09daa43469caf2b8c3e955ded95e4d62209f7571bb45593f4cd8b0c7bc9470a8a693837248b5a7854dc8e37e752d949479272642994182061d7af80b0ac6f6e984874c8cdc6a5d7d17dc9e9de5ad12120cdb9f6c0d09c0e11b87b3423e37ba9437a4f76cc1e6124579e5f79832b89710de1968ce46e3e69fa185c0a924e8cb5f996ee5963f6826dd37714de264d75545e8509caf8735330cde7ed4228e5779471827b83757c466022117c45d598f5a4a7fed7be4e1b4d320f894879061a75d1a41efd8dcaf3c61733ed8ca2cc2f83714f8fdbc7a97cd6d6b97ea3d36ebd69890633\n\n# tcId = 36\n# first byte of masked_db changed to 0\nmsg = 313233343030\nresult = invalid\nsig = 00566c95524ad0995eda7d668fa08e8f75bea868b60972d6488cbe8939bbde68fa5206e671f35555f628fa707ce7ba0f468cfa8b9737e0ef64e0e23c901e4965ccaaeefa9b84363a3037cf5f9e044e295fe57f32c1125ca70c639b22732aa4c4b3e5562690bc1d7e7e74dd01c674212dcb63c58fa23333d45e1e4ccffa5d186443cc785c5ece3f2d7a8995e25de6a171cbc960c272c2899f6f87ceadb72eea1be085245669ac08993591e72bb9aff8bc29388b35c99f1ba7477af9d16754894a50d4caea4bc80e2aef2ced27f4a1c88be284bbb40cb8ae279b4e38a4cd8a51a92a279a799b3316c2938e1386043ae7ab1d8605cd310d7239c805a07a19c7b17d\n\n# tcId = 37\n# last byte in em modified\nmsg = 313233343030\nresult = invalid\nsig = 2b46a0aab5f573e32ffbcb411cd99d2f90aa9b1abbc600b0cda0d824f79020aab47a2494caea20fc93017e77b99eb73a1f8a550b611e2747ad29207772629c2ec40918c07adef1c90c99a15cddb9eac88955b4093a9e743d2420b4647e167bff8ddb07ce197db89d8a7d3f327058a41cc459ed4f6d5d23dfc015479d95e195da37f5b1fc318a3f74a0ac5fe2b9569c7fd99b8eb3ed3967a5eda1d246a3b225548f67ff860202033e7164d4b99dcf95f4232d18a7913f7258a33179133a6fb4ab5a4937b642eacb92908cf79495745abc583524cb0236fbfadd2c7e8b0a6597017912b4737fc01432625a508355869670bef25d32afe6753c38cfd96ec38953fb\n\n# tcId = 38\n# last byte in em modified\nmsg = 313233343030\nresult = invalid\nsig = 3b65975357ab2a410c2fae7f2f0381e6c40951260451f2eff05f0dc707abd013a996fc10658a6963f462877a808f61ad0362b9f640750b19debf3d59692134e357a49ed3693f50924b7c8a1824ccafcb4b93f7679dd892823cd479895d41fd1c40fb89fb1da19bc1fdc72eb038782f24ba3326428cfb166a475a9fd27f94d1a0ca6fa0e6a0d2c2883db3eeb2c0a59474da36211695fb811b9e8bc7f05ccb1f50d26d71a2dd209b0d269a736610c7dc1f7343a4736fa2b8c27827dfcad49bc4a86822cde1579dfbd646474f11e1a60f5e4ac2f2a3a5421a7baa9dea5d24be03cb6fee771dd808b67f886b37be5a300f6551d7e7636e9997b3255ceed5187ebcc0\n\n# tcId = 39\n# last byte in em modified\nmsg = 313233343030\nresult = invalid\nsig = 4516c8a39b8544d1c65d96472fea0b2753060330e", - "76e6f90f41ab349953d26ab1b95fd87484535b68c0afcf1542a9b966a9bf98b89a53bb28877b34d168a4ba8201215c55f9e86d30b7159093517682e6e956078947e54e3f3a779da032af7dc6bcab1c0b2a6693fe0eeb9de0d158bcc125293a6f10ccaf1499b6ad912ed5912537e3c3c5f18eb0ab8e701056d7b973b8b61af918858b87152b6c40671bf96735ab1a112972346e771e7cd9482f6f59d320b8798a271cf21779747f964281afa1303142eb3e1841772de825b4b5e68024dea014193c4e1c206bdc6121a8f2d41837be3d13833ed615d5b9df4ac4c86cd25344fe1022df0adabfe2d46f7d9f0d0\n\n# tcId = 40\n# signature is 0\nmsg = 313233343030\nresult = invalid\nsig = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 41\n# signature is 1\nmsg = 313233343030\nresult = invalid\nsig = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\n\n# tcId = 42\n# signature is n-1\nmsg = 313233343030\nresult = invalid\nsig = a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d4\n\n# tcId = 43\n# signature is n\nmsg = 313233343030\nresult = invalid\nsig = a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d5\n\n# tcId = 44\n# prepending 0's to signature\nmsg = 313233343030\nresult = invalid\nsig = 000068caf07e71ee654ffabf07d342fc4059deb4f7e5970746c423b1e8f668d5332275cc35eb61270aebd27855b1e80d59def47fe8882867fd33c2308c91976baa0b1df952caa78db4828ab81e79949bf145cbdfd1c4987ed036f81e8442081016f20fa4b587574884ca6f6045959ce3501ae7c02b1902ec1d241ef28dee356c0d30d28a950f1fbc683ee7d9aad26b048c13426fe3975d5638afeb5b9c1a99d162d3a5810e8b074d7a2eae2be52b577151f76e1f734b0a956ef4f22be64dc20a81ad1316e4f79dff5fc41fc08a20bc612283a88415d41595bfea66d59de7ac12e230f72244ad9905aef0ead3fa41ed70bf4218863d5f041292f2d14ce0a7271c6d36\n\n# tcId = 45\n# appending 0's to signature\nmsg = 313233343030\nresult = invalid\nsig = 68caf07e71ee654ffabf07d342fc4059deb4f7e5970746c423b1e8f668d5332275cc35eb61270aebd27855b1e80d59def47fe8882867fd33c2308c91976baa0b1df952caa78db4828ab81e79949bf145cbdfd1c4987ed036f81e8442081016f20fa4b587574884ca6f6045959ce3501ae7c02b1902ec1d241ef28dee356c0d30d28a950f1fbc683ee7d9aad26b048c13426fe3975d5638afeb5b9c1a99d162d3a5810e8b074d7a2eae2be52b577151f76e1f734b0a956ef4f22be64dc20a81ad1316e4f79dff5fc41fc08a20bc612283a88415d41595bfea66d59de7ac12e230f72244ad9905aef0ead3fa41ed70bf4218863d5f041292f2d14ce0a7271c6d360000\n\n# tcId = 46\n# truncated signature\nmsg = 313233343030\nresult = invalid\nsig = 68caf07e71ee654ffabf07d342fc4059deb4f7e5970746c423b1e8f668d5332275cc35eb61270aebd27855b1e80d59def47fe8882867fd33c2308c91976baa0b1df952caa78db4828ab81e79949bf145cbdfd1c4987ed036f81e8442081016f20fa4b587574884ca6f6045959ce3501ae7c02b1902ec1d241ef28dee356c0d30d28a950f1fbc683ee7d9aad26b048c13426fe3975d5638afeb5b9c1a99d162d3a5810e8b074d7a2eae2be52b577151f76e1f734b0a956ef4f22be64dc20a81ad1316e4f79dff5fc41fc08a20bc612283a88415d41595bfea66d59de7ac12e230f72244ad9905aef0ead3fa41ed70bf4218863d5f041292f2d14ce0a7271c\n\n# tcId = 47\n# empty signature\nmsg = 313233343030\nresult = invalid\nsig = \n\n", +static const char *kData112[] = { + "# Imported from Wycheproof's hmac_sha1_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: HMACSHA1\n# Generator version: 0.8rc21\n\n[keySize = 160]\n[tagSize = 160]\n\n# tcId = 1\n# empty message\nkey = 06c0dcdc16ff81dce92807fa2c82b44d28ac178a\nmsg = \nresult = valid\ntag = 7d91d1b4748077b28911b4509762b6df24365810\n\n# tcId = 2\n# short message\nkey = 4cd64efdb76df5a85dce3d347012cad06b0c3db4\nmsg = 6c\nresult = valid\ntag = 6d3d37af55c75d872d2da07b9b907ba22ad487d4\n\n# tcId = 3\n# short message\nkey = 52e1995025297fe7b793dc8e1e4f7d312fee2700\nmsg = 29df\nresult = valid\ntag = 82cb24bfa38fbdc91d1eea2d2dc1ce6e60ff881e\n\n# tcId = 4\n# short message\nkey = f3edfa003d89c4e2a6422e77a01b8adbd7ac26e4\nmsg = b015b7\nresult = valid\ntag = cb244ca6ad233947378436076fbfd20c9c8b842b\n\n# tcId = 5\n# short message\nkey = 4b07ed4e0c8ddaa1f76cf0010728679c8857e18b\nmsg = 3b2c1afe\nresult = valid\ntag = 924125532e6b625e7c5a8dcd1614e04334c067cd\n\n# tcId = 6\n# short message\nkey = 7f532c8ec83cb21dc98af7734c64f5fd9167ec30\nmsg = a33c6f9826\nresult = valid\ntag = 0d25bc40f60fbed36d8d7a1045ffa60d88484d56\n\n# tcId = 7\n# short message\nkey = 99e60c1fc0cb3e6ed836619775e37bf15b2cb93f\nmsg = b129bb88ceaa\nresult = valid\ntag = 6924d833a3e74b48f991e6c44173565fdf8c7470\n\n# tcId = 8\n# short message\nkey = 53845f10344b7f39eddbd3e44231fa802d7e1aca\nmsg = c6f5b1cee31033\nresult = valid\ntag = fd4b28273d3ee8cc24de2d8dad23ad4f355240c7\n\n# tcId = 9\n# short message\nkey = e3220700ce24a010cf623f60891e4f298ff26b11\nmsg = c97afb5063a9dd0d\nresult = valid\ntag = 383b103ce9054cb74a0431d16da99d8233e94fc2\n\n# tcId = 10\n# short message\nkey = 466c061ddcf3d9b285a2900f8725971b733f850f\nmsg = 89024ceda7de3c114e\nresult = valid\ntag = 1b81f1127635233383b6ea5ba8fd68eb5112ef0a\n\n# tcId = 11\n# short message\nkey = a81f9f51b041ff29b8d705bb408f854ccbd7e5ab\nmsg = 032d866a270762cbae24\nresult = valid\ntag = b72ba0c89d010215a8f280616acbd8640fe86cec\n\n# tcId = 12\n# short message\nkey = e60d0b14886fe6fa2c839329204d84d81026b7ab\nmsg = fda7f48c11101255e02c8d\nresult = valid\ntag = 2be7bb541cede978f541e2cac0ab6451060e3e83\n\n# tcId = 13\n# short message\nkey = c090ef122a29348740ccd571d98407764b2adaac\nmsg = d1fe3dfa80ade7087efabb52\nresult = valid\ntag = e6c1e0c3ebb7750d66a50b6abccfdef9c2599008\n\n# tcId = 14\n# short message\nkey = 564a56290e1aea0522f19088a88ab4dce4c7cdf2\nmsg = 4213bd3cdaebbb1ec1cc81866a\nresult = valid\ntag = 6d1d5808c085ad512487debb57fb93514b205075\n\n# tcId = 15\n# short message\nkey = f898459d272fd5e43b062156f44958d85d97ea3f\nmsg = 5e86b05522eb65a4fb7b932cecd5\nresult = valid\ntag = b778f421c2d1e2701e75da6bd1bc65379b80e879\n\n# tcId = 16\n# short message\nkey = 7d5cc53f464e759438ee90b47f2fe67aa83d6b52\nmsg = 9f38ea80122b40f742a00c2e83e085\nresult = valid\ntag = c80ce6d33fe868432c262766fd23bf431e313882\n\n# tcId = 17\nkey = 33e9140175519b2f1619b44848331763c756fad4\nmsg = 7de0fccc83b51c29e5eb1b658c102438\nresult = valid\ntag = 34de6b8f479523870b8f905684672617669b0607\n\n# tcId = 18\nkey = 0ef29e7c961da37afaea8182f28738d22c340232\nmsg = 165bb8e5c6f0a3ae40946dc807aee84645\nresult = valid\ntag = 78e6fa53ec213e9019d47ee7529d963a8a252942\n\n# tcId = 19\nkey = 203cfad921e605c80d7aa8b64d3bf18328b7a7a0\nmsg = d289c7cd10d996d5daca1410c37815b237f74929588c5ae4\nresult = valid\ntag = 27d96da41895bf53d150ac15e7c31853f56ae363\n\n# tcId = 20\nkey = 8eb7416efd0c73c86b91df0d58891fdb738f40df\nmsg = b415cb7cd384a1035d2bac1f7b96ae858dfd44c467030f304e817d11b9f9c606\nresult = valid\ntag = 24cb16323b7ec47e3add8f55cb9920aa7c1655de\n\n# tcId = 21\n# long message\nkey = 6fbb3c55e935e0a002c170a9122f1f7037bc0c59\nmsg = 36ac9a8cf0223ccf5d9048be9a65df4a1f40aaa857ce13d621f601bdee1fbe803171002d1fa634a1977dc23d9aa8fd\nresult = valid\ntag = e2fe8b343cef4b9754308408930526159537ecc8\n\n# tcId = 22\n# long message\nkey = e40f6206105f7800a1f190602bb6dde8057c3a87\nmsg = 10463b771fa586c5ed5c1f6488d793299db40fdd4f3e53334ae3ff8e09e5a879da06eb46d210ee0af0c8251e6c07aa1d\nresult = valid\ntag = b5dfce5998d2e321800e0e42762e62ec7a81448f\n\n# tcId = 23\n# long message\nkey = f04cc641ff67aba4ac2d17e6a042b6ccf86ae1d2\nmsg = 73c179acc26ffd0710b6cb3f73570702c9c059bf685614bb0ba7973ab875ff882d9aeecea4ef452c8893224472cfa5b61c\nresult = valid\ntag = b7d1e63fae54638082a9cb58c69fac9efcbee174\n\n# tcId = 24\n# long message\nkey = f61c1a878550d27aa459b3016b31731b89630d36\nmsg = 82b378d40ca04ad478a980d7b46e56c9967bc4e110a7add8bcbda411c12de384f41324e9df888d81702ff2b9e8752986ba081363eacc2e396f6b5fb01bf842358f0145d569d34fb3b4e24ee9dc9103284d743c52ea8661504b2db42f221b6d49b605fde34aa555e33ab0a140f61f3cda\nresult = valid\ntag = e688199489c9d3938f2e33d7cb3fc81bad4ffb8c\n\n# tcId = 25\n# long message\nkey = 8c29eb661fb633087f2452d057f98d553d2846f1\nmsg = 021b968c4ce337595154d90e44229980f0e2b64776f562ea25b24881637b44375bde65e5f9418bf163e2aacd37bd10319729ac596615a35cb632e0ffc316936a68acf4c7ae3ad36026124cee6d204f10432f08157cc32c5f4bcadaee67bd42bbeb826a9e9c8af9f554f7419fb265338d22bae2190bb644b32fe9bb6a2287aa\nresult = valid\ntag = f940df33b09965a3118c847c2ae1591690d0405f\n\n# tcId = 26\n# long message\nkey = 6316298f3aadadc664eda2cedf17669bc80d44ae\nmsg = bab807df54c009610a5c3f1e81605f6bf7d76b299d7ebdefa70f5e2e0b979011d191ead39c3bbe5dd2658347eb172950a1e03a01552bb38add33bac832b7177a77b08eb11cc1afe3ae84daffe4c4e88bc441e54e4dcbae3e0d5639f635228d811f0a043b13d5c91899c26bce2da2ddabd21b2ee668a21b454928915d6585408d\nresult = valid\ntag = 23b9a6d6a9c7cef6dce537722f4557b65dcdde99\n\n# tcId = 27\n# long message\nkey = f291696bf4f9655a00c9a2382bd1487342358714\nmsg = 32a650b5307d94b23139be64d470ef1492d57ca7af98205bf9bce8854ba8f5204880b2e9d58ddbe2e7bb21e6e0673f5e1a39f505909227475e41c1d59c73a933b13f4b07a75cb9f3279cc3bf61a6c09e3b9f755907491b9e745bfda58ad4e2304ff7525b41507a51a2fd664a2ee98cea00148a3663d77c47beb055bd45e7df48f6a0ce66c0a2d9a848761a4575d195d74eef5bb78c0993557a25ad7ca32e0a96b2518d9d8a180f357402a44217f1e36a9138c0909faffd0e9a907048584bb03a4e06fc69c463f39542dd2c7c81467d3728481bbf6bb60259604aa33a2d4c6195012fdc7aec99e2175aeb2d0c1f680964d63ee11418cd4d26e77ec131108417\nresult = valid\ntag = 3346bf23e52231a4aed773fd73e58d918580ede5\n\n# tcId = 28\n# Flipped bit 0 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 07e8ad50fc1035823661d979e2968968cecd03d9\n\n# tcId = 29\n# Flipped bit 0 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = e5641600cedd7e12063deaea0788785f56113520\n\n# tcId = 30\n# Flipped bit 1 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 04e8ad50fc1035823661d979e2968968cecd03d9\n\n# tcId = 31\n# Flipped bit 1 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = e6641600cedd7e12063deaea0788785f56113520\n\n# tcId = 32\n# Flipped bit 7 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 86e8ad50fc1035823661d979e2968968cecd03d9\n\n# tcId = 33\n# Flipped bit 7 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 64641600cedd7e12063deaea0788785f56113520\n\n# tcId = 34\n# Flipped bit 8 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 06e9ad50fc1035823661d979e2968968cecd03d9\n\n# tcId = 35\n# Flipped bit 8 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = e4651600cedd7e12063deaea0788785f56113520\n\n# tcId = 36\n# Flipped bit 31 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 06e8add0fc1035823661d979e2968968cecd03d9\n\n# tcId = 37\n# Flipped bit 31 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = e4641680cedd7e12063deaea0788785f56113520\n\n# tcId = 38\n# Flipped bit 32 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 06e8ad50fd1035823661d979e2968968cecd03d9\n\n# tcId = 39\n# Flipped bit 32 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = e4641600cfdd7e12063deaea0788785f56113520\n\n# tcId = 40\n# Flipped bit 33 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 06e8ad50fe1035823661d979e2968968cecd03d9\n", + "\n# tcId = 41\n# Flipped bit 33 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = e4641600ccdd7e12063deaea0788785f56113520\n\n# tcId = 42\n# Flipped bit 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 06e8ad50fc1035023661d979e2968968cecd03d9\n\n# tcId = 43\n# Flipped bit 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = e4641600cedd7e92063deaea0788785f56113520\n\n# tcId = 44\n# Flipped bit 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 06e8ad50fc1035823761d979e2968968cecd03d9\n\n# tcId = 45\n# Flipped bit 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = e4641600cedd7e12073deaea0788785f56113520\n\n# tcId = 46\n# Flipped bit 71 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 06e8ad50fc103582b661d979e2968968cecd03d9\n\n# tcId = 47\n# Flipped bit 71 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = e4641600cedd7e12863deaea0788785f56113520\n\n# tcId = 48\n# Flipped bit 77 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 06e8ad50fc1035823641d979e2968968cecd03d9\n\n# tcId = 49\n# Flipped bit 77 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = e4641600cedd7e12061deaea0788785f56113520\n\n# tcId = 50\n# Flipped bit 80 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 06e8ad50fc1035823661d879e2968968cecd03d9\n\n# tcId = 51\n# Flipped bit 80 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = e4641600cedd7e12063debea0788785f56113520\n\n# tcId = 52\n# Flipped bit 96 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 06e8ad50fc1035823661d979e3968968cecd03d9\n\n# tcId = 53\n# Flipped bit 96 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = e4641600cedd7e12063deaea0688785f56113520\n\n# tcId = 54\n# Flipped bit 97 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 06e8ad50fc1035823661d979e0968968cecd03d9\n\n# tcId = 55\n# Flipped bit 97 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = e4641600cedd7e12063deaea0588785f56113520\n\n# tcId = 56\n# Flipped bit 103 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 06e8ad50fc1035823661d97962968968cecd03d9\n\n# tcId = 57\n# Flipped bit 103 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = e4641600cedd7e12063deaea8788785f56113520\n\n# tcId = 58\n# Flipped bit 152 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 06e8ad50fc1035823661d979e2968968cecd03d8\n\n# tcId = 59\n# Flipped bit 152 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = e4641600cedd7e12063deaea0788785f56113521\n\n# tcId = 60\n# Flipped bit 153 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 06e8ad50fc1035823661d979e2968968cecd03db\n\n# tcId = 61\n# Flipped bit 153 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = e4641600cedd7e12063deaea0788785f56113522\n\n# tcId = 62\n# Flipped bit 158 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 06e8ad50fc1035823661d979e2968968cecd0399\n\n# tcId = 63\n# Flipped bit 158 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = e4641600cedd7e12063deaea0788785f56113560\n\n# tcId = 64\n# Flipped bit 159 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 06e8ad50fc1035823661d979e2968968cecd0359\n\n# tcId = 65\n# Flipped bit 159 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = e4641600cedd7e12063deaea0788785f561135a0\n\n# tcId = 66\n# Flipped bits 0 and 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 07e8ad50fc1035823761d979e2968968cecd03d9\n\n# tcId = 67\n# Flipped bits 0 and 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = e5641600cedd7e12073deaea0788785f56113520\n\n# tcId = 68\n# Flipped bits 31 and 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 06e8add0fc1035023661d979e2968968cecd03d9\n\n# tcId = 69\n# Flipped bits 31 and 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = e4641680cedd7e92063deaea0788785f56113520\n\n# tcId = 70\n# Flipped bits 63 and 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 06e8ad50fc1035023661d979e29689e8cecd03d9\n\n# tcId = 71\n# Flipped bits 63 and 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = e4641600cedd7e92063deaea078878df56113520\n\n# tcId = 72\n# all bits of tag flipped\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = f91752af03efca7dc99e26861d6976973132fc26\n\n# tcId = 73\n# all bits of tag flipped\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 1b9be9ff312281edf9c21515f87787a0a9eecadf\n\n# tcId = 74\n# Tag changed to all zero\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 0000000000000000000000000000000000000000\n\n# tcId = 75\n# Tag changed to all zero\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0000000000000000000000000000000000000000\n\n# tcId = 76\n# tag changed to all 1\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = ffffffffffffffffffffffffffffffffffffffff\n\n# tcId = 77\n# tag changed to all 1\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = ffffffffffffffffffffffffffffffffffffffff\n\n# tcId = 78\n# msbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 86682dd07c90b502b6e159f9621609e84e4d8359\n\n# tcId = 79\n# msbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 64e496804e5dfe9286bd6a6a8708f8dfd691b5a0\n\n# tcId = 80\n# lsbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 07e9ac51fd1134833760d878e3978869cfcc02d8\n\n# tcId = 81\n# lsbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = e5651701cfdc7f13073cebeb0689795e57103421\n\n[keySize = 160]\n[tagSize = 80]\n\n# tcId = 82\n# empty message\nkey = 5ece0769742feabb6644469c9b264326b3deb126\nmsg = \nresult = valid\ntag = 344f8351f1d2773cae9e\n\n# tcId = 83\n# short message\nkey = 4ee9f9a93b2ddfe551281b397ccef844fc21af3a\nmsg = 2d\nresult = valid\ntag = 3aab1a2c9a2f2b8ac840\n\n# tcId = 84\n# short message\nkey = dfeebe9a5c181afc605ff63b22bf349ebdb6c7fb\nmsg = a5f3\nresult = valid\ntag = c3b7152230dacae4ef48\n\n# tcId = 85\n# short message\nkey = c5147ecd59b7d42315d5e3a55ec8b3a320c8d615\nmsg = 371777\nresult = valid\ntag = 0abb78a2c67c565f89b1\n\n# tcId = 86\n# short message\nkey = db0da5659ba69ce195a69524508e437c688f7147\nmsg = 4ef4ec44\nresult = valid\ntag = 4062faeb0b406698b740\n\n# tcId = 87\n# short message\nkey = 495d6c1191852ecaf0573e6a77610c32acf5a117\nmsg = 1566ae63ce\nresult = valid\ntag = 45cbefcd9c7eeee37ae5\n\n# tcId = 88\n# short message\nkey = e5cfe7dc67514c4c75d28bb805d0700bdea0d669\nmsg = af1a6b15b622\nresult = valid\ntag = e867269d506a37e8a62d\n\n# tcId = 89\n# short message\nkey = cf1b8b902512186e38c38165d6e587bceecae87f\nmsg = a59512152c7221\nresult = valid\ntag = 1a125b21412cdc596894\n\n# tcId = 90\n# short ", + "message\nkey = d0157fb40c7739ae506aad7de60f32ccc3325583\nmsg = 1292df8d53d16f3c\nresult = valid\ntag = 9224f11bff0e49b9aa95\n\n# tcId = 91\n# short message\nkey = fd55b81edd55a15bff409129e9930f1ba1763c33\nmsg = 05220a6997533c699b\nresult = valid\ntag = 3b2d07dc8ca206ba16c4\n\n# tcId = 92\n# short message\nkey = 079937cf3bd42864d5b15c62bdd92f275597316d\nmsg = 5ac13ce1b1f77724e281\nresult = valid\ntag = 0c24afcdadd8538977b1\n\n# tcId = 93\n# short message\nkey = 545b13e1f39f0b7ca9252bc596277278166ad410\nmsg = 08a7bc90732d54381b6e30\nresult = valid\ntag = 9bf7f121365a82c2ac69\n\n# tcId = 94\n# short message\nkey = 25385e9f89b66098ee8162aeca03bb45b313561f\nmsg = bff236aad71fb5daf7fc43b8\nresult = valid\ntag = 44db86e7a1476226dd86\n\n# tcId = 95\n# short message\nkey = 9b68139d93a88fe34cf9f83006c03b3164b60468\nmsg = ad672b9719c10863fd6fa8db88\nresult = valid\ntag = 2d17a88d87aae7dbaced\n\n# tcId = 96\n# short message\nkey = c3b785915e137544dac542cb4bdb16d53036fb11\nmsg = f8c1edb469b93c073b6f6bf74cca\nresult = valid\ntag = 16713d61fbb4149f500b\n\n# tcId = 97\n# short message\nkey = da67475185b3615055f971819db27871b23c75d0\nmsg = a176533319bee5e43d8f0eafb77bb3\nresult = valid\ntag = fceece892852d4a26070\n\n# tcId = 98\nkey = 0cf146ca7a254db1e001a29ad03c5e6dcbe7140a\nmsg = a83df5d099854eb6ead7031c51460357\nresult = valid\ntag = 9bcf7513206e27a4697d\n\n# tcId = 99\nkey = e038dff028227dc4b4d7453db3070108465dd5b2\nmsg = 7ae4e30834db449e4244a9fc0322193e7a\nresult = valid\ntag = 9aa8544a9afdd920c0f2\n\n# tcId = 100\nkey = b399fcfd1ad32140879aa0556ac34d8b5ac267f2\nmsg = 0e3f0fc5cb1456fede99f86a056f640b8f5e5e1b612f25f6\nresult = valid\ntag = fa095c6faed0f086b215\n\n# tcId = 101\nkey = 2bf7d201ef44241a22ae4b81aab910d22c2db918\nmsg = aa0afaf3af36548227349adcfcb6bf998a7fa78d29b87a0f50609c42edcdb3dd\nresult = valid\ntag = 708ec45d410b1fe075c8\n\n# tcId = 102\n# long message\nkey = 48ccc3907c3612a18294fddf2660e33d9cb787fc\nmsg = edbb680243a825068eefe5ba184e5eed4b7f85ca3b511a42d655be3e05d8ff124541b3d56a10a35cff8da8b6229ac1\nresult = valid\ntag = 3cb7fce20df8385cf6bb\n\n# tcId = 103\n# long message\nkey = 227d796b7867409db3de1ffa3cfe376704044f01\nmsg = b6393ab18376c025e2d8e00ca774a51aec19dc4a89cf6a9f8fc4aba81d73b3907efef1a0d018a53cb8b8ca1032e31583\nresult = valid\ntag = 525387c81c2ab67aca74\n\n# tcId = 104\n# long message\nkey = 5718e700c48a7971350d8a11b37754ae55a9aad2\nmsg = cc95286e9b3ca936191aff8731e6a17806a0958b0b1a39977c46395240641e97d5395a9c8a9d36281eba825a94e8b1ad79\nresult = valid\ntag = e54782110d40efb54343\n\n# tcId = 105\n# long message\nkey = f56aa792795eb03ae0990440714ab16cc4ad18c3\nmsg = 7a024d995addd38d967bc3b41641738b69897d8c52b7aff961a700cb68fa7481da0a3690a151ce09c95b4da60f7cf28990017292893bbb2f81a4dda45fe8639877ac5abaebbe00c1fd179eaaf7dfb4d50929371b9ab8b7d3531a63ab188d7b99160060475c33e83351f65d5e329ee8bf\nresult = valid\ntag = 1e2205d17ad4de3f1ec1\n\n# tcId = 106\n# long message\nkey = 00be0034d32699b1335d8d4e506235ee4f07bef6\nmsg = 639e828d88bf0642be0a541b1c3fca07609eb98d23a8b2cd4e60e139515e4ff440dfda1bc19392feffed74164d6a9d8f5bafe53fd397cb5ee1dcdf9bfc86169f1bc38ba57f88d7e8c6728c35fc07128ab6c396bb3ef3c14d13a05f8c3453353e850dc1b291ac7061ab52f121663f18b024e5cc0068328c88f52c20cd21793a\nresult = valid\ntag = 6e98973d3a775ac508e7\n\n# tcId = 107\n# long message\nkey = c5baa750a8424450f1b4d453c58e29c462e52639\nmsg = 137c7227a192bed26d08da886430f010094243b5c4686e6831e48db450045aa1d7e3aecf193eaaa1a73905f5f1190659a43ed4d10bfca5668ebeb343b21ff71d0737f81f67392b6459aa95f9441f699bf45fee24867a98a8a6c57f972abe3e400fd64ce3e5b48622a0e99e08d424250fa00ed0dfa1193f936c78af276a4b442b\nresult = valid\ntag = 490dfd2d5e6ea130f6a1\n\n# tcId = 108\n# long message\nkey = 6bd486ce934c2f5fe38a19423d257bc5d808e367\nmsg = b8a684ada0a01405614b1fa66ebab8b0356e33b889b81b3eb68d13b05c4e60c724785e634c4ec0081cc6bbdf213db7254f92c0a858bfcc3d63a4e4dfd9e75bd4839ac05751c23cb59945f4c3660d2b3009f5b08a596bdc33070244bceea11180ac0906404518b09d5d8612e0d8e69f4b9e55bbc053b56574711b02956db3f3bd8f6c42065871255854a161e57100adb82cba79893aad715dc3df1488b3edb56e58b89c0be3cfab09a3df40524d2d3251b0fcf7faabfc75f50026795060c1d62872574a769e3da0e19af1b5e25514ae17a160c8d1eb253c9f66ec3df789ec0c6c704a9e2fe8ef7e9bf8e8164f86d09d2a23698733a8e40a279cd5fe02c295ff\nresult = valid\ntag = a594d26d98b53b4063b2\n\n# tcId = 109\n# Flipped bit 0 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 07e8ad50fc1035823661\n\n# tcId = 110\n# Flipped bit 0 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = e5641600cedd7e12063d\n\n# tcId = 111\n# Flipped bit 1 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 04e8ad50fc1035823661\n\n# tcId = 112\n# Flipped bit 1 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = e6641600cedd7e12063d\n\n# tcId = 113\n# Flipped bit 7 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 86e8ad50fc1035823661\n\n# tcId = 114\n# Flipped bit 7 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 64641600cedd7e12063d\n\n# tcId = 115\n# Flipped bit 8 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 06e9ad50fc1035823661\n\n# tcId = 116\n# Flipped bit 8 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = e4651600cedd7e12063d\n\n# tcId = 117\n# Flipped bit 16 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 06e8ac50fc1035823661\n\n# tcId = 118\n# Flipped bit 16 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = e4641700cedd7e12063d\n\n# tcId = 119\n# Flipped bit 17 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 06e8af50fc1035823661\n\n# tcId = 120\n# Flipped bit 17 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = e4641400cedd7e12063d\n\n# tcId = 121\n# Flipped bit 23 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 06e82d50fc1035823661\n\n# tcId = 122\n# Flipped bit 23 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = e4649600cedd7e12063d\n\n# tcId = 123\n# Flipped bit 31 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 06e8add0fc1035823661\n\n# tcId = 124\n# Flipped bit 31 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = e4641680cedd7e12063d\n\n# tcId = 125\n# Flipped bit 32 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 06e8ad50fd1035823661\n\n# tcId = 126\n# Flipped bit 32 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = e4641600cfdd7e12063d\n\n# tcId = 127\n# Flipped bit 33 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 06e8ad50fe1035823661\n\n# tcId = 128\n# Flipped bit 33 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = e4641600ccdd7e12063d\n\n# tcId = 129\n# Flipped bit 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 06e8ad50fc1035023661\n\n# tcId = 130\n# Flipped bit 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = e4641600cedd7e92063d\n\n# tcId = 131\n# Flipped bit 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 06e8ad50fc1035823761\n\n# tcId = 132\n# Flipped bit 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = e4641600cedd7e12073d\n\n# tcId = 133\n# Flipped bit 71 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 06e8ad50fc103582b661\n\n# tcId = 134\n# Flipped bit 71 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = e4641600cedd7e12863d\n\n# tcId = 135\n# Flipped bit 72 in tag\nkey = 000102030405060708", + "090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 06e8ad50fc1035823660\n\n# tcId = 136\n# Flipped bit 72 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = e4641600cedd7e12063c\n\n# tcId = 137\n# Flipped bit 73 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 06e8ad50fc1035823663\n\n# tcId = 138\n# Flipped bit 73 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = e4641600cedd7e12063f\n\n# tcId = 139\n# Flipped bit 77 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 06e8ad50fc1035823641\n\n# tcId = 140\n# Flipped bit 77 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = e4641600cedd7e12061d\n\n# tcId = 141\n# Flipped bit 78 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 06e8ad50fc1035823621\n\n# tcId = 142\n# Flipped bit 78 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = e4641600cedd7e12067d\n\n# tcId = 143\n# Flipped bit 79 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 06e8ad50fc10358236e1\n\n# tcId = 144\n# Flipped bit 79 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = e4641600cedd7e1206bd\n\n# tcId = 145\n# Flipped bits 0 and 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 07e8ad50fc1035823761\n\n# tcId = 146\n# Flipped bits 0 and 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = e5641600cedd7e12073d\n\n# tcId = 147\n# Flipped bits 31 and 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 06e8add0fc1035023661\n\n# tcId = 148\n# Flipped bits 31 and 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = e4641680cedd7e92063d\n\n# tcId = 149\n# all bits of tag flipped\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = f91752af03efca7dc99e\n\n# tcId = 150\n# all bits of tag flipped\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 1b9be9ff312281edf9c2\n\n# tcId = 151\n# Tag changed to all zero\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 00000000000000000000\n\n# tcId = 152\n# Tag changed to all zero\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 00000000000000000000\n\n# tcId = 153\n# tag changed to all 1\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = ffffffffffffffffffff\n\n# tcId = 154\n# tag changed to all 1\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = ffffffffffffffffffff\n\n# tcId = 155\n# msbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 86682dd07c90b502b6e1\n\n# tcId = 156\n# msbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 64e496804e5dfe9286bd\n\n# tcId = 157\n# lsbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = \nresult = invalid\ntag = 07e9ac51fd1134833760\n\n# tcId = 158\n# lsbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = e5651701cfdc7f13073c\n\n[keySize = 80]\n[tagSize = 160]\n\n# tcId = 159\n# short key\nkey = 1d9535a0daea9dfe443a\nmsg = \nresult = valid\ntag = 7436089fede3291c0c421c9ad13c357ec8660bae\n\n# tcId = 160\n# short key\nkey = f5c2c420c6f056467fca\nmsg = bc8a29f52e57581cb89a86e5d644a14d\nresult = valid\ntag = 1eb76df7235c52371d86113f5423628b2eb7c3d5\n\n# tcId = 161\n# short key\nkey = e59b0276e27a0abc75f1\nmsg = 061ca1a1af51c5133728c414f9646b3f50223e9b2055707032e754dc1d31964b\nresult = valid\ntag = 2081260f65316df2956aac723a9bd7d2225a8669\n\n[keySize = 80]\n[tagSize = 80]\n\n# tcId = 162\n# short key\nkey = b18aba1171cc2ffc7d58\nmsg = \nresult = valid\ntag = deeb3d6d81e33d1cad21\n\n# tcId = 163\n# short key\nkey = 23082066e8c45da82fc6\nmsg = 06c19c6ee4d2f015769f6d46eb46d6b4\nresult = valid\ntag = 747cd928e8831917c855\n\n# tcId = 164\n# short key\nkey = a6fa1e04df38a78667eb\nmsg = 51a4ea38e5566d6fd803aec5e073e087e9ae00d37d4a98d559074ebffc7658b7\nresult = valid\ntag = ec8c200c1ddad6d3aad0\n\n[keySize = 520]\n[tagSize = 160]\n\n# tcId = 165\n# long key\nkey = ab92e2cd40e00b40c4442dd7671c067c7792af28e60f2585e87f163bf3bdfca7f553cec71b0065025500c48e2070984ad9e24e733107ebfde27164a4828981ac20\nmsg = \nresult = valid\ntag = 7a29b47ff6ae90c99573d8c922a23e83a62b66bc\n\n# tcId = 166\n# long key\nkey = 3b47a5d5b72babe116e61919600cb980c904c298ab91fae3db9c82b0f38a18888bc05a418d65d68f8850937559bb37325bce04d0e5d175a24fea309895f5705ad7\nmsg = d71862028fcaf13422bf32ac0c5f079b\nresult = valid\ntag = 8019231e77aca645182670cadf887afd4b4115a7\n\n# tcId = 167\n# long key\nkey = 6e6c43df9bb6c6b8fe414a183e738508f0aca41d5beef6df1b260c39e1979b54683622a4d53354231bef6c35e129f85f822ba09198aa30c65ee60e4202de8cd102\nmsg = 98f0a4b9a36e173d89730a3b370777c499b4cff2846f50bfb88fbbbc547cbae4\nresult = valid\ntag = d1653c90fc591e3a3c285a3be8b12ca9b2121e88\n\n[keySize = 520]\n[tagSize = 80]\n\n# tcId = 168\n# long key\nkey = 4f00fd17ae82a6252ada98280bbd895d743fc4c20bc9e615d8a786c79e454c2b1341e24254fa0371fac86e7c0ef1a7df5c16f3b3569fda112cca8685faecbb8923\nmsg = \nresult = valid\ntag = 6802ca52be056d66b9a0\n\n# tcId = 169\n# long key\nkey = d22ec568909990c213679f7072eaf19763508ebde6962c75e7429c5f2454d4b5472811eea8e02fdc89ec386bc6f41d2ad8a91d116b2cbc52b80d357127d1555a66\nmsg = f71b43e0cc64b5409e6501ca55a8d450\nresult = valid\ntag = d492a296860cc5a89c5f\n\n# tcId = 170\n# long key\nkey = bcf6ad6e5c7e2200299ea8602efb42b409292346f78a0e57a789ba17b17ed608e88497e2bb4ebbbb3ce7750d222b3bdf848d4dc8d49b5b60378fb93ce3f66ab4eb\nmsg = 586f5ddbc372c0711b77e4b87d345d62b6de55a1ce6fa18de3346c86be5cec6e\nresult = valid\ntag = 1de9aefcc53130245a6e\n\n", }; -static const size_t kLen80 = 41798; +static const size_t kLen113 = 35704; -static const char *kData80[] = { - "# Imported from Wycheproof's rsa_pss_3072_sha256_mgf1_32_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSASSA-PSS\n# Generator version: 0.4.12\n\n[e = 10001]\n[keyAsn = 3082018a0282018100c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b12030203010001]\n[keyDer = 308201a2300d06092a864886f70d01010105000382018f003082018a0282018100c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b12030203010001]\n[keysize = 3072]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 0c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b1203]\n[sLen = 32]\n[sha = SHA-256]\n\n# tcId = 1\nmsg = \nresult = valid\nsig = b520065682633ba54c9b713b2ef19cdc1fcf275ba1744c2350da7307a20971cc30eefa37d1667d23d20001a674f0e00df4f9b9e1d5fe7eb85cc45cab5dd625759de83017995c93d48b126df03aa74ef87daea0c1652dd370ad5d663598a383cac217a208b22c7cf0e448cc7ae0555f892ccb8ded6894cfb0c328cb542be0485d860ca77203081f3b04c6f55c5689b1a66b1c24819a4a7ea55f32e00f61accf4b411bb320a96c990173b63ccd74e7da7df5ceaf33a39a8acb89a845a594b164ec6e22cce940eb06f2d487a8bc4574451878c2bbf57d241f76586e0703bf5f86bee832d05b75fabaed6accadfc1ec2cd6e619dbb29b65d6e6f5e118ad52d82a955d21005ecd63fb382f32bb8e2e1e57220b345cd6422bdd84a91495d0ab5775b08139edee960dab1b4ffd9ea5b27398b58e6e35211c3581501e99bf5e3f17fd79381528d28a4927e28082f45bfa9519f98ea663dc84c50317adf0bd5da98b01459011cec61800534dd5afc5a567c19e4a400f06dee74112083b5322615c144ce3b\n\n# tcId = 2\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 8e10f23f49011d761946b283d7152e851ee76e5caa1741b0901eea317d8945f2a0368551b3f2b3a6a0d6a939aebded8fea0a96dd1d037be33b1c35ce78dc89693918a99d547a1d892f4047c09fff7a6523acb0cb0cddebcd4a6fdcc309a466ca9580fedf032bf56154f8d79d5c4686abfd2c7abd342b37e5373b59a07fa865b118c44f2c44b851306dc97eaeeb638f14bafbb09c81996beabaaec28c19f06ffd59dbe3080e0124e2386418052735f541d496322c03ebee6e4dcaba24dde9772a9f079973df26e854c255eb48df50c01d49831e54b64d0ff862d03fb4d82ff204d303b537176c50ea56761a83d0aed8ed2deecbbba981c8aacd1300051a864d1efdc897f31383ccd6f181bf976a75e7a7613b60b3cb2a6f7ab8636f672990c13017f2981c11ba36096cbea898f016c581ee859e950bec195cc4e376e134341b2fd3e3d6181ba4d377b2aab6a148c6ea8cca9ee3478297e901856ab18f61c0233c899841e5da125516cf5274dc1b22e2a51c922daeeccfad0f2a8bf84e531bc4f8\n\n# tcId = 3\nmsg = 54657374\nresult = valid\nsig = 22915cfa1d7dd30f50b4c0e4cee42c5f0aa1b7a6644f8a11e611b2db042b122af8211ffc1dc220b435d8919cf64d715b54ff8a762f702b365cbdab455509b97d9b310011467d4186647b957e2efa404aed3b84840529bdef7746348385a1c6a2ecdb88d1cc2b40b36c346386739c39d2815938e463a35348426f17d32d633b873d6124d8b49a726743af7c0e56d63394155b63089c63ed8897f8af2a2260d33499afab11c911faa754ced5acdac2de571f39c2768716e4308244a99d1e65da7061d2feb8ec8b4e517bd5e19cac626698479ab2019257cf83ad7b641db2345b38006d63f84b41772b90037778389cc30ed6aba6af212d9326792af746d7bca9211fa344fdc2798a490aed3a2840620c2a85e3d9b9c38f2330072663e16dd26bc414c7d68f6b11d2cd3e0387c1834c5e2262a9e2dc1bf7c0108b4e2052566c7a941ef6b38c8687fd7abe6add2b745c2c2d680ae3e5646ce2e717ef9899c7f3fb1e3088e8c0587d86546f752771819595a7a3d422820ceaa12e3ee671a456dac673\n\n# tcId = 4\nmsg = 313233343030\nresult = valid\nsig = 8f9ac1354af4161d0e55b5674821d02823b3a6b3f79cefb98cbc77f9ac2d91cc6345f989a7828132f73f3630a247a936b6a057b3e5a2fda0c5999ea7721ee8880960c24cd2377e869cca1799747142d57ad6a8d83ec9254d89f591add11a758e1ea1e29bd08f624d0e28cea52ed5eed7c0f5f49d3533eb1cdbb2af837dc42942f9a86b5f4e2d5ce506697ef067a344949bdd89afcc25978af4d50c300bcd0ffc9d93cc559e3ae1a13215a1d3f6030827340c6591061a5ab7e65153b1df8b25e1421f924d39c7e6f76243c1bb9ae4063d9a475cd2ece45f4e288fe0720074e87868d70a5584a9ac2b47a56417cc76f15154315545a3ed6704b365f15d34320804469c3b09ed211cbc9e9e767b6f21fa16f8641d8b78b8dff8062a25b5bd3b6a38cb4706c42c1fbbe66db1c05cb57531132eb94fe1569735c33ec491c318a686c837ac810be4afff605f92bb390e7ab3cd24c0cd997cf13f112e5aa01746f43902432639e1eefcbd37b413c586f057bcba40a8f1251251e84cb7c87c53c1d1d558\n\n# tcId = 5\nmsg = 4d657373616765\nresult = valid\nsig = 6e471c9342aaa27bddf64b02e8805611a13770b22cc3d24cdfa9a2fc14865f59344c288cf15d4c8785089968a12e9d3e63b8179489568743448f698f316640146322ef3b611fc98396cf4a4757e48ce6701f123fc0bb8df80b63cd2371522f8ed929f7bdb709d424af6eab2eab212b43afe537fec7bbb9dd02e64f116e02ad1214ae931a6fe28a5982029088a27bb95ef2ee46ad212083719327acab5ee51c82d94d5b14f6dffd2242ddf9fbbb2d03f945796a3e35346f2334ca6b4ec5d9ed6f1584688e661951e948cb95fc5cc04e90cad98c861ddff514c60275650ae3003185efe0c04356b07f361f7dc7e17c5de479cbf119c2910aaffa032aaa81ec9eb9f7e1ad21a410ffce2502e4829404d01ae090ef289bc28c9c3f37d3fcae33e1523b3c9b81e301f51d046196fc15c90d58bd35a1fb11fa04621b32cb61e718a434a0aaefcb676cbca888554d1e84d43b108fc1cb123cd2d300da630fb77a3ce29a0f53af32a5ce81c5ad772a199d1180a9e2f090847cd87ddf7b39aeec89a6b492\n\n# tcId = 6\nmsg = 61\nresult = valid\nsig = 39f7dc9010bf3c200df551499404ca40346e58ce0c56271e2eb7835187ae57a7b9a0688c9b088ad85e128f56c0299c437a1a9a9104f3f51aab7043d5714963e46ace5d8e435fd3e416dd61474e9dcac3ffa6c3f0ebc4ada987c4313ec36f2c43d2dc749e496fbfad639dc811304388990b98cf10ff616a866bf5d98cd5199bb74704ae4ef365424130738b9d81f893a5e2316ee6daea185c170f69ebd2ad455b56676ebda9d0bb0bf4d3357475ed8166a3d2dfe6e093c3a4bc5bc2fc2275e6779d809107b621138fc629a6767d5809c85bf88b46b14a8e4ee9e310db746f4c0a79a3d36f6e305125642dbf823474fb913a9967a6d120e82a79ace48c501fed8dd6edb9634df909fe6775f8f6fc5b79f5881e1f13b7cde37c7c3f97319cd612f8ad2b1ac921079f18213e5facba0b83c17887e69501a6d2eb37661f03590af1a15646165eb785f467cad0c625947e8a8a4a68f8938077d5ef7f1b8b4da0d09ad5874bcb22ccc4ee36b9341b974a51a1d6ca009ded4ace9faa99d924a23421aabb\n\n# tcId = 7\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\nsig = ae8472e987806e5110beae330056ff974abfce7ea9927979cdd14346747414cdce06a9c78eb1846c75dc288d7da531531da49ba7651d3a1f79e3297fe37aa73e075cfe5ac004b166526cba55f914e0d2fb1f12a60a3222dac434fa378c2e7b0ea9c2cb5e22cc343ea624ad6cf5545a61364cd67d6dc23d22e4888a253e940ff0e0ce0207c1feedccdfa10f50d2363bdbdf10893e3967d7555fba157f9a450d6bbe63ff31777bdfd402afa72c3a2181e5cc025443cec30d253653db7e82eb7dd488e6491fd25001723eae2e3106c7b50c2b73c142a4a31ec43e", - "dc9ec9011383c99a095b36258a0a77aac2af19b26af8a166b130f7f57f03a0e8007d5ac0eea9ecbe14fb7885538a22c13de5771bfdf523fef9c9b5f52ebc2af7902a0baf2a33923b0d0622b8fd5c938214aea4b9e7f0a647c5520c3a94a29737b95cc623f20bba8eaa3e9db60116fe1760d9b7ac1841e7586aec9708212a5bef2ff67c74462883062e052ab9fd90ffca0f0a6166b71a93bd289a1d4acd2d6ce72ae0b91cdde72e\n\n# tcId = 8\n# first byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 730a26b2c3fc2df474212c04fcb346b3b78a58c611351871ac1c5262867ce19a6f553880d68ba4c35827610b72bb044162b083fe9ffa7a82e2366090464821946f2ce1a8ea19b12c10c0e42a52ff805851c226748a9d65d7cb2057c9ee0beddd8ca02ae1bc36ced39925d2429d531c2e607bfbf0648708ef4f7d816c8839cc8c62036ac37e811f94a943198acf6e19c66cd829bde9dec9969eb4724e2d4ddc4f8c2bb2527007ddbaf2975937ece7f1779db28c610503e7ebbf0b03459a1f4794136842b57d04f14e22b98ef37939c64d08fb242cca548b7bb2c2d8b1df6bb8b0b7f6f38e47226e9fc0a4723c2a518ebdc5c4c8f15db74fe958bb567e55f092d3dc8af0128b353e2d273d574433c22cca579c479005b52c715eff1ef4eca8d82d2f6d7cc972fe0e75f19eeea3b77ea7fe26b1d29cedbfa7ef0737e4aa50a567b5fb417e356fa8034a72a53c5d1c0cd467808df6faeba89dddeaeb09c3ce7937450b41e7c1d4403b3033d3531adc24e9f5fe35d877a3e36fd3702289e69b460b97\n\n# tcId = 9\n# first byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 39e95e2dbbcf1817407146b19148aeccdc6b538729ae4f3bc240f4ed8cb9dc6a0e9cdf436bf5237e79e239a432a953ce3804a7a55bcc3f7a0d37d0123b1f046ecbf0eb33f52631e049b0692ba2e55db134f60e085c078b0cbbd66a74bd09c852fa9f029fdcc25679990dc482284de9fc74df343aa7197d84689011f61ec0d1d0fd3b811a918e80b9ede6c78c03f0ff6ec7e7ecba9cbd8a4124128034e425aacb004c042be805710e94ca4d36cc2f5d893036091950bb1663d3499f8ebe09ea2760e3939b835efa585834112a5515c8900db98a44914a6c3e5caead29b182e585092ee59126c9e6a7737d3b34b2fdaeb74ddb299cc3725687167d5c1f92d9186f3aefca61ad6c27283dbc821f6b5aacb238500a51f7439a8bf555ee26fba4c8613fc43ffcd254977f5f67095ef23e956721d5d71a8a73503106b2555c7433cabb304f30492c90b357127b09d45f171d7f4d4939c84516f96eb8f0693385e53a3cf8a6b4d0638b121e2e70b5451883ef368097c7a2010dfd889015eef0081513d7\n\n# tcId = 10\n# last byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 84f1e37e7d52955a8d076e83fabce6a7153d49e771146ad665ac95b67eea85ecf8c126887c0b0e4ff2f4f3ca11ccc510fc4a062b3157edf20ff2763ed0c44ca8d48c571119bf5a4ada5d87eaf5c389cd8ce3a9ce70bfa98d5536fc731a2607066bb2cd0915511404e69ae5ba69bc197ed995f51d835bde74c5dd1d4e69a54445f3723692c3b201c28370e4892ea56c3d2b8354489a728495e7d7d611e82c739d53ded82f1e72c4e7273ec63c8fc4cd13241219659d9c6c8620a455477587737ab97959a91efabc1e1de8218bb67466b8e890f47b5ae46266ac06e06247f3a169a31f9fafa268bd453c67b77f7ca9a53adee42b3a9acd4af467f7defbcfb96f087717137bcc0bfb41f5add94af4981c00d95f992995aa3ae406dd6df56a7070834d201eb1cd12c7ca87779de0eb38dbb92f4e7f6f78dd224d0dee4b12b20836155553b0a76e2cc071abb59a70ab393679ca458d18f9a5ec69d1d70b074d6cc8f9c3d5143de1c53dac156d36d28660953ac68670e34317a8864cf7c7214e5c9c33\n\n# tcId = 11\n# last byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 875c6f8f3395f75024b7ade4f6b3004c4607aa6cc99168d01ccd6cb481b51fb8a2bb44bd10a0e7768f282653ab6ca340b044ad03e09abd01bd0962a5e3724ff7a49ffee7818dd5acd0a6968c5c458c207d0f77eff3f8a2be4b559314b02e413865ecbfc0bf7ed7e66ae10b86efa9873eff30a17aedbf81cd98811ba228543ece8b14f64ca98dd26aa5ee83a1847d6fdabb8140e4dfe48db39f6a48a825b7af48c1e1bd124a2f6b76d0e37f76f4ba986ab3afeb55c7cf2f45021dc325322ae61b531f43242c65ba8b4a550801e966602730cc186bf4678d300d5783da4bb9d9ad54aceb656ec7e4598e3c209ac48e1b775b68896fe282bc2e3bf9cac99c601d64de18d31d1892b3098fae2933854f822c49faa09e079c4ffa9dd2c006471263f02e7e8eaf0345139482cd82ed8e6d3e080887ed13f2e65819a1dcdb6d3f5692f5ec7f3a0609f2f71ca4564d58f60a0311be5b597ddda9b07b52541ea924cc05146243d8b3899d3ab001184767f896f0e044224d96c975127c1c987a84d15cfa12\n\n# tcId = 12\n# all bits in m_hash flipped\nmsg = 313233343030\nresult = invalid\nsig = bed5c44c1e2a041c2130caf34ce43e4efdde6f7846c30d5a1bbdd88c266485322b1fd6d6353e85ca4538d862394fd32180b36c10b314a8823a6c4a78cb62b5b9884a6ca480ad2993d4f209d1895f9a4182a14d47f09a13c9c9bbaf211d07653f8c610c16d156c931df9436bc7b9ef929dede2c1d59a2b0441290f51825ef44964564e3420dcf3c1622a8227a82b8d3806eb5d246a3b0527cde1be3f219a9015653f3f8a3956d055eff6a90f42b48f3fae5dc57d6be111956e6a9b6ef52dc35ef5ac363f1ce802c4c09555dd343ad0dda96b467166ac515830e9e2ee40d56e68558408b1fb71cbc4a964ebd832e315d8bee13529314a8ae346f4d12f5ef00686f4ec26f9479f57e69244264d81a0fa39ba7670cdf2db9684e0b70d2864c4f2514e498e87d474e65cb188835d5fd8c34e5432944cc0874eadcd0a3e62d9f533583d33f5a99af63d6cf429363f58f691deb4a95ff409e32c393f344c5e0347b2f12125f6e3944f563d59c6539c661129f300267dde299972f02dcc240bb8541acf2\n\n# tcId = 13\n# s_len changed to 0\nmsg = 313233343030\nresult = invalid\nsig = 4e28f546283f9ac74cc99c6bca79bc208e47220cfb0717aabc521ac55119ec6bbcac880bed0007c04eef92a24b091d9a09ee5d3b5be790abdb2c98a07313d505fc876adcbb1089026940e03dfc10fb46a0c2a764ebe86e51ecc2ab489f56daf38764fc0a36a9cb4529367c9880bfd7631c340fb7fbac0edd2e1def00d65bd52e597e2eba1be1e41bd89a00f5c66fbc18b93e9cc1b5be962780f6d7a9c6d375a28556114f37a8a3606dcd68c8128bf7a7e5f1205778bcf3048bd4f7c10cbdb4ae759954c4e4db0a9fe4df270c41bb86885dbdd8cb7e72a33322238a2d29615a2f01e9fc59c230c2cce58ad096c2de5071e020f76c8c39874f1de677dd5d2f96ab4dc145098d25b740b5279f05713daff54ba695f950039882059cfc2f86c35a0501b8d0914aa59a806e8d1403fb2eef163ba1d6e3d1e18dc99c622f8c2d360bfab2c9e8fd9d74a027e466fbcf4fa56777ee0fea7e04ae1901e65b5361f97146d7f4a550adf77539fabb7135967dc16f8ca99e8283dd69627cf27cb9d2df20bbbb\n\n# tcId = 14\n# s_len changed to 20\nmsg = 313233343030\nresult = invalid\nsig = 78d3509284dc06b54583e11ddf2507d9e50bdbf079fc319d107bc2527c1b742f4c759320fa22435d74e94253feb4a379128e7f33c5f3462fbfb92ff40c10b23f8bdc5890114757364207768014380fc16ebeaf22a7b1a9366f3fbbbb912347f1ef595d742a976b69377533e7b61d3237c3693cf43b34f92773497b8df7ac0660f67439aaa66fe179b34d9dd4d013e8fab958fbe2a27ce84b6d1c3c2998a50d41b6b38000191673c23792db2fe47e4ddd3b5396c65dc44812e55298b8b50b5a2a01d508b9d215986113b099717c3a4ee930f479308c20c26630aa5419c2589c8cbbafa7eaebd71fca9e751793629d767be8709fef9177d6631a48731f5e59fc7e98cd466375e8775ba935f12b45575819ecef4d78d85b6e984d90d41c93bb03c832fe415fb567a1d951f7dbdf407beef8caa3a741ca7c7729c8d8ba98896dbe52d9785feb49332e646771e7d84b75476aafa0a54512806339cb54ec1c70943beb508966741eba4d39c2fe535aa82a9cb92eec99d38540efa3e39fbc02d757ad74\n\n# tcId = 15\n# salt is all 0\nmsg = 313233343030\nresult = valid\nsig = 042bea79b22418311d75e86d0c05a9ab4905e59b3e0b12fa0b1e372bbf66690e1c23145b23b92735f2214ac1eac2cc4045e299f40f7e418c91ff328e68bf17466eb3e28de3139ec23b57ce5aafbc1e0e1521a292935a35c6d6189a42a81c573f8be9a0cf80b34457392faf031b632544fdd50285a7fa82a4ae6150b60dd9a32cfd131b246d6c89fc92e9a1df96857a6b56fd9c897aa4c8b4ee8e10dcd0ee80334d2261f02930a3a54a3477c8e155731878637256f70853484930d180a37c0b604aaaf649ce93f886a5f9aaf86e529286bf1ab5c8e189d44a28814d5e1c7e5c376d8e80ece5686d6ebab90a51773be4a919b22bde123ceed06c76d2c1af878540b5ec81ce067959ea8333e2340a9f9d7f2b22e1052e7478382ca937cbdad62a6d8fa409170ef2a03299126965d558978cad7d399a683d19b76bc598b94f6c94c33c6bb1652d44508c777de0da7b651e7c938e802bac8355d3503029cd1725e2dd70a90627df66c04989e541a56dc7df6a6a24175d921ecdcfdcd0e8b454de4a6e\n\n# tcId = 16\n# salt is all 1\nmsg = 313233343030\nresult = valid\nsig = 1d8bfdc0ddfb312f4b902bd241cb5750f80312688daf5e29ec6fb8cb085fc2978b25f101483e99d6c3a04e7a66e800257ecde1ef18c7ba17eeecd94d89245d15a6690be9d61faa9c94cefd06a24ad229f521688af44a2b26f726268607a3e4c63228261ac1bdfe714ff0414d6029772e53243770d735dbe211df1ce96056431405c2c612ce307957c5e7a7616bfe877148650de4ef0b4cb342aabc9315beab5e33f53986efa2b49de12b7dd1ae3676ba09a2aeec8c39c65dd44ce408a8c87d91e2225ee776cc1d924f354ba2e91c0d52b55fff4ccca2cf6ee76ee6b9588ba8f2d1610a7c7ec520602b37e206095e658fa144393de3fa47d048a017ed93ab89f835b63f8232c3f31eaeabe76a056c53d87f2349198c73cdbe9bc89085f610cbbe5f5ba65a0190d7339f2c26a7e3913aa98aca138bd87e6178c169d8a120eb5e74c51bf5040214efdccf7f9fc61624079081f9faf9c70b294bce55895eef3627cfec1cbd488940f7dc5f34b386fac86a569760bd490e856d364912ea354d4abd97\n\n# tcId = 17\n# byte 0 in zero padding modified\nmsg = 313233343030\nresult = invalid\nsig = b01d88bdc0b6086a22c3ddd9b04a4e4a95c3b2550dc7e6c06e7a36ab17ecabfc5606a06f7ae7a0fe4723743e403112c7fc08800ecb687a64de4be5ea2482600f", - "beb01b46fc799b4206bacffa8c38d27c99cadaa0af333a8002829398d1996d1e8f64688670e30f14e96d9977056f310ffaa9d10b83d1c0eec4d3d73f64adaa343fb8b206aeeb2990342013ff42c7242dcf30f1653488b4976dff36a79853cba1dd28c6447e626e14a92459366208b7cadc5442c1a0bf0d4d8be6e32d5306173112742a873e8c4db781cd362b4ef198f32c750b44effe3bcb0448426f090941ed4c151c9b75588ac0867a2f468dc2fa46f0be778a8d6f2ba01ff47534c6d71d62109dea6741c60142580a1f4e22b1761200f4f1599970e1c456496ff82525085c0a12eea8c412b929bb1873cd7dbb2ab35b9eef309d9f0617fd37fb3c56a5bc84d965098dd6b0c058908f9cbde6858f0d0734726c593f2bcec32236741e110acb9d536a7942f67f4c8a4b06478229bab09e8a3ec73930b75e82fd4ac8e466fa5b\n\n# tcId = 18\n# byte 7 in zero padding modified\nmsg = 313233343030\nresult = invalid\nsig = 52c636d91f3a8c269ea2be767293a325a7addd7b1026251d45c1e99d818f6f8b1d52306768d163b9d0de3600e18b8e6fc3d9e874ccfcef45e4011ebacf3500e712f36863e53cb01db1749798941d557428ac017d22be753eb401df9a96261126b017bceadb8a58e2d85bd51797e59cf9b34b9a42ad90ea441da58fd986e023d5f617498be1304552cb6f3b27a44a6dc9289a29f10ba879c82ccfbaf7468f65ffd1d9b1f44f60480a8743e4110a454d6b88f8f6870a32336510a0e967b352b5f73bd6a8f39ca6f40b65c016149ab7449452a59ec87dfaaef33fed36f1759dc4485b63ee302d302441502c61b1d8427843080d968341873b272991a0ecf9c19d6f37170ca7cdb8a3068acc8d6a7aa4e8a33ef463097a7978dfeea14018732672df9a124f7b3164f3ccc527a8c0d7a2d75abc03efce9adba296558fbb1110b4c6e7c8f7952f67bc558219d2a836c673467a4995140d9d7cc377adca9898f8ace6446feb50e5b744f76a7f75f103b654096fd2902fd863452ab4bc0f89c457bf1aba\n\n# tcId = 19\n# all bytes in zero padding modified\nmsg = 313233343030\nresult = invalid\nsig = bcf0f11694a2a707898454a81625b83e3fe9a96155efad7cacd049c348c23eb728fcb3eaf395015657059129328f19f6e44f050d10783adfa384f20c25ac545c38771a0c46c9724a000868043d60cb9c688595c134022a0b6e99d594581f94638d24cff674a1f2ebc77c0d13a8dbd61848bb0595c6e201608f00c75c5cec3d3091bdaaf5d9c7cc60337591edf4850e7b782d45292baa165d99a811d79fbdd75d8389a270507d3eb26d5c240ef00869d910883ccb5436b36907a82e4058b5a2c6a27e092ef4cdcd5c98bb410bf229d8fe9520559e8167c0b1fd3b94632209bfe0332892f879f25afbba6fb67cb1dfc225746df618ada74a2c085bdbaec3b4f6d675504af6221ddd35db01829df1fd386236df6ee476a3660178a7408dff69a86feb522cbedf7ff866d5878bcaf19e82f09bfe2e6d33b4fb70e1467caceeeae4e5e0d8c81b0a7d3e17ec594c9be9c9ec51c23aae99c81fe919d942de167eee370c605564b8dbf1fee860c6e052a280c7190fda3c2f8c1f401e82c4dc1d67c73e78\n\n# tcId = 20\n# first byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 58384fb43afccf19cdd00c2006d5a6bdd12a5ac149ba6b21d5dbfca1b394624007fa5a729a8d4e308daacece63654606e9be32ae8184ce9aa237cdeb44ce1c961a4598192a609d1edce2b9a9b8944cff2c9bfeec9e2fe6c7887f04e1911d7fdc994cdcc5c1282bbb2a519d4e6433bf087790c8833fc63e9236463121ade094e082d72a456ef9eaf928b2d38a7274b23a5136118e82b897414bb6cd0177298aac6970f179403d152553fc2d7e13e40c3b4875e6bc3fda904582ee49817f39e3c79b8ef70105de88387484595059453f9f57b52f1e79f5226ea2f8168e2e48de1d0d544daad205f6c32a6865f66acd4b318834741553cb1bce7a7c06e4c33cf51eabcbbe44626f53f7a2729cefda59ecba55ffb4bccb746dbd7689e7f3c1f29a6f26180fdfb143b16d10e58c72d4f8abb3dc3d35cabebe7928b5d61d5c1c9bed922bd44badf9db2f0e29f54d950a9978b1408a2935c6ab9e2491bb0624a888d306692fcf71e4c93bfd38ce6590e022c8e5bef0a9b5a3152edcc61c7ab8bdeef219\n\n# tcId = 21\n# first byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 4e71b92c27a22e5003c8ff639720b5b809b34f1f2797135bb4ce06a7d1f6569c5cc4910d7cd0bbb15ec6d0cbeb5612eb9645eab205130e3cf04a0011f56728eb447d26dc77a4ecaba396ae84ff1481422d83e4418f4858cf6639b831105d0f8c428fa9dc69e380dcd77d8d30c362b1ca067bbaf124aaaa0b0ce4bbe9afa7f2787b6b8c476b6139960e1b436f8b13a1b85ffad382e316223261d7e7a5f2300cfc04e51957ea4a0a65d19596c3034239b8bf8f0bea6f0d6d749e2d3df8241e4622204c334cd748c4d0254fac93db64fbbaf79ecad12ad19c74d944970779a6401135a5a8cbb32b6334988df3424c3993c157620988aee3bf276eca44daaa5370265a6ddbcee5d207670c0d46d555027c1854ba9221bb86dcc4df2fa8e99833e362147c8d2c4598f467d0ffb8ceb18c9187511b4135ea068d9961bd07ee0fe56b7dabb222ac542746daa4a45cfd77f0213f7e5bcdbfebb5a4ad18d79a599d0755dbaaa19fd03f4bd8cf9c7c8416c14d23b0ca54de5f0492d2d9ced1c8b5cb79ccb5\n\n# tcId = 22\n# last byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 1a9f21db6f3fe415a344b61db76ebf60a84ff0df70ecb5cd14a16aafdbfbf895303d9eb831d7a9bed89ee3ca737f49643b077a824dc3f433c00ef1b693f82d30449fcd323a48c84cc5af375d7bfa2d3ad882480225fe4a6adf05c0341a7913ab931bd085134fe470003d3a612d88ff0da54af1bede6bfd58f19901de43ba61c72d5f96302b6428bf03847d54ec1d74921787ba1fedc480605fcb45b74d37dd0abb4067f97e28ccbb86bc0a1c05eeb6582984606be21574bbb7bc04edef528a8581eb135e971c6dbba21b1155e777da9f6c6ac182b4de0c9ebfbc59c71ee6688d9b054cf7772f596fc9f6e87bca4ee8df7d6267e29824b1a70840c69e1d162858ece7de3bf08072f5caaadd1b8c6617fa7888bd5e9d5367be064cc82ac4b59b240e0e7397060417e6386a623c96bc7f9bc1da4365e08c22cbdd2ef1a4a77dfef4bbb3e4cbeee7012c25ce52ceefa18bf5056583109030f91d92de8200f3b202efb9cf58d375df1dfee699586298b9eef0d1e99466bd47a0d128fb9089ec6c87e9\n\n# tcId = 23\n# last byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 70dab9aba45e87811d667c5e8324d1f0cc50071c306e6877acfb9a58e4b74798b193159021875e18dde242a51c3885cc51573a95eee4029f663222e0fefd68cd4fa71c6fca4ee8e2876e62bf8211e0986b4e1e7afb2c19ddd5e4e184a77cb11a045f77bd2622665732d1674111166924faf5b935eb2bf4ac8cd47b63ac0078c5ec05d4dedc91595c2b3f5c8dc399051ed0654401cae20128c3dab28e7668b05b4da624fbfab83e425031c8b8f4bb76b78e2e666eb854b0af342011a5e19bb252f90a94ef9c916a945e3e1fa926639425c2e2954533fdab1f6b944650249478792339d9b2f77b46b094c986720029e040c5c6b7c14b777fc9a164004a5b011b15ce6cab8d080f9a006546be010591c638d601d775637f2ed7ab94cc786b05e0ea7b0b0b4c7d1c730de93fec5380c1fa76501f7e3a8eeb26287b27fca17c30952893136a5c12c48163c9e7796154b0b2d6cc7a5d9491a9c777e6d38c60413c5dfe921962ebad11fc6771ee4f3cef2a2717a78bb6ae0895160818881798b58d0595\n\n# tcId = 24\n# all bytes of h replaced by 0\nmsg = 313233343030\nresult = invalid\nsig = 9f8d0b7fc6934a3eb7ec6feb90bc8ed2c457eeac964f0fa9ce8924218c5dd38ce85083e657bbd19ce6d6ddb5422315c067ea8307381c7275e9757f11f94723bed3a174728555dea45c8deb3265879d95f005d6bbfb4c75ecc7452a20b923f78d681a010a2c5d1519841383cfa8b299ab60db09905ae9914c7ccf1d1bcb578eede63da12ab0b16231dd40f3e756a3ee84716c64db348b1bc3fd49dce7bee98a16a1f6d9190d57b940a265a31f8298beb1a1f759be17724c5f911ca1d8bc9f2233eddb09fe51d2d36ed1976f0431f06b8ffa848105bf019d30d7d8d05303daebb56980d1a696f1dc9224164932dfd119e8db7b87e44e0dcfa1b76aa2dfba2beba02f14d1410dfdedd27832c03840ff86844b41b73781195c820aae42f756959775f6038f9615bd319f2788756afd3f37d384a775c4d6484ad3dddd7cb9a45e2b750d73f4f802e60efebcc235630ace45f2c50a2d6fbfc10b951e36c363640ea762ce6ed57649be8b49a45c987a66b86c2d590056f7d4a178e1563bb07ed8cbb8b0\n\n# tcId = 25\n# all bits of h replaced by 1s\nmsg = 313233343030\nresult = invalid\nsig = 312fe5046619324e6b32a385bccabb713d787ff7a7fc9527bf1b57627940365fc84cb858435f078322935d0384728dc77a56e6429adb6ab9c9e3b6a250363d3a529c7bead31fcc57590faec372f816148fc73c8e0eed5b6dc591a10ca6711eb121eea991afd5b8a820caa377071a04a11f3ea526d150ce9e6f7e51522fa7b86ea5e03a4a37c44cf77c35b4907febb1fbd6d6d9c9f117dc0c41b465dc2afbdd09b93237564a4814cb2831a095fe9862d1f607a31905d45d6946a3d5b6377d85b424b99fe36e1d0fc5c7e74bdc6588bba4af33b9742e5727b32c24b2937a3fae82df3734e86b79fe21d9810fef8d6be753fdfccbdf78d735c4223cc8e7781f111da2d83a63288995d9baf1868158ec3117042a4bc4125f7db1a2e95877fe1437701f31955a20fa05e687ca84b6a8a4dcbf34ef627528bdd22a3daeb69761c47b8799d1e24eccbaa0cfd3f5684d98c5c69a79942846c745bfab428eeadd4dc52cf3827c08547c7e8a8fb0dc149e8b043a49ebd2160e0372733d38000581e775d0c7\n\n# tcId = 26\n# all bits in hash h flipped\nmsg = 313233343030\nresult = invalid\nsig = 69d4190ab2eb0b4a59fe3692c6b99dd3ec7a8498f3b81dbbc4709b77ad49ae344a68acc33ec05176a5c1f572dca5ca962d51bab6381d0dd050f539fb5f6532a3c811d2cbde95b043d854c50f479ccafa3cd7ddce182558693c701df66747e537e29adb9c7e2ec3f345fa5010ff3f8ca5cf4de31139dc3f9ed93b4f7ee77bf9bd29757f330e259e6ddd5e40f86152f26c76cf7a778b7565287406e431c440812420bb1c9e36614b51745cd35ad18a018acaf3a8871e904988b66e2a09662f88810bf5bfc17dd7465abb77d2f625ca83ccf2e2f187b217c28cc0818f04e259ecd59c0ce07f6732eb18c72fbd007a1f070c554424185ba45e9eb1b10b0555f8d4678fd7f7e91c92de9f2a11c45be7dc1366ffc3ab71f263eb892ecef25353bec9ca6ab78668cb9b66a9d0cd68b4df0b2ee17940fc1c", - "66915cf30be060952cba3b4237bebf7ca4b59023a9293c6634912a90291528e48b96542a0560da0c457407bf454a9ce5919c70e62536b8e5e26f95940a2a6446a00e9ca64e710012d07c9904\n\n# tcId = 27\n# first byte of ps modified\nmsg = 313233343030\nresult = invalid\nsig = 54a5a3186bbdf9a08df3b3bb343979c4e74e3e6d507b6b81e1aa34421fee0fc53f9dc5b0f80ad535e25caf47ff3e3abb729e271e2e3d945b61e56fb29e32e7d93e748474276252e3b3f05ba709a1909b95414da0ada0effd5ea3572560fd24d3bfe2798006c322acdfb7caeab12b82169b72771b07030370f301a31f0b919724a5594d9b48bb5c8945cebae01653766b7100103aaa38d4c0080641fb7d946c2ba66bebc4e6df76c127eedd9b83dd239357ecd3c7a4e0370b016d542203963e962aba5ad8305d2980b35b8e4f65e2387afa912c13ac7f725b91badedb1332b21e15692752d474fcfe1b408d5c2bc2e29f67b9ab76cdfd64bbeb809ce9e89ca21722b4e04f03bbcf070df8387485d7a2c3fa0b0b3cd7e17562510dad0ffb1c16d838b042ab85d58fbf4429eb91dc9fb499d54cb92300d331dc5609b270dbe639522d84378b529dd7b592c5eaebefd4e032401b073501a4fe1530851c2d845263b0c988d6f49e7dea2cb4925f9ecaf77365bf01894202783cb4c79f3370b74ea789\n\n# tcId = 28\n# last byte of ps modified\nmsg = 313233343030\nresult = invalid\nsig = 4ed9724ed7882a0ea9d61cf2d1bfb1c042d94b2427d71079625d8d59f7e5632a578521973bd496cdabf1e9dd45bac456440930d221b95cc4d2080e96c963685b909000c45d62835b9e68ddc728e9c03a4831a90435abab57a99affcc7270b490b850721609f568fa4a404ff8b054345e1d8e4edb9234330f9dbe60e4ee2042a5bfb28d3a11a9fd03655687561938c45bafc64f59d0d5d72fd23bc40a521dda3e2b4a7b69b6047193cf8dc3fee3fd299fe88b58fa052bce5c4af62baf548bd5fa8c08bf6aa17eddb8fd175c40128d1efc64e40e08076f738a5da495b1e9e0a2f52f1acc1936c905fb69871de2159aa5b4accfeca00764ecbd03f0c9a2d8231f26ce5e7aef43f271d3623459930a0d99a5a41c726085113509c15abaecd8e78f25fb2e5c3983afda6eadd0e68d742613d085ea1db524f8d97e189136b6481e3e61b7f5290f2d10b15a9b93a5fb4a6891f5e4a341797e5fe27e3c202d267d76be409a3b72b15e406729a2e56c9b9d7cda30283d7dd352c88ea82350e4a12fa17b97\n\n# tcId = 29\n# all bytes of ps changed to 0xff\nmsg = 313233343030\nresult = invalid\nsig = a855da78c44be74dddee634157b685a227714cbb6a21288cdbf3a87aa48b1da98cd590a049d2ab715136d147142e5526bec5d1d08a24d99e9965242fed7c0e9e3a94c6cd76511083b7fc244db4b8efa094624564feb61992b02b3f7724fbe6f53f4f1220fe03f28a6defec4632cd074636fc129d75f7c12f2da83903b1b40e2415096f3bf3955d1bc231f643cd964463199da00df164f7ebdd967b2415ed460f9d26bdf6542ad355dc0547ddfc93c272902eb0698a53b0d06eac9acb9d54d335c4a460c97fd778dda40854abb7086beff78928b61604dd94f8e0bf8ed54185c3bf14cb8bbbd79c6f9da3888eee31692b30f370f8d6e2716daf73eb5f318ed4f99705f019eed29b2ba5fa6193eb0049fddecff02ed19300102e27be3c85d231bca8cd1c24e175e95fbc2a3bf8e23e2b8a622f48cd100672e058c2ca2f3b1855eddb06b6e707e1f05956a4683976749193faeccb5e25af7a99528da61c686269b49ea5b768768d7f624a1600e403db229a85e8644f4dd7147315cedbdc85703c89\n\n# tcId = 30\n# all bytes of ps changed to 0x80\nmsg = 313233343030\nresult = invalid\nsig = 5b7d079d667b60b3508089031b604327bbcdaedc887c9530ba1554694dfaf081ac91fd339323793d862786c92696f1d9523cc8aac14dba90a6363bee9a93fcd7751973ecb70cd812725f1190d62f9d950a552336eeec2f2759c4d347d4b75717c46365c684acfaac48ffa5a3a74748bd13d4ce461df0095bc2fe74b565f629be5407985ca7ceaac43810e42951e7a7abd8c2f548deca74f34afa47c2d72b85eea9cd2434d4b5ba81f9eec865a2c4ae17d4fe00aced59bc20f0e8a4e9b5fe98da5b7859719fea29b643323f2fb05f4bba83804ba1ae3040e62331d4ee15ad82221f14abe7a9dc440851fb97708b120e4d32e37327d103b626a64845a76d24762d12e4210e166a87fa77f8e2f2c9feda8dfaaefa10774480b8e6f6bd912c4048b77ab3cd7684c348c3ca398ca0c06393e83defa0eea7034c97695e7556facef23cc8a0e9d395080fbd94b085380550deca1a2952554873be0936714c5d78ca53d36728919a7c4e7069ce97bf215da1d02cf14068c16100f8f78baba2d19abd306e\n\n# tcId = 31\n# ps followed by 0\nmsg = 313233343030\nresult = invalid\nsig = 8574a80f36973bf6b986c7b81bc6d289b118caafffc31d2c99d2dccc1e6611d598dda3fd7c22cf10c7729fa84a87e3f19ff4bf11a96018694b7d829bc003009eb104e8955e8a8717f2fa89220281fed0878b9febf77e5b81e93515a8541d7a4b8a4c008a298d317e7b82c826b5d67bf04d459a5d5fd7f69389dfbb25146c4805cab1aadd009d7b00956ba93f6d02f5266d8b06e28b346b06f1c3501cef04a1c607d7f85ee037178e6f2b0dde307eb6f5f88229541cb3d37e495cb5997264a0c1342713e8548e318681a783381dec9d6524f5c80c437b997f2fb95c80ca7158d0ebd531b4c9bafb19ad9ea0542217c1ad965ee6f1afa5a48becbf65b380f1946dcc85fbcd82fb90011e650dd1e507dd19037ec1f2ac98a87c25a6f588aa6b6f93d35b83c1e8e09152470dae2af8afc1fb2146cd426fe8d3cae5a80c1a63c7fc42825226bec26d57fb62bd048fcd921b8be7aa8d024926fe3cf5c5e3e7f5b2f50b33dea547389e40fd67a8523cd5facb29e97583f26a34f1ed880869800a4b35d6\n\n# tcId = 32\n# ps followed by 0xff\nmsg = 313233343030\nresult = invalid\nsig = 7857b1fe06fcc417c07766a9892ae30eaca65df7474575a70d8e286fc22e3092dcd23446b101cf27951eeb2cf879d320b2bd12f45b79c10018178532d8fc4d708583adb4d7d7469cd5362c074c519106c761228557d4280dadd907b27675e318033ad32ea71e001c3e7f68f6dc07509396a61db29a9ad376f406ff35aeaebf8c6fd0bf7df4bb721c91dfdffa933f37db0bee5d4f7d34f3df2a3a0f383e443647838d7c02ca87d9d79814ee9d5b2860fdfea5577702dbc829610ee1eb13f6e6f0636f39c5ec537c0695bca4971dcab6907e907650b92b96d5d64c6de52c4d986d458f0195345b1e84fbeaa483e3c926167a0d1a977024aef2474c31752515b55021048d2fc23ecc5ec5126c57b18a1656ed49aa90e0cb51e77e56507d7fc60b1f761354423b110d44c67664781e5caecb5da5475b01ab2356993378491c2ce4fbc41badf110c33bd0b78cd19540d8aaf27bc9f3450ce7579c87ee40a454133093ad89b29b99b4b15c21f072bd2f5c991e6a98a23fefc06121ba81540cad7e2a34\n\n# tcId = 33\n# shifted salt\nmsg = 313233343030\nresult = invalid\nsig = 9393a9989ba865a8be0fee265ee6b5b3cb9380019e3c4377521a729a968dee0374b547e94e6b12d860bdfd5197787d35208ae3e8d6a689d031072f6b993b7a8900a278fbf1c07dadcba6b4074375c666e035c2f12d158f626277d7d4b781c8b6bd71a97f575f08c4520b2d66588756b9fc8603a346cec73eba4e8350d7570e923cf84c1b33ad7bdd507d87c3ddf01084703f47d423a5abacb7a6caf5bf7ac4c61cfc91ba9483e7b3cbf9a094aae25b17468fb3a3b6a42d23225bd4859d2279037de2ff446eb441de7060a675b61b3e591a4f854265ffe937bcf575ea85b84046af568a298902774ad9a888847f3d20496d8c570da907686e3441998857e3927feebbf5540d734fc7093263b0efdc33f32f93b936d8f81b920745c2c854266059c92120435b3f41d7a3a5a7d2c3571a15db2136362f736e099e893785876f0ff0b51d3006417235129ba4480c4164329f1f9c6aaf48c93411e388f00cd8b6b125f4f1d3fbf21ee7ad4355a416101cd857f6ae91958aa88b31134a7b6906aa184d\n\n# tcId = 34\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = b77b9c5862c9fd0f4e4d72fb7bcb23b2a5d2124f13aa7001275451a10148993a3e846e0b29157aa3a1a8ae643e2ee84a459b033201692697eff53b3606e85c6649d76c8288899499f2751918879a034d616543c0b7cfb215744b8dd03e50ce4eeda2891ddb8ca9c568ccf98b3128be25e191a4462f6458c718b33e5f519e3de152b0ec691f2f5b8f3cc150ce37814095001cd60b3dc6e694a3df5aab7a0c1b2dc152c26901294b01cba43b74e4e28d14a9a614d0198c30fe578831c8d1b51b1db0dc34f6c47de0d38d20efd1afc8d385e6bffeae43280f62a5f2715af79af64f04d126e1dd36067bb44d01ebc78769766bd4332a43dba1b124a4cbed381ccb43952ee4cc19201f05558c11f51ab5e76b76b01fcd036a949ec9e4d7153fb25a1aafdc8e0f1754bb59ffecb9a6fd9cb05d527661bc013cb73cec4ad1ab046e1e94b6d518604c7ce7bae1dd1319b612cde529a6ae588c4c6a6a7669e82e141ba6352e4552fdf05d9d1e3fa217ac5b38629d81ed749629ec53f3b30f29df883fa68e\n\n# tcId = 35\n# leading bits of masked_bd not cleared\nmsg = 313233343030\nresult = invalid\nsig = 6ae7425610f6d9b6cf5a358bdff3bdd00802d55cdaba2201794738b900489dfeb11d921d87449ef9d1e5b0deae4bdb26cc13c9916a767cde8e0ef67de6f8042e1d5f600bf707f65380f971222d37088edaafa4909ed566694601e25bec8c3128dd61e664688b5ce2ed2f626a5b618bb10d12cc78ebbb0f3cd6883b6476fe4f89008d9e8feb7e835fa873f2d6d9973412abcf12d2646723b1a5ab4e3b206d49ab6f47789010cf902adf720a02c7677847925487634f81e163819f286da4d42437e66ead9278a088d9a2628aec137be60eac2eb30306e598b9459f0ee1c79dc132248f013f15fb80ba713703b66848612d8f4e5d6bc444e166998f3107b459efc73ebe1bdc0b98e4d57bb960d6db0540f68b96212da6ffb05bac7ace76db7b3bb69188715c091f14354fbb8a02cf2b2d77e7f2e8db505e93603bbfff2f33ba54be38630dba291befeca45c76c67f344b9daf7a7b0712b5a49e7b6af29734516570cac32d02074a74cc0e49797508e1aff2af9f20a7163440fd962bbcc5269d8f13\n\n# tcId = 36\n# first byte of masked_db changed to 0\nmsg = 313233343030\nresult = invalid\nsig = b9bde8fc005ab0b6b0317aadbef7d6e8abb69391bd7ea43fba5a49ffec02979f89d0a9efeacfccabae271c998ad7fbff4442367c07e49a892b9632bf4f30de3e95583875f3069fd3299a30bc21e74526cc51cb10dafe22b06d3a412a6509daa83d337e18c5dee6591a11262e008c3b562a18a9ada3169267eaa849b16a377b195ca6f83df0d2c2945a3d3fc2b872bc2ba9", - "65ef4186ad1e7ea5b56fb689fada3f377e0897e5cf86906dd2d894848a6f3d64d96a5523fd74d2e8418809fcefe5b9bf12f5ae7189e2aad268e835b5a701073e26be131c9dac06203142d93c95af3d00acec603aae2a24bff3d5481c7e71be5f63a1c47eef680a00991008ca0047c7bef7812c9b823a64e6cb40d0fb4472b702bf4f1c9483f835812eb3f70808e3dec7ab2ce2d8cf1c0dede8521780513140f10d84727d4f14ae06f65276feba1857a7e879e9c4f59c80760b117e1c4083e342018da1c42adc6c5255404adaf8460d122d3c670aa29b58c087d118643eace86667e6bad6c07f078f9cdb8618b48e92\n\n# tcId = 37\n# last byte in em modified\nmsg = 313233343030\nresult = invalid\nsig = 872f410815926494669ff81dc7114e096f007790f6a4ae3a946b64984eb28bf28351616cc82ed34172f1d1d0a8918f87d64258328db63b72127fbd26320a21c114a7f0b6c88ef717d949f57a28e66244b1fbaaa942d3ab2245ac76f0cc4bafcc119a64f7d167e3e2a64dc9a004464b28bfdcac00a24ed7e3689ca1ed23480c1a0625601c4e7f1e374b54c1c1fbed91e0967b40a3920210b84619c23217c2a6a39734320607abee432c7ad2bb0a8b735400bf775256a61324d4c4ee743ffe99a7bcd13a27b0fa33c0dfbe0cf9663116997573a59204c62aa497e98a698b5dd19314de9ef95cb8bdad0e07b722eb6795f6ea8098b7b092f7bdf73aa459dd85843b310d71e0400470ac14db383940519c060d111f0b80896083b6fb305ee6d9d7879d177f7cfd85c913d226fd6c75f38519d7e8f6d32bce50e85901fe6bdfc74997862a3b809e5ed5793013cd19af9efca616a9ac3e346136142374f58ca823b6a6b2870bfec41207b0a8f58d72c119e319a3934cbd40451f0a1e26b447a5687b9a\n\n# tcId = 38\n# last byte in em modified\nmsg = 313233343030\nresult = invalid\nsig = 5e0a2f627d11c2f5c2a61cec6b9ab6ea6f2620085e52ab1d162365a2c7040178b3e6222503efdbc66eff0cb892be95abee6ae02af0a29436de4ecd2ff63eb7e082d51ab31d358309747ce61e30df4ab3382341b88eb2da84406ae20fb3bf9a968cf5ccc871be02f6cd9f2a89ffc6f3a69a589526e8a4f1a8c049286ffca8359e81cb3173a2d2e2cc76a4829edebdd3dbda327a92dd35202b597bdf077d7ac2924f8cfb29a85dc25dfd2ab6e770cc80120a7bd594e020392e58acca9d7356773e58aacfabd66c2d9a888379b73868d07e3d14af1dadc1843f2a6c8e14c93b3b29134169c5ae3b293ee6f6a475f20c7c159258a8cf1a1cede602afa9fe7c61a3218c34024a87bdf4a64ef12c78a11a50bc1521836bc4d84eba90ab1db1b17ef0e6e95d7c9de5d6b84e11dd5422a869ecc7f90f952794f6093df89fb664aae86669c63bd46de5972388d81908fe56c6bd029e393047c52924a97aa55c07d482f98b784e6d39cbc280330a34ac4a8a72733235e66234903a4505228a3fc8e1146034\n\n# tcId = 39\n# last byte in em modified\nmsg = 313233343030\nresult = invalid\nsig = 07f0772411cdb1e02802f8ca699bf55bebadd254c9aadc16e1d6d4af3e12670bfd2adc2dbe80195f065d75fa4a25ef757766fffa4d902b386a9c7f247206f60c744938f50d6f840170ae94c6792299c386a1d6d7aeb73fecd5b72a28249a2ad771a5518fb694f54924e15cecb2d755da44b54535dc6f8fce0e91ea160ea942c9e34eef5d7367c9065f5ac270ef11a35bcedf663183f74cd2d504410b97b4034a59d201333f235f59924aad30fa877a31e0c1573f62e7be41f961e9c31ec334153d83adb0ef38963f0f5e20c90b67ae5c5e2ef8520587587c22e869881abc6bfcecd62a1f878115e6cbca7259e8b9e116fdeed841f1d698e85f65c7ae07421cf3096f6b31a07e251944bd7e2cf50ccf69a18de7c17700b25786d29ed74fe8d5757d4dabe2d6fbffc2227448ee8d5559f992a3b635cd74a68c329f1785e743ce9d3bee57b997f9ae2deb531f8994ada98d9a3536b074814c2d5003d6a3d50a9e56287f3aee8ed87104c19656a6057515fe17bb2a72a53a7c19b7a814252c8bee61\n\n# tcId = 40\n# signature is 0\nmsg = 313233343030\nresult = invalid\nsig = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 41\n# signature is 1\nmsg = 313233343030\nresult = invalid\nsig = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\n\n# tcId = 42\n# signature is n-1\nmsg = 313233343030\nresult = invalid\nsig = c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b1202\n\n# tcId = 43\n# signature is n\nmsg = 313233343030\nresult = invalid\nsig = c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b1203\n\n# tcId = 44\n# prepending 0's to signature\nmsg = 313233343030\nresult = invalid\nsig = 00008f9ac1354af4161d0e55b5674821d02823b3a6b3f79cefb98cbc77f9ac2d91cc6345f989a7828132f73f3630a247a936b6a057b3e5a2fda0c5999ea7721ee8880960c24cd2377e869cca1799747142d57ad6a8d83ec9254d89f591add11a758e1ea1e29bd08f624d0e28cea52ed5eed7c0f5f49d3533eb1cdbb2af837dc42942f9a86b5f4e2d5ce506697ef067a344949bdd89afcc25978af4d50c300bcd0ffc9d93cc559e3ae1a13215a1d3f6030827340c6591061a5ab7e65153b1df8b25e1421f924d39c7e6f76243c1bb9ae4063d9a475cd2ece45f4e288fe0720074e87868d70a5584a9ac2b47a56417cc76f15154315545a3ed6704b365f15d34320804469c3b09ed211cbc9e9e767b6f21fa16f8641d8b78b8dff8062a25b5bd3b6a38cb4706c42c1fbbe66db1c05cb57531132eb94fe1569735c33ec491c318a686c837ac810be4afff605f92bb390e7ab3cd24c0cd997cf13f112e5aa01746f43902432639e1eefcbd37b413c586f057bcba40a8f1251251e84cb7c87c53c1d1d558\n\n# tcId = 45\n# appending 0's to signature\nmsg = 313233343030\nresult = invalid\nsig = 8f9ac1354af4161d0e55b5674821d02823b3a6b3f79cefb98cbc77f9ac2d91cc6345f989a7828132f73f3630a247a936b6a057b3e5a2fda0c5999ea7721ee8880960c24cd2377e869cca1799747142d57ad6a8d83ec9254d89f591add11a758e1ea1e29bd08f624d0e28cea52ed5eed7c0f5f49d3533eb1cdbb2af837dc42942f9a86b5f4e2d5ce506697ef067a344949bdd89afcc25978af4d50c300bcd0ffc9d93cc559e3ae1a13215a1d3f6030827340c6591061a5ab7e65153b1df8b25e1421f924d39c7e6f76243c1bb9ae4063d9a475cd2ece45f4e288fe0720074e87868d70a5584a9ac2b47a56417cc76f15154315545a3ed6704b365f15d34320804469c3b09ed211cbc9e9e767b6f21fa16f8641d8b78b8dff8062a25b5bd3b6a38cb4706c42c1fbbe66db1c05cb57531132eb94fe1569735c33ec491c318a686c837ac810be4afff605f92bb390e7ab3cd24c0cd997cf13f112e5aa01746f43902432639e1eefcbd37b413c586f057bcba40a8f1251251e84cb7c87c53c1d1d5580000\n\n# tcId = 46\n# truncated signature\nmsg = 313233343030\nresult = invalid\nsig = 8f", - "9ac1354af4161d0e55b5674821d02823b3a6b3f79cefb98cbc77f9ac2d91cc6345f989a7828132f73f3630a247a936b6a057b3e5a2fda0c5999ea7721ee8880960c24cd2377e869cca1799747142d57ad6a8d83ec9254d89f591add11a758e1ea1e29bd08f624d0e28cea52ed5eed7c0f5f49d3533eb1cdbb2af837dc42942f9a86b5f4e2d5ce506697ef067a344949bdd89afcc25978af4d50c300bcd0ffc9d93cc559e3ae1a13215a1d3f6030827340c6591061a5ab7e65153b1df8b25e1421f924d39c7e6f76243c1bb9ae4063d9a475cd2ece45f4e288fe0720074e87868d70a5584a9ac2b47a56417cc76f15154315545a3ed6704b365f15d34320804469c3b09ed211cbc9e9e767b6f21fa16f8641d8b78b8dff8062a25b5bd3b6a38cb4706c42c1fbbe66db1c05cb57531132eb94fe1569735c33ec491c318a686c837ac810be4afff605f92bb390e7ab3cd24c0cd997cf13f112e5aa01746f43902432639e1eefcbd37b413c586f057bcba40a8f1251251e84cb7c87c53c1d1\n\n# tcId = 47\n# empty signature\nmsg = 313233343030\nresult = invalid\nsig = \n\n", +static const char *kData113[] = { + "# Imported from Wycheproof's hmac_sha224_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: HMACSHA224\n# Generator version: 0.8rc21\n\n[keySize = 224]\n[tagSize = 224]\n\n# tcId = 1\n# empty message\nkey = 7eef1e40253350eb9307cc6bd8ab8df434bc2faf7095e45b50ffdd64\nmsg = \nresult = valid\ntag = 45b466021214d19245506900532f5272f44b5ad9b3d829f0f5c2108c\n\n# tcId = 2\n# short message\nkey = 8648ee936c6ebc5ae4bb48c1139a54e3ac5d897beec492dc4d740752\nmsg = 2e\nresult = valid\ntag = 5b72e3208679e63f929e6ee19a257d0555f21484c7caac7c9861be43\n\n# tcId = 3\n# short message\nkey = 2297d78cc45faf9b885b36ac80205cc08e1b730f264f23f4edbbb406\nmsg = 329f\nresult = valid\ntag = 2e7a81c4e29a435d91e95f37fb0a62fbe9a69e061f416c1ad17a7fca\n\n# tcId = 4\n# short message\nkey = 0361a904f7cbd107a617614ab69d11208ee6d423b3ae90e2bb6d7e54\nmsg = e6e765\nresult = valid\ntag = bbfa7ff960931e2f5ed8c925cd74272990e755f31422e5c858995b73\n\n# tcId = 5\n# short message\nkey = 264a8d2128e8fd0972d9acc66dc275b1286beeb0aff7ce8e97c7b96c\nmsg = 25838e50\nresult = valid\ntag = b25c33bba1a91024f42cfb93232ad685d54be2ca310b0ff9ba5107b8\n\n# tcId = 6\n# short message\nkey = 6dde8828f09b7aa981082aa116fca3b7341721c0440803f52cc9732e\nmsg = be81602da7\nresult = valid\ntag = e510fbf14bd7301f751cc0ae89f8725a7654ebbba6bb2f741626471d\n\n# tcId = 7\n# short message\nkey = 3ba156ffdc55d155bd085105aca64d13044db60c82cf2cd9d61d098f\nmsg = 69c76c8937a0\nresult = valid\ntag = a9d38740245038d9c23cbb59ba6513f7034d8047a07a904a2a23d2fc\n\n# tcId = 8\n# short message\nkey = 9c2739bae2a863fb0236466ba3408f4eec8d43206d56bb7aa2f8f75e\nmsg = aaf4c9146db948\nresult = valid\ntag = 2110393c6ba01f53be203533fbc5471fc8f04940fe912411564ba36e\n\n# tcId = 9\n# short message\nkey = 31d9cae2c3df064018209b121f9e883976ea757942ecda9d92fdadfd\nmsg = b844289529206f5a\nresult = valid\ntag = 1f1ddb8680b0d99893c498a772a7bea63c2e08c0257a7f31e3db2b88\n\n# tcId = 10\n# short message\nkey = 89a1b9e9004444c1d4e967570c21a05512d3f618ec168fc3e13ea5a2\nmsg = 6b42eb6d84e90c70c2\nresult = valid\ntag = 3b6f3b09e03424c8adc267fccefaf614db6d74977754fcad8a8d1a9b\n\n# tcId = 11\n# short message\nkey = 4398731752fd7af1db86ebccbee0ad65eb5faf00ace6c9aa35441faa\nmsg = 1ae2e7d917c48026570d\nresult = valid\ntag = 5f1948336953337c381d449c17ab5c327c86121a8b1e0db19f624e3f\n\n# tcId = 12\n# short message\nkey = 339460d6bb26ca60ebcef10c38587b9e575c398491782ccf9e8f6803\nmsg = ca03eb4f37536b2377738e\nresult = valid\ntag = 51c5661c31fc7edd09de60c91957036824a19761bcc54f1e93c43c3c\n\n# tcId = 13\n# short message\nkey = 025f8380d10b8207b3623e4a90f79c3e753b1be6a35b88b68330a40c\nmsg = e57daef9ede4e915c3a9eece\nresult = valid\ntag = 8afdb371714e9d6063ec9e43c8cd55e1c032b2fda57f91e9ec0f6601\n\n# tcId = 14\n# short message\nkey = 0bdc5f51f8a1a35d75554be70efbcdf51e54f30fa4696f727431941f\nmsg = cc3dd1eb0690f7af09ad408f9c\nresult = valid\ntag = c0918951c3422b48502635b6e58c5dcee9fea51c9dce5c7c215c9b93\n\n# tcId = 15\n# short message\nkey = 5ada97d90a74a7d4a68c5464fff25a9b7fa2e75d6acf0a59f143a2e9\nmsg = 3fe4ede158af108e09f543e14ab7\nresult = valid\ntag = 180a6b8814ae34228ae9ac76da8379376aae6f1aa0102e8f06b022dc\n\n# tcId = 16\n# short message\nkey = 007afe6b7c0701c30cb76b431afa3510c8b31d21cfe0bbaa5289cd08\nmsg = c2cf80005c591c1f737369fcc212f0\nresult = valid\ntag = fbfdb450a42f9a4154146f73c590a0ee9187af8505d60790a9615447\n\n# tcId = 17\nkey = 26491168a32ce8cbc4c0cd64107e4fcc432f07d59c992862e1e55b1e\nmsg = 15e51091b4f424ba1fdecb5e2fba11f6\nresult = valid\ntag = 3fa99ee160328fddc47a7c5043e9ef645b8b07462b71cad58a024517\n\n# tcId = 18\nkey = 6978b6c134dd6949832d65e4cb9c1e1dc36beae4a134907c80da0f44\nmsg = 6641d834b3fbfdb5d178007801f7b4e7b1\nresult = valid\ntag = 61387230446f31fde8552f22ec52a7fef82e16d0ad399de939d8229b\n\n# tcId = 19\nkey = 9f9fb280adf12e739548b1d676cb794d685b9104e63b619b055cb60f\nmsg = 91513dd6de40a1c23f8d1eb0ab8f5ea6f6835506ec750894\nresult = valid\ntag = e6b92f9c030270897c5d27162a5d40f6d373ff136105d1a90e0f9a60\n\n# tcId = 20\nkey = 3b1b16e6dd2e69559dbeb964e10fc94c068471b2374d3a2d24d2d466\nmsg = 8ecd55b56c668dcb8e8b1efd699c0e4a464204d29af140f87d3f5075495378a3\nresult = valid\ntag = 175856b8f56a8c6fbebc36541771545046bb416254f01ff11a218d2e\n\n# tcId = 21\n# long message\nkey = fc296398845063e661bdf36ff3615926eaccbf06947cd31e6677f710\nmsg = 62bd0ad75d64c554cb2cc109c6e4019fc601c61cabdf99f8de871edc17a301b4c1f55a15ed66f91eb4666dd08bc59c\nresult = valid\ntag = b7cf741cf96d6bf57d216c43611c20869ca0d008a4542f5c850605bc\n\n# tcId = 22\n# long message\nkey = 6c98d1feafff9861351966bc6ed19ed467f9dc767fa0df6b56955554\nmsg = e99d51a1d9a25c5842501a5383133578c8debe501581b1610f7575519bbd26f01ab7cbe069bfd5df3699a2fea5b461a3\nresult = valid\ntag = 0fe64fdd912966a6542069a22bfd084b484c015cf434d86bca15cdb6\n\n# tcId = 23\n# long message\nkey = 42a164f94e33d574118e0f8c938bbc2874bab219ee7a179f21e13b02\nmsg = e895639631f8b5d48e3ce00eb310bf129976ffced96a6f30a09d6ac1c291f73e93690526d86cc4d1a8e21c11f5a8979308\nresult = valid\ntag = 1ea982226e8d4cb7b07922158e535af2233b4c4d39d26b062d6d2aae\n\n# tcId = 24\n# long message\nkey = c1b5b91210667e72aa510346e1811358815a3330c5ed27a695c39451\nmsg = bf1086c3ea8b8840418c690c92152c73a6730bd1a0210c8b1d25c43a2193e739684f04a25a52cc305599f22ba6f70c8ed00d10b914a9522a25e06c471ebca2ff1bb4fa6799b85122020978dfa66ef12ed26ad38331b26eaf591afceac96d8c771eae50fb7f46242337dd0029f4813b53\nresult = valid\ntag = 4f355edbe6a3c93fa7add384be899bb4fb55385a78812a26cb64e44f\n\n# tcId = 25\n# long message\nkey = 4f09d14d40e475b68288c080668ebb1bc8c6be3191f6664d91a23fcd\nmsg = ae8b6ecc219b368d22fb596e42652d0bffee0b20d69cfd089ce3dc9303ba2f054ccaf5f5147c7968a028b140f5e3c9274eae2afc61c3bb6298dc598df77dec1cd2dd84212693b082b8132ad0f0b19f66db69fa7f6bf352b4feac724ce048440d2a42b44d53bb62fe2ab25f7f54bedf9ce7ddafd8e09330dacc6d52ee9b65f5\nresult = valid\ntag = 29ba268103019e158a35614c80780fda3f5ec3fc32c80aaa27b4025d\n\n# tcId = 26\n# long message\nkey = 613f414cd94130bb8a6243e12eccd90836808428b4a7177867934da0\nmsg = f696b9063b64816a45064f48ca05ffe4d5cc3d0b3beb0dd4057b6ada994969bf039bfbb72ce197101cc4e4b3959b3702f045afb7fb3113c997606dcaf2aaab31e02ac6ee597dfc0f9143d0effedc9ae7ea10e7ddb1db860a91afec62c48ed9c0a6c10b4da1de748caf7f7a5e01799ac57090daf4e3352fe859c5131c205d262d\nresult = valid\ntag = 8129e2093070168a20899793a04447a7ef01ae723419256a8cb42f6d\n\n# tcId = 27\n# long message\nkey = 5b88275307aaf691a0cf0c51f50553dda972d14f8afff98e62c2d972\nmsg = 57e4efbde1ce9fee2e29db19dfc6ba3bcb17f33765af7f20133bbd1910d542145c7def187a304517b8d8954454a90a717f67f9c8cc587965fd9b43f41ecc50b3458d8ce9f66b475f1eaef4a29ba89a3d58e5011c92acd1536fcd18abec29411b389b64f7f344777ed6deae32127abaa69a50ba22a11d6e59354f2ff0e3c3e3293cdc335411cf55b180bab59da36903a6fba91df34d2aadf7017ff49a4fbd73c9c74469f225dafc0a0c7048c2b824cc0cba8cad8aced11b8cdac3243cdb5b654f7a15ce2014e92ee287d06904d778512a1b1f5ec0c9b090b9ab439c44266b6be3d6a98947d26d079e4f7e849f3c6d93de98624e6c5f53ec02dbd368bc24a300\nresult = valid\ntag = 657dd04b970219edd63abf9d4aa108474aa316b6bb66bca76ed806c6\n\n# tcId = 28\n# Flipped bit 0 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = 6f99e862e532e8936d78b5f02909b130ab09806b2af02f7cb9d39d12\n\n# tcId = 29\n# Flipped bit 0 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0c216faedf3053cd51fcaf417222c8f144abd5f2f7fa00ab4667d88a\n\n# tcId = 30\n# Flipped bit 1 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = 6c99e862e532e8936d78b5f02909b130ab09806b2af02f7cb9d39d12\n\n# tcId = 31\n# Flipped bit 1 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0f216faedf3053cd51fcaf417222c8f144abd5f2f7fa00ab4667d88a\n\n# tcId = 32\n# Flipped bit 7 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = ee99e862e532e8936d78b5f02909b130ab09806b2af02f7cb9d39d12\n\n# tcId = 33\n# Flipped bit 7 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 8d216faedf3053cd51fcaf417222c8f144abd5f2f7fa00ab4667d88a\n\n# tcId = 34\n# Flipped bit 8 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = inva", + "lid\ntag = 6e98e862e532e8936d78b5f02909b130ab09806b2af02f7cb9d39d12\n\n# tcId = 35\n# Flipped bit 8 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0d206faedf3053cd51fcaf417222c8f144abd5f2f7fa00ab4667d88a\n\n# tcId = 36\n# Flipped bit 31 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = 6e99e8e2e532e8936d78b5f02909b130ab09806b2af02f7cb9d39d12\n\n# tcId = 37\n# Flipped bit 31 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0d216f2edf3053cd51fcaf417222c8f144abd5f2f7fa00ab4667d88a\n\n# tcId = 38\n# Flipped bit 32 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = 6e99e862e432e8936d78b5f02909b130ab09806b2af02f7cb9d39d12\n\n# tcId = 39\n# Flipped bit 32 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0d216faede3053cd51fcaf417222c8f144abd5f2f7fa00ab4667d88a\n\n# tcId = 40\n# Flipped bit 33 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = 6e99e862e732e8936d78b5f02909b130ab09806b2af02f7cb9d39d12\n\n# tcId = 41\n# Flipped bit 33 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0d216faedd3053cd51fcaf417222c8f144abd5f2f7fa00ab4667d88a\n\n# tcId = 42\n# Flipped bit 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = 6e99e862e532e8136d78b5f02909b130ab09806b2af02f7cb9d39d12\n\n# tcId = 43\n# Flipped bit 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0d216faedf30534d51fcaf417222c8f144abd5f2f7fa00ab4667d88a\n\n# tcId = 44\n# Flipped bit 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = 6e99e862e532e8936c78b5f02909b130ab09806b2af02f7cb9d39d12\n\n# tcId = 45\n# Flipped bit 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0d216faedf3053cd50fcaf417222c8f144abd5f2f7fa00ab4667d88a\n\n# tcId = 46\n# Flipped bit 71 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = 6e99e862e532e893ed78b5f02909b130ab09806b2af02f7cb9d39d12\n\n# tcId = 47\n# Flipped bit 71 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0d216faedf3053cdd1fcaf417222c8f144abd5f2f7fa00ab4667d88a\n\n# tcId = 48\n# Flipped bit 77 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = 6e99e862e532e8936d58b5f02909b130ab09806b2af02f7cb9d39d12\n\n# tcId = 49\n# Flipped bit 77 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0d216faedf3053cd51dcaf417222c8f144abd5f2f7fa00ab4667d88a\n\n# tcId = 50\n# Flipped bit 80 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = 6e99e862e532e8936d78b4f02909b130ab09806b2af02f7cb9d39d12\n\n# tcId = 51\n# Flipped bit 80 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0d216faedf3053cd51fcae417222c8f144abd5f2f7fa00ab4667d88a\n\n# tcId = 52\n# Flipped bit 96 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = 6e99e862e532e8936d78b5f02809b130ab09806b2af02f7cb9d39d12\n\n# tcId = 53\n# Flipped bit 96 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0d216faedf3053cd51fcaf417322c8f144abd5f2f7fa00ab4667d88a\n\n# tcId = 54\n# Flipped bit 97 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = 6e99e862e532e8936d78b5f02b09b130ab09806b2af02f7cb9d39d12\n\n# tcId = 55\n# Flipped bit 97 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0d216faedf3053cd51fcaf417022c8f144abd5f2f7fa00ab4667d88a\n\n# tcId = 56\n# Flipped bit 103 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = 6e99e862e532e8936d78b5f0a909b130ab09806b2af02f7cb9d39d12\n\n# tcId = 57\n# Flipped bit 103 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0d216faedf3053cd51fcaf41f222c8f144abd5f2f7fa00ab4667d88a\n\n# tcId = 58\n# Flipped bit 216 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = 6e99e862e532e8936d78b5f02909b130ab09806b2af02f7cb9d39d13\n\n# tcId = 59\n# Flipped bit 216 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0d216faedf3053cd51fcaf417222c8f144abd5f2f7fa00ab4667d88b\n\n# tcId = 60\n# Flipped bit 217 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = 6e99e862e532e8936d78b5f02909b130ab09806b2af02f7cb9d39d10\n\n# tcId = 61\n# Flipped bit 217 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0d216faedf3053cd51fcaf417222c8f144abd5f2f7fa00ab4667d888\n\n# tcId = 62\n# Flipped bit 222 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = 6e99e862e532e8936d78b5f02909b130ab09806b2af02f7cb9d39d52\n\n# tcId = 63\n# Flipped bit 222 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0d216faedf3053cd51fcaf417222c8f144abd5f2f7fa00ab4667d8ca\n\n# tcId = 64\n# Flipped bit 223 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = 6e99e862e532e8936d78b5f02909b130ab09806b2af02f7cb9d39d92\n\n# tcId = 65\n# Flipped bit 223 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0d216faedf3053cd51fcaf417222c8f144abd5f2f7fa00ab4667d80a\n\n# tcId = 66\n# Flipped bits 0 and 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = 6f99e862e532e8936c78b5f02909b130ab09806b2af02f7cb9d39d12\n\n# tcId = 67\n# Flipped bits 0 and 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0c216faedf3053cd50fcaf417222c8f144abd5f2f7fa00ab4667d88a\n\n# tcId = 68\n# Flipped bits 31 and 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = 6e99e8e2e532e8136d78b5f02909b130ab09806b2af02f7cb9d39d12\n\n# tcId = 69\n# Flipped bits 31 and 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0d216f2edf30534d51fcaf417222c8f144abd5f2f7fa00ab4667d88a\n\n# tcId = 70\n# Flipped bits 63 and 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = 6e99e862e532e8136d78b5f02909b1b0ab09806b2af02f7cb9d39d12\n\n# tcId = 71\n# Flipped bits 63 and 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0d216faedf30534d51fcaf417222c87144abd5f2f7fa00ab4667d88a\n\n# tcId = 72\n# all bits of tag flipped\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = 9166179d1acd176c92874a0fd6f64ecf54f67f94d50fd083462c62ed\n\n# tcId = 73\n# all bits of tag flipped\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = f2de905120cfac32ae0350be8ddd370ebb542a0d0805ff54b9982775\n\n# tcId = 74\n# Tag changed to all zero\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag =", + " 00000000000000000000000000000000000000000000000000000000\n\n# tcId = 75\n# Tag changed to all zero\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 00000000000000000000000000000000000000000000000000000000\n\n# tcId = 76\n# tag changed to all 1\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = ffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n\n# tcId = 77\n# tag changed to all 1\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = ffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n\n# tcId = 78\n# msbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = ee1968e265b26813edf83570a98931b02b8900ebaa70affc39531d92\n\n# tcId = 79\n# msbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 8da1ef2e5fb0d34dd17c2fc1f2a24871c42b5572777a802bc6e7580a\n\n# tcId = 80\n# lsbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = 6f98e963e433e9926c79b4f12808b031aa08816a2bf12e7db8d29c13\n\n# tcId = 81\n# lsbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0c206eafde3152cc50fdae407323c9f045aad4f3f6fb01aa4766d98b\n\n[keySize = 224]\n[tagSize = 112]\n\n# tcId = 82\n# empty message\nkey = 26f314170b054daef5349804da18f969c94174baca2beeb009d47a23\nmsg = \nresult = valid\ntag = 816d7af2475e94713f2dc3aa3069\n\n# tcId = 83\n# short message\nkey = 17429a622dc18d38715b31f8f2b963108e952a6708f3e52d5b25848a\nmsg = da\nresult = valid\ntag = 26630777d85f777187630bb94674\n\n# tcId = 84\n# short message\nkey = 0acfe12d89acd7d9ca49bae6318f35b2fbbfc84e5d2c9d4954beded7\nmsg = 03a8\nresult = valid\ntag = aa4c4bb63cad66ac675150f718b2\n\n# tcId = 85\n# short message\nkey = 5a0680f112354bd467865b19ae956b2719e21ecee1a913bdca294339\nmsg = a0fb73\nresult = valid\ntag = 36c7cd3f290d1d7d332b951aa471\n\n# tcId = 86\n# short message\nkey = 46fa59aa524fe30a0f4e39561b5666854440dbd970bb59925ce0ae1a\nmsg = c8b2f557\nresult = valid\ntag = c1a8a7d43df34d917f0cb512c57d\n\n# tcId = 87\n# short message\nkey = 29efc5ab5d30e535357603f2711b6e0aa6cf4613546c23144436d213\nmsg = c8d9f5b373\nresult = valid\ntag = a8cc7bebef4cfcd5ac2f401a372d\n\n# tcId = 88\n# short message\nkey = fe60e0322035538f2b1de9de380cde35f291deeb6e027b5d829ecd1e\nmsg = 185e4cada4f4\nresult = valid\ntag = 32faa154396b0b62436e6bf937ee\n\n# tcId = 89\n# short message\nkey = 1bf7fcdf3742fa77991528cc1c678b98be9876a8c8c5b809beab7d9c\nmsg = 9c0f34a5654279\nresult = valid\ntag = 086170c46d2b0a76c61527c2d052\n\n# tcId = 90\n# short message\nkey = 32533c16f792ed0acf8e9e60f54aa173937c7194b882ecc3e671009f\nmsg = f968dc7a19afe339\nresult = valid\ntag = 3fb4eb4450ac4b26a714bcfb224c\n\n# tcId = 91\n# short message\nkey = 3cf28a476ce7eaecfc3fbf1b0859a042a568740a584c77cb8f9603ac\nmsg = dbca9e4bdd84b38934\nresult = valid\ntag = 2cf14eb8f4c7537e9831983bb5af\n\n# tcId = 92\n# short message\nkey = a2a8090aef69277f92830ec7404c032f8fdebfbceabb9e590968a77f\nmsg = 6b790a946a83364c79d7\nresult = valid\ntag = d467209f63a9bd3d2c5398c305da\n\n# tcId = 93\n# short message\nkey = 6f999929e91672bac35ea70f8ff8b9aeefa5489493c99b0d27797207\nmsg = b7dabb237aeae2be8b5e19\nresult = valid\ntag = 09b2bb6eaeda5f0229b8c35a2f54\n\n# tcId = 94\n# short message\nkey = 4525b96c263e4d2dab2890aa55f3cc503dc1206d9f1915a6fba5ae61\nmsg = ef858f496fcb7c3fabbfb52e\nresult = valid\ntag = 6f5ca7efcb9a70d0abf8425f42ca\n\n# tcId = 95\n# short message\nkey = f89401acb0a60d07fd733ed563f2ee241f4ecfea8114587a44dfdb0c\nmsg = 7d3c0918085984df95097afa81\nresult = valid\ntag = fc227f29b51f9c855343dcd0ea11\n\n# tcId = 96\n# short message\nkey = 58bce8c0d17fc7131d2fa2262409bb14663a6e68019f88299987893e\nmsg = 1ca50cd6c3f1225eb6c4ec4d6a90\nresult = valid\ntag = 53e103bbded7b825affa240f8578\n\n# tcId = 97\n# short message\nkey = 658e510fba4e2208afac98333f9e242bc118f6e79ef0661d619dd32b\nmsg = 32c385b75ae84558ca302881c51639\nresult = valid\ntag = 485f351e2a9a82910c3c949e32b8\n\n# tcId = 98\nkey = 6a41cc3ca7142ae14e6d979a3f890a331597e592dd74520ce4ea660f\nmsg = 78e3a770a8aaaf039fd4c9b6a1780411\nresult = valid\ntag = 331a58ed96fc8b9e684ab05f636c\n\n# tcId = 99\nkey = b8972b93b68302cbaa08d32904eae6375a66f3508ece3c9b22382c7e\nmsg = 3687e6287d73c9e3f679a50e7671247127\nresult = valid\ntag = 27d8113955026d4d318070fbfd8f\n\n# tcId = 100\nkey = bc570932abfa11050ad4fc80a6d5afe3271d86aa29dc62738b207d14\nmsg = d53202acd2ec74d746531bd9ad3016d0980e0166fb427a08\nresult = valid\ntag = 020e3e0c2940ce15eeb67392570f\n\n# tcId = 101\nkey = c92a0665c12e87026e1b344f971fdb0e474d450cba834aae40e2d21e\nmsg = 4a3a85ac09f5190ab94f73fd91d98f056015263c89ed5da223fc4675cab25cdd\nresult = valid\ntag = 922853f159c42b9e274fcef7bdf3\n\n# tcId = 102\n# long message\nkey = 6fbef67cfbacc98c63252b1ca009a60e8e3479769a2d449fb4639064\nmsg = 006e179eacfa9e1e628bb7823ee9609ae7968b6df90e176f772a79088d37e9b15cab312922aaf8fc6583a341002bda\nresult = valid\ntag = 0a27a12afbb9c3136202e02ae3b2\n\n# tcId = 103\n# long message\nkey = 700b09908174f1072e31ae8ccbda1c4460fcf21fdf146a11482b210d\nmsg = f772564ecb109e80eefb1d5a7f1c95e203ba4c980233dd8d13de3046079a6b2ca26dc3521e5e0c807eae7a79877c73e9\nresult = valid\ntag = 04c718a4cd8b583d5ffb8170276c\n\n# tcId = 104\n# long message\nkey = e18a20246ebe1b5796dbfe35110efc7637d74a355f0a6758d4a00b7d\nmsg = 77720dde530e6eeaa0e9af3311f7e99189d6c4f7d71d0a4207d62c766bee32020c92f5d5d28d5de4d0d9c94b57ec05f0c3\nresult = valid\ntag = 25ebc8611f4b636d892f11df2b29\n\n# tcId = 105\n# long message\nkey = 3c4585a775bec76c7d8b27b87e70a5863a85e6111f3161b3815f59b4\nmsg = 628c0ff8c432d74f4cfb77ba46b7cef67a48ac053cf0c18be41648736abcc8c6fbe4981529babd4b27866e34ced16d8b0bec456e14653a1422f5a62556d20b0fe4e03749d5f6e986375062dbdd82f6e9e1d4ad547c31530c2a31383c25ff57e879eae99d9b3a0da1f3c1dacb975067ac\nresult = valid\ntag = deb94b2d43e98926af51fc0c88dc\n\n# tcId = 106\n# long message\nkey = acaf94cb1a8ff4677fc586d2bdf981ac3a656b208215e0a7647b420f\nmsg = 314c2c25465de3427279dbc89436505fee6d37d56fbda0e5e2a49449d9dbf003027f2e4ef5c52f7af93fd80155a66a1cd6b9885b56d828058a0de7d247e19580b2e8dcbdef2ae46840565fd8b276569c19d7e185116ea11ad67d5fc27f4a6816ba45be5d14f3ba4315c74d1edb20f217b116be852b62a7f4e32b3e708ff9f7\nresult = valid\ntag = 5b0d7aec7fbd196ee69ed373e131\n\n# tcId = 107\n# long message\nkey = e490348ad78fd2cd5b51f2795b79e5805ce1d9baf1151dbdf995e1b0\nmsg = f6ff1845842b9e46f79adb1079aff47397391dc269bc0c899ba4087b58a676f5408c3f7637ffc4772af3e41b5cea51058bc528ea09bb4bd797594c798b0f0ff881695e98c08bbb040c12c5cbdb228d61cc99e332e963128d06e97ed2eefded2e1b5a035f3bea68273efac03a894dcf2fcc79a5696218595404b2758deb9a80ee\nresult = valid\ntag = 590727f344d8a540e5c5e0f4dae9\n\n# tcId = 108\n# long message\nkey = c8e099dbb60a8f19d8b86856b21c55f3437ae27f77dff9808f12a1b5\nmsg = edbc109bf28c8ab32b1238eff1cd14308cdd845fa919bfd8a00c991cf9a8d6b05dd8cc7d2393782949c899de79e771ef7d8567f32287623963048e6c80d91f0778dd63311106e9d0913c08b7a0b7253fa3ce307ac40ec55a4c445f5455a570fec090e251e8646bada1a486d41c3794bce5639732f2c6cfd58081c479a68c515f5d47bc5b2f1622a08d38a596a817f3d4efef8003ae430e6ae93b0a3ae8fa95a2ace3d24d90a9ef861dc04c13e38f6e524b3abdf9cce4fa490707c80c16e254b7a71af00a12dbf473b50b9fe4097ec00ab27e66b6f3022b0f101ee1a9f7fa8652e9f095ca240a446067446867f78e8352c4110794c2e3383dfedfb35e74a33e\nresult = valid\ntag = 33e7dcb0fde3b1c5b92506e635eb\n\n# tcId = 109\n# Flipped bit 0 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = 6f99e862e532e8936d78b5f02909\n\n# tcId = 110\n# Flipped bit 0 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0c216faedf3053cd51fcaf417222\n\n# tcId = 111\n# Flipped bit 1 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = 6c99e862e532e8936d78b5f02909\n\n# tcId = 112\n# Flipped bit 1 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0f216faedf3053cd51fcaf417222\n\n# tcId = 113\n# Flipped bit 7 in tag\nkey = 000102030405060708", + "090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = ee99e862e532e8936d78b5f02909\n\n# tcId = 114\n# Flipped bit 7 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 8d216faedf3053cd51fcaf417222\n\n# tcId = 115\n# Flipped bit 8 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = 6e98e862e532e8936d78b5f02909\n\n# tcId = 116\n# Flipped bit 8 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0d206faedf3053cd51fcaf417222\n\n# tcId = 117\n# Flipped bit 31 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = 6e99e8e2e532e8936d78b5f02909\n\n# tcId = 118\n# Flipped bit 31 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0d216f2edf3053cd51fcaf417222\n\n# tcId = 119\n# Flipped bit 32 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = 6e99e862e432e8936d78b5f02909\n\n# tcId = 120\n# Flipped bit 32 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0d216faede3053cd51fcaf417222\n\n# tcId = 121\n# Flipped bit 33 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = 6e99e862e732e8936d78b5f02909\n\n# tcId = 122\n# Flipped bit 33 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0d216faedd3053cd51fcaf417222\n\n# tcId = 123\n# Flipped bit 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = 6e99e862e532e8136d78b5f02909\n\n# tcId = 124\n# Flipped bit 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0d216faedf30534d51fcaf417222\n\n# tcId = 125\n# Flipped bit 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = 6e99e862e532e8936c78b5f02909\n\n# tcId = 126\n# Flipped bit 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0d216faedf3053cd50fcaf417222\n\n# tcId = 127\n# Flipped bit 71 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = 6e99e862e532e893ed78b5f02909\n\n# tcId = 128\n# Flipped bit 71 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0d216faedf3053cdd1fcaf417222\n\n# tcId = 129\n# Flipped bit 77 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = 6e99e862e532e8936d58b5f02909\n\n# tcId = 130\n# Flipped bit 77 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0d216faedf3053cd51dcaf417222\n\n# tcId = 131\n# Flipped bit 80 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = 6e99e862e532e8936d78b4f02909\n\n# tcId = 132\n# Flipped bit 80 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0d216faedf3053cd51fcae417222\n\n# tcId = 133\n# Flipped bit 96 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = 6e99e862e532e8936d78b5f02809\n\n# tcId = 134\n# Flipped bit 96 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0d216faedf3053cd51fcaf417322\n\n# tcId = 135\n# Flipped bit 97 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = 6e99e862e532e8936d78b5f02b09\n\n# tcId = 136\n# Flipped bit 97 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0d216faedf3053cd51fcaf417022\n\n# tcId = 137\n# Flipped bit 103 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = 6e99e862e532e8936d78b5f0a909\n\n# tcId = 138\n# Flipped bit 103 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0d216faedf3053cd51fcaf41f222\n\n# tcId = 139\n# Flipped bit 104 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = 6e99e862e532e8936d78b5f02908\n\n# tcId = 140\n# Flipped bit 104 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0d216faedf3053cd51fcaf417223\n\n# tcId = 141\n# Flipped bit 105 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = 6e99e862e532e8936d78b5f0290b\n\n# tcId = 142\n# Flipped bit 105 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0d216faedf3053cd51fcaf417220\n\n# tcId = 143\n# Flipped bit 110 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = 6e99e862e532e8936d78b5f02949\n\n# tcId = 144\n# Flipped bit 110 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0d216faedf3053cd51fcaf417262\n\n# tcId = 145\n# Flipped bit 111 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = 6e99e862e532e8936d78b5f02989\n\n# tcId = 146\n# Flipped bit 111 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0d216faedf3053cd51fcaf4172a2\n\n# tcId = 147\n# Flipped bits 0 and 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = 6f99e862e532e8936c78b5f02909\n\n# tcId = 148\n# Flipped bits 0 and 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0c216faedf3053cd50fcaf417222\n\n# tcId = 149\n# Flipped bits 31 and 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = 6e99e8e2e532e8136d78b5f02909\n\n# tcId = 150\n# Flipped bits 31 and 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0d216f2edf30534d51fcaf417222\n\n# tcId = 151\n# all bits of tag flipped\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = 9166179d1acd176c92874a0fd6f6\n\n# tcId = 152\n# all bits of tag flipped\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = f2de905120cfac32ae0350be8ddd\n\n# tcId = 153\n# Tag changed to all zero\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = 0000000000000000000000000000\n\n# tcId = 154\n# Tag changed to all zero\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0000000000000000000000000000\n\n# tcId = 155\n# tag changed to all 1\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = ffffffffffffffffffffffffffff\n\n# tcId = 156\n# tag changed to all 1\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = ffffffffffffffffffffffffffff\n\n# tcId = 157\n# msbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = invalid\ntag = ee1968e265b26813edf83570a989\n\n# tcId = 158\n# msbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 8da1ef2e5fb0d34dd17c2fc1f2a2\n\n# tcId = 159\n# lsbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = \nresult = inva", + "lid\ntag = 6f98e963e433e9926c79b4f12808\n\n# tcId = 160\n# lsbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0c206eafde3152cc50fdae407323\n\n[keySize = 112]\n[tagSize = 224]\n\n# tcId = 161\n# short key\nkey = 77b0de54e893642caeac34bfd1ab\nmsg = \nresult = valid\ntag = 2014a9f272378fa1c9f6744d4db4861b52e61a19eb28320ebee2d174\n\n# tcId = 162\n# short key\nkey = 7346c7e4b118b24e51f4512f906a\nmsg = 506d4faf624f92965aa6b5c01e0c80a8\nresult = valid\ntag = c4e0ad2f62279898a7ede0f709a1ccb8c1004941f3c5074392e79533\n\n# tcId = 163\n# short key\nkey = caa864179f66e826a0ef3b5edbe3\nmsg = 73f64253706ce6b5094c24ee012ece9ac2495283dcd8c7f1114e81e4587d8ea4\nresult = valid\ntag = a1220745bb03d982763bfa7ce352b8bc87576a0ad5d46a0da08ff2d6\n\n[keySize = 112]\n[tagSize = 112]\n\n# tcId = 164\n# short key\nkey = 663a97d6b5493dbfa60c8dd087ed\nmsg = \nresult = valid\ntag = 0c6e21a85e3cd2cd413f36507d6e\n\n# tcId = 165\n# short key\nkey = b08c345a7c7166fdd33ce768c1dc\nmsg = 9964d80ee2338cffe28483aa446a6f76\nresult = valid\ntag = aa003015309f2ed6fd7752e49c31\n\n# tcId = 166\n# short key\nkey = fc9d2883c67534fefbd6ed4a9798\nmsg = a49820c194a43deef11f3a0f4eaa80425439fca9d9f1d7c8e665d6b130e4e908\nresult = valid\ntag = 1c2b96623c91ca9c5027f8f81ede\n\n[keySize = 520]\n[tagSize = 224]\n\n# tcId = 167\n# long key\nkey = cfa639656cd49f8d70f0b1a5a056ab4fc0aeeebc91338d067f36c47b6012dc8d856b8abcc4e1abffc910aeaee21b4d366e907488ffd0ca55b36a621aee0b2e9f0c\nmsg = \nresult = valid\ntag = 0ef4fedaeaab4ad52c843657047b19788a9fa91061b7a14adda8c490\n\n# tcId = 168\n# long key\nkey = b36d3d47a4585b401fc64c98eff56243d4da78863063d814e88f370b92576406d447fcf3d129a1ede57ddc56ea3a0a1f100105a95e83138cdf45ecf2a5992acf90\nmsg = 15c75a64b04d097af2371af380079eb8\nresult = valid\ntag = 4ecb2daa5fb08dbd836e92a51e200bb230f54ac2c9778f5226b3abc9\n\n# tcId = 169\n# long key\nkey = cf78b991382db5e8666ccb2333fb672179b10a75cf9e5a7699ae640005e19772ef6499a3bc97f12e58e835bb0017bb3b2e64c6ab44a0d619dfa0363484d1c991e2\nmsg = f661e598f180f25dc6dd76db8a9e0e4c9c272b9665a6b1756560c723b8e08595\nresult = valid\ntag = cd55cdb0c4f02b9f6148392993b18b4ff00a5e73b6f3fbf83a854aeb\n\n[keySize = 520]\n[tagSize = 112]\n\n# tcId = 170\n# long key\nkey = 3772ff6bb4e5b2811cfd4d6a3d34dc74bca3dbf89a5817b79d8472a1383b8c9afb27b3006196ce9966829eae6a313c2d724d995f4def17117c09edcfc8c0cbbc93\nmsg = \nresult = valid\ntag = 40beb1d3aaab25a403224e577770\n\n# tcId = 171\n# long key\nkey = 2ba910bc0bca90644cb21e96063e2cd85f5dd02fda75d353c9b51eaf45eee94c165ca6592d6cfdd987bfdc1cba66363d535a14b2f7ead841b17c4d76a5049105f9\nmsg = 7ba461040de9ea3cefd4809124f78b39\nresult = valid\ntag = 4d28a926df1b188e85d092bacf11\n\n# tcId = 172\n# long key\nkey = 7fcf3cb1b1c5b537492aede4689284b5881935e3537bb7307198d6518e7a6aabf70b50b44e4a8dfee35e9f5cbada7447e511a37209390fcd171c62075c6a8bf1eb\nmsg = 83d29c1c4d059ddb0d2aca787e5b701bac3953fb9bc72dc87b1ef92a582e9748\nresult = valid\ntag = 392ce38f7838b2f87163eea00b86\n\n", }; -static const size_t kLen81 = 54342; +static const size_t kLen114 = 38438; -static const char *kData81[] = { - "# Imported from Wycheproof's rsa_pss_4096_sha256_mgf1_32_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSASSA-PSS\n# Generator version: 0.4.12\n\n[e = 10001]\n[keyAsn = 3082020a0282020100956353ecb7561945dc5544e4602466078c93f28507701ffd39e2a9813c8ac8740e6ad61c955d484e513b3dcea527e001a018ee2c207c1806a96763280236cd3c820dff79837c9b709cb4b522d3ddbc9192242259c43be75ea244d37ccfa8a4c75024a2cf7cc76e842ea69cc7ca1227405b070047387a5068e4976e4b8ed5f9aadd7b4db024fbb8d7bd8a040d8f6610c1c6eb1d4b606dfd182235d0360880304d5a750603af0c424b8c8e6dbc12c3697d2d609c97547e774e2e362ea96d1690dc9432112c535258b3db2c4c32ad510d6c07ad0788357883869efb8b629298724847925cf42b34386be700f02903db5852276bee2370941f397bdc3905e30964a0b5e73602703340960c3ed6078263b611f197955fecce4b9a32e43cd1d2e5e87c4ceb65edc8853a7ee31d28e16e5adffb8ac7b760fbfc63d5f174f4d0936461dbb12c964a6b6d6cee752e5fca1ab4a9fd238dd3e8860a1d763d2019f9e7b99ed7666d4e038710f90e0093bc566987d6c0092f571376e705b342d066c54e6e2578927b92c1f0928de44e9a6e1f49b907c6aa4f605ec9c398d55df81c67373b03cc8110162fb417f96fd321048647dfcbb392455115cd912ea83351853e6a185284648842adcbd25e67174a3b93b8a64ce2ce9de0e8577b8b662ce32e2565782665dd38e5bb5fcc4fe12e4320dab7773b545a09c6d39d9dbad459f21f3e624ee6ed0203010001]\n[keyDer = 30820222300d06092a864886f70d01010105000382020f003082020a0282020100956353ecb7561945dc5544e4602466078c93f28507701ffd39e2a9813c8ac8740e6ad61c955d484e513b3dcea527e001a018ee2c207c1806a96763280236cd3c820dff79837c9b709cb4b522d3ddbc9192242259c43be75ea244d37ccfa8a4c75024a2cf7cc76e842ea69cc7ca1227405b070047387a5068e4976e4b8ed5f9aadd7b4db024fbb8d7bd8a040d8f6610c1c6eb1d4b606dfd182235d0360880304d5a750603af0c424b8c8e6dbc12c3697d2d609c97547e774e2e362ea96d1690dc9432112c535258b3db2c4c32ad510d6c07ad0788357883869efb8b629298724847925cf42b34386be700f02903db5852276bee2370941f397bdc3905e30964a0b5e73602703340960c3ed6078263b611f197955fecce4b9a32e43cd1d2e5e87c4ceb65edc8853a7ee31d28e16e5adffb8ac7b760fbfc63d5f174f4d0936461dbb12c964a6b6d6cee752e5fca1ab4a9fd238dd3e8860a1d763d2019f9e7b99ed7666d4e038710f90e0093bc566987d6c0092f571376e705b342d066c54e6e2578927b92c1f0928de44e9a6e1f49b907c6aa4f605ec9c398d55df81c67373b03cc8110162fb417f96fd321048647dfcbb392455115cd912ea83351853e6a185284648842adcbd25e67174a3b93b8a64ce2ce9de0e8577b8b662ce32e2565782665dd38e5bb5fcc4fe12e4320dab7773b545a09c6d39d9dbad459f21f3e624ee6ed0203010001]\n[keysize = 4096]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 0956353ecb7561945dc5544e4602466078c93f28507701ffd39e2a9813c8ac8740e6ad61c955d484e513b3dcea527e001a018ee2c207c1806a96763280236cd3c820dff79837c9b709cb4b522d3ddbc9192242259c43be75ea244d37ccfa8a4c75024a2cf7cc76e842ea69cc7ca1227405b070047387a5068e4976e4b8ed5f9aadd7b4db024fbb8d7bd8a040d8f6610c1c6eb1d4b606dfd182235d0360880304d5a750603af0c424b8c8e6dbc12c3697d2d609c97547e774e2e362ea96d1690dc9432112c535258b3db2c4c32ad510d6c07ad0788357883869efb8b629298724847925cf42b34386be700f02903db5852276bee2370941f397bdc3905e30964a0b5e73602703340960c3ed6078263b611f197955fecce4b9a32e43cd1d2e5e87c4ceb65edc8853a7ee31d28e16e5adffb8ac7b760fbfc63d5f174f4d0936461dbb12c964a6b6d6cee752e5fca1ab4a9fd238dd3e8860a1d763d2019f9e7b99ed7666d4e038710f90e0093bc566987d6c0092f571376e705b342d066c54e6e2578927b92c1f0928de44e9a6e1f49b907c6aa4f605ec9c398d55df81c67373b03cc8110162fb417f96fd321048647dfcbb392455115cd912ea83351853e6a185284648842adcbd25e67174a3b93b8a64ce2ce9de0e8577b8b662ce32e2565782665dd38e5bb5fcc4fe12e4320dab7773b545a09c6d39d9dbad459f21f3e624ee6ed]\n[sLen = 32]\n[sha = SHA-256]\n\n# tcId = 1\nmsg = \nresult = valid\nsig = 492e60b828a9847501c7ff46a4a304ee7bf61ae87dd88cd5598c76289a70ab3afb7fa9efa3228a1e826241c13c2e120d22cd3a38a9b9ec5826a9711bdb119748e0f7080ccf917e8cb53f6f21ed19f4ffad9efd94c66e329226a811eef928816b5edb3b10d1f483b64bcad9b055dc78e99491560f59a598001e76a0bff0ddad4ebfd565495e2b523b02dc80050b64db4a200b5ca9efd8a1339d6cdff6a82dcbf769d3b0ed7ae53ea8f1788eb025e186a5eac02e3e1fb1f0aeec29b2929c7a718c32159609f973109d4a876bcecdeee6c6418df27fa46eb5cd238e274f94ab571c968b2c4a838cd812aa90e4657b95c0ccd68d60bd7d33b6e291a6a13f68e046cd41ecfc2bbe35fa9b4a0c17d89a708f89f975bf5a5eb9abc812b0c498d93d2d161f5c7969afbcf798029f3c14efc3f7c265b93fda572d265e9e116ffa9416e111aad32072f61943e9f0754f6e116ab5119ed09bbe245022b6e8bfe35dcee4a53ed375f5451c43f38f6eb55b48e386030cfb76c408c81f606886c81aacc76a999735682413069cc016f6e390ea2df7e8e74d088fb0643aebf4899ee8177a4a5faea3889181612ffdffcdb3fc699d578eba383e23e1beb68824c0bc7f920afbbea8ce7bf2b7c3bb40f33c6b7c8fb6cf73e6e2f3679669f235ddfebeeafa872918581d99c84d6dc37ff85949449d3994982d332cb9f9b8aca691651c4b63e58f6b38\n\n# tcId = 2\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 3731df2cf46de010d06775044db5ad8c98fcb8bf2be357fd39af55a864395bd24fe7cf104374159cfff1b537bb26ecd67a0488ba7a124d8273ee0b3cee00bf94c5d34900c4ccd6e200cac6e90d97d8b4197ea78ad36be7a4fea6e1b43b1ed954c737bd6ec6960945f24308b085e255c1142c61af876995bb5736ae19ca0e1cd9b319634ff7103a4dc89eaa41c00cd173236c275c463a1cbb67f65e45b1bcc4e10c7f3456911e4f9ac4cee8b43651980dc2e8c332e5452e35f256463b96bb21799e22f4349846e8a2583763226b3278134b9313757163ce6ce0628376001fca63c535d384a6aa7cfecc29ebbb5cf6be9d2b211464e02a09c089fa63cdd9571f3fc559bd2b92b7a5a724d3b88fb4e42079add87ae188a983c11fb769d3ce65fc5aa27dc17b6914283971278a749101e38d3b92ed2817ce2b37d4dbdec14f44f2b015433cd6e5a5de6d803e95b8b8196bcc4a77ff6a8419f5c78b4dcfdae0f9f98e8ab792cdc18645a14604a604a417abcee8051aff0eab887f235b1c6143327a0db2e00a63e4c6b8e002f21c86163de68e49c766fa91ad956c12d36856cf58324d417b4898aaa6db3eac372f06ef21d7a7e86b540972dd4e3f7afae7caec8a692f31386e7b3e8b934499a945cdf556eae3010cb1ece6a08d0dea9500157e78117d0f4cdff096fba973f7c04f79bf42a54e4a82e5456f065bbe9382605c444d21cf\n\n# tcId = 3\nmsg = 54657374\nresult = valid\nsig = 2b981b661e1e244b67e1892bdab545edc9ef68b50b4572a536dd4a40f31195648b8180454faa8765ba19b7ac6a59176c1a2c621e6f4131af96beb4ea47252d7617b9d8b432b5cd900f7b328b0013364a520ce46ae66a63b7181ab60b514839ec8f6bb63ec2f83a2a142d8ce532f63ebdd3f29ce26797f46f68481818ff1e00c47df1e7e8d809737307a63902c94d9c2ee5c69f1fa0602eeedab4d7f6d0032de1a8294c117ad2aa34f1175544f2bc1d466c5965ae5796bae216cee8bf7b91f9746a97749cce0388f8f443d14317e825cba2ea278045826835dfab50091cc988fc12d4913920cd625ac321df4d89175ba3f49f89d372318bc222643ab888246f8e5ad64f227be043bec3828cea0bc0229be6e71a035dca97bfe0c2f34ce03c1ee9d084d19a6d6c301168129a6589cee1119cee84e35b561d1f658b2e4f16c2b4ac2ded8ed5757ebec2d5ed59c66f7bd932d64c58af7fc16af4d3f6bc42897114c9ec537f8b7ea86752a2a26133a7b8085f4d438ba643f7a389a1c6811c2ee4eda48060d27e6299b44c8d504d280ca56ca49c246b5c4c897d3e1d352e047f735cb7e30ce87061ef267bd9c50e7de77032a162ac9a026e684bb4d0e8131a90240494418fbe471c9900a6b322306e47915f83cdd8e525566e8a71dfc869ee5c7e74d33ac8646d7c170ff82f2f3e5d319dc61cad06235145c031d03cd420fc370adb3e\n\n# tcId = 4\nmsg = 313233343030\nresult = valid\nsig = 75fbc044fe19c72f459b5a1fc4793f7893ffcc95bab8609900b3c3d3be6643a42987c167e7feb63ec2a57f961c1b9c35b11b34044e065d7d3df0b49496dd80f7cd1eb2e8c0d0b726f37e701ba62a3003a17657af55adcb0b6e86f95198ed435207663d616d516bf7222db241094849fb232bf6fbeeed7b5879a6b6c8aebc57646117220bf55403d0ff078e219ff119bd2e52e767b708b91afe30e9be348766e7537e1128087b4c9aca0281415e550965a395ab20d423330939b4e37551a7735c6df2b0395dd032266ec7dd4afaa3c477c64e3f95ee4945960b7a0c43b7a9622448eba4149e30ccaa0c234be7b06f4ebe8ef43063c62282e0643c6e483feb1942e3310bad0c05bb2f87674825fed098d5c787b69c5ba6a1f716dfa62ede3b8a01c076598b15ffa2e2be82fd1d8025f8ded14cd8fc8753ef76419e1dd561bc0310b2c7845e2744c9621735758645af0252315b6a05894c264c4587c8870e02e94813fc3a797d590a9645d92845b614b0d89cfffc0b80c5b48186ae350d877f0bc06e561770736342f00d56b2ae785891afe39cc0412337e4f5d29ff06d727f6fee8f0966d52ac146ba82a753751ad786c9d70ccd3005b11fc4f6b81517433a052c2351390332bf7fcb4326a19930b512631317c0354a81ec7c529ccd1bb2ef206d697999950a539808958d6c2be64220123f12e7aad168be35de70103090937f44\n\n# tcId = 5\nmsg = 4d657373616765\nresult = valid\nsig = 66381e10ca91edb043adc721883b8c005eaac4daf040379f4d69a2bd7ded69cc6e85d80a6f3ce8aad523a5d185cbb2fcebece5210feb0318065ced244ff73830cbc628d79572f7f0961c111883b9c40336d110cdd4dc4b9a04ae4a0380e8b17f0667b71b2c5bdd1c9b48c4e83694820d4cf4200051bf3101559625c0d06fd0996b759e9f4c689610e41655b262957457a4d8341c65bd89dd438025699dda37aa2d051c", - "d3c974103aafb092e865b1397661be3eee3f95d7a75d9a2ebd74e6d2cfa54ff0d8753130eca1555eac4bea45e90a6a37d7d057ccde4c32e43c7499d5c38754ce950308fcff69d42aa4a4fa85e6d92bd20d605823e198e94af5ad65ca4c2fb919391f919aa5fe048ff51a506f63063cc5f777fa70b20cf759a0b812b2527265fc7f32a40cc275ef94ebb4a0410280ad658e67c34d581b5e7a17c5629be34ceb70ca68f40aedaa3c9b7dbcf34f30f12789909a3540512044bd812760c3f76dbc644b89760b54d9e090dd9cbab935597c55fdc6793f8ef007f732732e3d1fcc3e3ed253689aa29acfcf85847acb74a722533b0b5debfbcd0b5388f6b19e8b9ac47753f8a616ed9a7e4163ce8669437c62271bad3497edf3b655e4d1523cd8f3448c5d07c48dcfaf1e1f8310baf3d3707ea23288911fdf91d7379738ba8fee9ce525ca0b9c4c03bf1bbcd7d1369c0d2f5e0127ce2d1f95322c94d4c309f2e8\n\n# tcId = 6\nmsg = 61\nresult = valid\nsig = 134d55894c80eefab7744abbc9fc5cbc087072da8243236fda9df5ddedd81d23f0998061ceec59d1bd4fa2f404547056f9616f77843330bc65a2d2386574ec9198b2abcadee4139074c3208e2f09eec1e527e26b78b8773121f852bb8480e22b34c0e1cafe9bb224ce6243c46c03cfbd0fdaf28041dba177ced1a2ad70ca2f1e7dddd6cd137732f4a774e47eb59d8225d4c6a507f8f273b600a5b6449d63924b3a0cefe987cb5998dffef835dfe3a675442c90d02067c9b3ff0e3f1d84ce8801bf366e040710ad2c08c9f379bd07797ed954d3e15ef1350ffef88e9bce7174466358effd2494d7e174ae88b04e17c5ffa7b63bb6cf194d007b3ac22113fe3a1dc0c97d3853aa67c892d7d6bc5b0be6681e18004640416587452c856644ae6c07d135afae80fb80132c1faf56c5b224923cef5abe9969b807023fb84146a62e19bb6d8e5af0475e07f48b469ba3178c99741af6e57aefcb766ead4ea6cb3d172532704818fd82e12132b6329dbdc62e4c9da1fee2cb19e4f60ebfebc681a5b892afb812e82029123a7414f56f57e09731fe107f682f10a5c31fdec1d60118cc3646b0284e1948b2bd37c280135ab587960fd0769629860d17c4349271267a89c26c5f5debfdf40d843428af1010f87ab73648ac1c698898717889c38be7a06b7dfe9f63a9c7a19a77d61e3235ceaccad99cce004d6a870b27cd13414383ef4aff\n\n# tcId = 7\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\nsig = 7a7848548b15bf23e4dc1908e5b3aa8989936c498e77d587e64ebc9b335ce6f400a3965c027c6c248afcda5c80efe8d1f1bd9e71a5c459aa428a4ae1d1cef91ae48788f361dd440fb3cf745c9935664e43b81e9f860985418b61c3afe63b85cbd07e7dd3601c8ef8b7467694e3221ba4ace737c3134a8bd7f7ecd84d1382a93e5c9a6b69c9a8f12cbd612e48e5145972a1ad4f92cb0a57f44e0fde4548d231a5ee0efa8698154c66ddfd8fdbdd41d1476bb5d8852663e4b7891755ef9fa7b5d508b190d59270d32a0a7f32b1a28570a7e52592324fc461a32bde7e2cd14b04129a400274e4183cbe44aa4bea3b4680061b119a97da65c6ed4bff5f2f59193ccdfa8d021816a2b5d32ac52414d1c51f8c198f4c03e0993f8e47c268598d665c2b624cb66ff02219a9100adb3ca9674ca1b63d77d6156307efe953a489529a1701ceac83ef1134e7cc7aaa578fa4909e9c4c0220a5c882433dd3f0af1d87bede7ad979ecc9999cccaec3c4d39265efad3c39809ad3f24fed3982dc74c57ff8cf1578d940f9c6d351aff9cdaa2481d0f355054389ab2a6edb6b5455677d828453cd6aa21000adda95644125cdc6b4a4f95cb69a1abd23b46603485e696dc419cbeba767b2fa7081e1641c4b2daa44f5fb2b9a6513dd12d6f12f0f1cf7da5a74223da8dc390468e46af16583faacb7fc0ef4c095c641af4d76be03e880d4f4e2c8a3\n\n# tcId = 8\n# first byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 5629382f987048f03b158dfc15ba27891417674868a94a11b82b82fc412338086390517bc55e280e0c5b6a152c5e44eb25f9c014bf66514aea4f71f467e612b9242186276694fec3b754f30486eec2b67a81b3dd61c70e87fce5b12a75d5acb30ff35e4d94601deeabf2d5cd26d30dd9ffd4106a7247c9149fd440d2af4422b190dff1e891f842c3f5f688f10d07bc127f94c26ae506c38576a9ef93de3a9d47db28c0dc46d0e4d52093039dfbeaa7079d87623788d00c119749c9500bdfc7d980f7bb233c040990dde0800e19d428a3c239e2ebdaafd6f174212ad17a036d2ff31349e8964d5594802b924a33dab69d3d9ccb97edbbe4063bc1dfee3e9986716e2495743bbd4bcf814a45df69b18c46a40659aa6cc61522ca5e395f292e41836dbc66d15a803347b1cc098a7900ff319068acb326bd5bbdb865ca4f391c6554dc9b51ce52510531db7a70d0624869a2d2323eaa54e3b4c49becae203849108c00d6742a144b9ddd7a45132a2dc2b42ef495775c3cc9fe9312345b3f1fad6c13e0e7ba92fe8fd67924cd433739ad524561b7538863aeb16e139779036d32036487ab22e029649b89ebfb264ffde09c38a35258beb29ce46d8bd873614a1ee8e2b7d133da2a18ba14e2a72a9f83bef8332e6243f32dc25582d19fca6d88c1afa4f23837479832fc9834496bda34fefed066280e3fb73cddef8c72c5757e3417f5\n\n# tcId = 9\n# first byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 93cac00d29dcd13c59c08c017fb4d1a1fdbfdc110dd2e87386ce2357cb8623fd167c679707e89185005b185dba5458363d38435c9c49c4a1482a757c67e79c88bd715b601f10b0499423c77803180521f99fe2444d977f27e86f557612e9daced3ebe6e142ecf3ad74c32c395c3fb925493b8440aa6b3183b6283c56fa1625cfffe1b96b1f1f2a906c95e02195dde9cab260db36c31b9f5ac137c575272016d6fa33be2f0434b9462801748695a9256e4069a64104684ba9e098310ba4dc3cc2441fd8f250ca080c7d91ec08eccff15bbf7b4583fbd35d8535befce82a656a6c70a0583d30423712d557f8a1e9560977858a1e4acf0c196c2d92fcd4e9d51e9b811c38477b90928e8af3bb19bf5359003f7acbc1de019ed7b38400acd10eb766cdb3118cc374de28ec2408cf43618b970657cb3307f6081461d90bf9555ffc1df6bdc26a98d54f5bc212ae51db675e2775e997bea806139a7f4d32c75eefca768cd1eb707ac75942b4bc8faaa640555abde6907d34666b4e756bb1d7755f6af157579b82801ca06f56d2153f12000dda261661a2e1b7a1704906d629e116fd3cf1a779a7900144a75b400cd56b43f9676f54b92fd472673af88d249bc34b7b696f55eb08bfc653c428738ec08631480d0caa2eefaa865f85f14f6e61ac0078473e558fd826182bd0a3ce77dd54de5a9d78e3e4d3d46c136b2664bdb2e70d3a21\n\n# tcId = 10\n# last byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 1590f61a82e0a6f331352230a995032ada91580ee31af5c1683b3efff9ee2c48ad5c36a0a2c65bbf5c7d579685faace7dcbe706fe82003124b94a05a27558ea8983eab69fb226f8605450bf13dc0c8dae90f8abaabcaac27fa8ccc2e06cd37cb1543c138ab80b45d715b6c504cf1a7b82554110de9bb52c7054af4eff289d00c9d56b4a6c933bd6f3c4290ffe4255aad546e5e4e71e5d5b6d882bcac33831ea6069fc2e350fe3776952a5832116c971356af3f1618aec1c466fe50ef64ee9e936acbcbb61552be9d6e1362022186249f4e6ebd8c3169e11b599f6645b11b30150155b0bb03f3b2a4dc585f504b0fa3149210435d2fb9fdac4638661725211908ae1c0540688b71b70100fd12584b19ed054d25aaa1df407f27b9d338ee5b9fa7274a29d580d0acb81c1ea182b957c22139bda8a1c7fca529a6df2089b0c3d0f03d3d1799bc186b07aa22b7bc06f69a80e423e86a239afc819232851c1a18337882835144c8b3f01e632ebc22db346304d794ee1a76dadb5a6f5193bba3b982c5bbbb7585dd7e181633dd92fe01a0994ec08d1054eefb474f45561449be7dbdae57fb1490e533014c0438f57cdcc582034a94c07cc6490794ab2164013b5f2ad5920326e83d9b3c216d3d3d2aab60b177c65b8af1db955456c992e0009eb9270a4cefc04209ac032314142e1c55b518a7b439cfab324fc9962a2c916c14cee7dc\n\n# tcId = 11\n# last byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 70c6a2593c3ce4bb4cbfbc51b41570fb966d50bb48f8e9e6cd294e99bf3f60271c71965277d8f85e280a012c5cea3f3abf9370d983728bff790d93d00813012d286fe4bd7c36274ddc47b8ad6277712f43469811b7dfd77f65839952b5edecbdaaf590be732e45253e09cd98236b16d2157ec762e7c294dccfc4db19566b1f365e91f1169329a1c04e42a3f60c0b2705fbf01dcc933e991702f3c0ff52280014f6b8aab35468619cbdb554a0c6840f4cbfee9a9381c7157efe29f9ff6c7cf32118326e6754012c1d612a8e3fc65295c48d5366a2d649eaf3544fc6b8f43f637540832c5c56e0e7a56dbcd76e32ae7efb41fdc172b01bfb389e5c5df488813a1034dc5cdab30890599cde5b0da830ec2504ebc708e1a96a8571aaec42045d701b080c193472a80886f3a68b2ab330fcac623ea99c3eefb01af168626857d6c458c0293d5d6c76e87cb7a91c3bf62901a0055634ac21688425d1601635ce0f372963e9065195e523d6657c1a10eda3a90e21817150751c7ea1682199e329e8d60b6129109378f45dca594b97d29364d1e5c9c335c7018b1eef7a65fa2741d5e6bf161376a47b0e670ac4f2edd43ad1b05e0d847c74aeda0affe496a2f554d8061242aa705c713ad2166bf81f71c03703e1d43af05455c53a5adae6714302b249b2a8fffe2f04ca1f5e39bb22afa94cf9429fe99f5359231bd93c5ed008beadcfe4\n\n# tcId = 12\n# all bits in m_hash flipped\nmsg = 313233343030\nresult = invalid\nsig = 3ed784b228ca4c6d8600fe7f18db69099881d3ac4ce0577d4e46e10adb3004f213796e9af8cd78ef116f373cd1a070569b49a4ab55f82259410269db674ea4993e7ec3ef834ce32318856142921ef33ba4bb6319ff6118dce780cac66d7a8315c12a92437f446c851c657dcc5b978d454250d3fe9513f787a9e5fe9765be6a92d2a970fab69933e56b692e2c579259105dfe3f0c54da11c21ae0f965c7f8bd15b3695171a2b838cea7085309118dba06cbf83856fcb927569760e341bc5c9dc7da5906b03f74c426b782c418f1ee50f614982f5188bf86894e30770a0b8fc7b02fca221abfbe64356e9bbcc0eb47c5700ed86474006d308ac4c1709b88774b101dfbe0d203c91edd140532878a186e6f972bd70fc7d0527b3a4337c9a715ef7f9256a1e5a06df5aa4fa6be6416143cebeb2d2bd039727325d8aab9b4fef2a31465bf8fac21d27df08db6ae22281a0615d252ce3eb8e539687ef125da304b6bbfe2518b57c95c1d81bf5574880874a49d46cd9a7fd535d9e7d04951b4c2e03ae15", - "fc562016fd6f7b08ea5b427a78a2d8770ad98df16b94ac918edd0c4753055ba14f7d1b253bdc37f5df236d70b0e83b4bdaec9bd29c558dd708fed46daa5d4e3312c08523a0066369fefc7a2ac70ceab29a3b56928317127a558aaaded7bd6855660ea87d4defcc175255894bc9d94d5b420a24d06c4817bfc4ae92ae5ba4ce2\n\n# tcId = 13\n# s_len changed to 0\nmsg = 313233343030\nresult = invalid\nsig = 924769b488c2f25bc1d2d2ac9b2934bf4a00122bc9e635e8b2dc3f5550579fd7fd9e072bd8dfeb7e8917045c7b2537b96f8fff9961115a8f8e866b35cc1444633877208bfd1410e1ac91fe62484adf7e8c0eb5885859c0757590e34f095f388320ce455e4df56cfedc7b15fb5c9d95e696207cbddfab63a71eeb9ebd4aba5c214267a6af1524716821a5a2693702e103c3f9b487235a3fd3ed9debcfa51b5c796fe2916746146c07147370ed15424fff4b07ec133a92037783626a0a48d2a3a440a611712ecc7f28d4ab146d898382a2b25df98e27e15e168ffd725c57077e86e2e88cc015217fe2ede8978e4d85acfb66cbd2fbd36936b0292fe63650ea2280f86a9d3ca427a77f4f9db69f117a0e41ff86e98caf36072322201c928c125c2f4a19358c62ef47df4a796d67d2feb9879e3a195895042a5a8028bf9e013f8b142363a1a192a2e3bc96847a515322de750fe346ef150a14e1adc7cbb6d480bc42dd06a8495c4e6ed4ea6441ad719f2edd6696da0530f54868715bb25e17d492b174b77a992e2fd997bee727a63e8cbaec87de36bb700eb4208e174e2ed437930990fc7f5e58e59706402565e52e9f207b4546514dcfd84d74348ee93e90e9bb0f4f288fca98d526ae8876779112236a5446cbaa615d8f6e45dc5c351ff45fcaa7f9e6891f09a620b2b12489d6ee3043c86c35b0992a086a271d78a37fa5ed6322\n\n# tcId = 14\n# s_len changed to 20\nmsg = 313233343030\nresult = invalid\nsig = 1db0c28280679c7279d9f4ca1b3ad582da63a80e18ab2baaec5194aa6c2435cc5f7c3ad16e9b3e8eae8a9e33a7dceef69588aa5b0b16c184ff54b60c41c687b77d849eb36295a7aa3590e30f21f2768eeab26f13135ad5353c889540906da7021ad10751876587888c25247584dd4c7e35de68d6900676872d7aa84dca74cd41390c01eadc982359766fa6cff61bd424baa7cd46fdc40a17a97df468bc200849ed315f4f53d6f24a0af0a1b51112eeeee438f48ebab9c396f4b6a0dfe6e23beac92cda74d5a762bf7591da988341a796ad7e6cd72ffb6df68b081db763a48eacfbfca7132f27979af705089cafcb774e592f92ee06fef8c9f6635480a0f84c89c2ca4a131937a93307ea76326f2c1627989c0dd0eee1b34371d78ab794543124ccc2269f67152f409532e9c1d1231d79e5d6bcfe9a153223038a1fc2df9e5c50739edfcb6e7157e0d885105b11be6e5a55a950cf48e827961c00b556c3f52554ddc9ee9b1a0e3534b724de96b1009af28a3b2d2e4359e674b76ff7bf79d9d6e52db23471c9a3d430b05e85edb469dfe566441e5bd565621006e1d1605b8fc45b2570cb06779b28283834708485438b41b478216ecb9db8ec64158159bfdf84361bb1a2839a6733db28d46f99e2bcb704b55f25cab22c7436474c68fd259e86800ed657b4a2624a1a5de45dcac39c5c2d04f08792b9a5013bff0b6da1c1c288b5\n\n# tcId = 15\n# salt is all 0\nmsg = 313233343030\nresult = valid\nsig = 64a883f439b07c8b21b4150c73cdf50f72f6ca2ef90da34bbffe5c92d37821f7e6a7a1d36904ab5d9133cb82527a72759bfa44c8923c18551129e6a6e3851fb2d4641c62e43f7c7e4c740d414dfcabeb37d40a5ce73a77810a38bdaeb134e5049b29c1486ec401f5e01aab83568cccdf7fe4825d3f56a05875177ebbfb792e5cb2aae418fde5b1e0f63a3e83d45ccc1f8549ef6de0fdcda92de90236560a514dfc520920de4f57325750e52acbd3b0bcd02ecce288e2bcd5058d40c647d9fc9e55276948f19d7d67608e444b632ea1661df452cdf3ab9fe6270db4dea4013d38c857d26685fe31ebcc3a339aecf247bd2b1d7805ceaa22a021523da3522b58cd4f1933c117bc289f20e0aea55bf92e19e824681b2a9b93c9680da90204bb69887cdd774c213368608bbd9d3fd2f567ecad17b49f15a4d55564008f1c27d4526568e34fa231ec5c5ea0023be8730b0e6eda39b4bb96069dff483c8cf303647ff17420a3d022a304be72ec108924a4c84579b38c810988551a76043cd9aa54f763077e4d2a4473b3da44ba857786c6217fd200ad7c0bd5609ad6d6c85ef5fc04a0af27e2489f367ea7f612ab825a73a1fb7b4cd9a7d45bf4cd0a72c9bc54ac81193645b14e39cd46181a79371bfcfcb9359a6656105f79c11ea7053acd4497db651f98f593d8487a2e8f2d3419945410e580c35d40771022340c4c4d6f227f91a1\n\n# tcId = 16\n# salt is all 1\nmsg = 313233343030\nresult = valid\nsig = 8a5225fe5edbf9240c281f69cc26c89641e258b5f21f56a5f11c681c87f6f451fc07490fe6b1ed4febed4aa7c010bdc312e453a599be2b37fc2f1a079ce1868e2ee59b3e73c527819238393b8acae914ed42c9d2d7641e697ca8946d2b53879d33805fd91f56e608247f1c6744d8b8a12e02bcf7f15e2ba176995f15a6458a926b77e56c2f3557e716cb7a730812a1f6798159118d9d95b593dc45eb59ffc9cd4e636b9b8ac8d9718e0e89269291fd42cc2ba7b379cdbe8e443f283b7517ee5a915ba61cdfaecc9203450d70db365588043cf777fe92e0aaad484cac58ab1ea442a2ae62f5dafb2718112eab650d36743a9735621a18b7aa5dbd9d2d5122afdc3b8ff49d91ee79af3743a0010bb8e88b6fc766b98425e2660af1b38cef8b7ce5b9f3432a7358fbb07f20c9295a5eeed04a586bf04f5f9e8b3425a7d0307b496848da8738cbc267052d7a679c95e799205b4f7c00d9cc668c40cbd6368294402e26bbadb9690a99945d8fab81c5d178d72ce38b0b47b24043b27404690af103b7240595134faef4788a6106234f40e2cdf06089fb602198562b18ecd03ccc58d3e98173a9093eea3b315cd9349a010af282f3c485f92c0fabfb774d6127204a254809585c4890622d98659752276db7a890dd0cd4a6632004651bb194b056ca446c85cee7328e80da15c16c960f514dbe8fb9cc114330a160adee4cd449cc1524\n\n# tcId = 17\n# byte 0 in zero padding modified\nmsg = 313233343030\nresult = invalid\nsig = 2f50dbd395abc6fd0231b9bb6103018534b39c4d60d139615cf1c9271185c5d3988e99735c9fbbb649e3cfb629d73fa9e1249180606f8e8621f3f5033e5cf7f67f4abea48b53eeb5be67031cb6afce1b26538ca318650b87317f6129f9792f3cec4e98a56f2d7504999ac1fe46729fb390448e5353b999a52044d2baa92f2ff664ab5a4ed82911c5c9942a3741fced99b9437b102db72fa5d1fa87929887a2e61ab06dbb6b8a39659f41f3ae07061792ccf88802a6b17aec1da1c35bd85da150dbf11b3401109e43261a0ff2b22cce779b19b5f2925b55cf143743600ac4c7dcfae7a17970da3d52d74ebab46744e214d22da8d1aa8021c8b47d6e2c585535025c19335668e2d851d6881a594d03852b45aca4fb10f9e85f053a0ca532c40cc0537518baf7fa388c2c0743cfd6355dde1382cf2c9ce1f418be20aa0f3be147d0c9c8756e2c23797fe9f3365aef876e793f3636608b6221460cb76863590b3f5f56f6a5cc0b0ec4d56b40776d629eb32c7e1838aeff1d3c3761edeb91bf62682f7502dc685e29ff1f678e287efbfd364ff98088f42ef58ef2a50415531c1021a13c96c080f62842167239cda8209ee3641da51f3711f0b665cc88a278dbe2619200e50037577c9adf0d78be3879cc1a362f673ccc3e03bf9a39f4bdc10d7f044101a02a83ef7b63784f002565c06eecc819483433bdfeb20b5f91185be6adf22b\n\n# tcId = 18\n# byte 7 in zero padding modified\nmsg = 313233343030\nresult = invalid\nsig = 0898add7b127d3f46c4eefd56fd293c166e7b601caa0584059c62211f3c063b9a479f7f9361a1ba96a6a640f9c3c12b18820e6da9c9bd01a6062ca722d0abdd5a9031ec328ca8729e84079ea4133b4b4cea8ccca9e1f9b6a53fa8486ca20390a92dd5945790c371eca5c0958247344334891b12b53baa4b7df2e15307cc58420958a4a8cc8bfb06180174ea8228ad46f98725981a2a338d54745ece14b65f38bdc5c6bd87c3b2d81648b47a89afadaafd51bd9250debb9351f654a47708332411234df725ecdd0ba3ab778560689932559f9fe94d937fbe12126025f3d1464f7e5081c9f8b7f7a422cfc3584ca98b5f0277e97ce9229aeb208892f5c564157267fe59d5cecdde948647dfe7dae62ce6f39419dfa80d4d9336f874395a7f4f2099bf54227ed933ce9705efd1704f9a9469c781fbdfe8df12b13a15f802d309abb0c6560635a22e49856ede3c2a5271a656a76a059fead975ea077c4e632b9f13b8b3950f2b00c3834d63750098e792b824e54d53d6dc102a4c7de5b449d083436b7714f99928969c3499104efe30110366abbf71c6f8e4f069be0d246c2ef417e84fbe075d48aa65d82590c3ce862c518de635f8c6ac009288aba112de47c117fc47be80fd79f39e9831239c34cfa9bb54a07ca67ef318fe6efd6bb6f0049fe255846a474cbe28bf73099e948c91b0de01a9f60b80f21ac8f5601ec36f12e06da\n\n# tcId = 19\n# all bytes in zero padding modified\nmsg = 313233343030\nresult = invalid\nsig = 2daac886b4fdbf32ed9f9e66f1abd5af7266025d168620b051dccea674662e1a347ffc519345ec8d40d0dbb4a5d60317632b5d504a2dd56e89aad4438d2b824ead94b87bfa918ece96c3639fb1edb6139bec5c4d3366588992f26ddb39f6d504eb24b90580e475da022c125b6ca3f34251211c40c3e2ce95f9dfe051f728eab654d95a7ea5aa37c84ce0c2c3abe551e469e1ea3fb94b33b5c3cae230aca4a13d09fa6925e7603e2db91a17ea0a8ec77372c4425542bee8b8a5de029715f62a1992c78ee2b06dce17dd57796d48e3789e7f511bf85c15366d504c8266bae2357630e5c70985622dd85bdb6d04131ecb639c34295c49b47c325018247a154afd1674189ae2708ad2ba5c13135cb27d0e5694e058c9d36977fbe36f39aa8ef0f99a7b59a9af3bf3ef737c36d6e8f137faa38bddc62fdb1f1c6ca292cf606a41cb32253804f14a12e66a9851697268b8e619556cd00f6abd55b61d7b4d4a9ec8a7fc3ade79f96e47a2b376c881b96f0279d0cecb634c4031910edaebe92201d144d65f450357313fad99bf10183cca7cc6fdf52382a280d71c0b54a846ad7fcb2e62f569371ca403e60d8611a77ff4392c1da2a0792bfc835b161f407e5c279cc705483fa94db072b9023407f1bb1de67cfd57b08f6c5094eb2754ae1581a8471766c1585c1afef365e492c380b7e64722b6beab3c1e367b9d615a33fa1c13733731\n\n# tcId = 20\n# first byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 707ba25d4bd3b92daeb91154e68d056f31857c57610f808429bc5f0c0e4b52e079ce2628f78c9b0ed061764cfb9c937164b70ab7274093598", - "a7425d5e67a48c945ab8be4e7138d88eb5f0486c35986c805212366c2a9e775533e7ce71b1c35b4bde53e779ccf31d31fcf278744bc7507969532a8fb32c1073ee31e7277d9a6111450fc65c60afa0632f84fd2e8fad4d201c1dbf7b9ad97de8a8977415a70f3946a17dfd2e4895199775d6ff45d4785ec78bb5c54e26df4dff47b81d88fe70c2d2ee5e8bf83f507b6a4b8d747288e9073fdcdccc972534c1b51638b0f653a4f6a2e22b1393744e978a41856e6753f5460dacc485160d480d4d5bc5eec5ec3eee1e2575e2cfd10856701425c4de05966b0a6e86c9545455f6f62e9313022a60b4d34496db4f94fabf9e3a40be0cd77a15248fc2173a5ea65fe0b992528e0cd8a7ab2e911386c5b64d84c0cd0428fc2940d78e8f75c9e3ffee83b4328561760da96f7b015c2700ac6ffabcdd67a0d5e07db92cb8ecbe4842ad8aa0ebc3a1256ed03e0c3e8f67f51dc70cee8447adb7112ad7791dafe3d1319dba8c3e63a9837c15e3af11b0cf5942a8ef2750bd218ef7c266a756627b23b0861df5fc9cb240d49290aa9eedca74ea69cc8640ff746731fa916eaae176b492f5031105e38490aac5eb46df185f9d6e5f8603991158cc4c43744b03dc897fbbeeec00eeab8c7310051\n\n# tcId = 21\n# first byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 5acb1b66dbdc180df233c83a3b6291477a9d8b4fb7f0253d928545739b1c517defba99a546e291c23d1e925caf1aa51b462c689d070ae413fe1d88cb7978b01a28ce7ebf2f5f97df648a7d819dd028a53b1d604ac9edc62f62655a56642d087344e52083073ac02fe9b8ef7e61f7476d59c78a66d4ee07932652997bd756b24ce441f539e4c7bb3786f1e4676d7e4bb3ba8a83701cacb2663fee71448ff2124a8cc19e15924404bd0e5f56a7dcc5fdab8146d947010a44711c80409fe6b12297acac7b79943c8de00d15fc1f1ecdf9b0528b3004fbfde8fcb7f082378d97354107e47c48a1e3c0499ad6371480e88fd164deeaa3a014b18760074cc96013b86ec31bd967ddd41900cb9c2f3bf5704754a357124dc536af4305d58c8c88ae214ef3ddb53ef10a2c6211d55a3cbb277efd6be1b36d6a8ab997679399aa7f21444638902fd34d152f8ec2eda7467018c0546cb54233a62fa4b9184813b9d46a034b3d7a7f8f01bccb8a5b364badb94d688302598fa393ee8cf6e2179345b1e5d866e2bb5954bfd9d192ac73374ec4cbc6c1478cd042e4ef270fbfcaad8987b0e4e1c696bec8b1ebaed124a0b58c79fd9fae00e19feaa82d52dce97baecf82b5338a67fb536417ee2d0b8584a998486c770f26b8a58c8856439065b3a4b81627000a01e64daef83b146cdc7357833d447a4ff161d63200457c6721d6dbafc687887a\n\n# tcId = 22\n# last byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 8172c8d2dc7f58d3905698c0e814054a8d780d154d14b9d05d96fe0416e6ad01ef540a95920cbb3b3460e4b3bdefa26134a62e09432d0047e67c680cb7edfbdd65eae2f2a15a84d97886b0e3c46ab9fbbce611145b83aa313fd03ff001ec07b4a6f814f848cedcbf69669e03641210fd5636b889079343de0989031e37ee25057aa0bb2a793feff540f1d6532420a64ef3f620a0070d2c98e7182cf7265e8fe8909b8e2b4cdb2dd20fc0c1db0535d489d37f48d31b3727eec9e171b6467d63124d1663c99c019af340777e6f4b43bff7b50f3ff456bbe6a9938ce5e59f8497be33cf7e9306daa643b5bdb933318fc950f69d309989a262442584a877f114e31de926de13e1e18653deea56a0b5d4d825456e3bbb30debd83aca1c535aa8ac8553da85571ce4ab6e04d2eb292f8e5fea7649529e29c71420ba191c97c24fd9a8662331c7949a4669d2426e76a259b9ad5033109be2dbac49a5d13177162f06d5b6ffe55a98c27c859a43f918ae9b586b18c439f3c418cefcbac8f38af9f8be8fbec886899f754a50f319ea8d09ea8a3d12a658e05e62a43555e241314e246d9421022fd8c8fbfe76d3e26ef17fe84c79664f567edf8fcf6aa43769282d33a85e89832a4e81300c7f156d0030832c3f0cd5ba91c7b6f2e13d2a91a9732b69d32a58ef2773a9a74beb5fd53ad7b479443a6527022a367710428a1635592d90e11a2\n\n# tcId = 23\n# last byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 7bf03228ed95a2af0101321c3db174eb1f597c999c22224812ded57643cc1fb9d9de3ce9085dc60d9f1d40696f0e4c1c721cb247ab1fd2d1804180e5f51b3f8de75c489971e7e7098765e4f991ca5212426e771037a301af1c7ecd95a5ccd8367e2f6e84b63799119c7d0d5dde55e6567fca990c11bffdb9517cbf6726dc36d19a97641dc3ee44e568ef4297c7f96f3fcf480a87312448105a6671778abf9ef6d8c9ab289368560e2373f54c3e313b2d1db35501389131d1947fd7dc49570bccba2167ae4610a0229629da730d8d8d8218c5a586c5095b61fb600563ef660cf48dbae491e91bc07ea96d1575fb26e9802888fedb07a68268d9d76fea5f3429c96fe17f2f0678703871835788ccb733d40009c8be0b3242ca11f7153a4d906f230d56374201902167872d6322470d53e660d5cb4b65a2ac69b6bf6095722540312980aa2adc3d8d3336a8f4205e2e016587772117de6a357c20dce834cd8aa7d31c4444a235683b782e473ab60404e6ef8400ace3b8d48b6a7801c99ff1f405e888257993848f71e81287292790e1b011cd410e3e3acf31f280ab36ddafb0a3e1772690d053f077ed980c596d81d2628e47abbc3019d5277c70db5f4838581db0e572a2bb0187d08b488f2dac22a0358cf77e0e36b17b17664a925eac940d15cd9424e92f489a4d28405ed76507625504fdf489702f089de36a4300373a833022\n\n# tcId = 24\n# all bytes of h replaced by 0\nmsg = 313233343030\nresult = invalid\nsig = 83a5b64effb15f9f46303e81ca509581874881b71b8e1ca08205b22f383e722e89666c2043a5c77362ce6509816d8cc7df36040eced3b7b1a8df22a2efed801dc4dedcfddae40f20c79bc0f8d64c336099f1773a7b32fc484ef01ab770dca03e071815651998bdb4b8ea11255480e63be22de376359c37b3019d6e264e1f7121de2e7f67d2cf98af80c1c4042b8c05bc79877de903740ee6d1889f2814ba9bfbadd6a5ebbe09de94e16fdcde8ca8af9933080124fa2ffc1e4338d1d878fd4c55dbbdb273e617dcdaaa76aaa19542274ca74fdceb0cfcda21547674b2c0ee936e955e8dc4aa366fc9f3f6c202a0a3982220ea8384ef52f8081823679e60095fdb84d6d75a63a563f726f5ec833633ecf35d27a9e3b7ee4a94133b1c5a15a6dda4a3f1957c399045ca096b4be079523d9f558031529e9173e7cf612262e5c9599bbbc2d94ef12301e23f9b2cd173364cafd6a3e3afb7582f282eeb4b2a1c17698bde6b6a82e88624e3d1737071b8c1fc6b5d77ced9b78f0c9aaffd78fea3bd8822288e0bb761092244df57ca49e32ee8213ee0acda5bf8fb91bcc3409ebef6c310f17d9784689e7c79ff33c9bc317921b416c08030c4bd02629061dffff19844d867f9a06ed0a8c1631bf2a55ec418a6003a6b5fde0d0ff223c8e689e93146771a2cb74ca271116af99c68605d9690ceaf833ef898a234dc0b70c684ee1c638152\n\n# tcId = 25\n# all bits of h replaced by 1s\nmsg = 313233343030\nresult = invalid\nsig = 73342b3c90d9fb6a7671295d7c258b80bf907ac32b1cca59db942b80671478c42aa2214a03e4d7d7b645ee333d642dd19acc5b4eba7b50c10688b8044b6c9b765a8124414610b97b84e0fde8876360a53396587eb973ae69e2ab1899ce030aa29d2e83d9206d4a26b384dc32ff02508169b65ebb6fa5f52eb4c24ce41b5e467178b94198fa399b82e2c75055c1417d001ee9d643f9f6cd1da5a566578f1a2af94f7e3901dff3f1f4af10acbe6aec703457b7ed27ff17a77955fbbd527cc7897fa2375cee83d89ec509130c644f8179df5e0537d8ea63b8b29b734227f74062b43334065d4092a30f609acf594d917994ae9e9b256325f47867beea84e036c4f8b117b366b016fbdf66352c5dc6f95750ceb121ea45d4802aacba9b7c7d79bf2604a866d7af58a2f13671eddb7539c2fba46e094e92c129006552ac376d216bd0c91ce45c365b811303dffd2082a1213487090ff3952adc4551a2787ab0d52180d0d016990f243720cbe55f2c0d68465e9be883bfe90ba55d28beae531a2b6924c47fa7ff4222b4f20a2403657f3df30e423875871398ac26fad9776cf8cbbc3cebd735185c1519cf9956c457b2b7a3b8199979f2a0cd0922b391fe3ba9892980bc3ac260d789c36de616fffd525097b358875bb02f27ba2e23c8fedf0aa5635d6179eaaafca58c68ef2438be5ff9a8b5fd91972389d2aac7a72ccb6fffbbe39f\n\n# tcId = 26\n# all bits in hash h flipped\nmsg = 313233343030\nresult = invalid\nsig = 545e9cec19e99d88ffef7d4c655d2f9b43f3c1516d04c034c4ec8f1169bd29b4faac01073bf2c46a6225ccb2347be24d1d185a8036b1f6cfdd32529c7f1ebbab7e183dbc69b761f8ccbe4ace536807c656dba7fc2ad315e7ede291c870e9029d005f7576c34319c1f1cc5a229abf2a1dec3fee015d60c3a577b1f1408e03db21029cca296c0bfc2955caed97cc18c8faef4ecc03f4acbc8fb6790e7a8d0b919a268b242f58eeab9933e0bdbd6e186faf94a16445fb346a341a19c2242e2aa922480e3ab05b96577fe69cb6070c62605e9be171625f0fba269e72910914aabfe0e953d14415c65cb008528bd73bdffd1b7ed09ef613b905b981cc7e72ae48429ce545c5699440037b66cbf640ee711c67f3fa7b7f3061d7323cbf7ca8fd5391ec929c8f33d51cba12db45cabc2597db12d73f5394ab6a7f3bae6b828a07b4240f887b246926cd315cdbbe3af8e27722f02ec8a4468c5980819b5dc9ef9b3240ba4ad0a2f1421b4efc5b9960b89baa5427ef5855d0e4aad5ae99b864b4b7cf85be717de8a8fd602af962eedd1dbe123a3c6b638468448764c034b64c94da5b494551be3e3b7bbfe521bd28f422ae66c89099578c7e16abe414fe8aacc104b89c713aa55db5a27758c0f3b4a8513f89e0a0c2b777a21410a12249dd344fad4fef8db7acbf2f5ef7accde3cc6800cec47d376debbceda46c80605c0eaa41d70688d3\n\n# tcId = 27\n# first byte of ps modified\nmsg = 313233343030\nresult = invalid\nsig = 0e7e3862a2fb354a36843c872c8175c7feba440f5af01cb2080edca8d8df6d66caae40771fe11d3ea7af1c5c3a0a0044818ac2bc1bb764a547f3c3ddde8503330f324adcf962755b8708275056f1a38828376c72c8cfcb115834203654838754747bb1e3d8fb9b542094267f26a37a4e9eac48d277d7cf03b06d8e5636fc75167573fc858fd095409c9bf8f1039d145e4a7dc03f0bd6560c515f06b2a15f14eaad2a39d6e1bc588b082d2da518735ca6843a0e974becaf8e21234d91ccd18aa9ab068bcf5eedda08c4d371ce23ea02ff86541527522e222d260ba481c3660bd5ee6e19cb9b86747463e0ed2a628393e0a321adb6d5ffae8612a5c53fec44ae4a432b01062370ebde52c0", - "738342025ae7333bb710982702f6b4b5b9b22ddab02691000dd83816f3a5adca44fe6175cb24eaeea38d577450624300da57cbfe90366664391662a97906badf4a0bb67a7bca1bc8f4bdd133f969a89c21a9387a1243227f5d67e2486d4f0d1bba97c440c6d1cbdbfe73a23de51f857986e5fba7db761faecc98b9364687d56403c983689e59e5f1547fb4bc18045ceefdba22965edf816a8b7bd7a96b1290080875ce0f3964002b0f1c3453249e96e1239035bb8778a772c9289d9a645b81232831b507e23d34a0d1e2f35595de73d70e74f4c9f4e4213a1d19e9e73c4f22d211eaade00366e46b35ec004df6747a1e9eb6fe04e13e\n\n# tcId = 28\n# last byte of ps modified\nmsg = 313233343030\nresult = invalid\nsig = 875ae0615590e5f07fe62b22bd19fa2b91a6fca64d786e1df778015e4642726eb6cd16a57e9a3baa814bde45f74ef5966fc8cec5e519ae52522e0d5467b5c3b1fc9840c1d39b1059efb52dc15dd90cbf8d602c663d30c84709b6cf87c5652305573654fe88f41e40f5918ffd097c3158f98a7dfbbda35904f3e0af6612c9a3564f7d6a2be617f737715913218dafd34339ac56bb5f3ec68dea257d3ed3bc19355d9c96e8045cb5399aac6ac0414e88ff0e1dc1114d226e0778d3679e123c52d6fc8a1e67bc212c03e57b3e0a9a5224687785a597d21c504ceffe7a8fb20fdfed9e229a36081e0699e42ec1bfee8d8fa3718f6a557877f789c51e0ecf38cc430c56d2ff28a4e94130289d7bdd49cbe1e01b9382631bcc8fe81434f14fc1b85f1d19e830d4aa733e7a9f3b7f5e95725cd4610d15d1b6838db89a0f3ec5418c687c2ae0c834729ec16c29b9929f48c15f9d7467413191e965eb15693b26f2a099d47749ee86f061d636f341cb64c8b102bb9ff21f0f1fba81ad86657a1c5228f56174714cbd4023bee481dbace94e2fb9fc59c79428395ec877fb7092af1c6d1b877c967758b6945e7b30c0205be731c755f7bd221f2e5eaaf729790c39281d9ed7e63b2d18d5ff62aa4081f5df5e084d901b4c0f0ed1aa1eba177f65689015f63d61d9aa777385dc85136216645c85f2c77b88e399eee1f298fcecbd3111085a5a\n\n# tcId = 29\n# all bytes of ps changed to 0xff\nmsg = 313233343030\nresult = invalid\nsig = 94f9d111adc41e6dc4625bcded3f556a1cb7407456e252e6fc1d873afcb7ca79beb18a2d738dd105dd0a7e54fa969c99d450d112dd2569f1417e15d6f393d3e74b849797972e454fa3ad220f5546cf1f60180d6d70b751e28395348da109afc94e698eb51312abde98c409c751524a6be4862e3cd2dbaf126ec26c76381bc8e8e519944f04e645b904a8685b4cced79d158ab48545164c58ba1c8c662e75a0cbb9f5e360b6ea8b7acfa977efe49d634c10505fe355d57aeecae808977a3e80c8c1a295c293d696871083630c6f3280045e6eac582481ba74d0d637882aefd15e30fdaf2743b415cb74ea97eb92250adda2a514d41bcdebbf8302713f5d0d56b4b9b1b34222041bf5f4f5d64556523610a50652b52d89c8db18a2b567431c93fadcd72ef81b40e958c131d16f56d83d27c95f1041bd03b7e8771540e7c62373da66b761e46b2aeec8198dd38dd7074dd51f66c2398993da738a51b71fac106c1c7000791cecd96d168a5bbf8eb097dd0011d22a5b7e489f2350bf2d698466aee3b7570c3e6659d294c5e4fcbc2a4b46288d067f475a54c1132fb432154d89ee845e43bdd90869ec6a802320eb09dcc455a0c08ca72e0a79a82aadfa8ce79e3d21329f0f71a72b184c361390a7978f199e5acf55aa5a7b1bf13962882c7fb62f519eae6139b74ff5043ede0d65c6ac6af7f2680bfac13b0e27ef6fceb81e45928a\n\n# tcId = 30\n# all bytes of ps changed to 0x80\nmsg = 313233343030\nresult = invalid\nsig = 50d81c073d09499d0b73a7511572cd485e2779e0b2309172a43847b9001c52582b75394ca438c4e358946232ef17596d4cff47dcfcf40661afa1d3c3d41a93ce9d2f681622acc2e4e4f273f9e1c5cc23b53c8c89ffe20e1827bea29fdc713ac1dc769df3578a14372d05e0d94ae44ebcd22d4ffa6c9276d22f8def3bd65bfff593ce2477685cc1a2d051656b91233933a9b107940abc716d12a5b3ec939ecbbab7a2785ca4be41e70a99f60a013d04a6b237799d8f1743ada6d5a97193d5b30ada75f57e540a64085d67b0b28d2d3618d52d2da4857d8aec6b05982d07ef918ee82db17182ebdac2d59de4452a2f43c769390c429dac2a34d65670e433c6e00afacd4664aa99b78dba1a1a39ae1a3ea6ddf067debec393046fe544ba9188904178c3b9358dd355fc2a788695b2dd2ab867f1452f9cabf2bd52031703b7e2a6d00daad2cc21bdebe9c3b45f9f164a1e3918998f044e18bbda1b7b01ba732395398db4d50e61085f42944d0b86c09b91e5470ff37e42f299a92d3a38b6b8e98a4dd1b1a8d979aa8a2754aeca22449e08647c09554739c1eb0c359157e87ec35be8fb44aaca5515ec5bda2bc861c08adca65c73a0f944a29db90081560789fa05a2f42a7c0dd8eb199e8efe3c9548cc4a269b0767a830b7fb181346876b3a8f0c9385885bf69b1ec388b93c4ba7aac60fde8bd4e4c9ea44c22fac2de7331df3d5fd\n\n# tcId = 31\n# ps followed by 0\nmsg = 313233343030\nresult = invalid\nsig = 7bd56fe8be48062f611a16d070328829b6e032650e54148551ebfae0c221dbdaa461fc0b837b41db093fd3e7eee34f6ea975b7e7c6a9c65c9da26b8b47a34d4f85cbb76f7f75f0010375c10301e6c656bb990919855bc3941f04817de84b225bc68a53310a2d12c522732c98a435ff2ed2deef13e6c22b92f1518c01d7a46fcdd650030017aa0d55b53256645d15b022bde6494dff48e348bf243b48acb6d5866b01c133c8d0fddbc5d50b1d41fb37d34b3ee76bdbee3be46e9893a64e3571590698444d9eee18308be2a61bf6e28191f052550c82fc600de6e01c8637d7e175399fb8b87aea136d002b589b7372d0476059c153525e63a90d0aedd48f2a59621ced9e6852c9644ecc1a60181b1cacf6adaf549a47b1825973c4d2926a911db41ba10eb244a45d582b9acf30861c284b72bc6ed4ddbfc4df7f96a2b6e4f962e4c8ebf27c35bac4cfd2ae63c1e335ab5049c3bc5e606a65b5155709b9bb30d5e10eeb895232bda1465443e19b356ac9187d5799e62e778710820ca4fd2802ba8c52cdad0bd12d8adda85ec480329e927a6ed41a8c31dd35b1444660f2f643204c4864590014c8fe35db260990fc731f1599bbe223a3d2f6613d393444eb6003cf53431db39691318a1435807b921be34e518bf2ceb99be38d607174a96e8cdef1f49a144c71584b45da1e5277f2ce4e0762c8f5bb8e48e4b01579de204cb80324\n\n# tcId = 32\n# ps followed by 0xff\nmsg = 313233343030\nresult = invalid\nsig = 1f20dc348e8b89ed3004b194c0bb635e27c643f70967d65b0f5d2d4ba55ec2e48d62074a49de2a73a34e5e4c0d172ab24bcb1025008c7d473c90b64f9d6991f3612deab90b0b535b11400c4a11261941ec9ff3738ec48cd6f0237757b26176ec2339e8bf2b4560abfe1a183683f9efc70876ac821d1874079d610a1f7c7ef80bf39f1ec1fa212136114438b422e4dfe65e8fb48f5cbe475715a67f8937ae7dc3ac913bde054cdd1636ee70d98233cf5f0645fd57a38da90428bf7511cd855431d2a2a5419d75c2199d338fdb60deb5617716f2ca73daaf02260deb1cda509ee0eaf457dae4c9f439ac00323c873bd6dd65cede625d3ae25568772823f402c5b354befe236edcbf956b700570c87eeb05568e0a50ee60d30cbb5b57c6c2dfd805126d1aaec535e01c81d62776e4b19c76dd412f622e8aadf9fcf3d78b34fb6016a550bcd72d1709b5b7308f74ad3c37fe0bbf4c707229c7f40282f09eee4be13ec48bf2f84b32d4886d0946dafbd0422fa49b1971b694b7dc55f7b4d059403df37155fefb9967b45db2bd801d9012b1cf0e2fd9b7a073868756d64cddd630a43a9447853b4214b06bd6bb4ccaca1d6bc01e79e328ed68ee4a6b54fba5b47521a2dee8d6425306e339356f97f3b19d7bf822016940559c1685ae93f7be27eb3e9fb49d7b08b0d5960a68524e60cc7561c7e61ec6049362aa484fba37902ad026dc\n\n# tcId = 33\n# shifted salt\nmsg = 313233343030\nresult = invalid\nsig = 1e7a63b1ad5c1b708c49031647934fbbfa2edc1185b1096326c8430bf94b4ab4f0e9401a68f94cd6fbe2d23623210723e800ed878c9fb417ec64bd3f38f3f08bae77352a7d409485a83dacc9a79ee25526af32d93b3c702cef4f37bfdc7b295b7d243accb80c256c9ea350120ab7fa5ab047229e9776ef157b26212e748176be885752308720b16664323f65d83ce70de21d4e2e7d5a633784e9d18f58be6469970b52c009639ab9e2b024cedac4553f88e42d8012e8172be9fd4dbd3bea1887f065526e090c3a5e7f28b416785a0fd33c92937383f0570720aa6dab92ad7f006ba8b17c4890864313ed0312c717a2a5906a8f101b7c2775d9609d26e76e274728b03169d94723919e2ae5126caa2b6dd1a443d21d4e36512d06c8b5852dafbea73b042e1a999ff7147c49ef19eb7f41cd31794cfa5f65d9d0fe626d08b6257dd88bf0cc39113d0c0d7412ec7020bdd5dfa7e9f535f4f2799a06d4743c5769c5c85229ba5d0dc39b027df702c6fcbe728887b0fc0b606480d3c0e0f1326a46a7223e3124dd4d27cdcc48c7ecbf7440967c2e57319effe5e416de26e60b995ad9358ce8b863f35d56f69ebf6a6d6c0eec94c917a90316db70e7f105d171700a17c52c4a1f9e15a5274cd96ca4e872c577f43b54cff898af42720f0d3ad00d170f9c0bc35fdf297046f6c750b6d036905fdeca127e6f2da3f5add9ccf7ad819f2e\n\n# tcId = 34\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 62a746655abd3d4963eedbf1ccb42adfd9919f42797c65d833ffc5c5177483534b2b46b6773d7b6b9f6a1a03803a2c85718045caa8995d0eef3d55c66491ed65aca09dab89ae1541245c2edef535f8ceadf4f74f1ae12ba9e922508b7bb157b38247441863aad682200e4da61b4b3c7292cb824158275d042858d15fb7ec4eb5aeb33dcd40f58a670110fa939ddecbcc9c20216b6996a43a3267b501a2d6f05c35a63befad8f6534b71448027183e45abd98dae878379807eb97aad9014a268b2d042bfa20b3559565b22def87bb0beceefcaae1a01f068ced30414501767fef2373fd8d8ae7d44aeee885462dd1cd2136e114a9e63085eba22addc0ade5887776eea10b594da2abcb245a03039fa151aeda0364fc66a12a15dfe89ad7678230194600554679e0c02d3c35bb2af054e2bd68e73fdc66540257cc10a0c0145fd17793f0c88d76670cbc62e0a56b98d82fe1f5ec8a85c0075763e1d3d873deb0fa57f127052971af34122b9bedc760b2e441939c33bf18fd9d49e2def61dfb3aac87eaa480a348bf32bdee4e7303d513203fe23165f39231b64baa0bb1495a868e20a4dc3dcdb4c643646c23bb1ce0a4088907ebedb6fe13938156f9811affe8288e13db8f45705229a31fda7476ff07bf6069ef11c0e19b369f53e99ea901ac8d4a1ba8cf92d74009583e00783add48b6f", - "7cd7d28429bc48c73b47539630b59bf\n\n# tcId = 35\n# leading bits of masked_bd not cleared\nmsg = 313233343030\nresult = invalid\nsig = 2f04e32e17a9a6991733913475f54cb18abe5cd6f7856a8cf12525f7a83127c20255149565983719e58b10c23fa70a27b40d723370bfdd14bad670b5a22b3446ed1473e8f012e5bfe70a1fdc1a7d826430e301405db72c815763e4c5486938de8f78b556648108eaeefb6d5a4520da365cf64ac69d2f0d2842b5650da2d06639032c4f90907a3164f67e0abc68a4bb86778d6f0c6f8c1585b76a73573deccb7010d21e959fc9189aee02458b8e353f12a3d98ccb6bac5e3a57ffe5b60af37b043fb58cc478ca9e249e94a30bfee4c509e150a3e28e56dc4222f9968ca8c62ccf57326a473b30055655654d3e700ea04756bc3f687707e0dafb9531706d06c30aa171e33550b66055adee33910aef573af9dd06b2611425d9d4820807c12f7b29a7fcd98c3948d5352e3fa8083205e13f075eed4e6442c0e3dcf68c765ed93748cfe33d758fee0e47a1977d0b79a755e731be22bb0c55cad80d54939b7a8dbd4c9c20b7369f907bbc2a540fae0189ab09fe62bb8defb479a913f3ebd167abbeb35104b2e3a75504b5eb58a1e34c991254e7b9115dc6fc0946e4d38e2c475199ba283be6b222cdd0a90ef0cf9ec98a3cf815e4d9ee23e3708b6ddaaadd146a802a53b57beee909528452d70170b8aaf40ca92fd5c3f5a7e87e93f30ee89881c7368c0cad47732e9b58f13e2d4873b596005e6344c6f030c9ed75bd65f273baa67d\n\n# tcId = 36\n# first byte of masked_db changed to 0\nmsg = 313233343030\nresult = invalid\nsig = 856a35de0779d33d013b7f7bf55de6612b8cb179058d490a4eed4acd8c213902d25b4eb5026c85b60e77773d3ae3570d037a087987267eb9432aa434ddf8b96379753d5d77b842b468af926b87a37b93ba313a6b0b0a5fc0028d68e569fb70c7bc5d29d4353c661fb1cb5e60340998d69ae7ff80ef5bc617207eb5648080265610b56d7b1037ae271e6e76f36b2ddf6d7ba35cb6430b21740ca0efd45d232600842acb225179af8765cddc356308ef617e130edee940e07c964517972ca94458e38f04375de2ca2c1de672f7885244ac95f883fa297d7e31f20b890a7d91758f57e9430c29a021ff5d94281ba0e7932ddcf031f0825881d3607cd3acc5ed14e517b61d2014c9d2ca6cb51e7da4ebe14341eea4c84d9b0b3fa11f9c9f6423bd414c8710cc82ec788f09c40634c3551ca6751af5e9fc966c687e170c5bd4358a4a34a8eac48f7357b2061d0610830bb7c8fdb59e5b9b55005a0cac3ecd3d6992971e64017a0d436406019d1d5fc3726c9c4cc811ed19d10114f61dceea8196b5b3c4015de1d761f4500b5182338a7ec0ba9369b44173ed699fd2ccdbd69f60b80b4c4e730f9793a2cb2c2b2d95a5156940162aff6fd8fe6dc0eeff643cec3fc5f75a9f516b0c422ec3938f4caf76fa09ec797b6088920e910d3d5d8df0abbc6bf78fff486c266540d74f9f55ba6aed8d21b71af65618fa15b94051b096b33a8066\n\n# tcId = 37\n# last byte in em modified\nmsg = 313233343030\nresult = invalid\nsig = 6df0234e29b09c68529dc6e379485376e89da42727fc88a547560ede5c518af124882f393e10fea33f680e1e5aabc51158c9b026a454c152fe4af301f40033693006ec509892850bb0b569b2907f7afa8864a9895752c47838615cf0f15e0b139bf83127bbce69f6abd6356b7bc52b30e9a58422ab4ad68fc2c812b6554f64e5c158027fecbaed30f48e90bf005cc6f0953ea845922d847f30dcae5a9b1e00f3ecdb139a0f38baa31a9404e816a9fb8f13686adbebfee71985ab41de8e0bc714bea3270205bcf16d5b7e8b42cd6332ebce2aa3d9501d30af6dc66c5ad19ed759567d16f0a391839e721e7d04c5c7d23df660fb18cd1e8982b2ed6860bb1700c3abdcfa8853ae187cf32695db4252f22503ea039996ed3877b93bbf413e27990deeefea7253a0ac23da6408923617f1263bce559ba3efa1bce8164ddd282ec5c115ccfef85493abb23c1490f134a63eb683ab16fb952854b40bce433d97d98f0348aa658ae3bdec9f0dfdcd25cecf11a1796726069132726e25b9a9c6278bc010f673b49cf89689cd2de943b94125e5a7b463bdcfb4b4ed7b52ae32f71cb0ae2f0ddcfa6637871fc64d254f1ab763b76cd7f93017759c9c73656a908cf0c687eaf6eedb0e510f3592be48a814ed7a9b387da754b8161f1cfcc2bd9f7bed8391484c98d542f5bab86af285a646965aaef05387153b51c7a915fd1213a6eb789859\n\n# tcId = 38\n# last byte in em modified\nmsg = 313233343030\nresult = invalid\nsig = 31e7df11d14b2fa289e45ca2cb36d568aa4470b5c6aa0d4bc0c10a1876146b876ff953e582b224adad6358998efc738631e44a34e2c1718f9d28f695d0e1b1f8318d2301bb3913dfd318707964e5a7e111e5a8765dbecdd90bf4e265a367216c6126869515c65d8788c9fd4842a6318d1323e50233cb92de965fc23f61cd8c91baee4013a1a928428ca6ed4db99eb2290c0d0683d7cc928d0cf252b389b64e67995249627cdd90cb4e5fefc8da61eb3e8104c6138e52f6710c136f7061e961c485eaaa586eed740eaa2c0ef879d2af5eca41a5aa1a2476e909c8325952a9d8ddb3b9f6bfa6495c4e2571e4c0ce727fe087ce484a038ecc27c7f0743fd93dbe0bc0386e4d025092d21f9c7d569ca0201d3347e71932e6efe64fa847655e4f1b01af20e0137160b5bc03a9450457162db68997a2df476175ffa040cb4818aa6be70cdee08e05724c8ce0174c6b25629c33e9aff85fdd6c438aeab60c3e939bd6deae3be1fc8beaef81b9334a1c4d59117863d7e73249f12a6a295bac6879a66a0935497040357bdb9ce0f2ebd7de693baabbf70ef76406bfe0e8a8a1edc183185a92b97547d50b10f24ed71a8a3d558ddc20f2b40801db842cc9a38021944d8b97e06e520f0ec22189ac11503a2d84b8291957299b8f1f45feb408e6c828ab97cce7c644b9fb84b8b5c3daafaa90e1c177799c1dd06fc6e48fd309d40b2888f4d3\n\n# tcId = 39\n# last byte in em modified\nmsg = 313233343030\nresult = invalid\nsig = 1088ad6c2cb501f99bf0c545d84b526de3665f419af5e941d5940196470da54dd01f58f48ec6cc56e16b1e21573700e57341188921fbd96362ba5e377e051a1cb2025c0da7842409e8ffc5728b2df3fac115d79a11d7a13ff1906cb8734373e62af62dacd1e7412a89327759542577d720581d4b8a928ab01e023ee7caf33b9037fd96fc17ac43ed9d604b096c8b0a11854bacdc88a58ad8dc3105c748813b4d4109fec80a4385f74b8b102f02d59b36e6cf4a347d87daaaff974e0a1f09255fd49e584b3c88d4704258fa8c402ca67ef95d1f2757312a63f307302a31b021fe1bd2be6feb6c1d7895642e5556bbc96026a591431adbb2953efaf4b54f33c8c8b9cd06e23ca369e5bd81ddac3167a9eb280f060afad68295effd5687e131967437d4f9f97d7b46afe1271a4193407a1251c1075705d4c4cab5e523eb66b2e1f57789001075b500a3841b7ea7c130f37761c27097c9ff533832d201ccc243691f19ad4a822b7ab203cc477398bd32506b4952adbaca1bc5eeba7c565843e17e18257a7cfac8746218a2118b9813c655f6ff55577fe17ff6fbd6443ff307f20dbd36bec5835c6a41bfdc7b0afa12dee58b119ebfa8a3ba8d3e77e3841a4812bdbe163aaf5bfa05a305c158115227f569fa92850205abbd275f1f24f0dc5b14cdd405d27fad86f812d51254f1667724fbab80e6fc30a5f1ab60afd412fef8ac19c5\n\n# tcId = 40\n# signature is 0\nmsg = 313233343030\nresult = invalid\nsig = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 41\n# signature is 1\nmsg = 313233343030\nresult = invalid\nsig = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\n\n# tcId = 42\n# signature is n-1\nmsg = 313233343030\nresult = invalid\nsig = 956353ecb7561945dc5544e4602466078c93f28507701ffd39e2a9813c8ac8740e6ad61c955d484e513b3dcea527e001a018ee2c207c1806a96763280236cd3c820dff79837c9b709cb4b522d3ddbc9192242259c43be75ea244d37ccfa8a4c75024a2cf7cc76e842ea69cc7ca1227405b070047387a5068e4976e4b8ed5f9aadd7b4db024fbb8d7bd8a040d8f6610c1c6eb1d4b606dfd182235d0360880304d5a750603af0c", - "424b8c8e6dbc12c3697d2d609c97547e774e2e362ea96d1690dc9432112c535258b3db2c4c32ad510d6c07ad0788357883869efb8b629298724847925cf42b34386be700f02903db5852276bee2370941f397bdc3905e30964a0b5e73602703340960c3ed6078263b611f197955fecce4b9a32e43cd1d2e5e87c4ceb65edc8853a7ee31d28e16e5adffb8ac7b760fbfc63d5f174f4d0936461dbb12c964a6b6d6cee752e5fca1ab4a9fd238dd3e8860a1d763d2019f9e7b99ed7666d4e038710f90e0093bc566987d6c0092f571376e705b342d066c54e6e2578927b92c1f0928de44e9a6e1f49b907c6aa4f605ec9c398d55df81c67373b03cc8110162fb417f96fd321048647dfcbb392455115cd912ea83351853e6a185284648842adcbd25e67174a3b93b8a64ce2ce9de0e8577b8b662ce32e2565782665dd38e5bb5fcc4fe12e4320dab7773b545a09c6d39d9dbad459f21f3e624ee6ec\n\n# tcId = 43\n# signature is n\nmsg = 313233343030\nresult = invalid\nsig = 956353ecb7561945dc5544e4602466078c93f28507701ffd39e2a9813c8ac8740e6ad61c955d484e513b3dcea527e001a018ee2c207c1806a96763280236cd3c820dff79837c9b709cb4b522d3ddbc9192242259c43be75ea244d37ccfa8a4c75024a2cf7cc76e842ea69cc7ca1227405b070047387a5068e4976e4b8ed5f9aadd7b4db024fbb8d7bd8a040d8f6610c1c6eb1d4b606dfd182235d0360880304d5a750603af0c424b8c8e6dbc12c3697d2d609c97547e774e2e362ea96d1690dc9432112c535258b3db2c4c32ad510d6c07ad0788357883869efb8b629298724847925cf42b34386be700f02903db5852276bee2370941f397bdc3905e30964a0b5e73602703340960c3ed6078263b611f197955fecce4b9a32e43cd1d2e5e87c4ceb65edc8853a7ee31d28e16e5adffb8ac7b760fbfc63d5f174f4d0936461dbb12c964a6b6d6cee752e5fca1ab4a9fd238dd3e8860a1d763d2019f9e7b99ed7666d4e038710f90e0093bc566987d6c0092f571376e705b342d066c54e6e2578927b92c1f0928de44e9a6e1f49b907c6aa4f605ec9c398d55df81c67373b03cc8110162fb417f96fd321048647dfcbb392455115cd912ea83351853e6a185284648842adcbd25e67174a3b93b8a64ce2ce9de0e8577b8b662ce32e2565782665dd38e5bb5fcc4fe12e4320dab7773b545a09c6d39d9dbad459f21f3e624ee6ed\n\n# tcId = 44\n# prepending 0's to signature\nmsg = 313233343030\nresult = invalid\nsig = 000075fbc044fe19c72f459b5a1fc4793f7893ffcc95bab8609900b3c3d3be6643a42987c167e7feb63ec2a57f961c1b9c35b11b34044e065d7d3df0b49496dd80f7cd1eb2e8c0d0b726f37e701ba62a3003a17657af55adcb0b6e86f95198ed435207663d616d516bf7222db241094849fb232bf6fbeeed7b5879a6b6c8aebc57646117220bf55403d0ff078e219ff119bd2e52e767b708b91afe30e9be348766e7537e1128087b4c9aca0281415e550965a395ab20d423330939b4e37551a7735c6df2b0395dd032266ec7dd4afaa3c477c64e3f95ee4945960b7a0c43b7a9622448eba4149e30ccaa0c234be7b06f4ebe8ef43063c62282e0643c6e483feb1942e3310bad0c05bb2f87674825fed098d5c787b69c5ba6a1f716dfa62ede3b8a01c076598b15ffa2e2be82fd1d8025f8ded14cd8fc8753ef76419e1dd561bc0310b2c7845e2744c9621735758645af0252315b6a05894c264c4587c8870e02e94813fc3a797d590a9645d92845b614b0d89cfffc0b80c5b48186ae350d877f0bc06e561770736342f00d56b2ae785891afe39cc0412337e4f5d29ff06d727f6fee8f0966d52ac146ba82a753751ad786c9d70ccd3005b11fc4f6b81517433a052c2351390332bf7fcb4326a19930b512631317c0354a81ec7c529ccd1bb2ef206d697999950a539808958d6c2be64220123f12e7aad168be35de70103090937f44\n\n# tcId = 45\n# appending 0's to signature\nmsg = 313233343030\nresult = invalid\nsig = 75fbc044fe19c72f459b5a1fc4793f7893ffcc95bab8609900b3c3d3be6643a42987c167e7feb63ec2a57f961c1b9c35b11b34044e065d7d3df0b49496dd80f7cd1eb2e8c0d0b726f37e701ba62a3003a17657af55adcb0b6e86f95198ed435207663d616d516bf7222db241094849fb232bf6fbeeed7b5879a6b6c8aebc57646117220bf55403d0ff078e219ff119bd2e52e767b708b91afe30e9be348766e7537e1128087b4c9aca0281415e550965a395ab20d423330939b4e37551a7735c6df2b0395dd032266ec7dd4afaa3c477c64e3f95ee4945960b7a0c43b7a9622448eba4149e30ccaa0c234be7b06f4ebe8ef43063c62282e0643c6e483feb1942e3310bad0c05bb2f87674825fed098d5c787b69c5ba6a1f716dfa62ede3b8a01c076598b15ffa2e2be82fd1d8025f8ded14cd8fc8753ef76419e1dd561bc0310b2c7845e2744c9621735758645af0252315b6a05894c264c4587c8870e02e94813fc3a797d590a9645d92845b614b0d89cfffc0b80c5b48186ae350d877f0bc06e561770736342f00d56b2ae785891afe39cc0412337e4f5d29ff06d727f6fee8f0966d52ac146ba82a753751ad786c9d70ccd3005b11fc4f6b81517433a052c2351390332bf7fcb4326a19930b512631317c0354a81ec7c529ccd1bb2ef206d697999950a539808958d6c2be64220123f12e7aad168be35de70103090937f440000\n\n# tcId = 46\n# truncated signature\nmsg = 313233343030\nresult = invalid\nsig = 75fbc044fe19c72f459b5a1fc4793f7893ffcc95bab8609900b3c3d3be6643a42987c167e7feb63ec2a57f961c1b9c35b11b34044e065d7d3df0b49496dd80f7cd1eb2e8c0d0b726f37e701ba62a3003a17657af55adcb0b6e86f95198ed435207663d616d516bf7222db241094849fb232bf6fbeeed7b5879a6b6c8aebc57646117220bf55403d0ff078e219ff119bd2e52e767b708b91afe30e9be348766e7537e1128087b4c9aca0281415e550965a395ab20d423330939b4e37551a7735c6df2b0395dd032266ec7dd4afaa3c477c64e3f95ee4945960b7a0c43b7a9622448eba4149e30ccaa0c234be7b06f4ebe8ef43063c62282e0643c6e483feb1942e3310bad0c05bb2f87674825fed098d5c787b69c5ba6a1f716dfa62ede3b8a01c076598b15ffa2e2be82fd1d8025f8ded14cd8fc8753ef76419e1dd561bc0310b2c7845e2744c9621735758645af0252315b6a05894c264c4587c8870e02e94813fc3a797d590a9645d92845b614b0d89cfffc0b80c5b48186ae350d877f0bc06e561770736342f00d56b2ae785891afe39cc0412337e4f5d29ff06d727f6fee8f0966d52ac146ba82a753751ad786c9d70ccd3005b11fc4f6b81517433a052c2351390332bf7fcb4326a19930b512631317c0354a81ec7c529ccd1bb2ef206d697999950a539808958d6c2be64220123f12e7aad168be35de7010309093\n\n# tcId = 47\n# empty signature\nmsg = 313233343030\nresult = invalid\nsig = \n\n", +static const char *kData114[] = { + "# Imported from Wycheproof's hmac_sha256_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: HMACSHA256\n# Generator version: 0.8rc21\n\n[keySize = 256]\n[tagSize = 256]\n\n# tcId = 1\n# empty message\nkey = 1e225cafb90339bba1b24076d4206c3e79c355805d851682bc818baa4f5a7779\nmsg = \nresult = valid\ntag = b175b57d89ea6cb606fb3363f2538abd73a4c00b4a1386905bac809004cf1933\n\n# tcId = 2\n# short message\nkey = 8159fd15133cd964c9a6964c94f0ea269a806fd9f43f0da58b6cd1b33d189b2a\nmsg = 77\nresult = valid\ntag = dfc5105d5eecf7ae7b8b8de3930e7659e84c4172f2555142f1e568fc1872ad93\n\n# tcId = 3\n# short message\nkey = 85a7cbaae825bb82c9b6f6c5c2af5ac03d1f6daa63d2a93c189948ec41b9ded9\nmsg = a59b\nresult = valid\ntag = 0fe2f13bba2198f6dda1a084be928e304e9cb16a56bc0b7b939a073280244373\n\n# tcId = 4\n# short message\nkey = 48f3029334e55cfbd574ccc765fb2c3685aab1f4837d23370874a3e634c3a76d\nmsg = c7b8b2\nresult = valid\ntag = 6c13f79bb2d5b6f9a315fe8fd6cbb5cb817a660687009deccd88c377429e596d\n\n# tcId = 5\n# short message\nkey = de8b5b5b2f09645be47ecb6407a4e1d9c6b33ae3c2d22517d3357da0357a3139\nmsg = cc021d65\nresult = valid\ntag = e87538eb167e62d7cb236690ff3f034a9c12d417aa8dfa694d7405f9e1f85fe8\n\n# tcId = 6\n# short message\nkey = b7938910f518f13205ca1492c669001a14ff913c8ab4a0dc3564e7418e91297c\nmsg = a4a6ef6ebd\nresult = valid\ntag = 01a93f4ed216d0b280896301e366aa67b25e6b6a5a6e84f291a13391c6e496c5\n\n# tcId = 7\n# short message\nkey = 1bb997ff4de8a5a391de5c08a33bc2c7c2891e47ad5b9c63110192f78b98fe78\nmsg = 667e015df7fc\nresult = valid\ntag = 06b5d8c5392323a802bc5cdd0b3c527454a873d9651c368836eaa4ad982ba546\n\n# tcId = 8\n# short message\nkey = 32fdeda39f98b4f4426c2d2ac00ab5dd4bfabb68f311447256ed6d3d3a51b154\nmsg = 4163a9f77e41f5\nresult = valid\ntag = 1b0103729f48c2772bb132aef9ebd6dd6aafc9145df6d5c514b233ee92ef4a00\n\n# tcId = 9\n# short message\nkey = 233e4fdee70bcc20235b6977ddfc05b0df66f5635d827c66e5a63cdb16a24938\nmsg = fdb2ee4b6d1a0ac2\nresult = valid\ntag = 120b26ee1355c134c262513c7922deb6c4fd90303de4cd61b9f9cd08f22d6e18\n\n# tcId = 10\n# short message\nkey = b984c6734e0bd12b1737b2fc7a1b3803b4dfec402140a57b9eccc35414ae661b\nmsg = dea584d0e2a14ad5fd\nresult = valid\ntag = 88bc2282e5fce47ec6d9895395cd47fff91a0cdc589a8fd56d8d344616533a3d\n\n# tcId = 11\n# short message\nkey = d0caf1456ac5e255fa6afd61a79dc8c716f5358a298a508271363fe1ff983561\nmsg = 18261dc806913c534666\nresult = valid\ntag = f678f081d83cf126ad6bd52c2dffd786214f519c47452b85a97458d0c10c3ee5\n\n# tcId = 12\n# short message\nkey = 835bc8241ed817735ec9d3d0e2df4c173ee4dded4a8ef0c04a96c48f11820463\nmsg = 26f8083e944bacf04e9a4d\nresult = valid\ntag = e0e46cd7d1a75b3d102893da64def46e455308761f1d908786628ca7ee22a0eb\n\n# tcId = 13\n# short message\nkey = 055f95c9461b0809575eccdfa5cdd06275f25d30915c4eb8db40e1acd3ab7591\nmsg = bfb7d6a08dbaa5225f320887\nresult = valid\ntag = e76d5c8c070a6b3c4824e9f342dc3056e63819509e1def98b585aeba0d638a00\n\n# tcId = 14\n# short message\nkey = e40f7a3eb88ddec4c6347ea4d67610756c82c8ebcc237629bf873ccabc32984a\nmsg = 7fe43febc78474649e45bf99b2\nresult = valid\ntag = aa57d020aa24ad823472c2b80ff2d0cf475f7de0068f9a59e8112fede53a3581\n\n# tcId = 15\n# short message\nkey = b020ad1de1c141f7ec615ee5701521773f9b232e4d06376c382894ce51a61f48\nmsg = 81c7581a194b5e71b41146a582c1\nresult = valid\ntag = f45c72603cc160c0762f703407844a7781dfe0f1ddf0aaf4ccd8205e94469aed\n\n# tcId = 16\n# short message\nkey = 9f3fd61a105202648ecff6074c95e502c1c51acd32ec538a5cce89ef841f7989\nmsg = 2a76f2acdace42e3b779724946912c\nresult = valid\ntag = 0226ee13cc05e2340135b3f4b27a9da1a160f6170fe805dadd98a3711ec9c421\n\n# tcId = 17\nkey = 6fa353868c82e5deeedac7f09471a61bf749ab5498239e947e012eee3c82d7c4\nmsg = aeed3e4d4cb9bbb60d482e98c126c0f5\nresult = valid\ntag = 9ed7f0e73812a27a87a3808ee0c89a6456499e835974ba57c5aab2a0d8c69e93\n\n# tcId = 18\nkey = 5300489494ca86221c91d6d953952ae1a5e097139dc9cf1179c2f56433753824\nmsg = 90fea6cf2bd811b449f333ee9233e57697\nresult = valid\ntag = 5b692cba13b54fffc3adcbb0e015cc011fbfd61235303ff0ad2a49775083bf22\n\n# tcId = 19\nkey = 383e7c5c13476a62268423ef0500479f9e86e236c5a081c6449189e6afdf2af5\nmsg = 3202705af89f9555c540b0e1276911d01971abb2c35c78b2\nresult = valid\ntag = 4e4901592ba46476408d758435c7d1b489d2689afd84ceaaee78bfb91fd9391d\n\n# tcId = 20\nkey = 186e248ad824e1eb93329a7fdcd565b6cb4eaf3f85b90b910777128d8c538d27\nmsg = 92ef9ff52f46eccc7e38b9ee19fd2de3b37726c8e6ce9e1b96db5dda4c317902\nresult = valid\ntag = 3fc1d73dd4a8858c1fc3d8c4a3f33ed5ad0c70210038394a5902cb26fe287348\n\n# tcId = 21\n# long message\nkey = 28855c7efc8532d92567300933cc1ca2d0586f55dcc9f054fcca2f05254fbf7f\nmsg = 9c09207ff0e6e582cb3747dca954c94d45c05e93f1e6f21179cf0e25b4cede74b5479d32f5166935c86f0441905865\nresult = valid\ntag = 788c0589000fb7f0b5d51f1596472bc9ec413421a43df96ee32b02b5d275ffe3\n\n# tcId = 22\n# long message\nkey = 8e540cb30c94836ae2a5950f355d482a7002e255207e94fda3f7ef1a099013a0\nmsg = d6500f95e11262e308bf3df4df4b855f33e857563d4543f195639a0a17b442eb9fdcc1367d2eee75c8f805730b89290f\nresult = valid\ntag = 39697e70ce741feb33dedc069f00b5627fd9b837d10cbdd5b6d19cfbd511dd2c\n\n# tcId = 23\n# long message\nkey = 69c50d5274358188cff4c0fae742243d4e8a5e5ba55d94ff40edd90f6a43dd10\nmsg = 1ac5255aff052828d8ea21b376f1ebdd4bb879949913900405aebce83e48feb6813b5e9c89f94501a8ade41b26b815c521\nresult = valid\ntag = 4b0b4d0416fa2e11586fbfa7fb11261e69991dfa34019b9893d69a2be8c1fc80\n\n# tcId = 24\n# long message\nkey = 23209b7c5aadcbd13f7279af1a86d3c7ae8f179d1bcaaad0dff9a15302e78dbf\nmsg = 84bdac37e1af35d9356404e2787d47ece58348dea76a4a46e8aade3463d4db8c94a051be3733b38d756984865d56c60e8025f15e3f968f093e7fb7ebc7e31189c5692d15ed4256737b9b1894e5809503aaa1c9983fb096aa21916361eeb6ef455b129723a1a1ddf9deddea208529a648\nresult = valid\ntag = 4a85c479d1650dbd73bc5248074a55ff50218bddaa8d1fddaaf44946dc19aefb\n\n# tcId = 25\n# long message\nkey = 7c9cc667cae175f448faa96647319633b2d48531373ae7d316c44ddd8b9f69cf\nmsg = 9233c1d73b498c5106ff88951e07b9652cb0ddae740737ec205c9876d094978bfc947f7dc937119fd6a93915b19b625958a7a22363aa2ac33fb869ed16b303336ab740a0498a2df66a6599da710094481a7b544bd955b6f97135ba4673401db2db144a6e287041e47a51ed9b6ba956c13508c1c0c25310105239ab73629e30\nresult = valid\ntag = ca1b80441d333909c2bb30769650055051ed20f17de8ee953cb9070af56c704f\n\n# tcId = 26\n# long message\nkey = 82314540564ea3ce30591e97f68b2602de40fa29f773c2508327471b8348e8c4\nmsg = 6a6d2f45cebf2757ae16ea33c68617671d77f8fdf80bed8fc5cdc5c8b7086bd28e7eb3eecc7163491104e5309455e67f836579b82a1da3bf5991a8e2b2f189a49e05700e46c409ed5de77780a5f389e3f13dad406c9d55675329c5c921f07034180937c0f6ef34a2308b6ff3e1a0e9dc1ea65f5632730e8744d1db2c40a6595b\nresult = valid\ntag = 0900b3e6535d34f90e2c335775e86bf38ee7e3d26fb60cd9cdf639eb3496b94c\n\n# tcId = 27\n# long message\nkey = d115acc9a636915241795f48852052e07b51273ae2448251ec1d0d0f9807f3db\nmsg = 696d2456de853fa028f486fef437b6b6d1b530a8475e299db3a9005ae9cef8401985b7d31e172e8f439ccd1ad1ec44c9b86b78f3f243c1305b53bc21abad7a8fc5256311bfd34c98e37dfdc649e7ae4bda08cf2994b063c0c7106ed0b02a1f48af9191cbfb0d6a953b7e04327dfe8c93779cb574ba9cba575d01674e83621aa0c5f400d6e6cd24b301e33c9f3303e73bf357408c1be86c2489c09de998ff2ef32df554f1247d9313ce1a7160115d06f4c18d6556ff7986ef8a55e2adcfa27e4c69c71cc2ff01639e9d49bd9ed0687f530ffeb0890132457df2088081bc4a2f7f0a9f4dcea2c80d991db7f3747a1803d7619aaf3dd382c69536a0bcdb931cbe\nresult = valid\ntag = 82f92977f0b605eaada510ffceb53ad75fde16a8029f1b75b406a84270dbb8b7\n\n# tcId = 28\n# Flipped bit 0 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = d28b42096d80f45f826b44a9d5607de72496a415d3f4a1a8c88e3bb9da8dc1cb\n\n# tcId = 29\n# Flipped bit 0 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d9b99f2709a3ca74172cbe93824c1f29b23a0c1e9c21bd851ff2d2c39dbef14e\n\n# tcId = 30\n# Flipped bit 1 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = d18b42096d80f45f826b44a9d5607de72496a415d3f4a1a8c88e3bb9da8dc1cb\n\n# tcId = 31\n# Flipped bit 1 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = dab99f2709a3ca74172cbe93824c1f29b23a0c1e9c21bd851ff2d2c39dbef14e\n\n# tcId = 32\n# Flipped bit ", + "7 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 538b42096d80f45f826b44a9d5607de72496a415d3f4a1a8c88e3bb9da8dc1cb\n\n# tcId = 33\n# Flipped bit 7 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 58b99f2709a3ca74172cbe93824c1f29b23a0c1e9c21bd851ff2d2c39dbef14e\n\n# tcId = 34\n# Flipped bit 8 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = d38a42096d80f45f826b44a9d5607de72496a415d3f4a1a8c88e3bb9da8dc1cb\n\n# tcId = 35\n# Flipped bit 8 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d8b89f2709a3ca74172cbe93824c1f29b23a0c1e9c21bd851ff2d2c39dbef14e\n\n# tcId = 36\n# Flipped bit 31 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = d38b42896d80f45f826b44a9d5607de72496a415d3f4a1a8c88e3bb9da8dc1cb\n\n# tcId = 37\n# Flipped bit 31 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d8b99fa709a3ca74172cbe93824c1f29b23a0c1e9c21bd851ff2d2c39dbef14e\n\n# tcId = 38\n# Flipped bit 32 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = d38b42096c80f45f826b44a9d5607de72496a415d3f4a1a8c88e3bb9da8dc1cb\n\n# tcId = 39\n# Flipped bit 32 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d8b99f2708a3ca74172cbe93824c1f29b23a0c1e9c21bd851ff2d2c39dbef14e\n\n# tcId = 40\n# Flipped bit 33 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = d38b42096f80f45f826b44a9d5607de72496a415d3f4a1a8c88e3bb9da8dc1cb\n\n# tcId = 41\n# Flipped bit 33 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d8b99f270ba3ca74172cbe93824c1f29b23a0c1e9c21bd851ff2d2c39dbef14e\n\n# tcId = 42\n# Flipped bit 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = d38b42096d80f4df826b44a9d5607de72496a415d3f4a1a8c88e3bb9da8dc1cb\n\n# tcId = 43\n# Flipped bit 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d8b99f2709a3caf4172cbe93824c1f29b23a0c1e9c21bd851ff2d2c39dbef14e\n\n# tcId = 44\n# Flipped bit 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = d38b42096d80f45f836b44a9d5607de72496a415d3f4a1a8c88e3bb9da8dc1cb\n\n# tcId = 45\n# Flipped bit 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d8b99f2709a3ca74162cbe93824c1f29b23a0c1e9c21bd851ff2d2c39dbef14e\n\n# tcId = 46\n# Flipped bit 71 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = d38b42096d80f45f026b44a9d5607de72496a415d3f4a1a8c88e3bb9da8dc1cb\n\n# tcId = 47\n# Flipped bit 71 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d8b99f2709a3ca74972cbe93824c1f29b23a0c1e9c21bd851ff2d2c39dbef14e\n\n# tcId = 48\n# Flipped bit 77 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = d38b42096d80f45f824b44a9d5607de72496a415d3f4a1a8c88e3bb9da8dc1cb\n\n# tcId = 49\n# Flipped bit 77 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d8b99f2709a3ca74170cbe93824c1f29b23a0c1e9c21bd851ff2d2c39dbef14e\n\n# tcId = 50\n# Flipped bit 80 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = d38b42096d80f45f826b45a9d5607de72496a415d3f4a1a8c88e3bb9da8dc1cb\n\n# tcId = 51\n# Flipped bit 80 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d8b99f2709a3ca74172cbf93824c1f29b23a0c1e9c21bd851ff2d2c39dbef14e\n\n# tcId = 52\n# Flipped bit 96 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = d38b42096d80f45f826b44a9d4607de72496a415d3f4a1a8c88e3bb9da8dc1cb\n\n# tcId = 53\n# Flipped bit 96 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d8b99f2709a3ca74172cbe93834c1f29b23a0c1e9c21bd851ff2d2c39dbef14e\n\n# tcId = 54\n# Flipped bit 97 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = d38b42096d80f45f826b44a9d7607de72496a415d3f4a1a8c88e3bb9da8dc1cb\n\n# tcId = 55\n# Flipped bit 97 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d8b99f2709a3ca74172cbe93804c1f29b23a0c1e9c21bd851ff2d2c39dbef14e\n\n# tcId = 56\n# Flipped bit 103 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = d38b42096d80f45f826b44a955607de72496a415d3f4a1a8c88e3bb9da8dc1cb\n\n# tcId = 57\n# Flipped bit 103 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d8b99f2709a3ca74172cbe93024c1f29b23a0c1e9c21bd851ff2d2c39dbef14e\n\n# tcId = 58\n# Flipped bit 248 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = d38b42096d80f45f826b44a9d5607de72496a415d3f4a1a8c88e3bb9da8dc1ca\n\n# tcId = 59\n# Flipped bit 248 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d8b99f2709a3ca74172cbe93824c1f29b23a0c1e9c21bd851ff2d2c39dbef14f\n\n# tcId = 60\n# Flipped bit 249 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = d38b42096d80f45f826b44a9d5607de72496a415d3f4a1a8c88e3bb9da8dc1c9\n\n# tcId = 61\n# Flipped bit 249 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d8b99f2709a3ca74172cbe93824c1f29b23a0c1e9c21bd851ff2d2c39dbef14c\n\n# tcId = 62\n# Flipped bit 254 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = d38b42096d80f45f826b44a9d5607de72496a415d3f4a1a8c88e3bb9da8dc18b\n\n# tcId = 63\n# Flipped bit 254 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d8b99f2709a3ca74172cbe93824c1f29b23a0c1e9c21bd851ff2d2c39dbef10e\n\n# tcId = 64\n# Flipped bit 255 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = d38b42096d80f45f826b44a9d5607de72496a415d3f4a1a8c88e3bb9da8dc14b\n\n# tcId = 65\n# Flipped bit 255 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d8b99f2709a3ca74172cbe93824c1f29b23a0c1e9c21bd851ff2d2c39dbef1ce\n\n# tcId = 66\n# Flipped bits 0 and 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = d28b42096d80f45f836b44a9d5607de72496a415d3f4a1a8c88e3bb9da8dc1cb\n\n# tcId = 67\n# Flipped bits 0 and 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d9b99f2709a3ca74162cbe93824c1f29b23a0c1e9c21bd851ff2d2c39dbef14e\n\n# tcId = 68\n# Flipped bits 31 and 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = d38b42896d80f4df826b44a9d5607de72496a415d3f4a1a8c88e3bb9da8dc1cb\n\n# tcId = 69\n# Flipped bits 31 and 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191", + "a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d8b99fa709a3caf4172cbe93824c1f29b23a0c1e9c21bd851ff2d2c39dbef14e\n\n# tcId = 70\n# Flipped bits 63 and 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = d38b42096d80f4df826b44a9d5607d672496a415d3f4a1a8c88e3bb9da8dc1cb\n\n# tcId = 71\n# Flipped bits 63 and 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d8b99f2709a3caf4172cbe93824c1fa9b23a0c1e9c21bd851ff2d2c39dbef14e\n\n# tcId = 72\n# all bits of tag flipped\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 2c74bdf6927f0ba07d94bb562a9f8218db695bea2c0b5e573771c44625723e34\n\n# tcId = 73\n# all bits of tag flipped\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 274660d8f65c358be8d3416c7db3e0d64dc5f3e163de427ae00d2d3c62410eb1\n\n# tcId = 74\n# Tag changed to all zero\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 0000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 75\n# Tag changed to all zero\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 76\n# tag changed to all 1\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n\n# tcId = 77\n# tag changed to all 1\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n\n# tcId = 78\n# msbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 530bc289ed0074df02ebc42955e0fd67a416249553742128480ebb395a0d414b\n\n# tcId = 79\n# msbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 58391fa789234af497ac3e1302cc9fa932ba8c9e1ca13d059f7252431d3e71ce\n\n# tcId = 80\n# lsbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = d28a43086c81f55e836a45a8d4617ce62597a514d2f5a0a9c98f3ab8db8cc0ca\n\n# tcId = 81\n# lsbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d9b89e2608a2cb75162dbf92834d1e28b33b0d1f9d20bc841ef3d3c29cbff04f\n\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 82\n# empty message\nkey = 7bf9e536b66a215c22233fe2daaa743a898b9acb9f7802de70b40e3d6e43ef97\nmsg = \nresult = valid\ntag = f4605585949747de26f3ee98a738b172\n\n# tcId = 83\n# short message\nkey = e754076ceab3fdaf4f9bcab7d4f0df0cbbafbc87731b8f9b7cd2166472e8eebc\nmsg = 40\nresult = valid\ntag = 0dc00d7217bbafe8d78bf961189b8fd2\n\n# tcId = 84\n# short message\nkey = ea3b016bdd387dd64d837c71683808f335dbdc53598a4ea8c5f952473fafaf5f\nmsg = 6601\nresult = valid\ntag = ff296b368d3bf059cc48682f6949ccaa\n\n# tcId = 85\n# short message\nkey = 73d4709637857dafab6ad8b2b0a51b06524717fedf100296644f7cfdaae1805b\nmsg = f1d300\nresult = valid\ntag = 2d02bd1c25b1fe52b1ead07374d6e883\n\n# tcId = 86\n# short message\nkey = d5c81b399d4c0d1583a13da56de6d2dc45a66e7b47c24ab1192e246dc961dd77\nmsg = 2ae63cbf\nresult = valid\ntag = 4d9e8bddf9b7a1218309d5988aa1b0d9\n\n# tcId = 87\n# short message\nkey = 2521203fa0dddf59d837b2830f87b1aa61f958155df3ca4d1df2457cb4284dc8\nmsg = af3a015ea1\nresult = valid\ntag = cb8a4b413350b42f4ac3533cc7f47864\n\n# tcId = 88\n# short message\nkey = 665a02bc265a66d01775091da56726b6668bfd903cb7af66fb1b78a8a062e43c\nmsg = 3f56935def3f\nresult = valid\ntag = 1cfce745db1ca7de9a1d4420e612ca55\n\n# tcId = 89\n# short message\nkey = facd75b22221380047305bc981f570e2a1af38928ea7e2059e3af5fc6b82b493\nmsg = 57bb86beed156f\nresult = valid\ntag = 0bde0d0c756df09d4f6da81b299a3adf\n\n# tcId = 90\n# short message\nkey = 505aa98819809ef63b9a368a1e8bc2e922da45b03ce02d9a7966b15006dba2d5\nmsg = 2e4e7ef728fe11af\nresult = valid\ntag = 406a5c2bd3e6a9595f9b7dff608d59a7\n\n# tcId = 91\n# short message\nkey = f942093842808ba47f64e427f7351dde6b9546e66de4e7d60aa6f328182712cf\nmsg = 852a21d92848e627c7\nresult = valid\ntag = 0b1bf9e98d0a794fa55c09b63e25799f\n\n# tcId = 92\n# short message\nkey = 64be162b39c6e5f1fed9c32d9f674d9a8cde6eaa2443214d86bd4a1fb53b81b4\nmsg = 195a3b292f93baff0a2c\nresult = valid\ntag = 71f33f6021d90858cadb1353d7fbe8d7\n\n# tcId = 93\n# short message\nkey = b259a555d44b8a20c5489e2f38392ddaa6be9e35b9833b67e1b5fdf6cb3e4c6c\nmsg = afd73117330c6e8528a6e4\nresult = valid\ntag = 4b8d76372ebe5e5caa56ca4e5c59cdd3\n\n# tcId = 94\n# short message\nkey = 2c6fc62daa77ba8c6881b3dd6989898fef646663cc7b0a3db8228a707b85f2dc\nmsg = 0ff54d6b6759120c2e8a51e3\nresult = valid\ntag = c580c542846a96e84ea77701778455bf\n\n# tcId = 95\n# short message\nkey = abab815d51df29f740e4e2079fb798e0152836e6ab57d1536ae8929e52c06eb8\nmsg = f0058d412a104e53d820b95a7f\nresult = valid\ntag = 13cdb005059338f0f28e2d8ce1af5d0a\n\n# tcId = 96\n# short message\nkey = 3d5da1af83f7287458bff7a7651ea5d8db72259401333f6b82096996dd7eaf19\nmsg = aacc36972f183057919ff57b49e1\nresult = valid\ntag = bd993e4428cbc0e275e4d80b6f520363\n\n# tcId = 97\n# short message\nkey = c19bdf314c6cf64381425467f42aefa17c1cc9358be16ce31b1d214859ce86aa\nmsg = 5d066a92c300e9b6ddd63a7c13ae33\nresult = valid\ntag = 86c9f4dde0b257a7053a7b03c7504409\n\n# tcId = 98\nkey = 612e837843ceae7f61d49625faa7e7494f9253e20cb3adcea686512b043936cd\nmsg = cc37fae15f745a2f40e2c8b192f2b38d\nresult = valid\ntag = b96bcacafac30094f18ac5039e7b3656\n\n# tcId = 99\nkey = 73216fafd0022d0d6ee27198b2272578fa8f04dd9f44467fbb6437aa45641bf7\nmsg = d5247b8f6c3edcbfb1d591d13ece23d2f5\nresult = valid\ntag = 6e597c4c3861a380c06854b446fc2a87\n\n# tcId = 100\nkey = 0427a70e257528f3ab70640bba1a5de12cf3885dd4c8e284fbbb55feb35294a5\nmsg = 13937f8544f44270d01175a011f7670e93fa6ba7ef02336e\nresult = valid\ntag = f731aaf2f04023d621f10495344679a0\n\n# tcId = 101\nkey = 96e1e4896fb2cd05f133a6a100bc5609a7ac3ca6d81721e922dadd69ad07a892\nmsg = 91a17e4dfcc3166a1add26ff0e7c12056e8a654f28a6de24f4ba739ceb5b5b18\nresult = valid\ntag = 95243eb1a9d448174ae4fccf4a53ebfe\n\n# tcId = 102\n# long message\nkey = 41201567be4e6ea06de2295fd0e6e8a7d862bb57311894f525d8adeabba4a3e4\nmsg = 58c8c73bdd3f350c97477816eae4d0789c9369c0e99c248902c700bc29ed986425985eb3fa55709b73bf620cd9b1cb\nresult = valid\ntag = 343367207f71425d8f81f3110b0405f6\n\n# tcId = 103\n# long message\nkey = 649e373e681ef52e3c10ac265484750932a9918f28fb824f7cb50adab39781fe\nmsg = 39b447bd3a01983c1cb761b456d69000948ceb870562a536126a0d18a8e7e49b16de8fe672f13d0808d8b7d957899917\nresult = valid\ntag = 151618eec4f503f3b63b539de0a58966\n\n# tcId = 104\n# long message\nkey = 7b0d237f7b536e2c6950990e61b361b384333dda690045c591321a4e3f79747f\nmsg = 3d6283d11c0219b525620e9bf5b9fd887d3f0f707acb1fbdffab0d97a5c6d07fc547762e0e7dd7c43ad35fab1c790f8047\nresult = valid\ntag = ce201c0dcfdc3f2bef360609a31fb19e\n\n# tcId = 105\n# long message\nkey = 17c92663741f012e5bb6714e614c2d155948617f10936269d954c58aba2ae62d\nmsg = 7fdd6a15c861d0313f6635d77dc55e115ff18c8ab063b5d03eab472eeca87a378188f25813515cf90b6cffa94a8ff36b29d65603eab3fbd2aa9500b261e184049893dc6ca2010becac163053f211070bdda621b8bd8af77e450268603b52db34c90be836dfebddef42303f724e63bf0f\nresult = valid\ntag = 76e8dfd94db4af9d79d9718eec46cb2d\n\n# tcId = 106\n# long message\nkey = 424c6b22606fcc094ae82fc5d3cbe484174c2211b3ec778091cac34a8e38a152\nmsg = d96ff062e2490e8e0c54c5a8b89e85b25a66d93d7c2b93bdfef846b70d38672746a4b988d08f15a5c527ca4f2c80e53f7c6ac0521bc57ebe38209180cbf934e0bbeb58cfb63d75da64af41d09ce174af1896f42522910fced35ea000402e95fd3ac7aa6d5e0a6b533b0879bc466019b3a5e6b16e4bd1ea6cdfc9ccc1d6f0f0\nresult = valid\ntag = eda709c7009714c372d0d6a63dfde469\n\n# tcId = 107\n# long message\nkey = 15d553c8da433d53cdc7f15087a70349caab57b379a4078928ce9b99302e31a6\nmsg = d6c0c53b73f74fb426adfdc143d70db7f7a8f8ed32a2faef263cf9ab117537b6b9d1728bd1000c1f28906c6ce6ad21862bfa4d689c1a8ebe3868b992098", + "b7f981b2af5189a6adedff53a6c70c83693f5c8d6385a9a8a4dca017c5716ac4d5b9765c5ca2ab5f9867e02795198c0b9527e07d08af52dbcb91ceb3d8b412a2b2402\nresult = valid\ntag = 8ca1402bf8fc23442ac2067be925b828\n\n# tcId = 108\n# long message\nkey = ffe559468a1031dfb3ced2e381e74b5821a36d9abf5f2e59895a7fdca0fa56a0\nmsg = 238899a84a3cf15202a1fbef4741e133fb24c009a0cd83854c6d1d7c9266d4c3eafe6d1dfc18f13845ccdad7fe277627b5fd5ff2555ce6dfde1ee078540a0a3590c6d9bf2fb63ba9afbe9380e797be7cd017645c5a3613eef38ef89e3b7461e6e700ff2b4deef5636c9d2198b143f797ca1820a3dcc5d462ebf4a8c4c09eb202a23592eb9524082c79adda8fcd56d256041a26bf8f523962ba911ce5a5786570d65be3c4df722ed8830302065febdf944715298a1fbb7d10b68d7da2bf889324314ce51e815c7fbf03aa0a8358aff3a86eb7a33f9a4923660db3047e793bebb0c6918f4395d400381723fdae2832c36efc8e368a68f30f6351c3bc942cd560\nresult = valid\ntag = a830b313f4936dea56a3aefd6a3ebe7d\n\n# tcId = 109\n# Flipped bit 0 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = d28b42096d80f45f826b44a9d5607de7\n\n# tcId = 110\n# Flipped bit 0 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d9b99f2709a3ca74172cbe93824c1f29\n\n# tcId = 111\n# Flipped bit 1 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = d18b42096d80f45f826b44a9d5607de7\n\n# tcId = 112\n# Flipped bit 1 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = dab99f2709a3ca74172cbe93824c1f29\n\n# tcId = 113\n# Flipped bit 7 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 538b42096d80f45f826b44a9d5607de7\n\n# tcId = 114\n# Flipped bit 7 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 58b99f2709a3ca74172cbe93824c1f29\n\n# tcId = 115\n# Flipped bit 8 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = d38a42096d80f45f826b44a9d5607de7\n\n# tcId = 116\n# Flipped bit 8 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d8b89f2709a3ca74172cbe93824c1f29\n\n# tcId = 117\n# Flipped bit 31 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = d38b42896d80f45f826b44a9d5607de7\n\n# tcId = 118\n# Flipped bit 31 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d8b99fa709a3ca74172cbe93824c1f29\n\n# tcId = 119\n# Flipped bit 32 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = d38b42096c80f45f826b44a9d5607de7\n\n# tcId = 120\n# Flipped bit 32 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d8b99f2708a3ca74172cbe93824c1f29\n\n# tcId = 121\n# Flipped bit 33 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = d38b42096f80f45f826b44a9d5607de7\n\n# tcId = 122\n# Flipped bit 33 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d8b99f270ba3ca74172cbe93824c1f29\n\n# tcId = 123\n# Flipped bit 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = d38b42096d80f4df826b44a9d5607de7\n\n# tcId = 124\n# Flipped bit 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d8b99f2709a3caf4172cbe93824c1f29\n\n# tcId = 125\n# Flipped bit 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = d38b42096d80f45f836b44a9d5607de7\n\n# tcId = 126\n# Flipped bit 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d8b99f2709a3ca74162cbe93824c1f29\n\n# tcId = 127\n# Flipped bit 71 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = d38b42096d80f45f026b44a9d5607de7\n\n# tcId = 128\n# Flipped bit 71 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d8b99f2709a3ca74972cbe93824c1f29\n\n# tcId = 129\n# Flipped bit 77 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = d38b42096d80f45f824b44a9d5607de7\n\n# tcId = 130\n# Flipped bit 77 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d8b99f2709a3ca74170cbe93824c1f29\n\n# tcId = 131\n# Flipped bit 80 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = d38b42096d80f45f826b45a9d5607de7\n\n# tcId = 132\n# Flipped bit 80 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d8b99f2709a3ca74172cbf93824c1f29\n\n# tcId = 133\n# Flipped bit 96 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = d38b42096d80f45f826b44a9d4607de7\n\n# tcId = 134\n# Flipped bit 96 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d8b99f2709a3ca74172cbe93834c1f29\n\n# tcId = 135\n# Flipped bit 97 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = d38b42096d80f45f826b44a9d7607de7\n\n# tcId = 136\n# Flipped bit 97 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d8b99f2709a3ca74172cbe93804c1f29\n\n# tcId = 137\n# Flipped bit 103 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = d38b42096d80f45f826b44a955607de7\n\n# tcId = 138\n# Flipped bit 103 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d8b99f2709a3ca74172cbe93024c1f29\n\n# tcId = 139\n# Flipped bit 120 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = d38b42096d80f45f826b44a9d5607de6\n\n# tcId = 140\n# Flipped bit 120 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d8b99f2709a3ca74172cbe93824c1f28\n\n# tcId = 141\n# Flipped bit 121 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = d38b42096d80f45f826b44a9d5607de5\n\n# tcId = 142\n# Flipped bit 121 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d8b99f2709a3ca74172cbe93824c1f2b\n\n# tcId = 143\n# Flipped bit 126 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = d38b42096d80f45f826b44a9d5607da7\n\n# tcId = 144\n# Flipped bit 126 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d8b99f2709a3ca74172cbe93824c1f69\n\n# tcId = 145\n# Flipped bit 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = d38b42096d80f45f826b44a9d5607d67\n\n# tcId = 146\n# Flipped bit 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d8b99f2709a3ca74172cbe93824c1fa9\n\n# tcId = 147\n# Flipped bits 0 and 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = d28b42096d80f45f836b44a9d5607de7\n\n# tcId ", + "= 148\n# Flipped bits 0 and 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d9b99f2709a3ca74162cbe93824c1f29\n\n# tcId = 149\n# Flipped bits 31 and 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = d38b42896d80f4df826b44a9d5607de7\n\n# tcId = 150\n# Flipped bits 31 and 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d8b99fa709a3caf4172cbe93824c1f29\n\n# tcId = 151\n# Flipped bits 63 and 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = d38b42096d80f4df826b44a9d5607d67\n\n# tcId = 152\n# Flipped bits 63 and 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d8b99f2709a3caf4172cbe93824c1fa9\n\n# tcId = 153\n# all bits of tag flipped\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 2c74bdf6927f0ba07d94bb562a9f8218\n\n# tcId = 154\n# all bits of tag flipped\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 274660d8f65c358be8d3416c7db3e0d6\n\n# tcId = 155\n# Tag changed to all zero\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 156\n# Tag changed to all zero\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 157\n# tag changed to all 1\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 158\n# tag changed to all 1\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 159\n# msbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = 530bc289ed0074df02ebc42955e0fd67\n\n# tcId = 160\n# msbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 58391fa789234af497ac3e1302cc9fa9\n\n# tcId = 161\n# lsbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = \nresult = invalid\ntag = d28a43086c81f55e836a45a8d4617ce6\n\n# tcId = 162\n# lsbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = d9b89e2608a2cb75162dbf92834d1e28\n\n[keySize = 128]\n[tagSize = 256]\n\n# tcId = 163\n# short key\nkey = a349ac0a9f9f74e48e099cc3dbf9a9c9\nmsg = \nresult = valid\ntag = 3a8437b877b75cc08a4d8d7559a8fc6869a58c713da63d1d4b350d59b597e30c\n\n# tcId = 164\n# short key\nkey = ac686ba0f1a51b4ec4f0b30492b7f556\nmsg = 2fa43a14ae500507deb95ab5bd32b0fe\nresult = valid\ntag = 008532a53d0c0ab22027ae249023375374e2239b959609e8339b05a15742a675\n\n# tcId = 165\n# short key\nkey = 73ef9ef1a4225e51e3c1db3ace1fa24f\nmsg = ffad380d9aabb0acede5c1bf112925cdfc3d379fc2376a4fe2644490d0430ac3\nresult = valid\ntag = 9c7cb9f7c207ec46d1e3c55764731c4ab5ddbae4e1401e52a895df0cff4787c9\n\n[keySize = 128]\n[tagSize = 128]\n\n# tcId = 166\n# short key\nkey = e34f15c7bd819930fe9d66e0c166e61c\nmsg = \nresult = valid\ntag = 1d765ab9e29892f7bfec2975ad4bc2dc\n\n# tcId = 167\n# short key\nkey = e09eaa5a3f5e56d279d5e7a03373f6ea\nmsg = ef4eab37181f98423e53e947e7050fd0\nresult = valid\ntag = cfc19ec07902ec8be489606d8f40d172\n\n# tcId = 168\n# short key\nkey = 9bd3902ed0996c869b572272e76f3889\nmsg = a7ba19d49ee1ea02f098aa8e30c740d893a4456ccc294040484ed8a00a55f93e\nresult = valid\ntag = ac50adad9785a89c7282d8ab881dc615\n\n[keySize = 520]\n[tagSize = 256]\n\n# tcId = 169\n# long key\nkey = 8a0c46eb8a2959e39865330079763341e7439dab149694ee57e0d61ec73d947e1d5301cd974e18a5e0d1cf0d2c37e8aadd9fd589d57ef32e47024a99bc3f70c077\nmsg = \nresult = valid\ntag = f5bfb940561fb4db73ebba49bf2e4893bb0cca618a71b7ecf6aca38231e167ea\n\n# tcId = 170\n# long key\nkey = 2877ebb81f80334fd00516337446c5cf5ad4a3a2e197269e5b0ad1889dfe2b4b0aaa676fac55b36ce3affc7f1092ab89c53273a837bd5bc94d1a9d9e5b02e9856f\nmsg = ba448db88f154f775028fdecf9e6752d\nresult = valid\ntag = 1690ed4180642899e0deb9ec2270374e8b0a484217f5a682c524316eca219b64\n\n# tcId = 171\n# long key\nkey = 21178e26bc28ffc27c06f762ba190a627075856d7ca6feab79ac63149b17126e34fd9e5590e0e90aac801df09505d8af2dd0a2703b352c573ac9d2cb063927f2af\nmsg = 7d5f1d6b993452b1b53a4375760d10a20d46a0ab9ec3943fc4b07a2ce735e731\nresult = valid\ntag = e542ac8ac8f364bae4b7da8b7a0777df350f001de4e8cfa2d9ef0b15019496ec\n\n[keySize = 520]\n[tagSize = 128]\n\n# tcId = 172\n# long key\nkey = 813e0c078c221375e80590ace6774eafd2d2c242350988d02efa550e05aecbe100c1b8bf154c932cf9e57177015c816c42bc7fbc71ceaa5328c7316b7f0f30330f\nmsg = \nresult = valid\ntag = bb6ab66f51e53fa086c9c61a26ca27e0\n\n# tcId = 173\n# long key\nkey = 5713343096b0aaf0562a6b92c1a15535924160475a4e4233589159728c562e3b2ad96f740c6a4da2bc3f768ce98c9bd66bac28d1646ff592028c940d455f35eeb4\nmsg = 71712de2fac1fb855673bff72af64257\nresult = valid\ntag = c18165b8b97db1ca5e2486a32b39731e\n\n# tcId = 174\n# long key\nkey = 7208afbecf5f1f34828f98b719414e280716de64f5edd1ae1c774153cd2022337bb20fade1b7856f1dbfd40e2b4307f1293ceff1692ee90d8c90b5fdf953ab01a5\nmsg = 43b53302b604d613e62db002044a4782d572ac8fbd3cd0ece91b43bc52e18e98\nresult = valid\ntag = 2fecfe45d79339c57dddba68ab34f5f1\n\n", }; -static const size_t kLen82 = 53222; +static const size_t kLen115 = 47894; -static const char *kData82[] = { - "# Imported from Wycheproof's rsa_pss_4096_sha512_mgf1_32_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSASSA-PSS\n# Generator version: 0.4.12\n\n[e = 10001]\n[keyAsn = 3082020a0282020100c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d30203010001]\n[keyDer = 30820222300d06092a864886f70d01010105000382020f003082020a0282020100c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d30203010001]\n[keysize = 4096]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 0c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d3]\n[sLen = 32]\n[sha = SHA-512]\n\n# tcId = 1\nmsg = \nresult = valid\nsig = 8d4444ab233739c9d1441e99cb4f71581ed78fb996ba1257fffcd9e3c74ff60d6be352f002f959ff66bc6ed0c987a070097e5d57d8bd89b4452a9d2ca121eb6a283e8d0ef6f5f67875b6cbb8f04e6d242900d73d5bd7b59de4b9466ccbe53874ed422610e411fe3e026f47e47b8686b9c891c7226b4ca560a840e1734eb4f6fe877e559c9a9299dbbcaeebaf7eecfce6fe43ffbc483514fa3aabd6959e5aaa3977e23a9f97edf406d396e96c3c830164b10abc680bbaa6d99d19765d7c7e77946ef6ae240b5fef0249e7062792b15c8f9157da95971afb315c9c015c74a2e79ea2d0cc46992704872c340781f052b4b2cb5ded8f5cadd9b5e3edce128ef2354bd0411074d6515251f5231453bd530222f730ec736a86f721744267ba52652289ff6a207a5a7c45c20ec451948d6bd7b10f1af7282afed9f5df43e4a0d0f2e8fc6d3dd3130d4ff6fbc11f0ea460089856df29d1b7b111095754a7de9bc03029c6c397b6994674775fd29cd22ffb03dcd90c51096b18a6c174f2b48d50e94856f5a22adae64915d69c5528dac0345017c24e8aba401c6e9a0a268057a0fea237dbf0c88906796eea0d1bc3c2347cfcd812217e26015825e9f0fac404c22c26272443ccaf30b294c7c467497ee561a2a5f6d219973cffde9aed8e4486faa3de3d17405445e2f78a768dcac1efd01596486c2495f5bb1f830a4984041e03a7bcd77a\n\n# tcId = 2\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 3a58fc64a234dbd7be958d7c34abcba7d780ca636c4f2b2bb7fd3d4e4faaea0e17226c85debf8dc9b1a79e152a3bd83b13f43b1e92be81b37e908d04b717251e32a2d49e2cb5f2e7dc18e74cf9fcf0c0e246d473f76c79c3d50e878a2f89bc4eb6ecdda96c166d6a825a1df569d11384a78d7052782ace5878c41361f148c54528288088716f935d3e5b5d556a0fc9b62c0de31d9ddf4893f82365111043ad7fca010d1fe9187bde48f78cf465657e184857451d64564a16a166743870033e64125ca3f20ba80c065b259666871fcfcf71e711aa34cb70ad9a2ac6051fc02c96149d4e3c1741c4d44663ee0b49e1ba60a80b4c2d389ce3ba953d68bec835432bfe170429951f82ff51f408aff052c934d51526117b3d57ed1f2a912b37cacdb5a980d30d223d79faee7948c5f4986c1df5ed42923a3f4342da02a41872db49aa09d2d48c3b3e1cca7114a9a34e76b747ae6c99141c9f856e41d98456b3fde7d26bf842d6a421b3d4cceda4da1aa4d1298b624159a1c83b6fe5cb89982eba5e7d6005489d39233f156817c00c04511b98463696f8b6b3962ca3f4ef76b37300dda1d368c237250baa057e38658882f482d024c26163dc1fdac29904bc6424130837b8928f764bc939f006913ab1e968c85016dd812dba264520e6380872587265d827557eeac6498db8137dd2ae029fd83250ab7dcd764d018ca05ac9db8f95e2\n\n# tcId = 3\nmsg = 54657374\nresult = valid\nsig = 7c838ba65f923660aa4ac47465eb1df4df51d6fa2be26389757de8c6dfc7746aa5164d909b69b7c04758d256e13e3520e77e75b4094d8b0d60da0030b9c991969f6e892ff03ffba9b9f95ca991a279e7cded611a2879e6e6602f411a122c8d11cd333de5d2f7f367e38ee0491380e8796e113487ec7bc05ec1b1261aff871ef82cdd12f4e3d8f239cd49b2f53d57255dfe6ef29038831cdebe9cb1a76dc9ed79578e129b063724ccb3c7b3269f5dd3d9669a405582255cb56b1efe6d61a376df3a141014c3d660b66f9d1b266b5fd3c5472534df778e6e022a8f5a6cab501dde611e07c0c8eb5718962692e8e3773bfd25f1d3b63a20a251ef0c296f01f4a17814e18dfc029f2ed0ce073e83777cff44471f9348434fcc12b0420bf2de1c9018f0282ee21f09302b178f8c772c8f8962f6a29291c63532e1ae9301e7ac55781876965f425619a92559f33737d5e11b282f9434e27d9b27eb2fb0fce4e3e90ca9eaafef170644b00e512537bd779fd2207ee73020aaec07e6cd44103a14940c9499b013c42440d2f27a3def34f3509cd8631db1cc8633ac15180272c824369e1d3c8a6cdca511748361cb60e022173f95ad06e7c79d59e03934854a9f9827f3593d87c34d3fc44beec58e107d454ce04b55c96effce612aef0e5d55c31e367c9fc0166f2c9d450e86d79323d4da8fb409f97adc7af2ec6772ab290f622fe1fa61\n\n# tcId = 4\nmsg = 313233343030\nresult = valid\nsig = 4a80cafbe2a6095f8e8663f6289878514d7ee7daba0c1b0a077cefb333cacdf7c116ab89b0a01cab3161c68cac92a08aae7d117c9a3416d67365621da3380a85ff34a7a3b512846048acd1ec5957af942721c241a180a5dc5d8f6f6fe54d4d9fcb3709cde37081e2233b4fffa201d2029241932da170a5bad0d927a803a7f6289fc9f7b1d41cc1a6c94cbf588d5492b363920d0c98404f5da9eb9457648e2a4e9a034b2e2328c7f8c0e794771641a981df765887b5ba19b769156b375535911e1a2da68bb6a37eaa0ef8dded4ce3eac5caff4e8dc357703f0409d00baeedf3fbcbd6895dd3938e1f03dd9f131f9c979e22e4fcbea0c58721bc72d1f4976e93fc1a7649a23745c0310181031ac34b2200dfb4e8fe9bd4cdb52a23c31416745521aa4861eaea7dec4ea2c18ae9f75fa9d36c9b61bdc4185e434f8cb091cd731607b749a3990585cbbea2b1c0e0fff4f589a547d320bc7923b8a6b594c5866095df9c914cca80cd6c0e9aa3d691e2607f9de64322031ccfed04d9c805226cb476d3246d6caa1b04c63372a77668d5edf06365827b80391a6abd66010e8e1b873bd83db4dcc99444e109efa2414c6e5319f30a718eb43a1256b2142afa2382316e37aebde32da5bfec93e89d2adc39f62aca25a2289933a7cd8234d72a9b3c6a001d27560f8c8a2d9a233bac0b519b34f4f79288ea2cb08a87242953ac24ea144143\n\n# tcId = 5\nmsg = 4d657373616765\nresult = valid\nsig = 3d90ff4e36188b451116227e189a71734571b72cc6fe53dec4eec59e67e98111e96fcd906509fade9922f2de6a13a4faa23c7efaadde6dfd0acf150541eca973c7e38a49c597d741e99ef7575b6e2c8de0974bc868a5567f0890052c4df54d12198ea09a12bdb2b6ffc14a1d874e165ed12caab58b28aee171fa7f1839e36e23ecdee2633616791179084eaf98cc23d2f6ff479df0ba46ed933beedf07cc0cad4dea0f", - "0b48f4a063488ac67519e1fb83c7b7e86e3644b0846383ecbb1b1189743036b271fbf121e2199601a3ffa8e8cab00a6b9b5527d62dc2a398e4a42c1e5a62f8aae35b629755119c54cba5e860b421845f9b4422f20d896abfa962ece5d116f7d4170db8dd0784b7625ab2a384c7d424c69901f59d03b144241f8f6556da8e3bfe07c17eae91c50ef2c53e71072c3ff16e642cf126feab904e09a2febebd282a2540389bb60b145cb332658d6a69e03a0a8419eec0f204d6e592e04df01b92f58236989b6b92eb0344255914c25dcd0a611c9fb77e435e2ef9bbe3c74efe144171ca95d1bb7de814f76be54cdd8c11db8af8d20af4451a4dd3b62387bac37cb79755afe91d0d9a2163d299ff61ee4fc4d5267eb8c5252371b0a83dea738f6383e085e992b3567ae170780f3b83e15d895ad4ea668a6304f10f0914ca3b2900fab1364c8b352dfa8d5a3993d5628f4d2264c412210798c18aa2ed6aee516c\n\n# tcId = 6\nmsg = 61\nresult = valid\nsig = 07440a61252a8906a9264ff58cebad6217ad710833105369b7a858216f1d5a5f5dedbe3eb8128b34dc0f0243faacb64034d21b656a278abb26ced174f76a22637b755b768564db6ed4e4fba0d5784a22be30d088fa965307430982f84476907d55435ca3d4abdbf689e76f2d4b78d99bcc742e0b757b897c4fdb13d15c5057e6816e32c3e294a947374c998550173cc657ce33f9fcc18b2d14e1b448acaaef683ff84b086f545a05414589b1c23210290ed5ebbc25af614129212d3853ff728ec01128d37c4268975ef870a1e4fa00c3c98b39c3110c2c11af10333e25db027448fa8f219a7dca7c8bfb490912bd5040f1f348b2fb437a8a9f407ab7e8af1c6e29594f557f2e03fe74e4fbfd2f935e68ed824a510fc39bb4be0a2e091feb265fd2d7a33d2f238e70b153700f5bd5046aad7a6fc02a5e23dc36f67278fdb904d05f2efd0cabe9e4baf4e16af0f7ba9edad706d67c67221ca0630238d6f688174d66c1b152f8f921e2c6c08a19e870eab76a77371b42458dff1c36b0ae97b811e900f6c09e792c89644448f1d0b97b53b9818d1d8f3d7a37bcb1bd3e3a5bc022039f00a0ef7de19657c4c9e06daa2ecec2de30db3b7b84107bb74e164956eb26edc9bcc57e5e1c4ed875b02f0545383602faf9525f094c72f682995d4e2d71d03e11134495f637a3b1b022153689751b63521b1a16b3c3e269a2499a4be1aff9b8\n\n# tcId = 7\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\nsig = 2686029fb11cd033724e57dc1835da4f9321eef330747c3500a4893586429ebf02cb4424ee5a0b91a70eb35cb05ef60cf6b3635d4f2ef5eb647f398fd44f67fcd2969b629a7c54f1094f9827f9f27457509730f50c9ecd2dc83bd13f1268d93f0f61c29c5c27eb821c68edcdf1b01f79d1f261dd7f2f283db197ab56cae0ea3b3c1cfaf3fbd4c1ed1f6d313f0b919e5fddcb97b23f0bf64e36bdb6f7cce8ad9cf362953e66c644f8b8b64bddff1e850298f5531f121e6821a393f9658237280c2a53c7c658319bc7d38f93f2d7723ef6728008843f89f61f7ecf5949a2cce6a9fd9dbbc501ef25a53ca02486b61a5de0130149d9d246925f26e1a9a74287439592a4554a872ceca53e54d1c1f4c4e18a4977939a6c37eeaab5c8d0cb5686b44d84c86d736ee8e0d97421f4c8935e926419dd68fd4e5fe9999eef75d0d0f9494cbb0297fa066b3aaca55cc229a36659be310c1e328d0b52f7747c62b1102a2d0a4acbadf0acf621a45e5695ce1393b3eb05a69ca5318e6f6b7ae5c4ed3f6072f8ae99db9af66da6a98d675a35acfe0a7612e9d5f29690870d81114279010bf7bb3d458f630f10f81a785f671e6735d7bdddf4da375d2e6d48ceecaee741a33ec1e8f9e0ce0755bec28315c6f9df363c800ee147bd412c5ea7aeb89e7a354fcd3a2c8474aed04f9a2a5fd2983380f3c00a4558c46ca472a4c15887c07d4bc8a698\n\n# tcId = 8\n# first byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 9d1925a05f0e28592ed69d6951ff5417b240bc327ded41b460de2fc3a0101bb89d6badc5bd50e2d1432a57b7bd620646e923405253e93c7f2550c0740ab9657752863739fcf89d492ab1cd8ab2088f4ccd8848c4eaf95cd5e7240872472f35cb702341c6965c0fb7b113bc45d991cf9616b7e200f2cfe79201babba3455a60cd628678725c49958282a2c751e0861f20d49a4294d59c3cd33c6ab0b6d02121f6f2c9322b6f9505694de40f9a98f628edddf18b9dcad1cf586ef22e7000cf09582f80f0c377955e110c93dbf9d7938c59a0b7fa283c2f3b186c21e070da5bb800ec622036906306229f8f965133df82521f454d900a01bbee1aefce262b1d8d9219ca809c699e523c5c7204ce45c91fab1cbfcbc1930c661b8a3da04e29d63794a65b1a656a7870c7974bb785fe49dde68118feff1dc6374032e9225325c3e3d312850d0ebba0a5aecea061b5d61c8f13f9f82e6cecf6667278da4ac38ec4424bcc0fa6181ba1d63966e473157c76c7d007f2a0f01eb4efb54cfbcdd1254a871775339354695618d791ffa8d57fedffbbe568a5b848b7fe037f8002d96c478a21313ccf42e5819478aed99f6ba834520ac2460a5aed186a96dd9c90754f9d21bdfcd2635bbd11e956341d0284b51e352c79a7adf1748f2deb2921dfe6ce8d36aafa35cdcfe5917113d0c29cf29478f9000a0c78396cd891dea0056042711c0e54\n\n# tcId = 9\n# first byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 2f19362834eb20e169132d1ba73bfe32b50faaf9c413d0b2ad578e263cad266a3144835b129648471fbbbd4bedd9668d6e96d4c0d0b95504a8beefcda6b9bae162c2c1bf53ba91d9e1771f46e60c0c1d356fa166a331d51ea85bf270e7cec459908f1fc29bb6b5f216eb9f5f453d29fbd486a03355cdfffd6d131f4a027c9b179ef91257272d5a383898b864732edcde78e5cdf2a9ec9640e9500ac7bb06a7b1f1e947ebd468815a56a86a6f747e806cdbfb81d3fec3ff66af0fe5a472f559ac05b2613ada9e40587d75d98c1368776c696ded9c0b34100eaaa80f2016a2797ff0c0090e4e3b042943436336c8fe72fb5ba9c4b5264d97421582e0e859b8a46a083aa75d7b8f1137fc7d1703812f681f615804385d8f533f0f4f8c21ef3921f42be0f2ee863480d72dd8a4d78256cd4f44ffd62526abd67d2b4393328d41e45f569235f091bed9e2c72b559dff4af790401c18b4af71613ab53f1d362f3ff2e6b0d4c181ca051f88087ecfcecfe8a4844f7f99f624aa43a070bf023d28eac88368e7e8f7c2357ce63728820422a48ec0970566ac96ea714422d5f67a28f5b67ea9008dc95bef728c51c8b5d83d59f92c4169dfaf232b4926c9b59c5385fab598bc6df7ef58b88a60462f2692a8abb9f8699169094b1971c9dd6e90517582721f6e49f5af1e94d9bb0efd5a0313968322d86a2e2aa2e91ddc9d4fde0a6b612740\n\n# tcId = 10\n# last byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 88a4b39c219e6d7a7155a5e38eb2bf76715c540c817f5f7c3ac827fa34ac202c7d904aef8d59bf449154fdec535b45e1d0a5e9d31d4ea75ce4e6a07e2b7b5ad61181a2172f220e4a0679857eb2152a3e2aee3c5c0fbe8e518f6ae410cab5ce861c66ccc7f72494b9b0f0a06cb8122f16776ba7098139884006a08a6f752948b677f1bec1e867afab783f03507c5a4a528ba2a2e0a118630bd93ebaaa96ce378bac92a9f02eaf0838636685cdb7be2da6bc6438cc84b907b4c927eb1df22a3242e4886bd74ef7133e37708d3d2528ebe39e9c051a217c6c7deb2e6a87b905abf4ad4326d6a830ccbf2c3044befbb9100a364ab897a684b472104a1f1484e39c2f9ff3f5b8ead0fb813e3d54673713f1909af085359c881bdc7b82ca9f2f3c1ddf3b17f796496d29b62e1bdc7eeff0c65b78b4ae81fe7b397d02fd0e74463b3cb68064aac87dd0aeb36248c50974b066b7864924f36084e7bcf462f08fdfb387c803afffeebc9f0c317c9882713a50800e1250776720d1dba53e5c1dd3e8b176c6abd051bcdc9851e7107417f06c5cd9e8853f75718dc6386a7f4747ffaa87994462fbd9ceac6b5da79f9dc5c5363116a308b4c20e673acc5a4aad3fe7f427ee1c08ade6eeb048cbaa0120eaa3a74ee39e5f9e39dac10d5019f1d115dfbe051090037503a63229c216a6cd4b6b4723340debcd812c13edd4e77e66380bac99dfb0\n\n# tcId = 11\n# last byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 39a5d241a8c6648f4f3ffc5224dc31585e22a58d343cf227b405466ff8f8d5bf553affe12198e6f8515b05d4f6bda0fd645874676d7bff6dd67345f4a1aeb21adb43abab63c3cd53f186b62a1d44d2cd9425cdf163bd2f90cd190329718c18e7faccd7c0f5f8547d74bb9df9890cc8c5a84c6f8fde84f4c8e3409703196a7d7466afa6c0edc728f1e513fabb7df97172545ae8c865ce95dfa81ff35870e71b1067762836a8dcaf186c9fc7e0a633f98f7d32ae10b2a6d962f720d6784e64c04e08f8dfd688746daa69bc70f652d1d6f806b0df297f655162809fbed4cf0e07d5ceb66fc5b2fb89abc4c2abafe325eb4617a2d244783f70002056961b26f0c2dc5a7df3e883bfe36310ac3ec92b71687d6b6bb3d11378f0ff85d98c6584bf2d2c317bf287e95537d0314519bc6b01798c26b3d942d08194dc34a884d62160919db67df95fb9bd4d917d4cee73f88914572db84ddb3804984c2da20eaac9bed684a0bbc224dd623e527255fd27ebcf6435292997fec51b55b73dd83decd002c348b2025776f2031672a15fc62ff857938e0cfe4da61f5f9e0442d4452a1f7c2687c632bfcb143a544120017e26854ff6a3e8d597ba4fca595984fe1d38a9199327d12fcdd38663dcc7d1fc7ac6d7845022de5336f9e570a6700f0c5eba0ee68c4e75295f69b76de1455406cc6b285ef5b86729230ef8781fbe63e0bd9c82a1064d\n\n# tcId = 12\n# all bits in m_hash flipped\nmsg = 313233343030\nresult = invalid\nsig = 3ba629ef8d7cb5798b51fef0959cc00b4ed788f6f37b70cfb16d68b864ed1a33ebccf4890c78970695825e78b3f219811e928d27af0d389e4b75624a06c7cf2174e2a9de6e87394f617b8fa0361a490dd45b9cfaff13b8b807e5ecb0c1b6464228f1fd968b9af8f7a63fad9a7fa53bcbc633331d33b4d7c2bac330354324365c0616bbf22bb9de6a5df5570150186f517ed1b75433ac186ce41ea4f330ccb6fdac5f8db5f63e37fd3340631f7e4c0365b75a0b2a9d790bdc6a0ebf828c84a426fa9a7154cfea1bb9450a8261e0cdfacafc10ce08b64f941c3bc23732a4c3c43c6126736d84033365bb57b3587ed98c031a85325a15ec6642a99cdb186156993ccae8e36640419c15287e7b7c0518376589b93106c434d67b5a5c1fd34fbc569a4e4edfe06b621fe3bb86efb0fb15475db5477f6f9a85d385dd49f0cf3c5d4f853d0574991d1a508d5767df9219f8f15e4760f049c84938d4dca1445df3d15f9f42191e34bdeb15742050812b30a509d4a2444dce219f05d0faf11342bae72dc3f", - "5ab1fd2f25b507d7d7e30a9d4c619ff587ea03d471c8d0306ce89ff3a8c1b2d650eee83308a9236dec87e0af54c74f402f9cb84379aa6c9586db66aefc94fbde391330fc108569a0b9d0b63c974f333c34e881494e02047b19102772a61f89f19622e0b8d92dba4acb19d395d6170dd5d22220b5e678d2c9c9cc7c843a195be\n\n# tcId = 13\n# s_len changed to 0\nmsg = 313233343030\nresult = invalid\nsig = 9e591980e9ec3d62e2edc3163ac8206fc09fe026a2f7e622dc5a6d02976d30ecf141295335008d91a223ee98a143541494ccf7cb06a1aa61de524fb5bb4b379a67ed2ced447c7b395c57a625f835dec6844c3b67a85aaae10e273d3902f5f30539711f98d73f86beccd798b98541a84a03ccb3379e8eff88c19c88aac7b7ea99758194ffa6660153d4f22c1252dd1b7b574e19b3492f28cc097d3ee3f30f6b88576bc6299512f9f8749e0b297295bc275ca59f8056decfca9f3980e6f8d6e07b73e1a8ae8b3847556cd67ab77b96618979ed37744be2d6bc9f2b671615f1d4c4c1b419f05036148182ad4c6375f9e3c7cb37bb75d16c4486e97c0ac5685995cd8e5d76452934b26105be9074b2f8daeb1add13c9b127dca2858e5c80e686791a6f98cd98e540bdf27d21b2dc9fc84e09561df968d73c190b3081293d666be7d991761f4722450ac249a6eb4bcdf190c214630c85243a6c5970184e257c00c5a2a18bcd20195fd041887f001e06d4a6049e210cce62356f99853f3da2522d3d63739fbb2ff315e68ab4a05ba1e29e5b93808df51aeaced52539d7b956db2f229999ac09a6d4c2ef8714ef9d4783f538559f29af9d850bf71b001f231270874fb8dc60f1d1554f60fa69cd657112530e22563fcde26c3c86137e476a2fc1d8ba4a15dda42d4d8a20fbbad7586f472b716d6ea2ee30f1c111bdbb3db8e5e2d933a8\n\n# tcId = 14\n# s_len changed to 20\nmsg = 313233343030\nresult = invalid\nsig = 23e198d582d048874ce4e6e69f5a81234ca08be1fc9cf0f7be05454997fad87da8f05c2faf7285a7a9ca7aa50f772b8175479b7bec85919162b8a7eb7cd4c1b8f0aaa64a8f371e23ec2c3428d7d83411f24bbd4b80762a75fa0e5de468a71dbe9bac382b4072241e3c7085ed2b9e72ec3779c1f70bbd0f246834f3e81ebffee13312d133e1ddaeb58b84d1ac1b441f311ee1e2c9693e300862cdf5b4a5d820dfde870da22746be0b12dfb943780c0ba928c657c54bea0d84db37fe50f0965ceab905f2ec3ff177421b11c30e846ad93212485e7f6e52d7d51af1c96f31fef174ab38cfb1b1fb5961cfadac518a6a4991ff2d561a7d8dadc5ad430c94b40c04a297012f81e6e84ca02879fd82b73744c4372ec02f141ae6c4ce75595559f3f4cc9e4b7a7a6d93636487e34938082b3fd5f09366a062484d1820586a720a9618ec18d980c969a28d74c81fe4fe7bb61986769a89716c965a7f056aff60e9175527778210eae23e53e244b973b2452f40ab375222621a89e1f5f2abfe5039708f2a659553582f760f0d264f854840d069e8c4db0246738af1697b05980c1f53a1ba4eef8e08583781c13a93d03eb19db75e71bdd0602b91908a885b41f0b8d9588d6e05796c8a6f8d220922ef9bcdb026af9bb328ac7d96d4078205ba1abf00eea45b9c260e3b55da036864bf5bc0cc2d3944fdbcc7e64539a45238bb2061210514\n\n# tcId = 15\n# salt is all 0\nmsg = 313233343030\nresult = valid\nsig = 0147dc7e2712616f76c84caaa47f17f267954a0924bcd846fb3389202c059062f30b786dafab71fd7464caaec5a968f75b20fda1a4c074c89b2732baee615c6e88d1e2e2fad16bda01db395df1103e0d1796da2fdf9d9c8c1c776578e8acde7d97808deb83d0c4e5115de538b3f5a48ead7ac6b5076b12baf7db4aa68a091174020e5e4adf275702020e6eeb9d8c4500170dc5e2171ac370763f7b1000f805d924bbd80cec120446e9be5669181a8e4eb033ceac5278e7b80ddf97d1a58737f072957a221fc27cdd18aa0514b0811e967d5f0eca4f2553dea4760299c4db6347c9070759809247c48d035cfa06caeba20db6122cc70f81647e93f5fe63c4861f637c3623354f9c2f8bd2f9906b0860d0c81c05a0033d966323c8319c5633f537b9180166a2f15502b5e06dee09616f2589606e7229a0e6fc770261abd737c02cfeb833379d0d5b850a39d4587566dab90ca7a8331654532b589ab7aa20376f355aecc03c2b06149f2f9b4290d0ed304eea6947d235341455ccc04e91e3c56db5d1b74928c3451b5a9d3ab246ffaf7773b0d86f35400ad2ae02ec761ae675ba70d1a8dfceef2a8a70caa3e4aee8c98578bb8ef5a8e2570646d1e62ec2fcbef115ceed2c16cf944b4f175ab0899dca124683f3bf00dd0dee74c25dc4cc82e80d10e9a941845d9e174dbc9844941738eb22076a9f6253cf604d62346c14663bdbaf\n\n# tcId = 16\n# salt is all 1\nmsg = 313233343030\nresult = valid\nsig = 315a9a4ed7b0ea4db96b233c62a0e7bdd725da924ba2ab8e2f20ccadb2b5256bca0308cddcf739d1e6b33a859f03c550d65c78958f0eeabff625bce6c8ffe38b60afff13cf33866c35ebbfa85b70a3c592f74e47fd97b07f3a7c4f14e26e7be666ff64cfbd873cc06dff82da222dc135ff47f875ccd695ca8c64572a97b76ee7c772d9d07e4476fd4e945ab0146ace3f0c2fb98c34a066f053d93480d1c7725f858e459b0cba699093e8c315bbd6d1347b608b51906d44d49f106ed866e230785afb2a2002b82305bcdb9927ca266ae641a570d0b58f344b5e077501d6ec2fd69b3ebc80d7dce55590f4504fa809178d92b45aa69ec1b28fb69197991ef33dc9f4cd661fd6ae74eb99dfdd1ef122f12d04f7c7e624659fbcb2b987fd5fd25a104d735acf50f3ad070333e9cd4e659aaeb5dd28c86ef0680d0a6b526523e3e5a04cde0fa997c2a4a4744cd87170971ae3d903e0c085b6e62f8b715df76c7779a729c5d92382419804eb32b23fe4fcbaafc58ffe9475710e789a09cd9c3b8737032222d92d0a4cdbe53902d167d49f41e60c94ba8ba119499a5bcdd3eab544cc6226389c732d782c69c97b56c4b701a6bc032079150ae1af8a7ce5e0ac540781e84723e076911f4cc238e95689ac12d05676cc6da9219c491e2efa2af317407b5846fa852261181ccad659911c19931fae0f7e70e44d2b056a2f63d2f6983c9502\n\n# tcId = 17\n# byte 0 in zero padding modified\nmsg = 313233343030\nresult = invalid\nsig = 07c9a0c4ec1ec530aff99c7add866e0d065ad0d4b8c04b1937fbd821a204d11f47f61d934105028abd2f4630c5460d68ce33a02a95866f6b58bf6b3cd06a82e543620cef0e4261083c672f2289f3779bd085368d75a0ca002427b0997e1b13f0ae4e2a32d475c0ab3c7088219708c1b774577db73ddae7dd22d32741cc3815029596c0f654c45d6795d47b4c1007d25e026536124c121b5c1ad7ba59b8cc5ac7c288ebee89df9a7385676f4c928da96b2216505c164f527b0c85e4465809a2bb834d47e1f8221d62f4bcf86e92fe10b11dec6b0d8aa34cbe1a8fc43619f99971c85dc3eb4aa091a76055c41151964b5d65f593efa0dd6a82f076b60a71e11d88b40c5c5643e9fde6c05341d2e32bddba6050af72e8583f8ccc2605e7596f7206ef7b9b59829d911a9b5199d4438f642d2367d28b5d4be12cfc5280402d86712b6eed2ce2ebf37f62bcdeebf989256a1e19dde38f32e3980b8fac73ad9153ccc0f140c96413bf7899d8fda510d8315e7139e8f749f8ecea99afb63af081534cc9847d81e520b926b8f0bf1de4976c5f6de8b7cbbde644158bbd3807bb9fce36339a06d930c137230f52fbe546066bf6064ecdc76568d36ae706252dd4a9bddd3b2567ccdeb3bab11bbab3560507b5557a9c66aabf9e2cf3e42e3691ef77a3b29889a1b7e7287b908f1c281cbe2212a3d980bc3d312819fab824504167ac01c418\n\n# tcId = 18\n# byte 7 in zero padding modified\nmsg = 313233343030\nresult = invalid\nsig = 22e1bb23c2bef81ad373284aebaa714bd1a9aef8bc6730b66e73ff0f6649a17b2a57b3b14ee4dd0362f659b69c1528907ca7ac8a9e5017152073b06491b255a7d5b8f6909c18583d8d118ee32d3c31d7845c30c419b518575b47b6c632f2102c4fbc73c2ae5920d97587ddcb63eb922cdb68c00ad477e028049cac752e4101c364e11c61926bbbe731a7a09cd30c376ced8084bd1e9e7532793300f5d063faacd167f014e66f424a50e2329091a63861539327b664b019124fc3f3131c567426036b55ccd7a5e37c3cea52ed02ab9dfef0d4c08735d04aa32f11938c18c7ec8c126e90793f6f5462366c869c7178701e3ac87e68d7b8aab57e5750b798c89bd528edc2474627aa5f087682b9b652bd6d61455a2b7181e0c2eff78b89fbac1a63691a3c94c873d8ff6969c754d62e1d135e1a69276f978169ffb5495c6c26f77c9a9e9229d436abeb0f635ceb786e5ac52cb5b57bf6f0778b62021c5ebe358099a995197712ce187cfcf60da15c04382d2828b6422e1959445be219e9aad957e050bc5214e8b18e916eb5d1d6f7a7bcf64291f51922c5c41d053d50ae98ff3c3942fbd55168bb2c439835f79d1fcacb3b8f1e40bcb2d3eb1db774b07822a4e6ffd021a49fd9eeed2060a79c3674c7ba5f7ef6c909325bf53739da9b58c775edd9ef54d625f00b99bcbc5b2ff2934769a497597862c818428eada5058e5e988f41\n\n# tcId = 19\n# all bytes in zero padding modified\nmsg = 313233343030\nresult = invalid\nsig = 960e2cc16879708c9ae7329f118b3d9c8c7512f54411c7912c18e1b52fc9b644e72ab9f467c78069e2fd0156241b82b6677e34b782b7fb0094c67adb4827e050b0b3fcd1a050a6fc4e7045b3766dbc9a3f59116226ce2a2e4135e21697bf4560a32b385eb438e78b9adea06a5bd2fe268a1cfe763be160d0c5628fa009c870deb70787d514a78da0b505897afbf0905c3d9c2d849f8bdedbac1ad26f6fc34f74fada027f49972b33d03e9d82b04834a6500599d12d524473b4e8a8d1bc8e4402cc1e5224f62911cb0cc922513aeedae57de13c037b527e36771d555c27ad4c92359dad0f4617b22fe672f01f8967ee1d602f22fd40b6328ecd7698fa1bd8fd5358b5f430ff37904d607ddb45ceec4e66f8a4a12fe24221db24624457589b81159869c26088d426fad0a853cdbac650f4d1fafa913f98069a669e2f0c79ec84ee727dcbcaf233c7908955b98d6b5aeefbe8158b8e8e9ba60afdec7556f4278a78a84c6af3ff4c4bdc7ee06bea762db57e996e81d05ae3ec62e8d99a419c1ede6934ad1b6829d580643e16392d53d268ebb1f225c8011fabd908ce7e0c7b865f1e75290935b27a236a51f32ab43c827e249321cab4b202e02c09a747fd06468dd97906dababc0ce4e05863110945233e2138f5f8a3e4b994ac57424d9a3c1c7075836103ede5b63e2645be30c640c66cfc4ed4b26e76efd8e02f4de24699161c01\n\n# tcId = 20\n# first byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 492af926baf970e1cafe0062596f226f8b8c38bc1903a3754f83745cb321b86671411b9a96ff88ef68119ca39c8fe4599b703f6776151ef78", - "44a9afa23ca63afa99b64721c1904329eed182a3b61f6e267b6d80f7af5b8a9a40e32e5ba6c029133c73e24c07e64a9343ea8f9b7f6658ace44645ae2a0c18ead4969f73f6b3acafe5b64d285d8fd38269c14c266c1a67f9ab1fb83793352a29ec39d847f02e1903595c88d8c64965507516309b77185a31971dd47ac47f9d7cd04ca1a33e5f61a0302c1dca998723310e0bf8af8bbb42128d3c2d0c4f90139a78bdf3ed4250c2092cf927ca137ecfce6994a6b6c12f840e69ab6855383ef93c33b93b984f5455eca3060b22712c6e82e05eb204bfb77932d7f1f7f0e9954268d801523b1649839cd6b4e04c5c9ed37b56d843aa4f9d546bebe4f2b56093987c715e784c15e6be25e8af454755e4fda56b2b8bc006946dd55469bdd9e5d5843094f78a9d74b192be98dc072da23ffab3e8fe603f7e467792948b158e84c98e8b600c97f0310241310955ce99c65f4910107f4ac96f354fb6005eab9c9f1bceaff68167bb6f39004d37df3b5de71ca13d0bbe1a2420843ece44bd3f5fca845563834eacff00fe6a16972ba647323d637fe8da1e2cd3eb1db2158efd395ec65ed315aa229a7733dd70b741c6e2857334af80f392460c1a5563086f0190e15238cf41e74b76eeee525\n\n# tcId = 21\n# first byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 94987f1aa4dc1f0a782ff78af1da6495309e247f184b683ecb3ac5f2319ac6cb324f6e081c69ae33d2e8bec90862739187336d1133856d6ff47fd00296e96d9be845a4d606b9974edca34e36cdd19fb0e61ffd526521228f38c2874e99ca8e03f59269337b761c822df212425b38fc853d998a0d411d05a675f7d6aabf64c8068177ba8fb8b36e18df86e7f6e91368f364d7eb91c4b5878a1e4b610d089bb4fe2c4308a3a0610cc3070656b5d2b2fd636fb2ccf7731fc7c850b4cd196ca68992c5b6f2fd87d94d3c7e212fb914362657011ea8aa90baca2fbdc62e51245b88fd59a4f708da72c19202fde546a5f994fda930b9625324846e05bedf4a68d97209dec7e6c4cce36aaaa738876bab824c6a6b7d3bc80befd646fb6e08234cc60d038c510776962ffe26d4edb8ec8e047331ad7c3c9d2d0c8844169ae715a04cc53cb75c2bad8e6163ac43ce4be7c57411eed9b2c986b729af33285a8e487e26ca3254570202bb3bf4f19133ed4ce076c06af6867489c983cd579a705af7ab6818f7667ee0abcf222db7e2e956e26bb6865e7ecb2b25894ee4d27ce782c98a3dcb896ab27aa5d939f5dfc72441d45d384387bc2a162d6240eeb6d0d58eb039f439992d782c7743dfcd3a2427c24197656931b772cdfa9479e72b542b56ee393e3fd63d3552c798e49c67a6777e62fa2bf7bc41440b560f9bae3dde2f3df1da81b9a8\n\n# tcId = 22\n# last byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 445e1dc7a54c43c7aa5de88c92e5ad7dd0895513c042c3a76f4cb12231e35ed524ac846373c7ba5075518577c07063f0634734c8d5fe0ca3a870d1eaac6c8762796d310c5cc9f95aaefd1ee1f1d9adfa511ae4b3ff022eb7224f2d0b4a70915c8ae5fa3510fcfcf05290c9bf5218c39985df21a35f2f971f57f52e493a17817b2a683f82448db330c179fec67640607b4e4d8baae3a86c33a33b8f9f3fd558ac20f841a4d0b58f07c52fc25b98d5713b90bba6db7ba1aab130c7fd988ed81e56280ac4cc48ac165779a5d51ee976a28df0b29b9d5ae9a8fe790b779b9cf7cf4c8060f07e3fdafd120814788bc83952394f6a71ce3b280f065cf219aace434c345541486f05c4744b31fe747b85fe46484171ad66d81ff228dda873c49677c5785a2eeb4534d90113b2d4442af909577420de6a732905636972a334f3670109aac0d26aec70351312930258e688b8b191d2dbb9969494d1004f6747ccf63e8534abbffb0aa643dc50ae60eae61c701c89034ab3125929011420f1d95eff52189908c2ab1e9de77ce15444f5f1cdf9b6a70b5d4adac1a371ad2398f2781a0a5bb6d1c8bec564960050796ebe0ed50faa1d353e6ec959aec8fdae8b3ddd428c93c86d431af7ff53afa539a87e0c07db906692784feaff4a3c20c0f71486b25ef22a16fbe4b3cdd9de5c6c72cd02d1f041787f5052efa621bd89cef96bf48b0023f8\n\n# tcId = 23\n# last byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 7dc31d29d09e8a858c07924152b0f90f1b575fa9d77ee816acf6aa6c1bf3156bc25e0bae5ed6d9721604115c467f0bea762ddcfa0fbb45a1a9c97c58ce54963aeb35e63a9a26898ae3b08c56f24cc9d9fe2b3f80092cb18581867e4941eb1d1d5899c896327806bcc45ce51a6d5c117917f8ac50445140d48cfc1bd4d37e129607b3949f93463a72ff3dd085559913b73d734c406cb4d8ec5befec27cd8b43a5cacc5afdcddf48b0c3f99a761a74a249e23884aa5092bf201089abfc2b4e705a992a106254b94afa6946f6e43ac533209ccec7bcb2097f242ed4fe8448b6729aac6209b88ada4885e3131782401ccea29b45f35729c5eb810b35239d65696b761785ffd712118c2d1d2d858f7b1cb13fa9f0575b6156f330d8de9dc9431b1a48472e62cfddff6e3dc992a0d2cc4c25671f7e72b3b31d9c4a79187d0336933a6750d8a6d6d4e63332f6158d645b6b94b32f5e3eb23446e62fad0aec1a12b6e1e3e3a735beb31629305dca8ab9ef72b462ad5a04b13a3aa0737273b21fd94ac322dd2b01321f860dc0bb4daec423e3b824f76ba0955e1bf3c2b17bf4275bb91f3204c476a4dbeea928181f5038bb6e78d8b2d5bd1179726bb622694b162fd36e337eff3d41cc4d231869b3f4a49afbf1318732e5644bc32f9ee0f3990cad875d7c09b3b2661a902bca01169943728f0a3a3dfaf5f4aab9a8c9459bd19a6427a8fa\n\n# tcId = 24\n# all bytes of h replaced by 0\nmsg = 313233343030\nresult = invalid\nsig = c30b3f70a397dd8657bfc7dd49bfa7606a0c91fedc39f8b2b2bdf07dcbf8e236edba3df876d58ad90734e045ec3bb10eb6f4f0d04a6ea2b6a29c446d4be3dd5b9c7caf51cd8a591d5238ae252fc0eeeab8543572a7ed61ea77f5d619f696740b1315f2ec6a4ae9efb5a44e4028f6ec977a7439f1847b6a5341aa44b3a495b411fd9883b0f3c782bd4f416ddecc89c6ccb4faae810b961045d7dbd1d605a17ef5378928b1f4d2fdcde8bffdf6dd56bbc2bc9fe26d3f95794a6dc94f2b06521541f8d9e63c81eac921b90f171ac2a178924c45d9005c62b1134d3af85b11b961457c29878fb2442c1b48f71968a83d8630b14c32e9cb5a35c27e8ad6f075d42429721dd3ca7ef4b6daba6e1927aef2e3b8cea49c34020cf9769268e83cf098562fb7f70b158828d94fe4aa84ca5deebc7ffc8c8c8a4af42c556f50e3752740ec955b7020c3b9a6b406fd18689b62719340c68a7b63924af27044aef6879b725c97b4be9bfa794eb3572bbb48cfbc8bf6695f50f5a18b0f35968a0849bfff7b230595338e3c1f69bdb08dd5c05e8d15cc0aa1311fd726185b659cdafb4ba9b904532fa38c77cec9719de9b98f73524b4e9aa282a855f6932f547bec21c691cc2cba9e96da35b6d808b7f5fed29747fb1570fbe0c02674b1722a38434e47d7e4aa48267775e9a3e076b7575bc55b6dfcbf721a2a3e7a7905b0b486468150295e1269\n\n# tcId = 25\n# all bits of h replaced by 1s\nmsg = 313233343030\nresult = invalid\nsig = 8d91bcb5e22a56e39266ad5dd457fadb75626a69454d8606f52d11dbf016ab2d1a1758f0fc3bc95e9e6df808dd0a26f62ba25bcc90c756857adf66e9ab3d8e6af77c86921f63c7da72614ecb521e382126ea8a226c1eb33384d134561e835024eaaa54cdf7f5f4d751871fb2c61e4386120e688650be35c871dad4b7d055c12ef534aab68bb562afbaed8c47ac823792db900a5546c957571504cc4165648f586457623334c3b357b688cf82242373c5a7e48bbf92426e4d33c035a6de4e1d806577c54ad6874d04c5f48994875f41f7cc3f266cc896ae2ef5e875ff08da0b411a66be3e7a3cfc740b9855de42b3913101be2e18284997afb36832d62c8a4b6898b36150bdd24124adc8bd47ae722c2c2d479e13982c9c225616100305019a3d609887222e01c815108988507fbba1cf288703d47b36fe1e54c9f15838e765d95d46155061a10b055b47352670df7b0fcd7b7f89c5d98b5f2ba99f4ca11bbe1194998136c942905db13290e265a594fddb5f4ec3f7734f384bcbaffb70bd78c21faa0e439aa0b3d3ab70893a447337061243de88e13cafd02b53143330900bc009c3d173476081d7948829407502480c905254f8fa36a87eaa8f1265f5c49e6a57c9ea50f1888e64781f4ee821dcff7650636d6bf41772382ca9672f10c599cf90293e39bc80ff4910cd2712cc3ce4c7833cad1a671e9ada9898e9845997f59a\n\n# tcId = 26\n# all bits in hash h flipped\nmsg = 313233343030\nresult = invalid\nsig = a71ca7bb56501b24e9152f7c08e2002d2b0b59c0a00e20e5ae030820caef502e0069eff23bc65449e13603241b3e06ca71dc0fa46cd7b4fe128486267872315ce4230ef9c4dbb9131d83caaa5eb80c98dd1f4458e71d2d6cc450f43d4049cbbb97bdd97e7d7ec22a2146907469efae344e94eee8b56b44fe5f86e81074c0efee8296875c95c6a780ad7a301428df907901b03cf58a69b3f7404b4af276ec5bcbcdb345b587bbb7b84f9b7c6304b59e9dda1fb313e2810e7e514c80a702f2dceb6553ac0942ecc2a9c508333df5b2fb36cf50ca7df780bba3b1668730e5fe829758d5f22743bb6b110fbad6aeda879084d9f3a519db5e2e4af0dd6edbd779856bd0556b9cdc93e3d0849e76cccc7cfccaa42d925c04ab6c75b58bbd513189b3b61238eb7b412454966a46920d78c20d7a13841190ebcb2d778c5c59ddaedb6c7fdf2dbf0ef244ff96a73ebb4028c1a3d89f57e1a05983aab15f49543cacb7424bd3f48f117db2ad0f27a1f07a65d4cbc43edeca39b88ff35d910bfd87f295f0234bbb1f8efd5b0b3aacb251b7bbb628bdf43cf8276d26e0b0e21bea693c778aeb1c9a2a9b9f7c82c6b0600685a70f881b4354176971e872507d916806a410fe43d9612cc258afd639a59c89ff7f62d5e795b1a3c8817e0859d497806433c2b8e00a20ea05a68af90967a11074ab0866f253f79de4dddb4e721ead959f1f74e385\n\n# tcId = 27\n# first byte of ps modified\nmsg = 313233343030\nresult = invalid\nsig = a658b821e9f496bfc4d0773bca57118363c0cf6e520d4d1c0e5e4cd92f41f3e68bf29fc2605b98adcc37ddf1460d53a3ccc714c8dd29c5c5f30f234dfd0c2ff4cb88f998adc6801d87f2d3bbcdcde263058d38612d2c476d899297ff5b04448e4b36be9869fdf301f2aba98004eb6456ce5a277ee6408908cccc9fd10948903d6724a32211341bb4f17ef82b58d58d2519304eef3d7df172a317657285fdc3ea170951e5e0d672d50cde0f9502d6ee2d28684deecddfdcb65a3c6bfd4a213ffff97f291d707b2fd214ff207d538b40c4b07dafe059e96690578a86daa08878addd8e4cb422d7cc1ade303d3f3f43b3faf54d6a9316fa862a209d5f324763cd4c9aa4e1766ce52b688e7f", - "32e3680bda51fa1f93404fb77f1e1ff14ffcbc6111f085501dc7d53c7b106d651b562f6357ebe217dc3d6040b57b2df4d811c9f82f2665c18b17497827a1789d9c8b26178ece684c9954a1d5880a0da8b338f111ded5a34f3d4854e39c8a49ba28a89b057a69911110854f247fc1f6b77fae7c454e2f6990e194bd43241724331669d41e6a2b5a9de2d29efbcccd9ae9fd912de728a3a8bf86b79f991b024648c6309feb0641134bb60724ccc59b02b3d629b2ff0b54964d4932bc8953a2da75f8b2fc74c046db96b03738d57d99f061301fa9d2549f9bbe990c8cd7e0b6a0a94e00f30cac6400120abbad679c761c7ba07f54098223\n\n# tcId = 28\n# last byte of ps modified\nmsg = 313233343030\nresult = invalid\nsig = aaeb65102cbed1c602e4544cf08a44fd282abc4cf6981d8d43cf33004bddf16cfc5488a200ef3935bc42dc6b46a60975a9f1d2e2e41824e1199ccf371b79c91b8fddd43084d1d1a8e8915d5efbf1fa1cdb4759aaad092efbf21f8bef084da1d654f801f8f80051c8d2d8b79fa9ea1578bb54f1d9397597fb164a0316d0d3c7be4be714d0fd1bfaad27325ecef7573b77609c6430c8b1cd648ae574c58b232078da0b5521f376f13b34635a573bfc298cb010f663db67756a9d109b0cf42caf35345ca8cf1ccd15b98a66574c8c6d119ec26d08eecd92fa61c609c302c902a2cf9d78f644e9db3d99d5ebfb4561fb72c33e47bc1f5385362bba51972c1fd9c94c839a6c4a3c6169a711afeb4d020ac6029445a5275a72ffbc3dde7e1f93f5f4eb00492ace4f45feb7b15a882f26e36146a2f55e18a51e8ab329403d19cf8466bae7baf449b84b842e3d2e355ad81fead994b711a3565c9f416c8523c0b26300a53e2add01f4bdaad160bca5bacce95d7b69f1086fca551bb2616818d267a2f3351d17e6f64a896d53265314548c8ceb5f29829e7e2314c5ffacf3caabbb4067441f2cce5693c4c996d887326267cee4e7545535feb7e7cc8e3f36f202ae3210999d2b5df472e0cd5e811336c19db898b6217cbb3f102169fdab8629174cbf04a53690ee4d395f064c03acd7bfd054381198031885b99f51117108f8c04f2eef57\n\n# tcId = 29\n# all bytes of ps changed to 0xff\nmsg = 313233343030\nresult = invalid\nsig = 184964ce5d2c22bd587ef648cc499b007badea08387a646ab544ba57562444667d8d0dc09baf2ea98fd096eaff5dfefdf16e0fe09c88fd895804ed977fce48cf9cc963434dd29d0c612f7dc0cdab2b992ea298393dd3dccf5498100d149bb3b29f7be67397513d532bc30dd964f661726672f6064b657e42f49f6d5e9b9170a8bfd8c2b89a6a0cd1a1691b38efb719f955b478f468092425077d490ea067d72a975df78cbd91708394bf6c703e92995bc79a071023960e0c29de8dc115890b3b250c69242fcfb76bea21b1a72acfde90adb34ca92068a2fa2dbc5431f48b5864a20a6227d521f9ae0be92c4be7cbde99157c3d5d767993176997baba3c2a3254230b8947178640f87372184df010227c3a04e85a4a4c012fb3ddcf335f18a131a864b84dabd75fadea39236e81b15241b8bb220383c6c134de6bf5824240c7b884bf41b1819aa04df77c02fa920bef52c7083eaad216bf628b0f0f08e5b995a9a4b49d9b28b1c3636c9c1ef9cbd7f537d4e3026e869941edd77759bf254945bb095884fee365b34eb9f7fac3c496df866dfed6b07a35721c8248000147677e0960ba2ad077d5022382d9f8415368d79b4ccc28882bd8dfae86bfc73274448cbd0a96ee70650a48931cc16354ad69d3b68d821abc548e3d3c0a7e8808c88d7ac0dc792ba2236e092b994b9d5a7501f347716c3e1e17cbbf8bb9a3ab15c39b2428\n\n# tcId = 30\n# all bytes of ps changed to 0x80\nmsg = 313233343030\nresult = invalid\nsig = 36f38c26e0a23f6cd5c816bd3d3e57688c4f58126b4dc24d5ec659e76c1f97a7369317ddea841a3d90a00b69ddbc6fcca2768c85250cb64c5e10452c2569126c9cf5fbb66c6a98849eddd51c6fe6f87737554f1ebc99cfd161f727bdf9da0738af5dc076c27baef7b4b2af498137475c5100bbea7cd6ad83de7c6916a9cdd3609199de4e2f65d655adfd603b4ddc507d7364fd67940c293d84ac969bbd64e63a57f62a87f5fb3c100b0b3286a1c9d2dcd263c3009534ae05272815c6d9ff82d0fa59fdd91f6a06fdacbeb6806ab71556b4bcb72fce2bc74aa0e12f0a831e103fb248bf1dda7b6eae1d9f2197dcbda37c343bd679d66433d14eff97905d2220c2672d01f69c07600428d47284b1b1d0305ebbb78bd29180d5f54344877e741401fe9cbfb671b62a254811d21f7595f841c2be876104abbf10c2a06949500f7cd883268a1b46207de28ac102b58ec99e0fbc57c99449015ff2dabd9479b3ac796946d602d4cddd9569e38e406b3b3d47027ace498dbd47bfcff785976d4ce4fb0d74b3f780fbe8c6d8a6baa50ebf53111869128ec354ed4dc0719f3cca55f610c5f82b97a1fa443ba73066236610bb6bca882d46dcd613b0f29d4272773456fb35fcdb056ca053a838abf65ceba0ac0d0742bd633351c3909a9289de1f0539fa19c1823aac286e88bc8041edcdbd4b62612b1f1610a0d519e161b2a305cd33eec1\n\n# tcId = 31\n# ps followed by 0\nmsg = 313233343030\nresult = invalid\nsig = c8ef89f800577cdcfa788084cbd57f070d634ed7ea5aa8c1286b22e9ab33f44519d6776de6b3eeb6d7663194b3097f428e8c52462549b64d3adc26beddf3283fe9af81c46f54fa5513b8df69ca951cfaf2eede4df6eefd39b68d2e5d40867a517567dcb0a4b954c99a194ac448d38cb792782bf07072baee13928a708521d35d97babb3c59095d3026e8371a8067e62bace0a6b42405a4f0e1b242a7ceb8b193d9e0584e4e231def3c1c727a999ab03ad6cc7a33d6cb147c7eab81e73948f58d550750f4d5de507f9a95c5f1a99cdb38215f4b2f22aba9a313b33edfe66473c20d3b3a109ae1ac618418fb655da69c78c56d0d8ee95ae8d569d49ba395473af9e76402a9f4b071b14ede2c28fe5666c7d6302b0914334c420274a77629d835149cd1ad045dce4aec198810ce4167df8123a2b124c7f5fb6d5bd653ca55eb88a8ca2d51f9c42df365cfd8287fcc1dce58f6051e33fb0f1219f02518cbd01d86b51132b32ac0c1a6ef7ae0edcaaeb4fb190817c3c7b6b865bd85995499aaa7d87652fc1b44d9dd49a545a5de0f5f58a4798cf022e97fc8ab28319ed713c3a11d42bab6e2af1280139e03b27926812e5c67e5526c2b9e0ca318fbd48fe951717b7a5e901b782a81253d859820383a1cdf1fb20841fad390e53841b236df9cc7bb665207689e51b7d3948cf924f92d05d2af4c04a8173f46407b1f4d1b1706d27ec5\n\n# tcId = 32\n# ps followed by 0xff\nmsg = 313233343030\nresult = invalid\nsig = 83706cf470ac7e2ff571ae2f2fd618b5eca1a794be64eab576aa63e0195ddf9e6e5c44381e3a811387ec948eb2e9006d991a66dc80471f1b4875e014187e0eb1a7a497f06402f390f44b8a5beb2521ec90da193169eb86e44bef92d2bc11150cbfefe31fd9f7c6fe09f6cabde4797bcb861fc6686a0dfb38a51b80631fb25d7bd84c30d2779cb5cc6223b2e0ee8a7343db8c03015a3885b6f66057d9e9281826eb026824f0cc9059c1b21a1b7cc48b80a41713a3d07f85584cfa0cca6f65018713cdaf3ba6acf5102e0c22b2b839c8875f12db8d22c73a153923033e61a4e7c4031006194f3dbe8661428c810f5d1e93e815dce86200a3fe45525c308c5659e0d022dc0640df0591ccc5e704c8ba261fcc53d2c53eddb47f139dfc8f19b5fbbd4b498ca7b22b5ff6016b4c8f6b98e4fd4ec3bd3b4d90592a72d57968a21e912f597440ec068c7c27e7f57347d16644d78e7733634f4ef71635a1c2ad55a2448b85f1eab0feb92bfd3139b66726c77b78d5778fab114eab3d72d3c924112dfb0eb5d19958b1a60cb8f7379d53a6719b3d3a4c9ee2c2acd76cc1e5f3adde590c3e157229b9051b6d62ae4469ca3e55c184060862488160ad35c12d86e8d379c4524cead0d7b0268c5088e31717536f99cfaa7459fecc0247233d6fc890dc2f98b21f4e6008b8f89fcb119cc94a6eb96f87f057305549d18d05af0964f5285088f8\n\n# tcId = 33\n# shifted salt\nmsg = 313233343030\nresult = invalid\nsig = 99d2525d1b4ca3ea27d97237c9edd75d44e8cff850e8f3fc8643c95609db33aab1e39bbc94b00e21cba5e9b1d19b5554ff4df42d7bf1a0dd979c9699e9183bfed23c958ea7799aec3585de698d08147acc84366cff33dc45a94feb6f42de9f75927fc74ad3992aecdc100ca6c04a83753930175a85c49821420919bcc392d50e4e290d5a466e92fce5a189b9c87cb10b764c9e476427bc2719f34c1266c446c2bceb10907f730734c0706ca9de348aa5cf7f67cf00a73aad4ab2a1a8b7ccf4af5e326a0aa6df096410855271069991728f367f3569a00b9f7a97151e0c1a5898aad3ae2c9cc20e06f01013b5e4221c65d8fece68e4bd72e57a5762733d3481a721f53041e843ba06e3dbe0407c99d1897bc3b20301e469091c2fa1ec464caa650953e78007dc60750a7a72f61b2c370af195906c831b9f648e633a5c129fd70608cb132f25d51261b62bd3a56ce9c9565422653300355c7d6550b05c7c579b6378a46f57fb2fe57f2a56943640166945530cfe2410bd6cad823c73dc0ab4ad3c3ceae4e2e15225134e47f375641346d36d94e87ef6e5fd31dc88455bf70107fe8bdf9a4009c2d7782f0668739afd9d090b44f599fc1d4da05483cfdd17a9ac55b959d3af20e55a421c7a5d7e6d4200202267219b62db2f92e59bd260383b944e89a1c1beb6d5d28a9d48f235f3bbc4f172a7497c3ca8cbd5bb3418edeef02896\n\n# tcId = 34\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 121fc93905d9fb187962eb95f6f6c5871720195c624f11a552b6ff644d1eb11bdca770228afa766033cfce705effa5b081d125212bb93956b0d42cc67898be4b617405874f86847c793a4a8019eb1a1193d518f59fe85a7f1a491e68ef7b1c0845cd10419db3fc9a5cccb045e31137ed0fb2180239057f207329b1b60f04bd1111b8a9f7f5179ebf98d991fb1eef76753011eafe090583a32be5010898f24b7154eb10d8dc3fda6828782268a0495e3c0c1ffe8eae51d1106c316dac5a0f07a9748f8be0c639ff12f00af0f0fbf4f651f26298822e08d65b34db6d15fea7ee280f1262ef47338716f3ddd64ec7d7109e97f54a299f07e3e71e229c4bc0f587bfc6c9d3a9e67c16aa79359cbda18f70b21bff5d6f112cfb3a188786c26f54435063c86ff1f867ff8e9e74fc9ff849c657edd17153e71d78c175fbed9d69865faedcd5b1a5392beb932dfca613c54edc8e2be963eb0e7ff47e1bf972a403fb2e257be4bb2d1dfffc84179be8061f37477829155168b25d907c3bbebe2e7492d3950730e227d1faaf7cdbe0fec3f2f19e9f98842bb29cfa60b87d3dd02e51b43468715ec388583656eb50b93ce501daaab974eb191840044a204ab039c09c092ae02dc54330fb65048e7ae8aa8117593ababf695b9fd2704f31d12071d76f8c2bcd2aa14bde65a7ac1c785843c2391462eba", - "e10812a6bb735bfb1f2ac3d74ea5da9\n\n# tcId = 35\n# first byte of masked_db changed to 0\nmsg = 313233343030\nresult = invalid\nsig = 290567b67c0a8c1c756f6f0c4b5157e1ab1c921af2d02d0ced12472404694c6a56549bb0cd3227c7f04e769c75b46569640f2504e2892ea270ad8bb102a001f7af1d1011d92e01c9bcbf284236151fda13a6072bf4da11f9263773967fdf3122a401e11511a04b633251516e8aed8de669a20223e0dd39a6b841bff40ba6af6934e9c9ca3fa2a3d277801e3483879640e16fbc5b8a5240e54d50b07c081f84d63b9ff9b24d703327a997f1a74098ae3e5a5a0c380d68b4a3437c7d5f33da1187e7b6ed5d9eadd1e1c2d60d6df0a0910e9f93e17f01bb2e643f451f36178a13193d057c0c8648a55002df72d1166771e1d9ae36dda2c6058bd9d2ab0a350be60b15a021a016f06dd6e6b9fc8834db10190b89bb880aa38e5dfb03bd122ea9b68ac13057c9f1aec75e90cef05602dbf4bc70d94ce7231265b3e846a2e2d00b53e8d6c04470125d07e782cf559c41d82f1e10113131d48f4ae091204ee81388af98722b17114a396764ea8a3852c1ad727de9742220cb3d111e0fe4de9a27c636e57f8343fc287d74cfa9e811762b4f9ff3715aea0a258baf4cedb89a22e1593eac18f34e83f9a34ed139158b6ad8d4b292a7e4d933b58bd6cd9277d93f67bda8f67be72fe32d1805fb33ac89ae2aa2864aa402ecbca8430bcd6d42b17fda76d13ee659a23a629bf4d0e49d5ff5e327ffd55584b254c90140269b226fe561516fbe\n\n# tcId = 36\n# last byte in em modified\nmsg = 313233343030\nresult = invalid\nsig = c7a3f33ebacd1b82e186709375be80d2eb75086bebffab34dce599b3e97f59903f04443b1062a6884a4360d92dd8646e1455e95b33dad16854f744c4acf3e9e36f85f830d3a8b75e583a828e253c2d62df5c5ad4374110d6dd85426d86894f35833f37a7433f234ef966f830249dbdbabde11602976c1afeb321dbc46e6c481290108e97cc7cec2f9d62a9a1d0f00a26afbc74d45f6f137880909fb5167da8b842894dd4c933eb1f7db3402179bf130595679e260f38c4a33e0b3e9f73191756f4463b6cd159ccb0b41c75f9f405244de0aa6592563b6f0d3e519582acb1edcca9cf89b91589911e9be178cc29d429721ae373a49addc23d72057c6709eb0eee81a60de406444ce5f00783884caaceb1e07a91de1fc6e2b88a0c9e28d6eeb6c965d4e7964b24b09130b1a2536e117ba1ad3e4eab1bfb84918382739d3a0ad75f271ac343b37224c8b1b86ad1a62250072f68212e0bf1c9a3715e1449d44ae471db4696310d9fc7a4148bdbc29d264ce4c4696f758d4df5543f71ca182b0f4ca36ce1c2df8b574ae3a08e59d0c014fdb44c24d7bbd9d59b39ea7fc269c2d2b2163188d6339209726471fe297548b27cd3b6e3c58ac7bdbe3a792d858268275c12029c28148c2e0563c52061ae83749819e61dddebbe5dbf07e9e2e07503799cbac3c879d8508cefc172bb997d1a3b109d737fbc1c52975704b6f1edb2ba044fab\n\n# tcId = 37\n# last byte in em modified\nmsg = 313233343030\nresult = invalid\nsig = 29d54fda4344d689e54fd3a4625660b994352159a0c045d2b7345e0a6fe4bac788d54d0cd63a13f2374b6f064ccbb379fcbc771126a6d6cf51ad1aa80584046f6b33e9f0eba434d08531f091e314fe8e4075f184b156a267abc3909ba90d5c3e96ea7b3f191e38c631251176334319479a275439a633b61d7197aa45f07837fde18f5e2c639863c1a7689e6f56fa0131ab50c8021ef24ae6d936fb3da4b7c4993de4de3d0da0da8a19f1787f3c2ffecb11e505a60e2716090f2081831ac778a11a4b26db77f7659ed66f00f0c57e478dfe34663496eec5434d8872d16a65f5efe12107ce39225773488dbb8847bfc144672615f8ba18daaf9b4ff0bb36d731e1306e1bc7644ed3aa5820642f7a15fc253ec9fad79ce7d811fbb1959cbe124ebcfbb9d30127f0761585a49c772e9181d47ef4488e6288d17d49e759d39adff61debaaac8bf8e1c5149e9160a40078eb8f8ce47bcc0aa5517db7bcdfa4e8e2fc9825e18824839a2c30fd1cdcef0779b0f7a5da9af8cd315deaa40187a5c4b5a6fa009e1d9e288552be9f6cce448fcca2f011557ea101d41267c5df8331f585315cf6e83f3081ce149ea4813dfd11b217f3924324f34975b275bad2c8b8cfc670e2a8345e28fe3c1f955d88f83422ffe6ce28d5273adc1b30f26b7c558ae7688cba8ab24971baa979de2480f31812b990e14d8859bcce323437c8290bb9b89aeb8c\n\n# tcId = 38\n# last byte in em modified\nmsg = 313233343030\nresult = invalid\nsig = 5905112430194b195a3698730332de7ee44cad62157ffb95f99aaa4ca39d972712ff27302a960d5dd5fcbfc3eb48d196697fd57aa83123d62030d27dcb7f481914aa20dcee0bde8dd070e4b5939c359f3b01e40a42b6c4c4f02ad64fb15da070e68f63cda98db297cd535b2ebd0404d02df3036ddc8add1f545a6b09c1dc1d9519854f258a478ae034d3416997ce939bc72206fdcf5d18bb46be8a3dd5f55dad95e1067dedfd7ebb4c05fd57bce7148bf374cad3af3af327878d27782659695459987838dfafc00d898743bba43db494894246366fae5d377c2e5d150c2cb061678147f3d2bd24641cb078f074f503f2bee7231283709dee766609b76fabc0d3d14c5db3543c12cc481972d9d01950c60d4de5f7c01e7b4b81763467f1b6a1bed4f06311defc24453053ade5a50c3dea0117456eb6adef4bbe8afd49d2c1f5152f80f7f76e72b2e2269d3080c1545cd8c7afb7981b60d63ad0c6b1f4deb6cfaa4e0db62684470ed4013581e497c3441c4e9b481d148c89b1872b7d8631b37520bdd900ffc13348c647a71cf52933e46184c5278e6752d9c2e97aadf29d57820eb99de2b050698932b5dfd50a581b3f80a2d39df9290cad87baab094e17c9ec340255ab855b15ce69aeda9080195be03d00a827b6f5f863c16558a407a49862c535bd24a911c4dbbaf2996b680b42ee562dd2f519123fefccbac1d2a343f254e8\n\n# tcId = 39\n# signature is 0\nmsg = 313233343030\nresult = invalid\nsig = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 40\n# signature is 1\nmsg = 313233343030\nresult = invalid\nsig = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\n\n# tcId = 41\n# signature is n-1\nmsg = 313233343030\nresult = invalid\nsig = c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d2\n\n# tcId = 42\n# signature is n\nmsg = 313233343030\nresult = invalid\nsig = c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80", - "632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d3\n\n# tcId = 43\n# prepending 0's to signature\nmsg = 313233343030\nresult = invalid\nsig = 00004a80cafbe2a6095f8e8663f6289878514d7ee7daba0c1b0a077cefb333cacdf7c116ab89b0a01cab3161c68cac92a08aae7d117c9a3416d67365621da3380a85ff34a7a3b512846048acd1ec5957af942721c241a180a5dc5d8f6f6fe54d4d9fcb3709cde37081e2233b4fffa201d2029241932da170a5bad0d927a803a7f6289fc9f7b1d41cc1a6c94cbf588d5492b363920d0c98404f5da9eb9457648e2a4e9a034b2e2328c7f8c0e794771641a981df765887b5ba19b769156b375535911e1a2da68bb6a37eaa0ef8dded4ce3eac5caff4e8dc357703f0409d00baeedf3fbcbd6895dd3938e1f03dd9f131f9c979e22e4fcbea0c58721bc72d1f4976e93fc1a7649a23745c0310181031ac34b2200dfb4e8fe9bd4cdb52a23c31416745521aa4861eaea7dec4ea2c18ae9f75fa9d36c9b61bdc4185e434f8cb091cd731607b749a3990585cbbea2b1c0e0fff4f589a547d320bc7923b8a6b594c5866095df9c914cca80cd6c0e9aa3d691e2607f9de64322031ccfed04d9c805226cb476d3246d6caa1b04c63372a77668d5edf06365827b80391a6abd66010e8e1b873bd83db4dcc99444e109efa2414c6e5319f30a718eb43a1256b2142afa2382316e37aebde32da5bfec93e89d2adc39f62aca25a2289933a7cd8234d72a9b3c6a001d27560f8c8a2d9a233bac0b519b34f4f79288ea2cb08a87242953ac24ea144143\n\n# tcId = 44\n# appending 0's to signature\nmsg = 313233343030\nresult = invalid\nsig = 4a80cafbe2a6095f8e8663f6289878514d7ee7daba0c1b0a077cefb333cacdf7c116ab89b0a01cab3161c68cac92a08aae7d117c9a3416d67365621da3380a85ff34a7a3b512846048acd1ec5957af942721c241a180a5dc5d8f6f6fe54d4d9fcb3709cde37081e2233b4fffa201d2029241932da170a5bad0d927a803a7f6289fc9f7b1d41cc1a6c94cbf588d5492b363920d0c98404f5da9eb9457648e2a4e9a034b2e2328c7f8c0e794771641a981df765887b5ba19b769156b375535911e1a2da68bb6a37eaa0ef8dded4ce3eac5caff4e8dc357703f0409d00baeedf3fbcbd6895dd3938e1f03dd9f131f9c979e22e4fcbea0c58721bc72d1f4976e93fc1a7649a23745c0310181031ac34b2200dfb4e8fe9bd4cdb52a23c31416745521aa4861eaea7dec4ea2c18ae9f75fa9d36c9b61bdc4185e434f8cb091cd731607b749a3990585cbbea2b1c0e0fff4f589a547d320bc7923b8a6b594c5866095df9c914cca80cd6c0e9aa3d691e2607f9de64322031ccfed04d9c805226cb476d3246d6caa1b04c63372a77668d5edf06365827b80391a6abd66010e8e1b873bd83db4dcc99444e109efa2414c6e5319f30a718eb43a1256b2142afa2382316e37aebde32da5bfec93e89d2adc39f62aca25a2289933a7cd8234d72a9b3c6a001d27560f8c8a2d9a233bac0b519b34f4f79288ea2cb08a87242953ac24ea1441430000\n\n# tcId = 45\n# truncated signature\nmsg = 313233343030\nresult = invalid\nsig = 4a80cafbe2a6095f8e8663f6289878514d7ee7daba0c1b0a077cefb333cacdf7c116ab89b0a01cab3161c68cac92a08aae7d117c9a3416d67365621da3380a85ff34a7a3b512846048acd1ec5957af942721c241a180a5dc5d8f6f6fe54d4d9fcb3709cde37081e2233b4fffa201d2029241932da170a5bad0d927a803a7f6289fc9f7b1d41cc1a6c94cbf588d5492b363920d0c98404f5da9eb9457648e2a4e9a034b2e2328c7f8c0e794771641a981df765887b5ba19b769156b375535911e1a2da68bb6a37eaa0ef8dded4ce3eac5caff4e8dc357703f0409d00baeedf3fbcbd6895dd3938e1f03dd9f131f9c979e22e4fcbea0c58721bc72d1f4976e93fc1a7649a23745c0310181031ac34b2200dfb4e8fe9bd4cdb52a23c31416745521aa4861eaea7dec4ea2c18ae9f75fa9d36c9b61bdc4185e434f8cb091cd731607b749a3990585cbbea2b1c0e0fff4f589a547d320bc7923b8a6b594c5866095df9c914cca80cd6c0e9aa3d691e2607f9de64322031ccfed04d9c805226cb476d3246d6caa1b04c63372a77668d5edf06365827b80391a6abd66010e8e1b873bd83db4dcc99444e109efa2414c6e5319f30a718eb43a1256b2142afa2382316e37aebde32da5bfec93e89d2adc39f62aca25a2289933a7cd8234d72a9b3c6a001d27560f8c8a2d9a233bac0b519b34f4f79288ea2cb08a87242953ac24ea14\n\n# tcId = 46\n# empty signature\nmsg = 313233343030\nresult = invalid\nsig = \n\n", +static const char *kData115[] = { + "# Imported from Wycheproof's hmac_sha384_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: HMACSHA384\n# Generator version: 0.8rc21\n\n[keySize = 384]\n[tagSize = 384]\n\n# tcId = 1\n# empty message\nkey = ee8df067857df2300fa71a10c30997178bb3796127b5ece5f2ccc170932be0e78ea9b0a5936c09157e671ce7ec9fc510\nmsg = \nresult = valid\ntag = a655184daf3346ffc6629d493c8442644e4996a2799e42e3306fa6f5b0967b6cf3a6f819bab89bce297d1d1a5907b2d0\n\n# tcId = 2\n# short message\nkey = 976696c0dc97182ca771975c3928ff9168ef89cd740cd2292858fd916068a702bc1df7c6cd8ee1f0d25e61d4c514cc5d\nmsg = 2b\nresult = valid\ntag = 363e8973fedcf7892013dfae0b7065d61d80b98c635bc09ed860a01473b9bcd0dc550dbf66cf0d601fe9cbf3ae59620d\n\n# tcId = 3\n# short message\nkey = c55ea4c64a0a63e2d14ad42559ba7c816b8824d263c2cc6a015761b53f681e514369f0dfba5cde165320ee10a96eb1fc\nmsg = 5abd\nresult = valid\ntag = ccc2925f164a7d9662f1e76bcaf6345492bb091d4d2d775af2178a4bcc1ca21dcf8b3bf8f056823770782f25a419bb3e\n\n# tcId = 4\n# short message\nkey = 2928d465d92fa40072ca9d67761be66e491755e43499003c1057d3bec870f255126c3658d0d8a0c7d207df8710037ca7\nmsg = c405ae\nresult = valid\ntag = d9e19c672a466e4c83a849905728c4be1db99bdd260946d9ff52939779002dcc460c576f02b40dda0717182be96b5411\n\n# tcId = 5\n# short message\nkey = 686a3730085cc944fceb141628419818e662fe21e52bea2748f3b704f80ce801086db1e3068917b242e62b4d6e6ed685\nmsg = 6601c683\nresult = valid\ntag = 10dc39103983b3a6be376a8eda7b6f363cb91efe11b027a62440ae136bd66f98b0a1d8b8f2399099492021076afa14a0\n\n# tcId = 6\n# short message\nkey = f22d867b972b232e3f444a488dd794d170807c70eb650f952b6177596f76c558a5d860d6f7be0be9e666f9bd53732f8d\nmsg = 15b29377e0\nresult = valid\ntag = e02e4e20b5f1e5f06913bc9745c9069c09ec1369f1a296ad1d07c04cc4f9cb4741248d7ba097cd3ba0e75d2409d6a01b\n\n# tcId = 7\n# short message\nkey = 3ac9abd53dbd0fbb891f9b5e16dd45df994e5283527832707138fc2712bad9e34761e7d9c6d05d46f2c8323ddb0efe99\nmsg = 5a34155b1115\nresult = valid\ntag = 78c53dd1a2431174628f5f4867fa777afa6df1b36269bba114d016d1065fcb021170baad09b4a528f40573903a65f540\n\n# tcId = 8\n# short message\nkey = ae3aa94fdd35e2bef40472d29bdad3a409840ea441c3d7025cd72f3e81ff56da602161d84b23d1634061385be30c5bbd\nmsg = 8a140d781e7191\nresult = valid\ntag = fd22ba896cb1147bb86f8ad51c253b792657c0becc913e90104da0f139f9b08c9169706f1531a2c6c03d6bd72a77eff2\n\n# tcId = 9\n# short message\nkey = 44b79852cabcf3fe93d2fff55d2afe6a46c35b7ad1954ce0888de7b459b982722faf8b490e6b00e7bcabbd36f18443f5\nmsg = 9398cd251deafe8b\nresult = valid\ntag = 56128fb438a93f6f48f47c0f4c7549f8008a8e69bbdbf0886ec40f86e7870034ef9090d2b04057391f1def5b25e8f0ad\n\n# tcId = 10\n# short message\nkey = 03fed2f579a3ebdececfb184ebe2984876113399c4a593d98b5f5e606dd330fb394c285d9ead601748259b493335f8e5\nmsg = 18d879b1f63df3ac7a\nresult = valid\ntag = a0e3b5660eeb5fc4a5dd48e725b09a0e282b22bbe2693d8b893ddf0f2116450e0875925407e909fde0f1f728f608fba9\n\n# tcId = 11\n# short message\nkey = f4ef48bf4056d39dbba4154018c63bdf29420b9991ea594ff05e3cc1cb02e176d54ba038a6b78692519d6788e495bbab\nmsg = 0a5de13cd9ba31c94486\nresult = valid\ntag = e9a1219e86983d69e336068b280309f974ab61f25968fc6352324ba49c36ce42c578676a3a31ef11e960d6771386650e\n\n# tcId = 12\n# short message\nkey = fc771f7ccd499a1ed633d86876d707b5f1d53c6bcdf21aa2907766ab3ca7fa6cdd6a9b981b1a84a528e81444303f1057\nmsg = 03ba11f3f3173b85226b25\nresult = valid\ntag = cfb4971d5449db364e2c8d0d429a0767050d480a5397f0dcc74294f52ea96260a57fe6cad14409ad67da6fbebf2da0d8\n\n# tcId = 13\n# short message\nkey = b3999de680b11550e18631c8199f7eb8a74e21bdc9d97f781245c2af19f85497d9f38b250a564e48650fd00be365f155\nmsg = 9c658cb5e601d85dc3857863\nresult = valid\ntag = d547e4cbd56e82b47d2ec93eeb6b34924ebda461fb60e475bf328d2368618f55fbf7b0e2eb1ff542c4eb7eefbfc8bd2b\n\n# tcId = 14\n# short message\nkey = 88005a62864ea699e1509616ec48033e84d2e2a13b8bc2e8a76f2eccbdb207a95ac8e2f5b5a703b22a0b571e8acc599a\nmsg = 5a94f84541a794bf23d72db16d\nresult = valid\ntag = d6b73ee67e88a20fceb5520be92594daf1b3786c7187535ccb1f0b926dae11adde6e8697ba803b159019849df3c9d2c7\n\n# tcId = 15\n# short message\nkey = b1cbda2c9a12f92315a5101aef311e99d6db002b0e04fb53c50106aa4d28e9a346697ba97084572eea56ccfc4ad7e572\nmsg = ce12c0c78e3f6b276ac56ed7435e\nresult = valid\ntag = 5c0802cd0ed82380e4c2a61d146ed72762613de89eb4ab9fe71da9ad3d79e1d2321cae186292f7c52ab639d3ba6aa85a\n\n# tcId = 16\n# short message\nkey = 08517e8014e00db5c37f2a20f987ea2ec52e7938de018ad6be256ba2236804144ad2a1bcc242738862b40647007e0a2c\nmsg = 21e2a0a167789a6b722d1737d92f8b\nresult = valid\ntag = 2264d3c9b835aedf699d5fbfc05d46f085591441df75aa2b2873f6c8a11a0856a2b79ae11ea0a91609dbd564a0bed456\n\n# tcId = 17\nkey = 503d7478a773b694d6e552c9703cc8bc56fd49fafc9a17cab8b0332dca8d49336fa7e9ec2bcb56253fe5bb504e3e7f7f\nmsg = d96e6fed893addfd9237c81c4f4e341b\nresult = valid\ntag = 19389766789912260f3f9757df3651663829c358bb48b22c1c63132070df318905beffd45f51e4dfcb3e785f44cf9106\n\n# tcId = 18\nkey = 41341bab902e767d4d1964c0acfecf46eff1b02b6455bcb2097de9c154be1f667f21be076de18cd2c15c005896fca87f\nmsg = 4c43ac7de3631cc86f4da72fe6b6a552f1\nresult = valid\ntag = 3c3104f24b7070cc3277d9ae640d416298fc917a0c1cdc3c2e7b6da75706fd2ae234efd551af12ae29144704793e2f6a\n\n# tcId = 19\nkey = c2f83be1acce7b89a5f9e9ea7e4c4f8b0f4319986fbe479fa3b4a3c298168362393b56ea03b5cef77f48e5a72abe6d08\nmsg = 8dd0cd786cd800ffebec098728923d69249d3223c4c595cb\nresult = valid\ntag = 751c6c7d00fef5e4edc993915fba694943a7ee3a2c8e5b700d0ee536bf85fb117a9cd6c456485cd670f7a0b490c83e61\n\n# tcId = 20\nkey = 6bd2aee9dd98d6b6609fce82181b10c20bba861da68a1590586fab08c5e9e90ff584047db4760828643fea38087160e4\nmsg = 33236a9de603c1e4f5e11164224740627d10f6008eb73ec2642321bf0b82d579\nresult = valid\ntag = e4cd8b8868bb078ed5d6938e40d9ff4bf61a4994be40a5f2b5446463e5db90516bccdd19f16c92e3f839b9d6de68b2a9\n\n# tcId = 21\n# long message\nkey = 2f98ba2ceaadc5ba08880a35cb0080dc870a5734a782ebe31c4bab100ff8786dcc3be6de18482ea5d1b3bf14aeabb470\nmsg = 2d74a66dacf12edb85ef3073feafd122889cb634add00ff0395d224b4ff8b5d5d67ca6419b6826abffdb41bab427d5\nresult = valid\ntag = a8ea72100859f4b7b6f2fe596248f1729bcdf0606c900ab52e51eab548d26e1eb634a42e5fc7ccc18356c0d283597ee2\n\n# tcId = 22\n# long message\nkey = 5e5f60e40d84c7ca2608af3bcc6e04abc5f8b7ca730a78af7f6f032e5a1501695bd91f3bebb28590af1db90d8390ca58\nmsg = 2efe6a14ea8d679e62dbcedf35e61852278c83c54adbe1f1c72cb1a746b11cff8cb4fc3a2c3acd44255d51c020ca6d47\nresult = valid\ntag = 6e8c95a4097ea13d064ed10809a33b569a6a84205158bd692ff82bc4b70b47a60ed332f2f5bca5211a1cc89c06f9c595\n\n# tcId = 23\n# long message\nkey = bc310bc3913d9fe59e2012a058c9e150534d25611e36206cf07ccaefe153f38eb0eaad9941b6883dfbce01bcb5196041\nmsg = 9f0747d7396bfbe01cf3e85361e50085e0a91a7490b994031d81851b725065993f45dad0d60d794aedec7ba5d9d6dbbee4\nresult = valid\ntag = 3a86498f78c3fb7eb3b7b3d82f677d2dfe01166fe76e232083334d74f11588fd089637c94761e9cfe836436005deaef7\n\n# tcId = 24\n# long message\nkey = dc770c64d00d156e43cb74970e3a1a2ad28b6d9ec6b2b6e5ac3e356a99f879cb620f00340c044cc1f31bdccfa0dbd177\nmsg = 403fd8e3ef51b6539db658a894be85b58fbc84881e61c5e0cb13ae421a09d31d780603256d390edd056d190856be00ad20a7048f0c67416fe8e02884086155f4263262e8c1275504d4f91f2751d3c3dccd4409ff2b45e41de93f7b104d58f6e15bacb62ace9700615ecc1b30a0cc1b35\nresult = valid\ntag = 1c4f6474f39e6eabbe7a99faa234f49833444130acf01dae68d68251a930419960b0fb5f48360149e05d1209941cc9ec\n\n# tcId = 25\n# long message\nkey = cca9299c7bdc26a4b595055c99ca23bec8ed11b5deeda91f83e2365e7340395ceef4e86e5cd91f2593bcfec498a67fc9\nmsg = a05b40b8d3a7bc7b75b0e97309c9bd1c9d8755c1ff5245ef6308a6a5cad3ecfbcb6364b41ca6f3d24bbee844d6204d1026abe345af7bdec114a373b109aa5724b738d50ab7a826c268e873709f8b35135a870045d5fb9daa82d3c245b5338917354e72b3058c9a4b807117465217d7d14f36f8a8d4e97bc3b93587c92641e7\nresult = valid\ntag = 1b6b5ba848bc13dd46c35177ae9ff9bd2d6ca5f4c9373964d3182483d980b4654527f36d7cc51b9e2efe7ed97a82e3be\n\n# tcId = 26\n# long message\nkey = c728e65e08d9296fe3cdf2dedb49c81a30b603a62569eece4ee5d01e9a32ae3bcb4ec163e455e452582454ceefefc046\nmsg = e6c6bac87c17e269a471434ca9568401451d78c2444a9d6edcda3cdab51c5bed1c19eaf34326580fd85ae5236ad51bc5dae386b36101f54695c595eeedcdd0182a4a117f8093f4f4812e03db396ede9849d193e7722081aeec4be6c4caf6c979d36ead56634a21be21162ea232dec9cffdbd2474245878dca369e814fd028303\nresult = valid\ntag = 533920a013cf006aa29b26f74b6dd29363", + "4293089986aa249271c426b942dc6bae32b2641616672f3d75968866e182e5\n\n# tcId = 27\n# long message\nkey = 90c4215dc3f237435047fefdd8638d339a3fc66fca06c5063eacbda002ab335e621605f672f3da9f641fae110afc3e7b\nmsg = 1ebc22c3031b64615eb6f1a0696e33b7df139a4b891d3e6721cc26c05d55de790dca623668c10308485d38e95ec4769fa4430ca3ebc25da9f5d31c972674517d9a2222e6b97d8def6512af096c6d1480d83a229c84b7f28c80184b6bebf3f4eff5fc4e5c6cfea4f8eba9a957f7913b20a88ad1734f7c38547e934d1dbf2d73dbd61e31fb1583c7b6577a171e7d02f19045126ac2973d855bc18d34d32326d1e216da58366a60033450091128ae26a479069bba7b91b2ab7f3c5fbcde391de3ca114b951d6852f92795f8023d7a29a7f4ce61e9241b4f235d21e899087167ab3f3a0e9321c7942b165178788df48d3b106b203ec1e01d29bda41a99ac0d2c00\nresult = valid\ntag = c52b91daed6ee46416f2db78978251cb334e5d8e00b32ae06e365f455d28de406a9cce2f9f29378f229822dbf26bfdad\n\n# tcId = 28\n# Flipped bit 0 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 45be81c415d283ab7a62a45188e5dafbcb97da606bd5b16c92c1fc36f198c0b3a714921848d5e03df1c4849bb8310c66\n\n# tcId = 29\n# Flipped bit 0 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a84d07ff90b338e064b03603d76bcf0214b1fb88c66b9415dde76674896400f97b8408bfefa6ee86c716bfa4a460d216\n\n# tcId = 30\n# Flipped bit 1 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 46be81c415d283ab7a62a45188e5dafbcb97da606bd5b16c92c1fc36f198c0b3a714921848d5e03df1c4849bb8310c66\n\n# tcId = 31\n# Flipped bit 1 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = ab4d07ff90b338e064b03603d76bcf0214b1fb88c66b9415dde76674896400f97b8408bfefa6ee86c716bfa4a460d216\n\n# tcId = 32\n# Flipped bit 7 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = c4be81c415d283ab7a62a45188e5dafbcb97da606bd5b16c92c1fc36f198c0b3a714921848d5e03df1c4849bb8310c66\n\n# tcId = 33\n# Flipped bit 7 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 294d07ff90b338e064b03603d76bcf0214b1fb88c66b9415dde76674896400f97b8408bfefa6ee86c716bfa4a460d216\n\n# tcId = 34\n# Flipped bit 8 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 44bf81c415d283ab7a62a45188e5dafbcb97da606bd5b16c92c1fc36f198c0b3a714921848d5e03df1c4849bb8310c66\n\n# tcId = 35\n# Flipped bit 8 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a94c07ff90b338e064b03603d76bcf0214b1fb88c66b9415dde76674896400f97b8408bfefa6ee86c716bfa4a460d216\n\n# tcId = 36\n# Flipped bit 31 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 44be814415d283ab7a62a45188e5dafbcb97da606bd5b16c92c1fc36f198c0b3a714921848d5e03df1c4849bb8310c66\n\n# tcId = 37\n# Flipped bit 31 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a94d077f90b338e064b03603d76bcf0214b1fb88c66b9415dde76674896400f97b8408bfefa6ee86c716bfa4a460d216\n\n# tcId = 38\n# Flipped bit 32 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 44be81c414d283ab7a62a45188e5dafbcb97da606bd5b16c92c1fc36f198c0b3a714921848d5e03df1c4849bb8310c66\n\n# tcId = 39\n# Flipped bit 32 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a94d07ff91b338e064b03603d76bcf0214b1fb88c66b9415dde76674896400f97b8408bfefa6ee86c716bfa4a460d216\n\n# tcId = 40\n# Flipped bit 33 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 44be81c417d283ab7a62a45188e5dafbcb97da606bd5b16c92c1fc36f198c0b3a714921848d5e03df1c4849bb8310c66\n\n# tcId = 41\n# Flipped bit 33 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a94d07ff92b338e064b03603d76bcf0214b1fb88c66b9415dde76674896400f97b8408bfefa6ee86c716bfa4a460d216\n\n# tcId = 42\n# Flipped bit 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 44be81c415d2832b7a62a45188e5dafbcb97da606bd5b16c92c1fc36f198c0b3a714921848d5e03df1c4849bb8310c66\n\n# tcId = 43\n# Flipped bit 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a94d07ff90b3386064b03603d76bcf0214b1fb88c66b9415dde76674896400f97b8408bfefa6ee86c716bfa4a460d216\n\n# tcId = 44\n# Flipped bit 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 44be81c415d283ab7b62a45188e5dafbcb97da606bd5b16c92c1fc36f198c0b3a714921848d5e03df1c4849bb8310c66\n\n# tcId = 45\n# Flipped bit 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a94d07ff90b338e065b03603d76bcf0214b1fb88c66b9415dde76674896400f97b8408bfefa6ee86c716bfa4a460d216\n\n# tcId = 46\n# Flipped bit 71 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 44be81c415d283abfa62a45188e5dafbcb97da606bd5b16c92c1fc36f198c0b3a714921848d5e03df1c4849bb8310c66\n\n# tcId = 47\n# Flipped bit 71 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a94d07ff90b338e0e4b03603d76bcf0214b1fb88c66b9415dde76674896400f97b8408bfefa6ee86c716bfa4a460d216\n\n# tcId = 48\n# Flipped bit 77 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 44be81c415d283ab7a42a45188e5dafbcb97da606bd5b16c92c1fc36f198c0b3a714921848d5e03df1c4849bb8310c66\n\n# tcId = 49\n# Flipped bit 77 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a94d07ff90b338e064903603d76bcf0214b1fb88c66b9415dde76674896400f97b8408bfefa6ee86c716bfa4a460d216\n\n# tcId = 50\n# Flipped bit 80 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 44be81c415d283ab7a62a55188e5dafbcb97da606bd5b16c92c1fc36f198c0b3a714921848d5e03df1c4849bb8310c66\n\n# tcId = 51\n# Flipped bit 80 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a94d07ff90b338e064b03703d76bcf0214b1fb88c66b9415dde76674896400f97b8408bfefa6ee86c716bfa4a460d216\n\n# tcId = 52\n# Flipped bit 96 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 44be81c415d283ab7a62a45189e5dafbcb97da606bd5b16c92c1fc36f198c0b3a714921848d5e03df1c4849bb8310c66\n\n# tcId = 53\n# Flipped bit 96 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a94d07ff90b338e064b03603d66bcf0214b1fb88c66b9415dde76674896400f97b8408bfefa6ee86c716bfa4a460d216\n\n# tcId = 54\n", + "# Flipped bit 97 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 44be81c415d283ab7a62a4518ae5dafbcb97da606bd5b16c92c1fc36f198c0b3a714921848d5e03df1c4849bb8310c66\n\n# tcId = 55\n# Flipped bit 97 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a94d07ff90b338e064b03603d56bcf0214b1fb88c66b9415dde76674896400f97b8408bfefa6ee86c716bfa4a460d216\n\n# tcId = 56\n# Flipped bit 103 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 44be81c415d283ab7a62a45108e5dafbcb97da606bd5b16c92c1fc36f198c0b3a714921848d5e03df1c4849bb8310c66\n\n# tcId = 57\n# Flipped bit 103 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a94d07ff90b338e064b03603576bcf0214b1fb88c66b9415dde76674896400f97b8408bfefa6ee86c716bfa4a460d216\n\n# tcId = 58\n# Flipped bit 376 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 44be81c415d283ab7a62a45188e5dafbcb97da606bd5b16c92c1fc36f198c0b3a714921848d5e03df1c4849bb8310c67\n\n# tcId = 59\n# Flipped bit 376 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a94d07ff90b338e064b03603d76bcf0214b1fb88c66b9415dde76674896400f97b8408bfefa6ee86c716bfa4a460d217\n\n# tcId = 60\n# Flipped bit 377 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 44be81c415d283ab7a62a45188e5dafbcb97da606bd5b16c92c1fc36f198c0b3a714921848d5e03df1c4849bb8310c64\n\n# tcId = 61\n# Flipped bit 377 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a94d07ff90b338e064b03603d76bcf0214b1fb88c66b9415dde76674896400f97b8408bfefa6ee86c716bfa4a460d214\n\n# tcId = 62\n# Flipped bit 382 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 44be81c415d283ab7a62a45188e5dafbcb97da606bd5b16c92c1fc36f198c0b3a714921848d5e03df1c4849bb8310c26\n\n# tcId = 63\n# Flipped bit 382 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a94d07ff90b338e064b03603d76bcf0214b1fb88c66b9415dde76674896400f97b8408bfefa6ee86c716bfa4a460d256\n\n# tcId = 64\n# Flipped bit 383 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 44be81c415d283ab7a62a45188e5dafbcb97da606bd5b16c92c1fc36f198c0b3a714921848d5e03df1c4849bb8310ce6\n\n# tcId = 65\n# Flipped bit 383 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a94d07ff90b338e064b03603d76bcf0214b1fb88c66b9415dde76674896400f97b8408bfefa6ee86c716bfa4a460d296\n\n# tcId = 66\n# Flipped bits 0 and 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 45be81c415d283ab7b62a45188e5dafbcb97da606bd5b16c92c1fc36f198c0b3a714921848d5e03df1c4849bb8310c66\n\n# tcId = 67\n# Flipped bits 0 and 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a84d07ff90b338e065b03603d76bcf0214b1fb88c66b9415dde76674896400f97b8408bfefa6ee86c716bfa4a460d216\n\n# tcId = 68\n# Flipped bits 31 and 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 44be814415d2832b7a62a45188e5dafbcb97da606bd5b16c92c1fc36f198c0b3a714921848d5e03df1c4849bb8310c66\n\n# tcId = 69\n# Flipped bits 31 and 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a94d077f90b3386064b03603d76bcf0214b1fb88c66b9415dde76674896400f97b8408bfefa6ee86c716bfa4a460d216\n\n# tcId = 70\n# Flipped bits 63 and 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 44be81c415d2832b7a62a45188e5da7bcb97da606bd5b16c92c1fc36f198c0b3a714921848d5e03df1c4849bb8310c66\n\n# tcId = 71\n# Flipped bits 63 and 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a94d07ff90b3386064b03603d76bcf8214b1fb88c66b9415dde76674896400f97b8408bfefa6ee86c716bfa4a460d216\n\n# tcId = 72\n# all bits of tag flipped\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = bb417e3bea2d7c54859d5bae771a25043468259f942a4e936d3e03c90e673f4c58eb6de7b72a1fc20e3b7b6447cef399\n\n# tcId = 73\n# all bits of tag flipped\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 56b2f8006f4cc71f9b4fc9fc289430fdeb4e047739946bea2218998b769bff06847bf7401059117938e9405b5b9f2de9\n\n# tcId = 74\n# Tag changed to all zero\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 75\n# Tag changed to all zero\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 76\n# tag changed to all 1\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n\n# tcId = 77\n# tag changed to all 1\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n\n# tcId = 78\n# msbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = c43e01449552032bfae224d108655a7b4b175ae0eb5531ec12417cb67118403327941298c85560bd7144041b38b18ce6\n\n# tcId = 79\n# msbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 29cd877f1033b860e430b68357eb4f8294317b0846eb14955d67e6f409e48079fb04883f6f266e0647963f2424e05296\n\n# tcId = 80\n# lsbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 45bf80c514d382aa7b63a55089e4dbfaca96db616ad4b06d93c0fd37f099c1b2a615931949d4e13cf0c5859ab9300d67\n\n# tcId = 81\n# lsbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a84c06fe91b239e165b13702d66ace0315b0fa89c76a9514dce66775886501f87a8509beeea7ef87c617bea5a561d317\n\n[keySize = 384]\n[tagSize = 192]\n\n# tcId = 82\n# empty message\nkey = 1c678267be13acb464939c2896c9e9ce1deb5b30833bdd9ca00370889b84410782ad52afe25dc10ab7ec5cf5f34793b7\nmsg = \nresult = valid\ntag = 6dd566be678c1e6359ab31b635cc1601", + "60a0c5a9c49a0ac5\n\n# tcId = 83\n# short message\nkey = 00b184c2c0a491d764a26f8b2e56a965222b36213bdd106ae782305c50f89269902476e5df3fa58e0ecfae82a9607c8e\nmsg = 9f\nresult = valid\ntag = 5afff4b009ca9c9e5dcd84f05607e7a7d43ee43b42498989\n\n# tcId = 84\n# short message\nkey = 055b67edb659e29c10e3e9cd25aa1cd5abf0880e2026ed8436e39b064b7315760cd7a9294ee23d4750969cc8b5dbaed7\nmsg = 4047\nresult = valid\ntag = 4d08baef969eed23b814472acff08d08fd3491a728778a1c\n\n# tcId = 85\n# short message\nkey = 9e3c198e93930f076b035c5fa8f10d9a65e98c66cfb36633e3cb33279cdf57688f10b7472d1fc9d962ce6954519bfbf6\nmsg = 88cfab\nresult = valid\ntag = 1cde3765ba5a15b1d0182136a72c603acd3b904ceac8f7ad\n\n# tcId = 86\n# short message\nkey = f5f5962bda257b38b2a2318929121b2eaef792d5c6a9585e48b80cf5357b29c3951b787ed3e03e385b05b8ffe6861dc3\nmsg = d9397753\nresult = valid\ntag = 4638e4427e6084b76c53ed9d6e916162fcb8b962c3d616f1\n\n# tcId = 87\n# short message\nkey = f62820ed5f9833fd22dee7bd49e2c9b19fc9668897c2c33e6c7c1fa5c277c3b9f581faef3ddc664ba537975d8afaa707\nmsg = 9b6cc7caa4\nresult = valid\ntag = f6e272a7a6235f60b72b4c7424cf32a07f98ea592665bad8\n\n# tcId = 88\n# short message\nkey = f222a1dabf322aff8463acee6444939331212be3e19d31f4b73fdcc97e2925365ea33c985282805c83dcd8fb42a0e214\nmsg = c85ad7872b76\nresult = valid\ntag = 933f0fa61d4466b5baf5a601f6b96d81a97e81c512d822e6\n\n# tcId = 89\n# short message\nkey = 56e80f3899e945310a9d9bef3d32091f29c157dd46b2d439ad89d63e14b2c24390f74db4d905f6bd03f75c32e91225fe\nmsg = 80ba25f1c27650\nresult = valid\ntag = a1a6e248b40864ddf83b00c52ae2c303b7e76fba0548d4d4\n\n# tcId = 90\n# short message\nkey = 6cb6261a56a21b2c3c13453c158364aafa78f58172a9ae3eeb328ac38808b5c68c111197a303ec36847c9a315ac5eb5b\nmsg = 79430de51d68cf34\nresult = valid\ntag = 33593a80da455e580ccc5ee9b60edcd1468460539788fc41\n\n# tcId = 91\n# short message\nkey = 44ca1ecb490470a84c7e13e1f1c69da21f48c33b6f050f48f7f244f0fda8b3c855904ed0612e2dafa5105cbd7f6449eb\nmsg = 870b981c8afd9fae1b\nresult = valid\ntag = 930f2e401e3aafb46a0c4029002f4ef1ab9fe838bc00c79e\n\n# tcId = 92\n# short message\nkey = aaca68882cfa7250988a247b96cfb3232d6567378f8fa7e7aaaca1c386e1ae15e54957d22bfff1e50ae7f21beea197a5\nmsg = a6f31b822ec24da1b1e9\nresult = valid\ntag = a9c2d68f0ad1ba50089b169c86d965f97f52388a48ace744\n\n# tcId = 93\n# short message\nkey = 1b32f9b6378934a502dd74d8b74a4606d5b2c9a8587fab1cfa90d75007734d2b8bdfe634815243526ebc0f33c04d0d05\nmsg = 55367c657c792610efdcc0\nresult = valid\ntag = 934083c8594591da783f0da28f4b58adb604e9cc76b99efe\n\n# tcId = 94\n# short message\nkey = 09d91b2fa22e68b5335d478235aa4e157435c9acfed772219adfa1e9dd72f33e1a2183a0203a104f80e643cdf29e5aff\nmsg = b31e254957db6b1b70a06ce2\nresult = valid\ntag = 7d45f3899455787e7116b570df8f7787f672d5821d6f75fe\n\n# tcId = 95\n# short message\nkey = d311a80ac801e3639b9185608af4a85e4122e29b5c23f05234c30d92d59ad13cb80390e5fa0ea4a54853228b356689f5\nmsg = e6b443dba0dab35d43ca5d6ce6\nresult = valid\ntag = 27297096f58f598391c57778129949b94628bf17bb2422d1\n\n# tcId = 96\n# short message\nkey = 06297e6c46558b9b0fc36c272b4ae7e65dd536cc1d13acbfa831fa5574b34f99e09adfb7f20321f203075fd26ed2e29d\nmsg = 309b95e5f1ec26f70786e74d806d\nresult = valid\ntag = aabff26fc44a40f0b87a40c175c17ea7140f8467dcdb95cd\n\n# tcId = 97\n# short message\nkey = e8b63a25cd85ad4f39e3c0e9584eacb94d6ae33f984da259aa533d4d28aeb341cf3ffe49c029e4af6a4805f760f35f2c\nmsg = d225c27795f809454bb2c51d21f3ac\nresult = valid\ntag = 0e12b758015ac89797d55470f3982c13a5ff1483276083d2\n\n# tcId = 98\nkey = d83a685ace9fa0c0aa47f0c7b4f0f00717619a82e2eeff87f51f67d814d51dd9e4cad7578a4e49b672b5af83943c2583\nmsg = abfa7f5978f751e87e8b5a15a6e89f4f\nresult = valid\ntag = e4e6ba041bbb7a47ec8482b2043455c119fbdb389a3945a0\n\n# tcId = 99\nkey = 5beaf406a6627eaafcadb6dea4e27ba4fd879fd3e5bfd87ea3c8d5e0acfbbda2c6bf006beaf5a30312e690724c4744a3\nmsg = bc57d467a9a2af64ad5e14b7bc0898dc63\nresult = valid\ntag = 3fab1a7a192359b6333a9699b75612211a38b6dccab4572d\n\n# tcId = 100\nkey = 76b36cc3b8ca975708ee4b32bdbe40ca13f9ce384c52c4b6602b7fd92164f1fd8432706c1966f648bf4830f4deb34795\nmsg = b1d022c6536f401d147dfc0d7d4e600bb753ef0e9f243bc3\nresult = valid\ntag = c91eb3f362049c5336c5074cb887edcb27aac1ef6575a92d\n\n# tcId = 101\nkey = 20569a16f453dd3c34df98155286b1ca8a392ea164c919311f0df9d39d976062f4f992b96def3851886e6295f2615064\nmsg = 5402c4e683d1a431868ad528afbf4128b0b10cef947d063b34d376d344b793b2\nresult = valid\ntag = 27728059696aed5bb00a13c1db100691d4a21ebea0a8e4c3\n\n# tcId = 102\n# long message\nkey = 9ef6a55f8a9b6b9ef1f8296167319078163706ae5b60897c2dd6e340b67ed5d577fb54c5547cd5f248f06e7082ffb826\nmsg = 6a0d16276941d8f04eac2ec723fa53b9d6b16da7e30e7f2d9ad898e7cbb71bd3dd234ee22836ff4ac6011b6f12bd3a\nresult = valid\ntag = cef5d900eef0abefc625c1d2862a3f42998ce8b1e007d2b8\n\n# tcId = 103\n# long message\nkey = fb56bbbc6d751b744d8c1b57cc27a1d2c2f4e38e3491f54448cfcfb9389b7f63fd0d41920968ef612510625f2637d28d\nmsg = cf1791517ef5a61c0db65a668bee26fdbc975d799b2623cc0f3e4560e80c7014fa9c02d568c98c86385e000fe6776bb7\nresult = valid\ntag = 88e99accc9c23c9c8c1110e7470cade0317817916d8505f5\n\n# tcId = 104\n# long message\nkey = d041e24e59b34d7a18128a42d8a7a52dcba5d79e5ed585b55c7c9e4946e5ccaf7e59df0f3da98c7d0523e4cc8f9d7da4\nmsg = 5279618f1b41534910395a78ded968aee3431085b599c4f55eb5ff8a2e879bc44291d923de31009db1b9f7f81095afb3ea\nresult = valid\ntag = 8500f603ce85c030cfa05731758b6be3317b6fe8e99b7d48\n\n# tcId = 105\n# long message\nkey = e1ce4884fd74a0e197c68ace3b29b552313af8e451e98d9ab8d0e8f8ee74143e8fcb6446217c0f3123a426b8ab6f62cb\nmsg = 71154b9a657b905f884ba5140d5e7b9243fec3e03fbbdbb360c8194963ae43177b5502cd20f559eeeff8638d028c501926ebc7eddd132ccea29ead7ad0c95a30b9d325952cafb0ea5ec9d9d6fdeb63950d5d69c8bbbea702aed1d444da286807ffd6b36cb49902cba7abf9bda1b577c6\nresult = valid\ntag = c7e9ae2a81de32280b518d055c2c9d7f0f5db6d06ad0e4ae\n\n# tcId = 106\n# long message\nkey = 8a242c22d1b54ce216ca03c88455beb128211a9f35af2343709af7c5f43a681451ea53a36de2e5048eb44a51681c6120\nmsg = ab5eee6b83869119f00dd3cc66dde75cb5700535a90e9b3e32b31434c297ef53f94659d7d9b11323161b2e66c6b9c9ad20e313303f81e88e471786c8e936011f78121e39630b2e0804fc97ce5cb3a34f26949439fe530adcea6e97c78b042e0817253bf75dd54335584122f5edd210341b6d93f58aa1b4de2aad76fecec44f\nresult = valid\ntag = 77392b18577ba8819fbd76fc73d45029e55e7ebecd58a320\n\n# tcId = 107\n# long message\nkey = 311c4bee7cf257b780135a2e4a6413e68a816f5d8462515dcb1c72494b6335581a9b60a217b9ff1c75e7768148f8df46\nmsg = 63ccc3849c4c323cb6ce926877969048b849ee4af18e71eef52fe9f274a8678560f9a5d47510c3c98c8a08ed4c01a01e0a3663ef0cc6c3cdca6276d91e99b0d414263498fb64ad74b820ab52b37adeaf27cb44545edb8f09094992837b8d3a0baa2a101a49592eb889dc8bace4c71e3efcb9d4149bd670ce2f774d73c12f2a45\nresult = valid\ntag = 94674aaefc06eead22d15317900fa26c8df8cdfb252bcaae\n\n# tcId = 108\n# long message\nkey = fb792867c8928f0503aa24477cebf42e0b018346e3619770b9e8f5097945e2e275ad06f0c12152366ac06e278c94090a\nmsg = 0a63e6d91d7a6a18dbad879fb8e23ae351920391eb40fead6cba846768a2c6797ff347b4301327b09afc41f7b803af6b61f6d9b818e0ddcc02536d0543dbf1a87f2c5e020f6459094344b72596d548435c313544e92c254d54a70a1d6f6edd2f82540a1ea2e82125b0715fa0f890bb2be4ba0065d2ba0144854682aed041c1035996648e2ed671b7253ba567ffb999d91fd8e7ffce5c6dc4790732adae443435a454fe6c2a7c6708d9d5b2eb9292d6fbe5e026d65332b38c7925eff9beb89063cab63fbecb2ac0e1bb61a5b1e511f949c43a34ee26f1156e97793da97bcf5b5c67641384f268131b297857d719eeb6cafa3dbe9b8d0da55c98656f20e5b39b\nresult = valid\ntag = 1aaaff966c0a84bac791ab9e0b9b505d393073665732a74a\n\n# tcId = 109\n# Flipped bit 0 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 45be81c415d283ab7a62a45188e5dafbcb97da606bd5b16c\n\n# tcId = 110\n# Flipped bit 0 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a84d07ff90b338e064b03603d76bcf0214b1fb88c66b9415\n\n# tcId = 111\n# Flipped bit 1 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 46be81c415d283ab7a62a45188e5dafbcb97da606bd5b16c\n\n# tcId = 112\n# Flipped bit 1 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708", + "090a0b0c0d0e0f\nresult = invalid\ntag = ab4d07ff90b338e064b03603d76bcf0214b1fb88c66b9415\n\n# tcId = 113\n# Flipped bit 7 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = c4be81c415d283ab7a62a45188e5dafbcb97da606bd5b16c\n\n# tcId = 114\n# Flipped bit 7 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 294d07ff90b338e064b03603d76bcf0214b1fb88c66b9415\n\n# tcId = 115\n# Flipped bit 8 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 44bf81c415d283ab7a62a45188e5dafbcb97da606bd5b16c\n\n# tcId = 116\n# Flipped bit 8 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a94c07ff90b338e064b03603d76bcf0214b1fb88c66b9415\n\n# tcId = 117\n# Flipped bit 31 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 44be814415d283ab7a62a45188e5dafbcb97da606bd5b16c\n\n# tcId = 118\n# Flipped bit 31 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a94d077f90b338e064b03603d76bcf0214b1fb88c66b9415\n\n# tcId = 119\n# Flipped bit 32 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 44be81c414d283ab7a62a45188e5dafbcb97da606bd5b16c\n\n# tcId = 120\n# Flipped bit 32 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a94d07ff91b338e064b03603d76bcf0214b1fb88c66b9415\n\n# tcId = 121\n# Flipped bit 33 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 44be81c417d283ab7a62a45188e5dafbcb97da606bd5b16c\n\n# tcId = 122\n# Flipped bit 33 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a94d07ff92b338e064b03603d76bcf0214b1fb88c66b9415\n\n# tcId = 123\n# Flipped bit 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 44be81c415d2832b7a62a45188e5dafbcb97da606bd5b16c\n\n# tcId = 124\n# Flipped bit 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a94d07ff90b3386064b03603d76bcf0214b1fb88c66b9415\n\n# tcId = 125\n# Flipped bit 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 44be81c415d283ab7b62a45188e5dafbcb97da606bd5b16c\n\n# tcId = 126\n# Flipped bit 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a94d07ff90b338e065b03603d76bcf0214b1fb88c66b9415\n\n# tcId = 127\n# Flipped bit 71 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 44be81c415d283abfa62a45188e5dafbcb97da606bd5b16c\n\n# tcId = 128\n# Flipped bit 71 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a94d07ff90b338e0e4b03603d76bcf0214b1fb88c66b9415\n\n# tcId = 129\n# Flipped bit 77 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 44be81c415d283ab7a42a45188e5dafbcb97da606bd5b16c\n\n# tcId = 130\n# Flipped bit 77 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a94d07ff90b338e064903603d76bcf0214b1fb88c66b9415\n\n# tcId = 131\n# Flipped bit 80 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 44be81c415d283ab7a62a55188e5dafbcb97da606bd5b16c\n\n# tcId = 132\n# Flipped bit 80 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a94d07ff90b338e064b03703d76bcf0214b1fb88c66b9415\n\n# tcId = 133\n# Flipped bit 96 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 44be81c415d283ab7a62a45189e5dafbcb97da606bd5b16c\n\n# tcId = 134\n# Flipped bit 96 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a94d07ff90b338e064b03603d66bcf0214b1fb88c66b9415\n\n# tcId = 135\n# Flipped bit 97 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 44be81c415d283ab7a62a4518ae5dafbcb97da606bd5b16c\n\n# tcId = 136\n# Flipped bit 97 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a94d07ff90b338e064b03603d56bcf0214b1fb88c66b9415\n\n# tcId = 137\n# Flipped bit 103 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 44be81c415d283ab7a62a45108e5dafbcb97da606bd5b16c\n\n# tcId = 138\n# Flipped bit 103 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a94d07ff90b338e064b03603576bcf0214b1fb88c66b9415\n\n# tcId = 139\n# Flipped bit 184 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 44be81c415d283ab7a62a45188e5dafbcb97da606bd5b16d\n\n# tcId = 140\n# Flipped bit 184 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a94d07ff90b338e064b03603d76bcf0214b1fb88c66b9414\n\n# tcId = 141\n# Flipped bit 185 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 44be81c415d283ab7a62a45188e5dafbcb97da606bd5b16e\n\n# tcId = 142\n# Flipped bit 185 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a94d07ff90b338e064b03603d76bcf0214b1fb88c66b9417\n\n# tcId = 143\n# Flipped bit 190 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 44be81c415d283ab7a62a45188e5dafbcb97da606bd5b12c\n\n# tcId = 144\n# Flipped bit 190 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a94d07ff90b338e064b03603d76bcf0214b1fb88c66b9455\n\n# tcId = 145\n# Flipped bit 191 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 44be81c415d283ab7a62a45188e5dafbcb97da606bd5b1ec\n\n# tcId = 146\n# Flipped bit 191 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a94d07ff90b338e064b03603d76bcf0214b1fb88c66b9495\n\n# tcId = 147\n# Flipped bits 0 and 64 in tag\nkey = 000102030405060708090a0b", + "0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 45be81c415d283ab7b62a45188e5dafbcb97da606bd5b16c\n\n# tcId = 148\n# Flipped bits 0 and 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a84d07ff90b338e065b03603d76bcf0214b1fb88c66b9415\n\n# tcId = 149\n# Flipped bits 31 and 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 44be814415d2832b7a62a45188e5dafbcb97da606bd5b16c\n\n# tcId = 150\n# Flipped bits 31 and 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a94d077f90b3386064b03603d76bcf0214b1fb88c66b9415\n\n# tcId = 151\n# Flipped bits 63 and 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 44be81c415d2832b7a62a45188e5da7bcb97da606bd5b16c\n\n# tcId = 152\n# Flipped bits 63 and 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a94d07ff90b3386064b03603d76bcf8214b1fb88c66b9415\n\n# tcId = 153\n# all bits of tag flipped\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = bb417e3bea2d7c54859d5bae771a25043468259f942a4e93\n\n# tcId = 154\n# all bits of tag flipped\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 56b2f8006f4cc71f9b4fc9fc289430fdeb4e047739946bea\n\n# tcId = 155\n# Tag changed to all zero\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 000000000000000000000000000000000000000000000000\n\n# tcId = 156\n# Tag changed to all zero\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 000000000000000000000000000000000000000000000000\n\n# tcId = 157\n# tag changed to all 1\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = ffffffffffffffffffffffffffffffffffffffffffffffff\n\n# tcId = 158\n# tag changed to all 1\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = ffffffffffffffffffffffffffffffffffffffffffffffff\n\n# tcId = 159\n# msbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = c43e01449552032bfae224d108655a7b4b175ae0eb5531ec\n\n# tcId = 160\n# msbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 29cd877f1033b860e430b68357eb4f8294317b0846eb1495\n\n# tcId = 161\n# lsbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = \nresult = invalid\ntag = 45bf80c514d382aa7b63a55089e4dbfaca96db616ad4b06d\n\n# tcId = 162\n# lsbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a84c06fe91b239e165b13702d66ace0315b0fa89c76a9514\n\n[keySize = 192]\n[tagSize = 384]\n\n# tcId = 163\n# short key\nkey = 08476e9d49499c5f52e37f80ece6f5a45459948806b48241\nmsg = \nresult = valid\ntag = 1b6cfc8709aab8075465f32e13b0b0f796cc34d93d7bed090f297dcf9fb75e0d8e285b1500b732d554ac97ba45f33e47\n\n# tcId = 164\n# short key\nkey = 213b44d8e1fabaff837ef30ee2542f9ab82ed70411dae78f\nmsg = ee0bf48585c186ff991b4d8607817c9c\nresult = valid\ntag = 54f4010d50f80bcdb4b84d56bc4ef30e4c68f75128214cf446b5145f6fff1326a209945fc21ab5e1f5d917559ea9b800\n\n# tcId = 165\n# short key\nkey = b4afa9daaa8c944d73a3881f3221e42b34ef4e35f184e878\nmsg = cf607f6a0eb44ecbca81b6d1fdb595cee35f2353da02e82e28e133b9decd8fbb\nresult = valid\ntag = d064a51fb109c3b1d443f13f41e90e14198f846080464547806d46a8151c4e3855a81f4af40915609095dd72f869aa1b\n\n[keySize = 192]\n[tagSize = 192]\n\n# tcId = 166\n# short key\nkey = 89e46b66209548c80b0c830662223b49b0e3b895eb30e2fc\nmsg = \nresult = valid\ntag = 4b012c0c0da44ede2a427e85ace8ecc54b379e9e24f08d41\n\n# tcId = 167\n# short key\nkey = f2c10ce8cb1cf3b363354473b027c1e53deccef03233be0c\nmsg = e1fa10b8e301e0348405770bc3fafcb1\nresult = valid\ntag = 2d088af29cc744e347124fbe4100cbcdebbae037ed9bf69d\n\n# tcId = 168\n# short key\nkey = 92e074442cc4c59e72260808d80d8e7b85c6335068917b83\nmsg = 34eae27425ace17771e164cbb634306f352edc9c37bf608be8a755fb94148183\nresult = valid\ntag = b7e6b7bb29c02e4635dbdc50d8be71e2ddf0a544471de285\n\n[keySize = 520]\n[tagSize = 384]\n\n# tcId = 169\n# long key\nkey = db6f9956c3f4ca6e41f1f7f14629d44c79e0353edbf3e310e6858bbc45a7cd57778a9053ba22a141bf58bfd434ad08648c7041a224b97a0d17e0edf94fd40b410a\nmsg = \nresult = valid\ntag = 0cb1b296255bb259f3b601b49b35524a5eca6c52360754d3d96dd521c905b1c1821d74965967d8e86d50de950fe4d635\n\n# tcId = 170\n# long key\nkey = f03404bdb3e08f530d4c3a5f165d236012a4c45cd063e3e4483da088ec0afdb24e9639fccabb91f98a49dc2972e2981426573ecfe69c00c43a2d99a3107cef3a70\nmsg = 73ed9fa2acf49d6c98bfc7d6c5ad9c56\nresult = valid\ntag = b6132e5216f711eeeb44da3d92983fe5b6de5cd9410be71db8d3b07228341686aa60e7081e95f2e4b69bb7cd9648bc0b\n\n# tcId = 171\n# long key\nkey = ee799e25edb1b18452e5ed174bc6b2185a6754417d6cc05d736d2ba9efc8367e4b05ba0a2ee525ceeab74f9804a8479130c328d671e34070cf174a003a1dfb5994\nmsg = ac3e7da7e578b9b4dc2424030446c7f6aebcc471445a9e0e6e65099caeec5b2f\nresult = valid\ntag = c8607fca1888418166c550dd58d7a3976a6ecd0e4ca99b02fb187800a9c9ef909a6c1497c0652d4dca82405ab07f5eed\n\n[keySize = 520]\n[tagSize = 192]\n\n# tcId = 172\n# long key\nkey = 063d6e12e670098adabe68192023b637bb6d8d713fc8436188c4ec06fdd084ce6d193f26c86a9560e1abc27d813fce2b3eac0170fd1cb72e1930a2776bc84d6c11\nmsg = \nresult = valid\ntag = 9dc2acbfa28a7ac5f2a5bdd4b1b2dbc806c48f96ce950eb5\n\n# tcId = 173\n# long key\nkey = 359318e6c6279ba9ebcb1675f5a98195bbf5d895da9c17b8329038be857dc395b12ae91a55598876593c1c20bc0172cf15126b7a6bf0a238eda3325d6dd60600ef\nmsg = 7ad0c9098ea10e615bb672b52c96542d\nresult = valid\ntag = 4163737c219f7c5e743843dc3d36019c6585ea5d4e7cf24f\n\n# tcId = 174\n# long key\nkey = d01cd898089d8a1eeb0035b0d332da80fbd3571b9192db10fa6f55f665ab192d7050cab643996e99254d9573e0cf4eeaa63afccdefd81614fe7b83dfe30e3ba19f\nmsg = d67c77cdd0af5d10e8cae887e5a609bb76a9e5597653773c303b82b918fdc59f\nresult = valid\ntag = e7df527a988080749ee215ba0f8207838df38a37707a6330\n\n", }; -static const size_t kLen83 = 351167; +static const size_t kLen116 = 57350; -static const char *kData83[] = { - "# Imported from Wycheproof's rsa_pss_misc_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSASSA-PSS\n# Generator version: 0.4.14\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-1]\n\n# tcId = 1\nmsg = 313233343030\nresult = acceptable\nsig = 88f4676b502e365dfd82805ac1db27d1107d1516431ab4f71107b62625b6275af4a5dbfd8314fae255820c0cb577ee2457f510851d2678e4ed3e6839848aca8b67c9ce52c5bf57a01b6683828d03470034b136e6ab1914adbb1d918fdc31f7cef6f44b0b0ba0dbd6c1d3c8d7699ce374dc86c28beb3bee8f81f41162344e688af0d91297da0dd5e8104a5440add89bdc6c05d20a164c0f079b78654f038d443743f94bc45762501034a32b5d05bb86e75dd9a171c81dbe43edf50b2e1fc24297375331d78a8f0399d4aebbeeed911f6d964049e67d89eec0e95443af2ceb37125ea8431cbad2d8416fc15fb9cbed9142fb8cb06dc7ceafac056cc1f6696e3d93\n# The key for this test vector uses a weak hash function.\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-1]\n\n# tcId = 2\nmsg = 313233343030\nresult = acceptable\nsig = a85f06875b529ca61b60df404652e79a499f81a0591bafa3377b80d8e300cbae679a941832eb5569fb88c9f8629e3c2ebf5f32ffe43767d1eaf59016f5904de3f7d39cb470dfc5fb5678fcd7b55d1a30f716b7f04c2568f3c1a2bc780e974a363adc622e679902e966af183d874b35396423d1a263bb1c6e7330179671644c6953cd795a19e2fe4208e7da5244e4760dde142313a781a55b0baf866dc158812a723d74911c8717a512d722669193f8883b1cffac98de8473b7a77198e20560c0c21207e00fc7dd14385fabdd530d568d143ddbee8d1b502f7b194b9827eee9472f2be8b2a541124405582bff393412f6aba9c42e5824d7c24bdd4d82d925d066\n# The key for this test vector uses a weak hash function.\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-1]\n\n# tcId = 3\nmsg = 313233343030\nresult = acceptable\nsig = 8189776015db3a51805f6bf71aa1214ee07f7e385510ea95a0d4c3d53bc0d59f07ca39af40fe8c3138cf6f4ba0f72a3397df6ffda9cf49e467a34d92ec772f6b6d51d52cef86d16f74bea798a85aac873cd4d5d3a0fbbb618998f4b2b691bc14fe1f235601c51a76c4eacd1a33975d9c3cdf1daf579fb943556f0febd948d1b1e15cc85edf486b00499fa9032b6b801b5ae4454c94d7f89dc1fa6dd6a927969b14a4bdf51caf7cc8a87ae05d41e1933849acc5fcb0f478f1e23a0f476372837ade82f8ed1809e2245062009b8e683f563029ddb9892a398dbc2df594c12fb4a0f0c551abdf2fee4cb325fe9800ea741f7b2f2b4db370939bc7e3ea95ab539b10\n# The key for this test vector uses a weak hash function.\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00", - "b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-1]\n\n# tcId = 4\nmsg = 313233343030\nresult = acceptable\nsig = 49e060ccb577eb614274db1ad34249490d1cab2b8d3ae2b708b93c8a8ead302e6efb8d26644d5caa5f62b89f3949942d07470c37d8878eb5cc9c154701feea36ac66d0a9723fb316f7ad6226f634346c17ef47b3e19c7b9979d60118959a5b35cc188200c8f9b2723046f480d95a9a0af07e648225dc35114d8199a431ccf4f44fe8e8c9c0130aa819aeecb09f95eea8f6d89981c05cc82716fe7ea499c55460c95e99871aba1ad3ac3bdbc96850863b23e3e6659ca346ee0e186ad717a8ec9c7a548d8fed0e7b79f896722659ec7e1335de12f361d5e6c65c791441c3c0020de48e60f200c3ab79fe0179513b2c1592e2f0064ba4799f6a0eea199da77d174a\n# The key for this test vector uses a weak hash function.\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-1]\n\n# tcId = 5\nmsg = 313233343030\nresult = acceptable\nsig = 2d4216f277e50736d41cda2191faa97fa99d9e325b34926a363f8dd73c901153f087ac206cf3cb25001dffbb6200b7b35565b466f46f23aafb872e5c39d26156d36d1bab19382e5f15873022e64b58c129d38eee8126130f6210fa5ffb697bb3dcddbd99a9b60b53b25d094f9ec9b7a1cdcd0cc74a3ac478c7a34cc22c7e30e952bfac85638678b8aa2341fb1f108114d43dc849d91a3b174b0dd62f6dfb96459d4c76ab5fb6479d68d690d4a5c120c42a4bf82a8a7e9e7aba127fd5fda3f4c6ffbf2e4eeb72ee695cfeb286ec99e7cee8cf300e4e149cf17e70cf9f2bdb6421087916e945bca42a70a88b1a87e7ca3ac0a1bf2ab1a65ebab7726994a6c9597e\n# The key for this test vector uses a weak hash function.\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-1]\n\n# tcId = 6\nmsg = 313233343030\nresult = acceptable\nsig = b66294f7b1e1a673e566c59f9abf264860200763860cbd666e476dbbd61fc39136353ab74299cbfb64bff88ed51cf9a20694e832fd97235d31ec6aef386ad44487d3753cc1224dbd59a34babc3eb8b538c10705775a27fa88ae35c0f618e0b3c6b91d999fdec5b86f15d1e462feea3af6fa12a5234d526e82039e1df013ef1cc6056221b81d755a13b70c618cefc6dedcc3361b5a910fcd4a812ae48382fddd75d5b51ca3d243dac021aeeaf6e2bd4aed75d7ff6d81c9aaee2356e3d12192b5e75d006b124275b0daec06b5af29b0d3e85f057db59db4b887fdd2bd0a33865eb87e8f3e37b4d8621e2e41c760a973f1ba03722d42bf5b921380b71fea949cf0b\n# The key for this test vector uses a weak hash function.\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-1]\n\n# tcId = 7\nmsg = 313233343030\nresult = acceptable\nsig = 513db066bc72893653d1f7fa3f19546281b6239bc8390c4984999121a1dd75aa94004c3874", - "beb6327205f2ecf8f6eb93eab018de3a6c71ea8b2d3a628188d4aa2b1cd6bab169f3e78229e4383ab68aea4635935e0eabbe9dc1d671416945f1867782900da53451369ccbd548c8f756e7221ee7e1ff28dba099b8f28d1f3aad2ef8bd816a53dfa9bc88e4e3983b0de955e647caf71a607ffea20a9677e687cdda29219c7daa839276de3fe436b96b2c68db64c170ab9e300ced00e72a9c0fdc321a517aa113cdec8e2713f8b54ee2d78820f6f86b2f6e6222493d15cbe8ee9815ef2e7ca9a6ceb55955049db35b1af188b99f2c4bce38f130a75780f41b852917\n# The key for this test vector uses a weak hash function.\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-1]\n\n# tcId = 8\nmsg = 313233343030\nresult = acceptable\nsig = b3e943f3982a29d0c1e241890ebdd9e734baf85bd32de80c6240e34dd1f7f0ca4f37fff2c373f9718e7e900df224d155c4463c66badc8fc3563f36309568436bcbef1d83c63e393d9e1432d50541d45e54b7af1b18cc819d9eaaa65a4b1e4f37ae16ec75e9f44a07262cf3e2dab85a066d92b750ba1cd2a1d42493868123f18017bd9faf1de1a4f87a3f9cf744da1eafc761b7e24c9929d3dfd15d1b08db1e3fc64932816095cea495e0dbb82842b5f3ca90dc7b78895c1f12ba991f3bef6f16451a84880fa31cdfda6b9624a77a3a0489fcfdf6e07b89c0689b5b7b7052372a2b1e06a3457b027285c3b160c0de1dba4910c0162ae8e737a3d7dd1e05c77ace\n# The key for this test vector uses a weak hash function.\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-1]\n\n# tcId = 9\nmsg = 313233343030\nresult = acceptable\nsig = a9b9eef8197c973d6a73bdc165f40f0f53b05848c93957aec2785fa92a9cc6397418a71870f1bbc21a39b244526b4a39a538d149cde62bf8f21f3eabca932751da83120136c48073792c55e2eff4e29e6973cd3f1090c5bf3ced02a1ba4c145addc674d33b0a285d73d14bcd6f374f60c95c4184e2d57388e9c73f697ac0af5116ddbf5081a8f99ace11027835cb3df8ae785491f42850de04b3e01b9317bd04ed488ad72e787c728b4516c7d839d388a2fd7b21994ff3f5b7f264413bedd3d8a5258d2b39e60411de1ee69fe05f4e76b23a9f50b49f7043f9812aeb81cd54cc1dd9ffdc6e73580e2cae821579ba3642ff7793a3995b136e057d2d2ca7aefae4\n# The key for this test vector uses a weak hash function.\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-1]\n\n# tcId = 10\nmsg = 313233343030\nresult = acceptable\nsig = 899a49ab1511bef8727d1ed7093bf7e6a77fa8750d047b203740324d18fc45b587d3392bb7abbe7e6bed7bf2be2fa5e355f8ac5452e675027dbec1835555d059a4ec44120f499e4951cc3fab33d3e8154a4340d29c69fb50728c60eaa58d61b75cfe7efadbff55fc0edffb4af9719cd1a3b2a240936eb6c2ad70b10b72aab7e64d9fb17ba8fadb6f4f0036bc22d5779705b02d261b8c9be700b65c066c27be02db353f4ebcab1ccb41c4bbcfef39abfa8999196951209558463aab1c6d4917ae97006199daaf963666d85c133817035f36ea321714a6b20dadb355a226257fc0abff10c9afac551bb7c3ba9e44737f45ad4f9b7f2db002afb7ad61cda0d96538\n# The key for this test vector uses a weak hash function.\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c39", - "7cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-1]\n\n# tcId = 11\nmsg = 313233343030\nresult = acceptable\nsig = a9cadc9cf41400ea2a91e86ef6e0715fe5669dd6a8fa3aa50036e521e0c939ad9530d15e52b10404cedcc5405e7178a0444d0c5d20cfe4af10f3c07c10ef0915d05e02c62e5d0874c2ef37d4176655f63f9a9dbc2da1561c09c995581cc811b5d7621e84bedd7546d346a7a0b0a65d7f38f101b24303da0b0236a7c78f4026cc20bb32dcf79cec7f9a88661dcd52d5b209bca191f5c607e8d8e1957d779e5dfdedfec49bc2defc0ff921d5f7e875e5df46f0687a05f03b5ba5ee6bc0fcaf8d67592a96c0abb2f9a99616955222dd1e87ec9aeb4b160ab5ae96afc87a65b522c6bf4d8133901dc3a9fa63acf749ca06d00e0a8fab39a939396cdc70f52b9863a2\n# The key for this test vector uses a weak hash function.\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-1]\n\n# tcId = 12\nmsg = 313233343030\nresult = acceptable\nsig = 807285dc6aeab0a5aa0a7667856993288b9bac9544136a5757c63b23715944df3b9b77953ef1db296ff26d87ff3dfe514e415d9f118fd09e7ac518f982736bcc08b558038c771dd1c1d3b43df922ddda57906cb5e6f5a3ed677061787ffae8eb1ee2de41b5e58f5a012b49937af8d7d44ab5f4c935b73764fb46daaa346c54109c224e16f9c53d3bc4cff2120fc3e0907984052f9e33dc1dd24a171b202a52cdefe13e93cab145416569b5a6a7f29f9b7b36bfbac41959903d765bc91c3c10b645fce9e9893ba1e3325df764bf4ef0f8eb3b3a20701d8e417a86d9b859f2a318a66ab923a49fc25a511900a149e89123b488e44d8f77abe9e7fee56286d7b223\n# The key for this test vector uses a weak hash function.\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-1]\n\n# tcId = 13\nmsg = 313233343030\nresult = acceptable\nsig = 9031c063103542817542fefce9e30a72e9f14be94ef2b7a1df2ba721a9a4efe31476684a491e4849ee8720c1f49cdf9755d549b63fcc0e78af8353bcb42575abf92de06a308142f212ac987d42d5f622b8781c6c215d3760aa4ca8441bb3f4587da6a7463ea9425a45876b0470202315ec1881dbd4f1bfa40801dfb8898561a6ce6f88698dab497442f1ef83b1d3540cc3b0af139d5e125a88646f0dcbae053f6a8fc29a2f083e81d61082812121c3e59c3072a76d4ba830d4331105355693f561adda1ad8278ce0e10ec3f7a5ca24e31d839e4823c683e14d75f764872c2267623faacca1707f4038494557df84cdc3fd4f93e4a134e9b53e7e80ec1d60556a\n# The key for this test vector uses a weak hash function.\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2", - "611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-1]\n\n# tcId = 14\nmsg = 313233343030\nresult = acceptable\nsig = 9dd8855b0abfe98598937629db4455c561b074d270146d6af837c709df76d42ff3e0d50f04f7e9b3c43244e4a893f0d22d54c58b121b78dd604d1903c96109f372ac9162bd0e4188992d9b8957fa08ad9723758299ef70125f916da07cd4a696a16340d7575e4fe6d57365c2e4aec1a5465a2ebc7a4a7b3d83d8395fcc36a11e8337878477312a7fb4ab81b70cab24ff98565559846706a42f2c07a555e92f86be89d7704a5329fb8637b7621112109f42e49cf5f9a059a7225e2587ac41b699a0b27fd477e0b1dcaf8ee88291d62f41692929b87513a5d8e69352cf6e3031f42543cbd9d8442be3c28dca1ef8a9b7e51ba089eb691f6054cec55a8e770158df\n# The key for this test vector uses a weak hash function.\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-1]\n\n# tcId = 15\nmsg = 313233343030\nresult = acceptable\nsig = a61ee300ba0ee8bcad3554a5494a0ddacaeeb8f2e0d4c71383a2684f21a260df6b48d712d7145f62468cd20e3dc70950d89a7d8e962961196e53ddc7f1da53766732e193a7e18b08ab3c71c3547ac5a640cdb9dd3a2dcd866d8b37d57549b17a85b1a97271deb8515324ae30782faca29dae55d50030b4d5eecdaa65b035c048a32f01018a865a9ab1392b477346554ddb403dbc03fd834b72956087b623cdb6d4ad886985576ef75d186d78d50788eeeb70a0c65259f22d5dfb5d08a9c86d6055874b4e38671fc64a36083b34e0f5cc51c26ad876484c47ad7f8e7a524e967f587fb0ada6aa1c06eadb0a149923912565f25031f9c5e721ecb68ff2653e23e8\n# The key for this test vector uses a weak hash function.\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-1]\n\n# tcId = 16\nmsg = 313233343030\nresult = acceptable\nsig = 30389051e99e04c06b5e92773ebe85fe1432ddc868153337a7df1f429b941c779049219a25db26c7ee2f189c4a9b71e690317fad22174b45857a7dee66663ccd608d4ee3da1c26f0f0ce1e87797bdecefd1d794c782a7cac322ad38179aafe3df4cb815885c391b6265244b45a7c870d1836bf361eedaff8995ca882709fe9b32bc08cd6246d74441699bb30462b9df9f74fb597b4d953ae3a4a7f060d464587ccbda79096df38ddf9b10a68cce11d5304d648ba3c5e8e111097a54f2afe1f64eeeec0db303b5f9f8863c300c33a4960a0664b59f18016d48265ec24c6f0bb2e6441262e6ea7afc80ba5399e850fcb37cde3175f63383da272f1f692cd732ca2\n# The key for this test vector uses a weak hash function.\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-1]\n\n# tcId = 17\nmsg = 313233343030\nresult = acceptable\nsig = 2dff26d07bd2e3de20c8b6fa527e9fa16aee9cbfa0d01cd71a0664727bcb505d0518314856c43c602de0fc4647be7f496abaefc1c766fc44f6572ee2b6ae3fa7d4f23c82703d15ccf97e2e8dfa0a15a3f3f639a2f033910ec04494fb2470ec1a6cd7fbb348153f62766e2f84c1542c7e32d4d60d24eda5b26d513f49bf517aa56e43d05c8b12f2de93c36f56bc87f786dbea42fb960cb4423752fb4a811eca396d0552c4f36dd692e2ef551778a9de7843fcf37f767e3d3f63b139a5aa40d8713dfc382a5329b4f90ce43078cccb6a03f18816ef3b053006603cec694bd6e8352c0b545c436213ac5e4cf42b2a3abb5536b68ec05b3cdae133c7105df461f4dc\n# The key for this test vector uses a weak hash function.\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6ed", - "b751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-1]\n\n# tcId = 18\nmsg = 313233343030\nresult = acceptable\nsig = 545a45b222868ac1bfec75f48c52b2addc0f564a7ed54ea7c2805a4640cb54edc58e0b6dad1aaa6b629e2eb4c1c56d53cee00e61ba5596a429e469df55e5964fbf8ce6e1f36ac6adc4aab6663f152fca09729c314449431e96370b51a76261ed37ff264ef4dc9891a41f866e53f98617e496e92bbee75cd2651953afd65ce6d2609f49cb201872ccc6b8d9b853e442bf6e207c394dae3d180bd7126455fe8bc08a9c8d79a97a300884b88e1e2979ad17d15968e80c7b6eaebfcbef488fd4604f24685fc8658560da381ea827d96c78bb17d9e5d09c2d37d61275fbcc333daae6cc3c35a45f7f8d1b869586075ef5f90f60a6e9563f31be4ee6f54c1bfcf85079\n# The key for this test vector uses a weak hash function.\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-1]\n\n# tcId = 19\nmsg = 313233343030\nresult = acceptable\nsig = 40af2e3149996f2bb055dcd6ea3e3fba2d57be6424e206c213abe5b6b3ac7ceff049018abc864118d90c5028857d73db67b94e60208c4304f61412bc856ee76e398e211d5c4927145c3ee61ae101ec071e43be9bf17e2de03cad861f461193efed7950794eaceeeeb34f4944e0bedf1853123557deac03457811270c7925d0c50eab2b6dbe000542fcd3dde5cc8563ecab6ace85bf1c535eed7bd67db0584bd4e911fcd3ff5c4059fe53dea7b382f953a4905d481af39beae68e418d2a4c0d75ed5949dac1327eec5bd9d0fdc4bd9ec67f38f2a74a4d38f0760d3e19eb9dc67c96fbd43f1aa8317aac62781738504a3c0dfa5c2288cbf9a412bbf50025cb4630\n# The key for this test vector uses a weak hash function.\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-1]\n\n# tcId = 20\nmsg = 313233343030\nresult = acceptable\nsig = a7ae22473e8faca5602b9f8dd4e9a235af3c734cbcd2674f19d9234eee077068b2f65b3ed884e1fabef786a559e458e1fb62990c543f987e09ed482bab699cc2fdbb19397452ae3c080c315b65c61ba0d2088c776ac4533d3f877e9d9bd58dabdc9b557b5a2ce2e90e6a8476fdcc0e84bc2d861ec2e09b078e4ae4f32a0c7032f86f9a0e064a711999fa4dde25ed2841d874b172f6fd621c328413d4bffb3f6d8de7f1a329c816702d1ce6343f28cd024d0d81544854a455f337e10049e9b6366dcf96e7c47c1bf3ae0b9f041017530d319cff6a83c7b4b073f6b2a0034698631b3b103bc296773602c198f17b9233b6b8360863a716ae1b5ba54efc7835301d\n# The key for this test vector uses a weak hash function.\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n =", - " 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-1]\n\n# tcId = 21\nmsg = 313233343030\nresult = acceptable\nsig = 432ec7a685060666df6bac3f47d8cb960a70b1f8fd4f161da5b3cfb8fd44f83442a1ba43ca8e748a59c6c7ed7924dc0012bbefb69c97750d8d9144b4cbde2394f4b90502c1d8d047355a51265913838ee974f2386ad46531955dee655b72d470456c8cd67467c905cb06b7d46ef14fc8c9cdb70a4d90820cd80cfde02eb164542e8329dc927e199d0f2ca12cf4feb2414eb49329ba397bd2880510329718c558881891d6085211b6fab614847fbef728e961c8cb710d2e0f4d1f0b292cd372f86831c783755d149a511ce619e3ba09f41aa45a47699f266dfb8c15f90e795db4f78d97c29358a037e330ce7b59d4e34ab2e0bb84a3e8898bfce5d585b9b74f6c\n# The key for this test vector uses a weak hash function.\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-1]\n\n# tcId = 22\nmsg = 313233343030\nresult = acceptable\nsig = 3cbc0634c9ec2732ab369624ae58c3a5c18ac10dca48732a4428a042e8b35668b119d24a5e10b5562ffcc6a5b6892a562c36828658b92037a9d48801f0694cf46535825fe450d26b55866979fe4ea2238550e64b2ae639b533a9b4c7c7c9211c8adb41e8e5d0c3c001f50d025b06af353ca11d7277129b6c3d0c3592aa1dd3e6a3371585b0cc97487a8310cc1403dd0dafb21ddf1f4983512c91f9eca9f2c83c376963a1340d4efc61f3ce23bcfed6fa01223b369f99e13003b9b9b78e54ec305569191b3dd2f7c6b53151b5e446d72b5409b18fe4ac749185feedf30e5db3096df982b76168eea32e4298b75e38caef733228a604adeffa8a878468722d36b0\n# The key for this test vector uses a weak hash function.\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-1]\n\n# tcId = 23\nmsg = 313233343030\nresult = acceptable\nsig = 02d5a96749111200cbf977effa208876f80276dc90804910a4142399c24f46060ab148fe7817558657c459be7a59d01b1c6bed2a9d797e76d3eecf3a9099437c73de1ef1b14fa24304fb35782824e72db1adad75e0dc56e503c5a0ae29cdd55a8a6c29594153be4f69ba6dedba71dabbcfb5ac8de3b70cf82aecd6b03db4f9a0d3e7bbfb90b5b3c750e4f33cd3ecc713f8cfc15eacdb5c6e6db41dab5aed521fcc7188afdf059a7c3ebfcd2f1561baadd648cd6bdfff00b6c80130c5a3ecc3a254f8ea8f484520a0522f3aefa0fa79496b8d82117252a566fb9e191c0482398f16be513551e7a6afd9f7f2f1e89adb2627dedd96ead836a8f88e0b361ebeebfe\n# The key for this test vector uses a weak hash function.\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-1]\n\n# tcId = 24\nmsg = 313233343030\nresult = acceptable\nsig = 97c683214a380bdc8701717ce1c4c0bd6b871fd65eb495d449ced17568b7593714f49ca8110281a1fa8b91ddbb40f85c3f0dda165bbac3ea055c8b06a0f4fb887c597b3e9082607c5c9c837d0034dc6d3a0fd4d472976b81a0792f1e31891691498c07dfab88ec72e1ae0f25467f9a4f532493d9657a0fde2f88ef648769419e269abc830e9d6b6d70b0e398cbbd05064935ff71d586f5c363640da6dcd330cf19016aaae85817311fac58f8bddb304c74e0392f2d61ef940124d6a337a3ad6be2bdaf83955474e7f0b2ca63629ef446c9355ce8f", - "52c3c802ef3e160002ffb3824bcd25535bc2b639a4e609e3377e121b3e170e423d3f827132da216e21292ea\n# The key for this test vector uses a weak hash function.\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-1]\n\n# tcId = 25\nmsg = 313233343030\nresult = acceptable\nsig = 0d9595559acb85a317dd798b6a904ec80a2f9afe5870d05e017371408b101710026e149084dd0399a23faeed59b18082dcd3ab62bd67effe619874bebfcb2d4fbfa44e754a4f1853396fdb79d712f1d3a1dd3ff6b0707b9489694dbd30d2fa92e002258d461023f1564c4964c859ed56f93ed42cc7c022d05eca29fd2b0fc2ea252b7e2a68529fe27da9a7a900f18e61fbb2dad4da8816d52746046a6515c29f63406c13634695ad07aa6d2be0abfe0b8e10788f2a3a31e68129bba1bd51cff5c980f6c45fb36041c07b4c863dfb5ee832cb5f3cd870205b23c8176777f4078b2655a0cb447ff34ced584f0e0eb4abdf2f35fc4523a52a9576c9d15b80a6d54f\n# The key for this test vector uses a weak hash function.\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-1]\n\n# tcId = 26\nmsg = 313233343030\nresult = acceptable\nsig = 98bbf3028617ae1a57a689217ddaebf56191c686f8be8e6da7bce27fdf49af2b9d826c64a43f79fc7c603c5885b0c46ac2d175a7662d9ba3d82072069363cd93f7d3a0d61375e16b5a5ea1f18eaf7307e3cf8b27528aeab9d0a3d1900e5599d9ead68ede88e609c213be0a97642cc2dd6e6d2d6cea5b159ae35c42630fa9d8ddfd5155c3c070e12ec914273ce5304f8057eb0fcb0c595d895aabef7abaf6fa12eba65059bf2ed86b7064e9a279bf9adf94b894082760c5e9c15a29feca66e687df5b68e54f3bc0609aa778204fef7f8ea957c0ce1a883d1c8ece6b6b968b5d2c50b726c43f2882cc76f083647ca259e3cb33bdf1fe38d7bf8cf70da5dd9248fa\n# The key for this test vector uses a weak hash function.\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-1]\n\n# tcId = 27\nmsg = 313233343030\nresult = acceptable\nsig = 740edeef36d73719e813faef24d66f1785b278106db66548d311115ef8203669d2eeccbfa7609d9f40e8bf4180612835d6cb07b7a6c70038936334e007b32d3b84fbf2d78dcfbae22dc5c6d4849e1e073392b02badb521247bff1c277cbabf1421ee9690a236efd5067aa3ee0cd7a3ec67cc80166bd928ba14b1105781a74df09928a816e4f2e66e9c5e45ded285a597bdd65159d87f54c8849291cf50d9aca1b57e612f7d4284f24eeed1277c43a8b1a7cb0a3ea988696afd0f14a0bc1d172bc19d4abbeb9339b5a7b8637a88142f04ff9b8d011f7b8fe1d37f75fe3ffcf13bca3c481d806839a520cb6e760bf21d28da20f58742f52ff5459293a70161bb73\n# The key for this test vector uses a weak hash function.\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b494897386", - "4183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-1]\n\n# tcId = 28\nmsg = 313233343030\nresult = acceptable\nsig = 71065afdea905874489d3029ffe3979564b3690e980301717f29c2333aa029dc93dec41c26cebb4e28bd0b4beb5843f6b14ecd803d5e49b3223174f2adeb87a69a20977d3bfd486fee88d829e07957648da5fe6c8cd72d0dd492b2242afb3e9578a415b65c9160a37501e22890a25b4638c9cf9685f49c840a04e8bd99f9029be57523e05a3e35de01c7454a06493b5249b4d5be2419a4ec166f6a50f7dfd7a5852d05a89d197dd37efaa3ecd6c27e0786532fe977d35cd65a4ec2d79db053d667e61793d0719a1432b0c0ab66fc3e5dc6eeb415774c1acd448ef95a3be4fc34083891159cf6d630bcd6d9c78eb596caebf963210684ef43a6a64d4a832251cc\n# The key for this test vector uses a weak hash function.\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-1]\n\n# tcId = 29\nmsg = 313233343030\nresult = acceptable\nsig = 2d01cf0fd2d3f2561b34b7eac9f34564a33267a98b2ed4ec00f07197cb3332a7d0cd416e221acbe3b40e9599eca87cb54f1eed51e5cd70ebbebde573215820417bf55ce998f4121da2851fe01477c988553edd2d85f58d7a24ace99ed1bb440206cb30067dd931cabcc3e3bebde0eea9ad1825690de0c5b2022191b978484379c7aa30531d296e6351c61d6be37b04fdb6eb2f11afc47b9437b5cfbb6a6f059c9f6b23fbd64105adfc72662325b5abb446529216dbe772a3a363eeed2de26647652bba01721a5b875036a75a76665031bc26a97d416fe564ec2a9b808553929e48817b6679abe7feedd41aa9c6ed79676c772f0d8acbce65137b66f45242f31a\n# The key for this test vector uses a weak hash function.\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-1]\n\n# tcId = 30\nmsg = 313233343030\nresult = acceptable\nsig = 552c5ea88b09b51b8653fd164ccd3ea62ab84abfe22d01092449620dcbaa86deacaaa7e40e22b16cc30113cee21b5e491c8afa3806ad39da88d2cd116b25851b57c26c6c6c8580261a90150a88928e22524e731dbf979d7ec7bf70f853fbd3f77fba86d5fd325eb41f12c28416c2125e2bcc68297bba44b41dcc9239d93e5ce9f067f93e0f817d439cd17837503bc82eb342fefa658d064b21d14c6f7ee9e0be061364b3b73e441a6b610d63e1de6627276580861b085648748bd575a33b0e75bb9bf2ef699556bcc09f1262d4bce29b8b508aae8278d9e663818f2745186c33733d9255c5a54aeee8f4180816d8fd2aa0a9b9cf22cd0ae3124eee81c477a6b6\n# The key for this test vector uses a weak hash function.\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-224]\n\n# tcId = 31\nmsg = 313233343030\nresult = valid\nsig = 52ac571ad2a54ec76a1efc430f87a914dea50dd18bcf82892c93ef233c2b9eeb1970229f3e79086b51d9f1e61eae5", - "b589ca3dcb140189c79e339d56e07b92e24fe61da02c395c651e6f22e9cc618592829ac07883f1edf120897b0737adfa129442404e4bcf23eafbef3439a7ddd1396f1a7ab4979e2c3baaffee936a47a4d74034f6977b9703ffa71de427c621ad5ba6d912aa2dc5e581f2999566ae0abe5a65a7a819de45cfd701c8e1bba727bd777d2102d484caf3f6ad72f400d1cf078e97759eabec691a529a3548f55779b5b9fe7c586590bd44abe003b71dec960c2cfd9098dafa329c2a75c8d94aa0cee0b91680fe3910e5239043276279c701b8aef\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-224]\n\n# tcId = 32\nmsg = 313233343030\nresult = valid\nsig = 58952e6e15ec300c02758a59518f619179778fde614a3e3ef742a6b9039275cc8416c26ab5fd24649ed22def7f9215994cd3ded23459ae4b31c3a24304401a8ae700a22bc270c89f4300506baf4f813396ae017a5ddb2b0477a5786d425a96e967fa350adad596f1ae0f8148311ea14836c36b39d331dffd7453c6f7e79092c13938d90b801d41569bc4d14a8497cdb4292c959663474d3c6b391e5e7ff301647afb4fdaf8bcfd39b4e6e7632dcd5de6ca12f0c22c4b2dd16a74a1e814fb334ee4647cfea98acc691e0fc18f0e4dcd9354d3a8f5a1082000dcb3ac81749bdf2184375091ab31e133216ec0cede22adead906f8595e85fce5f28a67f7d6f11249\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-224]\n\n# tcId = 33\nmsg = 313233343030\nresult = valid\nsig = 5c2ec7ab93afb7a9fe2d0e006597a075f8ee01ff04bab318a3e3c489878bcf321f681d123a7acd0e5eb01f8261a82fc3d34fce1a36560d0859d39ad9c2b8fadaa2673b7faf0c0b74eaef13f8a71f4b9729da1e3d444cbf261db415b59374842789dc60b1fbfad43daff40ebb4dbbdea400cb506ff0b75568a5e48705d75abd9b7444178da7ae901642835cabf86b22e55a5e090664a90d6a78f3e3ade7a72754fff56f2445a014928131ada477420b38951389e84bf3cfeab57e864513ca7247323af03667cd9ca926dab7eb51d24c25918f4980065ef1846cbda3a39b1020380148f70a0ce26ff43658374870b51854b99be2d3315b317efb1390c7c13e871d\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-224]\n\n# tcId = 34\nmsg = 313233343030\nresult = valid\nsig = bad4437432699d9cd3799c29bcd959683b879287eac2b52c5c263f46e2488ab5e0be517ff7a5bc59a5fb217db5602107a28045f08ee9286afd3d61970fbc12feac76b12f75f17993779c8c3aed862dd681665f386610c59a4b6b0e639de5fb55e36b52baf3d9e0ac150d3ee30be85ee95580b34e47022c517a96b14b93a64c4a129def11c56b34f60353f40c813f60a924ea0391ddb2770cb00915bdf33e3cbe6f2e87840e6335b5d8dc3d1a25daa309c5644b035c46416c75460f8ed68a0081df5140cef9533b33296f6271781c2ede182002165be862a2f4d8f5c31d26dfb6dad56cdcf269b4e3143c152dcff6ec80754e22ce2edfe7879a1eb1b83077de98\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb7", - "51b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-224]\n\n# tcId = 35\nmsg = 313233343030\nresult = valid\nsig = 3b45f1326d3b0bc5101565b022541f836adb79c9e10e20478b1be6a32a54dbb62a5c56c92844f46996289f85501e1a681a29773667f42e3f0c1e79f14963213ceaa59282cb0d2961139ea912faa94d3762aa928a03c88dd5678373e39d182d8690d9c9b8287622fd354bd5d288cb4bfefc7fb5a3187781339441b358b7f0be6c884868b7ec47352712297ef191ed4e55e1c8e438eed1dec2b57907933c14ed5fffb101cde6007c7823e804f79c34db429a55c2861c2c8a4606509f7be774d1adbb66f640adf16aacd61730f8095905ee9978f379dea4d233b3bb0d7a0feaf07fa85a2864014329d9d31f29cf22aa76c5c061ec41e4211fbb5fb42c8d087bb917\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-224]\n\n# tcId = 36\nmsg = 313233343030\nresult = valid\nsig = 84d30ebddeb64f5fcbe17632cbb692c1222c5fffb54e37f25bb87c9219930f5cbda0f762889a8989b8b23fc79eee17d8e590206d55b4006ee3cf4d79aac93ac5a3fc68fefa280b53368e16e95fb8629653d76991609e42ea04f19e19a5bd411b2ecf9a18de945c695407f608c05169e2e200259a6cf43014485b86d3ac10b22783fec39188d39b5960a97a414001df8381cb0c17b1ad05a3a58175202e2cd8aa6ca3131d3bc0efbc2f0d5f09925080da539b93980497816bfd042949acf31fa2705a63d7442cbe1c281328bf58a1e31ac69f96d67cc31856e22b7fafbcae2b6223e55e2c81a5fd67d74cdc8ccc5c3b6fe2d8319ba36ab2da9a8dd9720384662c\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-224]\n\n# tcId = 37\nmsg = 313233343030\nresult = valid\nsig = 080c7363b801b6bc22b04978e72ba6ac9c55932431594a2f80e7aca117c51bde990f02defddeca373394829f41a9d49d62fc1593f99b169bf6f8dd4daa149eb2acf6f470932af5615e440f7b648354f081d9b82eade009f52328194eba383593b60bc50689449eb7d478679dee267ce199b3c99d4b004fe308102dccc09fe041c125d4d6c287dfba9c6c40a4a1421d5f3734f6ea09c85e994b1407ac8c7c95b0f78925b9604027a28ab2f921cf1c9feabf5300e826b383b6eb11b00b9a378cf360e760c4777cc8f4467301417ae07556483e4e47ece4e7487b188e2a2ac95d85a77586aa12537436ab2e50bf7a4fd7cd577421fa12ce6f4b69b97bf248d85866\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-224]\n\n# tcId = 38\nmsg = 313233343030\nresult = valid\nsig = 676865e033ad3a73bcecd236a125a8305413e2cc99db2225ac87f7f0bfca644d87bc6489295730b98874201f0889e688872b4c30a68a699e883ec0adc5c38eed5b90ef1ba12a930de42a9bbefdcbf3bf9cc157ca950b9e927841df138f89f874", - "207c2595e6f7fd4039b6f094ac0a5f59ca5707da5c3230fc740a195b8db741d602d5b12dd0042869facc1e05c03905b7be9ccf0cde94426243093e1622373301542c96667f163b067b1b53db10ae401195deb9d1746748e5f491ffc7051c946a245c4c1d1c3f880fe99f09c8a90d9138dbe994785f576d79bb3eb3f4be15de46ad4a8073ccb946e284dc2ed7572d90d8a841ca0dbff4bcae1fc307fe17e87d87\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-224]\n\n# tcId = 39\nmsg = 313233343030\nresult = valid\nsig = 603bf778b29561fcaa54f5ff628c5d257e0212c6327e9112cab8cf2853146fb8e960601e9613f57baff8e64223cd7e0026f66188878bd35d9236e9de5f0950bba51be06eee37304081a36ef7f4f7c9404956c40d30b3a4266a3b25898f546f0f6994c54ec9497474ed04dfb3a24a4938172d877fef56c3e6e11586a5b920c1538e2f22dd4c971d933d69f5a4742e3b23e2bb56b1253b67bcce761722b9a026674398e7711f9ec0415c75c80e3bf38f6991b3963bc4b89bf3f041eb8c894ad12790db35d24c54a4d2123fb91d9bc4e9c116ace06e7b59b093d6c1cdccc067540b2c599f8f5985ff6e14da691169bce203ae8c127770f3833b0b19847cbc4f6a56\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-224]\n\n# tcId = 40\nmsg = 313233343030\nresult = valid\nsig = 8272e0864261c5bfa05f4e40a98aadee43968e9f5a7ebfd7cf39087a2b61b34f4592f00c3c18681e941fb958b446c9d98bae87944f0d41f13b3d1662bf9db1d011c926e69311e296d0dcc59e9e09e4f6c7b0a7e5f232533e02097e52fc0755ea756ba0c0ede3ae4c75f7f8966b42118d1683fb9f1e127c1e6a6a63126a0d50b1b5a59f4adbf5cb822f7b863c0f8d8fc01dc698bd70943a6231d7aa77d517be3f1fccab61c99b8fbe5e4f745029ce81c9595ec930abf7eeee6235ab2a84002471b971eb91838e13ee4b014cd91059b3975092bdb26bb435eca40ec8ae887470f1c11e32d2fca111dc254c029a2f824a8dc2824ae32a1168de2c23fb69c77647c9\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-224]\n\n# tcId = 41\nmsg = 313233343030\nresult = valid\nsig = 77c77d25c39754755541409749a94fcf10b28edef92a06792feee1a5381c06aa1ed6fd46dc76bf12541120922473912bd63bb2ac17295110615e8c96039eb800a0a2504a47630852c354da0b9c44c9cc6b30fc2c5715e02425c9d573868f0eac1e97415408d4d7850230d0e02b61d237b4145c99f822c39270fed2d0c236f0128568d7ef5dd5b26d0aac7f752dd45e891e7f3289974168a6fde1c8de368d1e3f546ec4eed21200f217c9de87400d846c26ee70f459c0f87f5ae64273999b0f1bfc1b60bba4db271b3d63db27cc24b9d225c83d2043f3e3a20c088b36adc50c15a5df894a4a4875918c8dd34f91c7fc8bec50872217778992523409cd21f8b88c\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f57", - "0347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-224]\n\n# tcId = 42\nmsg = 313233343030\nresult = valid\nsig = 64a9c0e6fbcea96d62da56213f2a11d922418fa1b56ae4afde7d3442c9f4013ce11ea203ca23a351609a41d5b7696bbe2f3cca01149a1a7b9c0ebf052e51167ff18bead5f2d3c2df375a2fad08a91b8c36baaed7aa58469a8f428e37e83ab04feffe49997c640bb63aef23ef408fb299aff97fce0486ca36abc6441fd52cfdccdff17857ccba6f448cb3d39b729287a6113b67946c004720b4f0bce42678e0702b0ca6096def9e4c67244b68d89a5ac8986ef6f4acb0b50065fa75410c43874844af511d6332c7db8f11988e70a7a02415261101d9e36dece79c211e26d580825a7e5358b1ac64e9fc43f381b6cff477b58d2861c73135d044432cfe34cce883\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-224]\n\n# tcId = 43\nmsg = 313233343030\nresult = valid\nsig = 26dea68e27018d3247e2a1c70796f5e025692ce3d31a6cf9eae6e0ad0941fd36f66a0ff542596ea15149708df7b88b63d77031b1a1e8e60b2221b58560141e2a3cbedf09aed29aabed1c35eb0ffb312bddd04f66acddf42a0d7130e1268d909d988bf06d465b02241096e8744b5541e15ed274e54ceb9bcd796b3c361ad7cc59d5ecee3f1131bdf9ea681e9be09d18394a64711a040fe421b8678da330c38ae6f057a5b690ba7164252938fda0c5396d49f265f7a38754edfe5294c1f092721ba263bcc334439088a0c7169d9badce5b220f2c80c44421ecef605f46c6ed9affdf3c730b266eb031f1f265003dff13066d3b1cbb12d898e6c15f34f7516dec75\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-224]\n\n# tcId = 44\nmsg = 313233343030\nresult = valid\nsig = 91ff01e79f9c9e50aea0efdbc8b2c370f3a40ad8e489601f8217ecf9d047bd8e10bda664ea986f5734ed38aaf67cd7b227e5b68dddae13cd81f9ee1b7d8248bb3042a3ca670f32c316e81e4076788420a18150cb1d4725f7a239b49ef25f458716679cb1971d39b0678c1ffe3f45d272923f3551a337871b59f4762c6e11c9665b200c5bb7fc572e0ad930a63542a1c77c0df7acb8bc3c3b0ef59ce6c2da74ee6ef4210b409e2245873e6fa24739d36c0b12e5e328ca669316fa6a4df7481a547f6e671b7028e2ea3c15ac98e742d5a8995776bd586fcc23922eca59b1497871f744b357078e8e90188a2b7224c19ba9ca4769f91e665a9cbe7de8ebf84f12c1\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-224]\n\n# tcId = 45\nmsg = 313233343030\nresult = valid\nsig = 71ab62e163e31ede946e41909ccd87186086c7d99a3459813db6e380a046cbd75e8cfcd2086f2b1db021bd54e72b88193bd38f9664af1b7f100a89c2ac851cd13d3dfe4907d26769a46a4b03256d18db21424636b671189619840737fef2d8d31f4864a7064716000c44e7ebedb6b0a3bc06e5baf01fbed82933abbc43dfbe87fa1cbf68fd30e48ed595a998f", - "bd0ebf1cfdc35dfd8026fad023412e82322efe6182a849857a66b1cb41de7c8a4f22ca251db2714eb8aad67f8738a59602e900c5cd1604e6e12d7b05de329d3bace06e7785cd4d68ba60a2f5b976a4fd112c924e4e15cfea43cda7ce14d741fa8a0e777fb3a77c2cb7ce2680a20a6ff5f817a43\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-224]\n\n# tcId = 46\nmsg = 313233343030\nresult = valid\nsig = 325cacdba224071c1736adb4815a0a13dc199bac13206967894ca897402c2820fe303d2c2160ba6317fe342e8db0a2ab51b5edab4eb9035d3ccc73521db011a0f231d02429480a4398bc68bfd0e248f6f7724d2db791a0366ae25aaeab2f8ab377405f95af2dba8db349236dbe9507b17f52fdf1aad4991894e857054666e770c86ed8e62fc9bc2b6ea6d5e121ea43337277c61eee8d64f550be0aaaeeb29a18c3c9dc543ed0cc41cf0732d394fe008e5d8874f3073046189f0b6679bfe4ac65cf13de43c36073f60f110f1f397ceb1f7cb40346fefdfb0c817d32531713a04099ac6b6594181c11dd8f2c0f0b43f1d687e5b846b69283dca85a9a596bf5c112\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-224]\n\n# tcId = 47\nmsg = 313233343030\nresult = valid\nsig = 6ce19d6c6ed9218bdb0564fd490a088a3d3be80a45bff0f19c7d431bbc240fa300f562d00d25a58456ff092304e51047f5d8956cd0015ebb0eb6509156640f2ded9c003d6db49ed1d95bf74741281990f09cfed582ad7e2d6b896713e28f7d3f4fa41c798dd88ad06a8716063f0d42c55c414fb6c49205fee53a710fbbb98e7291aa07cd6f7160e1fdb5f3dc2dffe014bd91bdd450a1f0da83cb380158b9d16aa27f9c078e444e23146701bd1b42179feda1998258d45a204fce614be395413b259b5898a06379c7eb69e6fb58ea82ca72b8f231f11ed0f180d795087cdbe26aeeb2ff6d7d3eb7feaf4c2c74783c96674ad959bd5cfbb979cc450b9c0510a364\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-224]\n\n# tcId = 48\nmsg = 313233343030\nresult = valid\nsig = 2d3fc532304570b6cdd5b58b0fa7287ba336c29eec633cc5f215f4e96b2ec44c67e3b1de1386ab616975af3ce3ba93887e1b705d5e55b054e1782d50bfc0094c8b7b0f067fa250cf474ac3b42776b1c76509ca821225989c13faeb15b187231f6dbb5cdf2e1ea52cee05fc2c1f8033341caa0772017fe3a720212a7169d46467a05b4cb91ac9886f940ddc8f280d055d54a51100babd9631b2571140cb15c2e53fb3026bac02aefa46065d9c965f71adbc5d3f11f3a0500fd833a05021c95d5e7e5f3fa500f367c99595514ec221d8fb51db4c776d86bbdbd2fd82a395076bd1e12c3d0c94ed098b84d858a733e0c9a153558be90213db2b405d54df94d6c989\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab", - "2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-224]\n\n# tcId = 49\nmsg = 313233343030\nresult = valid\nsig = 391ac1b5a466b886378fdd220d5871292412bbd62005bc8b1f13b02c7c4f98f3578c31a30c0495294cf68dfcca12c2ea09388fe0752487aa060f93a0bffb7d7075428f193f673c43d60fba94bcf2a8b6297d2207fb5db7abb23885fb8b4f858c7a395c5e9731840d17d7ab749dd0f5511ff8529b9461989dccd126bd442e8cf5c56e20c27a8869a6b576ef771520912347099b566ee588eac583a595a333102783c0f993e0eca3f55af1adab66790e5dff1cbcb2f549c5e085317afc8afa181424f2ff252eccf643af509cfe8778872107b4825968acd5271a36d4b83050f11afb34afc4a0cf073204187c1b7e81832500c2b5cc32f123644d9d97f24769c8d7\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-224]\n\n# tcId = 50\nmsg = 313233343030\nresult = valid\nsig = 2a6cfd3112b2dcd37aa4fa4ef9ddb13ed713960cb062653656937b807c5ccf80c5bcd205ba314a5307bdcf58279afb16be1b9b038c93ab4d5d5b96de1c042b66e44bedf4f5c72d7564e3f190f4654211eb7471315b512f896dd315f00b4d1952c0c0b70e489cec2cabeaa58123cf000d4653228c7246952e02400bda062d16c37d5790e4aeb9e78f75d0740dc48c7dd6b671e648de13e036a0265ef6c9458f72602bf5d295f468f554caea563b56d3b988615d12366d4ddb4f7ecf39fda9913dec271c9ea5f9286fa11eeafe2088a41f16cee7ed19c7330ee99a54d981b183c3da730394c8f5b90b17fd0fdd47c0260f08490b52483ebb32bb6640a890c94d85\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-224]\n\n# tcId = 51\nmsg = 313233343030\nresult = valid\nsig = 0495075a7ef7da665a8802a3dcab56cda8675e38d6378a9b5f5fbc53f9249bcf7746b2e120db4ced134124d54e62bf7aa187edc28a3384bf2516eb616c0958acb38c68f85ab671ce9f2e3e7f92a247cc4cb71d2aa536ecb24c6e3bb3fcbd8636ede677f91bc59988b01bdbbc2b986ba99082f7d2dc6e13b962f7e6e1c7208ba9b1c55dd96779f89b40178be648bbf906a68ffdfeaa0720dab84b290914667eb423a7cd70fddd4e947cea0773383c048e5e4a250ed20d31ed1730d0d1b10f7ed3401da476cf9c2d8e1bb86dc5aa1c79a5158763c5d6cf0addad25406e4632e1a85617f177f2545f7f0f60b5c297fac40a304767acffc5c098a8ed85da2ab5c766\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-224]\n\n# tcId = 52\nmsg = 313233343030\nresult = valid\nsig = ad2b4ab917b942d7172df9c51756c21fc23b3bf467f4dc9e024e89b7d6df71f099a0e0c627f12257b6b05f190ddc269206556ac5d34eb4d63f09f07b8ebcc38c3dee48acf056aff46e23f170a47acf16621a65fa3f9319e5e21c65426f9acf9ca6576efeb4e593f0ef01e6577c85be73acede78c3f43157e686a564e0a542dba8080f539556387c199089c89c9866bdfece7bbe0cb713008bf9adffa378d76e4915d1b445080977d353f2f34e9c063d67f0ef50f755f94dcf4", - "ec4122495835024d075aabd7d65adccb1987e1e654dc2a4df0de3252b4646dd7b86a068e7d952410f1341fa49d80d6f1d09825bb2e6741d9e8b43ddebce0f81ac6df635fca3d92\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-224]\n\n# tcId = 53\nmsg = 313233343030\nresult = valid\nsig = 9e5a42ba80c6b91801ce6f914dc48f03bec695463313afe8306f726d1e1e0690ad33425b1f5a043f8bb1c3b474b009eba1ca67d7d9998b56b5eeef09e94358e3e3133b85a4652493253aadfb4df892d1bf73b42e2e857302bdcfc37905e37fafdc8accc26a30d0cbc1ed98d0e971170e1953b91c1de35b363c00ab4a9bb2fef45b753312717920141287a1b8264522131a522df46d5545c760c3a05ff4487542f2b351a74a7dcd8dac6e7b342a987ed65d5e1803362eea8340eb67f014d47f63e720d96738924b1529beadd86e62e20b6479eb9623f29065c8242d753080cc4de962b934e10f8eed23be8bb32ed1abb23e75949e30f58b9667e9c25cfd7972b6\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-224]\n\n# tcId = 54\nmsg = 313233343030\nresult = valid\nsig = 1c57dd4fc93dcf4fb62e082d0e861d554563203578c317cd751f017c4779a36ec6e6dae4621ac07eb506d4cd4d627e63c55534bcf2b168649add19628b0a87d455c6f74329fff663a2a9016ed3d5837c2b843b83015d203bbe25dc64075b27c0e708875eabd9aca4ea6468a2117139ad85794b9629a3b06e22a3d945123b41d1ca3b656195ee3b0d7b046dd1f28ed3b46ccad9a174da581d33997541c0d3ec589285587e340dc65c3901c40d3353de448896634698ccb1ce55e22fc3b808cba5082958492fa1997b26442f09615f869db65efef28d50a75075c76fe6f2e96fd38a7429e0746f3b20a0eb31027ee8325756b42b2286e0069e92461ba5e5a731a2\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-224]\n\n# tcId = 55\nmsg = 313233343030\nresult = valid\nsig = aaf95747bafcd968dbc2f7a719315467b1f438e3c71ea01b5b6035b9271e16a27791ec23ba7f7aa637892c9a0110cde9f3df8fab65a4b2dcfbcb827628d0988c488b9def01caa916116538d535fc955aed97830a4b6796cec61fde848d149a3612e4a815a2dfd45131a435559f48e72337c42cc104f1797262ee69709882d57809b19b927410af979c479fb1b3f65c713c8f3aac3907d2a10eec945e302bb5eb5e194363fc4ce15d25961bdd31c51339cb1037b4c86236160a0bd1bd574c52abd88265798013f1e7ace7ff4eb710d0b7726754ce14a0962d7eedbd08353574ca9bcff955ed02166cff430c34dbd44bbc927d8ffcc85fcdc685e0ad8ee82c27d9\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c", - "77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-224]\n\n# tcId = 56\nmsg = 313233343030\nresult = valid\nsig = 48486ef632d298186388f80506bf6a12de03781adef4b778d5f616484ab5cefbb5a0a004ae15def2d82134b96c555ebb3ba9e8f7dcf2c473d6198b0a455cb027b33020ac7c7c2d10b8904c94d5ac45ba9fff42c892dc0d845cf42d4d162ea8b9a544084b6565770f3c188e8e2dbaf6861574c94e1295b51c5e13fb7d29d65d9121008870de99b4cf2160718989c9f288d90b50069de579027a624805f1356eedb6bc34ad3f4fc9519fd90e626bb0622bb701e69669724b4544c584573f054dfcb79a2bf4b3b8760fc95da9096d8f56a91433081e8462c92e45b0383811581e37bf4629567c2b19f0135e341a637d866686312626b99c0885002655fc5027aff0\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-224]\n\n# tcId = 57\nmsg = 313233343030\nresult = valid\nsig = 9be08bed6aec129b28159d23d0c9d3171372b44ec3385be93c5070ad0714112e88e774522a6c61874ca071dbbba2a41ae03698395943de1c0489a2902c5fbcf7790d3f6df0500b3f04b989863f6ff742954dd32469b96ffdc94086b6dd39024a1db62357ffd59e1a2687d4266581e5af3371b1c45189346b374426a8fe87363e71254a6f1e566c911f467a089dfb19cb527bb0c75e442a42ac356eeb0a60ee1fb16efb5a36076a28e36d6fcbb1ffe5b1662f6ce1be09f30c9949b8056686ab3c1d3894350ea0b12f97f350ef7c2a232dbde200d4ac74b6145a0eeaf40cc3e0b8937d4377bdb04e14730cd4830ff787110452c79f965ec4ec8b080a5bea0d0b2d\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-224]\n\n# tcId = 58\nmsg = 313233343030\nresult = valid\nsig = 265f70be75fd2ca926327fc0ad87f20a9ff1a9bf9e45545b6d59cda7abbf32a5b2fb0f78a4acf772749ff038f03699f90e23e6a27df6c324b34a5a995046c72c3123f894a9014a17654337ab455a9a2942af4a31a4e5144ab708c653a9a75b949bf800f817b856a6f139b1ce02e4af27180901121ae1df5196d4c96b013f98874d9305a04bfbdad91ae365b9d39a28ca669ea20c4800af18176ea83f46e094a87998df6e14e8d6e26ffecad9127f6f8c5b96f2f192a7345617f5c563e8fbc3d870c165b87449af77186a813909716747fa0f2a487d6ead2ab67a8b81a0a4dd681298ac8b3ce607cc50d2b9fb3a4a6d4cdd92fa3d9ee3aa0d46fc5715df133d1d\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-224]\n\n# tcId = 59\nmsg = 313233343030\nresult = valid\nsig = af120d2204a6680c75fbc88dc52fa817b4876f2598fb7d6673e7f423d0959656471192c034d02b8f96f82c63d44b22776ed02813dd74fdd383c70838e5139bbb328e068f31ef09c420e54e6857c77b4f2438e6778bd7e6a3b6a2163be5fdbbbbce32823a26d1c85298e7f14ccd9992a510f13e66b5c5c7170f4639b39b2e322b7b25251978801b5fda78a73d1c35c93f29766434b278c7f49acf147cb3bbb906f0ebf3c624e7b0f24cdfacd852ed594d90bbe222c17edf91ced1f6adc36ae7d4a5a2d5b81944ba5401d8285b0a95b04937ded001eae93f470600e7d9b0f74e4d39962a039cf", - "57b6c955c1724ea8bb304faa0cefc097eec4bc5570737656a8a84\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-224]\n\n# tcId = 60\nmsg = 313233343030\nresult = valid\nsig = 285f6b301bd5d54927e3404e5e1ef8dfe90d58dec37e267478b10d2f787573025c2657665d34415932e81ece24af57329c2f54a651cbc7b791bffb0ee20343e2c341cf9ba5a0aa67184c03345d36e561f4ae18ae344414c0478c7bdba9d7fd542fdf8d5e5758295cdba159203494021e6ca674190ece2769a0c0b97c143da517ebebca3aad1933c4d89432bab197e779995e49bcb0e945fbb7dcf257c5af509f19abfa6fcbf29f4704d25aeef57ea3d4c63f0f378e5c5b8f653c5311640df57bd5cb2322d84aebf304b649e337539d47fb1491ba1b0d936cc008d06970e0c0a10d75ba0f2e0c5efc1db92830cb022056952105da83b07e25c375803b3ff536e5\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-256]\n\n# tcId = 61\nmsg = 313233343030\nresult = valid\nsig = 55d88872d2dddabe8874f8999fe1a6efdc0ee4ce38bb1057f11c8fcec2da27d238d23a8010ca9c0510c3df12a638fae0c0d64ab83a8b43cae24b154f1b8632dbef8726db103bfde6d33f8253512388557ac502dc90cc173c9ac82a501ed534d4c57fef7ef68d320897fa882ef90ae32b29d379c39b4a8971c46ab9366e39db2c2ff180cc6259cac703330dc2f80ba398e4eb7bd70175aa4847d0e643a8d97ef6abddd239155cfb780ca228985235d0c91188572902c491aa011d9348517c370b5bd60dd9a9598997a5fc763267d2000e2728edefe4509d98f7197c487d0e42951fa92acd621fbffdcb595b20f8cb53c6f1935f535d7f0282837e4d03e188b823\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-256]\n\n# tcId = 62\nmsg = 313233343030\nresult = valid\nsig = 977049eb468411cb4b4745d1804dce61aad8038be0bfdda3d6e6e7f235503100505b6f86ab432cb2ed28bb57358c95042f71b8f9e5221166dafdb9281eeeb79f790f8f9e2b0a19e50b8459eb54f85695b1929ba66520d46203814c74900ec3cc546dd681e35afe3b55e3ec1ab719513dee7e9a9b5568e9bb8e342aa3de2d4ae883e9f0c4dce2c9fccb68ac09d5a260a0f4b948bfe5a03043aced68af31f854dfdd5d42047dee19b71d114bdf823bf4b03c5513b5ed2bf333e323048ddf332ec284c7d31ec032cade848d0d4e8a0121264ecb2325a29b56ce5c168cb9652d31305547dfa281457b16640f3e5d283b3fde108b67cdbd6b2005af93d008be4ec46e\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7020301", - "0001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-256]\n\n# tcId = 63\nmsg = 313233343030\nresult = valid\nsig = 4ca8cf2d7817643e14484d757f0853625613984728c9e483efdc16eeec616d3c551212107a9cab91796185bd7e60f661a5f2f17e82b9f34c0c55197eb5e2b7d74b8cff00caee33083bc69aa66027a3e68180817fc065dd5a5eb2e11626bf97c0ca44b70c18b0a0a70ffa628d86aa8b45e718702cc5d15854d51baf34fd637be3e201c39ac3db412bef0137951bdf74a43c7dbf5956207693c40c9578f5edf408b43bb1d078003082592fab58860a3d9a38d6d5aee051e5be85bbea791f57d68a7c4127b7d7f5dce2ea211cc35f367d7b0a561f8ae63c37101748fdfd890d616426690c5b6cea817c219b9165ba6784f9edaf8aba7082f912940254d7b7921212\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-256]\n\n# tcId = 64\nmsg = 313233343030\nresult = valid\nsig = 6ba6eaed9a00575e0ad5cf4ade39dbf0bc6b8f50e7d2a892d626ee6751b6a360a703904d3a11596b10473a8030ab5992dcca8932dea1eae7e3c88829702530301fd85f5be515216f23c39e70b46b256a06d392f13edb5431fd6bbe4b77445db03fb4706adb22105a7ce3c6bd1a537aa3d3bd3e264e15bb68daa88c0db01c2707a2aa7af4b055097b68e7c0e6749214478ec91f1104ef2b513a22316476de696b14090f6a3e36a562fdab5e3c682708c88017a077154fef4fb84611b9df8e3b5db55f9dcb0dd5d2d797d8117a4db392c62f432ae24facf99eddc78c41081de9ceed9f651769e44cba098babf7a78f1992a53fe318879417ff3cd8a5f04e66945c\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-256]\n\n# tcId = 65\nmsg = 313233343030\nresult = valid\nsig = 5bbbdc57a45e5fd5a0dcf03b76c06edb2066f9205eda2facdf5120dc6bf93c8e969d714a9ce71104f2b9455d6c6c3b6489a41e578fff9247de07ccf307961b34f454df5fb40ca98a4a0ceba8f705e60afa02c945f8ced0b6daca87acb6ad081098deb1419cc7bacb407bf52559440a69c0ca2af1738b266e2c14fb26bbeb9ae1f415b27b31e36e59026066b2674d60516b8c06b70fc8194d86bc8a5514e9e73dfb29ee959f2c857f33dd0f672e35f13b60185c8cfbb3af23badb9271e40dc1d4374562d88277ce0600b18e634b127d3bb2f5e1264dd9a3c188be38089617344a01efe47e1fb442d747bf5862c409c14327b2e3b8ee065a03764b026d08983ac0\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-256]\n\n# tcId = 66\nmsg = 313233343030\nresult = valid\nsig = 4d34e818a3cae7ea179c057aca683ba99e347f661e5a931e702a75e9b8593c888461f8057fd719b4cc57dd674da0daae36972c5418205c87840470cc090d99714aa2d886d246ee6b5751f683070254ce0e12303c9fe252d5ef435f558006d3bfc9d173be2fce9c580c3c6b6efd003c84de74aa6d9e31fd7b04b0fa2f0d6bad247a3c28f157276f525eae16b058936cd91f665ae1858b2c00b778aa42b97aafb5bcb38e577da899c0390a7619339e2eb487265b6e660be420be199586f4124671c682a67e0ac1d31be4b458ba5ea64249e988bbbb67a59bc62d3d827b355f3b0e4ed32ab2078389653bac1861586e2ce2b49e423fe5832c49f7e04a53c6a72997\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d41", - "24c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-256]\n\n# tcId = 67\nmsg = 313233343030\nresult = valid\nsig = a4b028e9ce76e68732edd1534e6c50df0fb88de211686858b815f93f899955d91cacb434ead4755f6b2ba64a305e656c31f52581e6910f1b3c3e941baa76ebfb5b08b8544da46f5d557b6baea4b206aa4b03b47f0fb3c4dbb38a6dee18b6e621d26a108b107cf24c00b6f5e9ba2aa98f7afe7ae96e45d073f36d57d8d38e4ec8ebaf00374f9b2a4a2a53dd7a4e5fb0879498240abdf366ffc731ec56cc89cc9657ef0f6eda0cf39c0846be2b8b1dbb681ebe31b20f851e962891d55fc62050a5fa012949ce584af8c9ef5b795f0a4c0a426450d71161638d80a49a842fe76dd320716910a81dd9edbc10717eec8afcb22a590541daadf0bfcd117deebfb2d409\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-256]\n\n# tcId = 68\nmsg = 313233343030\nresult = valid\nsig = 8e835e05ce0b0a5d4b00b8ae5ca60ca6a6f654274d0d1db9f32ebdd91f526cb69bf2508006db1e559489efea6b3b202a70ae72757aa13603fbef69083efdc39a1b762e355f22603860a2b12e69ea5086583eb61d754e5f70812eb3589217bfc41fe4fcacedff8fc146e3ec10f5e06c127f41ebaea7c4e82b3ef6e786886a80ec51189ac5c4d9319ccf50d9ab4b93661768fa2730f8d91a7892d5b72872d69de29c39771e8174ef0a60faa4491eaebdd651c9f2048d800fd6ee5e0b897e7cd962639911943f5401dfb44354a435f353648ebead13dcabd62657074b448c0db9c9a47d8b863b93812e18738c490992e6b16f957cf769fd301a2d609243de926e9b\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-256]\n\n# tcId = 69\nmsg = 313233343030\nresult = valid\nsig = 9a0006356a9971ac48b80da03247b0ac9d4eb99bfb7a59c730b707d16a823d31d8c64622f27c0184aee75235c0abd91625a18d0d17f7dda988232257b64727cfecaee137a9a2e033942139ec4c076d16476bb406be43805efd6398e0de37f1b974de2824c39bf61b35af0f4936a00d0f2c078ba815ded518b073cd4a36c8c1c16791bc78a222fcd877504935faedc3da6378b401247c6cbadeebc823fb2f516392d3706f92fde0d519c48a3ca2842007257adffa1fa8927e90e93cbb8d2ea175a6c083f4ee3640f7f7138bf63ccceddab07b2aed7639c2e1a2bba5122e4588a7e695020a3b521e1be3f299ca9996cea0a1ac8f7abf29a13d36732b934404f3be\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 0bb0d4124c20130688b8419fabecc427d946c", - "5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-256]\n\n# tcId = 70\nmsg = 313233343030\nresult = valid\nsig = 515eea496a899f1b6f84d8ae1a31390ff4e4c889e0ee2525b2e9d656b51ce60889ec9745a25d908e3e93b10d1775f60f638557e6bae1a9dda1491b26aa038dec60bc0030be3e23b45fb1f55e800f4eefcea448fa8978f144a4264a3b79dddfbcc033fbb987b6f849a91b2a28ff193db1ba715a157026fa442b851369e7e4c086aad5df0e2c9a4b598c4505e5703cb9e2ab0ab8b9c5e7266f84a8e998fbc799ea2f4e0de0db5b97161c7215c246b006c4f3ac9aa973df2aea96661a367d7b09b109d6912cfa84185947298f65274dfe9ada215b172693cd75bd9e0008f07dee6ed159933fdc6940f5a31e5d31f27b84f04d6241ccf440e1ce534c8f16f6f287d9\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-256]\n\n# tcId = 71\nmsg = 313233343030\nresult = valid\nsig = 85391950b1f67e9bec6620913bab3792b34285ca2850c2d6767452330c5dd76312483a50d3948a1d721f6de83ef915c67213e0bfe8dcb307905e68103b71f16bb96328e44f4bc61f7fd6d994abea65b774559dfdd3dbcfff7608855fb74d91b3c8397b42f5fec313abd9dc599f0091b419845944a49149ec41ec526e9f5291904ea68aa6d974dc0f771b7aa78bec702601e83d3f24bb3ef48a7712f48dc6e2fb0ec718d7dd0c035f9535b86eafe1c87270f5782f68197ec90dd256ad79efb0f52c1fd376e8a980b681985dfbe995406c17cf919f49ee3122d79eb94586942cdd2cb9fdafc870081e6bc93d90cc5755812c818f1605d652552f9eeefbb8d46819\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-256]\n\n# tcId = 72\nmsg = 313233343030\nresult = valid\nsig = 058cf56a97bc8c274af169b3918df40c88df6f1514903eb467a14ea7d264ca79f56a76b236f60f3eb30fd349c08dd8066aba5983f8a9c2086dcc3e66839f33805e11ca2a39d929508b296fa477293cd6d3314cad77f4757f4c2a59b8946d0a12efe19ee0b534cf6f709ddfd302a9109b5d1caa95b02f903dad6052be22d46f84ece5d3d683fb9689a7e2d1161833d98116de414c8350e48c8ec41902785641c190bf1a14bc5980a5f650bdb1c401ae1be6aca24d5ce8d911d76617c260a5d744ea9ffb50829c3da1c4dec0de3a68dd37e0bc6e8bfb30c2d91201afff113e78a739f074f1725137cb39a62bb130bb5c7c9921cdd5431c078f09d30b2060fbb900\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-256]\n\n# tcId = 73\nmsg = 313233343030\nresult = valid\nsig = 03f634b2c133e157c7955445082102a69228131ec6fdb9840af28ab45c62e20cf832c055418b665a4958c02ead8ce77d62852dc77b8e427bf0326653df718ef84117af503868cc7aff3c4bcbbbe6e69c3e5b14de31095e3b3b43701329a574c7e2c64ecbe08f3cffb0429ba429e83c206625b9be1185bc5df34ba5a58fb20e655972faf6c0f55a94db6cfe975e4506c6ce4572ae5bd196e2b108ca9622b9bbc315193697858094bb8007d8c007674034375cb1d4092e28262216aa44d12edadd1262291cd085eb8d892ae461ae6c227ee91b7be1521f53b332e1c6bf7a3797c92cc86b738d306553bef975ee7fc6f0a968186de390046ce1f51fab68bdaf4ea0\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546", - "a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-256]\n\n# tcId = 74\nmsg = 313233343030\nresult = valid\nsig = 46dd15af9e3e221e85d682f4942a8c7e4d31a3bbaa909f48e041b3f582a9e799e9125e6b5c6fc35716e73da6a707f8a2c59c49ac0f4f140715b9c51a6e07172c5c9675f3abcc60a46dc671e866de78c238dba6f34e24c15578ce9d9869a915056c550bd632e49ee78067a7d20c597797c5628048d8286218d1291e759b49e6fdbd617e78d00d8953741c261bc5ee0f27cc61719057c5494234e453aea6c086fc6b63cd21d1da0d160db4a1b80e94f19f14f5d3e8c5291926bc815a378e8cf8b2b3036b02549854bcc0ab0634d0b9e70570a8fc732ce0f12ad927e67356f9454ef5f1e5f89766bc8867693beb4e852e6f2c19ad88e33a435548bd8e840dcf84e9\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-256]\n\n# tcId = 75\nmsg = 313233343030\nresult = valid\nsig = a1f187aaa6f2c383b5b88fcd59d80a58475bffeb05049e71096b0e396ad6168b4f98d2be393753469dd48107e119eda73bc7ddd7830a7772d19cb7d799201b534361ed52ae91909c2efb355ede49f16ca7648b21a0c4a1746ec5bb48cce5b11adca074d79f1252e906331eee3abafa6f985205f9c64dce2a954ade4e600f30d154494be677141e4efa12e5fa86e79cf939149bc30e73627407455622515064b5b3a7e3f2816d67ef59eb499c9cf92b0f9f78a4b21ef7c32dde4cb89461f6c7280dd9d90c403c0dad486c22f039a16524a31644b635f05bdb615ffab67df491783c5c85ca19d935294c6d458a65ffb065229f408596b0be0327d5af052845bd6b\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-256]\n\n# tcId = 76\nmsg = 313233343030\nresult = valid\nsig = 3eb30e9c91fe7f0c0da8041f7441bb3ffd542e63a8519705a9941883aa13cc5ff4d5c14263605687778edbb8c9dddd4828524342879a6c8bfa6203d85e338de351608ddc987bcb510590276ea691728d5c94028e10fd47f209c4e4be369ffdad3a0483cf6c8704af3288e1b4b7f4ff9deae00f54bcd068347ddfef7c3bd1e2d05be8e87b52c8f348806898f0cef7f494e2c2ad3fffc73a39d5531c629efc0a63604c4173af03ad73cd71cf8ffa79a5cb8cc10efa66004237a342899bfa81f5a47e76776c9a626d49c6bcb051b168357d5ab4b7e51c1142c86ab4e52a6b3bdf85cae768841396da036a733fc15857078ea563635ccf5b366499c550c63dbc449d\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bc", - "c20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-256]\n\n# tcId = 77\nmsg = 313233343030\nresult = valid\nsig = b261dbd4e96d7508686709dec566282ca192a0bdd1f37aea4d0530e07734cdd664d933906ea5bbb8616d1ca5b8e893ea85c613e6ec6fc94f4fb500bae6b356af8419f55ccc006781f6916190e50f411bd0c0bcfb729d2b271a4b1b30a80f53dcd9393950e595a2116e27be9b2ca1465e0eb5dff2d8f9d524c70d06127d9bd160eade8328452967739cd5e372e56ea098a662e8f5868614e0834cd380e7481952428cffb9e15daa66406c025acac8a73d63863fe3192c1eb9806d42f4add9a2c9c608c763efb64561c2178f90f46b34dd967fe6b0907bb13d2a13450128c43c8b4569778a1016495ec317dc21475705d6f95843bfb5f8f1029d2f257905ad82b8\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-256]\n\n# tcId = 78\nmsg = 313233343030\nresult = valid\nsig = af289127c72413c318120f8a55752cee713e81786ad2002fe51db89e18fa0ae98afbab320853da32aff8efd5d07c9e9edc8211c53d6cab61e4e02827cc80b0ccdb8ce3a5984bc7810b284384eb6afbbfbdae51ef15537893737a46a750b71a248a257d4e15080201837a69cffb5a1eaa2ba31549ab2737fcfbf8833db9692db50cac6d22d01379aebb00ee43505bcc4c151a84cd5b1da9d58122385d1aca9cbc3cbd6e4568b8efb51f862d170315ab3172c40dc36e871a10f6cd88bfce13b384653738875acc2ad47e5110fcd7702a1737ef459cb49d70d3df4e6f29d2bd6c8020c4c77c3124fd5d53be435b0dbe8eab6a70fe120c5de89717290cb8052aa405\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-256]\n\n# tcId = 79\nmsg = 313233343030\nresult = valid\nsig = 5e6d645c45e43e756bd8299a63110e9afd6e8055b1759f29058208787222d04942da32b858cc355c089cae77751826d13fd6edd8b73d3d93e10558aea863af16c739980ce381fb092eda4ec6b0fa0f40d91ef98b3b855e557e6fbcc15ee46059b75014565fcb826f4f51662fe37f42bae43a628d70f0d8b49fa2e00fea84a22091669b9601964f7dd9eecdc1b539437ca1ec1915499c5cd5f6ffb38e9585c8baf39a283231691658d5a1cfb1befeff4a005804d050c339a681ba27175d4037a8eec6cb882972cc0a408a0081958d2ef13de4f2cd0402a1c6282eab0a8ce418e83f7f5e3880e88d115202c4c481a09d15c79d7388c2561cc724d9ca94e1f33b47\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-256]\n\n# tcId = 80\nmsg = 313233343030\nresult = valid\nsig = 47b07a933329375d1003bb984be0e9a0c3b6c736768f5bc36bd314b9365b525f5f55185e49f4383125bd01f2eafdbda9d1e8b51e0cf5735e5ae36bbcdff9f7e8f6e2449b4d58477a4c9e57f83778be2c7be22b7ef0d5ae540a87b9b7ea123372f09f8ea111ef1816472af9b391122745accf09e0f652aa58a6e79d4081eb3fade4f4ffbb3506c4aa9b8d00f793c4173636ace4f727e7adfa59a40940bfa652ee6faa6dc6b6cc16d9ab34782951a099f33636e810776f212924c9a4b4788a20f2106b8a61529aecca14701738eee59a1d0c46c82b902f5e4957772b9918db556c0bb200321b5d7516d5b0a7b67f9427db0d7da1deacde2ce7008adb8bd4f12542\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d", - "211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-256]\n\n# tcId = 81\nmsg = 313233343030\nresult = valid\nsig = 8b9b86bc3d9f34d2514b54928a542be358c22574ea01e254526cb569841b55d429f4fc190e7a4aa526781e439671acd1189d263a8d7cc8dac7f0978a091ee4455c030ab325ba55adde20ff5b4bdf9c32b9d48ffd5c05e6b643cf7c2827befcbb745cbd305b6efe6d38a69a9e44faa81a1b8481cb141a72d52fb7bd01bfc3db962ac79093931c2fdde0156db7ffa0da461ac9474419ddd27b79ceb55dbbc5cec9d957c4967d3dd2fb9d43f2aea8b254a7428c0e0aa93835bdb82634d125e3041ca999bce5eac7f0b28f87eaae8dc19ea312085c75c72d743e8a6f9c20fd659b0534ea76be885758560abf0de446f975f5689ac83fdbce309afce89f68d551383a\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-256]\n\n# tcId = 82\nmsg = 313233343030\nresult = valid\nsig = 67b898d0a5794d80c30fb977e4ec96933fd088df58b2094c9e5dda132bd23fea5820da6dc0eca9cb9f7af7cfdec61b94c05e004a7d1ef18310e716b70ef15fb2e33c856ac0b18580a735eba59b5183491912ee386f7b498370decba37ace8c50608b5dcea22678b5e5db20d06fe25c554ca2d29b25d13c3cbc981a8c9afbe73cd260c9dffb9f3561af8a9b459955072f31621a20941990b04f27e1f88e86c3dc8915fea08aacb41c24284e0ea5bbfa1a7cc09ee786dd0eb2de28392ff15604b10d55f0959a11ad2a895b910cee367764c61daaafa49d60fe951d8e143a1d1453843cae84808bdcb52919a4954573506cb69ee93167c16a0d8dfe89527cc5108c\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-256]\n\n# tcId = 83\nmsg = 313233343030\nresult = valid\nsig = 5fd7bd964b097ccf7daf5dcda4946d8969d6140ec7f4208b2593d36f0ccdd94e191b85d3c63dc56b4979b3193122ba3e122b6cd687ff535ae6b78635641173ae76e32ba6cb50384a2560600103cb9f2c1e540c5f73d1434535c8ada6f62ad830838d096df9afcc8ee129f2b3dca499aae25965cc068c2be9b19d3cd4e8c5c7aa69b6c8a6dad86678edb82e906617794baaa0577876ca26ca7b637d6d4133a371eb7a32c42ac0431bf6611ab66d5621c5ad4a94f2ce680b4a8c21f7a2c1a66cfee9a802362041329fd6e1fd66e7175569550bb865f38e6c1803829c537e2ae0049dbb5509cd4e0537b7e1a03eca9b5825f90c091f81c480dd19f086632b0cb338\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b0", - "0b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-256]\n\n# tcId = 84\nmsg = 313233343030\nresult = valid\nsig = ad477628385ba60a8c098232fc75e7d4631b5bbfff1c90eeb9f7a9628ea33a808c3b46d86af5c10d6c15cb8827e9404db420aaa18669d3110c3af01375dc9179e6ed900fc0493ce1a470822e23a2935d6240f6ac0e965d8d1d3aefb73e34572db3e807ca0732f4088fea9fb001b17f5c2e575f502f17d056c72c139ba1b9b44403684e25f60ce9427933d9c044757f7dd1f533f7239a7e0c8ad90a4b564cf304a928b5f0a30253d3a4c9f38a872dfbd3af0bba3a4893ce4fb9cbb082f25c2d700cc1b1bd57537abb01cd9dc4ed472ee3d6e5dd1e4604ac118d6d1210d5d35c583e4dbc93ea9f804204d81f509e4feabddee9cce6877d4d9b79de13e08ac01080\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-256]\n\n# tcId = 85\nmsg = 313233343030\nresult = valid\nsig = 3bb2c2b51524d29a8d6a11ec47faee62599f2a310ce42d578725d19d050c1051a1bdd65ecd7e4f1c6e4bfa0434626f933bfcc1532bbbee1ad9b83aa888d51f92f35795a46d06c81970a6f6f8cb0f72a57e62b33e64517c1b2625b11458213919f4b96ea4956143d8d658bdc7f5600dd0f301bc7a85a5f785c91cb345413fc1b1ae9499c68739ab963388db47f7cc816bb53f8169cc8f8ae27f7cec4b4366ff2ac14a5273eab9215a2815fb71c45a274bd4c11d0a7a721501e41f30193130e7fcc150b5c54df4728bf72f667de4f3a8cf6fd62faebf1c2fcf33dfcd694120532c7a638a6f1da9846c36b2c2cfbfcb8782655c743d9d324b4fa88bcd16997f3c2b\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-256]\n\n# tcId = 86\nmsg = 313233343030\nresult = valid\nsig = 275e2235dba328642b7e5a789203119e49012c0006858d0143dd571c67ef8757c3d90f640bc0c73532889dd7739cb023505bbb6f64fff8872aa2274fdbdf1a698ce03aa24e0f985c8e503d093bb138388ae98dd16e9e3f1dbe65a9f313b26dc8d35c527929dc1fc6c387be538a13c97de30a8460ecdb87891e233c826be75cc7f598fec0301dfbe3234b2940d61e93b2e4e6091c19671b7f07033c9f1c6ee90eb99abedc9d6a39aee952329f34d617fb106cfcf6e95fc867f2d991ca30168d08259b12dc974fc74eb5b03f9209d208896b88d0191dab425b7e9ed0c0b6e598e7284b51bb276c46c1b4b60f6c92b1177832ab26b69fc579e7312cb0114576d11c\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-256]\n\n# tcId = 87\nmsg = 313233343030\nresult = valid\nsig = 28b91acc263bfa8e50742e54f6a7cf9ead9cc0ed81ef2a063caea8c8055f00d1d1cb897f84f3f832300031d7293c98616a994b2944a4e2bf4765c573ef8aa26db4b9555b55194d2a50985332c0b3e449253454a2b17adaf293bc5ec52d6fe95b6b7bd997741729bc5ed68c2b53e426f4f27b533b765cc58657133566793356e6c4ef8f4a8a0192f2501116baea02a11c7facb9c602eca510e4cd2066bdafc2789f13ed959e44cb3f34f7476e746c6f3d78eadc7d0152fb37428d0d97b52a9f90e47f74b65c3c0ee0f353968c703972262c175f89536e8ab3c26906525d430aaa82d2aeb34ffa70d39cc777bb03e87cd5e5c8f93d37e291192a4f333bc857e714\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad", - "5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-256]\n\n# tcId = 88\nmsg = 313233343030\nresult = valid\nsig = 05d62a19dd4bc8fcd622cd55d6762f7f46f9928b1b1806c92591d432c4fcba91ef9c834c7d99fc0583634d77f7d2a6cf8ca525fbb3ac037b0df8c3fb7da46044c7a54780f9f83aa897d51717c44de91c7f2605a40b3165da8fd92eec6d8bb6612226cf7fcd4c918b7cad68858eb0bddf70d5823986cb580bcb3d274097911acc1dcbb61c9c77daec84251f0233749b6bb03ba5905ac29c6f8485ef9e67c6290c862490bf49dcf4153961abcbcbb30e17169f9465cb71f84873675d9b71f5c04b44dca8bd2501b753869e04328c0095fd4bcfb059324c4e8a08900d2012e25bdf56853fff41e333a552bd1eacbe384909da86845f960d31e8ce570770f174d714\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-256]\n\n# tcId = 89\nmsg = 313233343030\nresult = valid\nsig = 03b0cd1b267805404dad5ddae2cd341ad2d4d4ec35c764ef7205e1a6f0e437ad41990baf569b9b072a2e4d41a8c969c688a586bed3da319ee471f4abb6d4a0ab452eec6e5ed67e6c138befa3b8784af91f158185b11c1ba141bb5d2bb9ab8a759139d19fedb2af16b230a4ca00da9f6f9908194f9202746fa51a1c3372d4f3ef58f61889b67380ade4bbd53a0273d27a37764d5aeeb06d2bd96398d5d2c6f5c7b9718313598aaf881d98262e67d709aac76b6d397727df2c607f7b682adb76cf9b8e58ef64de1cd815a36bafc79b270acc30aa8a184f299ef217cdd630d2026a865821f29d82b8ee8e4055ad45e7388d03a5f319158895ed803e57c3c3b11049\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-256]\n\n# tcId = 90\nmsg = 313233343030\nresult = valid\nsig = 7c9132adaaa0592b7bd0f8b4de70b28c5f3a04cd777e90e82758b95f368d6f7bda039e134ec383c5cd15e67eb75df41c03bab87d60937d5088272392e11e26dab51afcd73c00c0e167fbb5d4bd6939691788603386b8cc90458679111faf4af273b3b32f4ac3790cb4f4d88b362d11b8f7897472ba3c8a6963fb7f708bf6c44a5467646c3972719345ceeb42000603a1b9fc0063719ae44c66c6e8ca989422add2ad533465b954789181e403049411585549a44f0da9abd6af3f53d50238ebbd5f4a4e41e426255c261322d415f3e82e1bc0b889fe80a518b19079565ac7c44d79707354d15872e95e99262cd9d8185804fc923299b2baf8d40814ad9282164e\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fba", - "eb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-384]\n\n# tcId = 91\nmsg = 313233343030\nresult = valid\nsig = 83a3c6df7f928a467000185413d80212bc568ff3bb42aa5d6276c2e52bf2dbb4e44d27c7845f05791deaaa62cd1d3876473454a3a18538ab0552236ccabd63c4b7d98a2d38228c66cdfe9bc8f5d7c60ccf66321da62d2f0cdc168f95846c4bd5f70a918146bce9da84d07e2392d2e0cf5d3d9bc58e2f0f64ae92d90a6c5ba37e074f0328c4c52195c546bcc7d46c0dfdf9bce167848bdc93d34a01a4325d5c1da84492ecad974ed1d047cdd69cdabff0379f2f17a63e33b732a2648d5469c6260eb96aecd7e38892f595e3d1940830605260d2107bfd37d7db3ccf31e39404a0f646673580e0fe7cbe151d6bc522b8d532b2bdfc2418546d802c77ba88ff59c2\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-384]\n\n# tcId = 92\nmsg = 313233343030\nresult = valid\nsig = b1accf7eadc4dc201a87e535242e9d929d83d7621ee97ca27802dfbccfc5f8b968139562fb0df9ccb49178e294c5a78bf0a8c3f3239e762bc7077a9c0befa69d8904b70763cb2cca86e973924240820165aab285a313897eb034d2dd7b9c4e8e1781a8ececf01c610737443ea98628e94e8d94db6ab32687322ceb3d0cc5ae7316f7736c3fc86e8a911b30c6bb80c1bbfa33d5fa8b5d4fed13ba433f66c1c3235e4fdb2aa915141b34323e64bb39d47d3582ad2751f876d22e348e5c4eff9eb38d80dfa0a66f9df9e1f96adaba1d513903c3fbaa8e1379680015ff7fa659f265e8265c5817e742901d9e9c8c9b31e04c50e60fe4904fe9a9bacd3e133870a388\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-384]\n\n# tcId = 93\nmsg = 313233343030\nresult = valid\nsig = 393ec2b5fd66fbeac6cdfb62f43f832483c895f7a99df1d44b74155c9ec7a4174ea80f0011933d9a2988f2ecd2b140120709239ca412d2cf93da30f7626e4d2e41051a29846c4762a7971ebf015786ba720e929deb0f3ebdfcdd4dd9e08dd9dec59f31697a6e41aa20567b31aa0acce622508321a1f0ccfd6ef85c99bb371ce0298e5d501d2597b0508be6838985cb95051c1271b4c7edfbe8976e656488ff61f8ddc291c873034e32fc7ea65dc59503bb49ee279d6aa5a698da77f6ac20d63603308efc20067e903dd3414599edcfc488dc1b93e3ec4de2fca1be8772413d10ab65058f9f1da4c5abbc3e79965ead7cb06b4f0752d8725350cb84c3ace51a22\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-384]\n\n# tcId = 94\nmsg = 313233343030\nresult = valid\nsig = 59ee9757c6d77e1a29bda4c2d0c69afd89a8da8cfae62bec1f87068de3c855421d20172c080d8d5ca24f68009048ea1ba4a72c397a6178867f21f500cfd8b352e4cf02d99c5b084d6bb5001e20e0845b62d3baff8e86c5a9a8d6b5cbd90a215012bff297dedde49978c8eef69d7745c586717fcf3615f83da251af76a77b2035a3bf94f705fca89d3dfc1feaefc21a1990c9acc83ce5320112514e4f9a4bae264f0d6a100be4a44f900450afc99679f07ea0fbe8ec494131830602d571352eb8f7c51812d06b53023413ac436f27e8d9893438efa00ddbbfab975f18a25c9f189eefd90dd751ff7f36ac0ac22e1514c8fa1882af05514bd6c328028de28db79e\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a9", - "55bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-384]\n\n# tcId = 95\nmsg = 313233343030\nresult = valid\nsig = 3a44e84f982a227dd65ca85621eb786d89f86f698251f0e297d607e94c59ec246aab8df5601bd1dc5959768dd13320ed6a9fc5d8e2424d251dae9514bbffa8094ae48b226f87a1e62b0f50aac3de7ab50dac7434b1c72fc6b6c820e0c653d8477837ca12bd53a2435a56201667d0241dc1f5c2c3a73e4c37fb8f10cfbff239cdda5eeaead887a5055c8a2f156fbdb7b5ecd458cbb8baa3b564046147af1cfa7369ceb602e9ecf5d37af5e0a8b7936410d2dac61883e8e8613519e2c6a88286099c7a7611704052f4c1c04f9b40e64bd0cbbdb909bba13fb47cff47594b3e1451992ec0ebbd4d14eb72cd4d3684244190bf93faa3cba93edd3677fff20188d8a2\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-384]\n\n# tcId = 96\nmsg = 313233343030\nresult = valid\nsig = 4800faf5338b7795a8666a28bf8a73f33193ad207bbca13dc3f3baf6397f3762e814c237f5512c99dd1e5124892f7da09c8d2ccae562c4fdfdad929f1de8fc3c434e7a99a0e56cdceff69c00f104ffb2907a064da0e5bc625767fe23104831d545c1ef1f8267a0ffd61755bd8f520ccf797355879faa752ed8d59814aeac713f34f07d8ea803c90ed0581d753646d559a13c4a82cbe04655f5d404b26818447074f0e68012f95acfc59e341e6be59901d00b2f7f41bd034213624c4f33b3a002aca2b8447df255278700edd31d2ee272c248eb2844721444d4a38344fff28e0787c2f138ee84f7cbcc1d4ac96e354ba8baf67793f2466c4b48f39f37253e8396\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-384]\n\n# tcId = 97\nmsg = 313233343030\nresult = valid\nsig = 4068088a052a019bd405635272ed21a3bb7699ef4bd220f5da1951aa419fadf417d3f8187d49ee1fcf17f358bf4642706df684f1eacb8424ae94dc87ae4eb1073969e8f874d4972b671db37f3f59f210d50a75b6f8dcc20a2749253e799b3259f9a95ed5da971d093ce2b3f388b14778dad85b14eb404a3cb16a183cc732df393421d48fe0094395b90270bd760ff7a9fbad19d52a24aa09255d1ec098c878d18498fe9929a52f699cf7a24ad63727ba88bdb3db6ea7682a06b7004559d1f5346d10b709e5c93a8a24fb1487c532b7e7a87b143d22a2213f591e7b3959b420593e603f5beeb4454fc8dccf0bd4d3ea49c8f6ad67f3ac90aab3fc73db8ffbda2d\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a", - "6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-384]\n\n# tcId = 98\nmsg = 313233343030\nresult = valid\nsig = b7e5e12ca4ed531ee805973691e1d971b79aea502a7416a56d14e49c301482668323ff8bdc02ab49c98ec0b2c67f6190cdc3ec548ca6fa05f94a68eaa2111f01d6e3aabd8513d3ee0a52538831ec2c58766b6e28cf7d0b561a8a2d3a54cf30a98e777469e1b2f171f8457afce2e0b61ec147dd7eee64d9535465d626092038b848b556c2d488fd6169cc1115e10dd05a4b77a0560fcef4cf3ba608dee6a33e09f00e014acc3a2e3dfeeb3128db53b1075c6922f9d90e70d0c7de60c57420668b850be0c127d2683b38ce13a6dbb7c9cb9d2beeb7e00613a1385df1088b38288081f2120e947d522a5a145b899eaedc21b9072b201d92efb8e1964858e37574cf\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-384]\n\n# tcId = 99\nmsg = 313233343030\nresult = valid\nsig = ab24379ba46e86c915374d26ba25217282454b255bc8a675d7b491b7d7ab763d7ca6ad735297bfce4334b72b2c74fe68cccee1b04317023ee3271ba6b674b87237f141e94c2d446fb46344bfd8823741ec931ca8105089c48eb199315dfb615e17a4aed74f9654a1cf5917050ac6a2065e2f8886f4b3fb8ac092891ba462ead334cb64c4ae1a29537ba4fb53aa6bacf521a984c7c9e0fd0eafe5fd354c75ecffb5ec356fb34f2af67593916151f219635ad7afec1ce8a779083219d7fdd1e28c9e78fa6e312ef5507b77711e2f58934b6fb43379c607f99e6b4f449a0b6c4b5c723171d63fd74a34332ec54a2d0f4d1c31090b8bd5002c981d2986fb2dd7f5f0\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-384]\n\n# tcId = 100\nmsg = 313233343030\nresult = valid\nsig = 6cb2d2b7235816f9ec77704b9a92e10f6fd545222a029ebde456fe0a7f47711d26ef4012e6445fa455fdcc90525ce4b218a0cb7c0002f3331acf7155ced2b278d46bfa676661d0cb8dfda8048bd1066e46cfdcc3878b845ab0dbd9668bf10fedab8e971b6ac7b42e84ce0c7d51ade27dc317306a8e623df8ac56e15f3cf00992408f5644e17b736550af04361bc7b5dcb10da9f1f7df4415f2243baccf32b500d69dc3802060f66cd5ece6e0bbcdb9d8c1b2152d4e747e8e017889a7a9c0e71abe1dc6c8f4593cc913cfa1c68c5c85fb20db5dc27297605fcd77d81fbb9d114f5a343c0753eeabba92d3a6157925598a5c84022de9ea913a2dd2b86610456202\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-384]\n\n# tcId = 101\nmsg = 313233343030\nresult = valid\nsig = 9c6221f623e091e133f137f82c3b700c907e794ffc567e00b1515f5b7dcd6233043e804d85692c1e9cb9c4a634fd3d798b75205e599a149681fe8c8b766d3b9dfb1e50ace02f587fa903a92766182e55c82afb10893bf29ca64915477abf164d63e3c860c5330169ad4a771649ff2c38aeb36a754aa98377fe8903243dd9342c4c8d0753f5b14f05bbec3e2149f74a5863f8b29733cea10086aeff8726a0d3c5fddd037a279843e5e99130172a19d8fa8b5d8ad2815f6f06a55e413d574d4805572c6256b63e8b8eb338cf54645e5e6e853da7250450c2488acf1e7b63ddd8976b0873d01937b5bcce8cf035d41b4fa14012355c354e6ba1e3c67446325fe224\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c", - "927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-384]\n\n# tcId = 102\nmsg = 313233343030\nresult = valid\nsig = 4657d03e8657ce1d5a60d755765dc8ca3ac956cf8f9025cca0261de70c60dc3ffd3205db3cdaaa15500b652bbf82321296037e2efbfcaa903def52d1d4519df9fa9fc5d4c36912533cdd3d8c78a72c07d16b6240b86a65bde7af5bab617ed35e3b7ab46c93d9857a64cf83109afe83955ee9485184640ea7bd2d7a20345f0933856e2dfbd2ba8905c377ff832da56b9d7bcc27de96125f5c22de218ddede298c95ee20d9bd96bee608daf37adb51e7c8d221c822bf2b030dec29478c208b966b2f6968594d6918e7a8ff705938978ff56f25d008e3f7ed3c90200c5cfac5ba7009c0adda69df94621b0faaa79a23dda0af878d519769e72de127daf69fa3d62d\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-384]\n\n# tcId = 103\nmsg = 313233343030\nresult = valid\nsig = 27c8b29e6cbd79a0a564b7ad856b360f8621fa91623813e671536fccb69720cd7596eb023caaa4408a480a14b1b17573d2a190530d00912c5a8430ae29be99148e3ce0a83fa5a7895fae8f2a0ea0e56911e69efc5668018b4fdcd7ac6c147713780b35950ceca07062640fa8b2c946c7dfdb09f69c28e6054dbd25de807f4ed750985d5c21059328a0da9ed8ccb277d473c6a78f873d83a5dab3675f6883a73103d998bcec6e91150338c9b09b847e65c430a64337306f9af9ccc65576224d405764c239e2b1faa375d92cacd09bb6a0ec2ce61615e4319ae1e49183cb0f9647b450497ae900fbbe22de24b31e0f2cb0c5b26de13699225534c218b08e4d425d\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-384]\n\n# tcId = 104\nmsg = 313233343030\nresult = valid\nsig = 3e4ae7fe4888ff711a348489a4770abfca50ed0b60ba39c6101972c96dca5428fcd6e2f43ffd493f1de41c22cdfcb327a7a3d43ff3c2218cb6c48a287b885373e8fb4cdc1c799ca256341eb577edf238821e9310f0cdbc98ca2e48f7b1dca5c1b861a6b80f246f7948c29db4b26c648f66573b4acb058c36a462f2d67fea2d23bf449b863c016f3a622320dcb3760d0da34f98a51075b15076e03523fdf370a2800255bbeebe0c0920a695c6ca7758e81ece1e199505df880b365f3b4ee897ef7d04c303322c27ded183ec0d432784b6efcdab558e214b839ca8b0cc4daaf80099f69b9791f5584f0d21ca4ff66f3acc3e5e003a6defa681ffda0a58f8db8861\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c39", - "7cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-384]\n\n# tcId = 105\nmsg = 313233343030\nresult = valid\nsig = 89e34621c15e6638469bc4e4d95243f1f0ad698e3f374dcf8bb74778f1d7edb5481b22ff1cf1f0bb30ac2f0e842816862e55c9e47b87dda5d05f0b88e02662a4e0fd456529b535893411baddfd965771857b7ca1504f0b0952f2b60f24139db821a45020911e94e8353841756fff109795914a46b126d8e39dc9c0d2ce4882f80ee843bac9060da62f01cf56a3596981120228acbb1da8f5b89415dd652b1458c21ec51cd2fdd89c391f07c15737d7485852b37bba45f27d95fd48d3062ea22019dc9088e27b25acbc486250485a7aeaa08532a5a9e07a7a7675d32a178675ce51a3a0a756180596742c8446b0383b37e86fa910e76034a2648e93a80db970f5\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-384]\n\n# tcId = 106\nmsg = 313233343030\nresult = valid\nsig = 3733f507187912655231dcf642ad9f7eddcbb6db32467a492ae3c30b61fffa2ed141fc2501d11dfe3b36ee1b10754368ef9a04c75aa2c1bfce20e0eda4e46a6d112e29827c03ddfb430f386c9b24a7fed4e8e26c7049ed09ddf231dac183d5046fc1413e86b697c1fc2eb30f13306ea049467b4ec3ac37f56ce824e6f4797640c7ec46a2d28f292824e02e5bde9dfcf9e099df06ceb4911cdc5fdba459bdb19afce8fa8cebd0c64a880655264f35201ee5b5e4ceddb64e583c1c849d6ce8d977f3e8424d37af6f5b810bdc8bdf0ac384bb0dc75856317acc12b66b0a9081ae6d2afb6eb38684df0a8708e7ca45809b98b3ed8092abd77caf38529977b9a52b8c\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-384]\n\n# tcId = 107\nmsg = 313233343030\nresult = valid\nsig = 73c0eea34bccc2165128ea9141fa6f39c26fd88c5282cbc26e36b89016a6371ddacdbbabf278875000ab550949a5a26d2672e2219bd8df0ca7fd4d4257d9af6ae20ef7bce5f1b5ceb83ccab2c2e4a47a248493ae85603220a9bd3ee546013bf55cf1bd25255603e54df67e551b6078b442d188f0b25dc5ea8c33004f126320691220f515e74d3548e3a08a194786f1d42e781b0d42efeb461e2afc9304254f2c0dd85e4d80b16ba0d6f356126155bb99820f00c17d307bc7ca677c93c393ef9b2fb4bfe75e58763463909b1a3957f775f01f12ee8aba704a63014f83941c3490da4515be2d4ad1dd43934abe1535def1b3bfe58a43bb0edf296424e2e432003c\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-384]\n\n# tcId = 108\nmsg = 313233343030\nresult = valid\nsig = 1768cef965b3e5ea372db44e211de05ae4b69c2ed4465084e9e55e602b4067d1058dccb02a717022f896d2fa2f6f56bf54cfaa73ec21646dddace99e3c4cd6dc2a3c9ec1a68cb91cdde9d56671ee866a3c681b867d126036811e306cc7320bb17d6a025818b468c1052661ac2475865fdeb11ffebd9521d2678fed02b9b3db221b3bf514d8d7a7798ab6bb077b94cb1bc22c541cc15a8385557e85d3c88f622e93e11193b631a331f993138368992015fd70f8cb8716822b6bf418d2438279948fc3b0641c9685f1bb853e5cea0568f7e1c040c13303cd907837b952c1e1f3eb6513888c5cad439e7206bc3f9b9355c5d91263df9f284e5f014cb2f052e4ecf6\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 3082012230", - "0d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-384]\n\n# tcId = 109\nmsg = 313233343030\nresult = valid\nsig = 55e2a51a5399a3ec9ea0b4bec415f1c53fcfcc9e0b74cc27c80ba07463be541d21e06b4b40b6bcc3e042bfe586ec9f036862be075d84956b0d326d92ad21a150148c9def31a9004c19d888ca4b46a48532497793d9e2d61f305a14f95be6e4fa99c1b9b1feea9cef980353006d71c2cc3105fa0f430e86dfa41743b118aaff6d133d95c52f6795adb53fc0f18161f6740a240e73f8c85fc64d2e74e2338ace4d13e11e02b0f3848038fcff8392a166c581e9dd1f7b8263dfabd5e20ca7dbf01cebd551a26d85199979a8b97c171951d604e9e009ac8d19965c079aa4f09c2eeb6f1aed989260761965c4f9aa135f0ed728c684ff555b3dda4f136369d3fcb565\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-384]\n\n# tcId = 110\nmsg = 313233343030\nresult = valid\nsig = a9169a0553a8f0f904b0a4a00dcf5247f87bb8e930f180aa2a543cfcd17b07fc1d627fdb061fc6b6fbdc2baf89d3bd8b2344f3c7c5469f88484517243d168a90a963408b63a848ce9fbc8c12f358e553ed624b5ccdde8a941a4f64d29364f83bbf7ebf10b60a85d73c346c7e462e7859e4b7728930472a0b2e67eb836b4d65b20c1cda68f54c9b7cc30840b1fe634176cb8e8be03ecd2b9f32ee3cbc981f8529d5a205d0bb6d8aca576b69e6478f1c033b1bb16ef1522a7ca5ea1f7cb71230681556e3cd1ef488b42004236f9e7c0b421e04bf746670f9c1d515c23875bb980267fe66b17050304db258672b35bd552da1e4860af4f564df3056b543794cfecf\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-384]\n\n# tcId = 111\nmsg = 313233343030\nresult = valid\nsig = 0bad39cd8a9987eb8c5af65c8491f5d975ec833311d1ae98d89a4ede949b93cfcd7f45c2191f5a5def8371a2e7eb26e966374d21bd21e13c52ffa8ac4c45eccabefd0bd372389ea6f857e2d44f7ce548f2b18a6993a3ca81ea14df494e4c1646268b6e7dc3945a0618a5f4447a8309a5ccd45a8dc59bd3cac9348707355911ed09f4e2d5472da0f343be1ed908bb4462c86446bb5fd227761391c367227645ca51c4c4893735093fa508705a7157eab776a515a2e40360b50cdb273994b4e99ea5fa203aafc35490651c6e5869ad9879f17bd6e5c8b6336d0f34db6af8fa0a62bb01ab27b1d5eb5a7d18afa80b8ef3269f0849a99e0483757f3b8c93a27100b8\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-384]\n\n# tcId = 112\nmsg = 313233343", - "030\nresult = valid\nsig = 97618c022f53f7e687c6f2e631cdccd07be804873fc70e76ba77ea7131ea25f68d41e2adc6d8d4226a07ad915341a4c05cba2ec1707b14f5edb5b92a25dc39a6418740fb47852add908f40ccc8baecc343fdfe54d222cb2f9fda5d8a64333393707bd1cd2c4a88f13ddd7595aa4db6481115aaa5a5dbb41623c45d0a4d3e4638a4bf05b86803ae607dd8f97260fc3cd9e6fe58e3dc24729cf2a797543742205b93a0f92b32305eb3e52fc762f3333c26de543befc954051c79fe2f0dc2e2b1bb855827b6c11b34141a7a9275083bd246b6174af1b758afee37216961b40e6f504a7525e99eec6c9e1012b5c4b73cf73ca10f993c6a0fcd9b07eb9053f69c1462\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-384]\n\n# tcId = 113\nmsg = 313233343030\nresult = valid\nsig = 915bf230ab9b210ab7a6c648162badd5e56024dcc783ba9993d6d2e02afd2ee48e6624e8c536545c297468fe3e4e76c05c98753310a5df84c2f478ce53783f9b61008b41c260c2b484c7daea7f67cc5f715d81b07bffaead0022419f2c085eeb69807ca189b442300be8dd3b3a71e3ec7069156d214477074965a7d6f747c5188f10ad7c26614fa48474ede7f7a8957eea89e5af57c59a615d52e0c16837cde7ac198607c35726af9d9a8e4e91725d31f47a052dc9f4114dad4101d3b21d919ec4e06fc8df0faf91eea595403927eaba5fbf3f9b6aeef4721aa9a2c899ebd6f3821770863d1dd2de4e8dcfb09978f5c920382f0a843c0607f66a780d53436822\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-384]\n\n# tcId = 114\nmsg = 313233343030\nresult = valid\nsig = 03487a274dccab65c76356abbaf1166a6b8e40bf41fc19362e609103d68b0da623ffa655cd222921deabcc783e32cd922d534c930b2012f03555698c9548b7588094b578c20c1a740a54adfb86780366ed951d01b162d059832e251b38a103394dec291bc72c982c2309918629dc656d96a89b71f57520dbe8baa25b97e68be0bbe8483c1a41cb59f027808ba22b82413c412594191c2293af570f02cc24cf3c79962a46d063bc12d9da5c1b1f562141957d049536d491b50398d2cd8d968add3fbfa8637afe36cfc0b1b4d953aaabc3f73e94fdf72ba8c06d405e224ee80c995ed7b32553dec80590f2787684e8dcd10962e3ed8280dbc2217d819b9de79aeb\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-384]\n\n# tcId = 115\nmsg = 313233343030\nresult = valid\nsig = aab6c1c447d5b10d9219633293a369348984c8614698fd7c46e636e902f4c7fe89e31ef4d4064fda55dd9cfe8461713fcdf0f6a45c88d6efeb10ce02f8d36ade589551988f49158d3d546e747be0f9e65fa1b4c202aff09b5d12feabef52e921b719cf45147ab67e6f0aa9dcbba99c1c3746cb0cd0e3509ac1eed05a2ed91afa424c6a33276245a94a9bdd183fbeac9e7d93051643784f121e13e89b95190af7c51176cf71eb832b3eb73866e897816fa9fbf703b31f1952af5dd8c68400374bece4f1baed06f19c5c5d68a1df8e328af1c8f0779bb8f805f0adb65bad6bce1c2527d4cdb89571c833f09d4375d75dae5bbe17d47608833d1041288d658e136c\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabec", - "c427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-384]\n\n# tcId = 116\nmsg = 313233343030\nresult = valid\nsig = 1364a0181c685d561d44a5d3a735a2630035849de6eccb06bc52431c2ea69907fb08f2fd73c78ea3a849bcd48d2f62b89e370e3bb74ad3b1f9d663dd05d3c829cbd2d97cd4284bde84c293ef45bc0ff98eb47dac24f8b09dc39395da587fceec7a2f10bdef2eb0fc2fa4f01f652e6ab08986d95bfb15125ae5c26f84f11682e9ee4a6f19fb73b66cb2795127a9e98c623d8ce132310471ff6f50d1a7addb2d844c3cde7d1c7bfcfacf64b2880b50dee6a687123d313d74ff83bda1fe09b4c63115ac9c09ae8c936327b700268a3c83a56724a6a086a34afd5c8ccae9a5bc3225be35ac5d6b00f5a4c87466a2c5fa3e660126957d4cb4ebd064106c0456864ba9\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-384]\n\n# tcId = 117\nmsg = 313233343030\nresult = valid\nsig = 5210d4bac85e2ba4abf39b41c891237bd36447683b9ad80e738c1933828c6428085c0d4378b544ce6bd633640c058fa3dbd1d309920140ff4768c90710cfe1031ed471bd4ce30344c5eb1acef0713b02841b612c720d24276df366f3c57e5654585f11a48fe47d19f6296dfe2f845dbd91807f2eb6d9491f2ff26ccfec4f53c9a1d48aa7d0bd7adaf94cbac583f9c18d7d6fc99b85555ebc1dcb28e8193ae25fd1b625375235e609e8e9e97bd339747231dbb28b0b16d7a285171a791130a792627d890889a582aaf6aea853a7fc214e3a6cbbfa99a7083b86b4a8e0c69e7762c72e425b7370ae5eb444df3d539c8dfcc9011eaea130f5422a5be263b5bc66ae\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-384]\n\n# tcId = 118\nmsg = 313233343030\nresult = valid\nsig = 1bb37da5ce67bdbd545d59f368b339fdf5e5eb8d2178dd36279955c9b2a97616f380983f89b958c5c845ae061f71ac54422ff3408b9219c1e4328890a6757e635dc2d4b3ff2d9dd683e48c14649c85b2329f1b4ea416459566b63fe50cff6de769cb1a68b372bd1966cbc55919f979b7293bcfd59e299c18d0cd3198ef7e6f828ccc7e06dcaac9ef109e8232ff053e9accc95d12832941e5900dc312c552b5b7bf5c005220722fbadded0d7d4e74ef00e8d531c8bfc4700b4b1880312aaabea147defedeab15114a797333221e7171394a5e73c475be06396b861fa2baf7e47e59c2b77f31d3b753669492e6ae691ece8fcb9bef2162fd86dfd89d051716ee03\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-384]\n\n# tcId = 119\nmsg = 313233343030\nresult = valid\nsig = 103f71ce6260900e6d53721819ed2df38f8e2d7a873a5efc730c16c85", - "619b1ca180acd097d6d550fbe6452fbf0fe70c0a2299e3db88656bc347d28cd21e53c494e3c4ff28a8ce783ee842658863582b3b4473ebd435fd0b836bed51de16ccbb51308cdc953d8bfd97ab0f0c656b34c5d8c417a9206aeeaeb3b9cd2fce653ced21a140b156091754c93119fbeae5a8f868afdc7076cf65e9f1a14a6274bb49f6cb8c4f47b87055da28172176f18cac7feb463d22d841caba412f418e34a88a566d3c40ede21551a520d4bf8118840692d509fbfb18f1d005c2f54356bd51ac8202a85a163a60d885e3754c47cfca3518e7ec27b97df8242388bec5f6a41e1f0d7\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-384]\n\n# tcId = 120\nmsg = 313233343030\nresult = valid\nsig = 586439d37bf0268490b2c7d654b5b04418f6f62242bfb0a813a107440898bf63219518f32150e5743d7c55a1a0bdc9083aafc01729576a07f4ee4d1a12f1000a8490fa0d4dd035289a210eb587bb2e83fda1f9995712e1ee0aad7f787083b86af4913b2c5e4c54aa085d29b6b965b86e2caf70433c87ca864f94d68602fda1b547f5fcf132e6c5a341c276208485cfcc5768bf5ae467d06fd231a6b2ad1a0c7ca25d32df891f611093e9939a949e13154597025a2d9f5bae1f19bf11f6f67c37fe441627060ebc3a8b39752df16b6ae0a76f95af16cdb0e6957ef25cbf4ab89aca08ea9121d909c5b7c1b3c46757273cb44a99b026b7f939fec4f00b63e281ce\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-512]\n\n# tcId = 121\nmsg = 313233343030\nresult = valid\nsig = 65b14197a23ee775882c840a5dd631bcfebf6ec45d060d632f8ac00c3faa68d0e958dacd710674f9ebc9532dd0b2d1fa5394e69db283706929df8c206f7a8b311e14eb129bf153363a5f30b65e851535e71b9a1c46801f7591f3c16848042cc9e554e0f0ecd415252e9e61d7244bec0a8c808e35a22caf2dcd899806c0649932a0aba64d61b92a5c8be887aeb5bc50781e8969072ecdb6da96baf59d667b95c7f0d51c4e23636be837ed2c0175c5d42f931b152ecf94e8c6b06499e900c392c0f3bce47176e8507f6d239a26e45005a8d873c76de1283ef852769e13af0bbea460d81c8534bfdcc6e8699070d44837cbffaa1aeb3b72eadcfdd2923e506d30cc\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-512]\n\n# tcId = 122\nmsg = 313233343030\nresult = valid\nsig = 90ea824d128bd7c3b7719dbe79e0fe4e34660badb908a3b36836c8873e07a62086c3d163ee7b9a0b0f6baffc7df54c97dfa7c456c6b40b72cb8d040178f1e29d076febda7dcf5a652930ead66990241ec1afe5640b7297ba52e919b7a7f9e5b718c66095669f8660781da7b8183006a6a67d2dd0676711b4f96f5f71fa6d1d06c1c7abd52a932ea0580d14e1919e5acf2ac90fb55354070b43a1a42831ba288182c52060d31715f2c3febafe8e8080bc31093f7e688caa3f8d355448d95e4321c097ad27c69e8d7882261ea815b81443e8f24b371976df43a8cd7fc42d839df6645f7e5981ce16a6ba56c4270a8da6e09078de26fb4339d60ed0e376e0aaa69f\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b898", - "0bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-512]\n\n# tcId = 123\nmsg = 313233343030\nresult = valid\nsig = 2cbb507fa7ac718bc67365071673c813cb83d4f3bff46661051a43836a7fe52b42bcc998a8b92a5c279c133e521bde2da0ee8ac12dcb791aaddc6a28dd7b798ce7c26262d5bab10f240170349ea2a27a9eda6cc7976365e4e2502bb2682fd00db43e0ddd83db8aef14c00a272d72fb691a04da1623ef2da7d137d264025cf17f6a4198c0917b394c6f010b1b42927f40647dc2fe4cc3eea57b77249ad4b0112e328467c75454f55bd769759980f62247babc332d263086e27142926719d86379d3c1225e6561f4982148268099469015aa5aeb7a355e3d4f625b4c9f7be1fbb6acbc2c77083f3130c59adcd62b2d1ebdac296f8c31221d2601a92d220ec03d54\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-512]\n\n# tcId = 124\nmsg = 313233343030\nresult = valid\nsig = 68b59c29001b704995ea8b55ff590832ccea1187172e52aaa5b04b4bb27304097b0ea2c08f8796a3da792011185ba13c7aba58139013086dfd818b7b8a465273b7e927eae6eb4c5d057119b695a048a19047f45bacfecffc230138153afe7a0f0983a0e6676ccf0bfc8beffc7cc15781f7270e9b6a98c278699d0e1f7800fdb2e5a30902773ee1cf73ca05938c582392badd982e0b02f23afdc60a4f6a5f8d3b22435eb814d1fa3d0eb063aff7cb1f5556713c82ebe17c9b4de6a43adee9cf9bddc10979791c01cc03dd07e4554e7a2c314ddc97aff8bee5c1ce1bab287362afd44c1e300da8c1cca49b4b462b0fb83db1473ff852fd4f9d289844101dae4646\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-512]\n\n# tcId = 125\nmsg = 313233343030\nresult = valid\nsig = 1dd0ea7e25ebc9c5df19d58bdc4c9eed06c626061c42ee5b97e7d1e188d60752983f58987cc52bd87b7578c1c25a32fe78ac95186c6af64d6221c57626784953cd4989de13a84964e4064ecb1f7fa4ed7d812d41e60c901080f2cb405b73ef8dc8aa7144e8d2fe5457ed54b9aba0a1d77bc280f9324b035d0d2072ac0b630fb4dd596c92b6cce3e4b6e2be46c63f60d62f2f87626d52d34c846ffca8589776dcca43c670fe8fa816e51c45c9a7cbfd3e4fb9055b05a24d9ac22dffaeca4d8037fd453a8f35c9a118ab2d7ccc4ccd3f26c5e882b3fa93c0774067d11be315447e9daec6b65dbc830891c1a7e71e2aaad14a68d5730015ded60923b79e3023d036\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-512]\n\n# tcId = 126\nmsg = 313233343030\nresult = valid\nsig = 905f3a6f6450d1f7f202eaa68909cedd73e70422e27c6b66f3f6f057b42f0458e10afc61a537cd06b919103a89967da973ea559dc040ec18aa412de1c4fdd848fd287ff8f8743220f2ccc6d", - "9e30898c982e445fbb986268726f4278d7952f901dedd7e586c729a4c434fc023c96e04ac9a86fc5e97b49e50e97079006cf42c54696d37282a86db2a3c02e496a4717001d3019a54b7ada3775dd3e7b690fd79f5388808449566aded7b0bddcfae9aa4f1344b940a681189f2e5403a5cbd811e308a6c0f65784ebff1fe9ee6908bde5e6f9c6392e8aa54eff69fb5521d57d7d3fe6aed5337ac73d31414c7e3a294dacd9a149eb0e42558e9a8bef9800a06d8d1ce\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-512]\n\n# tcId = 127\nmsg = 313233343030\nresult = valid\nsig = 66964c2f2a3194e60ce2aa1f6fcd6f0eadcf525c6b95e2e401d7ac2f88afd0ac1fe52010d830f6a2a3859105fb98713fa188c9b68df7ce5e4d45e49c347d83cf7a1a3ede360e357bb47fb3cc31e0429c25bf5e936bc368391184fb88d6adfdc28aff2bb7fca9cae9c7e4b4ef37c61a7a5fc5d68cb12e5c56a0017b31948b4f0e0267754dc70ee92c5f8dbc3b2e7ebcdec638407e0c08c83e76eecc65f592e9a239aa303581b980f75c2630e3af8d93e8fa33f62cc461099cd9dc1f133ea1f499de3902ed3cc6732be6286168cd3f6b7b0fed005a8645fc4a5855f021302322485d9d694803c4a4275533acf2b1d5ec62ff8c98170c737f800335f84f3e9388a0\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-512]\n\n# tcId = 128\nmsg = 313233343030\nresult = valid\nsig = 63e7ef511358d2a28a71bcf1e143d27623637beedecee3638b3a513dcb0f72fc56c372ce5125e46ba442d6e5e9290a6580ed3fdaaf3f51e3daa34eb32cd9ef3c8c30722f9095f6908fc6dafc22f3bd37d998baa92825cbe36ead00b5014fd50d2371d1245abfd605c6a8fd6db6362b18723c797e0ea39c2cdb3aded821a51f8f05821bfa1b6d72ff661415cca11a5dbdb611d9a74d905298f853fa2cd2b1eeb74ffcc4e2c2955fe8db6a1c2a8014918fc0e1e0c9549d74e45287742ff4bfc8a56856d0d4cf89815da4f223d3f8b243cd7a2cca428206b82e28617d9cfcd35cd029deeacac03f8ff7ef72f5010dcdd93ed07388b2482db0ab260e1022a33eaac8\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-512]\n\n# tcId = 129\nmsg = 313233343030\nresult = valid\nsig = 0b1423677cf21905e2cc0dda60e27f749c56049bb03e61794a43f37b84b2e5f247ba9bd79050c5a601a7efc2afb42a7936d543b916e24de1ca1e666add1bd51337caf4cf2f88a4c202e53cb5071d638cb41473d4c8db4126e312c711405cab1d6e05414c43b9566b3cd0b72da3d0753796a81fbc1c950c2aab48b34d5def3140e93e0a8d1023374b9687451c847cdad5544b05b09804fc9727bd46bc9a86f0aa23f4a7715a0fe9a9065782ce58a3a53c022f4fabf67146c3c919cd1069a08bd96e44746e1a49315926ee06af8d76c4339f23540b36cd8b07e14d7ff63d38461af49927b53e7496ed6beb855cd740628ec0021768293e7ba86c03cf88b2ee7926\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a", - "63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-512]\n\n# tcId = 130\nmsg = 313233343030\nresult = valid\nsig = 9cd79fcf9b87e3a30f538cb7cbe94d28f76b69335f6d49dfd440210a40dc811a930b76533f789f4e23905e688ec010689e27415c5600eed4da4815db1e6e70f0adc9ce47697947e0dbb23d320fc277d473d3de7abb75837e24cd9829f5993ac35a427c172f47046e485e47003bb8447f1406b14aa495ba4b4a3cf8e2caa1b44f0718a04650dbbe749bd27c0b69ee3c7fb5ee956d0d901b5e42f710d4a3e59b3e72d70604c6d7a7a4d1a3a2763648a891107d3b14988581523356295f42cf77b7cdfe3a38e55463a39557d5ec543710b9c28e27203e23bf8cd81a2e018927a623b84cf010e40d8859b304c97e0c06c67ea017d70852ba28eddbff22712738b120\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-512]\n\n# tcId = 131\nmsg = 313233343030\nresult = valid\nsig = 90cf8affc567778bb47d0b50147e51a10324639cc17b5d5958c4e318c49a22f2bc3421129a24702e1605b3f8fffefe7847f679c91a64e56ef874dec27b4540b2471e79609067c7871cc76d717945bcb558605b3eb4b33034bfd7148d591b837ac988c0cc3bb2372c9594e573a5d5c9ba5c23de5257ce8274f60fc5ecf35e8889659ecd77c2d6ac74898fdedd3c542472a6e113acac5c8aa35faa52ac0deb3ceda9f83d2441a8f441dd997426848e461c00f64ddf6d5659dbeed8681d18102c94b3be137ef926840cb47027006f5699dcfced1aaeccca848fae72b405f4e34c5ef9fe8d15fe6b565216c102aa8e9319289f2dfeac735c8a5b95f991a0fd49be04\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-512]\n\n# tcId = 132\nmsg = 313233343030\nresult = valid\nsig = 4b88759bb96d67cda87617a09d625f5bb3b7672dffe031c3b88c3d8e67dedffc7c84f0f1f754cfeb4181d0573f2a88ee4c98a10dea1a048712472c724ba81bc28984fc48169a535538c13566f3ab3d2a51b270c4b2d55e4a82292c084b4f4e6a58e473fe7f39015fbba7d34083b7bd2134ca63330f0dd1997d0453aad7dbded4b3175f9a69607a8799e7d3969280c8f5ee010bb2ec7c151ca3c8a6bf49c2ae8eaa470998f390d12a4a7c0a39371a6c63d232bc09a647750aee655a721f066560e40a6f899909e72e2c3bf52e70fbcd26a37402b1e37c2c7bd88783fafba07265985d3a7955a5bc14cd0d0d10f1e9c67f6d98785c9c1b3914a7972cc2b1eb10ff\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-512]\n\n# tcId = 133\nmsg = 313233343030\nresult = valid\nsig = 1c8818df1fd23ec704eeb6868ed1bb8419597f4128b5ffa52166458312f42cf45e710783eab39de511cae689f1d731cb4bcc825829a4773697855e7dc84c617f459dacd58272e75fd2eeb4db20d6f956033e939952614318c3bb82276bb426b55a0deac14b831e75500134298dcc05749426322cce", - "cf10ddf3c4eb49f2ae746d44e5f3f229f9e2298312c0b9168fbdd2104216a27cc1e720cb8e28d9992d841e52f31b2a016d896529fa1cfd7755d363bea1bae565e579663e5b7e8c2b9e0b85e77d7f740232db1978a920c8358274bde475f38794864b08c0eec5bd176de52c27b10f29f3ce0c41b2ae23b091b7393997a436c158cdef76beffd200a4e443cf\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-512]\n\n# tcId = 134\nmsg = 313233343030\nresult = valid\nsig = 0399ea1e6bede457e1046f2363e1db44f8450cc452845c47639f300f192906b7d39acd60ab03df06d1b27d15ca473b9b0a339eb8d63ad6ef2a148b5cddcce79175015241176bac81e6b8cbf87fe256167fba8d3cf2dfd145cba2a8d118f980cf279989d3c491b73fc123d91cc99a4618d21e5ad6789818f3a99a337959adda18fb571867d3a9eb50956dabe7e6b3e64d40bfdd5d5ecf1ba2af4741d3dc2a9ae2e2222c1881da0ebec621636851c46990f24ddbff9c3cef15533a5fc1794f365415e5d948b64877053a93953490c8f250488c9933f2547a89d1cb599ee5e7f7dbea2626ed343c63eb290b1e9098269e1115a2f5995b71aa2617235fdb0666946d\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-512]\n\n# tcId = 135\nmsg = 313233343030\nresult = valid\nsig = 12f0c2161b8f7b4bba16d19c4c6acecd554bd091c6148e92a24f1d73ee6fe7066fe28fc5b066dcf7391967f23786feb935002a0e6308427c613ccaccc74b9aa24e1425785cdfbd8720db37d867d35d09973cf4c9bb549b7d4ef8c85474252b1f760b1a81f79ccb540c0990e6a20d9a0eb5b6c101d558f8aa4333375dc795ee1563657a803c9a63a2fb957554d4b4bd6ba33f2a6b537c08965de4421fd83de78fa5ccdc1d9fd4597568e44f16b60afe961668a0a821b8aee5834b0d527c115abb649c73c994fc6ee641d44773192574d9f330b8664ee07261858d7b5dccbf27dc9452db31fb0e59870217c4751c5247565d2dc94568431f3451dcf6874787633e\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-512]\n\n# tcId = 136\nmsg = 313233343030\nresult = valid\nsig = 09c14c750fbf2c5536b8440173357de03ecc9018679af1ddb1a36dc5b38582c44ae5d42d7e0031f738191171baa6e72562c2915ae7046489a4863d7b86afd634c6ff44b2a9af0751fa84d5054f0a93971cd7c36b634d15489d75386edd1b15e6f9325eec84a2a7879e7c80812cfa387e5b620533e03e4504768f2a8a0816938959b1e70e8f8ca14d1f8809a398d98c155101363e32ab353d10c5e0a3fbffd692665f5b9d34a09d9082fcd1cf733e0f37aaad82a8512b66debc119899471d61b33c7f4f3d4a22a45fccfb8640bc2564e679ba4b6e06cdc05be7cc511e1205b25c4903b7641bd6ed38df4a8008636e5a716c014906d5a0caae3f3d5650ce3408d9\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7", - "b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-512]\n\n# tcId = 137\nmsg = 313233343030\nresult = valid\nsig = 47510e3b9785b68cf1524fa9eaaceff81225dd951103507749bb49b23a4c2c5503727c716719feec97b79d3e6051c34982d07ccc361842bc0c92213732c908e8639b1d98a0f7bfc34cf801f96fed23c4d5e25c0837f222ce764fe9d521e4499de93307df29ac4e5c2dc92e0ea65e97f55df7493d96265b048f24260baf8e8c3ae55f44eaffa3198bd0e6e731be13cd43f13d40e354d35c132bc8514bdeccdbb1bd6a3babd73ddb8d51db8598bac7badf1180ec2aaae8494c06c43e5d2bc988b50f2bbb72c0bf8a5529e4618bbfff5356dbb47387d0893cdd601647f46deddfbff81b60961d4c293c3139d046a526398a9cd8cf605cef5358945ff0330f113e3a\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-512]\n\n# tcId = 138\nmsg = 313233343030\nresult = valid\nsig = 14bc1a7955b30cb603f617bcdcc12405a873b1afbdfcf7792a587f1aa085ef9411cb088c34b898234704286d7f09ae1586dfa3a81d4c9662ba26674c0d5ea966184e3578c5c4a926df87d75b149ea9493f5d5600deeca05f76bc445421c25220202c154bca83a216a1d6efb0b9233eb0cb3e787be2f373de8e99996483f39c92e1ac9f18367717cc9468f6e745e25abad55743fd2b59c92f840cef0e5df47ffeb83c5800e5fd486b7516a55c7b05709eb21c8a8575e41bc567739d5f1dbe95be8d43f27769bff55fe1a4dc855cc76bccb3ccf27c68d27e3a65829b1b177015945452254f5f96a96c363ca56969201fdab187c9a6c991afc932e2991837451922\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-512]\n\n# tcId = 139\nmsg = 313233343030\nresult = valid\nsig = 49ad57af4c93b5e714a83e1af3410a9020c47dc9baf25f52c19652970bf70e918780f48c3dd59a6b816899f01d9b47b7af2821ee4ab76953a2b706118eec13f5a0f442278cba1c6b72000891e0b832dfb97c7a4e5b09971c133324213820f1c7711accaf8ed1d099221e8ff6e0042ba1b0b38257a94bb621508c584f5e39c8d4fbd512800f9483dc84f99eb2a9ba9bfbe5aaa8cfe1691cab0ad87dbc354ea49b331b26158274d348620ca01d872d929e8e01d6b9815d573b83bda1623136c55e81db7392b5daba5187a09a883d58cf0687a24d019172b843e327ae507db2dd2fd84dfd25ab04b11cd4b02215fab23bbca886279091e21ffab8d7d5ad49e16ba7\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-512]\n\n# tcId = 140\nmsg = 313233343030\nresult = valid\nsig = 8afbe33b98f8c30b36acaafb3d61bd83175499bd5961ff3ebd340bffce9a4169b59768e1e3e5913c2bb411b5bd495cc92d7c04d65816b3c13b2e3ef1fe6076dc910e75f477677e106e3d5d94a784c378ec13b66dfc1e81c2d0c8c9a9156af52a12757884be4cb9d0afc6f32c39c427766db7e3d07c6780bd5fa62c05ca32b85966ee6291e3ced00d00eff0cc51d3c19c7e1bf103db0c85ba5e9e2d130e51", - "36f209d6cf8a7fc18670264b7f392a68c6d6e6a5d3eb370bd5a194f3a17436ff2495f373c4dbb45de9a0575aaa4a2c9da84d5f1adbe15dce341a8b3ac4e3722b0aff0b942e522d8bcf54fb0d942997568bee3324587d0afdbbe578c5b3f50d5f47f1\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-512]\n\n# tcId = 141\nmsg = 313233343030\nresult = valid\nsig = a91b9cb0025546f2c6696630ad22530d2b41419073541a5d13ac9b739ebd9aff8f8e87f405d5151a930df8311240d6131336a3e55d33166019be5bc97e5209551df0d5b69be224af9a15eab57ab748c081e25b9e6aa68e4db0937eb4bf190ca46689bbbfc4ea5fd4745ef3938a80404ed9dbffbdc423238404768fc513604732b9c30f97fedadd6b8e3fae4e54c574d2da6ba93eeb700541df688011c59688afd11accd6c7c2c0f0d8e5b06380588a5bd6558fafd764446920b21f43af7f9590c4c20b8b90e0acdff1ecdef4456d1c6e898b2e61e6f9ce743063c6c08d1a1182b5d58edb902af0a78e9df5ad6d84da4b5109807a2e6345698c9c879679dd6c7c\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-512]\n\n# tcId = 142\nmsg = 313233343030\nresult = valid\nsig = 9a2ab2bb0264c95145d3a0970b8e66315f93ecf679e92f5fbcec1a4fb5a3f2ca0dddff5d42aeaf6cfd34e3c2a0edba2415920478be0fb23cec4f541c3ef51d4663a85d1b00f84ca069bd8405bf68902910090e3db749b5e46995b05ac28254120d8a95b6d8cb96d1bbef9e796f2cf44e6e539494d07677fadeda723704025edb0e1e48d5c26d584ac61ae3e5e363e99aaa1daed11e2cf9b637d4fd69b1177727a3205c077c1d368eaf3de56e57022629dc93b2f7bea2914036ce5f5c154fd6e216d2ead20b65efbff9ff0197432ecc01ce04993f7874853a80a8c98bc66022bfd5c40cbd8726ab3b51c84d34ac67018e6069f06c2f7b2d9c700404e9e0a23b16\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-512]\n\n# tcId = 143\nmsg = 313233343030\nresult = valid\nsig = 60683e995f60e1cf7d944eac2f0c6dc02a002e89a87b4a0a36378b6247a04456166ca2d85bb24260da59b7ae84e4191f95d15851afb8ceda6765039ef769d13efa89bf081e6cca52753e28de225015e2ff81c9b39d9bc759003a9292c892b5d9c6584cd779180048a40c75378cccec47a84b4097da02878c42423beea50fcd29a5eb7b67ed3a06eee2e05cd4236d86052bff1145a8cd5367cb15e2ccc792636f0305d90aca07d1e3c011a617f0961b938c6ce943c560c42724237ce4965ef50e7c98e52e0d18797aa65150042690dc8604f463104e114a1fbdd7e9ab2646e9c759502f2fd0e2fbd331c92bfb4168b638f4d8873e0e048cf429d8a9977e313029\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d7", - "21a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-512]\n\n# tcId = 144\nmsg = 313233343030\nresult = valid\nsig = 7dc5457f6f8aa74bc2314156e2efca717c2360d57a8c5ee396dddd6151c0cc89f356e3f14bea1478c7bb4a54620a73d558be246fa884c41314472bb9c9866fbddb5727b0976593ab6c6635d8258a7dae326dbe65d203951209f8ece46a4132efcb640bcbd7990a6f0c138b456688d268150396eed52b5553f091f4888642b18580977d80680bb9c1194968bed4b0198cf72d1ed4631a6c16f6ea562c6cf344b3f8d1c2fddbcede647c91d01312b3609345d3e32df899fb981f070ed1c0740d79eb19f6d54725c006c0cfd961a2943391baa2a32e4da6dff7ed0a2a61fded39a85ee642c1e219d9ccf93faf80e2c2135b0de494f8cbcec5bb77f75148e83ba408\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-512]\n\n# tcId = 145\nmsg = 313233343030\nresult = valid\nsig = a289625f9fe684d186604fa08140f7d522dbec8ae6266ce83fba2b6bc6305e2e27bbfb346165b4e110e1b3e9445ffa8933e5417dbd87e3084835b8677ae439609616f7b755bbbad33ed0257a170a3964b85b3cdfbce43ea3c550354a92ec8e75642b039e2b4d9bc77b84c6bc7f2f2a43a0a403a1992e008786b5e9e43fbe71bee787ecd99501f1204921f61ec0ca83f1a8fb7862efe69b104d822ff5170802d510fd55cba7dcc2b695db905bce4c07a702cdecf24381f49a9b95d4805f1eb51704ea198653f43c3f124a4347ea1becd138cc3fd43e813ed823c373a35eb9060bcbb8fefb1c453c72f1f6198747577aef14ad3fe144b7d8de1bd6a123bd9f3f96\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-512]\n\n# tcId = 146\nmsg = 313233343030\nresult = valid\nsig = 740cc94a43653655eabe5a2c9f883a3784cbc5b13161e05ac0849cee39b2e8a42a0f53d14b47ff61d143584797ad0889b26de17b0c27c79a69a356e2e3eaee2b8675b0aaf68dfe682df23463b9b780f5b4d6681c00b27277e4e7839a333b022a16e7b75418fae9d5f5b3b996427d518eb1a696ac83ce6c5107efae577859b814100f19c52708481ed03d038a4cf6039f91bf72f4788dba51179e3c95c750a9432af1044f7cc758572ff11c537add14a6618d0fc1064f762485a0ffebfb0cfaceff4602367a231cee6ea2c8407bcc88267f42189c02e3438e62e3825d8667d1ae221494d4e29626caea3a7f5d2284f18862512cdd4cd9cfe1d8d57cedc9960299\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-512]\n\n# tcId = 147\nmsg = 313233343030\nresult = valid\nsig = 9a8092d3e759eac9374356b3bda80d87c6cd1f1188dc894f48bfcc2d15e99c65ffb6353510998a360f28bd636c61edda93ebb903029feae9b2c3935b2870f9a3f29e044f3ccba9a08357226d48f760158cbe5bfc0d7c0a2eaca0b1b167745bf26ea1e008e7377a085f4bd685fd5ada6602758e27541e6f270adf6d5b1a2b6c65a3757c5b3c4c29284e7cadbd39f4cfcb4253e959945651c60eab57ac0170da7ccb0c8d72e760e603c755a1b1e1356e968989cec1b9e1273ec2c572ed7dd0d0d29c0ad1e77692b0", - "d79ec60657fc21b746168dcdf0d05a3ef1f37a4ebfb199cc167d94cc2c9b75dddf113048326797a6cfd6c9a764a6c71131e5f5654a93fc83a7\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-512]\n\n# tcId = 148\nmsg = 313233343030\nresult = valid\nsig = 3522943f158039aa68354e3c51eb6d9a496f5c7e7c33bfe9a20cf98caa710b88b18ecb6d73177787479d5064ce3deddc13f98998a7207118de77029e8fd5f012a9e056b972a974cb5b087b6564821af89ce3b64348095accdea8ad7d05cf3d21d6208365a1d2fcce7cd964295c963e5fd495448c0926de0950d12c42e056595295c4376484fd7d0dc6feef3dcb41ec5a0dd21eef375e65523bcf5af70a92331beb0c6b5ac445d6a06cbebeed0083b746b3d667aa366c647313389a2d9b61d41eaed8cf2db8b4938115700967432dcc4f383278b4a397afac04bdb7c2f5f6051854174d85fb96525c2ab7bb58c0ffb481efc29d08e4ad1a86ccfcbdcd98974862\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-512]\n\n# tcId = 149\nmsg = 313233343030\nresult = valid\nsig = 45d8ed4982ba484e0bcfca14537d607fb6c3f8f444425bca05cf29bd5f92945f0ac211ccbc78d934f6fd24131ae88483547aef01b4e70acd6f84eef74d4a2de40b4d15d38a0807087a54ece36f268a60b70c500b72fe0ff49920c63c0cbde6e0d9100f4e50ea3b5e11a595f3755878bb1e03c295d3e73f1ec32d24d629f2fb469cea48346c057abd64f6bae4cbd0fb89076a1e42bd5260cc5691fee46762136f936aed35cdb6e1579d586fc4e166fe252778a379c134562175e17eecf758c11eca66ad259aa9e51e504d0d317b1715bd224706d65418a4601612e482bf95c1e9e9278e5401bdf1ed24118b908a8e42c562a76896563fe4c04d62b8abdb61e4cb\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-512]\n\n# tcId = 150\nmsg = 313233343030\nresult = valid\nsig = 63942e89a56b634787dbf074e75b0525e8bd3b7b8172f2c27499272b939a812ce2f501eb95a64603f9bc7c2120ef2f7133c3b2a4bf6445e2257b59e57022c879f8d60667ab8e28dc972846670858fc0d5bdbfa71dff870aac96492214533383d8740d84ddf61d46f852c6bf0bfb2d10c2e4d41ce7eeaee028333dfe77650b53e66cd2c2991b80c32faa33aae27b1c30c0ae2abd759c59eb22e0d0597b6dd63491e0c95048c074b1d64d8f356e637669d90974f4eb29ca184468bc1e2d24cfcd36e395c41cf3703cdb1a5c206fbdd4763154e5569d04d75998e6f425bd42f80e0dcd8deeebc3322aa6f50aa873345d7c9a0522154b6de2387664ae33764ffb2a9\n\n", +static const char *kData116[] = { + "# Imported from Wycheproof's hmac_sha512_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: HMACSHA512\n# Generator version: 0.8rc21\n\n[keySize = 512]\n[tagSize = 512]\n\n# tcId = 1\n# empty message\nkey = 5365244bb43f23f18dfc86c09d62db4741138bec1fbddc282d295e0a098eb5c3e37bd6f4cc16d5ce7d77b1d474a1eb4db313cc0c24e48992ac125196549df9a8\nmsg = \nresult = valid\ntag = d0a556bd1afa8df1ebf9e3ee683a8a2450a7c83eba2daf2e2ff2f953f0cd64da216e67134cf55578b205c8a1e241ba1369516a5ef4298b9c1d31e9d59fc04fe4\n\n# tcId = 2\n# short message\nkey = 00698977f7102c67b594166919aa99dc3e58c7b6697a6422e238d04d2f57b2c74e4e84f5c4c6b792952df72f1c09244802f0bcf8752efb90e836110703bfa21c\nmsg = 01\nresult = valid\ntag = 4d1609cc2c2f1ab5ddc35815ae1b5dc046f226bde17ec37a4c89ec46fbd31af2aeb810b196dffdd11924d3772bef26a7a542e0a1673b76b915d41cbd3df0f6a6\n\n# tcId = 3\n# short message\nkey = ed6dc65dbeaadbdaab530a0d35f19f78a7bd93e698546c82751bf650c2a44fc8529033d088febeed288fb4c8132a59df0207687640c76dcdb270ac3af5f042f1\nmsg = a78f\nresult = valid\ntag = 0757b27e120559d64cd3d6e3cb40d497845375815181bd9b4e74f2189d09d01a1b3ead53701380d988958ed22bc379ace9d47cbcac1d49bfa7e14f1f44804c30\n\n# tcId = 4\n# short message\nkey = 463c5e696da0ec0d784388be775d1d91d94746aa8d3d2c209f56ac95ea54e7288329f9fb40be4eef35547e64c61dc51a4a1f3380a2b96420f088655ea9d85b97\nmsg = e956c1\nresult = valid\ntag = ac4b1509391814ae5cb5a123e7a060601575c11d81b563bdc52febe6bb2c747b85eeddcb6748c98147a46a1cc9be6776d1a8e82ae4896b9c18da2ff351c56795\n\n# tcId = 5\n# short message\nkey = 4bc0d32e945cfdafd20d39be3820f9649727cbda5ab5859953a322cbde1ab7a514d7dcd14ba90905e70919bb86b85cfeaa375ee2ce2703711b938c8f4ab5f178\nmsg = b2aa48b3\nresult = valid\ntag = c4ecdbd2efb17640ce6707e2e9d0ee5bfb98b91584bc86ab386437eaa37b0f2eb70500361105416c0dcecff389dc94c723fcff18cb801740962312007a195a23\n\n# tcId = 6\n# short message\nkey = aca47f6350941a0efd8c3bac9064a554be337cde7d192f6fbf86d1b4db09b36531165cbae0a634206f71fa400df33352fff60e1fba4009ac6671cd37312bdd98\nmsg = bc993b1db0\nresult = valid\ntag = 89af2f5746cab89fda6993e00f1bf0cc70a77188945bb7b5409b536aec5533ad501db6ecfa3e516b580b7df9c8eadb3cf556ccc01668be984335bd5a6255d566\n\n# tcId = 7\n# short message\nkey = b3ecae6f25c2f699f158b3ffcd0a7a575583e4c9cb56b5c22ef4273cde6c6734e84d7400749c17e47e8cfccafaf8b50c65eb47dfeb273d5d30a1181e37b27ad0\nmsg = f0361d58291e\nresult = valid\ntag = 4037a57aa279b5a07abe9389dcf508be9495a8257dcb3feba3f0801cd57574c30bfddc6df5df6567cd572c4e82735fd4e67b65e85b030f183a7f4457fb7d2c3d\n\n# tcId = 8\n# short message\nkey = 70ff24a252d65183bdc6b7c88751f850821141a61246727c3240b4f96088ae3278767a822b65735a28ccebe4c874bcb2c942882cb23f9dd87fe08fbaad5ae72f\nmsg = e18da3ebf0ffa4\nresult = valid\ntag = 878d488754bc796c70e11d5db77acda2e1796d86146e27d862586740c4d488ed12239e6fb4ab2925afc88168609edc048f8572536fae96e149d73d230b18db66\n\n# tcId = 9\n# short message\nkey = dd4e05933d09711ee88cb4c1ceb3600b2b33808bc08d499387b331d9c7af49bc65b55172cf8083385a940e4b864b7b4b73ddf3bd513a6cbcac73878a879b4d06\nmsg = 66948029351432c3\nresult = valid\ntag = 9968a16eff2b4eeecb2f9d11fcb105e8d8ca59ed4e69131c9de599cd8155fa4f33def1195a6b452263aad9265e16d4951841d7cd33c74c475da04497c02922ea\n\n# tcId = 10\n# short message\nkey = fbd32caf8984fc4376d10daa7288db8e6e74464bdd94b448adab4497b319e9a6dcce542f82a7ff2e775d12477c880e460a9eab8efc49fcfc8c5476cb4b08954a\nmsg = 38a2586a2883953cc4\nresult = valid\ntag = e0c69bd034cdec5b48150fdf3a4383456a7626d4405df52dc6c2bc8fe93bd87e369e06a781ed80ba8b1fe1146c4df82b6a514412358b31b77b9b79c7a91ec9e4\n\n# tcId = 11\n# short message\nkey = fd4c3f6b2137513616c28ed4d8638f867ad0b97188b73fc9b36f3d52b82d72a49b9dc1b8b25397eb448054a8d38d838e7a88b4df9c263aea1b968771d5ac5756\nmsg = 86b4e61b3b7d650044ad\nresult = valid\ntag = 29345d7da44e2f228e8d502e29fb655da3676a481f9947c8482502ce070b3da5065589d84c02a05cd774b4bd5a15b668c59bafc192695aec43e5df3a82301745\n\n# tcId = 12\n# short message\nkey = f95baea535f477d22b405c67d927f59a9e042c46297a1681bcc16fdbe1b2cd59675a221351a78075981e7eb4998066768801cbd7a85231114d7f27f9bdf24899\nmsg = 5a34dee4e0982d458efffb\nresult = valid\ntag = 63867bb3e82bd4a5f715b3dd67ba3625666e458c5e3d75804709f80b6dde6f774ea223ba9e2536c60ab636dd12d07b217234a490ea9cae4fe673215d33f8c57a\n\n# tcId = 13\n# short message\nkey = 4d76ae95a123207e01c6d22d8b587e63ba682963e50961afff531160a9b9aac6c772c5e8bf918ddecbeb56455ea64710e51ac21e3bb9af4b24eaa8535b3c2924\nmsg = 2c31f2d986f68a6d6a96c4b0\nresult = valid\ntag = 9d4f9549ac134a6f60f17fd0fbc80f55426afa73cdaf84a806d98dfffc94263178116f76aadca95a9243a9128f5f66d3e7f33e72603d4b35ab90ab7d1e870ad7\n\n# tcId = 14\n# short message\nkey = 0da7fa1f5d217951e3e343cda81f232deb71764eb49e8510bc28dba8eb62afa2a98b6f0536adb10250c74878fe649f47bbafdf3f722fa150f66e83f65f606ab0\nmsg = 83511de190663c9c4229ace901\nresult = valid\ntag = 11bd76ba2fd5684e3faadd44abc05d32661472ae4c75fd69e62e47a2d462e483ab5fd374070e648017250934d486fed55e68f4338547fb5dc54d4bed894c1c2f\n\n# tcId = 15\n# short message\nkey = cec9e9f25ed9a017004a7882b1e44e8bd8fa3203c50cb6058455ed4f2a036788d46fcd328327d0d86b1abae69f7bbb96e3d66373ec8bd45075890879a83f4d33\nmsg = 80dcd8ba66f98b51094144e9b8bd\nresult = valid\ntag = c69f1787bf7804bfffd9da7e62f58c1c9f599ccae2ed4fc6abda1be48620afc797d59d4adb396e1fa5d18b8c1aa1c7c15218a9f9e3aab226119adad742641089\n\n# tcId = 16\n# short message\nkey = bbe25649ecdf54ae0028fb923cc8c28ec00e10e2d44214590781238a143b75d54efb037eb9f53082a8ab3d8876daf4dbdc2483c4ba222797fe20da3b7730368b\nmsg = 33f630088c0d24cda98caff1a3afc7\nresult = valid\ntag = c803ca833e851418a3d9ed764f8c83f481060141eb1b2bf64d7ee7991b041c48bfc747bce13d69722f63944085cef8e7a166270530fe31a2a525a99b8a75f1b1\n\n# tcId = 17\nkey = f5e2b9e2313f4f807cb3a924a7d4943fc3fb475d8f1a1b40ce09a37770f621af8977729cadf986c98c75f08a4fab4280538e09e7e51e87a8d62c03411bdb8d24\nmsg = 74ef623c83275ae99745bff7e6142afa\nresult = valid\ntag = 471055f7a2d44758e7d7837db85c33626b8306760eb45e18d4ba8dfbcd0d4279fcf8b539ef7b165eeabf5457ee2c41e52d07e9121da02c988f08162f86bdf208\n\n# tcId = 18\nkey = 8e323d5fb4752d92a6d905c512b287d07b21ae50002d026ff0388e1593bde9998dd02321e200d148f5fa2e824b37e9f5a77441794b840bedd552d1051c1ddd8c\nmsg = 4daa229b009b8984354c2ec3e7973e0042\nresult = valid\ntag = 93a2137cc84e2fa1439d7c239767b3ce653d634c58a4590eb61af9d3ef986445220aff3554de45a1b0933fa06d3d64460418910977d8d9ddb2eb04963c816841\n\n# tcId = 19\nkey = 465bc1ab2125cca29729d01df044e393b0677defdd939280a3aa141224efa06457e623056d02f6c36eca3dfc4a7476dd36b97d0c2d60c7672129189e73b6af8f\nmsg = dd84599b47ba9ae9f2ad0c8eac678485433eb6b1dfb7c998\nresult = valid\ntag = 9fff43a83c71833211f9d60eeef4166965c41a37c76634b1bdf9c5291df75dc877668f2287bcf8108ea9e03d061a708db2db08687eda61fa97b1ca92dcf22b92\n\n# tcId = 20\nkey = b90226798dff2ffb91d1ee4103f26397d0bf84c13c1ec717392c5fe1d4d0f4dc790236d759fa1be852e305da585a3dbde0d3912bea60d6b140c25645eb00943f\nmsg = aa29c372f136993c65ace5e1d62078806eb787913bb35af33371056359d354b2\nresult = valid\ntag = 493a727536b07d434a7fc8df6b70989148a8d94cadb9761ad845ac5fde2068f9565e68607b531b0f307d7c17ce0a2ba69fb1ac1b0c716f93904eec75669e70b7\n\n# tcId = 21\n# long message\nkey = af1bb91775cb40c73983f119c927a2ce8f7b954a6274ecc1cd96019e5c417af4b094376194eae71c7f68f3345654d5d9f8198a697b41ae251e82308accd935bd\nmsg = 75ededdfa7f1df1dc144fb195b27e454640e3f897cb564222f05e8aab0c6024f90472afea6e7254ed25134ea43452a\nresult = valid\ntag = b53d564086a745b10d88a48b50ed8b53f4c83fd12bf56a75108074de9b343cdf0668ce8b6a3d884ba2da5f4c957f1319e26c0813c99a4269c171ad80981013a2\n\n# tcId = 22\n# long message\nkey = 513e0e7622eabcb6bfc81669dac903df46daea1240f32248bbf4fc61f1f9b13b2c3fe1bcc97540d30065be9eee41e51748bc42c16a8c8269fbe2b6f625c19228\nmsg = 81d8650937f50871a66af71605ea4fa9d6c5d7a375774c2280eb34aefcee8c0ef83345bc547e4de7cbea482369b25a93\nresult = valid\ntag = 9d942e4585742ba118bda6e132510af3b9297047d364f76b2a0d1fc803849b06ccac0eaa427934055c9d2e5a5da19cf17299ffdab65089580d10ff7207c9ed03\n\n# tcId = 23\n# long message\nkey = 627c9a72247d07b0cec8346277468311c7401fc4cecaea8e22e13ece4b352c8f7a7eb1ba81ce348a08670438c97b8d9e883614d550f1ff16d636975c59988c2d\nmsg = 118e0468cbb52f93a3396ebfaa114881a98a4101f4ff912ced47ecfc73b27f52205b7a5d4f3899506f9e34ebf99460da7a\nresult = valid\ntag = a186e08c7731d4bbb1d5342a105ef48f5353c5c542277de607831fcbbc8d0b9fd509c74bf9e352ee739792ee3cd6382f", + "96e70adb589fdf1fb031d43eef1a595f\n\n# tcId = 24\n# long message\nkey = 1e981d0cbbad5bea9480d836b4704bf3147663b6ea59e1e0a280fb45d9b85d445dc972159dde301c6f1e66681f95642dbb9a9218c00d0cd724cb02f3bcaea2ea\nmsg = 440dff390688c9fde31c17fdb61c1d13899f9544a986324c34d5eb07bef9a4436297f4a7fe16de5dd7b24e0c7c129051efe6f2dd0a21aec05c3e3c8f6fa30d9c0cbd60d840d14f0b2a928bc7189b9de4a6a731151d6b31e6a0ecae75095434737be8c3db11a6a697d0616c78b97041de\nresult = valid\ntag = c52eb5d18e90687248342a84dc0241c680e992b88b1409275df7e347c99169a50cd780eb4726ad759e2a027fb091354e3d7c7aba8a21f8acd1d0e21236af5f98\n\n# tcId = 25\n# long message\nkey = ee8aea2a52eb7e0c1120ab736b1a825b12610063de9642c594766c020cb87314d8ac94b13072bfbf3c019b4aacb1d2695cdd7563a26f574e12559906784d853c\nmsg = a3951f1d18135602fdadceeef5741c24ad22756160d0c55e51b788af952adaeb13e18c24c6b09672f405d7ec3d49b0bd86c7f8691b6f69af49175423215cf57d7c08a54ab0b0293e685c9aa250f1599d78193a00af822dec4b56fdb41f0343ab2cf85ea27bb2e650930f5e8ca836833903b053b3e06899b4012a6532978d90\nresult = valid\ntag = d3678ca7c5c1aa21f12eccc21a1add0b3eb12ccd134033570468191e51b058c61f2a7d88f2ca6c652c29c65c491bf1f0252bc157bdd77436ff55204eac6dfb0d\n\n# tcId = 26\n# long message\nkey = ecd1861a12eaee48aef1d7ed278223b50d3416dbff81e976c56ecd4b1a1bc8892b584cbcc72370ff5e976a6af1790caa32f9ea912855914c0315979578fbf165\nmsg = 5779c56373a8e5db43bd65c0453ce23144230d43666d717a3b59d2e90f0e10732376831d7281cb23dd5566e5f8c627d00d39650139ceb87cd47e921d65d6c1cc7712ac4bd75bda8828e68abc968f4160ed91b28946c9d706b0360bbbdd65f47ef9983c50f2d09d05c3674c0943ea4af54c381089f9b846dd69ce908e0f6eaaaf\nresult = valid\ntag = d377e4efc39f25ca751452e79dcb5661f8adcc06570bd3f710e03854e032286ca477e6a620647958fd31706463b542ddf617757875f349c61109358d04f6dc58\n\n# tcId = 27\n# long message\nkey = 71aadbf330ea133b46c939d12e603896902e8df638597c98872dfb5aecd5161bc84095221de3222367012f45c6d70701e862ab000e782e91b505b21b4e212c38\nmsg = e6d7b0280d2f7df83fd26562fcdea2597cf687a9c9fa194f655c44d3271b881f28adc436db8e0437ff4dc5d38356271c338829c3e2d9ba4ac1777c94886983d4b72c275bc00e4f7b06c5ce38a2fe549fe53761857f236da705fd03790b41cc6f759f41aa206feca7ba5486f4fc9d09f35c8e0887241291882010414ae41b8b384a715a409be13da17bfd60d3fbd4b8cb3cc7c26043807264a20b9a5c02725e742fff03e1806b38af357ebf8c79fc4c38b007bf0613286cf063e45482375475e6c426d4f70057cd92efcb2dfe86e45bdea399273a5e0f142221fae206800555c01b18533295f577e23a9a7a0aa072823002b9096501174d3bc4aac33e0dc600\nresult = valid\ntag = 0c1cbb2f196d3d1af5f982a330bf1d9accaada72cf6c254658cb32bfd8705481abd2e163a73338700f0d961ca02a31b600df04faf311cd06498557831102f80f\n\n# tcId = 28\n# Flipped bit 0 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = d39b9e3f87809686f34109fbc718d6abbb09c278cf05a206adf21463e1170362122e58272a31679720b254cbd63a7c6d696bf9283f9c6897e7d792483bb0388c\n\n# tcId = 29\n# Flipped bit 0 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = be301cbfb566720e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3e7e2dca7b011bf4cec4c7e7d6cc41bc10c3be36e8320c50aaf6c35f04ac8ca52\n\n# tcId = 30\n# Flipped bit 1 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = d09b9e3f87809686f34109fbc718d6abbb09c278cf05a206adf21463e1170362122e58272a31679720b254cbd63a7c6d696bf9283f9c6897e7d792483bb0388c\n\n# tcId = 31\n# Flipped bit 1 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = bd301cbfb566720e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3e7e2dca7b011bf4cec4c7e7d6cc41bc10c3be36e8320c50aaf6c35f04ac8ca52\n\n# tcId = 32\n# Flipped bit 7 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = 529b9e3f87809686f34109fbc718d6abbb09c278cf05a206adf21463e1170362122e58272a31679720b254cbd63a7c6d696bf9283f9c6897e7d792483bb0388c\n\n# tcId = 33\n# Flipped bit 7 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 3f301cbfb566720e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3e7e2dca7b011bf4cec4c7e7d6cc41bc10c3be36e8320c50aaf6c35f04ac8ca52\n\n# tcId = 34\n# Flipped bit 8 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = d29a9e3f87809686f34109fbc718d6abbb09c278cf05a206adf21463e1170362122e58272a31679720b254cbd63a7c6d696bf9283f9c6897e7d792483bb0388c\n\n# tcId = 35\n# Flipped bit 8 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = bf311cbfb566720e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3e7e2dca7b011bf4cec4c7e7d6cc41bc10c3be36e8320c50aaf6c35f04ac8ca52\n\n# tcId = 36\n# Flipped bit 31 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = d29b9ebf87809686f34109fbc718d6abbb09c278cf05a206adf21463e1170362122e58272a31679720b254cbd63a7c6d696bf9283f9c6897e7d792483bb0388c\n\n# tcId = 37\n# Flipped bit 31 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = bf301c3fb566720e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3e7e2dca7b011bf4cec4c7e7d6cc41bc10c3be36e8320c50aaf6c35f04ac8ca52\n\n# tcId = 38\n# Flipped bit 32 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = d29b9e3f86809686f34109fbc718d6abbb09c278cf05a206adf21463e1170362122e58272a31679720b254cbd63a7c6d696bf9283f9c6897e7d792483bb0388c\n\n# tcId = 39\n# Flipped bit 32 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = bf301cbfb466720e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3e7e2dca7b011bf4cec4c7e7d6cc41bc10c3be36e8320c50aaf6c35f04ac8ca52\n\n# tcId = 40\n# Flipped bit 33 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = d29b9e3f85809686f34109fbc718d6abbb09c278cf05a206adf21463e1170362122e58272a31679720b254cbd63a7c6d696bf9283f9c6897e7d792483bb0388c\n\n# tcId = 41\n# Flipped bit 33 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = bf301cbfb766720e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3e7e2dca7b011bf4cec4c7e7d6cc41bc10c3be36e8320c50aaf6c35f04ac8ca52\n\n# tcId = 42\n# Flipped bit 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = d29b9e3f87809606f34109fbc718d6abbb09c278cf05a206adf21463e1170362122e58272a31679720b254cbd63a7c6d696bf9283f9c6897e7d792483bb0388c\n\n# tcId = 43\n# Flipped bit 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = bf301cbfb566728e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3e7e2dca7b011bf4cec4c7e7d6cc41bc10c3be36e8320c50aaf6c35f04ac8ca52\n\n# tcId = 44\n# Flipped bit 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617", + "18191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = d29b9e3f87809686f24109fbc718d6abbb09c278cf05a206adf21463e1170362122e58272a31679720b254cbd63a7c6d696bf9283f9c6897e7d792483bb0388c\n\n# tcId = 45\n# Flipped bit 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = bf301cbfb566720e22f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3e7e2dca7b011bf4cec4c7e7d6cc41bc10c3be36e8320c50aaf6c35f04ac8ca52\n\n# tcId = 46\n# Flipped bit 71 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = d29b9e3f87809686734109fbc718d6abbb09c278cf05a206adf21463e1170362122e58272a31679720b254cbd63a7c6d696bf9283f9c6897e7d792483bb0388c\n\n# tcId = 47\n# Flipped bit 71 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = bf301cbfb566720ea3f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3e7e2dca7b011bf4cec4c7e7d6cc41bc10c3be36e8320c50aaf6c35f04ac8ca52\n\n# tcId = 48\n# Flipped bit 77 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = d29b9e3f87809686f36109fbc718d6abbb09c278cf05a206adf21463e1170362122e58272a31679720b254cbd63a7c6d696bf9283f9c6897e7d792483bb0388c\n\n# tcId = 49\n# Flipped bit 77 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = bf301cbfb566720e23d166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3e7e2dca7b011bf4cec4c7e7d6cc41bc10c3be36e8320c50aaf6c35f04ac8ca52\n\n# tcId = 50\n# Flipped bit 80 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = d29b9e3f87809686f34108fbc718d6abbb09c278cf05a206adf21463e1170362122e58272a31679720b254cbd63a7c6d696bf9283f9c6897e7d792483bb0388c\n\n# tcId = 51\n# Flipped bit 80 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = bf301cbfb566720e23f167e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3e7e2dca7b011bf4cec4c7e7d6cc41bc10c3be36e8320c50aaf6c35f04ac8ca52\n\n# tcId = 52\n# Flipped bit 96 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = d29b9e3f87809686f34109fbc618d6abbb09c278cf05a206adf21463e1170362122e58272a31679720b254cbd63a7c6d696bf9283f9c6897e7d792483bb0388c\n\n# tcId = 53\n# Flipped bit 96 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = bf301cbfb566720e23f166e24965c396f21619c7c15033cc6e8ebbcc8c5c5ba3e7e2dca7b011bf4cec4c7e7d6cc41bc10c3be36e8320c50aaf6c35f04ac8ca52\n\n# tcId = 54\n# Flipped bit 97 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = d29b9e3f87809686f34109fbc518d6abbb09c278cf05a206adf21463e1170362122e58272a31679720b254cbd63a7c6d696bf9283f9c6897e7d792483bb0388c\n\n# tcId = 55\n# Flipped bit 97 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = bf301cbfb566720e23f166e24a65c396f21619c7c15033cc6e8ebbcc8c5c5ba3e7e2dca7b011bf4cec4c7e7d6cc41bc10c3be36e8320c50aaf6c35f04ac8ca52\n\n# tcId = 56\n# Flipped bit 103 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = d29b9e3f87809686f34109fb4718d6abbb09c278cf05a206adf21463e1170362122e58272a31679720b254cbd63a7c6d696bf9283f9c6897e7d792483bb0388c\n\n# tcId = 57\n# Flipped bit 103 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = bf301cbfb566720e23f166e2c865c396f21619c7c15033cc6e8ebbcc8c5c5ba3e7e2dca7b011bf4cec4c7e7d6cc41bc10c3be36e8320c50aaf6c35f04ac8ca52\n\n# tcId = 58\n# Flipped bit 504 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = d29b9e3f87809686f34109fbc718d6abbb09c278cf05a206adf21463e1170362122e58272a31679720b254cbd63a7c6d696bf9283f9c6897e7d792483bb0388d\n\n# tcId = 59\n# Flipped bit 504 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = bf301cbfb566720e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3e7e2dca7b011bf4cec4c7e7d6cc41bc10c3be36e8320c50aaf6c35f04ac8ca53\n\n# tcId = 60\n# Flipped bit 505 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = d29b9e3f87809686f34109fbc718d6abbb09c278cf05a206adf21463e1170362122e58272a31679720b254cbd63a7c6d696bf9283f9c6897e7d792483bb0388e\n\n# tcId = 61\n# Flipped bit 505 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = bf301cbfb566720e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3e7e2dca7b011bf4cec4c7e7d6cc41bc10c3be36e8320c50aaf6c35f04ac8ca50\n\n# tcId = 62\n# Flipped bit 510 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = d29b9e3f87809686f34109fbc718d6abbb09c278cf05a206adf21463e1170362122e58272a31679720b254cbd63a7c6d696bf9283f9c6897e7d792483bb038cc\n\n# tcId = 63\n# Flipped bit 510 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = bf301cbfb566720e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3e7e2dca7b011bf4cec4c7e7d6cc41bc10c3be36e8320c50aaf6c35f04ac8ca12\n\n# tcId = 64\n# Flipped bit 511 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = d29b9e3f87809686f34109fbc718d6abbb09c278cf05a206adf21463e1170362122e58272a31679720b254cbd63a7c6d696bf9283f9c6897e7d792483bb0380c\n\n# tcId = 65\n# Flipped bit 511 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = bf301cbfb566720e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3e7e2dca7b011bf4cec4c7e7d6cc41bc10c3be36e8320c50aaf6c35f04ac8cad2\n\n# tcId = 66\n# Flipped bits 0 and 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = d39b9e3f87809686f24109fbc718d6abbb09c278cf05a206adf21463e1170362122e58272a31679720b254cbd63a7c6d696bf9283f9c6897e7d792483bb0388c\n\n# tcId = 67\n# Flipped bits 0 and 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = be301cbfb566720e22f166e24865c396f21619c7c15033cc6e8ebbcc8c5c", + "5ba3e7e2dca7b011bf4cec4c7e7d6cc41bc10c3be36e8320c50aaf6c35f04ac8ca52\n\n# tcId = 68\n# Flipped bits 31 and 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = d29b9ebf87809606f34109fbc718d6abbb09c278cf05a206adf21463e1170362122e58272a31679720b254cbd63a7c6d696bf9283f9c6897e7d792483bb0388c\n\n# tcId = 69\n# Flipped bits 31 and 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = bf301c3fb566728e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3e7e2dca7b011bf4cec4c7e7d6cc41bc10c3be36e8320c50aaf6c35f04ac8ca52\n\n# tcId = 70\n# Flipped bits 63 and 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = d29b9e3f87809606f34109fbc718d62bbb09c278cf05a206adf21463e1170362122e58272a31679720b254cbd63a7c6d696bf9283f9c6897e7d792483bb0388c\n\n# tcId = 71\n# Flipped bits 63 and 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = bf301cbfb566728e23f166e24865c316f21619c7c15033cc6e8ebbcc8c5c5ba3e7e2dca7b011bf4cec4c7e7d6cc41bc10c3be36e8320c50aaf6c35f04ac8ca52\n\n# tcId = 72\n# all bits of tag flipped\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = 2d6461c0787f69790cbef60438e7295444f63d8730fa5df9520deb9c1ee8fc9dedd1a7d8d5ce9868df4dab3429c58392969406d7c063976818286db7c44fc773\n\n# tcId = 73\n# all bits of tag flipped\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 40cfe3404a998df1dc0e991db79a3c690de9e6383eafcc339171443373a3a45c181d23584fee40b313b38182933be43ef3c41c917cdf3af55093ca0fb53735ad\n\n# tcId = 74\n# Tag changed to all zero\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 75\n# Tag changed to all zero\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 76\n# tag changed to all 1\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n\n# tcId = 77\n# tag changed to all 1\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n\n# tcId = 78\n# msbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = 521b1ebf0700160673c1897b4798562b3b8942f84f8522862d7294e3619783e292aed8a7aab1e717a032d44b56bafcede9eb79a8bf1ce817675712c8bb30b80c\n\n# tcId = 79\n# msbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 3fb09c3f35e6f28ea371e662c8e543167296994741d0b34cee0e3b4c0cdcdb2367625c2730913fcc6cccfefdec449b418cbb63ee03a0458a2fecb570ca484ad2\n\n# tcId = 80\n# lsbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = d39a9f3e86819787f24008fac619d7aaba08c379ce04a307acf31562e0160263132f59262b30669621b355cad73b7d6c686af8293e9d6996e6d693493ab1398d\n\n# tcId = 81\n# lsbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = be311dbeb467730f22f067e34964c297f31718c6c05132cd6f8fbacd8d5d5aa2e6e3dda6b110be4ded4d7f7c6dc51ac00d3ae26f8221c40bae6d34f14bc9cb53\n\n[keySize = 512]\n[tagSize = 256]\n\n# tcId = 82\n# empty message\nkey = eef6bcf16ef7ae17326a33f22d1406ec1bd3f866505f4b2e4fe8b45bd62ccbd85032a9899facf2db0c93a2345cb8892afb74db549781211dd8881a8c8e25c171\nmsg = \nresult = valid\ntag = 75f6975e3500be4fbfee1bc95644745ce9f8d47b6f3818a48ff34e8c2b186ba6\n\n# tcId = 83\n# short message\nkey = 838696e6190c874c3717b8be0cf063ca6d60760987d1a33703e7e35eb173e5ae954e741a37935139d612149e76f6ab2a370604f5b4a68bee87e309240a9ba3d6\nmsg = d8\nresult = valid\ntag = 5bcf44539d8783bb708e7f5dafc4d683bcaa0d240c902675bdde059f944dacde\n\n# tcId = 84\n# short message\nkey = fa999ed1cfbc5c43afb16f22d024e3ce645e00b06712c93b946167c9c2c037d192f0f3003f87c43a71166fe1a3c5824c348673a2f0f3c475706985940f6b02a2\nmsg = cad2\nresult = valid\ntag = 9a93f4728aa5941da160ec707f14b7e9ee1e768c7f627269543430d2fc681e90\n\n# tcId = 85\n# short message\nkey = b53fced8b7b4aa59d3b56d91e1386763c39e351c2f5ad6a4885e442ad894d5181c5bfe5c05280a84ad19d758e359bf8171fe652988fcf9d1458ea17364ca8fa9\nmsg = d3393c\nresult = valid\ntag = 02c4968e86d1c62837a41650d3199ca6b3c59b8227f55e0ba40e5e3904ab512a\n\n# tcId = 86\n# short message\nkey = 3f0cbeebe391c6491e77c57a05e85a16f0b5294d19f9a7f3390baf7a2051fbf980e041ee45c9104a9126a6a7ec182eaec27a99c1a7a3f5a1e8cd8ffde60641dc\nmsg = bebb0392\nresult = valid\ntag = 8d68dd7d67763e8eafee0029d01e96e6a09c4ba09e57a2e5bde3bacca213c695\n\n# tcId = 87\n# short message\nkey = 4a7f110b92241badc907ba3c61477bab0953a851bf327425e858fc724bd33ede2a4a5018fe71aab434bda8eb2464a41577c8d570530c460f7c8bc0172f1ee0f1\nmsg = 40a333f4cf\nresult = valid\ntag = 5feda3366ce9f5ac3402c977a4062d33c09e2c9a3d0c2dcda0c8d67b4bbd1a37\n\n# tcId = 88\n# short message\nkey = c6c95bf9facab295cebfa4b907855874f57a5c1548576ad8bae694a364f5e58dbb8c8dd49330b2fdd1b71657d211db2a6569a9f3a356c0c5b3c4efbd5b6777cb\nmsg = 4cf926af475a\nresult = valid\ntag = 0a748aa33762d374aa04b617b58d129ad1aaf252a40463fd62ce924e21e6d52c\n\n# tcId = 89\n# short message\nkey = 0d3387fe59e8e7c43c928dac7913826dec4d63ac3c8ee346ba7caed9505b9e63ff8942cde90997e8dbeaf6e17ee187c0a84a1853952d866c15f9a32fcee6a82a\nmsg = 2ba3bc3cd64bc6\nresult = valid\ntag = cc7e97630884bd8ad56f6d96fd34690eab6c8ad5556b519db3bc3c6083c82d3c\n\n# tcId = 90\n# short message\nkey = 3cb9ce565388a6f0454a80add86c7e107ea537d7f468a0648930fc37172cf7b4ca9058033071c354a20a608e2d46e98afe46435a344362989cbaafac18859bba\nmsg = 33ce498e1f94f412\nresult = valid\ntag = 76335ee23ee1dc258812be373bb5f95918babed0b69e565e00ee3af776c5a5fc\n\n# tcId = 91\n# short message\nkey = c25f45ceb2a5597f361445fa41a9019f41a6e6d7f144203f29c0b9fcea362d60894c3cadc1ce25d53da362e464c11fc6e169e3db2ea1cf40fe08fffb429b1a5b\nmsg = 81978af4795c50f89c\nresult = valid\ntag = bf73218544d8458e6ad00727b236f833d281723d7dcae4d1019b70b9d6e8bc4d\n\n# tcId = 92\n# short message\nkey = b458764ee273f391cb718f64a1bca64c96a870d9426d6254ee37e5c93898d6a5ef68e9d3b0e057a3c396faa834a29926a9680cfa903d2a605b85407bb24c8cee\nmsg = d804dc2a1e146f62b621\nresult = valid\ntag = 5b25843416467b9e0a24cfab67d8fc27e0623ff9e01b2204b5afdf3e9cc05d1b\n\n# tcId = 93\n# short message\nkey = 7cbc5778f70595fc211cee3a93e17ff7f25a1d9f3766f8eb70eb1e08c9420a62bd89e8b7d834cc854d059afd413e4d9c062a532e015928528c7f5812dfebecac\nmsg = 4017e0ffcaac4c485ce7ec\nresult = valid\ntag = 66b4191b37a6f78809c434736ed6ac2273c04a11219636e92", + "671ea05bf6dc299\n\n# tcId = 94\n# short message\nkey = 937b9711d670daa2359920e47dd6d0fb75275105b3ef07bb4a31d3c4b99baa8ff79ee4b4a1b4a5b250d0fd7b4721e04a7b06035b1d0c9d739597707839018bce\nmsg = 6991810e9788af7aabff8eb4\nresult = valid\ntag = 23522de80ff6a3a6d8fc1bf9b632e1600df53c59f38589a6f2ae9b95d940a340\n\n# tcId = 95\n# short message\nkey = ad37630a280b1a75ebed1984217150a400a55dca2362a8eaf3c907858d0b45db3e208c316d033854eb4284f71117d33876e0e203ca922d26f9b76d94cab0d4f3\nmsg = 7c6f2fd83e5691827be38e49a0\nresult = valid\ntag = b609c0b5d359061ac066bd3bccabc98493fd33bac8fe0e3f2e2b4758cb6578b0\n\n# tcId = 96\n# short message\nkey = 526aa2645ab71229e2c60f68bd5bbcf0cea0978a0a9c60cf695e81fecaedecfa0362c21747eaa995975208ca35cfa6bc2b95d1c2afcee11275f43add6f026d6c\nmsg = 681bca550fe301f2dcc1e38b53c1\nresult = valid\ntag = 1f1f50dacb3dc35b90429c0f9b31edd239a6af4c09d51095cb39ff11c7c26598\n\n# tcId = 97\n# short message\nkey = 6026a9047a07ccf197fde09c8b9f15f34bc52472b7d1ea4673b4914a0e1c3aa4cfe8d6ef12d4d4019f5ff3ac0adcad7358490874155daf41da2f74aca1cd894a\nmsg = ce1d869c53041c5f6acdda7a05af15\nresult = valid\ntag = bd2d678ceadd71680f9987c88d24c49335cb985af0bcf8e23fe810e83a920f13\n\n# tcId = 98\nkey = a03d2c543c302949c51b662f43114c1305a8f6961ae48342803d3690dc18255fab924965536a79bc38564c7c97cb8cc0209786e9f76375bf181529cf7f93d954\nmsg = 697617ae31f19b8a6ad4b8489bfc3db1\nresult = valid\ntag = 577d62d7279b39a0d71e2f80833425ed43e4a16233eeb5d251f766db0bf7a58c\n\n# tcId = 99\nkey = 25843665d39c3ae9a7b3e4427e2bf7785281fd2594bdde67860ca9b8fa11646469d1645ae8ca3825b8c551f9eac3da0660d8c2e2e3bd23d34395c6775dcdfd2e\nmsg = 74082cc5d14db1967442d66aac6092bd23\nresult = valid\ntag = b373ac5fb1982b9d47d28844e969d51680dc81d21d556c2671c29c11dfa6e340\n\n# tcId = 100\nkey = 4831ab4962a2d2436091cbbf388d2ba042b472a262ed8373c85d047c702adf73a87eb097e72d91d089b7d1504a7f7d8abb3bc2c44c1340d6c16c84ea9269e64b\nmsg = 2803c2f4e5b4bfccd2b407469a6cb5ef21fd14a682636397\nresult = valid\ntag = 641f29925c06aa01086c8bce89d99e1456dc2ad4b1d3364442187ce4392838ee\n\n# tcId = 101\nkey = 449bb57d046551e1819b3c994122c3605954317d0d76212284a3328c226732cbf4ecb442a582c8423888aaed946e5eec2be66e127f1e2e29b66e68b9b4bec4d1\nmsg = 79004e644389a11b709bc0a23cb8592f9fc7960bfa46132cc1ffb9747df37dec\nresult = valid\ntag = c054667d992cc1e84fa5b13f6402125b4bb6fd2900dbcdaf8b8644c82edadc2b\n\n# tcId = 102\n# long message\nkey = ff97b77020861a0ce00eff8de9e701aea8c6de0fffd9b4c1342a416d357fce35a7016c64ccd38e2bdf674802281c2234153dd83aacb948966dc87ea4718fff75\nmsg = d7e2d2437b7067a30f04529041960e041e281737d1e0daa8cd50cc0b264716e117aa2fe9a7e39c2f178c607faa50c2\nresult = valid\ntag = 062e9c4609a3b1d5df277a33ac1c7501df81ec1ddf460b0850a2aa332d07bfcb\n\n# tcId = 103\n# long message\nkey = f4daf370c4f437d8a85391ec455e34540be8d32df8dfac05b166ae72ec1cc608f8c177b30dde8bf07c9d434732c26a6e530b182c7ab21093eb79d0bb5be85e53\nmsg = f60418f6c54a25fabf518273088619c0741c1c7187de93a0cf6a03f4565f1765de656754541b860137f3f8455de7c403\nresult = valid\ntag = 4d4a568dd26d27267d0772540ebb0b94d44fbbb15a1bb749a570ed6313ee695b\n\n# tcId = 104\n# long message\nkey = 3be95e879421ed7856269eef39a2070fae406cec5e30b50d92792df5a37de98595684eaa9205587ca607eeac8f96592f458f63434b7dc82596d3e4a1a16c3d59\nmsg = c64f7c970a441c6c503838a491308c783099eac52bd35a217978a64dcec84d34186ab3b74f20285d6fea2165eab4da3d2c\nresult = valid\ntag = 4ea9e2f08870c30cb68d419816deb681cfd6ba62906e6b4a8088efcd9fa4edf9\n\n# tcId = 105\n# long message\nkey = b5eb53586b948587db3dd46c43ad65498a5079157562e4074c9c20d097d0c97f19db4661fb2dd11b87a5ccba2c345642618f561d00bf87dffc66762e45e0156f\nmsg = 9e8ebf96429955d60b925a4111745ec7028de24e694a6d2eee1dbd5e820ab9f00beafde09f95095933a02f251297282b0cf67c518397655841f230e1d9ae5ba93150d4375dc7c0738b99850b07d5a442994e68dc813d55edefa6cd063ccb202711d97ba674efa02ddbdc692341e77cfa\nresult = valid\ntag = 6a5b6272df7fb6315293ce22483511d700a83c34db6b0ee4398b4a770241fcf2\n\n# tcId = 106\n# long message\nkey = fbc678235d596980268730a7aa8a3c25095f1dbcf7f830990716a510c44e62b1ae8ce095c65e1852bd8a09f25ab93415ae736f22b2c68ecdf3c0f71e15a057dc\nmsg = ef395738f2b3bd7a0649eea75e734e5c79baf21358c7ae96c63a58e260266c7bfa869664c5d10e87c26d0f5edb3b5f73900c1d9a96a5a2c2912506c19dff04e900b8d5d63e1bb606fe3d5a229b642b1ac59e08a4687a7aade3de16d183131ddd02da988ff826e88b74ba0c5c41cfcd8570cca59fb3304d588f7f7e63dad47a\nresult = valid\ntag = 84df3338f502e65866cf2077f6776341a89dd2234961b474d5b7438d1836fd6b\n\n# tcId = 107\n# long message\nkey = d8437b093e170afc30fb68d873db6dd67ee0372b6c5feb124d548abbd93304a082235a170a9d326268d0cfc34264d8ebcfcbcc0dc0ea7767b650dbcfc7848f91\nmsg = 0fb91bb043cf3d49341482eacbab92da92117bb6ec03b518a93c9d59e54702c6a21ade4f255870cb52da4a24b36856b0cbf8b122d2fd5b0219aeacb6e292c95863921789092d5d65d5a9389231670e38be31d8b76630650c77edc23773d5ec9189915560ef6f45a4275f85957d8762916d8147ef43ea6f438d066227354df26c\nresult = valid\ntag = 4b9b51f2c7d725269a5bd735d4251cbfda71ea5cf5c046379b439ddff766d21a\n\n# tcId = 108\n# long message\nkey = d29225e3042b43d4eb7a9399f224424b5b4dd99031c8abf609d3a6e3175897134cc7ba8a6be25d436d41a757a2daa4e1b03f7c3053ee8cada19531d48dab93e0\nmsg = 1fdad8cd37e115ef8131d4619b5d61a9827a11b9c25c5b8220b002d5b7f6e2bc30a7e2f3d103dbcaf849a255c20ec5d1b40a623e398d76c5b7f07fe305181cd5bee29de3360fed55f69063e6a8fd2ef31291e4d7c3908449466b4ff1166959ff1f2e86eb48a7ed11bdcec2fc2dfb6684b36b8d0b68e0f1b23ef11bf5907d4a2b162cec26f31b6d5d9892a27b3fad7a5549858dad530bae193d9b60d42d7ad2a66476a3ba4bf7a27ff9d0f885a540bf181caad71a235eb348a23d053ba2db7aed8d7d01d96dc9f780e2e426c72bb63fcb3fff44c14bb7b0f8af3552d67ee6761092c757627d19c080499c247d13b431699397159b1b71c6274584959d5c30f0\nresult = valid\ntag = f9ad00420ce909cd050fdb84dcc70f00df97928968d0aca51db2784f0394898d\n\n# tcId = 109\n# Flipped bit 0 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = d39b9e3f87809686f34109fbc718d6abbb09c278cf05a206adf21463e1170362\n\n# tcId = 110\n# Flipped bit 0 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = be301cbfb566720e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3\n\n# tcId = 111\n# Flipped bit 1 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = d09b9e3f87809686f34109fbc718d6abbb09c278cf05a206adf21463e1170362\n\n# tcId = 112\n# Flipped bit 1 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = bd301cbfb566720e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3\n\n# tcId = 113\n# Flipped bit 7 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = 529b9e3f87809686f34109fbc718d6abbb09c278cf05a206adf21463e1170362\n\n# tcId = 114\n# Flipped bit 7 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 3f301cbfb566720e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3\n\n# tcId = 115\n# Flipped bit 8 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = d29a9e3f87809686f34109fbc718d6abbb09c278cf05a206adf21463e1170362\n\n# tcId = 116\n# Flipped bit 8 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = bf311cbfb566720e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3\n\n# tcId = 117\n# Flipped bit 31 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = d29b9ebf87809686f34109fbc718d6abbb09c278cf05a206adf21463e1170362\n\n# tcId = 118\n# Flipped bit 31 in", + " tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = bf301c3fb566720e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3\n\n# tcId = 119\n# Flipped bit 32 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = d29b9e3f86809686f34109fbc718d6abbb09c278cf05a206adf21463e1170362\n\n# tcId = 120\n# Flipped bit 32 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = bf301cbfb466720e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3\n\n# tcId = 121\n# Flipped bit 33 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = d29b9e3f85809686f34109fbc718d6abbb09c278cf05a206adf21463e1170362\n\n# tcId = 122\n# Flipped bit 33 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = bf301cbfb766720e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3\n\n# tcId = 123\n# Flipped bit 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = d29b9e3f87809606f34109fbc718d6abbb09c278cf05a206adf21463e1170362\n\n# tcId = 124\n# Flipped bit 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = bf301cbfb566728e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3\n\n# tcId = 125\n# Flipped bit 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = d29b9e3f87809686f24109fbc718d6abbb09c278cf05a206adf21463e1170362\n\n# tcId = 126\n# Flipped bit 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = bf301cbfb566720e22f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3\n\n# tcId = 127\n# Flipped bit 71 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = d29b9e3f87809686734109fbc718d6abbb09c278cf05a206adf21463e1170362\n\n# tcId = 128\n# Flipped bit 71 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = bf301cbfb566720ea3f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3\n\n# tcId = 129\n# Flipped bit 77 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = d29b9e3f87809686f36109fbc718d6abbb09c278cf05a206adf21463e1170362\n\n# tcId = 130\n# Flipped bit 77 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = bf301cbfb566720e23d166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3\n\n# tcId = 131\n# Flipped bit 80 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = d29b9e3f87809686f34108fbc718d6abbb09c278cf05a206adf21463e1170362\n\n# tcId = 132\n# Flipped bit 80 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = bf301cbfb566720e23f167e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3\n\n# tcId = 133\n# Flipped bit 96 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = d29b9e3f87809686f34109fbc618d6abbb09c278cf05a206adf21463e1170362\n\n# tcId = 134\n# Flipped bit 96 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = bf301cbfb566720e23f166e24965c396f21619c7c15033cc6e8ebbcc8c5c5ba3\n\n# tcId = 135\n# Flipped bit 97 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = d29b9e3f87809686f34109fbc518d6abbb09c278cf05a206adf21463e1170362\n\n# tcId = 136\n# Flipped bit 97 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = bf301cbfb566720e23f166e24a65c396f21619c7c15033cc6e8ebbcc8c5c5ba3\n\n# tcId = 137\n# Flipped bit 103 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = d29b9e3f87809686f34109fb4718d6abbb09c278cf05a206adf21463e1170362\n\n# tcId = 138\n# Flipped bit 103 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = bf301cbfb566720e23f166e2c865c396f21619c7c15033cc6e8ebbcc8c5c5ba3\n\n# tcId = 139\n# Flipped bit 248 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = d29b9e3f87809686f34109fbc718d6abbb09c278cf05a206adf21463e1170363\n\n# tcId = 140\n# Flipped bit 248 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = bf301cbfb566720e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba2\n\n# tcId = 141\n# Flipped bit 249 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = d29b9e3f87809686f34109fbc718d6abbb09c278cf05a206adf21463e1170360\n\n# tcId = 142\n# Flipped bit 249 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = bf301cbfb566720e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba1\n\n# tcId = 143\n# Flipped bit 254 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = d29b9e3f87809686f34109fbc718d6abbb09c278cf05a206adf21463e1170322\n\n# tcId = 144\n# Flipped bit 254 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = bf301cbfb566720e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5be3\n\n# tcId = 145\n# Flipped bit 255 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = d29b9e3f87809686f34109fbc718d6abbb09c278cf05a206adf21463e11703e2\n\n# tcId = 146\n# Flipped bit 255 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = bf301cbfb566720e23f166e24865", + "c396f21619c7c15033cc6e8ebbcc8c5c5b23\n\n# tcId = 147\n# Flipped bits 0 and 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = d39b9e3f87809686f24109fbc718d6abbb09c278cf05a206adf21463e1170362\n\n# tcId = 148\n# Flipped bits 0 and 64 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = be301cbfb566720e22f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3\n\n# tcId = 149\n# Flipped bits 31 and 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = d29b9ebf87809606f34109fbc718d6abbb09c278cf05a206adf21463e1170362\n\n# tcId = 150\n# Flipped bits 31 and 63 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = bf301c3fb566728e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3\n\n# tcId = 151\n# Flipped bits 63 and 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = d29b9e3f87809606f34109fbc718d62bbb09c278cf05a206adf21463e1170362\n\n# tcId = 152\n# Flipped bits 63 and 127 in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = bf301cbfb566728e23f166e24865c316f21619c7c15033cc6e8ebbcc8c5c5ba3\n\n# tcId = 153\n# all bits of tag flipped\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = 2d6461c0787f69790cbef60438e7295444f63d8730fa5df9520deb9c1ee8fc9d\n\n# tcId = 154\n# all bits of tag flipped\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 40cfe3404a998df1dc0e991db79a3c690de9e6383eafcc339171443373a3a45c\n\n# tcId = 155\n# Tag changed to all zero\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = 0000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 156\n# Tag changed to all zero\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 0000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 157\n# tag changed to all 1\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n\n# tcId = 158\n# tag changed to all 1\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n\n# tcId = 159\n# msbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = 521b1ebf0700160673c1897b4798562b3b8942f84f8522862d7294e3619783e2\n\n# tcId = 160\n# msbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 3fb09c3f35e6f28ea371e662c8e543167296994741d0b34cee0e3b4c0cdcdb23\n\n# tcId = 161\n# lsbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = d39a9f3e86819787f24008fac619d7aaba08c379ce04a307acf31562e0160263\n\n# tcId = 162\n# lsbs changed in tag\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = be311dbeb467730f22f067e34964c297f31718c6c05132cd6f8fbacd8d5d5aa2\n\n[keySize = 256]\n[tagSize = 512]\n\n# tcId = 163\n# short key\nkey = 14d93759fc28f3319ab74b8167c974e800f032344dc2747ec0f4945061a47827\nmsg = \nresult = valid\ntag = 68934dbe948d9a77a5e0a92ed98254fa3b6c93c8bf5eeaa912b7dfdf762b37192c5d8523bcab9ad71b09bf96d8454188d001c7f2077eb641199f5731b9f94669\n\n# tcId = 164\n# short key\nkey = 9fa371f36fb273d514fd628cb938067a4bae32a19a1e045a7d6d7f6de3751cbf\nmsg = 311bbf722d322cd7a0710f480fc66518\nresult = valid\ntag = 16345f6a6ca6e78d4ccac30b48d76691d6442420efa113c15ef127b538b5b024018b7d2db4bc3ed3424251ab6b8b6c3cb108b0beda842dc3e68e63400287e5cd\n\n# tcId = 165\n# short key\nkey = 6313f1526bc220f20dde1e64ced8597279586d1e15aad05ad591d841b369284f\nmsg = f744fa3933e16d8bf524afaeb34c715653a9cfb01fa45fe1fb68e701fe1487ca\nresult = valid\ntag = b88d1ba03e2799200a447550d18e310697a57974f513df77eb07bbe315ba5fef397eeb81ad9071680bcc6c70f6b252ade35b4a4040279ec01b86e40b98770e39\n\n[keySize = 256]\n[tagSize = 256]\n\n# tcId = 166\n# short key\nkey = 1e225cafb90339bba1b24076d4206c3e79c355805d851682bc818baa4f5a7779\nmsg = \nresult = valid\ntag = 23d482a05c907eeb346ba98f83db0f63c2adfbd5b2940f33c7964c7f1799f180\n\n# tcId = 167\n# short key\nkey = 6fa353868c82e5deeedac7f09471a61bf749ab5498239e947e012eee3c82d7c4\nmsg = aeed3e4d4cb9bbb60d482e98c126c0f5\nresult = valid\ntag = 1cf9d2c9c1b55a45190b5beb590cd4cc95e3853df8aaf9f4fef9bbbbd72435ff\n\n# tcId = 168\n# short key\nkey = 186e248ad824e1eb93329a7fdcd565b6cb4eaf3f85b90b910777128d8c538d27\nmsg = 92ef9ff52f46eccc7e38b9ee19fd2de3b37726c8e6ce9e1b96db5dda4c317902\nresult = valid\ntag = d127b7385badf0c76f2b3d8aa9c722333592e01f462fedd35ec664a6f6d52d74\n\n[keySize = 520]\n[tagSize = 512]\n\n# tcId = 169\n# long key\nkey = dd1e0bdbb6b60862176484f3669da531455f1cd714f999c29f08b851055fee8d72186d376c236f4e16cba7a25cba879fb2753deca4459aaebc6f6de625d99af330\nmsg = \nresult = valid\ntag = 7e4f7d844b3ba0e025b66de7cc6227bc50d4e174930251bfff3df36c3900b5b76b00095a896d0f96842e37b6134df40760307699534d6670f138974ee1c58d94\n\n# tcId = 170\n# long key\nkey = 432b311ebcfd46ecfcd3cc706ebd05c787dfbe1855fdcfce8d50c9a00f72b65a8d42acec335b4e07d544c92fd7b1d38543ac6e0fc04c26d88de8dd974af69e24d7\nmsg = 36b1fbe8f1335e7c0399c24730906420\nresult = valid\ntag = 2cfb688f30b10534da9377a4b3fbee1dec161cb288ac8b758793838b45ab953979dadf27817f477c9ebf23cfdcbacb60b81038e08bc4fc3180bd2a1ee805976a\n\n# tcId = 171\n# long key\nkey = 17f720f09df5972af9b9c63e10043284608900d50b7955db3b4e2679cb4120be2c9b9e2aa1a5743eb519792822c326b4d890b5554d1cb0eb71081b7569a2f04df7\nmsg = 57167c2524a55289687b83a40d3a69bc90adc53ad247020b88897f9b95d1516d\nresult = valid\ntag = 4f70267b98fceb4f662901bd18fb4c81ac164281dd0ece43028a3c2a65ca213aedf1bd207f0939bd879bbe20fd09cdeb20246e6539766add08b3adc5143d2bd9\n\n[keySize = 520]\n[tagSize = 256]\n\n# tcId = 172\n# long key\nkey = 8a0c46eb8a2959e39865330079763341e7439dab149694ee57e0d61ec73d947e1d5301cd974e18a5e0d1cf0d2c37e8aadd9fd589d57ef32e47024a99bc3f70c077\nmsg = \nresult = valid\ntag = e1657f44bf84895e6db0810a2cca61a6e105e12ec006f0b5961020301b57744e\n\n# tcId = 173\n# long key\nkey = 2877ebb81f80334fd00516337446c5cf5ad4a3a2e197269e5b0ad1889dfe2b4b0aaa676fac55b36ce3affc7f1092ab89c53273a837bd5bc94d1a9d9e5b02e9856f\nmsg = ba448db88f154f775028fdecf9e6752d\nresult = valid\ntag = 33d5a2d1998a586849eebf8134728485fcfc71248f4a98e622f83b967844c40e\n\n# tcId = 174\n# long key\nkey = 21178e26bc28ffc27c06f762ba190a627075856d7ca6feab79ac63149b17126e34fd9e5590e0e90aac801df09505d8af2dd0a2703b352c573ac9d2cb063927f2af\nmsg = 7d5f1d6b993452b1b53a4375760d10a20d46a0ab9ec3943fc4b07a2ce735e731\nresult = valid\ntag = 88d579c2801905b818070ccebd2c7192f97bb3e7acdcaf613cecc74d0e41", + "1232\n\n", }; -static const size_t kLen84 = 310039; +static const size_t kLen117 = 55755; -static const char *kData84[] = { - "# Imported from Wycheproof's rsa_signature_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSASig\n# Generator version: 0.4.12\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sha = SHA-256]\n\n# tcId = 1\nmsg = \npadding = 3031300d060960864801650304020105000420e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\nresult = valid\nsig = 9f420516e9d063e5e2961accd80e3eb0198b10f4d64e749b5bd39a80f7356d2ca0fdbbfe5f5b2bba92da7616a83912b449e69f8ce6e35a27e9e553279d6a9317a1d07d897dddd9a8291321359c6a8a31a4ad7dbb54432bebaffbe8940e40cc875d941ecaa10196e1aa68b83e0db67e34f3937dc1dd11cc0e5b40cdb0b90ecdcad793d7279dc5b5f6cb356b805e6357baa1b3659dbbdfc9a0f042131760fe1b78202f289699e04b5c55f3ec26fa25460ce3de5aeff0b1f5c435e022e1168f9fb86147e7a8b0f11cd988d59c81c3fe74116b350e0396b1cdb2b4e0326b5c90dc384529c7f794c4c2f40958f97ea203d76a75076d5360228e7ddf166842b9165e8e\n\n# tcId = 2\nmsg = 0000000000000000000000000000000000000000\npadding = 3031300d060960864801650304020105000420de47c9b27eb8d300dbb5f2c353e632c393262cf06340c4fa7f1b40c4cbd36f90\nresult = valid\nsig = b4e0a273bbf6e942cb22ae5ccbfd9d843400ba451c5e086fce9b3b1f90bd892fadc54ac45b61f3b3b37aca67d835fda1b37d5bec427382be2348062716d4592c7eb5c9107cf391e1cec01c74d64dfa5cb7052f2f8e442a09d21c22ef5484cb045c25a05b3057b266335f619ea8dc43b72e9abf38c19b5d71c21b9bf2eb8b63f2fe0fa868f7dbc9deae9745adb1fc26027bf5e2770b2d250c7507faf2fa63fabc67eeada9f2ed8f724dbd99d43294e5ec11d1575101d32af1a308abb56f7f15f544204b533fbd96fd3fe9174db3bc2af67c35401cc4003bbce360a7898dc831011ff0582c0658663a8c2e7c0e7a0df7f3c8ef95175bc136c3b49eb7a65023b08f\n\n# tcId = 3\nmsg = 54657374\npadding = 3031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = valid\nsig = 9f74957ef2ec67062c5064143d096610d04af16f23189bf010f560d49bd793d619f70125dbef4edb4d4c923f8447e48a744428d8b463745d84a718d3c5592cdf6f611a735c7e04fe3f89920cc61e0113df20b93c719df7cf62013a2db3b497c033704352519dd51975eb156ee733d7bb342093bf494e6d7c8e92537adaf8b9170c0a2f0d76af847f716ecc87e8cd3545151387cafe062d5a2db83c5463b84d13b1ede8656efb3ae9509b449f4676084042b7c9091fb75476c8a866bbdbe57e125d7c64f2f7f1d4f732666bc7ac09c8e767d145f22243dd1f10943aa61b75e85256c52c522426c1dafde98af977c8538f7441ccdbb4eabff1990304c087070b12\n\n# tcId = 4\nmsg = 313233343030\npadding = 3031300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023\nresult = valid\nsig = 257d5214d02f48bf63a6a1f2604824bef64108af97a6032d9eab48b7964642e104f13c462289fa889109274360dfedaec2ace0f5f190d2e9ba0d2d522dc763dd60fcee52d513bf9ca7c0b29de279ca8b401bc2016c10d837cca56498dd644e4d350315819767e2908c1c33b71acecd0143e2913f9eec1978a900a3326bd8bb7574521c39efa2e987327c9343b9da06b304d1e4688ef80e6c285a6dfb64b57ffbfc786f69a2a1c0948ee6781dae288089a5dcb7fcb1e53a74b828b34867b8d7fb5a0151e43076772bd53a537937f8ad6e44adcf96a18181b460b63e530edc56a773fa3adb252cfc8bb664ca560a054f374c2a03d7532ac8986377b76ad0a4f1d6\n\n# tcId = 5\nmsg = 4d657373616765\npadding = 3031300d0609608648016503040201050004202f77668a9dfbf8d5848b9eeb4a7145ca94c6ed9236e4a773f6dcafa5132b2f91\nresult = valid\nsig = 339b527aeec23ed9319d5c5ee671e8e92fde09932648734b1ded4eeae420e113a7ff1119686aef90c0bea5248ee1d50f5081515fba7a68a7ac8e2ba9828ebd58237d211c8212267f2a82363ffe790e3ad5282bef3842ead902cd98194d440cd1a53cc34121862034670dffd82aff9bda7f867a3893c2ba2d60cd3d5a3ae1c446c718e99bda195e8b19af734786c62908e1e18b155dbf791283c1bf3e02ce009e08415444d56f5defe78200557d513c8d93414228c4b746a10262cc4dc573da6801f624c5d99c200bd5731142e49d69f9cc9d6d914be18d09bcff4411f62bf028223ea559a41c71a970f5e0010ae487db94461a662d56e124d7b275e8266e55f0\n\n# tcId = 6\nmsg = 61\npadding = 3031300d060960864801650304020105000420ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb\nresult = valid\nsig = 6ea7297a28c575e4348878b928d6e938a2e3d77dc46a785611a64817fa0e9c8ec71728bc7e8f9eb3268aae0f3bfa23dcb73d503e0147432b4003400167ddf2f9fc8d09464e0b91a44de12c1efc8c38732e1ed87f91cebae036610c43a3b8bcd5bb4beac4f9fb5e39f193cfd4bc00d4c7a3a98d00c4efcd1bd64f260a2a957fc730df6dba68d622441901c51f5788d6c3636299ed3eaf0bc23000650ca97ed62d367a844f23649bdc23efd0349dc8d58cdbcf655aad1f9d3a21afa02930d68a2c2db68e364b0966b005c460b682717035fd43f0cb0e7008a3d841a90c0449de8d154082703313cd9abdcc836e6c1ae5b1887f75d2e4b6387e7971128790a62c00\n\n# tcId = 7\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\npadding = 3031300d0609608648016503040201050004209432c1a7d343fcfacb164bdc44ff71c1281c004886b1c428419088d06cd3561a\nresult = valid\nsig = 5a7186589cda0f9fb081dad864032ffd26a775fb33c7dae0ac080aebdd4ab53bc3ed37cc09f0a1b1edee78f0790ce0d1b656e4a788172db08900bb1474159937ad29a7899d6bbc87c743945c798307e61141ac21542af06bc2f435a47b505b2aad2619800a97396392f141772cfa97d762c42ee8afdef27617dc8056fe75b23ede6c8f4e9abe31c8344edd2c73e5304621283021ae7003cd760c3e34caec5b4b5cc6d291cff1ea80e5b9b68c5b7b045c04714d3dc73e150eb770d3d3ed788a4ed039117881ed5cd03eb3db6e4084679e09078110630aa6895029e7a6dd19d5b77952bbb06de26c2179fb06c64d184caee0079287c7b18f5ae7843e3cd01eae28\n\n# tcId = 8\n# Legacy:missing NULL\nmsg = 54657374\npadding = 302f300b06096086480165030402010420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = acceptable\nsig = 38e80b028443d96685ed76d4574b36c43cf9722e5fbcf08bc974385454316dee326a308c935a6e612ed26ef4e470e5f3f19a223e2866a2f1c805f74c804e2184f5620c1e84f894b890be7d46420178a2a5ad97b4bd3d31db24828281587207041a96792d8ee57889c666719c769f759c2175361434b18f188de387c8c13f6fb3a7e96f1abbb6124e94fbb4c6bc1d88caf54136b8f01c9eedfd614bc35375f33277d2e71a4dc5f65254179bbe75634e9dfe05aff9e1f1d792f4e6caf88e4299ed90d212d3d7ac9bfc71a8ac85ffbf2f49f77b41d36a64bccd3fe8948054cbad480451b0ca5f7fe35b0f6c772d64b70346f469808dc0057ba1c25c6ae7ac8450e9\n# Some legacy implementation of RSA PKCS#1 signatures did omit the parameter\n# field instead of using an ASN NULL. Some libraries still accept these legacy\n# signatures. This test vector contains such a legacy signature\n\n# tcId = 9\n# long form encoding of length\nmsg = 54657374\npadding = 308131300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 33a82ebc17f79f56f79073afbe0ff3f984f868684c529ecfffb3bfffaf52a99bfc057b196c3faeae3cf722c386c224ac235f781d9025ff8c9dcf10c4cc7f93c1f1aa5e1db9b166a71ac7350134ae1a1e5537a67f846f8c6970c269c4b91bc59ec783b7710afbd763ae42b1125eb9d0fc28b4045071c72320448a474006eefb256bb403b30a67c253028a2a0af7e4e36e85aa70ea73541ee2694d2bbe1415b37d2210def5ec77ba23c6f5cbe31ee21e072b49313e6e18bc6d6f2ffbd6b28267a", - "5cdda24a62edd2151bff87ea6858db5b863c13a8e2a6445d8d31fd6b3ce8fa5a31060f97545f1e04df6819648a1933b1bcfa2470bb14844963f53175f1b26b612\n\n# tcId = 10\n# long form encoding of length\nmsg = 54657374\npadding = 303230810d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 37c62aaa10e8cb4bcce5fe466ac8688431e8ad2105dc12c6b7a0dfe8657ef3dbd027d04847c7d708c2099d7d38ca2b21aa5146ec0ffc7fd1a44c91c24689fa37475013e5b30c92c3565e3d53afa73fcf269dcf3b2bfc48a2ff026130bc008a724cd29ffc546d1aea5aeefc8cd13779b3b821d78bc7b7664fc7a89ce0273a8eed1e4a683c739005640c2edb756ea95f48d9c91d1ae9f57f24f6ce3193cedbcc52d05eb0dc8a9634a0ca8e12a446e9ac3378cfabc37b498aa4a1a9d1d3a6fb308411566f9c68063c0bc8e78621fed3a22073260aa87c76c5768c3db7f674f84d8826381fc3491f46d417a73ab88587d905d1c090e37913c99cfe29dae491841d31\n\n# tcId = 11\n# long form encoding of length\nmsg = 54657374\npadding = 3032300e06810960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 875b9204a6603968f50d6e4dc13d3192077a286c3475165b0bd160ff3df39fec5859a512886fc1e06916c2025e01ae2f7ab3b341b6372f819a625a42c22cdafce031d9635f95dd962a8f202b52f9925f07bc0c94434a2091d861729551e37d7c6019e16a47ce87f3f4051b8e9adf62444b522f522918c391d82940418cb3976f0c30634bc5dff2c4c3f36a4489d00c5ae65021b3bcf5abbef9257e3c976e5fd305fb30ccfe13c43fed64c371f8532dddc70a1f411cae257f37b6743da2d9567f9dc3513b267ee26e2da1a6ef005526fd90b6ecdfaed9a8d9e2bbdfae25b0adb81004501ff32fe1e7b7acfa18de5a1ab876705784181b1336288aefdc91186c3e\n\n# tcId = 12\n# long form encoding of length\nmsg = 54657374\npadding = 3032300e06096086480165030402010581000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 3cba108ad11cc9c6cfb4b849b1533c37557dd1ef2e201a78da42e164458ac54a29f0b11b1931e72f57266264584c13e910267e52bbcf15883e109a45ce14a86ac8e700cb04ea0ccccb55b01ce699275190b98c77981d2734d35d8ad41f94edc6481cc831a44d38a617a32855df03fcc44914e55b88271015c971bbf051d878b3ae7a8f53582ac8e2ab5d10e5023e67599725e9122b8ec42a96b40410edac51b26bec597b727404a6b1b24807e3df2fca8847de8b7517061edb009a40c8b3aa82cb22de080d3f7921c504965d5a23887ddb54100bc81894991c1ace0ee2afd1c38c554fd00ade0240c2067f01977326916d1708af027453f734b0a22331bc9453\n\n# tcId = 13\n# long form encoding of length\nmsg = 54657374\npadding = 3032300d06096086480165030402010500048120532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 50c6c70b2cf065c62b8b69884ae779e08b376574fe9307e2dc4ad58a50c5b2a8b74c1e8929b190045dec835e5f26c73824ddcf1a4b63f54b9f90c5f80c36f6a0cb616fb8b63926cca91c90761f960b83381cbbed3f8ee83eee92324fd9697b7f2cc0e784c956354b58e9243495800235156ca1698c407dd9b6332281bb5de1ff180dae7bb3393016e6396cbc7a02ca159b5eccee507a36ccb9338623e050d217be8d9826d0683d59c0acbaa190ba91da6b8579b6086d86d32edfa0f6f17ea5a58d3b8bb9e06ac1517eb66a8fb38094ee19e22b3d6d3cf8c1d001635e3c7e18823b69b9026d81975cb209024b8ebbdd88accbd9c5279c7a2fcd824697907223ef\n\n# tcId = 14\n# length contains leading 0\nmsg = 54657374\npadding = 30820031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = ac3c440334308e0eef1b3c3afb42dd050c77f1bfe9f3c3c83d466a46bf708502f1866f423d52866147554a5c9f86f10c079d2bd47192dce0968e8aefd5f43a2892ad21b0bdb92be45bc380c11565ac7c01be00cb1e294048a1efb4cbb19be44fa4b542e0bbf9a47549d09e456f58ff377adafbd68ef8d86dc2d7d56c5d3be08ec6cf12c0d04bb7c64c13f08f75377ba896bece7f409d50809521b7f6496c992c90ce15a70a8f8096f8f2cbd3e575acb618c87f56324885cea1a6ded33d2f09d684f8d5a98c78f94853d74b9e6ab503918fea323e5534d3e45d51b3097e082c5da614d03a5ac422e5dcc3b764bbc02aa633a517bbe391d2662d71ab851e4eb3f5\n\n# tcId = 15\n# length contains leading 0\nmsg = 54657374\npadding = 30333082000d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 65fa4957fe03c0eb8a6680ede12f009178d3ce357927c8586ae056f209e0ab0c110871fdf0b95a2ff684748beb4e5a6a73ca3c657b23bfa06d362a300f260f4d60d459a066c9f5311d634bf96ac7ee4c80ffec2fca27eca7dbd37025bae76122a1fed1914da70f2bfb6bf2e1bf3a624acf2a6377606fbf06044a21a39ccd55b2cc1f0ff184d9df95bd73942a190f30028e770139d38ef3156f64fc3eec68ed5170c41f09f110f5a0fd195cd42c4dd8e394f32d195c159c7c2b69943ea966039b20c7ca17cec610be60aaf7ecdf3511590a662b74a181fb89135604d84cf9c4d6cb6cc0b4c24f4b5e7e9e9cd969855cdb92e3b399f32cb31319ac81701d056e84\n\n# tcId = 16\n# length contains leading 0\nmsg = 54657374\npadding = 3033300f0682000960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 305b0cb38db7ba5dd11c1d82195313b522f57ceb7b4045249dcf5977b99315f6708e9d8eaef6a89da0c11fa6f8dff3aa9050369cd520dd6e957226144fb68c846255b923a49ce896fed8828f8956d0d7aa5193123940ad0a5225e921ca0dc0852aae48507c7e22ca007f403bf0fcb6553d0af0bcce6be17eb53b0e8401349c8d144eb1ddbbf8215fc0e06d6adef096acf52d71978b1bffe95ffd21899256dc944fa9cfd4d7a25e62843f965d55515f6c45b22a825288773e25410582f62b9f1fdc1e0c6d4c941b90de7d8c3b18cd3eaf5319862d7ee160a5edba133cbc67024771817c7eda526c92d146e3b38b801025d01871c3efc2591a32ffaeb7b20e7dbc\n\n# tcId = 17\n# length contains leading 0\nmsg = 54657374\npadding = 3033300f0609608648016503040201058200000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 69c99cb5b397c6f9fa0f38b0d311f8b64eca97b578302912208bdae5c04244da7cae594e59a6bc0935b8878b7a55b90acbe73ed2adfabbe561cf104d2a60aae3c4fb58cb69a11ed739dea095c224c98bb0fcbddd44d4e1e4b71a8681730c4605d93a93e40e27e6b1182c57fe5f4332898872add7e2e7c3b39e0b45d07ad7cf3c90ea5bdad70902533ce78130c74ded898cad1d1830414951f33ecc0119ae785722d1d4320781178f393ca1fd11dd96da6f44bc586fb4b5a911fdfbb87b7d88833a9a1e036405e205013e2bea23e663dbb2fa813f1d8420f1c57b25dc5bc09fd7dcf99d0dd4a5b3bba8ff2cfddf2f9aa9ea78b8f4132cf0f373157b97097fdffc\n\n# tcId = 18\n# length contains leading 0\nmsg = 54657374\npadding = 3033300d0609608648016503040201050004820020532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 29a239412587861ba02da5cbeae093ff6217ca4b1c80eee56baba352290d6cf721260021b3779a009a3050c2e5fbf19e1e717f906a7f62e52d626c4a31e259c8324796e63ac75bd04081cf2d1f22a5687ee9464cd47ce491eb7ccace2b6bda1ad3c99de2b4dae26021d08dc270a2e84d4467f7a6a2cc59888f3b74cb107311c62ccf5f327c75adc5bdc830c2bee5303a1c43cdf80e00374fd3601f122b19ca4b2f36476abbdd0633561eb3f05265282b4d637647a1e8a2be47b4ea40e4248c3e2541950ef2eb98a487569a35d3c8d8fad28d42ba57e3134f828aa1222c4d13b6fba906086cf8f07f5f3ad539cff8c0cefaf42d89a884444e62e408e36236e70c\n\n# tcId = 19\n# wrong length\nmsg = 54657374\npadding = 3032300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 36f62f546a36d5215548e6a770a14fc6edd4a9353ff8ed6231369cbb6598d25d86018b8cea9f1a87c150fda18c7e89b2c907f0ce485c8c321be467a97febc05dce335db88cabdb99ebc4c187a04fdc8e879487f03c2aeccb6ddaf006f0613d32b197c79b2a8cfae015909e02746fecb9ae9da3f07ee91ba70c0356984dd15d078cd0b93dd9e3c1cc03d6f255c1383e6e949e529ca4408f0f453e7e94c17e9b47f841f73dd62e5be047c44e1d9d7eee0d9f2a56bab13d4397494812793a49e8dc0d237242bf134aaead8f303226e532afd0c2e9748be08d7b7fd74f6f1806cfc4092af39d6eada4e0b6d7aa6f06592f6cd7dd26c1fcc84fdff1bf3086e8e2c81b\n\n# tcId = 20\n# wrong length\nmsg = 54657374\npadding = 3030300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 6e18d86059eb2f05c0c1277abcd8d2380ea39ea0c4587ae140d2f709363eaa2b0b7f801a75fbe15aa329129c4abe43ec0fd84f552a3aff7e4de40a5943ef13cc3b2d02a1ad90309e8091d5c2c6fe3b6dc2472c94116cd9adf367e575720906a9fe41068a86c15214e3dae39ac41b84f5fb824dbf5c911c8c640254cd19910e15a6488c2a59179f271dbde468d540cb33dd5add9a864780e27a3e55c87402d9e2c0e12d70c9a41681bda6f9f337e7a26dd2ec06580e6fd9cd4db40a62002feaf5a4c93dfe05dc392b63809d4caebdcdac74a7a240260a6eb8db8dcbf25527d4297e4c6145decb0a888817b4f949fb66ee63e5cb2c2477a9373d1e30b4d71cd7c1\n\n# tcId = 21\n# wrong length\nmsg = 54657374\npadding = 3031300e060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 61a6e5ea6b3c5241d75dbf0cb397da7cd9d5b2c23ffefa183ddd1d34b6cf116b127045f4681877fd58907c1209528a6b45266cfd5bf4e95361", - "b9036c77fd6cc7891cb2417d081ed897ab97588dfcf975992ac9c0239aa9fc19dcf6d6d0f3e4bf72da5ab09cdd4b205b41a27e6b36dff608a638925d13e3ad7143b1ea9a2758c787a2f33790ad423749c1b79b3239d1f96fc4690b19a0b8edbeff446b148fbf39a890ed8e4a18ea09d5e50c25855e1a4a4c28c5437c906d1a9c371569936c858c29bd16e98af749edf2f048933d706068928e81ac7e219fc923f6dee8a411f40ede593468ada31e5c647d4a576ddb68a335bd50cdf7446dc722ee711b5c71ae93\n\n# tcId = 22\n# wrong length\nmsg = 54657374\npadding = 3031300c060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 6494a47f97d18199ce0948b2ddf81e408e2d4acd58705059454b728b1be79842ca8b9e197a29347bfc02a6830aa7189ccd84469e696daed24fd3e45a403af6d38a2bf3e5e8005b9535a00a5b1520a9665676aa51a1b274a3c0270a20b86a5168e08000fc4cc60673604564f8620e9a2a2374ae148ec6fdbf7e880fb8be7bd85131a3b2cc08e85ff3270a4b433a6f58583a16e5b18eb2a093e6249e0e5e27c13e1cfc3fb8e078ede70034f52f4540f5fc69dc9124671200c5dc6961aee740d39bb5b6ea9f9325f2dc9eb85be46b998b29ed3dd9c7169d58e33efc212c9cc0b09e356e65463b9becc52e7654cb22a374832ad6d4e219e0fc5eddec8debf779031f\n\n# tcId = 23\n# wrong length\nmsg = 54657374\npadding = 3031300d060a60864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 99647015158993892da3dcecb4fd837d0111d7ac81efac2e1bae2242e6605182ff1ed43e41b81b85448367815c6549e363a635b946ada99ca0118cc35f37872aca53b024aab1d809909d27bd664f32be9501c3d4b7e3539c2ef10bfc340a89c23cd2c25e51425e2e7f989076bb716057078c968632e0d47ec81192f37dd5dc4d8a0ffb5e9b828b08b47b350801bb4d358e91165444e8ce8bf5d59d4dae17202919f67c7ec8b78105e255d1714ead968b9c075c11e69b5478c3595756858a98e39f321957b6ddd63b37c69d34891beadfded732f0ba587fba6ca62b0e932acddb5c5a75ac316974dc3b5a27cefd81d799a8a6244a9a78fcbc403e6fb41e4f157c\n\n# tcId = 24\n# wrong length\nmsg = 54657374\npadding = 3031300d060860864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 629e5afc04cc1f4c602f030755deeedb0a5f5c271b3d52556e81c44911296bcdad7f5d223cb6d72cf9740554bdde2936a7e3cbfad72a7704d27343240f68e2f598892911e50340c2c29a41c0d10ebb996c7e92a94fcd23a03507488be345ffd63db338b19e95d47a1095cb6894079865d299ac8101a443e6b5a9557acb9113552932108565d1d3409aa30b6c013c54bc571a08fe9f39c6a3ddaad948656bf77e7407cee8d74a037ca6860a466ad06082c39f9266f7ea16b62b5fc149a7d23093b5f7c48f81673574c8a68b75503c15ae7565775160e16d0e4035489179735c0c9736e52654d4c84c1a785f8b5a9ec2f42aecf88cd925dd274ceeec7e1d31ce4f\n\n# tcId = 25\n# wrong length\nmsg = 54657374\npadding = 3031300d060960864801650304020105010420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 278b61e00fe4e47bfde76cf6c436bfa0e7fed104493a2457ba41ba5fa430cd417ba2ffd345b27d739f6fe7b414e9498e1e44a0a5af8af2f9091f4b42470da0cf09fd1d3542f8a991f4a3be0ac6fb499290889a0e5ba595ca1ed9d97f4407dee17867ca650a49e42c701e3429a34a8bd8e934aa8d107f1761a6fe774c70a974c4ba30990b55a082c87f39266b526c13c4021918196797336e49de36844c908234def2f66aa82e84715834019cbb906011d8bdb29afcbb31dc7503ede0bc39124ac7fe054536d4d79d99186542454253f94a604559a6e992116230c7c9ce4137308b8a091f31843a87e39e29c4ce1520803beeff3fc668741cf504754bc870908d\n\n# tcId = 26\n# wrong length\nmsg = 54657374\npadding = 3031300d060960864801650304020105000421532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = b9709d62db65f1584a5f0dad0602cf2d1ad02447289312f59d001fac696d5b52ac9311e0e5266dc04f5a382405259f6568274a8aca4782d5017b97c765742c6a3bec33c8f3cde398d55bf7ee0b2d3fa768b416c0b1a58e70b865c39057bf6ccea37112ba2d277159ccdbaca928fb4fbf5970296462df7b8ea7715f76c14bf1ac7e4a48a6086e7ffe71653e4246aadcf97a9999782596c87ee5098d788a1a82c2c52bda65ff5c417f9583537aa52c5d8151b3dad189dc0f93758c9e3d45a216359f9952388dfa3eb7b5727774815647b17f6feb39d963340aec6b37507a349eca6c677fdec97d9a5d21a87e999573be5c90d71cbb1b58946036f3f4e6c26dcedb\n\n# tcId = 27\n# wrong length\nmsg = 54657374\npadding = 3031300d06096086480165030402010500041f532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 7cc584726f5874d041a892993bcac52a34e71ba6fe4c3db4d48960b1abae664549656af526b59b3018fbfe7447c4c6730f0e93cb148c0f0fda55fa0a93aebab07519123805ee1d551f19c4c69c09549ae56455710cf7b5468206b820672a0d7221fc7972e958e241d4ad164ef1f90cbf769a1ccb466081cc60877d28a05c91f90eabe57d9ff8d097a3a1f59fa69761f0f3b356c2ce1fa7af8bfc70a1c4753af9c715387a5b3249cb792532d1cba87be23624836eb33f0074e927122479a9d71f1962ee6e7e7be1ead8a514bfed9abfd4cbe33ac2d3adf438bb86ec47734961292bae4b61224e957e331b794c22066cde9e51847dad897e7c65d35c98803830f0\n\n# tcId = 28\n# uint32 overflow in length\nmsg = 54657374\npadding = 30850100000031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 55d1cee3129381d3c8526661a5f2c9b59bef9972a8d3ecbddd3cd859db06be0971a181d9deb7a7333b3f40eab2e93a67342da7880961fa3b931b3ee94cfa5eb7cc76ca8f6f013bda5b1dff7a7d8ec7afa76fc6acb7809b411e8d77e97fd11f4d13af1033a04b949ce35efdc52e125394759df4f7658fb4c807823f80c01b74c5424744a39193c901a8b7238f77c330f0c37877cdfb493228a600dbb5694ccaf9521b0e2921cf84fb0a778d6616ea76f79d89ddb344834bb34a033f2399289c35ba4b5b70b1aa6d504db3f15cd1be6215678f01f3df03a3a38cd2f6e9d18755c484b4b4ee514c976a7a3edb9d93f475c4fcfa6fec43e6f815095d4dda75a5ec81\n\n# tcId = 29\n# uint32 overflow in length\nmsg = 54657374\npadding = 30363085010000000d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 759135e8b8f94d853d92e75bed21033eaa80c88e1cfa202aeaeee96fc9dd8f5430da9baa436062c843e2a6d06801e4397c93a7643b52e4e33c298638f546be9f8b2961c0da08a172ab2a9185eec9b9b859a8b46cb240317e66469882269a53b34c9db60ba080e1831942db3ad65d3779c7205aaa366c00b6372496d71fd5cebc14b885303fb7c9e968f7d4f9f0511bac5f273608c8803db4ce582eddb0c672d579b4d1d67cb5aaa4fcaa14d744acb8124f3715bb82417ca020cb1b2a597f149364f859d5f1dc17dde4181628b96438df017e9b96b87f45d40383badf6b6a89620adf601c9c4fee15b1a868f8bf7ed6f59d1f9a960fcc1d961c8d010002e238f3\n\n# tcId = 30\n# uint32 overflow in length\nmsg = 54657374\npadding = 303630120685010000000960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 829207379fc900183437b9794d8f7fe9ce67bf4dfb66b04c5e841575ff2ca607766acd6def23b5e22d25be703c0126be641d72f245bcdd60ca0fa8ace694fb8866ded8d5b572852ab899b5ed8808789167ffc699c242c7a6124f6aa6754b2b8c7e654f14aca2446a40f64030b0d836562ea9fd44adb75d235f1b7ea86048b4094aef96f0cd76c31ce25788aa9fae68c1062ae48c9a6b9130652b50be2f98ba64c89a987c0e566ba74bd3616f79567bbdd867f0081e97d0fbc948b6819f46561281061a413b4f3f43d5eb4174052055745d950caa95c320c4c7fc5e02f604071bcc361c20d72dd5509aa496a9bf1d497b61a064893880e052957353b2fab31476\n\n# tcId = 31\n# uint32 overflow in length\nmsg = 54657374\npadding = 303630120609608648016503040201058501000000000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 8daf99c4f0ddc3b0eaa50d674076e2806d744bda24522938c6e4ee2970a5079586d866f0c1abe824b16d40bfe0239aebbecbf67a9155b2855da4656a15d23fc3f1d3518567deec75587d7ea77d3b510b9dd2b1672c8d4774860535f8690a286ea8da3636a1b65f38689b25e9e9b0ddadfb52a0c60ac90b376af968fc654387b5d712f93cfcad8f571ae550072d42b77e439cf28ab0b5857646b4bf2f7b57af7f0443944943828ad174780e1ac0d182fa92cf992991f8fcf2a9d5fcf72eff4ec1847c30f268092b87825fd5931e5306955fe0457e1b9f7162683218f6a9abe5213442a7f8f6a5f4dfbc6084b1bc01f11558fb314a0f07b86b0c6538cd3c7d2fb9\n\n# tcId = 32\n# uint32 overflow in length\nmsg = 54657374\npadding = 3036300d0609608648016503040201050004850100000020532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 0b93779478f1ebd8d0b018e0db874d2f639834d48d2440cf5215c9b914acc3a7eb9111b5f77d605903a40c7020ec8a4be9cced3714df84586d5f9e0fe44fc1c61a0ac529e9fda9863086b77555e68e290ef716b9add9455b2349d9e14d7d2825af2ed0f619636c50599616508c79badc2dc2c47489028c5bd793022d189058f559dc272a01ddffddb8fee9d83c259cabecd93398d48591d7acc2787e1b8598cb0218b007440ee11733100ec3a3a9749ed81b3b62d4b9c32dddde30740c4875e451e3cf89fe5a970bb92f4065aa7d43fc6e08eefa416aba932a7bde5a10df11b433527bafb2854439b463f6a0a13ae66265dfabaeb4d8de6eeeba4de45e0be421\n\n# tcId = 33\n# uint64 overflow in length\nmsg = 54657374\npadding = ", - "3089010000000000000031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 8fcf0a72c6fd0f9b505effcd2c074051f1d25840f8803a68f1c149dc43af6b94a114efa7ce2b399a91aba823470b9f32a70fb6631dfef593dd312801062c7f64d7c7b8724bcd36b05df16838f9e2ef209c2dfa180717d9d1bb59c10d30bdf6a0c0041ff395d4eee8a1c60af17b8152906a58786ab39840909508f7a8f3a05096e92eb57b31c07e79500091f119698bf31bd14399e122e16c3f0083d0a9a6f6413a8427dd27dd5473a9060450349f51ac265030778dbb04d4a35aa98dd72ea38a548be905717b46a1e31cc0b2c9247b7a64d26c027b7d09fdc5f2c6f3f625ecc3a5e07e37d2623b099aa776c48c66d62764def44896651c6b0ab10f1db7105f8c\n\n# tcId = 34\n# uint64 overflow in length\nmsg = 54657374\npadding = 303a308901000000000000000d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = a34534b9e1b82be8c7a70d643c85664cb3919ced9c6b6cbf470f4aa8c62194d3e287077d3dc03e9e49d9069b69a4fc2caa5c9fc0ff1f08cb9b8370d044baa4be1b5918174997d74579c791a4c9d53f0348d33b6dd9151ec11823fa765a04cf03791f9d8f89048bd702f03247e3d9ea4e9882d9c768166e60b2db47a1bd76dd8cde45933dd1e4c3fd2bd46bbb8b2fbd6a2630f9db7e09dc342a3e279927a68f3da34192d0a283e2df7530b06a42ad1680b4a33c8b4bed2a8e799ff39ce4c5853a2f9d016610e58ce819771cd0ca5cc286134fafdcf36eb6c0f198e312e0e2cf722c47487a43cf4630c0703e65f5cc23972d5c16012b0e338aa6bbaa9a6110bb7b\n\n# tcId = 35\n# uint64 overflow in length\nmsg = 54657374\npadding = 303a3016068901000000000000000960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 615fd599966ab4eb5d30e60eb0fd82ceff2eb244b4888442ed7f6a1f32005ec8818cfbe3e6f4ed7bf9d51775635307e281ece422219059736e938931dcb7fa1c0aed81808d39ec396acf70766e918f017fd41209972ccc55c1e31c84eb217a2d82dfd84499c4499cf0362ea60c40439c3d47e8a05128fcb5f445f08f5d92a29df6824d7c8bc735941ce54f464e44f2bcc6eb3619248bb52d04da149a5f9cbd9cf617257dc95a152681656f537a2e2053170cb2114dff07737872703914144acfa7f26b148c59258ef72e2061dea6c035853a6be96063dc05109ec7f2176a4d601c41caa637eebe907b248922c6fda83bb7e9481ea500576144355dbc98779944\n\n# tcId = 36\n# uint64 overflow in length\nmsg = 54657374\npadding = 303a3016060960864801650304020105890100000000000000000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = a9648dacee46c926af22555c2d4784f01f3565949f177f5cfd4c31659186645d115d4a24dfbca04b583ce8f0c1e452a953fb081fddfd61b9ad9e59df2d52be9a6ac1ecfb58c211a8182f93093ff4f14f5e729e15dc0690aa612a09dee2ec44ec05f75ddfbc0b5a88e93e098cb8b0f7b74a3dd07ec559f964962f83fdb95ed913f2603ee50b36482e8a379522d12c620af2b0ac7537a95417df11430a72f72c0ab16babd7396e0c348f033026dc7239e2a61fe75b8ad4ba4ed154bf05cbfec5260f1e4f2cc0bf5f39542e12a3cc8e490c20a554d3b9afe73ac65c0a4c22bd9349ac39ee25d0feac57b6d5e065d82a757fd1fea928a4e741aa8ca724269415c1e9\n\n# tcId = 37\n# uint64 overflow in length\nmsg = 54657374\npadding = 303a300d060960864801650304020105000489010000000000000020532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 174cf250f8b41af4e2bcde276dabe55d193d51d80db308ee072cba6d7823e49ea26b32631a18316f48a8c933ff9660352917d5f197d44afbaf89808fdd16853786e3cb3a348009d58056e3ed84388ac73789732105e0c57fef0362b38ad103aa7eaaff599fcb07520ccaf39aae20ee0e1bda9a604e76646c72c9b4156efc0fc4a2fc733a5c080f50d9a5bed24a35ec863bbc7297c2a7ffdee9c7b3fd614da2466b9e77a72af6d2dba40bab35235e14e520278df7260b588528f0b32072aa532d09471f4e1992c8ff3534e6d0723c1664e8c6ec141eee2f7439cd57cf167f1b6dc681aac0a6ddfceeee9a81c53845ab87c145452627547a0961e0fc89b17ef70f\n\n# tcId = 38\n# length = 2**31 - 1\nmsg = 54657374\npadding = 30847fffffff300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 87bff62986cb2cd250de8d56fb4674c65cafd441da9dd4e42b1e7e14231519b63fa59608cd70d3ad761fdba810993ab3da3ba5d182dabefdce2c383e153df2b21c4cd4b58ea94e353d8c02bcfef4d565cda92975610207c9c30754cbe22bfe0f7cebaad0b6fe1d470d9119090adde8587d15cf27965f525d92ccb2c8778261f9d126ffdd8b90bd00acbe648979567a3ecb1fb5ceae06bbfb1df595e2155889ce62b3b47bce372a7527fd59ab5dca37378d0a90f4487690385acadea3766fa407d277ce4e76416daaeeba1591aa31dc601efd0d9e29b50ccc68d1511581b00f75de4c05d145b7ce0f74ccc509748fb1f8c636e1a56c9c412142d5c9a95efd0b8d\n\n# tcId = 39\n# length = 2**31 - 1\nmsg = 54657374\npadding = 303530847fffffff060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 2fadb8a429803ec2956ae6012289f15f7ed8d535c07412994204ade72d2e7a5548024390e1356d432b7e68c1a8738382f5aef3cc7739f926b44f9b9905222323a97fe7b303c130eb4147a5a4c69a031bd0c459779f7c3bc00bd5ad616421d14aa90ff3f5f4f700efd19826d89c80c6c4ab4ec81ec05498bb543be74acb3f61e6e1bef48e61646ab962da08502fb092961c5fb324026a52abfd1c47b9ea76187f5134916c5dbfc18668933c2a562a02c102b6efb9ca2df40869e920e84f8e73668a73c1cea83bc8600f7dbadeb5babfa74b99a3d02794b924b01dbf087da3d8d579514647633d8d6922a59a3f5625687a4b1c3b5cc67858e9b78ebbc7adc20aa7\n\n# tcId = 40\n# length = 2**31 - 1\nmsg = 54657374\npadding = 3035301106847fffffff60864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 249c65c65a3334eb4be16dcc3db0732547ded2ce4ae6c10b1e1a0f474298b2ce230c59e7e746ffa173d5dad3b16dd4325e5469daf6ffec2af4ea23db279601b014b54fbcfb3578b078a8ec53121038ad666ac9408d65e8ff4570aa3b5747041f4c3a45a0e9856f2ed04b3c2060925a5c77314f7bfb5c85a71155df5b23f694a9caaac2fb11dc6612bac680d7494ee19bd4945ee82c5d1f5acdf6b5ab46e937a90bc4d6d3f301373026edeee725da4ba5202e1896b716bd8c69ddb95fb364d697fc596709b0ec48bc66041df7127aed311110545c4aafd228ff55986781780455241830397f8fb6764e33d0262aa65814521ec71890700a093f50db4659cc5e2c\n\n# tcId = 41\n# length = 2**31 - 1\nmsg = 54657374\npadding = 30353011060960864801650304020105847fffffff0420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 7d2652c6ffce45a2fc4d740db90e1e87795e38dd5f58d3905b9fd41a2a49f3b6c3c14db49f8378fac35cb67b3593a0991ed4c2439cb7890ef727b94833e455edb94b11c2b0cd7bf5c11f8a206e62f540928f873fc6c6b0ea4e520e85f01140d21ff2ed65945e602e09d6880c275fb9cb0cb9cf7a85dfec032f29d5bbb4303256c0cd02a99a3433186558b0ee9bbd93e5e2a89c9ac2b8f74b94e0d9b02438d1bb54dde5424893683f5e74d9acd1424456a55f74d0654b20f55d199d17d5b3184930d5f95068f61c6d1ca4b0e75f01d56fddeb13a9fc07e185b514ec05bc657f97e1ed7c25670a1ed4e16172ed2c19c7521914dd3001d23219c8b578c566eb2c1b\n\n# tcId = 42\n# length = 2**31 - 1\nmsg = 54657374\npadding = 3035300d0609608648016503040201050004847fffffff532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = a47037577d6a1480d07bda7574648d9b4d613a6d112f7027e873cca188cc41ad35cb8c931928d2765b60c21af9756b6f0acbbfe0b44b4eb63abded9d8547fb1a37706ab562b448b47f29a81673e27345c156e0fa29a353b90c3262a8a48b0f002dab41aadcd0edbb016973fd85ca98e53116cc3a3cda5754c76ac8c8e44e31aac06d1e248137ba096237d14119538f55a1cff1c7a93e1095eb40918233e5b33e092741f658962355541af6eef3bf3b84e9b87fac775f53e7bade8581804139b765090051474b08c82555daa5407fbbe998f29fa337d21b24b6917d4cb315d035dd397a84c47b6b806bd1e7812795d653073cf349c57193397c542f3fdd512bcd\n\n# tcId = 43\n# length = 2**32 - 1\nmsg = 54657374\npadding = 3084ffffffff300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 85ec33234ac05061985a24bd9e5e13de3fc8e8c246f75d85abf8021cd993f97c38ec6b73d713c6417effc7a751530feff849a5591ca0c4e6dc5bf6bf97c34bace7faa2e448bbc81e3d8551d4f82f7ed095ecdb19e91498e357909f090fd8c215f830b2741a4a4af518341c312bd6f7fef9c1b563cd4284f785430c538234f6bd3fceb2b49ab872cb481447b2d45a37d45dafad4d6de26246634b99b926e37832a8302d24b35e315f0b971cf52c60ac486460d7678152beff5369441c84ed54f16177f5ae560eacac13d7f94f14764ecd42adeaa0599a1a47e7f500e6b14e0a3b198aaa18fdc6d9141932bb28b20e71f69c173c2b841fa042a3fa0a388e164fd3\n\n# tcId = 44\n# length = 2**32 - 1\nmsg = 54657374\npadding = 30353084ffffffff060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 4d28f0c7915b1eb63badbd931675ecf29f8d69b4b2e1b1fad776fa5adbccdc17bde98029059d46b197de49e061ec57cce2cb77a63deec3c75c2cc14fc9bb4a2ac29d5f4a05e6b4ff97ecbcc26a0dce39760423740141e675b52878a83aa044f68e84d9abd0ea6bfc5e6fc3", - "acd971af258b7b9a01079010e68e70bd7bd31a9f9bdbb70598758ba274fb8feeb8ff46a4b2331a4da03330cf55910e6ce940c1a95b6bee9adec351354774139e3b213627a6d7e8381656362b4c6f83e97f93630939d22763f0850f1b4d38a8e3ed213d2febeeb125ec03854a4b276fb59087904ffabe83cfa66c1af413af6ecde5efcbc5241d5b958425b66ccd31500ceb9b80d793\n\n# tcId = 45\n# length = 2**32 - 1\nmsg = 54657374\npadding = 303530110684ffffffff60864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 2c59c0f5bf7fa3b6bda22a75dfc3ba14c26ff3e7ad24c1527ee7ab7c032dbfda6ea5171d88df2de56c1ad6d955dc41bcb8395e83518e40b840c062cfe982c0e42065d7e2a9bcbf91dee53949bb6f67c99d1e1fc44cda982a3df171f9c35424efb2f6c0cc169a44b6e5015df5150796a9c669515aaae57076bb1fbc9480a8ca6954990612eb0314da7efea7d14223081618f2225ce3ce43770d457e84b54a80cb3a35f14c511a2fa2a4d295afa6ed3996d47b5a0c6b1d7c11ab14bbff13af67b7475ac543307626598d69557255bb3a92c07e36c3e9d1530b21284b3d5c2066057035bc753894c01e0f33764b51ca3319ef32d4288d11c7a1767ed7ed89433216\n\n# tcId = 46\n# length = 2**32 - 1\nmsg = 54657374\npadding = 3035301106096086480165030402010584ffffffff0420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 6bbfb1ef162a8cc8c140dbcc73e922e1b25c0a5f29e59b879315e5336697f86dcffa1f26c435ef3f38657a501e1a3dca7dea9226ae179eb6e7b4604c4a984da95421676c0a1d5b5ceeedcb02def8ca2e90f657b257695e7f87aa948c7d54570540657f8b79f3622347d4c3aaeb8c8c72abb45a156b7facb3ec3c4abaaed5491b84263ec9614a08dd4ad2fc81682e11d834c328ab21bf6af4f25cf26b81032ef1aac9edbd1879b64e04a24f36f6bbd1b317a58fbfe6657a4450deb0b07386be1e4c9f692d6e96740e300905fe7ab3f48ffa279b581b98afeed03243779127fe57d97d7313ee6b2ffbb5ec7e2bfe5d1509b9e8a794cc3cf45ef488874c3e494214\n\n# tcId = 47\n# length = 2**32 - 1\nmsg = 54657374\npadding = 3035300d060960864801650304020105000484ffffffff532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 790911646b9fc46991a8c1fdd0c7a5a8b45a078305d71eafad2dae2ecfeb5f7122d1ba2c77faecd5bab50b05b355740f93c6cde64c42ddb3be48362a741fe29173d58d950b2c242753ba3db6f4dd576c2240f490f53ccf9b6e781fc610966b80cd9700f41c8bffc87790a01a45f3623a82167ac42e52c5ab5ef539b29f5d19449e9fb0b6749a559010daaaa19d15f3fc53b58b1a912db79a46caf10fdd5ea81256842acb1e06282ee66c0bccbd69131b532b3cf7ef72fb725c910338e24cdf2653d443f209efbd03573b54536f98fb002e57a27f62fbb117cca57d9d6a2ac04cb0211e227682988c64421a5f8ad6dd3916d0d84b441847324c03451a4ba24fd0\n\n# tcId = 48\n# length = 2**40 - 1\nmsg = 54657374\npadding = 3085ffffffffff300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 02d431509bae6e097fffb5e719b16a296b81fcfc9fc6a64b85b337c88049fed54971ef61e635388c2653554685e652059c769c5947af49858439d9c388a40703a016f73cf231726853f498f94a0a9a98e14e0cf8f0c8284b4d992f00cbb8dde41b07679c7bb7a2b4b7b307f2edda65fe3e002c7235eb85dd2ba41483b26131c997793ed64fe92a9fa9198eead1e8506385db0c3c4dfb93b87e2cfc09d9d3b00937cfc0a35bc211cc8efa4de83745c5eb0bb28ae52a22ae4ec8712be72bcf420476fdada50b618f0e9576e3e7ad8df5a0ebab78b1bfcdcef594cb7ff56a895b5ab5e0a30f82453880d394bad6ddb92231e44aa275f945ba6220d9f226da4d0aaf\n\n# tcId = 49\n# length = 2**40 - 1\nmsg = 54657374\npadding = 30363085ffffffffff060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 665e80a08c78f4c8a2768d1ba374bdd5e5101e61a594300a18a071d7c98c68cdb73acf32831ea077734e2486f1b13f76cd779a80fedbd76716fd022006a6faee19cb9789359e5b7013a59cd671a2a91c8328f4a1697e14a085c897eb45692d0bec074b400ded2820c6a5dbee2feac84cb6a37baece0ce763dfa7ca3b3fd4a82863a0eb35fcff709ca401c0bbb73f27f251b627cc442dd43eea634942bcd8bd72f1e8f192ae8dec1b7275c7739db254ced8b57332407f8a85285a190c94ea7f1c9318b7fcf67369ed23243c2454dd2ffa153ef12074a842878b38695336e8acfebf2d56d3560e43cdb039c27b207ae35f7a527b05baffc73fe76e57813b484f00\n\n# tcId = 50\n# length = 2**40 - 1\nmsg = 54657374\npadding = 303630120685ffffffffff60864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 31e48e30de0cf259d0273991b633da6228289d540d84c527d5f12a13d2d6fd489b1ee282ff5261eeffb8e1c716572b207eb59c1dcf04bf9d4a9ca92feccf318254aba5fbe1df1dc6e3101f2ccd0cf329d23cfd9fa19c2acfc98c319be1c4d9831e86343513769e4dded967f512d5371ee845e47544c303d52ebeaae15e139eb2606989268b1ab641c44efd8b1ee3a5fea73907cafd4322c00d666d3d0e11ebebae763b0bc4948acb034eeec91ba2b90cb40218f8c8f4653338eef0a4d31e3dbd29a3d90b9a11c8fd8e613ccbec221799fc2d98625215ad28ed9b7c38eff27c44fc5cfd408a6ef1c7af90465cd4b5aa424c48604e2d72bc10d9ddfafc30129a42\n\n# tcId = 51\n# length = 2**40 - 1\nmsg = 54657374\npadding = 3036301206096086480165030402010585ffffffffff0420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 681e2eb5134130900a52086c86aa16e20c7b95e7cfde30607e84e467fc67797d01674240cdb189aee160f8574f773095200c66c96507524f612e0d00adc1b4edf4c5f6c3e499a0bcb892e917c01c2c0ab9bafb6ad219ecf4030f6aac5253cfde1c1e71f1a7c1de03e65f9751d3ecdc09e4b499a96f9fb22da50a8ee8f4d62c9b67281848824d787c40fed31dc0036577e17c2d9a43cf7170c52ae92311725599d51957364da73424464d63c0edb55e79361f7798dd61d0c4068e4d0821ce80e27054459e9ec3fc0f202e9a30f4ad01747c6ee854b1f3615059d4bcce267a857287e7a9cc6058836af04d9f8d9b4adde905bb455901418e2aea9659c65aca0cf8\n\n# tcId = 52\n# length = 2**40 - 1\nmsg = 54657374\npadding = 3036300d060960864801650304020105000485ffffffffff532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 876fea7a5f814cb533109f000830bf5d8776d57b502a86f1df6e4dc50125a18e08f267edb7abe0afe44a5e75e8f4fd5e11fb2691fb73735617bdc5dc270e2b51adb064f5a560a4557c0b925e6af7852a110ac3f8c33150d3dd1d5253b7fc69d11949a8e80aa2e240cb3eed5a44afd0ed7a651ff6205bb80333cd060a2d2dbe5e37de3fe38c342c1635d553a7bab6be1b6ec1bbe9524944ec967200d35bfea076846b8460333d17cc90be7c6862695fab2cb5d02beebd6b1b86229e48d64f391ae3e506a7d252ecef54b61d4c186ab9fc8f2b32e006d07d9958292b6f4735a4c4d8e63713c212558f73de273647dc37bead249379831979c8062c0768148bcdda\n\n# tcId = 53\n# length = 2**64 - 1\nmsg = 54657374\npadding = 3088ffffffffffffffff300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 58bb9a11f29ec8bc8ec7bba4c056e09087fcc881d8fe8e5dc58fa74d979676a20e00468e16238d8e2a53e40b4952ae47cc857807558b12224b3ab06ae355fbbd35180e555d7d468c23c6466ae74c8003d2b1591fbd529cc479e7469f5645787b8d7baaedb089efacf7f4395cc1382a3068770530ae97729089100960f22a13d73883a3a5ce6867c77a9e833d60f8f3c79fc2f36e63cbde5a02cdb7e226f387588456b9161814abb84c638aafb44f293e19f1bd5093e36d68386e365a5ab076b64275880823bb77502924d26bf443e94e45921866c68edaf5e66b24df38155b6faa25e531eb1af900780413cf5d5d903146a9cfe9350a3a1509beb679d7b75cd6\n\n# tcId = 54\n# length = 2**64 - 1\nmsg = 54657374\npadding = 30393088ffffffffffffffff060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = ab35fb3939affc42b2ac00248105dbd3da37b59db5d489d1ab1962418e6bec3b6fb4dbc03fb47c2a64cd09fee70acd723a50402b47cc2a3411c716a1f380138511d693751e37a0bf23751488293a68382a909202b7d18dc3721521f9c8fa3554dac15b20ce5ff9638edeba6ae89afaa100cfc92f51326b82e8fea27ca216b8b953afe00d0a02c0df5ec76ac494c1ed3398144a2654570d8daebfb27dc698bb5fc3a69e7b3759c1f1c7d5e807f509185a17b642f8b24934b5efef55287dff737fe633f19e0d1af46a0b4675b300583f96a3670b1e50f1c27441b5e601b8c4cee015854d680ab544900e65f4e205e2666ac0087586012d8ae52711a9cda02ee520\n\n# tcId = 55\n# length = 2**64 - 1\nmsg = 54657374\npadding = 303930150688ffffffffffffffff60864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 300282f3e571048e6a298d3b1d979961d17e5f460510227aecd83d7e8b3e21c76a1a304bf464dcbaaaa3e134bc5b25ecb745b78829fe5d7590c1c799bd613ccb8e1e55ed89abc0fc663599e77ea87515c2446091cffa063d6b2df5e3c623da69bcdfd9da5176356f76b05c98413d762cbe0f47ab6d470eaa8dac88dd55890a8c386d5ba195bba8751af133a24d204b7e7077e7a9268cb9dd7021d9348f12dcb46f145a19f0b408e2563d5487281db1c2807908ddd125db751b735adaed2f8e8cb55ea470a45383e2991b80ae0126f93555908a9154c1633c820e8942d4c37c807ac6a94507a3b9e1f95ae5a712cb7740180eb4e56c15d4e1829fbee2bb1e642a\n\n# tcId = 56\n# length = 2**64 - 1\nmsg = 54657374\npadding = 3039301506096086480165030402010588", - "ffffffffffffffff0420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 2021ef89c0db9b47dde3df73014ec88ad9d33575e64ff6cbd46201b45811b15f197594de8e35c26139be07132600cd48459e0439b93c2fe734337c914fa87c3913887275ab41aae8a70d60c1690ddacab4711ca0f1949fec70a7173c39116992c051c5802d1c1f005cda7f5b1dd61a8ebabb27563313f6d25347654c64437165590e29e78dc0bfd5491d02d6ed45a0f2ad58c46367670876050ab385f7af6e9f9bb06b279e360519d047296ca055429935b0a96d6b1d6ad1e77c130bd99db29531b0bb6a6abf3bbe1156217a94d137a76736cad06e5d53b9671204a49d54bf5371b8a3d7bbaaffe7871dc8c4ae8165c70bf14dc6ffce5ad74450a564f21f59af\n\n# tcId = 57\n# length = 2**64 - 1\nmsg = 54657374\npadding = 3039300d060960864801650304020105000488ffffffffffffffff532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 4b06f62bb29091d0ae2dc52c2443bac02e9bebc68f84bd0186e0e565483db3fdb2ee8c3bf17e2fc256f7df3810c5c597fd03dd65d9726f4699734a89fb5dd88176ded8f2caba4c1a869ba85ecee2ad4ed782006bb5d1f6e9a8ced64a9a74298a9c512b27cdd93b7f3fb4845bf2d95af41acc95a43fda8784424d3ff5ce18292abb0d43ad644c28ed076011947a317a5543fc48becb1836a8f57a1dbebd5dad249a00e01c102b98a799b05c2a08565c5778e629264727a9cb8fb4ecd71f8f3db26e3ebbe59812462d6c2e042a4f92456df56cb9caf959ce3181aaa1956109a0dfb8524ef802891e80dffcc2132ee1cf380641c7da5d1e3ef1a3b37c8b9a7d4c05\n\n# tcId = 58\n# incorrect length\nmsg = 54657374\npadding = 30ff300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 3f9ed26d39ea6b13377ba941923d1c55544c4ef8c9187dc6430eb1e7c8b86292e528fbc74b7876016ff3cf8014da3d85f37e975810c0a7a8996c91533567e40b0c8464de887b18c9adf84571f7703147cee96c81e5eaa61cb3c40840d21cc0a280991173d5fb1cce01514003bec10e28420ba01819ff003d9ca8658f41a6e02c3295a53613adac27ddbe959d90faa58e33c3326c4b5b6a5a015955541531fc62ea216a4dc54878b65e6a12e0fd548046e103d8dd4516bcebf008ae4d5b971e9e2eecc8379356ebf76b69943b6f0d87ccdc19036007f7c79f363ace8e85bb97c40f7b59bbeacba0325decf642cc8cb8e51efb55a7296bb23bb12a3a1b334f5ca8\n\n# tcId = 59\n# incorrect length\nmsg = 54657374\npadding = 303130ff060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 748e7f86340f83dfe05a19e73449b7814398c6951a649029509c3072b6ce053e6176453d9046677e4996ea9a490fd602d8a735042b29d2a17f997817c6d9600bea2d5f7d7129a361bac6b7f76df520f4971790d250fbf89df5c22bb9e7a510bb6fcbd18251fcc5b77d61128f27adb3784c9c363eedd2c0acf9fbff65c9b4c67d631c98ec6ad6ce56389420a9f7e78973e3b55c90b3c3a6b37ffaa74ced4889cf306eb75e87d4b34519a349d1b7842f81eb588c3137e80895fbb98d67fda3621c7510815a5d5ae512e6566088dc333107a3a6f4309d6dda5417bfa795c72d4e70253775afeda3940d4bedb9a094502e1bd90084cae6f66c5f0369d3ca6a00d4f0\n\n# tcId = 60\n# incorrect length\nmsg = 54657374\npadding = 3031300d06ff60864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 7705d76a011d696708921967a9e86166528d77c656946a5ab0e157a78073f4b2f2785a1feef6efd8d337a22a8ef59c6e710e984844498f0ae0c1f61b5d7057d09e3fed79922d492302e28c0c0401100049ccb68fab95feceff0acc24a913840290b27477b295f942ba232e6ec76d112632c9f02f9d40505323d81f4ff1bea14f42d6743a3c2867df273f80274fefbb20346c3f1cf0c2f87b55e8de277a8b2f4ab8006346dc8ceaaaf0d4af382337952e3c55cadab336da343723bda0ec0272ad6251995d58764679135c1a20098e9c3df54f161bb16bce5a600a075b36022f224ad5b4c7dda09bd94bc7eda7a853d96b5100e5af8fa2dc1a6964e4e1fdceb826\n\n# tcId = 61\n# incorrect length\nmsg = 54657374\npadding = 3031300d060960864801650304020105ff0420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = b298cddbcc889842ade9fc8a116492416b2fbb01b3f414e0dacb2a17d386dc26b1c046192f70ebcba7475445c7794e137afbf0c252077272b645a91b9cfd8312a83d75a696c777b762d832272c544ae96be8e28ae5a639e7581b1bb1c395e693c0cbfdb0f2706e2b93134aaeba76de19674c6a0317eed9b06119fd3025a3141e06211047468e9a59fb8932dee92db824b4f3a8a11ef4bd0b3a015d861ebae48f842203a79a66395da42a4b2f943b51c8824eadc11cbbfb34c4a82c553f83341cdffd8256871ee06f160852ec6b0e7a79c1f06aeaa474efe6309f7caeb4a26fb33364737496f233ee6fafa5e13dde525fa414078271cc439fe5ad0a52fa6401ee\n\n# tcId = 62\n# incorrect length\nmsg = 54657374\npadding = 3031300d0609608648016503040201050004ff532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 8b15577f817c9f63a94b9633fdd36af378d9f5f471636c7b518d467a37aacb5013a3640d4ad384286c68dec71ac5d6a4ba2578fe2c61d1db0922108bc777703c8f09f251cbec3a6d2a0e26d7e4f271efcc3458e96c710cb8b120eb7d5d8a5a535e823b42d6c3d59f8647bb244eaedea2b91e3b4e3e4fb9f2b0fd4d877d4fc10f135c54ed5f6228a48605016c7348ac4d7c00246be44d9e8660616bfafdaaccda021c33bbc564a5594ec98472b0f559dc45ea57b254a6397685643d1fbc1e074fcbcfcbc5de4f5833a7dcfddef6a1af5bafc6687ac8664d9920f9be8d8bf9e3b404db41b1d3ac1c87e9627a4b69a2b04c0ac751eaced3b7fa618bd7c0dceee17b\n\n# tcId = 63\n# indefinite length without termination\nmsg = 54657374\npadding = 3080300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 672bf0ea5541b809287c9e2b6a584da21271f24d58eb68cf2dca42f604bf3d62fa9d5a52ea20e234002ceda5bd919ee8ff344c8f84e2cf4d8efc511560e03f930b6533cce2ebaf14203401317fa8b0fd17807389b3c5449ba24a8a1f16d143ad06c1dc62c5c40facabe64faf0a9816d51a831b648ae9c99b465535b342085ebb1aa44ad23c08bf4dd9e0838209d4805f48cb16d9bca302d161ec3f6e66ac734f001e232c3133558c4b89c00eba40bd53c37c5b03ff6fb3f323d0b79510592141946a7a7b16abfa78ab81d886d7c4d4090bdcb782efbf0c4a76b47abb18e1fc9259cee098929a1843a04ba52704bc9be25a2b96779a2b647d3ba7c11e2a8dfe48\n\n# tcId = 64\n# indefinite length without termination\nmsg = 54657374\npadding = 30313080060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 94818574cddac115d352d1740c4e5581ce36f1eac658a7cc9c0fa26a1d6f5f43279c9f2af313b3e0df805ac1e24976d58aee16e2a4616cbe421e46f5263ce46e301d8c295cb8a807a9c65610b176c61ae03229fc6601cfcffcf90d53edcfe869a1bc692dcdf88ce84f23b34733f9c8046d1cb7df77f1eb29cddcd4b420dcc8761169f3c7dab4f04e2eccbc046b0b26007406dec7505a38273e3bab522a81a054241afea6b6576cb1fdab2569cfa605c0cfcea0f4665f489273b92d2fcaae21be8f2d37dc40a38d847c56c3df5a2d5cab476753c91bb4e2dfbf2bd9ded2010e202976055c78de4fb2ec3f2a6a44d6816c7cbb829c83646156941418b4f060e196\n\n# tcId = 65\n# indefinite length without termination\nmsg = 54657374\npadding = 3031300d068060864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 5c54c39c0a079e7a842c8b7f5c6bc63f4b90873e1379132fc1a52fb78fe6eb46aece7f5ebeeaf2df8862622442f0a470d2a8ae252c5c5d71702033c6b5e6e983cf44ac0e818d9453b86b91b5d99a1af0fa5ed8aff718d49864c093e4cd5be4db1fd44b6ed38e58df96e70cab32fae1889e091be25eb9f15c07ad2c304e0ccb881cdbb1e45ba993b95e169358a169c70e7d0915ba34955bf20fe1df2c7aae78fb78c893d184c85a56524643dfdfc41e62539da005751409a18fb4e59d2877c6cc45a4b832fbfa8ad2880775d9fe92b6516f8458bb52cd5820710bc16ca32cd7bb3998af0299778a2dab50d62d73415294a857d92bc5bad97248e70cdacd50dd5d\n\n# tcId = 66\n# indefinite length without termination\nmsg = 54657374\npadding = 3031300d060960864801650304020105800420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 9b91890eb53272fe7542c2067a4e9295b8c7b8ddf1c9ece6a75fcde79c9af2cbcbcef38d342032b85ccff9d6c82d3cfd68a7b27a38eaa45c78a17741c230391b3df0bd79dcc3447c8717b7207fa1fd04e917b5282e3a7dad48e8f2f6d1360f6c720f9eaf1d1d59f061d71daac1548538c0a06fa65b2ac87abc9e6fed3a6e15f48422bd9c4c681fa98a27c873d7efc5c100e708d58141b60e5a691747df4036162456bb11f92f2a391170233ca1c03e1786a32fe9ab8a94246dc643a884ad59edc40e2eb873713e84816e4a7f7857126da3f063cb9a3dda0547207c426f7cc985b5a3b6374cfff51d0d542ce9f82ffc07ad24c106363ffaed12c97526394a84ff\n\n# tcId = 67\n# indefinite length without termination\nmsg = 54657374\npadding = 3031300d060960864801650304020105000480532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 0f07dc8786a46a7ae2fe2bd534715044f46ad17b836b00370996258aa90bddf563b5f3e7eb1500ed0604f9380491a5a6c6c004b560b0f280a2de30d191928bf5aa0378fd6beda830beb1db8b6b1c8846079b6013cf586e384be0e1163c62b526fbf8e26992afba6ef5e5f15755ec7b5287a149b19e577e79bff6526d72616e28d921661752e8cd0e4b950d7ee9f2414e45b3069a80a2e089e", - "46d0b3da5cc0352c07305f8dfef2e1e928e85bb76c5a0f1516383143184f66f31c69adc0b8219f11809501927744fa37d1c8cc1e2a6712d54ed66dd177714b7cbd005e6a6f83db92041b595dd934b0b19fce5db369e504fb45c9df1e645e81bef62cd4da3497e9d\n\n# tcId = 68\n# removing sequence\nmsg = 54657374\npadding = \nresult = invalid\nsig = 70f9515388762b320cf84e90eb571b27eee58a43ebd4773573bffbce8b162bf17e6c0317636b211b2bc56aafa99b968ec950466ae5cd7b10d94c993dabace14b94bed501dacc0b40feb8a89586eb1a792e92115ba5430ce1183ffc6f538ca657fed3ea684a1b9d998c0d9ff004e150a0a32d20455176e8db3d96b5063a60106a7bf6c9d0baa8879ddb77d9a3037400348ed1ee4b88f8256e8e632b15b0dc2611da3a9faab929a0bd4881418d7fd8fc7760c523e1ca4cd3f25c8243b8bcdcd51e96a3840de589744bb8d655851b9cdbd8b7f2d47a57144d9c2a7ea07d49c0d141cf918a4eb1507f8a7b11cbaa28c1a35745209a5fad2bd1e66f7929fe0223d505\n\n# tcId = 69\n# removing sequence\nmsg = 54657374\npadding = 30220420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 8804d661bb17ffa73e371d134984ee95e426d7c12af978d9ad00ce746db4a3bad36546709f029d2c9ed13e6d27123cb7a1954f1f65f3fa46eeb56f449ba6b5e0736e5dd2586d642711d98aa19595d9da1c4ec20953009e2711738263170b487072566558de1301e0d0253f8fc14d12c8cfb4644b50aeb3d3a9fe1a26fd3bccd72986cbaff34fc4fa38ce52e65821f169d54b78037b8ddcba141ffc72797023c802564989a20b07b9a2ba6a256647e937b1c16df2081cb61bc6e6a2ec6ca9939db91ec2ae62c4b2d0d7f61a0bf0c693165175c91b100c195f3611c3ecb797c531439655ace9aae18e53a69e66698fb593f48084117ba288a134fd0389ee0f7544\n\n# tcId = 70\n# lonely sequence tag\nmsg = 54657374\npadding = 30\nresult = invalid\nsig = 47004cf187bd2a34c6ed89f6f8eb9f67a401a40d66a95c8cddd98fa0faa829bbfc9e62a854788e4d23015a68f098a77cc5daac7e23c6ba56167518753187a8ead68edc686c393940f77255fc8092c4c65a01aa6901c0af96830c05747791e511c8c01da4358feb38bf5507543184fe887c5821c4af048c5082bed56c7934985d86de2402b37e16a6f3e23d5a1e838992bef2a46d4fa87971f0cb01a470e185654a6b174d9bba81117e8df24b19a7be0d1f8e3906d3029b5ad4f0d8c152375dfc4fa490f9fa3a5b52fb929a7d41a84d61bbf60d80162b16334b4958ec879bbc0098962d5d3220169c8ccb338d31c664c23144cc85bc371b2d9da61a69f0b4b658\n\n# tcId = 71\n# lonely sequence tag\nmsg = 54657374\npadding = 3023300420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 24bc364503e9aa28177f9fe7ebda884cbe9494a6b589b0db875541174cb1ceb60f514b74838a0df3bfa8e59b06e4ff83e4a4e336b41761da705b5ff9c0fb36e522cd50ead114067f58b100d6868581b69ead695a5c4b15198c5ae35d67e5181335590ec176af6eea69dce2a69e87d9f4a03f351bdad1c0c80dd1d27b75cc7bfb6acc7c25bdd87d0233ae4ab186f1b11ede86139954d9e886b910c3030d372f8900645b8e17b08e61cd64e520b882203b57723f00e96a6698fd65e7d99664351cb797ed2ed67901475169d47cd64fedfcfb6b67df5fa5d7c5ba53d65dd86d26d899df5aa6811c53a3a28fecb72df39e0eef50053d674d521acedbf6cd17ac2108\n\n# tcId = 72\n# appending 0's to sequence\nmsg = 54657374\npadding = 3033300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250000\nresult = invalid\nsig = b6a1d94b0ebd824f6b5a95f6697af65995eb388f3ae12c87399accdc639cf5b7e71bcf436feaaf8bac9f3234d0f429ab1b0c081f71340ecd727d9b94c66fad1fa070c4b80350eeb55878ba427e4acc5762597039fe1ef92ce29aa9919607045ed76326744b0e361cefa24a24725af612b40febc4f8293d4ca9faae0d19f1f2dbb5c4f0d27f92eba41457b39f9cb2c75695834992c326d5e39f56adfbdafad08589a5d4aed79f0abd8af3e056558afca803e6d75da2379a0cc52168f88e88a2c14abff048ee8174c0e2f31854d6687b7097d0f3352fea3a02dcfcccbece2819d4b5e1c97f93857151aaef70cde099a7226fa39f89a8c92e08de354fa80744dbae\n\n# tcId = 73\n# appending 0's to sequence\nmsg = 54657374\npadding = 3033300f0609608648016503040201050000000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 32fdb9a7898c2281cf10104e74adf455a4553ba47e96bcaca5671c9ed13180140cc8556d7a429319079622e352f5f364193ce54528a3d3906628fa8945b9050f1365e99a58dfbe50572dea466cd9dc96d2c773cf35c5f1e51a6d2da23a5631bf4aeff50019e1542cac38e71ad2a1580c24865c8f65217e330415df95f83f1a29a41e4a20f63ee1f06a3ab10ed2f10994291f8d7c80032adca004094dad4b2d33203c09b134dfd5ce9ae577f8b7edc7637046d5c59036362ffc283a7c297641d6d7a36a95843661266289365e021a393d80459e5c63cb71e504661c814d8cdaef3d5cdc0ea2f95be650a0e14af9fd560acee1728fc46f5253557e8eda487e4659\n\n# tcId = 74\n# prepending 0's to sequence\nmsg = 54657374\npadding = 30330000300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 6dde567bbdcef450502b9c76daa040d2ab0cbbbc79533c5576287ceaf79aeaf587c58ce90974d555f4d7bd099abb90d61a25a6c064b58826fad6eafde247457564f8183ce79f7881bb2ceecc830c8891c35704ec66694574838c14287024eec643d7dcca4c4990b616c8fa98b0f97f914230e786a102a4e2ecb926ec89f40c69b39b54ed8890fc08edbe50f338c909b7b6c816a44010addbe65b527734e0502c59aaf8bb7e108999c540a023b60a9227ec052348b01bb1bd5ce7b7580b18f40b5f39b556bcb560ced438c84b2e8e67eeadf4837340d7c913afb7e0ed7fdbb2c58e3d9a71ccc59ebd8a63a80a8049bd9df49b164219fd87f345e1da34a929546c\n\n# tcId = 75\n# prepending 0's to sequence\nmsg = 54657374\npadding = 3033300f0000060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 97c4a36c30fc317a6c1f712fccbd699f3de5a7420efdabf17edfefd790b90e20afc914d7e0aa34dbabf736db460eb697abc285f029d784b2b394d689e1a383af8a51f153b4bb77e199441ce622e6d146a842244f35d5eb3d410dc78c2c85dc73c570f848063de0445871e7210207b02144f461b7105b3a74ea3caf25412eb92d1058f18e9afac51006e859da988c733293d1e64164b733936d563c4edd8e81f57b4c463934ede932cc93237bd26fa0f86c5745d804722f8b837b19e50d415889d58fbc78bfd4eb35ea5dece233638689c11d212c47a1e1bc0b733eff107ec9dcc90a7a7395e06785e75973e0d4a20dc0c562405886c9603daaa20f6763fb9f7f\n\n# tcId = 76\n# appending unused 0's to sequence\nmsg = 54657374\npadding = 3031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250000\nresult = invalid\nsig = 2fbc69383978c97e1075a9d8f9ad1e01dfc6fdef216b381ae5349f005617c739e086f45ffd2cdb45318321bbe77e5a2d67fb1c6b209c81eaa2388c38b036f66575590447219b7771a92bd6c594d8190339dafaffdf2a5a8b73e0382eddb2b2f95a42fe0235042965bd530584fa9db7fafc8c14a417c84b1421c63419610ebd67d20966e1ce9406c4e938784e967ca37b9499d9df4dded8b74c55b08c6244ea8285b17d55a6c51367562563524e6a45ff7956e656a1bd46229db68398f8a0011ded00f30f6bb46c5599ea3fbffb30746b56d83b17d461b20dde2bab7303f92ad9a322e41ea9962065b9ed683f56e31a58be7177505dc35a10e6703c4628933a01\n\n# tcId = 77\n# appending unused 0's to sequence\nmsg = 54657374\npadding = 3033300d0609608648016503040201050000000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 94087e73e94662f9f925abc756bdac96a520ee6d5c8baba1c8947ff9d7a22fe43aac67e91986890b83eac61de630aca7813578e65a2268d78dd25982b89aa7a9d693bd868acf156c9cbb70779bde1cf7fd304b040c428d7aa48f972f0ff0c24f4d2aa88b622e801a1e2011804f331e80d17b3d15f8410b8cb301c7ef4da7eef69089fbbb4aa05433d16e673171d881357f304cb4ba929a7ccb6690bbd6911f6f5fb7d570345719fc55a5129dc8e870a7083457cbaeb86c3cf51f0c5f605645fe40410055942bbe957d9911d84a1d423978b37ffc91eadba802443cae32f48f7d987eca24719f0e77d568f56726e24e3d85b1a1d13a0bcf0c72f0424650ce50c7\n\n# tcId = 78\n# appending null value to sequence\nmsg = 54657374\npadding = 3033300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250500\nresult = invalid\nsig = 46ebaddd8f38c7acc4f2874a34dbabf6596e42b8f62313d12f9e01d16cca9968d0b73a5407ac15cb3ffb232b925acad2d5b29b7ac1907e294cba0107d9b0fe46f728695f3be72df258e504771ae356ca180cae5bfce3e67b2de72f8d7d13c63772810162132a2d512c041fdfd49b2bed59942ad0aa9c11d192292f945a36f6ff267c5ddba7dbef67645efaa8e8455957dcf6723e4d1df6e5e3fd60a43bff3d1549d0c89906b4ece2a1cda030c7ad644748610182f92ae01b65e2ea9b006af277ae685c4690827091346e1f2169a7dd93a520fe4123612e8960fbfe3367583b50be4f3acaa5f07ad9705a48640e828f797d37e58fccfbc9c39b9989e7b5a5f827\n\n# tcId = 79\n# appending null value to sequence\nmsg = 54657374\npadding = 3033300f0609608648016503040201050005000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = a4782205277bafd94e1b611942552b9d6171a15b171f75c3d13459c6d813302941d1ff03536b76508f333ea3736dff38a0ef61dea1e83cd81433c683ad4568365617f603a13e1fcc2813b08915eb681140bf52d4f10ca4e9d95811494ff3f2ce5c27d3a6f43f21375a8bf5b70291b57b24b18a99b38132cc002cfe5396e7d3ce5bcde6f", - "d82ccea835e1ced230effa174a1b8b02544222d9e3ef6ea13433c2f2847bce7c4c55320c849fe9a21f558d3c2205a550b4d04b3bc49f79e4f471c44d4d8a34eb674cbf5762089494ca4d7d8528d61098ddd543bdeb9556247e3821d91954bf493edd6888c1dd23a9d06c44d0faea21f146d0f1a310a8700d66b4093e5\n\n# tcId = 80\n# including garbage\nmsg = 54657374\npadding = 30364981773031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 67fcd94d1573d0712a7da64cb211d9049b3dd043b2b17cd97662f837226379c1c94022bbd5d82d1c67597f510f15959033b63bad63fde6c6f972b60337f52aa45e34f826da9a9040ecc6c268179dd1d10794edbf5690bf834a6a26d07023ad99794e71b675a8c6b202234ae9fcdf43b04dc9c933aed66222154ba7c2fb324b6a6bf9c4eb0535807eff2016b44002a3557564559141a34719b142245fcfb3737166ed7f83227d257f5accc579d20f4fd0debbd2ebf7fe4c8680847aaf17514dea444caf74dd0fc67dd07b9067ec16093d7b21db72a82a35af2b71b0c214136af03ac411b14bdb5a9ab2b3b603becb1fd808dc36a9065c744faae07f18b8d71195\n\n# tcId = 81\n# including garbage\nmsg = 54657374\npadding = 303525003031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 6895daf9824474538545d9e1c7288bbc938bfa56cd6ebcd639a897f45624ea7f409c2fedb2ad09cc98143c461262f22f9646e26aad9325af0063024e29bf63b2807c41d615ea8902de10357c747b37e8264d55f48bfe8cefdfe19ac93d251634453c4a0c00dd9a0795c3195d047256abcfec964cdeb3ebd663ad29c457c307e0d05bad643a160e343b516da6a015193cbd2b28b7eeebac2f1a2156c2e62d85f4883ddef31011628d680d4d608e5074574459d6dce4bb623d059ffd39e6956f7243382165fda42cf1064a1bbad91ef5d0a0906785cb8c78ee641a3a4c9afc2030ee4188b32ef2dba42dd6ef5c86e43a9e413303c5ae978b41e74f646ae5185c35\n\n# tcId = 82\n# including garbage\nmsg = 54657374\npadding = 30333031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250004deadbeef\nresult = invalid\nsig = a6a996451e9217ea6c0ea0aa0cb6442620847d85a8c2e9e8464d929e91b5e8fae333cdb81678fb7f90285f8a4e77f6e249ba2c342cf5603df2224df31bd9fd74a244f51b639c5f0ddb85c51eae877426ea611cd8e01082e783604c38c7dfa882d3c5b4c4ae59237a9bdba51f1627dae88e9773ccb94abc6113217163ae11e6590abb26038f651335cc6dacd5db4436b1550a37dda9258919cec2c72b78c9bd4205fb3776e7e785f85518b4d2e0529903b39a49486aed55b6622465d4ca581a71c86c40ec96e2300fcd438ebd5dacaf8c585411d8978ddb8d040f4cedf48969791ed638eb5666cf9a77b0b27e1a572447e3b0005337af99d2e5dbeb96bbe06971\n\n# tcId = 83\n# including garbage\nmsg = 54657374\npadding = 30363012498177300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 4e1280bb478bb46f4e9f49a455bfa382b4231eba33ab8d7861d852d2a0aab225f08635b73c3602021c0d5aba603b09b13c4b1ecc53f702d21e225da737e87b5820d628277254ae6d244c02068f2bb0dc532e7ed04e72296340d2241f0cf508f7a96f3683614478dad9923610f9cd285d2bbfa98ba86e2aefe49a52dad162a36fa2a763ca4a09c1afd3ab86de4986ad0e29150f070dc9f5330c62d1da6c2b494f2d8d97caefdb508fd468d121a7ed36ca9c1d7612d386e2974fc12f3f701577cee82b13098410cf65fd9619151f2f69e0cbdac7d3838d94345b5d3059fdda42e527dcc2200193789b347f90a273b06106abd0f6fa79de26086751d0289ce4766d\n\n# tcId = 84\n# including garbage\nmsg = 54657374\npadding = 303530112500300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 09691e7bb6a322e91962d6868e380fe98ced520bf556cd085fb8e8d41efe7ba220a67a13bd72c7fefed3e1d4500e055398b29dec57d0a4eaee6e1016ff7c65b837fee29962fda0d65186bd317dad959dbef96ed34e2c89ac2b5841995b2d78d14945ecf01e632c19325dc77fb879988c7ec2f6924abc8eb0a6933bf091617add696c186aff6bb811042862cabba547ee91b8000e92fcaba7edfdbd1bd03b3d6bf5c2b5d7fc77f2c0adbc398de8995e8bd1c4040a73e5490372bf75a33f111666ce9d69b0f61c9a01cc541b4c0e6a902988ae3f876c0a0029d2f0741523a49c12034d572c6dae9b5d170208f0ffee12be344288a3c53519388dbc20d86066f5f4\n\n# tcId = 85\n# including garbage\nmsg = 54657374\npadding = 3039300f300d060960864801650304020105000004deadbeef0420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 128bf8c66a90e5267f7aa9c89b8713ce22c118845c5cb9b579d29287ce720c747608b68fbfca40747178e1dda3cdc3921fed5ccbfae5d976d286e9382fbcef3026eb988d537bfc9a67470094f8ae30e4da19fca114e6626811c3b355d104ab1f921c3ed8abff6148e817f5c9f21d270b2ac8983c6acdbf789ad54f32aaf9773f0b2570e810058b0f9f12b523cc763975884d13902580cd4f9981ccfbc84fb18f6a9670876c3a120b6907211b003b035a1846cedcd7a414dee37cd77b16c89ad22035c3754b098049ba72b78259c333bf88609184571955c74974083dfcf5d70d940bfd64a6c575fc52b3b8ed5571519961f2356b7bff6a127128103ba24c5142\n\n# tcId = 86\n# including garbage\nmsg = 54657374\npadding = 30363012260e498177060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 1901af3da39f5eaa20edd6002255b5977d3285f99a2bad2c4d7a57899e8b19d89da3bc5e418b39b744138a0a60dacd84542922f208b0e7fb0e1ab7b47891aa9b95921a46d2de54687cb2a79b3a7f3a640c2b21a139ad7f8a456faa22c16f27308ef95ffc92fa9b70e5feb0e317de4bb5b0a1558af98d177c097dffd7ab42eb8520935fa87512fd6f0172645631cee29187227fe01bd49dd0f6a28d2033276d696e0631ec2da88f7f1128a7a9acffda408ab10c26cfd6a3bfdbe4e9afc93001deea66d443137936d65bf31ca0a940e25c72b2f8c3cb7f3bce957539136cc7af0e6e5a4f9d8dc0b5fc656952d225ac9612072d037c07f9909261c02934caf542b8\n\n# tcId = 87\n# including garbage\nmsg = 54657374\npadding = 30353011260d2500060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 1ba99c4dffe02d72a6a5abc06d7aeeb7478aa057d8752ba59f72165e12e740160931f6419b1cd5a0cce4871ea974453f821cc43a0bbd7f541f4320fded5ed89c1abcf32806c13aabbad83c09173a2f8dd1fc15fdea66e9ecae0f92c376ea6ff1c2ffaaba304f74425e3f2df4a6436b5b1bb15035cc44466c240a2a2fb41d275ea8751136686d69adc53373a0eda516148aded67f8fb22d0985f92b6fcf236e7782687ac95cf5ff0104ee3de37523cf6faa1c5b428489e11a115f502fcf56567ba18e3e39830c6653bd29abf86b3b842bd1f24928277f1b3fca68a525243fe1bfe085307802803378d9854cc0f90318c79b79a4e939de2730a08269077fafe57f\n\n# tcId = 88\n# including garbage\nmsg = 54657374\npadding = 30393015260b06096086480165030402010004deadbeef05000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 89476619f367778d5252add21e8a22395c44e2bbcd5a743fcea07655c3ad3a7f4c8c2d4e871a1c0c3787763128fe21d2d270c07c8ef0aa607dc2e9697d9ffb8263b3e0c82851e0a5a884b23fc4842d60ae0eef01670f988bbce5055cd8d7e613ec8294b9ed61459486907e37ed816e7c795bab8dceca60e476d01cad4dbb1c00336003319273f85b57808b6f1c8d8d8d1f119faa4eedccf3c98cbeafff20e54e3b101c094dbed77d33c54f63932ae49f8c584d66ab61373eecb541fcb89e788a5e43f99c67f4921d63bc54a2cfef49cf4ade494d32449db5c8e0960bff24e8ffdcdd5e4a71bafd1e3753786bcf8a8388fc9b9c53f95622763394f1ef88cfee85\n\n# tcId = 89\n# including garbage\nmsg = 54657374\npadding = 303630120609608648016503040201250549817705000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 8227c6081b51017a528a59ab9a2d5275ad7769fb418a2514965a9e2acb1acf807685e57fcc438187a01bb5d592bfdfcf68ea2ae3182ce349c5bc5445131e8693bcc63d6abb96881e112b0e0a9b3d85c0ba5a463e6d6035ba18cc395176ade7fdcea30abd725d6ed4ce5c3905e0d12d0cbc7622e44ee8c3d343a3e6ef046c4310ed7d12e7639436176e2a1b7faf54e1bd97d77fcbac40368013c8a2491f2c9e084ad110dff1a2621d704c8f5e8ab1654220e959fb665e6e6770da6c23a66035571d844a1dd2eae68001169bb95253d7e18dcf5c376b5a31e9ccdf7918715d281fbc027d0b2510184f2a4c454805b73aae89370cfd80b345c8ed878ad1c314a7a4\n\n# tcId = 90\n# including garbage\nmsg = 54657374\npadding = 3035301106096086480165030402012504250005000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 4360d9bfd89ed3c5c40290142efb667b2afff6fcf53256660409959a06c24d858b3999b2b1fbb8d9c7da7958a5a4ad9c2d9ea617c5f7edecb7ad302b0004957a979d6eba0d56fc378946fb5145429dddb6d12dc2245d4a071fe162947b67546fddd5efb1f277c9e0ffe4281572c3f6ccc9ca5d19c8c1284a5b2816b529a54c02e9acad68fcc71a5d274cad33cee0c2826d0491eadb1e4d0f05776aa02f00fc702b50927d333c2cd9ba753b3e70c26461a0c6d374a20fa6a006ef77a630ffaef2bba01f4bab3314f7f110c4b9c56aac18ce9fac6ffcef3fc140afcc0adda45473e241d592fbae6014f701fc58bbf655b519d2315630c4827e6e16d9f24e9f9407\n\n# tcId = 91\n# including garbage\nmsg = 54657374\npadding = 303930150609608648016503040201250205000004deadbeef0420532eaabd9574880dbf76b9b8cc00832c20a6ec113d6", - "82299550d7a6e0f345e25\nresult = invalid\nsig = b0939c12151b60d2302513c5901647b0800a5fdd45ee42009828610a83b017a32ce042db7257f17f5504b3347c7b482499d3547282cab6d35360b88b88bf57f0b6f7051452f309a324be5792ff00c0057fe3936a9d584ddbf64b8590ee3dbd04961aeb0fc11598a4bdbb92453b3c646e55bfba321d1d21b5ff883a8e7b22afbd66de6a273cd3e4bc5d857af6c55198358f22a54fff26a903e9fbc3af78ee158dbf9a546dee4b5c77c33980619eabf13dfc72007acd263ea2cfa3f4a89f97b48ca684a1be77925e051184387fb0b8d7ac4063aa84d63b8846932d220f5052eb91debde89aeb6533903fcd01a53e12048990b506773239c83e891667dfcfda3076\n\n# tcId = 92\n# including garbage\nmsg = 54657374\npadding = 3036300d0609608648016503040201050024254981770420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 8a439878c5c694fb16b51bf584c67cea27287e51e5b259efcd62e8ef1c7441555e788e66bbaf0f508440370cf04e87b9474cf0aefd15a7150fadb809ab4bd981036d906cd3bd6eafada91632123de1c38aa486c9d6117e6a1b57099a8fbd78848c7ea47be3125c866151a8d46a3bc0d8020b34915ba17f3d835e641bd797b1e55ff44fffef98a4820063434229315035165196377dff2c5f50b7475c835729bdce9b63d120bfe27d5606fb051c7c946a0512092e08ca7e800abc734e0d8234262ab56037ffb2e8ab3099d1fc11a202bdaf4c7e322995ccdd5efc18c234e1b6139d84d0193dd27751e0db9d077aec1bc23f978d2127fde875e1ed7c992a82d051\n\n# tcId = 93\n# including garbage\nmsg = 54657374\npadding = 3035300d06096086480165030402010500242425000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = b95dd2dafad0610015fcfe7d8b5c83c34a76dcefe627c513011d953cb2238ef20273feb8b8672475fbda75112c85340e7ab08fac809b6e2b4d314110866e61abe8d15d02f64952036525b0069f2cbf61042a39810d37b7860fb6eb1c423aac7311fe7bc98d6880954055a9ba7d7a1bfb4e45255f4cb68babe6bfcee6da47ba18d95b4954c3374176782f841b85fa6e773f58c5d56fa85f85a4d8c7b8c6412ae83e26b3fae582c3090a9fc6d2394d1a02e3864111cee49ada14e5e625da3650608bde5a5bbc0b99a46095fbd7c01d87dd6c83819c13825bff3a62cf893af31d03f44875388a4f8e83b7a7f360227182b26dce8b310b389e2c672016a166f71557\n\n# tcId = 94\n# including garbage\nmsg = 54657374\npadding = 3039300d0609608648016503040201050024220420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250004deadbeef\nresult = invalid\nsig = b4fbe49100d4f15bea29586e58d27cdea5270a035432d89b245e7a323cfc19f77afb4f2652caa2afb3acf712746710e837ee932e9d315ae21732c164835fcd77f8498109ef05704b081df7f0a5566f8c176e5031b184ea6aa7c590b0eddc6037d642f463f41f61c00f4b12d0b4bb7924b9caef831961857854ba53521f2b9da0210cb38132b46892ec7d44bca599c5efa9029eca8f1663ec301fd064df65f9fc35f14ffae2a3794a3e1519ab077cc761368014acd84989e690449b95c5c8c59e4fbfe260c64ff044be245c33b4fdf2f44c87ecc6510b524927a296a1f32cf57024f07a8609ebd164139ebc129b5eabcb0a84f24048673b7c9ecf89e24099121f\n\n# tcId = 95\n# including undefined tags\nmsg = 54657374\npadding = 3039aa00bb00cd003031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 963142f737aa6b8eac11c6e52dc02b3ea881f4a1a29dc672b8392f4eabf487d9296c0cfb3acbc6d56c1b4eb4378b6f118e6e754d2a16ebf20e9b66f7961d7af4e1a8deb9e4d089d540496c0ea89cb2cfff8220bc7c5bc7ffb8a002d549900d773d00a7cfbfb9499523f353a1dfbfdc9e28054bdb69c64d2bce0e172b586f6ba615e1af9c822280324b1b9db915a50fd0658083eff495f1721eab30d3be3ee276d33c3177aec8fd5dbfd9689195e7a944108ec8e734d524a27e9bc67fd8ade717c234627e2fa25279bb216fecf1f79e1d724e65b10614f334c161f2a2cc50db7113f9dc1c73bca1c67c41f6f77f80c3950d4d4e1252b64300264473cc904b0e61\n\n# tcId = 96\n# including undefined tags\nmsg = 54657374\npadding = 3037aa02aabb3031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 3d1ba856ee722aafa5bb68d8b2901c95dd1ddf22559f05b70aa3e92afdac040e08819db5417cb8f551cfea76e622a2aabde7863c183d41c23f4690da5983c29db4e0d603d349086aced24d33695a788c617348ada9f68baee069c0dcc43d671382158c70f0f91134aa4d2bca45e1e5a106710025240d496d79c3e6bd70e15f5a4d732b37d53f400aeaa0dd49cfb24fb7af9811cfceb185c697d70c61ff454672128a0fefc6dd776befb87ff0c7f248373a17f8d2a08f138aaaa986182c084178103897fa8ad0e921ffaedd7e650637cc0c09a185eec68413e75a6f80c9fa2cba46f328b00d2f3e414f670be8056a77810240eebba03e923c01c096fadef1cfaa\n\n# tcId = 97\n# including undefined tags\nmsg = 54657374\npadding = 30393015aa00bb00cd00300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 582b5c38000b069573bec33ebe6d4cdd9e250affdc8b4c17937afa464d107f41bf3ea182b86ec8143c9ce977ba2caa3d5656323d4744556f7bc85ed4054d2ca170d35e8958bbd299aed1bd983a7ceeadb2454bf3f5c19d1e3d98785d644585a1ad3a914cd40401d587f18da2c05bf2a9394902254914ddd4d2ec216bf791d87a8e8cfe6518d9e7520d080376cc35cf5b8cc92995f1e825bd5260f19b0185fa9340f1b15d6c7e0d0533268f8e269295de143449ffe15cf03a0036b17899bd18cc48ac7f18bf270f0949b659dbcea7651634da97e27a2ee1da78b10ca674e5c38475a7ecd654e051161c95fea16c5bd8aca95773bbf18f7f2abff4912bfa46e388\n\n# tcId = 98\n# including undefined tags\nmsg = 54657374\npadding = 30373013aa02aabb300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 3ae33c56969f5a2b11e0a29698e60962db13458531739d56a4d30379aca857b0d33d48a111865a010a6a6942a64bfb2df5dc3f859f2134b7ca6a9b48093187f3554047a95d22c5d013ee4f5a65ece677229b6bb830d5e33d8bcd749c63d5ff41c1d48e6de89c4ef43048d8be79ab7b547ce1e5731a4a5fa0f71df485e514978dc34cc297a34215e519b944b59d3762b71a5c885fda79481a886b5b587bff0e604d2cc1a02f506f1e9353d3811b154506586af833bb42192ddaf4c78a1f01f65999ea602f79de8f55e987c5bd63f01f27de24361df86173f3d4a2020b440f32fbded2dc62bafb7f77c5b1bddf4b774a820d45d98076bc456aadab3e6b55a50568\n\n# tcId = 99\n# including undefined tags\nmsg = 54657374\npadding = 303930152611aa00bb00cd00060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 86cc2f6da999d54a27f1d573b192e01350cee91adec8f9a02b67b1528dfab632160fa962bcba95594dc342840cb4fdccc3698cd4e186c005c68d342432e5e7ea8019469becdb33a76f806504c26e619a17d8de1b79474f669e91e0bd07b31444e53cbb525b0f47ec438391a3587912805c485dd2909e14d8289310312a7616cbd3465c2922a00c5afe88a89d3807c614bac7c5b9697e8902bec0a2fd9e466eeb932b668f6e643a8109292ef8bdfbca19459715dc569f3f12b90faf1f31d7f8506cad98bc4742b47ff0f8f1de840e10e62afb66e93df34d43a2dfeb3346fb3e0e19402235e00c4805bf6f5dc6bb10a1406d8eaaaccdfd118cce8d1a62eaa4a97e\n\n# tcId = 100\n# including undefined tags\nmsg = 54657374\npadding = 30373013260faa02aabb060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 18d77b56276d2a2960630b730edde16b0a26b6c65b28fa20ad7982b8b48d1de6038a940f8c543d7fb71181ea2feb85592f608b20bb93ac7c06ce725026f39c645c7f964a14d68ea53de398cb64cd0a26262ed6fd5091332f8b437b71e98ec59122abeb7a27259130b203a81da5577fb0590e2d6842e22e943256c0093d143f58c023e719df92454a979bd76d08c550de11dbf7085afce1581c31a2214752548af5913485c00b7466a1cdfc60e7d857a913694fbc2fca13d77fc5b775f7adaa79668a5afe0b743f13bed6078006e6b7b16ee6ec576554aa2e864f77b43e4e61786780085edf3c6e8deebfcdc057a1de8d8d7d8a6b188a8c771e347365d25240f6\n\n# tcId = 101\n# including undefined tags\nmsg = 54657374\npadding = 3039301506096086480165030402012508aa00bb00cd0005000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = a2066d53103e4d5ed9c08d7dbc8be145d932bac9d6363a146784fbe172ad2e02216cabce279b3599b5f3858e7179561e3c489b87f47f33d266cb019b747ec49d3dc1069cb078419f6dbe7dbf640500cd110a93e54f2bad919e60cda6401f7d88e52b9017b7675f082ac349e4fa4e49b0a0c6006d2821382fdd00fa0b9d4e948db23c1a4d3d658ea857ad829aa7a3474e0f8f86520970edbdb3035ed195f039c807f8613cf333a13a14c22f1a5e4b77ebb0db9c98c35f33b19c914801f4aa4459af043a39ec5e016af1602bb795bf2c3655c9f9e30ee2f49c6e059d0d616eb7bf7c9650581ab0f29d1e2d1fb06b4d78dbd06f0d3155494a6f3d7730f55a03c1a6\n\n# tcId = 102\n# including undefined tags\nmsg = 54657374\npadding = 3037301306096086480165030402012506aa02aabb05000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = b1f2b2ceac435cb3c650e8214ed70a87ea039da7c6730ea29958c375c85d88459065a8987dcf66b93e732ae5b92af964e7341eceac3c252b93c62b2474b54a9477053491179986eea94820ed6ea58edc7e758177c1d150aca2531651963272231f98daaf1b90e7b61a02c7e61b25f9b7c33d7f57d846284699a924d11c45995c9b85bc3192f349af5e6", - "69d893eda953272516c1a86764f46ccc17569880ccee30bcd607a21c306f84abf4b6a5fe6839ba00b73b2df062b1d9d7285c4f3b7412b8ab5f68130000c95761a587818811e4632d209f34c4a8c9e13e78358a37b696cb444ff022bb1508c299a6eddce1f8961bee97c5eaf29267d6ff4f6ef9e30061d\n\n# tcId = 103\n# including undefined tags\nmsg = 54657374\npadding = 3039300d060960864801650304020105002428aa00bb00cd000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 012e5e56d0e1bc77798b42190ac5a15665cd5f2fc1257c66553d8d00acbe85cd2b42e56f344099da06024c5578851c3463d86d00f7c43c4c959569e2a0657840305b655f4607bde3e44ee1ade5a40162544c9e81a94612d600c069f3073c3e9710cb4006aa5e4a8b9083c4cc4f18fb2fbc3343075c8eb8f7d8b7595532d52301944cc79054512141bdce292d339f85008161af499002dee163d01eb8211e6115e637b7d3ad074507e8492f1a524e39e1a5151802b44b74e1c78dce275825a67d3945e80e73c605ea44328d10a16a99f4960e8f83ca5c01c277beb245f4d0758bbafe969dcb497915d787d760673c86755c1ac38e06e530d24e54b4dc90b67e25\n\n# tcId = 104\n# including undefined tags\nmsg = 54657374\npadding = 3037300d060960864801650304020105002426aa02aabb0420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 51f6196459dff03d29f6fd4c7477faaa392cdb0b2541056b94484fb8a266c1490e97d90050843010629f7eb61c3671daf8fb5344eca91dada6c2408d3ae9d6a66fd74c725ded0a4470027d13a09402f0d965a6177ebbf0c24ce66cc463892ad282ae07c0231b394725ba8f14705f4cb860495b2df5bbf143e3e48bebfa3503f6bd2bb56f4b5b589e5be883a0fc2249b6b59d6dca99e13b14868df7aa7fde62b4ef75bc6f2e90c18685922be7335d4d3f55eb629e2873d66305e434180701b805f832be5f5757117543ae00141d49d094d37e66091fa4a0b06c630156f99bf2a42d7f9315b9e4e2bc66883b9a83e1bd83fe9904642f66b19b40ac0c0a9ad27aef\n\n# tcId = 105\n# truncated length of sequence\nmsg = 54657374\npadding = 3081\nresult = invalid\nsig = 7f8104fe5b383a7745e52b6eb6cd2404abd1d6e5ec4255424fe802ebe76b70594c3f5e8a38959ae9e72076de7ee5a485636cd59e51e9270ad5ee38af4c5b295855d86efebb2678a66b6fd0328479b1b75461b9eac59e71ed9441cf972af074f20320d5c01d93feb037cd212f5c9774ba65754a003f1380ee0c77d3f7fdaf753adc1f7912ecbaf801959d2a70ebb5c24a68ff725ff8f9901a712ec338d3a798294ea0f10fefbce5a99bebfbef2ed91f6668d8e25b676731d9595d679b8a7e8c35c918ff0bc6b080f0f0a187f526b55b450d069bc0d4b47c59f7bbc58ac3af21180ebd6707d7237c967454e459b696842d41841d02b4c34fc964677b0116a22879\n\n# tcId = 106\n# truncated length of sequence\nmsg = 54657374\npadding = 302430810420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 9bf8795b877ed9a89e70af142e44cffdc770cd2ddee32ecf32b962840dc26406b1449f03ab16c7c9c72e41e2ab24bbd163d2b7213ff7ea8ccff463cd41ab87a39232383a6405911fc9bf33ea82fa9fee0954912afad0b50d80a70a52cb043f5d8fef8f80249f4d2a8a1f47d524bbfe9678ffd3a3c9d307d9c61a909478cf87d45001d66f5786a7d22d8069884c3248a3e5f223d6988e6c595009cfe24947a564f43964a1ac7d4319a446e7491230a3814bfdb80ab2227a2029a36b13da4a584c7cfccb337bdac86b5f727169596bf6a53467c06eb94b7d168624847df7679f27877f43954c4593cc4e28951dfbaf4727e3728cc9b9a59efa92c3249a4e796f33\n\n# tcId = 107\n# using composition with indefinite length\nmsg = 54657374\npadding = 30803031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250000\nresult = invalid\nsig = 48e200aab82c1d2798b90dc2ddc522ad5d638699b2349b26596a58aaaf7d14f90f52f44a320fc424ae2ef781dbe5ac12de05b85a02866895329f36b1f2e8c78b5a8161ccde69de9c112682331363398659f832544c7848806a3f2076a3127a9b4813e6d5c8ef31bf7a102b136fd5f9b3675c5e8ea7df25bd9b8df6cc46e9134b5aa185c13e40c935add77fbe1c1853ca8dd28fbb53942e7965a44d9694b96dba9ddcd8396d7b191c7b385629e6c391242ec76a916cf038cad4f5239a4c17816a39deefb43ceecd31fae33d3afe50edd8086dd501f6b72ef43f21ea1858dd46ad56ed63402bb92ab06b85a0d17fed8d9028b22f528a9544b8827dced2c778d082\n\n# tcId = 108\n# using composition with indefinite length\nmsg = 54657374\npadding = 30353080300d0609608648016503040201050000000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 4323f6998549f0c6d79dd67cbdbea827da1ed45026bc16ee020d42b1d448a66810677b3f0278c20213a3949b204a773b533e5e203f2eb48b936b01ce5b151c32be13f89c1f56b20b44d5987e1d7220c67d07578f8af642b6d504e1fb11bf1657203eef4f9882488f68ef830be437a3ef948def0a6b34715056926504439262cd5e971a91ec5b2948498fcdd5fcb1e4b4f5ba04ee2631546a5454f28304a07c5c14d01a75322bbd764cc452aa9042bb03a466b0c62a8bf945b85c63b6726f378a72555108d27029268706976de496f7098d093a3a542db8fd5aeb805ef3b547267234271124e9e267f27a9525bf224e3f5d33b67a64436d65cdcee729bbf28897\n\n# tcId = 109\n# using composition with indefinite length\nmsg = 54657374\npadding = 3035301126800609608648016503040201000005000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 225c4bec4924b6aec5e2524258edc63007b35b37faf9c735959c9f932f982f5d5434fe0f11deed690f9a023337a20dbedd42921f2a019ad6ff033ffd297e8225269bb6a83bc2fe8e08b7d0b9af492917bd3d0cc7e3c7bc213e0be8401ddd2e4b5c1687ab6da434ca3870f0ed3c2c1b08a00b9f52715d2efe0f4e4097510395a087b5bf389471bbce2e85814a43f10d68d8d77398b3b3fbf196cfc35f6eee8b21117fd6c0d317674a6f89b2f7635c7b5a91301b6e64578fbbfa327fefd9d8e4c992bb88a23f8561298c60a075c4f29fd737387349037c1cc360238dfe4e2c3bb6da805da25feb9466923e00242dacae167b40c4c4d5f4473e22adb0851162f7d4\n\n# tcId = 110\n# using composition with indefinite length\nmsg = 54657374\npadding = 3035301106096086480165030402012580050000000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 1e416fa2194a2297866cd7df7d4db6477bd71e2b2159313204dcdfbfc69ec84f826f01e35e4ce6bbf43c8377f34e7d4bc9c339d20307ba6391c2091698885480a776628addb3ad0f5a7fbcf944ef41fc2ea9ab078ed8ea62ef4ddd1067d8863d61c1b52534d51b2473a11208d260460008da01f8c88540a594b3eb6c2145472efc20770342f2e17bd2a0025fa2b8d820b8d5fb41eb6025ff990b054f741a8f716f354b18064902e208648b9e3eb312f2917782c0db5c8ef49ac0707a82f71182e8a21daa75d36e0d4938cee289742a3463133082faec3fca8979372957486d5410b90de7e232818b839882b513da01b4cb9fc59c0da62b70ac5a4de1ebbee89b\n\n# tcId = 111\n# using composition with indefinite length\nmsg = 54657374\npadding = 3035300d0609608648016503040201050024800420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250000\nresult = invalid\nsig = 9801706c663bfa15fe7877c8d09f58d4664d3619471c27d333ca869536a6c4f4e816c905b2596c71a4ab3bcf07b550ccee0e8ffd5f7a9fab3afb5b8bf76f8e118b7d07170ab6f82e7e33db4a81f2f9ef1f86d04a1b2fc141768d9b4e44792ff9ed882032ad5578560d51c7ab2fa96128fd147bc260d05074ef42846db7c8feb7ea71ec6755efc554e46ad4c9dc77c259aa834fea03ccb9b931c7d3c8b0316e30d25346b682df91a6bf68c6266723ffc77576abf8a732ce1a7368b71d740677c28029d2854797fd515278d884f4eb0806f21752207b103de1e19d357e480021d3e28ba9461b6895b777f1b6a9e08bd4cf713cc41f4e9a5bd7071921a614f0c3fb\n\n# tcId = 112\n# using composition with wrong tag\nmsg = 54657374\npadding = 30803131300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250000\nresult = invalid\nsig = 71c756c9def03a24fed38e597b1925905783f0b25c974602d982c1e7413e7bd82c78466df5decf09100b924ff254ef01b2bd425b2e0ade75ee4ec58aec4f3da80030eff25601f3ebfec46452e01cf51ecc6c0d2268f754795486f7886b8dc181c96f6fe4dda05a2b54e6fba77869fe347c2eea5b42081d2140cb9fa7a6bf023a6b9f806bef65038aa680fa6ab6263d756d3cc7acdbb93ab3952998b2cb37aab72a50657e276d70dbac6be84526c17c5c1790f0a1eb0dc0644e6c47510d3704fbe9e10c8509419f6c49656e06f7bdc4637891afebd376f1e1be139a87b2eec9063dcd815a17a08f63e2a4e9f9da822cd0cb5539c4623da6d279ffece0b8e58f86\n\n# tcId = 113\n# using composition with wrong tag\nmsg = 54657374\npadding = 30353080310d0609608648016503040201050000000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 50d70adc01b502dee439ae57f59ec78608d05820f858a6f0e9271a4372b47042613aef6ec2f36da7dea07dfae4c84f57435980b4982348e2d33c4df6c3384accd7c7e3892184a3778943ef50477b906c2890b5c93322c065315b960be0ead30bfa496960d53a4dcc08c8df158ac5090c10c395d18cb33c8faadb7b8d6bab8fb9997e017d5c12789c1ef0b285761d2e43fbd5b4313726cfc85061f9ae33e3da0addbd86e267fef72b966ad5286220b2da94bc1b667016bece0111dbd2ee4943d9d0fd041b666d93bb3dab53e16995d6b10d1a3b4aa07be08dcae8f0f5cc03c6b9c3419d5ff8268103a850c2f2043842637f54468aed58aea06d6f2dbb965a3208\n\n# tcId = 114\n# using composition with wrong tag\nmsg = 54657374\npadding = 3035301126800709608648016503040201000005000420532eaabd9574880", - "dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = b96e8894734529229c0830d77834f5a07060c22186c2cbc7c0fdbaf405b466fb9727694a527acf3ad0a35223254efe854789375311ffb6ea35d1335216d7b8fb215241cd3dbbc90dd569c0ae8979d9c0a2dfede3988c85e18756835734d45974dd50aaf649c1b9635f0c53dae4e44b0d2315897ee248998f6efaaeafe72a41f2f13a1271500bd6f9be8ef84421f443e68488a3eb40604cd4f28f7e9cefb539c8c5e87de966017d9ab0a3f01275fe25677c0049c0fcd7ff5799b4b96cc0490bc4199da554daaed28ae235dbd3104f9f2462468facc932da3bf2e5822a8159d6e8e8d9ea96ac200113a60a57f3253b8e05f3f0e8e040fe3a55b1a8ba749d5d5ef3\n\n# tcId = 115\n# using composition with wrong tag\nmsg = 54657374\npadding = 3035301106096086480165030402012580040000000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 1b640c511649dcb0d23df1fd808a340415cb87bf3b15ff5e19cb6ced922fcfb4ee376d6dee61df8aaca7e108c8a0868c8a2e99db2c0e769c80b7e5adc3bb4cd4da70f7fa68933470aa61d50a793702a49d3dc635670fa77f2dc282e28f4a74aaf5a76c9383b093e529ffde33e3f8f947719c5aa2680b1ed4a4c07a72189e03cc0528a814a6ccc7cbcb4148667c9170c882ecd4bd6cc8dee957b9f334e8e5316fc4041ccd6b422cf658ca6cca6f27972f818ab2f0defdf35ff5e4dd87de52d6a1d2cbda5f7649a13d83f989d208d95b076a1984b548b71232325469d111a8dd0b508e4affeb2f6dd42c90f4cd1e10dfc4e896e483bd9e96c3e951a51519a19486\n\n# tcId = 116\n# using composition with wrong tag\nmsg = 54657374\npadding = 3035300d0609608648016503040201050024800520532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250000\nresult = invalid\nsig = 8dfc2c2577dc3f36d36430f25f76fc01ffb2af51e1f5aa8fdafe6d42f57a0934a106d88254f834999177b204a5388543a49d638af70d52edde954fc9a6a2a0b99bc3d3e2c148058a72e2a50c1c3774dd83f151e8fecab64e1bbc6095cccafd0d1774b8b4ccd8d4b995af3e1ba9c9430fd8fff39bac43b0c6bfd051c5d20758900c9e79e11c7918af1a38523090454b2c14f01d1aa16b6d3c2d94bf4724a37c471e3bbdd710ad1f268030ad3b3fceb83e808c1cbb1d3b4d3a4de84f0a4f6f1d7765b324ebb81e1bcd08ace01a4713c6b376069114b8f0cd236f7bbbf3bea3bc583412617d97d508a511c54eb32f166dcd7f80d53a5c0c881030de35266a30dae0\n\n# tcId = 117\n# Replacing sequence with NULL\nmsg = 54657374\npadding = 0500\nresult = invalid\nsig = a43fe7407fbd017415df9e194db645a0a5744bccc05dcc89044e7b978a97090833589251d57ac70f0591ef9a787788360602624dbf50209fdf21f578f0839b9b27c9aab1bd58d2a17ab1da720fb686420fdc17f2756edbd8eed82502a1e66c3b2b90c08dd4150f6f6d0b569cdb14f7cad5f7925d9c8a1fc3f0a6092219ab6902599e018f88247f2e4edebf9050104a387de07db955bad9cd01f2b189d9a6a2ee9369bf1f6ba272449e26d4a67712a3a22947ab67de53b1a416f38e304011dd477eb33c8191d46101b17d9e835d9816f76dbc540a2d6a0ced2562325b9a21ee7c90f010c22fe7723ab4fb16197af8fcd507f61387dad1ce8ecd7a39fc84eb8da0\n\n# tcId = 118\n# Replacing sequence with NULL\nmsg = 54657374\npadding = 302405000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 852f74fc801faff2486afa44197fec789d36c1a40ea41b55d46b6fb6a5c994a9943c6d9b3d46165ab2023124271ed5fb34ea0299b205197e4d8432c1dabb40236a095c05587e885e6f8ed0e08611c2c7573c928c6ba6159541fbe6751c04486ebbe2f20ccbe8410ff39d7db6649eb46c6f0ba552f0dffcd183628e863ce2ef8f44faadf3fd94659f98517a5e8b5969aca73c32ae22c433887315ba8631f4f10cbd7a0c3204e377e7366c136986d505f1e8855f80c5f8f97b9ec76a69e9290734e80906701372e1f9fff6f22d15508e4393539dddfbc78471fd2326e7fbfcb5fde066f437171329905fc90c95eb174e9bcca53ba46b5c42b5f3f47f1e0fa4df04\n\n# tcId = 119\n# changing tag value of sequence\nmsg = 54657374\npadding = 2e31300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 6ae97ba33d02719f5e4a809f5b44054331d0ec1b61c34067c6c8996d126c972df2eb48f2decf74623116e4b54401bbfc05023501e00245eb98d86aec6357697e67cdc78e0eb37c53b3ce06cd078af9bbde0206ac5d63e8a842726d4bff489e6695c6539de3bef40a4fbfc500bf932c35db6d8185ed3ae713ef6f7931b8e4a76834a6cb59c4114c230dcdefaf3b4460775650e03d3461deb3a229511bc97636341c0bbb1aad24f477c3a1658155c338d37aca1d6b5ba039f3a486535a2e2dda68e4bf1998b8931a52781e465d32596c6781612af4a6f495974c023b68a0f537fee00a32c3e499da4f8b2e4ee677b68b058f99a104dde579ac31e6ff966679cd47\n\n# tcId = 120\n# changing tag value of sequence\nmsg = 54657374\npadding = 2f31300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = b00ec164825f457f144e3208dd887c0b69762a2877f62d8795ac3eca14e49988f898d3c939613caa5094e21ea361c804c8ea0c5f6a0e09e118e183441b5719ae308eb95d705046218e7dab336e53fb30a7c1ddc59cba08785ce9bda385743526e6b7bd15b3cde6bfa10f8ad4f6f20534c388d7f61dd04f34009dc4d6266f7363fcc59853f24e0ea5f9ee100f0004adf75767d95c12b30473594f67bcd5ca63cb76a4b837509901dcf0bbf5f2d109700bf04e2169cdb47ba4de1019fd595665acb114039bc75a62cc07624646fd1ac2bd71625974567a9508c512b0576ecda69a59e950802331002662dfebe08d2548968ea8939364a27e202184380cefc1796d\n\n# tcId = 121\n# changing tag value of sequence\nmsg = 54657374\npadding = 3131300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 1778c178579119618a407ba834a7de8ff244d4da6ed2f979c54684dc459257e70240691ee844f745d72e64633200b800be5da738484c0258405e7319800c8128d023db5227fc2e348c426a026c3f84060a4548f0ddc2dc92be1dd42bf7a819a9e892d318eac58919a01f1ce3da9c17528af6022b2cd088144fe44c3dbba60ccc83970199b758fd49c2226f5b742668d6685dee1a5feee173aa8f4428118a18701ac503600e0704410595e8fd7208e22c161c81e108056b52da131f1f806c3bc118f934cc78b8e047c0b181ee7386d9c283a3dd251ca30a81a9b6f562b3364815ec3d247e5cab8ccdd78e0653e2067c6148b76191bb797e800f0d6e9e282409d9\n\n# tcId = 122\n# changing tag value of sequence\nmsg = 54657374\npadding = 3231300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 13b647d93816de9c2fef162f8dc37956690dd40d2124b0b7b724ddbe5c62b1242369f82851b24cf98b1b462f6f5fa40c248c02d778ed28d3ec8d2eeb1668081c691f6a3939f72345f0eb58fa02737ab0334693c6333b9e4593eacd3dcb71586623d11b5230eb624034561f3c6c7b151c1f18d3311f359a166500d78995d6ede43421058a571c639f228a804e33deb8aa06e646c7aa425a8d0ea245e4b2c2a5d48413c6ada61d195e2302577cd517876eea82b043c6741aba882242d9c97fcf7edf0d0a3ba6cf3723f5d3006790d22dcd8ec6bca701568cecc2420284e140c84d94e4bcc72861bb31d61a9dccd53857060f7f6bde1503580f2d52424afd1c0794\n\n# tcId = 123\n# changing tag value of sequence\nmsg = 54657374\npadding = ff31300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = ac52288eb0ae64f6897a5b383e9e4d734b45685fe3a75e2f5c65ad8235311a6a2fdcb5a8aec47b430a7a84efe10bac9da10786badd033089243526a4d9ea57a9e7103ca9e7dc889a9d1a4e4b86deb34ebd3a5b454d0afa940af71422a4c4dae4e1a5bd1e4270ad32a486e2a1334db7a511f3251834d112b9696979dcb0abf8ca83f304e4e8cc6892c4dc5188e416428570f0e3e56e4b171a3ee741787384f9375019fee5cda1e161d4876e9ebb349fc1f33ded8a733bc5c7b719c0367ee44ca8212c517eaede6689e1caae2b5cfd347378efbeab78114435986f95add85e48d433074288e0cace49de21c0fec2414bed9b01274a8e8f6959fdc29648bfceee70\n\n# tcId = 124\n# changing tag value of sequence\nmsg = 54657374\npadding = 30312e0d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 6b31d3f3d9c007718c2a7f9bf201ffc003581b3fca2371fc15aeba38214e51d6f72ddc632a7632ba95f79c868230c56851231a8fa178cf6cde67fc25cea8c8a811d33e451844b86fdc11c1a75b03de5084a9642490d5e9b49de50d51c93c765bb36388f1b3506a098a8a9d58f509d48e76477bdeb4ae2fdfe410c17cce011da703b47035fe2041fb82d82a158480fdc25d8e868209aec6f788e575635a7df9fa58a95919356d52a38e678a8268f3baa2af7a6efbe3af72e23eed354bd43472ef7c7a877842efbf3d9f08ef45cd562ca3ed4f903d7d4a571bdda531a00458387135e09d276729ef230297c289d9a0010d6db66c40b96d91929e685742946a4c05\n\n# tcId = 125\n# changing tag value of sequence\nmsg = 54657374\npadding = 30312f0d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = b72975609463db5cfa161a7f29ca78c1e8ec6083eb055bda72fa7245d71d565af2855f175ed29dbe881e2106f90a84f3abbf7d229db8cb7be2a7d5d29cddfb16468d9f142e07d2e5f4780ab52354504743ef0cb4e32d3cc1c2e612245324afe6604004518d8fad3ea2884104ebac9eaa95e14180e86c54cb801ba9b8510bee1e2df90fc49a005b1a26ade197c63de5f1cdf8ac8a84f6c67768c0adb54ae853388de71d1643e07d8bb083166efd077251cbcea5905fc035f01919bd143fa8d5b600cc9062d8b61eb86d118c", - "0ce9f98a3622f90084236124ed6a5024b0b7a61bf7641cbc7647008099decf493b56c59458a1a9dfa19c13ba96c0e050d3df512491\n\n# tcId = 126\n# changing tag value of sequence\nmsg = 54657374\npadding = 3031310d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 6afd7245b1521c942c1d38b8dc0b9a3bbe124833ee97de0b50ea9e537973e3d199376f1de834ec239318389e479a89c97b5df2bb08d3fc565c33903aab595f4005461c833bcbb5c04d90a21aa7c251e1342e2d8db768ca1c23ca473adc011f40eef9faeb783cca57657b6fc4200fd54694ad457db2942c8a9271b61e3cc1aea81f97052c3c4ce968b5c6b56710d5733615d960e29a636bb959a4fe3644c41f7cb85987b9112df1204f81c69d193f10b5ac2aa9d8f223c77641ade87567469c07b82918d1b44df6d047a0ed9291e489abd7050cf7ba1adb85cc5fd079cde65e8168c2480121ee7145bb094dc846517b6490250648f9b58398130a69dba9ceee10\n\n# tcId = 127\n# changing tag value of sequence\nmsg = 54657374\npadding = 3031320d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 582dd05a81d329fb7c4c1bcb5716eddd21334fd2f7763aba0de67eff550838dc7f4284ea5e4b94bfd0ea823aed8bac214e3c9adb0144c7ea34ad98cacb583e8f5e2ceecfaddda67031de748b3edea986dd13906ffe06695b7fbbdc455e350b64a459a8cb260ee87b0004433d5dfcab404da5bd9a116168d8453071dcbc13af9abdfd009704721e65df950984b564b957984108afbfcf1b6f14ff50425a16da4f1d043778a50b91ff340d94e04d9cf9e7e3b35a7482cd2096370b189844542b2976713466cac44b356581411db0bad42a5b0898d05e5b19d062e04d4d22e3170001d46499a20ad125779ae95d3477cf2ec3d39634ad787ce1ed0136bc432cc813\n\n# tcId = 128\n# changing tag value of sequence\nmsg = 54657374\npadding = 3031ff0d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 666430efff090b85acbd66acc054f29a8c05720e140a599c211fd699955c8857ff68dd8ebe56517a1d4b10ec5cc175b17488161d8de9c07c3263e5c3c73a9c649d85e8b4cca02035f6ed9b8ec80e0fb1e102a06ba60e30a2d2d2026b1efa283b6744c1f2a9b5bfb2aa054fc061626bb7c5d18cde129e1a188b62f440abb78ff3eec10943b60c168c2aebddec92191d04c2d06fe1af82e9f6551834f2c6142b7e81bbd4b4b501986056530602489d59a338694b08f56b83089c76ebbd0d2700ab2b1489cdf43913586b426b22574d20bfecfa1efb0a72b72d7374ba235c8708eb68feeefa9dfeb71c94bbf999b952b2bb5d6f47bf3404427f931360e94c8087d1\n\n# tcId = 129\n# dropping value of sequence\nmsg = 54657374\npadding = 3000\nresult = invalid\nsig = 4f1b6b6f44242c393d6047cc0c52f5f11e53ee6f67cda2ee9995ef5d85846e35bd501adda9e0e274147b3898b56d80a78127569ef977872f46bf6f996ee398a489843d51216b90dac9bf173ee966cde1903c072f3da2551b47930d0d4c8c74836e2027ae33a34056c40a9bb7d811956463dd01aaa305899130d180e61532a604910d0eb25cb14a6e46ebce99914f820e64ca685a33a2409b3df75796cee1e0ea4e907265d4478327cea93d2779d607854d3f327125e4fc641f6f87da99b9138afc90965dcd95f95e54729618cf0785a115a0e7d9534fdf4442646602b9cc305eb48457f692ed6740ce315ab8a6facfddc36077a8bcf0ebd2a4cc41565c71bee8\n\n# tcId = 130\n# dropping value of sequence\nmsg = 54657374\npadding = 302430000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 0ff1386eda5e2e274e20fc68a2f2e04e0b299b99ef4c3c043761992e669da54a51d9ee1c1626674ad35b95e7c9cdd72312616f461bd933bd281f3ed79b532b54a39f1ad84602edd80767ce0e89dafa6841fdc9c4b2339ad0a28aee8ac5859881e23b4ff38e2ffc9648489b5fb61f64c6201c0558858f01ad97ec7fd40965567d7aa98c03ac0b3615c2d17d1c7695df50e03c362506f2a7e0a3c95e1e5be6e382a86bc66c4f1fd4d0972af088a3fa7f9dd439ca4b44cdf40cc84370d087ac198af66e6a99415c3b4954cb6893d1cdef0f7329ba339e01fea4ee4096b94bda9c4d0c74351009678a723402524976dc01e70f81bce36c4d39ace0d12111733ec1bb\n\n# tcId = 131\n# using composition for sequence\nmsg = 54657374\npadding = 303530013030300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 1a183748037cc7201b866108573e83611953f72b96a56a33eb7052399614834d04daaf3892bcfb194aa1ca19df3a149720a0ea970fe9aae1bdd09c0548071ad50d806d8a6e40a8036fdc5803de61bdc14ac155d26dee61e1c23dde867c16f28cde28dc6a357010ed1714a0d8c6fbc5a1894d1dea159c3a8f4c5251233ac2cb1ee715d42b15360bd045a38be1fae6f5b5c5b5f8eb97cc537e18d71f506790b35e69faeb43b30a80ce6c291dd2ee4b0fdf6dd97dc197df9b125c59809cfec7045698ecb700cf99f3feb6099f7516dbbe17665ed515ab41e7154dab04e568e1fbd1b419d9d261ba35f05512f181f87d23143f0649ff5711cc4c66d4e7b702903fcb\n\n# tcId = 132\n# using composition for sequence\nmsg = 54657374\npadding = 30353011300106300c0960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 3134086af9ed8e92e0dd74f4a83807bf263b3bd5ca32fc975391091016dd632b980c1df91854508164088e61c8af8ab1cf2149a8e8b2fd7d223e67da5d524cd6dfd3052bd307c991761bd8047c2403fc84871430978a0099954bc4befa89c7281ae62b10972a06b5dc8f4cd6d7e1ba42d19b486392fc2f1658ac31fbe9f0bd6d7b7738ed9f7e7f51649989de4817c7e4a613e357e9d4d0cccd5fe365ca4505f99ecdee8b0f9ad3d76deae39de4a815493611128919e344ffef0776b917541aad6709487f4605f1aab878c3a62d881085cb1ff1cb55bd6436bbfc4347c0ebfdfdfc6482581bb1402bcb787e9c6fbd3c96d9dcd16245f1935279116223aaacd83a\n\n# tcId = 133\n# truncate sequence\nmsg = 54657374\npadding = 3030300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e\nresult = invalid\nsig = 39963c8d72f4b87502bddf258c441e3b7928c0e99f5f4c7c66e45db5cab0aff14102cc66de1555e6053e7285e53cbe1c4645883768d4e3e6bb18dd87eba514f1fce3177854b7f58adc573d2f14ba065f0cc36d62e62988a85ffc4b1ed6e7e7f3f5c18d185495f2ddb1fe32ac0dcf2404cdd3078ea5986e293e2cc28b36f4be1c654f8cf86d0b8fea5be318bceb08d62594255273b420ed9f6aafc9a639fa384259c636132d8297d92cd9bb4e8f2eb77785005683905409978b50b97685c39274299cb9da6098ad02a66971943f0e7c6df90622e39f2e8582770f252fce3f1659ad742e68dbe4dbc6562c065f82f5cf7c85f8967b9de92dacd2b05cc5d1ff0457\n\n# tcId = 134\n# truncate sequence\nmsg = 54657374\npadding = 30300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 10da62f2d21b08fa1f0a9c6be729d60939340de884ee9ddf15e37944517b9c1e692193029e3aee69bfe92fbdf91bb7018deaf025e75944952b379e85c35d079cbdc1da17f97d844c78b0f0849b7e81e284bda48f0e354daf99fe5ad35f3b782beae791966d2d6cc7d6ec262a86089c385fd56d1e8e21ad69b85d305b43a271fa410c65f2ea088941ece8fd98063d50d6bb07e50119f0c4cd9c27775bcd40803124c85fa7dc2c555bced956e131a473a0e3d357a8287c0aedc6bba5239d3c8e92421918b137c08c08b424040e26a559b8cdee5daca596e7506109515e822d3de3d826284140b935683483185f8ad5684b0ed648a2cbc9e549fc4b0294d7384684\n\n# tcId = 135\n# truncate sequence\nmsg = 54657374\npadding = 3030300c0609608648016503040201050420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 48751b8bf25b88354852664446a3133204880e38e9bb4e34ee79beef8b464f138c83a45ecab05ea954038ffe6a2fc2f90dfd76f2d2a6c3a2acd36f63c43569999d54aef4b9550fb2406344779d695c773b9605d189d42a825ee489e4b69d5f1538e4853132cb9fc97a56bd9180a0ec32c2fdf6beb855d62ef6b18ea45354d49bfa225145ca639e57e10248a3e947c84d35502f6b40a64c44f813aa34ce502edd4dea72ceb11d453e66d1175d9ccd5d925e087aba6e8e34ee641eb7e76cde594409969752061847630c7d7f8d87d3fd019ffdf5cb3fb0ae5c51a8e66b03fb1f6a8601c1cf79a3596c4ee9c66331e159779f7e7c78bf0462bbaee953c31ab6be6e\n\n# tcId = 136\n# truncate sequence\nmsg = 54657374\npadding = 3030300c0960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 17ce85f7b037ff2f5902e3df389932e95b3814547414bcfef491ca0aa9f6ad8eed3bff73f240352410bd67caa01c77994543af721d1c93beb57a6b5ab348ab51b75d75cc4b5addfab9479ec0f852984b81ad6eb0ac7005b24ddcc43723b37e24f509dce252e5cbc3dd5ba4fa43385f773b9d8a49ab07735db9a7aec91fcdef0fbff7a6c3dd8c8e7ca1710f90ac3ab1594a20e4421491cae9abce372b2bd703808363e26feef7ae93d40c298865de766a4de885f2e9efd2ad0b465d569893b15b194d2d8c9ef66b5557df770ea009d1520b87078b7339a53c84a3dd477c185c2f7e3e0370346df5951dce75d4b9e49092deaf020e0651d409d7ff17a5b5439286\n\n# tcId = 137\n# indefinite length\nmsg = 54657374\npadding = 3080300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250000\nresult = invalid\nsig = 299a19ce5d0226447644ee011e1633135feebb8765072c33c18c7786b93797c6ff66f182a698d291f50f60bb20d244721a3e1304e425e4caf5d893690fe555c45f2eef068fc829d313499c0e2301c127c032caafeecaba6e339a96b5654d8dd61dad1d31e594fb538042a7c14c2953ed843207d628cde26453241edea64", - "3a2a50eb6a9446ae1d266550f558a5c8caac34ab4e812a2afc751e0033a16a1bc09eac9118ac7bfd39440926da48867dd1baf0cafe46a2f3d588a01fedefb7e8b0fbb294d9beb78229dc2a1ee2b045517e25b2c521c0b6431dd490376b7e3874da096535ff2cbadcd7507d048c82e550b2da59cdf3435dd6c15d00b81072d0b0cdebb\n\n# tcId = 138\n# indefinite length\nmsg = 54657374\npadding = 303330800609608648016503040201050000000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 5047ce51895b102150c34f652bb0e6f683189dc2b4c5baf7787d01438f0b24a4fd3120f6fe958dea1aeb126ea1c93745fe8d0d0f9280d701a00bb4ba9eaf35a4694345b9d38f724f0dfec600e379477999ffad9122980ce111ad4492cb4349ade4aeb85f3de7e71be992a42240a78ec9355d3a2bdc44525a93d66a41cc18a6910f43e11a528d67237901a4196383f64fe6ce5f246ed02ee2b5f5ffa86bf16044a20540d2313384cca1317cf3d18bf9269f3b539b78a6c84cb4df1e9f2cdd4d9a9b53b11f329ff7db8248d23ff3dd53e805242ecb307bcf2cfe23d90de16c68cb3d33a5e461b3a6db28eb1ee25bae53076df190e6f9cd23a4880514264356f02d\n\n# tcId = 139\n# indefinite length with truncated delimiter\nmsg = 54657374\npadding = 3080300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e2500\nresult = invalid\nsig = 47e9373136f0034afd98de6e5519770af7ed2bfb4926ede7b6b774cce7d8df94fd56de9b5c8a2d0d3a23c2a49b171e62e9233bfdd88a48d66ef3b1007cf7425b46d5823b3e11a4527716f4cfa9bb4b9ee0fed76c00a6f5e1093ceb2117eee845b1daff24f8da60456d429a94d180ff40600e29088d1c181a60a233dda2c01fc3bd24f248f8d55d12c9b818ce608d8ef9194ec2379ead30addf1d88a4b9879f5217419753d036fe39e88cb0461b5856af8f2cf0b5e6e74ee8c0d052b851029ca7ad23c2eede49a3d916d5ca5a0190a92ff3b2f9cc4e41dac240620afa6efa358a9f1539abcb1073fd7a5fd18552437bc01cf5149506359e822cc405f5b474510a\n\n# tcId = 140\n# indefinite length with truncated delimiter\nmsg = 54657374\npadding = 3032308006096086480165030402010500000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 9de821d4fcecd5c3ec6ebe88582c61390c5d471724a7c9aad4d4eac2576aaf133d92e5c53e45d43bd707ad80a5d3bcff1d45599e048ea27899f27a873151392afbdf287aaeeb7020491c835050c7d7fa3a905eb529fe2760e55bcf994bdd25f4bbeaaa26653660802b4131cda45e1a51fda7f6ae42f38ff688c8be59a70b7ad805e30186177e094ea2ead3b1dac4c24a42accb112155abaa12fe452bac975485fd8a40a549b484fda7d078bc6e443ddcc0289aab9f99061b083676fb00492aaca801cae31578247487fbaed775a74fadac298be953e0a108533211088290b3ed8af563186a18976ccc04e24097e4642d0e2d5242a28ec13ba321df4b8705624b\n\n# tcId = 141\n# indefinite length with additional element\nmsg = 54657374\npadding = 3080300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e2505000000\nresult = invalid\nsig = 7c566a9339a3bff1a30d14b7ce5b4f2b1037907657106945a1159ec0daa86d687fc3db4b0f434bf6f5797f3870fc935f0aa1a67cafdd57b3e260a5ca95f17fe9e745a8aae891860e98600b835c0e18d119f41053612bfaffb9c780318d8628a965449b38a508bc2ed5e9ca208f44189ee72ccf5b28208eb27968fb5613bf070686d638e48d8f2dbd3b8ede717f350c41e1d97e9dd4d3a82bd0fa7ba4c49ddb50ebb1d522355f0307297e7d833e11125efd6d4201e6ed7fca9f0db1813c634af35d780769dc08738bfefe32fcef60014d5049ad739aaf7d2b885c2dbe97c726c269333d592d0c35d0a1b448b972346dcf849cbe370854ef33270e49b17c93ce7d\n\n# tcId = 142\n# indefinite length with additional element\nmsg = 54657374\npadding = 3035308006096086480165030402010500050000000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 92996c9f61dc7e216d111ad097ddbee4cc15ae29b37b944ecdb2976b440c5e94ab693d118d2c129f10b327c46ee8225099750df108ec8f412796dfe607c2f0535ef8a4a66394bd3d72e242e8182c3b1f9e8b2e29420aa6f1dc4c6268d982931f1ffd177293223de1e6c8bf65e1593876a6865ac228a898f475510ff938ca9f1568b0a90560cfc79dc4f05734013cc0aa65602aae3015dd83a7566937808b1e7d8d64fc0db46a47e35185ecdb9c086f4b857007ac3649a7e773b04dd8b6775adca21611b819e4b90f9315d4769771cfc674c41c054fe8493149eed9c84747b067e5efdf289a798368298aa12628a4ed8021c0827b0893c3458eae2f8104c12999\n\n# tcId = 143\n# indefinite length with truncated element\nmsg = 54657374\npadding = 3080300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25060811220000\nresult = invalid\nsig = 3abd11508528361765b79ca41cdf3a114305b9c481b11eb71b742694d5f9ba59f3010c066971df5b80f969fe1971449550031ed1348de43ce3bd9fba4d1b93e1f7d1e4e0f79e98466ad37cf0e5ce9fc01b7e08a9a540d458f546bf53fd6f2bc215366cdafb9572600c0b85e9f3bbe0dc287b6630d7fd10114ff692fe2799959f6777daa709fe7b42d70161cfdc86c03a9cc815e51febbce992104020da3f7abb3c800f4c8ad7f7bb56d0c82689a32764a3029210913a1f78ac54c50af92fbd5df563dba505235deabc0a6e6a39c4f8b211747151e3a677eb93026b513f0a121fbcf4b533afa41c13378634536173b1838fb3d436ffab58cedb48bf2562d59554\n\n# tcId = 144\n# indefinite length with truncated element\nmsg = 54657374\npadding = 30373080060960864801650304020105000608112200000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 70f8af936746d605b1527960344f07f63c2933c32f43cfb0509f4461b897bf09fc7c37e1828b4f63c55b9be11cc9642c2c1b6d44e388857207676e6914aef480ea49645296f5c0c01c63e1269ebc0c27544042ac036af2dbefa2eaea0be474d534e34995871c4efb9ae6f85b0f0c724ec191b3fe46554094a39d785441dda07713e51f6f9af8116689f65296e40ab21919c7f9a67c33be44dda122771c2fa1c5bce89e07dc739f671754a99ca273e256bd2a6c0812b9f3f3e76c2ff7ed972be9836a8a926cc680df79361dc94b948da882021ea1e1f5cb6848b2ddfa285c5daec97606c029c33c1fa312b409794c8e701a414f3cfe987b08f37b635d1c68ec8d\n\n# tcId = 145\n# indefinite length with garbage\nmsg = 54657374\npadding = 3080300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250000fe02beef\nresult = invalid\nsig = 53dea4ade112b2919cac494c1bb1bb9027ed7a70685451c21d3618ae862502bc052ed40a0000471085792a636ab95093b73f4eb4505ce6896fad47a27322a245cceb730dd53365659cb4467308bd001773b20cc7a850f48e78a0100eac31052857ca323dee8ae643241dcc33dbd2ac098aa5a6c87624483d7ff51b1d1d2f2409ab2d1d0aafd29002bff4640f8dd0d24375f7e0d5789bf71035ebab7b6ccd23cd0597103ff93882e58c0a5ae2899bbbac9df615331a9142c0d39a46d57a57c94ceaaddba6beb5ec6027b096ef3f8786d498db1baea9bf8e23996c8ccc17d6bd5b8f4a616ac31b0f5ea1181a092fe3e5b960d309497792eb5046c4ded68a460fc3\n\n# tcId = 146\n# indefinite length with garbage\nmsg = 54657374\npadding = 30373080060960864801650304020105000000fe02beef0420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 97b5788236de2f816fd21cc21cc39b04be38d51c39805d98c59ef4647523a5fba15f08c7a2076fd63b71282ba90d14656c696f312626a17db5d74e0ed8234704238ff0dcb7539a846adb85795d0ecb407457404df35fcc04d41ce92379c08896eef2cd5547158431e71ee1cdeea4e1e42e41abfa6fb13dce3bf2955f8ecda8bc4fc7e413a21988d189794eb5ceecc722203b9154bae7b14c3c6f7e51081d7898eaee4d4cc84665909ebbf31d7c3dfa216e854c305c7ea42e502af50d6045ca3baf89a836c7f11242aef492586d77b4e6d96bbb7f428bd38e583768fa67ce9622a8e0c8d77c6af211eef2e2bc1418141dcb8401f67b8321095d623e00a3d65bde\n\n# tcId = 147\n# indefinite length with nonempty EOC\nmsg = 54657374\npadding = 3080300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250002beef\nresult = invalid\nsig = 41ea411be09bb58c61d4ef960c124d68e9c2e594c9e2f460b1fc2259b20678418e2d0a7fb556464c3cbb0df01e1eb304c64a9815c992640679559fa3b2652553072575804fdee685121efdf4b49d8174ad1441c9a563ce0d02ee15e0e418ebe86aa1bc75cbb91bf910f8bd7dc1544319d0c1babfdd331fe6de6b6999c31890421a3803a99679f70b9b628c7ddff98f57cf2d4660feecf3deb76c35862e90a3dde6ad0a7e09d38485cbdc6c0a86e68bd913e09478f2bae177d51650f9dc630775f9b91d81c149a1e1db0367fa321488501493a715a8a70b406bfdec8b1a79843a63d6c5db1dcbcc7244f3576556081432930f152f466495612315479a5c2ab3ba\n\n# tcId = 148\n# indefinite length with nonempty EOC\nmsg = 54657374\npadding = 30353080060960864801650304020105000002beef0420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 4ad9f71529be0829b7a89c58aec8bd34e251f6df8e50aa5c51c57ed1611d72faf1cb114a8ff12dde0ab838583541a2abb38109f82e248ca8522cf7c4b385153badf5140bf84bccebf88f549aab8ce6fc438dad7ddc87eb2797cb8e7cf3d46e7bce4c853edcb7f0ca2e7dbe94444a3fe45d01818197ddcc20803d91793cfc34f34eb07bdae151fb987f164bb27b5cdb7c6867f2340ef14b900af51c335e68185997174534acced5d97db67835c03ec2bea14c3806810155a1ce916ebd80ec112515baf25f600ceababd9e06069176619b4c1bcfe7f9c151fcad91b018dd9c5ca6536ec999a7387519c42bf71", - "f3b088d915f5150d4b388349b310644a5dc834cf7\n\n# tcId = 149\n# prepend empty sequence\nmsg = 54657374\npadding = 30333000300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 72ae997b4a0bf2841fc14c64a0c44580607eda384aea73eaab998708b2b79b44815ceb2c907ee4c49c1f083574e3476fe1e3dcd2c581596af38ccff0676c2cb24df91535b22e49e8f0723238555c748675e80e4907261b943b167ece76e9d767b64585a1ff6054f09dd5e22dfc7f743d691704698e778b8c031df4464004f2ba03e642654051165c9bb7fc2a1c5ce3054a8579cfbc710bda13b7b2bb2f23e6eb7221fb51ef2404483e914075cc4a9f8eb91f247a600675a9411a6cdc516e5f8b9b4c9900086a3733ef932255235c4e5b4484f49bf9f5937d3d9e1d0ffad627ec0ff0aabe08a0b0197d430abe67929bc6bb1a96b907c34b2498bad0664b1eeda6\n\n# tcId = 150\n# prepend empty sequence\nmsg = 54657374\npadding = 3033300f3000060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 8d6ac89a1e6e7d09e463eff106d8817d50ac80e101df01329d64f6001c7b713ffb4a96159f4cafa5ffa0cea9bc6b1a25dcf6f01572666382e546c0da556da811b5fac121a200825964cc2e90e8147c846ed3a4cb4b25151e1c832e3fab42d140bcab9f17a247d1ef819db5e6decea280f44cb4db5ff24e56515317847b4849acb6e58c16beed80200b65305270859eef3c5bb2677dc318e5841092c21dde882a02b16071a5c951a7edab12e3df75f4c842bbc48f876eed02a7f3b878e13a213c18fb54bea46fe8e9e397817794ad24033188b1268c7ed4255376f7807f9491c6370a3eff6021861840ebeee2bf7dfc8bff45ec9b04db5099a586d44ca71d8876\n\n# tcId = 151\n# append empty sequence\nmsg = 54657374\npadding = 3033300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e253000\nresult = invalid\nsig = a613eb54af4df4410229cfd628f646ef26dfb7d610682d1187e9696d35fe5849cd9ec3d48f0b5b239628a08cebfe9c539c6828995beee9788f6aedfba31dae0c7b32221b4220cf5b0d53acf5d8de4d80cfdbd2366203a68b43a72bdfbfae12b96314fef915d1b6fcc645ca935385d23d66418d47d60fd4c7395afccac61c4a02df3b0edd3152c2e398556785e9c982f8bf55e2417e614ef694c17082e556b4a48ff9e7155021747b952011abb053dc09e487450cc7a8a02b7af672b776ea8561504b8b08e2e219919ba8cc7e24e605cd7ef856cf25f3d3391311415ee67dc369b52d676f425c773d72baf572b3f5829fc76925e3386cb770adaada942dc0a4ef\n\n# tcId = 152\n# append empty sequence\nmsg = 54657374\npadding = 3033300f0609608648016503040201050030000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 7104a754fb3341262f603e5695d700b35eee82e4ce5b5f82010f7b8d788cbe44230aa11289d739ab6478b7336772fe869eb5e702a6275a7c385b7488cafff3d7d8f6843229674a53bb6be30c84b3bf58c7591c7374fdfdf1f5fe8c948f7d472007e6c327d9f67f44622af44c55592946243275e5cae5f8ea8590d6efad7820a06181e8180cb2b9f5f0480fbb4e7ca32ae5265e019acc39b46d02e77e0f09426a2b211ca4420a970c805e61fde998d39b14a9ecddfc852efc8d52e669aa80405647330e284f87206e97d4db2e5f798f77a83043dcdbe76a9c876bbe7a14528bff82c35418a6fa6d93beda59bebf2ebc050adf7091df4a20b03ccf9cb335875868\n\n# tcId = 153\n# sequence of sequence\nmsg = 54657374\npadding = 30333031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 7c26f8b91b43be4d09cf5ee7490a27ce7bedad4575fff6980a07bcef5cf783eeb57aa1863ade6ede8dc95d07c1a3d0841652b357be04556a549fd8234ede8f5e5083a3d4af273e3023f610029a0b3cf85a8a2f276e4f57251e2a6338d2ca0305a685dcb240f36c966dd0da783176313ef7c93ae6d13008099f846438ad2c9dcc0ec9f8c343cb3377d5d14ad23bb25b11c19a5bc460592591697e92ea088160f87c0418b0903bca2c7567dc76da84da000233c391f93b05e9e8f01b78639bf95bb21f74b7fe1c00b64ebace8458d292bef3acdbff89276702c547171d8aebd56dc24f98d832feaea03cd16e977b99382040f2ecc1ac45885c4f07dfbf9fe61d35\n\n# tcId = 154\n# sequence of sequence\nmsg = 54657374\npadding = 3033300f300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 4a4b7998d9282ad4b458b6b041da104e98f8252b711bd07b7900d4acd3cbc7b1c90cf78eba718c87b9b6ad94fb35566560d6d6be59e801862505e908ef42c934d085ea82fe47de6ae3efbbe1dfcbaf99005ef250ed6fb74c09095a031a30fd33e52a7e7d0b73736f3f7516ee96a08f61e3df85e174650bae50b4dc632698f6e7f1efd2bbf10464153ed4dba71757d2fc1966d3c80e0c555d252d9e9dcdf59534175feb7db6d9d17f30c82678d6ea680876c2ed71447f127dc3c75852dc0fdf0e1c17fd1bc38bcd25501f07a5c0dfcfe295f0be27cfe18a5c596960407623097cdad148e5043433bd4567951ded89d0bdd8528497b8525212b8affbcc976a50f6\n\n# tcId = 155\n# truncated sequence\nmsg = 54657374\npadding = 300f300d06096086480165030402010500\nresult = invalid\nsig = 6fb0241a3961a03138b8473f8bd3ec202979a98f07d325909a2e85a52167fc379ab164c4a03986edba638abf1f8817c1cb89f297387f2d5938e707aaa53eee6bbd6a9a7fe8b70a31373e675f443c902dc1d0dfcdfe4b3ea83cd575bffb04071220f1094b9a3e7cd04fabd70c0b8761231abebd3f4eda11f74f83d77a1a44e28432d05da33998419e5cafba0e81960963209379a51fa9c5c27649ec89f8a528ef0a885f055edf3f66ab1d4baf07a405b87678ed6d170ab890ded0e8ee90ca1ec0e9f6e5ac247e01009d6eb7101da6eded84339ca191bd6194e3b6bd8b094da788c1ae068d8ce7322fc7e22189e6cea7655b1ae690da05a0aae46466800ddd6f26\n\n# tcId = 156\n# repeat element in sequence\nmsg = 54657374\npadding = 3053300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 9300a86600b600330a19b750ceedca9da6c96a99bbf65ab7dda6a5924d22a5fc9a2162e3375172fb38f62aa52a9fec71af1007ebdc5ce29b02163d9c55ead2141959eaea28f13c482be046d676770e02b71268d54d52839ddd929117e4857c9a6a17f92915d0acfef9bca2c40819ef58130eec1bd60359bb8f47ce67f0663086caf2281136b6076b20310203a9ac1b293c511a53e10ff880ffcb7184be60fad58586bc9a11fb51d7dcff71b401e42c1c7e92cacae3c50b62dfbea390c285c5feea91c288fb845401417fb01a09b3b6f0a1621df5c172632d40fb2936a7c2b62e989b848a06c098e69a333759d9ba2d270853f65daee1f7a81bdaf64af2347517\n\n# tcId = 157\n# removing oid\nmsg = 54657374\npadding = 3026300205000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 1d35c1575269b1ca4e071f2fa19ae31388f4cfbc7875449b2027984d2b363bb2c77c80819725e03ce9f3db97cf939b07895c55b93cfbb204a3b036dcb69470e9e99a5584195ac3dd24214758a82f354338e50c69f3a5de6cc0920b845550fcf104b397ab4b4add6659efd34f64b9b673e73662ef5fced6e7737147e41b48e36410eece6db65f5803b16d33c25cde6bcaeda8930e7635656d9174d179c74f5df33b08d5b90e866624180f0a03fc6a94a8c40731658a5d90a071c6f77e460c6ae1e6d6350869db442219bf3730cdf3e74ee102d6579fab4892e8e410f06bd4cc19d776c47ffe667071fa437c80452950df7e12d909e0d2f7494a8500e1bba86435\n\n# tcId = 158\n# lonely oid tag\nmsg = 54657374\npadding = 302730030605000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 5cf9db664d1baa241293db08ee7c8d4cb7cfd374d9c4e0a4fe3c81fee279be9f0452e6545a01ad3adace3d0843ccc26826d446c9bbcde6dfce30fcdcdfcae415b6771cce7f1d7505c07969a8abafb200828aff641d0c07cdc4a9621c6d0ac607f950ee0652c138b4b48f724a632c8345b2919abc24fce3d815f82b99026f258a6d2cae1fb767a3d20591aab866640b4fe821e010e19db0d696a513db246ba42603b302c64f17c0296414dbc14a41726254d333f1dfcf29f55fe22a576eb6bdc65c7d0204d22001e858abb48069f65f7c1d8e8e84365429c01c048d4319765de14c48e68a4f7c898598597677b294d71fa2b5278a0a9eb52bb627c118a5bf2163\n\n# tcId = 159\n# appending 0's to oid\nmsg = 54657374\npadding = 3033300f060b608648016503040201000005000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = a15fd53bf93274aba318e4f37dfabd414a47c27631f0c779bc8cc1223621730380817ccf1147a18b778481c64c48edad0815988e6942199d0b0599a1e33636f7e83e6addd65d87e53d734357b5d2111231cafd3a4e40845073ae50d4506f37d671b184246ce15a77f36f554607f016e7f7806e5099cb2a69ab4127c893f28cd8fb8989863e787151cdbdfc9e0be0b3235b1057a39e656ea482aae6d7c3aa08bd06fd38bc0f9b21240233624ba5c767b5f3f48c7fe365ea1552c5a9e64934869974ed2555ae81f9d5cd20f48579f238de1e150fdac4b321a05938638b81f0b7292a61e12528b077949f7ab3e6f8e1f78be81da0602fb30b47f569f7290cef3366\n\n# tcId = 160\n# prepending 0's to oid\nmsg = 54657374\npadding = 3033300f060b000060864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 8db939e248a2140b770acfdbe16ea6153d968ef51c56b024dd1ec56cd600ad79172a14f6253d0a9bdffe9ad10b6ebf57eab8528474fa96a06c9284e5fe08c48dad5520730cd182dcf1bac660ce3411c7cb68686b3b91c5a55b8627130f0e31cf340298117b3a0b358a42e9deaba700f8d2dbc934236cf81c0c4d15017602e82545e1eaf9", - "d31e4e8ee51d35054f3b05b7a7cd121854a0661ca19706ae95cdb0582cde723e389d58579d02c679f8d287a2d0ea51f442df0641682458ac6590b3df77230273eb779ae4b827c09075c7163b993eae72ec0596c2adafc8e20201e21eda1f4a13c27dd9ca7b3bdae47707b362912979357aa587ea2d86c9c2c2587ac7\n\n# tcId = 161\n# appending unused 0's to oid\nmsg = 54657374\npadding = 3033300f0609608648016503040201000005000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 0c985f857ac4219bbf98f767f42c7e0ba886889a0a7612a3e7d7c8bad581250aa7ec8a71567490d0c509a6b927b8ad714107e7248ecd5f1ead25828707072c87913e7cb765fce62d175c4335d09d764bc5322648e53a73eea7f55371a9a73a5283500e0d1bea254d217fcccf917d5e0f28b987e9a16d11361dde37d699edc524714122333d897279eefd79274c095c2d6c9683673318e7f3536296c6be23837d69e7222683004d7e52b017e61a27c5ff3c8bd4ccd8622a52de0d24baaff3c43116e4f043ab30cf8549dcccab4905f458ab7761792e7655c6a66eba7668e4b731c62ecfabefbc31a1cc8b3e8f1a69cdf9c8f7825ef266d9c7e34710f6af936670\n\n# tcId = 162\n# appending null value to oid\nmsg = 54657374\npadding = 3033300f060b608648016503040201050005000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 9957846928b38e0fb520a2786df5307373a096bdee5c5605500791321564ab48283a682cac388bebab9212a6429f9e03519f4f830719df9b313d62f2c46b78eb936b3ad13f3e6ce3429181678359ef6392e68bab0aaaf925721c6f991d989fe1a6edac5be9faad908b0ffb9b0b0b5e32cb6080bc9007a5da47fee8e343803bcccd4352f284df0e418bf6c8317b6ffcd7b4d9e82a911d654f0344b28f39f55ba9f1955d7976ca153059d5de7bad54e21d49bcddf8051a53e4ae496759504eda1ea3ca3bca7f6d47821440850bf44b2ac43d4afc1620b150b77f288af03b41c4d32977f726a91c80cb5c37177bddcd5fc5e206c4284537d8eb740f3285ef1a62de\n\n# tcId = 163\n# truncated length of oid\nmsg = 54657374\npadding = 30283004068105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 2d99760b2853ce20a37f51045006ed11d83b250d54da4122e200179a564a296292479116406d69b858cf15b8575bfe9df9832e484ca8fe4f0a24bf62aa350194ed642c68bb074e70790d7e18209b23dbdef6756f037a3391e6bf841f7b6dc763547565fee7e9416e62504df61cbc00cc2ba5907261e4e39bf9337e7a15594732f08ce136f37752a585e286c001424351f30a9bd585e3c2e2d99a6c91f3ff3081194b24f6bed3864b36b14d1ff3a05b584e06a994df9dceda839ac788d08d608009681db0aa23931d8f4a3aa1b1f93b6851a7899723e858eedeae4d25394bb7954bdffb975a3a1e4d46339a0e25f8e85958b006cc5f0d5b60c9fad1a829e81342\n\n# tcId = 164\n# Replacing oid with NULL\nmsg = 54657374\npadding = 30283004050005000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 3e0270e701eebc757862ec646322ab99511bd27d1351bbc3ab0584e218dbed9952a9074ebb7c5fb8f846a0f5d90dc1040e2c45914c86ae0b722f1fb95f7621b986136d7656a2a4300df494c0235166e51e3c9e9fb98bfb4604d4838adecd5c55300332ae0e141eebb328524f1fd95adfcb9ff7fabd203e89775f94a2e84ecc5efc0d9626920ca8a13154dd0e97f2527d6d518e6d460299cca0db870b0834d5b99e464760c390768e97c091708887244833117afa89baea5c1641b88d45bb9d711bdbd559af73bbc8eb91ef377a0140cd639fb7e8024dd3c48ddad6e37e31ed0a3fbc47a6c28b5fa3df0f38a912a4fa2895c2e25f0cab70bc5e660f725fe22da2\n\n# tcId = 165\n# changing tag value of oid\nmsg = 54657374\npadding = 3031300d040960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = a781bb3225276cce1858b9f9316f6dc40abdabda8119931faddc5a871b5ae9c7c68fb1151d9cf477a66e4a13a6c3f114087bbbf219beb524e308a91fa88411d450053605f9f00bf28a146c10b825ac3205174ec57675035c8cc2c9f411fa1df596d1e33a7da0afce271c6b456c665c430cb619c971d60754afcbab103ca02aae079b3803492109ce37c800051ead6d47a4e0c30b8cc147c66d5eac20399249af4082e70c7d5556d2b0d46508e2e1fb805b6ded365c2f0d20f33315a8d49f62896ade6e0ac9187e186a73e5146cf8da9821c2e5fc5ad4ff0b28347322c09da2dbb196120762093ce33fdb53d8a9579c13fef218a62a834d5fabf53e1ca8a751b6\n\n# tcId = 166\n# changing tag value of oid\nmsg = 54657374\npadding = 3031300d050960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 5032da548bf0168a4b3b3f99c144e3e13ce14b7d539e397f37847ffa8db34a0dfc0d73d30e6e3f2a23f0ac92bc5643af1adaddf9dea73c688ea98364c1e610835b62f1ea602589fd44a8a2cc73b00cebc75c212228b508634137c1eed7a942c18bc6ed4bd0ffd39961f54bd4455155c08a304c2e05d78950e42e92275b2f02df29ec2b2523bf97511a0ea3126c1012ce9683e175a45f7ee24a721707b7b7534ba8441633faf9953cf120dd6a13c8d88cce5e0b374ad2a3366f1e96f823128bfe6b830345e94d611e1d923620a57db4ae51e5d17b5d8a0eb4acea8377cac9b35553b7464e40190f40cfabef9bfd393d0f87e6e5bb08775d9d4768e8f2f0cc4a24\n\n# tcId = 167\n# changing tag value of oid\nmsg = 54657374\npadding = 3031300d070960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 489a6107f0052ef49f97222aa666c8025f2a30eb4bda5f47c888d256dc742094b2b03aea0b087d3f27e6df02fda958780626512441910fb83a7e4412a3aaac388933798922f6a4dbd48b851680d1f3f84e39fd30716921f99b87945001d26955ad33ff1047b5771869a6f1519906e461a7a50d8fd08d67a9f9fc272699e7cbc30a12aa8601fbab4884878a371b3c1b00054e9e585df1e2a084ff3f6a3be5f3e32cc6295939c1cdcd9b3aba7e58ec73dedf0caf5d3f5618c6909435823140b29635ccc13f658f1339fb2a3b21e1919be181c15edaf1cb6feb142464e6eb4dd18b9633f55fcf370b6c0643d6710b875df63a6220ce340a97987e577aad0fab4eeb\n\n# tcId = 168\n# changing tag value of oid\nmsg = 54657374\npadding = 3031300d080960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 41858f3edb8f7fde81575c399fd90c01162e6017d0c03b5c68167fcb668790d054b40d4d2438daa0411034ddbea901ab1924248185dfee64d5944486530fb407cf967d171110ba8acf00d1dfcc6c7a330f5f828fea17a9168e083f8e118857d29baa32351dd284a2efa0672ccc3d0e917818663cdda0e5dac638ae150c308b8737a50cc9f17a595800ae925930319cfbff91c02535d3d35d3256591094a38b3dd10af4f51c2eaee0f8bce27aff7819e22a2191019e419f4e45fba1272d104e0c278654ff6a21b9506ea4317832e7767f46d97c64e0041c767ac1ef88f3ded74fca09bcba82b519fa7716a9f7c4a2b78931f6805b4f914f6e6bd0a3adbde2a88f\n\n# tcId = 169\n# changing tag value of oid\nmsg = 54657374\npadding = 3031300dff0960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = b1771079fca7ad8ba3698a9cdf7bb5309d55ec40500fc83424f1469c9fb77ed08082b5ad1e66890b51465763d1deeadecfaf9c8efaabadae7f7fec17589271ac920cfd1cb32135fca21ead942ba15f09a38414a796f67a5cb29f877caa6ff8e1c71755fedc58485dd9d4d62455c7a8b2ca2d1906e8045e60f681c39a0a162dfd63a9fdab5954352515a926324dfe252aa1a1e576b4dab1588b08344aa40f406f6352317055a8feb9292b9611c90d417b0bd42fa7e4a4b82c63885423283ae4b2467fba84c34c391339a5a3154d70d9543401cd260e9db236b1f96e705fd9704fe557a53397ff99d74d9d97847247e15ed410aecc0f74bd7bdebded30e34d3412\n\n# tcId = 170\n# dropping value of oid\nmsg = 54657374\npadding = 30283004060005000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 9464a738ad70b16f8621a806e95d4d2cb1866383dd6c0d61ee85bda1ac8b56c3833373257daff4d360b1c366c10938929a8ca0819ff929311346501c67aac447500b2fe5b812d7cbf93db5e5631cbff3c498461fb446eb0f25c881043b2339b13c373012d7546b9b194d45b9aff2283d7074f6119420bb6442af9116236b91ef37f5abca8aa9eab2b0ebd44d3bd302ab51a67e1d9433dedeb1bca87edce75d02ef149dc5784e1772c9ce846c17e4f7ccebbc908c46cd062e0e4bca76a033125a407919f7862a6ecef7f6bdc279fe65ab938be35858c98956c95c396b15d2a17c1c2ac996b5bf0fc345321fff7dfc44fa4b0b858db0f556de1d477a85a19f1856\n\n# tcId = 171\n# using composition for oid\nmsg = 54657374\npadding = 30353011260d0601600608864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 06d0a8d9247e6e39a8e09e7f8db128c23225d88e831068cb3187a6cf657d709710c129f688c3b1560448986e1f9e83a56e9053e7e7ec86f61c597d3713ba8326f7ac0098fb51a49ee64e306c249a09533f464a59f2e5ebb3fc85da8be6a60ad076e8091774cdce2742d5f9112d8089fa8e3071283e2bb7b6869f3c44d6dd9803ce6e467bcc8122d1e96832d05033f7ccdbd6bbd0666bbcf41ee1aa077454d0e136b725e7fe0057b2e5bca0d9a645cb50a67ea0b98e7c0c60a91c5b5098638a3027bba417ddf5ef968ab5d1695fe3c2b1fcc664624a783cb5ed2c6261e0627a26f351d8d2eb055098a2b8540791c2e763ef27086b1f7cee54837514790defed29\n\n# tcId = 172\n# modify first byte of oid\nmsg = 54657374\npadding = 3031300d060962864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = b06563b316ee2d9a41adc5a9974", - "8b373538f15a44c3c9227e46ec05f99bcb14f4316110b1d1a82709dfa57e6a81dff1f3f692d27a96ca51f44e7b9fac9d2d87eebadab0a2d4b8d90427af8797ec5819dd451787ea741023f2e208ebe8542dd95f4b24cd86937bba642ce66851a782588fb2bb9e2d8fc9cbcd20b79f758537799740fde8e1a8ac4888abc363feb341758160f0d21498eb754e5189fc556448621a4dc095a47ba5b2759315beb9430ccab5deaee086cc87ade1cb243a8f4d9c63bc80f200dfdbfba9624e6084046e05dbbbb836ef5e4b0a06a8a26578faf21eb155cf0adca6b72817dac6c3c992a80c708137422b015196169bed668cbe78a9792\n\n# tcId = 173\n# modify last byte of oid\nmsg = 54657374\npadding = 3031300d060960864801650304028105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 8848be6a99395116fcb45143dabbf7f8a95b800c269af5a986430190d9834502a37839afb083b66a96713159ec17e66cdee5e4110d0f9c9c17697f38af177b93b17c0fead88ff2dc53a0b5c502f96c4f3d402c623dd81408b06426bf6ff7d602ccc8eb21db91c6c0d614d108703ed32026de99e1a5c411edd7c6a66976faa57cf022a34111d791f0e469080c7eeb84999e0e9040def04df707fcc937095993f1a8bfa889c45127feb9de274bbf08a805d32f4830b4c5078b65a9340bcb9b74b9368c02af63d2b3481da5f57eda94ac2e5255d3b72bd1a19e45edcab46a119736d7e2508111a0838d1e6fd5bba4eb67ef697976f3cce044d29c6d8d76c2d92e1d\n\n# tcId = 174\n# truncate oid\nmsg = 54657374\npadding = 3030300c0608608648016503040205000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 0baac664f223ae40e336ad610b804b5997397b46a4a2905de1287481aa43a5bf059271b6a3ec648faec7345823aacf1bcbf09189b9dd349bfdaa979df8fa78fb199fb7c69fe824f83f83d566ff49e2ea28c704de66f187e3a42e90663423bdd0c8b67dad4e92cbba14a1ccc1810a43d116347ee7ec21ff9a8324a4c110e661092426769a443627ddaf25ea4d144427993a2e82e0b15f20936dfc2405da8ab5a6232b9552f175331e220337f22008033910dde7bdfe87b2f7f3b4847e665da5e03dbdb866b05d92c5ba490bf5a75903aaff4f657bf734d284081f52d81e6bfb040dfd6811bae2b73831ca3709b6044134200c700f2946f234f946a69886be2bb3\n\n# tcId = 175\n# truncate oid\nmsg = 54657374\npadding = 3030300c0608864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 2394109f99286c6d9cf82b46d1015a086f826e3725998819ef5e1d99e504df76a7dca903360567cc58d6bc327e90d7555d646f42f7c452777071b3e6be8ef1a97c0b33fa50709806d83fb3b8acf656067050708ee080af5a85aa2ca3f871324759d06d9a019b8314c66c15cb0c314d807026515d46e2163a19e89a7808af30a71acea51f92dc5e39d237eabdcfd46abe7cb8af5a47bd352cd5b1d0dda6fbc6fa5dd19b3051ad13ebe75462080bb3b7f23b013085e6f6010819494b5b303c279c2cafd1595831daa558624ef42a46a4621b6374cdb2113ec5d8e8a3661e19814b60b5394d9305c7d02073a7d930ba9bd912cf72efac5feabb8e69f34b74ef7775\n\n# tcId = 176\n# wrong oid\nmsg = 54657374\npadding = 3032300e060a3262306530333032316105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 3d0632482138f5b9525dc60a459624d40d8c0187264cf1e076d7490295c59aedb5cf68fdf0d7668a94d3d585cee39ca6a05c0a2817b2f5ddb0ab52385dac4e1845378a113d43b936739b21335261aa4b96727ba086c75f88f600b4375d7cf796e62bbcd8d8d59f18fad4972c3638367de39d36f3e1ec4672fbac6e33246263feb65f2a014163ff1329fa3b7a97ac1b07d71059d23f631ed4798b05dae25204c0e4b29101e2828b972c63d11de274781e8882ec8ac5e1f5284dad188de1bf62ad234d56ade827eaf9c7378447da3791e4b49fd2559f8e37002171152d530da5b13342e3a9c7f45552c9208e83205271a767ff3862b5090db5971fc0cc8ee08a17\n\n# tcId = 177\n# wrong oid\nmsg = 54657374\npadding = 303a3016061236303836343830313635303330343032303105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 3ae4a98262c515ec4610a836597409747dc21f91ec5380cd949925205cfe42026f6603b73c1d38ca6580a67b7ee11c4bd85bd2b610c7fd2809bc63b23b98b151c0c9298793fb5e13dae893713adc8761d6e98389d918853dd2b7799e32eb3bf9d97f1805bb0d59efa7978f5bb7d3432797c851c4cf4fe6a3c54cadafdc770ccc012c0e80750e339007747a7711b0f2229fcdf3c53b48cabbdd61ae6de1bb7a50b03052ceb1cfab6e80931fcb5d8faa4b37ee3f7875298d64b7f55cc766a11ada020a6a198f92c2077418b0eccb4f432e35b31952a53213b0f3dace6349c6d96d3061d9168635864ca3b95b480a179cf90d1bdb318147813b9cc4d61caf80b963\n\n# tcId = 178\n# longer oid\nmsg = 54657374\npadding = 303c30180614363038363438303136353033303430323031303105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 4a5ca8f9c21990190bcd35e09815b509521a9c421f2eed985c90bc6e5177d6bd452f89f3f035911d23b01de756b4a65cdf8170e5f809cc0d2973bba249e6bd495e334aef2bc8951d46b55dd669a360a9cf1601f088049ea40ee30bd37eb513d0e06c6b01840bb3220d2d427670faeffdbf5e69c4647abeb29e7dfe6fdcbe78794685fd538df7dc32f08307a5460523578011e05db78a3468cd022b1b164dace85bf2b0dd26c1947a98f519efd8dc86cd8308abedec30ec2a25c293b7fa9bdb0430c99717e6cde1249fbe44252299257a3e4a51dba86961707b3f62281da804929698cf04e471b9fc0cf36b7472c66e74f3632a74c8b1d70e0f4492671a38b9c0\n\n# tcId = 179\n# oid with modified node\nmsg = 54657374\npadding = 303a3016061236303836343830313635303330343032313105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 5a75946d283b9a97c0a8f3329869bcb0bf69944e594935238b02ed32586f0f4485fe5c2fb3d7aa03843d8b34468e8d268d1a089362e96b0fb2ed670fa7d971abb3e34172262406269d94149603d7a728d32161e1cb3b77d932e6857047836e2d13f9e51b6938c14f450aa30868cb966eba324e72026562fd0a90d2709796ea089a5ed72703ca1a86606f299ab1b150166b4fcbfbaa97ea2102608a67bf9a282adb96dc1880a93020ba83d03d5388851e35c43b505fe563b087606bf6502e0e7d046d960d0e3881ab5a1b76a23df3b0816e314bbc66f216a76bf123e2631affd3bce91160a39dd39523cf06f9f62fa6f22cf39aaf5efe7fb38742291cc1bc732b\n\n# tcId = 180\n# oid with modified node\nmsg = 54657374\npadding = 3042301e061a363038363438303136353033303430323838383038303830303105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 7d93fbf46c22edd6296dee68a2e0ba67ea48c05e2cfdb5c08f5a6d2651e8c8fb40ef9056194a8e7e2d04274e93a5c166b1bbafc90aff1ce5b753169329a98a29f7a6ae12a55fc5f06cd11dab0d3fde97393b6d6606145075e16e6c1afdd826814e2a185fa88fa5798a185a78deed1c5ec8e5d5f02fb9e0c2e27d2fc809a615bd3e0c665a750d52227cfcb23732ebe646c1f16ec295bd6806e9e68cb34292413c7d41adaca17ffed4439f2bc50570a2de3e95be3cd20eaee46d5f93fe933961ddbf57a92958e2c7386e1547ed00ac9da5b3a5a263c68c145144dd653d80ecc4af81aae1f5f7052d24dab5ed098e2e42aadca0f4e23d34b77225d01ad0a3d466a3\n\n# tcId = 181\n# large integer in oid\nmsg = 54657374\npadding = 304c3028062436303836343830313635303330343032383238303830383038303830383038303830303105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 1a7f1394c001ca2901a0ac44d334cf48e7254f1ea5acf2833cf9f9e409a0194f6d196f915e885b1b15458f42089f44f2e26b9c6ece6f770947519485c8dcc31b4ab910ee6b83b8f906685e38b23c9e250495d5b754f6ca845d1860d5a4f6906c50d05f09dac23956ac2684909017454901681b50c3a55a990643e7df7b940ef27b901755b14730e5f534789127be7c15e0fc68d7f043ced9d515d3ba592f62c59272db977b31b509ba6f738a7b8484c3eb8878f178b18c56675dc349e72c5a29bea0ed00aa2705d3699ccd90cc285f430212693a04e02b510607681e70f1f9aa206120d085964278e6c108b5699d73c2d56273021107b7b9d71a339d466911b2\n\n# tcId = 182\n# oid with invalid node\nmsg = 54657374\npadding = 303d3019061536303836343830313635303330343032303165303305000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 5848e40bd96dfab48d5885e90ea3eb2e89209577cc36cead08328313a65b75436e88d4a8aa5be55667544ae77193e0813ecb6469b8d6bd028e3b5a3821bad3816921c6ad27271812ac6bef72292debbfd64f123d7799fd36e4d27ce557df21e06cee4a5198eb22d70e0ab86f4490a382a790ce341a50a006573f5be9c1c067b42d9998e867fb1c03ff54ca1d3688e887ef2b445ca69c0d79053b9de5580dab688eee42e65f1aaaf89cc2003e9402f7afc21350c912c70a7585ec76bd6fb302a9d5d211723c123a4cd64cb7fca0cb877b235c0fb362cd092760581e065ebee1a18e0109f22cf6b7bc7ef728c092f871dca0d21fe54e2778b836869ffcc804cc98\n\n# tcId = 183\n# oid with invalid node\nmsg = 54657374\npadding = 3032300e060a6080864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = a38dcc4e8070333703ce26a8b1eaa28d242bd5ff4854fad67959caae66db5e6654aaabf81eaf31441b8c5e7419a3ea5b04efdea91fd1910b5e5c6f02ff77b7cf42b2efc55b03407363069b8dd031c56d6d0ac54838760d7ecf9f3dc03828b27a73b827f394700558f160c196503855c255332efea838098e637cd1c7eea9e687fc552b5422a62f6c6b49fb16ad56509dca5a9148ed9883f1d76453f8d607d9fdb7589f4b07eecdecca950e58ccfb9e7784db9592b6406691a413caef5", - "e994ca06f21fe61f0986644be041878429d721e403ba6ad8dd8629eb78cf4fcac5cc42ec03d51ab64c051cba22b5cd4b160aaef28646b5776a19605cbed694e0d6310c5\n\n# tcId = 184\n# appending 0's to null\nmsg = 54657374\npadding = 3033300f0609608648016503040201050200000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 202c2fa04697b4c4f5b9889e67c90e597c403fc7b97bf43f3b7fd9bf648bc13db56f02aa517cc5b8b79ff90529528304c877a081a634de4007cafd341cdc19152f5d117a422b5e2df3f4368f0aeaeba2e242823422e3a3e896474edbc636b491baf44e032d5f671f45f599761530b18efa0300d56f0f141b22f0ba9a8187dc771b1575ddac950948cbc7d043c1686e4ae22d093ce4650a99d88752a2748285e935d46ea3a69e84338e1afd57fadc2fabc1dded35706759af7ff32b9f75664f50ffe23700dc46eadece6c5ce271208326f9342e7a63c852463a156edfca011df3a1889ce94fe8be66b125c80540de3aade0dc8bc1baa3f33a892cdd6099560562\n\n# tcId = 185\n# appending null value to null\nmsg = 54657374\npadding = 3033300f0609608648016503040201050205000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 49a336a5a98444fb1617e4dbbec502ca47a888aa84ca700c5909da12a4ae44f8831d2e42fe711c5909533885837ef60be1f37acc7a9a2023d63f0f5252473568aca337f672983058c35df36c4880b17ad15b5e2c1b289ca30e9af9566b5844a30685d59430f4f399188a22fbdd9a892415a7c169cedb52ff274b5eeb25a0f1f33e327a077a98342ace7227710a3db891f579315cf772dfaa142612f5bdb612fc31d940cbe338e6fbdee76ee31fb6471215f176d2f3c884bdb5f55444adf0fa6ad4015b25f494fbdb5a2bd7622b2b9f77b84c7e37e5df8ee553db37cd07e1f0c8003184e3f6404efe27341f41ee9c44f5acb09606ea686fd79108c9d6970ff80a\n\n# tcId = 186\n# truncated length of null\nmsg = 54657374\npadding = 3031300d060960864801650304020105810420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = ae3857a0e8604a5e8bf4e70aa110a9973da8d78853525b265e9189e7a495ddd200c9773c2b733a50f2e748224966ea27c2b87d9d15355a9b65ad02cd04539cf92f257030ba50e63269c5586a6103ca8abbc3c30fa9d232737d42af86a598ce4c8c591c70c3af322a29397a17c7dea43fb7354f8bad1c14e63b9e84909dec485e17e4331921d091bfe604d5aaf14b014ccec2ef23ba477cd8cda620d1c44f5d9c2e67f96f0a9920ea866cba0661f75a687e4d08e731a6e7bc52a79e08210bb03a33ff72e2b791c3baaf760dab4abe08c8d2f6775b03a3e7024cad124b5bc77312777bf24633683cfd033b459ca0115503a886c76e0af975f93a553616f3636154\n\n# tcId = 187\n# changing tag value of null\nmsg = 54657374\npadding = 3031300d060960864801650304020103000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = b9965f3c8202794e341e140f1801c29966c67c758f01caf07c0433821f803f6f3bc932043a5c42d0d1a90c9687908c428c3bdce32b2756652862c647c4884af0ee00d55bddb5a56fb9c06ba0e29a3c4b61febe6eb09df43c607f8138d7d0ad2fd49398e69d6baf9764cae101a6933c430a9b45f981769257fe3e342f8835ae8a1129787069dc008dd40eb039cb0e8e1ce0965a98959b7e69001437567d0f336666cb6c8e5826b12bd5f195a18833428dbbcb1733642d129be808159eee346dae44e3f5468859c34af260d2bae45b92e04ec1b5ddaf950b774333c4b433c797ae1ad53f4d5d4508805d663920c2d9b78517dade0d3eb6fc17bfe08d0b2e314c97\n\n# tcId = 188\n# changing tag value of null\nmsg = 54657374\npadding = 3031300d060960864801650304020104000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 4421d6cdcacef33e31663941531d1253765b01cecc92c741fd5a4c254f088b0d95a478f2ac913f408862b107f82c09c11867e3f27e34a0c1ea72010224c199a942383f4f6205884751091c9f4b190fceb7eff09110fa0a1546a857b091b930326a1f774a0185332a57185df89196ad4f56a0f8394fd6a49a635ebde48bc8ff23c925f846100ada2c3bd40f7d1a92fc31c1327af4d40933de0ab0c4a94d0d47c4d53e956716ec96cffdf0669e81bfe9552df8dd72a687f670896d7279b4ea5c9bfc26e93cbe50449776ce78753738cc9de7ab7aa02130efda3599ca0377346ab3b71bc31d56a8eab581ed70967e9e05463e19ff372130c5a1d9c2217f0f5a3f58\n\n# tcId = 189\n# changing tag value of null\nmsg = 54657374\npadding = 3031300d060960864801650304020106000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = a71e400721490c8e2baae3b0c49e3c3af9bfb341db3626cb22d2137c5989081402e440cc7e0445a447e5371920a9637ea696a482c0ecbd8eb93a16ab1ba991359e5bea0f6ce0c0ecf927bf8dbb543e307dc17840a0ecc17eeb23caae349e1f12f95abe10fb85695da43e8688855bbbfa842b4a73543fa61ea8076ca3a63505430e7723b39f4859e1cee10e558f2e54a671ee2f040f1eac7d5464bb8482dae2690bed114a6e56f4816e7413ad6ad05cc803446f65c5bdb596a6eb63491709789ddefdb51d461abc777a6a0306dd8a83a6a7792c42559fbf426fa881e55d45a4d346b302efba670443570bda58b9963abec39e6e49d2a17ce572c16446564ae339\n\n# tcId = 190\n# changing tag value of null\nmsg = 54657374\npadding = 3031300d060960864801650304020107000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 0bfda5d7880717ef40cce0a8437efa8404ac1ead0472a7d4cf54934f8f3432db4db9ed4c8d98cb606229902b383112dfd4fbef54a28e7cac91338b1f591e2de4addc08943596058132b3a75442f44ad4d18b663b1c1be67c00aaab52e92d87759dbd89b386666dbb4b67429267d25c1ec12ce5cf03e4438dedcdd591c442459eeb86d6e74a937bd7c470ef90dcf8cfd497911413c4a817e7dbf826858807059f8426710ac582ca9d7c657d22a07289fc6c1bb37bcbe27ac755dfc50a54232c16eadf3b1694827ce435aca9061d21699029edbcbe05524d6bb35a866c78122f06f45b8a3615ff38c9bad24b9127287e5c46b73b7435a7bec837c4336f61e9fd01\n\n# tcId = 191\n# changing tag value of null\nmsg = 54657374\npadding = 3031300d0609608648016503040201ff000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 05f2928db82cd2f734f233d59897fe873f57714e5f5abf5132b33d924038a9d0616b62aa25b9353e69dfa17528945043da1d38c96bb6161a34c2529bb32d83fad6b65c0d186105afd1f27f92626860ecf18c7c865a02c3bc16a89c38fa9449d6e23cd389b6083e245b894c52507d07adc123c131998e8dd768b72c08a94bb709ba773d0216c9ffaeff15755ce005b8dfb03d1edbe75780cf3c493767d00b679facf4b188394e3218118d39bac152516dc36c4cc5f88ea9066bf3252670a5714fd5021688ac6b94491012666f0a41463ab265ed62939320a7e3c91298c82ab31f84a3afc62fef61ccb03c011c0317a93728b896f6f8da1ff4e6a04df5cdc14097\n\n# tcId = 192\n# composed null\nmsg = 54657374\npadding = 3037301306096086480165030402012580aa00bb0000000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 1b02fa06a93da1fe5b74c877eba5629fa9469b01e9919016717eb8cd627f05fcbedcbe2fee00cbf2c954fa7f9d6f001312026b96209fe551b736a4c25e9203be7a706ffde8df35dc7db4add2ae9aa3ce76bc055b5fcdb057139d521fd94a241b2571fd8b73d7e07502819291b226f560b01c0aee7210bca486f623b3f7f84b098bc7bfe9a1a46ff2b6d114373ef988cbcf8d87b3eb7b8374b13b85650b9b894183e589d1ae1646c144a3e6054f7387c548632870f14842683830ba1ab80789e3f8b3e65cf86684ef73cef5dada6a93b6dde8b836ffbb79703b39c3e7179055ebe2071d19a49a8b85af694d9d3cdc0a054073a579e054c76c74d851cc08a95a2c\n\n# tcId = 193\n# lonely digest tag\nmsg = 54657374\npadding = 3010300d0609608648016503040201050004\nresult = invalid\nsig = abddf6c8fceec1026b0fe6799db56b01e0b2eb066f9e5d0821f6a954462b71e1d22ea111f1b69bb86c1e4e77b6cf035573b9f6e0894ca4bc0990f9986ca209ee41bae1a48a764c5c464ca4e5de36c8fbc47dd8865775f9771ad6c6bb82f6b2802bd045c1f2d4a1845798b7dc16ff37866c90a613f1d019e53602fe2c99ec4650360ab69eccefaef07f9156f58a1f5f65fa00bcc2a544feceb70adc74e6710ea01e9ef4829a8165d7ce24647e6a8770eb8247bfa87de15ac560b6dcddcd112c24bf9c694090060bd9f0b5e50a59ff65c135f0bcc527c8793f4c84769b7461e9e2d755f99aa13b4c938f8fb7816e9d9f7f91159779b9d7749489b549aa263d8d92\n\n# tcId = 194\n# appending 0's to digest\nmsg = 54657374\npadding = 3033300d060960864801650304020105000422532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250000\nresult = invalid\nsig = 35446aacce869a91a157aefc5e3d4660a7de0272debbee1ff6253f74e38e8d54637cbba4412c0c211589a477eefd3dd0106cd878c46870cebba6e053a990f3341647736b00b5691d6b83dccb6684ee35063e2da6a6b1e8daeb5739d96291522d7c9fa54aa7d9208b1d73828c9a0f657ff39ebd09c709a8913b04a83c7b610fba815c222db8a2f00b089768cb4ae9ef93441c1463a43a6a691b407b4c1266e0ad4e146b0f8d06ccff215d48b513528f7cdb53a3be1be8031a48d092751e195b09a65b26d63795020c2a887eb4af5f002944b878962cf87a08c676946290164c667a3817fd8ad48e508d4a1e4811ff85b5844ce0af7937eb48fb99e8cf7e154c4e\n\n# tcId = 195\n# prepending 0's to digest\nmsg = 54657374\npadding = 3033300d0609608648016503040201050004220000532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = b0fec4f0f9b06a684c9816bc221f888860c1e5ceb40e67bd440bfb322c6026120b28af4905183d0ada4043b4f4a0df4710b20f37cc5ac9c5ad391e379f12784135cbab2cd7e3770fe1bc68fbf5e", - "0e07c4fa07a5597d5f5c3f682e57cbf047cc5d8de859e3e7f997fa91c4a16026f43bac22a7afebcf56c804f656ad510dd03e6c4cff8be628a9a3fcce0034105152ebdb148100203f17eb37b7165b03661e5526f4fe1bcefea270e74a2bd9afc7fc00e52c9256548f36db3486b7cdf6fa9bea4d558d592fc6ed7869b8a59ce26608d21328a0e5001c273c8d29e3350c9d69d3b4a57d5574f1b18686c66598ac6de82d50af4589d53f1c5fba9e103ec787283d3\n\n# tcId = 196\n# appending null value to digest\nmsg = 54657374\npadding = 3033300d060960864801650304020105000422532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250500\nresult = invalid\nsig = b21fb36d1ba5ac09f4bc9c9bb1c3b08ef4b5e39d5a13bb27de6d949022262723fc6f96e1d0f76bf95e1f90eca04fb20bc65262233f6335d8a0b8211f0e2481819607354700ede1ff85c8e53413685ac5d31db4fa5f807aaf6818b9531baf1555db3e062a3e74ad677e9f378bc6020a73673decc9f6176f4c2dcb02859932b7a7a9d12da602b668a14846eb8acd2abfa0952fe5ec78a67a8f6d751ba3b420464c10cdfde93b96847b9bd05504b1ca49121cc92db8f2b7a33fac17535fefe32028d0c1484f1aee86b4260b668d9dfba6cf27a7faf2bbe0df47267108a84bd5cf595f522f9a2ae52e4c4b7c9c08b39200683bd33043f14b562d37b910dd438f714f\n\n# tcId = 197\n# truncated length of digest\nmsg = 54657374\npadding = 3011300d060960864801650304020105000481\nresult = invalid\nsig = 1d582d82ca0b3db426ca8adf9465e46531e60d71b2cd7276f0d764e629a767e61171e1667a22c1a1404adf7e87b2617268c56e792d9f9653466666a09bc82d4c1c2c04fb9b8fd6c532f169196009598b6efc8feb2850f4ba8adb75d37705fe07bfc2e67356231f1845556ed8f3f8793f4c7e58572fe849ec0148a840e442968c1df6910152a5a4c0be18e3a7891ce2e16e53414366e8d92c1de75073818da1dde1c3c3f8f5c4d31d13da73bb507947e986915cbf3d9edf92a6bd17775eeadd9d5b363adaf1a33ccabd441267a476b314aeb86a91837b5c9a5d969001259fdc5a2b69982ca41405685379e758c255fcf35267dc2f1075ccb57ba0c339dacd7feb\n\n# tcId = 198\n# Replacing digest with NULL\nmsg = 54657374\npadding = 3011300d060960864801650304020105000500\nresult = invalid\nsig = 096a7f2148458f37e9c6589c25e4e90626468575849037e8f62534a01e08dbdb34332da17528bcd83683e1d05a6b159a8a629225e9067f20b0c7484bddf978178107128855f63a29c727d2a49ddfb650954e5c9131b98fd188858b595a2be7196921fa872ac945336a47224a4f572c85469ed34303bb23a5822b1fa87f5b5fa0a4bfbcd9927c32c32c349c0689600ab4f616f31dc19ba9b5e6f45ac64bdc8070863358949e10a46f2af51a071db4de3d7ce5a9b2d76ec66eae8d1e106edccf72d27159a113d888d2f3c73cbb738bd096fad53a7bd3ead255f928b7915b137152bda12b3365a1fb7f9c4f53cef8484b5bd59c5c34c692f6ad20e129651a7cab69\n\n# tcId = 199\n# changing tag value of digest\nmsg = 54657374\npadding = 3031300d060960864801650304020105000220532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 5ac9934544425ddb9678fcfd28245b7f5568eb1de108e7d3e99e2d3810ee261b877073d32ae8abce7279f2177d6b11f36234ae2d9d03e4fa51907677a950ca4c644e64399ceed4395b18dd89a152f62a16520ee8ef27867387b3082db40e6462baa7ae6148c9e3e7d069d00431dff74b38556b31f3622b79b3714bfcfb6c662c6e92b3332f7e029debfe21430ea04fbd7cf75e410d1be0712fb5f754a9610f24f34efef2bf4690a589d387001dc652226775fb81b726b3c036fdce3a52ec7131d1fcfbfc2d6bb8434699d9905d9d7992d7977ce0a599309040ff4cffbff2028c9d6ebe7d0f9de0d17876f2da3a497b2a36170618c82e3f169e0ea0708557f1bd\n\n# tcId = 200\n# changing tag value of digest\nmsg = 54657374\npadding = 3031300d060960864801650304020105000320532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 13731f7476ca8813b66d36cd6cdb93a48eb42742cca037b828774ff5971c173bd08e88542f2c39f53ae8700a56be54755b64e1e81a00097cad58ad21b2ebc59518ab6bc345db326572bc0b39572590c90b2b72894b33cb2fcc37fbe549405a7fc656dee567df49bcd93fc4d2c235e2d14c2107952de0e635ee93cfcd167d4dc5e3ea1dd0cf79973bc96cfe43a738be7e1304d4c1e318eb32612cf3d6784e1f842b8780dc5e3a8ec369eb8226ffdf9be69b54867f2461c810c74187d72cefec60a646c4a576d8ab977d4daea3422007454a306e5acbf3f7043d5d3bda70752e4979d1657918fbb863d4eb8eb58ba6f2a372636871b75af84e645a7f49e99eb300\n\n# tcId = 201\n# changing tag value of digest\nmsg = 54657374\npadding = 3031300d060960864801650304020105000520532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 0cbf884a755f8ea52d3da21e3e88fbcbe2562d35440d1fa0f8c3dbd4f27aabb5603e6d1b172af543c6739c8b644a4f438df55be7ad17a82c69a03d08c628c8fdbb7d1ff9202a7fb7bd7d4f4c400fbcaef8aa463f1e0ec72b1df8834e07cd4f465a97f7129fe9221ed3205043d2ea4597b857088fc27e95da84900e87ce9578d8bcb120b23096b1f143ced492cc966e2ef60ffe9055f5d225cad682c12fff248347f234713970565c532cc2302965bc69af16acaa3ac8b59b9f8698261a1a6074e3a3bc2a6e87dd01f2c0f13a628c134aaf65500681f1a002d921725b362d94c5dacaa8726c0a029749f9ebb699028b48e59d22dac2aa27ffdc35648a57c57f70\n\n# tcId = 202\n# changing tag value of digest\nmsg = 54657374\npadding = 3031300d060960864801650304020105000620532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 711f73de0bbe41e3296a1473121f47a735d093a06c9c7be63559987d98f5fc52c6dee6de2a3fa565e9dc6c75308652978350e5dc407560474ddefb45f8bdadc8dc89b5640aa8552117161d8da703b52948b08596b92dfb4d343320aff80af3507d11a27ca6d2db3e2f028cc1d53adde20ae164f602ee146bbadec7a22b36eaf08849e35425a88bc1d6c8f1434a82f31998f980579c287bef989607c0e09977c52932c9d1b1a7437a3c87d09d9ce521c59fc44c51a279d9d3c94c88405ad38c3122e2e993348360490e1698d4ab126b05066fbf764f259c69fbc7d875eb69a78bcdad95e3ff1eef50183791acec694449e6c944bf2bebc01e5f1cc62d60b83966\n\n# tcId = 203\n# changing tag value of digest\nmsg = 54657374\npadding = 3031300d06096086480165030402010500ff20532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 3e85dff099a3f6cef0b15f86f749cfd21c5ca4a6d7ecdfb075a9dfce9e11240599be07f5200431771763469e1d13eedb3914c2d991fc49f32769ceca68e3de4ca53c1fee5f27b54c05ccc69d4cf0ad3ba62202bf7f1c6fd5cfebc7a8ed29e489f6350372f439f606d0b1e879438463b400704ccc2a323acc70ac4f46a621f0dcb49dad6d72cc8f4225dcd9e228f0611e28847745d0f24514506a91ab2a85b4f8f0fd02850c37e2e923ec14c2099ba90b9cf72ced38180d94cbe313215e19dbe46923e2d573115443f3e98bdb96305dac90564c4e667cf3430d174cd077c5533ecbf3f8ba08e7ac56c0b03c4d2dd0caa9d13c968f6a4e968418e42ef4f52aaf77\n\n# tcId = 204\n# dropping value of digest\nmsg = 54657374\npadding = 3011300d060960864801650304020105000400\nresult = invalid\nsig = b9861f3d1a03cdd4f49e90947a21e5da9fc1281a816a9f5b520a7de27740504d43333f5facf65dec5bb06699c37aa1aa911bd4e8acd7aaeeb6dbe50e577731b4babd4587504821be0ec4798b14124e9adcdc2831d8822e7768302338953584147af1e323a9982ad01cc79f46e239c804b6c119a022e1850f4445d98dc27e83f808f33f8c0c81bbe16d5f04ff0128e34d03ff6a65260a7ee6e10dcd08d09d9db7912fbfebe0304b00135ab184e063a884992ccfa5d64953ae98f050c751817629fd5491eabaa52b0e52626bfd025c926dbdc25af5727d92bad2acc5ed59f5f597606c9752579c57ed0e015440ac194228323a71f708fb92d5cf36c841e8a07366\n\n# tcId = 205\n# using composition for digest\nmsg = 54657374\npadding = 3035300d060960864801650304020105002424040153041f2eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 8729c630297b010164e90d0e99fc65eaaaf2bbbdf309f20bb48037bbd40e59ebd8d6fb7e23911051731b5ba5a8423bb3d0ab44bcaea5eb03f56eb8f3ead1c3fd252197fea478fb4b9b9b4e0649503d4f45922ebb72a4cc1716f914b3e8dd8fb111c9300e946c0eae83a2e6c40093fd1f55c684e4c4b2b0f09ecf03ef71a01449eb0cc2c4a274cfdd55efee7ff136a28626eb86af9d88c25bd0ba012d8a0218d43bb02d9b6b1273d3d2414789aaa076da4dcbde9444a151fba9c25ce225876b63b09e17b16e0e115a7db6860afd08c48ad37aa64a54d8b0230314354f1c943fdcebc1607e66121fdb7390f131ba6bbf8f88375497505d7d3ba4dd9761d842e937\n\n# tcId = 206\n# modify first byte of digest\nmsg = 54657374\npadding = 3031300d060960864801650304020105000420512eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 6385c6d4dbca9ee08e1f525a8b7915831a732854c7b26cf42681bc90dd49078873025b62e1830ba193445e129fd419ee12cde859032eefc5758c6c12ffeed3ed049322609d2665b5e1eead21af5f354acf336629e62cfc4a740bf9a51fd66e6b72287ed5558261252f50dc925417c1e48a4552589a7099ab0a3371cdb1c209573f7f5ac9436d298fda9606f9582e8c873420e7c4edbf5ead17e3c93fa3209208b91728c208b3fd10b27045be1cfbf242c5d34cadda97608271326444ad35d309d47f4add6bfc5ad95710db6d65f82a06a04bd7c71e335c2b86cf6a466c311f7e735b8ff8c2912269c3b1f2007f7d1369a55440a5abd98a46a4389756f73782ef\n\n# tcId = 207\n# modify last byte of digest\nmsg = 54657374\npadding = 3031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345ea5\nresult = invalid\nsig = 1eff927cfa95030c95547b3f3403", - "636ed63fe85c99e21e64bdd8593f56119329fd7d75f876e13317aafe540b79964cdf62330cf98be66ee41ec92d7ab9ba7988e8bf6eba3dc95ffedffe09b382a9ff566f07c61c06944de3b68dca4c4a3b2076e778286b50c6ece0dc066c29dae7d824969fecc6d5f8bbc2731e875ed9780428d53591d2f2021aa7864baac55d276cbb14098e9af5869e18c29c89d8732503fcf8e65a384454785ed39dbc516eba130e2add655a8e7df260a668ff9214194681033fd8b57202fdf627270fe4f63a49fbaffbce1520562ce53c9ecef6da5e942ad06c8ce3e673524b84c19da4f071d9d0ef9e24d4c8b0dd64627ccae7468372bc\n\n# tcId = 208\n# truncate digest\nmsg = 54657374\npadding = 3030300d06096086480165030402010500041f532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e\nresult = invalid\nsig = ae443b008918b477cc8f80c54afc175ea0935ad53bbb2784fb1948ed4186f0374b760302dd2346c3797e79a080461c802c39cd72bfc9101b408ddf8ac4e449e2f2f0f03cc1fa5dd77e72becd52a36da64150edcd290df30fdff2a4701c7e923756eb4700184af4e06078517385f9f52d650a46eb94393b37761444fa1d3fc925579133c85e63b25a7a7d1587dc43fc500e54a70ead1cf872e47b33f34ce7971331007e5e74aafe18895f4e5b1faf925437af5dd7d5ac520eee778752130ecdba9d33a792e189e9c8d95770a4d5ecfd71647c99470604b269f14921b1fa50ba063b47bc6c490e9926e4065d5602555e51c9cf6669ee53b7cc7cd0da607478a5a0\n\n# tcId = 209\n# truncate digest\nmsg = 54657374\npadding = 3030300d06096086480165030402010500041f2eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 5189a516b2ff014f527ffde7cfd65cca11f0b907160ff901a51511d4b94317e86f3065600728ad0c43e68a6f1f7017708bb8dbbc84e388f43a9c83acb98eaa6b4532cc68c4c6a44f649989b5d254f89fec6de1fea45e3e5b83e562608a7867f0919a2320a120c871421eb164895ed4bae27d34227b1e8cfb600292d208cd15cd62068aff9d692ae8088c9c08a51202694faec5d6c78e995e5e013f931b8a6cdd726357d0d5c6e9a83dc634810fe383ea1a89adc42c2bc675f075e571ecd3fff8581a0df3f83b1959a5e64b5eb1cb9bfb5c4c4c17d47a24a2ab3da66ba62d54b74624555c19c56ffa94203cf78101d181ffeafe8e8fed9e0897b27a88419aa540\n\n# tcId = 210\n# wrong hash in padding\nmsg = 54657374\npadding = 3030300c06082a864886f70d020505000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 8b009088b814c2e2a306b4cfd72d87db4ca1ebf6ad5f37e7aa29777b77d93c005922168e3634be085c9e4b147194046e38b7d32fe6814652672cc6eb724742a0a22fae278a9953e665e7351281c42e98d4fca8237be482080b9fbc471b9854ee75ece636868c6b3270dfc7dbb32cfd2e28901ff6ac699dd74d8bf096bfe89c22c228522474df25d13e5b7c1148edd5df5fbc06fe165729418221c610a8fbac579955b8625eeaa8e00aea009b42b2456c9316c5c005688bc060e61bf302418740f0be9b5a30df845608a9008804e89d1a5233d34b6fa84c3698451e472fedd9f4aa6ffbc9f4491256df7181334ff181cd66dce7dc66ef9d3c511ae5e6e3c88083\n\n# tcId = 211\n# wrong hash in padding\nmsg = 54657374\npadding = 302d300906052b0e03021a05000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 4469b8e895fb4340328360414352059a4b701d2c21cc2125d91f5025b7b22ae7ba840123ef45ba9c8c27a8a34a74f010a4fdd6be9474ac270501bd96a602afb05df7becdcaefb29df9be5d090af6869a4311fe94b70bcc0c5633d69169ca038b2fcb2a4abe60c0b542b308527781d184d06966632d7404da5e3494d76bc72e9f87d006950e7a4388334f99e212d5f253c11fa8361179be7bc927d9437ed11b7685529e832162e41a72ba3106b9af7acf5fef70178fd83ce3598683ad61c27cd1d69b437dfdf93ac43a1876d594e0eb8523a0ef8f75ccf1ab079d4538bbb726d04f45ec864b04f57c18cd6984f1a3a08a7c3944c6946c3c3e090f9d833c5d3d81\n\n# tcId = 212\n# wrong hash in padding\nmsg = 54657374\npadding = 3031300d060960864801650304020205000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = 68a90a62da7b0ac09e26ca8786723164c0e6535e82f28839d12c08348aacccdf0218d3470290665e6d6fbb59cafda63c9e50d596442b02f4ec7b55753b13b82b217e32fc5f3818e3fee1a6b89855f5902dcdba3eccffddb7491317961af36dc74f5b6a4477f57aeb28d57658fcb8e77f8e223d2870b730d53ca1aadeafb389d3f934ba609689ce50bf82b08f31dc2578d7f076d26be5b267e87d2ca4df8d57c112831f45c46b9078c3ec13b01f0b5d67e82579243408e4eb29a154314cd5c68cad6b7198a02c522d87aad93e17aaf8fea49d38e39314c12c816e73d997c0fd10cb12d47aa7af0e82fa4b939f1209085c01a88f5cecd533901d5b1ab2866e753f\n\n# tcId = 213\n# wrong hash in padding\nmsg = 54657374\npadding = 3031300d060960864801650304020305000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = invalid\nsig = a1060a690b31b1b2feba5f0b8ede1c8f025da644da1f1d66a6cb218226ea6751a7f391ad063d80b63035cdb991e6a549d85c9f569f7677a40becf0326cb93297e23ed49dce7a5c1a4866d788aec24d23cf9c9cf15783ff5692a579db8f11b7e1ee8d28aea15f358b4d01e127dc438f5edf53346744594c3f946492a39aeaa17352a6791a52d4812637c8612323a50af3b7dd4216100020df91b653e5e4772bca49750ab9844c8cf13d651541d2a1aa7c74a673e645971df9acee059fa981ad39e8011b06bb39a86cdbba9fa544b8f2460188ca04354a95effed4e7c5905d5bf25973589809360d5e154e7a3613c27f4c5c920e71996063c2f86c44b7ad12a376\n\n# tcId = 214\n# wrong hash in signature\nmsg = 54657374\npadding = 3020300c06082a864886f70d0205050004100cbc6611f5540bd0809a388dc95a615b\nresult = invalid\nsig = 49cea19f5adb723c41e895337a24ced9e685736ec060f2aeef35bbdcf37741056d5f3ace051b0f6099585d82f576591da0c1139a590685b3e35ff9053bc6c3e381cba077700558328fa785128f78f5cfa481e6bf581bc9424f101cd8c2efeb4f8f00684776416c309d217df1dfde8f1e4643aad23207541fafeb5b7d263fb560cfade4792d716f68e7809cf8478cc4dc6a4c14e4e5df4f137d7a05270c6b0ca1f73e77eac07f5e7b60c8574b5c7487db4aa334173fbe03d93805bba291194f02f77ec0eeae2373ec9fc467a621feb77afc7d3757ca98b4f3fedbdc391f99df24663233f7394935b14eb81cf5b24d169cafa7506bcbcc2a4166fcf8fdbd5f7f3e\n\n# tcId = 215\n# wrong hash in signature\nmsg = 54657374\npadding = 3021300906052b0e03021a05000414640ab2bae07bedc4c163f679a746f7ab7fb5d1fa\nresult = invalid\nsig = b1e5095d61e4a986fe3425a08401ca726bafcb778dc818254e7ea5d299a9ee3e8c303a51ce19644b60a7f6156850b3325f4ada0958ce9a0a8cfe2a7ca085538b9b9abcfaaaf7413c810d6b2c03b5a3bbf98faef5374053cbff979815e5f1a38980087b291e1cf1683febc32da71b9040bedeb014de01cbc794ee40c12e7d44cbd01336ee92884d60d20bb0c9a5fe4d7dbc93478dab044bb6f04050ee4a3c8d2577c0e8443781f1ba5d8e763ed7f879f0bd970045299d2e2bc00ae47598e822fdf2461343c5c5f2111b099823c35b7ec4f07d337e52729c19e1df28c4bab6e7fbd1abd9cd3052920875e59ad251970e98c7a944ee6ba71787f65eda75e84cd048\n\n# tcId = 216\n# wrong hash in signature\nmsg = 54657374\npadding = 3041300d0609608648016503040202050004307b8f4654076b80eb963911f19cfad1aaf4285ed48e826f6cde1b01a79aa73fadb5446e667fc4f90417782c91270540f3\nresult = invalid\nsig = ba0ac1ff39b108015703583afcea5c777ec70df6ad11f561f23ca84eeacc73b7d93375f5e44c6c84e16273d442f93e36d474c7190184a0766e5b2bfe9896f0f0906a7a0c08dd78f0a9702cf3f706040893885f1e1da9cd01aca80de8c0c8197bb6e5e34562c37ff3256fbc6e99d1e9a7459a2cb1f49eb371a9e3cb1e87a460880664adb76e6bc3f2652010a7a1dde552dd4aadcf30366b0de3964e85d76bf79e20ced2aef87c9d31b4f2756cea23d9cef75ce07cea41204b42260a25ded448df639a0493d24262e1c411b7c294cabb56b95126c44d333385a63dbbf9219f22499812ae99772ba6c30d881c4bfdb3d074cc8f6090810546e64b1dfff6847a21f1\n\n# tcId = 217\n# wrong hash in signature\nmsg = 54657374\npadding = 3051300d060960864801650304020305000440c6ee9e33cf5c6715a1d148fd73f7318884b41adcb916021e2bc0e800a5c5dd97f5142178f6ae88c8fdd98e1afb0ce4c8d2c54b5f37b30b7da1997bb33b0b8a31\nresult = invalid\nsig = 4ab504da964bee491512b40b79fe9befa7e5960b142b619db35569cc9387265cc8fa8d4505b3b7cde5e884853bbea5d47ce7d60aa7e4c81853f0ee3f6b357dda5efe13119fc42f464b0cfb9d3506024c2c884eb57373e16611a6ec1eb803a61300bd248587594d081b501d5a141d2ea38d9ef69a87a3ee9d8d83aba410b8d30765c81f997d71457dc8ff1d9c3ed83f06f0156826105bc0a6fef0260ba6fb24578de5f58e7b0a64d5da1512f525f41e987a27e4d59c7d4917fb60586535341bf1644f6bf6a7e3cfba1c225a66bd65cc90b1eaed3696eaecbbc24a318a2e2ad711af85b02ee730940aa3dcb2d87aa8dadac182b5eefebaa3e729204d04e8ebf09b\n\n# tcId = 218\n# using PKCS#1 encryption padding\nmsg = 54657374\npadding = 0002ff...00\nresult = invalid\nsig = a5280543fcf9276baba49a297f0803ca4782cc05d35c53a7bd692b0356991d1ef6211efd591ef2eaa5d39b00bc193f3a5f175dd55de90f04396874b799374625a8af5ac162f9af79eb5f3615dac8a33c8d41182c6183db82b9e509ddcf4de0231e419d0e07487fbbb42d84ffc9b4f4c3ecdf6efe2efbfc64f3f665978ab6d210febb690d05a4c9252f97ddca64884df93fbcfc6356954ea7c4f486f2c201e6988400802904f61c02acf066698ff5af6fc8eaba4f81ec93d886a47e4652aad5df2ecf463db049b923a657ca629ba91ac0090be3a1381432ca2c3abccfb85b3c251776b910bd7ec4283d7493e309d251e07404324de24d65a3dfb8e3c5cb8a5a83\n\n# tcId = 219\n# using PKCS#1 encrypt", - "ion padding\nmsg = 54657374\npadding = 0002ff...00\nresult = invalid\nsig = 4f2688932d7bf6ec48e50c69933006d28b055aa97621fbebf3ca336536b8dc61172c8ad52e453c4ec203dbb2904557012dcf43da92f55d62baa56961701bef821240a5fd2d1735ae14be136ea92ee10adc650eff7ef6b5cb08c3f4a9dc17bcfc66cf50616f305908719f467af5abb45beea1835f95544f53cf2813394767959ff3440da42757bd135806be3ed2698ea3d903e0f2447916c94deacbda484cb1e074114dcf3b41bf60383153b838f018f8b2e35e3af68eefd202a2b3d7ddc1ec134fff746f1ce9548f9e53a3cc41faf2e991ea1b5860c55f5c000bff72f5524bed9cb8f9e8dc34713f3ce443d202c8ed3df13dec385e8c19871508804c3267b67b\n\n# tcId = 220\n# invalid PKCS#1 signature padding\nmsg = 54657374\npadding = 0001ff...ee00\nresult = invalid\nsig = 412f631c6df4c4402f70528635f4ed69094f33b198499980ff880e8e5fbdd22236c7836cc65ce18c1b3f183b69a47c27f3699fe7477462fa8d17e8a247e6ee9e994037ade036583ecf4497c083f78db36a15bebc291f164568655c27752f2ad27efa13a7fb897e658cd9f6aa1515bd14a4793fedb7722fb148c3a0e48cae63d14ad939a99a90f1dd7a7c09d478c9217e31f083c12dd3395332af68a4231a15069b1f43765584f6aa094645596ecb4923c59430e6ba76ae7ac4aa724b0fa9b5e2df9d9254857df70423f9323bdee97d74d662793ac72a0d089a79038b8b85e4c0d3a6f616fadca300a77bbd53ec69287a1f0f6fab0560ed90a28262bc310c14b1\n\n# tcId = 221\n# PKCS#1 padding too short\nmsg = 54657374\npadding = 000001ff...\nresult = invalid\nsig = 77dc98b3302f80235104cb8810d290be782529da8d49c7ed804c59f6435464668dc2d1fc3040ff31d7da3e31a472e218e7f8bf20b626673cecd2a56d7c15af20b42f3b1e155cb5bd3cc0f15c71152a64a6f15fa3e12f6060c2539f6f635c56a0192be82925c277f5f317b6531f1d5618ca95d038b4df9c1a99df4d09e6f5eb8940f8c5919051180822ccccd49c88da70c9c0bc1f206fe8a6d8e5678c02097f821b1d53a26e5542d9287442e9f74780fdb40f10fcd06aef31bc8f14de73eeb437555c4510762fe6bded19a21eb5e94ce51445ca10a6569f2a92bf70caf2e442975611c6f02b3e2875f911260bebfd5131956c98c5932461831313e3cdd9e7ef0c\n\n# tcId = 222\n# CVE-2017-11185\nmsg = 54657374\npadding = n\nresult = invalid\nsig = bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7\n\n# tcId = 223\n# invalid length\nmsg = 54657374\npadding = 2 bytes too long\nresult = invalid\nsig = bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70000\n\n# tcId = 224\n# empty signature\nmsg = 54657374\npadding = \nresult = invalid\nsig = \n\n# tcId = 225\n# 0\nmsg = 54657374\npadding = \nresult = invalid\nsig = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 226\n# 1\nmsg = 54657374\npadding = \nresult = invalid\nsig = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\n\n# tcId = 227\n# 2\nmsg = 54657374\npadding = \nresult = invalid\nsig = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002\n\n# tcId = 228\n# n-1\nmsg = 54657374\npadding = \nresult = invalid\nsig = bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a6\n\n# tcId = 229\n# n+1\nmsg = 54657374\npadding = \nresult = invalid\nsig = bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a8\n\n# tcId = 230\n# -1\nmsg = 54657374\npadding = \nresult = invalid\nsig = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n\n[e = 10001]\n[keyAsn = 30818902818100d0941e63a980fa92fb25ed4c7b3307f827023034ae7f1a7491f0699ca7607285e62ad8e994bac21b8b6e305e334f4874067d28e304230dca7f0e85f7ce595770b6e054c9f844ba86c0696eeba0769d8d4a347e8fe85c724ac1c44994af18a39e719f721f1bc50c46a39e6c075fcd1649f01f22608ce7dc6955502258336987d90203010001]\n[keyDer = 30819f300d06092a864886f70d010101050003818d0030818902818100d0941e63a980fa92fb25ed4c7b3307f827023034ae7f1a7491f0699ca7607285e62ad8e994bac21b8b6e305e334f4874067d28e304230dca7f0e85f7ce595770b6e054c9f844ba86c0696eeba0769d8d4a347e8fe85c724ac1c44994af18a39e719f721f1bc50c46a39e6c075fcd1649f01f22608ce7dc6955502258336987d90203010001]\n[keysize = 1024]\n[n = 0d0941e63a980fa92fb25ed4c7b3307f827023034ae7f1a7491f0699ca7607285e62ad8e994bac21b8b6e305e334f4874067d28e304230dca7f0e85f7ce595770b6e054c9f844ba86c0696eeba0769d8d4a347e8fe85c724ac1c44994af18a39e719f721f1bc50c46a39e6c075fcd1649f01f22608ce7dc6955502258336987d9]\n[sha = SHA-1]\n\n# tcId = 231\nmsg = \npadding = 3021300906052b0e03021a05000414da39a3ee5e6b4b0d3255bfef95601890afd80709\nresult = acceptable\nsig = 03e64d148e05201b021fb5d3d72ab6abd4294be6c1673277ba5822ad2fe7ce4bb29ac547b2fdf09c2894ea0e31e76f1b3e1937db91c389467e9a8ac7be0a4f674456f01c5b4fa4277a26028b49b16e25689827d0a4b9f1c25a63350dc15131da908a05c7cfa8c08a67ac9efe3b0cd04aba7db12064cbc36729eaaec540c4bc12\n# The key for this test vector has a modulus of size < 2048.\n# The key for this test vector uses a weak hash function.\n\n# tcId = 232\nmsg = 0000000000000000000000000000000000000000\npadding = 3021300906052b0e03021a050004146768033e216468247bd031a0a2d9876d79818f8f\nresult ", - "= acceptable\nsig = 1d19763e80121e228ac4dbb3be8448560aac613ec74b168efe1d8a8335b77e6d8c3cc0f641de8c8e26a2aff9d32a4ab77340912fec0e60e89257b5b6b19c8deb866c2d2349fe63a06ac6b72397b478cdd4198ead64f8d36b9df29651e95ac7b886978cffbb5f7498f136b1ded7580cbcbb31620415eb71cdb5bd615b47eff813\n# The key for this test vector has a modulus of size < 2048.\n# The key for this test vector uses a weak hash function.\n\n# tcId = 233\nmsg = 54657374\npadding = 3021300906052b0e03021a05000414640ab2bae07bedc4c163f679a746f7ab7fb5d1fa\nresult = acceptable\nsig = 0891ef2061c4d3377744cd7243ccc444619df533f4eadee216f7ffb9244e86d3e0162fc82c0b9502dc7aeebaf7884067e5f18f21b395c43bbfce5559ae84157ffde2aa457b7f44675e706af443acd9e38070428dfc6471a24cdc0d44f9283ac158704ad114375f10c24e3adbd12c55dabb78b8c41d3938124acc74126c82bb0b\n# The key for this test vector has a modulus of size < 2048.\n# The key for this test vector uses a weak hash function.\n\n# tcId = 234\nmsg = 313233343030\npadding = 3021300906052b0e03021a0500041421f0fb55d0f5f4e1521ec82216000a17e728f773\nresult = acceptable\nsig = 8277e8984d536f81667feeee7e24068ca5bb8b815210b3e9fa82294e11cae92c45164c9dd5683be4650e4b7709eb8879f793ae804620750b26032894e53333158f6afa6b52318e6c730a4a55d5a0fca6d029744f2ecaa2e00d3d6dffa0716acefd5c91afeda74b7f1a1bd7e635283bfa2142ace513da24eb8f25f3578a401ba7\n# The key for this test vector has a modulus of size < 2048.\n# The key for this test vector uses a weak hash function.\n\n# tcId = 235\nmsg = 4d657373616765\npadding = 3021300906052b0e03021a0500041468f4145fee7dde76afceb910165924ad14cf0d00\nresult = acceptable\nsig = b41191a7a1d11e973600e9a28c8d6e6d1513f7d970cb05ad50c686bd6fc42b7848559b2b3073a8cc9839f464d82f8a7d864cbc9698cc1a4b5b8c8103d07e9d79e5d24e1b3ab69053461bd76ac3b62935c31ef9f0c44120bf5c0a012eeedbd2a39d347cf6676ee8c81a88eb87eef2708edd793ebb79d6fced626e6475681fe73d\n# The key for this test vector has a modulus of size < 2048.\n# The key for this test vector uses a weak hash function.\n\n# tcId = 236\nmsg = 61\npadding = 3021300906052b0e03021a0500041486f7e437faa5a7fce15d1ddcb9eaeaea377667b8\nresult = acceptable\nsig = 29f69d320ea3221cd0704300f456295becf54e877c2b9b2704dc47ef992588c7dcc1648d17172d8c76362c488aadb3437be488fe667a192c5db1440f70d102361d7e85ffab370c7bdaceba0d15b1f32ba0801ccddc9fbaed1323834a60d19ff13ecd46a27f06e79cb0d3aefdefc0c69d8e85fbe8761d83f35e362355ba675933\n# The key for this test vector has a modulus of size < 2048.\n# The key for this test vector uses a weak hash function.\n\n# tcId = 237\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\npadding = 3021300906052b0e03021a05000414b92747057fbbdde83bc06b7e869eb40c32d08a6d\nresult = acceptable\nsig = 9aa3040e7df724bf506881f6a92a133ff76f6a168f0f3ced70b3363835ed6b655fae6f39416555af4071c16262da7556412d9905279d666f9e15fb8a813b313d00007cef3ed2be306b9e29e6b69c2c5bebe36aa057feba44ccb6c8619076a5b23f39729ef78bd6478249f34ee99f3abeef37c504410910d1ad3f1a712c8d697e\n# The key for this test vector has a modulus of size < 2048.\n# The key for this test vector uses a weak hash function.\n\n[e = 10001]\n[keyAsn = 30818902818100dfbe6f882c8b0c42c3229f29cd858bead25c213b5c0346c3052f844b045ac792c81c1df5ad6a66e9d4f3f7c11096f069f5fc0d1d7da555c6e685cf672ab2a6599f01605f50c93a91d6882f5884e4cf3e9c41a790b0c44247150777f95acf69312b0ed68f3c82693e6b67f0e1ea5927c0eeab3554c2c157181f4634e77bcb088b0203010001]\n[keyDer = 30819f300d06092a864886f70d010101050003818d0030818902818100dfbe6f882c8b0c42c3229f29cd858bead25c213b5c0346c3052f844b045ac792c81c1df5ad6a66e9d4f3f7c11096f069f5fc0d1d7da555c6e685cf672ab2a6599f01605f50c93a91d6882f5884e4cf3e9c41a790b0c44247150777f95acf69312b0ed68f3c82693e6b67f0e1ea5927c0eeab3554c2c157181f4634e77bcb088b0203010001]\n[keysize = 1024]\n[n = 0dfbe6f882c8b0c42c3229f29cd858bead25c213b5c0346c3052f844b045ac792c81c1df5ad6a66e9d4f3f7c11096f069f5fc0d1d7da555c6e685cf672ab2a6599f01605f50c93a91d6882f5884e4cf3e9c41a790b0c44247150777f95acf69312b0ed68f3c82693e6b67f0e1ea5927c0eeab3554c2c157181f4634e77bcb088b]\n[sha = SHA-224]\n\n# tcId = 238\nmsg = \npadding = 302d300d06096086480165030402040500041cd14a028c2a3a2bc9476102bb288234c415a2b01f828ea62ac5b3e42f\nresult = acceptable\nsig = 507e6233a3c80971daa07c13f34a532d53441e196d642fd6564b347fdceb865c55dd47330587622a30f8d4ee66bf8f163c626f8dd26b313bb4095ea1ae9d6a96a24365f4c20056998eb9d1e3f2e1c78257361e5c21e5ba76320997e8cb30021e8f11a580000891bca3537d7a2c0972e06844f1a01a1dbc9a3f8b8a2955f7005f\n# The key for this test vector has a modulus of size < 2048.\n\n# tcId = 239\nmsg = 0000000000000000000000000000000000000000\npadding = 302d300d06096086480165030402040500041cbd4f57a4cfb1649cca33372f5c5ad32b993ff73aaf4fb75d52798480\nresult = acceptable\nsig = 414de39059daab523a725efe437d688824a43689766b33136aa3e6da0a2fcf1c2aeff952605c2f1a12a29e36f282e59631f442af96c7659e0717bb24807835aa06f034906670b042f8db1cdcbf3c54e25472383b6b9097a09bfbd73b2e7c10e18731c6bad47af591bdb2d376680f6cb62048a97c19f23a70e98ddedf02786efc\n# The key for this test vector has a modulus of size < 2048.\n\n# tcId = 240\nmsg = 54657374\npadding = 302d300d06096086480165030402040500041c3606346815fd4d491a92649905a40da025d8cf15f095136b19f37923\nresult = acceptable\nsig = aa5d174e95f9a1ff88c1ce60b3aed1d39e256e28b0512cc4b52be1d41b8ccfa2a739945aefb5b697886f4f08cef365d18bdd8151acc588fd4ebf2aede9bdd904aa3481822206f3fedc5889c9f9889a8dd4d160d65e587ee228f9ef155108cb283c4e2a697a1e739827cb4a9790f96023e6ad24cabe51741a7c7cea8c52f08cdc\n# The key for this test vector has a modulus of size < 2048.\n\n# tcId = 241\nmsg = 313233343030\npadding = 302d300d06096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c\nresult = acceptable\nsig = 54a81c62bed2f716feb2939f504db144c1c3b70485a1f35b2871ede567ffcdeb8d2ed0c57c56f21b70388d631be05b4c738e67f160f34ec42f236cef92b03d3dc8e50145b33e634a6fad8e87f84624e96feefeeaa91ddbb003c3969017dd2d102da2e7d5de8ed298139d5e503e0aaab136fb583b99ece2e6b1681699a04b977e\n# The key for this test vector has a modulus of size < 2048.\n\n# tcId = 242\nmsg = 4d657373616765\npadding = 302d300d06096086480165030402040500041c3dc6a3fd912b08bf15170296c4f1694f512ffa1dc9bddb8b9e1c8d38\nresult = acceptable\nsig = 11890613a8ae298c21bda95fbe4059c37426f41ceccb7bd79598c72ab4662e012f08b7009c15155b5ae9d132b4ede565963e6014241305279d60662f57df7119e5d4088d32bfc7e0847036f41ca71f9a92660f90ec13ee9e19717d0b567ec5a6b5978a11337d5ee4e9147352fb954817be04fb767ef35c07babb03fd04a31338\n# The key for this test vector has a modulus of size < 2048.\n\n# tcId = 243\nmsg = 61\npadding = 302d300d06096086480165030402040500041cabd37534c7d9a2efb9465de931cd7055ffdb8879563ae98078d6d6d5\nresult = acceptable\nsig = 0fd461012145fe0ae9362eef22ee35dac0d4751a037ce4cf0792012bb179d101f9a9752e5ebc5454b18684fa1b557f3136ae68edc087dbfa4bbfaa59be42d0daa84b574a9f23238d4d538ae3e6c32f8dbd98b1138b545badcc10b184428fe2707aec73206367f147196f7b83f358377562e8c7d9f1d396a1cd9aa74f8a78cb1d\n# The key for this test vector has a modulus of size < 2048.\n\n# tcId = 244\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\npadding = 302d300d06096086480165030402040500041c15a322a18b35c3afd3937b5ac133fbd8d883d300a29ed9d9e2b3d601\nresult = acceptable\nsig = 307e421e06bdec1fc1750d53529f5f007eddcc991af8351477e1d67169409e3acc93367fadc412a4554854004c4a29c8af4af09793e55967ed439645034cc9e9ae565edfc861e04c763d058ff3aa29bef3942277b4c971d830be1259aa30c125a6ede65971b0120758c2a6eb21f238ff18228f344155ff9109a0f9656cae2351\n# The key for this test vector has a modulus of size < 2048.\n\n[e = 10001]\n[keyAsn = 30818902818100ac9048a7a4f560af91b4fcaf62a14595cb9ca9ec12000fc845e48572113cab2890adb011a919575a40760d1f23fe92509c8a5810b6d05990b909dd0f4c6014f2b31b6abd805bace99816e2eda41fd7b95405db7c5c8f4cf6babb14f550d5d0dd5179b54951fff6aa9686f30f478db649b7c7044cc202dccad00343468eaacfbf0203010001]\n[keyDer = 30819f300d06092a864886f70d010101050003818d0030818902818100ac9048a7a4f560af91b4fcaf62a14595cb9ca9ec12000fc845e48572113cab2890adb011a919575a40760d1f23fe92509c8a5810b6d05990b909dd0f4c6014f2b31b6abd805bace99816e2eda41fd7b95405db7c5c8f4cf6babb14f550d5d0dd5179b54951fff6aa9686f30f478db649b7c7044cc202dccad00343468eaacfbf0203010001]\n[keysize = 1024]\n[n = 0ac9048a7a4f560af91b4fcaf62a14595cb9ca9ec12000fc845e48572113cab2890adb011a919575a40760d1f23fe92509c8a5810b6d05990b909dd0f4c6014f2b31b6abd805bace99", - "816e2eda41fd7b95405db7c5c8f4cf6babb14f550d5d0dd5179b54951fff6aa9686f30f478db649b7c7044cc202dccad00343468eaacfbf]\n[sha = SHA-256]\n\n# tcId = 245\nmsg = \npadding = 3031300d060960864801650304020105000420e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\nresult = acceptable\nsig = a0abd165a5ef8733ba111fa0fa092630222d809d8ae811f24f8bead4968b7533af31019663713ba134e7dd345c38e7166a037025eb34adcd6891c9ec941d2e3eb1e4bded1d269272b602cb9b53568b992ddb5103914e6424c75505701a37996c8318b0b6f8640cb6b6e770ac44314b866a7c683a6903f7bba07b6f197ec554fc\n# The key for this test vector has a modulus of size < 2048.\n\n# tcId = 246\nmsg = 0000000000000000000000000000000000000000\npadding = 3031300d060960864801650304020105000420de47c9b27eb8d300dbb5f2c353e632c393262cf06340c4fa7f1b40c4cbd36f90\nresult = acceptable\nsig = 41339884a9b3940e8488d666bb158063c6a2a2717cae7f564834a876fcbf7098ecf3acbfabf37d38a8e6127b1e313744f1f896e165efdaea0b2e7673867842b9e94db0868ed9a92bcdcb370a4e20ff275c82595e4400a8b9e9f12482f014846b48216f321266ae6ae6338dbcdc41b711e483e6e3e728772e7f9f5ef95c30196b\n# The key for this test vector has a modulus of size < 2048.\n\n# tcId = 247\nmsg = 54657374\npadding = 3031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = acceptable\nsig = 8883676becdc27878ccdff53dda011e5e2f886e31e1e88d520bb161cd63aa001fded9f0656109c1507bd1ba5d3bb3e725029a236b4c3c0420a1fcfffe348c5277d6aa51bf75d9af26fdc15fc49d637b078a8b0478b5b0a9c428756d260068e5e622f193b9f9a2c1d979e3322d7f3edc32053541c6efa2485e42e99a804f94388\n# The key for this test vector has a modulus of size < 2048.\n\n# tcId = 248\nmsg = 313233343030\npadding = 3031300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023\nresult = acceptable\nsig = 9f2e01b92bc9dd32dcf24aee91467797396649a3255bac943dd0e03c9ef416f349c0cbb728704730f3c7a7c244066a94b229a6e86bde7753c8940129626307b542cc7f596583932b4fe6ea9384d5353e08654e966a64b63bd6745503f7e4383dcef74ad4516ac25c8790db6702ac5b8b057a8fae75669b6a9e689e9211a337b9\n# The key for this test vector has a modulus of size < 2048.\n\n# tcId = 249\nmsg = 4d657373616765\npadding = 3031300d0609608648016503040201050004202f77668a9dfbf8d5848b9eeb4a7145ca94c6ed9236e4a773f6dcafa5132b2f91\nresult = acceptable\nsig = 3cb9557d9fe49b889319e0d41efc00cba34277caeed2b2c54fc89772c669200dd63f02f340cb6ed579a379a3fd6a568ca9d4bce206655ae4586850638ee6bffaae2bed7c7afe7353d22418d7e4f6b15e198c85b649d3e5a67f00702dd9fefed7dc72136bb4440fac58e64453e4ee63a81de4270446571b192f414116e165efc0\n# The key for this test vector has a modulus of size < 2048.\n\n# tcId = 250\nmsg = 61\npadding = 3031300d060960864801650304020105000420ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb\nresult = acceptable\nsig = 06e6fb568e366fa20d48704be40e991a291d47a464296a49c37718c1153b0fea17ac18a01ff97b32a92d07635dfb9143d011d003c9153020f5ef7fd3ef258cfe92a7a2120718fcc85c73acd34cbd50670c2e044dc3b82fca29b1017912b65d8a844515655308367d8797ae5b7fb91042df573f32de69c1842a128ac88937c0e9\n# The key for this test vector has a modulus of size < 2048.\n\n# tcId = 251\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\npadding = 3031300d0609608648016503040201050004209432c1a7d343fcfacb164bdc44ff71c1281c004886b1c428419088d06cd3561a\nresult = acceptable\nsig = 327238fd701dc4a829827550aad98f9bcd75e9f3831c3679998c869c1dd8381bc6b74b721e9d3377034e059d6637690ba3a184ffd98af951d43a22105a51838f72cf592d658af01adeedf721cf2eb2bb2c90c68311cb267f0cfacca903c1a2a73f7228badb5d86976f5d3371fe9b00cca048a7a0b0fc4b03da11c5a098045e07\n# The key for this test vector has a modulus of size < 2048.\n\n[e = 10001]\n[keyAsn = 30818902818100a1d3912e65d994e0ba51135f78844d9a3ea5161e5450d16a8cf0173a0a309a1ee94e94385dffc5e27dea6692a1713516af86df2283c8e327e60ee26a7b7cfccb0af3f4b5efec358651996b97d5b25da933b063490cf7b67073d399b04ad55c0a89f8ec36d7f5cae757dbd3d6d0f5b77f7c94e28878397cb45cfd178f3f07ed010203010001]\n[keyDer = 30819f300d06092a864886f70d010101050003818d0030818902818100a1d3912e65d994e0ba51135f78844d9a3ea5161e5450d16a8cf0173a0a309a1ee94e94385dffc5e27dea6692a1713516af86df2283c8e327e60ee26a7b7cfccb0af3f4b5efec358651996b97d5b25da933b063490cf7b67073d399b04ad55c0a89f8ec36d7f5cae757dbd3d6d0f5b77f7c94e28878397cb45cfd178f3f07ed010203010001]\n[keysize = 1024]\n[n = 0a1d3912e65d994e0ba51135f78844d9a3ea5161e5450d16a8cf0173a0a309a1ee94e94385dffc5e27dea6692a1713516af86df2283c8e327e60ee26a7b7cfccb0af3f4b5efec358651996b97d5b25da933b063490cf7b67073d399b04ad55c0a89f8ec36d7f5cae757dbd3d6d0f5b77f7c94e28878397cb45cfd178f3f07ed01]\n[sha = SHA-384]\n\n# tcId = 252\nmsg = \npadding = 3041300d06096086480165030402020500043038b060a751ac96384cd9327eb1b1e36a21fdb71114be07434c0cc7bf63f6e1da274edebfe76f65fbd51ad2f14898b95b\nresult = acceptable\nsig = 8bda47e85848bb1d98eab90bd5f1880540204c8753a17b2552ee4778405e4c42cc3d25a4d869eb38f1e6fd122a2f52fa8685c3ef40400ade2017555ae88fa892a1ad2793f7c23762f0e54db0852cfdb2e52ebd02c8acf81b9a1e78accb5fbb57a29391cf4fa9aa298111c7b94fe240f0f576b1b52853853fce13da155f16e81d\n# The key for this test vector has a modulus of size < 2048.\n\n# tcId = 253\nmsg = 0000000000000000000000000000000000000000\npadding = 3041300d060960864801650304020205000430a5a2cb4f3870291de150e09ee864f3b2b3b342937ac719a149439185ad6a47bb4f23ae83ff20f0c8f0c79a1764244a63\nresult = acceptable\nsig = 74b9a7b9548a281c5a258520c879e0e64d8a28812a7b6461c6e418e0502b61008a8e535a5b55fb64529a6a6df2f60ef33c1844b27f81532be2bc2992d0eb5e524112da90bf40adefcf206469639ff3895a9826674ee1acbdd623842ab0a9a36d48da13ba17c4ee069254da2ea418d5a8f135e2a414c0654a266d538621917545\n# The key for this test vector has a modulus of size < 2048.\n\n# tcId = 254\nmsg = 54657374\npadding = 3041300d0609608648016503040202050004307b8f4654076b80eb963911f19cfad1aaf4285ed48e826f6cde1b01a79aa73fadb5446e667fc4f90417782c91270540f3\nresult = acceptable\nsig = 10d9c8b0bf55586e985799be60a17979eb0461daca00ea6defcc62fe720ea502e7e486c02a48f5ca41ecd96c67b5c762a067c465c35a8e416748897ede3ee2cd3c3e1b1199da5c7f0dd0f036774a1730e63ba781d6ee43d78b067608e831a16dbec6075c8ec90e81a4d8e2ac2587b0ae43f7445478b03ab7eba2e63d4043c2e1\n# The key for this test vector has a modulus of size < 2048.\n\n# tcId = 255\nmsg = 313233343030\npadding = 3041300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace\nresult = acceptable\nsig = 2cb15eb09030fade89eabc41794d288275c456f12cb0d414311e5edb551a51c3e1354f134b27aecae50536379a871a4ce6ab2e1b999c0308f5fed2ec48d97d68885b37a1e3e26b841db103b64f720f9aef265632f4f4a207ddffe19092e8b16144b0a3443d779c0b648077d3b04b72dd4f4051ac232261ac9df65974764b97a9\n# The key for this test vector has a modulus of size < 2048.\n\n# tcId = 256\nmsg = 4d657373616765\npadding = 3041300d060960864801650304020205000430b526d8394134b853bd071719bc99d42b669bc9252baa82dcafabc1f322a3841c57cc0c82f080fd331b1666112b27a329\nresult = acceptable\nsig = 9c80154e3087b443fe6d9bc24faa7ea009330a210f2f1063ea1b61261507a5e3853079a0287d5b27983bd751ac782b1a5c31130978d3f2a8a95101c4ed87eacee964953ad32cd2cd4caeb7c37330d1650d7ca19dfa6e8f1c184d3dd9a3a759d6badc700b7063d2c579b336c5e141c200614ba613d9bb6493e87d26978b438573\n# The key for this test vector has a modulus of size < 2048.\n\n# tcId = 257\nmsg = 61\npadding = 3041300d06096086480165030402020500043054a59b9f22b0b80880d8427e548b7c23abd873486e1f035dce9cd697e85175033caa88e6d57bc35efae0b5afd3145f31\nresult = acceptable\nsig = 99fc12c90f67dff9600c30c9f81bbf335492151345c809c05771d59ef73d438f88c5c43ba507a3cad6633641d70ec3f3c38f67cf7f2566489f59422a2dad1f647e790bbd28acc290ab392d48ce7a140184bb71023f8c9c5dcd9469ebe848063d96bad26fbd390974b38459d51727eb8c0a5b8a8ef1d3394b6f852dd2b22cd22c\n# The key for this test vector has a modulus of size < 2048.\n\n# tcId = 258\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\npadding = 3041300d060960864801650304020205000430ae9ada2a808aca7097c9e9c30fba4ca60a5e79874a6be0f5afeb7f5df3538346f04b84ee06bef7ac879a0085bb2036c8\nresult = acceptable\nsig = 869b42bb93624a139bb98c043cba8fe12d612aef040e3085994824a480274c0cca24d08d178321acb048055b777d897e267cd50809bc7e9f86c276beeb8a8d59d82aa2091c66c71e41ca59738b0e18f055f9c75a01e87aaad446e64ac0183c002ea2080415ebb4f85a590622bfa4e701a6e37d0b33bd78d5ff874d8", - "d28fda263\n# The key for this test vector has a modulus of size < 2048.\n\n[e = 10001]\n[keyAsn = 3081c90281c100b8be129638e9c805359e6169b263265e2a8ec4b849101f2a321ce523665e399954ac3865ee8c85d14f3d3f24fbd583664bf09394cbc7f7ffc98aadc94eda35ca4b9614fd2d773c782086a1ea9ca23f357cb2cdc465fb85100172845d6b2906dc9315a542d204bcc4dce68d90484198e2350cd682eef9313a13df3607669aa4dd186f563ba0ae3ee054f857a92985f2694a54e1a87ed7327acbfda3e61ecbfecfdd1b7b2d08dd306122fd44268f08463306760f40dfb7634e71d7a72f1224e6110203010001]\n[keyDer = 3081df300d06092a864886f70d01010105000381cd003081c90281c100b8be129638e9c805359e6169b263265e2a8ec4b849101f2a321ce523665e399954ac3865ee8c85d14f3d3f24fbd583664bf09394cbc7f7ffc98aadc94eda35ca4b9614fd2d773c782086a1ea9ca23f357cb2cdc465fb85100172845d6b2906dc9315a542d204bcc4dce68d90484198e2350cd682eef9313a13df3607669aa4dd186f563ba0ae3ee054f857a92985f2694a54e1a87ed7327acbfda3e61ecbfecfdd1b7b2d08dd306122fd44268f08463306760f40dfb7634e71d7a72f1224e6110203010001]\n[keysize = 1536]\n[n = 0b8be129638e9c805359e6169b263265e2a8ec4b849101f2a321ce523665e399954ac3865ee8c85d14f3d3f24fbd583664bf09394cbc7f7ffc98aadc94eda35ca4b9614fd2d773c782086a1ea9ca23f357cb2cdc465fb85100172845d6b2906dc9315a542d204bcc4dce68d90484198e2350cd682eef9313a13df3607669aa4dd186f563ba0ae3ee054f857a92985f2694a54e1a87ed7327acbfda3e61ecbfecfdd1b7b2d08dd306122fd44268f08463306760f40dfb7634e71d7a72f1224e611]\n[sha = SHA-224]\n\n# tcId = 259\nmsg = \npadding = 302d300d06096086480165030402040500041cd14a028c2a3a2bc9476102bb288234c415a2b01f828ea62ac5b3e42f\nresult = acceptable\nsig = 9cbe6b808679d666332a97049be279327c7e00e3c17354fd1d5f611969f487d9e397456b90549a77582a6e8b51fe212399ff68b979fe293efcd11ab79cbfda818cc4039c62d32b58717fe0abf2b4eeea0304baa5afe23ff6614dc6cec45b518d6d58a157ae211e0a67c36a0ef6468d0dd68f6155a818bece4f8d35884f4f90aa6ac6250bb3459604d4598ca7c7e57489d484351aa936be4fc9051e28e229f4bb60fa97a3f018ef37fdfe78ca8cfc0caae758c53d0f68edb8b9df2b826c80272f\n# The key for this test vector has a modulus of size < 2048.\n\n# tcId = 260\nmsg = 0000000000000000000000000000000000000000\npadding = 302d300d06096086480165030402040500041cbd4f57a4cfb1649cca33372f5c5ad32b993ff73aaf4fb75d52798480\nresult = acceptable\nsig = 570c9a8a85a988b5e254b74af7611f0a1e4843e4727c9117a5e2bbbec29b0a6e84c5ccc2cec9b100410b37d1e0eef9a2a21a2894e1a5b581e6567d1043a980166ed7449e557fd7f1fb19fff60f3cfc85c79c9793c553314060b95f0a2199f4de16792e35888b78f7bbd4520eb09efc7aede5d24a51d8c123669ee2452357dfd089986005506df4431c50432509302e7c7e9aa8e9f383ef8b856fda1ba8db44f36b7aae91c597bd6aa0b4f12573a664f328b23b7a7e8738d5bfe772b39d5017d7\n# The key for this test vector has a modulus of size < 2048.\n\n# tcId = 261\nmsg = 54657374\npadding = 302d300d06096086480165030402040500041c3606346815fd4d491a92649905a40da025d8cf15f095136b19f37923\nresult = acceptable\nsig = 74cd13a7cad1ba8c0254967f1cf7d594a084995b5778b113a42f35654151556e36ff796f609146bcc519a8f983d0093a1fe7d2789d0c2688d8444ff4c3c8f6759eb71d6fb7f47a2eff42e62ecdd14fb3cf2e6df4b0717094863bf19a84457a656d3fd64aa5c086e09a8097e3576ba1d91fa17b7a1222b9064e2c6b06aba5b692a7078117838c64cd6598bea415a231daf4e62d4bffcbc0986c3cf86ae6a3bbb7ffbe85ee002ce9af3177b1f2c0ae14b8b1cd41b1bf1b2ccc688794f092c91873\n# The key for this test vector has a modulus of size < 2048.\n\n# tcId = 262\nmsg = 313233343030\npadding = 302d300d06096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c\nresult = acceptable\nsig = 1ecad2c46d9d37b3bdecb7f9002cc48f8345a2aec090f5d599350c855c4eb58f8a503d8dfe042525a66e771bd8dd8a70fb4822aea1a0cf33577ea658288e6f2fd886888cb9225f1ea0d03bf5b5e63afd3bf59c0c1d3f2cf4f4ba2a8dcf23182feec72f76a60d252a8cb0b770b7d0dd6c72c072098f81b852f7271007273eccbc55a9099e426e566a52e11be82e78bc8ce8c6bb721f858816c43aa253a950da5810e5690c193b820d9ed4f02046a548503c72755abf1450c09dda9c84dd2a079a\n# The key for this test vector has a modulus of size < 2048.\n\n# tcId = 263\nmsg = 4d657373616765\npadding = 302d300d06096086480165030402040500041c3dc6a3fd912b08bf15170296c4f1694f512ffa1dc9bddb8b9e1c8d38\nresult = acceptable\nsig = 402c91c41a3e1782ae406b04ff52cbbf9f71cc5f3473b9af43a2ef96245e79b62551d9b23a85e6e80a2041b616dce2647312258b29bc6b549eb38afb083d823b3c2619caee52cb1583a7c20cba7da2159ac8154b98a9683388bcc523c10b6e560fe0c8a0cce9237ab1991b207e708b601b13c5d1d86825d89fc5aaffa0e89ddcc11d2b516de64e34783d86c6d05ded6024274498b6f3dd5593feb03147cfca3890f92487b64e67ccb676b85144899e6d257b28edff14130eaf0cc45b60ddec80\n# The key for this test vector has a modulus of size < 2048.\n\n# tcId = 264\nmsg = 61\npadding = 302d300d06096086480165030402040500041cabd37534c7d9a2efb9465de931cd7055ffdb8879563ae98078d6d6d5\nresult = acceptable\nsig = 4d93f0d689c59942d9e7c26cfc5af040cff4b3a114c7e191851baa888133ea52583899520f8e063d7ea1ac7773ccca280b92840082d960b0d1e20bc8549c83f989b6991613c1711a0a2586de7fc2bd10750023e2866fce48329621e9203c2818373abd69bc1807fc1158639d3837b5391077a39f829f04472c74bab0a15757083a34ec2701abb6839ade2674f1220af9d109678d209bf5f16eceaa8227ab028d0017530900f52b8be12c33f007dd21774a5bdae2ee12d7e47e98e5cc7d301d9e\n# The key for this test vector has a modulus of size < 2048.\n\n# tcId = 265\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\npadding = 302d300d06096086480165030402040500041c15a322a18b35c3afd3937b5ac133fbd8d883d300a29ed9d9e2b3d601\nresult = acceptable\nsig = 44a571c4bbf737001fd5602e8d096123de21b47c36eea780f3e0e19fd2243605066ea949c88b6abb8353ee8b88e394a485031e9e980936e09bbd17fb6dfe340f07bcca5cc51edcbd5bf98c223f44976b6ba3b4b2157f1a14a7b2a20728f92a31120f968138a33164c78b7fe9146ba6d641d6c7b7cc9b1b4062e96002054eb9cd2e738fd82564dc0fd87f08b5006f52db13a7efd4602dd6736cc9667701fcb9ad48c5b3625a11e44e034d0cecb38cea4766b03416c94f01418b411e2f4739ccba\n# The key for this test vector has a modulus of size < 2048.\n\n[e = 10001]\n[keyAsn = 3081c90281c100eb477c90d46bd1896cf4930cf2615140e029a743f0649ae586eb04d51f21ac5241744b5872ccebc87b401487a9c859176c9fc8200b2054875e2c811a56b5d9468e6d3a99c058b1c89547f55a3d7b1d08852f673d3288544aab906e57364cac817728dcea18bc1193e62269e04112c19451702cfaa46fcaf716db14f2e1c9b8d312bdb15dde506945395bdb0865f22ac0553f827a27719c2c703a83c6cbfd949d06d4eb560a8fddff052fd6f0a20f6cdeb2909211b75f8182e58590d069a2a2710203010001]\n[keyDer = 3081df300d06092a864886f70d01010105000381cd003081c90281c100eb477c90d46bd1896cf4930cf2615140e029a743f0649ae586eb04d51f21ac5241744b5872ccebc87b401487a9c859176c9fc8200b2054875e2c811a56b5d9468e6d3a99c058b1c89547f55a3d7b1d08852f673d3288544aab906e57364cac817728dcea18bc1193e62269e04112c19451702cfaa46fcaf716db14f2e1c9b8d312bdb15dde506945395bdb0865f22ac0553f827a27719c2c703a83c6cbfd949d06d4eb560a8fddff052fd6f0a20f6cdeb2909211b75f8182e58590d069a2a2710203010001]\n[keysize = 1536]\n[n = 0eb477c90d46bd1896cf4930cf2615140e029a743f0649ae586eb04d51f21ac5241744b5872ccebc87b401487a9c859176c9fc8200b2054875e2c811a56b5d9468e6d3a99c058b1c89547f55a3d7b1d08852f673d3288544aab906e57364cac817728dcea18bc1193e62269e04112c19451702cfaa46fcaf716db14f2e1c9b8d312bdb15dde506945395bdb0865f22ac0553f827a27719c2c703a83c6cbfd949d06d4eb560a8fddff052fd6f0a20f6cdeb2909211b75f8182e58590d069a2a271]\n[sha = SHA-256]\n\n# tcId = 266\nmsg = \npadding = 3031300d060960864801650304020105000420e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\nresult = acceptable\nsig = e4f7f0076b4bddb632c470881bbffe95a148573a75c014689eda7acf5e57a546327d4bead01da0b093b2c4eb5b048fd707d27a4baf85d610e4ff8861feca57e1ea88ff0c4b803c4b0d62ae0cb89012b0ff041b438e49a79680f2cb30722a5a2a3aa9b516ff2a02947ebe27186aa9ffdb35e15328c0f49f172af51f764258e909651469ebc6a59cd98c996fa3417008252e3386b9a2d059d3c67983ce62ae2d052733c55732320679eae156d0e4b89da1022bd052340819cfcdd7366c34b65a01\n# The key for this test vector has a modulus of size < 2048.\n\n# tcId = 267\nmsg = 0000000000000000000000000000000000000000\npadding = 3031300d060960864801650304020105000420de47c9b27eb8d300dbb5f2c353e632c393262cf06340c4fa7f1b40c4cbd36f90\nresult = acceptable\nsig = 8d2611d4c79f6b2087ae8bc76610905c361b9fe0a6629388197b4293f9e14ecbeb377206e4c1db35cdc0ab163dc5c51e8a7370a059e9ee8014d18ef0937f7936879d7825c792180a4f10a0d46e0a954f093d703b82bd076dcec0b8a66fc3be9bdf79ce4550c453015dc1c7397ec1bfceed040a4d777915546b9cbcf1eeb13eb71ac49c235e69cb07c315d529442f4863d61b7d5caa5ce07820edf649a9342211a26f8280dab9c5dd11af07521", - "68326f8e8d5e834ddba3bce063f011eccc8f46d\n# The key for this test vector has a modulus of size < 2048.\n\n# tcId = 268\nmsg = 54657374\npadding = 3031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = acceptable\nsig = e12e3540e7f20fb5533772e91b708151c12d8440ba9bc994791f5916d521726b53969063f9e13114ab89de0b0adf119cfaf19dd74a65b5eee32f39e69ab6776dba721adb2a8dea1495c51d5984b6aa2b5d216eb48459103907442f725410f53ddd5d006762dd3167c2da3bdb19f07d27e3fda712f444c093f4c8126d40ca7c381ab1d3875294df84055239ebac5039490b597366b58c2806e52f1f259c9ed16f829f41851b6ce7e390ea73251395bf940997d47bc323657160ede973f2342b91\n# The key for this test vector has a modulus of size < 2048.\n\n# tcId = 269\nmsg = 313233343030\npadding = 3031300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023\nresult = acceptable\nsig = 90ea80b14758fa12319e54c446e70bf5bede38f5d8d8e978531e6c54c567b63a0fb7b870ab963f979c4015c27714dc9292a48123c0a1f13896055f6628687040459488bca149f410cdae4249ef918f10329e902f1344a666fdf96085b7bbfb086ee2f4e5891904f945d867a50289da018c245be31b684bebb8dc367d43d53448865dc005ffd58e2f76f1ae8ac51fa7ad723db9bf3b78b82bc5b0e209ed216575009c27a6d46bfd1d9ba35fd50eaf4a39afd7b3dfdbd2f437d0d97b5b08e1870b\n# The key for this test vector has a modulus of size < 2048.\n\n# tcId = 270\nmsg = 4d657373616765\npadding = 3031300d0609608648016503040201050004202f77668a9dfbf8d5848b9eeb4a7145ca94c6ed9236e4a773f6dcafa5132b2f91\nresult = acceptable\nsig = 3ebfdd69af2a561bdf4315d015d397b8af75f6c17a3e6e1c6b52bd6e812bd9112e1920f6cabd82b996b1b48be3aa40e447d29689be7dc64b8548ce5414318c4288a6ccee97f55c523661e629d3cb124b97a042c1e77a9b039a8631815c535c8216912ea47684a7220a63c198ef2b80568882e153be8fe92ae4c786a5fd56a1e64fdb235663f3a242c121e59df3a19c29282e647a5123583378577925f399560f6ad3b2a4c2b18ca2547aab5e3ed4030c6585fd2abd1d65fc720bb30354c966d9\n# The key for this test vector has a modulus of size < 2048.\n\n# tcId = 271\nmsg = 61\npadding = 3031300d060960864801650304020105000420ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb\nresult = acceptable\nsig = 7fbb42d2bc1c3e5a0f66fedd581e5ce3e555f6f1c736db24b6e963d2ba72118cc989e2969c21bede87ff3f4209f2b009263b7ca3716a9d3e7115dfe65bad1ea2a1013304696248dd2b1d70764dae248bd1e9d49623826f2c6640247cbe8bcda47d882e298f30bcf3db1f496c26b738848e9876e4b70f0ca8259760e919e5c5c0a2ce3d05b5804a94b67f4c719fdeb3ce23657a26635f867af0271736ba20abb7fff18bda006c48d9c3ed774365d00aa0340a04906fc07f00b18a572c96f986f5\n# The key for this test vector has a modulus of size < 2048.\n\n# tcId = 272\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\npadding = 3031300d0609608648016503040201050004209432c1a7d343fcfacb164bdc44ff71c1281c004886b1c428419088d06cd3561a\nresult = acceptable\nsig = b9b478f6ddabce2b1ffb306e2135132df09585be16eaa5182b8476796c10b0eecaff9b91100882f5872e00e3d1df2df40969ca4d00596b6d6c9c13d3a956dd8d91decbd3a48728aea05b8f7707414a8a5de3bf0becbc20ae0ba852ee7c4f2c177f3d95a4a8375ac50e11fd2be4da1f94608786fc84747117604138d06956387924e5d7baa2c97e25d1b0125122c0a13981559db80ac2d6848f4db163027c4484a51ac5095f5653b12059440dac69970b5680e017a7eb2861c857a607446b9420\n# The key for this test vector has a modulus of size < 2048.\n\n[e = 10001]\n[keyAsn = 3081c90281c100d1060fe7c6d185f09c3c1865cf6beaf5dc9306f2f3646bbccf19e47fadf98cfda7716c797d15afe506d573f19163ae2ab0ed9964c7b125dad7841125d38dd9f430b30fe5ea0d24083cb9b09f241b0700821cb5e40dc781e72ed95a2a8cfd33da065c58db8b8166aaec385a5db04f473198fa3b27d4de0a3267b11769af1178d284fb9ca6ac2ffd03b940509dbf2383838d39e0d5c93fe29a6802e12716431e25965f5b7b146663f4e5567ac4c3edf8824913d26ff2dd03830c8a0645adb04d7f0203010001]\n[keyDer = 3081df300d06092a864886f70d01010105000381cd003081c90281c100d1060fe7c6d185f09c3c1865cf6beaf5dc9306f2f3646bbccf19e47fadf98cfda7716c797d15afe506d573f19163ae2ab0ed9964c7b125dad7841125d38dd9f430b30fe5ea0d24083cb9b09f241b0700821cb5e40dc781e72ed95a2a8cfd33da065c58db8b8166aaec385a5db04f473198fa3b27d4de0a3267b11769af1178d284fb9ca6ac2ffd03b940509dbf2383838d39e0d5c93fe29a6802e12716431e25965f5b7b146663f4e5567ac4c3edf8824913d26ff2dd03830c8a0645adb04d7f0203010001]\n[keysize = 1536]\n[n = 0d1060fe7c6d185f09c3c1865cf6beaf5dc9306f2f3646bbccf19e47fadf98cfda7716c797d15afe506d573f19163ae2ab0ed9964c7b125dad7841125d38dd9f430b30fe5ea0d24083cb9b09f241b0700821cb5e40dc781e72ed95a2a8cfd33da065c58db8b8166aaec385a5db04f473198fa3b27d4de0a3267b11769af1178d284fb9ca6ac2ffd03b940509dbf2383838d39e0d5c93fe29a6802e12716431e25965f5b7b146663f4e5567ac4c3edf8824913d26ff2dd03830c8a0645adb04d7f]\n[sha = SHA-384]\n\n# tcId = 273\nmsg = \npadding = 3041300d06096086480165030402020500043038b060a751ac96384cd9327eb1b1e36a21fdb71114be07434c0cc7bf63f6e1da274edebfe76f65fbd51ad2f14898b95b\nresult = acceptable\nsig = 6428e8d022f52b4a9307fe0f93e650e9665680d3c4a66194c6d50cf08726a3de45dbd8f24c9b5d4ad3fb6fad8bf3744d166742c6bb8cd690325e8eeb8d33e1303234d2a9ef9f12f8adb29a423279405dfa25d5bbbfb4255f6d739dafad66e4024fd413b16a167ea4cd66a75258c476e9f23cdf99346cecd6a51d44176346e6704e1f25fd953123716dca1eb8e2ba0288a38723f76c7b873299e34373fc2b18027500c26aa32c903389eed545b87061988f9e06effab524655e52103be7551fdb\n# The key for this test vector has a modulus of size < 2048.\n\n# tcId = 274\nmsg = 0000000000000000000000000000000000000000\npadding = 3041300d060960864801650304020205000430a5a2cb4f3870291de150e09ee864f3b2b3b342937ac719a149439185ad6a47bb4f23ae83ff20f0c8f0c79a1764244a63\nresult = acceptable\nsig = 58c4c42da5eee1b757b31e3362a95d75180c0fee472c431527ff5500fe0b5c1d59968d79e6e41650f013a6b3e37c5a1d79233b818ef76c4ed469a09607becdc58987e6a548610de14ff06899ef284778dd5329a27b85072e8ffd46b63a5e8f7602ddb9fc5a07224c49818fc8057581ea36da033f2b936f0761186c7fd82b474e87d47aa1b7ec610642d3bcb16c59bb70ac68b1f081a9c9248f069474d6ed9b29c669fc40a979cdfc2053e1a3c0cf40efa29c01785323995f1d8f3850c32bdf92\n# The key for this test vector has a modulus of size < 2048.\n\n# tcId = 275\nmsg = 54657374\npadding = 3041300d0609608648016503040202050004307b8f4654076b80eb963911f19cfad1aaf4285ed48e826f6cde1b01a79aa73fadb5446e667fc4f90417782c91270540f3\nresult = acceptable\nsig = 62a81171990b2066d9c8a12d75b719b1d81513e9ab0a38ceed12c19835e8291db53045c6be238fb8a0a7daa974f8d0e10495c197c8d94b617a5e84982b849a121377a4deaff1c61f07365a4429b3aa90a0a475d3475e93b27254e1e0a75f49864287f2027f7b4c8c0f54ad69649c042e2445a5f131dc5d7878d7a040ac8499ef4208f3cf7b63863feb6fc3ae7d9e299ef5777b1d872cb19799f5097d456473760e5953a650a207f50f5dec349e71b848640930608208dd0745bc185d78284482\n# The key for this test vector has a modulus of size < 2048.\n\n# tcId = 276\nmsg = 313233343030\npadding = 3041300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace\nresult = acceptable\nsig = af896fc432e8f0d10c082153fcfd95b9ad7c90fd1f757d3be4e57556553b982af328b2f3d96fdffa3d26a9fb58e011206f88bfb7dc453f8ecc1b8a86910f993e91a1f70e2d75311015d676ed9245f1a9379f4f29ef26ab403eb1e76184855b10696f5254f2b51e536df54c84189d1a1f97bfb56a3b7cd13a82d8c0262229795a3d2bd46f28c3e71d5ae18c2ab32b295477e3f0fb428c5278eea15622ec47efd731b78d747568757f82a943fda22d37d883d8daff25dbb168032b5b36e081ce2d\n# The key for this test vector has a modulus of size < 2048.\n\n# tcId = 277\nmsg = 4d657373616765\npadding = 3041300d060960864801650304020205000430b526d8394134b853bd071719bc99d42b669bc9252baa82dcafabc1f322a3841c57cc0c82f080fd331b1666112b27a329\nresult = acceptable\nsig = a3c4eb3756805db479ee0aa802a9cccec9c9e146e736ed48b8739f2c8f108c579f1a16a71b7d222fd146f82292e78d254ec030b47267490927843c13005b88e2956550bdaab0e5748dafbbaa825425e9d83283a9a5fb086603ce00c8dac8f73dae249082378fcbdef763ef2f207047e9a9eaa35ce466e9569470f612c87292df4babe1d1446c55be5ab0109895afd337843eed2ca777f3ea1c08898fcb36e02674772d6dc3c71fbc49c897d05c81cf2aaef212dab088d9722db4033bb8f2ba56\n# The key for this test vector has a modulus of size < 2048.\n\n# tcId = 278\nmsg = 61\npadding = 3041300d06096086480165030402020500043054a59b9f22b0b80880d8427e548b7c23abd873486e1f035dce9cd697e85175033caa88e6d57bc35efae0b5afd3145f31\nresult = acceptable\nsig = d0deb372624d4e1f64b9f3d7517fe2bc9407b1cb99ca0e6f641d5557935b4ce3e0e7fc88a75a8a6b39a7d03b9c9b43d6f5da250bc2c672ecad4f559a02f45bd6319d7377d305493264b17beca8ad93656a88767221113a30c8402", - "794a920da9edc530a6649b881abfee5b92dc857332970973366ba05954d70a99f378e8f65e3c1586ec71f79fec02657bf6dc5ed82c835735af15ab1f305bad5c49ae4dbab4f6bb4a5c70d35ba779e01b85ef208d7def3d0358fbe9202923fd035d58ff36a06\n# The key for this test vector has a modulus of size < 2048.\n\n# tcId = 279\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\npadding = 3041300d060960864801650304020205000430ae9ada2a808aca7097c9e9c30fba4ca60a5e79874a6be0f5afeb7f5df3538346f04b84ee06bef7ac879a0085bb2036c8\nresult = acceptable\nsig = 4e47d4cbe778a471ec643bb235fe9ef8d10398bfb2edfeeb9c9bc12caafe4031e33144be385e3adcd1609652f4c9dfe15f5cd6ba3ff38b34dd67c47c659473cb12f9b3905306d92405d38bb763474ad65e96b7f68104c1dfdd217ee56c912f42b054f16efe23fa8821093d8169826a64a77b86ef33061210280e3b4793fe540a09cb910f5a1f12a410b588c2793726999021f8880b7d9b83792ae9ed282871921a63976131b8aef855078787bf32df696458e507b1dba70d7422d4d37edbbdfc\n# The key for this test vector has a modulus of size < 2048.\n\n[e = 10001]\n[keyAsn = 3081c90281c100d1f33c4d0c3b127cfd4c711aef054e291cb9a9b7b769d6dfcea5ba02d99f0807ffb63f097ed7b5c5e2ad09578c749863a96a2bedc3e72738fe887a4a1fae6ca8c8e722c8dedc065a4df9f5c38e950175a7e0de9008f3a9a67e3413f9891e2f8a70b29f55dd21d2cba16f8e2300ef7c35ed1e42ebfbe70645230ddd8c067dae9069ae5f32937a207e0e7896e87fb399e6c93bc5bf6c2504fbdb3ecfc281f8da29115b2ec41eb9acc4176e311fe8dbcac24b57f8d656600e5fb4095eb4bf90b6e90203010001]\n[keyDer = 3081df300d06092a864886f70d01010105000381cd003081c90281c100d1f33c4d0c3b127cfd4c711aef054e291cb9a9b7b769d6dfcea5ba02d99f0807ffb63f097ed7b5c5e2ad09578c749863a96a2bedc3e72738fe887a4a1fae6ca8c8e722c8dedc065a4df9f5c38e950175a7e0de9008f3a9a67e3413f9891e2f8a70b29f55dd21d2cba16f8e2300ef7c35ed1e42ebfbe70645230ddd8c067dae9069ae5f32937a207e0e7896e87fb399e6c93bc5bf6c2504fbdb3ecfc281f8da29115b2ec41eb9acc4176e311fe8dbcac24b57f8d656600e5fb4095eb4bf90b6e90203010001]\n[keysize = 1536]\n[n = 0d1f33c4d0c3b127cfd4c711aef054e291cb9a9b7b769d6dfcea5ba02d99f0807ffb63f097ed7b5c5e2ad09578c749863a96a2bedc3e72738fe887a4a1fae6ca8c8e722c8dedc065a4df9f5c38e950175a7e0de9008f3a9a67e3413f9891e2f8a70b29f55dd21d2cba16f8e2300ef7c35ed1e42ebfbe70645230ddd8c067dae9069ae5f32937a207e0e7896e87fb399e6c93bc5bf6c2504fbdb3ecfc281f8da29115b2ec41eb9acc4176e311fe8dbcac24b57f8d656600e5fb4095eb4bf90b6e9]\n[sha = SHA-512]\n\n# tcId = 280\nmsg = \npadding = 3051300d060960864801650304020305000440cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e\nresult = acceptable\nsig = 190497b9c697bc8571dea0e67a6594d1ad0c401904a6a8f6e44837452949b1fb2044482ada64df89978f1168d5caf866afd928817afcdb589ce3dc6ffc5d58cb76fb9edc59b7d9188ead57981e1acba36e21d76a668660fb7bbf6f0c946ccc86dc251855c2cc19de83d11aba1d2c465db713725c2014e48865778b762dcbefd40de78f624436c6a3d316594dbfb3b05af97cb1d19229b3cc29c9cc6df414ab963bf1d6fb4e50c82dbb1add6d091d5930de580a988e3268cc5716d86c90dc12bc\n# The key for this test vector has a modulus of size < 2048.\n\n# tcId = 281\nmsg = 0000000000000000000000000000000000000000\npadding = 3051300d060960864801650304020305000440d296b892b3a7964bd0cc882fc7c0be948b6bbd8eb1eff8c13942fcaabf1f38772dd56ba4d8ecd0b626ff5cef1cd045a1b0a76910396f3c7430b215a85950e9c3\nresult = acceptable\nsig = 5259fe9566e1bd81952a805384b1657374f33550ee0895b57b7a0869a831270d3b3b2db8e295a4eb98d8eb036183b3d228ad22b8e493c7eb0f9ab00eeab2e086f10f8018a8daaff4858ae745a4d70881a166963c64403216422e18974aa456d8229ef2e43002e0390166630c7fabd14efaa974a9521a72a69e0b446971db077ce80f6dd95cf797b6ed276873bbf6b1ba6a79df8c917c2a3fbbc0e5347b0bb99eec6ad0b6bdb7bc9d3e0a7f6b7b623f2aa9dba1e940676ec5629d39778286f261\n# The key for this test vector has a modulus of size < 2048.\n\n# tcId = 282\nmsg = 54657374\npadding = 3051300d060960864801650304020305000440c6ee9e33cf5c6715a1d148fd73f7318884b41adcb916021e2bc0e800a5c5dd97f5142178f6ae88c8fdd98e1afb0ce4c8d2c54b5f37b30b7da1997bb33b0b8a31\nresult = acceptable\nsig = 288226f169838f352ffe409368cf03d840e0c0ac5e2c8d24471a924bab05ccbef26f202aabed9fbdaa33ae4a95de90e4196d92a72926971230f90a08fa68e51b326c9b5dde4b7bfe76766b0362695315846c2270a67e7c3f623367c87ce13670c8c778ba379b7de015a1b3fddce8d54825ddd22a8f88d89a43a0c5be784c1c1a1b920aa0dd31102a23d50e3874c411051f724a9b6181299d63db58dec0dbe667f7455f97f5abddc87cdd9d85e7e8139fa5e4ebd167aa8af8439934f34eb7f1e5\n# The key for this test vector has a modulus of size < 2048.\n\n# tcId = 283\nmsg = 313233343030\npadding = 3051300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc\nresult = acceptable\nsig = 15eec15039b374bab3d0eafff08146e4ace24e67a2dc14dc6cd19826cff0ffef52f62210d5d1299ee482c6d39be0fc4544b2911af75a8c5fc1b57b658febdf094d4f648f82ac88717c14204e3a570b2c796ac3a2e3cab052c3ca8f5d39c5e5a4ce883b5aeb6a9e6f0b72d6ef7b8caaf75c4914df6a8a0e7ba6180ac639296d9e29f21b7b6ddc09ebd9559ce95d3fa27d7325a2c3e8c4dbe52f18036a9261a2f35c48e34bb5a137fd92549746b0095008e63d351acc66033f3c9b6623d2db976d\n# The key for this test vector has a modulus of size < 2048.\n\n# tcId = 284\nmsg = 4d657373616765\npadding = 3051300d0609608648016503040203050004404fb472dfc43def7a46ad442c58ac532f89e0c8a96f23b672f5fd637652eab158d4d589444ef7530a34e6626b40830b4e1ec5364611ae31c599bffa958e8b4c4e\nresult = acceptable\nsig = 17f4a3294054ba76deb171fa60d4d224604082432b5119253bb28766aeccfdeee20fcd450fb2b1c76496d28f871b7d3b3b768a81ccb5313ffc37a25760c30d282c309fc929108ae743507edca29b594360c924c8f00f472bdb15fe207fc76c83d4160ec3ef502349f4baff23cf2c954029db4c68eac992447dc63abb3126c1b82af57472aa205c40dbd445f008e01dcb3ddf770fc0d778c3f4913a9c4615dc6291e29e0debbc3b02a82f0a52ed59f0ea19cced519cf037b4d6159cab53c23c67\n# The key for this test vector has a modulus of size < 2048.\n\n# tcId = 285\nmsg = 61\npadding = 3051300d0609608648016503040203050004401f40fc92da241694750979ee6cf582f2d5d7d28e18335de05abc54d0560e0f5302860c652bf08d560252aa5e74210546f369fbbbce8c12cfc7957b2652fe9a75\nresult = acceptable\nsig = 505ffc20f64d17502d9697458c58153b34bcf607a01dfa4fc77c89df2ec41e63f9b396056b76140c46b2b47d6535fea8dca0ba19395df2f7e7f2ba53d05c9cb4eb2e04d2a123747f15899c65cee85e794626e35c0f1dbd3e592904c0f0324e417d122a0adf401a0a5d5e7516d263fc8f6909c7ea7c984a4e3f1c9535e6a6e66d8d35689ced12049b4ded2cc93a5e6148773dffdfd1734ab55822a6e38a654a7bb82fecf83d5816228962e17bb8bf6f3108f0c89bc4430d67c38d648d7a17a29b\n# The key for this test vector has a modulus of size < 2048.\n\n# tcId = 286\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\npadding = 3051300d060960864801650304020305000440aa0a2e60e45f276fe3aefe9fc07c6f2435f143ee2afd895e4809384e833be66a6396c839d6f7db83f37736645454c6e63712b27e70edcdd7440e1275235070c0\nresult = acceptable\nsig = 75627812c1b05dea5a309394dd74d9fad11a6776cbe6d8ad0936b343bdbd0b6a770ed1075676bf55cabaded9c6f74913e97f512dbda5b9ab0578b1f1dcfde313fd88c4c876252f4334c2d4752abb22c484e76237f59878b42d4d75843c93761ab3532295b6a26dec558fa6a65321d0f6f3fc88c8c21ffb8b0739de2459f1a3fe1fb9b71a92de934d86a8efdd0447885cfee91ed8b559df65d5b57276b5ae2068ec30f3dfe48371ea59fe487419c9fb3c4b58449c46553b497a2ddf7b30aa7a78\n# The key for this test vector has a modulus of size < 2048.\n\n[e = 10001]\n[keyAsn = 3082010a0282010100c32cd0e1441fde8a2896ca3a133735be2d1010777cfc739afc77b6daa66f367d4876dccb3021fc22c25450a68d6cfb1191d485cbfba5ec45b49286d7cae2bdae553f47e10b94f867abcc6d0affc733bacc725e5ab4de1aba19a39d748b4c1355d5a6a710a52bd04c0c24e7bc3bdab8f3ce3ae86ecb31c4b45e10b40ddb5fdd40cb2411bcf5b1d392e1eef959cff2709a6e02b20ff3b4343641a6b78599586edc9b673d9f3f5e9d339ceebf96a1a31655876c39fcb00b1c3e571908c9b744765047abb5c23ecc42e551e13755e38cc9a13e1e02bcd5dcec9c301fab75be3e1a8ee9c42981607aba7855f4bbe76c8c160e80468b54bdf9f438b177c33dee30b0f50203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100c32cd0e1441fde8a2896ca3a133735be2d1010777cfc739afc77b6daa66f367d4876dccb3021fc22c25450a68d6cfb1191d485cbfba5ec45b49286d7cae2bdae553f47e10b94f867abcc6d0affc733bacc725e5ab4de1aba19a39d748b4c1355d5a6a710a52bd04c0c24e7bc3bdab8f3ce3ae86ecb31c4b45e10b40ddb5fdd40cb2411bcf5b1d392e1eef959cff2709a6e02b20ff3b4343641a6b78599586edc9b673d9f3f5e9d339ceebf96a1a31655876c39fcb00b1c3e571908c9b744765047abb5c23ecc42e551e13755e38cc9a13e1e02bcd5dcec9c", - "301fab75be3e1a8ee9c42981607aba7855f4bbe76c8c160e80468b54bdf9f438b177c33dee30b0f50203010001]\n[keysize = 2048]\n[n = 0c32cd0e1441fde8a2896ca3a133735be2d1010777cfc739afc77b6daa66f367d4876dccb3021fc22c25450a68d6cfb1191d485cbfba5ec45b49286d7cae2bdae553f47e10b94f867abcc6d0affc733bacc725e5ab4de1aba19a39d748b4c1355d5a6a710a52bd04c0c24e7bc3bdab8f3ce3ae86ecb31c4b45e10b40ddb5fdd40cb2411bcf5b1d392e1eef959cff2709a6e02b20ff3b4343641a6b78599586edc9b673d9f3f5e9d339ceebf96a1a31655876c39fcb00b1c3e571908c9b744765047abb5c23ecc42e551e13755e38cc9a13e1e02bcd5dcec9c301fab75be3e1a8ee9c42981607aba7855f4bbe76c8c160e80468b54bdf9f438b177c33dee30b0f5]\n[sha = SHA-224]\n\n# tcId = 287\nmsg = \npadding = 302d300d06096086480165030402040500041cd14a028c2a3a2bc9476102bb288234c415a2b01f828ea62ac5b3e42f\nresult = valid\nsig = 19c576f191c273306ec6ee9e26c673bdcf3f821adaf13a0759df7787511ddb096e964f5dc199ccc5cf131f855065d6ff0a6c720651477d9026bed82d201f6e84a23b37725fd24f5b75aedc2afa24524e7222c0dd7c6d2742430bab3ec46d12204a94a533e2a9147723d087d619e07873a4261c420226ec1869abd70117c787d4b1827fe98779287451086354292bbb90617ceb391122efe70887710c5cb4549d163d37e79b33c1b336826cb53b648689e6da54241d20df822cf7770d7beaef4bb00068252786580a88cd00e93f5ef42b69efa7c364b98749fe734ee7bd13d0aca585d84e4fe4b29478697170280a5921278997ef9856f7372b6995d7eb43ce0c\n\n# tcId = 288\nmsg = 0000000000000000000000000000000000000000\npadding = 302d300d06096086480165030402040500041cbd4f57a4cfb1649cca33372f5c5ad32b993ff73aaf4fb75d52798480\nresult = valid\nsig = ab2e758c8de97282a7ede3401680ead187cc08658be0041f108851149a9b9d2588d5ca544039533eebd0305c07f394504d91a578f5764267149d4ef70b88a2a3f8cf0b1061d06882af53a88bef195aac87294dc833d80f42d942f3a59bb242b187e23bb89a068bb4c8a215247d04aec57f81f75c14e711b5878b04863e715d0f359ad13f008b79342b7a4ca095fd021f639e8f48860c1eafe6fa19162c2632a2d3a05330d149f3ea6c9aed9f89fa3f7bcb2cf2a3d1af0484178710c21c046a812f3b8d68027173ff5aeb1ad19ea6639e2d886eabf8149a8fb491d2c36ccfc4da2a9785a992046f24a93d2dd7765a171cd8ecb68b94ee70b0e5bf791967267251\n\n# tcId = 289\nmsg = 54657374\npadding = 302d300d06096086480165030402040500041c3606346815fd4d491a92649905a40da025d8cf15f095136b19f37923\nresult = valid\nsig = 61c702c72b0177ac857e52707c1a40b84a1859bf1d7d1cdbda643f924e8bab7c3d3eb2065aff837e92f93836fd54ea52e085e19cb0cb59fa58afad48480c2dac579315340883886e78456ce750fc55b6c188b716bda7957ff547222f0cc1462344de4bf078ec19f1ba5901a0e5f40d93dbae4aac407834b272a2be82c8da085a3e1e9e0a57d3f43d26462566f0aeade04ee8981fec8d7e34c916fe78c0c5c43781bab2fecab654fa55ac99182545d0ddf070d41f67efe0737d8ecab3411720c84862606c8e4b53e60faa1c9a98386e92b03d676b53e3fdbca3bdf0187ddc50086cf82ca6052be55fbb7f3bdb6c6c0432defa5634797c23b494c3880846169b67\n\n# tcId = 290\nmsg = 313233343030\npadding = 302d300d06096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c\nresult = valid\nsig = 965f82f0649a338ef14387a7f3335b9e2d5d3b4009eecfd26c0110344a30117bde6bad668cf083beb28242460fbb96adf9754b9a4d4505f6412e677bf3349868fd5b5268786308a5293f2cb2f7ffda76104351f10381e504e72d27435d5bea0517d20ebec0afa531e520e5fe484475a330a40ba1109c204fabc44ec099878a5e31342a650047c299a5f2322f057b9586cd9eebeed1f3d2d94aac24f9d7b2f05c6f28bc49cb2b00f5e56870fa099cfb2c3e276381adf5a030ab6ffd9cb96fe309061d44c2ca5ccdd76a69458be561e3f0ef603ebe9ecd533333584236970dc7414124ace98357c496369bf94123bf0d4e57b03aee567c2f83a9e6378e62a42fed\n\n# tcId = 291\nmsg = 4d657373616765\npadding = 302d300d06096086480165030402040500041c3dc6a3fd912b08bf15170296c4f1694f512ffa1dc9bddb8b9e1c8d38\nresult = valid\nsig = 105c68d221aa579ab6206d23be01d0c91f98fb67ed8d2044b6278916223758aa346bd6d5c7282d23a2bf702e0facdfb884e0b389202a5073a715fa80158e31d1e3588af30d2fd8b61233499ab7952f0761c84912b700fec807937d00a021eaa84d96f59760cc7733236138cb4ff1fb04c7d4621331b5c729f9694555b6f9c324e74db4a7a8b72f2853dfd0b9fe63759b3468bc66017bd6c1aada2070dc8643b5e581f12cad170d9fe754c65dfd0a5925cfe846a8413d729103e9d7e8825affc20f477d5bd3860947c2665ca4170fc44f2670bc33b51d42e5df78134919bf4660cfbc092c1cdcc09c8fda1ec9383512abe253cd1a470271832e0c7de5a6d9a7c2\n\n# tcId = 292\nmsg = 61\npadding = 302d300d06096086480165030402040500041cabd37534c7d9a2efb9465de931cd7055ffdb8879563ae98078d6d6d5\nresult = valid\nsig = 3662fc9bc91b00d457bce2fbc667dbb31ce7fa451acdbad95b4b418782b8af67d2fbaf1424be2c99e95e2637d8d39e751d757f89711ae165fe5bf142fd88b284df696e948ee714e3f2062c5d01d04bb6c0387aa5ff1511552dd066bda861e1c5cbfe73dd8c6bc3039b729c700c8f297f48ba2a36aecbb626b5c9f9b3c04102f55ee65ef5477d8d1d14d9b7b048cdac54d7239177e702d0629d3617de2a9fa556a6d4ec37fe38a46b768e39f1d8a380484ffe0cef59abb7e20ffdb7c11b14a42ee3cedda99ef9f71eae7cf760fd81172e03a3f2a9f7e42a813db3b089c11528350e93b131641b8d023d47447f58aeb9f3f38760df8a9b1ad4b8d43ba0c9018e02\n\n# tcId = 293\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\npadding = 302d300d06096086480165030402040500041c15a322a18b35c3afd3937b5ac133fbd8d883d300a29ed9d9e2b3d601\nresult = valid\nsig = 8392c4d888e7c63ae2a3d53d560ccbc226dbb1d9f69100fd86a19ef30a83981371169deb4ef87aafcfb4186c5ebf8d83764470acc8c9cbe36a9b15037e25b1dfc63e929b0bb3891be2d1804b8c6a0bf65891943e4c0fd21e7df55c134dde69682244d22510dac2b304c10a2e31adc134ab27ed186568fa9091df16f1c9f4e7044ddef6675269de710774ed124b52fbac9bed285b4be5ef9f2fd50e1d95383e145553762fb87a1da173b8b89a7eb9e947d08b5303ef0992bf4e3783c30253a43b373d90a75bd52fc53ee4fb86bfa1bad035a8177f8c0a9f53a6214ec950c2a07cea7f908c55c24dc31799867f819af18fa30f304ea001ce9cc87eb703ab578f5b\n\n[e = 10001]\n[keyAsn = 3082010a0282010100a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d50203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d50203010001]\n[keysize = 2048]\n[n = 0a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d5]\n[sha = SHA-256]\n\n# tcId = 294\nmsg = \npadding = 3031300d060960864801650304020105000420e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\nresult = valid\nsig = 840f5dac53106dd1f9c57219224cf51289290c42f20466875ba8e830ac5690e541536fcc8ab03b731f82bf66d83f194e7e180b3963ec7a2f3f7904a7ce49aed47da4d4b79421eaf937d301b3e696169297b797c32c076a12be4de0b58e003c5123051a84a10c62f8dac2f42a8640008eb3c7cccd6760ff5b51b689763922582845f048fb8150e5a7a6ca2eccc7bdc85349ad5b26c52137a79fa3fe5c29ab5cd7615013219c1941b6708e9c3c23feff5febaf0c8ebca5750b54e3e6e99a3e876b396f27860b7f3ec4e9191703c6332d944f6f69751167680c79c4f6b57f1cc8755d24b6ec158ccdbacdb23107a33cb6b332516c13274d1f9dccc21dced869e486\n\n# tcId = 295\nmsg = 0000000000000000000000000000000000000000\npadding = 3031300d060960864801650304020105000420de47c9b27eb8d300dbb5f2c353e632c393262cf06340c4fa7f1b40c4cbd36f90\nresult = valid\nsig = 8a1b220cb2ab415dc760eb7f5bb10335a3cca269d7dbbf7d0962ba79f9cf7b43a5fc09c99a1584f07403473d6c189a836897a5b6f8ea9fa22d601e6ba5f7411fe27c638b81b1a22363583a80fce8c7df3e40fb51bd0e60d0a6653f79f3bcb7ec3e9dc14cfb5b31", - "ab1735bca692d50ac03f979dda92747c6430f8045efa3513ba6e0ce3e9e35570e1c30c8ebe589b44192e1344ca83dfa576fc6fdc7bf1cd7cee875b001c8c02ce8d602769e4bd9d241c4857182a0089a8b67644e73eef105c550efa47a40874289395ac0c4e02fd4ba98e130a4c2d1b95521c6af4a002ac3bdc6e52122ae4c08cc3da1c896e059acbddec574ac0432f6103dd97273d8803c102\n\n# tcId = 296\nmsg = 54657374\npadding = 3031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = valid\nsig = 264491e844c119f14e425c03282139a558dcdaeb82a4628173cd407fd319f9076eaebc0dd87a1c22e4d17839096886d58a9d5b7f7aeb63efec56c45ac7bead4203b6886e1faa90e028ec0ae094d46bf3f97efdd19045cfbc25a1abda2432639f9876405c0d68f8edbf047c12a454f7681d5d5a2b54bd3723d193dbad4338baad753264006e2d08931c4b8bb79aa1c9cad10eb6605f87c5831f6e2b08e002f9c6f21141f5841d92727dd3e1d99c36bc560da3c9067df99fcaf818941f72588be33032bad22caf6704223bb114d575b6d02d9d222b580005d930e8f40cce9f672eebb634a20177d84351627964b83f2053d736a84ab1a005f63bd5ba943de6205c\n\n# tcId = 297\nmsg = 313233343030\npadding = 3031300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023\nresult = valid\nsig = 1758eb94588e6fc4f50c1be1afcaa41027869f304cad513b1fb12c2f446d63cdc05c4830a7e3e630da7b2da4f7867cc173bf6420f9732277282596de41ded32e21d0cc31441174da8765f57419c7764ea758f55bc17646eb100c435d1ac0eed6fc7ba6de5f832094ee2f479979765e05ac9976788db3c241a9e32a0da864f0019a87646ba623d63f4411af5dee1be9ec488c7e3e1b231479de70b9ac5f78a17b1f4120aece45f26c07e7bb345fdfeb05e14bcaacc614672a465fc523624cb19f66f9c6c3f642b832ca44cb25176d679f0e05606c3fed022cac24c2bf960a406d48818e3eb7ed53b0446032469047dfed95fc18088c92d91d93722c47f88163a8\n\n# tcId = 298\nmsg = 4d657373616765\npadding = 3031300d0609608648016503040201050004202f77668a9dfbf8d5848b9eeb4a7145ca94c6ed9236e4a773f6dcafa5132b2f91\nresult = valid\nsig = 513a5abde16b5e0ecb8659d3ca0845800adf75cfc4437d42fa34e7aafbbe35fc5984d3560cba938f9a622e932bb6162b7fbb6cd8c1cf8815f28c495995ac18cdbe8fabfdce29c17aa021df192ac02d080d7c5eda6bd4c99154178a9d5e1cf3ff4177106315f4e6d74c991b601069acd60b55b3bb4dbf6316c35096a487d6756181d3394944f1c742a2f4d608ce4f6abbfb72347ad7d342ae15dd6d1049fbd0ff55f4d7c43ab805f81ff1fbe9256b5c78c2de6beb787f4b6d66d290a3d4c4857368aea5f7ebaa1296020c8f9e3670441a08038bb810e853a654e44316a4e52428745123ce2714020d00e55a9eb82f7fb41c73d852a82b003670246c6ca2045fc8\n\n# tcId = 299\nmsg = 61\npadding = 3031300d060960864801650304020105000420ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb\nresult = valid\nsig = 38c042a00d6f27742a46f1f963a7b2e04f0eac637849631a491b8e4e58fc721c6ce620d5e705dc8e73409c3909c1c68b6bdb2b30f882cf2797e65030b38c4e7daf6fef9d1f115c890086cf54ca3e7c2b21dcbfd1250ed1d925810970f17dbf482d1784f296adee9ace6979075c1e12f5580cfb322e8737db9d127d38e1b99ed87ec49448a18a6fee650d3c27e4a2a86a3d6e3ce4fe64120be60872fa07a3f78a112715c167fb6c900698ba1afd824087a4cf733335c4a6d5120e3b29bc42f3b3d5db79973e4e321e0910a288d18cdba172d060283c4f4c6656e9175a18b756b7d06251e9060bbfcab04978853eec6032850a0e757bc0c61ad38aa4eb6bb6d907\n\n# tcId = 300\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\npadding = 3031300d0609608648016503040201050004209432c1a7d343fcfacb164bdc44ff71c1281c004886b1c428419088d06cd3561a\nresult = valid\nsig = 2ae8d95b19cbd64d0e343ff413fffb85d8e6713c06ac8a1ceba7f3924fa740f8d2b3e120fd71f22711e795cd6468c5e263b1a5ba6ac6b8fa9e23d2d6e7243f510592a61d134e68b8ead00612dbf38c5b7302abc3bf33f23e6d4816a6e3ddcea6482566e84f57464f7d56de4cef0b2256ef21874dda4c131a47292ff8ef853f93804483c8e6373d39ca3a22552e75427b812b861de6a310ff4c366f6f6604116efd9770170aa423554c4ebbd2b5c0698950e66bb5b7c5c346285d9f5c35146255736b6e818e8e77983c93b21e7f60b04a7a525598e7fd8049b181000bffc7f3753a504370f6bb70617ac8e914deb05a198a5758a459c9fcd2fce1aede48e8a852\n\n[e = 10001]\n[keyAsn = 3082010a0282010100bfb1873c3e85a383b14c36fc0a630c7c4ed51a3b7c8fe752fdee259cca52634af4b9276395e58381bc018bd6ce37204df140c557fbc52852bdfbbda31596c63574367ee273acb06164210a6a3193d3da6a720430b89e8c829c4bcd08145282fb295a84809537f26a8e126612c57a605ca2b33ed0674aad19914e0cab73daca6e018735a33661b3994726e5158e0390fdbfe2ad1fa27216e8c2a4b77857a95f99e2d35326438ba9fa0ac119fa930a817273299f6e49eb65ba4f521e1d50c440542c7fe3f7487618ffc4693010e0049344d465fa57dcf999ab6b42e7011571a9bf6d7ac3c84344da872e9ce3a8ab5682ce206bba31299033161168700eed4f62750203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bfb1873c3e85a383b14c36fc0a630c7c4ed51a3b7c8fe752fdee259cca52634af4b9276395e58381bc018bd6ce37204df140c557fbc52852bdfbbda31596c63574367ee273acb06164210a6a3193d3da6a720430b89e8c829c4bcd08145282fb295a84809537f26a8e126612c57a605ca2b33ed0674aad19914e0cab73daca6e018735a33661b3994726e5158e0390fdbfe2ad1fa27216e8c2a4b77857a95f99e2d35326438ba9fa0ac119fa930a817273299f6e49eb65ba4f521e1d50c440542c7fe3f7487618ffc4693010e0049344d465fa57dcf999ab6b42e7011571a9bf6d7ac3c84344da872e9ce3a8ab5682ce206bba31299033161168700eed4f62750203010001]\n[keysize = 2048]\n[n = 0bfb1873c3e85a383b14c36fc0a630c7c4ed51a3b7c8fe752fdee259cca52634af4b9276395e58381bc018bd6ce37204df140c557fbc52852bdfbbda31596c63574367ee273acb06164210a6a3193d3da6a720430b89e8c829c4bcd08145282fb295a84809537f26a8e126612c57a605ca2b33ed0674aad19914e0cab73daca6e018735a33661b3994726e5158e0390fdbfe2ad1fa27216e8c2a4b77857a95f99e2d35326438ba9fa0ac119fa930a817273299f6e49eb65ba4f521e1d50c440542c7fe3f7487618ffc4693010e0049344d465fa57dcf999ab6b42e7011571a9bf6d7ac3c84344da872e9ce3a8ab5682ce206bba31299033161168700eed4f6275]\n[sha = SHA-384]\n\n# tcId = 301\nmsg = \npadding = 3041300d06096086480165030402020500043038b060a751ac96384cd9327eb1b1e36a21fdb71114be07434c0cc7bf63f6e1da274edebfe76f65fbd51ad2f14898b95b\nresult = valid\nsig = 446e7cb43ba8c5fc5835f35f764e183fd54cf26e406149343f1346aa2acd215a6e1f26b9af53fe165c81429f6dd69e422ef7f0930c750ce0a79d1bc8491c0df320d81cc57606833d02f1c82e3c55d730e982e29e3c59fdad24d3910d8ff75df99cb3a67b8bdad00f7dea293f98c90e812ec182132b257c65a328ccc3fd203eb1b09181f50c6b4a8767071bcbf9c08c8d7fca99f80476975cd6e6509014cf4215475435fb520bb7374886c5664577092ee47a6460396fdcc8c7450c3b87ff9a951a8cd6e7209d762350157f7a7f8d6858bae4aaf13e38d2d06a7b10dbf96ea2e444ea66c9d1c91def798abe927715ffcce2d4d18f34b23ed6bcfc2aa79327bb80\n\n# tcId = 302\nmsg = 0000000000000000000000000000000000000000\npadding = 3041300d060960864801650304020205000430a5a2cb4f3870291de150e09ee864f3b2b3b342937ac719a149439185ad6a47bb4f23ae83ff20f0c8f0c79a1764244a63\nresult = valid\nsig = 51c1c99864e703b875e3e1629a7227d1d777e13d12968e28b358f5fc910cac6c836183aaad8baace0822a9468539d476a8a1a8cb2fad7486d400b11794ae38ec288f1e6e0c76e3616601634ce4286230625dd4c970ae97924e5a2982ec6be8cb0bdb6dc62523999cdcb8408e1aea3048ebe020c8c86db2f9b424ba1b1ff7afebc775b76725dab5a521e06d7ca876ffce9c6ac210459d19b65f9a7ae96a6febb352b500d2e2723dde3ca2c1a073cdfd99945fb521e8ebeb1e8da1c382c3f4eb73ccd5e6af07ad4ba647bbaf6c9435040de3924dc25289eb87419e367565ba105ed7747468acdfb3654fd3a2da7fa33f26347f0efce04ec91968c03bb6153a333b\n\n# tcId = 303\nmsg = 54657374\npadding = 3041300d0609608648016503040202050004307b8f4654076b80eb963911f19cfad1aaf4285ed48e826f6cde1b01a79aa73fadb5446e667fc4f90417782c91270540f3\nresult = valid\nsig = 623c0920639c8cdbc0f0190a9488ac6996d36d4fa4c61019ac5347da64862b3bebfdb112365d0473d32736dffad9be3a24acb57d1ec2ef7a41fd8e972a70beca630867ed6052b76c467c86c5851db0ed0b898fbe33cd79a000ca529eaf07254d979140d0a1aa43f1214fe13876483e80e96f1d17004c89d598d359e11764e0c4b0491e9c52345aebaeefe484f9ba0c9b5ea824e267f1de9f75b882c0b89888718a5dbcaa0966ccd0f2e7243e794e33fdfbe0569c0e975eef3ba50152db5292d36ffd6f85bfedb6abf3c65e6f789a504dfdaf003facd1f16c66c06a79549552109d55c1bdcbf0abbabf7cf2b6a8bbf0065fafe41e029f783d69ed61360cbffb01\n\n# tcId = 304\nmsg = 313233343030\npadding = 3041300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace\nresult = valid\nsig = 22a290e37fa590f3e164cbd7c211faff31e43ca0abe1f5d6f6b33bf16fad3925b0f9c41c9d847d9fc4cc9ec1816bd133f916f8650c2d77f482a753e7b8e7e2693bc345895de467f17690f8330d2212928d9090d34802020bf73999197f70896afa9ada4f353d438b6a0c809f74c28e65d2431f3d0c50e1d536fd3efcb6eb8327f18f0ce3964eb39100531f73a51b10a42d5bde73969630727fd74fcdaeb2a49687e344fedb0d54d1ddc7070aac0b08f4594b0f9e7e4c3d18b9ec24e20e95", - "7eaf861753ec6a2de28de823e2f4c7ee3d6d42a5f5480b4e32dae97f802907248bfb29dac52f24ab1009c3d0ae13c4ad6bed1e575aa86ac9d69ddcfc771df7b890ff\n\n# tcId = 305\nmsg = 4d657373616765\npadding = 3041300d060960864801650304020205000430b526d8394134b853bd071719bc99d42b669bc9252baa82dcafabc1f322a3841c57cc0c82f080fd331b1666112b27a329\nresult = valid\nsig = 0c9ec254a5e405d6b33be22985471c75b6b66158ec73d1dec8bc54a25d1036baf23e902a9ca025732d6cf581a7eb0cb59aa7fcb27c99c5ce5146a59627e5453faca300a0a5f95d9d55782bec4db4e4b2acbcad85d222403996f2f05552b8abffe11a1b517deb4c25e39ca38cc53252c987bbb992643c4c280ffc71fc87cf776d94adf3d2cba279df2c2021f68bbd4a87ea6045068cdae95a773c1e7f1066d37e67b91ac7c5d7850a25589b8bc814eefb30547f847fe9135aca321c56291aace07ccdec8a5848c7a80c419aa35ede36f50d6f1c593453561a46c4d767a7cbfafaf1d448c5ac118e121c0d06045cabf171fdc43192bb7b30449467ba95c671d3fe\n\n# tcId = 306\nmsg = 61\npadding = 3041300d06096086480165030402020500043054a59b9f22b0b80880d8427e548b7c23abd873486e1f035dce9cd697e85175033caa88e6d57bc35efae0b5afd3145f31\nresult = valid\nsig = ae7836c86c23e8b41ec2cd750838e78c5de9d8d54e74e3985c88a7380446d4fbd6366925ce5dcd213f46bf2f5f6de2cea4df015f2cd8c2c3d71b7adc743d1d045c88598c0b1ddf1bd734c2fbcfb446c9ead91ec468ffc37fba4f948fa950ce6f70455907f34d76f6a68e7b4d7bf2f805384fe2c0128eb3418f804a87d96c2968d69d3487e2d827cf1da978b0c723b312ab65bee05e01245ecba28ed45f46cb249641be080a3b35a3f1925997f52e774a3a509a384dc7f66f28d6930f8ef33704da53f582305b61ba234d11148aba024c1dea63fd74b6f34e4375a130975f7bd257df5184573c426910d3930a902e1d05975ec45042241f3322c34f4a697c429a\n\n# tcId = 307\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\npadding = 3041300d060960864801650304020205000430ae9ada2a808aca7097c9e9c30fba4ca60a5e79874a6be0f5afeb7f5df3538346f04b84ee06bef7ac879a0085bb2036c8\nresult = valid\nsig = 8de7393e352364d42d6c45ba249cf557d61b6283558384000b7552267acfa6ec3607d550d37b63850f4e734adf90608b76ed05a74e97fa4e8f42f79a14dae885e1b02d83a2707241518295e5844cf6e7dcd418bb935aef3bda8309eaca38afecf80e12fcd256b3ba724f7012729c1cc2b5ad36135877b4082b718ebd10212f19e45f17d05d416267a67759392b58693d093cdb2747c4c06f2a102e164e9498f83111ca97250a89dfb9eada0095062b90f2c44442220e4ae04738d7a76394e3ee859497224c33b92866941d171355017bc5ccebd61ed9234963fb63acb6ffb6571b1b20ff806a7050ecb14d48eb745c9acdc95d102f62455225db05eca49d4ec8\n\n[e = 10001]\n[keyAsn = 3082010a0282010100c2c4a860236d3c9096a076d6ba5107e0f7bd81e1ba916f7375724bd2b0b0b63956813715a3457ab0458b71fb35a45b27f9ef7ac3e579dea45dfbfd07819ed6b7021aa5336c58442aadd96ca9ee9d32473e9d9278562b4d10258ade6a98fb1c7cfdc3b3716ef5dec58cf73b359f389599b4b5865a9863519eb001c324387da755450db341309360e3807c0565b8e2c44fbd5e6e8d04d006d7ee768b8e8436082a90fa0e837f32f46087ab4a0d9be28aa7da1794ceb0172a7f50ed20f6df641efbcbfd2aac89775c761a7310093c671c977fa18b0d6e01fb25f7a432b42c65359784c689205719c1cf6e3a65dae2da434c326dde81bb6ffffbdbf6de5c16bba7490203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100c2c4a860236d3c9096a076d6ba5107e0f7bd81e1ba916f7375724bd2b0b0b63956813715a3457ab0458b71fb35a45b27f9ef7ac3e579dea45dfbfd07819ed6b7021aa5336c58442aadd96ca9ee9d32473e9d9278562b4d10258ade6a98fb1c7cfdc3b3716ef5dec58cf73b359f389599b4b5865a9863519eb001c324387da755450db341309360e3807c0565b8e2c44fbd5e6e8d04d006d7ee768b8e8436082a90fa0e837f32f46087ab4a0d9be28aa7da1794ceb0172a7f50ed20f6df641efbcbfd2aac89775c761a7310093c671c977fa18b0d6e01fb25f7a432b42c65359784c689205719c1cf6e3a65dae2da434c326dde81bb6ffffbdbf6de5c16bba7490203010001]\n[keysize = 2048]\n[n = 0c2c4a860236d3c9096a076d6ba5107e0f7bd81e1ba916f7375724bd2b0b0b63956813715a3457ab0458b71fb35a45b27f9ef7ac3e579dea45dfbfd07819ed6b7021aa5336c58442aadd96ca9ee9d32473e9d9278562b4d10258ade6a98fb1c7cfdc3b3716ef5dec58cf73b359f389599b4b5865a9863519eb001c324387da755450db341309360e3807c0565b8e2c44fbd5e6e8d04d006d7ee768b8e8436082a90fa0e837f32f46087ab4a0d9be28aa7da1794ceb0172a7f50ed20f6df641efbcbfd2aac89775c761a7310093c671c977fa18b0d6e01fb25f7a432b42c65359784c689205719c1cf6e3a65dae2da434c326dde81bb6ffffbdbf6de5c16bba749]\n[sha = SHA-512]\n\n# tcId = 308\nmsg = \npadding = 3051300d060960864801650304020305000440cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e\nresult = valid\nsig = b03dd72dc84b305ea811267a489aba10a1dc54b59f92e58546a2f0b6883f543512d621951352ef12abafe4bd6e10c2e5b0eabbbbf1d081b66e535fc9b8ad379040c3c71ec8f2b4f5d319f5d2a0240a767ddb4de1fbc878b2c5e8e1e260217bbd70971789fedb8c677fc8193f67e4637239607c7b9d3511868ccc0df372374abc685c9b4b74b2c5f11758f809b19bb3b5c464db870fea61ddfa5e18be2c4106f3e165fe85a7f8241db2806d0fc3c45d8a7f1eb4ca411a46ac411b81c04fd8c4ced5eff497da6bcb8e2fbe1f95cf4c3e761fc3037c82276f7ebfb7e6cc8534cb4fd34192074f580c6e31008df4f1404ae8dbcb111503d4bdfe6e7107a1ab5cd8c6\n\n# tcId = 309\nmsg = 0000000000000000000000000000000000000000\npadding = 3051300d060960864801650304020305000440d296b892b3a7964bd0cc882fc7c0be948b6bbd8eb1eff8c13942fcaabf1f38772dd56ba4d8ecd0b626ff5cef1cd045a1b0a76910396f3c7430b215a85950e9c3\nresult = valid\nsig = 4de4dbf82607b36a5c6778ae6351d83b7ef5b4af64c3788889eb10ef1838822847ceb531914392360b92dee055796f73e3cdb8b3d50910a537dd2244fd7f922780356ea3f01e99e5bebcb1b6ef398d2399bd02472a871417daec3bbe6f89f45f1af0bf819a446dcbbb75c56958d34ba27c8120cee6ff97242921ccf58de9216995fa0c49cb3e6d60e46411b2df3b01b78fa81ca145ce8be594ee009031eda672eb097ba5ed6687a703b154ef616757f94237f4275f54738cb59d36b20a9c84ae133bd715747952f0222573a91faf740e4b7eb4e88abaa91004e72a1709b401616b2edb2784e491f671fcf5ebe326b669facaa5d8a0f6f8469ea995c4db772f06\n\n# tcId = 310\nmsg = 54657374\npadding = 3051300d060960864801650304020305000440c6ee9e33cf5c6715a1d148fd73f7318884b41adcb916021e2bc0e800a5c5dd97f5142178f6ae88c8fdd98e1afb0ce4c8d2c54b5f37b30b7da1997bb33b0b8a31\nresult = valid\nsig = a0f46582cde6be215351bb7b29e8ff24398816fad9e7e2ed6ccf1d0b5296bad827316c18b1565253291fa1c0baea9a735357cff8920e1024ae5707dd2f0cfcc9e6cc81402217d9b4f51e10def2bc2f4924e7d22c022fc87d6c3e772f4952050d027b003ab4267ff227a15cc7c884cdb46bbc7eb38852d0e6d8a12f485ccb0312157097687debb6feaf2b6dac998224c6047c1d5727195bb8ce05a59669034e88de0e4815af00c65def5b9748d017455056cc1ac6d3a77e31fcea4e726eda6be7bd33e509696e54d1d1858a1165fa9ece5d62e493c1a33ab3c94d294838a19f367fb799d6b69161bd9532a6ef317deb919923d78e33309f14a97b68023d600b4d\n\n# tcId = 311\nmsg = 313233343030\npadding = 3051300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc\nresult = valid\nsig = 9922f7bd01d7ba6b2de255b91209631af92e5537a4554b3b7a50e39f2fe9b6085a7e418084213d445794ebc19be43782d9f80df1daa7498a1c67d935ec00dac6b7a194033a14431320acd1d7f3d4c2b7b5b1649dd93931c49f538c94e34f44fdcb8dac9d31539f87e6720dc887c6605284a6a0408e244325e35917b1e1ccdf5959ca87091827c8157bdaa31239e2103ca8a112cc76a8e7e90f352fb8cb3a3381e52cedf4d4188bf881054b80387605e7041ab149cccea1ac2bb6560b45000601c33ebc31cebdd499c0b8fdafa7c1691d6dcc48edc98519d55d126a757b2a753eda4f2bf35cb191face371c9c34b2ab57242053b9ecddc91e4b621e650432adc8\n\n# tcId = 312\nmsg = 4d657373616765\npadding = 3051300d0609608648016503040203050004404fb472dfc43def7a46ad442c58ac532f89e0c8a96f23b672f5fd637652eab158d4d589444ef7530a34e6626b40830b4e1ec5364611ae31c599bffa958e8b4c4e\nresult = valid\nsig = 99996fc01a53bca03382b96e9ad83a3139bfacc5d37b180a099fb5d515a7b78a5c21a339ae6bd2bee8e0f503ba2bf892c1885ad5f4940a99d8d49df6f4623da16c337a011fb895c006100286aed82977be3fda054d1e935a872939b704750c3e2871c33768946e65a737184efa50060c6898247a6472854884fdbfc2533c936fe9c922d881bd5f093851b46693cf633e25f27efd6db65da3ad96f2e8154ac39f2a9859f15c919a92c8cd22285c1f9e87444e61769f6833bd0d56106f87825e472e59caaca1fedd8d4065fad9dbbc252a84c196bf5d6c40bd8660600bc6c825bc7470aaf4ad118c6c139a5c6fefd5223ef490d4afa6c06269ea8c0054aa1f368d\n\n# tcId = 313\nmsg = 61\npadding = 3051300d0609608648016503040203050004401f40fc92da241694750979ee6cf582f2d5d7d28e18335de05abc54d0560e0f5302860c652bf08d560252aa5e74210546f369fbbbce8c12cfc7957b2652fe9a75\nresult = valid\nsig = 7930ceed4b191365ccac54cc8a5bd38498c0d0c1fa5a862b6c0744edf9bf1969ec4f3c7c42aec737438acc797b8301aa8b30be2a4a4c1323be0427411dc8be84881036e9062a55fa2334176049305a44b97f90ed0b3becf56f8c9f164ef0bb45729f9fab1d459f", - "690c58f07ef5ef89f21b15da14a235f3012e6f83a7f226e118d3b7fdc9356c39667e1cea5c667b54ec5ca6a0d58ad933484f447c670e5bd3647361c81831dc710360a90692eb7e4a57ad225b2516d9c3bcc77323a9354d1b92d0b3f5ade911f5faac4e4bdbead32f3349840ee66f4010789a84f0934182c2b0cb7d6e72e2b2a6839d03d7c9f681bb7148449161ed50b4466d60002cdb7492fa\n\n# tcId = 314\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\npadding = 3051300d060960864801650304020305000440aa0a2e60e45f276fe3aefe9fc07c6f2435f143ee2afd895e4809384e833be66a6396c839d6f7db83f37736645454c6e63712b27e70edcdd7440e1275235070c0\nresult = valid\nsig = 16b5ecefcd0167682fbb3601a016bfa8bce9dd5855bf305ff00b45d97e50fecd27716997c37ebf8efd8b269558385b3ecaf2b6e38313508a7a14546107b75afb450b1a0e39cd0760151b666451bab43d7fdbd93771e9d98152ac889bf1abbe1c3f62049c4735602ebd6a90a0361dfa08417ba03c55fc6b7bfabb136851ab01eacf528abb1129bef47f2b04e2aa24c0341720f728bc9fe12cfa5d4248976aaf7035d19c18302fb9ae2443286a71198b500034d48113b705c83e64561762c583dc013cc099c7e5bfecbfaa7b971c8f1a4d3868fe0a4ad518372ca68c65bdefbb726b1fd92ad92ab739d2bd1af97724dc076ba011a9f32db3979ca4cf94c5370b77\n\n[e = 10001]\n[keyAsn = 3082018a0282018100c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b12030203010001]\n[keyDer = 308201a2300d06092a864886f70d01010105000382018f003082018a0282018100c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b12030203010001]\n[keysize = 3072]\n[n = 0c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b1203]\n[sha = SHA-256]\n\n# tcId = 315\nmsg = \npadding = 3031300d060960864801650304020105000420e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\nresult = valid\nsig = 157ffb942b1363b5989ec4beb93fb0187ef016de4ce055620825d13c3dafd4fff621c71920e884ba28c5e98b328baac29ad4bfc4d2cae2f0ecb9d1b6c9fbdfc385aa565aaf6c5b3150e085e0316e21d7d440a873074e5d2700d961114ed420478647a4769d832691f7a004d934a89dc249c9343341902d5d0c3d1a623001265634216beacd5f756821f21c3b58111790657690918a2eafa9e85ab1ee44edd3d8bb89e892acf411ba9eaaeef88eca37dffbda72751c117364fd1b38c840d7b42318fcd011a4449aeffc2de32836d3a4f704d4c8ad4e078315d0d1758f098f2ea749ccce62aac592ac4041b5e733ba0431b88332a39a2af7f68f9bb1f469a793b280b964f285ce5cd1ff3adcd7dbd464a7c9414ed45791073f08415be2dd9f01dc2fec8c3a26fe97d9778e2b2fccf71a1ea5e9ce017d2d46778d7e37bb832ebd5825b3257a7852db5cb6c132bcf9ba3522a670b0e866585444ed3601fd32a922818ef6611626eee3ea99cfcfeeaa4c370567cc65e0479bd35e091b772d7445cade\n\n# tcId = 316\nmsg = 0000000000000000000000000000000000000000\npadding = 3031300d060960864801650304020105000420de47c9b27eb8d300dbb5f2c353e632c393262cf06340c4fa7f1b40c4cbd36f90\nresult = valid\nsig = 631cb4bed6b79dcd3827879f6d64de3ae17e0fdb022be013e733bbfe0031cf204f0508ab87a2e2bbdfaa16cf24acc96b3fd2e72bc4a224428e515d6f1e0ea6927eba6ed7282a959e5df5e52eb3be9a39cfe139ea2fa45c21eb81b3197eff655b918f7c5fff6abab33945557a922063f9600a372ae7701db686f7e1fe4a6e804a0f624331fbb59536733bed3710dcacd22ec74b1a1386d045372853cac91130703ecafad7f6f42ec1aade5cb865339743c83e882f248b0db0855f487a6d3b55442f67773611a11813ff46a58c762b1bd70b5e870c3095507f23758e90b3c84526f47a825f0ae787acfd3ed349ca6786a2e84ec500c6042a9027a994c328c7a6868e6a81481b294383edda62773fd224af46e782ea3f00468515f6100486d94e818afca1bdb81851e62b3bf4f9236f061afafb3e399b93e6f6a295ae200c9bba5ff5aabcac8361c84f2e69aff8a8a21720b900d52ea4bddcfbaba3a231bb9b0dd48f0a4ef1cdd255b3524ca0633d04907ab672314c5e3173108313ff4a97df3772\n\n# tcId = 317\nmsg = 54657374\npadding = 3031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = valid\nsig = 5819a699691c01a7f35f0bb1831a1cb65631ef693f7c9ef89f1e8460ee2ec312f6fd38fe382b3bf4db8f5d208146c32c5ed2d3b13105743767a73529bfddb5753c8cc13148d41db97f69ea1dee0ef1e1de990ff565f633bd3cfd315a7dafc70aa7f27d4f6486a2f1e2711e7919c5c73c518069338c0ac984d75f58b00fb0eee0f7da6c9c84d97955137417df8f20c02b7893b5cd929ba37f6b3278a1bd35748e14086c5f7100abf2edebeab5f767bb83d999a61cc27531bb67e44a92004fba9944b9c5f770bc66671d2efc74e01fbbd2885c5175a1fd72b91937c324b8d99d3592bfb73efb9641b87949266de441b61d180e141de510ae0cdefc2160df918c08c53799f050ca4eeb3a8b6b5ed35b8b59d3acd13a600a8a137eb1b8c1abbf55f3e99cf52d7092d1e3acc08583b04aa25a052668bc982abf060ffb17c1782daf76fbd69e7fc9510c5c6a68bd525719be5b81d0f2a8b961f1aeac7dc13aeeeef9986c7a47b34f8b96167d79f7ec458fef7345c1c31bba599d09b3fe33e738bc7da1\n\n# tcId = 318\nmsg = 313233343030\npadding = 3031300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023\nresult = valid\nsig = 636d31d8d5dfe0fc6ab01ef2ccd4602dfea62d386b002c429e7e846e7a98d0cb1d448d25be039d5158887ab46a9dd49c41537a89036a065fc10329df051e5f2e5c1d4436e84790ff6db4d3f31575e5f0fbdfcaee625722c5492fceaa3fb29d0a865200dec06e117b04753ca9450a7ca7f7d1a1176cc38ecab721864413a0d7a22d8fc1595b6cd0032fbf154fbbb31b56d3bf963761ce8ec9fb38bba3419716d0d39e976857e79b1faefd5f5a2ce0ebd94968da1ec3a387804694d90f37b34033c7f70ccfb26beffaafb7bf56c1b8385d489217458e0a68b5d680f9fa45382fd1c227ff3c11e3ec82426ec648a564f0e886e5b12e695dd2fc8465bd9d08731fb140084c79be64d915bcb4ba10f1edb4c37e35231753be2d9f339d37d7b5f22c91584a68a973f9cc469a23d3b5800157dbd72a8405fef4e444ff01f7fd23efa143c1887504e81773743843d8a73209a1deb66c5f305df539bc30e871332e82330e5b66fa6ea253b2b64b4c9781011d20e80ddd8cb83916834eb8fa696b0a4b6bcd\n\n# tcId = 319\nmsg = 4d657373616765\npadding = 3031300d0609608648016503040201050004202f77668a9dfbf8d5848b9eeb4a7145ca94c6ed9236e4a773f6dcafa5132b2f91\nresult = valid\nsig = 08e0ae3dc0d16c927c423f12a87313afd1d66fbd5d09f48a4dd1a8b52102bbdd208284cdd692932869803a5c7f041a4492ac2e664bb6dd981c370e0c79ee3f7c5c6dd37018986fc2cc618139fe3eb85c0616f0673403c4afe7cbca49c1eff27bbf6d7e541b285ffff20b80bf61dcebcc4250068e25ef5a8e7c3306e49fcc2a1ee0f500a3ec603b472082f12ce4a6a12a6ac66cd4da8b6efac0796e9dcdc66c095a6282ae9a32ad274efe63f43e725410e6ed4c480828ed876b76b71b1cb8c142d0c7a51dc202af796d7bb55cf544dbde2f564f31994911ec7307015b0da2c51abe265a04a74b9afd0791a68e725cd7d8b473296c5d948157c10bc4682f74d843ce72e9ee8719a7a49d9de2f982c5d4490451eaed62c305eae3d0f9cb3493bff056a0dbca8579b7b41dc8deb1becfd5abb455634569d58c5b5535ff1356ccfaddd14e0f9f7f69a7ae9cb9f4c0c9f661fde349fa", - "cd21f0021423d3a9ee5031855dd242f27009090ff0c15d1655317383231799b18c01fad231385aa5020990f41e\n\n# tcId = 320\nmsg = 61\npadding = 3031300d060960864801650304020105000420ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb\nresult = valid\nsig = 9858e2557c6b99fbd84bc7eac3e31283a4efb351ff019343760a1e282368938e29ad902d3eb6cb29b35a036dfbcc7e06d2f1d15548df59ced35326295375bacd7a9d28a01b4e8acfb676d80b6295e19c6b7a259df56456e1df72f6a746e9cd31fed9b79b35d7a30a7aa257e9e8ac60ea886042b9194e7a383d1c9f71c84511faf6c96f7ae0e690112b26bb60cf7bb10f684e4fbe2a3a1b1c0caa9b1bdc79fde23fb758c2ba57880a4de461ecd2bc696689438183e2b9724fa68258f461bb4405425620a4d95c87ddd83e04be381bc743b05d26ede2ceff8a858636baadf56ef1dab54080da0f516307c579833717def053c8906d4f102448ab22693e7f52d5850193a40ccf0d68d1303953771a73924e4bcddd8486e1477d96250bf6b480a5f4b822822183694c52a2edacb331564444f0335d3b17d511ece59889b6d961767a3192d7f081caf7e671addb3757451776d4bd3b03f7b689843dcd59019ae4f292dba54738a88b86cc6ce3b123c61a446f4878b627a7f3585d8ab7bca9b258f10b\n\n# tcId = 321\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\npadding = 3031300d0609608648016503040201050004209432c1a7d343fcfacb164bdc44ff71c1281c004886b1c428419088d06cd3561a\nresult = valid\nsig = 1294490626bdb36a31c93fa7853d93152d920b022f1b473bde3083a99e11aeba8c03218fa07d6c4a5f8b2504d2cb54505c40130fef5a2412f7a5ddfec5e2c8b5058f7cbde7ace0ac01c7ba8a1bd897e8974d991ad2b95c2f03100a34ff408a788c70ab5ec73b5356a4e3c7beb44fcb9e2f3f25d1c974ed962b148167684351dc2a223a174c9744b092071d58dfd39c38364f47d292651e7806ad7962bbedb64739d7ea298f0254244790e3971c15b861c95f00f65532aa1c77fba5c04ad078525128e92ed2b4f1269ae744547e3efd4ebb63e9df844df152a098c47fa492bfe0f1917ec973867c7491f64c172cf3ea1bc3f97b42a397e6ad88d12e150d3dbe360071a3285d6a68ee6e736eb4d7d637c649c2f545259ecd430b25b38a1618d69a4602ca8a2a151066f12c3807f5dc7cbd06bf095711e4483cb0a89c26dd9e4b0b03e05beca349f601c894f9a245aca3204584a9bd844772dd87b83d481c8df18b615307eaf643cbe856488c160e077458e899755301749d2d27bc190d68a5da11\n\n[e = 10001]\n[keyAsn = 3082018a0282018100a07887f373378196b0b748cdf31c14735ccfa0f117acafdaa21fde4b6e7559390b834e7b92e9e1cc9d49fc0fe6cfb60429652b4bf9a7768f71fc4271ca6fef4e431192ebdc98630bfb94c5baf18b4cf7881d84483e4c44c22db15a9627705a0b42a26d6f3d6009aee0d2a71bedf4d4b0ee6b6fec2f16e1277ecaa3bdedba406473a476d1688df0fad1da795526c7e641981b4812b05b692d60c60b2bfa424c8b620f40dc9dba59e2c710e7ee750b3e134c1f71f43210688aff17aaa41cdb5668753f0006b1cf951bc5951f4d89a31196985ea55c0966c3662bcfe4e4cd34f12e4afd7e5c4a130739b1017d6a583882fd72db1a67418702c8b01353ccf75b7b93faec0e0be36211d5f2bd910e1552323711bbeb73858f899cc1ec063ef67d88e0c699d5a689c52106f06e960f09d2a3cf84f53bbea2a473edf2e6e0176801d3fa1c2d358e1e5a26f646ac93796ec1fadc6991c0ec19c9dd90b25a2dd3bf73d2cf1eea8867f96caa5a2df54973acb2a2da0a1367ec74afbb968f517765238d17690203010001]\n[keyDer = 308201a2300d06092a864886f70d01010105000382018f003082018a0282018100a07887f373378196b0b748cdf31c14735ccfa0f117acafdaa21fde4b6e7559390b834e7b92e9e1cc9d49fc0fe6cfb60429652b4bf9a7768f71fc4271ca6fef4e431192ebdc98630bfb94c5baf18b4cf7881d84483e4c44c22db15a9627705a0b42a26d6f3d6009aee0d2a71bedf4d4b0ee6b6fec2f16e1277ecaa3bdedba406473a476d1688df0fad1da795526c7e641981b4812b05b692d60c60b2bfa424c8b620f40dc9dba59e2c710e7ee750b3e134c1f71f43210688aff17aaa41cdb5668753f0006b1cf951bc5951f4d89a31196985ea55c0966c3662bcfe4e4cd34f12e4afd7e5c4a130739b1017d6a583882fd72db1a67418702c8b01353ccf75b7b93faec0e0be36211d5f2bd910e1552323711bbeb73858f899cc1ec063ef67d88e0c699d5a689c52106f06e960f09d2a3cf84f53bbea2a473edf2e6e0176801d3fa1c2d358e1e5a26f646ac93796ec1fadc6991c0ec19c9dd90b25a2dd3bf73d2cf1eea8867f96caa5a2df54973acb2a2da0a1367ec74afbb968f517765238d17690203010001]\n[keysize = 3072]\n[n = 0a07887f373378196b0b748cdf31c14735ccfa0f117acafdaa21fde4b6e7559390b834e7b92e9e1cc9d49fc0fe6cfb60429652b4bf9a7768f71fc4271ca6fef4e431192ebdc98630bfb94c5baf18b4cf7881d84483e4c44c22db15a9627705a0b42a26d6f3d6009aee0d2a71bedf4d4b0ee6b6fec2f16e1277ecaa3bdedba406473a476d1688df0fad1da795526c7e641981b4812b05b692d60c60b2bfa424c8b620f40dc9dba59e2c710e7ee750b3e134c1f71f43210688aff17aaa41cdb5668753f0006b1cf951bc5951f4d89a31196985ea55c0966c3662bcfe4e4cd34f12e4afd7e5c4a130739b1017d6a583882fd72db1a67418702c8b01353ccf75b7b93faec0e0be36211d5f2bd910e1552323711bbeb73858f899cc1ec063ef67d88e0c699d5a689c52106f06e960f09d2a3cf84f53bbea2a473edf2e6e0176801d3fa1c2d358e1e5a26f646ac93796ec1fadc6991c0ec19c9dd90b25a2dd3bf73d2cf1eea8867f96caa5a2df54973acb2a2da0a1367ec74afbb968f517765238d1769]\n[sha = SHA-384]\n\n# tcId = 322\nmsg = \npadding = 3041300d06096086480165030402020500043038b060a751ac96384cd9327eb1b1e36a21fdb71114be07434c0cc7bf63f6e1da274edebfe76f65fbd51ad2f14898b95b\nresult = valid\nsig = 473432cf11b6f96b1dd41e1742ace21cd10e8dad89a3e00ec68f3b45411059d0bbc6c8a3f077bfb4b12da60aca86dd856934061aa8e4c3221a019b7ed3d4e70ed8bf53fa140d3c31877a135a6ae140e021bea9408ee61fe7f32e60cd18932282b1aef1019f9a39789cb48991e535568b55eb26cf96e9bab35d03121f6be9f0d65079b064cff923edb5639cf08f48ecaec0670ab37b03e4cc2e604582e1cccef79f262c8b3d146887303c542ae7c455b0f68e882c5e2259ecd9f76cd3706e9894766089b267ed3bdec29df5b57e6a6f8deff21e093ce611724ba1012cf63aa2c62e7267af4b1df5ef030e6cba7b217d46fe43fab255f41ce086bec5e4f604718c95acdbd5c56bf8b68541ac0dde0a5e0f2336ea608864abdc5324b29b9f7bd35c514373efde38bb593b8d4b249535984662bf4b397b2a584ca15624416537320fdef81133d6038edd99ee19af9567c9fa536474effa925555c9c2fcea525fe2da935b791ec1d7d3bde33a58f80dd1e587e1c433239c65332e94d66d3c79bfd190\n\n# tcId = 323\nmsg = 0000000000000000000000000000000000000000\npadding = 3041300d060960864801650304020205000430a5a2cb4f3870291de150e09ee864f3b2b3b342937ac719a149439185ad6a47bb4f23ae83ff20f0c8f0c79a1764244a63\nresult = valid\nsig = 69d89aee9a1b9827228c40c3f3bdb9479ed36bedd2c77b3f5dca19917a5cde9636b9f6ede29718a391224ab58f464c9052b5e6786178194a90ec04d2d2b7513b19df2799b0e7a2d6d1ef2c49ec6870fb8cae45ee1103692da8d211bf61f656d304f69adf68c0227c7af5ceb8c2db4a3668bb6a1b8cc3a437b9df79bc0dd650d6e3a42295b4a6e23d40b3a9b7548f3760e0faf69200df230d2c143807b2f35fa449cfa73792844dff5d2ae50adc272c0dbacacd60eb0b7964012a5c1981cb2f358ff53509f90b0ec41259fef321e9a306a08363ed194e51ab6dbc00ceee576c048c02704a19f8f357250adc70cdd2819157d71af04ab0cc63ac9c6fa4b5799eae521e275f26ce53302017510826f96c4a2889deaef19fdedacc70a6598aa89e2bcf373239bed98d1f2267fa7c2436add13df68d9ea296fab52fed0f5ee46874f48735fe32c61ed2b1c977ff1862ccce093bdf7d84a6b03c3007c4c926d1e52d81dcc0bc2a553a12be363b764f6a322e41a8318ea7408c18e33c260aa05d039625\n\n# tcId = 324\nmsg = 54657374\npadding = 3041300d0609608648016503040202050004307b8f4654076b80eb963911f19cfad1aaf4285ed48e826f6cde1b01a79aa73fadb5446e667fc4f90417782c91270540f3\nresult = valid\nsig = 259332bd5a274bc347ffa3e8a31c8b27f216cc865d32c917a5d7e4c06abd44b6c024f44eba997862c812d8ebaf7caccbb234293178e44b2532478e8bebf6af5f83318ebe398e0850e929a89cda860cd18ec94554e4e0d45a9ec2d9acd83fbef2b5d31dd7b2f3c12e791afd3e39a9437fda7724c9426194bcfdc6bd52036f62aeea7853db2c8c498103eb60180281170aa0fae8139417974d917090dba8f9061665e92d953827dff4d450f5566d2c5b753b65c9b522a0c4da868629569a666b7c292b22060e92acf4ed65e51245403a4f162c8b504b85a810906ecaca2956d395c163a7f6f23573156968ecf62ef46b72b9ce39303681e354e91c5d7944cd3288b2a84a1ea28e7e6f260bc5f8d92be419ad649a8f55a2195ca46130922d82759f9bc030c8b122211d952c3ee7851f09f30c2fecd1070656c69c2598584b55cbe6567dd2719305dc52dfda03ea289a5db920fc2c777e7081cfd92864316d3fca9aaf8e2218ed8a5235e746e5cd9bcc856b0c615b901dc610f0193171869202e845\n\n# tcId = 325\nmsg = 313233343030\npadding = 3041300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace\nresult = valid\nsig = 1f32b36eb43f87b18e569fcfe7021763bea0ca576cd273c0b20352906ed8484428d250241709c825704518ff9e97103bb70cd26f437f87754bd40407034a9653d00e868a759a190f3067ce5efce9ab17c8b46000d88e2d9e68b8dae0a0eaa4a31d3bb51c8c8d0fc839b0b273c83dad57016b1b5c1d8eccff1c753e5c6d189ed07b801f0a54a1144c142011fd3226451faea43d52597b003f9256cedb0d7d7f56d86dfeef50179a794f0b0de97da1926e9491f025bb3c3e8e031661e0ead860c8914f0b294bf8cfea2d5ccc726ad0743e192510732dc84301eee15eca3c6a5213ba66d0871789315f8537a44b727bd8a10d6e54636b345715fc0b6f5b5116f22557b0af9f948558b0ff4a3b0faf1de7da1965b977aaaf039c5b7b09b4f03efeeab3189d2a09", - "fddc3983e4815df35ddd1c2198b695cffc35aa6662839f82468cb676b677d53ee4857ab9be7bd99e1749c811e2d6584427cbce14d2ca15df061165e85502420602666993463733b43c1c1ebae8d37780470b8cf5cae31cd7427799\n\n# tcId = 326\nmsg = 4d657373616765\npadding = 3041300d060960864801650304020205000430b526d8394134b853bd071719bc99d42b669bc9252baa82dcafabc1f322a3841c57cc0c82f080fd331b1666112b27a329\nresult = valid\nsig = 7e3165358b5d09ab1ad1599935bbdab27abc32486910382a0ae630f725b5dca5ffaa9e606e2e555122c1e0f3409d7d915ea00d8784b814a6721d0dd117297c951c8d225a484a549e488fb80f996ad65490a09defb0b46f9cfca2e952b04dfd5418da920dfb2968e48dba8f0729b16fa32a832fd8b789bfebc63f01a1190813cfd55ace949d802afffbe9a1ec1e6a5df196e5ffb241c918d712e466f30c66c0bddd48b57ba4d0baa0c2ba9bcf519c3a26140df6aa5efbdd5ac9beff48613f92d247b35efbd6014f3d714705933e47d582f4a5da05b15a79bcacba1aa15a5fd6ddb228bbe4c5236f9ac607f41a492e6b1c92bd68ce30659eb5b27a5b2f76a5867dafbf85a9dfddfdd476c383fd03e38e81f2e1434553643e652cc006e5df7313272335f122a7fd9cae6f2f5a7da65865698d6d08d688000a730c90919e1826bfa1db85d5607ff9d76cb100ea1649442cefc4251a8cc1d823215e0ad1abfb2976bc4a6b2bbd793ebf9c7770957dba1e2a8583d9a82a072386d0957789b450993c77\n\n# tcId = 327\nmsg = 61\npadding = 3041300d06096086480165030402020500043054a59b9f22b0b80880d8427e548b7c23abd873486e1f035dce9cd697e85175033caa88e6d57bc35efae0b5afd3145f31\nresult = valid\nsig = 8bc948c5c16603ab63e75e18bc7f062ea4c675ebf98dcacc1a9826b0eeab0004e2592b07525fca53bd288bb56b5961aea93b548771068f5b0cef467c387e2d62c91e045872922b516dd6c5b8ac3615c986a9c8b5211a05f63e82387175e8749709951273cd9d8b2eccf678284761c72285be5c189c4400629c26f87bf18ebfe5e56f2057fd91fc9209ec48a872d6d23bc330f1c81ede7fc5a0e2b09c3a4735eff9c8adf73152b3406a62656897c1eef075c4fb02244ecd93912dd36fbe0d358a71e02d2b302dbebd28ba50860e4a963071f0a890a2e400c18f530cf9440a897eb2781ceb17bbc58f61828a6456b93c86df972c42d082b913c4d8807b7563aafb7b330ec39dc988674a5c3b36f6bbdd096201f1c7c25ca9ea8f28e923ba46dbe93910268d6e35cfb605b92ecf98699ae9b09dd4634d1280586c5e6bb0b1a4b5e5e22b225453f5c66f9a7ed7fff83ecb201eb157c76c9beff95227b495c8516bbc7118f011cf9237b6e794bd7a9ba19e35d0a650dbf7c06a0c9ddc95f108a78246\n\n# tcId = 328\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\npadding = 3041300d060960864801650304020205000430ae9ada2a808aca7097c9e9c30fba4ca60a5e79874a6be0f5afeb7f5df3538346f04b84ee06bef7ac879a0085bb2036c8\nresult = valid\nsig = 09ee821221ce7bbeb4d66ea3ec88387bb5c5bfb055b8beb36ccba4c2ce9666b1a09935689db1cc2312d797ac8b6f62643de736f38269a81f969308eb616cf41960341fa8edd3501f4edf73736806b6fc1387df4ef3e1e26c03249f3db6471ed580699e8ac77d0fd9a78972347e8657b6cdfe172fda324eea00d60d38b47e066c4a6fc0e33f75d1d4ecdf46efd966ca9aef80d22e43dfc2cd0af37fa70d6df7c637c3c18a219bf58dc1e7bfc941a235bfe81ee7101530a2c264527608d7148dd91325b7895817ae50d774e8dcd2def8a476a9592d55be743c62c1192f0ad69981fdc8651c1db828097ff8088b720c637c60c771b5091f9d9e174bc823115a1f7dbf086f9ad36a403c2d710c47af4753fe6e43c675c30219abc2b8560bd18c25aac719546ce7a74080fcf22bd4e6cffc270e57baedcf2739c5cf4fc5fac18f5dd023301caac1b1faf4dcc65327255ccf54f5fbd3cf82801a8685c2eef3c5e7f608cf6f747b8307f617fce148347b76facf0e1f7895aeeb11e3225e3a6066a244ca\n\n[e = 10001]\n[keyAsn = 3082018a0282018100fae12363cc51e266de7d74b989085f10fc08f44363fab4ea7fcc56101d116616c43de313b70569cb27de134ecf35fcbcc448a81082678ee1ae427c48f459ab2c42c9085911a3d81c914f047ba46ef1a52a4983eba1113bdf0ee95e85cd23224cf832fe3e916d3bffa6ddcfee0926938b2c51c8904bec4739afc4f07979cbeabd514be5a2b87abec71c7a2b39c736d776442ea9e95e97ddfcad4c4c3b41fe856f81cce539b5057abfc6fb1aa153316ea4f8e76b8dc8804ee10303fc2dc182f7ce5d907e78729679333b3b012574b4c7c613c020ce1388ad37ffc0f6b2330cc5edf7ce9ba80eb984b6da2ac59aabaa3a29172ed2937920f47c17447e6185119b9b38a9935658997b487735a8184caff10a8f555d034552fd57471b293f813f19aa6c2139877992436fd1949ebe2259528c91716414aa72ff90bb5142d2fd5e7ba12d8df1ac995408e7fb645a9ab7b6f695e4050500a9042253833b055182657915246589f8362203b5517b2f7117d2aca015fce3cc41c6b1bcb2e672db142d52450203010001]\n[keyDer = 308201a2300d06092a864886f70d01010105000382018f003082018a0282018100fae12363cc51e266de7d74b989085f10fc08f44363fab4ea7fcc56101d116616c43de313b70569cb27de134ecf35fcbcc448a81082678ee1ae427c48f459ab2c42c9085911a3d81c914f047ba46ef1a52a4983eba1113bdf0ee95e85cd23224cf832fe3e916d3bffa6ddcfee0926938b2c51c8904bec4739afc4f07979cbeabd514be5a2b87abec71c7a2b39c736d776442ea9e95e97ddfcad4c4c3b41fe856f81cce539b5057abfc6fb1aa153316ea4f8e76b8dc8804ee10303fc2dc182f7ce5d907e78729679333b3b012574b4c7c613c020ce1388ad37ffc0f6b2330cc5edf7ce9ba80eb984b6da2ac59aabaa3a29172ed2937920f47c17447e6185119b9b38a9935658997b487735a8184caff10a8f555d034552fd57471b293f813f19aa6c2139877992436fd1949ebe2259528c91716414aa72ff90bb5142d2fd5e7ba12d8df1ac995408e7fb645a9ab7b6f695e4050500a9042253833b055182657915246589f8362203b5517b2f7117d2aca015fce3cc41c6b1bcb2e672db142d52450203010001]\n[keysize = 3072]\n[n = 0fae12363cc51e266de7d74b989085f10fc08f44363fab4ea7fcc56101d116616c43de313b70569cb27de134ecf35fcbcc448a81082678ee1ae427c48f459ab2c42c9085911a3d81c914f047ba46ef1a52a4983eba1113bdf0ee95e85cd23224cf832fe3e916d3bffa6ddcfee0926938b2c51c8904bec4739afc4f07979cbeabd514be5a2b87abec71c7a2b39c736d776442ea9e95e97ddfcad4c4c3b41fe856f81cce539b5057abfc6fb1aa153316ea4f8e76b8dc8804ee10303fc2dc182f7ce5d907e78729679333b3b012574b4c7c613c020ce1388ad37ffc0f6b2330cc5edf7ce9ba80eb984b6da2ac59aabaa3a29172ed2937920f47c17447e6185119b9b38a9935658997b487735a8184caff10a8f555d034552fd57471b293f813f19aa6c2139877992436fd1949ebe2259528c91716414aa72ff90bb5142d2fd5e7ba12d8df1ac995408e7fb645a9ab7b6f695e4050500a9042253833b055182657915246589f8362203b5517b2f7117d2aca015fce3cc41c6b1bcb2e672db142d5245]\n[sha = SHA-512]\n\n# tcId = 329\nmsg = \npadding = 3051300d060960864801650304020305000440cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e\nresult = valid\nsig = ebf3c64e4c19fcb0fd920e65554a552cc1e652312c2e0e51cdb3b92c94b2b41ee201f61f434a6aa4703e87416388f4661c04fdc2e459e199af3ea208c61b99d746f4b00d82105caf4f0196f1305e806bc13b4c6e6bf581962862dcb0eb15a0ffcb0fe6b36502320011b540799e1432baf2a56a428fad64811afb57d210d859a1201ec057dd8d2a68784b48dd07357162f21e4c82f8d5e385b1f72834dd4c0d85ffd333410f08ff28fdb7365e408a60af177c80298726940bf4c40efcddceee3945b1d921b9d04080dfb12d3ae61863ad2e3e302370f5a8858a1213dfcd500269ebef76f4ebf0982a751d8ade1aeed95f41d4560084711362774b11b6240c0ba6ee4ca634ba8298f6e63ef560a39047481b9eaa546178e69e4daf5651c66c6235ba97c231241c63ad16efe59b7b5505d9c3f1818368b9462cda71849e431648be9757620c15f99ca78f4e250afc41ffdcdc52693a1fd43506274c431caf34a4d37321f5ccf04971a25c5010b9ada07596bf9a20bf307db9d5e86146226081b25f\n\n# tcId = 330\nmsg = 0000000000000000000000000000000000000000\npadding = 3051300d060960864801650304020305000440d296b892b3a7964bd0cc882fc7c0be948b6bbd8eb1eff8c13942fcaabf1f38772dd56ba4d8ecd0b626ff5cef1cd045a1b0a76910396f3c7430b215a85950e9c3\nresult = valid\nsig = b9bb1751f2336ef5126508541b949d40f1719bd23c2f0fed64a7b73ebe1819377e6e4262f8440a3a3cd456f5eec0b1c0956bf6989add2c3d1c7ba4acf7a617d198179dd974051fa7a14ecd8093ad572d7e233daa2a9a46fe59bcf7e01c6ad8d68c0afa89a58247ce257566edcedd799173e2babadac15405e2812ad12ad900ad997035966a05a02988e11133c21e111a8e06d7ce509de1e0c11de55379482cfa072348fb41c05083529c2db86aebee92095e7450a75d97fce7b3103ef1f8598459651dcb9b6e90f299c9efc95d7ced2f6e91526ab3788238e2b5e109d3ea984189ea13939d58fd4ab896c76bca4f6a92fd3bc124dddfabef1f286583a1415d1fdb8c80de8e7583fd6d52836a22c3926f69723301904532b9fac2a37d0cedccd4b3d0ddf3550377191f813d4f92a5c126ae91e03fbffbcf59637ebbf1f30acba1dfcb0f93285381cec6da60bbcc62074075c71300f8424e0f964422dfac19d205251f227614bc13568f408284b6b53bebd7dc4adfb7e242953564763292d9c01a\n\n# tcId = 331\nmsg = 54657374\npadding = 3051300d060960864801650304020305000440c6ee9e33cf5c6715a1d148fd73f7318884b41adcb916021e2bc0e800a5c5dd97f5142178f6ae88c8fdd98e1afb0ce4c8d2c54b5f37b30b7da1997bb33b0b8a31\nresult = valid\nsig = 1cc02717a3321a83da62deb3ed0b9706cf7ca9fdf3674617fcdc3364a697825b910d54b891b5f8eba197049047cf0048ffba6425d47374ec24a84f1f7f04716b7ec54daccd04aff858e2e7c8830e4420b5f99df756018083abe46d3fbce2da6e8ce6c893fc11ce5967a5f367159f9ad38d957078dbfbd32e818a26b49ae00151350044d22b58a4a61a35fadef67e3f8247f407f026eb17b8dd4ab29d388bfb271a1ec606e141", - "cef3fe57e2e55ae8b40fb076a06f5898362b695545124e9c185c50647cc5b83f09f406e780f626ec60462fb50caf8560aa72fbe174111142029b19f2d681f771a774afedfe2500fd8b1bdd437fc41709253ffdedc302f47afa774f5ad23777a57fe44067182f4b35a28923edc82255cce11d2fbe91acbce29289b4e0e8f5e99e906e6607637b05eab4028d85e91d060fc1fee052a09baeea759917b34855e09b8e5b67ad60f45851e991cf01dd528b100327961eefd0c29f1d1d8771bbf3bb1e7f048d9c2e1dc5e652e6ac4f6a2aef86245b83f611700bedd07a\n\n# tcId = 332\nmsg = 313233343030\npadding = 3051300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc\nresult = valid\nsig = a0de9c2df76523499c6c344173d944b8e02ee1520f90759fa3c27ce284091f80215a9a26c9fcebc125171da556bb732a0645cd64b05c7cbcd8c187d3995e3c86cd59468118e9278ecdb8e791badca8785e56f33478ba03eca721591930db01bc1a5da5e193b2dc9022e98948644a406138a4c7971ad8ade585a3d72e6c9de50320b9fca1ac0e054835005cd39c96400c491e1b706eca22ae2e9f1b844284226fdcdab1f2cc942a8280f7786e0f2cd069b9ae99f04aae424a6d24eb023e064513931b2e4f7629151af6bf83f4c5c58616960f080c6f96eeab07a87b6d7cef3fe6b071e49ed340b48867a5bea30dee332cb89e1a54d9e3a9a8bbb87179c6ad206fd48dab07104b1f887a02160b59f9ddac6d1f8801c1a8df507ec199e970e02058c749475b7636ba2def322160b11b21773fdf904cc665eb5eda887ecb6d9be245d3dbd85cde107d082cc6d8492a087166e23835a379ac69f5a996ad9032cc41e205078c5ec9c50f85c396822c057b25595a35471a2fc3bdd3f75eb8ecf2d1189d\n\n# tcId = 333\nmsg = 4d657373616765\npadding = 3051300d0609608648016503040203050004404fb472dfc43def7a46ad442c58ac532f89e0c8a96f23b672f5fd637652eab158d4d589444ef7530a34e6626b40830b4e1ec5364611ae31c599bffa958e8b4c4e\nresult = valid\nsig = ddad8eeace34f1eb1b0dd28db89ba710ee68aabb54b0a826c2d69355f63acf0f2f2e0dcb96f388d44d0940774d7d55fe81ba6a8a880aeee8ce842101c7e8837fbf2704971341d38bf3289dfc61a6b3b557588db93eef2789d3735000c8e2d830a32070626d079e710c943082a8bd1c0cfb64b2dd911eea76001f8e08cdc01cb072f027fbd9c72331b857d07c1c2f3090eca53accef8b3b015438942e8d2fd3406cbc54c7ec3797a163b13878881f7b4ef5ca45056e16e0c2a76c3d5108c6f0f48803d27eb4b0d55e90b19b6fe372dceaa61270b9efe2800bb259dbead955635ca44ff979bb054b5cdf86d4914ee553d7d5b1a49fb8e49f3f761224802858458f702aa4428964a32a45bed5738224517489f2be075f9ec7234a019005be922b8265bd78abdeb1d1633fe7e5aeb37b61d36b1a03a06847a812e50ed551853d3cdebffaba8b056b788a1bc452ebdb5a3f043a116e5a3d262c745fc15897ad4ad955595292a79eb85373d552d6079ad77e469f7d3a60330702125127b1ee770225cd\n\n# tcId = 334\nmsg = 61\npadding = 3051300d0609608648016503040203050004401f40fc92da241694750979ee6cf582f2d5d7d28e18335de05abc54d0560e0f5302860c652bf08d560252aa5e74210546f369fbbbce8c12cfc7957b2652fe9a75\nresult = valid\nsig = 2ecc537edc397ae5c3c789638204ba3393bff5cd9c1f0552db515a8258a311b6bdc88325f9072d2ae67bcf132a92c0b4d01ef0f2916349adc6d8f1b415c86bce6b5afcf4cf2d3137897d0f8a33063a0ff69965a5d2ef00dc3e010094ec8214c95c064313c8e90bd84e34c86b2e19b056539bdb3c83eec23722b3e380a53826bbb31cc97ebb8ca77cfd96d3e6a2da59baaace3883c652a92e79653941c5615bd30c77aa38ad74c49d36ceb9f76544835d57f0cd14999c2c0cf3debbee17a8aba6d777ebd9ffd44b09e093f1a894a8aee80301c3a5a59626a79e445254cb1df1174450bee22a7518afeeb15495d663af289dbb09216543bccd136abf2646bac573551cfd04e6a35b5cdf9729c8b14d34c06660a42b3ab365a42ffe470b69062d0f305c733c43844565b0b94d49d2019933de9686088d219d57b256170c137a21475d03f2a7e0783af11426fc6e64895fb92da117702e4487558e8bd21db82f263c4bdc64065c4f66d87c87889ec5aa9cee02c95d001b08636dc3420f817c228dc7\n\n# tcId = 335\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\npadding = 3051300d060960864801650304020305000440aa0a2e60e45f276fe3aefe9fc07c6f2435f143ee2afd895e4809384e833be66a6396c839d6f7db83f37736645454c6e63712b27e70edcdd7440e1275235070c0\nresult = valid\nsig = b9b492d4796fa2cb7066069a00e36aab8b8755f9dc8294401137efb3e2681c9b57930c0ba87b45c9d70e214979cca91a06562f710a2427660547006ead7b3e619cf4652131fd84999c5ff1c9a1cf057363b8ac62501bbfb1fae840cc963a95169c658add96c6c969d415c10bec5e2457a5c3fa4fe81e7de1afdec6f4e59e3fea185c7cd1bee4b8a42d2f22c7bad7d4933621a0cfacf0136abffc3ac54ea37c63af719425084cade944999aca3f43c7625d22af10149f39acef32ed7c92f781809aaa945b2f446a03e66150a524c7d88b7bec587ba7d6fe2db4ebb7a8c3bd46e7fa1cae291ff502acf33f003dfd1417fc60674501728e52490476d813f0079f56a9456909ccee3b76b30aca26fd4487527f4ee6283bdb2e72393d661ec0c35b2d1675f679f823fd28e044fed090721ba4c6be46da3eab26e5eb356d17d04fc3ac31425a6f6a50474e2725bd4dc30da74fd3767a122ced21671e47b1fb33bb7018349f7cbc916c6c7f4ca7334735a0e0ec18e01735107bd2ff02cd9508fa5832dd\n\n[e = 10001]\n[keyAsn = 3082020a0282020100956353ecb7561945dc5544e4602466078c93f28507701ffd39e2a9813c8ac8740e6ad61c955d484e513b3dcea527e001a018ee2c207c1806a96763280236cd3c820dff79837c9b709cb4b522d3ddbc9192242259c43be75ea244d37ccfa8a4c75024a2cf7cc76e842ea69cc7ca1227405b070047387a5068e4976e4b8ed5f9aadd7b4db024fbb8d7bd8a040d8f6610c1c6eb1d4b606dfd182235d0360880304d5a750603af0c424b8c8e6dbc12c3697d2d609c97547e774e2e362ea96d1690dc9432112c535258b3db2c4c32ad510d6c07ad0788357883869efb8b629298724847925cf42b34386be700f02903db5852276bee2370941f397bdc3905e30964a0b5e73602703340960c3ed6078263b611f197955fecce4b9a32e43cd1d2e5e87c4ceb65edc8853a7ee31d28e16e5adffb8ac7b760fbfc63d5f174f4d0936461dbb12c964a6b6d6cee752e5fca1ab4a9fd238dd3e8860a1d763d2019f9e7b99ed7666d4e038710f90e0093bc566987d6c0092f571376e705b342d066c54e6e2578927b92c1f0928de44e9a6e1f49b907c6aa4f605ec9c398d55df81c67373b03cc8110162fb417f96fd321048647dfcbb392455115cd912ea83351853e6a185284648842adcbd25e67174a3b93b8a64ce2ce9de0e8577b8b662ce32e2565782665dd38e5bb5fcc4fe12e4320dab7773b545a09c6d39d9dbad459f21f3e624ee6ed0203010001]\n[keyDer = 30820222300d06092a864886f70d01010105000382020f003082020a0282020100956353ecb7561945dc5544e4602466078c93f28507701ffd39e2a9813c8ac8740e6ad61c955d484e513b3dcea527e001a018ee2c207c1806a96763280236cd3c820dff79837c9b709cb4b522d3ddbc9192242259c43be75ea244d37ccfa8a4c75024a2cf7cc76e842ea69cc7ca1227405b070047387a5068e4976e4b8ed5f9aadd7b4db024fbb8d7bd8a040d8f6610c1c6eb1d4b606dfd182235d0360880304d5a750603af0c424b8c8e6dbc12c3697d2d609c97547e774e2e362ea96d1690dc9432112c535258b3db2c4c32ad510d6c07ad0788357883869efb8b629298724847925cf42b34386be700f02903db5852276bee2370941f397bdc3905e30964a0b5e73602703340960c3ed6078263b611f197955fecce4b9a32e43cd1d2e5e87c4ceb65edc8853a7ee31d28e16e5adffb8ac7b760fbfc63d5f174f4d0936461dbb12c964a6b6d6cee752e5fca1ab4a9fd238dd3e8860a1d763d2019f9e7b99ed7666d4e038710f90e0093bc566987d6c0092f571376e705b342d066c54e6e2578927b92c1f0928de44e9a6e1f49b907c6aa4f605ec9c398d55df81c67373b03cc8110162fb417f96fd321048647dfcbb392455115cd912ea83351853e6a185284648842adcbd25e67174a3b93b8a64ce2ce9de0e8577b8b662ce32e2565782665dd38e5bb5fcc4fe12e4320dab7773b545a09c6d39d9dbad459f21f3e624ee6ed0203010001]\n[keysize = 4096]\n[n = 0956353ecb7561945dc5544e4602466078c93f28507701ffd39e2a9813c8ac8740e6ad61c955d484e513b3dcea527e001a018ee2c207c1806a96763280236cd3c820dff79837c9b709cb4b522d3ddbc9192242259c43be75ea244d37ccfa8a4c75024a2cf7cc76e842ea69cc7ca1227405b070047387a5068e4976e4b8ed5f9aadd7b4db024fbb8d7bd8a040d8f6610c1c6eb1d4b606dfd182235d0360880304d5a750603af0c424b8c8e6dbc12c3697d2d609c97547e774e2e362ea96d1690dc9432112c535258b3db2c4c32ad510d6c07ad0788357883869efb8b629298724847925cf42b34386be700f02903db5852276bee2370941f397bdc3905e30964a0b5e73602703340960c3ed6078263b611f197955fecce4b9a32e43cd1d2e5e87c4ceb65edc8853a7ee31d28e16e5adffb8ac7b760fbfc63d5f174f4d0936461dbb12c964a6b6d6cee752e5fca1ab4a9fd238dd3e8860a1d763d2019f9e7b99ed7666d4e038710f90e0093bc566987d6c0092f571376e705b342d066c54e6e2578927b92c1f0928de44e9a6e1f49b907c6aa4f605ec9c398d55df81c67373b03cc8110162fb417f96fd321048647dfcbb392455115cd912ea83351853e6a185284648842adcbd25e67174a3b93b8a64ce2ce9de0e8577b8b662ce32e2565782665dd38e5bb5fcc4fe12e4320dab7773b545a09c6d39d9dbad459f21f3e624ee6ed]\n[sha = SHA-256]\n\n# tcId = 336\nmsg = \npadding = 3031300d060960864801650304020105000420e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\nresult = valid\nsig = 368105195f0dc82c2cd37e8edc6ddc0c983dc13ddcf6f9db9a24b52921e5280319a1bcf797f774066d643e5c99b811f0ad9df2a3f430f4848a03ddb97e06daa4d01ddd50bf2b638935cd26b19d6ffccba884a4e7cba35830c6cc5ccce38bc0fcc4ea421347e241711a551c67923b3daaf2e9c51635d416cc2393a9a4f108f84f26990c11dbaacea75e39dc6082b539cd2c0c8dda6c78cb", - "ad12e14a352b9dd5c92a3702d8538fcce0e92e26489ea83d75c174ab671210fbc6c397be2167864b519b5136d23a4363ef773ebc140e1da4b0a788d7b1f15a300375ee42b27261675fdfc60c29bab7022dc2e624c7d1f31e278ac089c5880e701bec41f63c8f897c0cecc5eff0a801dbc58d7d4df6e860c20e61f31d9ab2d50e8fbec7471070d8ed06c4c9c725cb63afde0cc4475d3dcb7dcad7eabd874ddf7294cd9d2a66b13b6367a14dfe3827da0c6c8b9e734deece80fd79609ce5ce0a16de6610fd04a09b0b2411bae2bc3222ab4c02867838d0c8346c60589e6204b226efb401841fb95da05ff32989ef935425b943d1b5d2f8af5113491a36c60a98c90b6453144f5fe00a0df3de8d02f0f59c7b94ddc7c8895b1dff8d88f69a9a2cfbb55eda0837800950601fc9e230a5514c9674fb576df8391c51ba0febc29c267462ed5337326b6f40d243ad7d81459ecabbd00126b2142e6ba10d9f903a9918d2280c63ee84b47062e1\n\n# tcId = 337\nmsg = 0000000000000000000000000000000000000000\npadding = 3031300d060960864801650304020105000420de47c9b27eb8d300dbb5f2c353e632c393262cf06340c4fa7f1b40c4cbd36f90\nresult = valid\nsig = 46a6c9cd78e38d5567795dbea71872ac16da06725975cee7d8839d2de665ec3b8411277f3e026fd2f9b836d788b48539755858bc8be0804147b59c09354b372713145e5a000ac15744ccd2db5795727e2f4d5f67bcab5e7cb1290824963ae88528aba0e6785989c8adb86084d26dd1faea3ae2a6175739fe978b576eff673832e513419806d206e0984d1ef0e1c8d8981084ee2ee569806b003fb7f08e775998eba1771f1efa070c00a769363c6101d5c5fc6140f102469574cd09746130ed80d14eabcd0a0418a752d5595b5f40ee0fb05f5f9860e600d75fbdd53461f5ea18be5bd807281f9e8fd6cf7eb31985206c9a5033cdea631512bffdd977fee5e692b3153a2ce9c7708a9c7d665d84762740cc9ea374bd32c18c2d76320e4893a2fac374ca7122e01e08011c351bd33725a6adad96becd44e4ec1032fbfb0c8dcf13cae9556eaf419211d0149c574b8d12ffe5bc59468c7c549283be541697258af847e52a9aa8063557dfa40404adbaa95e38ad28eba053aec3c123e98ab1b947bb774841e9040dd5409068a2c8a84c530fc4273897ed845d76dbafbf45af1a8fd2767234fac1e852453d8b7eede02af228d8b5821238a50a321490dab74d687a3400c34f215b85823424c9d966b516cccac38fc7f08769f47d66c57b9b75ea67be82508a513946bcbc809436efc4ee85f139b143c5bc15ff69ad1f3667c3f69bcf\n\n# tcId = 338\nmsg = 54657374\npadding = 3031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25\nresult = valid\nsig = 43929c2fb0986fc4570a3ee7f6701b96a78ec9297a997415a142ae539031c0e196add5e4c6ec572de0a2b109cf23a42567ebe98f42cf312d07538e4a32b0f20403b662c652ba9e3d6e38a625d6b5e91cce5c810d7a02262338e144a57db4ac4debfc536e8eaca7fe08022a2f64741d66d25e3010f2fd259d4c6b00582584bbbdcde4266d86eddfd0443ff24b06cf7ade6d733c637a48a398dbb28355ffb9bd21a49de6b345ef635b68d917b5bfcb9016f7c64c444dc0036ecab8f59b0d29098facca02335df44db87d30d02f08553ffd0379b33d13d09a385cae7d63b6db52e9b1eb8fd549e0e1e18210de1d3e9527547e5c72f816eb36288b09d96db772f955ca46fc8cbdb6eea93c841e1075c00c3c45e9442d28095136cc5ce8212ed8c60c9668898ab5d64734d4d0f2311f104cf8a732e6d88fb2064cb57bd54d3cdef7c11c840ecb238466c747289233a317b73785778ff4349949da47c9b4b2dc9f89bd1fe7e98b582500dfc05dba3fa410cca66acd854669940543c22ed1038eac7f0212b9ce4aedba0eb15ea1e75a73c45c1ae03fd241662e9cb89b051939c468db3a0adab822617b5bc669d1e0226cf6b475445d9d5e77ef54ed646cd81f0952b949b7f4f37381ba6427e060966467a76e1d9261a5fe8c68398a89eb5025cc39339885b6c33dde898a159f0af4acc81461fae37f5f4c61de4a888dc4f6b1e2b7336f\n\n# tcId = 339\nmsg = 313233343030\npadding = 3031300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023\nresult = valid\nsig = 0e207de1295caadb15098f51f5db90f9f000776055b107be58bd24d52a01d4171cb9e47a40790254f86a8a56c8ae38252f909aa3b9bbe7b7e1fed008105690d9afa647067ac122a272d30ac28213d2cd37b45cf81dc48d59e87d9ffaef6e1c9cf6ddf4ea5ff6123523c9cc885344b7e1ef4c8096bb542bc0fa5c47abaabca9a58ca85bcf092924741503a0f3c54c725c48855dc434b09d761f729051fb15af5612bdd387b4cd5019577327bb2e64edb065f713d50ff4285f1d184fe709207f809b9c38d064722897a868f8a09bfe1d33c80be0693e98d7e85600befb643e9f713584c716306731d7f8087dff66be1c4f6dddbc51b6ffe6034845cf0f88749e039ec314887c94648154f7c97235323bf78041ec2c8ee98ea7c553ecfec1f9fe89279c9c91ac6acd12ebe969da4c67fa6534ef9ace4b629c7b1de8c4ce1dc2b0f5bd7d416db6eb512a4dc8eda0322138cb7c65b9a58d712284e4aaf059db80af5785af4d83d391b7d8bdc4071636712410d1dde662478eada1a2f1f35786b78eec77b2788536108e7463d676814a91f81fd5e2084a8c1b1cc33988e73184110c6e6b0ef1de874104602eb33b5276ebbac95d91b943e25de6dfc66b31d8091961c78dcddd358de7f25584d9f74dc6271ff31294bee2cc9b2f97a2583c9b33243600500bc723b05d65839de7442895bd57a1dd508651a20e20f264d8dcb59d485247\n\n# tcId = 340\nmsg = 4d657373616765\npadding = 3031300d0609608648016503040201050004202f77668a9dfbf8d5848b9eeb4a7145ca94c6ed9236e4a773f6dcafa5132b2f91\nresult = valid\nsig = 0a882c367ff495646c21ef0489ce268d6c4e6cd0176bf9488d4b8edf04e1706f23d121b500b427eb8652099689429a08e73294cfd29694f9b4f33ebc8a7f9d0f9d11f114d0f848114d116ebcab828c7ed4c64d5ddce9958bd0883ae82ee2be0a185d54ae64690accd816971ea5ef80d7d601e72a814b9b61e8d00727a843ac90639f2c83cc7e2a9065ebea3e7aad3b12dd9ed8a1ee03a43e669598571490fd92b699d2941fda3af7271f8864c844f8efcbac20066c7bee682c644da2329db721ff33a7a81869a7bfb7a910fde6008e1bdb4e9ff989ff78fc0a9f43b38399083808fb3f38f0e96d4020bf8a4b329bbf81d59dffb03f5d1ea34276ddcccc2a4319393e1777488c843f9b0aef1fcab7a97e00d50f7f83bbfd30272c8ea4a5b0d7b74e7f7b70a9295d0e942e5b6e627ff8457d0f60c1aac8fe10b7d7ab1b8cd18d3904bfde2a316a83ee2b7633c3dee3141fbd61c8115f88ee7ca4b2b677d1803a1a35361c956c1adcfa8c8e10f0422eb3347b4983eff3c1c79e7da80a2e7c6d55e61f5af74254bd91db0d4bc10c3812513d832bd6a603a6bafd29cd5c062d9e3b74631f873fb3ab47e59791446e5f795d6ef5bbfa267a541d4405dc09e82c8b03f51db4798cc96dda7a7bce7ba9c679d851d5dd2e6b3735aaa2fcff0d558d68959c6af8b283fd383315762767cd0e4ef6e027020148cd3b14833cad4d92c2c9ce15\n\n# tcId = 341\nmsg = 61\npadding = 3031300d060960864801650304020105000420ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb\nresult = valid\nsig = 374603f5d4728526e6cc7c7bfb6f456bd33bdabf37d942dfa8132a9479f6e4a9c2dfee515d883ace45cf1d660190e442a9ea7590d67aac9bde6951314af90baac21bed537c774148afb7927337d626525e13fa15664cdd78dfa5e3886ee1fe7137ad5f69aadcb098a0d49475b0f76ed1bb86cbd08a0cae9a6ec120eabd55b7e5c4456bfac2b2acc3892110b7f62c0dbe7ec7e491474c5c641453743fd70b15f7a726a0ca44a78bfaf3445a979bd4df362b7f29d4ed9189bfcdee01476cf1b48c2edaf02d226b41f587a8db161bd36e6ea20d64c8773fbe8c0296b9e016ccde333b380161a641d822bc65d3b60417534072263cd461a4f77826cbd0508ea11720081c34b12d80ef0963857624d48c53748f279bf6ad338ba564e35d37d1dea27d19ad5dcb76d6f4aac62e49eededb1121e06b9f78eb285f7d7ee2cd475e791cc04c029cb76e5b33743aca3ac3adf5e317d95aa79a2f0ac3c328e69ea4692661b8107d89eeaaf3be01122544fd9d0c61511e87c6a5507c5701655d35f71586badd55b26363b51f019896c03326c72332de5be8a0f146d630a6e747a906684c7dc59d3bda667c8a92432e879f6a4d91d3cdca89b9840285bd8a22e5e5bebc32011725f64cb5fcbade8a5f5f9ba372a9be7f0a4907e40b4d06feffee3a558fd023514b504308a1d821c41955c305f550ffdf005b9bd5dfce2d16d3d09bf17c156c4a\n\n# tcId = 342\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\npadding = 3031300d0609608648016503040201050004209432c1a7d343fcfacb164bdc44ff71c1281c004886b1c428419088d06cd3561a\nresult = valid\nsig = 401bf4e63be4259b54c5909797b2b01fca18a6f74d76fecf75535f2876079ad9ee56c653dafc3513eb02114f5c96efb4025cf58c2cd576d003f688b11458fe3df1657657ed52b2756a99b48c6722708ef11765c8da2f3b061c779f26a64fe13e4be4602d0ca2553793d36c23f3194705e34a75b9b91ff7f4e554c5907b85ecb561a8d22262aa3669cc7be2fc5c21b9170869ff52dcba46b2b1c688e4c04e7a8f099e3a4196863bd1e828fb5ea5443b64b190327622055d44ff4c9999601338e56c175c716abf8d6c2ce6b9ef17930e846745e751f882ffb3f0b1a20e68ce9083d1466295caacdce85bd4a34615d09f2051839ff83650708888db818aca9229c38ddef86848a2c0c88b86a2f5a1079dcf0e888be62e116850b7e8d06785627fca1899f6d7c02eb60c3bae0d538cde8a05ef7281bba7f35757360ffa79fdd08642b6af5aaf8c71a32aecd0e9f3d9a2ef164da1740a5c2dd7943603bafde05e38f2ba78c15c3eef13a5059f3f242f07af2e6044896d1d6d9810ed3fb8203ca4efc116e95d2f53be8c55fc1ce653f02597c0df7d4a7dd88b41c2a65e40bf5dafbef2a97e4dc3bb49445774cac283ae131c08492c9715712f998241e16eb776915f15b7e9544ccf1dc220a9e139defd63cb2951090808395ce56555a7cdab4564d82151ddc0ba00db24454f2174bf0fe7ffe6e2d9d82a92437890bcae1601dbcea29a\n\n[e = 10001]\n[keyAsn = 3082020a0282020100e3ae7de5bf44de7d357e238c8dff063ca713470777ab786b495884e7a9ba1dde65de7d2b5be3f2b7d1830cf6ca8ed5c05d3f094aaaeb1dd2e4b2ede08613109a9ba34c7e2bf8450225974374459f16da2c14192c637985febebbef01f0381e78d0fd63b76038f5e3", - "d35dc7d2243963366af5d7685f1bcfc99dcb91e94c93019068353122edd03cc3e615e17c1bf1dd7c43dae86f47a40238fb594041cebdba25f3fe9593a6c329b7f7c476eab7625d17ba7be7886936b733f8dce6e6c937f588da1315c1117abd29c83895d95988d17f9fd7623960d8e433d7c6841507ff2faac36e0e19a41eb2cccdb2a2c0fae966719a99d203c924349bc0eea1374efd3e23099b2d187922016fd014087520a67363687322b90d7a890d8f4464a8c794d2a3f2070ccd3b0ebbca2b42bbf8eba6f2c0bf8008b5616ee7b81629ebff97a93a5b861989daa10da7c8e3bc7b0cdb095f6ce1185cf8fd3dca035eb3e505cbe022d81d93945a144806b9fe0ba07f3ab9c70e72b5fb77ac6e4c7e03aa2dce7c5ef227aba1acd48c1d93e0e26f01e8f1e43aa97880d15d6c924b060d1face21d03a796c86301f4a74339e472b2f96cd0755741cb9df3535077381ada84d1bc0846a6c44c8a8d3cfe1b7a9913d1f3d7af2c5ea4e67ce0a7ed3c0058206fd13ad9ccad5a8212f3ecd788368a6b6148178c7c5ea8d6d385227f2c76a047216e5e206b1ed10203010001]\n[keyDer = 30820222300d06092a864886f70d01010105000382020f003082020a0282020100e3ae7de5bf44de7d357e238c8dff063ca713470777ab786b495884e7a9ba1dde65de7d2b5be3f2b7d1830cf6ca8ed5c05d3f094aaaeb1dd2e4b2ede08613109a9ba34c7e2bf8450225974374459f16da2c14192c637985febebbef01f0381e78d0fd63b76038f5e3d35dc7d2243963366af5d7685f1bcfc99dcb91e94c93019068353122edd03cc3e615e17c1bf1dd7c43dae86f47a40238fb594041cebdba25f3fe9593a6c329b7f7c476eab7625d17ba7be7886936b733f8dce6e6c937f588da1315c1117abd29c83895d95988d17f9fd7623960d8e433d7c6841507ff2faac36e0e19a41eb2cccdb2a2c0fae966719a99d203c924349bc0eea1374efd3e23099b2d187922016fd014087520a67363687322b90d7a890d8f4464a8c794d2a3f2070ccd3b0ebbca2b42bbf8eba6f2c0bf8008b5616ee7b81629ebff97a93a5b861989daa10da7c8e3bc7b0cdb095f6ce1185cf8fd3dca035eb3e505cbe022d81d93945a144806b9fe0ba07f3ab9c70e72b5fb77ac6e4c7e03aa2dce7c5ef227aba1acd48c1d93e0e26f01e8f1e43aa97880d15d6c924b060d1face21d03a796c86301f4a74339e472b2f96cd0755741cb9df3535077381ada84d1bc0846a6c44c8a8d3cfe1b7a9913d1f3d7af2c5ea4e67ce0a7ed3c0058206fd13ad9ccad5a8212f3ecd788368a6b6148178c7c5ea8d6d385227f2c76a047216e5e206b1ed10203010001]\n[keysize = 4096]\n[n = 0e3ae7de5bf44de7d357e238c8dff063ca713470777ab786b495884e7a9ba1dde65de7d2b5be3f2b7d1830cf6ca8ed5c05d3f094aaaeb1dd2e4b2ede08613109a9ba34c7e2bf8450225974374459f16da2c14192c637985febebbef01f0381e78d0fd63b76038f5e3d35dc7d2243963366af5d7685f1bcfc99dcb91e94c93019068353122edd03cc3e615e17c1bf1dd7c43dae86f47a40238fb594041cebdba25f3fe9593a6c329b7f7c476eab7625d17ba7be7886936b733f8dce6e6c937f588da1315c1117abd29c83895d95988d17f9fd7623960d8e433d7c6841507ff2faac36e0e19a41eb2cccdb2a2c0fae966719a99d203c924349bc0eea1374efd3e23099b2d187922016fd014087520a67363687322b90d7a890d8f4464a8c794d2a3f2070ccd3b0ebbca2b42bbf8eba6f2c0bf8008b5616ee7b81629ebff97a93a5b861989daa10da7c8e3bc7b0cdb095f6ce1185cf8fd3dca035eb3e505cbe022d81d93945a144806b9fe0ba07f3ab9c70e72b5fb77ac6e4c7e03aa2dce7c5ef227aba1acd48c1d93e0e26f01e8f1e43aa97880d15d6c924b060d1face21d03a796c86301f4a74339e472b2f96cd0755741cb9df3535077381ada84d1bc0846a6c44c8a8d3cfe1b7a9913d1f3d7af2c5ea4e67ce0a7ed3c0058206fd13ad9ccad5a8212f3ecd788368a6b6148178c7c5ea8d6d385227f2c76a047216e5e206b1ed1]\n[sha = SHA-384]\n\n# tcId = 343\nmsg = \npadding = 3041300d06096086480165030402020500043038b060a751ac96384cd9327eb1b1e36a21fdb71114be07434c0cc7bf63f6e1da274edebfe76f65fbd51ad2f14898b95b\nresult = valid\nsig = a454390b04bfdd69c4be2ad1bad96ec901639f0bb60df268415b4a93b4cd53510fe64f394b319e66ca8605d7d5f7a05dae5eff827060013503d857a977c09ef742525e43b7e69d3802a58206e696848a87ee17b2b9de6829044349036554c659c8f8866c401fe85869c0a5ea90739c4983a1561a84e4f0bceb00015a671f5283f41f0bb8599774829b6a2de24f14d83351c96e35ae1475c8b4bcd2cf66889237a206d147b0e949f2b2028ead379c74203017904ac09a5561a8ec343be22cf46c3bc2a87b12cf9cf6e8fb22de884bdd9677626b757a005d3745f387d296347d3852ddc2c4258cf572dc40df3ff6a8a5f9d8b1b410c54739b9ae182611ec01805c80b445d058ce2afc4bd58d87c03fc9500fba237bcbedb0960a1a02efef52b97cddac63b5eb0481c0c0991375735338ac84c0505415ad2bf8e7a819ad269460668ba8f8c879f521ec9dc709e406de023fc0f9129a3a94eb1f3af08d33eed6273e5166f31110097f5558d8d9028ff558e627c9c0db2454b134a82a9dacca5b4032bc0e27c4d41cf55e9d89cf51528bb4f08c6ee5ce651af3772f008a44863c851933a57cac8e29a84756c9fa7f80435b3b78486f9908512902d5461964918239c76b6790b780e09d2f1d3db1c59b275d20bb24fa4f518b25af3254b61d34ed8b444d3ca736ceffdddaf767bdc92b4543f68b25421cb8c1328f2f253e446be46d10\n\n# tcId = 344\nmsg = 0000000000000000000000000000000000000000\npadding = 3041300d060960864801650304020205000430a5a2cb4f3870291de150e09ee864f3b2b3b342937ac719a149439185ad6a47bb4f23ae83ff20f0c8f0c79a1764244a63\nresult = valid\nsig = 909c1f13b544933ccf3bc73ff5053a8a65a8f01b447d4b40f109cbde29d866368aaebf46c19051092063993862b32fd166006bdd4d988794d4e9a77821fc9e684fab1366a2d988eaca60e4fa8ea947dbc4b8438a9fc036691107d3d0be52c46c61342ef8fb7e08032921c1b455c55de28d58c77c1eaea03f13c26c4cea73d14acfa8ac2907f6a775273e7686ecf4b882b88a42cba11cd1efa5b985cf5a227654e54cdc9e2d283b80d250cce553fda636279336ba13f7f3659d70b5b2995a2ac7b60f329c62790d8eed1c3dacccd0df468a91e767c190be41a028d4efc1c5ed5e6f3a77930f50217fde9ce9ccb66b75731957959834839fa3bdc1a769fabebab03d3f0e605a12aa9fccb2a9421591a7427d82068623582de592935904b59a42e59b50419cd12d71da871862149a6500ec6870d989423346879551e506fada7c0c01b328244ac5f2e2c5bcbf4b5b09a4512a0edc90fee4d4dd9eb88582bfe37b49b8d8189051b32cccbc4d300284f9e523674a601b1a725722695d5ef438b770b575b6d0955edc761250bcc6a30e8d5c7287093236f223c2da8d9ab7d6b58e5d0e9167f2e8c58255ed16b63789ea16046bd0f987b156e9898076d444cc7a4aadc76699a2e3a442d63ca4c3f92da9f3b2c4ae13edf9d4e28ad206ed0cbd2df2a46920e298abd1904877b75c1a9ff80c5bf05bc5d1ab94d379d064fad894918ce326\n\n# tcId = 345\nmsg = 54657374\npadding = 3041300d0609608648016503040202050004307b8f4654076b80eb963911f19cfad1aaf4285ed48e826f6cde1b01a79aa73fadb5446e667fc4f90417782c91270540f3\nresult = valid\nsig = 65956121a818b842d861d0dbcbdef22aa05c7e94ce5d748308663e142881feadb85dc4421d9d01833b8b4c2713842c77949cee8b853286107c655de7778a5acca11afbf1d9dad429eb6a281c1e8ae1cfd37cdf530fd4f2b765c352bcea26ce44e2165c36553318d89b1e06ffd8a210cb988cbfc916a9401fbdaa56a1a2a4cb66ef00a3176182d33dec5f3625b760c37c82cf618cd2875079a36015af21d060dffeb5c9e1f4255d7fea64386d8d860c6868cd79ef6d7a87927753a78bdb63c4845306de1d73c5d7dccbb6cca9b65aef19a7b9e53d9c02a4a2bd6910e076959f9f40c30eaa0a6ef783c0b73f05566e4492e16b832729e03fc939e54bf0336d376a3b4cda534bee446dad3fe51d20bb8a135103e7e12220484bbe02e99c5803282ab90d11063e5243297f80d3f24ab08fe8f2fb62702b0543f0203972d35287ba64facbc635cb438a888c83c7028a325555f07521c3095bc4e38bd0f60eb90828319777fea2276e0bc76f2c13ebf92f802a08844209ccddd2aac1f2700e8a5107e86426e6ab76288fa01de18b8a63551fbe8705824d16e5190c559c7bbe8a17031e7d352a681b0418cb36423632ec48a8d3861136b250ad2fc72388e771b41849893cdbffe04aac4037209944ff3174f86f7a88414b1666727c960b1e54a2cdb82e39cf9f2661f4ad6e22f330b350eae7f588a623524617b1846486fe9f04abbf5e\n\n# tcId = 346\nmsg = 313233343030\npadding = 3041300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace\nresult = valid\nsig = 3b35a042a4791dc1ac1561ad1038750bb9a575a7ff72db2ee60ba027f8994bcbabe41fed36417bd139a286ed0aa6c3ef2868a7251442d060c1cc67d4470c3ab7c307acb0c0641218a45b9cdde05546653850c2168a59f1788cd55dacd40afe38eb941ff08ffa8bbe609f2aa795c73c0368f482d53d691980891ba43b69f5791c2e6f70e17a996a299e60ce1c9d44ebb9f29e700e9ae216df749149f6c222d1e1733953553a792745c382d44f52ff404ed5ee04c41ac8acc97c250f9a5e3cc6d70902d51e8ac000d05e36279d83491dfe6a40f222bc1dfcfa7fa5e0197cf47528f77719e007b65ca39dae17bd0f323b00ee63b66401e2ec5f8917ef600a41c3a61571a4d922c0b0ad0a290ee054ad15e63f1a0cafb749f80cae6cbeb06be62e1608b502182d247bc6a37abe5fd750ead8b7216a35e74b969005309b14be36a31c5e6c2266701d5afdb5ca2314e2f32ae17387d8284ad2c7225fa63ed47e7245a65b74f53a5bd22654b3878ed09b1e5e070bc20eefac6c95b006b8f3e613b19f518c48ee6781a12bd08ad36ba384d03d3ea3c4e0b1facc39741f9ec73d0335d2ee735355955ed12cf8b999d155d389b1a3caebdfbba32c883ef7d0e112d86e6149a3328b63b9385c68fe8a7b679e8436aef7466067a8e8bb49e31675729b3f448e7dd3c048973d2a5f8f7173c4428f3982a99361fa691d1588e39cd4485c450158\n\n# tcId = 347\nmsg = 4d657373616765\npadding = 3041300d060960864801650304020205000430b526d8394134b853bd071719bc99d42b669bc9252baa82dcafabc1f322a3841c57cc0c82f080fd331b1666112b27a329\nresult = valid\nsig = 09d8512c4667994623530a2317bbda738eb8917bc80c84b64793351463da171bccc88b95049a57", - "ccd917a4687da3be63db21b0ad0972ed9ed182f4ecc8e06647675340192a57e6591eacbf15d2f5fbdcab568b16ed86e668144d9e676e55ec4df1dce61f672de9f53d1743b72993a5d21ffeb7ab58e0f83e297cccbf25ed68c70dd8441c119afb6c07fb1d83edd9bc1ac34046733c8b827d002c3b6072d74a6c2cf7f1d968e9f7b0873de8ee5adf902dc68fbc93171f763c425964ea6e3af6691f1a303ff7837adb07a09f728de3377fff74adb34c959d363db650fa5c3035febfe8c62a0cde3d006a9d34d51c5b2c4a1dd4f2423c532c6b5fddf03e0a05fdf8d857f98787d6f55f0ce1d0ca95a37177657035ee48bd4f39f7d520ccc48ee999777868b4c3876e2242f59b725798bca28ae66c267c507cd65fde612c1fdc9362994ee31134d5561ad7c3f523858f43611c249cca3c134d00ed966a82b800da11add213731b58caf232fb2094e9dd42ceaffc7002f1592e79b85eb6e39ed5de8484f5509e0f54166426095e8522f88363fd0dd7bf64414011a710c7834958c0aa308189819cd4488588b84729dafe163e79856b913ef55afed55e83ee5b812579b87cdb80d5bc9ffa02ec32a0d97b0a56bfaead58a438cee53d40dd197fa2eeef4aff98eb5590163e68b5f3de443909769080c8a6bf87e3808bf265a41a3b79f8\n\n# tcId = 348\nmsg = 61\npadding = 3041300d06096086480165030402020500043054a59b9f22b0b80880d8427e548b7c23abd873486e1f035dce9cd697e85175033caa88e6d57bc35efae0b5afd3145f31\nresult = valid\nsig = 798f597e9ad4ba8b3d00a9527f4e785af5c55994e2953046a1b9062945e8dfa35eedb1e31af3daf1955d7b0afe74fbc53739b1aa02fa2dba629c31b211cd513e2248ed847dd579406ab603d3369de3bb07143a581734fd8b1ca0358c4fda639045be1f192b233efb8848bb2c544e4e188e0c7ce311bb4841077d15051c6f6b31998ddd8a7bd30d75b7b3c824358bccb35f8ffa8c0fc5ac37ed71cdd48ed3c0269a638317756bdc9287043be1b4f3c6ef6423f1d0d38857c195e7be81c3778648ab889474109ff3c7be0fec790d3f5f50b966e3df40c566f572f8f252d09e97d4c90442badf820c7db74d6fbb004bd7eb53c0b1a871bb9f480821bbb48b363c85c9866bf8a86de9c6732a3136f2c80e88a29540a9036b72fb8f4c898e7b487c41d0f693c91309bb3bc06f1e3b2fa9918c31ba2a4b82a37a927784a7c7d2aadc3301524ce2708774c3e2189ca188b3d85a33348d28ed6f080a06452bf8316d483e6a5e28b831797f85a8ca5ca922bcd94b9045f588ea9e15f2a20dd26817eeb80b3421c5de72db98843dc719cfb1aff1f927ee1df1bb718732159bec70d5b6d0f98a3fd5d42c31ecf4124cb1759f183838d676eca2cadb4d57f2d6a52cd0115ffec0fd79c99aa78df8c6b54797a590bfefd4c34e4c3f39750ba47f4d8002a131b870ff8e65c6c37b75e5c54c8a2bc2fdacedb41f30ed8bc9029819b7064b6514a1\n\n# tcId = 349\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\npadding = 3041300d060960864801650304020205000430ae9ada2a808aca7097c9e9c30fba4ca60a5e79874a6be0f5afeb7f5df3538346f04b84ee06bef7ac879a0085bb2036c8\nresult = valid\nsig = 41fa907da9f78e107b58ff6c4ac0e92a9bbc7f5b510260572fce4ef047c73cab3fb0d00b353b4cb9256dddad432c5815652bd83c78e657075781140de56189ecfbe1601f24bdce05c63f511a3d04673d24c4e943695d7812aad66f374a74a906177dc729090070cb5d6d518e7045f4cdece06ce2ae42e1177c46856a8425e60bb06040400c8ba0efb8d4f395a4377d4c2c128c68e6b30e358a73d9904d7aa1e517ef396526cb64d39b3b36ed7204b3bab1d91b23ca95b2ca1da3eee91c7d27b4e4e658fbf5060a79cce69be1d95252b0d7d7220797a53982dc371372969d4e06556507e7e7870a9efd9e03766702f217be1c8f7f80006c08d13e175040cf28b215deac6a1ebf3520a3ad9e91f9072dfe50c69d1aa5a0df73ad63f72831b055f2367ea35cfe676a4f7970bc85e2b58917d1bd449ed3d274ac40f7a515e261df3d067a277ae610e4ee4cf68b3a947ae8c8339c818ed10e73b6480577b2a13722023cbb09d3b378cfb71f6c86bd481ee09a1fcbb807338e968aa5af993697eab562aa4975562eea6b1169e86c75ef13e877cfcd4608994eadedea3eba55af19a7a55b19e92b974450a593cde717bf0d7ddbf0bbe8fef90816fecf86ec522a2d06a04ebbc50a1eafd67aa461a8a9cd705ece0bbb46cf773689cc19cd69607594fd2ebde06aaa1e34ebec001edf318fa22245876461fc46126172db41ae9ecd74700e\n\n[e = 10001]\n[keyAsn = 3082020a0282020100c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d30203010001]\n[keyDer = 30820222300d06092a864886f70d01010105000382020f003082020a0282020100c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d30203010001]\n[keysize = 4096]\n[n = 0c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d3]\n[sha = SHA-512]\n\n# tcId = 350\nmsg = \npadding = 3051300d060960864801650304020305000440cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e\nresult = valid\nsig = 9cd28bf41b99fa4df2852d86536257fe111f63f01815146c057dc3bda9b6633e49495d38822392b6b901e6ac69c4f09623a524e49246c3710c85a1957943d89c8399b0c2a649938bb07340f14c6981a0da0fd35163bc7eedac80ad1cbf06a4c32a4a08523554256eb221395c76e1f79a5e3c5b9636673db3ba27eebf8315468888671f8441324e092124df31d396ad8367eb7c9d0afa44dae85d56208ba21ec7c1f0ed6a3678f5d97ba7089422c662d86cd514fe853f38481632197c1ba07e4d92735eef3b75afc25ffa900769c74ba34f2d157e74bbab64cf413bc858cf6c393e8afe24f9e71168e97db96717d0081d88a27257d8c692dd0e001f3fdc2090512550ad38725c10a201fc50f8dc89ecf363b4d21a7d815eb78557d42e657cb44bfc785203e8de00f9e18af1c8e12953a33b0717af215d9b04b71fc320bdf4d558faf55d03d30844237551e35ed6606bc706ca43a47e6c493e14719049065eb8e00760283ee72c1ae3ce019ce3263a90b8340d1a47b49b78d5cae9602539b379186e5c1e847b69c75152036c8d9ef3c77ecd151bdae7ff36a459d0bbc1dfa33ce3dcd94ee2cf6ee08a77485746306ed987eebaae2baa544b543b5afe143e4122ade5adfa4fd463a246f29482dce7a51573aa18fce87f7edde842e7f21ff9e40c4101b922616ee4c14ea1af3c4d417fe8876af381027d837fc40dc684e81b9eecd4\n\n# tcId = 351\nmsg = 0000000000000000000000000000000000000000\npadding = 3051300d060960864801650304020305000440d296b892b3a7964bd0cc882fc7c0be948b6bbd8eb1eff8c13942fcaabf1f38772dd56ba4d8ecd0b626ff5cef1cd045a1b0a76910396f3c7430b215a85950e9c3\nresult = valid\nsig ", - "= 659ffcbf6b22f5d201fa4114077aa7df32b513a1fa5948ee01f6e21c1862a2b91863f7aa53d1aadcab9347955210a91829a5f7c86b3e2850bd1f76b3c4f4333615ceb22830a7a9d7a13436683a48995bfd62f528ef4959d30b6ddcc8ed2a431c06c337250f8274417f6369b7a08b927885df52bd7370d3675094bf1bd32a7f5b0ca9a399a59f868cfb78f87b8647ab37d0d7a58d6f4a58f3e3df7ae88ddfa6470050229754f4ccfa265cec0635f0360c485d8f81974c6b8a11adce3775dd01936b82db37641ecf5f43cb8538055a053d4085c38a8a1c4e0c8af961448a779288c5efaab1eb4401c8f388c0b729e42243d935df1ad3705c1c5a7ffb6ea8ce77a69481a3b930f95ff118cd0fdb17393a37139b3b5a9c275c6bbbc819e18f49c369153bf1f7807b450e54fc28065a6ab6d5b0ee91d0a9302ebc0bccd35c2fb2fefc341a954b67e91f6d8f3f7b62c5fbe504508594f357b1ed951fcac7043a082b9bbf41ccf609881861e2de15ee99d373c0e99027ff240c0b6fa52be2e199967860baffbe25b3254fcd375da7152bb94ce8dd01465290fbcdea0838a69576e97e63cb636db79c2799a26f94a9fb044e3bf66c520895b4683bd799e6b04ab62f621dc00f20a4adb131606f127b84025269466c760181d7dd9ffd0aa5381180b541e5e933e1841d6386ec55a63bd9d8674a775526d30dbe34e4db87067a9326c6dba0\n\n# tcId = 352\nmsg = 54657374\npadding = 3051300d060960864801650304020305000440c6ee9e33cf5c6715a1d148fd73f7318884b41adcb916021e2bc0e800a5c5dd97f5142178f6ae88c8fdd98e1afb0ce4c8d2c54b5f37b30b7da1997bb33b0b8a31\nresult = valid\nsig = 46eaa4624a4d2c1f1043eb3d17b48d977819a8796f48f20174c50da624c657e64d3154dcfa2a5b1d8c6d2ed07cf1f1c19aaa611d6466f7e7ec73df5ee786573adc5a9e3c1d0a25559dad282db26e889807764115a05a23959acf48d23b3b33a93d8b6c7de3ee446f113eef96055d285fdfd27888e569c50f022d5e8abafc874dd5a61df6258e85268bff66cc5643107f7d9097496caedc185b37311ab6979f273e5670f143146b68e44b49389554772c1ca7bb7a12fcf67d67a1fd0c245bb4cbb924276ae756098599392cde076a1c0edc8096d9125e5a5d30c2a93d00fe2e0362e98592c8fd31ab5b4c3b34e65d38ca0c25874eb394e04969982b70932616b75ee2912c6a07f20ec70e52be630ebe024c0622aed125e00bc84980416b80cba7752eb90af2b8215c4b559880d2e1c577b7374531038083725d23d02d4fa5d8b5a4c68e9ea5e11fe2d9e03c1b8a4db0b053097b5a175b1131e8beef5d559bcc3f17ed2e6f6304c0e4650a2bb675aa8de44af8a2e301734584eea145c4b389f6180e6395412ae70e57f488ed15d45895be580bd87cd916b8f20e46ad2fff0367dda54266778bb444c6e4fdd45fa62cae3aeb54b6a7a6b4d8068e3a4d0730f0260340a6c32c3c5d33f514612c941bb63d730df5584933e12546500495b5ed3ba3631a3db871d17353d4c16676a0332ba4c4c4c68cdb6ff21ff737ee249be153c1d9\n\n# tcId = 353\nmsg = 313233343030\npadding = 3051300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc\nresult = valid\nsig = 12813153b37fa6c0fd755a1c7c409bb8169c5a39d045dff2da02b2f8e8897b0cdc6c2d40e6945b97006f18e1b26983f77b70bf2961b5e5f2759241daee8c56fca7c53c81f69d3a0341720d9761a4f7be8c068464e881c85a2c39e0ac6f74f6f5cb42df8c3713f66a282d7fba85b7a09a6af83a068b78bfe83ab25841e4bc67c9e40cf2a0974f8875fb81cc6a115b91f922419c44ea82b33187521a7e1f46c0ab9459b4e97a3f4a1d9e92403a37168826fa0ee914232afb6c4d7dd082d0c58885e356d0efb8aa9ae33d045f24b4b3182d5c54556f5838c449d31a49a3ac4ba568c248ed72c111b5ffabd991ebf5c48efbca33cb38996d584992c4abdcc7b93700ca03619412a355b41b000a32f6cc4935f942209b56a23cfb7b788dceb692343995f77daffa25e44d672f8bc451f776560b415d0d1bfe9925af1c2567a8e9bd15b8554d93377c62b0addabd27e8d9e0859f498ba8e03094e1d86d41e69f7606d9f1fac04744c3b7b8fc4942a846e2a3649bd9416d500b9895455fb6741ed8ed4f426f20ab40d8ab2e6cf6c63f5c290fc011768b317bde49753efbdfd12583f1ca79287225f9c3d3ed0c4530815e4f5e7ed78d14aec0d04142d0ac0fa3bb5d73b4bfda2fe7103a2ab40672abf08ef4d9e537b9f856d32450e2e41d9277be62ad0675d1a530709f2747f51f17aba10381fdc70c626bab45d51166b6f6ad978d2dee\n\n# tcId = 354\nmsg = 4d657373616765\npadding = 3051300d0609608648016503040203050004404fb472dfc43def7a46ad442c58ac532f89e0c8a96f23b672f5fd637652eab158d4d589444ef7530a34e6626b40830b4e1ec5364611ae31c599bffa958e8b4c4e\nresult = valid\nsig = 27a042625f50673fe9edab9aa2fb4c60dcae0be2e8b75662bdddec7b1d698065510a193e17981bb0b1c32e46d237e15915afe2e2d4890c09907e1866095c19763524b6c8d2dbb7814ac5047f0a082f7fed4109741f4719e12ebb91f27a3cda71e80ec8a7f6c882ea5b3de3c9f156cff033a0d3cf787f9a8a833a29d0c96f0b68ccf55ffc62098e21f0df1832b70878dc94ef1a3260ec2fa56dd3c4fece5d855644d26012f56d2af85a0771d61367b7e266577e44c444347970908ab6cfae42069e2ceedf63679c2bd03697957e287d156b2717a416f0e4ad96868e1c7b80eb84e99778f670ca39c15e1f901def1efd824ea5f7bbe127dce8c8f53d849fe1172a1254caec13b10b0612e72d3f8e7206eee2620e8e3c0ea176deb4b1fdf5d8d37b57af553cf7628ead74443f98655b5166cdc08190d7e3b134d71c21bfacde3e4673529e6d8a9c7a8b419451e7ecc6c16a44b8e1b3f2c9d1c822df8f2b51d8fd027074ab2d1c52d16aab0a266c7d9ec03df7e631052e67a28963bf8560e89326168bb7c8f5a152f7ac54a46e88190c62a938628950df881a4be4136a55bad4f608d39ff37907a6f99bdee065e5ccd2921f8f1a2ebafcb336fc6ca96a207a5a0a7873420a2ea383a5f1c604c93b6c0ac69244f05d54cab184c6592e9bc4069df60d3cbcbf16729dc2f3f3540474890abef29e1b21dee8af0386ab61784d7af8d79c\n\n# tcId = 355\nmsg = 61\npadding = 3051300d0609608648016503040203050004401f40fc92da241694750979ee6cf582f2d5d7d28e18335de05abc54d0560e0f5302860c652bf08d560252aa5e74210546f369fbbbce8c12cfc7957b2652fe9a75\nresult = valid\nsig = 2e642b8a5208890b52187729c43a1a308cf6b846ba1c2fff152ff4a1b051753f14ab035c2f3f732d5a9df7c2cb732d09f8147509bf02df8ad26924eeb04dded8467b66c5e3eae384568f624e55c81cfd8e3204422677ab62d919a176471b1fa8bae44bcc8d4d116a6afe5ea2773ac52a24186d6a4374171ce0516bba8733c59f38d622b7b6b7ca7ed2123f7f46b6c06b02f4c7506c46327d7cd908ddd503fd42be3cc896008eb9202bbd7af08b9908121a8b27fa44747217ef72a8c549444232e9209ca1345ee017010409527faf0722e3f13641ede5730639bf560c8a655e2f96cbba7b2811da8a1fc3e5125c92754ea7b823f394998b8890602b1713c2a4d352066e01f55ea86fe3da71f9119300d84874b667a6538a90ab24aec2bdfd9ba9a5f0c3072d549653b16f4a4319ca398147e6753f9a048b5b250c64d599115bb717ce85c8370df62c93da7e10fe705a12482e6f25e6ef1f4851a305aa4dc21b08791885867fc10c5503a769a6d6794ab5a9cc5da68cfc3546b0e848ed8629ecded620ee3fa6dc1236b59874916c45f9c409c9889bb85d7b289ee5f45f6d33262dea83b32c071417d3759cf650b9d43468ff0c2e922632e8d73feb4c55fe4233dc1f0cc6f6e522fbc9e9362f1d69441d56ee5f3252dc0559339335901f539ba274cc3640ec776a12c5c7e5c1cfeddedccce36884ea01071c2bcfae7ebfb5b874e6\n\n# tcId = 356\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\npadding = 3051300d060960864801650304020305000440aa0a2e60e45f276fe3aefe9fc07c6f2435f143ee2afd895e4809384e833be66a6396c839d6f7db83f37736645454c6e63712b27e70edcdd7440e1275235070c0\nresult = valid\nsig = 811dec041124d3ed9d5eaa9c760ca5756e42525687d4af701231671e8f7f4448ea9b9eaacbd9c99659ee3c175277d30cdede73e1b332ffe41b8b737150ce1f1c67aa6b22ff801077c4241a6ff4af8f4db9462c70c13e1da86edec4042a70be9d08384d932681dae48fdb83149170472564a5bc68cbe952c76e476b99c8a5a1ecaae809690a014b28224ddb9c9dce0d4f6a77fa2888a71f3aa9b5deda0af40ad0464d9adbd26fde242523c096106124048bafe824f733b0af480056de2314f5e27db5aa3fd15705777e14efd2ac43beb12f8f496d09103ab377971cdd45e9afee8baa874c23d3942ee3a505bbc3901dd4cf55ea8a30fac0cb754793fb2d8f4edc29afd51b99140a8d03aa0614169428205fcd66c1047d3366fb32f1c2b1bcfed8ae23580ed254c3dcb127daf16aec1892714ee05a1ceb4e561a1e9c8fd4118ef8cc9e063bd86c55d28b8acc9d5b4c589583e7c6b78fd518d8ca85b88517f10c27aca2f0bcfa54ba5bb94ed5b005e3d871b68b86e96adf12588037adc97cbef59c05f0d2162db2e4cce41227df11eab5449d612be56ef6fc522452573340d4d68af0178d4f19db6a0ded521f1a982bc5567dbde2036f74d6d67b806ccc7c7f70d3092c22c9c1acf307b751d994fa5259a5046668a047afe4c3302e908bf70bc6b55c39726bf24ceca809357c623b89fbf0eaf8b5d18823337e7e0245d865574cb9\n\n[e = 3]\n[keyAsn = 3081870281810089863f6993177d65e5f1b6d41e183ebde1fe8c0f23fa8c99893ba0267416b74d93bcf04cb77f7bbc5015f501c001fe81eed5c339fca8d6804c29523668d57b32e2058b20366c4d66c5e1684b925bd7c71959ba4b022a4ce4a04c7e4ff13fa433f81553999ed9e73dc6f4e0cec5b00452391bb7a742f5b932c0a4eccf802120cf020103]\n[keyDer = 30819d300d06092a864886f70d010101050003818b003081870281810089863f6993177d65e5f1b6d41e183ebde1fe8c0f23fa8c99893ba0267416b74d93bcf04cb77f7bbc5015f501c001fe81eed5c339fca8d6804c29523668d57b32e2058b20366c4d66c5e1684b925bd7c71959ba4b022a4ce4a04c7e4ff13fa433f81553999ed9e73dc6f4e0cec5b00452391bb7a742f5b932c0a4eccf802120cf020103]\n[keysize = 1024]\n[n = 089863f6993177d65e5f1b6d41e183ebde1fe8c0f23fa8c99893ba0267416b74d93bcf04cb77f7bbc5015f501c001fe81eed5c339fca8d6804c29523668d57b32e2058b20366c4d66c5e1684b925bd7c71959ba4b022a4ce4a04c7e4ff13fa433f", - "81553999ed9e73dc6f4e0cec5b00452391bb7a742f5b932c0a4eccf802120cf]\n[sha = SHA-256]\n\n# tcId = 357\n# short signature\nmsg = 3831\npadding = 3031300d0609608648016503040201050004205316ca1c5ddca8e6ceccfce58f3b8540e540ee22f6180fb89492904051b3d531\nresult = acceptable\nsig = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c68149efc8a4a913a26c9170590a1ed9064323c12b6ebde15ae8c05a0e5205c91f57f5753815ff39c918\n# The key for this test vector has a modulus of size < 2048.\n# The key for this test vector uses a small public key.\n\n[e = 3]\n[keyAsn = 30820108028201010090a5d7aba2c8dc828e616fc1fc45c7c52130c8589dcbe2913da187572f6c23217b89a5186b6f90cbe053abfb0885a91f141dbe106ce6ad303904a5941df26ced10478cb56a7bd6cf1313c4966d9cf7c4509d9dc63566aa323e110af219f3398c04e79bb486de8703793473136f5c9051af24bd2c0208ea1bf9321a3e8f24af00aaca1216842eab248d58cf46ac786c49fd3ca8557e9b53993a4b9718cdc5c474bf1cfe58c07ad97b2c5acb7d86accc0fc7bed147adb2e77b8697d80150948117714b806ff76f9d88147d84e93987b724bf4870429e85a7a7b51486a78d8a88f1688f60e215d43d06221e2b993b5c12a607b80e9e0122472b29945f76b55737c1020103]\n[keyDer = 30820120300d06092a864886f70d01010105000382010d0030820108028201010090a5d7aba2c8dc828e616fc1fc45c7c52130c8589dcbe2913da187572f6c23217b89a5186b6f90cbe053abfb0885a91f141dbe106ce6ad303904a5941df26ced10478cb56a7bd6cf1313c4966d9cf7c4509d9dc63566aa323e110af219f3398c04e79bb486de8703793473136f5c9051af24bd2c0208ea1bf9321a3e8f24af00aaca1216842eab248d58cf46ac786c49fd3ca8557e9b53993a4b9718cdc5c474bf1cfe58c07ad97b2c5acb7d86accc0fc7bed147adb2e77b8697d80150948117714b806ff76f9d88147d84e93987b724bf4870429e85a7a7b51486a78d8a88f1688f60e215d43d06221e2b993b5c12a607b80e9e0122472b29945f76b55737c1020103]\n[keysize = 2048]\n[n = 090a5d7aba2c8dc828e616fc1fc45c7c52130c8589dcbe2913da187572f6c23217b89a5186b6f90cbe053abfb0885a91f141dbe106ce6ad303904a5941df26ced10478cb56a7bd6cf1313c4966d9cf7c4509d9dc63566aa323e110af219f3398c04e79bb486de8703793473136f5c9051af24bd2c0208ea1bf9321a3e8f24af00aaca1216842eab248d58cf46ac786c49fd3ca8557e9b53993a4b9718cdc5c474bf1cfe58c07ad97b2c5acb7d86accc0fc7bed147adb2e77b8697d80150948117714b806ff76f9d88147d84e93987b724bf4870429e85a7a7b51486a78d8a88f1688f60e215d43d06221e2b993b5c12a607b80e9e0122472b29945f76b55737c1]\n[sha = SHA-256]\n\n# tcId = 358\n# short signature\nmsg = 33363730\npadding = 3031300d0609608648016503040201050004209385aabddf6b3fe60d2955cb9303e9354b775e8fab2f95cb72ecf3553c64633a\nresult = acceptable\nsig = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000989e7ff72e67e680bd21d5f966e4ad8a48c3592dbacc4a2f035b4ef4d17a2f25f8a9fef7e78eb99d76d68629ed02d67c43c4b7ec8c3badc32e3d0a524c326537739b0fde156723b27c23ae2b09895e470c64d700f5c\n# The key for this test vector uses a small public key.\n\n[e = 3]\n[keyAsn = 308201080282010100f2ed0e93228f37c2ce1c215e00cce4ef00e2c08a004a39c4170dc73e5fbd9b91e7c55e596579ec9c60b9bd341e83029b1934e6493eb60099b6cfbb9804d4179c983099e19102bba49eaa28fa505efacc5a9d5374499c0c5775778317ed370de1919f38aff22d5aee8c8af36a86d036029e761f243dff3c205a11e9bce9ac1d6baf81e79ad4146b119abb13903f8562e8f3e6a918f48223465bc93d5e7d5abe3d08503ec42998fe087a1f935d1b8673c495f005dfa7453daf977e1608a8c276da2a4cd0567e4af4d18cba05fdbedcde74493ccabd9060c27d35a02f35c760b12a4deae1359f649f273fa408626fb789c916434a642d528f41db868ff93b7f889f020103]\n[keyDer = 30820120300d06092a864886f70d01010105000382010d00308201080282010100f2ed0e93228f37c2ce1c215e00cce4ef00e2c08a004a39c4170dc73e5fbd9b91e7c55e596579ec9c60b9bd341e83029b1934e6493eb60099b6cfbb9804d4179c983099e19102bba49eaa28fa505efacc5a9d5374499c0c5775778317ed370de1919f38aff22d5aee8c8af36a86d036029e761f243dff3c205a11e9bce9ac1d6baf81e79ad4146b119abb13903f8562e8f3e6a918f48223465bc93d5e7d5abe3d08503ec42998fe087a1f935d1b8673c495f005dfa7453daf977e1608a8c276da2a4cd0567e4af4d18cba05fdbedcde74493ccabd9060c27d35a02f35c760b12a4deae1359f649f273fa408626fb789c916434a642d528f41db868ff93b7f889f020103]\n[keysize = 2048]\n[n = 0f2ed0e93228f37c2ce1c215e00cce4ef00e2c08a004a39c4170dc73e5fbd9b91e7c55e596579ec9c60b9bd341e83029b1934e6493eb60099b6cfbb9804d4179c983099e19102bba49eaa28fa505efacc5a9d5374499c0c5775778317ed370de1919f38aff22d5aee8c8af36a86d036029e761f243dff3c205a11e9bce9ac1d6baf81e79ad4146b119abb13903f8562e8f3e6a918f48223465bc93d5e7d5abe3d08503ec42998fe087a1f935d1b8673c495f005dfa7453daf977e1608a8c276da2a4cd0567e4af4d18cba05fdbedcde74493ccabd9060c27d35a02f35c760b12a4deae1359f649f273fa408626fb789c916434a642d528f41db868ff93b7f889f]\n[sha = SHA-512]\n\n# tcId = 359\n# short signature\nmsg = 38343432\npadding = 3051300d0609608648016503040203050004406114f0b81fa48090bf41e600bbf301f49262bac5794aae087d8921eb23bf4de867fa9403b85e21cf6f59a14127ef0babdbc425d415f15c0ea18d2962839471cc\nresult = acceptable\nsig = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009e7a1269086f0bbc0778ded8d7108ff4edcc2313425088117b2d5c53e9d9971950a5fe8b2b67d2bcd1be74f6b557a3f90650a96d7e4dbd63c05b94f73337eea682417c058d66ce523e4461065ac8ba990c4ecd04932\n# The key for this test vector uses a small public key.\n\n[e = 3]\n[keyAsn = 308201880282018100ab54a4f2560b9f65faa2f83bcf77d41803c080e4e5c3eab3534210982bba8a5d7e513ba50ba1ece33555c5457c41ba58f3f605a04369408f586c26dfda464c7b300a01f1616893264c7606daad4ced14df9a894a1f34586181294297e3ceb9580b0c785c056d5c566467f6f227f3084918d1cd17ed156e7f9fcce4757c5794f92770771ea5cf3101ca0425c846775f56938c1d1cad4401f4df2f5e0d3a3b2770f99e3c1cb4d9d4896c7ca89287b45831218b099add4bdf1dab6e2fb55d2775429386c85dff32c07a6dda504a9627529dd82c943554aaf23c5a5f6cea9c301b4b1f066b86bbef2e4bae9dc5b5e82e1fa03c29ff8bf38556729b356d5ba41d37a069fcc8fc23ac715bbea04c1972a2d50c57cc0159a46b5919fb670fb2a502d5ab66f0aa99e51016b83a406943ce9bdf0ab9b9e946574a5b32ce95d97ac8b1fbb48f0bf7e3c0d4b7a00d131966d009997a166a6630dee4a74c141cde0114aa423351b1dfdd3893a856fc632b6d90dbc79c8a61a9f9e31702ba69fb222860e60a83020103]\n[keyDer = 308201a0300d06092a864886f70d01010105000382018d00308201880282018100ab54a4f2560b9f65faa2f83bcf77d41803c080e4e5c3eab3534210982bba8a5d7e513ba50ba1ece33555c5457c41ba58f3f605a04369408f586c26dfda464c7b300a01f1616893264c7606daad4ced14df9a894a1f34586181294297e3ceb9580b0c785c056d5c566467f6f227f3084918d1cd17ed156e7f9fcce4757c5794f92770771ea5cf3101ca0425c846775f56938c1d1cad4401f4df2f5e0d3a3b2770f99e3c1cb4d9d4896c7ca89287b45831218b099add4bdf1dab6e2fb55d2775429386c85dff32c07a6dda504a9627529dd82c943554aaf23c5a5f6cea9c301b4b1f066b86bbef2e4bae9dc5b5e82e1fa03c29ff8bf38556729b356d5ba41d37a069fcc8fc23ac715bbea04c1972a2d50c57cc0159a46b5919fb670fb2a502d5ab66f0aa99e51016b83a406943ce9bdf0ab9b9e946574a5b32ce95d97ac8b1fbb48f0bf7e3c0d4b7a00d131966d009997a166a6630dee4a74c141cde0114aa423351b1dfdd3893a856fc632b6d90dbc79c8a61a9f9e31702ba69fb222860e60a83020103]\n[keysize = 3072]\n[n = 0ab54a4f2560b9f65faa2f83bcf77d41803c080e4e5c3eab3534210982bba8a5d7e513ba50ba1ece33555c5457c41ba58f3f605a04369408f586c26dfda464c7b300a01f1616893264c7606daad4ced14df9a894a1f34586181294297e3ceb9580b0c785c056d5c566467f6f227f3084918d1cd17ed156e7f9fcce4757c5794f92770771ea5cf3101ca0425c846775f56938c1d1cad4401f4df2f5e0d3a3b2770f99e3c1cb4d9d4896c7ca89287b45831218b099add4bdf1dab6e2fb55d2775429386c85dff32c07a6dda504a9627529dd82c943554aaf23c5a5f6cea9c301b4b1f066b86bbef2e4bae9dc5b5e82e1fa03c29ff8bf38556729b356d5ba41d37a069fcc8fc23ac715bbea04c1972a2d50c57cc0159a46b5919fb670fb2a502d5ab66f0aa99e51016b83a406943ce9bdf0ab9b9e946574a5b32ce95d97ac8b1fbb48f0bf7e3c0d4b7a00d131966d009997a166a6630dee4a74c141cde0114aa423351b1dfdd3893a856fc632b6d90dbc79c8a61a9f9e31702ba69fb222860e60a83]\n[sha = SHA-256]\n\n# tcId = 360\n# short signature\nmsg = 34333630\npadding = 3031300d060960864801650304020105000420", - "5d19d2275db8df24fd8e87092599d5b8c7c798f483bbb6cddb4310353b903971\nresult = acceptable\nsig = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011a21abeac8409398319e65c8656f8f72e179dd1e99358c7531fddc037e47c1e688cd70eafd6eea01c823516bc79f89d7e52ee1eb4ffdeaad1d550dc0a47185bc9c42e47fce5503c3370a60510f834b4691152ef668deca633cf3873ce6613951784aa7dafde118f37f1cdf1a687ac236d5c956bced564b73cf202e3bace59667\n# The key for this test vector uses a small public key.\n\n[e = 3]\n[keyAsn = 3082018802820181008733b9c2bc754216fac899159abb71c5ca84be37153720040f33f291f5f7861bc122cafde3091b5211bc81ee03e280e3c6c2902ec49afb8432c3273536edce7116048513e9b33e2fcfe56f9597c81bc9be81a1b1d46e863ca11db2c33ac1bdebf7c552332067e2e588497e7d9e0738caa57a73dd28157e88fc202b31bbe3b9993548399a0b0df9b72dfeece75ecd78376227e9cd21c8d24ca4aa64fa50a59ee8e7621158e7bac2420fc0d77064d3959afab664ecda0decb8c979eb402795b9a562f2de310aa7fc6864469ac88867788c57ee96f6dc32dbdbe3aa7d3ff47ae4b78e1106e1bc80350b2383dae54140a4605f4130d7e5d3f7818262a27c76a51e4c6db4ab4590b4766b8c50ec1bfed53f0d716b5c7d9dc971399246c75ce27745147151f2e7629039f0b2efed99c7f17cda8f3c3df764dfb40cc0c2ad7bf2b6c72829df93329a4bad6be8635953dd10840888784eea738c763be9f5dc3ba47a9e9d800e21b4ffcc18193e591e8a5283192426e8867331c72bdda06a0eb49367bb01020103]\n[keyDer = 308201a0300d06092a864886f70d01010105000382018d003082018802820181008733b9c2bc754216fac899159abb71c5ca84be37153720040f33f291f5f7861bc122cafde3091b5211bc81ee03e280e3c6c2902ec49afb8432c3273536edce7116048513e9b33e2fcfe56f9597c81bc9be81a1b1d46e863ca11db2c33ac1bdebf7c552332067e2e588497e7d9e0738caa57a73dd28157e88fc202b31bbe3b9993548399a0b0df9b72dfeece75ecd78376227e9cd21c8d24ca4aa64fa50a59ee8e7621158e7bac2420fc0d77064d3959afab664ecda0decb8c979eb402795b9a562f2de310aa7fc6864469ac88867788c57ee96f6dc32dbdbe3aa7d3ff47ae4b78e1106e1bc80350b2383dae54140a4605f4130d7e5d3f7818262a27c76a51e4c6db4ab4590b4766b8c50ec1bfed53f0d716b5c7d9dc971399246c75ce27745147151f2e7629039f0b2efed99c7f17cda8f3c3df764dfb40cc0c2ad7bf2b6c72829df93329a4bad6be8635953dd10840888784eea738c763be9f5dc3ba47a9e9d800e21b4ffcc18193e591e8a5283192426e8867331c72bdda06a0eb49367bb01020103]\n[keysize = 3072]\n[n = 08733b9c2bc754216fac899159abb71c5ca84be37153720040f33f291f5f7861bc122cafde3091b5211bc81ee03e280e3c6c2902ec49afb8432c3273536edce7116048513e9b33e2fcfe56f9597c81bc9be81a1b1d46e863ca11db2c33ac1bdebf7c552332067e2e588497e7d9e0738caa57a73dd28157e88fc202b31bbe3b9993548399a0b0df9b72dfeece75ecd78376227e9cd21c8d24ca4aa64fa50a59ee8e7621158e7bac2420fc0d77064d3959afab664ecda0decb8c979eb402795b9a562f2de310aa7fc6864469ac88867788c57ee96f6dc32dbdbe3aa7d3ff47ae4b78e1106e1bc80350b2383dae54140a4605f4130d7e5d3f7818262a27c76a51e4c6db4ab4590b4766b8c50ec1bfed53f0d716b5c7d9dc971399246c75ce27745147151f2e7629039f0b2efed99c7f17cda8f3c3df764dfb40cc0c2ad7bf2b6c72829df93329a4bad6be8635953dd10840888784eea738c763be9f5dc3ba47a9e9d800e21b4ffcc18193e591e8a5283192426e8867331c72bdda06a0eb49367bb01]\n[sha = SHA-512]\n\n# tcId = 361\n# short signature\nmsg = 36313237\npadding = 3051300d060960864801650304020305000440925eb0238e4d842826b081a74083e55a2d89e67c524d5a903366c1e26afd1e478cb4779e6f69eb70e7034556745f6bddf9547987d8785a7deaa8765aaffbf2c5\nresult = acceptable\nsig = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001bdd0c9e451b5b3e5513a94492dbee1ada9ea87e65a8cd95cceb4d304294ce34bf09a212f14908f5b865c7a34a72e68e389794a2d1c5767ba17829e2044108ac7842b6bfe0a5663b433d656f4e38522c5a5a23c460b898833828d257350e5814291b54cf13089080f84998edcacf0fe5fca0c1f8b176b172c5f9989491a039bef\n# The key for this test vector uses a small public key.\n\n[e = 3]\n[keyAsn = 30820108028201010092bf17cdbffb42fa9957ce37826bb451708e7cdec8752b809c81a8d16fe5fe4dab6a9db6d11dbb12086645db7546642b322e8331dd7f29eff68bf40b24f80884f5152b1fda9b9f7ae2fce2721cdee0fc48f85a6e8e64f767ed9727fd2dc597967e276a5e2e768528afdd9df4b6ddda4c174300e4da3c19a3c32299e1e7857934c14dd6203d8c2671289bc392711597155364a59046b2b9f1905fe717ca7efebb4c1969b804118effa240c11ebf97cd68c2aa19c787b3be21e68c0e397c7f04c6ef98950e27e0e19a40da92a3ea10800fe9252b77026d14c2fa1eb4ac102491e5773279f07d856d446f45169b09bf60b8a2695f5e4864eaaf9590aec8c7c2f86d020103]\n[keyDer = 30820120300d06092a864886f70d01010105000382010d0030820108028201010092bf17cdbffb42fa9957ce37826bb451708e7cdec8752b809c81a8d16fe5fe4dab6a9db6d11dbb12086645db7546642b322e8331dd7f29eff68bf40b24f80884f5152b1fda9b9f7ae2fce2721cdee0fc48f85a6e8e64f767ed9727fd2dc597967e276a5e2e768528afdd9df4b6ddda4c174300e4da3c19a3c32299e1e7857934c14dd6203d8c2671289bc392711597155364a59046b2b9f1905fe717ca7efebb4c1969b804118effa240c11ebf97cd68c2aa19c787b3be21e68c0e397c7f04c6ef98950e27e0e19a40da92a3ea10800fe9252b77026d14c2fa1eb4ac102491e5773279f07d856d446f45169b09bf60b8a2695f5e4864eaaf9590aec8c7c2f86d020103]\n[keysize = 2048]\n[n = 092bf17cdbffb42fa9957ce37826bb451708e7cdec8752b809c81a8d16fe5fe4dab6a9db6d11dbb12086645db7546642b322e8331dd7f29eff68bf40b24f80884f5152b1fda9b9f7ae2fce2721cdee0fc48f85a6e8e64f767ed9727fd2dc597967e276a5e2e768528afdd9df4b6ddda4c174300e4da3c19a3c32299e1e7857934c14dd6203d8c2671289bc392711597155364a59046b2b9f1905fe717ca7efebb4c1969b804118effa240c11ebf97cd68c2aa19c787b3be21e68c0e397c7f04c6ef98950e27e0e19a40da92a3ea10800fe9252b77026d14c2fa1eb4ac102491e5773279f07d856d446f45169b09bf60b8a2695f5e4864eaaf9590aec8c7c2f86d]\n[sha = SHA-256]\n\n# tcId = 362\n# signature is close to n\nmsg = 32353934\npadding = 3031300d0609608648016503040201050004208f87edbf7e3fbfba22df722036c493b7b8f35321b7d147f22c4789a9d0a4cbc1\nresult = acceptable\nsig = 92bf17cdbffb42fa9957ce37826bb451708e7cdec8752b809c81a8d16fe5fe4dab6a9db6d11dbb12086645db7546642b322e8331dd7f29eff68bf40b24f80884f5152b1fda9b9f7ae2fce2721cdee0fc48f85a6e8e64f767ed9727fd2dc597967e276a5e2e768528afdd9df4b6ddda4c174300e4da3c19a3c32299e1e7857934c14dd6203d8c2671289bc392711597155364a59046b2b9f1905fe717ca7efebb4c1969b804118effa240b8bf4bb1a6d0616fd5be2f081dc9ef741a9a4ae7274418b791432de470c4556463108388e8e8ed5dcebf3558e4650c2ac97c86fa682176f09b5dd8cfbf15d19c3fe4f961f4607c12cb3dfad9b6a0e59c92faa1fc8622\n# The key for this test vector uses a small public key.\n\n", +static const char *kData117[] = { + "# Imported from Wycheproof's kwp_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: KWP\n# Generator version: 0.8r12\n\n[keySize = 128]\n\n# tcId = 1\nct = 8cd63fa6788aa5edfa753fc87d645a672b14107c3b4519e7\nkey = 6f67486d1e914419cb43c28509c7c1ea\nmsg = 8dc0632d92ee0be4f740028410b08270\nresult = valid\n\n# tcId = 2\nct = e8bac475d1429034b32f9bdeec09a37f9b3704028f1e0270\nkey = a0b17172bb296db7f5c869e9a36b5ce3\nmsg = 615dd022d607c910f20178cbdf42060f\nresult = valid\n\n# tcId = 3\nct = 4c8bcd601b508ef399f71b841294497a4493c4a0014c0103\nkey = 0e49d571c19b5250effd41d94bde39d6\nmsg = f25e4de8caca363fd5f29442eb147b55\nresult = valid\n\n# tcId = 4\n# wrapped key is longer than wrapping key\nct = 9e4510cc84c4bd7abab0a8a5d7f1e6ff3e6777ca2dff9be7e223652239fe57d8\nkey = e0e12959109103e30ae8b5684a22e662\nmsg = dbb0f2bb2be912a20430972d9842ce3fd3b928e573e1ac8e\nresult = acceptable\nflags = WeakWrapping\n\n# tcId = 5\n# wrapped key is longer than wrapping key\nct = 8fbf39ae583bd4efa7a3e8f7b86870b34766ae7d8923a8e97b0cd289ad98cacb\nkey = dd583d9f1059861430ec8b5d8a180e9b\nmsg = f2e34f356362a31b51d6e02bcd333c9e6170494ca5ff5487\nresult = acceptable\nflags = WeakWrapping\n\n# tcId = 6\n# wrapped key is longer than wrapping key\nct = df2fbe5fa86418edc7b5b04a4aea724aca17e88cedc84ca8b0b0f048e64590cb\nkey = faf5ccfae42b43cee2c5f0f3177a7c5d\nmsg = 4e02084833660c463830483b36dab866c64c8cf7429cac3d\nresult = acceptable\nflags = WeakWrapping\n\n# tcId = 7\n# wrapped key is longer than wrapping key\nct = 67f8edf57f84ea0a35b35511d67d3f299c9984b2c07d3809c3d7f5f45091f1a8fbb937ed447677f6\nkey = c2b9d23f2831ddcdeb456853d4014db9\nmsg = f4cfea98e58b939cc859554385cf3a6c7f8217f728efb431c964786de8274907\nresult = acceptable\nflags = WeakWrapping\n\n# tcId = 8\n# wrapped key is longer than wrapping key\nct = 60d55a22ba7dbd7d8f317388e01e6be561d15d29f85c566f1259aa7e7dc3d5d30e0ef5f4c6267553\nkey = 620a08f320cdedbf7ae551add348d95e\nmsg = cec34eaf8e67e1ce619ddfc309531c42f16033a7e2cbc4f5eb3a548164e9b291\nresult = acceptable\nflags = WeakWrapping\n\n# tcId = 9\n# wrapped key is longer than wrapping key\nct = d78a8291108f0f2d8be0ec10ec08240bf4d3021f0a5ed7faba0748db73762f34a0504bd373212df2\nkey = ed089ac274f8c7cea2415671a94b5e53\nmsg = 6065e41df14daeeefacac5daeb7674cdc9c1f686013b797153e80ef215893299\nresult = acceptable\nflags = WeakWrapping\n\n# tcId = 10\n# Round counter overflows 256\nct = 9341221aca1c647e2afc2bdd9cf4ed6e60058eb0a84cb3fc2daf3a87d9fad0a1f8268b27aaf7201d705e72f7e2240309ad98742094e3f1c99b7faa9ae181b441f5004b8bc93cdd4160d403d0884749a3c379d47c112a45788c05c2106c98f59758d393e04c880691b0e8683a12df7f876e1e1f68b4acbae9cc8310b34d59ccf4617cee72e845df1e0e32e5b4938f2923d55f1bb5156dd8c787401e6ef241ea4073d0a59ddfcd7a53db5d89b480b030cfb9084ea8479b964f090bb612d5251eee9ef8870a45f1e76fd24abdd9b350fe148b15a4cfeb032d57b5743b3548a7ce9eec8e21a31ce832530edfd1cffd9bb37369e6463c6b373ab60d80b0a2677e92e658f7daf2a5234b7312bf2d967cd0bc809e9be2f706ae63bd632fd611f161e48ee19677f3243aa0e91f6651a1cef62feff7a72eedf830bae1dc6d89e55ccb5e6f97889c6266f7d3f2eb0aea6c8c42200febccc5916825368adc87e04e835de06fd7bc2805c219e7f0b6252563f29969b1f30cfa1a8da4b90ae7534fb849d068a7e77de7360f8af173\nkey = b6121acad51038e11873aaa7e6c7be06\nmsg = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = acceptable\nflags = WeakWrapping\n\n# tcId = 11\n# wrapping small key\nct = a65959a600000000\nkey = 1abf4b7fa2bb62a78f09ddab04625dca\nmsg = \nresult = acceptable\nflags = SmallKey\n\n# tcId = 12\n# wrapping small key\nct = 09bcbab50b8dd45ad83412e2919030d3\nkey = 1abf4b7fa2bb62a78f09ddab04625dca\nmsg = 4c\nresult = acceptable\nflags = SmallKey\n\n# tcId = 13\n# wrapping small key\nct = 0cbe852cdce4f0b5333366f446b2b1c5\nkey = 1abf4b7fa2bb62a78f09ddab04625dca\nmsg = be52\nresult = acceptable\nflags = SmallKey\n\n# tcId = 14\n# wrapping small key\nct = a9dc66e03435ab3d4f97ff66f2c911a3\nkey = 1abf4b7fa2bb62a78f09ddab04625dca\nmsg = 2d5244\nresult = acceptable\nflags = SmallKey\n\n# tcId = 15\n# wrapping small key\nct = 1b970c8ecb4187447e60e6083da03086\nkey = 1abf4b7fa2bb62a78f09ddab04625dca\nmsg = 6c3d3b4c\nresult = acceptable\nflags = SmallKey\n\n# tcId = 16\n# wrapping small key\nct = 0344f7b34ab8ef28aaa843f276b0b3d5\nkey = 1abf4b7fa2bb62a78f09ddab04625dca\nmsg = 0412ab3ec6\nresult = acceptable\nflags = SmallKey\n\n# tcId = 17\n# wrapping small key\nct = 17356c7148334ca1a24aab7e82a66e18\nkey = 1abf4b7fa2bb62a78f09ddab04625dca\nmsg = 8ae08938929c\nresult = acceptable\nflags = SmallKey\n\n# tcId = 18\n# wrapping small key\nct = 1db7510a55591a455d9f8167e6db3c88\nkey = 1abf4b7fa2bb62a78f09ddab04625dca\nmsg = 7c8dfbb68d72af\nresult = acceptable\nflags = SmallKey\n\n# tcId = 19\n# wrapping small key\nct = 936fe58b629ea6ec158145218f2361c7\nkey = 1abf4b7fa2bb62a78f09ddab04625dca\nmsg = 536f8f83b64771c1\nresult = acceptable\nflags = SmallKey\n\n# tcId = 20\n# wrapping small key\nct = 6787816804b3127d0ca4073f1dba5c4d3db1ec9c227e6556\nkey = 1abf4b7fa2bb62a78f09ddab04625dca\nmsg = 8571f282b18b64ec5e\nresult = acceptable\nflags = SmallKey\n\n# tcId = 21\n# wrapping small key\nct = 34131c3bfcc48af15eea8672e52927b462f81d5ba0e6260f\nkey = 1abf4b7fa2bb62a78f09ddab04625dca\nmsg = 8ada889862813e364c4d\nresult = acceptable\nflags = SmallKey\n\n# tcId = 22\n# wrapping small key\nct = 4d1ec9287cd4dd378b9aefee79d4ed35bcb98ad9fa9fe529\nkey = 1abf4b7fa2bb62a78f09ddab04625dca\nmsg = f9c56e8058758a5c7c2baa\nresult = acceptable\nflags = SmallKey\n\n# tcId = 23\n# wrapping small key\nct = 7209f5b6bd5d4916f4995d280e9aa89edd5e96e3c9283ad2\nkey = 1abf4b7fa2bb62a78f09ddab04625dca\nmsg = 7c7dbc83fa62206a521ed4ad\nresult = acceptable\nflags = SmallKey\n\n# tcId = 24\n# wrapping small key\nct = d85a1efc6ab3a40948f723d9810a5deb019b3ce0208a0d94\nkey = 1abf4b7fa2bb62a78f09ddab04625dca\nmsg = a6614daf00df6d14f50388bad5\nresult = acceptable\nflags = SmallKey\n\n# tcId = 25\n# wrapping small key\nct = 43509b5df3688b6e44c1a994592f4c03da34712f886e63d5\nkey = 1abf4b7fa2bb62a78f09ddab04625dca\nmsg = 450580a47d7008321496bfb82f48\nresult = acceptable\nflags = SmallKey\n\n# tcId = 26\n# wrapping small key\nct = 16e369351c40f220d3fb1197f35da652a3a40ca3b1e99bfb\nkey = 1abf4b7fa2bb62a78f09ddab04625dca\nmsg = 9efd21e13855eea8907afdcd8935f4\nresult = acceptable\nflags = SmallKey\n\n# tcId = 27\n# Modified IV\nct = 4cdd2962f23ec897d41d14c3f818516c055799185f459e2d\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 28\n# Modified IV\nct = de895192c35ec58ee6e5614fd2b20a85f8e9c8234cdc5319\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 29\n# Modified IV\nct = 4a24069a050af7bbcf6c2160d54525e017e3ac1b3a2e71f0\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 30\n# Modified IV\nct = 6252ab0e688d0638df7d87ec5be3b2f9c0c245c0f0794012\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 31\n# Modified IV\nct = a2ed5982a604512d85d87630cd50705b1a70189b81575e3f\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 32\n# Modified IV\nct = fed7d02db4081728c55cc17f45f267117347e526f4231651\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 33\n# Modified IV\nct = ed37722b94b08b6a6f7663fe90acd81dc25f85abd2f65c06\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 34\n# Modified IV\nct = 0adb0f47b890efed426e7cf5dbd67d5cd3d9d4807c34bc7d\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 35\n# Modified IV\nct = a0c51e687c46f342c78e3c59eee076a85312206a37213ac3\nkey ", + "= 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 36\n# Modified IV\nct = 8ac142d100eab0808b5f34ed29650163db77ab281e6f1e58\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 37\n# Modified IV\nct = db345851a09bf92c35855c367c8787e5ab3ff16e9d8b0f3b\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 38\n# Modified IV\nct = a90cb672f232eb693a290523a10d8f988a18829a11cabd96\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 39\n# Modified IV\nct = c9b3a55603e490c450b49c8b79c9a169030e6985b6e95b54\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 40\n# Modified IV\nct = 1c90d7613c7e81e66d9374d72a8a6a0c40163fc69bccafb1\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 41\n# Modified IV\nct = e381bb56d1354e40c01cb414118b9518934c9ad92663f5e8\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 42\n# Modified IV\nct = f2a87686a3baa37810eea23232e9b784f628b1c0b4a557a1\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 43\n# Modified IV\nct = 36ef8fc13d0f1f5745e3939877b62b8ecba2f5f0b19f9e90\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 44\n# Modified IV\nct = 7255c4eacb4105a68095e9e5b5a4bd8f9623a0da5c6fc230\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 45\n# Modified IV\nct = ea26eec89a46ff1a628834c7247a8e4e45d8a8d3229e26cc\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 46\n# Modified IV\nct = 508593fa85a8effd27c8a225981978fcec6e992eb488c9c2\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 47\n# Modified IV\nct = b8a4cb22f15529864d4ced8e8abae69752a9045a084dfc3f\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 48\n# Modified IV\nct = a0a6bf5e47e89706932b1057b680c3c81dc4d9d0b4f9153b\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 49\n# Modified IV\nct = 11f3af4ed30e77520517c880f1d0c272a89a968dc697cb5a\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 50\n# Modified IV\nct = 6fc912a0bda73bacfa93db4002f18f349fa30f22f7a95ab9\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 51\n# Modified Padding\nct = 96518bcf3d24b1c6c3c6ed642a3336531563abaa9bc19873\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 52\n# Modified Padding\nct = eceb8904c71372a974dcf65e2ee2e8eac035953cf41bf31e\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 53\n# Modified Padding\nct = e8e1f4d621dc0d10786823eefd73e1d98873900fff79cdcf\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 54\n# Modified Padding\nct = 5aae3ef6d59abbd1acfba77d5e660a176b45683165398912\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 55\n# Modified Padding\nct = fdf11a815beb61c33f293801c33e681e296782967ff6c56b\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 56\n# Modified Padding\nct = 62cd9fd59aa08666b6d0e5fb0ed60b3692e87e680ea1d3ea\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 57\n# Modified Padding\nct = 31a9c782cc94c6fcd26e0aa6ee327fd01c5b1997ec70e22c\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 58\n# Modified Padding\nct = ab29c3f5a4822bd572e43fdf2c59c2dab20327b9a25dcb87\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 59\n# Modified Padding\nct = 078070742b07caa793dfcab4d1c09f8df6a99f494ed00ea4\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 60\n# RFC 3349 padding\nct = 3731038571c35f7dcc55e48892de353e54c079b89774bbfd\nkey = 48a53c11ef2d727db7eb9a834b134ea9\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\n\n# tcId = 61\n# Invalid encryption\nct = d85c6bfd092df1aeae5a548e47aa7681\nkey = 48a53c11ef2d727db7eb9a834b134ea9\nmsg = 0001020304050607\nresult = invalid\n\n# tcId = 62\n# padding too long\nct = 7a92427387f5587ee825d1ffa011c40286844ecdadce31cd9678338694ea2682\nkey = 48a53c11ef2d727db7eb9a834b134ea9\nmsg = 000000000000000000000000000000000000000000000000\nresult = invalid\n\n# tcId = 63\n# padding too long\nct = a437d354606ae752894feb62c8def7d17046d8e47f9aed755fba48b3a3009e3ff67d34e26a779064\nkey = 48a53c11ef2d727db7eb9a834b134ea9\nmsg = 0000000000000000000000000000000000000000000000000000000000000000\nresult = invalid\n\n# tcId = 64\n# incorrectly encoded length\nct = e8d240d64f16d1522ae2ded42ced257dfec158ff2fe1467d\nkey = 48a53c11ef2d727db7eb9a834b134ea9\nmsg = 00000000000000000000000000000000\nresult = invalid\n\n# tcId = 65\n# length = 2**32-1\nct = 6d1bfda356b7b954e7aaccc6df953322f75be95947b02b30\nkey = 48a53c11ef2d727db7eb9a834b134ea9\nmsg = 00000000000000000000000000000000\nresult = invalid\n\n# tcId = 66\n# length = 2**32-1\nct = 17dbf878ef4076cfcaba5f81d7b123d7\nkey = 48a53c11ef2d727db7eb9a834b134ea9\nmsg = 0000000000000000\nresult = invalid\n\n# tcId = 67\n# length = 2**31-1\nct = 75c23e253478037802fae0f86af9c78d4e4d9be0c3bff89f\nkey = 48a53c11ef2d727db7eb9a834b134ea9\nmsg = 00000000000000000000000000000000\nresult = invalid\n\n# tcId = 68\n# length = 2**31 + 16\nct = 55717658c6a35e15ee36c66cce91083b63091f51525c0b51\nkey = 48a53c11ef2d727db7eb9a834b134ea9\nmsg = 00000000000000000000000000000000\nresult = invalid\n\n# tcId = 69\n# data is incorrectly padded\nct = 8ede88a52ccb8a6d617456955a9f04c94d87696125ded87eebe3e97e185496d9\nkey = 48a53c11ef2d727db7eb9a834b134ea9\nmsg = ffffffffffffffffffffffffffffffffffffffffffffffff\nresult = invalid\n\n# tcId = 70\n# data is incorrectly padded\nct = 5b4a8f1abffa51676ac8b5ddf9366c12\nkey = 48a53c11ef2d727db7eb9a834b134ea9\nmsg = 0001020304050607\nresult = invalid\n\n# tcId = 71\n# length = 0\nct = 205cc6dd9592da0ebff6b4b48a0c450eeaeb11a60d33f387\nkey = 48a53c11ef2d727db7eb9a834b134ea9\nmsg = 00000000000000000000000000000000\nresult = invalid\n\n# tcId = 72\n# RFC 3349 padding with incorrect size\nct = 908a68b0d2054e199220d37c34a2e136\nkey = 48a53c11ef2d727db7eb9a834b134ea9\nmsg = 0001020304050607\nresult = invalid\n\n# tcId = 73\n# length = 9\nct = f84bdb15045cee3a8a0f3ed2f07c1771\nkey = 48a53c11ef2d727db7eb9a834b134ea9\nmsg = 0000000000000000\nresult = invalid\n\n# tcId = 74\n# length = 16\nct = 7592b1ee6ee92c9467db366adcfa65bb\nkey = 48a53c11ef2d727db7eb9a834b134ea9\nmsg = 0000000000000000\nresult = invalid\n\n# tcId = 75\n# length = 2**31 + 8\nct = db93a1db3b5babc80a304d527682c1ef\nkey = 48a53c11ef2d727db7eb9a834b134ea9\nmsg = 0000000000000000\nresult = invalid\n\n[keySize = 192]\n\n# tcId = 76\nct = 5c117a678223cfe5ee691503061e7ab1e5f720e005171b32\nkey = f75a2f49a630c7dc91626b00ce029f0bd2981d7c74a93ebe\nmsg = 9adbc00c710b1101bdf6a4ed65b32d72\nresult = valid\n\n# tcId = 77\nct = 6a7f9e03b6f379c56da3a56d8f32eba515454a91fd417449\nkey = b713f6b7814f98894d7b153974684359f1460213eb74be68\nmsg = 78585f0c49922e82caf17ebc3721b4db\nresult = valid\n\n# tcId = 78\nct = 764097f5ee8236bc0d93bbcea139a652f4b211cc33a61ac9\nkey = 13ecf423211caa334ba6db37259a535c20de8ad10fc8c432\nmsg = 4fc75d0f221e22408a37e11265d49a05\nresult = valid\n\n# tcId = 79\nct = 04b83ec803a75bbcb2f87fc6f488a4ccc1827b412483070eed195b6f0048ccbe\nkey = 4417fbbea51bdd91818d74051957dd70e135c5cf3732bdf1\nmsg = f5357da9f8fd4a1190f36e9fa09a90fcf14d87d62332f1a5\nresult = valid\n\n# tcId = 80\nct = 46ab71f032cb1ccbcc7447a5183574268c0167a26a93fe8422bf284417aa93ea\nkey = b3f26d8a22fdd61f709841231fbde695b3f28dddced6d41e\nmsg = 0d0af955d2e3829cc3d643219b301e64e0510dfbc428119a\nresult = valid\n\n# tcId = 81\nct = 47ca298ee47b1b755a499129347e11e7a25754ccb6c2689e8eff270e98c81d18\nkey = f70cfb262c729a18206c8afd74356ec7e049d10b44a6e000", + "\nmsg = 241cedfa64c4e7bec541a2eb4c368269e0f0ddebc58267ea\nresult = valid\n\n# tcId = 82\n# wrapped key is longer than wrapping key\nct = ecac4c91758e1ae7bb010c34f4c5f99a3d728b9fa92cb778d3fe80d777a20d3de85ef46e7a0c6a6a\nkey = 1639f9f81e53e2eeb677a249e5eced3af108971301601a7b\nmsg = ec3c6a1f1a9585327fe658490c74635e5300876da5846a629398984fb551d691\nresult = acceptable\nflags = WeakWrapping\n\n# tcId = 83\n# wrapped key is longer than wrapping key\nct = 39b7326a44eaed08bffbd4aeaf3e2c3f899c1fd049384ed7b3eb92b788c6449acd6385f0bb18cf28\nkey = 1f22d5658aa685b8ba8659dc342880d5b2399e6a815005b0\nmsg = 50be4c1b2f29a63f44d7fc63737f600f0194ea3fb36e173d2ddd19f218656380\nresult = acceptable\nflags = WeakWrapping\n\n# tcId = 84\n# wrapped key is longer than wrapping key\nct = 3d2e9f39c7b13e9585227c4344fbe596f92b002456616f137deacc6a8c941649ce294bb2695c1807\nkey = 3a2f4aa50441954bba5a1836294ce071f9296b23dbed6771\nmsg = 65da02ff21b483a1e39575490b4319e84ae0299f1f00b3859fbe2e74b3ec2aaf\nresult = acceptable\nflags = WeakWrapping\n\n# tcId = 85\n# Round counter overflows 256\nct = d6aacfb52c26baae78c2f54259a4e4168f817064344e2ba8fbfa7fae9f1fd69bd5bc5c1e20a6101b4a7119cbce028e25a9e93d29ee260c4e609baedee788411c2afe60218ce1b0d28b9c29b941251fdcbac3009d59040a0337b8b4a3a020c6d8f310cba63db046d8f36b64c9092e75cee463fc7692ef56bed395c4579da0ecb02129e45ad8a7f116aac6170204888e40693f017a6a0a7dd3962004e60db3a9b6c8b7614a467ccb799bce1ba83f5c0921f1e52bb3909bc0486ec0eaea736498f3ba520a519c3ddf491307958620b737613417b15b438b80b43189baa455031f5771502002ea170c767b33d247feebce62e606f2262537f85f18d1951cc75cedef291c6a501cb1778586249b58156eb8d7283a3f508ee8bcc1206d77bbd6892fe74b865bfc02a8f07223087a6c1e50a41b7cf5f6ee04bd07766b2e5b34c4a7666b0ce06f670e6434a59fb74e0df36c91d94e5e8b721e53e09b6f6504c5d515492a373fcc348a63122cc6e4716e0e1a543d038c6f7731199f691780a8a655cca6718e3dc56e815b3669\nkey = b6121acad51038e11873aaa7e6c7be06f93826b74fec0ea1\nmsg = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = acceptable\nflags = WeakWrapping\n\n# tcId = 86\n# wrapping small key\nct = a65959a600000000\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b\nmsg = \nresult = acceptable\nflags = SmallKey\n\n# tcId = 87\n# wrapping small key\nct = 52c7f388d0d4237afaa29f2b94723475\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b\nmsg = a3\nresult = acceptable\nflags = SmallKey\n\n# tcId = 88\n# wrapping small key\nct = 833431ce8799be69b36aafe3f38d9dac\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b\nmsg = 594b\nresult = acceptable\nflags = SmallKey\n\n# tcId = 89\n# wrapping small key\nct = 31674f46b989f6ead582c70dedc8c6b9\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b\nmsg = 72ab34\nresult = acceptable\nflags = SmallKey\n\n# tcId = 90\n# wrapping small key\nct = 80535172d2a498aa31601d70fdca9dea\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b\nmsg = d4d9460f\nresult = acceptable\nflags = SmallKey\n\n# tcId = 91\n# wrapping small key\nct = 56232300dd7b2a71d2328b6df47af8e3\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b\nmsg = 643972e552\nresult = acceptable\nflags = SmallKey\n\n# tcId = 92\n# wrapping small key\nct = e27e08efe39adbbad8d300b87be2c258\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b\nmsg = f3cdb73d2561\nresult = acceptable\nflags = SmallKey\n\n# tcId = 93\n# wrapping small key\nct = 8f90942cdab33e58b24a23ad7efb7538\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b\nmsg = 7b0b53b6429e14\nresult = acceptable\nflags = SmallKey\n\n# tcId = 94\n# wrapping small key\nct = 0ebaf23c858015d3bda5b8d908db6049\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b\nmsg = 6b2393773e6d1378\nresult = acceptable\nflags = SmallKey\n\n# tcId = 95\n# wrapping small key\nct = d56f89977b8eff511158edad6b993007189e5a4b8c0e2faf\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b\nmsg = 2c52d6639e769960e8\nresult = acceptable\nflags = SmallKey\n\n# tcId = 96\n# wrapping small key\nct = dd889475a76733849f59bed49a15d4315bdb5ba00dc63470\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b\nmsg = 707c9356216d69c69048\nresult = acceptable\nflags = SmallKey\n\n# tcId = 97\n# wrapping small key\nct = 1a9b3369239b0f40a8dc5bd8d965caf7431445799337b99b\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b\nmsg = 615f6fa79e1847e7359a8a\nresult = acceptable\nflags = SmallKey\n\n# tcId = 98\n# wrapping small key\nct = 5232f8f6679a17d3303b0bd72b06b56b5089e80372dc295b\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b\nmsg = 7f5e999168ec60624426cbb1\nresult = acceptable\nflags = SmallKey\n\n# tcId = 99\n# wrapping small key\nct = e5544361c60980f3d38f2d8820a150f48f49ef3f9184b29f\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b\nmsg = 3f93aaf4463775baf6c0c975ae\nresult = acceptable\nflags = SmallKey\n\n# tcId = 100\n# wrapping small key\nct = 55396065905915ec914b8d1efbf471e37d283fc2c1496b49\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b\nmsg = fefcf10c976309b2beb085771e50\nresult = acceptable\nflags = SmallKey\n\n# tcId = 101\n# wrapping small key\nct = d90376be302a24c541bd6d96094f0025e3d73888391b4306\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b\nmsg = 6854354d0099f7eff740b0587140b3\nresult = acceptable\nflags = SmallKey\n\n# tcId = 102\n# Modified IV\nct = 24f5b27f9e4d7b645331719ea8f2b63841b2324e61ce13df\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 103\n# Modified IV\nct = 5b5221464c7e960b31c3d6e5784e66c69fa0fba8ae315d4e\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 104\n# Modified IV\nct = d17e8392b0d7e064f22770b7f38ffcdc572cf7694da9648c\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 105\n# Modified IV\nct = 2f9ba2d81292a2494845ac8589f1a44affdd3d09044fc81c\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 106\n# Modified IV\nct = 9258882e1812b1793c0cc08d6adc9fe9597d9270b1f0c3ef\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 107\n# Modified IV\nct = 8bdfb51ff4664220de3d87e06882c748490af56c0c5ef789\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 108\n# Modified IV\nct = 20a5b0fc789e8422e09a3128a10b6b0bca6aba2bde496aa6\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 109\n# Modified IV\nct = fdfde90ee4681372c85fc5875dd482cef85bf69dfe57e71c\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 110\n# Modified IV\nct = 5f2ba1d716b8fdee03f3fc5cc4c7ea35836bb3c073f02dc9\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 111\n# Modified IV\nct = f241ce804660d60397789d4c67f4e252b55838144b199355\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 112\n# Modified IV\nct = a4f5b4f3ef5a6939949fe6dfd755f327ffa604dc417ea495\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 113\n# Modified IV\nct = 4e23f48297480d1a4afc85fc97d6d69f861f518bc00fe7c3\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 114\n# Modified IV\nct = d9f0de809d4f6ef5815a3e6bfb09b11f0b51b6180caac98c\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 115\n# Modified IV\nct =", + " ca5da3ab416a98ac387ac226f52f486b6ba30bf6f517ca7d\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 116\n# Modified IV\nct = 6c41e5a654467ce13828d72fd3ad1a22083def182696e83d\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 117\n# Modified IV\nct = 045d789cefd1da1f32761c4ba8e22bb126c322184b85e370\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 118\n# Modified IV\nct = a6a28bceb91551a395369ff09370658cc92b092855f417aa\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 119\n# Modified IV\nct = 03ff601cf12b432078a2185590fb5d01e3441cf084bcb04a\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 120\n# Modified IV\nct = e250d358d16d9fd20ad80a99656509229dca391aad3798f0\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 121\n# Modified IV\nct = 643a17860b116ec74089bc574685a6328a3d7a07cd18b520\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 122\n# Modified IV\nct = 3e86e8128904f753c0f3fe3401ba36672966567725c4726c\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 123\n# Modified IV\nct = d4b8cc849176b8344b0849490143d3512915171bd7d5759e\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 124\n# Modified IV\nct = f84e0e6ff64e0b27b8b59b5b77c223023f0fea95433864ec\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 125\n# Modified IV\nct = 4030b4b0e9c1b1ce8e52f6bdb48088e65b05844307989c8b\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 126\n# Modified IV\nct = ccb3b36c26b2d901b7f0765362d992b2d5089c2a7559b195becbe173780352fa\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 127\n# Modified IV\nct = 4e5fc8dccaeec9b1c8a606a2bd7d7201eede62b9c2e939a5aba663a6a040e361\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 128\n# Modified IV\nct = af21f5e7f15a63c8ea6001cf024f281e7f44aedd68954564fc2bd146e96d793a\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 129\n# Modified IV\nct = 3a4f571ffbf761d3f7d413172ee1e4ae2862baacfd5ab66dc685b9af8b70b538\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 130\n# Modified IV\nct = 273de386d5fef497f9487afd54c1c0fae8aacabf2af465caf352e2300d29266b\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 131\n# Modified IV\nct = 16511743dc44199cee1dbf5045141b075f01ee13326c9faf2c74b7c99791830f\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 132\n# Modified IV\nct = 370f92db00f7fc8a0e654318a5b3ff89a604034f421339201d79e0ec4d6088de\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 133\n# Modified IV\nct = e3edd0e84832f3615f6deefb444de3b9ec527741686029db91de0bb9b2a5c05d\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 134\n# Modified Padding\nct = aa48e6b6ed9ae707768d3e4cbd191d9988c6921d0ad17ce1\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 135\n# Modified Padding\nct = 1f7170780b523e5c5970fc5bf35fe30e6505fb22790ba936\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 136\n# Modified Padding\nct = b3e5311504a8cf1194b73ba1f3b7eb82de1e6bf1cfdad41e\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 137\n# Modified Padding\nct = 779ede9022290dd606e1619c7451630820431f8d67c498c1\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 138\n# Modified Padding\nct = 9720d5bef7dda98c9462e1b2d73dd2ce016b6dcd7cd71c5f\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 139\n# Modified Padding\nct = 7e310f4c62031b821539d78706a56a724c191af92543e8a3\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 140\n# Modified Padding\nct = 1b2a588774a0340315dc1a934a8db6bb659e67ac8c8867b3\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 141\n# Modified Padding\nct = afa72d66be45e9d98dc46779c186154a0f14b97b26e67e3e\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 142\n# Modified Padding\nct = ea98bfac85f03b66b0c298c1fda726f1def4be7552f4ebac\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 143\n# RFC 3349 padding\nct = 36ee480138edf11e144efcddd24d2c121749da6e4eab17fe\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702e\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\n\n# tcId = 144\n# Invalid encryption\nct = 166beb49e97a4a9cc7b0ccf441ec15b5\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702e\nmsg = 0001020304050607\nresult = invalid\n\n# tcId = 145\n# padding too long\nct = 74ff3070a0a08471c001febb95a890f35159a9fe263719e40c2332ce5c58fada\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702e\nmsg = 000000000000000000000000000000000000000000000000\nresult = invalid\n\n# tcId = 146\n# padding too long\nct = 4f0b38eb328d1227b1e17c103a44a373ff67cee953c59eea26117947b5d3ef8932c8858b4f9fb47c\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702e\nmsg = 0000000000000000000000000000000000000000000000000000000000000000\nresult = invalid\n\n# tcId = 147\n# incorrectly encoded length\nct = 775dcabab9e4be8fd9963a4dc7a1447ef82888403882bdb6\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702e\nmsg = 00000000000000000000000000000000\nresult = invalid\n\n# tcId = 148\n# length = 2**32-1\nct = 669803237fa10eabb4d2c6ad85bd9f7df5f4a33340eb0ce9\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702e\nmsg = 00000000000000000000000000000000\nresult = invalid\n\n# tcId = 149\n# length = 2**32-1\nct = c788504d786f5c21b6671bf190657301\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702e\nmsg = 0000000000000000\nresult = invalid\n\n# tcId = 150\n# length = 2**31-1\nct = d079f60d3258f5e695d1a73db008ef38516b713eca2c0eaf\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702e\nmsg = 00000000000000000000000000000000\nresult = invalid\n\n# tcId = 151\n# length = 2**31 + 16\nct = f1ae4b8865013b0fc63b463e664cec3c6031f61f2de82f43\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702e\nmsg = 00000000000000000000000000000000\nresult = invalid\n\n# tcId = 152\n# data is incorrectly padded\nct = 8874e1b6e15e3ef6c461411a5f5ad0c8b05368cd5b3ee39b2b413d18a4eebfc9\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702e\nmsg = ffffffffffffffffffffffffffffffffffffffffffffffff\nresult = invalid\n\n# tcId = 153\n# data is incorrectly padded\nct = 890a3dab8439bb73b14c6e99c34f0b0e\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702e\nmsg = 0001020304050607\nresult = invalid\n\n# tcId = 154\n# length = 0\nct = d4f633aedeb89e349a98738b00ee42c90d583b16e986e49f\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702e\nmsg = 00000000000000000000000000000000\nresult = invalid\n\n# tcId = 155\n# RFC 3349 padding with incorrect size\nct = b8b2a5b1d3280dcb4daeeed43f36509b\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702e\nmsg = 0001020304050607\nresult = ", + "invalid\n\n# tcId = 156\n# length = 9\nct = 4429cf64251d8a54a9d1389c01c30900\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702e\nmsg = 0000000000000000\nresult = invalid\n\n# tcId = 157\n# length = 16\nct = e5634eca10372c867c7f91ee813ec3f3\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702e\nmsg = 0000000000000000\nresult = invalid\n\n# tcId = 158\n# length = 2**31 + 8\nct = 9e517d4d0142e1544ba1e7419a696c21\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702e\nmsg = 0000000000000000\nresult = invalid\n\n# tcId = 159\n# RFC 5649\nct = 138bdeaa9b8fa7fc61f97742e72248ee5ae6ae5360d1ae6a5f54f373fa543b6a\nkey = 5840df6e29b02af1ab493b705bf16ea1ae8338f4dcc176a8\nmsg = c37b7e6492584340bed12207808941155068f738\nresult = valid\n\n# tcId = 160\n# RFC 5649\nct = afbeb0f07dfbf5419200f2ccb50bb24f\nkey = 5840df6e29b02af1ab493b705bf16ea1ae8338f4dcc176a8\nmsg = 466f7250617369\nresult = valid\n\n[keySize = 256]\n\n# tcId = 161\nct = e3eab96d9a2fda12f9e252053aff15e753e5ea6f5172c92b\nkey = fce0429c610658ef8e7cfb0154c51de2239a8a317f5af5b6714f985fb5c4d75c\nmsg = 287326b5ed0078e7ca0164d748f667e7\nresult = valid\n\n# tcId = 162\nct = 9d2b42fb2fdb92c89fb0c3bcd9e1600d3334b4e35e791369\nkey = 0dda6da5123e2c37c6fa16ba0d334cd01acd652f8994211751dfab4faac2fc22\nmsg = b40b6828729b456322a8d065abc0d081\nresult = valid\n\n# tcId = 163\nct = 5291e05abd55f5886850855e3f9f2f576b101acc222d6766\nkey = d6925914cd06308f81ad91e23073593d99d4e50351b20eb2a8d1a1ac4ced6588\nmsg = 037b27b3dc95b19d15bd4091e320bfe1\nresult = valid\n\n# tcId = 164\nct = 4b1220525c537aec30ebcd562b694b4e9e2ccd819de22ef608b5d8090779d9de\nkey = 07518a82cbc8da1dcec55f3763a206d277487abd03cedd0b8bef9ee2fb157121\nmsg = faa4664d79fce3c7d2fdd462f6c1c423c2f8e6b69be2e071\nresult = valid\n\n# tcId = 165\nct = 67b2cbd68f6a208d647bdc5af7d0bccf6711a9e8fd0d9434363006addd4b9696\nkey = ea46991d4e71f53dd624e7fe7fde11944a7c5942d232369b8065d42b8cd2dde1\nmsg = dffc5cf1dd5411d015d84601fa38df5effe885c7f26a4825\nresult = valid\n\n# tcId = 166\nct = cfdbbd95f187508a488fe017c5e5d5a5975b68441d520e0e931922388e28784c\nkey = fdcfa902c6f222f527af84da533b14b52e2615da3a89d1d35708b0cd49f60d87\nmsg = 966b07047354966a703e79607b556032f4f596b7f9206f05\nresult = valid\n\n# tcId = 167\nct = b63b7e0fec7e315816233db6758fd3e744b9f6a40862bdf866487e53bcb950d8b2649269e51b4475\nkey = 38e1b1d075d9d852b9a6c01c8ff6965af01bac457a4e339ae3e1d7b2ffacc0cd\nmsg = 80ad6820f1c90981e2ca42b817a345c1179d0a11d8e23a8adc0505e13d87295a\nresult = valid\n\n# tcId = 168\nct = 837cfc316b49299edaf427e0988020ee876204b29d847669daab72c8660b0d860e9de3bd851198ff\nkey = c641f1689d81caa8ba37d895272240664054ed974cfffc40e6c5c0cad1b916c7\nmsg = 3fd0ba19955e46749f54d88e99d080b7339d588fe612ec0f4021ca3ca2104270\nresult = valid\n\n# tcId = 169\nct = 0e9e2e9aa34bbf973d67bc534ac86fc5b5a5f9da5f026866177894ec6077a5c84501510e1bf4afb3\nkey = aa0ab9d68ed4a04e723f81b44c0c88d0bcde7a80cfd476eb4b8836d9aa01ec4c\nmsg = 57faa8766f6d6a0aa1cf643f857c150df5b31303b50af480e21c4b5e8c8a15d5\nresult = valid\n\n# tcId = 170\n# Round counter overflows 256\nct = 1c6b7e4003384f071bf29baea9098ad81da8e9862909329f52793b35d592c10dba15aa89400ea6403df8dcaffd0dbf5606303f109f79ad700ed5d5ad4e59950ce9ce5296c9d186a0df441973d1835f9ac000ad1a6797875c3a03161e9e3f5ea464032e407854eadca5a9e7a386bb0d29253e3804adefd8c0402cc8c40ac7f9041429cc0bb77a405b284baa2dae764ea09c654c0a82f2c5724221ba44e341503d3103dbc393c7702182f8cc2762ddbc873b7f84197709886a4b5df5b04ff9d21b79b50904af3c32128dfb9cde94fe1254d981e6ce3acfda82db1fa2badbccd2d29052a04a69ce1f5652f30496ea57edc7e3e885dd4a35ca15aba602bb4c888a8064da94c2ac5c12c11f608810af46fbb49c3e8f8771ff661f8d8dccd163d0c4a401b8b9aa74e68a56011cf78d21dc7541a974f9dad5ae27f8a26d1b0e76be2f86c6a21e9d1c2b5df3c8878a8bcae143b3af1f082afc52616eeadd2232926597b245d394931e02e493b0bc27a92d013e111694cac2c5a2a46e008a8498b5c31bb5ec35a4e9957e365d\nkey = b6121acad51038e11873aaa7e6c7be06f93826b74fec0ea1c02f9981ed49d16a\nmsg = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = acceptable\nflags = WeakWrapping\n\n# tcId = 171\n# wrapping small key\nct = a65959a600000000\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b162baa53d2700093\nmsg = \nresult = acceptable\nflags = SmallKey\n\n# tcId = 172\n# wrapping small key\nct = 06c1e65ac0f385b4e8c400d229f39422\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b162baa53d2700093\nmsg = ae\nresult = acceptable\nflags = SmallKey\n\n# tcId = 173\n# wrapping small key\nct = c98da5936a1313eba1a6773b8060ea5e\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b162baa53d2700093\nmsg = c548\nresult = acceptable\nflags = SmallKey\n\n# tcId = 174\n# wrapping small key\nct = b2a77d9b837e87cdb7391e1df7cdaf14\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b162baa53d2700093\nmsg = f713b9\nresult = acceptable\nflags = SmallKey\n\n# tcId = 175\n# wrapping small key\nct = d8ecf20191f75aa36686298bfa5022ab\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b162baa53d2700093\nmsg = f375cbf7\nresult = acceptable\nflags = SmallKey\n\n# tcId = 176\n# wrapping small key\nct = 077362f50356fc7c54c70f9cb4306f7d\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b162baa53d2700093\nmsg = d9445094b1\nresult = acceptable\nflags = SmallKey\n\n# tcId = 177\n# wrapping small key\nct = a4bd6a116ad88a52aae3f0c0cb893f9b\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b162baa53d2700093\nmsg = fab43e91ae15\nresult = acceptable\nflags = SmallKey\n\n# tcId = 178\n# wrapping small key\nct = 68a52de00ec0f1ebbedc38fee6be0c23\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b162baa53d2700093\nmsg = 90735025797bd2\nresult = acceptable\nflags = SmallKey\n\n# tcId = 179\n# wrapping small key\nct = 3a6746052a1744cfe7e2f36dafc4042d\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b162baa53d2700093\nmsg = e43f5e4e123a03c4\nresult = acceptable\nflags = SmallKey\n\n# tcId = 180\n# wrapping small key\nct = db7e73da22219e1baac0f4e955c3db2b900b5d3078f94b59\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b162baa53d2700093\nmsg = 1723eb9d000916996a\nresult = acceptable\nflags = SmallKey\n\n# tcId = 181\n# wrapping small key\nct = f77ec14a010777f1f1071808f285c1c00b4e9420f0e8bf48\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b162baa53d2700093\nmsg = 8b18daecde14b8472ffd\nresult = acceptable\nflags = SmallKey\n\n# tcId = 182\n# wrapping small key\nct = 6b40d4f0863581a7d0365ad477568bfad94f8bf134984838\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b162baa53d2700093\nmsg = e5bd6fbacbf3ef0d40c884\nresult = acceptable\nflags = SmallKey\n\n# tcId = 183\n# wrapping small key\nct = 660f645b02405a18f7225b68c0a09a949b2b5ba784922cfe\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b162baa53d2700093\nmsg = b3be5e5397df5f46b099e821\nresult = acceptable\nflags = SmallKey\n\n# tcId = 184\n# wrapping small key\nct = 6bea6bf57601bf063873f47ec3572cfb9cfb595d8bdb5e97\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b162baa53d2700093\nmsg = 4cdd960cabcf8aaf69c37da1d3\nresult = acceptable\nflags = SmallKey\n\n# tcId = 185\n# wrapping small key\nct = b631292536aaf02d829cc6d3c39e5a5cd76240889e9d51d0\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b162baa53d2700093\nmsg = da29e0889cf98742612e0326300b\nresult = acceptable\nflags = SmallKey\n\n# tcId = 186\n# wrapping small key\nct = de497acf18a177a3a9b3d8da46d74dfa58dcc537a3a95323\nkey = 1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b162baa53d2700093\nmsg = 72aaee126a822184806c7d22eed66b\nresult = acceptable\nflags = SmallKey\n\n# tcId = 187\n# Modified IV\nct = 98428fb83dc207033c1585e0242e699be98e0001f1ee15ba\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 188\n# Modified IV", + "\nct = 60107f4c60c04c987c7c5810130303bd83fbc35d924f4482\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 189\n# Modified IV\nct = 38e8d42ffc1a26278c6fad73bd699f207251f6e1b622bf92\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 190\n# Modified IV\nct = c23f1fdbe6c021a04bfc386b55c8fe911481f82edf308d79\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 191\n# Modified IV\nct = 7cc6af073f8d21e26713222ba609c91b69fc5faee9870eb7\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 192\n# Modified IV\nct = e7e5d96c0bc89dc23bff610db5ccfb5de8f97b74100b3492\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 193\n# Modified IV\nct = 18e77b855e322457a4942209f97acaed1fe6af0aea80c454\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 194\n# Modified IV\nct = 0fcc89e543fae40b914510c9064307b70ef12de4c8750874\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 195\n# Modified IV\nct = f795cf444efd94bd6a561d8cb0703ee0e979c073aa66fdaa\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 196\n# Modified IV\nct = bb5d2e4082140258d6cb26a74af7c10f985e4a84dcd5d8d6\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 197\n# Modified IV\nct = 47819be55567934b165a6e93ca25d3900103bedb86eab148\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 198\n# Modified IV\nct = 41b70a974d3fce94feb94b7b01d959541cd120f879cf60e1\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 199\n# Modified IV\nct = 86b9f13e871ecb5aa009c80a31693336e59ae1ed3c8d7aaf\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 200\n# Modified IV\nct = b17c3957d85127aae1ae0a04096b19eb2e0f67583772182b\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 201\n# Modified IV\nct = 2ca5c335226e3e171fde0f3401ba6835fa389f30f5288699\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 202\n# Modified IV\nct = 5b8ba944f4a961d6e4c5121279ea4d3fcd555b05e75da4ff\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 203\n# Modified IV\nct = 7fd3ad3aee0545da1ed3a54d5a198a2c76cf8290c011c042\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 204\n# Modified IV\nct = a24e94c12b2e6b776c8febe9179521beae0cfbd507d358b4\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 205\n# Modified IV\nct = 9395b071fa3d9908b2e1b349bf7cd6a1cfc86b979c8c73cd\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 206\n# Modified IV\nct = 1eb452770bc0f26a3576b604bf5ac72f714fc468c357eba7\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 207\n# Modified IV\nct = b42bcb4161f40b30f3d2f740f43e441d3c9a39613914f1c6\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 208\n# Modified IV\nct = f3d76dd320e5f1b3f85b8f73a9ebcfabfb8346daafaf36e6\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 209\n# Modified IV\nct = b8e26164496942f44f16751096fb47952ec478bb288e72a1\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 210\n# Modified IV\nct = fa783b3aca0ec1e677378f23ebe937776fa590ecc6b01392\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 211\n# Modified IV\nct = 8b011408049eab81cc185796b9636982c1ad28e940e5c35ab1219434c23e8c59\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 212\n# Modified IV\nct = 08db2f06aa2400d4cc1113b1c9e3ba1b39e3e26a84918f9266796c426c166428\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 213\n# Modified IV\nct = 3114404be000ee167b65dd3cfae3b10c50dffe1df864b5e52a2805f0c80021c0\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 214\n# Modified IV\nct = 405ae5bdeff8b05d28ea55900b8e81dc789d532ec3fc457730819e762172f751\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 215\n# Modified IV\nct = 7c19e66d21c0f1409ee6f03a36ab6ba532349e2567200b95d7f5012b2b7e5d33\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 216\n# Modified IV\nct = 955ac67d6e496b9b93a4dda8f6e65e668f1326b256ee146a7647ba18deee7986\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 217\n# Modified IV\nct = c8600aa18be27279493fd68c84130c8bc328b0f6821e01e892b6c2dc1c005270\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 218\n# Modified IV\nct = 492566e0dc539e234b08b95fb23594a6d14f59fa4367799495c2e7f2993135ec\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 219\n# Modified IV\nct = 0b0aa97121bb8e367b8e80e6518a786ab686f4d6b8a075c3abe534698ec462e09fba981615d43ebd\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce3497352690\nresult = invalid\n\n# tcId = 220\n# Modified IV\nct = aa6eaa5b94f39247b9581c4d3120ed71e6a427eb51b2439f245d1762041dcf50741fc53fa7a95579\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce3497352690\nresult = invalid\n\n# tcId = 221\n# Modified IV\nct = 5cef33853f321f523951a27e41a68dfca418d5b8560484d3f233c5a45e7b69e7a6e4893e690cde6e\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce3497352690\nresult = invalid\n\n# tcId = 222\n# Modified IV\nct = 62e120f39799ab7633fde15836b89b28a8ced5ecdc421939d8657e41fa1ea49a54da75b51b8dd3d8\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce3497352690\nresult = invalid\n\n# tcId = 223\n# Modified IV\nct = 9dc7bc15dfbc7da1a6f74bc4dfbc70091f2a180dbb76f9a6e9e18bcc3c11d2b56bed36c58c7dbc65\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce3497352690\nresult = invalid\n\n# tcId = 224\n# Modified IV\nct = e7ee36c6321ba0a30906b25e087fb0cabd74fbb0905b015ccc246cc90e5684605898a5a77983e897\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce", + "3497352690\nresult = invalid\n\n# tcId = 225\n# Modified IV\nct = 75c636384c4210ea46422f31a5622d001e8978c2b0fbbb79ce3d7c4b46bb3c7c2c9d4182571ae515\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce3497352690\nresult = invalid\n\n# tcId = 226\n# Modified IV\nct = b0116ad877c745d609f7df14b9225a2d69ab56f2e74077e34607b4e75a2883442864f17ca19af259\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce3497352690\nresult = invalid\n\n# tcId = 227\n# Modified Padding\nct = 64956d333265a8f2547756feab37b81f97786a4ebf491f13\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 228\n# Modified Padding\nct = 6ee239e916d27f8a8931740fda92657f98dfc68e5e3984da\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 229\n# Modified Padding\nct = 40c990f89aa7c76400655fd4167b04cbe24145c8c800dc35\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 230\n# Modified Padding\nct = f2a900684f167b9246b1345b8a94e711d9b6ac439f3ef3e8\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 231\n# Modified Padding\nct = cd7053a854fcc2f476c20539360ce47e767563723c11d211\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 232\n# Modified Padding\nct = ffa557ea4960669ccbcf59007a24de06755475c1cfef56da\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae37\nresult = invalid\n\n# tcId = 233\n# Modified Padding\nct = 8672fdfb252c0dc9e3bc39b0fe76b9b08cf87b65c0f28ee3\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 234\n# Modified Padding\nct = fcc2c7a6d2944e7d02ca08e49a7ceb77ee3f5966509b528e\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 235\n# Modified Padding\nct = 57bc3a4c7544fe76b92740608a1023bb70227856cbdb8ada\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070\nresult = invalid\n\n# tcId = 236\n# Modified Padding\nct = 9220a6eb9c77a3d6374647afa7a3effb99be7e1f7bafeca8a1bbd93e8adcca6e570484008ee674ca\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce3497352690\nresult = invalid\n\n# tcId = 237\n# Modified Padding\nct = 94654a58be6bb6b946ef40ac7b8f1d19e2edff7c2c8c54eb7b2cbb3227c4f9df2cb317795beea413\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce3497352690\nresult = invalid\n\n# tcId = 238\n# Modified Padding\nct = 1ae49d65e69886f0f47cbbeb50f07ab5163983916a738a0d8f538c59c8a6e1e9ad229b27418259a7\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce3497352690\nresult = invalid\n\n# tcId = 239\n# RFC 3349 padding\nct = ac1a774a5de27e4f9c356e4f62deaf8b7eeee6bcafafd895\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702eb2c31d96a58c9be2\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\n\n# tcId = 240\n# Invalid encryption\nct = b3941437f55e7cbc3f88050aff703967\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702eb2c31d96a58c9be2\nmsg = 0001020304050607\nresult = invalid\n\n# tcId = 241\n# padding too long\nct = 86175acf19ad0b7ac60d1fe4bb7850635e7ec6f8a314f85b6dd3d8f9349ea38d\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702eb2c31d96a58c9be2\nmsg = 000000000000000000000000000000000000000000000000\nresult = invalid\n\n# tcId = 242\n# padding too long\nct = 791f088847a76731e0d56b9b2dcb28bf9f091a9725790e0a64fc8e7cb3ad50f380297a98e3b1c33e\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702eb2c31d96a58c9be2\nmsg = 0000000000000000000000000000000000000000000000000000000000000000\nresult = invalid\n\n# tcId = 243\n# incorrectly encoded length\nct = 868c34495bd3d7b4e2c1861e7fcbbdb372099488dd96c9ea\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702eb2c31d96a58c9be2\nmsg = 00000000000000000000000000000000\nresult = invalid\n\n# tcId = 244\n# length = 2**32-1\nct = 4a8b4aeaa713469bfd9bf88d4072379fc858e40b24b0bebe\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702eb2c31d96a58c9be2\nmsg = 00000000000000000000000000000000\nresult = invalid\n\n# tcId = 245\n# length = 2**32-1\nct = c210aa3b5fbf5eac97e68d98d7727f38\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702eb2c31d96a58c9be2\nmsg = 0000000000000000\nresult = invalid\n\n# tcId = 246\n# length = 2**31-1\nct = e0ebd376e050cc9027b76dfc38ee2c6ae2808cecf480a560\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702eb2c31d96a58c9be2\nmsg = 00000000000000000000000000000000\nresult = invalid\n\n# tcId = 247\n# length = 2**31 + 16\nct = 23a693e211c08ab9b222c2ede2db18f437e22917fdff8032\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702eb2c31d96a58c9be2\nmsg = 00000000000000000000000000000000\nresult = invalid\n\n# tcId = 248\n# data is incorrectly padded\nct = 003f2916fea6827e01199028d3dc4e03889113f97b1860cc242e5a0f28a0f159\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702eb2c31d96a58c9be2\nmsg = ffffffffffffffffffffffffffffffffffffffffffffffff\nresult = invalid\n\n# tcId = 249\n# data is incorrectly padded\nct = 5c25a170d5225a6d66e117c691b37383\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702eb2c31d96a58c9be2\nmsg = 0001020304050607\nresult = invalid\n\n# tcId = 250\n# length = 0\nct = df9ef924eb59634be5b27cabd33d72bd6be6e01e4672ab05\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702eb2c31d96a58c9be2\nmsg = 00000000000000000000000000000000\nresult = invalid\n\n# tcId = 251\n# RFC 3349 padding with incorrect size\nct = e6e66fad359a7b63a977788acd297121\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702eb2c31d96a58c9be2\nmsg = 0001020304050607\nresult = invalid\n\n# tcId = 252\n# length = 9\nct = 76b88ecda760b1af80703036185fc476\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702eb2c31d96a58c9be2\nmsg = 0000000000000000\nresult = invalid\n\n# tcId = 253\n# length = 16\nct = fd101943f4ab7c38ec68c75d4b3193dc\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702eb2c31d96a58c9be2\nmsg = 0000000000000000\nresult = invalid\n\n# tcId = 254\n# length = 2**31 + 8\nct = 1793a3a9bd146726edbcb9589f20e849\nkey = 48a53c11ef2d727db7eb9a834b134ea9602273aca929702eb2c31d96a58c9be2\nmsg = 0000000000000000\nresult = invalid\n\n", }; -static const size_t kLen85 = 35004; +static const size_t kLen118 = 36748; -static const char *kData85[] = { - "# Imported from Wycheproof's x25519_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: X25519\n# Generator version: 0.4.12\n\n[curve = curve25519]\n\n# tcId = 1\n# normal case\ncurve = curve25519\nprivate = 4852834d9d6b77dadeabaaf2e11dca66d19fe74993a7bec36c6e16a0983feaba\npublic = 9c647d9ae589b9f58fdc3ca4947efbc915c4b2e08e744a0edf469dac59c8f85a\nresult = valid\nshared = 87b7f212b627f7a54ca5e0bcdaddd5389d9de6156cdbcf8ebe14ffbcfb436551\n\n# tcId = 2\n# normal case\ncurve = curve25519\nprivate = 1064a67da639a8f6df4fbea2d63358b65bca80a770712e14ea8a72df5a3313ae\npublic = 9c647d9ae589b9f58fdc3ca4947efbc915c4b2e08e744a0edf469dac59c8f85a\nresult = valid\nshared = 4b82bd8650ea9b81a42181840926a4ffa16434d1bf298de1db87efb5b0a9e34e\n# Curve25519 or its twist contains some points of low order. This test vector\n# contains a public key with such a point. While many libraries reject such\n# public keys, doing so is not a strict requirement according to RFC 7748.\n\n# tcId = 3\n# public key on twist\ncurve = curve25519\nprivate = 588c061a50804ac488ad774ac716c3f5ba714b2712e048491379a500211998a8\npublic = 63aa40c6e38346c5caf23a6df0a5e6c80889a08647e551b3563449befcfc9733\nresult = acceptable\nshared = b1a707519495ffffb298ff941716b06dfab87cf8d91123fe2be9a233dda22212\n# Public keys are either points on curve25519 or points on its twist.\n# Implementations may either reject such keys or compute X25519 using the twist.\n# If a point multiplication is performed then it is important that the result is\n# correct, since otherwise attacks with invalid keys are possible.\n\n# tcId = 4\n# public key on twist\ncurve = curve25519\nprivate = b05bfd32e55325d9fd648cb302848039000b390e44d521e58aab3b29a6960ba8\npublic = 0f83c36fded9d32fadf4efa3ae93a90bb5cfa66893bc412c43fa7287dbb99779\nresult = acceptable\nshared = 67dd4a6e165533534c0e3f172e4ab8576bca923a5f07b2c069b4c310ff2e935b\n# Public keys are either points on curve25519 or points on its twist.\n# Implementations may either reject such keys or compute X25519 using the twist.\n# If a point multiplication is performed then it is important that the result is\n# correct, since otherwise attacks with invalid keys are possible.\n\n# tcId = 5\n# public key on twist\ncurve = curve25519\nprivate = 70e34bcbe1f47fbc0fddfd7c1e1aa53d57bfe0f66d243067b424bb6210bed19c\npublic = 0b8211a2b6049097f6871c6c052d3c5fc1ba17da9e32ae458403b05bb283092a\nresult = acceptable\nshared = 4a0638cfaa9ef1933b47f8939296a6b25be541ef7f70e844c0bcc00b134de64a\n# Public keys are either points on curve25519 or points on its twist.\n# Implementations may either reject such keys or compute X25519 using the twist.\n# If a point multiplication is performed then it is important that the result is\n# correct, since otherwise attacks with invalid keys are possible.\n\n# tcId = 6\n# public key on twist\ncurve = curve25519\nprivate = 68c1f3a653a4cdb1d37bba94738f8b957a57beb24d646e994dc29a276aad458d\npublic = 343ac20a3b9c6a27b1008176509ad30735856ec1c8d8fcae13912d08d152f46c\nresult = acceptable\nshared = 399491fce8dfab73b4f9f611de8ea0b27b28f85994250b0f475d585d042ac207\n# Public keys are either points on curve25519 or points on its twist.\n# Implementations may either reject such keys or compute X25519 using the twist.\n# If a point multiplication is performed then it is important that the result is\n# correct, since otherwise attacks with invalid keys are possible.\n\n# tcId = 7\n# public key on twist\ncurve = curve25519\nprivate = d877b26d06dff9d9f7fd4c5b3769f8cdd5b30516a5ab806be324ff3eb69ea0b2\npublic = fa695fc7be8d1be5bf704898f388c452bafdd3b8eae805f8681a8d15c2d4e142\nresult = acceptable\nshared = 2c4fe11d490a53861776b13b4354abd4cf5a97699db6e6c68c1626d07662f758\n# Public keys are either points on curve25519 or points on its twist.\n# Implementations may either reject such keys or compute X25519 using the twist.\n# If a point multiplication is performed then it is important that the result is\n# correct, since otherwise attacks with invalid keys are possible.\n\n# tcId = 8\n# public key = 0\ncurve = curve25519\nprivate = 207494038f2bb811d47805bcdf04a2ac585ada7f2f23389bfd4658f9ddd4debc\npublic = 0000000000000000000000000000000000000000000000000000000000000000\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\n# The public key is insecure and does not belong to a valid private key. Some\n# libraries reject such keys.\n\n# tcId = 9\n# public key = 1\ncurve = curve25519\nprivate = 202e8972b61c7e61930eb9450b5070eae1c670475685541f0476217e4818cfab\npublic = 0100000000000000000000000000000000000000000000000000000000000000\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\n# The public key is insecure and does not belong to a valid private key. Some\n# libraries reject such keys.\n\n# tcId = 10\n# edge case on twist\ncurve = curve25519\nprivate = 38dde9f3e7b799045f9ac3793d4a9277dadeadc41bec0290f81f744f73775f84\npublic = 0200000000000000000000000000000000000000000000000000000000000000\nresult = acceptable\nshared = 9a2cfe84ff9c4a9739625cae4a3b82a906877a441946f8d7b3d795fe8f5d1639\n# Public keys are either points on curve25519 or points on its twist.\n# Implementations may either reject such keys or compute X25519 using the twist.\n# If a point multiplication is performed then it is important that the result is\n# correct, since otherwise attacks with invalid keys are possible.\n\n# tcId = 11\n# edge case on twist\ncurve = curve25519\nprivate = 9857a914e3c29036fd9a442ba526b5cdcdf28216153e636c10677acab6bd6aa5\npublic = 0300000000000000000000000000000000000000000000000000000000000000\nresult = acceptable\nshared = 4da4e0aa072c232ee2f0fa4e519ae50b52c1edd08a534d4ef346c2e106d21d60\n# Public keys are either points on curve25519 or points on its twist.\n# Implementations may either reject such keys or compute X25519 using the twist.\n# If a point multiplication is performed then it is important that the result is\n# correct, since otherwise attacks with invalid keys are possible.\n\n# tcId = 12\n# edge case on twist\ncurve = curve25519\nprivate = 48e2130d723305ed05e6e5894d398a5e33367a8c6aac8fcdf0a88e4b42820db7\npublic = ffffff030000f8ffff1f0000c0ffffff000000feffff070000f0ffff3f000000\nresult = acceptable\nshared = 9ed10c53747f647f82f45125d3de15a1e6b824496ab40410ffcc3cfe95760f3b\n# Public keys are either points on curve25519 or points on its twist.\n# Implementations may either reject such keys or compute X25519 using the twist.\n# If a point multiplication is performed then it is important that the result is\n# correct, since otherwise attacks with invalid keys are possible.\n\n# tcId = 13\n# edge case on twist\ncurve = curve25519\nprivate = 28f41011691851b3a62b641553b30d0dfddcb8fffcf53700a7be2f6a872e9fb0\npublic = 000000fcffff070000e0ffff3f000000ffffff010000f8ffff0f0000c0ffff7f\nresult = acceptable\nshared = cf72b4aa6aa1c9f894f4165b86109aa468517648e1f0cc70e1ab08460176506b\n# Public keys are either points on curve25519 or points on its twist.\n# Implementations may either reject such keys or compute X25519 using the twist.\n# If a point multiplication is performed then it is important that the result is\n# correct, since otherwise attacks with invalid keys are possible.\n\n# tcId = 14\n# edge case on twist\ncurve = curve25519\nprivate = 18a93b6499b9f6b3225ca02fef410e0adec23532321d2d8ef1a6d602a8c65b83\npublic = 00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffff7f\nresult = acceptable\nshared = 5d50b62836bb69579410386cf7bb811c14bf85b1c7b17e5924c7ffea91ef9e12\n# Public keys are either points on curve25519 or points on its twist.\n# Implementations may either reject such keys or compute X25519 using the twist.\n# If a point multiplication is performed then it is important that the result is\n# correct, since otherwise attacks with invalid keys are possible.\n\n# tcId = 15\n# edge case on twist\ncurve = curve25519\nprivate = c01d1305a1338a1fcac2ba7e2e032b427e0b04903165aca957d8d0553d8717b0\npublic = eaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\nresult = acceptable\nshared = 19230eb148d5d67c3c22ab1daeff80a57eae4265ce2872657b2c8099fc698e50\n# Public keys are either points on curve25519 or points on its twist.\n# Implementations may either reject such keys or compute X25519 using the twist.\n# If a poin", - "t multiplication is performed then it is important that the result is\n# correct, since otherwise attacks with invalid keys are possible.\n\n# tcId = 16\n# edge case for public key\ncurve = curve25519\nprivate = 386f7f16c50731d64f82e6a170b142a4e34f31fd7768fcb8902925e7d1e21abe\npublic = 0400000000000000000000000000000000000000000000000000000000000000\nresult = valid\nshared = 0fcab5d842a078d7a71fc59b57bfb4ca0be6873b49dcdb9f44e14ae8fbdfa542\n\n# tcId = 17\n# edge case for public key\ncurve = curve25519\nprivate = e023a289bd5e90fa2804ddc019a05ef3e79d434bb6ea2f522ecb643a75296e95\npublic = ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000\nresult = valid\nshared = 54ce8f2275c077e3b1306a3939c5e03eef6bbb88060544758d9fef59b0bc3e4f\n\n# tcId = 18\n# edge case for public key\ncurve = curve25519\nprivate = 68f010d62ee8d926053a361c3a75c6ea4ebdc8606ab285003a6f8f4076b01e83\npublic = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03\nresult = valid\nshared = f136775c5beb0af8110af10b20372332043cab752419678775a223df57c9d30d\n\n# tcId = 19\n# edge case for public key\ncurve = curve25519\nprivate = 58ebcb35b0f8845caf1ec630f96576b62c4b7b6c36b29deb2cb0084651755c96\npublic = fffffffbfffffbffffdfffffdffffffffefffffefffff7fffff7ffffbfffff3f\nresult = valid\nshared = bf9affd06b844085586460962ef2146ff3d4533d9444aab006eb88cc3054407d\n\n# tcId = 20\n# edge case for public key\ncurve = curve25519\nprivate = 188c4bc5b9c44b38bb658b9b2ae82d5b01015e093184b17cb7863503a783e1bb\npublic = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3f\nresult = valid\nshared = d480de04f699cb3be0684a9cc2e31281ea0bc5a9dcc157d3d20158d46ca5246d\n\n# tcId = 21\n# edge case for public key\ncurve = curve25519\nprivate = e06c11bb2e13ce3dc7673f67f5482242909423a9ae95ee986a988d98faee23a2\npublic = fffffffffeffff7ffffffffffeffff7ffffffffffeffff7ffffffffffeffff7f\nresult = valid\nshared = 4c4401cce6b51e4cb18f2790246c9bf914db667750a1cb89069092af07292276\n\n# tcId = 22\n# edge case for public key\ncurve = curve25519\nprivate = c0658c46dde18129293877535b1162b6f9f5414a23cf4d2cbc140a4d99da2b8f\npublic = ebffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\nresult = valid\nshared = 578ba8cc2dbdc575afcf9df2b3ee6189f5337d6854c79b4ce165ea12293b3a0f\n\n# tcId = 23\n# public key with low order\ncurve = curve25519\nprivate = 10255c9230a97a30a458ca284a629669293a31890cda9d147febc7d1e22d6bb1\npublic = e0eb7a7c3b41b8ae1656e3faf19fc46ada098deb9c32b1fd866205165f49b800\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\n# Curve25519 or its twist contains some points of low order. This test vector\n# contains a public key with such a point. While many libraries reject such\n# public keys, doing so is not a strict requirement according to RFC 7748.\n\n# tcId = 24\n# public key with low order\ncurve = curve25519\nprivate = 78f1e8edf14481b389448dac8f59c70b038e7cf92ef2c7eff57a72466e115296\npublic = 5f9c95bca3508c24b1d0b1559c83ef5b04445cc4581c8e86d8224eddd09f1157\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\n# Curve25519 or its twist contains some points of low order. This test vector\n# contains a public key with such a point. While many libraries reject such\n# public keys, doing so is not a strict requirement according to RFC 7748.\n\n# tcId = 25\n# public key with low order\ncurve = curve25519\nprivate = a0a05a3e8f9f44204d5f8059a94ac7dfc39a49ac016dd743dbfa43c5d671fd88\npublic = ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\n# Curve25519 or its twist contains some points of low order. This test vector\n# contains a public key with such a point. While many libraries reject such\n# public keys, doing so is not a strict requirement according to RFC 7748.\n\n# tcId = 26\n# public key with low order\ncurve = curve25519\nprivate = d0dbb3ed1906663f15420af31f4eaf6509d9a9949723500605ad7c1c6e7450a9\npublic = edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\n# Curve25519 or its twist contains some points of low order. This test vector\n# contains a public key with such a point. While many libraries reject such\n# public keys, doing so is not a strict requirement according to RFC 7748.\n\n# tcId = 27\n# public key with low order\ncurve = curve25519\nprivate = c0b1d0eb22b244fe3291140072cdd9d989b5f0ecd96c100feb5bca241c1d9f8f\npublic = eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\n# Curve25519 or its twist contains some points of low order. This test vector\n# contains a public key with such a point. While many libraries reject such\n# public keys, doing so is not a strict requirement according to RFC 7748.\n\n# tcId = 28\n# public key with low order\ncurve = curve25519\nprivate = 480bf45f594942a8bc0f3353c6e8b8853d77f351f1c2ca6c2d1abf8a00b4229c\npublic = 0000000000000000000000000000000000000000000000000000000000000080\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\n# Curve25519 or its twist contains some points of low order. This test vector\n# contains a public key with such a point. While many libraries reject such\n# public keys, doing so is not a strict requirement according to RFC 7748.\n\n# tcId = 29\n# public key with low order\ncurve = curve25519\nprivate = 30f993fcf8514fc89bd8db14cd43ba0d4b2530e73c4276a05e1b145d420cedb4\npublic = 0100000000000000000000000000000000000000000000000000000000000080\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\n# Curve25519 or its twist contains some points of low order. This test vector\n# contains a public key with such a point. While many libraries reject such\n# public keys, doing so is not a strict requirement according to RFC 7748.\n\n# tcId = 30\n# public key with low order\ncurve = curve25519\nprivate = c04974b758380e2a5b5df6eb09bb2f6b3434f982722a8e676d3da251d1b3de83\npublic = e0eb7a7c3b41b8ae1656e3faf19fc46ada098deb9c32b1fd866205165f49b880\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\n# Curve25519 or its twist contains some points of low order. This test vector\n# contains a public key with such a point. While many libraries reject such\n# public keys, doing so is not a strict requirement according to RFC 7748.\n\n# tcId = 31\n# public key with low order\ncurve = curve25519\nprivate = 502a31373db32446842fe5add3e024022ea54f274182afc3d9f1bb3d39534eb5\npublic = 5f9c95bca3508c24b1d0b1559c83ef5b04445cc4581c8e86d8224eddd09f11d7\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\n# Curve25519 or its twist contains some points of low order. This test vector\n# contains a public key with such a point. While many libraries reject such\n# public keys, doing so is not a strict requirement according to RFC 7748.\n\n# tcId = 32\n# public key with low order\ncurve = curve25519\nprivate = 90fa6417b0e37030fd6e43eff2abaef14c6793117a039cf621318ba90f4e98be\npublic = ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\n# Curve25519 or its twist contains some points of low order. This test vector\n# contains a public key with such a point. While many libraries reject such\n# public keys, doing so is not a strict requirement according to RFC 7748.\n\n# tcId = 33\n# public key with low order\ncurve = curve25519\nprivate = 78ad3f26027f1c9fdd975a1613b947779bad2cf2b741ade01840885a30bb979c\npublic = edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\n# Curve25519 or its twist contains some points of low order. This test vector\n# contains a public key with such a point. While many libraries reject such\n# public keys, doing so is not a strict requirement according to RFC 7748.\n\n# tcId = 34\n# public key with low order\ncurve = curve25519\nprivate = 98e23de7b1e0926ed9c87e7b14baf55f497a1d7096f93977680e44", - "dc1c7b7b8b\npublic = eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\n# Curve25519 or its twist contains some points of low order. This test vector\n# contains a public key with such a point. While many libraries reject such\n# public keys, doing so is not a strict requirement according to RFC 7748.\n\n# tcId = 35\n# public key with low order\ncurve = curve25519\nprivate = 1064a67da639a8f6df4fbea2d63358b65bca80a770712e14ea8a72df5a3313ae\npublic = 0000000000000000000000000000000000000000000000000000000000000000\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 36\n# public key with low order\ncurve = curve25519\nprivate = 1064a67da639a8f6df4fbea2d63358b65bca80a770712e14ea8a72df5a3313ae\npublic = 0100000000000000000000000000000000000000000000000000000000000000\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 37\n# public key with low order\ncurve = curve25519\nprivate = 1064a67da639a8f6df4fbea2d63358b65bca80a770712e14ea8a72df5a3313ae\npublic = ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 38\n# public key with low order\ncurve = curve25519\nprivate = 1064a67da639a8f6df4fbea2d63358b65bca80a770712e14ea8a72df5a3313ae\npublic = 5f9c95bca3508c24b1d0b1559c83ef5b04445cc4581c8e86d8224eddd09f1157\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 39\n# public key with low order\ncurve = curve25519\nprivate = 1064a67da639a8f6df4fbea2d63358b65bca80a770712e14ea8a72df5a3313ae\npublic = e0eb7a7c3b41b8ae1656e3faf19fc46ada098deb9c32b1fd866205165f49b800\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 40\n# public key with low order\ncurve = curve25519\nprivate = 1064a67da639a8f6df4fbea2d63358b65bca80a770712e14ea8a72df5a3313ae\npublic = edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 41\n# public key with low order\ncurve = curve25519\nprivate = 1064a67da639a8f6df4fbea2d63358b65bca80a770712e14ea8a72df5a3313ae\npublic = eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 42\n# public key with low order\ncurve = curve25519\nprivate = 1064a67da639a8f6df4fbea2d63358b65bca80a770712e14ea8a72df5a3313ae\npublic = 0000000000000000000000000000000000000000000000000000000000000080\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 43\n# public key with low order\ncurve = curve25519\nprivate = 1064a67da639a8f6df4fbea2d63358b65bca80a770712e14ea8a72df5a3313ae\npublic = 0100000000000000000000000000000000000000000000000000000000000080\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 44\n# public key with low order\ncurve = curve25519\nprivate = 1064a67da639a8f6df4fbea2d63358b65bca80a770712e14ea8a72df5a3313ae\npublic = ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 45\n# public key with low order\ncurve = curve25519\nprivate = 1064a67da639a8f6df4fbea2d63358b65bca80a770712e14ea8a72df5a3313ae\npublic = 5f9c95bca3508c24b1d0b1559c83ef5b04445cc4581c8e86d8224eddd09f11d7\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 46\n# public key with low order\ncurve = curve25519\nprivate = 1064a67da639a8f6df4fbea2d63358b65bca80a770712e14ea8a72df5a3313ae\npublic = e0eb7a7c3b41b8ae1656e3faf19fc46ada098deb9c32b1fd866205165f49b880\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 47\n# public key with low order\ncurve = curve25519\nprivate = 1064a67da639a8f6df4fbea2d63358b65bca80a770712e14ea8a72df5a3313ae\npublic = edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 48\n# public key with low order\ncurve = curve25519\nprivate = 1064a67da639a8f6df4fbea2d63358b65bca80a770712e14ea8a72df5a3313ae\npublic = eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 49\n# public key >= p\ncurve = curve25519\nprivate = f01e48dafac9d7bcf589cbc382c878d18bda3550589ffb5d50b523bebe329dae\npublic = efffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\nresult = acceptable\nshared = bd36a0790eb883098c988b21786773de0b3a4df162282cf110de18dd484ce74b\n\n# tcId = 50\n# public key >= p\ncurve = curve25519\nprivate = 288796bc5aff4b81a37501757bc0753a3c21964790d38699308debc17a6eaf8d\npublic = f0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\nresult = acceptable\nshared = b4e0dd76da7b071728b61f856771aa356e57eda78a5b1655cc3820fb5f854c5c\n\n# tcId = 51\n# public key >= p\ncurve = curve25519\nprivate = 98df845f6651bf1138221f119041f72b6dbc3c4ace7143d99fd55ad867480da8\npublic = f1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\nresult = acceptable\nshared = 6fdf6c37611dbd5304dc0f2eb7c9517eb3c50e12fd050ac6dec27071d4bfc034\n\n# tcId = 52\n# public key >= p\ncurve = curve25519\nprivate = f09498e46f02f878829e78b803d316a2ed695d0498a08abdf8276930e24edcb0\npublic = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\nresult = acceptable\nshared = 4c8fc4b1c6ab88fb21f18f6d4c810240d4e94651ba44f7a2c863cec7dc56602d\n\n# tcId = 53\n# public key >= p\ncurve = curve25519\nprivate = 1813c10a5c7f21f96e17f288c0cc37607c04c5f5aea2db134f9e2ffc66bd9db8\npublic = 0200000000000000000000000000000000000000000000000000000000000080\nresult = acceptable\nshared = 1cd0b28267dc541c642d6d7dca44a8b38a63736eef5c4e6501ffbbb1780c033c\n\n# tcId = 54\n# public key >= p\ncurve = curve25519\nprivate = 7857fb808653645a0beb138a64f5f4d733a45ea84c3cda11a9c06f7e7139149e\npublic = 0300000000000000000000000000000000000000000000000000000000000080\nresult = acceptable\nshared = 8755be01c60a7e825cff3e0e78cb3aa4333861516aa59b1c51a8b2a543dfa822\n\n# tcId = 55\n# public key >= p\ncurve = curve25519\nprivate = e03aa842e2abc56e81e87b8b9f417b2a1e5913c723eed28d752f8d47a59f498f\npublic = 0400000000000000000000000000000000000000000000000000000000000080\nresult = acceptable\nshared = 54c9a1ed95e546d27822a360931dda60a1df049da6f904253c0612bbdc087476\n\n# tcId = 56\n# public key >= p\ncurve = curve25519\nprivate = f8f707b7999b18cb0d6b96124f2045972ca274bfc154ad0c87038c24c6d0d4b2\npublic = daffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nresult = acceptable\nshared = cc1f40d743cdc2230e1043daba8b75e810f1fbab7f255269bd9ebb29e6bf494f\n\n# tcId = 57\n# public key >= p\ncurve = curve25519\nprivate = a034f684fa631e1a348118c1ce4c98231f2d9eec9ba5365b4a05d69a785b0796\npublic = dbffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nresult = acceptable\nshared = 54998ee43a5b007bf499f078e736524400a8b5c7e9b9b43771748c7cdf880412\n\n# tcId = 58\n# public key >= p\ncurve = curve25519\nprivate = 30b6c6a0f2ffa680768f992ba89e152d5bc9893d38c9119be4f767bfab6e0ca5\npublic = dcffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nresult = acceptable\nshared = ead9b38efdd723637934e55ab717a7ae09eb86a21dc36a3feeb88b759e391e09\n\n# tcId = 59\n# public key >= p\ncurve = curve25519\nprivate = 901b9dcf881e01e027575035d40b43bdc1c5242e030847495b0c7286469b6591\npublic = eaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nresult = acceptable\nshared = 602ff40789b54b41805915fe2a6221f07a50ffc2c3fc94cf61f13d7904e88e0e\n\n# tcId = 60\n# public key >= p\ncurve = curve25519\nprivate = 8046677c28fd82c9a1bdb71a1a1a34faba1225e2507fe3f54d10bd5b0d865f8e\npublic = ebffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nresult = acceptable\nshared = e00ae8b143471247ba24f12c885536c3cb981b58e1e56b2baf35c12ae1f79c26\n\n# tcId = 61\n# public key ", - ">= p\ncurve = curve25519\nprivate = 602f7e2f68a846b82cc269b1d48e939886ae54fd636c1fe074d710127d472491\npublic = efffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nresult = acceptable\nshared = 98cb9b50dd3fc2b0d4f2d2bf7c5cfdd10c8fcd31fc40af1ad44f47c131376362\n\n# tcId = 62\n# public key >= p\ncurve = curve25519\nprivate = 60887b3dc72443026ebedbbbb70665f42b87add1440e7768fbd7e8e2ce5f639d\npublic = f0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nresult = acceptable\nshared = 38d6304c4a7e6d9f7959334fb5245bd2c754525d4c91db950206926234c1f633\n\n# tcId = 63\n# public key >= p\ncurve = curve25519\nprivate = 78d31dfa854497d72d8def8a1b7fb006cec2d8c4924647c93814ae56faeda495\npublic = f1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nresult = acceptable\nshared = 786cd54996f014a5a031ec14db812ed08355061fdb5de680a800ac521f318e23\n\n# tcId = 64\n# public key >= p\ncurve = curve25519\nprivate = c04c5baefa8302ddded6a4bb957761b4eb97aefa4fc3b8043085f96a5659b3a5\npublic = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nresult = acceptable\nshared = 29ae8bc73e9b10a08b4f681c43c3e0ac1a171d31b38f1a48efba29ae639ea134\n\n# tcId = 65\n# RFC 7748\ncurve = curve25519\nprivate = a046e36bf0527c9d3b16154b82465edd62144c0ac1fc5a18506a2244ba449a44\npublic = e6db6867583030db3594c1a424b15f7c726624ec26b3353b10a903a6d0ab1c4c\nresult = valid\nshared = c3da55379de9c6908e94ea4df28d084f32eccf03491c71f754b4075577a28552\n\n# tcId = 66\n# RFC 7748\ncurve = curve25519\nprivate = 4866e9d4d1b4673c5ad22691957d6af5c11b6421e0ea01d42ca4169e7918ba4d\npublic = e5210f12786811d3f4b7959d0538ae2c31dbe7106fc03c3efc4cd549c715a413\nresult = valid\nshared = 95cbde9476e8907d7aade45cb4b873f88b595a68799fa152e6f8f7647aac7957\n\n# tcId = 67\n# edge case for shared secret\ncurve = curve25519\nprivate = a0a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a976bf63\npublic = 0ab4e76380d84dde4f6833c58f2a9fb8f83bb0169b172be4b6e0592887741a36\nresult = acceptable\nshared = 0200000000000000000000000000000000000000000000000000000000000000\n# Public keys are either points on curve25519 or points on its twist.\n# Implementations may either reject such keys or compute X25519 using the twist.\n# If a point multiplication is performed then it is important that the result is\n# correct, since otherwise attacks with invalid keys are possible.\n\n# tcId = 68\n# edge case for shared secret\ncurve = curve25519\nprivate = a0a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a976bf63\npublic = 89e10d5701b4337d2d032181538b1064bd4084401ceca1fd12663a1959388000\nresult = valid\nshared = 0900000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 69\n# edge case for shared secret\ncurve = curve25519\nprivate = a0a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a976bf63\npublic = 2b55d3aa4a8f80c8c0b2ae5f933e85af49beac36c2fa7394bab76c8933f8f81d\nresult = valid\nshared = 1000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 70\n# edge case for shared secret\ncurve = curve25519\nprivate = a0a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a976bf63\npublic = 63e5b1fe9601fe84385d8866b0421262f78fbfa5aff9585e626679b18547d959\nresult = acceptable\nshared = feffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3f\n# Public keys are either points on curve25519 or points on its twist.\n# Implementations may either reject such keys or compute X25519 using the twist.\n# If a point multiplication is performed then it is important that the result is\n# correct, since otherwise attacks with invalid keys are possible.\n\n# tcId = 71\n# edge case for shared secret\ncurve = curve25519\nprivate = a0a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a976bf63\npublic = e428f3dac17809f827a522ce32355058d07369364aa78902ee10139b9f9dd653\nresult = valid\nshared = fcffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3f\n\n# tcId = 72\n# edge case for shared secret\ncurve = curve25519\nprivate = a0a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a976bf63\npublic = b3b50e3ed3a407b95de942ef74575b5ab8a10c09ee103544d60bdfed8138ab2b\nresult = acceptable\nshared = f9ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3f\n# Public keys are either points on curve25519 or points on its twist.\n# Implementations may either reject such keys or compute X25519 using the twist.\n# If a point multiplication is performed then it is important that the result is\n# correct, since otherwise attacks with invalid keys are possible.\n\n# tcId = 73\n# edge case for shared secret\ncurve = curve25519\nprivate = a0a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a976bf63\npublic = 213fffe93d5ea8cd242e462844029922c43c77c9e3e42f562f485d24c501a20b\nresult = valid\nshared = f3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3f\n\n# tcId = 74\n# edge case for shared secret\ncurve = curve25519\nprivate = a0a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a976bf63\npublic = 91b232a178b3cd530932441e6139418f72172292f1da4c1834fc5ebfefb51e3f\nresult = valid\nshared = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03\n\n# tcId = 75\n# edge case for shared secret\ncurve = curve25519\nprivate = a0a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a976bf63\npublic = 045c6e11c5d332556c7822fe94ebf89b56a3878dc27ca079103058849fabcb4f\nresult = acceptable\nshared = e5ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\n# Public keys are either points on curve25519 or points on its twist.\n# Implementations may either reject such keys or compute X25519 using the twist.\n# If a point multiplication is performed then it is important that the result is\n# correct, since otherwise attacks with invalid keys are possible.\n\n# tcId = 76\n# edge case for shared secret\ncurve = curve25519\nprivate = a0a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a976bf63\npublic = 1ca2190b71163539063c35773bda0c9c928e9136f0620aeb093f099197b7f74e\nresult = acceptable\nshared = e3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\n# Public keys are either points on curve25519 or points on its twist.\n# Implementations may either reject such keys or compute X25519 using the twist.\n# If a point multiplication is performed then it is important that the result is\n# correct, since otherwise attacks with invalid keys are possible.\n\n# tcId = 77\n# edge case for shared secret\ncurve = curve25519\nprivate = a0a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a976bf63\npublic = f76e9010ac33c5043b2d3b76a842171000c4916222e9e85897a0aec7f6350b3c\nresult = valid\nshared = ddffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\n\n# tcId = 78\n# edge case for shared secret\ncurve = curve25519\nprivate = a0a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a976bf63\npublic = bb72688d8f8aa7a39cd6060cd5c8093cdec6fe341937c3886a99346cd07faa55\nresult = acceptable\nshared = dbffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\n# Public keys are either points on curve25519 or points on its twist.\n# Implementations may either reject such keys or compute X25519 using the twist.\n# If a point multiplication is performed then it is important that the result is\n# correct, since otherwise attacks with invalid keys are possible.\n\n# tcId = 79\n# edge case for shared secret\ncurve = curve25519\nprivate = a0a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a976bf63\npublic = 88fddea193391c6a5933ef9b71901549447205aae9da928a6b91a352ba10f41f\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000002\n# Public keys are either points on curve25519 or points on its twist.\n# Implementations may either reject such keys or compute X25519 using the twist.\n# If a point multiplication is performed then it is important that the result is\n# correct, since otherwise attacks with invalid keys are possible.\n\n# tcId = 80\n# edge case for shared secret\ncurve = curve25519\nprivate = a0a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a976bf63\npublic = 303b392f153116cad9cc682a00ccc44c95ff0d3bbe568beb6c4e739bafdc2c68\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000008000\n# Public keys are either points on curve25519 or points on its twist.\n# Implementations may either reject such keys or compute X25519 using the twist.\n", - "# If a point multiplication is performed then it is important that the result is\n# correct, since otherwise attacks with invalid keys are possible.\n\n# tcId = 81\n# checking for overflow\ncurve = curve25519\nprivate = c81724704000b26d31703cc97e3a378d56fad8219361c88cca8bd7c5719b12b2\npublic = fd300aeb40e1fa582518412b49b208a7842b1e1f056a040178ea4141534f652d\nresult = valid\nshared = b734105dc257585d73b566ccb76f062795ccbec89128e52b02f3e59639f13c46\n\n# tcId = 82\n# checking for overflow\ncurve = curve25519\nprivate = c81724704000b26d31703cc97e3a378d56fad8219361c88cca8bd7c5719b12b2\npublic = c8ef79b514d7682677bc7931e06ee5c27c9b392b4ae9484473f554e6678ecc2e\nresult = valid\nshared = 647a46b6fc3f40d62141ee3cee706b4d7a9271593a7b143e8e2e2279883e4550\n\n# tcId = 83\n# checking for overflow\ncurve = curve25519\nprivate = c81724704000b26d31703cc97e3a378d56fad8219361c88cca8bd7c5719b12b2\npublic = 64aeac2504144861532b7bbcb6c87d67dd4c1f07ebc2e06effb95aecc6170b2c\nresult = valid\nshared = 4ff03d5fb43cd8657a3cf37c138cadcecce509e4eba089d0ef40b4e4fb946155\n\n# tcId = 84\n# checking for overflow\ncurve = curve25519\nprivate = c81724704000b26d31703cc97e3a378d56fad8219361c88cca8bd7c5719b12b2\npublic = bf68e35e9bdb7eee1b50570221860f5dcdad8acbab031b14974cc49013c49831\nresult = valid\nshared = 21cee52efdbc812e1d021a4af1e1d8bc4db3c400e4d2a2c56a3926db4d99c65b\n\n# tcId = 85\n# checking for overflow\ncurve = curve25519\nprivate = c81724704000b26d31703cc97e3a378d56fad8219361c88cca8bd7c5719b12b2\npublic = 5347c491331a64b43ddc683034e677f53dc32b52a52a577c15a83bf298e99f19\nresult = valid\nshared = 18cb89e4e20c0c2bd324305245266c9327690bbe79acb88f5b8fb3f74eca3e52\n\n# tcId = 86\n# private key == -1 (mod order)\ncurve = curve25519\nprivate = a023cdd083ef5bb82f10d62e59e15a6800000000000000000000000000000050\npublic = 258e04523b8d253ee65719fc6906c657192d80717edc828fa0af21686e2faa75\nresult = valid\nshared = 258e04523b8d253ee65719fc6906c657192d80717edc828fa0af21686e2faa75\n\n# tcId = 87\n# private key == 1 (mod order) on twist\ncurve = curve25519\nprivate = 58083dd261ad91eff952322ec824c682ffffffffffffffffffffffffffffff5f\npublic = 2eae5ec3dd494e9f2d37d258f873a8e6e9d0dbd1e383ef64d98bb91b3e0be035\nresult = acceptable\nshared = 2eae5ec3dd494e9f2d37d258f873a8e6e9d0dbd1e383ef64d98bb91b3e0be035\n\n", +static const char *kData118[] = { + "# Imported from Wycheproof's kw_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: KW\n# Generator version: 0.8r12\n\n[keySize = 128]\n\n# tcId = 1\nct = 9de453ced5d4ab46a5601708eeefefb5e593e6ae8e86b26b\nkey = 6f67486d1e914419cb43c28509c7c1ea\nmsg = 8dc0632d92ee0be4f740028410b08270\nresult = valid\n\n# tcId = 2\nct = 8c3aba85cc0ae1ae10b36658b068f595baf8caafb745ef3c\nkey = a0b17172bb296db7f5c869e9a36b5ce3\nmsg = 615dd022d607c910f20178cbdf42060f\nresult = valid\n\n# tcId = 3\nct = 1de093654826f18fcd0f3fd499416ff22ed75ee12fe0b624\nkey = 0e49d571c19b5250effd41d94bde39d6\nmsg = f25e4de8caca363fd5f29442eb147b55\nresult = valid\n\n# tcId = 4\n# wrapped key is longer than wrapping key\nct = 9c3ddc23827b7b3c13105f9e8b11523baccdfb6c8b7e7825496e7a840bd32aec\nkey = e0e12959109103e30ae8b5684a22e662\nmsg = dbb0f2bb2be912a20430972d9842ce3fd3b928e573e1ac8e\nresult = valid\n\n# tcId = 5\n# wrapped key is longer than wrapping key\nct = afb744aaf746dcc0b57f8b378c404cbe877f44cf3d45140d60814eda3f541f01\nkey = dd583d9f1059861430ec8b5d8a180e9b\nmsg = f2e34f356362a31b51d6e02bcd333c9e6170494ca5ff5487\nresult = valid\n\n# tcId = 6\n# wrapped key is longer than wrapping key\nct = cff98cd64cb51ab99b81aee82cee4274d0df3e1b6a4943d39236ea989846d0cc\nkey = faf5ccfae42b43cee2c5f0f3177a7c5d\nmsg = 4e02084833660c463830483b36dab866c64c8cf7429cac3d\nresult = valid\n\n# tcId = 7\n# wrapped key is longer than wrapping key\nct = 58dcfb0e7ec4d3bc8003418d865fbd520c6b24b2bde35b1be5b1c5ff32a130f33d035e5932616083\nkey = c2b9d23f2831ddcdeb456853d4014db9\nmsg = f4cfea98e58b939cc859554385cf3a6c7f8217f728efb431c964786de8274907\nresult = valid\n\n# tcId = 8\n# wrapped key is longer than wrapping key\nct = 4ee47bd68d418586c447a39111e2ec1502ff0f1726ea91c5d97370409d89b8e66e889b638ac40ced\nkey = 620a08f320cdedbf7ae551add348d95e\nmsg = cec34eaf8e67e1ce619ddfc309531c42f16033a7e2cbc4f5eb3a548164e9b291\nresult = valid\n\n# tcId = 9\n# wrapped key is longer than wrapping key\nct = d3b093fd822ce454ebc251c6f21fa71c3858ee7e623ecbfbbf887398a30b40c55d0565c7a15e4015\nkey = ed089ac274f8c7cea2415671a94b5e53\nmsg = 6065e41df14daeeefacac5daeb7674cdc9c1f686013b797153e80ef215893299\nresult = valid\n\n# tcId = 10\n# Round counter overflows 256\nct = 222deadde6efb760cae42fa188310e0c07e7d557529766444a9efb330907d42f0dd8f3d17b3a38bf40d68c095a9cce19daf907bf2c92f1e59b18b277ff0397fc50f45f582db936aa8afb943de01b58abfdc81daef4e038c99e4c1eb3ee447464bb8f89a4ea81e56556cc26c72883c06a7fe850d04347d68bbadc4a06775030676db8cc34aeb07e39c7f059c2bff76a7f2baf076749004ef7189f887f89029f88c5c1d0f5ee62320b423048e2ad8186e63be23c553f5576a40d967e8b527ccd783c41abc64bea1aec8a76deb3e9c9a6656756e1dac38bd25ff008888a5591af763fd73f5addd749794817070990484654a46ef442adaeacab14d12daaf87bcb91661a21593717d9b93529d813ea5fc812d708c0d8e9b68122d9f5e6267cde363780a45d07e4caa5bf14f2334f25b9d177632bb80a82894aa47b6f360b2da1138dedd4331f077c900554c7a68b5d154980bb3517ac20a78a51f6f21e42b2c4c960d31cbd22bd610819182c5e456ba7d7e903f5e60f6e0c4cc014feb4f81973ce48ad6f4dab8da51eb7\nkey = 31cacbb17d6dbbecae40727c5048fe0c\nmsg = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 11\n# empty keys cannot be wrapped\nct = a6a6a6a6a6a6a6a6\nkey = 574957151fc2afe0fa3dc7a9a7da6495\nmsg = \nresult = invalid\n\n# tcId = 12\n# keys of size 8 byte cannot be wrapped\nct = dc26fb6911d71971df0356d6bb9ed6e6\nkey = 574957151fc2afe0fa3dc7a9a7da6495\nmsg = 0001020304050607\nresult = invalid\n\n# tcId = 13\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495\nmsg = 00\nresult = invalid\n\n# tcId = 14\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495\nmsg = 0001\nresult = invalid\n\n# tcId = 15\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495\nmsg = 000102\nresult = invalid\n\n# tcId = 16\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495\nmsg = 00010203\nresult = invalid\n\n# tcId = 17\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495\nmsg = 0001020304\nresult = invalid\n\n# tcId = 18\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495\nmsg = 000102030405\nresult = invalid\n\n# tcId = 19\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495\nmsg = 00010203040506\nresult = invalid\n\n# tcId = 20\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495\nmsg = 000102030405060708090a0b0c0d0e0f10111213\nresult = invalid\n\n# tcId = 21\n# invalid size of wrapped key\nct = \nkey = fe60fc8df7d9f4ebb5416ca4e82182f7\nmsg = \nresult = invalid\n\n# tcId = 22\n# invalid size of wrapped key\nct = 9f\nkey = fe60fc8df7d9f4ebb5416ca4e82182f7\nmsg = \nresult = invalid\n\n# tcId = 23\n# invalid size of wrapped key\nct = dc9e9580\nkey = fe60fc8df7d9f4ebb5416ca4e82182f7\nmsg = \nresult = invalid\n\n# tcId = 24\n# invalid size of wrapped key\nct = b9b282d138693000\nkey = fe60fc8df7d9f4ebb5416ca4e82182f7\nmsg = \nresult = invalid\n\n# tcId = 25\n# invalid size of wrapped key\nct = 0efc635b2d61e244056b9d4591ca6b\nkey = fe60fc8df7d9f4ebb5416ca4e82182f7\nmsg = \nresult = invalid\n\n# tcId = 26\n# invalid size of wrapped key\nct = 4a305dae087b0d24d62af41831338f33ae\nkey = fe60fc8df7d9f4ebb5416ca4e82182f7\nmsg = \nresult = invalid\n\n# tcId = 27\n# invalid size of wrapped key\nct = 82cb927097cf31ea4affea440b0d8ca6a240b900\nkey = fe60fc8df7d9f4ebb5416ca4e82182f7\nmsg = \nresult = invalid\n\n# tcId = 28\n# bytes appended to wrapped key\nct = 9790ab51fbcb850df6764e011ae97c85785bed2633aea66500\nkey = fe60fc8df7d9f4ebb5416ca4e82182f7\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\n\n# tcId = 29\n# Incorrect IV\nct = 0aac329ccd513edbdd6367df67999eaac9e7b51984c4d38d\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 30\n# Incorrect IV\nct = 5a55dc429749ca49bb4ab01d966b19ea9a9e1402e6ab2962\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 31\n# Incorrect IV\nct = 45f533f6072f640eb7e1e512d56072085567f4ad6012a97a\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 32\n# Incorrect IV\nct = 84f284565df47c409107f7a0a71bc370a8ed4489d414b9e9\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 33\n# Incorrect IV\nct = 3941c366554fc896e9fe52f02493ca03d439eb17c236146d\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 34\n# Incorrect IV\nct = 45c9d42363d981d086a972728e130a42f5dd90bda562a85a\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 35\n# Incorrect IV\nct = 037d17859519d6c0728a9eb6e64113e86919decabd3bbb88\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 36\n# Incorrect IV\nct = 1ad10af7f6c042b267a0c7bc4d25d27c003deb50e2cc566a\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 37\n# Incorrect IV\nct = 630c571b7fb8647ac5360a255f9f5d3645795ac45285cbaa\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 38\n# Incorrect IV\nct = 16db553e467d4029d0fea62b2c440e5df6c6591f0497a99d\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 39\n# Incorrect IV\nct = 097991090a156047d4784b757f262e12ce57e13a3d5d286c\nkey = 4f710eb6b5e28703becfc3dc52", + "fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 40\n# Incorrect IV\nct = 3957c338b750a3285eb7b65c9cfe77053dd7d8149f42caa1\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 41\n# RFC 3394\nct = 1fa68b0a8112b447aef34bd8fb5a7b829d3e862371d2cfe5\nkey = 000102030405060708090a0b0c0d0e0f\nmsg = 00112233445566778899aabbccddeeff\nresult = valid\n\n[keySize = 192]\n\n# tcId = 42\nct = 00be1caddfd5ad7697877017795f9cee4bce5a61687a6126\nkey = f75a2f49a630c7dc91626b00ce029f0bd2981d7c74a93ebe\nmsg = 9adbc00c710b1101bdf6a4ed65b32d72\nresult = valid\n\n# tcId = 43\nct = 54e7f278b5a1fb4c31a0d79ac1f615edd910bf22015a0668\nkey = b713f6b7814f98894d7b153974684359f1460213eb74be68\nmsg = 78585f0c49922e82caf17ebc3721b4db\nresult = valid\n\n# tcId = 44\nct = 510455bd9c078ac1f07bb3752cbd04e421b0dd635190fa62\nkey = 13ecf423211caa334ba6db37259a535c20de8ad10fc8c432\nmsg = 4fc75d0f221e22408a37e11265d49a05\nresult = valid\n\n# tcId = 45\nct = 880da5b410f913ad72cc93f46344f1152165bdea14664fd2d3afbd87b8cc5cfd\nkey = 4417fbbea51bdd91818d74051957dd70e135c5cf3732bdf1\nmsg = f5357da9f8fd4a1190f36e9fa09a90fcf14d87d62332f1a5\nresult = valid\n\n# tcId = 46\nct = 27654cf6a63d6004ae83da54c2e5d7b5fad20878f350087ddd17ac44a2be868f\nkey = b3f26d8a22fdd61f709841231fbde695b3f28dddced6d41e\nmsg = 0d0af955d2e3829cc3d643219b301e64e0510dfbc428119a\nresult = valid\n\n# tcId = 47\nct = ad7ca66ad4664f43e4dd09296a6e6f02d5af4408f225c0abeb0d9b76c8d1e982\nkey = f70cfb262c729a18206c8afd74356ec7e049d10b44a6e000\nmsg = 241cedfa64c4e7bec541a2eb4c368269e0f0ddebc58267ea\nresult = valid\n\n# tcId = 48\n# wrapped key is longer than wrapping key\nct = e245c90a6b46caece94f47117d608331958c8f75f531ebcdc902c0213d9105f2155af07daa62d132\nkey = 1639f9f81e53e2eeb677a249e5eced3af108971301601a7b\nmsg = ec3c6a1f1a9585327fe658490c74635e5300876da5846a629398984fb551d691\nresult = valid\n\n# tcId = 49\n# wrapped key is longer than wrapping key\nct = 8a32b9f207ae5aaedb7e8a0d945107412c1bd06999bc5ac83c1f958dfb77ebdcf9d98c60dbd4650a\nkey = 1f22d5658aa685b8ba8659dc342880d5b2399e6a815005b0\nmsg = 50be4c1b2f29a63f44d7fc63737f600f0194ea3fb36e173d2ddd19f218656380\nresult = valid\n\n# tcId = 50\n# wrapped key is longer than wrapping key\nct = 4a5842b10d2db96ea1039ef4785ce722555b3751a9b6dd39126ad363378c72320d83ea7adb81615a\nkey = 3a2f4aa50441954bba5a1836294ce071f9296b23dbed6771\nmsg = 65da02ff21b483a1e39575490b4319e84ae0299f1f00b3859fbe2e74b3ec2aaf\nresult = valid\n\n# tcId = 51\n# Round counter overflows 256\nct = e2192598e6124f2791b2751f930958435bb1d02e98aa1e09781bba0b159435db659fa73fa310111704692c68e16ddf4be06022c52fe9dba6279aad1aeb814125d0ddf33f31e58e625af32305050cfea390d8782d32caac558889ca8e641908208da6976542b40dbd090178e2a6812a436c18a5e891ac8083176ace1ddfee4d382856a59c80c643ecd5c1ab68c66b2b8984ce6e0e386f6554a9cb91d363bb4accf028878ec20b8b2e37214f7b12dbcd78fb38f711a90fe262c78491b9058354e27b34fc92ef0d7028594cb08259f86b54cb1d317ec55f2ef2ab7e8b141671f8bcb1a90bb7d82bc8cb4fb02c9ce430ef4ae0dc847e91e7d4fb463eb9dd87fc9dc9568f3a4ef504d74c134dcb60ca01b36ce10cb467268ea297c0518a50d12cc025cfeea1381ddd7dd63e4ac94890a0eae9dbd8db244625a3c8af2e1aff6a8112c4d3d98e8263588ee1dd9063b709b8ec00474c4ea413a802b8cde814e7b3731410809ed000060fb7b9b0bf8509ef17515f333e868b188ea16445f380b3a7d42774f6456cdf724246fa\nkey = 31cacbb17d6dbbecae40727c5048fe0c01bc53b23ab63502\nmsg = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 52\n# empty keys cannot be wrapped\nct = a6a6a6a6a6a6a6a6\nkey = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76\nmsg = \nresult = invalid\n\n# tcId = 53\n# keys of size 8 byte cannot be wrapped\nct = 38d8238cdb0d9a2da28d6d56194f2e78\nkey = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76\nmsg = 0001020304050607\nresult = invalid\n\n# tcId = 54\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76\nmsg = 00\nresult = invalid\n\n# tcId = 55\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76\nmsg = 0001\nresult = invalid\n\n# tcId = 56\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76\nmsg = 000102\nresult = invalid\n\n# tcId = 57\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76\nmsg = 00010203\nresult = invalid\n\n# tcId = 58\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76\nmsg = 0001020304\nresult = invalid\n\n# tcId = 59\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76\nmsg = 000102030405\nresult = invalid\n\n# tcId = 60\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76\nmsg = 00010203040506\nresult = invalid\n\n# tcId = 61\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76\nmsg = 000102030405060708090a0b0c0d0e0f10111213\nresult = invalid\n\n# tcId = 62\n# invalid size of wrapped key\nct = \nkey = fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd97\nmsg = \nresult = invalid\n\n# tcId = 63\n# invalid size of wrapped key\nct = 9f\nkey = fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd97\nmsg = \nresult = invalid\n\n# tcId = 64\n# invalid size of wrapped key\nct = dc9e9580\nkey = fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd97\nmsg = \nresult = invalid\n\n# tcId = 65\n# invalid size of wrapped key\nct = b9b282d138693000\nkey = fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd97\nmsg = \nresult = invalid\n\n# tcId = 66\n# invalid size of wrapped key\nct = 0efc635b2d61e244056b9d4591ca6b\nkey = fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd97\nmsg = \nresult = invalid\n\n# tcId = 67\n# invalid size of wrapped key\nct = 4a305dae087b0d24d62af41831338f33ae\nkey = fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd97\nmsg = \nresult = invalid\n\n# tcId = 68\n# invalid size of wrapped key\nct = 82cb927097cf31ea4affea440b0d8ca6a240b900\nkey = fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd97\nmsg = \nresult = invalid\n\n# tcId = 69\n# bytes appended to wrapped key\nct = 55dfb2f7e0c1ea04fead897c451c0505921dc47f308c491700\nkey = fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd97\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\n\n# tcId = 70\n# Incorrect IV\nct = 9b1593fd7d4fe25a660bbc1976ea4ab68bcc53f848a8eb9d\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 71\n# Incorrect IV\nct = e7edb847fa91e2deded726edf3ab93da91151697425fee28\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 72\n# Incorrect IV\nct = 1b51a7c033c1efb5ee2994259c40f03bb57d8cc09e507e6e\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 73\n# Incorrect IV\nct = c40b614a5062f5fd049c5379b3e8141614c2da97893589fb\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 74\n# Incorrect IV\nct = d7575ef02df54b3086eb49035eeafbce0e08336e89b35ab0\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 75\n# Incorrect IV\nct = 0d617f1c12485a35917d2a941e949d2fdbf03a346889b850\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 76\n# Incorrect IV\nct = c7df34729174db2e83ee16c6de74d5eb9766715fad049b40\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a8", + "28cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 77\n# Incorrect IV\nct = c3ed38d6f9ccb9bf3c56bb3176f00d3ce9887521f8d4c70b\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 78\n# Incorrect IV\nct = 6582b5f4652744b0537e97e7cdae0f443130140dbaea604c\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 79\n# Incorrect IV\nct = fc9b9bdf25f2b48ad79934c8d34897cdbf4c846f8cb4b11d\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 80\n# Incorrect IV\nct = fc23c7f4fe20aa81105efc1a7105a5316b23399ac792c824\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 81\n# Incorrect IV\nct = 37b4a261b96bcec9cc93eef5b2fbbbe84634f978c5893dda\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 82\n# Incorrect IV\nct = 1831109847d17d010bfcd93fb46f3150cdafd52733db74c221b034fe8e1552c0\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 83\n# Incorrect IV\nct = 2b2b89c3c6b2db4903877ad4622ca33f3a3cb7e6701d1340e6afc0fdab7dbd72\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 84\n# Incorrect IV\nct = 3c6903f37da57161af6706050a2ed747cd55344d869189fd49d2536ff948129d\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 85\n# Incorrect IV\nct = 8a8dc8b131c6b968b60c1dd819a655392d1a96d6cafa48e30fb1146f096229c6\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 86\n# Incorrect IV\nct = 303e0b3602d514a7d52edba3306d7383e8999e7c652a510335a8949efb42eb66\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 87\n# Incorrect IV\nct = 319befbf2ddbb475723fb2fa30f2ae7fc1ceb1e6f361715eca7209608873c7fc\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 88\n# Incorrect IV\nct = 9b3e440341c5da131559959db6b3553a534691162f4f009327bf2c21d6fe5ada\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 89\n# Incorrect IV\nct = eba6cc0959e6a56339b141629840add80f4565656dc687a3b996960c994dfd26\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 90\n# Incorrect IV\nct = b703b6cf4587709353c7e4004d3da61ce5f5deaf7163ca9d6158dde919e0ac34\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 91\n# Incorrect IV\nct = 72549d52d6f4ff912d833c74136d90634ce8afa4f84412bbee8074084d4cecff\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 92\n# Incorrect IV\nct = 1337c8bd6c8a5dd43aba8d298864ffe76ad6ea909f3488157a15e6c46acf2214\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 93\n# Incorrect IV\nct = 4aaffaca5fe85814d040aa2a306ba4d1d44746cfe46c978aa057b53fd25316c1\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 94\n# RFC 3394\nct = 96778b25ae6ca435f92b5b97c050aed2468ab8a17ad84e5d\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 00112233445566778899aabbccddeeff\nresult = valid\n\n# tcId = 95\n# RFC 3394\nct = 031d33264e15d33268f24ec260743edce1c6c7ddee725a936ba814915c6762d2\nkey = 000102030405060708090a0b0c0d0e0f1011121314151617\nmsg = 00112233445566778899aabbccddeeff0001020304050607\nresult = valid\n\n[keySize = 256]\n\n# tcId = 96\nct = 940b1c580e0c7233a791b0f192438d2eace14214cee455b7\nkey = fce0429c610658ef8e7cfb0154c51de2239a8a317f5af5b6714f985fb5c4d75c\nmsg = 287326b5ed0078e7ca0164d748f667e7\nresult = valid\n\n# tcId = 97\nct = 939b3389336fea4a9751bf014ef18011323090e8a0500bc4\nkey = 0dda6da5123e2c37c6fa16ba0d334cd01acd652f8994211751dfab4faac2fc22\nmsg = b40b6828729b456322a8d065abc0d081\nresult = valid\n\n# tcId = 98\nct = 59ee8e5198861237f682edec6ba906526c016d4d935942bd\nkey = d6925914cd06308f81ad91e23073593d99d4e50351b20eb2a8d1a1ac4ced6588\nmsg = 037b27b3dc95b19d15bd4091e320bfe1\nresult = valid\n\n# tcId = 99\nct = 1ab53a065d8f776a08b33e51383071b6f154612116655137bd3b7ec29b70fd56\nkey = 07518a82cbc8da1dcec55f3763a206d277487abd03cedd0b8bef9ee2fb157121\nmsg = faa4664d79fce3c7d2fdd462f6c1c423c2f8e6b69be2e071\nresult = valid\n\n# tcId = 100\nct = a1bf8e73e3fa1db759f0ab2ab0b1ca6f2c85b63d83e25f7a0b5293d0a216a2b7\nkey = ea46991d4e71f53dd624e7fe7fde11944a7c5942d232369b8065d42b8cd2dde1\nmsg = dffc5cf1dd5411d015d84601fa38df5effe885c7f26a4825\nresult = valid\n\n# tcId = 101\nct = 27308a0e1a6c0a1d15d6174ab7d68675207b615df16fcf7a3c69b25f551cca9f\nkey = fdcfa902c6f222f527af84da533b14b52e2615da3a89d1d35708b0cd49f60d87\nmsg = 966b07047354966a703e79607b556032f4f596b7f9206f05\nresult = valid\n\n# tcId = 102\nct = 7155ee932b0358d98182a23f7f427c774ab340a4757d0b6a63facd3de90578438cf03201c3f88057\nkey = 38e1b1d075d9d852b9a6c01c8ff6965af01bac457a4e339ae3e1d7b2ffacc0cd\nmsg = 80ad6820f1c90981e2ca42b817a345c1179d0a11d8e23a8adc0505e13d87295a\nresult = valid\n\n# tcId = 103\nct = f20b9b553bc0847529f8d4379fa909211e68249bd429f436c615c4c4a5d9f1a1968f0b89c5237b30\nkey = c641f1689d81caa8ba37d895272240664054ed974cfffc40e6c5c0cad1b916c7\nmsg = 3fd0ba19955e46749f54d88e99d080b7339d588fe612ec0f4021ca3ca2104270\nresult = valid\n\n# tcId = 104\nct = 2811716854a214aecdd318c6670b9b2a7511713c9a0c0fa805230ff05cf84af795dd72f6c1a44512\nkey = aa0ab9d68ed4a04e723f81b44c0c88d0bcde7a80cfd476eb4b8836d9aa01ec4c\nmsg = 57faa8766f6d6a0aa1cf643f857c150df5b31303b50af480e21c4b5e8c8a15d5\nresult = valid\n\n# tcId = 105\n# Round counter overflows 256\nct = 5322bc62bd8379abbb75f69688b8f00e31962b8f9ae1e89771952d8a2a749e1352ec33b5435a674271b314760ab9f753b16726185ec7d319ac60531355344c1d53c7903000a8039eb40f70564a0ad3f41b2355ea5dfa6a1d46392f1d106a5da569bfb0493bf7c12dff04bafeae377df4bb47cd440b6f60fbab2a54a98551b76273e02cac8d7be9f2343d3abb2a23af1c91a7011c67a7907260116b67d510aabe5c7ca46c1c20f77106c45966583b3e4ed799a47ee19bb4223209265c2b1ac8183a678ff43bc9a3470a50b9ee4d10f60674268d72c68be003a0d9dd6849aba836fe8a1792b81c90e12945bfe1f27a9c6b2af66a063cdb7721a7f23fb30afdbd8b18db377dd1697f157be81c1578d08b066c71b0c5ca7feecac1cdd938cf9ad525f74844660908194b28e54eddb158f6e4c921b811d90db71a92ff872db2250dcc3f847fc752b66d77e33c85084d3fa53b4f30503d2a06e6cabb9033d59fc1dc15e32f19846a039b91597b0ba3141a7d9717630062170117b2131dab77406e9ed7d66b2c754d849c60\nkey = 31cacbb17d6dbbecae40727c5048fe0c01bc53b23ab635025cbac1ecf52ca495\nmsg = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 106\n# empty keys cannot be wrapped\nct = a6a6a6a6a6a6a6a6\nkey = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76a51aac96038ad692\nmsg = \nresult = invalid\n\n# tcId = 107\n# keys of size 8 byte cannot be wrapped\nct = 181ba6a3a4392469e3de98ddbbdd2432\nkey = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76a51aac96038ad692\nmsg = 000102030", + "4050607\nresult = invalid\n\n# tcId = 108\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76a51aac96038ad692\nmsg = 00\nresult = invalid\n\n# tcId = 109\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76a51aac96038ad692\nmsg = 0001\nresult = invalid\n\n# tcId = 110\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76a51aac96038ad692\nmsg = 000102\nresult = invalid\n\n# tcId = 111\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76a51aac96038ad692\nmsg = 00010203\nresult = invalid\n\n# tcId = 112\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76a51aac96038ad692\nmsg = 0001020304\nresult = invalid\n\n# tcId = 113\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76a51aac96038ad692\nmsg = 000102030405\nresult = invalid\n\n# tcId = 114\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76a51aac96038ad692\nmsg = 00010203040506\nresult = invalid\n\n# tcId = 115\n# wrapped key size must be divisible by 8\nct = \nkey = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76a51aac96038ad692\nmsg = 000102030405060708090a0b0c0d0e0f10111213\nresult = invalid\n\n# tcId = 116\n# invalid size of wrapped key\nct = \nkey = fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd978e3bd2defc1c10d7\nmsg = \nresult = invalid\n\n# tcId = 117\n# invalid size of wrapped key\nct = 9f\nkey = fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd978e3bd2defc1c10d7\nmsg = \nresult = invalid\n\n# tcId = 118\n# invalid size of wrapped key\nct = dc9e9580\nkey = fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd978e3bd2defc1c10d7\nmsg = \nresult = invalid\n\n# tcId = 119\n# invalid size of wrapped key\nct = b9b282d138693000\nkey = fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd978e3bd2defc1c10d7\nmsg = \nresult = invalid\n\n# tcId = 120\n# invalid size of wrapped key\nct = 0efc635b2d61e244056b9d4591ca6b\nkey = fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd978e3bd2defc1c10d7\nmsg = \nresult = invalid\n\n# tcId = 121\n# invalid size of wrapped key\nct = 4a305dae087b0d24d62af41831338f33ae\nkey = fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd978e3bd2defc1c10d7\nmsg = \nresult = invalid\n\n# tcId = 122\n# invalid size of wrapped key\nct = 82cb927097cf31ea4affea440b0d8ca6a240b900\nkey = fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd978e3bd2defc1c10d7\nmsg = \nresult = invalid\n\n# tcId = 123\n# bytes appended to wrapped key\nct = 7dfbd7cf6158d75bb5900b3bf1e3871003402a6508b1912800\nkey = fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd978e3bd2defc1c10d7\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\n\n# tcId = 124\n# Incorrect IV\nct = a417671bc62a23c7a65543092124024df72c048d8db330c7\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 125\n# Incorrect IV\nct = 9518d0f99d7a73ed4a502b449c14c285971b0e6177ce0eca\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 126\n# Incorrect IV\nct = f3511f0491bd74ae1defb5307f0e18db864b57b5c404d428\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 127\n# Incorrect IV\nct = 6c03ce779259661c43d41d5d0e45687f874353bba516c73e\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 128\n# Incorrect IV\nct = 8df01969a11c87026535bfccf72b1d064c86ecc7e5227157\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 129\n# Incorrect IV\nct = 8ed1cde228d9c8d046dca65c7a27aef2edf8ae90c705d1e9\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 130\n# Incorrect IV\nct = d69b3e34e9de38d44de1998992362a6fa1f696b5acab3f10\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 131\n# Incorrect IV\nct = 67865122af3294b8da0588775125cbd6dc19d5e5cab97b6d\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 132\n# Incorrect IV\nct = 9f0fa52363dd55df472d867e6faf5da8eb204a1d6d497030\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 133\n# Incorrect IV\nct = c399f999c96a4204325e7f08d6a4de256faf21ec2c007ddf\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 134\n# Incorrect IV\nct = 282082264a87dc35ce1cc5b9931b77d80d82fcacc0927f85\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 135\n# Incorrect IV\nct = c192c90b83003ca96744498014b6ad6bedda837955269819\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5\nresult = invalid\n\n# tcId = 136\n# Incorrect IV\nct = 30a983cd9e69d561acc95c42b252aba4185f8392f2e6c935c8eb105af8082e34\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 137\n# Incorrect IV\nct = 4de9a639b799630b45b49e28dbfc44dabb9843ee588a8cff286b8d5fbd7b32ee\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 138\n# Incorrect IV\nct = d915b2cdfb769d9d82259dc3d124646bbf972b83efd4c2eae9b9f751073f78d6\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 139\n# Incorrect IV\nct = 117d653f480b69fce564f1fe99572492945189ed5af789ce05a2651baf90bb5e\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 140\n# Incorrect IV\nct = 8226d07a2f919e24ada1081c69a75520be895e3a2bda9b805d9747773ddeaa38\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 141\n# Incorrect IV\nct = b0a74345bedf8865348daf45d054b99ce515ea8be136270d1cf71e1cfa7aa4a2\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 142\n# Incorrect IV\nct = a261db77f17f7ec736d1a8be16e5f9ae432fe2a17012e5a6f07c5426a9f0ca59\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 143\n# Incorrect IV\nct = c53acb5e096b54548e1385b2ff18eaef68d235c95b0194e74a2383d3a7a530dc\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 144\n# Incorrect IV\nct = faef482d99ebb180e5bc5e3cf775ba292c2a3b6c44aa4a21ad400906f11af392\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 145\n# Incorrect IV\nct = 73a450b63b07b3aece9d1ae5bf097a3dd3fcf73e3ec2f1bd8fc3b5586cb9bd73\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 146\n# Incorrect IV\nct = d34b6ee184d387c9aa4b2d180ae0a89498014e55fe8e416be4f826fcf7d56522\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 147\n# Incorrect IV\nct = 2af823d1602803740bfa9040c2c4e769a5b6de919d403cfba9ad360f63af1113\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1\nresult = invalid\n\n# tcId = 148\n# I", + "ncorrect IV\nct = dd78ebd3091c55a5da5b24504200f7fadd1b3ac6ad35f814f733e603c13936245d69d83f262f6b1e\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce34973526908c\nresult = invalid\n\n# tcId = 149\n# Incorrect IV\nct = 3d8338eae7de322399e1d1b4a3df54326b242b563612ea4b27da22a041d3c80966911bc009911761\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce34973526908c\nresult = invalid\n\n# tcId = 150\n# Incorrect IV\nct = d04bf75cadd3b5f099c34b27a91e64a8f2dbcf08e8c5c1c9f07a777eeb805d5d0e8c5c01afc43944\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce34973526908c\nresult = invalid\n\n# tcId = 151\n# Incorrect IV\nct = be0c5d193b61c5137a8fd8a6d7d1ed8f0fa28cec516f544697c12add4f8f4d5cfca65edeb1019974\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce34973526908c\nresult = invalid\n\n# tcId = 152\n# Incorrect IV\nct = a83ebcbeb2be9d6807b5cfc31c89849d1343dd4eb22e5bfe9e2b2b3790ad8900601f1f5d54fd472f\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce34973526908c\nresult = invalid\n\n# tcId = 153\n# Incorrect IV\nct = 416221485a6cb98ad1342ea9a12926a9a133ead8bd919323fe789bb8f89a4fcaf81e1be54f9d358e\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce34973526908c\nresult = invalid\n\n# tcId = 154\n# Incorrect IV\nct = bf6a53286fac48e7f25d89b7056b27aa917d5b54c0d3171dff369f7249153bf09da5891eb4dc2d88\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce34973526908c\nresult = invalid\n\n# tcId = 155\n# Incorrect IV\nct = 99d517a1321bb633b0d5f3afda2372d3abf68b41d13cbfdffc78f173b88bc4b97efcab2b2904788d\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce34973526908c\nresult = invalid\n\n# tcId = 156\n# Incorrect IV\nct = d92456bc77a268ef71cba76064a1b772d1fee2ae4f0ee3bb932a2adb2b031796b9eadb51753f2868\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce34973526908c\nresult = invalid\n\n# tcId = 157\n# Incorrect IV\nct = 5bb54630ab8d73a040f0f87e70e263d1aeb2358bcdc0dce6994d0d874452bbd8741b7ec1d59d8298\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce34973526908c\nresult = invalid\n\n# tcId = 158\n# Incorrect IV\nct = 4581d6536039db1b23da50c648777e90c82d6128bb92e28b2974bae1141543a19a1592fda1fbd61f\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce34973526908c\nresult = invalid\n\n# tcId = 159\n# Incorrect IV\nct = d35bc67e62064c34f48150999ba30ded475d8c75978f45737320f23edaaa7a40d7803fc61add34a4\nkey = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7\nmsg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce34973526908c\nresult = invalid\n\n# tcId = 160\n# RFC 3394\nct = 64e8c3f9ce0f5ba263e9777905818a2a93c8191e7d6e8ae7\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 00112233445566778899aabbccddeeff\nresult = valid\n\n# tcId = 161\n# RFC 3394\nct = a8f9bc1612c68b3ff6e6f4fbe30e71e4769c8b80a32cb8958cd5d17d6b254da1\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 00112233445566778899aabbccddeeff0001020304050607\nresult = valid\n\n# tcId = 162\n# RFC 3394\nct = 28c9f404c4b810f4cbccb35cfb87f8263f5786e2d80ed326cbc7f0e71a99f43bfb988b9b7a02dd21\nkey = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 00112233445566778899aabbccddeeff000102030405060708090a0b0c0d0e0f\nresult = valid\n\n", +}; +static const size_t kLen119 = 94020; + +static const char *kData119[] = { + "# Imported from Wycheproof's primality_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: PrimalityTest\n# Generator version: 0.8rc17\n\n\n# tcId = 1\n# small non prime integer\nresult = invalid\nvalue = ff\n\n# tcId = 2\n# small non prime integer\nresult = invalid\nvalue = 00\n\n# tcId = 3\n# small non prime integer\nresult = invalid\nvalue = 01\n\n# tcId = 4\n# Non-prime Mersenne number that is pseudoprime to base 2\nresult = invalid\nvalue = 07ffffffffffffffff\n\n# tcId = 5\n# Non-prime Mersenne number that is pseudoprime to base 2\nresult = invalid\nvalue = 7fffffffffffffffff\n\n# tcId = 6\n# Non-prime Fermat number\nresult = invalid\nvalue = 0100000000000000000000000000000001\n\n# tcId = 7\n# Non-prime Fermat number\nresult = invalid\nvalue = 010000000000000000000000000000000000000000000000000000000000000001\n\n# tcId = 8\n# Non-prime Fermat number\nresult = invalid\nvalue = 0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\n\n# tcId = 9\n# pseudoprime square derived from Wiefrich prime\nresult = invalid\nvalue = 123a99\n\n# tcId = 10\n# pseudoprime square derived from Wiefrich prime\nresult = invalid\nvalue = 00bc18d1\n\n# tcId = 11\n# square\nresult = invalid\nvalue = 04\n\n# tcId = 12\n# square\nresult = invalid\nvalue = 09\n\n# tcId = 13\n# square\nresult = invalid\nvalue = 010201\n\n# tcId = 14\n# square\nresult = invalid\nvalue = 0f2ad9\n\n# tcId = 15\n# G. Jaeschke: \"On strong pseudoprimes to several bases\", Math o. comp. v.61, p\n# 915-926\nresult = invalid\nvalue = 01f51f3fee3b\n\n# tcId = 16\n# G. Jaeschke: \"On strong pseudoprimes to several bases\", Math o. comp. v.61, p\n# 915-926\nresult = invalid\nvalue = 032907381cdf\n\n# tcId = 17\n# G. Jaeschke: \"On strong pseudoprimes to several bases\", Math o. comp. v.61, p\n# 915-926\nresult = invalid\nvalue = 0136a352b2c8c1\n\n# tcId = 18\n# G. Jaeschke: \"On strong pseudoprimes to several bases\", Math o. comp. v.61, p\n# 915-926\nresult = invalid\nvalue = 023c3db80e80e53bd1\n\n# tcId = 19\n# G. Jaeschke: \"On strong pseudoprimes to several bases\", Math o. comp. v.61, p\n# 915-926\nresult = invalid\nvalue = 0504e8e504fd585e79193ca1\n\n# tcId = 20\n# G. Jaeschke: \"On strong pseudoprimes to several bases\", Math o. comp. v.61, p\n# 915-926\nresult = invalid\nvalue = 00b7d84161830e3f6f2231a7a1\n\n# tcId = 21\n# A strong pseudoprimes to 12 or more bases from\n# https://arxiv.org/pdf/1509.00864v1.pdf\nresult = invalid\nvalue = 4c6092d9a7a5462b34e5\n\n# tcId = 22\n# A strong pseudoprimes to 12 or more bases from\n# https://arxiv.org/pdf/1509.00864v1.pdf\nresult = invalid\nvalue = 22c9a603ee84bb9c4cad\n\n# tcId = 23\n# A strong pseudoprimes to 12 or more bases from\n# https://arxiv.org/pdf/1509.00864v1.pdf\nresult = invalid\nvalue = 437ae92817f9fc85b7e5\n\n# tcId = 24\n# A strong pseudoprimes to 12 or more bases from\n# https://arxiv.org/pdf/1509.00864v1.pdf\nresult = invalid\nvalue = 0190e262098f0d746505\n\n# tcId = 25\n# A strong pseudoprimes to 12 or more bases from\n# https://arxiv.org/pdf/1509.00864v1.pdf\nresult = invalid\nvalue = 027a5f7ca7b29ee74d5525\n\n# tcId = 26\n# A strong pseudoprimes to 12 or more bases from\n# https://arxiv.org/pdf/1509.00864v1.pdf\nresult = invalid\nvalue = 008d60a89f3f36cb1fd495\n\n# tcId = 27\n# A strong pseudoprimes to 12 or more bases from\n# https://arxiv.org/pdf/1509.00864v1.pdf\nresult = invalid\nvalue = 02be6951adc5b22410a5fd\n\n# tcId = 28\n# A strong pseudoprimes to 12 or more bases from\n# https://arxiv.org/pdf/1509.00864v1.pdf\nresult = invalid\nvalue = 0292a0068ebb0ed3251f55\n\n# tcId = 29\n# A strong pseudoprimes to 12 or more bases from\n# https://arxiv.org/pdf/1509.00864v1.pdf\nresult = invalid\nvalue = 750b703e68cb957ab415\n\n# tcId = 30\n# A strong pseudoprimes to 12 or more bases from\n# https://arxiv.org/pdf/1509.00864v1.pdf\nresult = invalid\nvalue = 02d0facc78aeeb89f5b299\n\n# tcId = 31\n# Richard G.E. Pinch, \"Some primality testing algorithms\" a counter example for\n# Maple\nresult = invalid\nvalue = 09bdc1c98b9b\n\n# tcId = 32\n# Richard G.E. Pinch, \"Some primality testing algorithms\" a counter example for\n# Maple\nresult = invalid\nvalue = 0ffb48c934842b\n\n# tcId = 33\n# Richard G.E. Pinch, \"Some primality testing algorithms\" a counter example for\n# Maple\nresult = invalid\nvalue = 18444fdb12afb7\n\n# tcId = 34\n# Richard G.E. Pinch, \"Some primality testing algorithms\" a counter example for\n# Mathematica 2.0\nresult = invalid\nvalue = 08e4f37e51\n\n# tcId = 35\n# Richard G.E. Pinch, \"Some primality testing algorithms\" a counter example for\n# Mathematica 2.0\nresult = invalid\nvalue = 179d55b600e7f1\n\n# tcId = 36\n# Richard G.E. Pinch, \"Some primality testing algorithms\" a counter example for\n# Axioms primality test\nresult = invalid\nvalue = 085270bd76a142abc3037d1aab3b\n\n# tcId = 37\n# Richard G.E. Pinch, \"Some primality testing algorithms\" a counter example for\n# Axioms primality test\nresult = invalid\nvalue = 02cb78fe3f36c4f5f05dbe92b82798d5fc18f2bfaaa388ef\n\n# tcId = 38\n# A composite q that was acceptied by Gnu Crypto.\n# http://www.iacr.org/archive/pkc2005/33860010/33860010.pdf\nresult = invalid\nvalue = 4682f52f0b54308d315b2fbec25065506c77be95912b137bc6eecffad8a299b631c55ce068702b1b3e4ce50958994c289b148fb298a8c603a0959cb0ba5ad4bcba278cf4c87e0ff85a62a25c40849662c53d0f81cf9e4431d8c391586629260e558db473997db20108278b1ae374089140d93bc2c5a808ad3aaf212f60bfc93cc0c788149dcd82f7ab\n\n# tcId = 39\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 00f67307e54779cfe9120bf862afc5466c5d6d0783d12df5215c0c981c51e4bfc098e9afd574f51b18c820259b692ec0bf7c9d6e56e9bb99fbd3b7ecc4082146a9d7a5b7bc6519d476c4a9975d9c3e3b12bee45b7accb07a6a68ea583ac2523ef32ee6d01bc766b59c43031f9c6980c9b4317da6825be9f7c5db03283d04c13323\nflags = WorstCaseMillerRabin\n\n# tcId = 40\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 00c1d00b32d63e3ea4fb69ab6b9dee40a17fada46c122e52a53fecd3fe613303f51c07871dc0b5d8d8c1705b484de6bdb7f442efecd7d9f59dc36e495f72905c7619bc4d3706283774e704a3adad7d6c1be42ddeffc2ca5b1c0e31b58ed606f16dc14676e60ecff42ae33e503621e232ba449e91e3a9909e80a8318610aea3b7cf\nflags = WorstCaseMillerRabin\n\n# tcId = 41\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 01c2faadef91d43c9ab1320020e08e2ec3c34012bd0db94a1175170dc5aec26897e867d0b7a7273119fbe1115f02875b522566016f69f319ad5485e7458fcf50205d22ba765cc586a6037be987b6832c46227df19cd8ce0641794b60b73fbdd3c104870ae9bdf0194e772c985536e860b90b7fa3eb205af6b224413f5813836abb\nflags = WorstCaseMillerRabin\n\n# tcId = 42\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 0109fddd44575367466c67aaa921047b367515c9aa579eb60728034ad2d56f10eb01cfadb3ba0abde99f348bc3c70559bc24551b85937ca4c886abc0826cc1c310f14393652c1b4994953881bd2d81de0f2a280839829543f429bc41bf3c6db120bb150173e2707f36d1f76318249851f4fedc39e36aaaca48686de03e6d256973\nflags = WorstCaseMillerRabin\n\n# tcId = 43\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 00ffd0847cdda5a4fdfd2345bc731f1bc77843478950d33b2830ef0caf8deffdbe6309fe61fb67dded6659e433f30363339dbcc7c0832593f33c24a8b8f0e28038cb6edeed58ae765e6884ac0b66b5218cc758e6247269d24be9f91865d33c105219ffbce00c6c2d6391448643bcf5138268f510258f638b90a6c8b53bfc121759\nflags = WorstCaseMillerRabin\n\n# tcId = 44\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 0118d077827c6db85bc61d53063edf5676d6ac65b611d836eed07ee7e1d15c02d999a3eb78ce662edaf457f0f7d9c0a0305acc1faec4170400f0610a797de50ebfb08fd0a5da77144a1e0236e2bc6d8d2a6a719e59df071367cd61275f372e23b1c0187d87d15bda5f71f4705b1c3aaaa8ad951d20cee93274b151f3f9a55bd693\nflags = WorstCaseMillerRabin\n\n# tcId = 45\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 01c09377e15f53b1329b6e8a08bf0f94da27dd29c89be74544d705173a0bdd410935e186dd95ac113732674fe08585690ebe9f749a116a8c64e1b4a281ef0cb28bc70b1639bc1352ff5777783bd72e3b8495c1494ae11fb32bdaba8c80870a3de71c0c27f07983e97500c0ec0321b86c679c53ae7f8c76ddbf6a9cc3ff63e45023\nflags = WorstCaseMillerRabin\n\n# tcId = 46\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 00f35cac3bb3c7cf5e4e50162f4ca889ac7b875f4aac08c5a2433600e9bc64db6c9895aaccf3ee98783ee2cfd8a5e448b265bbc4cda6cb80d487c7967d5a6724fae1ffd27c70f579e62b49f29819c6221d7659fa9364e8e37795d88611506b552a20533f1f6446a35b41a986d304fdd7a39f484331b4fbf242f95b80788cff39cd\nflags = WorstCaseMiller", + "Rabin\n\n# tcId = 47\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 01e9df6f069f5984c080087127f90437f2d38f19385b3592d17a5f23603ec6315c36a88d2012e85eca62a983de7ef27673c605155b5647311840cf8887be8267fbc01cec3f7e0467d5e9a812e5dca577cc8ac93971c84f8cea94637c60c0bfe5d7f4b4f950e60ad077941190afaa905d6d5d570c9b4dab98c32c7abc42346f894d\nflags = WorstCaseMillerRabin\n\n# tcId = 48\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 00c5286502dda772fc22d43b0a2f46823777a91f580f3a1261c47be8e2010a5ad9395e2c036b32813dcdaad33c8f2f4a522593e31ae55ef05c8df8ed58636ac1b9db2b205797d39343e0868ff02bef46d18736bedc6f527730da8594d45d0447e7c7f0e8ca12b285b88aea5e343264874ac22038f5821bd96519d49caf45184f97\nflags = WorstCaseMillerRabin\n\n# tcId = 49\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 01c29fe8b7e63795218563774685b9fe85eada73691a6420c38f0e9f2f802e89c77ae78716924e4efb5e4c639ca98ddb0c9e35cbc6313196b3327672527404b6da8ff7813915702fb7fa254c1cdc167a34170da57606ccff876ca0ce5e920f443e389fc9d0c071b908c6675b6a9f5903d6d22ad490e6476a7e13adcaf988663b3b\nflags = WorstCaseMillerRabin\n\n# tcId = 50\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 01e8648f8abce82efb0afa9861c96c428f690c5fe33b9c9d47f97198542c982e607fd9700f876159ea404983f4eecbaf2a73b262085da4b7b5de8f6e8ca0b712f5e89c0e8f024033879f858f814275a3ea5543fd539e74f5e099769d0d726ebd8bc74bda6e2f8ffabbb7d043f7818cd8d531180a827731fac59f45b2af35d273f9\nflags = WorstCaseMillerRabin\n\n# tcId = 51\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 00cedc5db464312d6f1ecf53a40bde07ae0d5540ef75a4802ff469142270049dbba2b74e4ece7340d8eb99bac1a3d6f0b52ebb41794d3cd4e4a588431879ff81818abc50bca5e686a06d48461b425be62d3c064321429e346960163f897d21b362dc72f306a6865cfb9c8c5682cc7fcd7dc6ac4202e8d070729ef9e3b526236c71\nflags = WorstCaseMillerRabin\n\n# tcId = 52\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 0093ec9e6681f1bc1d6534add99d97e0d907828996bb3d7b481f3ceaefbe8f3fdf15698302ce26feb84c08994079c9f368af8171faf76801fe6dfdaecd587fa0edc751d64ff7e9aa73fb7aa51a8469379bac38e9d7941e0bbdcf658633daea40738e81f5605198b04fe8fd49646da4e98c2282a8041c25bb9894252412472294f9\nflags = WorstCaseMillerRabin\n\n# tcId = 53\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 0129fffd0bf1827f2847f45bd490d5423f67d87eb8254535d57078707e19f2ca5ca10602c5eca552fbdc77e30592b7498254f901cad02e0bf59802f5582cbb3059a1979a5e5311855807b1cbeff86a651dbf3818c3b6cf50092c9b744c4831873d1d0d8c23f23b39517ce435a257e5026cfa0be280672e1bba3074b2cdc6474a37\nflags = WorstCaseMillerRabin\n\n# tcId = 54\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 017232b942eedc8a0df14f5c1ad4e099f192b242b7d3dff09c50cecfe636c72c6c8ba1c65dde4396282e1a1c823b6d5d9c0c9068b39e202dcba26a9d35a00b7bb6bede272820fbbba503bc1866c6ae183d8b50e28555a921121929862ce87ea4ddde8f9d6ff2e17a8ee7cf9d306faa0815a4d46e8dfd4b7ea538b7399cc1c06c1f\nflags = WorstCaseMillerRabin\n\n# tcId = 55\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 00d3768b43c242fa7ac1de856dc7bd413b79d544bb8d38677bc9f44aa116ac5525c3e7fcf2fb2c1d3de61844931f47646b4c5f7de226031c925acbe57f1cd292fec7e7d4fd25afa128704ffd8da910ef18961e081e88d40bc37582b087f1b1f39fe4d23a03ec6b869c76fa3aed7a3606c469069c4fa1d4ff1c6112da16ba9dcf97\nflags = WorstCaseMillerRabin\n\n# tcId = 56\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 011b5119e5c68a710158c36d414597b4e1ccff332d1b437a4d2da2d2269ad2b626fde79e3ba7ed92128e5feaa87556f18ca6937b5a88f4738608d6bb6aacaf4fb719d67561d66dba9690009bcdbea2db4ee48d575722cbafbf1e487bab1c62ba0cde30a34620c7733b3e13d8b27fa035115680fb81016d1ca777b8a2bb7c399a47\nflags = WorstCaseMillerRabin\n\n# tcId = 57\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 008e9ee596ea83d06e1a9a4c3b75fc67f3c01de737be4dcdc18f1d10e322df48e455546ac8ac810129dbcb0fbf568987033cadef9d051f6032c8dca2804fc8d8d6e79f5d767963e4b6d72ac29d98d2520c29c8e69ffa59164d6a1e4cb55b7fcc60c7cb274da264203839873ec2f85f4ae377eeb6189e031b17e8603a01ef877b3f\nflags = WorstCaseMillerRabin\n\n# tcId = 58\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 00879d1e0bc0538cd9025110cec61a034305c8fdea2b9709ba80b0c45891e7ffc69c05285f4680b95b5882ad04210342314d3ab465ee1209d0690613a09bf7df0d48de18a7200e09e8b7944e748413ad64057fee2daacd099dcbb19920429cf9776d939c27c74c3adc8c41f1001f98d5293e018b1dde228abc6e79092331804bdb\nflags = WorstCaseMillerRabin\n\n# tcId = 59\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 00a14d02b57eb643499b92b797687a69aa809fc6c5b56be581de2f8668d38936c9921a16c921a18ae91bff15ab595897416ebbbde977244dbab4779d47bccfec14b1bdb255597bb9bb70e9372fc9afe475b2f73754daf575ef2dd565dfb4216208141fa99df428417d84fff2c54b1fba037a4237bb17b07ddac0f39209f83f8541\nflags = WorstCaseMillerRabin\n\n# tcId = 60\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 00d11e471371b5ce0473a80367ce1b0baeb21d8f8ddfebf1116f3b3721247ec85f6e2786467b63743af0885e69c59d674d2b1a4b655ab15d8003be755fabd56f60ad3a7d2a5edbe942663b882e8c1d9aab7250a45b93feae3f092e8819d5cc2c0eee2cee0c6a098a40331aa12a0efc384e518036d382e4e231de3cf644e8aa8b97\nflags = WorstCaseMillerRabin\n\n# tcId = 61\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 01fe65939e5a1c520be98522b1ebbd40e4c030adf0677c1878b1b0a58b72873eff6f58712e377457ef467bdbb4666e2f8a4733a13a065aa01e3f5f0cc0fbff0e8a2eb2d8d43b9f2a4931d107315943fa7e1d304f98838903897cd42ab948f7c5ce31a9323a35bdc0cae10eebccb5f318a1239f9b9609d45387805524d67e216477\nflags = WorstCaseMillerRabin\n\n# tcId = 62\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 00c24248b5f6e52e0ce8c9068ba2b5839489d1a4849feb751b627e12d13722fd5a00cf4597e63c9bfd1a275b68489539f2b0bef36a09504d7539d0e1a346bc0dc5fa2c65c4c23b771a9946ef5bda403dcd27f496dc02233c05d7d7dc73f6438169a0bdc510bad2ca105d84c2c8bbf2a44c4d7d4d0ead980c13bda71a945d1f3f01\nflags = WorstCaseMillerRabin\n\n# tcId = 63\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 00ab0ef4c1c3be6b7bb39ab0c8a1ffb2c12f8a2fb6c85ea1a8893f452dae161a8decbbc6a84ddc2068bf9df927c0f68a95fff1af8aa9eddd80b0c373b7ea750def2f6df54c0a7e50c16bded071b8d1df6687264e496316be5fcf5f9ab73f5c39b61a876441fb3f467205c92a864d97205032660d6eb2cee3ebfca9649295f6fc95\nflags = WorstCaseMillerRabin\n\n# tcId = 64\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 01878ec4f236498bbf2320c89679639394b03dda157a9901f2e07486e64f1bb52f6b4823db13786296a71d6e65ad6a17308e46ddbb2608774eab3df41221eec799fc13ec95b567450abfbae8aa04f3c6361df3a1c01028b83560018b729b5924ee5f03f1306267eea55ab65a95591b105810a50111c9041d20b3ddd389e8ded20f\nflags = WorstCaseMillerRabin\n\n# tcId = 65\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 01602a125e7578a82e23051dd12ce12be44f2becfccbd13c2ee18ae1e391356786315832fe9fa6dd5488c83b4f560a5a4b9d9daae4faf0b9b21075fa1b470c7d984b2b43cfca22bc36ec305e52fb4b897445024f2ee536164a5a9a4201db4d9247d4e28e193ad3c62657a91b23727804e8f4bca40691eb41f17c68ab65bb8dd2a5\nflags = WorstCaseMillerRabin\n\n# tcId = 66\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 0109a25eac262687f28e560e73bd95be9894bf2a0006dc217e97547064d29be5fae521312fcbdd2949520961abd90b5a2ebcf55780f0d14ebda3c17825089183fee844a3ba0d132cf3db13ebb8f42905bf24374ac29a7b68f93f76dbce3942d4b1dbd91c611d24251b374bd29ae153cb9e23177115dc7003894269328d960cbbc9\nflags = WorstCaseMillerRabin\n\n# tcId = 67\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 01962b71c4824f2072f59c73cedfa26a49bd976bba7014005b6feecfc61c90caeeaa05ca8954219165f073bcdb73770846c97383ad1d47f0cf656830388fa5847ab9f542e26226d3e9c2a90bdc23819333bd13803f7520272e4cfb80b5c54c92dbc2936ac75f426babec5b49db6a64cd6eee14ecff0402506eabffc8bb11ec6c93\nflags = WorstCaseMillerRabin\n\n# tcId = 68\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 0102134c13210c561b22c8f2549e0a1786fb85900e3c69c20905cb46a3f633b7128656ba1644cb6bbfa1b5b0c5a5bed69a7802a543cefceb2132e0db7c596e51b88e62185f3815fdd40e7db9d1aed0b0f135b09c4d90e81fcd4ea7a8e7c150147bb2f0fab2d8a0128f25e1e498813f6dc26722a73a441d6e9ba4f488d96ee6d399\nflags = WorstCaseMillerRabin\n\n# tcId = 69\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 01ecee4b07f4311afce14524ab060a72a7198499342f099f681dd6b8a366bc9550a7ddd3288273ef59f62c5daa55c9c4726c78f08c20e0d9a74208db52f732377bbd8ca8f8f1d336bda6bb2defab66506c0db04bf0d", + "d6f7179f52cfe9c5c91179de1c03eab017d7ff867478e45386955c7a5a744e7f8dacf738c80352a99226777\nflags = WorstCaseMillerRabin\n\n# tcId = 70\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 019fd1a5266cb6e8dfcff2b755624ec26413d25cf53a9d4341ff5c7b0b4e06e8246e6e1063e185b05d90f38637ca69c298d6a834e9aeb06e02afd001897c1fb097c905445b2e6d27750cef01f40d6030f0328eee55241137afead4f8d358d0be0655782a60265f0b9aa30b275a32b60bdb252c95d8d69b68e8a1e07c2374029bcd\nflags = WorstCaseMillerRabin\n\n# tcId = 71\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 32fa78d5eb67eb14a53de388e9d03ae6ebeb7ae017dbae8f594b95f82f6ec380d5162f6f498d0cb61bb14d7ae54fa1b427c2a1d819133161576864a86d039200cb22c5d68716fd0e2b8f021cf25e08506d4ce285536bc6a074edb6d9b4a9dc01fd79eda19efd3b168eac045b6a4edc4c880de430dadc5dd3f32886b88d320505f5f0b064e46be0f1e31c57dd160e89738a4f6897975875564f20f82ecd4cc0db\nflags = WorstCaseMillerRabin\n\n# tcId = 72\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 5954649e58b4eea73bf1738957727ed4f356fd14891d95b81c7cd40a9ae4b9f1a807fc859d4d419e9a2178a369ae734cebf3b6b9b7069570515a94b5609585625a7aab4e2ff05566be39860b1c2e41910a07b46a555299a573c50b82572a8e40d70cd5949c0c5488582cc2ca544265e1e48ec5501fe611ee65de54946f4543ddd94f5d2c100fad681b6390924e3dbee62bf78133bb2ae6d1592fa5c4b0873635\nflags = WorstCaseMillerRabin\n\n# tcId = 73\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 282ca88061946bcd2fa15fecd98e61505b4c98079e5ffd08e9797059673150435ed47f6d94311c9df4ceadce2e13679b4eb1e7120f9f19d7ac393cc090d1885c88136ec24d085ace42e92ab049d8cdf963d8ba7b93b25e3c720367fa9d7d3905eb460c6922f53866fe439bb96f6d5213e66ede6239512bf0c2253ae23c3ff9915dbee4eaa576395e2d6986d40151cd8fe4c9b4d990ba17ec4bcdf6660459858d\nflags = WorstCaseMillerRabin\n\n# tcId = 74\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 2161895b72aff5d2a865dac7e95cabaf7a28010da0dfb075f9b25c189821c99c1bb599d47d6a688254401511cfad26f1d93f254a3be2752a70f7859acad5e6f741848bfefe449072365616be7251781063e8f8934b59f1826341ebd0839dcf72b1735e21f35301313c683d28fb637f6f93453f575330f74e2a0d661ed5fe54816f8cd38b162d5e769c0bf94dfe83e25b6c05b7705a477ebf52ff4deb6bec6aad\nflags = WorstCaseMillerRabin\n\n# tcId = 75\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 71f7dff1a6a0fd66d5228398a7ff1707ed9f83b9b8c660ae57ee4dd40de7493cec1540e50b4586fdda98ee538e6264fb72f51682bb7bb5305285c287f4577023b8350a84fb088005e36121d9d137b16c4528b4a8a3934db88fd27128733b5f9ea78bbaf239c93bd9b6b4b1fb683e2e2ea911eb4da824b5650f186a7304031b62fc145a9a20a269079ba598dbd183f29a2f35a46eb05276b8ac99a8dc72d76151\nflags = WorstCaseMillerRabin\n\n# tcId = 76\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 55654725a248e323f3d4050b87acae89736b85dc8dd45a9c143b001685c72a70996f3ce99f40be4cdb83b7b420b520e7fa001eecd49cd43c31500c7c502e8c31e309026c07fcba386f0905da79d34b855861018af444fbd519736483fa79ab2d02182a9f0c0e514528f38cae7ef7668829b25d58b569027e4f286a71c1da3d9257a72a234ccde58d1604954d99115db265ae13c012125b5f317ab3297e5ca3e7\nflags = WorstCaseMillerRabin\n\n# tcId = 77\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 6af6ed1adb0d772536d2e80f9f048b9a94cea70f6e15f37a6b5cac22794826089a11c8fb421b3bf8c108bd41a3cd7f34d09466aadc8b043a51b0b3e9c18e0c96e4c703343fcf68d45d5f023bf781de530a1d7946f4d2bcde9d7ef44374a2ba94ad56777aa113abb19b57d4802c18bedb58157dcd52eeca7a3837e65aa97d95f3b757e7eec27a5f890f41399aa5c2831f13a724d798aeabfb642a011c52a7c70d\nflags = WorstCaseMillerRabin\n\n# tcId = 78\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 344b4e93ddadf36e039a4e97783a18c3a84f3d725d5f496f0b3632fd15b1a0c2ddf8f97a0f47401d0bef33c32ef36b2819f5d0f72046ab8bdd68fac28397d1906a1923f5ad96483048254e931a6acb5a3d31d4953212aa58c2f96e94dd5393f1e830e76264af68abfed551f3ff4e8d3bfbc6e6cb296befe2b9d694db4d4dd186cfcd6d697c7aadd92277f9ab85e000dfef3085cd52418d0f9b11605a64719003\nflags = WorstCaseMillerRabin\n\n# tcId = 79\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 2947f606c39ded9591b3314918b7fc0586888d42eb0a8d68bfa0890292f83f948280dc92e897c59de2477340c9fb288241737213d63d006a64b5d9c36b010164953fc68b3e4c7d70e4837b707a2b4b3608d878c7e5c122665299c012e2d5b3630b6862b87e4c680cedf13a6fbcc6eea8ce2d1fc394aa2327d6e0f41c4259b00fb8d8922b4a81432a30f7adf6477b5c436102c83bd1896718d8e795cbd5c30b65\nflags = WorstCaseMillerRabin\n\n# tcId = 80\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 2d586d8d3e1a38f532ed17011ff9d397084633faf6690129eac51e092c67217fb23e6d08f9cddbc38f7b3fafc308f23375df556f68f8dce22247da756e8aded669cb841b6be2fe5a22da4c0d06dcc6d6fd899d294ad0f62de03a7057e56ea6836ce8967d929f4144c9955460bb924fc32f5210919c79e9566e0552caaa130b6ab2e9be086fc97659bb2097adb0ddf82cca17b472ca511735499c448a8301f379\nflags = WorstCaseMillerRabin\n\n# tcId = 81\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 4ae1078c81d196eea211f9c4f762a350b4c060b4d3630bf7fb7dddd2739986b9de2422c9902e5870b3760be7b7926d6aaae633cf0ca9c0e78a2ee03fe193675524e0042073d3be737efe994b7bd93382bf8426f454e4a221fc899764f1059fa30b48ba6db9be33c92e312e449d190b3fa2f1c731277286fa363ac8420668239e0bfc26387ba329720bc4ed0217a772ab214a60d8d2d0889d887960383c420595\nflags = WorstCaseMillerRabin\n\n# tcId = 82\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 4acba34e2619592d5cfdbbe195d2aa9eed8762ac0a8336d947c846fc97d1d934c1ff42f1254de674990f76e514be53b2755cfb4ac52edec66a8127685c8e77e84b06bcfeda0684fcbfb20e2ee05c1202f3cb897bfb1c44bcb6301a9843f8e8eed031a1b4eb913bea04f13390ebd2a033ed151ef8b49b511da558e56cf1e3ac89545219ec026b3938ba9732792a1c89ca6d38c3c5e0e400af528ee477ffcf2ad9\nflags = WorstCaseMillerRabin\n\n# tcId = 83\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 3d809b8c90e877efa20e031ec99d825afc1c1920d8b94e460848b80c3fa0a093ddff5c608963ab74f505a6da96b8068c2c2b3bc1676170dd0c2e65adcaf7cfd0c6b0309634961ad0c9b7f75e2f721f1f57fa9cf5d4f41f60b2ad3fc1d213b8e75fedb69ad157e24ad67f2ecc4099943e19ecfa7e1a34abb9f4bb02cf205906dc159c258973267731ce59d16552d372b9b47f0e630ec677711bc13995e00a41c9\nflags = WorstCaseMillerRabin\n\n# tcId = 84\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 3de7d0bda6eae8145cc70591c4b78b1dd8d9ecc4a3d7edc1bbb75bf0e98fd3fb8d5cd4e94e4cd3ee246617b22426ceec6981681af9f7e6af08bc02bde7cbfa13301f7b88f607e1751285c4a861af2ac69f20d2d600e27b0de873b9ec7bf2cd0725b31032932f0f817084b347852613af9977931e2b3132a523dcd87f545805730b34db29c8c8dac9df8a50f5aa1e36a056ae41b01d04cd9574acaa98203d84a7\nflags = WorstCaseMillerRabin\n\n# tcId = 85\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 5e2a15c7d9bee2668dfd689d027bcc37743259309457147ee7785bb3960dae3c8126655cff9e1302086adb3d1c962c3390f50ca3bf5f666e8a004930536c0bedeef4e8bc3f4dedafc3168692109a239a7d4fbd3aef9e6e0c8665c6379caa6ccb05a6f941782379fb13990f2bc104dc7e0007702c7eea3bb7ee42ffb5d570570b2f5409ebe76d7244b1e8392ccabbfda22515beb0bfad6c006c2a02a5e8526763\nflags = WorstCaseMillerRabin\n\n# tcId = 86\n# Worst case for Miller-Rabin test\nresult = invalid\nvalue = 550fda19f97cdfbd13930911ef6e9e1cb2b7b5215a35c215d51ebffeb435642174cbe998f4451bde2d4bd2ce92ab5b9493b657f1d77d9ad4d348550247b903906109c608ecba7f88c239c76f0afc231e7f1ac1cee87b4c34448a16f7979ff4c18e65e05d5a86909615fe56587576962a2cb3ba467d9806445a0f039907601af77ba7d07578eff612364fbcac11d35e243734aa6d9a6cdcf912a2dd0a12ba7e87\nflags = WorstCaseMillerRabin\n\n# tcId = 87\n# A strong pseudoprime for the first 46 primes. F. Arnault, \"Rabin-Miller\n# primality test: composite numbers which pass it\", Math. comp. v.64, n.209, p\n# 355-361.\nresult = invalid\nvalue = 00907b5573c3d72ca5afda9df723d24066410e3d2b61f89c5c600f90732d0ad7db06a02e209f6792b609fee2ac6f3d73a5805f2b30642d1e2654f7ffd155153e5fbdcb17c76c27fbcc15010ccbfa7a1737cdf032edd5da7edebc9703e51572ce452c2319f1d91bee276d3e1121f9563b1700448ff37346b5a88098c9a682a59ccab86401aeeb74c8ce45dbf8b5\n\n# tcId = 88\n# Richard G.E. Pinch, \"Absolute quadratic pseudorprimes\"\n# http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.210.6783&rep=rep1&type=pdf\nresult = invalid\nvalue = 19bc037ff6b1\n\n# tcId = 89\n# Richard G.E. Pinch, \"Absolute quadratic pseudorprimes\"\n# http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.210.6783&rep=rep1&type=pdf\nresult = invalid\nvalue = 01933ecb87a0c1\n\n# tcId = 90\n# Richard G.E. Pinch, \"Absolute quadratic pseudorprimes\"\n#", + " http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.210.6783&rep=rep1&type=pdf\nresult = invalid\nvalue = 021229a85a2f91\n\n# tcId = 91\n# Richard G.E. Pinch, \"Absolute quadratic pseudorprimes\"\n# http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.210.6783&rep=rep1&type=pdf\nresult = invalid\nvalue = 032d4a135c4d51\n\n# tcId = 92\n# Richard G.E. Pinch, \"Absolute quadratic pseudorprimes\"\n# http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.210.6783&rep=rep1&type=pdf\nresult = invalid\nvalue = 07277d9f8417a1\n\n# tcId = 93\n# Richard G.E. Pinch, \"Absolute quadratic pseudorprimes\"\n# http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.210.6783&rep=rep1&type=pdf\nresult = invalid\nvalue = 194f\n\n# tcId = 94\n# Richard G.E. Pinch, \"Absolute quadratic pseudorprimes\"\n# http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.210.6783&rep=rep1&type=pdf\nresult = invalid\nvalue = 0149c3\n\n# tcId = 95\n# Richard G.E. Pinch, \"Absolute quadratic pseudorprimes\"\n# http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.210.6783&rep=rep1&type=pdf\nresult = invalid\nvalue = 1d7503\n\n# tcId = 96\n# Richard G.E. Pinch, \"Absolute quadratic pseudorprimes\"\n# http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.210.6783&rep=rep1&type=pdf\nresult = invalid\nvalue = 6c7e23\n\n# tcId = 97\n# Richard G.E. Pinch, \"Absolute quadratic pseudorprimes\"\n# http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.210.6783&rep=rep1&type=pdf\nresult = invalid\nvalue = 00f1f8bf\n\n# tcId = 98\n# Richard G.E. Pinch, \"Absolute quadratic pseudorprimes\"\n# http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.210.6783&rep=rep1&type=pdf\nresult = invalid\nvalue = 0ebbb74637\n\n# tcId = 99\n# Richard G.E. Pinch, \"Absolute quadratic pseudorprimes\"\n# http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.210.6783&rep=rep1&type=pdf\nresult = invalid\nvalue = 127c6e3a4f\n\n# tcId = 100\n# Safety in Numbers: \"On the Need for Robust Diffie-Hellman Parameter\n# Validation\" Galbraith, Massimo, Paterson, https://eprint.iacr.org/2019/032.pdf\nresult = invalid\nvalue = 15179c6582c2a8c42af5\n\n# tcId = 101\n# Safety in Numbers: \"On the Need for Robust Diffie-Hellman Parameter\n# Validation\" Galbraith, Massimo, Paterson, https://eprint.iacr.org/2019/032.pdf\nresult = invalid\nvalue = 00800c6ed22988e8353348f28123408551ab4ee482b7961786ea4d90ed7d48bf4cc5bb0d7fbc0346e9ca2dc215540460df3c24bdec561ba766de6d618ce42fedb4fd84a67c5ef94323bfe88d9f55e1b111151edadda5a91cc0056b78c74770ae7f5a1af3741c92af4d87a70f66246fcaac1af0556b0a0bdd511822a01a4b897f0d\n\n# tcId = 102\n# Safety in Numbers: \"On the Need for Robust Diffie-Hellman Parameter\n# Validation\" Galbraith, Massimo, Paterson, https://eprint.iacr.org/2019/032.pdf\nresult = invalid\nvalue = 44e282e671aa0c4f85ec68b2447bc29caba0ea0228b2fe7b08cd420955280bcf0ad99a0efbb8688b3b71a90a8f6e4b01911c689db474ff3685813fb2c943ce664f32d2dbc3c07387dec550207461270c323ef25c0992449e142ec3d7c36cb876492ee6a8593c4aa8e992c2f4cb394a88fa7aa9c98dd1c9e18bcf280332fa934b\n\n# tcId = 103\n# Safety in Numbers: \"On the Need for Robust Diffie-Hellman Parameter\n# Validation\" Galbraith, Massimo, Paterson, https://eprint.iacr.org/2019/032.pdf\nresult = invalid\nvalue = 00b310aa4e16f59e55df118739db5ac21b65979ff5acd1cd4839716a63eb4ef966afe8a04a877548fa281a252c8a1cd4e62077f2ef5022e855d60d06a24a91cbd042323926aaec1f75fb4cdc4cbaff3a4275903c226d5982c22740e17d3e0bc7bf5bc23e7273b3bf86cad8498e79ffc43054292f38ee035fe9f67d6c542631f833\n\n# tcId = 104\n# Safety in Numbers: \"On the Need for Robust Diffie-Hellman Parameter\n# Validation\" Galbraith, Massimo, Paterson, https://eprint.iacr.org/2019/032.pdf\nresult = invalid\nvalue = 008126e1b6c59a80581221ccb272046804dc8bf7a2893ccbad9e61267f9c56ca5b\n\n# tcId = 105\n# Safety in Numbers: \"On the Need for Robust Diffie-Hellman Parameter\n# Validation\" Galbraith, Massimo, Paterson, https://eprint.iacr.org/2019/032.pdf\nresult = invalid\nvalue = 008b741e1c47493e2ac2bd5f69f37c01ff0ec6a28e4ff91fea2ff24e2fad1b3369\n\n# tcId = 106\n# Sorensen and Webster, \"Strong Pseudoprimes to Twelve Bases\" \n# https://arxiv.org/pdf/1509.00864.pdf\nresult = invalid\nvalue = 351591274f9af9fb\n\n# tcId = 107\n# Sorensen and Webster, \"Strong Pseudoprimes to Twelve Bases\" \n# https://arxiv.org/pdf/1509.00864.pdf\nresult = invalid\nvalue = 0331ff3562a8d7ff\n\n# tcId = 108\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 046fe40ff28041a690af557734e885052b879535574af06db2b787f926e85880060199697023504dd9c0d0e23b7e01e922538c586d676c61c972e1356ff053e78fdb481b7e5909c7dcf82155d713e915d8cb694a2f46320cb10868f03b98566022d225a97f1ee3cc26794b1e481abc61458146c48dd452ba81d06fab826c3ea58585500154d36c9076b0e1fd3d47222d2e8ae28fd5586818db16cc2fb9449a399ec9c22551448bde17c1e752506464424123af8de6b690f9407aaf52d8d279d11292fca1c32d0d9c3adb061f530fe10eca96e2bb2e4be1f6df1d7130aa21f78d31a312af5bdf56660247d6651168088ba0f1a7e4ec202f8efe5eade78726abf365c735736f578a57\nflags = CarmichaelNumber\n\n# tcId = 109\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 0b23c53824cc42b6875b787be423bd8c8aef90a1ccd18f041c8d6164b94e33a5c431217f4572779ef6475407474cb7ee0f49781dda2e903f92f5fe0deb0dabee93d47519b8c2633724e2d2f24062dc79c53add5dcf12a90f389ccd242b82323da265c6db54acbda0105dcce948c5450620166cd27815e22d3c1da9748d4b8640a4a0fc8ba0c11d0ae8965d436539e331bfcb712e4942af901f8e5c5a7d860b92afcb2ac7edd96d715d1d5ebd57232fd74c8bc2e18786aae081704a22efe24b4723b8d7227dc10d5c3e9be23bdd5c646d3f5ca53a3a725bf12009ceb98ed6e83f6ac611a0d582116f4d4caccaeaf150234a88b81b126ec1452dc747f46214d9c01b3005c2bac5fca9\nflags = CarmichaelNumber\n\n# tcId = 110\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 2085249c586a279f9474255a00d50a111cbe29b474218524fd3cb75b69e0737b9598905d046ff24235075e6df5a07a56e73cbbe0093e19386fe253de96569470a474a843a0211a17013e9132bb8a6f981a18d84b4472985936b72e453401b55c3fe3e7b28398964e2d87788edc03901f95411cb4ab849604caf42a924cf2eb11cc21336efdfce8ec322d27d2744eaff0dddf4ecdf6593485b14d7e7ff50b4d30f4679bbeb9cc0a26cfbaedc0c77c9dde1f54b21b3957c72f396bd7c7e2ed236a3b0dcd763ff85ec0190c7419496d4769a5329a9e8963ad3c9326e46a14b888a18c063e6afe7f350eff3ccea8c630fd4a024c908fa8248fe7cf1c3567f56ee45c1963f4b31225e6c3\nflags = CarmichaelNumber\n\n# tcId = 111\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 3dd0b362012faecad5221ed17f9dd0a0b1ea8fc23fa1ebaab3177201f76a8121bcd0310c0bf262bfca1b8f17a5eac72f6eac1102e7d68da9e8374e47dfed6619f39a1f51fee008288c72ebf3e0d7f4484d5d5b12a74510793c2200e51f8ec89e45a41b8986aad68ffddf864f912ea12fb889d937c237efb6dddb49ed6ef02e1d1612926c28a2c6f734350d3cfa600f2138dad662f835ecbf166795916c9347a43bac0dc95ebb8b75d9111a1e1efd8f7f6cc8ed276ad027a21090b41699a1b60f5239e7e7e51ccd9f85d10aea334a95fd09b5467c5f6da9bb10e12f22a577b99625be9c7b8046930cfc16ffae77c3733f528d0aee48421fb658d62deee4126d235759f00dfeab84d7\nflags = CarmichaelNumber\n\n# tcId = 112\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 03263db7214fd0fa5ccb86ed39c03270e0ba52252d80649979ded94b1cd23494533f7d63b47429baaabc9113bf56a785242753301e5a89bd0dc556a173ec596a5f4b93def5f9a1af18bcf228d37b8f615e0feade9b26d498946edad3bbb46183d2e69296a8d96ad6c1397f1e3a64d55c98fe2dc0ce73c3e15672f53e7203d4b658ef17239c4f45b06fc9e30913a8352962e73a47788abc4db223a097ca7f8eb6b404598ca135455758966e6975ef35f077dfb053007a3b63b42f17dc2f4c251aa07ad4f676b2f3c667ff5640470de7fd353e6e62377b0e272f9704f5d4833a9cd6affcd54b0639c594f5f7f1a666c26d6bde51a8590f40201602bb3828225407833a284e618faf89\nflags = CarmichaelNumber\n\n# tcId = 113\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 0f8451854b84d14366c21be5b7b331d89b1b83c989feaed6430c5e2a85acc3f2b1a09f3c202a99d5b92651d7a38a92059a9fe15ced0358fde59b492266f69dde4f8301d3e7808d3b9d023fcebffbad603908029251ed8a017effe2427527461d7e0d768bc3d726f540eea4cc1de1905301f435bb7ac49175d7bc7a5ed5a8139d5aa7b02d872c982db49b726ae82908ce331dd74c9c8d8056edf8a366e35bb22189d097124588fa9e84f6b8fc2b870851975e280f9b5cdf2f8b7c780454a2129ce315e74ff7e46961404304725303f07c148bbf8eb864ab8f89f6ed75ea2d5766250659f1e5a2c11492869ab3eb8d880f73bee69c7ce27702fedc1f672186df29d6c579fbb7368d6f\nflags = CarmichaelNumber\n\n# tcId = 114\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 02d248d11dfa04ee4f070722df4c1f03467dd32dff2d18d69ae32e6596567c28a3e21dde873bf6f", + "3410b91a70b8a827bbbc1fa88f3d9c192210c1ae548086023d3ad5a340578af38271ee5bef9e0630b37eb56175cb1bc76cec3cb582bb88fdbe15d5190a5e5ebea44550cb0e2ec9e13098e210910ce2c6372d7a24497e80ebf872e492affade18fc4efc5c2cd34bfed582f06f0da6e969122f22057ce7a9a3474e41ad160db119e82f044319d4aa26419261a1bee786f6003bd6ac854583e7a5489ef1685040162cda798e079a2052fb910f2c36dd9780882738a526a31919420502614542514bf1c4b010ef32cf2e549b0551fb7e0b89cf48cad35ffa29310743d4224fe3ef5b1e5\nflags = CarmichaelNumber\n\n# tcId = 115\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 04b379213847bad82279fb3dc54d60692e9c128c2e0e5ae46d8388115ee6bf47a922c71e02f2f784e30bd81f56578fe16d901d4ac6060a62932e2dc8d349e1c029c98da5c558ac7da55f07e4422902420fe082018cad6f0d7e024318cb3b8248c87b7baa63d2eb1ecba32bd8051f53c285aad786a8eafc0c05b9d7e365495aa8f1a3afc1301d183be73b689b306c3e1851dfc7c91b88faa3e81b29e23c8c2ae86cfea506168b41eb3ab2a2e19eb4ccf6b1dc73055ce8eae17671110f365e7cf1db7f9a11d66ae816300765868b944d945bedbdd3a275e7faf6ce6b84f2de0a923c7bbec4c6e8f47522eb2fc1bad0f73a96345eb133b9436c505e8c2b8382e067c08f0bf33d1822a7\nflags = CarmichaelNumber\n\n# tcId = 116\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 00ce30bb03f146cde0da64125f5d4df15d9b148b73caea0cd30bd06d6c46db3e86646994b6dbf12fe32eb708862c0e88000b2f44cbeb2244ea4920b15d82852b3b83ca6fd9676615b1e5cd2f4153854e48602684be12254b6eda528539c0eba1304bd37f329568636335db835082095ab4319374fb2aa0d61840ae25dae3d22d5f30a368f9130595c6edd667f0e6051bd0abf7512e973d2a7fc95abe4da8bdfb138740925d2ceaaeaf18fe2244e656d3edf46f6c1c40d7dd44eb116d321a33a48d0641294eeda8759ff5bafd3301b7b916a089b82a725b15dc6634db88dbc092d9dbed575676126f0a60273f24759b24762926a95669148ae8138dee6d84d242a5e9f2b1cb6dfa1633\nflags = CarmichaelNumber\n\n# tcId = 117\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 01853dddf18e11020af425c8fb280fb606868aacf59fd8365db931779f858d60fe61fa2441591e24aa4e409dbfce513833619710c68e1da623b9a6e5c594f8cb8fcdab698793529d70c4f0079e1ded6e16aa1b42cd820bd72eb719185c61596db069989b88a8cb496f05e6c8b1917db58f145a679468b6406e15b76b25155402acb4742702e8a5d212e3fbae3d4ff06b91ce6de68e9fda7c5ccf9c591aa0035529fb1c8212a35d74ba5e66cf60ab62c47e7d3a53babac9d4406f3ebab673d2688868b301b7da61e3ab9d8ed91b874a68a3678db9481ee2efb17731c382d232a6303b901054a7b22edc92e31c497034c824b6f065a008670079e0c4564684c986f141d71d0a288a038f\nflags = CarmichaelNumber\n\n# tcId = 118\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 02556ed72094c997f884b315d0355be63eacb02a918a75907cd65d8b9f105ecc13412a8b4f7a163fd00f62ba434f42d90ff5b30367e9cc21122859ad48b498cf72fb0357672ba88e362a52b211b5b317bb6300f745063bc3685a7f4ffaff32018ecc80f44cec94faa3f35babb50de479433a084662009e70ee4258dd6971aa0973002bd507b4a20e8befde99149b4b9036191149399329e39629b0ccccb5b1760c5ab6f50c32a3b2c1d5f85ca2d33a926ee7c7b35dc363d44d5062edbea7051c4aa38064c196394be4b1b16da35131b02c04bbfec11da64538f3922a582f423071893c129def2be77c738cb37d4ae35623379f6daf129fb44625616ddd886ba1a78c12258f9af7bd\nflags = CarmichaelNumber\n\n# tcId = 119\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 078af4b6e56f391741bfbc899f3fefd5e20748e7816657e70318f16445f27366f67b931062a8716e3545024edc4d6bdf151f59770772f45fbee812a3056ef42583f37b6f81add2e0522dc11d23f06814f18b379d139cd3773d3c0bf5aef4c82f1dbf69d34180a7720a029f6b283b46cf045c115aae9e5a403b830000c42d592ccc42fb2c6233466e86efb440716fbae0e696114b26f73f8c42f90dae82171ddf96e0755da67c788ef523ca0cce19b432200af05b7314639ac75d26b77d86e08681917ce499f71e8624607217287d0b45898cb69f1323f43abbfbbb758ec3afadf998d27bf30518c613e796bd5f1b7170dac0decd5ac7ea8bc552dc40e2106ce5f793e32bec01a209\nflags = CarmichaelNumber\n\n# tcId = 120\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 0b9c27e0c46f3de793c85f2840198e51d3c9550751a2dbd855b364bb4da35fa13871bcff3a049631bf9586c5b261626be4e9ed8865b4d9dd435b8b4731c5c9ee7fdf298e2bd6f7a661e360cbe764a7b7a3723fc8df5181b406bfb787dbc1c2e1586f88261af47c8997e71e79a5ebda4e01d5b862f4823e919c4b07a3e1a94acf139aac80d490b8af449d88a9ad1344afb05323d7400a53d17d28e8495ce7b17d182872eef67479f99cf2e8b9abc967618365a4154b4004184db43cfe2476de3f15301708f576712e8bdbf723857eaec4eeccabc8763e5ba2435c184c155909d4ceeb7e34a8fc0acbca6decf8bdd360c63ac4f5bbc307ff2a7ea9901ff48c12cde5b7544ffe9ab55209\nflags = CarmichaelNumber\n\n# tcId = 121\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 3c30f69630518ab86d506ccb13f843e64e257e135e68aba14def5c7ca87fb23f606d9a21b43825d46d3249372f6a6734741d9e2a8761c43f151defb35f22a58223a4ea1b512da6741523247dda566b8ebcc070691541e58293b39b3ac06d4055a652d7e599e443ce5c59067700caf6c5c0a9f75af9a1ea7ff95720485fbdd3eb9e3bc28bf26a7bd1f8afa77c99669254e5b88b056af64002bdcd6e1ae8186033c2ba2a92a2894d6a4c1ff15bbf70b8a5773750b8b96976ac93ef39f50b9cd3c54f81c65953629afe6cb0944249d0ab99bed92e57b79244948d03681762661c308ebfd0cb89d6e7925ad2c687b8f30b4536766fc28bfb8486e3791055604b3ee95085cbbd0b328f7f\nflags = CarmichaelNumber\n\n# tcId = 122\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 41307dac271321e285ffc17e39f2288c668bccb8c967bcbbf86cf833709c6245ee0d7d9c16a65fc414b94ced362790411f378e2221b8522c57da51379f50323f2554ca3ea1b79145fea625ccc2df919cb31a06ebbcd636e00e293da1dd5a6b288fc3d5c5e68491beaa8be6fc815c64dcec6e12963c3458fb57090d6c2c2c26b77606c593d711ec498727cf7fcf362e46f86f24ce85df786ffd302e0d927955e691c5bf2a0ebd9eb8c2742fa8648f82b3ec179b1531749f05cfe67f3559f371bde2627542a7b17262d48fe630fa7c59495cc7edce5489319df977405fd2042ab0a56a62d478115013eab1eac6b37f6de1ae7591d4cd15fa344b05bdfd996c6a200bd2f588daa779\nflags = CarmichaelNumber\n\n# tcId = 123\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 131f432c0f4e8f16b2e068bd41500f4ce67285268d21a1888ed5c13225a2890e17be77444f9c9ebafe284c2d36c6f66fe4e3ea5f64092eec66dec3c6d1b80316517fb0908cb67d6d4d783dc98b113f456fd6fa71f066e2e9ef2d5b665600901e6c4f304b2c230eee34c3516bbd547c45d4af2f41dbb6fcb6fe60c76285bdabb82ae6cbac84119d8783a7341fac7872629830a20c17cf5131d2d5d0474a42ac4972d1ba0cc5a18c0af70b6ec820b7d2dc34b94281800112ef1b676cb06ff6be14cd023c3c8e366d04d14118d7299d3aa10986dd1c2df41f19df9cc44fd7c2abf22b59693303555b33210c4ff4d120a4b8f8559e3feaab4ff80b0511f296db95f67ad6a4b0e886f7\nflags = CarmichaelNumber\n\n# tcId = 124\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 0735440b7d3e3aa4be783bb912f644624fb7da694d092d0d3df1d5892dc3d40f96c2e5b5fd3b537a8f6c12b1e1b5931ea92a7ce957f5d08682c6828e3f864e29dac8c2f3f6a4cc1d3c58eb5513c4bccb9ef9da3ff6db38547563d34f94299c73baf7db8bab5a9ff94edfa55d100bc1c1b1a17f75afa619c577019304887914b70fc72c25c7155085dee797fb824b5cc1d4794c26810662d471acdc625949566d06b734408f47a22ee2f9d3566a200df16ed0815ba6965a1ce49b91708c9c53f61db16d102a6fd3d8e1de82425b50d0ba726aadc4013ec0aa8fb0d0a86ae9b025c56d99c9351c58987e89865cf029e4758aee4b03d2e4962ab1e702a46a95986ea380ae3a5e4d3d8f\nflags = CarmichaelNumber\n\n# tcId = 125\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 027b903357d9edc25b5d45218e0ac3efa2851ea54d84ec92269fac38e533e41ee68a36f86e96d2582d3bcd16afcb7fdedb0a58fb7ff8c94397dd1e1abdec786a4f94fd3acfe15a50f045c2b7bf614612afc4683e0d39f5b100237f52434dbb44eb264da762557cdac6f4aa651f0fea7a9ca7a04952d6f9b0031f2c2f318325b4b84435433578478cfc215506e9a524a8dfd9c7cbd71c81151bc25681261da8fac3220ab32c5c4cc4d94d0febf6353396c6324fc5ed2fffbe6155a63dc74ec3a67f4a38c6f138d91876783d1b9390743eb1503887b041a1f47d1ff564506543ffef691fa56794ffc4258ac0e7aef7e5ecd0749800c68c8835fc8a3e7118166050bde3e9a4e110df5929\nflags = CarmichaelNumber\n\n# tcId = 126\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 74e23abe7fcd90a7c0744204a47059f8fe6f4a9d9fdcd011539c97919129f6f46f310ad14f3866d7e82be737cebbcd72b4f1995941e1ab96db7c563444158bef8b60de6b98aa76549fa9eeeee8018485bc55f6f9bb8621321072283d9736acebf0c189453033879fd38f141a316a80f6c2d5d2df7c03165ffae733ac0f060d9d5969446dcb5ab8cad9853486707c1b373f4144a61d1a17a23b3f1171fd06359b98a3b26e4d8f4cb7f83e91bdf9d7a271aec906f596ab47a001c07e78758f7c0ba25857260e3f91cd21462594138e6bf84cf1c0cf60a8ece8cd2e53e6ca73305428af507326babdf37e29483bbcc2b6ee7b058c7d9fe0b407ed9b491ee85e001a4dd9175a5047065b\nflags = CarmichaelNumber\n\n# tcId = 127\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 010ecf0a6d6fdc6b91c46ed", + "7fba35496708c494b8772bc007bba48958a55e584a40c9a34598c31ace09afc982944c860f6794d5f91f5d07ac3f79758aba4739b592146dfc4aad9bad99aeabe97960b7245b3e62e04f49cea54b33ab2caaefd84fcc202902da5e35ea446c0057d6015833f4e63d793cfd6192cea8736c0ca4a6c4a7a9cf0d3c8a5820384ff1728ea09900c0b2c3eba1fe588719e7d1ddd750508b28b4c5fed49a03b250a424260ac27ad46df6b08554c09b75f80505c1f31021fffc5118e40f523fe2ea437025acf3a8e6a23ea6a2863b460ffab45e47a00c5f8a01427e3986cb7520b549db4aafdc9277fd122787808b519d4d7cad2d225b5c85f253e9b5aa19d7625\nflags = CarmichaelNumber\n\n# tcId = 128\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 01a097c0a285f02b54ba79a7ddb126b709f41b47bb9d8913fcffab4db0f3ba01766b502e9b3350bbfec70addd52ace387622abc21095eb7a019acf6873b9d2074edcca2c5eff5998a3e984dbee023a71d62c0bf9c771d84eb16dee06fbeb7babed577e77cab8785951af65086fdbcbb15f2e1c018192a20d6add44db22cbb14edf2a140cc04f4dadf8284fa77fdc780d9ea34eccba9480288b6b776f09f7e7f4b9ea702359c5fd3cbeff5469530413c891d8df081f9a25d65173b14b313a8c3b75f97b56f053b879f7e31b6d5cd093a47227b2a16afa4af36fd2e91ff1827be9b5d59f537082e535d59788eedcf07c7a61431bc30c55bc9cb93db60fbc7c747badd057908fc0fa0be9\nflags = CarmichaelNumber\n\n# tcId = 129\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 05dd50ba142f4e7f831ff9ac6f4dc4a4582d245cea39319308c2dac8ff1636314b0cda157d0d5ce8dca3dfab608922d9a7071b8478e4e5311f7283d30469be556a5924bcc85338f1f06a4da7e13fa7dfde9fa6db76ddc5e558619d5933a2022d633f1a9ddbb2047c8ae585723f04a69e8c2e01f09e9ee53d3bab6d7902893d9ad725e08b0ed4a25b778addcd20a9439da8bede1a96cb7fa1efa149d047bb08771b59e22763ebd098ae394ece2912d5b2af85f2499b44bd4ea2878021a33a3f305ddf9e1860bf670fbf72d1f09ccbf87b00cf996a719d5b5c2728ed3963e13682784f00ca7b6f96eae3879923108e6432fefd20481f72dc6c6d10ca95db052e0c54e294283e68248ce5\nflags = CarmichaelNumber\n\n# tcId = 130\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 01dab8d833a71ed5abfea060c1a9f2ae09ee0931516fc1f38c14b959cddd92c3aef0574b9f9c9f2991c38fe43a7536c081e14e2b87b7b0d495e834650ea9e466783d4cf3068382cf8ad00651669959feafbf336f4be62bb4dfc891794e097ea53cd8f800d79818127258f89a7e7d6b3d05e1e3f0da7ca6d1e343d24f82ffa9d96fe2db279d2809f0b6482262d53d32677f57500aa703e5ba9df500367ca255d051d7ff7018fe687c907a2520a2b992cd4f7a10b70b1ba3f1b2e5ab07de0e06de76affc27e6b29aa2730198454a8fe529963c27260729c8fafc6e14594604d8e1046ecb7f88d8ed100280f42feb39058f17a5c239848d08b85afa976efadd0711c3253410eb8d\nflags = CarmichaelNumber\n\n# tcId = 131\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 08f969a48c87087c160937ab35e3a80a04c58eb3620eab93184c7e1e2cff1d958e92faa1c3ff3bc17360c15f221aeeb6af889a95df029dc5c4f9974fb77c86601a4b13f872e57482dfed06c4d0055bd478408c40472d599bdce63c79f91240d448560a554673841ac071518c627fb0f22ea0c56b88a1ba5fdf427d5dc68e8d25d944e0ddb61827aaa1e224f0812acfb1158e37805d84e0957c6895b07913141db56d4b41996e3043977259ab2aae56409146421da6f89efbcec0c2cd6c173949cece2e402139e9d5c8cc1a0a1832926985811dd052cad509454c51ce4c2ef5b08cb04d6c497431adc86d43a27bd4c7647a12208ca663f5fce246f4045fcfb9ee8ae5d48a4838a9f797\nflags = CarmichaelNumber\n\n# tcId = 132\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 3dcf125a77c4a3797dd742d5f4647f22107fcc23597d261d42126ecfd63c979f0069c0a44c9d3bc3eb47f94e83041cf43c90c9d685f61d1784af6560826a7858807fdcc4a62e8fa2e24c060bed22bf5164ea8b193248698a59df6a8ebcf2831a746be18e5a7fff4ecf202ef6f872a773463acc99233dae6731e20db3b6a1b7d71171754866a9ec6c20fe99a06589b2f940a076068d3cc2e5e199a48804b6361548620877d3b65f2b652ab5029b7e964b465bafd5725add9461c399db82688b0f2ab510384fe387e8f289c7982d3952bdb61944c37fa1474a67a07008f3cc7115ac907ed22448808842c247d554a3f3e36e6665ba30d489723a08a8342e59dd2f5942a54f0302f3cfd5\nflags = CarmichaelNumber\n\n# tcId = 133\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 00e10f450df7bd6e44aaa5f66994d5e11a57da6947969b8ffa84fc942725d0bdd57fea4cea3907cb5c8200f432453ca855e77b4e89766b1f339f1e79f1b3bd5a477d7af9c21d97ea2f025ec6810101b103d496141715d61764193ba8bd63b00162161b213da888df612e610c8b3ce100b57ac59d0eaae65f6ef136d5c42c82104dd37b483d68345216689fca1122fe3e2957d357df3e1bc0a7a23b3f3789103fc8c8bcd6a6a966e2661652e892c059612770425b251b8bd02a0955fb5d895ca90a447e560d13b5d065a241777320c3dd839212a9be7ec0dcf792e5d0383ddcc98cb3cdfb85b05d3cfe3c6c8117c76411d76e5de85b1b117b22521d01728da606bb28491e2dc93b917f\nflags = CarmichaelNumber\n\n# tcId = 134\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 034b9c645b94c535846280e92897209efe58970459e1557d61a3a0178a8e6f2e522bb4629291cd32b6357ab7b0fc121a7c62fb7e3de939391847383b1be7d27ee8394d561d11532159cd3e3ba5e93d49466d1ab5f0196fcb3ca72c4fab0fba4abe918cf22972af7c34168e49a5ffebfb893dd0badba1355ab22daf54422271333b2565d31298f87eb0c9ddb32afa15155c611249f3500045e17aa830dfceee724215a633559f9e65d9603b3b8a848025fd6ec8eed39f9e4d095b08221edad29372c97df63d151f68c3b5b502a12423bb961e51a9626ae8ce0f08b7ac969e1d0ef1e5a04fea3302868c28e02e85eb79ef16c1c7e45d6f68cc32c292205b74ab40bc02cbd5990fc7b92b\nflags = CarmichaelNumber\n\n# tcId = 135\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 00c1221e5f3877bd767a7c56286fcf77a3a3c96e1c81e15a59933d90cef676f95fa6cde09404c8988f5094edbf5589a01abe9d612b858068ec2c1620b0b8d49cb3e431982ef99104dbfa95f8008bf5915cc42354a1ee2d8888bfa0d2b964d9f664503be6a1c6a99a121853651a063c33bc96ba1021bac44151fcf92c8fda6107bcdb4ab61bab8588e94ff38adc65da325b42b1525c635cf096da2da789bb9d97edf07a1d292d9b8dd7169f6292182dd89e2d9cd7169e20b6cce19f951c08d48b3466e134664a6a45ab508e502e3a17271bbd44293b871ae3a61c5168608545be5ffc889ec8f2357b21a628c9af10c1edb37c8442f8f7676663ad9fae6ba6567115a89f90d1cf05e999\nflags = CarmichaelNumber\n\n# tcId = 136\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 1306e7699113ad21f3d91f0b6444a2c65b3261a2a5ff51ef0362866d81305e8f13bc3e112f62005b7853974f9021b4a30b559e699282673c893a7bb91c07969b572b98c460b483ccae8acf42f713da00eb6d65c7123212cfdb538e98b5865f5d9b20ad1f7f9b64887f9efbcb598d7c864a6812bb2f7d9d2cf8ec3d3bbc7004d5316556dc8b663bcd285741ea061dd735b31316160d869b097e44c3042546befbe43e63f24bfc870dbe0f7a20b887c384eae7eea4cac974d3ba610ca6392b75a6fa4646b111a43a6a729835edee935f7019f3cb0929c8858b390d4097d9f6b4cf4665f925bbc8e85da11b996980556b3e230eb6d59ed8ba337018745f16d7c6f7310db87a615257\nflags = CarmichaelNumber\n\n# tcId = 137\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 4eb3ea092cab164f3fd7a73136de87896de4479e92ba918fe1a29797902db20c2ded396a4351b61aaa66a0d142bd2d4f4b44d39ddad927fd38c1c8e773f993f9d49d6aed9af93191408711a0774de82da243279435594c49950929f074b4b95f2e50f7d57a9c523bcf30b8c627dd142529e9679bf4a4ccdf76b2d0077b40a6006ba8721703378b8538064afebfb97c1fa8c49bc704b99675db97de4eb52e9cb78a907909221d492165f074421033428baac5c23c508c959d43276ba840d8be98baa38f89dd30f2c67d27dcf60e69af725541538cbbffc2ea804a34f861fd06ed03c682c0bce11cc0c16ad164d846c478a55787f162d2943b577b2cf4483eae13b2fce80f436a15e3\nflags = CarmichaelNumber\n\n# tcId = 138\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 020f1c50b3640950fbf9008742b8d993dbd9657026d755691cfb088f0c6f9c4b98bc0be2e0c8e47881e7c9d6ce6f35c08fed549bb40b0f4fd0f79432df4b5a5f78d2b54df8cd958da785d9ab1c727c1efb0e667bfe216e7d2955dd490e868e783f1409d0ebf2e079f1303f57b50ecc3987a53afea5d824f8dc9a89438fd32f1f4b3a729c5482a3f66cd69e712b1fdd3ed25836dc8157079053bed47f5e500ba698ffa7b6d02100f70993e43bda086dac726e72f9eacc01a1d623edceded81e0a446c0713b06d9224488df1f4239a7d99daf16d5273e0bbbb11360dfef18ce33613441ab6947a0daa61ecf0cf732c4b8141e951b232934b61073455e454e131e442edf39cf62e30b101\nflags = CarmichaelNumber\n\n# tcId = 139\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 00811bb71ab010d948e4ab07149e752d4c0b9bb6aa11842a1146011c0da66cd8d597f7dbc48f26b9445a92374684098b2c87db94276481d79958a8425263ed6ebfd97d4e42a5239b36e079cc14fe923d3312f62800b153c0bb4e4e97396182b6f1ca5eb6f33ec61d4e7c2d822964b679ca01314712c931a8f430011644ab9d47ff485ba18041a564464c806c0b445a69d4fd4469939dfa304d8aa11fc2e9c98b450441b5658be9ce498f638aaa6076baee06c31f66751b440f977543ae6b268da016aadee31ae4866ecbc9f57d077a0cd23f802d27875b524898ad2dcd19e91334b88ff23a7532323984b040c3d50e6b37044b89d6471f92d03ddb3862530b8a95ec1e10e40b768ebb\nflags = CarmichaelNumber\n\n# tcId = 140\n# Carmichael number with ", + "3 prime factors\nresult = invalid\nvalue = 1a110258b0f5aadf8b223c58bae17d256aa1b66ab381dcb1ec128c4cf8d1d3bde3dbdafb45808865c919babcb5822f5121d6efd80e32496a66acb9c642fa93b9dce7181295085009f2427e1e0dc6bf322b8f6b45219b37640119bf01f468a16def4fdee8ae8bd10829481a918069de36d161dd5a00f426fab3267ad043c601a2109e4e40568e76bf97b8c64dbf55b442ad484ac3faba1d654c1e27ff6cc5a215ea6a695b55ad0cd71a14e3288b1c2221c387b8667e8a37eeafb5703b4f64b13444330cd9a292395f64e26ff8e27ffdb041a7b3d559b187a39df9be773916a4b7ef968892ea923fe79291138a8de437e4617b9e43e3f4d0a0c3933b6a0babb54cf69756e6457025bf\nflags = CarmichaelNumber\n\n# tcId = 141\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 0315ac7638fe2dde5f466b9ae990a6b4ca6e4529c86812f1148e65c2268f24569aa0d2fb1a9b4ef4059cb4c93b2c537a63cadbc5de9ed118d4ffe2fe845a57b9fdb1dfaf19e50fc09469beafa470a45baadf99d46d86b23b0f9a7e2211fd5119db7fa220a819bf270ed8cc37df6cdd39413f566158375a8c6ba19d33e59b517f23bfbb7ab72a4253d3b2f25450cbd4dd2795bedbd6267d4bab9c58cf7accf9090e44e932886546d30865fa3675dc31d88c16e223553f4c50e4407ef44c1937b2da3447bc9a9db838e8cb709194b84d155d7dbde917c485a6b95a884dc1776e96c51641445c015bd709b6d1f0b64349092dc3675b51d15b86b6d73de9e08d61bf3da3e7d3be9d1be689\nflags = CarmichaelNumber\n\n# tcId = 142\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 0090fc577b63378b614de9a87438496201917d1d98ee56b34d1220aea2608c9296cc10686b0ae9d554447ed47c5bec9b489f0d4456eb42cd7559bde32a3556a2e7b6b61c868ee49d85b8aec0d5d17993c7165ca2c0accf59499c743cc4c6a50836b0363284b0c7552d8435f2a25257bb6f82d484b1233ddcbb7c8a3f54027d0bbbf935f067dc3579973d1d819d90f4311fd9ff2ae23b3e8d5e049da85d70281cda755de9c57ab09eba0961ff025f3bce5bd3974883836d8d3b9d37af73cde87700a46cb49f424c2264cffeeb0941cd7ffeba9202b6f789d2749860e46b27209e9eba449cf1794944470ece94b47c092572616ad2f4aa3adf17099dd1dcf434aaadd457f62c18c05d51\nflags = CarmichaelNumber\n\n# tcId = 143\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 016ee5c4a1146a72841a52e1add93bfe32ae14ad0ff82b2879ae691f5347cb3866daff3b94cf40fcaf2efbf8be197a1aad8408493becee6f4fcebe53a43eeab0c444b6ff50cc9661d34b3671effb555ba5f7425d3c99520b29c5fcb937de5c45f0a80f7089fcf6a5e212cae6b68c6811ec22e71706d86dcc2636cca099bf8066336b9da793f86b4780c838145a5f4d079257fd383116cd00b878dd617a984e3694f4ec7d134653946b81b12308457dd4027116526964099f52f2220778cd954515a705080994d4bfa1327168121ed942f69712d1d8a21cee6a510d38421472179d085908e9993749c2973774b9020cfde097dddc28d7694d65d28a04684640ff90d5a86a0c037f2bcb\nflags = CarmichaelNumber\n\n# tcId = 144\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 09b96de09b3c269edab8cd497efcc8cb84cc2693656dd8b8454423efd8ac844ddad1ffbd5de39f4fbe47db100ee56131691b80c974019ebf319900068a646a6ac837d69a0d3470f4fdb309481bf1b1df29aa70b1c793094c0a78645216279a4f592ccaf49a39740ec82f2656fc8e343fe58eb4f205afb197d488843fa3054f9023064cd534823b87f69f808c24690ba57f2307c47c6261d1f240aa35c2c47bb0d89b18f071e7f96359fd91f8a5adf68bf86d49aff7030c5a106a39ba388b471bad93b49c69aee8d8e2aa12c6ab8ef318507b24603665ced96f8451c5cef5a3340bb4bac1f577cf0be337c1ee8764ea2b48348089ce0d070a0d7e1a5bd735f636baa88f9d282efdfb\nflags = CarmichaelNumber\n\n# tcId = 145\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 25ca8e8844298f700c87fdb4156abdfbf2540b4eb16ffdec9d6742a43514e48346040b4ecab2aadb7ac43b59fd113ae2c5636459c964306150e880e2c688272ab74a9e0fbeeffc29c60df8d8d7e696396ec21e80c2529e12bda83a1e8dcb9858e568afe89a79fdb00f766e5979a0c7b48168ef845ae674ca5bafed340cc93d51ca130e72dad8497b2ad8e321e498e169898e6c1491a12f05dbffc31a81c859c27657b510a37914676fdf828c43d4f308e6ec42de80c44cd49b835f6efddeb89df5fe10026c3eb0c6f580bf1a2322468b56ea60e9adef61f06b211b8c072f9a52593ab333dcde7c4109d6c628e44b20fc0e19476a72956f53fb0c03cafa56d0a3ec0e07fec558fc31\nflags = CarmichaelNumber\n\n# tcId = 146\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 4a6e7bc26df7ed0d7c09e82af5b1905f9836705ac7cb854f4be1316dd2ab97505cbf70d090c1feb774e3e11bb4c0bbfa92074b2a59e49d2d6afe3e0de31824d407735b9b7e3b5ac9dc2bfaee3548d8d3ce02e83a275af3933803e301e23d4244a543fd80ff79e1fe751f9540ae7ddd23da5930f01e041a095bd5b505ca33868000588a2000938245e75135744dd8a4da04a0288e78fd73ac0160f3cb108f212576418482a581bcc71902f598d9844676dde99fff86be9c10e85036a60925703b80831dbf6bdd75c61b24bfe1ea22b48d5502e5a52036f59ce0332c71836623c22e2dcb9f2958cd4067041d4c4596ff98a88ef53cbb82f011f4346debe204f5389863a0637379888b\nflags = CarmichaelNumber\n\n# tcId = 147\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 049a4a9991305451a4c682030ebbffff6a0101f04b9ce286965fa4afe83376fd028134a9e45b3d024bb331e6c80365398649f591ca0f32517171ec860bb9d9f7b415ce4f4a702aa3cee416a82b51182ce23088beb94d5afcb7d1b0c8b2a2e47e7ff63afaac28aaffe7b2459628d1979a1ccacd028909db31641a40f3a3f742fc993aa36de8543c19cc05fa3bc6031db33c56a5810c279a0f872ead931e85c5b55f71ba7232f6f0d50e2c7a614f9cd87938b6df53df6a68e492a0715aee49c235b954aa2fb6ac13c9d64daeafa16ff4addf7605400538ffe6cfb17bd8d694b3a28eb18c2dded3be5167b357a124bc38376c74c970f394e4acae0b0bdebb5d4479073ebed1829abe37a3\nflags = CarmichaelNumber\n\n# tcId = 148\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 03a48ea2550158e6910298c3a4b6162e9849bb91378d93672c95aaa20c8470ae964d4a11d3edb400dc032f3eabd44d0016255c57379e2765db31bc00b83a7914b048a28799aef1a74a35abba31755fbcef113c96deb380c86b404e961c28a3fc4bd1beb71f788e98141b1b7ba70365e3063ced78b814e543405ae80f6135c9f4a9c129bdb8f29a25889a07767339a1de2d5720f491a8394651d6d34fafbd6a63724028809acc69b9c542f107b2368a74db0cab8f00b4f7006dc619ad1a0b2d10c38cd7d05407b117a6bebd54cefbb552af1b0b81ff21c7bf542140f43cc2e10f270180bfb7b1665f09d36ca5cb86aab4ba9015c9fb6d47b954decdddedb1b81c7faa84671bbd71e9b5\nflags = CarmichaelNumber\n\n# tcId = 149\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 05725333dee4707b0e174b4d985516515e17ca12661d4714f75f33757ef58771d6979d6eabca6cedccbcc4c793afc4d7d6a429d17b7c6bb5f1472227e67f69d6a32cae34b8eb51474308a3ec274dc5c9c8e4ab1fc330957a6d0a8c10abb4565977fd780f74905f7597d01485010360ebfdf7d22ce9fdd09b6234e4a3c9e7f27aea55622672f89e4d545d9b7cd73bb0d4312ee9bb614592864df9c3eb88d50f2b445c64df29e7c49b7f394c5d5f20cadaa88cc9f647e89cf1c66827ee51f47c4d2ac989ea5a87062cd8f0f083de4aa30de074d5f2efa3ccc4a931fc861e8fa64fa4d1db13d86046d608cd14eed45ac217ac67e9b70f566688d9c1f6e74aeb54bfa008d5b12206025d6f\nflags = CarmichaelNumber\n\n# tcId = 150\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 121df27a2bede84a4d79f74687ced480d4e12a1330a2e078aff07474fa91ac35a47ec70ba79249ceee6c55e6ba1fe8262ba677e794a51bb03dd6ffc81577b5a40332bb43d7e621f8eaa91ea32fd481275583e20aa046cc5fc6f0890d5bb68f59672d1adae312b2f03c070b36bcd1645569e421497c7cdd0f7dcab105d3b349ab0c6014d95dc666e35ef99854b2a7d75c533cc77b9925d92fc9278effa8d7f3b667796dd689499b90b324f6d8b770d250b4275ef62541b58efcda44834c934caa0d9e648a72ad7c61d20ba1b457ea953c968bf4eca2dc1cf46f0e33663b07479ce3849ab14c1240c177cda2234fab6971694465debd591a1fa8cddcbf8b2d52cc711fa9caf58fa39a65\nflags = CarmichaelNumber\n\n# tcId = 151\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 013af9b522dc6f0cf460e489cdb857f58cfa82ff572ce560f8ca917a25a3f840db925c836eeeb9c9dd1cf790624902eb513e957073e315b050493f65a4ae753f122f49619bbe3c13d458d4875aec14b0adfcecdd0e8928a2e76d2658788b21110e48a87d877f7fb1de6530adf1613dd3a719bd89bd5b9811c052bdd481510853c3cd9dcbd2237174b601ea589c6bfbf8113067c5f17b8c6ffc2f761ea06184319fb92048fcae4618093716c6f746bdba565b6cc5e234f7e4b6ddf82f4937f6adb12aff8eb6d0ee83c2482d488669fe63938a41426ec09165168fd4bd284294f6e8975ab4a523801aa3ace206b5abfacc1fe4a33e30a2fb1b2a0c36db02f702158d156fec37a73e06dd\nflags = CarmichaelNumber\n\n# tcId = 152\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 00d5761fb975294618b26559075aed6606c562d0c39fb1605a20522cef749f42dc0a2a6bdf4ac277b5033b6e3a3392fc52abd1b705df5e0b9099df20b8603cea9b76519153f43508248cd474ce8d85b657c440ee715149ad70eecf6f4a362730d006d09ec09f5c5eadf3738d8e254f208c80f1f2610c94381031c20ea82caf5d5ea2ea35ec51e4f98d352809058a41f6433d7efec539e461695ecc39131443e0bae23ca985bd0fa133b8945124da374fa465ca3b18fd260197a21ab19c38a7964c47b42bf3afb6ca7acf5af0f2741fbc02d3b894b8a09168139f5024c74c709648935c06f91918fee75987979b8e045987451dd887d502db27aaa8171f50442b6b014eb219495ba", + "bb3\nflags = CarmichaelNumber\n\n# tcId = 153\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 768acf7297a99d332c6b2e86ecd5d546a82aaa2236996da7ecd23f52e4b49e350714d5c213193bd9f29dc215cc513972cff3f6d5ca930588f81f306392ab12a155ab7b567fef2ea299c6e1a20293894f6282799364817fd6d74f5a2d8d0e1a096846a87f9976bdf4095b64470df394da237b1d6c5cbd0840959ee1bc563dac61a3abe087e5786332bc05456ed1a3034faad3ad4488ef90576115c5422ca993e154843856c7c49dd82c7f24eddc0841e9a483ad2e3cd5d9ad52d465807c0d84f61f2c70bfd372b2d57e6a2dc973e9345cad0b5a4a3965564f21054153cbc037ab1a9236de907c26d0d959a08427d48663bbb35a5b3a62071951f05e139b0dc9ab6c9600c62e91b6dbdb\nflags = CarmichaelNumber\n\n# tcId = 154\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 135de6a816fe05856578378de617bc97e7b98164510c2e3322605861048f937f20b92544cf34bcd6ba51047129bdbd476e1d8f94485793e9b0a4114c544b9d56f0fd8cffac0cb8041a19bc4c9b6a19f0918f5872db68d393fdcb04ba921dd977ed4e867859efe3e1d7ea6dacf381a4177363d35a011454bc07c3e619f8eb6c6d507b2e261270bbe379b4d83e3ab6066d567505fd1d2c68d36fb8379ae88f145bf2e732906660ea5f6fe6936980b9ed54c4b4330f0910e026bc637219a7f43a9683c7433592c4ddb94545e0957f8355a5c3a4e2819a8c40e56456eccd1c5aacf44d35eb55c32133e970fdeeaabd4c5da00ffce060caf40fdc6e171e5f7522364a06411b7756c5d4b799\nflags = CarmichaelNumber\n\n# tcId = 155\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 18140470bce8e40cc53e33926c4a2850b61a15fa099da53bfed9a0393b50844c42520b0d259378f9b8246eaebab0f18c19c24171e051612e8708298820773c86235b0268544b04f737877fb261f40e867d9cc54b5048063f643d1117da90565a366b9e99f754d75b12ec8a3001f9adf20021e7a128e9ec9e8d83871f63f8090c7874f58a4fbb87bd4fcda7ad61c8a722527bb7ebcf4685ea61782d2aac6421ef1259afc80820f216f2ef143a9c3d6f79958b6eedf7b84fae64e497c3072558855e38274117b676a6a85f444abf3ddb66397d4381f34e048a6d9646c188fee062d67c314164e11a30acc9ba5dd2c189beedac5052f02a231ba42ba32e4336f7d3f64c2ca8117d19e491\nflags = CarmichaelNumber\n\n# tcId = 156\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 0f32a306229ec4471f1bbf598c61ca486db9378e07563992c45cdbd0bb0ddec9638ea89dcd7bdd153140df285c600a2716b5d2411af9a5e4f935dc3d9b85f8a85d5c24685d81ce9a5e3bdd3a498c97bb2d2842674dd3401b299c753fe8cb88c25fb0883d47976594bb22c1e34abf074b2417d3abcc787ad77a95b5793abc5182cb3c1eff8179409c19ab5c4162a84b9a68377bd1e5258d6c97afdbda4baf3818d949862df6a7005b343ead167b5f324b137a5697969fbbbac6f26c7f54288d93965255f7d82e1b42ab078d5234346d21bcfeb7aa07078624f14a5ff86fa5063a81d730d0598a0fc4f2b3ab05a6526cdad2c5dd2f52eb1c0055085b5f1844f0554e4af09ecb1321a625\nflags = CarmichaelNumber\n\n# tcId = 157\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 31bdfcaaf28d96bfd3c847ea06a65ca47f051b0b37e0ec4f06b30a4d0096a08da9861ad5d48b45cd2a79998df5732295115ebf69a7bd3a44271bba2ae68ff0f1d6f473c573602ecb5fad2f6f634dd3f1719fd609c036188eebb93be61c7b740c78db83b043cefe1cb0fdd7d533bb4310ee81fd0665529b1405f9e2515e092d052192f1017d1389b385b1871bebd23469c96bf0e744852a925a3549cba9e3a96f43dd5477a533e1458c861f170c90ddb7e8a3e13bb10a138dcea6e0abba9aac91835c0e2396d5d2ee4b4190c62067f1c481bbd38efb85fa66532060747b67f9e6502fb26593c1649c14a8527a0a6bd7015b5b9eeda2d7b4fce79a1f0e18b457a21641303fd56064d9\nflags = CarmichaelNumber\n\n# tcId = 158\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 16f7c5076d402edb9f2c0d0a73f1045851a0908d692f2a2d3a5fd95da4cf27f3e9549ddc7b0e19a001401b6eecefc272aa1a611595300e9b5ae60b9f747c8cce149cfbe7f4c402ff5dc1eb7a5e90f8b7f9240110b746abb111359c5b78623d08ef7e3ad122c180c9e34ca16cf9b36d7eeb493c9219b6978dabc3678f4b5a9ed0606bafef78db1294839f928e5ddba036013e78e16b03a4f49d8828f36831b2a772e93f93b75484b777fce3b421f55039a1f1f69244e8dc2d6b379b796af19571969984bb07ce0f55583a5c318677ba84a64de56653a6053cdc11211e7e6c73ca3f88814b57f8b0c1096c4fe83615640622220e386f85a5927d3c5309002c69717464108f2b5801\nflags = CarmichaelNumber\n\n# tcId = 159\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 0139618d4a8e3cafaf6f87b21d88d8295013e8508ba87f9f02ffdb35daa80b5ad571acf56c5350315d14009533938c6c59ef8d26cee37dfe26dd3ba75a4c12434fc38f4ebbe03a43b8f08181b4d06277028bb73352ceb9239c6467c4a1178b0a6724c8d73609fe05a45f0000177fc5a377b7784a88484f0e057b2bee1a6dec07a7746f9e8ee6a5bcc0fffd3824edf510c656abb19a089c5566ac87c4e4d33d9d8b4e0544a12bd795b2dbc2801b39b89f501bd8416a38d3750f7917947778b779b8c5e7923dbb8eec24c4b38a57423706ce4836518892ef45b2f8a12e0debb5f9586e90501365c333bc07eba6836920c5c5a7390a6f07b153d28a47e8d8a334ffc8460134fa1b26977b\nflags = CarmichaelNumber\n\n# tcId = 160\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 0323369d1f4a9668958bad24e36c2be20e47b26a89d4d3037d68789e825c71846f54258dc5a4d2d1d894c8496fdb71acb2d63afa97ce26a3c0f90fe58fdc0f38f099affc92dfb268e93fdd8962a8afdc4a0a118773482e3899034ea3f98dc91d041573a29acc74637cc3a5fadaef4de2d60b67b20ba5b4abc6458e592c954db61212561ea5c2bb3bb681d6e6b9119211aa1428e8c22b820ccd1d7031fb97ca1716fb475aa596f14c251ac3e5865359146ec20a2f4ef84b988c362e5c73c1616e0067842ef836761fdd23da0a00ad76fbc9c1b12086e1323d969446cb2beed23246ec38f16674992468dfc1cedc799ab73aef9f1d2819a441c8afe663e657eb09ebf186e16debd98eb7\nflags = CarmichaelNumber\n\n# tcId = 161\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 0541d97b2b84f153c25561e677fa48c26218d47d2a69038b0575e0b2bb507e81e3d125d335a91ac635aacc011892ffaa69b9b11982d802d15dbe02954f7399406191f56335935bfb6e70f90d7a9419f4084b6ed9d730e27bbe900a6a58a8c20da5215e0eaa2c4a1a0f61429d1bfbf2a323d57a5f09bd4c360ff8c473a0b1a2e4ba41eba51a407dd57db67a8daf1fd0a13345177bad5bca13ecd8a6ae693234f7c7655c248e221dac222897271f089c545b9dca45625de984d497c9ad8b6a8c2778531dd262bbb7e729f5def7de782ee8d66f6ecc6ba745f5b16bfe67f47c158d8661be8472125c48da201a2b7808300f7c76fcc7b4c5f574ffd79edeb2197a660a1e7673a3862f26cf\nflags = CarmichaelNumber\n\n# tcId = 162\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 09f1f1e62ace5bc98c1b41854570c54c30cf0cd96a7bf7356a158c0515923e80d1cce2ba3131fbdeb8d247188b26230a4a02877a729fdce4d8a9972d1fd0af4740c34f23bb4941058e45cf249d8f9218c24754e3e2917da994abadf571b789cad51d41074fee1c714d012034b20bbd258d357b1d06c3376fe32c68093580fdcd99406bb4284153652c63e43115d6729812be9f6428318f7c23eb9cc3ef556918696aa535b002b725e3a1e122795e23d4f28fe8c1745d3d829882c7bc7db7a1a74df1d1d9f9a20ec26181c7f57eee9e176dd8049111fb363ffb493aa94e84e1ad575139decc3d9dec5ec59309f6d05219f0236b66c725d3b53a636db3b566fe936d50b59a73f4dad939\nflags = CarmichaelNumber\n\n# tcId = 163\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 0082bc995b99c1af472ed2c81440bd573726479b6d63e6baddb97fbce259f3873ffcec2ad96bc500356829e77abc7600a838ac9b387662f2b06c7653c7ca3fa50bad6a1d6518eb1af34781828a1a3a13992ddeb38f73e070d9ea0d2a342bc8c32efd98e5ee15721e9cd1c50770243d8ced5fe4c162f2cb0fc68e851e243dced19ec6d8ac03be899cddfc14871c18937265ae37b36f3dc374c794699b3347e9925c407b694c2541c8315126e69b0ea010c72426e83cb83726dd23fc1199b279fe200a785e256437524d20a07c8fd81f17abdb3ece6bdd67378c0e1186ac58a56cbc1aac6c07152a931d55462670df79b5c1502f92ec824abdd6e5faebc68b8420a03a19c54a00db6225\nflags = CarmichaelNumber\n\n# tcId = 164\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 134b2a8e130d49d3cbc0d60e29a75bdf380e066e64902d955d950af0cf776234e0ff14b52e8b0a02134b7a1666db814213251285ae98373e905c587cdc7d98523bd54d347144ba070c6334c10b2f92b5d7d244df99f2009e30df035bcd41ef6b17ded1bc71d82a49b9451534713601cc646d4fb8771aae2cb9045acadf0c75f0be89e933b3eca66f955572d266b14c86dbc825ecda7d2f3078ef5d1a9a6676e6f9fc81d1e9bf50391917c778ae647886fde1b1445bd15ed8eb7138150e63f7fc6282b3aa9e407d921220ce87cefe410f6388b6fe1e26429b0929af911c630084a9f6e29d3754a79443d668b5e6a53e40104ccb5aaf6e3e9e72fd17df02285700dcdf8f127443869747\nflags = CarmichaelNumber\n\n# tcId = 165\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 4f99ada92e63b19c09ebe9b49b1447a93a6c86032bec51d0dd8cebe8f3153d9e3487e7d29c47a41ee94feff54115d128b14fca7309fec87f3e54a6baa05e21a2c320dcc4c0baea03cce223a08ac6ddc876a7d66db61a59d25d7e38cdb37c3e59d1a2e34837d3b4457116c84a7e7b30daf8e9950b758d7ffa3432bcf337463d124004353628172698c41e9135dd77c23c9dfccce30652845d2accbaad8cdaf2857c6a086ba5ce494b659f4756c0e4b56793d2cdc9d12937545dc966398f9a3f4524e3c3f4801b19f1e42cc0bb8fe16d8605155f2178dd3d9008d9e9bdfd6ab8b71ab9bbcd2", + "254650f4a5f0330b2ceb7441bc0a2f7609cf838eb39b8b1b109fa32ee04c083bc8c646b\nflags = CarmichaelNumber\n\n# tcId = 166\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 1bb439731b7ae12b6874783162b16dca098c378752625fc220fe53c2b66debc9ff7c2834af26a220bd15956b0f7b07b8d49926abb58ea5cd0442bbd9b4614ae7aef2a2d7e7223603bd736f43513524fabf0f958bd997e17cd6fc7c1cd6fc14577fb3691ff7e4273f266e7cbafd8e5494d96a057b4003b5330e7a52819ced9eaefc1b6eece210fbe7cb389ad87df6ad493d8fb7fe327e409721fbe1ecc99718896fda3e06845a466db1fbcc0a669cf42a7c29688f4da5d99f4e77cc6c6734f9ece0305ea20a219b28aad2a0bb0bd24a23b37f5b411cb92d38264c05ded2d96c0bae6905c864f38ef9d452c40fba1a3ee1591564280ad6e0561942355e341f1508a66f31c83297bf8137\nflags = CarmichaelNumber\n\n# tcId = 167\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 5620bbda712c8e2664a235bd5a11e233509970d682650dd60fe1fd98c5c9b6cdd16aa79ea00fb7ee221730ad0a0df6709f6ffa699470f1e8270b346075dee913345f708fcdda9b5011327756d34d064c6e595794cb0215dd3d3121a515706bc3a44318b56587a02f9cf8770078f963d243d9f1e12228cef2ed22e961dcfe00cc552f9786fbd21d128f7eac7afa06a3abf6027161e88596699865b7623cf3107dcd4ac8a4bcf61a35583575dc3acd519c547ca8d15a43cb6a01a68a8614570ad497cc5f167a517b436a06241b68202255482116f4c1ffa9a0594191d367a5d22a2039f1ecd6320b8ec640c66905108fb0ec6b5d0d23ae386c1e883a7547aa65f76e22d5f182f17b6437\nflags = CarmichaelNumber\n\n# tcId = 168\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 0490f2692213ad6c3f56744b1b3be3d419f8dd020994282968ec8ab382cb608b62387f4452e778e2437f5e84a5277506aeb2e41b4dde83c1bea26761d61a19a5c0e460ce69697235fddb2b0cc4343b4b3ecfe4e802074484abfa5461383a85c9eb4daff7c84d45ef0475f9e6746c6b2c2925deb068bbbcc11c62f36b825e790b8224c3dd9325cd43a8e9138985e8e7446e914b23950567549a234e7f59ac45eebb5b5968d0bae4900b9291408fc654c9cea7f2b31d648b62e3f080d136cffb31ab1d4c2c134741e5ab77097e1c137641ddef70bd7a9fb520cc930f1335436d2cdd096b6b7ea816e1de56c45506e1579bfa4027ae066c27dbef4004ac5af682804322016b3b5cb33159\nflags = CarmichaelNumber\n\n# tcId = 169\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 00b4a85de3e2010095865ce98a144e4b88d42a1a6729155557b5d90d3ba80315a031b4e7480d6d4970c7764de7dc46dc1ee4c7c433826d7002fadf05c7f46c0bbc3298c66421742db268e77fbc022d42327969c34bab396590482f6cbc97dad8ddf778112a617629b559f9f4f6ee394b08080472d7dca1f35901b72b64262ad19150ab6fafc7327ef4be191712f475dcdf126db77422140f4e145d531e800230cf9fb4d481e152bd41d89b835366566e309602c48635e75f7ff14764900289959c5b0b42c0339e8fe4fae02c618fd07456f4210b0282bf93764b8d84ac93a7f056000a3a89b508fb99a0b6dcf610a31fb3d801d5bb3dafa52552aafb8012b8f8c651d2254c44c2753fb9\nflags = CarmichaelNumber\n\n# tcId = 170\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 222fe3024b8e5a4c11e233d1e00a75139968fcbaf8cfc9c5f0a8e2337a14c8052f126cb0dd7c784db408d3d75103854c7d275bd583855051e1bc1da13d39b2f34988d09d04455f077008e49088b6a2905ae270c7920f70110fcc6a4289a660722cecac7d32380f7c80e14062bcd7ae6ff0999f653d48ec6894ca28822c7328fa6d3cf06e98c9bd1b180a413134d217142b99e1ebff444406c96dfaac8c1cac8e5d5d432db84b0ca787a52320180e6704e9f367103c0f440b2740347dda3ebeacf7ee02e09cf93f916ba91e37e2b19a360b779944321083dd1d2e1185de2f7e12e275648cd5ea7a5ba44ebc8b2bb84693a6978632a65d08dcc89df3ef740809e981c41df9a9d1d50b07\nflags = CarmichaelNumber\n\n# tcId = 171\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 00fe578feddb333e11b3ee0a8870fd085e7b5739c5ac7d2f8d58614ea72ec6f6df92b7857dcda930ce6dbe69df4974a4eeb077d3ba18b2705e50a9412eac82dea651d26873584d829300f578f8f5ca0bc0631aa8a9448208f0586bbebd57b01cc72b4de6f6a22fcfdff3f0149069059bff027751028102b9c466da961217fd8ccaab0cf499bc9637f7b0768ec86e911e7907bce37723cc81678ed143ab3058b179ac68d07352b8a6a4a601510eaaee5ec3455d8b3ab8b4a12d18d49e431cefe69013419bc372f29106a01fc78c089461594c04b23f6493b3815ba91f19f99d01b903c93ec1565e21b0ec880b546330c9ed4b8e973ed7decbca936ac5d19ca26e051ea124267d0223013d\nflags = CarmichaelNumber\n\n# tcId = 172\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 462eee2ddc554144bd3bc464dc0fb2854597196d9d4c319a8c3ad7946256e7b2bfcce9455ab4c43d81f3ba2560626afb8e4ce2e3ce8e88dd7affef7aae67574956106e50f98c57dec0c375fe18b4a91ff6f451cde2fd5a4cde201466c393f01f7852bc89705db09e64f392ab438549d66b42caca88a65fe846970a76d590ac682a65d9863411b10f1a1e23b3a78b36dfaa63ecfe8818f993ccc3a04089cba1c778228c8200768a75b5c11a7c6c5d17aaaad01be3ede5bab8f5393cc18eafa3d00f46e326ec83c18436e210d86049ce5a0ffacbbd301b0e7b22d4d1b67b6f06e0cd9901642430201981e1fd0073695a771d5a648cca247a9d5a7df699afa74430ddf5fc9614fe59d7\nflags = CarmichaelNumber\n\n# tcId = 173\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 0843859178a5aef0cf76fbf7a6fdbb261fb21f24aff24a97e37b3f87569cbbbd9eda5c7b5a56327e7b98892cd4aab05b53508eca2aea6e03d43b16bc2a5a857a93e9936e7cd3a128c3c12c644a5f24fd688e9d0daea4bc4a68dbbd5056ae5763dcde9ef60a8cb36a5705724f94572b65f0d210d0a8825d27b0fa2f1e3b6696e6ded4ef8adbeaf14dd34b3133469ac0895f5106c69caacc697dd18b2db57455087105f2fbde982501bb19a80d9bd2dc7083ae4249f4945961c65333e772726d08b4ed030a8942feb48ef390dd1b560c1270196c276ac7037863ae3d87b31c034e66561a620c271581a4f3054ee38ce8ba19094c49190ddbadab842adc5b62b4efd19de0f2f53c8ee9\nflags = CarmichaelNumber\n\n# tcId = 174\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 11193e4b78a93ecfad44551c9913729b5e5d57e903635ec76022ea9fb939f14ae7ab1c895c3f81c6d5a5f03abc7c778d9c6ba0aaba159af380a809963706568b051e8b0667b96bf839a8958cdcdb49b31119998145fb6ca0c7a2ff0e2c7c0d90d24c618257b9246b7c322fac9f92ca13d85df961c40d0afac9fb404497635bee784f297226e47f2ab0f6606263319a4ebacfa0abffbcb9781fa868d7038c66bde1afa539efdbaf175510f48c9d9c760fb64b4d3d34f10fbbfbc00e6d67b7697d68c751bae07f3970d7bf6440814b6ea570b6adddee2248b73d572256627197a907e285a6301fbad76013d41598786fb9d33e580d63950f2c904caf351d342d36d460763c7a1f1f5957\nflags = CarmichaelNumber\n\n# tcId = 175\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 012f617c5a054349a3e93ed6854e6a540038bf60044262f151b9c825b36f564bf4079f6f9e5a818fa2a639ad7e6f638d3d9e201f3187150a66c0295088736ac020958974e0296ebd595ba4a0b63d6e11961736cf56e9270dadb49cd77bcb1a9d89ebfa9e2298aa7b3cdaffa3c675c5dccd222f0b38204287d1fc269c6440b4d39dc7b2b193b455747f75cc24c360da99df57c8fe2c3e92609e7507cfa3784a8c464c1a83e7b91e9ef6336576a56bb6636cbfb8ae1f6e9724e9c393576e5cfedb29e221550dd2f39e8511b0fc9b606225a49d5e5086502229b61989e3b6feebfa090e4474a325071498de0ecb789c0291a8ae6c04c57516d00e487f8a60417af209a60f0c34180337621b\nflags = CarmichaelNumber\n\n# tcId = 176\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 5553413dd9466d66d0ba3eac38d68084784bc3c8f04c414bf46c42971e3c09ead8da7e8290a5ec2a8d0c55b9a27af71bf44edc1d0f9c175cfdb92651c2fef12355de421ae9d4e463d97e1b7d5b75de136697f55729151fc55a4cf365f5f80cc0c65659bc29e0ac360c837ba8288bafa80b46b20f3598ab782f0d4dda7dcdec673d2ff7ab05868466e5fef586e63586b22100e92ef9bf3151ac53e59805adcbb011162a1963fa9baead1517eb8731ef4c84350e7d73ca47dfc5fadc1ff7404de4ffb2d3203b1e61f525c9eee55672ac1526730bcb4b4d4b54c2707b876710d0dc0f2ae38b813f4b738e381bc4e05c4cf0b0f4db1dfce5107b6d4c1199dbe5ab89bb063a591fa0c879\nflags = CarmichaelNumber\n\n# tcId = 177\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 410a34783e03400a52d847bea34213583afff783d80f3aedbeea0807d347b680ca6a72c463ab1b2779308732b486309864311e4a542b46d2123033fabd0bdb958890cb4b9ce864e091ad7edf2f406f6a542f2d34eeb21b8155667ed89a7fa9434fe479a79356ab10155e097a329c3b11a06baa8dddeb4fce45d01254c6bd3ad03881f2344c3378dd8fbb69feadf8f2bb0103d164a9ea52214f92e0fec3377530610f16247693245db19e2c6fb9ceae1e45be90a2028bb6fda1038483099635d09e2bb794fb5fc9140c1f775ac10d094e6400f9ea767f5cc2b33f47fff7d67fa00e00dadf8fb4f93f1d38d695d9dafaf80cda2176b2585e4be4983025beb099143dc541c7a9c268b1\nflags = CarmichaelNumber\n\n# tcId = 178\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 0101d935080df531c252bf2d2116719dce5eb155862ad5984fb325c75e00b9825ce9fdcdb39db9a50a4890920d69815849e62d478584417161ae96a98c306d080efa88356c23ce7d7b1e17b9c99987391a7adc0121a9bbf2df21dbfc7dcf4cb529d9c3c42975624cb34750051a8eb6b0c2f4e89c904ec614958a071a5cb1acb2a5f9dd6249231fc7a167d84bf2f187642eb1df50db6824b54c50336d1a3b189c42aa74c613667620849b5fc38f9bdc8b8cd07e0b2d4597ad6ceef65d6bdb03bea", + "4fc62135d28bdd5f47f7403fb17924adec5e138d4cbbbca0efc141dd7cac26259ebfc9ecfe1473c6c9408309767308a83afd1a3294a00f258989e1049a9a984549b6d98e4e1248acd\nflags = CarmichaelNumber\n\n# tcId = 179\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 1a5fe69fe95b9137923fc26b908e86bbba2de8456cce10b64574d78ccaa5534f19facabae2320f307bee35de24d929ab0fe6fc94bae4567787ceb74263f656c850a4395188a4a84690aafb5de68543c63bd0ee3cb16669aa37178d8b77dc019a5180233eb13245464babbf180a1254fe2e5d430dacf7dec7548d2d75ce795fd1979b0951413807227f8104a01a617fdb8a0b6605ae4ba2d57a55c4121999526d8e79585313199b321ee6e1956573853c2a80df7111f2b28070cd0646e66952c7344845d218924347568ab3f5270503ac9e85cb8a20944ad8b6811f90cca6c8a9d9dd29fe747296a818fcaf50813044cf5970293e51df42ffc5fcca42987c0e2dc6e0c459251166ed67\nflags = CarmichaelNumber\n\n# tcId = 180\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 028a4f88abd93fb89bc21645e872a7887f86e6e484f935cca6c8b4c0d5d40612b3de89a931d97b437737f6ff6a5f617c95061103a13ce3b4f145c13e9712014b9c2130d87e2eb4136fa2e53c280327b5bb6ae4c4bb0be5a3c265f987cd2b4c1232b1eb93deee4bc8298236454394fd25e1f8a54b778997b5fae1809382c308738b8f011c812ff155e9a52dbea46ce0e1682d78fadeff30f24bce8c998bf2bcfdf9487e7e938e746ad1f73178b5803964451234d06a8a84afa9fe0b7e3507892fe07fc1c36667761386d289a053b7b2df38fb4081e5ba407a9227233135919f25a30ec20d1494fb7783b75375aa17263e9c45d4667dc34bbb40116fcf67e089f72f46b8e567a9aeebb8c7\nflags = CarmichaelNumber\n\n# tcId = 181\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 008eb22ca7dd25fa7c230083277360e3e29e3ddb30206f48037c4b31ce2ee37bcad6fc314e4a27192d945efc1ef02bb5a514b82baf98b442b3155577a689c195fe3a59db2c21204e00ff09d40b34fa7bb6cfb61a727f61b024fe5fe182e3c051f07776b3856b9af0c24bb887aa5fa1a02143ffe2349d7555bb4ba1e3b597e1cd082c276d7abcaf8c4ff951a594e3a0ae3460f37ef0b651598cbf3e991de6e44e76b4ecb1d76e87c2f6011a9262d3f1a2790a534f8bc3f49119d7afb8130aceba030397304b1582fdab9b00a76ce97acdf7055faa2d85a037f9601ea697fd2bf7f6fc600aecb5a43f18c8fce7eb1221a8d80e0e8c8abab3ba3979d98654c9db24114d0f2204b5914af377\nflags = CarmichaelNumber\n\n# tcId = 182\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 02581eae696be714b5d7ebbd232660202fbd411dc9ddde7d73a48bd7b692d0b0c216b3c39e51a707ac47b6a5dc39de6b249cd0b0b27e67c525af2308d5e9763a572f5b2d3fad53a8567ea0cdac5dd3f90a41c05cd79c89e9c94d592b8ffbc7c1f07a2e7bd820dd5ce55c38e21c7890855bb3871e276be9305ae02867697d32eb3fdef35e3e9cc6f8a1ea3970f0b43f520849577143631f3414914a7af4ed82faa3f3540db1d6c249f5b642c83301055326a4ada3579eb05994b2d8c89139aed660d577337ac3a1d6a1321e58a3808aaa9f78954880d11b2b1b6b3f1b65a36ffb25914ec28d3a7bf707ba663f49e067ccc2097125a12e993f13899ce0fef029d99a6a3faf8a54aa1d7f\nflags = CarmichaelNumber\n\n# tcId = 183\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 00a09c7c19c421b546cc94c42e8b8662b6ba80d5ec245157378b366ff039cb4d29a037993976dadded5cbb9baeae4443ae6fbd8e0dbec9da4237e68f83dfd6fdf2dd1349fba3a6cbc92832177837eea57e0271c6f5a1bfcbc8082eb14a0ec5b230854dd52fb0bf1d56a3575b2bc518e28853d87997c8a36ff1572a128e4fedc64ca012294751e0bfa9cf97c878e049144ed49d562cb70051c5a91fef5b4c4a55d3284a4093fadefe283d668e62bede1b84dbb1fb55137a34979a0d71029a71e3a6f6cb24db24cf950aeb182ea9acbca214170f3e3749677ec688cf47b35b9820e6e1e1731503c3de31256e13aa641f98fc48ca39249d1b8332d596566116d59488a87e5f1ef8adde9163\nflags = CarmichaelNumber\n\n# tcId = 184\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 0a98538007d0939057ed39cf18a18e8f1fca061c849099a771aa5dbe42bd08643c42433d2f24a9c598e537a7b5448cb92af1b605ab97b4c817056e7cbad446120a5b91ce77db2244ebb821ef727977d731e8b080bb71db4111deb82815621bd378696ebc2679e46f764b7946c91c37ce4fe6ee08e8d6db3d4e9223bfc48485af6bedfc0e06c546ac208ccb9153dbbc47d1dc56974aa6faf1235cd691059aaadd4fc6bc6c5bdbb2c1691561f84f0436c7f3df2153ab01aaa33b214779b152e6d3422b5a98931a5a08bd6db1a9c23ca1eacae57d0cb0d66b9e405fe71dcc1ab5d74e3f17800eac2ed9624a0a66d71a08087611db077a97a3131ea6e9f4e0ea21b27812654984e8220807\nflags = CarmichaelNumber\n\n# tcId = 185\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 023481defdb2d2224a9b315baa087dffdbdc511c8c581e43d7c6209d8b7e0eba75cbbc38b6b676dae33c46abb511064ed248cb2296b0246d1805f8c141e77d0bce4608fd9c9519bc0a827aa9ef5f877a658ff79efef187beb25adec65c2d8b8928549f534f25e90def3c4442e58cb5683c532d1f6ebc9d63e1da8d4fe012880ad1b357834d426ce5a0c6ccf09de4a917a59441e7977d46d3ad83e96af125d02cb7dfdd78047ffea7157763f669aa399937b05b46362e3b6db6d08b6e03c6b334ae6d7fc11bff839e155625e7e6b5eaf9372b086bcea47caded8e4eff4756df5e3904bf9facc73d9cec4a4a8f0ee1665752f5743710cbed7d0ac01e9a8253d3310f37c1e72bdf2785e685\nflags = CarmichaelNumber\n\n# tcId = 186\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 4f41312cc1981a2007eb29a87fa2f3ada1915937e4f0807454ba5f18a03a32f954f45ae8c2df13ec3dc2045d92cca2d3135d25100d7b1c4f5c334513e9ecbf02f27ada2f6d6023ad737148840609befcf9edf2bb574782209f5a712d5b35f6cc3373580e89c6148bf2cd435e4f401d678940cb9226e8da87a33d992da172da41f710410cd450a1dd2a8608033efd87f5a23a5af1a1158feeb422e7391b960139f0cd7401a52c747803500dc96f130e2ce224d6b60169b210401b35fd3eab56bbf0887c6af3acc54473f928adb538ca44702789ac934151bb0013368883c9fa9a44405039a37a837d9ddc35d2d019e102ec3e1ca5c9e9cc0b317a3b6b107aaa657b8bdab892dd19e7a9\nflags = CarmichaelNumber\n\n# tcId = 187\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 029116984040a488254941b331e73395ab58a597fea5e15bd92042b3e2b51e883789ec6ae538aebe3d84c928952ef9f239bccf3fc267a85d81c2ddd209e28f56e62dd9996c6bf56f781b02ee3a2c5c05e711ac28a48098cc1c4b9019206510271388db9550b46dcea014e90b8e2a37b5f311af9167343e3dbaad5717bacd0a3e8e2be61bae423f9ac9c9d479ace3bb5e65ccb4560b98325d6fd467e533b2a39d2982a22dd237f7ce38b4c1d6540636a1e39931a9f441ad5ee3c1d06e5c4eb42db1a965e66b59b7642fba3d49eca9c2287f33e6815954c4bda231fe5c60e46d003642fafc3079a2e79da673833b1b6895f795ecc1209f5d73b7131f0c68514115908353a7930b301184d5\nflags = CarmichaelNumber\n\n# tcId = 188\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 09c877d3a8b3cfaf8b5192de0ebc2ac29c9306f49eb83e6cdf1839f56e46529a72570354ace0e538d630d10cc715c03e1db78a70a0b5b0871a41408dfb16c2b207d1cd59ff28f2f6bf835a1d0ca72ba144630f71e521f1671dfa16bafa9aea3ce69b9d5c53e4c1c546d50b4f1ef847d7b9d256af9da829b5529d249dd4a62784a2b0a01411a42d30358161acff7ae2ba69cefe7b4efc7370f49ca482f1832c578450718d014e6d08de7b1412bbfae9e5123ae2218e37063b480945325005671f67f3d0305ac02b1813b02342fe17113972c796a3d14fd173a169cfe7a05f389a90f78f5bafd13550bc3778d12bbc00195a626550fe40b763c3fd713fcbdbe786cc0af7a2424d9226c9\nflags = CarmichaelNumber\n\n# tcId = 189\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 1508d017f18635efa2cc25c56f40992ee2aed4868ffe810d1973741a4d57390a4af51e8431d90f65b442ff504300bcc54fa0bcc5208a8dc59ca4fd2d227482ea4aca9fe2ca79d1eaff70054c0b0abb794dad9bc3900779446283c95aff750770f9ddedb1a66b0deb264c39a8460329585776546d934094465517a802adbd15aed60aec187f52a20dcd5b0f023480cb784b12248374271f4ca43f276d7c911f2bc5ed25eed2aa2c9a408284652fca768eccff61e7eff25830e660c9110f78c325d2374fcd727ac5739886adc1d7908a07fd803a08b7bf3ff7d8f55fd76668886f85999eff5a0eb704f746ab1357bc942d57a37fc558abef850984ae5bc46d771781117533c7166b54f7c1\nflags = CarmichaelNumber\n\n# tcId = 190\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 014160a4d755f7f9ea44b90f75a2c370694d3f5e0715a1146bb309a04aea9169bb6117dbc43c90381de4d7fead0177179241be84f468ad38a629068108288e4c99e2c9ec86ccfa11dd62a22aacf486cf5c23f03162dc0d981e705837b8bec7d1b13123af2b331bd3bc9b2054f59f317853ed63cc0af0dc4ef15fc751a43e83f731cbec2191ff6f3990e8787ca0e4e47793ff7bbec63c012e07f24647b484fe8d0da12215c0d5cdb0ed2d44a253d5c825de3c42bdab327260c300d0d806695a717b59fd352e68f9e0828d7d546a57333578d1dc0e2c48791dc2a659fbdfaada59c7071b1b440eca073697bb7ddfa3f98131e23430c17ab6d4e34b44b11ed1b5a1cb7918b99e7bd713ab\nflags = CarmichaelNumber\n\n# tcId = 191\n# Carmichael number with 3 prime factors\nresult = invalid\nvalue = 00d050af27a2af0aab019083053bca9a2318f1d3a322852073c21fa9109c7fe2fe5a16126ea0064c7655ebd9b1a67c9a61a028117fb9df03cbf774aa4a341f278f1570bbc0b3efafaa855d3878ab6039b2ffbd8c5f1fb9f04cc282d072eaf7904f5feb42b950b4236da9e67b7c5f4889533ba66bece01c0c35cafdd5b2b310d91173ddbbce856f5c4671c0f61b28defde2eadc7d6", + "b96229e4dd12baecae8680aa038c104df148191a40e5f0cca2b25b456957bd8f2145529e71d25762fedbb3b6cf3023dfacf47200b91b6a4bacbfaa92ffaf4a760ec132868b9e7e3f3d0f7cf77a1426645ad54a2e057fc01e223682e7c56afeec356d4f53a08528e5d2684b8be5eab78a3d9b46cf331\nflags = CarmichaelNumber\n\n# tcId = 192\n# S. Mueller, \"Strong Dickson Pseudoprimes which are not Fermat Carmichael\n# Numbers\"\nresult = invalid\nvalue = 00f4e8aaa62114c404219ed23f\n\n# tcId = 193\n# bound for deterministic tests\nresult = invalid\nvalue = 07ff\n\n# tcId = 194\n# bound for deterministic tests\nresult = invalid\nvalue = 05361b\n\n# tcId = 195\n# bound for deterministic tests\nresult = invalid\nvalue = 14f5d5\n\n# tcId = 196\n# bound for deterministic tests\nresult = invalid\nvalue = 008a8d7f\n\n# tcId = 197\n# bound for deterministic tests\nresult = invalid\nvalue = 018271b1\n\n# tcId = 198\n# bound for deterministic tests\nresult = invalid\nvalue = 3e9de64d\n\n# tcId = 199\n# bound for deterministic tests\nresult = invalid\nvalue = 00bfa17dc7\n\n# tcId = 200\n# bound for deterministic tests\nresult = invalid\nvalue = 011baa74c5\n\n# tcId = 201\n# bound for deterministic tests\nresult = invalid\nvalue = 518dafbfd1\n\n# tcId = 202\n# bound for deterministic tests\nresult = invalid\nvalue = 01053cb094c1\n\n# tcId = 203\n# bound for deterministic tests\nresult = invalid\nvalue = 323ee0e55e6b\n\n# tcId = 204\n# bound for deterministic tests\nresult = invalid\nvalue = 1c6b470864f683\n\n# tcId = 205\n# bound for deterministic tests\nresult = invalid\nvalue = 081f23f390affe89\n\n# tcId = 206\n# bound for deterministic tests\nresult = invalid\nvalue = 00ffffffffffffffff\n\n# tcId = 207\n# small prime\nresult = valid\nvalue = 02\n\n# tcId = 208\n# small prime\nresult = valid\nvalue = 03\n\n# tcId = 209\n# small prime\nresult = valid\nvalue = 05\n\n# tcId = 210\n# small prime\nresult = valid\nvalue = 61\n\n# tcId = 211\n# small prime\nresult = valid\nvalue = 65\n\n# tcId = 212\n# small prime\nresult = valid\nvalue = 00fb\n\n# tcId = 213\n# small prime\nresult = valid\nvalue = 0101\n\n# tcId = 214\n# Mersenne prime\nresult = valid\nvalue = 7fffffffffffffffffffffffffffffff\n\n# tcId = 215\n# Mersenne prime\nresult = valid\nvalue = 01ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n\n# tcId = 216\n# Mersenne prime\nresult = valid\nvalue = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n\n# tcId = 217\n# Mersenne prime\nresult = valid\nvalue = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n\n# tcId = 218\n# Mersenne prime\nresult = valid\nvalue = 07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n\n# tcId = 219\n# Factorial prime\nresult = valid\nvalue = 02611501\n\n# tcId = 220\n# Factorial prime\nresult = valid\nvalue = 00f17a60a5d627ded85b6a9a397c2ba63bb27910ccf7e3135d4d1ae8c9f5cc1e4bf01ea704abb2000000000000000001\n\n# tcId = 221\n# Factorial prime\nresult = valid\nvalue = 01e764f3171d1e44a5f0c50c6537730168041cd93fa34898140da93d3df2939adecf61802daa63eaf08428d72148d63f267f22bd24cd411b7f25984b057bda5c11510000000000000000000000000001\n\n# tcId = 222\n# Factorial prime\nresult = valid\nvalue = 3a7c596683f12898e64bf1355bb9bc85f01d91307e568d01afdc9cf0b3fa9e464b140d899d9bf62a0c61c2bf0a8bca1de36f6d36a5be4aa212681896def96f583c8a7cfe362b4e823bd244f813e575391a029df7012e738d3e2e8e0181ea40000000000000000000000000000000000001\n\n# tcId = 223\n# Factorial prime\nresult = valid\nvalue = 72b20ce22e5616f923901a946b02b2ad0417882d9172d88c1940fec763b0cdf02ca5862cfa70e47fb8fd10615bf61187cd564a017355802212a526453e1fb9791014f070d77f8ff4dd54a6d1d58969293734e0b6bc22f3ceea788aa33be35eed4bdc1c8ceb94084399d98e13e69a2b9fa6c5583836a15798ba1a10edd81160a15662cdf587df6b816c570f9b11a466d1b4c328180f614e964f3a5ec61c3f2b759b21687a122f9faefc86fe69a3efd14829639596eb7f2de6eab6b444d06233d34d0651e6fed17db4d0025e58db7cad8824c3e93ed24df588a0a4530be2676e995f870172b9e765ec2886bce140000000000000000000000000000000000000000000000000000000000000000000000000000001\n\n# tcId = 224\n# Factorial prime\nresult = valid\nvalue = 2c47a7947e4ef970e990c8b4a793b5f7d49b9af95a12b9f08475e1cf58f31046fd224c3ef20a736d7cae39a2f989d934c2aa644483aa6e348bd41c34a6819d7c08fdbd93a7f7c24a4756bb7dd97516287e161af87e56735c06d61918cb2fd4ae9dc1c7f2cbb5749934626af5f4db5bde6b748072c004110d45f6db0fe51c4889ff053bb2a24f83bbb80798b94e5d7a189599d85792807626de78a61a7468eab70a2c4dda6200e0c8328408e0327897220bbe009cf8bbbb23fa1cb5fbd3713f7172f8186d059d0b97c2ef5b096c558ec61f66e81116be44f2940f4c93b67d7cd3564c266540fbf0bb95cc3c52c9dbc71aa6a424457131aec3285e6ba46e828e635f3455e30b6db3e4680ba04c580fb569145f6371a0d352f40321751cd26623e92a6c5c9e83eb655338c9077826148e23c3705b8f11b15a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\n\n# tcId = 225\n# Factorial prime\nresult = valid\nvalue = 1774015499125eee9c3c5e4275fe37ffffffff\n\n# tcId = 226\n# Factorial prime\nresult = valid\nvalue = 22d4fb39eb23880b4674bcffd06a18547ee73e7e77f1fb29c0dbfa66ed52cb8b22bbe0ed9b2a2b779c9037d7b412a389bec5ffffffffffffffffffffff\n\n# tcId = 227\n# Factorial prime\nresult = valid\nvalue = 371196ced90a51b120fd9171fa388fe8c2e634f9ee10f4bcddddfd269ebda2f3eed661eaab3cfbe6914395a73735701d7d65e278f76842b02d1f8f5d941d652067ead60bf9bb537ae7e13404711ee80b35bbf5936641be34d53d4b3bbd025bed4be7fa44113cfea3ffffffffffffffffffffffffffffffffffffffff\n\n# tcId = 228\n# Factorial prime\nresult = valid\nvalue = 0120dd73742e20e30f56d82ace2d9ff917e66b2c92024a1444490511d41a39685a9901187f206b5a248b9e52d82f15820801be21beb73ff9e0c8150c69334f02fe9593493b55d48229601857a3ca4449a444d2c0566936deadacd46310d04480265834fe9b5e733357b0c73a0d1e23d85e401e8c3b60571045a6bfb1a19f4940140736098dac2d705dc1339370f1ac19252b931c450bb260800bb40aa404dc54199b7251abcb50d26fc9de82de037c3b9926a2958bd6a1d8690805c0681f5cb5d90b1447cb7e5d81c436b913d743372be382e3bb2d1cd7185948136957af2496888060c7b7ea519b173d5f190c27c70f3dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n\n# tcId = 229\n# Factor of Mersenne number\nresult = valid\nvalue = 07c97d9108c2ad4329db02eb8f166349\n\n# tcId = 230\n# Factor of Mersenne number\nresult = valid\nvalue = 010001\n\n# tcId = 231\n# Factor of Mersenne number\nresult = valid\nvalue = 663d81\n\n# tcId = 232\n# Factor of Mersenne number\nresult = valid\nvalue = 00b161194487\n\n# tcId = 233\n# Factor of Mersenne number\nresult = valid\nvalue = 08112264cd9bb77f\n\n# tcId = 234\n# Factor of Mersenne number\nresult = valid\nvalue = 0b73493decfd9b68318ef9\n\n# tcId = 235\n# Factor of Mersenne number\nresult = valid\nvalue = 3d30f19cd101\n\n# tcId = 236\n# Factor of Mersenne number\nresult = valid\nvalue = 126cf51772d253cba3f5a7cf\n\n# tcId = 237\n# Factor of Mersenne number\nresult = valid\nvalue = 00d3eafc3af14601\n\n# tcId = 238\n# Factor of Mersenne number\nresult = valid\nvalue = 013540775b48cc32ba01\n\n# tcId = 239\n# Factor of Mersenne number\nresult = valid\nvalue = 3a294c585a8f5c7073e36ee3637cab2586d049baa0ba2c911801\n\n# tcId = 240\n# Factor of Mersenne number\nresult = valid\nvalue = 03f1cb0fdf0fbef0f3747f239f5a8983e72b455488b792c8e29308f8c78e7f\n\n# tcId = 241\n# Factor of Mersenne number\nresult = valid\nvalue = 37a5f7f30fd2d1f46cd794e8337106ccebced1189c1f5b6b3c525b64b6c36768785f7912013f\n\n# tcId = 242\n# edge case for Montgomery reduction\nresult = valid\nvalue = 00c4ec4ec5\n\n# tcId = 243\n# edge case for Montgomery reduction\nresult = valid\nvalue = 00c18f9c19\n\n# tcId = 244\n# edge case for Montgomery reduction\nresult = valid\nvalue = 00a08ad8f3\n\n# tcId = 245\n# edge ca", + "se for Montgomery reduction\nresult = valid\nvalue = 00fcfcfcfd\n\n# tcId = 246\n# edge case for Montgomery reduction\nresult = valid\nvalue = 00c71c71c7\n\n# tcId = 247\n# edge case for Montgomery reduction\nresult = valid\nvalue = 3d70a3d7\n\n# tcId = 248\n# edge case for Montgomery reduction\nresult = valid\nvalue = 3ef368eb\n\n# tcId = 249\n# edge case for Montgomery reduction\nresult = valid\nvalue = 69d0369d\n\n# tcId = 250\n# edge case for Montgomery reduction\nresult = valid\nvalue = 51b3bea3677d46cf\n\n# tcId = 251\n# edge case for Montgomery reduction\nresult = valid\nvalue = 7e3f1f8fc7e3f1f9\n\n# tcId = 252\n# edge case for Montgomery reduction\nresult = valid\nvalue = 43fa36f5e02e4851\n\n# tcId = 253\n# edge case for Montgomery reduction\nresult = valid\nvalue = 3454dca410f8ed9d\n\n# tcId = 254\n# edge case for Montgomery reduction\nresult = valid\nvalue = 00c5b3f5dc83cd4e93\n\n# tcId = 255\n# edge case for Montgomery reduction\nresult = valid\nvalue = 593f69b02593f69b\n\n# tcId = 256\n# edge case for Montgomery reduction\nresult = valid\nvalue = 008f6ec07432d63dbb\n\n# tcId = 257\n# edge case for Montgomery reduction\nresult = valid\nvalue = 101767dce434a9b1\n\n# tcId = 258\n# edge case for Montgomery reduction\nresult = valid\nvalue = 00fafafafafafafafafafafafafafafafb\n\n# tcId = 259\n# edge case for Montgomery reduction\nresult = valid\nvalue = 0c934ff1a0c934ff1a0c934ff1a0c935\n\n# tcId = 260\n# edge case for Montgomery reduction\nresult = valid\nvalue = 00d2f87ebfcaa1c5a0f02806abc74be1fb\n\n# tcId = 261\n# edge case for Montgomery reduction\nresult = valid\nvalue = 7880d53da3d15a842a343316c494d305\n\n# tcId = 262\n# edge case for Montgomery reduction\nresult = valid\nvalue = 6a850096a850096a850096a850096a85\n\n# tcId = 263\n# edge case for Montgomery reduction\nresult = valid\nvalue = 0098dbdea62334302c77d10fbfc4b593eb\n\n# tcId = 264\n# edge case for Montgomery reduction\nresult = valid\nvalue = 00df0041ff7c0107fdf0041ff7c0107fdf\n\n# tcId = 265\n# edge case for Montgomery reduction\nresult = valid\nvalue = 00af8af8af8af8af8af8af8af8af8af8af8af8af8af8af8af8af8af8af8af8af8b\n\n# tcId = 266\n# edge case for Montgomery reduction\nresult = valid\nvalue = 7f26fe4dfc9bf937f26fe4dfc9bf937f26fe4dfc9bf937f26fe4dfc9bf937f27\n\n# tcId = 267\n# edge case for Montgomery reduction\nresult = valid\nvalue = 009b8f4f9e02732385830fec66e3d3e7809cc8e160c3fb19b8f4f9e02732385831\n\n# tcId = 268\n# edge case for Montgomery reduction\nresult = valid\nvalue = 64a9a50bc0a383524478973fdf4c22bf1b14f339bd92a6942f028e0d4911e25d\n\n# tcId = 269\n# edge case for Montgomery reduction\nresult = valid\nvalue = 7f95438b41e0500d578e97c3f5fe550e2d078140355e3a5f0fd7f95438b41e05\n\n# tcId = 270\n# edge case for Montgomery reduction\nresult = valid\nvalue = 5f1bbd6c9500cae5d85f1bbd6c9500cae5d85f1bbd6c9500cae5d85f1bbd6c95\n\n# tcId = 271\n# edge case for Montgomery reduction\nresult = valid\nvalue = 00967300c9a633fcd967300c9a633fcd967300c9a633fcd967300c9a633fcd9673\n\n# tcId = 272\n# edge case for Montgomery reduction\nresult = valid\nvalue = 00a305942530f7f11f9cd2c027abb32354eb8b77a1c8368c165094c3dfc47e734b\n\n# tcId = 273\n# negative of a prime\nresult = acceptable\nvalue = feff\nflags = NegativeOfPrime\n\n# tcId = 274\n# negative of a prime\nresult = acceptable\nvalue = ff3b13b13b\nflags = NegativeOfPrime\n\n# tcId = 275\n# negative of a prime\nresult = acceptable\nvalue = ff38e38e39\nflags = NegativeOfPrime\n\n# tcId = 276\n# negative of a prime\nresult = acceptable\nvalue = ae4c415c9882b931\nflags = NegativeOfPrime\n\n# tcId = 277\n# negative of a prime\nresult = acceptable\nvalue = a6c0964fda6c0965\nflags = NegativeOfPrime\n\n# tcId = 278\n# negative of a prime\nresult = acceptable\nvalue = ff05050505050505050505050505050505\nflags = NegativeOfPrime\n\n# tcId = 279\n# negative of a prime\nresult = acceptable\nvalue = ff20ffbe0083fef8020ffbe0083fef8021\nflags = NegativeOfPrime\n\n# tcId = 280\n# negative of a prime\nresult = acceptable\nvalue = ff5075075075075075075075075075075075075075075075075075075075075075\nflags = NegativeOfPrime\n\n", +}; +static const size_t kLen120 = 26217; + +static const char *kData120[] = { + "# Imported from Wycheproof's rsa_oaep_2048_sha1_mgf1sha1_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSAES-OAEP\n# Generator version: 0.8r12\n\n[d = 0747d520ca9b2dfc0335cf94301140b8102fb838c92ea99917e354e25709602dc0cdef231ff26ad2dfabbc391e723072a4ef52929f3f1cf0216e44c0093030f8ac29096faef28933bc9b924287014e2e935e2145be4752ccb82cb7646271936979cab73f521eeb27855ac2a410834ae5082eb62ef6f9899ee5cbb624a8d8c04ab7edcf78fe135d0f808f63b5de6e071779bf1d9eaaf8d3ef965486f2c52625e6e57a651c7bbd0197c99c057b3860a3260c864a11b3cf22ba44de3a3b3f3117e64ebf9a91f626ebb3f3c26d1b0bb80753468d4bf6a997b28335f20ed8c384d7558360a9ae9755661fa3749846b174e6bf330e52d09941f6ccd7de5004779f9bb9]\n[e = 010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00bd31c7a02691d2d9587ef6a946ff788544ccadd4b2988ad62086792a6bf96c8616b4ad13317d2270b901d0fcd1d880cb8f52fb87304a5258c11b38dfeae8df670aeee7ea1d0d9df8e00e80847e41e5989ed402d44e78b30fef17b5671d3adbf8685e4dc204499ecd1863e1d5aff28a7cf66eadf31fec9236c120add13451522c647c9832a672cd64d328c1c322183f4661d09bda60b8dd5f0328da5420821424afdabb1a80c5d12763a1b0238cd89d0742bfc50b6a2fcb701d824218f9826f4f78a23a2b5aa42ace7f175376fb6cbdb2bad293ba583d4d31c6b8f9029e46b13689249855f505756e00e225a6a45a18769bd8d2b3a4acb9f1c23d3e51882561e5]\n[privateKeyPkcs8 = 308204bc020100300d06092a864886f70d0101010500048204a6308204a20201000282010100bd31c7a02691d2d9587ef6a946ff788544ccadd4b2988ad62086792a6bf96c8616b4ad13317d2270b901d0fcd1d880cb8f52fb87304a5258c11b38dfeae8df670aeee7ea1d0d9df8e00e80847e41e5989ed402d44e78b30fef17b5671d3adbf8685e4dc204499ecd1863e1d5aff28a7cf66eadf31fec9236c120add13451522c647c9832a672cd64d328c1c322183f4661d09bda60b8dd5f0328da5420821424afdabb1a80c5d12763a1b0238cd89d0742bfc50b6a2fcb701d824218f9826f4f78a23a2b5aa42ace7f175376fb6cbdb2bad293ba583d4d31c6b8f9029e46b13689249855f505756e00e225a6a45a18769bd8d2b3a4acb9f1c23d3e51882561e50203010001028201000747d520ca9b2dfc0335cf94301140b8102fb838c92ea99917e354e25709602dc0cdef231ff26ad2dfabbc391e723072a4ef52929f3f1cf0216e44c0093030f8ac29096faef28933bc9b924287014e2e935e2145be4752ccb82cb7646271936979cab73f521eeb27855ac2a410834ae5082eb62ef6f9899ee5cbb624a8d8c04ab7edcf78fe135d0f808f63b5de6e071779bf1d9eaaf8d3ef965486f2c52625e6e57a651c7bbd0197c99c057b3860a3260c864a11b3cf22ba44de3a3b3f3117e64ebf9a91f626ebb3f3c26d1b0bb80753468d4bf6a997b28335f20ed8c384d7558360a9ae9755661fa3749846b174e6bf330e52d09941f6ccd7de5004779f9bb902818100fe3d238d376a3856d9592fd4961c17a7fb0fa39d442e9df22e7eda115c648c5cb738df89ea92d8378558d0d9c1cf3d8bff740d3743a0140a6a7523e9176c2953b2c11d7f44691cf8bec2b34fb59c649535983319488118c03118ae7445e70df466ce98671260f05d5068ce777da97e2ba84779490500ceb4ff7f62ceca9a147f02818100be814af26bf3c27115bc7595d0d12a1af7713feca877ae6e6d858825eda3d192704774f42e1ae1b67f1739e8c45a0476388070fa545b7cc96b8a44003bc8d07fde73f5bcdd18268395dcc2842b5023ff14b352382607b7179a5ea330840fc45045d86e0acc4feb135f0ab9b7ce6b8eb5f5a575f2a2a8de299c0d3f506df4879b02818061bb4cf4572e0cf44ddefc0503a34ef0b31142fb0c9fc2f5bb2be656302732d1dd590e8d6cd0002fefa1c1bf43c28fcd4668ed3fa64e5e05d700aaca4ac7b867455af924d83e73f5a7171f68efce6bd7f3df4b1d5802d069e935acb263c0bb5b8d3db3d64379624cecc12d453fd82cf9495a18649a78c1fd500e3f04715ba3af0281806649dbe920a7a8ceb982108cd9ab857527498aae52a2b86918ab6b381a4a2cbbf94794f78b4de9c5e8a59af56d807c06d23dbcebdca1a6f62ba4f8f03b298f32294a9036d16c2739de1cc3e0ddb4d12f2479487b57882afa246c0e297daf4d94607c5e51b3f4715f5c57d0f26d867901209db02010d0a541284640a9b9f0636302818039ec606f5c9f1f33d964606e128e9e90cff932772c5715aa759816d504efe2c46206f3379aa61d31f88e726b50dd80b8ce8558a0d7408525f58c3399ce32e239d70941f12d21e7761c043e0b02220d25ffd03571c7ae5bbd59c31f48120676f9d7c370a749d8491bdfcea01662a136c85d349b6c710fc6f6ebf8a7a79b62adc3]\n[sha = SHA-1]\n\n# tcId = 1\nct = ba366806e4ad50f76c0d8f63a84cc8c1045fbb2f9bef31da89214b2c8553e2d0126fb91e8ad9c78d1515c1593fcd589278369f83d8da3508beed573b2e8a2e61e09d9923476cf2d1cade862344a87c8e50d6600754089992851f44998be57109fe4f9a787fc13cba351f335df5f4cd656858a9d9b547438db4e0e81640618104fac10c0227733f85e041a322459c13ebcf4855fa69519ab94301561146830680e1616fcf4652d30dc6d0cd0aba397560d2a5b9556b42d42ee2088ef8793469d1142331a0b3018feb153999a2439349a709eecbf09568643f8e5d3389073eafd93d37544057e567c3a553269ea1b15a49388127532ab967860c0406a4b0cb3adc\nlabel = \nmsg = \nresult = valid\n\n# tcId = 2\nct = 8773fdde3f148ec33d4facdfba812e44001d90861c047a9eefe6c6540212795b50dd186bb7712b8448830fc1799e0543b7093e4770f301e9216922e80280e9b50582c669e3a9a4feb08ec6f5b2428dc7efbcf6fe49feb61fd2795af1c8b23acb605812c9d7586e4f48e4d758f0695b688d1b4b563067852b1ce9db5dc82aba29ab416178f616426e5d0caf3f9903de2a5beeb970af7281e7cdacaaa00662ae36fb0365c20c653b670b3e7be4b0680932f3254d48ec3505ca1547d1be27d2414a3539f405df91057f4f97aa7796d7ccb69ed553447131fbe79611756b7e564bba7d76ce9256168446b34498a2e91d9a955a8aa98a71a43d65ee60fcea39d811fe\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 3\nct = 504b4e0d94d800a9da92be8fa84fc345f7ab4921ec53c073c79592b347a692cce2450135e998e07bb75ed7ee44f047f75a07e37b9c912d3d529b62bef144952d5b202246ad32c5d34ec8559c4163e2145fa5fd4d56de28cbfe7e537d5732305945c9370bbc6dcd72b3296fd54a2660365715f7d911099c96dfe6d114eec7b4425cb65701aa9e08d99c7ac20179656bb678554d74baca4501b5d0b366c97224bf0c8734e00ff2af8b916aef8b83142d5ec142493e0cc4c57326515a50a31ec2c6703512034642e5789649773d2f8312561bf2f2f6000cebdbf7c7a95fbfd0f721c31ba392acea37568a24f176767f71b31f407573deef95c305e0e063db0e9168\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 4\nct = 25a918a0c7985a72f18f6b6216d0e2d19a9b42a4d5b680e995c3c5c584966e29c6179877cfd0317f9e4dcdc87f76714994e4407cd868842350e28f328b3f33746a897ea9995575f328be7f9912369482ae1a66ff5b7a1c8ac8fd4e5771e58077b54a55db6c6849ff288d50de0ee1e45bfdf81ffaed16971f19abae660338a3a9240a0b732984fadcd28a85c680f0dac8b73306481a096f700706e91f7c100ce64e1c6bbabd419807dc167f1f924edc6f44a69b75a7c72989b25ce35480433bc456c6afa93a0e9b4156d75863f9440ae442eefd213b8a3f53a065daa8cd0206886d1544c3bfecaf62659cfa591da5e920d7d4370a9aabf7f9983fade101da2dba\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 5\nct = a2550a9850903f3142bc1b1b54e45d7754e75ff0d39a8ae813b51eb8165be08a4c0366b93c803ef161650f8cb966f7dd4648f40363dd0cc37595e43756078955ef02e415b3e0efd5f9744d564eae763e307e893002dd1a9d0ba2997fe6658f3689fef4f4f21e7a972c0dc642993ff6612c6e6b43f9ce53674919abbc13e42772beb8c3f3f655df9dc9839e075e01beb9b93d8e016f57afc9a0207d9189b4bcb14ba6459ff5fdd5f2fed5260ac9a7a092feca20af0f23a00d8b990c074ca23d964e19e49c17c970bc972b70fda2b6c6e99e4e7ff11902ea7126257fd1964e7da07fbf413c8becb48729fbd861ddcc3fa6c3df2355759ef1338d02551b7fc80a88\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 6\nct = 6f35b56ebd7e12d58cf2239b3c926d21d54222da0d1943bcd0c0e446bc9213526c63ce0736b11340754460036eeac885dacac617499a58c56a6df5de1e91db4e1befba0237f696d1b6a8447163b839ddf082a1c5f8c1315f7fbab45b2bd8011accd5b2b1e3d4f35315e998eef82f368a72728817f7369648b9b1959781449707a5a668a6f8eefe5624135ff8edcdf9594eb4db32f27b2a6f5f7c6406c2f2c7b818f859d9e379a76c17b4d1535db7404e77d611f6cf5b4d0205f885883186d603c7a9920934fb5886406a38013f7a1864d5074f89ddc164c9e13f5aa5e4eb13dfc3a53b153c56d9f6403bf2ac5dde9c42227201fe314984752b5b41ef0064acb0\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 7\nct = 3530605f43b5539c80398f856eea8d88984af4a6a08db3b9d4093cc80d1a313c0ebe727eb2c45cec2025eee60f385822c09f82e3bcedf66b79c2b34a4f41aa8885eca5b9891798d47914f947c76881dbfc3f21ec27a11dc926c647b6b2a7f3292ec4aa32e969bab49afe203ffd79b0c1ab5777a041fbe4e9e1a679fe2d82e9c267ee7fbe54e9e0def68d8bbacb1e53da99aec8ba9255d2ff6676dbcc58498a386dd8a6b3cf0222a9e14fd03313303bec9d0439ff0e8a5a09ce2926ebe86cafd00cd8ca761b88df9cf84f7b8e07cc5f655199ea81ea6407ec264b5971738967a2e977132dc589c72f8bb639a9429feb512d8d32c441f7e1ce6c6befa08140a090\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 8\nct = 4d0cb9e23ea2f25cd93f6a4a5b9189156178572214c2bbc773158ed82b83cdfe7ac1e96d662afd46a9225b9e8d1ded274e00048c058d4cb66cccf4eb6c4ebaf30b97e3ff17a21223cded8708524bf75e3dec075833dc953dfd9a1341072f1485c60018f92bd41cedd0510085d818a5cb4df32c447294f4245385e1e5c4627c41450c1dfd22f34f96514aed1565976735e321c266300de6b93dd93e4db4e521b1a269947cb79bccd472cd40e3fd", + "430726723cb97bca50e610bd81daed31fc164c18ef378f68e405ee6d978f97cc042dd266c90b909ba52128824fea7f4496ad56e03fa4aeb528d2fd3d9bfae8295e1a5306b389654b1d7058890b5dbd6770ff5b\nlabel = 0000000000000000\nmsg = 313233343030\nresult = valid\n\n# tcId = 9\nct = 873c4ecb4858c60218b4ff5fe75ec216502367e0a8446fef2302da892816f127a8bedf7e2fff349be493857c4e363493b28f90365eae44323a933eae25701d84024c84e09b9163de0dc7ba2d44f97c29af5b9422c417bb241a2fd326efd9aed2dcd7cea55bb16b9571647eaece0a0ca71f7da7decfbc588cafa8beacf0b286e143ff77f05407388b72c89c6a4be35d074083e2a128fda53ba7d3363c0d261430667770fd7b42032a4d9764fa86dd4834eba3864acf3e0c230fd03581292562151faa1ed3f8433bc63472c425c382d7425b11c97969b1fd0fa0b014d47d87af919de6df72ba52be888e44de4fa63c215ea80fc61072a320a24e99c6a247880c9a\nlabel = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 313233343030\nresult = valid\n\n# tcId = 10\nct = 91de22e76714eff612a41318303dc5aaf154dc5e4b79df8495b5acba18a27be6dd454f2c39494aa18d1911aabf38bbad0460922404c6e2c08ac3abfdcdb963623f1c1c07eb2096dff7064d3c55c6221773e4b2a80adaeb210532ec76a3c92832b0aaf7da03cfb60303e0116cb6cdead2b7371cbfaebbf3e511503b9b8bcd54c13c035a44368fba19dfb8735c6117a3edcbe9939afabd7204b6542c77d31a6a244b10481211ec99e45231203720043fe89a57c7a612b3588b12166c55edec13b8265a2c091dd859d4f34eb66ead8b583fd1f0f0ec739b92e7618c1abe1e3e9219fc43f628fe89ccdf2cabc07ffcc5c485c4cadbbbeb02efd8394f4db0b72d81d8\nlabel = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 313233343030\nresult = valid\n\n# tcId = 11\n# Longest valid message size\nct = 8654643090ce426118dcce2bb0fca3b2a4ed45589d73ae2f5683334f17ca5b9f41eb97ff566cbbc0171d8962fcca465f66f4cf14d0114d7768bbac1dfb726d91331670e0e88ce7286e1f0ee7acd5cd75e0d325adc9f47ff02820544770ecf46f381ff330a5c75978e8d248cc12f0752cc7c452265ae919f5a4dd7c20023fbf51d0b413afe09f746114d16d1be499c98d270e9213a37a2a745a3bb216bd30a07d110558090f4fe73debea009e18eb3770eeddd7150b4c7231539f7232d837836490c9547e27dac00efb5a8ccdf9a7c3c1d29c035170a517db899ee61925cc7a2cd278cf576ebe8281bd3a4f2665f15dd0b2e61bcd65172c2fff50a86a2adbf2f1\nlabel = \nmsg = 78787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n# tcId = 12\n# first byte of l_hash modified\nct = 7866ab0f81437de93442325f02f86a305c4a4a0871207ff3203746c26a43fff5979e68c74264c34dad13955a32785ec1523fccb264957ed6f6b822b5c052b9161d6b75adde451c6f8d637a75dffc9b9a9103934e777cef41b7966bf730a648e5b96aa587936d460124dcec515b55473a009844f19cb2794bd739557d25417e2c036762a921481d728b4d32a8015b17539b7cc2a16a2b33e43b85561a2119fb6c9d8ed42d6bec324281be79e2f79426c653f8445a20cce87a2c263e7933b8ef3fa0b9f9f38fd115fde459e5d32eee2412c0af06d2f6454e04ba060ea87c5aa0d4b365f24b4f05bb27c4aa42061a45cdcef1a39118018b875dfb9f904fda4d80fb\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 13\n# last byte of l_hash modified\nct = 55fe2f0fdbe16bc284545cf2be83d2a92a526f52e33e7b116b265859f14433fdf3ae92e10b3a906ac95a4541c42eb80b3aa963e5d9dc4d3414bb5f378cfb3d50af10e9e84fe0e31c98e091643ee99fda65a2a8802f9fba68492beab9e606501b8e82a3d830175137617ae0352bc790b4ecfb76fc126c34fc600f5f09b58f3915155d3ae4820d91904cb92b61fe9193d150d4f0b6bbbaba2692eaff15d2a0f01d0bfb81228462954f404ae06350a24469381047a62e281d2bfa798a3fe19ab0c808de18ebaea11941e6325c04927e0af3499043a42705cfece04a60b6ed8c280869787a4f3d484218f09f0b266efc3a5b442098c82cdf809820cf3b8e7f6ebb8c\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 14\n# l_hash changed to all 0\nct = 930eeedfc0e94791a2118b228c4e1522ab52f5fbe53373d9c11b4d1b2595b121780f4312a4f834614df0c31425483dd845279b08fc0f1081dafcf51f32958505960e2eb9b9672c9a72a12fb45a25df678009542a171ef8d7f07b11fbe52db47957ce38d9242852a228a4ea864c36d14d58bf41d2a1151b8c18cad777c9a6f8542b2f3c9c84990a461df613f36a0461658b98ba193e6e6b14765021d0272536c044d8820bc3a5da2404f11a35c632b8c0f9ee8f5f3cf6c77934a7b03750031d6d7cd99623c484c5c244ddc07559ea756886d235844d9c6ba4aa24fab14e9c4ed01bac85d332869a8ba8c05ca7a074409e8231ae38c0e1bb98412fdf124f3ffa9f\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 15\n# l_hash changed to all 1\nct = bbf27bdc6311952dcf7bb31459ad6f97e09d5948c7d21226c656121aaaf3ac28118efc49e379eabad3ab4b576b494cf438d0e210b8cbe6067a07ca78af7df1547ef9accb15c5c2601c2a020780cb14757201bfab58bb85ef5642d9b5b97ab768f285eb2012f1ed8f7bbd2bc4ac2b9eddbd656dc7477e800e95924827ba6d4f5bfae058e34150dc676e91cec780528d6bdb9d39c4af4005035ef45afeced57ca8f2817b5fcec969a6afa2e0df7cfe5b818bbdda76d7b760454f682d553f6976562f7f529ed8319cbc98bcc759db0c5f3c7c47557092bb3e0d3b208ab6fdfe75dd5c081ff4fcdb08556e78877623fdc4be029933bb659fd3677d62bcb5d8d37818\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 16\n# first byte of ps modified\nct = 0fe6fcde58648f13ebd5f0ccbd68458da8ae18dfbe82238d2fb90eb42b743dcbe7b12b33f77e31ca85eaf694dcc1159c2fd4778fce93ceca25f5123aa63ad8ddbf776400d489d8d3d46665c9d22b4382d468881b7aa30c97cc6068a9031a100cd4b035426932c488a6396de7bf42bdfc8da04af6ceaa7836752feccfbe5295a757dfcc25c8e8c5cfe122bcb764f0660528e162c3205e0a6b9f8d399f50529005467f56ea70c0182c9d679d13dbb0e1ea24b84709c1681418cd174f4467f943cd5a1802bd0ac666dabac72bb3be4d3ab9874b23c4c394f3287075c60454daad062f2e5b81bfb14222c97caef742482c6729c9b44de880e07668b59a93d8e27d17\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 17\n# ps terminated by 0xff\nct = 0a182cc23064e7b1d11ff906ed40842213938431906395ac4995b9e8e56fa3835e9fc4c4ca81d5cd0e14814bf16de6e07ddd949b43522387e8f543672dc965976229da3e791efccf4a4d28c3d5cc8c32f7216e89400794c495a54d2b38f72e30570b43b58c657471fb9b6be7a999807976263cc259c06df51e632beecd7372e2d0ffa17f79d029dba8cf00611caa9e05bdc0ef87d9a2f5f02e4732aac5bdbf1d754e2263a209a9b211a1a8712a2b9a8dbf676fb7bf130c505ec1972e4c5c4baef2e33c955e63d55cecb818f9c85dfb1fa54207a406f153ce77d946c60c4faa289d955d73a8c64f5d4dbc2fac3b4741eff3b3fc205e1bdaf7fabd738d01eaa404\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 18\n# ps is all zero\nct = affb9604fa25ac904e054b0401d51c566c7556c965088e81bb0181dc16532b5c5800117eaee491c1dcfebb184ca00ccfb3a934a4e3efd42a2249ef6d4a1df93af90db0d135a000c97fc1092e85cca90770e4b3583baa654cd127b5ef7549d7d7a4dab1ccb16b7fb0b0eaa6ae401e023efa97ef61a136554d013c61934cb9996db2cbac0a4b68651285ef3421ae2276c7e65dc81d8e3089c15e36e2bcd8f42926daa907f56e5fa4d6a8f3891e71b4f80a15798a94bb64aa68e295bb0d1f6669ea761de0792fee6e0bff465e53b1447eff610b33d38eca86d9c66b542f579338fd944f6a116333dec3684e4c78aba1b1ec12e8e6712206f81701d30a3b43688d0b\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 19\n# ps replaced by 0xff's\nct = a455a8536e5295ac29243e3f7bfd2f6ebf1aa7e3d1333c1bd9fe05b6ade3aa913b859dbd45ba093ae9b034f619f99a69eaa680ffb7be3ab38784648f6f31f858200992f95740ff2edb835f8fc03bb6785278ab9eae742d5966519fa9f584f0c3044136d04fe12104ec8a8bd07950334db8df8a83af843347a10974245c723fc85686240eefd0cce09d81a63c6f6a4d2b83d29ff9ad060129e5521da5e635dc05796ba540f1dad25b9423bda365202709e5e287a2b0d7b09a2ab6031447e1a2ae8efd9e980a29dff1458327edc0ad162670f80343d8490118856f396c72058227f57b9b0ba66b13c4e7117538bcda3e937dfe05d10a764c0ba1f5626478d4fc72\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 20\n# seed is all 0\nct = 96982e222302818f506285642768615f426bdf9f3b4daf80ec5e3ea26cbbe7f5ab48cbdaca4ab0538bfdd91f7678101b61181806f48b2d6fe778d899804a888716a0c2c3a7078513b1cbaf1d096e6fdc83abc2fe40b6742709a2e51afd8e767aa4a72bb4554286140533e4bd5432010d6016d308d475eb2a40165d46dba630c11a183532f658bd538096c1877fc4d843d9d2d8cee570dadc9895cfe2372df9601fcd74399006466fb9ed923b7d9abbad9bc7de963e0eeac7bbd56f20e1c254ef722d523fa8f3bdb0b91b37202e11b4578a3252673e69ec05a05ea60913ea1b9e6228d9fa0c85ac6d794dfeccdf7595828b06df2bdc89fd8d22629fdfee205be7\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 21\n# seed is all 1\nct = ae11f45e24cffa8e4f37be34ec87852db77c2501", + "c1274e23477c50d62313480ba2ac9de76b790a355b50c2f2ed2dd061cd860ff7932cadaa0e1565e43d4177ac98e26d964e81cfb7c20fba7e2b0853fdcc7deab75b62ef5f231ea29f10c83c2f27c9215b7d10d85443d967ce7fcd41b0de999d9f98a072dc80fb5857d47e4373c736bae728932733d0a071164b6d6dea3205e267bebc287d9b5035a76978dcc2f38946dddca48a6a6035557dd9e1aaec4344dbb457612eb27b9302e02ea0c9456984e70faf235aecd20cb32f3da016c9a8a8b23e07a06dfa57f5a25853944cbf538c864169566797a4346e52fcd2ea1489799109820cca4b6249502270dfb1f6\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 22\n# First byte is 1\nct = 8ba65949d2a53d5a933abbdff1efb4b6861484dc230bca0c363a66202691bd39d94798664763d72f55edb37e8cc791b3904c42c4e1b75e4aaad312f5dc53a246f211d19e311a974c92ff8af0573dc831c51194e59c920ec3d6325f06b9c4bceaa6e55696b185163e73aac401fc1925cffcc7b80985bab727288d258a3c60f7d3d2d8ec80dcfe7547229183a19247e3ea10afcb0fb0c8e7c4c57bd5cfd5529abbd407f959f4b9c492411691da445fc5ff3ffdd11fcd20c2a2936d1373b55c2ee41a7b43c049b40cc55f7bc85e46b0d8464a3add0bf28a0d3ee46c12e6fd600f840ed65f11d590381fb9c6a80a46d64570eb4f6930ed24087e47aa12eca2a1329a\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 23\n# m is 0\nct = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 24\n# m is 1\nct = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 25\n# m is n-1\nct = bd31c7a02691d2d9587ef6a946ff788544ccadd4b2988ad62086792a6bf96c8616b4ad13317d2270b901d0fcd1d880cb8f52fb87304a5258c11b38dfeae8df670aeee7ea1d0d9df8e00e80847e41e5989ed402d44e78b30fef17b5671d3adbf8685e4dc204499ecd1863e1d5aff28a7cf66eadf31fec9236c120add13451522c647c9832a672cd64d328c1c322183f4661d09bda60b8dd5f0328da5420821424afdabb1a80c5d12763a1b0238cd89d0742bfc50b6a2fcb701d824218f9826f4f78a23a2b5aa42ace7f175376fb6cbdb2bad293ba583d4d31c6b8f9029e46b13689249855f505756e00e225a6a45a18769bd8d2b3a4acb9f1c23d3e51882561e4\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 26\n# added n to c\nct = e2dae040ee2a2d4c4a0e620b5dd05b56df67f079884f0bbfb64a3eeff08fdaafdccc458b014d53f0574f9ec5514ef21524373c0408b2d67c11fdc812762812db75786693b66313ec08cd001d90787a1b4cee69d3a9f2cf9ab81503be8f205c701da8a39d70b1e8cc40f132b3bed46ed8f466cdee0d032955dacc5c373789f5d58886a3a5cff7c841a5b34789a3091a0f1903a2227ac24ccf0a2fc3739c92210afdf726d53e07692f3fb82f431f2779768766608111f6f4f9cfdf256d79c5ab13cf68e9d494b2c60fd5eeabdaf4b0c896fdc190db93c78c85671ed3ab6b48b7bef639dd19b4f224d0667f1fffc200019773ad09be3f58b1eb5a7cec3289ff8f9f\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 27\n# ciphertext is empty\nct = \nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 28\n# prepended bytes to ciphertext\nct = 000025a918a0c7985a72f18f6b6216d0e2d19a9b42a4d5b680e995c3c5c584966e29c6179877cfd0317f9e4dcdc87f76714994e4407cd868842350e28f328b3f33746a897ea9995575f328be7f9912369482ae1a66ff5b7a1c8ac8fd4e5771e58077b54a55db6c6849ff288d50de0ee1e45bfdf81ffaed16971f19abae660338a3a9240a0b732984fadcd28a85c680f0dac8b73306481a096f700706e91f7c100ce64e1c6bbabd419807dc167f1f924edc6f44a69b75a7c72989b25ce35480433bc456c6afa93a0e9b4156d75863f9440ae442eefd213b8a3f53a065daa8cd0206886d1544c3bfecaf62659cfa591da5e920d7d4370a9aabf7f9983fade101da2dba\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 29\n# appended bytes to ciphertext\nct = 25a918a0c7985a72f18f6b6216d0e2d19a9b42a4d5b680e995c3c5c584966e29c6179877cfd0317f9e4dcdc87f76714994e4407cd868842350e28f328b3f33746a897ea9995575f328be7f9912369482ae1a66ff5b7a1c8ac8fd4e5771e58077b54a55db6c6849ff288d50de0ee1e45bfdf81ffaed16971f19abae660338a3a9240a0b732984fadcd28a85c680f0dac8b73306481a096f700706e91f7c100ce64e1c6bbabd419807dc167f1f924edc6f44a69b75a7c72989b25ce35480433bc456c6afa93a0e9b4156d75863f9440ae442eefd213b8a3f53a065daa8cd0206886d1544c3bfecaf62659cfa591da5e920d7d4370a9aabf7f9983fade101da2dba0000\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 30\n# truncated ciphertext\nct = a918a0c7985a72f18f6b6216d0e2d19a9b42a4d5b680e995c3c5c584966e29c6179877cfd0317f9e4dcdc87f76714994e4407cd868842350e28f328b3f33746a897ea9995575f328be7f9912369482ae1a66ff5b7a1c8ac8fd4e5771e58077b54a55db6c6849ff288d50de0ee1e45bfdf81ffaed16971f19abae660338a3a9240a0b732984fadcd28a85c680f0dac8b73306481a096f700706e91f7c100ce64e1c6bbabd419807dc167f1f924edc6f44a69b75a7c72989b25ce35480433bc456c6afa93a0e9b4156d75863f9440ae442eefd213b8a3f53a065daa8cd0206886d1544c3bfecaf62659cfa591da5e920d7d4370a9aabf7f9983fade101da2dba\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 31\n# em represents a small integer\nct = 092d5b4bea487029a4c06c97f727f6ad4531f7f646c95cd269e1e606a7e047c19a6a9eca8fa5abcbbca415477420ba422a7d5ba41ac79ba7548aa6f4b44aa65ad915ec11d7f50cd2ad7eac86869bf88bd7cbd11439aec354a25be71d36541e7ef211ae010d8259ac7b5af49e38e14d87b62a3e7840316799b548f14339cf7b46ccffd66e596b0879782f8638b975a89edc2b2355f05c53845078502d046b7f4371bdf911e30302fa980fefb439737333fa9c179c33a98e1b052da7da2436e8b862ee5f7c63c88ab751a244705c8bd1f32c277e0a7c80ef302bd01c9fd50c9b7b6395044c72461dc69aea549e37858b8b53b2792238f59445684e551e52e08750\nlabel = 610c549ce717749d3143cbd96c51c1c75885a5d200000000\nmsg = 32fdd5b5319188914afbe21b1fa91bc4e484ecd1f9968231879e372570c43a27f720e6773e1d905b70f85a312347f7e9752a8c4f5b9f27bd01530b6efeb221dddc723cd51b4bc4814992268c403ed4fdddd526efa87d835069246f25e8098dd5ae3e463fd639b36a4c139476b3d29ae0c9b6c163d81e7719cc85e65289bdde2f82b69bb4aa9c5a5dcd513421a54e5d4638d8c23567c12978c3aa806ba7964a547a689360105fc1b2468fa1480204d468ba2fe41ce9302328d4279e00a9af1c7cdd9f16d572e70b06f1f40acfd50c8865ef37d888b2fb\nresult = valid\nflags = Constructed\n\n# tcId = 32\n# em has a large hamming weight\nct = 58a4e190a7306bcb33ea5f1ad83b74da56e3debd2b2fb4499ea9339379b0f08117c77b4d5ca6dd1ad51a4cea4b818c270344980077674c8bf6e8a5ce5ab6212ddcabcd53be82672f19d535debf66bf853538d163b6128468fa21bd4464e84fbfa92501ad51bb1bf7e14ff522ecfd65a29e08ef23aae01218d7635915f8372055e0c6a2ed1de61511484bd6c32286a23a9eb2f1999708e8ed5e28516874241eb778713a845241151a946c509c07e4d27c167b7b5ef6f7a4f1fadf9049996eab17d97ef4d22550649060692af63fd06d05c76f3191689158323605582696729db7d94f730e5107d0d585cea56160968a887ab42bee7fd4f9ffd1449f021a3d41ab\nlabel = a0a0b480327073f080fc1efd8cf5be9bfcefd3a000000000\nmsg = f032ef2759de946b6ccf829695a9438e5f986fdbbf333262a795ff9ede842bb7b153c526abd1ea498f56e992bd21558c7c3b6434e4c667ccd16687eddc199bbaa59547e065a8a3814cd5ea46d7437c1d6bdd8f1a72ee5e945a2b1f11da2049a685ddb525da742260a20ce52f95755b8d7b5d29dfe7f55395c6203c518d5f45ae7435fbc19efb7fa9d2e1626cd655d409e35fdc4e8b5773965d9db726afa40a73cb212b60678bbc7a0417b94d97e03c273c8ee2ec49f23f57576ab3bce568fa2a1080f0f036e6971eba8a773b405ba2c5ba6564a4289a\nresult = valid\nflags = Constructed\n\n# tcId = 33\n# em has a large hamming weight\nct = 526352ba3b50ba160f05b9b7604abd508e744e176f99f5ed5fa47869dbf220f32fa43f7942a8951a75505a5800f8f49233d57778ea9dd5220bbecef15d38dd7400ba81ff4cd5085d2d20af7ce79f097ec08ce2a8dbab4482675ff08bda80c74078a44cd89af547a356cd21bb4be52a0cc5dad5bc779b54fbad60d15f10ca79d25e82f19d9dbfff7ecc1cccd8374582bef1d4bc3fa745259dcaecc56b8f162f7d4063aa2c99ed8f418f2aa5658df7d1f36041883b4484ac6766b059948960fa2e40363c6c56242396809f4b036fd91d46de8eb053c8cb0297784120264c6ac7e359f4ad5ec65a002644c03cfc166a8e5a019b8236c7", + "d7145df247cd123a09c8c2\nlabel = bba0b480327073f080fc1efd8cf5be9bfcefd3a000000000\nmsg = a472bbae5a81e6500afc183d8bd1ceec795f4907c496830bff4a9f3b15f1768724cec8d288d1d11f47529538cdf93f769917afd65d033d4f563cc14f6dd39a8e7e03afde9eb374b9177f5bed74ebcbf771f630a1b3075d0a308ce65424386304396e824528deed8a2ac7a387f7a3eec3b633882c92e9c33eba9a91f9297dd6aeef37a5d475d10fe69e0b1264fc2ea1cb45ab4f1c6908cedac276183adee1f60da7cc1a105ed5ef187c2b11748e98c8a93af9683d441a3088cb0aa669b06db151e7151371d0273e2ecb161c8fa69d4e56666681c6439b\nresult = valid\nflags = Constructed\n\n# tcId = 34\n# em has a large hamming weight\nct = 6ab92b1c57f99c17ae4ca5f7d4c0149eb24cb18aaf36163859e1186dcbafeeda4d77fd059b0f938e92b8d413b771852fb019a66d76009444605edd5fb48e6eebbd9d01827be732292cb07cde541dce138990d46599b5a196525af199ad4adf7c259109e715e563d8974cbbeae62a53c8137076f10731a964f2ce37305a175d35eb7c8e6e72c9792631d35133dcd49f1a1da677ab3ac074172778402a4176c036cd8ac5674770f171d9134585a115f6a0983d606b748e0e47be040acda88cc5b8c7eadd33162117bb61f49cace91260c5e2c8ef4dbcec7f156a18894a2bed9956520b2b681b2fa31347df7ea98062d97f2972280be22e507249b2436a9ab91689\nlabel = 7fa0b480327073f080fc1efd8cf5be9bfcefd3a000000000\nmsg = 6d5c2cb5790875728fb21e987278fdd1d881cf4953e62866f8d53ebb067cf9a4ef53218030e3eca6732a6b1f789cdf3cc711b6063a01f424b388905549663769dcdcbdd82deb6bc23f66c1c04d30c6d91fd6116bdf8802c150fed396562edd21ca606528cd40b569e895c8ad5bd1bd5848a215501537dccbd0fcd70cf3b2d0df58a072e07f60ff764c4688c37240863242f6eafe36601dfcda41eb863f4db701de54781a6d53a97932d32aae0e6a526048f766902128b4842068fad9ab10811ce93339ad42f2e13c4cec324a8cf7035705b8a36fd8a7\nresult = valid\nflags = Constructed\n\n", +}; +static const size_t kLen121 = 21242; + +static const char *kData121[] = { + "# Imported from Wycheproof's rsa_oaep_2048_sha224_mgf1sha1_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSAES-OAEP\n# Generator version: 0.8r12\n\n[d = 56d0756ceddf7b1e5b258f783b99e036e25675eca054ae9b6ed7552776c69b2728f76e08973556b0a35ddbade9d462ed12bfc46fd254a07ef4ee043ab24d1ef00f8d214cd1d906911e92c4a212d9a981da74b8d18208153d583035d6642b87a23371787867efd02c336eab01486266c853a052490deaea430c6043a6b240b6e9d71e16f29255f2ceeb35d1a4ae25ae0dc9a436fb5dc30381cce982acc824961976df683173a02a540c403f3c8560243ceb5b798abcdc20f3c85d9532b0f0b0826f1b6352c5adac757fe3224b822455cc529fcdc8a220b0469f321f56bd1853d8a70b893f404cc06317e084173770c7d4c836281ac251353fcee4ac393838a1a1]\n[e = 010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00c32cd0e1441fde8a2896ca3a133735be2d1010777cfc739afc77b6daa66f367d4876dccb3021fc22c25450a68d6cfb1191d485cbfba5ec45b49286d7cae2bdae553f47e10b94f867abcc6d0affc733bacc725e5ab4de1aba19a39d748b4c1355d5a6a710a52bd04c0c24e7bc3bdab8f3ce3ae86ecb31c4b45e10b40ddb5fdd40cb2411bcf5b1d392e1eef959cff2709a6e02b20ff3b4343641a6b78599586edc9b673d9f3f5e9d339ceebf96a1a31655876c39fcb00b1c3e571908c9b744765047abb5c23ecc42e551e13755e38cc9a13e1e02bcd5dcec9c301fab75be3e1a8ee9c42981607aba7855f4bbe76c8c160e80468b54bdf9f438b177c33dee30b0f5]\n[privateKeyPkcs8 = 308204be020100300d06092a864886f70d0101010500048204a8308204a40201000282010100c32cd0e1441fde8a2896ca3a133735be2d1010777cfc739afc77b6daa66f367d4876dccb3021fc22c25450a68d6cfb1191d485cbfba5ec45b49286d7cae2bdae553f47e10b94f867abcc6d0affc733bacc725e5ab4de1aba19a39d748b4c1355d5a6a710a52bd04c0c24e7bc3bdab8f3ce3ae86ecb31c4b45e10b40ddb5fdd40cb2411bcf5b1d392e1eef959cff2709a6e02b20ff3b4343641a6b78599586edc9b673d9f3f5e9d339ceebf96a1a31655876c39fcb00b1c3e571908c9b744765047abb5c23ecc42e551e13755e38cc9a13e1e02bcd5dcec9c301fab75be3e1a8ee9c42981607aba7855f4bbe76c8c160e80468b54bdf9f438b177c33dee30b0f502030100010282010056d0756ceddf7b1e5b258f783b99e036e25675eca054ae9b6ed7552776c69b2728f76e08973556b0a35ddbade9d462ed12bfc46fd254a07ef4ee043ab24d1ef00f8d214cd1d906911e92c4a212d9a981da74b8d18208153d583035d6642b87a23371787867efd02c336eab01486266c853a052490deaea430c6043a6b240b6e9d71e16f29255f2ceeb35d1a4ae25ae0dc9a436fb5dc30381cce982acc824961976df683173a02a540c403f3c8560243ceb5b798abcdc20f3c85d9532b0f0b0826f1b6352c5adac757fe3224b822455cc529fcdc8a220b0469f321f56bd1853d8a70b893f404cc06317e084173770c7d4c836281ac251353fcee4ac393838a1a102818100ea6010a0017d4073198610d0e761f286e3a1133eeed71b4fd4dfb0d8b52e1e1d8ffc58d9c10396629952eb002369b22bb9c3313c80330c1f3ab7a3fcf8d0fbf5a1c0fb7936ef20d51373b21bea72fcb7f70275ac41d97b566b71f727a32f0006de15e7f9bccfcc3224106f6b1ae62d59380065a48ef7bd015ee6dabae0f9d78902818100d52ed808d74a79b3ab515b4f2fe7b41027472c3785eb25587ae31d3500bf3c6ef20c427e223efa4f2911cd38cfc4479f28ae495fe3e88e94c236c0bc1323d71027aba290669ffbd7e0fbb6f615df1c9e4fe5abb5a90d4d0b6d1dea0ae2b249e6a5102092c998b60dd920d09a2e6ecf2a611793016bc0c92de3b9d92744bc070d02818100cb64f6c884c257ae0b56673d83af62b360d3a64a1527a3d211e0d62e1a7d9d30f6857dedeb2cdbd3514fbe14eea689329d1121a76971e3712e99b3bc9389793edf5304695b1d0697233c62330bb12253dc0ecc63e2f983a9a9b0cb5620ad670e8ea8e019c09b6c8f8ef09c608c85789156a231932f671b251760ac2d45944c5102818100b616befc3e3824dfac535f74b1ec6d46e6e5ca04dae4510fd4572d595a7bfdf89dd28ef101fb5cfe448c2a087e9e9eb6799ef4996d27f4b1677a3101f42f46c14bc134a7b6a0ac1266df5a15b3f4d0930097a22516727ffe64838aa7259f37b44405146d8cb85db8525fcf0e02df2f2079b21324c18ef7c7b49dc7b7dce3e5f902818040fbda2e571060971cc6aea0c1cc82beab4fa0361de43a55bd2b399f25ed89e33c48983f409d9f27292770d5c0ac1b31adf766045e60d67b89957c81c0f3b7706c3e1418926bfecba0242ba54ed95ae1bc73b67ddb1e3f4161380cbbf1db7d3dbef852ebb38063bc2544c9c29f47f416f14eb1ea3cf2bab933d21c2c091293ce]\n[sha = SHA-224]\n\n# tcId = 1\nct = 03aea385d1f1321eeac78684a79ea101f54adae40474a54c8e574e1ae3871634050e5b596461730c345cfc93224deb7a26ae40f30a0497d7c6f0e141e9657b84bf9e20606fa7fe6e1c921d8de5032ad8ecc37b7c3247a56b3992c7c63dfc3fe2f22d7c4904fbddc371f560fef052f3ed89202bcc5f92f5a7fced461f984406554eadb85ab7d2bd7fc576d333b8876f82860c94aabb705e34e5f385cc2d7acfc5463a0135a15ed3c417789e0b8873d5fa0241c9a0d9894f617cf55c11fc45a47b3fcc04fa5b57e9e188addcf259a0f8051f254b6a57c2af22cbd4eb2c411e229045efbb577da4f480989d173a2fa367af721088547a8a219ff2466561eaa877e1\nlabel = \nmsg = \nresult = valid\n\n# tcId = 2\nct = 5d19107e5f9422dd3d9e2207ca637f7347454c338c3191ef2eb5687a49f6570f723aab7ebbd78abba840942e74aea052dc24792c9eef1d72c148733c19776216431f917b81a9a80ff4b1883daba20dc6c368c525a2105550715a374583b56f9030df876d67b229fba732369113585166e41f8b5bb7735afc50970396f47921cb2d6c8bdedd5ff1f0411c804e412c2523da5354a0232a46bf9268402fb952f0ca00d04bfc4504c2ecd9772001b2d77be4731e131f90b46e0d0f51a6f7d787d95f01ce64f78b0c4759db1e4546857658b4bb899cb2e024d15b8bd14d0f2fd02a4001be3b6ab35ac589a83234d8d906750dec3e509332ca081969b26a1dd0ac7614\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 3\nct = 00d7ab45e49e37e0d73d9ec5d477985b51d9e1b7b9eb67a8e0224f49d8a3432c0dd8df02b5dbe8962b8a3d749d71e56c7871c0b4137d98de5b77d5f94bb448e124b57b2af9c24004bb693baf2d9f54fefe770f6f320cbe73c0405276b09b1d0627b3018787a3b27e09aa0b3ce50a79f946fc45746de72a93554b993936d3a41bf90bd9f2913f5580c8c1c1b853271286dacf275280faa981c78dfefcd4dd09b6f09bd5dde3ec11b02eb4538e43fbae835e40f903c81744797f04f5a38409a502f3a7eb9447a342dccd82fb192601d40f57192255f751f102e14fedc7e7aa81c770c6b72dcb853366b7a18fb11b8e3b3ee218e59f2dd74feba1bb6e06a87405d7\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 4\nct = 942fc136ac976cfc686ed13a38314c9c8b570a4afa2b18ae0a3cc39173a1430c1cab8893d530d4bfbf98251035d1fc18d18d905ac86792a1f597c08de11d9e2487dd78900a0bf79239f75e155eb0fc6d151cd7acd4664ac606c396494969422c6a321e12fe747a3b0601afaa43a0d9c08c776a7bacd68ca04b3b5dd9e8c9dee6773cfe652b923ff9d4e82d353113fd7e0264189556b1f28011dabf2fed6beb47498af5a6a8b0b1ac9640e5acb53ebb90bf29b7783a01ad6b4f4595e067711a49f8f1cf00443292251d2c0551f89e4271140b03681e8f4fdfe62e588f565c2e5288b3b14a488f14751b5a493290dd9365a48ea33011ffadbd2b898bec921bb1ba\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 5\nct = 36deb3f715d91d4f2c5a21a028f87b227dafedb7c0e064712dad36c276fc15bea7d0d3671b115323849ecf52e6326e5f2b205033177410eddd8e29fb06a1b93e99ff62ac8f7dbb973345947de615e9a8da910b5c810732985c3020d93e7485c69801b7ed49433ad66a0708f26d51c0fbd1c73cafc4c89f50a20a09369db4d065e9cd7845be623e86f497a0c3e9485701f18006b8130210cf09c69dcab7ec0e3c166fbbc5cc78c89dbd0cdaf7219b03dc580b4b8f7497c1f9f36d1c61e1609be1f67b892871ded426121c5f83e38d39127c7b574157e2f4ca589efe094c3472348bad8ec5b07b4a2f3f68d4176b6f381930ef377c640ae8491b5bc3249a5296fb\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 6\nct = 39f8f5ee290e93d4a36b96aa94a3bb7edb33c0fb6565ca6a99fe2434222be6b6846af4daa933bc6ecb62e963d2e107f51bba8a92ea5a4e6490402102dd378a55c0ee2224e77395e27bf28a216c6f929db2c2c95721d1448160e888aa93251c966858535146a70188d87443416101e530cef68a1781f10368ceb43c287c73cd8c44592c56bd8f2bd501284c3118fa0f0402b42ca7c4ea3a917afe71ea82df1655a39c650ea6adc9d73e789970d9b3bbe3f34d0fc4dc5fd51529cd328a62dee0c30eafbaf7dd51de3c31090833024124741966bc8722a157a8e71ed60bb3ef4704ebfabeba4ef67edfc5a120a0ee3316797e0e6a9ddb4d3bc7dcc9f4c262fe022d\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 7\nct = b798998999f0e4318470e72841a57733c842f174121247fbf3e59e7724bfd9501425234f8616d288f0dc8206c727aba50c13016d4be6f3bb64bed9dc5122b94522b8987a9db93403975302ef6fd585cad02556a735ffc5332d362272a07c1ddde4484639ab767e39881fa1c0077aed9e8ea4f6349f59940953c956f52065fde0a97624d0840fa610a46dcbdd12b8ea3c56c5873e9fb3f58e43ac719d50c75b434b01fd7f65c7eabd5a71f305561088ffd2fa7bb8698d16455a81d233a4dcc4c1f12280bae89741ac47885552d21b37523ffa8901a2256b3f7fd410b6d842a786ce2cd6ab81a7596ce5479eee98aa3836a22ee8307888d9365a962f2746b01430\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 8\nct = 2860d0785fcecef5d43ea029d6ef89b978b25b091a2bb64ee1b95da7dd257ed644a5e4ae1437bb20840715895adc9b2dfaaa1a427ab35d6380c0a6840c022a2fa1eff9b6de19568cf8276ce549365c768a0ee6d84c4c4f4c582ed93c297e83507c8495b3951279b274215cbae88de81447ff5d5d9421fb025a821a934d0103b9efa6d36067cfd394751251ccf4418e32c283ace982f8ee86635b9489aa2e756ccf6d2773a4c8613b89", + "9b7764c319153762a9ad14352538507d36f70f56e47c74e2786b8197ad42e2380324ba8cfc80d354eb4487e3642dba175cdcd8382f074e170e326f2cdce0cbdc3831aae1e1abb87756e503520b87a18eff17fca24fe20c\nlabel = 0000000000000000\nmsg = 313233343030\nresult = valid\n\n# tcId = 9\nct = a13447bed3796370d356bca37fe2ce27d19022301007dcaafa7162de0897698bf706c3c4594107e9a3585091178a25f458aed6e63eda039b1ab89704757d80a94751ee21c1fb672ca1a8f448fe8d959ec226867bb13dedd1b870986a9e7fec6893fd2d8d533ff13e60b7d61303e123d1f50b7301ac9dbce4480cb3d334b72e048f8740a5b9739bd07beef64265dcd6576dbbc956095aa586a1f22962dc96a00baf953faf836dce03568f3bea85696b074c9e1180dc2f801efe48a47e0735195944891a866d3e2cd1edb8333bf5164b94e618b1204af410644d966fab0e49b23efb23ee2038dfa88bf231ed1deab19346c4833f17ead5f1a2f15d695eef4e14df\nlabel = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 313233343030\nresult = valid\n\n# tcId = 10\nct = 19dc98b0bd6a47a1d0cf9c9584bae53837bc666029ba6478152d23cfd36e72f1c686543a5836a6420c5f2c984c6c025cd26ec5c6a74ca4e0eb87ea26ad2ee94365c3a6ad0928f9bc9f560bef8b2830374707f7dbba0a938b230f8a42de6645fe765422810eceaa713e8f78e0fbe48b70bc636e21030a89b80118fd4bc066e4d5400529e9c2f8984bbd5800168d72329bfe0d86ac71d3b3d7aa749b1d860afc9b49dac1ee8fd12b73ffa7c095c610df9d502e80c8108b6c944eddca8162666b7955d061231a95698c4c8470217ef9c47ad1003c80f032d95b7a29f459d7ddff205a9b02513f977fdb72b148869527539c0f21a4d749a0301a2fc686e12a2aa6cc\nlabel = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 313233343030\nresult = valid\n\n# tcId = 11\n# Longest valid message size\nct = 94ad881563060d9ac62c32f57f9cf08c57ec10bcf77b35a67ce89da68cf8569e2e6891ed966ab988e68a0e6e44b389a57e2ceccf4e7e32d6bb73be98db72bf363d0da8a20d063e9be5d9f4c62e718004132c9cf876ef58b07c122f02691896df3deac296dbf3e1f6841d02572b6e297d2f0c8a54cc4088fc9bbc0f67f9de75dbdf81cd48e2f45b3b9ff2bdd3ac749d4f43866ecea7483e810cd3c332f055cea1525f263c54e5ca3e1e049af11850bc836e6064cda5cf9204e9cba0857b1fcd65654e30b062e980150d541027a212ecda6985f7e93a0f799679a7c36918aa39de158e0fd52c5cdde046fe6e4ee67f20ccdec1c4d328098c09e6b2fe4251586b67\nlabel = \nmsg = 787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n# tcId = 12\n# first byte of l_hash modified\nct = bdcbfb51335812a53e7db2c1b73ed5585fd7899936adb790f4b10327ee075714e21e7df55bddc6888adce032ffe1935d37178adb4dbff608eb5f4cf9e29bc32554358a829ad0b84b1cde5da1018440fa31f60ca72407f5604ea216a139c34034705d295bad65cb9fade9951e17d1ee85f4a46dd4ce81bc878daeddd800d0296eaa90345dcfd83f6dff5cb3ed87c7a8b5985b2ccd7f925b67d39920438b66c1ae1c1321fea7a8a90023f57cd97a50081c42d012de9ba5b98a1aec7da9929cf783def9efdafeaa8d9302da9fd44ec252cb5a97d5dd4fc6f68daddaa9d0f431b7968386df1a514f407f1342e33b996ee9c4b5af934f1aa2fe1e1ad485438d497afd\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 13\n# last byte of l_hash modified\nct = 61b8f5873124a6ec36f1ae35081f79e17516362e8e7c5ddf3f44af7070808411db7182a3c82b70cb4c0510aac537a817c6087b907627cdccfcec4cd4b0a901f8aa2ef75e797457cc6f5a0effaaa9b6c542726eb45e9b27e3040d9dd283cb92f1514d93f00f9ea8f40170fb26129d82f169d5e3d9e4d57a38eac39a5aa5dc7fbece162c2f0f13fc095894f323cef093eaa2f000507fbe9d2fa22078bf824b9df7b894ec9705c16e9dd43d2c98f11594e04cf120666c72c8192658e94b02ac89876d51173bfe282c90ff93a5a68d1136e2ebc98fbaf956f28c71df44975fc6376003e713dc5d89ef08658a4d3686a198a4d140259e213f9fbcf5471afb3e0bdfae\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 14\n# l_hash changed to all 0\nct = 4fd0d013bedc7ec38e1cb2bb2c234bec4a91733c1363f1dcb7ca47b6d4c8cbd56d7d75255efb3d5fee9f0c1bc5f00560f14ec1947274287153f8db015df8f4f4db9e9d0d9cef10302cac8cfeb72e04feb612ddb2bf4d58a50e19d77027457cbcc158dbcc845ad48b13d710ba1156a9d8f50a27da1e09f0c449e4571a359b4bd9555dad9f5b9354d6ebcf31171704315f6daff2a50b9807dfbfd94264680f44e146039216d83821e27c7933cfe13efb6b0f3912c51dad42bf433d89ccf52a7de04b59931665ed7ca91c7b9b9ce9da70c47c5e91f55cfc6f97c88ce230dadc2222e25f8d25f6f669762bc05e3888b9a05bfc03ea32cc43df08c84219d5c75d7283\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 15\n# l_hash changed to all 1\nct = bd6952203734e2d690c1468c7707b6976f802e82d79a786b40e64275d563b36f1e91bc99853eb3c194d265509b8011ca2d553f6fbbe7a0d6cbb1de6a61dc2b4f6f89344b3033f41e0b302eb626f800c4cf316dbed56580210f951535656605ff142fb8f4e116663b17e0cf8725de29c385737660b4e04c0b710726a70c39d5c417c12a653c3be05031958b1a14befdf95c582e677daa8364fb5ab08cc7d9aa59e02792c44867f68daef5eac69d81200d8dc12dc34be80bece0b80cb16b40a6317ce24ee21e8c082af1598bc4f590459cbf469ddfa4130118fd4686ebb636de9fa41216c24885726d53ebfe50bdb41fd93ae97b079fae913694543339e5cb3ec7\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 16\n# first byte of ps modified\nct = 916331689c162246baef783597f0448e34dc5d358b7f00fa47d5549f4fb52c7607c3a3d571b0930705ea61da60d59e96f9b4cb9fa6aac7fc737cbf6615c98b4f8ecd4a0c27878f469edba1bfc1108b104f73d90f089621ba85a938714818efa68c0483359e014c69c84209e1560b8692b8ac90e6164796cd1bc0578805d9e7318bbf08345835c67397eddc2d326468f594b2d4ddaaf8c67f5dfd998eab7c2fecb6a9ce63bde38cf23e0b0f252dbe964647da61dd054d10c5ea82abf730b0ef1722f98aeb15dda842a099501246700dc37d696177f52345c7a8be7bf55d0fb0f134731fc138ece8feee540bfc0da05edb375a1c0035e6fb0168a6424cf25bec5f\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 17\n# ps terminated by 0xff\nct = 7d9133d56002b70d758be84c5765c01ada73449ad76776d0dd6995062b5707c6033cc93a3d3056d5cb576d5c8ef6e65f8f3aa2555a454a953c405e5163bf2b0e7f6fbbc9dcd210430862ad22628dc2529179eaaa047f2f87a5f5831a36b604a117908a2170497c218db30110812da89559c5ebaea9281429172088558b7754624f1dd71cff3eacaac9e71df7e4404129cc1b7a1d77c5d34167a3ac4214a74e11d154e1ad42c4d12e9ea32c40bf3d92b356ca5cff7ca65c5cab2298b2899c00fe15bc31996038b577f50204d0def12c900bbdbff4f7ddca011437e01ec923ef76144f097c6951c0606c18bb200c700f451529594512d4ec4c55980c7c0aade461\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 18\n# ps is all zero\nct = 8dabf24844e59cba5ce1ab2a32862c6357c465475b98cfd54c5dbd07017e0ba9215aeddd2dde36d2db9891661e6a8a9ca5bf9676ed193047dbd140875f312fee28db4ffc433dd8edec1fd8c342faaf36ee398f8aed0108a3ce98f145883ad126eb025a011c64ea51e2008a14fde229622275c8fda70f3bb83d92597a110c655cf6303a96bed0ac6955501f14b663255ed5cefa0d7a14ff79a993c4f42db39e67530d0263b55832678bf1502d2defc59bf6848d2929ff8959cdf4d7e44c2721786b2306a8e6eebb4ba8d470d15bd8e608652c5d3922aedac36727ff02b55f3e4eebc38924392d28306f8e364f61d8f7cf4749165790cfaff47c3ba7c81ec5430c\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 19\n# ps replaced by 0xff's\nct = 4ea21ab2ff547aa2e8edb93ce6e041b654793095327f4fa21f5bb5a06d84c40cdb428e99a4fee6e90697cc8e79f5a1919b47d057b79bf4be5baff430c28896a336705c57da70586cceaba902aa3740be61b41403d7bba0bf939ed2faad83206e0a41536247fc8b8e4e58686d0d19b8cf3aeabe578f4af256100a79472c4d501dc32bd30d7a921574b1e0d4f4ed2151350d246ceff46abd7b588d66c519d7191231461aab4009c03c3995b9e3b7296eddc6db550d8e6f57d1496fcf2d1c18b993557f11a7df438d4a9c73b680fe653297af059964a691bfdb378497528c1ede29bda74389bc462f6729d4ee3303e6e4ea17ece5e270e2dd2bd5ac6f415f972a9f\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 20\n# seed is all 0\nct = 8d15a2f44d4b458af3d83dc082cd75e1fb78f6d8016a22458afaa019bcee0fb298d2990941c1bc9c0594fdbe4d292183b7b3c7d3a747117cab05a1312c34ae5ab16f25f7f002b8ff9cc905d2372601103f12c6c69d91ef320d0f31775fe72f8d7db1e8e0b7a6f45fdccf017b74d4e6a3af16099be38d605921652dde236101c16ed6310e126e36b74936a04ca0fb0c26b0d4b28b1aa2ad42cbee98747b7c43ed3ad7a5388cab80b25b5ef5be9fac24f6d0b373919493f928df49bb415f7842b47c13e44f45c042da263ea3b5b989312bd6284fd049a59ffc5eab219440874d173bd11744419aff23450f86d7c7bea2a341361a306b299a8513a94b9c034bfed5\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 21\n# seed is all 1\nct = 4f802efe0073cf430f7af010f23dffdca40a4a53db96a5cb00431170c6ea57d3", + "bd6d50cfb0cacf6772017adc41810de36f020efb1e00e500a3ca6329ff3d88d86322c0764d4b11f75746b78dfb0838a848d24e0c471d58743a296f10b3fbf44375b289f87ad7ffcbafcaa46a2a0301270b48d123d61ea6f21dc4666df0ea2078140b742ae75c1887d29742dcd7b92b4cbda27b98d8e16b43ced64d5e2a207778d6f022f3228c0b7edeff81437d3669c418186e651b7ed2df8963c5a71726d1f507c8fb694a9a94ef7ff17dca9e1bd79c9686097e7286665a454a9b68acc4334349d99b9d5ab7093fc36c0c0c11d41ac6de2e4c3935bd0ec2eaba1502d22ba0d3\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 22\n# First byte is 1\nct = 91a3872121d32ba547703f8a0b9c9aca280f099b9c559998fb39d8841f7ab6a1fdf05a81f246c324ce435d7d9ea135fbc989e15a56df082b5e1c47b3b40f86cd5db01304ffdd328ae99d205d4185bbdf506acba181cdcd2d1d48be3b860d96e0c6ca54ce626372a2a749121af68523decff2c4f02d9d6bfb3d3b9a175e9ce1f03e4616230d32d691a4a8455ec09995962d651cb6f85d2cad6b09e35274368f2eee8ae5c7aa123a16407bcdb200bb351ede750f4798b083ce82f2800e04b66fd2be942b4a64d56dd582de56e3da7facc71157ddaa124502cdae10591eac676df0c94224649cd109027af09cb147dbfd9938488e7be36cb1146753e7656421e90c\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 23\n# m is 0\nct = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 24\n# m is 1\nct = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 25\n# m is n-1\nct = c32cd0e1441fde8a2896ca3a133735be2d1010777cfc739afc77b6daa66f367d4876dccb3021fc22c25450a68d6cfb1191d485cbfba5ec45b49286d7cae2bdae553f47e10b94f867abcc6d0affc733bacc725e5ab4de1aba19a39d748b4c1355d5a6a710a52bd04c0c24e7bc3bdab8f3ce3ae86ecb31c4b45e10b40ddb5fdd40cb2411bcf5b1d392e1eef959cff2709a6e02b20ff3b4343641a6b78599586edc9b673d9f3f5e9d339ceebf96a1a31655876c39fcb00b1c3e571908c9b744765047abb5c23ecc42e551e13755e38cc9a13e1e02bcd5dcec9c301fab75be3e1a8ee9c42981607aba7855f4bbe76c8c160e80468b54bdf9f438b177c33dee30b0f4\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 26\n# ciphertext is empty\nct = \nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 27\n# prepended bytes to ciphertext\nct = 0000942fc136ac976cfc686ed13a38314c9c8b570a4afa2b18ae0a3cc39173a1430c1cab8893d530d4bfbf98251035d1fc18d18d905ac86792a1f597c08de11d9e2487dd78900a0bf79239f75e155eb0fc6d151cd7acd4664ac606c396494969422c6a321e12fe747a3b0601afaa43a0d9c08c776a7bacd68ca04b3b5dd9e8c9dee6773cfe652b923ff9d4e82d353113fd7e0264189556b1f28011dabf2fed6beb47498af5a6a8b0b1ac9640e5acb53ebb90bf29b7783a01ad6b4f4595e067711a49f8f1cf00443292251d2c0551f89e4271140b03681e8f4fdfe62e588f565c2e5288b3b14a488f14751b5a493290dd9365a48ea33011ffadbd2b898bec921bb1ba\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 28\n# appended bytes to ciphertext\nct = 942fc136ac976cfc686ed13a38314c9c8b570a4afa2b18ae0a3cc39173a1430c1cab8893d530d4bfbf98251035d1fc18d18d905ac86792a1f597c08de11d9e2487dd78900a0bf79239f75e155eb0fc6d151cd7acd4664ac606c396494969422c6a321e12fe747a3b0601afaa43a0d9c08c776a7bacd68ca04b3b5dd9e8c9dee6773cfe652b923ff9d4e82d353113fd7e0264189556b1f28011dabf2fed6beb47498af5a6a8b0b1ac9640e5acb53ebb90bf29b7783a01ad6b4f4595e067711a49f8f1cf00443292251d2c0551f89e4271140b03681e8f4fdfe62e588f565c2e5288b3b14a488f14751b5a493290dd9365a48ea33011ffadbd2b898bec921bb1ba0000\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 29\n# truncated ciphertext\nct = 2fc136ac976cfc686ed13a38314c9c8b570a4afa2b18ae0a3cc39173a1430c1cab8893d530d4bfbf98251035d1fc18d18d905ac86792a1f597c08de11d9e2487dd78900a0bf79239f75e155eb0fc6d151cd7acd4664ac606c396494969422c6a321e12fe747a3b0601afaa43a0d9c08c776a7bacd68ca04b3b5dd9e8c9dee6773cfe652b923ff9d4e82d353113fd7e0264189556b1f28011dabf2fed6beb47498af5a6a8b0b1ac9640e5acb53ebb90bf29b7783a01ad6b4f4595e067711a49f8f1cf00443292251d2c0551f89e4271140b03681e8f4fdfe62e588f565c2e5288b3b14a488f14751b5a493290dd9365a48ea33011ffadbd2b898bec921bb1ba\nlabel = \nmsg = 313233343030\nresult = invalid\n\n", +}; +static const size_t kLen122 = 25538; + +static const char *kData122[] = { + "# Imported from Wycheproof's rsa_oaep_2048_sha224_mgf1sha224_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSAES-OAEP\n# Generator version: 0.8r12\n\n[d = 56d0756ceddf7b1e5b258f783b99e036e25675eca054ae9b6ed7552776c69b2728f76e08973556b0a35ddbade9d462ed12bfc46fd254a07ef4ee043ab24d1ef00f8d214cd1d906911e92c4a212d9a981da74b8d18208153d583035d6642b87a23371787867efd02c336eab01486266c853a052490deaea430c6043a6b240b6e9d71e16f29255f2ceeb35d1a4ae25ae0dc9a436fb5dc30381cce982acc824961976df683173a02a540c403f3c8560243ceb5b798abcdc20f3c85d9532b0f0b0826f1b6352c5adac757fe3224b822455cc529fcdc8a220b0469f321f56bd1853d8a70b893f404cc06317e084173770c7d4c836281ac251353fcee4ac393838a1a1]\n[e = 010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00c32cd0e1441fde8a2896ca3a133735be2d1010777cfc739afc77b6daa66f367d4876dccb3021fc22c25450a68d6cfb1191d485cbfba5ec45b49286d7cae2bdae553f47e10b94f867abcc6d0affc733bacc725e5ab4de1aba19a39d748b4c1355d5a6a710a52bd04c0c24e7bc3bdab8f3ce3ae86ecb31c4b45e10b40ddb5fdd40cb2411bcf5b1d392e1eef959cff2709a6e02b20ff3b4343641a6b78599586edc9b673d9f3f5e9d339ceebf96a1a31655876c39fcb00b1c3e571908c9b744765047abb5c23ecc42e551e13755e38cc9a13e1e02bcd5dcec9c301fab75be3e1a8ee9c42981607aba7855f4bbe76c8c160e80468b54bdf9f438b177c33dee30b0f5]\n[privateKeyPkcs8 = 308204be020100300d06092a864886f70d0101010500048204a8308204a40201000282010100c32cd0e1441fde8a2896ca3a133735be2d1010777cfc739afc77b6daa66f367d4876dccb3021fc22c25450a68d6cfb1191d485cbfba5ec45b49286d7cae2bdae553f47e10b94f867abcc6d0affc733bacc725e5ab4de1aba19a39d748b4c1355d5a6a710a52bd04c0c24e7bc3bdab8f3ce3ae86ecb31c4b45e10b40ddb5fdd40cb2411bcf5b1d392e1eef959cff2709a6e02b20ff3b4343641a6b78599586edc9b673d9f3f5e9d339ceebf96a1a31655876c39fcb00b1c3e571908c9b744765047abb5c23ecc42e551e13755e38cc9a13e1e02bcd5dcec9c301fab75be3e1a8ee9c42981607aba7855f4bbe76c8c160e80468b54bdf9f438b177c33dee30b0f502030100010282010056d0756ceddf7b1e5b258f783b99e036e25675eca054ae9b6ed7552776c69b2728f76e08973556b0a35ddbade9d462ed12bfc46fd254a07ef4ee043ab24d1ef00f8d214cd1d906911e92c4a212d9a981da74b8d18208153d583035d6642b87a23371787867efd02c336eab01486266c853a052490deaea430c6043a6b240b6e9d71e16f29255f2ceeb35d1a4ae25ae0dc9a436fb5dc30381cce982acc824961976df683173a02a540c403f3c8560243ceb5b798abcdc20f3c85d9532b0f0b0826f1b6352c5adac757fe3224b822455cc529fcdc8a220b0469f321f56bd1853d8a70b893f404cc06317e084173770c7d4c836281ac251353fcee4ac393838a1a102818100ea6010a0017d4073198610d0e761f286e3a1133eeed71b4fd4dfb0d8b52e1e1d8ffc58d9c10396629952eb002369b22bb9c3313c80330c1f3ab7a3fcf8d0fbf5a1c0fb7936ef20d51373b21bea72fcb7f70275ac41d97b566b71f727a32f0006de15e7f9bccfcc3224106f6b1ae62d59380065a48ef7bd015ee6dabae0f9d78902818100d52ed808d74a79b3ab515b4f2fe7b41027472c3785eb25587ae31d3500bf3c6ef20c427e223efa4f2911cd38cfc4479f28ae495fe3e88e94c236c0bc1323d71027aba290669ffbd7e0fbb6f615df1c9e4fe5abb5a90d4d0b6d1dea0ae2b249e6a5102092c998b60dd920d09a2e6ecf2a611793016bc0c92de3b9d92744bc070d02818100cb64f6c884c257ae0b56673d83af62b360d3a64a1527a3d211e0d62e1a7d9d30f6857dedeb2cdbd3514fbe14eea689329d1121a76971e3712e99b3bc9389793edf5304695b1d0697233c62330bb12253dc0ecc63e2f983a9a9b0cb5620ad670e8ea8e019c09b6c8f8ef09c608c85789156a231932f671b251760ac2d45944c5102818100b616befc3e3824dfac535f74b1ec6d46e6e5ca04dae4510fd4572d595a7bfdf89dd28ef101fb5cfe448c2a087e9e9eb6799ef4996d27f4b1677a3101f42f46c14bc134a7b6a0ac1266df5a15b3f4d0930097a22516727ffe64838aa7259f37b44405146d8cb85db8525fcf0e02df2f2079b21324c18ef7c7b49dc7b7dce3e5f902818040fbda2e571060971cc6aea0c1cc82beab4fa0361de43a55bd2b399f25ed89e33c48983f409d9f27292770d5c0ac1b31adf766045e60d67b89957c81c0f3b7706c3e1418926bfecba0242ba54ed95ae1bc73b67ddb1e3f4161380cbbf1db7d3dbef852ebb38063bc2544c9c29f47f416f14eb1ea3cf2bab933d21c2c091293ce]\n[sha = SHA-224]\n\n# tcId = 1\nct = 5b467ce0a97ef94c7956b5f2ce08f88acabc4e9d6e7b83e6521e73c03abe9fda31c4c2c61ea1dcf5a4bea5f68cd1c17198c9c9f22cf9bcb6797629b9db4d96341503d7bc1286c0c47faca078594ab01530f88dae2fae71e5601c8a79040c81afda8f60fc1853df885885d8d2cc6bcb905f105f448d984e4a2374e78e4c357ef5674fe9917e30196d33fd97c4d67cb98c2a0c3f30c410453679ae748fb922a91da74359ad8dd9b00865517e7f225a8c999bf7c93bfa83bd687404425321e73f9e1fb97c11562f0622b217b09ac3542e0ac650a451011431a870c2ad77b9be4c72068e25dcaed1f2f9cf9a2a8336b407711c3fe16f2bc2c12e5454275ef783c732\nlabel = \nmsg = \nresult = valid\n\n# tcId = 2\nct = 9dd1ed2ae7257d576d793a110e0b39d85fe2b312ede286f0c1bec4fd975f10f9f51d9cb1b467de234697c428094a87879434f21f91e39fbd2e1d4b877313af6d9c92f4a7a16ba148fc5bd48c5405e27a9bfd6f2832f0f40fdb32ed3067fe2952060e5726a9a97d55e055b623cc42ed6a4db870f246ece6e89ce346060a4a5cca214a35e868231528c0c184a167f1d7c331cb0c1af95d6abd6dda250262aa54f2f6016d12d3b530dfe09d31eb182ea3718d8241bfa3e60137db838043ef4cce8ba28fd32b94198501d8d3d81dc9cf7eb5163c41753abee2ccbcbd368b8383b39bfe0739fe84f3e2b32612d01b324e4408b727318356ee38c200d5148b6e246bd3\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 3\nct = a042226c1eac49482797ac7065940a268bc9d7b71a84ec7ab43f2fec5af2e39521780c7410cfd7538acb5d17d213d4e9ee1ae14e44db6e2249f97ef1ee97983e2bab3d2ea4775c4c8cb79f252cc7875dfca5214835dacb1bab7da6bc7781c15b56546f9273f79025fb8cfd90e632da174311aaad6cc5affbee024ff1099395f5cd9f314ec3cfecf089c6703296caa433d6c3c5779645ccd5c2702dd916aa74963c1c11d30af3348ffcd6ab28ea6b8076a8a82df890186c1821c1aa18766d8024885083b1ac5ade07aaa0bc7c5d38acd6fe392f70378e2a64403c39fd4dff70af9ea96b25d2dcd4ea4f9334cc24a888d1cda58af7eb85bf04752c379491c9d8be\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 4\nct = 54a3149fd9a580492b16ab91406c69164f8091ce0f5f57e9c2c798fb1cd985cea1cb7c3d39e2ed35fd5443140b7f2868e3090cb90a4e1f4f9efb8eafbe93e6ba65e2670778f0e82c403921d29d55f3ba5a965ed2bb623f6bd39078b859948a7f0dd929210c192ef7fd28d9ce9d04ac56f785ecdf5b7c98cc2735f0af1474125fefc2c063893868eaffc6bc61c80551093926f2b79c3d207ce310c3cd11063a274760e17ffedb5cfa640080a7c233ba38b95c3976a0a284ec904eb3ac75fd2156763a3968d01aa22886b3eef912e3a0fed03e2652eb18ecf0824e2879d70a586d92ccab823d16fe430fe5b5a4115f079b591c33d31970fa8081972d3f1c6fdbd5\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 5\nct = bb49b660fb692e67ef888b55dc4944726ff955229f20593757eb616a796035bc3ee9d461d37dd6c5a5cb34303eb739b938dd53454675f872db127ca7cc6b77c6ec7188a436c09310004777409a7e680b8631cb420f7e69f04bd8fc3d1f735754a297a05b58ee52188b8fd00c7f1059932b8fbdc5db8321db0599dbae89f62d7a05015ccaff40a0505baaf4bf96a62e0f3656e84fe1b5e14117755d3c2d4395b9039fec8db8d02afc90cc4589d232f501c184753b6c1c9d687a77e6a40acbbdd97be6b43deb327c4a75f3e09b638df85eeb73cf8e6234122f04814c412407003d703d8192e02016d33638765f5aaf83699287095b47eba7d48db65541e4d8f6da\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 6\nct = 9f0a968b8aed115482ee51eb63b25ff07c3294eb3f8faea6af968408f4bb7fec7b456e2459626d5b8bf10ca8e953b0606627607ac227155b7accfa1ec90bd94ed216b7a7bc8ffcdec6f4ad0441dd24f1227a2f2a61e0645fa9a4d325f5861479a51af341bcfa8f699c64c02b5d2979cf7fa6ff2316aa3546e31bf0e17b0974252019c61783594adad3f8ba9b81780e17a646528e111994aac91fb056a57c19fedb948bcf1270573ab35cf903e1ec1ac33ce8359c3dc4210467a1620b1d3928782ad079ba9bb1f2040e157c7e5963594a7bc855b9a476adcaaa3be95f28ec49c934bd2a2440e6110ded6f02ed569206cc986a40f60ea4a97b30f5dfe8f38a6e30\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 7\nct = 3a2f3740f3df888485a993c169874d624097050697b21f5d3b6d19bcd373a6005f633931446147e8a4ee53fe11c305d397670019cc03fe83eb15431de666c1b7164184c33ce2508bb0c0e0c79639e6be07b7f5435d37e5f1279bf033ace5fa259c83b19a62f8f9df45cf0fa8a2b1b0b3725926c40a7fb2463da7e80e4dddfb260b3129d4dcd8f05e728f5cb6cd484b2328b8d8c5e421c9a7227daaa09cd0e7425886a9912a38d5e6cb716f0d148e17ea1ffe520a94d8b6235b5c82579734c642717cdac41d65aabea49e05cbf41ad2554ffd97fdf73d14d783e80f08eadf7fd522961ab00d89fd964b6f72039a5f1c76cf029f2177a80bec3cc89475ea3c9010\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 8\nct = bffe021eb677345763b20dda24b4f482d02b9c42a3948fe4e90391f079f527471795b8ae9c8bb1b5437f56b8a6f60e5623433b02851a387761e27426fea806ad68ae140cd104b0fda542b1f00130bf89fd565c13cbdc28a27c980a0707d1d5a1fe275aa2acec5290c2892a0a28f6b7e546a89706965d3be0ea55a664471b03017a3c4414c1c694484b58a38eda72091cbdb2160f699f5bd1f53549f4e03de3d7fffb080bc57bb2", + "835fa1bad1c19eee3d330f3e8eaff8110f226ea824842ca9996632b832a4509333ccff3ada3c6b9431273479ea1d0e541fe6494c9f053ad07d6bf9a4ca17d64fe50546428ab72fac1602637c7eb7ddf6ad081f6c9d767b4177\nlabel = 0000000000000000\nmsg = 313233343030\nresult = valid\n\n# tcId = 9\nct = 100de36f08403f5f8d3a42342c9471b3a59f412d641d402971d0208fcdc7f28cc5517e2d6aafc79d59a49c654ed10285e75f8b600f5ac4906d3716dabfd42785b6698147dbcca09eef28ee96c78699b688428e2de34341ee0c81febc6ed43512cfeb9304e2e40738a20d7b4847742f9fad3824f0cf06e437b3ec1061ce8aad0892689c3388ab6087adae203e23019875768bd53a4568986f9cc91a65a5e5e50c0ffbe07bad0f002a03dbb3b3c61647c35e23d8658879956fc23d5591a6142421490cfbe8e12f0673e2e456afd44b6f463ef3d2d5b51755305ad83181bca08f14b2a702e4ef2cc0786b69d9188714e9a4e9a1853011c515a22bb1789c47da7331\nlabel = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 313233343030\nresult = valid\n\n# tcId = 10\nct = bb47d730bdcc0fbefa8cecebd029150fe5d3c967a429c40f16b48c8d07848699a3ab5d68ddb32f76e0e74e897bac9405a1620dbe9ffc2e0d653924bf5da381a903a278ed7489a62ca5b94c7f963a2604d5cca61a637d43dd78ab44314b4eb3547e2e4a72afbabed8cc8d48e23faeb5eb036c42d542578c68d72134feff3cbfc561348a2db48032e08f98765e87dc76600504cb7217fec04ee9050bd3766657719757f389c0b4f0bdb2fdeb8e5757a3a9b2391ee6eb2e6fcfe95764706c0778e4f0f3c7fc024f356f999e5f50c637ca9be7ff20f65edd5c9f6ec869c29657b1792225d8a16574c183dd5f15f084e97a9337e53b56f5d7bc54bf5e031922959f48\nlabel = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 313233343030\nresult = valid\n\n# tcId = 11\n# Longest valid message size\nct = c2edf03b946ce57141fafbc89189daa734d0f388c211a322ad4ad9423ba5f31699abe68d5c03c0ccd56b1a39abd3145f4c0d59955e6cb502d6720c1af31ec511fed541e1a66761a20422f5490d3dadd815390a01da616ce4d7934c68e7b1c53d947803268d81d26429df505c22578f55ae0788cc619567f02237368258d2f591b51d61f088d972c40e4fbd4f50f72a674d25a1cff3b49edc9019ac9945cf2b828d4345398b3aefb63c9f0497ace4b7f9cf6c087efc93802e1c19326585788df3aeef36300f78f7ad016cd4ba6c55eb49d36e0d49f97e1bb8ae12e9d9ba66d18aa76812008eff83e0d7d45212ee972957c355307823fb692bb2041e6acc81902d\nlabel = \nmsg = 787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n# tcId = 12\n# first byte of l_hash modified\nct = a7bf9e3d83a704bc5d3c672912a883d379f18ad0a8480c8b062b05def52191ecc81b2c6a8f5783ca3b401cec23f981f35246e3d45272ec73ed416713a4afb104f344dc9e73c4af29948dfca67f245815bdccf4491c5ee7ca2827934db728e08778eea48cc82da3ffc7b94434d2ce301e801feebcc39a57bc7450ea29d1013c31f716809af36189c3cdca42e78e31408f32b98dc79619628ca348ddbef3f18a942387b9479dec0af05e382ea15bf0280a9027f7f24a3150da0497a13a8f394070515c9be5fa0c705c012415dd7b4201f2ee28af50178f59e5064685d75fa54c187a22f2854051d6084894fd902e43b20f18d14091cb14804fd9e51dc681d1d9f6\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 13\n# last byte of l_hash modified\nct = 794bccc669c6a853722db8e7100d5a76bdddd5997be5ee52bb6b30751672566da38fcc38fcee38be9ef3b9fee98eba9818277fab9367e3f024cb17babf71a71b4c03619de6bf25772b64e670102d5eac40c61250ee174aa802277a48a7488ce9582dedbfa941e7ffc6791515787652964bfbee021da63879251de9c89b9d9b63c547253c1b539d0ddec1074ff864ae6360db0c60492c5a992124593a797e7c4c85ed6bb873d5718a24df180f0739495562c8a522243bfb8c6dcef4bb099b7fb42ba01486e48b6841cadf7f8a8294c0234b779a8618945d7d557238fb7153f9f3fbaa89027eccaa49c75c583fb5b2309650bd4fdcfd3d77b9a181915fbe009507\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 14\n# l_hash changed to all 0\nct = 3155ac16ff4b2c2e256d01ab5adb8eb7127076c92fb72d9dc30f217edbd10183a15dd8fb41ea074dcc27bacdaff2a5c58193fb25a18f15a98bea320cb52be2031f18b247815599f43f640121f91873d8a61cfaea011eedb77474bbbf9b15481ece1b0db5b56049294539168d6000c36dd0c35d11921cf5df1a0eff4cad1a32678700a4433e5fc90a7cd14a1fbc4f819e8ef74db8474d3c1c1aeda496226e8b7e1a184277a064be61e932dcebe94f366831f54088aef277819cbe29bfce1332e4d2cda509550711a9edffa9fa36c1dfaaaccf0d8a67419ad9cf1a5421a2da4cb2a96b94c0aebff1a64e4a932f6361b50685e07e9ecd23634d64a7610def333a40\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 15\n# l_hash changed to all 1\nct = 2df84b7d330dbc93c4804b6112d997d012d1bd3bc0047630c9c7a97b494e295e25b63d5ec98a62878213bf0d523f7b8f29c5aab3fb6ff08d336cb078ac9ce0c3be123eddcd83ae7b8189409f4db89ed764c8dfa4557f95630065e74073bc92e6a725550f19957da5cec59402f82622b86f01f92e896247e80a2cb876014a6decc3cea0e3ca9290eec17f3ed80fd54e2a0410daae5d9705dba809ef3f2068038db7e74d0b1cbe8e1b3634fae69166e0348c9b1fecaf9915e9dd09cc8017b66a2f3d4faa8b51099e69e4f68728c223f79b32bd1bbbb01b9ac4ef18e226b9934290dc8e88369041624396f4dd27f6f570e18d790d29a894c14c1ab62c59b81d16b5\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 16\n# first byte of ps modified\nct = 6995411d2531e2142f0d8bd65d41d2bf17c3f8b74626ae10c84ae86ffd0e53943af5155944da2d9eefe255f92aa8c4b29aedb9851202d93b36df48cc0fa6b70c79b8c3d5bd42f5ffcd1ab9a223b1126c2018c0628651f6c23d5d676365e3a5858cabd99eae861a3e91c0d8136d9e6dac7e95e4e1c6201132f764922b2beb9a47fbe9d5ed12107aa113b50cdbfbeca7ccfe9ae5abbfbbb28804c1f7b155b726294e6b0d77b1e845ac80c1b8e7936cce6229c7202d9be49b90c1816b179012263a64fced7858f52d80b8565ff2b0d7beedfb6c6bdaead108c19b2007b6872e83870133f52fa0caab1842e72be8f9a3d66d9e34cc16a650c69041bbdce7ad707878\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 17\n# ps terminated by 0xff\nct = 5abda3c551401f34bbbbd1d4fc754b3bef1278a4c7a349e297c89ff1d98005c2c230312b998e000926e11132895d2c92b9d91cdefbad259528e1b95e5692b5ad2a60b304434c75ee9ca52a2135ea626b3d0415495062b5433522d802a370aac20123f8060e258d6540debfc200247bc61dbd72bc00517eed3d6ae66c064e7c5bcae2187b152024e8d092664bf1883d9fb64d39d33b350656236b92611a2fded06cf27149d479196a94981264a3fb4763e34afd94550d73615257cbd75ffa421aac56d79c76a63231daf70775cb510892ef88f2472ddf66ee7127112d2cca7006b3cce968538f95250aba7a914f1f3074433be80ec762ae2b35b463babe9d52cd\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 18\n# ps is all zero\nct = 1aae5728fbc6acb37194eab4cf6de62c0d8229094f0c559c285c86d9cc2387c16639a8f567ddf7ea388f6e3785dfce3edf8b3dacc6f6b47ca90328648141623acaacbc02b2440cd5f3d5c41f7537736d9cd5c7a297bd8f773ffc2f616282084e3384c445fa3328ae6448232673e1c1fab93cc441ba6817099c64e22744e23c877720ae09f1405ab3c05837a80bb8f8c9f03476195d1c8fbb8202ef359b4b33911088fe4fbf601044702df98d395b4f2c19d7cecbcb8a544a8e50fb38135d272ed2b8d9a41432301d15822232b361f077336675c36e157d992d2f0a2a467f7a40a1b899ffbc1a310c92ecfa631d03f21a459310c05cf84a0a2bf58c93178e2a72\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 19\n# ps replaced by 0xff's\nct = 67bc8ecfbd98ec151cf04de90f1ecc3da09b7f94dc7f8ada3750c49de7a98173a59b908a09df6877b3787f1b74a5b456f92cddda3f1f14ea05d4531725627a8003773d0f6f14b4dbf5a06690f9d8b966e473741cb695e287c1f3c60aaeb01ca74e673f080928793ac06e609f54e4214ff53107cbeb73f32073ad771566fcefda28ffbad80a765eb52e2e6065227f21f60e06dac7fa34384968aa2d355184fa8202762bff510315ca73a93daf910686d36b77f0a4a9175874eda4ad07023cff631450b2d2aaaf99be755c36ac2bebefca2e402a8e4994220ebffbe080e84582c3f9ca283546ba8b9fba3b7aaeca60d8b9d61daa87940b9e500fbb47f0d6bde479\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 20\n# seed is all 0\nct = 2aba9ba6b55fcba1efd92069966c95ed8b567213bef9fd6bba37a7b7c502f7fed38c9cdee9fc1c221bd651f1df6f1a938a01ef80a746ca9478ae00b7ab697e2ac311425a38e4384002dea66d9824c79b56f05b00bba5b26f852a7fe27a869ef101ca73c1bf8951edfe60da5b5ca9650a2bb04640026720b8c8e94e941b1f6cfa3e9475c2ade8597515ca64077c34e896817fee30d8c80e9b4802b5c8605f7597e7f49025237989bb253e06ce5673481d36ae7f70103a4457624dfecdc953207102cdc2efd5d682907fc4812a31fcb55324b6ba2ef697b3c31cbf82a5113e1ae8fbc2afc8d63a1ac9c3a54a25cbd3db54e934402b1c5b07ea445e4d21f38ff790\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 21\n# seed is all 1\nct = 8941c4670d7798f1a935da39de654e7763329afed53c9ad2c2c6f7e8214c", + "19e8fb27ecc137be1e54b1d51f6ece4e951fa2e7f4e39a3124d9298beae8d2ae35243b83d216301c34010df33faa631b50f87fde7e4f7c34436f62df2330fee4366da95ac2bf891a9fd4fa850f7e15430b8c966ea5bdd78f5172a27df1b56716e1260f71dbc42fd4fd0b92b90e9de67f8b4ff47f20365153799ba212ffd601f0f7e674dc532ccea5619e039068990beae5f10d39e5d1f860018d25a784665d6ad50e06e59386e13b6da201980fa5aa3b642527aba012269691c773484ff2fee7a1b0a1fe6db4f1ffb1a7da8464320ebb93557c5750bef6794696b3022ea92d01bd52\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 22\n# First byte is 1\nct = 956180f6a240d45f212d6eecc906477151f0af704e743ed7789c06baf8cb4c3ab00d30cd0e13a77f1905ef37e55bbaad3c7e80abb5e64f4ca1aba2861d98f504e3cf834a2c669535001b0ba494e6684dbfc2c7f43dc14a80ad73c79856d18c26f5c635015e282bfb4344229d9f7719c743baddb89a2f64bae603c8f3da5e07d09a363a86d3f71b7c038b939516e3930a181f6b00d6e8171add3f68d83c3d82a34e56868c84105afbbeb473a38934af4a9264dab2f8b3495e7594a25df693e71a5806163f1c44f8040aaea20586edce9050e1cbd7f8a2c30e40db9508b66c42f21a9cbb54a4b228455b05aea9486dc81233679ff3bb13a463debd8ccf55660b02\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 23\n# m is 0\nct = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 24\n# m is 1\nct = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 25\n# m is n-1\nct = c32cd0e1441fde8a2896ca3a133735be2d1010777cfc739afc77b6daa66f367d4876dccb3021fc22c25450a68d6cfb1191d485cbfba5ec45b49286d7cae2bdae553f47e10b94f867abcc6d0affc733bacc725e5ab4de1aba19a39d748b4c1355d5a6a710a52bd04c0c24e7bc3bdab8f3ce3ae86ecb31c4b45e10b40ddb5fdd40cb2411bcf5b1d392e1eef959cff2709a6e02b20ff3b4343641a6b78599586edc9b673d9f3f5e9d339ceebf96a1a31655876c39fcb00b1c3e571908c9b744765047abb5c23ecc42e551e13755e38cc9a13e1e02bcd5dcec9c301fab75be3e1a8ee9c42981607aba7855f4bbe76c8c160e80468b54bdf9f438b177c33dee30b0f4\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 26\n# ciphertext is empty\nct = \nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 27\n# prepended bytes to ciphertext\nct = 000054a3149fd9a580492b16ab91406c69164f8091ce0f5f57e9c2c798fb1cd985cea1cb7c3d39e2ed35fd5443140b7f2868e3090cb90a4e1f4f9efb8eafbe93e6ba65e2670778f0e82c403921d29d55f3ba5a965ed2bb623f6bd39078b859948a7f0dd929210c192ef7fd28d9ce9d04ac56f785ecdf5b7c98cc2735f0af1474125fefc2c063893868eaffc6bc61c80551093926f2b79c3d207ce310c3cd11063a274760e17ffedb5cfa640080a7c233ba38b95c3976a0a284ec904eb3ac75fd2156763a3968d01aa22886b3eef912e3a0fed03e2652eb18ecf0824e2879d70a586d92ccab823d16fe430fe5b5a4115f079b591c33d31970fa8081972d3f1c6fdbd5\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 28\n# appended bytes to ciphertext\nct = 54a3149fd9a580492b16ab91406c69164f8091ce0f5f57e9c2c798fb1cd985cea1cb7c3d39e2ed35fd5443140b7f2868e3090cb90a4e1f4f9efb8eafbe93e6ba65e2670778f0e82c403921d29d55f3ba5a965ed2bb623f6bd39078b859948a7f0dd929210c192ef7fd28d9ce9d04ac56f785ecdf5b7c98cc2735f0af1474125fefc2c063893868eaffc6bc61c80551093926f2b79c3d207ce310c3cd11063a274760e17ffedb5cfa640080a7c233ba38b95c3976a0a284ec904eb3ac75fd2156763a3968d01aa22886b3eef912e3a0fed03e2652eb18ecf0824e2879d70a586d92ccab823d16fe430fe5b5a4115f079b591c33d31970fa8081972d3f1c6fdbd50000\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 29\n# truncated ciphertext\nct = a3149fd9a580492b16ab91406c69164f8091ce0f5f57e9c2c798fb1cd985cea1cb7c3d39e2ed35fd5443140b7f2868e3090cb90a4e1f4f9efb8eafbe93e6ba65e2670778f0e82c403921d29d55f3ba5a965ed2bb623f6bd39078b859948a7f0dd929210c192ef7fd28d9ce9d04ac56f785ecdf5b7c98cc2735f0af1474125fefc2c063893868eaffc6bc61c80551093926f2b79c3d207ce310c3cd11063a274760e17ffedb5cfa640080a7c233ba38b95c3976a0a284ec904eb3ac75fd2156763a3968d01aa22886b3eef912e3a0fed03e2652eb18ecf0824e2879d70a586d92ccab823d16fe430fe5b5a4115f079b591c33d31970fa8081972d3f1c6fdbd5\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 30\n# em represents a small integer\nct = b2ed7a397f2245207dd9db69744a196ee5cad1df24e980196f3e9cdb69bc3db3bfdd4ec01780f7a063e1daa0b670f0185ab9c19f37462a1fa76b50a580f9c919be1502d3cbca99c24827c738178da543e0c2b7a8714471528fc54db03921fc9558017e01a2397d9c31136000c17b558b72584a1b25d6ee85340e99ec4ee7163e6f205cf0c8f3077050efe8a244bba2ef0dd2c1d71c1ff6aa76c34ed678d343a644d6b03dcbb0b1e176c18aa952ee1a95592e9880d82a1fd4ae689a9045d90ddb95ebeaf30e35f7afeafb7a127695bde67a5e0a79277db6769022d13e2008e2a1205d67f8776f0f99571ddf73bbc611e3e189223f1e62daedfa12f4a2b0cbf58a\nlabel = ec04b8614d294a9aa508cf5e5f0f29ba3547a24e4c6bf37feea8d68e00000000\nmsg = fdf36d511ab761a3424c296760f4c8124a75896cd8723dac73d3684ec27193a22113fb6e6df10b5d34b906fa8b1503b672a0ee0498a0c6c022c7d4a82a2c7eaee28f7a38c9b53e60b9473ba26c3db70480ff58291ca5bd5ca3ed660337e5b08698937ef2a3008735c097e79815ee74634bc13d152974b54cd3326355cda4a97d1e6aae770028678d51f0bf04ac5765ebe78719a5632f58f5adb235889cf900a7cb6d1ebdfa41af651ce05cd16e08fb62fbf95746a3ccb13edef8391ef9f6c996939418289d27\nresult = valid\nflags = Constructed\n\n# tcId = 31\n# em has low hamming weight\nct = 975e78a8894d8f0bf47eb4b6baad70b000512823ad93b370c01f1959aaf252471951b0bb941dc89e6d552ffdac77eb6af19b407dfd767f4f608a82d0f8f03d25276bc2dfa69b39e2151eea0fd6505a997439dfc73fe9ae5d1c95835483ec4a41a1d7cd5c9446beb7d418302405ef80324fea76ac32bfe1a06db9ad6d651fbb821a025b82f78197d7aa3185b785139649479e896ad382be558dffa756c7b09b28925f2c25897f00bc4be23f907a5ada5868929dd72a1fdaae110c293ed039bf6bf75065c42870f9227a914e4c00a14b58f0dbcd0f5fd6c94596ad69a89d28a8e318050222fe1c288e5d9ff624e97cea755a733ca76d4564875f09fb2d4a4b0a19\nlabel = 8c9ddb95c6f32d5665a1d95cd8c6fb17668ba638c482e0d539c28bf800000000\nmsg = eb6b68854f2011f6a2fa9d614c12f76f5cee4b203fde576dbb232d69f7b9301154d7af5c8c9d320a7456f93a84dceb152759d3c505cfc95204a618bcc5bfb367f056b0fb95c8334dc354c82036e3b551309b5124f4ca4696d481cda583085708796059853abb72f63e59a64dc28f194356fc9ce90bf90aaa50846c50c14a4ddc6b8a71a97de2b8fb16a1521d9ff6a612b27cace9431d59038669ce497219e934defc48a24b7916b75e18e8dbde1a110b5a4d3100a2935b073ec3cca440f5d369572581894d06\nresult = valid\nflags = Constructed\n\n# tcId = 32\n# em has a large hamming weight\nct = 16e4df71edb9cce0e20f9bc613de0958325747cf1e90d4b1aaeccb1cb9c586a9896b04e18bdeda54f82fa113e54e05e10bd39792ce5d3601473602b0174ef3d81040b9ba9a237de71d255882422b1a7e13ae5d7d50ad14c2054b0734bda9f2c42ca169e89fbb1072f4819c6a13e7d9ed6adce1cf565ddb5885c17ce7200c795f73b8a0f6b1d76b7f7bdf03291fce95b4ecc8f56178f86cf30e71f692c53cec7c091cc619a5bbbb2ea063bf1328a3abc56fc61dcb5ea4aa78ee1075038c2ae17fffef8a487b94efa62a26c01c05de83e965dfd19842fb586b4a8dcac7afc952d231be7ac0ba96a7d63c942cea6736ac7f2682023c9efbb312157e57ef082cb9c1\nlabel = b42f55b1895be2324ceb2fd6f40f469df1f5f3db556d84846989c81300000000\nmsg = dda76849a089db6948515c7a512b285ee8fc97c5b41ff7f7d1acfcd1fbabb4163916e63656f85bb9e285727e22f03d15e93e0895dd10bcf276fb8fcb21ccd0bc8ef2a8f29b87780a43622ffa7d92f5ee6dea280644027661d96d9ac818e91454f68994b11ee4fd0e64d3be8d3c14653813a704f0c7410ac1368ff6bd921ce2c4de86ccac17ad58dc2495129c8e3d36f141c634d232f2587dd102c609b57f0ea3c821e620e5f6437b1bfc1d99f5176a79a9f7cc7ed90f6012e54ce1cd873f2aba6dbbdb2252b9\nresult = valid\nflags = Constructed\n\n# tcId = 33\n# em has a large hamming weight\nct = 7b5e8addb0384e472da0c2465cb1e03bd4fd865c148850710b5cde1892c0834", + "458ab2429e93ba375ebe1fe26cc81b8f991f0d21e6372fb34660ca513650fcfee3114aeb10855b9b3e7713b779687d0bab738dd24792b6261182670bd09cacbc7a26655ef299bc715a51403744282d0614c9182030b51c3000ab17f98e604eca3f7edd824ae52607bbed63f14717f771374ded2b5a0440d1a2edf74115df754a5c7e1368326f90e245ddf73916b6277f73d0866fc4657a1b4470cddaf91d3d297bfbb04e03cbab5d180a1e3c63d88453844c30d91db2f458e54dcc7bee78ded8ff29dce2d07fb8b5256531fa21a95524f5f8467b5ee2a2d4061676eb8fb899891\nlabel = 842f55b1895be2324ceb2fd6f40f469df1f5f3db556d84846989c81300000000\nmsg = 07f559e91dcb945125f58eed3cce2d841ae22af2cab3b8181eb33682c8b712922a911f397cb92e66b536246c3cd17f27605526c5eb17d4e77bf7509dfdde05fb598e3b037e613804220ac88b84bb39fc8f885bcdfd9734d64fac27e32bef6696c09fdf8bd5117f1a71f5b792065d2a466d9e33a36c84b0bc3ea2a99e2a4abd23c50bf71f8dd61f8e848abf5932c63136d82c6957b6cd80e14a54d43c96f670266df22733de9e8ce1f399f0a123d7e643cf4e4b7aaa832a94aeb9d723b7a4f8639535cf4da088\nresult = valid\nflags = Constructed\n\n", +}; +static const size_t kLen123 = 21224; + +static const char *kData123[] = { + "# Imported from Wycheproof's rsa_oaep_2048_sha256_mgf1sha1_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSAES-OAEP\n# Generator version: 0.8r12\n\n[d = 7627eef3567b2a27268e52053ecd31c3a7172ccb9ddcee819b306a5b3c66b7573ca4fa88efc6f3c4a00bfa0ae7139f64543a4dac3d05823f6ff477cfcec84fe2ac7a68b17204b390232e110310c4e899c4e7c10967db4acde042dbbf19dbe00b4b4741de1020aaaaffb5054c797c9f136f7d93ac3fc8caff6654242d7821ebee517bf537f44366a0fdd45ae05b9909c2e6cc1ed9281eff4399f76c96b96233ec29ae0bbf0d752b234fc197389f51050aa1acd01c074c3ac8fbdb9ea8b651a95995e8db4ad5c43b6c8673e5a126e7ee94b8dff4c5afc01259bc8da76950bae6f8bae715f50985b0d6f66d04c6fef3b700720eecdcdf171bb7b1ecbe7289c467c1]\n[e = 010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d5]\n[privateKeyPkcs8 = 308204bd020100300d06092a864886f70d0101010500048204a7308204a30201000282010100a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d50203010001028201007627eef3567b2a27268e52053ecd31c3a7172ccb9ddcee819b306a5b3c66b7573ca4fa88efc6f3c4a00bfa0ae7139f64543a4dac3d05823f6ff477cfcec84fe2ac7a68b17204b390232e110310c4e899c4e7c10967db4acde042dbbf19dbe00b4b4741de1020aaaaffb5054c797c9f136f7d93ac3fc8caff6654242d7821ebee517bf537f44366a0fdd45ae05b9909c2e6cc1ed9281eff4399f76c96b96233ec29ae0bbf0d752b234fc197389f51050aa1acd01c074c3ac8fbdb9ea8b651a95995e8db4ad5c43b6c8673e5a126e7ee94b8dff4c5afc01259bc8da76950bae6f8bae715f50985b0d6f66d04c6fef3b700720eecdcdf171bb7b1ecbe7289c467c102818100dc431050f782e894fb5248247d98cb7d58b8d1e24f3b55d041c56e4de086b0d5bb028bda42eeb5d234d5681e5809d415e6a289ad4cfbf78f978f6c35814f50eebff1c5b80a69f788e81e6bab5ddaa78369d659d143ec6f17e79813a575cfad9c569156b90113e2e9110ad9e7b48a1c9348a6e653321191290ea36cfb3a5b18f102818100bd1a81e7977f9898122273ae3222b598ea5fb19eb4eabc38308a5e32196603b2e500ffb79f5b886816611debc472fac45544070beb057c941378a6868af3b7a03d3f9880ec47d5e089b94fbde542aba9ae8d72c57088d7abf5b131f39098f7bc160f90536abc9492fd4e06f3ed7299d4b97bb03677207d95669f140cfbc20f2502818100a94b528b28f291599121d91952ffd1c7f21d7c1479d99d478885fb161870ee1218bf08472612dbe5497e8d9c650688e09c786961ae3e2c354dc48ae34514759c4c23c4588488961dc06b414e61c0e1e7fbbd2923d31532fe289f96da220711e58c14019808e00414276933bb07e4efb9b4a9b37656917205209f33f09515d7c10281803af0e72a933aef09ff2503df78bafed531c02ff1a2bc437c540cdcbd4ad35435cf511763596543480629b114ca7f780ff7efa32ea0cb6e000d6d9ea1f2ef71fd9cf9948422a165557e37e755edfe70d90b920502eb478bc98a63f788ce3a0f856d6ede7251a383bfa8fa480a81a925af7b3cc538c4bab8c9f7597ffb68011d8d0281802640fbfbcfefb163ee7a87b6483a66ee41f956d90fa8a7939bfc042ee0924b1b7993d0445f758d51933e85179c0320b0c968b48a91c38b5be923e1097c0c562f88d42294b6a2759bafa5428a74f1270874e45f6fcc60f21602de5eccd143cf31241f5921b5ad3983fb54ef17be3b285367e50c999c67247b552fe4bfce945f7b]\n[sha = SHA-256]\n\n# tcId = 1\nct = 8e6f127b86ed4ce03bea0242759dec562f3c0e475d70c950bb9865c5a00c19186487f6dad25e6ed4600510e067a8679cdd63f7718af92e5cc297d74d5ce72472c404083b156924c39852b03fad90becc3da0cbb1e80556b4010e9569c61e3b188b9dbbf58f779d3be5a9a7d000ab596d69c9aa48fa6c1f1fbc5be79ec39e27b7a76191b681a02d61cbc5924651198bdf9bb7749ab4a515d1ea1d9d32dad38dc703228985985043c152e2d8e918b652d67a40c2be1e2c6cc2fce11f6c923714b11732d8fdb1613c46bfcecafd64f9536fb7b41816736e3e4b62a1dd6e4c26e8a8f66d99cced308127a39ea1f21a6d7886e22aabf3ca6d6464278d930bf60f277f\nlabel = \nmsg = \nresult = valid\n\n# tcId = 2\nct = 7a896725e0944db789d4caa96bd8701fdc100a26ca12e45d7d9a5f5599fdec0a8ca5ba9e2e0a5c743d2e82a0006b915e6572e066c30bd794e98fe0959519f418d5587a5012ff9b0c545930e3065cf8deac440ef60715ecb8de63f2bea7fb80bc81cefd2f5b979bf0d32e07e615db6a363f0447bec068db90a9e86bb4703098b3ddf1bc34b2803930b56fbb8e026b8691248d8e471ed6dc0a90905f96412470f1002ab2a754cda6dead97c5a05fbcec5d0398c1561876bac021ec4cdc6915d929ebb6fa5ffa1d6e37db99951fa19670ae0f8bbe18bacab54bebeb5ec2dfb4a0cf69dd7077b3229fd0cd8580fb56fa13c399364e2bdecc1a0bfc6eb67f01a17fcc\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 3\nct = 835a8d5ab336e2133ade3b3537dbcd908a49d3933d0747e6c567e6e4938346b40a208321669f82ac6fe7055b4c435c455772ad9b3809ac65b5223c04329f232aaed6412bc6f024575fa9eee9d5f813e384a07289b9b203cf8cd7e2bfadf949aedfac4e08705a17e4db719ece091d46b264eb40befa199cb27de1a744c96182483ce84808686afc56e414ccbc2f219057af1d7e23549f44f7bae74f135254cc965227aca4ecd7b4571cd05cb2c99b6fa55cf7ec9c4cc085cd0ad0ce90e3e7f68af2ea3e2a6097b81a5c5091c31026261a479d46f05c45ae016e86029dae86c67afba8b8b6e8e646a94d07d07f3eaf8ca177c6c0ed05896971c0a911c846ffbdac\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 4\nct = 822e8870c00908cbf5032226547d38e423deb912c49c9fcbee66920cd2e9e3197b3fd7428cbbc5e90e660545720f180ac0ce06205cef8735446de30df32c8797380ccce9c0512eb285b7bffd883ef00fe118f027bdc75700e511226ec4da35f406e460fb88f9af2e9c4ec219387676ae21cadfad0fb1d704be69d0ebcdda90dff7e172612c972c6a974b828acee6ca186c71b50376d1ed5eb6c107408065473d53a2ebedc833f07f60f909a6c42464d79d76f94531a0d386213fce5efc2e66f311e73b06142f8245b063b9e395722dbea029dabe5ed1c12788b890974ba1d28492cce2c90e0a3026c282964763a030a7f7f3f76a72843a97d9eee17cdbbb00f4\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 5\nct = 94712359a945bb4711cabb40b95020092c43428748b10e0f11189172d7052b28401d96ffba516a9d491895e9e95308562cdf17953a4e05bbae8c8cf391e7c363506ac86d46932b373963e9e661e9de2df322719e6369f3ba68f42bba78ac932f7d2333759a53d4d18f5990b18a6d4d0af96d9a9451b2d5a8c3f427f607380997b5b2029f58f04301b52c18cf57c2a763b546a21b8da9627070a1cc30bee0c75863b196128988ffea683a4da5203924db470a53dac36a3fbec3dbd9710f85ff6b0728a692d640ed7ba67b7e493a7b95864a2191f617968ee1efdcdb5b015e45da55086b2b382a380cf66bc61521b2327a6bbf247ab7635da9a48acc119e867467\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 6\nct = 610aa2973bb0d67efc725204a0af7db852bcdd8227e309e6a523ef627555b7aeb783dee396934b61141590952801c027a559a3b7380abb6724224cf825a9c74dccfae278719551bbf0e6a8125d64bb437ef78c24cc00a52fd9a716ac20102b5a1d8fbd445d9a2d4ce2c55a2f549c2fed8e5932cbdfc8deb907d973834c2963720557668d61e3f2e53564d6db7b41899873e3ca66a1b5186a8a545d27915aa466df12ca7163a7d8137eea71ef80690d229deb089510567f24756f0f70a1dac609a57a11ddc400af943126e5c5b118b76b769dfc1a7a6ec748b5b906baa0f0e188b1c6fdbd6bc307af0fd9b4602ea62513430b3208e3d690707fc2d28ebc432388\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 7\nct = 76f7b6e1cf45b005ad58b5354cfc5799f74edfb27f27b414b4d25500a1ec4bcd46c6b65603b204f69a2a71b8d1099ce96c8ee52e119ed9b080d86d82789e3e5777cc5f920b147126ec8612b206bc5734e828ac819f90ea7191832d570d376df2c4e3eb5070fd8382f8c0a9b89da928bfbdd24bf1d17ebc83f9237a51352ff04b6bb3848cb6a9c195e5369f4b6ed9b4cc166377f88c7e6db6ef78c0e1bfbac5a3825867af9b22689b627dcd8d1441b515b15b78688b52b04df4157a888aabdb9e792c65fcbdcd03743fe45e637afa7e422782e6da58b95163acd59353e634337abb1c15b831a9dec79c517a5be0b4ee43f7544a2e9bf6af2bc53b080c60dc2bc6\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 8\nct = 338514dc5a9ce8f20a5040f26a830018314c569249d540e2dec247f4ae925f6cda2d7a535e4e20e5348bf14f6c87861b37fbe4901758dd38da7cc7cc050edd1e208acaf6ab2d332a6482c4e5af4cd4c4f1f9950610ff56ef910b2831e3f23b2b6d3325e8a9f4fc50e0057a50af5db51ec2a1f78d0465e5f54053113df300584f458a1ebf6e5b1358f2454cef3b3e4aec9bcdfdcdf5d88206bed1e9a4e7c7c8dc5f087d66103bcd28e94c", + "2c233eac1706261aa6aa67f044bb06532954d91653aedcd58e8231a81c52aea96bb4ad1adc5e3c2183ea99247a4af8011b415d618c67c94f0b276bdafcddc8b646182989c1db26da677bfba285c0ab76c82b80a638a2\nlabel = 0000000000000000\nmsg = 313233343030\nresult = valid\n\n# tcId = 9\nct = 31478424e4255ab21a4d9a8c5a3daa8f0dd5416f79c2baab2fbeef406f76c493cb436acd030e0bc4d09432d9983860c01b1c559ce095b7d91761ac2e4bc5513c68ae6bdf747d556a84ac07133233368fc92d4f32f9bc9fc415c3d0dfa87f84853a828fdd103b8ade889a020f965304cae5324f78e36c72cf5d8b94496a6f48b03a9ee3f32fb435d48d31002ace7d212a108fef640f55e715a148335b396e900ca3fe96a0854764b54c3187e37d9eb5a65b54ce6676d3747bfda91ed2f536d79a6976fcfbbd683ecee32c5a8dc29622f789579a370eb7d66a1404a376a43ef584a0e2eddea06fe60c28ae08b7d1a8af26b20e50e9a8b3f8654e183219af3dd508\nlabel = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 313233343030\nresult = valid\n\n# tcId = 10\nct = 90689b191d041a9bc69ea93b26d04236edee88b8af6c0b29e9b438270b242dca467ee4874acf7f9b6b244c3843674962c9d0d67fdb7021aba63fcaec2eac3b6b5114ca4b242b08a1ddc1dc671b403bbd5ccb57c7f6c87cf0dc995b38aba6fe635f4a727f6b164bd36a5ff5e7b91e42bbe50835638cf9e3c7a5397f5f095784c3dc5c493ee1a22a9e2b3f28c71dddda2553e269d6e818aaad196b22e670eec5832a84a0f89cb9bf5d8f69e35f34ccbef4037e9a4b6bf2d8d3197bd02acb344cbe27006efb73db0b9d5493dcd14b95b934afc2768af27d1b3b24de694fc0f00f757488d231e3e2cc5be77530f512014445889600bd1a265a4bf188f617b9751783\nlabel = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 313233343030\nresult = valid\n\n# tcId = 11\n# Longest valid message size\nct = 9edf0e6ae25a3e7b6f31fa13a7a31db0e6ce2faa624c2ebcba9669bf5f205758e1e904a9a738bdf430072b0563d1a87f16522811d645cd9f85f13359d2961bbc583a3b15c66ab5a0d1373c2949261e3f44c2a1a88e25190efd30aa9fc410d2d23148c16daa90457bf1ee77c2d344525036e037ed473275bd535fa961a66e47072b586915d85d3d7edaae7945b5e7f08fa15a4d08cc669b3846b1ea02cdc3eb9bc5a54aba227f9434f19d28d06add791fce9efe2171e2c676bc1b09bc163798a1a74b7fdedad993dc47c8323cbe3aead96d0d4e7e494ac390200e6a79f96d88844d59a3d78626b0797b902220874e6957e6c214f3ab7574c6e476cc4262beda98\nlabel = \nmsg = 78787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n# tcId = 12\n# first byte of l_hash modified\nct = 9a4a3467718bbd455baf312dcfc65eeb570d286bc88ffbe19d2f8e032308a50acba1f7951f507f502de91c0ae3fa4708f47ba2459c5c62ca667fde3131ec16f65a221a63d1d27314c54589db50a1fdfe44fc7c789c041ca0398a0e648b1251fd3ea559eff450ba92d133233cc1779a2094e23a6b88f0ad8ef1e0c6ff42d9be754e2c9d904dfc75124b3f34b00e56087e672f5eacb98f27b5f0fda7f67e71c2e3e2d98ce379872d8120aeac24bc5edb3919a196f2790830b615806fc0b5bf03e6b60fbb36c9b202a9972dfb71d28d168f00f698960b2e1cf6a6528060ff7fff91afa0082bb9a618c5a05206de8bdd0759cefbe16b300a1b51ee12809551009bf0\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 13\n# last byte of l_hash modified\nct = 008e70553d2ab7d1724c2e422ba525ebed71739bd8eb968c65d8667704383fec6432f0e071cd0ad71809a3fde92233bf7ef0144dabc688dc1beabcc829c76b3e418b6a994c94209e872bf7e7dc64e6ee8cac7a5a6ca3d40a2280f875d88fbbd59a2f5afd245a5b12c3fda1263c97bd1c5536245d0891ebc220757f6a95151cf06af744840cf2ee8610150427ffdcc619de7e0b0c8519c2eece9c45882dcec3bc4822057e5be017d17cf3b1df53c00414fc19fe478e67abec5b1b8e0462ec9e8606994f60433fe15ba3652719047d54089c9193218077f743b71d04990705c663817918b803ef8f362ee17522c3080b97a1db100291a70fabd925de209496209d\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 14\n# l_hash changed to all 0\nct = 45a7b98944f429526c32ffd6770d2cfa275eb81a8163d0662e1e418d9a093736ad0aef2ec70013f15b5f240336a0c2c3c673ba265125ff6a3897a91a749a2894187bf7ade153ba1491c66c52b5dc67b3b163725dff9c49e4f36d901e1e9d964b285586777455438f8c001caf53e013720ecb14e1e28aedae25beddc5f42580b9f72bccef986ae0ed3daf0435838b4c2d55bdcef2341f8a08f6ef5c2bc4194eed1c1b2c741c7c9041fae5c8a48e90a469807750bea3a50fb7c848199ed62a6d0b09ea8bebe4ea6d433a73d6a34e31cd9fdd21622814cab547f01d4f6a626aa180e982b2a89977140762567f391ec069d85977a9469513ee60e7a9abb54e07b3a4\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 15\n# l_hash changed to all 1\nct = 2f782d8e57831158d10ef1fcfa7c1fff1aed675d34bc49656a11d97e1927503e189f76bf4e335b1ea0f53b1e909fdd5fdff67d7e034b518da036c00dba897006031af4830863fd11d6fecec254646d00a2bfc2db8cde7b303922c703885372cdac94d19a296761850dd582c42ba5c96905ebcef582442643ff8baa83911817a4f00ad7f644acd3fef86d43c20c8f81580f044546e606c87a5b073ac860462f11a004ac2fa00f775cebb98e20d07bdb3bfc407f2711267889b0fc365762272276d509f4a9fa94b63c407c0ab98b601837f6f5d0e5171ad86b5b66af9eb94509950c42f5fd7cdb0cc9cd3d95a96f852b5941eb73db45843ae062518044ce18d200\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 16\n# first byte of ps modified\nct = 3a88faf7dc8658070703eedbaf36302db8e43aec4f1cab99a39637cf2221f5feb0f716d4fce38903532055f8fb6f9036a2e0be53417736bd3746a04bcfe47954a61402fccf19851a2299a54d3c63485d69dbc52095bec0838ba87eec636251a2483d320569d7e62da616dafe0b5f0ab8aae2b2f943d6583dbe35e2047d50eb9b3ae9eeea5cabb580bc34628fe5d00e6f5e5e9a1b5db85d446c276749fe47ad1c495428677e33698ebdc4da12972bcdec64318bc7814e8578851f1905a6ac0874af691da2518daa47b9da4c9f94e832d9d932b5285ee4eb5e50072590f9d3075e76f1e3d691269d76dad090d98a6c32aed8567b74f4dc343bec1cd5a538ca796e\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 17\n# ps terminated by 0xff\nct = 36b2dd6aae05f5cc143d28532d5e9c2107cd30cdfa69c670004d61657877cbc80e619d2673ca3de8313942f1fbc2151e7b2cd2ab86e91f99a39af44864999bf1037504fdf0561875e7b713e497da2000220ce615d933ad78f04d5ccdbf050affa72953cebe1b52fc2f2745da7e918a235d5e0a55bbbb8fff755704adf305ffdba10fa536361ce984126f0f8b72731218cfa4ad4c6c007a2d3b9329916393a9133b80c951a5731f62b1e8eff8c2c66865260e18040fc603b2479aee5ea762070c09af9149300c12c9bca17f3605703b40bb914e8da315d6db1062f5766cd03d9bafc0cbab492df3f2c74f59a65e4d3b3eb26519b6cf775239d370174032e2c0ed\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 18\n# ps is all zero\nct = 7c440d6013a18f8fe017be3f55384c3b98e08a0df1d71b68e21c8ae75774a80584f9708c21c56f78d0d9bfeb0bf72318abb61c8c89df56db67261930900a1e6353b7ab4615bb4c5fe524b591e6383dd54ed7740f0e0a5f64ecb497c3d503d4d7fcb20441ea1bf678a2edb792dcd4c5a6c0ef570f11212edf698b242c43ebb3081ab17f6271f28c45e300bd367295195db3f2f160f7d6793192dcdf15049e89113bdb4fb526833db559e42f939229c2de0f1d86f0c1b59f6cc27f44744e227b373673c19d0c20c5298fdcad478d2bf4be5514015e5840a5a207f2c61188511d4513a874cd9836282984615369ef4d0d172b6d50a39fd12846f0c0cdba4f8a6c59\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 19\n# ps replaced by 0xff's\nct = 540c7f1adc69c34a2c230cf1a22a81f8a04bde9da4f844008074f3f68856e2f09fea0ad1ae62df08afbb99b659db9fffd04f940d4f764829a055908a13b59263264a854fbe97eaa251ee5073682fbd7f2316e9ec34a403b05d285e2852a574a25a29d1a1ac4a6d85b74f833160aa292aae2c90f169a83349d58232590be84533448d63f7565d1b3530b295913d7107217d6e98dbc18435da1be650ab747c5fc80bd3b6b3e685bcded82b901b8b58dab7d3ea18096535a9c77c3144e93a8191e0eb2d0f991af331a03c6323c59a45efd1c87a73dec29f9f091b7f7da23f4d7db399ceda5061445e1374eb75653d8422d32c4f36557ec66128ad1511a9c37a132b\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 20\n# seed is all 0\nct = 610b4b5d2a85de6825ab293619162335cf8bb7b234e2b7e3bc898d7123b30f0abe764a0a5c9ee849cc107c6e9dab86cce426b42010719a05096e3cc7e0ac1f0133035756c1380ace2afee84ea82de9b8f612b7d292598d8533a8ce2848ed6d539b2519018806a11318317a864bfa2f2d55db110d7477d4f4f71ab9261477c7d8485beb1c5eba81c52529f98a5430d3eb2f540c7a66ecdebeb1d75391cf1f2d99be18967fc32fb02b515d10f60c20ef63ef6da45f78ec1692b131b2dc8c1b337e78cf81976d8e8908b4f62c0767be8b3a4cd8b3cd2f7ef8b9454eff54795a3edfbfe21cde680dae88544d88624ea27efdf72cd4bebe4a86951e5afaf6170a2398\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 21\n# seed is all 1\nct = 6bfe4b01a7747e8f92a4d9138a2ef034b0127215095145b36e2668e10275c4ee9bd79e397f28bc9422", + "75c9f401e81a3d7f0b6e3e191026be641171ee916af6bb4ddaaa20fbe55be2e251e2aa4f07b1291c955af87823e2134fef3e843c8af3bbd168344176d9fbc8d11ec8d8b410fa224530c98b84a01da048b7618c944d8cc7b18ab17bd405d262a1870552e827dee9d1a8196ddd93975d4c487e819e4b2e0cf5dc39eee5670e249437c5460dc4684794760e26244e83e0017e3cb37a1b5947709f9059d245c5e3ff23fcfe3b101e496e7a222bf9883f2f12e22b0a31da932f6ec8003f13a70050e2dda32c01ec3fb80908593bfeb2c9b06e0868738d545475\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 22\n# First byte is 1\nct = 989d2556e8fe1a5bb102c28190c8ee1abf3ce700857a0fe25e648998daf337bc5cd835799d86a3b3c93c7ba7fa9d7feada59bfe62a6f76c694d37aa6e741c1a6a0f55c8202b3649d9f134c3f711b9dc907b5b8ff932379c3b24da57c4684c99cd94b5f0dd363108c06f5b6a7b6f7743f46f726d064a4cf2dd63fe0c26e02b2950db03903f14b7b1a22e1a68620384cced1e54efd29b977cbd58186f10d46d54964ec04f29b8ab3c6b58cbde5630465ba3410c814b9da9903f8549c8455d3f9050d905ba75c8f7feb55a20dc996d040184dcdc3019f841dabd657b07cc0da579f88eaa0298507ae6b2e5b8b0ecfabc254679900366ee747831760ff1667ac9625\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 23\n# m is 0\nct = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 24\n# m is 1\nct = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 25\n# m is n-1\nct = a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d4\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 26\n# ciphertext is empty\nct = \nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 27\n# prepended bytes to ciphertext\nct = 0000822e8870c00908cbf5032226547d38e423deb912c49c9fcbee66920cd2e9e3197b3fd7428cbbc5e90e660545720f180ac0ce06205cef8735446de30df32c8797380ccce9c0512eb285b7bffd883ef00fe118f027bdc75700e511226ec4da35f406e460fb88f9af2e9c4ec219387676ae21cadfad0fb1d704be69d0ebcdda90dff7e172612c972c6a974b828acee6ca186c71b50376d1ed5eb6c107408065473d53a2ebedc833f07f60f909a6c42464d79d76f94531a0d386213fce5efc2e66f311e73b06142f8245b063b9e395722dbea029dabe5ed1c12788b890974ba1d28492cce2c90e0a3026c282964763a030a7f7f3f76a72843a97d9eee17cdbbb00f4\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 28\n# appended bytes to ciphertext\nct = 822e8870c00908cbf5032226547d38e423deb912c49c9fcbee66920cd2e9e3197b3fd7428cbbc5e90e660545720f180ac0ce06205cef8735446de30df32c8797380ccce9c0512eb285b7bffd883ef00fe118f027bdc75700e511226ec4da35f406e460fb88f9af2e9c4ec219387676ae21cadfad0fb1d704be69d0ebcdda90dff7e172612c972c6a974b828acee6ca186c71b50376d1ed5eb6c107408065473d53a2ebedc833f07f60f909a6c42464d79d76f94531a0d386213fce5efc2e66f311e73b06142f8245b063b9e395722dbea029dabe5ed1c12788b890974ba1d28492cce2c90e0a3026c282964763a030a7f7f3f76a72843a97d9eee17cdbbb00f40000\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 29\n# truncated ciphertext\nct = 2e8870c00908cbf5032226547d38e423deb912c49c9fcbee66920cd2e9e3197b3fd7428cbbc5e90e660545720f180ac0ce06205cef8735446de30df32c8797380ccce9c0512eb285b7bffd883ef00fe118f027bdc75700e511226ec4da35f406e460fb88f9af2e9c4ec219387676ae21cadfad0fb1d704be69d0ebcdda90dff7e172612c972c6a974b828acee6ca186c71b50376d1ed5eb6c107408065473d53a2ebedc833f07f60f909a6c42464d79d76f94531a0d386213fce5efc2e66f311e73b06142f8245b063b9e395722dbea029dabe5ed1c12788b890974ba1d28492cce2c90e0a3026c282964763a030a7f7f3f76a72843a97d9eee17cdbbb00f4\nlabel = \nmsg = 313233343030\nresult = invalid\n\n", +}; +static const size_t kLen124 = 27137; + +static const char *kData124[] = { + "# Imported from Wycheproof's rsa_oaep_2048_sha256_mgf1sha256_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSAES-OAEP\n# Generator version: 0.8r12\n\n[d = 7627eef3567b2a27268e52053ecd31c3a7172ccb9ddcee819b306a5b3c66b7573ca4fa88efc6f3c4a00bfa0ae7139f64543a4dac3d05823f6ff477cfcec84fe2ac7a68b17204b390232e110310c4e899c4e7c10967db4acde042dbbf19dbe00b4b4741de1020aaaaffb5054c797c9f136f7d93ac3fc8caff6654242d7821ebee517bf537f44366a0fdd45ae05b9909c2e6cc1ed9281eff4399f76c96b96233ec29ae0bbf0d752b234fc197389f51050aa1acd01c074c3ac8fbdb9ea8b651a95995e8db4ad5c43b6c8673e5a126e7ee94b8dff4c5afc01259bc8da76950bae6f8bae715f50985b0d6f66d04c6fef3b700720eecdcdf171bb7b1ecbe7289c467c1]\n[e = 010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d5]\n[privateKeyPkcs8 = 308204bd020100300d06092a864886f70d0101010500048204a7308204a30201000282010100a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d50203010001028201007627eef3567b2a27268e52053ecd31c3a7172ccb9ddcee819b306a5b3c66b7573ca4fa88efc6f3c4a00bfa0ae7139f64543a4dac3d05823f6ff477cfcec84fe2ac7a68b17204b390232e110310c4e899c4e7c10967db4acde042dbbf19dbe00b4b4741de1020aaaaffb5054c797c9f136f7d93ac3fc8caff6654242d7821ebee517bf537f44366a0fdd45ae05b9909c2e6cc1ed9281eff4399f76c96b96233ec29ae0bbf0d752b234fc197389f51050aa1acd01c074c3ac8fbdb9ea8b651a95995e8db4ad5c43b6c8673e5a126e7ee94b8dff4c5afc01259bc8da76950bae6f8bae715f50985b0d6f66d04c6fef3b700720eecdcdf171bb7b1ecbe7289c467c102818100dc431050f782e894fb5248247d98cb7d58b8d1e24f3b55d041c56e4de086b0d5bb028bda42eeb5d234d5681e5809d415e6a289ad4cfbf78f978f6c35814f50eebff1c5b80a69f788e81e6bab5ddaa78369d659d143ec6f17e79813a575cfad9c569156b90113e2e9110ad9e7b48a1c9348a6e653321191290ea36cfb3a5b18f102818100bd1a81e7977f9898122273ae3222b598ea5fb19eb4eabc38308a5e32196603b2e500ffb79f5b886816611debc472fac45544070beb057c941378a6868af3b7a03d3f9880ec47d5e089b94fbde542aba9ae8d72c57088d7abf5b131f39098f7bc160f90536abc9492fd4e06f3ed7299d4b97bb03677207d95669f140cfbc20f2502818100a94b528b28f291599121d91952ffd1c7f21d7c1479d99d478885fb161870ee1218bf08472612dbe5497e8d9c650688e09c786961ae3e2c354dc48ae34514759c4c23c4588488961dc06b414e61c0e1e7fbbd2923d31532fe289f96da220711e58c14019808e00414276933bb07e4efb9b4a9b37656917205209f33f09515d7c10281803af0e72a933aef09ff2503df78bafed531c02ff1a2bc437c540cdcbd4ad35435cf511763596543480629b114ca7f780ff7efa32ea0cb6e000d6d9ea1f2ef71fd9cf9948422a165557e37e755edfe70d90b920502eb478bc98a63f788ce3a0f856d6ede7251a383bfa8fa480a81a925af7b3cc538c4bab8c9f7597ffb68011d8d0281802640fbfbcfefb163ee7a87b6483a66ee41f956d90fa8a7939bfc042ee0924b1b7993d0445f758d51933e85179c0320b0c968b48a91c38b5be923e1097c0c562f88d42294b6a2759bafa5428a74f1270874e45f6fcc60f21602de5eccd143cf31241f5921b5ad3983fb54ef17be3b285367e50c999c67247b552fe4bfce945f7b]\n[sha = SHA-256]\n\n# tcId = 1\nct = 6e62bf24d95aff6868afec2a92a445b6458f16f688c19fe1212f66a63137831653cedd359d8cff4dd485d77dfd55812c181373201f54aafd65730d2a304e623455d51125d891e65d97fce52341cae45fb64c38a384a1c621e2713ee6794633f029a9fd4d774f56551eac2176162e162640f25eab873a3451c475570f19228bcede4c67c370a75ed7fabccd538c9819eff182481b10d42f1a9f6a05373b8cf9b71818d467bd3b8ebacb619e8ad42916e600c043effceb3855bc48a629e60ae886f51b2a7876b0e623fb2ce68af4b039242f963adb0e4240aed0ed07f65f1ee7c0cc77d210d0c2d1dc10c81b881aa0c9c9e9499665cf2970d2ccfeeb3191531765\nlabel = \nmsg = \nresult = valid\n\n# tcId = 2\nct = 207180c340658b5154ae45d2e4e7326a0997c683a26b595e536a29333c4b66149af85e029d5419a39e3a147b221516ffd86b6b4b66c3e0c4c49fe8c57a2f5c37b8704b9b592b80db9cd788a4ed51ab4f0a1cbed63bd18d1f06a22f225866b0c2c417cb23473b7ba4250b1353bd2e5b4f0f937cd2efe5fa38db3c295f7748b970088657db4aa9a76e1ee6fbff166ec1861d00d085326c7384bdd1bc2f400d4f74dbdfadaf3fdc46073e668573e02030b9eb5af58eb540c66677a771194479ec0098d858a2ea45d0ba1e6b32440dfbac745000554d51a17684ca964b02a74d479f1d432ef763ef4059715a4348cfe36a215359712f25b6977903be4adb92febbf6\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 3\nct = 5eab3f0741e63986ed647d53e1cd71df041986900803d0f99c68355d249a15a47dc5b4f70a191477654299e5a2731f3b4eec76dea18262fc696ac794e5f66cbfcddac4472c578e246c26707598055584540b839836b1404c5611ae558a984cee8fd036cea924e0be2474a940f61e0acc14fcae95ebdc59942a9ce9af9a9c81999f7f6815f057ffdc2533cb15d6391d1e2d95f16f9c04209c889a4c359c7d2926d28a66e2b030a416b928d2825627998e5191fb4983a6e65024262d94fc09187a2d78162122433251d1bfcc8e507d06eba2d229c10031261da32ab8ccd15f1c5f9fbf07ed158483d736a110af4b44d6a4da60d6cb519b4454213cf9f0dc560f2b\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 4\nct = 0da290b0bf71a1141b2adc62b5b42b07fc52520cb05d1f39ccca7b7c22d379a6c2f2d93143d057050140527a1e5638243938b531ec3de7014b0151301e49b9fa433482a02abdfd94193dc9c70157e557776a69ded01ecbeac405133595c61165a428b6284729a4746b47d2bbaca9d7432c3b5693591cfee488eb3c68ddb6cde0dd61cfc6952423f994abecee34f5683732b29934a2c498ad48cdd30c149177189f48eefd9cc7232df18be11ff5f7e3af7319e3115997c599e2d8f7f4f663dcc40032d403436d3058a5ea66473660f0e195281ec6eba997d2a951ca6ca5f3c112715c89da1d3dfb20a21940594ed10ade90ed7452b753757d7241cb8a803c373a\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 5\nct = 121196e51a3f4476bfb6adddfdeb3a25dad72d1ea315d652f331a43631ad36724b3d14532110dc44e407b1184618f115677b33751fb0e8786ba220cfa7fc3fce22822eabdd4fc2761c7f34a04e8f13c1021c31adc123a32d871f0da6cdacab9c020222da52afd5c307a6e55e4566944403fda426ee2c6c973ccaaafe2d081ed8c5b1dc00662424e395faed86c9ae19a3a95950c83d2a9ad5c7e7f670faeb123acef07fe7795ad298aafe543504d7811336b3e2ecb1622bc90599a185b34700f8f4c52a651d73ea57e8cfa80e61d9da61f36951c7194ae4dee3c6e67b5757a39685dd3fe01cb87620a54666ff8132e93d7081d38ddc9f079431075e96cca78f59\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 6\nct = 7ae8e4f5494393be144d81517f11baf4b634bb68b2f0ea9b30731035e8cbf4283c0ca99120f60b75ef685e989fecd7a5dc524cb66292a0ab87ebc61e67baca1a8aed99350edee045dfdd029406acb707d85dec9555169cf7ec5118d8f29d182f205e2859a8dcc5122bed640ad0ef128deb21785efaa20f92067dc216cf40c15bd7130e2c094131917950a816da814c5990fa6beed709a0218f4ddca2473796e1b44cff6d7ed601c574a784d0865d3afe5fec023ebe71bca881da5637e3d1d17238c20a5bd0075bac018f07898f74b9e6dc0fa3d5f8d0b274dfef3e6720d8396b34a81ac2e64da5b3e5d7666323ed7c56e8bdd179f3c6b2cf05bcac402513dd87\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 7\nct = 096958786ee7972050d67a9e4b69d6c6af7db7cc674386df725770dd29129b826e39552330104c8d71e6cc3a3014dd2f61b54153af51b0438d447ee939f9e3c13bb8b00a37dea6a068f6c9d27e848b1be7a1eeeb3ee50b78036fba95ae46948ca5b13f356ea24db10f60dc09e4b8bad8f766b668ef72524432080a0ce00ed676d6d5e354984b1078520412525848156d06f0652469f95791baa3d9a798ae537094f76f976faecd5c9ce0c930a75910c63dacf63485cb4b5e7bdbcf4d80e74037eaa1a8fe4b52930bec6be99cf6ac88cf5878dbf6859d456a95dbc34654eec425de84ca2a535d517403a9aada827e7d0093ecfc97ed056a7652825e9a45cb2dcb\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 8\nct = 6583e2f176aa7e7f655d2c53497349c156c8851fb23325589e85fb83bfa857346caba222cdaa3234e71564154298c24dbb85e18822a1d5e7faa47863a64d76874a3cbc70f4d9f137426a344c473fac1dd7008a9973765e9f66c5b492535a647c273c4f78ceb5aa7ba963a2142f2ce4a81f804c002b9b2eabb3c75e80a3c6ceafe5384a544c672a5d28d32bb87115f43eb79775fd9b3f4a2f6e6a89368bdd95ef1d014877b60afdb1", + "234acd57653a65459f01b2fbe381f22a739504b4897a7e6c33b6349b276db6083abad9c169405859b800c812237634b503de6ada43013c1d86697a135be78a9784576d796d62aa7819e2ea0e2d902ffdd9cfdd1ae66212ee\nlabel = 0000000000000000\nmsg = 313233343030\nresult = valid\n\n# tcId = 9\nct = a0443ba434156d0b503ec662f5eb5b10e20ad0cb8233720ee187ba986e4811dd312844d3edb26bfaf51b4b9268dc3c76072dd47c199d713c91824da23ff00481ee69e9d4cc543120fc33b7244bf0c1ad5fdd1ae9cbada7fe9a70ad0afaaaad8361e8dc4b3198ae661a84e275b60bf2ebb85e512da785d2fc3482294fa11967681d7bceffc08ce0e36f0a8af7fcfb1337186863c2c1c1b94c9ec9785cd3d94d15437c23b775677f3d29a4c9e52f13398fd14661160e5868bca97625aa6c7ecb07bbb479644def353f1f01a4c4100f9adb82c4f6a265a5ee962da58c3c042aa549c9d2de3008e7448e0c4b9b4ac8f5e4d8629873909bb995ccc0825fe87d81d596\nlabel = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 313233343030\nresult = valid\n\n# tcId = 10\nct = 26aa8e7931ed624bfd4077e3b83ec08de080483a61641e877f493fb7d0ae4dfebd4f05612a2e4869d20d440a64e928b13daa3b79da2ed674b99421df7e7f625a22b1c71136da27db699d3dd96e3364ee0cd2123ab6808930c6bc28a5dc307880d1ab4b03bcd6178a81b8ad52aafffbab387d40352dfea526abedca016c87e9e56ccc4c88e80f579da015b979bcdd88618b2a32ce072918b2e223535359f1ce4eaba5e692e6296b2140dc2304092ebd6f136a48092b3849082b57e70c93b54db55045dd6094ef3d2cfa8bc9e2fd2b1bbe0c7c603ad38d3f40c9eac8ae5e28cbbb031c38d93d3b2541d94eab3a1e8992a444ee4ce7b8d08c0b9a4f623d32fcba14\nlabel = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 313233343030\nresult = valid\n\n# tcId = 11\n# Longest valid message size\nct = 7efb69f1137d6a6e813b7ab75bf0400b3d07a442b88ab048675dc06b0215fc1a2e033263ec31a6c1d2eac56cb0470d69022a48131d1f000bbed70586b80cf6356465c8834daced7ea2a5ff8ef9c44d5ab828ffbf0556a6394752a4a28a70cae20084e1236f042f6c29de5cb34ef73acba5abcc7ccb3a26342701df3b9daa945d9fa5bf0b9b10306655e56370183f50fb8321f8f0cd1c72114791fca5df2166296b509b01a0b291c46110787cebe69d41b3b1e89590bc2f5e5d49ea24ae0f1207eef1aee54b9760553e80c5506a8a8a75732e92875025f0bfd5ead71e4340c8a9fa16dcd5a7dc96d8c4a7dc4e91f47a69366445c4695c8bad578ffe52bb672f65\nlabel = \nmsg = 78787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n# tcId = 12\n# first byte of l_hash modified\nct = 287d7108a1c6e7a18acb0045b20c57cdf2ac03456b44942764a7a9e9fdf3db481d7e202e4c8d733b56b9c1e93d71e791af8325c9363df789b252a5ed0eddc79e76fa41c2cb0a35618398217a390a5e6d99eed905d5554d19c1cf4e30bdf1c2fcc5148b641d71b3f1977b63d232648ddd935ec9499a53ac2fbcac55f462e91065adaa018a39c453ba759bd68b454074153421e2ce75cf149f748b5b84758df8a423d1c50c880af863f2a6df3cd465ca36aa2152b5771f3d507f4a4dd9f8006d80eca23537092287976f218a90df1e16d889fe31e79f7309f3224f613e9b52479fe73b7aad915319a3b62a5936649f7d015d7b09f7fa9f454f78a7c3dd4bf791e0\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 13\n# last byte of l_hash modified\nct = 8b65065af82770625d24917d13fd97ae13247cad97910a2651f95800165b76cc34bfe06cbf8c31a7d7ab4f41e05c45a25b90c606378c8e49c95a15ca11ae37e797a00f1b2680a6958c54396be4e1ceedcabc58d9f136b36867a2fefe648a9758f49634bfbcaa48717a116cba58c27539be10c56911aabe013e0329645e8308423c3aa42e0c9b1f4b5f546ddd9f90bf4d007dab52ac3879db755e4f2b96db5cf01950f39076f261f50b1bae137be500b03ceff6ea1bbd80b33424f7faba5cc6b86670fcb7db1a9b3c58bdfd7b75ba9f3ebd34ae32d320c757020a7324df7d3985bccfe0e81bb7f61bd98cb37219312299b4f274b2c90c52a8e1790f52e8fdd768\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 14\n# l_hash changed to all 0\nct = 356e91db9bd932c7b5726da288e2620cd79667c2e1d7aca562331ceaa6e4ab47665213ed75579abb147728bcff60787c95107f5be787c42e714d51627fcc8b4ea71c232c0c80ce6163cd0fbfa9dd7e8c1990176abc2705f4ffcf1d5c62393eab1c0ec8a653a90f27a968df8f4af622e96f663fceead8b0bf5dff65cd657a72b9c33265c5c2a8f7f9c614b9c2f8a95246970e6a778aca4b12552da47c274282ad9205ecd2264ae3c649597beaa35c141910e84233776d419448f55019a84e199a4867d68bf213f47b0316d50079dab77299fbbe7fe8929906461c1103a97c2b3f1633c8ef03e820ec675e331cd1fda8ebfedf541d0f2b571f4eaf292ce0ab14c1\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 15\n# l_hash changed to all 1\nct = 5a6efdd2d211d50366885e177190ce1621ba110ee46530bd083ba76ed48992d85efd8f9ba964eb33e596e0c0bcb545f89e2c9592ed18495e8e5df1866fe30b27522a3ad9cf7124c4aa23f7c925900613c50b7c18872b4537a750419ae128e913e9a2d87c219e2cd01132972298028e54fe394ef9779d04543c72eec4c5732cadff0b954964706bc4085722b0c595162d11793ab29754837bf5d324e21814ea24b12fed441f20d22148ba5a987b6aa7c7d4ab5a33af8e6c9096c29777cb0d5cfe938a6ed5d30936a5a8f5fc435df14d1c439d1b9d274254e7b248bd20d21dc4652c1605d5a2929db018bd45794a523b217fe0a9a6b0704197ba8126fc8311556f\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 16\n# first byte of ps modified\nct = 52582e10264630e1584155f5e970b8eda9108a87370861cda12ee773411cf556db328c8a2a165d10f6f969ac61b170a75975fbdf9319d13c9535f30d621db19e41da3a04fe40874caf779c8f03bd5d1892e52925b183c118446ed9a335e9c1dc4519fb1253215e5f8d8ee6d49c0167af9d5ca5b1ace067af573e0be9a61beeccdac37b0e54f6b0f70576cb8a400d01136357a8576e81c119d3dd91c7b5cb343692a810362e1e6dc06c1746e071a903a2856b4446f10f78c670d617e5e24dc5c0e45caafbf8ffc4af6b3ef998fe1bfb59aacb16d98d7e389679939861a6722c4e29af731da99d17058d7a12ead0d3d576de796ad2ad596feada4c091f10748536\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 17\n# ps terminated by 0xff\nct = 3f5e00347c36ceb79f400effcae92d331aa9f52539041c50dbbc6fd071912912692a16353378276a2c1596358c46f6232434a95a99c573d0b83e4a6e970a73e99ca13d734506e2a2a56744b1872bffd501a80ba7cf5494df6ff9b421cb10247e11d19ac9e60afe0dda87cb351c21ba554ea50b70f6eee4ffa949ae38694ef831020d4e599c6ff4493d07c7b6be06453b84143813a68dfe0fada2317a9f4040a3cf6308090b6bfaca36067312f41bc0c4c01ac00fdb5aee4395b04cdff82cb433b01cd3e70daafc7807b2f770226699e7535124a453f7ad2653bfb7cfe71e120dc37ba88a5be347ad134351c11ff1019b7e42d24b7a3890a8424fae53a10c0e11\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 18\n# ps is all zero\nct = a166bf7b5c2cf1896c0b924a69233a0a585bd47ed7f2330654aa68806deb0ff68c6475050ab45c691bbbcc58dbc2f5c817729e8e195ebd39d48bd5e14977abae0829636831655917fb5a758fb43a8e505d6ce595f625970685f7ec81cb5592210f5d68c6e2e1ef26b4ef8c92bf44f077e1d5099f379cb8120ad185bf07877979ca81f251fb81be0ad3c14f4d7885fcec496f80033fd4279b6830a20cbdead27c0967e28d1e06ef4bd7ba89210ec0d696274a187dc2f13212f5adf06e9450eca398325cfda73431036ac21b087d373c9f575c941f8cb078961176e31859a61c49baf8ff4f817a11010448d6a0e40dcede1a5ac3befa4c6e9d9d67d8e8fd8b6de3\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 19\n# ps replaced by 0xff's\nct = 75829ac4d97848dfba21c1688e936cfc736f53fde5b91d5330b63a9968dd4f51c2f529fd8d8f84e4a908196fcc5deba21b5c7300d7381e07c4e0ea2184965169cc9464933ef5a840d86b1dbcc945c7547d9eab245ba64d24946a75961161c2b8f417daf11b163b1e5a5b02d45341384f37755248fa871e6a82f948ad6292f11445bf30596dcccec73a441cea5e5dc470016309a83b6c8f158536687ad2734d3ea1562d46e23bfe8cab498d19b0b104d97182aacf852b6db3c4670109b81af1bd99b483d92b3e4bd813edfa4d0513214dcc5bb4da768e86007c22f11e5fe6f4cb60b909958fb94dea660d3fff0b99db15c2d2e6c8df7478330dade8c517b90975\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 20\n# seed is all 0\nct = 8e5f01ff0c1775870715fd0366a8748531f8b00803df35e0e2308db63bbec4eca4e093351876b794213b904e5dde284a82d74abfcbfff94bc9a8300bea99edd07fe97d6e0b11219f85ac15acc404d37d3da16819a14a438f3f72f8178b312526232386e918a8a7e11fc38f4668c499a00480cf9d2d75aabc0198d3ba9ba345fba9105c6564df5f6ce796f14100d186abffe4d83d57969c1caddc7c7aa340b4d1bab23d9b3982278328ddebe648f5c52588738f3c56a88b3f34c890c03fafc27f485a17677a53e974dc1dd86f463a927f4328ac51bbc61705ae8abd7f45628957489e2defd8e043b955b118fb2a1c407d45893004aae0f945f06add1e45b41a03\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 21\n# seed is all 1\nct = 50c23e2ad6e3f3b10a5716cbf60efcc9f66d2c6f17bf050ba0153b877ba2755e8a0d5406003456", + "2266155744ef80547b8af777b0ff764fbb12baae49d02b4f6d65b6cd8f0a397839101d32ae163ff2e6072748d6b8017e5e73e332d53f4e91fe6233a82dbf54f3146b489803575c5ea37ab55a9ea7eae47ad4f1727d45822b569cd6e5d4b6ab759850948186616b5da2a9a316f57d899f91934bbb27edcdfa19532ba1c01f3724738daffdd88c9a18562ebcbc49185b0a817407903476d442c424c81b63aeb8f9d1b184756e0cc0a381eaba45a85c8bbc6770fd047ff1a6404a384599fbbd6a40b212a066e23f6a15cf13e42c0ea88c710e4d70c612074968e5\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 22\n# First byte is 1\nct = 3f92a694661cae336cac7a3c5a6f67e0655d10218a64459739ab9664f2cec58978939512df621e6b92fe3429bb22c08b5103da648a7719e7e95a04e6b61601546955825d60f4c517619f851780ad17f1b8a955cf8c7f1a5e26ca4a0cc19cca751d0790d56e1140a4705e19274f638b7c16d9d3e423a7f787d02699235e3e9e4d543a954f9b1bce5411c8ebdcae86a4bb86c66818a0bab51a2b00383b318e53d95508bab1b19e388cd5a03cdceba0f7176c1782e19ef62cff69352d444b1ce0e1f339e96d8a65c07aa37f5f2cf33867f6c496e0da6cd79b3e2183b57064ce21a1b92072702e555a82cad75107fdfd8bd5e7ea5f119cfbbc1770e962fd0b781aff\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 23\n# m is 0\nct = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 24\n# m is 1\nct = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 25\n# m is n-1\nct = a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d4\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 26\n# added n to c\nct = b056e2513c7c470d897032d406e97b5946dcad52df1c1650d61a1d7b0af59e8cfaec4d9e834d06d819b92a7d440d277e5039ab8aeff25043e98b281ae6ce0a91f8dfbbd1b4998fe5481671381b6a3952448b617ae606f06a0143561a040edaf3c972e611bd7cb814aa4761d38e4a007ca65af8fde6eb25d919d8bd9273cca7622984aa27994d049612424547775c5df75483962143522d075b8c55ea61b04583eb4c0358f9fbb902dedff30b7d8592b57094df4f6345668af53d1aea86fb36dd69b4434bacf8fc12c13802f5b03551ba8f207d4060a9f56e6b7e18c766eb82b6ce6ee0747fbe785c3c1c25fe7fb87de50032b172129fa41a69c3ce0e777ef10f\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 27\n# ciphertext is empty\nct = \nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 28\n# prepended bytes to ciphertext\nct = 00000da290b0bf71a1141b2adc62b5b42b07fc52520cb05d1f39ccca7b7c22d379a6c2f2d93143d057050140527a1e5638243938b531ec3de7014b0151301e49b9fa433482a02abdfd94193dc9c70157e557776a69ded01ecbeac405133595c61165a428b6284729a4746b47d2bbaca9d7432c3b5693591cfee488eb3c68ddb6cde0dd61cfc6952423f994abecee34f5683732b29934a2c498ad48cdd30c149177189f48eefd9cc7232df18be11ff5f7e3af7319e3115997c599e2d8f7f4f663dcc40032d403436d3058a5ea66473660f0e195281ec6eba997d2a951ca6ca5f3c112715c89da1d3dfb20a21940594ed10ade90ed7452b753757d7241cb8a803c373a\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 29\n# appended bytes to ciphertext\nct = 0da290b0bf71a1141b2adc62b5b42b07fc52520cb05d1f39ccca7b7c22d379a6c2f2d93143d057050140527a1e5638243938b531ec3de7014b0151301e49b9fa433482a02abdfd94193dc9c70157e557776a69ded01ecbeac405133595c61165a428b6284729a4746b47d2bbaca9d7432c3b5693591cfee488eb3c68ddb6cde0dd61cfc6952423f994abecee34f5683732b29934a2c498ad48cdd30c149177189f48eefd9cc7232df18be11ff5f7e3af7319e3115997c599e2d8f7f4f663dcc40032d403436d3058a5ea66473660f0e195281ec6eba997d2a951ca6ca5f3c112715c89da1d3dfb20a21940594ed10ade90ed7452b753757d7241cb8a803c373a0000\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 30\n# truncated ciphertext\nct = a290b0bf71a1141b2adc62b5b42b07fc52520cb05d1f39ccca7b7c22d379a6c2f2d93143d057050140527a1e5638243938b531ec3de7014b0151301e49b9fa433482a02abdfd94193dc9c70157e557776a69ded01ecbeac405133595c61165a428b6284729a4746b47d2bbaca9d7432c3b5693591cfee488eb3c68ddb6cde0dd61cfc6952423f994abecee34f5683732b29934a2c498ad48cdd30c149177189f48eefd9cc7232df18be11ff5f7e3af7319e3115997c599e2d8f7f4f663dcc40032d403436d3058a5ea66473660f0e195281ec6eba997d2a951ca6ca5f3c112715c89da1d3dfb20a21940594ed10ade90ed7452b753757d7241cb8a803c373a\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 31\n# em represents a small integer\nct = 18416ff48c3a78bc85e1f483d546052d84deac02ce86fcd197215f227b6dad58bc19394f46551111f858b08879bc37c620b1e81ebac4c75fdd71713ce75c24293fa39caf46294d28bf87a46da9a769a304157ea1fc71afc3bfb790da32e84d812a8946d1b3d211fb6972b3fe6674496b2d8056c1503d02fd4c2e607bfb1e6b26b35636b8b823757ee9ba3795d3af2dd8710b0a6da4dbb430bc69dc089f1563d34f0d79431d63e7b8d94c8234649b64223d1e0be17463401184a096feb9c81e226eec26c7e9f3f4357536633029ebc0349bc136d1206c6064fc51b6d2e79578f2b26439c5b3f6ffe1b515740b3c4b94a49430631292968eb50983251bbc7f0f89\nlabel = 5a3564e9482a072bd99d0306d69a7f4595c49fb9c06b72250eed2b50ceddcc4700000000\nmsg = c4fc4b065f4595751c7ff8bb99681d505b7d0f1730d404617940f4b5c3b01979ffcffd19e86f69450e5fc14d9bc27a1f39734fd5f8f663d2d87c444e3e15da8764709909679aaa553d98ddbb1ad7dcc8be04bb8751570b4e6cdc7a8f56b09a4af43053a393bd8f947d7625137e6d84f9b9c727475a98ea22efcf679ee0aa5258da88a08afc53bd8bfa19b0131d6f676fe198a9c6a1f84174fc69ccf8e34e3617f8ff6c4192075cd6668392523fbecedb27578e591dead78c80a89be589a1\nresult = valid\nflags = Constructed\n\n# tcId = 32\n# em has low hamming weight\nct = 23ee3b4df8ac632078167f2f97a736469c6e6b39ced4ddc552d31f0fbc7ccb478adabe56cac20cbec1a0084125aefde0bdb575d68bd74cfbdf5f3bfb4401fa573645c223568918aa911c1f5a01b3b0903e91d82e8c04194df4bdc5facb6959b4df23593c7925a827f029064c75a4bc3d2899649025670e70f3e01336fe961664563a3bb0c7bca66d7eed48326746a060c5d3f18a160abce399917ab2e2386d0f1c2d7c9105d16befc1b0bfd72606ec300a777ac550b1b0b807b7e46467db5bfe0eac8bcbebb2df47bc65fe42174368595b72650b770f47157d2d14c71cebcaaa5cf567ab803e2bcff5f4298c06b1983757abe02faf4c7c5f9141aface72ab98c\nlabel = b503d03521b4ffc4b855c94e911a6117f04c76c6fe8000f8031e705486ae641900000000\nmsg = 03fd61590ddd05555a6d46d1e8925293fe46fa168cb06135c2e7c8d36551187e62016f40f3eb31751f3690f5da1aaba5c16ffa650b2e6c25f3763fe324929c4becc7fb28a383d66c31973c72eb13ff8c87a92b495f6f0619290f8675e9889f49d30d5e77b2115e8805eeeb1aa9324843a75e0bbe70538eefb7978a0ea7beb211e67bb075981673517518586eca5b04ef3ad6a3a978605fbc0e67af7fe412acfcb550d20c9900f4d71d7829a107cc51d663db54c57116959998f3946b4d43\nresult = valid\nflags = Constructed\n\n# tcId = 33\n# em has low hamming weight\nct = 94f4edda147a95cf29bb0402d0413e5421b5ae347c31b2ec3239bd808c4e5b609d0ce9d9c3a12e47eae6c5fe319288553ba25e8932d644a6387087b4e495ad4bc124596d9440ddd5376f2c1844e61a7c51bef528ad20065574198ace92d3402dcf4df8ff5d68c06dafe9302da4e075ab0e011bfc1bbaa55b4cc1bc30dc9b104539c21d60b6fc7044e0242591360751fbeb2883099602a900cb5320195cb7071819dbce2667a7532aacb2c9b96f3e726267b709c5c0877280f5d4efeb5d4155bf8751f9560db4bfaf8150a8f27b366c3935860aeb106bd88914b6bccf35bb6eaf9217254e6dacd88f0f1182d6cbe25635d4d9ad76a06687d2527ed7d9cbf50803\nlabel = 3bd80a6378115c0c946b4e3af28c6c96d1110621e21e8633416e9c8ef0a73d4", + "000000000\nmsg = 90fd851c721e936df0134ce13f2b7f4469d58f69f85f4bebe2726123cc742c1c43293f85f50b5c6d220f40c387a1f2bb2704a16508e267c6c4324a82191170e67cbf57f56dc02a706e3373e9dca1ca0f7703804c0093e9f8a2ae5502d2ccbf26dff3cd179b5b8f97959d5d2a9400b31b01ee09caa6013d198beb7e0979aed5263974591cca36ceceb252110e61bebdf0272386f9571be79fe3afc8478eb9e7155759ed20e2a2e537d98aeda18c374ed9b48be8624984ba4b15bfffff6cc9\nresult = valid\nflags = Constructed\n\n# tcId = 34\n# em has low hamming weight\nct = 68825b60b53cc0bbc92e4ce994b0dd270bad0eb657e41acf26a9e3161c5254e4bd38b03e90d7453424e605a372bc185f3ae6ba9ff58fab0cc4c1cc158d7a1e8f1f0b30ac08789f7576fab2dae7e86dae60d9af793dc1b400c2d25a9d3357ba0d27361d74a1b4e1445147a45875901d70f3190a0b34defbdbec1cb9ed3014f15a1a0f9000d9b224fba944e791d303d816bafeb8e65dfc6d740d04719c4ab36c4bbf4ebea5fc45ead338825fc5a71dd6c25f8d8891a4f8d6e0b35483c75c1bd645c3cbe9dcf5a17ae5cd2abdfb132b2b37102122a9bfc42ceb3eac98f2af39905b9cece5d122b70c95239062ceeab798691dd2b88028047924d5ae814df78d555b\nlabel = 48915cebf2a2ef9e5d5b92cce033b60456d72af1ba54f88f5074a36a643a317800000000\nmsg = 0cf83d297f20f527983f3111716a68d0d33d97ee4f5d1822c9e5382398542bd532316db29d8a8f92bacae063aca1c1cd9bc272fec688b3f67956c662a5b2f895509fe6f2406f0674afb0f0472aa205a7d55a092a5ced1b1c1b92a7b93f9c695440a3257e007949d27098410454d4e39612c7dcabc85e19f3421734bb2717de00c041f569e8d43006005960af8f573e13867911989a4c678da8f15ca0278ebbb21742fe33b3613f22afca45ac09f815b50155ecab6eb07806bdfef37b5dd5\nresult = valid\nflags = Constructed\n\n# tcId = 35\n# em has a large hamming weight\nct = 0ed3b1f6a9b200147e535042353768280244b3c831215928a2b2103df02b3613f43ecfdecc6a8f61ce0183b8c60980f82c3dde3a731ea25a0ca9b89e5f68a7cd6cf6c6475f591f24b7a89a885a46edb0ade49e37665219a6da9afbbf655943912636af85e0bc859f43d3c48b4e77c9d1c0d641a21fecf4957185b805aeb908c6387c9d1c8ad85a166c075942f0cf68ca70f8174a9d2a4e5589c7005e2c423ff97c97a208da51d9adc0cb4588a257c0a1d0feb02eb050f9980309abd09258570ab2c8186cc357a9f693107c84855ff6ee7936b71980de42883e3ee7c1c6ddbe03d16a1f1c5bc5f987e6de9cab329ed7a31b59cac467d7b6432cb40f616ac9d4a8\nlabel = 02be339a2b399ffeaec99acfd80f50ebdfc8fe3021a9a432ddd4134b3466b4a800000000\nmsg = 2124d6fdfbbf77ac89f50a235b0af69edbdbe9ef3fcde36441d7022afdc8434431b893eba822cb82585384e36298df45b4b4415a3bdc494604305272f5e988f2cc14a56043421557d5e5dc958fd771e4d509126656d21222cb8e2e1052ba38286c5e3d0be0f4b1c978a61bd1e3652ccb63fea82ec46d6b64863c00b93a3243e2328f70f692aa65f73976335eec5b29a9542befa03d5e82aba9dc285af0913382d67aacd513bbf6f5095e4d5f9b5ebfb5ddc25cafd888addf9ffa068bd4eb\nresult = valid\nflags = Constructed\n\n", +}; +static const size_t kLen125 = 21160; + +static const char *kData125[] = { + "# Imported from Wycheproof's rsa_oaep_2048_sha384_mgf1sha1_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSAES-OAEP\n# Generator version: 0.8r12\n\n[d = 5a3dc962dafca26cb3640e73bea7439a9f1874bc23e04226ccd89e7ba5c3b938a1a293b70dbab0f9f0f57f66951447dc33e730fd7e2c2a164d47ac502b07dd24cd3c142c2a79e4ceab5cfabff4478754b25a8c02c1a47d80d9f37abe442ca9a78b23f631b6ff3e15a4956d7f18590cdeb206d5e2b698bd084f260e82ef28ff9ec6dbc85a895ec8a3865750f501b96125db1bbdd99a4ae4688adb304aabdfc4e0cfb9fe6b6bc0db74c88af8217eed738a0d04fe8d32c1d110370ce1c1b2f630657350694942730878e6fff77ada7e9a317df8bc059ea7081325306b8eb2fa0d3a3d89fae476d9344892bcd5a42cf83b7bcf3e0e51b4c78e72b3207a60a701adb1]\n[e = 010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00cda6fa5ca76bfe0492ec57e0a3bfff7272dc8d1e25ad1fb338aa050f02c104e63133d6b5b7c4985ebbae9ac036a5b9c03074d60aec8e25baf392a0c430ff05b88e948805d3dd74511d8885250a7b574215ada015c559076686e253ccc96c0815b1291ee787cc3363b4f77d930eb998d7c582b24cea9ce21de9722791989863a27ebc80a00de5bd2f9228775e5a4ceb054d58c9be36a054336971a13642dd9510dd696aa268db3aab2299d5d88f8e562434d1427094d3df8e72d1ef69b4ed34d12bac375223b2a25cf227f735f816e85e17239304769a6082154cd15899fc1eaefb69b748a3e5ed24d38372597de3e4e2a27b951d6ac7db182d6809d8ff511b7f]\n[privateKeyPkcs8 = 308204bd020100300d06092a864886f70d0101010500048204a7308204a30201000282010100cda6fa5ca76bfe0492ec57e0a3bfff7272dc8d1e25ad1fb338aa050f02c104e63133d6b5b7c4985ebbae9ac036a5b9c03074d60aec8e25baf392a0c430ff05b88e948805d3dd74511d8885250a7b574215ada015c559076686e253ccc96c0815b1291ee787cc3363b4f77d930eb998d7c582b24cea9ce21de9722791989863a27ebc80a00de5bd2f9228775e5a4ceb054d58c9be36a054336971a13642dd9510dd696aa268db3aab2299d5d88f8e562434d1427094d3df8e72d1ef69b4ed34d12bac375223b2a25cf227f735f816e85e17239304769a6082154cd15899fc1eaefb69b748a3e5ed24d38372597de3e4e2a27b951d6ac7db182d6809d8ff511b7f0203010001028201005a3dc962dafca26cb3640e73bea7439a9f1874bc23e04226ccd89e7ba5c3b938a1a293b70dbab0f9f0f57f66951447dc33e730fd7e2c2a164d47ac502b07dd24cd3c142c2a79e4ceab5cfabff4478754b25a8c02c1a47d80d9f37abe442ca9a78b23f631b6ff3e15a4956d7f18590cdeb206d5e2b698bd084f260e82ef28ff9ec6dbc85a895ec8a3865750f501b96125db1bbdd99a4ae4688adb304aabdfc4e0cfb9fe6b6bc0db74c88af8217eed738a0d04fe8d32c1d110370ce1c1b2f630657350694942730878e6fff77ada7e9a317df8bc059ea7081325306b8eb2fa0d3a3d89fae476d9344892bcd5a42cf83b7bcf3e0e51b4c78e72b3207a60a701adb102818100ef885b87e25c29d1ee431d1f4ace787c4f882e92d12c4b2766c84f89263106ef0be0ddc4de3bf061a2ba46ffe7c132ae67d337f04dc66daeb9de553791f4989f50b224c981812b5388d1c2b5d53349a61393bf6611995b6988f143c278ccc260cfe82a6ac4a6409807eab32664b7ee3f1c41dfe567e097fd7afe8520871a1c5302818100dbca582288c81a30d6581f272050a5fea773d711301bdd6ecac7214e00c0fcb9498f1e585086b14463cc89a02c2e77a89271c058c6f69f3cd13553994d8a76cf62ad9e275217720d62eb6e888ec4509cea474b53f37b458fc956dd31df3bb6ec7de659e88e7e709fe3be6a8d37264c3d20e7d088276ce7651a403c68d6c47ea5028181009d7e87c851d28d80c5eb84f375494ab959c5cdf1a4ed3dc0fb78cbaafedc8f958fb6dbba3cf1263ddc3424c8d0461c9fc60e802255d1197f20210ae10debc88a4011d1d4587d68d2750c8ebce620e1d4fbdc52a5b6fea1b7435e7752200169f123e2a0393171aad90ba38b05bc859f76098b5abec8cd48c2572390bef175fe970281800eed602d00432edc30428de31763c2d257c71b4d348a3ff0bd5ee6d9285df30c167ddcdebca1593abed86e646d7bbe6eb97b7647d14380af1dba54722dfd0072b74df956cc5181527d6c65f66a53d4f1c34b9247225b35ef3d0a643d75ded55e9c725f9ad6caa995825f35575fee7ef10be2129c9ca8ddd2550515d53cf8dd6d028180101d1f49afb04d065bd8c29001d212e737bba696108574a330a9cbacc51bf6c96594f37fba9c8de156c226371d49902191e1f69d84a1352193bff29e318eb36ede6ffbab93b6555ecf6addca9e134c20220a2d24b03a6d23ef8c608a5186769f66fe2f6b21bc39f6277ad706038b907872c4716609c223762130ef03616482f2]\n[sha = SHA-384]\n\n# tcId = 1\nct = 8402dbdca0d3e9ce70cacfdfe3b2ef26ed92a6b8dc3c70640e06d0900213824a79d0cce6d0d781306eb236384d69f3ed9d921db8203e82a0cab04a51c12eb0a3fe668ab0ecfc419d3529f9970d45d9bac4373ec312b2a24f0c829aa0c0051e44a25e6da5bcccf9edc6f1d87f152b4770aedb8a36993d5768cd97c302abbcfe9360baacf437d68f59048280b560f5265e7f08769103468338bc9332568c20c7efbeddca8350662d64964ae5338138ce13c0cd0c9eb6f0b2516ef227bdbbe55d208f470ec5976116865f42897e63294d4fdbf36f6f4fc43dcb79d2c84d30c5f69ace97abe77a1d82d3fd815253d5b573dde8eb01f96416085538e94b8a0d95de57\nlabel = \nmsg = \nresult = valid\n\n# tcId = 2\nct = 858406b01fa56d4f216e36fe4fb2ba991130cd5ef56542ff60bc5ac95eccdaffc40bedb373babf08a79620f838d874e574935604cc15b2dc0220f84ece76b43d5239c3012f0cc6a446dece3616606e36026fb1544b26ffb2d0dcbb954eb812e96abdf245dfba3ea30aa5d5e7b81973f5c00a9e18a5337bdcf046c55d7e5a6028b093e6fe5e825807376a27134974bed314226cd65e17077d721cb52bb083e5e379d2cbe8594617908d9b90e0851203ce7d9dd8df667e86c3857c2bf9dbbac70f939d822c188de67c60f3bfaaed36ad4932c2e28bf9a5460bf51f2ad381e96391c4024643c19165e63db29de6232c7bbf951d04d6fd67df6d0dd08c4d164386d0\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 3\nct = c5390503bcc08959ab92c92ec9e07a59cddd2ca4929bdaec89efde9c4da1011c1be7484eb76b649769f3d258219a2503464c284a1d3bf12af8e584c45b717db7bebe3255a1b8aff1f19bc2ae26672d2bb1cc3d05ca6f4af9bca6967f22593e54d7c42b10e19735d483862850b7f184fcd38a3f895cecce365b68f922083c4737c16d152d70aeee8edff5d3a3c0153b33529b8faa73bccc4e2342b23acc227064d09fa7b66583068d9ae9978c14f96998362dd9ed0f67290b8eb220557e257daef38f118873094b8733c6d72a1aad6e40601cbec847690842a38de4f85e04e9d0edb39834571adb0da4dd158f8e22a6678db45ac86ce797d8b86d4d6de844c0dd\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 4\nct = 5814d6f2f3b23545e005a4f72eb0ef659fc07a8374780f8eb9223dad417bff6c96a91c6071abd678a8c9cbf0b4735e4c225e984669224e88655dd4f05adf1cb1ae96f7dc7932a0b387158a915f7563085f44c72a41f331e0e17e6895e442f7492151397159637968b15888f851323107bfdc1cd419d6ade56b974aff865d5823daad3d0cd8b1a94ee1767b70fe477c64a5bfa593783aa90868d4456f098630eb32ae71ad4914c142c805a69d2fd0e93563feca567ed922514c0c8867332c053d4912cd17d238eb46245fbeb03439c6e6adc1cac06d1eb41d9a185057431b25d4600684e057e571dfd1a573dc60395e7c2e3d612f9f66472f4dff284f4cad4e6a\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 5\nct = 8472105e089af324cfcbad5eb2ce2f85185f2e2f5a9e5e302022eaae5e40b1507dfd4801ac5d4743b18b87d916b2bb55bba812735831296dfcdf4087ba4a4dbf852f0274c7e37dcf2682c3aac50a70b6d08835b0c59e90fe3ce2f3b6100863936a67af141236daf5f588f2eaa09c391f5728dac6a007a02dde61bc69c65d4885149a344046d66f1b91711eecf5196006fb916ec209e5bd251ccb97b08c31aa1ebb25b44028047ae4f61adaea5215e0324af6d0509da3a3843eed6ae53fed3a1e459c7aac4d94f8c85611354e0e24f7630a42b184805f67aa7ed0bfb57e6136c43261f81940338fb4aeb662d29301ff3a0a5a01aa20e53f4041c20f14207ebe96\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 6\nct = 3645e92f0c46b7d6f6765575fa9aabde09512564a2d2ac80aa8b43710f34c4aff72d2df02446cc548acf30e34994020ed7301bba6b69bb4e9abcc766e3c9284abf824ae8389fba58bd2633b01edc3ab648788d31bc7b404f6e079a650dd8224b0642fd589b3f84cc393d18bf8b3a1f65fbe6684f6a76b3e767d5f2953db53e61dbfd69371b69b7112284f256ff11beeded9f4deea47350c283d825387981c1d51d62ca032485a1a6f8582148e7b80d2c55daae467576ef45be6f00e676eb5a40da88c18573ff012267859030cc614135dca8694dc0a0ef0d00e62761999d93c3e8651a11fb43a028370b481ddaf6cd8c4a086aea2e658d44556a6eedd64da5d4\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 7\nct = 4dcaf6ae82481350b49b344e2ff3348d0064b63d4a686283cfe7ca8ded4d73c55c9cd3dfc6656e3fd18e45dc69dddcc82a33b46531f3b5b7682ef1fa0068ec42583a2021e7dae3908d924a6bac3bcaa123c88afcf1dc6e22ac6be966723223f5f7aa46e2205c6e6cc594cdc5cbf9315c641a84665d66408a7b4f38ba6672fe3c77c53ed13ff5ca5e3d78ab51fd19186802709a0f98d7de5efc10ec7aa4448c0e89d506168acda5c85a12badb8b4104c6b6d48ad4cfaa4e055484a8c4009bd579e89b81d7121d4bb40e94a31f35ccab0e71cf767158139e7b413912efc9716d8de8f088467cb77f8e0649aaed9ef9f48df64cddd9b75ca5f077a08468a768cdcb\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 8\nct = 8d31b6a86582c2b35e86fba1af4d02484ea81326f9728c22761cfe337b7d0adff787e2cd68c3b71f22cf9d0c141e273ba9c61cd6c6cb18050391279456c3c930cd6cb2df70b295e3c062c93d60d8884a2cff2839364086208f1be9007247233a04805151b46854f9da2b9a9e0803200afb3166db9907c9406b002013d5a566e4ce83b0572694bea9d3cbedc796fc4538f0315eb920bed4267b12b9127c683e83069e8baeaaa911c8f08d", + "2457539c731c6a90c62768fcc7169088b98c13a291bc70bf6d10372494f072d017cab2f2ab8ed682b4514f576af2f81b90cdc13a266efea3f98fecb4a2ac1062aba39e47e8b3bc487156bf7f41cb7872e402d514df86\nlabel = 0000000000000000\nmsg = 313233343030\nresult = valid\n\n# tcId = 9\nct = a78eefe103fdfad9987535d10be6543a0092d1b49aef20a8c40df71b6470b560c64d1cda67b47338a572d695b314d4ba50f836deb746cc5a862e50c76fac689736c7912d5324db072f029fba10c9cb879973473e66f4a617d6aca9405f2556d44bf1d6fc3ede6a60a52334cb09cb0637f8f247200fc0063a0e8cc34ef01a6657a41444a942a8c72248f9dc2d15a26e822e0ef73ea5d9ec03060f906790510d88f46c38def40397a2aff2b77540dee5963a0ea5049904235b5e74da536c7a3f353d9cec5c50a5bcbfa07b9476aabb8de297653680823265d7afd8815267a79953301d7040e08d5981c1bb8958ad5bb3bb420b02449a25e8fff1d216fdc1f3cc2c\nlabel = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 313233343030\nresult = valid\n\n# tcId = 10\nct = bd682ddc5226f61206b2464973df9155f6c3474412943f51dd8c8e1fd00a31b6ee2cca899db0aba83a918bda521014808790a0455a32cc765c19f088a0e1773364e25745eaf015b185ce69c7886efc16b3d95fb1668038eb9ee812985f965e3bd9bb84b8da9f1bfa324d050af36d93bc793fe58d6762d927340136dfac3ba149bbc38b4d3e4177ab95fc6fd53acaa925180b88b71f607620243d45d3bad1e96297fdd339a5a25a37436320e549742a5b1266d0946e056916cce24e002f7ce5ae412046bd0c519efc417352bd6d0e95920712d11a7afe3190afdd3b5ce510c0df7ff16c2e80869f69a2cb735f34f9c260b472ed20c3e8e61b2c38f564dff60ff2\nlabel = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 313233343030\nresult = valid\n\n# tcId = 11\n# Longest valid message size\nct = 672d24c076429291e410245c34e35eda0356fb22076601d55bea1bf309a8734062f44ee6615df4fa0067d43e86cca0a823bc4089cd50517fb3b921585ba0d1fbdb131a24685c02cfb25ab56ade1de0f6e705519bd5ae7e4eb2cf2a63ba9537ca850008712825cb2a2873dc76715c9922fcfb3a3acca0a4f15abfaf49fc298b5788bc912266900cb82700404c502ed66c83b6a4e93830bf9ff8e547a6c623ee99927dca03447fa1af896d76e59ecf3ab73e0453fd0d768f5ea1f4c8252f6a01849f8098461147c8e137533a89807968520c1d18b2cf62677ecdbbad1f09615c6ecb4939c7cdc17a53dc46f8143c36e3ebc99a21ef9320e770867d90fa3f083f9b\nlabel = \nmsg = 7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n# tcId = 12\n# first byte of l_hash modified\nct = 17652dc5457163c0a622e1a52d149770af1b5399b75cc7797aec3238bf8d9a67061e1d735e67f76f4f6f697c5c4f5eaece14eee288609ba0433fb17d0f7c54c9f5593b0059aab6e8fa94235174fadf7e601ea9968257bd9d9ee85631e3b1ce0d7a66294bfa68dd265f921dc7806babc31d404c35e51f4ae61c4b7b9e4d44f8c8decc0bf99b4a4367b53e3a61f85683ddc9c0f7f1d2186727517d1f9cf206e1004b0f57a19cf978456d669d9ee1339ae3329ecbacf717f13c51387b1ba0ae81718eeaba3e6227301ba8ff149a1c6d286e1fb016919fa4c8c7b78acebacb47606713b58205d15baa11755e7646b20dab4646a02d374346ffc09f6beda72a7f6734\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 13\n# last byte of l_hash modified\nct = 02776046b529db8ff90a316f91eee580346bc626a688c0978fe5d66c14aa9ad9fcd2a887f98b77c8f3037126d32382dbf6a8109f8c0120e964a7519fe5bb9d1f4bcb3cdf761a19587b4914cde8d43f6bf31ab3d71ffe29ed293ea2202e5d383075cce7f9b83e3366563c148c72648a0ade863be3613d715dc9649a442cd2544762f3d2f0c0faaf9384f3f5b021200a062ee74d8b809cd9d8bfbe989499d9872402a0a490b654c1f856526334dfb84e73ec37cd75f63151dbfdf78d5e062977ba707c504dca2509fabdc85480fa2bead84f14c1a7197e2f41a6940ab4768fdcd6c72439be6f25bc600e0fc882348b73582adc13c674080d9c921367226230665f\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 14\n# l_hash changed to all 0\nct = 3102a70e601b928a6b350337b6e424d3ce2850bbccc6de821d677f2c406686c24ef6f3dc6fc450f873a7dc4ccc8a16ecd1c35b9374ee480465b7b312149538fe2e1d3a2a8b017fc916d3316eac606bd65b9af6d6179fecbd8ac2ef0f6f59082612dcf24786b4688a6a8659a46e5a8f941ad7c11a2e2e7275b900f0b8b0f6ca4c21878d96e876b05b3b1bc8e0d5548d433ee56f37722258d988624f0cca3cb0976c31c395f06931da563c3f2e134e636d5c50b4f4c32eb3a596b360ba0dc5f7fa2beb8f8342787d9f9e55ec018556edb4ce0f9d26b0f410ac877073ca8d40eefa2a500bf4489bad4fc60c373c576ab0135a612e2711c6fe04a07566f4c17d021d\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 15\n# l_hash changed to all 1\nct = 2393ef64f33218e38ac80c309344fe33a1deba9f63aab29e06529f5fe5736721abbb792e787f2df1ec8db8513869c1fc1f0a78648f5613f70e0b522cd5cd78c01e121d3e527a49c248861c47f7b108228a6c4481451e2ac834029a48403598105fe99b3f060296043fb609277fff1746325763a5fde8d65e6f43791abd7b113fd7a8281d2629caf7f7615876dbc702aee7f2f01829b506dc336e9ebbc6147d94d853ead79693c3c6f956a18ec825be43084e23a3e15d31a888a885152bd7cff34cf3de284805e8358c7ffdaeb56b2257e3c7c1fe8c2ced183ee27fdc99e4f74758cd68d1442e1dcd05b62ce431c26c0c76852750791375345eedf9c9848eb272\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 16\n# first byte of ps modified\nct = 6115fe66f94af6dc4f2cc46e552710603c271eb211261f415bea922adb0dc26085fc650758b79403dd76e035031e5d7d177abb752f4b1feb0bc44e13cf4b17b9b95b553c3eeeff2278f827345fdf3308b8d534a1e4a07be9ebd60c96fa45a2a04d6c91292f13223950466e441550c8903677be93f0c40562d8c51f9d772b7e2f721624342d6ba28d29b628ce8cccdfa07e50cb379063861abdb0d6876433243bcebe75a3424322255b5cbb44f2dfefaa9a9383296ebc44c6552f87e703368fbb33cc83de4f9027c588ae3d9e567ba28bd8efc5a4b173accdd0d0793abae5d2fb933055553be82eedbb6711e2ad648b04098a17e82a2a0ef4c6745c15639b7c85\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 17\n# ps terminated by 0xff\nct = 4054692a9438bb2156dff805a60dde5ef1812df0eb8f7b4eb2aef74951bc2ad44850b830f558407cf5bec5cac20a26ba54112871a24e138ea43e499a7ff60e612124d06e0cd88533dd7b64ea20277fdba3c2522bdac6f79d9884ca1f971f1db54698e4cd149cca7674210f3beb08e1ba5bd1647417b5eb25116b94b165b80bf69cfad68457cf79dd3bdab1ec01b757d5f1a0286d53d8340ad5d53b0531a94e91e1a7f0fc864d7db4f9f0cc9ee0f9a6eb03305d7ebec3fc997923e7ca879d6f458ddc4618d2d8b7baa058f25c6dc092d6360b7f2708a0f28ed44c722f39f1e42b6aba4e4df8e51545df6cba4ed7b4fe8d65a6c1ad09fffde83e962d728de73fa4\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 18\n# ps is all zero\nct = 14c56a1f064ef78ee6a263c6b551d355fbf6beb7bdf6769999b86182f836a63f1f53c629243ab3dad581e221e8b51cae706698970d205f4bfb3858d265d05e0d5c9ad973e0a30f8fa6b249d1271ae931132ddb7d0b5a665c4a4f178aaf036a25ffcd5225c6edec847f9ecf949a93dbdb30cdcda198c95353033d87b3cc16fcbdd928dd131f4874dd4b50a8a617d049b475308d649c84444cb44e8544077166636ae6b64c4600029243f0acca7182a32e5504d98fdd8ab9cc3136aa0601ee63ee4022ea40cc6525bfeaaf3afcf66b0087885badcbefcfa31a0262840f098800dbe26ba91138600978ee739054ebae9fd9ce8566aa2a24989688b4f3245c7be832\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 19\n# ps replaced by 0xff's\nct = 81ea170e37cf844e0e3569cd9a1c88fb35d894c820fa46ea6de145613e51a6444404b18313bb47fc27ce81b953416bf40d9c86062f50cb7d547f0cae0682408fb6d1ca311ad617435229c6c1cd118476a12cf1fc96130208abdffe50101cf07ad3a318a8312c6c23fe9545a21274a169b1d7d4dbf198a1a06197c4d77c91bbc6b8591f66a3673d1eae4fdb0839b5925868ab8cd41ef670bbfaa77d12a9347658a969b7d0e4f51a1efaeb3339c761b8087f865d580263306417a275aa2a69a5b7db581b09b636f2dde022a7f9d2b2d88d64c02bdc3ca912ae89f10a0db867e61e7946057162259f9105cc13ba8d5125bcb3c49ddced4ffa833414b5f21d1e8446\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 20\n# seed is all 0\nct = 8d86dc4148c4cdb2fc0fa7a92f48a1efd33897a2306f002aa39ba338cd20c44bee1dfe7db050145d9deebacf296cfa651f5e2e0f1a2b9e09df5d11dd564e2895f64c359c590ce0f400dd774f67c2e1ee178c0e5127ec30a2154f74b4b75b7f3788e51bfc6a54397f28e88587ffea825efd6cd1e5b6aa1464cbd5ee1aad24cfb86446687e58a2e9604f05a40c237bb94300677cb65a70505581af2fe51e0d7d82a08629db0499fb1d360f1f1a9affbd75579b98d6d976ebe2e407da9121cfb3a8b88472fb868d82881be87cee4d23c58a27b3707f2771dda0800ff269968bf5393a5d8c83d5d4235cc1eaa8c9db342b2929ad0ed8638044915efcecc507f66350\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 21\n# seed is all 1\nct = 3e970ded411dc9ed2a18ceadbbd9d5470209c1dfba22e7cc3287ddcf10ca0c28fec6cad62227a156a5ee2066a995ab28a121ca7599992abfb75dbe987a4c190b1c58af8b13b11ed247", + "24ba41e4a484fb35a38941c6838e4045fa8a048ea3efb460b01fb2d11aabcedf4ff2db5e889145bb2d729c8456e51f29608eb5aa65a1908fb94beb6c2a89778a1f2389821f15f818865e38568eea9aeeba0366198379b13723c6c37745b7ff7e4f7164afa5394083592e7d102ffa72a5ae6b3da8d92b5977fdef3a6449696c9e5cd2024a9f795e81633c243db6e74e566cc68ec4043a89cf69e020ed10b6590082e1a2015369029aaa673a92f44d6e62604672559fd933\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 22\n# First byte is 1\nct = 731eaff9f54ce72b0572eb6cf3d586b898dd9d96ba82202c77a63f1d98642920790e092ed5a38abff54b6d12d7985efde0ec8b6321a5b8183a80adf3c68972e90f0027654e2c585eeb99e5edd7a9b56b652acc0051b95507b3daedbc6b00203f50553f432e612afa74056d0fae7021159ed95477fdc5719627c77af1ef2b2ee3b8048da4ef6ddb1662e35aa560cac6cb0beaa7d811eab49939b6dcd3cdbd1f00beb875bb60fcdf2a006eded6f449bae338908a0fe181035f14e6fec4f162743438ae2d9bdcdcc49c7cd778e762458bf2669b35ed3d498ada6041342d12627f14cebbab2c55daf2b9e4e645641ce07961b39061f432b6ab787a175f8e68f2c98b\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 23\n# m is 0\nct = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 24\n# m is 1\nct = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 25\n# m is n-1\nct = cda6fa5ca76bfe0492ec57e0a3bfff7272dc8d1e25ad1fb338aa050f02c104e63133d6b5b7c4985ebbae9ac036a5b9c03074d60aec8e25baf392a0c430ff05b88e948805d3dd74511d8885250a7b574215ada015c559076686e253ccc96c0815b1291ee787cc3363b4f77d930eb998d7c582b24cea9ce21de9722791989863a27ebc80a00de5bd2f9228775e5a4ceb054d58c9be36a054336971a13642dd9510dd696aa268db3aab2299d5d88f8e562434d1427094d3df8e72d1ef69b4ed34d12bac375223b2a25cf227f735f816e85e17239304769a6082154cd15899fc1eaefb69b748a3e5ed24d38372597de3e4e2a27b951d6ac7db182d6809d8ff511b7e\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 26\n# ciphertext is empty\nct = \nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 27\n# prepended bytes to ciphertext\nct = 00005814d6f2f3b23545e005a4f72eb0ef659fc07a8374780f8eb9223dad417bff6c96a91c6071abd678a8c9cbf0b4735e4c225e984669224e88655dd4f05adf1cb1ae96f7dc7932a0b387158a915f7563085f44c72a41f331e0e17e6895e442f7492151397159637968b15888f851323107bfdc1cd419d6ade56b974aff865d5823daad3d0cd8b1a94ee1767b70fe477c64a5bfa593783aa90868d4456f098630eb32ae71ad4914c142c805a69d2fd0e93563feca567ed922514c0c8867332c053d4912cd17d238eb46245fbeb03439c6e6adc1cac06d1eb41d9a185057431b25d4600684e057e571dfd1a573dc60395e7c2e3d612f9f66472f4dff284f4cad4e6a\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 28\n# appended bytes to ciphertext\nct = 5814d6f2f3b23545e005a4f72eb0ef659fc07a8374780f8eb9223dad417bff6c96a91c6071abd678a8c9cbf0b4735e4c225e984669224e88655dd4f05adf1cb1ae96f7dc7932a0b387158a915f7563085f44c72a41f331e0e17e6895e442f7492151397159637968b15888f851323107bfdc1cd419d6ade56b974aff865d5823daad3d0cd8b1a94ee1767b70fe477c64a5bfa593783aa90868d4456f098630eb32ae71ad4914c142c805a69d2fd0e93563feca567ed922514c0c8867332c053d4912cd17d238eb46245fbeb03439c6e6adc1cac06d1eb41d9a185057431b25d4600684e057e571dfd1a573dc60395e7c2e3d612f9f66472f4dff284f4cad4e6a0000\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 29\n# truncated ciphertext\nct = 14d6f2f3b23545e005a4f72eb0ef659fc07a8374780f8eb9223dad417bff6c96a91c6071abd678a8c9cbf0b4735e4c225e984669224e88655dd4f05adf1cb1ae96f7dc7932a0b387158a915f7563085f44c72a41f331e0e17e6895e442f7492151397159637968b15888f851323107bfdc1cd419d6ade56b974aff865d5823daad3d0cd8b1a94ee1767b70fe477c64a5bfa593783aa90868d4456f098630eb32ae71ad4914c142c805a69d2fd0e93563feca567ed922514c0c8867332c053d4912cd17d238eb46245fbeb03439c6e6adc1cac06d1eb41d9a185057431b25d4600684e057e571dfd1a573dc60395e7c2e3d612f9f66472f4dff284f4cad4e6a\nlabel = \nmsg = 313233343030\nresult = invalid\n\n", +}; +static const size_t kLen126 = 24258; + +static const char *kData126[] = { + "# Imported from Wycheproof's rsa_oaep_2048_sha384_mgf1sha384_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSAES-OAEP\n# Generator version: 0.8r12\n\n[d = 5a3dc962dafca26cb3640e73bea7439a9f1874bc23e04226ccd89e7ba5c3b938a1a293b70dbab0f9f0f57f66951447dc33e730fd7e2c2a164d47ac502b07dd24cd3c142c2a79e4ceab5cfabff4478754b25a8c02c1a47d80d9f37abe442ca9a78b23f631b6ff3e15a4956d7f18590cdeb206d5e2b698bd084f260e82ef28ff9ec6dbc85a895ec8a3865750f501b96125db1bbdd99a4ae4688adb304aabdfc4e0cfb9fe6b6bc0db74c88af8217eed738a0d04fe8d32c1d110370ce1c1b2f630657350694942730878e6fff77ada7e9a317df8bc059ea7081325306b8eb2fa0d3a3d89fae476d9344892bcd5a42cf83b7bcf3e0e51b4c78e72b3207a60a701adb1]\n[e = 010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00cda6fa5ca76bfe0492ec57e0a3bfff7272dc8d1e25ad1fb338aa050f02c104e63133d6b5b7c4985ebbae9ac036a5b9c03074d60aec8e25baf392a0c430ff05b88e948805d3dd74511d8885250a7b574215ada015c559076686e253ccc96c0815b1291ee787cc3363b4f77d930eb998d7c582b24cea9ce21de9722791989863a27ebc80a00de5bd2f9228775e5a4ceb054d58c9be36a054336971a13642dd9510dd696aa268db3aab2299d5d88f8e562434d1427094d3df8e72d1ef69b4ed34d12bac375223b2a25cf227f735f816e85e17239304769a6082154cd15899fc1eaefb69b748a3e5ed24d38372597de3e4e2a27b951d6ac7db182d6809d8ff511b7f]\n[privateKeyPkcs8 = 308204bd020100300d06092a864886f70d0101010500048204a7308204a30201000282010100cda6fa5ca76bfe0492ec57e0a3bfff7272dc8d1e25ad1fb338aa050f02c104e63133d6b5b7c4985ebbae9ac036a5b9c03074d60aec8e25baf392a0c430ff05b88e948805d3dd74511d8885250a7b574215ada015c559076686e253ccc96c0815b1291ee787cc3363b4f77d930eb998d7c582b24cea9ce21de9722791989863a27ebc80a00de5bd2f9228775e5a4ceb054d58c9be36a054336971a13642dd9510dd696aa268db3aab2299d5d88f8e562434d1427094d3df8e72d1ef69b4ed34d12bac375223b2a25cf227f735f816e85e17239304769a6082154cd15899fc1eaefb69b748a3e5ed24d38372597de3e4e2a27b951d6ac7db182d6809d8ff511b7f0203010001028201005a3dc962dafca26cb3640e73bea7439a9f1874bc23e04226ccd89e7ba5c3b938a1a293b70dbab0f9f0f57f66951447dc33e730fd7e2c2a164d47ac502b07dd24cd3c142c2a79e4ceab5cfabff4478754b25a8c02c1a47d80d9f37abe442ca9a78b23f631b6ff3e15a4956d7f18590cdeb206d5e2b698bd084f260e82ef28ff9ec6dbc85a895ec8a3865750f501b96125db1bbdd99a4ae4688adb304aabdfc4e0cfb9fe6b6bc0db74c88af8217eed738a0d04fe8d32c1d110370ce1c1b2f630657350694942730878e6fff77ada7e9a317df8bc059ea7081325306b8eb2fa0d3a3d89fae476d9344892bcd5a42cf83b7bcf3e0e51b4c78e72b3207a60a701adb102818100ef885b87e25c29d1ee431d1f4ace787c4f882e92d12c4b2766c84f89263106ef0be0ddc4de3bf061a2ba46ffe7c132ae67d337f04dc66daeb9de553791f4989f50b224c981812b5388d1c2b5d53349a61393bf6611995b6988f143c278ccc260cfe82a6ac4a6409807eab32664b7ee3f1c41dfe567e097fd7afe8520871a1c5302818100dbca582288c81a30d6581f272050a5fea773d711301bdd6ecac7214e00c0fcb9498f1e585086b14463cc89a02c2e77a89271c058c6f69f3cd13553994d8a76cf62ad9e275217720d62eb6e888ec4509cea474b53f37b458fc956dd31df3bb6ec7de659e88e7e709fe3be6a8d37264c3d20e7d088276ce7651a403c68d6c47ea5028181009d7e87c851d28d80c5eb84f375494ab959c5cdf1a4ed3dc0fb78cbaafedc8f958fb6dbba3cf1263ddc3424c8d0461c9fc60e802255d1197f20210ae10debc88a4011d1d4587d68d2750c8ebce620e1d4fbdc52a5b6fea1b7435e7752200169f123e2a0393171aad90ba38b05bc859f76098b5abec8cd48c2572390bef175fe970281800eed602d00432edc30428de31763c2d257c71b4d348a3ff0bd5ee6d9285df30c167ddcdebca1593abed86e646d7bbe6eb97b7647d14380af1dba54722dfd0072b74df956cc5181527d6c65f66a53d4f1c34b9247225b35ef3d0a643d75ded55e9c725f9ad6caa995825f35575fee7ef10be2129c9ca8ddd2550515d53cf8dd6d028180101d1f49afb04d065bd8c29001d212e737bba696108574a330a9cbacc51bf6c96594f37fba9c8de156c226371d49902191e1f69d84a1352193bff29e318eb36ede6ffbab93b6555ecf6addca9e134c20220a2d24b03a6d23ef8c608a5186769f66fe2f6b21bc39f6277ad706038b907872c4716609c223762130ef03616482f2]\n[sha = SHA-384]\n\n# tcId = 1\nct = bf20e0e04ddbf103a5133227fbc2696a0acc72f76f869240b06aee89c25128386d0e0c16927f98c1ff3b22b4fb61b508f383f7ea764396b2201e800c793c81a4d38e20b03ead703f0b164d7e7bf4708ce970c5907b139bdab8e2a1922989f97cc2cce656fe37630919626d966222c462af0e72ea36f3d81678bfd1928caf9111079edf93796d2713deee2b85cb04fa63d9fa41d212345507c90d04f4c6c80a114b36416cc55d78eb969d904269a69bf2e839075543955616071a45bc1678c64304ff5f4c22b207c27703f70061d1471b4704357c13dc44e1b3eed0842f578e3e84e28184f84ef6f80ac806c3ccc0afdeb17a74b42693f6e4b2a6c76161363f3d\nlabel = \nmsg = \nresult = valid\n\n# tcId = 2\nct = 0051190f85cf3bd0e9bdf5c937593d2219db50ba7d0512d38807b31eaa9310f0120320f7fad7c6b135f29cb17ffa5b135c0ebb1c4c8112a66912aa92bbb3191d5a284884f19460dfb9bf232f0db6c207ff21d53712e1c8d90bec036426cef56a017e6175bf8bf238c32050188869301ef78d3984762038bb72a982d5c9c9501820196d68c798ea29d0d60f7628625ffe975ee0757c6b70bf87b8219ddf9e6ad324ec9751fd3664887336bcaa7af71c93083dd96702e6089e2b67abb763193f95d4222b9177c17b4726998240ce74205f18cb4b17bbfc73185176ad761c1d48e633a4ac7adc2f61dc95798e530d20817b721311be824dfcf7629fbc533543280c\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 3\nct = 0a5067a97a17114be5a71697f15694d98cdd6e79dcba1726a38ca660ae4fd9a1336df2de79718cea176a365c46a24d0468c2a719cc1835e5b60aa64424a8dea0921fb641458c279c74a7ac74474126becc25c84cb8e411cc7a119c78298a2f45658c7590c3b40dbceb7c41c67e73d41b46ac55cbea541c64a91c521e377890cc031a4933a237609dce1d9f76684641417a44759662e166d837e77e9b8b3fd3343cad26de86db4f914ae83893fe9658654d0932b6a98ca5735669d667186d894b5d472a1efef4b2e06035189feaf960ca1242b620264e71c47307a8a38bbae9bc3d1bd5508ac37f1ba770bfc36a50a543ee204e5eff5310fe3bf430dc6908eb9e\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 4\nct = 767bcf450f416e428980a488bc8307674976253008d81340a2f519a1f4b936abf02028c2e7614f4aa31a8b3e17c96b4922340a6a9696fd4ff358c1a84c347b405033459f9192e9f7d611ca2da6a669a895d491a3c1908cb598730b596d66b1d4b7617f33766af385c333f037e7341c9680f9854f6ab4f2c986462d874f4dc66c6fa4f49fd3ef33d7c8cd81d7608411aa610e5e9101dbdba522f75cd12c575b42d082811227ba10319f6ea0c9a2eb6a3e63cfe0c1bab18f29091fc5d6372785208a830f732f8a0635f5ee7b0b9d2d62ff9f1a6cb88da253ad5f0d56e572548a350a7e12ff846d09ad5352fa45de484386b529e6f14a1e8055145394f8d4f91b80\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 5\nct = c2a9b96b17314bfcc82d0653e14aaa7024b31451a842f7174a8a708dd80c94212af670806f96e7c08e2413198bc32d99a2e67d32c6fe772735ced16ae8b903d340b61585eb4b2ae7e0f51caafea691dabe31ddff90b114a13f05072fd8a8a9bc16fdcf32d199daa0de8ef34fd790f113505eab2b049c515a13a7d56f452f748ab76a07476d609f9e8db48d97f74f8e8bcdea62f495f573bfd2a171224bce7e2389811c01eec70ddffedd6bd2b7a3896a81a383e686dd80863f86a2290db0961ad1b2c6399a12fc725a33a182dfffd5ebc099612b9cd996a1c44037d2396ff657d22a50d94204e4428fe3d62b629c8319677654efb1bb0fceac9ae8d1eb3d2f07\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 6\nct = c67d74acd68029ef1783f6412a2ff097bc4c588f4125dc9af871ff6cbc18caf2fdbd5f92235211bb460d7c32bad3d768a7893ad5b1e920ec9bde3cf9577f66a16d5a3e5a4feb40f0413ad47613929b44d40185cd4507515e73e9144a626c6e2461876789c8128eb6438879cc6b2a971dbcafa9e9f40b0120fa38f48023805011d89d48cb093bbafd221aca8b62311a6a2a29a92e13302c6da0f9190aceb9c36c970d731425ec079bbc6295aac01d9cce136f9e2d55e8516d007413f1d44bfaf63e257767dc0620a8902fb449f9d62a25630087b613784af81f1a588da7b0fc2ed2138e58eacc746cc2417b0088a1bc945552afb7536847baed72c16484ee7ddb\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 7\nct = c1fb0843b4e3c77e622d1197ee897b8251971172ddd2a1bb94142173451d1748b468a450b15bc062adc94311fbd43a807391721bc05a4949b39af2ceafb1bbbe6e157237c6a7cb33fb971cef3c7bb172ca76f27e5a70b4ab501b8c4f695145da34f00a54deb47baf1f4722c313a1822b8746109c471f4fd8e6941cefe545804fad30e789e419aa32f16958fa667ed42912d6dfb5cc6d7635e2867253bfeb5ae946283f4fbc001fe8f578ca00c735f6cb02f65efaff2401f9da630ac2ed9ca7d44e4de8ae1ff6425560d54d75a934937021589418b91573b4eeb4f698383009c3074939d83c90d463a2c799c16e06c6467641d335b001ef89c9412f7478d5afb9\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 8\nct = a59ed1881782b3a151254fd0102d0c78269ce015a542767763d786bbb88d7c764e6a2449f49bb8313430ed480ce6d65583502f647f439ffb578cba6267ddb492dc74ffab44cebbc11df44fa6e83899719c7432e509ae3a58717f452bdb531f01b70f9541cadb504b942f82b1032a5daa27179d83dc63e0f342d5f769fafc07506874704fab17d61cbda698a201fa42738fb21e9ef8828cfa0e0b4a5ee86e639d69642748cc764a4f", + "a27fdb18c422f1257b9a7caaf2430e6a347bbaa170b77fc7f2aab7ad2673324c17acff7f67cc00525483c5a390c084eceb0ddea637f09cc1158638eedead7b38a14e9939c555cfb1881dae08479d838c1dc1af3b81348305\nlabel = 0000000000000000\nmsg = 313233343030\nresult = valid\n\n# tcId = 9\nct = 5490da684778d73666ab3cddb145bf50c914ed7fc5ccca7fa5aec07e45d925fd404e34c899b3620ee010cbdf02f190bf23f47c07f995142bfa0b1bdd988872671aa4ccaba8fcc668cf413a627bdf27f8b680f1b9d633cf3e2a3c0b83a9ebec591c9fd9f1a4bc997ad836bf5db9a8015c34bef11392ef8bfa4b278b9ba8f315e256908299812245dc534deacb9b97b7645162ab669721268177404799173f4f9a1e90abaf04cf78a1ea8a95e86c343553153562e3175ea135998e20cb51386e934ee28676e10a5a73b59fa1ca3b5c96ae43323883ab5a9a9214baa461046e3f600eaced75ccfb887fdb11d5d202347918cb42276370ef6fb42330d3922771e7b5\nlabel = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 313233343030\nresult = valid\n\n# tcId = 10\nct = aaec366e45e9cbee804f4beab0c7d4a802731ae1e22d93e3dc0fa4868dd849c0cdfc52066051cf12887ccc09257301026be0e4ebe2d60dbec6de547d1dd4f778682fa9d88dccb0eab5e6cb07fe7c3a3664b5f31bd68cdbe9b88fec684b9e4a023f0e782e5e9a328628db6c3d94a1082bd0d3e453ce2628c1f17a767c017d725084dd0b7d715241b808b2537464dcc6eeb5af4c4c18702bcdc733c53f35d805f813e772ac32bcaffe025ef0fa8931849febf99c9e73cf5e4730a14924d9f074063b4d80faf3e8bce1930daa241ecee3b684d6674dc41b8ce53aa8c0002b0200fa393720ed967822eb2edd74a195423eba5dd6fe39150dcb697cc1f3553f84b9fe\nlabel = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 313233343030\nresult = valid\n\n# tcId = 11\n# Longest valid message size\nct = 348f6680d25d93e7f8f17f2410dd4bdc8a2ba5c9d29b17f3dc1e308d868ef3e1121982635c60fd386f77566370f5bc0d34e9596637c59b00a6eb665bf57071260483f72a5cf0bd6ad806a049aa670ffac206672fad6e206d9e13f82d89cd3675a888873cfdd1ea20feec04ac9e1d4daebc58ae9ebb84459a3481d268468f6e97bbad0011247576cdcea319b68b19ce7f2573cb3d711e078b9e206fea729e5b61d67f400a335aedb48f673af1a81c2998d80ba34ac18530ccef71838658e8937c127f5d5ce93a525a2ec60c98569d785592490fcf3c72d53791f8e81244292f1824264518bb827adf1205e6a2e1ca7d01195dd4c3616acb7580c0c9c572024a4f\nlabel = \nmsg = 7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n# tcId = 12\n# first byte of l_hash modified\nct = a642bede4d119d37ba3c6f729ab8ef09055a41c5cc650a954bd0a2aa248172f3e332d3caf27f6652202287705d58b3ec31a5925083486c50c31ea5b27a693b2b93c6a4be3c5938a478148ed6600042970d71e2ae81e21a2f60ea683c4a11be85d2a00cd39edb6f05f8e93c2d760e68ba74a42dcecb6a890536c7bb093146a8161e8847b18ddf18e13eb04fcd841260016084b23efad5f36c3c5374a850b26f97e8076f9e288c9e904845c46df4fd8af41031dc6a9dc41c35c1ac73fb9586e308ecb8260d85d730ffe78bcc0439e4845bc9f6197956b2e4dfa4c5e6367b203c1a450a081e3edf6b50aa85303bbb547efbab5009fa80839d78a7d3c8514815a993\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 13\n# last byte of l_hash modified\nct = 4d805a7ce650739a4e4f334de9e57fc134604c9e5198aab2bd2044b11afbc45741814b2c6b796411710445ad3f73b5a11d2066ab73d4ed636997c6542ec18e8af4f1ca0019865156cf9ee86315adb75db3640953d1f1268537d308256f712d0a3b3a4b2b88322056ae9c06458fc36eeed60359d091090a9a3d6c3646fcf54e0f98008a6440f5077ece467e10b9eeffc671309306eea60b912dcb872b48428450041f553412b0f7a370fc1f2ecfbe1711658de4991fedc33413f8faf69c3f8cf97e9003b2b039bff237681339875a85d2132bda1a029a2e79f0e37f90f50358216399b599d17e7760336fa447e6599cee60ca384f829df0fe49e6fddfce91a74f\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 14\n# l_hash changed to all 0\nct = 552edaec51577daf5a3a41f5122d8e14a0f210f4a691c22b624550d953c2e0c93fef2fb883d766a4996424377c384f41624c3d65728aa1a953e3283bba9ff5d020acc1f870e495c539f9857d32b42e9a7f821e2187e997c409ef85f0013c434918d7e085566607c2cf279d6d7a1f51ba51672d74491d1ad797461b555199ff3bcbd26f3d87781f09dee6cef446053685eeb60f0a81d57cf73b3d674cfff6060f53b0fa8f224e43ab4a88f0ce37d2ab9b4c257df77e7519f211dbaf6b9837992d9f6cd4e5fabba4ab0b405b49c8ef0cc172bc5889ac9beecef9abd48b46b134c3f0a8522cdfa0a07fd1c91788ac81c06b2cabd16117fe55d7892e4dba41188dc9\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 15\n# l_hash changed to all 1\nct = 5de9c4fffaad1023d578673bda5f05d62dc73b5972b5addd16c453cb0d5aa9beb4cd7b51ef91a49f58c4eacba817b298b3f0d5053c37cfcc03770c0f84e77688bf35904033a4b002fab9065805e698f6f3082c4afd05d18e7b066a45a8c400a25d935455d3b575ee28da69e833163f8014f50cc3abda567b07f5b5fce34522f6825cfb6432ee17fb9ed6de30b7cd610960cf39f19844b09a61b00a957706227b2fa4e88081ca030a264dc1314bebc9a760dff72ded1f8d51706349db4cc95f0d7e6f331535075be4e95c12389759c26717cdd933157117a3b03f1c6f73826ab837a57405b0cdabb22e7f6ee468f46d93549067daaa6e735ef478fb2f6809b116\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 16\n# first byte of ps modified\nct = aea235313fd3bc3be95b1db39e4bf2ae67b8e70555d6dbb3de2c079c19fbb1dc4a9a6b4e8ce3d8dfc6d085b76a0559240bb90dab223dddf650da78301c255085982a7b8ecf11bc824586de0524cbcfea2a83ba11f619c8c87ae91d64aae92743b6e2719cc3d7a670a77614e086e4e3137cb1ca0c4867689b3c3aeccc5f31528801d1e22e864c031f58ced9d73f619bd5efa8f28f224587768c309e5086703ab9d6acacaaa1ee2681417b647c92db0640446840866b50de5d357da3ca259bd9e0b072bbc3ddba819a90ded0b4df6045ee3af3a0f013228fc454263f92a249eded9c73f7612f2f3303cc2b3463dd9c7a0fc2e474f899e9a27f83ea7fa5f11e0995\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 17\n# ps terminated by 0xff\nct = acb7bccf7e2cad69572f61c98565957f0e30931cc5980c4ee4540844e08d37066280b3d8d0f15090faeca12ab22b0a3f70b2d3b68ebc6d4b3f1998277d93256836a1f65879c8f48ea22b13b80fb0738cd44fb540507fb9f44577623a1af15384196afc9d5a6882c245938fc1b53c600fd0dd9f07a574e167041b53f414c7db6c252e875443b0006358382f5c83735e971337077249f7e9386ed0e915ceab283c0474308bba05e7410c91959648d1768d2e51e599d479a5578c6e7a0fc61fc8e18c017f4e2576087be8a8fdc7ada5b708bb07d6b0579c9baecab7e38794698c6d91390fef554c53b97561034db14b16dde648c9d5ffe61ef8debab95c57b22565\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 18\n# ps is all zero\nct = aa5b36de5f95c3c3b355a7968d39de17299bdb01870f07b3600714d5999dceee36451047e7eb1942bf25828a7368d219710ee27cbb8f58d9f64d9cc165865fbabdc52594a95049f21b65fbee38116a8032d37eb53dbe05b7ce5476e694cc0ea4ff981fb269d93cb634061c8355ef8e29d35ae3c251d24d894fbdbcd151da914a2a1c057a22afe8e13a596829cff32da6a8f7200cec826833bccb20bce20f96dd04066ea0728149dfd469ad2057ab3d6517c85d8817365258bec18a3fc67f314470b75f00c57cbbd04c51bd04971603acdbbdcdb36ff8b315baf4939d0b9ad5fa52093c8dcd701fe20fd67d8c3a1238f60141cb45e6b4ce0d504f03028091447c\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 19\n# ps replaced by 0xff's\nct = a79aaccb72907b41123e3efdb57be0c5ab48dc09ac22fddcda6bc497cbaa95b588ed3c70dc3e394e96e8c8cc07d1b49a6ad958a9cff9422be78aa2be641f38dc1609e076c41b79d874b8dfc0d601fcd065c4a24b9762170fdd20985a283f493d6772ac5b87f28ddc3fb67a941b7de48c6a8a8769b30d8e1cf020e649d11922d46933ffe809a68597744d9fc54ee47edcca190ab7d95f66067657703a61d53a0a6fa28113e1d4912f3ef0a8d2b5d0aadcf607f2f42a4ff52e2a9962d119fcf8d65c6474a91d62fc3e7fba867d06a07a03d2fa4969195879a692389134a5f414632de3dc6928744909452f7c6318ffd0df0ce3d9e10a8cae53d806b555a462178e\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 20\n# seed is all 0\nct = 07bd2fbe880a85da97962b4e806e3f380bba3dc80f631d9b4a9a64ab51179c5ea7f58789d8e5894b1fc7df15b34d09f5592fc600bf1edd118538a614ce3144165bf0578652686ce7df720c2660543d836746675a41cc929b198647c52ffb8b4afc74cba7de456d2298a1aa40c25247b4c1304f41bf4e137b98245ab8edea6f62077a8eadc6bc903722d0c7253b3d2b0acdc1f961157f14404dbdf50f294fd7fed64fab3a0c3cf46e683f41b89c0db6112395ff8af6348924823a43855a0cceb4bb00bb2564e40de0db8ccd803af1c4ce7873aa2fa156d09a4274b47c5888553cd09c32456da49411061e900188225eb181cf57cd8bbadf055f9f4df6f6389acd\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 21\n# seed is all 1\nct = 79cb7928bcca16d8b74a0900d8de2b4e7f962e6073d74f3dff11c5a7d3e407ca962fd7eae0d3dc1ede81ea7cd4059fd1e304bf297cf30207b0abc8aa31189403d52a38811b6f11", + "bfb930c15ec7b0e2e903623ae1d81083a5e0a7331c620d3d5b289adcbb74246d9c59336d165c0176e3c1b922d381ae8da731a933279fef6d185a689e039970135ac3c4d1d87d858e65f409341c593dd199e2dc60c16033023ad2665615877b41348721fdf3569bd03aff206a00a9705c25b3e33ff3b700ced05a6e72f3c5581eb3090c1c238ff5fcb26a286bd4c231f4eba81c5daee3c3c2dc9ac3cf2e73bcc15eef091cef335b8b89963a0d5983e1754e423d3b70c039b2c7\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 22\n# First byte is 1\nct = c295f57de51d491eff362ae8459c8be0224f27393a6d135bc8656b4f4a801f50e1c4c48b9eb52dda12c397416a89f709813fc500804e0cb458ce64d7c2c96f3f1f89ce70eb79b1f3c2efbdc46e1bf5dc8deeec5a34ab252568aaf8b6d832f677c04aac913901cd37c6914fc3517e53de1d75060c6c2d766625b5b8163ba556414cd114f45403f73d2676b7fcf9208d4f299d492f146f3e3da32ebfbde77a4f91574abe2195af5ba3b91bc4fe441e15e01da0fcd6d9e374aac38e622697b9385edb493bba4a486d35e8700c5009ec9cb82cac71a88c854edc6f1ceef96e759c64b08350f8073fff929468ef5aa83a86bffd9750dc43ea99927e93b4b3f84819c8\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 23\n# m is 0\nct = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 24\n# m is 1\nct = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 25\n# m is n-1\nct = cda6fa5ca76bfe0492ec57e0a3bfff7272dc8d1e25ad1fb338aa050f02c104e63133d6b5b7c4985ebbae9ac036a5b9c03074d60aec8e25baf392a0c430ff05b88e948805d3dd74511d8885250a7b574215ada015c559076686e253ccc96c0815b1291ee787cc3363b4f77d930eb998d7c582b24cea9ce21de9722791989863a27ebc80a00de5bd2f9228775e5a4ceb054d58c9be36a054336971a13642dd9510dd696aa268db3aab2299d5d88f8e562434d1427094d3df8e72d1ef69b4ed34d12bac375223b2a25cf227f735f816e85e17239304769a6082154cd15899fc1eaefb69b748a3e5ed24d38372597de3e4e2a27b951d6ac7db182d6809d8ff511b7e\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 26\n# ciphertext is empty\nct = \nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 27\n# prepended bytes to ciphertext\nct = 0000767bcf450f416e428980a488bc8307674976253008d81340a2f519a1f4b936abf02028c2e7614f4aa31a8b3e17c96b4922340a6a9696fd4ff358c1a84c347b405033459f9192e9f7d611ca2da6a669a895d491a3c1908cb598730b596d66b1d4b7617f33766af385c333f037e7341c9680f9854f6ab4f2c986462d874f4dc66c6fa4f49fd3ef33d7c8cd81d7608411aa610e5e9101dbdba522f75cd12c575b42d082811227ba10319f6ea0c9a2eb6a3e63cfe0c1bab18f29091fc5d6372785208a830f732f8a0635f5ee7b0b9d2d62ff9f1a6cb88da253ad5f0d56e572548a350a7e12ff846d09ad5352fa45de484386b529e6f14a1e8055145394f8d4f91b80\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 28\n# appended bytes to ciphertext\nct = 767bcf450f416e428980a488bc8307674976253008d81340a2f519a1f4b936abf02028c2e7614f4aa31a8b3e17c96b4922340a6a9696fd4ff358c1a84c347b405033459f9192e9f7d611ca2da6a669a895d491a3c1908cb598730b596d66b1d4b7617f33766af385c333f037e7341c9680f9854f6ab4f2c986462d874f4dc66c6fa4f49fd3ef33d7c8cd81d7608411aa610e5e9101dbdba522f75cd12c575b42d082811227ba10319f6ea0c9a2eb6a3e63cfe0c1bab18f29091fc5d6372785208a830f732f8a0635f5ee7b0b9d2d62ff9f1a6cb88da253ad5f0d56e572548a350a7e12ff846d09ad5352fa45de484386b529e6f14a1e8055145394f8d4f91b800000\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 29\n# truncated ciphertext\nct = 7bcf450f416e428980a488bc8307674976253008d81340a2f519a1f4b936abf02028c2e7614f4aa31a8b3e17c96b4922340a6a9696fd4ff358c1a84c347b405033459f9192e9f7d611ca2da6a669a895d491a3c1908cb598730b596d66b1d4b7617f33766af385c333f037e7341c9680f9854f6ab4f2c986462d874f4dc66c6fa4f49fd3ef33d7c8cd81d7608411aa610e5e9101dbdba522f75cd12c575b42d082811227ba10319f6ea0c9a2eb6a3e63cfe0c1bab18f29091fc5d6372785208a830f732f8a0635f5ee7b0b9d2d62ff9f1a6cb88da253ad5f0d56e572548a350a7e12ff846d09ad5352fa45de484386b529e6f14a1e8055145394f8d4f91b80\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 30\n# em has low hamming weight\nct = cd72b9c7697a399323bb3df69256ef3d7896c4b7c35a4932d56321e2bce7d590399041672d8a7694ba945d065469d9f527416cc771d6bec69db4d3653ab84ef6a1e1ab13cfcd5a23b49fe970f218016bcc674a655a10426cac75580065df467e2b3ca95e4a92f0c58b5fd9e6606cc44496a42207da4b5bc46ea6d389c35b3095db2c7ed756182408ac5c99aeeaa7098b1f4a91c5b6ade587633d66c9bc3357b11f3ecf019b1c53858d451d9f00a23318338255d48921971e86adb89a5c5742c6d7da82c7b9eb71679d2dc54911d9a427246be058f54ff269108c47a4bd568c3953a9365f641588f95c3c51311b3fe2f7c4e9b94f8db3410e738157d57e559898\nlabel = 027f3eb14d2f370b118a0b95acb6ce9849b6394de05269f339cbc505fc1b45f3f6a25b824cf997a6406ab2f496e145bf00000000\nmsg = c8556ddde4086f39f881c459e790ab6d3e6ac862be3b0f7ccdb6b1859eb160793cc16538744dd2d7b8f5d0a431b2e7fb21dc47977b40cd1381fcc5f3e8577331c14584ab3e5ed92a979a5bebe4b48c21a8b4f71d6a496d526907f7b6e5791328aefb2591e7994564c996826798bf62fa86d4b1e2f57e5df1fab316a928a007174698d32d15cc5a7e15acf53c31b30dfc18aab2aa9ddb0edabe65e153edb6\nresult = valid\nflags = Constructed\n\n# tcId = 31\n# em has low hamming weight\nct = 4112dc2f415f5ca05e1a9372660096836f4e47649ef22f31f3d2b2765cccedf922bbd9417f3863ee6be8f99a748f6b2d8bc0b286abd20849548b0173e385fa906d2e6d50ac3c8beecbea78d90aa7c630f4cd126b84e34b6acba9dd545a8673c4e00de4f6bca436f626bd7b8c1ff3c7cb3da7176ec11a0fd596078905a57e91387ce470f73c239227b6a9906c3aa8ccc214f323ca467a359fd0d1ae6c3a560d0f1285589b3e8b2e2acbc3ca606fe23298739cc194d97448a57206595189bbc9ac039aecbb77a3874aeed61ddf8fe718a873560c52f7cfa22d054d370aff20a48fc31850a19d7c4173d120a4fb108051bc68b8ebd40da335f620cce53cd07ea9dc\nlabel = d14bd61a246e92ee2be39c6066d25d2b2bb3bc95cfb16ca34700048ecdcfe85685d5aab6bf71d5d83bd6faccb81d1c0b00000000\nmsg = 5a1eba083b903ae2ef8bcc91ee0ce44249903d72e0dfecdb2e44e196f7b1febe5090b58e40b6e70004cf163b9a59bc02908aaa3eb52063d0b9ae6817a7eae8533a13437c0eafe1b5c359b5dfbc8821e213c41befd4b4548dd3e37f01d6b461d12cc4031d50c933514f004dce0e62a4e970b6a7b3bf06819dcb2a33351d7e8c0d130b0bbf3a67e2b75fb0059fb6ea8364678e90f86f9ebf2e9e4c5299d389\nresult = valid\nflags = Constructed\n\n# tcId = 32\n# em has a large hamming weight\nct = 204f1dfe1caf7952af8d4745071f4176edab7c4670db83502a450f6b52a6d90aef179eb4869b371d6a3ee2f0225494bdade6bd38b04a8ccbb00493e7c4b60c0c5be671808ca91f93aea17496b47cf9c6ca83e5f6cbdc41860b840f2c7bd19c2236aa1caf92f7b7f151305abb173d1ccbc97a3dabf50c24ae5d5bb719595cc2d1bea29185c55d7e1e873ff504b8e3008ec3bd8c702e792b6f6b7b24daf71b12168fb5cd586ac9313bce2fda37cfd0d68e401444920ea125fd9e7c8f424f4c5e0a068e7b95948289d71472b75d429021acf73249651deb09cee062de574e5ec18102852d1946050c84b3da9e63756f964cba0e4c68e8c8ef2cbbf6cd325a11853b\nlabel = d13595cf0b4193b80f34d3ed3f8a4cc3a3ff5d42f6a21d7f1493e744c3bb5819c53a9f16c9ec3b62dece167bd674a2f800000000\nmsg = 068a7d6662c9e1f96cb4c32cde0ba6da2aaf25501dc5f3b0cff0c74b6adc1cacf81c5b546505f360a4edc91f7f54cdac99458bdb01a5eee04947e2c725044da507c560a8b9856a5374fd75c02e6b8d1f915e291c6d8352eb89cef2f9297cc4d9b8ca118d1ebfac47aa64992a7e077e4ba35ca181eb3f0bda0330720f3f702a33878d3035e15e6376d528fadeaf29db79f4b6943417bc741c2a2f1d1eb598\nresult = valid\nflags = Constructed\n\n", +}; +static const size_t kLen127 = 21094; + +static const char *kData127[] = { + "# Imported from Wycheproof's rsa_oaep_2048_sha512_mgf1sha1_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSAES-OAEP\n# Generator version: 0.8r12\n\n[d = 0a5c2790a591c3ecf4f6281c17e1038845e540a95f21294a7ceecd75b18c54c50c02e789311c1b0091526f87ab3cc8d48188e980ce0e0377bec00e9f7d9793583cb66a1f281e31d20b594b5c66a2d9efcc36d979a92bb877a9678f991ff60b77e28fac55d64f21c064552a4319eb0a9a1870a76ade3c3a3534ab8353c3e57b2708363859ad3a6337fc15ffb90980d93743f972d743c3dc6fddb44279079a809abec8113a6f987f71748c036a4daf353b27a81e6983d56a2d65b71b93128d5569499d10ad1396f094eed77c044e3ce9ef82f0014c25ba693928c00b5043b641b016e3569b4bd84d683372538671307321c25e590f14bef241e6d8edf24ff39859]\n[e = 010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00c2c4a860236d3c9096a076d6ba5107e0f7bd81e1ba916f7375724bd2b0b0b63956813715a3457ab0458b71fb35a45b27f9ef7ac3e579dea45dfbfd07819ed6b7021aa5336c58442aadd96ca9ee9d32473e9d9278562b4d10258ade6a98fb1c7cfdc3b3716ef5dec58cf73b359f389599b4b5865a9863519eb001c324387da755450db341309360e3807c0565b8e2c44fbd5e6e8d04d006d7ee768b8e8436082a90fa0e837f32f46087ab4a0d9be28aa7da1794ceb0172a7f50ed20f6df641efbcbfd2aac89775c761a7310093c671c977fa18b0d6e01fb25f7a432b42c65359784c689205719c1cf6e3a65dae2da434c326dde81bb6ffffbdbf6de5c16bba749]\n[privateKeyPkcs8 = 308204bc020100300d06092a864886f70d0101010500048204a6308204a20201000282010100c2c4a860236d3c9096a076d6ba5107e0f7bd81e1ba916f7375724bd2b0b0b63956813715a3457ab0458b71fb35a45b27f9ef7ac3e579dea45dfbfd07819ed6b7021aa5336c58442aadd96ca9ee9d32473e9d9278562b4d10258ade6a98fb1c7cfdc3b3716ef5dec58cf73b359f389599b4b5865a9863519eb001c324387da755450db341309360e3807c0565b8e2c44fbd5e6e8d04d006d7ee768b8e8436082a90fa0e837f32f46087ab4a0d9be28aa7da1794ceb0172a7f50ed20f6df641efbcbfd2aac89775c761a7310093c671c977fa18b0d6e01fb25f7a432b42c65359784c689205719c1cf6e3a65dae2da434c326dde81bb6ffffbdbf6de5c16bba7490203010001028201000a5c2790a591c3ecf4f6281c17e1038845e540a95f21294a7ceecd75b18c54c50c02e789311c1b0091526f87ab3cc8d48188e980ce0e0377bec00e9f7d9793583cb66a1f281e31d20b594b5c66a2d9efcc36d979a92bb877a9678f991ff60b77e28fac55d64f21c064552a4319eb0a9a1870a76ade3c3a3534ab8353c3e57b2708363859ad3a6337fc15ffb90980d93743f972d743c3dc6fddb44279079a809abec8113a6f987f71748c036a4daf353b27a81e6983d56a2d65b71b93128d5569499d10ad1396f094eed77c044e3ce9ef82f0014c25ba693928c00b5043b641b016e3569b4bd84d683372538671307321c25e590f14bef241e6d8edf24ff3985902818100e74a124759a174de33185996b3b437c24ed248203d674a87bcc2e76a667be3f54ac15e8f04e4c5e540f4e19f402a71d37d39756dcefbfaefb380095b6cfbdf4d78dd20cf085a1f127610e3b7102ca6bde1825941ab602e9b72c08e4533ac50317138e10bf7edfea30f52ee91ea6628c2cc65e76bafc02eb9d21ab66ad374ef2702818100d793b4f5514921bfbc47a1e45faa043eea03f052bce600ec4f5c62b014a7c45aeb3f4bc02160e7b12dee135e44b227a31854ca833ac706d14670ab5932a269c9b6f9188acb93e698b4a7dff65bb9c963c2e02b2cea3f2d5cb254e07b616792896e37550cb38171c4c32e0a6543bbe6acd4e99abeaba1340a961017412b57bc0f0281804dd402049a679730f2169e86f49f8f27c6684236ff1293e4cb22f6c63a083474251c9e9a17b677d5261f81109a81eddd91c4d4fc076b894c41a5b3005dd2ff984d3473c6d6f3a4830cd1b01eb8c59db245811c51d9be3ad0ba338b6c43f016e81c465c8c2f789977fb3f17e267f2ca828a4f3c29637193079a68bcbb83be547f028180767a352fc5d6bd7794d08186f3948af4d0c40d664b6ed4ff0ab6a97e403bdbcc6411cb5df27a419bbcb4656c9fb091dc2ed91adb78883d94f273a598461dc0aa1da754f7a2decc130ce65e4e15274c2949c6cdb3c7a1a51a96dfd2e7bc26a20069d47b2799d80060b52c2e866ced6ddf7abc50518e1df06e08ff1ae8b41b69bd0281805479dda30fc06b63cb5f77e20bb29db7eec7a6b37a5007f9651a46ffb66c90160be5700145c6a08d9737a98c5f7ba0dcef39352cc5d8612d94fd02383b8e093115376b154fa1cebdf915ddc051a7017d67a238fb4376749ced94712b117a1d0ca31cd653a1955dd547346d03b21eb0ad3c123fb85e92c8af50a985db10eba79b]\n[sha = SHA-512]\n\n# tcId = 1\nct = 409225dd2229d11accb99804e4da69fbcb862d3a74a1dceb8f1186d8d13b1569aa4fce51aff273aceb1f0c875d87a979f9915fd400a2eb1713b5a1ed129e6b0c7ca14a61a0939a87ae88c53e91ffdd635f7ddde6185dfe9b5b7bd739b53c4c198dc8333a36461c4d750773df1c84f024e18dc78d09fbbcdc4d12bb29854b2ae04c1b8b141eba753eed9cd90a5b66fea37612aca4c55f65a8381c4eff13c37ae1f9ed0688514788babc8ee27f8e76296495df254145331a49d11e7bee5a83a3713d4bbd5a805fdd8e84ba6ab869002b26e40b36d1d6c1189b8ca1c6fe19497a8059414abdc88ca71252fa86705ec96a7899296925f885fe55c9c6d2cbe7ca8578\nlabel = \nmsg = \nresult = valid\n\n# tcId = 2\nct = 7ab35168dc51cb7b3d8e5e3f9568e588c27dc395e825f909f3ef2a88c5ef8e1ee4918dcce7aa0c3ab6860f69de90e36d19284a15954a3bce2c95bb52b1a5cc752e35a7e08fc327f2a95ba05c474c4a5e625b5c0b780b3bed961e69bdfe073bc324a8dfeb3782413109fce1d795ef01a8eb0608ea42866ca997b8cd3c7b849190e42e84c3d60f935886df8d3dff5cca4157152e9ec9f954a7ea7b1ec4b0e1fbc14cef0f3ed16f1b013cef8753e1f5493ef7d0f753ed0a18ae5275459d15b86da95445dd65580a789354616e9a8a56720394a22ff30a01f38b173259a9829b8a4d14747326597ec332e1d402915c7f46a96c20bcd25a82ca3084660b4171cc31a3\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 3\nct = 930b4f613da112cd29f8fbb235ce0715eef85bd5a34fdf3a67b4af55015269ce99ac8112ee81b576b31f083160c5890dc2db204d581aba976974056a8bad367ff05984974c10f71f5b03482c7f7dd86aeabf5c9060b54b0487f40d30627e0a46fd7e801e5f1b2b813c4385f870258bc2cc186599e124b9ebca2a29a43dbc06bbd39faf7f305a902e7ffa403abc3bcedf29ee11361ba0a0b34f3bf9a9285660f66b4b75cf75e0eed8f463e204d93654a9c85b9788bf8e32890b658ea732efe3a56a4ddd2e7a426fec6486a0f591a8a1d4f089eb9c95a6332e7e0db103dc3daf8cebf35554d18cb6da33dfe6dfbe0c8cf04a4f6305693e94e87f68539f67892976\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 4\nct = 91d3f1fd66163ef8a8fe02f98802219f370938f21baaab871d6ed20de4449d5c615f395f89b5e455d301088285cf7ac42b51eeacc1c7d4220cf4c456178b9a2d6ba93b0b1c334b6aa6f19cb75f374d88d9d284feda4eea32c5a4d9baa0e12fec0f72308322eeeac9b0769f161491ddbea08983ea565058d98838b86df181088dc9048091450bedf4a671fe0a57f9d4ed67cc41ca6eb6a8324ce14d6202de07d55e80d56660ccc358b1cf6ed56061a2efdde8075553c326e9a15d441432c52c7209a6ea6cb6ae8fb1fb128d8aa31cea24e5648baa087eff8376bc01b6084e0476d3d5c5533d9c2c36803e939b8f525c2ed770ba08e221cb946d21d611c0fcfc15\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 5\nct = 41c04aefc703aaa71f40ce9f4f56a7719126ca192d2e9c33dfc6a8c176e8c1c22d9d7a83f39955403a7798d161e4ad17b1575c35cd8f2abab639307222395348b67ae8b7edc41eb0b9a38ac508f1c08489ebc21e5db909d98d69a74b210de76a924787b2fe1913c96ea934ef88be13969cb26fbbf007fff7f639760ca7de9041ddfe79b3be7710cbbf559db44d2db8aa32f88be33463b366924b845d07e2c00bf07fb3625a600b4f84041c73d777c0822bd896aee8b08c4f6e30dd4569208fc8caec74580a43acaf7fcb2b6daad569f4a58e281298caf9b6f155cf30e94ff671de9bb0cbabd184b854ef1d2b7cae33e7dc6072230ebe4bcd4d49253aef563e92\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 6\nct = 32af08d0e192b87a392e69c0e4f1faf525f9705af04301bcf4773caada60baf8c9e3ef5b23f22e38f9966849f55e075aab69f1bb76d2c9e443f34dcc1a9ed8d32a7ed3f9ecfc05cb154235e2e532af1b6f1fcc392676a500b5539f6a86be792de013a4d614129852ab57e030521e1a776d17a9c54061b7457e0517f260826640d24e604a08849f9c14a8b9b6126a394d1451649326b15a440f52da5fa917b15189a73f0ca93c6f1ca65a8b00f96516b9f87519e6ac96af33df112eb8cc669117821d7f318eb7f09ae74fe283ff4ded8a2e6b363543833a311c2b7be7b6f07798ba355a716707b06c4d50792c888424a5a049b1b0a33c881059dc8178119676a2\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 7\nct = 602a88779ae26e4aea37700b4ed513abed889d15de24523aebf34c9027fbd62747fadbdf46449ab8cf1bf5f2c4c942423e0c22df00e2b513aaa7a9502ee330be441274a09ac0b872150d73e52f34763879c56d09c400521aff0c7a8ddbbae280289113bd4f5cb1780eb16040974f41b6ec4e0b060209e7743df321a597a8a0fe00df285780073a03600c16ef62496e7e06335b7311d16a8cd376784f27289d02aadd1be5390e6e618cf8271dbd9ca7f8338392076ca53fee750f30c95aebfb26c8cee568a2253f2075eff7941b455317728bb1ad0442d691167f6472883b6e8b07e7f6c5bf10e4def8f271e622dabe23d6d3e8c0a1e277781e5888237e83bffd\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 8\nct = 738a92656e1e759bbf4515a13598efa7c7c3b3759ca87ee1974e7ff8f379953b7cb107fd421225d4c92c59e459e33290e6b73f8896f5f064be8de43c67c68bf6da3c7e4639268e5f204a7a9832fc1b1b5c4756c2e5b49c0912bb0dbdc049949090344301c42619143eb8024cd633a5a8429c9c717431f9dae72ce8f848ced228b72562517006f5ca77ef356af98f1d2828a59dc75fffb52437ef822a151bc696917a4cd0e688beaa6ca9e7", + "ff15007c5ca12ff4da95e5780b8f7288fe9812df205a1a25baed9359ac87511bc8d4f0287de59940f0cd45e2f8ceb7ccb12b763b243adcec6da3d3def4e7856df4e4a4cd75fa03e14d5a63a5808bcad798ee2d2c8d\nlabel = 0000000000000000\nmsg = 313233343030\nresult = valid\n\n# tcId = 9\nct = 57c821093f340232c5df14fe7f6561c063d64e5660a353e6741774842e0fa0b4cd637ece4e935f7d948fa875b5978886b868195f5598a86e83f8d25bfaf445bf453c0a7ba4088e38eb6fb123788ad1dba2a3098e33cc7f354bd9622795720d3f3148db484fb982d5b0855e58ef8d74d12fe93e891f8987cf47d74024d1a2824b3d6a955670552d00055ec3bb0f6b4cfb87202cd66c36d831a62471c59c7d2ccd4302865496904bfce0a41ac3db7ac152fdfcec6bd984c9f63bda06d4b467ef1748f3a0c7f1e5a8ee5efd56aaae8981fb15329c44ba92d15edd20c982e555096b93921b081e68bd1e36b1dbe36fb3bdb69bddc8e9d9f6f1ca317ba16f664034a2\nlabel = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 313233343030\nresult = valid\n\n# tcId = 10\nct = 3d7787e441ea11708527a37464a529449650265f04b55294a71f3452586f55c1304fac48a46faa7082cf1b5d1d728fe337056551486d892eec1403550dd851ed6997e41f70acf7f401d1ac92c5e416e73f1f1a024e542ee279484db770c9a6c91c14d487bff37960db7a11064dcbbe07272cc036a1e0946d71f1fe97dcbdcab911b14d6e4dab44a07d8cd5bc3c0f008d9929f2d60b4c6ead2e84dcb86002adba056b3559fe40afd027cb05d41ea7f967e2cb4345c14ee37c25aef415ec932776de1ab992458203eb58a5eb1a21c3a619bf06aa0d6d74b5ea6decb25602139733c01e131c64b7de3465db2716940d00ecb5db6ba7c541543da53ba6119e7c117b\nlabel = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 313233343030\nresult = valid\n\n# tcId = 11\n# Longest valid message size\nct = 76a390230603a834305783f493b721b4f317f3d4b6e1bc26d1983ff1f49448babbeba061e94ef6b483579564496ea89f9e2e784e8e8db83cd0d2a6081048e4bece721197e66a54178acc6976089a4f6f268f8a54a2a9a3e90f583171401173f7f646d8cb422e4ee14fe057686b0072281e066a28cc0133c6b707781b718f535fa3a9c99a65360540d3182672acb1db4689c5d6d33159f37aa7e16d988d49f73b5e603f8116e1b5053ca45e6c04743cae29faa04ed939196b15faae2fe4303d7feab202d8809a7a2ad30deeec880990334f0da9c7faaebc1f7f64f0c8c20270c44b7046ee309d4bee151a504bdae896e856e202c8c5d8dc5d6f66c99961b6168b\nlabel = \nmsg = 787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n# tcId = 12\n# first byte of l_hash modified\nct = 60a639b945483083eb99c1c158f2cfd68ba8da37615b6f14f4a999b75da7fada3fb5b0716168f5342063306d8845ab565be176f457b6d26f2df5195356af72be2eab1185240d2b27d023141c060c37e46fc139d5df47667adb1e2acc5bf0b9d3adb7de087eafde53a157669b5e07507432fb366f4336f0231a04a3ff916ebc5f3a679239b39f952efe24aa5f053dcea10010986495bd2e1b6cad627f6c788b4adc6ebe482df63c13fca3b0371096ed74c079d8fa8fc3ab748b2e1935209a8934d4d4cd3baad94a6bf5be7c8517dfd55f76c25929cf3c14b64fed9c35101e3bbaa8c71ee816098741007496f20161aac16f1b4bc54b6a004d1e63beafc7bbd1f2\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 13\n# last byte of l_hash modified\nct = aece8a87a0c25ac33fe3225e262e5d2676ca68fe153b84c26b65e86f4dce6585f801e0b1d748ae6f3bcfcba4c5b95ab78f614499b547118d1eed2f6ede6e4a5966ae86c697577ce3d4f02cafacb76e2d90dc18222eadea2668717600e5eee93f3a20d583955ebdf9a66d5f957e42222a90f9de7232ef1d8eedbf884efe5e4fc0cca53fe4d7f60275c816f4f725b2d7539ce38ad3e643b7e4b4432842288e03734ae9dcb3d26f5e76ae227e7050ea7e0e5e2a755fd481a57d65cbc036aa9cb4062b5cee0d07e9dbae45b9a113575be96e9add1570ddf6b4849917e04bd9636f173cd5f79d3d05b1a0344cc62dbb523dd29c8cb770839525b9e6f7bbaf17385e2a\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 14\n# l_hash changed to all 0\nct = b05ad1bc0a5c6437aac33f123c62b94db24eb98d88808ebb1617b2866cc851c3818dd9c18e68c01416b1d593cabac1c364f89b1817bc58d021d9806f27d4ab4ec812d2a964dd70295ce9524cbc92b754e4057b2974b3648fec4a61c23548c7919ad4b97bc05639e6f727df472486c9f50265e227d648c56c13eb1ff4e5d743cd0a522f5b01f8efea61b934ed1f04fa0effc0b7a5a48b2662826ce72abaa3746e1718e73d06e3fa973f3117a45b578d759f89196b708e8685a314b8dc9387b4e82dbbad897708eaf10c285b9471468e2e464e57705e894018d2a02ea2059ccc7c7a921687ed9e358af5bc13c1d06d42afc5cec33e3497ad3c20b620f80eeee56e\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 15\n# l_hash changed to all 1\nct = 96a6cd6656b99ec45dae887958148f6748cf84dba950d7351033e98aae440c6f3603ed65bec311a55c6ec2bbc892442cb12730957b797ea8e3010efb8599891a3e8d209ea0eb6b32448e57f4003d2ac3dcf8c29a44454d0be799a5a772344282737e42f785ee3abd3ef80d5d4653931828d5f064354aee256b6271817e3807e15c805afae2877c8531cdccd2f8d66f3cd66d3866b5565d99154f1eb5a4f032596244dff79593980d07e6e06de0960c1df2c3f84de224c113494ade9d03f554871a0ef5c287fd0af2babd16fbf2983c758c792b489156e3a0db060a64d717e0d149c343c40015ccaff45bd4e3b155b9c4563d5b8c3d5caa97d7d46d4c5a2d2077\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 16\n# first byte of ps modified\nct = 031efe798531e2ce640d492b623c630190a8da56e0fa3e2981680b20f14db024abb3bbfa08bdda51aa9d2fec81d23401a007326aa5849b24b099ce957c7e2b8352f97210a1e7ff68398aa3884a027f53f27e3c4ff65ee81af6afd4bc539e2f93282ed2a2274093305516b9800c547e4a8933db99b802b0ed67503fa58bd1ec8f086f1d646fb4fb3e468c75835efad1a17c5c1c7963cd74efc0c15d979a686ffc72f65b164dbfeb29930925ee5b2bd506378fefc797d96bcb1b55dbd4c58f0dd683c51c6d11c9427b4b452dcd7cc4344f21ba88dab082fa699acce7f0cb3e677d2d8ae803e0f1bafb0d2bc54d4ef88ddb91630fa6aa141b854b475ac190b696d7\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 17\n# ps terminated by 0xff\nct = bc296554a73f000dc5b04a4dd96d91a82792cca120e52c7b9328a5b7518f4b8044e3bcebe8430badc933a8513641d68127d93a9137a96c81c67c4ad59048067990d14a208fd6b0d44d068c6bba72b28368c5781298d7be36cd3d462fdcf4f3c09fc0bedf8341b23f6722db3f0c96d7013603cbc35394ddb1f9edb8ac550c25d4ca6fe0062cb75ff3aced20040dbf752783a970783e78ac9f1c572c85973b254434cb7ceab15aeaa965878d1bc4be560838b821c35c218c06c5f6d690b86bd387e6511294cf9723d38226d95e3ad5d36ceae48889b7428d1f4188206cbe7673cfa2c28f51c4e451c5e2ad92c988038048c6c03b372f04eb2463512f5e85867504\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 18\n# ps is all zero\nct = 6b36862a424ede6c744f0949dd9a3091d850ee1694deca2f844d864698eac29b2f1125ab310608067c37943bd386732b903e258865e0ae33eb38a8c35a84b3864b717ba29aecd5d5ef53f0def257b2951ee14bc95070356a9e9bf2f36232966c501710d08281c9b5944c5c923d65376f0cf592d3750603a758c16d30b9c307e32543a311bff7d47938f31f3547cc0ffc71441a1391f303970d975001d2df0033170cc00f26ae118bacb31707fde93c24abbbb8304b558c1bd52e9e6dabae23b789fb799f4f8667f6b7b724321d455ff4f391e8f1989f271204aa81ebb9491241871472ca1ebc38a05b93d557c4000e2cef7c5c9c0a85f8a63049170c90b2d901\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 19\n# ps replaced by 0xff's\nct = 8cd7fcfdeb18140c470d230b89444a63763c1025f69409757be574bf71fe7d899467cfe1a65d23d2401b7209e86be5a47753ad295c7203d2c935bd9de14556486908a7bf83dd9aee74b6e57204f9eb04cca15e2d50b22c5f45c7f362f23ed948195392a15b96a238b4e03daae8b7258ae607a9d5da0dba5629575edb56b444817824b8493b125d5da63dd81eba51dcc11f7979b16ca0314f02af4212a5ea840daf215e9fa082a7089550e5dd0c0d0f264d230a6249b45926fd360a4a56ac05910a15201292d5dc3d92308f98175c0fb4f9034ec8fc8d5b584e95ebb942fd16d04cd6867fbb2aa53377dca93e5ca2380de64e59ab41f71e449be3eafad63b4158\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 20\n# seed is all 0\nct = a83a07c4b0e408dd205adbed9d929d418e19e6cb0c2d486bf716ab66c21d1bdb341636ec9b5734ab9778ce1e28f882fa98582313d9840c05cb453973dc1384e73e2586b5e7539a3367f9ec788644f881be29c991b0e23de4e9e299dded39e349807318c5bed4d32b52d040ef5e99f06b1c14244347f50e57a8cb264638db98b3cfd467c2fb621366f83cbc68a27b0d3567e5741d1ccae568eaca51ac93f4c5febca4e23cc73fbf506ea337b0dfb47afdb351ac03e7bb81f1f6e867e4428d9b262d006976fb39901e84a2331b65b59fb96704f08bd77cbb7e0a39f357bc1100a70342e5f47c092a817374ac5ed1f66a4beb6f3a4820b6109b075cd80e0fbd840e\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 21\n# seed is all 1\nct = 66e2bd9cb74a6abea34c2285165902c9a5aa5e11208f38a161ec72b0ba11e4006a9ff8b118de42bc45297a538e6aff1f4b56519e6d31d7ff9e5ff32e2ff05db68d023efb5fc10f5b57d4a3b216b63048c4aebd88ba409ec87e95bc239317c2320a06bad2da6cf7dc8867", + "1c76859e4750eb39d09fbc2e27fef6e6247b23981a506e8ba9e8ee29709e0a846a617649083ef5ee383209036ba666f1240389328aabf61996563f65fceda07a24052e68896c65aceaa8d4e543ad4a2858a37369ae622924af975bc6924fd5eef327a01baf0b864c557ce86bfc2e84c1900d201e5f66786b499741e0f3504286ca6adad82d379394d4b8ab6f3a4ec3b16eee5506d98e\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 22\n# First byte is 1\nct = 2d18a31f2e8762317ad943db09655b96ae7dd2b7c4754af2e852bd0fa877c58b160d62ab9378c06c0956d56b96d63d5693ed28b5d57a635432fbcdc2911c9843c68094301c6eb1ec02ff41400b9d9806673a0c07310a0a0e91973761a2cba91e38140217590cc2634c85247886f6364d5e5499c6e99f43822241d4e8ce6906b4d9b66ce4407c6e8fcda8f18aae2831c382afc9a8d273f17e2d44cfde2f463ea47a3292a74f743b1a99bb9adda4b65c8415040834f31e0f4392572d3a1237d8227adc380f794919e16144590fde3ffb92fae4353fab405fc09b25282450f66433d25a3178655545dda9da0a4759c8510e6e8f3f85799226715e7b2be7867d1fa3\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 23\n# m is 0\nct = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 24\n# m is 1\nct = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 25\n# m is n-1\nct = c2c4a860236d3c9096a076d6ba5107e0f7bd81e1ba916f7375724bd2b0b0b63956813715a3457ab0458b71fb35a45b27f9ef7ac3e579dea45dfbfd07819ed6b7021aa5336c58442aadd96ca9ee9d32473e9d9278562b4d10258ade6a98fb1c7cfdc3b3716ef5dec58cf73b359f389599b4b5865a9863519eb001c324387da755450db341309360e3807c0565b8e2c44fbd5e6e8d04d006d7ee768b8e8436082a90fa0e837f32f46087ab4a0d9be28aa7da1794ceb0172a7f50ed20f6df641efbcbfd2aac89775c761a7310093c671c977fa18b0d6e01fb25f7a432b42c65359784c689205719c1cf6e3a65dae2da434c326dde81bb6ffffbdbf6de5c16bba748\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 26\n# ciphertext is empty\nct = \nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 27\n# prepended bytes to ciphertext\nct = 000091d3f1fd66163ef8a8fe02f98802219f370938f21baaab871d6ed20de4449d5c615f395f89b5e455d301088285cf7ac42b51eeacc1c7d4220cf4c456178b9a2d6ba93b0b1c334b6aa6f19cb75f374d88d9d284feda4eea32c5a4d9baa0e12fec0f72308322eeeac9b0769f161491ddbea08983ea565058d98838b86df181088dc9048091450bedf4a671fe0a57f9d4ed67cc41ca6eb6a8324ce14d6202de07d55e80d56660ccc358b1cf6ed56061a2efdde8075553c326e9a15d441432c52c7209a6ea6cb6ae8fb1fb128d8aa31cea24e5648baa087eff8376bc01b6084e0476d3d5c5533d9c2c36803e939b8f525c2ed770ba08e221cb946d21d611c0fcfc15\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 28\n# appended bytes to ciphertext\nct = 91d3f1fd66163ef8a8fe02f98802219f370938f21baaab871d6ed20de4449d5c615f395f89b5e455d301088285cf7ac42b51eeacc1c7d4220cf4c456178b9a2d6ba93b0b1c334b6aa6f19cb75f374d88d9d284feda4eea32c5a4d9baa0e12fec0f72308322eeeac9b0769f161491ddbea08983ea565058d98838b86df181088dc9048091450bedf4a671fe0a57f9d4ed67cc41ca6eb6a8324ce14d6202de07d55e80d56660ccc358b1cf6ed56061a2efdde8075553c326e9a15d441432c52c7209a6ea6cb6ae8fb1fb128d8aa31cea24e5648baa087eff8376bc01b6084e0476d3d5c5533d9c2c36803e939b8f525c2ed770ba08e221cb946d21d611c0fcfc150000\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 29\n# truncated ciphertext\nct = d3f1fd66163ef8a8fe02f98802219f370938f21baaab871d6ed20de4449d5c615f395f89b5e455d301088285cf7ac42b51eeacc1c7d4220cf4c456178b9a2d6ba93b0b1c334b6aa6f19cb75f374d88d9d284feda4eea32c5a4d9baa0e12fec0f72308322eeeac9b0769f161491ddbea08983ea565058d98838b86df181088dc9048091450bedf4a671fe0a57f9d4ed67cc41ca6eb6a8324ce14d6202de07d55e80d56660ccc358b1cf6ed56061a2efdde8075553c326e9a15d441432c52c7209a6ea6cb6ae8fb1fb128d8aa31cea24e5648baa087eff8376bc01b6084e0476d3d5c5533d9c2c36803e939b8f525c2ed770ba08e221cb946d21d611c0fcfc15\nlabel = \nmsg = 313233343030\nresult = invalid\n\n", +}; +static const size_t kLen128 = 22691; + +static const char *kData128[] = { + "# Imported from Wycheproof's rsa_oaep_2048_sha512_mgf1sha512_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSAES-OAEP\n# Generator version: 0.8r12\n\n[d = 0a5c2790a591c3ecf4f6281c17e1038845e540a95f21294a7ceecd75b18c54c50c02e789311c1b0091526f87ab3cc8d48188e980ce0e0377bec00e9f7d9793583cb66a1f281e31d20b594b5c66a2d9efcc36d979a92bb877a9678f991ff60b77e28fac55d64f21c064552a4319eb0a9a1870a76ade3c3a3534ab8353c3e57b2708363859ad3a6337fc15ffb90980d93743f972d743c3dc6fddb44279079a809abec8113a6f987f71748c036a4daf353b27a81e6983d56a2d65b71b93128d5569499d10ad1396f094eed77c044e3ce9ef82f0014c25ba693928c00b5043b641b016e3569b4bd84d683372538671307321c25e590f14bef241e6d8edf24ff39859]\n[e = 010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00c2c4a860236d3c9096a076d6ba5107e0f7bd81e1ba916f7375724bd2b0b0b63956813715a3457ab0458b71fb35a45b27f9ef7ac3e579dea45dfbfd07819ed6b7021aa5336c58442aadd96ca9ee9d32473e9d9278562b4d10258ade6a98fb1c7cfdc3b3716ef5dec58cf73b359f389599b4b5865a9863519eb001c324387da755450db341309360e3807c0565b8e2c44fbd5e6e8d04d006d7ee768b8e8436082a90fa0e837f32f46087ab4a0d9be28aa7da1794ceb0172a7f50ed20f6df641efbcbfd2aac89775c761a7310093c671c977fa18b0d6e01fb25f7a432b42c65359784c689205719c1cf6e3a65dae2da434c326dde81bb6ffffbdbf6de5c16bba749]\n[privateKeyPkcs8 = 308204bc020100300d06092a864886f70d0101010500048204a6308204a20201000282010100c2c4a860236d3c9096a076d6ba5107e0f7bd81e1ba916f7375724bd2b0b0b63956813715a3457ab0458b71fb35a45b27f9ef7ac3e579dea45dfbfd07819ed6b7021aa5336c58442aadd96ca9ee9d32473e9d9278562b4d10258ade6a98fb1c7cfdc3b3716ef5dec58cf73b359f389599b4b5865a9863519eb001c324387da755450db341309360e3807c0565b8e2c44fbd5e6e8d04d006d7ee768b8e8436082a90fa0e837f32f46087ab4a0d9be28aa7da1794ceb0172a7f50ed20f6df641efbcbfd2aac89775c761a7310093c671c977fa18b0d6e01fb25f7a432b42c65359784c689205719c1cf6e3a65dae2da434c326dde81bb6ffffbdbf6de5c16bba7490203010001028201000a5c2790a591c3ecf4f6281c17e1038845e540a95f21294a7ceecd75b18c54c50c02e789311c1b0091526f87ab3cc8d48188e980ce0e0377bec00e9f7d9793583cb66a1f281e31d20b594b5c66a2d9efcc36d979a92bb877a9678f991ff60b77e28fac55d64f21c064552a4319eb0a9a1870a76ade3c3a3534ab8353c3e57b2708363859ad3a6337fc15ffb90980d93743f972d743c3dc6fddb44279079a809abec8113a6f987f71748c036a4daf353b27a81e6983d56a2d65b71b93128d5569499d10ad1396f094eed77c044e3ce9ef82f0014c25ba693928c00b5043b641b016e3569b4bd84d683372538671307321c25e590f14bef241e6d8edf24ff3985902818100e74a124759a174de33185996b3b437c24ed248203d674a87bcc2e76a667be3f54ac15e8f04e4c5e540f4e19f402a71d37d39756dcefbfaefb380095b6cfbdf4d78dd20cf085a1f127610e3b7102ca6bde1825941ab602e9b72c08e4533ac50317138e10bf7edfea30f52ee91ea6628c2cc65e76bafc02eb9d21ab66ad374ef2702818100d793b4f5514921bfbc47a1e45faa043eea03f052bce600ec4f5c62b014a7c45aeb3f4bc02160e7b12dee135e44b227a31854ca833ac706d14670ab5932a269c9b6f9188acb93e698b4a7dff65bb9c963c2e02b2cea3f2d5cb254e07b616792896e37550cb38171c4c32e0a6543bbe6acd4e99abeaba1340a961017412b57bc0f0281804dd402049a679730f2169e86f49f8f27c6684236ff1293e4cb22f6c63a083474251c9e9a17b677d5261f81109a81eddd91c4d4fc076b894c41a5b3005dd2ff984d3473c6d6f3a4830cd1b01eb8c59db245811c51d9be3ad0ba338b6c43f016e81c465c8c2f789977fb3f17e267f2ca828a4f3c29637193079a68bcbb83be547f028180767a352fc5d6bd7794d08186f3948af4d0c40d664b6ed4ff0ab6a97e403bdbcc6411cb5df27a419bbcb4656c9fb091dc2ed91adb78883d94f273a598461dc0aa1da754f7a2decc130ce65e4e15274c2949c6cdb3c7a1a51a96dfd2e7bc26a20069d47b2799d80060b52c2e866ced6ddf7abc50518e1df06e08ff1ae8b41b69bd0281805479dda30fc06b63cb5f77e20bb29db7eec7a6b37a5007f9651a46ffb66c90160be5700145c6a08d9737a98c5f7ba0dcef39352cc5d8612d94fd02383b8e093115376b154fa1cebdf915ddc051a7017d67a238fb4376749ced94712b117a1d0ca31cd653a1955dd547346d03b21eb0ad3c123fb85e92c8af50a985db10eba79b]\n[sha = SHA-512]\n\n# tcId = 1\nct = 101f82bcb8157966c8f50531f294510416393943fa9dd5dc05f85bb82f0492502274e07ca7dbda2a7e16187981c923d60cb6b427693c6d7b107ebadbb6fc400492fb795cebcc804d498a7d3a077cf39cd030e941308dc87000af5380b3ca5e8728313e35e31b78ede9e5f07cdec8e3569afe3d13466d06d4b77030d146b32cdd7da566d96753fa44d64791e687dcb324f52371c0191bc9f1a5bc7b7736a5bf00d3fd518b70ed6f4ae0fcb20bc92ff3eb048a6f767596263127ccd66e474e8c27521fe2eb21b8abb2c23b91bb16264e058265a567492bc51c4cd033b1d8a5d7b5798360f4c3716ddb43622ea5dc9fcd36819e05a989252dcce826506711a20fdb\nlabel = \nmsg = \nresult = valid\n\n# tcId = 2\nct = 35aee1c56044da3b866bfed989690dbaf57ac10211ca4c364c4f4127fed0a55b581217c7e854d11fd1a1f9d5431c2c309e62a6f7c3c59676182b288edccfa961c78c1baa53f2db1b1b9a4dd05015f41872cf22acfe3a071d6ac1e82ba6c31f5c2d9325247d6f2c9b03ce00c94f02fe33c5678a4149cf2fb70bbbd995af1465e3819c83c9ab8b55088fd5d75036613b04df302113948700d7876b7cec9d7337bf5773343d51a4298e717a4fae09e573fea412d88b836ecd4f74c7cc7500609723b3f3a2a00d85ee7ccbd92bf6c065833027c5e50310c6cf8fe8d13e2d8218e785333a2e65b547e5eda2f8f2f9608f366d7e43636fca4f46450c76f06dd08b00db\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 3\nct = 58878dc8b9527a416ec9bfbe0f07fdee8dc5bac8e31ca545ae7c6ef4a68f2c6b2b73366518edf85f1143c27fba00a5d9a9b02843ad8951631ddf01ef1238853b4593abf9701c621941b4f05931eaf307c06faa7fb818db8f859c96dbfc43268965303b44fcc69a0e3ce619624907bce074205f113715e5e820bc8c6dda65066453215702416db9320f54e67fc91e9d37a8522d701aa22976966a99cbc8fec0e12f2eb9b5705b4dc77caff82a36485550752a3a5ebd47fc67d66b68024a2c5db809d08be9090bb96e18807925b18a753ece05f1624fb19537abe7fd662830d56647a416df7ddb3e6a073150d5112f60538b685243f1e4fde2a5951c9e9499ecc4\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 4\nct = 2800f421c1c078b8bee9c4a4f355e1ea834c5bca442e9986792a50e66e68c0b8122cb81bb59e0070ca044c1c5b190f9098dbdaa977a441a8a4c62897edb9484935007aadb6732c1b2b2171aea3ab1513f225ebe7830fb823ec3f5433bd8f3c3e52775bb45fa91aa0ad3b7c1bc647b775e4de8e1b22eb971041267878421cf43a5e2a2675b2c940daa55f12a7c79d87d45e08c5592362f5e0d7ea668af99eecd2f60d7fc3791e4f53aed79931bd0ba90f701de836d8c8c9be7f7f4aedcbe5c92383932f762bec65fa298eb644877de26eec995146af551ad77ecfd06a3670721ab4c7577e61c048c5dd01b282cfc0fc963b92c78eabd13fba64195d74de4829bb\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 5\nct = 65a7286d77963a2d168ddb4c0e854baf8898d1d22c9de5d4968e8b326f92ede2f18fd29964708211ef6328e4ef16ec36a775b36b4531c52e01c7cc0058064af954790160012517134f17d92a05000ebba84f515f90258278208cb0a5db11d4b1dc26d2042218d2fd62aaaf53633ff0f632431a010b7e14971a41791644ebc170792a61b5548569f1b0268c890074a4b07d8e62d4857f9e720cb7307713424c701f6f666981ac8e96ab066f303fe89a138abd57b24f03d9136ef468cd8519235cef7bab01717898357c0e4ff4d3685706beb5d680da2885556e84663772d6c299fbda67df2cd325cbfd62932836920e0751b0d8095b914c18fbe5e348bcf4d85c\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 6\nct = 7fcda819b841cf7c668f9ec9e7e115146f990cc420efefafe239637076bf9ef1c49ea69474f63495d90cd3859e335d323ab9a967c65fceb0b33a760142b00894d1ac25ee7c2833bf2dcd086a0cad64433aa606f4747f14500ed2779470b4339f580e2fa0a14d870d6738e726a34dda3fb7b82509edb6d6b9bcaefeca077b2dc582982ee6e28fbf167a92b0ff1141d10fc3dfc49adcfaf32115f900b20c812094bca91bb10301616af5030e0a600c993a24d96764986782da083e327569103f7b358a6a91d05fcf89a9290ff989ac8c0acdae03438a44b16c7a3e06a1591869874f29460b0ce09bd022fc3c606d785ecfe4f4a120298408cb425e9abc7171e4d3\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 7\nct = a5053d46939bd6c90f2a67f6613070ba40a831428884fbbb09d4923b978f17bf538a5963a0416875300f1b51d56880ecefbe58ff6ec7b3740a649f36db16ba6cab9b0e4e7a1ec658fa0fec781361a547a718ef5d9f7d03892bc1b18602436fbe5ff5cc6c3cfe8f2e9df960ed89800da546630251d292b00a60d102211db28ad184919709d8d4a1ab89d65ab2fdbcb66e1492c4525417eed89a0be2c67a79c5f89494ee7ef9d3d0d7db2de34ec6be5863993e8f64e4601b7945b2ea271efc941c4253b09dd3a3fdec6b45038887018a5018771fe60eb67a68bf977e9d3c6b032fa28868df58386902065ba3ac7f028600c5dd5c180552a25d741db12763dc3b89\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 8\nct = 38ead5cec1622d62e9f27eb7bb9d369fc13cf7d21256c5df8958dffa1df2dfbae006c80ac45ebc3044a20f8ba024b73c2e03185a9e4d975fe3075e6e11787116d1ddabf2af65904ec9a5b145dbf167872d066ef490c4b9a724000c44425cd33448288e883fd01ad915b8a4d9d3c65fc0c12d5c5bcb78b323db20ba07e57a18820e1154e9460d71b92f85aed92c2128c83e598564138a97e0379966459364be6aa166a8b62cf7c5b806", + "2d99e98fad155c9f0f1c8629e43a45674563f0d142c309605ba2dcb048a9d5c58feba16b5b2c988d93741e84ec47f1cbfeee540f10dac120734143c80e98725c609ac249558f8ac58cb21769941102af34aaf02d538c55\nlabel = 0000000000000000\nmsg = 313233343030\nresult = valid\n\n# tcId = 9\nct = a4582c4dbd1e60062e517331f4d49a67491c975bbeeb58c53c21c1aa350c63d74940ebb3e6d8062cefb2f0cc645b07e77e6bd350baab08862665b80fcbb5c386bfe330eae7c43a451d68e75da6a0230a5ffc45c9706cb5bff4952aba08230a626929726ceea068d52c18c525dec9d94884cd93a5b39acbcf31a0a3c1d28bc2ff352ff4097224664102015a14d6d9663d91489f9ca4e5e240a4d9c93707e015f07dd6398b306959d6a545616a3124b3a87c8a17293ba36f3c8af4be8bfccbcc0fda06881e05046b8088fa09c542f6bc7a397ab82f47e05d517e79b462fa77be7fa1af05a09baa17ebffe73e38c3107f4600d75f9becaa8af68e37a4deedfd9f10\nlabel = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 313233343030\nresult = valid\n\n# tcId = 10\nct = 1bb7a6d1dbab994619f25bd1659c215dfc12ccde9f91ecdbcebebd9c9d1399ab8296035f43f0ac65c56f56707aa4a301939b745a0d0000652072aba5c514ca331c9dd06a2f1c0122b1ba6f9389c6ea6904f36cac5788d339691feabd34b65bfa4505c60e439713591a8ddc6ebe85131bcfb37f7476120d587f127cc52f8914f0c78a2edddd1c6c5280b745de595bc6be424d01d99e58a8834742cd2f085b334966b692c3bd372b94c846581548ed2280c64b320ec1341ab54a702ef7040ff67094d540dcb080fdeeb2050fff66eaabfd5b66c99ab49db5e6c72cb2d530d503a87d691dcdbff85c5e8c9fe28a1f32fc4a22a2a67ae9584a4411f8dc03d3e76b55\nlabel = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 313233343030\nresult = valid\n\n# tcId = 11\n# Longest valid message size\nct = 89bc06f1f12c0b688352d31ddbe22de92b3e8ce8e0f7d34e5663cef1b473408c932aade4f06b056a52a48a0b7c80c763ccd3155f9f4282aa350e9c494dcd99dc2f4c17d53abbf24a37194db5f987aaa176028b2570c8e74aab356e233e406812a17fac0b92d27f503e6dcba5578755ad33a105ccd91204c8ed22e923492ff07d5aa702394b5b8cc417e8e390fc8268cab2468a4285a4fc327a83038e59114654df7d4dd32910f0fc2e900177d46aea50a61fb0e2066947fc648ef40e22c2156464fad8bfab19d8dd9a4aaa8804024693fd2cd45c233c59ec67be03a8b23fd859003b2d01540214b3c06633ce273a9a992d11befc23ef6be34798522c074f4ffd\nlabel = \nmsg = 787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n# tcId = 12\n# first byte of l_hash modified\nct = ae26c94476747f8a7454a80c05405bf35799ca1070341b73208de24e7787af7846de55ab36c2d0feacc1653197d42cfd02aabdd57633a69f7fe09bdc72c8ed28c4b1736ca7b285cc685886a5ec535da9db91965b291c53bf92b1ae159974ee795ad0fdb8b422c06aeb78923b27ce67a766f142d10f960448679e5fd1176124593d32b9b7653862147637a76a87332acc5be2a955e4bd2de8b63d873ff449715f6f1f7c76e4083151dc6d58a3e3144c694a4ec85523fe71b298dca5f0716619ea3e1182a94c5a9f6e602844df92d1d2850fb64bd1f28da347b44e0af2017bad6b61a7190dcfded0df48840d3a7bcad796744c7ba5b214002f930b28f958cc5f0e\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 13\n# last byte of l_hash modified\nct = 1773e5b493ec17b56e250885eb5fbc3db160e2f6ae55bcd6a43abf01aa61a4b0b7b2dd0d522428af6730ff374c40779ca0c2bd8008e266ed234c6133ad4ce13f78468a0f828ad86a8dd7866fbfac741f66d909ea1f415a7337fd449f5b2ec62c5bec328d18f9dae193eb1645e1fb26be42bc6eb980ce5679a88144a2dd1df32d8fc48fd9b3c70e95561f50da328161d2ff658196f7f98da563af6e4c1ed2dbe992ef0df66932a45812234211131b43f618b277c553fbc408ca2369f33e080d9b1188210434c2d90c3f8d03d892eadd70af1c43a8586a4f523c60fbba5cb98e2b0855db413c2e99ea4863a1c2db014b6a31aee56448bc00a58717f03859dd6552\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 14\n# l_hash changed to all 0\nct = 6cffa2bacf010449460c15f4e4d5bafd23be3d7ba4ac69368ac0dbba1268df39b96a863e759eb31a3f9eac5494e29f710afeec490ec82d582654e782c06cb0613d9b15d8c06417e36f686b71540494f51e993bc2eb44629fd3299429068ea84309504899c5b1bcd7a49599938f5bea8d308113d84c38acf7eb901cf3274dbfd71b98f420a83372613b4f43189308aa76c9ba15f9769cf4bc5def8ae02449c3b1ee74f0032bf1a8356797aae23f5a598c3f336df8d195cf31f9dbb60ff4a9e5c1398ba07662f31246170ffa3bd38ab0b42dbbb555affdd4928a4b478f9d5ca9a8f9719b0b2a0d3ddfbf708368970bcf027e48ea2d0ad10949a238c218ac7101e7\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 15\n# l_hash changed to all 1\nct = 9256e2341234a867ea476be7848b35aad5e2d2cd9170768af4f14fc1b30be151ceeb2768767e090913e0e05844088fa15b7a1a99777b614a89e99de472047decd6e9214e6c025385fbc467c5331febae8e2307bbb0f015228024445e142e79d91cb7a00cce07ebd36474d6bb2194a39cad1c110492ac0e0637fdfcc5453b0313065475a563a8257aa1ea467c58cdeea0e139132a97af3fc90b3bd70f03c337dbe73ee8c992a71d847bf9f559e666592a7f1d3876cd1625ebd4056c6de6077229cc2dd230cbc51ae7a28105be3dc32f795ecc11b45ed1074154f1d24b11ab5596d3f8829a5be976b2db2dda1e2fc2174384e6332a63a19a734c50b1a34e201ca0\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 16\n# first byte of ps modified\nct = 6808813038a51bbaa5f4054f9fb7906c30736fcd150a1c70b3541d3707263057142503bf285bda1debd1d6c5491269627245cd649a027d0edcb4358ff9fad83c0644ebd8c3dee5be6fdfc1eef443bcd9cd5530b088f9f970623b380bbeb0b945c74737177c6b1485c5de2a0aad576ca79d05b41ec7c52975503f3af2cbc772116a27731687aadf16fa4704cfe56223336c64e2d8daa6a5fb75e47c0fde2bef7c48beb46317b3e637c5bfce3ff4fd5654b24ac6401ab346fcf7e214c674e099eb9d933cd1484e70fcefaff0498c8fd8672e35312d0bff87e244df3bb4a3c3f64d73fb0606ab46b8848e140a91fa3da08ec104bcee483360048cb1596a25b56106\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 17\n# ps terminated by 0xff\nct = 7696edf1c06a6b772a95964665cbeb28f92fdde12ab092d7cf18816ef5209503d6416c9f4b24a5e4e1f828bd93634594b6a597a86005900d47e6b467337ce96023392958e30e4af43e7adf2a61b523517e299dd10092398d1b13c227b846a9ff8c792b0b1dc413459d9ba4543c81db4609dc6e17e5b99f04154444ef3b235e517e2b493f7fa1cf6e7271aa16961077f6843a3170aa61a0c4d57c0411a518cd35c0eb63e50b9479e7b6d41ea793a6aceee1cd892004dd35934ea383799eaf12347aa184c9be87ef1c244407acfef24f973a7127e614c57cc11a8161b92d57ecb67740fc29164c53413a9a9e216a5b3a290d585a5c0d9a26bfeb6b045b6bcf5c4f\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 18\n# ps is all zero\nct = a7b27e1bb007bef734447c7e9a2b37e06a1721aecf7452f73da74ff381762b1489c6eba62e348ef4c4c6227a910025e8970729023cdc628d97f9d67e81a36e05d83ff625daaee05183042d5f1490c6d5ab6347e94f33a88ff692cc1388ac01fd1d7fd5ca5a026af5fe75551a76a8bf51b5a88e6d7f9e9977a91c535450f27914556a9bda1497dc58dd74b6f27b8a33d8eb157e03c3c5d874232f1b2e7c13138756c81e4de00d53629d6cbe7c7ee9b30ff55b5f31475e2ef3e96aa01f604bb382f5ecb0615d195c011d405e72fd5510adad469e88e42a5c61415c6147e2e471f28ac71c97044fb5df892cdc482caac4c2350033e00b43a1221d0008c63fb8f0b7\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 19\n# ps replaced by 0xff's\nct = a0c8b1ed6dfbaa3e738a3f6382a9d010f7281d9f0ee9de03436db92cb51738aa315bca194a9bd908340b0c3e1fc8523ce5711ab0f9b3f9e009ec09e1252805809eacfc2059579d45be3d4e26ba9c6be2f35c2ca3f00876a097d0ba9719ac9798c205fd8b44fd239f5bd21f7b264d883a1aa760c60a226c9b9c43090e6d91335a1f0ea04e5151631807a2f1e13fcbb5da9d98867ce9fd448ef1a116f779933dae65e5284053dbd2d004cdabf7c3bf5eb2cab25b0e646b25d34d277a4b20696f2e6cf735ad8acf6a999858d808627a049fc4acf5a507477620468ddfa11b56d28b63e46ba88ee90133990e0f4bcc2ee53acc150ab3f0c6ffa1015bcbd29f9d2d69\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 20\n# seed is all 0\nct = acaf316a29cbd805132b0c43a4589761a54aef928e4036b15b389a9c17a04c86ee6d595c064cdabe383414e41420be7e70163d89822774374ea85befbd3f3fc7dddc3de1f1ffa2bd595dbc678a03c0ed643ab4ee540c8e3ffaf86fca0f39eb4f795e9c387045ab2f378f246a2ff746dc3cc1df8f6158f16581231514fb22f6e169b13199c4239c1827767aec256d84f729739916f7d43a015a331c56099e8d33d66df6352a459356d9d981bf467dd88fc115eb88b4b22bfcb333facc97d295d72cb06984cd12b670a539400a719d11809a73f8c4406a677eb6285da557f8f69bd006da2c286a64cbbcaf2f2a083a8e5baf560c9d6fd703ad1544413eb0c3fce7\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 21\n# seed is all 1\nct = 0e5569756d22d82b912ac15e90209006c52f6a48a499e242c6603eecfc2087c3175c4d18f42bf6bb6b201b9cebdd8a97a7b32e4e7e75e034ecb96bf0013b2f52ba036ab2929c163962f08cfd96ce780912bbebcab7798b5cb3eab91b82b01dd1983c1bee76334a71", + "fa93ad2468a799afed4caa1284fc01225cf225bc0ceff35a6569b76b5cb57be214da94872eba8a73cd51acf917a627ef17547af38bcb805485262063f80c0daab609a40467f73fdede744db116842cfcbe4b1ea7468fcfc258e2069afaf2c552b3be864517a7b0c71d46765e9573f0643cc762ad21826920de1ab3d116496b71366b2f6eb487d8b4cf8b1d6d673da1b38fbbf1e11615b108\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 22\n# First byte is 1\nct = 27f08c9efb8bae2841e67397d0bbb2e852c6d844b0b83eb0d3124ce3159020ac4bc750377f11630cda6956954cc9dd8ac5fe586e73c045ec8af96ebbc2bb6c0a3bb70c8d67cac5e972b38b20901339ce118e268a8a59675a6dd3db05f0f9c4890061d040a8734fd456176d1f4ef81129c7b3daf2eddb2f4c72251fa52550118496230461b583122df9f112599cee7372629b1704030385c988c372e4892007777098d3bb278578e306e5a37b89b7665321635b24564055f9f4ade4e2c7007014db3add8093659c285338ff370ff7e644ced701a7f8c131073f8651994758d0394224cd2271275443c079a3121df825024afec839406cd410f20fc829aa542702\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 23\n# m is 0\nct = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 24\n# m is 1\nct = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 25\n# m is n-1\nct = c2c4a860236d3c9096a076d6ba5107e0f7bd81e1ba916f7375724bd2b0b0b63956813715a3457ab0458b71fb35a45b27f9ef7ac3e579dea45dfbfd07819ed6b7021aa5336c58442aadd96ca9ee9d32473e9d9278562b4d10258ade6a98fb1c7cfdc3b3716ef5dec58cf73b359f389599b4b5865a9863519eb001c324387da755450db341309360e3807c0565b8e2c44fbd5e6e8d04d006d7ee768b8e8436082a90fa0e837f32f46087ab4a0d9be28aa7da1794ceb0172a7f50ed20f6df641efbcbfd2aac89775c761a7310093c671c977fa18b0d6e01fb25f7a432b42c65359784c689205719c1cf6e3a65dae2da434c326dde81bb6ffffbdbf6de5c16bba748\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 26\n# added n to c\nct = eac59c81e52db549558a3b7bada6e9cb7b09ddabfec008f9ee9c9cb91f1976f168adef3158e37b210f8fbe1790bd6ab892cb556d5d1e204d02c2259f6f581f00371b1fe122cb7045d8fade589248475b30c37e5fd93b053411ca329e568a58bb503b0f25ce9ef9663a32b75165804d0f99941475bb4ee8aef1283b9c7a9a9b8fa337d9b6e35ca1be25db180d80804c241b6733e62832fcb8c660f2197dd4f4fd87078e46f85143b43682e33f58ee33b74a357d0588dff43dd06c6be4ab49e81f4f905a22b563c2704401c64dc3e4ff066c3adc541d5715fd7674031e62d5a7b2398de09eb8da0a954b3c185db29b3fe26e00a61067413fb640103bd0f503d104\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 27\n# ciphertext is empty\nct = \nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 28\n# prepended bytes to ciphertext\nct = 00002800f421c1c078b8bee9c4a4f355e1ea834c5bca442e9986792a50e66e68c0b8122cb81bb59e0070ca044c1c5b190f9098dbdaa977a441a8a4c62897edb9484935007aadb6732c1b2b2171aea3ab1513f225ebe7830fb823ec3f5433bd8f3c3e52775bb45fa91aa0ad3b7c1bc647b775e4de8e1b22eb971041267878421cf43a5e2a2675b2c940daa55f12a7c79d87d45e08c5592362f5e0d7ea668af99eecd2f60d7fc3791e4f53aed79931bd0ba90f701de836d8c8c9be7f7f4aedcbe5c92383932f762bec65fa298eb644877de26eec995146af551ad77ecfd06a3670721ab4c7577e61c048c5dd01b282cfc0fc963b92c78eabd13fba64195d74de4829bb\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 29\n# appended bytes to ciphertext\nct = 2800f421c1c078b8bee9c4a4f355e1ea834c5bca442e9986792a50e66e68c0b8122cb81bb59e0070ca044c1c5b190f9098dbdaa977a441a8a4c62897edb9484935007aadb6732c1b2b2171aea3ab1513f225ebe7830fb823ec3f5433bd8f3c3e52775bb45fa91aa0ad3b7c1bc647b775e4de8e1b22eb971041267878421cf43a5e2a2675b2c940daa55f12a7c79d87d45e08c5592362f5e0d7ea668af99eecd2f60d7fc3791e4f53aed79931bd0ba90f701de836d8c8c9be7f7f4aedcbe5c92383932f762bec65fa298eb644877de26eec995146af551ad77ecfd06a3670721ab4c7577e61c048c5dd01b282cfc0fc963b92c78eabd13fba64195d74de4829bb0000\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 30\n# truncated ciphertext\nct = 00f421c1c078b8bee9c4a4f355e1ea834c5bca442e9986792a50e66e68c0b8122cb81bb59e0070ca044c1c5b190f9098dbdaa977a441a8a4c62897edb9484935007aadb6732c1b2b2171aea3ab1513f225ebe7830fb823ec3f5433bd8f3c3e52775bb45fa91aa0ad3b7c1bc647b775e4de8e1b22eb971041267878421cf43a5e2a2675b2c940daa55f12a7c79d87d45e08c5592362f5e0d7ea668af99eecd2f60d7fc3791e4f53aed79931bd0ba90f701de836d8c8c9be7f7f4aedcbe5c92383932f762bec65fa298eb644877de26eec995146af551ad77ecfd06a3670721ab4c7577e61c048c5dd01b282cfc0fc963b92c78eabd13fba64195d74de4829bb\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 31\n# em has a large hamming weight\nct = bbd79dc8eaa9101aa641ce152235ba3d804b48ec5e3dfe69842f125d815d6a56bdb774857c0bc0966aeab1d9c774e921852ff2b84d0a44016382d0e091c3534f0d38f4d5c0ea27744fe320bb0847521ab5474f22d4538562730909fa4496a0c262fdd9b62b422ed4ca9aa30f9cd7cbffe22b3747b0f2eafe1aecbf0f7506016afc9cb3414710fa3f46dd779b21622579b78aa7b580e5960d6c21da81b21b112ee7e2d33f3d67dceee1f07cb3bce8d7bcf8678a07e55498018470a714e00ce9ab796ebcd335240c202c82ac18c4c8c47b2fffba6974322e0e55624a2f0b7e8f3dff1ab4e73bcc65158f6e3d06f7e37535b413a7467979cb5a748b91313e3b7bf7\nlabel = 83f0db4e0dae6949337373a0d78c4b20c15a13cbd4e2adb885c33e0ef4c9764667a8706d059d1d891523d052e0edc1d8b5c959eebc340ce5d41559a89a1aeb5600000000\nmsg = 6b2e7b3152a8eb663899ce78d5c196462d5399720e85cb69fd2714b09842db9dad683ecb27f77938182f14168e76ab7dc039c224ff26c4631344442d81afef7a776101af2d19c45bc7609582eedaa9c1c1a1d364194186b767e6329f7c3daf2ca26348d9f6d2a80b0d018417606cf2256d28b782ace17b8463eb773cfac1\nresult = valid\nflags = Constructed\n\n", +}; +static const size_t kLen129 = 31155; + +static const char *kData129[] = { + "# Imported from Wycheproof's rsa_oaep_3072_sha256_mgf1sha1_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSAES-OAEP\n# Generator version: 0.8r12\n\n[d = 72ac6bb6d9a5726e454b5430c71125c6e9ad5fd42e1c5a18a8343e9d83d72214386b2308c0b8ec5ec6759dcfcd6a21f88b8ceaf46403923eb86ac3d14a8592e95de0462e14085c3f17db005dc4fac87b4a2d1ede5cf851d5745c8651a4438c0a4d746ad72e419207964728c301bf379a01c094e9693376f721137d3dc76ee47c9790fbd590b7d6a8d626e21b277ef17a4e4f7e0171c1146e1ec324fa97f30d3a1bae08f8d5f6e92cfc121665239c429167359e9650434b29d2015190356adfee12f25b341b08f12b7fec6379598af7d5cc24fe7f00de1d47133ce3ad8b6be1c9a854e33fb952e164ac6dd2a9052186ee144ee7dd986a8f03891d0da21ed78516dcdc2ac89cdddc8b544731d66f9d89bf17a50c6d987a598b02c938dc36521b881ea994e4c8fb2ba8fd001f73335d4dd1bdbe177d3093cf3883657c9ff944e8f5c9cde548b7c1b0741929b0d74977ecda694d940aefd9d2fc75323e0b3a114b99feaf3e2518f5158d1fd9d953aa20af158e67d27e2ce2f18d97fd02f369981979]\n[e = 010001]\n[keysize = 3072]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b1203]\n[privateKeyPkcs8 = 308206fb020100300d06092a864886f70d0101010500048206e5308206e10201000282018100c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b120302030100010282018072ac6bb6d9a5726e454b5430c71125c6e9ad5fd42e1c5a18a8343e9d83d72214386b2308c0b8ec5ec6759dcfcd6a21f88b8ceaf46403923eb86ac3d14a8592e95de0462e14085c3f17db005dc4fac87b4a2d1ede5cf851d5745c8651a4438c0a4d746ad72e419207964728c301bf379a01c094e9693376f721137d3dc76ee47c9790fbd590b7d6a8d626e21b277ef17a4e4f7e0171c1146e1ec324fa97f30d3a1bae08f8d5f6e92cfc121665239c429167359e9650434b29d2015190356adfee12f25b341b08f12b7fec6379598af7d5cc24fe7f00de1d47133ce3ad8b6be1c9a854e33fb952e164ac6dd2a9052186ee144ee7dd986a8f03891d0da21ed78516dcdc2ac89cdddc8b544731d66f9d89bf17a50c6d987a598b02c938dc36521b881ea994e4c8fb2ba8fd001f73335d4dd1bdbe177d3093cf3883657c9ff944e8f5c9cde548b7c1b0741929b0d74977ecda694d940aefd9d2fc75323e0b3a114b99feaf3e2518f5158d1fd9d953aa20af158e67d27e2ce2f18d97fd02f3699819790281c100f5eca16e0e83696b0ed9ac8a812545daba55f20a964c4e6343604a7f2be2860fce9fa16a1cc92120939deb88dff68550383ead851fac07ad1b2e8a9b2bb69525d96ceabb7ee83ce50f08d649107f449a14521a6893f3f3c5c5a703b2fc28bfcfe261a4f7f450558080deaeaab651c7a9ae586c1e7f5c52cda93e40aac908e4e3357984fc116af9cbe9539bc7a8d3b351a73ea5c2413d1da2e0b448b454670aca89ffe73b1401e9b8554fc3f23d6c904623251a1d29962ca9b26d973345bc4c5f0281c100cf25446f59cf512919ddbfcfa2d9670495ad92b6f295d61032057f9da6dbefc4510a623c2b47a5220082a3bc42af1a144f98c9ee4fdae41be0ec501ccc94b2b0640191099b355611160deb327e8ace018b898025ef470e4373ec1d97f669e298e1d845c6553c0a546ccb168d5b510dbe6018fd4ed9a3545f9bdb81968f4a6d7c790e5c34729a8efb496086fa1300249ab8b28f38951d7bee1c127ac3c4d0bd596edee1e9d17781dbb8227d7b5d76ce8b8bce03c5d339b9757981610848c55cdd0281c06357a59679d26801514c6940c20eb67b370e84e9f5f0f9316c0437d3cb7c843f5a6e6d9c19e8bdb3152e93f904cfe6e692f1eed27a0ada46f95601b3d122be793dad9bdd05d4f6d469105ecfc11448381dc154ddadf6bc20c649435b483585d68a527b7b967be52e35e0be9a437021c1cfa5f4771567cc233c1ce3ae99eb37daf8bd10156b4bd580a3ce9c7d391bdbb23e67363a947405c6c812cbd3dccc8b356a2dafd0d3b23a21b684b458e4ab3854bcd9be04cdc9d65ceeb10a8531c470ed0281bf04dadabfc15b1a8bdc0f566f876191088a7986f6c2b8c04ba0e0801d31cbf5d2a4139a39cec9df14ecee22e846a7d3f4a5e8eed2a70c7a4c2cf95ce74fe42c4bf60c135a264919bb4cc906ba283d1896f0ae48529b490f0c85ab03068cbfee8fa6bb6ae73b182d25cd66f5205b038b4eeaf1aafe2e1ba5de97c88d40fa1ac47626602fc90ae694734f44f3e4e88d184e8805a755ac2904be8fe9def6b7a62cc9ebcf4d7c2d6c9f9e86b2483e9bf22ce51861bbb4e73e731a4dbeba87772d290281c0214a1f73130e48b336fe01b950885ecdb3443d93e7e8ca62fb0da96bd423759d8be552c8be44f139fbee6ec24b75fbf0744fac4daabf5488fe6c3600d9b8e9a922481fc74a7a3d622662db8c85318de48ee8b716f19429fb594990da705ebdf7ef6613dd6bf885c16ad65e9fe6c280386bee976c25dbaff8fbf69baed9510be5eded3f90e0ba4a97e5c81a2189f114670745ab95edda215bd05fdc78929fa0cfe8b01c83f2aec93e3ad1a334fd85aa8794eacf955ae5dacd45b268741fca195c]\n[sha = SHA-256]\n\n# tcId = 1\nct = 5817f7d276493c294359e776931f0c4922207b6a06b43b5b03e3ec6cea095fa6acb8313b61d4a60e293eb8f99372b9cd210818a54e796bf09c70e21eec280fddd784c56d63091bfca32ea28846219f1e39d262ea475e5ef0e0802e80d36479ab81f6250d3b590de65e870bc9a1e71da1bb32154c9af2d049b539c183c0b5d6225c7ebc81b29cd0ad8caee728c57b8a9aa81e02e0e4e2ae2653d8e9045a2f267b844244eb84f93fc5dd37fd956ac933ae1a65643bd910bfed21dea885581b6717cf9cfff50fac0cd7ab5d13884401f3fb65a280a209e6ead340dab05177724f6ce72109a78c433c936e88d746c244d6ffc9ae76d16cc5a2d55fe1ecece194bc1c1a7d589376b16efe8ab4198997476c3c47ee232107af8fd1285f27bb3b455990649c14ef7ae1e81775042d6905c37a0afdcaeb6ce8c303d8fac88d9515ce50e6df603129aeb112fb3742ed607a6f095b1de291fc9f1d808a9c17c78a314bf0d1317cb4d2498b1ceadf919b4aa0978b929fb1b25e2f310daa3e707a7e3816e2a1\nlabel = \nmsg = \nresult = valid\n\n# tcId = 2\nct = 9c3c92244619c8e02a3a5c444ed621ca2dff15ca12def6a375b96548ae86a1c27056903fe1ba70d376f8f7949adff43d946430cc6692b03151f4baed3f395c496ce2416d8fd91578c607832c3d02005a88631b741414fcbd517f7d4774a818566e2a8eb15e5737110a3515cd43140083d6c8f8e059a1ee0e30145bb10ae2170c0fb782296d646e50066bc92825f1f3ded41d694c6f0c5dc5b17b1dfc84d6be72ac705b41f82157593996f7b95b6362e7227f1a4b1213e473c1f6eb3014f2c79f255a00b3ff7d9aad362a88eb5aaed14b9a620ffd3abb2301feac7cbeb7728b261ee6e877da45d28e6554f736273879833b0d8f11ff04b44753130bf7e5e340303a20d5c21c5659f48e3c3d1c566eccc2b5c57cc7d215ecb8adc6cbaad1eb2dedce4dfa5cf2888cd307718b9980ea17b6b3c559b955b19534207a2ef5ec1ee270a69e417e5d6bece4a62f594e94ceae0ed182833cb7d58633d24d676d1c009be9f52d655c656ea5bd938f1459d9b8405aeb0317d6d4d14cf2c7de2146696a64bf\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 3\nct = 606657c39ae419347af5117fee8d9b8f28866aa59e0dd7d6c2c07a24db6f500272a7766cd45e809055b4ad8a650647076034035a055e0b492a2ffeac0395ccf0a1f79b8344f6e5fb30ede7a0c75ca443b9e999aab43f902c8f85b1c3295296a599b16d5dbdb8f0b65a541d40c4fdb7a800406b56d3b01466b7097a5ef5140e283bfcd16ab7a9101a71700b490eca0a5f12b465be16e46997d03f119b25c98a3898417a433139043d11149f07e829fb7a274f8b6ad7191060dbf740806326fc62921dce846871c2800f4b3ed6936b63ef829a6509d17dd5ab71093f75afca0b32f2b81b697213a1076757fc7e2d264597bf2670b61c2fa2376f21a32aaac2dfd0ed728bfdf865762e07303c860cef78fbb4a32bbac94320bf3246eb7a9e19db4a219b88c41e86aaac68ee52a9700e734887ca4547cc5b6b2725bcd47cfce7d74eb37e7a67ef1cc2adcdd5137201a43af8c5da372c80946d8aac2bd920283bbc0cf4afe2e20572e8100134a0ce1db5422e8a2f52e0f46be3de9dc134e2a0fae6a8\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 4\nct = 3302b97f67d2cd9fb0298f15a375a21defb6c9b52cdbd78838d4561f0650cbe2563cb5e5ea797ca7703f551980307429bd786c5f5d15090701f1d130366cb0a93219f0396c9bf9c7bf2aceee5053553f147c15d02a0b5f00b597d01acda7a396d4f7c250cf61342a48e1bbd07b3bd3c2d47fa2da326e1c757816e47c", + "7cd81de6e0e7ae36c99ae2fcc56bb47570a68f5507468dd40bedf2ab43eabf6fd00fb43a0e711477db4ee323300897cf11e4fbba49836f55197b9673a2433a1756fbcfc2497a4adc620e65428e29a18c80c9a86710d1634b56c296238efae7cc0ff177052ac7b2159d2c21e587752ca16ea50c3a3e50b12709535b7eac02c4f8fbb6a95d8455e472f41765a2eddc24008e74b79baa11c7073168c7b54d3168cb41353bf8011e33d02d4753bfb28c762b7c459912da6d441f4942c64fb5f6e82c351d8942c69299b07ad25b6011a7a280471bb90113bda8e450a1098c6944d048c371351b0f1fbc254f9334a6c7b26f5a1888f0c558727ad05da09539ec9966b5adb1f6dc\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 5\nct = 22609a0bccdaf1e08cef04569a12655f58a9d5a43f83cf9f979e3a358c67a1e444d104a656aaebf8f7627870799435c292ac4655edcdc427a0b618781268a9664fac3a2ea481d3b62b3fcc37f0a473ce47090bc6f3fb2a3d80db8883b99f26c3da4a9e9b1902b2d0dc4643c8d9f47c105f8efa57bf8aaafbc96ab3094d49792d0edd751bf028611c1a5fa38319514bd34fbd19a837cd328f0a77b39e7f56f1c76d1e2ad9594251ad8c7741e958371a5737aa272d0dcb6674ea36440c807e57f95edbb182236bb5af45cf17d8649e33cec6e594b5d0e609fd7fd74c53358f9aa320df99c2fa38f69caa1fc333e4cc5d0bcf8a4c4b6d2ed237748eb1886e5a9f155aac9e86dcf798caecaf3d8e83fcdcf1dad4c2e304e288aa925ed68a3ed672c78fe3477f2f59510ced468965d90c88b1d7eeda4d7a6c5f6cfb418231343d2838d96f6152f9963ecc68684d5e5572cdc3b7cd237c3307b7ab72c810a5832ed907e275fe67b267d022c4dde029aa840bea6870f3ad29524a097f9060cfea3a73fc\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 6\nct = a79686ec88818d6266f1fb06991ade5719ac10a7b0ecce5694dd76aea13fdcf32d620c290350839782f8083af7e73eb65a41d7a908644c6a28d6b9ffadc9545127eb1827468aa6f39a2f04308099480f79c37282e9d7f0545f6214bce22534cdf131c5bfc148562e45545beacab5568d3ce1615ad3ba0c48a93a3ccc72ec11ed32b770a3d435e5ecaa6f013cace1e04b8167dde67b97dfcf4c6434fc50bc53494d6252b70de6d48370aa80b8efd667993cc559791c0f60dd8e324a578a50507a2b36255c47871659e1c96148b17d9d2dfc453db34277a9ff395b828d627bd80083d44b594257a1b7741bd0b0865cbb0b6073d2b7e2a1158db00a20d652786937ed861e6775b551ff3ea78419ff4287a1d680981962f34d2c57a7ff0b8bfcbfe10e5c1a42e58e624971a53d59e1985b215a48a36ca8b4f2977b713baf9066ac3a98fef9775c97e248c53c3f425552050c29fe1eb05e31132806b7b7660da08ed9833ee43e7fe8f8d50325cfc1f6e54bc34b9b5994548516a980df38b9f61747fb\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 7\nct = 5a4eaf5cc897db7ed7dbd6a57519a06247b0c9c229f7bb1c6c6561858bca7552d56590821e22591218ca5edce82972f58cecd65804e048bbfe48df1934501d4ae5bcb8d50a0a12778540cd5354cbba91875ea70dd0f5057d808528f8c5600ee33c38ea7910f881e45ddd4db2ea933547db764769ca54bab59f3f9559b4d4e2d439462762fad169bf0e04cfc377b3f144924514c32d82e0a53e870ee0855d4ec96393c0eba5fa5fc5debe3d384debd1b61b33509f17da3bd95baeb0c43940924a11124d95d274e67df9e697c2b8133231f2f33aa5d6cc6f41b2962292c97465926bc8569a907c28b54fa6b6d2fd89c409da1b11d23a5f6c53ed82043fdaac6c0e4098daf8a27569d58b87b4597a25134ae45a8e1e6f1871d3310e56eca5894fcaa946e9a5844813e2ef31931dd105a3696bf04e4defef88c5c5a1cbe6bda766804a8e99c82474bdbc2ec344bc2de0575ff90a50d39f6446b99092cde226a81ac82f3688ecdbd527f37cb48490614022e2e961dc1ecbbac819cdcd1ed836a3a344\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 8\nct = 4b5ee510deba57cbbf954949f999d27fc760ad542eb46689672abbc8a9f56b3d2ed8d175a341686671ab4946655b7231fd2ecc8166781329f1f427dd2f937cadcb752bcc459fd51cf6d50721736a18d19387f0beb3b1c07f24bcc162b89803f58ebbebc35485505e834d9f5b69ebdc3428fd64aa70ac45d13765a89594f36498b5092fa8b8f5f0c359c2128af55530746375745966081040842f51894aec7f54a500b4e16525c264f587a3db0c2567fb431cc6d4efeeaf64df4328055c7b5d689f656bbbc221ee003a47ad35dc16655763c90633394ab8b584cfac31f81c90ac72e19dc800f2a5ae2fdbc2f839e56aa60558aba3868f835967d2610ba6214acc3f9d256bea014cbdc8c45a83d37fff6fcd59a7b561782123bcf2d41e15b7e08e7c247053d6114e951b5a50fc6e0b6281aa366f919cc36068fda6f9b228ae866cdd62a108ed151c42fd209bc4088cb6c03767bae21f310c37065fa66f0dffe8f4a8ca90b0d936888fc5e0401072780f54505f20e927be377a709ad13ed6d3fcc0\nlabel = 0000000000000000\nmsg = 313233343030\nresult = valid\n\n# tcId = 9\nct = 991e95287bb7b68da9337b8d5d615a7d18315a8b2a1023deeffa4f54728a1a0e86f4f70ffc2ec884eea8a7e6438656b96b6f60b5cbe724ccd58c7f94037bd458a24ced5ee99b57fa1df9fe91082dba94121e6bf34c5440e5b286af25ea23aa5295da4a4edd441d8898eea42606aee4f646980c3fa4b99da3cfd1383188fa3e5db7e464360d57ba32f94583f317bdc7c8679b793009f25063a948366be29e04e2a5e4e18384bab0c3c5dd25a9c015c5946b606b8e8934a831c674cc228b9cde32d090bd575ab306c7f88ac0ab610a4e4b81db9b54e9000bae8b8cc411297d7902bf219d3c5137a6c402a7723863bd3347293369db5916ee72250e8f699e0bf2717fc07c9550e875fa125ab902fc8d8df07df501a35e7146676480677587049090739721b9a655bed7737ff664def6cb4eed10466a264a83f3504e8ca057e98e9013837b221970549f40e48fe5c2637c4c5463d7a29371c5283111f1583c3639eaeac24b66aedddfca15404f71309f441196373dc4ab6419b9858131842950ad08\nlabel = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 313233343030\nresult = valid\n\n# tcId = 10\nct = 9a8b5757e7be4efb98d03e5a6d7e8cae4a3764168bb2e0854b1c95b4c0946318ab46fcafaef9f1859efe369c7bd3ea1bdb7bd3e119425ce9de08f5c2c2c2c036b1e01632d6582f86bba5b0aacb210c99aba26c96f1f3d5897617b5a5865e9999f6375bc8436073d631801a76881a6af0348759be5bbe2efcfc31416cc51ffdcecd0dc40f41247911f0b6b98a580792c68120bc3a662f0268dd84e8e7feee9634b590257020b8d1698510cac27c586a2ec72ea743fb2951ed79ae3e0a801a4a35361a37fcd1f8c4be9e06ee6e70481adad57d9fcf2baeb8820acba99b09549a3c44d78e17849a57c8ce356c823deff5597c8b6098b610f7c323693920fa088ca307ef3fb23b4730508bed46f575c83b2e7ed70ee9bf29c90ab7dd123a359280245dd7930363a0c2ea0ac1eab83225ba1cabaf5f57ba9c0a26a86242b3c09cc71533317dc5f1b4a410a9af00c14af4103ec6eb61ced21f3b115eb40c0b7a4a2d4667451cbd76074671e1c8ac3797ecddb82c55ea1c2309db5c4c9cc6ce6aa59fe3\nlabel = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 313233343030\nresult = valid\n\n# tcId = 11\n# Longest valid message size\nct = 0392ad8b60f892220f5ebd2ac686ba3bc49840dc8e54fcf21f8e8a656ca0c53ed0020c9d512d5aba3f3b8df0ea3c65ac066deeac64111af27d7f7759900280f3cd554ac91016f341bc089ca022bd1d772a1dc99ef9130cdd0bdead74f65d08cb1097c9b5745bf28141cfb6dd17c3587c549e06fe37325a51df08a15c1bf817760f6b4d6c3bf6d49b949e97272de6700e3a82a856ed06cdb3d0eaf6e74d6c9a5e6b2da5bb6b3b162baf291a78e0ce082b58057fe92de538672ae21c19e215e337d4ba7e6b878f269be166e6834d8670fcdbffe7676bca15ea3bdea2ce9286d87ec21d3c538f17c17e41f653257e967c8859bf9cca349d5450af6b48355b49dd58c189816bc4da34f907df6a178768c511e645b8a6069dee23854144693045814471cbcb45e607dbc82a501d97ca7e0c0f641da3f83d69f9561731ce59cf2020002e3ceffe8371422f1318194b862617d78c79f89215733c2aab34c3dd4f1eac7815d88cf18ac9424dfaeeaa3d4262a2e1f4871704e4453d65fb9cdb82700295a7\nlabel = \nmsg = 787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n# tcId = 12\n# first byte of l_hash modified\nct = b6633093d61ed6dca2c22a5d7b8e94b34249d45c6b52b8b01473b8e2b7642ef1ea0b468a6ff1299b8b09c52bd3cbc63a157af1f85b78ee2f9ec7ca2ffdb19810dc6af4c5aa062f5ca321ec5ab600eaeab6bb087307ab0f8f0da27b8e0056d5db61852634033671983ae8d3455a468100cb1e5383ff42dca3a40a9cab167c33d118f67a3ffb4fa9eba472d0b0479eee9931383b3e93ebf3cb3500ad790bc9339b1c0bf4fdc1caa43f988e31587031fde728abae75749c2341e1df58bea94a8283537e3c77192f4b280a0021fae6fbdf9c456c9b34a5103e34829a8ad337d8020c77f244db22d05814877a3009e9a1e6f8be764b9d85cdcf129611c636eec65e6a968ca1f1335d320297d9f3c948846a8ef6545abd5badfd309acb083d7c163d712ac922de783b48812669e0d062d56e9e39c411b16fff13d48e0635ffb1ed8b7a43b2431e2d059a6c3b4a73dabb1bc0d09c3937dcc0fdc32b524d6ebc5d23db7d53a33943d8b0c034ac1c5cba115dc4e27eb04a26877806a61886f33ad3032f9e\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 13\n# last byte of l_hash modified\nct = 3f25923327bf6f3a1302697fda7f9024a1a4f649675fe8d5d09d889649499baebd", + "6ba47b49782b04284d7cd00a863e6c10cee1268854bc884bc1061a8d8214f1326f95019026a6dcb6592b9bca412ef144252a66665f137bdb5fa5a39d13de8808afc9dfd8fd7591d180d436bf8d5f0642715b78e39eeb022cbd0d74669a755119984e255b8ea3223bfda0bb53c74c3e074f373a7c819cb0dc1b7835d27b94b240407dd5420e53fa72a4987a565880a83d242b8aa72cc902e89d7a47d9d2d74d3d3e0c4c5e1c798217fd1cb56999034773424f7a1e04547f463eb522d546a71bddf0c27229f82036391edcfaa85b32ebea83b0bc99b63eb5eea1dc614b6aec31ebc824ac6d59ab00538b919e9855e51378a82333817d20afb8128855ddee447c4653efb484524e2ef813c8ba23e3bda9824731553faa3289cbade67528884650f0c9c604129ecdd19668dacb79fcfbc4341f871845317194b0a147c86ec1225d0053209b5d4d2ee2607665c7ab28bbb156908f2f8c1f883264da65bc678669b0\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 14\n# l_hash changed to all 0\nct = 1ca152106ad2592fa9a59024cfa7b33ef0fc9b52f1bf824f783c63ac1ef2e7accab17e5097103c4998589449398ae84a2e3368832cf7ed0647ba3d0f6ee5b8d947dad4a160e36fdab3f050371c4b332f0b4e4bc9cd7367ebc86a5fe51a8c925da97a01db87bf9d4a27992d97d2b7562d38a1fb1ba9c58dc5c423883a22190063ad60ff05c3c101485adfd95cd521e077f8b65cdbbfea945a5b212d32d0182bb1af5667adb413739e7c5582bc92845cbc17284f37b723bb8d6a77509376c492d58ed32683553bda2b7ebd24e5f83813f67b12f506e187b2db116e067d49eb1cc5e8dcd51a0da2822d2fbdea212fb631d264f255e0611c09fa43588cf92e1a3980a772560c8530f53de1c6b37cf5bf8325a915a9dea8ff1f580a657e795485d983a998e31fced4e23e92bc0974f58306eb2524cf3c8c3e592b2156e826e1fb88658eb65a947a5b2149941265faecde18bb1a2bdf7f03bb87a522278766016eb9b64dadf50d1f19c5c10632ca1f107d03b421abc217d3a07ddeb3b941eba59d37d5\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 15\n# l_hash changed to all 1\nct = 819801441de0c512f558942ffb97c590b1fea96059f83f626fdc0ffbbecd334da7b9acfdb8ce52829cf05f046f57a083de44312d83eb46c93e971909ff553ab9be3c42f23ca15d7b7e14ca08fe874b0db6083700577c69a5e8a3bcf6f7c36240ab92ed3deb516b1aba0533a727eb75969ace40a304e0cf2982d696c4e95e30090b14a55e078426061c5d160f5456d6e6443f730341ddaf0acf4ad0e73b60e4bfe5e2305770dd65728ce2424d79115efd8de9cc2cc79bbe1789331b9a36100e1acd528a6fb25f6f093e4a9d4d187d767370f52c2deeef9448a6c016369e9fbdeb0c85b75d44a9afee56ccf8fdee0785e3e709bb36d125aafbfa9e80e38e01cd6604c5b29351fcfbc3bc31023aeb841f5926a37f728d3d345d48e2545d5412b738050964d374e493b3634758a39a73a29f5fe41185b60fff764008efb9257dcfd84a13ac79754875834d598c9cc4bade1c0927a274fb4bcd43d8d8a6dbf2b6f386022bfc68b79a13ecd608645a4d5dd5489935e221dbb767e760fda20b0c74aec6\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 16\n# first byte of ps modified\nct = bd60d3822203c14ba38ab4a83f40cae9dea49fc813a2922110244644eec6cbf63a293b5b7cd907705082c9349cd862f6f417d8d401d9c84c1dd39091c8288212c7b9b6ede28fd84fac25afc707ede9ddf3f7275b75ba946d2c9d75a2e26c712b20f704f3369b6c21d9c2a4ff3d691970055fd4b9d42f53c8040ff307aeab32c957973857843cc7ef2a3a2c86fada1ffedffa21dca1a343abc4f66c5944087096e3e4b6ce3adf9094c62d7dba4c615d7f60b13cbf445210186295fd55929ca296af79208f6f3e95945507e094ea927aa5c24316d8049f960cde93f221a018e42f772b765146f436aaaf003a0a4404b65861b86f299cc1d3b85dfdd19512632e513f282e06ad0c0e063950f1e34d612f8671a67724012597d080211cb310b162370026016db8f3ed378214ea76694c335723348f045b953467d86a13a26abe92194894f32b440bd247d81fbca4b1eb88e6175527f7cf454f7065ae5a0c5360d5f709969deeea42b2de830c2d346192d38589aba7c493e8329077deb6a2ea55f714\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 17\n# ps terminated by 0xff\nct = 59ce93a93ff164f56ac01663ac9489ca65b071391a24fa7c70d4434d5a8be4a815ae3c84b6112429f69809f0895a3a35546630a74ba8a9c293900cb9e55e6d7ecae3a5c67471efe91e13246a04ae6b41886b338451f681597574bb3ed36a732655e8c32c819a82fcab17ab919a57a5d0f670c164bb02718017f99b5a6f45b5c0babdcd2b5d5fcf39f763f87fff70dc8cae554d1eb91cd9aed7b54f70e44e2d045602855e1a8b98f48b93da66e60c20084eeffe77a4fb5426b382505f8af60d97b7baa46921127dfd413b44bd26bf6453e10a849341677d809a831a68e24235af3a28481224fd114afc88ea74266671295e0e8d132f83f2a9f534b704418997fd51ae3f8eb0bd1353b1e396cbacd5b028d0323ef115c6c35af47c138f1e2d87ee03e418a9d02b95647e551037f263779322f1e9ed29f66432f3e71b1010b07951e0f155ccc4c3553602ab28551b6887530b7a066baeddb111f90fab9ff18eacd2f48127b1ffda4130f66f15c69593552fd6c8e2c0add716bcd8f4c23caa9341b5\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 18\n# ps is all zero\nct = 5f2eb84a45b5c17a89eb1337b0ca5d7f13314a850e5607e1348b1bf1afad9e278454ac3bd3367c36c8ab22d1b3d8e16c364e0ab79c9ca91383c3ff68b8601faaf797f3721551a5f422594a8e96069ee1b7a698a86898cdd5e1b33d3fd108c74bab7c1e08a17a47d7f2195bdf1644ce12d6c5d4157a03be9019e439da230deea8972e360fcb3ba2b59c6e9fa514a26c00791af0dd5401cb01169a333ecc2216d2e0b603a52cb1fa09fe530324bd3e19f868c8c5b4cec1a07877543ee1b68bcdca734a6cf8f28bd57cf41f306f55fc759c193a6225893b3df93cf909de46a9a0eb80c58f80a74e11e78217489409579ab2a53ac7e0f615bd2e3f875e9abd2fc9046db342415b452ef112b7367c301f3bfe7ed537b5659302dc49fd22a8b0ddd8246fd5259b1f98bc857e4d4bc489db04d41379d82f81ceb2e3ef0a24defbbf027be3ece8af03e4e1b0323dccff2633183397289545988b0524b30ee637bc2fcfacb7cf97e57dcc78fc507d02cfdb4e3e1306888d1adc4d5a7d2c12d12c3e2f0d69\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 19\n# ps replaced by 0xff's\nct = 4da5ce126030a6df46e78cdf2c25b9e81c394b2ab1eb72128ba36e1ce978738830dea1af9cb743d037c0391feb51e3562a117b5bee96335495fed5e0969f26a25580a549e1299baf27f44253aad62b532524aeae684b0f989a0c5997ad35e66b8f4ec2501869b8c7a4161a126fb2594c728c96b97f0f52d29d1c50bee8db7358d5aed88117d262cc790e912403a332c5585195d815a84c8fef117f16c101fd12f51dba843c2e28b758e05b1fe47d738299a120b179703bb8116c50a9caa38799ab377307ed51c185d0ff54206e8b45215a5670d3a408dfdcfef08de0282d59fc33ac76c733d2e00c3a205b571dbf62c1e330d0948397a6a4f7cfea31ef6a297e7308a56bb48260cfbdc497d30956c976deae81604ecaf9ceacf056fccdc9e5d0c8ca1a0de2e7faa24aa0ddc97ca75d5e19e07a614e404ed0ea318bd04ce8866ab6db1f7ea6e65316582e3f8f23e9d9f258104da3cb9c3e8b2424642fea70b5de0b372e1b1ad15c1c97b67be227788bd1484d624d652a665cfbbac148ac4eb1c4\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 20\n# seed is all 0\nct = c43f9e1991771364c2ae0e3fe7f0c5a30e39e998a7e1b293209a2bdd14dd1cfa14356288bf9f71056a0cf724b8e9242b6ad5f6947437051b9e09afb610b5a785f872f40d0ecf76417c38c2957e92d0ab43f77da2cd548e324ef96d87b78952e490e3d44f32125e62482eecdaf448a7a0a70df5b275b086dae02925d64216b25861017c73ffad338647133784b3629519245e830b11d2a9dc50385167b9cc698fa52ad02c5ed1d876f96cc1e425cd0d1f428c78227db88cdb0a9031dc555130a464d224e23ce8a53f41d3834bd414bf98657bd310e411a464875fb7cb12927cd30d2471171fe843c7f2d34160997dac0b91e9a3204b2d46909beaf50482d17758e088b392b1354e26a3ce8fd30afd35327056c432af2f4d0806b47c57183fe6172f9e2af390b2dd02e63d99a920c676c8e9b053e9544f3f01f75f0fa47646887ebdf8b677cb9855e49fd41587907accfbfc76712627af36d53253c3cf396e8ca0c756deafc025267e602af5648f068441e31b77773a0eb6b0be51b162941372d0\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 21\n# seed is all 1\nct = 953969d3123d65c166431050330fbbb6927723a3315f714b6ed05c26b733b88c5ee3ca8d03515a7f3c7a6db910647b0243084bdcc3606799c7844b59faba014e8715b766dba6ba11cbe86eb7dea482af06558a87e51a9e4bd753bdbd01205bee4d3ba127063c0396477b600e44fb290a22241a4e1ff0091af1e93841ea3cf175b09aff11b81d9decfa5259165f4b7417067fc491fe816c700f3205eecd8b296f0d4047df2744843a1d8ebf774226a74e33b29c6a95750cd532b868713c1df0096bc9daaa57f21a7879d0f007c247c516de49fe3890934b71c2400646a983c688f1ad176891a79a87ec4955ef3e22c089c14e5b014f90de8f2ea1244effbe28fe001d6f80d09d2643f19e3bd09a8723267dee93ccb37ec58e10ae4725bd87b85a6268df03e98c5ab3227ed0009bbd4b9c338cc7089cb66228f626e2e12de47391ce49620c50fef3cdf1bf6bc0c068d81c3c776fa4b69b422b2fd5775535bbbb82c652519266fe45252f7ccb75f820690c91c1fb7430b8086aa10268fe226c9c79\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 22\n# First byte is 1\nct = 5dc333cac75cf3da3e0a3bc580d5305ab08b11b10b8a4ddc4df54a6c08dcd21bea3c83178db7c3a9f1581a6db19972c2924ed07705045f0dc72bf60304e0f9f140986ad024aa4791f6b4e903a3c1f8e33f61268feea185a1b0f7690b80924ea06362ff9821ef7e39447bae69fda7671d11171dbbc6cb60d0e95bada53bd7a81e8a9188b4eb63d573bec3973d286777278fc4a4c7aea62267ea0c268a5498d2e989de4e4472c46a2d5961fd4a9a75d81e23e73770014b01721a09c05b39a1bcc1913a9a", + "aa0c1f7e54859a86ed3f1dbcb5e4371658c640961927c2719109a964bea77b037d82a08ce241938ce0ca349590b9a5644c3c8f22b250bbff4aaa5731fec8ec554af2c3ea743effe2b42e30ff4ff181f8e6552c11b87090356b8d7597ba0d97059dfd77c300db534d6f660f6ae9163ea6d24a1543f5dcb691ef1fb9b917b7980660e223524ead8ea1d7b4dc29f1e542122361b4688c93f15434e52b791059650c99d97e09a3cf15e7dccadc95224478ea4c90615d654e51ca9433357835\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 23\n# m is 0\nct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 24\n# m is 1\nct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 25\n# m is n-1\nct = c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b1202\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 26\n# added n to c\nct = fa00dcf88d38cfdbd67c16db4fe513720bc05e8649e1766e790ddd0ea86cf0977215d36e4d735c2115227dfd62acf808e3839209114929b6fe36864ec3e1d66024b62763acecfe3adf322168b340d839dbbb5e62d2196868dfd975a7a0eea51610df9a5202b0c7037afc6ba5b68d93bd9446f5a9ff1c27945852bf7c1b1aaaa8a1ff9fe3604fe120be2df2d8f1bef9bc049fb667459c487000c59b6f54bb8edf409521c5f87795f3782645a2c42b5136f281875e4193097edc2a284ee6f8981d637a276dcca9fe5cf990763648845e5cf874d56c57d6c49dd003a929672c8c2dc8cf96844bcc9d284a20f8449f8ea18ef2b6128cc49f6931623bff00e85c1f229ee9a9544ff2751766e5687ecd72ec6226ba5c5284771e57574cd65015940db4d4c88cbc3438d8ae0ae420d3962765bc7cdc92481ffc3e22ef0dc3c4cbefdc147639fc93029d68985e6efe7e9b10a223e3eb7988d2614c6f3c4b84fc84fa6c39667ae2054fed4af3be503ff186d64ca9cef2e9771c011a21074e5c6209cd08df\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 27\n# ciphertext is empty\nct = \nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 28\n# prepended bytes to ciphertext\nct = 00003302b97f67d2cd9fb0298f15a375a21defb6c9b52cdbd78838d4561f0650cbe2563cb5e5ea797ca7703f551980307429bd786c5f5d15090701f1d130366cb0a93219f0396c9bf9c7bf2aceee5053553f147c15d02a0b5f00b597d01acda7a396d4f7c250cf61342a48e1bbd07b3bd3c2d47fa2da326e1c757816e47c7cd81de6e0e7ae36c99ae2fcc56bb47570a68f5507468dd40bedf2ab43eabf6fd00fb43a0e711477db4ee323300897cf11e4fbba49836f55197b9673a2433a1756fbcfc2497a4adc620e65428e29a18c80c9a86710d1634b56c296238efae7cc0ff177052ac7b2159d2c21e587752ca16ea50c3a3e50b12709535b7eac02c4f8fbb6a95d8455e472f41765a2eddc24008e74b79baa11c7073168c7b54d3168cb41353bf8011e33d02d4753bfb28c762b7c459912da6d441f4942c64fb5f6e82c351d8942c69299b07ad25b6011a7a280471bb90113bda8e450a1098c6944d048c371351b0f1fbc254f9334a6c7b26f5a1888f0c558727ad05da09539ec9966b5adb1f6dc\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 29\n# appended bytes to ciphertext\nct = 3302b97f67d2cd9fb0298f15a375a21defb6c9b52cdbd78838d4561f0650cbe2563cb5e5ea797ca7703f551980307429bd786c5f5d15090701f1d130366cb0a93219f0396c9bf9c7bf2aceee5053553f147c15d02a0b5f00b597d01acda7a396d4f7c250cf61342a48e1bbd07b3bd3c2d47fa2da326e1c757816e47c7cd81de6e0e7ae36c99ae2fcc56bb47570a68f5507468dd40bedf2ab43eabf6fd00fb43a0e711477db4ee323300897cf11e4fbba49836f55197b9673a2433a1756fbcfc2497a4adc620e65428e29a18c80c9a86710d1634b56c296238efae7cc0ff177052ac7b2159d2c21e587752ca16ea50c3a3e50b12709535b7eac02c4f8fbb6a95d8455e472f41765a2eddc24008e74b79baa11c7073168c7b54d3168cb41353bf8011e33d02d4753bfb28c762b7c459912da6d441f4942c64fb5f6e82c351d8942c69299b07ad25b6011a7a280471bb90113bda8e450a1098c6944d048c371351b0f1fbc254f9334a6c7b26f5a1888f0c558727ad05da09539ec9966b5adb1f6dc0000\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 30\n# truncated ciphertext\nct = 02b97f67d2cd9fb0298f15a375a21defb6c9b52cdbd78838d4561f0650cbe2563cb5e5ea797ca7703f551980307429bd786c5f5d15090701f1d130366cb0a93219f0396c9bf9c7bf2aceee5053553f147c15d02a0b5f00b597d01acda7a396d4f7c250cf61342a48e1bbd07b3bd3c2d47fa2da326e1c757816e47c7cd81de6e0e7ae36c99ae2fcc56bb47570a68f5507468dd40bedf2ab43eabf6fd00fb43a0e711477db4ee323300897cf11e4fbba49836f55197b9673a2433a1756fbcfc2497a4adc620e65428e29a18c80c9a86710d1634b56c296238efae7cc0ff177052ac7b2159d2c21e587752ca16ea50c3a3e50b12709535b7eac02c4f8fbb6a95d8455e472f41765a2eddc24008e74b79baa11c7073168c7b54d3168cb41353bf8011e33d02d4753bfb28c762b7c459912da6d441f4942c64fb5f6e82c351d8942c69299b07ad25b6011a7a280471bb90113bda8e450a1098c6944d048c371351b0f1fbc254f9334a6c7b26f5a1888f0c558727ad05da09539ec9966b5adb1f6dc\nlabel = \nmsg = 313233343030\nresult = invalid\n\n", +}; +static const size_t kLen130 = 39041; + +static const char *kData130[] = { + "# Imported from Wycheproof's rsa_oaep_3072_sha256_mgf1sha256_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSAES-OAEP\n# Generator version: 0.8r12\n\n[d = 72ac6bb6d9a5726e454b5430c71125c6e9ad5fd42e1c5a18a8343e9d83d72214386b2308c0b8ec5ec6759dcfcd6a21f88b8ceaf46403923eb86ac3d14a8592e95de0462e14085c3f17db005dc4fac87b4a2d1ede5cf851d5745c8651a4438c0a4d746ad72e419207964728c301bf379a01c094e9693376f721137d3dc76ee47c9790fbd590b7d6a8d626e21b277ef17a4e4f7e0171c1146e1ec324fa97f30d3a1bae08f8d5f6e92cfc121665239c429167359e9650434b29d2015190356adfee12f25b341b08f12b7fec6379598af7d5cc24fe7f00de1d47133ce3ad8b6be1c9a854e33fb952e164ac6dd2a9052186ee144ee7dd986a8f03891d0da21ed78516dcdc2ac89cdddc8b544731d66f9d89bf17a50c6d987a598b02c938dc36521b881ea994e4c8fb2ba8fd001f73335d4dd1bdbe177d3093cf3883657c9ff944e8f5c9cde548b7c1b0741929b0d74977ecda694d940aefd9d2fc75323e0b3a114b99feaf3e2518f5158d1fd9d953aa20af158e67d27e2ce2f18d97fd02f369981979]\n[e = 010001]\n[keysize = 3072]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b1203]\n[privateKeyPkcs8 = 308206fb020100300d06092a864886f70d0101010500048206e5308206e10201000282018100c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b120302030100010282018072ac6bb6d9a5726e454b5430c71125c6e9ad5fd42e1c5a18a8343e9d83d72214386b2308c0b8ec5ec6759dcfcd6a21f88b8ceaf46403923eb86ac3d14a8592e95de0462e14085c3f17db005dc4fac87b4a2d1ede5cf851d5745c8651a4438c0a4d746ad72e419207964728c301bf379a01c094e9693376f721137d3dc76ee47c9790fbd590b7d6a8d626e21b277ef17a4e4f7e0171c1146e1ec324fa97f30d3a1bae08f8d5f6e92cfc121665239c429167359e9650434b29d2015190356adfee12f25b341b08f12b7fec6379598af7d5cc24fe7f00de1d47133ce3ad8b6be1c9a854e33fb952e164ac6dd2a9052186ee144ee7dd986a8f03891d0da21ed78516dcdc2ac89cdddc8b544731d66f9d89bf17a50c6d987a598b02c938dc36521b881ea994e4c8fb2ba8fd001f73335d4dd1bdbe177d3093cf3883657c9ff944e8f5c9cde548b7c1b0741929b0d74977ecda694d940aefd9d2fc75323e0b3a114b99feaf3e2518f5158d1fd9d953aa20af158e67d27e2ce2f18d97fd02f3699819790281c100f5eca16e0e83696b0ed9ac8a812545daba55f20a964c4e6343604a7f2be2860fce9fa16a1cc92120939deb88dff68550383ead851fac07ad1b2e8a9b2bb69525d96ceabb7ee83ce50f08d649107f449a14521a6893f3f3c5c5a703b2fc28bfcfe261a4f7f450558080deaeaab651c7a9ae586c1e7f5c52cda93e40aac908e4e3357984fc116af9cbe9539bc7a8d3b351a73ea5c2413d1da2e0b448b454670aca89ffe73b1401e9b8554fc3f23d6c904623251a1d29962ca9b26d973345bc4c5f0281c100cf25446f59cf512919ddbfcfa2d9670495ad92b6f295d61032057f9da6dbefc4510a623c2b47a5220082a3bc42af1a144f98c9ee4fdae41be0ec501ccc94b2b0640191099b355611160deb327e8ace018b898025ef470e4373ec1d97f669e298e1d845c6553c0a546ccb168d5b510dbe6018fd4ed9a3545f9bdb81968f4a6d7c790e5c34729a8efb496086fa1300249ab8b28f38951d7bee1c127ac3c4d0bd596edee1e9d17781dbb8227d7b5d76ce8b8bce03c5d339b9757981610848c55cdd0281c06357a59679d26801514c6940c20eb67b370e84e9f5f0f9316c0437d3cb7c843f5a6e6d9c19e8bdb3152e93f904cfe6e692f1eed27a0ada46f95601b3d122be793dad9bdd05d4f6d469105ecfc11448381dc154ddadf6bc20c649435b483585d68a527b7b967be52e35e0be9a437021c1cfa5f4771567cc233c1ce3ae99eb37daf8bd10156b4bd580a3ce9c7d391bdbb23e67363a947405c6c812cbd3dccc8b356a2dafd0d3b23a21b684b458e4ab3854bcd9be04cdc9d65ceeb10a8531c470ed0281bf04dadabfc15b1a8bdc0f566f876191088a7986f6c2b8c04ba0e0801d31cbf5d2a4139a39cec9df14ecee22e846a7d3f4a5e8eed2a70c7a4c2cf95ce74fe42c4bf60c135a264919bb4cc906ba283d1896f0ae48529b490f0c85ab03068cbfee8fa6bb6ae73b182d25cd66f5205b038b4eeaf1aafe2e1ba5de97c88d40fa1ac47626602fc90ae694734f44f3e4e88d184e8805a755ac2904be8fe9def6b7a62cc9ebcf4d7c2d6c9f9e86b2483e9bf22ce51861bbb4e73e731a4dbeba87772d290281c0214a1f73130e48b336fe01b950885ecdb3443d93e7e8ca62fb0da96bd423759d8be552c8be44f139fbee6ec24b75fbf0744fac4daabf5488fe6c3600d9b8e9a922481fc74a7a3d622662db8c85318de48ee8b716f19429fb594990da705ebdf7ef6613dd6bf885c16ad65e9fe6c280386bee976c25dbaff8fbf69baed9510be5eded3f90e0ba4a97e5c81a2189f114670745ab95edda215bd05fdc78929fa0cfe8b01c83f2aec93e3ad1a334fd85aa8794eacf955ae5dacd45b268741fca195c]\n[sha = SHA-256]\n\n# tcId = 1\nct = b47525feffb063be5201aaa1d6846f9f397589b988fa26848afb9bbd9d6b0d0c92cec327332f02bd072d53e479726faff5fb89677c4947d60d5f1d7f3bbf211755975e1851f17f0d88eb970bd14719a9e5b257cde71071915774578e0bead5f7ccd7b476732a47e0d54ef214488d733c689238f6cccd6c8be7145e0dee871fcbb504c93e1efd842b228d67fa3e303a1081e26052c6c11ca85355a2de7f717dc432a90092ff9d3d75301e7f092b3b425354939c43f0879768342242836030822c9bbbbe09d5e938fd070aac9f974c35dd46599766ac6f0f87a036a36e3650f7244a336bee4a9ed1280b8adf57d702844c739354eae88ceabd8e66338e59262ecf51b28f4dfe7bea8449383c27580f81ea06bb4bd031826e6f6ddd0c6a3c7eae23d3d6acd5f6388fd9fa70e66c86d178394953ba4e391629a9a588797e25acf8c130859cb7c9504998cce6dd9e032b1a09aba8b215b03b4343a5c0f2a8253b5543d301bd883e941786371bdad14117fa273296b153bca8ce4581df09fee1bd5e15\nlabel = \nmsg = \nresult = valid\n\n# tcId = 2\nct = 4aae8595883dedea13a1fd656405ae1a94785eb86318e181b747331019087686cb81b259f864c6a524137a316f744c0d092348fe0428e1d9551bd402404342e1df33f7491c381a4f32ae5687bfae07e1c408c3e65720f54c5a168a29df6b7fbc1835fa49ed5a8b42f2acbbdefb3cf58fb6876c2a0a710bdc5c9032018c6b326389b3c32efbd7aefa8dfde0ae7bbd829e6160cef2c8632335006baad32fa7af1fc9fc3ec5ac9c4f7af226e7561cb44338d428d97886d29009989e1d875650c9f3fa8af2a0924f93d00d2cfcaae67e8a89ef34d96afba478a250b7995e7882873bec869541c02ed46b410ab75a214f0ff08ceaed4444080a4ade6baf39aaa9d9ba52487dca33759153345538143d11af5f0ca335a2a3b94e1045da7ff690a4bd454fb788bd7c73b0b16e35ec2766024fd0b7fa44e0ca01fc61e331b1fc8b09f549a946101e2b60c339304a48d044fe231288129d2b70d6b08592288d175183e442b9aa4f5ec6eac0148b6be1f989263d3cf34a7ff265539b8e34c2117b7a1c7616\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 3\nct = 8f71391b8e3a079a51d015e86e0572aca134e5af782000545da1cbbb4cdfaf836542cad19bbc6aca73367dff9cd1e33631260d390b6d83882f82606e28abd2d8aa229ec1d93b4cf16599dfadd2178029360ef5a3bea6a136cd437f59289d334f20e7bae91ecca18b7e4fa5e3613e489ec806a52bc4727333bd7ebd5bcc7568f697d4013d0f6f54caf1baf36791fd21f8ce84643031ffe474901920eb4f592ffa306a979edfd6c287ee5b1fb0005a21d840372c60a649a1702fbc46489211700e8262bb1a2f54fd38da6a07e15850405a277705a66e7088b98bfaee8b2b51992797d5e5712147b756367170b6fde26c3fb5988ee07f916d189a3a18cdc0f3b1affe63538cbc187d4bfdcf5149b4d26bb207a1495d51a2ee1c2415f4a0d6434d50953ff2fe8480d276491ca1468e86c2318e94087e984444b04e7b804cb1f62c66573e82fa6800ac3a42ce0d8e5909f3dfba024a40c51b21b5455836a9244eeba25157e24676e1a317d1af9bf4773913ec3ba6ed1df50d3810eb98bcd290757daa\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 4\nct = 157562f61b512b11b02d1f8299e62f55ffb9c1cb5facb33c75fee79ea8bfb68314d48a7868c05b8c97de4af54e4960868a694a3c302c73195a8acfdc78137231dc960dab44bad191c4bb2b9f8b162a73799ba2083d93c55b425f5857c925f2aea6af19514825fb18724555a5b11ef553889af38c7585c35033d1", + "eb9b71e56ec0a1a1185e4e6e5b7aab351404f0d4a4416023449d84f3bebdf57d5666ffaea80be1958be5d7da7ad2c081aa338203516aba1e11642192aa4024e5fed6119aad7456bf13c2dd561c4ac9ac887eeaf4b53bf15e007b043de9abd6619a6fad5df35a336f744d5034af72a6ceecb9305da973c50615c29b98a8d0afa8c54f5cfe80f8efba51b08cf921cf55c69314523619e753f3056ee704a947c24d12e8817d5312ea5f6d8444da4061d26f18ab660f0eb88019506eda480195395e6e948d42e96c3ac8723f5514d87da3bc47432ab60e93efd8e6100589318f1b85d1c4bd04820be2892a8acca1e3633950b111859c6ee2063cc061a44a737ffaa2c158da806864\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 5\nct = 7c741c6f511fb2eeef9ce3dd89269e991cec00f0ceab514a1780c0ea2e06261259652bbc5e46871780d0c03f933d2a3e4a482ad95bf346f7402509a3234617ff36bd50070e2278e77728ebb27eec2b1573c76ec52a25d921b1a6372ee6200dec65575324588203fc3635948e856cd47a857cbfa8d2fbbd046df850ecb1582d7ecf531f4f6f390b725703a58e82947141179811651588d6b13ea9fa09d138d71afac2b24b82c48ebf0e5dfdfc2a700d93d396c8ed4f78846797dff44535b39d176ec2d0124dd61b29d36a314631aa2a7d25015a06c0e30e2dbb011045115d6d705f06b593a22f3f6921806acb1c8a4460cad9104a78ce9c18e940fdaba39a6451a10a54aedc3cf31ad505fa889ccced290dfae89743722527324ef6131b7ff0880d90ebbf803fd798567ba0e07ecaec6c6ab2b3257688d2c374cc3e48137ff81a66c504a8aed98ff76ff057ae39ac67485b17abe4e16d6fb5b64a5d7c3303137ee286cb6ec53a86511cb224eaf47a59045529ed6049e3bdedf619007eefe4094c\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 6\nct = 76efadf7cc972062cddb8c0eb6789d1422632751dbfd514d3e8a4cfaeb17e07d78244aba11bd078fa4fe3da077f1b6b2a6bb161dffc4d96245b6d24acbddb56a2245146699ef629a069d73ea233dc3994f93bdbc208f6f53d4d74e47cc0ac167ca7912c915842d9113e75da6b2492608412e7fc2a577fd3621a1107c1d1c5e74d3a0aac4cfbf389c88474aa37be31d18fcad2f750c1b176f2c1ff544f5d23fd3e1a3c4507e62d5a2c2e0fb1bb426f860f84c4de0a2ac63f90e3a6e266504389e96b37a16ac03fff70f3bc4488b3ef783bea505911512b7d04abee4ce52b0100727e563f8416e9c6f889e5436b27388cd6d7c4e2ffda6896688f8ce15167e8baff14ce9ab95caee52a5fdc51515fca66b646af8aee83e0aed730bbf2af2a966f330818dc33d4662e4dffd50025cbf77efe6ffb3c6cfa24420f55a418d08b675dd85f7aba3da35cbadd290482af1e7a0c2b7034a41bc28a5e3dc2c47e78fb46ef14dc4674c65f5cacd17e4f542a9b98ec268bc977eb97045f50c714ad7a49c0e84\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 7\nct = 0351794ac968e26863bfa67aa4d602c725b79ca9a4cd907a9e03c7575b975bfd99fa491b5bc3f93e1eac5b48d95090e10a29d9e4edce709c74886ee2d5067bcabab044e239cb4c23e1ffa8a8666fbdc706ecf49225697fb6f1a095e20dcca49090548d9fd0b8533b090823a76ce6c8c8a139a20b3e930a8d2ef8d868fd92c086c06a86c172e40e76f9920a6de6ab2fbff2cbe029b685dbc20da94e84442050b0128200446bf227eca935e1bfa8c89ec3454ea3a82cc792a2512d8513f2ddaf172e35e735ad69a5f892ad0c216e84ea9e92129d8272db269173cbc525e61fdfa5533e2e69a4670ed95f4958c684476c208002667fc7f687260eb54d9cea88bbfeb7b6d7aa640cf0ad0af22ecae17034c762bf832a9e8ef090926c5ad4fe6a15b6e5ef69da001bb7fbc608bc024bcf38e157dbb57974169bdf302ec177e48d15a1d0c919d9b8862cd91d454a96df1c720561928e282b9e922d0d8218d65b74bb740cb7cf7455e97a5e6bba07424382c31c37549d7f29bf7e2e23093ee861dce0ef\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 8\nct = 7a9f4a75375002889bb9c4cafe5f044e2f28997474465251246788e51b0cd5c52c809a69f1ccef4c11723af030fb698a641b98b88b39c152e741b8ee29b13857ec144f200c669010a657441701e929ed7df195669197f46909acc69388128bb75645f270f20df256f0d0c0ed488efcf26c44e4d4e54a8757f6c5bc7008c68b7fec43778743a76a890d383e2983a754095224c56862b4b62e20f112d1bd96f30a3e66a20b01069c0ed9730f9f7de6cb13e2272640ca5cf807e64f44297e3e58ee9331e1f04610694a0d5be7006f96747cf730ff3fc4bf8884b3f9f0cba9c4a8f38a01b225b083d77516d46ade258242b0ea4f367bcdff490e2f127f013808cfeed451aa7c0f64b3156fc968507ec7c80572693d154b924fe18dfea946d52da81a5ad0bfb5fac7010ed5b4f18a0bd1ef400a2804b9ca2b2dd0bb8b8b402952949bba935b674c4863ea4a9e38dd701d23c71e29b4a7c695856db5978b7e3c964ad8fd4decb1cb5eb3f83e8ef0be4e5fefd27f8604b1d6fa06dd4f97110317bb19d9\nlabel = 0000000000000000\nmsg = 313233343030\nresult = valid\n\n# tcId = 9\nct = 1f1ef3e2956c31f6b98fb4141a42fb2b1a14331b5591f40b5f34fb3cff536753eed85f9c54f24c76b29cf7010875b17e2bdadddffe230d411c87718a5f0cdbe6c120ade66b2171949bcf7df65e6c687249c0dedcd358c38aa1b61867e2435c478f46be8853906cc08741a1c092c2fc577a0b8a32c818434575b54bd58e17fcd1a6f910b185df53449fa88a777f1f795a89eee2586c1cacd4d1277333ca2ebbe0430190289665c3efea05871227670fd07250652a1dd2afa6ed9c295ebc68b15a254725dd6006d28aec6b1acdafba69247790ceacedf5eff437d569a71e5564d6ec6c90d295e225fbf525e76b2e466985482927345737eabfa34046ef618494af1c847b1d819f2f99b15c13b8e817d437db38a574f66da845f54895710f1b685cbdd83fbff9835a26de074c5b1712d98d4e036c9720d921739b8f3dc320f1d266ae5b367b92f5e33ae28a7a06f727f2df5437e55c325cb233c801ddf6b12240ccd0b8db8c31a5ca652cd0e33bc1087f4bbd70a0142617903956443f4ccea5cd93\nlabel = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 313233343030\nresult = valid\n\n# tcId = 10\nct = 85186e5bd121796c604ceeaebe2f12fe87f41f502c2622f0ac8599428f556f7ddba82355e65dde44fe1691b7901fcf6ed83fb837c1f7ca549b2565da1a249dc717c245a9c6362c8e831ee4156dfdec6d9e19ee500243edf4419d152c643360e35935d88a0364b28038cbab30d23f6571053be99e0e405538c54a71c4483caa328a8a49b1e9a5ab0172d429b5635fa7cc11f5703bb95536d218bdb4ed555a2b1b71c717bd65e3607dfd7e7cfc1fa7f42e72a5daae3e6bd694a4a6194bce970cf102bafc5573b8de18544080db3e89a753b9245ed9cf7a17282017c8276bfbe737bf0d802a7d2e9a9fb5f373f9760708211f9b7a99d3dce0becfa77c96b1f5fe1c4ae8cb2b4f7c741e90e4bd2fd1b93648252e4576b5670d51e86068497ddf162a80dbc2a16b73e16e3661f31a8f2fdbb66764a70a1cec5e0e247e38f3fe95949a5742b1987280ba9d4afe69cd00fe10feee87b9d0b40a2e94fc042a4a51474d7e162a1e7261b2791f8af2af6978bb87ea1059553af71777fd04fb92c4fecab972\nlabel = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 313233343030\nresult = valid\n\n# tcId = 11\n# Longest valid message size\nct = 6aa169ad089b2cd0c5c0d0742e452c4f1bfe9aa04f4df93eeb38ad6de8cc93da66af9ba589352446b8c3a5797cb0fb8b0b6d6b6fca1f9ae4d508951bf0b526a9433a9b26b5cee4aa943f0d2c0d94c479ef8f99e2bb680aa4bddef38ef607ce2770f4d60629ebfabdd9fc20c6b88c8a02179dce5e9ad9beb90cf75baf5980edbd5b92794bdf9bc58dcc44a13b181179e92fa394152506845188b80aedc2fe559a3bbc289b933fa2cddefe080817f6fb3f1e8f585389ebbef06c3376caa975c07efe683a32e64917566645330dca75480e7ad2eae5b4505b6ad5233e7cf4c3d8677e0350b8e1db4cbfd73344e14f458f49849cd991d3b4fd19061bf25784e17b04230b9a1db1637a7b8c0f4e3bfe00952201c039483551931f84980bf8a633a1bbf4b609ad64ac6d26514c869c1d7b915b223356fbb07fad300cc9a8e6c768927a857c7e9a58b0d784a04e24082a393e65f098ff211dcde8a5155550c18bb22d64d324224d77e150bf424262f17827f13920ec7df259ccfba158766b0b52bf25b9\nlabel = \nmsg = 787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n# tcId = 12\n# first byte of l_hash modified\nct = 5e6a85d2e4ebae323cdf919e12ac8e5028e0bd12501c5c81f2a30daa39a0ce15ed25e705c59edab7e53895e9a4b60b0a0c75f11d984a5cdc45d8f300398868c76c973e5d47f50831cbe994c5c76633574bde9f274bde95f5f4c7a05c7c74f59718e152c182b4dc9f86ec3a677d824ac63d33aa5dfd7d695bc409a3f22d84b4d75effa7c80b64647b1344e948087aecbbfbc607b667611fd7c3f847ce223d0ce6ee131f75eee01cad17131b5de821fa7d6b458cf989e3005ecf6fcd1f6cd022162c2963e05893912cdfa9b06634ae0e040a73284414a9a6d8f8ac2e23b51ddcb108586216bcee3f07c7b1abc84c41b98cede33d5c4ab8f8259aa0c52a4b6cbb754aa21c2b2ebe83962039651c9159ec65da43458f6ff397d9503d41ee102d0456ec58b1b8e28febdba82dc92e5e6941a097c8e406559f8410974fafbb77a9f72b0566bde813306b1a7df7603f731e8982f1730b95f9e541b29eed40fa85978044067650c55ead01240e58c456d9416145b0124170f10675e22d32920e91c11784\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 13\n# last byte of l_hash modified\nct = 61a595dcd055dedd65419ed49aa559d1bab787f1d38ff2b2ca65baae8439bf", + "2a6afa3cd590f450b42962d84919d29f3d9c11a2586be563163b0a16a4f182029568939068003b3cfabe21ff2c6b7864fc2f6dfbe31bcfd32a1cbf3f0333477401f2d469b6ba8a7509d7e832df96bc0dd71e3c0d2979ec479609db9c19d8cbc99682d5ba09a8dab54c1ef4f3257919c3912aee52376bf3dc4ba4de5d9362b6c197779308ecde992bfcdc6ac658aeb01d5112fe592ca8665641d1e09dfef06ceba48ce18cf6b8ca0edb966246f04705574bc72c163ff7b28c149376bf6302acd2dc687667a9df54b4796941ec1aa9ee96e484e34429ee3a48e8a8a0a912569490190656207dd2a933ce212e229314fd51ba3fe505db2d10a0d29b5f54af042b4aaaaf3b548f38837b95d61739a895fdab837efe422db7fc71ae4652ba5319ba383fc459c7d0115c32b1c99df909cc3722e549e3119e0b47061eb96e714522b8b64cd5841967d43cc5f700a197ef0ad5c7c2e064fee98c461690b0fade7ff42e3f11\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 14\n# l_hash changed to all 0\nct = 5c7b1e592ecfb9b230ab893e72c80dd0f762e62227686a1978cfabb3b961c490ee18a68174ef713f4dacddfc392fa0862e55e48cd084199f702507cb1ff8352ad67fa9c128a5d2738382973a65a6302b169a94d977b242ae57edf951c3ec1a368ed5a580ce6755709e722f5a8bc0c6844c53e8f72748f5123ad8773485eaa9a52446bafeb59193b1a95fbe6a8fe876abe6d26c161d8d3b56d5f47cd3b9912e9e3d283ff8d459f99348fd5d81a20bcb4792717b48af6a455333b99aa6b34e9e2f8252be8d51256a30af1209d7c33b55238c72b92fb08f216eb598a99fdc4d660307770a19045fc5e21e2b6e67df5cb3e8a2aa7b7997cf0eeb5324e86a952704beda65502e29b423222bc68184e4e18e3bd1efc4cd0d371eee26f2472184edf302701c0dc869cfd10937ec9d720f0b09c9e663d4e528ed257bf03a6bb7edacf03ea5796c5fccfe6f99cf8ad9b487db1bb228130afbb468d289230366e3890ae1b9561ee44d8fe019eff7ab5a6b2179e142616f9e2dc0c753e570185264253f180c\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 15\n# l_hash changed to all 1\nct = 2595c4281b17918f228519968ca6882fd7abc6de23a3beb223391548f6c856e99d497778dfdd24f4a91a63564e0e059056977ec4f621994ed67135ae72392e35a3b80b21ef4ce5ef01cb72faf38159b78a7e395eef3525872d6fcb7b97124be06ebd9c78110227ba0108e5d681d9415801b70384822cc24f0cae597da0f161077940fdfee3978a420907b0fd66dd64a8f4231cd963a1a36331dba563922675280457ad17d8a9a051f0852f2d0a69044fd501f1e29c4fdf9ad5957e249ef72963d678ebca418f08a73b8c16ce683b146ee731da35a48057ce41b309ef6ed90865e59e3477e23d7bbc8e5da47ca9c890772f7a5523ef181af764a4d05781db1e8a856b09478acd29c273f3bb7b52a7926bfcf43326a6bea8678151ee6235cf8e94696e174552ba644867824d9bdbaffdfe6e82ae8dce01674ac44d636f6ce97e926f1da2fb4bc941fea2592cbcae57769cfebc519c77c1fa9559f3c13fea9a3fc985ccdd02aef5d977b7aee39ee424c8cf4e0f522d5f50e9981e3b58f33713bca6\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 16\n# first byte of ps modified\nct = 2db9c10038f4912d0d2011c0a684a3b918eda30b238660865c3047285390cbf019eb7bb0eb17c1c94f956eae46ec8f6f86b4a800ad7dbbeba616e392ddc7e5cc1bdac3433b57e73b48a27e62c59de1da90a8960f3d7010792af056407060ac39d6c200c89e9e0f10668962bcd13506b58b0447424c0e50b27b3a5e501dd35470681dd6f88a05903f4a9f42e9e4440a998a9ec6c575b0472452fc2f7816fedfbe7b9335cb3d9dc84bf54ed5e8bc89a69aba9ce9507e388fa8ff2ff2af86c6ef6f385c7ca2a18714a3652721c00768d8024207d8ef89b4cbe181e645ae1fc906620a7a9890ccedf3b70a08bd90c4acd3b2213e75ad7a6725eadcb6b7a57bdb5cad2ad599991800ab4f7e8e875a2c722bacb09346853dfcb293f213e4d5612458441fb923615b5bd9ca7b38a1bf2578657858ccf0ab002de62f04c195f3588db29c6ecd74815a48c0d7ba9808750dc2569621878f5cdab99c8ae361fceb0f0440ee4c896cddf709dbe0b3d3a6a643cf98b31e40296174ebe7f9fc25805bd6fe8328\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 17\n# ps terminated by 0xff\nct = 5552caabf0e33c74402cb8d9cc43fbee119055f8e5a9169d8fa3eb5bd2fdf2f9fb72a9d190ba067eb625da0415b9e2127a85aefd9ff61dfdc42a6d252101aaaa3c11703115298c8893737ab8123c675a65f7db661273b936ffd0f3a5cf5dad3d732b749c83705a90d03e1eb1845c4a37fefa7d1c10da277de8437d44d9c448ab38433985a1b9a24697bbae2dfa875cb033e57527fedb17dca5102683c907b82a4aad66345da3031167fcf6a333a9bc4006934409c7141c70ba0bc3915b2a5579a351a8a6d7613fffeb014fecc6dc9937b1311970e71f45968c890521fdc2167b80155619b575019b563601d8fd6c14c261f64b9d5056ab189a9730dc157f69ac75ffcb8cf2fafa06db43ec91f583ec085c6dda8b0dbd48df33e2aa84eb5bbd77b39334d3dae4dc4b63da5132d69c0879639db22f84b29fe9e03b0102c95c339bf85cecbc564091d9168d93e92f1930617687adf56988cb89b69c367632cca798372b89002bec586e92609c021273a1cc4bd596342d6fd7fcf4911b3ccafee359\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 18\n# ps is all zero\nct = 11e958a24a754abf620bfb2c265c568e41ed4e601bd64e1918a4759a84d6cada1c3b704c9b5c24a3be37aeba85e539b33c05ebc685e81be333d599f3fbea364eb63cabf71b57d9cb38ee4bf01ecfe7a0df7f79d390981a7d56ae6be07c5789e42ce50a9bb84e388301e007ff823f95b677d8cc0c0ba7d320f94032369eabd8500acbfbf2040dd68cf6ad2abce9ad3f8e54033c81e3e2e9ed966b56554d4f0a8134e3fd18facd3dd4e0d3e5fe7be2e1121e926f6f7ce9727475c0478a73bd2256d5d0d90c4ea144b5ed91e3984febb2469a858020294c7c561ae2ead0a05f422fa01e7d91f9ddb1e50a4bd6619f841349f5c998554f023b19abb2c5e77cb0bb14c2630158e37b83ffc5a7653d97a42c7d670feb8d19ad2a3a5be3a3911024fc7d797c3f27b84923e6837eb6a24ef4c9a95f437a17d0faee59dc181771cdfc6c989f7cf9004a353e4ba84fdef74871024ebe667e4cff2959830cea4f2ccfe9a83f58388e56090ff9ba7278759508b65d39c4d4e977f0d0ec1280b7317e42b8f05a\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 19\n# ps replaced by 0xff's\nct = 7a6ffb72a3d0219ad9e99ec707c39c37d4aa072c47553c307270b9901c1587669de22819c1116d67f4689fef5453007800c29eeae66a1ba58ef4d08a77f2fc7fe9d6bb3f4105adace30eacd883ff86c0c64c422b9101a997a1497ff145d63f7f129a11237d7189361af0da522ec7ea7ddda2732bee2f2870a590c362063ddd5c4ee4476272abe76ff2c761fa7818d951abd8841d516c816b0c7ba93967f95401359db08c8d5aa4edbf5d535ea42c1ebe316de34ba0e392683ca5c5e6767c186a1e0ba04b7ed39ecccf96ddcec921c192c5545881ab2a84c326304e2ed70d29315746cb8b31bb7d036023684f6fa2cf33d558d194389029329da0802c377675a0f3ea28e497c712c5cb0b754af92060ae722563facc3a40794489765d23c9925302c8c5bb9ab8ef5c05c8a9d8a0907858f51e276671a9c96484165b2463e8bba99b3ab7ba5bf88a787800682b98d204f78dc0e137e1aca622d8a2e2f268e2a23309ba8085536cd0630b561211d6c844ea29224e7cd8f598df9bd91a961ee33544\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 20\n# seed is all 0\nct = 4f2f2db05cb302c4fb4b2eb83bd00e6fe362d4b7fae313de90374190931919727876280139e8d52efceb10003b9b367e13195d83354a30df2e3a06a743671df8761f25620790d1ab32c6ea65b74317e4cedebb725e8558d89ff6d70da36663cb34d8b0183caf9a6766b8436d2d9b0e7bb92c40483cd7cd30a681940699c8d167a4b1a0b2ba2670afeae543d34c60cd758ad7a53b8053be8bcfa471635389503b1146d051e978cd4befec148417f3b4b3cfed96ed78048452bfe88ba9b7ac4cc09ea8be3fbcfef9a818235c98a43e160f25427a5636994066ec1ac19be9fad308eb71015f417c15330083d6726977714841383bab6f44f94ef2b7313f513d3589d67d96f1b4d0887f79e414e77b77c39d5764bd7e5156193821fb80d11f7a0847d68d62e1e092d09fa4f2bb1bb65bcf407ee2d9352b3a84dffa4ec241a850466864a38518e2d5f3b51627dce6e6cf666f5f80b476ed84f96b023a63cd92229feeabdb855de9ad90cbe085190f20e6039b01a41b36f111e8faa8e0ac4578cb4fbc\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 21\n# seed is all 1\nct = 1afed89bb5df115fb1cf52de68fd4b1c895c86a6852a06002519a69c6a983e54d19351f930c227b46a6f3481b09a121bb19aeba02f2abca4b0c5aef15861f0f1d25ee3f6c0cf56eb6b3d10ec5b7640ef409d9897b32c3d3e98da2ac0089968c352838d0bc6a594786ab813c212cb72a1238014d421642839c3634ab14f61d0c775f03d875490354dd902b23752fa3bd39cda588aaedaf31b69d29895cca2bac9db554708224b753eb36c7bf11031fe9ad0462f5054750e7b5616cdfff13467b20025a71bcf4c5e6b31dea741ce589c1cfbf76cd858ee480a69dac7a306308c5d3ec8108a7efb2fae18504e72e263c0a1366103abb70cb1f7a7f01074bdca763c17d7edcbf8d64c9b0a74ef11855abbc4188451183904ef1e9647e512b302ef263123b0e4af885187d8e1eb2f6a1c65daf7b2779be15337c3386a284801cc40358c19a4d9e487896c0bbfc1e56913247e97876487d875d6bd487553552b4faf8eb4b17ddfb55a87f46b202bda0e64e480ef03e057b410b5823216f87e4709bd64\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 22\n# First byte is 1\nct = 3dc25636b9915a15c0b5bc467c0f3834e40ea9df315ad7e60a0f515408382a40f900e8ca2279cc2de6c94500db484692f92a0a62ad1a91be01e55e82ede69c5c188bd624cade6a359524023b3654c4dc6fa2e95a5062a1f4ea04f26343280871eca16ad398ab356784775159cb6d94f45838ec75c810de14ffaddfcc76d5cda931f6bb0285f812d5bdc15c77af50ae6b10438019e0207a4e8f95982651de5b251702f3778f4c92da002250cbf9e9f6cf57b8736b3b5596e6afc06076460e948f87", + "b64b008545a1a8f71f6918b4d944b6c9a777a1119eb1ff63cace54492b7fc7c57e55d7306d06df5056275fd1c61845cc2981cdf71a8f6ac8bf58036845a6100b3db63d6453b22f44e9dbd85a417e10a8c033cea38f7f3d1f0fae1af30f609d97d8379542dd1a3ad593c2dd00b79badcc9824f2a0946991b01382b205050f68926efef723a10acec37788969ed56ad9c2113a4167b69defe05f02ca56bf93fccf8278dcf160b8e01bdcb4460013bae15219e16c64464cb15e2b94e32c909cb8\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 23\n# m is 0\nct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 24\n# m is 1\nct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 25\n# m is n-1\nct = c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b1202\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 26\n# added n to c\nct = dc73866f40b72d4dd67fa7484655a0aa1bc3569c7cb25222b6386e8e4adbdb3830ada800cbba3b063cc173d930c5e465b0746fe5e46093c956cf84fb058897e8cf3244d5850bd604e4c27e19ee03ad6e40daea9ae5a1cec36ca0fde49c6cf42de296f1527b758df1a460057aec70b54e4862465c4233ce6f140dc69b1027fb8262b90a0ae523599ea3f7526871ed0ea85d7c6d30bea21482b2583266845a82b113b99933f5032da3089f58073449a6e7631c296d49aa1d4b5ecced0da19775cf70bef05447f1b56535135d28b2af6b31d901729c05521826176a5bcd04990882d17758bbfed52ab5697ab85c61473ec8796b772856e4b68365e1ff5749a3f6be0a4e1691e8d43143cecfd79291344eadd09b9aba3a12ffe9cc68806d55dc24cfbe09c6704bcbc5502ac6c3537ff0db6222889e97b101796872754a2d24153c3dea6fd521dcdfe5b5f083a3417eaaf7b6c006b6b487497471ee8c86787e8db92a39e4506accfbf9b02fee81a8f3e9cac67cbd2f0862aaf8671557b705369b7a67\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 27\n# ciphertext is empty\nct = \nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 28\n# prepended bytes to ciphertext\nct = 0000157562f61b512b11b02d1f8299e62f55ffb9c1cb5facb33c75fee79ea8bfb68314d48a7868c05b8c97de4af54e4960868a694a3c302c73195a8acfdc78137231dc960dab44bad191c4bb2b9f8b162a73799ba2083d93c55b425f5857c925f2aea6af19514825fb18724555a5b11ef553889af38c7585c35033d1eb9b71e56ec0a1a1185e4e6e5b7aab351404f0d4a4416023449d84f3bebdf57d5666ffaea80be1958be5d7da7ad2c081aa338203516aba1e11642192aa4024e5fed6119aad7456bf13c2dd561c4ac9ac887eeaf4b53bf15e007b043de9abd6619a6fad5df35a336f744d5034af72a6ceecb9305da973c50615c29b98a8d0afa8c54f5cfe80f8efba51b08cf921cf55c69314523619e753f3056ee704a947c24d12e8817d5312ea5f6d8444da4061d26f18ab660f0eb88019506eda480195395e6e948d42e96c3ac8723f5514d87da3bc47432ab60e93efd8e6100589318f1b85d1c4bd04820be2892a8acca1e3633950b111859c6ee2063cc061a44a737ffaa2c158da806864\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 29\n# appended bytes to ciphertext\nct = 157562f61b512b11b02d1f8299e62f55ffb9c1cb5facb33c75fee79ea8bfb68314d48a7868c05b8c97de4af54e4960868a694a3c302c73195a8acfdc78137231dc960dab44bad191c4bb2b9f8b162a73799ba2083d93c55b425f5857c925f2aea6af19514825fb18724555a5b11ef553889af38c7585c35033d1eb9b71e56ec0a1a1185e4e6e5b7aab351404f0d4a4416023449d84f3bebdf57d5666ffaea80be1958be5d7da7ad2c081aa338203516aba1e11642192aa4024e5fed6119aad7456bf13c2dd561c4ac9ac887eeaf4b53bf15e007b043de9abd6619a6fad5df35a336f744d5034af72a6ceecb9305da973c50615c29b98a8d0afa8c54f5cfe80f8efba51b08cf921cf55c69314523619e753f3056ee704a947c24d12e8817d5312ea5f6d8444da4061d26f18ab660f0eb88019506eda480195395e6e948d42e96c3ac8723f5514d87da3bc47432ab60e93efd8e6100589318f1b85d1c4bd04820be2892a8acca1e3633950b111859c6ee2063cc061a44a737ffaa2c158da8068640000\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 30\n# truncated ciphertext\nct = 7562f61b512b11b02d1f8299e62f55ffb9c1cb5facb33c75fee79ea8bfb68314d48a7868c05b8c97de4af54e4960868a694a3c302c73195a8acfdc78137231dc960dab44bad191c4bb2b9f8b162a73799ba2083d93c55b425f5857c925f2aea6af19514825fb18724555a5b11ef553889af38c7585c35033d1eb9b71e56ec0a1a1185e4e6e5b7aab351404f0d4a4416023449d84f3bebdf57d5666ffaea80be1958be5d7da7ad2c081aa338203516aba1e11642192aa4024e5fed6119aad7456bf13c2dd561c4ac9ac887eeaf4b53bf15e007b043de9abd6619a6fad5df35a336f744d5034af72a6ceecb9305da973c50615c29b98a8d0afa8c54f5cfe80f8efba51b08cf921cf55c69314523619e753f3056ee704a947c24d12e8817d5312ea5f6d8444da4061d26f18ab660f0eb88019506eda480195395e6e948d42e96c3ac8723f5514d87da3bc47432ab60e93efd8e6100589318f1b85d1c4bd04820be2892a8acca1e3633950b111859c6ee2063cc061a44a737ffaa2c158da806864\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 31\n# em represents a small integer\nct = 8390361b70122cf45d2cdd8c575a7e81a81ef3cc4b54f591ecb3d817212701a0b53df39301b88b041a317e6c01d58085a7a52a7f5e6c18975918b5a9b6166baa57ec8be83cc19f8c40c087d2d7128f9f45643be5e1fcdeb7d733bf3bd1b6e850b676f32cc804534e29b2c1f1fd50eb94d3ca585d584f854e2dbad003aba313c12aa86105a9e53ba2da03e8df687f3f1932554175756a48f2f13f3fa63e255bd0f86b2e9d3bf680017ffda3b94ac1ae12dbb5b7e03e0f022f53ce1fe8e6708ad61b30bb9513b76224b9ee689c69636224e613aec7dd6386fb8fc7772e336ce101360764dfb8f762b86719976571e560521ca776efa90282705129e3d30cb0f4f04ccb3bdfd1dacce9813d1a589da6ac9a39099495853e346f5733b830a72a1dec9f74214b5ff93f7a8e68874fe90f7c7e02dfa2afb96dfe5018fb6d6c3a4705be77f901282ae50d911e381213495f44fff40a823e618ae7d248039b6ec7e13c78819c3222a2fef30fc389ea017f4e98f0783722ef626ad4c876af3a45f5f8fd2f\nlabel = 904f95a1a204aee8987400c5d30ca79d72fbe988321fcf55dfcd0f07e763a9d400000000\nmsg = 119f6f2b7ee1c7fe0d5c2eb8d68566d8cfcfa3e9bcb1351737f23ae3472fe909dac0d4cd2b34ca643e3eda5343b07d47138a25489169897ba8772a74cbdcbca5dc4c7ffb707d57e86db83dbea8bff77172aafd113d5445618e36f7b9e50a1e9e0eb1f0809528323b45195b16666f5c22e8365945918e81e29aec72811adfe006c45e968e96c605e247163ea93dd434017b482b88187e06d021b1fdf4c985142f471e08d8a2398d54a6ddc6ceca63c430d3f67e825e61cd841b9a5d157b265ec2e5b789ba4b3844bb4ca168ec70fc2afafd9dac34d967400e982ab175d0d82a5007905a83115a181d4ee569c223bb9c2f9e1499f2798658aa8ee0488046b6915db383b001dc693da904cc4e330a9937914a8e0c2309b07be783d0e56a045a195b124f54016ba1c3ae760c2606a90f32760e303343c1b0729da9d1ed18fb16\nresult = valid\nflags = Constructed\n\n# tcId = 32\n# em represents a s", + "mall integer\nct = a5adc9089becdf7dfdc75a59cda6125b66cd9680c5689e6266887a4a73880b492e9fa277f1839994438962e946cac0da338b98a8affce9765feaf004bbce10a3c85faaf2a0a1daf931d273590c896dc847ecab8b923005e89613784536ff40fd58e193d1a4a179383e4fde0b914b1537bbffb23f311f7abf9c0de7ebf412451b7e8683389bf9f80bf6f3f564ed44682d5712d434f5a8623ea6918af69748b5d5d26d2c1b89dc6ec5262cfc327ab7f3cc1524c36991e28bddc59adcdcc69fcbf32d19db045753ed85ea0700afe3915bd95467456c967a1b1bed39d7b3cda9f103794eb26479894a83066ecb00e23ba424897132407b50f3d25fb2e9649f1afe244c5d4fabcbb53c2d214febc978a3495e0cce53fc9fb61aed4f7f6e42152a6cce5ff9d5984e4de9c7b757c6f9ef5edd7f5a20450bfef586996b009cd07f8377b240ae859b1e4518413d9a79b6111000ecd1312157f4ad3a35a0386eb1f9bd15193ad9e00cb0d63bbc5e279add877eeda0ad66ce845d8acbf33f69b5d8b16ba8f0\nlabel = aa66934039f2adcbc6de2b9cc1b00b11bf33a72ca8dbae5e7a8af45446ec682900000000\nmsg = 2a0e8d66a82662bc1db11a99703df46431f00f815f55520c16be0efcc67e8757ffd4596e232ea9a09a9c96c66b73ccc94da587d0eba7bbd35834c6ba2803a21b5e9a70aa8c37e391f6bed5ffa250276c19719dfc01d8f693d5760ad1af4eed07387a5e6cbdc69584f6058c04bbf0f3f32ebbeccc2d2bd395e4debc53f44a7eb184111fe6ca944865c9978f969712e1f777c3c2fd4286b705e40d56f7b424c315fb5b181bfb14b53dff5687e9c122fee7b3569444f76dd158cf3925b6a3640f5e573c0e5b420287396d85db8b3eb4e42336eeb55bb04e0972d6fa2172391bd954069c8aefce760813961d360f1a34d052e90f9b2b8f71e8c63b7a1fd2add9b04046148d2d8308f8517ed8010f8b23a56982a77ac8cc7f68da4c8e3617933bcad802044e176612450f2c2f5e399275e3877102deb58418e2b51dd2cb0da857\nresult = valid\nflags = Constructed\n\n# tcId = 33\n# em represents a small integer\nct = 8da7f29a7b3fefb253514a166eae3b4a8cf5a1eb746e9c6e3c0bb84c81047546a77815a6d527c3ec81c23761be29ce1e44df62dd3e6f5f04b91541d6f4b3591d9b8d9d701d92c6080842305e73c7be4ce52f3462c3676aba2b88d70cb82cb28a9052f0315449a7dfce72089e5a2508d99c54346bd2289a54517136239152bddec1181dd09406f5bc2b1fd9f637d3fdd8b2efee4136b1e8b8ac2aa5883343f56d74280a0458258a7fd7ffc3277c79adbbd96a928664853c2b3964b139071dcd56ad6bb3cb4921a3fbb2b90aacfd932b5d5c5521088dc02a453c719a22a0cf7e925264e8d3252d4c05f326f9bff175937ff2c3b5f3ba29d18a37e9d962274a99bbb5afb7431f68f50771d099288f3c4fff9b07dfa656bd8bd1d309ffcb8f1541e747ce920ca2d6b7582aa81838b379f4dc4ee23ea768e16d42784f97f0f670cb1424195ad8bb382faea3e5017ed8643065d6bbaf54999b08734097e7e34b3203d2c7ddc42073e15ed178e7893198028a58695f9c58f74a7def45eba8bf7ede23f6\nlabel = d586a88b3b492bfc530bd701d28172d67359ccda042cedca29f17a6152f01d4300000000\nmsg = 8d708fb7bb840034728ef72ec2bd7f10b95e37c272a385129d58f003364fcf454528e290bcb872d51306812bca9ae146edd97f2d56c4483bf39b073b43b44e38b55b35c7c35946c59ad9d513af40dc6d65e0edc2017091d4b762d7698c5b632708028d4b94b2e59489bdd2140aa173aa8529134e4ca51f7b3a038521ce76eaba81dff111922fdcfd13b75dc6a8aba0c56867c4621c740fe412f5a4146076e2c1c3132012e7fb48559ed4f39874e6d00479e5a19b20f8f3e247b91c083a2ea603b2a75ab0564d62c2568de416082d9a0c1384742839baef2401f63dde8e0169446cde0beaa9fc0f92ad4d8816fa0b9b06a3e394d9a0466b9bbd13b3c9b832b18df1537f3a79c941ecd567880d99ca9031690e619674e8cf67dbff8ff7d650c03f49f8f0fb2fba43b76e6116fa9ad33abf71a232614cfe1a2e99d2fc6d9311\nresult = valid\nflags = Constructed\n\n# tcId = 34\n# em has low hamming weight\nct = a42d715c584bcc5589631f73e7ba3e0ee68d590626f76526b15c0e6defbd3a0c0e0504dc90157ece3c12317cf898a3d753787807892d2d67476ca7400022f0b3fb923b0add8a519027875778cea6537ba5a1c6ec5ee73d60e6fe998b97c18333ba711776d617198f38d97e7b56e260637efef5b68432394ba6e4520a33ebd7785fb05b212973664492a271ea666e76e5e15c9304a291b2a3800a2e0918a293aaf69cd280db9333493a261386a8fd602cd072bd9a16d242da982c33b6f70d475ffe8702ab82471831496584a4a3b6710aad7e4019dfebc6ec2f3e3128ee19325de5522d64000816e98be981ec2755be99c4d340413a08f2f8c888452887ab8e9e293297391fc9473c216d4a48256c3c1b8c7a142be547fd383de8ab7c2ce4fa5d4a0c034e1098ec5fc4066ae6b70fb24538432f67b8b188be691d94541522e78fc6cf46e3480ea6188598f8e73d08593d8b17e4fa28f470f72a1ca8ed92c7a9fe7abe2d02d7c13917c93a37dfb2d631942ab003c84c2216135bf8e2c014e96d48\nlabel = 01ca475244e50d16a353682007326d0ef4568cdb1e388a8d164ac114e459ae3000000000\nmsg = e00ac921d4554304c4d4c75a656ec3ec388c3c22e9837409cdba079cdd80fa3d215a6ee2db42947c7c4cec3d31f3f80bb64662df47bb9640eadf73d64054e3808b7c847e551fd91bf8d15baa9e33e37b688d48432deaf1855821721d903f8c69d7f6735d6d57d98eb8510cf6ee31801946f6aeffbc37d545028c0d5bbac890e91142f630a634c8b54ecb1eb9639c9e69d5c8a6a8c320b762e341948cf4e8cb9ff0da3024368e4ca87b838ee293fa8e209f8b993fd6a1048db31d149f47b150a1484c14f3c218baa1fe9a17fe74acb1f00050fa7642bc6ddc6574004dbf83001140cff15b3fb32d221c8bb21d9352e3356780e87b0df0b03b1cbb6b257150c70f19e43ab09c5a511c3b3a7c4ce192e718faac1bc6bcd6c6d5958b129076e1e0b3aaef5b38a1f82ccc0b8479aa41ab316d0b3c22de19004e06ea50413b0582\nresult = valid\nflags = Constructed\n\n# tcId = 35\n# em has low hamming weight\nct = 51ac53ba60a571b3257507f19d07646d340d8ed75ddac57f0633ce8f2ff5e3d86d94ede08c2e18a5070f954709ccc044625592249fd797f98a62190a6a65e0c6f8621c89af542ef7bea7c4efc0495abcc4554a22a77c9df7d6173fda1f25d3e33cf0f4d64989e9536570514040611dd78a07bf98f76a642d7bb359b151e99a5b0bf5f245ba896602f01550818215f48d020b8d521d63b611201492b22d6a212ca5bbccf3e475f045e3afb0f976fef14bb91b45e2e2927dbbf2bfd1fb94ff7fb165d5c000eaf09421df56691ba70bbeb98d660c7598cc58206c57a37bd9e8e111582f5274dfce29c934d156656e15ed0fbb61c0b4a733324cb3e6abc95d75b0bdbef8b617e0eb18350549dedd8692f18fe6e2196af679d4ddf4b040efb92d2fd0ccd60db025c402616e0f3ec8259e7b1667501dda86a41e15fb3bc259d6aad4553923bf563933940f1679106b9bde4b73a86a502f1e5afb6a8190dd4b03cad65690dd51afe3e4cf11deca11bd2f28a759c94624ed6b26fe3d89da93eba095b56d\nlabel = 9bb39276df720a4c92ca64f2e89a3c144fb2dcb3f8b13d74df5f24a76945812f00000000\nmsg = debedafca5e356c5375f0abf71f8c6ceb3879a1d9a0a5d5a750f2310e899a70f1cc833bad9e4204d883ac3c6238939f044a3df5641bc1ea2db48995850ac642ff1735062f441dde9376e61a3c7d2ad1eacf4af26c25e29bf3c1c27d3ee76bf992cde316973f88ee7c940beff156794d0729561a24e35e144f7da7a87664e423d6f040f915d996323d091901968e910ae6e206b586f084b5da695c1a1aa0784a7efaf92ce453d3c57f05c8fdb1ca7b2fdc0c4dbf463d5d8f4f62f19281221eb386ad292d26deb871d968d0b42073e1687cb3413f07702b47307a7c83df1a6654b0d92f55aad337d5e7cd58a7c7645df931ade6aea398e91f148392eb6032827cc2543847140b19bcdaeeaeabdf7ff22079aa822948088e7cec45c953ef1e13139f3652464cedcb9127b38b600f3e50b914c2661cb3c7196cbb9b7a4fa17a5\nresult = valid\nflags = Constructed\n\n", +}; +static const size_t kLen131 = 30190; + +static const char *kData131[] = { + "# Imported from Wycheproof's rsa_oaep_3072_sha512_mgf1sha1_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSAES-OAEP\n# Generator version: 0.8r12\n\n[d = 009a389207c44f45ecd4b2ac716d728ef622e8e237171bc3e12f848e1743b73159a7731fc73bc8011bd8bb24855acda63ae8327dd60043e6ca86d3ea10f2dcb863f1fe20ba98246f324885198d642cab314c087b26fb115c0ba7dfffb222c3894f6577fb60bd07384dd4e71fee050408c9120a884f63ccb0901ea3e2ebd9da67c7cf54e7aa1adba1b146a9372f426e4d0f2fa4bbe070bcccc28a498fc711af83996362703b0433851ca516316da0758fbdac209eb63eddd91f6b3a24e87fbfa1d2ab8f8a95d1c143bb643d9ed2cad7778ed1bb41277f07a2ae4d5e01b263f905a1457fd1f7689c85694bc8a7f2181752a606b4e3ea5b59e1f85e993c8f8c528cdd0f9f09c65a53edfee6354be565d594060cbe594faf46d82a17056c8eaa59ccb0f0bb33114b9c2c029a6e0e7ee9325f03592ac0067feb660d99f8bdb6d25ba1ebc480ce770c367949668bdd2e3032d04968b5293c080dc41f2b69607c157e71c62570481a93e340a7a5be1629d91334533e41eae79befa422cd5ff4d838ec2181]\n[e = 010001]\n[keysize = 3072]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00fae12363cc51e266de7d74b989085f10fc08f44363fab4ea7fcc56101d116616c43de313b70569cb27de134ecf35fcbcc448a81082678ee1ae427c48f459ab2c42c9085911a3d81c914f047ba46ef1a52a4983eba1113bdf0ee95e85cd23224cf832fe3e916d3bffa6ddcfee0926938b2c51c8904bec4739afc4f07979cbeabd514be5a2b87abec71c7a2b39c736d776442ea9e95e97ddfcad4c4c3b41fe856f81cce539b5057abfc6fb1aa153316ea4f8e76b8dc8804ee10303fc2dc182f7ce5d907e78729679333b3b012574b4c7c613c020ce1388ad37ffc0f6b2330cc5edf7ce9ba80eb984b6da2ac59aabaa3a29172ed2937920f47c17447e6185119b9b38a9935658997b487735a8184caff10a8f555d034552fd57471b293f813f19aa6c2139877992436fd1949ebe2259528c91716414aa72ff90bb5142d2fd5e7ba12d8df1ac995408e7fb645a9ab7b6f695e4050500a9042253833b055182657915246589f8362203b5517b2f7117d2aca015fce3cc41c6b1bcb2e672db142d5245]\n[privateKeyPkcs8 = 308206ff020100300d06092a864886f70d0101010500048206e9308206e50201000282018100fae12363cc51e266de7d74b989085f10fc08f44363fab4ea7fcc56101d116616c43de313b70569cb27de134ecf35fcbcc448a81082678ee1ae427c48f459ab2c42c9085911a3d81c914f047ba46ef1a52a4983eba1113bdf0ee95e85cd23224cf832fe3e916d3bffa6ddcfee0926938b2c51c8904bec4739afc4f07979cbeabd514be5a2b87abec71c7a2b39c736d776442ea9e95e97ddfcad4c4c3b41fe856f81cce539b5057abfc6fb1aa153316ea4f8e76b8dc8804ee10303fc2dc182f7ce5d907e78729679333b3b012574b4c7c613c020ce1388ad37ffc0f6b2330cc5edf7ce9ba80eb984b6da2ac59aabaa3a29172ed2937920f47c17447e6185119b9b38a9935658997b487735a8184caff10a8f555d034552fd57471b293f813f19aa6c2139877992436fd1949ebe2259528c91716414aa72ff90bb5142d2fd5e7ba12d8df1ac995408e7fb645a9ab7b6f695e4050500a9042253833b055182657915246589f8362203b5517b2f7117d2aca015fce3cc41c6b1bcb2e672db142d5245020301000102820181009a389207c44f45ecd4b2ac716d728ef622e8e237171bc3e12f848e1743b73159a7731fc73bc8011bd8bb24855acda63ae8327dd60043e6ca86d3ea10f2dcb863f1fe20ba98246f324885198d642cab314c087b26fb115c0ba7dfffb222c3894f6577fb60bd07384dd4e71fee050408c9120a884f63ccb0901ea3e2ebd9da67c7cf54e7aa1adba1b146a9372f426e4d0f2fa4bbe070bcccc28a498fc711af83996362703b0433851ca516316da0758fbdac209eb63eddd91f6b3a24e87fbfa1d2ab8f8a95d1c143bb643d9ed2cad7778ed1bb41277f07a2ae4d5e01b263f905a1457fd1f7689c85694bc8a7f2181752a606b4e3ea5b59e1f85e993c8f8c528cdd0f9f09c65a53edfee6354be565d594060cbe594faf46d82a17056c8eaa59ccb0f0bb33114b9c2c029a6e0e7ee9325f03592ac0067feb660d99f8bdb6d25ba1ebc480ce770c367949668bdd2e3032d04968b5293c080dc41f2b69607c157e71c62570481a93e340a7a5be1629d91334533e41eae79befa422cd5ff4d838ec21810281c100fd9e30b6bcb1674ead266332e2af25c56b2869b4d822d247e6f5b35cb0f3c573b5efc39e4b5de760489b82536d6cf3eda1bf60e5e43f69f26ac8e45b056d702f0361dbb4a73f42ae5889a849657a841d866b8b4417286ca9b39f854c4d95e3719b6cf367fc7128088a365f3e322c1fff16bc68bbfeb69c5b2a9a677dca6d494de44ad057135e65ae5a5f83c59a0d1477e5175acf716cdcb2966fb75145dad1554a112c466d249ba894caae5e182c65f1753fe5bb583ef962d1574d9be20bf6a10281c100fd3c5d0967b74bc6fb54ef961a6aeea76a59cad1600e3c73f834e5f5b7b5096f7779c62b07f783739341ad5de095e0209f2f2f30b8dd503da8a271f4b35d93cbda013b515f573501ab80dbc7d9fa9dc98da4451e00e0032f53583c818c2645cab8f35619e7c27928648cbcc3af39f30e0a61259ba2499ba96b2ed7b9edb881d442466c07f362ad11a2a9bb3f67548a5e24c246fc6c438d32de9ecfd18b609ce12fccca90bfa4c3ef63cfe3a349611e590e44a53242dbdbbe0937f2ecd81c8d250281c100a975dfbada4df7673c8edfcd8a65d96915f6c4dacf6844f5423f7dff3b4546f3cfe74ae0241fb4904333955b454c7d98947119bfc24914f3a3a263e2e5b7803409a0837b2c1d3ae2dfc9eb264fa6134cdf1a50cdc8637c67cfdb90e7b117ac07a7009f8b25c43e29a6a039f786f2b0d6734ca4f6a8753ff83279451969fea7f261ce13737b3fa1d564115a2cd88850dae3ba3d354ae6a078bbc81dc73253c977a1abe3d792e9d910458b40032347d73e054812aaa186428062bc60e0fda35cc10281c0098b4ade5de054a4cd38284779fb69bf398ce4cdfb56ce0478e8557a6b501168f811c8dc3a52a3cba953225b956950a72a18b72898ef0e652483ead3942704b8fc206bc1e75bfc0d720f4b393f07e9067da6214cbe2fb32f076f1de8ac058d3fd4b4a71c16d60786f43331b2165a92c486b39e9d3d0295314f6ed68695650ccf9927da4e7a67cfaa087d69273c97bd174b3f5f3988430b814d4ea2fa7ccc495d5b55d6949a0475b6020705c753aeab5c23e3866e5c82b8c772c57f0c5a20c9590281c100a2775a3e38c279cc6633f91e528ba76d14750e36b7d43883b1c8bc89eaaf2878c3b6ea9b87140d6938eaf938d1f010656899717be3e0de04437e1da539c6acf3db3956bd49ad71b747778217e2dc67ca0800726a7ab9624e41f10e578719850ed7684db03b7010e86c197eb79f7f68c3022403fcce14d8cf9df186b0a2b97cc120e2b4a729aa5877089240a18fab397962198fc846cf9a10eedcdb7cced6091c61e8b1c621df270cab19e5795485a4b74cdc3e24028bfbbf0eb1fa2ed4531cd0]\n[sha = SHA-512]\n\n# tcId = 1\nct = f9798ff0c606b0ff80a1042cd429d55bcad69856a0361640456261d29a98d2e42cc9618a08044fa29eb116d16f67212cafea3410c7c839a67519cfb5ca1def83ad3fdcc5488984ccbdfb2726371e1c2ca157357b881d873a7489004698ba21d697349968968a0189bd56ba4761b0e6feb4feeafcf4ebb5dd95fec7cb0a3cd23214356fbfdf93f17668196c354f7331a27bf12e8e9193e5c6c79e445160e0f28304be532b3157b50eac999cd162791c7bf446aff800686ca5d14a272a01dbfc6511472c18aa62d22b6af90a6335fec530aeaee8403cc8a07d9c2df2e9ea0e8c0cf83b82cde0488eabb8e7c8d18fcdcd62e680c6835955fdd7fa30c689b6b39805f317bb00e8dbe21907ee92f784c930acff37d70f8a7a838c7230e77d24ca45a5650726c2d1e3e7470d4247ee9f0a1bb8895dc2359cbde3b52785e4c05536759ae0c83555ef30f97482fe18f00527c7f0b37289c31c5621e3c7895abcb455277293e277c450bbb972fd63c533741d9a931be06163e166a4c6b139260e5909f01f\nlabel = \nmsg = \nresult = valid\n\n# tcId = 2\nct = 93c78c91f4245a3475669a0683430aa59900c789474ec8f95321c46252e440209469e541778dc362b2ce9d5a6c822892b5e3754fe40038d5523d76e13ee07d3ae941963ba947b2fbb07c687a18521181f857d134a3286c073abd024691a0b7b85460a1872b5e33cb297e6630af2acc82c8fc61b96b8e7795f7e6bc8581d196dff9e3752fa88b08cba6bd67ca563043bc5296b6c26d526e34b0683b921739dabed3986c9b36b354ea17dfda86b78cbe5f0d4646cf102fea80da86c45b5dcbea40b44807935620e382aa17c6ea148d9b5e655793f7e6b6088ce719b08ccc6b5dde7bc3424f1c4d61f3a282bfee3d6f30480ec23a0b6c0712e9fb2ff799fc79459d1e2dfe8e7e87404894bb0a31260c1086c577cbe703a54eb9e750488529076c2dbd6f6b34dcf39e843f0ff279d0beab2e6709148b8562ae172bcbe0e562125cd6ed7f5d3a055c320bbc3c8b4bd28f7f9ce1fb402ff265e6d311e82adea22332d1b6d2b920313882ce3ba836d17e1176bf001afdceb1ca006c8a18f574bdc635c0\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 3\nct = 2679e7a6a3aa29ea006f84456c5cb6b33dfc0a7d1a86cf711f001b442fdcd788b01cdfee7d6e3d63ff3c30b2a67515e7d1d609e6ed4e22087d5857d7fca0d0b8f5dc41790d2913033971f85ee7d789de23ccee294493dd4484eb79e400799b24d6830ae8290343ed50d123ae840c6e4aa819badbbcd513341fd19654391085b0682d8f32c9706eaf8e2a0fa09420e861dcf8ca0867ae2f4b333031cf8fea956e3d67b67c40d97847cff086033cb83b95f33267c69d771407ecf5caa28fadb976db3855f39ba0710498271c86649604db35b141c8b9ae343bc4bc62b43d5c662b424a8e766eafdc22b41686d96d26d65cc28a221e15f53a1ce82ce664a2d5dc602bf0c9e488781fbc0ed679c9b225258a5582f15be48ba4a7a3d541a7433af5f40de0f04c04544962ba318179d2ecc8f4965d306bc56e2b6ee7f9705ad1501c218c31bc2f277c62029626fbf631f46964403d8037f4f6c8349ee8d9906274ede7d6b78ba30a3e0473a2621bc86dc31ba89561d82c5559982ff188ffcde9f81729\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 4\nct = 5120b9815296215e7ee89f5a20a46dee6f255f7d96d399c8cbf5721f9f9c4d89a8ee37e2a6bbd6acd4878404856143960be4a77bd8f6afe6b255f15bb8bcdbe3395f800df64c2d2b55aa7cc3c15c3d753562359a14433abd29106a0d1416cac5fea97732828a198c04d09ed6b47c12365de2a98eeddac3", + "46fe879d39a1a28bc19e2ec570b94681f7bed871311edda5c8fd76cc14b15983046da8cdf1e15c465e4a9df0fda11ded950ffe5e67a3d07e56f902c7535331c08720493d6ef4b1760c6489e0af7d1b97229c4380167fd68f6ee30de2d61859ec55b5f0106ea0f675fed7c9f660520981dc201cf16a6fa87379d2c667f9c8fae97fa337c34d591f18b092f534be25db157e6696b1c85fbd896971f2c045d08be1470b403f2effe6d82fcd1b9baa9ba2c0ab0d25ca9cb2aa26f2c4d5ca3699cae3b61ee6eaf98d44610c8204e4298a01886e9cd21030058b29462f3d73018043466fe45307d2382b8b828fbad34f77c1915514a9ca9e0bcfefd3c0c7daaf02db684454c18b109a7a056f\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 5\nct = 290186a1a87bdde5c2ce70e17605b39b4fa2a286fd85c299a303d56207ddd0557ad5513a7f92ce1a39d8cd571c9c638c279d722583e17ae488d9d3ddad55d837a43845a84f3e774d8679d09b13bf218d11d8a2173cad0c5fc7b86e477dc372f215bc5641a13e931170c6401447836530b065f574f3376b99d4e0200053b92b1fe1c8f513d2d8ddc3ed210062e601d4750c5bb9a63e051098f159ecf8c40f90e6f0265b357585aaf35c32dde08e565bc6687319bd7c637b7e1a012408224865b9334083460aa39c12565c5bbf03a316a6ca5c174d6edee3391bab9773190bccc4bf737ad0f350e629d2eff4cd1611d510a7cf9c11dca1c86b8dcedc8f9b80fcff7a828c9b415f4699b2a1de2bebbb804e0203a1a04ddb95afdc4bcc6d98d240ba71ca2918f21696ec92abea1a9e16607e86f40f7de08c9013485d9f8121d9f9c0675980275519dcd2e705dad4d87009f0fb8f6c413b97c131766620ab583c82dc1ac489bade156b8e502335365bc4a8d7d8adebcc32bad71e6b949a48118dcdea\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 6\nct = 13ad5b087b5a11595dcf44902ca1011fffd32efe6b77be307b3dddd1b528f33e7ea3f36e09873da3909c7f44fe9ecd17adae5b40cddf0efe84fd401df7fed988963d555c24bc5a55e8bc40deb8061fcb59183836c1b1342d66cfc74f6404b67a4f50d9dab04223c18805c0a577b964997e5aca7016daf2c4273ca773bcde39470fe7eb5ec4541650c7687a378d00008bfe8a3a4627cf1efe29e7c81b8a12cc8afb745a86567f5141d16d1b848514acbbb52ced7ceb7381e7cf0261991761d411e6b16f2606050b24ee918cbd17f6c3ff949ed2dc7fa6e99b21436d35729b241f4a346c9c92a60d57c40f39fd299b2bff2f97e196aead3f954135b473267b27ff76bdb451c23b49d9477aeeadfe45a08852caf353d92f0e47feb7cbed5e49a89f42e2a755db0d5efe9dc330c3a71f331110db4a9fa3db914535050a96b0671c2a15b2e9a3ff3f1212526e2391e3edb1bbded4de0c3cc677263f2ded3a9506bdbbbd5fb3f15efda88d954063fd70f6642a5a28295fbf96a4e0cddbeef97a2b841e\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 7\nct = f4b9ec8148f2d6757e6a6c9c32d5928e0efd5ba4d9635d60d9b481ee84631c6b019b4a04d1e15d5b3911aa5c5e9c46d564e707e64149cea901a88781512ba96a3a53694d5ed7ed7f8fc7885e384daa32dcd4c5228ea33e6266bec630ddda028c013288ff16671dbc5147b28e26b73585beda7e572bae5e30a2a9b123fb12b711a4f64f4aab9b6531fe691098d38c27389a8e99b44ff5d39b0ebeee5930313422c918681be11fb722230759c5b69f03c6a07956bf406d53f8d55729373931dfb19e01dea1b9e5203955712ec5463772b38097c075d8887bcf437c44b1f3041f2e84a60387e5565feadf19b528e77fd009bd13d248a0354e701a09a63bad83b30b4c64fbeaabfe23edc45e8405ee8a9496cb863e0b12a21848023ab41bf5d24f39b35fefdd1c27702dc3fd3ec31a3643ff7cf03cd429ff5b14735c8b9c8fcc7683d599ed14200e472a030cf3b40dabf7c22ec7645c735800cd1c72cd50beef8439f5a7406a932bcc1f0ddff90c95fe554da7c1efb79364cc53a773a35a2ef89bb2\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 8\nct = 20ae63774da080fc14e32bd56d9cbb3610aa0208185afbd8f612ad4edc3d9fda4746957c1891098ba091c3d0d3e337a218aaba1911eaa73b78c5f16e54c31cfd460098b33b160ea3c274d8e09703339b3b1cee7ce11299b1e7f4fddb75f19f546844b211764c6c171d2dfe820ac2e3a8656b90c7e4e19f81cbf80fd85e2f81c350c49462b45501487df08c2188f87383bc2382a32d60ac965aa4dbe5c1cf28619901ed6b42f2254e066af44a20eb6a9d4348c3a4169a209263f939ab49dfb989358c6cd89682df00fcbbc2208bd992e06f75c64f3e8a434dd7d1a4200fd197d0ee2b7f851d04dd4448544ab22c16bab499719bc43c9b07007a124b5b1e18b613e401340b637a31860d86cb4798c27afdfd885427f6f8b267d767ba290113eced53c9a3a0e7143b00c14beb395f2ba5bff839dc2c53a44eabc269e4860ef9d4c42e9e8c1623ef77613278b399f344a89fb1a107f08b5c265bf5809f89785ec7f24ffcb884897b891358ff48196142f57290b1a02a31d6bf5288893a1fb615fe0c\nlabel = 0000000000000000\nmsg = 313233343030\nresult = valid\n\n# tcId = 9\nct = 7a90b7e694903463592d5bfff2e00189459a41261d0d3b1c7c10b2a578c792b8abdf57f52d7d26a26ef2ab75a7ac39c28334f8a05fc14775ff1d63dbefb688e654a595ba49687d0b711ff21643a2467ff587aeadabd0966f1e5f34519e5b36ad9005a05b7093d5053f6463734c314e654340180ef8a18ed259790e3058b1d5ec18842e9b054853d8219e18131f51aceb01736666e60dd293e8ac47d4966ed68ba39194b766029f4bfd344ba2b07d9f89238804f0685706ac9c16462e69506f18dc3ae39e0509d67acbc603fc21b900712c4386c01a48877b9935355adbd009fcb41e5fcf1d39fc4dc7d26e72f0db741e2dcc17ddf79db46ef3ef3b2ee3c6ef5c689e139442c24c2cbec5eee51f03b0f38f19f67ca802e899be6597feaf3f0fbfc52af1960c1374f6114ac9b1e82670568c8c78e00474a1ec3de11e4f510982d8e9fda89e537733583ef6792ec3bc77955f4389b5b44965644c20f23a09363ac346e15e1f0821cf0488498824200191971257392490946d660819e6dbf310ae57\nlabel = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 313233343030\nresult = valid\n\n# tcId = 10\nct = d88801d500a78a626043e14bd52e01f068eb5381c434bb3af50c9367a2ac5ca1fee8a9d248be2b7de7a5f52c1e716d110113b72bc6e2d08766607ee20e262275f7dbb669d47d8710a753ed8b0d99aa86c7b4cf0e342800c2185f00c38190bcfe3b40758035390fe649b2b0936433cd218450e3b762d10e7eb95d85fd52e5759d0d5a0ae49c897a059f7b1628efe8fe06e04d294548a07f73c74e6e6d515e311e7ae846b0c7f5aa56c61f3373e1a99f2b610785df6cba710fda15c24f56c37bf66e05de18f8417c5215ac4401a6f638a8d8b9fe2f77d247d0ea0d190b8c604bc702c91a84a4352ad0c8ee44d8fd1731a01d91503de39f8b19a7693f8aa6efdff15bd1169a0b79272ae03cb20b3ba573b24be410a8eeaa6ad6de87734f1e299c7dd95afdfdf56d41cf33ff61a7ce0af5eb99826473647fc79e884a75541ea7ab9963f154efca34741cf5b343c86be001c6dbbbf6b2cd8197ab5d377b8f0d2761f42f058ba8406f768ba8061576ff516f45faa42048b2ed3851dc7466c425433f6e\nlabel = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 313233343030\nresult = valid\n\n# tcId = 11\n# Longest valid message size\nct = c609ea7cedd8b6d56fa625b11123b898819558797be9cdb61f0354efa52ffe6c379c4314fddd546020ce9f0fd5b907e6e7b416b46ce8bb3c6129ec39295077fbd3b6c24aef4a9163f5d7d80dfd47f44ebce3b5127bdecb5cbe49d1e125e20479d226ae2852d79047b5f0d535b48e8bfe6118c1d7c37e8c70ae84d1e262977e550f5da03bd087012a934f46c01e121e8b3106e50b4bac05632e9aed32996f09ee8c524ae104911cadcac120a45c44992fbe6f3af37b04e8754dbd674d1fcabc9f5c8649e0228f5f87cadd6d6620f8a9d27928e5249c08eee52372cdf67a4ac0fd8dee2b9e57699d7e28f17a7c76bb3565b6896c83ad14157908aa765c7a51493f2d3de7d735f3adf9f911a6ffd0b7cdddf610bce09e6d929675631381777a9fd486a7915890c0b8b3c119e50330579a4961db1c498955f0889dfaf3dcae46f319c722f7279102467b1109ba6191e30159ca53c9398e6de412afd21cf25ee131840d742562388acfbc528672d3dc38ce758895ddd5db82c875f12de940503617dc\nlabel = \nmsg = 7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n# tcId = 12\n# first byte of l_hash modified\nct = 2fdc9577156255b3b2f1073c76aed1dea93f18758096085e69b2a8593bd9dec848ae70a250d893d73c6b4ee109c967f896361d8d57883db63549cd9b3b61cbe50d2d944fe88524124c168a322175ee87b571569b567310b4367af407a9ef2657f693a33b536fa7804f066103fc012414c932c83aa1eeb9169f2ca10992b48910f0b2fa4409d992bd4218954078dcc78da6436b809a83391bb8cdd75c602f2b41a1b836a62e4bc04add443e90f58038b99b177a9fdce99813cb7cf42854520916b9ed0bfa4326c3aaf45ef8915c50a8c159d4c8ca6dcb06d35c15c5e8869d3b278e3f2e9fdb0811c6be2afd4959d082b4ee2f57be078d149a673fea7252b085e04b5c91d93bf6ff343e374ad5454a89c2bb77e040df555185539f0ae81808e20edc9d7c94e06498aad532b1de2eaed00d0f3419adb91893941688baa57269c9d1de160d9b505d55c7c58a6fdf95facbfc2551150825f42c1df3dc8f3bddffb80a0f424386a04ee423b72d5fc6161054ac43edad4e1f0a0d2cb96727de0dc6487f\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 13\n# last byte of l_hash modified\nct = 12a86b617c77976f1647c75333a0e938a926d6ce39ae90208c63d1f0dd8420552946dcd8c929c08e6fdd8d03f8a1b8e8c3f1247a49bbbc010e8583bf4907405f62c95cc18d337bba3d54075dabc18c2845534dbee7df792262b49f3d", + "7a71910181d6217f0f22f9839b7cd3990f2da4d959196ff448342b9a9dacb984a84969d62ae400a3116dbb8aa7b1ce61f82361cc5cf994f2b65639a772c731bcbfa1df069f6726ef3de4cd2840e7c6b91f3e032eb826b5b4abf2de20d4e8d667e6b275e72c202e4acf65459c91466dce7b81a811711d3fd4130b83cc8d33a6f736f91bdb911bba9c894f6a3497be6381a2dc4349c85fc07bf48b47fb2291717724d8fdc53c9b8ce15f3a536bdccafd36ebd5e4693420271c9a6c77cdde48f851279748a0acd9e29048174644c503c047d75be164bbef65c7a1c2f6db94298e7bbd74679e5b0d7799980173b89358371609b256adc28b8a7f67cae1bfbbd83b4497ee13646be77e17edabb75b33e382fd21cb8085ad958c38505ead775bb784d608a123a9\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 14\n# l_hash changed to all 0\nct = 4187354a63cece7c984286cdd0eb98909757a41fb2e5cf45982676ca14e89fdbe5a570eb2d9475a5b9bd13a58b225f3154d538195a67f3813c6d70cfc8a282231aa41d3d3ce79aaeb9876af8b9cdcf68e529734d7ca576a8458837a6cb3ae65d8b706d54160f438ba1cb1eca3f6a557f2d2c66476e2d64a1b0b3dbd9ab0cb01d46900234aa22ce906e2acbba4cb1761ce412316deadc060269c74a81827b3180d94c69b5e30d2d45d51ec49b350ee0e672a0ea247a49601604c853c47170c4adf4a9e4a1066da59050f9edb6a21e922714706012443ba153959c8c11b9023f153d62d2a23f271e2b81ea0cb73dc15756ff7319f5ec3fab7e10fbb60b8a996fce23bf7de9fa17c11175f2cf604e32064b2ce3486221314bbb7a8d01987a57882f904d020761a53da20029d9b3a5355ce00520e61041b5a00d98a921300d3e30fc9a7dfcc00186e503bbf0fbf6ee00ca7eab439263d6d1257ce1dafafc1a0c3c684703ec18b3b12ecdf9a3f680b320a09865e70db3a6dce20a868a61ce187e5a56\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 15\n# l_hash changed to all 1\nct = 4b845fca1d048ccf7e5a9cfe00c182238a2b69e02bb0b798863246e24c26856953d269d4de46e93caa7f383f241a963411b455e7a2547a9018b2f7676246324db9ebea25603d9b7f7792cf29ce26bb64cb6f3e703e359fe53ff4e2734371219307709d8a43959e61c5e76146b67b53cc2f669527594188b502bd92d811c9c44fdd7c7b69468f314ac30860bf51b26fbc8b6bf985df2cfb215fbd5f53ce0a6c00781f4d987f99fb420a8e34fa7544f87a7dc67f94418659c747bb984124086253eb86e0efc15214550429a7f4d13d8ab4bfe908794e0ceb41c5753b19792e8ad4f108f26eb990baea0d88e930c3bb245371905354c2a192bb21483c2f5033c05073e2bfaa65c8e7c0eee1d22f7363b363cd698b781cd7241db25eb2fe43f480ea8363a3c680869ca143f531d83cee2b4b6e9a56196358a4db22839aa7332c9be2acfbb5f0e710cf3c8b7eb30a16bc126d1a3dc2e29bdc54c830b070acddf2bbb2932a571125f12a5fe70282f21772bfa1a05967a04db4a17009ceab8b4ee7075c\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 16\n# first byte of ps modified\nct = 4e6394953d0761d4db461cdc976124f729800f191c1b308f663344db610b8e790521758688bff16f1f631d0f3023e5aec3d750db63fd4bbccb2798d1050beb31c16151253dbdcd7363a2c2c11398134965831cb076c0dda88d3898714969b0a55f944956d8f792a0d7074fcd6899675843e91cc6ea2f1372e3aecba67a4b598c4aa7092496070c94a0a1a289fcb6a0f19ae54ee2d634014064d76f44d092b2dc6da115b21b811faba0168722a5be99965527ac6c5992d2f8428319f72fed15451b89fc5b06710baf912bbdd0cee7e2f0f2818599bc99dc8df17cd5c410911d0277aa956f330f3cf062c8388e3d35136049fc9ea624286e5febc37ec9802aef1ab20b28da9602b88eac75b6d055dbc4363fd4d937e69a87931ba728101f70c8ce12ef9e1c1cd47ccaed88db0a95b40d8c1da61cacd0b31f723a57d908b8577259924ce2c457db888c302cfc9f2867dfa6b86dcc9250e69e3b392cf3057c06e0090d511ece16e3194abaf26a2ac9660ff6e0237d8ed4479b0740f77864138673aa\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 17\n# ps terminated by 0xff\nct = 81b9ea5c0cbcc4b7f183deae85cf3d04d8c9a35cca7b9502238d1d94c05563bcfc6e3cd27320bccf3fabe737195bebf4d8770ddb232aa0e25fe41bb055d36dc328b2876e4b7842ad4499f0e735ebb283e7779f6b7c66cc71b62811f5c88ea3408939706ab48ba6fdd4359f18e8a6e0485de9bcbcda3654e7964cd8f243d3afd3cda79b498e6a10fda660029207f4b185f8ca73b1ae46c3dd3edd2097ddb6ca0396f94ce626448ee9325c91fab3e550bcc72c7a36cd4161cdfa65b9fba398e153ef1b75e06a2929a86a6e87f266b50d8f513699dc8663a7c6b1c4c9872a63fc3218cec37029c07a9b701d615bf8ef0da3361af097184c5f1a3feb4ca3785e235b83c0b494ac1e36b514fe5c343561136d14bd110117604fe8a99f210325afb5a406a10c99e6347b29dc6ea5b1902b7cca6fe6715f3b291e07850a12327d985565715266f723249cb595941f43b946ce7822edd05797eb1bccb9ade43248f22df4e38107ce9d92718cb795e93db7d1bf3203c8f64c804669159b58ecece44c6f2e\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 18\n# ps is all zero\nct = 5a49100a3e147a880407ba68183f96a904529cf14377eef22775c95ae7d3166b73c3fd5dc259256858424ee97812b1dfa159c25b6de84831d8227b153c4624904ddd8c84bb1fcfde36bd61319120a7cb0c916dc22369b2243505d5fcb2d466462dabee4b8495ac8c186a38bb4065fab4e483c947cf72c27ad542ce7d32f689c34f6d0873aeff48a87eb89efddbcc1a5f51264ba246f10dceb2091823d3215f4928a8b7f3ce462e227cc5726834b6e86a503506497cbe8d6bf04a5b4085ddeb04816654829ff24cb8978551e92ebf588f3e60006b444d7b39efc6d18e42be234c37fc25ee2a1c02e1efaab917de7c6d12b05bd599adc92af582e7fb522c884d0cece7f912d2e69812e52aadf0748a98aeab06f391381f4518f20d029360b764faaa3aa1e69a9c05cc59e29cc663119ce74e74ce1efdfa565cd0a67751a070b4a0def04f79c7da5a7340123d00de354bffac3cbcf85e7309336977c2c4f84d528a123bf1ce7fcafc49020a8d51c48ded174b9eb468928f5fe94ea6dbbc83c68d40\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 19\n# ps replaced by 0xff's\nct = b4a8e5d8f2cab3e3b659b1964fb9f634ff7ea5de5a447fc7c6ceeeba8af5efd0f136fb79e09b734a3978b655e74a0156a3bece09c00b578d894b81331770a3e95691335656eaf1c260e4e9dc67367265d6e870b37d0685b16762062166e10f0c0ec9fa34935d0943b0f5d4c5b1d88422e21f9e3846f854a2e725f22b53a778e65fdaf32ad88943b2baae31209552085f82f27a01caea2fdf471c08643d806463c61ffce92d0c1458518fc100fda777f769b33750aa84d1d4e206282f8ca944f151ef9a5061561e96453d7bcc9927eabc21a04c84ce1e0e6a88113132eee3a7d7baaaf33db8d1818e520e202275c5df2d3e749c3acc43326964a6663eb4ff856bf2291194e584919e872a31e1f040a59dcdfc88300a816a0ba27616919df4fc97d16de1fb0c6150cda6c329f643b036d99736b0424b6676ce0cc4d971aa6c5ad91a421cd369b35c95a38623fd99dbad13beaca3bfae5f9315a8a788f111608b5b856f4313ca6d19cc3172bffc6cccc28682a09d0ff74fd16a58234151c0224da9\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 20\n# seed is all 0\nct = a985e8779a4a34ab75873210d0c8897af9381c83887cff7fad9fe60f601801620747ec0a2c1f5acf6560a751216d204acdbcfe2d5bc235b84c17e903ffc96897d5df86031aeb1e40320502be3e18daf723c2577331e03c216e1febd35b30be8a419d5ac4e78674c93bf244e2cd8e57a4774d0b8763b9de21aa1e74b0afc3b423be7c52f32595934c993c88c32c2b0a66e5180c96ef478ea2be4262c840d3e2dfaf86b9684e7bdbf3b31b0513e3e48322dfed125f2d0ce186e58a321cec902cf01a7253b77069576594488b665facb1ba33671ce26cab40dd679f3817607719fa0669c6a593f30de1fafe264156cf48dcbfb8a5581f6a9a8401a749983b43cd90bcea0f6b690b46b2a00505e112d0bc0fd080c453085319b5d31dbbf46a234ac0f0eefa947f002daf872681ce731b27714e37fa3ca743cfd3060935affb356be4ce827e27ad36df8ff4b4fd72bbc0076d2277fd643ca0a39233a16fa545a4d84f1217ecf07a2ee57298cdb6de88f797116f80de8f446930045119e52fbc7840c0\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 21\n# seed is all 1\nct = 3a567bb387312c94a0b8637807f86728e6e54ff473ee541ffdb4131cb5c55a60c6044a53a813672e4e5f90d5779dc21f824587a3618d4996449b2949720a93afb50520947d3b4a7391e2928acadf5fbb0bf87e48798e018f133b12276891e49007ebb27e49c858818e242dfea715f575da026a4f039840ddcba0bb330fe916739d095ecb76829091ad29e33a0b58e23f3e1c80a9aa4be2bc6e21eb1e7dd3061a737d3b460a5c4cbe6264b506d4f424bd0906a3977e3ebea5549825c889dcbb601c111f392f690b8bcf4b9935895e23c0e39672391f5e12e873d393ba19b00922d7f188def9a193789a80514abff02565376577c073a3ebaaf216d535f50f6a602ce038216ce7f1d1f7e9964570d8cd2b3821b11339446ebac43ec87bfb712a634089daf4db979d50d1a93e8badc40395fd8e8d680206606b8a1e78fa238f09ab3eed6ba87ee54ddd3a3bbdfc5c036fc9aedb207c6ab9e9ee594ca06da39297d8528fbdadaf80005162964bd4e0168d5c92d8ae5b05398d66c032ab5ae0eaebd7\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 22\n# First byte is 1\nct = a0f2388c5bc52093c31189674c410b4eabbe1ffd0e0a902dfe0b4fc7daecf29148703ca5906bd860065da69e5e7dead22fe28bbb7f3bf71d696174a900c115ab7a98848a08467643aca3a056ff58ef4b4515761b0e9452a587c4e7a0330faf97f657cf925e5bb0a395f7a798a715f41b70aa2d3dbe411de02c6ba40831f0b636e030a51e66cf7237030ae9569bab4cd8759baf22325f88c11cbac0b0e7b87dbe01669fdb5862101679e28774aa415df8a92e45b1ab74e1d85a95125163aa74c91da4a774ba539c7e1ac945c20df5ae3e31ec55609883f83a75fd3bf70bc4e4dc18b0a6e77d678d19c82400c698a0c34e3e77e86de8f51daf306f102a22cb", + "a918b6ac435a045e89df00a9c84689e29b1eb466ad2c96c7326073afe08d47490230150c9b5d8ec84b352c6a33a896a26bc0f91e49fda6412bdd8a0e7c9b7f8beead5070a494af8b5b4a449b976b7f07c1b5648ac303e7b60adf3e53bd98642642f1041694986f214882a06f48db4d118f2b91c05578c0e7665c128cc6b4685b7faf\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 23\n# m is 0\nct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 24\n# m is 1\nct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 25\n# m is n-1\nct = fae12363cc51e266de7d74b989085f10fc08f44363fab4ea7fcc56101d116616c43de313b70569cb27de134ecf35fcbcc448a81082678ee1ae427c48f459ab2c42c9085911a3d81c914f047ba46ef1a52a4983eba1113bdf0ee95e85cd23224cf832fe3e916d3bffa6ddcfee0926938b2c51c8904bec4739afc4f07979cbeabd514be5a2b87abec71c7a2b39c736d776442ea9e95e97ddfcad4c4c3b41fe856f81cce539b5057abfc6fb1aa153316ea4f8e76b8dc8804ee10303fc2dc182f7ce5d907e78729679333b3b012574b4c7c613c020ce1388ad37ffc0f6b2330cc5edf7ce9ba80eb984b6da2ac59aabaa3a29172ed2937920f47c17447e6185119b9b38a9935658997b487735a8184caff10a8f555d034552fd57471b293f813f19aa6c2139877992436fd1949ebe2259528c91716414aa72ff90bb5142d2fd5e7ba12d8df1ac995408e7fb645a9ab7b6f695e4050500a9042253833b055182657915246589f8362203b5517b2f7117d2aca015fce3cc41c6b1bcb2e672db142d5244\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 26\n# ciphertext is empty\nct = \nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 27\n# prepended bytes to ciphertext\nct = 00005120b9815296215e7ee89f5a20a46dee6f255f7d96d399c8cbf5721f9f9c4d89a8ee37e2a6bbd6acd4878404856143960be4a77bd8f6afe6b255f15bb8bcdbe3395f800df64c2d2b55aa7cc3c15c3d753562359a14433abd29106a0d1416cac5fea97732828a198c04d09ed6b47c12365de2a98eeddac346fe879d39a1a28bc19e2ec570b94681f7bed871311edda5c8fd76cc14b15983046da8cdf1e15c465e4a9df0fda11ded950ffe5e67a3d07e56f902c7535331c08720493d6ef4b1760c6489e0af7d1b97229c4380167fd68f6ee30de2d61859ec55b5f0106ea0f675fed7c9f660520981dc201cf16a6fa87379d2c667f9c8fae97fa337c34d591f18b092f534be25db157e6696b1c85fbd896971f2c045d08be1470b403f2effe6d82fcd1b9baa9ba2c0ab0d25ca9cb2aa26f2c4d5ca3699cae3b61ee6eaf98d44610c8204e4298a01886e9cd21030058b29462f3d73018043466fe45307d2382b8b828fbad34f77c1915514a9ca9e0bcfefd3c0c7daaf02db684454c18b109a7a056f\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 28\n# appended bytes to ciphertext\nct = 5120b9815296215e7ee89f5a20a46dee6f255f7d96d399c8cbf5721f9f9c4d89a8ee37e2a6bbd6acd4878404856143960be4a77bd8f6afe6b255f15bb8bcdbe3395f800df64c2d2b55aa7cc3c15c3d753562359a14433abd29106a0d1416cac5fea97732828a198c04d09ed6b47c12365de2a98eeddac346fe879d39a1a28bc19e2ec570b94681f7bed871311edda5c8fd76cc14b15983046da8cdf1e15c465e4a9df0fda11ded950ffe5e67a3d07e56f902c7535331c08720493d6ef4b1760c6489e0af7d1b97229c4380167fd68f6ee30de2d61859ec55b5f0106ea0f675fed7c9f660520981dc201cf16a6fa87379d2c667f9c8fae97fa337c34d591f18b092f534be25db157e6696b1c85fbd896971f2c045d08be1470b403f2effe6d82fcd1b9baa9ba2c0ab0d25ca9cb2aa26f2c4d5ca3699cae3b61ee6eaf98d44610c8204e4298a01886e9cd21030058b29462f3d73018043466fe45307d2382b8b828fbad34f77c1915514a9ca9e0bcfefd3c0c7daaf02db684454c18b109a7a056f0000\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 29\n# truncated ciphertext\nct = 20b9815296215e7ee89f5a20a46dee6f255f7d96d399c8cbf5721f9f9c4d89a8ee37e2a6bbd6acd4878404856143960be4a77bd8f6afe6b255f15bb8bcdbe3395f800df64c2d2b55aa7cc3c15c3d753562359a14433abd29106a0d1416cac5fea97732828a198c04d09ed6b47c12365de2a98eeddac346fe879d39a1a28bc19e2ec570b94681f7bed871311edda5c8fd76cc14b15983046da8cdf1e15c465e4a9df0fda11ded950ffe5e67a3d07e56f902c7535331c08720493d6ef4b1760c6489e0af7d1b97229c4380167fd68f6ee30de2d61859ec55b5f0106ea0f675fed7c9f660520981dc201cf16a6fa87379d2c667f9c8fae97fa337c34d591f18b092f534be25db157e6696b1c85fbd896971f2c045d08be1470b403f2effe6d82fcd1b9baa9ba2c0ab0d25ca9cb2aa26f2c4d5ca3699cae3b61ee6eaf98d44610c8204e4298a01886e9cd21030058b29462f3d73018043466fe45307d2382b8b828fbad34f77c1915514a9ca9e0bcfefd3c0c7daaf02db684454c18b109a7a056f\nlabel = \nmsg = 313233343030\nresult = invalid\n\n", +}; +static const size_t kLen132 = 33222; + +static const char *kData132[] = { + "# Imported from Wycheproof's rsa_oaep_3072_sha512_mgf1sha512_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSAES-OAEP\n# Generator version: 0.8r12\n\n[d = 009a389207c44f45ecd4b2ac716d728ef622e8e237171bc3e12f848e1743b73159a7731fc73bc8011bd8bb24855acda63ae8327dd60043e6ca86d3ea10f2dcb863f1fe20ba98246f324885198d642cab314c087b26fb115c0ba7dfffb222c3894f6577fb60bd07384dd4e71fee050408c9120a884f63ccb0901ea3e2ebd9da67c7cf54e7aa1adba1b146a9372f426e4d0f2fa4bbe070bcccc28a498fc711af83996362703b0433851ca516316da0758fbdac209eb63eddd91f6b3a24e87fbfa1d2ab8f8a95d1c143bb643d9ed2cad7778ed1bb41277f07a2ae4d5e01b263f905a1457fd1f7689c85694bc8a7f2181752a606b4e3ea5b59e1f85e993c8f8c528cdd0f9f09c65a53edfee6354be565d594060cbe594faf46d82a17056c8eaa59ccb0f0bb33114b9c2c029a6e0e7ee9325f03592ac0067feb660d99f8bdb6d25ba1ebc480ce770c367949668bdd2e3032d04968b5293c080dc41f2b69607c157e71c62570481a93e340a7a5be1629d91334533e41eae79befa422cd5ff4d838ec2181]\n[e = 010001]\n[keysize = 3072]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00fae12363cc51e266de7d74b989085f10fc08f44363fab4ea7fcc56101d116616c43de313b70569cb27de134ecf35fcbcc448a81082678ee1ae427c48f459ab2c42c9085911a3d81c914f047ba46ef1a52a4983eba1113bdf0ee95e85cd23224cf832fe3e916d3bffa6ddcfee0926938b2c51c8904bec4739afc4f07979cbeabd514be5a2b87abec71c7a2b39c736d776442ea9e95e97ddfcad4c4c3b41fe856f81cce539b5057abfc6fb1aa153316ea4f8e76b8dc8804ee10303fc2dc182f7ce5d907e78729679333b3b012574b4c7c613c020ce1388ad37ffc0f6b2330cc5edf7ce9ba80eb984b6da2ac59aabaa3a29172ed2937920f47c17447e6185119b9b38a9935658997b487735a8184caff10a8f555d034552fd57471b293f813f19aa6c2139877992436fd1949ebe2259528c91716414aa72ff90bb5142d2fd5e7ba12d8df1ac995408e7fb645a9ab7b6f695e4050500a9042253833b055182657915246589f8362203b5517b2f7117d2aca015fce3cc41c6b1bcb2e672db142d5245]\n[privateKeyPkcs8 = 308206ff020100300d06092a864886f70d0101010500048206e9308206e50201000282018100fae12363cc51e266de7d74b989085f10fc08f44363fab4ea7fcc56101d116616c43de313b70569cb27de134ecf35fcbcc448a81082678ee1ae427c48f459ab2c42c9085911a3d81c914f047ba46ef1a52a4983eba1113bdf0ee95e85cd23224cf832fe3e916d3bffa6ddcfee0926938b2c51c8904bec4739afc4f07979cbeabd514be5a2b87abec71c7a2b39c736d776442ea9e95e97ddfcad4c4c3b41fe856f81cce539b5057abfc6fb1aa153316ea4f8e76b8dc8804ee10303fc2dc182f7ce5d907e78729679333b3b012574b4c7c613c020ce1388ad37ffc0f6b2330cc5edf7ce9ba80eb984b6da2ac59aabaa3a29172ed2937920f47c17447e6185119b9b38a9935658997b487735a8184caff10a8f555d034552fd57471b293f813f19aa6c2139877992436fd1949ebe2259528c91716414aa72ff90bb5142d2fd5e7ba12d8df1ac995408e7fb645a9ab7b6f695e4050500a9042253833b055182657915246589f8362203b5517b2f7117d2aca015fce3cc41c6b1bcb2e672db142d5245020301000102820181009a389207c44f45ecd4b2ac716d728ef622e8e237171bc3e12f848e1743b73159a7731fc73bc8011bd8bb24855acda63ae8327dd60043e6ca86d3ea10f2dcb863f1fe20ba98246f324885198d642cab314c087b26fb115c0ba7dfffb222c3894f6577fb60bd07384dd4e71fee050408c9120a884f63ccb0901ea3e2ebd9da67c7cf54e7aa1adba1b146a9372f426e4d0f2fa4bbe070bcccc28a498fc711af83996362703b0433851ca516316da0758fbdac209eb63eddd91f6b3a24e87fbfa1d2ab8f8a95d1c143bb643d9ed2cad7778ed1bb41277f07a2ae4d5e01b263f905a1457fd1f7689c85694bc8a7f2181752a606b4e3ea5b59e1f85e993c8f8c528cdd0f9f09c65a53edfee6354be565d594060cbe594faf46d82a17056c8eaa59ccb0f0bb33114b9c2c029a6e0e7ee9325f03592ac0067feb660d99f8bdb6d25ba1ebc480ce770c367949668bdd2e3032d04968b5293c080dc41f2b69607c157e71c62570481a93e340a7a5be1629d91334533e41eae79befa422cd5ff4d838ec21810281c100fd9e30b6bcb1674ead266332e2af25c56b2869b4d822d247e6f5b35cb0f3c573b5efc39e4b5de760489b82536d6cf3eda1bf60e5e43f69f26ac8e45b056d702f0361dbb4a73f42ae5889a849657a841d866b8b4417286ca9b39f854c4d95e3719b6cf367fc7128088a365f3e322c1fff16bc68bbfeb69c5b2a9a677dca6d494de44ad057135e65ae5a5f83c59a0d1477e5175acf716cdcb2966fb75145dad1554a112c466d249ba894caae5e182c65f1753fe5bb583ef962d1574d9be20bf6a10281c100fd3c5d0967b74bc6fb54ef961a6aeea76a59cad1600e3c73f834e5f5b7b5096f7779c62b07f783739341ad5de095e0209f2f2f30b8dd503da8a271f4b35d93cbda013b515f573501ab80dbc7d9fa9dc98da4451e00e0032f53583c818c2645cab8f35619e7c27928648cbcc3af39f30e0a61259ba2499ba96b2ed7b9edb881d442466c07f362ad11a2a9bb3f67548a5e24c246fc6c438d32de9ecfd18b609ce12fccca90bfa4c3ef63cfe3a349611e590e44a53242dbdbbe0937f2ecd81c8d250281c100a975dfbada4df7673c8edfcd8a65d96915f6c4dacf6844f5423f7dff3b4546f3cfe74ae0241fb4904333955b454c7d98947119bfc24914f3a3a263e2e5b7803409a0837b2c1d3ae2dfc9eb264fa6134cdf1a50cdc8637c67cfdb90e7b117ac07a7009f8b25c43e29a6a039f786f2b0d6734ca4f6a8753ff83279451969fea7f261ce13737b3fa1d564115a2cd88850dae3ba3d354ae6a078bbc81dc73253c977a1abe3d792e9d910458b40032347d73e054812aaa186428062bc60e0fda35cc10281c0098b4ade5de054a4cd38284779fb69bf398ce4cdfb56ce0478e8557a6b501168f811c8dc3a52a3cba953225b956950a72a18b72898ef0e652483ead3942704b8fc206bc1e75bfc0d720f4b393f07e9067da6214cbe2fb32f076f1de8ac058d3fd4b4a71c16d60786f43331b2165a92c486b39e9d3d0295314f6ed68695650ccf9927da4e7a67cfaa087d69273c97bd174b3f5f3988430b814d4ea2fa7ccc495d5b55d6949a0475b6020705c753aeab5c23e3866e5c82b8c772c57f0c5a20c9590281c100a2775a3e38c279cc6633f91e528ba76d14750e36b7d43883b1c8bc89eaaf2878c3b6ea9b87140d6938eaf938d1f010656899717be3e0de04437e1da539c6acf3db3956bd49ad71b747778217e2dc67ca0800726a7ab9624e41f10e578719850ed7684db03b7010e86c197eb79f7f68c3022403fcce14d8cf9df186b0a2b97cc120e2b4a729aa5877089240a18fab397962198fc846cf9a10eedcdb7cced6091c61e8b1c621df270cab19e5795485a4b74cdc3e24028bfbbf0eb1fa2ed4531cd0]\n[sha = SHA-512]\n\n# tcId = 1\nct = cb9ba45404396101c1211be70415603708e1051b0debfa045b75ab936fe7c5d4e8c67704fd2ee046af8679e0bcf3d266ce67b801c90b581a3f6909f56c6fef023f0e2c4428227a51362d3f50ca65a79edb3faf899cf71bf99e244dc817fb4c2bce848216f0de57a1747fb1d4f0310e59f7ae0a656376690125dd10657357de11b5e7e5588af7083abc6018013ddc43d21c2af42c9c302f008064630a27ab014d6dbf48350c8758d821e74c45efd168ac37f366b413024ebbb0c9624e6a93d4c02d1f2b050f75de4b6a74c701386a6c330767af6bf03e8ccd69ce6540b471c01e6fe20852a10f198e4e0d29469b1b01d5ebff85ece159355083829e4c2935f16cd2f409199f799f250c8f1306da1614d0aa15578a58f399a17223c7618242cab31fe32a2317cf7babbb30b3885d5c07c4b89e91ddcb37f449cb3e2faca585d04beba9dce34face1167f5e4aaaa0509867716e3da0ff81b8a481b3f9cda725f01441d7d3d7ae24a5bcb373ff85e608ee7a49750a0d7d185a61082924b2343e18cd\nlabel = \nmsg = \nresult = valid\n\n# tcId = 2\nct = ad215dc277e269310c54925f735d9bd6e68b828c8a9adcad792a567fa89f75bfd9512c69caab0539f3a2d4ad7caa73e6c1166d94645308d09f98166547beffa48940bba67d08391d8ce831ab3e819b1113eff18d02a83d7f07f1db2ad63cc53dccf2c9a8d8cd42f3054cbe1d223029364877c61d2a58d4c16929eb2c8b21fa1d09797a558d61f00f6b2a4b67eb794dc9730421bf52e073cca7bd083b35562d21b6527a525662defa0db2c9fb0fb3d8122a85128839e68fab7224756fe7cfde6d86cc7bc3c6665d3ecc52ad0ee25767d5f1f1815e56c79e1ae089a4278bd8c34fb397c1029b4315573391064c02f139e6a672b8a9f50678419ab6d9fc42fbcb69b71dd644ceb7968d6b0edea5f72d9d05da3d7b36cac7de135d45edf45834b47f7b2b91fe89ec6c3f2863f7454017091cf6622b02447a0f8ea6a8668c61a55f8654c4c8f60ca13639f125f2a3a46bd82d2bb6bc66511ab7050433cee0d6fa98946d18947d5649b380f795fdc8f0f13b663f518fad69c65601a51d170f7013204b\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 3\nct = 487ea78c9548871a93a0b856306f349ab51bbd30b3e6db0c47cfc965774cb0532575333f8584dddcb13f24ce98ff4a33d63b5b1898b3a8d9babc0ea906cf7d9ae047284f7a36dbc350d7affd57030196afdd419750f1c5f2fc55622e442e6203d58a725c7b6e59205baad02c86e44447caea8e88d38963389541a86933cc64c1d8a3b70c4870b0f75146de372de834988a5f852235926d7f3893c83dfbb78a1a8cb4d9a4d516de110d315ada9be71431d3e6b03681d4d7f665987000a72a1b138476579aae7058f7d4151f058410d93bdc197009b839906ea6254e90c1a49327ebf818dab3517edc39761d3f84be8f8bdc8b35541c6b6b30bf8cfd20fbd9a09713c470c9ebe0622ddd8b2471f9b0298cc77b51e56ac2dbf9209fc5a95c066092deebeb7ebec0bda02f89904ccad29ecdc1d263a29930947b90a6ab83dfaa657871be533d55231224ba4e866ee9a3e352f501372d75090b5236d39b62ee6c84c792dbb253dd1f9fceb868d460fd76847d9c450b1ee5f280fdb0da832bc5627957\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 4\nct = cc6b45a4202ea5a1fc930a5008136091f48831e3dce258955f0a2fa95427a18ce12bc6d95424b983e2e75152b654a0c481014c6bc538354ff720b043f57c238c42ef536dccde3637babe7feab03e2fea7ddbdfcf1b689cea466c07b1aef757a7120141a2720cffda1ad422eae68d751425f879eb8e", + "c65a1d0d24e1529a91f0643fac68e71da9f4d0eb56aae99bc03b600daaa127221dc20a5f5060820ba6cb1625382a4adc47185c0ea77d650cb517761a085a55e1a306c6136ba6a03d254079464ee8022a7e0189ef458fb4587b53fdec7864c90872bcfc5476bac7a7af7b104cec4cea576ded30bf4e24f80513ffef05b31e5031a2dcdcd2cba7784869c211c2ce0a3a65814fec0f153de0b8e327ecd2b0ce80a9bf691c1c08f5920547a2a08d749e229a6eaa4b770db54345c18ec3365f68fab045111d0928bb2cef7380dbbe07f6bc4fa3bf340e8fdefb1438188a474b206b430f988fde41f96b0642484d02adb39aa8624d908e52cc7fd3d39d74e002ea04a756b61be3f279ccc7206ee0\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 5\nct = 2034cef8731f5ddf7533380860b7426ba0a7ba97199ba332efb7422578d346ede8a41c8c4488d52cf2559706f1a677edbaa50c5783c00301cd41815e46c588e2e8657ced9a91f1b2e61d51d5e2384b59b90c78c8d5607076130926bf198e0968b239fd8d4451dad125467ab895eb3ed450e6abb61d6217c65ba2cd2176e2532594b5a09bba689ea1562d04527de919d47c3af5c2c24698e572f3ea289f5691afa164970daed05e83c051e39a99240a4fbd9c2046ae742cd1035aaf0d0c20b5ce1d42a08f9175d5ca30b6f4a7345b4820784c148a68f92be82f6e38638c1f8ecf8f07df3827f9fdc8469049d157202f31d98f06563f737ea3df3764f4644d9f9185cb2739c8aaac86e9b39fead8e03818550a25997c31674d5e14cc4c13790e409e278d778171c5462f689b0ec344f9a920a312ae9351c7d51ac7ca7783038b3d5e59d79c4d89ed4d36152d2a1baff8be23ae1eeebf6af20eaf093604cbe79fb93b61478d3a1bea20e1c6c60d63cd3e09920f521e3eb3e40fc21fe46103f3194d\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 6\nct = 7929db7a0ef0e385abca461e86013785f72d60fa4cf1c97b1a16e7b501235701aff06e71d981ff75392a27a266afcc5bebef5b1dc09ce60ad97b1722baf70b7be33b09de2f203f92a527a123e929b038428de471fb0edcb8e64741a1484ad5d2d5497f91aec6d87e5ca95fdea8962b61362bca2d0a4742f8666f1b067da8db4fa24cd721440d6582750498c9fd319d5ae5c27c9b70f1811d90b673d0529706d085fc78d73f933845278e36e96c48194f1494a1b4d891f249e8633c03d9c564534952e98c059dbe01294506d9238816215028d6414b954467650820e5db42b7701adb0d694bf2c00b42e89b80839b9f35b4e23ea70e55e514c50e9ec197423ad28a5dd4ece946345bd6ba154c122ba356320c2c1cf0ab4e0c713db0c8296ff900a078ed5f0ed1802d7f1f92c9305c245471d66820d4230aac6cf9a4311f7293e1d93a5dfd529dadc6699aef4c2ed53bcdbcbe8deafe5f9b035a6aaaf9b2d8eb23dac290f828bf1886136c79fdc915e21e06133f24e63876514abc29d25c146fff\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 7\nct = 5ed5766e97ba0017cc6ef508702d74049112f588e8930c3954b43c7398650fb1bfb94cdf75ddcfad8b50c59ed05bf8c32291e8b804f49fd5faef0e39b922e14ab4186c575cbee9cd2677b58cd890df072669c3c26845d7c89420cbea27d8c1ea43c2041a95852c85056e1d22c0cc9ec563d937fcb1d6d024f3a1a2943f77354885b3fdcdf8945f7b41e1f5a3c7cace9bfd2bb845f6cfee05f8f4680d1bf2b9d6510a6d2093a12214396ff02bdfeaee4b21af5d52244a3cf6eeffba75e946b83b5784b3bd98e5e585032fc88a1abdb12cd30c7f412c72d2e4957681f77e4157760c067a9312df871c972de688a839bb155c9de29eacd38ebea064f53f2599d08d6014c0f77f3ae121a4508c30eb0c8dd49c4c0ef31cacc3b1dcb2240050db157299260e9fc52dbfb530af6f759dba3764e4eeaed032e564141fc102399433456b91a3df2186ae9032957276e691c095ddaeef7142cfaf5bc86915c27461c136c1381a800bc3322c2dbdbfa83374922d607720272c8f955a9a10814c4bb9587e5a\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 8\nct = c3aca8106f74c7733cd1bfa74419a2cf802f12293693c1a207158d52bfb728bebdea14a885fd52ea5600f82020fef8fa23f9078fb9ee34d82eed4c76b1312e7f50d0165792a938d264331da446b09533a0084e7398718c9575b66a07b7cdc85293695f291fc1ecbba9e0147320a557fd015a1339ee323d6706af18a08654564c49d2150f5d182a44f12e5d02b1839771b2048dd04c116f961e4af1632043bbade7e993b416c45c61e4a742bada5ad14dadc263431bd542050f40f4db8a95dfd24db22e049477f4ca93375e1d19513d64ecda0e9da1166da426a0c8614524471d72d413f2f6822843154959239b134033c876b0b68cec3a5eac05d5f179f70305f1f2ec7ef9ed17e79598b3d2fc148f9aea95774918aa6be14aad89ff5d612b13fedc0937bd1ab01f05d43b5f7c131086c63f5430742a347cdcecb435912d226ddde31250c3c0ed6d3ac9920873c1e73970a9d44061dcf6e0acf1a2935bcc48e2fb76ef74bb5101d0bb1a02fbf9a55ec75e122fa4dbe210836873099a1f91af20\nlabel = 0000000000000000\nmsg = 313233343030\nresult = valid\n\n# tcId = 9\nct = 4ee617bce690f21a6cd1760d8e7c41ec1c4bf0de2bfc4aa85002c278eeb63b568118e4ea28cf795a673965cbaecf1af5e4943b95c0fd20604911477492950fb99fbda4d5c0ecb11d954c2bc0d8522f5ee7365427d59143b261d6138aa2f27ee1a60d64f1f491b9ba1adec8d09f242ee0116e201a54ba968ffdf39edc3b314e8139ea8efca06185840ae9a3996ff5ff3c41add6c4dd6ecc3943aa60254859db786a0f0500f644e3d43e348b993439cd021ff0b92d05f327d6bc3c11ebb2f8c1812dc460d4ecebb358eee01fde79aef408a6b51694a2a2f7baf69589f4ed152026303290d9178c9d580421996c89e94e14ce91de0686d70a37241e48e439bad3371aa900d0d6142867ec2177ac21d912eacc5e2413b78b0adad7bdd0f72a5715c69f6223ac7ce99fdc20fbc7c603371c328eaee80f94f079b935713d38d83f18dc810dfdef5f1221ff8a24abd4a0de3e5d3f993bd5992280b06bab17ec6e36b27b7b08522f8bea3390590832da475e85ad4b898045930855be48bf2d56603b7485\nlabel = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 313233343030\nresult = valid\n\n# tcId = 10\nct = 5e8f89e2720d8edfa1a943223d6445bef51e330036fe6efb07289dc1388098aade647cdc9b363b4108a900611a1abdbe53415599192cdd5c39b4e467073183f4732e06a58fd43dd48d378495b2b4109d62042edecdcc0a93df468a0f2f96a4957fc744cdcb891484d7a1db15a6e2da980a91942814c5a9910dca32fbd27e2fcf862756a50658c8531d12ae652d088b15b674dd4bd895e8cad8d81b29c78eb7cdcd29737c8e532fc0c8128222120dd0a4da19d00b603f6cad9d6dd559230e237197269aa75f4ca4f361e418493aabbcb0e55bb3aa114c5777de94e53abedd9e358b2bad3fab666693ad525b1970b97944578ea65a15e31bb1721776bd9b91ac9f558de32ea498948d75d7a7a9ea610bced38be4dad797dd5651eab3b972915ce41aefcd28b641a4563b71b491c2322af7b06dc3f6b6e70ee40f25b6731a5f34ef7726cbf19c65b26d3c4f0a673753c6bc538841b6bd6efb89fe76793ef7859f6866e264baad2a7e1b1c3905c04e1ea8632aefe5c158cb560eba262aa7a3a6b143\nlabel = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 313233343030\nresult = valid\n\n# tcId = 11\n# Longest valid message size\nct = 4d0da40b2f6c6ec3b8de97593a591681c69853847f9deaba86baaa69b42bfc3d8fdac5fbb3faaa7a5edef6e7ca0f25ae169c6545f26c908a1e3bfe8f0a385c584cf3da930acea13076d475e9b428ef9758113d3d8a0e23eb2dcbccbb1ca0c9b384aa760d17a5764a7c4c709cbfa9cef0ba5672cba0deb198577e3abafb2176781956d0c4d39632fd30f778b8da3da16eabf3caece2a325926dcd25abb0bf743b9ee06a3b4496d82489613b0a720353b017e72c3c43eda97c6444d8f2edee7a444916187129bc0e9bc20e457c0946c767d3b32866655742e891490ee996a3b2106cc024c5da94ac89dac17fbf0c97a95541f8283510411868863e68d9efb7ae4493246b409441656ad0eecd3f0d84c7fb16a593cf0e3b5ce01c142da30d50e42f58c7bdede2dc350313c480a644802fa10fe117c98a92f5f8ce6c9c4cf3ac0b01ffa629dda82c217171a4723db2ce751d4a359dc53dd4b398e7882a8c88c9b591856189a9f9afa349f02573a9f07c6cb96eb41cbaebe69dd82ea7d9b860b841b5\nlabel = \nmsg = 7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n# tcId = 12\n# first byte of l_hash modified\nct = a5f338d231cde9f20f87f69ab54147107fab298cd79df6635d3ab882e8682d0ce5bdad698bcdf0260b11ba11e5db3e857490f9ffcfe8fc98b8c89f09903f984eebea2ed74c73ac578bff3af99d4fbc33587d91518a948549739b0ffab4ea6a3fef5726eaf3ce77cefbe4fb001386101027d78b04ee5f23b6a7b0b5ffa9b473e7a86d076223fbaefd1f5ec030b5fb36aab0453a3b51440dd7709b78c0395e3b43ea873afa61e2e391abf0ff567d934c61d87f15095143bf660b73e2df1be6734064445154593fbd304f80a9ff730a66f54078142ad5c49e77b55ad5de5d974ae09d73f4fb506099ff06a226de67d55665115eee485372c19e599197aa561909804462dc0ee6d233da9c30fa7687d4f0a0f764646697bb93d2cd8cb6cd86cb3143b043f54448e032e8790e856604977e23088b69a57d4677e073fac808c8f65240f7628d09e0bc74bf7d6fe0ab2f7378808f082219edbdc1c1d456e4bc7dbd8508415917ec0d5f5ea10242368b8fb75cfb28975110208788b5696e34589c8a48d4\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 13\n# last byte of l_hash modified\nct = 715a8b585a2759b9fbebcb1683dd7d1fe956abce7255358e05cb19547a92083c2b5abe5c429c2a5527bd8193a4d05a0a8d161fe71ba612cc8aa3270a5b8186ca3f02ad716d78b7702c20f7bd17ba01748d1b51e52b6cb6561c13", + "e84ccb9aad4f4c241a951f999d4b7b60c14021619951204e046d663a011eb9cd9bdf96bb2c43d6f8bc97bba1b63845db59268a3ec918e198448050332a540fa49e39796220fe2a97999160f564baecd0ebc4be5030a2016961f9f352d7fb04ae9d3218261a510614bcdcf33ec274b31cfd2d4c9462803c825e7dbb1a3b2618fd5067bf676c5fbb2f6dfee7068e84d4de68f840f97faaf880b8596d8847141ebd59eb9810d18cd95ab6a8b3bc87ba2e6bb2ae178a0e5043497b5cbce86508d96991c5f3d78ea3cd3a77be12bff0a0ebd7a3cd03b9bcbf7faecdad6a375e55569ac9ec02c9a319078d79ed2ec273078ef328b54579c0661ed64dd94883eede29818455b37b271c67b7bb303e743d6a080076bc712a2f22b36bf85ea242f2b8697b0b265102c557\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 14\n# l_hash changed to all 0\nct = b65f42ecb2fdbb8c231e201751bcef6779d0d7c755c19d5c82824ba34a5657a6187dea33ed2a7cb91fc1e5a3e417d806be4e626c555750bca3b45d0441865f0be6a52f5754fa871ffd1fd58b00f74e89eb60518330b21b78ed6c79fe38b8ff4d0f7ac49a152d1c54189e2eed31eb6211601b8b41b9a90e5e3d34e537b0af684133780bbaa4ae97c6dea9a75ec01cd00d2c43ac2c7d8deef21cd6c6382e2935ea1a0e350156dca5e78ba10e88891a5c0978859ac2645f90d5ac32eaf791b34a0c7bde0ce53572d2258ab7e5a9058624892d5e680eff78aa4232b579f94acad6081a7fa8330e8d3339afc4c57a48bd39279a54900e755f741aba2d5663e5efb738b38c72af33c13be9e996aa8c6df839f08af6a4961bcded7eed2b5a67a81c112095f1da9a3e6aa6e149715bb69a265dfb1fba8ea52bf7c8309f613cc183cf53890fc51e4c5f3d01336d67ebb66a9cb0231bdb1f99b033e9dd361262aa6c1dddcaccaaaa7b6a3e94c2b893304404c6be98cf20ef488f64b7540e4232d05b2ebe0c\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 15\n# l_hash changed to all 1\nct = a0119ccf48d11ea14d4dd8a57d954cccb913fabc353727e883b53d6fed8dcc48ed7cbf98e3703c740df9bbecd0168b42e699c48841c0a964b40630f28076069a3363bb14c38e830712376d9beeb719d2620eab87e99ca2897ae1fbd4251f828db85c0c76a4554a39b2e14150b1d3020850dce02ba6e7619daa5e95598d50d9fb9bbb7ad57d60a4811d50f432845df09da1f01744138d10ebafe8951e111aa93b24588c803b37b12b2e572c2b46d13e654954828585672706a001dc4777c9b4b937d92a761ea3fce68c14379af6a8a2700cc20f25e47a0e4bfa85e2082dbb569522853a5498d539faabb90c479fc95fecf1ffcd3d03f9283b806bc6ab6b7310e72be66959082d631d138221c4cd81c46162649b25e46f9fe864b4394f8afede0bb4c1e148ffd62202141640555283eb683a3d3b1fa0a62d8380fdecf44d9050e06bac6a24fcfef1e2b04d952726ac9cfbd67ae3090ae90e16379a96bc7731a38401ea68365ea413ac757de058730259473fe79fe30e1b50e4ae66730e489a61e7\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 16\n# first byte of ps modified\nct = 21f59c055849cccb6dd90d2aacac59f987c1dd44f560c7137cc762f975a7161edc11503a838e4ed98cd8c630b20a4c43bf191e26d4d4f19b4e714d92cc45303c14209989cf10f9782d96f31ed8d7bab24ba02fc114d8dbd4324bd5b198565bab012bb7fdbe6754ce6b54666484aeb42952b055fa69601a16cb86a20652bd091859904bee412c53759137e811dce8eba60390b011b123ae6c1d6d76c33acd26b54eea627662cf1c6887f8c5b62121064097bcd69eac2b2e669fe8e018ec3fff888396075059ebc0289c8925538861246b2606e878b4d93c4c33c3bbbe21cf5c861f5bdcc9121cec2d0c4dbe3a95976a658c8bd8ed7579c1c6eec248317ae3d3c73e5104d377ed5634c16bf49e65879db350bcf5988b99ca124c3f5c4ef52b7f170f5c48f139151adf8d39dc1013d9a152321fc5784e1e81d3ef1cdab8fcd83623453fe4ef7b825b1baecc5817a13b56197e0c0c35463f8f8d8bf2a1068b8555aeb0e099ff5c9b86aeb6c495f6ebe6d0d6d44ace2ef80ec9fb647954a9137b9cc6\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 17\n# ps terminated by 0xff\nct = 100e00b23d1058916a2d99f5a1285efad8c62b8ce779a558d9256ac36757a024bc6f72aeb307db6923d7407ccb91d1388a525354373619139eab0cdb413ebcf50b82f19184b2187eddc19b2c0db25f4145b35111111b98b109939155f008552ac863a7bfe1dca6bed2c47cebf48e29328c475c9c34499b770ff42f94878cbfb29e6254f89a4d49f5b886d355834c3eab27d65013a5928e6099fe125e61b8300e68fcad66e8413404d6e0eca34a8701c2575089955cc13fe0c0b3e7fd6a4bd296c88fcbc71c07bf7278a410b90fb113bdb26db1738b06b5d0b559cbab838d4567754a7154e17eb7cc4506d47ec99640c51f1d0134da884335a3d982078a5aea7543ad3a8db51db9bf771656105982e0a85b30ff080ad7153656d52ab2a738b5e8beace9a74d9492cdbf079a8293b52c8284acb1eca6ae8e0b47b2d699d069536b62312ede061a8dcf651d3eb4286ed22c6da22418a5856cded4866f74589b88ff9a3afa0479ad7964cd567953510df300cf3a3443e04495cc0fb02a8ed9c352e5\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 18\n# ps is all zero\nct = 8778373fedd6de294c9f7dd84acf66211883066ecd53d860d53031dc51e303841f14dceb8999be392a6ccd19b899dca89764db04c2308f241090b0e09bbfb60c82e460757f6da6aacdda90f1a853bac858100d701fdf37997605324cdd7cda6260dbc2fc40ffb17973d1d82715d59055f8d55c74c93c9d7dcab167e25d8d26e0d98b6a02e5087faf20b50e429fa134aaddd0213e938f6f6c03ee89c413991163746a7df66212ff7b03de95c7be90a0888f8791e3b72c8f11e310c291c3f316425ac2d418baf46aa79a1ecca245e0fdb92a0f4e99eaa8992bb0f5973f080f2c72b7919055e88026012d86e2faa008e24545c38470b24dffe84f12577a14311306a9293ff98e3c6c42cac10b913d912e5060651cc73dcc015707c429c7bc669204d78335babfcfc614d4019fb45be0aaf7ba50b7947bba652a2b1984d876ecdad54fea8ce3d1524e812fb2519c17db82f300cc3d7c163c8653b46ef233c1678dc19dd75e93d0db22648147fe17ffd841f38177033b0183ec70d3a060ae69a71f81\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 19\n# ps replaced by 0xff's\nct = 66f53d3aed293fc5a20d24b3a7a2774e12b69115e277894670046e3fe076d7ac74b830765d3d8b12b3979ead0d87ad3a0a8b3e677688f7b8cbf5e7ef7ed5a336ea144667a507be46cd3d9145c5ac552ebae558ee95d4e17c6e9e5d49105777dc1ddac7969318d03678e2afae41e265c61704b7f61cc3306b0ead4d0d9e36ffd08164f93422a1e51769b0c8478c9975e1b2244544252eec743da10d8eca2cf901a3052904e898d5018c0ea9923bb6fb8a405cecadd81a3f858e34c87c069897729186710de5bac42a6c7a19a3f7b310ea5dea8bba7c594ddd2cb5309703baf64cda2295157f8530dc5a46de57d3ea7461df8af53474b15b54644d6e724cf6684b72dbabd5cea129c80a1dd67f7b636b55ba6980fc123859e9a702df29b2fc3959ecdf9269246c4cdc05bd06dbb9bcdff693ca4d04170118e7fdf43b163831f0f6bb9828faa316eaf92a4428efed7b2f22efd93761593be714e9a85aa7b690472525bb0b2a28712f5f524ec56e1d0515ec7cc190662ed2be402c824396f7de194c\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 20\n# seed is all 0\nct = 6ff0c91199b45d05ff630f4b8bb84ec1eb03dc229b51ac817c210f6034e8f27e8623bfc1f8cb5e597fe687d075f289ad76cb2d1e6ccbd7aaf7812e49e2408c74b4b8869d4bc86db5c2d6f62d2b6c1aaffa76d3059809ef3945e7fad49dd198e132f2681c4148eadc808231b6dbb7a9a8e5b5361f23d602c0873ef6751cd353f10d1f922a20982d60d29bb7eb57c86d3337bc8f2bafc28f830e16b4684f7b6f51e0efc3cfbabdf76b08cb8b5770e9f709331053794e35e159ecfe46455bb0994b38994fe6f405b6a88b7f5912c409f9781767871b2ba18f5e542c964450a5dac4c82212945e968878e43f4698500dd10621f31eaf5ccb04551d6ed36752f110fd5cf3ef72b2c3369db93f6480b3cb01bef799007820b1f4aa34354ffeb4f7c8ffdc90e6d19d1744f27516d67d1eac69f139b5b753497a599e977f459081460a35c75d986383ee486810f1c6eab1836f7ab4b6cbd427fcb206c05d6e46c84fed94d065c22ca732eb88c02550dd72259aaf4afcf8da2eb419e81d4f8a8e914e903d\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 21\n# seed is all 1\nct = 5a8eb1da635aaf6e94012e3d61f9c7d016c657b812d9d95c50f4ec073c662392c4ba98b5d9c93bf5fab48d724ea9a147b5b84ad6e169033f32318c6fef89b2733c9040aab0862fb4b049f560fe1b448b987d203a40f3f46cceeab0ed9589df97e6cd928fffc5d20d64a10b31f54bcb269f1522f04762b4935feb0b02ce5d9a8a0f99910a4fe237b00b3f48e44e04ee9f7fcc06252b7c08dfbab4fd27e47604f4022d3ca0aba753b9ba9b9defd3496cb0c752a2a4cd619755fd7693ee7116341f8b9575d13b4f821759055225d0fe338659c02eae9c528cfa937a1d58efd0463773a29e9b34ad3647487267df59b324f6b8e73ce0be930c5f163d43df88fdb54e761bcfc12100362a17c507adef60e2be506df242e81161144be1e4a29a3426436c0a7d0e574f9468acc5af42981d5cdf5775e2b7d4e02121398b6dcb2d590417c06f6daee42199ffb4a51b0de715676d3f9779f1ec051219057c75208ddaf3b4530fc0360d389d7f95fceebb0123e0fa25c5c7c7f4f8ff9d88a928d6904ef4b1\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 22\n# First byte is 1\nct = 9fa960f4d424a2fd23f7cd07dc40f43fc0490862ae8fbe2399a96ac7f9931e2f30421692afeddbf00fa86731e6e6724f428a479b49af5af07119856a913fc9211c722a6d25791111650b71997c40a7c8b74b4d0efef376806099b634388b93da0cc5e3b2678c5037d399fb7770546ce572852b1f4461ea415c7dd846b5611fbff3a492203d16b18b476f48b4ec0c3d900054607843bc23dd2d8e4889ae2871774fd520c510b48fb25dd15ca9f09c4cad7adf5614813506511473110780457194d41357e2ebcff9e3f4819e70fb9ba71d9eba053946beb75147f47e5d6fb1ff8c560010c32fd708025f5ac3f201d9853184f7997ebe8ae6526f7c7f7d", + "abbbf94ceec56e61528b321e5b9d6255b90f205d9ee6a1f86d52b97cef1764fdc42ed14c22675111650e2237be27ec2d1e9ff2a70ac5832ac5a6db325f3fda757dcdec0fc662803cc76b18537c03465fa51cc15c395369001bbc615334f3aa161304b6ec18cdc2fcc44873e22bd833fafcbfac7a74f30c44aae4a176f48f8686002a6d10\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 23\n# m is 0\nct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 24\n# m is 1\nct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 25\n# m is n-1\nct = fae12363cc51e266de7d74b989085f10fc08f44363fab4ea7fcc56101d116616c43de313b70569cb27de134ecf35fcbcc448a81082678ee1ae427c48f459ab2c42c9085911a3d81c914f047ba46ef1a52a4983eba1113bdf0ee95e85cd23224cf832fe3e916d3bffa6ddcfee0926938b2c51c8904bec4739afc4f07979cbeabd514be5a2b87abec71c7a2b39c736d776442ea9e95e97ddfcad4c4c3b41fe856f81cce539b5057abfc6fb1aa153316ea4f8e76b8dc8804ee10303fc2dc182f7ce5d907e78729679333b3b012574b4c7c613c020ce1388ad37ffc0f6b2330cc5edf7ce9ba80eb984b6da2ac59aabaa3a29172ed2937920f47c17447e6185119b9b38a9935658997b487735a8184caff10a8f555d034552fd57471b293f813f19aa6c2139877992436fd1949ebe2259528c91716414aa72ff90bb5142d2fd5e7ba12d8df1ac995408e7fb645a9ab7b6f695e4050500a9042253833b055182657915246589f8362203b5517b2f7117d2aca015fce3cc41c6b1bcb2e672db142d5244\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 26\n# ciphertext is empty\nct = \nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 27\n# prepended bytes to ciphertext\nct = 0000cc6b45a4202ea5a1fc930a5008136091f48831e3dce258955f0a2fa95427a18ce12bc6d95424b983e2e75152b654a0c481014c6bc538354ff720b043f57c238c42ef536dccde3637babe7feab03e2fea7ddbdfcf1b689cea466c07b1aef757a7120141a2720cffda1ad422eae68d751425f879eb8ec65a1d0d24e1529a91f0643fac68e71da9f4d0eb56aae99bc03b600daaa127221dc20a5f5060820ba6cb1625382a4adc47185c0ea77d650cb517761a085a55e1a306c6136ba6a03d254079464ee8022a7e0189ef458fb4587b53fdec7864c90872bcfc5476bac7a7af7b104cec4cea576ded30bf4e24f80513ffef05b31e5031a2dcdcd2cba7784869c211c2ce0a3a65814fec0f153de0b8e327ecd2b0ce80a9bf691c1c08f5920547a2a08d749e229a6eaa4b770db54345c18ec3365f68fab045111d0928bb2cef7380dbbe07f6bc4fa3bf340e8fdefb1438188a474b206b430f988fde41f96b0642484d02adb39aa8624d908e52cc7fd3d39d74e002ea04a756b61be3f279ccc7206ee0\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 28\n# appended bytes to ciphertext\nct = cc6b45a4202ea5a1fc930a5008136091f48831e3dce258955f0a2fa95427a18ce12bc6d95424b983e2e75152b654a0c481014c6bc538354ff720b043f57c238c42ef536dccde3637babe7feab03e2fea7ddbdfcf1b689cea466c07b1aef757a7120141a2720cffda1ad422eae68d751425f879eb8ec65a1d0d24e1529a91f0643fac68e71da9f4d0eb56aae99bc03b600daaa127221dc20a5f5060820ba6cb1625382a4adc47185c0ea77d650cb517761a085a55e1a306c6136ba6a03d254079464ee8022a7e0189ef458fb4587b53fdec7864c90872bcfc5476bac7a7af7b104cec4cea576ded30bf4e24f80513ffef05b31e5031a2dcdcd2cba7784869c211c2ce0a3a65814fec0f153de0b8e327ecd2b0ce80a9bf691c1c08f5920547a2a08d749e229a6eaa4b770db54345c18ec3365f68fab045111d0928bb2cef7380dbbe07f6bc4fa3bf340e8fdefb1438188a474b206b430f988fde41f96b0642484d02adb39aa8624d908e52cc7fd3d39d74e002ea04a756b61be3f279ccc7206ee00000\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 29\n# truncated ciphertext\nct = 6b45a4202ea5a1fc930a5008136091f48831e3dce258955f0a2fa95427a18ce12bc6d95424b983e2e75152b654a0c481014c6bc538354ff720b043f57c238c42ef536dccde3637babe7feab03e2fea7ddbdfcf1b689cea466c07b1aef757a7120141a2720cffda1ad422eae68d751425f879eb8ec65a1d0d24e1529a91f0643fac68e71da9f4d0eb56aae99bc03b600daaa127221dc20a5f5060820ba6cb1625382a4adc47185c0ea77d650cb517761a085a55e1a306c6136ba6a03d254079464ee8022a7e0189ef458fb4587b53fdec7864c90872bcfc5476bac7a7af7b104cec4cea576ded30bf4e24f80513ffef05b31e5031a2dcdcd2cba7784869c211c2ce0a3a65814fec0f153de0b8e327ecd2b0ce80a9bf691c1c08f5920547a2a08d749e229a6eaa4b770db54345c18ec3365f68fab045111d0928bb2cef7380dbbe07f6bc4fa3bf340e8fdefb1438188a474b206b430f988fde41f96b0642484d02adb39aa8624d908e52cc7fd3d39d74e002ea04a756b61be3f279ccc7206ee0\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 30\n# em represents a small integer\nct = 26a03bdf11a01ee4ba476d721c110840d093f38ed49f406c38f1c46fc4735a29bc7deaa3336aea98f6cfde4ec8ed305b91a194a23fe73112768080aba2c9e152f6ad8fbb8401546fac21ff696fb1f52268957cfd591fab64bc48c3c87ae5b3eb871beb669e15e881c0a9920ee5f401910d3415850fe2267f5ed141ea6e69d01cde65fb0a8cc063c33c0d333b6c90e7838f97cafb7a8aacb14b499c534a6af12934ee0c7585bef97a1ebf74aff278664aad35138fca85f360ba259d47542be5f97733b8f5e7a39bee1772cb8038d08acf56d3e8f613ee48ef147d6f0c1f57b3c08cc68b1c8f106402baa6834d460efdb8cc1dcb54f79f2928f4509e81de32d9839f9a022f47a83d8616f482c31eaeab84318f898763de7048f507a517900666549cc093b3c8f4d68c84fb33190e2b413134061e20ff51b8da5545aa991f89a0f612b5b2e74b7ad7facc491c7bbce41799ab70be4bf96a0ec76017399662ef8a6d8b3d8569ca86b2952ca3572777efe99724f85fa0375b29bbfff7380c36e4c533\nlabel = 55aa28091a62698acb80855f292ce725f088dc8fe0045e9e49375aa663055d72353a67087466c68306ab0135004b7cec41661da3db65188b9af52b255bcc888300000000\nmsg = 354f2c7d123c5bd8675e6f05c7a2d2a68f9002439be237430993ea325858e6a3690cc9345014539db4dffbe387995de694ff13c942a4d2634caa52b8451d2b04815d9a764cd9c7576943b559b7639ed8c0b604c2e59e65af105988c71dc91c6a0970c8917b0e00d3029bebf66129d4dc60b03a846decc6bb2cba9c45f6b2eefab79a9df5bfc01d93d5aa6bfef888d7334fcd0d2cd41f7b3e1c564dcdd2eefcb8819a66fd703cbbe9a4d7fdede75fc8578b94f8ae0009bd188f8c7469d6588ef8f240fabc1ddb0174783967106d2b6aaedbc15c4ece1cf7e12ba1d14415d7261d6d56efe0bc93f6838569504a131a4e126124d933bb63f6df189145caadf7\nresult = valid\nflags = Constructed\n\n# tcId = 31\n# em has a large hamming weight\nct = c63dfab03faf7d5933506b3a7ead6c6cb9bebf25ff4afc5693428e988bef9fb508e9d50f58f8e76f26121eb98f036c15d2538f6c8d7e707aff411d24b9ec3fc5ebe0fe04de2f13c212f674585dd157f5609b9ec156a04642e1b087b6b3d2a7015324c5c3986fb8a32482ca52821c033fe499e41aad19a55d934d2b179f6c89bf3b34b20f2fb616356b13b4aa8041089d9ba831f0868a66175609f4e3cf067289ca512b0444ee3a5761b5b95ee79151eb429e9fe2cf946c8dd86d5862ddc33997eefea8e7912a340f3d1e2d5a69eb32ec2bc82f74c4e68ba8c565dad2e9c71b81325d76a3fa600120cfe96613ae89a4251200df79ab92b1f04d9ec34f61f4bc71f05fe27b972c91be268d1e52dc46d85911212b9ecf42177f3be164fc99d11b878f1b85a508f13f583b4a0b7cfae186c421b34a997e31c594b7370503830ef7fdd8b50198def928a1075594a6e0b418e5361cb186fc3bd4ba01720081e21c9646aeecc0882c847871c894562508ce3320aec2f9b04c5b25975c9cf5af7364a3e7\nlabel = 5360d4b1eaf5a46e6f6a6ed03c0d405e7ed7fc2cecac86bf3cb27348f9d66a7bdca863e055ec1b6a5b20c351d63dfbc7eb599589d69a46ed7eafcd2ec117547b00000000\nmsg = 5265a56c99e71128fdcde31cd5918fd7e964b9f1d216bc9c4c10d6ddd3f63b65f0d3041f061c6eaa6f60407788d", + "77e12b4e7b3b2e3751d2f1774d626e83d195c5b4d23e3fcb5f50eaf4252d720737b2af5a4e1928dcb7fc383193dfb13ffc6cafb3b609ebf0395508fa5124ed27207bef82e59dde2251dbbbd44405f69d771ffe54d269d417c42979dc014c1579ee58895475eb014ebfda48971ef3a08a3dc4f97b9b996ccf293d7b8f40055ed842eaece6d7fc4c76cb342914fe6bf89beef8ef463a048ec18695578ba514e5f6dd5813c58c7acc6f6eb02258dc3adcded16bc7cd3307e73445dad5f36e7e230dace3d4bf568daf408b6e07fdb365db5ad\nresult = valid\nflags = Constructed\n\n", +}; +static const size_t kLen133 = 40513; + +static const char *kData133[] = { + "# Imported from Wycheproof's rsa_oaep_4096_sha256_mgf1sha1_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSAES-OAEP\n# Generator version: 0.8r12\n\n[d = 097a59d2c4f70377793937bbbd95d19b5d01edfb1eb3b073e27e4cfed416820d4af4e04cc3f53d272ae43551ad0cd09b89cacb21a595f9f8423b3b0148d2ad46cf818fd9e7cbba18f4f84a1dc18f69ed5a764c6fa191a3664fa94a39bafb1a29431e6fedf61eb9164dd7684f0cb506248121fa948a32c8733f3d9453dae61c8708b2500582f32d91128775265f18bcab6eb170145e33dc40f1bab451194cf8c38f9fa91806bd225fa4b54ca50813b9d7a54f61e0000e5e0769cb2a3eb99b1ae9c3c5416dac83a6f91248c734d7e63291ce12de4d780703614128f878f29015801c7a5ec7670e531e1573ebc8ce63d640b01b9aea48b43d1eea8ad85b55423d4e142bcf73315f3e9e978b65f0556246066596013fad97b83ba552140c6957ef443ccec4051b2a8c9cd9f25c4cf6bdc2e904f46063e319643283462a4047d49c38bdbb0ee3d87980ec08410d5d2dee8e5349958e4178aba065a55d79d89080570fd4af5678b1573e42f2e0f863b31bb4e19ba232c02ae5b8f948d1ce8145c4968d24b56ac930b4f67047257f3c0b86bce7a77b8d0d87124c4a4141409ac11377fb9fc805d60012386becc2ba8478e663becc3d73239ce3036c2d2fc9e6e2e370c2c78053ee1bcef7a87872ef92b784638b84713a5d78ba8c3a868e3466f2275b252e19766d2104ec60537bc1589b1558b76643751f6a60fd8a5102b6c788e0f049]\n[e = 010001]\n[keysize = 4096]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00956353ecb7561945dc5544e4602466078c93f28507701ffd39e2a9813c8ac8740e6ad61c955d484e513b3dcea527e001a018ee2c207c1806a96763280236cd3c820dff79837c9b709cb4b522d3ddbc9192242259c43be75ea244d37ccfa8a4c75024a2cf7cc76e842ea69cc7ca1227405b070047387a5068e4976e4b8ed5f9aadd7b4db024fbb8d7bd8a040d8f6610c1c6eb1d4b606dfd182235d0360880304d5a750603af0c424b8c8e6dbc12c3697d2d609c97547e774e2e362ea96d1690dc9432112c535258b3db2c4c32ad510d6c07ad0788357883869efb8b629298724847925cf42b34386be700f02903db5852276bee2370941f397bdc3905e30964a0b5e73602703340960c3ed6078263b611f197955fecce4b9a32e43cd1d2e5e87c4ceb65edc8853a7ee31d28e16e5adffb8ac7b760fbfc63d5f174f4d0936461dbb12c964a6b6d6cee752e5fca1ab4a9fd238dd3e8860a1d763d2019f9e7b99ed7666d4e038710f90e0093bc566987d6c0092f571376e705b342d066c54e6e2578927b92c1f0928de44e9a6e1f49b907c6aa4f605ec9c398d55df81c67373b03cc8110162fb417f96fd321048647dfcbb392455115cd912ea83351853e6a185284648842adcbd25e67174a3b93b8a64ce2ce9de0e8577b8b662ce32e2565782665dd38e5bb5fcc4fe12e4320dab7773b545a09c6d39d9dbad459f21f3e624ee6ed]\n[privateKeyPkcs8 = 30820942020100300d06092a864886f70d01010105000482092c308209280201000282020100956353ecb7561945dc5544e4602466078c93f28507701ffd39e2a9813c8ac8740e6ad61c955d484e513b3dcea527e001a018ee2c207c1806a96763280236cd3c820dff79837c9b709cb4b522d3ddbc9192242259c43be75ea244d37ccfa8a4c75024a2cf7cc76e842ea69cc7ca1227405b070047387a5068e4976e4b8ed5f9aadd7b4db024fbb8d7bd8a040d8f6610c1c6eb1d4b606dfd182235d0360880304d5a750603af0c424b8c8e6dbc12c3697d2d609c97547e774e2e362ea96d1690dc9432112c535258b3db2c4c32ad510d6c07ad0788357883869efb8b629298724847925cf42b34386be700f02903db5852276bee2370941f397bdc3905e30964a0b5e73602703340960c3ed6078263b611f197955fecce4b9a32e43cd1d2e5e87c4ceb65edc8853a7ee31d28e16e5adffb8ac7b760fbfc63d5f174f4d0936461dbb12c964a6b6d6cee752e5fca1ab4a9fd238dd3e8860a1d763d2019f9e7b99ed7666d4e038710f90e0093bc566987d6c0092f571376e705b342d066c54e6e2578927b92c1f0928de44e9a6e1f49b907c6aa4f605ec9c398d55df81c67373b03cc8110162fb417f96fd321048647dfcbb392455115cd912ea83351853e6a185284648842adcbd25e67174a3b93b8a64ce2ce9de0e8577b8b662ce32e2565782665dd38e5bb5fcc4fe12e4320dab7773b545a09c6d39d9dbad459f21f3e624ee6ed020301000102820200097a59d2c4f70377793937bbbd95d19b5d01edfb1eb3b073e27e4cfed416820d4af4e04cc3f53d272ae43551ad0cd09b89cacb21a595f9f8423b3b0148d2ad46cf818fd9e7cbba18f4f84a1dc18f69ed5a764c6fa191a3664fa94a39bafb1a29431e6fedf61eb9164dd7684f0cb506248121fa948a32c8733f3d9453dae61c8708b2500582f32d91128775265f18bcab6eb170145e33dc40f1bab451194cf8c38f9fa91806bd225fa4b54ca50813b9d7a54f61e0000e5e0769cb2a3eb99b1ae9c3c5416dac83a6f91248c734d7e63291ce12de4d780703614128f878f29015801c7a5ec7670e531e1573ebc8ce63d640b01b9aea48b43d1eea8ad85b55423d4e142bcf73315f3e9e978b65f0556246066596013fad97b83ba552140c6957ef443ccec4051b2a8c9cd9f25c4cf6bdc2e904f46063e319643283462a4047d49c38bdbb0ee3d87980ec08410d5d2dee8e5349958e4178aba065a55d79d89080570fd4af5678b1573e42f2e0f863b31bb4e19ba232c02ae5b8f948d1ce8145c4968d24b56ac930b4f67047257f3c0b86bce7a77b8d0d87124c4a4141409ac11377fb9fc805d60012386becc2ba8478e663becc3d73239ce3036c2d2fc9e6e2e370c2c78053ee1bcef7a87872ef92b784638b84713a5d78ba8c3a868e3466f2275b252e19766d2104ec60537bc1589b1558b76643751f6a60fd8a5102b6c788e0f0490282010100c3c677495c2bd56619e44e26140d2ede0037409b81f3a5b3886a0904eb486140f43b8626af13d14a33918eb72b786b3c9114f39017871528953c09104e1fd2d36b725388f54ffea30373077895a6934ab174e55ca6a12c21923a7b775b5ffaffbd813f9fb752805b016a5735b883c639fedd55ba2e233a6dc1673063d8487390d1676123544d3def177a91caeef98b13f38860474e44993d4c6060926d878a2059855d0de1c794ac8dbdad655fbbad20f152f15c73b95ac544cbb87b8bec8fd3c007ad09d76ae22a5e993302aa72f11deb265a7f28b88976af5d0c912d97b7284b1783c5bc91a6dcb7a9b97fe53713965857742b7e4032dc5141acd4afd4771f0282010100c357cf685f9b8d4e59e96686f7b8752f0a982efbe6658e6bcdb615d921f5e7056882825347455782d7bc78d637e17e0e6810c2136ad81b16cc1c81750785924616f2bdf5964b26c7fc50fa98fb67b746b50812705b379f5deadbd11dcd2fec7b724d042aef25cea2eb37f85b7554d7ad49fe5f47737ff436bded418507f2f175c695e324fbb11beb0544a7a7cb3f07924e291b5c8ddaa6a7dbb07e23bce1960cb52b9000d3a7aab1f58e3c750b6d978adf3d085ae7693b7e6a46cf6dbb6d2ad981f4bca5d15e0962c39066a9fc27985b9ba1f51132355792796a5dd847400804f98671ee4899050bdc2e7872ce6fb2b78b1050436d882425ee0745546a6a1c730282010100a6bbb5460638d2b2f5242aa6657760cdf3731b1415d5f2ee77248f6fe00e31bdc70396da054ba47844791809c9fcf19f90943e671e928e23950d9f4e82aab9bc138b37b7b1ed2219a54b67367c8574762db237d0f39cda5ff110dbac286712f69167ad4f122b3263cf4dc8de58b9e9ade4f08e1d5543ed74223e06c9521f4a45310291892c37e8a262e5a19b2a71decfec1dde997c00125e5158d7867dbfec9466899d59c04b60c4a0a6c5314c1a2375a5f194dbbf37422635d426d719b12c41140fb5806735814ec268493861002977e8982e8493a2ae78251be32315a85b75f6961d44dfb7505c34135987a2288907074fdc015ab1c45f3cd8e91fee6bcdd302820100178cd58f72bf5118da141e6d351e42da69ff90e2839348c94c62a05dae0f744b9d9ee6515ded4930980bbbd1afa8fac687db455a8bee03ce0acb80fbf7ed2d864fabf224d27abaf12f45200123860c7d74c3c55d5051f35fa239e00b24ba9b5b029bb05df0b8f12189141558095c32284d1c62a63d917682c700fc7e2a482abe1533eacf819c878e1cf37af6eab4ed97c0de89d2edb327966310f31421e85c6ba9c7d7b391d0cbee6a793c66abfb09630fa8cf020e960c3b205aeb15029c95a6e558f90950a572a23a8b852507264ae2f86f5d1936a161ae61fee5d3763b8cfbf48d35dd1159895735b350881ec52e999c255a57d6b3ac0ffa935bd36284ea6b02820100484ad86e79415ea3c78af5f6c807cc99decfb14ca1e80c8e6a1ef00ee582d3d180774236a54ec9dc8dbcca51f4da4379cf634f3a07cea4b7748d7b5d94cacd4d474111f92d19f3ab5eb4def8dba57b990844efd28d85344666e283f5d5fb0e6e8d96f07411c882bf280446e49b3b9b15218fc24da34ce8f01e02735920ef48a343b4de11f99b26547a251afa7aaa69083c421e2447b1a989d50712bf8fc35882b63517c7c39843cf67b92645b68c6d8f90331600142e6cb97032a5af6ef7c20f87630c6b25dddeb57f2cc0cd8c8a0661b5f40ed6632989f5d40f33bbfd9be09374483606c2cd7ed8b5fcb8bf3df1f9368a13922b1240c0d25792505b857d3e8d]\n[sha = SHA-256]\n\n# tcId = 1\nct = 864915b51654401f018ee23280252369c2a4655156b167747c886796da7fd08af0e5ea3e5e477ef31498be2547e78de91aab3283aaaead23013a01cb14cbc5ccafb27b345af079fe4520c6fc4f4395abe18f8ff3525b7f9bcc1876693800de79ea33fc5c3aaeafc9e4c97535033708b77516a891fbecf160fa3f98ea6b0b7fcf69ef44c470df232a35c48e758dc4b70965d2c2256753afde954b642fe83d181759949a901558dd0c88cd20291e236581199cdca2b5436a102fab4c6c58d5c8f2e867a046114e0c3662bf115126aae27a66ce932b4d9603e14fb3769a2b712e5b332ffc1b615bf9116455cb802f907a0600d9ac9d292a4582d356b6f8c06d54f252ff17d1d4d07ae25ba1fccf3ae9b372e2b8420de1b9258217c15c80bf88afbdb5a879fe31fcd7c7a275f4b7432921b8de5bcaf43ec8db6ea38a962b79d810904406573cf3c40fc416dc5f8d2d8feca1285748cab7d5335cd4c253b656b52e9ed1b8f8dbc4cd93962028f0ac1feb7d4f754c0aeb1c31e961f25965ec2328ca7049661e8528603c117f9ed93b74bca5954936546bf729e4572682bcdae42f0e693fb3d05de3fb7f8728825675268438339debeded1c2d50bd89128b41cd40cbb6bd68564494b06c9bb43e3ba7edde3f89933165eff31ff255e1174d51b885b6b61d4d3712625d78423640fe911e761fb05bc702da7bb7a6819727dcd892f7462c\nlabel = \nmsg = \nresult = valid\n\n# tcId = 2\nc", + "t = 0d9e70cb448371ac08d862e2ce2cec00ec8cadcd05aab58ce26c5c098cb8aa64ee561c446392253b3b6349c286f1222a3650d2393aeffa1eac0832552a43d11f7780f6f219c8ff1d1c98bb085092751f479aad553b0243537a23e53a9c9779e15bc3c8d8a176693c3261b4c0520d634dc5b3d618565c1428cf9d616c6bff17a4d0dceb97339f5556f0d96f28b187309a48174651383989854585ae85d30874894e6d54a3a65e16917c751f3edf1d1653f22ff5d3f1eea35b390c1df1912469db041559b9ccf8148deb9d4caf8cb587191049bc575cb20495a9b0837035d2b8c47a74190829e13973b5b72eda42ae1a7cf0022cca75f86f039c64e16797836c83bcc7c638d22fe1357444bb4e42bb1410d7b63a8c122006f45dbb942a802aa4a964c6b17f21634e0e029a9a6510158f88dc05f9c6f4ae024c6f13d32a4d412ba0dd0b9f7382a1771a61a35fad4e310becb6a5a59dffec526a9e06d9feb696804aba676d0d9bc043f07068c7882b1f8cc19033b78416d64d5c6f4b2d121d170e4924cdb9a7179ae3a93121b814fcb74cc25eed8ab26b12890f9392debfa3c1b9382d41f8bf0d1b8cd40a724478ee753c70d3f3820f48b6f8d71ac6d62d4e319659b188a24b586521986fa3ff61b376e6a78a8988441da519c6f986f10c32bce6ce156ab0e2e1d4cd1f2765d0cfbd8157104b64709c4f8380181f8021f9fb153b15\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 3\nct = 40d37ad25e0f854b3f3431c1bf0e24dfdacddd8985895dd95f95d5b664e03e9f3d6c006973be95f2b17621615b8fed29aae91454a4108997a7dde9f279a93909782bfa6ebf7eb69c198d656752b980d6424f054b3458c8b772f509981209e8514f5c366d7a5272ba91072339cdcd81810eb2c27f47da51e13225e564ec772a0cb40c95a295eddef2f5dc6fddbedc8f7c2b141049979b7373049cf5b8f91b093fa2cb1220e145e5fa8bd1581dbb7ff6f1e28f51f15e67350f145ba336d4a894a1156ca2cf35cd8a29318d084e28d4402529551e8fde5a30c8005b983705cc67a7cff211e2a23065ef9342d4d065405818997126e14834b4f3073a6845add06853121bda9df7fc68e2516e72515d43ace942ba26c0bd36f58e93fa586183533b82cce7c8610b15ebd305d0be2ec52636377cdddeacd4eaaf84fa64e7bd17dc2acf0cd54f75181a7e237a6b1cba8514dac2c0301fc7b28ca07dab48894ed25f0d2c4f755cb6b83eeef73107338cc9bb21bb16bf8069f41d5a86b37f2c4e9f793d5226a5723c5c95da151f663e8c96f0dab2af01ece8ca1280fce698ba99d033817f79190c7e387c71ec8c70d04ddf965afb5e0c106e1ad913882bf6295b8b45d6859b25125e0af2514fe66c40381987ee925e6619c9cdff3ec71534ea1cec815bd3ae8a4f66ecea466d9100dc1c94c64be432d8fc9973426dc2041583a96e68312b\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 4\nct = 3d8628a19ba75e418329363a074d5992a80446e9791583095c23ed66de5dd41c94db742324edfa2a8807b6e115460e48a30898c1cf94d88edd54e400e448025e44d35e27b89509e4bb5e73b5dcfddd38939180b69ee551aa3eb74cb3b4320127cbd77fd51b28da7c74871e20e5067ac610053fefed9cd4599971e219849142dcae66ce97d13c937f8812d619b6fe0df57abcec358341f82ffe13827fe7e8e26c1030f821cb1d43a8787ee48033f4f11c901adb48e7c85a950b3502fff2f12695df04d55e1c816464a636981de537d1b3e66598759c8b38e1d87b9cf69c752982b6b54f2398f7658ab446c12585975bd3154386accbc9b796abf8a1c4cf6ef291e9cc519bfe2e09084a20a88d1f2243ed8d21d199f983df56d8a176603a9036a44c175f1417b7d34ea95c32993c0cb6a029edd753c10d77944b666f3fbfd743adb9e6b60c06e83cb51ddae3f37e3632e4c2b547580dc1ab3c7c94c6f09226dca4884affa94a0e119dfbbabb42a85a516375f767dedc7d1e0cffbfb44ffbfc7534cf619d1f926b0f61ddf2dbb8921e9b27fdf9cf52776e0b2adb781a5b110849c4600399850bdbb155c2523862f61fa84bfa9362cddac0a49e276c01d31ff4ee6646d914819ed75e7395e04cc741a0d7f61503d940d0ebce7888ded00facab381e912fa737c5d628f820650cb9b867cdf17ff60f145fb2c107203fca793503dc22\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 5\nct = 64d5b5a72e27de69cd016f58fc0f7b1a4608376f0c9c51c7c89ac24487b6a542e414606aac2f00892e8a72307c9167d48d555d3c46f924e95b2f7ea6451fdd6eb7bf14c5543ee45ef6c30d39c9c31d93fc807d9b1ee85405c38a5952d1387e393ca9e357d819470f43cb202dc1275b91d0a5dec0b7b3c547994024200275bbfa9acee80b6adbd742563088bda0f2fb6989e78e2464f0b7a7dc96701792c365f9ad1d8efd0b3842bd407774c4138810bc0c7f5900e50cfa5c24eef43d52be497b7c8094413d543fa3474a04580448d8203661d3ad87e997777c112161af200af2442f591c8bb41f337c1ec11821166cbc3d2f264f27eeb2ebe05f68f610aacd58aab3722eb38ba798e9a9c083dd335be40dd65978cf0a67d0e78a5b9c77034dd7dee2ff87172f98b61899d76b384920570ed063670b5dea2e644e538e7124a4b8c9ba5da4afc1e1196ec194a797bb2c3ff90d8957ae7bb8ebe99b69b90fefcb876752cbeeaf4f921060e8cf420463152b32ca55e39e61cef5ad4ba4b0ee4a2eba2d784b27ded395bf85db2bc85eef5e0cfb8fd0ab3198ba5aea550fdc866b828b3095b2a8d4b71a6e20ee3d572b94cb4f6753ddfbb144b11266a1efac7808931bf3763a4a80d0bbf475e5a3d237eacdc58351c1400d5bcfe9006e6483cb664d0274c5cf12d2a18038b6e5643244e0ff07072e38eec29eab5090946e73b01474c4\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 6\nct = 286d5dd2d8141c8f28ad5834c57b729f39bf5f90a087ee09eba1013208793361cb39d338b4acdad72ef3143f45c6092cd790abddb45d1150abbda9c70f4d42abcdf71648f63172062ea5b64629430b5e3b88021cf5fbb63dcaaded696e3d6ecce60a1346d75a972dc6eb6f50b5ffb7da7a5b7b7f8a5454f9dde9fc21ec497b2223b24e3dd579e3c0518feccecd2b3dd91ed6a26318dea80b1eabd165a87bac00040c29f3335a7e474cd01cb8cf2f1a56e27d5377d17da3ca581e84149852b63868a9de2ba8846142b07d14ced219ee0fc318b826a35f7806fad240685ba4067949a79b9fa3252495f14f49db5b4a31710d4c1d04d8a2f6e7121762cb4873d1d5ddd05c2be9f8c09ce5e22e15342ae22f227d940c8ce9ca62f4fdb080b85a447d2af34acd4e77d126792a69892f63356061221c0c7105dd5e044bdaf073db841f0f25f957cbe259a2474b7cb6421225add558838757ccb028ad426ac1b75029aa08746f9a47df7df604cdefbcf4abfa92e114da11686a6b2fbdcfb9a6bb3e676a7bb288b88a9c9546eaad05a84e1cbfb22503e326c63c15c2c634085d2ad2d5220b9c6a7a51548adf4474145cf3045aff023c27f92c098d77f065ba59a530ff15f1f0cc634432a3b3fcf0c5d5cc58fe071deb4268fbf16917bdec618250dbf4d41efb3d13d0be332848a0512c5e8e6b4a6fd06ab4094550cf69d51e5321627dbd\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 7\nct = 815f21b2970412f0d01a6f7eb209b214b80a944718895712c0b17b86ae408b01d38636b0b10a0d50a761359b770aac9074d0a89a22431f031063d9fbf174a767720807d02dbf70f9c561214c8ea73bdb37b0ddc8ff2e72e744cfe48de0e2188f2c034d6a779434a7e32ff44f5a9016cdca2e8ead252ae8fa7b5137c033013dc1a74b5bdf048bf81ca66a424feb93d2579c63f2aebac51db1535217341b501557c7e034a5276c8279d46e8724cf0c184025f8862c22a64d9142472c098b8974c61b5c8c998f0e9c8eb5525dd520a190768faa9d3fa58ee6d93f2fc775edd368ae734f6b359469f4d3211895f35dcf1610a4a6981cd135709b91f2f7667b7288db3337bd46d6f15c0eb26385078f3943ba1e67df9ef34f7e52630d5a4862dccb0477a3988f25d970ee69cf860eb4b56a85665fc47995befe817a4e3fd2b4f112ef60a52180adee5a11edb9ac1458c1c6ec41e3b9bd40eeb906e206b447b7538be7fc0170915b047c998b8baba8430aeff4ee8c48c763be4a49a8d0b8b7b45a2f0e0403e18aa2bc30e754982d6d1872434fdaf22ba6ab298ebe29a739788e377c51a140e6ba07545e97eb9b2b12454c720653504686225a4c7966a13cf0dcbe8e1a852a2d0b828b9e708c1012ccf401e7ac94c9fa0ab5c4a19f087761b3d1129317571621593629f9459c94b92c62dd5d6827cf1c5187e98a9c20d27c0cf4e4b18a\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 8\nct = 91d2e4d3a0be29f0dde7d2033e960301ff15e0fa649865781d97876e1a566b19e1bdb2f7f458a524d6d86e0d6f5e72f0bfbe5d23139987cf1d8cf778fabbcf3b5c10092fcab71b296b12bd56eb87093e90747d28a2a85bb1e62b6fc841f0da507978c7aa9039c5d7bfb8dc20008153bf81e94222fbafbbad6289c4fde8da4ccfe8142f11a922317673f94aee392b3d34dae9cda01d4fc3dd1136b7341f45af106ccfc8f71aede870522664494dafd9c740e7d864453ca9874b909bb08ad74c673e97ee78e816db3757f80d3c1edbad9133361160296a304420841c37b0de7c73fb6d3dc1c98d9c637a57d145008048e02235c51c141fc0d38e0815ceb54847a381f02c556d1ec28f823fb3ffdc98e38e9de7d52096e7c4901ecb03ca1725d2f386296ef307b2f4a0471ae3e8eabffc1581ac2e1a00e70a3cbc584f7efe6bedc8d437a412035e527aae977647eb7b8271cf9dcf361750720289218c4372448a24b1fa8558cb8bbe928ab734d66b210489bab3292c2745a050ebd6a88d38359ca463ee4aa29bf84cc09e69ad4116765ca079d5a1023796342d7c306fc0fe8f2ccff4c2b1b855077f752fae6232761d40fa9abe063125cc56e4efd234fe6623325417506fb6d4be187fcab7471c16e607abda762423bf4dbac021cb2700019a1862e32253c0a8fd3c443d381555a799f4e2df7d6d0a92fbe889426c9dc8b6801635\nlabel = 0000000000000000\nmsg = 313233343030\nresult = valid\n\n# tcId = 9\nct = 5399224a31e400c2e26dcb43e4bcc394b22b87ad7694e59fde38d7f16e3abf190c877f79a262b6e9e172659acfb37cd3879dc2d4d86b0f7672f297a569650a37b3392602b147b1b1110431a4615389ff759e6ab16371a514259f1131a96952af64515d93eda9541791429cd14d3a2ca29c279088607ebc57b887cbafcc88f3e7eb65067e952fae40301e9b784f0c7c9f3251287d279634aa92573fa33b7845471f96c915352618618d733706d2d9d661afbb04b87927a2589f46d13d8adb749d14eba316c9cdfa066623c9882894345033e1414a3f3430b551f7de8d387662f75589b7f55c9ec5293c1de87f7e3b0589ce9b8e2924cf7b87232f0da39c0eb", + "0f89489d73ed6f7e73730d39823495cca741a19179093f15d6cb1518650c74138c1c1c7e4e65fa277757f17be457607c51d310dc10150e7b381eba75c607417449b7d1bfcd7223ea1d373826b623c7d1580d1e989060791f027adcb36e4bae8a7b09799ecdc0927256a218e24d1e4c51ef7d5f201f4a167d4ec77f0a77521c1747a67d413742f15b1393519758f9c98f3b621c361bb5eb9e7a5b904a324d98873d54944a18a87930a79d53332a9b8ab093afa12029406a078815b13872033145a421ad3b1cb9e7fda09679e7e75ceed95f934720e32fa3fafcbfbbeb028a62aeb8855569d7efebd70dc3f078686b54d26088c2870d698e42956e65312a57563a2b8\nlabel = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 313233343030\nresult = valid\n\n# tcId = 10\nct = 043e5e7106d5e9755860328c3c135bbd898ee93b09f329aff989c41a271d88239c9f079ebfc17c352124fd5a9d31265dd912ac24b2c506ad33ed33b5109e5f42a7e01cf4851c1246719eb1c75267edb673fcaddb07f0fd8ebfedaf7df9331f95bcbd21a766418badb064e6b0c436c6e21c74eee42e45e5d04d3ce219d089905eb700542144a045e0f7a94a38b0e20858ad94098e82a0197e077136352f26725e50d7ddc4771f52ebe4f486e1fe72dbb94f69968aff98fa9f5b820b368c60d82e89fc27f0aeff824b59a6e64a5f604df475c9e91d18911f5e0a20b8bba06d842d6a55378f382c0705b75a308b08a86bb37e4601903e18740d041c987dce213071ad7edbcfdc327b8dd6e8bf1d21c74f8bb0ef233340ee193ad2728bb511e7b7616d5c1ac6708ca3127b00a8e743b73ece1b007a09c74f60cefc924a0e04d967640ced76c5025246e888168dac8b3a9e4f16c0d44c8935fb401d3b171abd18b7c79d2f445cd22467c77d34dcdba4c01c5418def4c170189b396e4ce9216edceeee101c6b6df834ca29c9f2767ba5a1b14ec157c09217c28dc4db95490ee3c8d0059e9fb8314b4c89123be5e1f2c4bcfd732975550f5755a845bbee0c65aab017c25c306ebb43bbd14406be70e046a7589ca3235f529fbfa8ec9d9208a95f39cadf8b091857cbdcc6e9ef11439ba752b8d24d4c401f1e0862f71d07262f007e562b\nlabel = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 313233343030\nresult = valid\n\n# tcId = 11\n# Longest valid message size\nct = 0e617b28ed72162e19b7a80a8b57b9ea9c826d0ac8b230bcf449f027978034e1bdcfd55b89393643d97b082d7c1e7eb4f901241955ead53e18ea50e07d8818d01286e6c7f6a0b1edd82c40a18cd934fe4b117f3711f762dfff24668c511524bedbbf9248590b708c36ab59ea8449c9468ddeb978614c930d7cbc45e01115f5ec5bc8e024e6d4ba38cb8a3c80fa85142de7dda62ec3089c56a3a2a067b09a230890842e6844b20cd1e5143f4d149a99b86c162b3be1d98ea2850f0c336a9a0e1f350e4435b7d0ea8cf479f4c07b3ed800c51ee78cea37c628ad0f8d9d9df93c94a7b40c828927dcb7f53f705f9145bab0191ca8279957674707cc442482754603dce5fe9dcba2b0a545f8a3be70e108e4c7c9ec55f58c43cd654fcb7f0fe85dc2cc02fbeda0171dc5c2344bfd908692aab69fa50fc0d06bc7b9791dd1cd02f23e52fb26c7d017372dcd84f966b49ed939eb92b51d8d25cea6b25ba6593900075f0ca7fe54a43faf9686e35eb42658d2af3c62ec9b68abc449462342c1e1e4f5891d8a2b7b60446da02600bc65e9e48efb38b5ec69103a8447e5df840a266776eeda1864013fb966360ab45ba9410a2721850cd0e2672840c6efcce5d468a35f9bf0ec25046e47d0dfa4ee6241db8ea32125cf8a7ffaa9941e00b49a1cf68928d493fd1a16602dab0db580001bfece99fca4f90aa823717921e836b12ad2827e06\nlabel = \nmsg = 7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n# tcId = 12\n# first byte of l_hash modified\nct = 01cc477af0a4ef90faf0020641b6140a27ab93f44cc33a26bbf0a8bf451443db7a3b4625689cb4ae03fe2aa97efd4518d49148260e72120657b158a6070f400cc5c904b24c4ef187dc6c5deeab86130eb9eed59d75bf962ec900cb0b2df2a0086ea5a1ba9d85c9f71a5df2f61a4dcf73d40a1d6c25e5503316bfe9a2c58c3d6012367f51720baa470248a8d54c1e8cb5f8b1efe93f2bb7bb4e7f000e4c06df92986ee7743b9088571fe8b3cc5b16f35d98e633ea3b623d9c83e2095ae81b2877c36898c983ec58d74cca9026d3649a12248b09f04c49e3878715eadfd966af34531699ad173cb01f8d73f585dc00b8b3d72b32cd40903148c0b6167e4e80e2f3d29e5285486ce51dd8ad1cd195809a4ce6710776c19d9bffcc915da723493837d6f99a215ebe502da8cb4444b0421626b2eadf61ef05210547940210bc4e647193e0a7cf00a99cb51533f74fc29ce5fd4632862b8efc542a9ca0e2da81b50d1c72da1dee2bd9af43ffd5264c92e5c00e9cafcff11e5b4f9b6e047e5a19e7e599a736e15463b363f250a2e1616162dcbebf4791adfa8b51e80eda02a8440132a80fc0f0a2939f176fed967240ff457676c6deaf5bd76a3c826445ce807ccf4135c7c4f37b112ad2f6a10f213e4fa70ef872eec4a7371daf30ab6ec5a47bf8f1a9f6f7b3798e3d5bcc0d313eee136cd9c0d831af2ba21dfbfef9fb6142bc36f586\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 13\n# last byte of l_hash modified\nct = 1c95586fb690af2cceacd7c9232c70a8a52fb37a7ce391e9da23cf087e3b4c609081977a713a032c4dbc263a369c9b57f7036f6218b9ba5f522cd965a34d8cecdaa0a79c97a962dd5641cb6b68dbc77018238489ca1d64b9d3a3beb33eccccf81de113073030fa54305d959180340c54c9ae4f3e5a3c308c150f0498cdbf23555ee5377805d2cd58e72d6109030837740131a6a7e5c894ce498eb4eeef7aa8099c727946ba78f684103a1bd386840932ae99cac1ceec176823bd4c2c5b7c7786e2f071add8a940edc4695d0e031c1466906b4e6e974f04e80d21177a21f4caf5e2d542d7574df82470308ab1215a83b9380c6fbbd34059a2896f156a076f13e95501784ffbeb42002c2659b88540848cc06da46d99dcb7ac4f6294bda2e0dfa699b1d852eb946ed4538b4b743fca2f1384cdd3aad9e863874448eec50d7581c96fbdde8af1d6496386cf49161df95c1fab9bb4f905f3dad3dc67bc70e21629e19bc60a2a9300b246964e5d7a5a56942eee8ac4676556283af90d27274bb9f460b3f5374deae951140d616c34905310a36b2c52ea789610288e60bad45c26e2df328161c54bdba8c7b25b077b2ca5ece64e59d0e35a052839bd762522b4a6e2ea4ea98426f7b50b90ee1c39b2ff1ccd1789188cc547645e96857f9eabdbe1ee17d4e040f2f34eb826c9a2f5a4712806efbaba70b3272797a26852704e9a14c50a\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 14\n# l_hash changed to all 0\nct = 6937187451f030bb4e8da158c24989f1466afe60449e8f720abeb3ce766b5e1fad5ce87b6902b67daad9f6deeddedcca13be3a888cbc0333a205bbd292e0daa9367ad5901547b70de0174f644c3d824df3861a1bb6a14cac290e70b06935c39d9bbca33932f5a4cc18f96561a328f390f6e6b81aad21c090c2f0a654b18674448a9a858b6b2d0e9b2bd2782516e4a7b401e04845a24882190361278557785f7ec9bf9eee62162543341a8068018a92600a5ab037b9a646a294492e6b8776c2f3613ddea88ca7e840d89ffc3a3a112fc104d52a01a5493446c524a5c02f5f8aa393c3f46cbf05530bd70747ff7dc95f021dab34c617f550f40ccce73e92d7a351a67f4c531eb3e786f6b92632444f36a8b7a554be5bfa9f8f3c0eb18dd96da5eb9fbf3d39f79495da701a549f5a4a0dcbcf147d9f992ab83ecac1504b2dd11ce7a1ca3bc084a2c611c68cfa89aca69626d80cf2a016cda8f47f6536f085bfef6a18ee2c84e0cc32e9dbc08981b6b54110ac7a8146627283e5bb30f47869d09987da689cf5b6f3aff6893dabe94d1c2fcdbe789d29430a3913e4a20aa6569c26d88d6e15030eeefe1fd1ef7ba865e52a9407fbe4578685672a4603d41c09a9aa99ae0033c5265117d8438f64a3daaa862ba2931fb86e429870f51f77697ef8e0f4b11dc6b70c9a1cc47fd2cce484f7d088d1d3a0fed120555d56d1e7304a656513\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 15\n# l_hash changed to all 1\nct = 35826bea475a851d9f7c2b94b28922aa417b7cde808fb6cea5a243a3f414bb2c5c6dc76c00dd6fdc692b085334c38ffbb4619198bf1c9f4cde1056f796f47adfef03207a911d7529bc6ed81f32b632d0c2d127556b9ef010d68a2f45071dba2f128052b3e34588c8edaa552f7e060156dd683dae4dea4bc0ace1e17681ff4d826816dcf00dad4dd17df81aea72ae1e436f42c4c9f0ebbcbfa801d94db1bf0f80f51cd82b25aab6b9afd42a4c22ac9c04dfb0faa1b6954941d8684ff721cdd485f81abd6a59793f681f371d2e2187e7f7c034f5f5d63560284d2e0de7aa27b61a3863722b3898769eeae9dcf124f6314a13328459c4093105481f7cc0bbfdb872f3f304892eaea2971420eeb0b86c5839be6afd4c719a50ded51fb8d1fb08568a7d12ee7614b6e8be6f21baaca84c166a69eb773dc69fdf855d02548a188402616794437a2a9aaf50ab6a14f0f172af0af4a89c057e857ba40333a8ed3f61c6e08a6c98679f55da53c76c1c1349791ccbc7cbb3c189a52b2ed23c6fe86f00a2394fd664bb7a8296fb32868901dae475bfdf0b66cfeb7661e5b734aa5b8689fdf54299a393cd85921e21d35bff5de824a9434378106c3d21f2716be4f8a60a37b64a429a570c1e19c7a5d2e9db9f110e7c0727a711d845a1d8ff3a8778852eabfb793d5a0054", + "b6ce2e38f4d085b44603b812611bda8754025e89e65cecfe99c11b\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 16\n# first byte of ps modified\nct = 29d887eba4aa52b73b5bb2308c0fe6fa78e6bd682ac7278fbe85cc8a9f9d009b2ebbe241ece0dfe5b6002921e555771ac5e5edebb8894be534e00135ed6660bc43e32fd3c20e8147f1d998d5291e877e075889a114b87a0051771a8c8034d4317e12f66d40955dd6d2e97eb2b0877ae0ceedfbe345cc10b5e6e3f41cf875f2600480c513672c8c0193d8f141feddc8ad82ff0fc3bf69663d386c968d53a4cc2fb82cbf8584d3c4d64280925737e1b6b27e60a443fbcb38ab7c4d14c81c98ff0018572054746a0ce3c6a004ec5ff3a827a140aeed96cfc0c2480fbaed571718b30ffde4c1de43667125ff7f68a5352ad76aa828abbb4e70dbaf02fccf4656382d4b7c261c0f858be7c59497823c892c52e9b2b8d57c70e82c8059345f12bf2a0fc4a214000e79a4f04ab7016c7ca1184a32b81243e44dae41d045933b9dae873d6b836d0b9c911616993eae95830ba8c5698d3ea722c370f47cade258cbdb67f1eb167e51c6f4b12ce7adce403a001e78092efc30a214939e3b86655bcc37d8b485d53b6e2ae42c18b03bd87299de70bf553a112e9e6bdbc2e2441c5072ecd2c74c25bfd94d7f5545c29c7a304be24be5ef61aec5ee4b119e971784e0189903240d2bec19ef9b39b528c65221649e72dfa36f7d04aa0becb4d147a33480764208623d0be7eaf7b466be492223d12c0fe756e23fc3b1212b4c3d257d50712c0385\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 17\n# ps terminated by 0xff\nct = 7e977901be2cb2d4f55451fbeeee9f081b945a7bfdccd3e16d502a15b2e05b0e31390d996a74de4521104bf642f5c1f4b28775ee21dce345273b595a6ff7578635c888f9d3615f9852a0530b65ee49695e1d88fa542e3852b545d361bd8ba4f9d66aed3a7d59101dc971aeb3f47a3c4f7cab15319981bfda2c68a491ff3de9b8975c8963b692061c8a8bf3b5dd062d42e8a2efd1aad46f46be4e31e3cc397ede8203a3750d05537992f310c936d7559de5745cbbacbaa0cc8bfc549b5299662dfaf3cfb8a85c5c40e30d12f10b8cac0022b3bc4405644b328ae4b38e077cdf263ff9e2fe9ae44127dc71f6cff5487e76c51ff94cf6c28dea5771fee269d5c47a9bfe519ef6ca253677fb1a8deee6b51b9d6152b53405958e724281d374228c4e501937e5b7cc745b6aaca552b8fe6db2c346b7514831f4f0fdf724bba6b462ffac33f9a2b353ee8429307ce9e10b2f2e3af326bc79bda4a4a93d9d0560699b91a5afef136e1ae2af5d3c5f483af0578b032f62a5c65bba35c47ec5f0c662fee407c775ec8718b5ce7e696fa2f5cf2d7d553a7e1aefa31c7716762e4b2765e6b58f268576cee7143caf67cfd32e6759891d1f823fed71339efdd7ee8b3f7e3cc8c5655a86a6823114c14643c2ceff08b1cb448d8b0814205d2b565841899ed28f1a5240f914186caacffc0ee03a7dff8df4cbf4b7f587c19bafa9f33ef132d808\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 18\n# ps is all zero\nct = 310d8328fe04b15b0f7e92ceb3aadeb1785e71cf8a2081386e2938a95f4fb2a7732d8c347ea1159e9d7588d97496cf8f2c89285e7f226e7572055dbaebb4f4fc4bde689bdf6e6c9a0ecf6b3f8a98be9459d6d8b86dd184061d822545703e2fb958345bdb03465422909aad9f52d45eae132c5e6776ee9b37dd5eadc8531b69839ae6cfa8e03b35003cba6f1df317b522eb2a62dc4ce5ab7193693aa3352110d7fca5a8d74515a01ad236a515bd61bf74f768b8b26cd61d03a3a9b3e635677d8edb4264860173a1fb650ca4cc4fadc3545f84d1b85fdbf883addfc6607c898765f9ad4c3a6e64ac02058be83c8fc006a2ab52b3945fb0291509691adbc95c67548feae0d40f72e71eb9318d7a17a64dc65260ebdd69f97b608dfdaccd8bf1d371084421ae3b475babbd4dcf6367e3bac835190f2a9b21258329dfb8930793f76fd981c7ffe8eca6244e6a546ea4b076fe2f99a47c8dd4241a14959f9ee3aeb07061178d00cea20d9caa337464fb104087c6a9aeb1ec2a78c9c3fdb0c764c5128f7e2bef352dfa523fbefbc4d897a86f3a3fff8d1c24f8b9c8199ca7ace330f26c883d7dbca66825d8b001023438204c5b80f62c6456f7f3a383c27eceb2c3da0f78c4a9a04f12117658cc8bca5fa240874732e08e3df609e63f82f899aae27f08860d4a02afa12b495cabfe12fc3540c200e4ebbcd328f05ac68356b36c4c41ee\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 19\n# ps replaced by 0xff's\nct = 132666be585f41004622ccfbe802a61bde0f8a0459044a658e98e8ad9adbbd3b83c63144153da14dea424b7adc4294fe52961e94703eb7945ded497de3e26d682d745c7a37c88d88d0240ae3f334dcc23e2a6e3eb18888b7f5bc2c17f54d167f1704cf1f0b726a5301e1b94707f8c982cadb9b9aa8a559bf2dc2730b17b425ab0c26e4816a7d30d040a4aa995981db947765e097b5e424e8805a78980e709e3026ce5373ce1bbbdfcda646df70e8f8f8536a83f0284d685e99bfc5d0b98efcec6246241ed9dd3a1b01ffeef06b647be2cceeb122fbdd140999b7cb00a96c039bfabd7225db666a10478b83495c1c9636391daf162feb08bd7b4a1a69e9b0d2f846e9608ab327dfdefbd89abcd763077996dbb0a974472a17a843348d67b9fa1f630c3dba8aa8edc0c6b56cd7f05445133eeeb27377b4442a2c1dbb1d7027ed3f3d2a335b78a1a138b423f05cb16db5ae8e609d2f1c249668f5e47bcd9e405d4a369299c17f5e1d24472b112300c296ed49b0c094e93f0fd3ab10ca2269ed94ebd31c65b64c6988b8e0eef4f0bf7fac04758798fe736d85eb2025a82ebc064f39e529860a05ec50a86d16100059da2596f7d16861c88be135d85bc586cf40425ff0e2bccd7993e9e0fc0fac29465db116f79c0708497456a5cfd8ef12a50cf1c5183e05fa04ef7a6c1283b2aa140d8de9b8f5652ef08df0499b3ab4781c0619e7\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 20\n# seed is all 0\nct = 28c4f829d3446be96b30b681e6de5c390996a47e1a3d8ab42a4d7cb12eb7ed14d2f30a66e53e526b0345fba4f6f7ffb2434dd204dca8277c906b4d3d96862697467e33eca8ccd99f6e4ad1224a068d5bb405c4dd3cb3a18af3bb52b0ee49a359e47a84c5d8f5bd9c0ccf5bf0fa147af08ba92d625da26361ec5322e7aa2bd8f2c015efc99142858cbc77053be48a76de6cd665936efa7ad555860d8a6ca836a8d82aa179e97d5eeafd63e00a79ec614087a601d31a41dd151884d02c9ed14b93330d3f9026162b5593ffaae8ecc31c398b23167720e34558702d0e64adab0486a0ddf92e33c8553cb7ef0aefcd27f85c1fed5f9541f060c0b5d8ef2bfaa8537cc5b892aaa9c10237e9c3de2a57ce3722d36c8451efbe7a6f13e03e3fd87fa549d001aba5ce8cebfd5e171fc73243a7d6093980535351436175ebca6ccbb69f77d902bbe1a7a42d7d73685bc085bfe6baad593b92def6d419b500a864a7840f980ac3826f275c269f2ebc1186de6031b54f094f318b4835f6de0b460fa87ecfbcc7a1ff512db05c4db55b58a9f19f7e9e1e44508b2facee44c80911467ba8e561ffe7ba0600665bb2f957f80462f5490ea6b2645b27fc035215a3ca465c0616108b5e9ef246633ff8195c2b43c9f2a0d5a4feb1d5fb918e761d175fb6fd826874dfcedf8b4a13b85e4eedba6f12b7dd670b47b3f0893686880b4ca58ee05c1d24\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 21\n# seed is all 1\nct = 401be864d1a7b598cce9822ca99a41c4c8c3ee4421c6ce8f617fdddc4525b8b92551073d24b40f107d52bb3e6d4f9ccc9f857a49e3ee5389fd7f2140fff2181773f8badcdcdbf004b0ebd00b8732c118bc1552c14ad305eb5d02e0c75ead4ac514ef866f68814b131d94d7f4dafefab4f9751c00864f09e840e1b1f6b96f8b7bcb8b2285bb959355d8f1843f82166db5986be2c6d82bbdeebc45bf944b47ff35f7f6b97fbb9bde65d138fb7bf1e93cb635a8b9b2ee8b77117225a193c0b7317a4d28f9e1bd925c43df48629674f37161f7ee36ac41324ed0b070da7159b19046c21d6f2e850dcf024ce3c5149e4ce4decb467433f32cc5bcb32e48b2f5bbf3cbffbe002eaa347b68d5017c8d0d4bb0be96b4607ad1877e7fca38d52e5b88eea511911d9ea1cb4fe1c89d7d786b0acc3a21f344b146c8da86af77ba17526d5a00fd43c7994179841088587d184b6663b89702f7c54f453a698efb1089562994a6908c41e261daf831d3deb5994ea78aa415648c9148cc0490b5cd756dfdc205399d7d111688f501834e8bc51cc92859f0bab7fa86a111c78766a0388cd009ff8591b3b81304eb0222bb3362b921c1df0cfffa44027d444ab1d8c3c993841abc6ed49c96f341c2951a3c23c8250addaed803239bb494f8263ad311a1214ebe36a0e1b51eb85b9a425fcb6b8f178e02690446290af6fe01c09d5f4f9b36eb40d65b\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 22\n# First byte is 1\nct = 7f535a238cb7c5b93031a9397f139bfb2f373248f05c67528e2ab5db915a413b99734f6131452d43c82b82289565a6b9a601f5e3719e0fa0d44add201b5b2dcbec7925a4ed7dedf4d3886883db6b6d9b56d3391d9753af4872c3214cfe1055968d88940a3c3549ab27b22f7e56e7812e1ac1963f263e6a574d5f95296bfc1f34ff9cce1a7ea7f71d1832be55a18a78629f15ac9970797be6505dcb6f2a07f67acad1c058be5ec7accf2daa109605c83a5c928423af2bb802e787cc7b35717ea5ad221bdd0866c3e166f258976a660fcd923da605b11eb416b2ac80a42fb12d8fdc8a2152aa145035760c2abc4a88b3f0d96e14be3b01a2a7572095fb1d0f0df7b725a7247fda5afe22e29c0bf543b3a396531dee98c852c578e16049d01663fb57b42636305283a5f184ac11a0d4e912bb3da0913a27a515078de839c8665d9331b737e5b86e4cd7a103a40b73c9b64e0fd3d0d30b75bd6de1f6fcd05df200d059a19ecceccab7836970536942e0f7b7445dee987b47c34f89cc4de829109bd3df8f695a83714ea81b7f98f38006c13f7345b3cf1b1bdd70462613844b3e751cf4adceb98a6d95c63b2f245e5721c1d5f5099bfddf28ad796382c325cfd08235040572734dfe3312ec5d5a1aea0665859d00ec81638b60780d40b6fb93daedba0ef0bb8854f6d71261c6271b9c6e6c44689818e805d9bdc24a693ca1d83c6981\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 23\n# m is 0\nct = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 24\n# m is 1\nct = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 25\n# m is n-1\nct = 956353ecb7561945dc5544e4602466078c93f28507701ffd39e2a9813c8ac8740e6ad61c955d484e513b3dcea527e001a018ee2c207c1806a96763280236cd3c820dff79837c9b709cb4b522d3ddbc9192242259c43be75ea244d37ccfa8a4c75024a2cf7cc76e842ea69cc7ca1227405b070047387a5068e4976e4b8ed5f9aadd7b4db024fbb8d7bd8a040d8f6610c1c6eb1d4b606dfd182235d0360880304d5a750603af0c424b8c8e6dbc12c3697d2d609c97547e774e2e362ea96d1690dc9432112c535258b3db2c4c32ad510d6c07ad0788357883869efb8b629298724847925cf42b34386be700f02903db5852276bee2370941f397bdc3905e30964a0b5e73602703340960c3ed6078263b611f197955fecce4b9a32e43cd1d2e5e87c4ceb65edc8853a7ee31d28e16e5adffb8ac7b760fbfc63d5f174f4d0936461dbb12c964a6b6d6cee752e5fca1ab4a9fd238dd3e8860a1d763d2019f9e7b99ed7666d4e038710f90e0093bc566987d6c0092f571376e705b342d066c54e6e2578927b92c1f0928de44e9a6e1f49b907c6aa4f605ec9c398d55df81c67373b03cc8110162fb417f96fd321048647dfcbb392455115cd912ea83351853e6a185284648842adcbd25e67174a3b93b8a64ce2ce9de0e8577b8b662ce32e2565782665dd38e5bb5fcc4fe12e4320dab7773b545a09c6d39d9dbad459f21f3e624ee6ec\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 26\n# added n to c\nct = d2e97c8e52fd77875f7e7b1e6771bf9a3498396e8085a306960696e81ae89c90a3464a3fba4b4278d942f4afba6dee4a432186edf010f09586bc4728e67ecf9ac6e15da13c11a555581328d8b0db99ca25b5a31063213908e0fc203083daa5ef1bfc22a497f04900a32dbae8af18a2066b0c4037261724c27e09506513673c878be21c47f6384c57459cda2746641eb741a80980e3aff548204952b5f06912b96aa5fe257a2985f4050d523c46b85a99bd7b77e03c46d1e3396b31a96007b7727336e68a6fd3bd188162e4509288df1fee129ffdd203bc68777728592f0d9bcafe47ac17c42b9df69b47b14e8972b4253caf74d03c5dd6d027d4dacab27857329fb3879e6e61499e565f7e94a185f9ff7eb966f9e6522af10b85b3320d761f209902c501e03d0dcd8c795b7aaa67969bb4b58eb4bd09db6a3cdb6410533ba5896b134c567255a9a3930943bd98eadce1e6431b4093cbc8b2b9b4e0ea79e07b7beeb84dacd11f0aabfc4e779911e228237f26bef2536423c042901b154a6a9aad61dd2fe182fd9d462c8d49d7dbd7a2eea8492fb14131a400397036c248434d90e113afb4bff3aac595733ce93dff73ff8cd8b3e3a851d3465abd87118a0d40eaab61572f6aa9bcdaad2a885afa4724d8e3a1ba29286759deb5c1fe3512235e846e688cf325a278d94ea82d946fdf0945d9ffd5e7fd507bdb7a31e9b79752c30f\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 27\n# ciphertext is empty\nct = \nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 28\n# prepended bytes to ciphertext\nct = 00003d8628a19ba75e418329363a074d5992a80446e9791583095c23ed66de5dd41c94db742324edfa2a8807b6e115460e48a30898c1cf94d88edd54e400e448025e44d35e27b89509e4bb5e73b5dcfddd38939180b69ee551aa3eb74cb3b4320127cbd77fd51b28da7c74871e20e5067ac610053fefed9cd4599971e219849142dcae66ce97d13c937f8812d619b6fe0df57abcec358341f82ffe13827fe7e8e26c1030f821cb1d43a8787ee48033f4f11c901adb48e7c85a950b3502fff2f12695df04d55e1c816464a636981de537d1b3e66598759c8b38e1d87b9cf69c752982b6b54f2398f7658ab446c12585975bd3154386accbc9b796abf8a1c4cf6ef291e9cc519bfe2e09084a20a88d1f2243ed8d21d199f983df56d8a176603a9036a44c175f1417b7d34ea95c32993c0cb6a029edd753c10d77944b666f3fbfd743adb9e6b60c06e83cb51ddae3f37e3632e4c2b547580dc1ab3c7c94c6f09226dca4884affa94a0e119dfbbabb42a85a516375f767dedc7d1e0cffbfb44ffbfc7534cf619d1f926b0f61ddf2dbb8921e9b27fdf9cf52776e0b2adb781a5b110849c4600399850bdbb155c2523862f61fa84bfa9362cddac0a49e276c01d31ff4ee6646d914819ed75e7395e04cc741a0d7f61503d940d0ebce7888ded00facab381e912fa737c5d628f820650cb9b867cdf17ff60f145fb2c107203fca793503dc22\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 29\n# appended bytes to ciphertext\nct = 3d8628a19ba75e418329363a074d5992a80446e9791583095c23ed66de5dd41c94db742324edfa2a8807b6e115460e48a30898c1cf94d88edd54e400e448025e44d35e27b89509e4bb5e73b5dcfddd38939180b69ee551aa3eb74cb3b4320127cbd77fd51b28da7c74871e20e5067ac610053fefed9cd4599971e219849142dcae66ce97d13c937f8812d619b6fe0df57abcec358341f82ffe13827fe7e8e26c1030f821cb1d43a8787ee48033f4f11c901adb48e7c85a950b3502fff2f12695df04d55e1c816464a636981de537d1b3e66598759c8b38e1d87b9cf69c752982b6b54f2398f7658ab446c12585975bd3154386accbc9b796abf8a1c4cf6ef291e9cc519bfe2e09084a20a88d1f2243ed8d21d199f983df56d8a176603a9036a44c175f1417b7d34ea95c32993c0cb6a029edd753c10d77944b666f3fbfd743adb9e6b60c06e83cb51ddae3f37e3632e4c2b547580dc1ab3c7c94c6f09226dca4884affa94a0e119dfbbabb42a85a516375f767dedc7d1e0cffbfb44ffbfc7534cf619d1f926b0f61ddf2dbb8921e9b27fdf9cf52776e0b2adb781a5b110849c4600399850bdbb155c2523862f61fa84bfa9362cddac0a49e276c01d31ff4ee6646d914819ed75e7395e04cc741a0d7f61503d940d0ebce7888ded00facab381e912fa737c5d628f820650cb9b867cdf17ff60f145fb2c107203fca793503dc220000\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 30\n# truncated ciphertext\nct = 8628a19ba75e418329363a074d5992a80446e9791583095c23ed66de5dd41c94db742324edfa2a8807b6e115460e48a30898c1cf94d88edd54e400e448025e44d35e27b89509e4bb5e73b5dcfddd38939180b69ee551aa3eb74cb3b4320127cbd77fd51b28da7c74871e20e5067ac610053fefed9cd4599971e219849142dcae66ce97d13c937f8812d619b6fe0df57abcec358341f82ffe13827fe7e8e26c1030f821cb1d43a8787ee48033f4f11c901adb48e7c85a950b3502fff2f12695df04d55e1c816464a636981de537d1b3e66598759c8b38e1d87b9cf69c752982b6b54f2398f7658ab446c12585975bd3154386accbc9b796abf8a1c4cf6ef291e9cc519bfe2e09084a20a88d1f2243ed8d21d199f983df56d8a176603a9036a44c175f1417b7d34ea95c32993c0cb6a029edd753c10d77944b666f3fbfd743adb9e6b60c06e83cb51ddae3f37e3632e4c2b547580dc1ab3c7c94c6f09226dca4884affa94a0e119dfbbabb42a85a516375f767dedc7d1e0cffbfb44ffbfc7534cf619d1f926b0f61ddf2dbb8921e9b27fdf9cf52776e0b2adb781a5b110849c4600399850bdbb155c2523862f61fa84bfa9362cddac0a49e276c01d31ff4ee6646d914819ed75e7395e04cc741a0d7f61503d940d0ebce7888ded00facab381e912fa737c5d628f820650cb9b867cdf17ff60f145fb2c107203fca793503dc22\nlabel = \nmsg = 313233343030\nresult = invalid\n\n", +}; +static const size_t kLen134 = 50963; + +static const char *kData134[] = { + "# Imported from Wycheproof's rsa_oaep_4096_sha256_mgf1sha256_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSAES-OAEP\n# Generator version: 0.8r12\n\n[d = 097a59d2c4f70377793937bbbd95d19b5d01edfb1eb3b073e27e4cfed416820d4af4e04cc3f53d272ae43551ad0cd09b89cacb21a595f9f8423b3b0148d2ad46cf818fd9e7cbba18f4f84a1dc18f69ed5a764c6fa191a3664fa94a39bafb1a29431e6fedf61eb9164dd7684f0cb506248121fa948a32c8733f3d9453dae61c8708b2500582f32d91128775265f18bcab6eb170145e33dc40f1bab451194cf8c38f9fa91806bd225fa4b54ca50813b9d7a54f61e0000e5e0769cb2a3eb99b1ae9c3c5416dac83a6f91248c734d7e63291ce12de4d780703614128f878f29015801c7a5ec7670e531e1573ebc8ce63d640b01b9aea48b43d1eea8ad85b55423d4e142bcf73315f3e9e978b65f0556246066596013fad97b83ba552140c6957ef443ccec4051b2a8c9cd9f25c4cf6bdc2e904f46063e319643283462a4047d49c38bdbb0ee3d87980ec08410d5d2dee8e5349958e4178aba065a55d79d89080570fd4af5678b1573e42f2e0f863b31bb4e19ba232c02ae5b8f948d1ce8145c4968d24b56ac930b4f67047257f3c0b86bce7a77b8d0d87124c4a4141409ac11377fb9fc805d60012386becc2ba8478e663becc3d73239ce3036c2d2fc9e6e2e370c2c78053ee1bcef7a87872ef92b784638b84713a5d78ba8c3a868e3466f2275b252e19766d2104ec60537bc1589b1558b76643751f6a60fd8a5102b6c788e0f049]\n[e = 010001]\n[keysize = 4096]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00956353ecb7561945dc5544e4602466078c93f28507701ffd39e2a9813c8ac8740e6ad61c955d484e513b3dcea527e001a018ee2c207c1806a96763280236cd3c820dff79837c9b709cb4b522d3ddbc9192242259c43be75ea244d37ccfa8a4c75024a2cf7cc76e842ea69cc7ca1227405b070047387a5068e4976e4b8ed5f9aadd7b4db024fbb8d7bd8a040d8f6610c1c6eb1d4b606dfd182235d0360880304d5a750603af0c424b8c8e6dbc12c3697d2d609c97547e774e2e362ea96d1690dc9432112c535258b3db2c4c32ad510d6c07ad0788357883869efb8b629298724847925cf42b34386be700f02903db5852276bee2370941f397bdc3905e30964a0b5e73602703340960c3ed6078263b611f197955fecce4b9a32e43cd1d2e5e87c4ceb65edc8853a7ee31d28e16e5adffb8ac7b760fbfc63d5f174f4d0936461dbb12c964a6b6d6cee752e5fca1ab4a9fd238dd3e8860a1d763d2019f9e7b99ed7666d4e038710f90e0093bc566987d6c0092f571376e705b342d066c54e6e2578927b92c1f0928de44e9a6e1f49b907c6aa4f605ec9c398d55df81c67373b03cc8110162fb417f96fd321048647dfcbb392455115cd912ea83351853e6a185284648842adcbd25e67174a3b93b8a64ce2ce9de0e8577b8b662ce32e2565782665dd38e5bb5fcc4fe12e4320dab7773b545a09c6d39d9dbad459f21f3e624ee6ed]\n[privateKeyPkcs8 = 30820942020100300d06092a864886f70d01010105000482092c308209280201000282020100956353ecb7561945dc5544e4602466078c93f28507701ffd39e2a9813c8ac8740e6ad61c955d484e513b3dcea527e001a018ee2c207c1806a96763280236cd3c820dff79837c9b709cb4b522d3ddbc9192242259c43be75ea244d37ccfa8a4c75024a2cf7cc76e842ea69cc7ca1227405b070047387a5068e4976e4b8ed5f9aadd7b4db024fbb8d7bd8a040d8f6610c1c6eb1d4b606dfd182235d0360880304d5a750603af0c424b8c8e6dbc12c3697d2d609c97547e774e2e362ea96d1690dc9432112c535258b3db2c4c32ad510d6c07ad0788357883869efb8b629298724847925cf42b34386be700f02903db5852276bee2370941f397bdc3905e30964a0b5e73602703340960c3ed6078263b611f197955fecce4b9a32e43cd1d2e5e87c4ceb65edc8853a7ee31d28e16e5adffb8ac7b760fbfc63d5f174f4d0936461dbb12c964a6b6d6cee752e5fca1ab4a9fd238dd3e8860a1d763d2019f9e7b99ed7666d4e038710f90e0093bc566987d6c0092f571376e705b342d066c54e6e2578927b92c1f0928de44e9a6e1f49b907c6aa4f605ec9c398d55df81c67373b03cc8110162fb417f96fd321048647dfcbb392455115cd912ea83351853e6a185284648842adcbd25e67174a3b93b8a64ce2ce9de0e8577b8b662ce32e2565782665dd38e5bb5fcc4fe12e4320dab7773b545a09c6d39d9dbad459f21f3e624ee6ed020301000102820200097a59d2c4f70377793937bbbd95d19b5d01edfb1eb3b073e27e4cfed416820d4af4e04cc3f53d272ae43551ad0cd09b89cacb21a595f9f8423b3b0148d2ad46cf818fd9e7cbba18f4f84a1dc18f69ed5a764c6fa191a3664fa94a39bafb1a29431e6fedf61eb9164dd7684f0cb506248121fa948a32c8733f3d9453dae61c8708b2500582f32d91128775265f18bcab6eb170145e33dc40f1bab451194cf8c38f9fa91806bd225fa4b54ca50813b9d7a54f61e0000e5e0769cb2a3eb99b1ae9c3c5416dac83a6f91248c734d7e63291ce12de4d780703614128f878f29015801c7a5ec7670e531e1573ebc8ce63d640b01b9aea48b43d1eea8ad85b55423d4e142bcf73315f3e9e978b65f0556246066596013fad97b83ba552140c6957ef443ccec4051b2a8c9cd9f25c4cf6bdc2e904f46063e319643283462a4047d49c38bdbb0ee3d87980ec08410d5d2dee8e5349958e4178aba065a55d79d89080570fd4af5678b1573e42f2e0f863b31bb4e19ba232c02ae5b8f948d1ce8145c4968d24b56ac930b4f67047257f3c0b86bce7a77b8d0d87124c4a4141409ac11377fb9fc805d60012386becc2ba8478e663becc3d73239ce3036c2d2fc9e6e2e370c2c78053ee1bcef7a87872ef92b784638b84713a5d78ba8c3a868e3466f2275b252e19766d2104ec60537bc1589b1558b76643751f6a60fd8a5102b6c788e0f0490282010100c3c677495c2bd56619e44e26140d2ede0037409b81f3a5b3886a0904eb486140f43b8626af13d14a33918eb72b786b3c9114f39017871528953c09104e1fd2d36b725388f54ffea30373077895a6934ab174e55ca6a12c21923a7b775b5ffaffbd813f9fb752805b016a5735b883c639fedd55ba2e233a6dc1673063d8487390d1676123544d3def177a91caeef98b13f38860474e44993d4c6060926d878a2059855d0de1c794ac8dbdad655fbbad20f152f15c73b95ac544cbb87b8bec8fd3c007ad09d76ae22a5e993302aa72f11deb265a7f28b88976af5d0c912d97b7284b1783c5bc91a6dcb7a9b97fe53713965857742b7e4032dc5141acd4afd4771f0282010100c357cf685f9b8d4e59e96686f7b8752f0a982efbe6658e6bcdb615d921f5e7056882825347455782d7bc78d637e17e0e6810c2136ad81b16cc1c81750785924616f2bdf5964b26c7fc50fa98fb67b746b50812705b379f5deadbd11dcd2fec7b724d042aef25cea2eb37f85b7554d7ad49fe5f47737ff436bded418507f2f175c695e324fbb11beb0544a7a7cb3f07924e291b5c8ddaa6a7dbb07e23bce1960cb52b9000d3a7aab1f58e3c750b6d978adf3d085ae7693b7e6a46cf6dbb6d2ad981f4bca5d15e0962c39066a9fc27985b9ba1f51132355792796a5dd847400804f98671ee4899050bdc2e7872ce6fb2b78b1050436d882425ee0745546a6a1c730282010100a6bbb5460638d2b2f5242aa6657760cdf3731b1415d5f2ee77248f6fe00e31bdc70396da054ba47844791809c9fcf19f90943e671e928e23950d9f4e82aab9bc138b37b7b1ed2219a54b67367c8574762db237d0f39cda5ff110dbac286712f69167ad4f122b3263cf4dc8de58b9e9ade4f08e1d5543ed74223e06c9521f4a45310291892c37e8a262e5a19b2a71decfec1dde997c00125e5158d7867dbfec9466899d59c04b60c4a0a6c5314c1a2375a5f194dbbf37422635d426d719b12c41140fb5806735814ec268493861002977e8982e8493a2ae78251be32315a85b75f6961d44dfb7505c34135987a2288907074fdc015ab1c45f3cd8e91fee6bcdd302820100178cd58f72bf5118da141e6d351e42da69ff90e2839348c94c62a05dae0f744b9d9ee6515ded4930980bbbd1afa8fac687db455a8bee03ce0acb80fbf7ed2d864fabf224d27abaf12f45200123860c7d74c3c55d5051f35fa239e00b24ba9b5b029bb05df0b8f12189141558095c32284d1c62a63d917682c700fc7e2a482abe1533eacf819c878e1cf37af6eab4ed97c0de89d2edb327966310f31421e85c6ba9c7d7b391d0cbee6a793c66abfb09630fa8cf020e960c3b205aeb15029c95a6e558f90950a572a23a8b852507264ae2f86f5d1936a161ae61fee5d3763b8cfbf48d35dd1159895735b350881ec52e999c255a57d6b3ac0ffa935bd36284ea6b02820100484ad86e79415ea3c78af5f6c807cc99decfb14ca1e80c8e6a1ef00ee582d3d180774236a54ec9dc8dbcca51f4da4379cf634f3a07cea4b7748d7b5d94cacd4d474111f92d19f3ab5eb4def8dba57b990844efd28d85344666e283f5d5fb0e6e8d96f07411c882bf280446e49b3b9b15218fc24da34ce8f01e02735920ef48a343b4de11f99b26547a251afa7aaa69083c421e2447b1a989d50712bf8fc35882b63517c7c39843cf67b92645b68c6d8f90331600142e6cb97032a5af6ef7c20f87630c6b25dddeb57f2cc0cd8c8a0661b5f40ed6632989f5d40f33bbfd9be09374483606c2cd7ed8b5fcb8bf3df1f9368a13922b1240c0d25792505b857d3e8d]\n[sha = SHA-256]\n\n# tcId = 1\nct = 48b29ff276452ebcaa7f74bbfefcaa0cbba598beca99a178594baba98b126b2679e7d64876c8fe07e39f1f3fdd5c4f664a1ab314bcb75f1e906643fc4c786d66e90cac12b8c23aef35c4727451cb033d889e2a30eecd2f8d5091a6d52170ac6ce579c9c49701461185196aec6a380e2504833609b359d33a436f2c63bfea9a70e803f06644a0ca725a4c5b9b01cec93c01cbb79f9a17c401728325e17bfc9750dd19cfc127b9dcff8951a78023b9e30ef7ab628084d04f64a4be3b6d7d3da9d0a94d692a4cb275a7f509aac8dd2db4f797a374aa880c2d646d23760c51f3e0c00601b4c05f6e618372edb7d3a6f5cc9a26b5095adbff2134450b1ba238dbb9b3952f4d055f6d486e27e8cf6ff773896a0fc2991fc5ee046f6e81cf948afb12d669cc020b3aa3f14a18cd63830964c9662fcd3860fc461694ab3c6dc4f85fb4fa527f77e944e7c13b94c23fd0fd517a30dc00212d15bb25c00d48a36db8bdbdcc398fd6b1d229c762f7bf6e99d5452f69b91b073d866884a6e34c4608ee1df0733e592e339eedd59554e85be57c0a9689b69fac6e010d35c9c823a37f6f854c5247db77d54fd784ba82ea4e3bf776413376b4bae99c02a0226abef411f1d56ba7da24b72a1a5f74ab9d7431af7fc940d2319ce81dbc51390096d42a3072291ccb44f3db326cffac084c6a73c0b92919d6039e0ddaa9fe8ab1d65aff8b22cec120\nlabel = \nmsg = \nresult = valid\n\n# tcId =", + " 2\nct = 0788a1201bac2e27ee3c704ab8172cd45416bc353eddb23477841fd6e13d87b9926231315d26ccb3694064ed9c52ecf401c9be16f4e70e3d7c4eea6a2b20f32b53e94c9d26d10e60a3fc37983c4f63b46be3c04f66305c4aa23d409c9875ebf238a1d999114c9ce8644e7a93a8caf0cd006be19164508142b36000a3e3a3b8bcd445f9193ce9bc2100b4364d4c88cb5001b8fc6314cc782f469061cfa7cef3c3450121c8de529bb8d41b1cb6975698b138cf9e0460b15f10baf335cb8d680146f801de67dac74b0311059252960d59b734295f33c9f8506b6940698fb0467e746240366a49da355582831cd2d99be95057e9560c95f86931843633119218bfd2f353ffcd64983a5bcd4802acc68a0064f9da51d585c1e38310957db7373b76a3e376846614bc9271d2045fea65a6eec059cc7647c94318166fe53dd19b6e8994caf8fb0ba888f0b9b89071649299f95512c3b459ff6e3b1636c51213108c3140ce88ff377b3f36da31e85c46d5a479ddecc07899a5c175818881ea30d9a5a21b3abbbc1dfdfbd40cd6849c1312c4a89360ecbd5c1fd90c759563b0700a945bdc03a0b7888b893ed8c50149983a7e18668dcf61effd03ac8cd9d730ee55a0adfbfaad873b4b7e1923bf839a5e3df9bc634b15076379de0705150f03897142daac961c8f99a5dcbea953f2e29681546361fefa495afdb116f789ebf9815f271c55\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 3\nct = 3ee1f8fe284d3b84ecaa5f48ce36661a7842cab4f4aac4019e0e7e4506f1baa27539e468877d1e41bee136782ccd335c23640316a24fdd13e9257062fb40f102e0b482a4b589537d0e417f3db7df51c7f8a5094888981132fbc8236b79f2463b969e12c621121e697445cc80f7d0abbb31548e0b732b014b9c40b4481896c47d4d6194346f49fb8ab3c69e3a9e282a5ddab98140a798f4811b1dc4f5903f44cfe029b7038ba28d806bbd42213d5235180f33161efdc80bdd1424fee3e475dcb353f79a1fd23097f20b54afeca8d2123830e9a706bd6d827be20089a464d2df133a631db522dbc7ebddb06125c112644cc41dfc1ba6a924f7b32fc9a315626f6157aa9fdfa9979a73db2f8ee054e534b4f00235daf2fb967189720f8196986697609a45e1586fc6321a2ccaf745bcd99d69135edb45734fcd27698a87b8b3d95f426f63c5addec03201fa33ac224deb25c1cb5e1e32c7c0b895166ae10cc1b9c270a075619364650d78a2119816b17d808d44d2169022cbc5cc64f80b042ef6def97eaccac3a45c497bf2e43d823c1468167d3dc824fce8740e811c21d3e7b2289bf5c09d722edb94bcd7ac47427ce90c944279d898cd7d975d6a200ebd00104238be33bb85730c0edbd41ad4106855567be674a73b325e508483cb897cdc25aa678f0379fe121795cb858527e72c8a62dba7612104dd796d538d4d9ba80277a4\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 4\nct = 0122a411f6c18869d9d071d89fec1f8d91a658d644a5da66453ad0f0fef2d07146e6a96c87dc4bc5e2d5c65cbf493289d4c9dbb3ee79dba765c71d74d8f0f0e9342f39e8621d791c813e004383fa970001c72a859ee9d01ff9920a650cdb08c11e95df70fcd3bff1f21bb4838a9534f815085238a9f860c27ad6e3075ece222d7d035732c4ed6d4d4fbc64d153da106eb58676f527e7867a7c46dd86c0f55451cfd22b07897f84621765215dd8e2814ff9d9a9cbf828d594c16ac10074689ee3472280fbc14c5f723286f2ca0f15f4b91e25559e77c244be757c18ce7743fbd0151419a1317b82407ee16e2a5b970a660706d0b4de8368ea542ea576d1c0dbcf03e07f646b42a78e430a39eaf5e48ead2d6d0cb360dbd6188d364e4a8e2b0094c698adf864724dc7098b4dda564d16edf775060eb7d26c15692878b93af87c3cf79027ebad55a08ff9f04e863d3d56dc9534d48edac17888342ab8c1bb28d8681bfae21bee0139c16ec1f6a60f2fc4927556a56c036a13e27eed7b056d5e92e296a5b7993a83f788ab0f943b56ab2622b732d717b2a6a46ceb5b9361430c8e8cc05dfdb2af949702d03a1a2b438e1612293a05ded6733e95fa17f24a06e573dd722175195e21f1f5a408ad2d72c8cc788de6d7d02da851f64a59bc64fee89eb1ffb06addb5459871a4614d6652374ed29811d3ecbb04a6646dc261e8aac5f109\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 5\nct = 01f290bc344f5b28bbee4f37d113bb1eb5c9ab3a6e735b9ac13ee65aa42a18ac22b51c684a34b969de549af295d48235bc0c46bad9e5ceb6a0ddfabac4dee6cdaffedda65556e951ecca0dcd8d1ab708176c1d665436ee2e3e9810dd2ecc508b232b3345708d3f2acd95727a2a1f8a612da88865c39652c8de64ac37236fbd0bf6aef4519821363e0be2391b7b0279605d193e4ac96caf52fdf1b71807cd37458f28bd4557f8c9b6db47c72b468f8bd643b8176bced97db6657a59c146b78389ee5d7fa3a463cf2d207b0cb68fe760b83a62462b42398ce7109b3d00b991f5ea915501b6c31d1d7a388b14a995f9c415a108542d375015bad8950f0be42f64c09eb54e39fdcea2efe61e2fdcffa740a71ecc94051c073c66e38e47f9f3161bc6b325123fe3c02ecfcd1d4b811569d95f1eebc7135fd7118cdda6bc24546b5d84622b796c289d7cfddf7d0f34705666b9263e6b9b8c070b28b6853c06fad4b8e538de222799b65f4efedd7d7435d3eb6aa30bc3827247374447ac92dcc59825b5b1e7c636f77db09411ca764366bf3db3bf39d1803034cf76cf59202e664f0cc0bfe03e67c83334196efc95d1f57385150212613147d149d4e6f4f994a544abd82f7eca54c8f8bce8bdff122079196014832547d1f50a9123ea130bc93a4c5ac43edcbfc4fa0f2804a31fb2061868f401e98f2b92a0d9cd2e260ac119fa06664b\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 6\nct = 185bdb913b9dee3ba4d6b27a945258beb43ae70909b6f5a2011256c1a743a6e2e14dad48a92ef6cbe1452306c5dbc77266590476febcce9eb6f64ec7e8d0f233749770275271e79c1980a247c0571dabf207b9d9afe8b6c3ad6f6c5b77c83f445cadbd77c043d5428acd6a55f6104c102240bfb9bd9e82d6db53547abc11537188ffce7d688b116527992f2501ae917f7aebbce1c402693c32ec29611afe7b6709667a65a6b38a6029a6ea884a7659353c29f49398de3c16e6d06e33dd186b14e7e04660c7d864954efe5c9157f178b4b9af46f12bf5fb083bbefeab1fc97114d45f08ff8389e93945afdb56a13eb3a86c64a8b33ee46349289cae37cb4f0b9ddbc306464b7574dfcea969398e6d8720125aa72fa7513ce8cf11502444594012024345e3bc716639cc1814ed18d14eee2251d20464a43bd018a9243dfc8e1d122f1d84664bf1d7e2b63236c3991929fe20d44030d17be9990e11cebfd07836e7ba4e7fa960d88cbbd23859135d2e7359a85e99e1fbb8e97ec736bb9ededf2eaa94c3165c46cdb5e289fe4b243e8e25f3969a39b307840990eef3d8b0db5d515e65833fdd59cf83c152e06f9a066623cba2fbbe233541121295566c0f2ac6150fc0efd89e2cdf7b0972a5efb7302b078816279069ad2e89016cc82add02f9aaacbc26af2cb8494d333c6e33f29a9e237df6dfb5c8e5bd8868c3a66a02bce69e9b\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 7\nct = 7aa5fee8dd85b6fc0c75c86d72fe6c742ecb062a036bbd3796af044378669c2162f6f9c9470e1dc8edad8a41de37411b21c865c0d04a2a4a8cbae941258aecc1bc436e96ab7d66aa1b866e9b3018a56366eaefaf92a1af51d5a901900739eecf07f05748b76565e386efcc8a717f39cf0a163dbfd7b1b02d78f96c4688143a80ea589df83c78440f5c53a1a79fa7265f5e1c15cf8348b8b7abbfc1739a9fdc8a30e25c2081b44437935fdcd19682cff42627b223d796d1cd3437fb12aeb990bf5dee03ec6fe8f0634dc0545d0390facc7fea02b5609f0b37e4bc5f2a5e26868ac3042fac5589457b482bf1c144c239e2a96bd80a813e67d36b4e43cb89450289ab3fd7d377cdcaf9b40811ecc5aa3704086dce9a893d1b19d9f957dcfc283d0ff1a4bdd7f3351314bd5e10a22b2a469615feab35e9966e758c5c2742c35d42659533fbf50693dd1efccaf1787de3c7f66b8c0df90754ca851caf2341b9a7004a7eb8e34cf232a6bc0e993db274107d4d734bb996803a4b335e1ce32d0453450a6fa871430827fd49123849993f421084c60880e3b6e4d33771a1bb255535616544cf4c016c416cd8b9b92c3ed61214972e86a901560c1721fef866ea7044a2c89cc2cba85fb25df521daa90680fb52c2a0baeac9d5942c851fbf5f1e88d522e759aa342d15be1b72f9815c0debd081e9881fba247dd6858890fdedc8838e9448\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 8\nct = 339772930c065104ed237b979efdd87be944739273a3d76e38e2a9dab4a089307f236ad0477a324c0d5f065f6eaa3f50e73104e4e44d25fd5b999948ca61c72ee440e4b75ea2909617c41833d0f67c28de6ed499f3df084310babacb41dd8dc94b66622e7b9d1fd0f81328cdc451c86bb891efcb31c020b191598b36120a40942d35761113680911756c72b859bddc17993acf696a4360dbeb63534f4b8edbb8a633d1d649370ad4c46c51893071712d3ab165421f8f0fda893e4c988ebbfe22d2ff6cd0f289f3cb333ccbe06291fdbeabf19f77c4ead63bc8f316e95d1bf9f743fd5ffec9513c0a1b2b89211426d7e7fc386affb340a8a7caa6f17a9879fd9582a5a01fcd3a2c399967feeea1333f01072ff1ba1785d27cfc48e04b05bfefe22870d82369338b6146d72761318ec977e3193a5fa325bdcc4ef2bac547de3fd099ef4e83461b9cd4cf9c1d586160c52d9770060258792ade9ab50568281f1c71d7a886db372e0afe0a6a03b3d3bd24b9ebf1cc5495570b3304a39b2d57f94f282e7698bfa71904a087d57f20cb67a859a888a2828df1ad1a424f02b272fa7467555512050c3ef8eaf9169ed20d7143cda6fd86a110a3b4102ed8a74d176bf625e488dd209dbdb81b78d5d32509af825405fb87d5400201176c36c19a1d8b93b020400bfbd5ad7dcb2c0dcce99ee05ef2b48e191439fe990d0576d0d98c5c9602\nlabel = 0000000000000000\nmsg = 313233343030\nresult = valid\n\n# tcId = 9\nct = 84f103bc40d2535d3ba06070b9e5739dea918968e524cf431e4a8a18036d5c43c40fdda432b5ac9134a54ebc6914d6f54895aa24a0420175f348ac41d13069bdb443ad3dfd8c15c283ca76bd557060876b5e686e6ed9e090b8be9701dd6afbd650eb9032f5a331fd91ce85f784e20b4a20c998b94bb9e79ff8bfe56f67786ed76dcee79002cc5586d04b2e1d82b7bbb1998ae596d09aa3cc8c7293bf8c6a89c22d7220fc97f426d0738de5c06d41e9cf13db801180f3407448ac2bf55d20ecdec273f41dfabdad0104f07d7902905ec1d4979fe36d5e0f8940255817fe8f911cf3dc295df6f17de9874b7f754f08a50209b63e8c87302d78d5ea909b0", + "ed81f07965e30cd58e877984067defb9599541a7770787fb738bcb34b31adb2099b19ec15e5f585c52d64ac0d3778ed8bd415fb08303ad9492fe1ece5cc3cf824465856c179c304211c7121e226c859b7b4951a833eadf6a6f29e3bd3c26156f5af69f61ba6b8dd42747f33056fc1c0ea9f941c397f0d57d67e7255fcad2b97db22be83f2661122afb59dd2e18b38019f1ae40d48e6482aaffad2fdee1b971f75a93a9b14062d62bc8639bf866cd70c4963bef4303da8d1708f4ed489ec91b0593ce8f83cf3609cc51fa8c0ba0a43f96004818668f403bf97cb37a86b247580a33595957cbe39c8766199e186725afba94491a5cc7b618e1ac76436322823bc3f0b44a7\nlabel = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 313233343030\nresult = valid\n\n# tcId = 10\nct = 0b3d6f1a7949a05d472e0909c4667374a87e291ca8065786829b26702f2b979ed440a037abd310da6c0eacf0c01f5b2b082d00ea043e9bd403af238a0909ad8302deb3514cf7710d6a7777838675fd61e698ff09d03821046caa15848cf3c8b1e70fc497e2c8d3639dfaae1bebc52b68c24b54f3f1c4dbd8691d05867a818b0364512d6096ee6a49de7aa7f17148de1f5036af74213df39be1639a1b22640a693163af2e061073e28e1b20f32ce15cabd1005ed66d4d4ccfb50f94c6a34357989c1e13350fb25eb75e5004dfc311babf755d0c007fddf9398aa9c2761b5415c3a1c25e1d0c883187ee41c669337f3b69e131f87c68360ebcf4ac53cdd7101c71fcb1aeead812b06efaa514fecc8ebbc4b339a3f8e9fecd720c2d9019885346d4b483418ddde6f99c6cfe67500ac3ef5c064ab2fd96bf3372ece582c02e3dccefe5ea8cd82a79e7922075db696c5aa712243566fb820bec894ff96d3e844aeef4416b08e023fe48570f05203cf48054601a227ed3fc81fab7e54090864c110d7c0333299839675ce029436cf78266441fb910ef46101c3378cf7d322b696beed85d68a74fc5ad8bf65d212996774a80a68c7d017bdcffbb3f6194c2625e5937d3a004684d3a30b4c31c7fe4c05718182bde18a444dc2467d87bfa9fd64fbf5d31919d4f33f6f5721bea0afde9f47170fc8a2f45e17f4711971572873344a14372\nlabel = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 313233343030\nresult = valid\n\n# tcId = 11\n# Longest valid message size\nct = 2049694bab04b950f76d997385c150446040ae3373d4f868e852cbc4047ddf2648523a963df01a9a383e8a8a47a6abaf900de879414fe360d8eeb36e805ba2821d64a536c7e9f3c013d72cfef75038007cf546bc418d5e612d2ec9a41d9ff6807f8a2def511b09743b28514ec61139abe25a6087348d66f18b0a80a58f7fd91d019117c3b223057b8229f07d22c3af1f37b92c1c7fe8f27ed23729926bcd1f8470eb84da9b8991ed03ed9420b029eac8fdb6c76142150d1216a9d0622bea7d168c8019cedb9db6b984232a97385fbbba76ee260b8712f805f8e1e6fc966c9edbb4836137cf8519961f2ae1134867928ab4a517f6c4148500492e5a70cdc756df38f55b6b93ab81651e6edbd434cbd7f41245cddfa884b5e6ccae02cd19e1714ac3537966a113ea8cdf31b73ab55935af37a27420a6b0c8aaf225ed93e4250392b67cfe09300596836050ca95f16f1e2913eb3118faae6026571bba1803c0b133c5c39b6d8e9db60470b193760efb1d229ed1b5f867636f890c96dd16e454ff3bf75c54a1ace011d8c5d85a0ea3723bb3461369ceae212f0632b50f0dc0feedacfe701beea123f7c2ce22173a1fca90c2a861769ff9bc7bffc4d04d5e8107dcb4a1a49d9fb5dc3d806a0aefc1622935230a617009831f58adfdd08426ac70c688297b89452581b094a21beafbe33547f68812433b41227b87855b205aac11c970\nlabel = \nmsg = 7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n# tcId = 12\n# first byte of l_hash modified\nct = 741d6aa34179e67d3a1174ac4682ed88991e043dbc2634ddbcbe2b36136b99a279116b713e8484a4d4bc12b53ace3d70c5c352a07a7fbcdca7158abf5def14eafcc6919288f84b315dadf12a105e306b8d452f78d5ff6d4a95705c66186eb3b3a112bb26c266d3b8262c00d7a97da919ca37bbab032a60a55a1fd8e1a2cf908fbe918fbbcd5065dc210e4020deb415ba02e112f098aff54824f7fbfb959fa23b411fdb711cce0e0925e8ce526052ac76769394fa9a57ae4eddd30e4c28d87473054af6f6173292e4047d668c3c7c6c0d1f1e5e5ae3dee7e85da43b0478d0d0a46a759a23e1e5e68f80562ef52b76d85f664868e8866d8d728793e0d4f20b5673dd32eceedb4fe982036ed1c7c930c8f711888c8bddb33e385033043c812d6f678dacb3efab547176eabb08abafbb521111a6d5bcde133fcb7a4f3ba2316d2f7bbeb4aff80949e759da76dc238e64fbe7d27f4501eba60eb1e4ea0bcf9bd21c23f4c2385ec0a8cc078f8e67ad9ccd605086477ba2a9cc7148213827f63173641b78d47c920f73b72d2ac17f7103aa8c8b3dd050b260a17ac760a3463fb7dd19703d6eba6cf5b1a0467b2691b46ead45cbd6ed0492528819b50c922ed25f2b7f4a7322bdf24194f1cab6507b11f2211090f27bf3a6321a7d2de90690968a0401c117e8165c08431a1dca9999d8167cde6d53d41d3dd8700892941c9a36aa4d72dd\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 13\n# last byte of l_hash modified\nct = 0e1551fd4bced67cdf4a57e4bf864bfa05990c52542f86d76714e74606c4f034d8e79cebc72af64e9f38bad64a2ee9f9ad8e6b1674fbc8c0a8dad71b55d59a52689bf8dc4fa8912ec0ba8c8300089e7fd689afff6f33fd13d0da443be82080af45276f790d551b162dd1e2592a53578af985307251a07aa46470932fe1ac6fe031daed53fcf0cd8b542f24f6dc3f58b28488c80231e087d6b7f48d8b0629e450b75648c065b603290971708a831d42837bf8eef88e5233228af52766675a046af5524d3b79831933e96be6c737f958aedffeee151f0eccfad3e95ad7bc3102ebd4887a340471e9115c4a6186b1021c724c00322e79c2dbb77e29157b72418757eb07371634d436133517b20d54de645b49ed5cef79d7fd88cca5ae8eeacf2d086f33e9e08ab575c1b1d090b64145cd6b57793a182e519743c4a69c1369be0494c253de25618cb488cec77ba585e7a2d5b387fd3f76aef6f6f7811848610098b916d77efb486f42f85e011c962c521891e35877c392d190bb2a9ccbd60a8536c29a07033531b74f586add9eda8bba422f6d1d343d6577d9f75906169d15045cd012e1b9267aafa15f39df23f55f931d9d8793a9b5c3e93e077992cf32ad57ac46048b19e0576f4bed86c502ce1af168efc236c49fed9aaa9614bceadfd3cac500628a8be815f074618d7e96c5d9b23e4139ad155ce9db36885f72b9ee1249e069\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 14\n# l_hash changed to all 0\nct = 0cd65cb5fbf66fd36a61d7c3577eaad17191db8ed11ad0075fc3661120df2accbf0ae26da7e52e6aef362c2ba11d0743c4672a96f5e67b2adab40902216f433bd70601099563d3e168ee93d75f3db88806cf3d59017f5d2c6da4218dd9c8fe0be177ac0093e0909c34245b86cc1b791787e9544b9a874eca413895d81710df277837f4a598ea9f57ab8ce38f6a960646abe9f4ff2748d994ecd6ece82788ff368ce6d3989a820bc2d51c43cb88b3f9106b9ffb01da520514e7a03c605b4bd10d706eb322b67ed75072423505118efe727496516397a3f5ef9c77515d391e45c7d589a1fa1eeeeca8e9511890ad1a5d86046ddc72af6f6f6e08f87668567cc67e50b20d47f30e41665f192efb99824b603012d24d8c9e14f3f9facb12baf09b7004d558c39674c7e76f26bbb33945f73264a712e09277ae0e8ba9f208971a207dfacc8c5743411a591e4000b25b263ba78e7305a74afbe58673f26b8ed7b8377f7ca627839017b64d20c3940670330f6b45938e382d6d1099301a4b0017cabcb04d2358eb62634f121ff426e39c512bbc6539316f1d16da7b4ea3e203c2cd5c599080d1b3b3eda0fddababa6b402ae8ab932185a78dbd47a69ba9eee993646670d07bacd79caab4f50371f0b28e23045fed617c632dfa694c4028b8724733f30606d57502934000a6b95068805f70d44576a039fa70db1de3d1a001c6030913b7\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 15\n# l_hash changed to all 1\nct = 16bee7581623613fa6bc708e804b11954ee5578e6f6f6747eccc52b5bc47c0039569ad2ff4c9fd98cdc54404c50d404987cbb74716d769d70045361ddbd27f2c0e744681a2177f4ececedf39d90e23461dce3353999c90bce6b6b75f2c73cb2c2bc6220cc652196e8555495379bffefee61caea6eb850c0132e084897d9bdee7aff74da1be6f7ef2b86bc6f57494565ea93c6f3ad1853a5706acecce1190bc97bde071559d89f65c2717c31740e176c2db442d48c1780f65230eed8b498da2000a1a12ce4247221e68231e27d8b60dcadb2f50e0a9ee346e2be5083d964a5195d80d9b898e18ae88ffa73f690f2598b45327875278135b4f5e7ecfbc273848e1f1fe5504cca4a2c4a7fa353a301c2b6ccf0f2df7d0ab439d1e8629304f63fbdab4f6d28a84c1d581d3d43ba64408c286dbb452d34a48644271f23841868bd3462df5e4c0f1cded8e868c96cce995b13308339c49a0eb16bf5ce9493812ee205dc8b3fc3b8330895de3389895f162079c72019cb2c936cdfef9cd9f413514947e0abbf440db492f8b8b8aa66522975d674b0f663b0e24bf826c8799b850cf6a80221414eb8ddd2c83f824ee4d4db6565d07b46d8ef26123148c77c693f3c16d007b7103230e378a428dbd16eebcdbcbde38910984b10df5a3f6f9e6204d462e5c304cf5", + "91373e2332998e2de839b7c5290087d07b8f0f0db33da0092e6a74efec\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 16\n# first byte of ps modified\nct = 0280342d7e535a3de5af867373deb801cb0f3a794c9c2f13e6a184f2501527a9cf4d1d356518cf3ccc4dfd243f0c328ddf8f0e7a64a5b7a70da8bfef15353926695e82f513a1308a564c91c0b07321b534aedbb10d2a2e7e2d8818c87d477232d7125b491bced4b7c8662ca465dae448af8d3f31a15b8da22677bdb44a3e5bd6ebd9b746d09b13ef69ee4b9586c1092d544cb6e6842a3afbe7ea682cfa10d49cd291316a8e6537b08fd39e76aa211eac6bd57b60839b65c1c76bd91b70bf6c8093e46e1043da2902de618c4127735c5ec55960889f5db0944725f7ca574537e865d652b6eda54219086c79f24e6843ce752c14bd0339e66caa27b3d293169452581574e48fef3c2bbd8b7d986f6df50fa56ab52f42da7620bce98ddf483df59b7e82f8c084a9d0e3033fd610661ee03841329a85096bc116f2d9f41565cb53988c8fcae6067a97578a98c5e28aac5f1713354b1a338ba128c21d603b96b83e4ea9e6cf03c8aabce9d9aa021181adb942c41d12bf37f278ad5360ea9591d42ac8008fc5d3916372b9f6f2106faa76ef056b97c241184e68a00a29109d98c46699da11c64a36a0b1ceb3df01319d2f2055ce9454372ec91d1b4d40da6600bd95b7b81796bd9af123243d1fb57cf1ae138e7d5b4508848aca462db7770d2a648f04a896b62c7f925718249f6cb20b812b76b3331b7491e555cad839f0b2b6d12060\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 17\n# ps terminated by 0xff\nct = 8a6a6a92d0da57d1a773d3c387c98b6942f7cc3d4390dea241953bf3c1c607831dfa29500b72fd6a526824cb8c06d6a36fbf869d1df7a408038b47d7c17a077b15148287c76898b6d99ce19da425779511224fc28b546e3f75474c5b382d38be02073270cc83bd65e56473fce59454d0ad1e8cd39aafd7e409d9a7690f36246e7f94f4e968ea1bbdd13470b5a9c36806d8dc5dbfa94d422efb688e94ab89dc6c11d0ce091f8d4313be98dc1cc150eb184b64fadc14869b158b6daf8d044fb51c6baf9d5707c9cfae3faf6121d4ff6011ec2733e91f79286ca65d14bf0548991a014e5b6cacdfe9b81f66746f4aa21b06bce70d195021b321d624f943634dd7063fa01fa131482c7d9c3f6e539206a9d1f9802f9ea5ae271168ea61b3b997b38a2efc29fb094e4fe73aabc6f22e287f7ae13126ee69f624100f96dd26e1efab9c1ba44f986d54006386cec639f334beeb4ff84f62df9c924827d53fcf69454ef061df7d9c5570c2fab344d6d82706a9927530c4e560e6fafef5a829fe1584f9e209271d7c390a74879de67f5f6b135af56b5f18e0114dce06baa6c2473c5926844c5cfc172a68c03cbd6ce1127db1c28fb099ed4a8b880807a2eaf8467fdee4327afc68c18740d8591e0ef1f53df65dcafa575f57515065ddc24d39998f02fd73d5e46f0e34e95bfcc2f73af40a4b7e44182e04abe7d2b988c32cace2c9636bf5\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 18\n# ps is all zero\nct = 903d9c5aabb6754c78b4e1f0012c7ddbc1b504a21a3140c6837f03ae1a13f5379f2577aa33526ce653ad0aabb7dc22c2be431a2f0dbe233bdee73f603658b40e57cacd6f79fa8c7a09e8c117798b5a293bba511a3e18f430737f37c7ce1f7271375fc4d46e04c9ee88c6ba498b5e7497939705406795f9f9e67af7c689378342274f4fed09b0363aa5b7d85a5824fd49ab1d595dfcfdb5cb4e49fdc2f1e80bb24d5f6626bf166427d2e4340518373b65f621bd0cbbed016e93765155d4d0c4387519ccb242eaa387b8d4e20c2b75356f4dc43dc327926b7f2a8189ba0dd5cbc34e27f50cda313b8c39e9243061f8c2164c86caf96cd8ef2b78ff07953a965d9a2bdca8c6adb320dd5ab61effcd90c8206659a1ec0799a3aceb39840022634796deb05259fdf6785cd225b652a735e48c2de78c1a6d74a7ed5ac6686f29bdad37f72dcb0e8e8067ebd11febcb9292b4ca41bb8b18b02535917ce6ecabc1683be6815d4d85f429e94b0355183d97d4addda88f3dd1bbbadb766bd7bde679fdbbe391230fcc11bf466481f963ac0c31c2320455e3a9c0e7a30aea7ad6db6b77902346be5187d22bf02777d16be0595a4de77b1ba7c07c06653ecbd6b83115be453fcfbdb26ef39aa6b5e2062f7c3edeaf49d27325c1accc3e8014a62406d9064c07df3e759ba68705622fe537486e8e3d2308c48a0e93dc8e6b8b02bd5bd8eda6a0\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 19\n# ps replaced by 0xff's\nct = 71fbc2d412e1ba0f5d131110a4a7d9ab46711ce686fe8b7a77a18f7950df754c7f9cbcfcc4171c2cd3d5019ef49b67186870b1912094686d3d3716c2cac483fe513663b4075d6c2c867c05d740846e7e85e5b7ef2ba7b870b0151bf4986f37f3a8d0abe545380f4f9075f0322c7daa9c4a2e6862df7ca2cb20c4fd9ce224d0d2a3bdcbc029b344e4d6db075e514dc3f44c7f45165ef6b0a6d04b51874df8081c6546c25007e86886301d5265684ad89be4ae3d1d20427b5d32e214d090b1efcbeb7b706e4b645353a702b2641119654f51da30f5c22eae9a8b1a8d50b767297ffb7f6bf889366d0ee4d17fbdff950bd0284deb6087de9f51561a4f6dfcada00b1e494168d3def51366f4e6d6fa6855a07c58a170d8038af26b6087dd5168566a7315ee346f0412911f05972fc332a8cdadfd70809aeef99703ea62465911f9c685d09aed230dc3df7392bfb927702a9073d8e3ae3bd5985ea9ad389023db8e5577a3ada31e34d6cc2f2ba91ad167a8e6c67c293b41824a04602a5737546044c44deab9cde8adfb30351fa71261343d2ae7bb4c1d02ed04b025307d23d9cc4e3e2aa4d1f1429efe61d659f003600ca49e084b03dc12632dd5562468b2ce57ddf26dade4753aa05674b2307d51b6df7f8f2a1bdd17b03058b69f70f610e900a6a9a21dc54a19604e9f4d7bfc9965d65c86904add06391e4000e92f60db54220c75\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 20\n# seed is all 0\nct = 2e95b06ba6e48b9f31b0a3de95eb45b78f7b4c1141e21fe1723b7e74828cfcdf11d8dbc3605ae5e6dcdc7271ea5226fae7416a998605dd797768adcf09530206b71550c3c7d138237e36052f6799c62c8e4a8d0e4c30c1df8c7b855a29caf7651fc3fbb66ec43be26cc5c15a30dfde71ee504a905de88197faacaafdaec384fc00c4ccefdfc907713066562ca1c8adcfc5585b8df3ae07629391c8678a2c6854ac568f100dcfbef41eb29a97a16686e5256c61ffdac19a1fe116a03cc4d6d520395f43ce5cac6294697576b2b38e8c1e6c0bacfa04a4f1c5f676777e30d294da601ca4a038b2f98aed0fcf196c49de1677a24f878943ce78d8ba3348e0fd346bf3e37d6b273d49e99815c6726620b21e34ab1987640934754a2993d5f1a3c0ce437f60f0a3838166c26d310d979de13b5b18460c749161165c39fa00a20ece77838a790e0e6424c6a4456ceade7b8801998bec79300c399cbcb69f4e38205e26c44fe59e2b53d6c9163b85818975c5f4612d380c4dd3680dd72e2d440cb9b94b3a05c292e5b13d281d0bc01e45817340aa08d5b1b86f3b9e8f0a9c864e0564ab6816266988aabb6ca8dcbc9fc6d8bb9b170b173695ef17cddb7a1dff6c6be3bff7c9746143e911a4e3dce18a6dd624245b434604a36e7ae6355d3969d868d91b04893bf040a330b481b1eb9e046e1e45f7ba187998ce97aebae7e79144b9dd08\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 21\n# seed is all 1\nct = 90939a827402f01d72cc5e3191ab668c97ba89f1b7a2d49d015d313ad202aecfc21d4cc437dbd13f84d43a61a654bfe628b2e65d5ca41af6f665167e8a80475ce5b4af15e301e3d9475b5d37dd4c24993bf025a3c17acb106ebc2ad96bdd578acc9d9368bbefcc2d17f165f9e5a93b320dd3bd82efad8018cb25eade39970646ec5321247033be41e57eefed8ae5765b606597551430a3866c91bbfcd296ab7ee953ec85d9d797b5654aaa228f1d148645988cfb63062c1d481f9e2e39bb9c64300642da85a3a4e1a6dddd57fdcca3f1a94e2a34c2f747d003a1a1e7b2881b907d3ccdde879964240f4beaf7ebefc7e072f3b506f441774263fc3bd9255351f4ac00801531eaf1f63807fe4ac99e3f4096e44f067eda16980bb5ff631322498d87d39405d68d763e42fbe807984734ac9b5751a71b9df3b3e90582bb0c49586f9eb8ffd29e5ca2f8a37df3bba99a3c212802d06bd10fcfe2637cc2728867614237cfce1f3b3cee48e135ba1fe9dc8025dc8580ad899c5ad3b6bbc18afcbabb2e8a104b27b01debc295703dd83ddf98f8e1cf95672b2a9d3a875a137fa18529cce79e0a7fb43d2f47814e01b4f5cdc10469f25fbbee9903f9e8e0bfcc6964e746836aafcfec3667aa258a3a6efafc826dfd6d298b8bb8732dd766e35e5065ac0b18068ef35f234667525881667dbf684407d7a55b02ee7e2c67236ded6e3139a8\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 22\n# First byte is 1\nct = 30d9d7d06d7e04ad9e1907f78d51c19928b0a42f93d9d29f29f20abd82d7710354f07de3dff85d95ae2668d91332233e08ec6ed1c24ebbfb0e2cafb27524f4cbdb73f52d8da53f8b2a7e4b9f718b7f6bb2c10dacf3c3527c9418c6f5d9d0f532609c3cf6442deb1389029e7a3ccf4f8acb2f2b9fb6a7777c967a6e72f8fdd57b90f7375ec9767f641405caf4c2d95abea0c65d68d9ba3bde7a941565eee149588ccc7d43124f6631d7519a9a223bd6a3514e779b833cea3fe5dd02a34a74388cd9bc313275286a62a464d5f71a8dffe4e6d5c46a3e9b7926b7419743b48c07abe0b6495d09b15e16d3ad6e36293ad0606a2dc4e4f008b7fb1000b8f1ab00cc50e6887dbd01d8986241d87529de9f8bb3e6d6f47cc32145afef73e11a0299b0ae525eabb2d6b11be1779d162a533e9d1de1294974180499d954d254d47959979d92ed7594fec14e6e8f06418c04e79cd8e772213e5c741054db1135babac1cd9f2730f5f509cea75cc717b31a3581b4ebbd17518d9d11350ce46239b5b74bfbc98f3b976852d755005420e065b512f31bdc4f9971ebf9679c026818ed27f3585ba743ad384b7957db557d6056fd59e12e8a711222327ada7869b625c76eb23eaf2991612e7243b9048db5296dd143f7d0c5299939c3340b907be4468df9f996e0e82c5d23b6c232c4e6c304b0ab9b830e23b6a057c24360a6c9f334b896517495\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 23\n# m is 0\nct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 24\n# m is 1\nct = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 25\n# m is n-1\nct = 956353ecb7561945dc5544e4602466078c93f28507701ffd39e2a9813c8ac8740e6ad61c955d484e513b3dcea527e001a018ee2c207c1806a96763280236cd3c820dff79837c9b709cb4b522d3ddbc9192242259c43be75ea244d37ccfa8a4c75024a2cf7cc76e842ea69cc7ca1227405b070047387a5068e4976e4b8ed5f9aadd7b4db024fbb8d7bd8a040d8f6610c1c6eb1d4b606dfd182235d0360880304d5a750603af0c424b8c8e6dbc12c3697d2d609c97547e774e2e362ea96d1690dc9432112c535258b3db2c4c32ad510d6c07ad0788357883869efb8b629298724847925cf42b34386be700f02903db5852276bee2370941f397bdc3905e30964a0b5e73602703340960c3ed6078263b611f197955fecce4b9a32e43cd1d2e5e87c4ceb65edc8853a7ee31d28e16e5adffb8ac7b760fbfc63d5f174f4d0936461dbb12c964a6b6d6cee752e5fca1ab4a9fd238dd3e8860a1d763d2019f9e7b99ed7666d4e038710f90e0093bc566987d6c0092f571376e705b342d066c54e6e2578927b92c1f0928de44e9a6e1f49b907c6aa4f605ec9c398d55df81c67373b03cc8110162fb417f96fd321048647dfcbb392455115cd912ea83351853e6a185284648842adcbd25e67174a3b93b8a64ce2ce9de0e8577b8b662ce32e2565782665dd38e5bb5fcc4fe12e4320dab7773b545a09c6d39d9dbad459f21f3e624ee6ec\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 26\n# added n to c\nct = 9685f7feae17a1afb625b6bd001085951e3a4b5b4c15fa637f1d7a723b7d98e555517f891d3994143411042b6471128b74e2c9e00ef5f3ae0f2e809cdb27be25b63d3961e59a148d1df2b56657d8539193eb4cdf6325b77e9bd6dde1dc83ad886eba8240799b2e7620c2514b54a75c38700f527fe272b12b5f6e5152eda41bd85a7ea4e2e9e926250d4668dee34021307c719440885583929e7cadbcc975849f2a47310b388bc6ada3f38f19eba5eacd273a46634ca74ce2efa0efa9e17f2fbfdb549228149eb8260db33efcbc67022525d25d26ad3ac8451477a43109dc6e185ca676955cafbaac65e25e535f7262b82e72bed84f178823d00ade7cb4ca406fb9c7b566db75e8244f490ff2784844bf1f04a2134daa21b2c01a8b1c6110e911138413e62cf78845eca876bbc4a7f6e9823cbd6fb3cecfeb5a9d6d89ce5cde18a8bcbe3618c30d7e6f1eae5057f200d9b8c2a87760cb95fe714ad2bba2e2773f8268301f751232cf6f55b2fc78b79b527e85fc7f7a511995c1bde1cabbccb85b29214a5b2b16856cf9aa025aa0642de9618237767c6a3d424953afc87a479259416e13e263ac9072a35b1eb18b6de1c5bb7f56f4a4046d3e2d69778870fdc661d6a9b7c729f4505cbb52e8c12b6f195b5c84b8b88523dd5c773cea8a6460c517dce950991511e852d2a46e4109ae8a26f21b9ac058a26138c7b481270d14d7f6\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 27\n# ciphertext is empty\nct = \nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 28\n# prepended bytes to ciphertext\nct = 00000122a411f6c18869d9d071d89fec1f8d91a658d644a5da66453ad0f0fef2d07146e6a96c87dc4bc5e2d5c65cbf493289d4c9dbb3ee79dba765c71d74d8f0f0e9342f39e8621d791c813e004383fa970001c72a859ee9d01ff9920a650cdb08c11e95df70fcd3bff1f21bb4838a9534f815085238a9f860c27ad6e3075ece222d7d035732c4ed6d4d4fbc64d153da106eb58676f527e7867a7c46dd86c0f55451cfd22b07897f84621765215dd8e2814ff9d9a9cbf828d594c16ac10074689ee3472280fbc14c5f723286f2ca0f15f4b91e25559e77c244be757c18ce7743fbd0151419a1317b82407ee16e2a5b970a660706d0b4de8368ea542ea576d1c0dbcf03e07f646b42a78e430a39eaf5e48ead2d6d0cb360dbd6188d364e4a8e2b0094c698adf864724dc7098b4dda564d16edf775060eb7d26c15692878b93af87c3cf79027ebad55a08ff9f04e863d3d56dc9534d48edac17888342ab8c1bb28d8681bfae21bee0139c16ec1f6a60f2fc4927556a56c036a13e27eed7b056d5e92e296a5b7993a83f788ab0f943b56ab2622b732d717b2a6a46ceb5b9361430c8e8cc05dfdb2af949702d03a1a2b438e1612293a05ded6733e95fa17f24a06e573dd722175195e21f1f5a408ad2d72c8cc788de6d7d02da851f64a59bc64fee89eb1ffb06addb5459871a4614d6652374ed29811d3ecbb04a6646dc261e8aac5f109\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 29\n# appended bytes to ciphertext\nct = 0122a411f6c18869d9d071d89fec1f8d91a658d644a5da66453ad0f0fef2d07146e6a96c87dc4bc5e2d5c65cbf493289d4c9dbb3ee79dba765c71d74d8f0f0e9342f39e8621d791c813e004383fa970001c72a859ee9d01ff9920a650cdb08c11e95df70fcd3bff1f21bb4838a9534f815085238a9f860c27ad6e3075ece222d7d035732c4ed6d4d4fbc64d153da106eb58676f527e7867a7c46dd86c0f55451cfd22b07897f84621765215dd8e2814ff9d9a9cbf828d594c16ac10074689ee3472280fbc14c5f723286f2ca0f15f4b91e25559e77c244be757c18ce7743fbd0151419a1317b82407ee16e2a5b970a660706d0b4de8368ea542ea576d1c0dbcf03e07f646b42a78e430a39eaf5e48ead2d6d0cb360dbd6188d364e4a8e2b0094c698adf864724dc7098b4dda564d16edf775060eb7d26c15692878b93af87c3cf79027ebad55a08ff9f04e863d3d56dc9534d48edac17888342ab8c1bb28d8681bfae21bee0139c16ec1f6a60f2fc4927556a56c036a13e27eed7b056d5e92e296a5b7993a83f788ab0f943b56ab2622b732d717b2a6a46ceb5b9361430c8e8cc05dfdb2af949702d03a1a2b438e1612293a05ded6733e95fa17f24a06e573dd722175195e21f1f5a408ad2d72c8cc788de6d7d02da851f64a59bc64fee89eb1ffb06addb5459871a4614d6652374ed29811d3ecbb04a6646dc261e8aac5f1090000\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 30\n# truncated ciphertext\nct = 22a411f6c18869d9d071d89fec1f8d91a658d644a5da66453ad0f0fef2d07146e6a96c87dc4bc5e2d5c65cbf493289d4c9dbb3ee79dba765c71d74d8f0f0e9342f39e8621d791c813e004383fa970001c72a859ee9d01ff9920a650cdb08c11e95df70fcd3bff1f21bb4838a9534f815085238a9f860c27ad6e3075ece222d7d035732c4ed6d4d4fbc64d153da106eb58676f527e7867a7c46dd86c0f55451cfd22b07897f84621765215dd8e2814ff9d9a9cbf828d594c16ac10074689ee3472280fbc14c5f723286f2ca0f15f4b91e25559e77c244be757c18ce7743fbd0151419a1317b82407ee16e2a5b970a660706d0b4de8368ea542ea576d1c0dbcf03e07f646b42a78e430a39eaf5e48ead2d6d0cb360dbd6188d364e4a8e2b0094c698adf864724dc7098b4dda564d16edf775060eb7d26c15692878b93af87c3cf79027ebad55a08ff9f04e863d3d56dc9534d48edac17888342ab8c1bb28d8681bfae21bee0139c16ec1f6a60f2fc4927556a56c036a13e27eed7b056d5e92e296a5b7993a83f788ab0f943b56ab2622b732d717b2a6a46ceb5b9361430c8e8cc05dfdb2af949702d03a1a2b438e1612293a05ded6733e95fa17f24a06e573dd722175195e21f1f5a408ad2d72c8cc788de6d7d02da851f64a59bc64fee89eb1ffb06addb5459871a4614d6652374ed29811d3ecbb04a6646dc261e8aac5f109\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 31\n# em represents a small integer\nct = 35a67c965badf169d565e16c6492d4b57bfd8b76e90df266c8c4e30691207f69b07b5be5e4392b812edd6fc5d3c4673b69cc9cb1ab5dea6d0124909a1ece9d35782b2c417c1b5ab7bf15eadc9ec549913597fee317cb7f46dc5273c372cb8b5c3d7398c6255595cda35884668c0e21b44f97340d2b36d5394a60b3333e675f349c519eebaef12e36863a01071fb2308648ef4afe15511eea0f7728e1afa4f11c8fa8b25173a05ec3fd5785a4e85b8d2f6a058c52a61725ec3d16a4e66ae33623df470a310d", + "3f4dd2f0c772cfe0ede15065b351c3e0892dd065a0fbfc35e6cfe47ffd90dbdd465bd7ea500b73f4981f3edd968cb5f9d2d1fd5abc1c9575ee16c263ba85d349f23de634801c2b64769b375e7bf0d098890269762840fa2f6084af3d9276a030b975a42c484d2be534264562b4a3a96d8fc7ba0b333d5af7b7a218fae0f23d21567293132ba3380de85689a1e913021a8df624e80c09d9c0e039544dcf6233c76071028ebc67c9de3ee674bc6837af70fa12d22c6f0d04f3060e2acb6700c3cff134ab90c2e3b1d7526b2fd34f8d8197a2c9e2727615732b14bf4cca0d38ed1dbbc357e7e2cd994d8deaeac9e6f44f63cd0fe509180540b5f5e85431d78a2e1703737ee082e0e709d55b27a0734584ae1adfbdff977e7019978abc30e0a9736b6b3aeb8a9f7fe1843c1611a8c77f4b92620b8167335ca222b44f3b\nlabel = 8b64ae26615eda5dc0a47b20b4f2a398844e7b97a06abd28b8db929ae347a11800000000\nmsg = 0cb3e2a241c8977bce02b885deb4bd3e707e1e950bd20d6573ef1cb28e558aec1c4064a18a0d656c7649d5412c422663784f9d24f4ef4ce744446a8e22634a4da006497c93df79b1a1b35d3461ce7ca8008dc4e2b23ca9fb63f0e1819e978ab95a173127e3c347ba33ee597b269c39983a018b9b79e596296582fae18da8c38090f1f775cb3b12f45fc33dfbafbc262b2579d93370542c2e67fccc40872dca0e2c177a349278d9a04453603c7c94a818541a586470c53302a4e0541081d11de7205c3bd97987db419aa7443bc7256213a8e046d1160ca9b77e1f10d134d43ad288367dadeeb55633221876e5783214b7c454e9ab79741b8d47e2d2f8c8ef01fc3ce7cf4b3f18068cdb386ec0a5734614ffab0dbc2ee1cc35a2cfd2e84426131c78630b4c8965796691e84f276ad55c41ac6d9d66b320580465b9d8d5c956cd4b144874c3430b4bb9e3f9408b420f0dd6c86918f85197e53538dd5e7ccda27d0cc62d939f394f7b6acb0044674ab549f087b33eddae5e49688e02e1ba0abb60e28926692de9c31667c147a8058b6db9ca87b217048d621b8685a645ed87a5d1edf0027a4eb07bcfc874987f43691f3e82ff028f7052b66610ba4a02d25c49\nresult = valid\nflags = Constructed\n\n# tcId = 32\n# em represents a small integer\nct = 93ebead3c8001ed15efe1648c9615db880d29fc29efb069671fcc0d5888f6ba3e2784639e6e3b9028614603d2f5180680aca911f23c5cb3028ff616920026d65afba45ce6e8c708e166e11ba2d837e4b120563ac783ef6aac5baafbabd26dff137ec98971ae892040f9795f63ce03f8df39ed75ca38999476088a21a7e32bae2f446e8a7ff5d6cfa78fb3635e9e301068d0bf53a36d66f0837f69de0da108f5c43caedb8136bcb9716014f09a7eb76f28761ed675447fdc46bc7ed2993a408e047839ba94a7698361b102c5e22b091ba5973b82d4a2040cfc5bdcc767faf5479a5da031d1be8242f6b1ff9859cea44db3074f021a6894fec3b637e320fdd4a03bf1b58fe91d5f8fa36f41a1c989e52e5c7b2dfbdce9a6dfe75d95977fbe533a753ac972e92388351080eb1d564fea5f3eca118bdb6004c0f16ec0b41acb7dde8708f65a8cf3af10ef8d3e9afdd314fecd3d7d4d480edf892f5117a6344cb12a2d39637d4d74597c129d7713dd878eb34f6f7dab71e71efce02d17eb008d370b809b31202cdbcc15f437cd362e7d41a1aa2425ee578ff8c19e6941a79d7bafc87201e819e1fbe5db1e7148628806b4ffcbf0e0de6f4632452d606122899452282ccb9b84ac11c70943386b6dd0ab1a5707bcbcc1799708ac8b05e0006aae87dff7c5c9b167f50c0fb6cba16c7a6e3882c32771059591abfc5a7cd53224b120ad1\nlabel = 2750512215b61f8e6623523475aa61c48ecec1b5ca09ea23bfaef162984dfce100000000\nmsg = 88ee82a2ed9e2db05df7d835b69113bf60ff23efe64e0bd14bb064e197c03e75f9730421be7b35770bc6dfc660b477276ff0ec936a3d3cd416f69ce8d10e4a4c6dc855b7a9e2bec17e3443ecd35a567fd0a1ab0fe027757a4b8c90c35d3aa26e337b99d6a1e0333d57e997a16a65d75ebbc8a06eef396d316ff45d066d6f46d18e68a423b8056ebc97cd8dca44036864f73584872405f8935e33a1247f20957f470445c36617087ad5260395f5f2763dcf4027dac0f95f0b378c9a1eea7ab02092ed8b893257615aec24a7ea9ce8edffd082972517246dbd9fcaff3fcff191cf23be27ce41c97b77b0e6d0add28848d0453acd8fa996b46edd975934d449d40203bd2bda89dbf80c12859c00087d77f58172226c065c8a7a3ee9ffdb688b8134a06216335b1d5ae67b5ed44c48c01c7fa54732478a2789be70e8082707395fdad5bf7cbc111cec0fa6141d8107e962e4c22c4cdba303dd692d6ecd71b1fbfc33487b33be2fc6e261914e407c155e2af7a459c10a1356d679a5a338528a283a47163656fbcdb748f5f7e244291f6699b0355f0d3d4931bf6c258f29ecfe69d2d01cb1610ddc40751b17fb275c68c899782c43d1a15950b53dc42c556b0c61\nresult = valid\nflags = Constructed\n\n# tcId = 33\n# em represents a small integer\nct = 054309a578d6ebc75b500308a2dc17b0f4cd5f9c1b3776bdd084f629eb6cb96d419a9cfcaab5e82908aab40bd28f1c622ce7b5ae40487aed8b56a71be56a91b6c3a7059b5cdbe81e5c7d19e2b63fe3c55833cfdf176eb5d46b0b4237c4af14eacea75a53dbe3770d934d5f8fab4f3ac1222264768e12f4fa4e4d23b3b2cf5fa4e315fb3da46fbb821456e17873e7ff06c247be7feb91ea4d1f7fdc07d351f423a4d133ad4ba543c9eba67b06b9c023b06c12e64b3d9ced33192945f630509f38053601a70e9a1781ae3688db6926a65697f41b5c51e2d97cbe293d39f270bafc0ef97920d83ca6a8bdacbd4ad1f5ff7e6643be13f2b6a7826bb03c87c99608a3ba5088c5703148928b30fdd459d902af837a8a51141a10b7eaaaa47a5458e28c10c8c92522efccecf7961f9345b4f9e00fe08c1cb01d0780199ce25edac27918db9d31adc7bafe055d4b76bb6f6b92cfcd8a51fb57718413e6ec3b7b2fe695baec3c0b15f63c91cf1f2d5a471e83e8a6ef73db86dd44c8284e0f6beedfac5d50bc2a8985383610e388d4902fe179cc3eddff4e24e2d4585af1dd5027fef0f6544780d1b43e3f23c04db2b00f3078986124369b8e7db5295588d3ec5340806229069c50e91c1e5a63446ab7c5f7245df2e3995ff5e39d4f5c4c734fe01ef23371e79420c43efaa0683ea212580d7e4d2ab5f3cd988a26ef9b3bad91571df86a97\nlabel = 0e5192d581dd952ec3aff44952004636d015ecd7faed33c005928a26bc0d30e000000000\nmsg = 0d9c1280709b3d2fa20196594cf21174401bd42de9f550466a506bf1f088ae58de149971a848fc31a4471bc8500921a2dd2c5a642ba523c264e5a1e0571e960df2c7d3848705791fdd05d6518e92034740719e5a25806a19c9fdc454076b150538dc7e949f3c997c17c1d3beb28393b00e4778c4d373e8b7e4acedce664f9196a6ce3e1e2274d793f58b34a50379bbba57b221f961c0b10dc5af3fe6d55e368d91357095c0ede3cab024f4d6e38884616f9e9b8ed2b185036d44b54e3e26d2d84b0f8b82f401a3bab3a8e2fb63a1a7a29e10f821762ba1bc904a619c4c82ddcb34c2091b8326fa83246ade38d516a3c04a31c9a934015ba0dbe6cf992477c52e7d13bdb9fef43230fc19fab553c04337ca331860a1b1d6af4d99ecef5bcf2e28f67a4b0182156da9e5e7b9eac9e8caf6fd5a7463e31403d1ca14195a25e697e0b8b3038b2ae86cc6bc2a3aef690853778984ade5bb45239982aa99c961936b64c8e89bd2f35f8853fd1df173d1afafb939bc4171550ded9ec0a8e6abb02656e45adfab051cc64040a736882206eb723b5f36def6acfc31a51bb6524dde33205ed599e38d7976af79c6986fed1f6e7c064ccb6d57599d23bf9a1c96167c49\nresult = valid\nflags = Constructed\n\n# tcId = 34\n# em has low hamming weight\nct = 904f9e8ae7e411ed6172cc00bbbd2ad1149573d177a9a2eafb9c0a6df18aec5bd83c1e4e865b35425e562780e57e6d83e1b5258978a444a1f91fe68be1bc0c529d64702d3a0f7142a0f0ebf9a5fa6df32d2fabe3d2bc7aa0b0f82a903c8448e0037a8e204336396d5ad28fd8483159e45102360791d7c343e973b38943b0851d339f868715d6ac4e5ab615f9d430d666032712e2937cf325977db79cce435d8e2c6d75b306b668f72dc7cf2ba2f8eecbd23b54878d1624ec6d7fb72ba26e5ce30603b66edbe87d4402e989fc75352698bf7fb03d1b5694eda874b99e7be2fac348f1736a351207f1cad43da26dce1470a55a795f3d11fa4d6302f68b88d976b2989dec0e669388c62cb555b929bcd6b5e4e2e42b06bf23672f8b1ab3ab2078b64a598be8d3ea6540027f736ed1d75531c0ecd52be66328c4eede803f70e8cdab6524f226d035926603b27376fbdd28564d8361f7584426188ef5318ea7332619bcfb2eb02424e1737ee0719562cc9975e4a0cccbd6e41d9a133384a62dbd2fbc36c928827c56f275731f4b197374e99c572d190a18b35f19bd9f5d7048cc9b9e034aefd724638b37a973348a1b5e8211c24fc16795779885acf915a7f2baa7087ee16c125a417d7a180a8c969b0d958f3429e12bed1a8d24b1b1f3d315145169176d69707d60e34ea54b7af983722ad91a05ab44f8450a55fc2e6017d0604aab\nlabel = bb9da557e9104db1e8ccfef13fff9a409a7d459e1d4bfee04ded3f75aaa0f23300000000\nmsg = c41f3759e1d39fc1a701e34b0876440172eee941bd9a5bda66ce86ba942527eacd2a8089adb0d9112c57437818d1cd9d0ad82977a20a88f8599e23b123ffe00fe0b9dd3544fee275d1e48f072bd4eca1e3a3a40afb914f22d3cb06803575442d04a2dda5bb93453372244d63b23e9d8a250c54f27657ee68024abe1ceb69bc3a4f5933def93f4b1084b30e2577d6eb2e21e5febda06eec675093c2aa117b7024c82b2ffa9ef5d6bcec8481c5345843504ece69e52a8a57285f048f69b1afeb735aceee081655b8381f632966f3e34eda7c8b6a7bbf4b4c7af65b2d9393cb4424c94930cf941d15675c6b12e33f892e93cc11271affc6036434e9514c0edb18846c0962ec369f4834d0ecdf799f0b36f11837533d3b2b71c9a819008a14408f0e360d44034e14bdad6dee228e37ec34bac910970e718ca4467a71393b59135e19f2dde5b693383e9db1f8f890b5ae64a779c6ab4bc9b48185d1d03d69037dd03ff1fc4aa7368282ec50040a28b160fb406b0a573d0e10e1906e0665722a07743f34c8779f3d6ad56f4cc3e53d3e2ab666684bfe67cc631e1705a47df516cc440d8ce171be464a68cb9a2cd43d1b92414bc3620f2c1adb8e53130306750414\nresult = valid\nflags = Constructed\n\n# tcId = 35\n# em has a large hamming weight\nct = 47b177a8fea05a0c3f6668bad507fbd3f0278faad6938c69b45826043cd24505022c2ba5fe8da4f4f4eccda8e86f4b4eb290b5b53952a803326a60888c07e41b74496bf4f5df9aa6fc884eecaac5dd52252d4631ac09c3df407a28b0c10de2794222b4a5379468a407805f25bf6077f8ff834f", + "c49a01d6b12d2cf133fd37f648da7a24dc19035d8df2ff9da5135387fffc1abaab10028bc3cabd79ddb8901a81940ed80d304252b38d7e62ed0bed5061010737d88d9482e99e6dd71c1db75922cb2304c6ff0b594372dc7d73000a80a0dade307bc7cac2a9e634c32573ba9197b6bf554ca549227815325399560c8aab7d29224d99572c91b9148b167d987c19c8e33e7afeae675d5b4ec8dc013d439cb96c9e61ffb67937172b7ebac9decf7407c2cad48448cc5ac696ae4b53454f75aceef6e7a9fe7f04657bc0b08f3b0373324a12f4e0a04ae842483abf2aa9f11f236cd512cf70859d1be27b58f7cad0778a34708770fd295295e89c6ed6d055563ad5e7b30b64042860d2d4a17d7d53ba648ee27639ec91a9cb4dfa9a640f18dac43a47717bf1bb0f6371b44efc63b970324a8e25da6e0e83eea6f835aaabb815eac784aa023866438c2763599e078242e9a9aed6895715fbb033362fb2f1b543d9be3190dfbc2420b57c16816813ec78be3faa05604379ae168ccb0d6ab9509d0a84f667331e158c1644522c7b0ca862\nlabel = adc385a5ed585a2afe16f5f539620a47cc3352cb31c836bb72e39dc7a23b84c600000000\nmsg = 12087af4d447159fa47d932be56c419788668b8da88954239531178a718810e3a6eab3a08caf92b39bf1500d64eb0f9076100fe45b8bcc1b04cb6df9cdf05cfa1f806361f6c72f2c7d3afa9340d3b5dd1e2381193ce01a150701dbf4dfd99b8fa8bbccb7d0336b2d5b7df7a7d60a2c199ca037c6125a20c115df340e417f6ea87e7bfc53b19108dc404e3caaba3338e4edbe2e66aab7fca73fcd855fb95557041c59256e35306c102ba3043624c4b01378a0dbb3fcccd81e9907bbe9f17d44d0ab1efd0cf45d8742afa55ab4efb08a84e1579cb57d8c233c0021b1d22c32b6f6dc903d63f12df51959b06b7070077ab9672bad56608c22e54dd5cb4969c9798bbbffde18cad39c18d8f392df84fa68142b383d4848ec907c251af6aa3b8529b84100b981bac087ddc9e1df72a30f0e861dd4cbff9b1583229ef9610217ff4592955db67837842394f4a7789e8d99255b999f61af7244d23e66805f368340c7662fd398172d326076936fd1e5752cc9b176b30cface1bd386209c50fef70e95f6d7ab854ff75368109c277fc169615803dea8df39fb4953f78c48a42ab137b0e6ef3fb7a7a45e5790773e8465d014e18d9d51feecab8f2f3e168ea78d410b\nresult = valid\nflags = Constructed\n\n", +}; +static const size_t kLen135 = 39284; + +static const char *kData135[] = { + "# Imported from Wycheproof's rsa_oaep_4096_sha512_mgf1sha1_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSAES-OAEP\n# Generator version: 0.8r12\n\n[d = 7bb0b14b4fa435505b69876e65a3a3f8892d61dda53709f4257aed4c8aa91f2351cca74cda1989c898c88e4a4dc60c583fe2e5f73852933bb13942bef04b4af985f8e56fec2d282ed9ce56f27e452bfdc4ff6e7295d95251c264a36743c14fce78a2f4ac6bf8ba0a8ac5f88c82524a1610abe7548b7f6a97bc744473ded26370bff86f966885ea31787b058197ab58830ea477fb600bcab4e2f133a613f9f125319d272ea5ea323fbea830ee146725a86133c4167c63ef899edebd2f91769329181325b5748a1146407901a8d8bf66da94dea20e64dd3c12ad7251df719dddf3fe882b6a22a30ad1061853f748dd83a72839adbd885710cff95d554c1bcf043dbb3feef19d498e7d8db5caed36bd0d44470fe7d7d1a1b0eb4c391a0736bbfe04846ac98d6243a4e3e58b57549ff7f54c92f103b33c9db04fbc6b36fdf5191567a79bb35a0be94a45480cfc28d377be27da9c2c3cc0bb2a4e910ae44233305af6a87387aab762c63d969714be53c0b8a26bd20cd63761b373b815330eb92a1fa7e6ab827276335dfec94146548d073ec828f3793a84cafa12126196a33f5fa2f4f2f6470093e99b2b2d91f2ff9240580965480d56c74be39bf42408a0e41ef60dc080898ce3eb530d87b4da4673977055e83d6504a89d60fb2f49703936a2fb391fdc39d59608d500870511b458c9e45e53398db152d3871f18d61b9afa4435c9]\n[e = 010001]\n[keysize = 4096]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d3]\n[privateKeyPkcs8 = 30820943020100300d06092a864886f70d01010105000482092d308209290201000282020100c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d30203010001028202007bb0b14b4fa435505b69876e65a3a3f8892d61dda53709f4257aed4c8aa91f2351cca74cda1989c898c88e4a4dc60c583fe2e5f73852933bb13942bef04b4af985f8e56fec2d282ed9ce56f27e452bfdc4ff6e7295d95251c264a36743c14fce78a2f4ac6bf8ba0a8ac5f88c82524a1610abe7548b7f6a97bc744473ded26370bff86f966885ea31787b058197ab58830ea477fb600bcab4e2f133a613f9f125319d272ea5ea323fbea830ee146725a86133c4167c63ef899edebd2f91769329181325b5748a1146407901a8d8bf66da94dea20e64dd3c12ad7251df719dddf3fe882b6a22a30ad1061853f748dd83a72839adbd885710cff95d554c1bcf043dbb3feef19d498e7d8db5caed36bd0d44470fe7d7d1a1b0eb4c391a0736bbfe04846ac98d6243a4e3e58b57549ff7f54c92f103b33c9db04fbc6b36fdf5191567a79bb35a0be94a45480cfc28d377be27da9c2c3cc0bb2a4e910ae44233305af6a87387aab762c63d969714be53c0b8a26bd20cd63761b373b815330eb92a1fa7e6ab827276335dfec94146548d073ec828f3793a84cafa12126196a33f5fa2f4f2f6470093e99b2b2d91f2ff9240580965480d56c74be39bf42408a0e41ef60dc080898ce3eb530d87b4da4673977055e83d6504a89d60fb2f49703936a2fb391fdc39d59608d500870511b458c9e45e53398db152d3871f18d61b9afa4435c90282010100e97acd5f64c460b2cd51cbd70af5b4caa2882bf6033a92a23ed80f039e8a32c8a4c483f94ee1bb89c1dc1f6d04360a1c3f654251ad72eb39cccbfc38b072054bb0f21b9d516ef272e7cf86f8a8f838eba829e7fe9d803d469a1810fc5b37476333ddfc0cb6f00e9967970b4e474e04373f8dc92df50fa155e3139bfebf4e1cd274705551f2e9022029bea4b86664633d13fd90ebdd0b72d95a6508b6b4354e64b187fd81d21a0b1e4a853c27df11d7fe6c8953cff6344f50ebaed2513dc03761e8877c71ffa8005331043027b8dfdba97cae037fd5d1fda1f145a200c0d20f8dccd62e5c489eea8ae827910d3f48bddf0b18dc3089069f96d800de47036859550282010100dd1abc951ff1474ebfb70807b160b110b1eccef429c8fc8535ab0aa98376a82d3d33af906fb0395750b9aaccd8723cf73a8c3a6ad5c3a0929178ac55e1bd1ba1bf5da4f7698dbf09e87c84c45ecbbe8f12d3ed1091bc470eb2c733c31f8d27eba9718ee78db887385bff6b67950b79524482c50daead4db0f5676e4b92875b5be383ab1cd75e1cadb59cfb5794c17220154aca808f733a636d28c016d9843940bf44bb15ed191f53449b1651b79554c23e006a56dc0232cca209bf2d3c12cbbc0ed8b3110aabd365b603ea8cdf15e8b9ac781155f92f39dbf9749f70df003195a6bb169ea0e0d69eb3a18ce8fbcac9be3c710e797acb5c05a399c2f102947c870282010062f25622fd53741f927ffdc10eb5fe7e79cef7c274afd800c65d4e4f9c5ab916eb2d15390cc301756a20dd7897f646e69dbf4e11cb4e0e7e1a5ac0734de3a476e570555fa069427a8bdf19363c75a5b9c934a94af078ae7f4342bbc016f02062dc5251451a2a3625b10f040d928e6f9ef262264641baf406b00b596ae6ac35eec2c5f082a04d3b476229972946cb787b2403abed296a76abc2715af602fd2c51e422dbbeaec9b6b889a0595414673d806782f37008c9366bf6d5c9f000197bdf146a86c4d131e3a15dfe8661ef297fb01e54a8cafe54d6065177cf263e91476232d2fa26c5e80342070ced9e0d99c84dc4282ef8aab991dc9d8210b14bb267590282010100b83b9f0763265894758abd562ba6b5e3835e1ed3b43d94ac2a9beab674a45a5dd7b14988c087c63fcb33e9ede62cca3ff6b901b4238a6e31b2a52a742534bde178e33ea22981c2bd2ecb1295cda757913fcef6a9e7c54a302527772a0f103f434e5d21063040a1eb843cbff1ff6f20183c9dfa33fc68cb63b81806ff518917c6e93cbd47baece0589e0bc022aa00c66795564c85f301c095384fcc3f3ddfbf15044af0d8c4473aa2d777a29154b74978d0d0e7ca9867fc8c263898e3c83aa12881f66ebeb4759820181a0b46765c7b1ebb67108ae2a7473ed40d290d93c3458dbcf00759061452c0ca4cc26d1fe149590a63e9fbaf25e3f78eea8054f22167e10282010100c301f6bbe5fb5693f665b26d1a61e1de87e38950a5825270ee68ea5a5667e11a3aed28b2266768d1a3db3437dbda681ac8294dd50ad0b4bc5cee5694831b8df7354695335740b9b7dae5f7881536da6a6b2ac4308a0420ad6e99cb779a6338f5012986b1c1c889444d90585fb0dac995ad6e93af7eac717c643c4b8e7023cf57cfe284ca911d6dc3132b08e17f4e8759af42b43ac929c0259c3a1d5e5f7c4b247e2f6461aeff8577aedc710d6d2d56d943c211e47467421539dfc2700663c4068031b695e487ae6910ecb9c547cbfe12cc6f45b658e2c6f9f8fbe805304194a9d1d9c6d599c5ac5c9ee5fa78c8a4583218f7dc8f4c8d3adf275eec0e0941fa69]\n[sha = SHA-512]\n\n# tcId = 1\nct = b9fce8bcad33219375323a2e641de7650c1163d9aaf5f2f0c5b96230e788a9cb970fd4cfdf9df98060267e302b133e4974c0cd529ca1c900dfea65b46078fdffd9d589319087bafdbdbb8467013e48262bcda8554b225dc3567887da78976d5d9ae23ca9914248debc2383634f71d171ad375dccad198eabf391f4bcea22473c925e18d5210b02c555561592411d3fa6d2e425415a83fedd651718a8a7d1db2d81f64685c8da9a05e7201593374e30173ef04b42b1f16f0b8a8cff6c3ccc6b251fb61957df57176102a8a03d9718d95f3bf637b1fe1feefed9d50ebf9ee93a99c60d2e404bb78f9a4292ae280206782564cea8e2ae831f9b5d629b88af7c610cf28f9c6ec56534d16b70ebee0df20f8ffb40afdebec977d16f84c3e583a1229f0d2a01e0959b1cbf37448ab947da05e7cde1358c9bdfe298f2da27d65beef13aa13cc51f04c18560c054dd8f85d34ec759691b3d8c72138df12e6e442992a2466e3a6db6bd322d04c069741e0accc5f291a6520fb42fa001764c441c37456f9d91ab31c94283bd4a299fe4fda6fbd132e04d8d92157bf9aedc80c66cf7046a33bfa308ea7f5f56963edf4d804483e631acd033f2d9ec190c6d04c55540908e76f9b3749b8aef86287818358e4470cacc6d45fee370bf836d2b9277d044487aeec4064c74814d2c57839f6bffacdabe1f2ccaee4492b2a5b1ab7f3055d2569c58\nlabel = \nmsg = \nresult = valid\n\n# tcId = 2", + "\nct = bbb5c693aeb28296b4559a792e489c74bf21c3739153be06dfd336f397f16969fb1ea0523f0adc7e206d908ea2a8eae1011217a54af3beeb6558bd80f2c111dbe51a0e25f3ac65578d4e7f6b41bede65813bb551c97cd70485b81d70934e86e6fa349287bcaf977e666bf9526db02e76f82b3ec2941c2c7355133adf80e16fd8c4d01a62f63d1e0e6d67a247fa2084409df92f8f528ddee355bcd9cda753010bae377bfd6e1a29a4021b239f98cecb5b8932c268393dd5ebe58d42f7eb59fd389491cdf05d29e7cf8c148caf71232853203dd76bf0ef8ce7be145196b7bfa83eca9761669fdc281ecd66ac37d45732c510b8d1f520f8be259a2de0220068a5c741358d4c34d72ab820e7791764efad86c4113988cb71ca323f31683105e273c037c02b4d4b56e7a2a341f9348180cbd671f73adc9767e050b58b99269b5fd696b071473e9d767918d99ef0e5e69859bc0a3133be92bf38edae5d8060cd5c13f2aa522d0389c3a5af934f81c46f83492c1ac6e856b2b1e3b17ea83a7dffbda5e8f4ce57e5c106c5c337ad286858af9ccf44417f2e0cfea2f196d89e078d9884fc176b02673d3295fc3849fbaf4829d7f310ca53a3861e8704765e8654e2b0274d6bf43152d13ddca60014067eb1d5589045ceed16df90a718260db6ee83662542c8c6fe47962d18758824b7f276dc3d94b6b8bc85bff1babe91b13604b8696078\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 3\nct = 3fe06a589140e2e037ca786111219bb545a189b506c2cb52376b6fee3d8c216b33578a92623f4852d2c82ff02db90b9266e5fd0301c8e156a44093206a8bf93c48022738a35b834dc025db456dfe003026aee1e7144f95db86d357dbc93d11ae9568ebd700fb577e9ffaff19f324cdc30332c0a680c47476564de727eccb1a974826bdb384a517d489901cc5f0afda3be84fad6a95435aa8cbd91b0cc5d707cb4656303541b69e70f9327c2ee061d96a223bb6e29b5851bcc345ad6e47feb0b86565706fa575fbf7aa4728d997023de295f669b34ef205feb24ebe07074b2ccd0fbfed7c3b543ba56875cf0addd47b8bf0375a5706684763dd7f7f0702d43934726a1d2600a668b6c4b170c85d0a4841661bd946b0c1ecfe801d1e366bf4432e756ecda05afecf29338edfa80677e3f21e54213f77c673786ba5cfee8ee800d651414d055d51edbbd2108afa1ee8f354ea7427ef772b31d12950c1359e9c6b65a1e2a2636efdc0cc6da8956ff84977c25cd67e31c88d27ba681626f25acff63b056f402f8f83090c5be0d51b6b9ebee8ba48ba88917b02058f4efdedd354c63063ca470036e3ef13da38c9462da836826d9472be5a6133c137f496b2337c9d470478800f67045cf9b1f5cb072847da6981f77d4e16f71181e90748c40c79df936e36ba4d4810cc81023591a82465f59e0b98f8dba0b0503b8bb9ec28919f0d89\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 4\nct = 8889564896395f4392a9ff76ebd1e0f5b3c5254c83fa7fd7bf614aeac559db65999171139bcd3c0fd6adcbbe7adfff9d8254ce2300d4ffc48ed00131243811677e8916cae0ff5752d75135fda0acd167b0e383f48e2cee184917d5f860c0bfc88a59d54587825f75db894de2e9f40bb3b168db171e8844d64add489ad839f47a63edd6382972d133d1d8887cf120a1dbf4cc3ebc0845ae85d6abc4ca82be90648ff4905e11e9a37137cff9400a0080e2d13babefbcd787a86b75772dd8461d5cd8a8f3c3f14b7b305ba6e51c765302981f0c3632a2860fcf61735396fa39bd407100cc1e8dfdfddfc0b87735b0ddefe96f2a2de97f168e41f2383c345ff93007f6fd505874f2c6cf2ed6f30ab6a2c8bffbbf6d3cf32ee716c85697db87f2f2b0b9cf65a48cc15187f5febd3b015b3339815beb3b02f418bbd3e7c6e9fec74374a1fb7ce9acef3b75292a3659b04f44062dae0980f6426dfb1ebe6d67c6cfb887f5fa3f9027ecf4936f3c0995acc540a4691cdd28909b3df8c48a4a27c9772763f98e7dc7d8a5497142aabf2c4c472ca397edf2fd1a74af576fbe1db292fdbd140d64a3c65173c0656619f5e5b3db0596a955bf017db34d849f29902f8a08544eb8aed66579084ba3aae9646d170bb76eeaaafa95f34295f2ce86b8bfff613644cf1ea061f7af8ee42df5d97a83a094d07219901d2e1ef26517364a03f031a3ad\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 5\nct = 81935470cfa189178b215635b35436bab84d880c42127d5bea48563d6d1e52cc4116d8ecb9dc9d30b82756eaf8981ccde25d4b3555e1e26691d92cec29103f7a514036ebb1d850b795ad662c9bd6c63b2dba32ef4889419b740d4cb38283feefd285041ea880319eea371a15e99dcd02761029b5709232f5df156594259cf6f63f882c22a3c427592ef86b0e4a7d0b13f772234fd2889c13b157c2da6a94c3e3807771059c970a3aa786b05d79c92a36607fda0c7c3b7279402543debcbf3639b3bae654f48b80f65eb9fcf5d4960d88b8906ebb84aca936b7a06e4db3be1bdef0fd16af1a3d0fe03203492a0357bc7e76eccfef7a2fc1edfc50aacd0d46bc7a28428b92f46e3d3a58af3a7f9e0d4c70c3ac240eedb878891a8f148b1e729604d943af03ed079787a7f67f830e9a77e7fa6e39fab006398e09483e6e848d14a95e902f2cb60252059d1cabf319bc463719132bec91c6e7bed2341455c16502d2bbd0851301f86e0674c9c62f54e6cc9bebc268a4a714320ba2d30e0dd7996720466a976d3c9e8a11e38f32050ed5e079875160e2c1b0f8d4a29a5e3f6d04db8f501b205e56f3375dbadbc77c4a48117532917f09575ebd5ac491eb1bacf1d157dce7465eccb7568b2d51a87ebd493fbc9275d5b253b05d7744921cdf5c274906137b3076002a2c10cd52cee21a17feb9e35c5ab3af3e0427207c206fe6a068ab\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 6\nct = 8eae919086dc6c634f495a45d86023caf497163b2f4b63ab9dbee8cc8c139e41d83c5cbd2c54b032f79f3bc37e93ed2c7a4b652014b1fe4b607bca3529aa160c84ec89910bae46ae4d6e8bdd384ae8a5a18a48721e0f59aa9b8394ff821dccb8e222e7e7a2a33e3f02a320301e2e7a7c315fa0bf9f9c676e6a4535c34b621ff8345ed2b7d5d35014610040a9b3f81340f4911e230f356b469c9c6035de42048a68d5f04681d85eb9c2891c6a57a29e8e64cae0b0404d4e374f3188caa210c4d1378f0012805d7b91972d085956f067791529fc0357dc30aeed5fd3bc5efad687e5e9ec50957ac809d683b02e5764a5d8434e5e12764672807e18198c225d346b406b4dc06b9164ba5f3ae719bd376643727d9061745a2e587718206d66b1648bb52090b224c175688ea8d50b43a1d08ffbb4248ea7f351799c7e50f2d490e466722ece2c4f88f89d2f96fb9aa9ba610ddfd6cfa7b7a9c375e95575ae51c5d6de43086fd0c0663ff88035c3adafb82469a77556a91d32a421e33338bb16195d19010b58d720688d172ea7d64fa50caa902bfdc7b78c7bec427031ae9e3f691edd91a90c86e2e86d00dcdde12076308e1fc4c910814b00d751fe2e44baf232c4934b58624c1da5bb51b0e8acfb454aeaae2f04be02e4e121cec2b980ad7c23d13698a88d1d545521c0624261fb0e97422bcf76f47d7c33ad63a8eb4e497502569a\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 7\nct = 9284f12053cab1f558770b0da4ac1122dac9f3ccc92992cdcf186b62557b265a72234cd443e39d5d2e1e88d4c2b3bf569ba8feeacb53d7f4100a505de9118cbd22d159ac00d2702fc37350780cf78a101d7447d82b6e0ccf9d901c58734cf9ce7b182c05315b31756a30c5e563da32224272523bf01291732ef390e90d0b16de359a944c8fc92ed9949e9bab4059424aef42a5ca7c28040f3c473c952c52827159eb125e2234fdd251c898746ff9bed99fa7cbb2894cedbcb3218526ea286da4e1420af5c9fe91fd4d557f81b69d36964121e5202599cddd4993cd8dfb82a48265771b3f940a82ff572e514f5eee9bb98f848a31e2d3f7271ac9b298ffcfd03857cd562e8a36daa26cac1f1dd173dbc4e4d5dda6f3c28e3aa8c8d54dca67091d304bbd3217e2c42bf13ae02867ab9da1d3d01bf196ec8be97da126cde6a0244673477e4f0c98651592e25ce1266995c7a41d41fca2e2213806394df9a7aef43a1d90609cae8511514702d890fb3230b8c22a34720435a547edee50bc5f78da62224ecc3335e900d8803aeac4296fc4a41d59806c811924bc2d4a6067dcf71ae24a6d7cea82597bd14a3149fdf718aad5f5a6b6f126436c0621fdac4297d646ad0e6f70d524a48e58988066694f3618e013825d03c19c75b9c9d9aca436424a3a9a58bdb92003749241661527a6878601970abc94767cbaf82ff3ddfec7478638\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 8\nct = 4db93239d2b04e8d6247a970797e21cda029a6986a4e62991fc489bb1036ad5ac9f5cacd7bb84584f0371c2781f81b64b8289c8c0bb1f00c42513bca88417ac838ec7dff9b6bdc59a4e3598454fce85bb1bde30db75ea83352358326386214dc1f0d584939cda6019ed6e4433bd6a45e3a7a27a15bf08b69b70346819fa1fad4ae11b1ac7d06834c70b1d25b0cd2f7815a0a00c692cb7d0fa1f4cb53448834fa26b344fe6e38560f48f6ac1cc170822b599dfeda6f3709a8d9ce62aa21d5e37f8348808d3b50159acf7e3cab7efb6a437001a596c17d31be3fc0f896b41091541f705d64541e84871d0136e251f8d31d24fdd101672940efe26b433ca084ee48a7d60c5f4afc1bc60b02d0fd1ea25a77e976b691578012f251f542e60b784afb61f3fc988fce74b9ca5be9cbd9657a7d88d68aa9544ffa2198bf5fea0ecaabd8752afe5c51819dadc5c728c2ab1f6f24d474bfdbbd252856c4b7588cca27801c61df0afef9b892acb53842b0656c91f4445e50f395d4bbcfaba3146fd6631b668f4f5c1897bd0a12f45f3d03aed84a26f44ce2ad7facc05c7035e675b0411a7ccc6450bcac760def267f79bf65b033f6b807ba0153398b5cd5833688ca57ec08b48fddfb6cbe4ba4ab293865c67bab953a4b9883f8b03a5441efa492b4d8f2b7d1a216d057feda7a9f388d3bcb0a28a6fb082ec632bf88cb411da33898aa9b9a\nlabel = 0000000000000000\nmsg = 313233343030\nresult = valid\n\n# tcId = 9\nct = 29583aac29536dd4b6a21da5a44e1e2b6e755a45c67f828156e1af72c7b7138374e5110ec7e3d7385f3791c5198d16cb5c78fc6f0291716ed818ec6b6d0a8cd4a95e3712449f0e6b6aee58b75413aa6cb09659378fe2a43ec789310182cd7eba7be97bf2b38386508116c8d693ad3f49a825e1cc0f9f692e1c9e955a92d4988408b2e940ea4539a3579c55a1cfe91d1019c996cad449ee8d95cef7d84ea27fd992532db562cb5d3dc30509c9ad0ffc624aa8ead95ce75d914ddb89f5a6ad950323fcf94830744e9af3681eed79a3b1d88252b46ad3ebe55263c003f4efcb25e17b97dc7a3c2d5dd9c1b1b8352dd3ac3665172fad40d9a7e9a9a5b185d2c", + "b383cbbfb0bbae7c65e186479da5f850f466391ead2670c7512c3a24a35998283520827122e3577f3b3e8fccddfac3cb30f56e1f69f9e3c8fd503cd3daa2492b1d6adec372e11346ac8e6c7470dc31336cc9fa256634e927448a8eb7b36c49486d2f24123be03d021bd6058a0b891c06a50dbde6d8106de893c046a98d8ebc3ff0dfab1cbad8188c0e411b619bb1d4bac1da82093804e81621306cc06b34ddab2a944e1ca809a63c5ebef662ba409d20f1c980a311ef4d46a0d28921faa54d1d48a6f47b06292ccb4deb9dca5af89d789101caed8b7745c5439812c980c03a8a103fecb3be579c450ff6dd5920ee4fb7144f243aec7192c4d4a623730b01cd323a381\nlabel = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 313233343030\nresult = valid\n\n# tcId = 10\nct = a0eef89abaf87828a4359fdaf9ad21419045568dde6cb1c4975fa744cbec96a60e2752acd8b05785f34b9ea28f825959422f50e2326234ff6df151617f00274446ceb3eba0ad79476ab70b1efb932bad03236af106d7c5011cfb4fd9b19ea26393651eef432422ac892f6905f4e1ef1f6c8da0c57289e93f580ece8bbbad8ed8892a5481685a8ceedabe4944bb8bf3022cdf1d004be65ab2bb24e4b2b1495abf0f0b162cf02b949d431fe6f629c9a80388876012e1fde67fdd454b306c42899b92665c7ce20c3c005a0bdc49eb32a482b410fb4d10918d7c4bd2ec7118980d88d567883117313a7b2c49d482686d8f02659a2801c4cc237dd1a792f2b70407859cac860263f05854d96fd588f0d8e66bfe4b04309b8869693e95f08ce4cf3662fb03b172661c56d8033563a883a0933fab91ad2a833590aefe1f0152472582c54a533d77c232155a70b628dedc6898675e368b84aa1b757c40baa07ab95c4a450b7097205fe751e415ab68e5e579a0e5de2bb9eea9fadf5a7b53e969ba85b023d8f0c6d749571baa2c531ed105531078de99aa935266d04eb82699958047ec946c63384d431076556a7e6714a039306420c483ef52f0ac7609b2a2754b31e96c9d2cf72357b8ca5c7a683b95ff221892058b1809df67ad955ae0852460374176f4a042b31545146685339e928136ce173aefd8d6f5066b3777ccaa5e5fe312d7\nlabel = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 313233343030\nresult = valid\n\n# tcId = 11\n# Longest valid message size\nct = 5061876f8bdda06553a4f653c4f0a96a96d8f823c9484a6c0c21ca0344c6f9d15086265fda4f6f14573127dc073631fb91ffe0082f926d696f974b22f4f9c899dbf16feb967ab9c66556a4e4aacde7df73d4c789ef2eeafc23dd06d363ce3f70da60283510512eabbd43cd89b7c014240c35266b87d860466358840f85ae91ff3ae033c7456c74f5f425c4371ca76bca86e2a9639f9901780b1ce20f652644cc504c2497204fa6b51759eb932f4e7099701718476a8d2cfcbf95d70845d7c0ab4a264cd023bd5fafd5d3d0c5500b17a38d0a85593e042685b6074f4737ca181ce3f58f81d2b29e934d44c665713733740832079c3888cee12a5435372a32df434be0c03698d2e2503adc889be76619f4076e02b3517e75a94b7bfb58faa31e660682e8964aec6abad3aade06f376a9ac9d3266ef1e4e51078c446ab6c1e1904e5a1c5b121da4767d53e60f9cc1ad40822ec20c19cb3cffc61fa8f211a58c57b2f79f4131289f0354eddab2bbaa01962a25fa19338b2e546ec96054013cc3c2688464ac77d89fd3106621080266357eeff963c2b0244599d4a594b69c3eb4458187a869544522031235c6a8f3ddaad154c15df7380b8da5ba06afbe9d5c4fc1fdee76b0e90483899d564eaf23c5df73764d4af52e10aa7891d82f26285ef441a785ba0915feb6df082044bfa6fb6fcb2a3a9bb053afea9c015b9188a4123f1038\nlabel = \nmsg = 78787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n# tcId = 12\n# first byte of l_hash modified\nct = 370fb94a46f8feaf018d0f2b9690189bdb29942522166645d0bb7921bc837daac9cd1bfd6ec6f67e4e88a7ff996932c9456314f2aefd01d81c9246696a74f0818a1f05b656ed5804bd99f2a9149277f8e5246e0f9724ccd5f1a0dc637687389bf5540d4873b535c2cf6e9c491b5caa3bbb2da4e71f1c27b7681a1f03b8639139ced480875abdaebf627989ecbcda9373d71c431513b8e937c4bb259db0e5bc64bd42da435ee9cf5f700f9587f32796e97eb5f60969c443efbd3c92f310a0005eadf2301bbf6d5411f7800603b53b6f7bab1072f9e6af0a01e44fb8c9677ff655de1a020b8a9854084c185179b49695f7ada1ca5300f1c8c61cf616ad7c8ef8b8f0250411cefbffad9fddec87dcc9e991ca5ce1f16049327704a73e2d46e6703b40c70e569ef52f0841e89d28da9c743a71fc17e3c23cd720ab7ef22a25d068e0f205a708fafee581787156f6804076ce20546c3dbf2609c9a70f7ea85915a8d0b7103daece1017fae3eb397e7f8b4c9d2ed708c97c9d7e34de437ddf5db42854ccbeff8be2557548bb1e6b1c443fd2a726e36d7ecad07d7ffa4f304dd374180a7456f2947212cb8a767a9241c537211982a9d42c67c5f9717eb6c05951f09a5c40c9d4d4bf6675ba071652912dca387602006b99455aa66dc45a170954700604296cc45204f89d5f875f54751f48b7b10984ac60cc5a46b55aac7443e91bc3dc\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 13\n# last byte of l_hash modified\nct = 48a28128571fee7bd47d4e6645181e9bd4fda711b9a85e22ea31ee3668c2c4dd7f8f2e62bc155f642fc37c0f4d8327d06190242d9b10cfdfe70896e948a0272dc93c48a9ac7ea5211f6938e8c969c88ae3564f27a190b8fd230ec39ccb3f0a8aab83af20906b39a93bdc8d39cb09edc2f393cc3bf761ccb6a742b9cf6e7586a22f885ce9a9d673dfedbe4e54ea710c446a5489d5cee956b781013c83dfdd92d7af84b909b7bd4fb92e32d374398b7bc9f7fe145e3930bce6f600546b7e645b085a213200bfb1ddfb1d52a3abadaff9565416e526a2e065f8de084e2b729db9da4b413894a7bf36a50418872b64c65fcf92e83537f101bf9190b21bb5f16f65bfb50004139d36b78814adcf269cdb2c2b7dd19e2b380ea83b2af202cd2245f857abb0ac9208c009554772ba5bdb1b2ef2a3889c077e3c5641b223a04cdeec295ce6e065478a9f26ced392fe29b971b15ce35389e68fe5ac48c00750bb26d3f79bd7cf24273c5c232e7e3569f6a315b5a570cf6265946b6a006e4045b97da36792ead0677dc864c71903234ac1471ec2bb3faed265e2cf6159822b7cddeab67897bc723d6db29210e46b4da283d6f66330c035b67eb21f179f1828272b2a114bd72d7a5039eb63b9865c983f700070a8753766041489b36d6c66ff3f552f0f766bbcdcb9f58a4eeba194ef89e0ec68f47b93de49bc3006196faa6298cc7c7f1099\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 14\n# l_hash changed to all 0\nct = 5c8b5881da1aca7e3842d9bc22c5af2dffd0d357380d7e95695af13a2521084f373dc2827b999094fa8dbaa85276b97cc95be2d0923503072533914032c696ab44172520a7f0ef999a7c9140da1facb71b44ff0b09c9e64fa3eb584aea20f1df0d1ea8f816b0bc4be4d59c12f586fe4811d84f9c3f0509d6c729e8718e23f261cc35ed38387e5ded781635738149b237f3c7e736a365d656175806cef25f50cb61271b4a0627e5c42c46398aa146e29cc27961851543196416766dcbadb41ff39c0205dcc43679391c699ad8f1b7202a17c7c6ab98a5edd3b04012546919d924f8081d2ae6b259a17e0a2f50cad28d3e4eed4a0d7f922cc5792a26ef2987ed8ad6a8b6dc3c5d05626854ff47ee4ee013ac85cf817833b43e1a856b8c3974766702c14e99e4e4b34e4babc99744c0a621820c234e2f6a3693feeab4c7db39744a2f039bb7e6269315861644474fb7586515bf340c764af09a408618bdfd79a944f14496b0d306f72e9540d650ac72079be5a90ba9ff80df176e8f762847be5cbeb391b7234eb1c37426ee6288d584af02b1529cd2cdff838523c9dcacfd7dd0941abe5b9f3868491d6159b426631bba86846321133bbefdd1c720a5f250c18678bed4cc4b1304b37abe5e0c7ebc79e85f615818cb2014945c519b9291331dc11cfed6a40258c8d547c0442a69d6dffc75b529e5fdad3aaccd820e89db767f91b9\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 15\n# l_hash changed to all 1\nct = 256e3457626f1b5bb2cc1f82d7abcf966f487ea2227d164f5d9d60c688dae539988cc75a0f670e8c66abd77ea06101a9d78fabff1c5023114eb3832d561b48e99c977f351a4125af9d0b5210ed1473f07eddd6edd8905dc21189e23a1502cbefdf184534d64c257b896c631d6b3e17672170278af5850663207ac60f4da2151cc13939c126801477b181131d6857be3c31721ba2da42e7146ba1c2f3033072935546a6ffd833c4e8d5a733c1b1cf5854ade160c697e8f8d794bd6330af3a2268e31e432841910bfceac4d7c2300d942739c03a1234ce2195c28d4f6ec3b01c4ded49f811aad03021a7a7fcec212d150ed25cca815c461acc520bdc60d22df38f23a4e7fe25572ef55b1fb8a61ca50dd80a16e9ed0faaa74e7b502c81eb5e84e35f30e1b286e957195ea8c5b0326e5c45849ebe4a920dfa623a0295248d5338e888b7a47eb9730224c1f86663ba3bbef1aba30e9ed91a49d6abda5e0c1c5235767efef235585d81c789f7d83f3c42bbff9f327fecccabb5e35a070a6deba53bff749450c5883ccb2cb5a5545163df34badfe0ccba4b962ddaaa282d83f755f5b1492dedfb8c85c87e387e2855ac2ac6e669c981845f6feb77e986bc84bc16405a44fe810d9e2eae4af98352f93039a1495e4cc85522016337f75ddc3af6a2a4a5c89c8978c4d1d7c21bf16d4631c6406bb317160306aaaddcffca48adff7afbe4\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding", + "\n\n# tcId = 16\n# first byte of ps modified\nct = 8324d6f1ee40adbb9d76a16187d9d28aa2bb90202d7ef7bd7ba2d01cab0915fe4789aaba1aec37fac4dc16d4b7dae25650daea9d26cb1bfb2a34b622943f6e3fd01cf3479718b906afc21801acaf43d8bd91b7c2bf688923609ffddc7043677e906675fa06701e0ce610041a687aa5f001a212896607d19574280acec0780c76a8d5e9ec1b327c9190527a5f1c13a0326c138e0c7079a83bfecf601aef604e606b70cef7bdf1782c0dda68c917095c1a027694c5448c6653c1074ac923eed2f06fc96810b353925f33c48e509aafad75195f06332c8a0c4d05010d2a14a1b00b3f474a35897fb12f61d4caf772076db8a8f4fee8205f7b6f0ce12200ccd45ef177481def6f74d4c4e744812eb2e4240dbe0095c8a95f060ddbbd69f6a1b376558081c24f647cdeaf242a153b5e5ea36efd7dd42a6280f1811035a02aebe53b95f847ade834fffd070294cd8ba8d7cd753e0506d900ea1e76279ff293f1ebd5d973fa9da26090aaba7117237c33b08b9ed345672bd0147f78e2c9ec9b14e4825cce84dc2f39284e25f85b11939ef7f0ebb50c058597d054fdbffd8128f8f5822652b1c75e38d32f35d699b21d5a73f9ec5e887e139b061f24052974f08f36213c5c6250aded6afa138ca53c0328b0692403cbe3ed569304a891268123660cac7080d92fcf4b2965159c8de01cca170ecea328326c393bf2d118efbc50f7bd227c\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 17\n# ps terminated by 0xff\nct = b91a1ef2ec1a83116dfaee41a62d3813d42ad5e092e3d68b6b790a6213b322b08f7672e85698de1e9d650399ec6cf9161fb3c57d63c623426ed663f2add206630f5fcbdbc3111078b804b84bbb7c9da6c1e90edd8a879f675ae49d7cbe4d31c4b5c1b8918693844b85f45a981f980c8e15c407dadf7ebe288f6487b6a85cfb5a4699ac0295a003fd58f06d428b56b430496e6e738c18578b846cd957f592f2b55230a27faa2c3d43dbd9ebc41a97f1120bd0e0a7e71ceae24770933a5cee41dcb424756c9934f0f873bacaeba7f5096087a1fa9b320facd6df2d390bd7f5a1c8ef3b92ab179738023590fd962278905e54028a04f4c6537e4cced2c9f6ff8bce8cd8ba1b2ed7f317b2eb9b6abe079750ec65e10579fd2db0e8405d5dd1dc597eb19888de90efb0b982ea435db8697fccd7b77a2090b1f4db9116c59f3ce1b59309b22493c79d48df153cab3a7164ed686812ae714c2ba5faadf874748928b036967310ab1d3b17aa4bea2d663cb7325dd3c877886aa2136271d3fe514d78629cd12f294095a768dddbdbfe241ed8d1e32e7c2b1c1dfd061ad38a84708e4fac5611a973a66f0e3354cc73117217ff4263abcebf7c7465fa1f74e2ef7d850ca3d3e9893e46741a7e46da50c9c93f258f9c62ff71b83b03ca1a6e98934519e2fb6023241f8d09b8d78708462ff61f43bed939554fdc306a81051aecf7990bb9b5a7\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 18\n# ps is all zero\nct = 1d604ba6149ecca0f7e06492035e54d8b4b89419b39ae9aa2560d00c46de8a25daf8dcee5fb9f5aa6b00d36f080904bb41c72be319b3007d05d1a2fd97519e3acc0cd8d6f492991b6a2deceb16839f2c541255d026ed575f4cbc2bd83ee3c16d7746996c887e8c456242ffc0a8e4730778590711a998c081f2321c03593e85933127012d86dd0e5bf30d8433057e4880da06de4cee2cef6b3f8a7d93703cc0fbb6591464a0bac813c2a91c64c5508a1d7716ddf2b75575446ea87f8b94a8db97c95b8b977cdec73ac3ac3f9fc2be746a0b3ec323fc241ac2e22e9f5a52b62efe8a96de6b18c28df18013c091207c1029195b4137940a38aab6d59bf53dea5de16c977fe96d4ac615dcc87e86c044ce97a40324e325ac7660fae8614c56f86ba270bcdb766f5598771aa4fd149259353d752dca72afda5c86b72e2ce2f98a5478c800ae5a21e0d84cc1b1ad15355ad0be194c19181d984768738c3c7872ff33e2ae6f57b282ee6f9987cad599b0c510cced1a31793916a26e354079ba5bf9077720ba336bd98a275844136a433ba7e039c960abcef4b13c322695182002c1a39b4ab04b1994c7257e90fce4dd4681dea84044f6ab11df936ac8af219b72f17588abbe9080d67a0568e4b41d6869f8a1368188ebdf8d4c95300de029b3caa43ac7a08b2dda8a9aa3e6ad3b35a8b8aff9ff4c47b28dc35d06919a9be45833c107fd\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 19\n# ps replaced by 0xff's\nct = 96104d3365a60a8b4e6884fb18755e6d74fb4c114dd3847681d61303ef4deab05d2e34c44ebc6463ca72d641d9783cc4c5bfd79063f7dcfa75531e6c238b1ea1a85482eae2a8db6c7d25963e3bfacea905ffb37a9837707d5820eaead9b6958ac017d2e8ba7e0b1419780caa8bcd341ba025285798d2bc389ce095978243d48f94a2985966a940028d71083d75ff3c1509ea04af0f58d55b45982e70389aeb26ec44c9008df049ddf184bf0130e5671ede3b36836763eecb90eb544f6268c0dd87ed68f421210ae4efbc8c9601533f18cef68da370c1b0960a95d054cb4cab186595d20c18a409403f20ec25df0f928b737e369656fb683eea7a87e54c46fcf1a06ea3f2df95570b95ac39194c9f7d51ae98b295546f7b18f8234b95c99a6e9f37f99c638971e868b389660e95c12ead98f8526e2190fa132f7ddfa58b987ae9f8150d83477bb40d96f959483aee8f8b5d51b9f1df3e4e309db43c83795bf8a08db5d3ae0dea4370f5dfebebc5952eb6d4aacb4fbd3629cce8adb205225aa1cc7c8934e119f1b338151e545722c27adc368880936c56eff68c14ccea07f5c328d5a22e298a3a681c84d7ed4b7c5f78609b63822a327ad68922d0885810f797b27fee06205450b897fdb36c9c6b1c6a8f095b6ad15118c6424581918f3050f86a329821dcdd1c144cbaba537a25ee0fc4ffd90205e223eb7030c6d55e9ecfab73\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 20\n# seed is all 0\nct = 9e3b1e800104dfd28dcd147101435ea933562abff19d63aafc2bfc854596809842a68cb42f1110626176ab91a03bffd82b2290d05ff163bceb387601be00f5899a165f697b152b2812774910a5e07269c3266e5ad61957ff8e56cbf7fd896a0fcf14e154e50e3f795e081d11ddf10d8edd6263eb3e0f15fa54b0f16a77da6ab159b6ee22d74177d8ae5b05215c9544269d0f7a8013baab60516f2c7fdf631db996b5f48797015db8f2141a7f10beb71e68708e964e3457a48d6da6bded0525e6bbe10507aa87bf486199ffb52c67df477f9d86d307d8dad384b854939928e2d962f7c7cd6d309027a3d3689c26b7da4a648fbf3854f05fcc4658ffb3d9c35ded1169165bbd750c230a494f602b2a271425989f2a7d175bb24c0095f17b0de0d9e7ca854c80aa870edc6a02e17b1cd5a31a3bf3c74c2c18513bbe7ca1f6888754f35e2108ee1a2751d88dbc17dc1f4856eb8998151da990960f932f37c0d77aa44c25b5fe6f92c288f68ec83b2e8a453d608b2aab73224bdcdc3a4c46303c42106fbf5054c4f201cb96052c919e1c0eba7b7a88acdf38d35c6a998cd6d81d04665416959591662927bdf801f0de837ec3f9ea86d2ce82b07310bd4c326d757e1a56476f2ca7f5fad65a91f2b309ac1bb39c44737deca8203feb6fb18ae93ae546d7a23f6c908cb0ea4ba0183a25120f44659a112939745352e9ed922f478aa6a4\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 21\n# seed is all 1\nct = 576983b7901bd02be7e1ae3261de56e187b6acb5c3b891797fdfe324bdb249e1960d27b5498ed2ef4039391a2678306c8245b3fb59c3d9a55e62ec37f83df7cfa13a29cdeb4a5f9a03673eddc3d0faba2ee005b04679b7b476b1f7f9f841948a7983c977eb5319e6e667215b70ea465c5cf4d53ab87a3784bc30cde5b84cfc5f483d13eb3747364847668cf566a1992dac542f451274e31b00f21255e750022051d39983d77ea0b08e599e24caad762fce8f4244baa51dbc8b61c2d81ac1909fbc6144576efe1a60ea7176bf45f4091e32b37607477b20b721ee8e4492360164c98cd3b671dbed37e8c6692af81c566dc6e7d614932bf91758affa7e71fb8d5cebd71ee0165c0cf5a62a672670963a0afe16b726b4618d7ae0287a31c442edcb5e3920d363b230a027a0479578fa36c7481b901fba6087f89e6d5b18f8b80f503db8da0c67f71b7882c92da575d640a04a87d418d19857f4073429649f149a87406048a181c9d0e29a63b207e0a14cf6e40b9735e5e71522a779d27e767ace40ba92921e1b20cef245dfd04600a9d7ce98c00577dbb3afc36d0f6be77e493cab881a74522e2899f97777c943255852e3a61bcd69e375ac0939c37d38a4c5be0ed2ba60a5fb715e56c953865c17085925389dc7eda944d8eca151607ff7da2187a299d8bb5a52741593c451696ce684e066eb91137f6d2432db760fc2ee11306c\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 22\n# First byte is 1\nct = 9de5d8e7e5d4ca1a214e903fda56a012e739d704e4b910681d6f347198b1af54555fb28f1e4e071154f75374e09e4184f503d31b45358d72c4f1404501f87fcc4d124eb4573e52c30140e49aa6219e74f3aacf4ffb2e739bb96ec12e492e2a5bf490697b7a3b9f7fd3daf2f3bbdcc5c032441ff1cff63c70c3c27a7162afff864dc8ad1404ceb6fdc058222db8b69b1e4481f0044353d73b8e017a6a103030ac8d1ea2d0ec43c650be4fb8a410c4bc7ae813a06f6e3a393e5eb7272c52d1dac55a1834e1f3f6299573abd8dfda92c65071fe11be6edc0ce2561dbac5da100c4edfac2ebe9ea8756762d479a55132b0a922d7d405a301d31ec971581ae5358c435804f95ebec6286e7f7972a7e082f7172f66e5c118073a719e1a872665ea898a0a50c3d0bdf81b6cb1e890da4fbd8a9e45d78194dc687a5a91664003727689f7fb080d872580c6228601f61cbbff236caf521b76e527f5bd180bddc13a823a0ce7c5972466523de8cb6626761453d218170a37976e68113ad6294dc19ff06210118210c75d4cf2657f04ea9d79177474651044795bdfdf3c6959d9fc5c11d569f978679b7b81f9fedbf012dbf7b9b0652cee90c9059c98d7b24286304f7f41be1ab2a26931715c150de73775de58c2f12fa2fa353210ee1d8cb0f8dea22e9ed1d19df5f8dd349c181ad9bf5b9ffa5938f4b0f810feee4cd34356fc7251f5fea3\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 23\n# m is 0\nct = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 24\n# m is 1\nct = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 25\n# m is n-1\nct = c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d2\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 26\n# ciphertext is empty\nct = \nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 27\n# prepended bytes to ciphertext\nct = 00008889564896395f4392a9ff76ebd1e0f5b3c5254c83fa7fd7bf614aeac559db65999171139bcd3c0fd6adcbbe7adfff9d8254ce2300d4ffc48ed00131243811677e8916cae0ff5752d75135fda0acd167b0e383f48e2cee184917d5f860c0bfc88a59d54587825f75db894de2e9f40bb3b168db171e8844d64add489ad839f47a63edd6382972d133d1d8887cf120a1dbf4cc3ebc0845ae85d6abc4ca82be90648ff4905e11e9a37137cff9400a0080e2d13babefbcd787a86b75772dd8461d5cd8a8f3c3f14b7b305ba6e51c765302981f0c3632a2860fcf61735396fa39bd407100cc1e8dfdfddfc0b87735b0ddefe96f2a2de97f168e41f2383c345ff93007f6fd505874f2c6cf2ed6f30ab6a2c8bffbbf6d3cf32ee716c85697db87f2f2b0b9cf65a48cc15187f5febd3b015b3339815beb3b02f418bbd3e7c6e9fec74374a1fb7ce9acef3b75292a3659b04f44062dae0980f6426dfb1ebe6d67c6cfb887f5fa3f9027ecf4936f3c0995acc540a4691cdd28909b3df8c48a4a27c9772763f98e7dc7d8a5497142aabf2c4c472ca397edf2fd1a74af576fbe1db292fdbd140d64a3c65173c0656619f5e5b3db0596a955bf017db34d849f29902f8a08544eb8aed66579084ba3aae9646d170bb76eeaaafa95f34295f2ce86b8bfff613644cf1ea061f7af8ee42df5d97a83a094d07219901d2e1ef26517364a03f031a3ad\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 28\n# appended bytes to ciphertext\nct = 8889564896395f4392a9ff76ebd1e0f5b3c5254c83fa7fd7bf614aeac559db65999171139bcd3c0fd6adcbbe7adfff9d8254ce2300d4ffc48ed00131243811677e8916cae0ff5752d75135fda0acd167b0e383f48e2cee184917d5f860c0bfc88a59d54587825f75db894de2e9f40bb3b168db171e8844d64add489ad839f47a63edd6382972d133d1d8887cf120a1dbf4cc3ebc0845ae85d6abc4ca82be90648ff4905e11e9a37137cff9400a0080e2d13babefbcd787a86b75772dd8461d5cd8a8f3c3f14b7b305ba6e51c765302981f0c3632a2860fcf61735396fa39bd407100cc1e8dfdfddfc0b87735b0ddefe96f2a2de97f168e41f2383c345ff93007f6fd505874f2c6cf2ed6f30ab6a2c8bffbbf6d3cf32ee716c85697db87f2f2b0b9cf65a48cc15187f5febd3b015b3339815beb3b02f418bbd3e7c6e9fec74374a1fb7ce9acef3b75292a3659b04f44062dae0980f6426dfb1ebe6d67c6cfb887f5fa3f9027ecf4936f3c0995acc540a4691cdd28909b3df8c48a4a27c9772763f98e7dc7d8a5497142aabf2c4c472ca397edf2fd1a74af576fbe1db292fdbd140d64a3c65173c0656619f5e5b3db0596a955bf017db34d849f29902f8a08544eb8aed66579084ba3aae9646d170bb76eeaaafa95f34295f2ce86b8bfff613644cf1ea061f7af8ee42df5d97a83a094d07219901d2e1ef26517364a03f031a3ad0000\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 29\n# truncated ciphertext\nct = 89564896395f4392a9ff76ebd1e0f5b3c5254c83fa7fd7bf614aeac559db65999171139bcd3c0fd6adcbbe7adfff9d8254ce2300d4ffc48ed00131243811677e8916cae0ff5752d75135fda0acd167b0e383f48e2cee184917d5f860c0bfc88a59d54587825f75db894de2e9f40bb3b168db171e8844d64add489ad839f47a63edd6382972d133d1d8887cf120a1dbf4cc3ebc0845ae85d6abc4ca82be90648ff4905e11e9a37137cff9400a0080e2d13babefbcd787a86b75772dd8461d5cd8a8f3c3f14b7b305ba6e51c765302981f0c3632a2860fcf61735396fa39bd407100cc1e8dfdfddfc0b87735b0ddefe96f2a2de97f168e41f2383c345ff93007f6fd505874f2c6cf2ed6f30ab6a2c8bffbbf6d3cf32ee716c85697db87f2f2b0b9cf65a48cc15187f5febd3b015b3339815beb3b02f418bbd3e7c6e9fec74374a1fb7ce9acef3b75292a3659b04f44062dae0980f6426dfb1ebe6d67c6cfb887f5fa3f9027ecf4936f3c0995acc540a4691cdd28909b3df8c48a4a27c9772763f98e7dc7d8a5497142aabf2c4c472ca397edf2fd1a74af576fbe1db292fdbd140d64a3c65173c0656619f5e5b3db0596a955bf017db34d849f29902f8a08544eb8aed66579084ba3aae9646d170bb76eeaaafa95f34295f2ce86b8bfff613644cf1ea061f7af8ee42df5d97a83a094d07219901d2e1ef26517364a03f031a3ad\nlabel = \nmsg = 313233343030\nresult = invalid\n\n", +}; +static const size_t kLen136 = 48491; + +static const char *kData136[] = { + "# Imported from Wycheproof's rsa_oaep_4096_sha512_mgf1sha512_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSAES-OAEP\n# Generator version: 0.8r12\n\n[d = 7bb0b14b4fa435505b69876e65a3a3f8892d61dda53709f4257aed4c8aa91f2351cca74cda1989c898c88e4a4dc60c583fe2e5f73852933bb13942bef04b4af985f8e56fec2d282ed9ce56f27e452bfdc4ff6e7295d95251c264a36743c14fce78a2f4ac6bf8ba0a8ac5f88c82524a1610abe7548b7f6a97bc744473ded26370bff86f966885ea31787b058197ab58830ea477fb600bcab4e2f133a613f9f125319d272ea5ea323fbea830ee146725a86133c4167c63ef899edebd2f91769329181325b5748a1146407901a8d8bf66da94dea20e64dd3c12ad7251df719dddf3fe882b6a22a30ad1061853f748dd83a72839adbd885710cff95d554c1bcf043dbb3feef19d498e7d8db5caed36bd0d44470fe7d7d1a1b0eb4c391a0736bbfe04846ac98d6243a4e3e58b57549ff7f54c92f103b33c9db04fbc6b36fdf5191567a79bb35a0be94a45480cfc28d377be27da9c2c3cc0bb2a4e910ae44233305af6a87387aab762c63d969714be53c0b8a26bd20cd63761b373b815330eb92a1fa7e6ab827276335dfec94146548d073ec828f3793a84cafa12126196a33f5fa2f4f2f6470093e99b2b2d91f2ff9240580965480d56c74be39bf42408a0e41ef60dc080898ce3eb530d87b4da4673977055e83d6504a89d60fb2f49703936a2fb391fdc39d59608d500870511b458c9e45e53398db152d3871f18d61b9afa4435c9]\n[e = 010001]\n[keysize = 4096]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d3]\n[privateKeyPkcs8 = 30820943020100300d06092a864886f70d01010105000482092d308209290201000282020100c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d30203010001028202007bb0b14b4fa435505b69876e65a3a3f8892d61dda53709f4257aed4c8aa91f2351cca74cda1989c898c88e4a4dc60c583fe2e5f73852933bb13942bef04b4af985f8e56fec2d282ed9ce56f27e452bfdc4ff6e7295d95251c264a36743c14fce78a2f4ac6bf8ba0a8ac5f88c82524a1610abe7548b7f6a97bc744473ded26370bff86f966885ea31787b058197ab58830ea477fb600bcab4e2f133a613f9f125319d272ea5ea323fbea830ee146725a86133c4167c63ef899edebd2f91769329181325b5748a1146407901a8d8bf66da94dea20e64dd3c12ad7251df719dddf3fe882b6a22a30ad1061853f748dd83a72839adbd885710cff95d554c1bcf043dbb3feef19d498e7d8db5caed36bd0d44470fe7d7d1a1b0eb4c391a0736bbfe04846ac98d6243a4e3e58b57549ff7f54c92f103b33c9db04fbc6b36fdf5191567a79bb35a0be94a45480cfc28d377be27da9c2c3cc0bb2a4e910ae44233305af6a87387aab762c63d969714be53c0b8a26bd20cd63761b373b815330eb92a1fa7e6ab827276335dfec94146548d073ec828f3793a84cafa12126196a33f5fa2f4f2f6470093e99b2b2d91f2ff9240580965480d56c74be39bf42408a0e41ef60dc080898ce3eb530d87b4da4673977055e83d6504a89d60fb2f49703936a2fb391fdc39d59608d500870511b458c9e45e53398db152d3871f18d61b9afa4435c90282010100e97acd5f64c460b2cd51cbd70af5b4caa2882bf6033a92a23ed80f039e8a32c8a4c483f94ee1bb89c1dc1f6d04360a1c3f654251ad72eb39cccbfc38b072054bb0f21b9d516ef272e7cf86f8a8f838eba829e7fe9d803d469a1810fc5b37476333ddfc0cb6f00e9967970b4e474e04373f8dc92df50fa155e3139bfebf4e1cd274705551f2e9022029bea4b86664633d13fd90ebdd0b72d95a6508b6b4354e64b187fd81d21a0b1e4a853c27df11d7fe6c8953cff6344f50ebaed2513dc03761e8877c71ffa8005331043027b8dfdba97cae037fd5d1fda1f145a200c0d20f8dccd62e5c489eea8ae827910d3f48bddf0b18dc3089069f96d800de47036859550282010100dd1abc951ff1474ebfb70807b160b110b1eccef429c8fc8535ab0aa98376a82d3d33af906fb0395750b9aaccd8723cf73a8c3a6ad5c3a0929178ac55e1bd1ba1bf5da4f7698dbf09e87c84c45ecbbe8f12d3ed1091bc470eb2c733c31f8d27eba9718ee78db887385bff6b67950b79524482c50daead4db0f5676e4b92875b5be383ab1cd75e1cadb59cfb5794c17220154aca808f733a636d28c016d9843940bf44bb15ed191f53449b1651b79554c23e006a56dc0232cca209bf2d3c12cbbc0ed8b3110aabd365b603ea8cdf15e8b9ac781155f92f39dbf9749f70df003195a6bb169ea0e0d69eb3a18ce8fbcac9be3c710e797acb5c05a399c2f102947c870282010062f25622fd53741f927ffdc10eb5fe7e79cef7c274afd800c65d4e4f9c5ab916eb2d15390cc301756a20dd7897f646e69dbf4e11cb4e0e7e1a5ac0734de3a476e570555fa069427a8bdf19363c75a5b9c934a94af078ae7f4342bbc016f02062dc5251451a2a3625b10f040d928e6f9ef262264641baf406b00b596ae6ac35eec2c5f082a04d3b476229972946cb787b2403abed296a76abc2715af602fd2c51e422dbbeaec9b6b889a0595414673d806782f37008c9366bf6d5c9f000197bdf146a86c4d131e3a15dfe8661ef297fb01e54a8cafe54d6065177cf263e91476232d2fa26c5e80342070ced9e0d99c84dc4282ef8aab991dc9d8210b14bb267590282010100b83b9f0763265894758abd562ba6b5e3835e1ed3b43d94ac2a9beab674a45a5dd7b14988c087c63fcb33e9ede62cca3ff6b901b4238a6e31b2a52a742534bde178e33ea22981c2bd2ecb1295cda757913fcef6a9e7c54a302527772a0f103f434e5d21063040a1eb843cbff1ff6f20183c9dfa33fc68cb63b81806ff518917c6e93cbd47baece0589e0bc022aa00c66795564c85f301c095384fcc3f3ddfbf15044af0d8c4473aa2d777a29154b74978d0d0e7ca9867fc8c263898e3c83aa12881f66ebeb4759820181a0b46765c7b1ebb67108ae2a7473ed40d290d93c3458dbcf00759061452c0ca4cc26d1fe149590a63e9fbaf25e3f78eea8054f22167e10282010100c301f6bbe5fb5693f665b26d1a61e1de87e38950a5825270ee68ea5a5667e11a3aed28b2266768d1a3db3437dbda681ac8294dd50ad0b4bc5cee5694831b8df7354695335740b9b7dae5f7881536da6a6b2ac4308a0420ad6e99cb779a6338f5012986b1c1c889444d90585fb0dac995ad6e93af7eac717c643c4b8e7023cf57cfe284ca911d6dc3132b08e17f4e8759af42b43ac929c0259c3a1d5e5f7c4b247e2f6461aeff8577aedc710d6d2d56d943c211e47467421539dfc2700663c4068031b695e487ae6910ecb9c547cbfe12cc6f45b658e2c6f9f8fbe805304194a9d1d9c6d599c5ac5c9ee5fa78c8a4583218f7dc8f4c8d3adf275eec0e0941fa69]\n[sha = SHA-512]\n\n# tcId = 1\nct = 8e615a3b27fae31bbcb6abbd713e54498b38143c5a740eb326cce75e2b9df42b6454dcb465873b831d3c18c4a0e4d941ebc49722402aa05498b34a7fa56a74774adada8c9c3af19386da29c191816117488a37b9899d135da5e8afa8e2b76a87caed1b050b8289d110922ca9b19ed932be12c92b36d36ee77ae9803fa8bea86cf8287954fb0fd69a0cf9809b686bac0c0035d8ed0bd80dc2c5020b6c6afeae2d7998373d551ae3a868a06854eec8fe07c8dc61408676ab2c21c251c5877bc31cb570724bdda76cfe2b055d5a27d1b3961518ac88afd3a041e2d21542ca027d6cf8c71c078016f1b23f73aeec8b7f5b77bbf003ab4233d0c56ea42337f5ce83d82b5e05497f0f8e3b4f23b78f71be7691f5bd66544a60f2ee685c9c70b17c5933e864d66f1ae50976629c7b76e91e17c1bc3099f5fcd191fe6419097088fed1b7d875f9a39dded5ca6c7c1ac36edf1ef3dfe9cf707de34c21962bbe9e8d0a92a7bbc0eda639d813254f44c47983db3d35c662096dcb61324e97d68320624f97eae0fe0400a7b618039d97bed9034c29846278a030d3c2e0932bab62a9ab325bc07cec7094fa427a37a937dab17357ede8d08d3b3f76e95f1f470af327f2a98ee1f56a5c69d1eeda8f0262fc36e04c78b051f4657c94cbdfa3218385d4e3422f5c4cf7d6c869113e0307a3c16f41db561c4a7d43e1ecd8ea7ffa6a6a548606ba96\nlabel = \nmsg = \nresult = valid\n\n# tcId", + " = 2\nct = 77c634e7ac8dc0d271f8d970c3d59ecdc19a09ad5076f586942116e7125b6df207f8aa21217c47862419cfd64f8cf83302660cae993c45bded252c6e618ff225d251b0057099b3bba4fbf9480b536e5eb6f39f64f2c9b32c7d07edbedc4a642a7d69d263d88a62475769b653e550dbabc1d2fc0d14e27bec772b2643f46bc6c8950415977fe21b2f33a432617134bc208a613c3ecfcd531950d7ed44b925b3f16caa870419de62053c44984fede89b8503212531c13345868265d1fb139d2272a9f659e6a988b9f54155251601259b2c0159b3dda4910b5190694d98ae847b05b152fb63c1fefa31abaee992a46fa7407499ba1f59b6dc69c348502fcddc58fb2c60fbe30f7471821b75572f149138841972d08515d85ecf0390ade20b1630c9f7cff16bb1c0c0c566fd0e55c1090dd28f18b5019347461e4e533a1d97e553583af0beec3f1dc3a595f855baa75834eeda16f6adbb435be7044050f164b6ba4ee420ba9186027b166b50534d5607f2635c3317ca87acb9fa9d08272fc1b69eafe2d0b17b81def08851e9f623e14674016ddad14a86125f629d3642f5549c1bc69845fb7fe01b9be3c77051781635f438c6846a17a1c15669f0a161edef0c13d01ee2f53902585dd02d2f139bb91702ad29f93b6275de15bc7e537a1d2a4f8df47fd7751a4f9ac25dcbc9b2e43d21accacc6c3f7155845435faf50c275c3d4572\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 3\nct = 1dda78168838f43a71aa61151bb8bb953c204d0af526231cb804952d4e958ed47d2b51aad7c3ddf0cf5af70b87b5a5c80d9963e261309692a822294b40ee3ad67af64408508bbb18dd2b61090882869a5207197ffe0df39f278c2f3a710e0f8ea451b655fcd8542e07606af88a44a7bdecf5a523c312ff73942ef4e8105a5cc69fc1bb315f77f36b87477ff693289963d72f2ff0b6ded18a0d56d79787928ccd72b7d5d7acd61d37d632cbdce66e2cbfe990cb6ee250b8261248e81013df77448dfe1cdc5b812c8380aaa0c19e6cb11781c0e3080017ee254b89fab5d534cc4192946217718d3161c87231d955d4fbecaa817fa92800104fbd0bdff088fd65e9ad9f8513c88fa613d952634ee8306166225a2f37eb7ed779fd6a799f0e5600ef915867d88e99645bd797e261cfc9e462773fb52eb5398e4e6efc189759c2405f9506ed48e6123379ba477bbd029e8bbd11ba86239e138487ba48882b0c3ef356cc1b3cb2cffb0d2d0c9161f8dbab0a91276a242762d18ba36b2daad8527c781a2343a110c4acce2f2a4c294057765d82e86abe6ff036d9331f1986115b8a22d7e425b81f7c0f0e32fb57b2971e8a7032d155fcf61d0df5e9415344519891a712907727bff0b31cf652357e7755c68d35e22dabdee83f8b46ef4f4cba34f180b957d52488c033f4f2fe413bbd6d83e70c52783d78bd98689bd6d822618fbd464c\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 4\nct = 2013a5504dd553e9ff2d0c42eefb6f6978cdfee946ebacb69aa0071640f42b1c6d019ab2c50362c7e271382d546a9ab53aed7cb625fdc692a60b4112df16d85db4a748935df606e4805419d4cd4a595285f369e20c7b474a2f71a6c40642c4e84f6ff870cd4546a4bb2b9f92a77d69bfa85724caa7c3724aeea131d9e2f61b5c24ab19a3ff46ef9b25e8951a165b2a795e8d734c996f0d3cdfc97995952195b60c65979f154ff185e880be3948eb95e449f5427fc3cebb805bc971dd32f57798e11d4411c7f2cae6ba40c711a5748c68d37fc7f493e5d389666159a55c57b1edb99fa9c30bc7eed5619177a90175cd0cb290b93b75a4725867baac40edc7033acb3b31e89063546d9c5b0a5d4c4f9062295269c51e7230b35fb2003c2e913f4c234ac9da3c467e6d522872fef1d28493e469b8e9efc1f6c389e69941b51977c4f4bb21c02a66926662899bf3dd638de31d47f8ffa9d8ee3404d8fa102985d2f8ec1e684acd5ca046e8b96d122630b3a7059ef8e7dc930c81c97bd81a3e3b9e984602d71cdf9985778f5f3b04d3f30faf4bd8a323ce6aadcedc43e3027abad83e92667afe962b07edfb218267f515c44be8509f1e26558220207468a318fe23e07fe2fda04114db17e754d9775d2c4951dc1c7f8d1b4476aa13ef50da043815a2a1c6453546067eb463db0877f717ec70c176e3fd73c8377ac3a8fd19dd2bb80f\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 5\nct = 0f0b837a5f4f036f5a1b38669a4768571e1ac523e89f082361530f1288a55cda8c6cb5f4b7632d4624a9ef1507546ff1416f5baf2c6b53f1bcb9aecb305b6bf57b204282c74827ee71d23398509537bc7dfda5a4810b0c4b6af3af45e838e1586b9728509124d8b49d0a2adc8d383962fe70e4524e2fea9bcbe5c71ab05ec65b5e4822a6b765de292861c86a7605e3c20d1e3f8e8268a21a326f51cb66ab0490673f036ebe3d8fe5fa39e195fd703c1c93b49f3697d9f73f683b6f70d5bf585d72324d34efc79985463ce1df5c6112720e9bedf876e1b80f36614d719743e4420a62200dced4d457ba2bde819fa7ea2643eb1a4672e6827c915920fcb94f3ea9c1b0eefdbd7e5e07d1a2d6738a60ac7f81be705645f2b33af5d5a20b09ea4c3922169bcdf0d376fdc80b355740686e77049028f2f0dcbc7c910b8c15cca7461ca5a411a9b6d750a315a250f0da703459a2147aa3633c5711d3938f863e35713b802788e2d20b0de356fdbec6d187580b75d97cdbe7f07ffba0c14bb88f32e30613a1c911eb82ed72b4bdcc232b46684c581440df157f780fa9ce534ae18d20d50187aa905611b2b045d8b1c2061b0eb9fabae940de151348d10f0f24f753cf6f667bf2689a73bbf3089bd26dd74b803ca47d9da8f9ca538f4c7a62aba73def2a08f92eba90bd6d482ade0b6b724bb100c9231a31a7a0973af2de4fd5aa752450\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 6\nct = c40804f6c7fc5ba3c30f051a719c08823b6591f45a899fc9839d8dd77157761ce610d4a138c10bc231e53f9cf87d5fa26aac8f167deb1b6522a4b365a136849d0124b09a03c4d5f5c26ea90f7a0fcb4518625c3ae3908910085be3757143e1fe1fbd23bf0942174491cf8f7c2a1b697efcff99822ae13e2f4527c1b8e5d50c320971dfc3bf8761fd08ea49f60f78c80e65edb08aa916a5cb9355e9201c867fe17ccf4bb36d69dca6789906dd27515b1dd99285f483f8fadef217c80e0a430926bdad691118a33577689ec1815565f51dea4130533aca7a57a7bd706427ce2022000421a26a5d1fadbb834e6d78fe4dba457c70820c1c0f3f1efafa8a27ba302b1cafcb9b96f41a4f34633a28e87a6202f13fb0e41df3ff644a91106925c5c3b875c313aed8a04930011dd866c7d52ed018a6233f0125f4ceae5df8ef8890997868cdd3756e42775bce57327cff10e4daf568322f1021b140262f94f4c061c31475de1807313f1621fbfb24f4d779d99c917fa5104f93324ae675621df90b02446d40ab2f319c32d363b265ac32a7ffc6d262e7903d8c05dafeba307cadd25927a034cfcfc784ef45136c950682d313d35c20cfb918490c86eb342dce1c2b68967f3f10d439849a4b6db8430702615f36af9839391b1316c0505ee18b8a35806a94b73d00bd5e8bd2b79d383b89ce7bb046e5ef957d502fcd9e0290fe70886991\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 7\nct = 9e053f731455e4fccecfdd3260ac0056a291fb4a37e297899e812777054f13c9e836f27de12cb2549d6aab0ed553544464119c495067e90699caed744e61ee17295673d2c868b41cc23f9e594a002a7eda75f1bd7e0b211c3c2e8122fc2568131b354b722bc1a29ec52e718e471c212cef4242270a4f9a765f6d077e37a01091bb13ffd9ef02c70462aecff739a2624a5d8d8f5cb8f8cd3c6eaabb683a10bd131afc6197a8d21d6cb066c610277eea1221d55c9c0d26f553ff7c22bba1a883d22f153c18ad617b506ad55e4fa04fbfa7cbc7fd310b49809c80513322b9ab296aa4a033ad3bf785c1bc5ff0c928777de67a71b393b213227e102c145e9b40357f251c19bf572a48c2e3f5f0bc12604c8475aed9baed2155028feecfdbb328b488bd5bdc031213b0b122bdb9cd44097d1813a759d13122530587be372a779e1aaa08d18a84d26213f936885b73835c27939e9c5d284076a09ecca3e6dc6e5be5c36666ac1ca1d8796502e0d5359cd6fa43edec58bc3d2b39938e69cd46e2a62ac4f6760d8c0c84765a6f5f6b66411dd3e217d690452745808a2c0f0fc504e6e56989a72bd1a59774abf529067cce618d2c39c05f0b400e644f7ede106e6eb1d0635f7f32ec04f86cd3628dba1f967b3109bf0052613fa84012da70ab4ea84e5d5942d42a0b9e3d0c80b0343fa9486c5a077fca77ffd30256cd4f8138dad30d6b5c\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 8\nct = 63a3fabc60b94267d318b377327ee6548f594777842681fe21baaa2e9278f001a575ba38a207a3deeeb2258de8f6bf11276090f869efe817fec6299247c09550bafe7bad02d0d7e0be51f8134bab130d4a9c593e3fbab7b276034f22ba071792a4031e591ebf2d67048ef07c6a017d2f71c72f8db0d32acc16788976f02fcaad2097aa83843773e59ef4c04f383f013f86e2334f215cfbfe64257f60d0797e5a56bea35b5dff983414ac686d0d80d5ae14572869d02d442b6a7b88954a9c0bd56a872fed20dc45fc0ca511db195232021fca52ab997191a08d1c02d0ed41de86b49d05715974776d8b0fcfc5a78432f122482e28812a0608ad1570de40c55397abd5c2a58046519a052cd3e2f03cd9e91f4888bda964e7e52d1296ce1b41b312d20f640276b91a737e9db0bf4fd449ddec6da642559b92d0a60405e868793681a2366904e8fa4eeee0368a2d0a606173c9470e26bfd462d97a8e40d06c31a4330a9ec02de58920c6ac90dcd20debe6fc14357842640b44b8d0be5bf03d737c4fc08fd37ed249017682b62735964a24681332b210fa8825bc60ed85e857828004b6cc42e8cf8b7d08308280b0f6daba6ec96cb5a300dbf3ed260984066478b5b93274e1b627d6a2a126d9e8d2db8b886686cccf6361487f5a0d62aa0027f1608e1da7f5b909f247ac42375551af7c3fa53673470c1c156bd953cf188f62bc696a\nlabel = 0000000000000000\nmsg = 313233343030\nresult = valid\n\n# tcId = 9\nct = 21f1f6cc2dddc3f1d41d482a0e1161769b8468f2340e32187349d80955e7003c57386a85b297aae086ac1550f90f8a5ba73192818c68f0cdc9f1a69ca518d1bb84c34538d9b0fdcfaf2ab859bd24748b326c8f8e1f0bdfe2d32fa7a5a6e56dbf69b07c41eb81ec699c79be15f34cefeaac0531923556296b7f9c29b06c2f8c4c36f5adee505c95db1496bcf923b27d4af4e083e986b0bd04cda37312a99bc091a81485bd335fa7e63772d8512b4fba1df03cda8cdbfafb26479518a75618068579bec06809c3107cdea7fa5a264c9dc0f43ea9db33b32d4637b65b7fcbde0d0c959b2c5bea8518f24f7f600d33d89ed286044d4594a446aea113f86", + "b19764f68eda9ce15504f779316529bef78d1a83aadaab26e8aac19947b85d949d253713036d7c04f405051fd33dd8cca36bb657b3519f4e4a1722476b02577db945b86c39f8614df5782fa3e1cc7074cc5b5b71c9cb1077d8e88ed3aaa9be3745859c4649dd2845b4c6606c8f689cc5299cce15721eb0a66e7b6f9a9105191bf17867eca2a2668ea0e9598454dce6a10846f49e680c4bed4a9db06c5b92f92735b4dcfd63506ffeac5b354a09d16adbfe6375f9b6ac88fbd5402199f68d31254cad765a554d65757f4ecaeaa55b0d3a4934e24bb12f8fea46b18291e9aa7daec97ae675707a3913cb08b306876ce15a025e386cb03b1638ae4d4ccc76b8ebed23b92a004\nlabel = 000102030405060708090a0b0c0d0e0f10111213\nmsg = 313233343030\nresult = valid\n\n# tcId = 10\nct = 5559053e2566127dd1aa6ee3eecfdee11fa81f6896569d8a4f85c350c4f258126894f6826ae466ad939314b2674397f4aae2bb6a6d53ff89f5806cc29ee6c390434a4eec144547603742bbeff4584b884888b9af8988ec8fa2567cb6749b636b4a2a6196d2751840aeb64dee7dbd25c32b42776d04a2797bacf5e274895771f43b519a89669f56233c0b9a34c8a8e87b70ecbd5aa79337bae44364af6638e3d57b86946e3d26794434f8816b533aed1be591087448a13a1b247a64bbdfa989b1cac0047c966af74d0c9093a410cfbfdd828385597006b556276e6a466f9f3cfd38ccaea36d0a3bcc5acc63ed8f65ae5c3aec3091dcda791e7931221c09399ca56bfc3c2710c0211e9766dfa6f65cfbc6141479414a63a62d7c72830ff955b1cd86b38802d7935b430e7a802614d68f5015ef90adeeaf15f95bcd770fb7efe4d9e6a0ef8f23ec0743b3f71a9520e20fb60567998e58658abf6ecb98935fbcd343a949f952baec6ff5de23552ca435866b98e36288693b508bba177c09dfb27e13d70c741712d663f3525a7bbf929162d6f45031ead380ad869f40e230f78d9cc8a8918964ca0d8499e4bc355b3851a1fd1f03953d65935f613483058f6f250924db780733239b24dc454f9881df7648e2d19b416c2f8af53948cd7ea06e9b3baacd7fbd35e50a245c8c7d2113d9cac43880515d3a0fd6f3d76e5aec0d38f02e63\nlabel = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nmsg = 313233343030\nresult = valid\n\n# tcId = 11\n# Longest valid message size\nct = 592e487960f3169443c5d6f87166bef2ffd52931518f3b0e5d977f3a2101814e749fff5fe8eba424a3d439609857940f5e23dcedbb45cde57c21c28bf729e396530d21fbcb96c97a148c5708801467b15be1eb0d35206105f543d21022fd023ac89b616ec790a9182aa053ee4aa7962f33f4b413a48ee3d53b2d247988683d4db30bf4ff6d80b6d0ce82e314ed6dd7607df577f1ec956acce51f744f89e7c6a770ceaf90b20665df2ca8050ac25ed29ca80a0351ad790c3b8fd00527195f427410dca6bbba37a441cb82e44383bb4e077fca32b27626051c13886392c10a305890454588f508ef8d9d0aeadd8bc78991fac96c5ffec892381b03580e28926d8b3a51da862951a05f48ef809b9ce11f23323ed10fd597d0449acabba954079164d775abba56da956c513b601d1846c867c6bbdbadf195db11857d4135c30c2b5898782ac9346f7fea4e2ec80b39b0ed962e0c1b34494af4441e5dad6d05fa7a47763368f850e3b81451b47ec12886fb317f5f5ca688275ff1d97410f8eeff8e210680c799f45dbc47744166d5b470c35a9df574dbf1b255931ec98e82e10985ea23daf960862882eb3ed17a99fef36af01b6168b22ae7ae0c91045f79da51fd62317630e123e322dc692c386bb9e30013525da3289321f311b8cd4e90175573debf08f772ce6d9257a6593557f9edd956c827a285f7bc620e262a7d64b8c56478\nlabel = \nmsg = 78787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n# tcId = 12\n# first byte of l_hash modified\nct = 8bef4f3022bf5b4897cb318c5a2bbacab6b5a31d84553837feb0ee90f0e26e9c5fa0b963e13fa3f4867f60fca67c9de0ea48cd495df7083c269cd3d7da9942847623ccf81deb85240edf5ce1ed623f5edf0f8cbac61182538be43a32710d62881a973c12fd20012209ed24a8fcc64ba98cfc15029231ba9bf8c6171fce1cc365d7d49c169371e68191d9ed06a2f2b0b9dd8f21750e50c897f808e696730353a620656ab4449918b552628445f37e168b9d8e812bd6bc6ee3df375fccc531546479cbe773a839ae3523b7ba697ea0ca9cbcfe995f9f3e22680a787f3a43206571c556e6caadb9c6ea8f51da21f00820a2b5a3189fe1b3ba748408d93502cbff30e5204df86076a6612513db0067b2011927349066ba94b393a7dc23934904e6190a28c48d0913ba65f51e180b5458e1f0dbf0feb055bdc2f1002d2d4a1e506af1367d234dd0751cb2870fc9f4b84c05839366a2120503e8cff9f648c1f0b630619d5e020ea4ef7066df63053257d303bbe3717591e769fae87a9f92b1b04f9c0d879391fc063c8e5534f7b2eee96385fdd188b3ba26d6913ad9a767334dcd8d9b5b596a808301518de9f12f12b48b99f192670865abff0ce432ffffddfe5c311c3e321db48e79399c1fb530cf127936267dc18b05ea7e5594e77c63231d6a79f261854c856a4507d09ba5796995e1410135e05f16c7c5dde89973d35b0ff9b5f2\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 13\n# last byte of l_hash modified\nct = ab1f96560081e6aa20dcf6eefe00040bed6e0810076e5ab0457e276c06aea748946ff1f44c4884fc0509b79498709880b9be9a10accb2dad7a1195f6dafd668bd6d7b7225f1cea79f8c0dee13d125a0a1ba905f498ace6396e51f61f263af74304273220aeb8967b5a7f90fafb8226a1d3dac4f9bb626a513e4c7d352b31e25bd1eee15259fc3a4dba78641363e261242e18f860ad5f7ba35e60cc6c04c0709442048fe5b34ff9c567cfcba5a146df9f0c5fd9c1ba61d99595712e98a88c8c8d4b643925f0801b59cce4c1933d864b46c038400450bbb5da930612153116722050e8f8b377da4114052ab47ac3757aafbd6b7efcf006541681db2262478d3d125945901c2418fb3f013c5a9ecf3165de6e64b64a45e5bdc35ba38b6337b5da3cd9ffbd2a92f94565935f9505b1abd2f9c22705b5677b5e1e1290054d5dcae14f9314219287a4a618e2671930e6500acbba9417ec71e23b64d1cb5326f2fc531c5602e4b2fe45bcaa892dfdd8b05def3909b583d40e97a50ff7c38d29f7da72c92d7517e795ce7474f1ddfbc0cae588bdafa42188cb85204dbe88d742bbf7f71f7410e49b9215d9cf14a47d8b5bee0bc7947bab919462dc2c5549181ecf6ff07093fdc028251b8edaf2861a76465b9e22dd37940012d78182955e25a2a21ce157c6a93de447125184be3ad362f86b0299a74478f46061091a48704285fbd3a668\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 14\n# l_hash changed to all 0\nct = bc4463414999b839a31fd9e688d87f659a154a3025c0bc4bbb7ddee3c343b3b0d302def1195d56e39168b39dd48ec9ba5b16f8f52969e151ca122b06990d424b84884dea7a27d65b009af3125c2dc57aaa19bddb4ec284e008fe3c611883d60311c7cb4275588813e96090601c5c208f1d106145d02a7cc06659bbca484e1c898eb03fce81aaac560aad4b1e0dc4c92fafa0d4e232bbcfabb2e8c714c821a5673201df7b163f27d398451c4af2bbcd1448f83a4a8b238351b0561ad32dfd856b9a44516b3b6c20f5dee820aeb8e953d72f8d7e1f742d729bb1511d85400866e0f604e22f98e2f48033539756e86ab74939fec4568f37530678667e18bccece1abe6d3d934efb95ec85e1be5f0c2c4a3152cf5724a98a6f092de8ab70664e5a0725c8e5ed218540acd30ece6bc1279f1b8241660288b09300062e5d419525a9a7d6a04f24c2538189c9aba60730cbf6f6e208654077ee8e00a1e4b46ec3fbc37163572f0ed22b187970fed4e05a3331252263337e1d99f9d8e8fa5e42d5c4eb0b8cd9f4580b5c0c23667ac95004644eb125a6bc89b056d29aa9ba0757dd1bb7087102ef146b0bcf4f49d8898045ae7345ff58e4f804de5ec45ca10364bfa5594ff22049fc70801c1533a7946ac8eb445a14bb2159ff2c6f500fd67278b853d8b124dfe0ff022d0839533e4c17823639c6fc2fd0472649483db41ce72164970122\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 15\n# l_hash changed to all 1\nct = 17a8c7f746c34ddeb535edc9196c8a8f921dff923eb8ba3be9fd7079733982a147ef9aa5e9b32ff0c54968cccab1ba030dc623204693c18acffd0bdf46730a04befd55035b969d829cf539168ecd100d24cc7b8db4651054b5e63def4d6b183236cefb3ad9ae7c8eece2fef6f5c3355af267a7ee614050bae80eceef92dfb3b994a37724d46dea998894bc68e37252dfcf5c0a43bd3ebbde0d5a99fd8ad03a42f5d18b464b1f0a46a80242d7533ffc26c012b03626a0339ce0649b1264e9b5ff0654a52ab981783ef6c1b0b53a4be1bcea6f0367e4a1f9be96091038279d6bd15ef2f87e0619915d999cb30044f1abd24e019fab6dc7a1c413fef5dbbcd29d268e72fff5da72de0f4c0813615b27e74776af8b7a58f4f29a233103487f20d09750bfa9c272d0d57bee59b1e50577a04fbb46523ce1a3434f72fd69eeff3ab5df6c9d5e6832ba2601c0876f9c67b5854ea9a046b2ca9b0d57700728e19204eae99e1797637d510b54a2057d0f772ceb31c84d5625fd3c458bed65501a38ad0287df1348290c8b296fec11e7b3e36969bb8ce32ab7ab19bce268abf0a5c183f9db1afe56f47aaf73a1dfa499b8669a50191d80635c908f4b46183a33f025e0d1c6d7a85e3617967a421d998ea2a7461a3ddf3a19740273fefaf7cf9e64057042adeaf6b765e514071b92aaa44078cca712063c1415395f2bdcf86108d77e0f2a9c\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPad", + "ding\n\n# tcId = 16\n# first byte of ps modified\nct = a23046d3fcfcbc13bff0e424a2b4fbae7588f3a09cf44ef784a28de68f4409f470f13e0da0ae8daa2301562a1e96866e3e3781f0f9ef69bb8a9f9eadbb9b95e63c995bbf7335de941b84cdd2d366fe15e33105c6118bf40bfed872507869feff4165ccc82049df7aa0aa2fbe5647a38194ece1d2f51dbecada77290e5512e56d2187ea5a9186dee20518bdfadb6d9c5aaac78f2f3a3db119a8cb9c95fa12574687cbeacd34da15f17d4baf96c5a117a6613a10fa3bb9472500c9706ec5b71863153ab95d28c2ff53e8ffb61d4f137c6ff8010a65d23ac779df950bf36fb87df216059fe184ff0a3910447dcd0fb15c134bcd7d908c74d156fb1d7a7d02e41119d0f52e447d3bd921f6e254223fe1fee5e441fa1c5572f098376224de4361aa75bef556361a29a3eb8a9da7c3cb82664b37acd6ad5facd48947b9b743723babde168b57bd878968e732f8a52d51c0570f26507e5f3ccd28785e617a0821921bc99ed7591f8bb3eda428713752b862e0bd9c60e32b0a8c69b36dd7dee5e77ce008c7923c8aed25fedc28b45f13c308341a2cceded4d8ab0c18e54473c92adfe04265efa6d10deef8bf4c1452dc335e3c7176c823f95d219ab1dc301c5b3361a0d1b29eb7c966e3b9349f5ec506b49df1a8deb9a9b3a5c26267f3d46b471e273058d05012623bced43cfaf1b8b7b3e6172e76d882d7a3a4366d5907817676cf86c4\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 17\n# ps terminated by 0xff\nct = 6952932e89da491b52f5272dfd65f9697f4fc140eccf3f934b15d3401b40c929b45245172bbde9f0939497d567951b78cccb5eb21d5ecb2742a9ce4f627fa55604dd5d3d56450e07a5443933badcf787fb75e1fc733e3c1300275f7dbf67809123a2c2e46bc4d55d4d52e02c7f9cb24c1fcd8081cb3aa39890b2ad094f533c470bf2083be301e010d51a525bb5d96c2c248fa702e1b993a708f590660ddf96235e19b6eab37184818582ae6cfe7288a5b15dde2f5029f7abf92d2b5482ee75fbbb52a0a0faffded1d6db9d9619f7c2a4bfddd233a641c7a6f7706390cdd69d7886bcb6f1ea1b2789d4ac54121a12081c14b4eb97ee475eaf81dc2c7b3b009ad2798e07b59f9544feaba3e2e8f7ff28acf910eb39fce7d1cc02307e1ccbe3136ec8008e97fcace119c62ec7e7211ee62449a6497ac074284b969c481050012ace41a64b53eb8c9ee86c7a500265c3c0c1bb7b7ced766e72df5581915c2674dcd1d8be5e3c78482630ad9c42a2d6e0dfbee979bcd9b5e0ab491f0f969c7ba13d1e85eca5091f7d63f7252f13fb8a7efd4fd5b0a6dcb8aafacdadbe32150bf143ed2bb289d7fad783320f3eb21372ecc597bb6fa1aa8075f5697b51a820f818a849d4b568650f70b717a5b350bc5fe0f6e08334b84569e6de5877f00aa6e746d1987e35ff8b8125c31aba8c7bb11cccf51dca3111ac9a444ba908e995bc07d90e5b\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 18\n# ps is all zero\nct = 5b5e0045f1877effbb76946bfa88a058419b3709723012dfc68c0de6b69af00474e9f3714b256f0574d815cd4374cdd4d0a7c311dd82b741b150c99ab079ad49da26a065081d6827049f4b3417ee2c1703c4eb7031dca16f78e01c148f6decfd95bf8976ea3b8a74139fb672a2795fec7eaa8829525de66f8a2a0e59edfafb78da1d62ada6864740b8d9adb9e61b801b291d28223ce0ac37614691615ce074657cecf4745404a3a1614b09bacd6fc354994784b36aabe52bbe6e7b65f8200ea67ced205c5d0431796875f5b6ceb0be7f9d22cf696b0d16abef6c87332e80398ae48d24f5db72af1b58ee01de4ce48454579beaa823f3f10191a555edb78e218ecc35d3e52e463bd86846b61235a550f779af12b3aef64f682615c627a90ea416da0f17d928faf4434c8d9c327720965fc2a31b47d95e25dc2cbb93de56093788096c9fa24a49598d17344045918908b294f49cac11d6bd8a699644027128d8c7f7ab92d0b808adb29ece6ced39becacd35d9f140e36d8763736e2fa150ef1fa450f1cb7de01370c4167b2332449360c3ec237fdf6ac44726b54f85e3eb57673223aa065912374f7e84610bbf8176348da6afc0df0a54498ed2456e862545c29940fe64d6f917ebec36bf2e04d82e440d1f6e3a2752eb1b57656d3d5132c289609c377935990ccc2a8bdd44591a83419eeedc97ac4c88902cc9d7f4f690c63b02\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 19\n# ps replaced by 0xff's\nct = 6ad8869a1fad7311c8c4429c46c07e7370f74e1d703b49292c8f02c69216e0949fba3ac558f11e0529be3a327fe0e000f9811b7c7b61241578bdfa984e71c3d555d23c380644c78050ff6b28334f8666b4d8270d34a2b3e2f35daaa06791151aa98e7001ebda7d3c597b4e6a067c3113a0bec10bf12fedd1879b49c67ee9eec290d7a067cef9af1ef6ec38315b1188984cf7c6dae0fcb802330f890a4640a29fdbde08c17bdcb7c91831376f25e0d7c2065bba52e67a7df08cea250de37d315790b3173a23227bf28d865cc90e927ecaf8628ade4a91ac823438600ad304872a18f440e1eaa26df01e4fe841035611f8954a5fd49b40a7de319545dc7a41f9454f6aef165b30099adeb1a821362d7b1e1ae7e9ca6cb694424c3680f63ffb3e2f64d383ee0870adabcec8bb944206aaea868d182e4d2367cc1e490f1236053dff68fd437034cebd28d5296c340a87c8007ccbaae519e6c72ec059862fbf26449cc6602ec10816af0823884f6f302ae2e413019e7e5885ee2ec211bcf40cdb75bfe8ef5db14bd07bcd9a29c50725f19edef54c1f6c6f52130aec7ed2845ecafe18653b59d745384dac506b14ff0a81858d5c78216543c8252b7a0320067be86293f84918c7d4f787c6b48810f2f95220b73fa103ba2431a7715fc244ef9aa3db90a08109f135aba4dcdfd8852bf3d3c2313824275415d45cd535049de3620a1443\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 20\n# seed is all 0\nct = 6035ebc6cdb0ac1fee8bf7f21d2ec820018e892c0c52d5114ed8f81c402bcbe43c21febedcdca87eac3805c8f710420577459d707b62b6d973a494e5cfd8e16d6ffeb376e20d3983be35eba0f9bc5dcfd6cb55be614a3bc4eccf0c0a58d7fea6911a14d7394acbfae4b4c9ded6f5a757e476db98f3a5f3048bb244f8e7e0100db68bb213538ba5bbc38a6354d80c8d6a74225ee4c06c5d8a53a543de1b1098576b68ebe52fa18e151421be2648ff8165c137a234cd5837654c2dd2b4252fe3168c2c69d37b0f4a3b6a9cec6c94e511ced087c2d03cf06962998613cf30f270ff0588040a27eba2d88718b319e15dbbf74e2c3273aad488ff103e696a630639da4b6ed1da35d32218415f29def20a96a6ede4113df034a9d185ee529921bdd15dda7e6e6775fd0a6136c43c795d91d335a0f40eb1f29c89ea69251605fbf504e279edde6daac492fa6d81654f2cd2bdb43d4aad5b158b01672b613608927eb06aecaea4a8e082ed17503ad3307811391d5cef3058855c734d479d44d18cd4ce4116459b2e03b7bfe1c4b1e8ec833a10670032387938a664e3cb6cc6c58f55dbe4606678a17b84d7964db6b57ad98b599561051a7667d651d637ecc9f66fa323cee0c4d12bc6c6a608a262c56b236222c2ab82b602786164b917c09b113f87726eaf5ae232ed089ae0919e4502b4ff4588c485ec591714a2d26ccb22ad51c5a2a7\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 21\n# seed is all 1\nct = 80a8868f5835bc5f7f66942067523f6c487c73f2f3b9c7bd014862bd421ab36c2424d61e39dc8f2dbef8dbeb66dcefbd40943fa6dda1059f4d8f928a2b1f317db02013a7dba0059811ca8d6539f14bde5afef250d3facd3920b19b41a4fbf05c2a6a30bbc06543ce35989fbf3bb701b79a73078037691f9384b12da7ca5506cfe88550ab9cf1f7ffe4ba073f1264dbaaf18292608ee0006d2a7044ae1e8736eaa0126f0e3169b381edfb08c411eeb1da6a484f3bdce69c1ad1e7ff7befb9b39a91c142b67a33d40897c92b9d74fde0d8c62ba31aeef71e1583eac49eb2d640fc36ab28da78dd30f66a2134cd162bd79866031226eabf404b92e69b971bfac99a7c10cf5684a9de8808b56dafb41335f2718d7f6b286e14c08ae75d2b3d0e9e405bf24ec23f0b2714ab656f285413ea762401faaa1ea2e278393d41dee7be5a84b6aa700651a32671767a09041b7bce002dc21c03197643ef8bda0dc80cbfd70f97b88c9742a9606ef24be7961dfbf38253f368eb85731aaaa683e7a1558944965896945b277817cdd4bab90ec5642167cff2a343b2604a5d872fdb2b0ab9b98db53d643a55f36ddc246b86f17bea2cb32d7c97c9da64587470b9cf4009a10aaeaf22301e51be81c6d2bd8ed342e5bf18daa760e1597b2194a8d71ab093331c7ef75105866f6ec00bd4d1a2c8f81b1416b9c8548225ee468ba66648444663b92e\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 22\n# First byte is 1\nct = a527d8fed45766b70d08651f4560dd08caf2dc5ae573537a767479e3dc91b1aaed029c64d5e2198e9d11d27b48101c28f4d9f0fa3e6b6da7c312cbf4cac0d1e71c540e7c4be793d66e49d42cdd6ce8e337b09ce1d08923ce013898e57cb4c1019a7d49b800cf0df495e400460046615a94c6946a7ff6e103f599532d6a61ebf256e7c6b6e0969da154934ffd30d7023250dae1b05c140e5130ea89604ddf8b90c8003b7111adcd4d75fdde42e6dd96432daf40a03ee861dfbb82922f967b08073cdb588fcecf2f64b90254e810cf1974bdd405851ab9070690d657fb3d85eff9049a696510718896753c12dcb94f22a8238cb60da5599cef1df8c24005ab2941200f91a8886bcf3f91f1e7e264a6e4e43588b0e4578f733458ed0a58e380231cf76afe853d8a39f0a72977ef14735c79cb2828d5cd5d9947c970654db8efc3fc1e1b6c82420c3f530b2934588428b4d196259b66f5378c68cec90e7980e3417942eec91ac43af9a0f40a837f9917095b748f7ae199b83ac427c36dadb905088311b216079099652e619d30410b1928f13b05774b24e0c5a23a827af4f369a41f95f59011d19701824d285b2ead07b61763535d633c85e7288e47a0fb4de810cdd9b7b0d7abda008506b2579de95210bfb0420cd8561a7040771634a680346eb014b411196dae20d18560d6023ac96ebf8780ee5d5f16ec5fa7af160e5626c220\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 23\n# m is 0\nct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 24\n# m is 1\nct = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 25\n# m is n-1\nct = c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d2\nlabel = \nmsg = 313233343030\nresult = invalid\nflags = InvalidOaepPadding\n\n# tcId = 26\n# added n to c\nct = e9bb0b12b3f09a5ecf2054518959b594497b2eb3035b6bacc2e7ba277e14c43bd23b0249e12b87ef366733da226bc6dfc5a30f477324658da07d90b79837bb9e47b35902d92cfe816c450003562b3dc90e8208f02e93b217e635f8fe296e2a9d4e9cba9e9194d0fa50537730245546b31f8937c2635e137eb1b297a6492cac1b36e88d363bca78c4f2988373ed2233d4ebd7e8078c40a00684b1f5e3a7ddedb73cde4a298cd9d9b487b29c589655c08b31fb753e521a9aa69a56bb8dc70c72b2a5a6048ca0a23d1171d249c3d59d3386d9dcca35be84bf4dd3dee8f3602f44269260750da3718ff5704ce66f41b8b8f97d6a0fb09c93616b29384101f2638bd43bf4a07d5c9885e03ec3aef9aadb7e75eaada3a3e2c15d2d7a557ab63a00b1752e15a40cee1f2d8d1604fd883a4e2ca72c35a3fd405453f4830a2ec2bbce111ebd2d0982060bf006d9b7d220d5c5ab5b7e5061b83eba5c9203a26284d2c01fec65d2e6c8fee9835bef26de005f68c7b165b388082d18db7a70ebe4be0378f13dbb6d3ad091089aa7f2154d677a77a5d0586488130dfad798eae4c6b61b90af10b95436f2e3da96f258e40946c8dab0999f04f2652df4b60b1a02a538cdb4325a6f2d2e3440012f4eea97051ea73dce639e35bae219cfd9e27adc7d4a6103dc8a7b99aa9d4ff2bbe7bac248828d60d8a811c725e156e3293af298e63e839bffe2\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 27\n# ciphertext is empty\nct = \nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 28\n# prepended bytes to ciphertext\nct = 00002013a5504dd553e9ff2d0c42eefb6f6978cdfee946ebacb69aa0071640f42b1c6d019ab2c50362c7e271382d546a9ab53aed7cb625fdc692a60b4112df16d85db4a748935df606e4805419d4cd4a595285f369e20c7b474a2f71a6c40642c4e84f6ff870cd4546a4bb2b9f92a77d69bfa85724caa7c3724aeea131d9e2f61b5c24ab19a3ff46ef9b25e8951a165b2a795e8d734c996f0d3cdfc97995952195b60c65979f154ff185e880be3948eb95e449f5427fc3cebb805bc971dd32f57798e11d4411c7f2cae6ba40c711a5748c68d37fc7f493e5d389666159a55c57b1edb99fa9c30bc7eed5619177a90175cd0cb290b93b75a4725867baac40edc7033acb3b31e89063546d9c5b0a5d4c4f9062295269c51e7230b35fb2003c2e913f4c234ac9da3c467e6d522872fef1d28493e469b8e9efc1f6c389e69941b51977c4f4bb21c02a66926662899bf3dd638de31d47f8ffa9d8ee3404d8fa102985d2f8ec1e684acd5ca046e8b96d122630b3a7059ef8e7dc930c81c97bd81a3e3b9e984602d71cdf9985778f5f3b04d3f30faf4bd8a323ce6aadcedc43e3027abad83e92667afe962b07edfb218267f515c44be8509f1e26558220207468a318fe23e07fe2fda04114db17e754d9775d2c4951dc1c7f8d1b4476aa13ef50da043815a2a1c6453546067eb463db0877f717ec70c176e3fd73c8377ac3a8fd19dd2bb80f\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 29\n# appended bytes to ciphertext\nct = 2013a5504dd553e9ff2d0c42eefb6f6978cdfee946ebacb69aa0071640f42b1c6d019ab2c50362c7e271382d546a9ab53aed7cb625fdc692a60b4112df16d85db4a748935df606e4805419d4cd4a595285f369e20c7b474a2f71a6c40642c4e84f6ff870cd4546a4bb2b9f92a77d69bfa85724caa7c3724aeea131d9e2f61b5c24ab19a3ff46ef9b25e8951a165b2a795e8d734c996f0d3cdfc97995952195b60c65979f154ff185e880be3948eb95e449f5427fc3cebb805bc971dd32f57798e11d4411c7f2cae6ba40c711a5748c68d37fc7f493e5d389666159a55c57b1edb99fa9c30bc7eed5619177a90175cd0cb290b93b75a4725867baac40edc7033acb3b31e89063546d9c5b0a5d4c4f9062295269c51e7230b35fb2003c2e913f4c234ac9da3c467e6d522872fef1d28493e469b8e9efc1f6c389e69941b51977c4f4bb21c02a66926662899bf3dd638de31d47f8ffa9d8ee3404d8fa102985d2f8ec1e684acd5ca046e8b96d122630b3a7059ef8e7dc930c81c97bd81a3e3b9e984602d71cdf9985778f5f3b04d3f30faf4bd8a323ce6aadcedc43e3027abad83e92667afe962b07edfb218267f515c44be8509f1e26558220207468a318fe23e07fe2fda04114db17e754d9775d2c4951dc1c7f8d1b4476aa13ef50da043815a2a1c6453546067eb463db0877f717ec70c176e3fd73c8377ac3a8fd19dd2bb80f0000\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 30\n# truncated ciphertext\nct = 13a5504dd553e9ff2d0c42eefb6f6978cdfee946ebacb69aa0071640f42b1c6d019ab2c50362c7e271382d546a9ab53aed7cb625fdc692a60b4112df16d85db4a748935df606e4805419d4cd4a595285f369e20c7b474a2f71a6c40642c4e84f6ff870cd4546a4bb2b9f92a77d69bfa85724caa7c3724aeea131d9e2f61b5c24ab19a3ff46ef9b25e8951a165b2a795e8d734c996f0d3cdfc97995952195b60c65979f154ff185e880be3948eb95e449f5427fc3cebb805bc971dd32f57798e11d4411c7f2cae6ba40c711a5748c68d37fc7f493e5d389666159a55c57b1edb99fa9c30bc7eed5619177a90175cd0cb290b93b75a4725867baac40edc7033acb3b31e89063546d9c5b0a5d4c4f9062295269c51e7230b35fb2003c2e913f4c234ac9da3c467e6d522872fef1d28493e469b8e9efc1f6c389e69941b51977c4f4bb21c02a66926662899bf3dd638de31d47f8ffa9d8ee3404d8fa102985d2f8ec1e684acd5ca046e8b96d122630b3a7059ef8e7dc930c81c97bd81a3e3b9e984602d71cdf9985778f5f3b04d3f30faf4bd8a323ce6aadcedc43e3027abad83e92667afe962b07edfb218267f515c44be8509f1e26558220207468a318fe23e07fe2fda04114db17e754d9775d2c4951dc1c7f8d1b4476aa13ef50da043815a2a1c6453546067eb463db0877f717ec70c176e3fd73c8377ac3a8fd19dd2bb80f\nlabel = \nmsg = 313233343030\nresult = invalid\n\n# tcId = 31\n# em has low hamming weight\nct = 125414a4d9a1c6dfb02822a23a43a54f9a43b4695f7e563da34da5c1706cf07baf3c7c58cb37da1ea56305d9bde03f0559205e05dad61beb195f5aef8a6e6b0a921b3d3913b5bc7c87e3fff274afe789c715b96cf2fc43e8372b68d10cafc7362095410c3c4d33580884a0f215572fb05c19fde4744f90a0ac23980d6b579ead8d68bc782ae2cd5e70064478011ceb82ac9df20d2f64550b37def09050c319134383a88c9673f6349c446b178f2d02b2abe7c61f9a1a1193ed6869cf1a985ece2b921a1234ca29298974ef9b3b42b5984c44576725aea8d3da89a5703081c6cf915be00750ff13260950b24f46f4551b069e7eefd531e71f7b7f7afc717c1e41d7781f01d6f0", + "9cdc49b966d4f5455694379f4f0e31d3923db4776ad7fa2210f41b0e7fc6191ea18cf536de4e56d1865fd58f0dcbd71a0780e505f3d971fcd44e11db1945116fc8ed7bb7fbf3afce6db6454d9842f6c75b9c37503aeeadc6ad57e515c32bbcd5d81da7d178fd818d9bc8aaee2480754bea86bd507e74c33995458113f481ca8ef4de38f11dd0f0b7e6c05419c3c15b08adc2d4cea1558d8b430d2ecc1dd4bbce534b9627292869357b461fbc1087e435636534021ad02964121c474948a618c92dc5b7e8cfbbe1f3a5333c3d643f6ac0ec753540ccf3557762040a4754d7bc61d02aa51c7d7cb10e53c01b667af539a6b45c60b3bc1624073644\nlabel = 34c9c04473bd8a4da755a88a04a9ccab0bae8fdc51332dcba4aad045ae8305491fbdfab41821f6b838729d1e09fcf99513db3817c94c5be96a41bb23c8d0b0da00000000\nmsg = df487116341e4900036f3e9c31d809d20d17baa32348aea3f66babb8b082fe9fd496aea62e54c7529e0ff4c30690ce047caa15cb2a1824f0a4b7d56914272e8845d85fc8b5af454a5012355b5e862b283c59dbbd146cc6fa2a8aafe3889e10c8affee1782529b9756b45692bf369febd0639dd46029ad55111492ec2707939e62d645b4f4aea52573b3fbef8b4148ea2a539530f6841d8396c279ec66a503d8420c580a1ab55f571eb0ca931a2cd27b08986a7906d1f48ba68721967f2aded2d43cbb1f7356d62a169e3a376bb8f6b9e5b9e2541222d43832fd541acbd23a2044f04012179f654b70514bc38743bdbc8d8ad78b7392860c4dcc7173f180a25e6fbcf18dbd7440dee9e8ed9dd4dcfbc6a49e08c8ab08bca2ce4c774dd10e0126424948876f2a922d074df12d549328fa802275211d8b108880d90f4e1728f82453ba6bd5dda5a903a39f4e2da981e93522d7894a2ede6d1cd7f294ebcbb3a153803590097030b4d280e148a4016e454bf6b8b2b12b8c107b00826c5da2903\nresult = valid\nflags = Constructed\n\n# tcId = 32\n# em has a large hamming weight\nct = 429b721c92718aab272499bb59c79c051e89a93c091925faa209521649f090ff304342e04f258863a9da36b906384afb760d40bf553aa3b83e5ebc6f6246b0628836e59c56daa726c02e68552f79f8cbdd1cc349b7f988263680b7519861f8fab9ddd10a8392e6814d6e300a4b6447b0a1860bb8af7bc18e818ca2659c0c462c70ca929e2d0a67d81f557da8b1b63031835c362527289dfcd9b18f5644d1fbe54fd67c3b51fe84d3e44f3efaf280fa7cdcd72bbac2fa6731dae2be296992d6a08e8b8ad9fbfcfc086669ad34e4de07238791db1540c2fc91ba513fba4a692fbccdc717392bdb91995daef21430eba513bb80fcfc450f7af98a49fd254267f8f424ed516825cad9bf036794b9042ab7cfdd16bdc3398b8235a225aaac21672098f9fd799164f02d367ccbed67df1d16ab7e6948057efad3ebf9320ab3c74599a28636bf039ed4d1e023ce92732d1bc04cc2f71dda0093027e1e84666da7b6797e1b64e66d79dc088f0f8f91a806efe3c17c563fc2d6f3cd662fbb5bdc94a6b8a24c968e99a72b1a0ae5e621891d0a81d3b266da316c55284d65e20827d25a9a7abc5cd394b5cf313c5f0fc78fd4d2d8646c910ebb04f96e5be89d794bdd65b12bdafffa37dc5dc9c11b3cd664408e0954ce302a6e846b86b182f04e4ae30122d2b87dfab07e68d8466ebb235f606cc5d0989b1b2dc222e4a6c48a98f785a07c5d\nlabel = 2aef95ffcec9fb31cd3a17df07044ff10e054c4ff56d7f31b8ec1e24cbebf6979ff21d71ce627f7d4d7630e65fd07df472b39f2c7ba2f3af7aa645ac7aeb68da00000000\nmsg = 1348c2870b2c2aa0b686a87d4e51b8c9155e89f3e33ae3f7eb5a1c09c3469d3049bcb8a76f98c27e034b223a6c0195d29de1d4fde6748b2bcecf39457b292114fefc237e5d5e67893b1fd93385f9ca739f2487b79754c5bed364bd846a7afaa88ea1477e97949b770d6775830e932ffe327031d11a19db2d38d8a1897f2207a29d24ad47db096857838faf4512990ac167e5838f4001b62d6a7240b20cdcc159135bbb0939d67ce2c35f50267d2c4d702afcd907d6e43332eec8f52d71445a709fd365adaac1ef0f6ef72e7f7d976acc64e2d7e8e574918ed845fc4468727267d6e365bfe4fe3230645432cb5dedd284bbd28eefd53476d4a046dd30411cc8841017d1f0939db10a5c028140351147949d03d3aa0d512f03b42ac61403ac3c0fd240d9b69598803ef2e934c8b7d2923acd94672d570b44e60ded2df818181613e1dac6d19780fa2974a3226335c7c136ad643a17739b5b252c2aa82ca6ed8040c7230b86de80ffe9d81a22853124ce391dd3093076c0a93188554d202c53\nresult = valid\nflags = Constructed\n\n# tcId = 33\n# em has a large hamming weight\nct = 4556d44840f6c838427c8c477bdd8efc88cdf57d419d128f208a9e44674119dc71352004f1b149f2beedec7f3ac44d93e7fb9bb10bee7b675d62dbd9bd28dfa42dd6173ff17968e8578f0629486f99d40473d3ccd8e0fd3747a6daa2323c61a88e1f168a073197686668a8931ac03ba05cee8db7a5863532e798da7b0c371d03bee6cd2ca532c448187d16f424e4c22dc0aa86f5bb8358d0a593c9796cb5130cd6610a3a4b9afaf4da87c0eaf4aa015fdd5899b749af62e85e955de5a315fa971c35e900e410017f6860dbcfa347206a7e33277efcd3a17715a8f1527456d16e2addd711d7bda3be776afde4adb2a8834d98e4a2682e9b742a8798f4a5496138472bd889eaf0b03316180ddbf750ea5607f37a199e54c0812c5d59bba22dc1c18bdd8e0f8c4eb61a3701de06a710d142a2f5c864dd05a40c7c3fc4d4ae02078abc9559017f3c6588e670854ad81896b213a769bdfa6e221b5f8dd7ada50424deee1b1f138c738ad938b64f5228880214bf4166580b11e1afafe2b89819e720a7e08f773109dbecf40851e839b4a512b5fdeb3309b8e2fff237f8207df0af5d33a6b42da14f44dd49b716a7dba83989094b217d4b448353e250b9ce5f5536a471f2e1058e421f9c5c166b58db8e6516fe57db729b4c6ed31f014510976779beb555e30f1ad0de2c2922d9dbbf8bffadb189b7a5506545d3ce0b0f5891cde090cc\nlabel = daef95ffcec9fb31cd3a17df07044ff10e054c4ff56d7f31b8ec1e24cbebf6979ff21d71ce627f7d4d7630e65fd07df472b39f2c7ba2f3af7aa645ac7aeb68da00000000\nmsg = 01bb3b045ddec9528281814d028d1d6e78be895499b7f975e181c80e60627453016f4d2a767ee0ac090290243a9af67a6952a9591e3f242e80a7a19f177bb1c130849b9d74929ee5b048974b2d74dacecd05a32216976c9f605d1ab338de1bf245f5ba8c6822623458be9be96cfac7dfc65146dee746b67b128b68b36d03104e31ad9318c2d6eccd622bdcd07880ba1764a80b5ff9a367cd8366d82c1bcc65c9784c7842ecad63080230c1d6a5cade3fab837afe5785a8972172b9d9d0d7d4558ac162ae80991ca40b520979b24f64435b68c226828eb95e30be152bbbd509f010d5123ab65f31f389136a53b91b89a8b4c4ceef30ddbf0f3ff6237386f9aa9e2e57445d2a100b8eae294b08d6b86945abc3314af6982e5513eff8f8d987705a43de929382267523434fe4bca190b6c725faeb377f9581c49c45ae50e311dcf29cf3489ca8d1ee5cdfcfd5eccecfe9bf7910aebf141b6099f26135cc20538145ae8e0406ff3eac640c7bcc2f266a033212848d4a25b51dea318a97d38399\nresult = valid\nflags = Constructed\n\n# tcId = 34\n# em has a large hamming weight\nct = 29171896b305db27c0c404b65571df5125fac9ea2d8faedc5805fa35dbc2c335286694fe96bf415f4f2e579bd6b559c2569e886ca2e507881c1d80fec2ec6a83c3cf176b697cfd88f098c4105aabf25e2d322cb6a933c0b825d76a45deceecec9c5809a11acfded98eee74597c0e6963ea1d4fd2718152c9be554d511e380f5ef59ebfedb279c60fc622c3ec2f89fb89f82104567eed8b0d1e5548330fd434f3d83adb81b919e308c90108fd10261ececaa4249359250aa1f58a373c351f0d0ab51e344fd76cf0e688b39cd2a14569aaf49fc9f2f4d31d3e7120a2bd1dabe14f22022dc4d9a24cdd78ab85bfe34e048d57d3d465b616a835c33ae1ac2e337cf19d14e362e2f79b4e0feb51387a2b12a971ca1da3b2c7b03520cc6778249ce57540d7e60717864f4fecfbeb1a2e1c5a26487f4efe315fad65cd6c3c9929cdb2be9dde2d7def70709d5d87b7df54b0f7d2db610098a5da516f69cf4375af1c51c5c58bf8183a39ff3476f3472892625357eccf2c71b98f09922a560248d9b1c638a2fe635c7d3c06bbaedf44c5643c3dad43aa66efe6ebf7afc7b19e2b89db235b085f5aab01fe49c5dffae0dea31a4af25b8a65fcb68dd13a166b9b6fbe539eb79d610d2333b77e08a21ba8530133e24b7da38dc86bc1e56c5c869df6f5693e4b1e870d0c8884292edcd5fc6fe0d726803055d1a64d28a19ebfc4b027a1a340c7\nlabel = 81ef95ffcec9fb31cd3a17df07044ff10e054c4ff56d7f31b8ec1e24cbebf6979ff21d71ce627f7d4d7630e65fd07df472b39f2c7ba2f3af7aa645ac7aeb68da00000000\nmsg = 204020bb5dd616c0697e2f261d547f9e1082f60a8691c73b8f3d78ad19e772d67ff85453cce82d39d052f76c2743445d7be719c7d1a8a0f437669c40430ea1c8af4fbeb7d70606e67341925e63768085c94685aa28d9d55ac67e9196712360f477df744ce770c1d8858f33a2dd2a6926945f3632b3391487a2124c4c8c071af265dfc365901ed8046e9e5857c53332906a703bd0afe663ac7143cf4900405ddaec708d18159fdd7919bd6684c02a48edb54223e12c8c5d154627eaae83b3cc1bd4f2e6dcd62d41b519fe2b01199abe2f4dc57d7cc2c360f8c4e72f28d826a8a849d41a86c5b6676f7204a8c236883ab504681fe7a83ef0f12201691252a589cc985001cc7462eff1151fcaa25741620e914aaf6a1699c77a09375d1005e7dc3755e795086a32bf86cb71e93093315233fcc8a86b4fb72f8ca5d320e5ac19c142fa7a0d2400979863489ecadbde99e15e3fc0277498fe871719d2955f229804c2a85594232e3e29ccda494c5e340e7ca9c720f93a1e39f906522bdb8f4f08\nresult = valid\nflags = Constructed\n\n", +}; +static const size_t kLen137 = 931551; + +static const char *kData137[] = { + "# Imported from Wycheproof's rsa_oaep_misc_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSAES-OAEP\n# Generator version: 0.8r12\n\n[d = 5ff4a47e690ea338573e3d8b3fea5c32378ff4296855a51017cba86a9f3de9b1dc0fbe36c76b9bbd1c4a170a5f448c2a8489b3f3ac858be4aacb3daaa14dccc183622eedd3ae6f0427a2a298b51b97818a5430f13705f42d8b25476f939c935e389e30d9ade5d0180920135f5aef0c5fecd15f00b83b51dab8ba930d88826801]\n[e = 010001]\n[keysize = 1024]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00d0941e63a980fa92fb25ed4c7b3307f827023034ae7f1a7491f0699ca7607285e62ad8e994bac21b8b6e305e334f4874067d28e304230dca7f0e85f7ce595770b6e054c9f844ba86c0696eeba0769d8d4a347e8fe85c724ac1c44994af18a39e719f721f1bc50c46a39e6c075fcd1649f01f22608ce7dc6955502258336987d9]\n[privateKeyPkcs8 = 30820277020100300d06092a864886f70d0101010500048202613082025d02010002818100d0941e63a980fa92fb25ed4c7b3307f827023034ae7f1a7491f0699ca7607285e62ad8e994bac21b8b6e305e334f4874067d28e304230dca7f0e85f7ce595770b6e054c9f844ba86c0696eeba0769d8d4a347e8fe85c724ac1c44994af18a39e719f721f1bc50c46a39e6c075fcd1649f01f22608ce7dc6955502258336987d902030100010281805ff4a47e690ea338573e3d8b3fea5c32378ff4296855a51017cba86a9f3de9b1dc0fbe36c76b9bbd1c4a170a5f448c2a8489b3f3ac858be4aacb3daaa14dccc183622eedd3ae6f0427a2a298b51b97818a5430f13705f42d8b25476f939c935e389e30d9ade5d0180920135f5aef0c5fecd15f00b83b51dab8ba930d88826801024100e882d12d5f0be26a80359f13c08210bdcbf759dfee695313efa8886919659b064e3c656a267af6275ed1af89a5dfe9e25b31a02bafbd59445b7507a22989a681024100e5a65cfa668bd857d59135a78c18c8adb7c222368e9d74abad8e83299f7ac3c2ad7aa44ddb05deea6d9b20dbaf09a8615284a17c72d3723240334685ea7e2559024100a327c8e8f19d4150428f5e055a3ceaca846a19e30d45534ad60d894b56caf9b1bf0c9a8d965b0a882dfd2e1485154ee5cbe052e8d4f525c2d5fa9554b1992a0102410091f17ceb411a247e056287f79787f498b9cc2d1400e43dce10b91dcfe8e30adf80820d42d12b54f4247dce8eee193421cd602e843930f944c81a0dfa730081d9024075915a454770b49082423761244ccec65a6e48ae9966344b675610facad9162fa5bd1cc5108c322c2fb3c144f807773a2c7d097f63e5c8d3bd8ce8efac2ade04]\n[sha = SHA-1]\n\n# tcId = 1\nct = 673779703fccab3ee7735e97e7be7fe3d1b39fa902ee35a858fabab8b2cd6b76b3a68f5971b42e28e8ceff7942cc4f3a0f2eeb4b998315961b06fac4b946d0c9f586fdab0c22b1252eae47d3c9d4fcde44dbf622b33b130adab572ca18a29016a35577c8518d24fc6659851b434b0025aa7da027d7ed77bfcbfc51c991daea7a\nlabel = \nmsg = \nresult = acceptable\nflags = SmallModulus\n\n# tcId = 2\nct = bb7914975c8a7817a50e7b3af7d79a93b4de5f9b3ce8a9a15300da83c75af932833d5f662ed58de5d195b4b03b4f70c6d7741bec915bf8077e31238c4d51c6e3c49d1a89211d3e14a3d29ca5e3ac4f9e1d13e22cde950fe979834f12f6ff93247e10da5cfab6b265bc87c8f2a63253ddbafb8ca0c16b07d2b230a78c04747089\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 3\nct = 615a6e86e3d447a655ee83eba8d92e29e08812c5de4816649765457c9b3241498f6308b3b5b1ee54f70642b35b85ff229af8b1e81a48e6e3359a5dd67c34e5d02b58caa36e3be7350481d0f7c5a0af1eaa8eb93e9768e7e1e0eb5c5d75de77c220f41bd03732d4c3a56f6d29cded37752047b5f79f11fd4c4eca39b34ea792cb\nlabel = \nmsg = 54657374\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 4\nct = c3e50252a748d77060deb817e617367fa93ae234e535c7c3155c65e0131c1c249fc7ee8e6b8f58bb085a6a455b63efb336cb6fbc9ff82204ec500026a7ae09c7cd8d361cecaf6fba5fdb265d64f90cecd32b0b3fbd93e29725058e1f689f030373fe0c9133660ec88e1b027bf7ddb5abf3aae80f86c0af411496acdcd89908a5\nlabel = \nmsg = 313233343030\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 5\nct = 6aacaa5bf3d71e04bad9ce95861983d5fa561c1bd4439aa47953d144fc880e82c1540487ab4586e24dc0749cb5d4f9a54854e6f90d03e288c23e5faa4a7a7f9ae09e36dce48428a8a9485123f1bb6d5b7a9bd339e8e799429da33668733dc8b323a29b8014a8eed800b36a783249842b7135e33b1708d4fcb5762a5845b16cf6\nlabel = \nmsg = 4d657373616765\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 6\nct = 0c0166f8e2d95d40d1343c4afe4ac038fbe7654fe7c96abf312e385626830eba877197b931039bd4270147d3480a99ee9b124667dd8a89e3e253234c669d9cb45e35a3465252251ab265a3812923dff495c91c5c50f4bda0b3ba9f9b14565ce78583ae7995813ae9a795c4f7d43ced1cb60e2cf8c1341798f8f72ac397f0bd36\nlabel = \nmsg = 61\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 7\nct = be7e293ee24ecfa696de652c0ece7b95c8cb70b4eca65077616021f7ab5e2e3e6e1115283757d9fae9ddde688e69ad470481459a7db49eab7ba3b77015a5be9e294a2fd5372810d1da1fb6ead5949d44c20be3159e56a9400a685128091bae955c4838312b4da54a30f26481092abe3b7d89ebc249694a09f2a029b333cb1126\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 8\n# Longest valid message size\nct = 163a77d9bf01658d6c74efdf3615a6a44d3d06415a9b6aa7a43d0c8f3907d51a66d51d6ce250431dbf91c22dffb39b6b51f9dc40d9f45a23943ffaf3904e7193816a5a521096c135c6fe6f59982b0c7425bb7a653c9ca33dba69871f29a129be856488c39f19420a4f3a9fd9b6f49ecf9e9cfeb2de7ef3eb57dba9cc19efe0b9\nlabel = \nmsg = 7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = acceptable\nflags = SmallModulus\n\n[d = 5ff4a47e690ea338573e3d8b3fea5c32378ff4296855a51017cba86a9f3de9b1dc0fbe36c76b9bbd1c4a170a5f448c2a8489b3f3ac858be4aacb3daaa14dccc183622eedd3ae6f0427a2a298b51b97818a5430f13705f42d8b25476f939c935e389e30d9ade5d0180920135f5aef0c5fecd15f00b83b51dab8ba930d88826801]\n[e = 010001]\n[keysize = 1024]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00d0941e63a980fa92fb25ed4c7b3307f827023034ae7f1a7491f0699ca7607285e62ad8e994bac21b8b6e305e334f4874067d28e304230dca7f0e85f7ce595770b6e054c9f844ba86c0696eeba0769d8d4a347e8fe85c724ac1c44994af18a39e719f721f1bc50c46a39e6c075fcd1649f01f22608ce7dc6955502258336987d9]\n[privateKeyPkcs8 = 30820277020100300d06092a864886f70d0101010500048202613082025d02010002818100d0941e63a980fa92fb25ed4c7b3307f827023034ae7f1a7491f0699ca7607285e62ad8e994bac21b8b6e305e334f4874067d28e304230dca7f0e85f7ce595770b6e054c9f844ba86c0696eeba0769d8d4a347e8fe85c724ac1c44994af18a39e719f721f1bc50c46a39e6c075fcd1649f01f22608ce7dc6955502258336987d902030100010281805ff4a47e690ea338573e3d8b3fea5c32378ff4296855a51017cba86a9f3de9b1dc0fbe36c76b9bbd1c4a170a5f448c2a8489b3f3ac858be4aacb3daaa14dccc183622eedd3ae6f0427a2a298b51b97818a5430f13705f42d8b25476f939c935e389e30d9ade5d0180920135f5aef0c5fecd15f00b83b51dab8ba930d88826801024100e882d12d5f0be26a80359f13c08210bdcbf759dfee695313efa8886919659b064e3c656a267af6275ed1af89a5dfe9e25b31a02bafbd59445b7507a22989a681024100e5a65cfa668bd857d59135a78c18c8adb7c222368e9d74abad8e83299f7ac3c2ad7aa44ddb05deea6d9b20dbaf09a8615284a17c72d3723240334685ea7e2559024100a327c8e8f19d4150428f5e055a3ceaca846a19e30d45534ad60d894b56caf9b1bf0c9a8d965b0a882dfd2e1485154ee5cbe052e8d4f525c2d5fa9554b1992a0102410091f17ceb411a247e056287f79787f498b9cc2d1400e43dce10b91dcfe8e30adf80820d42d12b54f4247dce8eee193421cd602e843930f944c81a0dfa730081d9024075915a454770b49082423761244ccec65a6e48ae9966344b675610facad9162fa5bd1cc5108c322c2fb3c144f807773a2c7d097f63e5c8d3bd8ce8efac2ade04]\n[sha = SHA-1]\n\n# tcId = 9\nct = 43292f009868017ff514f9c3c04c2bcbe7d39e33b2b39d163812815e7294a87eeae5e8503ec8bd57d1f5bd02795ea3923c396ebffde08f70e9fcab64ab22b70d19cdd34653a265f13a36f832bd2e34f5a0211ffadb4dd353aa0bcdeea19c75290f0f948b61eeb5f41f86b42ed3222be38e2a30b8e568712d786b57173b3e4090\nlabel = \nmsg = \nresult = acceptable\nflags = SmallModulus\n\n# tcId = 10\nct = 583c33c713bf7f920f63add1f9da9051ef3716581c117b4fa41c82e59a45dc4539569ccfb8a86dde1ef4fad8bacfb8be0f73a9e3dbc2c682d1463f8f72304aa181f1c3bf829121d5809cf3f57ad295710728cc44aa6ed74e46b0975ef5510e89ff129dd20dbb66ae948b4f633d6fc0e886f8e944df9a2dcb43f48a6b3327ead7\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 11\nct = 342f6040b7f229009a429a9079950154588ac7689aa226b363b75ff03afe2f69a2eb8e2261c6870f1aae8a0885ad5fa612cac2cb63f92ddeac9a721b06bfa7a343670a44afda70bd8e64971699f1136eb95c0e06bf684b850853f073719275accd66f0e1ccc50c6f163b13d4cb5d273792343ef69f547a3477ae5d7985ca5240\nlabel = \nmsg = 54657374\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 12\nct = 75a608f2a58538978fbb1b5b761bee895c10d3ce99a0a5e791d65937098b9ea30586ed1bde62a2cb3e0b4332c5d993e35b52ed28402404521f5b579a5e257b76c2e70d67b6e1459b790fe32eee1c64a5d9d78e98d7a8", + "513d5dbec7b1c958b0f6fda4b322194d68818747f9a75afcaaf07f8def984aa09373997900b69775db86\nlabel = \nmsg = 313233343030\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 13\nct = a12a689e17089bcb36b9487ba3b0ca55781ebcd5c68bf4a8dda58126a7ffb184633f97790e84905c2e9e2feb8d7fbf6cacdc35869aea943727ee3fbb494ba7657eb1cafb0c6e39ff159f41308d758f07afcd48808280f1269910b0aa51da3027788842df88ad5a299a014a040b4a9c9b54b382d349589ecf24f4acd82698ebea\nlabel = \nmsg = 4d657373616765\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 14\nct = c019f80847bbe0b299b256fcdb1e71b035345fad162969d202c20bda4c7398d14a1a6a8ebe75ce61b718425a72cdf0e1cf7accf1b692a175c146e87e0eac2bf7920c8b218640f8223e536dbd24f93b8455bf6a45f6b200b38b11457491a1bfffb4abcae258e2590bfdf585264f31bed39a0039cd23969ccaaa5da66307a6caad\nlabel = \nmsg = 61\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 15\nct = cafb437c778965cf82ba9e33cfd390917c7fcfd4090e56c70c2e9ffe5863736ef3c8e62a00e61a11c86a100c56c49f8f39fd9d04616d95e2467dcb2c61ca6323c887d78ebf3ff71eb67ccb9cae039de696a47c1c3bea01caac297e3ff14cd6642353d68e3bce9bd702d225959e894a2f996c7e0064ee1a340ddb6071634d0982\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 16\n# Longest valid message size\nct = 59f72eaaffe725a5808f31ab0372afdc2e87f4ee8ba12792560c1e014374c82432128380adf701f4a4f814a8329583abc22dc9e76af568d3aa1539ff41034e17c89450c9efb17ec61b89c2a47744f43e675e870a9fb901ab596a8bf5bf8603833bc12f49d52923f32e4d0af4c908ef75a4b9ec2a6b5475ef30d31944dc2534d5\nlabel = \nmsg = 7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = acceptable\nflags = SmallModulus\n\n[d = 5ff4a47e690ea338573e3d8b3fea5c32378ff4296855a51017cba86a9f3de9b1dc0fbe36c76b9bbd1c4a170a5f448c2a8489b3f3ac858be4aacb3daaa14dccc183622eedd3ae6f0427a2a298b51b97818a5430f13705f42d8b25476f939c935e389e30d9ade5d0180920135f5aef0c5fecd15f00b83b51dab8ba930d88826801]\n[e = 010001]\n[keysize = 1024]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00d0941e63a980fa92fb25ed4c7b3307f827023034ae7f1a7491f0699ca7607285e62ad8e994bac21b8b6e305e334f4874067d28e304230dca7f0e85f7ce595770b6e054c9f844ba86c0696eeba0769d8d4a347e8fe85c724ac1c44994af18a39e719f721f1bc50c46a39e6c075fcd1649f01f22608ce7dc6955502258336987d9]\n[privateKeyPkcs8 = 30820277020100300d06092a864886f70d0101010500048202613082025d02010002818100d0941e63a980fa92fb25ed4c7b3307f827023034ae7f1a7491f0699ca7607285e62ad8e994bac21b8b6e305e334f4874067d28e304230dca7f0e85f7ce595770b6e054c9f844ba86c0696eeba0769d8d4a347e8fe85c724ac1c44994af18a39e719f721f1bc50c46a39e6c075fcd1649f01f22608ce7dc6955502258336987d902030100010281805ff4a47e690ea338573e3d8b3fea5c32378ff4296855a51017cba86a9f3de9b1dc0fbe36c76b9bbd1c4a170a5f448c2a8489b3f3ac858be4aacb3daaa14dccc183622eedd3ae6f0427a2a298b51b97818a5430f13705f42d8b25476f939c935e389e30d9ade5d0180920135f5aef0c5fecd15f00b83b51dab8ba930d88826801024100e882d12d5f0be26a80359f13c08210bdcbf759dfee695313efa8886919659b064e3c656a267af6275ed1af89a5dfe9e25b31a02bafbd59445b7507a22989a681024100e5a65cfa668bd857d59135a78c18c8adb7c222368e9d74abad8e83299f7ac3c2ad7aa44ddb05deea6d9b20dbaf09a8615284a17c72d3723240334685ea7e2559024100a327c8e8f19d4150428f5e055a3ceaca846a19e30d45534ad60d894b56caf9b1bf0c9a8d965b0a882dfd2e1485154ee5cbe052e8d4f525c2d5fa9554b1992a0102410091f17ceb411a247e056287f79787f498b9cc2d1400e43dce10b91dcfe8e30adf80820d42d12b54f4247dce8eee193421cd602e843930f944c81a0dfa730081d9024075915a454770b49082423761244ccec65a6e48ae9966344b675610facad9162fa5bd1cc5108c322c2fb3c144f807773a2c7d097f63e5c8d3bd8ce8efac2ade04]\n[sha = SHA-1]\n\n# tcId = 17\nct = 683504d9d84b2f9eeebda7748ecb59a8ea8a72a283983113deac27e65e268be105019dfc6608b6adb4c68e5a8b945481d797efe72bdfa554eafba55b5d4f2236777465eeeca0364e72f0e0ad96b09e1ccef8e7eb6bc1c58ed90a838f7c9b81517080b6978c1dff0038c6ff944bd084954b6b3b0c3184ecdfd08120455b5a24f4\nlabel = \nmsg = \nresult = acceptable\nflags = SmallModulus\n\n# tcId = 18\nct = 0673ac76c5cd297a6605ea6fa07ab36179ce8d7ac2291ff1ca43078d542b928aa53ed48a9389203be4313a15c4dd476a6d97a67aef5b2765e460108312bf28c8b85433968c82a3127e22a6fb6088c088c0aa428a495ba25fe6c570516457ec68da37db32160266d5cff2b8e0cff69c8ff722cd71c44f80a6085005eb48ad2c02\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 19\nct = 196a786011bdf22c7ef74f04b9104314086a25219803c319ee8d2d1e0669505f61122c13f4414c23da0ba6fabefc94635ec5534eea50d60cbf094ef254622005da9b64ecdd529280e32ef32a1210c827e25e9f851c235a7d1681cd0156bc7714b22819a8ab99cc647ba310998dd3ba11a2d694376e111101e781cff6fb0ee52e\nlabel = \nmsg = 54657374\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 20\nct = 73cbf741e6ea2ff7d90da94f6b2b0193948f3bca2fd46b6d3d1419a70628523b78325e3eb1db07f504e0463612ca04a10badca665cf032332e0cdde7577e1f54710588db2707c1606abf8e84f2d8141e4f09e63e198827824bcbc82673fe2186b8489b4e9b52c30e536705cefe652954b97fbe7e0bfa0bfc3f8b51a762806232\nlabel = \nmsg = 313233343030\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 21\nct = 9a05e365b558644187da88d6d54ce54ace67beed3b727dbb59bd3ed1f72ae4b8456c85254416efe608e2073ab3010fc7c2d27f157e9234e4d5c7f49bb89750819887d784c6ccb51c7f59cac5e04375dbe42b18f187be137befa13ba80c89605a18b8d838ce7a899e4a3145107d23cc55860e5d32187e0c6dcc946d11578c6c9f\nlabel = \nmsg = 4d657373616765\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 22\nct = 84084b95130f1d91ba7444c045898f8bee7917d9dad6b59b9bdcb204e5ee8a142bd94b405ab42d859bd6d9e8338a202b67c2551a539201d6657eea79cdc629125515560ae5061477e5c7efe0c4aacd36da41ad126aa630795f9e105ee70fb77fea7a2b371907afd415697fbd570bc3f414f4b88e271f41be1223c29e3d72b21b\nlabel = \nmsg = 61\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 23\nct = 52ab5613c4ca5fd259398258edd48186c9007cb99b11915c85060e84975e4de2365723315ff4269ddc37acce4e809598b7adcef464c0973e8ad12037b186c74b2e1e76212421b127c2c1d56c6e69d353a7ce52531c7a1d375cb6a0e358c86de3798378a09c4ffc38a4d27adcdbfac6211366890a75692fd2dab14360717fa415\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 24\n# Longest valid message size\nct = 1d79894e48cfc27e8fafec2f2f59fea5890569201172ffe68ea13fc3918ea0eb0e5ec1c3265a39acd5e1d210883359ee35c33d18206aa8d59c1a0459de1282fbfcdcf09a2c0d3a849c048875240b9ff1452f57a9d45148f838dc0b47dff2b52e0d93760d7b4e1f0e389abe425c9c167dfbaa3ca0196e660814986572d1878cb5\nlabel = \nmsg = 7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = acceptable\nflags = SmallModulus\n\n[d = 5ff4a47e690ea338573e3d8b3fea5c32378ff4296855a51017cba86a9f3de9b1dc0fbe36c76b9bbd1c4a170a5f448c2a8489b3f3ac858be4aacb3daaa14dccc183622eedd3ae6f0427a2a298b51b97818a5430f13705f42d8b25476f939c935e389e30d9ade5d0180920135f5aef0c5fecd15f00b83b51dab8ba930d88826801]\n[e = 010001]\n[keysize = 1024]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00d0941e63a980fa92fb25ed4c7b3307f827023034ae7f1a7491f0699ca7607285e62ad8e994bac21b8b6e305e334f4874067d28e304230dca7f0e85f7ce595770b6e054c9f844ba86c0696eeba0769d8d4a347e8fe85c724ac1c44994af18a39e719f721f1bc50c46a39e6c075fcd1649f01f22608ce7dc6955502258336987d9]\n[privateKeyPkcs8 = 30820277020100300d06092a864886f70d0101010500048202613082025d02010002818100d0941e63a980fa92fb25ed4c7b3307f827023034ae7f1a7491f0699ca7607285e62ad8e994bac21b8b6e305e334f4874067d28e304230dca7f0e85f7ce595770b6e054c9f844ba86c0696eeba0769d8d4a347e8fe85c724ac1c44994af18a39e719f721f1bc50c46a39e6c075fcd1649f01f22608ce7dc6955502258336987d902030100010281805ff4a47e690ea338573e3d8b3fea5c32378ff4296855a51017cba86a9f3de9b1dc0fbe36c76b9bbd1c4a170a5f448c2a8489b3f3ac858be4aacb3daaa14dccc183622eedd3ae6f0427a2a298b51b97818a5430f13705f42d8b25476f939c935e389e30d9ade5d0180920135f5aef0c5fecd15f00b83b51dab8ba930d88826801024100e882d12d5f0be26a80359f13c08210bdcbf759dfee695313efa8886919659b064e3c656a267af6275ed1af89a5dfe9e25b31a02bafbd59445b7507a22989a681024100e5a65cfa668bd857d59135a78c18c8adb7c222368e9d74abad8e83299f7ac3c2ad7aa44ddb05deea6d9b20dbaf09a8615284a17c72d3723240334685ea7e2559024100a327c8e8f19d4150428f5e055a3ceaca846a19e30d45534ad6", + "0d894b56caf9b1bf0c9a8d965b0a882dfd2e1485154ee5cbe052e8d4f525c2d5fa9554b1992a0102410091f17ceb411a247e056287f79787f498b9cc2d1400e43dce10b91dcfe8e30adf80820d42d12b54f4247dce8eee193421cd602e843930f944c81a0dfa730081d9024075915a454770b49082423761244ccec65a6e48ae9966344b675610facad9162fa5bd1cc5108c322c2fb3c144f807773a2c7d097f63e5c8d3bd8ce8efac2ade04]\n[sha = SHA-1]\n\n# tcId = 25\nct = 54b9f6b31d9a10c7534d156f6f07dba7310a714a4b3b1c7b7d325825cf30ff36a2dbfca7c740ea03304e0a1e270e320f2440504499c312b4f4fd46d8dba78211b5b1938e43dfe386605d09c8c1c90fe2cf0f8ff7f7be04550914217312fa4105f13709167cae9a0f4076b1d07316f7347bb01e33d71bb0b7ed1cd673433a1ed6\nlabel = \nmsg = \nresult = acceptable\nflags = SmallModulus\n\n# tcId = 26\nct = a7f2cc65230e26da285af8905677315578b2d4eed37c8eff3c649f5f099c28d5184509b6ea5515bc1b15f7c0baed4323dd600f13d3831613b923b598c6446050a13fef00530f475bed55ec8de81e7badc5a078a2989e4b66ee1909793de82fe3bfab63263c7aa8bb74dc4afa23723982e65a0d6ebb2f54a53bf2bdd2c7c410c1\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 27\nct = 4f23774e0e834c3c94702652a3be92b3007b830b8650f517a5d2c690161c0a802f49fa9f896ee4de4c02370e84f66b8289d69eb828eae7ae2aad814770817b31a022fefd33e18197dd4f8991eae93292d9236858266944b86fdd9dc33170bd8a5f9c473afbffc88c51870d2ae39deb343da25afc2569bfede7177c92e80821c8\nlabel = \nmsg = 54657374\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 28\nct = 110f46bd1e27da8af2ce52d4c41171cdfc0c6a69f0709826b5c2de86e716ad41401d75442f849a06522ef7ddc0d67a99c06d5b6bbb8fe00a7bf5b470793bb65e3ddd761b7db657ee2e0fbddd1bf9e2441515e11717507eaa4a868378b888eb17ff4f02221c84650c2c41ce89d95e399f055ac70e3698f6836c655c44435090b4\nlabel = \nmsg = 313233343030\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 29\nct = c55786f3ebec1657da50ebd20d4a984ef54d89de99defea0de73db7e348dcb505945fe5af43a319f38d47c9fd1fed3c6b5e91961d1cd8185b6021293f208499848e5ae2bc7b24274fdbfa2d67dce5f2fe986d4e4ac7067979b51bc220441d2da2c9123c5526200d57d81d993480d6ae622f2a1434b8387c4e641cb632673be9f\nlabel = \nmsg = 4d657373616765\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 30\nct = 8637f6b594861442f04a9422df3ebff415fbca162712c1d69e83f6b05f8ac8214893e815fbe46b29ceb901830aa1b5397de66c0fa9607ea758849f5cd67571e3acfb0c614cc59512192012f18cc7a8dadd153cd7838572f921907b11b4ccc8e67614490a3e4769321f1e6330470bb206e81107c012d151512f8650b60c61381b\nlabel = \nmsg = 61\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 31\nct = 91a7ccc9d2fdac9e8b9697e0efb4f67cc1c1f5083201057e7405c0a82a5a91e3c6edec26a406367721c98be3baa7cccb5fd2a08bafc4f035e7e4c664e544611e0e44daf2667b26a1aaf84006c47661cc483d4ee031b35cf33c5205f26aeaae9606345d51b742aa5a09bc1a51b739a71aac058f9e69c4ead478f47597fb6a45bd\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 32\n# Longest valid message size\nct = bb0ff1cd0900a210d44649909b503a58e88073c3f1707d3be68f3b8148229b789c4870f5353a38f0550842cbebb7a596e6c458809d94626c3d2b457709990ed366fa1f66a0eb0c144b311a873080974f9e5a681abfa2afcefe43f59115fd3fb9fc2d2e685f3ee2ac686460bd79a88d90d2e5abc6853ffff19bbfd70333bd008e\nlabel = \nmsg = 7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = acceptable\nflags = SmallModulus\n\n[d = 5ff4a47e690ea338573e3d8b3fea5c32378ff4296855a51017cba86a9f3de9b1dc0fbe36c76b9bbd1c4a170a5f448c2a8489b3f3ac858be4aacb3daaa14dccc183622eedd3ae6f0427a2a298b51b97818a5430f13705f42d8b25476f939c935e389e30d9ade5d0180920135f5aef0c5fecd15f00b83b51dab8ba930d88826801]\n[e = 010001]\n[keysize = 1024]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00d0941e63a980fa92fb25ed4c7b3307f827023034ae7f1a7491f0699ca7607285e62ad8e994bac21b8b6e305e334f4874067d28e304230dca7f0e85f7ce595770b6e054c9f844ba86c0696eeba0769d8d4a347e8fe85c724ac1c44994af18a39e719f721f1bc50c46a39e6c075fcd1649f01f22608ce7dc6955502258336987d9]\n[privateKeyPkcs8 = 30820277020100300d06092a864886f70d0101010500048202613082025d02010002818100d0941e63a980fa92fb25ed4c7b3307f827023034ae7f1a7491f0699ca7607285e62ad8e994bac21b8b6e305e334f4874067d28e304230dca7f0e85f7ce595770b6e054c9f844ba86c0696eeba0769d8d4a347e8fe85c724ac1c44994af18a39e719f721f1bc50c46a39e6c075fcd1649f01f22608ce7dc6955502258336987d902030100010281805ff4a47e690ea338573e3d8b3fea5c32378ff4296855a51017cba86a9f3de9b1dc0fbe36c76b9bbd1c4a170a5f448c2a8489b3f3ac858be4aacb3daaa14dccc183622eedd3ae6f0427a2a298b51b97818a5430f13705f42d8b25476f939c935e389e30d9ade5d0180920135f5aef0c5fecd15f00b83b51dab8ba930d88826801024100e882d12d5f0be26a80359f13c08210bdcbf759dfee695313efa8886919659b064e3c656a267af6275ed1af89a5dfe9e25b31a02bafbd59445b7507a22989a681024100e5a65cfa668bd857d59135a78c18c8adb7c222368e9d74abad8e83299f7ac3c2ad7aa44ddb05deea6d9b20dbaf09a8615284a17c72d3723240334685ea7e2559024100a327c8e8f19d4150428f5e055a3ceaca846a19e30d45534ad60d894b56caf9b1bf0c9a8d965b0a882dfd2e1485154ee5cbe052e8d4f525c2d5fa9554b1992a0102410091f17ceb411a247e056287f79787f498b9cc2d1400e43dce10b91dcfe8e30adf80820d42d12b54f4247dce8eee193421cd602e843930f944c81a0dfa730081d9024075915a454770b49082423761244ccec65a6e48ae9966344b675610facad9162fa5bd1cc5108c322c2fb3c144f807773a2c7d097f63e5c8d3bd8ce8efac2ade04]\n[sha = SHA-1]\n\n# tcId = 33\nct = 2599294707d4888914f7f4b9634dbe1e471b10e3e8d43a988e853dc9943bcdca9cbfd9d44a780d6ab9df0617795585ab91d4c2d1a0f0e2bec78ac137902a2e1a88b165396d02a24beddb3905a6b3f031a2fef0d803266b170e435769f248c3e6c122f404f32ff3c450b38c608f12ff70ed46657d2ceb1a277b8ce418a7d9ba73\nlabel = \nmsg = \nresult = acceptable\nflags = SmallModulus\n\n# tcId = 34\nct = 0daa2be79921c08cddd40e536bc38da267157f22cacde4e9ad36730d616b86c734a7751afa3d7678cc7e173bdd3b9afc19c2f4cb4cae58fe1d623685026468673b36d268f170ab500d974b57536bbe44f544b002101b7ed1b4d342c18c2ac169bcda4219490bad3e645cf5ba69dad96860cecf559307ff0d293ab30dd330f8fc\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 35\nct = 82c311c219ed2bd02be97da106d14f01e3292595f16afc6e61cf6d55202e7cff585fdccb56eebd86d03a04dc76069d1f06d3f72b59ebfd9be08ed664045377434311f83811163891704ed2fe0d25fc813b2df2718c4e32cd74fff8bec4d554ff72ff5c6420b2b76c03286dcfb2a662c8c66a86b04e61863d2ed379baede9c918\nlabel = \nmsg = 54657374\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 36\nct = 09cb258d6a5090a2638d2217f3c6535def5a2a05f97a2606f608d3ee10f7a6077f44bb63eb8008fd6d797937edc31dd0d5526cf24eda0191c4f48fdee02bcb731e4ecf09388df1d979c11fb841a0ac0d017334f6ec9f8a9c4de822c232faea803eff6225769a39d68206eead6414af996b1969f2f8d6bc1c3400f6fc31bfa8f9\nlabel = \nmsg = 313233343030\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 37\nct = 6daf23cdb83c5d16be94c4d9646081be49dc1db87287bdc534052d6848c5cf47584ebe6ddba5767f445c11010e019352472aff14343df44232784dc2adb135455ca28a03bb69e865762afa850f907d89e14e08d9a81e92b0852e99d360804cb0857e47b4bd2608838d6f81826d74d17984f805d7de29fb475ab71e5bdd057612\nlabel = \nmsg = 4d657373616765\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 38\nct = 6a397116dfd443619d3acb576c282eb0ee28b2ba901694c5459817909167fe1c9fffdce119316fda91e0f5c65ea4eecc595a18bec9a718cce8281fc4ab63d56dd82bd835b86a8b91229178d52ba4467f74a161314abaf533443efbe08270c1581caa5876eade4d34f48f1c9411aa089bb4a3370b92c30cd918bcfda92108e083\nlabel = \nmsg = 61\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 39\nct = b399d03b2fa231e85308c6c45fbad1aa03d7f328bae29e94a1c4e6975238d1883a343ac5c49f503ff35472a27c843d56cdc7c962c8753ce2229b2ca37dd9e24e3fa3f528787eed3c8980e9c1b888b093079af2ca69eb39859cffc31d66d0dc245d1213c7f54edb769bcbf0f10c6833967a7d13099ed99ed84154d505d51de912\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 40\n# Longest valid message size\nct = 149bd74986f0b9a4910723216817870a910c157d65df96d991f5dbf144f9911ceaafd2fa799b58d7e56971d6db66d3b23d1232ea0fa5be2467eab1c9142a898f0ea53f2c40702c42b2a7c0d987c50a6d4dd54ef27238f5d708e77954170631a9d52a2f54c79a4bc3edc8858da72752ad472e869782783f3e91ae36c176890190\nlabel = \nmsg = 787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878", + "7878787878787878\nresult = acceptable\nflags = SmallModulus\n\n[d = 50f854da7dec301ab50d81761a575b0436ee7a6445ef359b7bf3ef374ab323883dfcd6e6c2c43fcc1d71d0d6408faf1f5992c69846911fd2a438068fba46fea5c108f95e307fdf3904c1cba6f014c6555a79679b843e5397e2dffc5e349d7b8666bc3c5e411f39f0f2585bc7bda70b84b8f5b08c9260b39d3e8603c88d128fc1]\n[e = 010001]\n[keysize = 1024]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00dfbe6f882c8b0c42c3229f29cd858bead25c213b5c0346c3052f844b045ac792c81c1df5ad6a66e9d4f3f7c11096f069f5fc0d1d7da555c6e685cf672ab2a6599f01605f50c93a91d6882f5884e4cf3e9c41a790b0c44247150777f95acf69312b0ed68f3c82693e6b67f0e1ea5927c0eeab3554c2c157181f4634e77bcb088b]\n[privateKeyPkcs8 = 30820276020100300d06092a864886f70d0101010500048202603082025c02010002818100dfbe6f882c8b0c42c3229f29cd858bead25c213b5c0346c3052f844b045ac792c81c1df5ad6a66e9d4f3f7c11096f069f5fc0d1d7da555c6e685cf672ab2a6599f01605f50c93a91d6882f5884e4cf3e9c41a790b0c44247150777f95acf69312b0ed68f3c82693e6b67f0e1ea5927c0eeab3554c2c157181f4634e77bcb088b020301000102818050f854da7dec301ab50d81761a575b0436ee7a6445ef359b7bf3ef374ab323883dfcd6e6c2c43fcc1d71d0d6408faf1f5992c69846911fd2a438068fba46fea5c108f95e307fdf3904c1cba6f014c6555a79679b843e5397e2dffc5e349d7b8666bc3c5e411f39f0f2585bc7bda70b84b8f5b08c9260b39d3e8603c88d128fc1024100f002a2625626ade6f48c6f981017968124de0e2a8fa38d6bc4853e1bd0b48ac327610f5e566f017bd74bd5134cc9fedc2625f0f7370f42249663e31dd58c4ce1024100eea660e905c086faf3d3ea3a94f2f9716a0fa760c170edc81b64a05cd5289ba8def634500068682dde0600531b41cc3565e9d6ec3b4ca3f3385e85a843e936eb0240667ac979318ddc6d23f81ee20fe4f2777c1570790dd1e8dd9e10c27f3ff306d8e324975a518f9e53918f2890d015e3c37e6a6ee42fd74d07b04b403b89e619210240609d72f663a1c203aedac824d75056b417a026bf01115af27c448cb788845c204dc397021c68286509519ca8088ce6c36772f7d3c35e0fb1d3cc5088029653e9024100b1bde8f7c203566e12f11e23319aaf9cd671e25579a22d6d153eeec123b5ffbe7fd6ae6a0630ef956640805b9231d9b5da97a0d1d83b55374c22885ebff7229f]\n[sha = SHA-224]\n\n# tcId = 41\nct = 99a2a8d32a71ab35f309c69848a6afe8e18d0aa42a370c8b81d017b5624a2d7cb3d83b4c3bb24d0a7514e2a2e23ed86e891a033c070e73f3275f11e066f2f2ec2677959a8977b370d92cd310c60f69d4770e7a49009a77c387fefda4a64cad6742106327c691f0bd1e23ecbce49cbfa12884cab399a770e3ba66582205fc63aa\nlabel = \nmsg = \nresult = acceptable\nflags = SmallModulus\n\n# tcId = 42\nct = 23acf5996c85d6ba07eccd3de623ccd6d5644f3ceb04e95201582c2d1520637136fd7a91ccf1daa33f4453d55714407b0d05e8c2b38e1fba138529157600acda5569da0b7c0caca62745730b6cf18f2dfe2128e66b058ea39fec795086c332a6a104dd6bf06ba2ac563e5ce054f77705b686fde8b214002f6c410b472fb353bc\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 43\nct = 9ff8588184c8759cd8f8197309a66570f8437e03aeeef81adb91fb6def5a0a5b6f23f196c3f4a1c0aa48d3f976c61b71c0f74aab918da212c59500bed981ab388c2f1cb0f175c66f3add89ae01540273f9a7ea910bdba6d9bf3170f150a68fe904d4e67092e14b2b676b1fac5f728d54c01c90107dc5166d0ccaa2c790eb8dca\nlabel = \nmsg = 54657374\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 44\nct = 683b389b6cb05cc276047fd6a454235c0818a02f77184cc026e30f66515983fabc2e98079cd6e331d8a2102c655189c0a862f4a80130f0e399e6e933d13ff1b506143253eeb8ddae9909bf3ac6b3b365b3c1bab1d548f1deed484f93a3ea852baef6ce4c14b9a8efb879b8fc17802d6436bddefc3f91edc5f1ae1b9e01dbbe26\nlabel = \nmsg = 313233343030\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 45\nct = 55758d7638d655cd0aea24116843c66b4a6e534812946b540af63e0ce9a1f9a912609213fc098f17fd4ef263a7ab5a8654a2808c89d09a14ba77c0b24a8bf4b364887a175700e08c3465df91dc40e8db95ac7eb7b78eb04a1b45006d88f273ca14ec308262930e677b5a261f2a19592979d7620f97e0e0218007587cb2104ad3\nlabel = \nmsg = 4d657373616765\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 46\nct = cd33e6154ddce74a9b42009c86063de67d42594ce5274bc1e9a832ef5684c82fca8a9fd198a41bf17d9142731658068d1ffc94143bb4c75874759b0818b95ccad1cb50fbf34e88bc27bf39a7c4a4eb811b9c507269e50b2ca8dd662c012bd0630df5b4089ba8811b61f83e161483f784a7177ab1e46280c31d5a7e5b24dd60bd\nlabel = \nmsg = 61\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 47\nct = 7d004cc7b6c7ab81ac236de2834ad506e780333f190c4f44022580b700de9038710057f4f8fe94848e619893d6184b75909f223537d5d321d93c8a35a3cacf64268f348652937680031aba141005db666190749ed4d13eaa5067f285ac08098963f6a535716fa80441592b1bed74b29e73a59f69dc3684bfa381dada1f67cf56\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 48\n# Longest valid message size\nct = 22d27445be8274aa9335350cb6db62448886b76a3ac683ba4c3b05f835980f73ad07259fd57efb5497bf5672ef3106fc5920a747057246b580bbfdc22632c20571b334f29c514bfbfc52cffee0c921605c7a6323c3a400474b8c43955ea101a143f3d67eddb02d77973ca3da925d4b0a89a1984e98ff2c117beda678f1ab79ef\nlabel = \nmsg = 78787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = acceptable\nflags = SmallModulus\n\n[d = 50f854da7dec301ab50d81761a575b0436ee7a6445ef359b7bf3ef374ab323883dfcd6e6c2c43fcc1d71d0d6408faf1f5992c69846911fd2a438068fba46fea5c108f95e307fdf3904c1cba6f014c6555a79679b843e5397e2dffc5e349d7b8666bc3c5e411f39f0f2585bc7bda70b84b8f5b08c9260b39d3e8603c88d128fc1]\n[e = 010001]\n[keysize = 1024]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00dfbe6f882c8b0c42c3229f29cd858bead25c213b5c0346c3052f844b045ac792c81c1df5ad6a66e9d4f3f7c11096f069f5fc0d1d7da555c6e685cf672ab2a6599f01605f50c93a91d6882f5884e4cf3e9c41a790b0c44247150777f95acf69312b0ed68f3c82693e6b67f0e1ea5927c0eeab3554c2c157181f4634e77bcb088b]\n[privateKeyPkcs8 = 30820276020100300d06092a864886f70d0101010500048202603082025c02010002818100dfbe6f882c8b0c42c3229f29cd858bead25c213b5c0346c3052f844b045ac792c81c1df5ad6a66e9d4f3f7c11096f069f5fc0d1d7da555c6e685cf672ab2a6599f01605f50c93a91d6882f5884e4cf3e9c41a790b0c44247150777f95acf69312b0ed68f3c82693e6b67f0e1ea5927c0eeab3554c2c157181f4634e77bcb088b020301000102818050f854da7dec301ab50d81761a575b0436ee7a6445ef359b7bf3ef374ab323883dfcd6e6c2c43fcc1d71d0d6408faf1f5992c69846911fd2a438068fba46fea5c108f95e307fdf3904c1cba6f014c6555a79679b843e5397e2dffc5e349d7b8666bc3c5e411f39f0f2585bc7bda70b84b8f5b08c9260b39d3e8603c88d128fc1024100f002a2625626ade6f48c6f981017968124de0e2a8fa38d6bc4853e1bd0b48ac327610f5e566f017bd74bd5134cc9fedc2625f0f7370f42249663e31dd58c4ce1024100eea660e905c086faf3d3ea3a94f2f9716a0fa760c170edc81b64a05cd5289ba8def634500068682dde0600531b41cc3565e9d6ec3b4ca3f3385e85a843e936eb0240667ac979318ddc6d23f81ee20fe4f2777c1570790dd1e8dd9e10c27f3ff306d8e324975a518f9e53918f2890d015e3c37e6a6ee42fd74d07b04b403b89e619210240609d72f663a1c203aedac824d75056b417a026bf01115af27c448cb788845c204dc397021c68286509519ca8088ce6c36772f7d3c35e0fb1d3cc5088029653e9024100b1bde8f7c203566e12f11e23319aaf9cd671e25579a22d6d153eeec123b5ffbe7fd6ae6a0630ef956640805b9231d9b5da97a0d1d83b55374c22885ebff7229f]\n[sha = SHA-224]\n\n# tcId = 49\nct = 64ae68c859b8674d4652ab713e292bc6558d924ef7f2bca085dfee8c6e35ca02f09428372375cd5a557674b10a1256777d897e7b73253cdbd49cb81a69b503ab9d2a144ac96989bc4c6359639dd20776962b345b27e9a9f6659717918e57fe08796a421c036683a57f0cdd6ff12b3c72c3966126cfa28eb8a169c3ba9e895331\nlabel = \nmsg = \nresult = acceptable\nflags = SmallModulus\n\n# tcId = 50\nct = aafb3f33e5a035c28dfe30f5fbf84f0ac6184fbcb3a460bfc540af1fad1691df2f14225019c7aa2967cff67c71c5d478448f662abfbdb55b3cdb3f76231a24b71e7ebde1bffbc85495e21dc54d43755d74185c0cc5468fc08b553809a5a7cfb1efd86fb4ea0471eff49d701d55d49b410ed6e0c2b08194c23a73a825abdb502d\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 51\nct = 2fb3a98351b77e5cb3350eae150450c0dfcfa3919522f103d33731c1ba059c03d7858bff37a94018717366d6c83ee4606e91aa15f58eab29bf411b38e04d5d5e405e88ee1fa18bf42e49091fa0d6b26bee1d1d50503cf1c0ecfdf56db876732d4dbf2b40672663f26c16ceca0cef0b86698ea90fc271c1062fcceec4492a2411\nlabel = \nmsg = 54657374\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 52\nct = 477f589b7a4bb2356ee55eaf742c89fb251d65a8ea8f4781b2873015858ab84dccba4574611ce42b3d404f7f6dd4cd085f13810498e7fa9cb51bc814b8476db790dd4a5768d8653c52f835805b6ef3618e670a3bd2994638c4020c956e63ed1edc6b1d04b2bec25073740fa330f8e2f6e898d1b917de705c90ff448c8dbd6524\nlabel = \nmsg = 313233343030\nresult = acceptable\nflags = Smal", + "lModulus\n\n# tcId = 53\nct = 6e2cdaba72baf64e6285affe5a1ac266faea601fec4d6439946c0a8b87806434b826378994f7c3fda3ddbfee858d20da6db2a4a6a592227d8d2f48a3d6ff6db7107653f9cdc5ee40310c405f06b39035162813083e57c7ef4cb5f4a3559040cd76668b3c874e478e747d5f407b4a095a9b988accea069a856882d49e5b80e33e\nlabel = \nmsg = 4d657373616765\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 54\nct = 8d7d8a23904f5515fd078ee66c95e84ebbcb55abf833b7a65353e989120d8d1c79361670b9c5d3cf4af9d31692d7f1478afc84acac9e12a2ddbc416af9e402cb88c8ceafce75f6a3d7bde03bb29ae444f7904bd2d1e8f615da9c3ff8dba1de2aa89f37ec4ff15a0859b600253d0d6ad28ab735c70d77bff925e4625432e8038c\nlabel = \nmsg = 61\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 55\nct = 32e0b84f96bcbfdd1ffd8385e83e0b8101b89e747ed0660113e352e3e3ad4aa596e68d1d6f233582a1f065c5733799a34ce577abc3c68151d2e4795ef0c5bee4d28df4750c957d0f2ff0eb51a06b85be354e09fcc34fa383fde0cf415ccf183607502a99e3c7983bcfbc66062f6899a70d4ec1e36a744961032bea5bf026aaba\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 56\n# Longest valid message size\nct = 06877383e325671e32c9767941f102178526a260feeb6eb8375486ad868eb32ead8a0f535289810eaafe9525676f5eb9070e1da42cc574153ddbe814eb2ce39afef3e194d53afedf89b465afb31844cbfc1a56b5eb4dab0f93808ac34fe6037d4785f3d52ebad3da1121d2203bb0ac8952567419794d67788c8c039038f28f63\nlabel = \nmsg = 78787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = acceptable\nflags = SmallModulus\n\n[d = 50f854da7dec301ab50d81761a575b0436ee7a6445ef359b7bf3ef374ab323883dfcd6e6c2c43fcc1d71d0d6408faf1f5992c69846911fd2a438068fba46fea5c108f95e307fdf3904c1cba6f014c6555a79679b843e5397e2dffc5e349d7b8666bc3c5e411f39f0f2585bc7bda70b84b8f5b08c9260b39d3e8603c88d128fc1]\n[e = 010001]\n[keysize = 1024]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00dfbe6f882c8b0c42c3229f29cd858bead25c213b5c0346c3052f844b045ac792c81c1df5ad6a66e9d4f3f7c11096f069f5fc0d1d7da555c6e685cf672ab2a6599f01605f50c93a91d6882f5884e4cf3e9c41a790b0c44247150777f95acf69312b0ed68f3c82693e6b67f0e1ea5927c0eeab3554c2c157181f4634e77bcb088b]\n[privateKeyPkcs8 = 30820276020100300d06092a864886f70d0101010500048202603082025c02010002818100dfbe6f882c8b0c42c3229f29cd858bead25c213b5c0346c3052f844b045ac792c81c1df5ad6a66e9d4f3f7c11096f069f5fc0d1d7da555c6e685cf672ab2a6599f01605f50c93a91d6882f5884e4cf3e9c41a790b0c44247150777f95acf69312b0ed68f3c82693e6b67f0e1ea5927c0eeab3554c2c157181f4634e77bcb088b020301000102818050f854da7dec301ab50d81761a575b0436ee7a6445ef359b7bf3ef374ab323883dfcd6e6c2c43fcc1d71d0d6408faf1f5992c69846911fd2a438068fba46fea5c108f95e307fdf3904c1cba6f014c6555a79679b843e5397e2dffc5e349d7b8666bc3c5e411f39f0f2585bc7bda70b84b8f5b08c9260b39d3e8603c88d128fc1024100f002a2625626ade6f48c6f981017968124de0e2a8fa38d6bc4853e1bd0b48ac327610f5e566f017bd74bd5134cc9fedc2625f0f7370f42249663e31dd58c4ce1024100eea660e905c086faf3d3ea3a94f2f9716a0fa760c170edc81b64a05cd5289ba8def634500068682dde0600531b41cc3565e9d6ec3b4ca3f3385e85a843e936eb0240667ac979318ddc6d23f81ee20fe4f2777c1570790dd1e8dd9e10c27f3ff306d8e324975a518f9e53918f2890d015e3c37e6a6ee42fd74d07b04b403b89e619210240609d72f663a1c203aedac824d75056b417a026bf01115af27c448cb788845c204dc397021c68286509519ca8088ce6c36772f7d3c35e0fb1d3cc5088029653e9024100b1bde8f7c203566e12f11e23319aaf9cd671e25579a22d6d153eeec123b5ffbe7fd6ae6a0630ef956640805b9231d9b5da97a0d1d83b55374c22885ebff7229f]\n[sha = SHA-224]\n\n# tcId = 57\nct = c4d8bb8b8a9358d600e5e1634d1f8174b7be543b4bd5402ade0ac1813089ef82985c283c68c66f98490b9464e445eaa222c2d4ec07d0bd9e182a260ef6b49eb05c9bb038169fe28018c5056b20ef575804521dd7cabb7dc4ed63c5e018da5382630011ac1ce7bdf4787f117394f2a2abb85438cf1511e86dfbd7cabc02d9df18\nlabel = \nmsg = \nresult = acceptable\nflags = SmallModulus\n\n# tcId = 58\nct = 78ef6374ff50595300364ccf4eb4b7ba972fc86742029b7d5327051921f94841a1b2685681ca68da2f0c41eb73154ca74ab55106df2bc0a32c9053b65b342658ef89d854f366e7988b1036b00df0d6eab1df198963e916ac523432dc1dab413ba2110f41693e5f90d3b8e14126cea296389c287d3f4542b6f62b4b848228efb4\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 59\nct = 54b3f086a9f730edb920433318fc499a47df9fd101aa4af32313fe2dc48c700e951539f295b6428168c0ead6edf070327f6528d408bb503bd86b046319c871f09964b475232131d8ac157ec3e4efa985efe5e8b43cec75d04e9edd4de6648679bbc68baf8f06450a4cafd7b33d71d519b75484093043bc39ab983e160fa4f0c0\nlabel = \nmsg = 54657374\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 60\nct = 453a83b439108341f4f6342c093ebafe2fef92135a9650d43469e6447ca129aef30c8a3f972e20caaf4242abfb158aab4e963a4b3ebbf0fad26df885f119bf7fb156c708699cee5bf260d4f327c6dca53fe026eb146a6d4abe038fc477f38b7e0b4d5042eea428f4732dc8702f03335c5065a50b0c20d2c99a42c2373f7316ac\nlabel = \nmsg = 313233343030\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 61\nct = 5f349d65e939dace65264ee3ca5926a3c7e341171a304a15718b0fbb042d09057621caf214afa24acc6a85c2d726767e4e255a8741e30fc5973ffce70220468c4d660464562dda8275633cdc05d7020efd956d3fb35e21126793433e299e9675eabfcce764f393dac79c4d981973bbde322533d34da5c20faf80666c1f472a2c\nlabel = \nmsg = 4d657373616765\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 62\nct = 3cbbaf8cc2acf808251f794eda8e72fd0eeedb16ff14052787bb2e4a6a313ccdea67f76cedb5f5fbbfe02adf5715ba8f0f0230a25a4df1429a7266f97e76fa10b8bdb091b0f2cd8f6602e9c9b18ae8a4921c5b9d430821513960b96ac97ea0b9d8929840215e2bbc81f399b94b9525d828e962dfd10ce0f23cfe1cfaf868d7ae\nlabel = \nmsg = 61\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 63\nct = be0e41dcb65c9127d6b6882111704074070a6998966279eced9da148e8d5612b80ae7f6d0dc1dcfb28279e98d00ff13db27d739b38c6e61c6a295f925a6862ef64301ca92ff16d8bd5592739b0f5e3e2a93533bd324fa26dac25e7eace89f71dc1e995776bcf1720713221e6bb6dfd32b0d044682742aa8bd3fb38d7af0dd5a3\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 64\n# Longest valid message size\nct = 3af9e85cd302e65a07498047b3e1107f1e59c5bd319f6004784e57d12f637425126fa6de39cccf03d5be7e76384f410122a1196db3073ce8f4b6e11b0a610b3ecc650ee0196c7eb96190faf031a484dc82e8def983a63e7e7b610303b580222c871432d9c5a727bf6997176bbee425a313504a7d794b5942d510349f172cf8b6\nlabel = \nmsg = 78787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = acceptable\nflags = SmallModulus\n\n[d = 50f854da7dec301ab50d81761a575b0436ee7a6445ef359b7bf3ef374ab323883dfcd6e6c2c43fcc1d71d0d6408faf1f5992c69846911fd2a438068fba46fea5c108f95e307fdf3904c1cba6f014c6555a79679b843e5397e2dffc5e349d7b8666bc3c5e411f39f0f2585bc7bda70b84b8f5b08c9260b39d3e8603c88d128fc1]\n[e = 010001]\n[keysize = 1024]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00dfbe6f882c8b0c42c3229f29cd858bead25c213b5c0346c3052f844b045ac792c81c1df5ad6a66e9d4f3f7c11096f069f5fc0d1d7da555c6e685cf672ab2a6599f01605f50c93a91d6882f5884e4cf3e9c41a790b0c44247150777f95acf69312b0ed68f3c82693e6b67f0e1ea5927c0eeab3554c2c157181f4634e77bcb088b]\n[privateKeyPkcs8 = 30820276020100300d06092a864886f70d0101010500048202603082025c02010002818100dfbe6f882c8b0c42c3229f29cd858bead25c213b5c0346c3052f844b045ac792c81c1df5ad6a66e9d4f3f7c11096f069f5fc0d1d7da555c6e685cf672ab2a6599f01605f50c93a91d6882f5884e4cf3e9c41a790b0c44247150777f95acf69312b0ed68f3c82693e6b67f0e1ea5927c0eeab3554c2c157181f4634e77bcb088b020301000102818050f854da7dec301ab50d81761a575b0436ee7a6445ef359b7bf3ef374ab323883dfcd6e6c2c43fcc1d71d0d6408faf1f5992c69846911fd2a438068fba46fea5c108f95e307fdf3904c1cba6f014c6555a79679b843e5397e2dffc5e349d7b8666bc3c5e411f39f0f2585bc7bda70b84b8f5b08c9260b39d3e8603c88d128fc1024100f002a2625626ade6f48c6f981017968124de0e2a8fa38d6bc4853e1bd0b48ac327610f5e566f017bd74bd5134cc9fedc2625f0f7370f42249663e31dd58c4ce1024100eea660e905c086faf3d3ea3a94f2f9716a0fa760c170edc81b64a05cd5289ba8def634500068682dde0600531b41cc3565e9d6ec3b4ca3f3385e85a843e936eb0240667ac979318ddc6d23f81ee20fe4f2777c1570790dd1e8dd9e10c27f3ff306d8e324975a518f9e53918f2890d015e3c37e6a6ee42fd74d07b04b403b89e619210240609d72f663a1c203aedac824d75056b417a026bf01115af27c448cb788845c204dc397021c68286509519ca8088ce6c36772f7d3c35e0fb1d3cc5088029653e90", + "24100b1bde8f7c203566e12f11e23319aaf9cd671e25579a22d6d153eeec123b5ffbe7fd6ae6a0630ef956640805b9231d9b5da97a0d1d83b55374c22885ebff7229f]\n[sha = SHA-224]\n\n# tcId = 65\nct = d53853f68ad01300b1d29c8f7c102145609f6f758bef38238880078d9d773be1f6a19b0db920fd905914dd68248b9421c9f407ea1a77770aa8db32320bdb9628c786aaa1d65e5383d26bea31952e07a0fdb866b745530c35f65aa805244b5ea3c0f968367672d8ed8f8370621ab69831f2a0a22d1950675daf6bb8859aa40734\nlabel = \nmsg = \nresult = acceptable\nflags = SmallModulus\n\n# tcId = 66\nct = 48aa7fe344a2b75a75b8cf3ee13cc30a87945b6cf9f3e323fe60fa37752263c2ed1040baf1a235e0547bd61887a444c209170d8c5eb977a1b44e3a6bded27c00a5294b46e637b645dea56cb375d24b9edadb5f436b7ca378b6c2321f4632a609bda5cb4c327091445954a990e781471081e86372ede792b869de9eb82fdefb90\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 67\nct = 32ea29cd66a2a50212fc9c9bd13a1fc261f05e37804e2481bd547ee3f4f6597f5e9cc17c11b50321263939b624adab38898bb1b44ff19f32e876d2028735202c887183e34eb161f13b0fb62e8cd10538c3bca2b1a0148c953d532427a3bd1ecd76280668a2f09d93ffa9e6adf30e1960be466e251913bd38f6706ad57246b422\nlabel = \nmsg = 54657374\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 68\nct = 35cff63d5c2db065620f6ba2dfb39d07ed155162250112029d510d2f096292568e0a9b2cb4597fdf6ec7294613a102bfcba488a9417e2ee45e089eb71e45f75bea2ce4798e8a384f44a126736764d70b2675c1d45cf129eb1aeca05f7bc2b5fca6a9765c4f63e26348e913dccde4fbfed325cb020fc84c5b4cb45de1c4351600\nlabel = \nmsg = 313233343030\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 69\nct = c682133eed3e325d0eb6c55f249e2c78a4a43b21efcfe19f901b8b7807772e2deb80bb1bc836afdd3e7aabe88f77ea9021135bc6efd850bcab92083276b6b7bcfe6ac232716e0c5fa79d20c4bd306c600bf7d44ed7734da3281b42d9cf81b81f5e9b222f2a198ffec4bb83de3a51a27ca3fb29506950aa71cf4cf0f4675ef5c9\nlabel = \nmsg = 4d657373616765\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 70\nct = 89e7d862b37ca433118cda25b999e95fb3a750b79393fad002dc9a6f7329ccc513f1dc578bbdc57cd93949c26cbf988f0800564a548464dbb5cc1b795570970ec5f1d872076e3f1c123e12a9e3423dd0bda8de394fee63d5b8bce32094e9e371dc21f661196122db75f47bd1611d5149427371b9dfe5c50f064a372d2de9cd1e\nlabel = \nmsg = 61\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 71\nct = 9d39459233b871241caf47591ca8f2ae575125b8a8654aa569b794c8690c9639c89aa0ad584e19fc97a5b55caf3c46d41b2a9c944306dd9deb617977828f94dd092f5b5d98c73a4387949df421f7dd5f6d6050a9a2ee6178145e6656cb29428029a775508eb7e64ba4744cdb379a5120f4094d242758778c1a46f8aceda02a6d\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 72\n# Longest valid message size\nct = 14a354f43f6e399d9114bc4637aa09a54e3824a6db033435768000c63c2780d693b382650832c255ae300cabaf55b3d7bb1ca1e4af64473d4fc44966264a64247be8147bb76e609037e9311e98eb29fec15e5c735ffc037fc102372b1367ac81fb90ec5d993185712321aa06f1cc807269f0a8ae4d5b605cd2e2207df11e89ea\nlabel = \nmsg = 78787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = acceptable\nflags = SmallModulus\n\n[d = 50f854da7dec301ab50d81761a575b0436ee7a6445ef359b7bf3ef374ab323883dfcd6e6c2c43fcc1d71d0d6408faf1f5992c69846911fd2a438068fba46fea5c108f95e307fdf3904c1cba6f014c6555a79679b843e5397e2dffc5e349d7b8666bc3c5e411f39f0f2585bc7bda70b84b8f5b08c9260b39d3e8603c88d128fc1]\n[e = 010001]\n[keysize = 1024]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00dfbe6f882c8b0c42c3229f29cd858bead25c213b5c0346c3052f844b045ac792c81c1df5ad6a66e9d4f3f7c11096f069f5fc0d1d7da555c6e685cf672ab2a6599f01605f50c93a91d6882f5884e4cf3e9c41a790b0c44247150777f95acf69312b0ed68f3c82693e6b67f0e1ea5927c0eeab3554c2c157181f4634e77bcb088b]\n[privateKeyPkcs8 = 30820276020100300d06092a864886f70d0101010500048202603082025c02010002818100dfbe6f882c8b0c42c3229f29cd858bead25c213b5c0346c3052f844b045ac792c81c1df5ad6a66e9d4f3f7c11096f069f5fc0d1d7da555c6e685cf672ab2a6599f01605f50c93a91d6882f5884e4cf3e9c41a790b0c44247150777f95acf69312b0ed68f3c82693e6b67f0e1ea5927c0eeab3554c2c157181f4634e77bcb088b020301000102818050f854da7dec301ab50d81761a575b0436ee7a6445ef359b7bf3ef374ab323883dfcd6e6c2c43fcc1d71d0d6408faf1f5992c69846911fd2a438068fba46fea5c108f95e307fdf3904c1cba6f014c6555a79679b843e5397e2dffc5e349d7b8666bc3c5e411f39f0f2585bc7bda70b84b8f5b08c9260b39d3e8603c88d128fc1024100f002a2625626ade6f48c6f981017968124de0e2a8fa38d6bc4853e1bd0b48ac327610f5e566f017bd74bd5134cc9fedc2625f0f7370f42249663e31dd58c4ce1024100eea660e905c086faf3d3ea3a94f2f9716a0fa760c170edc81b64a05cd5289ba8def634500068682dde0600531b41cc3565e9d6ec3b4ca3f3385e85a843e936eb0240667ac979318ddc6d23f81ee20fe4f2777c1570790dd1e8dd9e10c27f3ff306d8e324975a518f9e53918f2890d015e3c37e6a6ee42fd74d07b04b403b89e619210240609d72f663a1c203aedac824d75056b417a026bf01115af27c448cb788845c204dc397021c68286509519ca8088ce6c36772f7d3c35e0fb1d3cc5088029653e9024100b1bde8f7c203566e12f11e23319aaf9cd671e25579a22d6d153eeec123b5ffbe7fd6ae6a0630ef956640805b9231d9b5da97a0d1d83b55374c22885ebff7229f]\n[sha = SHA-224]\n\n# tcId = 73\nct = 0e4226ece9adbddaa09056f5da185856a401bdd4fd8425bced2b37014c9e215da09f143b069b936ef1e3a7411185ab9636746f12fc11f4023a4fccbb1c82ee5385c0dae4b005bb61b890cdebad062fcbe12b1920da229716c2a54f419e9ff9086bffc93b5363ea93a6e9480ed2f78c7d69a2162bb7a2d844341c066f53e69e8f\nlabel = \nmsg = \nresult = acceptable\nflags = SmallModulus\n\n# tcId = 74\nct = 3ee8e9b4ebad22e8bec3de03970ccd442ca46cbf5a99f5c63f418516ce7e4b5f626d5d9d08f154f2a12363a984ab93f6351c3b6ebcb47ba28af954bd6da74bf9cda21f1bca74f51805d9d500bffafb19b3565e42d56a2585a4039e29fa85667df4b930777834e2bcdcc13e60baff72c1286e46847ae371bff6dcd5df519ccbe7\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 75\nct = 21397ce252c8699bfc375e19cd052dade3ef72243c80311b7626a95ec62eefe32aa3151687a1fff383f28f1324f85c062dc5c7b28314783ff2c41d59c554b2cb3a271b58d09b8b610e8fe0f48b55f0762054b35e1f11e853a901bb47e53f2de3c721b022eb2c96a662e6aa0117d007488cd36779d26ad69c3d695e8391c0e6d6\nlabel = \nmsg = 54657374\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 76\nct = 79bed7cdc2f66c72a5d35c5954798fb20b3b19411ec7a279d1b66cd993f9c82ea0c14b62cc27e190794d094051dfd907b5e7a3a2ac4a2039cef47c2a22e683722afc240a0dbd0f153290d109cffd2338ee6c7ef6a28de84e39a65a7ecd0e5675e2ea50f244da96a32cd6896a7d040431b292d475594c8239860414dd876f3683\nlabel = \nmsg = 313233343030\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 77\nct = 8d08c17c1df8d53c8075997f94aa6b6d129ccf566f37e04b1cbffc473f4ee268cc8b2eab2f303271b15276eee125c98969acadb185e41818a00d2ae0b8eb95fd7c0200f7ef10b402355ced629d465d1a3dcb0a6f032f09955165edc27dde9d8cddee0339775fa3f7d38fb093518a7f14dae7616575d5f06ab380927679a426c5\nlabel = \nmsg = 4d657373616765\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 78\nct = 45dc6e5a80c303a56f7c7bdaed88241801ab974046e13c997a4bb542ccc6ded9bb2b70a9f8c84e4b9dcf15146aa92160e7482589cfa316afab76694e492f14b8b46532e3c353107da9b87d2b646d52f0fc6a07505e5637054ebe92628449609d3891d09911c75b3eded5a1607cc8145e467804ca3c266cfa692b4c9f1d3f8463\nlabel = \nmsg = 61\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 79\nct = 439745a4897cb61ac3503e559f9e494d7088f0214afbde349ddddf79839a3ae8453af0e9b3e9b36fbbe8ccc3715efff3a6c5914c066b5d0f5a5285073893f61e18a83fad8ff0609ec5135e5f610dabb129a843bf598f4d404ae1af751425897b98b11fb5db8005c5bcb1bbad46ae2c375a3dcf08d933bff69b070aa94382e146\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 80\n# Longest valid message size\nct = d2fe011d31c0936ccb82fdcaef8cb3945919702adf2faa7b52ede32e84a98d2f7da5be6364b991581b959babfec80b6409a97c2b92869c9dc641732c0ea1358f860c7453ea9c556d2be32dedef833b44e1846b3cf5ef5779fba906945452441d6a1a669c9f71fc575f028a7dec6ba97e6a232a3a9bde2742251d75bf32323404\nlabel = \nmsg = 78787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = acceptable\nflags = SmallModulus\n\n[d = 008505d47c271560aaf6cf65da6d5594a69c86f01622ea194071606fde369b65f5a751bce06052409c3a04c6a8b2be935bc0d084829dea8ea0998398fd2a0b0719ac1a1ae2d133fcc72d9df27b377b9a0109ef1a564e92b66963356b8da48f88fcdbc20658f74b542", + "582925ec5cd03fb5e9a527c670465f792a69c1f6c7c5e1841]\n[e = 010001]\n[keysize = 1024]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00ac9048a7a4f560af91b4fcaf62a14595cb9ca9ec12000fc845e48572113cab2890adb011a919575a40760d1f23fe92509c8a5810b6d05990b909dd0f4c6014f2b31b6abd805bace99816e2eda41fd7b95405db7c5c8f4cf6babb14f550d5d0dd5179b54951fff6aa9686f30f478db649b7c7044cc202dccad00343468eaacfbf]\n[privateKeyPkcs8 = 30820276020100300d06092a864886f70d0101010500048202603082025c02010002818100ac9048a7a4f560af91b4fcaf62a14595cb9ca9ec12000fc845e48572113cab2890adb011a919575a40760d1f23fe92509c8a5810b6d05990b909dd0f4c6014f2b31b6abd805bace99816e2eda41fd7b95405db7c5c8f4cf6babb14f550d5d0dd5179b54951fff6aa9686f30f478db649b7c7044cc202dccad00343468eaacfbf0203010001028181008505d47c271560aaf6cf65da6d5594a69c86f01622ea194071606fde369b65f5a751bce06052409c3a04c6a8b2be935bc0d084829dea8ea0998398fd2a0b0719ac1a1ae2d133fcc72d9df27b377b9a0109ef1a564e92b66963356b8da48f88fcdbc20658f74b542582925ec5cd03fb5e9a527c670465f792a69c1f6c7c5e1841024100d397dcfab4919db23bb6b88c4511516f6135e1118277e496130f0cab3a75661010cc98ec8f40cdb0c1ab612c03bbe3b023d891f46185788fb114437c8a9ae71d024100d0c7805159509ddad70f35b9a76c7c2bd95a844d36b76d96138cfc7a2a55f88072e8b10ac37463caf9bf8d1014c93a001214d7ce230c8332fb58dadb05d52f8b0240762d3c4b7dac5292284dbe3701a051864e99e4117e77ede06fd698f1cd5da25a58b79cb58ab0dbf0dbca17249915486ea9269d260b8d9b2f4dec8e60b19d2075024062a4f06eff4944dc6262905ae0cd343a2f9f42058d85cb646e665de086e249e0beea4cc42e276f03374f9721f30044c445c6cd545b610d186883ca1c543c2f1302403cfcf044035c1854475e1dba480ac50d2a059f32d18e819c96a3199b1e3855a653ec0e5577e4d7677d6e0b7a55fc418b13202ee19430228c4bf9d28af8851c9b]\n[sha = SHA-256]\n\n# tcId = 81\nct = 6fd169df69cec8b98a792d6ee032c88de609819167f7f02358c701797d3104ec7bcbaa3e8c0efc7998a717d4638cc0eb3aa1a3eb9a272232f102b90e042a2f9fcf64f16c47f6a095355e646d52c6733310361a50b1c6d6bca24207679e0e6de651581f2513d25dabd981356ffe7bef6107dec4758ba9649d9dc510fd96a8ca0b\nlabel = \nmsg = \nresult = acceptable\nflags = SmallModulus\n\n# tcId = 82\nct = 151cdaad2de0fc0ade12bbfb2a9fd4532b153f4e60b0c2a5c91fa90903616e3a78935b1919e1fde04cb995cfa999037a995ee8d65a651c4e436e8a0214c7c1c4fa7c5a0148b7f24b22402ee82fcff5e7eeaaf9a70bb1294707ed0f7e93267c599db58bc2c3840f7f4fdf9d83f5932dccb9cae804649a759f55b2305ec4edffa7\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 83\nct = 480ee83b1f3c555bc26f8d0e3861d72814de3400c82113c768b550512c285e836913fa4aea242df12264c0887c55376acf74e150c20650cff0f876a7e439e670b26a88037660e1ae4fa5c2e0a8ede2c616e40f88480e8a7fe66f08018a0d45ed0b51433e2e1c6f7bd172a4f432a2ac69da399b2e118d999c010e348214c67922\nlabel = \nmsg = 54657374\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 84\nct = 915b41e91450588b57e07486ec0fb2366d9437366d429a06e7c9ab39d8a6838d5b78d724262215141bd90dedd8118060ce94bc46f938b9a9d89b8d13010ab20c45ae8033c7a0f826e237940274731ef5907484933cda54528462cfe06cb4835f26b5cfc13aff09e57474c2a6dd928793a0e094db4de3762bd562f23843aad284\nlabel = \nmsg = 313233343030\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 85\nct = 9c5287561023b5a32d1c177334aa0b73a84f836c29c46b24bf013d766ba81ec2ab83797da73415ea9eacaa15aeb56c2c5de4df4c00795a53917c398a97ff110477788924686a2184cc2964c05eef76b66c3a4c7feaa1de744a872eadb206669de8af580b0e37858b8d052d9613bd436014403e5e3f1f8cb082390cbda3fa3baf\nlabel = \nmsg = 4d657373616765\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 86\nct = 8ddd832fb4aec7a40501e4f89b54c428af5981ca9fdc46fd52b58332de64300ac65f342b423b76e33bb93d392b60cda5ba5a096dc177d54587b2b4b183cbef6431d1e8e34971695a5e26f40a873b1b6b90b138f470736198acc848118d3776748118121a482e5a69e32367a137d5cd1c52f34e31139cd46ec28790a49b35dc3f\nlabel = \nmsg = 61\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 87\nct = 61cc5eeb8fd11f7b707dcd651cbee5e8c37d75e7570966eca6ab890195fbb751e94b7b9d0276f478135f364500190a137c313a79a4afa6d75e7a506dd1856b5d53c5cbcd695133c9104ea52b6b25457d005540b1f07537221147e29e6e9eebcea9357ac21f822bcb39c9855cb809e562ba2cad89f03cc606b578b138730c9571\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 88\n# Longest valid message size\nct = 34a190ee382f167897591047b81c12252a32b1d075be1f4e7adef600aba6810067923475002000c5a237dd3f47fcc1aa5d8a47010531537ad49ad2e93022a457a9e264a67071634c032981c6d16b8125e5fd03a71e65430010dad9ab623c8012dc34e0cd2788f9b4b0fc4053b321a6d0f18b583d8e67df19c11324e89aa80304\nlabel = \nmsg = 7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = acceptable\nflags = SmallModulus\n\n[d = 008505d47c271560aaf6cf65da6d5594a69c86f01622ea194071606fde369b65f5a751bce06052409c3a04c6a8b2be935bc0d084829dea8ea0998398fd2a0b0719ac1a1ae2d133fcc72d9df27b377b9a0109ef1a564e92b66963356b8da48f88fcdbc20658f74b542582925ec5cd03fb5e9a527c670465f792a69c1f6c7c5e1841]\n[e = 010001]\n[keysize = 1024]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00ac9048a7a4f560af91b4fcaf62a14595cb9ca9ec12000fc845e48572113cab2890adb011a919575a40760d1f23fe92509c8a5810b6d05990b909dd0f4c6014f2b31b6abd805bace99816e2eda41fd7b95405db7c5c8f4cf6babb14f550d5d0dd5179b54951fff6aa9686f30f478db649b7c7044cc202dccad00343468eaacfbf]\n[privateKeyPkcs8 = 30820276020100300d06092a864886f70d0101010500048202603082025c02010002818100ac9048a7a4f560af91b4fcaf62a14595cb9ca9ec12000fc845e48572113cab2890adb011a919575a40760d1f23fe92509c8a5810b6d05990b909dd0f4c6014f2b31b6abd805bace99816e2eda41fd7b95405db7c5c8f4cf6babb14f550d5d0dd5179b54951fff6aa9686f30f478db649b7c7044cc202dccad00343468eaacfbf0203010001028181008505d47c271560aaf6cf65da6d5594a69c86f01622ea194071606fde369b65f5a751bce06052409c3a04c6a8b2be935bc0d084829dea8ea0998398fd2a0b0719ac1a1ae2d133fcc72d9df27b377b9a0109ef1a564e92b66963356b8da48f88fcdbc20658f74b542582925ec5cd03fb5e9a527c670465f792a69c1f6c7c5e1841024100d397dcfab4919db23bb6b88c4511516f6135e1118277e496130f0cab3a75661010cc98ec8f40cdb0c1ab612c03bbe3b023d891f46185788fb114437c8a9ae71d024100d0c7805159509ddad70f35b9a76c7c2bd95a844d36b76d96138cfc7a2a55f88072e8b10ac37463caf9bf8d1014c93a001214d7ce230c8332fb58dadb05d52f8b0240762d3c4b7dac5292284dbe3701a051864e99e4117e77ede06fd698f1cd5da25a58b79cb58ab0dbf0dbca17249915486ea9269d260b8d9b2f4dec8e60b19d2075024062a4f06eff4944dc6262905ae0cd343a2f9f42058d85cb646e665de086e249e0beea4cc42e276f03374f9721f30044c445c6cd545b610d186883ca1c543c2f1302403cfcf044035c1854475e1dba480ac50d2a059f32d18e819c96a3199b1e3855a653ec0e5577e4d7677d6e0b7a55fc418b13202ee19430228c4bf9d28af8851c9b]\n[sha = SHA-256]\n\n# tcId = 89\nct = 073f0b8ca9c1f5581c1c19b6802b2b030c3c41952e495c875f8855916c219c8251a6cc141e734b933581741e3a7770d6e702032ba4ad4afb41029c02ce487a22fb120d928d847d1f68c34b464cbb0087ae212997a1fbebcf10b13f0898d1528df4693561001034b74bf7202a32068e8c1d3aa9f9f3dccc3f440c978daf3402d4\nlabel = \nmsg = \nresult = acceptable\nflags = SmallModulus\n\n# tcId = 90\nct = 02c2cb0abeafa0fadea48934bda32cdf8218cdcafc4e99e11b61adf913ac97f29eedd83a0937b4001f66f08f6b6652b7d95b778ee9c57e6b8167dbe7f44abe35673f8f8080dc0cd2a92f63c883ab60d4e4ff4048ded1a780d9a3358ae4b5c76ab632cda8dfa570d079d2557cb22b87c0f9fd6ecd225fc278612ad736a949fc56\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 91\nct = 79330a609ca265ad8427e166ffc6bcc25a925a0d72d886de5ef708837ab7b415f3b44afa70052a662de27f3a6e299c55da19d8d88e7e269396111170dfad3844aff1864a8a37f0ee3b0d6894e29815174206bb515cbb15d59777da513d649b730c963507a56d118f894c8fa97d5ef9b70ef0c38a9c27ced5d305f0e7d48f65a4\nlabel = \nmsg = 54657374\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 92\nct = 9a912c668fcce16859f28db4871ffa7140e4e9982e18b49a1f14c7429d62f9491bf4de015247fb13bcc0e7936e2958ffa3fd0c9e3ebd553b34da98cffd799f49671096a9bc40affe5dde88aef7c0ac03ef8b8b5eae4ee17d47ad19eb69df7c811608466fdf9742ac64489d75615d9c66b9ba93e8d97256fc3b22786556ef90ae\nlabel = \nmsg = 313233343030\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 93\nct = 2e46fd4a3f64ae1fe16b3bd43e5e74301f0914394a47566096c001d649158d2a53726662af9f67cd344788d60ed8badd6dafbb67893412dff7c88c5afaf7a893a78557a7eb0d6076322e27ed733733772d4dae077ed1496b48ead1b35160bbaa36bc551f1597538910748c60d468186c306acbd948aa9d77e1830f6e2c4c0925\nl", + "abel = \nmsg = 4d657373616765\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 94\nct = 1d09b8f444b13a4584963effb7bd2efe8ed9098984fe9c2598122e9e54302216b2aa5608765a6c3956af8f9c7bc95c4da71c3f285c5f528de53739d21271412a4f6bffe50349baa0f2342e0ca9507fa5fd5ddf3f7659a9a58ac74a04672ef6f398737e8c40ac9f2d7f67f7f3589b003cc3d0b569f1d822c7f4a4967b5efb881e\nlabel = \nmsg = 61\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 95\nct = 4b4caf2b33a71fbefff56217221445a8123330c4a09e6aa92f4807ed1dd192edcdd8bfc9cf58c34f67430555ef0a8910fe16601ea0e8f086440a03ed81f96a9ddb308557aa3187a5e586ce2a245da016ad967cdf1ab9a7b0bfc4f8101b4e0500c80c20c992e0a993109d9815b93a5a5084ed31a751871b57ff12551b39f89e57\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 96\n# Longest valid message size\nct = 8fc1d996046bb3389ca00f053f6b8c2df6f5c9cf474d3757e6f57b073e1d2c5e046bdfddb3849ef2929de12d96ded19d1f7213043c1a70c0a5ea6c0f7b23a2919221584120cf7276bd87b4084c3433367b031c5825b330c47bc0aa27a22039ca3704f4baa1b82e37de38d5129f8ff858a8c366debd79ea30980093c353ed756b\nlabel = \nmsg = 7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = acceptable\nflags = SmallModulus\n\n[d = 008505d47c271560aaf6cf65da6d5594a69c86f01622ea194071606fde369b65f5a751bce06052409c3a04c6a8b2be935bc0d084829dea8ea0998398fd2a0b0719ac1a1ae2d133fcc72d9df27b377b9a0109ef1a564e92b66963356b8da48f88fcdbc20658f74b542582925ec5cd03fb5e9a527c670465f792a69c1f6c7c5e1841]\n[e = 010001]\n[keysize = 1024]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00ac9048a7a4f560af91b4fcaf62a14595cb9ca9ec12000fc845e48572113cab2890adb011a919575a40760d1f23fe92509c8a5810b6d05990b909dd0f4c6014f2b31b6abd805bace99816e2eda41fd7b95405db7c5c8f4cf6babb14f550d5d0dd5179b54951fff6aa9686f30f478db649b7c7044cc202dccad00343468eaacfbf]\n[privateKeyPkcs8 = 30820276020100300d06092a864886f70d0101010500048202603082025c02010002818100ac9048a7a4f560af91b4fcaf62a14595cb9ca9ec12000fc845e48572113cab2890adb011a919575a40760d1f23fe92509c8a5810b6d05990b909dd0f4c6014f2b31b6abd805bace99816e2eda41fd7b95405db7c5c8f4cf6babb14f550d5d0dd5179b54951fff6aa9686f30f478db649b7c7044cc202dccad00343468eaacfbf0203010001028181008505d47c271560aaf6cf65da6d5594a69c86f01622ea194071606fde369b65f5a751bce06052409c3a04c6a8b2be935bc0d084829dea8ea0998398fd2a0b0719ac1a1ae2d133fcc72d9df27b377b9a0109ef1a564e92b66963356b8da48f88fcdbc20658f74b542582925ec5cd03fb5e9a527c670465f792a69c1f6c7c5e1841024100d397dcfab4919db23bb6b88c4511516f6135e1118277e496130f0cab3a75661010cc98ec8f40cdb0c1ab612c03bbe3b023d891f46185788fb114437c8a9ae71d024100d0c7805159509ddad70f35b9a76c7c2bd95a844d36b76d96138cfc7a2a55f88072e8b10ac37463caf9bf8d1014c93a001214d7ce230c8332fb58dadb05d52f8b0240762d3c4b7dac5292284dbe3701a051864e99e4117e77ede06fd698f1cd5da25a58b79cb58ab0dbf0dbca17249915486ea9269d260b8d9b2f4dec8e60b19d2075024062a4f06eff4944dc6262905ae0cd343a2f9f42058d85cb646e665de086e249e0beea4cc42e276f03374f9721f30044c445c6cd545b610d186883ca1c543c2f1302403cfcf044035c1854475e1dba480ac50d2a059f32d18e819c96a3199b1e3855a653ec0e5577e4d7677d6e0b7a55fc418b13202ee19430228c4bf9d28af8851c9b]\n[sha = SHA-256]\n\n# tcId = 97\nct = 2e8b47e3822a5d58fb679f988bbc5f38e53f52b5a44ddae756c1342f4fc68e1bc8da9d58111257dbe26608f9971dfdaee1fb4c4052d3f0ae811da0298660ebd48559746dec808c4925251c20a0982982be224095c31f75752ad081ca4a033b720317783f01704a11c53abb2c16a3829d037c73abebaba0125de9a60d78e1daa1\nlabel = \nmsg = \nresult = acceptable\nflags = SmallModulus\n\n# tcId = 98\nct = 63cd11010c9a11ee3125f5a4054a2a6dcfe6446fbded2040ee68251349201a3434e74f02bd861aeb4630251e7dcb70131030136294315141d4cd69601bfa3f8de55b6282e5bf1fea46567f8bdd5604336e1b79220bcbef65d7dff4599f5fef395938246993a473ffb4f2aab6dfe885b47e6b66bfd9d316bc779414d84a60bed7\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 99\nct = 3ff956c5010eedb64ddfb31981e7e79a227485bddc7d1d6cb19947da96c5b71cff518fdc8c557b1342999cc8970f393e3e7a1cce6d8778c39208f437d980d897007503136369b37a7ec44a3301de74d7bbf8ffe717738143e1e937f19b9b154f16bfea1b03746374369b26c5828740c35a7ad77856e2e803e957d3ff22e030b4\nlabel = \nmsg = 54657374\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 100\nct = 754fd3c7331933b8f211af97b826af802d50ae1d39984fb432719c3ee3ad7880e1fdfe18227104dd81f1a5fc0f9dd46f828c739723c0dc68a6607983493060233183e85005b4886a0afe22d6ab0730fea2190532586196e0bab63cd08d9f5c391b99302e5dd0b60c9a12ce103f0bf9ae4bc19c811686d423642df2d4257d9d99\nlabel = \nmsg = 313233343030\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 101\nct = a094713852a2b44e6821d6d964386d2fafaeaba44756560479653f69d7a33d9e1acc7741c0793b356fd61c4055a5c8302e1a37544100bfe0816840834c02d441de95f278a1eb29b4ed14def12b5d04320d2a14b4ac7bfda04a7c66d41f5b1856952ca48d1f51e69a079d07b6defa28d5578985285e7d9fd97c8519adbf5956b9\nlabel = \nmsg = 4d657373616765\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 102\nct = 8f6f64b964d5114bae2f65b5f7de74a63919927f05c3a245063bad355dbe8cc1a59cb6c631d4918838d6a95b51141e812a8c012a6df76deb158ae1db0a22fd81d69aeb5d69f23ddd3674d4427236e890d63559644e1c747565a9b84702b7fa38eb26c40ce01256b17369364218d9a3c3fb2fa30fa1f601edb4808cfee8f8df0e\nlabel = \nmsg = 61\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 103\nct = 4742dfe57ce8537152b72cfeacd44126fd2a3716e58885008b7e1e7e055de8ab0ab1028be4406b89d7bf7c7ea36b6ac5d34e83d3c5201e7fac068ed065093d4adbe4b2709c7d733acd213621ff9eeefea2535c9566370676d8b3a4aaa85e574d15720abf65f6b42b3ec8bddee2f76f6d3cc5af291a5b678e301727bee4f6bd93\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 104\n# Longest valid message size\nct = 1df27eca88872398306aea5c9b0d8514c173f3cfdc5773408b1fd33041731ac2370b8fd00587df3b73c9f84568bf1c514ba625358cbf741cdf765da4338c062d3951b748b6a85e867caa22e13ba976dec3e67955b8fff3cd4e1388e14534406db3e81236979a566fd9b311910e872084debea874f1f9d2864902ed31da6bcaa1\nlabel = \nmsg = 7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = acceptable\nflags = SmallModulus\n\n[d = 008505d47c271560aaf6cf65da6d5594a69c86f01622ea194071606fde369b65f5a751bce06052409c3a04c6a8b2be935bc0d084829dea8ea0998398fd2a0b0719ac1a1ae2d133fcc72d9df27b377b9a0109ef1a564e92b66963356b8da48f88fcdbc20658f74b542582925ec5cd03fb5e9a527c670465f792a69c1f6c7c5e1841]\n[e = 010001]\n[keysize = 1024]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00ac9048a7a4f560af91b4fcaf62a14595cb9ca9ec12000fc845e48572113cab2890adb011a919575a40760d1f23fe92509c8a5810b6d05990b909dd0f4c6014f2b31b6abd805bace99816e2eda41fd7b95405db7c5c8f4cf6babb14f550d5d0dd5179b54951fff6aa9686f30f478db649b7c7044cc202dccad00343468eaacfbf]\n[privateKeyPkcs8 = 30820276020100300d06092a864886f70d0101010500048202603082025c02010002818100ac9048a7a4f560af91b4fcaf62a14595cb9ca9ec12000fc845e48572113cab2890adb011a919575a40760d1f23fe92509c8a5810b6d05990b909dd0f4c6014f2b31b6abd805bace99816e2eda41fd7b95405db7c5c8f4cf6babb14f550d5d0dd5179b54951fff6aa9686f30f478db649b7c7044cc202dccad00343468eaacfbf0203010001028181008505d47c271560aaf6cf65da6d5594a69c86f01622ea194071606fde369b65f5a751bce06052409c3a04c6a8b2be935bc0d084829dea8ea0998398fd2a0b0719ac1a1ae2d133fcc72d9df27b377b9a0109ef1a564e92b66963356b8da48f88fcdbc20658f74b542582925ec5cd03fb5e9a527c670465f792a69c1f6c7c5e1841024100d397dcfab4919db23bb6b88c4511516f6135e1118277e496130f0cab3a75661010cc98ec8f40cdb0c1ab612c03bbe3b023d891f46185788fb114437c8a9ae71d024100d0c7805159509ddad70f35b9a76c7c2bd95a844d36b76d96138cfc7a2a55f88072e8b10ac37463caf9bf8d1014c93a001214d7ce230c8332fb58dadb05d52f8b0240762d3c4b7dac5292284dbe3701a051864e99e4117e77ede06fd698f1cd5da25a58b79cb58ab0dbf0dbca17249915486ea9269d260b8d9b2f4dec8e60b19d2075024062a4f06eff4944dc6262905ae0cd343a2f9f42058d85cb646e665de086e249e0beea4cc42e276f03374f9721f30044c445c6cd545b610d186883ca1c543c2f1302403cfcf044035c1854475e1dba480ac50d2a059f32d18e819c96a3199b1e3855a653ec0e5577e4d7677d6e0b7a55fc418b13202ee19430228c4bf9d28af8851c9b]\n[sha = SHA-256]\n\n# tcId = 105\nct = 418d2556fe1e1f0492f324e064f68d90aa04ac3d7047419da319e04ae97e3467935f72e2f59f1b490de5d41288098607b8a0ee1f17066ceff369d80055b7266a0710bad792", + "0400618c8d0b9ffe4dd87fcdee42cf247773d4ba47620ce01b57a5433e90bb1c93a6f380b45e8e4959acf3dff781ad278ad863b4930991ef875d96\nlabel = \nmsg = \nresult = acceptable\nflags = SmallModulus\n\n# tcId = 106\nct = 0c0a383fba71343c2a467d3bd1413056d74a15459877ab614a66e9f4bce54ca42719a353da953ab73634584801cefcdfa50288565e9b3216b885d79e2c7ece62a0a776ca7bc178ab0606d29e19c4599d3fb610df7cd5b8005f1feeb2b2037d8ad7cad1a9685b24306711d8c1ea3d9c01120cb751ff92ac657659952e3191577e\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 107\nct = 5bb72a3698ee587fc8f662500e9183d517b78d7cef5152a0f7e763f4f41f9d03200ab2ae0fea874bef3e7340b13c4ebf3d4755dd601cd2ac54b99d0b20ecc33cb17a5101b1594ed9e47b090c6eff589a05055997f72587fb6f45e6d2389ae19bdd49bf1243cccfa23f04aad2d42dfb1070df24d48f5ca9258eddb4aff64506e8\nlabel = \nmsg = 54657374\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 108\nct = 270dc08a1725da4f287e9616d89bb53edf5a839f856d2dbd0205c81e751d78ea79f0d2a88405c8f6d45d04c65044fdb99ca81473919b14e743e8d1c4bd611c7b74d4e252a595e9ec2b2bab8324ac2cdfbcfd148b8398039e21ea8408dbcee82b049742f1cbbe2fbade66ad40f92c3ed6f07b3fcad65b0e903949facff4ac7f78\nlabel = \nmsg = 313233343030\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 109\nct = 33af58d5500d23dafa17f8b3cbeaf623bb26101c40709ac348e28d19ac36b051b5269556324fe864e3bf2bb7199ae65cfd92f856b1e8d90bcb9d538d0e7d153135ce31124cb1b1dcc7f2a290eddae1524d10118e16075433ddf792acd990be71f540d70c1e7501e61c046278d784bbdf231c5a1eddf5df2be60ec5fc2d39b737\nlabel = \nmsg = 4d657373616765\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 110\nct = 360d1fb235b0c19d8e03479620fcc179ee5fd87e3aec0265d154b501b1fa2e6178e2ff7d22be085246b1b17451c6a9f12bd57a64c86c8a93ecddd5ca93d2eed91a1c2553c585750f5510a3e0b65a465b81d1e81af05438a3c9db615d1b5f18234fe6114ca9d764cc62523ae04f7997e01c1f91bc474d053c148e483b104e7fe1\nlabel = \nmsg = 61\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 111\nct = 73270646f5e6e4b023311dfc71563229b593fb71f8a2df1a8033c4366e3a0d6944327c112687d1bd02905e7099ef70f36c88999b4d570d4a9307e1f4764b4b697a677edc276bfffd757a9e40e9f5b3bc5481cbbeaca64c486bf4ac119a7147417d92988a2751d4619f6f8ce2d543f4dd157bf9ec3b88f9c5e95b37eceb60d224\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 112\n# Longest valid message size\nct = 82d81c319681f5bcc530039e44eade8848562343eece58dfd2b4c68d04acb06e937980f079084e1f22e44f928394e1e94f64647fc298fc4eae493f32a451356ace59b92ba784925000c2193304060dbddebd7c7aef0ce9d16e2b470e672461960f3f77984330754017be6aba1016a02bbb837f96c3e30dcdc85da47ef9b2c17c\nlabel = \nmsg = 7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = acceptable\nflags = SmallModulus\n\n[d = 008505d47c271560aaf6cf65da6d5594a69c86f01622ea194071606fde369b65f5a751bce06052409c3a04c6a8b2be935bc0d084829dea8ea0998398fd2a0b0719ac1a1ae2d133fcc72d9df27b377b9a0109ef1a564e92b66963356b8da48f88fcdbc20658f74b542582925ec5cd03fb5e9a527c670465f792a69c1f6c7c5e1841]\n[e = 010001]\n[keysize = 1024]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00ac9048a7a4f560af91b4fcaf62a14595cb9ca9ec12000fc845e48572113cab2890adb011a919575a40760d1f23fe92509c8a5810b6d05990b909dd0f4c6014f2b31b6abd805bace99816e2eda41fd7b95405db7c5c8f4cf6babb14f550d5d0dd5179b54951fff6aa9686f30f478db649b7c7044cc202dccad00343468eaacfbf]\n[privateKeyPkcs8 = 30820276020100300d06092a864886f70d0101010500048202603082025c02010002818100ac9048a7a4f560af91b4fcaf62a14595cb9ca9ec12000fc845e48572113cab2890adb011a919575a40760d1f23fe92509c8a5810b6d05990b909dd0f4c6014f2b31b6abd805bace99816e2eda41fd7b95405db7c5c8f4cf6babb14f550d5d0dd5179b54951fff6aa9686f30f478db649b7c7044cc202dccad00343468eaacfbf0203010001028181008505d47c271560aaf6cf65da6d5594a69c86f01622ea194071606fde369b65f5a751bce06052409c3a04c6a8b2be935bc0d084829dea8ea0998398fd2a0b0719ac1a1ae2d133fcc72d9df27b377b9a0109ef1a564e92b66963356b8da48f88fcdbc20658f74b542582925ec5cd03fb5e9a527c670465f792a69c1f6c7c5e1841024100d397dcfab4919db23bb6b88c4511516f6135e1118277e496130f0cab3a75661010cc98ec8f40cdb0c1ab612c03bbe3b023d891f46185788fb114437c8a9ae71d024100d0c7805159509ddad70f35b9a76c7c2bd95a844d36b76d96138cfc7a2a55f88072e8b10ac37463caf9bf8d1014c93a001214d7ce230c8332fb58dadb05d52f8b0240762d3c4b7dac5292284dbe3701a051864e99e4117e77ede06fd698f1cd5da25a58b79cb58ab0dbf0dbca17249915486ea9269d260b8d9b2f4dec8e60b19d2075024062a4f06eff4944dc6262905ae0cd343a2f9f42058d85cb646e665de086e249e0beea4cc42e276f03374f9721f30044c445c6cd545b610d186883ca1c543c2f1302403cfcf044035c1854475e1dba480ac50d2a059f32d18e819c96a3199b1e3855a653ec0e5577e4d7677d6e0b7a55fc418b13202ee19430228c4bf9d28af8851c9b]\n[sha = SHA-256]\n\n# tcId = 113\nct = 68911125d8bda09253e99bee978b31fd8db5b153c7af78521d21011b0e76d5cccbb2d6f609add8abc0eb7fcf4fb3b1fd75bf823f02a38d56db8cca42424affdf0fbce966d557c0595c779d301c12aa31adcda7094c6b3e1b2432fba59153cebb19d72c6c6a3365c713d1aa02f3bfaa5d0bd39ba98c75571c8ab916643b28e74a\nlabel = \nmsg = \nresult = acceptable\nflags = SmallModulus\n\n# tcId = 114\nct = 1c91e1f3d58a1c3cdbd268d589b3f2ccebd45d5cc5b8605a29b5de49e629d44e3c21abf28e7f34a78177da87d8c247515a8973e1f59bdc8f16db53df2683f088c940d96e02ca41c35531a16b8eafe55411c18f43736619a177502ff223cdcdbc4eb89a0f15fc441465fbc01b7a6a0d2335e4cdd19e6dcbbc58fefae92b123939\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 115\nct = 7c22e1a4f703050331a3de115fa7dc28569594b81f2723c914a9da5c8dd7a5fc085eb0c196504cc3f42b891cad8f2a8880e35d45d7fd328760f4b49d9944b9378d0414d6a335381b8a0f67674078e8d85662c9435c606555bba3b500baa0a8ce25fdf96aceac6d677fc6a9d0cba2d9e2a80a8c69f47d2bf8a0f0fc1a7d50a38c\nlabel = \nmsg = 54657374\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 116\nct = 66793a511cd37d5e7472f08fc13c7ce6c69caa3d4e4b3d1f418f1e2a88e761d7ea4d45aeb8a38f0c87b45d2bb4e0f996808301f9a33f216acb09604a15821cec6291568067fafc969786962caa811b9d1b0bc6e50834ec55e38ba077791a6c7e848758d389d2f0796cacad13428c47dd079ddd1dc126793240f5894bfa930c8e\nlabel = \nmsg = 313233343030\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 117\nct = 2acdd8200887488680de87e651a30a9e9cdf25b5fe50f6cd2d8c10f4594e236b7c47ae9331858998202e8524dcf7a5be0a1868abf8b081e1b658027f65af39bc5d9e1f7f9d29ca33afac7306c0d3e077349553a77d98b8efb5bbd4163bd8dfb46be667b75926bad19730a56df344d0e40ed9f88e6e4ec2db538c146f9ac75e0d\nlabel = \nmsg = 4d657373616765\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 118\nct = 32040b2089390a96f80da9bf1f13554dbd20306fccc987b2e8bc0bc3e459ec716b1234488e67c62a97240c2944a9395b07ce08873a9168fb3adfff8ec0194ce3564fc4fe95fe27e263501b5c7d847d6a058136885e277a7e584db8836105425f4bc5eaf565237ce72390b8a2efbc1ab5e44ec6a12c92631e3eaefca664ea70e0\nlabel = \nmsg = 61\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 119\nct = 72ce6b4b36f4ccde4327795b62bf247dbfe80ad1e1aa4b3db1f50a6bf68b5d6b9d4591932d41d1fec67b55c2cbb52c8b0d92fc14b1d0d21908a0d9bd60f78bc3519041883c37b829289439a5ec31ef5d6676ad16ead3c3989cd8978c12a783128cfd8e2c15c872063b3d2d2c4a91739e4feb93ce512e534d4280230470d4722a\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 120\n# Longest valid message size\nct = 31ad05aa197500790b992effa86175892384dced3359d978075dc9326e1d0a1c7899b47b0e1c1549d1c9af9e5238cd07557e93e677df968107b8045dad232ee83615b7cd49b3223c86aa283a18abc57af7eb4d7d4d9e8a4234c2fa0fd08b5e602ced53d538cf80118db8faf786079bd19ea5e3dacdd6fc6cda550295bd737ccc\nlabel = \nmsg = 7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = acceptable\nflags = SmallModulus\n\n[d = 5683206e498cd4867f94b062adaf2d3d7498150709d45ae03790731a58303b74a30d9b37b728f1c56fc34c2abf9c21e18adcf3952416d539934809cb1b516a62d80e1082b3e4d2ce749f58c7a1c0e5907fb7c6b9c9f971c80b890bfe101c5e8a83156bd4a55283a72d0634550a9bd674b771b9e1e00619eb43d6e35112e15031]\n[e = 010001]\n[keysize = 1024]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00a1d3912e65d994e0ba51135f78844d9a3ea5161e5450d16a8cf0173a0a309a1ee94e94385dffc5e27dea6692a1713516af86df2283c8e327e60ee26a7b7cfccb0af3f4b5efec358651996b97d5b25da933b063490cf7b67073d399b04ad55c0a89f8ec36d7f5ca", + "e757dbd3d6d0f5b77f7c94e28878397cb45cfd178f3f07ed01]\n[privateKeyPkcs8 = 30820275020100300d06092a864886f70d01010105000482025f3082025b02010002818100a1d3912e65d994e0ba51135f78844d9a3ea5161e5450d16a8cf0173a0a309a1ee94e94385dffc5e27dea6692a1713516af86df2283c8e327e60ee26a7b7cfccb0af3f4b5efec358651996b97d5b25da933b063490cf7b67073d399b04ad55c0a89f8ec36d7f5cae757dbd3d6d0f5b77f7c94e28878397cb45cfd178f3f07ed0102030100010281805683206e498cd4867f94b062adaf2d3d7498150709d45ae03790731a58303b74a30d9b37b728f1c56fc34c2abf9c21e18adcf3952416d539934809cb1b516a62d80e1082b3e4d2ce749f58c7a1c0e5907fb7c6b9c9f971c80b890bfe101c5e8a83156bd4a55283a72d0634550a9bd674b771b9e1e00619eb43d6e35112e15031024100d55f5ac3627e7d4bb07c530cb26b3e0ec6cfc7753986e009c9f53d84b6940923d293f8c55b5e9820b56dc6eb008ee779a156a7c8a0b4fa5b6117a4f64233a38b024100c227f5cd75d8865f75ab467ef5f8d43ee0707250450d523230fa3786a6632dbb893ec9cf1039058521b4280529644315f9d37409915f6f5e86365ab82827d323024028403bb3fe01948b51b8b24603e65d2796739dd1cc4f5836208605dbe2415cd4082667d87b1b0621ad780efd47f6ad4df194924433a4d051aaa836334a5bc96f02402fec0d0f9976c833e7a74ecf2787335c11a9af8d807db93c0a3ab859d3d7c701f2ee3c818f4f83bd48845f1c670b0843f455ecde2fb38e999626f45d600bf46102402efab8b9b528803fe02e6dbad575d57824b794dbd9ae0b4d6b43acc1b22a42ce2ffc12ff9339af3da08387cbe73e1bd326725487eb97c71ba6f960e5dddf4207]\n[sha = SHA-384]\n\n# tcId = 121\nct = 8749d6f5113da51db46969724dcbab066a9ffbf3330d4a734a762cc6b9d8753d6a08191e66c0f9580b46d8e7942bae0c79efddfeeccf09d4fde8a60db5744a23633d4e32ad236b9897c3b7a0a08628fc463445822083396a4b034cb53154ceccd9219f4f1f01b839e63ef56f880838853709f9bff68512b57df24bafd6884944\nlabel = \nmsg = \nresult = acceptable\nflags = SmallModulus\n\n# tcId = 122\nct = 5f01fb81f6aa0b6fc2c67da37ab7e0b80adc36272fd6a6a2c1f95a0221d075c8ec448171f0e0bf552529ea0276bc9be3cea2ba1d09de39a112255b445424051f96c941ae71ffb126b83bc03299f0945ab4be4d4046e0f0fadbcea10e39d0c21de17be781fa7885b33a695abe41d7db302e62b249eefe3fbc10e84a5b479541d4\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 123\nct = 18d827c4e481935a6a95b788fea6dec752cc4b08a4867bfc1b75dd5953e768a7421e8841c45935d03b8a8f732de0e0ded6ac5124a1bab546c9063d8a3842593bd750730098c5b1ebc3a0b8afcdc08ca0285509374f7fa47809e24311ef9e1a56d64da1711daeeeb3b2c4b545d90b34ab4f0f5ac0809a6b08e0dc74330555913e\nlabel = \nmsg = 54657374\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 124\nct = 00c2a0ad1bfd155df9ba2fad92504e2aef353affce954d55349f911906840e63776c8cc346c39e6b2cb6c8b1696111ea67d19f9b6094a8cf8c83d799e3d25a824251cf5bc4f84f7a542e4e9b89a7ed5506456f9600c07ac34f306c989579e6cc7616ca7bd489692ee4f40d1e93c3a2a12f02ce929c1b07cffec324b8f8f1eca8\nlabel = \nmsg = 313233343030\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 125\nct = 30fcf1212bc1459d5597f9081089850c3bd7e276a6ae71b3cc707855aaaf5b5f78739d5811aba2b31a0955a90ed85b06c50c251bab010d610eac9bf755d733794d4674b255912f77b495e80e607cf215072e0c16620b062e80bb253a5a096274c022ba95a3d400d4fe6ce0121ef20c15e585a857bbe20ce871e4155baac8d3cb\nlabel = \nmsg = 4d657373616765\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 126\nct = 5143879722f66065721c18bbb6fb3ebb445734b3ddb13f08022e140f3c40026e1ff7d61dd8adcfb2ecafcc90ed5b839d279c303d0b4e418939f4e5f11aea2fe7654c4d3e9db2c0018ecbebd1220e2509d0fba8e1b5423f6c3ef461b1d011fe61794004d9b99578ca78d7d92511dc75d9cec7d7fac0ed7d86b901f08136aea029\nlabel = \nmsg = 61\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 127\n# Longest valid message size\nct = 84a41d79870eb9fbcb45a469541d33aea789cbd3e3aa20ef57a1e6777805250d7e263cff57658e62368881aba5a5f97b6b6670f6d1141fcea8543e52a9e18323c31bea1057034fa0bd06a77265e8d3ed8e5f3427eaab99b4ccd7e82423ed096a692c1555b091c0aff710f7d58880dfad7bf6ffa2ae93dd94a17f987534840898\nlabel = \nmsg = 787878787878787878787878787878787878787878787878787878787878\nresult = acceptable\nflags = SmallModulus\n\n[d = 5683206e498cd4867f94b062adaf2d3d7498150709d45ae03790731a58303b74a30d9b37b728f1c56fc34c2abf9c21e18adcf3952416d539934809cb1b516a62d80e1082b3e4d2ce749f58c7a1c0e5907fb7c6b9c9f971c80b890bfe101c5e8a83156bd4a55283a72d0634550a9bd674b771b9e1e00619eb43d6e35112e15031]\n[e = 010001]\n[keysize = 1024]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00a1d3912e65d994e0ba51135f78844d9a3ea5161e5450d16a8cf0173a0a309a1ee94e94385dffc5e27dea6692a1713516af86df2283c8e327e60ee26a7b7cfccb0af3f4b5efec358651996b97d5b25da933b063490cf7b67073d399b04ad55c0a89f8ec36d7f5cae757dbd3d6d0f5b77f7c94e28878397cb45cfd178f3f07ed01]\n[privateKeyPkcs8 = 30820275020100300d06092a864886f70d01010105000482025f3082025b02010002818100a1d3912e65d994e0ba51135f78844d9a3ea5161e5450d16a8cf0173a0a309a1ee94e94385dffc5e27dea6692a1713516af86df2283c8e327e60ee26a7b7cfccb0af3f4b5efec358651996b97d5b25da933b063490cf7b67073d399b04ad55c0a89f8ec36d7f5cae757dbd3d6d0f5b77f7c94e28878397cb45cfd178f3f07ed0102030100010281805683206e498cd4867f94b062adaf2d3d7498150709d45ae03790731a58303b74a30d9b37b728f1c56fc34c2abf9c21e18adcf3952416d539934809cb1b516a62d80e1082b3e4d2ce749f58c7a1c0e5907fb7c6b9c9f971c80b890bfe101c5e8a83156bd4a55283a72d0634550a9bd674b771b9e1e00619eb43d6e35112e15031024100d55f5ac3627e7d4bb07c530cb26b3e0ec6cfc7753986e009c9f53d84b6940923d293f8c55b5e9820b56dc6eb008ee779a156a7c8a0b4fa5b6117a4f64233a38b024100c227f5cd75d8865f75ab467ef5f8d43ee0707250450d523230fa3786a6632dbb893ec9cf1039058521b4280529644315f9d37409915f6f5e86365ab82827d323024028403bb3fe01948b51b8b24603e65d2796739dd1cc4f5836208605dbe2415cd4082667d87b1b0621ad780efd47f6ad4df194924433a4d051aaa836334a5bc96f02402fec0d0f9976c833e7a74ecf2787335c11a9af8d807db93c0a3ab859d3d7c701f2ee3c818f4f83bd48845f1c670b0843f455ecde2fb38e999626f45d600bf46102402efab8b9b528803fe02e6dbad575d57824b794dbd9ae0b4d6b43acc1b22a42ce2ffc12ff9339af3da08387cbe73e1bd326725487eb97c71ba6f960e5dddf4207]\n[sha = SHA-384]\n\n# tcId = 128\nct = 08402d31f47155d67067897e8d3756c2a26d74e01e7779301648ecbfb73e74fcf6d6924159b6d93687818466e2bffc92dd66df7c205197b15c712771e855f72b74da24795d66cb2be6a59900fe8961247688ed73ab0f5ca0ac10308ec7cb115a4c8b1ab72d3de9fd6a7afdd319cb178a862fc7995ef0cceeac03970b9daa9012\nlabel = \nmsg = \nresult = acceptable\nflags = SmallModulus\n\n# tcId = 129\nct = 4b8610a20003933cfdbac802fb90d9028f6bd5656229a1b249450fcdb49f6d46479d6c7b094e93af2eb94019c177f1b1c58b1379fdf5429edc296b4e65243e2cac5f6670fc3bf69471015af244ce363ba347de282e887f2cd86445265e0f65d616b2fc6bedc87bee61385c319a38e53eba597db022d321bf871889c551a18503\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 130\nct = 5c3586325bc1e1c9e4aad3d60be88dc9ed9fe9577b61a8714ac235160bb4e83358649cfa187b004ee735cea2f6c91e25593c391bf24d87dd4b50178435600ed1c5272e3ea110698b11da7c660ee6babc32aa3fc2cf3ba37036cd4369efb272d99424d9c6ec5290dea83f16799efe4fa90238109de7938445ed66261ea538ec86\nlabel = \nmsg = 54657374\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 131\nct = 4c9569d4ac8607fb90c56ac7a7a0a673a74588e526f22bae8271a863292001064952becb338acb8becbeff48f4c07e60b529df7899ca760c113f878c405eaf789e312214eccdc3b5c01f41ec53513ea54c4de693d52bb962208e4553c088abdc64b87467b04c65fccc96d2f59f5527fa31c0b7e8868a895ae8af19b20a209918\nlabel = \nmsg = 313233343030\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 132\nct = 7d5c538dbd17fe2b4a2538f8d1f4fecdd3170ce335925eb41f94b2e587d3b40c5912aa78df383ad8ff5fd7450ca200477340fc9e6ca037421d4835316e63ddb7ac79420b4415e95c170a21897d4bc2c7ad452c0c2e834600ca5922411bcd6b96253cc161a0842021cc048a6092bb4d7c936d677dc03264b49126caaeacfb992b\nlabel = \nmsg = 4d657373616765\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 133\nct = 270da02d0747f710dee546c4b94f40fd9ff7dbdc3643f4cde66953ddd86129807dbf2408e9f40b29a53fd2b2ea529c5a31933ef5b4b5e0b83a49ef85ed92880e1cf9dae104b817dc0688b4690faa7f3a0951bbd32963647c970523b7d53c3e24080368bb510362ce36f50ca0a752f7bd3a196b2cda5ac548f36b24631a8505b0\nlabel = \nmsg = 61\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 134\n# Longest valid message size\nct = 1868661bf0b5eeb4f9cfdd32544fbf619955f41ce3aa043e6ea5b6540935c89781d1360279564c76b235142cf88b0d5c489bbd68319e24c40395e928c672ddeff35447367781827d9bd7507e1c77534a7f83c75c3b101398456a9efab2099ba06e728b8c1624b1ff4a4ba6e7d2e70ae1ea5e97774fc3f541f306e1e457862f81\nlabel = \nmsg = 78787878787878787878787878787878787878787878787878787", + "8787878\nresult = acceptable\nflags = SmallModulus\n\n[d = 5683206e498cd4867f94b062adaf2d3d7498150709d45ae03790731a58303b74a30d9b37b728f1c56fc34c2abf9c21e18adcf3952416d539934809cb1b516a62d80e1082b3e4d2ce749f58c7a1c0e5907fb7c6b9c9f971c80b890bfe101c5e8a83156bd4a55283a72d0634550a9bd674b771b9e1e00619eb43d6e35112e15031]\n[e = 010001]\n[keysize = 1024]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00a1d3912e65d994e0ba51135f78844d9a3ea5161e5450d16a8cf0173a0a309a1ee94e94385dffc5e27dea6692a1713516af86df2283c8e327e60ee26a7b7cfccb0af3f4b5efec358651996b97d5b25da933b063490cf7b67073d399b04ad55c0a89f8ec36d7f5cae757dbd3d6d0f5b77f7c94e28878397cb45cfd178f3f07ed01]\n[privateKeyPkcs8 = 30820275020100300d06092a864886f70d01010105000482025f3082025b02010002818100a1d3912e65d994e0ba51135f78844d9a3ea5161e5450d16a8cf0173a0a309a1ee94e94385dffc5e27dea6692a1713516af86df2283c8e327e60ee26a7b7cfccb0af3f4b5efec358651996b97d5b25da933b063490cf7b67073d399b04ad55c0a89f8ec36d7f5cae757dbd3d6d0f5b77f7c94e28878397cb45cfd178f3f07ed0102030100010281805683206e498cd4867f94b062adaf2d3d7498150709d45ae03790731a58303b74a30d9b37b728f1c56fc34c2abf9c21e18adcf3952416d539934809cb1b516a62d80e1082b3e4d2ce749f58c7a1c0e5907fb7c6b9c9f971c80b890bfe101c5e8a83156bd4a55283a72d0634550a9bd674b771b9e1e00619eb43d6e35112e15031024100d55f5ac3627e7d4bb07c530cb26b3e0ec6cfc7753986e009c9f53d84b6940923d293f8c55b5e9820b56dc6eb008ee779a156a7c8a0b4fa5b6117a4f64233a38b024100c227f5cd75d8865f75ab467ef5f8d43ee0707250450d523230fa3786a6632dbb893ec9cf1039058521b4280529644315f9d37409915f6f5e86365ab82827d323024028403bb3fe01948b51b8b24603e65d2796739dd1cc4f5836208605dbe2415cd4082667d87b1b0621ad780efd47f6ad4df194924433a4d051aaa836334a5bc96f02402fec0d0f9976c833e7a74ecf2787335c11a9af8d807db93c0a3ab859d3d7c701f2ee3c818f4f83bd48845f1c670b0843f455ecde2fb38e999626f45d600bf46102402efab8b9b528803fe02e6dbad575d57824b794dbd9ae0b4d6b43acc1b22a42ce2ffc12ff9339af3da08387cbe73e1bd326725487eb97c71ba6f960e5dddf4207]\n[sha = SHA-384]\n\n# tcId = 135\nct = 72ca0ccf54c917fc81ea6d57868adef1cbcade865c4906e734bcc0b81b20db91d35dd489dd2c5a7435eb75ba6e2732f092ea2c77701c6b4526e7030dbfc3d932731c6b3c9ef013721c2e70e96dcb24ecdabc2e87f98d84e95fd4bd69a19ca79c8a3a9585e3a6bafc2b5e10ac260b621a1b3912102e7a22c6fd7dbcc696380d48\nlabel = \nmsg = \nresult = acceptable\nflags = SmallModulus\n\n# tcId = 136\nct = 80c408c5d9fc9c2b0fc4634330fa9776c42a1d6dde48914392e00e5bb4e69a93acb806d102446992ef8d9a9cb9004d6a8a833806c5c8f80abb444981829ad85d95ff0e7ae8c83e98a706d09a3cbf8a2d8c0d37ca4b620ada9bf1c89d3b5a4e7fb66f878bbeb044d039866bc9ffa35f369a5468feb91c31ae112a046f4f3a619e\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 137\nct = 5749bb5ea6679e7571795a3bc09291088baeb198356c14d266d169eb467fe8fe541049fbf9ab7e62c915aa366e00a79ecaed9f316b7a37c77b93beadf26d5fab73acd989a4f6c22886e7531a9f6797b3ba59d0bc5319043be0fdd42498a93ae5ae9d826e73222a257354cdb9228571d66f056837443b73dc1b60341b9aadeaab\nlabel = \nmsg = 54657374\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 138\nct = 1ef4a92700b36c1c4fc35a668889d463022dff324a5b1837f4115133089f6048b13b99b4c73ff9acfc41dc299a8c73d378a7c207140d2bc2cb956dfc594914a723ac6c8fbb1e949045aec0f27b923fb65eec9cf001a6bacc9ed4de1f8883043110e3edf359f500d2c68444b8202818623af3a389ff125d6b32d1df88705ad5ef\nlabel = \nmsg = 313233343030\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 139\nct = 0185957a92bc682db236761299c03e42290d293d8e784d056a3d4fe65c25744782845cff71af5c56d715ec840f9622fde8d8f14cd5ef591500c545422c33658c3b464c69d5e3f3d2eb22e5ae66dfef9d69869f867f3bd82d35138f8f093e6b3b597b7600c87522c51b30f1b624990532ccd9811054a7ea6aef9cd5c815d500b3\nlabel = \nmsg = 4d657373616765\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 140\nct = 2e05246e0ddcd59afd60c7d9c5b46c70fcff96fb5e9d62502f9f4b9a06bae38863a7d7eccbdd1304534186a5c2f89f061e4edc1cfcee88af3643c2f6b5efbee8f08eb7f866a60821f3be7b296b25acbc4ab443c0ac398104f369935b5b5748d4a872d31884f1b9d4f1842fc0b74f003c17c4ea5b9e3b7baad8401ecd56dbce09\nlabel = \nmsg = 61\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 141\n# Longest valid message size\nct = 933d41d2f20609bbeb90aee85368180794af83b687657713287070489e23ecb6ad871caf198fa19128f5e48ed581d3de608de44b3d7de1f2d161e714f27fb09dab295f9772d4c0992fbd866c0a41fc3b4fe874cffdc9324bdc5eb652bd20eae4a6f2258e3f9dbe1683690eff2a930bfe351ba338c76f6598e50c1dfd78871515\nlabel = \nmsg = 787878787878787878787878787878787878787878787878787878787878\nresult = acceptable\nflags = SmallModulus\n\n[d = 5683206e498cd4867f94b062adaf2d3d7498150709d45ae03790731a58303b74a30d9b37b728f1c56fc34c2abf9c21e18adcf3952416d539934809cb1b516a62d80e1082b3e4d2ce749f58c7a1c0e5907fb7c6b9c9f971c80b890bfe101c5e8a83156bd4a55283a72d0634550a9bd674b771b9e1e00619eb43d6e35112e15031]\n[e = 010001]\n[keysize = 1024]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00a1d3912e65d994e0ba51135f78844d9a3ea5161e5450d16a8cf0173a0a309a1ee94e94385dffc5e27dea6692a1713516af86df2283c8e327e60ee26a7b7cfccb0af3f4b5efec358651996b97d5b25da933b063490cf7b67073d399b04ad55c0a89f8ec36d7f5cae757dbd3d6d0f5b77f7c94e28878397cb45cfd178f3f07ed01]\n[privateKeyPkcs8 = 30820275020100300d06092a864886f70d01010105000482025f3082025b02010002818100a1d3912e65d994e0ba51135f78844d9a3ea5161e5450d16a8cf0173a0a309a1ee94e94385dffc5e27dea6692a1713516af86df2283c8e327e60ee26a7b7cfccb0af3f4b5efec358651996b97d5b25da933b063490cf7b67073d399b04ad55c0a89f8ec36d7f5cae757dbd3d6d0f5b77f7c94e28878397cb45cfd178f3f07ed0102030100010281805683206e498cd4867f94b062adaf2d3d7498150709d45ae03790731a58303b74a30d9b37b728f1c56fc34c2abf9c21e18adcf3952416d539934809cb1b516a62d80e1082b3e4d2ce749f58c7a1c0e5907fb7c6b9c9f971c80b890bfe101c5e8a83156bd4a55283a72d0634550a9bd674b771b9e1e00619eb43d6e35112e15031024100d55f5ac3627e7d4bb07c530cb26b3e0ec6cfc7753986e009c9f53d84b6940923d293f8c55b5e9820b56dc6eb008ee779a156a7c8a0b4fa5b6117a4f64233a38b024100c227f5cd75d8865f75ab467ef5f8d43ee0707250450d523230fa3786a6632dbb893ec9cf1039058521b4280529644315f9d37409915f6f5e86365ab82827d323024028403bb3fe01948b51b8b24603e65d2796739dd1cc4f5836208605dbe2415cd4082667d87b1b0621ad780efd47f6ad4df194924433a4d051aaa836334a5bc96f02402fec0d0f9976c833e7a74ecf2787335c11a9af8d807db93c0a3ab859d3d7c701f2ee3c818f4f83bd48845f1c670b0843f455ecde2fb38e999626f45d600bf46102402efab8b9b528803fe02e6dbad575d57824b794dbd9ae0b4d6b43acc1b22a42ce2ffc12ff9339af3da08387cbe73e1bd326725487eb97c71ba6f960e5dddf4207]\n[sha = SHA-384]\n\n# tcId = 142\nct = 1c3e714abd52258d9235e08634c0f21e8a914df4445e01dbb0c520367d094e689bf68e083c5879e00604ab39c7d6c05f11da2cba0f665f58ac3c7ac07de3e766d5953fa5b79d6f3712290aa585588d5d4dd276efd084f35b107a5b031fc62811b3b5cb364ba4444d9f41ef3ed468748a5cb95685a354b38ed0d91087bf1773a6\nlabel = \nmsg = \nresult = acceptable\nflags = SmallModulus\n\n# tcId = 143\nct = 90e37b774d24eb1001ed16681d80fff3051bc2e7a89af0fcc4da64fed4e9db4a8bcf6232f61c141138e18646dace294e965dc45d72808607f5f3b752ea72f016f9eb4f120541b63745a93c811b99ca8953a606c34414ffcf673b067f65810b20464ec9e9f5d315c4d9aa5fce4bc09064f02ee6725f392c8d955095cf3f310ad8\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 144\nct = a151582a1bf013b4a3d81ffaa389407406d078766c95ea3c28752e1c280392011f1685ff3336a77f907de742925b297afbcce2c707be303d1269a3a45cdb8fa66a39c461eed94adf5496a26132f86871bcd630f46fb2decf6839f395881377777949b9282fa054ef026f32f0adf132254f4de8eafb02dc738c7ac7e7aeec0554\nlabel = \nmsg = 54657374\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 145\nct = 0c87aa1b473d638dd10955548a51217302435f9664a5fe05344d1054ebc24d8ec2cddc94a241fae52e78f5be490017722629c4b606db675171020c6bf5937133e1b0c300be4fe8e0b33c9f1526035f663ddb24fc270931b29cdafd481e85284cc260624291f3976b1c58c4bf35316f86a0180a13805935f387dd3f646cd5385f\nlabel = \nmsg = 313233343030\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 146\nct = 622dd6e7c8225258e6eebabf9fa6372d9423fd775b4c8a5c08da54dfbe26a8064a73b44c1e22fab35adc3305ec4a137d27b0b1223d751d21bbf08c7d7962d121cb3a1e1da701a6e33f5dcbef95645fb23106184596f5142d181118a8fcaed3ec92314a9db65b04f52da31f826e7a93d6fd65bee4428d99fb546a21c5bab38953\nlabel = \nmsg = 4d657373616765\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 147\nct = 48053b6a9b5fc58d47bcdfbc5c8d3f7f2685e02030b4cbceb1c9125041735c2226c8ae470123c776fdec5dd2e63508e3615f2", + "1e1dfc770efb3d0d71a7c0c9987bf51c546874a0f48bdd521d002e44fffa112f2c53eca37f57c88197080a18fbd5097803b12e09c36ede4458b6447a074f7fc89d612d7afdf38edb10ccbd8eb8d\nlabel = \nmsg = 61\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 148\n# Longest valid message size\nct = 6f115f2ce6b0eee10d20c59f3cc9709dcbf1813de6ddc19129bcb0517d581e1b08a73fe44327c23eb6a6ce716aa22dff7417911cdd387fd769537ecaf4b6bba88a06b5aef80b4d7e59a4bde0a4f24a96ef1097be8e6c09000dd2f57acc46d7263820e4114129a6a0498cdcc2f1c47fcebe185d904a9e463cd96d94bc3c74c01e\nlabel = \nmsg = 787878787878787878787878787878787878787878787878787878787878\nresult = acceptable\nflags = SmallModulus\n\n[d = 5683206e498cd4867f94b062adaf2d3d7498150709d45ae03790731a58303b74a30d9b37b728f1c56fc34c2abf9c21e18adcf3952416d539934809cb1b516a62d80e1082b3e4d2ce749f58c7a1c0e5907fb7c6b9c9f971c80b890bfe101c5e8a83156bd4a55283a72d0634550a9bd674b771b9e1e00619eb43d6e35112e15031]\n[e = 010001]\n[keysize = 1024]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00a1d3912e65d994e0ba51135f78844d9a3ea5161e5450d16a8cf0173a0a309a1ee94e94385dffc5e27dea6692a1713516af86df2283c8e327e60ee26a7b7cfccb0af3f4b5efec358651996b97d5b25da933b063490cf7b67073d399b04ad55c0a89f8ec36d7f5cae757dbd3d6d0f5b77f7c94e28878397cb45cfd178f3f07ed01]\n[privateKeyPkcs8 = 30820275020100300d06092a864886f70d01010105000482025f3082025b02010002818100a1d3912e65d994e0ba51135f78844d9a3ea5161e5450d16a8cf0173a0a309a1ee94e94385dffc5e27dea6692a1713516af86df2283c8e327e60ee26a7b7cfccb0af3f4b5efec358651996b97d5b25da933b063490cf7b67073d399b04ad55c0a89f8ec36d7f5cae757dbd3d6d0f5b77f7c94e28878397cb45cfd178f3f07ed0102030100010281805683206e498cd4867f94b062adaf2d3d7498150709d45ae03790731a58303b74a30d9b37b728f1c56fc34c2abf9c21e18adcf3952416d539934809cb1b516a62d80e1082b3e4d2ce749f58c7a1c0e5907fb7c6b9c9f971c80b890bfe101c5e8a83156bd4a55283a72d0634550a9bd674b771b9e1e00619eb43d6e35112e15031024100d55f5ac3627e7d4bb07c530cb26b3e0ec6cfc7753986e009c9f53d84b6940923d293f8c55b5e9820b56dc6eb008ee779a156a7c8a0b4fa5b6117a4f64233a38b024100c227f5cd75d8865f75ab467ef5f8d43ee0707250450d523230fa3786a6632dbb893ec9cf1039058521b4280529644315f9d37409915f6f5e86365ab82827d323024028403bb3fe01948b51b8b24603e65d2796739dd1cc4f5836208605dbe2415cd4082667d87b1b0621ad780efd47f6ad4df194924433a4d051aaa836334a5bc96f02402fec0d0f9976c833e7a74ecf2787335c11a9af8d807db93c0a3ab859d3d7c701f2ee3c818f4f83bd48845f1c670b0843f455ecde2fb38e999626f45d600bf46102402efab8b9b528803fe02e6dbad575d57824b794dbd9ae0b4d6b43acc1b22a42ce2ffc12ff9339af3da08387cbe73e1bd326725487eb97c71ba6f960e5dddf4207]\n[sha = SHA-384]\n\n# tcId = 149\nct = 7ba4741c3772cd872e7109004bacfdef662510714e27586e07095ffe4e4e139bfeb6cb4e5e027350d8dfa26fe9683c66a6ef4a521b0eaf64d36c937ee115c3b120a46570cbcb802f67a03a41ef80609a4214b51b803c02f0c652afea95022525e080d64d55128ac2417637ccffc2640ad3dda63fef7da5e0178840225ba623c8\nlabel = \nmsg = \nresult = acceptable\nflags = SmallModulus\n\n# tcId = 150\nct = 7d2ba23b422d3fec441fce9b3c10aea9dd38cbbda4c0dbb48145d138e1f2feb1025e6267148a7b97b47e255100790a48ffd1447aece8b2ca76ffadc045b717fec6d9b88acb731ea03b54f6efe33a5250ef7016bcb1afda26835f6607fff7a743605ee42a79eb8bce99985411b0492d50cc164e5d585a7939980104db990bd343\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 151\nct = 4b11a5380b53414c8e220d55ea0410facf28923626f16898b04b79be4b910c058345cd7f43db6195a45461f1f8c419d80caca71e52b00147d76126a6aedb142ddaa2c67104c1044d3bb4e80f9a484f19a848486d547ebc0cbb9660d64e9a0cafedccaabd1028f4cf8add52b294e8da72bea991364cdebd33e1077dd1ab3682ca\nlabel = \nmsg = 54657374\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 152\nct = 8883e1ce40ef9b6c8e84ae5fe3c0d92e0a8033b80c3ad9a0541ae54db1c6bed89de5ac1ab81bd1a7d166dfc084724ae4f0838e541e5328a0fc570a85709c00ed4b996a8c96ddceaa00af10fe219497f0fca19ed60330fa4cd273c6a99b9d2b82ad0724a58b882335e9ba971089947c3d94d1996a06a47adcfbc92424a17d4956\nlabel = \nmsg = 313233343030\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 153\nct = 323c223f243e8579ffe2c93ab2c298e12e55e0377d7e74cdc4d95480e462032a886a9702ada058c331d14f000c4be66ddb5600a52c3a1ca0982906e77bfc645a645ebefb5469cb24e66dacaf0eb10732e01691ee44d8b319f41fd74c41552d4578fff2103bdd3c0adc492b262a138131f733d621c6f1a2adac47baa6408ee811\nlabel = \nmsg = 4d657373616765\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 154\nct = 3a1f918acc9e2067e01fa888e8df60ba9fb1a99c200614b889a39b2d42c7ce6ace0b01e156acd80d75959a2975e95c4a619baed657c081d2f5772f081d857b29794667b834b979a7e38507a2682c4820a19765fc81b570ab1fc95df69896d0995b0abcfe5b29ce8fbc4b8397fe3a78f1020eed4397783818e81926f711db95c6\nlabel = \nmsg = 61\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 155\n# Longest valid message size\nct = 14bb72e13f42301b78488a06b66ff769bfeb8c92430ee3e7443a026b8f9506c6635f15dc1133f51769cbcc73143a922b274781233c7743c8e60236af69a79eb9e9b33488c809ca21918137f3c6fc4c00b9863a20a7e7f7d7ff0fe6284b9cad6c62cbbc0c63166cb14d703745ed9467b44c12cae608b944be458409a03af51fc7\nlabel = \nmsg = 787878787878787878787878787878787878787878787878787878787878\nresult = acceptable\nflags = SmallModulus\n\n[d = 00ad5144c6c266314d11dca0af34b8684a77cab12be2ffc8fd213e9289ff83eeadb70e4b6af5bdc7dd72659753ef1f84c2f8039fb13ced41f12af77bcb1cbb0333e26dcf0b27187216910d3de289487ddc843c8b66f1f662037e181dae36d6aaa3b509dd33892ed4851ddcaa4d02ec210262947517a38da2e9ed35e5801901bb6e82043bae88aa951f4a56cf454b4dcf2a9dc425525ee4b6e199320d1b080625fdc8af4e44592e87cab8753316fe933ccf044380880b1984f662c638ed8c3158f1]\n[e = 010001]\n[keysize = 1536]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00b8be129638e9c805359e6169b263265e2a8ec4b849101f2a321ce523665e399954ac3865ee8c85d14f3d3f24fbd583664bf09394cbc7f7ffc98aadc94eda35ca4b9614fd2d773c782086a1ea9ca23f357cb2cdc465fb85100172845d6b2906dc9315a542d204bcc4dce68d90484198e2350cd682eef9313a13df3607669aa4dd186f563ba0ae3ee054f857a92985f2694a54e1a87ed7327acbfda3e61ecbfecfdd1b7b2d08dd306122fd44268f08463306760f40dfb7634e71d7a72f1224e611]\n[privateKeyPkcs8 = 30820397020100300d06092a864886f70d0101010500048203813082037d0201000281c100b8be129638e9c805359e6169b263265e2a8ec4b849101f2a321ce523665e399954ac3865ee8c85d14f3d3f24fbd583664bf09394cbc7f7ffc98aadc94eda35ca4b9614fd2d773c782086a1ea9ca23f357cb2cdc465fb85100172845d6b2906dc9315a542d204bcc4dce68d90484198e2350cd682eef9313a13df3607669aa4dd186f563ba0ae3ee054f857a92985f2694a54e1a87ed7327acbfda3e61ecbfecfdd1b7b2d08dd306122fd44268f08463306760f40dfb7634e71d7a72f1224e61102030100010281c100ad5144c6c266314d11dca0af34b8684a77cab12be2ffc8fd213e9289ff83eeadb70e4b6af5bdc7dd72659753ef1f84c2f8039fb13ced41f12af77bcb1cbb0333e26dcf0b27187216910d3de289487ddc843c8b66f1f662037e181dae36d6aaa3b509dd33892ed4851ddcaa4d02ec210262947517a38da2e9ed35e5801901bb6e82043bae88aa951f4a56cf454b4dcf2a9dc425525ee4b6e199320d1b080625fdc8af4e44592e87cab8753316fe933ccf044380880b1984f662c638ed8c3158f1026100dd9fcb8fe2c6d7d3cc0c52588aabf47c8919e4ab8f056c1cad8383c073a0989aae1242f2842c9c16efb50277ade40eb02201b4dccebff3a7498012a19b3703953602b6fa611d12126f40872ee2be249f0d8109bf61934375283b1c96e7c2d94b026100d565c93033998143659e1fa9efe089f05fc225cdbee5452442d59909730b48a1c2018ceb97f25903db1eaf8735f8269b5ffd7d7a3643e3ae8d736602c1a1f26f897ae68654bb3380f2cadcfe6503c0347c84e1bfffe0019aaab4c2349d92609302606f4c205e51f4a9cea35a4cc04a63b0941a05f6e07122b7f86eeaecef6921ed814089cb351f4b87d7bce99a23a02037801c93ded044c40108b1d0af8a98f837c4672b55d8c78c61d70027d7bba402f94126f6f67e35f24e9e3765f825909e39a1026100b10e4ae75b68b9ff9988a0ecf6c26eb0aa4303eab9c0b0a56d6e9c136308b1b2c4ad54a704e36747f3be7a14cd8a9f3dbb5f2f84ff11450fc6fd405e791a4d748db5131fd19da116145c8d0fe5f03ec14daf533f62a611aeaa845fbe181f2351026045a036c72629ae8dc5dc6ea1cc5e8d81fdba1076218c14e724b941835b1901c70dfcdf231ad63b1942f3d79cc561c42b7e7013a97c1acb5a1e49ea44c86201c7feb57b4afd83e3328c82a94267d5d6a4a42d726025ebd334c9692190a603e230]\n[sha = SHA-224]\n\n# tcId = 156\nct = 14aea2a65cd69549432674606fea1005f288e49529f36d5d8036b83a5f11d81f8bf83fd6147142e2e93ce35176f1058c4a52de4bac860339a1314230338392cf8e3bc28f98724892bfaec3aba58fe18e0e93287b520227dad103623694f076c1714ec63e2f999a20dec6366cd7c38690f819b378ddbc44b7fc5ef598fff5fb3c9ff20ea18405ee7b583ceb7e214104d73c7d59fabf59441548792bb81ab391b9cf4296cc249f3f8322f200c38d3d75d23aac8c4f3e0e635142890f6362592e53\nlabel = \nmsg = \nresult = accept", + "able\nflags = SmallModulus\n\n# tcId = 157\nct = 1b61840e5a88d3216ab3af309603429158f113a9bedc4a8ecb10843e7374b2068ef16267af414a87cb8b95e554964b7de9b3581049f012e5541009054df1c11bc6f477a29ab6bc834bc0086e9400015bdb90a38648d04c104f5b7ba0c07bb9eb35716d16378ad8837b9b09d4b8019697769080a01688f2ebec7b664db7bdca665ce98c6e472ca1933dbc23a9f23f1ac876e64e0cb046767b3dfeecba96d71f36112462d7e9620c1adac37fea58d6f65f12516b56aed7907659373a4d3560a228\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 158\nct = 1d862c83a1ee6444e8b815a5392f1d7a1b7b6e18881eb86db3ed2dabeac1b11e02ff3a32527e8b2c5af2cf402d0e5710546eb86ee86e4e63ec506d9b4490ece125584a16bea4999b71690426eb1fac437d09f46a96733c0c1f0e9fac16d31e5ea534d421e59354a35f181943662eb3ed486dcbdf7e96f8669ec7900a37b593b43024aa7cc0c9fba3fd84a49977446f56cb4d9726b421098a5661ca233e384b139c33dfb84dc34d8c061f0b4ca8994c23fb690c73cb654977999b6ef66055fb09\nlabel = \nmsg = 54657374\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 159\nct = 011d51f9770e151fa2358e7de7912b82000fc13aadf7ab2c1bfbedb7a68677a6d34daf1772292dc1934a2451ac3efb0a6f6b23da1af804f4a9cf50036dfd22d04ac28c7979b5f268bd47369b20ab1e660ef305cc049835d8352ef1f6eb7bca8dab223f446c3343145ac14334d6aa3ed7adbf5bb8323de38f7d720a72de06c9d2b6a8cd72ee2bef4afda6a9d28db00bb1a6184b05b53875e799179c99d92dbbc1d83119cbfec62ee911f2024e89a5d9b4431c066a9fe4e7f045f48b383871e86f\nlabel = \nmsg = 313233343030\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 160\nct = 81e6cfae9ca349b61d058c04260be3a1ef0413debdd5917eab5a76e391b9596655ee9a93ee88bc54f9db18d142597a71ac77d1633f5a1ff80d97e82b22f07385d06f842308d0370161add9449a0a259f959b3d2b0cee49cfff22734e47f3a405a588e078e0e85c4d7db349e8a80a5801fe94eeb1e93a9dc35caf852eefcdaf186393f984b555845df34d815a35fadb7b0332865d6f0060f053d35cd64ef7b0f3e400a647d5349842296748e61e3bee93a35ae4b6d2928651051e4b2a42d4ba20\nlabel = \nmsg = 4d657373616765\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 161\nct = 65a481a32d0668c27b40c05bacbaf081f5f8374bc922d6eb877b450aef275b8712748d613ad5c4d8738f1413384439f582af03de2736c3d81b00840d2b12edec56e25def1ea3af3fae2b7ed9597c8dcf07940e9f10ef7d2c5ef41818231998a10affdcee04d8207038822b6361ce6373a37ed854a77804f0b52831abf6e188cbd32a74f92912ae07c622214ffa896858ec84863a24d50474aef4c529ec95f7194873dc4b9f45481242ab69d0856d0afd03034945ccadf6b02879a8e873f78d66\nlabel = \nmsg = 61\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 162\nct = 85819af1ee3425baf97dee96759e864dad21e648fe90407fd0476568d97dca5f27c367dee5a45515ca7ca95d85a8e8be443c1820c41525ce161132c56ee9cb04a811293e8a39876f2d0bbe593270d3515c6e1ecd2b602a12102bf55d1e0daaf8013992915dd607d2cd36556e5092240cf4eda2b06bce26559f052415b96d4189db5d81778683fba8340c3394581a99296999d00d9c4cd826d7dcaac7c3436122a1f2699f49f47f05acf6047dbfd057314ab649b0ab9598d992e80b5df861d2eb\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 163\n# Longest valid message size\nct = 58d368aee5a9a087181d2fc821ece9fa169239b3858338134f00a0a00008e60edf4a1e810d8429ca1dec8df38b73a63605cd2206eadbe56e85f7e8c8d1be1c19387d757a1c1b4264408ad730d7381913c2dc44d7a5b0877a68b778cee543725ee26639399de41ea5c7cfe09fdda42f3daa759a83ca2d1617b7feb6e9e4613447cbb89a88cc1ca6a85b7248e2e3796fe7e65b7873586daf308a5152d9031dcdfea22463b786cb86a2f9309e26e3cfe115978bbc0fe3e598ecfe13794e2bea01c5\nlabel = \nmsg = 7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = acceptable\nflags = SmallModulus\n\n[d = 00ad5144c6c266314d11dca0af34b8684a77cab12be2ffc8fd213e9289ff83eeadb70e4b6af5bdc7dd72659753ef1f84c2f8039fb13ced41f12af77bcb1cbb0333e26dcf0b27187216910d3de289487ddc843c8b66f1f662037e181dae36d6aaa3b509dd33892ed4851ddcaa4d02ec210262947517a38da2e9ed35e5801901bb6e82043bae88aa951f4a56cf454b4dcf2a9dc425525ee4b6e199320d1b080625fdc8af4e44592e87cab8753316fe933ccf044380880b1984f662c638ed8c3158f1]\n[e = 010001]\n[keysize = 1536]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00b8be129638e9c805359e6169b263265e2a8ec4b849101f2a321ce523665e399954ac3865ee8c85d14f3d3f24fbd583664bf09394cbc7f7ffc98aadc94eda35ca4b9614fd2d773c782086a1ea9ca23f357cb2cdc465fb85100172845d6b2906dc9315a542d204bcc4dce68d90484198e2350cd682eef9313a13df3607669aa4dd186f563ba0ae3ee054f857a92985f2694a54e1a87ed7327acbfda3e61ecbfecfdd1b7b2d08dd306122fd44268f08463306760f40dfb7634e71d7a72f1224e611]\n[privateKeyPkcs8 = 30820397020100300d06092a864886f70d0101010500048203813082037d0201000281c100b8be129638e9c805359e6169b263265e2a8ec4b849101f2a321ce523665e399954ac3865ee8c85d14f3d3f24fbd583664bf09394cbc7f7ffc98aadc94eda35ca4b9614fd2d773c782086a1ea9ca23f357cb2cdc465fb85100172845d6b2906dc9315a542d204bcc4dce68d90484198e2350cd682eef9313a13df3607669aa4dd186f563ba0ae3ee054f857a92985f2694a54e1a87ed7327acbfda3e61ecbfecfdd1b7b2d08dd306122fd44268f08463306760f40dfb7634e71d7a72f1224e61102030100010281c100ad5144c6c266314d11dca0af34b8684a77cab12be2ffc8fd213e9289ff83eeadb70e4b6af5bdc7dd72659753ef1f84c2f8039fb13ced41f12af77bcb1cbb0333e26dcf0b27187216910d3de289487ddc843c8b66f1f662037e181dae36d6aaa3b509dd33892ed4851ddcaa4d02ec210262947517a38da2e9ed35e5801901bb6e82043bae88aa951f4a56cf454b4dcf2a9dc425525ee4b6e199320d1b080625fdc8af4e44592e87cab8753316fe933ccf044380880b1984f662c638ed8c3158f1026100dd9fcb8fe2c6d7d3cc0c52588aabf47c8919e4ab8f056c1cad8383c073a0989aae1242f2842c9c16efb50277ade40eb02201b4dccebff3a7498012a19b3703953602b6fa611d12126f40872ee2be249f0d8109bf61934375283b1c96e7c2d94b026100d565c93033998143659e1fa9efe089f05fc225cdbee5452442d59909730b48a1c2018ceb97f25903db1eaf8735f8269b5ffd7d7a3643e3ae8d736602c1a1f26f897ae68654bb3380f2cadcfe6503c0347c84e1bfffe0019aaab4c2349d92609302606f4c205e51f4a9cea35a4cc04a63b0941a05f6e07122b7f86eeaecef6921ed814089cb351f4b87d7bce99a23a02037801c93ded044c40108b1d0af8a98f837c4672b55d8c78c61d70027d7bba402f94126f6f67e35f24e9e3765f825909e39a1026100b10e4ae75b68b9ff9988a0ecf6c26eb0aa4303eab9c0b0a56d6e9c136308b1b2c4ad54a704e36747f3be7a14cd8a9f3dbb5f2f84ff11450fc6fd405e791a4d748db5131fd19da116145c8d0fe5f03ec14daf533f62a611aeaa845fbe181f2351026045a036c72629ae8dc5dc6ea1cc5e8d81fdba1076218c14e724b941835b1901c70dfcdf231ad63b1942f3d79cc561c42b7e7013a97c1acb5a1e49ea44c86201c7feb57b4afd83e3328c82a94267d5d6a4a42d726025ebd334c9692190a603e230]\n[sha = SHA-224]\n\n# tcId = 164\nct = 8d76c9cdf4c7a5ca6306390a7c12044112998f4b7c5b90012a1255cb88b608d2c56b78611e3c669d0457af1e91a0f12bf17790a6083a56897104994d17bf9adb5e69a7ca82521e9266f7bfc07edf488598a8825fffaf50aeea07dfd8255dd6f824e2941d69430a1f9f017c4b6f0e01c3fd0fd96acc71ab5ff58b0c3875e711bc20947923ffb8f5729b2e6351d6682cd30ae1ba3a91466d4d556214f64acd9a29e6525407ce7d30a41aaf31032641cb7bcc6ac69e139f45d97995e78c4b72c375\nlabel = \nmsg = \nresult = acceptable\nflags = SmallModulus\n\n# tcId = 165\nct = 2cfc7319daef9a8e5c0ceee064b5aef4d47d8b26ca9a6c336d54d22c24b44212e7c6049c41541c5d40a801bb5a401417ef783390a2bc1dfd643b9ef692ab30dae51699cec25f3c9264101b4d6b3de4ac98db8ac894330e966fa33ee9420a6a9fd2129bfe1a9032693033906d286bd6c0784c435608ee0b6b036f3733da08619ad0ecd9187684d72d5dc62096cc38d179b01e73698d61830fa33254f45e232157c92d9f3877c019ffd5d865605d4fdfeeca332694df09b9aa4397bd81f467ad16\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 166\nct = 4976bd04442dd32782c211373a934f1cc854cec57b8374c02927993d0527339b18dc8ca529c2b6ea027598e07ca8010507babf446fa6d422fe5c756de3ae1c419dbeca5e472dbaaa5f547856ace722cb752c27397a886d9ee6387850b04f1dc1e7e5331822bff8a5fbb19e134f9f821bc13ef1567fa372d8076173625c04122d342a1c84e70f631f4085e4df9e222d9d866536100869c27c9b8c64bc3ff893cb7b828a285be83229b2412cad9f5918ee1449374137060c5807fb7718c027e1f6\nlabel = \nmsg = 54657374\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 167\nct = 65986ab72b7c510df790262183bd37d18d3160b99f87442fe3b80a6f25a934d592ef4016cf3fa58a99e2b119897e489e6dae0fab60fbd2925e862aefb1889c2f582111f8c71e075e0eadc0edb02bd11cd415b5b168bce8ae7f70318113bcfa3e47592007256bdd12a1dcda2f2a7c50baf1a100822d133475a276e64db54a90d385a4dcbc73545a751f6e81bebd8b3209fe2945853e6cffe7d72d83f8345a059c", + "1218090cb2c43974bcdeb9f924f6767147e6d7a0a0560def1ec295cd091e0903\nlabel = \nmsg = 313233343030\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 168\nct = 749202ed43f822d1a2d974b0d66ffb396f26e82a0198c60ea74d916c6360a7a9a2781a909de4ad874171d79406af3400b351909dc5ce293e88e2e698946aa3f346b6f458e438bc1e73c07db9f684d0c9e2630c31b5b0d976baff5ec0a17db8a66ae98bb554221cbf7026331b4f1a04617db2e6e0365779a835e6fddd583837f24b75921b532fcf25d3c02e6d703a0ab5d59b71392e74ff42f0651bfdc284f0e5d47975f9271cecd14e3bcda344eaf7e44e5f54fa680d5fadf2bb39e073c31b77\nlabel = \nmsg = 4d657373616765\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 169\nct = 849f564ff0d19773cd40cd95ecdb26758fb0c4129b67d57a5b930eb4f3a5634a8bd8ab4cd08b376501de3983f9b92d3a548ab83205b88da068a072222475c4ff38c7b535ac03f382ab2fafd2e61e8ab7cc2d1d2ccce6d62d6c58070bdaeef13f120261e5db85d5b596b7f1c700a3862e4f14a88679819d019f2466ab666cc12e913f69abeb144ce0e5bd10b9dd67673073906e203799e8bb551db6b4ab9a91007ae493223c8270cf45ab1d7b9773f96eaf4068a708cb1e890effcb430e19f86d\nlabel = \nmsg = 61\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 170\nct = 148c9c73f4e70520f196f0324fa7081875615ca852960d0d2f63532e5ce602f085921772fde1305d838d2def778390f8b8ad0dd7d527c6ae484293f87ab8fcb22295e42dca3378270b562a1bcf48e9fa5a975870434476830951a7c01001fe322f9be76326f38b76178a36545778c1374b0c2a333690e12c4ec001a7992f5b2d038a4baee409d5afdec795912f1ccd4e07ab5ef2d4bae47595de3f3018cc02fee2897c7c66267e1db5ba4adfd024f429b064d7cbd25621619eb61470734186ae\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 171\n# Longest valid message size\nct = 40b8a48e620b1b413416d4da775cc9c8df081d558c1a5a7213cf15138789915b4c215c9edf14b92cde9b81137e6777348ff376f1d268e1f2e38e426631fb22c4a2b13184799303e48b0159411172678ab247ea19918eae9bbda49624609d402dec0bdeedeccb96ccd3527c5f461da8d690777597a23416c8bf1a18c31f5e6e2f3e17240cea49186f77860cb5eb0c0a8a7296098d41cfe1a39dc0f3ed2a0a6d0f7ee1e6fd51d04f5f5d0153164d8f85ab17ae36b720bf6ec1b1be2232b103c2b4\nlabel = \nmsg = 7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = acceptable\nflags = SmallModulus\n\n[d = 00ad5144c6c266314d11dca0af34b8684a77cab12be2ffc8fd213e9289ff83eeadb70e4b6af5bdc7dd72659753ef1f84c2f8039fb13ced41f12af77bcb1cbb0333e26dcf0b27187216910d3de289487ddc843c8b66f1f662037e181dae36d6aaa3b509dd33892ed4851ddcaa4d02ec210262947517a38da2e9ed35e5801901bb6e82043bae88aa951f4a56cf454b4dcf2a9dc425525ee4b6e199320d1b080625fdc8af4e44592e87cab8753316fe933ccf044380880b1984f662c638ed8c3158f1]\n[e = 010001]\n[keysize = 1536]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00b8be129638e9c805359e6169b263265e2a8ec4b849101f2a321ce523665e399954ac3865ee8c85d14f3d3f24fbd583664bf09394cbc7f7ffc98aadc94eda35ca4b9614fd2d773c782086a1ea9ca23f357cb2cdc465fb85100172845d6b2906dc9315a542d204bcc4dce68d90484198e2350cd682eef9313a13df3607669aa4dd186f563ba0ae3ee054f857a92985f2694a54e1a87ed7327acbfda3e61ecbfecfdd1b7b2d08dd306122fd44268f08463306760f40dfb7634e71d7a72f1224e611]\n[privateKeyPkcs8 = 30820397020100300d06092a864886f70d0101010500048203813082037d0201000281c100b8be129638e9c805359e6169b263265e2a8ec4b849101f2a321ce523665e399954ac3865ee8c85d14f3d3f24fbd583664bf09394cbc7f7ffc98aadc94eda35ca4b9614fd2d773c782086a1ea9ca23f357cb2cdc465fb85100172845d6b2906dc9315a542d204bcc4dce68d90484198e2350cd682eef9313a13df3607669aa4dd186f563ba0ae3ee054f857a92985f2694a54e1a87ed7327acbfda3e61ecbfecfdd1b7b2d08dd306122fd44268f08463306760f40dfb7634e71d7a72f1224e61102030100010281c100ad5144c6c266314d11dca0af34b8684a77cab12be2ffc8fd213e9289ff83eeadb70e4b6af5bdc7dd72659753ef1f84c2f8039fb13ced41f12af77bcb1cbb0333e26dcf0b27187216910d3de289487ddc843c8b66f1f662037e181dae36d6aaa3b509dd33892ed4851ddcaa4d02ec210262947517a38da2e9ed35e5801901bb6e82043bae88aa951f4a56cf454b4dcf2a9dc425525ee4b6e199320d1b080625fdc8af4e44592e87cab8753316fe933ccf044380880b1984f662c638ed8c3158f1026100dd9fcb8fe2c6d7d3cc0c52588aabf47c8919e4ab8f056c1cad8383c073a0989aae1242f2842c9c16efb50277ade40eb02201b4dccebff3a7498012a19b3703953602b6fa611d12126f40872ee2be249f0d8109bf61934375283b1c96e7c2d94b026100d565c93033998143659e1fa9efe089f05fc225cdbee5452442d59909730b48a1c2018ceb97f25903db1eaf8735f8269b5ffd7d7a3643e3ae8d736602c1a1f26f897ae68654bb3380f2cadcfe6503c0347c84e1bfffe0019aaab4c2349d92609302606f4c205e51f4a9cea35a4cc04a63b0941a05f6e07122b7f86eeaecef6921ed814089cb351f4b87d7bce99a23a02037801c93ded044c40108b1d0af8a98f837c4672b55d8c78c61d70027d7bba402f94126f6f67e35f24e9e3765f825909e39a1026100b10e4ae75b68b9ff9988a0ecf6c26eb0aa4303eab9c0b0a56d6e9c136308b1b2c4ad54a704e36747f3be7a14cd8a9f3dbb5f2f84ff11450fc6fd405e791a4d748db5131fd19da116145c8d0fe5f03ec14daf533f62a611aeaa845fbe181f2351026045a036c72629ae8dc5dc6ea1cc5e8d81fdba1076218c14e724b941835b1901c70dfcdf231ad63b1942f3d79cc561c42b7e7013a97c1acb5a1e49ea44c86201c7feb57b4afd83e3328c82a94267d5d6a4a42d726025ebd334c9692190a603e230]\n[sha = SHA-224]\n\n# tcId = 172\nct = 61175542eeb4703c2a66ad74d480bd1ab0080cc112537977b180969bbd082ebe4d9976aaaceea6ca2c8d28ffa1255e700b34ddec1048d85c4a4b275bb50ade83fc71de58291eee99869c8465e9eba1d5b21a903413d2cf2dd50bf4e03662cae42d6f9424637be44c13ff92238cd7439fe9ef9e3f84e9a7882c4174fb9a7e75df19300fd4a24e888690a03ac2d39b7557746d15b15244f3b6e38de6a81e1244f0691967bde8c0288781282bb4c4aac543d3ad86761573c1a11ff1b9e7f9aff33c\nlabel = \nmsg = \nresult = acceptable\nflags = SmallModulus\n\n# tcId = 173\nct = 2f73977acad30406126713a2abb3dd28ed1cc7d200c1789f8645b215f9d1871095f564cd7067afc3f7954851b7e4fe59a5f7cb4d84705a2aadc32646463634a35c0c8aed8159ea170f05379ddf5bfd5a8244adfc5634697dc0d12ddb438e2539a2c760ae42f65fa878c674384a1ec837f60ccc629d73d7859dce9e111141c466e11d6d6e50d4cace53531cd8d9cdfae1f5f9ab3193ca86fd8ed6d1051d2efe6fd724c35ce532ba8964401a1d4f2cb485f27e26208077efb89689368d6f6f0d7b\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 174\nct = 607c6b0ba2000b83bffaff98af0d7dd269095952d6caf87fb5512b74edd258c2a6d64c715bf6ebbddfb6ad6086fce89f354e23785da8eb2e538a4c8ff972267a4531defaea27bbc725bb21f1270d7a3f2ef36d080270ca2a6b2967eea00990768e3451893e9be087be39ea257e81dba277feb8a6e9682a713687c1c6472f1c25b05f8e6e7cabca1a723b62c1237612a91decb1995e6be6d3a9e8f42a1707c18c6be17dbdcbe15f51c06a91b660a29e646c24387e9cc175bcafbbb0c85f1b4468\nlabel = \nmsg = 54657374\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 175\nct = 23b5e46e2ded0645d516d027b3dbf14a205f9a17e7c31a4581675f73df450d1c6621ad0234dd48641c40a09a103a0989fd394acce8dbc986d5dacaed0f5c78266f89a6f5758ad4cc9e95d089942840dd69f35c40418debd16c262fa1871795187081bd28f53ecd97734f16ce4d40ca4e1cca30b39fb7605e31a601dae6987ea2b9038e62cd5299cf32d7e9f4fcd35701a33173bbc5d74e20d182fa9ca8329c723192d2a7ef83a0e50a71bb2f86d5785697935d27fe3894f772b9d35bd7dcd0fe\nlabel = \nmsg = 313233343030\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 176\nct = 9afbac33c657756d3c29549a70a13130dd8a6b3f34e10b0f600832b0c16119f6f3286d9094d0aa2e5ecc51f25760679a2952c1b39750fda4d5bb692f24ba4a878b34bcdd57b39049214e66c3b5c4cbaccde003ddabfb03ded6abab322da48008e93e4338e41284b5939f10120893d1114a1d9db0764a4221b9c9c7b8e043cecf8e4d9dd069ea01def60103f0f8c78be753705629cdf2a51ef8a17d6f3741705768ed1235c7d7b670829c8cb6e09308624a4677b17d57db131e11b0785c4671f3\nlabel = \nmsg = 4d657373616765\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 177\nct = 18de67c13961157de2eec683aa3c19e774bb91d6188f51bbe13c5fa15ade171b9b56da9338b6de0eea3faadddf7f435b8982ba8f2b43ec1fe7ba87aae2f5305df09b77935be64c731f2873fb74ea4f1a23ef8b35c60fc9e43cbfafb2a23b0bed08add52b63bc2faaafff20ff76d672c6d0922d1a293ef815b6e67956e9067748b41185338015a23812f0b118fa58d6c054eb85568f8eed0984ccf58872b13cdb751384314326bbbbb5b26a4587fec95f3058468308e524084e89648b0bcb321e\nlabel = \nmsg = 61\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 178\nct = aa6572a082543c2d16eb79d0bdfc777d07d7ff35f48f83c092f2470eddb14c801c8384a83e94c15ea5da87467dde5af6fe5e8aa6f8a8f6545ce772df29a5b6607803f58a13f973bf6bb0afaa77a16eec17db6761dce5fd66ab9f70ff3a6d43c156a5875768f34f21d00c32f743823e673a7be8a763e47d0f1853", + "1e9bf5cf405580cea8f70e2414f5550d7fe5ffb9a63c409747e88ebd52e64ca7dab26532bf3ae6f4248ce7b1b532382e67f2e93a327daddace1ebc2a2d7cace0f5a9da13a388\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 179\n# Longest valid message size\nct = 2d3618dac929f5e5fadb7a5ebfde536e77728ed6dfdfccab0627b9e80fbfc7a6429213c2e2ec56fc8d65894e26c907b06790312d09103e161d64393d290f0bac005b671730059364e690280b9f8153699c05b3e36910ac508c71048a444cc21cc32a630c1f76907016c659e10ee02645e5a0742241ebd6e731bde0087ca61bead3617d7dfa0134e8b9cccdbadca319b62ddef03c0ed8e8d1fe7422bb6f11125394b1d013aca78e662c3c065b0a236ec9f3c27c4feb6554ff8385b8f8665d0d7c\nlabel = \nmsg = 7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = acceptable\nflags = SmallModulus\n\n[d = 00ad5144c6c266314d11dca0af34b8684a77cab12be2ffc8fd213e9289ff83eeadb70e4b6af5bdc7dd72659753ef1f84c2f8039fb13ced41f12af77bcb1cbb0333e26dcf0b27187216910d3de289487ddc843c8b66f1f662037e181dae36d6aaa3b509dd33892ed4851ddcaa4d02ec210262947517a38da2e9ed35e5801901bb6e82043bae88aa951f4a56cf454b4dcf2a9dc425525ee4b6e199320d1b080625fdc8af4e44592e87cab8753316fe933ccf044380880b1984f662c638ed8c3158f1]\n[e = 010001]\n[keysize = 1536]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00b8be129638e9c805359e6169b263265e2a8ec4b849101f2a321ce523665e399954ac3865ee8c85d14f3d3f24fbd583664bf09394cbc7f7ffc98aadc94eda35ca4b9614fd2d773c782086a1ea9ca23f357cb2cdc465fb85100172845d6b2906dc9315a542d204bcc4dce68d90484198e2350cd682eef9313a13df3607669aa4dd186f563ba0ae3ee054f857a92985f2694a54e1a87ed7327acbfda3e61ecbfecfdd1b7b2d08dd306122fd44268f08463306760f40dfb7634e71d7a72f1224e611]\n[privateKeyPkcs8 = 30820397020100300d06092a864886f70d0101010500048203813082037d0201000281c100b8be129638e9c805359e6169b263265e2a8ec4b849101f2a321ce523665e399954ac3865ee8c85d14f3d3f24fbd583664bf09394cbc7f7ffc98aadc94eda35ca4b9614fd2d773c782086a1ea9ca23f357cb2cdc465fb85100172845d6b2906dc9315a542d204bcc4dce68d90484198e2350cd682eef9313a13df3607669aa4dd186f563ba0ae3ee054f857a92985f2694a54e1a87ed7327acbfda3e61ecbfecfdd1b7b2d08dd306122fd44268f08463306760f40dfb7634e71d7a72f1224e61102030100010281c100ad5144c6c266314d11dca0af34b8684a77cab12be2ffc8fd213e9289ff83eeadb70e4b6af5bdc7dd72659753ef1f84c2f8039fb13ced41f12af77bcb1cbb0333e26dcf0b27187216910d3de289487ddc843c8b66f1f662037e181dae36d6aaa3b509dd33892ed4851ddcaa4d02ec210262947517a38da2e9ed35e5801901bb6e82043bae88aa951f4a56cf454b4dcf2a9dc425525ee4b6e199320d1b080625fdc8af4e44592e87cab8753316fe933ccf044380880b1984f662c638ed8c3158f1026100dd9fcb8fe2c6d7d3cc0c52588aabf47c8919e4ab8f056c1cad8383c073a0989aae1242f2842c9c16efb50277ade40eb02201b4dccebff3a7498012a19b3703953602b6fa611d12126f40872ee2be249f0d8109bf61934375283b1c96e7c2d94b026100d565c93033998143659e1fa9efe089f05fc225cdbee5452442d59909730b48a1c2018ceb97f25903db1eaf8735f8269b5ffd7d7a3643e3ae8d736602c1a1f26f897ae68654bb3380f2cadcfe6503c0347c84e1bfffe0019aaab4c2349d92609302606f4c205e51f4a9cea35a4cc04a63b0941a05f6e07122b7f86eeaecef6921ed814089cb351f4b87d7bce99a23a02037801c93ded044c40108b1d0af8a98f837c4672b55d8c78c61d70027d7bba402f94126f6f67e35f24e9e3765f825909e39a1026100b10e4ae75b68b9ff9988a0ecf6c26eb0aa4303eab9c0b0a56d6e9c136308b1b2c4ad54a704e36747f3be7a14cd8a9f3dbb5f2f84ff11450fc6fd405e791a4d748db5131fd19da116145c8d0fe5f03ec14daf533f62a611aeaa845fbe181f2351026045a036c72629ae8dc5dc6ea1cc5e8d81fdba1076218c14e724b941835b1901c70dfcdf231ad63b1942f3d79cc561c42b7e7013a97c1acb5a1e49ea44c86201c7feb57b4afd83e3328c82a94267d5d6a4a42d726025ebd334c9692190a603e230]\n[sha = SHA-224]\n\n# tcId = 180\nct = 0124e2c14688e3236e0cc2f7daf336a781b10d13b3448456611162cc93f952d02c69a87f4f31b74d6e02b282da66b0331dbcc55d153a56ad4fc159ae87a65786c50018c2d0cd8568653e8c7135c8a2ffb8ffd0b27143a1be0874a6167c4b2061252836f0f6b92cc7c189c77aec3ea0b9dcf0be5c3317487c064d52ccb5d7e903e1c22686c8504222055e696d948aafbbf4155342aa3a25b97f4409ca9652370f4cf958ae07f19f2130822a5bc65590f449a8f75f620f9c23ef22b16479dc7ec5\nlabel = \nmsg = \nresult = acceptable\nflags = SmallModulus\n\n# tcId = 181\nct = 26501dfc7c2fd13bfe3dce246e3d757684072f08bbe9f6b42e86a86fa6879a404d4ed2791e64dd41d79537242e3e243d7f36f065323a66e31499fd2bbeaddf95ab38a6f104a397552ebe99f220d5e9f612ae5646abf2961cce431afbdb2cfaee6553884aeb8994caded204fb83bc1152573295663bcc57759b70960dd9e7570e5787a05513f3bb2089b5494f4f2d4fdc4a8e06871f103c97e11a40247a7f4ad00be559060c8918dcb584f88fd842464eed8a21b04881d197cf6de5ab6521c1b5\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 182\nct = 99383c170eed1f70e58edd721f194573bcaa79e84aac4c73dfc0b34dcbfbbca5bd66e3556c9d47059f191d3854f778276d2317428c8b4c5e49ab6108e6fe7bc4ae9dab671963e1201b937c40ffda8fbb68a895c6e61f0a67a653fa3e47770abcf51d81116fe8c5dea265e8cd18e7c04d560745c7733e9841e95e162cbce2298672f170ac8293ada9c8d79b1add2629bc3849a9856cb6ed47e881374e515705ca0689686a94fbb7e771e6d1e2d511bcba8e78b199f1bb16b4da05e5846a5d9136\nlabel = \nmsg = 54657374\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 183\nct = 6a20051a447548048b7b82769fa5c014bff46d2eb41d1fc14623fad0b7fa16c010153023db19c7578a4bcd050a3a3f9c2e8828e9123308edc23555a9f21c9b5392107978ff27a36d2d06c5a445bc3067beb221e0734fe2f8d2604cb7aecdbc439216523402f90c42908f71fea008d0591830ffbfa965b7b51b7156460bf36e6f18b6a760f658b7e9d6dc41872552bdeab1af17b052c1e3ace46badf46000ed9bdb8b019b68cc61589bdd458da41d257e0526828f12e4eec2e164bbc8dce26032\nlabel = \nmsg = 313233343030\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 184\nct = 5dd9616822677a9bb429020a56d2a6508f829183f114406d7f061546317e10aa40f36f650f8dfd9bb3fd5e7d0e42703c6961b65ee25327c78a3c8b188bf1f9830d76e48eb46432c842ed44ca66d0ea00b6e3ca9840cd460768cfc54099ef1e85f8b630bb942fb491976cb71051b0112e706ae8de4503fc8c1a67051d6775f7db7433de38bb3c04e7b8c789d2ac0c11916727e767fd6632fcd61fe20ff7c6bc0393ddd882d14f666bac8621ad23cff64f40cbdaf2e9b16666f3d1389325a9374c\nlabel = \nmsg = 4d657373616765\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 185\nct = 9d9a0410fe0d8090de98afa56950be549bb2f72a0d112f138149d0d12433bae72b0bb8eae0d38983be1b85a990d0276f32aa683ee3d577421d1de47e100f3064d4893521bbd6ae16761fdbcb8484305b5bb0a7ee84796628b93bdb0923f6aa696bf3f62ded5e9aa26f2a59429b8464598f22aac6cb2647d89b5016a95fc7d259f141e9374a591c0fc3f3429a13babbaba634551b16ebaa0b466138ea48f392fc9e0b39032568cad870f3195cd03f2db02adf64896c27c12d8083ebd88a1b6c07\nlabel = \nmsg = 61\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 186\nct = 97b3054cc2a6a3b24f55bb8624802ff80126e79d6ed617dcc327e4ec5953fa7d593c10a6091bde358ff3548859c6fae45cf9b951a9768753454ba99ce090614ed64407d21fd824a537208eccf43dbdda046ae1e417701eee92a3d8f56145b4cdd86e912c8eb2de56364159e7bf3111e1c7b9560f81c0d0154abd069f463f2541807836d69e0ecd718582ff732c428f2f06f6125569742d3a9e18e73230d54326b6f4fd4807d85bb15f7ae56ef93323f6f527b66133e0d01313b859ce78c43023\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 187\n# Longest valid message size\nct = 9f7a8f81c4093ea7487f99590297571c34df30ef74164fb0841866da408c7eff1ffa479cd8698c37c0ebc34061dfe559270d6c5b46fe4e4bcd419951b6e5d21dbc390c2f53521e958693123cd4c785ca50204aa38f9d8bae467a03ed523ab54fa5e1ff1c0e2b5608a8b3de823bfcc598a1b6e44d4b4e33a78efb371860f64ad2de0f6a53dcda572f9660f3c6a1cc0baadb0fef15f2e0a182414ca5033993eaff99ea8a2c6836101e65f2e460f838d738e61fe78df3f27b4b41379e6eab979fcf\nlabel = \nmsg = 7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = acceptable\nflags = SmallModulus\n\n[d = 00ad5144c6c266314d11dca0af34b8684a77cab12be2ffc8fd213e9289ff83eeadb70e4b6af5bdc7dd72659753ef1f84c2f8039fb13ced41f12af77bcb1cbb0333e26dcf0b27187216910d3de289487ddc843c8b66f1f662037e181dae36d6aaa3b509dd33892ed4851ddcaa4d02ec210262947517a38da2e9ed35e5801901bb6e82043bae88aa951f4a56cf454b4dcf2a9dc425525ee4b6e1993", + "20d1b080625fdc8af4e44592e87cab8753316fe933ccf044380880b1984f662c638ed8c3158f1]\n[e = 010001]\n[keysize = 1536]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00b8be129638e9c805359e6169b263265e2a8ec4b849101f2a321ce523665e399954ac3865ee8c85d14f3d3f24fbd583664bf09394cbc7f7ffc98aadc94eda35ca4b9614fd2d773c782086a1ea9ca23f357cb2cdc465fb85100172845d6b2906dc9315a542d204bcc4dce68d90484198e2350cd682eef9313a13df3607669aa4dd186f563ba0ae3ee054f857a92985f2694a54e1a87ed7327acbfda3e61ecbfecfdd1b7b2d08dd306122fd44268f08463306760f40dfb7634e71d7a72f1224e611]\n[privateKeyPkcs8 = 30820397020100300d06092a864886f70d0101010500048203813082037d0201000281c100b8be129638e9c805359e6169b263265e2a8ec4b849101f2a321ce523665e399954ac3865ee8c85d14f3d3f24fbd583664bf09394cbc7f7ffc98aadc94eda35ca4b9614fd2d773c782086a1ea9ca23f357cb2cdc465fb85100172845d6b2906dc9315a542d204bcc4dce68d90484198e2350cd682eef9313a13df3607669aa4dd186f563ba0ae3ee054f857a92985f2694a54e1a87ed7327acbfda3e61ecbfecfdd1b7b2d08dd306122fd44268f08463306760f40dfb7634e71d7a72f1224e61102030100010281c100ad5144c6c266314d11dca0af34b8684a77cab12be2ffc8fd213e9289ff83eeadb70e4b6af5bdc7dd72659753ef1f84c2f8039fb13ced41f12af77bcb1cbb0333e26dcf0b27187216910d3de289487ddc843c8b66f1f662037e181dae36d6aaa3b509dd33892ed4851ddcaa4d02ec210262947517a38da2e9ed35e5801901bb6e82043bae88aa951f4a56cf454b4dcf2a9dc425525ee4b6e199320d1b080625fdc8af4e44592e87cab8753316fe933ccf044380880b1984f662c638ed8c3158f1026100dd9fcb8fe2c6d7d3cc0c52588aabf47c8919e4ab8f056c1cad8383c073a0989aae1242f2842c9c16efb50277ade40eb02201b4dccebff3a7498012a19b3703953602b6fa611d12126f40872ee2be249f0d8109bf61934375283b1c96e7c2d94b026100d565c93033998143659e1fa9efe089f05fc225cdbee5452442d59909730b48a1c2018ceb97f25903db1eaf8735f8269b5ffd7d7a3643e3ae8d736602c1a1f26f897ae68654bb3380f2cadcfe6503c0347c84e1bfffe0019aaab4c2349d92609302606f4c205e51f4a9cea35a4cc04a63b0941a05f6e07122b7f86eeaecef6921ed814089cb351f4b87d7bce99a23a02037801c93ded044c40108b1d0af8a98f837c4672b55d8c78c61d70027d7bba402f94126f6f67e35f24e9e3765f825909e39a1026100b10e4ae75b68b9ff9988a0ecf6c26eb0aa4303eab9c0b0a56d6e9c136308b1b2c4ad54a704e36747f3be7a14cd8a9f3dbb5f2f84ff11450fc6fd405e791a4d748db5131fd19da116145c8d0fe5f03ec14daf533f62a611aeaa845fbe181f2351026045a036c72629ae8dc5dc6ea1cc5e8d81fdba1076218c14e724b941835b1901c70dfcdf231ad63b1942f3d79cc561c42b7e7013a97c1acb5a1e49ea44c86201c7feb57b4afd83e3328c82a94267d5d6a4a42d726025ebd334c9692190a603e230]\n[sha = SHA-224]\n\n# tcId = 188\nct = 831eae38e44804990a404bff51d03afa5bb2cfc40a6e7c5134e2ebff6496c9094cd52956e0f1ed94e4c2cc615a1aaaf81c80e42e3f35559d086a3149cdec76d25a32fb4b668f0d522815ddcc76cd92d5799b7b8669c4eba765ed535483ac677258ac09d2e210aacc80ff753794ac7de842831aaf38b00eec1c70e1c7fa11900a21a87e32b70a01763599c40324fb8013e9a2a69c6f8b1a730309015fbe9a1c953333c92d04a271837946f87c09c51949c9fb92b6a2ae30c8fe0ad1208dfc817a\nlabel = \nmsg = \nresult = acceptable\nflags = SmallModulus\n\n# tcId = 189\nct = 51d10c297ebdb44888b3b6c7bb55daaaccd9fa1178c8fbfd02d5b1dfa0cf59b7db0a115bbfa7cf4a49d9ea9ce72f12b30efd481b6c98924ffd2997ab7de2b3e600820d3ab8049edf33b3ef322321ef025a03bbd5793fbdd443d0b7b03723172e14a0c3bc8963573716c9065ead860be3ce7e83454847519daaa8b3923c4eb09c49679c3326940929680423ee5ed511a214a60c9b5f071830c5a0d0c46d34786f9c41a93deecdb9862f2c14c69938521d7333aedbfd76a8da623c9fd01290dc1f\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 190\nct = 93fcf41c0e9a8798bcf599a091bac44670dd9651986b0330fb519b7214ec7f2f5a7ff43245f7b050f421008d812ef807a0d2b701a53ad0f99c972dd56786e8afa7d51e0cc8d3665a5259a1e2f1fb91bf5971ce8bc9b742b8285bfb96b1e3865e385504deb9d83d4a3f871058301a05d54b0d6ce80eb92b261b56d896f8da00ddcbe9a388bcad71448091b0dabe2068f574b80440c95f94ecd7686fd03fc8497f49731d341f0e265aa8d867244ab3996a87cc71690104cebb54f60a45aa52f8db\nlabel = \nmsg = 54657374\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 191\nct = 352ec846efa34eedb96d802ec90c7c7596cffd3303d6e33735298d1162d31e9463257c9f41330e69e13a4937652f5f751151671f1bd9a82cd55b3b509ca64b2131ebf85da0028ddb239c660f80cf5477a1d614dbafca46a272c5383d36d040d18e752f27d43a905707a6a5fccd8905461db7f28920c55f5110836f3a63fe6c5f6fb2f4120f33bd2acfe2e878c7dfc8ed42a4ba8ab187be68feece79965c2e5d0c1686db1aff309e9a095442536ef2e47ea78825d82fd9662d5282f573e1a30f8\nlabel = \nmsg = 313233343030\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 192\nct = 9077c829377589b4df66cbb41493565a563400bca8e782b9d3ed0a7a5123e5c84e2ab4a048b2e2e5bc29fc8856da39ed68a2e314c8a1460607f2ff255cfc6985155d968b8fd5a5b36405055f66402d58b900eaef1bfb62d77951a3232cf36d988c88e0014cecf7a086dd9bca9f1fdd21a501e31bfd561c7b8dc6207625c43d4be18de810c0e73c1f1033f59ec037f9d3d7ed0ba54d9a9dcfa0d07e6d21cbf732e5ccca473ea5573a5d138c190756d52617a01605e820155676d4c213c74f9c3a\nlabel = \nmsg = 4d657373616765\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 193\nct = 23ba04c8613b46446b7fe52fd271ee23269111c79bcf7b74945dc9d453bd19fab4671a3967b26ae8386278659bc4112c947714a6648c91cc7a7f5dfda4f67923454758316a311c22426291929e389de5eb813212368f43e8ee22202095e2f1f9c57e50c0b63a1ef8b53269a67b41ed8cad086afb1ff5836fd864c5f296a0465395e71c48a98c31d62e647f048f91056f890429d4221ffaa56af2a5b76d9c323026954bc538c455df46dd2d534000d3dd03b3ed50ff5e6b06f96b76690eafb0ab\nlabel = \nmsg = 61\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 194\nct = 10833e531676b976d3161fc9795ee31b7f915646a4aa8c1642c92156b78af9fec8c41b96f3288fa226bcd112dc4116387be48a9e3bee33a4f4e219c406845c01696b6f092836b6c72ebc2a8b345d9423d5b5671cbc5049f43be82a5f73f99eb8e4717235a608f9ad7f55dbf4d7a7b0d1547ea1e834c4483793ef0c9c496ade235cdfea4fa95ba39639e0d189450c0c985277321b017bd258a5e86f2cce8ec3d87fae77983bf66e9ee24eb71476ed79c5c4c0a2f34b385f37c3e30d234716203c\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 195\n# Longest valid message size\nct = 0b88aa2198701e9ed1efe32ff4bcf4aa9c39e182079f5489127176e70d32655292e86234c3fe8eaafa326836370c96073444f4af19a3b7db24554fc95431dbf2a4f68156ab363892599f02a2249b476ea8d153eed4c0c0eb922f5ba483a4350c502995f1a027856021a24f649db5cdc8a2d1b8d9f7ca56ae13f641a23bbfe590c77b1c4cf38437fc8d2d731e99e53f327ce62cfaf71d3969308c559d032e8df5658a9ae3ad823a1ada84061987b7004696737b47017860e9ef555196e2859dca\nlabel = \nmsg = 7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = acceptable\nflags = SmallModulus\n\n[d = 46e1a2857f797c070aec23e122a46ef63c924ff207da47501ef56edf4621bee8890fa023657297162f0b7f23dfe29bf492a5108596d486a2c19c66c8a896e07e812a271d6af54d9a405f0d6bc259f4c53c5aab9fa439ae2b50c4927973c265b58767bfbbebbcc0694b4924af47648166e01c6a34ab8d4ef1d23e5629a1ee56565b69a4aaf921065aed2d659aa20969b0eb7b7afbc6e7471766dfd7c6b758cc1509f0a1c70af0cdf8c4b2ef4d33eeb7672b9da5110e39722a4767b99077cc2e01]\n[e = 010001]\n[keysize = 1536]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00eb477c90d46bd1896cf4930cf2615140e029a743f0649ae586eb04d51f21ac5241744b5872ccebc87b401487a9c859176c9fc8200b2054875e2c811a56b5d9468e6d3a99c058b1c89547f55a3d7b1d08852f673d3288544aab906e57364cac817728dcea18bc1193e62269e04112c19451702cfaa46fcaf716db14f2e1c9b8d312bdb15dde506945395bdb0865f22ac0553f827a27719c2c703a83c6cbfd949d06d4eb560a8fddff052fd6f0a20f6cdeb2909211b75f8182e58590d069a2a271]\n[privateKeyPkcs8 = 30820396020100300d06092a864886f70d0101010500048203803082037c0201000281c100eb477c90d46bd1896cf4930cf2615140e029a743f0649ae586eb04d51f21ac5241744b5872ccebc87b401487a9c859176c9fc8200b2054875e2c811a56b5d9468e6d3a99c058b1c89547f55a3d7b1d08852f673d3288544aab906e57364cac817728dcea18bc1193e62269e04112c19451702cfaa46fcaf716db14f2e1c9b8d312bdb15dde506945395bdb0865f22ac0553f827a27719c2c703a83c6cbfd949d06d4eb560a8fddff052fd6f0a20f6cdeb2909211b75f8182e58590d069a2a27102030100010281c046e1a2857f797c070aec23e122a46ef63c924ff207da47501ef56edf4621bee8890fa023657297162f0b7f23dfe29bf492a5108596d486a2c19c66c8a896e07e812a271d6af54d9a405f0d6bc259f4c53c5aab9fa439ae2b50c4927973c265b58767bfbbebbcc0694b4924af47648166e01c6a34ab8d4ef1d23e5629a1ee56565b69a4aaf921065aed2d659aa20969b0eb7b7afbc6e7471766dfd7c6", + "b758cc1509f0a1c70af0cdf8c4b2ef4d33eeb7672b9da5110e39722a4767b99077cc2e01026100fabe439487c73dc1231ea47cc3b8daf1776fcfb44920ba035c9f1f1a597422a8ff38c0291971c45f7f617e3d0b4e4af046957b53cb4565773d64671fabc78e27578fd403afc7d1cfd6b8339c44787149dbb56ed46479f58e7ac881df4902f945026100f0363a45a6a07169390677e607acc4e17bc624a01c377cd7154e1b7fd819f08dd6f13b9f6dff6dc447c502a79299c3ac19b4bb55a2aafeb64321a4a896e1c0fd7d6834e36894469007506086f159d807bafe9a8b13b1ad83a501ebc694d7993d02610098a9108234eca4779b87438446b19c73995134f741f2afedee0d5f256ec31b7b22f08d66387ca09fb7f146a7a9e38012ac16c4a06ec9108eb98d109022c8fb8e8e6c1e1c24809708606583dea77d611423b56205e42ab0cb8f8bd62e78c85bb502604b1377c4fb1e1c3419d996b1b3666126642bfa987c192f907d9d2ae51b2288579c7d4af83a45e205bdb4aa6ebb58099b0971be37369f20fad0227cb72069308b499dbf21f0369f933665fdb54f4b98445a426704dec3e28a49913f2292b48bb50260593d103d8d4b2b827f0faeb695094d4f5dbff86ef757a9aa51b3a06923d24d09e1f9f0f50ec57d3c65986c3822345216762e92d0d6becbe2bc718c63c651255e8c0649b244fedd754e454620efe317d752e578ab8b35cd7da6d6be88cd5b9f91]\n[sha = SHA-256]\n\n# tcId = 196\nct = a506436a04acfcd6ec2d868e78a4fb28fe6fc0dce9e79f6fe04535871968216b73462a3c45837c853bbf39d84a9214cea5ae8acfa6ab6a0168bc4b05c5b6c201564492a3d367a69b77f6c40fcbe264f6641217d9a464a25fee906118d3184959c0db47a888a9f398d2e455cb9f4d556a962aad67c20a814967312a3654f8492493e5a8f1d8fa982a99db2dc079310158a8a6cf694dfa4c447fdf9047b5e6d328ba9151d4fc11a6904918b48441dcc9bf24c77181ea87de3ab73394576b248503\nlabel = \nmsg = \nresult = acceptable\nflags = SmallModulus\n\n# tcId = 197\nct = 54de8d4821f2c8ee52cb7ccf8eb04cc915f7934123d5eeaa84e64ba3a317a28082aca6f76c697ff96f36fa5b112efe464ae29be917ec520fd6ac66d65ed44f5911d627141fe07561a889891d9a81d844988fc9dcce1ddd6c280ca1b8d4d756729f1e57f1adf15dc595d7c78fb67bd7fb073fe846e350922f8521087a0eb648a7dc72a65291cde80489092729cc6c462ae0d05969fbc8445c2fe098374cfb5687e36130a43d87ac57d2322c383b0b7e8674e297a25b6c27a54660b96e10b26bc7\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 198\nct = 404ad21db93654d44fc9a4e8b6dbf1f6297bf07663f673faf4f39db80b54d12e7bb81281201e5b0307868e2675ee21dab6f9949d5e172afdfa327da28a37564d1bcb7d1b86abf3e57cf8d83b634430b1b5931c669ba253c683e16aa391447d3e1376ce909bc670fc5d86c461b9a95076876bf60733b20cc300e5db74ca71fe09fd96d54fb7762833b07958081dacfd5d89a0f0a179d8206203a5ba6183c399b2218ea934cef9171779b1726018d25ffecc03d6b4ac95117ef42075f7a097e865\nlabel = \nmsg = 54657374\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 199\nct = e5c889d86b3f6860f99af58fb3a0667ad73f7fa3e58d1c5b18eaa61b836a046c76e956796a889076c04a591af86362747f263399ddc78a031238d1c44265138964e939de27e2457962ddd7ac7107fb08b613eda92d3da69bb9d52976bcf643e371daf7cb0f7965261853703e39e734b37a29380f992dbfbaadae2f91a9e3ac098fb275cbfc552c8ff5e43e3ceefdf3e9900c9fd7b49e7ad62d5af34a6a98bd35e5362d31782ec78905f61b386f201ba896251a8c7d4616b0cbe013d0c8d92bc3\nlabel = \nmsg = 313233343030\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 200\nct = cbb3c916ff819c7fd69f7a2bfcfdc8e2fbeb5ab286908cc193151fdb7ab607a09e8e9086aac66f2987888c221a68be70228df30d4499aac7ed2816489ab39ae75f972cf76401650fdd3e1fc952d9abbba593933ca854ffa0df597fbe8847b6b6f0682a9eb02d08f75b1feee7a13238450d611bb735dc017dbc1a3c3936e1c1687f6189594ae79887ca033e0e0a199e18026ae7b2161535050754f2bf47506297c1d8ef8a28a190f519cb5607c1af3adeb14a0d423a3615a32e67a52bda728e81\nlabel = \nmsg = 4d657373616765\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 201\nct = 839a7a6a7d02760d7644549d53f3cfdf228a93f2282f36188ae79eff657fb927db6e07ca2905fa1f068bad1eac7b5ea3043676c172b5bb046d335bad80c60095de500f203a71242812dba6a99302957fcebe8cb4c61ba59e00ff9ef26242e488337543260382379e067b38d1b17b073d64ea52f3756a7fcd94ff37331c6e5fbd1f308f3d890c6820517d7de1a6eacffcc9a524a3907f1520ab089b1473e0c0638c0cd583037c091b3d29e4b6cbe35b166e6d6bd910297b77ffda97822f8f7a72\nlabel = \nmsg = 61\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 202\nct = 7c72d9475fafd0cb66263351e6a82ca17e7f36c9c09f5b0c25ec901ee071553d556e4ab356df9b82a7b5085338ffa07b3a33692218e1f369b7160b208b01c35f35507271b23450c6637bfbe661abb02f94b75af2f8a1e7678e115e16c59d5529e7e8ff9756aa66a5c6bf40d447239431bb3b7f17d514b11a2825c3032b7937ef4b3b8b477c367051f35842340cba2b671627c86143c9a64b33592934857a4fca2db8f5c6e52a62b72bf34ad8ccb6039e28c29e7ef3144bd45c587f31d72c7bba\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 203\n# Longest valid message size\nct = 29d226e59a0ad887852837b19c9056c268b7e091d767a5894a9cab2ba1312965159c78f3f91fe4f5a54dc403795b9af64721bb62e8cddb488fc73686b116b57365c6a56f4069b5eb821fc4a76fa02356426334055abdd440ddd77d1da366ea171197286dd820f87f143c5ef1c1c36526f894d3c89699e64707de23f0acdda26804b0c64362be3918f098e767f888e456e28d90e85f08d2c8e60cdff0bbe4fde51db7b3fb947d29d7ba05ec3a891ea0e9907f481c3321c76762275a32f1f94d7d\nlabel = \nmsg = 787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = acceptable\nflags = SmallModulus\n\n[d = 46e1a2857f797c070aec23e122a46ef63c924ff207da47501ef56edf4621bee8890fa023657297162f0b7f23dfe29bf492a5108596d486a2c19c66c8a896e07e812a271d6af54d9a405f0d6bc259f4c53c5aab9fa439ae2b50c4927973c265b58767bfbbebbcc0694b4924af47648166e01c6a34ab8d4ef1d23e5629a1ee56565b69a4aaf921065aed2d659aa20969b0eb7b7afbc6e7471766dfd7c6b758cc1509f0a1c70af0cdf8c4b2ef4d33eeb7672b9da5110e39722a4767b99077cc2e01]\n[e = 010001]\n[keysize = 1536]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00eb477c90d46bd1896cf4930cf2615140e029a743f0649ae586eb04d51f21ac5241744b5872ccebc87b401487a9c859176c9fc8200b2054875e2c811a56b5d9468e6d3a99c058b1c89547f55a3d7b1d08852f673d3288544aab906e57364cac817728dcea18bc1193e62269e04112c19451702cfaa46fcaf716db14f2e1c9b8d312bdb15dde506945395bdb0865f22ac0553f827a27719c2c703a83c6cbfd949d06d4eb560a8fddff052fd6f0a20f6cdeb2909211b75f8182e58590d069a2a271]\n[privateKeyPkcs8 = 30820396020100300d06092a864886f70d0101010500048203803082037c0201000281c100eb477c90d46bd1896cf4930cf2615140e029a743f0649ae586eb04d51f21ac5241744b5872ccebc87b401487a9c859176c9fc8200b2054875e2c811a56b5d9468e6d3a99c058b1c89547f55a3d7b1d08852f673d3288544aab906e57364cac817728dcea18bc1193e62269e04112c19451702cfaa46fcaf716db14f2e1c9b8d312bdb15dde506945395bdb0865f22ac0553f827a27719c2c703a83c6cbfd949d06d4eb560a8fddff052fd6f0a20f6cdeb2909211b75f8182e58590d069a2a27102030100010281c046e1a2857f797c070aec23e122a46ef63c924ff207da47501ef56edf4621bee8890fa023657297162f0b7f23dfe29bf492a5108596d486a2c19c66c8a896e07e812a271d6af54d9a405f0d6bc259f4c53c5aab9fa439ae2b50c4927973c265b58767bfbbebbcc0694b4924af47648166e01c6a34ab8d4ef1d23e5629a1ee56565b69a4aaf921065aed2d659aa20969b0eb7b7afbc6e7471766dfd7c6b758cc1509f0a1c70af0cdf8c4b2ef4d33eeb7672b9da5110e39722a4767b99077cc2e01026100fabe439487c73dc1231ea47cc3b8daf1776fcfb44920ba035c9f1f1a597422a8ff38c0291971c45f7f617e3d0b4e4af046957b53cb4565773d64671fabc78e27578fd403afc7d1cfd6b8339c44787149dbb56ed46479f58e7ac881df4902f945026100f0363a45a6a07169390677e607acc4e17bc624a01c377cd7154e1b7fd819f08dd6f13b9f6dff6dc447c502a79299c3ac19b4bb55a2aafeb64321a4a896e1c0fd7d6834e36894469007506086f159d807bafe9a8b13b1ad83a501ebc694d7993d02610098a9108234eca4779b87438446b19c73995134f741f2afedee0d5f256ec31b7b22f08d66387ca09fb7f146a7a9e38012ac16c4a06ec9108eb98d109022c8fb8e8e6c1e1c24809708606583dea77d611423b56205e42ab0cb8f8bd62e78c85bb502604b1377c4fb1e1c3419d996b1b3666126642bfa987c192f907d9d2ae51b2288579c7d4af83a45e205bdb4aa6ebb58099b0971be37369f20fad0227cb72069308b499dbf21f0369f933665fdb54f4b98445a426704dec3e28a49913f2292b48bb50260593d103d8d4b2b827f0faeb695094d4f5dbff86ef757a9aa51b3a06923d24d09e1f9f0f50ec57d3c65986c3822345216762e92d0d6becbe2bc718c63c651255e8c0649b244fedd754e454620efe317d752e578ab8b35cd7da6d6be88cd5b9f91]\n[sha = SHA-256]\n\n# tcId = 204\nct = 54ccbf75ffdcc53fc0bb159532835950c35afb43270c0d0d2488f6af166a7ca62ba6e1e917ef2b99a4c2f3c7e221df97a9b0f59197e81e9126dd7ae6df8ba651add4e52dc7152ee08e194c1108bc18e0b2d84ef21c7ffbe860f66f2bb462a8ad7416b47b6c60b97ae459fdc7d681dc22e2e7c06eea637579e13954a21bcaf1cfe6cb", + "e94e7156b29758bd96c3033e8869ac12b9d1337f9625a35369653455a4a4cf5d4bc160c27c2634267a97d5fb617f3076c3020ddc55440d949a9487f2ed48\nlabel = \nmsg = \nresult = acceptable\nflags = SmallModulus\n\n# tcId = 205\nct = 6fcafba9e9d9fdd9c182eaee143fd2facfc75f64b21d8b584d16f1bdb3f1a3a826a4c8ac3604118ba07d93c0801b0e53189e43ef42eaf1386c3f3f0ab762061485dac5377abc639bb6261b5402987f6672f7ab929c840cb1cf21ebf6830e1e56dd02e220878021c3f2f83db8f71a92aa984ed9c41b9412562d2e513760b2f413cdd27cee382ac483daa64d03df3b6b62b6c85e01d4254653f3566493fbacce806fcdb52acd6998786e58e4a68f737a224607da0798e39ad431417508f3aca991\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 206\nct = 676f2fb413ca07a9b6a6b247afc3182715a90a0ecab970b890f6b3c6d64d682258fadc9a35601425e943382d48edcf816a3526d9ec41c679a4bef29ba1b8dc41cef76c5b0c7152bdcbf711925ca96e236e230e0e62aa8cae69799bc898b638aefa36ce42a6f38afa2796331cfdd12c4c28835aef8d43206b1b2872f18d1628c621955321e270756995b005f3581cd13a971d51d0549a789149d0654cd75eba6a0872094f1eb19977cda9c41ba6a63cbd1ddcfd8ccbaea2423c30853e44cfea53\nlabel = \nmsg = 54657374\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 207\nct = 22280bf62541ce38e08a444a96a7d7b03242d019c32c758461065c1268c16df33c8c1e56f3d59df56dfbe2fd5c3242d6e9cb2957662762e8022012cc52332b234880b146d0583537cb99c5884a208a759b97ab15d6b9d4e9079c4d389b1255a2aee2e71a26e9e451c96697528c34e419dbdb6397d557e639993c360d5bcb16fd06dd5730cd6398470b66adc283e56a69ddd066046de6b2dd3214ae7e606a630bc86c5c4eb6a48961198975ebb4182fe89fcf5c970f23123cf7b8d83794b215ef\nlabel = \nmsg = 313233343030\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 208\nct = d5d0734dcb30f0b840c835999da86a6ee5484c4f26943893704ebb641ad29f495d1f43253355828812469024618c9e840aed1d2c1b525e8b913d0e507e4fec2b4484db90c3bfdbd6e11dd67ed1153301e60dd8f23c8880a2c7c6a20006e5e34c175bee3f1a96fc89e48ffadee05267afe12fb459c3ef9209cbe65d3784fe8fc0d7fb1491631ddaaaeb6fb9a2fd4db2842a23ecc44fb52fba72f2846b05c937bffa590bcb49794514b591412cf5c523b30fdcf12f8c84f416d94c6b4a6dd20b15\nlabel = \nmsg = 4d657373616765\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 209\nct = d3f4bc1c55fcb63d83755bbde4f1ac0c1a7b910cfb9b4ba6633d7223190c0c2a3b9c8ff8d148d29638ef3eb46c215cff6926877f806022584826d397f7f08dd00a621faa8634976d5212b9b9c654e3e0cf19558eeb9ba1993df7efc18405a2934d8742b4fdb60c902ffba7196803478d7fa7cdb64ad631532465065f4d04a9448a3f010675bceb085151a1720bd9e4e04a00bb4d592090358f12aa8d675fbf2e69f53479a430fa4167e20f12f353238c18ee092a40ee69321fbb32f00663f280\nlabel = \nmsg = 61\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 210\nct = ac52fc65d0d019199977c271a5d96d81b7d942c2272ba8e2b68ab04f0a3ad8be2059aae9b82c79300cf59c6d2bc517ee2397291d68740bd21967c2c3dba7b0b025f180abbb2f5f4b6980f93ac1f652c220079ce316ecaee502704cd2198c02c4863b7f08385b828c52c6b396f190107dfb0b4f218616038ec34a648cc10a1a8881892aaee7402d70576ead0af64c995f1ee31d4f144e793b395a692c113a7bb0769e78a9b3ed1555129da61a0ca13210a1c7a6a3995a020a8d4f788793594367\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 211\n# Longest valid message size\nct = 240b2f6859c2dd4c4978a2ea2d239effcc93ba1e6a5eb3c46d55ec75d6bf081212da33e2132c3804e203f801dae8232e4cb46ee039b2995a16578984e84e498e6e8ba81138d5fea8e33b5082602a5b21b5ea40a7e8e3f4685093b50fe4a309f1c563e75912169ea85775123bbd9e26f30eb7bea5f82c7443d1d977eb3b621fb50980b2f3690a9e50ca2bbbc9183eaa41ec2929bda7bb42b30a9166ee2c1efd2758f09d79e082b531a4abe22d4caa182a915d66ac50176b7e39e7210f77021b1f\nlabel = \nmsg = 787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = acceptable\nflags = SmallModulus\n\n[d = 46e1a2857f797c070aec23e122a46ef63c924ff207da47501ef56edf4621bee8890fa023657297162f0b7f23dfe29bf492a5108596d486a2c19c66c8a896e07e812a271d6af54d9a405f0d6bc259f4c53c5aab9fa439ae2b50c4927973c265b58767bfbbebbcc0694b4924af47648166e01c6a34ab8d4ef1d23e5629a1ee56565b69a4aaf921065aed2d659aa20969b0eb7b7afbc6e7471766dfd7c6b758cc1509f0a1c70af0cdf8c4b2ef4d33eeb7672b9da5110e39722a4767b99077cc2e01]\n[e = 010001]\n[keysize = 1536]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00eb477c90d46bd1896cf4930cf2615140e029a743f0649ae586eb04d51f21ac5241744b5872ccebc87b401487a9c859176c9fc8200b2054875e2c811a56b5d9468e6d3a99c058b1c89547f55a3d7b1d08852f673d3288544aab906e57364cac817728dcea18bc1193e62269e04112c19451702cfaa46fcaf716db14f2e1c9b8d312bdb15dde506945395bdb0865f22ac0553f827a27719c2c703a83c6cbfd949d06d4eb560a8fddff052fd6f0a20f6cdeb2909211b75f8182e58590d069a2a271]\n[privateKeyPkcs8 = 30820396020100300d06092a864886f70d0101010500048203803082037c0201000281c100eb477c90d46bd1896cf4930cf2615140e029a743f0649ae586eb04d51f21ac5241744b5872ccebc87b401487a9c859176c9fc8200b2054875e2c811a56b5d9468e6d3a99c058b1c89547f55a3d7b1d08852f673d3288544aab906e57364cac817728dcea18bc1193e62269e04112c19451702cfaa46fcaf716db14f2e1c9b8d312bdb15dde506945395bdb0865f22ac0553f827a27719c2c703a83c6cbfd949d06d4eb560a8fddff052fd6f0a20f6cdeb2909211b75f8182e58590d069a2a27102030100010281c046e1a2857f797c070aec23e122a46ef63c924ff207da47501ef56edf4621bee8890fa023657297162f0b7f23dfe29bf492a5108596d486a2c19c66c8a896e07e812a271d6af54d9a405f0d6bc259f4c53c5aab9fa439ae2b50c4927973c265b58767bfbbebbcc0694b4924af47648166e01c6a34ab8d4ef1d23e5629a1ee56565b69a4aaf921065aed2d659aa20969b0eb7b7afbc6e7471766dfd7c6b758cc1509f0a1c70af0cdf8c4b2ef4d33eeb7672b9da5110e39722a4767b99077cc2e01026100fabe439487c73dc1231ea47cc3b8daf1776fcfb44920ba035c9f1f1a597422a8ff38c0291971c45f7f617e3d0b4e4af046957b53cb4565773d64671fabc78e27578fd403afc7d1cfd6b8339c44787149dbb56ed46479f58e7ac881df4902f945026100f0363a45a6a07169390677e607acc4e17bc624a01c377cd7154e1b7fd819f08dd6f13b9f6dff6dc447c502a79299c3ac19b4bb55a2aafeb64321a4a896e1c0fd7d6834e36894469007506086f159d807bafe9a8b13b1ad83a501ebc694d7993d02610098a9108234eca4779b87438446b19c73995134f741f2afedee0d5f256ec31b7b22f08d66387ca09fb7f146a7a9e38012ac16c4a06ec9108eb98d109022c8fb8e8e6c1e1c24809708606583dea77d611423b56205e42ab0cb8f8bd62e78c85bb502604b1377c4fb1e1c3419d996b1b3666126642bfa987c192f907d9d2ae51b2288579c7d4af83a45e205bdb4aa6ebb58099b0971be37369f20fad0227cb72069308b499dbf21f0369f933665fdb54f4b98445a426704dec3e28a49913f2292b48bb50260593d103d8d4b2b827f0faeb695094d4f5dbff86ef757a9aa51b3a06923d24d09e1f9f0f50ec57d3c65986c3822345216762e92d0d6becbe2bc718c63c651255e8c0649b244fedd754e454620efe317d752e578ab8b35cd7da6d6be88cd5b9f91]\n[sha = SHA-256]\n\n# tcId = 212\nct = 8bc854413085f56413ddca8c298bd7e0d30854412ab22f4ebdf4f9cd201f60d02a0bbc546e54492402c71480cbe446450420c29dd9800dbc127dc65cb4221e8878ad2f0bb672587695b750adf1f4a81e722b9663658fa346dfd3e5656b4f42448df5c260b1f4e3cfca7998589d5af3d8beef35151879f60149a1de907b2c961bb817b99fce7d5397ee25c851d4668eb2722359bee0e490cf6b588ebf7476f9cc22d767829726fef280197738fedd68c9e570684a8fef46fc1d77c2f9a97bb381\nlabel = \nmsg = \nresult = acceptable\nflags = SmallModulus\n\n# tcId = 213\nct = 4b36fb633e146fc7aa7acaad348406e5d136e50978757ca6b8b29755142eb71ebda7c997f355f3f965171ecfa44dd2fcbbadca8f4dd5f92e7538c4a490130fdde31606f2909f4b1eef0840e5811b0c1e806f739225ebc66ff06eed8f98046375901fa5b9bfaba3e010f08ec327819ba71803d5743680a24b2bfa62745ce778ca3aa2f165b398493707c3e76f3385485e8b824f16b5af6546789d11eee1a61067aa0a2ecab5ce909749bc5f23da9d61926b2a634b3393fa347696a9b1aee97366\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 214\nct = 1c7a0e137751340059f5978866031fc45e8c1c2ef0e763c235420b7849f7ff5a034b47fa54be69e43e779805170ed498820dd5512a2df966c475615705e05ce71a6ebf819645f69d061eb3fc9a401615543604679c88d4b391e710db016fe8483fc1c7efba029a6779716418b83beecb399ed1c72803be91809128a45fcbe1c73a636aaa36aca42afd56efe144ce4eb7be444d4cb6898f807638e8545f52a5db3debb05320d8a9005c1718c8ee8650107906cabfe09ccfcc5ded32d0fc8fe861\nlabel = \nmsg = 54657374\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 215\nct = d57f56e095361d00e7feeccf64583204224c86aa3c5990cc3dc12417abf0330b0c7b9c2e114ff065f309204047b76d22f7f79d80d07cdb7d6934904b626bd34d9bff936093122cecbff54b50deb8580a2435a44dacb869455ac48763", + "73795df08d11ee857559f19adf8a7a86f3b9d30130b6c3808ece8c6d33415535bedddfb29362b4c41452dd91b63db803b8a32a0ba4388d095cf55d433f022f35b05d5db66d94034cd925f0b85da7239f8d1b02be30da7e5da2a05444de7dc19ecbc106d5\nlabel = \nmsg = 313233343030\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 216\nct = d9dbf2e9dc172975b315863d49f9eb784ef0438b7acf61698061f5fbc77aebdc7220c08f31e6239c0bd56bce42d2105840653d29e3c9cec65463d3f8de25b3388a6b01ab5d613ced95cfca2700f8f41785147041963a8c4579e35c2e6769e3f2e12c24a02e25f73a9dae6e8504cb49d8fe23f1a0ad9feb08c5ed36b40c6b18680004c29e9a79cdb190347214887d7979ca422275f9796e3744a17137999cf64c03f39a9dd033610a27a10059cf3bd0d76e0158f782f0c4b060fa1635bcc1219c\nlabel = \nmsg = 4d657373616765\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 217\nct = bb25e09327e96c01a1c8bd30345228e6907fc35d10202ad3893b55c5a8e0f0255bcd6d0bb66a4726caa475487ac617bdd097d20db726a399566399bb1c2771cdb6dc0941d3e078183237a2fa42b455807e5f7e52d74410042d5293aee73cfe433cc7766918996310a1049eb3a7713f38169f184a237816e5687953a9fa09baef2ad2ab70249ec5a874276bb39e1a598fccbe0379237d5f429adc6885bb35a808d6bfa4f36e9fa78840b9d7b906dff2969bf560a46d7209d6d6196f64d546ade0\nlabel = \nmsg = 61\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 218\nct = b800d40df704b7b1667c2ecaf29bd0609d05301a98a9dcea75b1d4fc27240967c791244bed1c81f099dfae4f9d4e7424174bf2deb8bd1bc810afedc5bf262ebe8a4d20d761adbc8a3f184d91e609cc60a700e61684be6bd4d51d91041c32d138438598f0d4a727f1fe914ced15a91d408640a3b8c4e7df56e2e99bcbc9826234848f918ad2e5b2a83982f994d293cb069a5356c06a6ab57a9f41739d3c0396f429f15945cda8201827e46f8ebb40b71a61afd5c79fadce592c48311b2ab38cea\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 219\n# Longest valid message size\nct = 85f7c897a568f295452890e7717d61a6d1d9025f5f8538f346c0e82e3f15c15db6b39fbb1ffc5bb7f60885bc9be5def2648e9226c0fea7b7be935fcc1f1743eb2758fbf1e2a01e15d1f637001de9b629d7e5901c7f426cd3ad059bcce1870721c0dd2641c90afa23f30df8780b234202d14612a2e108cfd31b268678334491efd55ec22d27abeb734e70b0b867afee270f0f08a216f01b8c98edf2371a25033915ea32a4b48dc6eb80706c4558debe32144c52dfe6e2063514c628d397239cc9\nlabel = \nmsg = 787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = acceptable\nflags = SmallModulus\n\n[d = 46e1a2857f797c070aec23e122a46ef63c924ff207da47501ef56edf4621bee8890fa023657297162f0b7f23dfe29bf492a5108596d486a2c19c66c8a896e07e812a271d6af54d9a405f0d6bc259f4c53c5aab9fa439ae2b50c4927973c265b58767bfbbebbcc0694b4924af47648166e01c6a34ab8d4ef1d23e5629a1ee56565b69a4aaf921065aed2d659aa20969b0eb7b7afbc6e7471766dfd7c6b758cc1509f0a1c70af0cdf8c4b2ef4d33eeb7672b9da5110e39722a4767b99077cc2e01]\n[e = 010001]\n[keysize = 1536]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00eb477c90d46bd1896cf4930cf2615140e029a743f0649ae586eb04d51f21ac5241744b5872ccebc87b401487a9c859176c9fc8200b2054875e2c811a56b5d9468e6d3a99c058b1c89547f55a3d7b1d08852f673d3288544aab906e57364cac817728dcea18bc1193e62269e04112c19451702cfaa46fcaf716db14f2e1c9b8d312bdb15dde506945395bdb0865f22ac0553f827a27719c2c703a83c6cbfd949d06d4eb560a8fddff052fd6f0a20f6cdeb2909211b75f8182e58590d069a2a271]\n[privateKeyPkcs8 = 30820396020100300d06092a864886f70d0101010500048203803082037c0201000281c100eb477c90d46bd1896cf4930cf2615140e029a743f0649ae586eb04d51f21ac5241744b5872ccebc87b401487a9c859176c9fc8200b2054875e2c811a56b5d9468e6d3a99c058b1c89547f55a3d7b1d08852f673d3288544aab906e57364cac817728dcea18bc1193e62269e04112c19451702cfaa46fcaf716db14f2e1c9b8d312bdb15dde506945395bdb0865f22ac0553f827a27719c2c703a83c6cbfd949d06d4eb560a8fddff052fd6f0a20f6cdeb2909211b75f8182e58590d069a2a27102030100010281c046e1a2857f797c070aec23e122a46ef63c924ff207da47501ef56edf4621bee8890fa023657297162f0b7f23dfe29bf492a5108596d486a2c19c66c8a896e07e812a271d6af54d9a405f0d6bc259f4c53c5aab9fa439ae2b50c4927973c265b58767bfbbebbcc0694b4924af47648166e01c6a34ab8d4ef1d23e5629a1ee56565b69a4aaf921065aed2d659aa20969b0eb7b7afbc6e7471766dfd7c6b758cc1509f0a1c70af0cdf8c4b2ef4d33eeb7672b9da5110e39722a4767b99077cc2e01026100fabe439487c73dc1231ea47cc3b8daf1776fcfb44920ba035c9f1f1a597422a8ff38c0291971c45f7f617e3d0b4e4af046957b53cb4565773d64671fabc78e27578fd403afc7d1cfd6b8339c44787149dbb56ed46479f58e7ac881df4902f945026100f0363a45a6a07169390677e607acc4e17bc624a01c377cd7154e1b7fd819f08dd6f13b9f6dff6dc447c502a79299c3ac19b4bb55a2aafeb64321a4a896e1c0fd7d6834e36894469007506086f159d807bafe9a8b13b1ad83a501ebc694d7993d02610098a9108234eca4779b87438446b19c73995134f741f2afedee0d5f256ec31b7b22f08d66387ca09fb7f146a7a9e38012ac16c4a06ec9108eb98d109022c8fb8e8e6c1e1c24809708606583dea77d611423b56205e42ab0cb8f8bd62e78c85bb502604b1377c4fb1e1c3419d996b1b3666126642bfa987c192f907d9d2ae51b2288579c7d4af83a45e205bdb4aa6ebb58099b0971be37369f20fad0227cb72069308b499dbf21f0369f933665fdb54f4b98445a426704dec3e28a49913f2292b48bb50260593d103d8d4b2b827f0faeb695094d4f5dbff86ef757a9aa51b3a06923d24d09e1f9f0f50ec57d3c65986c3822345216762e92d0d6becbe2bc718c63c651255e8c0649b244fedd754e454620efe317d752e578ab8b35cd7da6d6be88cd5b9f91]\n[sha = SHA-256]\n\n# tcId = 220\nct = e2c7daaf6b2f1c6a1d26cf35a6660672948681615a94bccf88ba0033a00ef93e82a5af8ed0acbc4e51ad6d457d543ed2ce54a2c807f4be6a2bbafdac48976e42c0703ab45f58552e2d927cccf96ceaaffd4fe68d27062a7cfd1b42f2e69f804868bcca6936d82191b236e44b017c07df4717a7d6058c953b6f670016c9fce9e410e6d727cfb7e067260516d98db2d6d73d0d107768482cec731b2a2bea3a8ab3f706627e193993969286fb0b6f57aece5146f7c6c2d8e94c6860866210e1aea0\nlabel = \nmsg = \nresult = acceptable\nflags = SmallModulus\n\n# tcId = 221\nct = 764e764c0b8f6a65cff3b87d0a96c737b6634e83b3b8b063adceaf7e8cdedf482bead1912ac1c9611d4e75f61774b04936a3fdcf522749ee99e2b02fb12655195c8d0998d841d54a1f8c8846999ad8b66f0c5f4d2f90874c6fc5d09cf85574f58f57f4d33676f57f7628acb0ed3c49d691a0b5f6432ee59fb0a329a7af1d7a35cd891913553b7ad5d974f65a40af710f468ee3c0a47800d866ccba3dc875ce69b876b4db4be940d70897c0d9d0686a0f6c70d773eeca06f9d4f84921580f5d6a\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 222\nct = c749cf63a0cf5b47bdb31f2ce10c7f89f133ac2d3b9044b47d83b35ae725541e8a402eebfdfdc7a452d033dcb411785307cb8eb85f829cc7ae6a13691aa97c8a053474778548d77b447cf33d54a64c9c8a20731047b78e70570066afe1043a02fb6c72f31a71d4568dd21e9f7ed813dbef13ac28c10283db0a3da49f05db4257f9da1f0bae50a7f7ba9fdb23e35b2fddefb9be4a90f6780926b76e907a0ec4281e0a2e7fec58e949fb4666787a64e04621b1d8023706fddf9251ddf1292019e7\nlabel = \nmsg = 54657374\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 223\nct = 7fe268ebc95b465427d03d0e8cb378bf5a10097ca83b3d06fb82590c0b663d921e6d963661e185918986f37ca49103df1a4fb364f12b8b44ff18326aff3f82af74be825c96445a8fbd11760eebbf827d476e3c0e1210f6c8724a951c1bba62860f581f67a17351a1dde956303b2de156d0a220de90f65943b3fb4ba2741669411cc9c401f5da334fdd9e313ac4d78eb2ccccbbc93a7ce57aef0dd43dc68555f10614f5a363c75f79a4b662ee9dfda82a8d10bb76fc778227b8faae92c0ef6531\nlabel = \nmsg = 313233343030\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 224\nct = 48dc99dc2b5268c770ecb684ac742d4bda236fd9271c307922eced097f35b2153f16b7bd6b65d5f3ef5fc925a2a59266060047d40c6024b720f7c3d2e52f5294cda9ddfad6e2db3960b23399e6788f270d31fcf3729bd94529321808e49d505260dcda47ffba41cadb830bffe84ddd74bd10668c6a63015184b20934d8d70dad43125aebf6401fd2150af8be22a90bf34b17d37496b156325bbce97145659c41e81e58d3adc90c7b768122ab7b4a820c2efa0796fff6ddff2f76ec8c52979607\nlabel = \nmsg = 4d657373616765\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 225\nct = 70c36f4510435e610397f00dc68f1e1ff9fc8c9eb4c11b6d1d59da64f52972a3fd647d95528269daffbe6dfc2c2708de780f8258564fa303e12ee257bf9b98bfab74795fefdc608f82897438eb07bc3909ee22044d89c2b288f81842471675e9e497a37703497dc2c1f1ed6e23f7937ace0fa641beda18411a613fa87db3c04cf877c10173a1be6dc6852b6427f4664aefa0c8b55c4f45ecc66ca2672b86da5d39d122686218bd939607a9c5d688f2803eef6a913a923a9eff7900a397f1a9dc\nlabel = \nmsg = 61\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 226\nct = 7e92ca09717407555ed06baada696beb8415d717a2d2853b55c17c5f858055abbad7111e8f06b610e14b23bd2a447b1a87994327f1506cfdeb2c5a5b4ac6131f", + "dd1902a1b5dfe615d6be46a64735240fea8caf71a490210f456e075b3f020fedd3c061faea3dc54db3e4025d37c6cc6762007a54931fa2dd8dfb73e149924782b30183319832b59ffb4e78e32302763c1e5db469a7c8eb8c751eb99e761f6970ae823db15093782a22ee20b2617256c183e58d2e93f3cc07560550ff9543aded\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 227\n# Longest valid message size\nct = df1d0c7b2ef9a483d5dbf207bc8e5e505eed61fecd0a3f6821126f666f257c83e40440ac85badcc89a5fa86a1e157e66373848d05e73afecd6f8c50f93b9be18228a6ecb70fff5c115e18d7ad970cec99d4da6c41d16946aad5fbeee70b9687aab676e66f5aed5f03b6e9768fef013de143535ff81723c06332705dec42555c09895829ccb7309a67da8a237ba8e708f728ea66f336ef4f183aa2439d9d89837b22d2546d35c1a9476d6790908e1efa1cd0a1185a8759ad1df0d2a9fbcb1afdd\nlabel = \nmsg = 787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = acceptable\nflags = SmallModulus\n\n[d = 46e1a2857f797c070aec23e122a46ef63c924ff207da47501ef56edf4621bee8890fa023657297162f0b7f23dfe29bf492a5108596d486a2c19c66c8a896e07e812a271d6af54d9a405f0d6bc259f4c53c5aab9fa439ae2b50c4927973c265b58767bfbbebbcc0694b4924af47648166e01c6a34ab8d4ef1d23e5629a1ee56565b69a4aaf921065aed2d659aa20969b0eb7b7afbc6e7471766dfd7c6b758cc1509f0a1c70af0cdf8c4b2ef4d33eeb7672b9da5110e39722a4767b99077cc2e01]\n[e = 010001]\n[keysize = 1536]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00eb477c90d46bd1896cf4930cf2615140e029a743f0649ae586eb04d51f21ac5241744b5872ccebc87b401487a9c859176c9fc8200b2054875e2c811a56b5d9468e6d3a99c058b1c89547f55a3d7b1d08852f673d3288544aab906e57364cac817728dcea18bc1193e62269e04112c19451702cfaa46fcaf716db14f2e1c9b8d312bdb15dde506945395bdb0865f22ac0553f827a27719c2c703a83c6cbfd949d06d4eb560a8fddff052fd6f0a20f6cdeb2909211b75f8182e58590d069a2a271]\n[privateKeyPkcs8 = 30820396020100300d06092a864886f70d0101010500048203803082037c0201000281c100eb477c90d46bd1896cf4930cf2615140e029a743f0649ae586eb04d51f21ac5241744b5872ccebc87b401487a9c859176c9fc8200b2054875e2c811a56b5d9468e6d3a99c058b1c89547f55a3d7b1d08852f673d3288544aab906e57364cac817728dcea18bc1193e62269e04112c19451702cfaa46fcaf716db14f2e1c9b8d312bdb15dde506945395bdb0865f22ac0553f827a27719c2c703a83c6cbfd949d06d4eb560a8fddff052fd6f0a20f6cdeb2909211b75f8182e58590d069a2a27102030100010281c046e1a2857f797c070aec23e122a46ef63c924ff207da47501ef56edf4621bee8890fa023657297162f0b7f23dfe29bf492a5108596d486a2c19c66c8a896e07e812a271d6af54d9a405f0d6bc259f4c53c5aab9fa439ae2b50c4927973c265b58767bfbbebbcc0694b4924af47648166e01c6a34ab8d4ef1d23e5629a1ee56565b69a4aaf921065aed2d659aa20969b0eb7b7afbc6e7471766dfd7c6b758cc1509f0a1c70af0cdf8c4b2ef4d33eeb7672b9da5110e39722a4767b99077cc2e01026100fabe439487c73dc1231ea47cc3b8daf1776fcfb44920ba035c9f1f1a597422a8ff38c0291971c45f7f617e3d0b4e4af046957b53cb4565773d64671fabc78e27578fd403afc7d1cfd6b8339c44787149dbb56ed46479f58e7ac881df4902f945026100f0363a45a6a07169390677e607acc4e17bc624a01c377cd7154e1b7fd819f08dd6f13b9f6dff6dc447c502a79299c3ac19b4bb55a2aafeb64321a4a896e1c0fd7d6834e36894469007506086f159d807bafe9a8b13b1ad83a501ebc694d7993d02610098a9108234eca4779b87438446b19c73995134f741f2afedee0d5f256ec31b7b22f08d66387ca09fb7f146a7a9e38012ac16c4a06ec9108eb98d109022c8fb8e8e6c1e1c24809708606583dea77d611423b56205e42ab0cb8f8bd62e78c85bb502604b1377c4fb1e1c3419d996b1b3666126642bfa987c192f907d9d2ae51b2288579c7d4af83a45e205bdb4aa6ebb58099b0971be37369f20fad0227cb72069308b499dbf21f0369f933665fdb54f4b98445a426704dec3e28a49913f2292b48bb50260593d103d8d4b2b827f0faeb695094d4f5dbff86ef757a9aa51b3a06923d24d09e1f9f0f50ec57d3c65986c3822345216762e92d0d6becbe2bc718c63c651255e8c0649b244fedd754e454620efe317d752e578ab8b35cd7da6d6be88cd5b9f91]\n[sha = SHA-256]\n\n# tcId = 228\nct = 3a1d0cd0d45de7a425a757a7b174be121ec8ceee30f6d04f8bb5a43faabe4e5a8234f1d6737a52c2969f0fa97a065a8d325e16f224511f961b7090ed628b5e9f875b90c7297ec211910189c96bced34296c9172e250feba6b4a9e84cc84ef9569453d4914f5c760adfb31349b3e29c0b8d0e26b9d2dc6a8cc6eadb2534cac6f0369a6e82bf5113b33867a61b0000727d24dfe34d8faf687448e58599660ffc064501f62dd1e65469d1546d4c7b0677ef8b8925a884d6ec20fd9780e94af621b0\nlabel = \nmsg = \nresult = acceptable\nflags = SmallModulus\n\n# tcId = 229\nct = 2c73536f345c03c78ec7508e07ca1b9040f23af17e6ac906df9fd9bcab68ef2ab0d6e1a574f141ae514156c579f1651be23762809f0e39c87df3f4411c559f04cd93c9a53de94ffec71b84c2d83cd47940bb3e470e21478b7e9621438931148f49ad1e15f3afa2481d39a60709d1e78908aa0b748ce1657bc7ff7c0c957191efcb418af4a5eaaafcd0a54c75f2d9593e98182e9e4e317ecafdfa86bfb0cf10ca48898012f5d5cc4505c553e1f5d15621f6f79091786fe93fc43fb32562596be2\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 230\nct = 446ddf29c6b33e221d601899b599494c5917a6fd42cfc95398c27935b9248965164b226c427ebd142e0520cd5c583a09d8ac0fdc9df5cad3ff8c1e6d847857d2713fb12af2c98905438d298e89d934da82a32eebc6167f24e298e89f28f73481aeb982c8cc5c33fc18007884314b09341f81d14818b3dd649be917a297005f6ea5ff765f63cc903f422214af59bce8c12a10d7b9b9444d965cce7be00d39b95f29b92121d1d99bc8ed8b90a022762656655a82937b24268fb41f521b1fb25311\nlabel = \nmsg = 54657374\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 231\nct = 816cc61deed9e7688d5eabc7ee843db2c4cd4dec0d93789de188d37b8fa0e3c57737c6a1201efaad4319240a66201c02cd79d0dae280054861a73f1ec1b1db305968950f0bd18f3d110e0f4c923bd9de9591dafd8cffcc5a310b90049367476249e8303d060b9459d03f33c33a064521c02f279dff6be4d313da5f405fe460e47470974a8732136bbc7311d341a43b2717643c0b29a334a39f3a5a0550dd87ab6add2fd9c039b39c0980cb93b5fa761028771dd1c320e87e1ab517703c104269\nlabel = \nmsg = 313233343030\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 232\nct = cb000b94767d09707d95ee30826f9c6e93eb6fbb1c22ff6f7b41508cf2707d236817fe19d8c50498f877c5033061c3e23c10da76c2e305e1606eec1737eea1d5484d898fd7954bb8c1369249f15552884b7874121b0075b63f20df04f8873f921067d2a7c340560d4f5cbd3ede3f383c18541b5e6dbfc68ba0cd223a354552db9e27fad7114086c41bf7e20a657d761ced136d2c998a75d343998a6c7e888e24d9d04b1a02987027017d43ab2e7273ed8cceecb512e51579458ddcb4e0464b0e\nlabel = \nmsg = 4d657373616765\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 233\nct = 93e8660ffdabea1afbc2cbbea37b9284c56dedb4a6da2f45d18968724c0045e1cdf23c5138a2472847c1c0d4d59f45b0aa1575a5aa41663d214e190dde5a3c9e9713cd918377cda2d148165bad88d45168e9cb4902290fa9c0779310b0c3b0fffb200681f6abd1d2d157752b7b7dcd5bfcdd9c01a62e71f984d10b2bf747f744b87e7b05c1e9a28b46fefb615dcb8bf92fc70be51aadb3fb40d5e9b260e80add81eacf6bc7ddbb2448db31ee18e9e5a0bd9e2238b581e7797036d649ac340e4a\nlabel = \nmsg = 61\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 234\nct = cff37e7ca96c483f70a80106ccfc718ea8267fca48db9a530b6dcdf692321daeecd5e27217b4f78feb83b63d570b27a554579ac2b003decdc85856bccd8a991b0a8295b93944c3cf5c0c0d39aae965c1a95dc581d355d15bd6b4d74e9aa38a9cb4ac41bde2eb051588f20345e4936ed9b5d5ac51fc2ad2101152beae7c98940616ffcb7eda7c6daa545d078262bd9018075aa9ab661e9d054b868de2491daa092bad7387fe876d1774d0c6875c7c74067253c71a17fde83b52877c365f1a2551\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 235\n# Longest valid message size\nct = aa90c4f6651b5f10aba1f2f1f407239f9265d60c57dd3e115438b25f906c29d7675dd913307373789a0db001f5e4a61e3c36190d3c01c4991cb4b9dc407d2f3b410bb64eefcac571eefcd0f66a78d1a57e1ef6893f55d176057dd90c6be845fd150835ef0baf025950b8c03eab50a93a420a69e01a14c94419cd09ff71c35cf8d01a6aebbab0f80135411179b4bf241716b4aeb35d6222a663f7c4cce017e55b18f9a2f49111932826da7d4a398efb04507239e5a7e611a065742d911e8ae7a2\nlabel = \nmsg = 787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = acceptable\nflags = SmallModulus\n\n[d = 1b37e4de539f790789f0b164a08bf6fea908644142bc72e3153cd3ea6467389ad73107e5120abeeadde6f1c025248bcb775a993cec5bff07ee447e4f24ab36147c3af4f9056f4c9fddf8782d60f03c0b2ee63a31463212925e21638262f59dc8ac026b1c9bfdf79401999bd7e79e7decfda14", + "dcafb04e4916959ba29213e93dc0ef824e132a706ac804c71d79b9b2dabea877f48fd2136a7abd94cb0dc7041b4b14464ca39d99c690b550badf2d33eeaa04aef787e07e291f86c2f45b76ae6f1]\n[e = 010001]\n[keysize = 1536]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00d1060fe7c6d185f09c3c1865cf6beaf5dc9306f2f3646bbccf19e47fadf98cfda7716c797d15afe506d573f19163ae2ab0ed9964c7b125dad7841125d38dd9f430b30fe5ea0d24083cb9b09f241b0700821cb5e40dc781e72ed95a2a8cfd33da065c58db8b8166aaec385a5db04f473198fa3b27d4de0a3267b11769af1178d284fb9ca6ac2ffd03b940509dbf2383838d39e0d5c93fe29a6802e12716431e25965f5b7b146663f4e5567ac4c3edf8824913d26ff2dd03830c8a0645adb04d7f]\n[privateKeyPkcs8 = 30820395020100300d06092a864886f70d01010105000482037f3082037b0201000281c100d1060fe7c6d185f09c3c1865cf6beaf5dc9306f2f3646bbccf19e47fadf98cfda7716c797d15afe506d573f19163ae2ab0ed9964c7b125dad7841125d38dd9f430b30fe5ea0d24083cb9b09f241b0700821cb5e40dc781e72ed95a2a8cfd33da065c58db8b8166aaec385a5db04f473198fa3b27d4de0a3267b11769af1178d284fb9ca6ac2ffd03b940509dbf2383838d39e0d5c93fe29a6802e12716431e25965f5b7b146663f4e5567ac4c3edf8824913d26ff2dd03830c8a0645adb04d7f02030100010281c01b37e4de539f790789f0b164a08bf6fea908644142bc72e3153cd3ea6467389ad73107e5120abeeadde6f1c025248bcb775a993cec5bff07ee447e4f24ab36147c3af4f9056f4c9fddf8782d60f03c0b2ee63a31463212925e21638262f59dc8ac026b1c9bfdf79401999bd7e79e7decfda14dcafb04e4916959ba29213e93dc0ef824e132a706ac804c71d79b9b2dabea877f48fd2136a7abd94cb0dc7041b4b14464ca39d99c690b550badf2d33eeaa04aef787e07e291f86c2f45b76ae6f1026100ee00c43356f3af8c15a0da791724e491d7dd03afd0cd0b40f81cbce1b38a5dcd245edec03b3b112cda442b772278c2abdcf6bc8d23133e98b2596d5a61b5b3d4204e48055a33bb5aa0765b12b8bd28a9f63d1393193c295acfe4ff7bc44c67f5026100e0d4514fbd34a29a55503de9a76ebbcae7809612a8d13bb5901f6ffbd9f06c98760647306df342f77ab45395eb7a2dc2dd3763625fe9eeac9f03baa636e381168440c54473b55211d8f0f3bfc47af94e3cf4267de479e5ae3c947a1a48e25b2302605e60a76cc45a358e933509ed62a41a8f4ace359c0e6c80bdeea556b1198510d53c4af281bffb184074fcfb4f6eb7fc5a3271152bd270db2da9eb945576d19ad1cf4dbb7983df67b7f4517aa3dde604ae011b0f1c11b1ada4793411ab7e97ddd102607f04543fa953f03d22cfa77ab6a5dfa05d338f15519c8b9022b13011e7e96560a8e51918ea351173413659368c87450d1eef28cdae043a5bf9a620afc0b8bcf81c957f1d1205b12cf6140291278e9604367974b990f7b0e3c3c3da4bb93b70630260687d0174d89b9537ef87bb7c7f8f75a0247af7af8794e4f06a327e6edab92d2e164062ffa3e9581f53bd3c1e293e7ffcfb1b075928b8611a426c5c91e23f0a82e695ec68f3f96ccc37e1d6d8a613580ccb1f1fc45a081ee6a1db85797de4610c]\n[sha = SHA-384]\n\n# tcId = 236\nct = 9a017dde820809127357c27c60a6f74742a84655a84818ca7345861a8ea91417b2a72fb30efe7446b2799d69b68fa4005b228df5bd3bf5bcc291a933f4049c82b771cc56ca54f6e8e1cc7bd5d3862dc02f45b6a531049aad09905d67be0548ff3aef2d512a37ac77d862eab112127f1a3510975fd73c9e3a9c833e910816ba2ed9e868bd1e1218ddc6325fa8d1a06c3b13bedef25e92f9eae43ffdf7c2a5066d458c3c01ff3caaea79ef301e99029320ccc77c0ff17c15ebb28ce6c08f68ea95\nlabel = \nmsg = \nresult = acceptable\nflags = SmallModulus\n\n# tcId = 237\nct = b046864c3e5e204eeb92608d16c76670274f5547920069b34c5f174a43a41ccddbf770e5c7fce2aab7a4b18a45e2c2f897b3f63a9e082b7f027fa2a02cc0fefaf07322e46b777a069a5834e604cf5d45491601830664d844a506689a2f7299a1c443658e1f5691711d4650dd2ea5a14b0f61dac5e94e42fe4d58632c4400263da550c9407cd8bb19ff0f43fdfbd72560654dcb65db78f78f88fe758620b955415ce0e7b7612f70503e2ea4c52049d9d11b92f6721cd4ecc72e76266f3653767f\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 238\nct = 2abd9efa29fd15220bd8dfa18d058b4307fbd6d81b4f6e74198a96bf0486888ef33fdec778d6c92f1b18361fec7ce8cccf7f024ac369ec0a950f5be30896fca31942189b7667eab4c6972585c5caeaae0c8f1209870e55df3f2dab1ffd3d9873b4a4107866a597a1e7a315367e48d79df0fd11bad1e4cc20935f3ea4febe886c411368a2567096cd4332509c5ca20a3809890d4cd3ecf21d79f2842382c398989f0f63668aeddc7eef4437a62668dd853eaf96a0bdc02d38d4c454aea6ea1d30\nlabel = \nmsg = 54657374\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 239\nct = c21e5925b3cc09ae72d471c9038e21e7fe7704ca563868fb1b00123f4074ab123f3789ced5788aa655c93cd44d343c5bfb1c589ca57c35525a1eeeadcbb3bd894d68cd8d27d7405da362069117c5ff66f95d1520578e504ac431c3e1ce461bc57b4140784d56acb3907c6e2801e25fc71846967fe4b8bc9f8048f2e91bc33780a273bd83eec4c222dc7470a08c837b2b0afaa16a8ee42cd0c511892cc0ddaa5d97ec5ac32b7dacd5250affcde6eb7b7a69b56852e08f8767602bfcd0b085be20\nlabel = \nmsg = 313233343030\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 240\nct = c00eff0dbe3860f13949b303419ec79257fcd41bb98498975dbf24e85921e8cf080071f4b99aa21e4aabfd7a873331b364578dfd26052d7018a879d9f236525f5b294ec37ebd7e5d9a6611eed6ce8333ae827cfc7e94fb61e407cef3ebb7f79ff2ad9b386fbfd7f171548559cf2267d54e3703314f1ca03cd7dd2e7b76b8f031236215ace860e78dfabcf92d34f1d7489322d2c80a73f9d9f4e203d74e4b505d375e1ac13655c00060dbb735b078d851b154745e5b0491b290e8486eec1df93b\nlabel = \nmsg = 4d657373616765\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 241\nct = 245b6ab67e848879588b8bb511022d2bb6c5c03a86189f0197ea6996e12eee8a528cdd43f4845f80f84693d764ffd1a4d0efff462bf6ebbb083b6c2c7bb339a507c02548d85a5660584da838be695db7c9e0c7b0d5ca79347500c1381623f6caab249448d6dd754bf2ca301bd98946b1717f43587cb261be9a8a9e95f09fd548f99d719474d5e20be907aeef7f8d8ee4b3fb81d049a9f876c445de322676f0b21fa9c9cf814dc88c7bfa483e830d79df47da0a333f5538d3864569202148c307\nlabel = \nmsg = 61\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 242\nct = 4d0de66eafdeeba91c552a15112f91da7e04a23382ba23232a5b5e5d79df15474cde9443786a61649171c68cb492c84aee3f8a17a711e0de46f0fec2b7f4ef1668838dbe41e43e0ecb00ad209fe7bc4e530d75bb99ae8b69e5de5421751f83beb456bd914c598535239bef0f63a12e4b77633d0681ef14ee2ff33bd0a9a42bf77aa49c2c0d060ce49b5f033b821994e11f6f3a390756b57cb38deba8b0a0ae6a072b530cfc92425193e72e6ab28c86ec099cbbd3e4d47d3a4b521104248bc505\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 243\n# Longest valid message size\nct = 2e94cc0919948ff02b98567700e1f97fb11128719f60c70aa9df6efc5d3272bd9560d310ace4dccf4d8a32c89ec1f9f2c20a433cc25242b171ac3df86c74919198afe1a517bb6d346de7c25c2459166a42f2c4f126bd4517a7666e449308cbcd3be18fae107e6269a032b4c52eb7e4cef9ec3242c14932538d40c1e3c4e6531bacac6472ebe9e2a7e64c6e88e26ddef1221835d1ea5490a8c17378cea57c90939b56b458427164c8d2731960e9ec0c9fc990634761baaa5bc86ca31443ac6683\nlabel = \nmsg = 78787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = acceptable\nflags = SmallModulus\n\n[d = 1b37e4de539f790789f0b164a08bf6fea908644142bc72e3153cd3ea6467389ad73107e5120abeeadde6f1c025248bcb775a993cec5bff07ee447e4f24ab36147c3af4f9056f4c9fddf8782d60f03c0b2ee63a31463212925e21638262f59dc8ac026b1c9bfdf79401999bd7e79e7decfda14dcafb04e4916959ba29213e93dc0ef824e132a706ac804c71d79b9b2dabea877f48fd2136a7abd94cb0dc7041b4b14464ca39d99c690b550badf2d33eeaa04aef787e07e291f86c2f45b76ae6f1]\n[e = 010001]\n[keysize = 1536]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00d1060fe7c6d185f09c3c1865cf6beaf5dc9306f2f3646bbccf19e47fadf98cfda7716c797d15afe506d573f19163ae2ab0ed9964c7b125dad7841125d38dd9f430b30fe5ea0d24083cb9b09f241b0700821cb5e40dc781e72ed95a2a8cfd33da065c58db8b8166aaec385a5db04f473198fa3b27d4de0a3267b11769af1178d284fb9ca6ac2ffd03b940509dbf2383838d39e0d5c93fe29a6802e12716431e25965f5b7b146663f4e5567ac4c3edf8824913d26ff2dd03830c8a0645adb04d7f]\n[privateKeyPkcs8 = 30820395020100300d06092a864886f70d01010105000482037f3082037b0201000281c100d1060fe7c6d185f09c3c1865cf6beaf5dc9306f2f3646bbccf19e47fadf98cfda7716c797d15afe506d573f19163ae2ab0ed9964c7b125dad7841125d38dd9f430b30fe5ea0d24083cb9b09f241b0700821cb5e40dc781e72ed95a2a8cfd33da065c58db8b8166aaec385a5db04f473198fa3b27d4de0a3267b11769af1178d284fb9ca6ac2ffd03b940509dbf2383838d39e0d5c93fe29a6802e12716431e25965f5b7b146663f4e5567ac4c3edf8824913d26ff2dd03830c8a0645adb04d7f02030100010281c01b37e4de539f790789f0b164a08bf6fea908644142bc72e3153cd3ea6467389ad73107e5120abeeadde6f1c025248bcb775a993cec5bff07ee447e4f24ab36147c3af4f9056f4c9fddf8782d60f03c0b2ee63a31463212925e21638262f59dc8ac026b1c9bfdf79401999bd7e79e7decfda14dcafb04e4916959ba29213e93dc0ef824e132a706ac804c71d79b9b2dabea877f48fd2136a7abd94cb0dc7041", + "b4b14464ca39d99c690b550badf2d33eeaa04aef787e07e291f86c2f45b76ae6f1026100ee00c43356f3af8c15a0da791724e491d7dd03afd0cd0b40f81cbce1b38a5dcd245edec03b3b112cda442b772278c2abdcf6bc8d23133e98b2596d5a61b5b3d4204e48055a33bb5aa0765b12b8bd28a9f63d1393193c295acfe4ff7bc44c67f5026100e0d4514fbd34a29a55503de9a76ebbcae7809612a8d13bb5901f6ffbd9f06c98760647306df342f77ab45395eb7a2dc2dd3763625fe9eeac9f03baa636e381168440c54473b55211d8f0f3bfc47af94e3cf4267de479e5ae3c947a1a48e25b2302605e60a76cc45a358e933509ed62a41a8f4ace359c0e6c80bdeea556b1198510d53c4af281bffb184074fcfb4f6eb7fc5a3271152bd270db2da9eb945576d19ad1cf4dbb7983df67b7f4517aa3dde604ae011b0f1c11b1ada4793411ab7e97ddd102607f04543fa953f03d22cfa77ab6a5dfa05d338f15519c8b9022b13011e7e96560a8e51918ea351173413659368c87450d1eef28cdae043a5bf9a620afc0b8bcf81c957f1d1205b12cf6140291278e9604367974b990f7b0e3c3c3da4bb93b70630260687d0174d89b9537ef87bb7c7f8f75a0247af7af8794e4f06a327e6edab92d2e164062ffa3e9581f53bd3c1e293e7ffcfb1b075928b8611a426c5c91e23f0a82e695ec68f3f96ccc37e1d6d8a613580ccb1f1fc45a081ee6a1db85797de4610c]\n[sha = SHA-384]\n\n# tcId = 244\nct = 53a35a4e8219e09c8cf0fb26bd20eb731db4618f260a54d4ee5e0b0b2ca84c955c1754274945931a9097c64082dfe7eb6d43fe19215bd7576c3ac3ce1056140734b310a1e9d99a82ff5ee53de727aab72390fb6e8f2658a1e2f7b40f212a3cb01621ecde7b876d79b539de1a4ade81106d3193fe2101cba00d4d1cbef3e1c2aff14414ef63202856039837dc8308d4daffcf92f18109038508094ffc6b432736970a6784d59196eda29bf2ac0f80689cb0eccb304f4d46489f047c0357198515\nlabel = \nmsg = \nresult = acceptable\nflags = SmallModulus\n\n# tcId = 245\nct = 26a4da7667d5e0b87b4c853a08693dea0c86d5145c1748c7b0083fc51bb4797b61a1bfbd569c42d99f608545a4aff59bd9925714e611386c5acb8e2e4365ae030ed2d048796a288d4f788bdb65441106995f1683fc29217dae6e3269cf7bc90e1c45e59e3bec28fb116e3b4be962cbc942fb7fe0d0641c0a9397c7521d088c5f977d631013d00d3a144247359c97b857d75d3584d5b885a15ecb799a0c64e425c6ba882227a10f2b73d518b7ac04bebf9ccaa5de8b891179b0959f61bbe61a5f\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 246\nct = 091d8dd815278175e6b05f4b343b314e1ba39d49f8402f91f57abbfeeb98f3e1efa697f9c35c60c5f668491a24ad6af5285d89ed99cc89c2f4116b8cb6f083108bace85191f7a1fa49c2c37a1533c89f8b214afd7e41d7ffb7378bd00b4a86f92ed15a82b342cfa53796f3cd491d70d57a38122d5665ef399e8c69def6e8e8c87910665755da8ab7b3b2ef51b137b1418d931659cdd14cb8d8cfced3a007fde7f18ffad184f31f539ce8ad5f5b414a25363408e3a541601f9bc0730ad80727a1\nlabel = \nmsg = 54657374\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 247\nct = b2cf10264bb4f305434412de94fbbff26b05d6632ae0a6776f2fd510262d90d8b0c594a8560f52ca7b0041c840e8aaea98089f3a9b93ee888f11c85131b34713d70eab9090a63a982e2aebd4c9ea973a7b7cbac478b0270150d0f15342e451c98b29bd2ce203614a802d654ae726ac2af9181db3e3618551c7ee9d5a8d26de65eb193f03f69bbc19b0c613f72f0e9f2d64abef9941c7ee068b10cab7125c118fc53e5e3546cf0b8c9dc85ab56c23d3dcc11535b836f87320fb84f25b5d5d4fd7\nlabel = \nmsg = 313233343030\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 248\nct = c8f2fc2cf33313f24661e41b2ec05ee9e90e52a39b9c1be7d7a8e3569fa8341ca5a7aaac6ff9139ecd334b42889296f9c9515ff569dc6d014a1aabdbc43de5e492909735a1c0f03b9100bd34936ff8d22e8ab35e9fccaba4ee904f3e7e38e5614d21e7a092fa0afc4ca926b66a20f077526e77d5aaa8572de2f1023dc94f8e0e4d47c85ed163fe8f4515cba4b6fd7a3017dd1c216457a586a17cc0f4369d1250f17000845ca8fc8ba652f594e89414d7dccb0f60c7901885029001412e592893\nlabel = \nmsg = 4d657373616765\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 249\nct = 438a7bec05977e0bad0192b291b55c725196ff7f700a0ca5af596ee50814622aea9f5658cb0d1b95f7e5a8bbe7030216f00254649936f6aa71744246a1a96a84e82e8e07508c2e08a4e3fa6322aa3059aeb3eb4f18175470413f3b8f3ac70a90be952be258d1d48292967a27a4e5b723bec4fb4515ef6b2283685ae73fc4b6ef31fbbc99caecb732b327302294794164625807cf22d357786d71c9f800d142ec4078e10289de55389d6b882ba95d23635e3b4236ee00a74f2f56bd726f954ca5\nlabel = \nmsg = 61\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 250\nct = 56c3339e424183472f602705b7b89ab2b2e4de31b3d8c03955e76333474b9f4e90a88632c258cae99d0208258827cb78f9aa9f44ddf253ed67ab7a0ac7959eb8b8122fcf9272643f5d8e472d1db6c18637fc29b98d113a0d92c6e6da788fbe1f5ce18251351447b365780e962eb1776a4a9f55e66448fe6a2ee7b55ff297c7f971b9bb72ba2599fc0d638ffc51c7be80e19b47821db79eaea1309d88fc7d559213adb57a118e154667b977a905b948e655ed9e3f9baac53bc9164aefce09aa7b\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 251\n# Longest valid message size\nct = 9dce05444c25a92283ab284207c82193ef41b79b812bc47be3a24947b7d1d57d60633b1f9768752cdb316dff41611dcca4a6dd9eaf633eb1d09a003ede76f88423e70b2d61681d91aa8b8cfd33fd8b63af201f0b6c9ba632299c1ce39bdca80f908c2e2e37294f09be54b6884b54c029f4315aef052438522367d08765494ee34c971c28668a4d5bc6cdb8e31a59d20a71acd23724985bf568cf9f1e25b75f7e1b07ab2aecb98c7cf818e63c36e1e70791f34c2a656eb709f4d6d5d1fc059bb8\nlabel = \nmsg = 78787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = acceptable\nflags = SmallModulus\n\n[d = 1b37e4de539f790789f0b164a08bf6fea908644142bc72e3153cd3ea6467389ad73107e5120abeeadde6f1c025248bcb775a993cec5bff07ee447e4f24ab36147c3af4f9056f4c9fddf8782d60f03c0b2ee63a31463212925e21638262f59dc8ac026b1c9bfdf79401999bd7e79e7decfda14dcafb04e4916959ba29213e93dc0ef824e132a706ac804c71d79b9b2dabea877f48fd2136a7abd94cb0dc7041b4b14464ca39d99c690b550badf2d33eeaa04aef787e07e291f86c2f45b76ae6f1]\n[e = 010001]\n[keysize = 1536]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00d1060fe7c6d185f09c3c1865cf6beaf5dc9306f2f3646bbccf19e47fadf98cfda7716c797d15afe506d573f19163ae2ab0ed9964c7b125dad7841125d38dd9f430b30fe5ea0d24083cb9b09f241b0700821cb5e40dc781e72ed95a2a8cfd33da065c58db8b8166aaec385a5db04f473198fa3b27d4de0a3267b11769af1178d284fb9ca6ac2ffd03b940509dbf2383838d39e0d5c93fe29a6802e12716431e25965f5b7b146663f4e5567ac4c3edf8824913d26ff2dd03830c8a0645adb04d7f]\n[privateKeyPkcs8 = 30820395020100300d06092a864886f70d01010105000482037f3082037b0201000281c100d1060fe7c6d185f09c3c1865cf6beaf5dc9306f2f3646bbccf19e47fadf98cfda7716c797d15afe506d573f19163ae2ab0ed9964c7b125dad7841125d38dd9f430b30fe5ea0d24083cb9b09f241b0700821cb5e40dc781e72ed95a2a8cfd33da065c58db8b8166aaec385a5db04f473198fa3b27d4de0a3267b11769af1178d284fb9ca6ac2ffd03b940509dbf2383838d39e0d5c93fe29a6802e12716431e25965f5b7b146663f4e5567ac4c3edf8824913d26ff2dd03830c8a0645adb04d7f02030100010281c01b37e4de539f790789f0b164a08bf6fea908644142bc72e3153cd3ea6467389ad73107e5120abeeadde6f1c025248bcb775a993cec5bff07ee447e4f24ab36147c3af4f9056f4c9fddf8782d60f03c0b2ee63a31463212925e21638262f59dc8ac026b1c9bfdf79401999bd7e79e7decfda14dcafb04e4916959ba29213e93dc0ef824e132a706ac804c71d79b9b2dabea877f48fd2136a7abd94cb0dc7041b4b14464ca39d99c690b550badf2d33eeaa04aef787e07e291f86c2f45b76ae6f1026100ee00c43356f3af8c15a0da791724e491d7dd03afd0cd0b40f81cbce1b38a5dcd245edec03b3b112cda442b772278c2abdcf6bc8d23133e98b2596d5a61b5b3d4204e48055a33bb5aa0765b12b8bd28a9f63d1393193c295acfe4ff7bc44c67f5026100e0d4514fbd34a29a55503de9a76ebbcae7809612a8d13bb5901f6ffbd9f06c98760647306df342f77ab45395eb7a2dc2dd3763625fe9eeac9f03baa636e381168440c54473b55211d8f0f3bfc47af94e3cf4267de479e5ae3c947a1a48e25b2302605e60a76cc45a358e933509ed62a41a8f4ace359c0e6c80bdeea556b1198510d53c4af281bffb184074fcfb4f6eb7fc5a3271152bd270db2da9eb945576d19ad1cf4dbb7983df67b7f4517aa3dde604ae011b0f1c11b1ada4793411ab7e97ddd102607f04543fa953f03d22cfa77ab6a5dfa05d338f15519c8b9022b13011e7e96560a8e51918ea351173413659368c87450d1eef28cdae043a5bf9a620afc0b8bcf81c957f1d1205b12cf6140291278e9604367974b990f7b0e3c3c3da4bb93b70630260687d0174d89b9537ef87bb7c7f8f75a0247af7af8794e4f06a327e6edab92d2e164062ffa3e9581f53bd3c1e293e7ffcfb1b075928b8611a426c5c91e23f0a82e695ec68f3f96ccc37e1d6d8a613580ccb1f1fc45a081ee6a1db85797de4610c]\n[sha = SHA-384]\n\n# tcId = 252\nct = 406b9d134e032a7fe99eb9d3a104b69c1bd16f9f412c14df6af63a5f352525718cb747c0fe46b201bc264035630d55c71c4d394f46ae734c1268fff6492283e7a6a6f53d7ce3abb1a33449a96d6ac851c1ee12907c7f3cd30b29f313bfc3263dadead8e2bd133f70e17da6d072c1e4adb54c5bd75be0cdb4cb9218a5fca78e8009876370e47cdf312cbb63f1b309822c7c59f9ccdc5e21a3b5cf04a9a25d7470581a19f213f8d3", + "6c620cf707de612342dc0df1312ab706570a2e19f8f04f9aff\nlabel = \nmsg = \nresult = acceptable\nflags = SmallModulus\n\n# tcId = 253\nct = 84b19a1ef7c2e36b572d021e64b8ce2f46cc6867748864ce5f33708137937d5bca498a4dbf84215ce5b0056c664a1ae6209fce8abd1ab219585113ec393219a5ea88d987272c2341574eab54bd1e4752e2396b38b0f4d198b50a148d014c91f90168d093ea8be3fc68e03ea7fce8c9e813f2232695f1c9c5e95ea86573f7e93ff19630aa2d06b81f1c9af154984c87a13df64000036fecda0af7c076897af2c9e8538ad961e2752b860dcf77fb10c818d5c583663557430b46d577e039a88d4f\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 254\nct = 16f18b718d3a96b83eb496fff56f45e01ef776609dce62208e1bae8e11f6ba71ff4a90f0194a41d9221fa6be48fa1e58a8e6d6677b67f4d3776b889b1fb077eca69eb32cb018b5856f96ae75eeb91bcd7d81e7e4d53881e4aba2c0055c9b99e7aa46fa9aaae35811448b22691b8efdb923d79820ed18b020a59d2f372526b8e8e6648f47d32304673b542caefa6139e6dd9363adaf942a9ad2d67d1f517d4ab57422bb166651d6823673b5d75cc73bdc63d5eb3de00d17292f4e18eb55a840c3\nlabel = \nmsg = 54657374\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 255\nct = b5f17081860de6936e8858f07d623a224e63642f39b1ae509693ce13010de149d6c0690f64116c74ed1e2020c6bf3a7e7d348783b976126173c3558968965a5f7d647ba995e3603ff156ea54830ef708f338d297fea86b6b757ba5acf0642044bc0d62528c2cdd87627a4429e0f03caf81437d4e6704171ac50fb7a1517828f38b2a54fe8379591c31584e4eedf06440abee2c896b91cc99648deb662a92095b528315b068478dfdff31e82f8ff15f5172c57784621a2579ca2b02946979fc54\nlabel = \nmsg = 313233343030\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 256\nct = 5f3bbf46122f11ce56347d6d3fa0e510c18815c4daea31296de83d49cf892b01611e8821d2f2098e4770f2de949b9fcda3e79ba24c74d0530e45fd3249be70f54ff7c6f822c90b1de143dbc9f3e0001e8d4b8ba74f047adf1a8fa7af68c2b5ef06d057b9948397148d585847bcdf23ebcc53e87893defc25000ba32b2f306878fdc98a64db5e1b955b8412e6d960963685d04cf6ca0993a197f785d0531ff6930ab0f401ce744c5b25becf62b0837fd9a1c0d6ea08f4dcf3297aa321651370a6\nlabel = \nmsg = 4d657373616765\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 257\nct = 793583786f15b14febaeeb39473d5c80153ea675f8d9f1041ae869640a9c7604e2deca027bba361fcf2ce4f7506e65e30135424aa15e99bfe62a6870e2ed1e4ec580414876eee36ab51da54594169e7192b4bcf56a3e3d544a795ef4a184f5b29f36d860f5362fb99ebab8c474d0b153baa713869c8e05144f775bc9524aa1a66981e22db47980494257607364d0982def2e5e2a7fb741bd50c0142e4f1defc5318fdb436c56955b8def0bc988df22c88e94bc06eb0f93d5f36aa8eb3c068fb1\nlabel = \nmsg = 61\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 258\nct = 7caa520126e8560d7e2df85d9edbff98230548a7f522004f389e7acdbbb0e3de911e156bb6c2edb852a14246bbe6c3633365aa5a7cad96662b962d9f42225ba9bce7422d38086ac3f75514609b52ffe71f0cf7b9e29f80289d186f2349967a64e1983a785a1750301f971f734202d47b642d4196cdbfa81757a0127664b788886a4ebaf91e44778f8bcdd17fd2e5c36a00fff058c808d01989f21cc0ee9da839335f950ef0ab7255d9bd397b8b4218a8e5d871cd0a966107729e6818dc3713ea\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 259\n# Longest valid message size\nct = 1522039806ae6511599bd91cc94f414d5fb88253fc98a902e63cdd89013c2eddd5fef6a8d95bd7a7506efb31c28966373d85e1e0dd3281305d6defab3fd5517738d2d5abbd2e1e9e25f01f76adfcad605a8f6670ae2328338598c6d8925b478ca2e3aa1af07b283351d1ebeb3ca029519f7ed2c415ad6b567a4567a66e26d98f6c24a83a1bae85c6b23f613ee1bb07f725f14db72d96f68a7855c38106c140d241965bcbaaf1ad5af1476517446727ad826e6055c18941ab09fe5e97b82f1b8b\nlabel = \nmsg = 78787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = acceptable\nflags = SmallModulus\n\n[d = 1b37e4de539f790789f0b164a08bf6fea908644142bc72e3153cd3ea6467389ad73107e5120abeeadde6f1c025248bcb775a993cec5bff07ee447e4f24ab36147c3af4f9056f4c9fddf8782d60f03c0b2ee63a31463212925e21638262f59dc8ac026b1c9bfdf79401999bd7e79e7decfda14dcafb04e4916959ba29213e93dc0ef824e132a706ac804c71d79b9b2dabea877f48fd2136a7abd94cb0dc7041b4b14464ca39d99c690b550badf2d33eeaa04aef787e07e291f86c2f45b76ae6f1]\n[e = 010001]\n[keysize = 1536]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00d1060fe7c6d185f09c3c1865cf6beaf5dc9306f2f3646bbccf19e47fadf98cfda7716c797d15afe506d573f19163ae2ab0ed9964c7b125dad7841125d38dd9f430b30fe5ea0d24083cb9b09f241b0700821cb5e40dc781e72ed95a2a8cfd33da065c58db8b8166aaec385a5db04f473198fa3b27d4de0a3267b11769af1178d284fb9ca6ac2ffd03b940509dbf2383838d39e0d5c93fe29a6802e12716431e25965f5b7b146663f4e5567ac4c3edf8824913d26ff2dd03830c8a0645adb04d7f]\n[privateKeyPkcs8 = 30820395020100300d06092a864886f70d01010105000482037f3082037b0201000281c100d1060fe7c6d185f09c3c1865cf6beaf5dc9306f2f3646bbccf19e47fadf98cfda7716c797d15afe506d573f19163ae2ab0ed9964c7b125dad7841125d38dd9f430b30fe5ea0d24083cb9b09f241b0700821cb5e40dc781e72ed95a2a8cfd33da065c58db8b8166aaec385a5db04f473198fa3b27d4de0a3267b11769af1178d284fb9ca6ac2ffd03b940509dbf2383838d39e0d5c93fe29a6802e12716431e25965f5b7b146663f4e5567ac4c3edf8824913d26ff2dd03830c8a0645adb04d7f02030100010281c01b37e4de539f790789f0b164a08bf6fea908644142bc72e3153cd3ea6467389ad73107e5120abeeadde6f1c025248bcb775a993cec5bff07ee447e4f24ab36147c3af4f9056f4c9fddf8782d60f03c0b2ee63a31463212925e21638262f59dc8ac026b1c9bfdf79401999bd7e79e7decfda14dcafb04e4916959ba29213e93dc0ef824e132a706ac804c71d79b9b2dabea877f48fd2136a7abd94cb0dc7041b4b14464ca39d99c690b550badf2d33eeaa04aef787e07e291f86c2f45b76ae6f1026100ee00c43356f3af8c15a0da791724e491d7dd03afd0cd0b40f81cbce1b38a5dcd245edec03b3b112cda442b772278c2abdcf6bc8d23133e98b2596d5a61b5b3d4204e48055a33bb5aa0765b12b8bd28a9f63d1393193c295acfe4ff7bc44c67f5026100e0d4514fbd34a29a55503de9a76ebbcae7809612a8d13bb5901f6ffbd9f06c98760647306df342f77ab45395eb7a2dc2dd3763625fe9eeac9f03baa636e381168440c54473b55211d8f0f3bfc47af94e3cf4267de479e5ae3c947a1a48e25b2302605e60a76cc45a358e933509ed62a41a8f4ace359c0e6c80bdeea556b1198510d53c4af281bffb184074fcfb4f6eb7fc5a3271152bd270db2da9eb945576d19ad1cf4dbb7983df67b7f4517aa3dde604ae011b0f1c11b1ada4793411ab7e97ddd102607f04543fa953f03d22cfa77ab6a5dfa05d338f15519c8b9022b13011e7e96560a8e51918ea351173413659368c87450d1eef28cdae043a5bf9a620afc0b8bcf81c957f1d1205b12cf6140291278e9604367974b990f7b0e3c3c3da4bb93b70630260687d0174d89b9537ef87bb7c7f8f75a0247af7af8794e4f06a327e6edab92d2e164062ffa3e9581f53bd3c1e293e7ffcfb1b075928b8611a426c5c91e23f0a82e695ec68f3f96ccc37e1d6d8a613580ccb1f1fc45a081ee6a1db85797de4610c]\n[sha = SHA-384]\n\n# tcId = 260\nct = 4eeb35789fe3ff1aab3f49776f223f1df314a54716535ed45f23e31991d5cec827bf99734fbab236a6fad0c0d6e57ab7f734a6725e35473884c77c5119d163daf9b8fb101b90f7181b1be4e822cad677ddeb9e88419b539ecbc72d573795143b38a5606a6fb5802eb469a7b0b67222d11ab8c7e895c862c4f04aa8057a217be0a838b34602fa04d68a0607b70edbe24f8c4f1f0cf91b0a96be9ca17b176d4b5e967eafc2729e0f5056bb14fe3d4cf40a805dd7e5a544dfc4fbe1a52735eaf5f5\nlabel = \nmsg = \nresult = acceptable\nflags = SmallModulus\n\n# tcId = 261\nct = 0ea0bfe59acbf6b49cc22bb72de5df8287785f3a88ac6666e8d6d378f27f619c4eb371e557347e50a7d75582c81dbd4cd5805fca9c2178c55ef6b2f6db08d486f4f9b285df707998fbf4ad778cdcd55c872743a77936a4e945c32895e74eac1e5da1eec8bc0d1b1ed2d7305d082e2967f39a2e06d7920e1a91a699d93cbe9fa12d548ce447b8650b8ab2a76b4fd4c458e1974526efcc2d23c7344e9b4b06a2c696d4b9abcc8cc20e9011eb5d4f68acb345617e353cf77e46342e52740d8c2e28\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 262\nct = 0ae6df7e027f3c1bf890fcf6a3f2ffa2759f0b2d2b71fdcf1dc87174d9043f0d6e870d91e65e9c155cc8e06e472e80f1245efc7945347cb4e73576b2aabf7d62a77b91366f816e6ab4a4ab48d77ca983bf9476513f55828af057ebccb3433c2ad0a37c2c546d31745fb8f09febe7d6a9d0a58b3ab41cb32c06a44d154231d8a79be489ada34ff3afabd36061baf77e4196542bb7a0ce3be982a5dcca13450f9caebfd3d05b596e979038656e49d1afebe96e7c52afded1fc50d3976a9c77a228\nlabel = \nmsg = 54657374\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 263\nct = 4c875f20045d0a08dc3a35c0c8280fd9843ead04e89bc3915c008c25833f0fa3f6fd091ce3e5d5e116e10c21918a40569aa7715d1e0740fe4c589ea7e9c264d99344a0f3668f080ac295a6079552b5ea4cd08cdc2d0aa5755b697aff326a14cb562bac5837ead5de6429ca87e4aab5522a6f88a021996fe395346e8cb0dd437a1648800daee987830b7e8cb26bd8cb1e6c50d8def2f5b408375d7ec9ce2f03f3f2d9", + "fb0d0ccc3563f097de9b0f18eff83fb9de099c6d6b490f94ebe55badcce2\nlabel = \nmsg = 313233343030\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 264\nct = 1be693aa4e18752145fbe64d357e885feb28bd9537ed2e268fb56c1844d65946982b0eb3e949d674464efb9c955c28c64fc0e165b1f0a1650e818ea415d4def063a2d9c2891aba25c884a9c91ed4ec6090ac7a5063324285e589e6ddddb219b63927f86348924019820afa93802db044fdea1a2d050a2e199db18efca7cd4b32b4cf8e08f1d9f5f9e8dabff923dee5c150eccacfaf6c7a1ba6741ed6adf89ccb6a8a2b0fccc33b4f3a377a397a0dc58d9c72514e572b0437a4f212f956856b85\nlabel = \nmsg = 4d657373616765\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 265\nct = 641341abb936dd8d094db8319b7457454e29ab29a215c6abbd3bf90f96534428f658f7317192cac0605dfeea4ef0842d14e0089fa74d488dde188104f78a9192fd141f5d97f7bfa3dba2f28f041b282ce4db6ed13131786e994b175b4fc0ec56efaaf70a769a4354ce48bdeb678c172c11ad27f23518dbca0fc2cf9d3342e371946a442384be8a1563ef9f90c4f6111e504874ce7b7a0897c7f7887a4a763e71d4e67c4e3499e3fc227139598648d0744a3e4b47f80239090e94aae8c96120ff\nlabel = \nmsg = 61\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 266\nct = 9f4cfc557885200a706bf5f4f943e090be1bc824f6961c052d924a160b539d18270b85d997e0f14edf6d5c3a38e291ba28605561464fb5358d153dc0c11171e14b2844a9471b225c86d459a24194a9f46c3d5998d9cc0fd184d2d365a8ca2b4e34a3a26b6d4d3f4bb34faa1c4d54d4b77e2b3a14dd6c69fe3b65df59502ebf5f4b163e388421b98ae5508c8917d9efb7d1c21f680c685d9b6697195b99d01ea452953c62d3a5b5c39f87dc87522ab749aff030e16777647d97d7fac8e7247df9\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 267\n# Longest valid message size\nct = 1e1e7fd7ba86f88569192f96b4310c45400a04166762d014ccb3dec5b38479257a7f25595fd61871f3db426096734aa511223c7e7cf7ae4a3cbf2c594579726c2efcf3785b31cc4e422233b05ac2e48c3c2f3afde8a04f668b95385a2b3a89fab7b9d2f015f94d441943b5b7fa45c3b49bcb5440607aa9aa1addfcf4f8a96bff8e796103b3bf90679a73be1ef65771bb978ed9b05a38cc31d6b7dc6b314eccbc85a04d02d9669c1194f44c6629153935923174b3839bf637be30f05c1d4f6031\nlabel = \nmsg = 78787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = acceptable\nflags = SmallModulus\n\n[d = 1b37e4de539f790789f0b164a08bf6fea908644142bc72e3153cd3ea6467389ad73107e5120abeeadde6f1c025248bcb775a993cec5bff07ee447e4f24ab36147c3af4f9056f4c9fddf8782d60f03c0b2ee63a31463212925e21638262f59dc8ac026b1c9bfdf79401999bd7e79e7decfda14dcafb04e4916959ba29213e93dc0ef824e132a706ac804c71d79b9b2dabea877f48fd2136a7abd94cb0dc7041b4b14464ca39d99c690b550badf2d33eeaa04aef787e07e291f86c2f45b76ae6f1]\n[e = 010001]\n[keysize = 1536]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00d1060fe7c6d185f09c3c1865cf6beaf5dc9306f2f3646bbccf19e47fadf98cfda7716c797d15afe506d573f19163ae2ab0ed9964c7b125dad7841125d38dd9f430b30fe5ea0d24083cb9b09f241b0700821cb5e40dc781e72ed95a2a8cfd33da065c58db8b8166aaec385a5db04f473198fa3b27d4de0a3267b11769af1178d284fb9ca6ac2ffd03b940509dbf2383838d39e0d5c93fe29a6802e12716431e25965f5b7b146663f4e5567ac4c3edf8824913d26ff2dd03830c8a0645adb04d7f]\n[privateKeyPkcs8 = 30820395020100300d06092a864886f70d01010105000482037f3082037b0201000281c100d1060fe7c6d185f09c3c1865cf6beaf5dc9306f2f3646bbccf19e47fadf98cfda7716c797d15afe506d573f19163ae2ab0ed9964c7b125dad7841125d38dd9f430b30fe5ea0d24083cb9b09f241b0700821cb5e40dc781e72ed95a2a8cfd33da065c58db8b8166aaec385a5db04f473198fa3b27d4de0a3267b11769af1178d284fb9ca6ac2ffd03b940509dbf2383838d39e0d5c93fe29a6802e12716431e25965f5b7b146663f4e5567ac4c3edf8824913d26ff2dd03830c8a0645adb04d7f02030100010281c01b37e4de539f790789f0b164a08bf6fea908644142bc72e3153cd3ea6467389ad73107e5120abeeadde6f1c025248bcb775a993cec5bff07ee447e4f24ab36147c3af4f9056f4c9fddf8782d60f03c0b2ee63a31463212925e21638262f59dc8ac026b1c9bfdf79401999bd7e79e7decfda14dcafb04e4916959ba29213e93dc0ef824e132a706ac804c71d79b9b2dabea877f48fd2136a7abd94cb0dc7041b4b14464ca39d99c690b550badf2d33eeaa04aef787e07e291f86c2f45b76ae6f1026100ee00c43356f3af8c15a0da791724e491d7dd03afd0cd0b40f81cbce1b38a5dcd245edec03b3b112cda442b772278c2abdcf6bc8d23133e98b2596d5a61b5b3d4204e48055a33bb5aa0765b12b8bd28a9f63d1393193c295acfe4ff7bc44c67f5026100e0d4514fbd34a29a55503de9a76ebbcae7809612a8d13bb5901f6ffbd9f06c98760647306df342f77ab45395eb7a2dc2dd3763625fe9eeac9f03baa636e381168440c54473b55211d8f0f3bfc47af94e3cf4267de479e5ae3c947a1a48e25b2302605e60a76cc45a358e933509ed62a41a8f4ace359c0e6c80bdeea556b1198510d53c4af281bffb184074fcfb4f6eb7fc5a3271152bd270db2da9eb945576d19ad1cf4dbb7983df67b7f4517aa3dde604ae011b0f1c11b1ada4793411ab7e97ddd102607f04543fa953f03d22cfa77ab6a5dfa05d338f15519c8b9022b13011e7e96560a8e51918ea351173413659368c87450d1eef28cdae043a5bf9a620afc0b8bcf81c957f1d1205b12cf6140291278e9604367974b990f7b0e3c3c3da4bb93b70630260687d0174d89b9537ef87bb7c7f8f75a0247af7af8794e4f06a327e6edab92d2e164062ffa3e9581f53bd3c1e293e7ffcfb1b075928b8611a426c5c91e23f0a82e695ec68f3f96ccc37e1d6d8a613580ccb1f1fc45a081ee6a1db85797de4610c]\n[sha = SHA-384]\n\n# tcId = 268\nct = 11b37d2419607d7b8cc36ae119ef98e4cfb694d090712194756b16f8394fe1f9018c19bc1c8a860b017e4c17052c4f7c10f47b6b8390ba7de9ddff52bf17b1645850ff4704e58dbb52f75182788917b470d440cdbd2e6e2f0ae74e456da62594e11e01342fb162787cb5ba72395182dad0c95e57633f800af342da272173462135956421c73f50e158017114d1d4caf2742b4f720c5030d770adb03336004fc0958bb11cbf4e1d5ca83a4dacdec3df5fc4ccd4e95e92cf5adabe9cdd1325f8c8\nlabel = \nmsg = \nresult = acceptable\nflags = SmallModulus\n\n# tcId = 269\nct = 51caaeb4f568bec615be7f2d53bb13033b2ee83a304a20cdd91db4ead548c557c42e7fd6862fc54ab042179cd4a9d5dc387e4efa1fb7ed715e2626e954af0982cb195e6a95be9ccb08108f693b25bc3e0330bc2c537445617543b496dbc1346c088bce827b4e40554fd8d63218d21234b29b71b3885dd0e026f15997fd5f085900d419fe681c1547948d23dda8b795a14ba58879e3f1eff662ca6a5dd63d71a88f2136fb8f33fb4cff6a07f188958078dade5f43a0de5dd5dfcbee9177bca325\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 270\nct = bde48d0c0fba6a2898a4621850bead9af38f8e28c04723bf93254cfe635eaf47461958e1597e48fd58e84acacb58934dd9072041e463d593a8ead2397298de5c653c73bc2366e7d234d86dbd719b0dabf9d7711caa7efb0819297ac26f49bc0c67efce2abd9a1c042f54a28b744013851d0dac6d813e758be129f8681865efd4a7ddcc7a200e6190330c4049a25c8d221fb87687e2cc7666555ce29681b623e890b46ff3c10e9e63769e2082fd5f241a1bf562d1f202ce575ad7e09f3838a0de\nlabel = \nmsg = 54657374\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 271\nct = 46fef13374b208c3946e1cae42123c30278fb1743627342ed7e138a533e5d6883646df0207f9c8c0681664f66fe01d9e90e755ca16694beba3add3c8c697cec81a0a817944048ef515e8e4aed6d9ce380c570a4737abe06e221eed3d47a8e980284d42d5860408eeca703db3333eb0e778fa06f74867a2bb69fa32b77985e611faa74ed0be98ab08c76ca58d27f4944381680983508002ee4e35bf27f47777e100fd1f38a14a2b8e8cce39a27555a710143653eee8860e8e9eddaab9f532e852\nlabel = \nmsg = 313233343030\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 272\nct = 1aff01c27f7b026184e996277190bfbeb15a418e8abaa9f092524b7b6cb4137652b3728b6d61a4dbd6b88ba307bd9d2140352dbb6066eef3ab45acb73f1b442cd728d0a932e917dad3092db2de73b38681357ec0cb2bfa5b7f31e8196f0f006d676432b592defeda4789ab0319b2e5ddf16771c0299d00d9487513ae5e629935b8033579c620e2e2bb7f286e21028a5ee9fd03ed38e4d475bf99e8eca4cce7c4e40501ca43377438c07e38be6eb4fff1578d3243cb919259fe574828729a1b5e\nlabel = \nmsg = 4d657373616765\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 273\nct = 402ec80a8d4e741d60bb8b4704a28c00fcff0c1544150220426107cbba18ce9b572776c925675a2c1ce1ec242e21dfd78e9a555e152fd2d36635587e0d5ab523c146b22cfe1213a6f59ff967f8bd2ee6df56cee458a161b08a22df3a54dc40e5f534d684e579fc6bd4564f999f420a112456a7ec42f5e28229e9cef69249ecc80bbd776c35ed5725dd56bc507ef206c8d399f490741f96623fed10308b1ce7525f691eed8ed8282251ff92de150dd1eb074919e74f44ed2b081e9069fb7f309f\nlabel = \nmsg = 61\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 274\nct = 35afa6430b7b255ac515b92e30bf4717bf989133642c00c2ba9b3db5f485da08cfd0771c75e98365cb4edfa4eb7c68546a223e572301dc6c9419d69b47c8315342aa4c650bf8b414f2eea5d2d6227afe954ca2ef3cf64bd51f77e6e5da49736ec72b691532dac739bf4db9081cdc4c7ef0489ab350bdc11195d8207f854690b05c702301ec127817be6aa31aa82f18fd543b0bdd2d3493d59602e78ca5cd798c55ca8f7f2b8e06", + "0d4337cc5dbcb9d8a9dc00ae84a9eeed350237e2eac990ce33\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 275\n# Longest valid message size\nct = bc7fe9136ce18763f3fed05baa3ae2903da259c8a4555be0b7fa84e9de1911fe1fb47f60b11992df48240afc90e6ec07323e14584e9c0302fba8898650e732a16b4b26ca0902198cbdcfe1ff6ec429d914466db153d5257f8f1c09785cc284d5b6a486e0c4c221480030b6c425b483e4ac6109a546317b8deeccc3fa9ad3551c15ed4c13af8d8d7017476262d8cfc6b8e97c832292f3ac40c7cf884c0c73c4e5a30dff02d05b268f1020116a9869e99b6cfd4c9022a9e500570954fc451890bf\nlabel = \nmsg = 78787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = acceptable\nflags = SmallModulus\n\n[d = 008be04109981f7726dcdf63efacd55d089901bd681003accbf97282a64974e1b5ea90f218927086c36b4d1b8f3f9da2b5ab767803f5e3f846c99605db82960400c3b0f284dfadb971cac7c10c63df3454bddf5c889bde32e620e8f371e9ffb96d8ec9f8ba95449d541691e7ad22453bcc52d938c41bfe18c70e8e042c4b83e4af5a9c40d45dfcb8536540395ea8b6d261fe14c96c8bf1d2bcc84b0ed1381ba2135683dc74ba03b64223a0aa968b6fd1a6f26f23b3a4c8e145d6c8922c925acc81]\n[e = 010001]\n[keysize = 1536]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00d1f33c4d0c3b127cfd4c711aef054e291cb9a9b7b769d6dfcea5ba02d99f0807ffb63f097ed7b5c5e2ad09578c749863a96a2bedc3e72738fe887a4a1fae6ca8c8e722c8dedc065a4df9f5c38e950175a7e0de9008f3a9a67e3413f9891e2f8a70b29f55dd21d2cba16f8e2300ef7c35ed1e42ebfbe70645230ddd8c067dae9069ae5f32937a207e0e7896e87fb399e6c93bc5bf6c2504fbdb3ecfc281f8da29115b2ec41eb9acc4176e311fe8dbcac24b57f8d656600e5fb4095eb4bf90b6e9]\n[privateKeyPkcs8 = 30820399020100300d06092a864886f70d0101010500048203833082037f0201000281c100d1f33c4d0c3b127cfd4c711aef054e291cb9a9b7b769d6dfcea5ba02d99f0807ffb63f097ed7b5c5e2ad09578c749863a96a2bedc3e72738fe887a4a1fae6ca8c8e722c8dedc065a4df9f5c38e950175a7e0de9008f3a9a67e3413f9891e2f8a70b29f55dd21d2cba16f8e2300ef7c35ed1e42ebfbe70645230ddd8c067dae9069ae5f32937a207e0e7896e87fb399e6c93bc5bf6c2504fbdb3ecfc281f8da29115b2ec41eb9acc4176e311fe8dbcac24b57f8d656600e5fb4095eb4bf90b6e902030100010281c1008be04109981f7726dcdf63efacd55d089901bd681003accbf97282a64974e1b5ea90f218927086c36b4d1b8f3f9da2b5ab767803f5e3f846c99605db82960400c3b0f284dfadb971cac7c10c63df3454bddf5c889bde32e620e8f371e9ffb96d8ec9f8ba95449d541691e7ad22453bcc52d938c41bfe18c70e8e042c4b83e4af5a9c40d45dfcb8536540395ea8b6d261fe14c96c8bf1d2bcc84b0ed1381ba2135683dc74ba03b64223a0aa968b6fd1a6f26f23b3a4c8e145d6c8922c925acc81026100eb6b28e97c190ade38002d738eeed3479ab199d4eb9012de14eda58d7819a2ab07a903a286ea5e689412089200220a3876732271ddfe3a27ef19b37005ccd57aa02bca3ace160c9246ff282c7cd5fe72a32c31e9718e6661908aee67f2f572d1026100e44e12b7e2476fb08db8c536af017f76c392af55144146bbd55ee890b68d464779fad4b24161b0a57a611f86b5c21fe87b84126e11de9719a0e626f34ada3ea661fe219814d3c59719862ce0edfcd238f75cfc32daee448b7050c6f62243989902610082e89ce070f48ff990147131d02a77ec5a56261fa33a0373e1196134f0b2f8a4b866c0b1b0ea44c34c8b569eb15a3c6ab75b40ad26efc6b10c213389b87ff5b9f1b54808392f43a057c06d3b87d38b617de10684347425f45ce714b952fe2ff1026100a40cc5be844638a770eeb82757118879da86689e85f371d43eb9f7fb2471d7723ce0543dd26553fd5436bde49a6e67673279f0944f1ad7107f6161d3a891b23af4671bd4a0029c14bb2e82c90db981859599a74f13a9ea6f17c1b375e1a118e1026100b60b29e2407e938824820a5412f0f5a8c568f2a356df31b669a8afec89ea2ff34ccc9dcb6f962b76ad02db94ff9cb4cfc0f99928373fbd6a9923b912a39ef9fd7ab9074e97b938396a2f5fca0b0ee732fd0215999e5049798b338ac891b46c8a]\n[sha = SHA-512]\n\n# tcId = 276\nct = 94ef261c45770d06e0241fe81d66a823d7264640fcd7a46197330acca7449fa0e9b6a7efc999af48d761b48faa73919fef0fb2c30d4b590aa874b3a9b4aa57c2d641fedecf64893cdd43f8d5cd546f6f60a2cb4e0790c0179e3ada122573d346a1b5d3b1b109d9062d02267c36b483648bff3a19ffd7b02885b4b0579ec86dcacaebef18e0e7106d5c948fc27c3082908bb52ecdfec22c10e65d6b5a684651de3dbd7fbd154b8e277a106d11bdcacf4b764ba691944ca99b10cb01c1dd6b4350\nlabel = \nmsg = \nresult = acceptable\nflags = SmallModulus\n\n# tcId = 277\nct = b83bbc3d97794203e5deae6209cbfec4d6b2854a38b14480e17fedf6efd78386ea0b929cc9299a3c5a9d07c0962ac1296ff5bbea472d84ca18c98d81f5ec361bc82e82bed2d07475fdf64ce56156be94d13547e961b6bba4f373ef5d0c2402a67e8a9309eeda8c2ff9bd49cb1f75b4dede921a2c67423dd868679c6c012ed61b6c875b6440939d299f28555836a043ef351c74cfa30dc0bda91971d92a086661628029cff6d3ae7b876610f18222b9d63c71e87cde899b2d511a78c2986e5985\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 278\nct = 66e6cc479c5adc44beb8d94c604720cb0a40417747838eff6fd089a1156c725bab56cbdeb7193f2c763db34f2180b7a1aa20b77b83f2fa2f2c983f880599b37fd5e9bcbefd3a9678b2b91f3988d141efea335ffc1df89c4076135c41733c9977572cfd97a52679dac3039c781ddbcfd5f28e6322051a83c92449e89e531ce1c2724fab763ed853a45b9d7c4d1eea17c8f5c14980b26a24f7037c9f118244d895da83df104eb6d9221cc5fd88f249e3f134077fecaa90ff2d06c3ac4c4cbbdcc6\nlabel = \nmsg = 54657374\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 279\nct = 44f7c180343a2f16f80baa47d2fef38d6cf1a5ddab89171f85504c362c7fed8c2328a961856986c59fd3224460ed7c32b342473e7904b0e46be2c3c757262890d3bf86a2ba8d9d6ad59ae4b934256d7b0000f9f23cc7845b5119d37ed58ad3aedd7940d45e9640f20a4e41af15e00f733e93fdcdaebfaad173d2267cdf151d5766e4c7e6d64a5552de257be71cace73d30d8fb4abfbb301ca73dfd3347b277ab4054ef5afb66183eea1d4b0dbaabe6c5b4b24be4efcc3b0e19f89d663906ca32\nlabel = \nmsg = 313233343030\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 280\nct = 0835eb89c071ff15f4ea203df3a7afeaff299062f05e74b9a28a84dcd4e07245cc9ab16614901161e543f42eb81c1dbfbed3a2597e559b99644ae7bc187f6638e45f89e7dfb6737dadfe67f09a41993a38300e5f6d07db09edf3937cf8c017daf57e3b2cf018a963cda69cad364ce88b23b66f67cde4384b0b09b6c5c0389c68c32485a848a2e23f0b033f691d1d9793f31017f8b327c233c2286ea06f4d42024d3aa5cf8588fec89ce3b69081206dae6d85ce01c61031c982af47fe7e468885\nlabel = \nmsg = 4d657373616765\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 281\nct = 2bcf1475ec8fb5e330ee7d67e91805202f8fa7a317b0f852fe6d6084c0c977e252743d40fd51328ff68a35bfef767aec1130dcdc28bfa0c3147bf2e07e94032ac495918cba4be10bb47f4dc298804de5e024c1d8dee22530470e203e16aff80ddb5c2d4575d71e3ca80974fca72e75aa4802d4d2b4e25e3480f76356d560fafcab0e4bc385fe90950b213072ac113a83e5e8b0704b721af140a6242188b71d1f2646b27939b69b7966adf1998db6b07029778ed2c2256dd32c316cff1a2aa71f\nlabel = \nmsg = 61\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 282\nct = 04f6021ce1659d10dd27163c9684f0a577c4bb72b14d54c78bd5f35164af962c1f2aae5414396480d07b9492ec4967f60045398a41904b4d90da86bae4b30f674a8808142b0a07ea8493cb569b03ebe64ccd2935d97db11f451f9722b056275901792b6433cefc3bd4697854be4e12a772e44d451b07c4643fd7bd8129a51b39c00d1507a9c9cf14d27e5ec8da389e85f32aca690472e82a73ef1a05756d6cea2507ad9fd48892cdee5ae7ac2cfbaad27194ce78a0a72126a2b6b04c260f4a69\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 283\n# Longest valid message size\nct = 14a372d4a2208e5af42a359784a2638ed9609569c43992d7e3328de6cfb6e2774d44fdd1b69f62e5ef9da3efd7b344c3ebb71da0b46104b7d96f11e0bf735b924f9d960e5007d145bdfa5436408f518a6000dc76075efe9bc06ef988dd0e85916cae75a17b4dd6ab3f101281412ef014256235043a8357a20b76e3cb4eb5ea21f758f3aef2f3c0f98223e922599a836893aa91ca60d2138a5f8a5e41bab2f603c13b70e74738353f4bbf02929b95a9a0d8c184b7f45a8476d82ae1f18fca40e1\nlabel = \nmsg = 7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = acceptable\nflags = SmallModulus\n\n[d = 008be04109981f7726dcdf63efacd55d089901bd681003accbf97282a64974e1b5ea90f218927086c36b4d1b8f3f9da2b5ab767803f5e3f846c99605db82960400c3b0f284dfadb971cac7c10c63df3454bddf5c889bde32e620e8f371e9ffb96d8ec9f8ba95449d541691e7ad22453bcc52d938c41bfe18c70e8e042c4b83e4af5a9c40d45dfcb8536540395ea8b6d261fe14c96c8bf1d2bcc84b0ed1381ba2135683dc74ba03b64223a0aa968b6fd1a6f26f23b3a4c8e145d6c8922c925acc81]\n[e = 010001]\n[keysize = 1536]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00d1f33c4d0c3b127cfd4c711aef054e291cb9a9b7b769d6dfcea5ba02d99f0807ffb63f097ed7b5c5e2ad09578c749863a96a2bedc3e72738fe887a4a1fae6ca8c8e722c8dedc065a4df9f5c38e950175a7e0", + "de9008f3a9a67e3413f9891e2f8a70b29f55dd21d2cba16f8e2300ef7c35ed1e42ebfbe70645230ddd8c067dae9069ae5f32937a207e0e7896e87fb399e6c93bc5bf6c2504fbdb3ecfc281f8da29115b2ec41eb9acc4176e311fe8dbcac24b57f8d656600e5fb4095eb4bf90b6e9]\n[privateKeyPkcs8 = 30820399020100300d06092a864886f70d0101010500048203833082037f0201000281c100d1f33c4d0c3b127cfd4c711aef054e291cb9a9b7b769d6dfcea5ba02d99f0807ffb63f097ed7b5c5e2ad09578c749863a96a2bedc3e72738fe887a4a1fae6ca8c8e722c8dedc065a4df9f5c38e950175a7e0de9008f3a9a67e3413f9891e2f8a70b29f55dd21d2cba16f8e2300ef7c35ed1e42ebfbe70645230ddd8c067dae9069ae5f32937a207e0e7896e87fb399e6c93bc5bf6c2504fbdb3ecfc281f8da29115b2ec41eb9acc4176e311fe8dbcac24b57f8d656600e5fb4095eb4bf90b6e902030100010281c1008be04109981f7726dcdf63efacd55d089901bd681003accbf97282a64974e1b5ea90f218927086c36b4d1b8f3f9da2b5ab767803f5e3f846c99605db82960400c3b0f284dfadb971cac7c10c63df3454bddf5c889bde32e620e8f371e9ffb96d8ec9f8ba95449d541691e7ad22453bcc52d938c41bfe18c70e8e042c4b83e4af5a9c40d45dfcb8536540395ea8b6d261fe14c96c8bf1d2bcc84b0ed1381ba2135683dc74ba03b64223a0aa968b6fd1a6f26f23b3a4c8e145d6c8922c925acc81026100eb6b28e97c190ade38002d738eeed3479ab199d4eb9012de14eda58d7819a2ab07a903a286ea5e689412089200220a3876732271ddfe3a27ef19b37005ccd57aa02bca3ace160c9246ff282c7cd5fe72a32c31e9718e6661908aee67f2f572d1026100e44e12b7e2476fb08db8c536af017f76c392af55144146bbd55ee890b68d464779fad4b24161b0a57a611f86b5c21fe87b84126e11de9719a0e626f34ada3ea661fe219814d3c59719862ce0edfcd238f75cfc32daee448b7050c6f62243989902610082e89ce070f48ff990147131d02a77ec5a56261fa33a0373e1196134f0b2f8a4b866c0b1b0ea44c34c8b569eb15a3c6ab75b40ad26efc6b10c213389b87ff5b9f1b54808392f43a057c06d3b87d38b617de10684347425f45ce714b952fe2ff1026100a40cc5be844638a770eeb82757118879da86689e85f371d43eb9f7fb2471d7723ce0543dd26553fd5436bde49a6e67673279f0944f1ad7107f6161d3a891b23af4671bd4a0029c14bb2e82c90db981859599a74f13a9ea6f17c1b375e1a118e1026100b60b29e2407e938824820a5412f0f5a8c568f2a356df31b669a8afec89ea2ff34ccc9dcb6f962b76ad02db94ff9cb4cfc0f99928373fbd6a9923b912a39ef9fd7ab9074e97b938396a2f5fca0b0ee732fd0215999e5049798b338ac891b46c8a]\n[sha = SHA-512]\n\n# tcId = 284\nct = 3de5339613e27868f1764242c2b5392069be1b8e4b43beb90706f77ba964f5c3a082e5d1042ec5234c894914a49172dce0c142ac45579f5931b64627fa0cf3360f672c828e61501e51c3545426eb5b64cde0faa9d2ed4299ee66dfb8f37132bd7056ddfb831b8c3286799e8177889ff8faa497bdd0d6dfac3df04550c1c9e5e057fce788961091bbfaf88e2bdcf39f1e618deea621f0bbe254dfb9f485b6ead47f10c6691062faf3eedd4b1babd72673621054ea79f467695acc41dca284f7c3\nlabel = \nmsg = \nresult = acceptable\nflags = SmallModulus\n\n# tcId = 285\nct = c6285f516d8d253e0bc2f532a9db7c6e6bf3acb9108714db06b67308b5cb90d31541d59f47bad98d0e3d898120e5dc1505853aa2b1856f8ba7fcb58d621b35b79ba8808335858731d0d9b853ab74c58d9b8307c19b851dc8dae2dad77d9f386a31b465d8bc732201359fe39e3b7d0a92b4619a65ea9963579f6c725ab280d995acc3b6bc67ad10bdebaa603519433adb58e0ee88599d7e698b117dfa2e35e67ea53c96ed6b6e0580af9a01079628161a0fdf686455a9f4ff142645b409454933\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 286\nct = c8fc364783e5c25d9d127a602260000543de2106493f5d38697cf7af5bc3bcc111392c42b4934a3c5e4e38da558939c146cc47ae67bd6d1b42d3c525d2f37554f03a1d9b87c12d74835013192cbc3456308e0197ff0e7e41b4a3c22c3bb1a70c16be8ecb19f9d372be0cef589d934dc7741d6019787643b4550d627b006faed9a20ed239cc62f28fe0a056bd7cdceb3f04d3abf3259af88438adda70785b85198fc63ff92afc1aa71cd80d9eafd0f24183046750733eae2fe400e9c2f767e738\nlabel = \nmsg = 54657374\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 287\nct = 7921d275f00faf5aeb9a4a9a2982998e4cd9a114529d52cbd12ff2c520498a8746056b6a8bb637c594b1bd6ff50d2777aafe5effd193802e0a9bc430731c8cc1128e9a943b4a14f0d24f5cdc32ec1c2f3da8af7bd935417f5ca6943a858cb6101763d3aea3ed3e6cbab2376c7a7f1c80312561b2ddadc0cd6f34dd8cade4d03562e2563399048c04b4325d0d44b73ecafadc8a081ace30d9e602ac543e9e2bd8cc70979251af1cf297f08d766262ebb24cd502584324cf0a64806b4b66bb32b6\nlabel = \nmsg = 313233343030\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 288\nct = 7cc8e65dcfff10d95f35e33f3d3e81e0fbd393c480bd3f1da3b2c90e945dd18dd22c7924bdd6af52ba9696fab377e776a64b6df2d65470b9d46d52ee914c66e142c1b24c030133bee2a8807e2c176a0e18f638fb8e7e46e7bbfbd77c7df0de7010812c6faa949146a43273d2eb9f782c28fc81e88f72c69a444ee98049314d677207a2a06651ac8d0244bca9bbe69ab3cc877c4b6e35a6e85eb05035a67fe674cf58801c2027827cc7883412725b1e82749f4e5d02202dce8ede2b9cb166de27\nlabel = \nmsg = 4d657373616765\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 289\nct = 3120c4aa8b1d1f1a9f58a4c543923ef65c3d84ddbd582fff38edb86dd08b4f35731b34fcc188deebff4a1a1364e688a34536e1ddeef8bfa1f172924c909941e74809f80901ad9d0156046a527c60d6f6e4e680fa73533a3575b251409d15444a1872778b4b87988dac080036f4633a69d49083614fa7d77abe14138bad72e5035cf0bb4a0fdcb6a49d53ccbadafa2f1e835cc56ff2ecc5aa3ab44f279b076993ec543494f67f2714e423d4a73deed5a2675b6d70246633bf4806791497db0377\nlabel = \nmsg = 61\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 290\nct = 444f583744275e2951790f623f664371bfa635a4fa507bdb643b86d1aedc5f7874a770a043d28e4bda837e641ecfedd6f4b2aeb5d36a53988cd11b4696cb84aaa47b700ab9a44511660686db98cf48ec0af603bad8d1f7d02587d94597ca05240c2689538945586de26ecdf1a0546cd975eee47607e208260d7654ffa2aa9cb5e7bb6e1c69185ee754515a71246c231535ce7225ac94c0f30d494452baeb9658f9138d598553312386e1e3167ca425673359ba1ff3b203ef908f6cfb6e115e22\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 291\n# Longest valid message size\nct = 1049dc4e5409338befc1b435ab4b3852f442d8f6f6654f4326980facb7d5f4c7b44873064ce047974dd5455cc858251f031b9eea6f0a1708e164f19f1334d67b77de560aed6649cc3316d908b65b5689c6d37553565c14fe7ee59126753a93f61f379a30469b356bad4be3e944561866c117dc10f67cdfc57c3ceda12347323eb13cd08b662c1bb72b44ee719814c846a59a18981e785ec9e5c68b8e60aef46b3a76b9d5a68e1b05346916cecff3e97da56888589caaebe25edf037b55d6e3fd\nlabel = \nmsg = 7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = acceptable\nflags = SmallModulus\n\n[d = 008be04109981f7726dcdf63efacd55d089901bd681003accbf97282a64974e1b5ea90f218927086c36b4d1b8f3f9da2b5ab767803f5e3f846c99605db82960400c3b0f284dfadb971cac7c10c63df3454bddf5c889bde32e620e8f371e9ffb96d8ec9f8ba95449d541691e7ad22453bcc52d938c41bfe18c70e8e042c4b83e4af5a9c40d45dfcb8536540395ea8b6d261fe14c96c8bf1d2bcc84b0ed1381ba2135683dc74ba03b64223a0aa968b6fd1a6f26f23b3a4c8e145d6c8922c925acc81]\n[e = 010001]\n[keysize = 1536]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00d1f33c4d0c3b127cfd4c711aef054e291cb9a9b7b769d6dfcea5ba02d99f0807ffb63f097ed7b5c5e2ad09578c749863a96a2bedc3e72738fe887a4a1fae6ca8c8e722c8dedc065a4df9f5c38e950175a7e0de9008f3a9a67e3413f9891e2f8a70b29f55dd21d2cba16f8e2300ef7c35ed1e42ebfbe70645230ddd8c067dae9069ae5f32937a207e0e7896e87fb399e6c93bc5bf6c2504fbdb3ecfc281f8da29115b2ec41eb9acc4176e311fe8dbcac24b57f8d656600e5fb4095eb4bf90b6e9]\n[privateKeyPkcs8 = 30820399020100300d06092a864886f70d0101010500048203833082037f0201000281c100d1f33c4d0c3b127cfd4c711aef054e291cb9a9b7b769d6dfcea5ba02d99f0807ffb63f097ed7b5c5e2ad09578c749863a96a2bedc3e72738fe887a4a1fae6ca8c8e722c8dedc065a4df9f5c38e950175a7e0de9008f3a9a67e3413f9891e2f8a70b29f55dd21d2cba16f8e2300ef7c35ed1e42ebfbe70645230ddd8c067dae9069ae5f32937a207e0e7896e87fb399e6c93bc5bf6c2504fbdb3ecfc281f8da29115b2ec41eb9acc4176e311fe8dbcac24b57f8d656600e5fb4095eb4bf90b6e902030100010281c1008be04109981f7726dcdf63efacd55d089901bd681003accbf97282a64974e1b5ea90f218927086c36b4d1b8f3f9da2b5ab767803f5e3f846c99605db82960400c3b0f284dfadb971cac7c10c63df3454bddf5c889bde32e620e8f371e9ffb96d8ec9f8ba95449d541691e7ad22453bcc52d938c41bfe18c70e8e042c4b83e4af5a9c40d45dfcb8536540395ea8b6d261fe14c96c8bf1d2bcc84b0ed1381ba2135683dc74ba03b64223a0aa968b6fd1a6f26f23b3a4c8e145d6c8922c925acc81026100eb6b28e97c190ade38002d738eeed3479ab199d4eb9012de14eda58d7819a2ab07a903a286ea5e689412089200220a3876732271ddfe3a27ef19b37005ccd57aa02bca3ace160c9246ff282c7cd5fe72a32c31e9718e6661908aee67f2f572d1026100e44e12b7e2476fb08db8c536af017f76c392af55144146bbd55ee890b68d464779fad4b24161b0a57a611f86b5c21fe87b84126e11de9719a0e626f34ada3ea661fe219814d3c59719862ce0edfcd238f75cfc32da", + "ee448b7050c6f62243989902610082e89ce070f48ff990147131d02a77ec5a56261fa33a0373e1196134f0b2f8a4b866c0b1b0ea44c34c8b569eb15a3c6ab75b40ad26efc6b10c213389b87ff5b9f1b54808392f43a057c06d3b87d38b617de10684347425f45ce714b952fe2ff1026100a40cc5be844638a770eeb82757118879da86689e85f371d43eb9f7fb2471d7723ce0543dd26553fd5436bde49a6e67673279f0944f1ad7107f6161d3a891b23af4671bd4a0029c14bb2e82c90db981859599a74f13a9ea6f17c1b375e1a118e1026100b60b29e2407e938824820a5412f0f5a8c568f2a356df31b669a8afec89ea2ff34ccc9dcb6f962b76ad02db94ff9cb4cfc0f99928373fbd6a9923b912a39ef9fd7ab9074e97b938396a2f5fca0b0ee732fd0215999e5049798b338ac891b46c8a]\n[sha = SHA-512]\n\n# tcId = 292\nct = 2b7085acc1e893d32c2e203687b5a90d1db89b7176267f9f4eab4ee52acd73e43b7f956deb66512d39f8db19868827b6cf9344ac0c760ba8b5e6a1ae6a76d03cac6a1d5b80ccbd4a3b0c7227bddba72eb34d78afa4ac867b9bb65282a24099f10b113c0f7faa2928ebdb3267e287aaec2ada02abd02339ee8954ed36cd451f67313446f215f7e8bb6e077135381331dd114375297cf4e7e17d2316a28bf7d76e3f59c022099907e0917276d5d674ae938c37874c13c95fb6ef3476c9ed9f0d24\nlabel = \nmsg = \nresult = acceptable\nflags = SmallModulus\n\n# tcId = 293\nct = 3721af30423c06bcb28a12dadb49a5d70f0d48fd951bb067763a71d0d163146433c2237ad296cf50048adb7b6f5ac7c177e59a58d6e66a253c550ebeda08930cf9c33624cb7823ff55f064709bda37d806a13379a6d197ad10767e4d52786f6b386f288a159d42ce516483c7b70db9c531b2fe1c94ca047140743ce64f1aff1d5baa97c2498a176093a1fe825db60e3eaca5db792fbd044afa8e578c726350df070f91be82c3041d2a88aeae3792324afc6f7f6325cd6cc62224b5ab741dd1e1\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 294\nct = 624c1823ca0b48b12e5740ab88bef8ca5918596eb033bebb53dfe53cff0e6c14c2361daab7b4db696ff7b44fe4fe62618c8cfc1b66579bf729110bc42ef2733ad2ce36d240782378a9798eda96dc4887382931d10c35359d03d5ac525f2ef2a05255db9dede82c3e7d3e898483f4dfa69cc54ab8964df923db2b23db900d385e8b16340f9a10a6c31f08104facb55be66e60d6b4338f23df84ec48798ea24a6a142aab431db272be0218caf9f0783528600cb344c08de643635d63264043708d\nlabel = \nmsg = 54657374\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 295\nct = 41da80388f08374d8c06fc95b3d5ebcaa795a3be3b07b5d575d7747f5d2526580a97910198ed97578299007adece6beb2b52119a9ae27f318823fe61ed45c0249e468e101ab47322ab09015f7bc91cad412030aba1f17f9ef06f746a2af09290de7e212c82ca0556ef6dd5bb90545da71f7a6716ba1ae21983afd25d397eb1b8464ea86b1f770a800166429c5c81cd59674cd7c50ddbe5164eebe9be8f6d59de2aa6c18cffde60c6956be6c3453b4c1c10b11eb27d2372cbb32f91a166c3d3bf\nlabel = \nmsg = 313233343030\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 296\nct = 310357cc872ae415d4ad120ceff873ded2cf2a888e15478245adf4a094ce945fedbf57230719e069f77a58db1f414956f24ec67a8aba982dd9f6a79fca45f54177683a614d0c6218d7521289ee43ccab0a72ea00b05e9396090218a1813963d35a7fe357eb1b09936539d43ae46c39dbdd4dcf19b55252ff49cf0878dd873bd528df694b77b0d99ea15f13753e5f59b8458994bb08bbcfc477e143a4376103c81efddb319382f2b5dfe9faf0331f25bd9458946d102445e9cd931f9b71bccd59\nlabel = \nmsg = 4d657373616765\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 297\nct = c1afcdee1b155ba0ebd0cb743dbda76c69e87fb0f015f63425e05835331e585dc459187aa6e81925e2c1b295c2751e8da98cbc447b70c944a98dd61b6057ac5d7be9e72cc85de55fc1623cbb789c44203740b51c1e19e728298245b637ab3ca0f3b8863d6ddde41ba7c7c5392000b667e8fce405e004b389e2f8829f08a412a0828a8e0edccc392308e34b066697b57536825b22022df4105e10e96439c55ed7911083e3c4b2067f76a05b9f697cf75296749885986d2357bd3046b65ef0be4e\nlabel = \nmsg = 61\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 298\nct = 78c823e764045b4164717010d01f6c860a11083d377f28c71f680f60e91bdaa2f3627996c1c6ff0f341ea578938812a084bd2e182c1f27e22e8dc66559e83ffa1cdd5cba2a32734876f782674339a08e84659e15463fadd684994368d4cceae8a8ab23a4f3a8ecd62cb7be790a43d692e3dd794091daa4b0722de01a411b2ade75518481c2b9f9a03498599333ee6eacfa6a616fe92575335f28032e3789f519eabed9c2506397aad30bc7ddb4d9facad995de1dc2bde840037fb8bda1b5246b\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 299\n# Longest valid message size\nct = 143720888208f22d7d97e334006f2491d0755ef9752e2a7f69b981e1fbc6ca8348fa02f67a6b08450ee3a9c9b7799547891011c2c64291e06306b918a5fe5972be58c90b0258f80d5c2d7d3f295d9db16173a64cc8cca949f42ef5c8b200bad9ba9a80b406dcd03dbc32aabaeb4351b160a8515daae9a23a5a377a2e364b891e016d0bcae9fc0787a09ef75d2050a40f66a26b65ee3c9a0f22669284ecbbc82f67c9451b7ba4d9b5c0c53bd6a66ca284b270ad1a579202631fc4bccd328ce7eb\nlabel = \nmsg = 7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = acceptable\nflags = SmallModulus\n\n[d = 008be04109981f7726dcdf63efacd55d089901bd681003accbf97282a64974e1b5ea90f218927086c36b4d1b8f3f9da2b5ab767803f5e3f846c99605db82960400c3b0f284dfadb971cac7c10c63df3454bddf5c889bde32e620e8f371e9ffb96d8ec9f8ba95449d541691e7ad22453bcc52d938c41bfe18c70e8e042c4b83e4af5a9c40d45dfcb8536540395ea8b6d261fe14c96c8bf1d2bcc84b0ed1381ba2135683dc74ba03b64223a0aa968b6fd1a6f26f23b3a4c8e145d6c8922c925acc81]\n[e = 010001]\n[keysize = 1536]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00d1f33c4d0c3b127cfd4c711aef054e291cb9a9b7b769d6dfcea5ba02d99f0807ffb63f097ed7b5c5e2ad09578c749863a96a2bedc3e72738fe887a4a1fae6ca8c8e722c8dedc065a4df9f5c38e950175a7e0de9008f3a9a67e3413f9891e2f8a70b29f55dd21d2cba16f8e2300ef7c35ed1e42ebfbe70645230ddd8c067dae9069ae5f32937a207e0e7896e87fb399e6c93bc5bf6c2504fbdb3ecfc281f8da29115b2ec41eb9acc4176e311fe8dbcac24b57f8d656600e5fb4095eb4bf90b6e9]\n[privateKeyPkcs8 = 30820399020100300d06092a864886f70d0101010500048203833082037f0201000281c100d1f33c4d0c3b127cfd4c711aef054e291cb9a9b7b769d6dfcea5ba02d99f0807ffb63f097ed7b5c5e2ad09578c749863a96a2bedc3e72738fe887a4a1fae6ca8c8e722c8dedc065a4df9f5c38e950175a7e0de9008f3a9a67e3413f9891e2f8a70b29f55dd21d2cba16f8e2300ef7c35ed1e42ebfbe70645230ddd8c067dae9069ae5f32937a207e0e7896e87fb399e6c93bc5bf6c2504fbdb3ecfc281f8da29115b2ec41eb9acc4176e311fe8dbcac24b57f8d656600e5fb4095eb4bf90b6e902030100010281c1008be04109981f7726dcdf63efacd55d089901bd681003accbf97282a64974e1b5ea90f218927086c36b4d1b8f3f9da2b5ab767803f5e3f846c99605db82960400c3b0f284dfadb971cac7c10c63df3454bddf5c889bde32e620e8f371e9ffb96d8ec9f8ba95449d541691e7ad22453bcc52d938c41bfe18c70e8e042c4b83e4af5a9c40d45dfcb8536540395ea8b6d261fe14c96c8bf1d2bcc84b0ed1381ba2135683dc74ba03b64223a0aa968b6fd1a6f26f23b3a4c8e145d6c8922c925acc81026100eb6b28e97c190ade38002d738eeed3479ab199d4eb9012de14eda58d7819a2ab07a903a286ea5e689412089200220a3876732271ddfe3a27ef19b37005ccd57aa02bca3ace160c9246ff282c7cd5fe72a32c31e9718e6661908aee67f2f572d1026100e44e12b7e2476fb08db8c536af017f76c392af55144146bbd55ee890b68d464779fad4b24161b0a57a611f86b5c21fe87b84126e11de9719a0e626f34ada3ea661fe219814d3c59719862ce0edfcd238f75cfc32daee448b7050c6f62243989902610082e89ce070f48ff990147131d02a77ec5a56261fa33a0373e1196134f0b2f8a4b866c0b1b0ea44c34c8b569eb15a3c6ab75b40ad26efc6b10c213389b87ff5b9f1b54808392f43a057c06d3b87d38b617de10684347425f45ce714b952fe2ff1026100a40cc5be844638a770eeb82757118879da86689e85f371d43eb9f7fb2471d7723ce0543dd26553fd5436bde49a6e67673279f0944f1ad7107f6161d3a891b23af4671bd4a0029c14bb2e82c90db981859599a74f13a9ea6f17c1b375e1a118e1026100b60b29e2407e938824820a5412f0f5a8c568f2a356df31b669a8afec89ea2ff34ccc9dcb6f962b76ad02db94ff9cb4cfc0f99928373fbd6a9923b912a39ef9fd7ab9074e97b938396a2f5fca0b0ee732fd0215999e5049798b338ac891b46c8a]\n[sha = SHA-512]\n\n# tcId = 300\nct = 61908430765b3fa93aaa67577ef5f06055c7f5bfc8c35591f25869d072ae8733fd1e03bbbbcfa2fdd7a85afc5fe48b027a4ff5b1c1e5ee5d6c06b159a33469971928c570c06d76935c7f0e5ebee0bfe50db83f22d3beb93919023f14bacf79b493f9971a68be714ff22869190e884035864dd12630c6e69bd623064587dcae02778d08f0d2eaec4d97cfa9bbf950c49277866b3ffc81dd0c532248510c237794a4b38aa555eb300b61b94312798fc95a3bab7376bf6da60912227ba253d6e4b4\nlabel = \nmsg = \nresult = acceptable\nflags = SmallModulus\n\n# tcId = 301\nct = a4fa99b94636d4c74ad729292983f51d928e98702963374c21a765609cdbe56fb0479ef60c810732fe8a6518d8a04c093214bdfd584e2feb993fb53fb13db56a74a2839ca825d18027418e7517613c6c81976577d2f13caad985ec9368226d53b10f47d5c9ae7d342883676b7d21bf25752fe341c087a0e071603e78c088669210abaa79a05a90fe407078caa34ef38930fa68f3ecd5690b34d21d575b35f4afefa866d62ad07c1a4381280d531b90b3542e5abd6", + "d5956035a1ff580ce14ea05\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 302\nct = bb9fb86015193b7cb718f5ab8ad55bbc746a36252b3477484592f0b848fe4bc8b2aaf1c058988f385bb83107fea8043431d32e484320d57c4b5b5d50fb811ad2b28063a9c578d4629d029bca8cfef38fbc2a679952bda65335797e48050e5c12c686acd9d41df8e457d400baf9565c6d2a0370e182e95c220d79355893a813ae003ff42c2c2ecd78f240833382cbb2c7d2dd8a47daeb2378ad824a4173fca5ebefd9f98325f18e2bc41258b3ce1755e09d4c08f39ea0561fc9645f60afe87a1f\nlabel = \nmsg = 54657374\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 303\nct = a485d83f4051ed3dd0ac680d3c5987100cef6408d20ab8ccba416000bd5c3ba69d32e3e2f44af16aaac26cde9277bbf53a06882c697a92d3c4dc451db9b73ceeed5f77152bdcc51db0528ff061a449321e62f340411c6e5a852018d909fd94424a58a6e776de17e2afe06aad1af922af70aa5b4c20f11f05c728f32ef4ca02fe476fb4a6d7cb7a00cabc0ead420b5ef3646f4b05a818ea5c6b0d5066b4c561697d4ff0aa62f914fb99a59ec16946749776a3efe9e04bd9031263790c270bd211\nlabel = \nmsg = 313233343030\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 304\nct = 8dd33e82140d7f924fdccef5dea1b76704f036d42d9ef20835d7ccc4c2631cbbea3fc1c9b01764c1cc11a8bdb128ab1c951cd991581013f08422316c3ba784fb3e917a3331124d6eb8dcfe8bd02e588e148ac24049daaf205805d49c1d41a27774b13d66c32ad619ce67aaa3b844ff58997bb6deb6acc02f522b57fafd6af6ea5a44d801d5132b1acefcd515f5066ee7cdd07595a9a52dad465d6d39bfc118b99c84c3fd6ffd56fabb459986efc9757bfe0faf151f4c7ccfa7bee2a612a0f726\nlabel = \nmsg = 4d657373616765\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 305\nct = 9d26f3844176ef41cd9ce150fb3edfcc89c90a1635ff1ecc28e3094706694164818fba1efd69ea9101dbb9fbb675036a5fc5588046dbd29105a09a22202f72f8a72e81dc6abb213069f79bcbfd38427dc8107828aefb8cd35e3bbcc5a92bbb0f13161dc86c0fb8231b7d66b4e3110f215bfbdb103532fc2a8a0e854d2dd51dc4e7adc52f972f31447e972912481734234c461e062f366a93e7ca534a4f8439b6596b53486da06ef3871d670ecc0c20faa6be6fa08bf419ed1b1b5a45e5c3a611\nlabel = \nmsg = 61\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 306\nct = d1ddde7a2dab16c3a20dab3746f507b60d53a03b65b69a29db05abcababff9c7741c0aeeca994a0c3884f1782a9766d50d4cb9de7f4f230b29dec4e3467eb015a4e8fb5d6d297b9d33931912f91311ba08a13d8a594736e578a95c31d473ee02b4a004e0edd5bceb91b0eb2cb178213cc48a7f8a72883e4a800b72766f9796c8ff1b34029b60a2f9411e9755c113b2f9999c9b46c882201bae078c68fd4e6dbeb6b0ed963e57757ae8d0ad1a70e28c8be6c2209fe4c744016a973fe8023e8ef1\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 307\n# Longest valid message size\nct = 90b831afd7d1266a8f30435ac3f21ce5e273f6a1fc8003b65602f939de95a40cab6420a91c2a2333ee88803921cb1d5ed5b5dd22fafcae135038a1ed86ea86d1d07811d4dd5102b2cd39b239af0f29ed0f5c1b2ebe4590df8d73ed984770a86974ff09366df5d6f9226ca0f98663e370b75e4fc214dac1f7b184ce6743eb26ef4d779f55dd11fda6d93e48723a3ddb720edbb72ac327da62846b9e011f5e95305aab64609297ee00cfa6687122672c19961601b1eff6f012180fa8a5117b583b\nlabel = \nmsg = 7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = acceptable\nflags = SmallModulus\n\n[d = 008be04109981f7726dcdf63efacd55d089901bd681003accbf97282a64974e1b5ea90f218927086c36b4d1b8f3f9da2b5ab767803f5e3f846c99605db82960400c3b0f284dfadb971cac7c10c63df3454bddf5c889bde32e620e8f371e9ffb96d8ec9f8ba95449d541691e7ad22453bcc52d938c41bfe18c70e8e042c4b83e4af5a9c40d45dfcb8536540395ea8b6d261fe14c96c8bf1d2bcc84b0ed1381ba2135683dc74ba03b64223a0aa968b6fd1a6f26f23b3a4c8e145d6c8922c925acc81]\n[e = 010001]\n[keysize = 1536]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00d1f33c4d0c3b127cfd4c711aef054e291cb9a9b7b769d6dfcea5ba02d99f0807ffb63f097ed7b5c5e2ad09578c749863a96a2bedc3e72738fe887a4a1fae6ca8c8e722c8dedc065a4df9f5c38e950175a7e0de9008f3a9a67e3413f9891e2f8a70b29f55dd21d2cba16f8e2300ef7c35ed1e42ebfbe70645230ddd8c067dae9069ae5f32937a207e0e7896e87fb399e6c93bc5bf6c2504fbdb3ecfc281f8da29115b2ec41eb9acc4176e311fe8dbcac24b57f8d656600e5fb4095eb4bf90b6e9]\n[privateKeyPkcs8 = 30820399020100300d06092a864886f70d0101010500048203833082037f0201000281c100d1f33c4d0c3b127cfd4c711aef054e291cb9a9b7b769d6dfcea5ba02d99f0807ffb63f097ed7b5c5e2ad09578c749863a96a2bedc3e72738fe887a4a1fae6ca8c8e722c8dedc065a4df9f5c38e950175a7e0de9008f3a9a67e3413f9891e2f8a70b29f55dd21d2cba16f8e2300ef7c35ed1e42ebfbe70645230ddd8c067dae9069ae5f32937a207e0e7896e87fb399e6c93bc5bf6c2504fbdb3ecfc281f8da29115b2ec41eb9acc4176e311fe8dbcac24b57f8d656600e5fb4095eb4bf90b6e902030100010281c1008be04109981f7726dcdf63efacd55d089901bd681003accbf97282a64974e1b5ea90f218927086c36b4d1b8f3f9da2b5ab767803f5e3f846c99605db82960400c3b0f284dfadb971cac7c10c63df3454bddf5c889bde32e620e8f371e9ffb96d8ec9f8ba95449d541691e7ad22453bcc52d938c41bfe18c70e8e042c4b83e4af5a9c40d45dfcb8536540395ea8b6d261fe14c96c8bf1d2bcc84b0ed1381ba2135683dc74ba03b64223a0aa968b6fd1a6f26f23b3a4c8e145d6c8922c925acc81026100eb6b28e97c190ade38002d738eeed3479ab199d4eb9012de14eda58d7819a2ab07a903a286ea5e689412089200220a3876732271ddfe3a27ef19b37005ccd57aa02bca3ace160c9246ff282c7cd5fe72a32c31e9718e6661908aee67f2f572d1026100e44e12b7e2476fb08db8c536af017f76c392af55144146bbd55ee890b68d464779fad4b24161b0a57a611f86b5c21fe87b84126e11de9719a0e626f34ada3ea661fe219814d3c59719862ce0edfcd238f75cfc32daee448b7050c6f62243989902610082e89ce070f48ff990147131d02a77ec5a56261fa33a0373e1196134f0b2f8a4b866c0b1b0ea44c34c8b569eb15a3c6ab75b40ad26efc6b10c213389b87ff5b9f1b54808392f43a057c06d3b87d38b617de10684347425f45ce714b952fe2ff1026100a40cc5be844638a770eeb82757118879da86689e85f371d43eb9f7fb2471d7723ce0543dd26553fd5436bde49a6e67673279f0944f1ad7107f6161d3a891b23af4671bd4a0029c14bb2e82c90db981859599a74f13a9ea6f17c1b375e1a118e1026100b60b29e2407e938824820a5412f0f5a8c568f2a356df31b669a8afec89ea2ff34ccc9dcb6f962b76ad02db94ff9cb4cfc0f99928373fbd6a9923b912a39ef9fd7ab9074e97b938396a2f5fca0b0ee732fd0215999e5049798b338ac891b46c8a]\n[sha = SHA-512]\n\n# tcId = 308\nct = 768ad8d22aac8f43f619abca26bf9381c73dadb042bc9bd8212cb557398d67486566f6ec2d7266c5d1983abb3af5c952165f861ae3c83c77d609579a6bfe9201984bb57358b77558893a896008039c8759110331e771f9162b54eee1ea3329ca9d5f8784648b4e71a2e84499158b7e884f867c075bfd7771800a65d51f23322c440c6c8cb893967167c960f7b4c5030168ea520f39a08aa12f95743b10c0f8c53412eec22a93ae998b16d7d9072bc93138a001ff080acbc3053c8fec2834df8d\nlabel = \nmsg = \nresult = acceptable\nflags = SmallModulus\n\n# tcId = 309\nct = 0a3bd0825328538c08cc6cb1dcd72719de78a458e198719279b763446a2db3e782937204a7b0b4c99c6e1d76543a9a732c7856165fe95de20f1347065876bc5e4317c1b121e6b0129a280aab15a2390bc71326cd6a949f910e2c03c2b90eacaaebc6357bd20317357250bf27546160e2fe88c6245221ab8af5b1fa1fb1898cf92b179bfce192a38c7974bbb02266aa79111bde24574676886c201733edd5782b4b041d2f84855dca522bad27ffe1b5f0e2bba856f433934b123a7190e084ee7a\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 310\nct = 5f9dbab8d8994734a41f04d47ead887e71ee318b5bc138669ed929fa0095a3ec4d7f8fc823be8fc28688d5b5dcaf718c6adb41e6968ac842d4686a29be393855e8bcead381f4f9853fdf8b8adb5fa021f1e09513f6842a140403d3835c6e17612bada480198f2e2f7c7c197f64d2ba1b7e4c14ae7b8a6a2a173fd9fb3179c3dfeb185ccc599a9efbc9972caa12d9fd6097f8cd255f873458c4de9baf06d13757355904b8635a6c2c68c6526f68964ccf17cb7b52c17bb954e61d4285c99c85ba\nlabel = \nmsg = 54657374\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 311\nct = 3071a2a419d78c87ce46446d39669a3a8cb8dd5143e9a6abf5c972aa83c1375460818cea581c2e714202e5be01e5b40e0d087f7a4e0285ec99063ec28e7e560012b340c0eee0ab7169544359549239e1610f7aa63fe874a13619d3796f8c2fbdc845cf1b9d3703a79318a29102672fc0143c78bc85b818d86c2f6d005fc7302126c8998e243a7718b822b7bafc33db95a06c1d251c1b148a10e1377af56f0d6f895a5589ec0463feb93b543d1620835be6cad8d551f85227b9f12e576aa7bec6\nlabel = \nmsg = 313233343030\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 312\nct = a258bc313c7f72a2f9cb26b2911bcd035fa390341a937f0f5c07e2e0b469769933778a2212d3cf3547868d0fc1eb10f9d24bf80142d04934c70c2be2be7a226f8b83ed1f2feeaaaf8236998899832de44e2775b587d5ceab73d7de47ab5bbc1daedefac0462913418f1005d04f1e8d276fa2fe01cfae7ca258ce1317a948ea987f24c4cca7868ed55f00ba1ba8fe084dc9a4fdca81e4ce7a34d13c555c638e4209884d1d54fca4f31e092cabe97226d3aba40020a89b99760d03389f7891eab1\nlabel = ", + "\nmsg = 4d657373616765\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 313\nct = ccef397724aa370dc11c46bb88dd966b6b89abc1449bc0ed27318bc8f1c9da53ecaf9ea981b6b74a4aa4bc732d622da3b3ed372438549820a2f121b84981f8eb4d73d75391ad99b499e6bcab2186dd37187b49bb100768d18e919076317e9d878d6bf59f7de3364c16b2b39b7c818a3aae127f871defcffe1d398e7b6d4709beff3f8187cd0f1178245b2fbc03110a7558f94508cd8e9ff4ffa241bd390a06ad09a5028c74ca8b7594d1dee310c636788fdb6cbd64321e52769f5074485d2f45\nlabel = \nmsg = 61\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 314\nct = cd4b7cd8a3885c1c3c60dc804ca41e84ec256c4dc56da8502c00d2f87ed78a8439297584f582f609eb60caf4b8f4c0dd5304f99b334d4c9339e2160681c2b42d9442276423e4ea161fbcc3caf6b2bef36f7ce84dcde3b2e98281a9369c787820644fce213b8cae9d75bbd43d66281fbd9ab175a1dd5a4e7f6685d1c0c3c7413394f8d5f77c7db858ac518a0ea16aa01aa37af499aa815faa8c24ec961d506e4fdbd39bd197bd86594b87dfbdff4e0f068ad31cd2dc0038b462dbe072418bd39c\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nflags = SmallModulus\n\n# tcId = 315\n# Longest valid message size\nct = c61f56e0421653baf4e1c514d1e4eb6fa6076067655588adff5cc6a52f490b0c01260d8fedabe4d2624e139832d6617d53d746836040612265754e8a8f647c9a242f83a865618f6e78b6231cfa2ab6bc554f2e8fd12b9d3c801c25043f1fabc70b8ae257f5f3b675932a4515198836bb71b9f90300f2251b2ce497c2f81d269b6d169ab6c5e298a8166946518c1711a971d9cb9acb0a4f1bca39c0b32ac96ae9fec2661d0ec59769832ab4b10fb41dde8135593668edd53de5ead6b37f067ead\nlabel = \nmsg = 7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = acceptable\nflags = SmallModulus\n\n[d = 0747d520ca9b2dfc0335cf94301140b8102fb838c92ea99917e354e25709602dc0cdef231ff26ad2dfabbc391e723072a4ef52929f3f1cf0216e44c0093030f8ac29096faef28933bc9b924287014e2e935e2145be4752ccb82cb7646271936979cab73f521eeb27855ac2a410834ae5082eb62ef6f9899ee5cbb624a8d8c04ab7edcf78fe135d0f808f63b5de6e071779bf1d9eaaf8d3ef965486f2c52625e6e57a651c7bbd0197c99c057b3860a3260c864a11b3cf22ba44de3a3b3f3117e64ebf9a91f626ebb3f3c26d1b0bb80753468d4bf6a997b28335f20ed8c384d7558360a9ae9755661fa3749846b174e6bf330e52d09941f6ccd7de5004779f9bb9]\n[e = 010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00bd31c7a02691d2d9587ef6a946ff788544ccadd4b2988ad62086792a6bf96c8616b4ad13317d2270b901d0fcd1d880cb8f52fb87304a5258c11b38dfeae8df670aeee7ea1d0d9df8e00e80847e41e5989ed402d44e78b30fef17b5671d3adbf8685e4dc204499ecd1863e1d5aff28a7cf66eadf31fec9236c120add13451522c647c9832a672cd64d328c1c322183f4661d09bda60b8dd5f0328da5420821424afdabb1a80c5d12763a1b0238cd89d0742bfc50b6a2fcb701d824218f9826f4f78a23a2b5aa42ace7f175376fb6cbdb2bad293ba583d4d31c6b8f9029e46b13689249855f505756e00e225a6a45a18769bd8d2b3a4acb9f1c23d3e51882561e5]\n[privateKeyPkcs8 = 308204bc020100300d06092a864886f70d0101010500048204a6308204a20201000282010100bd31c7a02691d2d9587ef6a946ff788544ccadd4b2988ad62086792a6bf96c8616b4ad13317d2270b901d0fcd1d880cb8f52fb87304a5258c11b38dfeae8df670aeee7ea1d0d9df8e00e80847e41e5989ed402d44e78b30fef17b5671d3adbf8685e4dc204499ecd1863e1d5aff28a7cf66eadf31fec9236c120add13451522c647c9832a672cd64d328c1c322183f4661d09bda60b8dd5f0328da5420821424afdabb1a80c5d12763a1b0238cd89d0742bfc50b6a2fcb701d824218f9826f4f78a23a2b5aa42ace7f175376fb6cbdb2bad293ba583d4d31c6b8f9029e46b13689249855f505756e00e225a6a45a18769bd8d2b3a4acb9f1c23d3e51882561e50203010001028201000747d520ca9b2dfc0335cf94301140b8102fb838c92ea99917e354e25709602dc0cdef231ff26ad2dfabbc391e723072a4ef52929f3f1cf0216e44c0093030f8ac29096faef28933bc9b924287014e2e935e2145be4752ccb82cb7646271936979cab73f521eeb27855ac2a410834ae5082eb62ef6f9899ee5cbb624a8d8c04ab7edcf78fe135d0f808f63b5de6e071779bf1d9eaaf8d3ef965486f2c52625e6e57a651c7bbd0197c99c057b3860a3260c864a11b3cf22ba44de3a3b3f3117e64ebf9a91f626ebb3f3c26d1b0bb80753468d4bf6a997b28335f20ed8c384d7558360a9ae9755661fa3749846b174e6bf330e52d09941f6ccd7de5004779f9bb902818100fe3d238d376a3856d9592fd4961c17a7fb0fa39d442e9df22e7eda115c648c5cb738df89ea92d8378558d0d9c1cf3d8bff740d3743a0140a6a7523e9176c2953b2c11d7f44691cf8bec2b34fb59c649535983319488118c03118ae7445e70df466ce98671260f05d5068ce777da97e2ba84779490500ceb4ff7f62ceca9a147f02818100be814af26bf3c27115bc7595d0d12a1af7713feca877ae6e6d858825eda3d192704774f42e1ae1b67f1739e8c45a0476388070fa545b7cc96b8a44003bc8d07fde73f5bcdd18268395dcc2842b5023ff14b352382607b7179a5ea330840fc45045d86e0acc4feb135f0ab9b7ce6b8eb5f5a575f2a2a8de299c0d3f506df4879b02818061bb4cf4572e0cf44ddefc0503a34ef0b31142fb0c9fc2f5bb2be656302732d1dd590e8d6cd0002fefa1c1bf43c28fcd4668ed3fa64e5e05d700aaca4ac7b867455af924d83e73f5a7171f68efce6bd7f3df4b1d5802d069e935acb263c0bb5b8d3db3d64379624cecc12d453fd82cf9495a18649a78c1fd500e3f04715ba3af0281806649dbe920a7a8ceb982108cd9ab857527498aae52a2b86918ab6b381a4a2cbbf94794f78b4de9c5e8a59af56d807c06d23dbcebdca1a6f62ba4f8f03b298f32294a9036d16c2739de1cc3e0ddb4d12f2479487b57882afa246c0e297daf4d94607c5e51b3f4715f5c57d0f26d867901209db02010d0a541284640a9b9f0636302818039ec606f5c9f1f33d964606e128e9e90cff932772c5715aa759816d504efe2c46206f3379aa61d31f88e726b50dd80b8ce8558a0d7408525f58c3399ce32e239d70941f12d21e7761c043e0b02220d25ffd03571c7ae5bbd59c31f48120676f9d7c370a749d8491bdfcea01662a136c85d349b6c710fc6f6ebf8a7a79b62adc3]\n[sha = SHA-1]\n\n# tcId = 316\nct = ba366806e4ad50f76c0d8f63a84cc8c1045fbb2f9bef31da89214b2c8553e2d0126fb91e8ad9c78d1515c1593fcd589278369f83d8da3508beed573b2e8a2e61e09d9923476cf2d1cade862344a87c8e50d6600754089992851f44998be57109fe4f9a787fc13cba351f335df5f4cd656858a9d9b547438db4e0e81640618104fac10c0227733f85e041a322459c13ebcf4855fa69519ab94301561146830680e1616fcf4652d30dc6d0cd0aba397560d2a5b9556b42d42ee2088ef8793469d1142331a0b3018feb153999a2439349a709eecbf09568643f8e5d3389073eafd93d37544057e567c3a553269ea1b15a49388127532ab967860c0406a4b0cb3adc\nlabel = \nmsg = \nresult = valid\n\n# tcId = 317\nct = 8773fdde3f148ec33d4facdfba812e44001d90861c047a9eefe6c6540212795b50dd186bb7712b8448830fc1799e0543b7093e4770f301e9216922e80280e9b50582c669e3a9a4feb08ec6f5b2428dc7efbcf6fe49feb61fd2795af1c8b23acb605812c9d7586e4f48e4d758f0695b688d1b4b563067852b1ce9db5dc82aba29ab416178f616426e5d0caf3f9903de2a5beeb970af7281e7cdacaaa00662ae36fb0365c20c653b670b3e7be4b0680932f3254d48ec3505ca1547d1be27d2414a3539f405df91057f4f97aa7796d7ccb69ed553447131fbe79611756b7e564bba7d76ce9256168446b34498a2e91d9a955a8aa98a71a43d65ee60fcea39d811fe\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 318\nct = 504b4e0d94d800a9da92be8fa84fc345f7ab4921ec53c073c79592b347a692cce2450135e998e07bb75ed7ee44f047f75a07e37b9c912d3d529b62bef144952d5b202246ad32c5d34ec8559c4163e2145fa5fd4d56de28cbfe7e537d5732305945c9370bbc6dcd72b3296fd54a2660365715f7d911099c96dfe6d114eec7b4425cb65701aa9e08d99c7ac20179656bb678554d74baca4501b5d0b366c97224bf0c8734e00ff2af8b916aef8b83142d5ec142493e0cc4c57326515a50a31ec2c6703512034642e5789649773d2f8312561bf2f2f6000cebdbf7c7a95fbfd0f721c31ba392acea37568a24f176767f71b31f407573deef95c305e0e063db0e9168\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 319\nct = 25a918a0c7985a72f18f6b6216d0e2d19a9b42a4d5b680e995c3c5c584966e29c6179877cfd0317f9e4dcdc87f76714994e4407cd868842350e28f328b3f33746a897ea9995575f328be7f9912369482ae1a66ff5b7a1c8ac8fd4e5771e58077b54a55db6c6849ff288d50de0ee1e45bfdf81ffaed16971f19abae660338a3a9240a0b732984fadcd28a85c680f0dac8b73306481a096f700706e91f7c100ce64e1c6bbabd419807dc167f1f924edc6f44a69b75a7c72989b25ce35480433bc456c6afa93a0e9b4156d75863f9440ae442eefd213b8a3f53a065daa8cd0206886d1544c3bfecaf62659cfa591da5e920d7d4370a9aabf7f9983fade101da2dba\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 320\nct = a2550a9850903f3142bc1b1b54e45d7754e75ff0d39a8ae813b51eb8165be08a4c0366b93c803ef161650f8cb966f7dd4648f40363dd0cc37595e43756078955ef02e415b3e0efd5f9744d564eae763e307e893002dd1a9d0ba2997fe6658f3689fef4f4f21e7a972c0dc642993ff6612c6e6b43f9ce53674919abbc13e42772beb8c3f3f655df9dc9839e075e01beb9b93d8e016f57afc9a0207d9189b4bcb14ba6459ff5fdd5f2fed5260ac9a7a092feca20af0f23a00d8b990c074ca23d964e19e49c17c970bc972b70fda2b6c6e99e4e7ff11902ea7126257fd1964e7da07fbf413c8becb48729fbd861ddcc3fa6c3df2355759ef1338d02551b7fc80a88\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 321\nct = 6f35b56ebd7e12d58cf2239b3c926d21d54222da0d1943bcd0c", + "0e446bc9213526c63ce0736b11340754460036eeac885dacac617499a58c56a6df5de1e91db4e1befba0237f696d1b6a8447163b839ddf082a1c5f8c1315f7fbab45b2bd8011accd5b2b1e3d4f35315e998eef82f368a72728817f7369648b9b1959781449707a5a668a6f8eefe5624135ff8edcdf9594eb4db32f27b2a6f5f7c6406c2f2c7b818f859d9e379a76c17b4d1535db7404e77d611f6cf5b4d0205f885883186d603c7a9920934fb5886406a38013f7a1864d5074f89ddc164c9e13f5aa5e4eb13dfc3a53b153c56d9f6403bf2ac5dde9c42227201fe314984752b5b41ef0064acb0\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 322\nct = 3530605f43b5539c80398f856eea8d88984af4a6a08db3b9d4093cc80d1a313c0ebe727eb2c45cec2025eee60f385822c09f82e3bcedf66b79c2b34a4f41aa8885eca5b9891798d47914f947c76881dbfc3f21ec27a11dc926c647b6b2a7f3292ec4aa32e969bab49afe203ffd79b0c1ab5777a041fbe4e9e1a679fe2d82e9c267ee7fbe54e9e0def68d8bbacb1e53da99aec8ba9255d2ff6676dbcc58498a386dd8a6b3cf0222a9e14fd03313303bec9d0439ff0e8a5a09ce2926ebe86cafd00cd8ca761b88df9cf84f7b8e07cc5f655199ea81ea6407ec264b5971738967a2e977132dc589c72f8bb639a9429feb512d8d32c441f7e1ce6c6befa08140a090\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 323\n# Longest valid message size\nct = 8654643090ce426118dcce2bb0fca3b2a4ed45589d73ae2f5683334f17ca5b9f41eb97ff566cbbc0171d8962fcca465f66f4cf14d0114d7768bbac1dfb726d91331670e0e88ce7286e1f0ee7acd5cd75e0d325adc9f47ff02820544770ecf46f381ff330a5c75978e8d248cc12f0752cc7c452265ae919f5a4dd7c20023fbf51d0b413afe09f746114d16d1be499c98d270e9213a37a2a745a3bb216bd30a07d110558090f4fe73debea009e18eb3770eeddd7150b4c7231539f7232d837836490c9547e27dac00efb5a8ccdf9a7c3c1d29c035170a517db899ee61925cc7a2cd278cf576ebe8281bd3a4f2665f15dd0b2e61bcd65172c2fff50a86a2adbf2f1\nlabel = \nmsg = 78787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 0747d520ca9b2dfc0335cf94301140b8102fb838c92ea99917e354e25709602dc0cdef231ff26ad2dfabbc391e723072a4ef52929f3f1cf0216e44c0093030f8ac29096faef28933bc9b924287014e2e935e2145be4752ccb82cb7646271936979cab73f521eeb27855ac2a410834ae5082eb62ef6f9899ee5cbb624a8d8c04ab7edcf78fe135d0f808f63b5de6e071779bf1d9eaaf8d3ef965486f2c52625e6e57a651c7bbd0197c99c057b3860a3260c864a11b3cf22ba44de3a3b3f3117e64ebf9a91f626ebb3f3c26d1b0bb80753468d4bf6a997b28335f20ed8c384d7558360a9ae9755661fa3749846b174e6bf330e52d09941f6ccd7de5004779f9bb9]\n[e = 010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00bd31c7a02691d2d9587ef6a946ff788544ccadd4b2988ad62086792a6bf96c8616b4ad13317d2270b901d0fcd1d880cb8f52fb87304a5258c11b38dfeae8df670aeee7ea1d0d9df8e00e80847e41e5989ed402d44e78b30fef17b5671d3adbf8685e4dc204499ecd1863e1d5aff28a7cf66eadf31fec9236c120add13451522c647c9832a672cd64d328c1c322183f4661d09bda60b8dd5f0328da5420821424afdabb1a80c5d12763a1b0238cd89d0742bfc50b6a2fcb701d824218f9826f4f78a23a2b5aa42ace7f175376fb6cbdb2bad293ba583d4d31c6b8f9029e46b13689249855f505756e00e225a6a45a18769bd8d2b3a4acb9f1c23d3e51882561e5]\n[privateKeyPkcs8 = 308204bc020100300d06092a864886f70d0101010500048204a6308204a20201000282010100bd31c7a02691d2d9587ef6a946ff788544ccadd4b2988ad62086792a6bf96c8616b4ad13317d2270b901d0fcd1d880cb8f52fb87304a5258c11b38dfeae8df670aeee7ea1d0d9df8e00e80847e41e5989ed402d44e78b30fef17b5671d3adbf8685e4dc204499ecd1863e1d5aff28a7cf66eadf31fec9236c120add13451522c647c9832a672cd64d328c1c322183f4661d09bda60b8dd5f0328da5420821424afdabb1a80c5d12763a1b0238cd89d0742bfc50b6a2fcb701d824218f9826f4f78a23a2b5aa42ace7f175376fb6cbdb2bad293ba583d4d31c6b8f9029e46b13689249855f505756e00e225a6a45a18769bd8d2b3a4acb9f1c23d3e51882561e50203010001028201000747d520ca9b2dfc0335cf94301140b8102fb838c92ea99917e354e25709602dc0cdef231ff26ad2dfabbc391e723072a4ef52929f3f1cf0216e44c0093030f8ac29096faef28933bc9b924287014e2e935e2145be4752ccb82cb7646271936979cab73f521eeb27855ac2a410834ae5082eb62ef6f9899ee5cbb624a8d8c04ab7edcf78fe135d0f808f63b5de6e071779bf1d9eaaf8d3ef965486f2c52625e6e57a651c7bbd0197c99c057b3860a3260c864a11b3cf22ba44de3a3b3f3117e64ebf9a91f626ebb3f3c26d1b0bb80753468d4bf6a997b28335f20ed8c384d7558360a9ae9755661fa3749846b174e6bf330e52d09941f6ccd7de5004779f9bb902818100fe3d238d376a3856d9592fd4961c17a7fb0fa39d442e9df22e7eda115c648c5cb738df89ea92d8378558d0d9c1cf3d8bff740d3743a0140a6a7523e9176c2953b2c11d7f44691cf8bec2b34fb59c649535983319488118c03118ae7445e70df466ce98671260f05d5068ce777da97e2ba84779490500ceb4ff7f62ceca9a147f02818100be814af26bf3c27115bc7595d0d12a1af7713feca877ae6e6d858825eda3d192704774f42e1ae1b67f1739e8c45a0476388070fa545b7cc96b8a44003bc8d07fde73f5bcdd18268395dcc2842b5023ff14b352382607b7179a5ea330840fc45045d86e0acc4feb135f0ab9b7ce6b8eb5f5a575f2a2a8de299c0d3f506df4879b02818061bb4cf4572e0cf44ddefc0503a34ef0b31142fb0c9fc2f5bb2be656302732d1dd590e8d6cd0002fefa1c1bf43c28fcd4668ed3fa64e5e05d700aaca4ac7b867455af924d83e73f5a7171f68efce6bd7f3df4b1d5802d069e935acb263c0bb5b8d3db3d64379624cecc12d453fd82cf9495a18649a78c1fd500e3f04715ba3af0281806649dbe920a7a8ceb982108cd9ab857527498aae52a2b86918ab6b381a4a2cbbf94794f78b4de9c5e8a59af56d807c06d23dbcebdca1a6f62ba4f8f03b298f32294a9036d16c2739de1cc3e0ddb4d12f2479487b57882afa246c0e297daf4d94607c5e51b3f4715f5c57d0f26d867901209db02010d0a541284640a9b9f0636302818039ec606f5c9f1f33d964606e128e9e90cff932772c5715aa759816d504efe2c46206f3379aa61d31f88e726b50dd80b8ce8558a0d7408525f58c3399ce32e239d70941f12d21e7761c043e0b02220d25ffd03571c7ae5bbd59c31f48120676f9d7c370a749d8491bdfcea01662a136c85d349b6c710fc6f6ebf8a7a79b62adc3]\n[sha = SHA-1]\n\n# tcId = 324\nct = b70a103c72b7e1d18f32a1f2a1cfea492205b37160ffbe9739f5fddd2199eb5867dff29480c5fe09cbf5fe95a02562059455e120291b41e7b0be023c0594e19d2278b80383d46f200e029289c49aa1e85192db2d8d6b8b8506424487de788a8184176fd9093d0d313bf2f954b9424d5fad0213690e816316107cb0b422624e8d49a2090c1a08da21b16fb9f6247828760aac8b612961f8c67bff8d299791d1a162844bb80c57b95cda2c8301c8a934d753193aa0171e3825d1ee4dd0b82d0dd35244bcd21e23f327789c9ff102efafaa257f3d407f0ee9fe3e2e49eef646dc4c5caac7446a8d8abeb569a02819f3f64f731bf1605106837c6cd339ebadbcb640\nlabel = \nmsg = \nresult = valid\n\n# tcId = 325\nct = 175ebdc0d8405a30a0b247628b5666f676fa4cfce3632840ae312dba2cdd3facd6beb306d63e77621322e9f5729169a4b4ad1298795b65626e1946b7c4d1be7257150b781211d4f50da80d78665e8ca8d6b2004a916d2be21d9d246323c72442c132cc89546e187044e6435d47736820e4c6984f2453e08fcfe6403ba33780d1ccf8c14595e06a388caed6a365e5f2bc1635398c660565ddf003d0c365345b0b10bf151547e04ef9771588aa7010e207700222d9106ce0ff76756ae82364d8cd57396333abbb8ec9ccbae2efaf27a36a8b4d9c2d795c5df59492f012897969adc7715aebbde309cca0feb60a6e6ae78046ca66b2d4c4344198e9f24b61347d9e\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 326\nct = 4aa41d7333c12336338ecd15f69d2e980c0ced8a7245e964adb1a23300f5f2c8c05a67b446ef141efce4b9272f09c5b9d5c8652f2180176b44a6d189add14be91ce558043dc9e5659d69db872f8365fdb46a751c572c9dde5ff22f6d9f19a86e37d5610c336a4688aaf75f36d4b5ef113478221b200ca1a4afa55d5415cc38c25807ae160c168efebab1e3521aa70188cab71c4a56fa481dda08e672c2708887c4ddc5d8259e5154afca239a4cfe46cd3b81b68481d5edc9a02a99b53d9e4e89cda413a612df9a10d9911a323b76a8e2065c6ca5cfe05db1c707d4ccacb9dd38aac6d3eadc698c39dcf11a55b492c9c9793c29e1845edce84d26b4fdd10daf02\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 327\nct = 10116293e808ad920fbe6a74a2c548f6843210b02cdfd39081299026ca36992087e707cc7c179da07d8ba868247e54342f147a4686ed89bbd55cfef9d5d95aff0fa66a798c15d255ed4b3217398084655f715dfbd6edabd6c37d933f817c35574a8aa44e0c6c55fec873ec2bf5d0c9a5976d709e2834cc64064c487413ca546e8358d2d31bc076a23490a4809f7abada6e0e481f287c2e7f3e749c6360ae4bf6482329c75152d7fad3124d86e099a0161c1477c5e9afe9fe5e26ab8a1c3c288860860fbf92f66ec56c28c9feed56a04783ca9f498b6353cf663c986959c2e56f25c54c30e72856e52260c3d2dccfce866b04fab6d1f368d2c7f97939ae8441a3\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 328\nct = 99764ae4e0b95b6a7d558c9f43037631c38d1ea3b07beacffaf33305cf2a39461824b6dd67bbab52369c4ea5cc7a34c1e00379708820ca28e0030621766f09dfce439b716fb79ab4eb36e", + "7f141b8de6c3b066ecee6836202fe33bb61e0669e3692b0708d5d972cfcb00459bdcaa0491a661fc86ec9ba19ed1c652d697bbff970dd98db2687e00619a576797528de3cb4b973251e3d233fba62715e7fb043abad2477e5543313292ebe1c0676bcc0abbb1b52438f3007553766aa26b4800a8c9fca9477f0b58c6d41224c8186c315f3ac607493f93a4440929cd5f98ea208f4c985dfa9f96a9e14a45a0465713fddec24238b71d18a42bc7320ba9e6c90ed7740\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 329\nct = 5019a29932320e4495d8115a0f71b0831b3e0995c2532d056259d8e7b248cd8b8027c1fb2230ced82fffc7613ab7e94d4c00e84fc148b729b9402917951c91eb897dd198506793b3a2cbf79a624cae99c1e411b583452671e028080fe5997c78178de2d1958575c47505745cf454353a73a0b9edaa6649cbfcb3baec1f42614a16c274820680292ff356d1ecd8db3f47dc0f6e039e86489e85e1dbd2f0b09315cb237d0438f9011f31ecde22f66e925c6445f65b03d3c9358b87c9b965e52ec11b8810b6bd39c75964991270e640e41b8323dd9713bbacd9de812a14bdeaf5535d7c853f5f13900a738d84ea9f3eb48bd4a349404dc93cd07aec7c8d7351f89f\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 330\nct = 8817e3dcf842096b9e8c79b99cf648a52cc42daeade85e475633dfe224bfbe4cb00279715c5aa7bdbaa882aeff5f4e6d9dec7547957cac2b36a6dc942aa3405390dc0da9010f5956432460f1d2d6083ac83f8e680cbf74c1897751c64f963c678ab1be533aa74b0e4ec007614a84372207872e9506e19b1231c92fc36fd65da40437fdc650b1e191c47a194a5d6dd8825f9aa595185a56757b56f25e213e202cbb8a94ca7f010fff56be2ab85592b6a4690d20bb056e9350166a840a43e1cbb7e7fe66162e249d8fec9543e1ea0f284dac11cdb3ae757478bf2d54bf4a30ddaf318ae422ad51bea672aed588da5bbeb4a038273e909758ec4cb5c6c986f7f090\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 331\n# Longest valid message size\nct = 85919106321ae42209ed6bd5ca003a68ee5b40026f791e679fd59df3e2ed37fa4bb33e12ac63011ec0cfade8c3427820c4976b61559db111db70e1bb0a6126876cd19d86049ec85cb0a8f247aaada5d4af2a7eb7dd35496d81edd1cb58b548f66eec90c43b8af282feccd667d758f54cf12b31916185ee54b7fd0a9ce0dd9c6017c5d0bed27383b3f90a13757bf623ba5d6a41fbb0c4f1e401643316dbcb0a5bc7b726864040f594f77e3e6dcb1130e88055edeba959b5e1f91a8716b7cd716770db81b086eb9a510ae57da243e77b92f38d1f021f33eadba55712ba08cde8343c594232f867e03f13fe7c1973c1813eefea6a1c141e4c69897e25b96f08f914\nlabel = \nmsg = 78787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 0747d520ca9b2dfc0335cf94301140b8102fb838c92ea99917e354e25709602dc0cdef231ff26ad2dfabbc391e723072a4ef52929f3f1cf0216e44c0093030f8ac29096faef28933bc9b924287014e2e935e2145be4752ccb82cb7646271936979cab73f521eeb27855ac2a410834ae5082eb62ef6f9899ee5cbb624a8d8c04ab7edcf78fe135d0f808f63b5de6e071779bf1d9eaaf8d3ef965486f2c52625e6e57a651c7bbd0197c99c057b3860a3260c864a11b3cf22ba44de3a3b3f3117e64ebf9a91f626ebb3f3c26d1b0bb80753468d4bf6a997b28335f20ed8c384d7558360a9ae9755661fa3749846b174e6bf330e52d09941f6ccd7de5004779f9bb9]\n[e = 010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00bd31c7a02691d2d9587ef6a946ff788544ccadd4b2988ad62086792a6bf96c8616b4ad13317d2270b901d0fcd1d880cb8f52fb87304a5258c11b38dfeae8df670aeee7ea1d0d9df8e00e80847e41e5989ed402d44e78b30fef17b5671d3adbf8685e4dc204499ecd1863e1d5aff28a7cf66eadf31fec9236c120add13451522c647c9832a672cd64d328c1c322183f4661d09bda60b8dd5f0328da5420821424afdabb1a80c5d12763a1b0238cd89d0742bfc50b6a2fcb701d824218f9826f4f78a23a2b5aa42ace7f175376fb6cbdb2bad293ba583d4d31c6b8f9029e46b13689249855f505756e00e225a6a45a18769bd8d2b3a4acb9f1c23d3e51882561e5]\n[privateKeyPkcs8 = 308204bc020100300d06092a864886f70d0101010500048204a6308204a20201000282010100bd31c7a02691d2d9587ef6a946ff788544ccadd4b2988ad62086792a6bf96c8616b4ad13317d2270b901d0fcd1d880cb8f52fb87304a5258c11b38dfeae8df670aeee7ea1d0d9df8e00e80847e41e5989ed402d44e78b30fef17b5671d3adbf8685e4dc204499ecd1863e1d5aff28a7cf66eadf31fec9236c120add13451522c647c9832a672cd64d328c1c322183f4661d09bda60b8dd5f0328da5420821424afdabb1a80c5d12763a1b0238cd89d0742bfc50b6a2fcb701d824218f9826f4f78a23a2b5aa42ace7f175376fb6cbdb2bad293ba583d4d31c6b8f9029e46b13689249855f505756e00e225a6a45a18769bd8d2b3a4acb9f1c23d3e51882561e50203010001028201000747d520ca9b2dfc0335cf94301140b8102fb838c92ea99917e354e25709602dc0cdef231ff26ad2dfabbc391e723072a4ef52929f3f1cf0216e44c0093030f8ac29096faef28933bc9b924287014e2e935e2145be4752ccb82cb7646271936979cab73f521eeb27855ac2a410834ae5082eb62ef6f9899ee5cbb624a8d8c04ab7edcf78fe135d0f808f63b5de6e071779bf1d9eaaf8d3ef965486f2c52625e6e57a651c7bbd0197c99c057b3860a3260c864a11b3cf22ba44de3a3b3f3117e64ebf9a91f626ebb3f3c26d1b0bb80753468d4bf6a997b28335f20ed8c384d7558360a9ae9755661fa3749846b174e6bf330e52d09941f6ccd7de5004779f9bb902818100fe3d238d376a3856d9592fd4961c17a7fb0fa39d442e9df22e7eda115c648c5cb738df89ea92d8378558d0d9c1cf3d8bff740d3743a0140a6a7523e9176c2953b2c11d7f44691cf8bec2b34fb59c649535983319488118c03118ae7445e70df466ce98671260f05d5068ce777da97e2ba84779490500ceb4ff7f62ceca9a147f02818100be814af26bf3c27115bc7595d0d12a1af7713feca877ae6e6d858825eda3d192704774f42e1ae1b67f1739e8c45a0476388070fa545b7cc96b8a44003bc8d07fde73f5bcdd18268395dcc2842b5023ff14b352382607b7179a5ea330840fc45045d86e0acc4feb135f0ab9b7ce6b8eb5f5a575f2a2a8de299c0d3f506df4879b02818061bb4cf4572e0cf44ddefc0503a34ef0b31142fb0c9fc2f5bb2be656302732d1dd590e8d6cd0002fefa1c1bf43c28fcd4668ed3fa64e5e05d700aaca4ac7b867455af924d83e73f5a7171f68efce6bd7f3df4b1d5802d069e935acb263c0bb5b8d3db3d64379624cecc12d453fd82cf9495a18649a78c1fd500e3f04715ba3af0281806649dbe920a7a8ceb982108cd9ab857527498aae52a2b86918ab6b381a4a2cbbf94794f78b4de9c5e8a59af56d807c06d23dbcebdca1a6f62ba4f8f03b298f32294a9036d16c2739de1cc3e0ddb4d12f2479487b57882afa246c0e297daf4d94607c5e51b3f4715f5c57d0f26d867901209db02010d0a541284640a9b9f0636302818039ec606f5c9f1f33d964606e128e9e90cff932772c5715aa759816d504efe2c46206f3379aa61d31f88e726b50dd80b8ce8558a0d7408525f58c3399ce32e239d70941f12d21e7761c043e0b02220d25ffd03571c7ae5bbd59c31f48120676f9d7c370a749d8491bdfcea01662a136c85d349b6c710fc6f6ebf8a7a79b62adc3]\n[sha = SHA-1]\n\n# tcId = 332\nct = 2070192715bfc3041f907c71044bd4cdbc60c8968462952e4538c519f70b06a92fb7eeed476283575f80a508ff883c735d85478b072026c784285aaac077f0b8014ee8eb6ded6ba4b31ffa613ffd675fdf3f16314e010364fb7d914f61ab3aa37791a506260bf10a63456dd05289d02ff817897addb98166103fd4797a96fdc191fc167bb8976f618217252cba2636f34bd5aa8bafb0accdcd961973eea46f876ff4b8f4b56f2ca5569166305fffb21b48c4bc30ae069062d30ee8127a8d97f815999cd35e2e3879ff2db2c83011f33d61c4b18b036c815d78ce0b7ec9e2c347042cc3e7f43918bc38abe9266fcedf90c6e35a4b6b1e8c8f327705236664a4ce\nlabel = \nmsg = \nresult = valid\n\n# tcId = 333\nct = 6ad9b9f1383e6a609bef86be3b4b7627eb6e4f20294b02a1c0008141b0bd5cb1fb72f81d6536ac1c28b190468bbcfa4e42c917af8a2cef15fc44b2887ba2e641936fcd7e22c588c394e4822dedc88277bb733a5c045d7151597af25df3e2f3b007ab6e9eba4a1e15d4fe60888366f4f2513098c2839f6f047cc1c02be3c712e20889493f97a52b542dcceabb697721367f5294b8e56666929b40fecf7094146946a04eec658cb5835e0d21e14f8b755360e859b84b6fe91feb8aafcf8028519087927a1eadf7ac3a1161d4a3c972a19c71c603b10c104ee42be30fb7e9d3fe2b1348bf2f7a6b4e94757323a17570f76c99578e8f29598a52ee86734f88f1be19\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 334\nct = 23613b435081b4b7f88bb61d5dc1780462265a4c3bd2149fc50d0fbdbcf0f3d8e3f29c0bc5ad30e4930afd2d3a9bfba5cd9dc1e89cb09871ff587cdfdd780bffc264d5a1081829063f08d3d0aa8d605d3a87ad0339d686352daaee6f841490afca0b6ded79b7e7c44529e570a9629b2563cfae20f9154160a54670a2aeae45a26edb500799fb67bb925ad8a0c0df276ec6e0aee3a3051d75af52c22b27746fd0853766b2eebe40c1b26e0dcaf4be896e4eb752a0806a6435a27cb5e415916a98df49bb87ab1c67a8fb96ccd2f255a36435cfedd23b842f64cc823f79dfd8fb070f8b7b74e622f6d6f70b71751254b945cdb9cb3e40013fd915099a11fa575322\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 335\nct = 1d08ec064cd364d54d342d20b25808f8e5fc434dcf5099f48d0a4cd36a0e2152f247339f733fec14cd3c5aac28f68b5f00dd9f1f482a59627b02eb36daf79e5fde23b4741f1895e4f352d1bd30ceedbf07be10c05fe090d4056e383c7ccee6fbf5753f93bde04b0aea1637741c05a415903fe18ae857ce38dfd9d", + "6622aa5dac36336c2505d3ba872df7d13907683ba63b3d3ca057d5a422cf2258f1d1117f12231963152b391ba1cb779054e94e0578cc1937bcb85c2a578ae81d69d7511f4b7f3399883ee83b4f82dfec4767755be9694988cf4b6b76b9f3c67ee9e6699e767754b0c96bd96d9a88a2b4aacccec515f10ec60c7a6671d5f42c46e0ac96abbe3\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 336\nct = 668384dca2fe8531dfa09df8ad0d96831abb8ffc4aa7b5cdaf659396d81b72d5bef88c2e1bd60b157747f9bd2eee84de8b2c5349d3238dd1872117efd575ca920516afe9fc65617e97adc189b181480a65893591df1fbcb22fa4df48d3e3331c49fdab1d763f51c04b243cb9783bd3cd6c5d5f8364898965a3e01cd56b9b5e1c8045f01fe0a8db9f9c1aa8f00fcbc9c94fe0f3a2d2f22535feda91f02d7edcbf4c58eaf0b23d90945eec62f4c98ed61168888e6c56ba1fdc64f19a1be7f2df400cf8416d418a09b704afd8086a297ab2e5dfb413245c8b8c41fe6ec7751763280644754fe462e452a3b8e88312defcf446def1abb327b246093b57bd0731176e\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 337\nct = 902b79eb107ea1088d3080286da5a2cb187a7cfe4bb1db05a73eda985a93a72370f60bfb21642a7c2955fa887708ef4db0c2f750b2dcc9a7ea848ea49a67121cb8f2304331548396102eb4e8ec4657b021262677447b1678ae0a4379cf405eace5d4e35449d77e360b3c977bcf433405a42c14fbc4b99c55838ba7e3118e8616e0897c07881b0824cce9a4708dfa947c565a704226a3ca61bff900bd57f43c1779837c4501434eef87e10197ad389634c3dc8af5e055cd5d9fb0e32faef3a8e3e5dd6fc751d664e7ccaddbc8aeb596fc9acb55937b245a8d67ba5337a2c369b2f482d09e2bdc345056967496368a29ca8d8b584546bc1e58c53812245b2f4e35\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 338\nct = 2dc0c9296327f53ed112da4d2de5826798bf9a8e879de9faa57d63e549a39225d906a17e98223e2452baabb6df8245fcd28c3a7d86ead77798cae80a43ca07f0ac5bf0e4d5171abba198f5e79543de3546eb987b98282dd838daa92da53a4df66005be0d476d3cfe62d79ea16e91b054e5cd8f7ee704b19a1d476f1e5ef451a5ae7acb194784504c1a9c6a0c62261151d490a45b736a06ee861aa6f60feef31ab46e9b2e0c0f186cfdac4d19b03770ddd8a711012daadc350738342ab03b6ac0beef4583d446df662ba863f99055a7c5df861912ca98c1385a44ecdaaaf1402cc495c695e1bd69c9126207697de9f7f03353aa92bfd5e81b97a8c98754daef9c\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 339\n# Longest valid message size\nct = 16281dc1b9ebed814f2961bf4b82e26de647b82da30c24a3470bec2715864dca61924da9ccc406fd6f70fcc50013ca0d2b942df1e5cad693a4940d16597be2eeb2a2bd6d6c91a7a00f52bb56306870860183e41e1f07cc34a6821e83e598a6fc7f26762f317851f8f43acc774654ba52def73a2bacc622cfd2616d9650a0d0a014f3b9ba54316295e04ba88c56320a10488e99a119232ea9ce367d33d92753ecd45802d707554c271ae527b91395da7154c4f4bd002fbb5d3f04635fee91eed7009e2cc3a26e410e633fd8ac3cf02e0115a40e5b21578f97d80e126bbb138038ecf95a8131db70c6bfb49b4c706036fce9e957c721727d6653d08d806d2501c4\nlabel = \nmsg = 78787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 0747d520ca9b2dfc0335cf94301140b8102fb838c92ea99917e354e25709602dc0cdef231ff26ad2dfabbc391e723072a4ef52929f3f1cf0216e44c0093030f8ac29096faef28933bc9b924287014e2e935e2145be4752ccb82cb7646271936979cab73f521eeb27855ac2a410834ae5082eb62ef6f9899ee5cbb624a8d8c04ab7edcf78fe135d0f808f63b5de6e071779bf1d9eaaf8d3ef965486f2c52625e6e57a651c7bbd0197c99c057b3860a3260c864a11b3cf22ba44de3a3b3f3117e64ebf9a91f626ebb3f3c26d1b0bb80753468d4bf6a997b28335f20ed8c384d7558360a9ae9755661fa3749846b174e6bf330e52d09941f6ccd7de5004779f9bb9]\n[e = 010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00bd31c7a02691d2d9587ef6a946ff788544ccadd4b2988ad62086792a6bf96c8616b4ad13317d2270b901d0fcd1d880cb8f52fb87304a5258c11b38dfeae8df670aeee7ea1d0d9df8e00e80847e41e5989ed402d44e78b30fef17b5671d3adbf8685e4dc204499ecd1863e1d5aff28a7cf66eadf31fec9236c120add13451522c647c9832a672cd64d328c1c322183f4661d09bda60b8dd5f0328da5420821424afdabb1a80c5d12763a1b0238cd89d0742bfc50b6a2fcb701d824218f9826f4f78a23a2b5aa42ace7f175376fb6cbdb2bad293ba583d4d31c6b8f9029e46b13689249855f505756e00e225a6a45a18769bd8d2b3a4acb9f1c23d3e51882561e5]\n[privateKeyPkcs8 = 308204bc020100300d06092a864886f70d0101010500048204a6308204a20201000282010100bd31c7a02691d2d9587ef6a946ff788544ccadd4b2988ad62086792a6bf96c8616b4ad13317d2270b901d0fcd1d880cb8f52fb87304a5258c11b38dfeae8df670aeee7ea1d0d9df8e00e80847e41e5989ed402d44e78b30fef17b5671d3adbf8685e4dc204499ecd1863e1d5aff28a7cf66eadf31fec9236c120add13451522c647c9832a672cd64d328c1c322183f4661d09bda60b8dd5f0328da5420821424afdabb1a80c5d12763a1b0238cd89d0742bfc50b6a2fcb701d824218f9826f4f78a23a2b5aa42ace7f175376fb6cbdb2bad293ba583d4d31c6b8f9029e46b13689249855f505756e00e225a6a45a18769bd8d2b3a4acb9f1c23d3e51882561e50203010001028201000747d520ca9b2dfc0335cf94301140b8102fb838c92ea99917e354e25709602dc0cdef231ff26ad2dfabbc391e723072a4ef52929f3f1cf0216e44c0093030f8ac29096faef28933bc9b924287014e2e935e2145be4752ccb82cb7646271936979cab73f521eeb27855ac2a410834ae5082eb62ef6f9899ee5cbb624a8d8c04ab7edcf78fe135d0f808f63b5de6e071779bf1d9eaaf8d3ef965486f2c52625e6e57a651c7bbd0197c99c057b3860a3260c864a11b3cf22ba44de3a3b3f3117e64ebf9a91f626ebb3f3c26d1b0bb80753468d4bf6a997b28335f20ed8c384d7558360a9ae9755661fa3749846b174e6bf330e52d09941f6ccd7de5004779f9bb902818100fe3d238d376a3856d9592fd4961c17a7fb0fa39d442e9df22e7eda115c648c5cb738df89ea92d8378558d0d9c1cf3d8bff740d3743a0140a6a7523e9176c2953b2c11d7f44691cf8bec2b34fb59c649535983319488118c03118ae7445e70df466ce98671260f05d5068ce777da97e2ba84779490500ceb4ff7f62ceca9a147f02818100be814af26bf3c27115bc7595d0d12a1af7713feca877ae6e6d858825eda3d192704774f42e1ae1b67f1739e8c45a0476388070fa545b7cc96b8a44003bc8d07fde73f5bcdd18268395dcc2842b5023ff14b352382607b7179a5ea330840fc45045d86e0acc4feb135f0ab9b7ce6b8eb5f5a575f2a2a8de299c0d3f506df4879b02818061bb4cf4572e0cf44ddefc0503a34ef0b31142fb0c9fc2f5bb2be656302732d1dd590e8d6cd0002fefa1c1bf43c28fcd4668ed3fa64e5e05d700aaca4ac7b867455af924d83e73f5a7171f68efce6bd7f3df4b1d5802d069e935acb263c0bb5b8d3db3d64379624cecc12d453fd82cf9495a18649a78c1fd500e3f04715ba3af0281806649dbe920a7a8ceb982108cd9ab857527498aae52a2b86918ab6b381a4a2cbbf94794f78b4de9c5e8a59af56d807c06d23dbcebdca1a6f62ba4f8f03b298f32294a9036d16c2739de1cc3e0ddb4d12f2479487b57882afa246c0e297daf4d94607c5e51b3f4715f5c57d0f26d867901209db02010d0a541284640a9b9f0636302818039ec606f5c9f1f33d964606e128e9e90cff932772c5715aa759816d504efe2c46206f3379aa61d31f88e726b50dd80b8ce8558a0d7408525f58c3399ce32e239d70941f12d21e7761c043e0b02220d25ffd03571c7ae5bbd59c31f48120676f9d7c370a749d8491bdfcea01662a136c85d349b6c710fc6f6ebf8a7a79b62adc3]\n[sha = SHA-1]\n\n# tcId = 340\nct = 39674cdf85ee3aca2f98a5757b31ff7365409d554c801c9128edc8e42751b62308cde38dbe0419b0ae2ae2e990ac2c0e3e76cdf8dc8d12f654d9293b931c1cbdb597e839e834ae8a2829ecb5e2d66b56859de6eadf9eb17ecc101498961350419fd3dc7cf4ec4c9d838544dc9cd6b7cc1e9402486c76e7fe8ecc7ea26b1f5506dcf647a13aaf91fa3babb7dd7b6e916b57a1a858ec28bbc96a2ac58d820d41af0688a6aa732392ecb95c03eed1062bf495ff8d43d4a3a2cc089e832d8f095bd5843c87db7e6ba4cba4571669be7b174990db3d0bdf9cf889ef38fcfbda95b00daf78b24ae80524fdc3f42259b47c758859227116aae749325c16b46e486b4d53\nlabel = \nmsg = \nresult = valid\n\n# tcId = 341\nct = b3fb4d0da77bb054101c93c72e03bf61230e4348a4069ad91793cfd59f71fad75c0ad2ab24cabf84fb7bfd6de35f35f4f5a261e43e518fc4171d054b5ef555ee6eb43f3212033a41170c771f6bc59d6465b4c6aa2982b89e403d5a03d14949a7ea3c38b9a640e8cbe32dd2b70a6bcfe5a9425b32b85ba095d9dc8f940b6ad615aa76aed893ac7f75023a904b63df83bb6fa0ee6c33172ab09e1f241a39f08f5f66ed393ec0f3c2132a825c5c0e14881b8a6b62c49bd56da4bea0757fdc53fda4a72d1d77676746c43c8316bafc7b24df16a5e290bd915deba5d2fd8497821c680b2bd08987275c04ccd7732cc2b110d44f7102ca461551fdaf5a10b14fdd4e13\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 342\nct = 13ab8ed997c999f500eecee19f0710787a5f0a26c79b1d75fa804cc43a79f920742b65b248fdb0c40c9c15381220a522aad2525a298287f397e0a21ea34addabfebdfed392408988e03d89dad00af3892a0837ac13b5ec220b69312580690edc86c29ee361cf7684a9c0dba6a61228bf050fb857cdfaa0587a94d908afed14d5e713c68feb7577ea65d912607ca771a3651129f62b22ac1b95762335c177929c6013b8bb14a5c4a2b", + "9123f329cdca49f9a00ff2f27a3772d9a0d2061f2cbda662dc27570e4b2307c3cd883f3f777e3f759985339b59aeb6a691a3cc805168b8c13928578d5858efebd63f6ce96805a8ef4242a777d6d83549770f19e9565ae7e\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 343\nct = a31bc58540f07c4ecb473c3979b3c8953fc9f1f505ca62ec12ddbc4419bbc6c8aeaa1ba5229066741cfbc336119edd98c49703a414b5dd333ecee8604d7fd34d5ebb051704d7c949c0ee87ed0366706e3ea68f685fab4402531d8c27a30052b55699a0835b7221d637f7298893b34409d524ebd8cb6094ecb0add7e221931712b774399e4075850ac8811d65bf4e863d1803130723c522f619abadec37d64f7a610c51b44dec491622e6571598636113a7f0227da5715f17c292652bf34c0d92728cc64660caca5e551714f9c062f3bc5d22af72d252fadf85158a952695f675173540a13b04994d1bc828d42877661156b5c241e5f761cadd414249ef853eea\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 344\nct = 40be741421562a27be5025894890073a79a27b5a5c9993c5c4ce45409de57dc7ea8d3e5fce3e402bd8474d2c8d59af96548642b9321fca8231c7c50c1116c7b89dce9515258cc30d3e01dc3b8186250359243707478e20ce8a606574fbeef65e9963c29cbc355f9c2bfd18fd896e2a1e51061dfde79dbaca70f23c0a8859700d3d2a9801020945c65621a6498c907233a6b1afa697fce47d28727f1278efa4d2b04cbf46b44954c4080b23048bef5d5c2ff2c6e790e0bac29fc9e1a287b351f2c843cf5bf9369ce8bfb699b1a1d8705769acdf62a82744b58a59112fe5448260f134056b8ba8e821173ebe319ddbb712ffbc33a619e03c4674a319d2440b97dd\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 345\nct = 8bac721df7cbf08e90ce282dbc8b8c572ed2c106f6155aeaa9e65d7442eb0839b941d54ba30f7fa8df6a18633226ae2e022f3e7ef81c3f024a9354446dbab84600e3e9165b171de88b91f3fdb77c4f941136467de9c88860d1c98800fb5c0c33061024a19c2cb507347e69bc2c8c166c74cd05daeb8feab49823accc2a625c50d532f7a62e251974d92cf502b23621421c8db1191bdfe4f31c45a3e5a820f513868a55ed32f9b96e386b4773eb4f3860bac905a2cfddb1759fa6d617d31587cfb0fe0d1fe90e8be058659ed8dfe68f5981a9fd9c1e723462bd91fe1c78535407f4da78f4dae72e7f3c6550cedcc521a8e957b27ff0b42d5d56fe97eba9119567\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 346\nct = 30a2a076c5fa964a9b8ed1dbb378f3c761ea4f2be1040be6a7a85493de1d00eed5be532887dd77e535e04d8005641595330456b7bc7ee3b648ae9c6fb590648ca5f03f5f6fd0a971ed9bd20126e86b215fd1810b92e916b744ebc80691f8f140f6c724cad886c3aa3f1907d399b47dd929f2c8006a7528c2d6df3d707b0a1f9511a117c1928ee392225bde5b95a22ce017bbb75c341c9cc03b5e18eef4e059e3e5bec1a85c75f2f8c119ab1de874e050433c6eeb0db7555949a49e33114b32e52983e4ec47f4e3d2639e2d0f754c5190ceb5ab193b135b028b93ef2256a10b120161b740302caf690a159591a12e3de91e07f9d7b9056930d1d66b1b18a391bb\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 347\n# Longest valid message size\nct = 7343866a04370f6c69cdcb771589198e6dd781cb3301eacc92b96df5aa7546f989f89a33b676b55f515c75f2d65341fe42e166f0f2c7d526cebf64b68a71c5c01e14d0b155529380a7297ebd0c186e5add73da40a620c7a499716f6fd553c93424f67c29356eaa107cfc1e0feb309f0e84a48a8f687130f0b73e12eec66212aa25a456be44c6bcd9c96b6592141a7364cebde3d2497b51221ffe93fde22703c69e42a70c64a4cba5100354270c46fd76a0d384da80e14c5c12ad94d0bd8ab4d3d589b18731a5069313fc8f1d693633e6bf09542ce7b098aee991554f19e44543624573502c3027d04df1397859c59f97f82fd37aea125cc1218b85e92c9da701\nlabel = \nmsg = 78787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 0747d520ca9b2dfc0335cf94301140b8102fb838c92ea99917e354e25709602dc0cdef231ff26ad2dfabbc391e723072a4ef52929f3f1cf0216e44c0093030f8ac29096faef28933bc9b924287014e2e935e2145be4752ccb82cb7646271936979cab73f521eeb27855ac2a410834ae5082eb62ef6f9899ee5cbb624a8d8c04ab7edcf78fe135d0f808f63b5de6e071779bf1d9eaaf8d3ef965486f2c52625e6e57a651c7bbd0197c99c057b3860a3260c864a11b3cf22ba44de3a3b3f3117e64ebf9a91f626ebb3f3c26d1b0bb80753468d4bf6a997b28335f20ed8c384d7558360a9ae9755661fa3749846b174e6bf330e52d09941f6ccd7de5004779f9bb9]\n[e = 010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00bd31c7a02691d2d9587ef6a946ff788544ccadd4b2988ad62086792a6bf96c8616b4ad13317d2270b901d0fcd1d880cb8f52fb87304a5258c11b38dfeae8df670aeee7ea1d0d9df8e00e80847e41e5989ed402d44e78b30fef17b5671d3adbf8685e4dc204499ecd1863e1d5aff28a7cf66eadf31fec9236c120add13451522c647c9832a672cd64d328c1c322183f4661d09bda60b8dd5f0328da5420821424afdabb1a80c5d12763a1b0238cd89d0742bfc50b6a2fcb701d824218f9826f4f78a23a2b5aa42ace7f175376fb6cbdb2bad293ba583d4d31c6b8f9029e46b13689249855f505756e00e225a6a45a18769bd8d2b3a4acb9f1c23d3e51882561e5]\n[privateKeyPkcs8 = 308204bc020100300d06092a864886f70d0101010500048204a6308204a20201000282010100bd31c7a02691d2d9587ef6a946ff788544ccadd4b2988ad62086792a6bf96c8616b4ad13317d2270b901d0fcd1d880cb8f52fb87304a5258c11b38dfeae8df670aeee7ea1d0d9df8e00e80847e41e5989ed402d44e78b30fef17b5671d3adbf8685e4dc204499ecd1863e1d5aff28a7cf66eadf31fec9236c120add13451522c647c9832a672cd64d328c1c322183f4661d09bda60b8dd5f0328da5420821424afdabb1a80c5d12763a1b0238cd89d0742bfc50b6a2fcb701d824218f9826f4f78a23a2b5aa42ace7f175376fb6cbdb2bad293ba583d4d31c6b8f9029e46b13689249855f505756e00e225a6a45a18769bd8d2b3a4acb9f1c23d3e51882561e50203010001028201000747d520ca9b2dfc0335cf94301140b8102fb838c92ea99917e354e25709602dc0cdef231ff26ad2dfabbc391e723072a4ef52929f3f1cf0216e44c0093030f8ac29096faef28933bc9b924287014e2e935e2145be4752ccb82cb7646271936979cab73f521eeb27855ac2a410834ae5082eb62ef6f9899ee5cbb624a8d8c04ab7edcf78fe135d0f808f63b5de6e071779bf1d9eaaf8d3ef965486f2c52625e6e57a651c7bbd0197c99c057b3860a3260c864a11b3cf22ba44de3a3b3f3117e64ebf9a91f626ebb3f3c26d1b0bb80753468d4bf6a997b28335f20ed8c384d7558360a9ae9755661fa3749846b174e6bf330e52d09941f6ccd7de5004779f9bb902818100fe3d238d376a3856d9592fd4961c17a7fb0fa39d442e9df22e7eda115c648c5cb738df89ea92d8378558d0d9c1cf3d8bff740d3743a0140a6a7523e9176c2953b2c11d7f44691cf8bec2b34fb59c649535983319488118c03118ae7445e70df466ce98671260f05d5068ce777da97e2ba84779490500ceb4ff7f62ceca9a147f02818100be814af26bf3c27115bc7595d0d12a1af7713feca877ae6e6d858825eda3d192704774f42e1ae1b67f1739e8c45a0476388070fa545b7cc96b8a44003bc8d07fde73f5bcdd18268395dcc2842b5023ff14b352382607b7179a5ea330840fc45045d86e0acc4feb135f0ab9b7ce6b8eb5f5a575f2a2a8de299c0d3f506df4879b02818061bb4cf4572e0cf44ddefc0503a34ef0b31142fb0c9fc2f5bb2be656302732d1dd590e8d6cd0002fefa1c1bf43c28fcd4668ed3fa64e5e05d700aaca4ac7b867455af924d83e73f5a7171f68efce6bd7f3df4b1d5802d069e935acb263c0bb5b8d3db3d64379624cecc12d453fd82cf9495a18649a78c1fd500e3f04715ba3af0281806649dbe920a7a8ceb982108cd9ab857527498aae52a2b86918ab6b381a4a2cbbf94794f78b4de9c5e8a59af56d807c06d23dbcebdca1a6f62ba4f8f03b298f32294a9036d16c2739de1cc3e0ddb4d12f2479487b57882afa246c0e297daf4d94607c5e51b3f4715f5c57d0f26d867901209db02010d0a541284640a9b9f0636302818039ec606f5c9f1f33d964606e128e9e90cff932772c5715aa759816d504efe2c46206f3379aa61d31f88e726b50dd80b8ce8558a0d7408525f58c3399ce32e239d70941f12d21e7761c043e0b02220d25ffd03571c7ae5bbd59c31f48120676f9d7c370a749d8491bdfcea01662a136c85d349b6c710fc6f6ebf8a7a79b62adc3]\n[sha = SHA-1]\n\n# tcId = 348\nct = 34c697defdeb00064f4290bcff76138b378ef05191c280f7fea5ca57a2171ec3b35c8b19ee5407d87025b0b3a5e400af786e2262627d28ef8757fbcdbeab534634bb01bc295d976b0f138f11de587686ebb34e1a3f91dee0981c9b4cecb7bda3611776a9244fb146bb6e7336dca7edf9389ea7cbd392d8a5758eb5a05d2e51c66c9465a772b9d8a3f59a2c3e39f452eef65dffcdca7678028655657388b17e419a02b64592063592fef828001ee06d960ff78682c622d48e03ee5208b5d31a7a455316c1a7fb092cc53052cd48b7bdb9d7b0d2faa9912ce717b82dfdba382be336cf42fe8b47eb7628a05c7fb0e97a9bf2a71b61297b67ae53eb3782a5f9a2bd\nlabel = \nmsg = \nresult = valid\n\n# tcId = 349\nct = 60d463f72545f97a083ad1834c5bbb560479a52f9475ae98a72b2b823433c8574522f6c394c42b72ab5e8f81715e0992fc044c0493236c5446ae299c2ef8cca21205a62b316a621e1628ca0ae8e1187cd39c48847aefee5f2a83fa25772822b57bd69721d1b1ebe913e124e684f467efa8fb843d5908931f3d6f4b93c16d80b37e39d84294547abfa64943753b8f2f1df3b491a12de790bfefa056e95fc7f995237c1963dfbf6fd28171eaeaf006ef22d74f87742034d3deef3a8734c0e0f2139e50cb856c902697fb101a2a8868420cc7cee6af85357b7c73c0a7903e54e19b6e4475c6efb88", + "2ced63a66ae1da7c66e2efd9a61657cb12051513a86aa5d2a7d\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 350\nct = 530e7aacd2f1fc4fd5de60d535985f76a1e5fb9e0f4eba9f65dd02947b72dda088edc5be05c297a0a8767c321c36fc12d9436c11fdcf27fe93650829855093899ee61843f6ffa61c12d2fbe08c4d3015babe20defb35f6c304fd3b3d6834a0b488bc9db531f3d9cc65f2b74a15d1b4389b8bb1fc42497593a8eb9f4ca484b70c3421f294422c7e5926c25b7614858add3065dd49e01b54a11eb58efc027e267c0ff85948f09bb66c7529b1216605d9d506f4dc3052b91ce6ecc262b976fe57a584a65778175a2d68754bf01e60c692d3f4aaf2209f904ad85e1923929413520edfa7315b153ddf12f1de4ea2c264d4e6cf8a2c41ddfb05f8dad756a40b8ddb00\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 351\nct = bcfd14e41ea4ab76764eb65f2cff3735bd6be8069f4aa2287f383fe984cfb0303684af69e2dbc2d40f6f4a29a559ad8f621071100c53eb80455ef11dbe754e8e4c01c030628422e3ba883378c0ff36863ce3555759157479d801de8093d4a085c42d9c77fe7603bf0c47729e771c80d60fa15b9a0b5eeb189a511439ca7d21a2102e2169286b9c2d95e777bee2ec72cfe4c34d075afd6ffcf65b88db5f5312c2e046b77c2455ed45e4bfcfd4a3fa2d3c158a6fecb9f12d61740f0844765fea70e6e0253ad225c7673d8f8449c74e4c96e8ffe73d3dcc908047c20a7706513cda600b50e8f77fb2c7558f5a1ad8925d7507a3a4465b476f2b108ec6be144f2ad0\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 352\nct = 125517ed81b52b8309bc774509b26d105dffce1e75a65c763860495fddedf39326d2524f5a3d186b9c36590b3226b06d30462de91754fb9432b83f62e221fdcf157303358215324a0acb662141699ecd56e57acf6da52659db597fb858721e66c518c2e8838118c52b607ffc19a73e75550e9c70f85339698e45095c96aa872172c2e6121323fbbaa44dccc90eaebb9c7c145bc8973fe01b9e4a14331ec7aea55c45c24bd85981624aa13c1b93d88b89827105842d2b25e6fc30b8cc49721f25fa75dfcb5ce4597ddbae702986e5e4b3e091797b3b06384e95ac595dbaf57370db30f029cb38a8874f55d75ae6b34f9a0ffeb0e3bb89f6f065054c566fa335d1\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 353\nct = 4169bee38d5f31598a1abcb55d60223bb01108ab22df1347e2b881d87435f8405da13e5b1c53dec8d7261cc4daf20334c8da336a9fdd93e95e4da3855a1fadf858741e6cabe0bfe76274bc17ec66737f25a6e778a5c2b4a2f19a7a4ae77675ceebd817b0bf97464956c394757a50d7c9a2a27884ff50ed0cdf5df8d234301e7f9bdb75fe1b4421d146224287a76e6fb05ae73041d34f097ee12af8f8095c52c7527366ed6a2b4d19b03de0ea51b99432b438942a7b24570e71a70ef9e47c8eb619e4e5e6028efc3084150630cc17df58c6d5938e5f8eaca11c5cacb21a631572ddc6406f49cf2cc250eaee49f6de058723e619efbc257db26252e3598b5e5426\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 354\nct = a6128106efc48ef2f62d130093a4c044772c0f3952ea96c1544ff1136cedb93e60eac1949ab02d6690555938d058759563bcc883fd2e14b2b5fd82cc6b9728930f31eae0d78aae2da284edf33ac5bc75e37bfd9b04c30bf939c5fca31257023357add5856fe8f3ffa856e62e7f7a9d807489e47e4422df86b7c7970449e7f090ad6d52aadc5c751fd806f03e5375ae36045f8d8f90263890d905ec15fcdf0ba3dc9b17da959d42140e5326b85dd2472cb2aebd0186be4795cddecddfb95dc2fabe016255179d836c19fe9ddf06817d2d7f00499e985e650c5b7e9c878de2db1a1be05c21a5f039a8ccdd6a7105ac3f7d878e130be970bf9e701e5ce759d14860\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 355\n# Longest valid message size\nct = 0acd794a8c16102840d2e005df1ecbd014e854fdcbfe96356a5a14a720408e46147f46f0b4e60d00ed5cf5886ae0bd05f7a8461f9782384f19180f8c3f9e7ae561adb041871d9b66c7060ded68765ff212676279f5ddd9c3396e422cecfd3e3801f9157740695b947f8cbe5b9ed8b287b6d61a4c7aa89dd6b5bb7102a98ff383dba89aaf68002ac942d21c778d0fe9b5d237cabfc04c957dbbaca0bff6554c9c44e8a1b0cda7bb311aadc03d8f0d94fe15c4ddab9ac9dfacaa8b795c901bbd86251862a4262e80c99966818a1ee1c95edd0d0d9f7392cf5f5554634d44c38510d33d30018967b03c390bca42b47e6c64ab35bfbf6dc9ebdc78f87cd10f073a31\nlabel = \nmsg = 78787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 56d0756ceddf7b1e5b258f783b99e036e25675eca054ae9b6ed7552776c69b2728f76e08973556b0a35ddbade9d462ed12bfc46fd254a07ef4ee043ab24d1ef00f8d214cd1d906911e92c4a212d9a981da74b8d18208153d583035d6642b87a23371787867efd02c336eab01486266c853a052490deaea430c6043a6b240b6e9d71e16f29255f2ceeb35d1a4ae25ae0dc9a436fb5dc30381cce982acc824961976df683173a02a540c403f3c8560243ceb5b798abcdc20f3c85d9532b0f0b0826f1b6352c5adac757fe3224b822455cc529fcdc8a220b0469f321f56bd1853d8a70b893f404cc06317e084173770c7d4c836281ac251353fcee4ac393838a1a1]\n[e = 010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00c32cd0e1441fde8a2896ca3a133735be2d1010777cfc739afc77b6daa66f367d4876dccb3021fc22c25450a68d6cfb1191d485cbfba5ec45b49286d7cae2bdae553f47e10b94f867abcc6d0affc733bacc725e5ab4de1aba19a39d748b4c1355d5a6a710a52bd04c0c24e7bc3bdab8f3ce3ae86ecb31c4b45e10b40ddb5fdd40cb2411bcf5b1d392e1eef959cff2709a6e02b20ff3b4343641a6b78599586edc9b673d9f3f5e9d339ceebf96a1a31655876c39fcb00b1c3e571908c9b744765047abb5c23ecc42e551e13755e38cc9a13e1e02bcd5dcec9c301fab75be3e1a8ee9c42981607aba7855f4bbe76c8c160e80468b54bdf9f438b177c33dee30b0f5]\n[privateKeyPkcs8 = 308204be020100300d06092a864886f70d0101010500048204a8308204a40201000282010100c32cd0e1441fde8a2896ca3a133735be2d1010777cfc739afc77b6daa66f367d4876dccb3021fc22c25450a68d6cfb1191d485cbfba5ec45b49286d7cae2bdae553f47e10b94f867abcc6d0affc733bacc725e5ab4de1aba19a39d748b4c1355d5a6a710a52bd04c0c24e7bc3bdab8f3ce3ae86ecb31c4b45e10b40ddb5fdd40cb2411bcf5b1d392e1eef959cff2709a6e02b20ff3b4343641a6b78599586edc9b673d9f3f5e9d339ceebf96a1a31655876c39fcb00b1c3e571908c9b744765047abb5c23ecc42e551e13755e38cc9a13e1e02bcd5dcec9c301fab75be3e1a8ee9c42981607aba7855f4bbe76c8c160e80468b54bdf9f438b177c33dee30b0f502030100010282010056d0756ceddf7b1e5b258f783b99e036e25675eca054ae9b6ed7552776c69b2728f76e08973556b0a35ddbade9d462ed12bfc46fd254a07ef4ee043ab24d1ef00f8d214cd1d906911e92c4a212d9a981da74b8d18208153d583035d6642b87a23371787867efd02c336eab01486266c853a052490deaea430c6043a6b240b6e9d71e16f29255f2ceeb35d1a4ae25ae0dc9a436fb5dc30381cce982acc824961976df683173a02a540c403f3c8560243ceb5b798abcdc20f3c85d9532b0f0b0826f1b6352c5adac757fe3224b822455cc529fcdc8a220b0469f321f56bd1853d8a70b893f404cc06317e084173770c7d4c836281ac251353fcee4ac393838a1a102818100ea6010a0017d4073198610d0e761f286e3a1133eeed71b4fd4dfb0d8b52e1e1d8ffc58d9c10396629952eb002369b22bb9c3313c80330c1f3ab7a3fcf8d0fbf5a1c0fb7936ef20d51373b21bea72fcb7f70275ac41d97b566b71f727a32f0006de15e7f9bccfcc3224106f6b1ae62d59380065a48ef7bd015ee6dabae0f9d78902818100d52ed808d74a79b3ab515b4f2fe7b41027472c3785eb25587ae31d3500bf3c6ef20c427e223efa4f2911cd38cfc4479f28ae495fe3e88e94c236c0bc1323d71027aba290669ffbd7e0fbb6f615df1c9e4fe5abb5a90d4d0b6d1dea0ae2b249e6a5102092c998b60dd920d09a2e6ecf2a611793016bc0c92de3b9d92744bc070d02818100cb64f6c884c257ae0b56673d83af62b360d3a64a1527a3d211e0d62e1a7d9d30f6857dedeb2cdbd3514fbe14eea689329d1121a76971e3712e99b3bc9389793edf5304695b1d0697233c62330bb12253dc0ecc63e2f983a9a9b0cb5620ad670e8ea8e019c09b6c8f8ef09c608c85789156a231932f671b251760ac2d45944c5102818100b616befc3e3824dfac535f74b1ec6d46e6e5ca04dae4510fd4572d595a7bfdf89dd28ef101fb5cfe448c2a087e9e9eb6799ef4996d27f4b1677a3101f42f46c14bc134a7b6a0ac1266df5a15b3f4d0930097a22516727ffe64838aa7259f37b44405146d8cb85db8525fcf0e02df2f2079b21324c18ef7c7b49dc7b7dce3e5f902818040fbda2e571060971cc6aea0c1cc82beab4fa0361de43a55bd2b399f25ed89e33c48983f409d9f27292770d5c0ac1b31adf766045e60d67b89957c81c0f3b7706c3e1418926bfecba0242ba54ed95ae1bc73b67ddb1e3f4161380cbbf1db7d3dbef852ebb38063bc2544c9c29f47f416f14eb1ea3cf2bab933d21c2c091293ce]\n[sha = SHA-224]\n\n# tcId = 356\nct = 03aea385d1f1321eeac78684a79ea101f54adae40474a54c8e574e1ae3871634050e5b596461730c345cfc93224deb7a26ae40f30a0497d7c6f0e141e9657b84bf9e20606fa7fe6e1c921d8de5032ad8ecc37b7c3247a56b3992c7c63dfc3fe2f22d7c4904fbddc371f560fef052f3ed89202bcc5f92f5a7fced461f984406554eadb85ab7d2bd7fc576d333b8876f82860c94aabb705e34e5f385cc2d7acfc5463a0135a15ed3c417789e0b8873d5fa0241c9a0d9894f617cf55c11fc45a47b3fcc04fa5b57e9e188addcf259a0f8051f254b6a57c2af22cbd4eb2c411e229045efbb577da4f480989d173a2fa367af721088547a8a219ff2466561eaa877e1\nlabel = \nmsg = \nresult = val", + "id\n\n# tcId = 357\nct = 5d19107e5f9422dd3d9e2207ca637f7347454c338c3191ef2eb5687a49f6570f723aab7ebbd78abba840942e74aea052dc24792c9eef1d72c148733c19776216431f917b81a9a80ff4b1883daba20dc6c368c525a2105550715a374583b56f9030df876d67b229fba732369113585166e41f8b5bb7735afc50970396f47921cb2d6c8bdedd5ff1f0411c804e412c2523da5354a0232a46bf9268402fb952f0ca00d04bfc4504c2ecd9772001b2d77be4731e131f90b46e0d0f51a6f7d787d95f01ce64f78b0c4759db1e4546857658b4bb899cb2e024d15b8bd14d0f2fd02a4001be3b6ab35ac589a83234d8d906750dec3e509332ca081969b26a1dd0ac7614\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 358\nct = 00d7ab45e49e37e0d73d9ec5d477985b51d9e1b7b9eb67a8e0224f49d8a3432c0dd8df02b5dbe8962b8a3d749d71e56c7871c0b4137d98de5b77d5f94bb448e124b57b2af9c24004bb693baf2d9f54fefe770f6f320cbe73c0405276b09b1d0627b3018787a3b27e09aa0b3ce50a79f946fc45746de72a93554b993936d3a41bf90bd9f2913f5580c8c1c1b853271286dacf275280faa981c78dfefcd4dd09b6f09bd5dde3ec11b02eb4538e43fbae835e40f903c81744797f04f5a38409a502f3a7eb9447a342dccd82fb192601d40f57192255f751f102e14fedc7e7aa81c770c6b72dcb853366b7a18fb11b8e3b3ee218e59f2dd74feba1bb6e06a87405d7\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 359\nct = 942fc136ac976cfc686ed13a38314c9c8b570a4afa2b18ae0a3cc39173a1430c1cab8893d530d4bfbf98251035d1fc18d18d905ac86792a1f597c08de11d9e2487dd78900a0bf79239f75e155eb0fc6d151cd7acd4664ac606c396494969422c6a321e12fe747a3b0601afaa43a0d9c08c776a7bacd68ca04b3b5dd9e8c9dee6773cfe652b923ff9d4e82d353113fd7e0264189556b1f28011dabf2fed6beb47498af5a6a8b0b1ac9640e5acb53ebb90bf29b7783a01ad6b4f4595e067711a49f8f1cf00443292251d2c0551f89e4271140b03681e8f4fdfe62e588f565c2e5288b3b14a488f14751b5a493290dd9365a48ea33011ffadbd2b898bec921bb1ba\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 360\nct = 36deb3f715d91d4f2c5a21a028f87b227dafedb7c0e064712dad36c276fc15bea7d0d3671b115323849ecf52e6326e5f2b205033177410eddd8e29fb06a1b93e99ff62ac8f7dbb973345947de615e9a8da910b5c810732985c3020d93e7485c69801b7ed49433ad66a0708f26d51c0fbd1c73cafc4c89f50a20a09369db4d065e9cd7845be623e86f497a0c3e9485701f18006b8130210cf09c69dcab7ec0e3c166fbbc5cc78c89dbd0cdaf7219b03dc580b4b8f7497c1f9f36d1c61e1609be1f67b892871ded426121c5f83e38d39127c7b574157e2f4ca589efe094c3472348bad8ec5b07b4a2f3f68d4176b6f381930ef377c640ae8491b5bc3249a5296fb\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 361\nct = 39f8f5ee290e93d4a36b96aa94a3bb7edb33c0fb6565ca6a99fe2434222be6b6846af4daa933bc6ecb62e963d2e107f51bba8a92ea5a4e6490402102dd378a55c0ee2224e77395e27bf28a216c6f929db2c2c95721d1448160e888aa93251c966858535146a70188d87443416101e530cef68a1781f10368ceb43c287c73cd8c44592c56bd8f2bd501284c3118fa0f0402b42ca7c4ea3a917afe71ea82df1655a39c650ea6adc9d73e789970d9b3bbe3f34d0fc4dc5fd51529cd328a62dee0c30eafbaf7dd51de3c31090833024124741966bc8722a157a8e71ed60bb3ef4704ebfabeba4ef67edfc5a120a0ee3316797e0e6a9ddb4d3bc7dcc9f4c262fe022d\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 362\nct = b798998999f0e4318470e72841a57733c842f174121247fbf3e59e7724bfd9501425234f8616d288f0dc8206c727aba50c13016d4be6f3bb64bed9dc5122b94522b8987a9db93403975302ef6fd585cad02556a735ffc5332d362272a07c1ddde4484639ab767e39881fa1c0077aed9e8ea4f6349f59940953c956f52065fde0a97624d0840fa610a46dcbdd12b8ea3c56c5873e9fb3f58e43ac719d50c75b434b01fd7f65c7eabd5a71f305561088ffd2fa7bb8698d16455a81d233a4dcc4c1f12280bae89741ac47885552d21b37523ffa8901a2256b3f7fd410b6d842a786ce2cd6ab81a7596ce5479eee98aa3836a22ee8307888d9365a962f2746b01430\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 363\n# Longest valid message size\nct = 94ad881563060d9ac62c32f57f9cf08c57ec10bcf77b35a67ce89da68cf8569e2e6891ed966ab988e68a0e6e44b389a57e2ceccf4e7e32d6bb73be98db72bf363d0da8a20d063e9be5d9f4c62e718004132c9cf876ef58b07c122f02691896df3deac296dbf3e1f6841d02572b6e297d2f0c8a54cc4088fc9bbc0f67f9de75dbdf81cd48e2f45b3b9ff2bdd3ac749d4f43866ecea7483e810cd3c332f055cea1525f263c54e5ca3e1e049af11850bc836e6064cda5cf9204e9cba0857b1fcd65654e30b062e980150d541027a212ecda6985f7e93a0f799679a7c36918aa39de158e0fd52c5cdde046fe6e4ee67f20ccdec1c4d328098c09e6b2fe4251586b67\nlabel = \nmsg = 787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 56d0756ceddf7b1e5b258f783b99e036e25675eca054ae9b6ed7552776c69b2728f76e08973556b0a35ddbade9d462ed12bfc46fd254a07ef4ee043ab24d1ef00f8d214cd1d906911e92c4a212d9a981da74b8d18208153d583035d6642b87a23371787867efd02c336eab01486266c853a052490deaea430c6043a6b240b6e9d71e16f29255f2ceeb35d1a4ae25ae0dc9a436fb5dc30381cce982acc824961976df683173a02a540c403f3c8560243ceb5b798abcdc20f3c85d9532b0f0b0826f1b6352c5adac757fe3224b822455cc529fcdc8a220b0469f321f56bd1853d8a70b893f404cc06317e084173770c7d4c836281ac251353fcee4ac393838a1a1]\n[e = 010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00c32cd0e1441fde8a2896ca3a133735be2d1010777cfc739afc77b6daa66f367d4876dccb3021fc22c25450a68d6cfb1191d485cbfba5ec45b49286d7cae2bdae553f47e10b94f867abcc6d0affc733bacc725e5ab4de1aba19a39d748b4c1355d5a6a710a52bd04c0c24e7bc3bdab8f3ce3ae86ecb31c4b45e10b40ddb5fdd40cb2411bcf5b1d392e1eef959cff2709a6e02b20ff3b4343641a6b78599586edc9b673d9f3f5e9d339ceebf96a1a31655876c39fcb00b1c3e571908c9b744765047abb5c23ecc42e551e13755e38cc9a13e1e02bcd5dcec9c301fab75be3e1a8ee9c42981607aba7855f4bbe76c8c160e80468b54bdf9f438b177c33dee30b0f5]\n[privateKeyPkcs8 = 308204be020100300d06092a864886f70d0101010500048204a8308204a40201000282010100c32cd0e1441fde8a2896ca3a133735be2d1010777cfc739afc77b6daa66f367d4876dccb3021fc22c25450a68d6cfb1191d485cbfba5ec45b49286d7cae2bdae553f47e10b94f867abcc6d0affc733bacc725e5ab4de1aba19a39d748b4c1355d5a6a710a52bd04c0c24e7bc3bdab8f3ce3ae86ecb31c4b45e10b40ddb5fdd40cb2411bcf5b1d392e1eef959cff2709a6e02b20ff3b4343641a6b78599586edc9b673d9f3f5e9d339ceebf96a1a31655876c39fcb00b1c3e571908c9b744765047abb5c23ecc42e551e13755e38cc9a13e1e02bcd5dcec9c301fab75be3e1a8ee9c42981607aba7855f4bbe76c8c160e80468b54bdf9f438b177c33dee30b0f502030100010282010056d0756ceddf7b1e5b258f783b99e036e25675eca054ae9b6ed7552776c69b2728f76e08973556b0a35ddbade9d462ed12bfc46fd254a07ef4ee043ab24d1ef00f8d214cd1d906911e92c4a212d9a981da74b8d18208153d583035d6642b87a23371787867efd02c336eab01486266c853a052490deaea430c6043a6b240b6e9d71e16f29255f2ceeb35d1a4ae25ae0dc9a436fb5dc30381cce982acc824961976df683173a02a540c403f3c8560243ceb5b798abcdc20f3c85d9532b0f0b0826f1b6352c5adac757fe3224b822455cc529fcdc8a220b0469f321f56bd1853d8a70b893f404cc06317e084173770c7d4c836281ac251353fcee4ac393838a1a102818100ea6010a0017d4073198610d0e761f286e3a1133eeed71b4fd4dfb0d8b52e1e1d8ffc58d9c10396629952eb002369b22bb9c3313c80330c1f3ab7a3fcf8d0fbf5a1c0fb7936ef20d51373b21bea72fcb7f70275ac41d97b566b71f727a32f0006de15e7f9bccfcc3224106f6b1ae62d59380065a48ef7bd015ee6dabae0f9d78902818100d52ed808d74a79b3ab515b4f2fe7b41027472c3785eb25587ae31d3500bf3c6ef20c427e223efa4f2911cd38cfc4479f28ae495fe3e88e94c236c0bc1323d71027aba290669ffbd7e0fbb6f615df1c9e4fe5abb5a90d4d0b6d1dea0ae2b249e6a5102092c998b60dd920d09a2e6ecf2a611793016bc0c92de3b9d92744bc070d02818100cb64f6c884c257ae0b56673d83af62b360d3a64a1527a3d211e0d62e1a7d9d30f6857dedeb2cdbd3514fbe14eea689329d1121a76971e3712e99b3bc9389793edf5304695b1d0697233c62330bb12253dc0ecc63e2f983a9a9b0cb5620ad670e8ea8e019c09b6c8f8ef09c608c85789156a231932f671b251760ac2d45944c5102818100b616befc3e3824dfac535f74b1ec6d46e6e5ca04dae4510fd4572d595a7bfdf89dd28ef101fb5cfe448c2a087e9e9eb6799ef4996d27f4b1677a3101f42f46c14bc134a7b6a0ac1266df5a15b3f4d0930097a22516727ffe64838aa7259f37b44405146d8cb85db8525fcf0e02df2f2079b21324c18ef7c7b49dc7b7dce3e5f902818040fbda2e571060971cc6aea0c1cc82beab4fa0361de43a55bd2b399f25ed89e33c48983f409d9f27292770d5c0ac1b31adf766045e60d67b89957c81c0f3b7706c3e1418926bfecba0242ba54ed95ae1bc73b67ddb1e3f4161380cbbf1db7d3dbef852ebb38063bc2544c9c29f47f416f14eb1ea3cf2bab933d21c2c091293ce]\n[sha = SHA-224]\n\n# tcId = 364\nct = 5b467ce0a97ef94c7956b5f2ce08f88acabc4e9d6e7b83e6521e73c03abe9fda31c4c2c61ea1dcf5a4bea5f6", + "8cd1c17198c9c9f22cf9bcb6797629b9db4d96341503d7bc1286c0c47faca078594ab01530f88dae2fae71e5601c8a79040c81afda8f60fc1853df885885d8d2cc6bcb905f105f448d984e4a2374e78e4c357ef5674fe9917e30196d33fd97c4d67cb98c2a0c3f30c410453679ae748fb922a91da74359ad8dd9b00865517e7f225a8c999bf7c93bfa83bd687404425321e73f9e1fb97c11562f0622b217b09ac3542e0ac650a451011431a870c2ad77b9be4c72068e25dcaed1f2f9cf9a2a8336b407711c3fe16f2bc2c12e5454275ef783c732\nlabel = \nmsg = \nresult = valid\n\n# tcId = 365\nct = 9dd1ed2ae7257d576d793a110e0b39d85fe2b312ede286f0c1bec4fd975f10f9f51d9cb1b467de234697c428094a87879434f21f91e39fbd2e1d4b877313af6d9c92f4a7a16ba148fc5bd48c5405e27a9bfd6f2832f0f40fdb32ed3067fe2952060e5726a9a97d55e055b623cc42ed6a4db870f246ece6e89ce346060a4a5cca214a35e868231528c0c184a167f1d7c331cb0c1af95d6abd6dda250262aa54f2f6016d12d3b530dfe09d31eb182ea3718d8241bfa3e60137db838043ef4cce8ba28fd32b94198501d8d3d81dc9cf7eb5163c41753abee2ccbcbd368b8383b39bfe0739fe84f3e2b32612d01b324e4408b727318356ee38c200d5148b6e246bd3\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 366\nct = a042226c1eac49482797ac7065940a268bc9d7b71a84ec7ab43f2fec5af2e39521780c7410cfd7538acb5d17d213d4e9ee1ae14e44db6e2249f97ef1ee97983e2bab3d2ea4775c4c8cb79f252cc7875dfca5214835dacb1bab7da6bc7781c15b56546f9273f79025fb8cfd90e632da174311aaad6cc5affbee024ff1099395f5cd9f314ec3cfecf089c6703296caa433d6c3c5779645ccd5c2702dd916aa74963c1c11d30af3348ffcd6ab28ea6b8076a8a82df890186c1821c1aa18766d8024885083b1ac5ade07aaa0bc7c5d38acd6fe392f70378e2a64403c39fd4dff70af9ea96b25d2dcd4ea4f9334cc24a888d1cda58af7eb85bf04752c379491c9d8be\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 367\nct = 54a3149fd9a580492b16ab91406c69164f8091ce0f5f57e9c2c798fb1cd985cea1cb7c3d39e2ed35fd5443140b7f2868e3090cb90a4e1f4f9efb8eafbe93e6ba65e2670778f0e82c403921d29d55f3ba5a965ed2bb623f6bd39078b859948a7f0dd929210c192ef7fd28d9ce9d04ac56f785ecdf5b7c98cc2735f0af1474125fefc2c063893868eaffc6bc61c80551093926f2b79c3d207ce310c3cd11063a274760e17ffedb5cfa640080a7c233ba38b95c3976a0a284ec904eb3ac75fd2156763a3968d01aa22886b3eef912e3a0fed03e2652eb18ecf0824e2879d70a586d92ccab823d16fe430fe5b5a4115f079b591c33d31970fa8081972d3f1c6fdbd5\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 368\nct = bb49b660fb692e67ef888b55dc4944726ff955229f20593757eb616a796035bc3ee9d461d37dd6c5a5cb34303eb739b938dd53454675f872db127ca7cc6b77c6ec7188a436c09310004777409a7e680b8631cb420f7e69f04bd8fc3d1f735754a297a05b58ee52188b8fd00c7f1059932b8fbdc5db8321db0599dbae89f62d7a05015ccaff40a0505baaf4bf96a62e0f3656e84fe1b5e14117755d3c2d4395b9039fec8db8d02afc90cc4589d232f501c184753b6c1c9d687a77e6a40acbbdd97be6b43deb327c4a75f3e09b638df85eeb73cf8e6234122f04814c412407003d703d8192e02016d33638765f5aaf83699287095b47eba7d48db65541e4d8f6da\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 369\nct = 9f0a968b8aed115482ee51eb63b25ff07c3294eb3f8faea6af968408f4bb7fec7b456e2459626d5b8bf10ca8e953b0606627607ac227155b7accfa1ec90bd94ed216b7a7bc8ffcdec6f4ad0441dd24f1227a2f2a61e0645fa9a4d325f5861479a51af341bcfa8f699c64c02b5d2979cf7fa6ff2316aa3546e31bf0e17b0974252019c61783594adad3f8ba9b81780e17a646528e111994aac91fb056a57c19fedb948bcf1270573ab35cf903e1ec1ac33ce8359c3dc4210467a1620b1d3928782ad079ba9bb1f2040e157c7e5963594a7bc855b9a476adcaaa3be95f28ec49c934bd2a2440e6110ded6f02ed569206cc986a40f60ea4a97b30f5dfe8f38a6e30\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 370\nct = 3a2f3740f3df888485a993c169874d624097050697b21f5d3b6d19bcd373a6005f633931446147e8a4ee53fe11c305d397670019cc03fe83eb15431de666c1b7164184c33ce2508bb0c0e0c79639e6be07b7f5435d37e5f1279bf033ace5fa259c83b19a62f8f9df45cf0fa8a2b1b0b3725926c40a7fb2463da7e80e4dddfb260b3129d4dcd8f05e728f5cb6cd484b2328b8d8c5e421c9a7227daaa09cd0e7425886a9912a38d5e6cb716f0d148e17ea1ffe520a94d8b6235b5c82579734c642717cdac41d65aabea49e05cbf41ad2554ffd97fdf73d14d783e80f08eadf7fd522961ab00d89fd964b6f72039a5f1c76cf029f2177a80bec3cc89475ea3c9010\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 371\n# Longest valid message size\nct = c2edf03b946ce57141fafbc89189daa734d0f388c211a322ad4ad9423ba5f31699abe68d5c03c0ccd56b1a39abd3145f4c0d59955e6cb502d6720c1af31ec511fed541e1a66761a20422f5490d3dadd815390a01da616ce4d7934c68e7b1c53d947803268d81d26429df505c22578f55ae0788cc619567f02237368258d2f591b51d61f088d972c40e4fbd4f50f72a674d25a1cff3b49edc9019ac9945cf2b828d4345398b3aefb63c9f0497ace4b7f9cf6c087efc93802e1c19326585788df3aeef36300f78f7ad016cd4ba6c55eb49d36e0d49f97e1bb8ae12e9d9ba66d18aa76812008eff83e0d7d45212ee972957c355307823fb692bb2041e6acc81902d\nlabel = \nmsg = 787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 56d0756ceddf7b1e5b258f783b99e036e25675eca054ae9b6ed7552776c69b2728f76e08973556b0a35ddbade9d462ed12bfc46fd254a07ef4ee043ab24d1ef00f8d214cd1d906911e92c4a212d9a981da74b8d18208153d583035d6642b87a23371787867efd02c336eab01486266c853a052490deaea430c6043a6b240b6e9d71e16f29255f2ceeb35d1a4ae25ae0dc9a436fb5dc30381cce982acc824961976df683173a02a540c403f3c8560243ceb5b798abcdc20f3c85d9532b0f0b0826f1b6352c5adac757fe3224b822455cc529fcdc8a220b0469f321f56bd1853d8a70b893f404cc06317e084173770c7d4c836281ac251353fcee4ac393838a1a1]\n[e = 010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00c32cd0e1441fde8a2896ca3a133735be2d1010777cfc739afc77b6daa66f367d4876dccb3021fc22c25450a68d6cfb1191d485cbfba5ec45b49286d7cae2bdae553f47e10b94f867abcc6d0affc733bacc725e5ab4de1aba19a39d748b4c1355d5a6a710a52bd04c0c24e7bc3bdab8f3ce3ae86ecb31c4b45e10b40ddb5fdd40cb2411bcf5b1d392e1eef959cff2709a6e02b20ff3b4343641a6b78599586edc9b673d9f3f5e9d339ceebf96a1a31655876c39fcb00b1c3e571908c9b744765047abb5c23ecc42e551e13755e38cc9a13e1e02bcd5dcec9c301fab75be3e1a8ee9c42981607aba7855f4bbe76c8c160e80468b54bdf9f438b177c33dee30b0f5]\n[privateKeyPkcs8 = 308204be020100300d06092a864886f70d0101010500048204a8308204a40201000282010100c32cd0e1441fde8a2896ca3a133735be2d1010777cfc739afc77b6daa66f367d4876dccb3021fc22c25450a68d6cfb1191d485cbfba5ec45b49286d7cae2bdae553f47e10b94f867abcc6d0affc733bacc725e5ab4de1aba19a39d748b4c1355d5a6a710a52bd04c0c24e7bc3bdab8f3ce3ae86ecb31c4b45e10b40ddb5fdd40cb2411bcf5b1d392e1eef959cff2709a6e02b20ff3b4343641a6b78599586edc9b673d9f3f5e9d339ceebf96a1a31655876c39fcb00b1c3e571908c9b744765047abb5c23ecc42e551e13755e38cc9a13e1e02bcd5dcec9c301fab75be3e1a8ee9c42981607aba7855f4bbe76c8c160e80468b54bdf9f438b177c33dee30b0f502030100010282010056d0756ceddf7b1e5b258f783b99e036e25675eca054ae9b6ed7552776c69b2728f76e08973556b0a35ddbade9d462ed12bfc46fd254a07ef4ee043ab24d1ef00f8d214cd1d906911e92c4a212d9a981da74b8d18208153d583035d6642b87a23371787867efd02c336eab01486266c853a052490deaea430c6043a6b240b6e9d71e16f29255f2ceeb35d1a4ae25ae0dc9a436fb5dc30381cce982acc824961976df683173a02a540c403f3c8560243ceb5b798abcdc20f3c85d9532b0f0b0826f1b6352c5adac757fe3224b822455cc529fcdc8a220b0469f321f56bd1853d8a70b893f404cc06317e084173770c7d4c836281ac251353fcee4ac393838a1a102818100ea6010a0017d4073198610d0e761f286e3a1133eeed71b4fd4dfb0d8b52e1e1d8ffc58d9c10396629952eb002369b22bb9c3313c80330c1f3ab7a3fcf8d0fbf5a1c0fb7936ef20d51373b21bea72fcb7f70275ac41d97b566b71f727a32f0006de15e7f9bccfcc3224106f6b1ae62d59380065a48ef7bd015ee6dabae0f9d78902818100d52ed808d74a79b3ab515b4f2fe7b41027472c3785eb25587ae31d3500bf3c6ef20c427e223efa4f2911cd38cfc4479f28ae495fe3e88e94c236c0bc1323d71027aba290669ffbd7e0fbb6f615df1c9e4fe5abb5a90d4d0b6d1dea0ae2b249e6a5102092c998b60dd920d09a2e6ecf2a611793016bc0c92de3b9d92744bc070d02818100cb64f6c884c257ae0b56673d83af62b360d3a64a1527a3d211e0d62e1a7d9d30f6857dedeb2cdbd3514fbe14eea689329d1121a76971e3712e99b3bc9389793edf5304695b1d0697233c62330bb12253dc0ecc63e2f983a9a9b0cb5620ad670e8ea8e019c09b6c8f8ef09c608c85789156a231932f671b251760ac2d45944c5102818100b616befc3e3824dfac535f74b1ec6d46e6e5ca04dae4510fd4572d595a7bfdf89dd28ef101fb5cfe448c2a087e9e9eb6799ef4996d27f4b1677a3101f42f46c14bc134a7b6a0ac1266df5a15b3f4d0930097a22516727ffe64838aa7259f37", + "b44405146d8cb85db8525fcf0e02df2f2079b21324c18ef7c7b49dc7b7dce3e5f902818040fbda2e571060971cc6aea0c1cc82beab4fa0361de43a55bd2b399f25ed89e33c48983f409d9f27292770d5c0ac1b31adf766045e60d67b89957c81c0f3b7706c3e1418926bfecba0242ba54ed95ae1bc73b67ddb1e3f4161380cbbf1db7d3dbef852ebb38063bc2544c9c29f47f416f14eb1ea3cf2bab933d21c2c091293ce]\n[sha = SHA-224]\n\n# tcId = 372\nct = 848c6b4ef493bc6f12f15a26ffcb6413fa71696c43d497cbd8b5ade17c8d57fba987dbc8fae51d770c84458d02716afdd4399869a329d71fafe00d9e5e184ce4b0fd867d2c07719464f528646043e2d37903a5a57c7e621231f43ba8f65f7b16e3ea97bc8d611b289ed3cc2f730dbfc84f6ade867c3712d27e6c671b83352262d489b00768d92372708040e10976b4c6bb040482d91281067254430937501fc42caf2a207d6c31cbb224b6a8872d3380084c61feead3234ae8cf31ae9658a4dd6150975a891922e478d192857e085ef332ebedf525adb2f61aa9959513d5464c35c793ed6fc36ca8110a84346ffae9c4d48200d573ad1f2d01b20ad5ddeed417\nlabel = \nmsg = \nresult = valid\n\n# tcId = 373\nct = 8496e09bbe91dcb8ec2b8fb0bf090c822e3be9bb19d321da367e281a42b5149807b154d8cfec0ed628e874c32272242ca45bc62a7529b76b348d202da68034e9b69329a8dd99d01a81e02ea48d5b93cf906224219cdf788dc17f3c87dba7a6b927ff918ede6c506e7c15852323e8eef8311fca3375b90fcb63d156f8cadb14af4b50ced0df183c1e637985fb5a7b05aac8a32d5aa11775a7f59c6e7df4f581bc5c95ec04ff794dc70948e79bc819ddc4b36e61d4789a961fa9d158870a79d0bb44bfd58b304f87d93d0f1f181c27f07c23880b931e79386023f7a70f439226b9b2be8539127a2b64cc79da35d98914340340db2e51ef936c5ac5a36f9ffc3a6d\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 374\nct = 0f36e01e9bad3f16ab4989a6fb8cab0af1431a4f309fae56c4a23d2dcc1de47ba0a96ed1260745a805b20ba09247826ea6b9b4ed5016a78c805b1f5903d3fd50c50f9ce6138397b7109e1df7d841eb373a7028784b18b1a12d1ab414e26afe00e88468515d36ad20c247c4560ab7a7593f9710e1a19ef99f95d5177f9767c433ab5c34aa15f87ccba115001954250a50c72b4b28a3d6b52ae31b9b7f852f1bb5fd9b0a9e95ed83ea7c8c11a6d9fd340ddb747e613a182c2e6e8391cb6241e6784868dcf48c69c7e04ca62b738714265802615603cbd993e291254f573065d2c7d61f8a0d8b1e50003709fcbcac99ea9b4634654d03062b1bcf15e5318c1fa1ec\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 375\nct = 1396454c4a4c7d67b0707e92e3303d182396ee4a5a5ddfda22b39e95dc17965c2e4e16783c5574fa947314df4da8fe339417dd687cb596f0c0c6d61ca8b2e813269312c5401717be0c1b4996bf94b66d60ee2da13f94706556a323022f26d9c0f790104f34a96f178b18e7ce14bc731750851efc9249932500911b4af4a9356ac9dd510e1a158e013e2ead6eef913b645e36f636803f5485ee4364b8236ca4a2d159823097d4b42a96948e7f55ee5fdc733fd57c0484c49ac2f6a5339344ff80e32a5d95c64bf5c22dfc4d6bcb76cf23f200d02848168c8fab4f7fe90b4b8a906b50a89a28c51ee3fb4c46f0f3c582e4a0f47d1da822b44de1f034c7dfab69b9\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 376\nct = 1736584bd45e7e0b5a17ae668ea6c58fad6676f897549453b1a04d14209a2e910e86447ce72697fe029459adfa2daf4d767d7d7b9023d70ade2b92acc95eccfdf7cd354c3fab5f52130844311238a4803f56dd7fa799eab11a3122e66f8f8cac30c6ee3e3c687a2fee31711e4a8befbd1cfe3a945ee38e6de5b08b38181b52ea44c9789a4b3e645da23e67fdf9c2b855140311abb8c92b91895d17f1b96c82cb486e558e64c9f55b1df69ee9f2200f31c0e5f0c2765251a4193102f746ead8ab2e1f90be9bee48d857d0221cf9ea0dc46ce470d74b9042525e4cf879433839cb928919b09bc2ac331b0f07abfb168392fbd6de473553d6e7d121b72ea40938e9\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 377\nct = 9c01ced38c4bd5a1b6912869b8a903de9a025714b190cd5faa4966953399daaca07bef92d3110a7c3ffa333daf4cf6829a8e13253a025df8de9d4d0298ca6a9159fa8453e0b4da023cc5363515bd7e001b547952cee4364023886f24ac948a26bca19fc3ded54ff9c39a7bbd7527fe30b721c0a082a72373ecb2fb9a744a86264188189f2ef26906d26f3244b56629f6c315af03ef7a65e0106384de6d2e82b5ee826466ab96799a605824adf790ef9c6f2607fe6ec4b9c876db0913ac32224aad7702fcdf459c4139d4602024d56e4d647c096a5651d5fe18cb31980033d1d2e2d4ed7f33764f0642a8101275c8d754668fff25e447c5f2dfd103e97bbe71a9\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 378\nct = b3802e5f271ffe88d8bb023bb3ccfef28d371bdecd147cb38febb505f61c7f71ddcce2f2d6ca754438ad74dc1911fd57a4e99ca18bf9e58101eca2f2ef7d9d04649638917cf12d867bdbd0e392bc81cf2e8c083f5ed77d52217a3f1f9a2b2fcb507de6614f63c2c897535009ee8dcd81378ed12f1172463cdf660deab67e10fe97d03aa4091643f66b7c47f84a3132f0f27b4cb88594476b0530d686efbf5c45cb027e621ef63114f568b975e5a904a35dafe31f69520808b3a73c87a5da708608b87b8c0c8fc10e96c71210612917923608e1649cf0d575b3667c6a45edf3c02aad136bf94ecee334218e054977aae6473bdfde6dd5b3442a8f145681700f51\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 379\n# Longest valid message size\nct = 06f29ba2ac3e9e06358b3af5fd24bdbbcde4e4a6b74334581aa1f22839caa4ca1105a3f0cbc6d8a2dbaa07a44fc6fa1900bad29417733fce56dde82c083e0a1fc92c4b4895776bf8425a4ce8e28d008b3ec8f146542c47dcf658639b5bfec7b445a2cb62e7b3e79f5d998eff68b1c22c69ba838295ea97b514f7a719f74e3eaa3804455bdcde0f203162aa6a793155e5a0fbb8e14b61aa1a52aaf2c5a8601df6c8b1aaf8b4ce8bcb3aa3f44f767b1a6081b93b03d04adf7a18257281c07239dbd4ac73950bb8d840b8e233746d8c95b72a4c26595234b76f97cf65f69e869ca1a2ceb7d8aa51a7e3e26ef9cbe2ab36832324eb2853fa2bac9499cff825ad7a4d\nlabel = \nmsg = 787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 56d0756ceddf7b1e5b258f783b99e036e25675eca054ae9b6ed7552776c69b2728f76e08973556b0a35ddbade9d462ed12bfc46fd254a07ef4ee043ab24d1ef00f8d214cd1d906911e92c4a212d9a981da74b8d18208153d583035d6642b87a23371787867efd02c336eab01486266c853a052490deaea430c6043a6b240b6e9d71e16f29255f2ceeb35d1a4ae25ae0dc9a436fb5dc30381cce982acc824961976df683173a02a540c403f3c8560243ceb5b798abcdc20f3c85d9532b0f0b0826f1b6352c5adac757fe3224b822455cc529fcdc8a220b0469f321f56bd1853d8a70b893f404cc06317e084173770c7d4c836281ac251353fcee4ac393838a1a1]\n[e = 010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00c32cd0e1441fde8a2896ca3a133735be2d1010777cfc739afc77b6daa66f367d4876dccb3021fc22c25450a68d6cfb1191d485cbfba5ec45b49286d7cae2bdae553f47e10b94f867abcc6d0affc733bacc725e5ab4de1aba19a39d748b4c1355d5a6a710a52bd04c0c24e7bc3bdab8f3ce3ae86ecb31c4b45e10b40ddb5fdd40cb2411bcf5b1d392e1eef959cff2709a6e02b20ff3b4343641a6b78599586edc9b673d9f3f5e9d339ceebf96a1a31655876c39fcb00b1c3e571908c9b744765047abb5c23ecc42e551e13755e38cc9a13e1e02bcd5dcec9c301fab75be3e1a8ee9c42981607aba7855f4bbe76c8c160e80468b54bdf9f438b177c33dee30b0f5]\n[privateKeyPkcs8 = 308204be020100300d06092a864886f70d0101010500048204a8308204a40201000282010100c32cd0e1441fde8a2896ca3a133735be2d1010777cfc739afc77b6daa66f367d4876dccb3021fc22c25450a68d6cfb1191d485cbfba5ec45b49286d7cae2bdae553f47e10b94f867abcc6d0affc733bacc725e5ab4de1aba19a39d748b4c1355d5a6a710a52bd04c0c24e7bc3bdab8f3ce3ae86ecb31c4b45e10b40ddb5fdd40cb2411bcf5b1d392e1eef959cff2709a6e02b20ff3b4343641a6b78599586edc9b673d9f3f5e9d339ceebf96a1a31655876c39fcb00b1c3e571908c9b744765047abb5c23ecc42e551e13755e38cc9a13e1e02bcd5dcec9c301fab75be3e1a8ee9c42981607aba7855f4bbe76c8c160e80468b54bdf9f438b177c33dee30b0f502030100010282010056d0756ceddf7b1e5b258f783b99e036e25675eca054ae9b6ed7552776c69b2728f76e08973556b0a35ddbade9d462ed12bfc46fd254a07ef4ee043ab24d1ef00f8d214cd1d906911e92c4a212d9a981da74b8d18208153d583035d6642b87a23371787867efd02c336eab01486266c853a052490deaea430c6043a6b240b6e9d71e16f29255f2ceeb35d1a4ae25ae0dc9a436fb5dc30381cce982acc824961976df683173a02a540c403f3c8560243ceb5b798abcdc20f3c85d9532b0f0b0826f1b6352c5adac757fe3224b822455cc529fcdc8a220b0469f321f56bd1853d8a70b893f404cc06317e084173770c7d4c836281ac251353fcee4ac393838a1a102818100ea6010a0017d4073198610d0e761f286e3a1133eeed71b4fd4dfb0d8b52e1e1d8ffc58d9c10396629952eb002369b22bb9c3313c80330c1f3ab7a3fcf8d0fbf5a1c0fb7936ef20d51373b21bea72fcb7f70275ac41d97b566b71f727a32f0006de15e7f9bccfcc3224106f6b1ae62d59380065a48ef7bd015ee6dabae0f9d78902818100d52ed808d74a79b3ab515b4f2fe7b41027472c3785eb25587ae31d3500bf3c6ef20c427e223efa4f2911cd38cfc4479f28ae495fe3e88e94c236c0bc1323d71027aba290669ffbd7e0fbb6f615df1c9e4fe5abb5a90d4d0b6d1dea0ae2b249e6a5102092c998b60dd920d09a2e6ecf2a611793016bc0c92de3b9d92744bc070d02818100c", + "b64f6c884c257ae0b56673d83af62b360d3a64a1527a3d211e0d62e1a7d9d30f6857dedeb2cdbd3514fbe14eea689329d1121a76971e3712e99b3bc9389793edf5304695b1d0697233c62330bb12253dc0ecc63e2f983a9a9b0cb5620ad670e8ea8e019c09b6c8f8ef09c608c85789156a231932f671b251760ac2d45944c5102818100b616befc3e3824dfac535f74b1ec6d46e6e5ca04dae4510fd4572d595a7bfdf89dd28ef101fb5cfe448c2a087e9e9eb6799ef4996d27f4b1677a3101f42f46c14bc134a7b6a0ac1266df5a15b3f4d0930097a22516727ffe64838aa7259f37b44405146d8cb85db8525fcf0e02df2f2079b21324c18ef7c7b49dc7b7dce3e5f902818040fbda2e571060971cc6aea0c1cc82beab4fa0361de43a55bd2b399f25ed89e33c48983f409d9f27292770d5c0ac1b31adf766045e60d67b89957c81c0f3b7706c3e1418926bfecba0242ba54ed95ae1bc73b67ddb1e3f4161380cbbf1db7d3dbef852ebb38063bc2544c9c29f47f416f14eb1ea3cf2bab933d21c2c091293ce]\n[sha = SHA-224]\n\n# tcId = 380\nct = bdf6d93ae14b25d1edcf876cdcd4b54d1453013c8bf55ff8fda4413304bcb776ccb97b8f43758f3fc605ddbef3d2174c90b011bb13d623e1bf56cf1c22bd4a689d4653f894be08e3de46f01bca10fff99437c0b5da4b84e1b706f7a75f6ba6da86423ff4fb8e893e8795e9a37f4916642f66fc146fee91cddd0344336ed49c311a14b39e59b5cc88d48c6a57009969e70c3eb98fc3a81cf203f8f55b4ffd329faaa423e402cc9df1a81bd929a2a2ffe8a4c98c8f6b4411e4daf2e3f71379a32cb37afa1ffc816e5a00e4b66ebb597e91dbfb96acbbf234fd0e2a0cfbbc4a5bab2844ffbbedd455e259fee2232b990ba306fbf5bf0fc6fc557647bf128b0ae461\nlabel = \nmsg = \nresult = valid\n\n# tcId = 381\nct = 5f93ae3cb54d7200a9cef08527d77c6c25ee63be921f9d883c118035f780dabeaf9871ebf7eef7f7a26223c626f8d4d5f911538a86eef3d539dcf000f0a2f06f64bdf0caaeaab97206fe0c691eca0fd9cfbeb70744ba850f38384ef68c0242667cf72f58d2ecd8acca83e64601d317e08ef49b438853867696ad73d8b064d0cdf4e63d1b58538c2985aa61c2bd2d52e5dc830bac029896c2503a8b664c995158fe510f884d391a98a2d5cae1914c9b2e0731a6d501513f7643a574e881db8e5fa2129c7687d9c0afb673c12d71d35428d001ebda2c7a1b89cc98a9a44918622293d5f74f881b0c40e92d4d545b267abce53b8219cd601c597c45acecf148de6b\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 382\nct = 2e583275254e2ee262c0a397d2a5899ec793d00862adbaa6fea5d990201188c3f163cf429409aff9f8ea5dd43314a79acc1fd11df1fba7ab1b2691f35f227a2ed9ed33466ac773412672959330872d71018a099c03874e9e4ac2a186fd565038e966150f3a245c8c24ff75de82fabc28ac44d7d149114af20a72ef5f8c8c0f36cc4d770baea5f5f6255085053dc2793babb406117f08cfb6c3bb5c1148f6a3a3f4c183f5696908e08bb4dfa98b4aeda8571391facc72cc99799f321ac8320a3bee94db36550b21cf6e548a0d84d8c28d467bea5c65875b9ceaf1262a7d5779473100ec66680e32f1559c7e5a245c6c4ea2cbbafedf899334455605a5e42bc28d\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 383\nct = a57f88574ba5236bb980b675fb26e20d1fda79ef7cb96e7354675ea717a5d4e6a28a947d8eef0fe97d50b0dc512d19311ccd3e63a5b8fa7443bbcfe53f24c5a9c5e5f498f1338f5847779a07d47b707800e74211f66257e0f49fbfdef4fcfb51da4d8299e057b8f6f4612fc1159d4cab6598d877105be6ca93bd8714875e587de9488b3de7acaacc7b95980a196aa59a8ee7e295f0cafdabd4f12f9c644c1f18e093661ed101dbddfc692c9b84a7c70b3103aa92c8464f0ae5b1af16c0f6a614bfbaa5fbc757b7aeabc9b928cde896474dc804ec1bfdf4e2c4a81002a3a1055f6cb1621e64ebdd92b91108994b427157c7ab8e9cc3b81b3bfb60306134fab007\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 384\nct = 46518ccc7ae0bd6bb28e9d47762dfdc3f596048dc3aa83874c532a222dd403a1e4429e0312275313c1d3f4638bf84d6f8247f54312de491d5c16c37aaedf378f93386498cd3c9a34268c056b1cba7aab05a7c2111ea3cb7dc33ec92022d17f62a6cf44d7f786906a1d97a1deb91f25287a294953ee7636e557b1fd457c321be2433590d3889327b4465b29d0959d69113f46a2eb98a2daf14af4d5b1abd075aeaad65d1b7ecec1783920da386f84521c2abf0ba710937dd88035f9eb58d77152d7865073d59a8b9b7206be345d1cb08ac844f315906573a3e261df0efca90bfb74157fb4b3c6b7e0b221fc9707dba1137962e2f69d19a6372ea53fb69632744c\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 385\nct = 6f8dd994aa62e028b89012c5577ff00e7dc1067dc7c2d7527037105828b545f353b43a2868f47219ddac5c1578ff64d5241087a949cdbe017cb8531ef0be22900fc59ae1ae972c61d0a52477a80f695e99a8e60774e1e53bb8651e914798bf42c03e8fb1dd86c1453506e717fd0a557f63918ab89a50e5b934e8ad249f694dc23ec048180510580a8173b87568c6aae2fb33d840edf7794c9187f33f20b3d1c625978f4f682055f89cdd35605413f9967ec99e5f8dc89fa27f9bc31d9f7243f08a00125849ac04d4c517f7c70329e7bb2033bc0a93f635c07c400bfe6cc19d57d025b88319ff063e1c880627ebf2f74c52477f4fdc67ad941161a28cb9f9e2ee\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 386\nct = 8f7f0c2c06ffd1e7a6cb2004d36fc0253dae2eaa83e257af9949d0dd7763e979b30143a485475cb79534d4d57f58f37a1a8229839eda06c43aa6cb44edab9ee7c8b6e90425d0a91e15b8d17fe9309c851ca058fb7f36ddf8888401963dd5f9ca85dcc39dada083e52e1ba28f3cc4d72f0556ce67800b76bef3173dc35646b0abae5f4e2e16d70fb9f9c0295de0c9c61529a3bd5ca9ee3427fb9a6d0a052f457277d3d4fe8fde6d2edac5bcd108f158cfceed5c1e4a3670aec44a9585787b42a46a990066147390bfd361b5ff87755c6d9dd3ab0d84043c307df488d9001fc3813f93b478f2289a649588e70468d36865405e5fe2e31ccafd5da08fc5f660df39\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 387\n# Longest valid message size\nct = 2df50931485bfa134d92aab9047d5078ed0e0a6418a3f5147894c7ef154a2c49a37de811236bcb43f1182bf4ab8b0503063ff3ba025481a94d7620d378610500522f9e1a0bd6e6eef496c1bf3a278540fa31f5102ff837d3dea1dab29c7249c6135c9659ab9eb77bcbd932b7f748118600ec1ace42dd9dd53200e7538cfd4ed826eb0f3598a3ee2d37dfb3459abd08c4e62aed68824ec5189283fa04ddd10127c4a63ed411bc5c947a1d9e4c9bb16ff93a1239a7cefb522032153751182f2377b82c7583676216dd459a8e08b4e0a537c6bbf9f6e93a6b5c5cd56b5454d667f1327c19521510b70848ffec7a89d13cb54ca5a5c23ca01ac96ca89bace5910f04\nlabel = \nmsg = 787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 56d0756ceddf7b1e5b258f783b99e036e25675eca054ae9b6ed7552776c69b2728f76e08973556b0a35ddbade9d462ed12bfc46fd254a07ef4ee043ab24d1ef00f8d214cd1d906911e92c4a212d9a981da74b8d18208153d583035d6642b87a23371787867efd02c336eab01486266c853a052490deaea430c6043a6b240b6e9d71e16f29255f2ceeb35d1a4ae25ae0dc9a436fb5dc30381cce982acc824961976df683173a02a540c403f3c8560243ceb5b798abcdc20f3c85d9532b0f0b0826f1b6352c5adac757fe3224b822455cc529fcdc8a220b0469f321f56bd1853d8a70b893f404cc06317e084173770c7d4c836281ac251353fcee4ac393838a1a1]\n[e = 010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00c32cd0e1441fde8a2896ca3a133735be2d1010777cfc739afc77b6daa66f367d4876dccb3021fc22c25450a68d6cfb1191d485cbfba5ec45b49286d7cae2bdae553f47e10b94f867abcc6d0affc733bacc725e5ab4de1aba19a39d748b4c1355d5a6a710a52bd04c0c24e7bc3bdab8f3ce3ae86ecb31c4b45e10b40ddb5fdd40cb2411bcf5b1d392e1eef959cff2709a6e02b20ff3b4343641a6b78599586edc9b673d9f3f5e9d339ceebf96a1a31655876c39fcb00b1c3e571908c9b744765047abb5c23ecc42e551e13755e38cc9a13e1e02bcd5dcec9c301fab75be3e1a8ee9c42981607aba7855f4bbe76c8c160e80468b54bdf9f438b177c33dee30b0f5]\n[privateKeyPkcs8 = 308204be020100300d06092a864886f70d0101010500048204a8308204a40201000282010100c32cd0e1441fde8a2896ca3a133735be2d1010777cfc739afc77b6daa66f367d4876dccb3021fc22c25450a68d6cfb1191d485cbfba5ec45b49286d7cae2bdae553f47e10b94f867abcc6d0affc733bacc725e5ab4de1aba19a39d748b4c1355d5a6a710a52bd04c0c24e7bc3bdab8f3ce3ae86ecb31c4b45e10b40ddb5fdd40cb2411bcf5b1d392e1eef959cff2709a6e02b20ff3b4343641a6b78599586edc9b673d9f3f5e9d339ceebf96a1a31655876c39fcb00b1c3e571908c9b744765047abb5c23ecc42e551e13755e38cc9a13e1e02bcd5dcec9c301fab75be3e1a8ee9c42981607aba7855f4bbe76c8c160e80468b54bdf9f438b177c33dee30b0f502030100010282010056d0756ceddf7b1e5b258f783b99e036e25675eca054ae9b6ed7552776c69b2728f76e08973556b0a35ddbade9d462ed12bfc46fd254a07ef4ee043ab24d1ef00f8d214cd1d906911e92c4a212d9a981da74b8d18208153d583035d6642b87a23371787867efd02c336eab01486266c853a052490deaea430c6043a6b240b6e9d71e16f29255f2ceeb35d1a4ae25ae0dc9a436fb5dc30381cce982acc824961976df683173a02a540c403f3c8560243ceb5b798abcdc20f3c85d9532b0f0b0826f1b6352c5adac757fe3224b822455cc529fcdc8a220b0469f321f56bd1853d8a70b893f404cc06317e084173770c7d4c836281ac251353fcee4ac393838a1a102818100ea6010a0017d4073198610d0e761f286e3a1133eeed71b4fd4dfb0d8b52e1e1d8ffc58d9c103", + "96629952eb002369b22bb9c3313c80330c1f3ab7a3fcf8d0fbf5a1c0fb7936ef20d51373b21bea72fcb7f70275ac41d97b566b71f727a32f0006de15e7f9bccfcc3224106f6b1ae62d59380065a48ef7bd015ee6dabae0f9d78902818100d52ed808d74a79b3ab515b4f2fe7b41027472c3785eb25587ae31d3500bf3c6ef20c427e223efa4f2911cd38cfc4479f28ae495fe3e88e94c236c0bc1323d71027aba290669ffbd7e0fbb6f615df1c9e4fe5abb5a90d4d0b6d1dea0ae2b249e6a5102092c998b60dd920d09a2e6ecf2a611793016bc0c92de3b9d92744bc070d02818100cb64f6c884c257ae0b56673d83af62b360d3a64a1527a3d211e0d62e1a7d9d30f6857dedeb2cdbd3514fbe14eea689329d1121a76971e3712e99b3bc9389793edf5304695b1d0697233c62330bb12253dc0ecc63e2f983a9a9b0cb5620ad670e8ea8e019c09b6c8f8ef09c608c85789156a231932f671b251760ac2d45944c5102818100b616befc3e3824dfac535f74b1ec6d46e6e5ca04dae4510fd4572d595a7bfdf89dd28ef101fb5cfe448c2a087e9e9eb6799ef4996d27f4b1677a3101f42f46c14bc134a7b6a0ac1266df5a15b3f4d0930097a22516727ffe64838aa7259f37b44405146d8cb85db8525fcf0e02df2f2079b21324c18ef7c7b49dc7b7dce3e5f902818040fbda2e571060971cc6aea0c1cc82beab4fa0361de43a55bd2b399f25ed89e33c48983f409d9f27292770d5c0ac1b31adf766045e60d67b89957c81c0f3b7706c3e1418926bfecba0242ba54ed95ae1bc73b67ddb1e3f4161380cbbf1db7d3dbef852ebb38063bc2544c9c29f47f416f14eb1ea3cf2bab933d21c2c091293ce]\n[sha = SHA-224]\n\n# tcId = 388\nct = 6637f9adeb1e6ea367a5c557e0d3bf0de4e98f57db62df343651d3f16e46d447290f381eee766575dfa267a1bf07917b3677f7c851abe810e69f1558edda2b178ae2fff5580f8a7e60e48eb5912e4de1e489012f2b393868e0f378c2c5816bb369bcf05947616a471d67ceabe8d982c0a43533c9744d80e4f3be99a8aa2aa8784ef822fc6136fd4868820c732ee1563ff3a4da3b6d3ca8171f706cb038cccd8eec52df3c8314439f545c0c143b8171e9cd49a3b272cdcf65c05b351dec20216b07930d3504f9f0de8d4931fdc727c2f6ef870aacd3e27b12d3dc325a2d035bf76544d6804109b5f69986e75182bca5b755cad52265390c4207433bc452510544\nlabel = \nmsg = \nresult = valid\n\n# tcId = 389\nct = 507071370a342797da31c4f8f1ae315fc490c13c02497446cf3f42fe84640f8fad745e7fce69e6960378ba2e8881a61aff5f97d246d574f6cc7f49bb0102b9470fc4f4ac645fa6db563a9ecb1ac81933199b8f9164f620b8031e73fa43df232a440e7d0674d897dd6b1c05ff1d578fa4fb50b77e8e0068896248d13eddb7a111503ba33e8a7c61b421e3863d2b9f87c92e806ee4001c4156842924cba31fdd3252f69149753b58ce28ee14456faf3a4ac04912c45fff3a273619e59d34cb6ddd0c788f75c67b984d67b72c80842f1d5cbcb0eccc99dd2862d4e5d8b6eadcf6c6ac6dd3da5d19f0d2734413a892dbda877df0bb77dca0e5545bdc8eed9219206e\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 390\nct = 5cec69378453cb061ab6d9266f57e362fc1ebc43cf9fa0eac048ba7e640bb74cd9d7dc71b911cdcee164b0ebf96c782df68a43a0f18ce957ab7dbecdad9cdaa14b6f8ba7e5fb95afa8dd32401a3b5c736c9065b234df46035d770cad7916821e68d124bbcad794557bfc370bb217956f480d1022fb2de15bd68a2901e38c442a7d11482b2a297bcbe6dfe4ac1434235c73803c45ad8a141f18c03959bfc9883d8b9ae1dca5d5009fa0bc9793f9c5bbc638c5661216ae3bd15f99050922bb7ab460ea8c7d4c83c9f2122e2f2a49f4a846eb7bd9e7b7e0f554f929def57ccca46cefa9336fb308866c36dc43e53a0f397d3605feb3f433c33d8799857cacfe80c5\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 391\nct = 2070c73227865626f78417ed8daeafb970f48bd51a8a9f7b716b4f48c4a9990cb2e57d55ebb28dfcf0a5eb7a28322d7399340b135b7bb7f9de3ae0807db6511145a48ff3dba45613b2da0c6b7585cce95489eaad5723b03c26141d8548bd4c36ccbd550878c4102be68ab4156ec2adf26835ac504c2e815f913da8cad3ff1051297db9b73f9fcc2de13df638c3257db301e491d40b0404435069e39aec143baeb603a7dadc27e491b3c18011219b8310d25b6c31bb951c3d613b62c1e8b2fd73491121e5a99380e38a1f39507e4c1355aa38fe3ee7de893c50dc77872f4f788c2df8152753b907de7963709772cc4daa278a5333d14658d4f89d0b52f885f5fc\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 392\nct = 1793a869b4ee398a1c7a77aafa3e6f2966602e1f0af563a9d4ecf465c9072a4297ceec58192babb8d5fa1b173bfa6fb86e8145523af762d7371b35fe93fbc088c959c6e23a68d4c08cc6fef46155732c2552450d9601f87244aa1be53851f4690bae35629ef8e77afd89044d5c3f72b4d03f4d9aa3604ed08af5de714ea20b5c225a13d600155114efeb49cc6f337993e5af4e0a47df9a2bdf6b936d3987d01e1762f03722fdbb08b542f9fa65b8b6ef3bd07d64622aeabaab98a5df84ec7782e0d39a154569ba748ec809f7153fd3be0ec34ad17077b2c812270a17a328b46f9440184a8646814c9aefa9c1db99a3957281043c3827606ed3e522cb170a4c2c\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 393\nct = 949c25fc453f4459191d244b42b1c47e63f6500fa4073cbdcc054362be1f8963af6aada06c6e1f09cb29b918120182ca4379f9af27a3cd82c20eefe3d284ab94aaa3b7369da4764b48ef371680548f1495edcb161d5e4fff17fde8f1aebd9b7f212dbca7f57997ad7b929a769192ebfff93dbab340cc48b750967f01ef7e695bf279536712a93224eb6147a59579022aea8f67be2101d0dabc681f740740630d6f9ea1d9ee8acf818a2d88b9e76c96efd6e5dfbb23dde9e9eb4dc2138b329e317a9a66fd5b4c6362c713c9015be6967044380973f8bfe5252e449764632db78e5471def248b13eeee6a71d8789253a6e8de19b9d1cfe250672a7aff930a4e97d\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 394\nct = 2a21e3686fe4fd44756469d5c45768f08ecafcef39d2ddeb5181f19c30342d46c14d102b5a0943c9865cc268b579587efa006ff9188bdc6d63ef419d4528750160ec422332d981b3e0d62ae92d7f7567e1fbeb8d81a9213af6d8eaefe3e7bea4ef8636932e5b8b2831093db29787291c94f98beef47de2b873d64da6653d480fb62b0f285acdaefb5bc18e526b9263b22a6ae5ce9f1c4134f11de2ec0ea37e6d4029c36d06388d4d912ccf67a1193f79848d5e60e954b75c201f11902627e838cbd8d10432f1491c596cbe7c4dcf11c4c45ffe5f414c9c61765f8bb1bbae01b525eb890f30c33a49ea32b9299ee6cd139ed9287f5c40ad6f1e2c777c85cbc8d5\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 395\n# Longest valid message size\nct = 3de5f5159bb82733c29dda8e94ad2fc52122487ce3d02ee543bbf64b9006b395137e4ee5928c738928326c2567593567d63b46e4063014aa29da64d0c8101e23923d03157054629ca07fb1b896af3c467b209acfb618c7eae4c01b61530e7806a4af8b3ad8211bcc83f3f193465f6aa4a8073a5c284eb626bca6d02ddde287e0ff1f4598d33a836202bda415065c39fce349abe5574d4ef2ad22e370eb5976c03156c6171e9acb13468e50c73ab37afec1e21e3c126eed803267963d27d44dcfd3b058545a8d56f82cfaab1062bd16aaba24df15a16698bde71e2fea882b8278256bed8db0d5d5dcfe26013815e84a9fc2709a8eade3a15fd757cc60edc47a5e\nlabel = \nmsg = 787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 7627eef3567b2a27268e52053ecd31c3a7172ccb9ddcee819b306a5b3c66b7573ca4fa88efc6f3c4a00bfa0ae7139f64543a4dac3d05823f6ff477cfcec84fe2ac7a68b17204b390232e110310c4e899c4e7c10967db4acde042dbbf19dbe00b4b4741de1020aaaaffb5054c797c9f136f7d93ac3fc8caff6654242d7821ebee517bf537f44366a0fdd45ae05b9909c2e6cc1ed9281eff4399f76c96b96233ec29ae0bbf0d752b234fc197389f51050aa1acd01c074c3ac8fbdb9ea8b651a95995e8db4ad5c43b6c8673e5a126e7ee94b8dff4c5afc01259bc8da76950bae6f8bae715f50985b0d6f66d04c6fef3b700720eecdcdf171bb7b1ecbe7289c467c1]\n[e = 010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d5]\n[privateKeyPkcs8 = 308204bd020100300d06092a864886f70d0101010500048204a7308204a30201000282010100a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d50203010001028201007627eef3567b2a27268e52053ecd31c3a7172ccb9ddcee819b306a5b3c66b7573ca4fa88efc6f3c4a00bfa0ae7139f64543a4dac3d05823f6ff477cfcec84fe2ac7a68b17204b3902", + "32e110310c4e899c4e7c10967db4acde042dbbf19dbe00b4b4741de1020aaaaffb5054c797c9f136f7d93ac3fc8caff6654242d7821ebee517bf537f44366a0fdd45ae05b9909c2e6cc1ed9281eff4399f76c96b96233ec29ae0bbf0d752b234fc197389f51050aa1acd01c074c3ac8fbdb9ea8b651a95995e8db4ad5c43b6c8673e5a126e7ee94b8dff4c5afc01259bc8da76950bae6f8bae715f50985b0d6f66d04c6fef3b700720eecdcdf171bb7b1ecbe7289c467c102818100dc431050f782e894fb5248247d98cb7d58b8d1e24f3b55d041c56e4de086b0d5bb028bda42eeb5d234d5681e5809d415e6a289ad4cfbf78f978f6c35814f50eebff1c5b80a69f788e81e6bab5ddaa78369d659d143ec6f17e79813a575cfad9c569156b90113e2e9110ad9e7b48a1c9348a6e653321191290ea36cfb3a5b18f102818100bd1a81e7977f9898122273ae3222b598ea5fb19eb4eabc38308a5e32196603b2e500ffb79f5b886816611debc472fac45544070beb057c941378a6868af3b7a03d3f9880ec47d5e089b94fbde542aba9ae8d72c57088d7abf5b131f39098f7bc160f90536abc9492fd4e06f3ed7299d4b97bb03677207d95669f140cfbc20f2502818100a94b528b28f291599121d91952ffd1c7f21d7c1479d99d478885fb161870ee1218bf08472612dbe5497e8d9c650688e09c786961ae3e2c354dc48ae34514759c4c23c4588488961dc06b414e61c0e1e7fbbd2923d31532fe289f96da220711e58c14019808e00414276933bb07e4efb9b4a9b37656917205209f33f09515d7c10281803af0e72a933aef09ff2503df78bafed531c02ff1a2bc437c540cdcbd4ad35435cf511763596543480629b114ca7f780ff7efa32ea0cb6e000d6d9ea1f2ef71fd9cf9948422a165557e37e755edfe70d90b920502eb478bc98a63f788ce3a0f856d6ede7251a383bfa8fa480a81a925af7b3cc538c4bab8c9f7597ffb68011d8d0281802640fbfbcfefb163ee7a87b6483a66ee41f956d90fa8a7939bfc042ee0924b1b7993d0445f758d51933e85179c0320b0c968b48a91c38b5be923e1097c0c562f88d42294b6a2759bafa5428a74f1270874e45f6fcc60f21602de5eccd143cf31241f5921b5ad3983fb54ef17be3b285367e50c999c67247b552fe4bfce945f7b]\n[sha = SHA-256]\n\n# tcId = 396\nct = 8e6f127b86ed4ce03bea0242759dec562f3c0e475d70c950bb9865c5a00c19186487f6dad25e6ed4600510e067a8679cdd63f7718af92e5cc297d74d5ce72472c404083b156924c39852b03fad90becc3da0cbb1e80556b4010e9569c61e3b188b9dbbf58f779d3be5a9a7d000ab596d69c9aa48fa6c1f1fbc5be79ec39e27b7a76191b681a02d61cbc5924651198bdf9bb7749ab4a515d1ea1d9d32dad38dc703228985985043c152e2d8e918b652d67a40c2be1e2c6cc2fce11f6c923714b11732d8fdb1613c46bfcecafd64f9536fb7b41816736e3e4b62a1dd6e4c26e8a8f66d99cced308127a39ea1f21a6d7886e22aabf3ca6d6464278d930bf60f277f\nlabel = \nmsg = \nresult = valid\n\n# tcId = 397\nct = 7a896725e0944db789d4caa96bd8701fdc100a26ca12e45d7d9a5f5599fdec0a8ca5ba9e2e0a5c743d2e82a0006b915e6572e066c30bd794e98fe0959519f418d5587a5012ff9b0c545930e3065cf8deac440ef60715ecb8de63f2bea7fb80bc81cefd2f5b979bf0d32e07e615db6a363f0447bec068db90a9e86bb4703098b3ddf1bc34b2803930b56fbb8e026b8691248d8e471ed6dc0a90905f96412470f1002ab2a754cda6dead97c5a05fbcec5d0398c1561876bac021ec4cdc6915d929ebb6fa5ffa1d6e37db99951fa19670ae0f8bbe18bacab54bebeb5ec2dfb4a0cf69dd7077b3229fd0cd8580fb56fa13c399364e2bdecc1a0bfc6eb67f01a17fcc\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 398\nct = 835a8d5ab336e2133ade3b3537dbcd908a49d3933d0747e6c567e6e4938346b40a208321669f82ac6fe7055b4c435c455772ad9b3809ac65b5223c04329f232aaed6412bc6f024575fa9eee9d5f813e384a07289b9b203cf8cd7e2bfadf949aedfac4e08705a17e4db719ece091d46b264eb40befa199cb27de1a744c96182483ce84808686afc56e414ccbc2f219057af1d7e23549f44f7bae74f135254cc965227aca4ecd7b4571cd05cb2c99b6fa55cf7ec9c4cc085cd0ad0ce90e3e7f68af2ea3e2a6097b81a5c5091c31026261a479d46f05c45ae016e86029dae86c67afba8b8b6e8e646a94d07d07f3eaf8ca177c6c0ed05896971c0a911c846ffbdac\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 399\nct = 822e8870c00908cbf5032226547d38e423deb912c49c9fcbee66920cd2e9e3197b3fd7428cbbc5e90e660545720f180ac0ce06205cef8735446de30df32c8797380ccce9c0512eb285b7bffd883ef00fe118f027bdc75700e511226ec4da35f406e460fb88f9af2e9c4ec219387676ae21cadfad0fb1d704be69d0ebcdda90dff7e172612c972c6a974b828acee6ca186c71b50376d1ed5eb6c107408065473d53a2ebedc833f07f60f909a6c42464d79d76f94531a0d386213fce5efc2e66f311e73b06142f8245b063b9e395722dbea029dabe5ed1c12788b890974ba1d28492cce2c90e0a3026c282964763a030a7f7f3f76a72843a97d9eee17cdbbb00f4\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 400\nct = 94712359a945bb4711cabb40b95020092c43428748b10e0f11189172d7052b28401d96ffba516a9d491895e9e95308562cdf17953a4e05bbae8c8cf391e7c363506ac86d46932b373963e9e661e9de2df322719e6369f3ba68f42bba78ac932f7d2333759a53d4d18f5990b18a6d4d0af96d9a9451b2d5a8c3f427f607380997b5b2029f58f04301b52c18cf57c2a763b546a21b8da9627070a1cc30bee0c75863b196128988ffea683a4da5203924db470a53dac36a3fbec3dbd9710f85ff6b0728a692d640ed7ba67b7e493a7b95864a2191f617968ee1efdcdb5b015e45da55086b2b382a380cf66bc61521b2327a6bbf247ab7635da9a48acc119e867467\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 401\nct = 610aa2973bb0d67efc725204a0af7db852bcdd8227e309e6a523ef627555b7aeb783dee396934b61141590952801c027a559a3b7380abb6724224cf825a9c74dccfae278719551bbf0e6a8125d64bb437ef78c24cc00a52fd9a716ac20102b5a1d8fbd445d9a2d4ce2c55a2f549c2fed8e5932cbdfc8deb907d973834c2963720557668d61e3f2e53564d6db7b41899873e3ca66a1b5186a8a545d27915aa466df12ca7163a7d8137eea71ef80690d229deb089510567f24756f0f70a1dac609a57a11ddc400af943126e5c5b118b76b769dfc1a7a6ec748b5b906baa0f0e188b1c6fdbd6bc307af0fd9b4602ea62513430b3208e3d690707fc2d28ebc432388\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 402\nct = 76f7b6e1cf45b005ad58b5354cfc5799f74edfb27f27b414b4d25500a1ec4bcd46c6b65603b204f69a2a71b8d1099ce96c8ee52e119ed9b080d86d82789e3e5777cc5f920b147126ec8612b206bc5734e828ac819f90ea7191832d570d376df2c4e3eb5070fd8382f8c0a9b89da928bfbdd24bf1d17ebc83f9237a51352ff04b6bb3848cb6a9c195e5369f4b6ed9b4cc166377f88c7e6db6ef78c0e1bfbac5a3825867af9b22689b627dcd8d1441b515b15b78688b52b04df4157a888aabdb9e792c65fcbdcd03743fe45e637afa7e422782e6da58b95163acd59353e634337abb1c15b831a9dec79c517a5be0b4ee43f7544a2e9bf6af2bc53b080c60dc2bc6\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 403\n# Longest valid message size\nct = 9edf0e6ae25a3e7b6f31fa13a7a31db0e6ce2faa624c2ebcba9669bf5f205758e1e904a9a738bdf430072b0563d1a87f16522811d645cd9f85f13359d2961bbc583a3b15c66ab5a0d1373c2949261e3f44c2a1a88e25190efd30aa9fc410d2d23148c16daa90457bf1ee77c2d344525036e037ed473275bd535fa961a66e47072b586915d85d3d7edaae7945b5e7f08fa15a4d08cc669b3846b1ea02cdc3eb9bc5a54aba227f9434f19d28d06add791fce9efe2171e2c676bc1b09bc163798a1a74b7fdedad993dc47c8323cbe3aead96d0d4e7e494ac390200e6a79f96d88844d59a3d78626b0797b902220874e6957e6c214f3ab7574c6e476cc4262beda98\nlabel = \nmsg = 78787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 7627eef3567b2a27268e52053ecd31c3a7172ccb9ddcee819b306a5b3c66b7573ca4fa88efc6f3c4a00bfa0ae7139f64543a4dac3d05823f6ff477cfcec84fe2ac7a68b17204b390232e110310c4e899c4e7c10967db4acde042dbbf19dbe00b4b4741de1020aaaaffb5054c797c9f136f7d93ac3fc8caff6654242d7821ebee517bf537f44366a0fdd45ae05b9909c2e6cc1ed9281eff4399f76c96b96233ec29ae0bbf0d752b234fc197389f51050aa1acd01c074c3ac8fbdb9ea8b651a95995e8db4ad5c43b6c8673e5a126e7ee94b8dff4c5afc01259bc8da76950bae6f8bae715f50985b0d6f66d04c6fef3b700720eecdcdf171bb7b1ecbe7289c467c1]\n[e = 010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d5]\n[privateKeyPkcs8 = 308204bd020100300d06092a864886f70d0101010500048204a7308204a30201000282010100a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f4", + "90ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d50203010001028201007627eef3567b2a27268e52053ecd31c3a7172ccb9ddcee819b306a5b3c66b7573ca4fa88efc6f3c4a00bfa0ae7139f64543a4dac3d05823f6ff477cfcec84fe2ac7a68b17204b390232e110310c4e899c4e7c10967db4acde042dbbf19dbe00b4b4741de1020aaaaffb5054c797c9f136f7d93ac3fc8caff6654242d7821ebee517bf537f44366a0fdd45ae05b9909c2e6cc1ed9281eff4399f76c96b96233ec29ae0bbf0d752b234fc197389f51050aa1acd01c074c3ac8fbdb9ea8b651a95995e8db4ad5c43b6c8673e5a126e7ee94b8dff4c5afc01259bc8da76950bae6f8bae715f50985b0d6f66d04c6fef3b700720eecdcdf171bb7b1ecbe7289c467c102818100dc431050f782e894fb5248247d98cb7d58b8d1e24f3b55d041c56e4de086b0d5bb028bda42eeb5d234d5681e5809d415e6a289ad4cfbf78f978f6c35814f50eebff1c5b80a69f788e81e6bab5ddaa78369d659d143ec6f17e79813a575cfad9c569156b90113e2e9110ad9e7b48a1c9348a6e653321191290ea36cfb3a5b18f102818100bd1a81e7977f9898122273ae3222b598ea5fb19eb4eabc38308a5e32196603b2e500ffb79f5b886816611debc472fac45544070beb057c941378a6868af3b7a03d3f9880ec47d5e089b94fbde542aba9ae8d72c57088d7abf5b131f39098f7bc160f90536abc9492fd4e06f3ed7299d4b97bb03677207d95669f140cfbc20f2502818100a94b528b28f291599121d91952ffd1c7f21d7c1479d99d478885fb161870ee1218bf08472612dbe5497e8d9c650688e09c786961ae3e2c354dc48ae34514759c4c23c4588488961dc06b414e61c0e1e7fbbd2923d31532fe289f96da220711e58c14019808e00414276933bb07e4efb9b4a9b37656917205209f33f09515d7c10281803af0e72a933aef09ff2503df78bafed531c02ff1a2bc437c540cdcbd4ad35435cf511763596543480629b114ca7f780ff7efa32ea0cb6e000d6d9ea1f2ef71fd9cf9948422a165557e37e755edfe70d90b920502eb478bc98a63f788ce3a0f856d6ede7251a383bfa8fa480a81a925af7b3cc538c4bab8c9f7597ffb68011d8d0281802640fbfbcfefb163ee7a87b6483a66ee41f956d90fa8a7939bfc042ee0924b1b7993d0445f758d51933e85179c0320b0c968b48a91c38b5be923e1097c0c562f88d42294b6a2759bafa5428a74f1270874e45f6fcc60f21602de5eccd143cf31241f5921b5ad3983fb54ef17be3b285367e50c999c67247b552fe4bfce945f7b]\n[sha = SHA-256]\n\n# tcId = 404\nct = 878dc3ef477067ddebaa6493c2175221f24d9417b38ca85985880aefbe4b27db9dc160e88d232991d5e421ed646fb74a04998fcd95aa1f97cd27718b80e5ac0065fcaf5316bf2b1fdcaccba30ac5d8fd43b83abfc6bd0a0aff8c2abc962966145dcf509f942f3dedcdae87585c5ef7446782a83e9aa28d5f5da436e186e3afd0d4d48190496d89ccb2253edc33c8430d70dde1fb3203f00569933677717c75278bd92fd79a2219e5be871519ee6e15bcd30280bac6ed1a0981e6236056d1cdb953f24da5d1bd2af084c642e0aca0d93d11c12a6ec7d6c2ae04682e9329860fdf625b6504cfbf3fdda7010774df04b97d11f7ad57a8e8ceda08a961e28b0821a2\nlabel = \nmsg = \nresult = valid\n\n# tcId = 405\nct = 866ae885f3a885c6a2225eb67e7bd492779dbb5326be63869c1f93c5c8655832f507997fb03100e8703c699f4abeb551ae2960ec482e7491301f51fbade50f52b68313302b9d98dbcb2b25b99724f99e397f73e3acbcf21c9a6a977230eff524012c25ca2efcf6bcf7ae7d26a867e69721a2ad4f79d386a6e0ce76fc6511a596f0ec2b9359fd6506c35db5e12b7cc33a7ebc1b8e4f483d60e7b9c978f8697056faaa1498416252c6a034acd977473ee15671fb4ffa9c239a2ef05127927208507fdbdd11ddda9a659ed9ed3aa60eebce46886881e273b990052653f19ee8174d441ee4f1d9077a4d3e207223ec50768637071b7bdfbb911bc07514ead1e5fe3c\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 406\nct = 140b104a2babfd533a996a13f9eff921c926c2d2387a8d59fc396034150eed63c3b6707bb39dfe7bedcebfed6ccc006106435b8d932fe858d248c2261fa8efc96929abc5b04a992fd5d480639cc45895a8ded0f441f473f13a8264239ec84c25be2787b23b3754eeaefd736738a8fb5fd43f71d56f4ddad414cc663db257752039057bebddbf078d8924ac7b7ac5347fa65e679ae6fca977e2d66849bf271adc5febbebccb985420cafebdd1c83de1f640716e0ab7c6f1f41783173e36d79186dc2b160ff04654688e99545dc3253ff5f8b65cf3c26566b1ef77e35e87014d7c9e06459ed2e3f17d27563990330c2abc9a5016f0d994cc9ec9f90d7c437794a6\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 407\nct = 5e1280d753d77814b80028b3ecc0987f7de8da4b2eba02784bb9619800be1522cd9751e1c4352d8502133d524c9436e0229f15aa054491e09e624ce2d372374a21187192b0210bbe25b21436650513f41989e722562875172f64687f2da2f7068ee79ebf0ca155b23a2a93000a7b080c6a28d19c312d1d5f42b1e8dd173bec2dc006f0e2739339c6d24688d6ab3ce6ffab24190b8ca56799152aee6153c975a59c7f7f2a7a45ca48114f2589808b9fbb6895a56ebba2cfad78903ee34f91a6d66a3ccfe5e9a6449d445169744c88ea1e46e9c15842776bd5fb8993083e234cbd1af566dbb02f22a9f7f291807eb8042a07df0268503aa6bfdd5d7b405527c290\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 408\nct = 0a6116c6e717ccd077a612db410c719d5164f01eb4f1b713920ee37f40228fed2f7bb0164b69ea37a6b6c24eb35457caa7deba795839b1cc3581f421db5b3ad9b91f0fa80f2e1f915c5f249b73182520e00b80dc35ca69a4898490d6304111ba59642531e565e1b223ae0d6ce2c58f5dae534032b35e6ca6db51804c304ed04d668a8f07a6bbd477ebf707698b6642ddce3bb8dbc4d569043c14457b50e1b0fdb537ab1873747dc61fa68b16423925930ec72455b14f54ed570b7a2e684a778e52e369ec0391ca5475045ccb6311cee377ee583813930713a12e55ddc5d8603dfa5c36eea81678f72001a68fbd1ec72b8a4f22add0a12a264055b207fc4c0802\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 409\nct = 2f0a14d60be6ac96fbbe8534f274d2e289291176de0f8230b73007fcc29cf958b251eebd74cf04fe3f47825ac9668828a6969fbae7ee27398554258107f59b1a27eedb82c7d703112a256693ab89f4ad322f2cbf0ea2927bdc5ed9ae0ee26ce5d942f48326beda82e7f7eabfbe49f248a24f7b30eb26522a7c5dcb18fb91bdebf112616e61c7a033796dbf514fc33b12a46a2da57de4cfe3d24ceb9f9c0558a05e5615586f1f9f4a590d39c0999627a43927cb8a5154d86873cfdaf48172ed38f903fb17e1e400f420a7b9b0e4f3c33f14872c9305d826873f81d6c6e9279d4f94c4027cc67c03fee54038f5da79dd4fba788fa65b552d4e13bcf9b12b8246e8\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 410\nct = 1c5e12b8ada08cde51083717c0c90622ed144f7c78c167dd0ce11bee29f038252dd0db45c85f149c0797ca736aec5dc73d222a3d1be66434315d6a4c0bb08ca88b93cd9d2abfbcc21035a2dc41cf0399b2f21bf03557254c83120b15f437c631145beb980bfe682e2d9d3f446a749afa5977ab1ec4e14f79ff6d78d4d4d4e8bb52948746ded5d9ba5d446a96d4dfeb55ec92a9edde7e696f3ebe8dfeefbaa5b0cd8507105b857ba99e49230494e1fe23b282f183ac7ff3d0f2b51db97f11036d2e5aae4763da456e58d1d03d79423da02106829cd8d0f89f729d5f65c610141d1f22ab9820c67e550fbab0ba75ea6e5b2589e6653807930f962eb890c1637a05\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 411\n# Longest valid message size\nct = 2b01ba92495abaeb2709a1f5a9b878de989dccff7d9066343fd16daf403841c4ded50e2a789566c3654712074167b15eea26649e4f56b2a905056f13c4c69063f3de24aff4d1526ca63f52951b8e0dc270771ff4e9cd7d4e56c949a499c6763beebc3a53c05da9bd6bc117c5ba01058927757854f1a1e42669323c425f917d808686f7a60f4b12d53019a8d9054bf74dcffdd6ec8012cbeb2083b574e35d894c83cd50d191181aa8e3e6050f744dcdf9c1bf1d5c4c1a4232f596bab00a8601192359ec0eaa8df23eb5d95863d97284cb9e17f6feeb9e6c2904320a24b669d67d75b50568ba31d987edbfa608c71419477518fa46c1fb590753b61730359704d6\nlabel = \nmsg = 78787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 7627eef3567b2a27268e52053ecd31c3a7172ccb9ddcee819b306a5b3c66b7573ca4fa88efc6f3c4a00bfa0ae7139f64543a4dac3d05823f6ff477cfcec84fe2ac7a68b17204b390232e110310c4e899c4e7c10967db4acde042dbbf19dbe00b4b4741de1020aaaaffb5054c797c9f136f7d93ac3fc8caff6654242d7821ebee517bf537f44366a0fdd45ae05b9909c2e6cc1ed9281eff4399f76c96b96233ec29ae0bbf0d752b234fc197389f51050aa1acd01c074c3ac8fbdb9ea8b651a95995e8db4ad5c43b6c8673e5a126e7ee94b8dff4c5afc01259bc8da76950bae6f8bae715f50985b0d6f66d04c6fef3b700720eecdcdf171bb7b1ecbe7289c467c1]\n[e = 010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460", + "d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d5]\n[privateKeyPkcs8 = 308204bd020100300d06092a864886f70d0101010500048204a7308204a30201000282010100a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d50203010001028201007627eef3567b2a27268e52053ecd31c3a7172ccb9ddcee819b306a5b3c66b7573ca4fa88efc6f3c4a00bfa0ae7139f64543a4dac3d05823f6ff477cfcec84fe2ac7a68b17204b390232e110310c4e899c4e7c10967db4acde042dbbf19dbe00b4b4741de1020aaaaffb5054c797c9f136f7d93ac3fc8caff6654242d7821ebee517bf537f44366a0fdd45ae05b9909c2e6cc1ed9281eff4399f76c96b96233ec29ae0bbf0d752b234fc197389f51050aa1acd01c074c3ac8fbdb9ea8b651a95995e8db4ad5c43b6c8673e5a126e7ee94b8dff4c5afc01259bc8da76950bae6f8bae715f50985b0d6f66d04c6fef3b700720eecdcdf171bb7b1ecbe7289c467c102818100dc431050f782e894fb5248247d98cb7d58b8d1e24f3b55d041c56e4de086b0d5bb028bda42eeb5d234d5681e5809d415e6a289ad4cfbf78f978f6c35814f50eebff1c5b80a69f788e81e6bab5ddaa78369d659d143ec6f17e79813a575cfad9c569156b90113e2e9110ad9e7b48a1c9348a6e653321191290ea36cfb3a5b18f102818100bd1a81e7977f9898122273ae3222b598ea5fb19eb4eabc38308a5e32196603b2e500ffb79f5b886816611debc472fac45544070beb057c941378a6868af3b7a03d3f9880ec47d5e089b94fbde542aba9ae8d72c57088d7abf5b131f39098f7bc160f90536abc9492fd4e06f3ed7299d4b97bb03677207d95669f140cfbc20f2502818100a94b528b28f291599121d91952ffd1c7f21d7c1479d99d478885fb161870ee1218bf08472612dbe5497e8d9c650688e09c786961ae3e2c354dc48ae34514759c4c23c4588488961dc06b414e61c0e1e7fbbd2923d31532fe289f96da220711e58c14019808e00414276933bb07e4efb9b4a9b37656917205209f33f09515d7c10281803af0e72a933aef09ff2503df78bafed531c02ff1a2bc437c540cdcbd4ad35435cf511763596543480629b114ca7f780ff7efa32ea0cb6e000d6d9ea1f2ef71fd9cf9948422a165557e37e755edfe70d90b920502eb478bc98a63f788ce3a0f856d6ede7251a383bfa8fa480a81a925af7b3cc538c4bab8c9f7597ffb68011d8d0281802640fbfbcfefb163ee7a87b6483a66ee41f956d90fa8a7939bfc042ee0924b1b7993d0445f758d51933e85179c0320b0c968b48a91c38b5be923e1097c0c562f88d42294b6a2759bafa5428a74f1270874e45f6fcc60f21602de5eccd143cf31241f5921b5ad3983fb54ef17be3b285367e50c999c67247b552fe4bfce945f7b]\n[sha = SHA-256]\n\n# tcId = 412\nct = 6e62bf24d95aff6868afec2a92a445b6458f16f688c19fe1212f66a63137831653cedd359d8cff4dd485d77dfd55812c181373201f54aafd65730d2a304e623455d51125d891e65d97fce52341cae45fb64c38a384a1c621e2713ee6794633f029a9fd4d774f56551eac2176162e162640f25eab873a3451c475570f19228bcede4c67c370a75ed7fabccd538c9819eff182481b10d42f1a9f6a05373b8cf9b71818d467bd3b8ebacb619e8ad42916e600c043effceb3855bc48a629e60ae886f51b2a7876b0e623fb2ce68af4b039242f963adb0e4240aed0ed07f65f1ee7c0cc77d210d0c2d1dc10c81b881aa0c9c9e9499665cf2970d2ccfeeb3191531765\nlabel = \nmsg = \nresult = valid\n\n# tcId = 413\nct = 207180c340658b5154ae45d2e4e7326a0997c683a26b595e536a29333c4b66149af85e029d5419a39e3a147b221516ffd86b6b4b66c3e0c4c49fe8c57a2f5c37b8704b9b592b80db9cd788a4ed51ab4f0a1cbed63bd18d1f06a22f225866b0c2c417cb23473b7ba4250b1353bd2e5b4f0f937cd2efe5fa38db3c295f7748b970088657db4aa9a76e1ee6fbff166ec1861d00d085326c7384bdd1bc2f400d4f74dbdfadaf3fdc46073e668573e02030b9eb5af58eb540c66677a771194479ec0098d858a2ea45d0ba1e6b32440dfbac745000554d51a17684ca964b02a74d479f1d432ef763ef4059715a4348cfe36a215359712f25b6977903be4adb92febbf6\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 414\nct = 5eab3f0741e63986ed647d53e1cd71df041986900803d0f99c68355d249a15a47dc5b4f70a191477654299e5a2731f3b4eec76dea18262fc696ac794e5f66cbfcddac4472c578e246c26707598055584540b839836b1404c5611ae558a984cee8fd036cea924e0be2474a940f61e0acc14fcae95ebdc59942a9ce9af9a9c81999f7f6815f057ffdc2533cb15d6391d1e2d95f16f9c04209c889a4c359c7d2926d28a66e2b030a416b928d2825627998e5191fb4983a6e65024262d94fc09187a2d78162122433251d1bfcc8e507d06eba2d229c10031261da32ab8ccd15f1c5f9fbf07ed158483d736a110af4b44d6a4da60d6cb519b4454213cf9f0dc560f2b\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 415\nct = 0da290b0bf71a1141b2adc62b5b42b07fc52520cb05d1f39ccca7b7c22d379a6c2f2d93143d057050140527a1e5638243938b531ec3de7014b0151301e49b9fa433482a02abdfd94193dc9c70157e557776a69ded01ecbeac405133595c61165a428b6284729a4746b47d2bbaca9d7432c3b5693591cfee488eb3c68ddb6cde0dd61cfc6952423f994abecee34f5683732b29934a2c498ad48cdd30c149177189f48eefd9cc7232df18be11ff5f7e3af7319e3115997c599e2d8f7f4f663dcc40032d403436d3058a5ea66473660f0e195281ec6eba997d2a951ca6ca5f3c112715c89da1d3dfb20a21940594ed10ade90ed7452b753757d7241cb8a803c373a\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 416\nct = 121196e51a3f4476bfb6adddfdeb3a25dad72d1ea315d652f331a43631ad36724b3d14532110dc44e407b1184618f115677b33751fb0e8786ba220cfa7fc3fce22822eabdd4fc2761c7f34a04e8f13c1021c31adc123a32d871f0da6cdacab9c020222da52afd5c307a6e55e4566944403fda426ee2c6c973ccaaafe2d081ed8c5b1dc00662424e395faed86c9ae19a3a95950c83d2a9ad5c7e7f670faeb123acef07fe7795ad298aafe543504d7811336b3e2ecb1622bc90599a185b34700f8f4c52a651d73ea57e8cfa80e61d9da61f36951c7194ae4dee3c6e67b5757a39685dd3fe01cb87620a54666ff8132e93d7081d38ddc9f079431075e96cca78f59\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 417\nct = 7ae8e4f5494393be144d81517f11baf4b634bb68b2f0ea9b30731035e8cbf4283c0ca99120f60b75ef685e989fecd7a5dc524cb66292a0ab87ebc61e67baca1a8aed99350edee045dfdd029406acb707d85dec9555169cf7ec5118d8f29d182f205e2859a8dcc5122bed640ad0ef128deb21785efaa20f92067dc216cf40c15bd7130e2c094131917950a816da814c5990fa6beed709a0218f4ddca2473796e1b44cff6d7ed601c574a784d0865d3afe5fec023ebe71bca881da5637e3d1d17238c20a5bd0075bac018f07898f74b9e6dc0fa3d5f8d0b274dfef3e6720d8396b34a81ac2e64da5b3e5d7666323ed7c56e8bdd179f3c6b2cf05bcac402513dd87\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 418\nct = 096958786ee7972050d67a9e4b69d6c6af7db7cc674386df725770dd29129b826e39552330104c8d71e6cc3a3014dd2f61b54153af51b0438d447ee939f9e3c13bb8b00a37dea6a068f6c9d27e848b1be7a1eeeb3ee50b78036fba95ae46948ca5b13f356ea24db10f60dc09e4b8bad8f766b668ef72524432080a0ce00ed676d6d5e354984b1078520412525848156d06f0652469f95791baa3d9a798ae537094f76f976faecd5c9ce0c930a75910c63dacf63485cb4b5e7bdbcf4d80e74037eaa1a8fe4b52930bec6be99cf6ac88cf5878dbf6859d456a95dbc34654eec425de84ca2a535d517403a9aada827e7d0093ecfc97ed056a7652825e9a45cb2dcb\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 419\n# Longest valid message size\nct = 7efb69f1137d6a6e813b7ab75bf0400b3d07a442b88ab048675dc06b0215fc1a2e033263ec31a6c1d2eac56cb0470d69022a48131d1f000bbed70586b80cf6356465c8834daced7ea2a5ff8ef9c44d5ab828ffbf0556a6394752a4a28a70cae20084e1236f042f6c29de5cb34ef73acba5abcc7ccb3a26342701df3b9daa945d9fa5bf0b9b10306655e56370183f50fb8321f8f0cd1c72114791fca5df2166296b509b01a0b291c46110787cebe69d41b3b1e89590bc2f5e5d49ea24ae0f1207eef1aee54b9760553e80c5506a8a8a75732e92875025f0bfd5ead71e4340c8a9fa16dcd5a7dc96d8c4a7dc4e91f47a69366445c4695c8bad578ffe52bb672f65\nlabel = \nmsg = 78787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 7627eef3567b2a27268e52053ecd31c3a7172ccb9ddcee819b306a5b3c66b7573ca4fa88efc6f3c4a00bfa0ae7139f64543a4dac3d05823f6ff477cfcec84fe2ac7a68b17204b390232e110310c4e899c4e7c10967db4acde042dbbf19dbe00b4b4741de1020aaaaffb5054c797c9f136f7d93ac3fc8caff6654242d7821ebee517bf537f44366a0fdd45ae05b9909c2e6cc1ed9281eff4399f76c96b96233ec29ae0bbf0d752b234fc197389f51050aa1acd01c074c3ac8fbdb9ea8b651a95995e8db4ad5c43b6c8673e5a126e7ee94b8dff4c5afc01259bc8da76950bae6f8bae715f50985b0d6f66d04c6fef3b700720eecdcdf171bb7b1ecbe7289c467c1]\n[e = 010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfS", + "ha = SHA-384]\n[n = 00a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d5]\n[privateKeyPkcs8 = 308204bd020100300d06092a864886f70d0101010500048204a7308204a30201000282010100a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d50203010001028201007627eef3567b2a27268e52053ecd31c3a7172ccb9ddcee819b306a5b3c66b7573ca4fa88efc6f3c4a00bfa0ae7139f64543a4dac3d05823f6ff477cfcec84fe2ac7a68b17204b390232e110310c4e899c4e7c10967db4acde042dbbf19dbe00b4b4741de1020aaaaffb5054c797c9f136f7d93ac3fc8caff6654242d7821ebee517bf537f44366a0fdd45ae05b9909c2e6cc1ed9281eff4399f76c96b96233ec29ae0bbf0d752b234fc197389f51050aa1acd01c074c3ac8fbdb9ea8b651a95995e8db4ad5c43b6c8673e5a126e7ee94b8dff4c5afc01259bc8da76950bae6f8bae715f50985b0d6f66d04c6fef3b700720eecdcdf171bb7b1ecbe7289c467c102818100dc431050f782e894fb5248247d98cb7d58b8d1e24f3b55d041c56e4de086b0d5bb028bda42eeb5d234d5681e5809d415e6a289ad4cfbf78f978f6c35814f50eebff1c5b80a69f788e81e6bab5ddaa78369d659d143ec6f17e79813a575cfad9c569156b90113e2e9110ad9e7b48a1c9348a6e653321191290ea36cfb3a5b18f102818100bd1a81e7977f9898122273ae3222b598ea5fb19eb4eabc38308a5e32196603b2e500ffb79f5b886816611debc472fac45544070beb057c941378a6868af3b7a03d3f9880ec47d5e089b94fbde542aba9ae8d72c57088d7abf5b131f39098f7bc160f90536abc9492fd4e06f3ed7299d4b97bb03677207d95669f140cfbc20f2502818100a94b528b28f291599121d91952ffd1c7f21d7c1479d99d478885fb161870ee1218bf08472612dbe5497e8d9c650688e09c786961ae3e2c354dc48ae34514759c4c23c4588488961dc06b414e61c0e1e7fbbd2923d31532fe289f96da220711e58c14019808e00414276933bb07e4efb9b4a9b37656917205209f33f09515d7c10281803af0e72a933aef09ff2503df78bafed531c02ff1a2bc437c540cdcbd4ad35435cf511763596543480629b114ca7f780ff7efa32ea0cb6e000d6d9ea1f2ef71fd9cf9948422a165557e37e755edfe70d90b920502eb478bc98a63f788ce3a0f856d6ede7251a383bfa8fa480a81a925af7b3cc538c4bab8c9f7597ffb68011d8d0281802640fbfbcfefb163ee7a87b6483a66ee41f956d90fa8a7939bfc042ee0924b1b7993d0445f758d51933e85179c0320b0c968b48a91c38b5be923e1097c0c562f88d42294b6a2759bafa5428a74f1270874e45f6fcc60f21602de5eccd143cf31241f5921b5ad3983fb54ef17be3b285367e50c999c67247b552fe4bfce945f7b]\n[sha = SHA-256]\n\n# tcId = 420\nct = 05fdf6cbfa4af1c902361b4ba8469d75324c75ddc0cf88c5059fb68fd581545b66a87d6b39ce36162299a3b0e97865c32529c337a0a9d48f270c42967d41ad2a0793a543201ff295a0dd097ab4d8984f54d50d5be6575a7a2f94424c777a728aa78810cf7b4eff250c58c6cf85e3d1a76c648b3a1c054b4e42e538ea82fb02bbdd6a05b1edd029a52cc47b9826e010fa8aa024aae247df46f9cd2dec412d5182b5e8cb1264db01b1d82ab7cdbad1fef25267120045b0004f1b57f00e7f367e408a9b6eebe1dfac664d9741bf04e3bf241a08a5833b6c276431bdb011d703da0b440eac24747634a6d47b3bb398f3b71fe0f03f4335b1cc7b7a54bf6137f0856c\nlabel = \nmsg = \nresult = valid\n\n# tcId = 421\nct = 26342a83a367b1ba2dcf9f57621cee250f1b87e5944da80bf305d65a19d46934fbd5802c6651493601e9ef2a7d4f96d1eba3aa7dd0ef502a48aee7ebc1095154a3874215090d588a599ac216744d18c6ce30588b4664c893fa304dcee1a8f7c10f51012c74dc22f73adcf573bc1cef7815a21efdff05c9ba207751f57fc61d349f95eb9b8469c8fe2956e53afe6aa158ea419cc346e6bee375b63c41ff00d0f9feb284264100974cf01d05b81cd240719d0dd3eaf7b61511c9b6703d2c3be06bf36e21573ae3dcbe66be3c6760759acb44bc9023297ebfb08a647b3f1bc352bbacfa1c661b404b035ca55e661924ccfd3963d620c678c03b7ef1d6110c1b7951\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 422\nct = 9ac0a46b869da3ac947b540a5881231c9d284c0ae583aa452a4f9694bd7e892d4348c6bbfa2f02e13c9790e3005d1578ab64c029b3ea92389c89c08ddea6270b9391e8b86dfacf63e06ff94f64da5d140e48baf8d8add17a2c97600da3fe461f44cf9f1fc908af081b6c8bbceac47c7a2e599ba5eda9a0f5578a7a0d97258d3b1cbef0b5e08e53473bfa736a9750f821d262dacee03e4652a89200cb4ade1f19fe56cd796a10738be1965f96e9cc235e7144678530e069a2800312fb70c44e85676628993298f169ce1344f31e836474b6d0ae71cfc4738e8c054869520948adacc1c54fdf03df0f285279ef2a45260f45ca964e111091581a5bf97e2a64f05b\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 423\nct = 14f25db5a04acc950c49e83747cf6dbcd3b628599ef9b737039240baf0ef891e131b2e96c9e0b78cfd649000387ed5cc77bdd38034889783de5fc4904ad100f788fcd8668e3821daa401ca7d60e02ab4554c4101fc70b5890b34295d23618b9e3b424e7ab34308dd12c7e4c436993f2c5f11cf612a9694bb1aad08d65e534489bbe208d0e072d4b2fb5f724739aa36b21588b1ac431e947cd1023876cd3011b5028a171f9fd2edc06c139e9debff14934ee83ebefb2b0ac3513d9bada027001ad911503b36de2dc93810bf0534ee4bc7cf5d5041ce21f3326b2c52d273d83d6ab4fb2adbd2e21ce9ea37bd3f2c8e616a295adb7d99125a7b892668b68def6a35\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 424\nct = 5620059fbb281fab2f0f4af5538101a03709558efae09a3d74161081968efab1380be4f69d59d4212cabdb4fa5a9bff3a51bdaa577116f55d500671684953c6feb8f76a70de7bf3e918c80a1c48af29df8080bffbad2d0f5f081150402005cf7d21c953033cf8b2af8c6990e13001df6f4ebebb7fe9155465ac64ebd1aa7bf7189a04d8f55dbdd286a4a3553fdabb7c25a59bb1484c65ed720d3ba8ea92fc5038a42c8e0cbc21e24b12b53468e4538d7b6dece2e1e5db591a865d40211087dc1d9bf84a99e61e2eda02f456c0ecbb1dd8642eeaf40aa7f62a4041fbe75a82b8d5828df809212cc64660cc223973eb872f027ce8429af964febb9a2420e1d43dd\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 425\nct = 4010dbe154e37bf5529b967cc81dd15b377c472e5a3a424ceb2c7edc5dc158509ddd811c93ca13329b59d9f898aaff073594d01c51094f7343efa2f498149c2d4f99a4977799abd97eb73023f76273671d709642df84e336b4370900251b7dc508e947b46112619addb5422bd1792d6167b34fe9b74f23ab480d5aa1d73669d2f32bb01d9bc1d5ee6f129be8a71022fcdf18d5bf9380beb6d022055b1f6c3abd8e76af0336334841afc479acc9ed1ac8be48780b08a344db0b38f7b652b0fdc5f75ba1323fb7622633feae6808fa81605f0f5f960d98e96c6504094ccb5e203c386d05bd0efcb4686556b5200f854ef25899742242058cc972bd2cb867e1ad0c\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 426\nct = 3cadcdf8cc85865b18964c3afc150f345566ae7375c2497993f08ecc6f74dde8247f8703a592cbd82d0f01b61666fe7002fda7724f10155ae46e0db25b3b90826dea6902e4a7694312c64527e08e0c98a23459ff246bf1109ef3272fab7e7bf3f64059987b7977ce953b5faf50c8bd2f8d6ac1e1021d000a057b0ebadfdd357937b673e20f5e1cdba0719dcc43ade17077eacf98b1e87e9142dca02cb87e7d602dc64ac72e351efd43da64e76ef5bfa60762ad17d38d3b423f9cddbbf9d7ce08c954c3b5ac640a9cc0eef362da1831a2b3d6ad7510f99ee00c03964b276cba32e282708eebd98c7ba6219462fa5d498ae87f83a359126bee246f2a5084c1a73d\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 427\n# Longest valid message size\nct = 288354d351fc0de6df2ac48492a0710b1cff6fbf574de3ca686b372e89701cb924931134e1f465896a71b551ba1d3415a6608bf63a445e18ace398e04a76646025f18d129e4d795eaf08af4c25cadf44ccdd7be15130c17fa7bd3e7967d89151a98e2c8fc0d8bb1ceb2e7d27688586b4e5bad033d55cd4341a73b500fc6024259b0e62710df85858493d23d0359aa53fa9bf583b6384c431111ea9b466c80bbcbac28eacc6165c682fffd9eb849bae71fb22b2b45ef6f11062fd1fd89c0ab6e6587411de16e2c67026890b897813e48e403673aedca90ba5eba5157e483c184da7b142ffafd3eabca22d5a2b5da1fa269a3d9f89ce21d7611122c2186c514760\nlabel = \nmsg = 78787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 7627eef3567b2a27268e52053ecd31c3a7172ccb9ddcee819b306a5b3c66b7573ca4fa88efc6f3c4a00bfa0ae7139f64543a4dac3d05823f6ff477cfcec84fe", + "2ac7a68b17204b390232e110310c4e899c4e7c10967db4acde042dbbf19dbe00b4b4741de1020aaaaffb5054c797c9f136f7d93ac3fc8caff6654242d7821ebee517bf537f44366a0fdd45ae05b9909c2e6cc1ed9281eff4399f76c96b96233ec29ae0bbf0d752b234fc197389f51050aa1acd01c074c3ac8fbdb9ea8b651a95995e8db4ad5c43b6c8673e5a126e7ee94b8dff4c5afc01259bc8da76950bae6f8bae715f50985b0d6f66d04c6fef3b700720eecdcdf171bb7b1ecbe7289c467c1]\n[e = 010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d5]\n[privateKeyPkcs8 = 308204bd020100300d06092a864886f70d0101010500048204a7308204a30201000282010100a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d50203010001028201007627eef3567b2a27268e52053ecd31c3a7172ccb9ddcee819b306a5b3c66b7573ca4fa88efc6f3c4a00bfa0ae7139f64543a4dac3d05823f6ff477cfcec84fe2ac7a68b17204b390232e110310c4e899c4e7c10967db4acde042dbbf19dbe00b4b4741de1020aaaaffb5054c797c9f136f7d93ac3fc8caff6654242d7821ebee517bf537f44366a0fdd45ae05b9909c2e6cc1ed9281eff4399f76c96b96233ec29ae0bbf0d752b234fc197389f51050aa1acd01c074c3ac8fbdb9ea8b651a95995e8db4ad5c43b6c8673e5a126e7ee94b8dff4c5afc01259bc8da76950bae6f8bae715f50985b0d6f66d04c6fef3b700720eecdcdf171bb7b1ecbe7289c467c102818100dc431050f782e894fb5248247d98cb7d58b8d1e24f3b55d041c56e4de086b0d5bb028bda42eeb5d234d5681e5809d415e6a289ad4cfbf78f978f6c35814f50eebff1c5b80a69f788e81e6bab5ddaa78369d659d143ec6f17e79813a575cfad9c569156b90113e2e9110ad9e7b48a1c9348a6e653321191290ea36cfb3a5b18f102818100bd1a81e7977f9898122273ae3222b598ea5fb19eb4eabc38308a5e32196603b2e500ffb79f5b886816611debc472fac45544070beb057c941378a6868af3b7a03d3f9880ec47d5e089b94fbde542aba9ae8d72c57088d7abf5b131f39098f7bc160f90536abc9492fd4e06f3ed7299d4b97bb03677207d95669f140cfbc20f2502818100a94b528b28f291599121d91952ffd1c7f21d7c1479d99d478885fb161870ee1218bf08472612dbe5497e8d9c650688e09c786961ae3e2c354dc48ae34514759c4c23c4588488961dc06b414e61c0e1e7fbbd2923d31532fe289f96da220711e58c14019808e00414276933bb07e4efb9b4a9b37656917205209f33f09515d7c10281803af0e72a933aef09ff2503df78bafed531c02ff1a2bc437c540cdcbd4ad35435cf511763596543480629b114ca7f780ff7efa32ea0cb6e000d6d9ea1f2ef71fd9cf9948422a165557e37e755edfe70d90b920502eb478bc98a63f788ce3a0f856d6ede7251a383bfa8fa480a81a925af7b3cc538c4bab8c9f7597ffb68011d8d0281802640fbfbcfefb163ee7a87b6483a66ee41f956d90fa8a7939bfc042ee0924b1b7993d0445f758d51933e85179c0320b0c968b48a91c38b5be923e1097c0c562f88d42294b6a2759bafa5428a74f1270874e45f6fcc60f21602de5eccd143cf31241f5921b5ad3983fb54ef17be3b285367e50c999c67247b552fe4bfce945f7b]\n[sha = SHA-256]\n\n# tcId = 428\nct = 5fb38b6686f4b2b22e9ea8b826dad4cb3a023fac65f25de945da381c544e7fcdbb5cf1eb67079c46fa67d38b2c27907ec521c41688426fb08de7e1b251d299da4ef5129d36f0432f4037b9babb38fcf3263b64298c0237a274c0168371a42e01a018d0f98b9fdbad633adb52c8e763ea9e2f6d690b8336051b035b3f10dd167ccdd2e5461a4a54e8d9c91a6e00559a80164eed1e2ae591d2da60d0e8de1603e5e8d88c19e4c3bdd51fc33161851c9fc00a97f8ce475fde59bf1f2f1891dbe69e65e1b107bdac14d12c263bdc3a6244d4bb85c7289517d5f5de54017e52aa4e2b141ed3c28fb2832e8476d65110fae57ec2ce220a42a3e7150dc56446f8a64935\nlabel = \nmsg = \nresult = valid\n\n# tcId = 429\nct = 60db303a1b2e8ebd19bed21c9eb9abf8918dd9864304298d5a7eb70bbb141ca7820d833c7f4c66ce822697680acd43d0e162605d70b84871377b1e4f83de863fb9240d3fe6c37e4c9211b4682b9db8e660c0a15b0b93ac7a2b6f38dba80b25d43a194a2a8da1527ccca409581b5803df2bde761b98458db563f96a32cf7f7145f619aa06101e7195dd5b845e4761866bfd87f3d7695d2358bf1a916b0877af9c3047ad35110c4ebe23ad5281877d932887a57856090285c9e1b356acf18b9e9bc4efe4a26eb8de52f785da7df234a38dce78d18209465cbbe9d2ae69b1721db0074dfd054c3b5594ee8d90a90026b91b5c34617973ac81558669fd58b2d1ce4e\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 430\nct = 2fa52432a5725e7eb2c91fec27d0faebef6cabe4cac6a80fd57f9e758a0deeeeeb55ab916d9ba9d33858b88ba401b14fc1de90127e1785241afebf43b25cc80b9f679f87bac86adb2198f8cca43c1a33d2c023c6b1ea16ae8b9a5e0ac34a6c4c2ac33cee7822c954df10f24e4f49f0050811728ea0cb4d414451a2dfb99c4f277754eda851fa02db654c9d052d4e01d1a8d973c2b0a502365e7aa2a68940e26da2137e0585cb837ef5fc3760248804fcc37db860718c8c7297e49c57e6b35f37102fdd24477cb74df41fe7a6cfe3624880418b2ac049a67a732d23f87869082acdf6c1cf4bfd8c92701a435e45a42686dc38045c65917801410bf179283d6451\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 431\nct = 7fbffcfc6ce099dfdf8b966e9474f5eb312a3ca8c4dbc57a1ac353df115cce335e6d4b48bbb75467995cde7d425564395a1173d58086a749b3a3054febba078d4b70580754a6ede4bbb109bf07371a7bd93fb610362a6a9444abc33fa5e808953d1c781df2406d411d2122fcdd6745e177f373a29bed5b3b60b6e412026162fa275c826914c3761bb056fd67e99a97a0872d833d098481abacb3e975d69c15424dfe53a671caa09e70e495d2ec11d3bcecb99aaaf3c7fee67db84d5febb1b110625f8db0ba0dcec8790446b21439a31adfb87325353f7bcf355b93dd1b267f4abe301546384b27a8ebaea61e02f3bfee2a8d15d3c7982d94ed37cddc2f37911d\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 432\nct = 7bb8dfce01dba922a00d76acbe386188757711302ea2d9b210e0e7ed308a8575a770e00f4f27762147af577c8407a915c8b114917c80c0cb025c31c4032764f03e80490dca47aef30f6d5c28ad763e9260b7597f43c1d5bba783cb9fda777a649e857292991d8086b2d417be6b04074a1a9a71097339b3e2f61fd8fc04d370fa8f77561bff9b2af18ea843365b3bfd55df775389a39e2d3a32065463e920b9c19d40952d10e9656e535105b143984c69f70dbcf1bd13f75dd9ec95ac599d2b8eddda587f162223bc07009c1283a148edb93265fae8d7fdb31ffaea2456a048a59b55608984a510340579583a17c65ec8392926a4b0d98f6ef947b767bf9a6e34\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 433\nct = 96199799075e6f826c2674abfa52a882830b561a61d3ee87de8b9e14d430d967f0d8fec7911c7781abab06f1ab771847a72b2b592dce6aaf3f41d3af775fdfa0d4bb91b16d6fd38c01743c01eab29a1fe2d36bdf8700bcb34d66851ab6ef655c187001307a6caf1b25c7c835e92f9df5d9bf8b76a2c226f6a57822bdec194951bee7741d9487aededbcb47b3b84e66150f7f69486f6b6b5472fae0d17a090991649eba2d01098c59db8165b66cc8629e93bb8cbae830bab720e9691d26ebdfd0b26106ace7bc0361974e5e5f893448b389156a9340fc1fd52146de25f9f2886248a4750a6352141f957ce6a1aadd819d10ebb01936610522f533fdcb9db1891b\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 434\nct = 91accc3687af57e3108b16c5685831e4836b12350268c575c36ccd9d6a36ea1b2796e495017714247cd49e68f2f2dc60864b497dd7d84ffc91e07c58e357de7dc8faf138fb409e23c7c98cb84e533790d47bffa176da14fa61420dc57a5f753898efed28240dffb50eab32694faba79108dbcae65b0ab3aa94978c13cab17465a69fadc5ad3aad21a03d56df9fbe3effb66b0d2e12b85fa0f222b2c2014338d84ae99238a1c94688084a74c9202c023b509614c5cf52eb74562a1f9971da406876283d6521eac983bfa37dcbb2f4aefde6b9813d454c5e59751ec98b7bddc1fb42f58be64f137944ff8b4307c01878b0fb00766a2abe9ec1ea6951bfb64a0204\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 435\n# Longest valid message size\nct = 074cd33cbd0f7d59dcf2d58edac8a260ba151a37b2574e8b3eae56b8ddca5cb9f0bc86f242bfd2fd0e63575dba0b6b5061c3749c3b921b800aafca50fcce0a17fadd6581c5b69a3243914eabd4714f084031cf0e0ac8f8bcabdc1bc5951437bb4f7cc89a0facc77023c2d611d0448fab4846d804198d7a67875abaf452929873b53af00b5e1cfbf94d2da1c9599df176f5b49002be9846c07a0006a1a76eabec11b724369c6022ab0a9a8b91634b4e7d7df5ad0b22168b6357210753ad32acca6b3ac55b0b5e4b601839c115d65eec1882f43508ef2adb9bdfea1628128cd17b74e5df359f9f4c574a732eb7a2a315782095a8c9c347992a86ba6dd107bf24c0\nlabel = \nmsg = 7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878", + "7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 5a3dc962dafca26cb3640e73bea7439a9f1874bc23e04226ccd89e7ba5c3b938a1a293b70dbab0f9f0f57f66951447dc33e730fd7e2c2a164d47ac502b07dd24cd3c142c2a79e4ceab5cfabff4478754b25a8c02c1a47d80d9f37abe442ca9a78b23f631b6ff3e15a4956d7f18590cdeb206d5e2b698bd084f260e82ef28ff9ec6dbc85a895ec8a3865750f501b96125db1bbdd99a4ae4688adb304aabdfc4e0cfb9fe6b6bc0db74c88af8217eed738a0d04fe8d32c1d110370ce1c1b2f630657350694942730878e6fff77ada7e9a317df8bc059ea7081325306b8eb2fa0d3a3d89fae476d9344892bcd5a42cf83b7bcf3e0e51b4c78e72b3207a60a701adb1]\n[e = 010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00cda6fa5ca76bfe0492ec57e0a3bfff7272dc8d1e25ad1fb338aa050f02c104e63133d6b5b7c4985ebbae9ac036a5b9c03074d60aec8e25baf392a0c430ff05b88e948805d3dd74511d8885250a7b574215ada015c559076686e253ccc96c0815b1291ee787cc3363b4f77d930eb998d7c582b24cea9ce21de9722791989863a27ebc80a00de5bd2f9228775e5a4ceb054d58c9be36a054336971a13642dd9510dd696aa268db3aab2299d5d88f8e562434d1427094d3df8e72d1ef69b4ed34d12bac375223b2a25cf227f735f816e85e17239304769a6082154cd15899fc1eaefb69b748a3e5ed24d38372597de3e4e2a27b951d6ac7db182d6809d8ff511b7f]\n[privateKeyPkcs8 = 308204bd020100300d06092a864886f70d0101010500048204a7308204a30201000282010100cda6fa5ca76bfe0492ec57e0a3bfff7272dc8d1e25ad1fb338aa050f02c104e63133d6b5b7c4985ebbae9ac036a5b9c03074d60aec8e25baf392a0c430ff05b88e948805d3dd74511d8885250a7b574215ada015c559076686e253ccc96c0815b1291ee787cc3363b4f77d930eb998d7c582b24cea9ce21de9722791989863a27ebc80a00de5bd2f9228775e5a4ceb054d58c9be36a054336971a13642dd9510dd696aa268db3aab2299d5d88f8e562434d1427094d3df8e72d1ef69b4ed34d12bac375223b2a25cf227f735f816e85e17239304769a6082154cd15899fc1eaefb69b748a3e5ed24d38372597de3e4e2a27b951d6ac7db182d6809d8ff511b7f0203010001028201005a3dc962dafca26cb3640e73bea7439a9f1874bc23e04226ccd89e7ba5c3b938a1a293b70dbab0f9f0f57f66951447dc33e730fd7e2c2a164d47ac502b07dd24cd3c142c2a79e4ceab5cfabff4478754b25a8c02c1a47d80d9f37abe442ca9a78b23f631b6ff3e15a4956d7f18590cdeb206d5e2b698bd084f260e82ef28ff9ec6dbc85a895ec8a3865750f501b96125db1bbdd99a4ae4688adb304aabdfc4e0cfb9fe6b6bc0db74c88af8217eed738a0d04fe8d32c1d110370ce1c1b2f630657350694942730878e6fff77ada7e9a317df8bc059ea7081325306b8eb2fa0d3a3d89fae476d9344892bcd5a42cf83b7bcf3e0e51b4c78e72b3207a60a701adb102818100ef885b87e25c29d1ee431d1f4ace787c4f882e92d12c4b2766c84f89263106ef0be0ddc4de3bf061a2ba46ffe7c132ae67d337f04dc66daeb9de553791f4989f50b224c981812b5388d1c2b5d53349a61393bf6611995b6988f143c278ccc260cfe82a6ac4a6409807eab32664b7ee3f1c41dfe567e097fd7afe8520871a1c5302818100dbca582288c81a30d6581f272050a5fea773d711301bdd6ecac7214e00c0fcb9498f1e585086b14463cc89a02c2e77a89271c058c6f69f3cd13553994d8a76cf62ad9e275217720d62eb6e888ec4509cea474b53f37b458fc956dd31df3bb6ec7de659e88e7e709fe3be6a8d37264c3d20e7d088276ce7651a403c68d6c47ea5028181009d7e87c851d28d80c5eb84f375494ab959c5cdf1a4ed3dc0fb78cbaafedc8f958fb6dbba3cf1263ddc3424c8d0461c9fc60e802255d1197f20210ae10debc88a4011d1d4587d68d2750c8ebce620e1d4fbdc52a5b6fea1b7435e7752200169f123e2a0393171aad90ba38b05bc859f76098b5abec8cd48c2572390bef175fe970281800eed602d00432edc30428de31763c2d257c71b4d348a3ff0bd5ee6d9285df30c167ddcdebca1593abed86e646d7bbe6eb97b7647d14380af1dba54722dfd0072b74df956cc5181527d6c65f66a53d4f1c34b9247225b35ef3d0a643d75ded55e9c725f9ad6caa995825f35575fee7ef10be2129c9ca8ddd2550515d53cf8dd6d028180101d1f49afb04d065bd8c29001d212e737bba696108574a330a9cbacc51bf6c96594f37fba9c8de156c226371d49902191e1f69d84a1352193bff29e318eb36ede6ffbab93b6555ecf6addca9e134c20220a2d24b03a6d23ef8c608a5186769f66fe2f6b21bc39f6277ad706038b907872c4716609c223762130ef03616482f2]\n[sha = SHA-384]\n\n# tcId = 436\nct = 8402dbdca0d3e9ce70cacfdfe3b2ef26ed92a6b8dc3c70640e06d0900213824a79d0cce6d0d781306eb236384d69f3ed9d921db8203e82a0cab04a51c12eb0a3fe668ab0ecfc419d3529f9970d45d9bac4373ec312b2a24f0c829aa0c0051e44a25e6da5bcccf9edc6f1d87f152b4770aedb8a36993d5768cd97c302abbcfe9360baacf437d68f59048280b560f5265e7f08769103468338bc9332568c20c7efbeddca8350662d64964ae5338138ce13c0cd0c9eb6f0b2516ef227bdbbe55d208f470ec5976116865f42897e63294d4fdbf36f6f4fc43dcb79d2c84d30c5f69ace97abe77a1d82d3fd815253d5b573dde8eb01f96416085538e94b8a0d95de57\nlabel = \nmsg = \nresult = valid\n\n# tcId = 437\nct = 858406b01fa56d4f216e36fe4fb2ba991130cd5ef56542ff60bc5ac95eccdaffc40bedb373babf08a79620f838d874e574935604cc15b2dc0220f84ece76b43d5239c3012f0cc6a446dece3616606e36026fb1544b26ffb2d0dcbb954eb812e96abdf245dfba3ea30aa5d5e7b81973f5c00a9e18a5337bdcf046c55d7e5a6028b093e6fe5e825807376a27134974bed314226cd65e17077d721cb52bb083e5e379d2cbe8594617908d9b90e0851203ce7d9dd8df667e86c3857c2bf9dbbac70f939d822c188de67c60f3bfaaed36ad4932c2e28bf9a5460bf51f2ad381e96391c4024643c19165e63db29de6232c7bbf951d04d6fd67df6d0dd08c4d164386d0\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 438\nct = c5390503bcc08959ab92c92ec9e07a59cddd2ca4929bdaec89efde9c4da1011c1be7484eb76b649769f3d258219a2503464c284a1d3bf12af8e584c45b717db7bebe3255a1b8aff1f19bc2ae26672d2bb1cc3d05ca6f4af9bca6967f22593e54d7c42b10e19735d483862850b7f184fcd38a3f895cecce365b68f922083c4737c16d152d70aeee8edff5d3a3c0153b33529b8faa73bccc4e2342b23acc227064d09fa7b66583068d9ae9978c14f96998362dd9ed0f67290b8eb220557e257daef38f118873094b8733c6d72a1aad6e40601cbec847690842a38de4f85e04e9d0edb39834571adb0da4dd158f8e22a6678db45ac86ce797d8b86d4d6de844c0dd\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 439\nct = 5814d6f2f3b23545e005a4f72eb0ef659fc07a8374780f8eb9223dad417bff6c96a91c6071abd678a8c9cbf0b4735e4c225e984669224e88655dd4f05adf1cb1ae96f7dc7932a0b387158a915f7563085f44c72a41f331e0e17e6895e442f7492151397159637968b15888f851323107bfdc1cd419d6ade56b974aff865d5823daad3d0cd8b1a94ee1767b70fe477c64a5bfa593783aa90868d4456f098630eb32ae71ad4914c142c805a69d2fd0e93563feca567ed922514c0c8867332c053d4912cd17d238eb46245fbeb03439c6e6adc1cac06d1eb41d9a185057431b25d4600684e057e571dfd1a573dc60395e7c2e3d612f9f66472f4dff284f4cad4e6a\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 440\nct = 8472105e089af324cfcbad5eb2ce2f85185f2e2f5a9e5e302022eaae5e40b1507dfd4801ac5d4743b18b87d916b2bb55bba812735831296dfcdf4087ba4a4dbf852f0274c7e37dcf2682c3aac50a70b6d08835b0c59e90fe3ce2f3b6100863936a67af141236daf5f588f2eaa09c391f5728dac6a007a02dde61bc69c65d4885149a344046d66f1b91711eecf5196006fb916ec209e5bd251ccb97b08c31aa1ebb25b44028047ae4f61adaea5215e0324af6d0509da3a3843eed6ae53fed3a1e459c7aac4d94f8c85611354e0e24f7630a42b184805f67aa7ed0bfb57e6136c43261f81940338fb4aeb662d29301ff3a0a5a01aa20e53f4041c20f14207ebe96\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 441\nct = 3645e92f0c46b7d6f6765575fa9aabde09512564a2d2ac80aa8b43710f34c4aff72d2df02446cc548acf30e34994020ed7301bba6b69bb4e9abcc766e3c9284abf824ae8389fba58bd2633b01edc3ab648788d31bc7b404f6e079a650dd8224b0642fd589b3f84cc393d18bf8b3a1f65fbe6684f6a76b3e767d5f2953db53e61dbfd69371b69b7112284f256ff11beeded9f4deea47350c283d825387981c1d51d62ca032485a1a6f8582148e7b80d2c55daae467576ef45be6f00e676eb5a40da88c18573ff012267859030cc614135dca8694dc0a0ef0d00e62761999d93c3e8651a11fb43a028370b481ddaf6cd8c4a086aea2e658d44556a6eedd64da5d4\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 442\nct = 4dcaf6ae82481350b49b344e2ff3348d0064b63d4a686283cfe7ca8ded4d73c55c9cd3dfc6656e3fd18e45dc69dddcc82a33b46531f3b5b7682ef1fa0068ec42583a2021e7dae3908d924a6bac3bcaa123c88afcf1dc6e22ac6be966723223f5f7aa46e2205c6e6cc594cdc5cbf9315c641a84665d66408a7b4f38ba6672fe3c77c53ed13ff5ca5e3d78ab51fd19186802709a0f98d7de5efc10ec7aa4448c0e89d506168acda5c85a12badb8b4104c6b6d48ad4cfaa4e055484a8c4009bd579e89b81d7121d4bb40e94a31f35ccab0e71cf767158139e7b413912efc9716d8de8f088467cb77f8e0649aaed9ef9f48df64cddd9b75ca5f077a08468a768cdcb\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 443\n# Longest valid message size\nct = 672d24c076429291e410245c34e35eda0356fb22076601d55bea1bf309a8734062f44ee6615df4fa0067d43e86cca0a823bc4089cd50517fb3b921585ba0d1fbdb131a24685c02cfb25ab56ade1de0f6e705519bd5ae7e4eb2cf2a63ba953", + "7ca850008712825cb2a2873dc76715c9922fcfb3a3acca0a4f15abfaf49fc298b5788bc912266900cb82700404c502ed66c83b6a4e93830bf9ff8e547a6c623ee99927dca03447fa1af896d76e59ecf3ab73e0453fd0d768f5ea1f4c8252f6a01849f8098461147c8e137533a89807968520c1d18b2cf62677ecdbbad1f09615c6ecb4939c7cdc17a53dc46f8143c36e3ebc99a21ef9320e770867d90fa3f083f9b\nlabel = \nmsg = 7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 5a3dc962dafca26cb3640e73bea7439a9f1874bc23e04226ccd89e7ba5c3b938a1a293b70dbab0f9f0f57f66951447dc33e730fd7e2c2a164d47ac502b07dd24cd3c142c2a79e4ceab5cfabff4478754b25a8c02c1a47d80d9f37abe442ca9a78b23f631b6ff3e15a4956d7f18590cdeb206d5e2b698bd084f260e82ef28ff9ec6dbc85a895ec8a3865750f501b96125db1bbdd99a4ae4688adb304aabdfc4e0cfb9fe6b6bc0db74c88af8217eed738a0d04fe8d32c1d110370ce1c1b2f630657350694942730878e6fff77ada7e9a317df8bc059ea7081325306b8eb2fa0d3a3d89fae476d9344892bcd5a42cf83b7bcf3e0e51b4c78e72b3207a60a701adb1]\n[e = 010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00cda6fa5ca76bfe0492ec57e0a3bfff7272dc8d1e25ad1fb338aa050f02c104e63133d6b5b7c4985ebbae9ac036a5b9c03074d60aec8e25baf392a0c430ff05b88e948805d3dd74511d8885250a7b574215ada015c559076686e253ccc96c0815b1291ee787cc3363b4f77d930eb998d7c582b24cea9ce21de9722791989863a27ebc80a00de5bd2f9228775e5a4ceb054d58c9be36a054336971a13642dd9510dd696aa268db3aab2299d5d88f8e562434d1427094d3df8e72d1ef69b4ed34d12bac375223b2a25cf227f735f816e85e17239304769a6082154cd15899fc1eaefb69b748a3e5ed24d38372597de3e4e2a27b951d6ac7db182d6809d8ff511b7f]\n[privateKeyPkcs8 = 308204bd020100300d06092a864886f70d0101010500048204a7308204a30201000282010100cda6fa5ca76bfe0492ec57e0a3bfff7272dc8d1e25ad1fb338aa050f02c104e63133d6b5b7c4985ebbae9ac036a5b9c03074d60aec8e25baf392a0c430ff05b88e948805d3dd74511d8885250a7b574215ada015c559076686e253ccc96c0815b1291ee787cc3363b4f77d930eb998d7c582b24cea9ce21de9722791989863a27ebc80a00de5bd2f9228775e5a4ceb054d58c9be36a054336971a13642dd9510dd696aa268db3aab2299d5d88f8e562434d1427094d3df8e72d1ef69b4ed34d12bac375223b2a25cf227f735f816e85e17239304769a6082154cd15899fc1eaefb69b748a3e5ed24d38372597de3e4e2a27b951d6ac7db182d6809d8ff511b7f0203010001028201005a3dc962dafca26cb3640e73bea7439a9f1874bc23e04226ccd89e7ba5c3b938a1a293b70dbab0f9f0f57f66951447dc33e730fd7e2c2a164d47ac502b07dd24cd3c142c2a79e4ceab5cfabff4478754b25a8c02c1a47d80d9f37abe442ca9a78b23f631b6ff3e15a4956d7f18590cdeb206d5e2b698bd084f260e82ef28ff9ec6dbc85a895ec8a3865750f501b96125db1bbdd99a4ae4688adb304aabdfc4e0cfb9fe6b6bc0db74c88af8217eed738a0d04fe8d32c1d110370ce1c1b2f630657350694942730878e6fff77ada7e9a317df8bc059ea7081325306b8eb2fa0d3a3d89fae476d9344892bcd5a42cf83b7bcf3e0e51b4c78e72b3207a60a701adb102818100ef885b87e25c29d1ee431d1f4ace787c4f882e92d12c4b2766c84f89263106ef0be0ddc4de3bf061a2ba46ffe7c132ae67d337f04dc66daeb9de553791f4989f50b224c981812b5388d1c2b5d53349a61393bf6611995b6988f143c278ccc260cfe82a6ac4a6409807eab32664b7ee3f1c41dfe567e097fd7afe8520871a1c5302818100dbca582288c81a30d6581f272050a5fea773d711301bdd6ecac7214e00c0fcb9498f1e585086b14463cc89a02c2e77a89271c058c6f69f3cd13553994d8a76cf62ad9e275217720d62eb6e888ec4509cea474b53f37b458fc956dd31df3bb6ec7de659e88e7e709fe3be6a8d37264c3d20e7d088276ce7651a403c68d6c47ea5028181009d7e87c851d28d80c5eb84f375494ab959c5cdf1a4ed3dc0fb78cbaafedc8f958fb6dbba3cf1263ddc3424c8d0461c9fc60e802255d1197f20210ae10debc88a4011d1d4587d68d2750c8ebce620e1d4fbdc52a5b6fea1b7435e7752200169f123e2a0393171aad90ba38b05bc859f76098b5abec8cd48c2572390bef175fe970281800eed602d00432edc30428de31763c2d257c71b4d348a3ff0bd5ee6d9285df30c167ddcdebca1593abed86e646d7bbe6eb97b7647d14380af1dba54722dfd0072b74df956cc5181527d6c65f66a53d4f1c34b9247225b35ef3d0a643d75ded55e9c725f9ad6caa995825f35575fee7ef10be2129c9ca8ddd2550515d53cf8dd6d028180101d1f49afb04d065bd8c29001d212e737bba696108574a330a9cbacc51bf6c96594f37fba9c8de156c226371d49902191e1f69d84a1352193bff29e318eb36ede6ffbab93b6555ecf6addca9e134c20220a2d24b03a6d23ef8c608a5186769f66fe2f6b21bc39f6277ad706038b907872c4716609c223762130ef03616482f2]\n[sha = SHA-384]\n\n# tcId = 444\nct = 220c676d62a4537401828bfc71eb40cd71bd88a9ef43a0ea80cb7b7889e7fa13a6e0ac38fb06b4bd1428e88917eb4f8918ee49f2409fd3c48d88a8c4fc74e79ca7422b10031877f8b88dabf3e1ecba340ff3bcb035ab6fdd358c3ed29079ebd4807a2678bbf24ee98782e18de8cafed4aaffc0c6f9cffc71a299a159b4d7a1d9687c28559604568a0a3d8645820d96f4df3b27da8e80d91186d6618d7881c6333b4110372e37cf266bf94c3f52c168abec67838e279a8d6c54f051e87fe34d861d69657a1d062ef24f0981816f6738f9033e06cf71b59375cd9a112bcab60e907bb19351919504195cabebc3fd391e54b849bef59c658b3374242c8727826844\nlabel = \nmsg = \nresult = valid\n\n# tcId = 445\nct = 4627ae414989cfab224eb2132d291638dd6d36ea447d8c71210a20af984df41b06b0b23b2bcbf6e4affaccebb3bc89b13407835b4317303c8adc77624ffb76cee29433b857b701acad1226e462ee6e43a95fb1778c169806fa714c74601790dd55e84c450b28e04bf924bbe33d402ca9c386b3873fbb10de137e01056449273eb1847654a439b4a2111cd5ec28a974d0bcea4e946a9e2d83b74bea2ffdb20db67c537a3f3d17d41183e59c86dab92a29dd03b41b17df791204661b178dcb8a1e5809d110714749da6a0c9a5b95fdffe8c004b6b944e5aabe2cee51b3284b80fae97fefe3f33bd0f77ffca6af436ba489f32dcb522c4bb630f6f277c7c2241d23\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 446\nct = 5e9738a7ee1149b004e97251e56e55bc8d0025548191608560d90a128ace598c7c0c8526c4357652413e5409def2548f399d91f0263f2aafac668da4ab24b2c2be18ce39ed42e2230381e00f718a2321328088d7007cdfcd9d1b12da8643134da622a9442f4116d2b59df9aefc9eb7012dec609a6b9d0c006187677d1582dad420e918622a51586abf978dd6fe2343da1f9a2aee60b6ad4876a8bd3e4d22eb8c607ad54a11f15f8b2a7d062ce98408ab00f96622b68a2d6ee639644bbfea4644110094f47203cb0525f26c2efd80964c09e43e19e4a63b9c4ca991f1edbc43061a1ca7b5816799ea6e78c552705576d1142a1ce8f7c287e25e4d10c38cb544c5\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 447\nct = 1e6cd7fbca2f0e610d976c26d826b5e22bfad2e8df041a1a9e851ebde7f756696bf97e2c49e1e025c5dbc42789ea1a3b033d87cf9356735b4a7a5d8bd2f07ecc355c3e8ae99faf38561579bc52ba68a5d8c775328d1800484bf4d5350d066e65280e736cf8da506f1ed60e315f9ac8f55a0f2c0142f73997e6b053a0bd7a199b0752250e0ee26555efc4f16b62e58408d5fceb7496150e8bc40e37d570a283acfba4c7efbb9578e947bb14014aea40c13dc5d0855d2b3bc7c548211e65e754a739e1cf7f74e4d9fa4bd552a83dd4ea91874bd8322efffcfdb79798b3130ec8ef9e9cf7feb39f10931ce9e79939ac2f2d05ad6764ce708661e10a230197134cbf\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 448\nct = 2aa220b1a693e8bdb2e252235a692d16691b7e7472c854e157ca008c0262ffd7d423ff421c6bf44e91b1e8f4a1482691b2f6716e0e5a4f4ef51fcd47555a4c53c95a3650205d8c7fb45f95f41d18ff28ca52941c0e1f47691df26ab08b2c5b7e57f1d9b656dc5adb91c35ac824fa4312c2b8612158ff0f51b30c130ef1951f0a136af2fdc42bbb9fe31cffde7367fa9645d65ed823c26d4325893e80bca3409ac45335fdf7ce19bc5ca857d6cef30b4c0c09753c283cb3ae1aa9a4eda8a8a5ecb6c57d035e06d064a0828d0e4bd51f81de47ddb76720a226cb071ad5f76627a478cda4f3e0e95a6569d3c79cc2d6e382b1091dc9b32e6740d09bf9f7e2cd701c\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 449\nct = 33f4bb776ac48721c08570630576c236ae7b9a782d077b68b82098989299aac026f00e0e5667ec8469c05a99481014e7dfe79d8d5b5d787da2df013a70c5579f45403cf752c2c06f1e7f2f605342d007b201cdb0f6b3648588d58b4d390bfb63f8c0f1abac5bd85070fb679e3332444dcc3be63f3c1c3e98247355a60a04233b81831f495a5b3fc2357be9e7a5d09a68cf5f73e51ef0930cbf682340abbf046b14ea9b28322326da5df2a0ee084276af87d6e20cc1add4278905a1f80d707fdf3644a25a797ba56a9b76136e457b2bb5c3ba29d875d2a3086904a97fb5c689cd119797e82e89e6167e3ad65044b6cbf0573540c4b3c3fb916e75208b0e6e1a53\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 450\nct = 9f8b35a481e2e70b1a0e51df65703c13d42b8642b4a397260ecb934565581a8e7e46e68eee26a1c5d3ce7467dec6c205b3d4d1a969a14606d368222bb6e25e5166c058629d4c5482344d4e2f1a870debf4db7e0fad757bcb9fa631d851509efac623719e7c6ee523433b3591329a320d4f7695257baad7320d7aa4890eb1eb5d572fa98b8bf13bd80f6f3ac050805be5c6e7af8f57beabd51ba33a44b63e7119ef595a75a34a1a38fc7f7b84171a1dd0873b4d83c7760b99a16389a8636b2a06ba9a91c84f294dbdcbe897d176d45503b117293138d360fb9db419d517ff2da7cb6f8b09fedfb34ddaa360105b", + "31bfb2d9bc4f1e5687bf69f3525df80a7323c0\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 451\n# Longest valid message size\nct = 55b97ab39f0a7c7175c4e962140a3bd2425fc9d3e4230098bbe131d2164b575d24e0b746f14f4e895dce74dd885d0976944d27d9a8355eb85b3baf4bf0a47aa6eb7ef24cc88a358c61ee404f762d621a6a790085f65fd79a08c8ede5b4d688dd5588dcc030dcc094902d8b7c484deb52755c3f2002d590707c599f264bea290eb99aba55acefa4caee32f2453bba84f51c78692c773b8f11c8ed7715aa20f8bf0d5e1fd918c3f44c1aa78360c38532ea37917a8c7206f1ab0475b875f2feb441013e8aca3ecef96405d97015df336a640a72d812167cd9249b530be0f75b0194f2672f03892d9a8315d4c2ae2a96925d9c28c37a559bc2ad59bfe176944fd3a6\nlabel = \nmsg = 7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 5a3dc962dafca26cb3640e73bea7439a9f1874bc23e04226ccd89e7ba5c3b938a1a293b70dbab0f9f0f57f66951447dc33e730fd7e2c2a164d47ac502b07dd24cd3c142c2a79e4ceab5cfabff4478754b25a8c02c1a47d80d9f37abe442ca9a78b23f631b6ff3e15a4956d7f18590cdeb206d5e2b698bd084f260e82ef28ff9ec6dbc85a895ec8a3865750f501b96125db1bbdd99a4ae4688adb304aabdfc4e0cfb9fe6b6bc0db74c88af8217eed738a0d04fe8d32c1d110370ce1c1b2f630657350694942730878e6fff77ada7e9a317df8bc059ea7081325306b8eb2fa0d3a3d89fae476d9344892bcd5a42cf83b7bcf3e0e51b4c78e72b3207a60a701adb1]\n[e = 010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00cda6fa5ca76bfe0492ec57e0a3bfff7272dc8d1e25ad1fb338aa050f02c104e63133d6b5b7c4985ebbae9ac036a5b9c03074d60aec8e25baf392a0c430ff05b88e948805d3dd74511d8885250a7b574215ada015c559076686e253ccc96c0815b1291ee787cc3363b4f77d930eb998d7c582b24cea9ce21de9722791989863a27ebc80a00de5bd2f9228775e5a4ceb054d58c9be36a054336971a13642dd9510dd696aa268db3aab2299d5d88f8e562434d1427094d3df8e72d1ef69b4ed34d12bac375223b2a25cf227f735f816e85e17239304769a6082154cd15899fc1eaefb69b748a3e5ed24d38372597de3e4e2a27b951d6ac7db182d6809d8ff511b7f]\n[privateKeyPkcs8 = 308204bd020100300d06092a864886f70d0101010500048204a7308204a30201000282010100cda6fa5ca76bfe0492ec57e0a3bfff7272dc8d1e25ad1fb338aa050f02c104e63133d6b5b7c4985ebbae9ac036a5b9c03074d60aec8e25baf392a0c430ff05b88e948805d3dd74511d8885250a7b574215ada015c559076686e253ccc96c0815b1291ee787cc3363b4f77d930eb998d7c582b24cea9ce21de9722791989863a27ebc80a00de5bd2f9228775e5a4ceb054d58c9be36a054336971a13642dd9510dd696aa268db3aab2299d5d88f8e562434d1427094d3df8e72d1ef69b4ed34d12bac375223b2a25cf227f735f816e85e17239304769a6082154cd15899fc1eaefb69b748a3e5ed24d38372597de3e4e2a27b951d6ac7db182d6809d8ff511b7f0203010001028201005a3dc962dafca26cb3640e73bea7439a9f1874bc23e04226ccd89e7ba5c3b938a1a293b70dbab0f9f0f57f66951447dc33e730fd7e2c2a164d47ac502b07dd24cd3c142c2a79e4ceab5cfabff4478754b25a8c02c1a47d80d9f37abe442ca9a78b23f631b6ff3e15a4956d7f18590cdeb206d5e2b698bd084f260e82ef28ff9ec6dbc85a895ec8a3865750f501b96125db1bbdd99a4ae4688adb304aabdfc4e0cfb9fe6b6bc0db74c88af8217eed738a0d04fe8d32c1d110370ce1c1b2f630657350694942730878e6fff77ada7e9a317df8bc059ea7081325306b8eb2fa0d3a3d89fae476d9344892bcd5a42cf83b7bcf3e0e51b4c78e72b3207a60a701adb102818100ef885b87e25c29d1ee431d1f4ace787c4f882e92d12c4b2766c84f89263106ef0be0ddc4de3bf061a2ba46ffe7c132ae67d337f04dc66daeb9de553791f4989f50b224c981812b5388d1c2b5d53349a61393bf6611995b6988f143c278ccc260cfe82a6ac4a6409807eab32664b7ee3f1c41dfe567e097fd7afe8520871a1c5302818100dbca582288c81a30d6581f272050a5fea773d711301bdd6ecac7214e00c0fcb9498f1e585086b14463cc89a02c2e77a89271c058c6f69f3cd13553994d8a76cf62ad9e275217720d62eb6e888ec4509cea474b53f37b458fc956dd31df3bb6ec7de659e88e7e709fe3be6a8d37264c3d20e7d088276ce7651a403c68d6c47ea5028181009d7e87c851d28d80c5eb84f375494ab959c5cdf1a4ed3dc0fb78cbaafedc8f958fb6dbba3cf1263ddc3424c8d0461c9fc60e802255d1197f20210ae10debc88a4011d1d4587d68d2750c8ebce620e1d4fbdc52a5b6fea1b7435e7752200169f123e2a0393171aad90ba38b05bc859f76098b5abec8cd48c2572390bef175fe970281800eed602d00432edc30428de31763c2d257c71b4d348a3ff0bd5ee6d9285df30c167ddcdebca1593abed86e646d7bbe6eb97b7647d14380af1dba54722dfd0072b74df956cc5181527d6c65f66a53d4f1c34b9247225b35ef3d0a643d75ded55e9c725f9ad6caa995825f35575fee7ef10be2129c9ca8ddd2550515d53cf8dd6d028180101d1f49afb04d065bd8c29001d212e737bba696108574a330a9cbacc51bf6c96594f37fba9c8de156c226371d49902191e1f69d84a1352193bff29e318eb36ede6ffbab93b6555ecf6addca9e134c20220a2d24b03a6d23ef8c608a5186769f66fe2f6b21bc39f6277ad706038b907872c4716609c223762130ef03616482f2]\n[sha = SHA-384]\n\n# tcId = 452\nct = 95ccf1b8f9cc3ea01d4f3613bf2cbda2f8f0fbc3e819710cd84e50a1bb9cb3808e1d8573d544f03cb3a94bf01ba494ca3638e6be248ae64f99ce93971a3c9ea7c95e3ce8cff9d4fc4ae30aa46d250b3bfa5af01776dfffd13b077a1f6dcef80f6491e533c78c8ca4f834766aa7d7f9d0ab7cbce701907f09d1e7c92f941c4898dfe882744b6a7c1466d56aaadaa8d4970b729783a11670a7e4f6aebe54d859f38406d4389167af2bd3b5f2b98745d65ec6dfedd94c2db34c4f65df06a1042725e7f79eed768da016726027ca1c71258ad25bd65b0d9d244e83dffffccb689437ded1b973bc1564bf5a5f1f015134a12fc3de9f61585b285ec526f87783d4b126\nlabel = \nmsg = \nresult = valid\n\n# tcId = 453\nct = 6487e82c1140088ed86ce2b8d916ef335702b12beb5b0c45a1a8da0061fb4656d84e843e4a07ff1fef3e58f8388510df84b3f5a7aebdae34205246addfbdf526a847cdb87fcd3061a76e910946ad6267e50b9840a2db776ad07783a57b278f30f4df68b315e1027466c68ae95807c887ddba4266916e6c67f6dc1c52f4320d5f0b4f57bc344d15e77f994b170ca63cbbb28e23e413563a1eade1a62bbb8d01e7c0f3275ce56c86376ef22e88d530800557228ab3c2bfc134a7329d646e35dc0c4bb0463085a5074ec22117022160dfe1fb555fb0e30f6765c3ceff3ed96b3e6dfa4c0b727be9b60d045974326129e4964bb950b2116daf7465f7895f9fd9d068\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 454\nct = 669f089d17ef14f98075d018139b77fa862657d1ee619eb717a25ae3fa862c61075809f96bf6c5d2ac49b767839588968dfd273564b3f078e14627be8617057074ed8397b7d48c6f5ba6ad5722cb3e4285c3dfc9deb39a2a4b5e410b74f28d15873d653076db48d42dad6530d9089b2af8536f81d6d8ecddbf6250b72bf34095d335a24cba5e9a94b26e1f492f52e0b487da5da868d1e036afe1dda6310dd904e31c05e4794eb600fcfb289b567855cbcd2eaa352cf551e35150cc9d0b06ee2ce2542bbade915dd659127b9d5b6253cfc13811a58a3bbad65824be7b2c6d9d42a4c55700ae0aba8e277ddf33fada119341c0f8bab4188c80957cd2e0a50adeba\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 455\nct = 5bb85029d9140eea126dcad60d0f2a99a2e72664455f63d36d26f1a1bee7ef4d93458116ebaaa42b49a0885089d7c679c552614c976b50574a530d2ffa446ae88e1861cdaab2c656b897d6e6f78cd9828ee6e0931114d89978cebc9820bd0d8c2acd666a54467a54602bba867f77773c84d491576a267b40e33902e5eeacef503982642994f8cb732bf0116f8089a4d0e495bc7bc6be7607f913639c184f6c571dbab33208bea97684c3e3b9ca382b19843ce0a2632583fc8f2297fa474ccfd52748f36012d029656ee148ef1ff03004b163ac183dcd8aba3129d6cdcddfcdc14d667a977f21c48a924ffd9b2acb6af55813fdeb38d3c741d5abe4926c99197c\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 456\nct = bcf80d78422fa96d77ee6068f14072098d11d124c3be0798c7001336c8390c091e1d96873ee2bac98f956abf1e38f07e270f5cfea8ab0d6b9328c19f4222261f58ce1204871249a03c965c2d1e3ab4dacb6d2a82d04c4c5932f978e067edf4bfd0eca4d2d684ce92677b0693256ac044d4385f9a29e5c263e9b0a4ad182563a725460c52d5ca8c8925c48e8ae54ef267e38a2aaf06d4eacf79162c069e934e38477aaec6cb2284eb7f5f8d4615d13eec49487f5e145431ba1e154fb9a4a5eae24f468217ad1f956c9a7fa7cbaba161f6216878186bd8fd29a9c4af5cf9723026281c5ec523a981cf756ceb6ea947c0fdda18be54abfcf22f3c4ec124aa312caf\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 457\nct = cd431c3e37158f42518f64e6090a78a48ffc61a913b50549bc645604f1b2adc727afcf13f0dc91ce3f1a5d6bf8cf4060026e63eb15797d8c49a6b24ee1955075fe4db472ddc1a58f474c5571ee73248f1b4960032d2ae9cc7e66194e35ebbd27dbf7fd47b185e96ced70e70d79959f744c103d4400ef93e487ca024a040a7c975adafafdfb99a67ea04bd6ba4605da75b1eecbf33fdfacb7cf24cb6d5acde150978d2354366a4badcb7304fc31c57ed48147071bead1bb16c1e9a772be82f015b7063b64246b6763f97eec47a8fce3b8b18c4db0ff518fb16dce3d753429580ed50764f98684a8719ac1e265001a413c3e6107dcb1392f64b8d8fd6f336d8e32\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 458\nct = 78db17d0dbd52a7b405d227acf8b21cc64d12e2fbc5bbd94fbabbeae85cde2c52e3fda0ee0771705d093bf81ae41b4e5719db30", + "7315f5c83ee767200b9ac7300501cbedd1f91fd256db3463cc763748c6a3b0a353817826e98c3881af3705dfb8a0b3aa740ca84b3ad8655d354577269a9197b167ea958dd50b6d17a0465ae603ec9c3abe94b359a320be7210531d224f32cb6ade06212757d9e77c0fdf19aceb6665beea2d9639e9d9dc60e67f13758bdef3b0c11cc3d52729328fc0d56961384730c238f3b4dfeb87ed54a2a022d924ae262d948691903e052537804aa89da87ff539033382daf3a037b7bcd58f99d4389d1f06f33bb716f51b54ef56cedc0\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 459\n# Longest valid message size\nct = 6832658ffb0b79854df5c4f3e6dcd53cdf2492000ef1a5db7ef002ababf8e544d4b93867be2954cd302b8d1171f4b628bcdef0e2947295751632c88c117a7ff7c7c5ad257f9851053a039826b9258932260f97b3b33c56d0ae2e38517d941332950ed06fb9c8121303c55f98da27abb99b7a67d84e6cdcfc96f53c53c561d2632eb955ee8782fe13b7dca9066c66da4897ac8cb3871b27d68e96c79453ac35f3dcbe62a6fa3c92ca3c430b7a1fbdcb2fb9eff5e88d80e547798417cf9db96ff3c083db464ae852f5bbde0a1e13978d2ebfc0675e6da7d4ec3f261289dd70b67bafded4298572c10c65f1edd8cd0f8b173ff02028643c8361db223c6bfda69bb0\nlabel = \nmsg = 7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 5a3dc962dafca26cb3640e73bea7439a9f1874bc23e04226ccd89e7ba5c3b938a1a293b70dbab0f9f0f57f66951447dc33e730fd7e2c2a164d47ac502b07dd24cd3c142c2a79e4ceab5cfabff4478754b25a8c02c1a47d80d9f37abe442ca9a78b23f631b6ff3e15a4956d7f18590cdeb206d5e2b698bd084f260e82ef28ff9ec6dbc85a895ec8a3865750f501b96125db1bbdd99a4ae4688adb304aabdfc4e0cfb9fe6b6bc0db74c88af8217eed738a0d04fe8d32c1d110370ce1c1b2f630657350694942730878e6fff77ada7e9a317df8bc059ea7081325306b8eb2fa0d3a3d89fae476d9344892bcd5a42cf83b7bcf3e0e51b4c78e72b3207a60a701adb1]\n[e = 010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00cda6fa5ca76bfe0492ec57e0a3bfff7272dc8d1e25ad1fb338aa050f02c104e63133d6b5b7c4985ebbae9ac036a5b9c03074d60aec8e25baf392a0c430ff05b88e948805d3dd74511d8885250a7b574215ada015c559076686e253ccc96c0815b1291ee787cc3363b4f77d930eb998d7c582b24cea9ce21de9722791989863a27ebc80a00de5bd2f9228775e5a4ceb054d58c9be36a054336971a13642dd9510dd696aa268db3aab2299d5d88f8e562434d1427094d3df8e72d1ef69b4ed34d12bac375223b2a25cf227f735f816e85e17239304769a6082154cd15899fc1eaefb69b748a3e5ed24d38372597de3e4e2a27b951d6ac7db182d6809d8ff511b7f]\n[privateKeyPkcs8 = 308204bd020100300d06092a864886f70d0101010500048204a7308204a30201000282010100cda6fa5ca76bfe0492ec57e0a3bfff7272dc8d1e25ad1fb338aa050f02c104e63133d6b5b7c4985ebbae9ac036a5b9c03074d60aec8e25baf392a0c430ff05b88e948805d3dd74511d8885250a7b574215ada015c559076686e253ccc96c0815b1291ee787cc3363b4f77d930eb998d7c582b24cea9ce21de9722791989863a27ebc80a00de5bd2f9228775e5a4ceb054d58c9be36a054336971a13642dd9510dd696aa268db3aab2299d5d88f8e562434d1427094d3df8e72d1ef69b4ed34d12bac375223b2a25cf227f735f816e85e17239304769a6082154cd15899fc1eaefb69b748a3e5ed24d38372597de3e4e2a27b951d6ac7db182d6809d8ff511b7f0203010001028201005a3dc962dafca26cb3640e73bea7439a9f1874bc23e04226ccd89e7ba5c3b938a1a293b70dbab0f9f0f57f66951447dc33e730fd7e2c2a164d47ac502b07dd24cd3c142c2a79e4ceab5cfabff4478754b25a8c02c1a47d80d9f37abe442ca9a78b23f631b6ff3e15a4956d7f18590cdeb206d5e2b698bd084f260e82ef28ff9ec6dbc85a895ec8a3865750f501b96125db1bbdd99a4ae4688adb304aabdfc4e0cfb9fe6b6bc0db74c88af8217eed738a0d04fe8d32c1d110370ce1c1b2f630657350694942730878e6fff77ada7e9a317df8bc059ea7081325306b8eb2fa0d3a3d89fae476d9344892bcd5a42cf83b7bcf3e0e51b4c78e72b3207a60a701adb102818100ef885b87e25c29d1ee431d1f4ace787c4f882e92d12c4b2766c84f89263106ef0be0ddc4de3bf061a2ba46ffe7c132ae67d337f04dc66daeb9de553791f4989f50b224c981812b5388d1c2b5d53349a61393bf6611995b6988f143c278ccc260cfe82a6ac4a6409807eab32664b7ee3f1c41dfe567e097fd7afe8520871a1c5302818100dbca582288c81a30d6581f272050a5fea773d711301bdd6ecac7214e00c0fcb9498f1e585086b14463cc89a02c2e77a89271c058c6f69f3cd13553994d8a76cf62ad9e275217720d62eb6e888ec4509cea474b53f37b458fc956dd31df3bb6ec7de659e88e7e709fe3be6a8d37264c3d20e7d088276ce7651a403c68d6c47ea5028181009d7e87c851d28d80c5eb84f375494ab959c5cdf1a4ed3dc0fb78cbaafedc8f958fb6dbba3cf1263ddc3424c8d0461c9fc60e802255d1197f20210ae10debc88a4011d1d4587d68d2750c8ebce620e1d4fbdc52a5b6fea1b7435e7752200169f123e2a0393171aad90ba38b05bc859f76098b5abec8cd48c2572390bef175fe970281800eed602d00432edc30428de31763c2d257c71b4d348a3ff0bd5ee6d9285df30c167ddcdebca1593abed86e646d7bbe6eb97b7647d14380af1dba54722dfd0072b74df956cc5181527d6c65f66a53d4f1c34b9247225b35ef3d0a643d75ded55e9c725f9ad6caa995825f35575fee7ef10be2129c9ca8ddd2550515d53cf8dd6d028180101d1f49afb04d065bd8c29001d212e737bba696108574a330a9cbacc51bf6c96594f37fba9c8de156c226371d49902191e1f69d84a1352193bff29e318eb36ede6ffbab93b6555ecf6addca9e134c20220a2d24b03a6d23ef8c608a5186769f66fe2f6b21bc39f6277ad706038b907872c4716609c223762130ef03616482f2]\n[sha = SHA-384]\n\n# tcId = 460\nct = bf20e0e04ddbf103a5133227fbc2696a0acc72f76f869240b06aee89c25128386d0e0c16927f98c1ff3b22b4fb61b508f383f7ea764396b2201e800c793c81a4d38e20b03ead703f0b164d7e7bf4708ce970c5907b139bdab8e2a1922989f97cc2cce656fe37630919626d966222c462af0e72ea36f3d81678bfd1928caf9111079edf93796d2713deee2b85cb04fa63d9fa41d212345507c90d04f4c6c80a114b36416cc55d78eb969d904269a69bf2e839075543955616071a45bc1678c64304ff5f4c22b207c27703f70061d1471b4704357c13dc44e1b3eed0842f578e3e84e28184f84ef6f80ac806c3ccc0afdeb17a74b42693f6e4b2a6c76161363f3d\nlabel = \nmsg = \nresult = valid\n\n# tcId = 461\nct = 0051190f85cf3bd0e9bdf5c937593d2219db50ba7d0512d38807b31eaa9310f0120320f7fad7c6b135f29cb17ffa5b135c0ebb1c4c8112a66912aa92bbb3191d5a284884f19460dfb9bf232f0db6c207ff21d53712e1c8d90bec036426cef56a017e6175bf8bf238c32050188869301ef78d3984762038bb72a982d5c9c9501820196d68c798ea29d0d60f7628625ffe975ee0757c6b70bf87b8219ddf9e6ad324ec9751fd3664887336bcaa7af71c93083dd96702e6089e2b67abb763193f95d4222b9177c17b4726998240ce74205f18cb4b17bbfc73185176ad761c1d48e633a4ac7adc2f61dc95798e530d20817b721311be824dfcf7629fbc533543280c\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 462\nct = 0a5067a97a17114be5a71697f15694d98cdd6e79dcba1726a38ca660ae4fd9a1336df2de79718cea176a365c46a24d0468c2a719cc1835e5b60aa64424a8dea0921fb641458c279c74a7ac74474126becc25c84cb8e411cc7a119c78298a2f45658c7590c3b40dbceb7c41c67e73d41b46ac55cbea541c64a91c521e377890cc031a4933a237609dce1d9f76684641417a44759662e166d837e77e9b8b3fd3343cad26de86db4f914ae83893fe9658654d0932b6a98ca5735669d667186d894b5d472a1efef4b2e06035189feaf960ca1242b620264e71c47307a8a38bbae9bc3d1bd5508ac37f1ba770bfc36a50a543ee204e5eff5310fe3bf430dc6908eb9e\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 463\nct = 767bcf450f416e428980a488bc8307674976253008d81340a2f519a1f4b936abf02028c2e7614f4aa31a8b3e17c96b4922340a6a9696fd4ff358c1a84c347b405033459f9192e9f7d611ca2da6a669a895d491a3c1908cb598730b596d66b1d4b7617f33766af385c333f037e7341c9680f9854f6ab4f2c986462d874f4dc66c6fa4f49fd3ef33d7c8cd81d7608411aa610e5e9101dbdba522f75cd12c575b42d082811227ba10319f6ea0c9a2eb6a3e63cfe0c1bab18f29091fc5d6372785208a830f732f8a0635f5ee7b0b9d2d62ff9f1a6cb88da253ad5f0d56e572548a350a7e12ff846d09ad5352fa45de484386b529e6f14a1e8055145394f8d4f91b80\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 464\nct = c2a9b96b17314bfcc82d0653e14aaa7024b31451a842f7174a8a708dd80c94212af670806f96e7c08e2413198bc32d99a2e67d32c6fe772735ced16ae8b903d340b61585eb4b2ae7e0f51caafea691dabe31ddff90b114a13f05072fd8a8a9bc16fdcf32d199daa0de8ef34fd790f113505eab2b049c515a13a7d56f452f748ab76a07476d609f9e8db48d97f74f8e8bcdea62f495f573bfd2a171224bce7e2389811c01eec70ddffedd6bd2b7a3896a81a383e686dd80863f86a2290db0961ad1b2c6399a12fc725a33a182dfffd5ebc099612b9cd996a1c44037d2396ff657d22a50d94204e4428fe3d62b629c8319677654efb1bb0fceac9ae8d1eb3d2f07\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 465\nct = c67d74acd68029ef1783f6412a2ff097bc4c588f4125dc9af871ff6cbc18caf2fdbd5f92235211bb460d7c32bad3d768a7893ad5b1e920ec9bde3cf9577f66a16d5a3e5a4feb40f0413ad47613929b44d40185cd4507515e73e9144a626c6e2461876789c8128eb6438879cc6b2a971dbcafa9e9f40b0120fa38f48023805011d89d48cb093bbafd221aca8b62311a6a2a29a92e1", + "3302c6da0f9190aceb9c36c970d731425ec079bbc6295aac01d9cce136f9e2d55e8516d007413f1d44bfaf63e257767dc0620a8902fb449f9d62a25630087b613784af81f1a588da7b0fc2ed2138e58eacc746cc2417b0088a1bc945552afb7536847baed72c16484ee7ddb\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 466\nct = c1fb0843b4e3c77e622d1197ee897b8251971172ddd2a1bb94142173451d1748b468a450b15bc062adc94311fbd43a807391721bc05a4949b39af2ceafb1bbbe6e157237c6a7cb33fb971cef3c7bb172ca76f27e5a70b4ab501b8c4f695145da34f00a54deb47baf1f4722c313a1822b8746109c471f4fd8e6941cefe545804fad30e789e419aa32f16958fa667ed42912d6dfb5cc6d7635e2867253bfeb5ae946283f4fbc001fe8f578ca00c735f6cb02f65efaff2401f9da630ac2ed9ca7d44e4de8ae1ff6425560d54d75a934937021589418b91573b4eeb4f698383009c3074939d83c90d463a2c799c16e06c6467641d335b001ef89c9412f7478d5afb9\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 467\n# Longest valid message size\nct = 348f6680d25d93e7f8f17f2410dd4bdc8a2ba5c9d29b17f3dc1e308d868ef3e1121982635c60fd386f77566370f5bc0d34e9596637c59b00a6eb665bf57071260483f72a5cf0bd6ad806a049aa670ffac206672fad6e206d9e13f82d89cd3675a888873cfdd1ea20feec04ac9e1d4daebc58ae9ebb84459a3481d268468f6e97bbad0011247576cdcea319b68b19ce7f2573cb3d711e078b9e206fea729e5b61d67f400a335aedb48f673af1a81c2998d80ba34ac18530ccef71838658e8937c127f5d5ce93a525a2ec60c98569d785592490fcf3c72d53791f8e81244292f1824264518bb827adf1205e6a2e1ca7d01195dd4c3616acb7580c0c9c572024a4f\nlabel = \nmsg = 7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 5a3dc962dafca26cb3640e73bea7439a9f1874bc23e04226ccd89e7ba5c3b938a1a293b70dbab0f9f0f57f66951447dc33e730fd7e2c2a164d47ac502b07dd24cd3c142c2a79e4ceab5cfabff4478754b25a8c02c1a47d80d9f37abe442ca9a78b23f631b6ff3e15a4956d7f18590cdeb206d5e2b698bd084f260e82ef28ff9ec6dbc85a895ec8a3865750f501b96125db1bbdd99a4ae4688adb304aabdfc4e0cfb9fe6b6bc0db74c88af8217eed738a0d04fe8d32c1d110370ce1c1b2f630657350694942730878e6fff77ada7e9a317df8bc059ea7081325306b8eb2fa0d3a3d89fae476d9344892bcd5a42cf83b7bcf3e0e51b4c78e72b3207a60a701adb1]\n[e = 010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00cda6fa5ca76bfe0492ec57e0a3bfff7272dc8d1e25ad1fb338aa050f02c104e63133d6b5b7c4985ebbae9ac036a5b9c03074d60aec8e25baf392a0c430ff05b88e948805d3dd74511d8885250a7b574215ada015c559076686e253ccc96c0815b1291ee787cc3363b4f77d930eb998d7c582b24cea9ce21de9722791989863a27ebc80a00de5bd2f9228775e5a4ceb054d58c9be36a054336971a13642dd9510dd696aa268db3aab2299d5d88f8e562434d1427094d3df8e72d1ef69b4ed34d12bac375223b2a25cf227f735f816e85e17239304769a6082154cd15899fc1eaefb69b748a3e5ed24d38372597de3e4e2a27b951d6ac7db182d6809d8ff511b7f]\n[privateKeyPkcs8 = 308204bd020100300d06092a864886f70d0101010500048204a7308204a30201000282010100cda6fa5ca76bfe0492ec57e0a3bfff7272dc8d1e25ad1fb338aa050f02c104e63133d6b5b7c4985ebbae9ac036a5b9c03074d60aec8e25baf392a0c430ff05b88e948805d3dd74511d8885250a7b574215ada015c559076686e253ccc96c0815b1291ee787cc3363b4f77d930eb998d7c582b24cea9ce21de9722791989863a27ebc80a00de5bd2f9228775e5a4ceb054d58c9be36a054336971a13642dd9510dd696aa268db3aab2299d5d88f8e562434d1427094d3df8e72d1ef69b4ed34d12bac375223b2a25cf227f735f816e85e17239304769a6082154cd15899fc1eaefb69b748a3e5ed24d38372597de3e4e2a27b951d6ac7db182d6809d8ff511b7f0203010001028201005a3dc962dafca26cb3640e73bea7439a9f1874bc23e04226ccd89e7ba5c3b938a1a293b70dbab0f9f0f57f66951447dc33e730fd7e2c2a164d47ac502b07dd24cd3c142c2a79e4ceab5cfabff4478754b25a8c02c1a47d80d9f37abe442ca9a78b23f631b6ff3e15a4956d7f18590cdeb206d5e2b698bd084f260e82ef28ff9ec6dbc85a895ec8a3865750f501b96125db1bbdd99a4ae4688adb304aabdfc4e0cfb9fe6b6bc0db74c88af8217eed738a0d04fe8d32c1d110370ce1c1b2f630657350694942730878e6fff77ada7e9a317df8bc059ea7081325306b8eb2fa0d3a3d89fae476d9344892bcd5a42cf83b7bcf3e0e51b4c78e72b3207a60a701adb102818100ef885b87e25c29d1ee431d1f4ace787c4f882e92d12c4b2766c84f89263106ef0be0ddc4de3bf061a2ba46ffe7c132ae67d337f04dc66daeb9de553791f4989f50b224c981812b5388d1c2b5d53349a61393bf6611995b6988f143c278ccc260cfe82a6ac4a6409807eab32664b7ee3f1c41dfe567e097fd7afe8520871a1c5302818100dbca582288c81a30d6581f272050a5fea773d711301bdd6ecac7214e00c0fcb9498f1e585086b14463cc89a02c2e77a89271c058c6f69f3cd13553994d8a76cf62ad9e275217720d62eb6e888ec4509cea474b53f37b458fc956dd31df3bb6ec7de659e88e7e709fe3be6a8d37264c3d20e7d088276ce7651a403c68d6c47ea5028181009d7e87c851d28d80c5eb84f375494ab959c5cdf1a4ed3dc0fb78cbaafedc8f958fb6dbba3cf1263ddc3424c8d0461c9fc60e802255d1197f20210ae10debc88a4011d1d4587d68d2750c8ebce620e1d4fbdc52a5b6fea1b7435e7752200169f123e2a0393171aad90ba38b05bc859f76098b5abec8cd48c2572390bef175fe970281800eed602d00432edc30428de31763c2d257c71b4d348a3ff0bd5ee6d9285df30c167ddcdebca1593abed86e646d7bbe6eb97b7647d14380af1dba54722dfd0072b74df956cc5181527d6c65f66a53d4f1c34b9247225b35ef3d0a643d75ded55e9c725f9ad6caa995825f35575fee7ef10be2129c9ca8ddd2550515d53cf8dd6d028180101d1f49afb04d065bd8c29001d212e737bba696108574a330a9cbacc51bf6c96594f37fba9c8de156c226371d49902191e1f69d84a1352193bff29e318eb36ede6ffbab93b6555ecf6addca9e134c20220a2d24b03a6d23ef8c608a5186769f66fe2f6b21bc39f6277ad706038b907872c4716609c223762130ef03616482f2]\n[sha = SHA-384]\n\n# tcId = 468\nct = 3a56f4f210b42144b340876f88cd463e4e7399d306bb19ed7c094888135a2d2f5454d5995cb4790376fc41a3ed0b1079480cf97e155f6a043d6b3020e122babbb3713e9c87dc6ad276934c4c589c2e75f0a4b279c289321b5e8cd50eaa6c1c7510c56eeb63ede46f27ed3c439ac06851795bd76780245c72c1b8c336984050c904eab4acfc40d3792769406462f2268e3365db8d6a7f3fa0da08ee223c3b63719aafbc177c4195cd10655e18c932235df3e2db573495ed2ef1c17106c668947131d131ef64510b0e8ebab320eec9999f857d995bc1be891a0ae0844d6bd69ec9fb9ede3651d4c0b4a9c4fbf29012ab2af51854c3d4e1d344180832a2854f42e1\nlabel = \nmsg = \nresult = valid\n\n# tcId = 469\nct = bd4fc1b59183098a8bdbb09e5d423f86d1f09614b59bdb7788dea6e75da0f47459a36110f5cba869d72150d4de5e4ef8b21ec7dfb19eefd8e5525c72431ed2cfce43849f8a4ee025e4f3e671b20e9514fc77797d9a6c97e0495bd4c5c9ebfc309ddc9b50a1be39ab40eaded8a5d99b9308c29809f67d6b829691d6d52d8fabb59fc22de43471d9dfd8aa2cd3db5380dc63198c1aa5907ba9a5217686eee9e5eabb7d01e59293aea40dbec31f0b158602946eaa926fcd2625ecc301ab8637d5a988ed0faf2d29b902f9b0a559df2d5b22169314a7fef69a5c9e9ca83081199cfe97210f38e89e517e74595d9161d828809589b1894c948ed77275c791567dfa4f\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 470\nct = bdaf39dbb1522355d06a1f5e079797a39ac29e600b9ce4532cb22b8857bb33f065a0ee7dfc219956556b210b416861671f0f52acee889fcc66fcc532dd6a9dbda693dfa011437eb94694f9ca964925d9c6fc1f841e59ef84e76405a41501831fab4980701a5546bdde4905fa7b9a0f9bcd159dd443bade9828dfeab702dee0d7e8c1b37c55f2635f21441fcc2fcf4baa33d1448ea8d8b3324f08861e9de4fdb09cdc1ee093dbce512cf6ac1e75e3760d706517d84591ce1d977d73ca9f2766ce874f08aad6d06ac5c2d8b953b45e98daf03c4665336a3f701e9e9f6380cef5a66ef55dd77a9d972d1bbef82a2610dc8aa7b66dad4303142ef196308347e01000\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 471\nct = 4a7ad461be5764c2f6be1150f03809fbf6f10156b5f33d5fb97dda6f384791d3f41ebf8178ff59079afbfa6354a4a12c99c4ef767099e0db1e39dac7632d75c8b433b1c073a8c072c6a45729bb300d7c520cfbecaf6408f075bb74dc8c2437137e1f7708f97e98a132f4be5553f50e44c23223eb16ceb55ece482df922e861a9db674713a498362f211572d9bfd702cd874160c8956a72794d885986531b51760d9e3badee998f5c596554a255304c5820c790c466e5c7a50f130651ed6725b148d07db1444ba600d75e362aee9b4095a0791b1a25c94c8afcc16fba4811a3b71f08957c1e4f3beb386f6151c484e84bb705be3411c3c288fcdcd1104386494a\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 472\nct = 2cb5c853acd85293e2c56cfee1a8dfc7a9f30bc16a2a628ad3d18baac4f1615283df9c209499ae215c839c16a6b84f18ba21c74db31f092263b5e17df3720f377611b62cb7d015170bea054bf4618a448ffc5f613f512dfb454017310f812e1275d0022a881337f87ab4ec9d4392d47187eb53a1546de7a0647c9d7ac4af818722a98e738277e54f831368c453399acc258cf99331872626c83437a4fe043a76029f8f1b73191db5b823051f27aba7d93f2c2a9611e166168b80c4f9da47cb84328b692c33f4ca425949bd2dec0600784d1a4a9fc0b7111d8d1b5814bef353d126788223898d9c43d4b769a7a082a4ef32fe055118fb05adb37518b", + "924dc4e9e\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 473\nct = 6e07786fb3e6e2098c574bd39d96dc9fcf7bb55604ee7c7e1bb37ec0cd73653606c665082cfc314337bdba3f4577d8063d44549104a2f34212232c8727e9c8e09ae351e9ebd621cdd494d112f6d684e77966ac6e1528735756ba42081776846efb499eedd76c3bf02153b9c0df518ab2bb52fd1e54444910b871748a5b7975e810581503d388d663e1ddb958c1f7e9fc2897e96f283ec578332130bfb8688b6636790396f96d7553f35feace16920bac60032c89d4ab3b1e6b6ce9ddbf1ba8293d142bb314be6cee6a69f7fef941c3788792cd2f883f25b888afd56446cc25940b62a996d652f476c891450a2004b012f66badf1f07f888ebee34df6ef8e871d\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 474\nct = 8390617985f493f7498e1b182ba92902660dbf77c4be981cd3176845eee848d97f49476f95333e5507d3e42429930ab7de1dba859b293b4e87726ac5e345f1e0aeb3162f1b710870cfd35e6c48f586c6e730d15dc79f8fd5e861069d4afda9bccdc4be722717849cad60e3d6e35b2e867784e65603315880626fb12426fe9f043786c1b9f8f4f7d659738ca8e970ed424a52bc1d94b7125cb43bb7f4b8342e107bb8cdf5b76631f3aadb53bb554a38e105ac50600b2254d975f8f9caa06e14f5518f8909ce9381e800e2349dfad1a2317091101fd76494833c83d2f444ad66f70b46e66503621bb20f2f2ca3b4770d13f9bdfb629ca7a7b556ee6df5b1b7df70\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 475\n# Longest valid message size\nct = 7f8fc274da6ddbe00f63f6bafeb53b1146d07a5748775e540108708adc8f49bff0e48176de70e618bd7d58aa143e5cd3e4a983c8e24d70ca648e456995cbf4dd83bb2d073bccf913c3db031a414a1aa00e6aec68ad2347dbe8652b9e179e65691b96c107c4661a9f9967299e01c4d9ac55fa2b00d5138865e2fe44658e912764061b647dd16c1544220b0d6a881631a16aeddcb399a014572bea918b4d88fe9a2b22f6a4d9bfdfc387baf009e6527818df373a77b726f908b272d2cb67c873cbaaaf3dc63ad7fbf6b5b1acd43e20d658b7233c690538baacd161bf01846ef9889a6eb3c4fdb5438f6bfd1fc36ee46cec1a8f60b3838b0ded728f58dccc396847\nlabel = \nmsg = 7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 0a5c2790a591c3ecf4f6281c17e1038845e540a95f21294a7ceecd75b18c54c50c02e789311c1b0091526f87ab3cc8d48188e980ce0e0377bec00e9f7d9793583cb66a1f281e31d20b594b5c66a2d9efcc36d979a92bb877a9678f991ff60b77e28fac55d64f21c064552a4319eb0a9a1870a76ade3c3a3534ab8353c3e57b2708363859ad3a6337fc15ffb90980d93743f972d743c3dc6fddb44279079a809abec8113a6f987f71748c036a4daf353b27a81e6983d56a2d65b71b93128d5569499d10ad1396f094eed77c044e3ce9ef82f0014c25ba693928c00b5043b641b016e3569b4bd84d683372538671307321c25e590f14bef241e6d8edf24ff39859]\n[e = 010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00c2c4a860236d3c9096a076d6ba5107e0f7bd81e1ba916f7375724bd2b0b0b63956813715a3457ab0458b71fb35a45b27f9ef7ac3e579dea45dfbfd07819ed6b7021aa5336c58442aadd96ca9ee9d32473e9d9278562b4d10258ade6a98fb1c7cfdc3b3716ef5dec58cf73b359f389599b4b5865a9863519eb001c324387da755450db341309360e3807c0565b8e2c44fbd5e6e8d04d006d7ee768b8e8436082a90fa0e837f32f46087ab4a0d9be28aa7da1794ceb0172a7f50ed20f6df641efbcbfd2aac89775c761a7310093c671c977fa18b0d6e01fb25f7a432b42c65359784c689205719c1cf6e3a65dae2da434c326dde81bb6ffffbdbf6de5c16bba749]\n[privateKeyPkcs8 = 308204bc020100300d06092a864886f70d0101010500048204a6308204a20201000282010100c2c4a860236d3c9096a076d6ba5107e0f7bd81e1ba916f7375724bd2b0b0b63956813715a3457ab0458b71fb35a45b27f9ef7ac3e579dea45dfbfd07819ed6b7021aa5336c58442aadd96ca9ee9d32473e9d9278562b4d10258ade6a98fb1c7cfdc3b3716ef5dec58cf73b359f389599b4b5865a9863519eb001c324387da755450db341309360e3807c0565b8e2c44fbd5e6e8d04d006d7ee768b8e8436082a90fa0e837f32f46087ab4a0d9be28aa7da1794ceb0172a7f50ed20f6df641efbcbfd2aac89775c761a7310093c671c977fa18b0d6e01fb25f7a432b42c65359784c689205719c1cf6e3a65dae2da434c326dde81bb6ffffbdbf6de5c16bba7490203010001028201000a5c2790a591c3ecf4f6281c17e1038845e540a95f21294a7ceecd75b18c54c50c02e789311c1b0091526f87ab3cc8d48188e980ce0e0377bec00e9f7d9793583cb66a1f281e31d20b594b5c66a2d9efcc36d979a92bb877a9678f991ff60b77e28fac55d64f21c064552a4319eb0a9a1870a76ade3c3a3534ab8353c3e57b2708363859ad3a6337fc15ffb90980d93743f972d743c3dc6fddb44279079a809abec8113a6f987f71748c036a4daf353b27a81e6983d56a2d65b71b93128d5569499d10ad1396f094eed77c044e3ce9ef82f0014c25ba693928c00b5043b641b016e3569b4bd84d683372538671307321c25e590f14bef241e6d8edf24ff3985902818100e74a124759a174de33185996b3b437c24ed248203d674a87bcc2e76a667be3f54ac15e8f04e4c5e540f4e19f402a71d37d39756dcefbfaefb380095b6cfbdf4d78dd20cf085a1f127610e3b7102ca6bde1825941ab602e9b72c08e4533ac50317138e10bf7edfea30f52ee91ea6628c2cc65e76bafc02eb9d21ab66ad374ef2702818100d793b4f5514921bfbc47a1e45faa043eea03f052bce600ec4f5c62b014a7c45aeb3f4bc02160e7b12dee135e44b227a31854ca833ac706d14670ab5932a269c9b6f9188acb93e698b4a7dff65bb9c963c2e02b2cea3f2d5cb254e07b616792896e37550cb38171c4c32e0a6543bbe6acd4e99abeaba1340a961017412b57bc0f0281804dd402049a679730f2169e86f49f8f27c6684236ff1293e4cb22f6c63a083474251c9e9a17b677d5261f81109a81eddd91c4d4fc076b894c41a5b3005dd2ff984d3473c6d6f3a4830cd1b01eb8c59db245811c51d9be3ad0ba338b6c43f016e81c465c8c2f789977fb3f17e267f2ca828a4f3c29637193079a68bcbb83be547f028180767a352fc5d6bd7794d08186f3948af4d0c40d664b6ed4ff0ab6a97e403bdbcc6411cb5df27a419bbcb4656c9fb091dc2ed91adb78883d94f273a598461dc0aa1da754f7a2decc130ce65e4e15274c2949c6cdb3c7a1a51a96dfd2e7bc26a20069d47b2799d80060b52c2e866ced6ddf7abc50518e1df06e08ff1ae8b41b69bd0281805479dda30fc06b63cb5f77e20bb29db7eec7a6b37a5007f9651a46ffb66c90160be5700145c6a08d9737a98c5f7ba0dcef39352cc5d8612d94fd02383b8e093115376b154fa1cebdf915ddc051a7017d67a238fb4376749ced94712b117a1d0ca31cd653a1955dd547346d03b21eb0ad3c123fb85e92c8af50a985db10eba79b]\n[sha = SHA-512]\n\n# tcId = 476\nct = 409225dd2229d11accb99804e4da69fbcb862d3a74a1dceb8f1186d8d13b1569aa4fce51aff273aceb1f0c875d87a979f9915fd400a2eb1713b5a1ed129e6b0c7ca14a61a0939a87ae88c53e91ffdd635f7ddde6185dfe9b5b7bd739b53c4c198dc8333a36461c4d750773df1c84f024e18dc78d09fbbcdc4d12bb29854b2ae04c1b8b141eba753eed9cd90a5b66fea37612aca4c55f65a8381c4eff13c37ae1f9ed0688514788babc8ee27f8e76296495df254145331a49d11e7bee5a83a3713d4bbd5a805fdd8e84ba6ab869002b26e40b36d1d6c1189b8ca1c6fe19497a8059414abdc88ca71252fa86705ec96a7899296925f885fe55c9c6d2cbe7ca8578\nlabel = \nmsg = \nresult = valid\n\n# tcId = 477\nct = 7ab35168dc51cb7b3d8e5e3f9568e588c27dc395e825f909f3ef2a88c5ef8e1ee4918dcce7aa0c3ab6860f69de90e36d19284a15954a3bce2c95bb52b1a5cc752e35a7e08fc327f2a95ba05c474c4a5e625b5c0b780b3bed961e69bdfe073bc324a8dfeb3782413109fce1d795ef01a8eb0608ea42866ca997b8cd3c7b849190e42e84c3d60f935886df8d3dff5cca4157152e9ec9f954a7ea7b1ec4b0e1fbc14cef0f3ed16f1b013cef8753e1f5493ef7d0f753ed0a18ae5275459d15b86da95445dd65580a789354616e9a8a56720394a22ff30a01f38b173259a9829b8a4d14747326597ec332e1d402915c7f46a96c20bcd25a82ca3084660b4171cc31a3\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 478\nct = 930b4f613da112cd29f8fbb235ce0715eef85bd5a34fdf3a67b4af55015269ce99ac8112ee81b576b31f083160c5890dc2db204d581aba976974056a8bad367ff05984974c10f71f5b03482c7f7dd86aeabf5c9060b54b0487f40d30627e0a46fd7e801e5f1b2b813c4385f870258bc2cc186599e124b9ebca2a29a43dbc06bbd39faf7f305a902e7ffa403abc3bcedf29ee11361ba0a0b34f3bf9a9285660f66b4b75cf75e0eed8f463e204d93654a9c85b9788bf8e32890b658ea732efe3a56a4ddd2e7a426fec6486a0f591a8a1d4f089eb9c95a6332e7e0db103dc3daf8cebf35554d18cb6da33dfe6dfbe0c8cf04a4f6305693e94e87f68539f67892976\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 479\nct = 91d3f1fd66163ef8a8fe02f98802219f370938f21baaab871d6ed20de4449d5c615f395f89b5e455d301088285cf7ac42b51eeacc1c7d4220cf4c456178b9a2d6ba93b0b1c334b6aa6f19cb75f374d88d9d284feda4eea32c5a4d9baa0e12fec0f72308322eeeac9b0769f161491ddbea08983ea565058d98838b86df181088dc9048091450bedf4a671fe0a57f9d4ed67cc41ca6eb6a8324ce14d6202de07d55e80d56660ccc358b1cf6ed56061a2efdde8075553c326e9a15d441432c52c7209a6ea6cb6ae8fb1fb128d8aa31cea24e5648baa087eff8376bc01b6084e0476d3d5c5533d9c2c36803e939b8f525c2ed770ba08e221cb946d21d611c0fcfc15\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 480\nct = 41c04aefc703aaa71f40ce9f4f56a7719126ca192d2e9c33dfc6a8c176e8c1c22d9d7a83f39955403a7798d161e4ad17b1575c35cd8f2abab639307222395348b67ae8b7", + "edc41eb0b9a38ac508f1c08489ebc21e5db909d98d69a74b210de76a924787b2fe1913c96ea934ef88be13969cb26fbbf007fff7f639760ca7de9041ddfe79b3be7710cbbf559db44d2db8aa32f88be33463b366924b845d07e2c00bf07fb3625a600b4f84041c73d777c0822bd896aee8b08c4f6e30dd4569208fc8caec74580a43acaf7fcb2b6daad569f4a58e281298caf9b6f155cf30e94ff671de9bb0cbabd184b854ef1d2b7cae33e7dc6072230ebe4bcd4d49253aef563e92\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 481\nct = 32af08d0e192b87a392e69c0e4f1faf525f9705af04301bcf4773caada60baf8c9e3ef5b23f22e38f9966849f55e075aab69f1bb76d2c9e443f34dcc1a9ed8d32a7ed3f9ecfc05cb154235e2e532af1b6f1fcc392676a500b5539f6a86be792de013a4d614129852ab57e030521e1a776d17a9c54061b7457e0517f260826640d24e604a08849f9c14a8b9b6126a394d1451649326b15a440f52da5fa917b15189a73f0ca93c6f1ca65a8b00f96516b9f87519e6ac96af33df112eb8cc669117821d7f318eb7f09ae74fe283ff4ded8a2e6b363543833a311c2b7be7b6f07798ba355a716707b06c4d50792c888424a5a049b1b0a33c881059dc8178119676a2\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 482\nct = 602a88779ae26e4aea37700b4ed513abed889d15de24523aebf34c9027fbd62747fadbdf46449ab8cf1bf5f2c4c942423e0c22df00e2b513aaa7a9502ee330be441274a09ac0b872150d73e52f34763879c56d09c400521aff0c7a8ddbbae280289113bd4f5cb1780eb16040974f41b6ec4e0b060209e7743df321a597a8a0fe00df285780073a03600c16ef62496e7e06335b7311d16a8cd376784f27289d02aadd1be5390e6e618cf8271dbd9ca7f8338392076ca53fee750f30c95aebfb26c8cee568a2253f2075eff7941b455317728bb1ad0442d691167f6472883b6e8b07e7f6c5bf10e4def8f271e622dabe23d6d3e8c0a1e277781e5888237e83bffd\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 483\n# Longest valid message size\nct = 76a390230603a834305783f493b721b4f317f3d4b6e1bc26d1983ff1f49448babbeba061e94ef6b483579564496ea89f9e2e784e8e8db83cd0d2a6081048e4bece721197e66a54178acc6976089a4f6f268f8a54a2a9a3e90f583171401173f7f646d8cb422e4ee14fe057686b0072281e066a28cc0133c6b707781b718f535fa3a9c99a65360540d3182672acb1db4689c5d6d33159f37aa7e16d988d49f73b5e603f8116e1b5053ca45e6c04743cae29faa04ed939196b15faae2fe4303d7feab202d8809a7a2ad30deeec880990334f0da9c7faaebc1f7f64f0c8c20270c44b7046ee309d4bee151a504bdae896e856e202c8c5d8dc5d6f66c99961b6168b\nlabel = \nmsg = 787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 0a5c2790a591c3ecf4f6281c17e1038845e540a95f21294a7ceecd75b18c54c50c02e789311c1b0091526f87ab3cc8d48188e980ce0e0377bec00e9f7d9793583cb66a1f281e31d20b594b5c66a2d9efcc36d979a92bb877a9678f991ff60b77e28fac55d64f21c064552a4319eb0a9a1870a76ade3c3a3534ab8353c3e57b2708363859ad3a6337fc15ffb90980d93743f972d743c3dc6fddb44279079a809abec8113a6f987f71748c036a4daf353b27a81e6983d56a2d65b71b93128d5569499d10ad1396f094eed77c044e3ce9ef82f0014c25ba693928c00b5043b641b016e3569b4bd84d683372538671307321c25e590f14bef241e6d8edf24ff39859]\n[e = 010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00c2c4a860236d3c9096a076d6ba5107e0f7bd81e1ba916f7375724bd2b0b0b63956813715a3457ab0458b71fb35a45b27f9ef7ac3e579dea45dfbfd07819ed6b7021aa5336c58442aadd96ca9ee9d32473e9d9278562b4d10258ade6a98fb1c7cfdc3b3716ef5dec58cf73b359f389599b4b5865a9863519eb001c324387da755450db341309360e3807c0565b8e2c44fbd5e6e8d04d006d7ee768b8e8436082a90fa0e837f32f46087ab4a0d9be28aa7da1794ceb0172a7f50ed20f6df641efbcbfd2aac89775c761a7310093c671c977fa18b0d6e01fb25f7a432b42c65359784c689205719c1cf6e3a65dae2da434c326dde81bb6ffffbdbf6de5c16bba749]\n[privateKeyPkcs8 = 308204bc020100300d06092a864886f70d0101010500048204a6308204a20201000282010100c2c4a860236d3c9096a076d6ba5107e0f7bd81e1ba916f7375724bd2b0b0b63956813715a3457ab0458b71fb35a45b27f9ef7ac3e579dea45dfbfd07819ed6b7021aa5336c58442aadd96ca9ee9d32473e9d9278562b4d10258ade6a98fb1c7cfdc3b3716ef5dec58cf73b359f389599b4b5865a9863519eb001c324387da755450db341309360e3807c0565b8e2c44fbd5e6e8d04d006d7ee768b8e8436082a90fa0e837f32f46087ab4a0d9be28aa7da1794ceb0172a7f50ed20f6df641efbcbfd2aac89775c761a7310093c671c977fa18b0d6e01fb25f7a432b42c65359784c689205719c1cf6e3a65dae2da434c326dde81bb6ffffbdbf6de5c16bba7490203010001028201000a5c2790a591c3ecf4f6281c17e1038845e540a95f21294a7ceecd75b18c54c50c02e789311c1b0091526f87ab3cc8d48188e980ce0e0377bec00e9f7d9793583cb66a1f281e31d20b594b5c66a2d9efcc36d979a92bb877a9678f991ff60b77e28fac55d64f21c064552a4319eb0a9a1870a76ade3c3a3534ab8353c3e57b2708363859ad3a6337fc15ffb90980d93743f972d743c3dc6fddb44279079a809abec8113a6f987f71748c036a4daf353b27a81e6983d56a2d65b71b93128d5569499d10ad1396f094eed77c044e3ce9ef82f0014c25ba693928c00b5043b641b016e3569b4bd84d683372538671307321c25e590f14bef241e6d8edf24ff3985902818100e74a124759a174de33185996b3b437c24ed248203d674a87bcc2e76a667be3f54ac15e8f04e4c5e540f4e19f402a71d37d39756dcefbfaefb380095b6cfbdf4d78dd20cf085a1f127610e3b7102ca6bde1825941ab602e9b72c08e4533ac50317138e10bf7edfea30f52ee91ea6628c2cc65e76bafc02eb9d21ab66ad374ef2702818100d793b4f5514921bfbc47a1e45faa043eea03f052bce600ec4f5c62b014a7c45aeb3f4bc02160e7b12dee135e44b227a31854ca833ac706d14670ab5932a269c9b6f9188acb93e698b4a7dff65bb9c963c2e02b2cea3f2d5cb254e07b616792896e37550cb38171c4c32e0a6543bbe6acd4e99abeaba1340a961017412b57bc0f0281804dd402049a679730f2169e86f49f8f27c6684236ff1293e4cb22f6c63a083474251c9e9a17b677d5261f81109a81eddd91c4d4fc076b894c41a5b3005dd2ff984d3473c6d6f3a4830cd1b01eb8c59db245811c51d9be3ad0ba338b6c43f016e81c465c8c2f789977fb3f17e267f2ca828a4f3c29637193079a68bcbb83be547f028180767a352fc5d6bd7794d08186f3948af4d0c40d664b6ed4ff0ab6a97e403bdbcc6411cb5df27a419bbcb4656c9fb091dc2ed91adb78883d94f273a598461dc0aa1da754f7a2decc130ce65e4e15274c2949c6cdb3c7a1a51a96dfd2e7bc26a20069d47b2799d80060b52c2e866ced6ddf7abc50518e1df06e08ff1ae8b41b69bd0281805479dda30fc06b63cb5f77e20bb29db7eec7a6b37a5007f9651a46ffb66c90160be5700145c6a08d9737a98c5f7ba0dcef39352cc5d8612d94fd02383b8e093115376b154fa1cebdf915ddc051a7017d67a238fb4376749ced94712b117a1d0ca31cd653a1955dd547346d03b21eb0ad3c123fb85e92c8af50a985db10eba79b]\n[sha = SHA-512]\n\n# tcId = 484\nct = 70adca8262d578241cb62b7e0d47dbf51ffad31ed4785cf2e9b46de439282410bd47fa72a262d9fc23821d584f04729632708631c46f0b25112f3bd8fcbebf41027ce0950df352406897e30d94b24756e35a476aaea4315ed4fb1a413071ff5cd78f33136f5085bc847889b7335011aa21927ecd602a1118ed1796e988e51cc5e0487fe5daa0fc5aae97a39fa43115c40bdad70df139edd67cbe65879d9de2d97872d63cd8ccb1ac4026f9a6c12a7309cdb5c92c76bd874e6a3926fc2523ac7ac13c3eb51e9d574c0f45f76e6a36120c0ce308e118c54105740ac847281759e7fd0cf481bd9a4e93e25b6a2276ae63a7bf6c1e38fb2c069285fc6fc15bda83e8\nlabel = \nmsg = \nresult = valid\n\n# tcId = 485\nct = 8785223b5439d99836862bf8f9764a4aaf841d0f6c8f1d7ae9070beb92f91802c1b1ee15756c70bb0fd7d277e244bf59119cf1431e7587b712de81d596d6f79d023119cd2b9d9c9d32e6368c0a317332844bbf5bf47a042aa663b1e0b86cd8e7fd5b3b10580e36593b3e1242f41d1698faec973ba91607631d2e1cbcae0e37427f157603e82615a3889aa28eee67ce73629d0e0827fbe0e892c3d3eb56ac000faf5d28c494d6249e3bf1d9c39f455d83c985af9759aed45f76fdd7629c56ce007bf1150ce55724a2cc7b710ef3f45fc4a8ac9a087e78b9884f4ec7682947473a8996e7f8efcc6932dd38e7eb9c7193a1f2872c78f9f83b9c4ba863ecb523a9c4\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 486\nct = a628c9b8873a75d1f1f96c16e91576b224d57655fa568cf285220e60630ccb6f38c4cb32b5fadc683a75052e06619dbf6f5600cccc2e38331d01bbb235c5f79a026ba1d23f538f26442ade3e974bb7f427eaed6f7bf521c06c798e4096f3a75ee64eb2ba03bc2906b1a379dfe7c5fed8e2d1d760358a6ffb500d4b31ec4a12f77a13e482c672c85076d219de6f409d0a7d6915f36162eba353fa9c251c4b992bb164b3b0a2774cb36d87dc8c64b3a72ca6a5244b5b19df0151b4a705509ea1b33b18206c3f2f321e0658a7171a75ebffbbcf1b414dcfe136e691c2c16c6a8905bb50a29dd411a6d188d7a49917756b1996fc0f2a7d62dbed3284ae38f0686f94\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 487\nct = aff66867ca15c6b77c109ffff233a5bb4b7be73827127c918e531efac4689c826dd1ee7fb754493d6ab13f4aa304bcda441b6b8cdf1edf2c109240e1ba537c0e10cb4f2275d41eddacb2042440c27cedc2e8d2ccb75e689a8086c57fda51dea3124e82aeb23d14ccc7143bc6913cd90fc46a2f258951f03ce483b9cee8c3c571b96bfcde638a4e398edc9d0e20ffb7ba7d30fbefd1ebca2d9580bcff913173cb4769d6c81281e4ce9866343a458d0a4bd08c367987decac6d74753e2292903aeca3ca17be9115841200ee6", + "08389a2fea9738d4514a9da0952e97ad01e268a41dc8f8e9e0e815bbfcd20a521c04f38bf51be305f69e63eb38e395ab8b7c0826f1\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 488\nct = 24881bc0d53397892425af1f0d59475551743a96e59f0d90e8660e463857a294fcd02a3a639a7f27fc8fc2eb7e9c72c4a549f7eee8edad4b2f87d8421c6e26d79a6e3517836d2a9c99bccdf3cc0372bf0f4059920d79236a8d2efd458853eb3532594b247e84d73596ee7d92c520b8706f18df4f316818b38e476ee8f9f5c13cfce7dfd495b180e2b2cf99f6b36326d75be2b49fc4b09c4e9f5800970b9b725331adf45b87c5e02412b1e30261999f11c91f156b5e39ff839f7231c08314627813db5232769450b97f4c7dc53d3a0b7886cbf783ab037c6b8572c143a3dde54612b021876cfbed81e4835ea469207df6999588a43a56c282f20faf570502294f\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 489\nct = 393a1ae1104e2576153cd1bec1ac6994d8eed3dc42eab57472c37e8574d0fe793ba4ba97a59d23cbc3f203dc7b4a85bc31536a28675935ec1613b83ec925eba867051b69293d9b21c8ccbc6de4c137e50bb936adf5bf121a48064872409ec34197025f91663d60fbd1e659ddd574b43f660ff6eca8a19426394251d49ecd49e3e2a4b4f324649d4f4d861820aaf7e6ee32498bc514461772d6c87f989a4bb4c431b3d2229bb04561aeaabe71892c9ebfc707103b941b6ade50f48da6f987d8aa4105f39652d888b2397e8e984e12b0ef3006bdb1d74534de29eed1910adc491ae90e44700587fbcbc5076c2f45d7255d81560825c16ba7c3d3dba0670056a51a\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 490\nct = 9a75d988301561fa089b1dddc7fb8720ca7f80d9d2c2967c68f6db0210274ff90a8825a8fc9a69852fa137b41b8afd68cfc81c2e80ce365ed59447b09cffaacf4ce2682fbf28af4ee9a8b2deab51341569283c631bdcadc4cd848601345761e0d189952825c62446f59c3e97f8010a07ed7ef0e103ec46d77dc9c3b797254f49a806fcb6202eeda6e5c636218ed86ac8e54b0eaea7c261e9a4dc86fd44a0b49b113fa5b44905cfb40d6c2a830d81cefc285e5bdaf1d3fae0776170242ad1e8db989cece34cf619615adc2a046fbd88e904f7d2c87466040a62426f09141aa6dd0be39bd90641e691dc55e1092e101b65d260b0d12bceb80902936af017f11a40\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 491\n# Longest valid message size\nct = 272fd3e9eaf33718a3f226d248ad571a8af0bf7b77aa2b92faabc4b999f689a80d1d75da35f58d8b5b0fb37d9943fb1cd65eeca6237081cf9bf6696878b642f61beb53db70988811e660489f5f2d5bcbf4db05e88b4aec63a472136f4826ffb7c46321f722eed074a7cd4e1bd494173b9673f97df525bbb9519d7d06d2b879c967c44b4fe2746a81bebab84b0b6fc05a97c6829f0be8f0dd2f0858dd44bc994e420e46bc950175950ef493459ebb0449773cc888467facc04216c2e622f73d45891c4e3df7ab6a4b1ed3b7b9656be280b213f9927bee52ba405e8a352d169841ee7cc190ac6d104bffdac0c73bfe17ec15d37061598b6eb4fe43ff015da4c9ad\nlabel = \nmsg = 787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 0a5c2790a591c3ecf4f6281c17e1038845e540a95f21294a7ceecd75b18c54c50c02e789311c1b0091526f87ab3cc8d48188e980ce0e0377bec00e9f7d9793583cb66a1f281e31d20b594b5c66a2d9efcc36d979a92bb877a9678f991ff60b77e28fac55d64f21c064552a4319eb0a9a1870a76ade3c3a3534ab8353c3e57b2708363859ad3a6337fc15ffb90980d93743f972d743c3dc6fddb44279079a809abec8113a6f987f71748c036a4daf353b27a81e6983d56a2d65b71b93128d5569499d10ad1396f094eed77c044e3ce9ef82f0014c25ba693928c00b5043b641b016e3569b4bd84d683372538671307321c25e590f14bef241e6d8edf24ff39859]\n[e = 010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00c2c4a860236d3c9096a076d6ba5107e0f7bd81e1ba916f7375724bd2b0b0b63956813715a3457ab0458b71fb35a45b27f9ef7ac3e579dea45dfbfd07819ed6b7021aa5336c58442aadd96ca9ee9d32473e9d9278562b4d10258ade6a98fb1c7cfdc3b3716ef5dec58cf73b359f389599b4b5865a9863519eb001c324387da755450db341309360e3807c0565b8e2c44fbd5e6e8d04d006d7ee768b8e8436082a90fa0e837f32f46087ab4a0d9be28aa7da1794ceb0172a7f50ed20f6df641efbcbfd2aac89775c761a7310093c671c977fa18b0d6e01fb25f7a432b42c65359784c689205719c1cf6e3a65dae2da434c326dde81bb6ffffbdbf6de5c16bba749]\n[privateKeyPkcs8 = 308204bc020100300d06092a864886f70d0101010500048204a6308204a20201000282010100c2c4a860236d3c9096a076d6ba5107e0f7bd81e1ba916f7375724bd2b0b0b63956813715a3457ab0458b71fb35a45b27f9ef7ac3e579dea45dfbfd07819ed6b7021aa5336c58442aadd96ca9ee9d32473e9d9278562b4d10258ade6a98fb1c7cfdc3b3716ef5dec58cf73b359f389599b4b5865a9863519eb001c324387da755450db341309360e3807c0565b8e2c44fbd5e6e8d04d006d7ee768b8e8436082a90fa0e837f32f46087ab4a0d9be28aa7da1794ceb0172a7f50ed20f6df641efbcbfd2aac89775c761a7310093c671c977fa18b0d6e01fb25f7a432b42c65359784c689205719c1cf6e3a65dae2da434c326dde81bb6ffffbdbf6de5c16bba7490203010001028201000a5c2790a591c3ecf4f6281c17e1038845e540a95f21294a7ceecd75b18c54c50c02e789311c1b0091526f87ab3cc8d48188e980ce0e0377bec00e9f7d9793583cb66a1f281e31d20b594b5c66a2d9efcc36d979a92bb877a9678f991ff60b77e28fac55d64f21c064552a4319eb0a9a1870a76ade3c3a3534ab8353c3e57b2708363859ad3a6337fc15ffb90980d93743f972d743c3dc6fddb44279079a809abec8113a6f987f71748c036a4daf353b27a81e6983d56a2d65b71b93128d5569499d10ad1396f094eed77c044e3ce9ef82f0014c25ba693928c00b5043b641b016e3569b4bd84d683372538671307321c25e590f14bef241e6d8edf24ff3985902818100e74a124759a174de33185996b3b437c24ed248203d674a87bcc2e76a667be3f54ac15e8f04e4c5e540f4e19f402a71d37d39756dcefbfaefb380095b6cfbdf4d78dd20cf085a1f127610e3b7102ca6bde1825941ab602e9b72c08e4533ac50317138e10bf7edfea30f52ee91ea6628c2cc65e76bafc02eb9d21ab66ad374ef2702818100d793b4f5514921bfbc47a1e45faa043eea03f052bce600ec4f5c62b014a7c45aeb3f4bc02160e7b12dee135e44b227a31854ca833ac706d14670ab5932a269c9b6f9188acb93e698b4a7dff65bb9c963c2e02b2cea3f2d5cb254e07b616792896e37550cb38171c4c32e0a6543bbe6acd4e99abeaba1340a961017412b57bc0f0281804dd402049a679730f2169e86f49f8f27c6684236ff1293e4cb22f6c63a083474251c9e9a17b677d5261f81109a81eddd91c4d4fc076b894c41a5b3005dd2ff984d3473c6d6f3a4830cd1b01eb8c59db245811c51d9be3ad0ba338b6c43f016e81c465c8c2f789977fb3f17e267f2ca828a4f3c29637193079a68bcbb83be547f028180767a352fc5d6bd7794d08186f3948af4d0c40d664b6ed4ff0ab6a97e403bdbcc6411cb5df27a419bbcb4656c9fb091dc2ed91adb78883d94f273a598461dc0aa1da754f7a2decc130ce65e4e15274c2949c6cdb3c7a1a51a96dfd2e7bc26a20069d47b2799d80060b52c2e866ced6ddf7abc50518e1df06e08ff1ae8b41b69bd0281805479dda30fc06b63cb5f77e20bb29db7eec7a6b37a5007f9651a46ffb66c90160be5700145c6a08d9737a98c5f7ba0dcef39352cc5d8612d94fd02383b8e093115376b154fa1cebdf915ddc051a7017d67a238fb4376749ced94712b117a1d0ca31cd653a1955dd547346d03b21eb0ad3c123fb85e92c8af50a985db10eba79b]\n[sha = SHA-512]\n\n# tcId = 492\nct = 69b96b4127b987dd3be58ecf1f9dec3852070f3d70de1dad332d233bf73a899f3809eadbb78b535a0f2111ff84376676111cfe876f1b64189fc470bea5c4e9ccab29fc26b2a9793f552a76c9b4a11676bda394e3c547820f7676cae29005196c3496c1e2fa22932f7850f715ab82158696397a9e74b820fd3c04960da9af384d0342a9f2e65d8478729a051964f1a5befb3e33bb990b833ec15beea12a33c91d9527a7bdb62d863f875d90f2b96c1194b951c98286d6876993ea8d46dfc504b1f4f30172b5c50d611c0bf6e47eeafbdc23c2c0530c05d41c1b56970d78cecad46c5fcc651d3448bcc6ed24cf8dc7ce909988817b635448e5579ac9a355e3acd8\nlabel = \nmsg = \nresult = valid\n\n# tcId = 493\nct = a447010651d5d3c6b68b8061351330f2373f276ec612ee2b5c1d4a80de55242cd6a04b36470186ee446d9e726537cff81caa83984a7d9fb5602b0304512d7e4db1d7a7a0a2455138de23a2174c02cc78beecb7ec6767395cb8b3b3e9a8861ae4deefff806e0055303d9f6d7d610d0ec83ae7cb1bcc7b27c3a5af45a301062c70ad2943f609e46fa4a4ef06275aa192176205ea215707c2ad68c900ec32965fc0c1aeeffdec101e59a850b65e462652be24b45773bc2fa4278973442cbb35204152a183b3a55ca072fbad5102e6cfd511e6d700163ac3546c02c88bd9a3f08043dda94884e91fe19f4f67f4f36a8b4f589112b8807dc81dce8996943a29f14cac\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 494\nct = c122a127634c6c31defd36eaf553cc4ae76d92ed3b0bf39f39b9bb2eb5636daa86b3a07e9fa261247cec3b8751adcb0d3a076746289b7dde3f5020a489a8151b2dbf502892fb457e5a0345f528699b64c40d20836d1cb1d9d3e19e108cc378b2c1713077ed6bd31e0d6976be9b781a5bb4501f4cea9db8c037de695815b3f28d4d6971d634804da16eea277e3f797c5c73504921a81725cfae59c978ed0bae7c44d73554feb7f536651f2f198c65d340dcac3423d44de3cef51ed99fc6abc9ba9c7ebf08f2b461acefcb4714ce6b25e31c7f2b6f5f68e0108147df3cbea1883efe5263eb60a9a887b4b3f97b0f18ee2e9f4affdc140a38f749e8855a4094f155\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 495\nct = 53e90647415d15eacd59f5cbd3ccf6fb1094e9b0e92de9cc2c4b406dfb806db4ca8b17bbdfa49d4b3aea7de1f28e3ab405439", + "95da0a04ba54bd3f6526b7e999531a33207c2c731f4078aea6c659ff533322abb3355bd880ca8f0db72a2683ef46c81e453ddcb09eec7a2fe6dd275e04845315f697a7e27dc8173516d7967ca96e419fb50a010a038854188e876f32dab666cdb2d49472dd335544792a3a2b7717a076cd965090d3f398ccf865e916f517615d2c2c9df55b4f8a6a824f15429abc8c941962b9fe019102f244a095f8754d6e0be7eb03ff11a461b54d1e8f1dea6be283ca1df3f572d039a1a38db93121e069a3ee379d122cfe8338517630b1109\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 496\nct = 3213a35ba0ffbee27c38e0091aac9d00639e8d2fc28ce0ed0271fc21f88b345f5bb1a61cd97fda1b919eef83ec7571eb5beb35439b41059d20c6fc0cac2f0ab2fd56b645b82d21d3f9356dff9474487caea2515b96392e93b1783ddaa1a54d02c1d9591a5877fecfa9d112fffd1d80937f435d5509c7afe23f3c5d63ae3c164f6dc1b1ea82f64c1b96b57d3efa8543328fb12d6c635cf8c68eb4a117fb4df83af5f2567bc72e8bd91c399188eece22774c5e83757a4f0a70ce8b1c1427fbb1225fd4c5dceb2d5fc88613cd3eb326b401b11ee4bbd7cf083b0902d87d65a6278a51a9d798113d672a8b0b8cfff9a96b500c1aaf1b17ed469f897200c1e009547d\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 497\nct = 8b87e5b6f040396468fc6fa3404be4a7e2ff205b1d18668ed33ce42a1b5c57fda71c2b2d524954876dacb331fb30a5c3e68e8b2d5803edf0c7490df9153335c89bb50c979b4e5a29a0293901d92c8523b14639d261b879aba3ed5bb556bbec0b72eb147079b33a40d2829f3f2373440d9f0f1774535371bf8bb03f8c630e51d134053b2d21521589447c889bb0d7dd6feb97ddc1cd40be85bfbdc6ede0da6bd77e066a5a2e413f25a8fc8e8028539a881a8742e2db1013988190117055ff777e175d4a2e7c4ce0757945c234d46deff936636568e3c29c05d596228945de8e93a361d1f38f834f960d8f195e448e24ee5f43fee9ae734b48bc09c0a685338b80\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 498\nct = 9ee01e824c5c129c23a863625923cdc27be2cbdbb216817929033404527c65bf4b4d2a0214c596a63d4531aa149a4c648f7c61d559b954ffcc209bd73f22246839939f5e3d402a22b9e66394a32aa522e599878733035e7be1999a4381077254caf599c46876f0c428da3921c62cc3dff7ea606d7871fc573919d09b89f2895984bb0d5013fd29eb30e9b34b49edc24a0e42aab957f576528ab272b5c088ff5ab324263921416443e02c13c8901c5c07f7da47f81db17a248435c7c7d86c2eaa6d64009ce8be7256b6f85a58f949f42cc4fe427f048e1389ea19418ea8a7bf04a27f07c9a56d34589d818d4a749258cdc7feb7a0354a5c5ca0f576be00eb8e5a\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 499\n# Longest valid message size\nct = 15e07f7d837225a8dbef878e8710bf8fd8d254c0b7e6585b81fa7da9bb02e6c7c3fb507f037870dbbed41facb1997e40fd2db495691eb28d77df8906366b70043faf3df33a9600b9ac3fe275c77252a12d25de449bc04063e044a942fdb41e55ccce553750b9fb49c1ad21bc936dc5f76f8db298b6c0a2666bf295a2ab630b918fee353ea2e0e3e92e1282a7457f39f91d404befe6876d2974aa1797976d23ff04da8746c2f59ea9cf24e65926aea6044cab07778ad0bb4c48740195ecdf558e988b444ea01856b5c67e0be20bfdec5be637c0dfedd353464497994f898a6c0b3685df5fa59a880db7a7f3607b3abb687a5aeda5e316afcadd5201ab10ee9d26\nlabel = \nmsg = 787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 0a5c2790a591c3ecf4f6281c17e1038845e540a95f21294a7ceecd75b18c54c50c02e789311c1b0091526f87ab3cc8d48188e980ce0e0377bec00e9f7d9793583cb66a1f281e31d20b594b5c66a2d9efcc36d979a92bb877a9678f991ff60b77e28fac55d64f21c064552a4319eb0a9a1870a76ade3c3a3534ab8353c3e57b2708363859ad3a6337fc15ffb90980d93743f972d743c3dc6fddb44279079a809abec8113a6f987f71748c036a4daf353b27a81e6983d56a2d65b71b93128d5569499d10ad1396f094eed77c044e3ce9ef82f0014c25ba693928c00b5043b641b016e3569b4bd84d683372538671307321c25e590f14bef241e6d8edf24ff39859]\n[e = 010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00c2c4a860236d3c9096a076d6ba5107e0f7bd81e1ba916f7375724bd2b0b0b63956813715a3457ab0458b71fb35a45b27f9ef7ac3e579dea45dfbfd07819ed6b7021aa5336c58442aadd96ca9ee9d32473e9d9278562b4d10258ade6a98fb1c7cfdc3b3716ef5dec58cf73b359f389599b4b5865a9863519eb001c324387da755450db341309360e3807c0565b8e2c44fbd5e6e8d04d006d7ee768b8e8436082a90fa0e837f32f46087ab4a0d9be28aa7da1794ceb0172a7f50ed20f6df641efbcbfd2aac89775c761a7310093c671c977fa18b0d6e01fb25f7a432b42c65359784c689205719c1cf6e3a65dae2da434c326dde81bb6ffffbdbf6de5c16bba749]\n[privateKeyPkcs8 = 308204bc020100300d06092a864886f70d0101010500048204a6308204a20201000282010100c2c4a860236d3c9096a076d6ba5107e0f7bd81e1ba916f7375724bd2b0b0b63956813715a3457ab0458b71fb35a45b27f9ef7ac3e579dea45dfbfd07819ed6b7021aa5336c58442aadd96ca9ee9d32473e9d9278562b4d10258ade6a98fb1c7cfdc3b3716ef5dec58cf73b359f389599b4b5865a9863519eb001c324387da755450db341309360e3807c0565b8e2c44fbd5e6e8d04d006d7ee768b8e8436082a90fa0e837f32f46087ab4a0d9be28aa7da1794ceb0172a7f50ed20f6df641efbcbfd2aac89775c761a7310093c671c977fa18b0d6e01fb25f7a432b42c65359784c689205719c1cf6e3a65dae2da434c326dde81bb6ffffbdbf6de5c16bba7490203010001028201000a5c2790a591c3ecf4f6281c17e1038845e540a95f21294a7ceecd75b18c54c50c02e789311c1b0091526f87ab3cc8d48188e980ce0e0377bec00e9f7d9793583cb66a1f281e31d20b594b5c66a2d9efcc36d979a92bb877a9678f991ff60b77e28fac55d64f21c064552a4319eb0a9a1870a76ade3c3a3534ab8353c3e57b2708363859ad3a6337fc15ffb90980d93743f972d743c3dc6fddb44279079a809abec8113a6f987f71748c036a4daf353b27a81e6983d56a2d65b71b93128d5569499d10ad1396f094eed77c044e3ce9ef82f0014c25ba693928c00b5043b641b016e3569b4bd84d683372538671307321c25e590f14bef241e6d8edf24ff3985902818100e74a124759a174de33185996b3b437c24ed248203d674a87bcc2e76a667be3f54ac15e8f04e4c5e540f4e19f402a71d37d39756dcefbfaefb380095b6cfbdf4d78dd20cf085a1f127610e3b7102ca6bde1825941ab602e9b72c08e4533ac50317138e10bf7edfea30f52ee91ea6628c2cc65e76bafc02eb9d21ab66ad374ef2702818100d793b4f5514921bfbc47a1e45faa043eea03f052bce600ec4f5c62b014a7c45aeb3f4bc02160e7b12dee135e44b227a31854ca833ac706d14670ab5932a269c9b6f9188acb93e698b4a7dff65bb9c963c2e02b2cea3f2d5cb254e07b616792896e37550cb38171c4c32e0a6543bbe6acd4e99abeaba1340a961017412b57bc0f0281804dd402049a679730f2169e86f49f8f27c6684236ff1293e4cb22f6c63a083474251c9e9a17b677d5261f81109a81eddd91c4d4fc076b894c41a5b3005dd2ff984d3473c6d6f3a4830cd1b01eb8c59db245811c51d9be3ad0ba338b6c43f016e81c465c8c2f789977fb3f17e267f2ca828a4f3c29637193079a68bcbb83be547f028180767a352fc5d6bd7794d08186f3948af4d0c40d664b6ed4ff0ab6a97e403bdbcc6411cb5df27a419bbcb4656c9fb091dc2ed91adb78883d94f273a598461dc0aa1da754f7a2decc130ce65e4e15274c2949c6cdb3c7a1a51a96dfd2e7bc26a20069d47b2799d80060b52c2e866ced6ddf7abc50518e1df06e08ff1ae8b41b69bd0281805479dda30fc06b63cb5f77e20bb29db7eec7a6b37a5007f9651a46ffb66c90160be5700145c6a08d9737a98c5f7ba0dcef39352cc5d8612d94fd02383b8e093115376b154fa1cebdf915ddc051a7017d67a238fb4376749ced94712b117a1d0ca31cd653a1955dd547346d03b21eb0ad3c123fb85e92c8af50a985db10eba79b]\n[sha = SHA-512]\n\n# tcId = 500\nct = 980358c6b0c769edfa51924cc8bd5814ee9e65a9820aa5e2b44be1f9994a1d98edf022ee24f9ec35fb486f0a997240f066bf7bb8ccb5d8fc7d7e7ebfea1f1e2fcef88cface2c308d8faaa8222e49fe839ebfe287495aab356705a14914827e11b45a88764b9f2b118ce6101ecd2cac0079e6166f9d4ef974b5dffb2042bf260f7da4bd7177d9321d8ceb5280db5e12c254868406d6d9524e929ae9b34b3fdbbad41f369647061dc38ed734ace08fd9f95e13f0514fbcbe63fcf8fd98db0943f5bb1993297efed583564d5bb8e27363654c673df9fc56976f8c9f582975d59de0aca4f3304c695b7ac822c9bf143629fa310418d6d72e7adb6b1e66a9f98c03bf\nlabel = \nmsg = \nresult = valid\n\n# tcId = 501\nct = 165ef0d3daeaa7ef8ee2f4b7d17497acf6d866b485047765629bca12bded02f1674a5c34ecbaaf3950b11269aab1d443ebd240818372f61727d8ca5501e029a002c507c709ba6728221ab4a4f4b5e651e7d17226b3d8220226873aa92bcf1a2d015f98d1cc64bfdb5aad8b69564fbea52aa8dd1a8d955207eb67163503ea14ce53188f9c89d9479484de1929edd1585269411d57fac4f52b6de87c3bcab4b7012cc7b8d33753ba96d516cfa7121e5db5df77fd93b26cfa7e86bea5171d07df3cd848e02b1fe51be6b8a9d577d6418ee6b680647be413482175586105c25f8e344d93c90f77b4ec905212b4d4c2a2f0c22c0df946cb4299d5b9f7369ec6364149\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 502\nct = 7e4b653d10d882087269dc1ea921e4c516452a743ac09ba26524f452fd19da8de02774df369ce4c463d2f8acc2fb2ce84545e93acc509b9463b83dec7ba8146709565c86b18e6331c325cc09eca50340aa779769cc2919a57de5c6381252225a490339f62cc612d5e7027ff4aaa6e3aa3cb331854c8c1d8bd4ff1029b1f27d58a201406ad3711c260f4d0b45a08e9f56f7289cafb1c474232f5c460a59f40497010b2710ee6211c95afc3e1e4720ee1a6e4781598564ce5", + "06cd87055a72227b7bda4ef1dc0a4ccff61e4b990a023357b45dbf8d8e079f0efff1eac660f66fef16b70a8738a904e626db2f50e584d4a6182d04075328d221fe10c683a5e4fd96f\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 503\nct = 48b4958c9c7c7cf17cd7e1a7fe09d5578b34579673af0d412d2a23265c2091050c2445bce9a67a987017a3c8955046b1f5cc0ef9d02739bbca6299088eb9466f9f466d6cf86adb573c840e13b81a7bb3316761eff298772d4d6f869291aee757933fb0da414977fbcc5cbdc4da4fcfdc9329384252324e0525912f004217832fdf1e3c09f04ce880d7c35f7848b058f2cd8c7ea455d692ea3effcc0d2e634aea6bcabf6630125a359cb4c6948c2dec49c27d7f35d68030ac1dacc2f93c7a60c038b3112c9bbe1f0c932d7753e82cbc3bb1c154b67b4fffdfe350e321bd126e6bdbd710ae78c2564bbb5a2af2a1ed953593be3b3823ac917444e4c87c40f4cd42\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 504\nct = 885fe5b25aef449cbdc5c4afcebe754bdc9ad7a55af803545c8d63ea8e20490cb25d02f50b253dc014dfc61ab489d3cee4e98b6961bb0e4c9d396aabcf2b721333b743939c1cad83c7943fe3fba74e9ac5e69493d3df1df35f37990c8d06e0396c93b696f9075dfaa27bf1e1c25fd78d29f45a944d1fa45b5b988d53337ed63a7a002b084cd9e16de2579f0330d7e122260d0ea14c8f67b4cc1971b6728d278919917a2e84f8854f1fbcd0da60bc6bfa91daf79109cc80c13eea1af29058b3bab08185dc6abe58b0a1d0bb0899e6cb8ba521d68703d98d33fa8a3670eef7c854bdf1a96dcd20835409d94c9f869e1580f9b25146e6b62152b9115f7d8d7d6f75\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 505\nct = 4c04bdc9ea9a9c177e9502b15f9227f507f22d93a5aa9b7962275008536909f52d9e6e29104cb2eb54d2e8405ce9867a96b21159e9f658851df4cb74407a62cb39dcf161c071b3b151cc50c65931a77876628a1528441c5fffc407f39c14b196902330b1bbec718f2730407bb48fb2cb2c9843d35a0181311b7d3ea2b4952cefb10e865fb1607a0ca25cd275dca1f9291c65e77d72815a879a27fba084d6322c8bc6ea6505786a60b05d4f4f1bcc417411b78c5ee46e889ea9585873280430184d6b309ac5904cd3e16b332b82f91f47371d6dc6cc53a47a68fd7602b60d863767d771e6312e359a48bd892b3d0a15d46b35b35c0b6886e4f2118070230b3e6e\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 506\nct = b53a6b68d8b09f6d7d9ab71aa1025ee64b919b598cdb087e53d783567b47792e9b4f15aed0af46b6c4a7e1fc28a1724fd1114048928b214f1f34b52cbb819629f9d9483323ba7335fd38e18766c8b2ee69b4f9e85c379d225cbe2be575dad637a3131f317cddea8c41b394a33ef83b6f9a87736be0b3bb71fac7e555656befee24b483aa0b32affeb77dd8b1a2bd06d83424aae6341ef56f2dd896719aff07da3ec1d18ff0a3f42f0833b341e99d5981c246c6333e3f7c4f5efefa4782f7d0090a0d9ff9cd67220f2145dee0d48fd915a34296f218261c6094fabf85263a59627033b5988bc060e71a0228d1d9616d49cbd3101d564207ebdea4100cf50d4270\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 507\n# Longest valid message size\nct = 3c18ab12d5fa387728579313aef636a9f35526faa37889885c83cea8e51422e439d4d91fd14859b0300f2d4f1b8a1b37a0b5abb79f00fc539f41eb4e784d38f6f12e0d9eed077fd6894f2a1f26ae92df65caad5b02d468cc22c7766102238815183c5d1fd77bf04a52722c97bc55451cd47fe27d7ec3752da4109e09de8a23434588980ca4fae480c2c1c2f1bf45b3163e419d6e98f82feb2420949f8a1e9d4b8efd422d12b6e58c44556cec1b2858e7d3f19dfcef5b680b6fa3347e6b851363a833d8805399706d3d938e71de55c58b2528c714afa38defe5fff4bc3dd8aef4061945f814b3171a92102df3691a8cf019e30bba6ae1a3016f1a02c393aec586\nlabel = \nmsg = 787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 0a5c2790a591c3ecf4f6281c17e1038845e540a95f21294a7ceecd75b18c54c50c02e789311c1b0091526f87ab3cc8d48188e980ce0e0377bec00e9f7d9793583cb66a1f281e31d20b594b5c66a2d9efcc36d979a92bb877a9678f991ff60b77e28fac55d64f21c064552a4319eb0a9a1870a76ade3c3a3534ab8353c3e57b2708363859ad3a6337fc15ffb90980d93743f972d743c3dc6fddb44279079a809abec8113a6f987f71748c036a4daf353b27a81e6983d56a2d65b71b93128d5569499d10ad1396f094eed77c044e3ce9ef82f0014c25ba693928c00b5043b641b016e3569b4bd84d683372538671307321c25e590f14bef241e6d8edf24ff39859]\n[e = 010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00c2c4a860236d3c9096a076d6ba5107e0f7bd81e1ba916f7375724bd2b0b0b63956813715a3457ab0458b71fb35a45b27f9ef7ac3e579dea45dfbfd07819ed6b7021aa5336c58442aadd96ca9ee9d32473e9d9278562b4d10258ade6a98fb1c7cfdc3b3716ef5dec58cf73b359f389599b4b5865a9863519eb001c324387da755450db341309360e3807c0565b8e2c44fbd5e6e8d04d006d7ee768b8e8436082a90fa0e837f32f46087ab4a0d9be28aa7da1794ceb0172a7f50ed20f6df641efbcbfd2aac89775c761a7310093c671c977fa18b0d6e01fb25f7a432b42c65359784c689205719c1cf6e3a65dae2da434c326dde81bb6ffffbdbf6de5c16bba749]\n[privateKeyPkcs8 = 308204bc020100300d06092a864886f70d0101010500048204a6308204a20201000282010100c2c4a860236d3c9096a076d6ba5107e0f7bd81e1ba916f7375724bd2b0b0b63956813715a3457ab0458b71fb35a45b27f9ef7ac3e579dea45dfbfd07819ed6b7021aa5336c58442aadd96ca9ee9d32473e9d9278562b4d10258ade6a98fb1c7cfdc3b3716ef5dec58cf73b359f389599b4b5865a9863519eb001c324387da755450db341309360e3807c0565b8e2c44fbd5e6e8d04d006d7ee768b8e8436082a90fa0e837f32f46087ab4a0d9be28aa7da1794ceb0172a7f50ed20f6df641efbcbfd2aac89775c761a7310093c671c977fa18b0d6e01fb25f7a432b42c65359784c689205719c1cf6e3a65dae2da434c326dde81bb6ffffbdbf6de5c16bba7490203010001028201000a5c2790a591c3ecf4f6281c17e1038845e540a95f21294a7ceecd75b18c54c50c02e789311c1b0091526f87ab3cc8d48188e980ce0e0377bec00e9f7d9793583cb66a1f281e31d20b594b5c66a2d9efcc36d979a92bb877a9678f991ff60b77e28fac55d64f21c064552a4319eb0a9a1870a76ade3c3a3534ab8353c3e57b2708363859ad3a6337fc15ffb90980d93743f972d743c3dc6fddb44279079a809abec8113a6f987f71748c036a4daf353b27a81e6983d56a2d65b71b93128d5569499d10ad1396f094eed77c044e3ce9ef82f0014c25ba693928c00b5043b641b016e3569b4bd84d683372538671307321c25e590f14bef241e6d8edf24ff3985902818100e74a124759a174de33185996b3b437c24ed248203d674a87bcc2e76a667be3f54ac15e8f04e4c5e540f4e19f402a71d37d39756dcefbfaefb380095b6cfbdf4d78dd20cf085a1f127610e3b7102ca6bde1825941ab602e9b72c08e4533ac50317138e10bf7edfea30f52ee91ea6628c2cc65e76bafc02eb9d21ab66ad374ef2702818100d793b4f5514921bfbc47a1e45faa043eea03f052bce600ec4f5c62b014a7c45aeb3f4bc02160e7b12dee135e44b227a31854ca833ac706d14670ab5932a269c9b6f9188acb93e698b4a7dff65bb9c963c2e02b2cea3f2d5cb254e07b616792896e37550cb38171c4c32e0a6543bbe6acd4e99abeaba1340a961017412b57bc0f0281804dd402049a679730f2169e86f49f8f27c6684236ff1293e4cb22f6c63a083474251c9e9a17b677d5261f81109a81eddd91c4d4fc076b894c41a5b3005dd2ff984d3473c6d6f3a4830cd1b01eb8c59db245811c51d9be3ad0ba338b6c43f016e81c465c8c2f789977fb3f17e267f2ca828a4f3c29637193079a68bcbb83be547f028180767a352fc5d6bd7794d08186f3948af4d0c40d664b6ed4ff0ab6a97e403bdbcc6411cb5df27a419bbcb4656c9fb091dc2ed91adb78883d94f273a598461dc0aa1da754f7a2decc130ce65e4e15274c2949c6cdb3c7a1a51a96dfd2e7bc26a20069d47b2799d80060b52c2e866ced6ddf7abc50518e1df06e08ff1ae8b41b69bd0281805479dda30fc06b63cb5f77e20bb29db7eec7a6b37a5007f9651a46ffb66c90160be5700145c6a08d9737a98c5f7ba0dcef39352cc5d8612d94fd02383b8e093115376b154fa1cebdf915ddc051a7017d67a238fb4376749ced94712b117a1d0ca31cd653a1955dd547346d03b21eb0ad3c123fb85e92c8af50a985db10eba79b]\n[sha = SHA-512]\n\n# tcId = 508\nct = 101f82bcb8157966c8f50531f294510416393943fa9dd5dc05f85bb82f0492502274e07ca7dbda2a7e16187981c923d60cb6b427693c6d7b107ebadbb6fc400492fb795cebcc804d498a7d3a077cf39cd030e941308dc87000af5380b3ca5e8728313e35e31b78ede9e5f07cdec8e3569afe3d13466d06d4b77030d146b32cdd7da566d96753fa44d64791e687dcb324f52371c0191bc9f1a5bc7b7736a5bf00d3fd518b70ed6f4ae0fcb20bc92ff3eb048a6f767596263127ccd66e474e8c27521fe2eb21b8abb2c23b91bb16264e058265a567492bc51c4cd033b1d8a5d7b5798360f4c3716ddb43622ea5dc9fcd36819e05a989252dcce826506711a20fdb\nlabel = \nmsg = \nresult = valid\n\n# tcId = 509\nct = 35aee1c56044da3b866bfed989690dbaf57ac10211ca4c364c4f4127fed0a55b581217c7e854d11fd1a1f9d5431c2c309e62a6f7c3c59676182b288edccfa961c78c1baa53f2db1b1b9a4dd05015f41872cf22acfe3a071d6ac1e82ba6c31f5c2d9325247d6f2c9b03ce00c94f02fe33c5678a4149cf2fb70bbbd995af1465e3819c83c9ab8b55088fd5d75036613b04df302113948700d7876b7cec9d7337bf5773343d51a4298e717a4fae09e573fea412d88b836ecd4f74c7cc7500609723b3f3a2a00d85ee7ccbd92bf6c065833027c5e50310c6cf8fe8d13e2d8218e785333a2e65b547e5eda2f8f2f9608f366d7e43636fca4f46450c76f06dd08b00db\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 510\nct = 58878dc8b9527a416ec9bfbe0f07fdee8dc5bac8e31ca545ae7c6ef4a68f2c", + "6b2b73366518edf85f1143c27fba00a5d9a9b02843ad8951631ddf01ef1238853b4593abf9701c621941b4f05931eaf307c06faa7fb818db8f859c96dbfc43268965303b44fcc69a0e3ce619624907bce074205f113715e5e820bc8c6dda65066453215702416db9320f54e67fc91e9d37a8522d701aa22976966a99cbc8fec0e12f2eb9b5705b4dc77caff82a36485550752a3a5ebd47fc67d66b68024a2c5db809d08be9090bb96e18807925b18a753ece05f1624fb19537abe7fd662830d56647a416df7ddb3e6a073150d5112f60538b685243f1e4fde2a5951c9e9499ecc4\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 511\nct = 2800f421c1c078b8bee9c4a4f355e1ea834c5bca442e9986792a50e66e68c0b8122cb81bb59e0070ca044c1c5b190f9098dbdaa977a441a8a4c62897edb9484935007aadb6732c1b2b2171aea3ab1513f225ebe7830fb823ec3f5433bd8f3c3e52775bb45fa91aa0ad3b7c1bc647b775e4de8e1b22eb971041267878421cf43a5e2a2675b2c940daa55f12a7c79d87d45e08c5592362f5e0d7ea668af99eecd2f60d7fc3791e4f53aed79931bd0ba90f701de836d8c8c9be7f7f4aedcbe5c92383932f762bec65fa298eb644877de26eec995146af551ad77ecfd06a3670721ab4c7577e61c048c5dd01b282cfc0fc963b92c78eabd13fba64195d74de4829bb\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 512\nct = 65a7286d77963a2d168ddb4c0e854baf8898d1d22c9de5d4968e8b326f92ede2f18fd29964708211ef6328e4ef16ec36a775b36b4531c52e01c7cc0058064af954790160012517134f17d92a05000ebba84f515f90258278208cb0a5db11d4b1dc26d2042218d2fd62aaaf53633ff0f632431a010b7e14971a41791644ebc170792a61b5548569f1b0268c890074a4b07d8e62d4857f9e720cb7307713424c701f6f666981ac8e96ab066f303fe89a138abd57b24f03d9136ef468cd8519235cef7bab01717898357c0e4ff4d3685706beb5d680da2885556e84663772d6c299fbda67df2cd325cbfd62932836920e0751b0d8095b914c18fbe5e348bcf4d85c\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 513\nct = 7fcda819b841cf7c668f9ec9e7e115146f990cc420efefafe239637076bf9ef1c49ea69474f63495d90cd3859e335d323ab9a967c65fceb0b33a760142b00894d1ac25ee7c2833bf2dcd086a0cad64433aa606f4747f14500ed2779470b4339f580e2fa0a14d870d6738e726a34dda3fb7b82509edb6d6b9bcaefeca077b2dc582982ee6e28fbf167a92b0ff1141d10fc3dfc49adcfaf32115f900b20c812094bca91bb10301616af5030e0a600c993a24d96764986782da083e327569103f7b358a6a91d05fcf89a9290ff989ac8c0acdae03438a44b16c7a3e06a1591869874f29460b0ce09bd022fc3c606d785ecfe4f4a120298408cb425e9abc7171e4d3\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 514\nct = a5053d46939bd6c90f2a67f6613070ba40a831428884fbbb09d4923b978f17bf538a5963a0416875300f1b51d56880ecefbe58ff6ec7b3740a649f36db16ba6cab9b0e4e7a1ec658fa0fec781361a547a718ef5d9f7d03892bc1b18602436fbe5ff5cc6c3cfe8f2e9df960ed89800da546630251d292b00a60d102211db28ad184919709d8d4a1ab89d65ab2fdbcb66e1492c4525417eed89a0be2c67a79c5f89494ee7ef9d3d0d7db2de34ec6be5863993e8f64e4601b7945b2ea271efc941c4253b09dd3a3fdec6b45038887018a5018771fe60eb67a68bf977e9d3c6b032fa28868df58386902065ba3ac7f028600c5dd5c180552a25d741db12763dc3b89\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 515\n# Longest valid message size\nct = 89bc06f1f12c0b688352d31ddbe22de92b3e8ce8e0f7d34e5663cef1b473408c932aade4f06b056a52a48a0b7c80c763ccd3155f9f4282aa350e9c494dcd99dc2f4c17d53abbf24a37194db5f987aaa176028b2570c8e74aab356e233e406812a17fac0b92d27f503e6dcba5578755ad33a105ccd91204c8ed22e923492ff07d5aa702394b5b8cc417e8e390fc8268cab2468a4285a4fc327a83038e59114654df7d4dd32910f0fc2e900177d46aea50a61fb0e2066947fc648ef40e22c2156464fad8bfab19d8dd9a4aaa8804024693fd2cd45c233c59ec67be03a8b23fd859003b2d01540214b3c06633ce273a9a992d11befc23ef6be34798522c074f4ffd\nlabel = \nmsg = 787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 72ac6bb6d9a5726e454b5430c71125c6e9ad5fd42e1c5a18a8343e9d83d72214386b2308c0b8ec5ec6759dcfcd6a21f88b8ceaf46403923eb86ac3d14a8592e95de0462e14085c3f17db005dc4fac87b4a2d1ede5cf851d5745c8651a4438c0a4d746ad72e419207964728c301bf379a01c094e9693376f721137d3dc76ee47c9790fbd590b7d6a8d626e21b277ef17a4e4f7e0171c1146e1ec324fa97f30d3a1bae08f8d5f6e92cfc121665239c429167359e9650434b29d2015190356adfee12f25b341b08f12b7fec6379598af7d5cc24fe7f00de1d47133ce3ad8b6be1c9a854e33fb952e164ac6dd2a9052186ee144ee7dd986a8f03891d0da21ed78516dcdc2ac89cdddc8b544731d66f9d89bf17a50c6d987a598b02c938dc36521b881ea994e4c8fb2ba8fd001f73335d4dd1bdbe177d3093cf3883657c9ff944e8f5c9cde548b7c1b0741929b0d74977ecda694d940aefd9d2fc75323e0b3a114b99feaf3e2518f5158d1fd9d953aa20af158e67d27e2ce2f18d97fd02f369981979]\n[e = 010001]\n[keysize = 3072]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b1203]\n[privateKeyPkcs8 = 308206fb020100300d06092a864886f70d0101010500048206e5308206e10201000282018100c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b120302030100010282018072ac6bb6d9a5726e454b5430c71125c6e9ad5fd42e1c5a18a8343e9d83d72214386b2308c0b8ec5ec6759dcfcd6a21f88b8ceaf46403923eb86ac3d14a8592e95de0462e14085c3f17db005dc4fac87b4a2d1ede5cf851d5745c8651a4438c0a4d746ad72e419207964728c301bf379a01c094e9693376f721137d3dc76ee47c9790fbd590b7d6a8d626e21b277ef17a4e4f7e0171c1146e1ec324fa97f30d3a1bae08f8d5f6e92cfc121665239c429167359e9650434b29d2015190356adfee12f25b341b08f12b7fec6379598af7d5cc24fe7f00de1d47133ce3ad8b6be1c9a854e33fb952e164ac6dd2a9052186ee144ee7dd986a8f03891d0da21ed78516dcdc2ac89cdddc8b544731d66f9d89bf17a50c6d987a598b02c938dc36521b881ea994e4c8fb2ba8fd001f73335d4dd1bdbe177d3093cf3883657c9ff944e8f5c9cde548b7c1b0741929b0d74977ecda694d940aefd9d2fc75323e0b3a114b99feaf3e2518f5158d1fd9d953aa20af158e67d27e2ce2f18d97fd02f3699819790281c100f5eca16e0e83696b0ed9ac8a812545daba55f20a964c4e6343604a7f2be2860fce9fa16a1cc92120939deb88dff68550383ead851fac07ad1b2e8a9b2bb69525d96ceabb7ee83ce50f08d649107f449a14521a6893f3f3c5c5a703b2fc28bfcfe261a4f7f450558080deaeaab651c7a9ae586c1e7f5c52cda93e40aac908e4e3357984fc116af9cbe9539bc7a8d3b351a73ea5c2413d1da2e0b448b454670aca89ffe73b1401e9b8554fc3f23d6c904623251a1d29962ca9b26d973345bc4c5f0281c100cf25446f59cf512919ddbfcfa2d9670495ad92b6f295d61032057f9da6dbefc4510a623c2b47a5220082a3bc42af1a144f98c9ee4fdae41be0ec501ccc94b2b0640191099b355611160deb327e8ace018b898025ef470e4373ec1d97f669e298e1d845c6553c0a546ccb168d5b510dbe6018fd4ed9a3545f9bdb81968f4a6d7c790e5c34729a8efb496086fa1300249ab8b28f38951d7bee1c127ac3c4d0bd596edee1e9d17781dbb8227d7b5d76ce8b8bce03c5d339b9757981610848c55cdd0281c06357a59679d26801514c6940c20eb67b370e84e9f5f0f9316c0437d3cb7c843f5a6e6d9c19e8bdb3152e93f904cfe6e692f1eed27a0ada46f95601b3d122be793dad9bdd05d4f6d469105ecfc11448381dc154ddadf6bc20c649435b483585d68a527b7b967be52e35e0be9a437021c1cfa5f4771567cc233c1ce3ae99eb37daf8bd10156b4bd580a3ce9c7d391bdbb23e67363a947405c6c812cbd3dccc8b356a2dafd0d3b23a21b684b458e4ab3854bcd9be04cdc9d65ceeb10a8531c470ed0281bf04dadabfc15b1a8bdc0f566f876191088a7986f6c2b8c04ba0e0801d31cbf5d2a4139a39", + "cec9df14ecee22e846a7d3f4a5e8eed2a70c7a4c2cf95ce74fe42c4bf60c135a264919bb4cc906ba283d1896f0ae48529b490f0c85ab03068cbfee8fa6bb6ae73b182d25cd66f5205b038b4eeaf1aafe2e1ba5de97c88d40fa1ac47626602fc90ae694734f44f3e4e88d184e8805a755ac2904be8fe9def6b7a62cc9ebcf4d7c2d6c9f9e86b2483e9bf22ce51861bbb4e73e731a4dbeba87772d290281c0214a1f73130e48b336fe01b950885ecdb3443d93e7e8ca62fb0da96bd423759d8be552c8be44f139fbee6ec24b75fbf0744fac4daabf5488fe6c3600d9b8e9a922481fc74a7a3d622662db8c85318de48ee8b716f19429fb594990da705ebdf7ef6613dd6bf885c16ad65e9fe6c280386bee976c25dbaff8fbf69baed9510be5eded3f90e0ba4a97e5c81a2189f114670745ab95edda215bd05fdc78929fa0cfe8b01c83f2aec93e3ad1a334fd85aa8794eacf955ae5dacd45b268741fca195c]\n[sha = SHA-256]\n\n# tcId = 516\nct = 5817f7d276493c294359e776931f0c4922207b6a06b43b5b03e3ec6cea095fa6acb8313b61d4a60e293eb8f99372b9cd210818a54e796bf09c70e21eec280fddd784c56d63091bfca32ea28846219f1e39d262ea475e5ef0e0802e80d36479ab81f6250d3b590de65e870bc9a1e71da1bb32154c9af2d049b539c183c0b5d6225c7ebc81b29cd0ad8caee728c57b8a9aa81e02e0e4e2ae2653d8e9045a2f267b844244eb84f93fc5dd37fd956ac933ae1a65643bd910bfed21dea885581b6717cf9cfff50fac0cd7ab5d13884401f3fb65a280a209e6ead340dab05177724f6ce72109a78c433c936e88d746c244d6ffc9ae76d16cc5a2d55fe1ecece194bc1c1a7d589376b16efe8ab4198997476c3c47ee232107af8fd1285f27bb3b455990649c14ef7ae1e81775042d6905c37a0afdcaeb6ce8c303d8fac88d9515ce50e6df603129aeb112fb3742ed607a6f095b1de291fc9f1d808a9c17c78a314bf0d1317cb4d2498b1ceadf919b4aa0978b929fb1b25e2f310daa3e707a7e3816e2a1\nlabel = \nmsg = \nresult = valid\n\n# tcId = 517\nct = 9c3c92244619c8e02a3a5c444ed621ca2dff15ca12def6a375b96548ae86a1c27056903fe1ba70d376f8f7949adff43d946430cc6692b03151f4baed3f395c496ce2416d8fd91578c607832c3d02005a88631b741414fcbd517f7d4774a818566e2a8eb15e5737110a3515cd43140083d6c8f8e059a1ee0e30145bb10ae2170c0fb782296d646e50066bc92825f1f3ded41d694c6f0c5dc5b17b1dfc84d6be72ac705b41f82157593996f7b95b6362e7227f1a4b1213e473c1f6eb3014f2c79f255a00b3ff7d9aad362a88eb5aaed14b9a620ffd3abb2301feac7cbeb7728b261ee6e877da45d28e6554f736273879833b0d8f11ff04b44753130bf7e5e340303a20d5c21c5659f48e3c3d1c566eccc2b5c57cc7d215ecb8adc6cbaad1eb2dedce4dfa5cf2888cd307718b9980ea17b6b3c559b955b19534207a2ef5ec1ee270a69e417e5d6bece4a62f594e94ceae0ed182833cb7d58633d24d676d1c009be9f52d655c656ea5bd938f1459d9b8405aeb0317d6d4d14cf2c7de2146696a64bf\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 518\nct = 606657c39ae419347af5117fee8d9b8f28866aa59e0dd7d6c2c07a24db6f500272a7766cd45e809055b4ad8a650647076034035a055e0b492a2ffeac0395ccf0a1f79b8344f6e5fb30ede7a0c75ca443b9e999aab43f902c8f85b1c3295296a599b16d5dbdb8f0b65a541d40c4fdb7a800406b56d3b01466b7097a5ef5140e283bfcd16ab7a9101a71700b490eca0a5f12b465be16e46997d03f119b25c98a3898417a433139043d11149f07e829fb7a274f8b6ad7191060dbf740806326fc62921dce846871c2800f4b3ed6936b63ef829a6509d17dd5ab71093f75afca0b32f2b81b697213a1076757fc7e2d264597bf2670b61c2fa2376f21a32aaac2dfd0ed728bfdf865762e07303c860cef78fbb4a32bbac94320bf3246eb7a9e19db4a219b88c41e86aaac68ee52a9700e734887ca4547cc5b6b2725bcd47cfce7d74eb37e7a67ef1cc2adcdd5137201a43af8c5da372c80946d8aac2bd920283bbc0cf4afe2e20572e8100134a0ce1db5422e8a2f52e0f46be3de9dc134e2a0fae6a8\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 519\nct = 3302b97f67d2cd9fb0298f15a375a21defb6c9b52cdbd78838d4561f0650cbe2563cb5e5ea797ca7703f551980307429bd786c5f5d15090701f1d130366cb0a93219f0396c9bf9c7bf2aceee5053553f147c15d02a0b5f00b597d01acda7a396d4f7c250cf61342a48e1bbd07b3bd3c2d47fa2da326e1c757816e47c7cd81de6e0e7ae36c99ae2fcc56bb47570a68f5507468dd40bedf2ab43eabf6fd00fb43a0e711477db4ee323300897cf11e4fbba49836f55197b9673a2433a1756fbcfc2497a4adc620e65428e29a18c80c9a86710d1634b56c296238efae7cc0ff177052ac7b2159d2c21e587752ca16ea50c3a3e50b12709535b7eac02c4f8fbb6a95d8455e472f41765a2eddc24008e74b79baa11c7073168c7b54d3168cb41353bf8011e33d02d4753bfb28c762b7c459912da6d441f4942c64fb5f6e82c351d8942c69299b07ad25b6011a7a280471bb90113bda8e450a1098c6944d048c371351b0f1fbc254f9334a6c7b26f5a1888f0c558727ad05da09539ec9966b5adb1f6dc\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 520\nct = 22609a0bccdaf1e08cef04569a12655f58a9d5a43f83cf9f979e3a358c67a1e444d104a656aaebf8f7627870799435c292ac4655edcdc427a0b618781268a9664fac3a2ea481d3b62b3fcc37f0a473ce47090bc6f3fb2a3d80db8883b99f26c3da4a9e9b1902b2d0dc4643c8d9f47c105f8efa57bf8aaafbc96ab3094d49792d0edd751bf028611c1a5fa38319514bd34fbd19a837cd328f0a77b39e7f56f1c76d1e2ad9594251ad8c7741e958371a5737aa272d0dcb6674ea36440c807e57f95edbb182236bb5af45cf17d8649e33cec6e594b5d0e609fd7fd74c53358f9aa320df99c2fa38f69caa1fc333e4cc5d0bcf8a4c4b6d2ed237748eb1886e5a9f155aac9e86dcf798caecaf3d8e83fcdcf1dad4c2e304e288aa925ed68a3ed672c78fe3477f2f59510ced468965d90c88b1d7eeda4d7a6c5f6cfb418231343d2838d96f6152f9963ecc68684d5e5572cdc3b7cd237c3307b7ab72c810a5832ed907e275fe67b267d022c4dde029aa840bea6870f3ad29524a097f9060cfea3a73fc\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 521\nct = a79686ec88818d6266f1fb06991ade5719ac10a7b0ecce5694dd76aea13fdcf32d620c290350839782f8083af7e73eb65a41d7a908644c6a28d6b9ffadc9545127eb1827468aa6f39a2f04308099480f79c37282e9d7f0545f6214bce22534cdf131c5bfc148562e45545beacab5568d3ce1615ad3ba0c48a93a3ccc72ec11ed32b770a3d435e5ecaa6f013cace1e04b8167dde67b97dfcf4c6434fc50bc53494d6252b70de6d48370aa80b8efd667993cc559791c0f60dd8e324a578a50507a2b36255c47871659e1c96148b17d9d2dfc453db34277a9ff395b828d627bd80083d44b594257a1b7741bd0b0865cbb0b6073d2b7e2a1158db00a20d652786937ed861e6775b551ff3ea78419ff4287a1d680981962f34d2c57a7ff0b8bfcbfe10e5c1a42e58e624971a53d59e1985b215a48a36ca8b4f2977b713baf9066ac3a98fef9775c97e248c53c3f425552050c29fe1eb05e31132806b7b7660da08ed9833ee43e7fe8f8d50325cfc1f6e54bc34b9b5994548516a980df38b9f61747fb\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 522\nct = 5a4eaf5cc897db7ed7dbd6a57519a06247b0c9c229f7bb1c6c6561858bca7552d56590821e22591218ca5edce82972f58cecd65804e048bbfe48df1934501d4ae5bcb8d50a0a12778540cd5354cbba91875ea70dd0f5057d808528f8c5600ee33c38ea7910f881e45ddd4db2ea933547db764769ca54bab59f3f9559b4d4e2d439462762fad169bf0e04cfc377b3f144924514c32d82e0a53e870ee0855d4ec96393c0eba5fa5fc5debe3d384debd1b61b33509f17da3bd95baeb0c43940924a11124d95d274e67df9e697c2b8133231f2f33aa5d6cc6f41b2962292c97465926bc8569a907c28b54fa6b6d2fd89c409da1b11d23a5f6c53ed82043fdaac6c0e4098daf8a27569d58b87b4597a25134ae45a8e1e6f1871d3310e56eca5894fcaa946e9a5844813e2ef31931dd105a3696bf04e4defef88c5c5a1cbe6bda766804a8e99c82474bdbc2ec344bc2de0575ff90a50d39f6446b99092cde226a81ac82f3688ecdbd527f37cb48490614022e2e961dc1ecbbac819cdcd1ed836a3a344\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 523\n# Longest valid message size\nct = 0392ad8b60f892220f5ebd2ac686ba3bc49840dc8e54fcf21f8e8a656ca0c53ed0020c9d512d5aba3f3b8df0ea3c65ac066deeac64111af27d7f7759900280f3cd554ac91016f341bc089ca022bd1d772a1dc99ef9130cdd0bdead74f65d08cb1097c9b5745bf28141cfb6dd17c3587c549e06fe37325a51df08a15c1bf817760f6b4d6c3bf6d49b949e97272de6700e3a82a856ed06cdb3d0eaf6e74d6c9a5e6b2da5bb6b3b162baf291a78e0ce082b58057fe92de538672ae21c19e215e337d4ba7e6b878f269be166e6834d8670fcdbffe7676bca15ea3bdea2ce9286d87ec21d3c538f17c17e41f653257e967c8859bf9cca349d5450af6b48355b49dd58c189816bc4da34f907df6a178768c511e645b8a6069dee23854144693045814471cbcb45e607dbc82a501d97ca7e0c0f641da3f83d69f9561731ce59cf2020002e3ceffe8371422f1318194b862617d78c79f89215733c2aab34c3dd4f1eac7815d88cf18ac9424dfaeeaa3d4262a2e1f4871704e4453d65fb9cdb82700295a7\nlabel = \nmsg = 787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 72ac6bb6d9a5726e454b5430c71125c6e9ad5fd42e1c5a18a8343e9d83d72214386b2308c0b8ec5ec6759dcfcd6a21f88b8ceaf46403923", + "eb86ac3d14a8592e95de0462e14085c3f17db005dc4fac87b4a2d1ede5cf851d5745c8651a4438c0a4d746ad72e419207964728c301bf379a01c094e9693376f721137d3dc76ee47c9790fbd590b7d6a8d626e21b277ef17a4e4f7e0171c1146e1ec324fa97f30d3a1bae08f8d5f6e92cfc121665239c429167359e9650434b29d2015190356adfee12f25b341b08f12b7fec6379598af7d5cc24fe7f00de1d47133ce3ad8b6be1c9a854e33fb952e164ac6dd2a9052186ee144ee7dd986a8f03891d0da21ed78516dcdc2ac89cdddc8b544731d66f9d89bf17a50c6d987a598b02c938dc36521b881ea994e4c8fb2ba8fd001f73335d4dd1bdbe177d3093cf3883657c9ff944e8f5c9cde548b7c1b0741929b0d74977ecda694d940aefd9d2fc75323e0b3a114b99feaf3e2518f5158d1fd9d953aa20af158e67d27e2ce2f18d97fd02f369981979]\n[e = 010001]\n[keysize = 3072]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b1203]\n[privateKeyPkcs8 = 308206fb020100300d06092a864886f70d0101010500048206e5308206e10201000282018100c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b120302030100010282018072ac6bb6d9a5726e454b5430c71125c6e9ad5fd42e1c5a18a8343e9d83d72214386b2308c0b8ec5ec6759dcfcd6a21f88b8ceaf46403923eb86ac3d14a8592e95de0462e14085c3f17db005dc4fac87b4a2d1ede5cf851d5745c8651a4438c0a4d746ad72e419207964728c301bf379a01c094e9693376f721137d3dc76ee47c9790fbd590b7d6a8d626e21b277ef17a4e4f7e0171c1146e1ec324fa97f30d3a1bae08f8d5f6e92cfc121665239c429167359e9650434b29d2015190356adfee12f25b341b08f12b7fec6379598af7d5cc24fe7f00de1d47133ce3ad8b6be1c9a854e33fb952e164ac6dd2a9052186ee144ee7dd986a8f03891d0da21ed78516dcdc2ac89cdddc8b544731d66f9d89bf17a50c6d987a598b02c938dc36521b881ea994e4c8fb2ba8fd001f73335d4dd1bdbe177d3093cf3883657c9ff944e8f5c9cde548b7c1b0741929b0d74977ecda694d940aefd9d2fc75323e0b3a114b99feaf3e2518f5158d1fd9d953aa20af158e67d27e2ce2f18d97fd02f3699819790281c100f5eca16e0e83696b0ed9ac8a812545daba55f20a964c4e6343604a7f2be2860fce9fa16a1cc92120939deb88dff68550383ead851fac07ad1b2e8a9b2bb69525d96ceabb7ee83ce50f08d649107f449a14521a6893f3f3c5c5a703b2fc28bfcfe261a4f7f450558080deaeaab651c7a9ae586c1e7f5c52cda93e40aac908e4e3357984fc116af9cbe9539bc7a8d3b351a73ea5c2413d1da2e0b448b454670aca89ffe73b1401e9b8554fc3f23d6c904623251a1d29962ca9b26d973345bc4c5f0281c100cf25446f59cf512919ddbfcfa2d9670495ad92b6f295d61032057f9da6dbefc4510a623c2b47a5220082a3bc42af1a144f98c9ee4fdae41be0ec501ccc94b2b0640191099b355611160deb327e8ace018b898025ef470e4373ec1d97f669e298e1d845c6553c0a546ccb168d5b510dbe6018fd4ed9a3545f9bdb81968f4a6d7c790e5c34729a8efb496086fa1300249ab8b28f38951d7bee1c127ac3c4d0bd596edee1e9d17781dbb8227d7b5d76ce8b8bce03c5d339b9757981610848c55cdd0281c06357a59679d26801514c6940c20eb67b370e84e9f5f0f9316c0437d3cb7c843f5a6e6d9c19e8bdb3152e93f904cfe6e692f1eed27a0ada46f95601b3d122be793dad9bdd05d4f6d469105ecfc11448381dc154ddadf6bc20c649435b483585d68a527b7b967be52e35e0be9a437021c1cfa5f4771567cc233c1ce3ae99eb37daf8bd10156b4bd580a3ce9c7d391bdbb23e67363a947405c6c812cbd3dccc8b356a2dafd0d3b23a21b684b458e4ab3854bcd9be04cdc9d65ceeb10a8531c470ed0281bf04dadabfc15b1a8bdc0f566f876191088a7986f6c2b8c04ba0e0801d31cbf5d2a4139a39cec9df14ecee22e846a7d3f4a5e8eed2a70c7a4c2cf95ce74fe42c4bf60c135a264919bb4cc906ba283d1896f0ae48529b490f0c85ab03068cbfee8fa6bb6ae73b182d25cd66f5205b038b4eeaf1aafe2e1ba5de97c88d40fa1ac47626602fc90ae694734f44f3e4e88d184e8805a755ac2904be8fe9def6b7a62cc9ebcf4d7c2d6c9f9e86b2483e9bf22ce51861bbb4e73e731a4dbeba87772d290281c0214a1f73130e48b336fe01b950885ecdb3443d93e7e8ca62fb0da96bd423759d8be552c8be44f139fbee6ec24b75fbf0744fac4daabf5488fe6c3600d9b8e9a922481fc74a7a3d622662db8c85318de48ee8b716f19429fb594990da705ebdf7ef6613dd6bf885c16ad65e9fe6c280386bee976c25dbaff8fbf69baed9510be5eded3f90e0ba4a97e5c81a2189f114670745ab95edda215bd05fdc78929fa0cfe8b01c83f2aec93e3ad1a334fd85aa8794eacf955ae5dacd45b268741fca195c]\n[sha = SHA-256]\n\n# tcId = 524\nct = 708b598f483e5899147a7a19362ad4a3c9183b33a9518bc6bde9212ed574be82dc6f876f8599cd6e2b6f0356c3b6f38b947b5f775ba17832f9d84eb509c1c89405f926a6f3f2654e87adf415e4def41e8cdf9523900f6529555d2552dfed1a82b9739e698d96f852a7258a05f8572ae2b43fa57e3dd34be05d167bfcf85226404c973c5ca30f4bad4e17cedeb732c17ee68a3644997bd765d06943724c67d43853ed75f61943140e060b6a3878a9f32db3ab7ac600a4ceca3cec61685f8bb6db738b234a72bb0c9cbb140f5ea1de8156d890d072698ceb8af4c84fc2bd5eec9e26f1ece680e3eaf6e6828e1727d7fa2c9e12a9e45dff901abc4fdad44ddcfcdcd50e35425a252875acd2f8d96ec051482c57d9d39ea1c2c828e7c47c6ababb8e626946bd888640188ef6eb50b7e74a981273787bec45f5b95712b8e8bb07a63137135635be19ac859eda618dcbf2bb76edf707aec3b4c213d691b05008bce23805b5a45df842a6741f7e25a6c1fc836474365eb2a319973d6427bc8e49abc2ef\nlabel = \nmsg = \nresult = valid\n\n# tcId = 525\nct = 67d7153c10f879733b2c359613642e1fc4ccd902d8aea32ce41fb435b5e42353c25dfd99c241bd1931b68ff245e34db321c685a6d714b7d9f301ce6949e269761842d63206b4903d6a3e979a3b1b27b328126349bca16a8a45066dc6cfd303e368f8926b5d46630a51f8f97f691142efdd1eee3f27b0dc938a3d6d72b5ac4375dcc52cfb3f91e4af9a2646cdb7b86905372a764ed6afbbcce3ddc3ca6c7cf7d4d5ea6847093e4e27e697d48c0c082cee76f74ff491269c353ed5695bf5ce08e680e67b47ef13449b03877d78f8ef71c381fe4a4faab8ecf97f3977b8c11e3177ceeaa71b6f019f8189e8220736a088cf4e144ad9e40ce66d69e1bc20705f5c643eb10a1ded6de566a9af3abfe9c53d34064f82dd5c0579b8b78ff589d437f6367f03a4dcd956890f8f2a43286a0aa7043737f279c25d2b17c33479346d5b288a6356871530f5990fbc48b868f4c6046b5309cab0b3c9d6e40e3e07128a7109a541cc5ed32aeaad47528853b4483fb83ab1c41ccc4aa3bbf13929a2bbe0fdba48\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 526\nct = 07f7edce102c674659020e45270d8990d8816b845c857e2ea6f005699699377442210fa82d0c888314319893b30c228dbddc8b752a6e228b42e1a3d095ec6bab15b59d967b5647e036953fcaae7be91dda27ae1fbe595ad7513eb626db4631159e67a6ea166adf4a5fc935a08b513d5e5363b6210bcd5e6aca760685808ee39166160a8e9a9b696c88dc26b3ad4732e13abf52865b5d98a0da1d574411ba144a09c1d1f5c8b9386ce2ce70dd81b20a6b6c864efa335f9a892476fdbf0e849c725a02dd2aa2f1f9cadac87a3c4a2c9c4afc15546b172d611533fcf85872baf7618abec27d47fd9754c9a4d6f4dc9422d443945d7f96ad2005d6ec9f4bdc6a826ccf5e2e2dd01e635c99e2f697a68cdb1f90296b781488ccd7c481407f3d7b9054b2cd9b6638a82934c3cbf72c07bcbc59357ea14e2fef0dd2515d87a0c55d2deb1707b114fc1b7d5e45976e15f915dfb335c7b2f4e2a74a053bc4755ee9a2aea1593630657e6ea8b4eac5dcab9da50b3633cca1d9077b4f9f7c8214f30771835e\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 527\nct = 46218c74da50a1840ec6af0d61663c4b6073374c7fbc98bfbc420157bec28f7bbad5262ec9d10e7a6932f677297a33af90c5dc2090d9a7ec235bb1da9e3a266afbe53f898b4e7a87e81bbeb2c736b7590f172eb699a9c73080326f95d716373884d0d55f3108e20560f6521e6aea2f15fcbdcefdc56fb0679ae4fae4869b1b7201a5d7b936821df1e814c0f780f27956616a0f1431df89a91cd383b9a9815dc3b106300637a6ebe43dd80bd9165d10208e7faf3d497c8ab9716a4eb8de88e2b9125b8b14f14624629988a56da395f8e123dae412d77b3f9970779f763896f5b58f22b1370b25d7a77e9886d70aeda39b7472a5c9735c63e9854ac8d5fbe7c63534857159eef1c376bc514e8d7e9fbf3b733d480", + "f893772799f87aeed00ad0bb8170513587e0ddd0549fa4cd278813c3d195e18f2795250f9707ff064668f1f02fb1319ee572be73a0b25a896060d9bb5ba171932c015e241e5d4be1c8e04642eb8614c1af044c805cfaf4103dea9f51d170c5fcd0e79f36bce929df4d8118c63\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 528\nct = 29448c9f553aca234213e8f62ff76af84fcd5c30ba14485e0b4939b79bf0fbcef5ac0f97420abe7069cc4c428176f0b4e4585ee676ee60d8ed59fe730967a634501ff03e5505c65a7a784dad448796f095e66438e0bafca641926c85d1efc94d8e072c23e0c64dd018c379b5123f5004f32430b7d8cbda53dbd09ec60d7baf5b30161ad8314b5f17beb87f8b5057b8fcf1d67b0c5cc7568f337d9d56770cddebee8ea2b2a059f7b4447daf026c78b6955992cccb58eb35cc320a3aff29264effd06fa2ca7953177fd6e019df18e93c86d0eca90dd02f766a1ff77ba3304224cbdd2d08d90c42874909c408b983ce53520f0af5fd66e756ba6e0acd32bb0ff5b504162c32f26930a9481eb320fbdbe6d1e5831a2493dd62df16d58985e63bd4080e1b169c5672e384cfdafe414a319a566171f65251a071ea0fd7cb67ec680d930a2568beebc26e9feb31705e6b88650e2e189710215e65319d06ce265dd5360ba9794f2ebbd3438bcdcec18719e6b0693108d90bc65299d681754d281f19f404\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 529\nct = ace5b4dd6e14df0a7c6cb11a4b7d5f8d17baf65162577abfe7556aea02de3655ab1f8ab265649f61899394e682287420dce68c869b8b03e2eabe44ad8382c2c11627eda6b337d962f75319d54de3529e31bb4ec5ea5442bae7a9643766f942f880a2052cea66a2e2d650439b00f63ade817a5d73c8b8cbb4a8fc8fb10f298843383fd2bf9a91f51feaaf1317336ae13f7a91707d016f12476b0c58ea8d68bf2e43d42410385d5615b60e3465fc616cac003f0756fae25c147d1089efea4cb1a3d1753618b9f45beee1066e9f2ea4be11001718ee6d21049a790a0f127f9a741cd153231331ae10a38a92bafbde6e87e774fb20bdb037f26181a25098079aa174ff63b6393ea501cb48e842d4e1a50e20b4b8e74dee339a9b1fe95a2e46651e25b133824405055c1cd3f6e53d696b8057fd814d0d830e38b2641ac481431f0d98c94614174049bd0f569e0111514858dbe555a7806ef08efc53474d2f464cdd1a7b4732f8177ef036e514de43b4463c1f3cf0bc6614f87abcb1558be46310f0f6\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 530\nct = 259bb7d14e0b16a6387bce84206aed2a2916c21a231e4358123a94c39c17e7169e028e5e38511e905ce860e4d9874c736953474affd31e913798d8a0821bacf018c13e5dca476ab4c8f0ed194cceb19fd83bc1b57ff1f49673aba14312c643d3581f71b96942ec20d0b8ac21c415e16146cfce0e1a07752a00e6e2c2cb781825b057bf6c2526b69460713f9b813189c9c13279efe975c2dfb56c6ad59a30940a7af9b2854a6ce55f18e9944025ccc14fb638f1f0974e176f0e91ebe6f807d8f7c00bea264e47ae13e746c2bb8fd8d7d8dd7e1d1419065fa3e3bd8ab99e2292571e1312d9c690431d6ccf5d17a6ee829f4c07f88a25658af7525011e3ea2e311a6198c3e5af8b3339e0141889d71e99739acccbf3dcc0db5747e9a250a8cb7dff2cf5f36f1700d10c7af1fd79f8af83d6cfabab83237242082fc014827af3a16c9ee499bb6f84a59c8e15fab631a17342e05a17140dcd52151d0718e9bab9c2276e057b1a6deeeb6397d507d485658d026ea0f425df1df01cb1e9de96fb3ec680\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 531\n# Longest valid message size\nct = 68d0af4a4929a1e3b9acab08c1db55fb6f4b47014cf43c53b488c8009945e077988e6b4e6a7e96d4980603bc8c74e49b05e1bfba298726311f5e20500126a72c9c3b3ae0b47367e729c887807c940c40ef259deeec9b7d284f67752ac3b9944aa298b68bb1687a456a82745f7c090f7581c8c3192fa763a61e6f12aab3f04b89ca34c0bbc4c67069c180ef37d81964e902b6b9d5f059eb20887f7702a803d3af301d8f78a8f43728b8dfe4993966c94873a3acd5bb7be4b447e33c140662a1e05177d49fdb5b08e3ec9924f99add2e16ac6a27bb7ccb1eb1b69d4bc135bb6b3a40859127cf98262624eec721db2337c4c55e84e0bbc102d84d939eac5152c4de578bcc85b87e9f436d65bf86cd8164ee48f3742f6e9b7f037876bad346de3db96cd9441034ee6a1b4d5c174307e9c2cdb39442afc6eb4f2ce878454596f163e33c6e6d3f15980cd13ee4cf536ee704a2ca729d08d1c8f2cbdadd9af5dea9551730ae190534cf8dde4d33cb3f547584beef24a17b7adf08141e5b29def26252e4\nlabel = \nmsg = 787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 72ac6bb6d9a5726e454b5430c71125c6e9ad5fd42e1c5a18a8343e9d83d72214386b2308c0b8ec5ec6759dcfcd6a21f88b8ceaf46403923eb86ac3d14a8592e95de0462e14085c3f17db005dc4fac87b4a2d1ede5cf851d5745c8651a4438c0a4d746ad72e419207964728c301bf379a01c094e9693376f721137d3dc76ee47c9790fbd590b7d6a8d626e21b277ef17a4e4f7e0171c1146e1ec324fa97f30d3a1bae08f8d5f6e92cfc121665239c429167359e9650434b29d2015190356adfee12f25b341b08f12b7fec6379598af7d5cc24fe7f00de1d47133ce3ad8b6be1c9a854e33fb952e164ac6dd2a9052186ee144ee7dd986a8f03891d0da21ed78516dcdc2ac89cdddc8b544731d66f9d89bf17a50c6d987a598b02c938dc36521b881ea994e4c8fb2ba8fd001f73335d4dd1bdbe177d3093cf3883657c9ff944e8f5c9cde548b7c1b0741929b0d74977ecda694d940aefd9d2fc75323e0b3a114b99feaf3e2518f5158d1fd9d953aa20af158e67d27e2ce2f18d97fd02f369981979]\n[e = 010001]\n[keysize = 3072]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b1203]\n[privateKeyPkcs8 = 308206fb020100300d06092a864886f70d0101010500048206e5308206e10201000282018100c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b120302030100010282018072ac6bb6d9a5726e454b5430c71125c6e9ad5fd42e1c5a18a8343e9d83d72214386b2308c0b8ec5ec6759dcfcd6a21f88b8ceaf46403923eb86ac3d14a8592e95de0462e14085c3f17db005dc4fac87b4a2d1ede5cf851d5745c8651a4438c0a4d746ad72e419207964728c301bf379a01c094e9693376f721137d3dc76ee47c9790fbd590b7d6a8d626e21b277ef17a4e4f7e0171c1146e1ec324fa97f30d3a1bae08f8d5f6e92cfc121665239c429167359e9650434b29d2015190356adfee12f25b341b08f12b7fec6379598af7d5cc24fe7f00de1d47133ce3ad8b6be1c9a854e33fb952e164ac6dd2a9052186ee144ee7dd986a8f03891d0da21ed78516dcdc2ac89cdddc8b544731d66f9d89bf17a50c6d987a598b02c938dc36521b881ea994e4c8fb2ba8fd001f73335d4dd1bdbe177d3093cf3883657c9ff944e8f5c9cde548b7c1b0741929b0d74977ecda694d940aefd9d2fc75323e0b3a114b99feaf3e2518f5158d1fd9d953aa20af158e67d27e2ce2f18d97fd02f3699819790281c100f5eca16e0e83696b0ed9ac8a812545daba55f20a964c4e6343604a7f2be2860fce9fa16a1cc92120939deb88dff68550383ead851fac07ad1b2e8a9b2bb69525d96ceabb7ee83ce50f08d649107f449a14521a6893f3f3c5c5a703b2fc28bfcfe261a4f7f450558080deaeaab651c7a9ae586c1e7f5c52cda93e40aac908e4e3357984fc116af9cbe9539bc7a8d3b351a73ea5c2413d1da2e0b448b454670aca89ffe73b1401e9b8554fc3f23d6c904623251a1d29962ca9b26d973345bc4c5f0281c100cf25446f59cf512919ddbfcfa2d9670495ad92b6f295d61032057f9da6dbefc4510a623c2b47a5220082a3bc42af1a144f98c9ee4fdae41be0ec501ccc94b2b0640191099b355611160deb327e8ace018b898025ef470e4373ec1d97f669e298e1d845c6553c0a546ccb168d5b510dbe6018fd4ed9a3545f9bdb81", + "968f4a6d7c790e5c34729a8efb496086fa1300249ab8b28f38951d7bee1c127ac3c4d0bd596edee1e9d17781dbb8227d7b5d76ce8b8bce03c5d339b9757981610848c55cdd0281c06357a59679d26801514c6940c20eb67b370e84e9f5f0f9316c0437d3cb7c843f5a6e6d9c19e8bdb3152e93f904cfe6e692f1eed27a0ada46f95601b3d122be793dad9bdd05d4f6d469105ecfc11448381dc154ddadf6bc20c649435b483585d68a527b7b967be52e35e0be9a437021c1cfa5f4771567cc233c1ce3ae99eb37daf8bd10156b4bd580a3ce9c7d391bdbb23e67363a947405c6c812cbd3dccc8b356a2dafd0d3b23a21b684b458e4ab3854bcd9be04cdc9d65ceeb10a8531c470ed0281bf04dadabfc15b1a8bdc0f566f876191088a7986f6c2b8c04ba0e0801d31cbf5d2a4139a39cec9df14ecee22e846a7d3f4a5e8eed2a70c7a4c2cf95ce74fe42c4bf60c135a264919bb4cc906ba283d1896f0ae48529b490f0c85ab03068cbfee8fa6bb6ae73b182d25cd66f5205b038b4eeaf1aafe2e1ba5de97c88d40fa1ac47626602fc90ae694734f44f3e4e88d184e8805a755ac2904be8fe9def6b7a62cc9ebcf4d7c2d6c9f9e86b2483e9bf22ce51861bbb4e73e731a4dbeba87772d290281c0214a1f73130e48b336fe01b950885ecdb3443d93e7e8ca62fb0da96bd423759d8be552c8be44f139fbee6ec24b75fbf0744fac4daabf5488fe6c3600d9b8e9a922481fc74a7a3d622662db8c85318de48ee8b716f19429fb594990da705ebdf7ef6613dd6bf885c16ad65e9fe6c280386bee976c25dbaff8fbf69baed9510be5eded3f90e0ba4a97e5c81a2189f114670745ab95edda215bd05fdc78929fa0cfe8b01c83f2aec93e3ad1a334fd85aa8794eacf955ae5dacd45b268741fca195c]\n[sha = SHA-256]\n\n# tcId = 532\nct = b47525feffb063be5201aaa1d6846f9f397589b988fa26848afb9bbd9d6b0d0c92cec327332f02bd072d53e479726faff5fb89677c4947d60d5f1d7f3bbf211755975e1851f17f0d88eb970bd14719a9e5b257cde71071915774578e0bead5f7ccd7b476732a47e0d54ef214488d733c689238f6cccd6c8be7145e0dee871fcbb504c93e1efd842b228d67fa3e303a1081e26052c6c11ca85355a2de7f717dc432a90092ff9d3d75301e7f092b3b425354939c43f0879768342242836030822c9bbbbe09d5e938fd070aac9f974c35dd46599766ac6f0f87a036a36e3650f7244a336bee4a9ed1280b8adf57d702844c739354eae88ceabd8e66338e59262ecf51b28f4dfe7bea8449383c27580f81ea06bb4bd031826e6f6ddd0c6a3c7eae23d3d6acd5f6388fd9fa70e66c86d178394953ba4e391629a9a588797e25acf8c130859cb7c9504998cce6dd9e032b1a09aba8b215b03b4343a5c0f2a8253b5543d301bd883e941786371bdad14117fa273296b153bca8ce4581df09fee1bd5e15\nlabel = \nmsg = \nresult = valid\n\n# tcId = 533\nct = 4aae8595883dedea13a1fd656405ae1a94785eb86318e181b747331019087686cb81b259f864c6a524137a316f744c0d092348fe0428e1d9551bd402404342e1df33f7491c381a4f32ae5687bfae07e1c408c3e65720f54c5a168a29df6b7fbc1835fa49ed5a8b42f2acbbdefb3cf58fb6876c2a0a710bdc5c9032018c6b326389b3c32efbd7aefa8dfde0ae7bbd829e6160cef2c8632335006baad32fa7af1fc9fc3ec5ac9c4f7af226e7561cb44338d428d97886d29009989e1d875650c9f3fa8af2a0924f93d00d2cfcaae67e8a89ef34d96afba478a250b7995e7882873bec869541c02ed46b410ab75a214f0ff08ceaed4444080a4ade6baf39aaa9d9ba52487dca33759153345538143d11af5f0ca335a2a3b94e1045da7ff690a4bd454fb788bd7c73b0b16e35ec2766024fd0b7fa44e0ca01fc61e331b1fc8b09f549a946101e2b60c339304a48d044fe231288129d2b70d6b08592288d175183e442b9aa4f5ec6eac0148b6be1f989263d3cf34a7ff265539b8e34c2117b7a1c7616\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 534\nct = 8f71391b8e3a079a51d015e86e0572aca134e5af782000545da1cbbb4cdfaf836542cad19bbc6aca73367dff9cd1e33631260d390b6d83882f82606e28abd2d8aa229ec1d93b4cf16599dfadd2178029360ef5a3bea6a136cd437f59289d334f20e7bae91ecca18b7e4fa5e3613e489ec806a52bc4727333bd7ebd5bcc7568f697d4013d0f6f54caf1baf36791fd21f8ce84643031ffe474901920eb4f592ffa306a979edfd6c287ee5b1fb0005a21d840372c60a649a1702fbc46489211700e8262bb1a2f54fd38da6a07e15850405a277705a66e7088b98bfaee8b2b51992797d5e5712147b756367170b6fde26c3fb5988ee07f916d189a3a18cdc0f3b1affe63538cbc187d4bfdcf5149b4d26bb207a1495d51a2ee1c2415f4a0d6434d50953ff2fe8480d276491ca1468e86c2318e94087e984444b04e7b804cb1f62c66573e82fa6800ac3a42ce0d8e5909f3dfba024a40c51b21b5455836a9244eeba25157e24676e1a317d1af9bf4773913ec3ba6ed1df50d3810eb98bcd290757daa\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 535\nct = 157562f61b512b11b02d1f8299e62f55ffb9c1cb5facb33c75fee79ea8bfb68314d48a7868c05b8c97de4af54e4960868a694a3c302c73195a8acfdc78137231dc960dab44bad191c4bb2b9f8b162a73799ba2083d93c55b425f5857c925f2aea6af19514825fb18724555a5b11ef553889af38c7585c35033d1eb9b71e56ec0a1a1185e4e6e5b7aab351404f0d4a4416023449d84f3bebdf57d5666ffaea80be1958be5d7da7ad2c081aa338203516aba1e11642192aa4024e5fed6119aad7456bf13c2dd561c4ac9ac887eeaf4b53bf15e007b043de9abd6619a6fad5df35a336f744d5034af72a6ceecb9305da973c50615c29b98a8d0afa8c54f5cfe80f8efba51b08cf921cf55c69314523619e753f3056ee704a947c24d12e8817d5312ea5f6d8444da4061d26f18ab660f0eb88019506eda480195395e6e948d42e96c3ac8723f5514d87da3bc47432ab60e93efd8e6100589318f1b85d1c4bd04820be2892a8acca1e3633950b111859c6ee2063cc061a44a737ffaa2c158da806864\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 536\nct = 7c741c6f511fb2eeef9ce3dd89269e991cec00f0ceab514a1780c0ea2e06261259652bbc5e46871780d0c03f933d2a3e4a482ad95bf346f7402509a3234617ff36bd50070e2278e77728ebb27eec2b1573c76ec52a25d921b1a6372ee6200dec65575324588203fc3635948e856cd47a857cbfa8d2fbbd046df850ecb1582d7ecf531f4f6f390b725703a58e82947141179811651588d6b13ea9fa09d138d71afac2b24b82c48ebf0e5dfdfc2a700d93d396c8ed4f78846797dff44535b39d176ec2d0124dd61b29d36a314631aa2a7d25015a06c0e30e2dbb011045115d6d705f06b593a22f3f6921806acb1c8a4460cad9104a78ce9c18e940fdaba39a6451a10a54aedc3cf31ad505fa889ccced290dfae89743722527324ef6131b7ff0880d90ebbf803fd798567ba0e07ecaec6c6ab2b3257688d2c374cc3e48137ff81a66c504a8aed98ff76ff057ae39ac67485b17abe4e16d6fb5b64a5d7c3303137ee286cb6ec53a86511cb224eaf47a59045529ed6049e3bdedf619007eefe4094c\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 537\nct = 76efadf7cc972062cddb8c0eb6789d1422632751dbfd514d3e8a4cfaeb17e07d78244aba11bd078fa4fe3da077f1b6b2a6bb161dffc4d96245b6d24acbddb56a2245146699ef629a069d73ea233dc3994f93bdbc208f6f53d4d74e47cc0ac167ca7912c915842d9113e75da6b2492608412e7fc2a577fd3621a1107c1d1c5e74d3a0aac4cfbf389c88474aa37be31d18fcad2f750c1b176f2c1ff544f5d23fd3e1a3c4507e62d5a2c2e0fb1bb426f860f84c4de0a2ac63f90e3a6e266504389e96b37a16ac03fff70f3bc4488b3ef783bea505911512b7d04abee4ce52b0100727e563f8416e9c6f889e5436b27388cd6d7c4e2ffda6896688f8ce15167e8baff14ce9ab95caee52a5fdc51515fca66b646af8aee83e0aed730bbf2af2a966f330818dc33d4662e4dffd50025cbf77efe6ffb3c6cfa24420f55a418d08b675dd85f7aba3da35cbadd290482af1e7a0c2b7034a41bc28a5e3dc2c47e78fb46ef14dc4674c65f5cacd17e4f542a9b98ec268bc977eb97045f50c714ad7a49c0e84\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 538\nct = 0351794ac968e26863bfa67aa4d602c725b79ca9a4cd907a9e03c7575b975bfd99fa491b5bc3f93e1eac5b48d95090e10a29d9e4edce709c74886ee2d5067bcabab044e239cb4c23e1ffa8a8666fbdc706ecf49225697fb6f1a095e20dcca49090548d9fd0b8533b090823a76ce6c8c8a139a20b3e930a8d2ef8d868fd92c086c06a86c172e40e76f9920a6de6ab2fbff2cbe029b685dbc20da94e84442050b0128200446bf227eca935e1bfa8c89ec3454ea3a82cc792a2512d8513f2ddaf172e35e735ad69a5f892ad0c216e84ea9e92129d8272db269173cbc525e61fdfa5533e2e69a4670ed95f4958c684476c208002667fc7f687260eb54d9cea88bbfeb7b6d7aa640cf0ad0af22ecae17034c762bf832a9e8ef090926c5ad4fe6a15b6e5ef69da001bb7fbc608bc024bcf38e157dbb57974169bdf302ec177e48d15a1d0c919d9b8862cd91d454a96df1c720561928e282b9e922d0d8218d65b74bb740cb7cf7455e97a5e6bba07424382c31c37549d7f29bf7e2e23093ee861dce0ef\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 539\n# Longest valid message size\nct = 6aa169ad089b2cd0c5c0d0742e452c4f1bfe9aa04f4df93eeb38ad6de8cc93da66af9ba589352446b8c3a5797cb0fb8b0b6d6b6fca1f9ae4d508951bf0b526a9433a9b26b5cee4aa943f0d2c0d94c479ef8f99e2bb680aa4bddef38ef607ce2770f4d60629ebfabdd9fc20c6b88c8a02179dce5e9ad9beb90cf75baf5980edbd5b92794bdf9bc58dcc44a13b181179e92fa394152506845188b80aedc2fe559a3bbc289b933fa2cddefe080817f6fb3f1e8f585389ebbef06c3376caa975c07efe683a32e64917566645330dca75480e7ad2eae5b4505b6ad5233e7cf4c3d8677e0350b8e1db4cbfd73344e14f458f49849cd991d3b4fd19061bf25784e17b04230b9a1db1637a7b8c0f4e3bfe00952201c039483551931f84980bf8a633a1bbf4b609ad64ac6d26514c869c1d7b915b223356fbb07fad300cc9a8e6c768927a857c7e9a58b0d784a04e24082a393e65f098ff211dcde8a5155550c18bb22d64d324224d77e150bf424262f17827f13920ec7df259ccfba158766b0b52bf25b9\nlabel = \nmsg = 7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787", + "87878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 72ac6bb6d9a5726e454b5430c71125c6e9ad5fd42e1c5a18a8343e9d83d72214386b2308c0b8ec5ec6759dcfcd6a21f88b8ceaf46403923eb86ac3d14a8592e95de0462e14085c3f17db005dc4fac87b4a2d1ede5cf851d5745c8651a4438c0a4d746ad72e419207964728c301bf379a01c094e9693376f721137d3dc76ee47c9790fbd590b7d6a8d626e21b277ef17a4e4f7e0171c1146e1ec324fa97f30d3a1bae08f8d5f6e92cfc121665239c429167359e9650434b29d2015190356adfee12f25b341b08f12b7fec6379598af7d5cc24fe7f00de1d47133ce3ad8b6be1c9a854e33fb952e164ac6dd2a9052186ee144ee7dd986a8f03891d0da21ed78516dcdc2ac89cdddc8b544731d66f9d89bf17a50c6d987a598b02c938dc36521b881ea994e4c8fb2ba8fd001f73335d4dd1bdbe177d3093cf3883657c9ff944e8f5c9cde548b7c1b0741929b0d74977ecda694d940aefd9d2fc75323e0b3a114b99feaf3e2518f5158d1fd9d953aa20af158e67d27e2ce2f18d97fd02f369981979]\n[e = 010001]\n[keysize = 3072]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b1203]\n[privateKeyPkcs8 = 308206fb020100300d06092a864886f70d0101010500048206e5308206e10201000282018100c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b120302030100010282018072ac6bb6d9a5726e454b5430c71125c6e9ad5fd42e1c5a18a8343e9d83d72214386b2308c0b8ec5ec6759dcfcd6a21f88b8ceaf46403923eb86ac3d14a8592e95de0462e14085c3f17db005dc4fac87b4a2d1ede5cf851d5745c8651a4438c0a4d746ad72e419207964728c301bf379a01c094e9693376f721137d3dc76ee47c9790fbd590b7d6a8d626e21b277ef17a4e4f7e0171c1146e1ec324fa97f30d3a1bae08f8d5f6e92cfc121665239c429167359e9650434b29d2015190356adfee12f25b341b08f12b7fec6379598af7d5cc24fe7f00de1d47133ce3ad8b6be1c9a854e33fb952e164ac6dd2a9052186ee144ee7dd986a8f03891d0da21ed78516dcdc2ac89cdddc8b544731d66f9d89bf17a50c6d987a598b02c938dc36521b881ea994e4c8fb2ba8fd001f73335d4dd1bdbe177d3093cf3883657c9ff944e8f5c9cde548b7c1b0741929b0d74977ecda694d940aefd9d2fc75323e0b3a114b99feaf3e2518f5158d1fd9d953aa20af158e67d27e2ce2f18d97fd02f3699819790281c100f5eca16e0e83696b0ed9ac8a812545daba55f20a964c4e6343604a7f2be2860fce9fa16a1cc92120939deb88dff68550383ead851fac07ad1b2e8a9b2bb69525d96ceabb7ee83ce50f08d649107f449a14521a6893f3f3c5c5a703b2fc28bfcfe261a4f7f450558080deaeaab651c7a9ae586c1e7f5c52cda93e40aac908e4e3357984fc116af9cbe9539bc7a8d3b351a73ea5c2413d1da2e0b448b454670aca89ffe73b1401e9b8554fc3f23d6c904623251a1d29962ca9b26d973345bc4c5f0281c100cf25446f59cf512919ddbfcfa2d9670495ad92b6f295d61032057f9da6dbefc4510a623c2b47a5220082a3bc42af1a144f98c9ee4fdae41be0ec501ccc94b2b0640191099b355611160deb327e8ace018b898025ef470e4373ec1d97f669e298e1d845c6553c0a546ccb168d5b510dbe6018fd4ed9a3545f9bdb81968f4a6d7c790e5c34729a8efb496086fa1300249ab8b28f38951d7bee1c127ac3c4d0bd596edee1e9d17781dbb8227d7b5d76ce8b8bce03c5d339b9757981610848c55cdd0281c06357a59679d26801514c6940c20eb67b370e84e9f5f0f9316c0437d3cb7c843f5a6e6d9c19e8bdb3152e93f904cfe6e692f1eed27a0ada46f95601b3d122be793dad9bdd05d4f6d469105ecfc11448381dc154ddadf6bc20c649435b483585d68a527b7b967be52e35e0be9a437021c1cfa5f4771567cc233c1ce3ae99eb37daf8bd10156b4bd580a3ce9c7d391bdbb23e67363a947405c6c812cbd3dccc8b356a2dafd0d3b23a21b684b458e4ab3854bcd9be04cdc9d65ceeb10a8531c470ed0281bf04dadabfc15b1a8bdc0f566f876191088a7986f6c2b8c04ba0e0801d31cbf5d2a4139a39cec9df14ecee22e846a7d3f4a5e8eed2a70c7a4c2cf95ce74fe42c4bf60c135a264919bb4cc906ba283d1896f0ae48529b490f0c85ab03068cbfee8fa6bb6ae73b182d25cd66f5205b038b4eeaf1aafe2e1ba5de97c88d40fa1ac47626602fc90ae694734f44f3e4e88d184e8805a755ac2904be8fe9def6b7a62cc9ebcf4d7c2d6c9f9e86b2483e9bf22ce51861bbb4e73e731a4dbeba87772d290281c0214a1f73130e48b336fe01b950885ecdb3443d93e7e8ca62fb0da96bd423759d8be552c8be44f139fbee6ec24b75fbf0744fac4daabf5488fe6c3600d9b8e9a922481fc74a7a3d622662db8c85318de48ee8b716f19429fb594990da705ebdf7ef6613dd6bf885c16ad65e9fe6c280386bee976c25dbaff8fbf69baed9510be5eded3f90e0ba4a97e5c81a2189f114670745ab95edda215bd05fdc78929fa0cfe8b01c83f2aec93e3ad1a334fd85aa8794eacf955ae5dacd45b268741fca195c]\n[sha = SHA-256]\n\n# tcId = 540\nct = 1d562b1463c4184b0a0718c33501f47c189ac199fdb9c44d0c645ee7a411918a7417c29e6c587420957792f84c672b096357268d979c6593345c7609a4aee8cbbef98e9e90c6f02e829fa7a1ffe7b39e9d0abd8670c245bef52a89d0e146cbcfe808ad0adbfc373dd1cdcb48d9589e9ae7a70efb2c6f19cb96ea6cb05d2455f5167fc280bec7bf59f85c2b44259ba3d0ccfd19b57d3157acf38f670dfd5eb98b5e9ccb5fbc7ace838c21a52634d32ee9f988f2f57eca9e10f706b583e6c4081428ec279150026fb088c29f6814fd34cf5b83fc2bc587ff25741b6d2dadd58a2d6d01a123792a7d79134eaf9d7b04a525b2e593b71d58195722cdd1856112bbe16aad40e129224c044d786208ab3e5aadadcb7ae89f52107dbeb7fe613ce682dabed79940f39909545dc3a6a5f38215873530347c47e3c40192c5550e88171805aaccf365963199155fac70ae55e37d48a5868d196b2937241a41f8ab38c657b3fe48ec58687ec7c726acdab8fce92be5550e206f2cd2203493fd5280f405d876\nlabel = \nmsg = \nresult = valid\n\n# tcId = 541\nct = 399d00081c19729c76cb06e90aa2311bcbbdc04ce73fb70f76e3f1964387bb9ab97ac7006f03a5940d11fd58fa9ff720df8a0b4f150f68497a650e3137364f23125da91c2820c2bdce22a9265019790e5dce39b5778d33263ef7292cce19d2ca2b747d290b586586a94a188f88f8953a54935dd8f80bffc21838c504b98aae9233e6ee1b8eab73b0f75c7109b850f14ceba483f2381d0b57436df0344580cc42128e2a015517447c56cbce0697d3379e0127fc979d8207c0e2bcb719fa753a348dfabd35e6d768491409e7c2a2115b576c3fa214f2df85dd98505dbf28b7a7047b9b483ab68030482db52be47136a2a89ce9950d93886d656d8c6edc9c24098a4078aa50e2d10bf40e1191acbb5dbc998bb6c4f87bb1e01790f8deb677dfb4790acda741a40b2ec5ebd71368f8d0e2aec5af14cc628ba56cb1a90a522c528c85b1651d7ddfa74c87c995c62c6803b8535f6f8185a5ea1c1ddae776f05add89203a7d85f217598fc7fa62c3b12360bf0630913d2de8ac424cc3f8e8b8a4836cb9\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 542\nct = bcdb29ad6c483e5949fccc711b3124f6853a79b44852a39382c99063f3c02571f996e1aafeac058e7dd0391ddddabf8d21ba580a56ee4c97f0c399ddef340ec31d377b5a6755feab0f0d77d4280856690765a6559c709af223292355d14064bfbda77fea44c61a276250091b7cf1e1b08e40a803762b75d6993885729b63d5e25f5d86eb322447b2282d5e7f281ef0a109ee97b3212da89f6b03c696a8fb26a6d135137c8a5a4f180be2fa5b782be0c8bc6fdd99d691567519907b2afae439153090169a3dc9b5565b637332ff9f9afc4f018982361cf861144041006fab3b277ab29f9c18664aeb7935888d1ec1dc8588565d1e9179cfe17ebb4e1a25f6cea2666c035381aafe2907f8387f41410a5993e5f7bfccaf0dd48bb6bbc5f321bf904a4cfed7dcda8d89249db6e0fd791191aac9df12f2a3496321673bb2805ceefea5b2f0edcd08294bc379440f6f890b4560664ac4c71d2746b9e84feab9de2df346255cda707094fc5b9e0bc289c68a5993c1496f3dfa71fa3080c1a37d4b28fa\nlab", + "el = \nmsg = 54657374\nresult = valid\n\n# tcId = 543\nct = 8372e84a23ee336083b9c0aa7d532ee1a93370d0f622eada84fad4786ecee9d1aa67efde78ddf7e8b04f9a2ee841ebe2553f7154491c707f4d78fd5940d8550430c73b9c1b81f5d3a50001a26cca87ba6551080d9e7e8dec3f24ef713ab1e7cc5eee6b4b4b1ef07bcb7c53b0c81cf573212a5c7ef7254adb835c28a8a4635138a960595fccdb348cec10b9095aef99be9610af58231239656b1e7c250a34f07cecf2293012e184383156e730cc58f5c21e783d293ab67a13586d09adeab2358b70361aa2b55a28b21ef00c7d46ec75d247beca705e5bfdfb6050a02e229d286c232b12794a2f3d98bed0e1c7830a4beab0f77de1b42fcd4187c568c9a4dd5d00a81141de5e8d49347c082b47664cca872c18a569e300459bf6d9b6daaf29f8f44373352b6877dbbaeb9f254ea5caf25c17e6b6d6abc8a8627ccc8a418ee233dc3e20b0df74764ec1f11a3b89dd9d72fdc38743c206fbcbfa6f5dc34d7fb9071d75008f047929e6a2857b6fd391fb00a4659f8bb69c8f39686e1f96c9119c7ad9\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 544\nct = b82755bf6e82ebf625485aea232d17652085ba1ad81fc6d7a38b6e790ca9e7104f82a657955146288cd04972133dd6b15bd7c7199b4b395aaf6989e119d15efc8bb0392f9dfe4aceea804289c6aaee0755062c8a02aa5f72852969bfa83d523379690483d67fe1119ad2bf7fac588d318abbc3bbc181ddc47678fd147f03bd09b6cf6c32ec238638ec101714a5761f83e8cb6225477f5b026fecf787f4c6b33b367422b375014de48501ec0a5a87c33a785c167096867095f9b03db86fe1808a6c5d15ede1a115f3f276fb233ee8e4ea648c7cb538856424ed871323a974013811dc5c4e1cf96c7bd04b8b096e73d5405880896a2018f0338775712aed7e77291606c055a5791de6f41f7d0027f6423a8c1d3e24b5f953a8d3b7d60e74f6530eb2b539c2271470b05d64e5a9298423db7c77dd97e8319b41f14b7c1f2d576e0b14ac37035a903ee4f9d307b1e7f5ce14b45f75b2133d64615e9fdfae2879c6e58fd57d9c68fd06507f64a0f55a9a38c0418c4636c387df5cdd24ee44e440d86d\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 545\nct = 724967ba1bdaaa1269bbcf9b4157b7b310d2a1ed6a9f1bed37ca3bb7a995a6fb240a91e1d4836e84de5f9d886a87d940d2d2eae11aba5bc22467a7ed4744169f72241a1cddcbaad2d22b5c3ce1a48898f03dbb1d1a1b3aae683e43c2d7574e51ea111e61f4878d7abb16b514888d13ec393682505490187a4f7b89c1078042bf2d191038a7aef2185e5ae4108e3ce68a76fa94f97b2d545ffc4333bb43df848f5427e7e0a490768b44af3862922167efd1b9c9247cc60a69e72d5d0e330083c492ffa106b9702f5e7e5c4bae9d5e11898527df684008374f38dadac056a9881af3684ee396c9a6ff1c7da0d2767f6bdf9e79e0ebd5d7e53e1b9af69242a9b0357661e80c39da273dee440849ed439d2e699a1a0242ae0979c7be70140270c2b306317de4740e754fae4026fdbb04cabb8e27cc3f67ecb8a5bf04b6a11f0021c64df271f896d572e57219c19ae93c59815715e7c9d9c9981735aee261943a1fba80f9b29985d41aff148c68dc00db385a7c797d5fdd3ebec8557fa550cdab7cfa\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 546\nct = 05ecb7b159fe31ba9f358b14f6d1b3bc720bcbf62ed0518bb1c4b90aab24513bd7d4259ce623da6b9b4adb7cd2251b6d706b5d291acf01eabcecf889aaefbb2f3c5083ad81cb5a4127680182d85cbd849c5b4b4cd5f4e9d7e1ecd235122c2c85d55f1a0978b63542f9aa5165ed8ba91c0bfddd77a5f580de22a89250bfa5cfb5f5c7aa1747f3b6ab0f4f2ef2cad0d09a4e61019efaf56d546f43f2ffa419ecc181faa2128ddc943c1324480bf4d606001b22f949b4d4571636d0ee35de458f7021a4e58ccb56b6906b00485b9764a839db819673710739c4cb08112e722845d1527cd46779379d6458d32440b90626a35ed8e518009af2e3c492b673e21d4b47dc8fe4dbb4a46ec6d5d6bc5ac6760df50005fe9cd14f3d7aa03fe00de281dbb755bf6d61f2509ca8de216292260a11a8e6c5de8207d2ae667d6e65ab3dc0169f0af41dd50ae124ac6e570c6646b3633971913df43cd59c3e17efb20a4b183fd81c0bdada7469e569120567cb35c2c0ddb293aa51f19896e8a6a71294c192a6ba\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 547\n# Longest valid message size\nct = aca78c4487959ef78d11ae58c0ed0a0c763939f16754805181d799af6cc1a0445a64d3a3ad9767e79aef3f1adfa291d6842bad8ffe3391b7ffb37dd7138709d9514c20c8e47755cff81f06a424af3d12a029dbf2e0fb9d381ac732d24c88945bb97757e07b95875fcabe601f7beab2d5eabf8ed562518e43e91d871aaef1b74ed30fbe6610fc8eaa58f06605c3065b512b535e0c9d336410c4a0797b252b44ffc934a6a0c3e5de045cbd6a2be1ae2df2bd681abdb68c42607ee78658f20d5031f75c23ff4bf9cd91ff60135b1e25ebc82f99ced3d12d8e8da3d5d1f4cbdd2b729ce2537c4bfb2d2cb04af410567f1d7511a29245a193cca7b308a357e75405ffc9d75298c5f019cd28a009a179624c97c20a469a64caa0ea246f6ed522f27ca9f9fbcb087fb4ade32a875871adfe9abfe308a56dc867f89aaf5b92e90fdd3fde225b18eae3acd31c32206fdc2dc2d70259f480bb4ceaf5d3ac276a0039a64a5e290c3cd847e967a70ff8f106792d388ad2a9bdaa8eb94e6f189e7772abf88bf5\nlabel = \nmsg = 787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 72ac6bb6d9a5726e454b5430c71125c6e9ad5fd42e1c5a18a8343e9d83d72214386b2308c0b8ec5ec6759dcfcd6a21f88b8ceaf46403923eb86ac3d14a8592e95de0462e14085c3f17db005dc4fac87b4a2d1ede5cf851d5745c8651a4438c0a4d746ad72e419207964728c301bf379a01c094e9693376f721137d3dc76ee47c9790fbd590b7d6a8d626e21b277ef17a4e4f7e0171c1146e1ec324fa97f30d3a1bae08f8d5f6e92cfc121665239c429167359e9650434b29d2015190356adfee12f25b341b08f12b7fec6379598af7d5cc24fe7f00de1d47133ce3ad8b6be1c9a854e33fb952e164ac6dd2a9052186ee144ee7dd986a8f03891d0da21ed78516dcdc2ac89cdddc8b544731d66f9d89bf17a50c6d987a598b02c938dc36521b881ea994e4c8fb2ba8fd001f73335d4dd1bdbe177d3093cf3883657c9ff944e8f5c9cde548b7c1b0741929b0d74977ecda694d940aefd9d2fc75323e0b3a114b99feaf3e2518f5158d1fd9d953aa20af158e67d27e2ce2f18d97fd02f369981979]\n[e = 010001]\n[keysize = 3072]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b1203]\n[privateKeyPkcs8 = 308206fb020100300d06092a864886f70d0101010500048206e5308206e10201000282018100c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b120302030100010282018072ac6bb6d9a5726e454b5430c71125c6e9ad5fd42e1c5a18a8343e9d83d72214386b2308c0b8ec5ec6759dcfcd6a21f88b8ceaf46403923eb86ac3d14a8592e95de0462e14085c3f17db005dc4fac87b4a2d1ede5cf851d5745c8651a4438c0a4d746ad72e419207964728c301bf379a01c094e9693376f721137d3dc76ee47c9790fbd590b7d6a8d626e21b277ef17a4e4f7e0171c1146e1ec324fa97f30d3a1bae08f8d5f6e92cfc121665239c429167359e9650434b29d2015190356adfee12f25b341b08f12b7fec6379598af7d5cc24fe7f00de1d47133ce3ad8b6be1c9a854e33fb952e164ac6dd2a9052186ee144ee7dd986a8f03891d0da21ed78516dcdc2ac89cdddc8b544731d66f9d89bf17a50c6d987a598b02c938dc36521b881ea994e4c8fb2ba8fd001f73335d4dd1bdbe177d3093cf3883657c9ff944e8f5c9cde548b7c1b0741929b0d74977ecda694d940aefd9d2fc75323e0b3a114b99feaf3e2518f5158d1fd9d953aa20af158e67d27e2ce2f18d97fd02f3699819790281c100f5eca16e0e83696b0ed9ac8a812545da", + "ba55f20a964c4e6343604a7f2be2860fce9fa16a1cc92120939deb88dff68550383ead851fac07ad1b2e8a9b2bb69525d96ceabb7ee83ce50f08d649107f449a14521a6893f3f3c5c5a703b2fc28bfcfe261a4f7f450558080deaeaab651c7a9ae586c1e7f5c52cda93e40aac908e4e3357984fc116af9cbe9539bc7a8d3b351a73ea5c2413d1da2e0b448b454670aca89ffe73b1401e9b8554fc3f23d6c904623251a1d29962ca9b26d973345bc4c5f0281c100cf25446f59cf512919ddbfcfa2d9670495ad92b6f295d61032057f9da6dbefc4510a623c2b47a5220082a3bc42af1a144f98c9ee4fdae41be0ec501ccc94b2b0640191099b355611160deb327e8ace018b898025ef470e4373ec1d97f669e298e1d845c6553c0a546ccb168d5b510dbe6018fd4ed9a3545f9bdb81968f4a6d7c790e5c34729a8efb496086fa1300249ab8b28f38951d7bee1c127ac3c4d0bd596edee1e9d17781dbb8227d7b5d76ce8b8bce03c5d339b9757981610848c55cdd0281c06357a59679d26801514c6940c20eb67b370e84e9f5f0f9316c0437d3cb7c843f5a6e6d9c19e8bdb3152e93f904cfe6e692f1eed27a0ada46f95601b3d122be793dad9bdd05d4f6d469105ecfc11448381dc154ddadf6bc20c649435b483585d68a527b7b967be52e35e0be9a437021c1cfa5f4771567cc233c1ce3ae99eb37daf8bd10156b4bd580a3ce9c7d391bdbb23e67363a947405c6c812cbd3dccc8b356a2dafd0d3b23a21b684b458e4ab3854bcd9be04cdc9d65ceeb10a8531c470ed0281bf04dadabfc15b1a8bdc0f566f876191088a7986f6c2b8c04ba0e0801d31cbf5d2a4139a39cec9df14ecee22e846a7d3f4a5e8eed2a70c7a4c2cf95ce74fe42c4bf60c135a264919bb4cc906ba283d1896f0ae48529b490f0c85ab03068cbfee8fa6bb6ae73b182d25cd66f5205b038b4eeaf1aafe2e1ba5de97c88d40fa1ac47626602fc90ae694734f44f3e4e88d184e8805a755ac2904be8fe9def6b7a62cc9ebcf4d7c2d6c9f9e86b2483e9bf22ce51861bbb4e73e731a4dbeba87772d290281c0214a1f73130e48b336fe01b950885ecdb3443d93e7e8ca62fb0da96bd423759d8be552c8be44f139fbee6ec24b75fbf0744fac4daabf5488fe6c3600d9b8e9a922481fc74a7a3d622662db8c85318de48ee8b716f19429fb594990da705ebdf7ef6613dd6bf885c16ad65e9fe6c280386bee976c25dbaff8fbf69baed9510be5eded3f90e0ba4a97e5c81a2189f114670745ab95edda215bd05fdc78929fa0cfe8b01c83f2aec93e3ad1a334fd85aa8794eacf955ae5dacd45b268741fca195c]\n[sha = SHA-256]\n\n# tcId = 548\nct = 28aed75e1f78e33d610ba8b5131704569aafc3f25b3f385de5579f511335f5a4c20a0f1ede677ab9fd5de4ce7851150d468705dc20392d6bf2f02d1eb14840117cd2fba4f37c3eeacb11e50820d3cba90aaba46b08b6fac4a676f35f093e76b40ba6e3be1bb42fa29ef2411254138cdb5183ccf56ac9950d8db4246dbb7afd0c07dcade817c3a1d7c743d0e09ce8499cdb072f5cc1912cd6ef5cdad1f7388daa9ff07cbc553543a37039bb30c4050caa1f116f198cfeed507e83f9f88a2c3f38827d3173956d854b255176dbfa98add2db16376f3180ea26cc662a9f4af7a94195765d00da16cd8469af70b807af7f428880d3f33a794504c3f7b4c724f2f5b73b5b6fe320501577cd0f06815fd8578127be7c677a480ea4a6663a4e22fc21cdb5f2fa6b55d508da7ea5f677ab6589031ff644ddfefe98dc17f98d4003745bd3d07f292d8e348df5985c66b7351bf59fc4ba6fe4f380e42d6aacb4149701838b6e58e72a55f8472052abc81a35f4de440fe98513c927c9c85e897d9d26cd53ef\nlabel = \nmsg = \nresult = valid\n\n# tcId = 549\nct = c2ee581d492d7b600c4f3f17488dfe843b10024d893b90cba08bace777a73c868128af10fb64bebe5167ef7b533fe7f995c18ad4a9e315d7f59aaf0a00beeeeca468f06e8614898fd5779aeaee1146aecb76e684db51036c6eb7b28e2d5ba7421332f1466f3412c38981818f4c89445800f31d6072d3b684b369cc49e60590b78ba18e329f40996dc54473e1f299f8704539ed1ce6bc779b95645617f46ff0c17628244a37c2ca4ba68d7da39d770c0d5a4cd5f1c816e627159ee18b42b8ddfb860d3c7b751216805394e716be5b3b4a722529fe858b65acf221fea492aa87ca25e881e7a22ee3c2e7efc35237fe3eaf888be8e37708b026d71f13304596b49f432afe934115ec59b791c7f4e8572e0cefcbd01f77d3ba83839a77975ce111186cf38cb9e2888c923f39151f39340380834f680c6e5a2dc9b898d6700b9aa2f71c37c0960acdb8c3cec8616f6a809eb50c605a943308ff682d414add911a77769c07e4d508f3b6d9e9c38167c83c4d6d42fd23f12c45d60a3eac2e6f0f22d13a\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 550\nct = 2b76124b00444da87728535cbcf4732b7f91566b8f26eecba9d4cd754da36e6338c589b6b3041c7898225be54aebb541259c14386e0f0c677ed27a32f30c1446d43e6685399d6eb2f92ea4da3aaf5127b094f8b627c4d37b41e779897b2be25aaca06e8bb32afa93c1d3653a9bb0a7d16e23463eb942a95e388be3ccf31b724c5a6067ad4ee08b4bcd9aaaefb8d51668f481991a7e6ae6b43a800b699a562d66b0b206345d611ae3fb53000d3ddc862e72ee453e3bbab2c0e816b56aff09d26b0b401374dd3c5ddad061f618be72952effbf0f70c59d0b40c509ecc06122e475d503eca975306a1a72aa70327df4fb113f512d70b8a3db96602559faa5f0796f016364ed3f08dcdac34dcdb25865c1ace799d596bc015fd3e00b473990dc68640987051d41b980fc188b29a29b8e37194728598cd4beabc83443ad42e07810d8cddc4043b0efe55a06ed821e08d09ec21051a1b2d40328789babda833cd9c0322f829ec9eca936e0d7ce0231263167b49651883468d8d908ea3192c8d88e7b38\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 551\nct = 0e25724f6e42206c5329634e684a7bc502ed2fa50b3996488d89cb9a3fbc70527fbfcd587096a66d11e5f9e855dd231cc8613569cb7854b6a13b5fb2dafc6a6cff3f53ed2312e78a7a2c1069674715661ad06f7b186208778a3be67de24884e086834a29fd89345823234e27c725ee7065b4c04056b17fdacade6ef3db2e8eaee3e4f6a9fd0ef1b44d8429d97be8f467725c1b6e3707dfad9491b90668d360faccfe19421ca5bfecef6050cac9aa0d0fe7b17ce167070b5c8fc0bb5489311b6d90e63bb0c107eaf09a8c451677236fb78764ed77c95853e5dbb8e475a0567064683787407598155c926eef896373bbd5276b976b5b7d1768885ef1d16b9ea3cabec0290c484e24922ccf34e7437c58a15370f02be963f94206ecfa27ecb89ba728a76fdf236941f46f67d25f94a33cfa6a81083b8761a25fa35b1606a6128addd3ede0fbc004b75c56c26b30b2dc965b2fa937f6d7048470870f4fe6ed043d857ed0a9e55bc8870b868dbc1eaeb65ce46b749fada386e5eb32d1d8f73d36f5be\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 552\nct = 63669ec4309c1bf26b5a46dbcf93963a9889711b2bf171b662783a2607ff32ba83cef2eec484e9c96088c2c0cee3d2f9fc91dc988acbe65bcc14979bd55c43da57641edb15edbcfbb5402a0391569f92f8cb936dd51454e0fb9c8cd6eb48ad338468cb88393c243bf1b21d97192636375c6cb6475bb27646c171a24b43f24c1cd3837eec5500ecc712bff0a48cd97a4c579e9621d463e10be675a3b8a998a9de85c281308bda2bb8bc5780a90f9e81241c25cc900d085d0b4cef9097cc31bda02e8aace8e5a0ac84db299825daaf6c4eccabd53d8e639cda1520440c1c560047e6aaf44674b8e61803d07ecb8d4928791d5e919ba78c3f00a50b4c1900b436df91c2b3685ac24af0f76aa13f2c95a1df23ae820d47cef9876f83f49ac0639afc2545b1b729030925ec5f6fbf2e28fe946b131fec922dab3b508421733c52282c52c0581cf93db93e54560115448763137135d4528001103362638fe356e007e271604a1adc000f6cb85c4f472209292efb6ec10bd2d329408c6f3b6c510ab635\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 553\nct = 5e63e3e39992c52682b446639abc4c49c41e9cb2a01f347625e8ba816cd10c286c7be42b38333cfd5255ae66d11b47792e4df0366a93278b0931e5994ab40b18c3a5d4814c856418a9cbd63f5dca4e7a04e8f86157a9e43f4f9b9e2f8fb469465a7513f3a8dee850683a1af9ca91f22d9554683b11d2c77b51602c118bfb20965775d6d1dd9170079660dcf0f5107f433fd4aee8872d3afe9653b8cbf16c9968ba94ebba0867578d56cd24bbfd39381cdf517cfe7523f94862debcb1095c2f702e7d64e207af8b466b777aaa17936f4eac73f48f2655a6115f287af54cfa2cc65f9086d63330f95977eab02b0e682dd4dce52164bbff642b40422be3d631946d1e5dad0f58fe6e658ec8fe624c41c219607d33b007ea579609dc4bbd4139b5cbcf56fba4e0b32edd21ddfaed09dd5af8d40235ca407ae0c80c0df7a4c98b2a993a11d1d6e2a42fa43a43fa666cd98d84d07549742638c7a076570cb0ae219de84f91cb08d5cbd97e8a5efcaddfa433affea2626fc176d1303192982db198cae7\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 554\nct = 3b196f16bbb79b309902892527e09a17c0d6d52ab96c16539eec1c84de914e646868ed7bebcbdbf63ceae2ceb7952a867dd8e4de3fc94ae3e73002effbf91f0487324fdc867fce325d6c57e9ef989d6e650d685c7324531af9e9975d241e5b0f9fc9731a6940e919835bb7c4bb48153333c8a1c34b4e5d1672c11b855cf648a3498dedbddebd4f14efdc3e0e055dd81d66ad236e734a8bc63615d597b4d0b449239c039434dffe1bf619c6fcc8dca3180730914a7d5514b8474179d71b39ec18d696841e66460cb7f8e5432de13208aae2a84263d85b1fbfaaf1a73b1a75239dad8222ec91ce75df3d00d8520e56f2015eaf764442d7b3d5f27f5789ebb2fefa16ba0a2b5d1d4ace1c6eaaee751e3a4cd78bafba05600f79b951dbe4a0fdf1380a3f230f10223c23b7b0cb06037d217ff64a9e864b35aa6b97f1eaf80aace3da519672bed3e5d38a23dfea47295abd48f848564043de4f8eb5ddd4a1020d194d355d396ec643cb05aaed3d0e626b1dd6382ae1f79d2d1febfdfd155235f23add\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 555\n# Longest valid message size\nct = a88d83fabf35852acb9158b8c926cbcc7c98267581d657692522b3f90a1fc70c0dcfb638b4b397d77cb438094d8d916a51d730b98132c95aa649ddb849907b9e9d8d1559179aaf324506a70ffe9fb2a263df43c2c1886c1e4f4a9d714b0741674b4fc76dc4d11a4c8922c1e2ddf7bc8d920e52c1ce211d79e716bf62f971b055a4bcdfc7d3b1617c34773bbfe73865b51af432b3705044fe98d2bc45db99c1764136dbd33c7e7cff8f901", + "6c27fd9cbe31cbae4c35c7e6efb9632bbb3729a08e91953c22b4f8bd88eaa57e1fe189c175b7cd981fd0774342663f4dbd1fd0d12660ca7c787280359b8e9176bc53bf23601a02611cb9a68b1e84402d96b0ee9d8c798e5cfbf03ff32ecf6684aed668d5d6f0632144971dfa3adc73964fa463f4de1940e30e9306d0097bfcd1953d77becc606a18fcd7fbf81b327b0462807503f49bdeebb1e290b837bf63a0d1c3f1de389b5c47638c67ebc344eb19b9550de5bb7524222c2d6b4558ea141c37d226a5d499c18b4a3ec50e1160c4eba8493590244\nlabel = \nmsg = 787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 009b88373c9ecf8daaa05d0513982dff2451306cad4064ff8cc8d65a7e81f0fb296f1f355250729f87d26b83036692abb81ce711aff1a97e204a3a55ac34a98928319936eda4418ebe6e7923acadb07648f484a751de0fce14e6749f7829819bc48e312020513c64263b81f0b6014ceb5911bcd01dfb0611f455cfd224a3e581c3dad1ecd7ca9ec89252138ec61970669becf1844998e5006c1affd894275b5b153d55cb6808f83566b7ca8b017430115a62cd97853780efd2c8ac079848dfce3ea766907775047d778b5b47288ef9877fa55df06f5c4ca80951c7ce98f16ebad5c90733a5622a4484c94ae7c3438017ed312767bb70e961a192c426905b87472c5b7c6c673a5d147881a43758d1a65473a9bec6301f01cbc422168add721a450dd2449947030039f30d3d0ead874bafe455a32ea65b186abbfc21f163af1c49752696725e0103c4e63cf1117210dc1cf7eeeabcea960dba93e124da70e3f2c234d3b29438ca8a9c2d6fdea44916ab61a5bdcc209752d4a847f0e09a8a810f7a81]\n[e = 010001]\n[keysize = 3072]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00a07887f373378196b0b748cdf31c14735ccfa0f117acafdaa21fde4b6e7559390b834e7b92e9e1cc9d49fc0fe6cfb60429652b4bf9a7768f71fc4271ca6fef4e431192ebdc98630bfb94c5baf18b4cf7881d84483e4c44c22db15a9627705a0b42a26d6f3d6009aee0d2a71bedf4d4b0ee6b6fec2f16e1277ecaa3bdedba406473a476d1688df0fad1da795526c7e641981b4812b05b692d60c60b2bfa424c8b620f40dc9dba59e2c710e7ee750b3e134c1f71f43210688aff17aaa41cdb5668753f0006b1cf951bc5951f4d89a31196985ea55c0966c3662bcfe4e4cd34f12e4afd7e5c4a130739b1017d6a583882fd72db1a67418702c8b01353ccf75b7b93faec0e0be36211d5f2bd910e1552323711bbeb73858f899cc1ec063ef67d88e0c699d5a689c52106f06e960f09d2a3cf84f53bbea2a473edf2e6e0176801d3fa1c2d358e1e5a26f646ac93796ec1fadc6991c0ec19c9dd90b25a2dd3bf73d2cf1eea8867f96caa5a2df54973acb2a2da0a1367ec74afbb968f517765238d1769]\n[privateKeyPkcs8 = 308206fe020100300d06092a864886f70d0101010500048206e8308206e40201000282018100a07887f373378196b0b748cdf31c14735ccfa0f117acafdaa21fde4b6e7559390b834e7b92e9e1cc9d49fc0fe6cfb60429652b4bf9a7768f71fc4271ca6fef4e431192ebdc98630bfb94c5baf18b4cf7881d84483e4c44c22db15a9627705a0b42a26d6f3d6009aee0d2a71bedf4d4b0ee6b6fec2f16e1277ecaa3bdedba406473a476d1688df0fad1da795526c7e641981b4812b05b692d60c60b2bfa424c8b620f40dc9dba59e2c710e7ee750b3e134c1f71f43210688aff17aaa41cdb5668753f0006b1cf951bc5951f4d89a31196985ea55c0966c3662bcfe4e4cd34f12e4afd7e5c4a130739b1017d6a583882fd72db1a67418702c8b01353ccf75b7b93faec0e0be36211d5f2bd910e1552323711bbeb73858f899cc1ec063ef67d88e0c699d5a689c52106f06e960f09d2a3cf84f53bbea2a473edf2e6e0176801d3fa1c2d358e1e5a26f646ac93796ec1fadc6991c0ec19c9dd90b25a2dd3bf73d2cf1eea8867f96caa5a2df54973acb2a2da0a1367ec74afbb968f517765238d1769020301000102820181009b88373c9ecf8daaa05d0513982dff2451306cad4064ff8cc8d65a7e81f0fb296f1f355250729f87d26b83036692abb81ce711aff1a97e204a3a55ac34a98928319936eda4418ebe6e7923acadb07648f484a751de0fce14e6749f7829819bc48e312020513c64263b81f0b6014ceb5911bcd01dfb0611f455cfd224a3e581c3dad1ecd7ca9ec89252138ec61970669becf1844998e5006c1affd894275b5b153d55cb6808f83566b7ca8b017430115a62cd97853780efd2c8ac079848dfce3ea766907775047d778b5b47288ef9877fa55df06f5c4ca80951c7ce98f16ebad5c90733a5622a4484c94ae7c3438017ed312767bb70e961a192c426905b87472c5b7c6c673a5d147881a43758d1a65473a9bec6301f01cbc422168add721a450dd2449947030039f30d3d0ead874bafe455a32ea65b186abbfc21f163af1c49752696725e0103c4e63cf1117210dc1cf7eeeabcea960dba93e124da70e3f2c234d3b29438ca8a9c2d6fdea44916ab61a5bdcc209752d4a847f0e09a8a810f7a810281c100cf3da32cd99c1591aee15c1a2d933b7e5ff4d2dac6e0430bc3b41c2a93a16b5abba9496c2efb7695856bf1d38e818c57ae117dac789ff0e725a618a0d5ae46921111748298656b0bd76844e323497d46957d5c9e31f186ed64403b911f02b23ca2dfcaba2bbbcb7cbca9220a2b170d0ab60e5a1f90f957e32d82c7a8362e916f83a98c9f74cd0d08c687afd6bf0d89f23c7cad68a5d3be8cb86a5fa54870aee4885c60d8051e74fa46a75685d7814e153238727351365b94fdb9ef64253bf03f0281c100c639e21504b61149d3d240cc9ccb85a584417f2373087b9f2bcfd223974df5c075082127bb55d449d6670c5ec550f8033bbdc6a1ec7a67999faee700ca453fa1f37db626fe1ae62784d77428d8807e270bb5eadb1bf5cb3488827851416535243d3021511b12c2d38e3dcbcd9560b3d9cebe1c435582971fa2d60c49ebcbcf4da896a57f280f97a16707d0471c3cf62fa43cc01d5d09452ef08d29ca2286256ef2feb6067aef00eac0b1d13cc7f49e57182350e5a695e5803dfc987788350e570281c100cb73d4850c618a5f4a535e0b2920f8f0391dedfeefed6c84d92d31d5aeb772e0518981565ecd69fea24c75cd5e82da179e00f7e2e14d0bc0b11a5de54fc1d6f0412764bd6d056bd0e5392d1fdc1da28a2fea3189f0b80fe170610ad98e9b2406195420ff223e2c281a42e4f31c9875aa454ed3b557ab225819eee139c76f72420afce1dc0d5bdce6f7986fcd2025177f2358b7191c6b430f7d6098e377b9804945818365afa8d5e87a827f93c81cde5e3abe65c5c63dda2cebe6a51928e0ae1b0281c02ad9a264b6c300d3bbc56c9a8e9e744286677e2b549795d99fa7ea1e257c05ced7bdad25209afa2c07fbf8b197e7dbe51f09f42156b45326e35cf4b4b804e62f852a3cb10b27176f9d88d1a46ec0c00482c48d8355f4f93b5ef30d3d4b6cac632c12f670c8f0724b372966a00755832b6744b3695ed7bf0168baeaa72420c7ac5af04dd04201b4de801e3148ddf2d3a912d0cb1acddcce26ca7b497857a435fd58ebf4bf4bddd48dea9fc5c264db1d4b687d61e472f15e4e2d98280156e1593b0281c06c29351eb857f399c0c6c55e73d06e5010ea90c7f170dcf15b0bdb32451be4f4bb846687783da0df865f2846772f1c29f5c0663ee9fffc28e85d6b87db1d2c07e6c27274028d734bcd0ba4d264ce32d6d03d96ccb49c023518c93df3b34c6a9a2dc4dbaf27db20f040742c4121e4a5eeade583b5324c33720c299141408dfc9bfb785c846419698b4a71ee126dd723fa6474e963c8dcfff1c0bc8e34e3275c289f088dc9e54ec58cb48cdae73b251c2cba6d6dcdc4c7aad8ce6835fde9d6d861]\n[sha = SHA-384]\n\n# tcId = 556\nct = 47973e1587d337ac643d00cc7558d01bdf749cf9c7d269d5698130d5ec901d0929ebc261b607a7267e5760ceeb3c95a39a36d0dde85323df3f3ea3b7729b04158a7651d8956a6c38c4f68f6991f62481177d2f3c63d409e5480c9e572cb0395573ea78c1f43db9e30e963b8e90950700580e46773a25c252863fa9a6422a04a7a23ce33a093cf502608bbcf35b9207c8cca145ada2b5ce89eef4cb0d3df09faefcacd7f856a809b73ace90ac6c5146e1da4f57627ead19e5de15b22a079589f0c7aa18a9ef4cf142d77310dd88c2f73fa29fe822ef1e5b302ca95ba2b2ec5ab6baf83c13c31966d2523aec88ba3df77305b71aa777213d4ccc10eda50a7485511fe27e982fb344b8d3816d364997124f636f6971707f5d6c07db4a8726a242b4ea14164a2e91f0df74ef8d2bddf2a2721f2eb4f8f74740570cedeef13698b5f3f2b3ee572ab34557e20142ba0c5624b39a4592e8f34c06304b83dbd49fcc500ae009e4bf54d9623aa912455e8dd183758d9bdeeb8d2f34a8a70f87c0eab3428c\nlabel = \nmsg = \nresult = valid\n\n# tcId = 557\nct = 69b57f66fb5109267ada4c01843fc6dd98f5e910d55722dd40fc7eae93ae9f531fd493142af02108202c83a33209d2430632fd79d5bfc3f0268dc8c6bcb9aafd781d0ec81678439c1a25647aeb48cb8d801d063996be584170b63a1c75c7ac86e4e2327d68c6f7f39003b7fff1551ebecba68640c9d1723a4f1bd78b780c8ee667d9166915bd7c0e2974f3834206b7016bb063fb28f0b3b80f6d47f068fe03b316f415a5e48f36c15ccfc5aaa2f65b340c863c396cb15a1a643ea8a2ba4158102205e39f1b4fc08474fa51e511e22bc8bfca4583dc052453d73fc9c938f94a7c244aa73d01e9663f31b0b72c89de9d098d187e95d3425ab4a7d53abb28a71c3233b156e688062275d057a9617b59e1e3254d90084c8482607ee22397dc784e7e74f5bf9b39083b8b322709653c0a4332245e09bf7f0620a7fbf7e08af0d89f63f148dd9a45807648f9c225cdaf32c0c37ded3d01b089f9558fa4a9083c9af71ba069cdbcdc63aa374efa1dcaf7df3b85e009360d6a1f216c0f9deb5db871a676\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 558\nct = 37918450265836fc7feb997d9b0527587f5343d9936094af2f885f64ab9de69c582f3021e07896137f4a5a51b144e8e6e362ab2a5a17d02fbf449d9371e56cc92ad50d14f5994f0b9f7adbfdd44cdfdc", + "7e778dbce6950561ba7d1d24d091c7801431a2a2e5cbb6be023ec31d9a27ade05d2b56178782e88fe3a85dd9ea277908d19f5f635cce17a803523e85fb6d61cd0501d706220aec333501098184ff4e8725137731338669e9cdcd55a91403e0071a858596c6947a9f056584af698e9f9b9eae9427cf1e236bd9973316ca3b78c36830a6b98c5a98941d686958db0ea60aa836be6fbe1de9f07da457066967063802a77889a5272a3c395f3ae2c7b36d39b800f8e99cac01e286496906842a26183b8491b967e85ef332b929eb5fd3690c41c6d4c0d5599ee3b48c3a1f0aca771c10023985bb1430316ea96dda506e634d7c1f9eabdf22255c3b13c2ac3de62bf54046b473abb40868390abdfdabbe83673992d1d0ebe3041dac26de5c4866d7bae1884e13c47c03403503b9ac1da9e8a4\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 559\nct = 74284804ee84f2985e7d70ebc9fe0f9e180348678296b4fa0ef81993b457c4a59d62374e3ccb3a6e74e12a27cc3aba4a8d01d355602c02cb768673659c21ebd68c811eee3ee40fa835c5a11884ec8d76cfb7a8fefd92582b4ce795ffc81d7d9c33649dad4489ab2923ae8dee6fb020446415fede7ac993f8da810b46c8f7bcc2f3096f6518cfd8cb9b460399417e7970287a20be645001bc263c143f4f3fed68ad67606e1103ce9c3ed82cc0c141bd0720c93aa84f5ec945c52b7ab7d292eed389f310b95d89270aafcb5b2d2c2a452653eaccc52e09a5b8322ec7474234333faa7633803e661e7f50952d7453788c2e3f04f93a08ae422081b294699b1173aad0c2a821cf61a53040cb029ab7cd29e865a03bdabb26f975c173322afa4a52f35d15fd71a1ab9ebb7042b948e842796560d62299213c8b8fb01fddf33e5909d47cd94383a72ae5cf9587819dfc724c734be50a04f7123605512420f88db21ee5db0c37aedf10412567e868ac12420152a4441574e89e3a703a9b7381a00726b8\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 560\nct = a02b0a7bf8883430ff96ae28d54dbc59365f6b510eca7642d23a62c9f1a4b0f782e964c486511b13ae2533b8347687c08d14e64fbcc7f25a5b72e29ad2a09e17b20408ada0637baefb95136046d1dcce4ef4dc4e50002d6edcc99d418c73ee0ade70d82ad2035968f88aa628bc8861774099f79b7a2bfa3e1e31a9c2828133fbe56485e84b56da62830618278484d3ed26b0aad936fd4ca06803da69679e02d1dc9d465aad1ab936086f792db899469f8ef5b5e3031de83f5b393a9fd3a1375ed213643dc0c3871bac4aa6a661b455951c98c84c4bbfabdd132b0cdcc0367a58d3a43ab310590a3cc1b56113f8985d984816677092814bd61171a2dd15d5e9b00e4e070e38ebe5f14b3991a338185aff3d86f0d937770b9c657146ba0bed7b35f40a6adf06f50f57920fd584027de5da35f459aba5c4690a59fc107b54f464908628f0afa1652a8fe957586f3ab682a773dbf7131a25615d1231d0c79ed25c3fef945b7e386c3e96e5f0c0da399c115b3780231359d8d8ce8bc25634d0c36a9a\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 561\nct = 27b533eb909d4190c794e81be19abf776deabdabed0021c6bfe1c89d89fdde4144fb841033896573c1fcff780ec37386545e61c4492f4128386aa1fa2c2db60fd98bb6ea52b18de0bc65ccbf78a9dea9deb16077080a6f6e921ada15a188c1dfc3908f93bae22184671a137f31a986734f9c3f2b2192687e89d85ee45dffcbd7e1328d3515e84600539e3c7ad1ca9d06499a1d62613c777e487517b4ce18c05ec0583805f41d2cc8a7b617158cde83701549c52451fad725ff3805488ba9ad5c3e792579594e4800e53a7bf0d8c3464db419ba2f9d36411a0a4742481cbed7fd7bb9d77794435ef47e7062c3ec80148d81ca525f0ba792cdb73cdae5b3e01ca87a5b5f0e07af8ce143f127ad940f8efe3cb8eb3c799b5b776ce866f784435b4125f0fdb94af3d70f49d68cf0796497e9753d9bd0c7131f39d23be2bae7216dfd3341c9bf1cee2d5aaa6d14295f027d752b4d69e6a65fa739748a529415f5afa90d60d0f398d0de37261724325a80e8c10223b6699e7ca3f59fb61d87597e8127\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 562\nct = 4394bedea0f243479fdbbd439495f5072765614bab9bbdecd4532626b72de1370c57345f1d60e62bb38876a9bd61e8ef8bebac526e2aa1c6f3785b6cb50c8f7f575c648c76b9b3a9d662bf1923cfa5e971482c34491767571c1a0cc60eb725a7eb6294c6d007d1f8a1c5324f4253a52e9d294a9c8223cb3c40782cdd9f66018446273cd4aee34b5ddf71ffb273b8a4e6faf78c1ad3103fc1d6804261e422d2fd5bf3a09a44bedb56dc50c15cb216d7bef6be797129366916f549573d762cebc8dc9063d38d481d876a1a61830737c1bb9c5dab7ce738ec4c801e3391d68e8e3b48727b31141f1394c9578d1be81dfe5aeeda707cd7837ffff04a57273272e646f28609f5c8b0858fbd235e42f811c6deeb6c55be9c5f75c59f857fba9b61c0e00ce2378b16002261b121fc5c8e9209b7c5590165bf1bb9cb38aa49fd075301c755570b272624678b5bb3604a1dfe22867fdbd62b0f206a4632f3a9e9877bb24b57bae21541541aab25f6dacbc2bf3696c52a8b3f7c9fd664397e5ad032058342\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 563\n# Longest valid message size\nct = 28eb8d7653e2477e14644e6c667ce423131d6cd6a2407f67ea296255744a27e108bb6f8b937c3ff292ef1f6b95455d8d61a30aa2e7656b74bdca96f9c72378e10b09ebc73491e6fcb5262435c83d102d9676edcadf2ffbedece71a4525383ed3c05cf5aefab3f835ec09dc313a78dc5a4d2ebaab92fea0bf9799d067f90fb2e21f7dee12f8c9b8e8c694b3ba79a0127d6730910953d2374017f3c9c0dcee32b1f915109e9d3e884f10c9f24aeb163fa19bf4dffa592d195ce98f5e9229cda67eb366d231bc5e6c8cad2aa3943d89d0a3e19c18b5f8e6f8629da0622297bdab6a4f64274e9eb6eb5b3f6dd1a49b8d89bfc146d2401945153c8c7487e9f34cec96942b17a139a7f94017717edc2b1f5c9f3f8635fc1934964c54a9723c498a20f6728a96fe65f802d2f04065ccea5fb196caada4b0b0e8319b5218f5677352d3e81e899ea85b355600492abcc37a51cc99ea368128cb47e4c768438f11c236b2ac44d07edf61422563827054d22585701382793af1c9c2d70cd4e3c4159e1e7b02\nlabel = \nmsg = 78787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 009b88373c9ecf8daaa05d0513982dff2451306cad4064ff8cc8d65a7e81f0fb296f1f355250729f87d26b83036692abb81ce711aff1a97e204a3a55ac34a98928319936eda4418ebe6e7923acadb07648f484a751de0fce14e6749f7829819bc48e312020513c64263b81f0b6014ceb5911bcd01dfb0611f455cfd224a3e581c3dad1ecd7ca9ec89252138ec61970669becf1844998e5006c1affd894275b5b153d55cb6808f83566b7ca8b017430115a62cd97853780efd2c8ac079848dfce3ea766907775047d778b5b47288ef9877fa55df06f5c4ca80951c7ce98f16ebad5c90733a5622a4484c94ae7c3438017ed312767bb70e961a192c426905b87472c5b7c6c673a5d147881a43758d1a65473a9bec6301f01cbc422168add721a450dd2449947030039f30d3d0ead874bafe455a32ea65b186abbfc21f163af1c49752696725e0103c4e63cf1117210dc1cf7eeeabcea960dba93e124da70e3f2c234d3b29438ca8a9c2d6fdea44916ab61a5bdcc209752d4a847f0e09a8a810f7a81]\n[e = 010001]\n[keysize = 3072]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00a07887f373378196b0b748cdf31c14735ccfa0f117acafdaa21fde4b6e7559390b834e7b92e9e1cc9d49fc0fe6cfb60429652b4bf9a7768f71fc4271ca6fef4e431192ebdc98630bfb94c5baf18b4cf7881d84483e4c44c22db15a9627705a0b42a26d6f3d6009aee0d2a71bedf4d4b0ee6b6fec2f16e1277ecaa3bdedba406473a476d1688df0fad1da795526c7e641981b4812b05b692d60c60b2bfa424c8b620f40dc9dba59e2c710e7ee750b3e134c1f71f43210688aff17aaa41cdb5668753f0006b1cf951bc5951f4d89a31196985ea55c0966c3662bcfe4e4cd34f12e4afd7e5c4a130739b1017d6a583882fd72db1a67418702c8b01353ccf75b7b93faec0e0be36211d5f2bd910e1552323711bbeb73858f899cc1ec063ef67d88e0c699d5a689c52106f06e960f09d2a3cf84f53bbea2a473edf2e6e0176801d3fa1c2d358e1e5a26f646ac93796ec1fadc6991c0ec19c9dd90b25a2dd3bf73d2cf1eea8867f96caa5a2df54973acb2a2da0a1367ec74afbb968f517765238d1769]\n[privateKeyPkcs8 = 308206fe020100300d06092a864886f70d0101010500048206e8308206e40201000282018100a07887f373378196b0b748cdf31c14735ccfa0f117acafdaa21fde4b6e7559390b834e7b92e9e1cc9d49fc0fe6cfb60429652b4bf9a7768f71fc4271ca6fef4e431192ebdc98630bfb94c5baf18b4cf7881d84483e4c44c22db15a9627705a0b42a26d6f3d6009aee0d2a71bedf4d4b0ee6b6fec2f16e1277ecaa3bdedba406473a476d1688df0fad1da795526c7e641981b4812b05b692d60c60b2bfa424c8b620f40dc9dba59e2c710e7ee750b3e134c1f71f43210688aff17aaa41cdb5668753f0006b1cf951bc5951f4d89a31196985ea55c0966c3662bcfe4e4cd34f12e4afd7e5c4a130739b1017d6a583882fd72db1a67418702c8b01353ccf75b7b93faec0e0be36211d5f2bd910e1552323711bbeb73858f899cc1ec063ef67d88e0c699d5a689c52106f06e960f09d2a3cf84f53bbea2a473edf2e6e0176801d3fa1c2d358e1e5a26f646ac93796ec1fadc6991c0ec19c9dd90b25a2dd3bf73d2cf1eea8867f96caa5a2df54973acb2a2da0a1367ec74afbb968f517765238d1769020301000102820181009b88373c9ecf8daaa05d0513982dff2451306cad4064ff8cc8d65a7e81f0fb296f1f355250729f87d26b83036692abb81ce711aff1a97e204a3a55ac34a98928319936eda4418ebe6e7923acadb07648f484a751de0fce14e6749f7829819bc48e312020513c64263b81f0b6014ceb5911bcd01dfb0611f455cfd224a3e581c3", + "dad1ecd7ca9ec89252138ec61970669becf1844998e5006c1affd894275b5b153d55cb6808f83566b7ca8b017430115a62cd97853780efd2c8ac079848dfce3ea766907775047d778b5b47288ef9877fa55df06f5c4ca80951c7ce98f16ebad5c90733a5622a4484c94ae7c3438017ed312767bb70e961a192c426905b87472c5b7c6c673a5d147881a43758d1a65473a9bec6301f01cbc422168add721a450dd2449947030039f30d3d0ead874bafe455a32ea65b186abbfc21f163af1c49752696725e0103c4e63cf1117210dc1cf7eeeabcea960dba93e124da70e3f2c234d3b29438ca8a9c2d6fdea44916ab61a5bdcc209752d4a847f0e09a8a810f7a810281c100cf3da32cd99c1591aee15c1a2d933b7e5ff4d2dac6e0430bc3b41c2a93a16b5abba9496c2efb7695856bf1d38e818c57ae117dac789ff0e725a618a0d5ae46921111748298656b0bd76844e323497d46957d5c9e31f186ed64403b911f02b23ca2dfcaba2bbbcb7cbca9220a2b170d0ab60e5a1f90f957e32d82c7a8362e916f83a98c9f74cd0d08c687afd6bf0d89f23c7cad68a5d3be8cb86a5fa54870aee4885c60d8051e74fa46a75685d7814e153238727351365b94fdb9ef64253bf03f0281c100c639e21504b61149d3d240cc9ccb85a584417f2373087b9f2bcfd223974df5c075082127bb55d449d6670c5ec550f8033bbdc6a1ec7a67999faee700ca453fa1f37db626fe1ae62784d77428d8807e270bb5eadb1bf5cb3488827851416535243d3021511b12c2d38e3dcbcd9560b3d9cebe1c435582971fa2d60c49ebcbcf4da896a57f280f97a16707d0471c3cf62fa43cc01d5d09452ef08d29ca2286256ef2feb6067aef00eac0b1d13cc7f49e57182350e5a695e5803dfc987788350e570281c100cb73d4850c618a5f4a535e0b2920f8f0391dedfeefed6c84d92d31d5aeb772e0518981565ecd69fea24c75cd5e82da179e00f7e2e14d0bc0b11a5de54fc1d6f0412764bd6d056bd0e5392d1fdc1da28a2fea3189f0b80fe170610ad98e9b2406195420ff223e2c281a42e4f31c9875aa454ed3b557ab225819eee139c76f72420afce1dc0d5bdce6f7986fcd2025177f2358b7191c6b430f7d6098e377b9804945818365afa8d5e87a827f93c81cde5e3abe65c5c63dda2cebe6a51928e0ae1b0281c02ad9a264b6c300d3bbc56c9a8e9e744286677e2b549795d99fa7ea1e257c05ced7bdad25209afa2c07fbf8b197e7dbe51f09f42156b45326e35cf4b4b804e62f852a3cb10b27176f9d88d1a46ec0c00482c48d8355f4f93b5ef30d3d4b6cac632c12f670c8f0724b372966a00755832b6744b3695ed7bf0168baeaa72420c7ac5af04dd04201b4de801e3148ddf2d3a912d0cb1acddcce26ca7b497857a435fd58ebf4bf4bddd48dea9fc5c264db1d4b687d61e472f15e4e2d98280156e1593b0281c06c29351eb857f399c0c6c55e73d06e5010ea90c7f170dcf15b0bdb32451be4f4bb846687783da0df865f2846772f1c29f5c0663ee9fffc28e85d6b87db1d2c07e6c27274028d734bcd0ba4d264ce32d6d03d96ccb49c023518c93df3b34c6a9a2dc4dbaf27db20f040742c4121e4a5eeade583b5324c33720c299141408dfc9bfb785c846419698b4a71ee126dd723fa6474e963c8dcfff1c0bc8e34e3275c289f088dc9e54ec58cb48cdae73b251c2cba6d6dcdc4c7aad8ce6835fde9d6d861]\n[sha = SHA-384]\n\n# tcId = 564\nct = 27ee85b38c60a690a3024d9c8e4deded1f89b39d9a75c147e4dfecdea5999a76936c29504bf1ec6561e76c006edc3099be44808d0d598bf3a9f5e3023abfdb94346798c9c023c2470bbcc946b805a06b835fcdb5662fb5124c51bcaf01a3f54319224dced5188712d44037a632a6f1a27deceb74f4db7186e2401d399362a3d44bef0760265d9c27dd1dd7ea96a0407b7b07e34440d494799cc557c86d3fc78929dc5b0d01715ab2ad460383fdbb3a9762a666d75bd124a6668eba6cc01ab90b81c0f1892176348e442395fca7b4c1b36079e03fb6ef310c9fe7f0dfc89352d0aadec795dec87a676309b25c255eb646eb684028dd6b17ae19632ac287a90677ca65ca01421d5c88af069128b3fb33f46314a9fa9030e438b0ed1434e2a5ef51b91aca71e0c88f8a0445e10d5279e674823b1fc20a50251976b917d4f59665f5f25eb39f931b5c3b85eb2ecc7e035d9b61eefe3c1c5eda23f557df03cdb21728dec1854c3c7853252ec31f12dc31b6d4ea7d4f937d642685b8f383bc20b5fa39\nlabel = \nmsg = \nresult = valid\n\n# tcId = 565\nct = 4027e6c9a79fe29c4681e10fd204a7555eae62772ecccf64e71463cbce3bd7391f149ae73afbc5aceb46acce36173b454faa2a3055c9be3e21894da23586f23af070f7387e2a365d168532617e58e1a337884764fcd35dedf2724f2efc000d3be1ad675cfd9c160cd2d3e559a06cfde400ad8e1f000ae4bf96088c5677593c86f9ac55af0bcd2c679874f5fea1b36859ee92152a4afd4d44487a89cb6797adc1b5749912c5c9d9a5ff0fe594a6d8add87dc7e586f638eb84629d63ed6363bfae345763dd1c23176c54b58ebc4a8839556d4e37087161a965a85fa25d518682fc5fd3cab96c3677bf375febd32514225ffa6d8ff9a10be12aaf22df60b9a4b75ee8143fe0c3532f09110e316d588d11137c65cff2fa83464fdbb81e561c6ce4a573f829a813394eb4c2ef3a1a60552c214333a4dfd3e751d58b28737fcd79209b067712f456e291be01c76e426099e52a04233ce54b2ce3c7e0818964809e6a89ee382393523d03218b30c4d013011ef07f99cec7336492a300707d04b181be30\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 566\nct = 5c0f788ae26b14f141b3b5628a45ca8c4cc27621a216f0085bc258c04e680d6202bc3f45208cca42bf0b2765fde677434d8924be909d794d2608b026370d467e9653e610a404cce0130bc289132b28b41bcb5c7813c30d1ede76c2a8addd6bed94e33504d435615e2bf625f9f829ea93fcb9cf40d973f7eac391cb7010e60163ba964c57d7f69a0def4ec474537d33f499e83582406c5c5056f674731acd966d5f4c38acde55ea3660ab09a3d350f17f939576ba8cb86b3c4ffb5ab9d98ad5c96ebb121d075f2cb0add9dd72756086013e21fe6792509022a779152e49cfb8f84538f4a0e0972c098571c10b5d5df2d256575f6afa11310d8b265c1609070f6ec25fb4d483a38832348845c89c2fa4e90c3201891c3a9db1cfbd2048aa2175963eb685a4828f181b11fe7841668e39af682892ce636bc863f5ee075ee3a2e8d21ff58409fa331e94ebb96c014b28bffc2a0d946b013224dcf3ca5b82d3c0f0d2b532acd52f8511cd63814f4dc2be6b645909460c60cc6161ba943ffa4be83ab7\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 567\nct = 788a14e4b16095e400e9e05ec38668192194bb2e2dab6211ba05cf4885cb001fe1b86b2900a5d5c8d533e15c33205b87d4fb870f1eea227a98a3c1d44110e4634f1336642ca246dd5783a0318d8bcb3bdb19d41dd6edd7a8b352bf74fe809b6a273d26142e5701a84c1fa777390e69c9827dafef2e9ddf4ad2e4c794572d82d28622bea1341dfe0b1bb05ef46426124597ce55bb6ae38e6552d45cad9180a95af302c333c5b12ad5d99f5ef13a4b49ca6f6f272e73761349e78f0cdffc7ad52208ccd2807162cf9b40f39980f56ee7aed5c9bdcbbd290c15093b2c89f0dd9adf22bad84e07ae83b6b28440ff2de6ce8979f59de102aa151e55aa0754f5b7fd40a478b4185380fec95602c0425fb29d808d6af069fca1b1f7144b4f4e878ea02e105e3e64af0503d44174c171da152e645d47f0f3cab45fbeed4b8ca4eb287477f29b127a3a327605fd9c23098dcb3268edc00316f88a2a8bc3e42b0475c7b4a0e749ebe13b996f60b513f37b6105bf08b64f182e8ab0f2beaa8606ae832feb20\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 568\nct = 6d772e790464e1db9c70ca675a7f6bbb3df16934688062c8ce8edcae229a841e1da31afb8b496b03b13c3e5488cb9e65ed1c1a8ce1ec9be8c655b313176c2755810a1073cdcd878cb06de99df7ed5c3e9f7c69540f62e1e853a012631f0f3bcc1bfe228e69b05a79ef9eb76a706eed398b9f467be233aeee0bc9426667c4b752890a1bdc62f3ac12af68f6d0dd3eefc978f5be0c24e3a259119d39ea2f69da1d2e8aa1bad5816f24f898046d4cbbe7609ed921b49897e5794345fa164561aa83195a9f06c21dcaf6863281ed3067a99864882e125e61a82025f591bb0cef785f66520078167e4e8f315e2b9ac8d257988d0e2bb3fb6afaa023e57fa447142556af1cb679d37573032f08bb58ac33425db4d630ea63ce26c6247494e16ea28129fd7dd0be4613b50bb9e077898152e3ef13c9e0166b85f8219916f1aefe182db8be6b56c2480f95d2c4515ec96827670fedf2ac2857576bbf6b108ce6c47c56aeac0fa5803dccb77265dca6f2b6df8aaedc903f3cbc91ed58945ecdf62b5b2fa0\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 569\nct = 55f985eb681615e615c021f77bff495889cbaf885fcfcacf1fa2d093fb356f2d3c5dfc1aec631a06018bc43a9860c6c19f1c37c9aa53e15599b04aa83580d0035c812d1f4c1ad935d0e91be80f5b3b27428f9d8d034932822604475b50524c0b0f683e7c12589dbc99947f36e4994e9303ad5a57dc5992f46360c903405646ee7ae12f2a467ed7033cd3145a3c975251331b4f6a0bd36c2985e2419b146a8f780c32b173a7dad90f741bc7af593ffc6ef78deebba9fedea3a45b7adb6d9b4bd96bfdcaec25035b73ee31b240c2c3c9dc96c1e0f99dd4dc57e333290b08412e148dba6ca98c3380f020e0d7d3f5a4c4bf543a4991b3aa1b0520aa56b0d809f042ab9e88980c956155504369f385fe7998d8ce7e97a8108df4c52989ec72b2daa41ccc16f398a5548484afff18a71a31f171c4ec910791d41437763e7076f661577e4646d1aae871b077eb26d426a31a8c4e8fbd9ef6b728f6420cf15ce8cf53261850cb84ee2ccaf5bc4df7c40a49abddf5261f9b2d120efc19240064316d6563\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 570\nct = 6380d7f401ba7b456a5249fa17ac3ac91a29dd835c8892d7892721b430f907e2f613d5e86fd79f8c2c1313a0cbd0b61f55d726daa41483f3d7865eeb759fb93bfd8a3b94f54b2d37b535420077469dd4b539494d7f9e8fd0cdc64f0fe260c20c140aaaaf9e597034f3f9832d83ddf8715b3530c27879811e56ebb17abe0269a4a0601cadc59bec1522d8713f0f1eb865127d31cfa3dc7af0d9fffd17d292f7ef65f80d08da388f0b9d3841ade57d6ca6695062bd48e7a7a01b42a17f07456535c229c612f7f90585e3b7032f1308389137ad4d55207f4d725870b7ef6d9ec6c0b148215790bc57efd56828810120ca193deca4278079eb2c4da78b65f331bf2cd1eb7b099c28f1d62eb0e28f65ee4b88a529978223e4210b4805d37e4807f488e6562018263dd8f40e43ffcc849def3ea0d2614ec332ff594738c7fd7d001bea69a0d6f0fb8ce25ffc82bc21173d9f0cb3a76e482685925ba8a1f2274", + "cd26983781a2a6d951abe523f49c0bd821747272c2e7b0de805600f08f697afedfbdad4\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 571\n# Longest valid message size\nct = 49e28727af1fbff805c33ace4ab899016ed98366d79bee7d80449dbbaff218fd29654867c374d7abbc24b55661617cee652fda6608d04b9565ad58cef081d9341a8647fd680a6d99e8c8ca81143332a97ffd15b9088b65810f231012a5ac1e6064ff08e620b65d9b92c2d7c930af886191f90b93d8e678fce7cd9a7306a85a81eff01b780670e3ceb779e5a795976f817222d92d4301c6f1ce0add6d6e0eb5e2843ef91357a15da4231eae296c0c89d18a924814273c07b2f508a3b34eb1ae3a6cd526ef335a1aa6a04e28944386c8b1d9a492150d56cec3bef2c56991aea1cd07e017342c2e66fde0b16a07e56c06d34ed209389ae9ac65bbeb6ad63b3346647167dd4d03a12c9a5388ff0f23b4a17331e85dc194c6f1b3094ed55cb8d78154eb56ac3daf538f6acbc683783266928b8bddc9e8a8c5ba51d5215e1762c691165cc096b384264d0173740ba559241542ec331a89a5c5b5f2e8f203b51cf9d0db6b1d61ed5a334ceb14be3d355e01ff2c838c688e252617db1d8e56dcabb2f54e\nlabel = \nmsg = 78787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 009b88373c9ecf8daaa05d0513982dff2451306cad4064ff8cc8d65a7e81f0fb296f1f355250729f87d26b83036692abb81ce711aff1a97e204a3a55ac34a98928319936eda4418ebe6e7923acadb07648f484a751de0fce14e6749f7829819bc48e312020513c64263b81f0b6014ceb5911bcd01dfb0611f455cfd224a3e581c3dad1ecd7ca9ec89252138ec61970669becf1844998e5006c1affd894275b5b153d55cb6808f83566b7ca8b017430115a62cd97853780efd2c8ac079848dfce3ea766907775047d778b5b47288ef9877fa55df06f5c4ca80951c7ce98f16ebad5c90733a5622a4484c94ae7c3438017ed312767bb70e961a192c426905b87472c5b7c6c673a5d147881a43758d1a65473a9bec6301f01cbc422168add721a450dd2449947030039f30d3d0ead874bafe455a32ea65b186abbfc21f163af1c49752696725e0103c4e63cf1117210dc1cf7eeeabcea960dba93e124da70e3f2c234d3b29438ca8a9c2d6fdea44916ab61a5bdcc209752d4a847f0e09a8a810f7a81]\n[e = 010001]\n[keysize = 3072]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00a07887f373378196b0b748cdf31c14735ccfa0f117acafdaa21fde4b6e7559390b834e7b92e9e1cc9d49fc0fe6cfb60429652b4bf9a7768f71fc4271ca6fef4e431192ebdc98630bfb94c5baf18b4cf7881d84483e4c44c22db15a9627705a0b42a26d6f3d6009aee0d2a71bedf4d4b0ee6b6fec2f16e1277ecaa3bdedba406473a476d1688df0fad1da795526c7e641981b4812b05b692d60c60b2bfa424c8b620f40dc9dba59e2c710e7ee750b3e134c1f71f43210688aff17aaa41cdb5668753f0006b1cf951bc5951f4d89a31196985ea55c0966c3662bcfe4e4cd34f12e4afd7e5c4a130739b1017d6a583882fd72db1a67418702c8b01353ccf75b7b93faec0e0be36211d5f2bd910e1552323711bbeb73858f899cc1ec063ef67d88e0c699d5a689c52106f06e960f09d2a3cf84f53bbea2a473edf2e6e0176801d3fa1c2d358e1e5a26f646ac93796ec1fadc6991c0ec19c9dd90b25a2dd3bf73d2cf1eea8867f96caa5a2df54973acb2a2da0a1367ec74afbb968f517765238d1769]\n[privateKeyPkcs8 = 308206fe020100300d06092a864886f70d0101010500048206e8308206e40201000282018100a07887f373378196b0b748cdf31c14735ccfa0f117acafdaa21fde4b6e7559390b834e7b92e9e1cc9d49fc0fe6cfb60429652b4bf9a7768f71fc4271ca6fef4e431192ebdc98630bfb94c5baf18b4cf7881d84483e4c44c22db15a9627705a0b42a26d6f3d6009aee0d2a71bedf4d4b0ee6b6fec2f16e1277ecaa3bdedba406473a476d1688df0fad1da795526c7e641981b4812b05b692d60c60b2bfa424c8b620f40dc9dba59e2c710e7ee750b3e134c1f71f43210688aff17aaa41cdb5668753f0006b1cf951bc5951f4d89a31196985ea55c0966c3662bcfe4e4cd34f12e4afd7e5c4a130739b1017d6a583882fd72db1a67418702c8b01353ccf75b7b93faec0e0be36211d5f2bd910e1552323711bbeb73858f899cc1ec063ef67d88e0c699d5a689c52106f06e960f09d2a3cf84f53bbea2a473edf2e6e0176801d3fa1c2d358e1e5a26f646ac93796ec1fadc6991c0ec19c9dd90b25a2dd3bf73d2cf1eea8867f96caa5a2df54973acb2a2da0a1367ec74afbb968f517765238d1769020301000102820181009b88373c9ecf8daaa05d0513982dff2451306cad4064ff8cc8d65a7e81f0fb296f1f355250729f87d26b83036692abb81ce711aff1a97e204a3a55ac34a98928319936eda4418ebe6e7923acadb07648f484a751de0fce14e6749f7829819bc48e312020513c64263b81f0b6014ceb5911bcd01dfb0611f455cfd224a3e581c3dad1ecd7ca9ec89252138ec61970669becf1844998e5006c1affd894275b5b153d55cb6808f83566b7ca8b017430115a62cd97853780efd2c8ac079848dfce3ea766907775047d778b5b47288ef9877fa55df06f5c4ca80951c7ce98f16ebad5c90733a5622a4484c94ae7c3438017ed312767bb70e961a192c426905b87472c5b7c6c673a5d147881a43758d1a65473a9bec6301f01cbc422168add721a450dd2449947030039f30d3d0ead874bafe455a32ea65b186abbfc21f163af1c49752696725e0103c4e63cf1117210dc1cf7eeeabcea960dba93e124da70e3f2c234d3b29438ca8a9c2d6fdea44916ab61a5bdcc209752d4a847f0e09a8a810f7a810281c100cf3da32cd99c1591aee15c1a2d933b7e5ff4d2dac6e0430bc3b41c2a93a16b5abba9496c2efb7695856bf1d38e818c57ae117dac789ff0e725a618a0d5ae46921111748298656b0bd76844e323497d46957d5c9e31f186ed64403b911f02b23ca2dfcaba2bbbcb7cbca9220a2b170d0ab60e5a1f90f957e32d82c7a8362e916f83a98c9f74cd0d08c687afd6bf0d89f23c7cad68a5d3be8cb86a5fa54870aee4885c60d8051e74fa46a75685d7814e153238727351365b94fdb9ef64253bf03f0281c100c639e21504b61149d3d240cc9ccb85a584417f2373087b9f2bcfd223974df5c075082127bb55d449d6670c5ec550f8033bbdc6a1ec7a67999faee700ca453fa1f37db626fe1ae62784d77428d8807e270bb5eadb1bf5cb3488827851416535243d3021511b12c2d38e3dcbcd9560b3d9cebe1c435582971fa2d60c49ebcbcf4da896a57f280f97a16707d0471c3cf62fa43cc01d5d09452ef08d29ca2286256ef2feb6067aef00eac0b1d13cc7f49e57182350e5a695e5803dfc987788350e570281c100cb73d4850c618a5f4a535e0b2920f8f0391dedfeefed6c84d92d31d5aeb772e0518981565ecd69fea24c75cd5e82da179e00f7e2e14d0bc0b11a5de54fc1d6f0412764bd6d056bd0e5392d1fdc1da28a2fea3189f0b80fe170610ad98e9b2406195420ff223e2c281a42e4f31c9875aa454ed3b557ab225819eee139c76f72420afce1dc0d5bdce6f7986fcd2025177f2358b7191c6b430f7d6098e377b9804945818365afa8d5e87a827f93c81cde5e3abe65c5c63dda2cebe6a51928e0ae1b0281c02ad9a264b6c300d3bbc56c9a8e9e744286677e2b549795d99fa7ea1e257c05ced7bdad25209afa2c07fbf8b197e7dbe51f09f42156b45326e35cf4b4b804e62f852a3cb10b27176f9d88d1a46ec0c00482c48d8355f4f93b5ef30d3d4b6cac632c12f670c8f0724b372966a00755832b6744b3695ed7bf0168baeaa72420c7ac5af04dd04201b4de801e3148ddf2d3a912d0cb1acddcce26ca7b497857a435fd58ebf4bf4bddd48dea9fc5c264db1d4b687d61e472f15e4e2d98280156e1593b0281c06c29351eb857f399c0c6c55e73d06e5010ea90c7f170dcf15b0bdb32451be4f4bb846687783da0df865f2846772f1c29f5c0663ee9fffc28e85d6b87db1d2c07e6c27274028d734bcd0ba4d264ce32d6d03d96ccb49c023518c93df3b34c6a9a2dc4dbaf27db20f040742c4121e4a5eeade583b5324c33720c299141408dfc9bfb785c846419698b4a71ee126dd723fa6474e963c8dcfff1c0bc8e34e3275c289f088dc9e54ec58cb48cdae73b251c2cba6d6dcdc4c7aad8ce6835fde9d6d861]\n[sha = SHA-384]\n\n# tcId = 572\nct = 7703c44787ab4ad598361704b2ff94a649683bd835b7d1731ff9e2eeccb5ed3f78593fcab9daf89720cf7ee2a0f34c1b13fbd27cdded8ef6411261eb44a2270d29a64f329806f1f5ca5f2c45c3a9e110b5e23e7e505e830c9645c56609c35a6b8c88ca3a630b8ffb150798a081ee226e6f1ba36020f260163e5548dae1e726f6d560a0b2fb6657d6df7f1cea6704c45ad9103be60d96dcb0d76fd43912890f908971da9cbd7cd80d1d3f6ded108cc528e554e032498c886f383ccb3a9766944a305712f2e952c68fdcb6326eb567a992d6920ba9ec3c99fa91f915eb960fa044457469aea09e80d252c572db875974aad225176128fa1ff965b8ddb89a9debc509b24850e7009a7b10fa35be6cbc62b5b244e4a7420bf5260af0a7ed61b0fdb9ab69ae852ae5012fdfd6b80c472e4a35f06b8a12f3907442bc374de2c53b00b903ac7280b795e7d2439ba662308ee295135cce70958cf1c0587e8fa4f43839873a3f5263c9fab73549964128264ae884d38113b005f430e5716c8b960f0b2f01\nlabel = \nmsg = \nresult = valid\n\n# tcId = 573\nct = 819846a8955b2e0d9827f5fc163591b53c98ed322852e685a66d9560f8a3e95d0cc134fdea399d8e61468bd05e2c914a53d17046fc0b5817038b46980333857997232dae7250122d8f3ed647185e78801454ae321d1b1adea8aee9463429094dc2e7a27374b3624705daf84b5cd3478234eb143181af55042f5d4df21299fbe2936e872c76c443d77df88c403c97a02edaa3865464bd681b88e2b80274d226238ac64028fa9828fb6c0bc237673c985a4e44a5e22c00f1f2317f700098f20453bb806a804a31bdef34b3707e2467efd047a6bcaf3f1b152ec1595e60210c83d105751a02b121d7dac1cecf8f653e310534e426acea3e9245758d48a1cf8f294b070bf2c55622d", + "0924f9af9984fb11fbc138d86ca36d1e7b3c085ff6432fdad651c6d263ec6f8a54c3dd903b888487c01e5e7415c4dff68050150f13ea86ec755db49504246b5ba0e86df9afe86409590c1316a5041dcf46530746a8e045f355352b6181fa935784e96e7eeb058a78206aaf5a0354ff13978b4ff69639f4f1869\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 574\nct = 9cc6606f9b407c4e468fde720844906dda48d0053b7a5b5960458e77d93b9f4bc5275a74e86c73714fc770bf7ec37924d1bcef4287c7212a375bcbf9c0b978dd7089145a4be3ec38bdb4acaa339689ffe29c82c5e9affe73557f9a44e09f5332d944f293dba4eebde8f107c1fc0ef1766c105927a8de1a89cf7ec3243e70e207b91d78aa448d72e30921df8b28381e81b6cd385bcafccfb097f9c5d5eef98e9e0a17f387114e2ad4f0065fdf3474a91cef43ed1d3384f28b0e38c0ff68c7f9d3fe5e8dc41b3a4ab9a473df432596f243b93032747c84309225bb8b5ab5971292aa3bce2fe3d4e2d5af79579f48e119f975d8004c567b86cc9800ff3fe8e809bccb81755444ca4c7af823c4a9b506370fad361a410f2ca4ee4411095cf263d3fd3d67a4e820c5ea6f9c659374acb7c0a19ef8fa85fbc5b7356407594085230dc4006a15c261b1e9934a71bff0d8942250267ccb7dfd6f4ef15fdd41cec0ddf9715a7cbece261157fe1abdb9e466d2c8ac503d0eb8d9a4fd7a7aafa784ae32554c\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 575\nct = 3c3ac8dd214b889381cec624f4ce2ff744dafefe6d446222d112b9607d935af7953737a9b648505a346a9907744108aa098a487519e066960e5b3167006103ac38bf23f6fd7371659217534ac3bfec6b6ffb314f0f11eec3b8810e1e3f1b28dc3287f551bdc81963df0b5b012a4a570181eca6a084ce9593fe9d74bb8b914b54f88e0f5614fabe3c5348ec73c16d23de44cd2d97f463b0913481f2b144ab4ca6da3cfd4c063a171f49026e2519105966521722d98d20221143c86dfc310d614c704da7176c1e92a8c0e97ddb8dba62725f2bebc9d4ab3097cae9a494c5e39f2d162018a6da2a72be610dd084a23df8a59c2168fb5cd5ca03b2fb834b465e6fee693614be06b294764f577c11c187669c08167e765b0f2aa7997f4560e32bbec6cfba32611f0c42d071396606e5df70ce8d6a093e71a17ab73930d725e93941c2071c342526455d3b1e5bfe59dfa842b003291d2cb17e7a56bf0f5ce4428f594d8b2ddd24761247a087fa444acfb3742bd2a088bc7770fd11381f7cc27c7d78a5\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 576\nct = 3764f047a2d0c37ce7e1e890152d08283831b2d204659010b9549fca4d8940b86d84c9bfc634f1a371a166c5137f4a23d0566f86e32e7df43e0ba18feb24ac3a457bf4ebf8ca4a3901c165e994e0cfd2ec01b2420f1246cafb3f56f4b5829b0875a363bf1861429cc6aa7d1ab333bdb2379e53e684fe3ae59c1cad58bb564fb94ec0ddbfdea59be9e50784ffd497032a2320a3c1ff9d61702c6159b73116b3b300ba6598ab316a280c36d469d4b6f63ab321c0ab35141ac5215d086488e0aebd529dd49fd9d3b05f8b1a22d92fbdaaa8c73dba7652fad04142f507b5999180828d9e265bd2bcb984a7fd13f30f1a3470dfec82e349b00e59b52074960d90e38f57db7c65a21a6f1fb08a5872108f4d85a13b57473054d472840dbfe6f6baa2f4bc88f2c081634366cbc6424f8a0d314b698f895ab6b11463892c3da8dfbfa9aafebaea810d78dbcf909c1f27be6dcea6c6df94efb9ae8bf9a36029d44e29b44d2694dec8c53c34a247db85b4a6c39338d0855f7a64c5549313cf4b496be81c70\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 577\nct = 7afde0e2616e1dda578fbe8acdf3c068ffc7b85d3245269fa4ab8f6e20117fefa300dcaac76b10527586cb483f2a72dd2917f0dd7f88cf6598c4e92e160f38fdb02fe83eafd39f53f3acccb0e16fe88fc3d6cb93f5545b4fb309cd2bd26395a1ec9c37897b44d90df69a71108ea1e8115dfd67a16ebb507455c408becfcbc73af51f87578219a3f4e452c1f408c093baf69f62f68a9f92bc1e3a9341cb181b72580bce4b83d2f50231ba7c03b1224f38c4da43b965cda2105926c3ab3a9af54273ea4b1387dec236243381d25d3184467e47b14768e52932a7948cb65450f274beef34238f8be9f296f5a1e56359ea722bc93981ae3ecef6d363bbebcff33925f288d8a48862318f6086ae9f354f81350ce863adbbf61cbf713f6590421c167015f2592daeb33edfa0506fcbd0ee43715102808cbd0392bfc0a89e9df721f4abda34f43dd217dfff9161a9cd6bb8765a23b0c0e08c3b39c72b684e7a5f6c4be06017b21d8e60eeb292674d8519230f1494dc918e0f0999a20a5b844f6426afb7\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 578\nct = 61a9eda39c04c41112125f6c3a57b3e9f19ff9c53059b20cd46cb52b8f86830df615f9360743c7177fc484d1d6697a6d6a725a6a760730e91ac1338b484fcae5a47edccde6373d3f3b86a67d316e614b6b389cefa0db2ca7548ca72f117e0ccbf83684897fe666f4ff6e3c58c263fae29ae73010ca8c8df58a2f3e462004a48467bb764dfe634977fdee81c742ccc28e10cb762323218664570f01279ffad12c85340d70f8a51ef6c1ea4df9594b40cb21c52b6de0f9934ea16132a2667e0082eae5fbb48eed26a35c5467445faf73bb19f2a1dc07aa5d9a4d00435cd59d236140b8a2c57157f23955f0f279668340e4b3f13892dd4aeb7918d619132f79d7c2c23492cc1eef3bae1108c87d1062da1e8923af6e99e066885facdc9142771d9662d8645f2de5fd5f26eedeb26ea5fc91d1a2c4306ae4aef33441c28679d456ae69169e7c5664d50a939bc5276e9ccd020840a923429490ac3c2c4ed09c13b79f1c69002ba106c8c5fc21b58599216267aa347db033d669322bc3fc52d13206a8\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 579\n# Longest valid message size\nct = 7d4de3f2843e973174a0ada5bf828f84cfb4567cd7a6eb6970e5020deea377663ac4065cde041994b5984dd7ecf358fe09b6d9efb359479bd1759476ef299edbb3bf100189d1515c8e11c08bdd7eadae26d309bf700656550449dc657cf6a6c60f86632f941bd7b6b7dc811245b305599e92cb51c0df86d0da45f87a7ad2990d74931262613801bae1435ab0232c99b7b542a4c233f6bb6a57c5bca5378e3674522acdb75af5b2d022a6dd73bad1ba0143f85e882855991ea17a84b995c9332465aec8ced218747f7b98ea970d9a13d451ea17a8247fcc0e19f48e1ddb6eb99696ff17646a3f12ef5795b1f8596da78ef45831ecc140c762b6ba997c0d23c7484723716a813add8c7cf716c147681d92b0684e79e2dd52eaa85e41bcd6ba9b17c9adb8a326ca28d4eea31b55fb29a49785daf244210814d30284fb97dc79138a34eb245e4dc14e8f6e8c5e165e13fe96480476a65ca4b309ab4b2fd2ca8fa4cdca4b5e89323648d097256f69df3644897a1ddf5a27dcae3b73d647e712b729f4\nlabel = \nmsg = 78787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 009b88373c9ecf8daaa05d0513982dff2451306cad4064ff8cc8d65a7e81f0fb296f1f355250729f87d26b83036692abb81ce711aff1a97e204a3a55ac34a98928319936eda4418ebe6e7923acadb07648f484a751de0fce14e6749f7829819bc48e312020513c64263b81f0b6014ceb5911bcd01dfb0611f455cfd224a3e581c3dad1ecd7ca9ec89252138ec61970669becf1844998e5006c1affd894275b5b153d55cb6808f83566b7ca8b017430115a62cd97853780efd2c8ac079848dfce3ea766907775047d778b5b47288ef9877fa55df06f5c4ca80951c7ce98f16ebad5c90733a5622a4484c94ae7c3438017ed312767bb70e961a192c426905b87472c5b7c6c673a5d147881a43758d1a65473a9bec6301f01cbc422168add721a450dd2449947030039f30d3d0ead874bafe455a32ea65b186abbfc21f163af1c49752696725e0103c4e63cf1117210dc1cf7eeeabcea960dba93e124da70e3f2c234d3b29438ca8a9c2d6fdea44916ab61a5bdcc209752d4a847f0e09a8a810f7a81]\n[e = 010001]\n[keysize = 3072]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00a07887f373378196b0b748cdf31c14735ccfa0f117acafdaa21fde4b6e7559390b834e7b92e9e1cc9d49fc0fe6cfb60429652b4bf9a7768f71fc4271ca6fef4e431192ebdc98630bfb94c5baf18b4cf7881d84483e4c44c22db15a9627705a0b42a26d6f3d6009aee0d2a71bedf4d4b0ee6b6fec2f16e1277ecaa3bdedba406473a476d1688df0fad1da795526c7e641981b4812b05b692d60c60b2bfa424c8b620f40dc9dba59e2c710e7ee750b3e134c1f71f43210688aff17aaa41cdb5668753f0006b1cf951bc5951f4d89a31196985ea55c0966c3662bcfe4e4cd34f12e4afd7e5c4a130739b1017d6a583882fd72db1a67418702c8b01353ccf75b7b93faec0e0be36211d5f2bd910e1552323711bbeb73858f899cc1ec063ef67d88e0c699d5a689c52106f06e960f09d2a3cf84f53bbea2a473edf2e6e0176801d3fa1c2d358e1e5a26f646ac93796ec1fadc6991c0ec19c9dd90b25a2dd3bf73d2cf1eea8867f96caa5a2df54973acb2a2da0a1367ec74afbb968f517765238d1769]\n[privateKeyPkcs8 = 308206fe020100300d06092a864886f70d0101010500048206e8308206e40201000282018100a07887f373378196b0b748cdf31c14735ccfa0f117acafdaa21fde4b6e7559390b834e7b92e9e1cc9d49fc0fe6cfb60429652b4bf9a7768f71fc4271ca6fef4e431192ebdc98630bfb94c5baf18b4cf7881d84483e4c44c22db15a9627705a0b42a26d6f3d6009aee0d2a71bedf4d4b0ee6b6fec2f16e1277ecaa3bdedba406473a476d1688df0fad1da795526c7e641981b4812b05b692d60c60b2bfa424c8b620f40dc9dba59e2c710e7ee750b3e134c1f71f43210688aff17aaa41cdb5668753f0006b1cf951bc5951f4d89a31196985ea55c0966c3662bcfe4e4cd34f12e4afd7e5c4a130739b1017d6a583882fd72db1a67418702c8b01353ccf75b7b93faec0e0be36211d5f2bd910e1552323711bbeb", + "73858f899cc1ec063ef67d88e0c699d5a689c52106f06e960f09d2a3cf84f53bbea2a473edf2e6e0176801d3fa1c2d358e1e5a26f646ac93796ec1fadc6991c0ec19c9dd90b25a2dd3bf73d2cf1eea8867f96caa5a2df54973acb2a2da0a1367ec74afbb968f517765238d1769020301000102820181009b88373c9ecf8daaa05d0513982dff2451306cad4064ff8cc8d65a7e81f0fb296f1f355250729f87d26b83036692abb81ce711aff1a97e204a3a55ac34a98928319936eda4418ebe6e7923acadb07648f484a751de0fce14e6749f7829819bc48e312020513c64263b81f0b6014ceb5911bcd01dfb0611f455cfd224a3e581c3dad1ecd7ca9ec89252138ec61970669becf1844998e5006c1affd894275b5b153d55cb6808f83566b7ca8b017430115a62cd97853780efd2c8ac079848dfce3ea766907775047d778b5b47288ef9877fa55df06f5c4ca80951c7ce98f16ebad5c90733a5622a4484c94ae7c3438017ed312767bb70e961a192c426905b87472c5b7c6c673a5d147881a43758d1a65473a9bec6301f01cbc422168add721a450dd2449947030039f30d3d0ead874bafe455a32ea65b186abbfc21f163af1c49752696725e0103c4e63cf1117210dc1cf7eeeabcea960dba93e124da70e3f2c234d3b29438ca8a9c2d6fdea44916ab61a5bdcc209752d4a847f0e09a8a810f7a810281c100cf3da32cd99c1591aee15c1a2d933b7e5ff4d2dac6e0430bc3b41c2a93a16b5abba9496c2efb7695856bf1d38e818c57ae117dac789ff0e725a618a0d5ae46921111748298656b0bd76844e323497d46957d5c9e31f186ed64403b911f02b23ca2dfcaba2bbbcb7cbca9220a2b170d0ab60e5a1f90f957e32d82c7a8362e916f83a98c9f74cd0d08c687afd6bf0d89f23c7cad68a5d3be8cb86a5fa54870aee4885c60d8051e74fa46a75685d7814e153238727351365b94fdb9ef64253bf03f0281c100c639e21504b61149d3d240cc9ccb85a584417f2373087b9f2bcfd223974df5c075082127bb55d449d6670c5ec550f8033bbdc6a1ec7a67999faee700ca453fa1f37db626fe1ae62784d77428d8807e270bb5eadb1bf5cb3488827851416535243d3021511b12c2d38e3dcbcd9560b3d9cebe1c435582971fa2d60c49ebcbcf4da896a57f280f97a16707d0471c3cf62fa43cc01d5d09452ef08d29ca2286256ef2feb6067aef00eac0b1d13cc7f49e57182350e5a695e5803dfc987788350e570281c100cb73d4850c618a5f4a535e0b2920f8f0391dedfeefed6c84d92d31d5aeb772e0518981565ecd69fea24c75cd5e82da179e00f7e2e14d0bc0b11a5de54fc1d6f0412764bd6d056bd0e5392d1fdc1da28a2fea3189f0b80fe170610ad98e9b2406195420ff223e2c281a42e4f31c9875aa454ed3b557ab225819eee139c76f72420afce1dc0d5bdce6f7986fcd2025177f2358b7191c6b430f7d6098e377b9804945818365afa8d5e87a827f93c81cde5e3abe65c5c63dda2cebe6a51928e0ae1b0281c02ad9a264b6c300d3bbc56c9a8e9e744286677e2b549795d99fa7ea1e257c05ced7bdad25209afa2c07fbf8b197e7dbe51f09f42156b45326e35cf4b4b804e62f852a3cb10b27176f9d88d1a46ec0c00482c48d8355f4f93b5ef30d3d4b6cac632c12f670c8f0724b372966a00755832b6744b3695ed7bf0168baeaa72420c7ac5af04dd04201b4de801e3148ddf2d3a912d0cb1acddcce26ca7b497857a435fd58ebf4bf4bddd48dea9fc5c264db1d4b687d61e472f15e4e2d98280156e1593b0281c06c29351eb857f399c0c6c55e73d06e5010ea90c7f170dcf15b0bdb32451be4f4bb846687783da0df865f2846772f1c29f5c0663ee9fffc28e85d6b87db1d2c07e6c27274028d734bcd0ba4d264ce32d6d03d96ccb49c023518c93df3b34c6a9a2dc4dbaf27db20f040742c4121e4a5eeade583b5324c33720c299141408dfc9bfb785c846419698b4a71ee126dd723fa6474e963c8dcfff1c0bc8e34e3275c289f088dc9e54ec58cb48cdae73b251c2cba6d6dcdc4c7aad8ce6835fde9d6d861]\n[sha = SHA-384]\n\n# tcId = 580\nct = 277fbde73b7970859e3cd6efcb40f5daeb8302dac05161d60d5e50f2d9aa1369cf267a04b2032a4a333b64cb3c6623ac4a9e28c8803b0da74d3b61b049fec9ea068a256380e2307fa352f9bf4c47cc28f5f91169eb0ceda4587f1bb6e9de135895956d34f54aa51e43a7933d6d7c1b8939716008619658b8734d25f7ae53b4213295fe2fe25506e88d70e4351f9c781fa29fdcb2661c8a81f90c72d9bbb319f7cccfaec3df7e7f16158bf2888fc4d7daedfa9612b94fe2cfa8374f8284da2bd525588b5e343e948102e264e366c94b7ffeb053b0b1cf748f63231044c483d40645d9919d8e2e5e5b57ee4724bf56b9c0ad9240383f806aef7349904824e2269e33af7725e5f8c0e8417e70f29157733e9bde27de47ca1e63bde4ad61b4f446592e5f0961e76d60d1191bf1651cc8f28b7b6d4caafa419c06e824aa8431613845feb35aa9937a5d593a30fb53fa51f77fadb88fca5a928b8a518584e6c9ae2cd834f1323c2e29a4282a4a06d2191e0c31446cb09f36d230060d5ebf15615f46df\nlabel = \nmsg = \nresult = valid\n\n# tcId = 581\nct = 087824227d55c28cdc6ad7b9f765c7c8defd2489c57c168a42c6c682e263165269e83d5a4477dad3ea131202ec8b7b1d44495adb2ad52a088d6aa4baacca441c8d0eee6b0c2061a04a074c436d9cace6b83d2f5f62a638c98563ae6fa2e7a1ace169c2ed893381e71f093b166d127bf19e87ad2df1b107d22acd18db94eebadf4990302f024007a28e2ab0ca90636570c0ce7640776f58e3eacff0977f25fd85864cb3026c623b3d644c5ba4d33b2f83533c666bf8300afb328ffe49677459631e110afb852c48faa1379d03adeedf70dbd661166f5657d66f217837366d2f1dfdbdfd1ccc3ad73042e335726a498c7ff7952abf369948a3dd53510a6e5d2fb3a960c283f6f309ae4fc5b3e2c28ecc3444991580ace4cdefddbf05c9d65829294bbbf4fe7bdf4264d10773a35b6905af9a330e0e4a52f429f8881403574f7b96f4bd5b8bab1c725b06ce6b299bc7b9943bd6e73ecce1c65d7424b7fc6874536c1bb62c3265998a698ffe169dd7a9b463a95d8c03762a10426d99155b8893b685\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 582\nct = 6c495bfb142086d155b08f87b9969c7b46a4393031123d786e045e8619e4ee834c62b3def25bea12e5deea879678831273e5c74016b33b6111eea4d54db08019d840d6200c584d7439912e8b9f8290f5855c17d8024c4822354a0488338a4468821ed53fd51b96d27b8fcc43e8ec19277b12ae75ab2a8c68c10e94a90c71ed2d41b61e9790b0766b57fff1e2ebce1929c5b102bb04397af92a8066ae2de28375fdb4c1b8b7d4fe971b2ca99cb0171bc252062aa47c8e363d169d6d25b40bc54ee064555791a87ebcd7d8d92ec6516478c6277bc4781dc7caa89414284d8b438e24322f2020b82f8d8835d0e44ee78880b5cd9c8c3c2ed0788e451d3df7bc256b0770708515ede46fcfbea55e5fbb15ee2bbfd595ac91bf18cbc4523945eb97dc5de34888dccca86c2d763ed36aa99b6df4a712a84b3d190ff351a3018762659e51a0fbb0160d3c0153c4fe6d7076831dec50e52114bd81b5f21ecc7a5fd08adb358f44faf1572a717cf8e6e1474246a1da3dcda63a4b6aa52a765f027c3d4e31\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 583\nct = 4e61f94cf72308cf8803abcdf196205f7bb9c86c995e0d87a779b6abcee4f01a012fbade985ad4160b9ec9c49a6b4fc3c193637e1b6f9b50f0d2abfdf1098f214dd15533d750ef5cb2591d5ae92e2d9946bd66516c113ed3f92b5f22f64beb96920e95c2d4c838850988cb4a8db98d54ed5ecb76c3f81221f14239dd16f44f1d5825a0e7ad1895a0a5715c3bee33049fd33501d47799ee75b36020f9f001041d96879d5385c3b763a2f2d245a7378e43002afdd54d0e93be6a0f2f6a91eb78e6471047b5faffd4abde8333feab98eb6a07baf5eca8fd63a4dc14212b25d99e87de2612566e058c301846be9a67b3a1bee629778d76da19612e6bee642699f130c21c007198e0a9de7ff340895b360bd5f776505b80e5488804286a96e91bfb1908b8bd6b6fa45ac359825c742fcb3280e52cb06042e1f2e1f1b4e763243314ec0f35ed69a705819b51210e97b4bc5ab77dcc005efe4ad3bee055e40e4ec198542d6bc171bc42a30be544402049a60182fe365a6866cb5cb228c214d8da8c70b7\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 584\nct = 2a8f9ac25051b47d041adea76e24276d3145fd95f32f793640a7004eaf4ad90e13b32e2ad92c08809e3d6db467252cd8b573a4ecbd6ecea57696770b7f4b8cb61c3b4560ef6bc51703b242f580b40c9de878921f6f91d4b49c83b6aab5349bbcb12752f5fc126cb25586a428ad0ff1908d425f1f5f2451dff52ed6ce53db6009e1eb584d037062b20e4c12758c78f9e1143ae1ebdcdfeb074746e2e633d388a8b1bdcb0901fdac66e02e23d0ac282746f6d618d8e223d6869cc36e36241ee0f14d6c62a9bbcd77015213263862458a69e4d334190e363906620d1982aa5fc28af60f983e01d57f43ad55a87b4ecf55f91c98e143822c7d30cb50c008459b673376262508c020eb6e15b93fa3834e1372c69b2ae60901a15f709abdba8039ffd43a5f6f0d10e9576ac07e7b47f7a4b0ee92e51083cedb779496efca91ccdd60969c73adf4cda86473e994f10f49d15402ffb9fa1f2c603a9ff33681cf3e3499afd1797650c1be6ca52e5ed3d35acc718c59d2efd208d64ef5e06d8e436e03edd8\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 585\nct = 287feb5672f8777fc060e5330ece52bfda25bb61d299a6ae65bf4fbfee635f0e83d5644d0cb1c3f084b4222d539536e6ccf963ad5e992abdee44dc751f8a5564ad371d5b5a9ffab7fac869e0ccbc75c0b43ddfc95f1404a185b4d49a4eddb8ee426e3bf41f4a1bb4d72907fb5e42c09f29ebec45cdb68bc0bd5085e438959747b39be88a109762b6b26dbcf741d1738a43cfc32210f68b3895e14e104c63f417cbd7418fa899c9a98d9ea9164cd14af05244154fa3f8d82c348ff8690e550014faef0fc019008dbc870583076a063fcd45a62af72b8e45a49b1e55e081a7e0c78df6a8ce01a9cc256909bb2504f1f2e32a113223ef49f0058b860fd4700817918af4f97645ed549ee4217e28cd28b0f0808393fdc68e4bcfa445c9b392eb49b686b4d53fed1323ee859ef5bae802968a6cf935f28a639892d878247dadcaaa6686d0199deab40dd857172cb9fe51d32c8a6189881a832f9be52a79990a77732648be87fcfb7cb140bb10b28aa49f5f807cb25a45ffde7ba3333ac66d5ab226bf\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 586\nct = 2c67dff513875ead78a36141e01efe8c2c24e220f24817c9261fb1ab4318e65567c4461619100629eed46548d503ca2f2e2c1bde8a859022cae0d183f084ab943af3d986acc1855cb4ff23c041ce2417c11d25dbbddfcbfd2019c45be13fdd741c8972900fd", + "1537451172b80d24e5eaf9026b77182642dc2d0b7dfcac6b8079f9b55a566b8578184723a5c1ba1430685fec652b3938b4077fcf5c36339ae1a16f85502f3859a53a1cd1fba8bf2257b2ed2a8e7ddf26b87552eaeda91fad93f34ccff1b965c9bc277ad511cca2dc183b54ae920714a8fcfdd46133e781e55940a801ef02da18816feefdf677e56ff28f11fee786e5fd0b2f7dfd775da3caa23827cca6b83ba06f4e5d5c4187d6992dd051e21bbe555090c6974a4c4bcdf963f628014dbead32208e5102c6d270e2d16d6b81057c3e5869c7510a0285f3327615b79e7974fdb1587253c48fbc68c5624a66ba397f25d7026c30a0d949f0ab69a10d7c55a65e7b9b1754be275b0442f01bda81033474171914f97551c51a9ff68ae\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 587\n# Longest valid message size\nct = 185b1547c78c4ef8c6a72ae09b9a3b296091829e05b20b3cd4b360d306c9e02c0bb8ce141356604399efa332fb816c1ee785c05ea42ba0dc17c90aa12c1c31796c368f512182f470e77944d7031ea235f21378bf6481a08d8bdc76da802c0d814aa583c8765a7fb751248702670efb00f8b5af52805beac5ba2c08db80d937f87b3922bbfec0ac81ec7f0a6d0a904a69c8ae7add1fb29d70881921773a799729bee99a50effeaf3f9a70b2e0755a60f08ced3bf8568ba52df1a2781cb194238d7781d4fa741582115740d8d0862dd6f25161d2ca61918bdd2bf4f3a5eb3f4dcbd3d96594759313c0f9ee0d23395b7c115e69ae2ff8b02a02f34175e975cb847b8cab75aa0866abbf58a78df6e6e572a085cc891f14e7956404c09d5c4f22e08fc7958739c4fe8f87e9bbc55efa467df7415bf5d0fb0028430053420563b037742631caa2c7625377ba619b307fd86e4e71bd227d65182c91098cde840f8b9952b8a3e4972c0b5f2032b9e42de4eb310883053f8d56cfa3bf0cfc8ae37688c133\nlabel = \nmsg = 78787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 009b88373c9ecf8daaa05d0513982dff2451306cad4064ff8cc8d65a7e81f0fb296f1f355250729f87d26b83036692abb81ce711aff1a97e204a3a55ac34a98928319936eda4418ebe6e7923acadb07648f484a751de0fce14e6749f7829819bc48e312020513c64263b81f0b6014ceb5911bcd01dfb0611f455cfd224a3e581c3dad1ecd7ca9ec89252138ec61970669becf1844998e5006c1affd894275b5b153d55cb6808f83566b7ca8b017430115a62cd97853780efd2c8ac079848dfce3ea766907775047d778b5b47288ef9877fa55df06f5c4ca80951c7ce98f16ebad5c90733a5622a4484c94ae7c3438017ed312767bb70e961a192c426905b87472c5b7c6c673a5d147881a43758d1a65473a9bec6301f01cbc422168add721a450dd2449947030039f30d3d0ead874bafe455a32ea65b186abbfc21f163af1c49752696725e0103c4e63cf1117210dc1cf7eeeabcea960dba93e124da70e3f2c234d3b29438ca8a9c2d6fdea44916ab61a5bdcc209752d4a847f0e09a8a810f7a81]\n[e = 010001]\n[keysize = 3072]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00a07887f373378196b0b748cdf31c14735ccfa0f117acafdaa21fde4b6e7559390b834e7b92e9e1cc9d49fc0fe6cfb60429652b4bf9a7768f71fc4271ca6fef4e431192ebdc98630bfb94c5baf18b4cf7881d84483e4c44c22db15a9627705a0b42a26d6f3d6009aee0d2a71bedf4d4b0ee6b6fec2f16e1277ecaa3bdedba406473a476d1688df0fad1da795526c7e641981b4812b05b692d60c60b2bfa424c8b620f40dc9dba59e2c710e7ee750b3e134c1f71f43210688aff17aaa41cdb5668753f0006b1cf951bc5951f4d89a31196985ea55c0966c3662bcfe4e4cd34f12e4afd7e5c4a130739b1017d6a583882fd72db1a67418702c8b01353ccf75b7b93faec0e0be36211d5f2bd910e1552323711bbeb73858f899cc1ec063ef67d88e0c699d5a689c52106f06e960f09d2a3cf84f53bbea2a473edf2e6e0176801d3fa1c2d358e1e5a26f646ac93796ec1fadc6991c0ec19c9dd90b25a2dd3bf73d2cf1eea8867f96caa5a2df54973acb2a2da0a1367ec74afbb968f517765238d1769]\n[privateKeyPkcs8 = 308206fe020100300d06092a864886f70d0101010500048206e8308206e40201000282018100a07887f373378196b0b748cdf31c14735ccfa0f117acafdaa21fde4b6e7559390b834e7b92e9e1cc9d49fc0fe6cfb60429652b4bf9a7768f71fc4271ca6fef4e431192ebdc98630bfb94c5baf18b4cf7881d84483e4c44c22db15a9627705a0b42a26d6f3d6009aee0d2a71bedf4d4b0ee6b6fec2f16e1277ecaa3bdedba406473a476d1688df0fad1da795526c7e641981b4812b05b692d60c60b2bfa424c8b620f40dc9dba59e2c710e7ee750b3e134c1f71f43210688aff17aaa41cdb5668753f0006b1cf951bc5951f4d89a31196985ea55c0966c3662bcfe4e4cd34f12e4afd7e5c4a130739b1017d6a583882fd72db1a67418702c8b01353ccf75b7b93faec0e0be36211d5f2bd910e1552323711bbeb73858f899cc1ec063ef67d88e0c699d5a689c52106f06e960f09d2a3cf84f53bbea2a473edf2e6e0176801d3fa1c2d358e1e5a26f646ac93796ec1fadc6991c0ec19c9dd90b25a2dd3bf73d2cf1eea8867f96caa5a2df54973acb2a2da0a1367ec74afbb968f517765238d1769020301000102820181009b88373c9ecf8daaa05d0513982dff2451306cad4064ff8cc8d65a7e81f0fb296f1f355250729f87d26b83036692abb81ce711aff1a97e204a3a55ac34a98928319936eda4418ebe6e7923acadb07648f484a751de0fce14e6749f7829819bc48e312020513c64263b81f0b6014ceb5911bcd01dfb0611f455cfd224a3e581c3dad1ecd7ca9ec89252138ec61970669becf1844998e5006c1affd894275b5b153d55cb6808f83566b7ca8b017430115a62cd97853780efd2c8ac079848dfce3ea766907775047d778b5b47288ef9877fa55df06f5c4ca80951c7ce98f16ebad5c90733a5622a4484c94ae7c3438017ed312767bb70e961a192c426905b87472c5b7c6c673a5d147881a43758d1a65473a9bec6301f01cbc422168add721a450dd2449947030039f30d3d0ead874bafe455a32ea65b186abbfc21f163af1c49752696725e0103c4e63cf1117210dc1cf7eeeabcea960dba93e124da70e3f2c234d3b29438ca8a9c2d6fdea44916ab61a5bdcc209752d4a847f0e09a8a810f7a810281c100cf3da32cd99c1591aee15c1a2d933b7e5ff4d2dac6e0430bc3b41c2a93a16b5abba9496c2efb7695856bf1d38e818c57ae117dac789ff0e725a618a0d5ae46921111748298656b0bd76844e323497d46957d5c9e31f186ed64403b911f02b23ca2dfcaba2bbbcb7cbca9220a2b170d0ab60e5a1f90f957e32d82c7a8362e916f83a98c9f74cd0d08c687afd6bf0d89f23c7cad68a5d3be8cb86a5fa54870aee4885c60d8051e74fa46a75685d7814e153238727351365b94fdb9ef64253bf03f0281c100c639e21504b61149d3d240cc9ccb85a584417f2373087b9f2bcfd223974df5c075082127bb55d449d6670c5ec550f8033bbdc6a1ec7a67999faee700ca453fa1f37db626fe1ae62784d77428d8807e270bb5eadb1bf5cb3488827851416535243d3021511b12c2d38e3dcbcd9560b3d9cebe1c435582971fa2d60c49ebcbcf4da896a57f280f97a16707d0471c3cf62fa43cc01d5d09452ef08d29ca2286256ef2feb6067aef00eac0b1d13cc7f49e57182350e5a695e5803dfc987788350e570281c100cb73d4850c618a5f4a535e0b2920f8f0391dedfeefed6c84d92d31d5aeb772e0518981565ecd69fea24c75cd5e82da179e00f7e2e14d0bc0b11a5de54fc1d6f0412764bd6d056bd0e5392d1fdc1da28a2fea3189f0b80fe170610ad98e9b2406195420ff223e2c281a42e4f31c9875aa454ed3b557ab225819eee139c76f72420afce1dc0d5bdce6f7986fcd2025177f2358b7191c6b430f7d6098e377b9804945818365afa8d5e87a827f93c81cde5e3abe65c5c63dda2cebe6a51928e0ae1b0281c02ad9a264b6c300d3bbc56c9a8e9e744286677e2b549795d99fa7ea1e257c05ced7bdad25209afa2c07fbf8b197e7dbe51f09f42156b45326e35cf4b4b804e62f852a3cb10b27176f9d88d1a46ec0c00482c48d8355f4f93b5ef30d3d4b6cac632c12f670c8f0724b372966a00755832b6744b3695ed7bf0168baeaa72420c7ac5af04dd04201b4de801e3148ddf2d3a912d0cb1acddcce26ca7b497857a435fd58ebf4bf4bddd48dea9fc5c264db1d4b687d61e472f15e4e2d98280156e1593b0281c06c29351eb857f399c0c6c55e73d06e5010ea90c7f170dcf15b0bdb32451be4f4bb846687783da0df865f2846772f1c29f5c0663ee9fffc28e85d6b87db1d2c07e6c27274028d734bcd0ba4d264ce32d6d03d96ccb49c023518c93df3b34c6a9a2dc4dbaf27db20f040742c4121e4a5eeade583b5324c33720c299141408dfc9bfb785c846419698b4a71ee126dd723fa6474e963c8dcfff1c0bc8e34e3275c289f088dc9e54ec58cb48cdae73b251c2cba6d6dcdc4c7aad8ce6835fde9d6d861]\n[sha = SHA-384]\n\n# tcId = 588\nct = 61c1f793f5e21b694961a17a54526a3faa10a3c87564f4e6431879d83219835d48c82f5a312f3c226f1b5cd619aa837e76c9be75b0771b97049f1a72eb9cfcc385a9c96d75b47dfc808a2959675a2324bb914ba8e6081234e22f9a49a2305060b0484d34a70d57ed91124022904f25797a9ecd75d9999813a60b30cfd54f66d8bc5003eddc97b8cbfe7f69c2a669a8d6825b1ad477e13979330afe065155a860375f20289a03af1952f70f54a8119276f9a1e08d4298c904e76b93eaf96f8a4a98d55d47ca6637ef77c97d41f07fca7585f0a7b41db48697b5b26418a31439fdf0e1793a7532899eefc468d9fff45713263e9c8fee96846442478b0be6dee57ec36d4a48d08c78e56080555cf9cfee1c5e4ca3a5e85c0555119f6e7766347495ae8739de3f72ef41cd500a454e8c1907a412d2fafd5729023da3389c8cca4b00b4ecc1bbf06f2836324f071172848a7751717c31bd9820549be7178af156a8d3658c1675c296e0a36c337fbd9182bb77051e69ace3191599e0544169a7b1a19e\nlabel = \nmsg = \nresult = valid\n\n# tcId = 589\nct = 2748fc1e7d8c0fe4b766dc823d83f6c", + "327f9737ea34f383e6adc427003c333da9c21582f049a7ea1eb1268a65ffc7802d84279eab760ef1d834df8367249da4232ca0b6ba7bb8e9d2aa2be6d478aab49fa704572d6fcf5c1f494bb90eff5f9aa6c0de8342092b1103c5d499a5ccd659282f95ea9ce6f9f9bbf683a056836766b0aecef926993a040aea7b12172c6d8e0b0dc3b0f047b2dbd5d0ac65527aded1165a64dcf1e07f450a35ba6cbdac7970c02bb3f996ed8c2ca1888b6dc2e3b75c081300d21b3ad8951d736e0424a1b8d6e90ef20c7eb3dda1bc6915a527b2763a4273286bf04b37941180d43b9ee52d47ac605923463e60ccf6c305663177f70d59446d780f58cb6f64997d96fc0949588e94dd79071ce29382dd2cdee23e6e2eced91cbcb57771f834b9c7f7d219b10d6acc752b9edcaa2cf84290cbcc8aefb73903cd9cc202c100322128ed26e6945de1a2819723af339073c2468a7f95e4fb41f6497ad72a0268b514bda0d53511ce477767824be2627a13e742b2c64146f89\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 590\nct = 6d95a35c12161cabb9538e607049a2e19949e704981678493f7e6b830be6ffc58eb93e384d4f6863082390d8adeb0c7dbc4398aaa62a671d9f1787b9a58d2b93b25c195ba20b3b4f04fc5f68e8fabe4e33160c3ef383bd1431fcbbc73aea59c06679bf38274939d91b877986dcecdc73fabdd4f4a1814185bb18b641f393c3f06dc7462d7aa812bfd506a1e3551db254c85f58353e360d85c6bf02ca9723913feccd39d17efa66cdd995f0250939a0bafe58ef7b7989d96cbeb11eb1fe1a9c9899990cf8b77ecf8a29fc264a3ac4cfc6d4cfdf9c7e467ff91c9dd2281cfd090155622d791f760ad9049d72e512b1c7523fe6ed0cf722822a050b2f24ce76e632d8fa71db462ee5dc2bd15026853f5b4d46836735ba8991a7c390f16a64c0e09d1ce8c9adb5db2309895df8439541666657506f9e37e791a8db6a9459931a0cfb17a95c3fe4eb846b0136204bcc30e3da868629ad4740f0daec6d2de094a046623e74a8afc52e603260a9a778497b73306386bf178748e73aeb725527df976ac2\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 591\nct = 339a7ae50cac186295e1ca8377c311df541ba666511c21774db4c8f6fc1a565f5cd4ce18ef92dc1887327f1eb66369cc9067b4b990b1fd4544bef7154747ef6cdeea6a26fc1489c41ec8bbaef575b3f15ab2813cf34c3359ba039ef16a3a3d7993202917645b01ed31e8185a6c3035726b5f014107ccc45bad7f97bfba823d388f2c43281c35f8b31e68d8d4d516453ab39a7063b6e869c5f0b1eb6d89a1efc8f62fc2365fd76e9ccbc495387f9484933c711941f1cb36d279b581095d6bb5c1ba94d85cd14ce15ebecd940d42561e0551a21d333ef5efa36d95196f359b58bb1cb246dbd8725f0a1de2a831e9b884c18ffce1b5ab2467b77d26ce5bdff8cbb988f85c3df371396406d7beb620980e85ecc95d94a5215784088fd5964f13f45d70c11ec8cc3825d0bccbabdc38502010ace3f24f869fcb456d2f131bc7ea20d0b1a17c1ffa6d99f5122354ca0e8bee749545a47d826beaef298bde6d7240ec14185585d139dfafcbae1d46b787741d183aa484f409ace43c808845d39a058892\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 592\nct = 1ff510be50309b008d31cbe9e22ff2c81e0e575900d6a7753ecad4e1b5871f64c9671c3504e49edb05b16104cee4f0f8d35596091f61f88a263e777d99638277508129d893015c5c685833daa0cdc7d0e5d751b61af7312551d43143d34253b03df8bb68018df592ab10465a14a591580266e3ca2ea200d9271c3e0e6ed3866317bdd31c41492be1ff3ace43ab24425dcfd61d40090bf390459706bbed28a760a8a187efca5dfa9e0d2bb4f281aac396ded077a99ef2cfb6a90cb8863b71dd399bc010c7de04fe8a2f0c27bbbe46b144bf216d8a6061cc845b56b736c09758b650b37c9d172c7d88bc45dfc94d7ad6ab23631990f7b277153434bf043d61eb64efc60f3fb895c2d207fc947399eaa88efb0a2ec3cfd0a77e6ffa7abfc2c87609b2a4c10d50ad0de48fd67b4188bc4cb7ecfbf5be450d43742f2bd820be4b4906d64c8fab93fc1ab44b9f20a7a693218efa64ca959e5bcd210ff98d2f5cd8a93e063d2227c2656c470b77059cec96ad80ec2d5d0151c0dcc281a0e233eea5ff65\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 593\nct = 5ac76bd3715ca28e8188d35fc09a503c950e31a36801ff2600a240abd889486fa8eb9dd75cecf36e6daae555964c74495ac125ee7f874661b9af63c9fb8d06084cc53301abf06a00baaba47dfd19f69badcf3b456a0d4a6dce95d497d026e038a1ea086685db771b33d3cf28398e0e259a9ab014f44c478712f57f31c7ff03279d760f7726b38dd8d99350e7706bb25d44c6afc4335b6a073366caf9718ab946b299ee23c1baec006b8696b1a04629f47892952f08cd09fbbd3950b8ccd13168fda114d09bbf687584e6f73df70d09f353431db4aef9b40c2dcfa80ec7167c1113d4129e4dfa1f75c9e0453549f173a8ce930a05e9b23893899398f6d0fd759e3aee27c60fc38b55ef2c43ad6956b056e6123ffbabfb994cff2e4e912b4493d224f8deb75ceaeec42dd8a31293263792e978cb29c1a8668ccdccc205e01f632ac979fd4daa2c686402ddd6241f0b11ae852c95ad6993564bb449ab1f46d554e4d5da7d81b929d69b1103f4b2aec9c4b1de051d59f6c34149d15acf0a96cb14d4\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 594\nct = 4f7a777089c97381275eb3d8872585e4705801b495a5cc9cf6ae772aba7f62f12306de7581b4c5ba2419090aaee2823d8218db3f88d56bb5290f421a987bb509fe3ac30bb059dc353d2ba32df8ab8b2f9dbbcc3cc362db491ad8022398a239d5854e198597ab4609bf09ad2ac67d65834cd96b9d46991e2528ad9b1a6b672eace3e447a78fa5db0bb3dad2afd92bf2bab68d00e2a9d56685cd52344b7ae3d874bdde9442519bc936a6e9b73148adbc04dc66eccb059505c95385b88ff9625446a2004a51585e635fa81becd5e0dabfe3e9ecc766ab0f4971b10e7de6d6b8f572f377671d498dc53f348c1c1d93595cab5bb7941f35997832e849612529bdb485bb9b5e6ab6f4eafbeb4a974af9039903321e0be5f1a1933c58dcef93a2a816f330f705a3e697120f9dab6867f9d851184fb7cf951989e0ca68dab111da2b69be6c905e4877bc3bf08a89f38a8d29e018def1d714fab61c615d6b8b9442357b2d4cbbf533e9c3f89263236cd6a98ebf0c729817a77cab9fffeb0f56435f7cb21a\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 595\n# Longest valid message size\nct = 43bb5ff1d70b9f833ffcc7bf91bccd3338f1103811d9d9dbe6e39e2a664517bed38d8487e6a77306f2d23fd257e1c28d33c2008c4e1ac17b7bc93c0f89ea2d2bf331d6b6d7664b6d6001458dc40706f29ce4a8a803ca143c60eff100d76c449178ef6ba8e0099a63f5226152fe8d429345b72f08c41983d448c8612d2c32919c583ee428c3a7ddfa4b7b3ec3a983880aaac66ca2f5c0d83b217d6e25b75b052d3736a1d2b7cdafefb4cf44441099006158043d24f0ef9f03a5ead7ac94ead0b9e3e165f7cff30dbd1ab13c925422138a841b82b7dc82c8349a7b98b8a318eec8217276be91427d57e5a609047122aeffbbcaae7b517111649476ac36cc18abfd2631f4e96f9d884dec4a37719064785b879e1654aa912b6aacd64931ca4124125525cd115f543c0429d0dc25793800d7f20b9334f3cef48535b4a27b9df068a127c173c7d7e1c5b79b130b5f6fa145f173f2b78bd1b8626d687b4a3e708858f2eca9be11defdb2a57674dfcb4979f8c7184f92d200607bec56c6edbb09f0d848\nlabel = \nmsg = 78787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 009a389207c44f45ecd4b2ac716d728ef622e8e237171bc3e12f848e1743b73159a7731fc73bc8011bd8bb24855acda63ae8327dd60043e6ca86d3ea10f2dcb863f1fe20ba98246f324885198d642cab314c087b26fb115c0ba7dfffb222c3894f6577fb60bd07384dd4e71fee050408c9120a884f63ccb0901ea3e2ebd9da67c7cf54e7aa1adba1b146a9372f426e4d0f2fa4bbe070bcccc28a498fc711af83996362703b0433851ca516316da0758fbdac209eb63eddd91f6b3a24e87fbfa1d2ab8f8a95d1c143bb643d9ed2cad7778ed1bb41277f07a2ae4d5e01b263f905a1457fd1f7689c85694bc8a7f2181752a606b4e3ea5b59e1f85e993c8f8c528cdd0f9f09c65a53edfee6354be565d594060cbe594faf46d82a17056c8eaa59ccb0f0bb33114b9c2c029a6e0e7ee9325f03592ac0067feb660d99f8bdb6d25ba1ebc480ce770c367949668bdd2e3032d04968b5293c080dc41f2b69607c157e71c62570481a93e340a7a5be1629d91334533e41eae79befa422cd5ff4d838ec2181]\n[e = 010001]\n[keysize = 3072]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00fae12363cc51e266de7d74b989085f10fc08f44363fab4ea7fcc56101d116616c43de313b70569cb27de134ecf35fcbcc448a81082678ee1ae427c48f459ab2c42c9085911a3d81c914f047ba46ef1a52a4983eba1113bdf0ee95e85cd23224cf832fe3e916d3bffa6ddcfee0926938b2c51c8904bec4739afc4f07979cbeabd514be5a2b87abec71c7a2b39c736d776442ea9e95e97ddfcad4c4c3b41fe856f81cce539b5057abfc6fb1aa153316ea4f8e76b8dc8804ee10303fc2dc182f7ce5d907e78729679333b3b012574b4c7c613c020ce1388ad37ffc0f6b2330cc5edf7ce9ba80eb984b6da2ac59aabaa3a29172ed2937920f47c17447e6185119b9b38a9935658997b487735a8184caff10a8f555d034552fd57471b293f813f19aa6c2139877992436fd1949ebe2259528c91716414aa72ff90bb5142d2fd5e7ba12d8df1ac995408e7fb645a9ab7b6f695e4050500a9042253833b055182657915246589f8362203b5517b2f7117d2aca015fce3cc41c6b1bcb2e672db142d5245]\n[privateKeyPkcs8 = 308206ff020100300d06092a864886f70d0101010500048206e9308206e50201000282018100fae12363cc51e266de7d74b989085f10fc08f44363fab4ea7fcc56101d", + "116616c43de313b70569cb27de134ecf35fcbcc448a81082678ee1ae427c48f459ab2c42c9085911a3d81c914f047ba46ef1a52a4983eba1113bdf0ee95e85cd23224cf832fe3e916d3bffa6ddcfee0926938b2c51c8904bec4739afc4f07979cbeabd514be5a2b87abec71c7a2b39c736d776442ea9e95e97ddfcad4c4c3b41fe856f81cce539b5057abfc6fb1aa153316ea4f8e76b8dc8804ee10303fc2dc182f7ce5d907e78729679333b3b012574b4c7c613c020ce1388ad37ffc0f6b2330cc5edf7ce9ba80eb984b6da2ac59aabaa3a29172ed2937920f47c17447e6185119b9b38a9935658997b487735a8184caff10a8f555d034552fd57471b293f813f19aa6c2139877992436fd1949ebe2259528c91716414aa72ff90bb5142d2fd5e7ba12d8df1ac995408e7fb645a9ab7b6f695e4050500a9042253833b055182657915246589f8362203b5517b2f7117d2aca015fce3cc41c6b1bcb2e672db142d5245020301000102820181009a389207c44f45ecd4b2ac716d728ef622e8e237171bc3e12f848e1743b73159a7731fc73bc8011bd8bb24855acda63ae8327dd60043e6ca86d3ea10f2dcb863f1fe20ba98246f324885198d642cab314c087b26fb115c0ba7dfffb222c3894f6577fb60bd07384dd4e71fee050408c9120a884f63ccb0901ea3e2ebd9da67c7cf54e7aa1adba1b146a9372f426e4d0f2fa4bbe070bcccc28a498fc711af83996362703b0433851ca516316da0758fbdac209eb63eddd91f6b3a24e87fbfa1d2ab8f8a95d1c143bb643d9ed2cad7778ed1bb41277f07a2ae4d5e01b263f905a1457fd1f7689c85694bc8a7f2181752a606b4e3ea5b59e1f85e993c8f8c528cdd0f9f09c65a53edfee6354be565d594060cbe594faf46d82a17056c8eaa59ccb0f0bb33114b9c2c029a6e0e7ee9325f03592ac0067feb660d99f8bdb6d25ba1ebc480ce770c367949668bdd2e3032d04968b5293c080dc41f2b69607c157e71c62570481a93e340a7a5be1629d91334533e41eae79befa422cd5ff4d838ec21810281c100fd9e30b6bcb1674ead266332e2af25c56b2869b4d822d247e6f5b35cb0f3c573b5efc39e4b5de760489b82536d6cf3eda1bf60e5e43f69f26ac8e45b056d702f0361dbb4a73f42ae5889a849657a841d866b8b4417286ca9b39f854c4d95e3719b6cf367fc7128088a365f3e322c1fff16bc68bbfeb69c5b2a9a677dca6d494de44ad057135e65ae5a5f83c59a0d1477e5175acf716cdcb2966fb75145dad1554a112c466d249ba894caae5e182c65f1753fe5bb583ef962d1574d9be20bf6a10281c100fd3c5d0967b74bc6fb54ef961a6aeea76a59cad1600e3c73f834e5f5b7b5096f7779c62b07f783739341ad5de095e0209f2f2f30b8dd503da8a271f4b35d93cbda013b515f573501ab80dbc7d9fa9dc98da4451e00e0032f53583c818c2645cab8f35619e7c27928648cbcc3af39f30e0a61259ba2499ba96b2ed7b9edb881d442466c07f362ad11a2a9bb3f67548a5e24c246fc6c438d32de9ecfd18b609ce12fccca90bfa4c3ef63cfe3a349611e590e44a53242dbdbbe0937f2ecd81c8d250281c100a975dfbada4df7673c8edfcd8a65d96915f6c4dacf6844f5423f7dff3b4546f3cfe74ae0241fb4904333955b454c7d98947119bfc24914f3a3a263e2e5b7803409a0837b2c1d3ae2dfc9eb264fa6134cdf1a50cdc8637c67cfdb90e7b117ac07a7009f8b25c43e29a6a039f786f2b0d6734ca4f6a8753ff83279451969fea7f261ce13737b3fa1d564115a2cd88850dae3ba3d354ae6a078bbc81dc73253c977a1abe3d792e9d910458b40032347d73e054812aaa186428062bc60e0fda35cc10281c0098b4ade5de054a4cd38284779fb69bf398ce4cdfb56ce0478e8557a6b501168f811c8dc3a52a3cba953225b956950a72a18b72898ef0e652483ead3942704b8fc206bc1e75bfc0d720f4b393f07e9067da6214cbe2fb32f076f1de8ac058d3fd4b4a71c16d60786f43331b2165a92c486b39e9d3d0295314f6ed68695650ccf9927da4e7a67cfaa087d69273c97bd174b3f5f3988430b814d4ea2fa7ccc495d5b55d6949a0475b6020705c753aeab5c23e3866e5c82b8c772c57f0c5a20c9590281c100a2775a3e38c279cc6633f91e528ba76d14750e36b7d43883b1c8bc89eaaf2878c3b6ea9b87140d6938eaf938d1f010656899717be3e0de04437e1da539c6acf3db3956bd49ad71b747778217e2dc67ca0800726a7ab9624e41f10e578719850ed7684db03b7010e86c197eb79f7f68c3022403fcce14d8cf9df186b0a2b97cc120e2b4a729aa5877089240a18fab397962198fc846cf9a10eedcdb7cced6091c61e8b1c621df270cab19e5795485a4b74cdc3e24028bfbbf0eb1fa2ed4531cd0]\n[sha = SHA-512]\n\n# tcId = 596\nct = f9798ff0c606b0ff80a1042cd429d55bcad69856a0361640456261d29a98d2e42cc9618a08044fa29eb116d16f67212cafea3410c7c839a67519cfb5ca1def83ad3fdcc5488984ccbdfb2726371e1c2ca157357b881d873a7489004698ba21d697349968968a0189bd56ba4761b0e6feb4feeafcf4ebb5dd95fec7cb0a3cd23214356fbfdf93f17668196c354f7331a27bf12e8e9193e5c6c79e445160e0f28304be532b3157b50eac999cd162791c7bf446aff800686ca5d14a272a01dbfc6511472c18aa62d22b6af90a6335fec530aeaee8403cc8a07d9c2df2e9ea0e8c0cf83b82cde0488eabb8e7c8d18fcdcd62e680c6835955fdd7fa30c689b6b39805f317bb00e8dbe21907ee92f784c930acff37d70f8a7a838c7230e77d24ca45a5650726c2d1e3e7470d4247ee9f0a1bb8895dc2359cbde3b52785e4c05536759ae0c83555ef30f97482fe18f00527c7f0b37289c31c5621e3c7895abcb455277293e277c450bbb972fd63c533741d9a931be06163e166a4c6b139260e5909f01f\nlabel = \nmsg = \nresult = valid\n\n# tcId = 597\nct = 93c78c91f4245a3475669a0683430aa59900c789474ec8f95321c46252e440209469e541778dc362b2ce9d5a6c822892b5e3754fe40038d5523d76e13ee07d3ae941963ba947b2fbb07c687a18521181f857d134a3286c073abd024691a0b7b85460a1872b5e33cb297e6630af2acc82c8fc61b96b8e7795f7e6bc8581d196dff9e3752fa88b08cba6bd67ca563043bc5296b6c26d526e34b0683b921739dabed3986c9b36b354ea17dfda86b78cbe5f0d4646cf102fea80da86c45b5dcbea40b44807935620e382aa17c6ea148d9b5e655793f7e6b6088ce719b08ccc6b5dde7bc3424f1c4d61f3a282bfee3d6f30480ec23a0b6c0712e9fb2ff799fc79459d1e2dfe8e7e87404894bb0a31260c1086c577cbe703a54eb9e750488529076c2dbd6f6b34dcf39e843f0ff279d0beab2e6709148b8562ae172bcbe0e562125cd6ed7f5d3a055c320bbc3c8b4bd28f7f9ce1fb402ff265e6d311e82adea22332d1b6d2b920313882ce3ba836d17e1176bf001afdceb1ca006c8a18f574bdc635c0\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 598\nct = 2679e7a6a3aa29ea006f84456c5cb6b33dfc0a7d1a86cf711f001b442fdcd788b01cdfee7d6e3d63ff3c30b2a67515e7d1d609e6ed4e22087d5857d7fca0d0b8f5dc41790d2913033971f85ee7d789de23ccee294493dd4484eb79e400799b24d6830ae8290343ed50d123ae840c6e4aa819badbbcd513341fd19654391085b0682d8f32c9706eaf8e2a0fa09420e861dcf8ca0867ae2f4b333031cf8fea956e3d67b67c40d97847cff086033cb83b95f33267c69d771407ecf5caa28fadb976db3855f39ba0710498271c86649604db35b141c8b9ae343bc4bc62b43d5c662b424a8e766eafdc22b41686d96d26d65cc28a221e15f53a1ce82ce664a2d5dc602bf0c9e488781fbc0ed679c9b225258a5582f15be48ba4a7a3d541a7433af5f40de0f04c04544962ba318179d2ecc8f4965d306bc56e2b6ee7f9705ad1501c218c31bc2f277c62029626fbf631f46964403d8037f4f6c8349ee8d9906274ede7d6b78ba30a3e0473a2621bc86dc31ba89561d82c5559982ff188ffcde9f81729\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 599\nct = 5120b9815296215e7ee89f5a20a46dee6f255f7d96d399c8cbf5721f9f9c4d89a8ee37e2a6bbd6acd4878404856143960be4a77bd8f6afe6b255f15bb8bcdbe3395f800df64c2d2b55aa7cc3c15c3d753562359a14433abd29106a0d1416cac5fea97732828a198c04d09ed6b47c12365de2a98eeddac346fe879d39a1a28bc19e2ec570b94681f7bed871311edda5c8fd76cc14b15983046da8cdf1e15c465e4a9df0fda11ded950ffe5e67a3d07e56f902c7535331c08720493d6ef4b1760c6489e0af7d1b97229c4380167fd68f6ee30de2d61859ec55b5f0106ea0f675fed7c9f660520981dc201cf16a6fa87379d2c667f9c8fae97fa337c34d591f18b092f534be25db157e6696b1c85fbd896971f2c045d08be1470b403f2effe6d82fcd1b9baa9ba2c0ab0d25ca9cb2aa26f2c4d5ca3699cae3b61ee6eaf98d44610c8204e4298a01886e9cd21030058b29462f3d73018043466fe45307d2382b8b828fbad34f77c1915514a9ca9e0bcfefd3c0c7daaf02db684454c18b109a7a056f\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 600\nct = 290186a1a87bdde5c2ce70e17605b39b4fa2a286fd85c299a303d56207ddd0557ad5513a7f92ce1a39d8cd571c9c638c279d722583e17ae488d9d3ddad55d837a43845a84f3e774d8679d09b13bf218d11d8a2173cad0c5fc7b86e477dc372f215bc5641a13e931170c6401447836530b065f574f3376b99d4e0200053b92b1fe1c8f513d2d8ddc3ed210062e601d4750c5bb9a63e051098f159ecf8c40f90e6f0265b357585aaf35c32dde08e565bc6687319bd7c637b7e1a012408224865b9334083460aa39c12565c5bbf03a316a6ca5c174d6edee3391bab9773190bccc4bf737ad0f350e629d2eff4cd1611d510a7cf9c11dca1c86b8dcedc8f9b80fcff7a828c9b415f4699b2a1de2bebbb804e0203a1a04ddb95afdc4bcc6d98d240ba71ca2918f21696ec92abea1a9e16607e86f40f7de08c9013485d9f8121d9f9c0675980275519dcd2e705dad4d87009f0fb8f6c413b97c131766620ab583c82dc1ac489bade156b8e502335365bc4a8d7d8adebcc32bad71e6b949a48118dcdea\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 601\nct = 13ad5b087b5a11595dcf44902ca1011fffd32efe6b77be307b3dddd1b528f33e7ea3f36e09873da3909c7f44fe9ecd17adae5b40cddf0efe84fd401df7fed988963d555c24bc5a55e8bc40deb8061fcb59183836c1b1342d66cfc74f6404b67a4f50d9dab04223c18805c0a577b964997e5aca7016daf2c4273ca773bcde39470fe7eb5ec4541650c7687a378d00008bfe8a3a4627cf1efe29e7c81b8a12cc8afb745a86567f5141d16d1b848514acbbb52ced7ceb7381e7cf0261991761d411e6b16f2606050b24ee918cbd17f6c3ff949ed2dc7fa6e99b21436d35729b241f4a346c9c92a60d57c40f39fd299b2bff2f97e196aead3f954135b473267b27ff76bdb451c23b49d947", + "7aeeadfe45a08852caf353d92f0e47feb7cbed5e49a89f42e2a755db0d5efe9dc330c3a71f331110db4a9fa3db914535050a96b0671c2a15b2e9a3ff3f1212526e2391e3edb1bbded4de0c3cc677263f2ded3a9506bdbbbd5fb3f15efda88d954063fd70f6642a5a28295fbf96a4e0cddbeef97a2b841e\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 602\nct = f4b9ec8148f2d6757e6a6c9c32d5928e0efd5ba4d9635d60d9b481ee84631c6b019b4a04d1e15d5b3911aa5c5e9c46d564e707e64149cea901a88781512ba96a3a53694d5ed7ed7f8fc7885e384daa32dcd4c5228ea33e6266bec630ddda028c013288ff16671dbc5147b28e26b73585beda7e572bae5e30a2a9b123fb12b711a4f64f4aab9b6531fe691098d38c27389a8e99b44ff5d39b0ebeee5930313422c918681be11fb722230759c5b69f03c6a07956bf406d53f8d55729373931dfb19e01dea1b9e5203955712ec5463772b38097c075d8887bcf437c44b1f3041f2e84a60387e5565feadf19b528e77fd009bd13d248a0354e701a09a63bad83b30b4c64fbeaabfe23edc45e8405ee8a9496cb863e0b12a21848023ab41bf5d24f39b35fefdd1c27702dc3fd3ec31a3643ff7cf03cd429ff5b14735c8b9c8fcc7683d599ed14200e472a030cf3b40dabf7c22ec7645c735800cd1c72cd50beef8439f5a7406a932bcc1f0ddff90c95fe554da7c1efb79364cc53a773a35a2ef89bb2\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 603\n# Longest valid message size\nct = c609ea7cedd8b6d56fa625b11123b898819558797be9cdb61f0354efa52ffe6c379c4314fddd546020ce9f0fd5b907e6e7b416b46ce8bb3c6129ec39295077fbd3b6c24aef4a9163f5d7d80dfd47f44ebce3b5127bdecb5cbe49d1e125e20479d226ae2852d79047b5f0d535b48e8bfe6118c1d7c37e8c70ae84d1e262977e550f5da03bd087012a934f46c01e121e8b3106e50b4bac05632e9aed32996f09ee8c524ae104911cadcac120a45c44992fbe6f3af37b04e8754dbd674d1fcabc9f5c8649e0228f5f87cadd6d6620f8a9d27928e5249c08eee52372cdf67a4ac0fd8dee2b9e57699d7e28f17a7c76bb3565b6896c83ad14157908aa765c7a51493f2d3de7d735f3adf9f911a6ffd0b7cdddf610bce09e6d929675631381777a9fd486a7915890c0b8b3c119e50330579a4961db1c498955f0889dfaf3dcae46f319c722f7279102467b1109ba6191e30159ca53c9398e6de412afd21cf25ee131840d742562388acfbc528672d3dc38ce758895ddd5db82c875f12de940503617dc\nlabel = \nmsg = 7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 009a389207c44f45ecd4b2ac716d728ef622e8e237171bc3e12f848e1743b73159a7731fc73bc8011bd8bb24855acda63ae8327dd60043e6ca86d3ea10f2dcb863f1fe20ba98246f324885198d642cab314c087b26fb115c0ba7dfffb222c3894f6577fb60bd07384dd4e71fee050408c9120a884f63ccb0901ea3e2ebd9da67c7cf54e7aa1adba1b146a9372f426e4d0f2fa4bbe070bcccc28a498fc711af83996362703b0433851ca516316da0758fbdac209eb63eddd91f6b3a24e87fbfa1d2ab8f8a95d1c143bb643d9ed2cad7778ed1bb41277f07a2ae4d5e01b263f905a1457fd1f7689c85694bc8a7f2181752a606b4e3ea5b59e1f85e993c8f8c528cdd0f9f09c65a53edfee6354be565d594060cbe594faf46d82a17056c8eaa59ccb0f0bb33114b9c2c029a6e0e7ee9325f03592ac0067feb660d99f8bdb6d25ba1ebc480ce770c367949668bdd2e3032d04968b5293c080dc41f2b69607c157e71c62570481a93e340a7a5be1629d91334533e41eae79befa422cd5ff4d838ec2181]\n[e = 010001]\n[keysize = 3072]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00fae12363cc51e266de7d74b989085f10fc08f44363fab4ea7fcc56101d116616c43de313b70569cb27de134ecf35fcbcc448a81082678ee1ae427c48f459ab2c42c9085911a3d81c914f047ba46ef1a52a4983eba1113bdf0ee95e85cd23224cf832fe3e916d3bffa6ddcfee0926938b2c51c8904bec4739afc4f07979cbeabd514be5a2b87abec71c7a2b39c736d776442ea9e95e97ddfcad4c4c3b41fe856f81cce539b5057abfc6fb1aa153316ea4f8e76b8dc8804ee10303fc2dc182f7ce5d907e78729679333b3b012574b4c7c613c020ce1388ad37ffc0f6b2330cc5edf7ce9ba80eb984b6da2ac59aabaa3a29172ed2937920f47c17447e6185119b9b38a9935658997b487735a8184caff10a8f555d034552fd57471b293f813f19aa6c2139877992436fd1949ebe2259528c91716414aa72ff90bb5142d2fd5e7ba12d8df1ac995408e7fb645a9ab7b6f695e4050500a9042253833b055182657915246589f8362203b5517b2f7117d2aca015fce3cc41c6b1bcb2e672db142d5245]\n[privateKeyPkcs8 = 308206ff020100300d06092a864886f70d0101010500048206e9308206e50201000282018100fae12363cc51e266de7d74b989085f10fc08f44363fab4ea7fcc56101d116616c43de313b70569cb27de134ecf35fcbcc448a81082678ee1ae427c48f459ab2c42c9085911a3d81c914f047ba46ef1a52a4983eba1113bdf0ee95e85cd23224cf832fe3e916d3bffa6ddcfee0926938b2c51c8904bec4739afc4f07979cbeabd514be5a2b87abec71c7a2b39c736d776442ea9e95e97ddfcad4c4c3b41fe856f81cce539b5057abfc6fb1aa153316ea4f8e76b8dc8804ee10303fc2dc182f7ce5d907e78729679333b3b012574b4c7c613c020ce1388ad37ffc0f6b2330cc5edf7ce9ba80eb984b6da2ac59aabaa3a29172ed2937920f47c17447e6185119b9b38a9935658997b487735a8184caff10a8f555d034552fd57471b293f813f19aa6c2139877992436fd1949ebe2259528c91716414aa72ff90bb5142d2fd5e7ba12d8df1ac995408e7fb645a9ab7b6f695e4050500a9042253833b055182657915246589f8362203b5517b2f7117d2aca015fce3cc41c6b1bcb2e672db142d5245020301000102820181009a389207c44f45ecd4b2ac716d728ef622e8e237171bc3e12f848e1743b73159a7731fc73bc8011bd8bb24855acda63ae8327dd60043e6ca86d3ea10f2dcb863f1fe20ba98246f324885198d642cab314c087b26fb115c0ba7dfffb222c3894f6577fb60bd07384dd4e71fee050408c9120a884f63ccb0901ea3e2ebd9da67c7cf54e7aa1adba1b146a9372f426e4d0f2fa4bbe070bcccc28a498fc711af83996362703b0433851ca516316da0758fbdac209eb63eddd91f6b3a24e87fbfa1d2ab8f8a95d1c143bb643d9ed2cad7778ed1bb41277f07a2ae4d5e01b263f905a1457fd1f7689c85694bc8a7f2181752a606b4e3ea5b59e1f85e993c8f8c528cdd0f9f09c65a53edfee6354be565d594060cbe594faf46d82a17056c8eaa59ccb0f0bb33114b9c2c029a6e0e7ee9325f03592ac0067feb660d99f8bdb6d25ba1ebc480ce770c367949668bdd2e3032d04968b5293c080dc41f2b69607c157e71c62570481a93e340a7a5be1629d91334533e41eae79befa422cd5ff4d838ec21810281c100fd9e30b6bcb1674ead266332e2af25c56b2869b4d822d247e6f5b35cb0f3c573b5efc39e4b5de760489b82536d6cf3eda1bf60e5e43f69f26ac8e45b056d702f0361dbb4a73f42ae5889a849657a841d866b8b4417286ca9b39f854c4d95e3719b6cf367fc7128088a365f3e322c1fff16bc68bbfeb69c5b2a9a677dca6d494de44ad057135e65ae5a5f83c59a0d1477e5175acf716cdcb2966fb75145dad1554a112c466d249ba894caae5e182c65f1753fe5bb583ef962d1574d9be20bf6a10281c100fd3c5d0967b74bc6fb54ef961a6aeea76a59cad1600e3c73f834e5f5b7b5096f7779c62b07f783739341ad5de095e0209f2f2f30b8dd503da8a271f4b35d93cbda013b515f573501ab80dbc7d9fa9dc98da4451e00e0032f53583c818c2645cab8f35619e7c27928648cbcc3af39f30e0a61259ba2499ba96b2ed7b9edb881d442466c07f362ad11a2a9bb3f67548a5e24c246fc6c438d32de9ecfd18b609ce12fccca90bfa4c3ef63cfe3a349611e590e44a53242dbdbbe0937f2ecd81c8d250281c100a975dfbada4df7673c8edfcd8a65d96915f6c4dacf6844f5423f7dff3b4546f3cfe74ae0241fb4904333955b454c7d98947119bfc24914f3a3a263e2e5b7803409a0837b2c1d3ae2dfc9eb264fa6134cdf1a50cdc8637c67cfdb90e7b117ac07a7009f8b25c43e29a6a039f786f2b0d6734ca4f6a8753ff83279451969fea7f261ce13737b3fa1d564115a2cd88850dae3ba3d354ae6a078bbc81dc73253c977a1abe3d792e9d910458b40032347d73e054812aaa186428062bc60e0fda35cc10281c0098b4ade5de054a4cd38284779fb69bf398ce4cdfb56ce0478e8557a6b501168f811c8dc3a52a3cba953225b956950a72a18b72898ef0e652483ead3942704b8fc206bc1e75bfc0d720f4b393f07e9067da6214cbe2fb32f076f1de8ac058d3fd4b4a71c16d60786f43331b2165a92c486b39e9d3d0295314f6ed68695650ccf9927da4e7a67cfaa087d69273c97bd174b3f5f3988430b814d4ea2fa7ccc495d5b55d6949a0475b6020705c753aeab5c23e3866e5c82b8c772c57f0c5a20c9590281c100a2775a3e38c279cc6633f91e528ba76d14750e36b7d43883b1c8bc89eaaf2878c3b6ea9b87140d6938eaf938d1f010656899717be3e0de04437e1da539c6acf3db3956bd49ad71b747778217e2dc67ca0800726a7ab9624e41f10e578719850ed7684db03b7010e86c197eb79f7f68c3022403fcce14d8cf9df186b0a2b97cc120e2b4a729aa5877089240a18fab397962198fc846cf9a10eedcdb7cced6091c61e8b1c621df270cab19e5795485a4b74cdc3e24028bfbbf0eb1fa2ed4531cd0]\n[sha = SHA-512]\n\n# tcId = 604\nct = b664403eea63aa1dd455ef93d1e4fd7711516f8cc1e0046e4c8247fef1889669824f9bf993569ad3f92d1aa3b782ad52a4d35f81775b4007120fb05d8957d842e677c8ec4ad9980d6e8f93216800d832dd30a408122e646d0da34f6645e37e4b4e821da530e51b0265215032521c5038d3700c321c7a54ea4ab8f1ab537649e1313a11ee6c6daaf360a6f05baaf5d698a9cbfa4a6f9ba71118a8493fb6561ed9c3c232a833a9f96a23f7b9a02edad51ec3e574f06a943c72ad9e630960c0079796696c4356f5c6299c45f0450af80bb94e", + "ae01aca781fb7e46aec2e1bfd2d668ec728fa1c9c74d0514a3056624655ed0474f14e11df7bfcacc0c280d365d27da82091b560eee31673c570ffa5eafed980392a53d5dfd782db433a43e1aee9c093b56599f8810e6fe7256668c15f0dc61e0f7f146ac3382da633b9c433afe366b062ce3fdfc9048c2c9c9536105267251327d363e8aac3d381d9f4e9cf9ff5e824b3a3361c766edfcee5ed5a29124b4af8204cad2b1fde9e4b110d772be8a6379\nlabel = \nmsg = \nresult = valid\n\n# tcId = 605\nct = 2e74fe3f91f5372e8e2680746e6cf9db09ced9e51a3a1c6bdf9cee8e3d6fead97cab9c21f89f74b7e981eff7ad16ab37976e8392a9a10256dea2c1ffa9c194ba7d4d97cbd863523801b14a0f783fd8495c580adc7b5f4f4e946b0dd6622472e4bfa4680a12127943845f09b2f897d681c46fe816e6c3aa9c3f9367775748f4ea20d8312bf835521e1d3f780798d577f6402e6e841aec303888b5a445992cbea5bbd1ff48df4671c77465be1f583117d75a051fbb209546cbe019f578f1496a34fa4082d1564501ac8ac44d4196063095d0b313b09b0df164400384d7ad1c7bd9ff2db7dd922163b3685f084ec7623c29eeddfcd390ade0e597071f5096a90e5981aac23415bb76e396f302568bb70a9f57f15933aa64f52dd869f84ed81576a3897f25d7877771a0c330f76b87c2a2c7f0b4517253f48cc31a07a3cc3b5275cc54dc9ede37dafb9419d8e82c5e5a146e3956f700f5162961d127bc753a40d203d4002b3522b0fc429fed12286e31e3f4338ddc6b81ea98b342791274e2f96fb9\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 606\nct = 6a722fad242177db63c52e5f5b69f7ecc2aa0d1a3b47866bb28eeec1fe213738bd649df2836f5b14e29fe11b943e0c4a078fb735db85326f3d14300f3a97938a9b197a25c329ae7a9e47f1986734d67dddfc58ba8c9ed56f91a0f5f4515dccadc9366377f96e3ed68dd28b2f90716134320a69a70daa47dbc3e0d3b9a620352fc5a8e552e0f54952fe4549685a140dd801fbd64d8ca37c31c6af2021c37540ff38e34b51ed0664f5c6f4352890edb6f5c629a9fe7e1c28913e75c1fa179e6384296987b60cf76bc35bd1e9a1aa3a3df404d5e07ef4bd2fc10d27c829af36cc379fbd2a819f824c3eef713d6bc04dc6bcc069f104443cfc5d9b9317ad85f8a18617c1f3affa748d3e7fde5fa6451aed783f736415b64531e7b67ad3c3a696d3ef44234c261a28db2b52d2677b4a34e16f54dcdff1d0fe23bd9681395f80ff5ccff490366c16193cd2a4cfe91a4a54272f1bc5a4c2f5e11e780255e3fd012526d7c02328d007e53077036299f2b4cb45a3767aca52d2bc6ebb606876601273842b\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 607\nct = 852a7d7fd2fb036cba85157ea822548b2a4db46a08cd976a60c85f001624977279e43fdffcc788dcf7bbbf23e1bac2fdfa03acc37dc2fdb5bf9570d1ad03e2611953474a835922819b72f0ea3ad6c6b0fb77f6e29cd978c12e3e4cd3e0c272fe31af960f196362b1cd2b16a36011fa612ec8cdc5fe1f1aaf0e31d82d4062f8a11d5d92a260028704340e4120a3c99b5608a1b746795a73d71f1b9dd27432bc90614071abe098e0c158b4f8a1061e4bb83180f8ad2f63c6033020c0ad2afd0c9e726e761a72e9ad9b62a11465e085b5d8bce70bc0d8f145ed493765516417311a30d8782c5ca24ecae00848a47f33c5c70e5564f399825677473863c09ebde90a390cb12f19a03a67eb73d0a72b95e43c54975e5193243583263d46a1a5b3c7911390f832168b9b0dc255c1b2658116368ac69cd9fde2cafd958dc5810a1c48b16e731c2da5fe7094b8d5dd01394f4dd710e32fb88a2ab3773bfb00e381dd43cfc27a818dc0d7599c78d35dc4732b8c1abd4ffc5fb13898bf827c88efbcf78a29\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 608\nct = 09cf02657404081f90ba531e5b3d5890d9cef908d09cbed678a2e5bb836fea0afdda64872f5720cff8e6fcc972f69cf37735911c0ff265c8e7753a17b89ef10ea80c6a1af547a7ba5b1e6eed5a7382ac6039a4dc27bc053dfff80e0d7f51d3a4d4609372512da39f8196960c6b4aadc1b27a8b44febf67990d6d23b9d663602deff31063750c9d856dfbac7421e09d489a27b5e01981afb26b7d8444692397b3cdb8e8b6d754d979aa48876af356d059050295b575710a960a7d9e06bccb5563b63c40b4eae0c21f5f0278bb121da4eba54c88584a2bfb52a8d4764fd65bdfebea27d170fc4d7ba531b65bd4e156fdc6e5b32cdeda442affa6a1d3b1e4ba0d990148089ed5f496de1c9895610f4841b255fde735abd851ecaab53f70a5e7d6f07ebba5a341a8a8f44ac4964d413079c6c012b355d7a40b1e7aec0720fa38b690e62f84f08530aacce5dde289ba1504a18694166cd5eb2eaed554498489a9e168235751ce0541c858f0af30416fd6e5dfac2327faaf13522cdf932113ab46548a\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 609\nct = 0101a826cded513faf6fab5986f84516ad987fe37c4df49970ecc68b74601441a284fa8842a3c091ea7df3b3307e57437afaf45238eaa7308174e1bc9bdf352545da66ef2aaf0d2e017e050ea84072fded9edae0bab5c6fc820242f5ce2fe674546c6c115ca4d0eb42e906bd180301749d19ec58cec815e8c1bfd7a1fc38b6fba413cd1785156b28a36efdcde59fc75ae8798e60067715c135319efc9349b67948b73856dd39263a0a84eca9ad91900be808953d973c2af363390461404a7770d6fce8fb74eeee669e34524613b8a87bddedaa888fdf0dce405c87b4de4d8a76e3c30e39e102bae1d15e6c45088d784b9f59f547d54ff800759dd102aa2808d0c1e085860745b2206029e8efdac6bea976b0c7b74c07d42c3e9740ebfb21e2bb67524d3a6ca266ce06b6c48828ae40a0f4fb7be64be50d1297c25733dfc1dd6fa4a88d8ff637c03385923015d95c8d486fecf7406f32254c572ad1f3ff9633eb260860dafbc33ea65cb63b6127a10c1fb1c736110afa9bfacc355575e47708a4\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 610\nct = 7fd69ce0f367bbf210bef75327477b07de5bc18427d05b929eb24c38c4efc88c9ec2edda1d9d66a9fdb61fbfb5d67bd0323e98a47e5b93c794556218844ee1f58f7e6646c815cb4bd295a17a26888ba48f619817b3ab3842376d93d9d35bc7bef23a14e84c4227fcdcfdde69870461349f876c3d7f4073f5252eecbfc83410b8d2346844ed7456f4efc1dd12dde14d6d1249774448473aab508948729abcfc7de8f6394cbf0268226fe9d83799043876c5fdc4adc5976439e009587ae12d0c956bf3dc99651f87f81b2eded7bbdfc6cd8462eecc8c28ae9380b25450627a6721b4f5ea3ae6caffbc60bf45feca4eb7bfccb4641460ab891b5f53aae08aa0280ec00cfe3589f42ff50344b63a46b5cab484f4cfa245eab4e126a2d3dee256f11980904c06ad626eb6ef4a7d22b517e49bef4e0a5890899a3fde110dd3795fc979f17004a8b4beab6fcba0927b677be3d0083fb5c8fcbcae3cdffa1a0f3d9cf7fa2c58864bed3e421355ad497b6d5fe3d343609d3d26001ab9ee4d66829e7334f0\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 611\n# Longest valid message size\nct = 4656d7d5b698454c2646469a332d56ae8f50df5516f3b4c95a0ef12a2a93937b1a90736fac296c2d33c49b2f95c291ab8be7186212df0e0c68b2561cd16f25db1b03495b581d413e9ae413ee85341435e63cc20463c8f8762e789aeea5213a251df6b900fa5ed418e478ec7e927a2e2d5bdb2777b5d5c2abfee705d3102f3ec15f87555b177bf6f3680fad23bd24b51cf2a690b98a802816e1fcbd5072724668359e99f9fd9a26f3c2336604712f11a25d7a1e3240b6a4afc650279ba9503938d9b6f895fca02df0b3f7609b80232b45b539c321eb7c103fcd66a7f00e9228c1f32a44909cd0154d8fa7d69531d7a27fac8d241ba45eb44f83a2260e7b4315ed29dcedf506a9ca89d2129725f6d4433e38b0b1466147d0266b29a0ee3326230882890b157428d202a1ea66f4347d518136f7eb5ff5ed824552c4a22604fc27c670511f9406337650e075869c84159b352df16b672a86cb427c8a2c3daaea305bb76d8eb0871c0b3d058d0609a884b7513a97e17041487ff51316ffe10eac75cf\nlabel = \nmsg = 7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 009a389207c44f45ecd4b2ac716d728ef622e8e237171bc3e12f848e1743b73159a7731fc73bc8011bd8bb24855acda63ae8327dd60043e6ca86d3ea10f2dcb863f1fe20ba98246f324885198d642cab314c087b26fb115c0ba7dfffb222c3894f6577fb60bd07384dd4e71fee050408c9120a884f63ccb0901ea3e2ebd9da67c7cf54e7aa1adba1b146a9372f426e4d0f2fa4bbe070bcccc28a498fc711af83996362703b0433851ca516316da0758fbdac209eb63eddd91f6b3a24e87fbfa1d2ab8f8a95d1c143bb643d9ed2cad7778ed1bb41277f07a2ae4d5e01b263f905a1457fd1f7689c85694bc8a7f2181752a606b4e3ea5b59e1f85e993c8f8c528cdd0f9f09c65a53edfee6354be565d594060cbe594faf46d82a17056c8eaa59ccb0f0bb33114b9c2c029a6e0e7ee9325f03592ac0067feb660d99f8bdb6d25ba1ebc480ce770c367949668bdd2e3032d04968b5293c080dc41f2b69607c157e71c62570481a93e340a7a5be1629d91334533e41eae79befa422cd5ff4d838ec2181]\n[e = 010001]\n[keysize = 3072]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00fae12363cc51e266de7d74b989085f10fc08f44363fab4ea7fcc56101d116616c43de313b70569cb27de134ecf35fcbcc448a81082678ee1ae427c48f459ab2c42c9085911a3d81c914f047ba46ef1a52a4983eba1113bdf0ee95e85cd23224cf832fe3e916d3bffa6ddcfee0926938b2c51c8904bec4739afc4f07979cbeabd514be5a2b87abec71c7a2b39c736d776442ea9e95e97ddfcad4c4c3b41fe856f81cce539b5057abfc6fb1aa153316ea4f8e76b8dc8804ee10303fc2dc182f7ce5d907e78729679333b3b012574b4c7c613c020ce1388ad37ffc0f6b2330cc5edf7ce9ba80eb984b6da2ac59aabaa3a29172ed2937920f47c17447e6185119b9b38a9935658997b487735a8184caff10a8f555d034", + "552fd57471b293f813f19aa6c2139877992436fd1949ebe2259528c91716414aa72ff90bb5142d2fd5e7ba12d8df1ac995408e7fb645a9ab7b6f695e4050500a9042253833b055182657915246589f8362203b5517b2f7117d2aca015fce3cc41c6b1bcb2e672db142d5245]\n[privateKeyPkcs8 = 308206ff020100300d06092a864886f70d0101010500048206e9308206e50201000282018100fae12363cc51e266de7d74b989085f10fc08f44363fab4ea7fcc56101d116616c43de313b70569cb27de134ecf35fcbcc448a81082678ee1ae427c48f459ab2c42c9085911a3d81c914f047ba46ef1a52a4983eba1113bdf0ee95e85cd23224cf832fe3e916d3bffa6ddcfee0926938b2c51c8904bec4739afc4f07979cbeabd514be5a2b87abec71c7a2b39c736d776442ea9e95e97ddfcad4c4c3b41fe856f81cce539b5057abfc6fb1aa153316ea4f8e76b8dc8804ee10303fc2dc182f7ce5d907e78729679333b3b012574b4c7c613c020ce1388ad37ffc0f6b2330cc5edf7ce9ba80eb984b6da2ac59aabaa3a29172ed2937920f47c17447e6185119b9b38a9935658997b487735a8184caff10a8f555d034552fd57471b293f813f19aa6c2139877992436fd1949ebe2259528c91716414aa72ff90bb5142d2fd5e7ba12d8df1ac995408e7fb645a9ab7b6f695e4050500a9042253833b055182657915246589f8362203b5517b2f7117d2aca015fce3cc41c6b1bcb2e672db142d5245020301000102820181009a389207c44f45ecd4b2ac716d728ef622e8e237171bc3e12f848e1743b73159a7731fc73bc8011bd8bb24855acda63ae8327dd60043e6ca86d3ea10f2dcb863f1fe20ba98246f324885198d642cab314c087b26fb115c0ba7dfffb222c3894f6577fb60bd07384dd4e71fee050408c9120a884f63ccb0901ea3e2ebd9da67c7cf54e7aa1adba1b146a9372f426e4d0f2fa4bbe070bcccc28a498fc711af83996362703b0433851ca516316da0758fbdac209eb63eddd91f6b3a24e87fbfa1d2ab8f8a95d1c143bb643d9ed2cad7778ed1bb41277f07a2ae4d5e01b263f905a1457fd1f7689c85694bc8a7f2181752a606b4e3ea5b59e1f85e993c8f8c528cdd0f9f09c65a53edfee6354be565d594060cbe594faf46d82a17056c8eaa59ccb0f0bb33114b9c2c029a6e0e7ee9325f03592ac0067feb660d99f8bdb6d25ba1ebc480ce770c367949668bdd2e3032d04968b5293c080dc41f2b69607c157e71c62570481a93e340a7a5be1629d91334533e41eae79befa422cd5ff4d838ec21810281c100fd9e30b6bcb1674ead266332e2af25c56b2869b4d822d247e6f5b35cb0f3c573b5efc39e4b5de760489b82536d6cf3eda1bf60e5e43f69f26ac8e45b056d702f0361dbb4a73f42ae5889a849657a841d866b8b4417286ca9b39f854c4d95e3719b6cf367fc7128088a365f3e322c1fff16bc68bbfeb69c5b2a9a677dca6d494de44ad057135e65ae5a5f83c59a0d1477e5175acf716cdcb2966fb75145dad1554a112c466d249ba894caae5e182c65f1753fe5bb583ef962d1574d9be20bf6a10281c100fd3c5d0967b74bc6fb54ef961a6aeea76a59cad1600e3c73f834e5f5b7b5096f7779c62b07f783739341ad5de095e0209f2f2f30b8dd503da8a271f4b35d93cbda013b515f573501ab80dbc7d9fa9dc98da4451e00e0032f53583c818c2645cab8f35619e7c27928648cbcc3af39f30e0a61259ba2499ba96b2ed7b9edb881d442466c07f362ad11a2a9bb3f67548a5e24c246fc6c438d32de9ecfd18b609ce12fccca90bfa4c3ef63cfe3a349611e590e44a53242dbdbbe0937f2ecd81c8d250281c100a975dfbada4df7673c8edfcd8a65d96915f6c4dacf6844f5423f7dff3b4546f3cfe74ae0241fb4904333955b454c7d98947119bfc24914f3a3a263e2e5b7803409a0837b2c1d3ae2dfc9eb264fa6134cdf1a50cdc8637c67cfdb90e7b117ac07a7009f8b25c43e29a6a039f786f2b0d6734ca4f6a8753ff83279451969fea7f261ce13737b3fa1d564115a2cd88850dae3ba3d354ae6a078bbc81dc73253c977a1abe3d792e9d910458b40032347d73e054812aaa186428062bc60e0fda35cc10281c0098b4ade5de054a4cd38284779fb69bf398ce4cdfb56ce0478e8557a6b501168f811c8dc3a52a3cba953225b956950a72a18b72898ef0e652483ead3942704b8fc206bc1e75bfc0d720f4b393f07e9067da6214cbe2fb32f076f1de8ac058d3fd4b4a71c16d60786f43331b2165a92c486b39e9d3d0295314f6ed68695650ccf9927da4e7a67cfaa087d69273c97bd174b3f5f3988430b814d4ea2fa7ccc495d5b55d6949a0475b6020705c753aeab5c23e3866e5c82b8c772c57f0c5a20c9590281c100a2775a3e38c279cc6633f91e528ba76d14750e36b7d43883b1c8bc89eaaf2878c3b6ea9b87140d6938eaf938d1f010656899717be3e0de04437e1da539c6acf3db3956bd49ad71b747778217e2dc67ca0800726a7ab9624e41f10e578719850ed7684db03b7010e86c197eb79f7f68c3022403fcce14d8cf9df186b0a2b97cc120e2b4a729aa5877089240a18fab397962198fc846cf9a10eedcdb7cced6091c61e8b1c621df270cab19e5795485a4b74cdc3e24028bfbbf0eb1fa2ed4531cd0]\n[sha = SHA-512]\n\n# tcId = 612\nct = 5b30531896aef568d9e4e1bf7c5bbad1f796c3cce86ae707c24b2c37e4e883ce706e1f4a8254ea2e740bd7a579d47ad32f47ff7cd6efa143b57c962772acb3c841af4844491c480273cd29dc73736e522b58d0bb82dffa80309ab109cca9226be4be348a45d8b1163adf9cd236d03233e8d994273190c76049fbe8fc7f655f3bba36d7fcbce111b1bece383ad8afaf2c9ffdb13f17fc00f6db0627da885909cf322ef048bd8162dd6a0b1fedc16a8e2dcce776d6aa559ce3cb5516b3c5b43c4682b00f3bacca439d0f0622e8d9bf6fa9deb8fd0eda2b9428bdb7f47bf7bbd691a40dbe4ce4d2e1e2eeb04b23e63059ef36338bd21ed658657ba4c560ad95b92480d1ddd0eb6c444556b84b8c36404064ab989270d56556b5085e46471a091666a0dc5178fb5def62e90f65389c2d9615ada5d1461a5be27de7cecb966b2aea36e2760d90858156670db8a3b2f5c1a5e2fc408a46afd239dea360c2b1801fa4f328f1341ea32f4cf9045b9e5387b46189eb92cadc3446850f30d74a5dbcd65fb2\nlabel = \nmsg = \nresult = valid\n\n# tcId = 613\nct = e5498be4c1b46700941afac3c0e58a9584d843e419a131d4d8ee499abee842ab6da2e63cfe285d207cc69535642bff1f5768e8564da2e7227108a87eb68d6116c1622f69251e2ac36ffb6a3c656c1cef8776666e45570bd01d951bed4da921b369ef6f55cbef84074c9b59c12f7d9b81f3675fdeb478506558106029172ce57e99498a3bda4f132b891dc3d1e2a11b74f3aecfcb8f74b4dcc2ccfeb1fce83e40c03fbdb0aa949406fb3400ca8849207ab2ee42e4b53d0869077e830fdae197e961ab9bf91eaf6c1f43327efdbbbb50fcff12a01d9b68132f915119cd838823972deabe9b40a523ac2e8846e1b2b67718c9dc30b9ea4697b6a6ba7671aa6e3b3ee7063207958e82b83a5934121b6c6b4e2549f41cae1e3921f3105a902691048ea08004698c97a19ec82d45a82bceac0a0d143c256d28e614c2e745961df945624ed3621c244dcf30db8fb07783e03a136fcd640d07b684dfd891f2021e6670dd4deab7e3a39e3ecc49ef28d0c11b11b12f3640862df5496c0b27e82ed3f49a59\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 614\nct = d5560c379cf35fac7f852fd09029843a487e86e528146676ea3282db7b349775b9d1600138e8f927fde8b7898828adb0ad0884e351a088897379440b652e1bd7083f529fbdaa570d987bb06f155e14eade9158b07bfed2d98c930d2a33f0d696367a1b28cb8497afb9389aa9758fbd4eea884b63c0f29246a6aabf52c38f91eb736631840e0aabcbcf45fa3b35d24e3e66d4801d2162b891f0116a83d5dab309ee6d94b4483e6763c7613518746387faf69ea8edc82cdf5d318fe796bb9e67b6e722962e4d6df5a2f954755e1f96336d506d81294c97b9217e03f033f68e840b3ff6648547b5f4b0d3a2eea4afe160aedb308fe3053df9f3f64bb185937864c2f3f01dd30fd992d8ed5c07b5b517ffc5eda06c575ca0e6fc31cb8e459d22343aa9b25512bc99112b96c925b63b0e97a305237cca452611bacefbca0c880622c5fea5778796c2500a3feb7a8b33151fa4a6a181511379bf2b7abe8d6404fc54b48f0d21f05202d24b53f8fb8c403bee89bddfa243574ace69f7e2eb45fc703ba2\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 615\nct = 68f0673f935e48101fa9b253367370f9a38f390790fc2883fa828dd69f704520a07830b2bad0269eabc75337405245d45e9494d0961b7d7f9b4d3bdca5933fbd41d2565fa16be43dccd80c1b7a3c1a83c5bc8c3ce6992a7bc57d8aaf7c297ebfd69c6040a8d84c9f85b6a42ee832c59d4a923ca16e4bb26ed898fe5427c76610189221544e1668ab8d5280eb6f09a2085490218974ae0c202edc9653b5c7a2cc1c23c5fb8d8e6389e174a724b35cdf0670323bf8f04921985351050decebe8a85a5dd152a7a88ee25796e6fbc05a33dd677b854c06a7c190d94b94bbf7d1ec3668cf5327b87a647662f72d17665b3fdc5a66064f401f6c059e7304e3698ea7e909291a542e0b8ae60664732045b7820cef7fa1a3459ca2b8813f5a72a193de749784e513da985818f33f3087e81568f46649aea48440fcf57ada621f81ae814ded7aec663892f11c5528aefcf773995035ea29710ba9247913f995e5cd48f8bd90b4ca33f9fcd40411004c680b21312972c4b0f9d5571bcd06a77bb77f963591\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 616\nct = f2050833c7e5d2b1b5a9aa0256f69a1cdc97282d6d0dcadf4f2904770930a44960e6a1e782855c605f3c5ea1d23b406a9e5bef7af09c4e82f085226ed0f142fb81707a59df3111470dcff3d9cfaf0c6f9db4e5c3a63e6ee06f8a2234d8c6f15808c512ad15b15902160da80afba9fe8cf98433e43bb36bbb067d97d77baa82ecb0f94b307290cfced40639ccdc7dc19641d7ea332ba11c773d0bcb3ce40b9b265f3dc1f79845831c08b3e9d56003f089717cfeb4414cc78ac0d8106c7bb11159b3c2ea26ec44eb41ab50bb44f00fdd47f6500ce71e4d520f8ce4b73c52ba9e935a2a43f44e5a465dea9a53394cc98b012cd5062ba5a2ce336c752fc30859cdd2f6c3e32a8c041e65966940dbb80dba85aa33aa37e1878702f13c34a9fa6d04187bc5da9edeb20b6ad34ae3aa74ee32bcfa1eb5842bd3fcb20433b29ef37943c9780ff1100a3cf66dee1800158e61a554d2c0082e24d114204127d76b21fa61dbea2fff1a446df373ac8f26d606076a10c74ce377325c7fabfbcd9dd03a0075be\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 617\nct = 555c57d8a72cf906324b287313830a9891e39622cfa3fa54c0bc988652eb7be1c75227238e373f6f935277c90d0f5993e1188520e86bb7ad45452f1388d0dad954ceae4cde2915728bf1dfe7781a18fa", + "7540e01272c9d4fe534ef705997e88b4fd21da1c76e04913ecb4aa58e6583d21b03c6a225fdd1a5f8af406492534bdf2291dbed482a08f910369f09288b062029d290229a108782bac6a88d8806a40816f967f335bf82ee56f679fd94feb528502e74c6a2a40074982c489d08f5a056ce36a931dffcfcba52a168c2d0d48aa5d277cc7fc6d5a21bc583960fbb841775f51491b96c855e9e83b4a364cc15866c7eac3b0de690bd5d1d1f07feb9fe6d5a7ee1f605821c7f2eaeb33a0995be2c459bea09530b43d0d5299cc734b6b0bc5265b98765d119d75b528b6fb5765a4d415d9357904a50dcac40634cafd52264894d76758222db980dcefd6f78da52cdb181685b1af88e45f721634c9d8c0a441a5266bb9bcf61cfc722ef7d90040dc96cf551c0228dbd2a49bc05a24450b3c5351\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 618\nct = c7f37ed06928718abeb00c4f0925bdc1bb730da7589afded36118b9e5ec422838afa1d737503bf7b6816be70e464396b0e4db935622d5f486d043e00b3a75fe7dc8b8b43152e1d09c81227dafe85268c5758fee10c9fb94075288870fb74733477f8a3b8b61b0a27a32225d604ebcf59bb430fe31f56c3320df9f71557a4817c4cf63db456d6834ddbb6117d74c6b0d33dd97da1ec9a8d890061c88bc625ca0d0e69ecc9a0af50333f00596ce1d45697b4c7e5f07b818251923332602bd2692906b1e7114c3aee95b5778459d944f77b017b4c132fe0f5b863e4e01d3c9f3c0fe3720fcc1c5e9573c931f741a399ed520674f67bdb5de98b5dca82cc2198632066c758a50a0e3b467946b2d4b575171a2a94e89abafe36daecc6f19f89673c466320da0942865ed4adc52c0bc30ac07e7f9d9a43a6b1ea0f6a8e02aa920b2f0d6e05ac4a7219b3f9fbc75ab03f04840ce6f48f54a4692040426f8218b3ca62f58f02473ab3e0c4120965a85c0b95af72c65e13b17731a30f3884114191351059\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 619\n# Longest valid message size\nct = c625a2ca9f6ff50dc2cea5141b3973d6e7d9f9fb5cd5a3c09eb67caba731b7fa0c29361220ab942f046939c0b7f5ec4a278d336a90c19ecb24ce1b6114c935f21ae32d3bcab3fc990921641d9fdfc6d0f94116639dc48c1a80d45b015f735739016d909c6193ad2de83b31861c8e766dcac573f5045efb370fae224e56405b4dadf2c627dd4526b0848920328476ebfeb14e6f010c125652cedd55438d59b8f0d8045c1384eaca0a6468eeafb7fb33174d1c43b4b23ab1c6d45c7fa644aec86cde4535c991cb300664aae97ff20cff7b31247a31706ce3627e4c3aa9d9fce71bb3c9fc0789380f781b9683c2d0d598c0c9af99affb85b4356035e19f9dbbeac95adca06e1c9e24de46eab1f2300ed668e37edde2472aae8f00879fcc0a7a577f9e316023bd6a5b89f90d04dbd464ad090da7669ca8335cdff42d04f4be4fff86ca4b5aa4869b3fe538db2f5430c5dd46c5104f4b503f5b3be33b87622c83d0f013eed542e7afe8a78bcf966c8bcc7f089a63f33faffb7f8033ac76546d42f959\nlabel = \nmsg = 7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 009a389207c44f45ecd4b2ac716d728ef622e8e237171bc3e12f848e1743b73159a7731fc73bc8011bd8bb24855acda63ae8327dd60043e6ca86d3ea10f2dcb863f1fe20ba98246f324885198d642cab314c087b26fb115c0ba7dfffb222c3894f6577fb60bd07384dd4e71fee050408c9120a884f63ccb0901ea3e2ebd9da67c7cf54e7aa1adba1b146a9372f426e4d0f2fa4bbe070bcccc28a498fc711af83996362703b0433851ca516316da0758fbdac209eb63eddd91f6b3a24e87fbfa1d2ab8f8a95d1c143bb643d9ed2cad7778ed1bb41277f07a2ae4d5e01b263f905a1457fd1f7689c85694bc8a7f2181752a606b4e3ea5b59e1f85e993c8f8c528cdd0f9f09c65a53edfee6354be565d594060cbe594faf46d82a17056c8eaa59ccb0f0bb33114b9c2c029a6e0e7ee9325f03592ac0067feb660d99f8bdb6d25ba1ebc480ce770c367949668bdd2e3032d04968b5293c080dc41f2b69607c157e71c62570481a93e340a7a5be1629d91334533e41eae79befa422cd5ff4d838ec2181]\n[e = 010001]\n[keysize = 3072]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00fae12363cc51e266de7d74b989085f10fc08f44363fab4ea7fcc56101d116616c43de313b70569cb27de134ecf35fcbcc448a81082678ee1ae427c48f459ab2c42c9085911a3d81c914f047ba46ef1a52a4983eba1113bdf0ee95e85cd23224cf832fe3e916d3bffa6ddcfee0926938b2c51c8904bec4739afc4f07979cbeabd514be5a2b87abec71c7a2b39c736d776442ea9e95e97ddfcad4c4c3b41fe856f81cce539b5057abfc6fb1aa153316ea4f8e76b8dc8804ee10303fc2dc182f7ce5d907e78729679333b3b012574b4c7c613c020ce1388ad37ffc0f6b2330cc5edf7ce9ba80eb984b6da2ac59aabaa3a29172ed2937920f47c17447e6185119b9b38a9935658997b487735a8184caff10a8f555d034552fd57471b293f813f19aa6c2139877992436fd1949ebe2259528c91716414aa72ff90bb5142d2fd5e7ba12d8df1ac995408e7fb645a9ab7b6f695e4050500a9042253833b055182657915246589f8362203b5517b2f7117d2aca015fce3cc41c6b1bcb2e672db142d5245]\n[privateKeyPkcs8 = 308206ff020100300d06092a864886f70d0101010500048206e9308206e50201000282018100fae12363cc51e266de7d74b989085f10fc08f44363fab4ea7fcc56101d116616c43de313b70569cb27de134ecf35fcbcc448a81082678ee1ae427c48f459ab2c42c9085911a3d81c914f047ba46ef1a52a4983eba1113bdf0ee95e85cd23224cf832fe3e916d3bffa6ddcfee0926938b2c51c8904bec4739afc4f07979cbeabd514be5a2b87abec71c7a2b39c736d776442ea9e95e97ddfcad4c4c3b41fe856f81cce539b5057abfc6fb1aa153316ea4f8e76b8dc8804ee10303fc2dc182f7ce5d907e78729679333b3b012574b4c7c613c020ce1388ad37ffc0f6b2330cc5edf7ce9ba80eb984b6da2ac59aabaa3a29172ed2937920f47c17447e6185119b9b38a9935658997b487735a8184caff10a8f555d034552fd57471b293f813f19aa6c2139877992436fd1949ebe2259528c91716414aa72ff90bb5142d2fd5e7ba12d8df1ac995408e7fb645a9ab7b6f695e4050500a9042253833b055182657915246589f8362203b5517b2f7117d2aca015fce3cc41c6b1bcb2e672db142d5245020301000102820181009a389207c44f45ecd4b2ac716d728ef622e8e237171bc3e12f848e1743b73159a7731fc73bc8011bd8bb24855acda63ae8327dd60043e6ca86d3ea10f2dcb863f1fe20ba98246f324885198d642cab314c087b26fb115c0ba7dfffb222c3894f6577fb60bd07384dd4e71fee050408c9120a884f63ccb0901ea3e2ebd9da67c7cf54e7aa1adba1b146a9372f426e4d0f2fa4bbe070bcccc28a498fc711af83996362703b0433851ca516316da0758fbdac209eb63eddd91f6b3a24e87fbfa1d2ab8f8a95d1c143bb643d9ed2cad7778ed1bb41277f07a2ae4d5e01b263f905a1457fd1f7689c85694bc8a7f2181752a606b4e3ea5b59e1f85e993c8f8c528cdd0f9f09c65a53edfee6354be565d594060cbe594faf46d82a17056c8eaa59ccb0f0bb33114b9c2c029a6e0e7ee9325f03592ac0067feb660d99f8bdb6d25ba1ebc480ce770c367949668bdd2e3032d04968b5293c080dc41f2b69607c157e71c62570481a93e340a7a5be1629d91334533e41eae79befa422cd5ff4d838ec21810281c100fd9e30b6bcb1674ead266332e2af25c56b2869b4d822d247e6f5b35cb0f3c573b5efc39e4b5de760489b82536d6cf3eda1bf60e5e43f69f26ac8e45b056d702f0361dbb4a73f42ae5889a849657a841d866b8b4417286ca9b39f854c4d95e3719b6cf367fc7128088a365f3e322c1fff16bc68bbfeb69c5b2a9a677dca6d494de44ad057135e65ae5a5f83c59a0d1477e5175acf716cdcb2966fb75145dad1554a112c466d249ba894caae5e182c65f1753fe5bb583ef962d1574d9be20bf6a10281c100fd3c5d0967b74bc6fb54ef961a6aeea76a59cad1600e3c73f834e5f5b7b5096f7779c62b07f783739341ad5de095e0209f2f2f30b8dd503da8a271f4b35d93cbda013b515f573501ab80dbc7d9fa9dc98da4451e00e0032f53583c818c2645cab8f35619e7c27928648cbcc3af39f30e0a61259ba2499ba96b2ed7b9edb881d442466c07f362ad11a2a9bb3f67548a5e24c246fc6c438d32de9ecfd18b609ce12fccca90bfa4c3ef63cfe3a349611e590e44a53242dbdbbe0937f2ecd81c8d250281c100a975dfbada4df7673c8edfcd8a65d96915f6c4dacf6844f5423f7dff3b4546f3cfe74ae0241fb4904333955b454c7d98947119bfc24914f3a3a263e2e5b7803409a0837b2c1d3ae2dfc9eb264fa6134cdf1a50cdc8637c67cfdb90e7b117ac07a7009f8b25c43e29a6a039f786f2b0d6734ca4f6a8753ff83279451969fea7f261ce13737b3fa1d564115a2cd88850dae3ba3d354ae6a078bbc81dc73253c977a1abe3d792e9d910458b40032347d73e054812aaa186428062bc60e0fda35cc10281c0098b4ade5de054a4cd38284779fb69bf398ce4cdfb56ce0478e8557a6b501168f811c8dc3a52a3cba953225b956950a72a18b72898ef0e652483ead3942704b8fc206bc1e75bfc0d720f4b393f07e9067da6214cbe2fb32f076f1de8ac058d3fd4b4a71c16d60786f43331b2165a92c486b39e9d3d0295314f6ed68695650ccf9927da4e7a67cfaa087d69273c97bd174b3f5f3988430b814d4ea2fa7ccc495d5b55d6949a0475b6020705c753aeab5c23e3866e5c82b8c772c57f0c5a20c9590281c100a2775a3e38c279cc6633f91e528ba76d14750e36b7d43883b1c8bc89eaaf2878c3b6ea9b87140d6938eaf938d1f010656899717be3e0de04437e1da539c6acf3db3956bd49ad71b747778217e2dc67ca0800726a7ab9624e41f10e578719850ed7684db03b7010e86c197eb79f7f68c3022403fcce14d8cf9df186b0a2b97cc120e2b4a729aa5877089240a18fab397962198fc846cf9a10eedcdb7cced6091c61e8b1c621df270cab19e5795485a4b74cdc3e24028bfbbf0eb1fa2ed4531cd0]\n[sha = SHA-512]\n\n# tcId = 620\nct = d5e0b09a0b831fe46ded1c6a74f94d40925f3e7dab30e852", + "918094614f6afb0abe0bb80d963a18e86827e554a94098a2d823846d05d4b22f29baea7e83e8ff720ba7b4e15642f1c1c307cefb4fc4a43594c88bb4867c62b86cfd422d4ce3dd84f3d4ecbc14be32e1cab4fdcaeeaa8c86e665505ad6f4e2e85aaea715cd63bfe76742382ca510680069e39da3509d3a43beb2b710b97046cd321d0a3744ab8a7b57c92eea4d3ef2de567b559f304f6ebb7c0a525c6a1da149b7f641a7503260b7d89dbd14940f6be23098f85397c1cef5dcf4e108996efac8180d8d3b9e5a524cafaa819d1681653b6a7080870d8cfda6099c9596d923d8f548358bab810a54b50f5836bb213a8ef0c14118c1d21390d3c8ef89c67fea2b577c1b02b379e5c96d38c4248de677d542a035180799fd4c7a7d369cfdf044617f8691472d717f6c6eb0c8e63b8e13f6939478e029c5aae78268ffe340f11a344ee9e0893d16d97b3302a4ac35022774dffd06c38714f8fecdb6445f41a57534c90f4097be87a0df71\nlabel = \nmsg = \nresult = valid\n\n# tcId = 621\nct = 5cfbbd845d8695b3ee9d833aff040f3610119f8509f71c7eb102e307ff857dbd5788d40eb65d1b931654a87b8644f2522330f1c54dd5fe2066e1fa796072f0426b36af41a31afea2f3a1cdc44a97624a7f1c4760e939456376b579705886753b2718224b889222a4873c705b7f06829dea41ae02f7b43138e8a56414de34bcc355a0fb3abbe1bc81772a5056e67518de0d88a7ac8f881f5fafc5b9f99c8f740373e06d14b11c08bf04004c600579c9fb0d058e5cacdbdc5bcc7e38fbe9affc2050076d88e2f939e739da27b839b8351eee39df3d4ca68dca63ddd129461bf4894c94a81df68ca6431a6f0764245408c123d9334af4eca96afec7586bbaf2027c5cc28684e1f78fc4ff2264fe2890f2e31629cb5eac8a45b979107ac394e9264d2051929408d68834750f72e78675d9078a883c020cd42913e0b43a1a311cc6ee5c218c545c2e2f11bff3db3a773f17914cff2d339a17116ac995503cdf7d634d17fdbb529c86bcb5167693250543e5da6ce7def98f6d811add0e6d63591938d8\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 622\nct = 3970f52468d50ec4cb4b788609285349dc613712e70ad422ef31775de21ab08b15d9dd92d7845b72351a91e7547d84098f2d17ccd441656c043762fce983a93281b6b3819862bfede97e4fec1ad5114b2ed6cd6f9d1489279a06269c04d7773a25347ff31e19f909112605335d2283fbf9400adadb8bc1d0b1325018b1b044461828e5d9fc17d30bd7f100a479fd42b96a44e3bfeba80b1bd79f395997314d209275010ae3f121c2e1dcdaa388098c6933e4f1de84d150e5899e0f7407a7bb0c19ebe97db6947101dd6364b745d47fa17b731217cc55fb53b57b1da7d42cd0b795a67c42be9f042eb59e5bc5c121edc9f0b7722b6b4297653d8fd880192370b8c116bf3376cf870116250f19a12dea7d3f5d0d4a0c4bc927b3fc3a5d049651d6fedc7dcd1257a157625ac234acb7bd15fde06cf068160846bf575e4b77861a3a228372d1af7244033769c1f3d2fb1660ac58915e85bca6d6349eab3f7e5112593b0ce267dbe8323239adfe0835ac20ad9356112e7661731c8f7bf1c77b001ec1\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 623\nct = d18eba303b2103ecf81fe0e784f49db02c8fed489c358a6b4dfb7604a2c2d13cf8fec9e42cd747f5e7c0a1d1d386b646f270df23d64f13388813d5b3be32211c982248f2914d870a734d533f934cd582135f154e67671e5628f1b9842971f2133a6a7472a513e32f6c8205806b7a3ce21cd9beae337df56e94d5d8dbcff698c6965cd7feb329add6db1f4d178e4409ba58f24cf6e8ddc7b67770c02a0a5e952fa8bc1a0fb0d16d87faf06bfa258aa78c7bdd719776b99c6c19a8d8a39a9d0b2100f92e7dd1d05f8f7da248f8f4dc494a7435458bf658e9ee5e622e213a935ac4512d3a79a18135171a4756cd38fd0e6a2a02b960e4201e4ee3f7cf42909470f134981bcf9cca867993b9e8929f72ae0e978b025f0ddc012059a1c2ef837b3153ed9425d6b6863239f5bbd1c8d3ce5050be0d67883387fb57dc6c892b24e52f857e791b2ed6606150ec9c189a0e9253a69d63487bcef87c187cdbace7d31e0bc3b77fc0c9ccb3cf4dce359c4e5f5c5e91227d9e7efc5a5ec0aa36dd4db6d4dedc\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 624\nct = a6e19139656aee628171326f67641fa95411c1f6b94afc96b071f24a51d11696964ef0c0e0ab366187847bf71333314d958cba1562def3d07e700caa7294a7093564206ce98a8507766d4a38e04d84ae8c5784543e938a03ae8c6d0f34ae5b0a46d10d89448d904d5acf09f63b2636cc9c8bbb18d4cecf2b2c839b6ab3c65d13bb593aa9ed21565cdbde8b40c0135949bcff501d85cd3893fa16b398366efe9f323491cee54942ef9d23dcf24cc1ff88cae24b419702db146802c4d720e887220a77485c46b233a5f342268824a0245da967bd61b2d4a3be06376abbd64ca4f6a02712d8066c46a9159e2840f41e3589e03a6a63cc535ab30c4a207907e4d4ed45fa1a50fd3e19dfa9c8bffdb914dd03c6543ff773c9d275aad172bff055b20076bd8762dbc5a1183d2176a6c184fe455c119c11af8cad3f05857a4247b613cde762796fa545a5644ce4ee923862c33535a58e257e174c63ff7c4f0e87029c13c3e4d25e990dcf45f4fc92f6ceef9e419ab2e79516edf27fe6336944998a2a5d\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 625\nct = 8bad06713268987af8e16ddf8c81c571267d00a3d420d73cfe4359284eccc5d55ed42eb961e8ee9a3f4d6f8d56b492b8b0a7824b9eedbe72a6ae47f00b794bc7c990cf667f79bd91ff5df4d2b33ca7ee51d79de893fb0b22a3e398ba759485137c17ab78dc13a96bd889a7f40006e0afb9c82613091327efeb4a9ce339db1726cbf7db5cb4cc7fa102b8b389b3f26b1b8a0246789cb831d502f9e22770afd7909bea759cfd958d0ea98a142b8ff2c69fd101e7eccaae97bef4c110285d69a6679035e66d88de780363ea4d74573a53de378e8b4047c8b1a2f2276c06c0598f8d8adbbddfddc3a51587a7376ac27764da611ad5e329c208d8d1310e9c172bf9995a898bc047d00c654b4b0e0eb486e6f3b90894e236a20dc3fa94598bcc152b75e3498ff045bbf2e8ec85831b27a03e4b880662f534155374b1e5cbaf3fc56b4867b4b97e47f0fabba3e62c60a57e0060dd2ff0a7675873bf8b759523124902978c00e79bd31a9c5a209d7facb795c166a9667377fe2abc362a0872c47affd500\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 626\nct = 04d04dbc772597ec8666cbcf3ef9b22a5d77ae065a62bdb1b32afe6eec1631943645f770df2017d21f9833855f38584178104a3448a8dee3c9b53ce5084b15c9800c396591b6cf725f45b5cff93bed12ab66a2ea64d730af362bf0e9594dc2f747a4dbbd75dbf9f88f9d737d6c35ef2b8ed6cd53c31419ccf72ae045bba4c23a2e2ceb9b9c0d0ad69e81991965ad90fe1fe58714f635f79f762f96601c576868e8b96dc660e0826819888e6ab5a83669b70b1ae4ebd5180839ab2f4489a40b459bce1784444e75f5fe9ea1780ec41ceae3eb2b03737de66dae167bafa169929366280d80b1b29d0580f3c1499e046813153b35978300e76700e97668749c3356c6b4b6a7b6840bc46ae2ed5000ac181b1ff49b7d2e66c5c794a293a6860b8b2bc9afbeff5853241e2668bbe5e38b70d1be6bf93aeece7355ceb590cc683cf2100223764b62178be1b7764aee648fb89f65513cf3b3e1dd99fc41d8efa5f2325b12e86111c44cb9b225392ec9c46e4eb9a0d012beae80cea4981f7739f19e12d6\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 627\n# Longest valid message size\nct = d90cd336f30824265b68736709daa86e75f5859db56c7200e7bf908f727c42863ed6ab5fd95e955c7bb1b9bb85fb3f50f454075d9672695d515a15b32d6fc3b42fb070110a5c250f261ebdd7973b539491a7ff37b063b88f687e9db36bfdea865aecd1e601e9c646b905e8dd07fb986054150088e62d198f06c8cc276122c818519aa3e9f24392244d1df7d995fcb50a596f380b14b58eea99ec281cb6c7e31fafefa8a112db4948a697aad18e95245fef48ece289a53a7154980467b066c90bad4d3ce37686eb1c4d984dde0509143f3573528104bfb74de64ed29e3cbea18dce63a1d8c941107855001bd02e68b9ad869bf2e7ff0c8aacf234b8989e466c7a1c014d92be23b38af69842b4f181480dc43e5b82395494699d3bdc56b964d0764d15f524c3ea474de37f9be237b65e544cde3232b52e48d1762dcfc922545642f39070866a1820c04eb04fe878d1b839a0b393838195c0d0a888dee3cbcd2336c5224d64f6655112d9841262acbfd08d8be2fdfb4081a0845f6c5b9125defcb2\nlabel = \nmsg = 7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 009a389207c44f45ecd4b2ac716d728ef622e8e237171bc3e12f848e1743b73159a7731fc73bc8011bd8bb24855acda63ae8327dd60043e6ca86d3ea10f2dcb863f1fe20ba98246f324885198d642cab314c087b26fb115c0ba7dfffb222c3894f6577fb60bd07384dd4e71fee050408c9120a884f63ccb0901ea3e2ebd9da67c7cf54e7aa1adba1b146a9372f426e4d0f2fa4bbe070bcccc28a498fc711af83996362703b0433851ca516316da0758fbdac209eb63eddd91f6b3a24e87fbfa1d2ab8f8a95d1c143bb643d9ed2cad7778ed1bb41277f07a2ae4d5e01b263f905a1457fd1f7689c85694bc8a7f2181752a606b4e3ea5b59e1f85e993c8f8c528cdd0f9f09c65a53edfee6354be565d594060cbe594faf46d82a17056c8eaa59ccb0f0bb33114b9c2c029a6e0e7ee9325f03592ac0067feb660d99f8bdb6d25ba1ebc480ce770c367949668bdd2e3032d04968b5293c080dc41f2b69607c157e71c62570481a93e340a7a5be1629d91334533e41eae79befa422cd5ff4d838ec2181]\n[e = 010001]\n[keysize = 3072]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00fae12363cc51e266de7d74b989085f10fc08f44363fab4ea7fcc56101d116616c43de313b70569cb27de134ecf35fcbcc448a81082678ee1ae427c48f459ab2c42c9085911a3d81c914f047ba46ef1a52a4983eba1113bdf0ee95e8", + "5cd23224cf832fe3e916d3bffa6ddcfee0926938b2c51c8904bec4739afc4f07979cbeabd514be5a2b87abec71c7a2b39c736d776442ea9e95e97ddfcad4c4c3b41fe856f81cce539b5057abfc6fb1aa153316ea4f8e76b8dc8804ee10303fc2dc182f7ce5d907e78729679333b3b012574b4c7c613c020ce1388ad37ffc0f6b2330cc5edf7ce9ba80eb984b6da2ac59aabaa3a29172ed2937920f47c17447e6185119b9b38a9935658997b487735a8184caff10a8f555d034552fd57471b293f813f19aa6c2139877992436fd1949ebe2259528c91716414aa72ff90bb5142d2fd5e7ba12d8df1ac995408e7fb645a9ab7b6f695e4050500a9042253833b055182657915246589f8362203b5517b2f7117d2aca015fce3cc41c6b1bcb2e672db142d5245]\n[privateKeyPkcs8 = 308206ff020100300d06092a864886f70d0101010500048206e9308206e50201000282018100fae12363cc51e266de7d74b989085f10fc08f44363fab4ea7fcc56101d116616c43de313b70569cb27de134ecf35fcbcc448a81082678ee1ae427c48f459ab2c42c9085911a3d81c914f047ba46ef1a52a4983eba1113bdf0ee95e85cd23224cf832fe3e916d3bffa6ddcfee0926938b2c51c8904bec4739afc4f07979cbeabd514be5a2b87abec71c7a2b39c736d776442ea9e95e97ddfcad4c4c3b41fe856f81cce539b5057abfc6fb1aa153316ea4f8e76b8dc8804ee10303fc2dc182f7ce5d907e78729679333b3b012574b4c7c613c020ce1388ad37ffc0f6b2330cc5edf7ce9ba80eb984b6da2ac59aabaa3a29172ed2937920f47c17447e6185119b9b38a9935658997b487735a8184caff10a8f555d034552fd57471b293f813f19aa6c2139877992436fd1949ebe2259528c91716414aa72ff90bb5142d2fd5e7ba12d8df1ac995408e7fb645a9ab7b6f695e4050500a9042253833b055182657915246589f8362203b5517b2f7117d2aca015fce3cc41c6b1bcb2e672db142d5245020301000102820181009a389207c44f45ecd4b2ac716d728ef622e8e237171bc3e12f848e1743b73159a7731fc73bc8011bd8bb24855acda63ae8327dd60043e6ca86d3ea10f2dcb863f1fe20ba98246f324885198d642cab314c087b26fb115c0ba7dfffb222c3894f6577fb60bd07384dd4e71fee050408c9120a884f63ccb0901ea3e2ebd9da67c7cf54e7aa1adba1b146a9372f426e4d0f2fa4bbe070bcccc28a498fc711af83996362703b0433851ca516316da0758fbdac209eb63eddd91f6b3a24e87fbfa1d2ab8f8a95d1c143bb643d9ed2cad7778ed1bb41277f07a2ae4d5e01b263f905a1457fd1f7689c85694bc8a7f2181752a606b4e3ea5b59e1f85e993c8f8c528cdd0f9f09c65a53edfee6354be565d594060cbe594faf46d82a17056c8eaa59ccb0f0bb33114b9c2c029a6e0e7ee9325f03592ac0067feb660d99f8bdb6d25ba1ebc480ce770c367949668bdd2e3032d04968b5293c080dc41f2b69607c157e71c62570481a93e340a7a5be1629d91334533e41eae79befa422cd5ff4d838ec21810281c100fd9e30b6bcb1674ead266332e2af25c56b2869b4d822d247e6f5b35cb0f3c573b5efc39e4b5de760489b82536d6cf3eda1bf60e5e43f69f26ac8e45b056d702f0361dbb4a73f42ae5889a849657a841d866b8b4417286ca9b39f854c4d95e3719b6cf367fc7128088a365f3e322c1fff16bc68bbfeb69c5b2a9a677dca6d494de44ad057135e65ae5a5f83c59a0d1477e5175acf716cdcb2966fb75145dad1554a112c466d249ba894caae5e182c65f1753fe5bb583ef962d1574d9be20bf6a10281c100fd3c5d0967b74bc6fb54ef961a6aeea76a59cad1600e3c73f834e5f5b7b5096f7779c62b07f783739341ad5de095e0209f2f2f30b8dd503da8a271f4b35d93cbda013b515f573501ab80dbc7d9fa9dc98da4451e00e0032f53583c818c2645cab8f35619e7c27928648cbcc3af39f30e0a61259ba2499ba96b2ed7b9edb881d442466c07f362ad11a2a9bb3f67548a5e24c246fc6c438d32de9ecfd18b609ce12fccca90bfa4c3ef63cfe3a349611e590e44a53242dbdbbe0937f2ecd81c8d250281c100a975dfbada4df7673c8edfcd8a65d96915f6c4dacf6844f5423f7dff3b4546f3cfe74ae0241fb4904333955b454c7d98947119bfc24914f3a3a263e2e5b7803409a0837b2c1d3ae2dfc9eb264fa6134cdf1a50cdc8637c67cfdb90e7b117ac07a7009f8b25c43e29a6a039f786f2b0d6734ca4f6a8753ff83279451969fea7f261ce13737b3fa1d564115a2cd88850dae3ba3d354ae6a078bbc81dc73253c977a1abe3d792e9d910458b40032347d73e054812aaa186428062bc60e0fda35cc10281c0098b4ade5de054a4cd38284779fb69bf398ce4cdfb56ce0478e8557a6b501168f811c8dc3a52a3cba953225b956950a72a18b72898ef0e652483ead3942704b8fc206bc1e75bfc0d720f4b393f07e9067da6214cbe2fb32f076f1de8ac058d3fd4b4a71c16d60786f43331b2165a92c486b39e9d3d0295314f6ed68695650ccf9927da4e7a67cfaa087d69273c97bd174b3f5f3988430b814d4ea2fa7ccc495d5b55d6949a0475b6020705c753aeab5c23e3866e5c82b8c772c57f0c5a20c9590281c100a2775a3e38c279cc6633f91e528ba76d14750e36b7d43883b1c8bc89eaaf2878c3b6ea9b87140d6938eaf938d1f010656899717be3e0de04437e1da539c6acf3db3956bd49ad71b747778217e2dc67ca0800726a7ab9624e41f10e578719850ed7684db03b7010e86c197eb79f7f68c3022403fcce14d8cf9df186b0a2b97cc120e2b4a729aa5877089240a18fab397962198fc846cf9a10eedcdb7cced6091c61e8b1c621df270cab19e5795485a4b74cdc3e24028bfbbf0eb1fa2ed4531cd0]\n[sha = SHA-512]\n\n# tcId = 628\nct = cb9ba45404396101c1211be70415603708e1051b0debfa045b75ab936fe7c5d4e8c67704fd2ee046af8679e0bcf3d266ce67b801c90b581a3f6909f56c6fef023f0e2c4428227a51362d3f50ca65a79edb3faf899cf71bf99e244dc817fb4c2bce848216f0de57a1747fb1d4f0310e59f7ae0a656376690125dd10657357de11b5e7e5588af7083abc6018013ddc43d21c2af42c9c302f008064630a27ab014d6dbf48350c8758d821e74c45efd168ac37f366b413024ebbb0c9624e6a93d4c02d1f2b050f75de4b6a74c701386a6c330767af6bf03e8ccd69ce6540b471c01e6fe20852a10f198e4e0d29469b1b01d5ebff85ece159355083829e4c2935f16cd2f409199f799f250c8f1306da1614d0aa15578a58f399a17223c7618242cab31fe32a2317cf7babbb30b3885d5c07c4b89e91ddcb37f449cb3e2faca585d04beba9dce34face1167f5e4aaaa0509867716e3da0ff81b8a481b3f9cda725f01441d7d3d7ae24a5bcb373ff85e608ee7a49750a0d7d185a61082924b2343e18cd\nlabel = \nmsg = \nresult = valid\n\n# tcId = 629\nct = ad215dc277e269310c54925f735d9bd6e68b828c8a9adcad792a567fa89f75bfd9512c69caab0539f3a2d4ad7caa73e6c1166d94645308d09f98166547beffa48940bba67d08391d8ce831ab3e819b1113eff18d02a83d7f07f1db2ad63cc53dccf2c9a8d8cd42f3054cbe1d223029364877c61d2a58d4c16929eb2c8b21fa1d09797a558d61f00f6b2a4b67eb794dc9730421bf52e073cca7bd083b35562d21b6527a525662defa0db2c9fb0fb3d8122a85128839e68fab7224756fe7cfde6d86cc7bc3c6665d3ecc52ad0ee25767d5f1f1815e56c79e1ae089a4278bd8c34fb397c1029b4315573391064c02f139e6a672b8a9f50678419ab6d9fc42fbcb69b71dd644ceb7968d6b0edea5f72d9d05da3d7b36cac7de135d45edf45834b47f7b2b91fe89ec6c3f2863f7454017091cf6622b02447a0f8ea6a8668c61a55f8654c4c8f60ca13639f125f2a3a46bd82d2bb6bc66511ab7050433cee0d6fa98946d18947d5649b380f795fdc8f0f13b663f518fad69c65601a51d170f7013204b\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 630\nct = 487ea78c9548871a93a0b856306f349ab51bbd30b3e6db0c47cfc965774cb0532575333f8584dddcb13f24ce98ff4a33d63b5b1898b3a8d9babc0ea906cf7d9ae047284f7a36dbc350d7affd57030196afdd419750f1c5f2fc55622e442e6203d58a725c7b6e59205baad02c86e44447caea8e88d38963389541a86933cc64c1d8a3b70c4870b0f75146de372de834988a5f852235926d7f3893c83dfbb78a1a8cb4d9a4d516de110d315ada9be71431d3e6b03681d4d7f665987000a72a1b138476579aae7058f7d4151f058410d93bdc197009b839906ea6254e90c1a49327ebf818dab3517edc39761d3f84be8f8bdc8b35541c6b6b30bf8cfd20fbd9a09713c470c9ebe0622ddd8b2471f9b0298cc77b51e56ac2dbf9209fc5a95c066092deebeb7ebec0bda02f89904ccad29ecdc1d263a29930947b90a6ab83dfaa657871be533d55231224ba4e866ee9a3e352f501372d75090b5236d39b62ee6c84c792dbb253dd1f9fceb868d460fd76847d9c450b1ee5f280fdb0da832bc5627957\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 631\nct = cc6b45a4202ea5a1fc930a5008136091f48831e3dce258955f0a2fa95427a18ce12bc6d95424b983e2e75152b654a0c481014c6bc538354ff720b043f57c238c42ef536dccde3637babe7feab03e2fea7ddbdfcf1b689cea466c07b1aef757a7120141a2720cffda1ad422eae68d751425f879eb8ec65a1d0d24e1529a91f0643fac68e71da9f4d0eb56aae99bc03b600daaa127221dc20a5f5060820ba6cb1625382a4adc47185c0ea77d650cb517761a085a55e1a306c6136ba6a03d254079464ee8022a7e0189ef458fb4587b53fdec7864c90872bcfc5476bac7a7af7b104cec4cea576ded30bf4e24f80513ffef05b31e5031a2dcdcd2cba7784869c211c2ce0a3a65814fec0f153de0b8e327ecd2b0ce80a9bf691c1c08f5920547a2a08d749e229a6eaa4b770db54345c18ec3365f68fab045111d0928bb2cef7380dbbe07f6bc4fa3bf340e8fdefb1438188a474b206b430f988fde41f96b0642484d02adb39aa8624d908e52cc7fd3d39d74e002ea04a756b61be3f279ccc7206ee0\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 632\nct = 2034cef8731f5ddf7533380860b7426ba0a7ba97199ba332efb7422578d346ede8a41c8c4488d52cf2559706f1a677edbaa50c5783c00301cd41815e46c588e2e8657ced9a91f1b2e61d51d5e2384b59b90c78c8d5607076130926bf198e0968b239fd8d4451dad125467ab895eb3ed450e6abb61d6217c65ba2cd2176e2532594b5a09bba689ea1562d04527de919d47c3af5c2c24698e572f3ea289f5691afa164970daed05e83c051e39a99240a4fbd9c2046ae742cd1035aaf0d0c20b5ce1d42a08f9175d5ca30b6f4a7345b4820784c148a68f92be82f6e38638c1f8ecf8f07df3827f9fdc8469049d157202f31d98f06563f737ea3df3764f4644d9f9185cb2739c8aaac86e9b39fead8e03818550a25997c31674d5e14cc4c13790e409e278d778171c5462f689b0ec344f9a920a312ae9351c7d", + "51ac7ca7783038b3d5e59d79c4d89ed4d36152d2a1baff8be23ae1eeebf6af20eaf093604cbe79fb93b61478d3a1bea20e1c6c60d63cd3e09920f521e3eb3e40fc21fe46103f3194d\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 633\nct = 7929db7a0ef0e385abca461e86013785f72d60fa4cf1c97b1a16e7b501235701aff06e71d981ff75392a27a266afcc5bebef5b1dc09ce60ad97b1722baf70b7be33b09de2f203f92a527a123e929b038428de471fb0edcb8e64741a1484ad5d2d5497f91aec6d87e5ca95fdea8962b61362bca2d0a4742f8666f1b067da8db4fa24cd721440d6582750498c9fd319d5ae5c27c9b70f1811d90b673d0529706d085fc78d73f933845278e36e96c48194f1494a1b4d891f249e8633c03d9c564534952e98c059dbe01294506d9238816215028d6414b954467650820e5db42b7701adb0d694bf2c00b42e89b80839b9f35b4e23ea70e55e514c50e9ec197423ad28a5dd4ece946345bd6ba154c122ba356320c2c1cf0ab4e0c713db0c8296ff900a078ed5f0ed1802d7f1f92c9305c245471d66820d4230aac6cf9a4311f7293e1d93a5dfd529dadc6699aef4c2ed53bcdbcbe8deafe5f9b035a6aaaf9b2d8eb23dac290f828bf1886136c79fdc915e21e06133f24e63876514abc29d25c146fff\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 634\nct = 5ed5766e97ba0017cc6ef508702d74049112f588e8930c3954b43c7398650fb1bfb94cdf75ddcfad8b50c59ed05bf8c32291e8b804f49fd5faef0e39b922e14ab4186c575cbee9cd2677b58cd890df072669c3c26845d7c89420cbea27d8c1ea43c2041a95852c85056e1d22c0cc9ec563d937fcb1d6d024f3a1a2943f77354885b3fdcdf8945f7b41e1f5a3c7cace9bfd2bb845f6cfee05f8f4680d1bf2b9d6510a6d2093a12214396ff02bdfeaee4b21af5d52244a3cf6eeffba75e946b83b5784b3bd98e5e585032fc88a1abdb12cd30c7f412c72d2e4957681f77e4157760c067a9312df871c972de688a839bb155c9de29eacd38ebea064f53f2599d08d6014c0f77f3ae121a4508c30eb0c8dd49c4c0ef31cacc3b1dcb2240050db157299260e9fc52dbfb530af6f759dba3764e4eeaed032e564141fc102399433456b91a3df2186ae9032957276e691c095ddaeef7142cfaf5bc86915c27461c136c1381a800bc3322c2dbdbfa83374922d607720272c8f955a9a10814c4bb9587e5a\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 635\n# Longest valid message size\nct = 4d0da40b2f6c6ec3b8de97593a591681c69853847f9deaba86baaa69b42bfc3d8fdac5fbb3faaa7a5edef6e7ca0f25ae169c6545f26c908a1e3bfe8f0a385c584cf3da930acea13076d475e9b428ef9758113d3d8a0e23eb2dcbccbb1ca0c9b384aa760d17a5764a7c4c709cbfa9cef0ba5672cba0deb198577e3abafb2176781956d0c4d39632fd30f778b8da3da16eabf3caece2a325926dcd25abb0bf743b9ee06a3b4496d82489613b0a720353b017e72c3c43eda97c6444d8f2edee7a444916187129bc0e9bc20e457c0946c767d3b32866655742e891490ee996a3b2106cc024c5da94ac89dac17fbf0c97a95541f8283510411868863e68d9efb7ae4493246b409441656ad0eecd3f0d84c7fb16a593cf0e3b5ce01c142da30d50e42f58c7bdede2dc350313c480a644802fa10fe117c98a92f5f8ce6c9c4cf3ac0b01ffa629dda82c217171a4723db2ce751d4a359dc53dd4b398e7882a8c88c9b591856189a9f9afa349f02573a9f07c6cb96eb41cbaebe69dd82ea7d9b860b841b5\nlabel = \nmsg = 7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 097a59d2c4f70377793937bbbd95d19b5d01edfb1eb3b073e27e4cfed416820d4af4e04cc3f53d272ae43551ad0cd09b89cacb21a595f9f8423b3b0148d2ad46cf818fd9e7cbba18f4f84a1dc18f69ed5a764c6fa191a3664fa94a39bafb1a29431e6fedf61eb9164dd7684f0cb506248121fa948a32c8733f3d9453dae61c8708b2500582f32d91128775265f18bcab6eb170145e33dc40f1bab451194cf8c38f9fa91806bd225fa4b54ca50813b9d7a54f61e0000e5e0769cb2a3eb99b1ae9c3c5416dac83a6f91248c734d7e63291ce12de4d780703614128f878f29015801c7a5ec7670e531e1573ebc8ce63d640b01b9aea48b43d1eea8ad85b55423d4e142bcf73315f3e9e978b65f0556246066596013fad97b83ba552140c6957ef443ccec4051b2a8c9cd9f25c4cf6bdc2e904f46063e319643283462a4047d49c38bdbb0ee3d87980ec08410d5d2dee8e5349958e4178aba065a55d79d89080570fd4af5678b1573e42f2e0f863b31bb4e19ba232c02ae5b8f948d1ce8145c4968d24b56ac930b4f67047257f3c0b86bce7a77b8d0d87124c4a4141409ac11377fb9fc805d60012386becc2ba8478e663becc3d73239ce3036c2d2fc9e6e2e370c2c78053ee1bcef7a87872ef92b784638b84713a5d78ba8c3a868e3466f2275b252e19766d2104ec60537bc1589b1558b76643751f6a60fd8a5102b6c788e0f049]\n[e = 010001]\n[keysize = 4096]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00956353ecb7561945dc5544e4602466078c93f28507701ffd39e2a9813c8ac8740e6ad61c955d484e513b3dcea527e001a018ee2c207c1806a96763280236cd3c820dff79837c9b709cb4b522d3ddbc9192242259c43be75ea244d37ccfa8a4c75024a2cf7cc76e842ea69cc7ca1227405b070047387a5068e4976e4b8ed5f9aadd7b4db024fbb8d7bd8a040d8f6610c1c6eb1d4b606dfd182235d0360880304d5a750603af0c424b8c8e6dbc12c3697d2d609c97547e774e2e362ea96d1690dc9432112c535258b3db2c4c32ad510d6c07ad0788357883869efb8b629298724847925cf42b34386be700f02903db5852276bee2370941f397bdc3905e30964a0b5e73602703340960c3ed6078263b611f197955fecce4b9a32e43cd1d2e5e87c4ceb65edc8853a7ee31d28e16e5adffb8ac7b760fbfc63d5f174f4d0936461dbb12c964a6b6d6cee752e5fca1ab4a9fd238dd3e8860a1d763d2019f9e7b99ed7666d4e038710f90e0093bc566987d6c0092f571376e705b342d066c54e6e2578927b92c1f0928de44e9a6e1f49b907c6aa4f605ec9c398d55df81c67373b03cc8110162fb417f96fd321048647dfcbb392455115cd912ea83351853e6a185284648842adcbd25e67174a3b93b8a64ce2ce9de0e8577b8b662ce32e2565782665dd38e5bb5fcc4fe12e4320dab7773b545a09c6d39d9dbad459f21f3e624ee6ed]\n[privateKeyPkcs8 = 30820942020100300d06092a864886f70d01010105000482092c308209280201000282020100956353ecb7561945dc5544e4602466078c93f28507701ffd39e2a9813c8ac8740e6ad61c955d484e513b3dcea527e001a018ee2c207c1806a96763280236cd3c820dff79837c9b709cb4b522d3ddbc9192242259c43be75ea244d37ccfa8a4c75024a2cf7cc76e842ea69cc7ca1227405b070047387a5068e4976e4b8ed5f9aadd7b4db024fbb8d7bd8a040d8f6610c1c6eb1d4b606dfd182235d0360880304d5a750603af0c424b8c8e6dbc12c3697d2d609c97547e774e2e362ea96d1690dc9432112c535258b3db2c4c32ad510d6c07ad0788357883869efb8b629298724847925cf42b34386be700f02903db5852276bee2370941f397bdc3905e30964a0b5e73602703340960c3ed6078263b611f197955fecce4b9a32e43cd1d2e5e87c4ceb65edc8853a7ee31d28e16e5adffb8ac7b760fbfc63d5f174f4d0936461dbb12c964a6b6d6cee752e5fca1ab4a9fd238dd3e8860a1d763d2019f9e7b99ed7666d4e038710f90e0093bc566987d6c0092f571376e705b342d066c54e6e2578927b92c1f0928de44e9a6e1f49b907c6aa4f605ec9c398d55df81c67373b03cc8110162fb417f96fd321048647dfcbb392455115cd912ea83351853e6a185284648842adcbd25e67174a3b93b8a64ce2ce9de0e8577b8b662ce32e2565782665dd38e5bb5fcc4fe12e4320dab7773b545a09c6d39d9dbad459f21f3e624ee6ed020301000102820200097a59d2c4f70377793937bbbd95d19b5d01edfb1eb3b073e27e4cfed416820d4af4e04cc3f53d272ae43551ad0cd09b89cacb21a595f9f8423b3b0148d2ad46cf818fd9e7cbba18f4f84a1dc18f69ed5a764c6fa191a3664fa94a39bafb1a29431e6fedf61eb9164dd7684f0cb506248121fa948a32c8733f3d9453dae61c8708b2500582f32d91128775265f18bcab6eb170145e33dc40f1bab451194cf8c38f9fa91806bd225fa4b54ca50813b9d7a54f61e0000e5e0769cb2a3eb99b1ae9c3c5416dac83a6f91248c734d7e63291ce12de4d780703614128f878f29015801c7a5ec7670e531e1573ebc8ce63d640b01b9aea48b43d1eea8ad85b55423d4e142bcf73315f3e9e978b65f0556246066596013fad97b83ba552140c6957ef443ccec4051b2a8c9cd9f25c4cf6bdc2e904f46063e319643283462a4047d49c38bdbb0ee3d87980ec08410d5d2dee8e5349958e4178aba065a55d79d89080570fd4af5678b1573e42f2e0f863b31bb4e19ba232c02ae5b8f948d1ce8145c4968d24b56ac930b4f67047257f3c0b86bce7a77b8d0d87124c4a4141409ac11377fb9fc805d60012386becc2ba8478e663becc3d73239ce3036c2d2fc9e6e2e370c2c78053ee1bcef7a87872ef92b784638b84713a5d78ba8c3a868e3466f2275b252e19766d2104ec60537bc1589b1558b76643751f6a60fd8a5102b6c788e0f0490282010100c3c677495c2bd56619e44e26140d2ede0037409b81f3a5b3886a0904eb486140f43b8626af13d14a33918eb72b786b3c9114f39017871528953c09104e1fd2d36b725388f54ffea30373077895a6934ab174e55ca6a12c21923a7b775b5ffaffbd813f9fb752805b016a5735b883c639fedd55ba2e233a6dc1673063d8487390d1676123544d3def177a91caeef98b13f38860474e44993d4c6060926d878a2059855d0de1c794ac8dbdad655fbbad20f152f15c73b95ac544cbb87b8bec8fd3c007ad09d76ae22a5e993302aa72f11deb265a7f28b88976af5d0c912d97b7284b1783c5bc91a6dcb7a9b97fe53713965857742b7e4032dc5141acd4afd4771f0282010100c357cf685f9b8d4e59e96686f7b8752f0a982efbe6658e6bcdb615d921f5e7056882825347455782d7bc78d637e17e0e6810c2136ad81b16cc1c8175078", + "5924616f2bdf5964b26c7fc50fa98fb67b746b50812705b379f5deadbd11dcd2fec7b724d042aef25cea2eb37f85b7554d7ad49fe5f47737ff436bded418507f2f175c695e324fbb11beb0544a7a7cb3f07924e291b5c8ddaa6a7dbb07e23bce1960cb52b9000d3a7aab1f58e3c750b6d978adf3d085ae7693b7e6a46cf6dbb6d2ad981f4bca5d15e0962c39066a9fc27985b9ba1f51132355792796a5dd847400804f98671ee4899050bdc2e7872ce6fb2b78b1050436d882425ee0745546a6a1c730282010100a6bbb5460638d2b2f5242aa6657760cdf3731b1415d5f2ee77248f6fe00e31bdc70396da054ba47844791809c9fcf19f90943e671e928e23950d9f4e82aab9bc138b37b7b1ed2219a54b67367c8574762db237d0f39cda5ff110dbac286712f69167ad4f122b3263cf4dc8de58b9e9ade4f08e1d5543ed74223e06c9521f4a45310291892c37e8a262e5a19b2a71decfec1dde997c00125e5158d7867dbfec9466899d59c04b60c4a0a6c5314c1a2375a5f194dbbf37422635d426d719b12c41140fb5806735814ec268493861002977e8982e8493a2ae78251be32315a85b75f6961d44dfb7505c34135987a2288907074fdc015ab1c45f3cd8e91fee6bcdd302820100178cd58f72bf5118da141e6d351e42da69ff90e2839348c94c62a05dae0f744b9d9ee6515ded4930980bbbd1afa8fac687db455a8bee03ce0acb80fbf7ed2d864fabf224d27abaf12f45200123860c7d74c3c55d5051f35fa239e00b24ba9b5b029bb05df0b8f12189141558095c32284d1c62a63d917682c700fc7e2a482abe1533eacf819c878e1cf37af6eab4ed97c0de89d2edb327966310f31421e85c6ba9c7d7b391d0cbee6a793c66abfb09630fa8cf020e960c3b205aeb15029c95a6e558f90950a572a23a8b852507264ae2f86f5d1936a161ae61fee5d3763b8cfbf48d35dd1159895735b350881ec52e999c255a57d6b3ac0ffa935bd36284ea6b02820100484ad86e79415ea3c78af5f6c807cc99decfb14ca1e80c8e6a1ef00ee582d3d180774236a54ec9dc8dbcca51f4da4379cf634f3a07cea4b7748d7b5d94cacd4d474111f92d19f3ab5eb4def8dba57b990844efd28d85344666e283f5d5fb0e6e8d96f07411c882bf280446e49b3b9b15218fc24da34ce8f01e02735920ef48a343b4de11f99b26547a251afa7aaa69083c421e2447b1a989d50712bf8fc35882b63517c7c39843cf67b92645b68c6d8f90331600142e6cb97032a5af6ef7c20f87630c6b25dddeb57f2cc0cd8c8a0661b5f40ed6632989f5d40f33bbfd9be09374483606c2cd7ed8b5fcb8bf3df1f9368a13922b1240c0d25792505b857d3e8d]\n[sha = SHA-256]\n\n# tcId = 636\nct = 864915b51654401f018ee23280252369c2a4655156b167747c886796da7fd08af0e5ea3e5e477ef31498be2547e78de91aab3283aaaead23013a01cb14cbc5ccafb27b345af079fe4520c6fc4f4395abe18f8ff3525b7f9bcc1876693800de79ea33fc5c3aaeafc9e4c97535033708b77516a891fbecf160fa3f98ea6b0b7fcf69ef44c470df232a35c48e758dc4b70965d2c2256753afde954b642fe83d181759949a901558dd0c88cd20291e236581199cdca2b5436a102fab4c6c58d5c8f2e867a046114e0c3662bf115126aae27a66ce932b4d9603e14fb3769a2b712e5b332ffc1b615bf9116455cb802f907a0600d9ac9d292a4582d356b6f8c06d54f252ff17d1d4d07ae25ba1fccf3ae9b372e2b8420de1b9258217c15c80bf88afbdb5a879fe31fcd7c7a275f4b7432921b8de5bcaf43ec8db6ea38a962b79d810904406573cf3c40fc416dc5f8d2d8feca1285748cab7d5335cd4c253b656b52e9ed1b8f8dbc4cd93962028f0ac1feb7d4f754c0aeb1c31e961f25965ec2328ca7049661e8528603c117f9ed93b74bca5954936546bf729e4572682bcdae42f0e693fb3d05de3fb7f8728825675268438339debeded1c2d50bd89128b41cd40cbb6bd68564494b06c9bb43e3ba7edde3f89933165eff31ff255e1174d51b885b6b61d4d3712625d78423640fe911e761fb05bc702da7bb7a6819727dcd892f7462c\nlabel = \nmsg = \nresult = valid\n\n# tcId = 637\nct = 0d9e70cb448371ac08d862e2ce2cec00ec8cadcd05aab58ce26c5c098cb8aa64ee561c446392253b3b6349c286f1222a3650d2393aeffa1eac0832552a43d11f7780f6f219c8ff1d1c98bb085092751f479aad553b0243537a23e53a9c9779e15bc3c8d8a176693c3261b4c0520d634dc5b3d618565c1428cf9d616c6bff17a4d0dceb97339f5556f0d96f28b187309a48174651383989854585ae85d30874894e6d54a3a65e16917c751f3edf1d1653f22ff5d3f1eea35b390c1df1912469db041559b9ccf8148deb9d4caf8cb587191049bc575cb20495a9b0837035d2b8c47a74190829e13973b5b72eda42ae1a7cf0022cca75f86f039c64e16797836c83bcc7c638d22fe1357444bb4e42bb1410d7b63a8c122006f45dbb942a802aa4a964c6b17f21634e0e029a9a6510158f88dc05f9c6f4ae024c6f13d32a4d412ba0dd0b9f7382a1771a61a35fad4e310becb6a5a59dffec526a9e06d9feb696804aba676d0d9bc043f07068c7882b1f8cc19033b78416d64d5c6f4b2d121d170e4924cdb9a7179ae3a93121b814fcb74cc25eed8ab26b12890f9392debfa3c1b9382d41f8bf0d1b8cd40a724478ee753c70d3f3820f48b6f8d71ac6d62d4e319659b188a24b586521986fa3ff61b376e6a78a8988441da519c6f986f10c32bce6ce156ab0e2e1d4cd1f2765d0cfbd8157104b64709c4f8380181f8021f9fb153b15\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 638\nct = 40d37ad25e0f854b3f3431c1bf0e24dfdacddd8985895dd95f95d5b664e03e9f3d6c006973be95f2b17621615b8fed29aae91454a4108997a7dde9f279a93909782bfa6ebf7eb69c198d656752b980d6424f054b3458c8b772f509981209e8514f5c366d7a5272ba91072339cdcd81810eb2c27f47da51e13225e564ec772a0cb40c95a295eddef2f5dc6fddbedc8f7c2b141049979b7373049cf5b8f91b093fa2cb1220e145e5fa8bd1581dbb7ff6f1e28f51f15e67350f145ba336d4a894a1156ca2cf35cd8a29318d084e28d4402529551e8fde5a30c8005b983705cc67a7cff211e2a23065ef9342d4d065405818997126e14834b4f3073a6845add06853121bda9df7fc68e2516e72515d43ace942ba26c0bd36f58e93fa586183533b82cce7c8610b15ebd305d0be2ec52636377cdddeacd4eaaf84fa64e7bd17dc2acf0cd54f75181a7e237a6b1cba8514dac2c0301fc7b28ca07dab48894ed25f0d2c4f755cb6b83eeef73107338cc9bb21bb16bf8069f41d5a86b37f2c4e9f793d5226a5723c5c95da151f663e8c96f0dab2af01ece8ca1280fce698ba99d033817f79190c7e387c71ec8c70d04ddf965afb5e0c106e1ad913882bf6295b8b45d6859b25125e0af2514fe66c40381987ee925e6619c9cdff3ec71534ea1cec815bd3ae8a4f66ecea466d9100dc1c94c64be432d8fc9973426dc2041583a96e68312b\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 639\nct = 3d8628a19ba75e418329363a074d5992a80446e9791583095c23ed66de5dd41c94db742324edfa2a8807b6e115460e48a30898c1cf94d88edd54e400e448025e44d35e27b89509e4bb5e73b5dcfddd38939180b69ee551aa3eb74cb3b4320127cbd77fd51b28da7c74871e20e5067ac610053fefed9cd4599971e219849142dcae66ce97d13c937f8812d619b6fe0df57abcec358341f82ffe13827fe7e8e26c1030f821cb1d43a8787ee48033f4f11c901adb48e7c85a950b3502fff2f12695df04d55e1c816464a636981de537d1b3e66598759c8b38e1d87b9cf69c752982b6b54f2398f7658ab446c12585975bd3154386accbc9b796abf8a1c4cf6ef291e9cc519bfe2e09084a20a88d1f2243ed8d21d199f983df56d8a176603a9036a44c175f1417b7d34ea95c32993c0cb6a029edd753c10d77944b666f3fbfd743adb9e6b60c06e83cb51ddae3f37e3632e4c2b547580dc1ab3c7c94c6f09226dca4884affa94a0e119dfbbabb42a85a516375f767dedc7d1e0cffbfb44ffbfc7534cf619d1f926b0f61ddf2dbb8921e9b27fdf9cf52776e0b2adb781a5b110849c4600399850bdbb155c2523862f61fa84bfa9362cddac0a49e276c01d31ff4ee6646d914819ed75e7395e04cc741a0d7f61503d940d0ebce7888ded00facab381e912fa737c5d628f820650cb9b867cdf17ff60f145fb2c107203fca793503dc22\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 640\nct = 64d5b5a72e27de69cd016f58fc0f7b1a4608376f0c9c51c7c89ac24487b6a542e414606aac2f00892e8a72307c9167d48d555d3c46f924e95b2f7ea6451fdd6eb7bf14c5543ee45ef6c30d39c9c31d93fc807d9b1ee85405c38a5952d1387e393ca9e357d819470f43cb202dc1275b91d0a5dec0b7b3c547994024200275bbfa9acee80b6adbd742563088bda0f2fb6989e78e2464f0b7a7dc96701792c365f9ad1d8efd0b3842bd407774c4138810bc0c7f5900e50cfa5c24eef43d52be497b7c8094413d543fa3474a04580448d8203661d3ad87e997777c112161af200af2442f591c8bb41f337c1ec11821166cbc3d2f264f27eeb2ebe05f68f610aacd58aab3722eb38ba798e9a9c083dd335be40dd65978cf0a67d0e78a5b9c77034dd7dee2ff87172f98b61899d76b384920570ed063670b5dea2e644e538e7124a4b8c9ba5da4afc1e1196ec194a797bb2c3ff90d8957ae7bb8ebe99b69b90fefcb876752cbeeaf4f921060e8cf420463152b32ca55e39e61cef5ad4ba4b0ee4a2eba2d784b27ded395bf85db2bc85eef5e0cfb8fd0ab3198ba5aea550fdc866b828b3095b2a8d4b71a6e20ee3d572b94cb4f6753ddfbb144b11266a1efac7808931bf3763a4a80d0bbf475e5a3d237eacdc58351c1400d5bcfe9006e6483cb664d0274c5cf12d2a18038b6e5643244e0ff07072e38eec29eab5090946e73b01474c4\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 641\nct = 286d5dd2d8141c8f28ad5834c57b729f39bf5f90a087ee09eba1013208793361cb39d338b4acdad72ef3143f45c6092cd790abddb45d1150abbda9c70f4d42abcdf71648f63172062ea5b64629430b5e3b88021cf5fbb63dcaaded696e3d6ecce60a1346d75a972dc6eb6f50b5ffb7da7a5b7b7f8a5454f9dde9fc21ec497b2223b24e3dd579e3c0518feccecd2b3dd91ed6a26318dea80b1eabd165a87bac00040c29f3335a7e474cd01cb8cf2f1a56e27d5377d17da3ca581e84149852b63868a9de2ba8846142b07d14ced219ee0fc318b826a35f7806fad240685ba4067949a79b9fa3252495f14f49db5b4a31710d4c1d04d8a2f6e7121762cb4873d1d5ddd05c2be9f8c09ce5e22e15342ae22f227d940c8ce9ca62f4fdb080b85a447d2af34acd4e77d126792a69892f63356061221c0c7105dd5e044bdaf073db841f0f25f957cbe259a2474b7cb6421225add558838757ccb028ad426ac1b75029aa08746f9a47df7df604cdefbcf4abfa92e114da11686a6b2fbdc", + "fb9a6bb3e676a7bb288b88a9c9546eaad05a84e1cbfb22503e326c63c15c2c634085d2ad2d5220b9c6a7a51548adf4474145cf3045aff023c27f92c098d77f065ba59a530ff15f1f0cc634432a3b3fcf0c5d5cc58fe071deb4268fbf16917bdec618250dbf4d41efb3d13d0be332848a0512c5e8e6b4a6fd06ab4094550cf69d51e5321627dbd\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 642\nct = 815f21b2970412f0d01a6f7eb209b214b80a944718895712c0b17b86ae408b01d38636b0b10a0d50a761359b770aac9074d0a89a22431f031063d9fbf174a767720807d02dbf70f9c561214c8ea73bdb37b0ddc8ff2e72e744cfe48de0e2188f2c034d6a779434a7e32ff44f5a9016cdca2e8ead252ae8fa7b5137c033013dc1a74b5bdf048bf81ca66a424feb93d2579c63f2aebac51db1535217341b501557c7e034a5276c8279d46e8724cf0c184025f8862c22a64d9142472c098b8974c61b5c8c998f0e9c8eb5525dd520a190768faa9d3fa58ee6d93f2fc775edd368ae734f6b359469f4d3211895f35dcf1610a4a6981cd135709b91f2f7667b7288db3337bd46d6f15c0eb26385078f3943ba1e67df9ef34f7e52630d5a4862dccb0477a3988f25d970ee69cf860eb4b56a85665fc47995befe817a4e3fd2b4f112ef60a52180adee5a11edb9ac1458c1c6ec41e3b9bd40eeb906e206b447b7538be7fc0170915b047c998b8baba8430aeff4ee8c48c763be4a49a8d0b8b7b45a2f0e0403e18aa2bc30e754982d6d1872434fdaf22ba6ab298ebe29a739788e377c51a140e6ba07545e97eb9b2b12454c720653504686225a4c7966a13cf0dcbe8e1a852a2d0b828b9e708c1012ccf401e7ac94c9fa0ab5c4a19f087761b3d1129317571621593629f9459c94b92c62dd5d6827cf1c5187e98a9c20d27c0cf4e4b18a\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 643\n# Longest valid message size\nct = 0e617b28ed72162e19b7a80a8b57b9ea9c826d0ac8b230bcf449f027978034e1bdcfd55b89393643d97b082d7c1e7eb4f901241955ead53e18ea50e07d8818d01286e6c7f6a0b1edd82c40a18cd934fe4b117f3711f762dfff24668c511524bedbbf9248590b708c36ab59ea8449c9468ddeb978614c930d7cbc45e01115f5ec5bc8e024e6d4ba38cb8a3c80fa85142de7dda62ec3089c56a3a2a067b09a230890842e6844b20cd1e5143f4d149a99b86c162b3be1d98ea2850f0c336a9a0e1f350e4435b7d0ea8cf479f4c07b3ed800c51ee78cea37c628ad0f8d9d9df93c94a7b40c828927dcb7f53f705f9145bab0191ca8279957674707cc442482754603dce5fe9dcba2b0a545f8a3be70e108e4c7c9ec55f58c43cd654fcb7f0fe85dc2cc02fbeda0171dc5c2344bfd908692aab69fa50fc0d06bc7b9791dd1cd02f23e52fb26c7d017372dcd84f966b49ed939eb92b51d8d25cea6b25ba6593900075f0ca7fe54a43faf9686e35eb42658d2af3c62ec9b68abc449462342c1e1e4f5891d8a2b7b60446da02600bc65e9e48efb38b5ec69103a8447e5df840a266776eeda1864013fb966360ab45ba9410a2721850cd0e2672840c6efcce5d468a35f9bf0ec25046e47d0dfa4ee6241db8ea32125cf8a7ffaa9941e00b49a1cf68928d493fd1a16602dab0db580001bfece99fca4f90aa823717921e836b12ad2827e06\nlabel = \nmsg = 7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 097a59d2c4f70377793937bbbd95d19b5d01edfb1eb3b073e27e4cfed416820d4af4e04cc3f53d272ae43551ad0cd09b89cacb21a595f9f8423b3b0148d2ad46cf818fd9e7cbba18f4f84a1dc18f69ed5a764c6fa191a3664fa94a39bafb1a29431e6fedf61eb9164dd7684f0cb506248121fa948a32c8733f3d9453dae61c8708b2500582f32d91128775265f18bcab6eb170145e33dc40f1bab451194cf8c38f9fa91806bd225fa4b54ca50813b9d7a54f61e0000e5e0769cb2a3eb99b1ae9c3c5416dac83a6f91248c734d7e63291ce12de4d780703614128f878f29015801c7a5ec7670e531e1573ebc8ce63d640b01b9aea48b43d1eea8ad85b55423d4e142bcf73315f3e9e978b65f0556246066596013fad97b83ba552140c6957ef443ccec4051b2a8c9cd9f25c4cf6bdc2e904f46063e319643283462a4047d49c38bdbb0ee3d87980ec08410d5d2dee8e5349958e4178aba065a55d79d89080570fd4af5678b1573e42f2e0f863b31bb4e19ba232c02ae5b8f948d1ce8145c4968d24b56ac930b4f67047257f3c0b86bce7a77b8d0d87124c4a4141409ac11377fb9fc805d60012386becc2ba8478e663becc3d73239ce3036c2d2fc9e6e2e370c2c78053ee1bcef7a87872ef92b784638b84713a5d78ba8c3a868e3466f2275b252e19766d2104ec60537bc1589b1558b76643751f6a60fd8a5102b6c788e0f049]\n[e = 010001]\n[keysize = 4096]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00956353ecb7561945dc5544e4602466078c93f28507701ffd39e2a9813c8ac8740e6ad61c955d484e513b3dcea527e001a018ee2c207c1806a96763280236cd3c820dff79837c9b709cb4b522d3ddbc9192242259c43be75ea244d37ccfa8a4c75024a2cf7cc76e842ea69cc7ca1227405b070047387a5068e4976e4b8ed5f9aadd7b4db024fbb8d7bd8a040d8f6610c1c6eb1d4b606dfd182235d0360880304d5a750603af0c424b8c8e6dbc12c3697d2d609c97547e774e2e362ea96d1690dc9432112c535258b3db2c4c32ad510d6c07ad0788357883869efb8b629298724847925cf42b34386be700f02903db5852276bee2370941f397bdc3905e30964a0b5e73602703340960c3ed6078263b611f197955fecce4b9a32e43cd1d2e5e87c4ceb65edc8853a7ee31d28e16e5adffb8ac7b760fbfc63d5f174f4d0936461dbb12c964a6b6d6cee752e5fca1ab4a9fd238dd3e8860a1d763d2019f9e7b99ed7666d4e038710f90e0093bc566987d6c0092f571376e705b342d066c54e6e2578927b92c1f0928de44e9a6e1f49b907c6aa4f605ec9c398d55df81c67373b03cc8110162fb417f96fd321048647dfcbb392455115cd912ea83351853e6a185284648842adcbd25e67174a3b93b8a64ce2ce9de0e8577b8b662ce32e2565782665dd38e5bb5fcc4fe12e4320dab7773b545a09c6d39d9dbad459f21f3e624ee6ed]\n[privateKeyPkcs8 = 30820942020100300d06092a864886f70d01010105000482092c308209280201000282020100956353ecb7561945dc5544e4602466078c93f28507701ffd39e2a9813c8ac8740e6ad61c955d484e513b3dcea527e001a018ee2c207c1806a96763280236cd3c820dff79837c9b709cb4b522d3ddbc9192242259c43be75ea244d37ccfa8a4c75024a2cf7cc76e842ea69cc7ca1227405b070047387a5068e4976e4b8ed5f9aadd7b4db024fbb8d7bd8a040d8f6610c1c6eb1d4b606dfd182235d0360880304d5a750603af0c424b8c8e6dbc12c3697d2d609c97547e774e2e362ea96d1690dc9432112c535258b3db2c4c32ad510d6c07ad0788357883869efb8b629298724847925cf42b34386be700f02903db5852276bee2370941f397bdc3905e30964a0b5e73602703340960c3ed6078263b611f197955fecce4b9a32e43cd1d2e5e87c4ceb65edc8853a7ee31d28e16e5adffb8ac7b760fbfc63d5f174f4d0936461dbb12c964a6b6d6cee752e5fca1ab4a9fd238dd3e8860a1d763d2019f9e7b99ed7666d4e038710f90e0093bc566987d6c0092f571376e705b342d066c54e6e2578927b92c1f0928de44e9a6e1f49b907c6aa4f605ec9c398d55df81c67373b03cc8110162fb417f96fd321048647dfcbb392455115cd912ea83351853e6a185284648842adcbd25e67174a3b93b8a64ce2ce9de0e8577b8b662ce32e2565782665dd38e5bb5fcc4fe12e4320dab7773b545a09c6d39d9dbad459f21f3e624ee6ed020301000102820200097a59d2c4f70377793937bbbd95d19b5d01edfb1eb3b073e27e4cfed416820d4af4e04cc3f53d272ae43551ad0cd09b89cacb21a595f9f8423b3b0148d2ad46cf818fd9e7cbba18f4f84a1dc18f69ed5a764c6fa191a3664fa94a39bafb1a29431e6fedf61eb9164dd7684f0cb506248121fa948a32c8733f3d9453dae61c8708b2500582f32d91128775265f18bcab6eb170145e33dc40f1bab451194cf8c38f9fa91806bd225fa4b54ca50813b9d7a54f61e0000e5e0769cb2a3eb99b1ae9c3c5416dac83a6f91248c734d7e63291ce12de4d780703614128f878f29015801c7a5ec7670e531e1573ebc8ce63d640b01b9aea48b43d1eea8ad85b55423d4e142bcf73315f3e9e978b65f0556246066596013fad97b83ba552140c6957ef443ccec4051b2a8c9cd9f25c4cf6bdc2e904f46063e319643283462a4047d49c38bdbb0ee3d87980ec08410d5d2dee8e5349958e4178aba065a55d79d89080570fd4af5678b1573e42f2e0f863b31bb4e19ba232c02ae5b8f948d1ce8145c4968d24b56ac930b4f67047257f3c0b86bce7a77b8d0d87124c4a4141409ac11377fb9fc805d60012386becc2ba8478e663becc3d73239ce3036c2d2fc9e6e2e370c2c78053ee1bcef7a87872ef92b784638b84713a5d78ba8c3a868e3466f2275b252e19766d2104ec60537bc1589b1558b76643751f6a60fd8a5102b6c788e0f0490282010100c3c677495c2bd56619e44e26140d2ede0037409b81f3a5b3886a0904eb486140f43b8626af13d14a33918eb72b786b3c9114f39017871528953c09104e1fd2d36b725388f54ffea30373077895a6934ab174e55ca6a12c21923a7b775b5ffaffbd813f9fb752805b016a5735b883c639fedd55ba2e233a6dc1673063d8487390d1676123544d3def177a91caeef98b13f38860474e44993d4c6060926d878a2059855d0de1c794ac8dbdad655fbbad20f152f15c73b95ac544cbb87b8bec8fd3c007ad09d76ae22a5e993302aa72f11deb265a7f28b88976af5d0c912d97b7284b1783c5", + "bc91a6dcb7a9b97fe53713965857742b7e4032dc5141acd4afd4771f0282010100c357cf685f9b8d4e59e96686f7b8752f0a982efbe6658e6bcdb615d921f5e7056882825347455782d7bc78d637e17e0e6810c2136ad81b16cc1c81750785924616f2bdf5964b26c7fc50fa98fb67b746b50812705b379f5deadbd11dcd2fec7b724d042aef25cea2eb37f85b7554d7ad49fe5f47737ff436bded418507f2f175c695e324fbb11beb0544a7a7cb3f07924e291b5c8ddaa6a7dbb07e23bce1960cb52b9000d3a7aab1f58e3c750b6d978adf3d085ae7693b7e6a46cf6dbb6d2ad981f4bca5d15e0962c39066a9fc27985b9ba1f51132355792796a5dd847400804f98671ee4899050bdc2e7872ce6fb2b78b1050436d882425ee0745546a6a1c730282010100a6bbb5460638d2b2f5242aa6657760cdf3731b1415d5f2ee77248f6fe00e31bdc70396da054ba47844791809c9fcf19f90943e671e928e23950d9f4e82aab9bc138b37b7b1ed2219a54b67367c8574762db237d0f39cda5ff110dbac286712f69167ad4f122b3263cf4dc8de58b9e9ade4f08e1d5543ed74223e06c9521f4a45310291892c37e8a262e5a19b2a71decfec1dde997c00125e5158d7867dbfec9466899d59c04b60c4a0a6c5314c1a2375a5f194dbbf37422635d426d719b12c41140fb5806735814ec268493861002977e8982e8493a2ae78251be32315a85b75f6961d44dfb7505c34135987a2288907074fdc015ab1c45f3cd8e91fee6bcdd302820100178cd58f72bf5118da141e6d351e42da69ff90e2839348c94c62a05dae0f744b9d9ee6515ded4930980bbbd1afa8fac687db455a8bee03ce0acb80fbf7ed2d864fabf224d27abaf12f45200123860c7d74c3c55d5051f35fa239e00b24ba9b5b029bb05df0b8f12189141558095c32284d1c62a63d917682c700fc7e2a482abe1533eacf819c878e1cf37af6eab4ed97c0de89d2edb327966310f31421e85c6ba9c7d7b391d0cbee6a793c66abfb09630fa8cf020e960c3b205aeb15029c95a6e558f90950a572a23a8b852507264ae2f86f5d1936a161ae61fee5d3763b8cfbf48d35dd1159895735b350881ec52e999c255a57d6b3ac0ffa935bd36284ea6b02820100484ad86e79415ea3c78af5f6c807cc99decfb14ca1e80c8e6a1ef00ee582d3d180774236a54ec9dc8dbcca51f4da4379cf634f3a07cea4b7748d7b5d94cacd4d474111f92d19f3ab5eb4def8dba57b990844efd28d85344666e283f5d5fb0e6e8d96f07411c882bf280446e49b3b9b15218fc24da34ce8f01e02735920ef48a343b4de11f99b26547a251afa7aaa69083c421e2447b1a989d50712bf8fc35882b63517c7c39843cf67b92645b68c6d8f90331600142e6cb97032a5af6ef7c20f87630c6b25dddeb57f2cc0cd8c8a0661b5f40ed6632989f5d40f33bbfd9be09374483606c2cd7ed8b5fcb8bf3df1f9368a13922b1240c0d25792505b857d3e8d]\n[sha = SHA-256]\n\n# tcId = 644\nct = 0017fdd8d4d7d13d7b7f59dfb2663fc1870cf4e84ba21e57442a4db92bec87c1bb7f673ebd799a2de03d7e350f1473aa3410b3491b3590b8fcced2112ede7bed55bd7a31c39148e80d00220cf2a7088daadf6939fca5dceef4093229a336ad75a947848fae8179cc2ddc2f4bc86b2e6c444afaa2f21cbc36e02c8e53522b9d0306de7032df53f684e544d425c86deb8028cfe80dbf1e0877db89be9fb725360387721bfd1f54158fba744636202c965a9e1caebd599d7f8dadc3029bdd7e711e7f3f9c3f9b21f23b1e742bda0d6bced620eceab15e918511c15dd7bcbbe3f8e56f8c1372e43cc00101efab3320f32d681bd7071b840886e991afc275a20abd5d7542cd4cf6000a3bc05ccf356fb619f0378fb327091f890b89826cbc0613d93f62a30f101deb2a1cb3c59bcd0300d2d78f664cea2d17879c596931680f29329deb4189a3da2fad36c65bea5e69d2299ad5db9320430a9d7d934f8b814279aa4c59470d4627a416742080378352a225c002a35291f64a8d1796a91946161b99e7773f25fcf056f07be195352d58df6b24b40d51634df798b385bef5a447427d02a3dbed7bc4a72cac88d6c7f99cef4b865b34668c5e4672e3c64dcb41fc9ad8002f1a867e7f83f7f2bd1980d8adfc70db242d8ba788dd275271c8b9181aad6ca9c9dec29924de37314d48bb92d8585bc4017803cb7e1b41e52f5fe6b48da0af74\nlabel = \nmsg = \nresult = valid\n\n# tcId = 645\nct = 3299d8465b4b09f26383e5f31e3d887888a7637ebb49228140d7abb47879e376d677433b01df1f2af7d3f4688806804c4824fbdc44f5554f540f0de4e6fe8e1bb7892ba96411c833c4354981caebe8b1de08860c8f0a36a93bf404b7be8211a49365c5a1bdccc3128026f27057c74439998309dddff19e405a1382a88af80c2865aba6cd11ad94a8013367934ee59bb19c01d7d57f94ba6f76d691e595ae0c62c3459e23fb46137091e02c47c8eb13c37c6b2e02ec6b663e5976fa4225dd5be353da9fb475d2e21c86b65aed485bc7ebb2be92b5188a835f1f1adef6a5b0f4df9869b28c36fc7c7084741e28dcad56f5b463caa1232d9ad3432e6cfc067b1eb6662824d17ef5257b89a72c6b7b4ee1c5466d81102a8d9a715abc5cba42c6f730408f3eaf524583142812e9d52ed67571c56bccbe6fdda42a9d1aad69236e8e3efa48bab981c7a02db194171c8b9e85ce1db889d2705a6be80ca9fec92e88de4fbfd5e1d2c5ebec37bc0eb90661e58822b9c473162b22c38660c8e2961d3dca56a45ff2412081d9637da0e39ab39b45dc1d9f6b67a06bdc814df70cce1efe2c755772a6654f2ef7d01a640779621fb4872f08bc5848a70bdbd5b870b8673e277985b92b904a44ea747643582461a2a0ab818d4777090e688ca94fa007e5fddcd4a8b41964dae27ea287671997f92cba5bf57104b41bd4fba14849420387b58247\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 646\nct = 1fb67b4bfa7167ea8224284814f725448c2d7b3c8d904c90c6dc9975d774b8cdef5099919842a7a5946ab4493cac0c821780feacff8de182aaf437ae893323ad0c33db8326d494daa935294927d81359b9738d771f4e0a33d176b318701d6168572282eba0cb82fe905e5818e4605d14bb08bd9e72d0748636260747b7df3c84e540b00e749250dae2454f5de5ca050ef5c1ae787ed044ad82d9209352e0c0d0c115cbc8625a445f15b0467476620a6d6538fbf8fe04d92c9b85632b8b836fa8e8719842432611f57e28d90ae624bc8dcf134d9b5d1a44a46110141e38c7a62e2f606456b7a8af06956e27c678c9b7fbcd8b90f71d9f3b697aca6b9351f08db8805000e39460cf737893587073d55b1054febd69a9bd75cf59616f19dd9b37c99f3d2e2c4b2b0e3cc1e377e26cb937255b754b12425e5a18233138487d47168618edfb30dfd14a8c7c63e93d9a465a3c032ec2b40a2906de051675597374a236142fdbe6e626afa0a0f4217d58143824090b1cf524f739ddff8367b366e9110968d7b7a7cdeb205bdb5d69654a552d51299182d3471ab55e5d505dade303cb2d254e160a0c3ccf01c4e59e836f9d062df2d4b1637a20b6416cbf1a2b7497495891ecb407dadc23135c5eb7770849ce133f47d6d8a1cf498dddcac1236d7f88ad011a597f068f6a66d28bb2b69570bae96df6e3a616bdd1a67622b7727c1bb5e2\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 647\nct = 517f17be5f7869c1bca327e31a610b4f407a342ab91a3b81091eeab0d7b6e5b999932a025b6b46692dfc47a64c78c680f43b69fafa08df239939338eeec0869799e284cdd2dfed0e84dffd197b18518fe72af031921ae1a9324f48b3f7ad2c800c0fa5cccd99bea210d862ebb01b5b9ef2467a14590374d79fddc3defd36415768d46ed6519da741cb7be448354f2b3a8ad8295048fc72d8ab68ea1cb183225c95db40a07fbe6bc17d6ed52a1389e97c717391303dfb59f4df483facd6f5cc12312e50c73556fe0f1e5a88ae94288d9a245e64951ff316dc28d92cd60b4e325613ccc8399eae2714f6178e820220ba4f12ddf420429fcdb5cad752e77e4a50be59f0e2472177eeba2acd8e28f256b1d830b2acf9d3d28ef3b7553467084377cafc89fe1ced8efa7dbc61be52c7b8f44d27075e9a6060a194599474edfcb79abf1e9727d28e94ff14758daa7a97a0a22b9a28bfbfa29ef0ce1b088fba69ed944c90508dd84c7aad11d935a6d0607946138d0f3fa2ed277b255b2f803bc02ac4d479f4d680b86e12c0eca2b54caac1e790ca46d8b74c5191ca34813fffee8b4f98abb684be617bf6970581b36b21abf88ea93bb768b4b32ce384ccdfa45436508aa2f06ded26f9ab55d1fee41077765aea7be5fcfaba871286b146ceb737f488a27d8d0aef6bb25513636196b15d69ca9eb095b7d813e09ac7e83d45e00b99707c\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 648\nct = 87223456a9948331ceff99a03f434657652515066b744308d78da188fcfe7fa8f536fc5a3ec475723ab4afcb3a3d73374c3ed0d7720cab14d36c95855eb56fe159c590c43a6fbfef80ae3d2f5fde9a27d48fd8f89e6b7ae30d95e4d53f9f6119685f957b259b39db767164d7f77d0807c14dc41262194b98dd3400030466f3f87f72638a5dd605f151f8f9ddd590b9d49e58d5b202d001d9400e16062d1b97b7b3d2c8d28e351ddf9cbcc78116784580348230d38c587c9d76340b91db9269b9ad51540f63de9bfc47f56a1ad2a175d3f37bd11460d7e81911047a96208acf89a9a0c99ebba0c08e41f8e0e85f7008e36f35139933a3e4bf5a8a546f4a6cd85b03c7f0f0ac9a5d738ec7422553edbe5eba4b5f2bfc4f913646807cd8e2c81379665b782e01cf7b960df7353de2b9d49e2dbf94213025e51ace674dca9fd94df632d7df45b3f77ed3324b60a63322e9ca85926bc769b6c122906004666a3fdb5d1845186880bf7167f0d933153dfc1d868e01501153a219b3124b4d9a8ece8690816c2204a94e2006cf2b9a715c86142d7aef96a71773e212ba9374f5d07c6e6aa2deefd895cadb502e742b3009f69d56e3a641b1da82743c4d6ed539fe8f985122538e19ce07ff17d826acf20302289e1ad193745fe4e6860dc7b9bb5b2ea7586810a32b99d6e96aadfdad1209d6e6e102d9d453bbb2979b6c891f47cffd4e99\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 649\nct = 57e22ba3164dbd0cb1e739e0a6fae1d37ff40c4473f81e241435dd78676dfc0ef3767bac26138616697c19e8c63b441d7cf991e548597b49481605f451236db60e58460011717ec66145e9b7d9de5a27f3d74ccc25d9a1f0f771e9ec54023dd95ff90d653400a89a866c0a9cff284e69e8e14ef18d7125e15651f0f1ca0177fefd11b2af199d516c8bb1a0c665b308afd8e03e94018b03527eda05b8afed52118b161b628fb05454c4c7dad12d0fa3118bfd29439c6771ec6c577aee7acec871991c1335d4b6c0384018a6c3a426ba810c73e18f135c5f5f2dd27536e989220af7433dfd73f7c5d9b5678c90db854b92dee92766b479949705c236d299370eef3e770951b7e9c08cf0c75c7133437173e1d74d88bd68284c3722ae", + "0629dccf701dbfaa435298562be62d5d549fe92ed3425e951edefc15630813795e338326f0607f41b651125fce512d0772d3cf3ab8978570af6458b205679131624420361e2cefecd80218b3431715bee816acf41b6f8da5eae6d1b6c5a67d77031458d0648a7a1b61102b46ce0874ad7c676d0ad8da5db227787d6cc84c7f6b06e5153810e34151d46d3cf2479c771679e83bfcb05112b6f794edb1a24bf58b705637657e3accaaae525d26f082c1ed020aa8575fc14f8500fcb7c87224a905c924ae1adcc05ac4df121308085cc4dd2ff7f9788150e7c19ca150243eff441ea12fd5d5d3\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 650\nct = 7501cfadd7591bdc2221ea70575879cf7db41c5d4633b37ce6e40dd70f93b5926f570247e3fa2621cc1e5e610ba7d78e15d36ba7389e0d3df2a19308ec69c7de9ec7cf990d071826ed100c46549ccadd0eee8176c23ad9d7d6bcab1244e3f0c38955cfae807f37f5a9eb026cb5bf2246f8ff5130d703fd5c5110892991bb91e796c66ec46134787a563abd71f8ea766f1a14d77a254292e9a443e50f7929b9c4a834ed247be13bbe407fbcbc47e16c991ed0ba8245896101c0d7ebe46704c562db869a71967b400f5555730f6a393c4376209a585c0a16d9b7ffe44b5e86c520ec7f3008a4e7b642b61b9747bd81dd883e57ca0249509e20758cbb2f959a8f50bcec06a00f1e497375bc1d601f95618b3b7a582165d3aaf85a82d6e19524835a4604f84bfeff7ded11cc03cd26b1e319c4ae8d113d2675c5cc09ab32519b8e9a61055cb3fb8b90e4ebf76b4681748e6949ef2b28ce184299305d5adfb13e2757240499f81b5f93e9071edaf205dabe8531a93bad49e7a1d22ce75af35c5c12f38bce0a7295291a968fba5afd3bc7e8f3737c1f98cdb02fd3e30ce8b19d4b881692e944179587ac9a49fa75034f1c8e0489a9c9cff10d6937af915ba9faff35c07fd16699a496220222bf6cb0f6a6c755f5e15cc06bdbb3698e195ba3618bd93b4b61b32fbd90f1b0f3e0a174d9e86a5acf477ea4ad78e8ea5d2374377f508cce\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 651\n# Longest valid message size\nct = 82bcc410b4ca5b7d0660519f8d9c1923e58c10d005c1f6dd124d6c376e3c69826e0c374d9f94f72fa6411178bb9de2116671b075dc5781b4cccbbc774a9be7329e15208fbbfa89fb3a3ab7d0b05b0623c698d661688c461f2c916314ca49d6f9e6fd77b46ec6c528f57ceaff37901987794a9dc2e0d7990404fd074cee66a4780da93d76277fb9e1695801792ccdbef834c7d6c330a1dc3cac82b3cf65dcb3730f04abefd21ca0756042b9d90d1092a5bfe0649352055bd29d3c7f79c6fd5f6eb3a55b75f6b87bb21e3927ee97fa90b496278f6149b85c7feaf46d34d1ac88ea464a3a7a4e680308e088f63884f16a86a5681afa5e11d31f5d4ce7f80f29d0915d3618b450799ccd6fcbaddf4022227932b351b1141aaa0bb0402474ad1e376176975614a07dae91867ef8d7d464f5ef0a06b0f1611498c8cbe9a732cb7e1c213b495235e11d6cd2960217621b93dbfe6439f11e8eaa3c0a9004e4f34dd9e1c9663e7d157f4b9ccbd530d896fc4b000ab0cf44eac63961b768e444f820922396bf8f0b0d4b4da0ad9124dd50e79e906307e85a69dd0328dfc549188776ec48cde510e8bf5997d60190cf1c7e5258423de50d6cabcec14173c8406b11d179a0d435751e4b9fd7c64bd7cffd2ab6e79388b66910fb249fa3c8a2588524db1eb1ee3798cce31e25aa81275994d55a5e33f3006c22d82abfcced2154aaa5e883c0eb\nlabel = \nmsg = 7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 097a59d2c4f70377793937bbbd95d19b5d01edfb1eb3b073e27e4cfed416820d4af4e04cc3f53d272ae43551ad0cd09b89cacb21a595f9f8423b3b0148d2ad46cf818fd9e7cbba18f4f84a1dc18f69ed5a764c6fa191a3664fa94a39bafb1a29431e6fedf61eb9164dd7684f0cb506248121fa948a32c8733f3d9453dae61c8708b2500582f32d91128775265f18bcab6eb170145e33dc40f1bab451194cf8c38f9fa91806bd225fa4b54ca50813b9d7a54f61e0000e5e0769cb2a3eb99b1ae9c3c5416dac83a6f91248c734d7e63291ce12de4d780703614128f878f29015801c7a5ec7670e531e1573ebc8ce63d640b01b9aea48b43d1eea8ad85b55423d4e142bcf73315f3e9e978b65f0556246066596013fad97b83ba552140c6957ef443ccec4051b2a8c9cd9f25c4cf6bdc2e904f46063e319643283462a4047d49c38bdbb0ee3d87980ec08410d5d2dee8e5349958e4178aba065a55d79d89080570fd4af5678b1573e42f2e0f863b31bb4e19ba232c02ae5b8f948d1ce8145c4968d24b56ac930b4f67047257f3c0b86bce7a77b8d0d87124c4a4141409ac11377fb9fc805d60012386becc2ba8478e663becc3d73239ce3036c2d2fc9e6e2e370c2c78053ee1bcef7a87872ef92b784638b84713a5d78ba8c3a868e3466f2275b252e19766d2104ec60537bc1589b1558b76643751f6a60fd8a5102b6c788e0f049]\n[e = 010001]\n[keysize = 4096]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00956353ecb7561945dc5544e4602466078c93f28507701ffd39e2a9813c8ac8740e6ad61c955d484e513b3dcea527e001a018ee2c207c1806a96763280236cd3c820dff79837c9b709cb4b522d3ddbc9192242259c43be75ea244d37ccfa8a4c75024a2cf7cc76e842ea69cc7ca1227405b070047387a5068e4976e4b8ed5f9aadd7b4db024fbb8d7bd8a040d8f6610c1c6eb1d4b606dfd182235d0360880304d5a750603af0c424b8c8e6dbc12c3697d2d609c97547e774e2e362ea96d1690dc9432112c535258b3db2c4c32ad510d6c07ad0788357883869efb8b629298724847925cf42b34386be700f02903db5852276bee2370941f397bdc3905e30964a0b5e73602703340960c3ed6078263b611f197955fecce4b9a32e43cd1d2e5e87c4ceb65edc8853a7ee31d28e16e5adffb8ac7b760fbfc63d5f174f4d0936461dbb12c964a6b6d6cee752e5fca1ab4a9fd238dd3e8860a1d763d2019f9e7b99ed7666d4e038710f90e0093bc566987d6c0092f571376e705b342d066c54e6e2578927b92c1f0928de44e9a6e1f49b907c6aa4f605ec9c398d55df81c67373b03cc8110162fb417f96fd321048647dfcbb392455115cd912ea83351853e6a185284648842adcbd25e67174a3b93b8a64ce2ce9de0e8577b8b662ce32e2565782665dd38e5bb5fcc4fe12e4320dab7773b545a09c6d39d9dbad459f21f3e624ee6ed]\n[privateKeyPkcs8 = 30820942020100300d06092a864886f70d01010105000482092c308209280201000282020100956353ecb7561945dc5544e4602466078c93f28507701ffd39e2a9813c8ac8740e6ad61c955d484e513b3dcea527e001a018ee2c207c1806a96763280236cd3c820dff79837c9b709cb4b522d3ddbc9192242259c43be75ea244d37ccfa8a4c75024a2cf7cc76e842ea69cc7ca1227405b070047387a5068e4976e4b8ed5f9aadd7b4db024fbb8d7bd8a040d8f6610c1c6eb1d4b606dfd182235d0360880304d5a750603af0c424b8c8e6dbc12c3697d2d609c97547e774e2e362ea96d1690dc9432112c535258b3db2c4c32ad510d6c07ad0788357883869efb8b629298724847925cf42b34386be700f02903db5852276bee2370941f397bdc3905e30964a0b5e73602703340960c3ed6078263b611f197955fecce4b9a32e43cd1d2e5e87c4ceb65edc8853a7ee31d28e16e5adffb8ac7b760fbfc63d5f174f4d0936461dbb12c964a6b6d6cee752e5fca1ab4a9fd238dd3e8860a1d763d2019f9e7b99ed7666d4e038710f90e0093bc566987d6c0092f571376e705b342d066c54e6e2578927b92c1f0928de44e9a6e1f49b907c6aa4f605ec9c398d55df81c67373b03cc8110162fb417f96fd321048647dfcbb392455115cd912ea83351853e6a185284648842adcbd25e67174a3b93b8a64ce2ce9de0e8577b8b662ce32e2565782665dd38e5bb5fcc4fe12e4320dab7773b545a09c6d39d9dbad459f21f3e624ee6ed020301000102820200097a59d2c4f70377793937bbbd95d19b5d01edfb1eb3b073e27e4cfed416820d4af4e04cc3f53d272ae43551ad0cd09b89cacb21a595f9f8423b3b0148d2ad46cf818fd9e7cbba18f4f84a1dc18f69ed5a764c6fa191a3664fa94a39bafb1a29431e6fedf61eb9164dd7684f0cb506248121fa948a32c8733f3d9453dae61c8708b2500582f32d91128775265f18bcab6eb170145e33dc40f1bab451194cf8c38f9fa91806bd225fa4b54ca50813b9d7a54f61e0000e5e0769cb2a3eb99b1ae9c3c5416dac83a6f91248c734d7e63291ce12de4d780703614128f878f29015801c7a5ec7670e531e1573ebc8ce63d640b01b9aea48b43d1eea8ad85b55423d4e142bcf73315f3e9e978b65f0556246066596013fad97b83ba552140c6957ef443ccec4051b2a8c9cd9f25c4cf6bdc2e904f46063e319643283462a4047d49c38bdbb0ee3d87980ec08410d5d2dee8e5349958e4178aba065a55d79d89080570fd4af5678b1573e42f2e0f863b31bb4e19ba232c02ae5b8f948d1ce8145c4968d24b56ac930b4f67047257f3c0b86bce7a77b8d0d87124c4a4141409ac11377fb9fc805d60012386becc2ba8478e663becc3d73239ce3036c2d2fc9e6e2e370c2c78053ee1bcef7a87872ef92b784638b84713a5d78ba8c3a868e3466f2275b252e19766d2104ec60537bc1589b1558b76643751f6a60fd8a5102b6c788e0f0490282010100c3c677495c2bd56619e44e26140d2ede0037409b81f3a5b3886a0904eb486140f43b8626af13d14a33918eb72b786b3c9114f39017871528953c09104e1fd2d36b725388f54ffea30373077895a6934ab174e55ca6a12c21923a7b775b5ffaffbd813f9fb752805b016a5735b883c639fedd55ba2e233a6dc1673063d8487390d1676123544", + "d3def177a91caeef98b13f38860474e44993d4c6060926d878a2059855d0de1c794ac8dbdad655fbbad20f152f15c73b95ac544cbb87b8bec8fd3c007ad09d76ae22a5e993302aa72f11deb265a7f28b88976af5d0c912d97b7284b1783c5bc91a6dcb7a9b97fe53713965857742b7e4032dc5141acd4afd4771f0282010100c357cf685f9b8d4e59e96686f7b8752f0a982efbe6658e6bcdb615d921f5e7056882825347455782d7bc78d637e17e0e6810c2136ad81b16cc1c81750785924616f2bdf5964b26c7fc50fa98fb67b746b50812705b379f5deadbd11dcd2fec7b724d042aef25cea2eb37f85b7554d7ad49fe5f47737ff436bded418507f2f175c695e324fbb11beb0544a7a7cb3f07924e291b5c8ddaa6a7dbb07e23bce1960cb52b9000d3a7aab1f58e3c750b6d978adf3d085ae7693b7e6a46cf6dbb6d2ad981f4bca5d15e0962c39066a9fc27985b9ba1f51132355792796a5dd847400804f98671ee4899050bdc2e7872ce6fb2b78b1050436d882425ee0745546a6a1c730282010100a6bbb5460638d2b2f5242aa6657760cdf3731b1415d5f2ee77248f6fe00e31bdc70396da054ba47844791809c9fcf19f90943e671e928e23950d9f4e82aab9bc138b37b7b1ed2219a54b67367c8574762db237d0f39cda5ff110dbac286712f69167ad4f122b3263cf4dc8de58b9e9ade4f08e1d5543ed74223e06c9521f4a45310291892c37e8a262e5a19b2a71decfec1dde997c00125e5158d7867dbfec9466899d59c04b60c4a0a6c5314c1a2375a5f194dbbf37422635d426d719b12c41140fb5806735814ec268493861002977e8982e8493a2ae78251be32315a85b75f6961d44dfb7505c34135987a2288907074fdc015ab1c45f3cd8e91fee6bcdd302820100178cd58f72bf5118da141e6d351e42da69ff90e2839348c94c62a05dae0f744b9d9ee6515ded4930980bbbd1afa8fac687db455a8bee03ce0acb80fbf7ed2d864fabf224d27abaf12f45200123860c7d74c3c55d5051f35fa239e00b24ba9b5b029bb05df0b8f12189141558095c32284d1c62a63d917682c700fc7e2a482abe1533eacf819c878e1cf37af6eab4ed97c0de89d2edb327966310f31421e85c6ba9c7d7b391d0cbee6a793c66abfb09630fa8cf020e960c3b205aeb15029c95a6e558f90950a572a23a8b852507264ae2f86f5d1936a161ae61fee5d3763b8cfbf48d35dd1159895735b350881ec52e999c255a57d6b3ac0ffa935bd36284ea6b02820100484ad86e79415ea3c78af5f6c807cc99decfb14ca1e80c8e6a1ef00ee582d3d180774236a54ec9dc8dbcca51f4da4379cf634f3a07cea4b7748d7b5d94cacd4d474111f92d19f3ab5eb4def8dba57b990844efd28d85344666e283f5d5fb0e6e8d96f07411c882bf280446e49b3b9b15218fc24da34ce8f01e02735920ef48a343b4de11f99b26547a251afa7aaa69083c421e2447b1a989d50712bf8fc35882b63517c7c39843cf67b92645b68c6d8f90331600142e6cb97032a5af6ef7c20f87630c6b25dddeb57f2cc0cd8c8a0661b5f40ed6632989f5d40f33bbfd9be09374483606c2cd7ed8b5fcb8bf3df1f9368a13922b1240c0d25792505b857d3e8d]\n[sha = SHA-256]\n\n# tcId = 652\nct = 48b29ff276452ebcaa7f74bbfefcaa0cbba598beca99a178594baba98b126b2679e7d64876c8fe07e39f1f3fdd5c4f664a1ab314bcb75f1e906643fc4c786d66e90cac12b8c23aef35c4727451cb033d889e2a30eecd2f8d5091a6d52170ac6ce579c9c49701461185196aec6a380e2504833609b359d33a436f2c63bfea9a70e803f06644a0ca725a4c5b9b01cec93c01cbb79f9a17c401728325e17bfc9750dd19cfc127b9dcff8951a78023b9e30ef7ab628084d04f64a4be3b6d7d3da9d0a94d692a4cb275a7f509aac8dd2db4f797a374aa880c2d646d23760c51f3e0c00601b4c05f6e618372edb7d3a6f5cc9a26b5095adbff2134450b1ba238dbb9b3952f4d055f6d486e27e8cf6ff773896a0fc2991fc5ee046f6e81cf948afb12d669cc020b3aa3f14a18cd63830964c9662fcd3860fc461694ab3c6dc4f85fb4fa527f77e944e7c13b94c23fd0fd517a30dc00212d15bb25c00d48a36db8bdbdcc398fd6b1d229c762f7bf6e99d5452f69b91b073d866884a6e34c4608ee1df0733e592e339eedd59554e85be57c0a9689b69fac6e010d35c9c823a37f6f854c5247db77d54fd784ba82ea4e3bf776413376b4bae99c02a0226abef411f1d56ba7da24b72a1a5f74ab9d7431af7fc940d2319ce81dbc51390096d42a3072291ccb44f3db326cffac084c6a73c0b92919d6039e0ddaa9fe8ab1d65aff8b22cec120\nlabel = \nmsg = \nresult = valid\n\n# tcId = 653\nct = 0788a1201bac2e27ee3c704ab8172cd45416bc353eddb23477841fd6e13d87b9926231315d26ccb3694064ed9c52ecf401c9be16f4e70e3d7c4eea6a2b20f32b53e94c9d26d10e60a3fc37983c4f63b46be3c04f66305c4aa23d409c9875ebf238a1d999114c9ce8644e7a93a8caf0cd006be19164508142b36000a3e3a3b8bcd445f9193ce9bc2100b4364d4c88cb5001b8fc6314cc782f469061cfa7cef3c3450121c8de529bb8d41b1cb6975698b138cf9e0460b15f10baf335cb8d680146f801de67dac74b0311059252960d59b734295f33c9f8506b6940698fb0467e746240366a49da355582831cd2d99be95057e9560c95f86931843633119218bfd2f353ffcd64983a5bcd4802acc68a0064f9da51d585c1e38310957db7373b76a3e376846614bc9271d2045fea65a6eec059cc7647c94318166fe53dd19b6e8994caf8fb0ba888f0b9b89071649299f95512c3b459ff6e3b1636c51213108c3140ce88ff377b3f36da31e85c46d5a479ddecc07899a5c175818881ea30d9a5a21b3abbbc1dfdfbd40cd6849c1312c4a89360ecbd5c1fd90c759563b0700a945bdc03a0b7888b893ed8c50149983a7e18668dcf61effd03ac8cd9d730ee55a0adfbfaad873b4b7e1923bf839a5e3df9bc634b15076379de0705150f03897142daac961c8f99a5dcbea953f2e29681546361fefa495afdb116f789ebf9815f271c55\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 654\nct = 3ee1f8fe284d3b84ecaa5f48ce36661a7842cab4f4aac4019e0e7e4506f1baa27539e468877d1e41bee136782ccd335c23640316a24fdd13e9257062fb40f102e0b482a4b589537d0e417f3db7df51c7f8a5094888981132fbc8236b79f2463b969e12c621121e697445cc80f7d0abbb31548e0b732b014b9c40b4481896c47d4d6194346f49fb8ab3c69e3a9e282a5ddab98140a798f4811b1dc4f5903f44cfe029b7038ba28d806bbd42213d5235180f33161efdc80bdd1424fee3e475dcb353f79a1fd23097f20b54afeca8d2123830e9a706bd6d827be20089a464d2df133a631db522dbc7ebddb06125c112644cc41dfc1ba6a924f7b32fc9a315626f6157aa9fdfa9979a73db2f8ee054e534b4f00235daf2fb967189720f8196986697609a45e1586fc6321a2ccaf745bcd99d69135edb45734fcd27698a87b8b3d95f426f63c5addec03201fa33ac224deb25c1cb5e1e32c7c0b895166ae10cc1b9c270a075619364650d78a2119816b17d808d44d2169022cbc5cc64f80b042ef6def97eaccac3a45c497bf2e43d823c1468167d3dc824fce8740e811c21d3e7b2289bf5c09d722edb94bcd7ac47427ce90c944279d898cd7d975d6a200ebd00104238be33bb85730c0edbd41ad4106855567be674a73b325e508483cb897cdc25aa678f0379fe121795cb858527e72c8a62dba7612104dd796d538d4d9ba80277a4\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 655\nct = 0122a411f6c18869d9d071d89fec1f8d91a658d644a5da66453ad0f0fef2d07146e6a96c87dc4bc5e2d5c65cbf493289d4c9dbb3ee79dba765c71d74d8f0f0e9342f39e8621d791c813e004383fa970001c72a859ee9d01ff9920a650cdb08c11e95df70fcd3bff1f21bb4838a9534f815085238a9f860c27ad6e3075ece222d7d035732c4ed6d4d4fbc64d153da106eb58676f527e7867a7c46dd86c0f55451cfd22b07897f84621765215dd8e2814ff9d9a9cbf828d594c16ac10074689ee3472280fbc14c5f723286f2ca0f15f4b91e25559e77c244be757c18ce7743fbd0151419a1317b82407ee16e2a5b970a660706d0b4de8368ea542ea576d1c0dbcf03e07f646b42a78e430a39eaf5e48ead2d6d0cb360dbd6188d364e4a8e2b0094c698adf864724dc7098b4dda564d16edf775060eb7d26c15692878b93af87c3cf79027ebad55a08ff9f04e863d3d56dc9534d48edac17888342ab8c1bb28d8681bfae21bee0139c16ec1f6a60f2fc4927556a56c036a13e27eed7b056d5e92e296a5b7993a83f788ab0f943b56ab2622b732d717b2a6a46ceb5b9361430c8e8cc05dfdb2af949702d03a1a2b438e1612293a05ded6733e95fa17f24a06e573dd722175195e21f1f5a408ad2d72c8cc788de6d7d02da851f64a59bc64fee89eb1ffb06addb5459871a4614d6652374ed29811d3ecbb04a6646dc261e8aac5f109\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 656\nct = 01f290bc344f5b28bbee4f37d113bb1eb5c9ab3a6e735b9ac13ee65aa42a18ac22b51c684a34b969de549af295d48235bc0c46bad9e5ceb6a0ddfabac4dee6cdaffedda65556e951ecca0dcd8d1ab708176c1d665436ee2e3e9810dd2ecc508b232b3345708d3f2acd95727a2a1f8a612da88865c39652c8de64ac37236fbd0bf6aef4519821363e0be2391b7b0279605d193e4ac96caf52fdf1b71807cd37458f28bd4557f8c9b6db47c72b468f8bd643b8176bced97db6657a59c146b78389ee5d7fa3a463cf2d207b0cb68fe760b83a62462b42398ce7109b3d00b991f5ea915501b6c31d1d7a388b14a995f9c415a108542d375015bad8950f0be42f64c09eb54e39fdcea2efe61e2fdcffa740a71ecc94051c073c66e38e47f9f3161bc6b325123fe3c02ecfcd1d4b811569d95f1eebc7135fd7118cdda6bc24546b5d84622b796c289d7cfddf7d0f34705666b9263e6b9b8c070b28b6853c06fad4b8e538de222799b65f4efedd7d7435d3eb6aa30bc3827247374447ac92dcc59825b5b1e7c636f77db09411ca764366bf3db3bf39d1803034cf76cf59202e664f0cc0bfe03e67c83334196efc95d1f57385150212613147d149d4e6f4f994a544abd82f7eca54c8f8bce8bdff122079196014832547d1f50a9123ea130bc93a4c5ac43edcbfc4fa0f2804a31fb2061868f401e98f2b92a0d9cd2e260ac119fa06664b\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 657\nct = 185bdb913b9dee3ba4d6b27a945258beb43ae70909b6f5a2011256c1a743a6e2e14dad48a92ef6cbe1452306c5dbc77266590476febcce9eb6f64ec7e8d0f233749770275271e79c1980a247c0571dabf207b9d9afe8b6c3ad6f6c5b77c83f445cadbd77c043d5428acd6a55f6104c102240bfb9bd9e82d6db53547abc11537188ffce7d688b116527992f2501ae917f7aebbce1c402693c32ec29611afe7b6709667a65a6b38a6029a6ea884a7659353c29f49398de3c16e6d06e33d", + "d186b14e7e04660c7d864954efe5c9157f178b4b9af46f12bf5fb083bbefeab1fc97114d45f08ff8389e93945afdb56a13eb3a86c64a8b33ee46349289cae37cb4f0b9ddbc306464b7574dfcea969398e6d8720125aa72fa7513ce8cf11502444594012024345e3bc716639cc1814ed18d14eee2251d20464a43bd018a9243dfc8e1d122f1d84664bf1d7e2b63236c3991929fe20d44030d17be9990e11cebfd07836e7ba4e7fa960d88cbbd23859135d2e7359a85e99e1fbb8e97ec736bb9ededf2eaa94c3165c46cdb5e289fe4b243e8e25f3969a39b307840990eef3d8b0db5d515e65833fdd59cf83c152e06f9a066623cba2fbbe233541121295566c0f2ac6150fc0efd89e2cdf7b0972a5efb7302b078816279069ad2e89016cc82add02f9aaacbc26af2cb8494d333c6e33f29a9e237df6dfb5c8e5bd8868c3a66a02bce69e9b\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 658\nct = 7aa5fee8dd85b6fc0c75c86d72fe6c742ecb062a036bbd3796af044378669c2162f6f9c9470e1dc8edad8a41de37411b21c865c0d04a2a4a8cbae941258aecc1bc436e96ab7d66aa1b866e9b3018a56366eaefaf92a1af51d5a901900739eecf07f05748b76565e386efcc8a717f39cf0a163dbfd7b1b02d78f96c4688143a80ea589df83c78440f5c53a1a79fa7265f5e1c15cf8348b8b7abbfc1739a9fdc8a30e25c2081b44437935fdcd19682cff42627b223d796d1cd3437fb12aeb990bf5dee03ec6fe8f0634dc0545d0390facc7fea02b5609f0b37e4bc5f2a5e26868ac3042fac5589457b482bf1c144c239e2a96bd80a813e67d36b4e43cb89450289ab3fd7d377cdcaf9b40811ecc5aa3704086dce9a893d1b19d9f957dcfc283d0ff1a4bdd7f3351314bd5e10a22b2a469615feab35e9966e758c5c2742c35d42659533fbf50693dd1efccaf1787de3c7f66b8c0df90754ca851caf2341b9a7004a7eb8e34cf232a6bc0e993db274107d4d734bb996803a4b335e1ce32d0453450a6fa871430827fd49123849993f421084c60880e3b6e4d33771a1bb255535616544cf4c016c416cd8b9b92c3ed61214972e86a901560c1721fef866ea7044a2c89cc2cba85fb25df521daa90680fb52c2a0baeac9d5942c851fbf5f1e88d522e759aa342d15be1b72f9815c0debd081e9881fba247dd6858890fdedc8838e9448\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 659\n# Longest valid message size\nct = 2049694bab04b950f76d997385c150446040ae3373d4f868e852cbc4047ddf2648523a963df01a9a383e8a8a47a6abaf900de879414fe360d8eeb36e805ba2821d64a536c7e9f3c013d72cfef75038007cf546bc418d5e612d2ec9a41d9ff6807f8a2def511b09743b28514ec61139abe25a6087348d66f18b0a80a58f7fd91d019117c3b223057b8229f07d22c3af1f37b92c1c7fe8f27ed23729926bcd1f8470eb84da9b8991ed03ed9420b029eac8fdb6c76142150d1216a9d0622bea7d168c8019cedb9db6b984232a97385fbbba76ee260b8712f805f8e1e6fc966c9edbb4836137cf8519961f2ae1134867928ab4a517f6c4148500492e5a70cdc756df38f55b6b93ab81651e6edbd434cbd7f41245cddfa884b5e6ccae02cd19e1714ac3537966a113ea8cdf31b73ab55935af37a27420a6b0c8aaf225ed93e4250392b67cfe09300596836050ca95f16f1e2913eb3118faae6026571bba1803c0b133c5c39b6d8e9db60470b193760efb1d229ed1b5f867636f890c96dd16e454ff3bf75c54a1ace011d8c5d85a0ea3723bb3461369ceae212f0632b50f0dc0feedacfe701beea123f7c2ce22173a1fca90c2a861769ff9bc7bffc4d04d5e8107dcb4a1a49d9fb5dc3d806a0aefc1622935230a617009831f58adfdd08426ac70c688297b89452581b094a21beafbe33547f68812433b41227b87855b205aac11c970\nlabel = \nmsg = 7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 097a59d2c4f70377793937bbbd95d19b5d01edfb1eb3b073e27e4cfed416820d4af4e04cc3f53d272ae43551ad0cd09b89cacb21a595f9f8423b3b0148d2ad46cf818fd9e7cbba18f4f84a1dc18f69ed5a764c6fa191a3664fa94a39bafb1a29431e6fedf61eb9164dd7684f0cb506248121fa948a32c8733f3d9453dae61c8708b2500582f32d91128775265f18bcab6eb170145e33dc40f1bab451194cf8c38f9fa91806bd225fa4b54ca50813b9d7a54f61e0000e5e0769cb2a3eb99b1ae9c3c5416dac83a6f91248c734d7e63291ce12de4d780703614128f878f29015801c7a5ec7670e531e1573ebc8ce63d640b01b9aea48b43d1eea8ad85b55423d4e142bcf73315f3e9e978b65f0556246066596013fad97b83ba552140c6957ef443ccec4051b2a8c9cd9f25c4cf6bdc2e904f46063e319643283462a4047d49c38bdbb0ee3d87980ec08410d5d2dee8e5349958e4178aba065a55d79d89080570fd4af5678b1573e42f2e0f863b31bb4e19ba232c02ae5b8f948d1ce8145c4968d24b56ac930b4f67047257f3c0b86bce7a77b8d0d87124c4a4141409ac11377fb9fc805d60012386becc2ba8478e663becc3d73239ce3036c2d2fc9e6e2e370c2c78053ee1bcef7a87872ef92b784638b84713a5d78ba8c3a868e3466f2275b252e19766d2104ec60537bc1589b1558b76643751f6a60fd8a5102b6c788e0f049]\n[e = 010001]\n[keysize = 4096]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00956353ecb7561945dc5544e4602466078c93f28507701ffd39e2a9813c8ac8740e6ad61c955d484e513b3dcea527e001a018ee2c207c1806a96763280236cd3c820dff79837c9b709cb4b522d3ddbc9192242259c43be75ea244d37ccfa8a4c75024a2cf7cc76e842ea69cc7ca1227405b070047387a5068e4976e4b8ed5f9aadd7b4db024fbb8d7bd8a040d8f6610c1c6eb1d4b606dfd182235d0360880304d5a750603af0c424b8c8e6dbc12c3697d2d609c97547e774e2e362ea96d1690dc9432112c535258b3db2c4c32ad510d6c07ad0788357883869efb8b629298724847925cf42b34386be700f02903db5852276bee2370941f397bdc3905e30964a0b5e73602703340960c3ed6078263b611f197955fecce4b9a32e43cd1d2e5e87c4ceb65edc8853a7ee31d28e16e5adffb8ac7b760fbfc63d5f174f4d0936461dbb12c964a6b6d6cee752e5fca1ab4a9fd238dd3e8860a1d763d2019f9e7b99ed7666d4e038710f90e0093bc566987d6c0092f571376e705b342d066c54e6e2578927b92c1f0928de44e9a6e1f49b907c6aa4f605ec9c398d55df81c67373b03cc8110162fb417f96fd321048647dfcbb392455115cd912ea83351853e6a185284648842adcbd25e67174a3b93b8a64ce2ce9de0e8577b8b662ce32e2565782665dd38e5bb5fcc4fe12e4320dab7773b545a09c6d39d9dbad459f21f3e624ee6ed]\n[privateKeyPkcs8 = 30820942020100300d06092a864886f70d01010105000482092c308209280201000282020100956353ecb7561945dc5544e4602466078c93f28507701ffd39e2a9813c8ac8740e6ad61c955d484e513b3dcea527e001a018ee2c207c1806a96763280236cd3c820dff79837c9b709cb4b522d3ddbc9192242259c43be75ea244d37ccfa8a4c75024a2cf7cc76e842ea69cc7ca1227405b070047387a5068e4976e4b8ed5f9aadd7b4db024fbb8d7bd8a040d8f6610c1c6eb1d4b606dfd182235d0360880304d5a750603af0c424b8c8e6dbc12c3697d2d609c97547e774e2e362ea96d1690dc9432112c535258b3db2c4c32ad510d6c07ad0788357883869efb8b629298724847925cf42b34386be700f02903db5852276bee2370941f397bdc3905e30964a0b5e73602703340960c3ed6078263b611f197955fecce4b9a32e43cd1d2e5e87c4ceb65edc8853a7ee31d28e16e5adffb8ac7b760fbfc63d5f174f4d0936461dbb12c964a6b6d6cee752e5fca1ab4a9fd238dd3e8860a1d763d2019f9e7b99ed7666d4e038710f90e0093bc566987d6c0092f571376e705b342d066c54e6e2578927b92c1f0928de44e9a6e1f49b907c6aa4f605ec9c398d55df81c67373b03cc8110162fb417f96fd321048647dfcbb392455115cd912ea83351853e6a185284648842adcbd25e67174a3b93b8a64ce2ce9de0e8577b8b662ce32e2565782665dd38e5bb5fcc4fe12e4320dab7773b545a09c6d39d9dbad459f21f3e624ee6ed020301000102820200097a59d2c4f70377793937bbbd95d19b5d01edfb1eb3b073e27e4cfed416820d4af4e04cc3f53d272ae43551ad0cd09b89cacb21a595f9f8423b3b0148d2ad46cf818fd9e7cbba18f4f84a1dc18f69ed5a764c6fa191a3664fa94a39bafb1a29431e6fedf61eb9164dd7684f0cb506248121fa948a32c8733f3d9453dae61c8708b2500582f32d91128775265f18bcab6eb170145e33dc40f1bab451194cf8c38f9fa91806bd225fa4b54ca50813b9d7a54f61e0000e5e0769cb2a3eb99b1ae9c3c5416dac83a6f91248c734d7e63291ce12de4d780703614128f878f29015801c7a5ec7670e531e1573ebc8ce63d640b01b9aea48b43d1eea8ad85b55423d4e142bcf73315f3e9e978b65f0556246066596013fad97b83ba552140c6957ef443ccec4051b2a8c9cd9f25c4cf6bdc2e904f46063e319643283462a4047d49c38bdbb0ee3d87980ec08410d5d2dee8e5349958e4178aba065a55d79d89080570fd4af5678b1573e42f2e0f863b31bb4e19ba232c02ae5b8f948d1ce8145c4968d24b56ac930b4f67047257f3c0b86bce7a77b8d0d87124c4a4141409ac11377fb9fc805d60012386becc2ba8478e663becc3d73239ce3036c2d2fc9e6e2e370c2c78053ee1bcef7a87872ef92b784638b84713a5d78ba8c3a868e3466f2275b252e19766d2104ec60537bc1589b1558b76643751f6a60fd8a5102b6c788e0f0490282010100c3c677495c2bd56619e44e26140d2ede0037409b81f3a5b3886a0904eb486140f43b8626af13d1", + "4a33918eb72b786b3c9114f39017871528953c09104e1fd2d36b725388f54ffea30373077895a6934ab174e55ca6a12c21923a7b775b5ffaffbd813f9fb752805b016a5735b883c639fedd55ba2e233a6dc1673063d8487390d1676123544d3def177a91caeef98b13f38860474e44993d4c6060926d878a2059855d0de1c794ac8dbdad655fbbad20f152f15c73b95ac544cbb87b8bec8fd3c007ad09d76ae22a5e993302aa72f11deb265a7f28b88976af5d0c912d97b7284b1783c5bc91a6dcb7a9b97fe53713965857742b7e4032dc5141acd4afd4771f0282010100c357cf685f9b8d4e59e96686f7b8752f0a982efbe6658e6bcdb615d921f5e7056882825347455782d7bc78d637e17e0e6810c2136ad81b16cc1c81750785924616f2bdf5964b26c7fc50fa98fb67b746b50812705b379f5deadbd11dcd2fec7b724d042aef25cea2eb37f85b7554d7ad49fe5f47737ff436bded418507f2f175c695e324fbb11beb0544a7a7cb3f07924e291b5c8ddaa6a7dbb07e23bce1960cb52b9000d3a7aab1f58e3c750b6d978adf3d085ae7693b7e6a46cf6dbb6d2ad981f4bca5d15e0962c39066a9fc27985b9ba1f51132355792796a5dd847400804f98671ee4899050bdc2e7872ce6fb2b78b1050436d882425ee0745546a6a1c730282010100a6bbb5460638d2b2f5242aa6657760cdf3731b1415d5f2ee77248f6fe00e31bdc70396da054ba47844791809c9fcf19f90943e671e928e23950d9f4e82aab9bc138b37b7b1ed2219a54b67367c8574762db237d0f39cda5ff110dbac286712f69167ad4f122b3263cf4dc8de58b9e9ade4f08e1d5543ed74223e06c9521f4a45310291892c37e8a262e5a19b2a71decfec1dde997c00125e5158d7867dbfec9466899d59c04b60c4a0a6c5314c1a2375a5f194dbbf37422635d426d719b12c41140fb5806735814ec268493861002977e8982e8493a2ae78251be32315a85b75f6961d44dfb7505c34135987a2288907074fdc015ab1c45f3cd8e91fee6bcdd302820100178cd58f72bf5118da141e6d351e42da69ff90e2839348c94c62a05dae0f744b9d9ee6515ded4930980bbbd1afa8fac687db455a8bee03ce0acb80fbf7ed2d864fabf224d27abaf12f45200123860c7d74c3c55d5051f35fa239e00b24ba9b5b029bb05df0b8f12189141558095c32284d1c62a63d917682c700fc7e2a482abe1533eacf819c878e1cf37af6eab4ed97c0de89d2edb327966310f31421e85c6ba9c7d7b391d0cbee6a793c66abfb09630fa8cf020e960c3b205aeb15029c95a6e558f90950a572a23a8b852507264ae2f86f5d1936a161ae61fee5d3763b8cfbf48d35dd1159895735b350881ec52e999c255a57d6b3ac0ffa935bd36284ea6b02820100484ad86e79415ea3c78af5f6c807cc99decfb14ca1e80c8e6a1ef00ee582d3d180774236a54ec9dc8dbcca51f4da4379cf634f3a07cea4b7748d7b5d94cacd4d474111f92d19f3ab5eb4def8dba57b990844efd28d85344666e283f5d5fb0e6e8d96f07411c882bf280446e49b3b9b15218fc24da34ce8f01e02735920ef48a343b4de11f99b26547a251afa7aaa69083c421e2447b1a989d50712bf8fc35882b63517c7c39843cf67b92645b68c6d8f90331600142e6cb97032a5af6ef7c20f87630c6b25dddeb57f2cc0cd8c8a0661b5f40ed6632989f5d40f33bbfd9be09374483606c2cd7ed8b5fcb8bf3df1f9368a13922b1240c0d25792505b857d3e8d]\n[sha = SHA-256]\n\n# tcId = 660\nct = 3eefaa2866abcf66da876ceaa7dfe8c30a651c138a53a1b6ed8929bb2182eaee4fac3bb6eccb98c5242e1893e4626c53569417d2d82a316d7e5be9957cd701281f985dd6f2664b4dc306e3c34cdf923603a989a4ca7920b7ec12ad63d946a79b19d2226c2dfca94709bd5840a990bb04d5336143d45f82b94b6ef20d24576ce9f56432b2b4b77bdf07a79df1c31fa3188373c345b5b9cce348539ee8015fcc6bd5d10490748753f7936a149270804d86c115d782b5a7c678657aaad29253eba7c507a2f467cd3d64d32acfead8d5e3f778a6c8eb2ded2027338ee1b4aba0023eb5a49215565513f5560d8c86a077e4f694c4885ae42068a690d3a40880f4bc85f409eabed71eac947184517e6ff02e566040ad42fa89183a5c71fb4a105174b831c074919c14bc1dc2edf6cdaff168e3a1d92ab5a95cd70f471adfa686d2bbd55e6c2f18cfe5110a8f303c8bf04e316d6dbbdc0785fa411442b18e3f89e6cbec85ed3873a0d102b0e2c0f383e6121b2a364482e6e8b5394594d1c8e628d065dda6467290d62437e06930d9609407a63c1a017afafa45e22cb6124c650535f96fbc9d174d40490edb2540399dc32791750eee8aa20801192f9e13a95a91063492d5ff705d48c5f9b04c02f77ac746fdd43c126983c6fd11675de00d2e80e9b51cee1737a9b42fb98a78db7fb1653bcd81fe0805374c5bfe60c5c8f1e2f8d7c330\nlabel = \nmsg = \nresult = valid\n\n# tcId = 661\nct = 87e2df3412c092250d606f89ee6d74037cb89f6d4ed93b355c75bd5ffb735e10aba0e21c97312bca27c5dffc8a87a036592f6fda6e098f895960900e4d82198c9bf834357ac4f0853b6e4dcd46f2fb2919b9423780d4bd3d7c2e465d9cf37fbe9ec2b3bde9c2f91754eeafa1f32c42a819ce4d9ee459f0b754042631ffccc74f963c6574656ab75a49e5731e344a9bc13d0185ed5e30ef76a0f3be8b827cf1e6769630a1a79fcfb74355f5961b9caf221fa74a395b247670e17004efbcd0b0bf10cb7deae3e0caaf25bdd9d7921a76c033a52bef484a5d9f0990e7b22b6733faabcfb77b8145ca39e866cbc9d6d26eeac1e180580b4ad08d85983ab67646557401b4a51bc480a718594853cca6bb0b0ec091335dc1be47aa544b54b6bd3a13c81f027c0f402e713d17677a9f1a987e8aabcb80d148c743b051750d6154f08c82765657929083e0442624eebec2de3ae422c83ec9bdca26b6b983ffc3462ec7aea947183d3ec63bcbb1c3963a67df7d2637d25bf2fa7daafc77b1f081483dd24f5f49b844ced5035d24555e888a3a98dfe569109ef8887256cbb41b117a119ca01fcda4411e0d709223fcbe16074c1628396ac7ea2b2a598df75589b8763d6912e9cb83ef7882e519706fb0c8a83bdbab4973c9b9bcec1a181f0101cff35c70b817d471b2bcc930209e1220efcec3aa92f146e4353eb1ad445c5ab2db27664a21\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 662\nct = 8337dbbeade9d564c1cac9a2b264e17be309eb6731be4b34817c67a8fb9f04351861792a5cf7717d30294d619660e81a2d66d0ac01f5f7b8db546428d2c7fe1a09fec5c9f430372fd4bea8da7dd3bb59d2b768e4130c80afeccf6add1ef9957f7e00872e48cc25d5b77854e4387419ab8f37ab08b23812a21aebd563cf3411ccb61122ef4c42ec01a1ab49312e72779e2a0cfde3d11be03c2dff337ededa8291f88efe539a1c59e05ea82812eb460ce592ccbeaebb9ebc09c47bcbda24664c0d13ebe38e5df2a4fa74cd943ab0bcdcf2d16539471e2fb6c6c15aa63c877434cee87f173ec49a39d0f94e6ffcf1ca27f09670cdbae608e098eb8fe0cbfc1f1463ce69c6079430608a24068b6bdefc41b001499040c418cc481b7800f27388a0523cb2adff613c4a1338f580011ed530919a05d16f06e58547f278a44b5c17af92de864a55390aad2aecc64c21835fc0030e43e023761bc0204d0cf3ecf0de767a0d68412c3156aed69015d847e1863d080dc02161a44b804fee2528c92e10daf5e8995dbed3253cea5b4329aea1d93fa852f2a7b3b8c8453b92c9cbff57154d1ae17595a76eb1cd470b9b44dd7869eed66fa585a175cb88927a7993349ea1dbacc3992ca5f6c339b84d121338953826236d7d667ce839cc6ef0a10e188674c57c52b2847467de44d4a760033e237621da4aa34626da2665935e617efd787d46ad\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 663\nct = 60813de2d9fbe37d244269f9148719db91542060963d5bfc8480e6b764f7d8d938922023d6f682f7635179612a6672231000c4f61594cc70c8d6e33ed8bdc73880a384b306be6146deb10c450eff909f24501d75dc641b9a6663dfff391a79d9b568ff24010e389c893a31f9c5bfe0fc43df2d534062676afe49c6b4f5ce1a140ba5e5d54f25e9cecc7fd27cdb16532b239f0f8b64bcd0fb7c7dae23c0eff71d6d457b13f0b7dd873180625f5c07226194aff5ef88f93ab310fd553bf402585cecb6b2006ff69233a7f800470a8acc6d794dc5f83fd1ae5de70e806680bd1aca8786891bb41c05c6ffc3cbb2301aa1ce547fa3eb7e4caf14801e410c0083de2f2268b52ba3082fa2b09261930ea52b03b2c122675d2ff336c3ca904fa89760b870882ed9b43889c718111d425a4dec6a139a55425d754027c24dec34979f4e822d17313805cb34e4b1ca6c2d568580708db36b9dc905bc127a60c516c3a116d792e79e9df95e1a9ad89b3dc7ad10efaea65df4bfa586b34f510ab123c8399ec7f4bcc504a4a4ace088048b537f1b7ca6f7fe92e12f362c88fecd1d52bd94f538e21707a9ef79f64d59086bccd7efdd521de5220b8d96ea1961d8086e51fe5e862d21e6134b686c342174450a43be8ce2afcc1d0babb12de9097e5f7ed958e44283397d68830eae7d2d3b8ec06f80728ffb47fcd3389c048bf8f1dbefb6245d59\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 664\nct = 70e162fb90676162cfa0cb6a0c5f7ede61ad9be38ad7b748773e7fcae6f754f828455eea90af9d9da3a641c0255e284db43e2151772575abb8dfa2418c9b5063e043bcad0a4873b80d355af46de4076e929653b6d4efeb51e2b53de49bb79aec19e4ea66eb40925ff2e68a4191fe44830670dfbeaea7050f85cf8d041a68362149ebb03731a6de40aa6d20293c11e5e3b16cba89f9b00bd10dec215c1df2a40ef371dab52b5afbdbef3223fa2ad72780eb6c43e0e3696c6e4896da9973d662d7d2117efceaacc970618d58557cd624272aed7a051300ecb64b20a22eac0629aec05bd096a14ec5e1e0af98ef9b2fb8151151a277bc87e1c0248e260f7cc4af76816914a1ad9415288717a0031e533feff8564a455663abaa92c78c7d1bc9c7dbe3741e78c7bf841f4c1bb9414689ef8c56490b9815be74d2cf9a144761fa146aa173523623f1b415507653073eebca03251d08c898cde79f69fb6687d5cde30057fd812b91b451a6c9a19089e248944844e804e9df736d533753fda625a8ed1f171607763c45f3fb3ddb2f2b0b19e52d82c0b3bf215f15e1e9a565be36824ed20fe7fe2e98357aa1cb8a0bc858e538e0413a49d92f5b4db1d5eb2ab97e19b3baf4020b9fb3e768fa9b47c5e2b8c5f4c8e95a1c3d86586d1cbd1da08ef3efd373d3fc1b7027021c670bfcee40bb222c9e4de2744e3a075c5df6633a55f0e4ca19\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 665\nct = 47d49367afd7d7d5d863c54842c9e7cbef06da5b6062d23f3ddef0d3cbebf26b8c00652ad943721093a7b62a431a0b0d44692147480b42bc4df254a563df455e32cf531dd1cad95f81017d4151466ec12211ba0c147aa1ef1c3b08bf92bf", + "579322ade8ee3459b7c7485a9841bb146ce162e54c3636553a082852ee520666feb012c2f82e4b52996f9a158d33bdb4876b3b0b75a94bf6327bbc84369ab23e6fccb2fedaa4b796e427885a6ca44358f3023b13d76467fa32aed6657688dc53429bdf72668293876771b837a124cc1e9cb408b3523cde6edbb50ad15109de98a8685b6fc40cb866a95e240f109ba5ac9a73ffff65182a480f7381ca83dce95a6665df1f0b8995a0a763edbc23d407aab3dc7e70440d035d83b90236c564663c5d10b7e0f8547f820ca132e0281e81a3d5e449b87c9cad6cd7f6c4c0cf09194007e483f92e28fc6b429914bf52b6872a4f3f1d30c4b1ebe8a69369dda55abf5dbf4616697401ee6894e210f36a1233b45711ff1d8b8631fd3c3c2def1f98c6d2ce03f58f02c142744dd0f8b098dd13e8df29513d1318d0e3557b07fbcf7525da249eda2d5fec4514ce079618e690d2f897f219d94621d6c8db9eb49c1f455280b4909ceacef93f7db6207a8758d3c6757d7e5ff024bb221e538cddea5de45202d8e16187f7f1ba4cbcd157474ae635f8c23a3a40aeb122ee06ad63d297866951fcb8\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 666\nct = 001c6d7cd7c0bdf5ef44c20be4bb0cfa0b8d45e493805708058f773e130ccf8db1fe2a5195e1261220f60e8d50069930623e63e4b64cc150a27ef12fa3b4a80242c7abebd75175e986d2430e177d9fdaa913411a6abb238db27a6bca29ce052167843e6b3afa709f951f2ad2034999e25648637f36de9e65785e5fda4cc102302ee51c07d41ce9f1147f3d03e66f96b7a7d9cbddd7fa48fe1f58d646e8c5d0fce154ca29a657d69476f95ff87e6e08a717adce36fc1206e37a97f10c7c68dbc1db04e492309dd74979284922be380f0b132c840e199d07bad7875ecce1f13690991d8a02f508fa2802f05b04c3ff4517db41d57b591ae4517073d8394e6a236f11abb445faedae22ddcd4a9ecf57ec8c5d2367f4194c9e52dbcf5537579e3bb9c118924176c396ecfd15a9baf334094a862d60f7f93232a14fbc7032178c929f818d0b6c287ec8f6750e9176fa063d0d01756d68be9d7cedcd1b698151e560695254ac8b73cf998515fd015e3397f88e45d7363ff7318f2b707874ef9991d085e24514a95908583c25ae3e77d37ad3730b5b4ce45251a1b74113eaa280a2a8acb0267e4c66e2b0cd00ecbf08a3a0c52f250a0e79f3ff57291b69c0dc312be6a0f9949137cc4a0b4b0515e60c4eb885bb042983313b5ca06d9785b6730b117a3ebe437f6b6a121a1d8ee19c9053cd0ae75fe4c07bc53f7d0f7e1921f7ed497426\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 667\n# Longest valid message size\nct = 636af47ee23addc54a499139f543bab57f75209731af8269a8435079befc7c173c464a5e3d152f2448882fdca4e97810743afbdb1461fe006716b6a599527a9e935daf02b56b86556b3f1b91bd33e448424b0ae7c845ae243b12ee2783630d232c3457aa6bd5d619670caaa4d9fbf8423766fe3d8ab2a9f798376db425b5c49410f762301f8bddc3ccff10543e9061b64ecf0faa6b9c7b9e3ca77366157bff3da9a4e04b16ef0fb228975506b599b161a785d84f1a4dc5866912454c1325526aa65f8e1e809e0d64463dc403d90b4e3a6b6317e240cd48018d1b1ab8f267019cc8351c59abb42d46c52c3cd7af5e02ddb30aa7465d538a89a7885d5321b47a5d2c0d6ad8c4b706189b5b43f8f52d40b5602765a486e9a4b3bc26508682a2abd74181e89f7d5d0543792adcb182d33f711c71dc6136be53bb28d2b379db2c040e2de8eb145a0d625003d41b7ab3c21e0da9cd9a238953a78a581a9cffd0b4d27f9455689ae20c28e57a98cf97f9d6ff318cee49e8ef35d3c6ba2e326e6e2e9b4f717e9c80780ad841ff56829ac94697359c4181517664f0048d3cc3ebc2c4410ddc0572efff9fb4419353baee3d147905da514542a82a6b48095e74406a8d0400d682709adaa20371cd344698a79f6dfaf97f3e549bf9aa97827bbc5e6fcecbfc4be31c564eac2b189902014ea5484bfb58a19f1729c3f7091d26443a0cbc9722\nlabel = \nmsg = 7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 097a59d2c4f70377793937bbbd95d19b5d01edfb1eb3b073e27e4cfed416820d4af4e04cc3f53d272ae43551ad0cd09b89cacb21a595f9f8423b3b0148d2ad46cf818fd9e7cbba18f4f84a1dc18f69ed5a764c6fa191a3664fa94a39bafb1a29431e6fedf61eb9164dd7684f0cb506248121fa948a32c8733f3d9453dae61c8708b2500582f32d91128775265f18bcab6eb170145e33dc40f1bab451194cf8c38f9fa91806bd225fa4b54ca50813b9d7a54f61e0000e5e0769cb2a3eb99b1ae9c3c5416dac83a6f91248c734d7e63291ce12de4d780703614128f878f29015801c7a5ec7670e531e1573ebc8ce63d640b01b9aea48b43d1eea8ad85b55423d4e142bcf73315f3e9e978b65f0556246066596013fad97b83ba552140c6957ef443ccec4051b2a8c9cd9f25c4cf6bdc2e904f46063e319643283462a4047d49c38bdbb0ee3d87980ec08410d5d2dee8e5349958e4178aba065a55d79d89080570fd4af5678b1573e42f2e0f863b31bb4e19ba232c02ae5b8f948d1ce8145c4968d24b56ac930b4f67047257f3c0b86bce7a77b8d0d87124c4a4141409ac11377fb9fc805d60012386becc2ba8478e663becc3d73239ce3036c2d2fc9e6e2e370c2c78053ee1bcef7a87872ef92b784638b84713a5d78ba8c3a868e3466f2275b252e19766d2104ec60537bc1589b1558b76643751f6a60fd8a5102b6c788e0f049]\n[e = 010001]\n[keysize = 4096]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00956353ecb7561945dc5544e4602466078c93f28507701ffd39e2a9813c8ac8740e6ad61c955d484e513b3dcea527e001a018ee2c207c1806a96763280236cd3c820dff79837c9b709cb4b522d3ddbc9192242259c43be75ea244d37ccfa8a4c75024a2cf7cc76e842ea69cc7ca1227405b070047387a5068e4976e4b8ed5f9aadd7b4db024fbb8d7bd8a040d8f6610c1c6eb1d4b606dfd182235d0360880304d5a750603af0c424b8c8e6dbc12c3697d2d609c97547e774e2e362ea96d1690dc9432112c535258b3db2c4c32ad510d6c07ad0788357883869efb8b629298724847925cf42b34386be700f02903db5852276bee2370941f397bdc3905e30964a0b5e73602703340960c3ed6078263b611f197955fecce4b9a32e43cd1d2e5e87c4ceb65edc8853a7ee31d28e16e5adffb8ac7b760fbfc63d5f174f4d0936461dbb12c964a6b6d6cee752e5fca1ab4a9fd238dd3e8860a1d763d2019f9e7b99ed7666d4e038710f90e0093bc566987d6c0092f571376e705b342d066c54e6e2578927b92c1f0928de44e9a6e1f49b907c6aa4f605ec9c398d55df81c67373b03cc8110162fb417f96fd321048647dfcbb392455115cd912ea83351853e6a185284648842adcbd25e67174a3b93b8a64ce2ce9de0e8577b8b662ce32e2565782665dd38e5bb5fcc4fe12e4320dab7773b545a09c6d39d9dbad459f21f3e624ee6ed]\n[privateKeyPkcs8 = 30820942020100300d06092a864886f70d01010105000482092c308209280201000282020100956353ecb7561945dc5544e4602466078c93f28507701ffd39e2a9813c8ac8740e6ad61c955d484e513b3dcea527e001a018ee2c207c1806a96763280236cd3c820dff79837c9b709cb4b522d3ddbc9192242259c43be75ea244d37ccfa8a4c75024a2cf7cc76e842ea69cc7ca1227405b070047387a5068e4976e4b8ed5f9aadd7b4db024fbb8d7bd8a040d8f6610c1c6eb1d4b606dfd182235d0360880304d5a750603af0c424b8c8e6dbc12c3697d2d609c97547e774e2e362ea96d1690dc9432112c535258b3db2c4c32ad510d6c07ad0788357883869efb8b629298724847925cf42b34386be700f02903db5852276bee2370941f397bdc3905e30964a0b5e73602703340960c3ed6078263b611f197955fecce4b9a32e43cd1d2e5e87c4ceb65edc8853a7ee31d28e16e5adffb8ac7b760fbfc63d5f174f4d0936461dbb12c964a6b6d6cee752e5fca1ab4a9fd238dd3e8860a1d763d2019f9e7b99ed7666d4e038710f90e0093bc566987d6c0092f571376e705b342d066c54e6e2578927b92c1f0928de44e9a6e1f49b907c6aa4f605ec9c398d55df81c67373b03cc8110162fb417f96fd321048647dfcbb392455115cd912ea83351853e6a185284648842adcbd25e67174a3b93b8a64ce2ce9de0e8577b8b662ce32e2565782665dd38e5bb5fcc4fe12e4320dab7773b545a09c6d39d9dbad459f21f3e624ee6ed020301000102820200097a59d2c4f70377793937bbbd95d19b5d01edfb1eb3b073e27e4cfed416820d4af4e04cc3f53d272ae43551ad0cd09b89cacb21a595f9f8423b3b0148d2ad46cf818fd9e7cbba18f4f84a1dc18f69ed5a764c6fa191a3664fa94a39bafb1a29431e6fedf61eb9164dd7684f0cb506248121fa948a32c8733f3d9453dae61c8708b2500582f32d91128775265f18bcab6eb170145e33dc40f1bab451194cf8c38f9fa91806bd225fa4b54ca50813b9d7a54f61e0000e5e0769cb2a3eb99b1ae9c3c5416dac83a6f91248c734d7e63291ce12de4d780703614128f878f29015801c7a5ec7670e531e1573ebc8ce63d640b01b9aea48b43d1eea8ad85b55423d4e142bcf73315f3e9e978b65f0556246066596013fad97b83ba552140c6957ef443ccec4051b2a8c9cd9f25c4cf6bdc2e904f46063e319643283462a4047d49c38bdbb0ee3d87980ec08410d5d2dee8e5349958e4178aba065a55d79d89080570fd4af5678b1573e42f2e0f863b31bb4e19ba232c02ae5b8f948d1ce8145c4968d24b56ac930b4f67047257f3c0b86bce7a77b8d0d87124c4a4141409ac11377fb9fc805d60012386becc2ba8478e663becc3d73239ce3036c2d2fc9e6e2e370c2c78053ee1bcef7a87872ef92b78", + "4638b84713a5d78ba8c3a868e3466f2275b252e19766d2104ec60537bc1589b1558b76643751f6a60fd8a5102b6c788e0f0490282010100c3c677495c2bd56619e44e26140d2ede0037409b81f3a5b3886a0904eb486140f43b8626af13d14a33918eb72b786b3c9114f39017871528953c09104e1fd2d36b725388f54ffea30373077895a6934ab174e55ca6a12c21923a7b775b5ffaffbd813f9fb752805b016a5735b883c639fedd55ba2e233a6dc1673063d8487390d1676123544d3def177a91caeef98b13f38860474e44993d4c6060926d878a2059855d0de1c794ac8dbdad655fbbad20f152f15c73b95ac544cbb87b8bec8fd3c007ad09d76ae22a5e993302aa72f11deb265a7f28b88976af5d0c912d97b7284b1783c5bc91a6dcb7a9b97fe53713965857742b7e4032dc5141acd4afd4771f0282010100c357cf685f9b8d4e59e96686f7b8752f0a982efbe6658e6bcdb615d921f5e7056882825347455782d7bc78d637e17e0e6810c2136ad81b16cc1c81750785924616f2bdf5964b26c7fc50fa98fb67b746b50812705b379f5deadbd11dcd2fec7b724d042aef25cea2eb37f85b7554d7ad49fe5f47737ff436bded418507f2f175c695e324fbb11beb0544a7a7cb3f07924e291b5c8ddaa6a7dbb07e23bce1960cb52b9000d3a7aab1f58e3c750b6d978adf3d085ae7693b7e6a46cf6dbb6d2ad981f4bca5d15e0962c39066a9fc27985b9ba1f51132355792796a5dd847400804f98671ee4899050bdc2e7872ce6fb2b78b1050436d882425ee0745546a6a1c730282010100a6bbb5460638d2b2f5242aa6657760cdf3731b1415d5f2ee77248f6fe00e31bdc70396da054ba47844791809c9fcf19f90943e671e928e23950d9f4e82aab9bc138b37b7b1ed2219a54b67367c8574762db237d0f39cda5ff110dbac286712f69167ad4f122b3263cf4dc8de58b9e9ade4f08e1d5543ed74223e06c9521f4a45310291892c37e8a262e5a19b2a71decfec1dde997c00125e5158d7867dbfec9466899d59c04b60c4a0a6c5314c1a2375a5f194dbbf37422635d426d719b12c41140fb5806735814ec268493861002977e8982e8493a2ae78251be32315a85b75f6961d44dfb7505c34135987a2288907074fdc015ab1c45f3cd8e91fee6bcdd302820100178cd58f72bf5118da141e6d351e42da69ff90e2839348c94c62a05dae0f744b9d9ee6515ded4930980bbbd1afa8fac687db455a8bee03ce0acb80fbf7ed2d864fabf224d27abaf12f45200123860c7d74c3c55d5051f35fa239e00b24ba9b5b029bb05df0b8f12189141558095c32284d1c62a63d917682c700fc7e2a482abe1533eacf819c878e1cf37af6eab4ed97c0de89d2edb327966310f31421e85c6ba9c7d7b391d0cbee6a793c66abfb09630fa8cf020e960c3b205aeb15029c95a6e558f90950a572a23a8b852507264ae2f86f5d1936a161ae61fee5d3763b8cfbf48d35dd1159895735b350881ec52e999c255a57d6b3ac0ffa935bd36284ea6b02820100484ad86e79415ea3c78af5f6c807cc99decfb14ca1e80c8e6a1ef00ee582d3d180774236a54ec9dc8dbcca51f4da4379cf634f3a07cea4b7748d7b5d94cacd4d474111f92d19f3ab5eb4def8dba57b990844efd28d85344666e283f5d5fb0e6e8d96f07411c882bf280446e49b3b9b15218fc24da34ce8f01e02735920ef48a343b4de11f99b26547a251afa7aaa69083c421e2447b1a989d50712bf8fc35882b63517c7c39843cf67b92645b68c6d8f90331600142e6cb97032a5af6ef7c20f87630c6b25dddeb57f2cc0cd8c8a0661b5f40ed6632989f5d40f33bbfd9be09374483606c2cd7ed8b5fcb8bf3df1f9368a13922b1240c0d25792505b857d3e8d]\n[sha = SHA-256]\n\n# tcId = 668\nct = 72f9c395b81a4af46f0468258df470bfe7aede2fdfd240fce94d2353328210d17654dbe30314e4924927ad2da94d10938ab584cc46e648264829130668dfa1e3b1d71498928c54e8362a29ca82bb3ad90fa5e0ab1cb89276f390b3798f744a13dec07fff208c752c0f9ab25604ce07f60bfaa02e92d6e197c24935be533f5fc25f4b2d902b3dbbb33306cdce41745ae35f8d0ae2ce2cb69c5bd46d97052135034be4858490c0627748d6f84900b7ca0ef65c00f760dc2309818fe693a9311442e1808b3dd1f5587f1fed37573c986dea9582cf39798416f8e82855de2156f94e558e7e3d7a9ffa2419bde4cd3c301929de13b5d94fecf3a2450f0bd25c9f5d91015bbf9cacbb0abec15842dd0bf3fed164f09d976d771dbb5c475fdff53edfdc640229de9b0361068fe9e3d41e0a49d7f7afa42abb3ecd1f97197ddb6695fe6187ea4f5913f6ef16f56fdce309c6e3a0480697c18e85d8ae24558d4390764d3bb905370e31ec792cc7c30a859d2fd1a730f98d9b36ed27dde6958c3e67d7957f3b789b67c32e67860bdea494bc8a19c6dae84ef06eaaaa769b4ccb3f1775cc19a254f9f26d55a462fbafadb63a037b46aafa8fe0b5717bbeb5a603f033947c39ace683f693cbdf556df91c512a76b550424c3cd00bd2aacc6e4805d0f56efe6b30f677d9ba3708eabaa6dbb7b29802260353d4347e84de2b47c8281cf3c454ab\nlabel = \nmsg = \nresult = valid\n\n# tcId = 669\nct = 1409a80555216564dadc10e60e9116e55909c585a06907874bc22a358dee5c84b1db6a0ad0246e9fb61667ea9db8b53b241d141785994fd0853ef2cc9e8507a78d52467b4b5ae1b2ef74d71a43a28903fb82e4836c1759496a26668d5b794d314d967f971834bc0bd4dc4ef698be86d16b06f1d7d8e4743e0d914e4a26ecabd9c66ff769718e7c3100db55b6203a38ac57a10c681740bcca0f8f6e48ae393291f56244dfa89e2e12837ea59b5e958f1c3cf3fcc136c7a6cb829e3f2e4948c4e0358a2c3e7945c74011a2894fadec2f72041aa3d56b435b43741094a3ee788a38a7d9269d141043e8da77f27d5b3d2e764c8b959c9a0dac70d54baa4430bea29789949b81f4904ab70efe6ec7515968fde05ccf18548b9e3ffe253daa5b89aafa670bb2139321a7f917c7db3076d4311fbdb75b651b2f0dc03551e5cf432fd4cf6fd5919ed2d178fca69b81bab2a9f9938eae7da178367d88fb553837893f9f557f6b5e6456109dfa885f955359e39650ac429f6c3c83837d88ace4492773ac7fa1f8b30e1b4f1adb24e79d0473b3bf911106a9897f8a4483c8d7fec11d17a71cf42def8f5b23a20771e8f9096fc14b577c91fd786889c6bfd3f1003c02c596d5f1bb06d21e5926f5910ac1a3041b2c2d70e2f53657fda11db5c2d8f33ef7f837915e37088a0e927293bb9aa5734ac67a7411b93a289e29a7ec71298d23d99e35\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 670\nct = 288f827b60bb796d21438437f07a596b29535df7564587bb68e9dcdc5ee3c1fc52b764d079789d3aaae5a1dfb0fc62b062e9aaaaaeebea7b4204a8f689b0b8d7fd9e627897551cc1f95aa86988db8cdd291e36207710a9094747c75a745db37ca70d2f033773171f1851671d8991cf67738f37a0ac0394a94fae9d45a67e82438349f64ecffbf21ae8e6b8bd6a7086118e8769ff077cd531fd801eebd21b31f56ed3c0a6be17a84bcd3a2147b3695fdd4bbb4733498526cb015870b5a557c02f5a27bd4d8b6e99b96be04fa0e41b394312a50a57552280541abf326323caea7fa66ce0db8b9915e0cdd24a4fd297d7aad701ba901455d599ab1a10e565588b1aaae48211aae5443d3bf58c9154252909f3ff3cc055287c1f5b6bc6df42dc5f0e1aa3ea4b30a042aa8ed08f95ab198cd36754372d4645a55057872c5455cbf9890b86a49acc811c699fb4b923eae922ed2123d4579db8cf2f010be4365bec70c05d714b2dc2885409287af37227e408bd7bd19edad54095d9afb4d097eedebf61a736044b1ca2116345047b9e91c0d114e2968f55cf4acee5c84e4829c792e6f1e0376f06973a0926ed4803889fa32359c74c91139e7190a9b441191880cf3e37cfbbaea6aaca8b92cdef3b64bf921ad31d3e046192c2269825b250db700ddcbf52afb996c419ea5df2547f7f5b1c0ffd31eaa2fdee7c0fb20f1ec3f033576866\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 671\nct = 6ad87e4e17ee4db21a7ab577baae802271d0e7d6bb52c7d72b70de7a4a219acfb56e8ef0736ced3e0d8b3a81261a158ed9dc66eca9e3ccb50d8101ee63878344bb0c206f1e73a11da0849e9a06ff3dd747b4645ee68b9abd6729dccfa68ebae2710d0541677f2f993ae378f6620466b5b9ed6fbcece8abb0e716113db2110b21d187e25395eed3cf21c22678077c1782d51c323f5464bb8fe894ce5e817bd02790c275f38c3df75d6438a368ad732d6264438c85586aa53b2f11d1efd8e8f5b01fa1eb2fb8fb3cc101ac2948a87ac169523b396d4d7315b83b94a9a4100a246da93b79e4746ee925bd75f494d4395750a884135e4d7083ffd27212b9620abd7d86d123ed63d227fb7f2011e09519f9edf3bef33a0cdb6d917fe0fef63cdf60541f7217c8e6d6b8a1b4452a15bc8e9105603e8e97a2f51acf6f7e1fe69fd6170eb2559b0c4ef58ad853aeb9b3e27aa201348fa1b05520e71e5ad11056103c34a2138340c85ee28bc1b4bb076a5499a997d1c0ea0bc3d9d94594d83b78ef05110a84e0661c29479b2d144cf0aea9d16b2ca81f4c66da583c377a0e6c8debfc4f7c71330edec56a80288ebb5d832b6a2a54748747a680bc159f048cbf89fca103afd7d6aaf9f7b611d00f66f13eb6bbab7b975122abdc3a6f2ff47e34c9c8d6c176cbc367389d5c522ac072e99168eca6740cb41f6d82317a9d57c76e652266e1c4\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 672\nct = 01f60abea9d04c289454ef3f3b66db37c7a6e437291aea09f16563e55e5bdee404f39965f5dc53fc4be78349e52e905fcfec53734d560be9f948c32fa1b699e09469730ba81fe62f9e288403baa62ed56e166e8183a84d7a14a348975c2c3de6751b0945f4dca2c963b240cf52ff2f52dea31f4e51f0f69101160dfb36deb8e81d698ede6972f65f0a5d954b78afc672fe473631a0ba6458c759ca29323bf439cf76ba3bb7e80b18c5175481fb69b1323f05e9d3d8cebb5164a7c20cf32297f12b218cfd774af00827667b5c18afd1a6a14db7bc8811041574642bccec09f7042e991bd1b7f4105045271006b0746fc989c73ab2e29d427bf8e44818b12508ce026146f8a10be9148e7a681be7e32c31f0584b84ed8f849561789f7e2f13dad4694d1bfa1b9ef338845fcea55a8cbd59d3fa73c8f53a9fa278de52166f8278b90c80f5a1499970a22207e75bc291c141c9ef9dc65ce95e8aded9992cffcba4e50b472db98df8a5dd834148e7fcb887630aed8b9faf680764891141032c23910ab01edb234fc7b066c674202507069ed468ba5596d620ee2a1a63cfdb99b56e2e1966a97b23c64b16a13019cbcc2ffd1af817e6b8173794003c373c0f58525e79035f9b6668d63e0f4b4a2ca22224e1684f45ae025fdcf92d3c1200cf308df70ad0d7108a7183e268b21f8c4b15f27251f4d7d97d9ebbaba37fe31ad0a2b8994b\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 673\nct =", + " 03945bd95e6776ffa207c3a0e99be072fadda10f40e9524a5e728870ced8f36d652d9e80c8a9462c2edf6ae3bdaf279eed477b14674c43eeb44643fd4162ed86671a7328e715484912afcadb2e9856d09254c0c1a42dddf9b7163440061141aba8ae960115b61da719cc150766d8b67fac6cf68968c507677cff6359737e0006843f9e57174a29cfa5aed0074bc0760a959429dff9f5e0f4dd9d8f2d18e35a43506edbb58e214519e1366defb07114118bdbaa4a1fac20dafef6c074cba8ce3f4f99a7c657ff775dfb7c5ffd8075f477909664865fd572a4196f6c379c5a106b2c8d3c593dec3a92027d71ffbe85c87d18dcf82369037c3883a91cc3c21000b96bcf5bc18bbff9bf7e781daea563f5f4b8f5de9ca2f1428bb287a6bbbe59dfbb94d032637ea639d6ad8102a754acfcb67bc49452347c52bee4a6926364f8afc2cae408c176c1d61612e407dbb176c7b6d548b905536038744ca3daf41b2fa685d86588fc6bf8a35e66c8738948e99b5533eecc7939d3741628b6c71184827f1aacc1ff27c94fc969b50f6dc95e025b730f16cf324f38ecfcb3fcb5f686c770989921eea9230d9af4b39643bdfd7f4eb1158f59d88458ad5ca4f8698f320299d70ee734dbb18feeb1fc6794488724913005e689813933c5581d47c37696363c040b04f3ee24b4f0f2068eab8ba438c8368687cd5b5e355020d2e79016c2346191\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 674\nct = 1da0140b138c41a2abfa793a2c4542976002def3b47e5a982547cf296025acbd4bc4014c4761c8bd07863366b95a18f35900595b1b6629cacd87f37f9b1d41661e691c050e4c70383446de589bb955ae228cf75e36de69f13bbc586c092bdbbb2c1bf5b88fc0969fffb1bf3b7c301004d95e1a4c6e5d250e2d747dfec5fb5f2bd0cfff90974d88d14877963b54ff39d37ad03ff02200c116bc0ed9ca70a0d4899081b3f7cc935b0e1dd8bd64236f98bf8fccdd6a97398985178915d858660b3baee2729a9b32318fba4f189b3e5cbd1f75cebb95777fc224bfa7474853d3f3196b96622addf81aee6d7c60009abff7e6a96543268a0e6814f5ffb2da0469c9905f559472eecfcd9965ab9e73e7324a65479604b5639e786b8292f3f241aca256e76e72c6fcff32391d35fd5577a4333d2cdd9acec0ba819e668ed7c14cd68af58b3286644fa9c9b41f463e1834071ed1cee3cd4f5563f346dbbc72baaedc3efd03a82f7041fb7a19e3a05a366fee2d0388acd77fac53eb8faea750622ec3476170edb18a70c7ff1e21e0b6c4b3b5f594d628b13c74d7b34b6f2ac97b618556054fec51495a9c6ed2c9cd2f4f039752eaf99017bb87b866eb79a16600af8b2b856f4a84707977de1f22fd9e4b935c589c184540a8447611b05dade585e8cf087bbdcc7cb839797242742c56690d6c0bd3f2b2d9506da9068d1b3938baa9bc9505\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 675\n# Longest valid message size\nct = 2d9e2e0f335d0a934edf49cb7b0bdb6f9537043e2978da6ba35712dad251eb923807120d7572a0511efcf74cd57537e3763106964ea51d8a4e738c6f826cf1426d742c60fcb1995cc13f52e70ef71901d69a27b86a8cca59a053f0b81e7727501a3b4672f476e9272744cf9d4937ae6d0a3ecdc56d9b06de2c705af829fb2d34f1d5bec34152b4320d166e81290974412ba72c42d80dd253d22d2f989317a25389be873bf451ed313673d7e6202ce2e289cba18e5f8810beef42d5e848cb62410400c1dd55af42e4560a0d8069be91e1c041b057327440c1227d3ae6f7579872e9dce78d406487be551690941053bda1acedd04289c86a7d274b3582ff25121f1ec47185d490347a6bc1f310407f4e2f4917e1c16aca53a9287f706a02e8f3750cb61b112b9c808e7643cd4ec1b7b8b9d7502eab1f8b2da0f9a7e938769d7c6aa44ef8669b2529fd81f5a0ccc28eace3919bea63308e1d937e50aec88f876028dfdd50e81c673bd86ca6ac0af0d8e49c070decf1693a5ee0b81c85b5d7c90253afe5faaf6ae4cb7ec00f324d2de7b82305b4cd1aef17c65da50d9b1321fda32257e31895d41d0aa2882e9a395d241a165be114a2fa2e63364c4ffe54cb90362edf3d3a95586ca5f276b82f8921169a156d995603be8ad07fed7164a4196bed02fb92f9b66a06e2d12b86f2bd11522e4bfd39e1d253e80740d0d08db4824d18b4\nlabel = \nmsg = 7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 0085f99393b1ad30ceb4bf78e3a85abcaccc1387e45902c965384fa2453f968924e904b6dae0c38d7ba5095c838c45e879bd64ee6ec58c7c8c308f2972c8f246fef33e70307e6725145252641af32cde219b766829ba8f33cde7266749d8b4ed1962c0f8005bdaa8b65b16001323c5b11fc068d14c554ae4465b58029029c30754963d56a09b17c1e9f46643bce824b693fcc9bfa45b9fa2bf2d0823cb9580071d762a049251baddbda74a303f859197fdf27a1e90227953ec7d305f9ec620eb968fdc531cbcd060a7496e229f37144f52ae17eb70a0108098110c7b8474a430c4672347a0c6f6597832423f8b171a6871c8eb62ad5f9ab26a446926ec88ca73d8c5f7c1233519132a6da0f3b75e527107d4699e7edc9e1d028c117cd6cd5a84c057a9b57b3b7c1571af8023336ced6ee72f19ac3b92b21429d3db940ac3871b781d9c2ba70184f7b6386e4d4e16340285f5e22e892d47e0475a1bce4d7e8dc2c9580cd8684e41422165eb3cb15ad67b2fb9ee4fb63482ab838c10ecfa15730a692f8d0f1ca74078bff70015b3a1ead8bdb897272418f6f25e7c033c1429514adfaff7dbe68623f7d17f40f326749fdd4fab0c24bfe90c17be87a49899c15d83d524f04c0f5510adab43c9ddf80e1bb4b68b700a08667468824b5b5d358660b0c278ed9cf8f586584887e20657a60f7c4150f53e8c9f8ae6f3b546d84135fb0011]\n[e = 010001]\n[keysize = 4096]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00e3ae7de5bf44de7d357e238c8dff063ca713470777ab786b495884e7a9ba1dde65de7d2b5be3f2b7d1830cf6ca8ed5c05d3f094aaaeb1dd2e4b2ede08613109a9ba34c7e2bf8450225974374459f16da2c14192c637985febebbef01f0381e78d0fd63b76038f5e3d35dc7d2243963366af5d7685f1bcfc99dcb91e94c93019068353122edd03cc3e615e17c1bf1dd7c43dae86f47a40238fb594041cebdba25f3fe9593a6c329b7f7c476eab7625d17ba7be7886936b733f8dce6e6c937f588da1315c1117abd29c83895d95988d17f9fd7623960d8e433d7c6841507ff2faac36e0e19a41eb2cccdb2a2c0fae966719a99d203c924349bc0eea1374efd3e23099b2d187922016fd014087520a67363687322b90d7a890d8f4464a8c794d2a3f2070ccd3b0ebbca2b42bbf8eba6f2c0bf8008b5616ee7b81629ebff97a93a5b861989daa10da7c8e3bc7b0cdb095f6ce1185cf8fd3dca035eb3e505cbe022d81d93945a144806b9fe0ba07f3ab9c70e72b5fb77ac6e4c7e03aa2dce7c5ef227aba1acd48c1d93e0e26f01e8f1e43aa97880d15d6c924b060d1face21d03a796c86301f4a74339e472b2f96cd0755741cb9df3535077381ada84d1bc0846a6c44c8a8d3cfe1b7a9913d1f3d7af2c5ea4e67ce0a7ed3c0058206fd13ad9ccad5a8212f3ecd788368a6b6148178c7c5ea8d6d385227f2c76a047216e5e206b1ed1]\n[privateKeyPkcs8 = 30820945020100300d06092a864886f70d01010105000482092f3082092b0201000282020100e3ae7de5bf44de7d357e238c8dff063ca713470777ab786b495884e7a9ba1dde65de7d2b5be3f2b7d1830cf6ca8ed5c05d3f094aaaeb1dd2e4b2ede08613109a9ba34c7e2bf8450225974374459f16da2c14192c637985febebbef01f0381e78d0fd63b76038f5e3d35dc7d2243963366af5d7685f1bcfc99dcb91e94c93019068353122edd03cc3e615e17c1bf1dd7c43dae86f47a40238fb594041cebdba25f3fe9593a6c329b7f7c476eab7625d17ba7be7886936b733f8dce6e6c937f588da1315c1117abd29c83895d95988d17f9fd7623960d8e433d7c6841507ff2faac36e0e19a41eb2cccdb2a2c0fae966719a99d203c924349bc0eea1374efd3e23099b2d187922016fd014087520a67363687322b90d7a890d8f4464a8c794d2a3f2070ccd3b0ebbca2b42bbf8eba6f2c0bf8008b5616ee7b81629ebff97a93a5b861989daa10da7c8e3bc7b0cdb095f6ce1185cf8fd3dca035eb3e505cbe022d81d93945a144806b9fe0ba07f3ab9c70e72b5fb77ac6e4c7e03aa2dce7c5ef227aba1acd48c1d93e0e26f01e8f1e43aa97880d15d6c924b060d1face21d03a796c86301f4a74339e472b2f96cd0755741cb9df3535077381ada84d1bc0846a6c44c8a8d3cfe1b7a9913d1f3d7af2c5ea4e67ce0a7ed3c0058206fd13ad9ccad5a8212f3ecd788368a6b6148178c7c5ea8d6d385227f2c76a047216e5e206b1ed10203010001028202010085f99393b1ad30ceb4bf78e3a85abcaccc1387e45902c965384fa2453f968924e904b6dae0c38d7ba5095c838c45e879bd64ee6ec58c7c8c308f2972c8f246fef33e70307e6725145252641af32cde219b766829ba8f33cde7266749d8b4ed1962c0f8005bdaa8b65b16001323c5b11fc068d14c554ae4465b58029029c30754963d56a09b17c1e9f46643bce824b693fcc9bfa45b9fa2bf2d0823cb9580071d762a049251baddbda74a303f859197fdf27a1e90227953ec7d305f9ec620eb968fdc531cbcd060a7496e229f37144f52ae17eb70a0108098110c7b8474a430c4672347a0c6f6597832423f8b171a6871c8eb62ad5f9ab26a446926ec88ca73d8c5f7c1233519132a6da0f3b75e527107d4699e7edc9e1d028c117cd6cd5a84c057a9b57b3b7c1571af8023336ced6ee72f19ac3b92b21429d3db940ac3871b781d9c2ba70184f7b6386e4d4e16340285f5e22e892d47e0475a1bce4d7e8dc2c9580cd8684e41422165eb3cb15ad6", + "7b2fb9ee4fb63482ab838c10ecfa15730a692f8d0f1ca74078bff70015b3a1ead8bdb897272418f6f25e7c033c1429514adfaff7dbe68623f7d17f40f326749fdd4fab0c24bfe90c17be87a49899c15d83d524f04c0f5510adab43c9ddf80e1bb4b68b700a08667468824b5b5d358660b0c278ed9cf8f586584887e20657a60f7c4150f53e8c9f8ae6f3b546d84135fb00110282010100f8dbab5ac0479b00c69751ffcd0de5e398deb0bf0cf19a659e09b6acc4c569785901b75889e27a6cee8a309708a6d68a51bd93e8b25b86a5c2150b4fff9620974daa6814c3601dce8fdccce1abe6e6737c948fd9b7c8a3d9032a339bc6ee848ee4fa54f513c3575b7a89325f7c97b1beb5b606fe96f2b3293f4ceac194c090134ef930a04882f1e96838c2827d8ea512cf474a4b5640f46ee2580df8b59a6afca4c1e1f9a3ba82232b9db27e9f2b48d5181ec781df795aa87e84ad15e095fe43d46a6edb0d47d62864877692c754c2935478677fe4ce9a4290639d8a448e7e2c393bc5404f14dd37eb66b4b23ffd071d346fd6e59d32f0ae1c1029f656d74f670282010100ea373dcc568d1345b0381de192171c20d8c8c32c5a5bacb84abd72cb96fec492fe4ed35d7a65e5739d859fb99e2b2e43c590c78ecb9c07a40d7793aa78dcb31de236b9735b6f2f09cea70ea921275a812821bcbe3869b8883beb2409334f8e0a96f4528157de3f23318240e65d3dca9a3d43de08345bc2ece4bac68c7a21d29c5acfa230c518c987363c37acd2b6f6cbd69fff99d3a619c6268be013d3a8b96c2817e606863d3d8c123306fe7f6b8dc027daba68a6784bff414b352649bc7769eb9f61c02bb8c7627814484f2799233c81898c679256f10bcabef4684ec84b259df1751a49a153c0e84357ee8cc9e35e9e5616af9b00404e55452b2df08795070282010100c3b4650e6a562594b7987ad8f31671eac9e69f12b0083486a3813a12a67025608a86a9fc4bfb3a91fe09d8ea7dd84eb1da547f442937872d45f32cc14ddb6f67eda10c56ffcacfc60926f84ca4d661f7024b06d18e1190a0f23736fcd3b5f1b33a698f7468855f66c677ac90a137de857efb5686d288acd2cc401e01fc8c6f017042d1b5cb3087342a4d30d2541160c9e90e4463f8c1fe38517234129a2684ea885b1cee288f5d16718f83b6c64fd0e81c1ee080c710f575ba817668d504c03ff1857e06706c4503e10313019d16902a32ecb9603fbd265d2095e667bd405e03434338fd38f3cc80d47421b86850014f3b5494a8603696462635a3fa6112d4130282010100b43f772bbea02b68c2492d95df5c31a585b05ba3d29622c261a292a9e3b68589aa74f76d45390df08015c9ea8bb32793b883c750399a06b75635e44a99611fe7aba3f9ecb13d4bb1fc7bcc6894bf38839563016252ffe9a7ce9513d290ce74bde99675b85ceb09240881f9784fe1b1fe2990055bc30fab5fac57a15d92d05cc93f89f3841ceb0a8d284c077cd55d416975ef04425a03c66a1c582146a0e984699c2168413526042bbc05d12822df9ee376c87a14f7a834b468877c8bcecb600affee54c813ddcc74177d6478a63cd0454c5b92d65264de74f8bf2450f1f06b04b41c92c67c4bcfacf21281a5706c1eb33e9f7a2e02d79aa5ae31e11d25b2f21902820101008d2fd00d16cfa3fdbb3a99581cc4cf3e6e31ed69dcddc62a989530f859acb06ddf0aa8d61020d6f700a7ce71916b409c963e02d96a8ff7ed15f091650913cd0c49903d8d036f3d21914ec934d8080f891be53c45666a813b6f5d8e5f22ac202cc1a0c5131f06e5fb47e0c25a5599a08d285e02a4ed2611fab47efe0b27604bf8717ec11535b02df6920bc87e60d3b172d7d70ebf0482ac59d4f6d34124fcf460165fe06fae276a5dc9c6407e691ccb3fd675430be6be036ca1882eb48aafe0a3be03e0f6f9a35bbec7b1be5452eeb21dea824270d906472a9a1fb386a0acd99d9df4d3cf28ec3a1dbcec0efb27296b0f540efa695828643b95c32d017bfc5275]\n[sha = SHA-384]\n\n# tcId = 676\nct = 16d70235da265f11572b6920c51add3150b5b967a2d2f81f48ad1bf3b1016a8d782549ba423be782975fe8188f0c245cc227142ae8386a908c2fbb362b768ca3d061f2feca562cbc9151e19ab92c9ce882a23af213e3c2bfbf56aeaa012a3d62bbd3b10a3b8bc2db2b0b5cf16ef51e63b443fe754248ba0d08a4fca9ed3c4af3805e35a0ec200dcf7c4f45b5631c80459084f747ca1499593a4f91b65e657ba64a05275dafe7377aac480f455e5fd6850c1bbd0051e4f0edc3657c2b8ee0bc80e520aaaa1a04ed85c248c56e53094f59b1d6f7f8c93d8049752e23b43adae692bbb5cf90ba2406a38b1499bc43c1d0c28333d1e05d0d90f9f9cb9edf46380aa72fca7274c6e5c3f0f7385e843f08121b7f32b39860cee1b2101c66290ac75b06b629175d3e912d4ad61f3a78459ce1c7c2a0d76809857e21f0f533e66d449c7d082b4477ce9de11e24f2df28ec4bb16e3161c99e79c71c263b301e88757dc3b9284ca5ffc0a8bfb36779f5c7ebea3e976526f06348bc42b1bb45d81ea9e1634cb9a37d3a74c18815d43bd98329c1a26ba218f1f40d59dac6875eaa6113c06e33723a4212f88fd29005682991620cdcc6b7facd76d32ad596c67d13140251b8448cf0dd86221b7d9b915f2bd240280e4527eeb3bc06de860d96268c84540571f9d43b419da30a31287c023928525d4d864c48f01ed27512fb05af8cd09db9bec4\nlabel = \nmsg = \nresult = valid\n\n# tcId = 677\nct = 31f8d0897b03b81bdda56c5f65fb3cec2869e9b4c41cb7cd725c245a6d12f400e17230423138c1fe3e0425f2d003674a34cf5725f4bcd39e6827878c554e706e34695b2f06135bc3c7f8c0de7b81eae807437851bc68d065d2c9881b867635ff90da69733a9a9aa5dd11c474c67435f4120674b9d4acdf22ee8fe52efe2f9f3f9ff54bbd92ab91386dc1493b97c40936749dbf28aa599d9c4c144ec0f8d7421e0676f02754019b3ea35cc4b7301a89780ccf4279b4b618f4d21790b185a6683f9c73d843c94bc2cb9e2e07a77e7453e4c3ea78126da80cada3c099f71d35c7d6080c3aa1c9383071913d4fc4600ba15340c1204549bb2d1d984c8daaab089bbb93fdd620c201caa7888d8ca1bd9447ecdb75c576fffb5290262a924ee47edb767a37488c6e3a99daa2652e700da27b0d53793295f69f61004a9c51db6734f31733c850e0e8aa874d2e966ea2be8a0105d6980897725ca4126390238ecf5fcc650ec09e0459c3ae6066b3afefecc109b1846957db831df62dd438f84c37c5bf546abcb88aa36287ef5d2de3a4113e40b9bcf233b53d086d9ae2ccd24757d31716fcfc00f57547f4ff30dfb6f3b7acde46e10e1ba14bfb64d35a99df9c6fe1a3dbc4bfdd0673f33d378ec57847a331f962e6fa1d2d9ae1cf1faae93193b35652055ebc4c6d5d12134e3c9b916d8376b7cb2ade958f967c900adb0e9ec66892c3cf\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 678\nct = 67e1c0b31888198e1a6d2ecc2b9b0cec8a3ee970b964b7a4e747b399a31cfb373996ff3096d42a61f4e7e4954c312eaddd4822c9be5256b6d296f29cf222fdd8345adcc367362458dae9cf34771d107cad8634b1da4018621b6d1a02011bb3af2e9c3309dc0a456bcb9ff56dd72533a59bb9b087b15626e6acac6e41d33eb0a367cff83371bab6666eeaa7c9b6e47879b9ab85f34c2d8bf650da424a267f152240f0acd3ae2641c6ea60ae66d5a038ff4f1cb29bd3812e47987e6edc7ff1117b23cca76a664daab149b2f4c876cb54258411e95993c681de95c7397e41711e2ab74e6514acf81c6fb5beb93b64522606eae18569dc5c7eab91b1d464836ee6f350b8b8ce6cc340cd43879e36c3365efaa760a917a9fe4aaf55b7c56383f72fc5ec93db1c4741fd1510cdd04d7da1dc92a0f0e8d38555e69a28d5125c3140c5ee39a02ff010b8cfc4384da6ad6a939fa1840c17d6bb7aee60e348a59cf6e019bf44971bf143ecc77ca7a717b1e937a2072c79da045a4af190b86db8e8ace8c2ab700131d5d37698a9c60e0abaa124dee5c0488374acfbdb0a6e5534d5f264e604dd51aff8d52e894bbe7b9b7b64707f59e79fab6dd6b0d8133186d8acc5e54fa0578d66b58638f8a41ced9faf1c18f8e98f2e5e5c7f642d1139ead2a3b3f83a035674c41b10756ea86d598387e5bc2ef87b2ef9a4626a53495458a5924d2e3545\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 679\nct = 12313a08571110030b92dbff86e45a6486167ee04157a8d8a7eb1dab83aea8ea98f4b7c154213ede1c28b26ac728b6bc1fdc9de220e107cc42afb9962ccac9391129e4030b10eb68193249ee9db26c8a6df9b8993bbf78903076ce6b5d44ac2a65fcfb84a1d0f118a10c08686b7ce222cc40c3d43efac672f91f2474ada412d2786ad725dd7bcc12b80a5b03bd2bdb6e321a280ffdb3906ed91511f1ba91d78350fa41b700f10fb856a3fa10645a10a06e8333de8ed374b2f70fdc88a03d1fd11dfcefe62715069cfbf1986a0ffb25e8400b2d0a0ef01202ec2b3b3a53407ee38b7583206d17162d1cbb6b8b8b1e4d928d86704a85bad5eca37812c14e5c2ec44b477a9ca1e8f5080ac4e9e2a7f0b5d5f81d8d6c50c3303e5ff93129db13f9cf7d5a76928f0b823e862db17fd5d3192741c8b3497feff48a258d1bdbb6fb2af22165205be953bb5cdd49fda74e22b29bec0bcc64399ace870f5135b56405eeb447b8b9e973e5a989c326c40547784f0e41c61a7649f03058ca47a7eba14149700fd9c43545b20dc1785ea5f6f78b607a0aacca649819095e633d2f179a570dd1cd5208a4f634aacaa9c92b0d044887ee68becc191f384a033712c01dcd7ce3e7292c8fff38f5831da50ad4b12e8e0052c9a4635ab55fa65329ad3397393852c561bf631d109ac7c73be24e363febc900c9d459a5a25d8c0e5e5970d9d6499014\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 680\nct = 62d81bb17b622e1f1af3f76a6c67b7fc23e3766f6dac259699189b3a0d730688e5702249161d3a1fc7767ee46f3163d5f839dd86785248c081a3a59094fbf5eb7f90d65493329e416c365aecdafcece474cbbc2ba237aa683405fd0fddfd6c23cf193dba21b0cfcfd832d284d1e123d722b1bedcab390f50b849d363cce502e7abb0ff9b0ad1e00bd977c4f5f7d8cbdb7c882f87988c2c38a036739b25a6d495432a18341c70c708ddab161daae7f841d22e9d098a26436105507520c16c3ac6e4e2659dbd91408e09d0d742e87d907df92f77144167105edacf8b65b94c861c5817f4d76ad5b74071c55f8a62321e4531b99baaef5dc534dc1ca8d6dd25aa535bdfd36b4900c6270dd2af4b5f8723af71a6a7cbfa30a6090335a1dd49de2b21685122dd081c82a8a74b9491f366956b4e97ce0bfa6604ee664e332edbf37a7d22c72f089279b3b0afaa0eb4d9a31e57b9dde4635b892b5ced78aee5dbe9a85a84a609896661e409080e510fe6b985bcc53e566e3e7bb36db492bc78cc41bb06a492e529661bbb2d3c3d0939c8f43ecc25cc4260498a96c79b415dd50daef0d04b34082c41a9a8faf81ab3ed446b8db401867124307e26b7e4b55d50b9509", + "a3a2b2ac801fbe690213daf2f7c57613fc69975eb0087330ecbc23ffa32e26e9aa167981dd35a5e08d6b0cbf42b6d3fa6cd56ee8abc6ce2a428bb2b65f9c551dc3a\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 681\nct = 9a1ca1958bb15ca4bfab45bbe89b6fb6e82d6aee3132574382f4d86742029c9d8861d81c9111b8d90fda52fcd540d0c6006774580e03675a58550b711a39a4efdf126734bc30754ec9b9197374d299045c0b7fb5edd3bee5d9d7a80b782faec03798658245349ac59314d7b491586ff4bc7f60569181e38cf92b3e25d6d9609e995b58d5c1b2291b0c5768cb59b9fefb2724f10c00f9361cc21c0f929072707485cafb73cedad8d008ecd93362878bf9f7bb9016528fb289a8a218940552ec1d5585928693eb28811241fbb1fc81719ab4e15e52b7917e9be6ba599408fb0abc30cb8cc4a5cf3b08879181610fb912cef7b2f5ecb508721f91f1d7c4789d86f8a98079c00d772bc1d61545e29a744fcdc9230ef7b6a9321e680149915c161fbd87e534b463af718642c4d69a847aa59f501cf74638d797d69d96141736cf9443a6d7f221077ce9739fea0b303779a52ef4121f647dbac165f1fdcf81a5cedbf1f5f6bc0128f81010e9fed2e2a4ce6428f7f6420706ebec77a61d209901b13c19a7478d77d34023652a97d57f4b3dd74d9396887e51f646be946f1d02a3ad476be73765fb1be2197c7aae409f48698860232e6eafc1c8b11627ad8a3cf2b781816cc023a4993c1c7d92f47daad268017c8208306363ef936cf395dde0fd8b83684f6e708f60140ea440a2984e464f268981f1134a60a361f6e97ba96213f56278\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 682\nct = 5d6dba9c231292da8ad369b72f5f5f133fb29f36717eddd6eb7ecff23aa91bbe8fb1adaae958fb2fd7ba7f4f696e89d9ba167a478bc3387fa517b2731b3b9fbfb5c3c24eabfbc35cb20facb5c3fe7375ad88c7be3bc3341851c798c143562afeb184c4fc8a94176b3fb7fb54974926e04634c9f6935d801a3c0379ae3c22da207e4ee961428c44efd173055c4a110821ef7c45baf2b4eadb9b3f6cca7ef9bae907823a1fa544946ec88c85b58c1510d576d133be48d42648785d421181adf1011a6d0b394092888c3e9deec4765fd9613c9e43d74e0248f264b1c5553b69686401132159982646d89a7de509405e525fd9cc47741a9da902b8ee0d33b3270f2872e2c462fea15ddafa334952b92cd6de2a8bdb9c4e56a75d15aaf0cd8efe06b6ff6ee556905481fd51721a639a1379fbe1c5c63ac7cf34d4f8a1c30de056dbbf2b3d7c5d05565ba63a467b22bd5dd0b51ba37e01e15d276d939aafe1d361ef5a283e329da8dec47aa6c1c4ff20431e60ac438dfac058400d91917c8b5c26b3fe89d0a9f2d334e2f3390973488f17f5fa7186cab01a81f83225a7360d5a49b022489170b967e2157d5818a842235b169c35d543f3ba0204b146176a6e4bfd9190eac3ce2139a00d38dc9b73c275af0d2d62628dc53cb4abf9fc6a1832672afdee78e4febfb984f99a9b41025c423b2976f3cf25d7a80dceaeea97baac292a1273\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 683\n# Longest valid message size\nct = 74eac3f1ba5dc4f12ac684fa67a08f03b92bad4f5544cc6785e1f63e674f0408b73d60273cd1da694b24d758eb3761c60bb67016bd3104cb57cf66b9eb02b8011a2e7d534080ea6f45962d7e5fa17a7c2f4d404788f8e9a6c616bb4e4d3e2b0683292c1ad3e92611464eeb54d0eda84b1be39e0015bcc9ada9776cdb4ed6144d3b73ce13d1ac57f37c7196a3deb4585ea726b605a7ceaacef3a5766eb1a6efcd947c7bf61752814ab29574ba318accf79cc4acea3910ad126a77e262fdc080639b49bdc3346b808ba9a55d4394391a0f3e57a24604fe10c18a50028bf59cacb148256b2f3a9abf007c01bdc34d05ed1c2db75e6efa1a291f395e365c4c0de871660abec20a2fd157d4b7ab23dc3e188f8519dcd223a6f9a0b6da31a18f2bb42af0c9581ab8377d51d9c0add8f8d8794d94d48eb9f6af10b8ec857ae1ab62016e59674bca0171d075aec434cc6cdba9f15c8fa063ed43fe6eb7b286e3e4627476998599ccee0c2beae0fb7fe5f519df362f08edc5546ec203f743a143ae694ed5ae4a626d5dfbd102c84d67c70f17feeb4944a9149c3c71a0f38fce13c7ca453343c881939dec66a50449a33d7e2898835365048294aa56a70482d1ccd6f1be3d705c3e405ec54f3883c8d0bc8b620d7939e701f2a20e31705ac6962ccdd578c57d37cc409709203b574776049dadafed648456fd400ae75dd78a5116f48f27c3\nlabel = \nmsg = 787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 0085f99393b1ad30ceb4bf78e3a85abcaccc1387e45902c965384fa2453f968924e904b6dae0c38d7ba5095c838c45e879bd64ee6ec58c7c8c308f2972c8f246fef33e70307e6725145252641af32cde219b766829ba8f33cde7266749d8b4ed1962c0f8005bdaa8b65b16001323c5b11fc068d14c554ae4465b58029029c30754963d56a09b17c1e9f46643bce824b693fcc9bfa45b9fa2bf2d0823cb9580071d762a049251baddbda74a303f859197fdf27a1e90227953ec7d305f9ec620eb968fdc531cbcd060a7496e229f37144f52ae17eb70a0108098110c7b8474a430c4672347a0c6f6597832423f8b171a6871c8eb62ad5f9ab26a446926ec88ca73d8c5f7c1233519132a6da0f3b75e527107d4699e7edc9e1d028c117cd6cd5a84c057a9b57b3b7c1571af8023336ced6ee72f19ac3b92b21429d3db940ac3871b781d9c2ba70184f7b6386e4d4e16340285f5e22e892d47e0475a1bce4d7e8dc2c9580cd8684e41422165eb3cb15ad67b2fb9ee4fb63482ab838c10ecfa15730a692f8d0f1ca74078bff70015b3a1ead8bdb897272418f6f25e7c033c1429514adfaff7dbe68623f7d17f40f326749fdd4fab0c24bfe90c17be87a49899c15d83d524f04c0f5510adab43c9ddf80e1bb4b68b700a08667468824b5b5d358660b0c278ed9cf8f586584887e20657a60f7c4150f53e8c9f8ae6f3b546d84135fb0011]\n[e = 010001]\n[keysize = 4096]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00e3ae7de5bf44de7d357e238c8dff063ca713470777ab786b495884e7a9ba1dde65de7d2b5be3f2b7d1830cf6ca8ed5c05d3f094aaaeb1dd2e4b2ede08613109a9ba34c7e2bf8450225974374459f16da2c14192c637985febebbef01f0381e78d0fd63b76038f5e3d35dc7d2243963366af5d7685f1bcfc99dcb91e94c93019068353122edd03cc3e615e17c1bf1dd7c43dae86f47a40238fb594041cebdba25f3fe9593a6c329b7f7c476eab7625d17ba7be7886936b733f8dce6e6c937f588da1315c1117abd29c83895d95988d17f9fd7623960d8e433d7c6841507ff2faac36e0e19a41eb2cccdb2a2c0fae966719a99d203c924349bc0eea1374efd3e23099b2d187922016fd014087520a67363687322b90d7a890d8f4464a8c794d2a3f2070ccd3b0ebbca2b42bbf8eba6f2c0bf8008b5616ee7b81629ebff97a93a5b861989daa10da7c8e3bc7b0cdb095f6ce1185cf8fd3dca035eb3e505cbe022d81d93945a144806b9fe0ba07f3ab9c70e72b5fb77ac6e4c7e03aa2dce7c5ef227aba1acd48c1d93e0e26f01e8f1e43aa97880d15d6c924b060d1face21d03a796c86301f4a74339e472b2f96cd0755741cb9df3535077381ada84d1bc0846a6c44c8a8d3cfe1b7a9913d1f3d7af2c5ea4e67ce0a7ed3c0058206fd13ad9ccad5a8212f3ecd788368a6b6148178c7c5ea8d6d385227f2c76a047216e5e206b1ed1]\n[privateKeyPkcs8 = 30820945020100300d06092a864886f70d01010105000482092f3082092b0201000282020100e3ae7de5bf44de7d357e238c8dff063ca713470777ab786b495884e7a9ba1dde65de7d2b5be3f2b7d1830cf6ca8ed5c05d3f094aaaeb1dd2e4b2ede08613109a9ba34c7e2bf8450225974374459f16da2c14192c637985febebbef01f0381e78d0fd63b76038f5e3d35dc7d2243963366af5d7685f1bcfc99dcb91e94c93019068353122edd03cc3e615e17c1bf1dd7c43dae86f47a40238fb594041cebdba25f3fe9593a6c329b7f7c476eab7625d17ba7be7886936b733f8dce6e6c937f588da1315c1117abd29c83895d95988d17f9fd7623960d8e433d7c6841507ff2faac36e0e19a41eb2cccdb2a2c0fae966719a99d203c924349bc0eea1374efd3e23099b2d187922016fd014087520a67363687322b90d7a890d8f4464a8c794d2a3f2070ccd3b0ebbca2b42bbf8eba6f2c0bf8008b5616ee7b81629ebff97a93a5b861989daa10da7c8e3bc7b0cdb095f6ce1185cf8fd3dca035eb3e505cbe022d81d93945a144806b9fe0ba07f3ab9c70e72b5fb77ac6e4c7e03aa2dce7c5ef227aba1acd48c1d93e0e26f01e8f1e43aa97880d15d6c924b060d1face21d03a796c86301f4a74339e472b2f96cd0755741cb9df3535077381ada84d1bc0846a6c44c8a8d3cfe1b7a9913d1f3d7af2c5ea4e67ce0a7ed3c0058206fd13ad9ccad5a8212f3ecd788368a6b6148178c7c5ea8d6d385227f2c76a047216e5e206b1ed10203010001028202010085f99393b1ad30ceb4bf78e3a85abcaccc1387e45902c965384fa2453f968924e904b6dae0c38d7ba5095c838c45e879bd64ee6ec58c7c8c308f2972c8f246fef33e70307e6725145252641af32cde219b766829ba8f33cde7266749d8b4ed1962c0f8005bdaa8b65b16001323c5b11fc068d14c554ae4465b58029029c30754963d56a09b17c1e9f46643bce824b693fcc9bfa45b9fa2bf2d0823cb9580071d762a049251baddbda74a303f859197fdf27a1e90227953ec7d305f9ec620eb968fdc531cbcd060a7496e229f37144f52ae17eb70a0108098110c7b8474a430c4672347a0c6f6597832423f8b171a6871c8eb62ad5f9ab26a446926ec88ca73d8c5f7c1233519132a6da0f3b75e527107d4699e7edc9e1d028c117cd6cd5a84c057a9b57b3b7c1571af80233", + "36ced6ee72f19ac3b92b21429d3db940ac3871b781d9c2ba70184f7b6386e4d4e16340285f5e22e892d47e0475a1bce4d7e8dc2c9580cd8684e41422165eb3cb15ad67b2fb9ee4fb63482ab838c10ecfa15730a692f8d0f1ca74078bff70015b3a1ead8bdb897272418f6f25e7c033c1429514adfaff7dbe68623f7d17f40f326749fdd4fab0c24bfe90c17be87a49899c15d83d524f04c0f5510adab43c9ddf80e1bb4b68b700a08667468824b5b5d358660b0c278ed9cf8f586584887e20657a60f7c4150f53e8c9f8ae6f3b546d84135fb00110282010100f8dbab5ac0479b00c69751ffcd0de5e398deb0bf0cf19a659e09b6acc4c569785901b75889e27a6cee8a309708a6d68a51bd93e8b25b86a5c2150b4fff9620974daa6814c3601dce8fdccce1abe6e6737c948fd9b7c8a3d9032a339bc6ee848ee4fa54f513c3575b7a89325f7c97b1beb5b606fe96f2b3293f4ceac194c090134ef930a04882f1e96838c2827d8ea512cf474a4b5640f46ee2580df8b59a6afca4c1e1f9a3ba82232b9db27e9f2b48d5181ec781df795aa87e84ad15e095fe43d46a6edb0d47d62864877692c754c2935478677fe4ce9a4290639d8a448e7e2c393bc5404f14dd37eb66b4b23ffd071d346fd6e59d32f0ae1c1029f656d74f670282010100ea373dcc568d1345b0381de192171c20d8c8c32c5a5bacb84abd72cb96fec492fe4ed35d7a65e5739d859fb99e2b2e43c590c78ecb9c07a40d7793aa78dcb31de236b9735b6f2f09cea70ea921275a812821bcbe3869b8883beb2409334f8e0a96f4528157de3f23318240e65d3dca9a3d43de08345bc2ece4bac68c7a21d29c5acfa230c518c987363c37acd2b6f6cbd69fff99d3a619c6268be013d3a8b96c2817e606863d3d8c123306fe7f6b8dc027daba68a6784bff414b352649bc7769eb9f61c02bb8c7627814484f2799233c81898c679256f10bcabef4684ec84b259df1751a49a153c0e84357ee8cc9e35e9e5616af9b00404e55452b2df08795070282010100c3b4650e6a562594b7987ad8f31671eac9e69f12b0083486a3813a12a67025608a86a9fc4bfb3a91fe09d8ea7dd84eb1da547f442937872d45f32cc14ddb6f67eda10c56ffcacfc60926f84ca4d661f7024b06d18e1190a0f23736fcd3b5f1b33a698f7468855f66c677ac90a137de857efb5686d288acd2cc401e01fc8c6f017042d1b5cb3087342a4d30d2541160c9e90e4463f8c1fe38517234129a2684ea885b1cee288f5d16718f83b6c64fd0e81c1ee080c710f575ba817668d504c03ff1857e06706c4503e10313019d16902a32ecb9603fbd265d2095e667bd405e03434338fd38f3cc80d47421b86850014f3b5494a8603696462635a3fa6112d4130282010100b43f772bbea02b68c2492d95df5c31a585b05ba3d29622c261a292a9e3b68589aa74f76d45390df08015c9ea8bb32793b883c750399a06b75635e44a99611fe7aba3f9ecb13d4bb1fc7bcc6894bf38839563016252ffe9a7ce9513d290ce74bde99675b85ceb09240881f9784fe1b1fe2990055bc30fab5fac57a15d92d05cc93f89f3841ceb0a8d284c077cd55d416975ef04425a03c66a1c582146a0e984699c2168413526042bbc05d12822df9ee376c87a14f7a834b468877c8bcecb600affee54c813ddcc74177d6478a63cd0454c5b92d65264de74f8bf2450f1f06b04b41c92c67c4bcfacf21281a5706c1eb33e9f7a2e02d79aa5ae31e11d25b2f21902820101008d2fd00d16cfa3fdbb3a99581cc4cf3e6e31ed69dcddc62a989530f859acb06ddf0aa8d61020d6f700a7ce71916b409c963e02d96a8ff7ed15f091650913cd0c49903d8d036f3d21914ec934d8080f891be53c45666a813b6f5d8e5f22ac202cc1a0c5131f06e5fb47e0c25a5599a08d285e02a4ed2611fab47efe0b27604bf8717ec11535b02df6920bc87e60d3b172d7d70ebf0482ac59d4f6d34124fcf460165fe06fae276a5dc9c6407e691ccb3fd675430be6be036ca1882eb48aafe0a3be03e0f6f9a35bbec7b1be5452eeb21dea824270d906472a9a1fb386a0acd99d9df4d3cf28ec3a1dbcec0efb27296b0f540efa695828643b95c32d017bfc5275]\n[sha = SHA-384]\n\n# tcId = 684\nct = 2c23a1107bf550ec14f800d145160869ecbfe56608374076bc9443b826633ed8143e91faf6b9573a7b22dd92b0fdcddeaec49334e2621c141a25a1c99e706a8a8f424648eb226ebb89d3ef26cf19ec1f0393cecb50965162180b38c33bddc3c2de7f7031e3be75700341bc661934d52b812123e23c093f4801622ab624f9ba787a08e812bfdef455c0f3b76c98717985745d72e8a42b47209961c310ca0c71a730b66cdec6fd961576b26db964028681cf9d00faf17fa995fb20718062b45adaf16bf9a7b9719c54d6053343046a60b6a1455022c4ca66db2d4332018c90aef70ea07ad27be55293766e8197c520ba97e17df0b4237d124ebe985fe1c77a9ebb7283d8c866bf8b9caa8c93bf84fccfbe4a8973b391c8909e2b3266fa9ae51e47d251a381010a392a6c98ea4ee7f0d0a51d6c25e4224de757a769638518012b715f3cb0a95adb62aa2dc3f032c8cc798df09aac08dd81691fa9a2952019fd78797d71b6f5f3aa9f10ed6d77f8e2347241d2720d3b7521d069e6656a01f773d2181f711b0fb483f0abb765a410b4abccaf31537d9b6255c35ba451f2a1a8acd23a1f159b2ac0853e5d212b4467b6a70a5a1b901d446a16e24b3ca5c007a63afec09e215594304ed397c2838000daecf76ebd88c2ce4369c5ab101b4bd98c76c74a8e3f6af66f250d39467b09fa78d950ad537de06b5f3e18aaaee0f06d95cf9938\nlabel = \nmsg = \nresult = valid\n\n# tcId = 685\nct = 1af938f2b9309ca2288b712124625005e3c014986f38084c79e95c1b9d64cf4d696be68e78c70a271621285b60ddbede63e83bb43aa525ffca6e58a8f8aa59d283632ec98dfe095a8f808e0a1548d838315560f3acd14d7bb70bd37a6057f4954d1831cbbb2376321f6e1c0c7f12bc5d30ad08a6fb0aa91cdd0769d4b606735c9d62e4ac4367b417042ce222ad511a69777215c7e2886ced7ace9f3ddc577dd285dc8333628756fca61d08683d4238886453dd3dda98ffed0321566b7237791feaa0e2d45031a7cead6a904cb48a70799b9edaced3bceb716a562d718dc47dc10cf8ffe50ce923eb87e5d2fb921d3c1d463fea94af5bfc153310f9e415b55eee2b279abb2faba8a575e7d901aa50b3ca2a54cd364726d5d1cf1d75128da21452bb016705ada6c8cea7824167f6238f3c8d521afad7f51b98b19a1e9d9fb5b72fd9aaba5d68c01b4b3ee031b9e779775a2423d528a6fcd2df388e8c1c40fb376aa9475070e170096df762a231263d12babd083049e7ad8af2d2bda39eaab2a2f0149579b4bf5a5fdc71f5763899d7ec95bf6bc17824005288a21c8ded9515a704e269516f04641c5f05b298205ad2d0ff563906a341958a5942d7bfdb9dd435b19570580252eef2d88d7a34230a477e43c0321eba12807a5e108aa22ace9c0e069b427abcef5b80a37cc13420275af91c65b07c78d60092fa265a5b4c9f91abd5\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 686\nct = 46c30c4443e086ee45bc6e5de367e53aab413e8258fb5cc6bd5fc89cc806d422eda6484c5bfc0eb9d9929edc8611b67cc2a4c633195cfa576faf7b53a3a4b9aff624d10d74ae4842ef29ae2ef286ed55b277a3dce85e387a2875b20b9fdbcb6e5ab73a81cc341a5a011df3da43e4bf091cea809bbe2dc2dcb881ef1741e11907156595f8d973a63489da76939bb415113e75ed3c0d3ac2b495277316d238c87fb8ef7d76eb8904d6d955a5c1783bb7466fc039f37ca4cfa62f064f887d4b94230213e67e1a2da3bef28d9c77953e9da6c262e5beaee7a671b5a3b68bef676dfd79704ce7fd0cfbee507e98c22dd2d3cf1b3a0596d252659941118011d8f48d731d600d84135497eb9f089fe5a8e1d0f13393f12135a5b530c042ad5c0a2c2ccfe5af79af9cee956b7cf1dbde6560505bf7943bf1c5aae284598a85d1a920f07d09fb1eb8ba12b19b8aafc51ae6f1edf14656933c5401fd07f92614632b8b964f3a4d998f6a1c544e497196bdcf05f461ad6250978c0c5ea35fffca654c289e976f4334f5a70508f28b0b6890e81e477e17016c0ef79762cc0b3921635bfb999f782d7c4f1d6fe6130c905511d009d5d06c48bd81bfead3979321e77b9ac35ee3f3736579e73f2a1ece7a52bcf075531c9f3e94e9befaa1266c309030b554de74cc77ace4ea72459d683cadeceb834c84d4b4be67cb966241e733d8444ba60b15\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 687\nct = 6e681d931d155b05370a42287b8d11e464c61860f7894b0aa8fc93cb433edb75fe76700a0b3ca49ecc9295e7ba83091b1d67fa3bdc75a8fea3877ffcc511f7feae5a517fc0effa7821409df074e25748991b59da43187609cf163cf48df9c62125dfb8bff700818712b2e4e879f5a8b41a7d557c025a5f09349d522472a662d4378aaf0a7efc3a76e3d82c66adb5ad3e6f3d0b1b6649ea42a9c71f05850a76b42c08102606d12c705a81d24ef4b896c9a7b010a7282d4c15306bde24807b79d3ee2cd92ca5e890c751f78f2542a0529113ab6aaa9c308bdc359e7dc51f66977f0ec93462217717c67cb61f6ea3e475e3b9731fb316c23e157d12018ed0e0af811b744f14f3d2387e6aa7e73a5152cad8c430d3417d5a0411f5ea5ee006deedd34630121540121a77aa82d8b3ed75191073352996e9fee8a8cdf27df51c6a9766ce411b88f9fcaf922021b850f1838091cde3a057c0f657b639660566d2ce9033179c5fec69450c59e7703e5ccd09691cbb1e9c984770dca61a7db778444ac814cd6ecc8900f97b89512464403eb6826f5467774ba4629d5cfc8bb8847dc0016989c3fd704c784ecc3f43c3d4ec662a85cbd9db4970e7a300422aa6e7fd3bcd49d9a4ac4f3d87683627d8b0f1e80db8aa855f3c8c909c8b28a55d1f7ab12aa6223f1ee90807c2ce3703217ad398c288fca1eb9fbe70cfcd91f036e3898287988b\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 688\nct = d283a74814fd1f73e7bc186e64d14386ece726f8575669a696c0c2d4005dd27db921fbbea58c5e6ed374091a2e8f41a45d807e937c0d22d8c14e3939009acbfcf07746053781bb1fa45b39b98d2849d8d9054c6c0ff3fec7d85ad0e9b8235749c32be5e279c7499d3a694900921beabeff358513e505cd9053362f9b945e1aeea7176705176d9b4afeb0d6145ea30a1496bc019517aebb33ae57cccdd7b8aced4be5c14e840db076b23bd5a57acebf0c84209fd1fce2b3ea85960f443efe337b80bedf19029c5fedfb4b22e31572648058e26653df03937b9fe2461fac749be805aa1c447f16ed92defad3d3f2ddb7834dff07c5abd8ad62becabb2e33ccc55318fd140a12ca9153884e3947ba3539ac0f27920fec712711b8804c351121b0fd91683a6f2c29cccc41eb5aaf334defc72bcedaf34934cc1c10939ec47553ef928839ca9dea5e07f488e00ebb53103ce2f263b09365155efd1165d25868b2868399010d9cfaec627f5f794575cd0e45e5a657e2b0f58b25f083b70a41", + "20f69fac4d0989b67409e50d849199672e3597131d979e691f9846d391b557d2e3a22415f9aa55e0c0123be2284e392cd104fb586544140e32e21dc284a6935d94afc3177df7a0105f09d12f39dbd0908e364729c4e68c994a35e9b91f0eef484449d0494e530908e41c7c21f770601ea67060b0c30d332ead4cafb615d4b1b416c5c3b2\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 689\nct = 1b838e0fdb3595217d0a542c282417786b8ea7e2b615221343ba156f1a17a69657ec3e6e2cdc1a69d838768f73b6af979b2143823bf762e5c049fdcbd7b29b8b8878be5fb6852a56c1272a4c8fc1e5f438dd05b2ee7d37728ed196fd66b66f875cdaa48fc378f9128e54d8ff43d0876d6824075accb8fb75b663dd367aee511a2ec380f1de453185c044f9c9a381c37f430f3873dc577bb19aa94a05a5509137a4b9c0fd34216d58ddf7f4fc5e56e3ceceafcde2b9bd4c1588a16966e250d60150df64317d80e6e111a3030646e8230a3c6aaee46f67dba0a374e8f402d1ab8b2ebb9038f311cb1cbbab75a7ad4793121f899bda162ea969421a41f0860658d9a78f5429be140c6205718cf981adc624fef8358fb79b95c18d3aec4182ee9d2edc9f17b15f99ca0b3bb78f5e14c2a4b754d46153d880e9a7506888db1e3ca9ce2a2e07e781c3df0b592a389c36c3b7f0bad15286dac667ac52d6bd340f821c9e867a4345ba7a2199ef600b788f1fe93974fd80944dec2424ceee645d1fa0a9c9cd354c7e44e29b8b421474d2a4abc839d5be4c110077e54eebbc8735bdbafe3b3402996ac81f6b6ec876072cdb5ed055e7327569422caf82d7c6834e7430565a7c69d6ed2f74a33ffef59aefb45be98915c996dbc73c06f1f034143723a80bc8e03b172e68f8b27d2a167189e516b44a2d5aabdf0bda42a19bf0a06fa3469d20\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 690\nct = 8cb5e3438ef514d388b3448b6d879c9755ab1e36d76ba64c8da5f961a05d965450d5ee31223b81dac1f5c381a2c7c2b517d03868473745e3cdabbaf1240954e1543e629a10266b16b221693f0f04939c07c31633a8e36d4dd382f833446e2a658b66058854f5dcb885ad182beb6198c75b49d7cac929eb196159166eec39e004dbe7f5b854ad2e562c6a2a8b71ad35472c214eb7e52ee2c63b18e6b11ca0711aae0fe06dec7e2a221ee1c4f4d72fd65e5e650bb5506fce912312a3138292812055fc164cc6809b71e667349e4723eefd80520b101e20830bf07aad824edf377dd481ab325c0d04d9c22b0cd9f7605bea8829b19a1cb11556dc633463a33b1617a5e2e8809a096882934d51e6ee592893de815d77d37fb6bd731e4a66fe8d22c2408f93fc0d0760962410bda050408ba82e49d6faf9ee559ff44a809204d39dbc6039984bc170e34595996582a7f77b75452466989e0e55ae2a9a3b4eb838ad1b2b36379544007c0943535f0d496efe6ada92a6d04524160c04994b1e91e909d0475908c154ac642bc289b91ba3fb5a31bfc7904f373656df4d6002b896b105ce7f23f1696d010bbe2be90e2b2eafc5b6bacb4571bc8cb95949b73bf49874b5516bb28f19fe3a94c12e36baf063bdcebc427cddabc27f5dfae8ca7a81c6f02463faf2e15bb2f672fb703cccdd92fcb3c294fb84abad218e4781029005fe6a38ea\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 691\n# Longest valid message size\nct = 85445e1eb86b2bc2b1ad81a569cd50509f9bcc6b37d6986c0bdf5e267d224db1a168a54d83ad59ce0ed759ea2ea7fb75bc9f82814699586a92d3ad42b50031c043ba7d2d47e2a5f0c2a486875625ba8f5005d22bd07918c4058faa47ff10dabe099f882aed9798e38c7d7640c7d9b3f2adbb4e1b939b2cdb13aab4ed5e8e9a1eda5060a78c9b0bf1e903f970016a50a6f67581566d79985cf244bd1fd2532abbe82261eea2c4d6cc70c5aeca7cebb74095e876563f60b452c3a2bd2747858c2843076e68b570b67b7292dae47f0ebdaf0abafbba73763f4b96bedc0fba8c4b8e6c8ef18f3c5396ab7d518abbc128a33b07ca45d8f22e09f9f973e7de301c27752016d03862f2c4f8f8595db161175822649e73e97322f9c425b5376a021a4675a2b3681f6bf554ddaef199063b3604f219bb734f5d20a84360e696f5e6ae7268c29060761360f8d149c2534640e4a0bc9614df3d5499dab48bcbeda69e340507073cb326dab804d1157bf159f3cbf4555abd286cfc9e8c1474c497b544e9e52af45c10fd954f576f4c20ae9bdcb5afbb6fe9c9eac2a8fb62e0d633f48dc5359eeea5c3136d68ba9e4c39af0979dc592e8c0074bfc8f2424f0a75ca50c60044a0e8542acba8f0259cae49bdf55d7892b347b3071af6b92008da70193df983abab857c87e88dee7f934425e74037cd671867dc05a564887e8367a8d88f3e0ade0e\nlabel = \nmsg = 787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 0085f99393b1ad30ceb4bf78e3a85abcaccc1387e45902c965384fa2453f968924e904b6dae0c38d7ba5095c838c45e879bd64ee6ec58c7c8c308f2972c8f246fef33e70307e6725145252641af32cde219b766829ba8f33cde7266749d8b4ed1962c0f8005bdaa8b65b16001323c5b11fc068d14c554ae4465b58029029c30754963d56a09b17c1e9f46643bce824b693fcc9bfa45b9fa2bf2d0823cb9580071d762a049251baddbda74a303f859197fdf27a1e90227953ec7d305f9ec620eb968fdc531cbcd060a7496e229f37144f52ae17eb70a0108098110c7b8474a430c4672347a0c6f6597832423f8b171a6871c8eb62ad5f9ab26a446926ec88ca73d8c5f7c1233519132a6da0f3b75e527107d4699e7edc9e1d028c117cd6cd5a84c057a9b57b3b7c1571af8023336ced6ee72f19ac3b92b21429d3db940ac3871b781d9c2ba70184f7b6386e4d4e16340285f5e22e892d47e0475a1bce4d7e8dc2c9580cd8684e41422165eb3cb15ad67b2fb9ee4fb63482ab838c10ecfa15730a692f8d0f1ca74078bff70015b3a1ead8bdb897272418f6f25e7c033c1429514adfaff7dbe68623f7d17f40f326749fdd4fab0c24bfe90c17be87a49899c15d83d524f04c0f5510adab43c9ddf80e1bb4b68b700a08667468824b5b5d358660b0c278ed9cf8f586584887e20657a60f7c4150f53e8c9f8ae6f3b546d84135fb0011]\n[e = 010001]\n[keysize = 4096]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00e3ae7de5bf44de7d357e238c8dff063ca713470777ab786b495884e7a9ba1dde65de7d2b5be3f2b7d1830cf6ca8ed5c05d3f094aaaeb1dd2e4b2ede08613109a9ba34c7e2bf8450225974374459f16da2c14192c637985febebbef01f0381e78d0fd63b76038f5e3d35dc7d2243963366af5d7685f1bcfc99dcb91e94c93019068353122edd03cc3e615e17c1bf1dd7c43dae86f47a40238fb594041cebdba25f3fe9593a6c329b7f7c476eab7625d17ba7be7886936b733f8dce6e6c937f588da1315c1117abd29c83895d95988d17f9fd7623960d8e433d7c6841507ff2faac36e0e19a41eb2cccdb2a2c0fae966719a99d203c924349bc0eea1374efd3e23099b2d187922016fd014087520a67363687322b90d7a890d8f4464a8c794d2a3f2070ccd3b0ebbca2b42bbf8eba6f2c0bf8008b5616ee7b81629ebff97a93a5b861989daa10da7c8e3bc7b0cdb095f6ce1185cf8fd3dca035eb3e505cbe022d81d93945a144806b9fe0ba07f3ab9c70e72b5fb77ac6e4c7e03aa2dce7c5ef227aba1acd48c1d93e0e26f01e8f1e43aa97880d15d6c924b060d1face21d03a796c86301f4a74339e472b2f96cd0755741cb9df3535077381ada84d1bc0846a6c44c8a8d3cfe1b7a9913d1f3d7af2c5ea4e67ce0a7ed3c0058206fd13ad9ccad5a8212f3ecd788368a6b6148178c7c5ea8d6d385227f2c76a047216e5e206b1ed1]\n[privateKeyPkcs8 = 30820945020100300d06092a864886f70d01010105000482092f3082092b0201000282020100e3ae7de5bf44de7d357e238c8dff063ca713470777ab786b495884e7a9ba1dde65de7d2b5be3f2b7d1830cf6ca8ed5c05d3f094aaaeb1dd2e4b2ede08613109a9ba34c7e2bf8450225974374459f16da2c14192c637985febebbef01f0381e78d0fd63b76038f5e3d35dc7d2243963366af5d7685f1bcfc99dcb91e94c93019068353122edd03cc3e615e17c1bf1dd7c43dae86f47a40238fb594041cebdba25f3fe9593a6c329b7f7c476eab7625d17ba7be7886936b733f8dce6e6c937f588da1315c1117abd29c83895d95988d17f9fd7623960d8e433d7c6841507ff2faac36e0e19a41eb2cccdb2a2c0fae966719a99d203c924349bc0eea1374efd3e23099b2d187922016fd014087520a67363687322b90d7a890d8f4464a8c794d2a3f2070ccd3b0ebbca2b42bbf8eba6f2c0bf8008b5616ee7b81629ebff97a93a5b861989daa10da7c8e3bc7b0cdb095f6ce1185cf8fd3dca035eb3e505cbe022d81d93945a144806b9fe0ba07f3ab9c70e72b5fb77ac6e4c7e03aa2dce7c5ef227aba1acd48c1d93e0e26f01e8f1e43aa97880d15d6c924b060d1face21d03a796c86301f4a74339e472b2f96cd0755741cb9df3535077381ada84d1bc0846a6c44c8a8d3cfe1b7a9913d1f3d7af2c5ea4e67ce0a7ed3c0058206fd13ad9ccad5a8212f3ecd788368a6b6148178c7c5ea8d6d385227f2c76a047216e5e206b1ed10203010001028202010085f99393b1ad30ceb4bf78e3a85abcaccc1387e45902c965384fa2453f968924e904b6dae0c38d7ba5095c838c45e879bd64ee6ec58c7c8c308f2972c8f246fef33e70307e6725145252641af32cde219b766829ba8f33cde7266749d8b4ed1962c0f8005bdaa8b65b16001323c5b11fc068d14c554ae4465b58029029c30754963d56a09b17c1e9f46643bce824b693fcc9bfa45b9fa2bf2d0823cb9580071d762a049251baddbda74a303f859197fdf27a1e90227953ec7d305f9ec620eb968fdc531cbcd060a7496e229f37144f52ae17eb70a0108098110c7b8474a430c4672347a0c6f6597832", + "423f8b171a6871c8eb62ad5f9ab26a446926ec88ca73d8c5f7c1233519132a6da0f3b75e527107d4699e7edc9e1d028c117cd6cd5a84c057a9b57b3b7c1571af8023336ced6ee72f19ac3b92b21429d3db940ac3871b781d9c2ba70184f7b6386e4d4e16340285f5e22e892d47e0475a1bce4d7e8dc2c9580cd8684e41422165eb3cb15ad67b2fb9ee4fb63482ab838c10ecfa15730a692f8d0f1ca74078bff70015b3a1ead8bdb897272418f6f25e7c033c1429514adfaff7dbe68623f7d17f40f326749fdd4fab0c24bfe90c17be87a49899c15d83d524f04c0f5510adab43c9ddf80e1bb4b68b700a08667468824b5b5d358660b0c278ed9cf8f586584887e20657a60f7c4150f53e8c9f8ae6f3b546d84135fb00110282010100f8dbab5ac0479b00c69751ffcd0de5e398deb0bf0cf19a659e09b6acc4c569785901b75889e27a6cee8a309708a6d68a51bd93e8b25b86a5c2150b4fff9620974daa6814c3601dce8fdccce1abe6e6737c948fd9b7c8a3d9032a339bc6ee848ee4fa54f513c3575b7a89325f7c97b1beb5b606fe96f2b3293f4ceac194c090134ef930a04882f1e96838c2827d8ea512cf474a4b5640f46ee2580df8b59a6afca4c1e1f9a3ba82232b9db27e9f2b48d5181ec781df795aa87e84ad15e095fe43d46a6edb0d47d62864877692c754c2935478677fe4ce9a4290639d8a448e7e2c393bc5404f14dd37eb66b4b23ffd071d346fd6e59d32f0ae1c1029f656d74f670282010100ea373dcc568d1345b0381de192171c20d8c8c32c5a5bacb84abd72cb96fec492fe4ed35d7a65e5739d859fb99e2b2e43c590c78ecb9c07a40d7793aa78dcb31de236b9735b6f2f09cea70ea921275a812821bcbe3869b8883beb2409334f8e0a96f4528157de3f23318240e65d3dca9a3d43de08345bc2ece4bac68c7a21d29c5acfa230c518c987363c37acd2b6f6cbd69fff99d3a619c6268be013d3a8b96c2817e606863d3d8c123306fe7f6b8dc027daba68a6784bff414b352649bc7769eb9f61c02bb8c7627814484f2799233c81898c679256f10bcabef4684ec84b259df1751a49a153c0e84357ee8cc9e35e9e5616af9b00404e55452b2df08795070282010100c3b4650e6a562594b7987ad8f31671eac9e69f12b0083486a3813a12a67025608a86a9fc4bfb3a91fe09d8ea7dd84eb1da547f442937872d45f32cc14ddb6f67eda10c56ffcacfc60926f84ca4d661f7024b06d18e1190a0f23736fcd3b5f1b33a698f7468855f66c677ac90a137de857efb5686d288acd2cc401e01fc8c6f017042d1b5cb3087342a4d30d2541160c9e90e4463f8c1fe38517234129a2684ea885b1cee288f5d16718f83b6c64fd0e81c1ee080c710f575ba817668d504c03ff1857e06706c4503e10313019d16902a32ecb9603fbd265d2095e667bd405e03434338fd38f3cc80d47421b86850014f3b5494a8603696462635a3fa6112d4130282010100b43f772bbea02b68c2492d95df5c31a585b05ba3d29622c261a292a9e3b68589aa74f76d45390df08015c9ea8bb32793b883c750399a06b75635e44a99611fe7aba3f9ecb13d4bb1fc7bcc6894bf38839563016252ffe9a7ce9513d290ce74bde99675b85ceb09240881f9784fe1b1fe2990055bc30fab5fac57a15d92d05cc93f89f3841ceb0a8d284c077cd55d416975ef04425a03c66a1c582146a0e984699c2168413526042bbc05d12822df9ee376c87a14f7a834b468877c8bcecb600affee54c813ddcc74177d6478a63cd0454c5b92d65264de74f8bf2450f1f06b04b41c92c67c4bcfacf21281a5706c1eb33e9f7a2e02d79aa5ae31e11d25b2f21902820101008d2fd00d16cfa3fdbb3a99581cc4cf3e6e31ed69dcddc62a989530f859acb06ddf0aa8d61020d6f700a7ce71916b409c963e02d96a8ff7ed15f091650913cd0c49903d8d036f3d21914ec934d8080f891be53c45666a813b6f5d8e5f22ac202cc1a0c5131f06e5fb47e0c25a5599a08d285e02a4ed2611fab47efe0b27604bf8717ec11535b02df6920bc87e60d3b172d7d70ebf0482ac59d4f6d34124fcf460165fe06fae276a5dc9c6407e691ccb3fd675430be6be036ca1882eb48aafe0a3be03e0f6f9a35bbec7b1be5452eeb21dea824270d906472a9a1fb386a0acd99d9df4d3cf28ec3a1dbcec0efb27296b0f540efa695828643b95c32d017bfc5275]\n[sha = SHA-384]\n\n# tcId = 692\nct = 484969213d45616f13d80417b42082f89e3ae5e04be338b022275b60091b5abed61690e9901ff9ae7f1e2c6a9fae472f24e23b7679bf0eff35f83fbdff821bc5f191f7d1ed16dee4d37d69117ba8b7a641e6463d2ecb1a70c2ec76c50552ac2df7aac7eeda24c50d958770be6c2bd6ffb5cd260a4523fa98fe527b3466afd1ed9f4aa0684704a105860327457e7020502b6e618b9f2de6708025ba32aa149577183fcd2ef9c29fd1b47c10967f4fe0991a8d8a9057373d98ca00b8128d2c7967640b220e0c179baddf9049c78fb429f2c5c36fa196fdf5962f729226fe8a3763248e8c94541bd8b7462cc1aaa15a7fabb77aade1313004dfd0a1c8a323f2ed80abda2d664b8a1ce03cb41c94aa3637ec6326559ef2f33c6186002096c3795896839aae0cde29162818afe730f6acf7e92f5a4005990df531f67530a59a05ba86c6230105dd3b4f2eb772822867c99a8103057460651f18f5e16e7b47b9682032831197cf60663c2c582cf1e05331f69708d46f8e6a86ee6eb413deb898f5ac6ed091075ba39b6dc6f16e41fd5ca503e854235e4ecd198d045677327fa5517dd3a0e8c469f9642ac1090b5bbe84e7f7af481f4616a41b8162ea173c9175e9889c372912a034b9aa620a93c617cdc5e643c2c0623d0eb4be5ff3155778960d0a2a614115ade1e96a713a4afcc31aabd0b270d81f54afa12b50a379b75ace7d34d6\nlabel = \nmsg = \nresult = valid\n\n# tcId = 693\nct = aa1bad5fdc2916d4096924d3d2fb2d003eeb06bf5f819c406b4a0b49f530e181c3b801ba89837724408c6c44aa80441627e912653529645d9a79cb191b1ff82f47bdd346baf2dbe9cbd0e9e4168a86b10f71d407f0f6a6256a7af1dc61cde565f125329cbe8935d46c50e7d1f3254456cea3ffe93674007b03cdebfe9d020aaa29112ecfbe1d5cf0c67457270657e6d55c5e5346c219b913bb6df8d9bac087f6a520ddbb12e4be8899cdf07b495215b859a6d35ea0d740962f0e9fec3264f05f233a6fe453b8d16b610cb232540933f20ac45d8d0db9c322040a5268553772b62e6fd0b7ee9a5ec43586de2fef9b73be045593f26ad233c4de43dcb78938420bff3929c4128485e3201877f423539bbe285bf0d79c10c76ec55521e00997e477593352a016455e5da17007ae2ddf5f47d4c0ce618140f50ebe6e5a06a4ac748bcccb2d9462e66f6c1d57dec8cedb5a02bbc2cd1521704a5420c9ac2b97d7f514cfd1221f0bd4d63a7686a87c62713583f436eb3209d9df8ed414daec24a9574b110a87787bfe1d80c5d960a23d1e4c034041d1dc1da95bd462f63b47997304c2217d942f7e9e912cab1e1caea0036e66ce5b48e67c9e1d9dcba5026c724e3f3ad0589d640b67150f0fb1c085c241423d97e658048efc3dff98b4ae4342b391490a77abcdfcf8c5a1f387d19d099fc1240fd9836b059eb5b81bd2d8e504baa10e\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 694\nct = 0aaeef4a3b0182afbbc1e67b380df5e8c04cdb22a212a76a73201b509d837004581b2368f2b02df80674d45e524ad5593d341f31bfcd058ce8e68d95c0ab7a50b5c6793b6acf997114006e48e450cb43c3b1880e2226b81d747abeb90b4f99fc736e4488d4ba9a55dc792d8bbdcfb12301dc86538437c5f5b9cb4f8e15d6dacded0c1020cfd9f93bb33d883b3389d8841872bbade56b97546f1fa3fa4b67d733a1bfe3c0d413d6fd7ca3fe67c76d8f7509113c9e97a2bf0daf3442c947c6afd0ec8fe20d0449cd459393fc15b785c1aa7ad2a5bb5ca79254b9cdd30ce28a02577b846a13271c9b867edae87981e2d875249517ad348ac5962abd53ee75fd94cfcde6e9282cd30c0f52f78bfc6cbfce5b2bb850b911c5093c417107d1503861e53fd36ec8f9108587deccbfc1e351e216616ae239cec4a45b9d7c0367ab08a227f5d7c23c04f466ae662fa4f19c0c23962502487dbad4afaf2b771f962b6c3639d041f20b9a40cfc21c5451c0de1aafd564072c48bdd51dbd382886c85805c8e926fdaeb23a387de608566c3d0853212d996cbecf70ea50ac6e8ff79a1aba17e85d10d149c4bbcf7d86b2d0bf0a64498979a9dd96cdd4802672875ae0f97b5231a6e509a10744513a86a9e1e6a5a372e91543d09a2250b8c8e3c6b3a67154ca8e38723b67bb74e3c6c2bf021a721022600c5296ce28b4315977d249c39de4373c\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 695\nct = 81eac53e41dc5ba473dba1642b2ad418eda2ceef94c9db28758fbfd539424c463d08d778f1ea610a234dea1bab54cdd7a8e3d1d339ed57858dbd6edd316658b85458f2f9f6579db162002d0e0f1c7a9a132d05ff12f060332d0874889978aa3889662d773f43f374124aaa56d53d395276ed174ca60704889bed526821e2ff4f3f6879d3e20e9068fe6ac04b81efa04f9d5833c5072e672d22d4516f724c0109907c1fc07081133285c046f75f306faa795a4b65dca8fe623bb93f08ec14a6c64d85e2dbe1f1a4a2c5c9de0d1a08ac4511be6efd79ac1067b31d816b9904abc2e26c0b39947fc13bd69bbc0ff50af8138b4990c75eee612a9d9fccc23c9d955c7eeae56e01fcb35fda32b93e94e455bba6d81621a5c473877e76bf8c39617810fb1c568e9a561d3e8cddb42ebdbbefc3d9ae41c2b3777b96c0fcd54fb4a0a6c427d0bd6d81f89a57166cb50c396f2614fd38189c55c4635b83859305190541d630059f8184679638be561e98c5dabe7e195d57311aad7aecf2774da15f5fe75d3f363f5032b4748df7ef0f72b0a2998d6ee8ed3159364932edb8cd57d85aab0df79e695358ab542ec5495bdb553476bafd7c77d691e1ab56d78de7b09b91cadf2170fd95315b9efe1d3f450268c1e192afb00ff7e019127fc2a5acb5a5d894696482bb8a136f8c648f3fb415126e0683ba62c0338118491123b24577ea51ffb2\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 696\nct = 1e0330d5116bbb5685b44d15dc90e6628b09b340a21fc8b7f88253bff925a009a38720dbdffbc9c51e0d05e4dd0a675d5750954b4ff2b6dad0fef554e958dcc567ce30e54d85e7d3d6c1566dadfb33045b7ac9330e87fd891b8aa8ae58f61482f68baca2d07ad810bd1dfc438bf7e09519735a8e1ba7ed8b498d9baeaeb6f546e8c3db108cfa9d34e15a65ef0c9cb0208b968ea3f61d981becb1e730aa20df69eb754b2476bf612c5c349593507d3d28b8fe77fad6e168172f754bacc4b3330ba377e77fce9e1e76ebd313d3a03cabee1252ae6f26dcc8cf5a795d7f82edddf2e24c074eeb695919a6c553792acb63efaabf723e544c136b682ba6cdfb4cf8c436525844165d70d675d49544d3f3d5c6b74de2c9a0c20ffde44e497136c41261cb5c7a14f303dd46e6800d39a110e4540b97fcdbcef0d4285f8", + "bf986c52b26df67723ce02fe1591dcf2ff49a431b52182c9383cb86a52840db8c98e910265cb3a6cc546ab43ab896b536a110a84d2be776be7fa9488f5654b2c5aa65c34c4f751114c4519a33be5d660098b51372d26538347f7e610ac86584596059ef68ce14488a5435626842d062d5023a24830623261d93d6663349bc7e3473b87d7689e0b72205eeaeb978e072c5dab20824bc6f0be647af8e9bb5065d75c7fccbd349be92893614b73b1a1420fd8ae96fb6b5f5da4d51daeac632cde029fae446ec1415\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 697\nct = 37c26f69345604fc3b17076fb4c9fa1f67ea1f7efa4bc2e51fa53838585f6b67fff0c2d8dd1b0019f32aa76883c820d362e623ac71d0365f04f264673a1160d4ca454dea947e772661e64158db964bb6d55943382f9c1fc261e1889b2eb00a42df77dfa7340307610eab1583bf6d05d18bdb8a07f0bf224888f97eb8a4805ec751ea5572d81a7c749ba51b23d57aed1391a83b91b6f14a76c05d69fe82da488bdfa74f628061ac690bdd8364c2a56c8317001addbd1b372016d8488865268392f7135adac620b006ea5f4969936440d70698b182985207633d0a845cf9ac37abcd382e7bd8ba427affa65fd6b56c9f79bb785615726984f2581065f6f3c94fbc11b771b4aa0f35b479a90c6be318e5c11f98528d391c531913ff13b873b643a068248ec3fc85565535dd0f3c3bb9b9227d6c6325ef8d34ca4621c8d9334ec3660811652cf7204ae18f8a9073c552cf6622af483c8350e98bf8b7e1263b18b8940d3cac400a355a033fcd66662a87b5437241ac7555a59fc1c8294376d358f2a0caffbccf563e368677a3c05c06cdf34ea5e052f61260f6d6814cd0fb145c9846ce1a98982a6c737a8c9729bae188879a32ca1d884af68c157c1759e40575303739b6a4440e466beca07cc93253233d212ec8b81c14b51964f9681d3522b794f50dc6896e0d9b1e0a3e0fba284e48c459bc52e7f4974ae361f19103fb2607c71d\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 698\nct = b174fdad5962cd7472c9bcf9cd78c5994dbe7ee676ecac01c830751abe805b30f0ef7f43aae8b9e46977d72ac3482af898dcf77560ff83f2c2a1489bbdc52855dd06ecd6ef069a09f54d28c5feb2bad18ceb3cbc233108a705fe866f568e27ca83b0a148829ac5e78c93c328bbd80745e2af18f1f8c366a2dc030c0d95f155b1f12ab3723c6679524acf85d55640cd727b4fb5eebf535a7f5f90e1a5f6b779ea936edaf1b3ae8ab1fac577bdc5be1a5f20fce7ca90c6c257cd7ad4e0e4707fa46cdb9c52b2e92c57b8a22563a9e0519ccd7209812f66cfee55a3195f78cb169a35f971459116a6d6cf65dc059c167e5cde8e80ade92868cf9e28eff61a72da5313b786646d9da0216ca0b71737708d85fbfd2290a665ac5b3bd7902e57ba1c720704481ccb187a2f8791aaeca88e79c59f897992fed04190f347136c881142781207287e5e2e6bedb0fc8c2d8e74a9874f5254ac884b362698caf4652424e2050a8d9c075bad137ca09c0fadd6c0eaee4ddfed2185f71c9ae55d8ad1bed5eb86d691229eb41d1fae52f970760689fe6dce277affc975aaf67663b702b541e24b6a436eb1e25f00c82bfd00141e90cdc79cb805e4ddcd29ed0c959d40784151043f21ad7b00b44e944e03048dd4c9bc7c056dfa838f66db4b354a0de188f263fecfc1e767b855d8e72fd03837f9f56f5ebae60b655c492096b297b76f8b743427\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 699\n# Longest valid message size\nct = 2069753cf9e5791b91630881c357c1caef25063206b85320668ed81da7e44718391330aee8b71c975ebe4c636213d65e538d64afb02e932a03f480455666e145f237f01e1ad0c35db34e1fdd68a2be55a9f2282f66f9e36d5f0a140cc290c93206db234898a77ceb3332074bbaa98fbef416afc7e71daa7bc2488cdb9897f169ea5eca647588945b0fc9663ba4137ff59a6de27ec9b40430933a03c2ab2783a7df0622156a86d7ee49daf005dda55687f1e570c162def42610b7907887bfdbfe6bcc3f4be7e8a79a6801283d04abccb2b43077527c8504deab2f3d2b99c0bce7b078b8a45b00d6ec806b4ae4bf14a6a996b928c1306b00a679eb967ab0427b0b5ee146689a0644d5d8468942ad1178b30e4bdf367b6d794ee784ef730063f52c72b09b7107ed69e1c1a128b20fd2150d7d93d98abf6722e89a8f2e470af92de959f3a1671cf45e655e50adff21b809253d204ce111a1943ec60cde4fc5beb7a9d03f2d7ffcf37f1f2a1e0671f5d227ad109b5650e2d93e9f34becea713be5568630872fd974ef4fcb64c17d677bbc60eee2c62fd85a7a9c5375435d74ad4c1631fccfd599411a6b3850679625f234a0bfad79fb979f0edfc87a7180fe93c44a0325d43db8f4497e560637de716497ed7f263b98fadc6c400e36eddfea688804e7690b90c92b5cf244ce2a72a175876db3b3adc7709c57476d6572bb4d096372b\nlabel = \nmsg = 787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 0085f99393b1ad30ceb4bf78e3a85abcaccc1387e45902c965384fa2453f968924e904b6dae0c38d7ba5095c838c45e879bd64ee6ec58c7c8c308f2972c8f246fef33e70307e6725145252641af32cde219b766829ba8f33cde7266749d8b4ed1962c0f8005bdaa8b65b16001323c5b11fc068d14c554ae4465b58029029c30754963d56a09b17c1e9f46643bce824b693fcc9bfa45b9fa2bf2d0823cb9580071d762a049251baddbda74a303f859197fdf27a1e90227953ec7d305f9ec620eb968fdc531cbcd060a7496e229f37144f52ae17eb70a0108098110c7b8474a430c4672347a0c6f6597832423f8b171a6871c8eb62ad5f9ab26a446926ec88ca73d8c5f7c1233519132a6da0f3b75e527107d4699e7edc9e1d028c117cd6cd5a84c057a9b57b3b7c1571af8023336ced6ee72f19ac3b92b21429d3db940ac3871b781d9c2ba70184f7b6386e4d4e16340285f5e22e892d47e0475a1bce4d7e8dc2c9580cd8684e41422165eb3cb15ad67b2fb9ee4fb63482ab838c10ecfa15730a692f8d0f1ca74078bff70015b3a1ead8bdb897272418f6f25e7c033c1429514adfaff7dbe68623f7d17f40f326749fdd4fab0c24bfe90c17be87a49899c15d83d524f04c0f5510adab43c9ddf80e1bb4b68b700a08667468824b5b5d358660b0c278ed9cf8f586584887e20657a60f7c4150f53e8c9f8ae6f3b546d84135fb0011]\n[e = 010001]\n[keysize = 4096]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00e3ae7de5bf44de7d357e238c8dff063ca713470777ab786b495884e7a9ba1dde65de7d2b5be3f2b7d1830cf6ca8ed5c05d3f094aaaeb1dd2e4b2ede08613109a9ba34c7e2bf8450225974374459f16da2c14192c637985febebbef01f0381e78d0fd63b76038f5e3d35dc7d2243963366af5d7685f1bcfc99dcb91e94c93019068353122edd03cc3e615e17c1bf1dd7c43dae86f47a40238fb594041cebdba25f3fe9593a6c329b7f7c476eab7625d17ba7be7886936b733f8dce6e6c937f588da1315c1117abd29c83895d95988d17f9fd7623960d8e433d7c6841507ff2faac36e0e19a41eb2cccdb2a2c0fae966719a99d203c924349bc0eea1374efd3e23099b2d187922016fd014087520a67363687322b90d7a890d8f4464a8c794d2a3f2070ccd3b0ebbca2b42bbf8eba6f2c0bf8008b5616ee7b81629ebff97a93a5b861989daa10da7c8e3bc7b0cdb095f6ce1185cf8fd3dca035eb3e505cbe022d81d93945a144806b9fe0ba07f3ab9c70e72b5fb77ac6e4c7e03aa2dce7c5ef227aba1acd48c1d93e0e26f01e8f1e43aa97880d15d6c924b060d1face21d03a796c86301f4a74339e472b2f96cd0755741cb9df3535077381ada84d1bc0846a6c44c8a8d3cfe1b7a9913d1f3d7af2c5ea4e67ce0a7ed3c0058206fd13ad9ccad5a8212f3ecd788368a6b6148178c7c5ea8d6d385227f2c76a047216e5e206b1ed1]\n[privateKeyPkcs8 = 30820945020100300d06092a864886f70d01010105000482092f3082092b0201000282020100e3ae7de5bf44de7d357e238c8dff063ca713470777ab786b495884e7a9ba1dde65de7d2b5be3f2b7d1830cf6ca8ed5c05d3f094aaaeb1dd2e4b2ede08613109a9ba34c7e2bf8450225974374459f16da2c14192c637985febebbef01f0381e78d0fd63b76038f5e3d35dc7d2243963366af5d7685f1bcfc99dcb91e94c93019068353122edd03cc3e615e17c1bf1dd7c43dae86f47a40238fb594041cebdba25f3fe9593a6c329b7f7c476eab7625d17ba7be7886936b733f8dce6e6c937f588da1315c1117abd29c83895d95988d17f9fd7623960d8e433d7c6841507ff2faac36e0e19a41eb2cccdb2a2c0fae966719a99d203c924349bc0eea1374efd3e23099b2d187922016fd014087520a67363687322b90d7a890d8f4464a8c794d2a3f2070ccd3b0ebbca2b42bbf8eba6f2c0bf8008b5616ee7b81629ebff97a93a5b861989daa10da7c8e3bc7b0cdb095f6ce1185cf8fd3dca035eb3e505cbe022d81d93945a144806b9fe0ba07f3ab9c70e72b5fb77ac6e4c7e03aa2dce7c5ef227aba1acd48c1d93e0e26f01e8f1e43aa97880d15d6c924b060d1face21d03a796c86301f4a74339e472b2f96cd0755741cb9df3535077381ada84d1bc0846a6c44c8a8d3cfe1b7a9913d1f3d7af2c5ea4e67ce0a7ed3c0058206fd13ad9ccad5a8212f3ecd788368a6b6148178c7c5ea8d6d385227f2c76a047216e5e206b1ed10203010001028202010085f99393b1ad30ceb4bf78e3a85abcaccc1387e45902c965384fa2453f968924e904b6dae0c38d7ba5095c838c45e879bd64ee6ec58c7c8c308f2972c8f246fef33e70307e6725145252641af32cde219b766829ba8f33cde7266749d8b4ed1962c0f8005bdaa8b65b16001323c5b11fc068d14c554ae4465b58029029c30754963d56a09b17c1e9f46643bce824b693fcc9bfa45b9fa2bf2d0823cb9580071d762a049251bad", + "dbda74a303f859197fdf27a1e90227953ec7d305f9ec620eb968fdc531cbcd060a7496e229f37144f52ae17eb70a0108098110c7b8474a430c4672347a0c6f6597832423f8b171a6871c8eb62ad5f9ab26a446926ec88ca73d8c5f7c1233519132a6da0f3b75e527107d4699e7edc9e1d028c117cd6cd5a84c057a9b57b3b7c1571af8023336ced6ee72f19ac3b92b21429d3db940ac3871b781d9c2ba70184f7b6386e4d4e16340285f5e22e892d47e0475a1bce4d7e8dc2c9580cd8684e41422165eb3cb15ad67b2fb9ee4fb63482ab838c10ecfa15730a692f8d0f1ca74078bff70015b3a1ead8bdb897272418f6f25e7c033c1429514adfaff7dbe68623f7d17f40f326749fdd4fab0c24bfe90c17be87a49899c15d83d524f04c0f5510adab43c9ddf80e1bb4b68b700a08667468824b5b5d358660b0c278ed9cf8f586584887e20657a60f7c4150f53e8c9f8ae6f3b546d84135fb00110282010100f8dbab5ac0479b00c69751ffcd0de5e398deb0bf0cf19a659e09b6acc4c569785901b75889e27a6cee8a309708a6d68a51bd93e8b25b86a5c2150b4fff9620974daa6814c3601dce8fdccce1abe6e6737c948fd9b7c8a3d9032a339bc6ee848ee4fa54f513c3575b7a89325f7c97b1beb5b606fe96f2b3293f4ceac194c090134ef930a04882f1e96838c2827d8ea512cf474a4b5640f46ee2580df8b59a6afca4c1e1f9a3ba82232b9db27e9f2b48d5181ec781df795aa87e84ad15e095fe43d46a6edb0d47d62864877692c754c2935478677fe4ce9a4290639d8a448e7e2c393bc5404f14dd37eb66b4b23ffd071d346fd6e59d32f0ae1c1029f656d74f670282010100ea373dcc568d1345b0381de192171c20d8c8c32c5a5bacb84abd72cb96fec492fe4ed35d7a65e5739d859fb99e2b2e43c590c78ecb9c07a40d7793aa78dcb31de236b9735b6f2f09cea70ea921275a812821bcbe3869b8883beb2409334f8e0a96f4528157de3f23318240e65d3dca9a3d43de08345bc2ece4bac68c7a21d29c5acfa230c518c987363c37acd2b6f6cbd69fff99d3a619c6268be013d3a8b96c2817e606863d3d8c123306fe7f6b8dc027daba68a6784bff414b352649bc7769eb9f61c02bb8c7627814484f2799233c81898c679256f10bcabef4684ec84b259df1751a49a153c0e84357ee8cc9e35e9e5616af9b00404e55452b2df08795070282010100c3b4650e6a562594b7987ad8f31671eac9e69f12b0083486a3813a12a67025608a86a9fc4bfb3a91fe09d8ea7dd84eb1da547f442937872d45f32cc14ddb6f67eda10c56ffcacfc60926f84ca4d661f7024b06d18e1190a0f23736fcd3b5f1b33a698f7468855f66c677ac90a137de857efb5686d288acd2cc401e01fc8c6f017042d1b5cb3087342a4d30d2541160c9e90e4463f8c1fe38517234129a2684ea885b1cee288f5d16718f83b6c64fd0e81c1ee080c710f575ba817668d504c03ff1857e06706c4503e10313019d16902a32ecb9603fbd265d2095e667bd405e03434338fd38f3cc80d47421b86850014f3b5494a8603696462635a3fa6112d4130282010100b43f772bbea02b68c2492d95df5c31a585b05ba3d29622c261a292a9e3b68589aa74f76d45390df08015c9ea8bb32793b883c750399a06b75635e44a99611fe7aba3f9ecb13d4bb1fc7bcc6894bf38839563016252ffe9a7ce9513d290ce74bde99675b85ceb09240881f9784fe1b1fe2990055bc30fab5fac57a15d92d05cc93f89f3841ceb0a8d284c077cd55d416975ef04425a03c66a1c582146a0e984699c2168413526042bbc05d12822df9ee376c87a14f7a834b468877c8bcecb600affee54c813ddcc74177d6478a63cd0454c5b92d65264de74f8bf2450f1f06b04b41c92c67c4bcfacf21281a5706c1eb33e9f7a2e02d79aa5ae31e11d25b2f21902820101008d2fd00d16cfa3fdbb3a99581cc4cf3e6e31ed69dcddc62a989530f859acb06ddf0aa8d61020d6f700a7ce71916b409c963e02d96a8ff7ed15f091650913cd0c49903d8d036f3d21914ec934d8080f891be53c45666a813b6f5d8e5f22ac202cc1a0c5131f06e5fb47e0c25a5599a08d285e02a4ed2611fab47efe0b27604bf8717ec11535b02df6920bc87e60d3b172d7d70ebf0482ac59d4f6d34124fcf460165fe06fae276a5dc9c6407e691ccb3fd675430be6be036ca1882eb48aafe0a3be03e0f6f9a35bbec7b1be5452eeb21dea824270d906472a9a1fb386a0acd99d9df4d3cf28ec3a1dbcec0efb27296b0f540efa695828643b95c32d017bfc5275]\n[sha = SHA-384]\n\n# tcId = 700\nct = 2a7bc91b166dde6c5cd24a2fd7651f4b4a54769f5b5cbe27eda8fac63cc8db3f32f7a49200c4be8faf1db7e5ece0f07bc69148b7770015d58b0debfeaddbbd901e9d1613ba27978ff8f512bee4c6b1125a00163eba21b2592e983df48e8a4cf88be7d03996c6c4900a759fc93962eab345ee1ecb784d8c3c040c5904a38def66ab4091692cf0c544434f1f643f4897f7601f05df215fcb7348fd74696ed359b867c45e94c6d44213721c521f6899783d7f297fd92f09a2e236e0f40b80347d4fc40e21d759b88f4a7a5adf2482071cbf423c99b6bf613c33514f94e1f9057435a4b006bd648684d361c425eb49941f845e0607974e1dfca268271d8a4cee41b2e9cc2da0ac60f21927aa44355fba28a90ece85226ab0f137a22ec0e56bdeae1b9af5082375ee89266fa7a309ac466d7ab3f05aaf662dbda3a9c3127bdca01d2a9387368b89986ef89a5faffab816d96ca31bd847659c1dfab86e7c0aaf890606bfc9d1c37c022b82e9c114548082d620825dc5ca1c5a68bc2f94524d089f839a303417c4a27619b8e71312307218a2389e77cff7d759fda9fd67667713fbcc106c4a1dbb4682f38f4f628c35cd1e5929bceb2798f5e3e725340c21bbf2610c8c6c1c696b930f399bc7ae63541a77e886879bc9cd0244d9093456ab5ad4680ea7dfc6d2917e029c2e1c6ede84762c54a714ba6de55fec6ab508e012621b02ac83\nlabel = \nmsg = \nresult = valid\n\n# tcId = 701\nct = a9210f541963e90542e60ce85ca1e27981ec35d0b51549b9d513796875c67c52d9cbdbe73e5ba4ee01db07c2544b91506951a64201e71b46e583023bd97be4d6a70be877c68362c154c4f484f82b5b67d17950b89ab7ff6cd2e9a09ca0139dfd8fa520eb5f7d56eed3bc9a768128bb21171b6903bdf9a590443a4e9477f54970c9c204a18d0afd54d0a53c931729163c3aa35dcea8c6aa43d54bb5a6a56f5593a2c8f1313f2957a1c818007503a9cc4b900c691fcc0dd829e9e5c1f7a9ded9dfe38b0c4c42b9ad439b3f267acde40121848d933aaff82bf24202622fc1a1674bf6ac83db2fe7a587effc90698d54102a61a065b39249b5a33873be4eef4868109689bc75f6badf939e68aa5472510dd09e97482465ca426d15bc0a4bc1705c595b5d4b6ba861b46b268a8d5763db55f76ba852cb597bed6655d1b4339dcb69ca946f9bb772561f8073cfae047adc206d8810599c3f7ae8f42eafb49946b9c16b34a430a2b0488eeee6251e5c4270c79e0728028aa9103c10462bbc98bfec51244499cf0a7e918d2524c87274948405a0e4feea314a00d743f964dcabfe3b43b39b3c99acf9be4b7fe217c6dc6cdb31cc659e9ea0fdae11e48405c852ee493228f0da3bd1f7cef1cbb5d656c0b1348b870133851efc7903d11519ac0143921bd680113502b0dae718365c05228ab5bd63365c5f15bc8e312886a51f7a910082cf\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 702\nct = 4ce788cf4102d540a3370186206cb787936712429489695a19e50917e8380ab9d5b4d91716e827853c11cc6219c35629e6c7eb0b87a64df4a6f04caa77c59960e3591020bd81abffa8ac613e464fc7a39f0f1b479d66a37faf59bc155a3a9aa777fd2b3bbaeff4d1f666ec2a95c8dff245c09ee44ad64e5e02713939eed5113400ff865d9b7f053e0b7d447c5a5e425da8bd75cfbf188567ac2f312ea602c11f53565ee2ea3e2beb8dfbe72ee6ca7d284282c15bf98cac33673a7fead87572157c97984a1b82c98fddc19d8c04aeed2ae0302b43dbb68de2da0fa1751fa68c293603c9f74223d7588c7f278a94d89ce190776f2fbbf1d43990018f66caef20da6396632293bddbb2491ba6aa54bd31747fd43ca39b9eb5f19120879cd4251aec20e9dcada339fd2327b9f031e81da9cb93bd93542cd8e6abd31f8232a59f878540c9c81d2403355c7b768f74da998aeb5f48619ed2f38baa5c96caff63a061d298f1d29f463937c05fa4630fa4a44e6e9f78089a8c6e88f4094021f93ec4a1d9b37133d04947f8b72daf9c010e61274f56c8518bfe4ea49f6035bf1d8f4ddfd36ad8ae9b7c9c70acb9daa9d0bb3614a240ebc02b7366a06b390888965415c69c53222b6731b985d8218fcc446fbc3e44dcc12663105fddd03e3769cfc1a8b51068dc6b2c9998f8e615112fe43a52f4142aafdb2f27a2fa7c058b73d20b108664\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 703\nct = 0190b10a51c68a408430071dfe2b9507ff5d4bd5d531322faf91b922036faba04c46430fe506e196d4cbe41e6fbcfada658a459d9b8c27a73c48c357b69da3adcd046be3d04d17bd187cf5be8f5d73c8584e0dc088b2173db34021062150d8bc7c1e725ba3d227c83acfb75a97a74c1a0186cc49805fff9b60df2e753a4935c2c0856b679114245ef42e80262818553990d61d91161014c33115bdb24ea727af99633bdeea095b64629898511ae9abee97eb7a0dee6b8161a9f9342fd5906d76012d47afcfd2ebdae998e051f7626bdb7ba9ed53ff449eedcd4a96f5812a53435c47bbaccf18c147b31ae38fe560a233cdf73b473d3f714ba53c8b61a2aaab24e91e0907c4005d2f03eb81ad294de41e036cb15d91b1ff8c21b4bb56ede2a2e8d281dc93cfca1252d8cea9778a674054ceb561028a2f3f6fcbc8df9184dbc995644154fc766f44dfa93df3bf070578a5c11e484eaadf12377b1171b8e48eef879028e35782a07731bdfa752cbb1ea7a23bb902c0b23bd382a86bb3727fb72cd1c10a57bc997b88f5594172d4124ae1136ce6b46bae1f120e175b2712213d66533d33d885978c43a13a54ba76738386dc197b8f2ec88010515cb34f12dec89f21a5a4dcd0d48d4a985ff09c1dc12881868e6f720fa4c3b67f12e8cdcf91c0d036da91a881586f554b3b260f1f79a17b7e1bb93aabe53474103b118088d0251d84\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 704\nct = e1a30401baf79ef0cb1ec6e14e2e6bfa8c189aace0fa8659a2b0cd27e3ddac1135c91c84913cdba455b6a0a786b1ab49b802d3487f76e5a65adc3bdfcdda25b2f1d5b3cd948bb177cdfd75f4c5952d3641df36b96d5f9d58f81f01972edf1006487457fd3ed0eee727b31ebf88575501ddde8f56566723ca7fe0cf11e73f0d69f4ad5a394b1045f5fc6a2b48edea584ff656e8c4fa8dee919e14663d647f412f4407b0c2b74afaebbe01cf8dfce30040149e1c65ce4c4c95afe5f54b90542c660b3f0d8a09d1b33817f61fdc3697d76c6e1d18049b459d460a4e135a7898292f56dd6fdcc1fa37b09317808e423defaf852fe44fced689", + "b56fdbf4f7cf66d50c3a52c0139b54b94903b328af3b2b6522051d5effda342de386ea5eb7ad429c8d4ef39b1d19595bd9cd79af60bfe40801b8aa97e32fa110404d37862247fd51f66e61d4e89ca8b2c3f8e85bf83f55d7e8ceeb16cb71e0d70f5ac770c647de30d6ab0fee173514ca227933336b7e031c5c6ab87796d3f3680341a064e7113e48a5427ef5d885ec171092cc0132d781dd5677043fe1cf95fabdc2bd7f6326d7517961832345dd8ed801c9f8f00eac7320cdf0bf6b605832e1631b657c2f639bfdab927edbe94d4282ca42b8714502c4fe0ac22cc0085b4974999248bbac6d45ce24b729be9e3fffa3a0fdc1569302cce30e1486ff8d4945d64f245f2031a832bed7\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 705\nct = 24c7cb4462674f7632faa0460137099111db01f9bea7970b76b4af94c4889af487b99e711024ed91ed840e0501280bc3dbbf738c7ff5be37702c955de3a50f85af1fb51fa9ba84bd997bae11e90fe8072eba255e608bde72e62ed50525a6f18f4d8feae42d65f78142808d42e7b3f8184e869cf82c6ec63d96aef01930869d8930feab4ef611ca6816cebbeff768337fe825834b2be1397683542dbdb0c67b8bc653a7cc5c88024d35edd525fd988a98913e02e88c61988b5ffe75efb705a53b4998aa4130c5205257c7502a9222c5ff6ebdb41cbe4fd66445700bf770c6366925b5a43d15f21cb9e8a4048d1e90381fb8ad680a01cdf8d3d9f8f3f8c7e66c734af56235a9261eb7bfa1bdd98ad9549c89d4ef7c35b33e47efb6eab49c15fd655bd1f7c57a14864a2647d2199d62a69d4e196b0d303c41371d7deb8eca0472337ff87f35cddbc0b8bb6bf1cf2286e00e9e6f62a7e34b850075ed5d24e01f87ffd31a9db48df28c80ddb6d4f759aa0168b9f7fcf5995a06e6d7d3653e346343bc95873fb93350c410fdcd85cb5dd9136d45a5bd98f9d80650ee3314a7a247e470d603c9b4a381d652f9566c572280bff5a75c560f0958db30d682f5bad165eb769dc4c6f56115bb84b55279b2ad802b72c758c68f37b2d078d18e29bc78920c6bfbe8bf2519a12e74388000dddccf9a0303a1e90fb1f1006ee6bb7efbfab43eab\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 706\nct = 3a6c8a1ed143dd70d2967c2cdfe047def126d8c0317435961ee52dbc168086d5d47bbc709d0947bb719a286124bef9bbe73b8d7342737b954d922341c972fa3a2b5ada0d8bc9daa914d5de29fd1b88ff0737b2b067d488e0bf31f709d139412554476bc32024d49010329badc85fcbf9210eac0cabaaaefb52a3f953168901aa8fbc204fe549f28802d81aed57e56eb2bd9e454ecad0faee374b55a45e60ea5fa47b603d3748b52e8d5c431ac8a93987ad117c8df5b2163a9ddc8dce3d4d9e08855e34bd1d0f5ce56aca5ae702722b56b4ef1778e4625db0a4bd2684a9f93bb0d3eb93f424c2e019888264930792b25968453406dffa077cbeceef4c511ddb5c5ba6a6d95abea8c5bc6025a749abc47e1d59f3e4877b802a0ec06291e25f6302b8696658a4827161152b2fa0e8ab1e101ecf2dea0d130ae6e07eebf77e18c510db6af61fe3164176459e5b96af81c862383004663ce839e855553c94dfceb2a09afd77623ab1ec8931b14612ce483a55f22b660d30fe7f74bc46f2d6ff9ddba837b14b4cb9c3fa98c59d55259fb346aed6823aa3c1df45032efc7bd966764314e5a0239e7c17e63087ff0e43fdc844b274e2e539649b3b8182c19a035d43f9684dd585dc6a30a6d27bccbd7a5fcda12d4bb1112da5346db3204daffa5a1bba5f8bdf4cd2c2cc0bf9e0f8252adfb59304378f16c7ff2890809b7eb3836095e507\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 707\n# Longest valid message size\nct = d070c070d8a276f706c1c1fd7149af6bbe8008ac62bd835c65b3021c8ddcc8ba1faf31bb6122c4b0a309efbb6cc9efbc4ce0af7dac873b76d37a68a195c00ff533082979dc7e99efa09df15b03357cf19233fe141d867e4ac8263180551cb991aa8a5979d30084c2372a067c03db63a1502a833aa533873f7859fe842358a11de0eda937b236acc7721328f833cea019ab356ee6dd39f6953974c0e32817dbde337681fce74eb8328fbb2b49bd13681af1a004412b1134fd433cecd534143adfda0b438346cf8e086bf431949e7a4ba8aa31615caba3195c42f79dd7147dea2d7bd94313f60c4257f5cb7138a7637f1cdc58f0a8eb0a21deda1c111cfa3955ba588540bff3a8e42729a14f99ad9a5343c1dde896387ed4211c39b267b1d9e52752c6545aa6bce7bedab3d1309e82b449e2b53e8b58ca6f7cf2af2134ef3d33830fe3ca44c9d51dcd8cc8fa9311b9118c3ab0f29ce993fd506b033a4fbb1297117a51c4878a21c450f154870672129dcb0684bb43d4fef7b69c93782184a5da09fe0a33ee70776b9374d8603b90712cdb155ee91af0ad0251de62b1ad7a48422bad5835de52e0f1cd4a31231088ea20de4469fe04a5d8b4bca33a93ca5398d6bdbbc85c268ffc5c07da98348a9881c032812715016cb10548e50f9587dcef96f71e271b23fb081cf9bb9a63a4b520a3d7b3868bb3f5c278e28c47ffb71193cf18\nlabel = \nmsg = 787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 0085f99393b1ad30ceb4bf78e3a85abcaccc1387e45902c965384fa2453f968924e904b6dae0c38d7ba5095c838c45e879bd64ee6ec58c7c8c308f2972c8f246fef33e70307e6725145252641af32cde219b766829ba8f33cde7266749d8b4ed1962c0f8005bdaa8b65b16001323c5b11fc068d14c554ae4465b58029029c30754963d56a09b17c1e9f46643bce824b693fcc9bfa45b9fa2bf2d0823cb9580071d762a049251baddbda74a303f859197fdf27a1e90227953ec7d305f9ec620eb968fdc531cbcd060a7496e229f37144f52ae17eb70a0108098110c7b8474a430c4672347a0c6f6597832423f8b171a6871c8eb62ad5f9ab26a446926ec88ca73d8c5f7c1233519132a6da0f3b75e527107d4699e7edc9e1d028c117cd6cd5a84c057a9b57b3b7c1571af8023336ced6ee72f19ac3b92b21429d3db940ac3871b781d9c2ba70184f7b6386e4d4e16340285f5e22e892d47e0475a1bce4d7e8dc2c9580cd8684e41422165eb3cb15ad67b2fb9ee4fb63482ab838c10ecfa15730a692f8d0f1ca74078bff70015b3a1ead8bdb897272418f6f25e7c033c1429514adfaff7dbe68623f7d17f40f326749fdd4fab0c24bfe90c17be87a49899c15d83d524f04c0f5510adab43c9ddf80e1bb4b68b700a08667468824b5b5d358660b0c278ed9cf8f586584887e20657a60f7c4150f53e8c9f8ae6f3b546d84135fb0011]\n[e = 010001]\n[keysize = 4096]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00e3ae7de5bf44de7d357e238c8dff063ca713470777ab786b495884e7a9ba1dde65de7d2b5be3f2b7d1830cf6ca8ed5c05d3f094aaaeb1dd2e4b2ede08613109a9ba34c7e2bf8450225974374459f16da2c14192c637985febebbef01f0381e78d0fd63b76038f5e3d35dc7d2243963366af5d7685f1bcfc99dcb91e94c93019068353122edd03cc3e615e17c1bf1dd7c43dae86f47a40238fb594041cebdba25f3fe9593a6c329b7f7c476eab7625d17ba7be7886936b733f8dce6e6c937f588da1315c1117abd29c83895d95988d17f9fd7623960d8e433d7c6841507ff2faac36e0e19a41eb2cccdb2a2c0fae966719a99d203c924349bc0eea1374efd3e23099b2d187922016fd014087520a67363687322b90d7a890d8f4464a8c794d2a3f2070ccd3b0ebbca2b42bbf8eba6f2c0bf8008b5616ee7b81629ebff97a93a5b861989daa10da7c8e3bc7b0cdb095f6ce1185cf8fd3dca035eb3e505cbe022d81d93945a144806b9fe0ba07f3ab9c70e72b5fb77ac6e4c7e03aa2dce7c5ef227aba1acd48c1d93e0e26f01e8f1e43aa97880d15d6c924b060d1face21d03a796c86301f4a74339e472b2f96cd0755741cb9df3535077381ada84d1bc0846a6c44c8a8d3cfe1b7a9913d1f3d7af2c5ea4e67ce0a7ed3c0058206fd13ad9ccad5a8212f3ecd788368a6b6148178c7c5ea8d6d385227f2c76a047216e5e206b1ed1]\n[privateKeyPkcs8 = 30820945020100300d06092a864886f70d01010105000482092f3082092b0201000282020100e3ae7de5bf44de7d357e238c8dff063ca713470777ab786b495884e7a9ba1dde65de7d2b5be3f2b7d1830cf6ca8ed5c05d3f094aaaeb1dd2e4b2ede08613109a9ba34c7e2bf8450225974374459f16da2c14192c637985febebbef01f0381e78d0fd63b76038f5e3d35dc7d2243963366af5d7685f1bcfc99dcb91e94c93019068353122edd03cc3e615e17c1bf1dd7c43dae86f47a40238fb594041cebdba25f3fe9593a6c329b7f7c476eab7625d17ba7be7886936b733f8dce6e6c937f588da1315c1117abd29c83895d95988d17f9fd7623960d8e433d7c6841507ff2faac36e0e19a41eb2cccdb2a2c0fae966719a99d203c924349bc0eea1374efd3e23099b2d187922016fd014087520a67363687322b90d7a890d8f4464a8c794d2a3f2070ccd3b0ebbca2b42bbf8eba6f2c0bf8008b5616ee7b81629ebff97a93a5b861989daa10da7c8e3bc7b0cdb095f6ce1185cf8fd3dca035eb3e505cbe022d81d93945a144806b9fe0ba07f3ab9c70e72b5fb77ac6e4c7e03aa2dce7c5ef227aba1acd48c1d93e0e26f01e8f1e43aa97880d15d6c924b060d1face21d03a796c86301f4a74339e472b2f96cd0755741cb9df3535077381ada84d1bc0846a6c44c8a8d3cfe1b7a9913d1f3d7af2c5ea4e67ce0a7ed3c0058206fd13ad9ccad5a8212f3ecd788368a6b6148178c7c5ea8d6d385227f2c76a047216e5e206b1ed10203010001028202010085f99393b1ad30ceb4bf78e3a85abcaccc1387e45902c965384fa2453f968924e904b6dae0c38d7ba5095c838c45e879bd64ee6ec58c7c8c308f2972c8f246fef33e70307e6725145252641af32cde219b766829ba8f33cde7266749d8b4ed1962c0f800", + "5bdaa8b65b16001323c5b11fc068d14c554ae4465b58029029c30754963d56a09b17c1e9f46643bce824b693fcc9bfa45b9fa2bf2d0823cb9580071d762a049251baddbda74a303f859197fdf27a1e90227953ec7d305f9ec620eb968fdc531cbcd060a7496e229f37144f52ae17eb70a0108098110c7b8474a430c4672347a0c6f6597832423f8b171a6871c8eb62ad5f9ab26a446926ec88ca73d8c5f7c1233519132a6da0f3b75e527107d4699e7edc9e1d028c117cd6cd5a84c057a9b57b3b7c1571af8023336ced6ee72f19ac3b92b21429d3db940ac3871b781d9c2ba70184f7b6386e4d4e16340285f5e22e892d47e0475a1bce4d7e8dc2c9580cd8684e41422165eb3cb15ad67b2fb9ee4fb63482ab838c10ecfa15730a692f8d0f1ca74078bff70015b3a1ead8bdb897272418f6f25e7c033c1429514adfaff7dbe68623f7d17f40f326749fdd4fab0c24bfe90c17be87a49899c15d83d524f04c0f5510adab43c9ddf80e1bb4b68b700a08667468824b5b5d358660b0c278ed9cf8f586584887e20657a60f7c4150f53e8c9f8ae6f3b546d84135fb00110282010100f8dbab5ac0479b00c69751ffcd0de5e398deb0bf0cf19a659e09b6acc4c569785901b75889e27a6cee8a309708a6d68a51bd93e8b25b86a5c2150b4fff9620974daa6814c3601dce8fdccce1abe6e6737c948fd9b7c8a3d9032a339bc6ee848ee4fa54f513c3575b7a89325f7c97b1beb5b606fe96f2b3293f4ceac194c090134ef930a04882f1e96838c2827d8ea512cf474a4b5640f46ee2580df8b59a6afca4c1e1f9a3ba82232b9db27e9f2b48d5181ec781df795aa87e84ad15e095fe43d46a6edb0d47d62864877692c754c2935478677fe4ce9a4290639d8a448e7e2c393bc5404f14dd37eb66b4b23ffd071d346fd6e59d32f0ae1c1029f656d74f670282010100ea373dcc568d1345b0381de192171c20d8c8c32c5a5bacb84abd72cb96fec492fe4ed35d7a65e5739d859fb99e2b2e43c590c78ecb9c07a40d7793aa78dcb31de236b9735b6f2f09cea70ea921275a812821bcbe3869b8883beb2409334f8e0a96f4528157de3f23318240e65d3dca9a3d43de08345bc2ece4bac68c7a21d29c5acfa230c518c987363c37acd2b6f6cbd69fff99d3a619c6268be013d3a8b96c2817e606863d3d8c123306fe7f6b8dc027daba68a6784bff414b352649bc7769eb9f61c02bb8c7627814484f2799233c81898c679256f10bcabef4684ec84b259df1751a49a153c0e84357ee8cc9e35e9e5616af9b00404e55452b2df08795070282010100c3b4650e6a562594b7987ad8f31671eac9e69f12b0083486a3813a12a67025608a86a9fc4bfb3a91fe09d8ea7dd84eb1da547f442937872d45f32cc14ddb6f67eda10c56ffcacfc60926f84ca4d661f7024b06d18e1190a0f23736fcd3b5f1b33a698f7468855f66c677ac90a137de857efb5686d288acd2cc401e01fc8c6f017042d1b5cb3087342a4d30d2541160c9e90e4463f8c1fe38517234129a2684ea885b1cee288f5d16718f83b6c64fd0e81c1ee080c710f575ba817668d504c03ff1857e06706c4503e10313019d16902a32ecb9603fbd265d2095e667bd405e03434338fd38f3cc80d47421b86850014f3b5494a8603696462635a3fa6112d4130282010100b43f772bbea02b68c2492d95df5c31a585b05ba3d29622c261a292a9e3b68589aa74f76d45390df08015c9ea8bb32793b883c750399a06b75635e44a99611fe7aba3f9ecb13d4bb1fc7bcc6894bf38839563016252ffe9a7ce9513d290ce74bde99675b85ceb09240881f9784fe1b1fe2990055bc30fab5fac57a15d92d05cc93f89f3841ceb0a8d284c077cd55d416975ef04425a03c66a1c582146a0e984699c2168413526042bbc05d12822df9ee376c87a14f7a834b468877c8bcecb600affee54c813ddcc74177d6478a63cd0454c5b92d65264de74f8bf2450f1f06b04b41c92c67c4bcfacf21281a5706c1eb33e9f7a2e02d79aa5ae31e11d25b2f21902820101008d2fd00d16cfa3fdbb3a99581cc4cf3e6e31ed69dcddc62a989530f859acb06ddf0aa8d61020d6f700a7ce71916b409c963e02d96a8ff7ed15f091650913cd0c49903d8d036f3d21914ec934d8080f891be53c45666a813b6f5d8e5f22ac202cc1a0c5131f06e5fb47e0c25a5599a08d285e02a4ed2611fab47efe0b27604bf8717ec11535b02df6920bc87e60d3b172d7d70ebf0482ac59d4f6d34124fcf460165fe06fae276a5dc9c6407e691ccb3fd675430be6be036ca1882eb48aafe0a3be03e0f6f9a35bbec7b1be5452eeb21dea824270d906472a9a1fb386a0acd99d9df4d3cf28ec3a1dbcec0efb27296b0f540efa695828643b95c32d017bfc5275]\n[sha = SHA-384]\n\n# tcId = 708\nct = b405034cbc37fdaad82d54fc4d1c2d2816bd2c8d5430166db2eb2bc805e65e3843022b0902e8f339c6754e963fb64a3a09b62f62d788958bad29a81144e6ebc6a08bcf12b6ab77782024cdc270bbbb5fd756488dc9f0867c6aa2fc6dbb9710139d9435cd7b8f45f4e4a5f6aa9240d3aef2df4dbd60e76395aca560077a6c19485de28c3d26a05ec9e8dc09db80397bf9bbeb9e6e2334e7539f1842aa4a292149fd2700387c43a04bd139e138b1b9d39cc52a9127508c4e71d15b70ea6ebc7c2918b57ae26c867f1caa5005e23d2487a268288029655c309fb7799be5f69626d7c4e416b77b16dc6ebf8c23273f61ec50c37b5d3d9312891f6933c891d79d282af27fab02a215a50af2ed10f123f1dbe4d09d9c1b3cc5f72f414d076ea9286f2f3e31d6621c71c54c847795407ca1291569d09d0a293b118f011f5bdddee0d4ac81f2ca59f790c6a1cdb531af87dde04eb1bd7b6b4298867bb3b0274841cc133177e1268fd0968ca5348c567f46fe276f14f7fd3f1c7e54103fb4ab4ca93b07775f80e09735cf4d734604cad5cf66274d6193b739e1dfc1599e3b5f70a4fd16c7ab68fc2d24610f39d9c7424275ec9366f54108affc1f3397eec89d589fd46d87931f29a6a5b7b18e14817abc376f54635368dd8a7a72137f83a94855d26a25369b0652517d0ce748528beadd63f83b915be8efc5ce6f89ba244281e2c4ba9d3f\nlabel = \nmsg = \nresult = valid\n\n# tcId = 709\nct = 79530fb91d7c37ba01014c33c22cbe7b4f72077129697a4340f1619614f7a400712e21ef55f60c82ad8258933bb51a22be004613382744273179ba9fddc8ee607c56a2db4cc76cd9ae844e4ad8d34997e5e7c4ce17f89ae730b8bba0f07358b6c3957443d97e8b20808c4dc34629db02120b4181272936e66fe6eec889fe88f50bb815c672646d62cf60059912995ebe3a054d73227a40b0cbc90bf49076d02f793c2c27c753c0c963b0ff20dca1a58164d2c2e5d46450a7b48901b5f8585399c6ed5a1af893154344064102d10a412bd178a32eb5d8bb7209acf86a98cc0c2035f6d4f047286a470d6d8f632ff94a25dfa946a27d60bcd0a1e330af664c632c3a2f0cfdbfdda725d11a5d82bdb52c1f858c3be4774848c65bf0eca3f95c6fc5ba957903a2c93675882543269a2832906a4aa83acf6574917dfcbaa805adbc5a11452490656c29df8c4afc65009327cd2d5b09233e44429704199374a0c970b660185d67d1a31aee892a6a432a81c4c22cfffee1deaca3aa62ffa7bca2ed7e8e94dada6148ba1a6520475d46d501527328baf6b5f756192b1c0771e2a58d5edd45e725396b7173d7a69e3a445fea1297703e5cf361c595577f6ae92e332f33f8ace7c1c3a4e9d2cb328759caa5cecba4d59539eea7a811728b1a454d0d1dc70f6ff36e63a287e4a025451a942b919da68a0b16344c09bd7e2c13b4248fd30f87\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 710\nct = 0df3dc76611dcd964aafc7d4c7f9741d5a60c93332670cac0923912d6b0d27c74020115d5355858560983edc550a739319d1c654fe58bb5ac82cdf4759f756813fc42ee0fe300dbadc9a5fdc8823a7b210e1d9d6b0701816a281e9c2382641a903144cc1d50394c48c411b282abb4a7fd4d44f69f85224c1e7532ed6dde4f92563a417e419c8d4fc250fe252e3d9b1502bf4e1311bd8a430fd296b6c2bf2eacf630e9f3e4d887f728f7654feff083a75a0eb3f9a97af652bd346aba06d33d9fe384229f2a7cedbca55eee637141abf5ef475a42c26e5a4c60464784c68a00f88f47ca3e6507a1178ce2450ad8890e028e3ab34a8f19729a7ede5b762ea1dc32219d7affadccb488a761878405b0f852338a797c2150c8842ac9f5221c18931f596e6373dd4128996b7a2e9e32187fae440e17cab2e9e7af10b1dda14eb35c35d6a19d7401732fe6f3270c12c29eecfc61d07c79516c923c9290380bd97fbb4707c1192729cade1d8a6e614de0f7579339e5e8022afd95cd33608988246e4ccbd4acce9d03a7b36c638ea4cb99e0312968439ccecb58f8ca0b4c6838692ec7ffacafc10680a2149ab0eb587aed5ca073fd92fec57228f185f2fab25541256d624d0510583015976a565d05058e4cb17e2179a52d65ba4871c566146a95eafd2866fbf8abf131b25923aab2f8902d809a2249a13e8b8dd8ae18bc446280a167cf8\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 711\nct = ca234bd3d956195d5a4d7ac774b2262ca95773eafe46c590f6261d92f36ddd7b02bfb440e56a58af77b82812e086f8fefafa752d7dfebe0fd213ced2ae880b5c5b7dbe3778b1bb114b1620e1bc1a02d32e1dc6811ee605454781b91a5a60dba4c20576ef31d5851623ca58e829b61ab240a82e39880b50d1982eb3e7a5656d688507eed4f8085def819f60682e4ad842b72b96a05b5a897f8bc536b2b70f28ba0c288012af3a6c566a3f3c5966d858abe89ebc661f2ca20892e0dd2dd9f568103ca45291b0bd9f3867c48287d8bb336a9dbbf8b21b7e0fc2a3da44843ffe806c3816b66d86b299cb52c22eeec8611bc3928c74190cd9e3c7dafc1821019def2e21f79264efe4ff83a5a6224804ddcc4fb2673ce7c61b49741cc9db718cf14bf7fa91c77db3235bcf6d74962b3746bb4356a6f14ef85b0d775c93065b996ce6d3a2b330dee7d586a132a239ff3d482a5cf5e0f83bbd02b7f00121e83554bc74ef0513880d004ba731ca9b68216fbd44385be83da022d343ff2c3a3498cb1997a023ef0be10173a9603d509378781b5407f2e69bf4d1d52af738c09785a06c2563bda675d6a27181a8e56456e6d6c968fd6e3c3003c456a4ce3e2313aca769ec55b20dd30ef0779a0177d4617796ab932969945393a4d1b35f841d5ed9c1e5a913cdb20c5ceb96695d20be5539e2075008b44ba2b7f73a9deadb6469369c490637\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 712\nct = c529ba83c985c649ed185c4f6c49a6aaf638564f59826551848392c06275d3ca28e11f358eb184c12537453ec2ce1ef1820d9ace005a6d1cd3f96c0b561f060ffb166e147a5a51eb329dd14bf792df46202d2f2fb0787d3d67b8bfceba93be81edf1dd4f8fb4b769115f4a77820c744983de8cef880522832dc8a44d20f3dfa62f5da766672eab781096b0a6adb5337ab8efab09f3ee3f0af3765caab9d0ed37de7cd5027459d44b6d894c432b16fd8515ac2dcd2", + "24ac45524e6d4d147c53233cc4dbbf4fef4f69390e9318c675e19297df4c139012dbe10489f5b1f90be395ca0467892b6942301fe6648881aaa091201d98622f86b4afe08ec3328cdbe15a56bdf2f50838af9eea306055d8d8c9cbaf7f221ce654595104eb7a216b3140d7849c7d473e225c2a6d0765fff5ed53b694edbe3afd2198d445e1471e29bf50fc17a4db8a9a3ae7dc05d3403654c178de985e99c281eb470a8e989c519c69d156cbe2db71b23af14cab7c196ecadda8a980595e62e935af3dc18f3b997794be4a84590f0c358546b65cc6c0a3e4cf840a841eb2abbc770dc3d672d849bc77ed7e12bd42534b43258474f1241c492ca20596fcd933cad7178a217e353bf970f6c887509e21daaf2c9c9388103220b8a448aa840a0441b76f37b93ede9a634caed7b3ca6347acc25059602a599eaed8a9070114952ead3d6fe78126fd0ffb6e854cb\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 713\nct = 2173712a28008a03923713cfac30f25040b17b28f6608d10df2b8a47e56b0f9fdceeef6b18a39a036e06f54e105d147f01b88fd9553c87cfa5be3b0b598600753138a3a35d0cf637a2b3a8c6e8892ec4b467257ccb41d8a63faca8d0dc03d8e3d9e63466708e4d28bbed992f3defa6d46d68f23000f218c2ac44ec9c42998ff93308fccd26481d0e6de7dc48900e2c125895659b5537d7f8e5e9c16d87f6b14cb7c99d0fbdf454b56b8d4ecad11b9473b1d98adf3aac4c76f3dc3727601d9da6f9ce337f662545e4b2eee9e7acce83506a5c0959f0c76ab3a0c8b7b00c016489c9a426b0a410db5176b374cadfd5f9a51b9446ad089dd89fd7eebf4426bc6c357bd724a084b8f1594c3df0bb8a5635f72dc4dc3e89c95ec700c170ad7b94caf3ac4c40dab07eab67e7ef72680a73afcfe36d3acfd141dee01c31f51b7ee50fd16b185ccc95a646ce24202b482f517c33630c125bfb1e1eba109117944a7cc350a1d6641279a04cb73ff0d10bf2deaa6be8fd4f7197fdefee5823843d71ed6a8b083ad6cace38a3a874415a72487bd87598591cd39e6acd2e096f433c1a1223a44107b80486ca85b9491946b76fef3c9f31dad1f4b06a0e24fa49ae694392afd79f1947543998f8e3306c9b17e3080c734b9f19aa94c55b57a69fd0c36e38b654c90483bb07a572a44f8f84637125d1cba400b3f295e6b187388783ea0392a61b\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 714\nct = 692a6aa7f7339a265d02cf7210c9d1a0c2bc78ea7baf95b2d6916eebeefa422c267cbc8e296b6b80316641d854800cf3ee1f1079753e8787488f949b80740f8da018bb8847140c7bd66e125a7fb9496cb0f7eb22680462da15d6246c228667118165780de3d9bd0080871eba65bb06183cccc4b5c491d6a294e37be9afe236f22b6efc9547874af62d0a356b72c9d6ead57062d1d9e023fdb996fb8cb238bac94bccf9f58f049a070e763f1d6d7169cc66d4088d20569ab9717b78ccb3d6d40c7ed5c6e48956d1709804a3625b8f32a84f8c17e3eb14aa4ab83b71fa3721a602036a5398e13918149d6163b07cb20556fd76b84f20f54dd9b2573f69e7b1328d96f6bf05368a1f813e647e52c396916ffe128efafd99cd57f7b2d572591ab5978e60ce8913b2b71fd5a06e4e2ab27f6dfde14a7fdb42e8986c88859704e198991cb468bdf071442ce1cf19da73a8c0e4d2b270bded9e19c5a25f4d84552f831dc65fb60d6fada5ff2beb044d326e6b2432a5a44ac8a39b5ecf532aee4be98067aca5e486eb2b76f862d27aa4eeb19660ecd53d7e1fc3742b79ce8cb8f48c845e81ca809de2b6b7595b510f6981c38df751bcc7b3a92fa05e33867dd634bacc56eb7288e5477be5bb8fa5bc14c40049eaa879b57a1891de15b60fee33005c6c637ba40ff6ed5faed042941512491df3b0fd8bd83f4726132c2b65c71dfd5411ce\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 715\n# Longest valid message size\nct = 355fdbae11acf86e58c39dc660dbf22c9d43c99667265dd0b950b8c36163d1e4e0c729ec0589760832fb62cf7c4af9aff27d0604db16a4d5f631d0fb57b8499def6b5092cd49b2fa9ae851319bcd1783a1955f04ea4fbee4b98e4f5f571fa037d67d90bade3ca69fa5330884c48f98d67b22483f235c616ccb112c92e26f6882130423342c51d52f392a097a0dd376a6a6c2b4a42571d449b5440e6dc9a3e95cb01b64fb67146d6c49fd9241cdebec889253371a43edcc7bc7040517d3a85183ecc5e4509f4208e01549cdefefbe915ed310833eab26c2c896d0b48d21b930469834fcc69b58dd7f8b20c880446fff5c24a88151e979224091ffdd04b949280eca905aeb44c2712653fdf52de8502f78ec60e8ff8de9bf9191b968f890aa7ce89693e90327e3352151a29f0c913db781a28e10b8cf7335605714058ee34003d8d27b68a3bb57b869b2fab1b1396c97c1eaeac856b2b03b7cf2204fe2f3f4da639938c3d9174c5cb03d86d3ef43c8f795e9b22c3613600eea4ef3c9d978b82af501f1dcd2906cd9430341d52d73296076690b670c40b003115fd03247511df7844b8d1053f189afeaec6f6ed0de98fff5a5e02e750e41a93eb7f386693cf139cc569b6eab528a440923605f3cd2721a2d6b67522926569dad3545d85c8a374e697d7918e6a9a82e422d9306ad13401f9c91e5139514442860c75046e322c5ee66\nlabel = \nmsg = 787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 7bb0b14b4fa435505b69876e65a3a3f8892d61dda53709f4257aed4c8aa91f2351cca74cda1989c898c88e4a4dc60c583fe2e5f73852933bb13942bef04b4af985f8e56fec2d282ed9ce56f27e452bfdc4ff6e7295d95251c264a36743c14fce78a2f4ac6bf8ba0a8ac5f88c82524a1610abe7548b7f6a97bc744473ded26370bff86f966885ea31787b058197ab58830ea477fb600bcab4e2f133a613f9f125319d272ea5ea323fbea830ee146725a86133c4167c63ef899edebd2f91769329181325b5748a1146407901a8d8bf66da94dea20e64dd3c12ad7251df719dddf3fe882b6a22a30ad1061853f748dd83a72839adbd885710cff95d554c1bcf043dbb3feef19d498e7d8db5caed36bd0d44470fe7d7d1a1b0eb4c391a0736bbfe04846ac98d6243a4e3e58b57549ff7f54c92f103b33c9db04fbc6b36fdf5191567a79bb35a0be94a45480cfc28d377be27da9c2c3cc0bb2a4e910ae44233305af6a87387aab762c63d969714be53c0b8a26bd20cd63761b373b815330eb92a1fa7e6ab827276335dfec94146548d073ec828f3793a84cafa12126196a33f5fa2f4f2f6470093e99b2b2d91f2ff9240580965480d56c74be39bf42408a0e41ef60dc080898ce3eb530d87b4da4673977055e83d6504a89d60fb2f49703936a2fb391fdc39d59608d500870511b458c9e45e53398db152d3871f18d61b9afa4435c9]\n[e = 010001]\n[keysize = 4096]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d3]\n[privateKeyPkcs8 = 30820943020100300d06092a864886f70d01010105000482092d308209290201000282020100c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d30203010001028202007bb0b14b4fa435505b69876e65a3a3f8892d61dda53709f4257aed4c8aa91f2351cca74cd", + "a1989c898c88e4a4dc60c583fe2e5f73852933bb13942bef04b4af985f8e56fec2d282ed9ce56f27e452bfdc4ff6e7295d95251c264a36743c14fce78a2f4ac6bf8ba0a8ac5f88c82524a1610abe7548b7f6a97bc744473ded26370bff86f966885ea31787b058197ab58830ea477fb600bcab4e2f133a613f9f125319d272ea5ea323fbea830ee146725a86133c4167c63ef899edebd2f91769329181325b5748a1146407901a8d8bf66da94dea20e64dd3c12ad7251df719dddf3fe882b6a22a30ad1061853f748dd83a72839adbd885710cff95d554c1bcf043dbb3feef19d498e7d8db5caed36bd0d44470fe7d7d1a1b0eb4c391a0736bbfe04846ac98d6243a4e3e58b57549ff7f54c92f103b33c9db04fbc6b36fdf5191567a79bb35a0be94a45480cfc28d377be27da9c2c3cc0bb2a4e910ae44233305af6a87387aab762c63d969714be53c0b8a26bd20cd63761b373b815330eb92a1fa7e6ab827276335dfec94146548d073ec828f3793a84cafa12126196a33f5fa2f4f2f6470093e99b2b2d91f2ff9240580965480d56c74be39bf42408a0e41ef60dc080898ce3eb530d87b4da4673977055e83d6504a89d60fb2f49703936a2fb391fdc39d59608d500870511b458c9e45e53398db152d3871f18d61b9afa4435c90282010100e97acd5f64c460b2cd51cbd70af5b4caa2882bf6033a92a23ed80f039e8a32c8a4c483f94ee1bb89c1dc1f6d04360a1c3f654251ad72eb39cccbfc38b072054bb0f21b9d516ef272e7cf86f8a8f838eba829e7fe9d803d469a1810fc5b37476333ddfc0cb6f00e9967970b4e474e04373f8dc92df50fa155e3139bfebf4e1cd274705551f2e9022029bea4b86664633d13fd90ebdd0b72d95a6508b6b4354e64b187fd81d21a0b1e4a853c27df11d7fe6c8953cff6344f50ebaed2513dc03761e8877c71ffa8005331043027b8dfdba97cae037fd5d1fda1f145a200c0d20f8dccd62e5c489eea8ae827910d3f48bddf0b18dc3089069f96d800de47036859550282010100dd1abc951ff1474ebfb70807b160b110b1eccef429c8fc8535ab0aa98376a82d3d33af906fb0395750b9aaccd8723cf73a8c3a6ad5c3a0929178ac55e1bd1ba1bf5da4f7698dbf09e87c84c45ecbbe8f12d3ed1091bc470eb2c733c31f8d27eba9718ee78db887385bff6b67950b79524482c50daead4db0f5676e4b92875b5be383ab1cd75e1cadb59cfb5794c17220154aca808f733a636d28c016d9843940bf44bb15ed191f53449b1651b79554c23e006a56dc0232cca209bf2d3c12cbbc0ed8b3110aabd365b603ea8cdf15e8b9ac781155f92f39dbf9749f70df003195a6bb169ea0e0d69eb3a18ce8fbcac9be3c710e797acb5c05a399c2f102947c870282010062f25622fd53741f927ffdc10eb5fe7e79cef7c274afd800c65d4e4f9c5ab916eb2d15390cc301756a20dd7897f646e69dbf4e11cb4e0e7e1a5ac0734de3a476e570555fa069427a8bdf19363c75a5b9c934a94af078ae7f4342bbc016f02062dc5251451a2a3625b10f040d928e6f9ef262264641baf406b00b596ae6ac35eec2c5f082a04d3b476229972946cb787b2403abed296a76abc2715af602fd2c51e422dbbeaec9b6b889a0595414673d806782f37008c9366bf6d5c9f000197bdf146a86c4d131e3a15dfe8661ef297fb01e54a8cafe54d6065177cf263e91476232d2fa26c5e80342070ced9e0d99c84dc4282ef8aab991dc9d8210b14bb267590282010100b83b9f0763265894758abd562ba6b5e3835e1ed3b43d94ac2a9beab674a45a5dd7b14988c087c63fcb33e9ede62cca3ff6b901b4238a6e31b2a52a742534bde178e33ea22981c2bd2ecb1295cda757913fcef6a9e7c54a302527772a0f103f434e5d21063040a1eb843cbff1ff6f20183c9dfa33fc68cb63b81806ff518917c6e93cbd47baece0589e0bc022aa00c66795564c85f301c095384fcc3f3ddfbf15044af0d8c4473aa2d777a29154b74978d0d0e7ca9867fc8c263898e3c83aa12881f66ebeb4759820181a0b46765c7b1ebb67108ae2a7473ed40d290d93c3458dbcf00759061452c0ca4cc26d1fe149590a63e9fbaf25e3f78eea8054f22167e10282010100c301f6bbe5fb5693f665b26d1a61e1de87e38950a5825270ee68ea5a5667e11a3aed28b2266768d1a3db3437dbda681ac8294dd50ad0b4bc5cee5694831b8df7354695335740b9b7dae5f7881536da6a6b2ac4308a0420ad6e99cb779a6338f5012986b1c1c889444d90585fb0dac995ad6e93af7eac717c643c4b8e7023cf57cfe284ca911d6dc3132b08e17f4e8759af42b43ac929c0259c3a1d5e5f7c4b247e2f6461aeff8577aedc710d6d2d56d943c211e47467421539dfc2700663c4068031b695e487ae6910ecb9c547cbfe12cc6f45b658e2c6f9f8fbe805304194a9d1d9c6d599c5ac5c9ee5fa78c8a4583218f7dc8f4c8d3adf275eec0e0941fa69]\n[sha = SHA-512]\n\n# tcId = 716\nct = b9fce8bcad33219375323a2e641de7650c1163d9aaf5f2f0c5b96230e788a9cb970fd4cfdf9df98060267e302b133e4974c0cd529ca1c900dfea65b46078fdffd9d589319087bafdbdbb8467013e48262bcda8554b225dc3567887da78976d5d9ae23ca9914248debc2383634f71d171ad375dccad198eabf391f4bcea22473c925e18d5210b02c555561592411d3fa6d2e425415a83fedd651718a8a7d1db2d81f64685c8da9a05e7201593374e30173ef04b42b1f16f0b8a8cff6c3ccc6b251fb61957df57176102a8a03d9718d95f3bf637b1fe1feefed9d50ebf9ee93a99c60d2e404bb78f9a4292ae280206782564cea8e2ae831f9b5d629b88af7c610cf28f9c6ec56534d16b70ebee0df20f8ffb40afdebec977d16f84c3e583a1229f0d2a01e0959b1cbf37448ab947da05e7cde1358c9bdfe298f2da27d65beef13aa13cc51f04c18560c054dd8f85d34ec759691b3d8c72138df12e6e442992a2466e3a6db6bd322d04c069741e0accc5f291a6520fb42fa001764c441c37456f9d91ab31c94283bd4a299fe4fda6fbd132e04d8d92157bf9aedc80c66cf7046a33bfa308ea7f5f56963edf4d804483e631acd033f2d9ec190c6d04c55540908e76f9b3749b8aef86287818358e4470cacc6d45fee370bf836d2b9277d044487aeec4064c74814d2c57839f6bffacdabe1f2ccaee4492b2a5b1ab7f3055d2569c58\nlabel = \nmsg = \nresult = valid\n\n# tcId = 717\nct = bbb5c693aeb28296b4559a792e489c74bf21c3739153be06dfd336f397f16969fb1ea0523f0adc7e206d908ea2a8eae1011217a54af3beeb6558bd80f2c111dbe51a0e25f3ac65578d4e7f6b41bede65813bb551c97cd70485b81d70934e86e6fa349287bcaf977e666bf9526db02e76f82b3ec2941c2c7355133adf80e16fd8c4d01a62f63d1e0e6d67a247fa2084409df92f8f528ddee355bcd9cda753010bae377bfd6e1a29a4021b239f98cecb5b8932c268393dd5ebe58d42f7eb59fd389491cdf05d29e7cf8c148caf71232853203dd76bf0ef8ce7be145196b7bfa83eca9761669fdc281ecd66ac37d45732c510b8d1f520f8be259a2de0220068a5c741358d4c34d72ab820e7791764efad86c4113988cb71ca323f31683105e273c037c02b4d4b56e7a2a341f9348180cbd671f73adc9767e050b58b99269b5fd696b071473e9d767918d99ef0e5e69859bc0a3133be92bf38edae5d8060cd5c13f2aa522d0389c3a5af934f81c46f83492c1ac6e856b2b1e3b17ea83a7dffbda5e8f4ce57e5c106c5c337ad286858af9ccf44417f2e0cfea2f196d89e078d9884fc176b02673d3295fc3849fbaf4829d7f310ca53a3861e8704765e8654e2b0274d6bf43152d13ddca60014067eb1d5589045ceed16df90a718260db6ee83662542c8c6fe47962d18758824b7f276dc3d94b6b8bc85bff1babe91b13604b8696078\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 718\nct = 3fe06a589140e2e037ca786111219bb545a189b506c2cb52376b6fee3d8c216b33578a92623f4852d2c82ff02db90b9266e5fd0301c8e156a44093206a8bf93c48022738a35b834dc025db456dfe003026aee1e7144f95db86d357dbc93d11ae9568ebd700fb577e9ffaff19f324cdc30332c0a680c47476564de727eccb1a974826bdb384a517d489901cc5f0afda3be84fad6a95435aa8cbd91b0cc5d707cb4656303541b69e70f9327c2ee061d96a223bb6e29b5851bcc345ad6e47feb0b86565706fa575fbf7aa4728d997023de295f669b34ef205feb24ebe07074b2ccd0fbfed7c3b543ba56875cf0addd47b8bf0375a5706684763dd7f7f0702d43934726a1d2600a668b6c4b170c85d0a4841661bd946b0c1ecfe801d1e366bf4432e756ecda05afecf29338edfa80677e3f21e54213f77c673786ba5cfee8ee800d651414d055d51edbbd2108afa1ee8f354ea7427ef772b31d12950c1359e9c6b65a1e2a2636efdc0cc6da8956ff84977c25cd67e31c88d27ba681626f25acff63b056f402f8f83090c5be0d51b6b9ebee8ba48ba88917b02058f4efdedd354c63063ca470036e3ef13da38c9462da836826d9472be5a6133c137f496b2337c9d470478800f67045cf9b1f5cb072847da6981f77d4e16f71181e90748c40c79df936e36ba4d4810cc81023591a82465f59e0b98f8dba0b0503b8bb9ec28919f0d89\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 719\nct = 8889564896395f4392a9ff76ebd1e0f5b3c5254c83fa7fd7bf614aeac559db65999171139bcd3c0fd6adcbbe7adfff9d8254ce2300d4ffc48ed00131243811677e8916cae0ff5752d75135fda0acd167b0e383f48e2cee184917d5f860c0bfc88a59d54587825f75db894de2e9f40bb3b168db171e8844d64add489ad839f47a63edd6382972d133d1d8887cf120a1dbf4cc3ebc0845ae85d6abc4ca82be90648ff4905e11e9a37137cff9400a0080e2d13babefbcd787a86b75772dd8461d5cd8a8f3c3f14b7b305ba6e51c765302981f0c3632a2860fcf61735396fa39bd407100cc1e8dfdfddfc0b87735b0ddefe96f2a2de97f168e41f2383c345ff93007f6fd505874f2c6cf2ed6f30ab6a2c8bffbbf6d3cf32ee716c85697db87f2f2b0b9cf65a48cc15187f5febd3b015b3339815beb3b02f418bbd3e7c6e9fec74374a1fb7ce9acef3b75292a3659b04f44062dae0980f6426dfb1ebe6d67c6cfb887f5fa3f9027ecf4936f3c0995acc540a4691cdd28909b3df8c48a4a27c9772763f98e7dc7d8a5497142aabf2c4c472ca397edf2fd1a74af576fbe1db292fdbd140d64a3c65173c0656619f5e5b3db0596a955bf017db34d849f29902f8a08544eb8aed66579084ba3aae9646d170bb76eeaaafa95f34295f2ce86b8bfff613644cf1ea061f7af8ee42df5d97a83a094d07219901d2e1ef26517364a03f031a3ad\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 720\nct = 81935470cfa189178b215635b35436bab84d880c42127d5bea48563d6d1e52cc4116d8ecb9dc9d30b82756eaf8981ccde25d4b3555e1e26691d92cec29103f7a514036ebb1d850b795ad662c9bd6c63b2dba32ef4889419b740d4cb38283feefd285041ea880319eea371a15e99dcd02761029b57092", + "32f5df156594259cf6f63f882c22a3c427592ef86b0e4a7d0b13f772234fd2889c13b157c2da6a94c3e3807771059c970a3aa786b05d79c92a36607fda0c7c3b7279402543debcbf3639b3bae654f48b80f65eb9fcf5d4960d88b8906ebb84aca936b7a06e4db3be1bdef0fd16af1a3d0fe03203492a0357bc7e76eccfef7a2fc1edfc50aacd0d46bc7a28428b92f46e3d3a58af3a7f9e0d4c70c3ac240eedb878891a8f148b1e729604d943af03ed079787a7f67f830e9a77e7fa6e39fab006398e09483e6e848d14a95e902f2cb60252059d1cabf319bc463719132bec91c6e7bed2341455c16502d2bbd0851301f86e0674c9c62f54e6cc9bebc268a4a714320ba2d30e0dd7996720466a976d3c9e8a11e38f32050ed5e079875160e2c1b0f8d4a29a5e3f6d04db8f501b205e56f3375dbadbc77c4a48117532917f09575ebd5ac491eb1bacf1d157dce7465eccb7568b2d51a87ebd493fbc9275d5b253b05d7744921cdf5c274906137b3076002a2c10cd52cee21a17feb9e35c5ab3af3e0427207c206fe6a068ab\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 721\nct = 8eae919086dc6c634f495a45d86023caf497163b2f4b63ab9dbee8cc8c139e41d83c5cbd2c54b032f79f3bc37e93ed2c7a4b652014b1fe4b607bca3529aa160c84ec89910bae46ae4d6e8bdd384ae8a5a18a48721e0f59aa9b8394ff821dccb8e222e7e7a2a33e3f02a320301e2e7a7c315fa0bf9f9c676e6a4535c34b621ff8345ed2b7d5d35014610040a9b3f81340f4911e230f356b469c9c6035de42048a68d5f04681d85eb9c2891c6a57a29e8e64cae0b0404d4e374f3188caa210c4d1378f0012805d7b91972d085956f067791529fc0357dc30aeed5fd3bc5efad687e5e9ec50957ac809d683b02e5764a5d8434e5e12764672807e18198c225d346b406b4dc06b9164ba5f3ae719bd376643727d9061745a2e587718206d66b1648bb52090b224c175688ea8d50b43a1d08ffbb4248ea7f351799c7e50f2d490e466722ece2c4f88f89d2f96fb9aa9ba610ddfd6cfa7b7a9c375e95575ae51c5d6de43086fd0c0663ff88035c3adafb82469a77556a91d32a421e33338bb16195d19010b58d720688d172ea7d64fa50caa902bfdc7b78c7bec427031ae9e3f691edd91a90c86e2e86d00dcdde12076308e1fc4c910814b00d751fe2e44baf232c4934b58624c1da5bb51b0e8acfb454aeaae2f04be02e4e121cec2b980ad7c23d13698a88d1d545521c0624261fb0e97422bcf76f47d7c33ad63a8eb4e497502569a\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 722\nct = 9284f12053cab1f558770b0da4ac1122dac9f3ccc92992cdcf186b62557b265a72234cd443e39d5d2e1e88d4c2b3bf569ba8feeacb53d7f4100a505de9118cbd22d159ac00d2702fc37350780cf78a101d7447d82b6e0ccf9d901c58734cf9ce7b182c05315b31756a30c5e563da32224272523bf01291732ef390e90d0b16de359a944c8fc92ed9949e9bab4059424aef42a5ca7c28040f3c473c952c52827159eb125e2234fdd251c898746ff9bed99fa7cbb2894cedbcb3218526ea286da4e1420af5c9fe91fd4d557f81b69d36964121e5202599cddd4993cd8dfb82a48265771b3f940a82ff572e514f5eee9bb98f848a31e2d3f7271ac9b298ffcfd03857cd562e8a36daa26cac1f1dd173dbc4e4d5dda6f3c28e3aa8c8d54dca67091d304bbd3217e2c42bf13ae02867ab9da1d3d01bf196ec8be97da126cde6a0244673477e4f0c98651592e25ce1266995c7a41d41fca2e2213806394df9a7aef43a1d90609cae8511514702d890fb3230b8c22a34720435a547edee50bc5f78da62224ecc3335e900d8803aeac4296fc4a41d59806c811924bc2d4a6067dcf71ae24a6d7cea82597bd14a3149fdf718aad5f5a6b6f126436c0621fdac4297d646ad0e6f70d524a48e58988066694f3618e013825d03c19c75b9c9d9aca436424a3a9a58bdb92003749241661527a6878601970abc94767cbaf82ff3ddfec7478638\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 723\n# Longest valid message size\nct = 5061876f8bdda06553a4f653c4f0a96a96d8f823c9484a6c0c21ca0344c6f9d15086265fda4f6f14573127dc073631fb91ffe0082f926d696f974b22f4f9c899dbf16feb967ab9c66556a4e4aacde7df73d4c789ef2eeafc23dd06d363ce3f70da60283510512eabbd43cd89b7c014240c35266b87d860466358840f85ae91ff3ae033c7456c74f5f425c4371ca76bca86e2a9639f9901780b1ce20f652644cc504c2497204fa6b51759eb932f4e7099701718476a8d2cfcbf95d70845d7c0ab4a264cd023bd5fafd5d3d0c5500b17a38d0a85593e042685b6074f4737ca181ce3f58f81d2b29e934d44c665713733740832079c3888cee12a5435372a32df434be0c03698d2e2503adc889be76619f4076e02b3517e75a94b7bfb58faa31e660682e8964aec6abad3aade06f376a9ac9d3266ef1e4e51078c446ab6c1e1904e5a1c5b121da4767d53e60f9cc1ad40822ec20c19cb3cffc61fa8f211a58c57b2f79f4131289f0354eddab2bbaa01962a25fa19338b2e546ec96054013cc3c2688464ac77d89fd3106621080266357eeff963c2b0244599d4a594b69c3eb4458187a869544522031235c6a8f3ddaad154c15df7380b8da5ba06afbe9d5c4fc1fdee76b0e90483899d564eaf23c5df73764d4af52e10aa7891d82f26285ef441a785ba0915feb6df082044bfa6fb6fcb2a3a9bb053afea9c015b9188a4123f1038\nlabel = \nmsg = 78787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 7bb0b14b4fa435505b69876e65a3a3f8892d61dda53709f4257aed4c8aa91f2351cca74cda1989c898c88e4a4dc60c583fe2e5f73852933bb13942bef04b4af985f8e56fec2d282ed9ce56f27e452bfdc4ff6e7295d95251c264a36743c14fce78a2f4ac6bf8ba0a8ac5f88c82524a1610abe7548b7f6a97bc744473ded26370bff86f966885ea31787b058197ab58830ea477fb600bcab4e2f133a613f9f125319d272ea5ea323fbea830ee146725a86133c4167c63ef899edebd2f91769329181325b5748a1146407901a8d8bf66da94dea20e64dd3c12ad7251df719dddf3fe882b6a22a30ad1061853f748dd83a72839adbd885710cff95d554c1bcf043dbb3feef19d498e7d8db5caed36bd0d44470fe7d7d1a1b0eb4c391a0736bbfe04846ac98d6243a4e3e58b57549ff7f54c92f103b33c9db04fbc6b36fdf5191567a79bb35a0be94a45480cfc28d377be27da9c2c3cc0bb2a4e910ae44233305af6a87387aab762c63d969714be53c0b8a26bd20cd63761b373b815330eb92a1fa7e6ab827276335dfec94146548d073ec828f3793a84cafa12126196a33f5fa2f4f2f6470093e99b2b2d91f2ff9240580965480d56c74be39bf42408a0e41ef60dc080898ce3eb530d87b4da4673977055e83d6504a89d60fb2f49703936a2fb391fdc39d59608d500870511b458c9e45e53398db152d3871f18d61b9afa4435c9]\n[e = 010001]\n[keysize = 4096]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d3]\n[privateKeyPkcs8 = 30820943020100300d06092a864886f70d01010105000482092d308209290201000282020100c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d30203010001028202007bb0b14b4f", + "a435505b69876e65a3a3f8892d61dda53709f4257aed4c8aa91f2351cca74cda1989c898c88e4a4dc60c583fe2e5f73852933bb13942bef04b4af985f8e56fec2d282ed9ce56f27e452bfdc4ff6e7295d95251c264a36743c14fce78a2f4ac6bf8ba0a8ac5f88c82524a1610abe7548b7f6a97bc744473ded26370bff86f966885ea31787b058197ab58830ea477fb600bcab4e2f133a613f9f125319d272ea5ea323fbea830ee146725a86133c4167c63ef899edebd2f91769329181325b5748a1146407901a8d8bf66da94dea20e64dd3c12ad7251df719dddf3fe882b6a22a30ad1061853f748dd83a72839adbd885710cff95d554c1bcf043dbb3feef19d498e7d8db5caed36bd0d44470fe7d7d1a1b0eb4c391a0736bbfe04846ac98d6243a4e3e58b57549ff7f54c92f103b33c9db04fbc6b36fdf5191567a79bb35a0be94a45480cfc28d377be27da9c2c3cc0bb2a4e910ae44233305af6a87387aab762c63d969714be53c0b8a26bd20cd63761b373b815330eb92a1fa7e6ab827276335dfec94146548d073ec828f3793a84cafa12126196a33f5fa2f4f2f6470093e99b2b2d91f2ff9240580965480d56c74be39bf42408a0e41ef60dc080898ce3eb530d87b4da4673977055e83d6504a89d60fb2f49703936a2fb391fdc39d59608d500870511b458c9e45e53398db152d3871f18d61b9afa4435c90282010100e97acd5f64c460b2cd51cbd70af5b4caa2882bf6033a92a23ed80f039e8a32c8a4c483f94ee1bb89c1dc1f6d04360a1c3f654251ad72eb39cccbfc38b072054bb0f21b9d516ef272e7cf86f8a8f838eba829e7fe9d803d469a1810fc5b37476333ddfc0cb6f00e9967970b4e474e04373f8dc92df50fa155e3139bfebf4e1cd274705551f2e9022029bea4b86664633d13fd90ebdd0b72d95a6508b6b4354e64b187fd81d21a0b1e4a853c27df11d7fe6c8953cff6344f50ebaed2513dc03761e8877c71ffa8005331043027b8dfdba97cae037fd5d1fda1f145a200c0d20f8dccd62e5c489eea8ae827910d3f48bddf0b18dc3089069f96d800de47036859550282010100dd1abc951ff1474ebfb70807b160b110b1eccef429c8fc8535ab0aa98376a82d3d33af906fb0395750b9aaccd8723cf73a8c3a6ad5c3a0929178ac55e1bd1ba1bf5da4f7698dbf09e87c84c45ecbbe8f12d3ed1091bc470eb2c733c31f8d27eba9718ee78db887385bff6b67950b79524482c50daead4db0f5676e4b92875b5be383ab1cd75e1cadb59cfb5794c17220154aca808f733a636d28c016d9843940bf44bb15ed191f53449b1651b79554c23e006a56dc0232cca209bf2d3c12cbbc0ed8b3110aabd365b603ea8cdf15e8b9ac781155f92f39dbf9749f70df003195a6bb169ea0e0d69eb3a18ce8fbcac9be3c710e797acb5c05a399c2f102947c870282010062f25622fd53741f927ffdc10eb5fe7e79cef7c274afd800c65d4e4f9c5ab916eb2d15390cc301756a20dd7897f646e69dbf4e11cb4e0e7e1a5ac0734de3a476e570555fa069427a8bdf19363c75a5b9c934a94af078ae7f4342bbc016f02062dc5251451a2a3625b10f040d928e6f9ef262264641baf406b00b596ae6ac35eec2c5f082a04d3b476229972946cb787b2403abed296a76abc2715af602fd2c51e422dbbeaec9b6b889a0595414673d806782f37008c9366bf6d5c9f000197bdf146a86c4d131e3a15dfe8661ef297fb01e54a8cafe54d6065177cf263e91476232d2fa26c5e80342070ced9e0d99c84dc4282ef8aab991dc9d8210b14bb267590282010100b83b9f0763265894758abd562ba6b5e3835e1ed3b43d94ac2a9beab674a45a5dd7b14988c087c63fcb33e9ede62cca3ff6b901b4238a6e31b2a52a742534bde178e33ea22981c2bd2ecb1295cda757913fcef6a9e7c54a302527772a0f103f434e5d21063040a1eb843cbff1ff6f20183c9dfa33fc68cb63b81806ff518917c6e93cbd47baece0589e0bc022aa00c66795564c85f301c095384fcc3f3ddfbf15044af0d8c4473aa2d777a29154b74978d0d0e7ca9867fc8c263898e3c83aa12881f66ebeb4759820181a0b46765c7b1ebb67108ae2a7473ed40d290d93c3458dbcf00759061452c0ca4cc26d1fe149590a63e9fbaf25e3f78eea8054f22167e10282010100c301f6bbe5fb5693f665b26d1a61e1de87e38950a5825270ee68ea5a5667e11a3aed28b2266768d1a3db3437dbda681ac8294dd50ad0b4bc5cee5694831b8df7354695335740b9b7dae5f7881536da6a6b2ac4308a0420ad6e99cb779a6338f5012986b1c1c889444d90585fb0dac995ad6e93af7eac717c643c4b8e7023cf57cfe284ca911d6dc3132b08e17f4e8759af42b43ac929c0259c3a1d5e5f7c4b247e2f6461aeff8577aedc710d6d2d56d943c211e47467421539dfc2700663c4068031b695e487ae6910ecb9c547cbfe12cc6f45b658e2c6f9f8fbe805304194a9d1d9c6d599c5ac5c9ee5fa78c8a4583218f7dc8f4c8d3adf275eec0e0941fa69]\n[sha = SHA-512]\n\n# tcId = 724\nct = 6116de04d40f43c15aee4824d92ba2004fca863471feca574dc2e253bf0c80108654eab5ee4912ab7a827bc746d0808ff893d5ecce47c062deab57ed80ba91625d90664a91e467e86505c5f56ba4fa9bbc602147838a066929ec64eb737ef63676c25a499c2943812c24236a190e9b45e647cdf99fff1962060752337ff0599716b6dbf75dd87d209fff5aa9395cd0f9d3cf0eb42285d517bf609524d20fba97599216b367ab146e1222cfc4985a988ef4bbf0eb95396fa8771b72745f37629d910c94a13459de0cd242d06f358f0055094d988d8cf109dc0d497697c88dbc23d09bfc4d5bddaa3355484ab988bfe0b8d0b77dcb27e962b0608059d369cb53f57848027e65733db2982f6e7d714980a6bb9e5f0c6cf940f37675f68501d4eea72e2a834522f863d8e436958e3f864ff818e13254931430f4dd4fcda69e4e9ed6be4114a29235ac63f527cbc270fbdd1133ef9418c4d28a7c986bbd580168aa744032d95124180e69a665d4a56ffb94ce88b7ce56ced9de850d4938cacf8568b02c1db72aa47aef9276823d3b0fc0b80e1d4a8b3c6772e75b3cf70915d4ea7f28f376e1d5f3fda13f7b20f0d0a2a67ebe640067938a1b6681024584cc3cbdb48bfc797a6e3525770665ba66c18774a490bbe2363f1a9b6bc5c149566614409b8a756a9f170ff9ab8c4c6a068564b72e3fb2b70e376fe08297578352c5706b2334\nlabel = \nmsg = \nresult = valid\n\n# tcId = 725\nct = 12570659df6de3ba5c4a60dddb7ce12876dff9cc97827dd14ed07bcb5dc23679648bca15a7a231fcdcc206393e5cb96442e318c47f46f64ef3acc172eb41d20cb1a92a080f1dd3633e9080c8b0bab4de51664fb21ae778736357aa43a4180fd569a1a03624888e73fdff1ad09203d613d7974a1e5534d727bb1db335cbed8deaa517d04a78c41550039696c2c366710e822dc7ca9b00fa235f2a8e9ed1ba40560bed9be9b775c317b0277a5383a467625e9b600595808d5da9279ca722ce2369dce137731cb89407a1c42bb5f68cdcfd01a57a6a4de110cc2ec47ff7c5ea21c7711183675416e9e9423ca568f0b35134fde01a46302f2693b2a42eab8bcefd625421064da904ff1bbeea6eeb71a750f3d67b5e23f96989756cdb40d7a8c3d0285ab64fa8dce5fef19375c270aeebe6eb5de0fa2fe92e1105a7da42889da154c909cd7c9ac3a66852584ee411b8395a3b3531a56ee3fba5ec12816932d0037400a4cbdda1ddf67f07621a2086259733203f4a6fd07a6f9df7afb610a9f3a0a62ae705b5658e49a11d26b9108162e30050ff205bfa0cca251085c411b5cf5390e99e6400a381ebc5b659cd8994f091e1ffc45fff852ff21a3b8825300fa8d454bd809e73228ca9182fce54d99175d13bfb3f85b6fd2ca8ce4d714e7e543795cf1053d22b73254606376e32c14e113411de28eb18446ccc095043ef7b51350ed7ec\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 726\nct = 56ec6a4955728a90d9ea4c7d1ade36b19bb07a34b5846ab336292e52464e2f7e64aa1c425d6618988d959765e613219e017073e7efd3776d3255145c39d4dc12c07599f1cf6b9f89bb4e9757d41e7086520b9df3a37518f3fc5103c028e8c986b5c95d2fc7099441b9a1cfae88402d1d8bfcd77f95cd6264e0eff88716da0e65ff21807774ddc61d94c01ea89e3a22b4443d9400733c2ffc5cff0468cdd0621e867755f4870e13213214e68b4e2eec6acd2ed12daf3e43bcfa259c9968cdf28afe9c67188c63a5241303046d48a441720ecd025245be0f02ec1c7c60c78562020c2ccb3f26d1ddf5a6209e06e34c6c782b434f37f46aa1e6c42042f852135bf4349dbb11f7db523319fdbfa8bc59619a0d73c923c7de6117fb19ff8b5490d633ebd8cb28ddf2accf8ec04233dd92b6efec362c8c77e291ee75a3801948e1a8526dec5687bff2e520484c2518b6adca22b08b81ce4595324baa0fee4ea4e6b7a2ab0818aacb1b98c1b8c9ac121e399a4c8322278b062675483e0d409fd7714b1c7919764e5e3f49d647cd907fcd1134c815b9282167dd7390199dde6dc188571d5f9593522295aedfefe1a184bd267aba2957502b43311796d80a8244dde6f7684d54f1b985bf81d92f5df63f05e29d68e2d03e7777e9db5f855ab0a507a62674b63cbd22ee3758a92c7066218eeb9587da12cc53fc6a89d0a551ed34b7952e64\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 727\nct = ba6ea4f150e9061d49c87d882325aea1e07ea9b6238e55893540291d32aa0bb959bac1b823ecd9704b1847e85ec50ca075a5549fcc05177673dcfab586636cc46a452249c4de1c803ced272e41696abc8729649cf9abd1639c65148a06c654185a4468f7008fee1d60d6c21b76289328d8812021659515f11dfc8bf1961162bb1bf256fc0de41c8972eca4122c8dcbbc93fa5017cc62dea7c20d2551fec6b5d17e7073946e56fa878ba9414951972397577e206537bb30f75329062a94643ed3eb8ac5a4d04edd5c9d40c0a18c6d1a66609ad8d3b6cd4d82d5452e56ca5b797306093e69c24a598f514f99aa8a83586ce9f0f97ea567337caca2023d839aa6fd8d664e7d2fe3a88e4cea9fb2f6387a18fa7d518bab6ca60f0ba8aefee5075fa11a621a18b6e106f5f9ce6b03b2b50f5d9adfb91df1c3bf7e3f702e24fd049ced6c08d86e54b17515e43936447f67f872573f27975d4f86f9b49b3be8d758e840d63b8a2556cac6eafa1cd0c7c0696d37287ce78c9cb9e704091ac64acea10ddd4f2fa64e9a2ea29c29111fd45dd4119b207b0a07f447ae3878dc398c73fb8b9c36e244825675162ec13216a3de4f1dfab76f16fcf028f43c257127dccb820bd79ef218d72fbee6bd81d46a06d057599e19a8b3cd50389d876baf35bb16240140bb56abcf859a59d0a57ab4e0cd3f5cce132ba11d20da3da039ec4675a13ff843\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 728\nct = 1e0fc90e921f7f657dcce1250e1b906c48c38db5e0a2795d665ab8554119de03530b8b26cfa18492c1a12b60fc99038fa180192455ec4e8dd1ef11f1aea3e6ff5a70d13e3b72e5dc5b19907391c08ea27c39a55dfb406", + "85a3377f5cb4732376a7685bd596a83894b3c70c265d775d428914e44758f2f556b5b75dbd8a5f5ca0de19eb62978c0ad1760ff81d28d8795d313c2ac329c4e29c363fca9aa8d3855e279ab6eb5856eeddf005738f8892c0f0118f6f3a3047fd5fae85f25ff5a3845712b53256541672c3b3b224fb8c3a889c87c3766275c8988315a3f21e2a79a98e186f03cce8542aa2aa733ac52a56a013d5806de6cbe810b4eb526be9eac2b0064a3e458015d43fa1196732a3fbb6e4c41ebb00583e09050b14d2a26b14081e550ad43b65b394e4bc04b6dd9e6fd6643c6dbd8d4c113696b9d42486b7b1f828bd39a984fd8b792ad4011b2596f91d9476aa31f7bdec8d990ba5033a93b1ffe2029958b72011777c64cc008d06a9dec53159843e6ad344d84fb07756dea4b916b205393099652b6e051451dbf1c28ec4a019aad79f296c28725447ca3c98dcdf04dc5b604f8b510ea93d01db58ae0ab541dbadc315a78bb07b17d4415ecead834c726cff2c0ddd48da5079e92ae45992f686bd2a47fb8634b07897f3ee3118d4513e9c4a199c3ff96422a49a897d9b00cea5d38bf05211608a0826cd158b311c312\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 729\nct = b4ef12f21ee9de39aa3be5cb8d660524c4b870db85621015f1b0ed82ba3211b705a7e009b66587e9517bb76f9c3fdc57c0e4508fa3b2aa401b963fe9079fde293e39a83329202bf087e70e0bff8d146089a8421112389c3a9b41e9ee50e2b30f1f94c37dd00dca064f3c0ddf280233b85abb3c3ed7124f7b58ff4052fcf91a7018aaaa82a2361a8b3d218c4027282cef8398e3985e511720dfd3801ab6a4d49720e4cf7de12eff2ebeaced0869d03708458205a10a9af5b6bac7b42c0d09f63f332e89f7a5ba976ffce7eb0548a3a03a406c44cee3867689ba92553a51dfc587d83a5dd764cf423739f416cd97cbbaa4031f56697797939b872e136898caa1064678c042fae14563f79572828012eef3d343f11b912833f08845109111d29e2841aae1f642aaad9467729b3382a16ee84a230bf8adaca2df7c258781dc4f6187bb2b90e4c1c668a24200a1564da28f39e9e35e602accd96f4847a414c41727c6ad7d1abd2bb93616967f9eacdea235d0843227069a249bc74680ffcf4629f15c31cb64ef13df05df76bf7e0f6e309dc310a2649c35dba1c91cb3a897a4a649f199920f691bb1fd0aed221a29a96c66e2ad25bddf4af958dfc7ef61a03fc2f2e3c49268fd1fd272a31ce9809c61f595cd5f2f7bae0813c018748581c71e4137b2f71823342f3ed982d11e52608f824ffb74cbbb0984e1a7c315145daca6cb0311\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 730\nct = b5bbd38dda1f6c1f181f8c56aed9bc71c5912a1700edf42d1ba11e7a2eee0e88eb03bdf331a18e37c352fe617cd6c7037ed1e1d75b7f2afb68b1405759695af21d1344a7d1761742d933f994b350e2e84b157cb46e0ccfa6f87e6a1dd28b77a49e4e751c93d9c6803e639f542ccfa8be5c67835ead292dad9060ddb446c83a0edbd2a0615ddb49b120a2f25c3df5666cace84f3ed39e2e634a236c820005fc255de221f8f47f8627497a6843b05a8a0a7d14d6c00f922fbb1c0b97d5791bf24087a9d28934b1e4f421287efeb9db3803475ae98437639d3dfdc5dbf2693197b2b0e2e41b6c96cb3168750f5abde5a7ca1fb08f37ae218ef58c7f87b5975015d990ad2c7d0decfbd80c4d06595b36b395806436414ec80a778a7d3996ed15e272334ffd8287c73b983be7dbe088fb7e6bc23b850ff128b50209ac94556a5aada8c279fdc2b68ebffc7ac4d6c8f980cac6e8942b76e7d835b190c72232fb5676c379a4c7091ba6712a3030da8a0e429e0d32aa9cf8494e15a897533f689ad1097fde587e21fd2d94d8e3ec32d126921e97cbedb6902c366606766bf43ac09c531cdb38069913a11da84fc15db3ab94ba9ea34c6487f690b747e2adfb52344f0c09d8f0e7ea1072eb322b8200050418547ae96cbea8373b5dcd8d2f3fc06e6e6f6d85c94d27e155b74d34364acd8231ce638c21014f0299b7e5aea3271a240e2505\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 731\n# Longest valid message size\nct = 8ba0aa8fc281e01083187269d6eb3525b1fe56c46ad8f09dbf38eea9991eae2614c979c82b594e8950c0e55807b7b6926009233d0e42f9c1d5f6998007313f01a07c330a09227c9c8a7384dffb8f12cbfef64fb4702b5d53b44bc69bf96464a6015786b3a5129dd0b4792cfabe2f445ffe3181925dbabc25c69f0ef6021b10361c7578d1aca8a5d566eca8a693afd286c8280001b6fc10390109e549b19ebbd239092b25070f495637098716e4d9caf02f748a956c2ed8e2a39825940c0f9c5465986389d2746fa3a776f261281c82ee0c6912598c985c88408426494a80cc1afd7984c61ec7e8c74f0e535841fb06e78f4daa96f64f93a6c1d963092f58f5c1f16e39d194fcd4fcf18b650f449e5bddacf18d2ce793ee382f80d716d78dedfc29966f0b6bde4b8b63bae8cef6c2d3a00a9d7c540a42c3cc6d805c73d2b479bb943e6f69014fb0a41b5c16eedfa1d489eb981e60f37f269f73f69906e1d7fc11a4d03cd2d74e4e1fdfcda7c2b289e02d9ad2e756d59d3a884ca12f440e067d007a881d23ccda1168da86097b7f25a2a2ac20a5c2abd8c36c034dee73f1714031f80b38875063b1735c97ce17740d7c818509b535d436eb794e954ee5c36ff3cce234f67827a587e1fa4ad0aa9d8a4cebce0a9b010f66b556fafd0e4fc610c4af4b1a7f7f5106dd372b1526353a04bad081d107d1bfc997af780d31c6ee069ab1\nlabel = \nmsg = 78787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 7bb0b14b4fa435505b69876e65a3a3f8892d61dda53709f4257aed4c8aa91f2351cca74cda1989c898c88e4a4dc60c583fe2e5f73852933bb13942bef04b4af985f8e56fec2d282ed9ce56f27e452bfdc4ff6e7295d95251c264a36743c14fce78a2f4ac6bf8ba0a8ac5f88c82524a1610abe7548b7f6a97bc744473ded26370bff86f966885ea31787b058197ab58830ea477fb600bcab4e2f133a613f9f125319d272ea5ea323fbea830ee146725a86133c4167c63ef899edebd2f91769329181325b5748a1146407901a8d8bf66da94dea20e64dd3c12ad7251df719dddf3fe882b6a22a30ad1061853f748dd83a72839adbd885710cff95d554c1bcf043dbb3feef19d498e7d8db5caed36bd0d44470fe7d7d1a1b0eb4c391a0736bbfe04846ac98d6243a4e3e58b57549ff7f54c92f103b33c9db04fbc6b36fdf5191567a79bb35a0be94a45480cfc28d377be27da9c2c3cc0bb2a4e910ae44233305af6a87387aab762c63d969714be53c0b8a26bd20cd63761b373b815330eb92a1fa7e6ab827276335dfec94146548d073ec828f3793a84cafa12126196a33f5fa2f4f2f6470093e99b2b2d91f2ff9240580965480d56c74be39bf42408a0e41ef60dc080898ce3eb530d87b4da4673977055e83d6504a89d60fb2f49703936a2fb391fdc39d59608d500870511b458c9e45e53398db152d3871f18d61b9afa4435c9]\n[e = 010001]\n[keysize = 4096]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d3]\n[privateKeyPkcs8 = 30820943020100300d06092a864886f70d01010105000482092d308209290201000282020100c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648e", + "c37505041e3e31af1c02eefe924a67047d30203010001028202007bb0b14b4fa435505b69876e65a3a3f8892d61dda53709f4257aed4c8aa91f2351cca74cda1989c898c88e4a4dc60c583fe2e5f73852933bb13942bef04b4af985f8e56fec2d282ed9ce56f27e452bfdc4ff6e7295d95251c264a36743c14fce78a2f4ac6bf8ba0a8ac5f88c82524a1610abe7548b7f6a97bc744473ded26370bff86f966885ea31787b058197ab58830ea477fb600bcab4e2f133a613f9f125319d272ea5ea323fbea830ee146725a86133c4167c63ef899edebd2f91769329181325b5748a1146407901a8d8bf66da94dea20e64dd3c12ad7251df719dddf3fe882b6a22a30ad1061853f748dd83a72839adbd885710cff95d554c1bcf043dbb3feef19d498e7d8db5caed36bd0d44470fe7d7d1a1b0eb4c391a0736bbfe04846ac98d6243a4e3e58b57549ff7f54c92f103b33c9db04fbc6b36fdf5191567a79bb35a0be94a45480cfc28d377be27da9c2c3cc0bb2a4e910ae44233305af6a87387aab762c63d969714be53c0b8a26bd20cd63761b373b815330eb92a1fa7e6ab827276335dfec94146548d073ec828f3793a84cafa12126196a33f5fa2f4f2f6470093e99b2b2d91f2ff9240580965480d56c74be39bf42408a0e41ef60dc080898ce3eb530d87b4da4673977055e83d6504a89d60fb2f49703936a2fb391fdc39d59608d500870511b458c9e45e53398db152d3871f18d61b9afa4435c90282010100e97acd5f64c460b2cd51cbd70af5b4caa2882bf6033a92a23ed80f039e8a32c8a4c483f94ee1bb89c1dc1f6d04360a1c3f654251ad72eb39cccbfc38b072054bb0f21b9d516ef272e7cf86f8a8f838eba829e7fe9d803d469a1810fc5b37476333ddfc0cb6f00e9967970b4e474e04373f8dc92df50fa155e3139bfebf4e1cd274705551f2e9022029bea4b86664633d13fd90ebdd0b72d95a6508b6b4354e64b187fd81d21a0b1e4a853c27df11d7fe6c8953cff6344f50ebaed2513dc03761e8877c71ffa8005331043027b8dfdba97cae037fd5d1fda1f145a200c0d20f8dccd62e5c489eea8ae827910d3f48bddf0b18dc3089069f96d800de47036859550282010100dd1abc951ff1474ebfb70807b160b110b1eccef429c8fc8535ab0aa98376a82d3d33af906fb0395750b9aaccd8723cf73a8c3a6ad5c3a0929178ac55e1bd1ba1bf5da4f7698dbf09e87c84c45ecbbe8f12d3ed1091bc470eb2c733c31f8d27eba9718ee78db887385bff6b67950b79524482c50daead4db0f5676e4b92875b5be383ab1cd75e1cadb59cfb5794c17220154aca808f733a636d28c016d9843940bf44bb15ed191f53449b1651b79554c23e006a56dc0232cca209bf2d3c12cbbc0ed8b3110aabd365b603ea8cdf15e8b9ac781155f92f39dbf9749f70df003195a6bb169ea0e0d69eb3a18ce8fbcac9be3c710e797acb5c05a399c2f102947c870282010062f25622fd53741f927ffdc10eb5fe7e79cef7c274afd800c65d4e4f9c5ab916eb2d15390cc301756a20dd7897f646e69dbf4e11cb4e0e7e1a5ac0734de3a476e570555fa069427a8bdf19363c75a5b9c934a94af078ae7f4342bbc016f02062dc5251451a2a3625b10f040d928e6f9ef262264641baf406b00b596ae6ac35eec2c5f082a04d3b476229972946cb787b2403abed296a76abc2715af602fd2c51e422dbbeaec9b6b889a0595414673d806782f37008c9366bf6d5c9f000197bdf146a86c4d131e3a15dfe8661ef297fb01e54a8cafe54d6065177cf263e91476232d2fa26c5e80342070ced9e0d99c84dc4282ef8aab991dc9d8210b14bb267590282010100b83b9f0763265894758abd562ba6b5e3835e1ed3b43d94ac2a9beab674a45a5dd7b14988c087c63fcb33e9ede62cca3ff6b901b4238a6e31b2a52a742534bde178e33ea22981c2bd2ecb1295cda757913fcef6a9e7c54a302527772a0f103f434e5d21063040a1eb843cbff1ff6f20183c9dfa33fc68cb63b81806ff518917c6e93cbd47baece0589e0bc022aa00c66795564c85f301c095384fcc3f3ddfbf15044af0d8c4473aa2d777a29154b74978d0d0e7ca9867fc8c263898e3c83aa12881f66ebeb4759820181a0b46765c7b1ebb67108ae2a7473ed40d290d93c3458dbcf00759061452c0ca4cc26d1fe149590a63e9fbaf25e3f78eea8054f22167e10282010100c301f6bbe5fb5693f665b26d1a61e1de87e38950a5825270ee68ea5a5667e11a3aed28b2266768d1a3db3437dbda681ac8294dd50ad0b4bc5cee5694831b8df7354695335740b9b7dae5f7881536da6a6b2ac4308a0420ad6e99cb779a6338f5012986b1c1c889444d90585fb0dac995ad6e93af7eac717c643c4b8e7023cf57cfe284ca911d6dc3132b08e17f4e8759af42b43ac929c0259c3a1d5e5f7c4b247e2f6461aeff8577aedc710d6d2d56d943c211e47467421539dfc2700663c4068031b695e487ae6910ecb9c547cbfe12cc6f45b658e2c6f9f8fbe805304194a9d1d9c6d599c5ac5c9ee5fa78c8a4583218f7dc8f4c8d3adf275eec0e0941fa69]\n[sha = SHA-512]\n\n# tcId = 732\nct = 7102bfb4bd1c25c1d38d6d0ecdfa468cd3a03de71f48cd2fe8f16cfabfcc013d6399d4dd7559738a06215d8ebf98957c35995c5b370e25b2784a638c17f116782a2285b62933f2c17176a353c5af77a9b2fb52f1bd58d656aaab29c18c13504cb9615aaf53ec86b2c066766a3118ff03c7d14ba53ac5fa317f30d6864b5fcf1a98b051dba03a72126c199bdaebdf83f8d311734207b075fda4dbccdf476ab17f480bb908da20590dd24fb9d86accbea66740b428f25a242e9fa959c084135c911fb73f33cc5c51da7196c780baf6a8265ffa6cdd19ce4f9e5099a44d9e578247e2b2168fe521fd8989f68b5cda5608bdefaccdf6a1d48137b4425ab6522577882d29eeec0f2478304fdf8f3dba542634c3a9dd7eb808fba3f208bab84bdc051c93f0db445dd7e0a472c6cb7fcf070174961e03ed9fda5d0917e003fb2d88053ed1c6a03754ae8a0fff2d73c04bc44ba0b5f129e4b8744c37a3bc4ad1751fc5c9613097fb4b9a4a262c6f2537c9481895982a8fdf8dbed3f92850870039445fa2b94adf4b335a2e89fe3db6a66753d19ce34a329ad3276611af9e4a67b85a54999f79d06b8b626874824f4abc998bd1b65139880f69bb9d333d863259b94728e03120fb19bda0005b81045b976f5335b7f63ae9dff10bfc7bfdc139a27cc212be925178131370b66ca058179f01c15b68b77c4282466c810c7ea8be1b27eee621\nlabel = \nmsg = \nresult = valid\n\n# tcId = 733\nct = 8444f5ded541fe14cb7586545b882a37ddcf7f1191d73bfcdcc347e4975d1ec88b3fca019a04cf99fe094e4cfa0e91796a413d5b7c55356af4a033b5ab5e8ac1373ca837d02e9aafce4ebb6b634794489b68a8e4e329df50ea7a4d5896389e8fb2eb7502ebba171f821436c537c584c75b8c825e56187b5f703a1ca9699a899e69d94b6130ca7433ecfa07107e6f304b974a027feecaff3ec903b050b9c847f4cbc7f2da129937b06e644fbf3da2e86789be63cbc30f680ed887a3f54e22f1d925b7bd7aa7484764a78341276b63af7091d7834245fba22621e64294a27c1b66f7ac91e1fe86b58b6b8d4f53cc8bf1aa94a03010e8e9fcb8e01ef32fb03f067f1101d0506003feead212577ae699a0acd97277eac34bd6299cd86691b50e097782a235946abfda26b96e9ba1ff77cd102e4424926122b3ccd9940b88432cdcc93eab1660d94a0269c720ab4e64cb5af018734bcff2f0854da8a7e584c205614c7f231aedb4f69bb98e919729c714d02c1998cf035c1baffe39c1677db5acbfc8d1d82598e916651d8d66ac3bf6d85b6a27becea76991d4563f96d4e691f7700a01c03f3cdc66ee07ce3e381ec3c4f86b7a2642291b1ded426dd5ca903b201da29ce90fb931239541047bf4047ee692a4c2bc571e8a5fb418294fabe3d4921067eb38dcea0b88cf300137ecc25fd8f3cd114e871f4b102d78f1b70bc700ec8258\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 734\nct = a7377db11005ff95cb355818f5c10b881e5e468f87d77792b5e3daa93328139a478b9c205eee19f1c5370f0d67b0e2215f606bec8d0dc5fd8309dfe8395fe75b2a641ea792d0a4f36a959c7b407076facb5affcb1ff8c10216624e5d8071d5503e319edcb737bf9197f8cc53d8c96534a84c136ce2124abd7577e5f7ddb3505cff581060ae5ece7aa0b7f06b147871e87a3d97ce3e70eed4355fc5a16689edfc624c5d6d6066b7b88b22d50121b8035d44ce00baebc3957603a6017e17d68bf510fa45069be6d46545e4cfe0559ca9a821c387b50869566f56a99bf0bf693cbe9b8f8ce3c544e2418087758d0c2b9d242591f630433a274fdee4a2047c24142bf1e3570b0e44ec3bb8ddc369940452a842e21e919923b1b136fb7ed6e3875522a0e8f6fbcd1819bf9818237dc482683316dfba11f59cfffe256daa451e4a375eb0fa4b54ec46e11d429cd2f53f96ccd9871fdc1f0cfd05fe2abe8ef6505d1452fcb3f04a18b14f34da5f868a11633126a35ab6e2ebcdab9732c206a9bd1fa3a4257a81bdb7c5859b16c27dd5f2037e5018714329bdf12632b4847cddae393b7337c479122f82e207a03055e0428c814b532c86a7516d7839e81c2b551b3485b6dbec308ca1a481ebceb9c416e515d8d28dc516b0c7b934ebe878f600d698915dcad527097b423337e0066e25e7a885ffe65f364c347b07d4b912124d50b0e674\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 735\nct = abff8ed8d2eb6b2eff8f8c720dc0f18ea4cfc5172c7c89ccef319417b492a8d19100d3de78fe9afba118758e42be3bb07eb428bc5ee59c491ac41ca0d02c46216efdea4c48adaa404f6a1377620784f1ea1b279d5135320a53f27b28afce014f5a5039f124981d24c625aac7cf7c242111336ea712d9d72d4e8c15ccb93c052a40a72ee2d2af76d551cd7ee8a507e81eb0ab1d56aaed9be2610523960e495fcc53a899a3a22ad4a31c68324726c3f735145c6e71fc6a693e7b4a5b8aeac841d0c5fb15fc712bfd2d2a1dc4ff34e1d78085bbc3194897e4528f803bfaf25b0f8ec9742e7fb1ecb732623a11c81444bd7f60c058303c19d9e75c1491f37562b557bd6751d4a7ba64fa644abba827c39baaa3e65f05726357ad978dc751f4524d64f115278243b3704fdb802639327f40e8a8c21dd9a262ab91a1c0e18dd4b59c9890c55f9f637b0022ae8a3502ff560d24953319e6485437c7b34cc3707f02a116b33598589821c4f216554e4827492e963565715bd3de019446d1416a1728a00993b6f6164cc4deaedb0c7435593941598be89cf9a2bdf551f9f3e79db4e9c0157d023d5d022af5000d9e0106c424b0cdbdd857f5bf2bf290a2daec39a5ce78cbd209bd73523ca11291b3958e4c187eb13e9eba166921c5a588ce7bd70481690472028ecf0781219d714b7554e81217eada94f0a89d6134bc9b6b1f5daa110497\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 736\nct = 8532ee28e0c4563c2a3475d591b61b5fbf77e10b13e1dbe71f1c8bedf1f6f3dd01b801e691a4b8c8b54de867ffa892dfd5a2967db2d1f8", + "670e6b0e2df97c09cff8ba17a1542f37988d85075340ffd24a0aed8e05e383f4d3e468f966004e60be32d474e531039ef09ee8ed339ed79af58c6153cd2be91b09fd8d0c75a620dbc36d83e48897125812ff910462fe633f39891da3d2109e18e93ee27523f3688dab2b0a7f6fc65763a8f17ec1c18eb87ec9ea06f6ca27877275f759d21bf5b0d9bfe96960d31d1a550ede1c61bf68feb3e9b1e60485f7004ebb4230c0e2366ad79f1efe479a3f6a3aaf97097a08eb21fadcf33e8dd7542693a075f707109155780dea0b0ccb0ae98d49b36f358168da4caa6542b787605538825933746985032fc25822cf00bc2981be7c1e5b22e420f8c6da143995d2f7e8946f53e1ec1823464a32879c11e776f6e756909ee7f25b329b3d5d62f3220a47f63d5183eafac475b9c9a6c773dd399759740d8339b228a061a7ee727d05709d01983823827f995ea8e6eb2f6bc2788868c4210693bc00e8deb32641282b48df75bcda5d35047f6e6474784e5ce19076c7643a3ec8385e4c1f5fa07cab2d5f2d58b7144453ce6775519a17fabfc1c28f4f9c71d6684567d6e24614514d18a1700ab214237ddf64531aec65cde6811b6ef46c1ce9ebbda7975cc0f70feabcfa1bb43d151e8b22093d66\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 737\nct = 883016556f4873452809c16073fd0dea1b1cb9e7f267655caaa27dec0902b277ec9cd14022de89a7df2d36691da7951922b1534aa09493862b10ec7e740781ce505ecbd0a06dd987834c2906d144715edf2accd926760ef502dfe573d843cb2ada918e259a5f8aac47c3e262574063a4f8733df50d3153a3eb5b58c779530a3f62aaec47af69ec817557c33a0e9b06f2d2b70c9386fe91c11089851acff2f4862a6b6daf579898a0c2947fb5959ffccd06de7f71f16299829ac6498655065603f69369e83660127047fb9c722f428592ffd08ce41d21f82938bff4c7093a5a68ee407460c85122796d712bf3ae5011689233ab6a220ca9c7c48aa0315ffec2af4f2ef353c9f7d513654af0bc049752bc954f7d1c8a36a4c1277e26e1d8dc6770ca7d8dc4499e8dd972bd476aa08e379aee7830d982482b49d2b8fd52458d5d5b5a2f2efcbd5d6d1595b59cce4b18a747030210a3c0c93a18db64b9502f78805715fcea73abdeeb1a93f5fd2022e79abfd43c3f1b26901f1ce1444a491281ce0c4dff137c78e4071f0336270d8767a4d7472a6a2d5f8b34889155f360cd3d1eed70a8a270d17f74aa80c71c7d36c557fe812dbea90789800fc3256ab70828e8045eb43dd426feb1cbfbcffb0e45e708fdd852e0fa136c5eec0bea3033428112489355bdd40231412cc09e789e818b7bed8fc9212551a9bfc6983c8390b440de5c\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 738\nct = 4e6c046420fcad8dc9a25577b2ddb7170d6848e1706d202cc32ba3582987747d40b02e5c388e350acd5abbefa488f85dd84e23c76fd5f7aa3e96943b89401f82ad232fbd6d9d7cdcbdb3a2e486c03dd76d223a80f01d0f571a477263e57c1085bac4a234721b00397569bce471a8fe6456f0e35b52d1d673eaf4c78c79e8e18b13c13e8e9b519a52b2147cb6e43e0a5bda401c5500b12c78397201cbd1dfb5d64ae80d1a44d780e444250fcfdb8738926cecdae17b3ad56b7de3b1b831ecba837c27704bea792d1a08b70311a9ffade019bfee378e4ca31dca8a02d29f77f38c22b99c3e33b116b82245b732426756a24914472dab0c985edafec96b37b0e61223e1c800da7ade3b527744e489236ed1f0a2bc9d6b02b1ceaf10a997740ee4453d6d9bd07f645f6feb129aa275a3cdfd659cbea5c78819e9904ef3bb629596cc9a4d02453875c113aac8a0298f6264e87c3ee7ad30058e614bc8bd165f8d1b7cbafe26c4e06b2b5cb9b1df3d42c3ffabdc9df8ca5c050bfbe768e669d2f981627019b650b2952a426bb37bbc368a3a870ff308223664b073e80e4fe1c4ebd1b3c28ea76da395c53bfaef22ab99ddc15954891aa4f6d8f1dc47951ef14788dc475f5273b06422c78eba016529997f3d2ca3e5f480ffee77b716f172e8e8b4bceab0d6c714d1031e8c0b67427859da6d4899467b584288c3fe857fbd3c7bd60068\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 739\n# Longest valid message size\nct = 494837e82bcf58b201c8e702b34bc29d82781a0bde828eaaffbaeab0df7fb34b743c778624e9b61da36f2565721269db62a32bf8332e46d5ea8943aceb34b802649e7c08e5072034532afab4ebfad3c61ce00f3c505ffdaff7990f9c6c0fc1cec7bd4223c1f93d102fd1a7710de583af4f39da57e67c4e79803c52232dd3f4728139d42175e68883730e1dccf629740f9d5d3114be318b52b2a9237504953d9155afae8ed4154ca917676185c541abbf2717311e4dbc1d0a74347bdf05516bdcdf05bc6eacdb52e78ad8d03e6c0f70fd9b1d42419226638189f2d8e34474e32e9342dccb0b795996fd9f341c0cb88ab706c077d1fb2c74a6b7e028d46f0656d81c4a123432dd71c7728831963a65b43b2425e88fc05bd3fab03d560e8022bd9bd5acf12a62327596b6f238937bbb9a3ef240c8b7e575eeb6181424319f2db1aae1d716df552b08786b58d0851e272c4f9382af78c9fc417cd03489af137eefb27010a5898160507f9248447347fab8daab0790155532cd60cf27fa7ec858e660e0b7496d398627462c7f75c7f6545241eddf791fc4fc2bca8feec48b241bddf75a590a6eb1e2fcc71725f135fc6ebc81d1871e700563b874a8264e2c41dda224646c9529d6d643a0a639ad54bb90275f8aba524ea1afac51bdd9c17732f0b8511af05338f368a30d2249fdfc7f3de34074788b5c21a481b8cc2fe14ad864e27d\nlabel = \nmsg = 78787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 7bb0b14b4fa435505b69876e65a3a3f8892d61dda53709f4257aed4c8aa91f2351cca74cda1989c898c88e4a4dc60c583fe2e5f73852933bb13942bef04b4af985f8e56fec2d282ed9ce56f27e452bfdc4ff6e7295d95251c264a36743c14fce78a2f4ac6bf8ba0a8ac5f88c82524a1610abe7548b7f6a97bc744473ded26370bff86f966885ea31787b058197ab58830ea477fb600bcab4e2f133a613f9f125319d272ea5ea323fbea830ee146725a86133c4167c63ef899edebd2f91769329181325b5748a1146407901a8d8bf66da94dea20e64dd3c12ad7251df719dddf3fe882b6a22a30ad1061853f748dd83a72839adbd885710cff95d554c1bcf043dbb3feef19d498e7d8db5caed36bd0d44470fe7d7d1a1b0eb4c391a0736bbfe04846ac98d6243a4e3e58b57549ff7f54c92f103b33c9db04fbc6b36fdf5191567a79bb35a0be94a45480cfc28d377be27da9c2c3cc0bb2a4e910ae44233305af6a87387aab762c63d969714be53c0b8a26bd20cd63761b373b815330eb92a1fa7e6ab827276335dfec94146548d073ec828f3793a84cafa12126196a33f5fa2f4f2f6470093e99b2b2d91f2ff9240580965480d56c74be39bf42408a0e41ef60dc080898ce3eb530d87b4da4673977055e83d6504a89d60fb2f49703936a2fb391fdc39d59608d500870511b458c9e45e53398db152d3871f18d61b9afa4435c9]\n[e = 010001]\n[keysize = 4096]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d3]\n[privateKeyPkcs8 = 30820943020100300d06092a864886f70d01010105000482092d308209290201000282020100c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a1185", + "11c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d30203010001028202007bb0b14b4fa435505b69876e65a3a3f8892d61dda53709f4257aed4c8aa91f2351cca74cda1989c898c88e4a4dc60c583fe2e5f73852933bb13942bef04b4af985f8e56fec2d282ed9ce56f27e452bfdc4ff6e7295d95251c264a36743c14fce78a2f4ac6bf8ba0a8ac5f88c82524a1610abe7548b7f6a97bc744473ded26370bff86f966885ea31787b058197ab58830ea477fb600bcab4e2f133a613f9f125319d272ea5ea323fbea830ee146725a86133c4167c63ef899edebd2f91769329181325b5748a1146407901a8d8bf66da94dea20e64dd3c12ad7251df719dddf3fe882b6a22a30ad1061853f748dd83a72839adbd885710cff95d554c1bcf043dbb3feef19d498e7d8db5caed36bd0d44470fe7d7d1a1b0eb4c391a0736bbfe04846ac98d6243a4e3e58b57549ff7f54c92f103b33c9db04fbc6b36fdf5191567a79bb35a0be94a45480cfc28d377be27da9c2c3cc0bb2a4e910ae44233305af6a87387aab762c63d969714be53c0b8a26bd20cd63761b373b815330eb92a1fa7e6ab827276335dfec94146548d073ec828f3793a84cafa12126196a33f5fa2f4f2f6470093e99b2b2d91f2ff9240580965480d56c74be39bf42408a0e41ef60dc080898ce3eb530d87b4da4673977055e83d6504a89d60fb2f49703936a2fb391fdc39d59608d500870511b458c9e45e53398db152d3871f18d61b9afa4435c90282010100e97acd5f64c460b2cd51cbd70af5b4caa2882bf6033a92a23ed80f039e8a32c8a4c483f94ee1bb89c1dc1f6d04360a1c3f654251ad72eb39cccbfc38b072054bb0f21b9d516ef272e7cf86f8a8f838eba829e7fe9d803d469a1810fc5b37476333ddfc0cb6f00e9967970b4e474e04373f8dc92df50fa155e3139bfebf4e1cd274705551f2e9022029bea4b86664633d13fd90ebdd0b72d95a6508b6b4354e64b187fd81d21a0b1e4a853c27df11d7fe6c8953cff6344f50ebaed2513dc03761e8877c71ffa8005331043027b8dfdba97cae037fd5d1fda1f145a200c0d20f8dccd62e5c489eea8ae827910d3f48bddf0b18dc3089069f96d800de47036859550282010100dd1abc951ff1474ebfb70807b160b110b1eccef429c8fc8535ab0aa98376a82d3d33af906fb0395750b9aaccd8723cf73a8c3a6ad5c3a0929178ac55e1bd1ba1bf5da4f7698dbf09e87c84c45ecbbe8f12d3ed1091bc470eb2c733c31f8d27eba9718ee78db887385bff6b67950b79524482c50daead4db0f5676e4b92875b5be383ab1cd75e1cadb59cfb5794c17220154aca808f733a636d28c016d9843940bf44bb15ed191f53449b1651b79554c23e006a56dc0232cca209bf2d3c12cbbc0ed8b3110aabd365b603ea8cdf15e8b9ac781155f92f39dbf9749f70df003195a6bb169ea0e0d69eb3a18ce8fbcac9be3c710e797acb5c05a399c2f102947c870282010062f25622fd53741f927ffdc10eb5fe7e79cef7c274afd800c65d4e4f9c5ab916eb2d15390cc301756a20dd7897f646e69dbf4e11cb4e0e7e1a5ac0734de3a476e570555fa069427a8bdf19363c75a5b9c934a94af078ae7f4342bbc016f02062dc5251451a2a3625b10f040d928e6f9ef262264641baf406b00b596ae6ac35eec2c5f082a04d3b476229972946cb787b2403abed296a76abc2715af602fd2c51e422dbbeaec9b6b889a0595414673d806782f37008c9366bf6d5c9f000197bdf146a86c4d131e3a15dfe8661ef297fb01e54a8cafe54d6065177cf263e91476232d2fa26c5e80342070ced9e0d99c84dc4282ef8aab991dc9d8210b14bb267590282010100b83b9f0763265894758abd562ba6b5e3835e1ed3b43d94ac2a9beab674a45a5dd7b14988c087c63fcb33e9ede62cca3ff6b901b4238a6e31b2a52a742534bde178e33ea22981c2bd2ecb1295cda757913fcef6a9e7c54a302527772a0f103f434e5d21063040a1eb843cbff1ff6f20183c9dfa33fc68cb63b81806ff518917c6e93cbd47baece0589e0bc022aa00c66795564c85f301c095384fcc3f3ddfbf15044af0d8c4473aa2d777a29154b74978d0d0e7ca9867fc8c263898e3c83aa12881f66ebeb4759820181a0b46765c7b1ebb67108ae2a7473ed40d290d93c3458dbcf00759061452c0ca4cc26d1fe149590a63e9fbaf25e3f78eea8054f22167e10282010100c301f6bbe5fb5693f665b26d1a61e1de87e38950a5825270ee68ea5a5667e11a3aed28b2266768d1a3db3437dbda681ac8294dd50ad0b4bc5cee5694831b8df7354695335740b9b7dae5f7881536da6a6b2ac4308a0420ad6e99cb779a6338f5012986b1c1c889444d90585fb0dac995ad6e93af7eac717c643c4b8e7023cf57cfe284ca911d6dc3132b08e17f4e8759af42b43ac929c0259c3a1d5e5f7c4b247e2f6461aeff8577aedc710d6d2d56d943c211e47467421539dfc2700663c4068031b695e487ae6910ecb9c547cbfe12cc6f45b658e2c6f9f8fbe805304194a9d1d9c6d599c5ac5c9ee5fa78c8a4583218f7dc8f4c8d3adf275eec0e0941fa69]\n[sha = SHA-512]\n\n# tcId = 740\nct = 8f685cdf3d01be20d4dbb3940ee53efbb42425478a9093d9a85f769893992b680feafa89e982fb04cc247f2c538b307111e33931adf6e0b9d1b31e309dee41a07c6240516d37f0fb595a84b486e02eb3b4e9a846dbc0677f2f471d1ea44e52d915b95c70c8f865e94ec6ee4eb9eeff19588166737b7e3007fd69ec689c890cd163ec463ae44f00b09e8ced5cf4fc1b1194de313e0b02feb2345827340cd028a2846767eaf4890440a74c78b4353777441ba805380cd42d7387ef5fcf220932a55088fdb08f8f1882618a66f1029c16f7d75564df683efaae9a9f11c8fba64cbac81f3af37ee8fc3e00882f0b3faba4f4cb11a8b49f4cc1a385ae755af2241844b5a9a7aced551e27c40931c2e2c26da988f5acfc8d003ec37736c7907f4508dc9a5c4709df744fd0d3187725966096e96e11eeba84d1b03a7fa9ca3ad2b7c7e2f52fec4efa6ef7cb18992ca074749a5e20d14eec31f2e8a25675b4aa2ef7f1e81623ed33a3ce16ed2b7e74cf70a8eefee68070a82214f532aac3bcfed5a78b7ad9f960b625ba8b27d6b8e8add8e876a9801b2f2f4635c6753a456116f622af92ed9976125eb2ac252d07108061509ff3ca8d8cc634b23b96ec800316634b04f6eab05f145330697cdd6e151c67818260dad06e9d11ccbe3af4cd363c5bfcd8888cbef243cdbdcf3ea8f045fed3a7f5692747c11a5ee9b05115516160e47718f8\nlabel = \nmsg = \nresult = valid\n\n# tcId = 741\nct = be078e8b2052e283e9ec6c79ea84ea74ede482c23a2095bfb8a6d399cc9263116dc1efb4110a78dcb5cfa2eefa0dc45031816c733fbe48788b9c934dad4be5e67e1e6463339a3abc7cdd279bf574dbd4461e88025aa412d40ccaea4fcf977cb4d7e2a92781af394cbf33f77bdb96532b0d702f111ce562ec18b8b2611d74275a1a8e556bc549e9ed8bc9d1a0855b34421e558570daf9919623a9404bcba43437024698a6d2614cc96d9c2e715a9e5fb1db062f2c30b9a21fb174fa23930bb43cc84da88849be3d6e52780ead58114d5b82370e7c4ab7b5bb80584c3a0114d2ffddbfafb637ecc9aad06dd2710e143004320136c30c4db164c047005868c6ff618564e207d440db1d19076c7ed6f861a5f80c404d45e7427a49989563b713bd2fd33ab64f73aab8223a883c504eebd6ec777d098876aaa63ccf66992573ff09f93b198bbfdec5212f67496499297ff64cabb37df52221c6cb3d0f1f7f72648e3a71b72c1ef39bdd77bf3d965261a143e22e5fe65d36a0e652a083414b537ab7504fa13198c3c70e8b45c860aa4b07c8c54949210535252e3fdd146656da50d9b06178bc86bfd2d81d5ec66e05f9121efbd344b326c178e2eda2b3c3097c88dbfc898bd967c0ad4eb3b24b6292220346d7c474d15f606c903e4f040d9bf442f76255b3d1ae38b0053c5f1ca15a5b052dec5ce1f1a6c81a651c9ac772b43b3367f2\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 742\nct = 02f2e0a9b939a0182ae0cac85bf96545b5a893b36b136c0ef4dd06e267445ae56ecf166a87013a99d62783b2bf01497789a6282aa8fc4b420f1eb2c62308b853b6948af25cf0c8ab41040404d3f9c88cc84b16ae64bea099150b35d9c4aee1c70910fdbd124f2399dda714750c5c65c3044fd7324fa0d6760cda8765731f839ad1f575dae91ed1f389e1e9e8be33e6a48044eda86e7bd00b6e101295ecf73268d47994fa1b51a375351f8063b1901c05670376fdfdb2b115a547ba3fe0528878d6b2aee44571c1009f6c4c47ddd67973c0b2884658848c2e4ce9295f9225b198c450c368f9a58cdafe626a3ba7f5e3f2399e5bbf13f33117e97a147dd9678b75b6120cc5b88c698a2a775719b537e87884c68aac5232ea45d081421d34ee9c58fbe8d91d8ac0186ff907771f91336d3dc75c80f821ea37f74e7f34c12045e0a08d2d8b0c9d7d64fa70cd21fe707e5420f7cb441ce536ac79a65c868eded4cb484c1763ef50132c206152dfb022cd08327ad8f8a123f9930fbc33c923e61c91ddcea7cee6967d4f1770361ec0fd82f00ad1af0d71ff0f48d20768c80db65648b33fea459ddda25687282742147f22efe5e45e76d0b7bcfcce965701b5e005132e08e91d7023cd696ea986e05f02be392835dd28af4e2a82f14ec43f5a1cb171a10e7012ca626bd174a92611c112de11181e78456f212cc9eead6360b344648142\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 743\nct = 1e62333902d0c05d4f4e3007411572051de6a65d11b39de37f3cb76e2a906b7d56023d5e489ab809c3235e3c40a5d5b37db700c6b9aef55a3fdf36bf7fda290d56a0cf8ebba78c9229fae153130b1c7c020eab1d55b7a33e32c58ac068c7f8a67b21ef176acf2b97b4477dd164fee10a40a391182f77539ab4985c445da33f81ce9dbad8d9b772f8a5dfbbb8371eaa96a725e0fe8163387cdffb78580bfc6d1d00f02f4ec9bb6d45722ba02c7ce1225d497e88c8dfa9ca019fbd4bf743b7580fb863061353be6ed54f7cb576a0edf4cf72290ca70f6994567fd9689783af4ac822206552586dd2cf522cfb46a978f866e326ff074ba901bcd631a44e64482b6b5b08874b57140ce8cd6b6e615e983a3d6a62fc932de05ad9c13e8e24aeee4744c012bf05aeff246c0bba59a2985cc2dee33a4098c868250c5252211920a24ce37fe77ea6775070fc6f7daf28ddba4101ce86c05ba70f7f14da6018d47578184c335bd5e83d93351d6ef95f0a0c6a7ca749a42ca3ea5b5d424bcd5ddcbc96659a6ca4d8e63cea8e0847578f2f5de32baf65ae6babdfc74b6a29fc00aa9404baca40568470c205ff869c884fd6ee9a82fa8f7798d6f60a771be89f8d2daddff85a4b3676f0d830e445d3365d3c87f507420abff9b23f93e1ee60433c116e602a55985a15612cf960629f3baf6107225656ad239f1925976be8c7dd7f1db02dd326\nlabel = \nmsg = 313233343030\nresult = valid\n\n# tcId = 744\nct = c4ded40acd09918a6d7892f9f5c3ef3bd524058e3332b61", + "657d6d060237e37a49ec617f1fcd2d763c51da3c3483ac6ae0242fd7196f3c8eb3db56e37a13d705a7db8faf73aeb423590784bbc42d668e808eda0156e982278283667e654b5d6161764da1cd381fcdf8a8e91fdd2d311e96ad62658d6c9a41edaafd145e9926fe3a61108d1aae10308f494d65e188ca69db3c116c08752c30a34a7c5d02d24ff59a2b6c2c5d957bd8499a869267f29d358ed190dfdce4bd2dab1bea4aed188e4a55a68ea5062a7675c609362ff5790c9fe66c1a17167a8b6a3d99e089bb65e79246953a2b3346139598e6a2a176e8df271674b91b33887e0668785cd30dff90ef847fcee098a0688608f2df0f574a63fc16bbf334a060e420f98cce76384e528d74b102aaf0ad8e182cc6fefd2c0d387e6e4e0f36878f792fa4b07804ffe574d3b14c0402ab6e8228bbf50a84aae4f52900d38320ed91bb9ed308c25e69aed9bd74aad14137d58cc10db37b5b81ae1aa0a60c8b1d19b27f4049ab41e84aa22c6e69d9ada549627bb8828ac384465ee75bb3807bb90b1ceebf361244807330bfbec838bd7e862da618d6218ca01c3a2f95e5cae463c8a9dcef31c35c6f25b85760db06e275a3ff1530b1379a20a480de8fa73486205eb077bd46ec29729c5195e2ea1d4334fd5b54c24d22f125a11885f4fd14f834881acee84970b88de5c0cbdd8\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 745\nct = 6bc3cda80564f1a391c6f84feeebbe858a306784c39efcbb06c61d389b7a4a2a61da3407728cd6c25d7f9a252ba9ff7cf58ce70077b55c3bf4521c0ef03392cd0185b1bfb26864d9166bfb87e01917d0c604325161c5aef424ddf805ae3b542b91dcaf497cf57e51c62ca94a1ea563c07d07d7c623f700f5a2a12f20d2d30a8ad5e957459f7a6443ba65a0fe884451e5dc56fefa8a8fc036897f502290cf9bf35a3b724fd9fb1a2587f74d33a825d1e07423585b7dd72a17ec227f16291610f43a3bc7806677175e60d979c87d5b1c9794b89a52a8deff93284fbf8a0b15763ac0225987641781017b6015eaeb9941db23cd1fbff8a9937e7f09f40339b4abfca3211efc22ed3c0fb9e393ce29b91c3cbe3a424d18de5906d3d86a6210f2f238676ffa4fe737571289757c8e0541d9e838e211f9f7b74ad60e99f61eeca8ce922f6dde7ee40d4c3cc1c52c06fe5842b9ff516759ff91365ee89ba8dba2810171d2078de0bf5fbba7bcbe1931bd03df508ac006692cdd17ceb7fdecf00e2acdcc5ec5ff281eaae926f9b0212cd57b08142f0fbbc35e00a4aa050d9a96a7ccffc2f1226adc08b4204b95d5bffd1b99d15581b4bd502d6229f2ba1172c398669d83ba5441125a86025a9631d4223d248ba9387df2b0845dbaf427c94b1fad82a4de2aa3baf85cd02129fe25c5dd3c299580587eeecb59d68a9109950a725e35491d\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 746\nct = a53565bfd5173f43ce9de2b1eecb165ee53e58bfc5d7588c90d841e2164bef515ffc33a5cef7294d1ec92d6ec1bb31365cc966228b45fec6f480109108954ade2e9cd5755c59d12b3909af8576b4350421c26afa56657028a813c9f85c0a92dd452d4aed8bc472284ca2f7067d395e9755153ba79ab5423b4701f86ec260466eeb64393c5710ea010f9aa41b92d57d8221c4cb1d9b56ba342b437ca3183d73914ae5008c5352e428286fdcc7d902ee186c1d236e3f4137d3ec3a63a4975205296284184954b7ecc0793c243c9dd0ad085ff88bf037d2b07722ead006af983cd913c08e523ca0d5a3997bf6eaf1ee6938ead9259664df1283b4db0cc750c70a20b88d937c4dde29caa1027e02e2ce6d9c89047ac407665d5bea4e12d83036358815fb14da23a5a2a13ead7e397325e1935b55407646fb0b3d096a3e07b527cf3af949621638384c27ed666a98d8537686dd8f3f20549a12a14fc2bcdf8039025f7945cbf9b3526550d5dc668825b3e3cf8f75a03c9d768792efcd00a18489610a7387f3cb774ab3d75e166a34cd2ff0bb205c559df2c082da5ded8fae5f21bda10cf77a6b25b9b1618c8d92f37efe02bf6f900f19c730e0fd6a55eb898d2211fb4e67f5961f71fa085feeefdbe32e47372c409adeb0b5c3cfb2b693ca3ba2aa6aef5d0a29ba2a87dfeac9e5d2709bf3a689fea86a48ae14f1f4cc754504c58f4a\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 747\n# Longest valid message size\nct = c856328e918eb400b3ca76235018843513ad1b0f374aafe97b1b616a51c5eeb3dfb0f5a3c5d7559a9f9b28867d2c8626b4661f90ea185e48a9253ce7d21b7036706d9db2076e37cce373728bf4075b424a071d3b6ca29a80002254b9d978d58201acb010afdd26c9ef372e118f182a2b41e9eef85290cb932eadeedbbdd6d9609757cbb4feda52944029fb9a64ead1e0b71145aa5d4d95d38636cf6ff97a84d64f06a46e3f95a99aeaa66bf15968929e36320623edfb319bc95173a04faafdde0ce576d59852d158a578db6bf40af65691ec83cb57bfa6b6518f63cf7a7e8bb623f2bd16b2fa5c0866b86e0ffc2d895e6488b0a75c9d7b738bc28a4854472451cb46f8585d2d0b038e0a572621f95b3ab9b58a51e1cd83ca90c8a64b80748d85c36d0c31cc4635cb60af27b7bcb31a69e005c186f4cea9881c18e571289f418fbe818d7eb49296d18a074c862cfe31e43dd31fd12aaa54e134323fcad5fd7e7c1893f7599c9315cfed44082b25cdf4cc9289fcd434f3c81e6ec7a5e3f5a53ebbf8631d825b7b6ff254169b4a305a231b43dc9b7ac948bed31d154a9321ec32277653d8c43b8e60f6c8b21269e79a8d4ff42abfdfae61305d754390cb5ccd783f7673f595eb1fc2ec97d5f6483160015e57ac5ea544ec5492e1611839b4baa7a1ae55c8edd7fb51bd10d33178b21f21625a9b3943c0287797b48fe5fe14436475\nlabel = \nmsg = 78787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 7bb0b14b4fa435505b69876e65a3a3f8892d61dda53709f4257aed4c8aa91f2351cca74cda1989c898c88e4a4dc60c583fe2e5f73852933bb13942bef04b4af985f8e56fec2d282ed9ce56f27e452bfdc4ff6e7295d95251c264a36743c14fce78a2f4ac6bf8ba0a8ac5f88c82524a1610abe7548b7f6a97bc744473ded26370bff86f966885ea31787b058197ab58830ea477fb600bcab4e2f133a613f9f125319d272ea5ea323fbea830ee146725a86133c4167c63ef899edebd2f91769329181325b5748a1146407901a8d8bf66da94dea20e64dd3c12ad7251df719dddf3fe882b6a22a30ad1061853f748dd83a72839adbd885710cff95d554c1bcf043dbb3feef19d498e7d8db5caed36bd0d44470fe7d7d1a1b0eb4c391a0736bbfe04846ac98d6243a4e3e58b57549ff7f54c92f103b33c9db04fbc6b36fdf5191567a79bb35a0be94a45480cfc28d377be27da9c2c3cc0bb2a4e910ae44233305af6a87387aab762c63d969714be53c0b8a26bd20cd63761b373b815330eb92a1fa7e6ab827276335dfec94146548d073ec828f3793a84cafa12126196a33f5fa2f4f2f6470093e99b2b2d91f2ff9240580965480d56c74be39bf42408a0e41ef60dc080898ce3eb530d87b4da4673977055e83d6504a89d60fb2f49703936a2fb391fdc39d59608d500870511b458c9e45e53398db152d3871f18d61b9afa4435c9]\n[e = 010001]\n[keysize = 4096]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d3]\n[privateKeyPkcs8 = 30820943020100300d06092a864886f70d01010105000482092d308209290201000282020100c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4", + "db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d30203010001028202007bb0b14b4fa435505b69876e65a3a3f8892d61dda53709f4257aed4c8aa91f2351cca74cda1989c898c88e4a4dc60c583fe2e5f73852933bb13942bef04b4af985f8e56fec2d282ed9ce56f27e452bfdc4ff6e7295d95251c264a36743c14fce78a2f4ac6bf8ba0a8ac5f88c82524a1610abe7548b7f6a97bc744473ded26370bff86f966885ea31787b058197ab58830ea477fb600bcab4e2f133a613f9f125319d272ea5ea323fbea830ee146725a86133c4167c63ef899edebd2f91769329181325b5748a1146407901a8d8bf66da94dea20e64dd3c12ad7251df719dddf3fe882b6a22a30ad1061853f748dd83a72839adbd885710cff95d554c1bcf043dbb3feef19d498e7d8db5caed36bd0d44470fe7d7d1a1b0eb4c391a0736bbfe04846ac98d6243a4e3e58b57549ff7f54c92f103b33c9db04fbc6b36fdf5191567a79bb35a0be94a45480cfc28d377be27da9c2c3cc0bb2a4e910ae44233305af6a87387aab762c63d969714be53c0b8a26bd20cd63761b373b815330eb92a1fa7e6ab827276335dfec94146548d073ec828f3793a84cafa12126196a33f5fa2f4f2f6470093e99b2b2d91f2ff9240580965480d56c74be39bf42408a0e41ef60dc080898ce3eb530d87b4da4673977055e83d6504a89d60fb2f49703936a2fb391fdc39d59608d500870511b458c9e45e53398db152d3871f18d61b9afa4435c90282010100e97acd5f64c460b2cd51cbd70af5b4caa2882bf6033a92a23ed80f039e8a32c8a4c483f94ee1bb89c1dc1f6d04360a1c3f654251ad72eb39cccbfc38b072054bb0f21b9d516ef272e7cf86f8a8f838eba829e7fe9d803d469a1810fc5b37476333ddfc0cb6f00e9967970b4e474e04373f8dc92df50fa155e3139bfebf4e1cd274705551f2e9022029bea4b86664633d13fd90ebdd0b72d95a6508b6b4354e64b187fd81d21a0b1e4a853c27df11d7fe6c8953cff6344f50ebaed2513dc03761e8877c71ffa8005331043027b8dfdba97cae037fd5d1fda1f145a200c0d20f8dccd62e5c489eea8ae827910d3f48bddf0b18dc3089069f96d800de47036859550282010100dd1abc951ff1474ebfb70807b160b110b1eccef429c8fc8535ab0aa98376a82d3d33af906fb0395750b9aaccd8723cf73a8c3a6ad5c3a0929178ac55e1bd1ba1bf5da4f7698dbf09e87c84c45ecbbe8f12d3ed1091bc470eb2c733c31f8d27eba9718ee78db887385bff6b67950b79524482c50daead4db0f5676e4b92875b5be383ab1cd75e1cadb59cfb5794c17220154aca808f733a636d28c016d9843940bf44bb15ed191f53449b1651b79554c23e006a56dc0232cca209bf2d3c12cbbc0ed8b3110aabd365b603ea8cdf15e8b9ac781155f92f39dbf9749f70df003195a6bb169ea0e0d69eb3a18ce8fbcac9be3c710e797acb5c05a399c2f102947c870282010062f25622fd53741f927ffdc10eb5fe7e79cef7c274afd800c65d4e4f9c5ab916eb2d15390cc301756a20dd7897f646e69dbf4e11cb4e0e7e1a5ac0734de3a476e570555fa069427a8bdf19363c75a5b9c934a94af078ae7f4342bbc016f02062dc5251451a2a3625b10f040d928e6f9ef262264641baf406b00b596ae6ac35eec2c5f082a04d3b476229972946cb787b2403abed296a76abc2715af602fd2c51e422dbbeaec9b6b889a0595414673d806782f37008c9366bf6d5c9f000197bdf146a86c4d131e3a15dfe8661ef297fb01e54a8cafe54d6065177cf263e91476232d2fa26c5e80342070ced9e0d99c84dc4282ef8aab991dc9d8210b14bb267590282010100b83b9f0763265894758abd562ba6b5e3835e1ed3b43d94ac2a9beab674a45a5dd7b14988c087c63fcb33e9ede62cca3ff6b901b4238a6e31b2a52a742534bde178e33ea22981c2bd2ecb1295cda757913fcef6a9e7c54a302527772a0f103f434e5d21063040a1eb843cbff1ff6f20183c9dfa33fc68cb63b81806ff518917c6e93cbd47baece0589e0bc022aa00c66795564c85f301c095384fcc3f3ddfbf15044af0d8c4473aa2d777a29154b74978d0d0e7ca9867fc8c263898e3c83aa12881f66ebeb4759820181a0b46765c7b1ebb67108ae2a7473ed40d290d93c3458dbcf00759061452c0ca4cc26d1fe149590a63e9fbaf25e3f78eea8054f22167e10282010100c301f6bbe5fb5693f665b26d1a61e1de87e38950a5825270ee68ea5a5667e11a3aed28b2266768d1a3db3437dbda681ac8294dd50ad0b4bc5cee5694831b8df7354695335740b9b7dae5f7881536da6a6b2ac4308a0420ad6e99cb779a6338f5012986b1c1c889444d90585fb0dac995ad6e93af7eac717c643c4b8e7023cf57cfe284ca911d6dc3132b08e17f4e8759af42b43ac929c0259c3a1d5e5f7c4b247e2f6461aeff8577aedc710d6d2d56d943c211e47467421539dfc2700663c4068031b695e487ae6910ecb9c547cbfe12cc6f45b658e2c6f9f8fbe805304194a9d1d9c6d599c5ac5c9ee5fa78c8a4583218f7dc8f4c8d3adf275eec0e0941fa69]\n[sha = SHA-512]\n\n# tcId = 748\nct = 8e615a3b27fae31bbcb6abbd713e54498b38143c5a740eb326cce75e2b9df42b6454dcb465873b831d3c18c4a0e4d941ebc49722402aa05498b34a7fa56a74774adada8c9c3af19386da29c191816117488a37b9899d135da5e8afa8e2b76a87caed1b050b8289d110922ca9b19ed932be12c92b36d36ee77ae9803fa8bea86cf8287954fb0fd69a0cf9809b686bac0c0035d8ed0bd80dc2c5020b6c6afeae2d7998373d551ae3a868a06854eec8fe07c8dc61408676ab2c21c251c5877bc31cb570724bdda76cfe2b055d5a27d1b3961518ac88afd3a041e2d21542ca027d6cf8c71c078016f1b23f73aeec8b7f5b77bbf003ab4233d0c56ea42337f5ce83d82b5e05497f0f8e3b4f23b78f71be7691f5bd66544a60f2ee685c9c70b17c5933e864d66f1ae50976629c7b76e91e17c1bc3099f5fcd191fe6419097088fed1b7d875f9a39dded5ca6c7c1ac36edf1ef3dfe9cf707de34c21962bbe9e8d0a92a7bbc0eda639d813254f44c47983db3d35c662096dcb61324e97d68320624f97eae0fe0400a7b618039d97bed9034c29846278a030d3c2e0932bab62a9ab325bc07cec7094fa427a37a937dab17357ede8d08d3b3f76e95f1f470af327f2a98ee1f56a5c69d1eeda8f0262fc36e04c78b051f4657c94cbdfa3218385d4e3422f5c4cf7d6c869113e0307a3c16f41db561c4a7d43e1ecd8ea7ffa6a6a548606ba96\nlabel = \nmsg = \nresult = valid\n\n# tcId = 749\nct = 77c634e7ac8dc0d271f8d970c3d59ecdc19a09ad5076f586942116e7125b6df207f8aa21217c47862419cfd64f8cf83302660cae993c45bded252c6e618ff225d251b0057099b3bba4fbf9480b536e5eb6f39f64f2c9b32c7d07edbedc4a642a7d69d263d88a62475769b653e550dbabc1d2fc0d14e27bec772b2643f46bc6c8950415977fe21b2f33a432617134bc208a613c3ecfcd531950d7ed44b925b3f16caa870419de62053c44984fede89b8503212531c13345868265d1fb139d2272a9f659e6a988b9f54155251601259b2c0159b3dda4910b5190694d98ae847b05b152fb63c1fefa31abaee992a46fa7407499ba1f59b6dc69c348502fcddc58fb2c60fbe30f7471821b75572f149138841972d08515d85ecf0390ade20b1630c9f7cff16bb1c0c0c566fd0e55c1090dd28f18b5019347461e4e533a1d97e553583af0beec3f1dc3a595f855baa75834eeda16f6adbb435be7044050f164b6ba4ee420ba9186027b166b50534d5607f2635c3317ca87acb9fa9d08272fc1b69eafe2d0b17b81def08851e9f623e14674016ddad14a86125f629d3642f5549c1bc69845fb7fe01b9be3c77051781635f438c6846a17a1c15669f0a161edef0c13d01ee2f53902585dd02d2f139bb91702ad29f93b6275de15bc7e537a1d2a4f8df47fd7751a4f9ac25dcbc9b2e43d21accacc6c3f7155845435faf50c275c3d4572\nlabel = \nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 750\nct = 1dda78168838f43a71aa61151bb8bb953c204d0af526231cb804952d4e958ed47d2b51aad7c3ddf0cf5af70b87b5a5c80d9963e261309692a822294b40ee3ad67af64408508bbb18dd2b61090882869a5207197ffe0df39f278c2f3a710e0f8ea451b655fcd8542e07606af88a44a7bdecf5a523c312ff73942ef4e8105a5cc69fc1bb315f77f36b87477ff693289963d72f2ff0b6ded18a0d56d79787928ccd72b7d5d7acd61d37d632cbdce66e2cbfe990cb6ee250b8261248e81013df77448dfe1cdc5b812c8380aaa0c19e6cb11781c0e3080017ee254b89fab5d534cc4192946217718d3161c87231d955d4fbecaa817fa92800104fbd0bdff088fd65e9ad9f8513c88fa613d952634ee8306166225a2f37eb7ed779fd6a799f0e5600ef915867d88e99645bd797e261cfc9e462773fb52eb5398e4e6efc189759c2405f9506ed48e6123379ba477bbd029e8bbd11ba86239e138487ba48882b0c3ef356cc1b3cb2cffb0d2d0c9161f8dbab0a91276a242762d18ba36b2daad8527c781a2343a110c4acce2f2a4c294057765d82e86abe6ff036d9331f1986115b8a22d7e425b81f7c0f0e32fb57b2971e8a7032d155fcf61d0df5e9415344519891a712907727bff0b31cf652357e7755c68d35e22dabdee83f8b46ef4f4cba34f180b957d52488c033f4f2fe413bbd6d83e70c52783d78bd98689bd6d822618fbd464c\nlabel = \nmsg = 54657374\nresult = valid\n\n# tcId = 751\nct = 2013a5504dd553e9ff2d0c42eefb6f6978cdfee946ebacb69aa0071640f42b1c6d019ab2c50362c7e271382d546a9ab53aed7cb625fdc692a60b4112df16d85db4a748935df606e4805419d4cd4a595285f369e20c7b474a2f71a6c40642c4e84f6ff870cd4546a4bb2b9f92a77d69bfa85724caa7c3724aeea131d9e2f61b5c24ab19a3ff46ef9b25e8951a165b2a795e8d734c996f0d3cdfc97995952195b60c65979f154ff185e880be3948eb95e449f5427fc3cebb805bc971dd32f57798e11d4411c7f2cae6ba40c711a5748c68d37fc7f493e5d389666159a55c57b1edb99fa9c30bc7eed5619177a90175cd0cb290b93b75a4725867baac40edc7033acb3b31e89063546d9c5b0a5d4c4f9062295269c51e7230b35fb2003c2e913f4c234ac9da3c467e6d522872fef1d28493e469b8e9efc1f6c389e69941b51977c4f4bb21c02a66926662899bf3dd638de31d47f8ffa9d8ee3404d8fa102985d2f8ec1e684acd5ca046e8b96d122630b3a7059ef8e7dc930c81c97bd81a3e3b9e984602d71cdf9985778f5f3b04d3f30faf4bd8a323ce6aadcedc43e3027abad83e92667afe962b07edfb218267f515c44be8509f1e26558220207468a318fe23e07fe2fda04114db17e754d9775d2c4951dc1c7f8d1b4476aa13ef50da043815a2a1c6453546067eb463db0877f717ec70c176e3fd73c8377ac3a8fd19dd2bb80f\nlabel = \nmsg = 313233343030\nresult = valid\n\n# ", + "tcId = 752\nct = 0f0b837a5f4f036f5a1b38669a4768571e1ac523e89f082361530f1288a55cda8c6cb5f4b7632d4624a9ef1507546ff1416f5baf2c6b53f1bcb9aecb305b6bf57b204282c74827ee71d23398509537bc7dfda5a4810b0c4b6af3af45e838e1586b9728509124d8b49d0a2adc8d383962fe70e4524e2fea9bcbe5c71ab05ec65b5e4822a6b765de292861c86a7605e3c20d1e3f8e8268a21a326f51cb66ab0490673f036ebe3d8fe5fa39e195fd703c1c93b49f3697d9f73f683b6f70d5bf585d72324d34efc79985463ce1df5c6112720e9bedf876e1b80f36614d719743e4420a62200dced4d457ba2bde819fa7ea2643eb1a4672e6827c915920fcb94f3ea9c1b0eefdbd7e5e07d1a2d6738a60ac7f81be705645f2b33af5d5a20b09ea4c3922169bcdf0d376fdc80b355740686e77049028f2f0dcbc7c910b8c15cca7461ca5a411a9b6d750a315a250f0da703459a2147aa3633c5711d3938f863e35713b802788e2d20b0de356fdbec6d187580b75d97cdbe7f07ffba0c14bb88f32e30613a1c911eb82ed72b4bdcc232b46684c581440df157f780fa9ce534ae18d20d50187aa905611b2b045d8b1c2061b0eb9fabae940de151348d10f0f24f753cf6f667bf2689a73bbf3089bd26dd74b803ca47d9da8f9ca538f4c7a62aba73def2a08f92eba90bd6d482ade0b6b724bb100c9231a31a7a0973af2de4fd5aa752450\nlabel = \nmsg = 4d657373616765\nresult = valid\n\n# tcId = 753\nct = c40804f6c7fc5ba3c30f051a719c08823b6591f45a899fc9839d8dd77157761ce610d4a138c10bc231e53f9cf87d5fa26aac8f167deb1b6522a4b365a136849d0124b09a03c4d5f5c26ea90f7a0fcb4518625c3ae3908910085be3757143e1fe1fbd23bf0942174491cf8f7c2a1b697efcff99822ae13e2f4527c1b8e5d50c320971dfc3bf8761fd08ea49f60f78c80e65edb08aa916a5cb9355e9201c867fe17ccf4bb36d69dca6789906dd27515b1dd99285f483f8fadef217c80e0a430926bdad691118a33577689ec1815565f51dea4130533aca7a57a7bd706427ce2022000421a26a5d1fadbb834e6d78fe4dba457c70820c1c0f3f1efafa8a27ba302b1cafcb9b96f41a4f34633a28e87a6202f13fb0e41df3ff644a91106925c5c3b875c313aed8a04930011dd866c7d52ed018a6233f0125f4ceae5df8ef8890997868cdd3756e42775bce57327cff10e4daf568322f1021b140262f94f4c061c31475de1807313f1621fbfb24f4d779d99c917fa5104f93324ae675621df90b02446d40ab2f319c32d363b265ac32a7ffc6d262e7903d8c05dafeba307cadd25927a034cfcfc784ef45136c950682d313d35c20cfb918490c86eb342dce1c2b68967f3f10d439849a4b6db8430702615f36af9839391b1316c0505ee18b8a35806a94b73d00bd5e8bd2b79d383b89ce7bb046e5ef957d502fcd9e0290fe70886991\nlabel = \nmsg = 61\nresult = valid\n\n# tcId = 754\nct = 9e053f731455e4fccecfdd3260ac0056a291fb4a37e297899e812777054f13c9e836f27de12cb2549d6aab0ed553544464119c495067e90699caed744e61ee17295673d2c868b41cc23f9e594a002a7eda75f1bd7e0b211c3c2e8122fc2568131b354b722bc1a29ec52e718e471c212cef4242270a4f9a765f6d077e37a01091bb13ffd9ef02c70462aecff739a2624a5d8d8f5cb8f8cd3c6eaabb683a10bd131afc6197a8d21d6cb066c610277eea1221d55c9c0d26f553ff7c22bba1a883d22f153c18ad617b506ad55e4fa04fbfa7cbc7fd310b49809c80513322b9ab296aa4a033ad3bf785c1bc5ff0c928777de67a71b393b213227e102c145e9b40357f251c19bf572a48c2e3f5f0bc12604c8475aed9baed2155028feecfdbb328b488bd5bdc031213b0b122bdb9cd44097d1813a759d13122530587be372a779e1aaa08d18a84d26213f936885b73835c27939e9c5d284076a09ecca3e6dc6e5be5c36666ac1ca1d8796502e0d5359cd6fa43edec58bc3d2b39938e69cd46e2a62ac4f6760d8c0c84765a6f5f6b66411dd3e217d690452745808a2c0f0fc504e6e56989a72bd1a59774abf529067cce618d2c39c05f0b400e644f7ede106e6eb1d0635f7f32ec04f86cd3628dba1f967b3109bf0052613fa84012da70ab4ea84e5d5942d42a0b9e3d0c80b0343fa9486c5a077fca77ffd30256cd4f8138dad30d6b5c\nlabel = \nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 755\n# Longest valid message size\nct = 592e487960f3169443c5d6f87166bef2ffd52931518f3b0e5d977f3a2101814e749fff5fe8eba424a3d439609857940f5e23dcedbb45cde57c21c28bf729e396530d21fbcb96c97a148c5708801467b15be1eb0d35206105f543d21022fd023ac89b616ec790a9182aa053ee4aa7962f33f4b413a48ee3d53b2d247988683d4db30bf4ff6d80b6d0ce82e314ed6dd7607df577f1ec956acce51f744f89e7c6a770ceaf90b20665df2ca8050ac25ed29ca80a0351ad790c3b8fd00527195f427410dca6bbba37a441cb82e44383bb4e077fca32b27626051c13886392c10a305890454588f508ef8d9d0aeadd8bc78991fac96c5ffec892381b03580e28926d8b3a51da862951a05f48ef809b9ce11f23323ed10fd597d0449acabba954079164d775abba56da956c513b601d1846c867c6bbdbadf195db11857d4135c30c2b5898782ac9346f7fea4e2ec80b39b0ed962e0c1b34494af4441e5dad6d05fa7a47763368f850e3b81451b47ec12886fb317f5f5ca688275ff1d97410f8eeff8e210680c799f45dbc47744166d5b470c35a9df574dbf1b255931ec98e82e10985ea23daf960862882eb3ed17a99fef36af01b6168b22ae7ae0c91045f79da51fd62317630e123e322dc692c386bb9e30013525da3289321f311b8cd4e90175573debf08f772ce6d9257a6593557f9edd956c827a285f7bc620e262a7d64b8c56478\nlabel = \nmsg = 78787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n[d = 797b80425ab0f8bf5677c478c9847e81f470d8b6d80c5178f86108d9d13491716eafb9de5b7db81193b7b31179a944c2858bb8c6db28113cbf9599677468781c5db6b72c33f6657941d642a85ee23e65b982d37098284135d6acd0bce80ec90d3d05e9fcab8f835d53249c54bf45f631f87baaececbd4b994fb7291c74768b45c7bc938518a04fc5ee5f419e84485ed2630fa36f85d5cb1961fa70b14fb8120762aef3de8f3383d5d616580ae1ae9010fc433fcd62f754a64f489d2298cda57283645a96803e37339742d2c88c39c35ed3f8ffe1114a7430f3f37eefacce66d20ae7f8211509e95bdc17cf8ebaf49d9ebdeeef2659d21fcfd8fa849e23049e4fe4c4146634dd30afda05ec611799b57e53abb1b5a058f4f35ffd799905ddb8768e91b5718459809bfd5194e1d608c820dba5c3aa19a217a641d960d82e486544d61fe18256fb190dd3e32e23708fbe81]\n[e = 010001]\n[keysize = 2688]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00ce7bcbaaee00bd68cdb5277b331e43274214828dd91d4a24bdbd44f9a73539aec304c54f07d2584c7512cecf6b07ff1f496133c3a2752c8098aae07857f524376ff920a52799deab0d35879b32c8252084d7ff62a50f51c5557e1a986b0d01d88cab3c4a0696632bbe4f52cd3ba045354754aca082baf092fd99853fc9bc91ab61ae32c3250b2b8778611801a1f3efdf14d237e5d2a611d085c4b70ef7c35ac19bae832683eca21f519cd9cb02fc100238b682ea99c5fab984fb9c428bf313222c4491158527d4f3c13a83dfe018aa9e642bd3b6df651d2e05d5475cac25c960c7e67fb9e5906aa343941ab1b0d9a8c330d23aa9454f3ef4fa5a89cdb9abcedbf4d2183ea6832b312d2a65d7f203572a4b5b2435ba05e745342b2aae76bb28b9b3e879e6e26d9bb3d15b847738218d074f495630bf0a11a40f1edbecaf3f6ebeccccbd974a934c3e9848fe43d64bf0b3]\n[privateKeyPkcs8 = 30820626020100300d06092a864886f70d0101010500048206103082060c0201000282015100ce7bcbaaee00bd68cdb5277b331e43274214828dd91d4a24bdbd44f9a73539aec304c54f07d2584c7512cecf6b07ff1f496133c3a2752c8098aae07857f524376ff920a52799deab0d35879b32c8252084d7ff62a50f51c5557e1a986b0d01d88cab3c4a0696632bbe4f52cd3ba045354754aca082baf092fd99853fc9bc91ab61ae32c3250b2b8778611801a1f3efdf14d237e5d2a611d085c4b70ef7c35ac19bae832683eca21f519cd9cb02fc100238b682ea99c5fab984fb9c428bf313222c4491158527d4f3c13a83dfe018aa9e642bd3b6df651d2e05d5475cac25c960c7e67fb9e5906aa343941ab1b0d9a8c330d23aa9454f3ef4fa5a89cdb9abcedbf4d2183ea6832b312d2a65d7f203572a4b5b2435ba05e745342b2aae76bb28b9b3e879e6e26d9bb3d15b847738218d074f495630bf0a11a40f1edbecaf3f6ebeccccbd974a934c3e9848fe43d64bf0b3020301000102820150797b80425ab0f8bf5677c478c9847e81f470d8b6d80c5178f86108d9d13491716eafb9de5b7db81193b7b31179a944c2858bb8c6db28113cbf9599677468781c5db6b72c33f6657941d642a85ee23e65b982d37098284135d6acd0bce80ec90d3d05e9fcab8f835d53249c54bf45f631f87baaececbd4b994fb7291c74768b45c7bc938518a04fc5ee5f419e84485ed2630fa36f85d5cb1961fa70b14fb8120762aef3de8f3383d5d616580ae1ae9010fc433fcd62f754a64f489d2298cda57283645a96803e37339742d2c88c39c35ed3f8ffe1114a7430f3f37eefacce66d20ae7f8211509e95bdc17cf8ebaf49d9ebdeeef2659d21fcfd8fa849e23049e4fe4c4146634dd30afda05ec611799b57e53abb1b5a058f4f35ffd799905ddb8768e91b5718459809bfd5194e1d608c820dba5c3aa19a217a641d960d82e486544d61fe18256fb190dd3e32e23708fbe810281a900f6ec9360176174fa13c61bf298003b11e3d2ded52e4a8e97cf62b2fd90fc3fa7f68ff04ecdd79df65940ec4dddfbea002d32a8fdc7ff77732fe968f5cef0987efaaea1", + "e545bdd604fac780608c022b0bdabd328e318b0c1bcb5ffb52c2fb3c1bf7690963592a453223f6da368df954d92c40b42be19df97671a532a24a239eb407ba2fd5aafe9c110c22015b412f7476a1b00afe586f3226cea8cdd9b84dd3b7f53c26d504d3d8930281a900d612b2272268a71e5149d20ea7c05c2c565740a0400ef61280f46b03c3c0591e4851e3419e3fd49a658189d918b4778e16db317a42a3f0613d5c878226e254cad7d498d2b8ed1add27473477535b7cd36856f09978853ebe638019da2741a04e8420afadf9755a6aed5d1c00fda9a9e21cb4651264f27dcdebe21407d53b417e7aeabbe075aea5359a6ac748b060cccae3bc368ae33125c9388c713839339c58801ed8e7178f3b610281a90098d35f7b8fbcffdb6fb5a3c288154c7a0c198d55402b6109d08f73dcc0897f1483e41e85879d35e52ce4a3dca5d1aec8a130c3ab1ec79cb4ac28b88fba9eeaa35ca00d0f8c14ac8bb473199fa7c807c07487b8ec8cf9546b377a966068d17a288cfe73930bb2bfd502b15be97c019f6432a17161df6818e817fa78d63d30c29f0651541dd891712293f1d0091cd5342de070c6bd191ae95d5f76d6c133f2e760e9e56adb58fb8d050281a87936eae397eb343dc97f884ebe1400dd26228fb86dad4b0e9d3048ec3fca496c093d3cf629da30d32008e27a282fffc65810d38a4bf3b2280d6bb85b2d135939e64e3e1e8b91ce754d49575efdb73f0e21f5a094f61654b9cf7378affb2c80ce14a8c1713c6083cb2a0e5fcdfbd4371a8e70630eb0545281e8400261910ed57dfdb1aea261607bb1c77710d28af4b4e169646869ea4d28fd3064edb30d48b90dafb647d14a98d2e10281a9008cb941dd77a87bb28e26bfea0f7da4f8068d03c52026c02b8d06ee69929edf485648d27903b232f0707a0c6683b0d3d3526751114b29e3a11056c6ddfd42fac65ac927190dceab4ea2fe7e4cb588f328f6f48db215ba90ef39a5b9053c03aaaee877eb4aa051201363fe8abd754cbdd267c4ca8883edfff36dcfe4a3305d70917a856b201486efc81dc6b30d1f82c45ecd33643c59273ec6c17e765fbe9b3ec061385da7725bd2db]\n[sha = SHA-256]\n\n# tcId = 756\n# em represents a small integer\nct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nlabel = fd31f4b26df9dd1b439b0df1fa23cdc1793f7e08a5a3f12f9550fca3d8c8aee000000000\nmsg = 566445d5b6b1a0e3056b5048caaf55059e741b990c3a180b690a5a578d679c2328d0637856b9207410815a597d37929221ac19f3786dcd11e9aad68b98521bb907fbdbb8b0c0db468c12f4b3ce7153cdd32e657a0d37e36fd2d80dead942a348e4c9b24458e0307cfefc3cdc3337582c0d11f8a6f0e3542acc5eae7941b4761bb2473adff50b449ea9f7f9acda80ff51d454afdec018ed50e2b8398a20d60f1e7f83d078579d1f04ef21f9c1be0a64b374d5de3daa8595f4e131daefe77b1fe4e7daeb0d345cc4d49f8e6b7675ee1aed95e49b06bf3c96c0cd036ab68934bce373d0ce0a45367135b782168fd64a12ee499d96d570289b8fc412d1c399b385e0fc8dfdf9529893e4eb3b350c9ddc\nresult = valid\nflags = Constructed\n\n# tcId = 757\n# em represents a small integer\nct = 83c7361a9af02607755a9fda9f26fc2d5c1471d557481f7ac846998f9428d698a83a0565c33443e67c9f7b79451c07e19ea2d3a7e2719e5a1f8978f53de23a187e125f029ea565677c1b754e1ce30740fec7646077b3bf976646103a37068e17da104e3965958404be7d13b69e710056063a897406167ae132aba375f9d13cce79962ea66490e81cef72b09b36ae2ac609e75b7e2adbea444facb6d450212750d90bf3faf1562175a490c98a6737ba21b540145600884e8eb687d7db9a663f56d2212c9c3084c61f167e5604f66c606f50379d277bbeb8f106c01d55fade1841e0f2e7779333ca4e70a3773f258881911d62b4beb49016c9978c2a2e572978192b7ba6c0a987c2241ef71cdb04ce0f8a80a7a68af987472e256d9811198b54de836e61a25e4e9f5eb2765364cb43568df6b7b70a29b743b83a28de505082cc2d510218a330d7e63cdd427e200aada877\nlabel = 030b72ac6ef0692e1d921f09bec31705a380186515c39b5c5d936d17fe8b7f8000000000\nmsg = 6da4fef0fc1cb59eaed8ae4804bb9ed66d58672ae3a1c6dffcf178df1f87750b5ca731880d675c444c49d0ec8673ff4917e3fb301f05f16457e5f22177412ba62307386440f1736ed69a87d8513fd424fdb3de086e8bc9c731ea635ef7cd827e5dde2c3d03e53086e0c1f3e6897fa4e69dbcffa5ab3ce7a29dc08edc386d53a34067d1b5d0b3d9ff3d645acab3889a68d98b0c7a52a21c6d0775d57da7e592a6f8a6bcd39b1254b496ed34599ed3f98323a90577b002def086befcb15c06e50d5da0fa0d9f0376ce9e33e56bb90ae1a99ffea971c0842bbf6cda6975acc0a43337140167f2ebc6778cf639e70f7db98fac76899dac78fabade3328b4db1721eee3a66811064f06439c55e12235bd\nresult = valid\nflags = Constructed\n\n# tcId = 758\n# em represents a small integer\nct = 2021b0961b5166d95d3dc85236ffe569b4b4f3c2d679d6469fb105627d2101e2a527b56051d6ed10660f877bf03b67a602c2e889fd16f270dca242500234675260e780a5853836a5360ab077c43a44a6c745512f0584f77fecad7a2b556a25543a2c248b1e256a371fdaaf36c26da7703fa74ae13bbeea765ea37ffb84f782e29c898a8970a173eea01eb013c9d5ea077563dc9550bed14b85e330a07bfe93cd216f80eef15d3936a62ff2362af741d5bf048b0070710e93394488340b4eb3438d30137ab6fc7f83a352aa287a994b311cdfdb39d8e5490f1be38c9d4972e1d2ac24debd71c99cc5e5b83a90bedfae33bff47735c8f9fb1d9560bd0ca385fded0391d0834b0b85d4ee5422c03b90b66679ede6351c21afb0658f4e2f6caf3608d7a2d76f48feb6f98f135baf2726e9f0a01250d783f30ffdb9c15e13ac7f3518cf5c3f02f0858a475b1003e507cc3506\nlabel = 6b7779aa939ebe421b73de478aba21787a2f2ff6998e40dce75d8142caaf2cce00000000\nmsg = 6e94f24b3234914cd0ae7a0b1af7e52c211a4d0648fd78ae0a39bd13305d25ab43b4da9c03c0c6d74abeedc6da6cc40836e5126255d04d025e119e12d9187bd0f1e3a27f27deee3895597d6ce1f9621e7efcd324ace0bf20598cadb48e236baeff0a57d8f4c57e2a426679adb1edab49101b227514d30101b46dc6bc81aa07b506ad6c38e1d7bb2246932a27a48aa8fe38e10d719f994e0060e983c5497210c99f711c400d89a8e56041044e0e838d55a85bf196139632aa5b5ed4c9f252434bf090974294888b1e9909adcafae9dca6455d949f4a60215d7219928c1067ae3971779c311cd57f0d39d9b947d0e5dd405bc6902c271ba42b07d4dc65e0336f72f5155b925162d40527948738e47a\nresult = valid\nflags = Constructed\n\n# tcId = 759\n# em represents a small integer\nct = bf432cd4f03d57a67ab6442a8e7f637d9b35df889a2b939872b055fe83406669b2cca2a32bc81dbe2afc0126b7a435d46a5fb2213e9a9269ed5d70efd3f08e1f65aac1b0bb583d5a128871c334fbcc954285a814b23d79bba859b6414a6897e8caa20269d38de040cbb651bed56bb80fe4aa061fabc40894ed204c4192ef13835bf2cbffc6914615a2611786a8a2d1f16d57864dbc9cab00fc4b980108c5b16de32479404812eacad066a1ef78b04c0d4ec3973f3f0c2800b194da98e66365cb32f2b737dcdfc9e9d8ec33ef2fa810172b48fc58aad1952833b50e6c8122ab7c9c8820fd418958f37aefd25c577540abf66d771c16a98584f04593fdfe038c72e83f34f1741394214ad89ae53c2d287286988f6c809f933ffa5179f9619e44d23362756d5bb93a57ea9345a53642a8f841f8d387fee7fe8dff90148b3784fe4d43124d2f01ec0ac0706a24173e7234bb\nlabel = 9fe2a7058ef3f222c8d04a2b58a8204f5ea3ca96e4f4b240f0c734a14a76637d00000000\nmsg = 59024c2047e31ca3dd167345b6864ea868f520599fdf17b572138e9484b1640818f68b1bec4fa9b91f099c4500f46f0b94aeafc4612cae36ceec0b14a77b9b38933cdebafccf411ba020112b770397b8694b17ebb5fea940d2c066903ef434187d6e26bbc5d45afdedd374501b5fd84c65c4142df3158cdc26da25cb20d54cf8898bf185995d37516cefbacff43f63ce3da2dffd8d307f622fe26d13489e1c15f25847402d397cccc53b17f5419d9f4988b42de234fd94a7c47f71089989a1f0f41654ef007a9f5009805da4021d3c58c71820fe04a48f66e8d7323ef3c20847745ce2e9bf7972b6f92f2585ad44c1ee834c9f6baca8735570118aa6d5c3e0dc1a4d9e5d5c966b9585cc061728dc\nresult = valid\nflags = Constructed\n\n# tcId = 760\n# em represents a small integer\nct = 9737947aa7ec32fc56d15bc766a94ee85d3d38aeedb4e2d937cdf28f9dba9fa3c8c7bd283c70ab950229a05ff70dd79447eec95ed7cff64d004f030479dd232cc54c6fab7b44b628463f26e585fdf9c002b8f011412753d16f25059209395c838d604bedbd6c76d49ac48506667852f9e92403b01522285fe947ce98e237000af62ec889c92d411def1a30d757afe65963ae8b76647a4003d4e631a5c7244392ffd61a507b45942c460c1acbdd30a2d308e8733be418a7598daa17604cabd911237a317efc632c8750898823ea81bb7dca2a6b74e960252604fe9d08a8fd5e8a0ab4888d24dba338b90f3004f28f408455f2d985f0a17f0e02fbc29a2cffb91f0e2f5b285fdef7daa2643589d47a5d236b33ab329834b7f2864dcdce17349a4dc8c05b2d2cd17755cf2a77246d30b7991b1de3cf145ab4c1b45031d2b334fa96ad6652d5dadb87ef9dffe68ad1dfc23f\nlabel = f9979c77b2b68a1f56978911c5666a3fb70fcb5673f6dd20ca5c948bc8967f8d00000000\nmsg = f78ae85f856824d2b137936cac4b1de1e8264dcced0a981f131b6462f8beb28b05677eaefe2ce6ba308793fe1fa14a4f7b6a347e35f45e3f45e761a6ad4b72074ab2c19d7d2d8cff1db93e8471136bcf4a866aa69072615c09f597926ebe32ab238be95e86877b57bc6302ba564f028f9b91e40f832f173", + "ea397a17ca9bb2696b50f7518ed67fb9bb468f81b663af10c8a838c68236e4d98da21024c6090eef52c412a49ef3623cc3a82bfc29e2a9f87a113a3484902fff49a634bae817432514a9b6ce21cb259757ef403668c80224eb8c7adccc78125b2f053e4a4cf2196319c58bb43d966376862f4d52d7765ee1cf0c741b7ffa506301e60ec42b6ba13300e8e9d4e998a58aa8a71d66ee3e2\nresult = valid\nflags = Constructed\n\n# tcId = 761\n# em has a large hamming weight\nct = 19fa72e2d7acf62e29f2690b551f8369c5dcd3f1b50924a2417091a1c9728cb97d31c5c9d273220012f7cb66ab06738a29da8acffd429956804407f10aa553299ae007e6c68badfe555549243edffe12772df9ed5dac565fb195bbff17a8df27479c8d4e4d1df190e177adbf36ec55135d574dcc41d87ced757ec28e7020cb0985834ad911667fb308a013307548f385dfc947830da22c31f299debe7eb87627c528d4006e652ee96aa13c41648fd2a8ea6eb8605f3088ba9c83ac7159705b804900af1dc4f06da64b89d5f5a785c4a9805a8121149d6c66ce0cddb2499d05e873cc04f90bd2f1e7222f499b07a824c75413fb9340e5698990f4bb3f8e5d4d8dfc2c25e1826f1bd0761bbfa29d3497ed2a87a7cc6d0095f86ea64cf60876bdaf04dd3909191c2786e00106b7ff8c707ab90c17916300c571d98f52a4ebcaf3e867ff9b4bcd8f5792b5ee4ad466af408e\nlabel = bb45e376fd8021457ce35b5a9d9a4e99a8c9afdcce71e4eb3bbcb68bb268f7e800000000\nmsg = dcd300d68ec1de1964d67f63b77f329f19375c1eb5850d7dd1e4a612591e1458f05d26fdc2106abe7d33fbc65b62a5f0db89a50a46a989a59606952aa0d5777a9a735424f06fef558c4e30746f0f6dde87f2dad17adb4ca9c6d44609a324288c5a15e2c63774bcec78ba9f40b200c488637d9577f67d52fbb3bc9aef7f4ba5f052fcc9daefa322a088841ae9309799dbf7eb92fbb6d0751279323a5adbcf4e96d071c0c4f8ac7fbfe1453fcb482a6a1c72c56ba6da3e63a458fe69469ae0ce6eb80b76be848d20307c95ab6ad30b58e8418397d8f5d6e50902cbdbcce4e563d29f64f5abb37a1d23b7d737dd29149e774aab060f6371feef8342bef8f2b27bb860f47f9db37e944636abbf72e318\nresult = valid\nflags = Constructed\n\n# tcId = 762\n# em has a large hamming weight\nct = 1e0827b996a9ea6e80de6c61c14f42845a32ec21dd74e2659bbe055570acdd585283d39e3c2a26dfeab2f8cbfdc0ba9d392c4c9b929119826c7edc9ebd6288b721668ed61f491ade80617b59a32f15c56721f6f97ffa0c7f4535030e6676a4f6ef2145f7627d8ea34a35b550d4339f832fa3366ddef82b9435b9ea586b4745b034207a55a69aeb5e6329315190200d10e2db2d09336c3918dafe3d91b2291af8a179ea196bed9b3c2c76df28c03869403c2ebc6106a3b88673772e644f5b16c7708a3f856ccd4f605ea8c1e742146c472ac789c7af478e48c377ac9a94b2a5dfd81f1783be3e7d1502fa6e584d292f1fdf8991b149ddd73bf678129b77605d392c28387af8c7b77396ecf69300b7bdc1ae368614ce35050d4e22dee725a956c9b6def5a03fb1c08b6112aacff0771c19ffaaaa94f80c16d3c3f519d6c2672bc61f63a147e733148bbcf0bf24d456c630\nlabel = b445e376fd8021457ce35b5a9d9a4e99a8c9afdcce71e4eb3bbcb68bb268f7e800000000\nmsg = f4128bc55ad62be17a509230a6789d08945ba366b5da4cad1886d056c37ff8da0452d7a9255837772c42b9a6f981b00b6d5e4ba057217cdd73bc5e21abce4c2f0d788ece62e890bc78a58f0a970a755c2ef09e45fddcfa558450534a6269c2901d4ee436c85792ace8056d83e105915d3f85009e703877dd0bddeac06924d811de7ccd2da5f1a605d48e4734db7ed0b4cc8500cd7fc0baaddf6a458fe2dc7db37dcd053cf9fdc3995010875929258a66e9bd47ae9a9b0dfabeea5ba26952cf1c8bc8d262d8be6012799764474779ef96b91d9c8e21ec5dcb54255902b795aac626425ff4c9eee9e94f1998111394d9eee23108e2e90e5eb89da5d29bd7a8f34b54f81bda01b04cf2ab76d0e4995e\nresult = valid\nflags = Constructed\n\n# tcId = 763\n# em has a large hamming weight\nct = 6753ecb802eee506f36fbcd25308e601fb35fa8f80be898d22947a25f10df696b23502542fd9b356cdb293e0961a6a1c8915bd1c67bf72a07cab3c34907b8b5dfaec4dff55f23123ba390a3c130a5a8b9c5a60ce030929dd2defdee820a1a5c0e0a6149ccfe2894eef1b4cde08bd77e0a5e2efb54e16c1ffcdf8365b88d64de0ab3a6bd48a92e91cb7001525d713ef6059a973a97b967d802923fa38e760dd044672302283e905c15957140e20fd34f1e41390ee8e117aa0600752de7a5b43dce182cfb5d07df358531a69aea7ac2c27953d3580a9fa54a11e26dc00241ed44955ec092b2decd135f6413085531de2062d873105de345c560016b49c67b08f689dcfd2701d5825c9644a2387b4651d8aa62189409d09c6c44b7f6f60913fec90df2e8a56746d73e64050837f024756a9a8237f1f0b0df59956535d37fa57c6ebfbaf9ca518304c4405cd1aff04f024c5\nlabel = 9345e376fd8021457ce35b5a9d9a4e99a8c9afdcce71e4eb3bbcb68bb268f7e800000000\nmsg = 27a89a06aa5d2a3aed79cfff401e6eb2885f364672bf531920263e6ddbe12863051acdad2ae76f7e7c9c4429a133faf51a3bdb9d2d547ba617cd6a8e44567ea1b510a066a2f2817196fffdb24ac0bcaea730d05b49a6e64fb45d5cb83b33f668e884868a7bdb2f3ccb4b2b0eb61d88637ea5e49d27b56331a3a3d0c17fd296c136971473271f212db0cc90caaa9dbc2d7b82407a3769c5ce066e812a6c4eb433f7ebccfea751df37f8369c6485a2812ceef1396988a11716a94a566972b4b48efb523904e6af4dc1f9f0a19847bdd3fda8431c2ecae92fb30c681e02afec8577af35c5600af9b584bc572031171668bb534531d944a736095492093503c5479758588609d0a55044fa7c0d51643e\nresult = valid\nflags = Constructed\n\n# tcId = 764\n# em has a large hamming weight\nct = 0b0e0e837c1cf9a29dbb2999f3d21499d1bc7c2c36376987587b2d748af3bc43190e244bd13d863d1b1a16c17fbf84d80fa9205b8ff1aff18a0f09cb3450f51865f23c2e8c1ba82a98ea0cf3fc83015b18bb5a3939c2d60c78c8de9912dfead4f982eb7a9742add0009eff08915073a979aec74716fdeb86561ae2125779dfe4e82ee5127d87aa17f5ed7bb8baeaa6d55ec3a586ab4c3cb5da7076489e6466f54f89be51be5344c2c12e3a3273147d2e80525e9e627b6e1e152a777dfa0d52676ff3e8ddab90eeafe1c0fd89cff940bfecf8e552f3c905df2ae124e5431c359c4308df6786e07d5aee81041e253b62e96ee4c9b6a970f4f5f3e13200a400e72796cb945b069253ba4572ee20b81764a310004eda405f1b5641654047f905f2c4a498d412a1ccb62ac951aba434cc29d9a0393457a4e71f3f5eb473fe9e2ff91fb7d09a6a767c62ac5fe176aa26a4f501\nlabel = ea45e376fd8021457ce35b5a9d9a4e99a8c9afdcce71e4eb3bbcb68bb268f7e800000000\nmsg = 6bb6986d4046f157317f495de89ca36b1f00b1da785e8c8fb7596cfa735945a9b9ebfa8ff326eb86b95f366ad0f13edaede4f8b435adcaae62d29136d2fa4608be429cb60e41ccbabcc10e93be620ec9171be27a8a65dbf73f7861513b22d75e91857f5001e34530f849c41c34c7413aaa0d3edbf0e1d44d9396c8d878345ed912cec93045b98121cd6c22325930ecf549a555bf5b32ba6fc27dd750b383553b16b2192745a2c00734dd6903f1efb92ae17e9bbe8913f9ede63d2a0429075cb7783dea7946303157eeb18c1108b90bc860071e7389a27418578baabec382842a3aa3bf3525e7a657a3e562d2bb28e50ca682c0724f814c91f2985af4928fe259db2a04eb4ba9759a3e42f0eaa0c2\nresult = valid\nflags = Constructed\n\n[d = 645ad7bfec75ae9d5e7a86509e90ee6f8fb8c5a35fef3528a9b661afb714565df001981c1a9f8b7020103c36b548d34bf05386109c7e8b21ce7fb658904cabb354b2f565da32538b8e12307c4f77b73407841dde34c262686d67c2c544add7df4649faaa3bba4d482d5e53eb9045e7ae7f59007e37e9912297a29dd02411f030db41fb1c947de1a8c5de0c62937e6704aca0b11aa8a0e189112ff476ac3c697a4fc83dec0ec8e0700ed4f4706a4032007797e2a852c65505d677727ec16bfe601e6f04e215ea7c74a7940272f82b878b2eb7024717948ca2761ad2d7760f6a835727ea2f3b030764d87f485f5ede973c3fa1f43b88a72a285dcba96a990f9dc55cef988be930ba7fad5bb573eec0fa83d726ecbae2e3ce303fa901cd3dc1da9a5efcb4f2daf6df4131c70eb5d74b3f5cfee42eb45c04b5af07534008fe2ca4c1cb278405a3781ae235122eaec72058af5dd620156411e7617f030930b9125a992677cac4bba2c70ee1ea893908d641f2d37ed6403f7c540750195c382643df42548624362251bf959f151c5d4cfd5892c606f0ad55a5c2fda969b6d310d1c5d554c2ec1faf674e2860613828c93a4f36711bf0c4ceba4e2ec449e9c1787c5d47458e33c34577631f6bfeeffb581a8898a4a1503e271e6a42079bf2f9a1c82523336019960f032c979b1f196815c472abf330c6d5467085c5]\n[e = 010001]\n[keysize = 4032]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00995756e3c6914e73aa99b257d9f40e8ae0f58e9bebefde0cbaf48df85a5143f1427e5b38f98ec9a1404d54c108b7a55a6a95998b23468459a88b80eaf6e7bcd136e217825ebf358825d9f8a64f2e0a3a8b6458c159e59a0f93b4de3acfbd090fa1fd6435598ff3812bb61185f162ba0535f593ed73b34c2dad2cbb4391ed5e168bd05c567eae42bba9975c14e3b259f10a602a2eac4991f655cc8c65c7f2ffa6f4ab3ce64c211bf7f32f79db861fdcab73bd5500160d4f0e2c23beee6c0338cac54e30d781f856a8c1c4e92d066536d066dd4339a35a5c3591194b706682a1f1ef9b111542ea6d05a3c3018392db8cded04e54d2ac73115f31764c9eec0c453e52ad7c9b1b28b47743138c8c624731b41c51d05446fb16d32dd756a74167aa40ccbf95f76f0b94986c4daae1be280bb03ad0c87448d1c533e12af7c7331bdba5c0dca490da65a8fc5f3ead0fb49c7a8be3e4470179da12db7ccf2dc16faa1c82c09dd26571478a162c8850de1e9359c4522dcf83931a662069992550e37b890a17c3dc5364f144611f452a6289e11814e21be16d1c6ae646ff6cd5c22bcbe94b4fceb72949fa900f68afd5fb7811d11ab4169bc1ed34f50dc79b4dde4dca668e7921fbde84719096a183de404cdbb50d8e1870f3d1a36ed7b8c6056beecf63da2ee3ab2ef9e80bb5b564bd78647354907bb44a815c583765]\n[privateKeyPkcs8 = 30820919020100300d06092a864886f70d010101050004820903308208ff020100028201f900995756e3c6914e73aa99b257d9f40e8ae0f58e9bebefde0cbaf48df85a5143f1427e5b38f98ec9a1404d54c108b7a55a6a95998b23468459a88b8", + "0eaf6e7bcd136e217825ebf358825d9f8a64f2e0a3a8b6458c159e59a0f93b4de3acfbd090fa1fd6435598ff3812bb61185f162ba0535f593ed73b34c2dad2cbb4391ed5e168bd05c567eae42bba9975c14e3b259f10a602a2eac4991f655cc8c65c7f2ffa6f4ab3ce64c211bf7f32f79db861fdcab73bd5500160d4f0e2c23beee6c0338cac54e30d781f856a8c1c4e92d066536d066dd4339a35a5c3591194b706682a1f1ef9b111542ea6d05a3c3018392db8cded04e54d2ac73115f31764c9eec0c453e52ad7c9b1b28b47743138c8c624731b41c51d05446fb16d32dd756a74167aa40ccbf95f76f0b94986c4daae1be280bb03ad0c87448d1c533e12af7c7331bdba5c0dca490da65a8fc5f3ead0fb49c7a8be3e4470179da12db7ccf2dc16faa1c82c09dd26571478a162c8850de1e9359c4522dcf83931a662069992550e37b890a17c3dc5364f144611f452a6289e11814e21be16d1c6ae646ff6cd5c22bcbe94b4fceb72949fa900f68afd5fb7811d11ab4169bc1ed34f50dc79b4dde4dca668e7921fbde84719096a183de404cdbb50d8e1870f3d1a36ed7b8c6056beecf63da2ee3ab2ef9e80bb5b564bd78647354907bb44a815c5837650203010001028201f8645ad7bfec75ae9d5e7a86509e90ee6f8fb8c5a35fef3528a9b661afb714565df001981c1a9f8b7020103c36b548d34bf05386109c7e8b21ce7fb658904cabb354b2f565da32538b8e12307c4f77b73407841dde34c262686d67c2c544add7df4649faaa3bba4d482d5e53eb9045e7ae7f59007e37e9912297a29dd02411f030db41fb1c947de1a8c5de0c62937e6704aca0b11aa8a0e189112ff476ac3c697a4fc83dec0ec8e0700ed4f4706a4032007797e2a852c65505d677727ec16bfe601e6f04e215ea7c74a7940272f82b878b2eb7024717948ca2761ad2d7760f6a835727ea2f3b030764d87f485f5ede973c3fa1f43b88a72a285dcba96a990f9dc55cef988be930ba7fad5bb573eec0fa83d726ecbae2e3ce303fa901cd3dc1da9a5efcb4f2daf6df4131c70eb5d74b3f5cfee42eb45c04b5af07534008fe2ca4c1cb278405a3781ae235122eaec72058af5dd620156411e7617f030930b9125a992677cac4bba2c70ee1ea893908d641f2d37ed6403f7c540750195c382643df42548624362251bf959f151c5d4cfd5892c606f0ad55a5c2fda969b6d310d1c5d554c2ec1faf674e2860613828c93a4f36711bf0c4ceba4e2ec449e9c1787c5d47458e33c34577631f6bfeeffb581a8898a4a1503e271e6a42079bf2f9a1c82523336019960f032c979b1f196815c472abf330c6d5467085c50281fd00d2462005443fa04e3d3efd7f325e4f88e36c3b8bfd1877a8459782addee1d676ab3adfdb0b15377a4399edd4163c1b18728247f73379d61ba20d37cda15ed38dff0124dc34f38aa72deb4e2b2499273ba56fe5c20464ab2540ffbb36ffa06c5c1789ec07184b6d1d08757fab0af074aa60ab2d87d9c80a4fc067fd29d688aacf18733d8aa9bc73b04570a666354e95907d21a20da821fa8951df6457a7dd71d9ca50ef676b728632d4b250e6dafa3295d0202789c91b2e11dfbb63a9cf6d787b7629a47e0c81e7f1a7289a54942533e972b8a9491c9c13fa4add45674520121d9a17d144d802fa61b51b952efc7bfae69fe5b1c073806a242a79a8bf0281fd00baafc9b7d6686ea44bf6e83fdcd5180ee05f027897c60a1281bbe865ff49d110265a329d3b35c12ec2af34591f296a526814dc483cf8faa9cef2b7253eb419065e188312943dab659d79707fda6c95681cab1f7d30eb5f69b81d302cf70f035ccbad7f968d3c92ad518722e8e568bcb243a4ddb04e7ce7fcae3820bbace604119486dfce069eac4a330ce2dc9b75a689f3e713ced4d56c6981139fc1f13b5cd613c084c16555a060135df9a03baad4f459f82a60565f8a73b4fa3d6c6e1d685ae5892be6e0b4c4e5de289115c9ca7b8e38f2f9fc5ca7d3d1ad84d9db65f34cdb0c6ba88107f3ef06131117afacb91a7ae6a617bf56b10cd5fdf624db0281fc5d6054b1e207db39434b68a90686090dc1e87b5d040ccc7e46412cffe73d24ced7e5322984776c8677e4b04f817c399016b1b2219d935a38353367778254a8dfa2c1304c359b7d1416792ae24fc34f3fd68ca55c0e3562270e014272fefb8f8329d4cea2abf03ac92ccb78e14cdf50ffa423fff9170615462b2c42a944a2b62f772d1dc428f20df1d6345b4082259e976669fc1bd2711c5fc4a2ce5d7aa704faf13415cc3853c832646fb72b7d4ca4101137663772be062c5bcd4c49c95a54a986e4a12e74816fadc94c67946da143b74481aa7354281f5b03c9d51b320036eb3c559d51d41726772344d76fe121715ededcd29da2ed00b584c337e30281fc135609caa4c6844f381f06c736944bbd9eb7b885cd12921080a779d6b6ae6a9d059bea0a270bd64a8597a810630de3194df67b2a70464990350326bd10d58e91fe4503ae74f43e40742313e7ea33bcf5dfa249cca9b8775577e06e10fa35efdf38a96bc1a83751e9e9bbd97dcde51f4647835802dede4918fee2896166f31c10c6158230d0b6b699a8d7f8d768b2b2e12f060c232c203eee5e942dc3e4bc854d1716a5a972598016f36a94646849b56ce9b4ae8ef3e3496fda9ae0a9ce6df55514d93456e18757ad8769243de17cbb776ba69f05e882e9899a335c6d410e0633da017c9e80b85f557dbc137bfaa3e17e414d8ac022b68be1ce4024690281fd009ca755f4180ef8534f2d2ba24c3d125bd4fdc1f2793dbef9eda5c6397f471c207690b30a6192219d0af289b1691be0c8e6cfc89b40a992e1d2fd11c5302687f7b736bb5629f8b4dc08c4b15966d129980d5355d0963cd4d0b2ddbc683e56793c79292056578f4a5d13ffda5f6565abce5bd049bf571d961ea55cab815a075ea063eefc331df814a070cab6228760fea1bb579bfdf9bfc179f5136ef6a534ce9f06f4d11ec339721ea3f05f9fa0fcf4a767d01463826ca65d03fd64f8d3aae895ff040266b5fae4a5de892d560584aa6695091438bc07b830ab8824b1e24f75b8fdf587c508e64b7096ba8d7b02e3a3b82ac5a4b9095c95991e48e215]\n[sha = SHA-256]\n\n# tcId = 765\n# em represents a small integer\nct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nlabel = 36ba1262901a8648cf7e3bee50002d6fcc3057d112d8836702e8c199b4c4edd500000000\nmsg = 1d18a7fb7eea96f8cc8830623c1e90fd599db85e504a07a4013baab15bde6952e2765bafbd1ed49befc869662bfd882b638f71138263bf5f01d1de5dd8cc7014ec829b0cec567ecf663642b7b9942aa8ca4af1542045cce7b9bbfd61f09db44917c5aa35ac9b5fcdc25d03407878636ea71dfa1b3c35f2489880a8677fc24dbd302a9c772bf34eca34af4960e92e578e0ace96321ba8ff4edaf868ebf76670e60db7f4b5d4802e6d0260010647734697fb3141792fe78f0aa69ebe5f95c377cfec8c0f6b303d5196cbbc2483276fe92dcfc5ab7a2a79ea95337d43b3cebb6e2f3f8ee0037807a567321b7021f387de6e57bb222c6fc6a095834febfef32a29125253daa6538fc5f38dd3694061426a653d47eb52b18c3ac8a17a0855b214c06c072842ef0627aff47719085508b5a8db53d0178f9010108ea6bdbd58ab5bf799de75811a524129769d1066747d9833607448dfef5d916424913ae1cbf025a52d69f24a0f62f82a8a931e2bd791699ca031553a67bf91fc6741ada83882732ab38331f811e6d366a14ec867cb2babc0bc2d666300684a5b43711bf5d688ceef558f7bb1fa23eaf77f490bb7ebc9e1ee62733980161355\nresult = valid\nflags = Constructed\n\n# tcId = 766\n# em represents a small integer\nct = 26dffeb2ee0b341601118e4562422f5066df1f3cc1e30e69b05d29ca30a35c78f477d299cb4e05e69d8a43cda2f5895d8bf366dfe735cfdb1f6b5f5a73a4b67236489ed27531a8bc1aa83cd4b1c1bc1622227d2baeccaad52c6aa0d06fce807e1b41f88888b6b75fdd067b1999d977fa1a873b4e433bc5d612cd2245624d5372fab283686a8e530d9372d3156b71dca418a877a551132f9147b022e6d9f5b7ef0aa735b279981a6d04840a169956134b2567694a17ab9eb2a71de125b0686ee3f980188d7b42608c781c74056d767c2ff7678150b0ccecdfdde81cff413b8ee3f4240cfa514a81367eb252b4224399fa25240508f6157c5eb439da49e814d6d52d6a4aeb7ef99f4446d77c12aafc68c25164e658b3716504bfa8842e41ff18d3410c0f3e41f6ed70596c15994e3db78ec90d9994382562753c1b2cb9af81c56c93a54c881a93ebe4377bd7f23f689c67b8a4da47547150232c60a7527e83b74c1f1323b4a1b4f43e74eea606cdc3afe734d4eaed1147b944cdbeeae780173a1d45c4c968eb419d760567a564e2baf3088033528910d8c3d14f61cce10316b96fe164c3561134e90fdb3e5a326df9a5491727763bca940f4ae77f5d204e2bbcd19d2eef898baea8267f97a017a40277a76745965ada6c3e5b1ba9139c5f9750fa3b7163bb2b5f17f0644f9c55819032bc8cc37c3663a6420e\nlabel = 36f0a4f561e1132674a1ec798588717c3587d4ba26fb61b68188846604f7f14200000000\nmsg = cd3ae9483de40d96edfc743f505f66b1a3e7153b39f869b220c16f434ad0917cb5190d26e58b4c73abd91c8563b01b4585896715d05d819759acd7152c7db0479d985d0450664f83068b6a746820ec792d3d741079f109bc7f9cd2459a9192b717bbfad44ba879d5ab31f41415036595aea1e70451de7f2e17bd37b9b9257f852c0116b1a1940c45d5597200c0472843bfcb41a4c7f917eecc8b09f5dc01b6ce9519c7605b507be650e534ea95816498c4dbf4c1563ff9f86f71b9464548463564d63f3ec0c62ae240a5c8a4954a475dc2a674e1f1f573d4aaeba08902f5523910f7a038ef3b432b80a555d6fb55ce7a46ef4a5ef44b1c2", + "f3a3aa9fc5c35cdefeea9d3cb04bec1ada6699a080831e7b6ad59a9c3555619ad44c4adb6ec700514ffff89c5a76153c93d6f8fe592aed49d97ce3b34af11581a33edb844daf0eb348d369b7fee4cb35620ff8da4fcfdbbf5b54a80331b451406daea34901ab2d6276a64e4220c53715644e767eb1c061988b44517d8901428fa0ac1ea841f9c4008fd27e952c72fa1718f1419fc6d16a079345b09dbbb0622f0a4ed188065c508e4c5700b217c1e1ea20974abbfcfd2df5def77261e434e\nresult = valid\nflags = Constructed\n\n# tcId = 767\n# em has low hamming weight\nct = 901dd7128483e779eeaf0ee769ec0a88b4c92b61e067b8ecc0168f37713d659f88d507463772b7be73644699171441ef166a267872dbc94354129a16835245b71d7b377403a67d2f803cd5a37909b91ed7c668e22c6d8ed8a1652599af408dc59b6318ea7404067a1521a0cf1daee18f01d0c1a9682b3e5b9c60f23826382daf036f1936a7627d0c9313b994ef394235fb763d46c945444beea3139b4660fbec15cfb358a8e2cf16326574b77e946821e4802bf62690bd93e88ff4d0cd072cb56035485ebf0eda199f9fe1335fc1b8efc251262213159a6c7384b137564632c496473916d2db6f98cc5a91a8037b9b1b6b73f349f73adc94cd77ae4ac61e25d734a64751f32af9ee9aa68cc5e27be692bea22c1a351ba88d0cb2a5ba67296ea653bf7149c76c654faf30cd6ca8356a5b3a9f0efb2d0047dcc9bf5e92ecd86086f8183619598ea4f4677adef3da7569a8621e665af6ce4441f516d24c172589eaafecb27b161d12ddbd167295e407435913b833426b4df607fa5aec4f4c8ad5e1104fe931f635f7658e817dfd5e3a356bf6a2a82d550024559ad7076fabc7bdf1ed5df23dedbc672602296a9f4eeabf0dbeb83db5043a1cee304a28457b9f511bc622c079394bde919a23ff64b3d495a2cf432819515309b058803ad1f2db4c802e9f59907e89d78b2aa789f97f59bad18002e35c8a5f72b5\nlabel = 30e96d0ca07a37537f94e9fda65a3d4a913fd53d52b2ba77c78a9c660aa0bd2e00000000\nmsg = 25392a76b54b7238c753d39c4b4b89e4c7051d27b52044ec902dd26cca83a611ede388b8714db9ae8c891083fe4b06bdaa99f5a620c2a727e6b733b187e571644f3a8437521add26e466a406d4170469612aa43945d096a8c6e76646347e4709c118db51e2bc353fa90be633441ba37f4652b1c2999633cdd2c80da89e58649df7c18ab7a3f71bbf0928f305faa0a3a5b07e9958f9a61f74e7144d3d7ca8509f773bed3504f5190d8ca447fbbd37cf5ec2c4fab224f5a106f6a10f6712e981a9da36ea7b2dfb7e9f26ececadd53480a1b2b75ccbee2ea3f8d62002796280cfad295ae004e1eb31f69754e13c7dfabe5b365c0903863686d55ffe3f55a4ed9ba80358c2b0c277047916d21833040aa484c8a20e95ce453cbf5a60d9c9d89c980697afa596e1b4c6a7dadc950442e195f7f1bcf89c73f376334c258ca1d5928c4b8eeb5bc71139f0a9e17fe668ed4e032e9a49ca74b6aded43aabcf508a64d39898888d63b4e3ad6892007fede0a4c4ec46961f945345a15704f4a5470d7b2c9ef0089a25a95699cdd9547d22b474aa8dee6ea9cac14f57a46477e9460c91497af98f67d125738a4c9cc7c11dc2a5e44ec5b6de78a8119\nresult = valid\nflags = Constructed\n\n# tcId = 768\n# em has low hamming weight\nct = 3d293555e0bc2eb79233374c321a0cfcac049514733035b1862467c7cbf12430622d5f20e03088861c7789d75f992055fcf4c35e6f9e5fa2fda30e46aeaf5addb6c4ee78017bf88faf710655fc54baa50eca574a11a3ec44c3ece5a5253d56a3e0a669a544a87ad4e034d69becde0d3ac46d8f25d361b3db5e0ca2b5ac789a4a3c6018c80ab367620eb2caeb9a3a79cb6a33ea7209563c8bc54ddfea45c7945f56fe7ff955837baf950e661fd333bb08b0460334c174ea792c5ae2b6348a2c613e73c28266e8790ceb518cccd17d4c7c1f863fdfc003151e4259f073c88200a1b13d63fd73ffde0e937f87cefb031cf8e11ec5bd3d429b9290bb11a13027887e44b6a0f62d683ff8245819d18c868e78cedad6d7a8e820e49b58a3f1b4be94f6cd4f3fb90132726c56c2a92062eaf952c3134c532aeca6db051cc5b480b79574e5943c5957575d3f9fe435c8ddaf477233dba495fc3b27a38e13fbfce3a683fd6d403070e1ea6ea4a5571c2f6e223ccc215861561b9a6292250eba560c42a79eec8bddb22a1c6219feacea375777a5c40b58ec68ca412e8903538f9df4174097cfd83ee2a5af255386590670b9c67d7378cc857b9d60241e1ddd3ae78f328944e890e6a923732c9b3c6f94f79ac5411b5055071c35ceca137d52edff378ea68596e88f6861df6f7152b5f584e3b8535bf124eca08ec43899\nlabel = a17bf82725a8a33842e6ecce6a66e70344c6e8f11a133ff1d135bbe044a6572500000000\nmsg = 58036899be9c21b0d9f8727334c95d6a9549cd51fa178d4977e4b075a8ee8c57cea61712782e50924102d8ed834b3b3e66834b9458ae848d1b914a6d8716c64643e82114357fe9e19dab9346b3b568d13e92a2e360d3915aae23c856c4f879799ea4e4bcdd7c9731b63e1f93e4728ede76a746fbab41407068e153c3e5408f90614d48741c814791c5c7b5e9d1860229ad2832433f595188c789f37de72a1910073ebc50a683d87199d8f76e13391fec6422975c87a2dbacf43f1873b9cf176389bb56528eed995e9dae3d7b5399f0218c66e809c931ee687e509bfca61919444a977bebad37b7324e84186fc25fa331e9385325620b9cd2e8ca94fc5134d9d068a22408d22e9c98629b72c8a51e1bd60e38824795d26f90f8b63203714548b9a1f9f5ca762279d6613f4fb1cb0fa223c563b0ad4affba196fa4f75cbf3811caeae2ec527d80f2805ca94d6271e575c7d2e595427a026f53b8c046b78522ae00a2451f5bcaf96c5b0f0d10e9eb37ddb36e26cfe898338a5bbfbb927a9aa2290b01ec4efe26970d5d0f26592fdcfe4dce52fd4ae817517b5451b005fac6e9b105676abdc8f6fecd639d74466f79237ce45bbe1985b542\nresult = valid\nflags = Constructed\n\n# tcId = 769\n# em has low hamming weight\nct = 867dc985d494c00c280af065fd02812c208d7613804005489c2191da42aa9da5888053526e3606f8aa0e680be42f950a9793097be3ed667ee598a238a82a2baf77782d45ffb2ae2fe22feb3830bc81cc449de2fb7a23b7642bbf1286e64891ed969bc5cae6b9ef179ae25f28834e4a4b0b5ef5a8a1bb74aa15b7bc8435a56d4b8f745ecd01c86276f750a8b0c4e0c13f94a9473fbdf853a80f2d570e8c6bf025ead71c011b127feb3c8e065c9d71ca5cc0eedb0e1a2e8270d94a9bd4f3248425a2202bd4b5d6769c56b2b4f3b921d115d6973bba6bb630665c97934c05df055065da331b39c260cb2a8556cd4a98cebe343a978f7057dd16c1681b991fafd459dd96bf9e88cbccf57a63f0e3932e0d7b546ed56ee48d1add2e5d478ae4e50ef0ef592444b4d8506446bb1d13d540702ac55c7569ef51881a7e0138afb7e606cd49a577846a7ed32df08e93795267da4efc77eca3e2ce4f0a3485feff7aa60c4b95b1f9b6906facb93c2e629577515f2761dae322d5543faa57032fa18b249e922329d742df3f4a1afdbf9820ff4be056662f523a07dc8fbcd6e12e2bf04a0bcd884af9fc672521b44f57ed79e404a1c76363cb23f44a8511d0f50d18f83d668d9b962a6c53bc2de9bfeae3d84fc0708b6b05645f5d6f04307a2d368ee79bd06613f9d44ae5165ed78f51dcd938a477a22ac6a5f1748e4bf6\nlabel = 4d3b7ded3eb659fbab4160cea00a1c79577b55ade5ab2796fa67a33dcbd0b47700000000\nmsg = 4f64ac98b6992476faa32bd8e9adcaca882be015d1334dcfa73be01f6cf2037537f7b5e7bae9ae2d0f2b3ad626c5edc7e1bbdc0dcfc734610ef80b9103e8cd9e08b58fba818ed8bc26a4d4f3f9c8e0428423e6b8f482e9a34022df4519e9b8d51795bdfae9d7290dc5b7f30a9c1edb8e6e80285406f2840787db64702983c511ae30dc0b26bd42d1e35bc059f2d5f7a75dff2dfabc84b21240c247b8391a8a074dc72b6af94b8c0363826314f4a6f357810b22aee3183486e76c49c653953841188378df9571b45dffa3433f0efef99508065edf0cbd99281a36f6eb709339c5aa664c89af8b6f2106df613f828c7b2573fde3940f9c3bda1bbd559ee226d7b248a5cca7d5200ab5d7261baeae324cb19c5fbc64aa142a50127a1e79d200040038386053ed98f48c926f16b9ed3af5410049998e1361fc5526729cce1a7a84a1bee23cd0cfddbfc4d3ff514ac7bd9378aeb3a096bf158c6ab4302019f8a85433ff4fdeb79b5b3708cf81901a8caf9b1335971f71275cc87e4670908313d48f3cf305db5c7af567c6b06b4f084d95329dbe0d0acd2b81580f81b6762f848e49d9bde6db33512ee3320a42565b7164ef0d7d0ce1d6f72b\nresult = valid\nflags = Constructed\n\n# tcId = 770\n# em has low hamming weight\nct = 739d12dc48dfc6530f6331154fe6c9c29912cfbf6a9d8135a27e817fef3c4bde55ae862de38ae889525d9f6387a55302d5e87a3a91d148dc9d73b8ec3196583da359e76649b9888a16cbe9ba97d882661d61bbd1b6aea1f9796e7ec3244c62e0f3947079491b07e6e3189523d3d575fae30a6b4e0461f8ae059d44df37c34f62dd9e4b8f06aefe6b0f3dcef84d2668b36552e47944938ecb6fe12589eb34dee8d8b3e6032fefe5c6a67470b6b6dba3d09f374edecef9541c14adf1dd29ff348041c09efca8976a83d3d2ded99b692af325ff7022a1e714e1dc6087f39b078269e24862b4ef2a3b232983ff0c95d0ce72e9e9fef9d9b0e9383fceb5294cf740c967458c04726c379ea58870ad292c60353831a574ce199951c309b2cf91d552b9431259635d83c54f9186ab3f801f125403bac8ca95fda268bb7c8d1e08177894815431a2e404eac4eb7b6838729cb1749ded53a26c28ce9dda88d6905018f214e67276949f1500af55b673de69e7a67db140dd57b02d3adb2a9a11b9f6f3127ce43978e5048d1dbadf841a3fd88b96d8a95e799c8da9672e4be6bb812a8983916ea77620eba7feb33d9731c9830aa20268b031116f5bdf4f47fd6ab2f01fe139367ef7ec584a433eb17ef0003317b6246a7029987b180e93a09deabb12b285cbd681b37d7809ef165013daf0c9abd6223207c8bd723c3c22\nlabel = c42a0af0cf6540094ce88e156c6f13a9d6ab8d36a9c7532841a8ebf6dafe277300000000\nmsg = be3cba53b429e936143e136de6fc30fa1c91f3f1c0bd82a33f56765b304a1dd44a24fee2883e73914073b2e92c9014316ca27587995aa07b6edca41ec3cdd67c414251364d7b7be4e7b83db217b47a40e9b8848dc764f989cd1e1d66ac84c68fb83bfce6281a98ff153b07c5af47755b61b3a507dd5131a19c1a859b33a794b4bd1a7e16a793f934558cd00e6effacc4fef456acc13bc815046e282c9b87e72f33b07db6320a117e74f3a7c45af5b7043b905196e9a4400c3f6bcbd47aa00f29ab094a71baf8a19a8db59778816a28a03b46b2d0cbe613644c5df6402e39c878143584eb396b2230e0b", + "e33a4e0d8d02d15628a0a3420429cbefeb8d4128cff26cd051b7b4c4bb0ab6aed614352cf66da8d7a7b00e46ac9ff86251f7b85c044082971c22e343b401ab57c978250597e27fab6ffc7f1d18cff956eaaf9c317cb82b32f342099582e6c4ec53d7d31fb4fe7b5394221b00e2fa6cb5a1218fe0db3f3fb5570d2601507a7b5bf75dc6f262222e755bf22b02391f0361a189138af6f8c68117bea1035f384452841b7d91137a970d9dfba0e194c8fda769c05ee3f82da90ed2fc9d2edc8953db5b293b3e55065f5e6ae1998f2\nresult = valid\nflags = Constructed\n\n# tcId = 771\n# em has low hamming weight\nct = 85e36c189212207dd67264ad00a49e5eead977895d106b9551af968480f5e64226cccd03ddc2714a6b85421c6b8ed498073aed03131b9f61416e50f94fc2a0b115b70218b10980cf3f84d3963332d7728b566ff6e6c58f505793d380c9b33420912c8341e55ea0b4c141f1bd28d97de1a8a651b55388ac26d0359d6aafade11be18e1a9b090cbe11032025c18cdcfc67b209f543f7d7b5d5fb92ebd1c989ca78c4b285ecdc1311bf2ffddda98449c0b13de1ecd80c120ce982a9b5b85cbf8e93eb8bb17821d69811faefb6c9f4992885e8fdb2375f68bb4bd3d183e2966e5fbe425a582c13a143622c043027e2d35f6574d58cb80b2f006fb94163bce16ec2e540024ee8da188547bcaa8d579642d20c9e06f7eb29745f99c4ff0a5ca6a815de406a64887603b4f2c65672dc279d987aba84b3c7f37a9bdb9b0742d1f62a50ec92b8fea87c5ca84aff9943fa6a34d656820e1bfcc5895389870cca6f49c2e3b16862b3fd8f12973ab778a10659ecefd945f1b13d9c8bd5be10a8817819f5dea3e91dbd19032bf339a325e18727beae8a3a1fcc07691931e274ffafd4ce98e1f4ef3778f7254ef748b87237bd54082d2340c3ef3b628fe9fac36ee4d883aa6876a0151704eea3a678fe74c23860bfe610f15207bddcd681c65efeaf7dca35005962b57d0e463b77e430ec9620c9aa16fe67d1357bf23be23d\nlabel = 798250bc59a7dd01906d16cc87b8741d16a7a2168648d6a7d51e0af8346347d700000000\nmsg = 38854b2bb70035c630eb18f92cdb1333a14781df75d9a6fa5df90a9f307ebc1cffbf3575bc023a390aa5b33488592d80753b0707bd600f089522189fe3129834480d5f9147bc33e5afb7ffc5bbfc1f6d7b87954382cb8af5b56baa01898d06130b5f25ff96ab9636b27cc4ec040c5c7c962933fefb64aa53799a81300a71bbcb5d45a29ec4f4c4f20d16aab39cbca96f786797bc871efdfa61e36ff896599417d33c0794e550da399e38e183115aa9169008be498dcbe8d13ce1ab10e0a4868e86f4c68fa377a119679740ff2fe1633fed84b8e2a59f33ef3a2f13cc2f904b0a0c2801a10c7d16b818c0a0b15dc9b66588991144e8ebd1c308bceba8cc36b7b417f0ec2d6c12aaa91970802aeeb2f83e67ea7f85ac3257087f19b0cd37dfccd7ebb0f40c86ca954588a92b44626d3281ba5af5c4d999981fd48ceb634757a338f969d5ce09f18dc24f7cba6de30e47aa5e8eadd957f3c121c73f32918d2a0e61f2469a9de31363f28ca0cc85ada3301dd9f4de8cb3551fc19c82aea08fe37c80fca221e54b58db3f4ddca8e89cdd30490d092f8c270bc54c23c7a1095a390c3ef45b50e59328e28877f81bb05c2bb97c2f33ceed6c83\nresult = valid\nflags = Constructed\n\n[d = 0082a411c8b1fcc0e52f27dda23b1004f1f68f4ca36b3d4d077bd6105d63c4f42c676d8fc08e031c9297617a2c53c602a207046f4b5de2f1f78f2054466d42fee730b0b95557d9965ee3a96d870b0cd882786d8287d650cb5f6b1bdeaf03c9c4bf1aaadffd747d725cf58ea9d184cc0cf4475064df227a57d8a9493f9b1eeb60dda43c3e89a57097f5a28e1ae2fb63c62b389d216dd055aa82655b01b2a0fca375aaf5dfcb179e9141c88aa3f5aa4323f3779101612505f06c60ef5077b2a46d5db7555ac0eec10f4c91af2cd605e34bdbac1548424c878a91dae7ea391c95a85ed55318fa5e9dcd464a11fc5425df5da1d1d33fbe659dc98138bcb73f2f85f1416dbf30dd4336733c04534da98aa1b333fa0444a4b337ca5368467dfe256d04d08aead94e39131110db422603fe85812cd15453ed02197f7c3ea38a84bf2eb21d8390acd3f2e955d7ec84286987b28ec5aef7929701dd466c7c1bab412e1550c118696bf47b3ca98435e5374852505188b8d70e46cd1b60553a5f56d2c6c47179009dcc01]\n[e = 010001]\n[keysize = 3104]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 009ce4a11414e91683314b711e299ef58d817c68ece20f52902009d096bc7903250dacac14afd27d454d4bd21c4257f85820448ec74b5d5458246716f04252114873e3b19c867b00ac4e3b1ac1797c5fc0948a4095a1e87c8f5f6daeb754f2324d6ddc935c09a3cb86dfde5efa44002d563106891ea4e67eed97b4cbbf462fba0355fbb9adea1589f40ca565c04bb0ba23bb3ac683b9db0e7b591d5de431b42f174fee1c8e06adb78609f4e2654ac433fd721d3621b8c65de636e9ba769dab70079a5aafcbc12257381f14443892fda063ec252fe3934841c766208945e310693e735ee817e8639a8a9eade2f2e0112a845c83470349c32983e8b31407aada9e451f6973d47e39428da5c820681b8faec473e971eadeff14efe56e30060fead78f9155f5b9fb0807c0b800123f03c6ac5803334f6f8887304913198d98b2a97f0876ff24c3dc11644f6a7bf0e4e3a2aaad04ceca84bbc22823fb6559e914bfa9e1617f89dda2e90780ac15f12431406551b1f46e9995bb47eef70f6dc1d0e9929a22e5be91]\n[privateKeyPkcs8 = 30820710020100300d06092a864886f70d0101010500048206fa308206f602010002820185009ce4a11414e91683314b711e299ef58d817c68ece20f52902009d096bc7903250dacac14afd27d454d4bd21c4257f85820448ec74b5d5458246716f04252114873e3b19c867b00ac4e3b1ac1797c5fc0948a4095a1e87c8f5f6daeb754f2324d6ddc935c09a3cb86dfde5efa44002d563106891ea4e67eed97b4cbbf462fba0355fbb9adea1589f40ca565c04bb0ba23bb3ac683b9db0e7b591d5de431b42f174fee1c8e06adb78609f4e2654ac433fd721d3621b8c65de636e9ba769dab70079a5aafcbc12257381f14443892fda063ec252fe3934841c766208945e310693e735ee817e8639a8a9eade2f2e0112a845c83470349c32983e8b31407aada9e451f6973d47e39428da5c820681b8faec473e971eadeff14efe56e30060fead78f9155f5b9fb0807c0b800123f03c6ac5803334f6f8887304913198d98b2a97f0876ff24c3dc11644f6a7bf0e4e3a2aaad04ceca84bbc22823fb6559e914bfa9e1617f89dda2e90780ac15f12431406551b1f46e9995bb47eef70f6dc1d0e9929a22e5be910203010001028201850082a411c8b1fcc0e52f27dda23b1004f1f68f4ca36b3d4d077bd6105d63c4f42c676d8fc08e031c9297617a2c53c602a207046f4b5de2f1f78f2054466d42fee730b0b95557d9965ee3a96d870b0cd882786d8287d650cb5f6b1bdeaf03c9c4bf1aaadffd747d725cf58ea9d184cc0cf4475064df227a57d8a9493f9b1eeb60dda43c3e89a57097f5a28e1ae2fb63c62b389d216dd055aa82655b01b2a0fca375aaf5dfcb179e9141c88aa3f5aa4323f3779101612505f06c60ef5077b2a46d5db7555ac0eec10f4c91af2cd605e34bdbac1548424c878a91dae7ea391c95a85ed55318fa5e9dcd464a11fc5425df5da1d1d33fbe659dc98138bcb73f2f85f1416dbf30dd4336733c04534da98aa1b333fa0444a4b337ca5368467dfe256d04d08aead94e39131110db422603fe85812cd15453ed02197f7c3ea38a84bf2eb21d8390acd3f2e955d7ec84286987b28ec5aef7929701dd466c7c1bab412e1550c118696bf47b3ca98435e5374852505188b8d70e46cd1b60553a5f56d2c6c47179009dcc010281c300dd60b390ed7e73bc47d85692928b6a7669b75ac07b0d2d5e2aabbc97dd4f26f4504ccbac15fc18c8681e24241af32fea58e247ef47ff841fd88cd482685b24de080a373a7b2fb48300b997e911569f64129dc02092b51b0093addae3296c47a5388dd6f8cdc258c7bfa1cde81e97d01f198e6d05312ca8b9c58c2a11df5ed9e6ff75cd6925c52738278b7283ec198ff2c50e793e8e6842c23121dd5a702d312f6a0bdf29dcc932f5f58882953423176aadbf02dba57915fcbc2356d7b6d0e7a4ed410281c300b56e27f9764f02ffafd4689a3d1d1fc4ffc5c0d9d1b052394c72840963ee5eff90310b07cd6b45b0022439755aceaea774ba8aa99cfbfb9dadf8e007faa89329c347181236496485359d0d6eddc3c8e9f9ac3119f02b91e2e94cb63f1fa6bd4c02843714a74d5ae775d6d4422f7c4e99e5b3980bb3bc2ab9ceecc0a503f67720c8f294d15362e36b781c186a3c97c6076bce45d5853e57eb61dfed7e5db0094a28fee6df90a4406a9e3480adb2a972ddbf61a737dbd6f0afe961cdb8982f48326d510281c255e3d5e76ded78d3dd00179ea892c4cc8a79a41137ecc5e45a23e578fa596260b9e301c693850acc7e70eb4ec2d2058e23cc2f62ac097be6ab2b00ac53f6c0d810407e6b072e5c17d3a92e423402eab675ee94834ec84b60aeeb6e186292eb3d3432fbebee50f00717d79c3ee9d7b6dcca1a933bc7776f431c5d245968d3b131497e18232a8f52871bf8a386818ced67a082dc11a448d955e4a021f49bbf3ced0b74edb19d42c6addd0488bd80cbf8a2e02452e48b4fee72ef3fbacad8d83677abc10281c30089a28076d1d68ccad56388db0163b7b725e5aa3053cfb400bdcaddf995b2bea497896cf9c54f0cb5c25a22b0b16bbbb95367344c09c86b102a6b73e0f9b9aab272eedb06ede1ed7cd4b848f98308c4c122e40af7c767f62b329b3c6254ab944d365780c58d49b49d849aadb96bf69c5649985dcefad1d383d3c36d3d81ed16606bb1034e6d38c697bfad68a42745683837036b9cd890fbf797ef5d6690c23bb9e3b1c40973dbf6f62b005f61e5f8802852c84d27a601bfe363640bc16ec9e7b641910281c23c1346eae095cae1ef1feacd06a4c4d2f1ee4b135c2b7f3d22dfc10de6f4f67899cee2504252b572009a8fb80e807fbcd958f45a5237cf066f20788d8abfb76022032b6ad878160d6274c654681b9e399441fb0853c92f403cff13ad21d3ce998026e21bdbe3d98033fd1582169915b67c491388d41cef393ca2f2f583aae732d5d87a4561cfe160fd49a205531a03caa174ac48ba94d18e1b618c4935ecf562736897f2f813a344154387c4cd524115d352f8dfa10883532db127d4dd99258dc2d4]\n[sha = SHA-384]\n\n# tcId = 772\n# em represents a small integer\nct = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nlabel = e3ed53a6f0f18a3e6a90044cfe6bf4efd1d3132cc274e37a1d65f5d86b7f0f44f3c924f714cb548c3e0a776a56c5ebaf00000000\nmsg = 6ce8486057bf0af47682d34def751d65a7cdf2edc2e1518cf96c95d125f17618b9a3fbeefe4b1c29ec258cfe3169aa771b3772c4997e472d65da3736e64120c1cc68110e5491fefde206b71a14cc4e96f826c1af4dea1369d6f29a32c9fb867c8910ffa786e47729ca862fb0e1b3b48700299d591a8cebdf0d8a2c622253dfdbc51fd554dd08d1bc4043b65aacd335b48490779be1b2499a9478415615ef70961421a4bed7be61a42825073054af2962e67d71201c094bb0ba924cf97e6e81dc4ebd9a8ee33030e2356b8e808a87b0cff1e91897aa241e7d1211ef464cfdb18a8881b59e346702e320abcaefe4e9f156fb589d54c340d15970729f64029341f2ba1b2ae0dae77be3a55122c85fa86945d41b1f4ab8411426ffed8fa632e75f609859\nresult = valid\nflags = Constructed\n\n# tcId = 773\n# em represents a small integer\nct = 1a93aa7065475280bff152e46394d26f07621a1e52972f0ee81c4f02985d276904c372f385c0f895c0f719ede146e397ad8e6c0c270d9da4f906c256c618d10cc581f4fde6f44263968f2eeb1b8c9d9240ea0976b8f4dbb8957a39cc598f3b31a69ff5cdd21b11dae9e0dd7929adbd6bcf5a34de85c99f2810960625d8ccb179b379296a26acc62c052f586ff31cead363a717c5726486fc1696a0c2f9d6740709a66f51043c318997911a87770afdf578c8d0c453028f2e597a3c5fdfcf7d039619736de870d84ddba29dad9f590483aebf4b84bc8b717ea498981c279c919c3ef70aecf7bef0fcd9536d340f43be884b3b5ad0b3482718e2132916cd068571b14694c4f6ee8433eaad6a13f3c4ed896ab0fce11b1b9d50c6347acd8ed088ff67aefdb19cba937e07d0705a6c8ffcd011629b33ad514510d5a3a31f53cc5f90817d5420472d554981b0bb9a45673e6fa956937f9f9ada017bc0000e5b6f5c578bc945402b216301afe6b25a1a961efadc4cd3aaf8bd3d4ec77fe13a554be5d73a4b2227\nlabel = f8343ff86e5650448a1a2c372b1bda8bf512701713017b61daa782751d0e3768e87e7b728abd485d2055e2bae4ad37cf00000000\nmsg = eb910d54e051c09090181c1bae07917b6b3b3f57a6a923307cb23f4d5a6e6f4ed2977762ddccefe94f439e9f44435e53180045f45de15320a30ce0139460d62603f53d66d59aae95b7000f0fb3c5d621d3583b023b69873a27fe52aef03ce6afc9b97588161d8a7c0a8fd4ed55174db1aae9e33649c5eab7d930b51f8c713e26c5bcf394a34ff1b893a409bf17437e0330cf4361cffa0e01aa3db7440b7c8c21d9c25e861eb8dad94f11e615efc251b37c63aca012fe778bd14e15a641075c8cbe4e497b4dbec93f63f8bf0e88a3e8e7f7a7aee334332db62eeef019f1ed55158ada3f79a32bc5e48f22b2856805a382b82edc3ef3cc492dad3519657b188e23a1b56155a3789dd2335759757412f4fee48f0aa4dbbda3914fe48c38ea08e835544b\nresult = valid\nflags = Constructed\n\n# tcId = 774\n# em represents a small integer\nct = 317931fe3f6a8b1f899371b89ac3d2497b91536b82f75179c593d8f5d4ec36284caf5587e49a9d1a4ac89ae6cbe6f2da24eb7a0fad03fcc277e0827a3c534fbc16f173cfd3d31279d229e50ed64e5ee7dc0baa5e46a3e9d4e79905cf87d85c2fbab5dda6afa8b9a08e3908e208231b5d5d56fade069077313c6f9494879b59092697c4f974377483ed66fee87431aef2b900896345c7072d705903497575fc22aaa3511a446ba3bc0f8118e3b74adf25c72a56495a5df1c96a6fff13410e7178fb32e5907afe85976b9764dedcea2d4f79fd3570a71844dff060084d8637d63577310d33741265e18641590c0a0a2909f8744aeb99cf97f819d614c751cb2c9158cfe0e3ef4843ffb7ba93958fe8e4cbe807274cb9c6d6b17d12200bb83b64f3a516eca3cbaadd70e4c55c4bb20346fb4f89f18ed70a829518f1b8864e1a83c5db09ffc880667b1ae30f936a30fa40afeb7f9471c4c7199ad7546de568c207de8dfe2bad374d7d4c5bfd7dce4398b4c971ca5700b13683d24e1c0a6d4f487e1f2cc86108\nlabel = f690520506e109069b536e670dec5d61bfb9f180291116fb2af2cd5f27bc523d9e820b145c1c03bbc9926a0629c09d8d00000000\nmsg = 0dae1d5855fa986c2b65cfcb24c2e3e6f84f8ecf91770c501ddb00b7e274389f5e7969dd2a1453e5bd1050f1c7961d35863bcefbffed80f16b2e5e282a0b67012a8ae741efbaddd1e062ac88bea714efd456d9a681c3baff87cb274d07ee5b9f75961b8d45bc2e3a69df97e477178e6e83c2c56e234336f3a219cfb77f32673129d1c3417e20ce9cdcefba9fb83375e0741bb66cd1c66fe62ae1be792a8a76e07e182ce6bf0116ff011810799412cafc477c99976222425a8843a457a3bf80c201bbc3976f13ee9a9b7fe378561b07602b3a2279af35ab5052b4dd71956a19656394bb2f89c7788cd642e3162a330c2231169691b4eeeafdcb63dd7c031f41b236ef579dfb688b0e6a4a0f7aa0c749196f154bdc8256e035e6ec5baeb3ab401872d0\nresult = valid\nflags = Constructed\n\n# tcId = 775\n# em represents a small integer\nct = 84484fe5185d8a4175d1501e8337df7680a210288677d116daf6828c7ac54fb635d29eeb745c517ce98ba08e1613073b1ba012605710cfe22b44d91fb95a07c261eb26afcca8385b0538e76dc4f0838478f0a1538c2cd12b53caa64b3c461f7abc5c01a2760f668db4a92451529c8c3fd63f4e3d15c47e7bf321fd1b90cfd1fa304ad289f36c5700f5289dc20c617e3447e59a6f590ddbacd194a42d44be825ae0558e0e0426b1ea46f86bcb746c643fbe87ce6d7b794fa3e575cf4692a457fb151fd1851f6268705cac43ffc2dca0d50fc1b1fee634478e7bdc5f64f00e53ea9dfe6fe13ae631530b87bdee1c33854e5091b84bafa460617c080bdd06ebbdeed51e9d91739ae2499fac61f980bfeaba7f190eda34acc3b60054afd731d51aeaca0dcba0de614119d4d30a7c6672f92752d0328dd926a05bd46640b98857c82388b4ee20450db739659997aed252d843c6ba8ee9f0616703dd8b33fd4c346593f325051c347fa4302534bee5dd669ab0ce33d210d0d72470e41403f05c812920ee0f603c\nlabel = b60b80e37f381cf571ed38a78823b59f0490163dbe7982f1369e986af48c8638c7937bd7302dd0304aa280e33c2bd03500000000\nmsg = a8ca5ddc13bcfba53524e57c821f4d1a979488b090c1bd30fc08ccb1e9c75b6e9011e7870ed5097b15ba4b0cb7762a52aaf7e68846216572ae70bc2057669d1b3e28deae3086c2309ef24b6d1338364c42c6bf2a5e504e2f1eee10ef2bcdd86054f38f04565fd1279b1a64fd84614b50f0ab724279398b100f10e1d64b6f83773e1be8877f1bb177a3dc0819d2440fc18e0fa600bbdbd6969213ac4502cea518b585dd53d2cf4775d96badc30c6cdd8df13407f5ccd6263b5d5e97a810cf14ab7330f744ba9789d89b56fe4a1d9808c5f65b5ae7c6adc55efd5626506f36ba3410d7ec8d33e69a8740563b57f5f1d612d0e4676d03fa2e0a3b87cf03893a3637b44cf05fa1b2bda733e15b633ed0c8d2e8049a49793ccb77c04874c9c992021ced72\nresult = valid\nflags = Constructed\n\n", +}; +static const size_t kLen138 = 164058; + +static const char *kData138[] = { + "# Imported from Wycheproof's rsa_pkcs1_2048_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSAES-PKCS1-v1_5\n# Generator version: 0.8r12\n\n[d = 1a502d0eea6c7b69e21d5839101f705456ed0ef852fb47fe21071f54c5f33c8ceb066c62d727e32d26c58137329f89d3195325b795264c195d85472f7507dbd0961d2951f935a26b34f0ac24d15490e1128a9b7138915bc7dbfa8fe396357131c543ae9c98507368d9ceb08c1c6198a3eda7aea185a0e976cd42c22d00f003d9f19d96ea4c9afcbfe1441ccc802cfb0689f59d804c6a4e4f404c15174745ed6cb8bc88ef0b33ba0d2a80e35e43bc90f350052e72016e75b00d357a381c9c0d467069ca660887c987766349fcc43460b4aa516bce079edd87ba164307b752c277ed9528ad3ba0bf1877349ed3b7966a6c240110409bf4d0fade0c68fdadd847fd]\n[e = 010001]\n[keysize = 2048]\n[n = 00b3510a2bcd4ce644c5b594ae5059e12b2f054b658d5da5959a2fdf1871b808bc3df3e628d2792e51aad5c124b43bda453dca5cde4bcf28e7bd4effba0cb4b742bbb6d5a013cb63d1aa3a89e02627ef5398b52c0cfd97d208abeb8d7c9bce0bbeb019a86ddb589beb29a5b74bf861075c677c81d430f030c265247af9d3c9140ccb65309d07e0adc1efd15cf17e7b055d7da3868e4648cc3a180f0ee7f8e1e7b18098a3391b4ce7161e98d57af8a947e201a463e2d6bbca8059e5706e9dfed8f4856465ffa712ed1aa18e888d12dc6aa09ce95ecfca83cc5b0b15db09c8647f5d524c0f2e7620a3416b9623cadc0f097af573261c98c8400aa12af38e43cad84d]\n[privateKeyPkcs8 = 308204bd020100300d06092a864886f70d0101010500048204a7308204a30201000282010100b3510a2bcd4ce644c5b594ae5059e12b2f054b658d5da5959a2fdf1871b808bc3df3e628d2792e51aad5c124b43bda453dca5cde4bcf28e7bd4effba0cb4b742bbb6d5a013cb63d1aa3a89e02627ef5398b52c0cfd97d208abeb8d7c9bce0bbeb019a86ddb589beb29a5b74bf861075c677c81d430f030c265247af9d3c9140ccb65309d07e0adc1efd15cf17e7b055d7da3868e4648cc3a180f0ee7f8e1e7b18098a3391b4ce7161e98d57af8a947e201a463e2d6bbca8059e5706e9dfed8f4856465ffa712ed1aa18e888d12dc6aa09ce95ecfca83cc5b0b15db09c8647f5d524c0f2e7620a3416b9623cadc0f097af573261c98c8400aa12af38e43cad84d0203010001028201001a502d0eea6c7b69e21d5839101f705456ed0ef852fb47fe21071f54c5f33c8ceb066c62d727e32d26c58137329f89d3195325b795264c195d85472f7507dbd0961d2951f935a26b34f0ac24d15490e1128a9b7138915bc7dbfa8fe396357131c543ae9c98507368d9ceb08c1c6198a3eda7aea185a0e976cd42c22d00f003d9f19d96ea4c9afcbfe1441ccc802cfb0689f59d804c6a4e4f404c15174745ed6cb8bc88ef0b33ba0d2a80e35e43bc90f350052e72016e75b00d357a381c9c0d467069ca660887c987766349fcc43460b4aa516bce079edd87ba164307b752c277ed9528ad3ba0bf1877349ed3b7966a6c240110409bf4d0fade0c68fdadd847fd02818100ec125cf37e310a2ff46263b9b2e0629d6390005ec88913d4fb71bd4dd856124498aaeba983d7ba2bd942e64d223feb7a23af4d605efeea6bd70d39afe99d35a3aa15e74a1768778093be0edd4a8d09b2def6dc9b67ff85764625c2e19236db4c401ce30a2572d3ecb4f969b7ad19c522c02d774465676e1a3776c54d6248348b02818100c2742abcd9897bd4b0b671f973fc82a8f84abf5705ff88dd41948623afe9dca60dc6543390767feaebeb539576ee8bfa61b5fcbca94a7cef75a09150c540fa9694dd8004ad23718c889049219369c99f4458d4afc148f6f07df87324a96d9cf7b385dd8622414a1832f9f29446f050c2d5a6407649dc41ab70e23b3dcc22c9870281810096a9798d250263400bb6277342881627e07cecdf91187b01b89ff47314188a7c20fb24800156d2c85d5666e8df6ceff9f9804ddfad80ff5767de56ecc029c72bf6c717df9f64daafc29acf9dc7908f9a0ad67e20e8949936ccba18d021a2c4febb04349a2b2047c4901385b6e5d0c691d118b33f81802b32ac272ef09e42fad50281800554f41b0b87f68a45722b3be0cf4ab1e165034c1a91002ab8f29e9ef9e2dab6fee7b2455bafb42037e9d2f7e533f348a147412fd72080be7c2633f5d802c91c39e6bcece3e675e59995033c55737020dad9e8b30d04b828adfb9304ad54a11a35a4f50709876ac5b118236ba76a4d7c9a291dd9607b169de1d182385691999f0281801c640189d9bfe8c623833210a76c420c6f44e5d760e259916cec2ae2b156456960fd95e2747660c389562250f055049cfab7e5c3039549384a7a2aaeb1c824d3af709482a8cf9b587022a00b1f0722db50f33cb26dc20dd2245d5265df61ee2983c938c2167dcee121fc4b4479c237e728cf633ab60a8c0ecd04fce7e3baa559]\n\n# tcId = 1\nct = 5999ccb0cfdd584a3fd9daf247b9cd7314323f8bba4864258f98c6bafc068fe672641bab25ef5b1a7a2b88f67f12af3ca4fe3c493b2062bbb11ad3b1ba0640025c814326ff50ed52b176bd7f606ea9e209bcdcc67c0a0c4b8ed30b9959c57e90fd1efdf99895e2608095f92caff9070dec900fb96d5ce5efd2b2e66b80cff27d482d242b307cb813e7dc818fce31b67ac9a94501b5bc4621b547ba9d81808dd297d600dfc1a7deeb061570cde8894e398453328740adfd77cf76075a109d41ad296651ac817382424a4907d5a342d06cf19c09d5b37a147dd69045bf7d378e19dbbbbfb25282e3d9a4dc9793c8c32ab5a45c0b43dba4daca367b6eb5f4432a62\nmsg = \nresult = valid\n\n# tcId = 2\nct = a9acec7e58761d9191249ff7ea5db499cadccc51d29f8e7fd0aa2cb9962095626f1cadae29666f04ce2afd4b650be59d071d06446d59107eb508cc60545727b0567dfb4f2f94ca60b939c60be111172f367dfd235516e4a60061648c67f5536650821ac2a60744be3cf6befa8f66e76a3e7c5fbc6dfa4dda55ecbdbffdc98d610de5667a4f485f6168b52bbe470e6014253874ce7b78e509937e0bc5f02857e1ad3cf55139bbe6dc7ac4b1ed5097bf781b7671ca9bb58187aa6c71c58ac0561c5aacf96c35deb24e395b6823de7fc96b8031b5906a34c4dc57e4f1226157b9abd849e1367dda014fbf9ed4ca515a7a04cf87787945007e4f63c0366a5bbc3489\nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 3\nct = 4501b4d669e01b9ef2dc800aa1b06d49196f5a09fe8fbcd037323c60eaf027bfb98432be4e4a26c567ffec718bcbea977dd26812fa071c33808b4d5ebb742d9879806094b6fbeea63d25ea3141733b60e31c6912106e1b758a7fe0014f075193faa8b4622bfd5d3013f0a32190a95de61a3604711bc62945f95a6522bd4dfed0a994ef185b28c281f7b5e4c8ed41176d12d9fc1b837e6a0111d0132d08a6d6f0580de0c9eed8ed105531799482d1e466c68c23b0c222af7fc12ac279bc4ff57e7b4586d209371b38c4c1035edd418dc5f960441cb21ea2bedbfea86de0d7861e81021b650a1de51002c315f1e7c12debe4dcebf790caaa54a2f26b149cf9e77d\nmsg = 54657374\nresult = valid\n\n# tcId = 4\nct = 455fe8c7c59d08c068b5ff739d8dab912b639c8e9eade5d0519d58f4ead7208d5a753b4a88fe771475adc82d10ab29ded28caf03f9034d3a111b520440c02276e1b6417c42eec0257f1f05482868987f2f75bd33d1ec3dbc799d7b5bf25c4a0543793a4d3ce305cc43646bc450344e624fd381e24d8e57ef2840dd9d576da554ba408ee6580159e6d88438a28d66250b3b3fe3bc6624406022a9e4ee2778c38230674f635f56b9d6adcf2be6bfab34a8a431169d769876422f7077ded31fa6f29993dd1972b2d2d24b0513a7a193f6a88d53c49cde2c030f85e3ddfbc9f99b4a667fd9c652382238166f3d39eb2b78de53ad24c97699fe5738a7a705a2ab141b\nmsg = 313233343030\nresult = valid\n\n# tcId = 5\nct = 1cf861ef8b6c29474666605d3ddb663a259a9ae838417abcc7f7dd42d471d5f3812cdf90e3041c4c5bfd38ac1e4d95fd71661bddac45f5f8e3e89629a335bbf2eff116030f1c5ace8336cf7e94c2e8bf5a1d6116e54ec42b9da5fc651a41ac8fd38194e5029489cfde1f7fc850c0dfb3dc00021f74ae3847327c69afdb1355c7587bb93d5f4d2cfb35a7f70bcabd43eb32300585b6ee32f14a68c2a08434e923adb76dfcdf3ea5133edffa5ca20425083b28ecb045e69562b44286d320d87285e7a2e3bedded083c010401ae22c8f278b080112c4264a3cad3ed9fa31cf19e052aabbda9f8ecef1d64786258202bb61128b3140a355d65b982b0239764d77d24\nmsg = 4d657373616765\nresult = valid\n\n# tcId = 6\nct = 8122b33665648346f6cf728f285667cff7f3c20907e76438e64db81a6a5e74c34c5694fb5b4c826067bae94c5176e152eb16884d9c2b63d2ff41d06140c9c39469a4ae05cda86c81ccb208894266f6b24a0f79132f71521e10683faa05c8e68b77dd6c0c04cbfef55a9d1b68291c286e08907c3df029c52e15539027f534c7df8da5637db99355b24576b873c119ff1d74b3c913b70c48f366887ccbe6d206c11657401f41baad9290fe6ae01855a99891700d71775fb36237bd3597ad240fff4c03d1fe599cdec65baef11fbc4889575a55f255b51ec8298595dbcc89659382d35c2b85a941c33746a7937f3d18e27079fc3d2252904aa533fbfd2ebed2e059\nmsg = 61\nresult = valid\n\n# tcId = 7\nct = 18e280e8b03d8588b923842d15fddb0493285ecd7ad2d9a9878045ce615ba07cb811fd4a0737e91ece5a63b70b1edc23e0da939ec654333eb77e956108b040bd6b92927e25a6922d1b92302036985915fedf9fb38431bbce1feee3ec42ff15bc4a4b6d10b3da41ec96667b81163b30b46eef4f46fb22f187da8fd536461e5594bf557a6dfc2337883bee8d6187192a3b4bea70398b01f3ea8c1547f6c57248243365b3c46b117924d8bb6845ea382c389c648d3e65ff0b8711bbe1a6fd3bea028f5808725f198cda0407a0ff46b5af261a37184547250f496800e697290e39d46d6bce67b767d73a63bd98f699c1828180abfd51a3048d050d496236edf1e99d\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 8\n# Longest valid message size\nct = 7e151b7b34e3b4abe045cf708640e61501c50fdca629aeca10259d45d15eeec6a2008b6336f57021ac6fdad9a6b29d65f098abff76f93722a8e23fb5e153db075005575dad6adccb7c020cd741c3419946b82d369a07fad5b0d55d51774f8991bd65e9e828d8f5a989c866a024a4a78434e9affd0af2c72f9185d450b627008a8a0968fc6373ca340410306a58921cce1207bb6f6c14e3d1f214304f9f6bb9199909e1610322e834b0ce9f55b1835d7623b82ef548545f984ea51466250159344dde902a0f021ba4baf26b16d8c6a42003f4d5dcae531", + "187dc7e3f87c9e04470599eb623e04fca266e86f98cabb6866004e7fc80b36c3977456e51eb64f4b65f\nmsg = 7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n# tcId = 9\n# ps is all 0\nct = 6e0d507f66e16d4b7373a504c6d48692aaa541fdd59eeb5d4a2cd91f6000ce9b5734a232d6541a78729ac82152d3a30b51950a24ae379a108ed20fa4ec7542fe2281c2dd5de685564d15182f3c73e9c0135ebc993f5acd240a343d3257997582328c31be215c7349375406aa78a3ac35327226839bee2f1a4a0f8e6e06986cb33806c93e0b0c1d6cfd23f4a68c1f2a38c74b8df70f280984a840c710c52279034d04f61e313d4bcd8b3b5c58468a44565a1acb2eefc6d49044be7163e64ed84b5e7991ecba274a3a7ee4defb842a86ac4cbf2d3bfc9cf870ae025a3e2fbc775916a59579763c06eb84ad8edd1d03787e609ad446de43ebed16330ab06716fa73\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 10\n# ps is all 1\nct = 633546723d13ef2712561abfa5b477a36ce7c8dc5a9f43589ea289a15f749c89e4e3ba3ca6a615333e9bb5ff3efb62b32e7f11870c8bbeffe884a5ef2b1006045bd97bb29699084dac4212c217e10113232683445091fa7224abc02ad37feaf10d5b4af6f288fa01d85bcd944bf411ac56c0b7bf1037452f540f286114b14b2208fb4282b6829c594aa27ad5ef1dc67b5696ed2a4b9a4ee2354cc05315fff5e8a4e0e75675c1eed34d46effa73ea96e748340771dfec01dae937edd8924ece8470542a8251c31e9130e2c5f80152b4c66111df52f7e5f9b40835b44bf8e8e273b075dc04f758a30c24dc2c2abeaf639f4fca4dacd509250378ad0e5276374b99\nmsg = 54657374\nresult = valid\n\n# tcId = 11\n# rsa_sslv23_padding\nct = 94a6ecdadcc3a9c5645d0410929ba8f01c89b8426b889d3064cf1811f2caaa1e1a55a29a1869a7d719226bcea637407bb80383e76b5966e2ea4d56fbb2fb325da12546071b65898b12e36d0ea0e47245930eb051cecc4b8dede18adb4f1ca318cf0e36820f1cfd4911f076e0f3fbf9c197a0ed32063f72405477888f13cbab4649e3c8df4f022a4109ecb91fbeedbc4df4d89ad9cacbbd7e8e27a2f1fe1813d3f1b537ecf41878f05918171504bf800631781a7c36451abbc32dda5b55f05f4ba7b5414089d9d679248cf042756a4f06c37c8b5a18a6ba8f97853cc6763235ee841d96e61f2d75c188ca53d222d3d925a3d701551758feb79ccf8709cb61b793\nmsg = 54657374\nresult = valid\n\n# tcId = 12\n# byte 0 of ps is 0\nct = 6a8b8c01247d9d4d1c3bbaac58e077e37926854dc8bdb58fb7b98979ba9102934469836480a0b96a5b452e54dff55e77b52dc1cb93656f6802b7fbe06ca0923e38e549dabcdbce909fdd10d677d896384af75e7146794bfa009ebbb2d6890b1cfcad4698d297c759b0a01151bdfe1d48cf92e80896be923d02371930cafb155e543d9a21e52faf2395234e65d575fa9f5276c80ae4cd6ec18ac6d954ad043d2a46932763ca44476180b397215d95651fba63220998e06ab2dcc4935dadaae8660ac8c6356b871e0b1397af20d6fe937c3211e21559a3d0eb39c2949a96611b13740ae0c26ce67c373a9225a3c1773ec662ca20dee620c0acef1475b362ee9b9f\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 13\n# byte 1 of ps is 0\nct = 84c149c378f3f12ce202bb561456257057709114ecbaa4c3a7dbfbcbfaf2fe9a19cebabd72e39474b6bd7871c3dae41a9c87c5cb2fafc2d06d49c60ac401ed1e125522d0854fe8fb8611f8efb90d2b89a14eaeb6e991f19329dd7d183ef72cf0543dabedcdecc9977cc9395e2629a1dc8d359b2bc0fea6ef250c4cfa2ac8ad22a6a587e32859a8c99e4f7cdf938527e9e0bb597721517067d83fab31457e52e7a11b0393135d30e619d7cc47caf970facdd8dc4bd613b151f93cc53c1307cef68feb5a67d32337cf2ff954be7a553d3f07c9f657aebd9e8d4ee99e8736c152804295f366a4ffaf2a72e29c2f87b03b28b99da1f6a7ee0d9364ef711eda4f0793\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 14\n# byte 7 of ps is 0\nct = 3307264f64d4ca8b62c4e7da4cac117262e5d3a3dbc19a529ac5167c1987bce56e358726d0ecfc6cb591a12bd5f7531cd2249439254c366ad3cb7a608f845e1eca931018295208ba5c6198027b22191224c4568856ab331e2acf530fc434870865d3321ac90327a8c61f27cac9859dac8e3c38d8453349d2ef8e4a7e8011f6badd1530eae710e0c60d35905f20d7a2d118e7ce18ebb220f04b4089778cbf091bcb3e02aca83b4b9ba5319c3069188c7b00c7d32ebe1dd6e6535b5f667ce972f00ba773d4cf6a556ccf65bacc1eca2312881caf6a89ff5d83960846a5d9dd31477dcc9ee4ae50ab0cb2e574a685bd9d7b7a74c7ca9876f08fd64d1d5f196786be\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 15\n# ps truncated\nct = 16d56b7a9e672e387016e8b1c9cff474d560faa8ca14a565fba086015c5f9d53b205c4ccfe77ed5f3d10a04a23bc031d9c7fc809668ceb5c4e31ba8760475de713413b1ae5666e93087e146a2607c00d6492ed095973c7ccd79996aa26023a2c6623f382e94a4c595fbb596be074f87559267186cc475175152277cccaf9513dcb95a1f6540bb633a9a65182f2a53838b85329c9544c24740b24b27ce5d760f051c47e6cc107c264bc1a87ba7bd2bf27675547bda28b3d2a7281d6732f9dbc3c20eecb280f2ba6f25cd49c930dcc3a413987ab4de0fe9314a61e092b3708c75c9bf96831df05e4dbe31f75b2ddaf3bde7f01c7940ec62758006a652871d72b75\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 16\n# ps missing\nct = 25f67bc6c1320a13fa91a23d4d1801cc73594161a7f344ffa195d6dd1894c1e39d6cd81866462d05e0e16c02459a3f1dc5f0ecc52657f70385fd0b33de214216a2298b4814550af1ecd929170bc69b74e08299bea50de33021468f4fe2a2e4a43233d6872d15379ccea03450145d909c5eb11ca5f524e17b2065768b9bb06438e81b0b8ca816bfcc7eddcffba59b33e2a0b4ad8df215c2eafa240e553f1526dad66038e54f305a6d3fd6460e781239c9dc424ab6df7f75bb4327d873d0e8d7ecab1b09b8779cb841e002ee45f8dbebd2d483de2d7136ae7e350580dc8a48bcd6359a677bccd689bbdf879f2520d8976fc2b92e64dda8e7399719a13b8182c739\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 17\n# Block type = 0\nct = 371e281730bbc289cd77a64ab49b370ed7900c48f5625615ff28beeeeabc860b4673ab16003fd5e13c89c8b6a0e5c9b732044981ddf2bc45d4613bf409cb2e98123ceb661c1093773d71c67fd198288d6e9b832596894834c3955799ea20e242b632335baf8e8787c104499fb5d0eaa331f05a8b46383dd13cc05f0518d05d9b03bdfdc2dbc9299a04210c33f5dbed3779fb1548ead0022622234a6a2ffe5ca42a43db40f272d6633c7151360b5b90e135283a6aaf69b0491edda637dea0989e3a5dd0c3aac267074662443c37ce1b3fd4b2e9743fb0d00dc136d8df10b6fd0b60d30c1399ab52d75e2db559d8faefc45008c2d9100ed08caa88bdc11aea04df\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 18\n# Block type = 1\nct = 92210e5bbf24d2cd9527f6e24ffafafdfee242b146539f3731715fff42092cc8f5a1a4919417c9df9a5a32e61201f4354a87ab06e97f827f69e6cc13e7b9c79515145f210713523e6f64def697406a4929b2e09c31890b695b7b8bb851a22c7b541c5dc53cc75954c0246eae5a12af304133f4dcdb90f8c6f54847165612f7ef70f51dd493899d6e09ae9fed16fb1f1225d09750177893c5e5482e3cd427931ffd3fef3e901d51f39aa17e34443a34754533a887474e19213a5e24298071495d18c6ac77dece094c56bb34ed8274f5d75f99162a58dfc4240f5393baae58f484ef0a0259b56ad647ad81fe88c91b75a36b1acc67a56ec379bba03a8be91dc0cd\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 19\n# Block type = 0xff\nct = 6dbc27d33371f8cb3c3a54185a687a66eea8114f26cd234617b2f567d6013e222f33d7fe05298b73f8bf20266483571a52b1da2c0b1a431c257c62ed441215f57cd2a4af4628eeb21a9cd66a350a161cce446f25224a9acbdcdd709b14b810fafb02f3879605402e3fa6404e6e9a13b3f4fd3bd0e6c32f188a367a94aea813aebf4bd31635e5843a27bf7300419365d00ab97cb535866ba521dd0a8460fbc368ab9337caeee54f719f8998b126a111ffc6cff6d3c43ced45e8dce6565c00bf0be00694c339f7fdbe064c60e040a95b5d5b4af15fb7f14e00da6a591f187277e0c453eef7ffcef2a4efab93afdaa58e0bc1bb25286d9ce202176f395e29f92136\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 20\n# First byte is not zero\nct = 794ab724aeb176c4415a597e9d69cb567cece4479e6e4c9c19530b0877b53719d7f6318be8e970874c4be19984c632825dee7a38561a6904e23c776ccce71128847c24d5609e6790e3c9112393660ffd208771916d2e80d2c2fb35ff7936bab6c03e07646f15d09a88fd2ff8e70b624c66da4eb7dae241907ef328697c219d1ff347ada945e24ab526b6cea4e6b7f386560ab56f16751f6e2de0f7922a8946ae9afb9ce95369418f540163827f452f5d2a5029a1ce417453324eb015fd83ca2147331c02c762c457fc52ca5f097610c60430b69b6b0fc1c0877513bdb51923bca03e9af9174d3094530a007253958bfed03606e6f75cb5854443eaa363614116\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 21\n# First byte is not zero\nct = 8c7b80188818f63e6a0110cf94a169c78a0db75917caaf47405e8384b79a8f40de94f28f749186c4f16aeffb66168ac7c319d47de699ccae0edcb51a6822f88e27e99a1a0bb39d292e7d6e0922c1d2fd649376d81160d15cce10fc7082b88e8cd80dff13a33b54b8c00178a35fbbca633f4987f117aa9ec8e5f123dadcf29700ed5dbdad05bcd8e990985d950b210edae1ca1f6ecabf50a27e", + "4bb23d4e80bf3955852e2ca18fd3e3c2f570fbeece943ef5c10ed1265049eac0d5b549713368703ad02311193ba0d3dac6073eb799139229a4aa0bfbc25bd5e886ad213dc321131ed12cf1008ee8af3a1588d06c75d7cf7375998e5a03af0ec8aa92276bd51b21\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 22\n# signature padding\nct = 34bc8b1a4646f2db8b10fdae22d6b5cb300229114015f25293d4b28e8f58783e1c5e6894da18dea527e4d843b51cf984170d56853e45f6ac77b1179eb0aa74fc556cbd632d576524b820a2c74a4c8159885fa08937e9c73ca0385c7a19676f2789b62f7a8b359a29132d74bc2b850e2335b5c7da8bf52d8d6fadd83ff9db32239bb737e890a32d561b10e9163c2fe4d35624e3e5faf664374c972a8d2e5b873c9a465e108bbdff1296c5557f314026558441a055d4b9cbb54179356787bd4bd02015cb3bbe02633711f266e915a0b4591415983610a2714adce1b0716675b95877bcef618784f2b3cd23fcdd0636e5856edb96852a32c9632c2e6e4b9a6f881e\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 23\n# no zero after padding\nct = 4629027bfdd6c33abda030f0cb3ac1b55bddddd11292520f142248bbd1efad14adcb7ec50d278471f4a98dc9a674c202d823677d2606cd639fda443d7c14f0aa35f472189abe1b639f0856743212aab46ae35160ab4e6c08a20e5b82210b07b6eed11a315ef1b1f831b52bfd3abc06382b51c41a665ca6428e4bb6bd0df7895d056b8c17093e73c8129916e3abab3f61ce9a94c9d2fd30902076104b0e7fbde8da601f6c1bcc56a0100104848da6e9fbb28d893274b40885b3003ec7781aa710c83fbf4d4bc197630b1455853c4d6d6050011a7f7377e9034d29e4396f52b24ee6875feef883274cb0842b4b177d3fa3b416095c6ff96f6de0d9123dd9ce6d31\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 24\n# no padding\nct = 910ad40ae0d8af151f512354e1cf12af7c4851cff0b659026e90a9ec4dea6c1e4b2b33cbe8260501493df2e7fa2cd77f020a7cfac1ca379eed3fe6d003335653a5f022f6bf5010e5f58c41fc91253d75eac2072479d4bb3509e1351a66f700ff4ac470115490021734bb8099e66c35f904f09d167303e26163393ed556cdccdfae95f239ebf0bd361a8adad927fb9544ca30132195735cb026dd0dc66c6efa0db41b73fc1c917be384a430e0788f5f872785cd709f70793204753d7b207fbce2d0bfbab11d3d614b99bf87bcc9a34db639fd203c9c081ddeecb9c85221e03cb9171685dafcfeaba470c5f1921a6fe016ba4b816a2328eee9853fa6994ec313d8\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 25\n# m = 2\nct = 6294ddf0fcd137390cb2193e050b5f61bf0183972912dca88ddcef7d54388665a7ff9be1f074b5e33b55dbf7c4212554a4e6243d3974aef4d95794dc72261883a45842da69497a36ed22c3590b0110e857bd0fc729663df53c831836f890b2b2012c9f56fc6dff36daada1a1e1cb2d654fee868c7c6fd58435dc8edb95dfe0271787074c2be9aace1f33ebd07ee6112cfb62f52487934af0c22ac93dafccfb01c561b370f05f3e604e92e5380103ba91113d007ab97b21ff3feb22f37c1a358215467d0a0223d43792f4947aa30c38f14246d1db9918c94600e7d0a393079dec2d9ad368ef378b2fff72cdd7c572f11074caca0995ca3e576428f651e1cf3764\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 26\n# m = n-2\nct = 50bc2c3ad07baf0bb9037b704b4e81c97003c7ce644ac8ed0c52ef9b1d7f825695f44a46e204786e6f7fe52cf01ab4f098e438a1125a79f2e3f76add9a8e9ebf175e92c5aa81e99abd17c6871b26de6b40f81c45d43194136f687545a33d590caeed0916deea9cb44ef815aa1695d9f7178dfb47b4805b3e2f47ec1e3de933e5b3de2950dbf702f3d09d7120ff94f43082409169beb5814955e445aa4914ecafbb36efc82aeda8b5d005f042f7a58d50f06763681d40a88119fa4d7b21e4a372701de8f5a4ef18e30e99f4126fd031af5aa28cf4316b03150a2e0a66355ce17124b13bc586e918116c2355f3169c186a80a85c1302fe01b33d01fd3c61fba0e9\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 27\n# c = 0\nct = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 28\n# c = 1\nct = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 29\n# c = n-1\nct = b3510a2bcd4ce644c5b594ae5059e12b2f054b658d5da5959a2fdf1871b808bc3df3e628d2792e51aad5c124b43bda453dca5cde4bcf28e7bd4effba0cb4b742bbb6d5a013cb63d1aa3a89e02627ef5398b52c0cfd97d208abeb8d7c9bce0bbeb019a86ddb589beb29a5b74bf861075c677c81d430f030c265247af9d3c9140ccb65309d07e0adc1efd15cf17e7b055d7da3868e4648cc3a180f0ee7f8e1e7b18098a3391b4ce7161e98d57af8a947e201a463e2d6bbca8059e5706e9dfed8f4856465ffa712ed1aa18e888d12dc6aa09ce95ecfca83cc5b0b15db09c8647f5d524c0f2e7620a3416b9623cadc0f097af573261c98c8400aa12af38e43cad84c\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 30\n# ciphertext is empty\nct = \nmsg = 54657374\nresult = invalid\n\n# tcId = 31\n# prepended bytes to ciphertext\nct = 00004501b4d669e01b9ef2dc800aa1b06d49196f5a09fe8fbcd037323c60eaf027bfb98432be4e4a26c567ffec718bcbea977dd26812fa071c33808b4d5ebb742d9879806094b6fbeea63d25ea3141733b60e31c6912106e1b758a7fe0014f075193faa8b4622bfd5d3013f0a32190a95de61a3604711bc62945f95a6522bd4dfed0a994ef185b28c281f7b5e4c8ed41176d12d9fc1b837e6a0111d0132d08a6d6f0580de0c9eed8ed105531799482d1e466c68c23b0c222af7fc12ac279bc4ff57e7b4586d209371b38c4c1035edd418dc5f960441cb21ea2bedbfea86de0d7861e81021b650a1de51002c315f1e7c12debe4dcebf790caaa54a2f26b149cf9e77d\nmsg = 54657374\nresult = invalid\n\n# tcId = 32\n# appended bytes to ciphertext\nct = 4501b4d669e01b9ef2dc800aa1b06d49196f5a09fe8fbcd037323c60eaf027bfb98432be4e4a26c567ffec718bcbea977dd26812fa071c33808b4d5ebb742d9879806094b6fbeea63d25ea3141733b60e31c6912106e1b758a7fe0014f075193faa8b4622bfd5d3013f0a32190a95de61a3604711bc62945f95a6522bd4dfed0a994ef185b28c281f7b5e4c8ed41176d12d9fc1b837e6a0111d0132d08a6d6f0580de0c9eed8ed105531799482d1e466c68c23b0c222af7fc12ac279bc4ff57e7b4586d209371b38c4c1035edd418dc5f960441cb21ea2bedbfea86de0d7861e81021b650a1de51002c315f1e7c12debe4dcebf790caaa54a2f26b149cf9e77d0000\nmsg = 54657374\nresult = invalid\n\n# tcId = 33\n# truncated ciphertext\nct = 01b4d669e01b9ef2dc800aa1b06d49196f5a09fe8fbcd037323c60eaf027bfb98432be4e4a26c567ffec718bcbea977dd26812fa071c33808b4d5ebb742d9879806094b6fbeea63d25ea3141733b60e31c6912106e1b758a7fe0014f075193faa8b4622bfd5d3013f0a32190a95de61a3604711bc62945f95a6522bd4dfed0a994ef185b28c281f7b5e4c8ed41176d12d9fc1b837e6a0111d0132d08a6d6f0580de0c9eed8ed105531799482d1e466c68c23b0c222af7fc12ac279bc4ff57e7b4586d209371b38c4c1035edd418dc5f960441cb21ea2bedbfea86de0d7861e81021b650a1de51002c315f1e7c12debe4dcebf790caaa54a2f26b149cf9e77d\nmsg = 54657374\nresult = invalid\n\n[d = 2bd68add0171ed921c0924dc0a40427fd4a4fc67821c6e7d50d0e8c730c665e2a843b1eb243e763a740d3c666b1bb1d4f9466b32b2b2e09a9e26e8777595da48a13ba9f9c45f6d2c214b9e5e504bfb3fafbce6adb31e8c15bde1968899efee1a5dcdff0d2a8bf2e27301eaa07882494610a23dd3644d0eb0a6086450e3a7bd4b5c446c01814be16c208619f8a5b7463fca583d936864bf74d96788aae8e5bae3c052a2b409df9a08eb9be76b3dbaba28863d5c56ee42eecdb85075e04de90b6dd3bd9408d7fa5694697c185162329ab9b57f21a84cab007c1c10d975f5491977fecf6c949f3a566d84be477ddaab02c0762d1b232f8a61910715a0ffa438a461]\n[e = 010001]\n[keysize = 2048]\n[n = 00dd904590397808c4314329623d9013453843251b13b8b3c4fef54598112af3eb31c71103c6259951674e53bd93a7e36d19472e474ebe8028686d9529484d8bafea4a04ba19555667616c8478670594009c9bc6a3efe52274cba64c724747d7edc194e4fedde32a3289d94c31936e7e7a15d756f548492f5b345b927e8c618bdd550acb21a17ae148304383db9b3c7baa3e4c8bd8e844a884daa3e18d56998cb32f9bae4d41d56a18ddd4313c8089b75e9dbb9128470bac9b087fb61928ab0f8c4c89360b020899008d08e8bd31f907a807e8056ad6800dffdf9ed9d964a939e7e48114b84978551acb85c9df9196f3eff55286d6cd4b39a822a8a7763a18208f]\n[privateKeyPkcs8 = 308204bd020100300d06092a864886f70d0101010500048204a7308204a30201000282010100dd904590397808c4314329623d9013453843251b13b8b3c4fef54598112af3eb31c71103c625", + "9951674e53bd93a7e36d19472e474ebe8028686d9529484d8bafea4a04ba19555667616c8478670594009c9bc6a3efe52274cba64c724747d7edc194e4fedde32a3289d94c31936e7e7a15d756f548492f5b345b927e8c618bdd550acb21a17ae148304383db9b3c7baa3e4c8bd8e844a884daa3e18d56998cb32f9bae4d41d56a18ddd4313c8089b75e9dbb9128470bac9b087fb61928ab0f8c4c89360b020899008d08e8bd31f907a807e8056ad6800dffdf9ed9d964a939e7e48114b84978551acb85c9df9196f3eff55286d6cd4b39a822a8a7763a18208f0203010001028201002bd68add0171ed921c0924dc0a40427fd4a4fc67821c6e7d50d0e8c730c665e2a843b1eb243e763a740d3c666b1bb1d4f9466b32b2b2e09a9e26e8777595da48a13ba9f9c45f6d2c214b9e5e504bfb3fafbce6adb31e8c15bde1968899efee1a5dcdff0d2a8bf2e27301eaa07882494610a23dd3644d0eb0a6086450e3a7bd4b5c446c01814be16c208619f8a5b7463fca583d936864bf74d96788aae8e5bae3c052a2b409df9a08eb9be76b3dbaba28863d5c56ee42eecdb85075e04de90b6dd3bd9408d7fa5694697c185162329ab9b57f21a84cab007c1c10d975f5491977fecf6c949f3a566d84be477ddaab02c0762d1b232f8a61910715a0ffa438a46102818100fdaca4addb17e53eea07b949213b57da50d659073864fd3c21e570eb450f9014fa43ce53b4ce4c55aca189ce93a8c1d66a8eb4ade27adaf764ad7577c11bf0baf166a54f080c5f0765a4b3fd394e6d660ab30254cb8999f0fd703877c71e4cef038acaf81f0891e7dd06d7fd5b2c014e6734766d18adb23cabae79998ff3e3b102818100df984439aac267bb2288e53aba498e4825b001826bf9f80cf1c0a14507f388b36346b7dd58ea3714e9c0e5caf7ea56c73ac7415b2b0f07eb01a74a08537452be2ec918dea4da330255341e0e6ff34bb24ca24d95e369a5ba55e9bd1a7d0ba6aff1da718ceb106ee1c463a7fc30c11d7b885c76b65f28b0f3243e591cbe82983f0281803c610e656f43b5c60ed03dd2e13d0dc1220292f83bfd15a56d6ffe3b91998db2e08aa91e95679115c75c3fbfd2b79543a2e34ab024bb17495146543267dd6da421774c1b8e8fdb429877e67b7c5b6580a7454a65c2788312b05038b091cd6d846a746bb13939c1f8cd4c26b6e02f8e340a2e9b8d861539da6506c75cbcbdd15102818100ab2fe90c3db099baacb622cad3d57d19bfc10166d94488a560721b06bf0fb599a268825cf5b65c75a682096d5c620e0e7af21317b9dfc8302513ef9a704a9f0efcc2fa477bef931e361db0e55cd0e9239988a9de183ecaa3df2315a53217b986fba4434ba0acf437e6246678aedb2bb768af62343ea6e8d33eec7d4d848e78010281805382d97145a0123c383ede6b5ded217ce50a3751d0926148aa7895f501563d131abcc2ff222150b3e35e353fdb006232f1f521e2941eec51810a5db22c1af413bf324918cdf9e00c916ec791cb6ac3fbcb04fa26396f0540470abd929983172f484b102e21f44c8ab0867ec90a77d7f46a6ffe1046b8d4e7e2617c035bfe148a]\n\n# tcId = 34\n# edge case for ciphertext\nct = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002\nmsg = 52a61193b56236922dde714383c6bfc5a3c3a4515707521ebc84220bed615b28cf50222c2cfb7da7e5bf8ed088333d360a1f95d428d0563c3757f400f582cccc1c06e43cb575545f0cdc6bf29c585d8feda2522234415317bc5d8641737b9cf657620499a1d4fd69e4fa109e068511cfee4d2b3c9f9904fb370cb28dbc7e0e\nresult = valid\n\n[d = 6148075f3c03a05b4eab069a1d11dd76c1b7bf9551d2603ccda95c8a8c47f54e5423bfa35b77cc030a5366ba267011acfcfd8a5d0c445d72db4b398eb632fee8e5a0803486e9f334e719238addcf3a29c3f1efa0b8d554fb85bae2144c8efc477a7eeae305d1f3271c6d313dad86fdfea1cbdac4c448bfccc84025d34d444de5e40dc37de6a4cf7255e38152ab049186834f23b75fda4e51f57b01b8958e6a846cf9fb82353f6772e5318b3020651259ecf3b9827285fa34be81d73be182fd8e96d7350e7b4832adac0b0362ec03c1c6d91339df584ef816b59b34c90e9b913feb24155a9869a20f2afff161a8b8fc112a80e89ac449e5dd6b167fc373bb6dc1]\n[e = 010001]\n[keysize = 2048]\n[n = 00c6e320b47282afaf1c18f55f28aa278d401163529e605c1ec6ff403d25c726f547407e4cc128c1aaf397dee2e881c20144616ca16f3d9a1794a70ae05f9722e9feab650c21b886aacaa34163bd8254ea53a8c1dba6bb8eecba38aad49be9d6658230fb3950382a5dc8d5c0538e50f976e4ee673f8faa2ab8b3805605642c6d770579736e410c9ecb32e0559d82b6f22b3ac79cdf57ea9a3fd4b5e8df66bca92b8478b971afb0d6b185b642c362daaa79d330d14069b9e917a3f84433ac32b56cbe2760e9507bd39749d18a1b13e923c7efc9fad13d12568e5d910c1cbe9a6069d0fe80e3aa57bf5e74fa5d86433eaf5690175f13e4c3148c7300799244c566bf]\n[privateKeyPkcs8 = 308204bd020100300d06092a864886f70d0101010500048204a7308204a30201000282010100c6e320b47282afaf1c18f55f28aa278d401163529e605c1ec6ff403d25c726f547407e4cc128c1aaf397dee2e881c20144616ca16f3d9a1794a70ae05f9722e9feab650c21b886aacaa34163bd8254ea53a8c1dba6bb8eecba38aad49be9d6658230fb3950382a5dc8d5c0538e50f976e4ee673f8faa2ab8b3805605642c6d770579736e410c9ecb32e0559d82b6f22b3ac79cdf57ea9a3fd4b5e8df66bca92b8478b971afb0d6b185b642c362daaa79d330d14069b9e917a3f84433ac32b56cbe2760e9507bd39749d18a1b13e923c7efc9fad13d12568e5d910c1cbe9a6069d0fe80e3aa57bf5e74fa5d86433eaf5690175f13e4c3148c7300799244c566bf0203010001028201006148075f3c03a05b4eab069a1d11dd76c1b7bf9551d2603ccda95c8a8c47f54e5423bfa35b77cc030a5366ba267011acfcfd8a5d0c445d72db4b398eb632fee8e5a0803486e9f334e719238addcf3a29c3f1efa0b8d554fb85bae2144c8efc477a7eeae305d1f3271c6d313dad86fdfea1cbdac4c448bfccc84025d34d444de5e40dc37de6a4cf7255e38152ab049186834f23b75fda4e51f57b01b8958e6a846cf9fb82353f6772e5318b3020651259ecf3b9827285fa34be81d73be182fd8e96d7350e7b4832adac0b0362ec03c1c6d91339df584ef816b59b34c90e9b913feb24155a9869a20f2afff161a8b8fc112a80e89ac449e5dd6b167fc373bb6dc102818100f85c32eb5dfbc82525ef2a6780ff035553bf7617e0acf37847dea5d648fd3603f644c1d2db25ee838d75eea86b65a374b5484bf09e99dd5116b0cf590633e6dd328cfd7bdcf8d81221ee5e08ea3109d52ceb385762d70681ea0638c766ae9aa2dcc341fff0240c1151d025719431ac1c7e7fc6a15c606b1ec018109fc58e6d9302818100cd015623de40a4601d40346cea7822e13c67bc6acca55b4b21264c454dfdcdda61f0f1d64776efb334143e1d4d4807383ba293515bc3c0f0d714cfa84c6edfcc4493b6802af1f8fb4b986d71efa7c37c9bf21821288218fedc8f269c0a633ea033e5603fef9426de60f3affc740f980158f04fb69936f1f2736f82be14a87da502818100c5e5c9992c895d00e4ca3f32bc61f748fd7399690b5924a3da38ba521654d5beb074373189f81ea6ea8867440257b9b85c5f204bba450649ffd7a150e19567c727e99a6e2134940f56c4365fca248b1e372db2f646c6e9e38913ae188d6461c996396c14c14827e981146751aa712e208257d4716d4752f3ecc300341f5a0f4b0281805d0eaf4066e1e6fbae2b77e0bcea3dc30a3d789cee3a5d5f9433a3498e66986bfa2b7a4baf7300c9d2e9216d01a8a1865823ab45b22700cd1284e2e25d97b2c53197efaeec4f9c9acdacea795eb5439aabdb5032b505a13d07777faa3358eb93a31b0afedacce07bef7c8eb54525d2f5419f0c4031fa6c078778e5db4cdb52f50281807837896fa354433b8a407322a51a82247df121aad6ae72044bdebffdd32f990f135c1ac2c637346ead083b9d90a0d6880cd0af2f64af3c352d74b0e6b1411f8ad65d68c4ecc919b406129d49dece407c973e1bd068549313440615c7c3b02fc7f99d4dc700797d7536569b2fe692e125adf3cfffeab59ea0e0c383aeba764459]\n\n# tcId = 35\n# edge case for ciphertext\nct = c6e320b47282afaf1c18f55f28aa278d401163529e605c1ec6ff403d25c726f547407e4cc128c1aaf397dee2e881c20144616ca16f3d9a1794a70ae05f9722e9feab650c21b886aacaa34163bd8254ea53a8c1dba6bb8eecba38aad49be9d6658230fb3950382a5dc8d5c0538e50f976e4ee673f8faa2ab8b3805605642c6d770579736e410c9ecb32e0559d82b6f22b3ac79cdf57ea9a3fd4b5e8df66bca92b8478b971afb0d6b185b642c362daaa79d330d14069b9e917a3f84433ac32b56cbe2760e9507bd39749d18a1b13e923c7efc9fad13d12568e5d910c1cbe9a6069d0fe80e3aa57bf5e74fa5d86433eaf5690175f13e4c3148c7300799244c566bd\nmsg = f50d8c4dbfdd67f1018ef2bded1a74c6ddbf7db395af1b56a91507ee381689d9e06d1b71b783d895dd7a7289a20ccd5c2b5f38be6d248fde32fa02ba825047c14caf35f96873aad739a31f02b2433e871d1265c58245191cc5a1dfd299b160edcafc5ca7a37c056dbac9e7dd1195c20451\nresult = valid\n\n[d = 0081102400faeba6a1c103df40b3e6c39c1355259c61957146aff836d6e8ebe7512152232055245fc10b0f4e5b4e595de13c75dc96d0807be47b37561350edd5deddb3f5422e08cdf1ac3183e04e23b314c4e58f65064e8ef88d9461fd35ad9e8797ca76cb9d1533fea829eab7cfd20e2f3a1d6eb6ab46803de01cdca9b2e7a95326a8362d8422fa51cc13230db40ab197966dd471549c86da98ba4ba1d02bc68dd10818ddfeadd529527c7df4e6c48ce5c6952e91324458bf75e02600ef5ace55ddbd1caa2d5444e295393cb793ac55f6ddecd8e2679b07907eaf32b47d48a256e7ae7260ee70eeb8f36c0bae377e9efb5b85f435fc31a816bd8b18ce1fef8641]\n[e = 010001]\n[keysize = 2048]\n[n = 00a9cbdd7376863a8fa77931db45b29d3cd33842fabfb9b685e5f5c9ad15fe7844be23c7b5abb165f32d5d26e3db746cf09ee4c8b67b528ccdbdb20c3bf4f7a1f5ab1b93648d2c7d039d09f9a5b28393480b31c87b28fb4364c373a95", + "d496ce442bca4aad4de1cc613d3bee9ed31a85957dcff15998c6df8f0e0b1182bf256538ce414bb1220c9a4e0bc666b2230033b7abd072cf9a3c302b424b32860604427904671678b11bec74f5dedc380b01ad4d5e228d717f80e862f3800da9f2edd0c30a900a2d8ffb292a74a092264df73ee7888258d8ba441296917d5b7742894060c318790a21fa23c4895d36f6ce5c22680505caf8c098905f4e0413e63512040e5]\n[privateKeyPkcs8 = 308204be020100300d06092a864886f70d0101010500048204a8308204a40201000282010100a9cbdd7376863a8fa77931db45b29d3cd33842fabfb9b685e5f5c9ad15fe7844be23c7b5abb165f32d5d26e3db746cf09ee4c8b67b528ccdbdb20c3bf4f7a1f5ab1b93648d2c7d039d09f9a5b28393480b31c87b28fb4364c373a95d496ce442bca4aad4de1cc613d3bee9ed31a85957dcff15998c6df8f0e0b1182bf256538ce414bb1220c9a4e0bc666b2230033b7abd072cf9a3c302b424b32860604427904671678b11bec74f5dedc380b01ad4d5e228d717f80e862f3800da9f2edd0c30a900a2d8ffb292a74a092264df73ee7888258d8ba441296917d5b7742894060c318790a21fa23c4895d36f6ce5c22680505caf8c098905f4e0413e63512040e50203010001028201010081102400faeba6a1c103df40b3e6c39c1355259c61957146aff836d6e8ebe7512152232055245fc10b0f4e5b4e595de13c75dc96d0807be47b37561350edd5deddb3f5422e08cdf1ac3183e04e23b314c4e58f65064e8ef88d9461fd35ad9e8797ca76cb9d1533fea829eab7cfd20e2f3a1d6eb6ab46803de01cdca9b2e7a95326a8362d8422fa51cc13230db40ab197966dd471549c86da98ba4ba1d02bc68dd10818ddfeadd529527c7df4e6c48ce5c6952e91324458bf75e02600ef5ace55ddbd1caa2d5444e295393cb793ac55f6ddecd8e2679b07907eaf32b47d48a256e7ae7260ee70eeb8f36c0bae377e9efb5b85f435fc31a816bd8b18ce1fef864102818100d24acefb79e15875c90fa375302ef16f14141ff50e760b5b529df6494bd507eb925530904d5f43db6cc00c5bb113148ad0d7ddfa027c857898866e9681fba9efd61e102a14daf9e13d19c13d29d0b85310d4757c6b31f6949132372bf2feeeba9c451478caa2ef6ce17648cfd46b13b08d8ce9017612c0296d36281936c1737502818100ceb3c37dde127b7a1539da1061da9a119f00d6e88cb2dc350a323d517efa6da3ea0e0d5a62cb5c95f2e2bc233ad4a68798fddbeb9ba914ff805287492082727e831a1a64938f119a57b80c4cf87348231265f5988f7ecfdaeed964567467fce6c0cbae5399f1674b3db04a0e54a97c43a5f6f8e0d66253a07d36d960269519b10281800db2bbcadbc4970b8d1e4caa7c8a0246170bbc8d2cf4f986685a4bc9b87bd6f93c5dfa3cdc1d618130934dfac70d14207abc25047d16f966c2a0b7216cb424fcaf78e3daa9e31db5d352132955c8f7c8c966dd844e4341e9a98f98d26f10b62247bda438be12610039ab87d0a9e893aec379b34fda0e1ca05631d9e8d28d456502818100c5f32da25a8bc4a853af857feed65479cf961439bc9485825df362f9aaead51906cad24adf15f5e2bc2a1b1679feb0446765a5b8eae76fee87cb8137ace480155c2421667451acffec459bb212b5043e621e36a715b4d205ce7b6e35c560d8b77ba713998871c104335da26e3af1dcc94425528eaf8096a9b9804f885f2aa6e10281806bebb7d6fd832d7d0494393ad36d69809d5dfd412a2ccc954f57f2ec8ba97a558375ec6815e48839f4caa896f5684eed3ad37a131f081d5f04144ac75897f3e876d28699927d249ba86ef8017b83bddf2d83e8a6ac8f3bf180c5ebe477a7032cb0123bf27c292678dc5bf51f1a92e278c965d77d4749ae08defbd2348b059316]\n\n# tcId = 36\n# ciphertext has low hamming weight\nct = 01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nmsg = 636d26280a49b4207bd30e67e5e15ddb5455\nresult = valid\n\n[d = 7e60a24231b43275729daec4ee6047e8af545cb10a0bfc849bf256273055e581a55f2b15ba1a6058c67252d7605f6d1cb91416fdc8325a8718e747cf8594348577bb79514c5a676c2b8829993e28258a449c5f9fedad5a641d42990ee9ac172db9f595f0fc45b18b5c93fbc422d41694df9b3545a984cbfc090b5c1722a38c9b50698cac516d5aa16d89864c8568a2956ecd7db8369490e28d3764de0078d20753db4285afff292fba35d5def72959e712f7ab5e40db81d1c89f8c842e97abb25e25f59e78bfe712cbbfd760206e4ecfb001094eef8e238844432086b30dac2b4e7ddd4a725218f45193dd14d4fecc5f683cc4fb4f4418acec3b8da900dec1]\n[e = 010001]\n[keysize = 2048]\n[n = 00ac17529177c7575ed5e394f3380718e614c0105e81016588fb2f95ec4a327fc8e8af681c740024044a9cbaf1f97ba56d23a9f53391f54a84b2f8581f0cc928fcd4c55e067f8d3629a1fb018a1574466554a18df0121cfaa56703b17470a77e6f6909f4f89b865f11c6f9a951dd67cb73b146eb68aca6c0af6e56533f4ff8c31070d3607edc565d22ebb418d2a00a5b6fb58e29b4d464f0dfca6cb20881c323c9cf91a4fc2a437197f2579d9faaa016a42b59473412245f7640dced842587d6a62fa7c4cb6b57e39b73f0a545bc0e0d6501fa0af22ca162dc0327c4d6b3563fd4880b2010e7e9338a1d90b7cb8b8f410d72287d70bb2079c3a6dc51d6c6a8b807]\n[privateKeyPkcs8 = 308204bc020100300d06092a864886f70d0101010500048204a6308204a20201000282010100ac17529177c7575ed5e394f3380718e614c0105e81016588fb2f95ec4a327fc8e8af681c740024044a9cbaf1f97ba56d23a9f53391f54a84b2f8581f0cc928fcd4c55e067f8d3629a1fb018a1574466554a18df0121cfaa56703b17470a77e6f6909f4f89b865f11c6f9a951dd67cb73b146eb68aca6c0af6e56533f4ff8c31070d3607edc565d22ebb418d2a00a5b6fb58e29b4d464f0dfca6cb20881c323c9cf91a4fc2a437197f2579d9faaa016a42b59473412245f7640dced842587d6a62fa7c4cb6b57e39b73f0a545bc0e0d6501fa0af22ca162dc0327c4d6b3563fd4880b2010e7e9338a1d90b7cb8b8f410d72287d70bb2079c3a6dc51d6c6a8b80702030100010281ff7e60a24231b43275729daec4ee6047e8af545cb10a0bfc849bf256273055e581a55f2b15ba1a6058c67252d7605f6d1cb91416fdc8325a8718e747cf8594348577bb79514c5a676c2b8829993e28258a449c5f9fedad5a641d42990ee9ac172db9f595f0fc45b18b5c93fbc422d41694df9b3545a984cbfc090b5c1722a38c9b50698cac516d5aa16d89864c8568a2956ecd7db8369490e28d3764de0078d20753db4285afff292fba35d5def72959e712f7ab5e40db81d1c89f8c842e97abb25e25f59e78bfe712cbbfd760206e4ecfb001094eef8e238844432086b30dac2b4e7ddd4a725218f45193dd14d4fecc5f683cc4fb4f4418acec3b8da900dec102818100e811b5a9c9e65a385fa5cf0e3f3408e613b4a33d270c70141f2359736f5e0cbcec22bc940320827ed227a4ece56876f6047be2475912f8ea86cef0dba1ba72dbc0d7970c549514ebea6e07edccf07a1cfa736e3256ac4829aefcff287c98188b1e4e6d6b3a4d5d15c6a8352694e609f542402afa0d30fb1e9ae11681dbb639df02818100bdd6474fce37443303a839a65bc9dab7d66e0ded2fa924ed8d30e8cf1604a6b589b7a3ce5a2cac20161d80c2052c4c8771ef7215adddfb6949cacf8833505055462c5430e283a8cc8b1cfb21827168bd245f7fba6d4aca3cab9888b12c6bf1e0972297b59859bc3522706eaee8f086ef0e655bb27c93b53146a8e19af7d796d9028180313cf8af52a0264a49b8f36a916c67eaf109658d2708d38ae1646da9395ada17077f0345e037f89811dcc9785de04145478445695ff3cf8e6b15e332a668d9cfd865a5adbf107684eb9376e9348f5d4962b6350e47277c9423859859adbdd38f48d9d90b642e5feeabdcaa924a0b58d789bbf5a262441f33ca26b1d0d19e233f0281810099d96417d85f4fe52c2c94f42ee56b5d9be9bb5da347a886e0eb6772153d15c2806714d932998bb1c15a8db4302f13a29d82d9e999ec1249e524f9863f57f292f979098e48b53d02f0273f9b8bb4cf96a238c732564acb95d9d797c846e100b8eca37b620fa381f56a00c6a2f8639e67753a4dd35c44f50e875e6ce083c5f419028181009d7230cada81be92c5f9ce4fb4c973fe0c56a230d99f4b59bd3f3a867d548787a562e47f13a1327d6d88b61c68d564bcac123c0bd63fb4c4cad5174886dd28632a2326afc7f172055c6e0760515259561e67b8a24362a50ac758f7e3289cb5b915b445eef1e62ca603d56d39569e689bfec6911deb4c37b0c73337fd23156a6f]\n\n# tcId = 37\n# ciphertext has high hamming weight\nct = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nmsg = 44fadc2b07145f74c552f37b2140338aef1b46d7d4aabcb041faf19f22d6d18fc40a5e9aa4fa7013ee7953f180323d4affd3adf4c358084b057e48ee001ff567f5f509d8d429aecdac397447893d81323132b141ed345e0c52a980d470deb3951b6feb4c\nresult = valid\n\n[d = 50ef8824a0174d47039d0d427c85a7afc1478fcd7b6f0cad060d4ac4f16a136327f8d766b1750783d33bae44ea6553bb0ad3857813125ce1a38440d8f35fad5460e5d19e2185e517634c4fd9eeea0bb055cf457434bc96c43b70d3ea7b6be92279ce05d5d8ea7b4caa3d915215ac5bd7ee8e56418d91706f8ececa304dbe7e0e23c5ec42a029d1a60a1c9673e3a8bc942754d4d601f1847fb3539a3259c36c725f279c1ad4480f7186c1d641f377fa3d7ee90a5bf16b8f1c7d9f289b854cb77bfd0f41a028b9634cf3adda3b5567918d2b5d0aa08bc8ccec8d0b39c561f1c92aa6b200bb8824f", + "f50067ef87c0f55e0a981655180aef3bc335c557a9be54e1fe1]\n[e = 010001]\n[keysize = 2048]\n[n = 00c01f17440887a6016faad9d70d23e5290ebef6ee9b7707affc88fa85b0b66033e1cf2a82654518e2b732c2edbafa9d2b68b2fef78ed36d6c421c5bb2304711d98a5ab9aff8c48f8c35ecd5e0c721eede459832d83b92a7edfebaf163c1445a003b3300f8eea2ce43b88cad04c413b561006b7494810fc5b46c6598d3da90d044f5ef73754c3b14fbce33bf0269faacbae52328602b13e0dc7c485c02caa54b05821f5e6923c3c7b3bdfbf9f444aa3003cb031af78804b4702185a42b38ddc0bd1bebfe107685b40de763cb1797c95e0cbb41f92ba62e3f383103ab7cc01604c50c2776b022278da9b359e6c94badb7017ed3ac100a9afeec1218d28e839f2f1b]\n[privateKeyPkcs8 = 308204bf020100300d06092a864886f70d0101010500048204a9308204a50201000282010100c01f17440887a6016faad9d70d23e5290ebef6ee9b7707affc88fa85b0b66033e1cf2a82654518e2b732c2edbafa9d2b68b2fef78ed36d6c421c5bb2304711d98a5ab9aff8c48f8c35ecd5e0c721eede459832d83b92a7edfebaf163c1445a003b3300f8eea2ce43b88cad04c413b561006b7494810fc5b46c6598d3da90d044f5ef73754c3b14fbce33bf0269faacbae52328602b13e0dc7c485c02caa54b05821f5e6923c3c7b3bdfbf9f444aa3003cb031af78804b4702185a42b38ddc0bd1bebfe107685b40de763cb1797c95e0cbb41f92ba62e3f383103ab7cc01604c50c2776b022278da9b359e6c94badb7017ed3ac100a9afeec1218d28e839f2f1b02030100010282010050ef8824a0174d47039d0d427c85a7afc1478fcd7b6f0cad060d4ac4f16a136327f8d766b1750783d33bae44ea6553bb0ad3857813125ce1a38440d8f35fad5460e5d19e2185e517634c4fd9eeea0bb055cf457434bc96c43b70d3ea7b6be92279ce05d5d8ea7b4caa3d915215ac5bd7ee8e56418d91706f8ececa304dbe7e0e23c5ec42a029d1a60a1c9673e3a8bc942754d4d601f1847fb3539a3259c36c725f279c1ad4480f7186c1d641f377fa3d7ee90a5bf16b8f1c7d9f289b854cb77bfd0f41a028b9634cf3adda3b5567918d2b5d0aa08bc8ccec8d0b39c561f1c92aa6b200bb8824ff50067ef87c0f55e0a981655180aef3bc335c557a9be54e1fe102818100efac2aa13cc58edb458882585cdcfead704eed622a314d923d56e3fd21924f99fe68d20bea1e2fabf67837ec6b52248a866fb6709f550643c720f631f9d860c42f66a8dbe1e36d6fe2330211c6b9b692ff2a0bae8c700f4da7a04e06388bc313e6b480949565a160940c4f0a4323d960fb89fee973960f1972108088e147418b02818100cd35a50245114f6bedf1e0b000c725f1e659b446a05faa14542ef088fe8555fe7c19c4e97e58bcedc9813eb7bf700b59494338b7208c24d256f73c6d72af2c05ad7776de913053eddfb44e0f7db687654a3ee89fe095c331d9bc2b01ae9cb520e8355eda2e5516dd2f4c4459bc16b40bd95174f11a548c3589984d4306f05ab102818100a06245e4c0163412e7e501d4bfcfe35d8cda44607c7ba1bd4aeeea826a04cedfee2f96e0023b510b7253e09884f8e31b0ffb91caabd4e9ec5144ed7b6406383b10bd522252772eb4c05a01f88353a3a99ab7383a0620b71cf01f861703a0035b3df76c5401e590a8606a1c3a71d37b943abf8da60b834f7767ad435655eaa92102818100cd1996c8c3fb5f2402784417e54f262fb609665348ab14b4a8c71985f2cd957b7ad1ceab88aa6c7a4572361b34ed698a5ddd1fec784d59e8191f9677d5ae1b13b9a2b35e1442f73fc2dcd5404a678abfc40b4839b3203c2db0ef8f14694f1b01bed4c8eecc6c232402c7f970aebb0a4ce571b2addfa12d59bd2249e67a22f4a102818100d4b887f8d46a40a14d6582c7fb2eba4fbd715757ae88ba1f644a297483e364a1286503aeab798d30f4d2eae9710b5b71fcc2d132314da4daabd252020527312b3e9f7d4d8d3c4c8df4645720c337d10f3706c06d181c48bfaf35c18ec759da166e3c9312828fff9932bf227d8777dce56ff003301072c620e7380be48aeffb99]\n\n# tcId = 38\n# ciphertext has high hamming weight\nct = 00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nmsg = a4f7ea4da2d695750150d5c9889a6b4ad0a183184a9561b9dfe0afafaccf16010628cc51c68d5035919edaa1ed462d06c4b5feb649be3c60f7bdc1e4a964e758bb0541382b61b49a77314e08b3a88f65d3b5ca2d49b15ff8afa229f462535fcf7f3f20dc01d824927040446a8136cc22ef049b2c\nresult = valid\n\n[d = 2b09c12e8d0e96b3ae88077ee960021adcaedff938ba7d13da0e7152efa04e17d7beff53f0a714ae3197a5b44685e5b4a002d96ab8fe83cdba7cc0b84184a9a18648951fffc3e0a580f6411ac053c4de699b27c44371c9af451285b46d8507f13eac5a21a0cee6485af5a7036223e7d70ccf5d5d3747397ba7acc60d9d8e37b875498d06e7ca08c93cde6d8d7263cc0c696032fe973750d617b979c7afc2628938a2bb3ef6d787955b198dd114bf6af63a28e0fd7d32c85aca53c0255972841f99c4a4707afbc05c329aeb3f3daa4325e80116fdeb38f8a452f1ad4280e324df9edb9c471dffb27b679381ee11b01a656e183aab9b5b480d7ef81d0a5a3a0d01]\n[e = 010001]\n[keysize = 2048]\n[n = 009ed120a37de2127bb18615516cd7931182ad62d39d1ce99adb21d60b8b940830843ffc9537bda7be9760bd49fa61809ce9467a6e0baa28c479006465827e15c4ba08b2a1be1873e96bdfbdd2d129208ce4b15fef184dae5f3b874e0da757f2f1cbd7c43cd0445e6eb879cd292f2759df8c50de0c4a53bada3179f889f81936fe12bdd9c906d80781963781e877e4981ea4c394417965c24d82730c15a3c1ec338873b536552ae1f6d92fb39653a8ebad8338a8dd16492673a18d3c123edcdea1e100f15adc127e04ddf4c4acf2d1c44e875d65de40c4f51dde0249dd58528a371a7c764f0589d342d52bedae8e7e8889f17f9bc0c0c14237b34a8ef7c4b6b56b]\n[privateKeyPkcs8 = 308204bd020100300d06092a864886f70d0101010500048204a7308204a302010002820101009ed120a37de2127bb18615516cd7931182ad62d39d1ce99adb21d60b8b940830843ffc9537bda7be9760bd49fa61809ce9467a6e0baa28c479006465827e15c4ba08b2a1be1873e96bdfbdd2d129208ce4b15fef184dae5f3b874e0da757f2f1cbd7c43cd0445e6eb879cd292f2759df8c50de0c4a53bada3179f889f81936fe12bdd9c906d80781963781e877e4981ea4c394417965c24d82730c15a3c1ec338873b536552ae1f6d92fb39653a8ebad8338a8dd16492673a18d3c123edcdea1e100f15adc127e04ddf4c4acf2d1c44e875d65de40c4f51dde0249dd58528a371a7c764f0589d342d52bedae8e7e8889f17f9bc0c0c14237b34a8ef7c4b6b56b0203010001028201002b09c12e8d0e96b3ae88077ee960021adcaedff938ba7d13da0e7152efa04e17d7beff53f0a714ae3197a5b44685e5b4a002d96ab8fe83cdba7cc0b84184a9a18648951fffc3e0a580f6411ac053c4de699b27c44371c9af451285b46d8507f13eac5a21a0cee6485af5a7036223e7d70ccf5d5d3747397ba7acc60d9d8e37b875498d06e7ca08c93cde6d8d7263cc0c696032fe973750d617b979c7afc2628938a2bb3ef6d787955b198dd114bf6af63a28e0fd7d32c85aca53c0255972841f99c4a4707afbc05c329aeb3f3daa4325e80116fdeb38f8a452f1ad4280e324df9edb9c471dffb27b679381ee11b01a656e183aab9b5b480d7ef81d0a5a3a0d0102818100cede080639a5e44e156f5e205aca552678ce7eb0962e7a633da3827832de3b43310d183539b5d3716e60eb04bf26a4cd580a38ec8cd697ce544d4d7a47d3eae4625fa60a9138dbc8d397590e332277168281f8d09eddc95cf7254ec1bbe0165104f33eed294f3417ddfa05ce88ab961b354afda8f4fc075d805fd8f19762faef02818100c48987b8d0a44a9783e66ecbcdfa750364f8d39f8030b50a6f05b6cd464ee6bd36048a1173b1f745b977f01576c0170dc27cebed558d3af636e64bde2b4655ba4bd48520ca7174af8b2f5341e823871acc7b7f849b1d8b460a102d8e42e1889d9cc1195c685aac275c751ce5bc82836b624b17cf858f3693103dcbaaf9241d4502818100a2ecfc24eb025ceda2b433ce07b3939cd948c93f0b09501b1950ce511cbf2aada0d44f5c9c373870fe1e16fb8611497af0fc1c19325350fc9028d1fc9cd5ab0a74f02035f26a75af95f67d8d5178b39266f736a0187f553882ee3f39165f47344851cc1dbd8b43dc0858027ac7e95c2fd1a95e5ed3942bb8d882a4baa220b2c10281802088234f143a1d9eb6d68dc06e77e6a6893026d76000aff6ea29a7f8928abce6d4ea2b7078161d380d5b2d026085ab4b3bc631c73742096077f5e6d8ff90c4dff16d5c1bf1669649f85ffd080bc4d5b839e0b75adbd2281b8fceddbb8e968666906be626c59f3c9fc74e1b5a6bb9aec7379df673034891600670342638d721810281801bcd11d65ef3e2c256bd5193dbf2bb5af368bc726838b0f391e785d8faca704f5b931e9fbfcbea61c76570355e4be513adb11df943afde22b5ce394a273397ee23e96116329e142cc731c9d606a1dbf0a7c37dde92216e011749a379266fa4d0b16395c2cdbdec7e0a52f5f16471f459c03fed5e6c1f2331564213a2ea34efbd]\n\n# tcId = 39\n# ciphertext mod p,q has high hamming weight\nct = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nmsg = 0148726644c9d20762c9546d18d3c13c620f4b3b4073c68c4f9dca924acede084e66cc1e31cc7135b53b483fd32d866517aee3db019e56d161787ee6e873f6c4f08acfc58222871dd6ccec5e2dd1898990c6cd98340a12fb7f7b404d15a5dbc26bbcb2f", + "18547ba2d62c5a5923f9ed5b90ceffd597e8dda192de98fc3c7ebc169863de9f56bdd549404a690b3ef50a59e29375557c88f\nresult = valid\n\n[d = 0dc7c66696abbe32b7e45e194277ba258a94a0513c77de6674b128c8c37aa6c54618b4514c0e543ddaa40b4f98be347d48385ef4a54ec9516bce481a742fc15c85b26c01dae4430913d9048a38039d0fd0d61ecfca8aa2029c493ccb342e2d5acdaaf0f80fcaebda7fd5a0b629c63a4f82f29840193b6d68411c3b6352111ecd7335809a380e647c57babc7ce9a1410011feda9ab0fdcfea820bbfde5652f6b1658bed43ee719d054939467846d98771019225eef193480995dc4fc6fd12ff6534f35027b8d15a7afe90187081886db0e7e3530cf60ea98ce5704291737b8e9b26b53e40a6508e34b91c136967f8e633e9ed95f65b89fc3e4d3fc88f491921e9]\n[e = 010001]\n[keysize = 2048]\n[n = 00c7ac781ffb9a9f691c4dfe64e47de98b8f265e667d5fc2532668caf63921ead3d8440e605a89c7c017a722c9d654db1fe7de724689bb35d684fe038d018a3f4b47e0da7d79c09ab4b74660101b0b8cf5120d39718f0d1b11818c422220caf09a9324fede40ce3a9ab9c45ffb28f192688dd838c085c64df9eaa20429bd59c2757732ce09ae78179b99da63c1c94efec3426f81b63b8f31478f50f826ea378f391223d841aa55c72eda9094e88d658a0972d92468ce651573f0212244e04ad0d95d61f95924f65aa85c316771f18edb27e9a71a53e763c7786f14589514a7029791388fabe024e39ab31ec634a4dd85e334360791092a4d3a15d547ac40ca1fc7]\n[privateKeyPkcs8 = 308204be020100300d06092a864886f70d0101010500048204a8308204a40201000282010100c7ac781ffb9a9f691c4dfe64e47de98b8f265e667d5fc2532668caf63921ead3d8440e605a89c7c017a722c9d654db1fe7de724689bb35d684fe038d018a3f4b47e0da7d79c09ab4b74660101b0b8cf5120d39718f0d1b11818c422220caf09a9324fede40ce3a9ab9c45ffb28f192688dd838c085c64df9eaa20429bd59c2757732ce09ae78179b99da63c1c94efec3426f81b63b8f31478f50f826ea378f391223d841aa55c72eda9094e88d658a0972d92468ce651573f0212244e04ad0d95d61f95924f65aa85c316771f18edb27e9a71a53e763c7786f14589514a7029791388fabe024e39ab31ec634a4dd85e334360791092a4d3a15d547ac40ca1fc70203010001028201000dc7c66696abbe32b7e45e194277ba258a94a0513c77de6674b128c8c37aa6c54618b4514c0e543ddaa40b4f98be347d48385ef4a54ec9516bce481a742fc15c85b26c01dae4430913d9048a38039d0fd0d61ecfca8aa2029c493ccb342e2d5acdaaf0f80fcaebda7fd5a0b629c63a4f82f29840193b6d68411c3b6352111ecd7335809a380e647c57babc7ce9a1410011feda9ab0fdcfea820bbfde5652f6b1658bed43ee719d054939467846d98771019225eef193480995dc4fc6fd12ff6534f35027b8d15a7afe90187081886db0e7e3530cf60ea98ce5704291737b8e9b26b53e40a6508e34b91c136967f8e633e9ed95f65b89fc3e4d3fc88f491921e902818100fa2be1bf12c6b55c095112496edb08a523ba9e24d4aed479bf4eea882f240a49e6c77d940c99755549cf30cebc218661a1791481a8a63dbab209f126cb43fd29a41ef05513a2e7c5258bf2b40b17e98abe31d52f2ef26db3c487609c6ab2b9e69a84f11d0860f09a62d6d52f524035af9530d78381d1954e632562b3a7d4911302818100cc536656010736f6ef6492a2da5bd075e7faa46db5dc67e11d7a7205d826c31de8371f502fc9d21c39d7e0df2983f491db457d0591b98b5259a911cd0a3788573d2a858874a76cfb440e2a477ed59f4c988332730c583e1db2b131273e132eac0590a49ec595d90198f75ee8f1cfd8c97d50b2a19f1956d60c8ffba9e30640fd0281803d118533dd6380560d382b1c9de0fe0541e9863d3b65ca1c4624ff7f6af2834872fb739e364d27a540354196d5b9e151e7d6e4b899f0aad4ee2d1b1efb33879328ab1cc3c7dd56727bade3fb2b521502775736d123c6ae1cd9f6aa10c4c3083a50b1ef21c52fd4cbfb20b23db0f857a29aeaa75144d962771620c42d52e4c2dd028181008ac43563418d81d1d121cfc8d45db8c4eac8b9b55ce6949239aff8126a0b614645787246c63dddf9977b3ad8b4dc4e5464c3dbb5d5935ac091ee160dd7db8138266d63851a1cbf1222d52ff7a0773a9a0d9644c407e542426f22920c61c72b525ef12e2c3a6a9b97cf286987f0fa44f40aacacb4c155b738e60d3f50d0c3658d02818100ef71c5bc951d7c616ba48c913919480930a864450d893776eacf21844ccb0ae76eeff814eac5a9b50c2069d822e270adad94ed19fd6ef0de3f7154a6a412bc784f78ecb5c1cb09bd5540732566d3497605cce3a6e0ce69c95dd803f291183b275afc780971c1b507b22daf2fd060b05ae277269aa36489587d5a84ca22ad1975]\n\n# tcId = 40\n# ciphertext mod p,q has low hamming weight\nct = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nmsg = 30bc6828ea18265687b8bd3bae90a8c1\nresult = valid\n\n[d = 4c340ee9111801978db8d5de581b8c825bab65e64165f5d83c7d99551c21e1e202a12a0e905ede10fb8ac383e89d736f3458370d1429e764fcedbfd7465686abee6c1e6755f08880314ffbc2ed473041095680da453a40e780e301e4a6f600fee8d25ed421e1f4732e231485d5380d995e83858eccf4511c5781c71b7a0a7cb41d7238c3dab14a136d6c3bb829347dd5e7e45d8d76c0db0c55f384f9c118de3442573e992a1ad3f81e6b0475ee302609b22b4defaafe8339c29d371732cd66a1bcecc7c84da5aa58685b84cce664e9211fcc8b21bd81d4d1cec3471bd52a729e24785b4ea510ef638a6596b9ab2638904532df185642b823a04d7d6bd8fd73e1]\n[e = 010001]\n[keysize = 2048]\n[n = 00a6fa514e4abb5a0c7078f4db7a2edbded360d84197a9fd5d8c23d3e43641df5a9ac31b425001e766386751dbba10a824f969b5f05d2f5672ae22fad8f66ba21bc233ca72c87987565605be718e7871422f800a471c7f96044721d30f8f3ed55b5a103554270c5a99ef773602279c87e649f15d3d3aa1d6f8ed3f6308825b97434975f65359be75362bd95b6a6347b994951db1b2ad97ee12e21c8284f82392f6d08cf26470f76c4bbfbfc608d499a1b263968962134cff8010b2f15c3c7b19c0858c63e6f412727d196fc229d24651c839093466982a81bc2673f58b6e8625830eff0a22a3af66b9c9c1e47a99aa057ab8c0d16b16bb479a751ef3a3f1653c5f]\n[privateKeyPkcs8 = 308204bc020100300d06092a864886f70d0101010500048204a6308204a20201000282010100a6fa514e4abb5a0c7078f4db7a2edbded360d84197a9fd5d8c23d3e43641df5a9ac31b425001e766386751dbba10a824f969b5f05d2f5672ae22fad8f66ba21bc233ca72c87987565605be718e7871422f800a471c7f96044721d30f8f3ed55b5a103554270c5a99ef773602279c87e649f15d3d3aa1d6f8ed3f6308825b97434975f65359be75362bd95b6a6347b994951db1b2ad97ee12e21c8284f82392f6d08cf26470f76c4bbfbfc608d499a1b263968962134cff8010b2f15c3c7b19c0858c63e6f412727d196fc229d24651c839093466982a81bc2673f58b6e8625830eff0a22a3af66b9c9c1e47a99aa057ab8c0d16b16bb479a751ef3a3f1653c5f0203010001028201004c340ee9111801978db8d5de581b8c825bab65e64165f5d83c7d99551c21e1e202a12a0e905ede10fb8ac383e89d736f3458370d1429e764fcedbfd7465686abee6c1e6755f08880314ffbc2ed473041095680da453a40e780e301e4a6f600fee8d25ed421e1f4732e231485d5380d995e83858eccf4511c5781c71b7a0a7cb41d7238c3dab14a136d6c3bb829347dd5e7e45d8d76c0db0c55f384f9c118de3442573e992a1ad3f81e6b0475ee302609b22b4defaafe8339c29d371732cd66a1bcecc7c84da5aa58685b84cce664e9211fcc8b21bd81d4d1cec3471bd52a729e24785b4ea510ef638a6596b9ab2638904532df185642b823a04d7d6bd8fd73e102818100e99c2ac2c9e1cabe0c54efccea49f9fbb1d4c0999ed8f3dcdd6b8300d83772ccfff4c9ddbfcfdda0c5ab01679bf0423b2b481488cde9e5307224fee2d37435183efe825d1870b8545e612f3ee8694817270f28f7a62ea122ae2fd0c30498af9ebf9c078f17e9ea065fabf753354b869b4110fcb4b82990950236b728d4ca4eaf02818100b6fb44ce7578f18a1c48e5d6a86e0768043e94cbbf56b38042fcb90b8a6b9d20c352b9cee2376ac317fa42cfb5bab87e05d7423f136efb2fe433a1ca7129645a2f3334d1dae55ab0265d8ec7a7f78f02cfe6dd269d1d1378716b03365d3922967438c1358075aaf3821c48eed9b59f85be1197b9c17f3fc52c5e77da9650d9510281807120d0505e257ae207e4c5efecf1801e94229c56886735c91a6ceb16e89e09791ee6732f70a90001d0579ca98909937945df751a3ee56ab8c83e0434e2039f86ab52e2dca46e49c589a2f49739436ac6d38272eb62cda7f8bc73a95c1788bd5b5a1cfc481e63879228988580050a1b186a2d08c3977f8165b799b99f0b55213f02818064ede1fd1374db9e378dca21061472c76017f8d10dc050107e6291db18c5d50cbe504227284633005b987203ca14ad30ee1dd6ef9dd3887fd91ad5b2298b104c625e9752edafb6bf14da642822b0fd542ac307d705b0850dd95992930906bbda4b4f06db70f8f68b8c87f77eafdd6b9944c6c56ef39931de9b639c2e98dd0d9102818072949cbe1de1edc01c21d2bda3f13ad55e950c0823c928c9af117f004cb42e4a1ab01d7f139ab1578643c833e5c580b822044bdb03a31ea5ced1070ca9f198919264aec69ad137338ac7a7753f77846f4701f0b458acc22aab16ee8983c7efcfe9ffc1d17171c9906ffaa5c0623c2a496862ae30aae81a73f1166b21ee6ee153]\n\n# tcId = 41\n# special case ciphertext\nct = 537d28a7255dad06383c7a6dbd176def69b06c20cbd4feaec611e9f21b20efad4d618da12800f3b31c33a8eddd0854127cb4daf82e97ab3957117d6c7b35d10de119e539643cc3ab2b02df38c73c38a117c005238e3fcb022390e987c79f6aadad081aaa13862d4cf7bb9b0113ce43f324f8ae9e9d50eb7c769fb184412dcba1a4bafb29acdf3a9b15ecadb531a3dcca4a8ed8d956cbf709710e41427c11c97b68467932387bb625dfdfe3046a4cd0", + "d931cb44b109a67fc0085978ae1e3d8ce042c631f37a09393e8cb7e114e92328e41c849a334c1540de1339fac5b74312c1877f851151d7b35ce4e0f23d4cd502bd5c6068b58b5da3cd3a8f79d1f8b29e30\nmsg = 5428c34ab4a93dedef450347e9b89b894fa6c6b1c07e0205f5b4505cf0e65954760e3ce92a170499dfc10d5f3b4ee72843bd394d04f0310db1f7dc47950ebe88b3d32492d7170814dde0e0564560740f6bc7c34a64a9547977b446e8f9edbec97246e113e6f86a2e81cdbdef6531016638196eaa8cab3cd7c6f6fbdc8a60e5b48698993310872429cf5baa34f32c6fd9320265\nresult = valid\n\n[d = 1de8594775dc196abf0c3cd0c072e60d376db575f2b3ae3b1c082cfd91186621dcef7fc575d0361d755270f7cc01ade8b93c018d8bb883adc5b10a6c75ab9bd7f65c336e3e0d2165e4534477e38ede3c7dac1a784fe02fa3202170003273e3f6b10771033ddbc9cdec6f9f6d308783a76853be9a4fe49bffbce84e65bf29308d956a7375fef2d1a41c60f980817d9a95f485ab29e441805c615cbe6ee17794231b5207c53a21f11ea2f16f576a43a9279702d8614ef8136cb0d69a105308bbe0e7707d88716c8970b4c4d5e3ce41a400b379bc2a5b6307a6063f641b38934fba06bc3af42e4b4d587086309882180bfff4d8974baf6fa3d17ee094a9454d2be1]\n[e = 010001]\n[keysize = 2048]\n[n = 00aca199738e9f86f0e76696188f4d366e6c900d11d0de3ed586f371172e2cfc94289d93411b51d82ca16f63a9e4586d8b0198418307093b1475660d055e4b2940662fee32a10ffefc62df6a2d8bb811eedcb461529ed548e6e094fe8c7a91703524b5af85add10113655c934bcd6b8dcc0d0ee6edcb08f8a84fe871f44f85b2aff13a968bc12a960f8c93877f1bf22d18ac581878a0e6e7643781c91c65ec0135cac31fba6dbb3cf36acf9e3168571edb6d26b02b5c011dd10b57462d0abeb0c2d3d4e0f89680f2834b117215c6d79b3ed938b657b45decedf1524b095dc6160c18dbe58cf8d0a251ec2f9f737bb81997cd863d94c535eec63ff5e6000d80fa13]\n[privateKeyPkcs8 = 308204be020100300d06092a864886f70d0101010500048204a8308204a40201000282010100aca199738e9f86f0e76696188f4d366e6c900d11d0de3ed586f371172e2cfc94289d93411b51d82ca16f63a9e4586d8b0198418307093b1475660d055e4b2940662fee32a10ffefc62df6a2d8bb811eedcb461529ed548e6e094fe8c7a91703524b5af85add10113655c934bcd6b8dcc0d0ee6edcb08f8a84fe871f44f85b2aff13a968bc12a960f8c93877f1bf22d18ac581878a0e6e7643781c91c65ec0135cac31fba6dbb3cf36acf9e3168571edb6d26b02b5c011dd10b57462d0abeb0c2d3d4e0f89680f2834b117215c6d79b3ed938b657b45decedf1524b095dc6160c18dbe58cf8d0a251ec2f9f737bb81997cd863d94c535eec63ff5e6000d80fa130203010001028201001de8594775dc196abf0c3cd0c072e60d376db575f2b3ae3b1c082cfd91186621dcef7fc575d0361d755270f7cc01ade8b93c018d8bb883adc5b10a6c75ab9bd7f65c336e3e0d2165e4534477e38ede3c7dac1a784fe02fa3202170003273e3f6b10771033ddbc9cdec6f9f6d308783a76853be9a4fe49bffbce84e65bf29308d956a7375fef2d1a41c60f980817d9a95f485ab29e441805c615cbe6ee17794231b5207c53a21f11ea2f16f576a43a9279702d8614ef8136cb0d69a105308bbe0e7707d88716c8970b4c4d5e3ce41a400b379bc2a5b6307a6063f641b38934fba06bc3af42e4b4d587086309882180bfff4d8974baf6fa3d17ee094a9454d2be102818100ec7e4a7a3ea4aea022cf4b5caa6d9ff39f7c8285d6dd9789f90f4246217a3f4bb342a377046a216e214874d1d3b4ff599e1fe9b70d81ac5a2ed2bbd18a1ec5bba38431c26c614f5d474b5ca56d78c36a287c6880e3ff2d3d1430fe496c7c0df970df38f699b7919819b4872caefe2d6848a9766dbd013ccf8c9605a6e9c69f7902818100baded1cece65f6ca97df9c1b575c535806de637f7383a381477c682e6dc911a0264465311af636e13ba328a1f7dc8880dba49e683c6dcd7073bc138362d6afdf62ca0e626cee5ff9a325ab2eb0479190f8787d8bf7b4c3e7ed1b4b568abb9dfb26d4d16001392e392bd7eb2aa536109f273c0387056cdab409245cc43d3dc6eb02818100d67690c3db1b2ce13bb010ffafee4a277c72454b6a56f99dbda700cae8811bf56253043a625e7c828adc52541651056017ed88dcdffac079e80c6316dad29d2e5453056cf32c2bf4c33aac81b88cd369e9dd2847fa7ae663857408a63d2322e91a5ad4258db0d2efc41fda95c2fbede1ac43418ab2e3f469a36c4923dcccaac10281802a7dbc0b60574314b21000791f1639454cda88995474dc5aeb1c58bc25ee90796ffa21605717214779be11e132710d00eff0b0ac570148b3873d7eda634119e09ba00241532fa8d724c7cdf2e1d6843d08a2ad39846bb0182e8c04477b6849f5efd078837203c484ef793b5a09131018805d5f17f69dd7e514271688f0bbf95d02818100c017692b3af8ad0506fb23dc02f1d220c7b99d68b91e3f97901c10e9c772e537f5f6102720adf7a55e6beff690c7e48f0c122bdea81f56bd6561a336d73188e3ce213ac853f744f0ec5b8ec10a9b9b0433ecc4a37d9970779e0913bc4bd25d2111e89286ddcbacacd23a13e5d7e0358c35681d558faa484e8104a30938e38bb6]\n\n# tcId = 42\n# ciphertext is a simple fraction\nct = 171759da87532242dcbd4821488d4861c1d87a2479c655e945d02cb5de9799f5f6199413101e0caf24bcfa7319b91da481b3c717dbd894f9f7fe814964cdc5d2f5daab161c5d36346ec30a5d8e8e959df25fc107ce2fe831aeceafcd580dd9d6e862b0dc67c97786947a06788dc037794ba3bac7d6c1dd87f0d0acc4b65d0f05965884a3a6b57c50a3cd7b758907b45f877bace2102e28e61dac68cafdb0cafe635664f27d005bf03c809114e6d2d3ef06f18effdcd8f4b223506259765efbd632be128b67b268df2e6f99714325d7cf089110aedbb55d0556c76a164cb6534b36c0ab6fee98e4d0f8db7a76bac1d9b8328b928e6601092ff61caf0298175a39\nmsg = 9d01acafe3375c444a74d3ed74166e8728eb6657c7644677579720aa8ffebe64f52e36b449f8a0fe79e07bd59e46aa48c83088ac38bf10a3e036158c198a2a3fed283b2710b632e0741f970969b475bc4ae8355e60c440f71f304a1363b24819a351d5147836febbe249d65ef3c483a76df46a019a2f3eecfdf0c18c0ab11de90313cd9af93a857dbaf8049c6efede83274440ece9c2103d00e942ca65a8efbebe6190d9e5ed61816804d941d027cccae2966854b38ea07bcef857e5fc3fb4aa5f3c4c56360007f972d5d6d6740a585d000df619d3466032930a856c2ee14db5e6960c8e9ffe79107e212cdd6e082eccb10a\nresult = valid\n\n[d = 16253d566d6f2660896b3504d2ded2d2c264cf22f9524487bcaf5c0df7075e3a97cf959fe7b78d33c217b47f25d85f30b00f1ad3347d6bfb090382ba45d620342e7532f65627b2bb411d383aab5ffcba33fc32dd06bff027229e4f542d42f9e4fded45637a2d43d42d2e0c527ad28d60a837a45bdf8c39376ac9c13f9b8a39ee93846c65fb70f129e37e5a3d21b5237448e3b78fb128bebe81c78a39c6fcbf0ffa2ee6beba1b5be02e2a7c4c2586380889275ed22f6d1153c1782643fc792542859e8ebbd5da60a8c6b27bd7d22d28089d6a369a0d8188dceb90fa6aa72449a6f58a07575d131dbf4f72a1f05864824511d713ff6350f10e2ab42f36fa37ae01]\n[e = 010001]\n[keysize = 2048]\n[n = 00af1d441122c45188e3b2daef70cacd253a0e611af2d17a60e703baba696e5ef2d7ca0d53eeeedaca1c079ddd3b0b0732e15a4839cd1daac35ddacd85b368f5721eee409a7983bbe3f2eb09a23632a8d700b1235fadde1ce1f05a8013a9bc05302e08027e8102e755877b59f65625d029312ed813e3960410ed419b787cd8235e002c26f1f7bd7e03754ec0fc12087edb85dc793757324ca90611a22364bba069f084fcfe7730a98f6f6b784e65b84643443e38b317af8cf99c7e4711f7303c7c323b3ca4b6b306b76bc9f554b9713fed313713d98438efcb3cc9c6d4958ba84bd80f2989e4e059005a6585ec18c6c6c887c143d9ed962303d6c74c21771184f3]\n[privateKeyPkcs8 = 308204be020100300d06092a864886f70d0101010500048204a8308204a40201000282010100af1d441122c45188e3b2daef70cacd253a0e611af2d17a60e703baba696e5ef2d7ca0d53eeeedaca1c079ddd3b0b0732e15a4839cd1daac35ddacd85b368f5721eee409a7983bbe3f2eb09a23632a8d700b1235fadde1ce1f05a8013a9bc05302e08027e8102e755877b59f65625d029312ed813e3960410ed419b787cd8235e002c26f1f7bd7e03754ec0fc12087edb85dc793757324ca90611a22364bba069f084fcfe7730a98f6f6b784e65b84643443e38b317af8cf99c7e4711f7303c7c323b3ca4b6b306b76bc9f554b9713fed313713d98438efcb3cc9c6d4958ba84bd80f2989e4e059005a6585ec18c6c6c887c143d9ed962303d6c74c21771184f302030100010282010016253d566d6f2660896b3504d2ded2d2c264cf22f9524487bcaf5c0df7075e3a97cf959fe7b78d33c217b47f25d85f30b00f1ad3347d6bfb090382ba45d620342e7532f65627b2bb411d383aab5ffcba33fc32dd06bff027229e4f542d42f9e4fded45637a2d43d42d2e0c527ad28d60a837a45bdf8c39376ac9c13f9b8a39ee93846c65fb70f129e37e5a3d21b5237448e3b78fb128bebe81c78a39c6fcbf0ffa2ee6beba1b5be02e2a7c4c2586380889275ed22f6d1153c1782643fc792542859e8ebbd5da60a8c6b27bd7d22d28089d6a369a0d8188dceb90fa6aa72449a6f58a07575d131dbf4f72a1f05864824511d713ff6350f10e2ab42f36fa37ae0102818100ea1586f2fbdfde7f7b5bf8640a757e897716cd7e7c3426b9c3df106bf6ad36242b10021cc4c23b2e7dff3114c0f66623cfe9df6e9946099e45b1b75447da1331a5cbeb40b0191901e4fb296438fc6c9db4d2f496ec5a891ee6c3ac1ae205a8bc3621642f7f58c701236354e1dff558d327d3fe91645f531ac3374938cffaba9b02818100bf825d735ff9e5da51a9b5f413dbfc1367fa0affc08a031db2b0b73c55a37aaec08cac6030249bfbd079caf95717f17568f730f106d6373926fcc147fa8b7b76b0f911511aac035b5a79b6dd49f08e6fef744e928733b3d143cd946f8598426d101b559e76024b400af6c82cfddb7a8315ea20049a80506ea4c987030c7178890281810089be091eca1fbda97e496c2c520b395e6279448a7d43a2d604f029959e1de691f9d4fda9380ea30c848fb9ade0ae1d044dbfecfe03ab36d5af6517dfbc3812bb503862423a5d4a5dd704042339752fe4cd16a55e79cdfc89f67885b97beea08fbfba7e5d84ae14cc12aaccb3ed394dff529c685bdd984a2aa15cd2f55f4cc6a90281800dec8f98dce89182bf1f44c07b552a4dcae88e362c2c9caf6317a02afddb060780ae79b600aa18c1455625a0dd693b401b22a5e75064", + "f0dcf1edbcabdc169a22761995ddbcbfb6fac46847186dd0d4ba64c1a318da45b3144b06be7d214c81bfe644e683bff6c8bbde50351bb85565e1f40cf2c902e6c37257fee31720a77b6902818100e1b7b58183f44db95a767f55d82a777aff5b62f44a2b29382f823e62a45bfa87356c089816314d18274c57e4294135aabffed934518f61761c6b9d3fc47201eee298944a888c5eb004b161798a91ff3775dda795f244ccbdae5bd90e71301e1c24cdb3e4398c6a2860ca67481b362947f9fb9a5b75f5b3623d7c063fd5e8aed6]\n\n# tcId = 43\n# ciphertext is a simple fraction\nct = 46a9ee986efc30f16a6d46521865f3ebf97ee2c02d693f8f3ae746c99716ee5d10a25a8fb34fb75c735062bed816c2a2cfcc6733c9d1f1b23df893cbaa8c92dbf0e8bf93a80d8a21c1d4cd2af3da728d9aa476ae55ca700820435c02cd872d3835b4cb0f4626feecb0bbe45f35e2f80c704d9a4e1e2bc613bf06fb52f26ca5cba69c3bd96b1a3845a3fed672a52110a9e710a7710a4ffa44f1ff890c1d698882eb27b27cd8184a9f5e3d4b33a51885f23b80e97887e7099c3bea6aa76db83ac9ec6880ce784d34a4cecf841404d6295f531e6f1262ddfef28f06412670ccd2af404b76f94d98ae6c2789944b66cea2a033e2f405217624fea444666ef30c7b84\nmsg = 6742f1e5ba666a102747f6c90b7afe5700249cf60192b201c6c29bfff1487b0ca4100091e9e1d94df3af18021822835b40b9c20e2bf83ef174deaebc94ac9770d8b128ade611c19256d6fb62a41301898af074254c756f8a241851f3d4a052d7745f99d9e161434af4940a80610cb2fe63520bcefda74564b02c99ee9b0d88036ac39ce547cf103fee0c1666f0757734c29577fbd2f88e11058b5f3e81f82ff3f456ddc8018f7ed740979b15da66469b\nresult = valid\n\n[d = 49afb0149ed3ee236c284e0e35bb4e6e085905bb8de274e85d5202613a0e92c461721f289781d7f43482f6249e27d595f36fff1542285590704bd15f79ce3d5749f156a3c3bc68483bb2a3f4441c8311b160413b6aa01b2b1432c620afff3612b931cb6ca7c75a07e076b6a5626174a7e3017dde310237416b3875e588dd9f188f418ccf49d8538d29da7291c5fdd7213d615e5f1d7f94768dca6112978dbdcac1f9b801ec1463e9fc2a49d34b9a638605751485e9f1129800f3ed7e73cf27edbbcb80f11655f10b900544862bf7bf89adbcd5bd23c3ebb744a688078934138a0fb930670ff4b6588f6034777ca1124cd01caa726c75d85963cb3500795401a9]\n[e = 010001]\n[keysize = 2048]\n[n = 00d932a891279753a70c0a5788da0b6c740bc78384b46c43460d9d1d7d64310f066d5d62799e115b542c05012b692c5355ca525492902c1e38ab77c96a7e7d07f651f0ab91dcc4fadf46fb5244065d58620eb6d31d736eceb027c46e4c0424d27f0f16d3e248f3bf3ca93127729f043fc1a307961188c44abe77e782e3d2a022872792425f342de097145551cce568e26f34cd0ac787baf3b7e85a768a469dfcffdb6ed2ed8cd7c433f4db4577cc10ef49a34351c8ebba3240e9a5e867374df01732156e3269f656389aee2eddfeccba60ab913bf3dc734e56b094ae1644a547af5ae4d7153a87610a51af70bd5796d6a2dd874653c5cc5cdc502d7f3358f4de79]\n[privateKeyPkcs8 = 308204be020100300d06092a864886f70d0101010500048204a8308204a40201000282010100d932a891279753a70c0a5788da0b6c740bc78384b46c43460d9d1d7d64310f066d5d62799e115b542c05012b692c5355ca525492902c1e38ab77c96a7e7d07f651f0ab91dcc4fadf46fb5244065d58620eb6d31d736eceb027c46e4c0424d27f0f16d3e248f3bf3ca93127729f043fc1a307961188c44abe77e782e3d2a022872792425f342de097145551cce568e26f34cd0ac787baf3b7e85a768a469dfcffdb6ed2ed8cd7c433f4db4577cc10ef49a34351c8ebba3240e9a5e867374df01732156e3269f656389aee2eddfeccba60ab913bf3dc734e56b094ae1644a547af5ae4d7153a87610a51af70bd5796d6a2dd874653c5cc5cdc502d7f3358f4de7902030100010282010049afb0149ed3ee236c284e0e35bb4e6e085905bb8de274e85d5202613a0e92c461721f289781d7f43482f6249e27d595f36fff1542285590704bd15f79ce3d5749f156a3c3bc68483bb2a3f4441c8311b160413b6aa01b2b1432c620afff3612b931cb6ca7c75a07e076b6a5626174a7e3017dde310237416b3875e588dd9f188f418ccf49d8538d29da7291c5fdd7213d615e5f1d7f94768dca6112978dbdcac1f9b801ec1463e9fc2a49d34b9a638605751485e9f1129800f3ed7e73cf27edbbcb80f11655f10b900544862bf7bf89adbcd5bd23c3ebb744a688078934138a0fb930670ff4b6588f6034777ca1124cd01caa726c75d85963cb3500795401a902818100f0d6d9aa1040e8acfa4d658d632ab8342357edf9a00537c888370e747ad9584cfa6832614396db584b289ba2585badee9d2be775c194faecf80e4109bc363d8211d4ba71b06801856aee99281860620a19f0d4943f3d7d2afe6dac6c55870087959be0d2a1f8d1e018db595620ebd8ab3d5480cd5c1aec73c970269d0c7139b302818100e6ded3339413510f9908a1c028999e530eaa029dbb82f5519bf42aa8a8f8241b151bf95ece24b35c33ffebf973755716cdde31052fe9fb8327ea6efd1e167aea0276abbb7b996ff877428534c12a48b57988995dfc1e5b93bb3460b8c5d57a8178eef7c6eebabf00859826e1a3c4676f98893c095c8a892c07d97ff7e30a99230281810099846a84d40d7c035f1ddcc0ce5899c86a4b0f5f92582121cb6a44e58cb5646ad5277c0db1d6c484b88bef01020f9684465d8911efce76507d2220e502bb146407d7b0eced44aecb8bc90189a45833c63a98dff88b833779236b67803ad86e46fedfb8e4aae87f67b8908196bc2f7a12556abb1bac3d6141c142a2ea72d6edaf02818073d142a87457406a0fbe69ce894f8f42616fde421ca834c30cf66f540ef7f4bcf559043f90308f1de92430d00220d260a94416d960510410a6bc8f93413dcbc98b14d75005505300956b7481a389bfd1f23719a131725544863c5f6d3229c6fc1e9bdb071c09e8f9ad0b482e17c6d6910037903bae05fd8c6e1fa977c499337b02818100ce18d158822540cfe589748338a77a4bd9a57b079819f028013372359f29748b8ce340df5fc42ead637b1d5c069477eb64e64ef424c9d64aec4d0d0c71b92a5d35c0aef4e9d8a2ce0a2ea8d6deddbdf9697c054dc21c05e96e2de80c651826e6eb59a06696d2f8518ae91479f321da24c3c3b6359ca12deec16fe39f62e6714c]\n\n# tcId = 44\n# edge case for Montgomery reduction (32 bit)\nct = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000\nmsg = a41ebd80b15cbe50842790f7f30b680aaac807afeeb4e5306dee48e6d7946ab8378fa6112ae86874f7b14233ef62ce90e3c0f0eb5551a256c0759e3b14cd70411a897150640bca5d78298a557992ae3bede97b981b6950689c74d7ad90651870d8f5657a202f6dcc2d6fd2698f03642aebc489c3ac9a68c7a2c184017f8b8ea81b80ccd7871e01c9d7b3496070c2508cb69eb71667649819e803a0c0fdca45c7c21c986baab12f986f37c3132d77b5861d87753f6147a7aa39e70029c024d5896d8add076e517ef0b40049d7fd0495a3e3b63eda\nresult = valid\n\n[d = 52d5134bdedfdacf2a6122c1bf3e6d8b6dca44da7910e4331fc620a9773324da739a62a8d662b47d4fb955da87a2af253f1c098f3f285359b292f7de587c6ab57a3e3efa9b1ce5f9957aca8151924993e984c300db986e44d4709715f87de78d273cb84265f0f62ece681bfe0a0082fcd4af537d04e2d867a2ad3c245b57d83cffca1227217270cc695f0274f7b93b871f560073afbd7b9ff56cb769b96e041a5e78d272e88d87752c839114de210f990490f37d196a7cd6a7315e66a13fa85ed9c531acd77c35013827f42d9c69e2a2613e9b491c9a33af16ccf9c2057b1d4c547ac91f6511bb74ee68a42d209fc0172c118cd3c664d78e23684dc7681c0591]\n[e = 010001]\n[keysize = 2048]\n[n = 00bb11e68c71d58bf30658751bc3218e68be87dc8afa5ff98ae62c06501548985959ed95172a9d3659ee6ec34bc417cee12b878001c54bc1e085ebbfc0e8d977d35ebc250618bfe6caa1d018f2f4067c3f825016c648c188166560056be9d6a95143bdd4fea6ebaab56f397ec78c9915afe0a18be3f33085c2ae2af3a799d862ec997ff556d91b3a80bd675fd2ce4f1cebfbbeb27bec856a29d267669e2d78f0e7f5a1559853ea7cbe50c3a1051f71b74591c5ab4efb2d1eda47e21f49866e80d75e237486852d5a24b72017d9334e958424ed32f5a02db7cc2cdf743b58864a219a8667890b396c73ca9e7c72c74351dd317583f463094014cedcc12179168ccb]\n[privateKeyPkcs8 = 308204bd020100300d06092a864886f70d0101010500048204a7308204a30201000282010100bb11e68c71d58bf30658751bc3218e68be87dc8afa5ff98ae62c06501548985959ed95172a9d3659ee6ec34bc417cee12b878001c54bc1e085ebbfc0e8d977d35ebc250618bfe6caa1d018f2f4067c3f825016c648c188166560056be9d6a95143bdd4fea6ebaab56f397ec78c9915afe0a18be3f33085c2ae2af3a799d862ec997ff556d91b3a80bd675fd2ce4f1cebfbbeb27bec856a29d267669e2d78f0e7f5a1559853ea7cbe50c3a1051f71b74591c5ab4efb2d1eda47e21f49866e80d75e237486852d5a24b72017d9334e958424ed32f5a02db7cc2cdf743b58864a219a8667890b396c73ca9e7c72c74351dd317583f463094014cedcc12179168ccb02030100010282010052d5134bdedfdacf2a6122c1bf3e6d8b6dca44da7910e4331fc620a9773324da739a62a8d662b47d4fb955da87a2af253f1c098f3f285359b292f7de587c6ab57a3e3efa9b1ce5f9957aca8151924993e984c300db986e44d4709715f87de78d273cb84265f0f62ece681bfe0a0082fcd4af537d04e2d867a2ad3c245b57d83cffca1227217270cc695f0274f7b93b871f560073afbd7b9ff56cb769b96e041a5e78d272e88d87752c839114de210f990490f37d196a7cd6a7315e66a13fa85ed9c531acd77c35013827f42d9c69e2a2613e9b491c9a33af16ccf9c2057b1d4c547ac91f6511bb74ee68a42d209fc0172c118cd3c664d78e23684dc7681c059102818100ded3abd74d472347657a9d94cd09e605b6799c579843335468eb26280ff6cde836d2f68e", + "1bf011fe5e0ed882e962d4f33e10d441d311536c30ef7f61e4791fceacdeda89092442690af53644878bf7fee88ec55ed1aace4f05abd5fca138ad03585e2231eaf63c16efdc221dd9111dfd1ab320b52b0c878ae68d01092ef77b4302818100d6eb7829ef21696440506048fa4a61be6eb8f1f525fedfc6b26442071ca324a9b5c319018777b6881fb9e506949c63648ae559c5c0f9fa79b9aef4c54659afb3cc892921eacaf95b194aae4b6b1308d399da8993082d3ff2e6fef6f5043ca9018de1f6ee37252561eda1ff85a9f3a1d039d415cc2525ae52bebafed44d051bd90281801a36d0ba8d8ed6e9a958997d4df9e223bde9e4a8b1730670e1bef848324898c4bede66bf252e430fa7c51b579b59533022971c417a31499d2acca231c40d33debe9ba11e0a034804cf9335852e651b11d40e27ce15e08050ef9bdd9ad0e4b805f2b970506b11f8d3c1f825d3591c186914610a7205d47d85abc5dedf53b52dbd0281801c5645acb9c3dd0283dc5525aa229e8a9e4cb25251652e9a233146e76b26339250cddd812f1c60abc80b19a0697dc9391b7b2bfffff6b5c8d0ebb9883d435c0047ea99cac80b651f56d15af3c4b568c78594a3e907fdf75d8e8975844ebfb4c4e8b12f7eaf34ad9e20d7e839f6739215435aac591358c9884d6f9863e397d5d902818100cbee5c8932503cb00a93125a1f89897d88ac171932871ea7cb775a9bbb0284b6a239408a9e79d7dd81846fa9e34acc81589c8281e066eb9fa7a45680249fd4b97cc3bdfacb9bf10591f4998ac63cca7355b9b7e84127c6fe14a6a9b5b64fad3540759a210ee2c7188f9296e1bffc0a4b2fe516ac6e7aafba95f36b7e03ab31d2]\n\n# tcId = 45\n# edge case for Montgomery reduction (32 bit)\nct = bb11e68c71d58bf30658751bc3218e68be87dc8afa5ff98ae62c06501548985959ed95172a9d3659ee6ec34bc417cee12b878001c54bc1e085ebbfc0e8d977d35ebc250618bfe6caa1d018f2f4067c3f825016c648c188166560056be9d6a95143bdd4fea6ebaab56f397ec78c9915afe0a18be3f33085c2ae2af3a798d862ec997ff556d91b3a80bd675fd2ce4f1cebfbbeb27bec856a29d267669e2d78f0e7f5a1559853ea7cbe50c3a1051f71b74591c5ab4efb2d1eda47e21f49866e80d75e237486852d5a24b72017d9334e958424ed32f5a02db7cc2cdf743b58864a219a8667890b396c73ca9e7c72c74351dd317583f463094014cedcc12279168ccb\nmsg = f530f3adef7fc80a148531103d79369d741ca40cfedfb9ae1d150eeb73a4acdf71aea6defd3c493ec032f2db51758ad4e02e2bd9d48364bc0adc0a70793727455be33abdec47cb9904c7cb0bd2bbd13a5a1071d326921faedeec73b6bf0aabfb1b8d84432615d7ceb2a943d1fc5679978ac18adab009c86cc381c18878dace1351d1de94ea458465d291ee9cf591eb98284e0d497f699e7443ba15eb851907aa01cebb864ba3a6fb1227a736cdb000fff70ad25daba26a4c4af00141015a049b9dcd4ed2c1996f\nresult = valid\n\n[d = 7ededf50837a69ec04de01c1abe05d95d0034267bae1e04fa63e94c38d361ffdc339ee6a3094eccb7ed5890df0477b0e7dd795a4f1cade2cbfd881e7a17f487698695418c0090eb599ddd1a98a00834a7dffdb850bc60f1c1083750d83e445b74a51efec0dd288c7151bce28358564ea78c00ce438561c218720b7ab7d3c7e3730b1245afdfe5d00d3627a4cabeddad61ced976df0dbb47e0b5804ed843ed00480c50540bac7150fc60f613be5ee4b9184d5b4ab4b82ab31d71fb13a1d21bb110fc12682ab32653375c83f143f0358dda6a2301ab961d1132bbe6308e1586d24add35ffc0db642e888511207e1348668597a01598f528963097be8fb55338531]\n[e = 010001]\n[keysize = 2048]\n[n = 00b47eead880e65ddd3fd77dbc859b82cbd93d16698ce29351e506c361dfc14c7a691e7f045cc7611c0fe0914ed1fb985012e249c238f8c9591255b3d27312c8840b83a1b75b3fb65ec3ec47c066aa31359cc2bbf92648d0e010e4306b8c8d7960ff0fe522e03740e25e3ea31dc61fe980e76aeb5ca56582deff392d676181dea95345fef290c431927a5e8190d1c28548c751d048c51b35c4e4ecaaee4f6c0ab376cef1b0cc0d15a843f3aa15b0de22d02c571344a1704c445bd38dab61bd291eb6ef654fb01e2c9c3149d4e385f5e3d3f2a6ff2ac6543035e742291d02faccf83a283c0f60d2f031d2536dc08861e8c942fe109cab2dbc249a60370fe8133803]\n[privateKeyPkcs8 = 308204bc020100300d06092a864886f70d0101010500048204a6308204a20201000282010100b47eead880e65ddd3fd77dbc859b82cbd93d16698ce29351e506c361dfc14c7a691e7f045cc7611c0fe0914ed1fb985012e249c238f8c9591255b3d27312c8840b83a1b75b3fb65ec3ec47c066aa31359cc2bbf92648d0e010e4306b8c8d7960ff0fe522e03740e25e3ea31dc61fe980e76aeb5ca56582deff392d676181dea95345fef290c431927a5e8190d1c28548c751d048c51b35c4e4ecaaee4f6c0ab376cef1b0cc0d15a843f3aa15b0de22d02c571344a1704c445bd38dab61bd291eb6ef654fb01e2c9c3149d4e385f5e3d3f2a6ff2ac6543035e742291d02faccf83a283c0f60d2f031d2536dc08861e8c942fe109cab2dbc249a60370fe81338030203010001028201007ededf50837a69ec04de01c1abe05d95d0034267bae1e04fa63e94c38d361ffdc339ee6a3094eccb7ed5890df0477b0e7dd795a4f1cade2cbfd881e7a17f487698695418c0090eb599ddd1a98a00834a7dffdb850bc60f1c1083750d83e445b74a51efec0dd288c7151bce28358564ea78c00ce438561c218720b7ab7d3c7e3730b1245afdfe5d00d3627a4cabeddad61ced976df0dbb47e0b5804ed843ed00480c50540bac7150fc60f613be5ee4b9184d5b4ab4b82ab31d71fb13a1d21bb110fc12682ab32653375c83f143f0358dda6a2301ab961d1132bbe6308e1586d24add35ffc0db642e888511207e1348668597a01598f528963097be8fb5533853102818100fddd690268fff94f703b9b1f7969498a1f6e3ea376c7fef65c52e117044c0b09287fd43703204c584721fcaa9cd7b9494d783c5d60897dd65503a06f3ba96b533c61039bce32c41aafed27a60fcd27a3396bf13925f13ca104422c6f3c0b0aa67eb680b29c0786cc1d5410bbff60c0812b9f549e5d4ece0c941bcdf3595ced4702818100b60389bea91bff17eca1989179cfb5a60cb5c94f473990c1f9a27d54d8e922d8aea9c6a0e58608a907d695342d6321ce5b52ddc9ebe03eb1c48452f1d8ad3b3a820620af15299d223faa792d557c1b065316e51aa9ff5fcf19903cd5f157995859deb0320bdbde6ad5c996eb3e2b1ddfa3525bfd250097868516e210493b0d650281805d153811b82a5361bb473fc3b4a2d4621ed02f8b845c24b2747bb728d75c829763102be1d7f599c8ac9c5ba6bb47a61aa89b33971174987d6442a62ae2f765f0e92cb14409c13782898b2d84883ab313f85409e8e86ea1ca70634b23a6226e4f4a1ae4e998a871d699d25f286fa52c30b0ac053ce3fda7339982f06b101330b50281805044c32c681bc6a5e05f6b8f4c6f03a6d5181e4d6e15bef72c86324b86d559dec138723666c2737347d7a4393c82e957be028f790b22fbc31ded553efed576b758bc2711cf7d68a4bffb0831abef6d639ea50c28742c012eae116422ddaa4a20229208962990af47e23c62e81fa4982a1636ae06b798c93a33db619ad910c7d902818037f2a1d6cbd14425065ed9ffe7994d80519286b49694ce977d3bb999bc7e2ea9ed85126b3895b9dec1e7aacd930bca2009ec1879bafbb0778527c53f09d12154909ec79272bda9d57aa5db653677d95b443a1f7db99dda8bb97bf1702309af1e23e39190ed7413dce6904b8eaf5396944150e4879726aaa0991dcbcd8124d8a4]\n\n# tcId = 46\n# edge case for Montgomery reduction (64 bit)\nct = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000\nmsg = c0e17fbe480115f5fe7a66236adcd3477fb6d7d2ac5cfcda26afb21b3de59b36b7889c9baccd91dd7dbe7fe744cc48b301ce799ce393452c6bb24a14e5db72cd8ae761a04f3972943c3b59aed2b80246ada1965bc0bd0bd52856d7ba97fe8fa80406d9c9d9af367443df036b1549d1ca1836e676cb0f4a962273c3410d29b7805a7b150c23070da72a7e5198df322c6bcc2798e8ba706854ea2f5d5428f50c01edac19d25295fd239ff86eb8edd9fb53e634044e21079c605a9d3232a61c939e7c87c339b0481a04fe2aecbcbb15f19d2389fe3f6a2dc35fb289cc6818598dce505a11f9aceddd1a\nresult = valid\n\n[d = 1cb31a38270da00ed48af41f975773b8e9ef473c5e3393761de003b3a435bd8e2239a427effccfd0df19bc8bd6b41647271a0234a895ed6771fb36b07c1941ec3fbec9c7600b4114ff7287434773142544227505653ba039ab1a7f86a5403e0c89bbaa657ec91a51e212c0592761c8379d41ceb0bf64175fdbdea56833ab3a910a782711243b98a540178031227d169a0113603cad54182534471b4e9f16bf3724f15d45e98127fe348ccbeba5c9fcf9fe3b11ea71c2be3bff4b040565f8179fbcf59f13605cffeab6656dce56b2e9602da5b4b15a7882f564890006f82d0c3011a63485a7b257abccada8cb00f84d66a6cfd3d42084a44db51002319bfb5711]\n[e = 010001]\n[keysize = 2048]\n[n = 00d96b1ed7a5071af8c48b1a162d9a3c336bb0d8b893f54719b21e2bd8581b46de773fb906a99585b777b7aab4130e15d0fd576c7968dc940019a568c6b425f0017843472c698b25253676fb0d6d1dba59ca4fdf90173af5f28b9ea93d9a95c61500fb89131f2d93217aea06910d415b551ed8e8503254c62570e8831e1152f407cbc5ce89e991719fead2cecbe62359bde60adc480efc6b0cea5177cd5663f99aba8c8f9a670b5060c9ea5231a95d655eef14485caf68a688b242e1e6a6543af239cf65c8d4aec626fae444baecf1c70b2d3da3c8b063e09e20aa441eca372b9b13a813dacfd333c491350ed348834375febfb885ae00e16a1828484675f870e1]\n[privateKeyPkcs8 = 308204bd020100300d06092a864886f70d0101010500048204a7308204a30201000282010100d96b1ed7a5071af8c48b1a162d9a3c336bb0d8b893f54719b21e2bd8581b46de773fb906a99585b777b7aab4130e15d0fd576c7968dc940019a568c6b425f0017843472c698b25253676fb0d6d1dba59ca4fdf90173af5f28b9ea93d9a95c61500fb89131f2d", + "93217aea06910d415b551ed8e8503254c62570e8831e1152f407cbc5ce89e991719fead2cecbe62359bde60adc480efc6b0cea5177cd5663f99aba8c8f9a670b5060c9ea5231a95d655eef14485caf68a688b242e1e6a6543af239cf65c8d4aec626fae444baecf1c70b2d3da3c8b063e09e20aa441eca372b9b13a813dacfd333c491350ed348834375febfb885ae00e16a1828484675f870e10203010001028201001cb31a38270da00ed48af41f975773b8e9ef473c5e3393761de003b3a435bd8e2239a427effccfd0df19bc8bd6b41647271a0234a895ed6771fb36b07c1941ec3fbec9c7600b4114ff7287434773142544227505653ba039ab1a7f86a5403e0c89bbaa657ec91a51e212c0592761c8379d41ceb0bf64175fdbdea56833ab3a910a782711243b98a540178031227d169a0113603cad54182534471b4e9f16bf3724f15d45e98127fe348ccbeba5c9fcf9fe3b11ea71c2be3bff4b040565f8179fbcf59f13605cffeab6656dce56b2e9602da5b4b15a7882f564890006f82d0c3011a63485a7b257abccada8cb00f84d66a6cfd3d42084a44db51002319bfb571102818100fb91d4d6a5bdfbd5f0a82b7e89e98534564ed60638e279c6a2a26e1b635356dd89711e4b8b5af45cd64393b692b661d763b02914d555eb9d24ba5a5fe1adbf059e00eff3a3682c353179c2d6ebe39fc3ce18d492fb34a3ffbd5fdce844633fd275bde50ee36f638827becff7cd0031c335d051337a776554a0f04e614d19b8f502818100dd3f52a51c7266f037c13913ee859cd01e4485db2a4482e340b86e494560ff9a0fbdf48a490f09f9d0b4045593115838e208d3a0dfbfd04b0f61e7110d3991714faf7266724736e8a233d855eb0fa17dac16179707e5e52d64231e35e533c234198323778cddfcdb4050c4a70d7350b3758f7a249700a08f7666037e8790d4bd02818100f3473ead68d0c5c64999479e721dfaabf73efbe83e807d452327b315174393c05f569df66e484201b94ed67cfb7a163a25f44876162ca5d26c9f2e2084ecf1caabd6ba354173cf348da8f34bc608750af4b6bc737b2c97e00bb1b5be83cbfaff3acfadc06d1ede00e076bd4524e1283e603f1917903a002b0c0bf7b04ed02e35028180455bb18be34415f31e776b6e4d2b03c2d68a42b0372aed2152cbbe7f27c9c5b745521654379d08529153adbc29f39905940e92516f7351580685798b85ead32683858bc683f2c14ae276804e46f74a77fc379cc3930d45f019e14c7a36d527ff6f34062d5732cc2eeb95a6607c3df7419b0c148d5ded2b686e0482f9ea83c3bd0281807753317cd3de74bfa41c3261c32cc32dc7aec46a543458b1c8ea846cf4fec1affcde58f3c249be9b502da5b2e92ad5f004c568f0592de3997de2d9b436de400a373cedc1ab2ef9cf96cf30876c069bf2e9a8b8b6cca6fb8eb064c7b6cc087efeb15336f7d82c8f775b98464443a2ebbe471f279a8acddce03bdc1e3d407e37d1]\n\n# tcId = 47\n# edge case for Montgomery reduction (64 bit)\nct = d96b1ed7a5071af8c48b1a162d9a3c336bb0d8b893f54719b21e2bd8581b46de773fb906a99585b777b7aab4130e15d0fd576c7968dc940019a568c6b425f0017843472c698b25253676fb0d6d1dba59ca4fdf90173af5f28b9ea93d9a95c61500fb89131f2d93217aea06910d415b551ed8e8503254c6256fe8831e1152f407cbc5ce89e991719fead2cecbe62359bde60adc480efc6b0cea5177cd5663f99aba8c8f9a670b5060c9ea5231a95d655eef14485caf68a688b242e1e6a6543af239cf65c8d4aec626fae444baecf1c70b2d3da3c8b063e09e20aa441eca372b9b13a813dacfd333c491350ed348834375febfb885ae00e16b1828484675f870e1\nmsg = e0f57a6334f97163fb65a0f924259ca5558e5149bc094b06bbdb2cfe2b5cc4e52eea015afac6a4fd124dd4a0c3c25c9f7f36fc465fda623661c963a1eb6bd48663ede99ec3bed21274\nresult = valid\n\n[d = 3c83123f4cbb23911fbde6c69f9f0b07b51bbbcaf80e0322a71767fa4fce48f2e6e142eab66dd5e4abccc343fdafec10aab8540049e5109d09760080131c8edfb669f9e25b8cd5528f229e74189a4bb3c1d96922640dfd85aadd9f295db5be14d568b4cd288eb08a9e43e53a8a52cd1c25fddaf018abdcb6781c907cb0b394c91a41418e93c60bc9dfdb6674223f7a5d51f90e866aa2c378b8793726cc0f7770ce42b1d534df724d9205fb7679f26f5488aae8e766d6afbcdcfc8aa0ce545adb25692e72960dc9bfdc52fae19953bac45c5b16b8533f0fb03ce24c493fd84c4dbcbb1cc7115a392d5923cb165bbfb0d331cb215d88e8b48ea9803beb7532b901]\n[e = 010001]\n[keysize = 2048]\n[n = 00d29c00cb279876486d2f35c357d23f3a7d2d9c69021b65acc5c227e285bb53a09ce46d08bf1a75fcb4ac97f39d301fc445d6d0e31156bebe6acab4aed4a3b6f836bb057848a475ffc9e81804e1a91a523ee17379db83ec5d1b275f58072a8cefde77b92aa05063f87aa9fd348dae7987270bbb57cb161ff41a0916fe3faf27bdef1068b137b5b114004c95211de3332293491f1b45d57590ac19d82a4033c75e68cf65b62f3630b0a7c05f830f551b569fd37364206f2caaec2bbf5ddbbbcf9cec1f4c160dad459b5a23bb383afa2df7ecce990c401605efb67dc1a87edfb45f8a154093a616e7932959f87dacd46955d59bffa80a4f4be6b1d1e61f372a8ceb]\n[privateKeyPkcs8 = 308204bc020100300d06092a864886f70d0101010500048204a6308204a20201000282010100d29c00cb279876486d2f35c357d23f3a7d2d9c69021b65acc5c227e285bb53a09ce46d08bf1a75fcb4ac97f39d301fc445d6d0e31156bebe6acab4aed4a3b6f836bb057848a475ffc9e81804e1a91a523ee17379db83ec5d1b275f58072a8cefde77b92aa05063f87aa9fd348dae7987270bbb57cb161ff41a0916fe3faf27bdef1068b137b5b114004c95211de3332293491f1b45d57590ac19d82a4033c75e68cf65b62f3630b0a7c05f830f551b569fd37364206f2caaec2bbf5ddbbbcf9cec1f4c160dad459b5a23bb383afa2df7ecce990c401605efb67dc1a87edfb45f8a154093a616e7932959f87dacd46955d59bffa80a4f4be6b1d1e61f372a8ceb0203010001028201003c83123f4cbb23911fbde6c69f9f0b07b51bbbcaf80e0322a71767fa4fce48f2e6e142eab66dd5e4abccc343fdafec10aab8540049e5109d09760080131c8edfb669f9e25b8cd5528f229e74189a4bb3c1d96922640dfd85aadd9f295db5be14d568b4cd288eb08a9e43e53a8a52cd1c25fddaf018abdcb6781c907cb0b394c91a41418e93c60bc9dfdb6674223f7a5d51f90e866aa2c378b8793726cc0f7770ce42b1d534df724d9205fb7679f26f5488aae8e766d6afbcdcfc8aa0ce545adb25692e72960dc9bfdc52fae19953bac45c5b16b8533f0fb03ce24c493fd84c4dbcbb1cc7115a392d5923cb165bbfb0d331cb215d88e8b48ea9803beb7532b90102818100eecae2177a6832e4c69f7eede3993ccddae3d85fdaff478f8bb497324066d48e18c666339fcbfc2dbc46f020424688a09a2a05e3d940e0d50afc404a5af3ed222720cd34c3bbf70d293d1fd3d7626da7c89941211bdb51418741ed0aa713a05636759e9b450790b8dce14d3a48a7978f361a5633658cf9d1a5c0ce164e512cab02818100e1c93671dc20e10609495fd6b72e4d0eead443039eb34aea428c40123fb8e3797841c559bcc9850254ae5ae7b78967315be4157419a2a31fa355bb4ff6487402bf0fe64a0c3002dc86baf319f02d7630aaa57d810450da7c255b3150cf5fcd95c0979748279d9ee9edd51641a3c5fa01896c5b1c3e3847ebe829b594e627a0c1028180234caa8f7df0d95528677b83ff192ffbde57c02cab5b01611eeddb4bfa693912a866ebc4c5e289acd920436f015d1be561e4c46a223b8d00f156c8ca3517c9fe3a7a86db3df4135946b75a751e69d67bef1378a54450ef7a185c8e85fc9cd21eec7e06ac3d5018fcbaea3358625523fa6fad05012409eb042ad48da28e8141710281803338250cb1461825f96756c16baeaa366f1915d6b562b0e4f191c55b1e6f7fd2e76fec280e469cd0c98afffe3ec981ca55b12918bc5403b342a74925bb95f613456a82f05b516ce4bfff9af45062cfc3fc822c355f58442813855b6b9c8f7c20b39eefe7a36d0346c7f825e36016a23f45007aaeae82aff619259516a11b6e41028180680698b60911ffa4ff64c4e15c4dcf92f8c6b4159f98bfec2e6f75c72142276371394144abba8869458832e424ed32bfaa39746d8897e2effcc3f1dabbc90adec87fdd929a82a522adb77d239ba189d42f95ecfd5f39c5dd5e38872fe5032592bf396c847970dadc602abb627d96ef636040679d24dd69c56e966df42411c00b]\n\n# tcId = 48\n# edge case for Montgomery reduction (1024 bit)\nct = 00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nmsg = a3807f5d34acd39123d2ec83648225b54590b45750e13c6cacf587dac4fe9c9e32a747b6b7f073d94b07311a0e\nresult = valid\n\n[d = 2ff29a4da725374d1dd13493492eeaa468f9fce9d3e6fe0f5fb84143909cb7753526de93234b2cb83cffa6321d5b557832a65c253c2f019723b4d0de97db2f91a7d136fa31a7910495d57d366ec91f29254b30e3cd96705d821bf831b9aab6328bae8f4b15f61cdab097604645ec73a6ed1e19e90204505f93ffaa98569d21eb63abf9448ca9ca735aba55a27c8795a47350b96befec3a243768ddf2aa1b4ab28b7a1e6bad5a0a25c7789225a75081b8e21e2b53612c21fafa41fa7e1e8d52075da58897b195bb356d4e03e5372e6b0d79c8334e642334006b09757b8bc533171d5a46bdd55199779c36e2d9a5acbe58dcefb3bac754bb3eaf07bd3da96c61c1]\n[e = 010001]\n[keysize = 2048]\n[n = 009b298a64d73b644bb4f184c8cebaa01fcc9b9b1fea5e93d3463a28e73284123a1abfae36ef57edd72ab9676c66b629cf42450dbf7c6347047746ff62c22f1e0b854500cd31384f6fadcf996828d96500b6b023619e2378230553e9b9226367ab7b8a06169e1325fb9e8a73c264400855c3b10229b6a661d67e1826bb32fc6ab34e4b6712066c2546bd4e47ac2789867b5e1f29c4e597a19ba715e6f6c011181f758442263355931115f9471fa7654e5fa85b69545482cadea81362b762aa2794f7f132856dea85c65f7d6b581edc89022f4cb1f6f99d5bb4a8cffde294ed5fde28692aa610e83272406cb4697f970ef16f689425e8a5174580184bb223fbb919]\n[priv", + "ateKeyPkcs8 = 308204bf020100300d06092a864886f70d0101010500048204a9308204a502010002820101009b298a64d73b644bb4f184c8cebaa01fcc9b9b1fea5e93d3463a28e73284123a1abfae36ef57edd72ab9676c66b629cf42450dbf7c6347047746ff62c22f1e0b854500cd31384f6fadcf996828d96500b6b023619e2378230553e9b9226367ab7b8a06169e1325fb9e8a73c264400855c3b10229b6a661d67e1826bb32fc6ab34e4b6712066c2546bd4e47ac2789867b5e1f29c4e597a19ba715e6f6c011181f758442263355931115f9471fa7654e5fa85b69545482cadea81362b762aa2794f7f132856dea85c65f7d6b581edc89022f4cb1f6f99d5bb4a8cffde294ed5fde28692aa610e83272406cb4697f970ef16f689425e8a5174580184bb223fbb9190203010001028201002ff29a4da725374d1dd13493492eeaa468f9fce9d3e6fe0f5fb84143909cb7753526de93234b2cb83cffa6321d5b557832a65c253c2f019723b4d0de97db2f91a7d136fa31a7910495d57d366ec91f29254b30e3cd96705d821bf831b9aab6328bae8f4b15f61cdab097604645ec73a6ed1e19e90204505f93ffaa98569d21eb63abf9448ca9ca735aba55a27c8795a47350b96befec3a243768ddf2aa1b4ab28b7a1e6bad5a0a25c7789225a75081b8e21e2b53612c21fafa41fa7e1e8d52075da58897b195bb356d4e03e5372e6b0d79c8334e642334006b09757b8bc533171d5a46bdd55199779c36e2d9a5acbe58dcefb3bac754bb3eaf07bd3da96c61c102818100c8f09a8ebd6bf018e3c8d9e51cfeb755a3e63a6342032bf69b496a511aa2c1a5c8cc9612a36bf618c7eb633170a19094db19885b1dc2c03e79bf0d039f782ca4f45fda4398368f5747aa7115eda85b2032e08d26ae93b56deedc63afa58fc7bc784a27976c1501ac69d840d03e38d510a644c3e51d966af4a8eff33fe073f2c502818100c5adc2bf614abfa80b9b921f320e659f44bffab2fa4b1111c98c344c2630a410ee70dc30899efd17a22946662173485e17f3630d61d5ff1bcde4d586243b877e6737438fb9857c3beabaa442c293aa110caeb8ad6967e5a2ea2a34267b0fbde5eac1abef98f329601599abde5150d39e9ba04a7b9c172f88af07d4828fdac245028181008582e09f011b2bdfcdd1d17d9b235f7b66b87d891ffe6d82a0b14a13f387baf54593320fd647d0afac7e295d5b41ee880980508a821eb98f896338e97456ec0afa5889f4a9b96eca8652a86af28b0f693884dd249b90875731037cb4e363c249e6ff168955062c237bfc752c287ba88e347bb25194b43202b8111ee60d63dd25028181009fd23e93f09b389d2ad55aac721205c361183e1e9a123af8c094e46b74acfad8dd8ecdd7484d0c9f20f272027ca4f22b70fdcc65b3660add75f7bf52b6d492557629ce2bd378c2dac68aa3e77ddd593073aa87915c992da62be0774d6d4d6ae10a8e0eeea62062a1569569c952c1207729a7ccd06780af63b8ef81b7158b6e69028181009ff86c3dc539762069ae9d5825b04d1f45722224b0aa86d76f71a9b095afc9767c4e2d2319cf33e123807b2c160d66dfd567a8532b75edb564a70fd0ced4257d0109611a943fa06efea634736bf464e68f32c55b1b91c82f6031cbd4889ba75fa94de41dc91350e41020d8b5f81b47fb640ff12d697ecdaa2dad3faa8da7c141]\n\n# tcId = 49\n# edge case for Montgomery reduction (1024 bit)\nct = 9a298a64d73b644bb4f184c8cebaa01fcc9b9b1fea5e93d3463a28e73284123a1abfae36ef57edd72ab9676c66b629cf42450dbf7c6347047746ff62c22f1e0b854500cd31384f6fadcf996828d96500b6b023619e2378230553e9b9226367ab7b8a06169e1325fb9e8a73c264400855c3b10229b6a661d67e1826bb32fc6ab44e4b6712066c2546bd4e47ac2789867b5e1f29c4e597a19ba715e6f6c011181f758442263355931115f9471fa7654e5fa85b69545482cadea81362b762aa2794f7f132856dea85c65f7d6b581edc89022f4cb1f6f99d5bb4a8cffde294ed5fde28692aa610e83272406cb4697f970ef16f689425e8a5174580184bb223fbb919\nmsg = f9077aa629cac80d\nresult = valid\n\n[d = 1e6d819ca726e45b00f4cfaaf0d54a4441a8b89907783efe327575715cee66ebb898833542a13b90fcbee41c321b7f7f555591d4a4953d216396f48f44af6bb1c40b12f723f43e8b61e34dff4cd58f95fb363c789756a759b686f7c41671d7a697982515c0f3b1486f128a92d7cc882152d808a8b80c1fa1dc5b26c92bd54ae6b3a7cda30da414cda14b00e98a610114d79543c6047db9f5685422a9a0fb4c77aae8a69860986d76c00283ca44c89aa6aaff8d333e00b67222a5e1a743ee54b572c5d377ee2d3c0eab9b4664aa89688fe22ff32f226ae6b498508142625be50bc6c5c3d77590fdc6bfdfddeec801e9665cb09cffe140c1972f339dfa17c12791]\n[e = 010001]\n[keysize = 2048]\n[n = 009b867320148400d6236020943c389ace0b5c2aae805d68a1084248bb3ee3206d3e1912aeefa352bdffeaeeee5acc3db5e76b992e54220e449dd0cdd9c54653a3d54a4ae02733482605f6a75d4bd8cbb87fb4718a9914f0131feb339cc656740c9a6de79993a7b7684494e5a20c86a5ac1fa71a546dd3fd3e927d0c43ef8481c86f3aabb9212845eb40afe527bcac69212235d7c7c62b94116b5b6fb304d927b5e29b100d1f4f7112f685e88d76b497f52b99ffef9b7901e4ec980f43d7c461ac22a5788fdaf01010f516be9d0b693782a804dcd4eabb28ce390feba18158969ef49ba449517208580700e82caae1b549e1003540795aede7284fcae04d6ebe43]\n[privateKeyPkcs8 = 308204bc020100300d06092a864886f70d0101010500048204a6308204a202010002820101009b867320148400d6236020943c389ace0b5c2aae805d68a1084248bb3ee3206d3e1912aeefa352bdffeaeeee5acc3db5e76b992e54220e449dd0cdd9c54653a3d54a4ae02733482605f6a75d4bd8cbb87fb4718a9914f0131feb339cc656740c9a6de79993a7b7684494e5a20c86a5ac1fa71a546dd3fd3e927d0c43ef8481c86f3aabb9212845eb40afe527bcac69212235d7c7c62b94116b5b6fb304d927b5e29b100d1f4f7112f685e88d76b497f52b99ffef9b7901e4ec980f43d7c461ac22a5788fdaf01010f516be9d0b693782a804dcd4eabb28ce390feba18158969ef49ba449517208580700e82caae1b549e1003540795aede7284fcae04d6ebe430203010001028201001e6d819ca726e45b00f4cfaaf0d54a4441a8b89907783efe327575715cee66ebb898833542a13b90fcbee41c321b7f7f555591d4a4953d216396f48f44af6bb1c40b12f723f43e8b61e34dff4cd58f95fb363c789756a759b686f7c41671d7a697982515c0f3b1486f128a92d7cc882152d808a8b80c1fa1dc5b26c92bd54ae6b3a7cda30da414cda14b00e98a610114d79543c6047db9f5685422a9a0fb4c77aae8a69860986d76c00283ca44c89aa6aaff8d333e00b67222a5e1a743ee54b572c5d377ee2d3c0eab9b4664aa89688fe22ff32f226ae6b498508142625be50bc6c5c3d77590fdc6bfdfddeec801e9665cb09cffe140c1972f339dfa17c1279102818100da48e1987c5df633fe9f03ed9fa0cb0984d81f5b81316b8eb9362c7e60c8f61d47e81265c7c9f58acc45220ba880ba6b703760795b9d9cf230f4340d34d822c4ec9b5416e7c7196dbaf510c5d348b4e0833be706ca8c0d71eedcb8dd52e257d54218ef27c9f43c697b5d69479271c5db94c600c0a4c829b0423842cf7890d58702818100b6659acaaf96ca82b4db20c970f861a3a40851eef5a37f89cc45116a79b7ad48c106e583bd401ede1b9ce6ad14626fc7fdf24ac06afbd97dac1b3ebd4b14f68312d5aaf756f715a0519cbf5f2abf9d66ca6c73a5aee5e3e7e8d34aaadf646867267afd101750aff1f2546f77ec9e6325804744d24899e5b7d2451c0ea401806502818021a59650a0eb02e664db3209d0cf423cc763610203da105041b05e0f64efd53012436d828ed74ca80670a99cce6e794dd25056e89dfc9f929d8526f8da2a6ec1980f21591e850c2063ef1e94bfcab746dc33c19ac461ee389faf1a37d36cdc491d1526d825432684c3e554331a19bb7beb64d1fcdfe992b37ea1997acd84d5c50281802dee01ff9e1db39b1c5dbdb0dc30bfad8c65c7f40b890359b8c57fb0373c4877749bfef9a0935ff280338f66f026258dcfe5ce6b0bc5a5abdec5f1938b2f992fc273699ce51a4d28d4c44af074fc516f8bf3a95f845e4178a989635909ede7d869b938b66f9892e5b3270df6bdefd8799e06d44ebb977d603fa3c57fee4eae7d0281807162f9069f55ef6a8ac1c31bd7a33263c02ab773a3dc0e726ffa143b3a2335cfb614bc28ad4dfa350ce605ac4be2da199244561ad6adfaf9d1833a7fd960de0b5f4e4f7995892606aa28d1da78c71b9ce67006efcce78c25e3fa711e5ac7ccf5522ce6c133a72d8fe5ea3b696e7e6d2dd794b1ed5fe496d20dfb0e80c5af57a4]\n\n# tcId = 50\n# edge case for Montgomery reduction over Z/nZ (32 bit)\nct = 13648644122d5be6e56d210076b9bc59deaf16fff664777a2d6348b1e0da0efc4a77fe2bfe2aeb592ee56fb3208ea0e04d2026a433bdd6ff11b89839f058832d732dda51bfcd5cced8fa7cc58a91fd435fe0aac17a6084c7619b9209d83136c19161aeaca90bd5c92d5ad0d2a99efb392f29a2dd06f0c19d204fe997800e4e7df66efb9a2bc19820e8dd3cf48f3e74f17c50316ab323055366430c21b97171ac776b14ae49fb124cd9df5ead69d267659abfa21676e62b3a0e7d3fb1c575e5c116513d1b654d09d637706d94bf3b252086771398b5934e23f7de652a9906a143eb56bb54e739e53fbb21d73a55da793c82768b3ad880d1e732b5ebce5817debe\nmsg = 67d3329433843fbf8516d807417f96e34ad7be1f8a8c4d4c1ca614e4255938fa622bdab0733b117506aaf3b39ae5c468894d79fc6aa451d837612df52c73eb18df7e8272de79d8621ec3e0c1e725746fd8f4eacc39a0207f91310c35a12401d1b34cf9a6bfc1c44b8b39ff4725fcbcd95c38fe1461361106e8e11be28e0d3ff81d406963db76c073ce41e4e770f9b59f3c99a8d683c5b415e6237cca91dcc31b8c1a3008\nresult = valid\n\n[d = 0d6caf1085c642a1d755c40f9773175b32cf5bc761c22cd2dc366f928395ba347f8a1862aa639c7232e7dfec37900c5442b4b225cc674246cf27e5f1d6fc012ee51acaaa7a51655eb882baac82b4990b2a80eb47856eab5ff72fa066d4eb83dba8eeef2efa4b8fc511c3f15fa0476ace4b6f4e3f6c554f1b9101062d9d52a7a8343312b1c7e450a2874b9d7b2d1fb7e782e607832b885191673226137453716063a593faa684f6b9ba5321befade244dd3b980f3af037409e335294b8bd647c8a0be1db253a6a1baab55fcfce963b09e27e63ee1f4010a534d1acd8185abf854051c658fa12d1e4abbb4f6193fac4654461e8bc941d5fbfb12d5bedccf4836c1]\n[e = 010001]\n[keysize = 2048]\n[n = 0087a58e0f307fe5cbd1e24b84fe4a504aeb7f6e62e482fbb2ff0662b6289594e369f5bc246bebbede1c06be16df402c60448e991", + "52d6e8ab2eed1b4c2b36c3b7a0d2ba4f446e1e96d901f11e3a2e53acce88ef34ee36e77c6a2200876ef4750173d47c2a925704112233f32446d36d39ff0bfbb1d6369d5e188aacad1f56eca5c6380d40b8f8847a0e3145714618177682b24c29184d6b394c4f822ee3640eab510328914b2f6f4443758381dca079cc4df508f060e53dfb4a89b847fa42df73a6c60cf0b5e819296886e0d00f0823f24381830022bc07a9eb06c78e22c77ec124d95c69b5de527da2376364ea211508dc9f2f43b24ba06dbfb6996b8e488b54d]\n[privateKeyPkcs8 = 308204bc020100300d06092a864886f70d0101010500048204a6308204a2020100028201010087a58e0f307fe5cbd1e24b84fe4a504aeb7f6e62e482fbb2ff0662b6289594e369f5bc246bebbede1c06be16df402c60448e99152d6e8ab2eed1b4c2b36c3b7a0d2ba4f446e1e96d901f11e3a2e53acce88ef34ee36e77c6a2200876ef4750173d47c2a925704112233f32446d36d39ff0bfbb1d6369d5e188aacad1f56eca5c6380d40b8f8847a0e3145714618177682b24c29184d6b394c4f822ee3640eab510328914b2f6f4443758381dca079cc4df508f060e53dfb4a89b847fa42df73a6c60cf0b5e819296886e0d00f0823f24381830022bc07a9eb06c78e22c77ec124d95c69b5de527da2376364ea211508dc9f2f43b24ba06dbfb6996b8e488b54d0203010001028201000d6caf1085c642a1d755c40f9773175b32cf5bc761c22cd2dc366f928395ba347f8a1862aa639c7232e7dfec37900c5442b4b225cc674246cf27e5f1d6fc012ee51acaaa7a51655eb882baac82b4990b2a80eb47856eab5ff72fa066d4eb83dba8eeef2efa4b8fc511c3f15fa0476ace4b6f4e3f6c554f1b9101062d9d52a7a8343312b1c7e450a2874b9d7b2d1fb7e782e607832b885191673226137453716063a593faa684f6b9ba5321befade244dd3b980f3af037409e335294b8bd647c8a0be1db253a6a1baab55fcfce963b09e27e63ee1f4010a534d1acd8185abf854051c658fa12d1e4abbb4f6193fac4654461e8bc941d5fbfb12d5bedccf4836c102818100bf358cbe3a8fc1381f460a7c6140e99039d11411797e1961dbb0cd53dd921315fd21083a68f0b4bd4f745ae022b8dca801874a6448f7a4b03fc138aac856e658ed5c2b548315067ecd1eb85761432a6baa1176d28e77b90225ce2ba1818099fd265ed8910a56fc822262ff90099dc773f2eb6b522b05a009a5c764422d85f76502818100b59c3c235026d77251bba38db70a483fdfbdd6b63bfe2c67c53899fadf8e03e9b5ebdd33dd93bcb2848cf3060e5ba6756f6068f9de56d2363fffee2e7d32e323a0614bfecbea0194f75b511316213ddab70f0f613b707321e4727764b253d6629d5ec4846a937aaefecc415067c3bcdd09fde86f2fe30fde24a8ae9cfea5abc902818057de5ef84867298f05e825077595e3ff9062418baa3e45a1cfd896f3145e7d80dc5b62b19cea08d4fa7f6907994d44b1bc4a14e8b31382ce2fee36815d217a27a1a47a9112d005b51dc421489e7cc430c7edd0a200308a87af21e8b1069737acbb065915861fe558543f145c77ded6fab4c67502449d082786d4738169f427750281804ac47089c544c86c1b3419e88d13e19cd25b509b23e5c7984d3cb93fec6b8636e09ba32ce82b1b838f488c00d146702866db153cd18982efacb78bf27dbec67e7357bb36c1f2ac060d33fe13d2878af4916ad4d51de874adde6435bd32218be07b93796a5e8a2af702954aca747dc432681bad66a11b64fbfab1ab799ce8cde902818003d54926f770f8c6d47358e502526c309b972e70beb1f20658ec0917c1729e05c06476f25f261695694797a963db5cf00fd720fca0dff673e157b0ae5a754b48799b8ec32515069cb5168a9ddd38dc7f065f0df2920be34fb8f0ff4fea403302e4944df1aa5a2198f3ee7bd3df19c27fa70614ef8cf9ceaf240846676c716813]\n\n# tcId = 51\n# edge case for Montgomery reduction over Z/nZ (32 bit)\nct = 181f37c923f2f1ddc6ad1de954439dabd8915ae9a3afd379ee5ffbebf877ecc26f83df5e945b0832d267fae35bbad4772c9f50be51490ddb7e61083da7b3b007a89e0fb996fca9de05c1d071d29fcfec33e8814ebada7fd8bf8f4c8fb92ad020923342a0232a2e7416d2d6343ff9c5a562faaac8a49aca35a3e2cbf3f6c04efd56f524e9afe4dc96a72c146b452307c9360c0187147ea2fcc2bd7a8fdfe05282944530482e678bcd506ac491b34da46fbb15ad573929c257dd190e1a84a5d26c30e8ae8501597883292f56cc0863a0186731d88ade418c87fb977cbf224b259fbd5ea2521ffb33c845f2b591bcc68294e0882c1742dcb4d5f23eb7d89ab28570\nmsg = 5d72b875a66301022bc2cb5128ec54abf1ca18e0b5b73c3fd566890796eb7172a45abcc4d806d69ae9d85ff45b717f922c\nresult = valid\n\n[d = 00946fb7567dabe46f1b354513d82533161f2e6b6139c7b756b8753fafff9451833b4e13e4879581140ab68f8fe82c6c8922f0c858c375dbef49858594e9c7dcb5526982daae7c321def8fd728b4ecff65888424380503b51788c445903514e1ad0a8b04e297554b6dc68c99c83e085ed027d5bf1bdc89d8c0e280cab881263a0b400121075ef95908352a39cb197a9dc2ebae42cbb8cdc9983bad45fb339c4de8773c561fc89a434b14ae46c44b0dbd758903d5c6cc33cff978edcca3154dc1c0f05526cb6c1cd9f8f5f448d5c324f26aaac05581667f82909f4c3bffeac47a6edec13ef22af955f4d9d6097deccd56ef24bfad55755c7a2930e2b6eed747b539]\n[e = 010001]\n[keysize = 2048]\n[n = 00c89ec880ede20b8666ee0fdd856abc5316d77a5d6e5b1637dafafc3cb0458681d6169215d53f4dd1087345d1597795420b0332115b974b83390dcbb444b33d52581374c58ae567c5fa2e4df2d2ae03134fcd62765f1ce9283a842acee79543a92fa1a49190db4d2618a82efdd036b87764851eea113db934e2afd538e6af050d232910903c1389ce620004556ae5e3830168ef791ff39a0ed0ef09347f3536edd89afb9caf98c31f36c2e6111c534cd5611b99b8db1ec4aabaae878a5406153ac91836285f028990573d0de94a527d2a077f1689c208b31e6f17a8a9448aaf2e7e3c68c96eb685b8e7adc92d0621cc0049c8e3cd5c1d3fc2ef631e714f4523c5]\n[privateKeyPkcs8 = 308204bd020100300d06092a864886f70d0101010500048204a7308204a30201000282010100c89ec880ede20b8666ee0fdd856abc5316d77a5d6e5b1637dafafc3cb0458681d6169215d53f4dd1087345d1597795420b0332115b974b83390dcbb444b33d52581374c58ae567c5fa2e4df2d2ae03134fcd62765f1ce9283a842acee79543a92fa1a49190db4d2618a82efdd036b87764851eea113db934e2afd538e6af050d232910903c1389ce620004556ae5e3830168ef791ff39a0ed0ef09347f3536edd89afb9caf98c31f36c2e6111c534cd5611b99b8db1ec4aabaae878a5406153ac91836285f028990573d0de94a527d2a077f1689c208b31e6f17a8a9448aaf2e7e3c68c96eb685b8e7adc92d0621cc0049c8e3cd5c1d3fc2ef631e714f4523c502030100010282010100946fb7567dabe46f1b354513d82533161f2e6b6139c7b756b8753fafff9451833b4e13e4879581140ab68f8fe82c6c8922f0c858c375dbef49858594e9c7dcb5526982daae7c321def8fd728b4ecff65888424380503b51788c445903514e1ad0a8b04e297554b6dc68c99c83e085ed027d5bf1bdc89d8c0e280cab881263a0b400121075ef95908352a39cb197a9dc2ebae42cbb8cdc9983bad45fb339c4de8773c561fc89a434b14ae46c44b0dbd758903d5c6cc33cff978edcca3154dc1c0f05526cb6c1cd9f8f5f448d5c324f26aaac05581667f82909f4c3bffeac47a6edec13ef22af955f4d9d6097deccd56ef24bfad55755c7a2930e2b6eed747b53902818100f4ba7494ef91c4f85bf016c98142f27f9fa129cdfd9045a3f723ed4394f4aeab1b6388b01bbe87f68f01e78c53cdff2bb60ef7830a7115961f9ac798c4587c5b83d9cb0549852fa27fb0522004aa5eaeadf5efc39eecb9b47f5f4d5bc1ca6efcd2ac9f02499dbd5614251869c9575a6039facbcdab5d42880cfe5def805a563702818100d1dc41ff09641115835f68fbbedd2d7c817b80bacb960808cb5744fdd1f56df4580eed655b51eaa134c566725be6bfa0e98facfa18208d9204f471eb5d0dee477c74aa00675f4f9261a1d6297c158034cf6e4f3743d39101c617af97efac9d8f1eda7bb81ebb802ef6521d7cd44dd45107bbd6463b0a387a463a6ed6241257e3028180455539c82423312187b27a52364bc835fdfc83c2772ed37c037d6b2fb558a8cf931fdccebfdd77d993645fbc32d5ee8fecb14ad0163a397a6193d12e679a06094b4e7da50ed22bcfa6cb464909e9568fb87b2fa545361dda942764dc3507ebefb6a3ef1c8fcc9fa26e6ca0010068be12fafa2199300e68d5f09073fe7167a67b028180576590028349ae27b46f5e8c40df619b115d7aadd02d2a29676d6fa8f8f06a1b3134fe3e90ba5ba9490dd06d5dc28a199c4b1e7184ecc1a886f1ba2397bc3e787ce7250948039462d4d00e1d76b48990f4b5eebd883caa8dff8e4bad4dbe285bbb30a807749d07740757093abc3bb169117c736f0a156691dd7f663b3e08799b0281805022f0cf40913a38e06e7d73916760b21a84289e44b40b66cf615a155f3f42dba2dc36dcaed85f932fd2e48799a9e800468f6693e5da05fc63fadbcf5d1a1a102987c44b7ca35e934456327ec4cafd116371e6318b7560e2b89418d708440e9b3609bbf6b5dc0083fcc7ad301524f14a6ec1d6a20319ca958dc45a7185fe660c]\n\n# tcId = 52\n# edge case for Montgomery reduction over Z/nZ (64 bit)\nct = b3b6ce381b69a43046647e000c1ab2bb9456c7022dd1ea19a2761d85963e56f7337d04529bc975c34880552ca51497ced06bdbd8c54bf4ba83540185273b55c81b86c0a337df5fe8ebb4b43db0ac105a78f8de8240c2b3a0fb7b8f7e7fc8a70a462618387edb8a77195f8a43ba2ef1ad3f1216598cf1b4f02f2bcdd2fbe9885cdeb74754ffba96d978e68045b1754e35ba8c54183106fb2c9f5685adb5f14d239e8c8e19b39c142b0f01e3934ae1b7315b0db5986c7d9b39bbe960faa32337342b3d02ca5148f308fcaa718001e39d0c0bfcedf9e91e2d12919bcd739c431e37ddd20abf4a35644246da2951983f1d6fa32ac259f222501c4c8640b43279bb03\nmsg = 7259cfb45f3651d59b996115be31006e82243cb1317d23418d64a047b984f4f8345ea0b8b193b532c2769b8fa0d4aba9642446eed61b037b87f045f2992738640f3fe81236d5dc36a384d0d408c4b3273a6dad21526815c29955224ea85d3ea7e77e45738dd27411c57f7b33878dd5472cb9f19fee68fd8daf7e40e6e210135d02f1bc5a6660c23418b6499cb1749336c7074df3452a88fdb723f591a70781\nresult = valid\n\n[d = 47748bd2f2cb67a3d76d5224fc9bd486287feac925c6d78e96cab6d1525b59e6d8d6637cda5d4390802349fea73e2a4e5fea8ccead58e910cc2f8101c78566918934e6135280cb7a04dc2902fd055b67", + "06a31a576e618f720890686f8033f8d1b1f4128f06e0c981247646ca6d73d2c68fdf0cda36d0f1741b274c952989e80e2094ccb4e04952c44da59a4f194882d897c5f62c2f29af9737c3b9f1a24d625926f1f55b0e39e918dc35237676e063933bee2c33483a4cba1755c0d176b3a0ba9e5a245506c51c074d5c9819685ed6640b73de173fd892bccd7f772d44d4c050ccb833c74ba421ebfb7f6991d57a8a4d20ea0b846d9453f5e7cc22c335100e61]\n[e = 010001]\n[keysize = 2048]\n[n = 00aab3022dc93a3b87213fe5e4b3fe4b27dae14af117f1ca900681c28fd3eca157df46d43a6eb0f167426b6819fd8b4bd52ba94c6fb307b16851ac071a99839325ca5917201fd71268c6ee28312d5f770dff62a497ff7c97a6ca841b1908730c5080280e3678d2859b89728716d3bbd84eb531f7b0281e1654a93165ff5911d689a238b339ac3737673ed050cbfc08b4f64f76b0596612c9883ed21f1e43bf8600466c7683ae3039044c3162b8919389108b2d51760e366dc257559b9d63bde45a2b541be9f24993b209acff5b3a24217fd337449d69075e1bec7a65ed4faef02fdc33af4df506720177c134cbc486803d5c20c3d9688985707aa5b8007882f731]\n[privateKeyPkcs8 = 308204be020100300d06092a864886f70d0101010500048204a8308204a40201000282010100aab3022dc93a3b87213fe5e4b3fe4b27dae14af117f1ca900681c28fd3eca157df46d43a6eb0f167426b6819fd8b4bd52ba94c6fb307b16851ac071a99839325ca5917201fd71268c6ee28312d5f770dff62a497ff7c97a6ca841b1908730c5080280e3678d2859b89728716d3bbd84eb531f7b0281e1654a93165ff5911d689a238b339ac3737673ed050cbfc08b4f64f76b0596612c9883ed21f1e43bf8600466c7683ae3039044c3162b8919389108b2d51760e366dc257559b9d63bde45a2b541be9f24993b209acff5b3a24217fd337449d69075e1bec7a65ed4faef02fdc33af4df506720177c134cbc486803d5c20c3d9688985707aa5b8007882f73102030100010282010047748bd2f2cb67a3d76d5224fc9bd486287feac925c6d78e96cab6d1525b59e6d8d6637cda5d4390802349fea73e2a4e5fea8ccead58e910cc2f8101c78566918934e6135280cb7a04dc2902fd055b6706a31a576e618f720890686f8033f8d1b1f4128f06e0c981247646ca6d73d2c68fdf0cda36d0f1741b274c952989e80e2094ccb4e04952c44da59a4f194882d897c5f62c2f29af9737c3b9f1a24d625926f1f55b0e39e918dc35237676e063933bee2c33483a4cba1755c0d176b3a0ba9e5a245506c51c074d5c9819685ed6640b73de173fd892bccd7f772d44d4c050ccb833c74ba421ebfb7f6991d57a8a4d20ea0b846d9453f5e7cc22c335100e6102818100f099d87fed03d2501dca1b17868c7f8e51ea523e7d2aeca56410b90d73eb1cc359511ba4a315ace0953a46099f6d78ce9389f8fa6381fee687fbd644d5bcff65ab10e0acf8bcc5d37b5c3c810cfc3bd2916ed1d766b583ef787a4314d6237d177e872e9cfb0d23f7671121906586427a79cdc14d551604a224cd63bb2d0226f502818100b59fd9a569e3f497eb16d1fb6b5ad688326a53abd0b83f1e9e8efe2336131cd3a7ab94618eb4ba8282abf0cf78e7f2ec4a4d4a1958a5cad8436f915bb1cebbcd0993e2ea01f2743566822136546ba2fc5a239579e6ec94dd7ce677de0482500ce0e70b366c10e15857d63190f7e7375ceabaf56c3542ed7f39a9df2f713591cd0281804ada421dc27a2ee317f179ae3f00d4ea4d17ce507c966f1b215f8682e5ee5e7b73fd24d17a9f52b2681ac2115a552f816d2b3e977f7fc0f2ad99aed6a97c6c24902ce709493549827add7e4153ede11aa87e46b071d6c4de2aa836d873aa84cf5b60e92293844a0d3d367a2fb73626d67db08293f185b11954c3c5644523674502818100b3596246e1c5e4a68fd33d0f94f76299a38f33889ad7161d5a5dc1bf6b8a7c10d5a5ad249913068a12174ff8d05fdb9651d8f8af06c6d103b5b3da4a3dcef3cc8904ac328031b767740e54559e0f9c26adac2dd2eea1f86eaf03b6a25ab983eaf3bbb36ace53ecf29bea3b8ff7fd2ec26658b039666eecaf9175999af3a3fe9102818100b9091513c6a91a0370ae26d3ebe4cb5410d27d4086213e1030dce0e7e3f435fba1f22b71f02649b425cccd634d35a3d49baac96f9785ae39a21d8cd88a26aa553012e8439947dc3dbb4d0215b9ac24afc9a3baff7a702674013f2000640db63106fd400cd3e230b98999af9e7f6a0d03d5fee0b9c9e2e422eff3968a1cd07ae0]\n\n# tcId = 53\n# edge case for Montgomery reduction over Z/nZ (64 bit)\nct = 97e090014478c58f681840c5170ee90584f734f154ed9b4850df6c20ac5470fa8b44c4f985ffcb52024917c51bd12a6773caa1d1d29c6b5fbd42963dfda4473cc573188ea41b3e254de9f9dd3472e00e4f22b0246fd3452f25fc607f16ac4f07d8cea65722606642b4f3ade0115ebc1cb56f3a5c600efd07e2d7e5b90977aa6cd5fcdda7bcd8123b15f71bd8f07b8440b540067de6677efe57a25eeb5d90dd4c6262e1a3b15a6a93d0e901e205420e2169bc4e1e4f55bb36432c50b92c22798c3c5c703461b99bc06ba22ec5c0fb17db74fa4faaf889f95718ae0c1d1b83e5e6421dd1327682e25c04061cfd30a7b9b4d470d736dd0c11788afa830598d8a06b\nmsg = 224bcda382d96b12ef56ee0fc56b67431b6490aa2f0e8f6528424c32d6611c4c0b9753a167a633e6a74465ca068ff40f802b43726a65f1251e2a075a2cffb1510249dbbda0f1877fc014310bf4c428295d5c1fa3fcca34441d4e84b1834f40079ca09ce1a52915dcf9d5472b9aec1a862d619c310cf9680fe7cbc03bfeb9cde565ca4666625ee2cd6725327c942dbb5b836f0cef24b2e646c91924543a07b6c5925ea8820b909e2040e2d50b7edf9fe5f241\nresult = valid\n\n[d = 57f0bea7b8fcf80aa46ee59c74354b96693d2c728c185f90047e2a6937ca8b7e6952646c407125d2b88a7a0b110c4626735c961f9cea5d600daabf5259d5550110acd4660aff59eb2e89a9443d2416852094f968a536407f1f203e9c63dbef5d5f7cd08ade6ecf5902dabc3c63e6247f8993369225c3064f11a8e2cd80938859112602ccc080995e63a96a537c001433fbda0e03d466b9e4fa3a32345c4b45699861793946ccaf84b0bb43c560f376ec422d5246c94d2867b66c1798877af3cb1cc85eea36cec5c8146a8669bceee23e292e538e907c89fe9e231accd4b728b31b81a4bb8bd3d66ec21d1a30294290d7837b2718967a74920bbf2727e62b3111]\n[e = 010001]\n[keysize = 2048]\n[n = 00a333f78948a0c44e8e6a58c8bafc3e4fface7889db0cccb8bd82deb8b2a616f18d0860d713b6aed9d7b3ee3c6c53f830c8ae66122528d47315075433641c1e60927a425642fe40983cd014bf22fcbc41dfea61f6ae953b1ece7ba7e1fa1daff2e291c4a40ebe1e02b67280a7417338f2a206b3098e927e4c0f13ff2d2887e2fc0ead80050d10f424c6993f32ebd6c7a96c6c820e463db1b1b58980d9f092d708e779f30a786a3b144eaf513e737eee7a699e6443aa729e8e3bae605a5ef0f391401dd33ed1e78dcf0739f3e92601ce26b0363d590ec29a75f5fa876b987deb0753119e733f4da571a62be1a2b8430d9092b15d5be7b60a4676a5dbe95eb763d7]\n[privateKeyPkcs8 = 308204ba020100300d06092a864886f70d0101010500048204a4308204a00201000282010100a333f78948a0c44e8e6a58c8bafc3e4fface7889db0cccb8bd82deb8b2a616f18d0860d713b6aed9d7b3ee3c6c53f830c8ae66122528d47315075433641c1e60927a425642fe40983cd014bf22fcbc41dfea61f6ae953b1ece7ba7e1fa1daff2e291c4a40ebe1e02b67280a7417338f2a206b3098e927e4c0f13ff2d2887e2fc0ead80050d10f424c6993f32ebd6c7a96c6c820e463db1b1b58980d9f092d708e779f30a786a3b144eaf513e737eee7a699e6443aa729e8e3bae605a5ef0f391401dd33ed1e78dcf0739f3e92601ce26b0363d590ec29a75f5fa876b987deb0753119e733f4da571a62be1a2b8430d9092b15d5be7b60a4676a5dbe95eb763d702030100010282010057f0bea7b8fcf80aa46ee59c74354b96693d2c728c185f90047e2a6937ca8b7e6952646c407125d2b88a7a0b110c4626735c961f9cea5d600daabf5259d5550110acd4660aff59eb2e89a9443d2416852094f968a536407f1f203e9c63dbef5d5f7cd08ade6ecf5902dabc3c63e6247f8993369225c3064f11a8e2cd80938859112602ccc080995e63a96a537c001433fbda0e03d466b9e4fa3a32345c4b45699861793946ccaf84b0bb43c560f376ec422d5246c94d2867b66c1798877af3cb1cc85eea36cec5c8146a8669bceee23e292e538e907c89fe9e231accd4b728b31b81a4bb8bd3d66ec21d1a30294290d7837b2718967a74920bbf2727e62b311102818100d839bceca3100480a51f6c2ab91374bd6a5af65ce69c79251fafa3a88a1e7e96eb0f7d122118c102a825dbc5ab00f8d744aec6b8eff0c710b587f4a307e141a86ba374d31716e415eccaf8f2b8513740ee2f0bec91245f66c04beff09051660a142be2b20432b44ef31ff67b749f11abf932957b7aab3d0f0f42118d0869e71b02818100c1395917600ff8d375fd320152d9f0aa458032fdec304defc4c9e5e70c5d0c6c60677dd2a512f147b6b0483f0f35a80b172e12574e3076bc4be938f3d1ece3aaf9a7e92aceb6e1606a1ce5f785463c03695a0bf04f8c612ae69faa7d146924571ed23ee64caada26aeba1da8305a2f945cd06ea0335fc50cd57f499ef2b815f50281800353600483bd8b542f35fc83ebb4d0e6d8ebed3e208de78f1a9da8f6bea9196958d43428433a0e3dec3828d93178225bad42c2ebb5450ecac30004533d9bc956bdd115cae96000c2159249a1f213cdb5c1f4174adc30a307018e297299c5a6bc20f34bd95117368ec04e8d8bf88f39c65b5edbcdba6547db2370f0b42a9cf661027f47b4005bac4a410c37bcbdd1bfed20620f688383b72235c9c43d28139582f21945ad2204093dfe4b9e7fcc4f9a554f06ce934a3b1bc8e046ffe48c3deea8f9d378d1d6b50c00d1a1f5bec39816dcf9684ab01fbe0dc70a47e14d5ef70b9bf8e05b8fa9c7ccab9a48c08e5073197e5e29b047a8c5ca4abfd5036538ecc3258d0281807ebe762a8dcdf901a5c0ded40daf3713108ed386e517e6900f2cba046e91d34df81becebb25339f8bf4954372d0383b1299e899ae088e9bc05ca1a478a5907839f5c44c40af7ab86141af92754c0dcc8c4bed879ecd58d3a3e630ed36b9f830faa22aa3e42e08617e4cef053add9cff465f8b629ac8ca2643c1147d47ce8fb4a]\n\n# tcId = 54\n# edge case for Montgomery reduction over Z/nZ (2048 bit)\nct = 8c97556b822e64cc85ff36d1cd977620da4a72e765d12f742ec57732064cf19e2215b67aadf1d38a5ac23462372be206732038945001fd1991b3e3cbc10c81a073dd54e2da890f6c9d7b8e8154be1b3dc5e2c544ba8ce09687d62b707ef8dcbff88c6c33ccf72edc71d91b9e3ad51562a82c6414efe6cf7ed938bb22381e6846da3917fb25037", + "25977ddd4750120a21a7bf6dca949b397a8e7824f2aee231fb0d16b00ed927f2fede4e7043f1ea18430b22a4767796085ea68d3ff29f5082972746d2f4e2f465534ad87088f03a8fb699f3bc840d47953bbd4cb3a29c00fccdebff359d651bfdb6fbbbebf1ecbcc748a06738ebd3f027b646920963eeb067c33\nmsg = 991d040b49f1338a65d2f996e4f1e651f075f143db4ed0a29ae936ecef91a85d4edebb806e50735522ef88f4bbf5ce47c12eeba0f768216b9dc304544db563e53bf41a26360440997d06ba6e46c2c7c02272e00852a95e5bce8f0223f6dd235c3c7bf8132ab4ce68ef53f82dac02f142abe7db2b5ca67d7ac3857423e5df927f2eceb0c003c087e55dcaa923181ce629e3464592711a86bf0d07c80c58416b74f35ac14b2d4747818eb8cb16b6d3b6de0a21f27d4f1271439aad21024d\nresult = valid\n\n[d = 0089fb4ec55d28b21df04699e3f3bd8eaf3509e3ef2ab301632075cd6e61fa8ca6c14d00cbb19230f77e626b8e20fa994929e8010776db049ff2b639e15c0bddf17db3bd7b60803e6ed4cd7095114da560e7015075d24cfd2e262e6ddcc3bf3a69849b3b2223bb753d8cc0c8423df0587f845da6c07bff3e58e3f4614b3ee4caac10ca4feca4b2508c06aa55cc2431bf105edaabd5e70e7139dd6436ecf03f3a2af724fd2fc777ba63184dfd9be1e24604dc6fe52c405400e8cd47d7a7fccfa410f895f455a6e2d92b783dd5b92f15261208ff86d1cbfcd3428ba0f5b6d510c17730f6a2c53866f0c03ba03ded6a228f1c888d4bf35cca773683fecd28d81bdcc1]\n[e = 010001]\n[keysize = 2048]\n[n = 00ab1ae81a7c70a56c14361b6dc7c28d6821fd776d3432dc812aa8ecf1ebb7e09e2c22eccadfb83ebf0f3f8842f1fc3b942bc178457af5b7fecba5e311faedf61616220503959b56b10cea46e84d97cfa1a97fac412773df8aad7de99910b61f23e376a0343b2952ba9db09a8deadfaf0265a6672a7e8a6944ab2697b08f9cb036517f82a49d76853187d9bb8e821f4b8788cd0ad6864747556bb1ad049ff69fb4dee9f9d4fd7c3083847f8903cdafabfbef26b560ba76561e4342fc68fdd177d86b20eb9efa3bffbae8e006155b396954f6c626fa0a67294f5094f6be5b4038974aa6472df0148fbaa1a74a7c31a40723f63535bd6a06fc89b5a7b34aea6c0c87]\n[privateKeyPkcs8 = 308204bf020100300d06092a864886f70d0101010500048204a9308204a50201000282010100ab1ae81a7c70a56c14361b6dc7c28d6821fd776d3432dc812aa8ecf1ebb7e09e2c22eccadfb83ebf0f3f8842f1fc3b942bc178457af5b7fecba5e311faedf61616220503959b56b10cea46e84d97cfa1a97fac412773df8aad7de99910b61f23e376a0343b2952ba9db09a8deadfaf0265a6672a7e8a6944ab2697b08f9cb036517f82a49d76853187d9bb8e821f4b8788cd0ad6864747556bb1ad049ff69fb4dee9f9d4fd7c3083847f8903cdafabfbef26b560ba76561e4342fc68fdd177d86b20eb9efa3bffbae8e006155b396954f6c626fa0a67294f5094f6be5b4038974aa6472df0148fbaa1a74a7c31a40723f63535bd6a06fc89b5a7b34aea6c0c870203010001028201010089fb4ec55d28b21df04699e3f3bd8eaf3509e3ef2ab301632075cd6e61fa8ca6c14d00cbb19230f77e626b8e20fa994929e8010776db049ff2b639e15c0bddf17db3bd7b60803e6ed4cd7095114da560e7015075d24cfd2e262e6ddcc3bf3a69849b3b2223bb753d8cc0c8423df0587f845da6c07bff3e58e3f4614b3ee4caac10ca4feca4b2508c06aa55cc2431bf105edaabd5e70e7139dd6436ecf03f3a2af724fd2fc777ba63184dfd9be1e24604dc6fe52c405400e8cd47d7a7fccfa410f895f455a6e2d92b783dd5b92f15261208ff86d1cbfcd3428ba0f5b6d510c17730f6a2c53866f0c03ba03ded6a228f1c888d4bf35cca773683fecd28d81bdcc102818100dfb7b5f673f311d1641667f48f3e2a693c067291d64182d4d0e5641d6510332fa985a77b798884577c62165f93219bc55aa3873cdd94171c122a212381bb64e36fb76b22f41c9c16eb8ddc200cabaa00be10f6d756554c74530f6ba60fdc8d3aac0e03bdfdf61afb39ee21b26af14c6a23d4a55a4059e9ae92d96aa5d515f81102818100c3cba6dd3de94d596b91331da9ffa8c1b1d573d95f1e3a57dd5062d27b9aa4da9c1c9ee61ef57e9b3715fd1725d777ddfba79bb55651adc8dbc607f15316dac14de13d14253cc5a40a738761e4b8fcf4feb7ff95672a4023961b5951ec648edec85c1589868b7f0cc02e244186d61a6aa79db87b60f21e59c4db5b50a0f193170281807156af1706b31449d2bd0f39750077980cd2ef6436f9c5806fbc6736052769e731a906aaa56da62e745375264271fa6ac77aa55f0e9aa20294a94754a7bafa67c707537dc7d25eb9b5e88ea6a604aa01ea48c9e55a55a8801e3c67bb1fba0acab8b3f8ed5e263a91204e26402fb1c396da4436e93c44d100a2610788b0258b2102818100a40a701754d3aed68864f2aa9bcf731835625cd975f3e175d41a91713fd5e4e0b382d72e7e29b8955aa5b5923b46374b689898c0693dad9867699725fd335cbc2fffd2289aba3beca04502dc65c1074e4c4ae47bcc1f7df552c23f27802310005f65a735bde009e628ed7fbad6b9731080b687e5f6e763be5a4c5e49434ea2a902818100a741113a20de887068f2dc4a91532d9ed80b6505eab0bcae6a9b06b1048242689783f65bdbc959628cf2411ab6f13a1731fde3c60aceb25859e7e1c693ae4eb914d23211687846ce746daf43cc76d1a4ce24abe00ce99a91402c23725dd4033f29aaa2e039400e0b85a8894d275517731fbde6f82ee8e62e523d64922cbd1727]\n\n# tcId = 55\n# edge case for Montgomery reduction over Z/nZ (2048 bit)\nct = 0e3f66a0127d21df1128701a777a5338d5727bc8041c3b8c25bcaa5bfc83b0261150a5bf41658c08cc019e3ebeeabb729c3bde84ffd2023f63313b3d1ac00ab4637b36e855a0d8e368971b2ba99ad1eeb74f2db48fa9abb125ea9e7568c612c1ad48110d1008141ac34c98e8952347142470171ddb4dcd914a3dc0d0ca4f51a247758da924d5ea041c8789b26974349af3a9bfb83ecd9107414a5f17c3abe5250e6891ab465ffea8b0e2fc2b43a9c1231d8a8631ea6f4a2817edbc5e918258c7b3155396b7a1cbd19a09c9b2397945eb4b767238a8833e63e79b84e143be8a4dcedeaa51cb936c08f364b74817dd1cc6a98a2cb3223f2532f17530570e6e693e\nmsg = 5b1d0e30c1973a87ed29cf3b7b4b48ae3d2e054698a86ebfbb43c5041ce7fd5146018abcb2bda195928b4820b6ce60df34c97c650c75b4dc274b35c7dd33f97839189fddd46c960f996423fb1c30a1c94c01c8ce575903d4c1af7b805443289d653b9cfcbc1482e84fe8c19cda33f9324b1aaf3e232699017d67d281450ed445265ff1aaa52e2a74b43097e590dbab20eca6b8bbd6df182b2e963e374f32f76b700661598ff707512e0f99849c73a49f7c068122952185855f254d3473246818894740b06c0f74b0711fffa7caacd403f886b4982f71a1d940d0b3118cdcb4135bec8d46b266cd2719873751a82b46f5a924\nresult = valid\n\n[d = 29daf49c3ef3653765a42b7614903e73f0aa28b9db403bbe91f8e788d2bdc2c8a819ad72f0577c51926b923b0422f22d8989ba4c75eaa03927da30a800dae7c4deb3715caf33b869cbf4cac79b01c25a5f1d898e7321505cabdd7562fe035f032d705acf52d93fff7f2b574777b7ca4e9f65fd4f4c7c47983d21000130d94884f7393f042c7a85169b441ad7a18ad15367d7333a87f2d8653bf160850d32e4609160d57e89b11356abe7d51256651326906e11bb18354c22a88dcc7f8f10398d6ecd4596c731c307c6184c61f64ab5a3b49b7a1c4b24cb273393187d4aed24cf0fec79484f228eda3c56ca016229cc8777871c7184ce474df84d527031e3bb71]\n[e = 010001]\n[keysize = 2048]\n[n = 00a1c69ad4fe9b071ba4612057ee3835b0dfa96b60627848ef5b9b2b34c19816cddbadf3821c4cc487bdc4862b373a40a055dda27c87de08264a1732b3a0a00c132e72241db89f8c7e67bb415986feeef8b6fc3499d3e91a9a2ee562de2bf0bc854a8423fd10dba078c5482500874417875d0326ab8a0c8094e050282212e1291b41b241cf5c065d2f4995897d6270f02d6d0ff5b7f067b71cb76e72f0115c7fca37263a89ab155022c8a4ce19dd2e25ea9ac51d8464fd0f587c95f06fa1f9c01b0a20890dbfea12a60fc0aba9c4ebe81c17f49390021b1cc47f26b8b0352684cf8a544d9b2ae1962b7f3cb11d722710b0bfa550e57b7ca04e1b7ff16a035cdfb1]\n[privateKeyPkcs8 = 308204bd020100300d06092a864886f70d0101010500048204a7308204a30201000282010100a1c69ad4fe9b071ba4612057ee3835b0dfa96b60627848ef5b9b2b34c19816cddbadf3821c4cc487bdc4862b373a40a055dda27c87de08264a1732b3a0a00c132e72241db89f8c7e67bb415986feeef8b6fc3499d3e91a9a2ee562de2bf0bc854a8423fd10dba078c5482500874417875d0326ab8a0c8094e050282212e1291b41b241cf5c065d2f4995897d6270f02d6d0ff5b7f067b71cb76e72f0115c7fca37263a89ab155022c8a4ce19dd2e25ea9ac51d8464fd0f587c95f06fa1f9c01b0a20890dbfea12a60fc0aba9c4ebe81c17f49390021b1cc47f26b8b0352684cf8a544d9b2ae1962b7f3cb11d722710b0bfa550e57b7ca04e1b7ff16a035cdfb102030100010282010029daf49c3ef3653765a42b7614903e73f0aa28b9db403bbe91f8e788d2bdc2c8a819ad72f0577c51926b923b0422f22d8989ba4c75eaa03927da30a800dae7c4deb3715caf33b869cbf4cac79b01c25a5f1d898e7321505cabdd7562fe035f032d705acf52d93fff7f2b574777b7ca4e9f65fd4f4c7c47983d21000130d94884f7393f042c7a85169b441ad7a18ad15367d7333a87f2d8653bf160850d32e4609160d57e89b11356abe7d51256651326906e11bb18354c22a88dcc7f8f10398d6ecd4596c731c307c6184c61f64ab5a3b49b7a1c4b24cb273393187d4aed24cf0fec79484f228eda3c56ca016229cc8777871c7184ce474df84d527031e3bb7102818100dad1d8786696213386dbd73156d3391d5c0c5f70fb29a97801cad51c3c0cf893359391d1ebfb066f778e5f76da0b3d9bd810cc2d02b4d353b598443e1039c7a91e8f1206fd2142e6409cc8d0e8c70e0e872ac173bf5c0997363ed47a015a45ecc971fe22b5f65a2860dc87ffc723edb753688d424a2614b4721a2a91720aac2f02818100bd437af3dd1ecd829c181dfab12c41a0bf43cc1ecf5b282773c5da0050df6ae63c6efc1151ccbac1e1ede5082d1e0d83ab8122286e2c6383f39d07ba0f9bf7c173591d1a416ade762cbefea74c66dc5f2e5cc5dab786ff2ff613029535077e6a23eeea0035f2927b210473651bd60b38a6e629c00a826350b6ef9c01632eda1f02818100a1acc64a3f51d17a26bc2bc532a7a1dd857346d94d59bcf3042fff417b45022c923b54544c0d0ef630d9aac33fdb6a4bc95aafe0d9cd0d0f1e6f408cb2a45e5720530938ccb254a1973fc0484a953857979b099021e538d8d", + "6a5998c038fd5765c68b322a65b3cc5f4bb3c68c9944c4155893c45ac4f72a0d86568ea49de84d50281802aee6dab77930f26fb65751772ad094dff54cfae8576b60b0cf5ea577c00d1ecdbf488f51ccb05ea08e7bfb63515c61702064ecb41028ca857d05cfa55a4197526472694d815f7d4729df881d690d698389a0ebf68361518ba06e1e51a9c528e9d0c0ac475784ac5e75d6d179852db44c4871d1d54c4f2e65238d3f87499221d02818023b6f130671feb076e3aa0a0df22e3dce408eed61bdd2cef363a6ae39936817734b6d5612cfff2511f3fd57b58ad0c1b4be056588c77cb2a591a8d4ee51e6fea618f6e31a3f048cba05193e37fc8f7ae51814fa4fb968871ad332847a3bf3874ddbe77a7461174d9154da0940ae4886f7b6eba0972e3229968ea78b1b7c9b458]\n\n# tcId = 56\n# edge case for montgomery reduction with special primes\nct = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nmsg = 63f6d1ccf5c03442d3b1b29b4e83e02242c26183fcbede9b6d7881a819d6cb48448da49ecc0ed0172713a17f24154f47461928aed551cb10cf0f7ffd47dd728edbf6c2060a340d95e980d466302439cac9aaaff9d54622ca0a4429aa891ed3cd210999ba4f442af8ecf63ba9c1cbc4b9cc4940f6854e75f789858bd429b1a398093b4dfa0018a98bba620e37f840c6a37edce04fdb739b2b7d0c9fe5a8eaaecf14d9e6e27f131742c1129769901f512bbe6b578ccc8a6f25a7cfc7fbcf743c318f2346b1cb4709\nresult = valid\n\n[d = 00c66dbc49131572abb9ad8237026009eb164a40632e1c31ea7de4c0c00018a25143b64530bb65db40ba40ded24ff9709d3b29f231a105e14c9c2f8dcdeb5ce52c9514435f3e39cd89eeb3e9417f406dd8c79ac9a220deea36a8b1378f178746081ce687795b734b2ea3b795b7e524082181a751a6e4f8c987b776dc5b6350580d0549995201782675ce0e978709f579ce517d509b6d3e85c22231cb222bf932dd34a48fb9485262b14a1eba7fe4e11ea66d43077f482eb5cacd6a13c08f406e75501b2b6e691d61494fb56f5f70a4aa9f91070ae919d3c43807ca5bc8c6c526520858ff3cbaa25f11c7cc3a0f437dba2b3dbbcdec1ec1f8a5d5121d435e84c681]\n[e = 010001]\n[keysize = 2048]\n[n = 00cba072a38b85c7802967a8ebc88ce47f80f7a82fe75e8142ecea9ae87f585b7f7ebb3fe030d5894f6406e6223e73a3dce688db3339c8ea8e6fc63069ab51be6d337906e8a0f44734cd1965d689b5556f33bd7ee19c0405587cd73e0d97de4128f67866bef20974620f5a8086ec11c13b96faea171d98fdb9a57f7c7729f5c8a594635ec72013c33374a47176bc67ce9f6ec313a6b667e6fc22be8bd116b831455112e39e7c4e5848d9a5a60f42783150a191503b6be381cc2c2aee466aa270fc00b0512a83339c442fd833f8a2d1876be5b63248f5e586de3f8bcc07b01c0f2ea658a466c7c7bbf475ce0a441bb69f63e99eaf776a17049b6a49a543c085d001]\n[privateKeyPkcs8 = 308204bf020100300d06092a864886f70d0101010500048204a9308204a50201000282010100cba072a38b85c7802967a8ebc88ce47f80f7a82fe75e8142ecea9ae87f585b7f7ebb3fe030d5894f6406e6223e73a3dce688db3339c8ea8e6fc63069ab51be6d337906e8a0f44734cd1965d689b5556f33bd7ee19c0405587cd73e0d97de4128f67866bef20974620f5a8086ec11c13b96faea171d98fdb9a57f7c7729f5c8a594635ec72013c33374a47176bc67ce9f6ec313a6b667e6fc22be8bd116b831455112e39e7c4e5848d9a5a60f42783150a191503b6be381cc2c2aee466aa270fc00b0512a83339c442fd833f8a2d1876be5b63248f5e586de3f8bcc07b01c0f2ea658a466c7c7bbf475ce0a441bb69f63e99eaf776a17049b6a49a543c085d00102030100010282010100c66dbc49131572abb9ad8237026009eb164a40632e1c31ea7de4c0c00018a25143b64530bb65db40ba40ded24ff9709d3b29f231a105e14c9c2f8dcdeb5ce52c9514435f3e39cd89eeb3e9417f406dd8c79ac9a220deea36a8b1378f178746081ce687795b734b2ea3b795b7e524082181a751a6e4f8c987b776dc5b6350580d0549995201782675ce0e978709f579ce517d509b6d3e85c22231cb222bf932dd34a48fb9485262b14a1eba7fe4e11ea66d43077f482eb5cacd6a13c08f406e75501b2b6e691d61494fb56f5f70a4aa9f91070ae919d3c43807ca5bc8c6c526520858ff3cbaa25f11c7cc3a0f437dba2b3dbbcdec1ec1f8a5d5121d435e84c68102818100f0bd0f39bbd0d5492d57c6c43d32e9ad5a036b787a27350e8f1cdb4eb568b52cf16a4ec3c09a010021fd04b9721c59db11bc6dcd3a81012003d21501ac9781d6b472f8cc34b96c49525e0538b4f7bad64c62fd5ebe9fd336b828183f1648dde68786e9256b8c82262b94f2f47ff31f66e826bc4ba7847067c2fc44a6228beda502818100d8891a2d2d104310741cf585903fafaa4ca0fdccb15360f40dfce6e9bd44b6ea22250d70758e85414a569d0b29686e2635a66e45360aeec1a1627f1d4957bf1ddd1f1f70eb7ff3374f429483b47f18ebf19d3c7b7f67f558c916675a46b6706525bbdcd6fb94e1aa796f706a1311b939df18677b7ea8eecb899346cf989ec22d028181009ddd5c7e9f8af2526a49852e6a73588934ddc93bd7de9e0c4e0cbe437ef28adc4df348735579a7ee4e5b7d1d9e96b8d5cf6ba11553a804f4d98c89f9ef13eb30c0642482c49053524191261b69908a14bd42aca3d49d3a0447ff02e75bd5acaddf71b8b1b13512a3b53097a17dc610718b0adbaf40cab86b5291daf296f4eb81028181008d5b1b52888b882c5290a11b3b2ac8239578b7968be05177a1360b0c65b958eb89b4c48c38c1fc6dbdf8c2f689669a19a986679019129400a5b926205943c608d9d43a733dd9be4dca193dd8a8d91bccd363011be1f55cae443fb2e2b52cde3cb9a0652f96f6ff468995dd3df20aecef419badda69ba208190e32b23d48f37550281800502a12de08187e6c1c2c8c70d474b91df724f42fc310d78f8ea5040424457fc64fbbf26ddd5f4a172b956c7604e8022c65741dcd141b2fd0c529f1eae94a9544bb16fdf544426d6217ebc13ac86d8a6dae7af7d64d6d3332653ae6fd5448f0dae43210000e2a7a80bebd420d8c8609d57759fba7a8877db4539e1abe0967483]\n\n# tcId = 57\n# edge case for montgomery reduction with special primes\nct = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nmsg = ca095311d2c3cba494ca686bf451a3ee1ff4ecff1fe7738001c9d8f494e2375efbf0b03e832bcbd1d8d1a319d262c844fc1aedaaae7c06bc654e4af0412265aa0dd1cf46652460d43b14436ba8cc7c72870fcb92554e1c2c468fdcc2e31769437b57d47a348c6af331ac9e0132d41607ee95300330537fbd74e25e661ddc9989d201155f388a93cf8ffa7d44b33a4c1baf7a1b056ca80eef22a14d1f1c4460d6136ae6601fb19afed2b78f333047e8bdaace0a6c61b056c23a360829e632d1e847f9f57aac7322e27d6fd1a77c941743605405c037ebcc8ad0b68b034f954af5fb47943f5580abc20d59b6d419\nresult = valid\n\n[d = 008740774b9bb24693c567f6d0d7a307bc3f46c19a6e21389c1d2dc0559d3beac99559669771eb26a3ef602d8b4bc8b3fc77373fe04f7d55479e6b9d7e693ffe0268d2e7c014d739b3b31cc7c3426d583a646c838658eff7db25167d0b96128c678210f4efcbf5404bf63bbc62c26fd91e69cb84feeb5e0af28de83c3e55db4d764c988fa11e96e9031c080568c8856e8bf82dfce9e452e8aa2cba07ec08210f1d69fb70a126ed13f2797d91425ab46c0dc917c629e36f91b44789b9080086c1119c5e281face72aa09bb4bcb33e9da4223ce935386529b1c7b7e628fc007fb1f1850e390968ad1fa9a49fe4f81c4fd09babae98bbbab06ad00910081a493f9f01]\n[e = 010001]\n[keysize = 2048]\n[n = 00970c802f8bc69e2e7e9f5c38834600446ef0d5f037311c6b143ed35258f9523bdc9b8bd753b68e842e7399769d9d428b8ce68f0ab97427205896b66b4d26b45c99b3dc5d0268ce20e33270121f50ebe23bd24c8e378b31fc30fd079f1918fc54d9e57229db62eb454ca45eba505bc4166f80d24784e58b14bac6b3435c4fc6eae8a14d67a06eda445ec46e9826d3f75da0a63f4a295c8478cccc9d19177d74f57a5ee66d9a1004bddf546eea046a9c9eb78e3b1bae5fe7f8240703bca97d7224c7f2f9ad549d87f5a9b64957ab85e92ca22cd6543f36595412bf535f258b2233dae92da91cffa8a0a2215bfbbef75d078cc516e388db733da5cd656f93b0eb59]\n[privateKeyPkcs8 = 308204bd020100300d06092a864886f70d0101010500048204a7308204a30201000282010100970c802f8bc69e2e7e9f5c38834600446ef0d5f037311c6b143ed35258f9523bdc9b8bd753b68e842e7399769d9d428b8ce68f0ab97427205896b66b4d26b45c99b3dc5d0268ce20e33270121f50ebe23bd24c8e378b31fc30fd079f1918fc54d9e57229db62eb454ca45eba505bc4166f80d24784e58b14bac6b3435c4fc6eae8a14d67a06eda445ec46e9826d3f75da0a63f4a295c8478cccc9d19177d74f57a5ee66d9a1004bddf546eea046a9c9eb78e3b1bae5fe7f8240703bca97d7224c7f2f9ad549d87f5a9b64957ab85e92ca22cd6543f36595412bf535f258b2233dae92da91cffa8a0a2215bfbbef75d078cc516e388db733da5cd656f93b0eb59020301000102820101008740774b9bb24693c567f6d0d7a307bc3f46c19a6e21389c1d2dc0559d3beac99559669771eb26a3ef602d8b4bc8b3fc77373fe04f7d55479e6b9d7e693ffe0268d2e7c014d739b3b31cc7c3426d583a646c838658eff7db25167d0b96128c678210f4efcbf5404bf63bbc62c26fd91e69cb84feeb5e0af28de83c3e55db4d764c988fa", + "11e96e9031c080568c8856e8bf82dfce9e452e8aa2cba07ec08210f1d69fb70a126ed13f2797d91425ab46c0dc917c629e36f91b44789b9080086c1119c5e281face72aa09bb4bcb33e9da4223ce935386529b1c7b7e628fc007fb1f1850e390968ad1fa9a49fe4f81c4fd09babae98bbbab06ad00910081a493f9f0102818100c6796d5db4801718b6407a1685751c5d7261b8ea32155320a956c130f17116f81fd01284062a5f1b114901fead4a38d12130356805ac921fc538307379fc1399638a6b9f06a88d1cb6b88580bd42a411d96b6e785cda570b4dec2a651a9841dd94f5121a4fe7c7fc028f554d0ced4c87f7a1eeb3b723a2e82f41841cff4e926102818100c2d427a9927c45b982cd3f08eb077201126577138d7e9e0bf80b6f55a884ebee9cd9945f041c52618efe8eb2a7ba4440cd7acbb236607ceb89ab2faca8d10f377512e9ffbf3b772fa9f8b745820c8d9ceb5e8e98378e9f3ab391506e051f3253e9c6d583138258659c7abee19baa2ee169b8aa01b5ffa15289538b0a8cd66bf90281803fea40b70976aa7971cfa7c172eef8d87b0a4f5354179bf28bb5fd76f679d5ccc7e9e8dc8d63bdc6e8b51b2859c3ea3226bef0a3f417d3e2d94f34032c086a835e13e87e88d564c4176faac67fac634bc039a194af4a3cf7cdfb3cd7dc4da6006684d97491c0f19d0d71fd2558015f40f61536dab72289c6bdd91a6380305c610281805d440c7c9bb84bf4838e5787a0635f0aee508e5158e1ed2cd3a03dbae6c242e36648ae43520770d46d0ca529172c0ef26aab4709d80816a4f6b17150193c83294c2d32c1903d1a5041f0e3632ddf6e87591159f7ba58d716d5d1518c697d46ad6ef31550fb2ce1be3acb73c732aaa4689a20a199d2133e99f14d81f919f4a7990281803dcc0287c0343f8fcb35c8a2f88b605e650be24d42d8d65a95241a51838eb63b4e76ce15feb538bcd2db0e9cc4f85fd9ece0414b9162024ec2d06e8472f67e97745fc69492ca049cbd4166822d810244ca28b2451ab29d2cf24836368770ebb7bd591125cb48b5307c590ff270783378b17402af4bdd356840aa6c51d84c3362]\n\n# tcId = 58\n# edge case for montgomery reduction with special primes\nct = 970c802f8bc69e2e7e9f5c38834600446ef0d5f037311c6b143ed35258f9523bdc9b8bd753b68e842e7399769d9d428b8ce68f0ab97427205896b66b4d26b45c99b3dc5d0268ce20e33270121f50ebe23bd24c8e378b31fc30fd079f1918fc54d9e57229db62eb454ca45eba505bc4166f80d24784e58b14bac6b3435c4fc6ea68a14d67a06eda445ec46e9826d3f75da0a63f4a295c8478cccc9d19177d74f57a5ee66d9a1004bddf546eea046a9c9eb78e3b1bae5fe7f8240703bca97d7224c7f2f9ad549d87f5a9b64957ab85e92ca22cd6543f36595412bf535f258b2233dae92da91cffa8a0a2215bfbbef75d078cc516e388db733da5cd656f93b0eb58\nmsg = 575b819ff5b00428d51e8ce5df4a02d588ce49f9540cb6f27a53f0f27b2741d2ba97d9192fb67c90f564a48965\nresult = valid\n\n[d = 009c6d3201df14218c0c4475d2422c84dde9291d4b952efeb59036522d51959338621ffc9692f53203e839ebfacc0bff499b83d40669134ded0a5f317b1897c74c05c615fdc8b2373049a6e64770b576b2d89fc3514f0e368581593acd8b91a976a8526cfe8ffd8f4b3c7c10278e46ca46b5942fb3442f63882c0e65a57364e8694c29ff9381d733988b6b20f43fc652b00bb3c49ab0444db21490bed548e51b47edd773a8559ad59bc0b0eacecc055208b1f5814ef39c2e259c172b8f446a2fcdb8f2beea080c4f2dec942f813c74c443d8c7636378120f765e9085bc27750b94de249a19da1e210c0fc79b711491a1f255bf0f0ea753f01f5586591b40fe1b21]\n[e = 010001]\n[keysize = 2048]\n[n = 00b5b356e62591aa12b607c9541e081020a8e48752f9e1bc50989494ad5c5a22079a00b607d8f5ba364475515ca5c9c204b8f294c0a42fa3265f9a3337f3331cc52db473dd4644f9ccbdbf3742f3dde513b3d6df9cea6e94e2e2295147ce03685d42515c2e1a869529d41a51c06cd0c608932adc5b5ce790b4e8f9c72a34d0e5b216c01253c22ebe6eb71917812ec899df666b94e0a2290e75197063ea55e3390e2a7ddcf9c47e2543030f69195a3379d4739090dfcd07295bfc9a8e2891ee9ef286623cb9963c056d934749fd2bcd73e47b816595d54bc2635fea68098f7807687996c1826023459bb4211ff1e98ac140823a36b70345b6c4c6bfdf7aadc5d34f]\n[privateKeyPkcs8 = 308204be020100300d06092a864886f70d0101010500048204a8308204a40201000282010100b5b356e62591aa12b607c9541e081020a8e48752f9e1bc50989494ad5c5a22079a00b607d8f5ba364475515ca5c9c204b8f294c0a42fa3265f9a3337f3331cc52db473dd4644f9ccbdbf3742f3dde513b3d6df9cea6e94e2e2295147ce03685d42515c2e1a869529d41a51c06cd0c608932adc5b5ce790b4e8f9c72a34d0e5b216c01253c22ebe6eb71917812ec899df666b94e0a2290e75197063ea55e3390e2a7ddcf9c47e2543030f69195a3379d4739090dfcd07295bfc9a8e2891ee9ef286623cb9963c056d934749fd2bcd73e47b816595d54bc2635fea68098f7807687996c1826023459bb4211ff1e98ac140823a36b70345b6c4c6bfdf7aadc5d34f020301000102820101009c6d3201df14218c0c4475d2422c84dde9291d4b952efeb59036522d51959338621ffc9692f53203e839ebfacc0bff499b83d40669134ded0a5f317b1897c74c05c615fdc8b2373049a6e64770b576b2d89fc3514f0e368581593acd8b91a976a8526cfe8ffd8f4b3c7c10278e46ca46b5942fb3442f63882c0e65a57364e8694c29ff9381d733988b6b20f43fc652b00bb3c49ab0444db21490bed548e51b47edd773a8559ad59bc0b0eacecc055208b1f5814ef39c2e259c172b8f446a2fcdb8f2beea080c4f2dec942f813c74c443d8c7636378120f765e9085bc27750b94de249a19da1e210c0fc79b711491a1f255bf0f0ea753f01f5586591b40fe1b2102818100f445d8afa1f24d7e26811bff63736f8dff4cd25d52432ebe8d58b5e31bfe4fb41d6125a03939a97f1a5dc12215588aad9b3c7b8eba85697b348a7a6912ef0afb6566362bbdde146fa0404a039f668bc5d897d0991d12b5942527aabced875b6aadb65d96fc2550181359a70fadecd40745833dce8a571b092f6b7bcc853621b102818100be6c781cf766ccb1ca7c9ee8600b928c2d6dd362993f8ddbadf111e876e0e52c381ea344c1e310f7bf17c1d221bd896258f267160e4707565426214db5980594878eb7bb9983b57f6419f15cdb5d6a7959cc09eb46adb988bdffa22898a9104fd7675a0a29648512f4206e0a7bbe7e412a4e17d4cad3f56837091cc706eb84ff028180252edca51f89bab2113a6600a22ad8384d3c6c69383471d11fc2f92cf0fded3405a4dc0d5fa89f5c71af03cf2460adfb6f3dedb0f4438aa2ee8485cda8cc2a67ca2f9cdf5baf8a7cd36ff5d447575cbf6910f2f7dbad1566cfa112246023d28e9292c7fc4bb58253a7de65c7c539dfac9bb036a051fea066ed88f6f752efc281028180797ad7519b5f207cd7b192eaa9c318358711c645e38010eeb153d659d7e4f72eb38a901be0190c8d1082866a988dc2e453dc287980983d8d0c57daed2949175e3ef0843410e65e562bb5052e78df6a7a8a17c9c827a9d26ff2cdef5438b7ba294540b0c744cad4be57b18ca1f179802ff05e2b83dbf5465cbaa77c8d57d3ce5f0281810088e5157aaa70e37b656f77c266986cfc2dbdfb3f72f2b9f6ae1c2814c9c8085c5390735a1b4076423af07a7c0462051ffd0c47051e13b42c69f67910d295f2faee7ecfdaf01ead40a8cce361ae88820101a3717e70e424a6e4bea9ecda1b7d2fc58977e84c40f7afc806016a3ec806a3077e7ae4f31ef34d09d3f99143e894b2]\n\n# tcId = 59\n# edge case for montgomery reduction with special primes\nct = b5b356e62591aa12b607c9541e081020a8e48752f9e1bc50989494ad5c5a22079a00b607d8f5ba364475515ca5c9c204b8f294c0a42fa3265f9a3337f3331cc52db473dd4644f9ccbdbf3742f3dde513b3d6df9cea6e94e2e2295147ce03685d42515c2e1a869529d41a51c06cd0c608932adc5b5ce790b4e8f9c72a34d0e5b215c01253c22ebe6eb71917812ec899df666b94e0a2290e75197063ea55e3390e2a7ddcf9c47e2543030f69195a3379d4739090dfcd07295bfc9a8e2891ee9ef286623cb9963c056d934749fd2bcd73e47b816595d54bc2635fea68098f7807687996c1826023459bb4211ff1e98ac140823a36b70345b6c4c6bfdf7aadc5d350\nmsg = 1f7926bf036e2dc744b3591cdc9575b7f1e6cab9a3766de85b56b9e975f13046b41ca9df17fbf93ef4f260f8bd263182dd4a4fd87edd9716d63b99e9ad30212e9f506c345838e34b3d784d1785bebd59c52e24f7748361c670c29999f4766f84702f3997550989ec36ced0eca73bfe167c8b1913abc69f537d7171dc84b268198681228c71e6a6b9d402de2302e4704392a4e946ac0c6a6e29184659ee\nresult = valid\n\n[d = 4ca464a8d7a4a4fb039f6e6f6014056ac573d105961fd212e2f4533a4d34bbe22cdc632daa904b059d5fca4cd262f289d1a4117273acfe4d19c167c8c46a1c683884c44e7ace3786cb33ebceed7684f74640d0dcc3d237f4fe4931761fa4acb2c7583a0dd5f8cd0bf0e0e620c58ca07e393118d23bdba383eeaa0acfa4795f7d9ea26c83305a6fc8a808058414cc0cea5f9cc97fd394cab0756c55823b86adfde6c46a6dfbf52da24a3323bd86cf35916450d9b4ba03be365f6ba3ff91fb6a4c235a229d49a572d23afa2e3268b164a94810741f40dcaf3a628563368f567eb624018d4a110c981ab6d2da5fd7f3c30b0cbe22120ac63c0a73e09affae95ef91]\n[e = 010001]\n[keysize = 2048]\n[n = 00e1553db85d0a89d51fbc963fb8be566b0b8c72e8174e7f9f969c0d892fd259ae5aa44c0cf97702372724c7edadbee4cd581890f67824dd65fe7d67ac12e9db1da108eed274352d4597bab6e3624421769d2d634d203f878abf1a7de27f650e3ef551cbffc5469b4d23e608a1ed57a36c0dba443ba2957f58a0aad0530c20b515295b1f4e3ae9df2ccc69d025bc23283039d1e42f015b24ae919aab8e812f03a6f3cd3013cbf00d35edb489ccec7e68105cd6ffb2b85623c1238a6ceb04b73c7e2df0402376d71ac3e03278eb2a7a5895f81b7f3dec62e9fd95efe22ec152d0c673d7004d244e87bdc787ba632fee75d805e29229e111fc083b0484b0480ba63f]\n[privateKeyPkcs8 = 308204be020100300d06092a864886f70d0101010500048204a8308204a40201000282010100e1553db85d0a89d51fbc963fb8be566b0b8c72e8174e7f9f969c0d892fd259ae5aa44c0cf97702372724c7edadbee4cd581890f67824dd65fe7d67ac12e9db1da108eed274352d4597bab6e3624421769d2d634d203f878abf1a7de27f650e3ef551cbffc5469b4d23e608a1ed57a36c0dba443ba2957f58a0aad0530c20b515295b1f4e3ae9df2ccc69d025bc23283039d1e42f015b24ae919", + "aab8e812f03a6f3cd3013cbf00d35edb489ccec7e68105cd6ffb2b85623c1238a6ceb04b73c7e2df0402376d71ac3e03278eb2a7a5895f81b7f3dec62e9fd95efe22ec152d0c673d7004d244e87bdc787ba632fee75d805e29229e111fc083b0484b0480ba63f0203010001028201004ca464a8d7a4a4fb039f6e6f6014056ac573d105961fd212e2f4533a4d34bbe22cdc632daa904b059d5fca4cd262f289d1a4117273acfe4d19c167c8c46a1c683884c44e7ace3786cb33ebceed7684f74640d0dcc3d237f4fe4931761fa4acb2c7583a0dd5f8cd0bf0e0e620c58ca07e393118d23bdba383eeaa0acfa4795f7d9ea26c83305a6fc8a808058414cc0cea5f9cc97fd394cab0756c55823b86adfde6c46a6dfbf52da24a3323bd86cf35916450d9b4ba03be365f6ba3ff91fb6a4c235a229d49a572d23afa2e3268b164a94810741f40dcaf3a628563368f567eb624018d4a110c981ab6d2da5fd7f3c30b0cbe22120ac63c0a73e09affae95ef9102818100f95c944ccde828d364543764b0f05ea6044bc2d3c5918dd1b6b8bc3623f95810a5406215fe4202cdf924978a908c47c2390ea20f375f10ba3dbe43d8dd40dafc301dad1b10a8b7f17ea97f7f7009dcf2bfb3a1b8cf7f5569b064a21dba9c959ec2b71c2cc057e91a21702bfba954f2ca269e8cd030c0f4f4803ad0becfc58e0902818100e754e7875edcb5332189ff31b9c2b6b93579e5e7e1fbc013da4f8b1a32c68d5d6774c6e3b1dfc5e55b22f2b30fb12a70692560cd40c2fa6d087afbc617c36a582e3ce5d7a506f45b443bc6170b0d11c711045f92c49ec3b5899a1d3c191bfb97bfbc8051caefd7935d5abcf161a5af7d5d9d971edb0c07f9f88fe72eff2fa407028181008c8d8e59ac460b9cfb942c94e8d6d3c2a7f13c23b9dccd1f43eae4cb6f83800c01d94470391c64104d3a3ee0af9122716b4fc030eb78fe28bbdc9ec9820ca862358cc4a1d8c600c872287fe108f9c63c5da996a260f2d8e5f5b3035dd66da4381470b9c4cfb5bd82290edcfbc0fa4ccf7ced2959bfe14330fd86295b2429aa61028180772074fe742e6a2d838701e0c48d6df560817e90740265be937cc4e05fe779a2f104e4eb1a8d66e69e9117b4784f3ed09685061d8ccd1b930c7bf0ade94cdbb5bf51e2f6b2e82aebd8ee832b18a8c94fdf0686851935bd08fe6c5bc3b8167df07e6f7f111fd575095158c9d5eff817b0128675ed10d6584134ec3e1c28938aff02818100a957119ae91810c9e2e92d8cefe0aeed8a7dc65d777d55948d6c09794b7d096a91789730d286370db6a761f048e1bb9a294b07f8a652b93abdca388c561c2acbb1e65ef93c8a230ff2cbde5e690ad7a04abcca80d253272e3687b99d17160c31ab73c6524e815004ab78ab8fad16d089952bf55889b2f75d473112823e4237ce]\n\n# tcId = 60\n# edge case for montgomery reduction with special primes\nct = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nmsg = d59187caba5dbdbc43e6523e1163ee57187cf0999abd64e0de5d238118677b17855f588352f2208b2a92b1c296ddfa9e2bc2b271404034ef96b04122d55d3509f1f9f75658c13172caef5c1ead5d33245c1c1ead84ebfd6f7bf321c0c513c1a2e248ba9805fd3d59d84146032887ae0b0da75d65846aff104366c1e3501d09f3edacc6ce9e41f60f489bd7b0afeecc080110daf9372e18a2e26bf870d640d27cbbc92855a2ca16bbc08c7e0845cd10c964\nresult = valid\n\n[d = 373140d3efe66677aaee9dbdbcbcb28c1099e659a27fceb2f5e5b3e74cb769208f9f01ebec99ab473b3f223efdb5a8fae049c5eb98cdd95e540b8a94ea3e3f359774e9a388233272f15f74315a537753343fe0fb25e4a483fd7d83a3d4e589634cb943e5fc0c71e38be042781fd66a6ebc688307e223f5499e60dbf8faa0f78e89f6bcee6d7955cdc6a8ca8d88fa6f082538571fbd8fef7bb7bdc86590c833b7aa1564fa7f20e099aaf6774810a71bd72ce1e5dfdbf53ccc169530c51e0913b1a9079da6dba0c9452449739196266449270f84812ff7b14d8fcf436e9f7371f58955150f06eee56e1e15594ebfe7143f27b52f6e9a4124904052b82475681981]\n[e = 010001]\n[keysize = 2048]\n[n = 009c674c8eb6b1119cadf24265cc7751bbb162a63083dfa58726df27b77b10bf030210affd810d785284374647cb89e5e78d04e7f07d24bdaf8aaf9c4aed1e176613d77f99d3e86dc97878c2eada2f6ac55c73aa7211606291736a0ba33ebeb48cbc89ee36e18d963e6250c3f9b1a29f4cd7668761cf72bfcdeb31ea58bcff31ab2d09a3502e1063e77a19cf0ef31c14a386536abb62306c41b386d4d7559b486f14c66f81cd9268b25987450b1b64209a9bfbbad7a2d5b6ccada0f5ee97687de9976980c33a4e7cd4cd1fb2f2b2fc59fcf68843f3cba885fefe4c244f8f19602947688dc697bae5f53734178b2c82497f83c60331542a5dd557010ecc3847acf9]\n[privateKeyPkcs8 = 308204bd020100300d06092a864886f70d0101010500048204a7308204a302010002820101009c674c8eb6b1119cadf24265cc7751bbb162a63083dfa58726df27b77b10bf030210affd810d785284374647cb89e5e78d04e7f07d24bdaf8aaf9c4aed1e176613d77f99d3e86dc97878c2eada2f6ac55c73aa7211606291736a0ba33ebeb48cbc89ee36e18d963e6250c3f9b1a29f4cd7668761cf72bfcdeb31ea58bcff31ab2d09a3502e1063e77a19cf0ef31c14a386536abb62306c41b386d4d7559b486f14c66f81cd9268b25987450b1b64209a9bfbbad7a2d5b6ccada0f5ee97687de9976980c33a4e7cd4cd1fb2f2b2fc59fcf68843f3cba885fefe4c244f8f19602947688dc697bae5f53734178b2c82497f83c60331542a5dd557010ecc3847acf9020301000102820100373140d3efe66677aaee9dbdbcbcb28c1099e659a27fceb2f5e5b3e74cb769208f9f01ebec99ab473b3f223efdb5a8fae049c5eb98cdd95e540b8a94ea3e3f359774e9a388233272f15f74315a537753343fe0fb25e4a483fd7d83a3d4e589634cb943e5fc0c71e38be042781fd66a6ebc688307e223f5499e60dbf8faa0f78e89f6bcee6d7955cdc6a8ca8d88fa6f082538571fbd8fef7bb7bdc86590c833b7aa1564fa7f20e099aaf6774810a71bd72ce1e5dfdbf53ccc169530c51e0913b1a9079da6dba0c9452449739196266449270f84812ff7b14d8fcf436e9f7371f58955150f06eee56e1e15594ebfe7143f27b52f6e9a4124904052b8247568198102818100d4a180a199b63e0657e4c03928e70b55d7defae203566eda84c584ffede87dfb0f5bba31d0fe6a46b4e0eddbcd80291c2fb550d5500e65aa198f32efb4d2e61a7acb82f41536931b9581bd4e96f7d10040bb240b06c77dd24a7b0a041e943b66248b2448adf068e297a5bc66f6dc986e0375888e16c659b75173fa115793b7e902818100bc4de42bf505e84cb3385505a2fa55ee0d0691f6bda9ed283a9daacb4b13631f6601cae8ee1e107ac4c8521646fb37cad6654fad88c60bf2c137d06882b8d18caa6f2379089add3474f20e01129914992ea06050540d04b5050e723830f86d0b898f22faa746bcd21ddfb8e2e8cb7de19ad52a55070b0dd4eea8fb47988932910281803788266c0e150685e996988d551d625c7d10833d5bd9cb01cf03370510415405a9b12f23ab8d867c08e965b5ae29f692a1f31cb5593f29560f6ed2c2bfdb04b58db470f30647468c41b3ac9945dc5afd51ea8e334305feda591161404a2c34872cac1a41d10ba498e93a23c6505ab484a6ea9f4b5caf58e703a2e2807cfadb610281803b7b675e335220654a1fbb4bc285cd6b1b163e397104227418c00159a26787623db8c73df929ea0ebde68177a4086b4159a43b1d181d675cd1882dff357be845c4f8c27dd32808442fc4de839c3a5af560732cb97333818f24ffc138dacf3eb2ec4b18c390df9979ce1203b739ce3dff6c07760dd1e1be06cb34f9db4de5d8e102818100a08e8c751bf67cb72e99179e91f17ae2250fcae4002189c11a19d47d9ec70c864cf45bdf52a87f48fd68d21bc8a67386eb1888b9e714bdebe429d27e455c818b06552d34e2f89136646acfad68cbaa7edc878306349c6626885df770eac14a67312af3037a60a9856dbffe0545b2411bfbc21c45b91c076442527d67f6ead5c6]\n\n# tcId = 61\n# edge case for montgomery reduction with special primes\nct = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nmsg = 69fc21cfdfdaf947da0c6ca5c9d78967fac976579659c93a8991e93d12120b10bc6342cc128912af3093696afb4937dacb30bca328b5aea273a2d512c5b98fdc050c213b87d23ce11957b08d74d3ac5a89234d9022f1a132e0b4d6afc411082569ede3f1d71d94886159d7eb8eb8\nresult = valid\n\n[d = 350b5d22a0c60b1a67fbbb8d0a4b5e0fc27f2806afef5dfd8f7a71cfb2d6261c246f929ba023ab12ac5a28755755fcd3a3284ef32846c50a4db51bbdfdce016191a16aa4471ea9dedf8056b9f857b409cae629e6d4f211740fb83613c6199df5215a5d3559c8158ea6a5af791db02a7e3be5daaac6e47aec493872a845da9ba04de538780d63335340548b81a8c27222ba259013a330a8bf5a9284f785a794e89fd973220e98086f1c43771b89f4e21daff4a12e4cb866fe3963c556716397865d4c08fc39ec3db1048745dce726c9cdae9c984cea3dbc79124038226f45c7b128922673db23d2f0f0a70b20e054664c617a64d0c7de7ae987fd9f2af15ae4e1]\n[e = 010001]\n[keysize = 2048]\n[n = 00cf0ccf73f02736be83c4a6a2039ac3a36d7d1883db608b4055c00ae37f672d420f1eefead15d06b6c639d462ad3297b4213cede8a129570447d5f09dfbf985d54af8599e431247fd759acaf1ce51da4553f343fcb0649b5ee2c294cfe9c2a571757cab5fb4d2a513bba3064b471a134f1bb87fd786fcb42c18d565c54693cc5541e4", + "d26fce244f2210c1454da32d7a061ccaa8faab3f1c8d5cc922a099b3fe75b081213cb917d210e2ac2a24ab56a08400e0cdb18a1c8c71a37f546faf83cdc261fd82c2e47a6879124072b90b7519e53823d4dcf422459103abb2966f9564e55a05c21fc3b43658952f9627422459cdd3214f3ae257558ded08783b17cec529]\n[privateKeyPkcs8 = 308204bd020100300d06092a864886f70d0101010500048204a7308204a30201000282010100cf0ccf73f02736be83c4a6a2039ac3a36d7d1883db608b4055c00ae37f672d420f1eefead15d06b6c639d462ad3297b4213cede8a129570447d5f09dfbf985d54af8599e431247fd759acaf1ce51da4553f343fcb0649b5ee2c294cfe9c2a571757cab5fb4d2a513bba3064b471a134f1bb87fd786fcb42c18d565c54693cc5541e4d26fce244f2210c1454da32d7a061ccaa8faab3f1c8d5cc922a099b3fe75b081213cb917d210e2ac2a24ab56a08400e0cdb18a1c8c71a37f546faf83cdc261fd82c2e47a6879124072b90b7519e53823d4dcf422459103abb2966f9564e55a05c21fc3b43658952f9627422459cdd3214f3ae257558ded08783b17cec529020301000102820100350b5d22a0c60b1a67fbbb8d0a4b5e0fc27f2806afef5dfd8f7a71cfb2d6261c246f929ba023ab12ac5a28755755fcd3a3284ef32846c50a4db51bbdfdce016191a16aa4471ea9dedf8056b9f857b409cae629e6d4f211740fb83613c6199df5215a5d3559c8158ea6a5af791db02a7e3be5daaac6e47aec493872a845da9ba04de538780d63335340548b81a8c27222ba259013a330a8bf5a9284f785a794e89fd973220e98086f1c43771b89f4e21daff4a12e4cb866fe3963c556716397865d4c08fc39ec3db1048745dce726c9cdae9c984cea3dbc79124038226f45c7b128922673db23d2f0f0a70b20e054664c617a64d0c7de7ae987fd9f2af15ae4e102818100f3f8c1d23e61b0213a323ddfea2df12b78b8c06ed636eed2b436e1f7c10e6f916bad4a67871a411289467aac9ac771393cb1019b988f345c52087a4e2b4b206e64ffe60dddd2702f1e9fca4f7bcf9f6c3be30adb848fbb1426b8366914ebbec32799f65052255034ac85bb16f4316847df2d35c5c4a009c40bb56cfb66b4746502818100d9420dab2a0ae1bf9db09b143f89a13b4dbc6de900e8a5ffa5a5518d838cf89cc74fc8a1447fcac34d30d15d07cd0e807f0d1b99cd77741917fb8598ebd73405b25d6bca4c15a9f5d07e60522fde4e283ae25d5c9b0c243a58097f00cf9aef9c52a236828b069e584de7abcc767cad43d838ebb2b447203e14915b517e1697750281806bf8cf6e88851b39d9539ae699f13326960acdbf3fb69803501669f307d1a7b6a7fccd4cfc11b672c9a6136c8823740c6cbbb9866f02119e39ffde80f1d011ce498ca6f7c40ff9ee20937f29a615c0ec59a4a58d7921531e1bf4b2bfd6ae6e8257e85f863494a6e668e3d664d635777d375bfecc43b4c01daf40dfb67341b1b102818100b7b68d4c61bed5ea6c73bc8f40b326edb8ec4f9caa3210bcbedbaebc95b30d3fb5a297ab16fb61000933f0b6543467c0ecaeaeda3dce7714091d9d791464e40eb5271e50f0499970cd9f2fe00fae5234dea6300070f3b166ccaf2b000a8d9f7476c3c88856fb7fc6780a2152421767846940a8be72877a92445e2df419450d490281805c6e8fc9deeb3afedc1cb2b2c377c9c2a56837a7e15152a587f932655b846e14526b13515a3a78e2ae3420e1508cd494a4a6070e83b1fae8249c01d2e41f926acd9c980569caf6b0bff559715feff770510972392c4bb88ac72d1a5af09abe2d5b568997357ea2073da38bee8b2e078f746512ca09bae177f226c1724e516ada]\n\n# tcId = 62\n# edge case for montgomery reduction with special primes\nct = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nmsg = 8923733a345f80b10575ce05c18cb8543de89cbf37886f51c6b9369ecc01b880587e9c41f1848b2539a6919752d07429f3b012e9ac62e5d192cb980489ec54ee54a432a1f6adc583477b404d816e499666b4c91d2fc4e7d1844631997afdd05f190c433a6bffe334de4476284e8e6b30f4fd6da692\nresult = valid\n\n[d = 629c1d04ddcfadb36eda7b394ee5bf6619937f5af340c2ba4bea8adef205714d20a131571883d923cdf5099381d107d30c66fd24d836bc30191b99ba7116033247b0ecc7cec457e94230a5a4f726e2747c02812c84d4ec50e615125063eeacaf1a35332656e3751f90c554dcddef27cc2175da418d756eba2163a076ae438c626142cef8c105959a9aa157299e884f48d6aa6171e0d0c6176377e1475728e06e013bba7fdf9438938b1ac2df23141834c81788325e3fec96cd5c72709a697ee644eaf389911ff6e91bcbe459cb1759720fe0d48159a3d31d7ddba78cc282861eec0c7f1014118e8d2d74fba5eddd5eec3c1f894b00e4390ea3016939daefdb95]\n[e = 010001]\n[keysize = 2048]\n[n = 00bf00ce8851532bb7cb0574acfa4f8992e37ececd04364f3d920a4bbf8b17523d967854dd28291c9adb51760356f24b8694995cad1f91fdd3c738b307b36f27f95d185fc331f5d614a4238f3f2157c1ae3a91bf6c5ac632259f2eff08f7bcffbfa6351bffaeb91ceedca6779b5c82e07b4ea2791196ced821793332ea313dfaa64064eb5e8f71de0ad1cdf680fec6a5617fcf970cc4eeac5ff017009400944997e8c36b1ab87a08545b027480815b78fd04ee3bd8daa31460246e9e258b31243ddae72fa770ac0fff907a6e99622b7b936529137a5b96b43562037459e5dff9abb3bfa7b4fb9d57a9345d86a72ea636fda36ee36eb913677c494bab01042b982d]\n[privateKeyPkcs8 = 308204bc020100300d06092a864886f70d0101010500048204a6308204a20201000282010100bf00ce8851532bb7cb0574acfa4f8992e37ececd04364f3d920a4bbf8b17523d967854dd28291c9adb51760356f24b8694995cad1f91fdd3c738b307b36f27f95d185fc331f5d614a4238f3f2157c1ae3a91bf6c5ac632259f2eff08f7bcffbfa6351bffaeb91ceedca6779b5c82e07b4ea2791196ced821793332ea313dfaa64064eb5e8f71de0ad1cdf680fec6a5617fcf970cc4eeac5ff017009400944997e8c36b1ab87a08545b027480815b78fd04ee3bd8daa31460246e9e258b31243ddae72fa770ac0fff907a6e99622b7b936529137a5b96b43562037459e5dff9abb3bfa7b4fb9d57a9345d86a72ea636fda36ee36eb913677c494bab01042b982d020301000102820100629c1d04ddcfadb36eda7b394ee5bf6619937f5af340c2ba4bea8adef205714d20a131571883d923cdf5099381d107d30c66fd24d836bc30191b99ba7116033247b0ecc7cec457e94230a5a4f726e2747c02812c84d4ec50e615125063eeacaf1a35332656e3751f90c554dcddef27cc2175da418d756eba2163a076ae438c626142cef8c105959a9aa157299e884f48d6aa6171e0d0c6176377e1475728e06e013bba7fdf9438938b1ac2df23141834c81788325e3fec96cd5c72709a697ee644eaf389911ff6e91bcbe459cb1759720fe0d48159a3d31d7ddba78cc282861eec0c7f1014118e8d2d74fba5eddd5eec3c1f894b00e4390ea3016939daefdb9502818100f487bed27b53cd84bbc984a233cf087da6e714181b5a016435751d7f7b1ebba10e7fbcf43028f022d8858b660a687e683c52e7139b9ea72ab6a95160abe03772fda4116f62808d9d61c25be94f1924f31f17abb34321c49232137912f1d9a4f0a633b292fb2ec7c0878e060be161b4a6571e12f5e95a9d490c15009d9ffd26d702818100c7f652730125870f9750bc5430f39e8bbf66b2d8ec4b3f33dba050b06349f62c68808773e923cb7f508c9677855691d43d0e004f7fa8fbcb63cde1a1db7e958e869b0a644c0c9fc512f38aaa92116b37cc527c7ffeda076c47b1a8004ecd0ee4551a9fa7662d27e44960114f3e42ff5de15ae3a7d18177792081dd144d250c9b0281800d5b8cf4fa7fad6e5ec3b75714f56e454ee4b898488636253f365292302b919c4eaa73abf32589589df34d96196373e445c7519024a41a059f4cc8813b62582513edee75e32f9a8cca564fa703072099974d37b7e726e512076240eee3ff3b9f59b4e1405e304401246681b60c6dc5ec803dc8535e97f09798ed5cc73f8218a902818022527c6a730aeef8d51f2d8441f6bf02fbb2740659e0bc937922365760638496b0c546fab54cc8942cce44d175189be55329811224366c29c812c1a4d7990db0ae18149b8c962a22589366fcca1fa548a9908b00294d6132cbc789afabd6f4b46a8b2c563e6a87cb5e70d7e7c3271ad0116b596227cad227ff556b0e1e03bafb0281800a6cea1e04c32597597bd18db5f5c781a73eceaa330830e031eb535c6ce08ef3db4bc37e5b382fe34342ba6f242dcf632d189603cfa41d81a10b7f94a4ac1d9e62d40cecdc342c95ef3deaddf147b175673cef2fda9035809a94c52eabb52c348e13fb91025b8b6e3ce721809a6dec9cc510a529e0bff8cf8ce4ea78b5073326]\n\n# tcId = 63\n# edge case for montgomery reduction with special primes\nct = bf00ce8851532bb7cb0574acfa4f8992e37ececd04364f3d920a4bbf8b17523d967854dd28291c9adb51760356f24b8694995cad1f91fdd3c738b307b36f27f95d185fc331f5d614a4238f3f2157c1ae3a91bf6c5ac632259f2eff08f7bcffbfa6351bffaeb91ceedca6779b5c82e07b4ea2791196ced821793332ea313dfaa5c064eb5e8f71de0ad1cdf680fec6a5617fcf970cc4eeac5ff017009400944997e8c36b1ab87a08545b027480815b78fd04ee3bd8daa31460246e9e258b31243ddae72fa770ac0fff907a6e99622b7b936529137a5b96b43562037459e5dff9abb3bfa7b4fb9d57a9345d86a72ea636fda36ee36eb913677c494bab01042b982c\nmsg = 4947c8c3306ed0cc1841318746a17078557b686f0dc45c6289e02ef4c595b5d0c2c92d7cab1e93ce0e1470a2a5e116e4a49de188c149bcebebfe669ba256d64fadab70fd7e36734eaf10b90f7b4a5004c04ada14a0ef75c0f25a3094010d2b43d5c023\nresult = valid\n\n[d = 00877c32fdfb22d2dc7734329699ff43fc901b7ca0a7a25575eb58c88a1e3838df3b679af332f97074dbaa1bc4606e513efdfbade07435e113fd956eedb2d24c105c9167376028cca63892d00c31dda66e1dcd627483a472fc8b905413b9014e21a52c90d1c7c0c4b2f7dfa2cfb583c7a5e4603f548f98720a99cc11d03b2c6abec41d4ab1a6e4f73f394ef46213fcade3131ef85b004", + "fca291fa2ebd0d9ffe3e8cf5071a524f863df26369c22b38eacecdc784dd65e20d356a6e20de033c481ebe1c5cd42366ac83c26caf73875e628875c925de9c3939bd7f912bfded876393b1f6a314447a96bbc4cfe3c01443a2a9de7121023ee025194f5a20cb768591a01]\n[e = 010001]\n[keysize = 2048]\n[n = 00cc890f82986e18c35e18a2ea354bd2c7e88dca9f0e1981497b31342b893992a49f36380fbe9829995e9aec1b3ec88dfbcbfb11bd2a00140f8f6647c5e3bdda527799ef0571f45427f10d2463ee096fda48c41085d3a90bf7072d06fb7a3d2286cd10255a82a52452ea3e61e2d8e35eff9f6b831b48f09b522df104f48ac58f76cd241b9fddc042e7683774117808681693536600e1cd3035dcf6ec30a6bdf659b15e0417c3bfc4c9a591f2f858081df1243477d41812a6ac74bc4fbb6485b18aaf6a00c32593751a527723b4802d318038698de9063818044cca1b035b8800193fed71d3c38ed3296fddb336552b68d380d1214b13a1c86e6f687bd37e5fd22b]\n[privateKeyPkcs8 = 308204be020100300d06092a864886f70d0101010500048204a8308204a40201000282010100cc890f82986e18c35e18a2ea354bd2c7e88dca9f0e1981497b31342b893992a49f36380fbe9829995e9aec1b3ec88dfbcbfb11bd2a00140f8f6647c5e3bdda527799ef0571f45427f10d2463ee096fda48c41085d3a90bf7072d06fb7a3d2286cd10255a82a52452ea3e61e2d8e35eff9f6b831b48f09b522df104f48ac58f76cd241b9fddc042e7683774117808681693536600e1cd3035dcf6ec30a6bdf659b15e0417c3bfc4c9a591f2f858081df1243477d41812a6ac74bc4fbb6485b18aaf6a00c32593751a527723b4802d318038698de9063818044cca1b035b8800193fed71d3c38ed3296fddb336552b68d380d1214b13a1c86e6f687bd37e5fd22b02030100010282010100877c32fdfb22d2dc7734329699ff43fc901b7ca0a7a25575eb58c88a1e3838df3b679af332f97074dbaa1bc4606e513efdfbade07435e113fd956eedb2d24c105c9167376028cca63892d00c31dda66e1dcd627483a472fc8b905413b9014e21a52c90d1c7c0c4b2f7dfa2cfb583c7a5e4603f548f98720a99cc11d03b2c6abec41d4ab1a6e4f73f394ef46213fcade3131ef85b004fca291fa2ebd0d9ffe3e8cf5071a524f863df26369c22b38eacecdc784dd65e20d356a6e20de033c481ebe1c5cd42366ac83c26caf73875e628875c925de9c3939bd7f912bfded876393b1f6a314447a96bbc4cfe3c01443a2a9de7121023ee025194f5a20cb768591a0102818100ea90923ad1a16d8f5704bdfd34a7f059941112c391f656b750f6c9ca1d916397ebcc33f48c300a9d001071caf00d33f80cf0ae3efd899c6443e6cdb9214d9dfb209e088163e75dd7582d3639df75d9cf113eb42bc61f7e90ebd9a619deb41c76d5728f3134d4564142e166f46313f1a7492f23d207fc2d8fa15cc7a01f24214102818100df39faf40d3cbaf2aed2d0f69c67b2bbb19e7c81bc90306918471d1e406cac8ed9969e8bdc80be72502176d68ea1f6016ecaf4d3b4ce24ea76762325fd1680345e5c5b77ba4888b9d7d4fd85af16e20cc922b8bd2bbb49f6373236ddc939063ae276d2fb4a3812de74047a1d9259fd877e2329920f4424585bb27afdc61eec6b02818100cc97db2438b2d00825c37a1fbfecf7a47a94c5c415ad4307d433dde05017ff4184a7716dcd551dfcc11096e086af4d73ff7d72ce7880ae0b7a7a775811e74c73bd887a2cb9c215c4fe21395a13420d0022af89a160c719b33834783fba53693c7182e1c8eea682b19baf5508b6deaf79d548abbac7c23acf3bd4dc3e1acb7dc102818054bbe08bb55ea1242fc26c79c02308d0807ac58e45b281fdd2ae63da30e04f9c25f22b9ab187d942f131d2b75d0b13a3b597aad995df4e5a05bf9056023d014b5faa353a3c66fe27754b2f3508a26a0a2a6b58aece23d8ce7263483a66009461d3c7010d4c3dfec39c4c7ac230e4a1fd459f394f6d261399caacf44cd260b8a30281804f8c1d61e059c9920e68544adc7e028f8f05933b4f49cec1614999d120450198bef26bdde1099bffc5316baef331c2b3d854e42a2f18858735641952104847cbbce742c8a6b9238143af4b27cb8ca4ef931f5509f2bca875397edfabdd2263e0867303dbdfbfac683a10c42d76184f320c469ab0f680a83797684b61026b93df]\n\n# tcId = 64\n# edge case for montgomery reduction with special primes\nct = cc890f82986e18c35e18a2ea354bd2c7e88dca9f0e1981497b31342b893992a49f36380fbe9829995e9aec1b3ec88dfbcbfb11bd2a00140f8f6647c5e3bdda527799ef0571f45427f10d2463ee096fda48c41085d3a90bf7072d06fb7a3d2286cd10255a82a52452ea3e61e2d8e35eff9f6b831b48f09b522df104f48ac58f76cc241b9fddc042e7683774117808681693536600e1cd3035dcf6ec30a6bdf659b15e0417c3bfc4c9a591f2f858081df1243477d41812a6ac74bc4fbb6485b18aaf6a00c32593751a527723b4802d318038698de9063818044cca1b035b8800193fed71d3c38ed3296fddb336552b68d380d1214b13a1c86e6f687bd37e5fd22c\nmsg = 841ee52c94cac3dda367429494b2a07274e19f7f9567bceae1a940df892b8e44c7c86bdcc6ea7232774ee2195b19bfe932a88c12401c06fe0b865583d989ed3236fdb18264499a36b6ae6ba1bfc68b8220a0e3fa2f8221bb3e72e267115469c8648b5ec81d04393f8357daea9b849b95d2707a3b13e4e27a5be8e75e803f41b081c7accae863211f5357a4c81c\nresult = valid\n\n[d = 355d71fce2f312b7c53d7911d7fbdcd976ddb3d5809691d3031e2d4656b7b48545bd7b265aca5f9779e2c332e70d592904b9e0caf2a8c8aa87b9dd8d88ac9ec370a637399688c62bf63ae41d87e493820cfe30144b7f8f7f6cb3c88b00a907be37190398927353a005a1a821edc644ecbd9ebe67c2993d9575d88c45ead2251e270a28bf017051d8a4248d76172b65c51728c23b56a8eb3e8c24dfc35b05675314f4a6e808411ec2564969d7e1a23b10277937f3e4cb06a338691d26677927f6a67e5334bccabd309fabc851b5c55999c160300ee10511656561fa98c0ec5b2dec78491319862664bed347bef461b5fa7c5e53859bc36c440a47f39a63203d01]\n[e = 010001]\n[keysize = 2048]\n[n = 00b519563f7b707c6e9b89342aa5314536c521dd78877a3307b372f617622cb06c84626ca4e09e92cb869acaa07b04e18ae51a2935eb0d4cd29ddb96e5fea661c6f038859e31a96bcebefa32cd77dcbb2817c20774ce6badb1795c8b1e73a555921e6cf2726663576d9075af06dd89795bdf10b3f1973cdfbe81fd0f09d9b7aca821e3f403bbf517982d39f1a3411814a24f72d02f96a545cd0e0297ed88f3603cecc340adb01e2b35f9b7d8c2e4fa04e22122e5931cec5a12a3e0b93ca623a7d1a337c2bf6faf6ac17c0480a2b7e922dd99ee44297c5c085f044a92865429696387768e1ac55b0acd5bf312fe10279d3e7277f11c46ebf161feba67aeb49b103f]\n[privateKeyPkcs8 = 308204bd020100300d06092a864886f70d0101010500048204a7308204a30201000282010100b519563f7b707c6e9b89342aa5314536c521dd78877a3307b372f617622cb06c84626ca4e09e92cb869acaa07b04e18ae51a2935eb0d4cd29ddb96e5fea661c6f038859e31a96bcebefa32cd77dcbb2817c20774ce6badb1795c8b1e73a555921e6cf2726663576d9075af06dd89795bdf10b3f1973cdfbe81fd0f09d9b7aca821e3f403bbf517982d39f1a3411814a24f72d02f96a545cd0e0297ed88f3603cecc340adb01e2b35f9b7d8c2e4fa04e22122e5931cec5a12a3e0b93ca623a7d1a337c2bf6faf6ac17c0480a2b7e922dd99ee44297c5c085f044a92865429696387768e1ac55b0acd5bf312fe10279d3e7277f11c46ebf161feba67aeb49b103f020301000102820100355d71fce2f312b7c53d7911d7fbdcd976ddb3d5809691d3031e2d4656b7b48545bd7b265aca5f9779e2c332e70d592904b9e0caf2a8c8aa87b9dd8d88ac9ec370a637399688c62bf63ae41d87e493820cfe30144b7f8f7f6cb3c88b00a907be37190398927353a005a1a821edc644ecbd9ebe67c2993d9575d88c45ead2251e270a28bf017051d8a4248d76172b65c51728c23b56a8eb3e8c24dfc35b05675314f4a6e808411ec2564969d7e1a23b10277937f3e4cb06a338691d26677927f6a67e5334bccabd309fabc851b5c55999c160300ee10511656561fa98c0ec5b2dec78491319862664bed347bef461b5fa7c5e53859bc36c440a47f39a63203d0102818100e9cffe9f3b702d03ee7c25703f1314b2647963de2da16f2c7966d3ebc18fea929f28cb7a55f576d9c3a5a2513087a439d74cae037a965a31832b87188d3ce71a2000f54b983956c8e6827e854d21b4c37eb3948f6801895319b1cf51e020dbb7883bf15164f1499696feda88eb0b6d75877deec33da2390e9976d698a6d9b0c902818100c648c5f9422c0127928e7a9cfe9b345185d53e06d8bbb35201cae7bdfa2ceb7a6b31bcb88f4617c995feb2b71ec8f4e1854fc17639c970bcdf37fc46654305a690b8e6a6bea726e8b7ea40edb886532d7944a2ad2763cbe612cc170d7ca95fb90ba90a806190252dcac94a3e79ba45e4abde0391769c1e750834f5cd00e384c702818100cb766a369a7ca54f948a87f1c391912323f7d68612e33661574bba02a02fe28ab0e1c91fae09aae11935dba81739121a1b56e8deb220806031ab0126c65147321ec376b1cfc7a5d3b173c131b2cb3008270b92adb06e15d830b5e09979165edcb93aa0669a16b658cb10ff8ec22af197a2ce5da59ccebc240e3bb1c6a8fb2ab102818051a7f48792bda678127dc476d4cf3bbb7adef75d40720405f8a103d093af5e061b10ef841dd4a2c52c95282a0b6e7c924721322daadc8f25e8d3187c310569d54f7225e2734f48d1bbb3a7ab7e3b2b13e605e2ec65f54e29e081d5d8830709599e38ae0f729e370165aa817dbb097ff10cea3013fe818a756dbcc9a0f405be4f0281806011e90bcbdc97ec1d0d43992f8830d4bda5922997eec843a9ed14f80f83d0a0afad3cc320108cae02e4010403b31650c26af431563f0821858c5da0095a9813c45c11bbf2a43bfc36ebd036cd4548f406a933235a5ea71aabe29ca536c5d8a37fd1310b43f0e1bcec13bba1d6a9968c718bf974f5b73ccbd808d1248c8f5cae]\n\n# tcId = 65\n# edge case for montgomery reduction with special primes\nct = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "000000000000000000000000000000000000\nmsg = a3b94a63d4937de4bf024bce52957cd9af5efb3b0defef908d5f2ce35941b10168128951a1c5093dcdcebaa0622fdfc1e481daac4ce5675ed6690cec5f8ef20305185ed5b61db798e7a13626831fa9\nresult = valid\n\n", +}; +static const size_t kLen139 = 242948; + +static const char *kData139[] = { + "# Imported from Wycheproof's rsa_pkcs1_3072_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSAES-PKCS1-v1_5\n# Generator version: 0.8r12\n\n[d = 0501205bd17b88d0d6626dd0fec898a0fd7f68f8dddcc314f74d167c40495b958a87e4ed63202e6ac68f4f4f4b88e3ec7a07d85757a7458468b766aad9a40f77337855408b28d140e75c2e6b3604ea8907bbd7f8e9578c2400ae645d28e2deef8bf718e29cf12fccb92fef9869f43aee5bd6adc223848d169cd6c27c2766652766ff81993b3e015a553decee0ffdc1624f39f8d96b6ed5d95047c1570b59fa2eb3d688dd5e14acc9407b8094f18b4694244eb1adcd655d873f57ff9af6e4fec470be236baf3b20c2040ab360d759c8b4e618bf8bd4e0ec6698f1b72c7160ed0521c82b5176b60fb63503d0ae23f6e2fb7a609305b0af62150b921ac53f4de899666cb01db0c9d8b650753015c1b6e682e6bf38204e59f7409c3808c0e53f254935540a381a963c2c1a77c6f987f06a07a0572686ed22882dbc82e7823cec080a58d72b09d00cc1d245cf158ff49cc40599d3af719dc301b4aa7f5b03629ae853e9daabe284db86d5c41d0401143df2b4593ef4e3747209c523f5a7f80f02d011]\n[e = 010001]\n[keysize = 3072]\n[n = 00dc8f7880672f0cf9d63617a8a58bdd271a109badda0fa826f94b8a795526b6a49a80564ccaba8a9491a935a53edeae1d9a7b5463d9e2ef3ee0ce7bff5d4b6c8147b5c073c2f220515d531d55a36687a6de3c34775c2f15191ac0a742d7342228c8d910fe6bbca439539c485debcbd0ee0e4bae317503b83cee8100ac7bb4587467cbc4373c4bda2eedf7c41631e50922b580f5bce81d24b208cabcd2d75fcfe99f75b493dffc5c9bd990f7fc3bf2efe392fecae36f3e4ef4456c1b5de99cc7451733a910b6834b61ec29274d986be3752c350b13a327dabc08dfcf6565499ad26e853446633eadb2970ca95bcf6bf05ffdbc2a804378d76985a71f06f90979f9fef716c36aa625a45b5eedf50825a53e9d9435b23caab9e5c64d38fd3a767e185ad7727d6e15f9e9bab2f4184d6487695db9a2698c672b2e823410dbef1d93fe40c9d357ee9fc77f849de11363f583af8ccf5181ca1aeb944c422516cb401e950923e4bd881439fa1093c77582bfe1ac5993674700b6434339e0245315d86fcb]\n[privateKeyPkcs8 = 308206fd020100300d06092a864886f70d0101010500048206e7308206e30201000282018100dc8f7880672f0cf9d63617a8a58bdd271a109badda0fa826f94b8a795526b6a49a80564ccaba8a9491a935a53edeae1d9a7b5463d9e2ef3ee0ce7bff5d4b6c8147b5c073c2f220515d531d55a36687a6de3c34775c2f15191ac0a742d7342228c8d910fe6bbca439539c485debcbd0ee0e4bae317503b83cee8100ac7bb4587467cbc4373c4bda2eedf7c41631e50922b580f5bce81d24b208cabcd2d75fcfe99f75b493dffc5c9bd990f7fc3bf2efe392fecae36f3e4ef4456c1b5de99cc7451733a910b6834b61ec29274d986be3752c350b13a327dabc08dfcf6565499ad26e853446633eadb2970ca95bcf6bf05ffdbc2a804378d76985a71f06f90979f9fef716c36aa625a45b5eedf50825a53e9d9435b23caab9e5c64d38fd3a767e185ad7727d6e15f9e9bab2f4184d6487695db9a2698c672b2e823410dbef1d93fe40c9d357ee9fc77f849de11363f583af8ccf5181ca1aeb944c422516cb401e950923e4bd881439fa1093c77582bfe1ac5993674700b6434339e0245315d86fcb0203010001028201800501205bd17b88d0d6626dd0fec898a0fd7f68f8dddcc314f74d167c40495b958a87e4ed63202e6ac68f4f4f4b88e3ec7a07d85757a7458468b766aad9a40f77337855408b28d140e75c2e6b3604ea8907bbd7f8e9578c2400ae645d28e2deef8bf718e29cf12fccb92fef9869f43aee5bd6adc223848d169cd6c27c2766652766ff81993b3e015a553decee0ffdc1624f39f8d96b6ed5d95047c1570b59fa2eb3d688dd5e14acc9407b8094f18b4694244eb1adcd655d873f57ff9af6e4fec470be236baf3b20c2040ab360d759c8b4e618bf8bd4e0ec6698f1b72c7160ed0521c82b5176b60fb63503d0ae23f6e2fb7a609305b0af62150b921ac53f4de899666cb01db0c9d8b650753015c1b6e682e6bf38204e59f7409c3808c0e53f254935540a381a963c2c1a77c6f987f06a07a0572686ed22882dbc82e7823cec080a58d72b09d00cc1d245cf158ff49cc40599d3af719dc301b4aa7f5b03629ae853e9daabe284db86d5c41d0401143df2b4593ef4e3747209c523f5a7f80f02d0110281c100fec6a10bfc49b58a2c850eafebdb997649a95575a0c17631b011cb20d7a320232a815b9af6040d7bf23d267e5e06304c33e04c85e6d481442f010a9758ba08364a70035ef99e9c98eeb431505b2afb6779d1c91d0ea2fb0a65dc391e79ecda7d52fd7dd69923b25dfae448cace829ebaca6b3c8a3cb64a81800614434895778c20d629b125b69f42945f66b644f3840bcfa6fce361074256c50863ecca2ce756b4a9fb7e993d0f1fa48b2cc485b7eaa61405fbef150e7563c2150811767de0f90281c100dd9ec1cee6d8a971b166902c44a4f02ef37a62053b41288a1d873d399cbc9e7bd306ed906487da2f49bc1c1809c0d4d88106d6879518ed925feb66aad5ff3c2b83466c554ed97b96abef55b3b02314f50d0385a0a1d8a46ae03e8fce91b412120f0a10dc681570fa564b6873bacd997b616b2bd7733fb723ade23bc1089da32e509583436f1e3448b579fb21b240620d20458d08f0f995abacc0a398f0ab6a67c9f5bcf7e032fb1d668fe698d80327599ae3fdf3aaaab19baf17639443194be30281c100f1bfb40cd56573971acb5eb65b0cd2bf4502228f2ceca5a45c37661151cbfdb0a0a28233b600fe727fd6ba71e9f1e15e4d53260960907fe01ce1d614ea220bacc8512541b786637d51f3355fd44222af7b0e2ed11d9454b4f7165234b2e8a62188dff3c9ef21ca1c16f70a833615075ca2b9c28641398fd4f58fcf2650f752aa6a760cb584dd969cec80e1cb4dfdeb6bf1abb80661892bcf7dc28a5ea3309c8acf7f039e8af53f267d517a3737d2de1a9ca158fef171f8bda1e9a6f03b0912b10281c03e3c2ae8d362dc9294e2dc71d2050f7ddfd9ea54d5c3028366af67be1a09cde7afe72e277253c42dab632bf0842ca698f602d993d186e2904c676ab966c6fa3aadeec4d560032af5b0ead10258e0412e5fad31855e6ddc1e3742da57840b3157e8e946bade6fc6fe45e57f3ba0a5c40825df56bc761cda6d2693757c4bd318d414c527cb7414e351d7c49d8564ed379bc0084806cec50806e1c86728b7cd2b606212a43267bf694d6453dcc9e73f5b798a49a4331d263a2222154b5d834a43490281c018cc971e9186f86c144d140ceabbc9ae22c94e8d8575356fb6a4a033991ef210bafa39a4cd1abfa99b332fde9e56955af179459a7236a700b7fd1d88093906f6130ae7ca9742d9ed0d5c63e6a9e9b43df4d8b261c12d2c2f9148bc0669f165b8b881879c3ed58d4a6cd5a3f1193e9abd2784609c01fb9094c7c822532ad7aec2a08aee9e263095ad0426455cb59258c7fd3731ca89dee31800d191ed7249721c25266650c46dcbfbae3070604d2e009914a2e269a01bafa5bdf8bba31c4f3b60]\n\n# tcId = 1\nct = 142b27c795e6d7451db575c90a38488757a5c07760ce10e23a1eeeaa20a08ef14cc07e3ee757c45e309075f7261ee35af580a72c06dc6b0446233687592e838b1220816fc578bf0ccae6977aeddb03fb2c0b5112334acae93f64026afa503d8707faa9989c2176c59a1ec2ff6b6308593c85c11d94a9da2fad66c860fc248f066574fee8b0d82fdc684d8eabbeeffc55c3897099415d99c5d1598cc3ff335bf494c8fd36f234a20566c0d35e3bac56082fc6a81b8cba2c99c47d1d372481ec23f35b62a6469cc42f4d349eea52f7f08a63898da4207e3104efcf81de2ab1e33cd243769bec34df4a4e7cac1c4be4073694bd56170dde8c4e12f85d2f02df12e9936d2990d4a6c490ae0cf6c3bad313f3a477db67332319eeb5932e9d1e1321dff28a866e939fe50626342e141854081981f388489a962f38220ff14a686fa111a5b236eaa4eaf6d3fbd54f93fe744e2767a815adb0c43e947360a149fbf75469957dc3ab8dac091f6339402620424b9cff8324e2a35a5a2b765897ed6e8b2542\nmsg = \nresult = valid\n\n# tcId = 2\nct = b5d5116431fc78c12ee663635c9e9c32ceb91a18a9af36ea63e7e6b647e17a981741279957fe4f0bf08288082fd4c1b6b09a805ebfd229396eab3689b5bb2b686ea39637ec69c1b8142c7033c271c9cae9abfc14f8107a8a2d57984ff2a45c70b276167ac8c92a070c718bca9a1a274258fc385a62faa02e8f15167f9e825c6ad7e2358566f79f6641c6e959e3b898ac780e369f43739321906cae687a9d229f9c86fdb01cbf061dd3c53f8d0c950d4226e7c58a66b310e197e757db3516db2388fbee4e4cf16d12bb2786607617e6f6c4b86b26d36efac63fad1dc561b91b66122d9600124e03b18ca58da78f30ab0c31c5c7f4bc059ce65dba182afdaa788cbbdc3bf8d48b7972c5400f14d3d460d329e0ac60ccf96b3c1d5e4ea9f763565322a110de5569fb74b6cd44de2a5777e23c681f3f769afa961c42782dd2e56e22b4af1c777b87a15df1f6cb48b6a39f7396068fe40168c4dcbd3cce69daaed21554a3b15a2ee62974b112733ecd4f78ac4a05c63eb759842f4503a950bc7654df\nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 3\nct = 63b63f6eb3fd2322a6c85ed16318932e83f32535b3ec2527fb41dcc865bc44690554467655034ad33aa0fa993788e80654ab0e0174f8dd238ad68c3bc194f390dd38d26408778774848c49a6a606e7fb1b3bfbf5f19db4d4d1ba2db43fefb9a9bac311f2e1fc1ab4f5ddc00a009b9dc435448f250a648b206fe764505805c9bed1729d5bfeaa4fddafc115d281703fab0e79726d5546fa698a45ca6e5e561b8c2964b2da01914f808a498ab77672eda3432ed9974f0a06d320ff87a4222899f893a6cb6abf13d7e56cce2ee7eae67fc26f2274b63ce8301c721d7195158b6c966b8d36e3cff0aec6f218b0fa6d8490493471ee0f08b840b6cdcbb73a164246864de0f35565bbebe51585819e42a425090479537ed67f98236415e6ad3ca81116beb91db802dfb3f9da733f86cb6fa90904c8a382afcbf6162f0d89ee04973f2d26659325f7f00a4ae9e800de6aa27b6c94b9d57791658eb0714b7cba5466ecfe44bd5803647c3825b58c37187311a8b11399f53a877c265da82493a90869e376\nmsg = 54657374\nresult = valid\n\n# tcId = 4\nct = 072c9fb5c97732ddebad895eea7af5ae193a6cebe74a46cc2f911ddf31ea5a90fe7052861a520c8d8a2680b942eadf644933ac12d3f4e13390d0905808e2d4e7f29b3138ef7f50b360266833fb3ebbf3db0dfd33642b710899472500528a49b3d8d036671038820ede3a46709f7c64114e74c50f81f52ce4eeed74403ec9ed4fef6fb7cd788f8793b9951c1be5e075dfc1c53172dce2ec8c6ebebc3cae300beff7b551", + "df0a11913f0a3aaedd59ed70d3308a3a04cb1f656edf2829c8c3d1de7530ce5db7ca1bc5d0e7d3830c77871b6af589b5db87d3d6e8f02c0954a14cb1ad4a79481ab124674acac340e0fb20dc6682c3db4039d2e15371807686b260cb093354e9e1b1793b86aa087455b54ad5ddbc9fc6a5b2b8f786fbd70c7998f55114adf9908a3259f51f31f228741ae5e7ed598000d8171f9c3fc1f24cdae7c6947c8d612d3918f4c7b01682e33633cab0875a83a779bc211d0c8c6c189af12c93716003a86ff7c5ce00a6d43cb37d9f467dff17156039f50c5a3c811f0f0b8be025\nmsg = 313233343030\nresult = valid\n\n# tcId = 5\nct = 0dfa0e455f2b30f23b868ebe95dc8008664d18f0a00da3612c045138c4ca44ae8d8bfc050f377f1995ce2084e7320bb75c763d95219f4fc11d9a3af128e9c369cec5ed19d52af27fd8e4a462b39c645c4b7b8534bdf7e2d5e2e7cb99a4bbd5713c3401fb1dc3dbe2f851a5fb655e3289d0592367c0518ad0dec38eb84c3a7f2400d3b53d9439b7fdfb42a8320a5617ad83366787cacb3644294a1a98deb09cf2dfc626889f5824b71d20b1a95b7b984760cd1f382a472d6025644770176390b8f38bebce8f28b68944eda8e5c6e99c694055456448f0df0136e7e4e881f1a6b73c642047327a6ce3966cc7d3124434191b09a0f6636e2346e234943cabefd18418a60da871c77a858551699583ec8c30516a28ce4f62a779d0f468f2efdb5fa60a4c647e62f045bd56f6df1564c5c2f112ad050a5bfd411396cfff1bd9618529efd92a62735e01c324da2ba4be1d3f450c2d37b7913bb809874bdbc0081397dd55f93716606a00001b25563f413d0c4b9c2b81efe320d9478bdb65fb3be9d268\nmsg = 4d657373616765\nresult = valid\n\n# tcId = 6\nct = 740486caac4d0038274e7627da5325320682e610bd678923158c7e23ce3d430e6bb0fc1063fcd84cbcb2415ac32128a0e506b2f95899dfc67c2955514d8e0b0e4d84077b869b5f4d13eaf96242a0925692ff69c752190082b813bb9dda83907e1d6c4733af31e00847e856c8d68445fd2021d982a0ed9165db69933f50acae667a5121672294ce4c534479590a9f4425a8fc7c0cdb8abfdbb290c71b4379cf7e7cd959f4557b2aa61e185e95699345aa4010d67efe3891094d5c0ad2310f1884111f4aa0d33cc1a4fa494c5a744c10c307069377c848e7042ec1581f0dce3fb7febd7d347c5abbce2ed3d2ec085644fb661d15ad8aa041a375ccc77c9e01dd47e300324738db555201506ff60fbf6c12a82f6acdf7396fe38e4692d1fbc9d86887709f81697676b0f45d57379dab3409b173827a6619572dd8e168b991d6f9f6b996453544032e097c28c320ee2072d5aa9582cdba70f40ee2aa58b0933896e6c27b0933268cc577ff5f6e9e6a7591b73dea4c6ee24fcc365bb7688eb786fd3d\nmsg = 61\nresult = valid\n\n# tcId = 7\nct = 7f56c9312bee49fb2d93924c4be0ddc552ba918b292938136752bdced1074ce61b0af9f1cdea7dc572ceab2ae61510304ec9674175bf1f5fcbb78d466d1b8454f02c54d11e93153b9871842378a584722a5e85aa229a4c7a4399eb598f11bb931ea97d385a75627dd6698dd9255e77bd09d49b0453f2b2f7850dfea6f48ad7dbd64f046d656b0414da4e840059dbbebd27fb71c819a953440bd4bd7668953274cbedddf83dac7dea1422a6065cf4933beee13b7bf20c95ac07525f94ee38ead3809fc9eb8e4ae71ad57f72f7e8d6969aafbf8700c99f6363362dbeb0fd864c554f9a1d3cfeed9e8a94cad44a88427f856707c9f674aa2e2d29b075e246207bd692ef638c556ce50673823f5e0947845cee31ef97c1c92111d3121c7565cee925182c32ae3082ec1b0de1d6d85b61773f1b4a61a41f356f972e1358c71ea7bf9d984f603d3b69bfe0f0e995e38ef5f81f10c9e7d759eac65b7349a91b67105e30193c9491b137186bb834b8cd34171dd2b1cc4c5e923d9b29ef011937b9c59c8d\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 8\n# Longest valid message size\nct = 74b3f849a2957b53827ae1eadedf9fa29dd46c3705340afae5b18a4154efc6f2ec1705029383be4af5ce9140fdc315e8ac5d50e6537a470c0cdf0be4a66be30adef9c32e2caf8351b695c2e51ba0b1ef2dc466d0cee3c79bd95a8513f2241b3d82b8e0638d88f4b370ef17e0ac2fce14a626a34ce60b3e3f26ca01d26264ad1d577ea960c3eb57aa2f5cfe3a49f21fc081cf980fa5f433366a7fea9fc9aeff4441a86db59c8694b253d0bc35cd21332698a9358739b6a7524ee7228d89dfb0dbacc1e237b50bacf8c1d3f10586b68dd79303a37e2d0b6164f22a8f67cf0a39c4f66a4548df06353c4d2117691b1a2cff393a0ac9783d2370f52d7e6e8bd25bec8c193d1b4984bebfa72ba46c11d999094d0a5ab0a78196a6742c560291b79af6cb29a8e2504b5114411b8d83161c522c4a584b43603e47afb09500e82ed6d6a746e529742e50095ca9a8344572002881819b2cb50fa301f3b4d0a2b98c8f4e817d53dbbda8ef8487bdac3eb46ac4dda2eb7d1e9d08e782075669436bf5c094c7\nmsg = 78787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n# tcId = 9\n# ps is all 0\nct = 88a6584754ad31f28a05575dd809be25231d078d1c1e46b7240c1c402645b710eb2d2bc189dbc16d82d9ad7bc5cc1df3318fc31bae54d88b25819f2b417f4da85dd11330cb8ba58bbf766bfe421af84f2b55a298ca0873fbc72317748c0437cf1416fae4bfb73a6ff973f62115d3cdc71d81a4cfb73afda00fcede7b586599efdc3aeb5e9ad6e816c0a39440629b8547163ac01340381607cbadbc93fd3e24a627a7b88d9d09dff135d22ec923af52d0dbdbe37f57956719b552ebd15803525b0d6509841fc3b35e8c564945f6ebffcbd96b4f34bcf4ff9120fce1c363dad2cefc2a83d427f47bf29968260380e47ff34e87ef9e2d9004a68641fa0ef26ae3a66a423097b16d4b82e8614cded1ebc68e7629c11eff3c9331d22adfe184bf4881691fa80d32790669d832c858c97149c47124c8ffc7fb55376546b7d9f173c51b899a156c7d4d5d8d0aa8d3b5ce2624cd24fe34fed4bd57b08a4c464f719bf67327fae5805d719276d3671b0cfdf7f05bf0772dfe1c830ff8f091ed49e73f60c8\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 10\n# ps is all 1\nct = c2459fbb04d640477c76958c8d5cb949ac552d188502553f01e6b3ec654bc70c55045b0184006936a69fc7dfd6684422c54463c8ded5be163f3392302834954c91852525e1beb096059465e6c261de5afca752cada74922debfc771bd0b99a5770f9a80d4b76e8558ea8ec6c8aa5cc28fdc3f049f5e38d99f2899d59d9b5ed6ead7581e991c56f8f6f1edf16881dcb7b29fb00a8566f0dcff5a1fa99ea2f6e4264545ec11da7762117ab938e3d906ee20c114cc35778753d96a89ca3e025efcb20215b6e983b9446e559831c4b5c06791e282d03bb303b9956bf3d90cf717e2117a45718edd2591d67dccc8405a3484c1633f0c7281d8c2605d9d2da7ccbe0d992c12c8bc54f30aadcc65ebb4fbbb27ac39571bde40631f8abd579c2c2a444b088a0bd112fb6b9ce010489e8561f6d411adb9cf2758b8874adfd0bc90eff1652f7ef9c6b810dd90a1ab591275605f9b658273d2edd513bffb5be5fd681a2b1f50d6dddc9b9b3f39d59d407d0710a712b3e6f3ac2a74c310caac45827c7ae241e\nmsg = 54657374\nresult = valid\n\n# tcId = 11\n# rsa_sslv23_padding\nct = 389edb8f7af2a7234657b851306c9f2443b9302403fea9ca9ce8b4e7a246dd2bafd4d669f34d409d04677dc5a64c42aeb834a324c9acb7f13604959422703274a686f8f39825f220173135cf4b6f32a97077f037cc7667ea02455f56891f98845be33b2e1a08062faed9ade751f5fa1b4a0d387fdf6be0db76f6525f924fec655cf8db49ff7e49a10f0facb52909bfc467b3ef4dda4ee287f681fb4678bf7f77545b7e8e168dd8202b464ffad10efe93350b6b125bd9153d9610dd3e7d9856392a9cd93ed9f77c6531e445383d0269bbff5a28524d29513f21ed2eb452456723606014c031722ec8a4768e2c17c609a337b0b9e992bdc43e6c49a20b834f8c93d7806949c32f281293393163a7ea5f83437c647dd29ef663b1c748304bdb663923b1cbc1c50ed4c1f5cef5c2f9b97d735500772dee60b5dcc2bcf925b2b815571dda26024d835dd99813ff469e5defc2a5f86da2049924ada57d2d811acdba5f8c0f7513b9fae73a5856de97fe8cc2471a06284075dcf00d3fb57a938c7dccbb\nmsg = 54657374\nresult = valid\n\n# tcId = 12\n# byte 0 of ps is 0\nct = d723aaad7aed7fe22277d057c70113531122781e8e46cecd035a9d26e980a771653d780cbb21d70db01aadc4a8b13b51380cc015326f5655e4acd5fb8e6175999efea729f0e1ddeb0369aace87d73d2d6c97edf3e65ac51a4b0edd0ff0bf10215cbf084ee7b463042f440b164e1e0d725651c2d79ae8e853bda5a0c656fb6999560b0734ad2f831d35b864e9ceda47dec6f6a675d33bf9412fde2432fa3aaf4a3278005f70838e7ea045097eee942e93c23f1bcc67bf383d47b8c98c7f7fbad6472745245266657de351cbf7b268e093bfd3eaf75c00da99873884f5c048a50348f99554c6a4c2f5e87f4c791764a09aa7e87a8f6e706cd18a6435b756f448fd903990e3b8edfd88a511eae5facdbf0db75ff279bb648b21517de4d306131552011c218ad28eb8e650424582b4ff49b47545f95101f6e0c100c795ebafac15a386a40200433f023d633b45c5b16a0727bf56488934a6328a352793a39d3b1d77b1a670ef6d02c76cd16e056740be323de03dd09d2ba30c913f289d312dd5925e\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 13\n# byte 1 of ps is 0\nct = 5b68c3c463fd8ffeda06c09fddccbc5284017f753ff81e1db255ecc8c32b7c11e7f92ddc170fd578f6d0e8218acd1b04bbf5bf540c1167984dc63abbc5799284a7c28a20ce4f6b95e142571f57198a6b0bb9488f455fbea076e520853b92e848bd", + "1d29bb0581b6b5eb56ce839fc1c1afde7815d075f5da520443fe6d5d4d03ffaa029736d703457cb73e3769f6d9b70bb22d340886e088ae8356501b58ae6b6167bb0a29b9065305ac7228a07279a2f9787742991cb9c136ba53c569615a74f323526165ba73c340b041b97bb13c129bfeae795cca3dac7a1dcb30874c1b298056bf231f5bdb6419f5eb436ffc1f3101dae12428ee5ed02a4e72a4e7db60caf26b7fa4dcd4e8d0e663ce66569364d058db26c29588011543fc8c72995d325235eb4d3a6f85e1d74ab16cb3166409d3aca165c81746d4c956ebf8fb5b7b31bc31c8a0509cf068794ab0bd687dc1ed84ea6b17e7f98d235e7541bfa6e64916cb02f6c2892c56787c1ba490bcdfd7000f529c48608c2efd6240ed7e84fc1b04f0cc\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 14\n# byte 7 of ps is 0\nct = 01af89a4d37a04280b78628261964cd3fe67d062b74c35e851f68b9f8faf7454a22df1c84c64f625515b16b90d298d1123c3010d845b86c7bbe516e4434f1feaf3d83829d6658d5128069bf4a3fd5e0870903ac313f743b9c7a8f3a7ea4e9f72f5b8774046980bdc1a1af025337567bddf436ed9b739a7305dcbf76ed4d7085183a84bb298a262241ca5811113b60e211626adb2c20fdfd80d1bf76e763fb3eb7f2a0eebc565218808fe0f8b0351516773f4ef822693169a3f1c31c12ffbf53d583b1598125707ced9b6636acd2a66651eb3e94bd21055b13d4d6509bbfb01f9cf449f84397b448a7a761a878195a4a96f6ae1043b947e224325b5262145abf8b2daa65544ea8d56bf33cf9af7be8e0c8f20eac6dda208f45d068d4ffff279bb0f87ce8ed1562fdad32e89819f6d86bbdd46c175214514b2801ffae449029ab0987dd2ae49a619e6717abbc2395cbd02b2b0ee4023dc858e10fb08af579720a51b7aa51e5b366b5503563c271c485056153efc362515929ed6173a4fdcfcb0fd\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 15\n# ps truncated\nct = 700d40cfb0981f7b86260e36712a463d2d2faf1f9da3bf762c3f993371b441d9e3747f126dfe2ca3b6d538a2c53147e7bae60b6405238f0d76cff5f420f8b641ccbbe9db0f0b2eaac87335ce99ce8a2eec1bec4d569fe81cd580f6490e3ae27209c1d022de5fdd02eac36f674d664c75bbfab5020afc8fce701b6769de63eeb7c72ac0e428a3d88f071e68f377c79d5624481213ed8bf42d5f56a3a00b170c63f064cc61d8966ccf2ca5983d7d1b56f4e81e379e57aa8aaf59a05946c1c24aebef5eee5a97b4d6ce8796b2e731e9b31d3633524cd526c30fc921cf927ec392f95116c121c4599a9e180a9bc963d01cb3977e2d5f72747e5c1d839a515802a7c26529fa487ca5954bf137fecd5e46f301c54e8227c89f4ab766eb9b5f9d9a1d96a0a482c2415ec9bbcb5613a1d239add7fb99f24a4867a85a8e29ba668c7c1b5948d79b2f412998422bc35457bd05a4e5373ec671a88bc15eb7a4fab7394e38541fe8d4d2dbc7094be069933added250dafd8091dcc53ba08301e64d49a4960c9\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 16\n# ps missing\nct = 5a76259027089edb019b04788cb702e5e06b13b9826d57351694d20f5984badd4960bdc49b900c903255ffc689676044ce0990447fa4c674e780b24c142e39d157bd649995c23209b697f444a8d14f96033707c636c312b019783b1985dbae4b1558a9ce257fcc6a197edb6624c309bd3b2bc41898f370a0f94cd9531bf15f635d1ff5895654358db4e56c211a732a237cf9792b84096d747f41159ef8529324f5901d28549c726cdd12b9f60fd110a18b2ee2007abf99e0d126b57e8d92371091ea3fe289831097ee0b97b11edd36a5e382d3360ba33059375248e6e8a873b5e7d1382c430dd8ab68d93ba151680ff08c23159c7375bb455a9f73cbfec427305b378c4ba45f2080803a83d00aa058994b6cd3429653a3bdfade0b58221f94bf4c132888a595cc73ab6a705299e10f65297dc6e70f8c7623312f7205cfaba759a9663954ca3cd4390e7be33e0ecb9d3a5493c0329e6c07d048c93ff285d28e338db5595c5dfd6d31e920e49427c0623c01d498bec7ea2f1977a3d6a1ed7943f0\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 17\n# Block type = 0\nct = 0946361acb9a12452e370d04abbb2f64de0651ce5d6e813b4d256476003cfb170048284425c150dd9430dd53a2ca6fb8e86f1375ebabe86603af28b3561fc7df1cfa22fdd5d92018dcc4e208ec75723d55706351d00c8ab8017d703a0ed1eb5ad4772ce0abfe976d5c8c1e2b238ac50e9c7bf7871bab2362543312f24141ce3e0ff5fe2cdbcd8d36596189a504e16e09e617ecfe3d553ab36d529d885608cb4c3648b763b173a9f3b003e8a97bb9e8a0a19c5edff9f0cf585c0abb60af2545444df8789a747da21def80f287a3d54c0c5b50e114e2b1c17206011fc5fe9ad783b375044c442daef1b7c789cbe846809cd8eca17c1576060c1ff702e8b3d908e57be8c23a1a0984cc512937c3e3709f2f4ee82401db017d2a362af38f4e6629b70cba25cae45ef4f7a3d1c66c3ac7ceaf95b54638f8823b6ec510293f1d7221c2524f3b9011be4fc017ce600f6d0f77b271bfbd2325ed58e5975c41dbbcdf752e8c1bc40a096af1ccf5016b77229a4b081fa771f249695da0bf14e7be770ee010\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 18\n# Block type = 1\nct = 849eb249b9b5904f726cb7db324f5579d331895bd3ce5138edaa2d283360feda0bd3ebd97468ba98f3a5060ebfee43e495bf75db592f816bb9297fd1bd260d6f8ff79ddaee1100e013f13e4812caa3a8db290b4ae7dcb34701a2decf9834c53a0f6a5faee7cacfb11d017516aba150619021621d6aacd2612577802a52c88c119363358fe96c67ac5b3fc25c6ba28d8e6efe5f2b3305d686c58dfa3417a40134327885a302f59e9d81b5ec46127c391b5fb1a12d9776ee2190cc20248a4beae4c46e4b58130fbc3b805935a00df588845eee7956990d163c91b384d0db2bb66fed9eae58f15d3f39588e75ef79c8dbc60a87e4470ed2f48a48d62e2030ccbdadea0dc5cf75b21a8163dc2391bdc7d0b7999263b70346b02152020ca6160297797393be3a51944dc2666d829302eb9e1829fbaafefbec28710d58a0eab63ee49a5d1f0c2ea49b73f331ab27170fec368dc2473d1dc0ba7bf7b70b7ecae315e67b323ce267d5fa6b9fc83b20783ae20d755127b5654272b76c88fa362960f66466\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 19\n# Block type = 0xff\nct = 99aea15afde0b40c12960cce598c11d618b3e4a0502eb9764cc114eed704113f0d13d9c1181324c18669f6385b5f6b1e0eff715769e5b3236a53d7638b1b27fe1b6bf2089e97e0bf6b587ff2ee42c708ac45ebfea88d057b6fddb6af2f8ba0d0ee5da9366961ac098c0b8349683aaa5dbc789ef0a49737b059bdc1936ebbc03a00330b84606dd9e0aed5e2c51f9e336ae9f19c225477f1edf87e463e4d0d80cf6c85f8142cf6e9b33b83b9f4d0e62540ba4b3f73a8b3b6b9ed0728ffd97e2332131c6625578eced873f96e1a84e1f22c1ada6d8bae41e0f63f284d28e9198b4f047f9664f33db978e5d7843b2891fc5006b25a17cb8418c7cb17abc7c8235b9fc5c2acbe17febd87e3b758b1e0fa783117e738219bee41b29c2b64ec23c413f00cce03bb23652a7174fd299dcd68e3b5521a0b22f89cbbbd021fbb8723f5020e2e7205bb071dd792c6c5ab293f8ce1c5b837b6a8966a9560a38d52dd6518e636b69ffbb43035eba80531cd1077d7d1646cd1a458cbd4e88a42ea2ab62906f2dd\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 20\n# First byte is not zero\nct = a225db92d6853b708dd72cbfd081c06ce3d6c4579def7e6bd8b45090cc0b9f51d4217d3275402d5ec90be82e920cef6f9bfaeae58ac461a61b3cf568186c6fa2f3a14db4d349e55cdfe5633a530bb6178ab1c7d126686d3297c4871f19e065f1fec05b85b72b675d58836dd2f741c593719d8bd65d74b9c61ab771464766324338e9b3bd3c05fde9027f2f2746d806c3f8e3b41b93a2e45f276af2df8886948d9b4f1a4f7e67f2ad7ca03ccb2275850982e7723017639d51c0f09138f19449ff344c1caaeb72ca8607f6012b8fa6f7924ef0b6e516a79b02cd2219b03421ba25e7af6272f57d118e165da759af7b64b18e60b9597d1ca41a49da64caf8f9788dfbd67b5b68fca5fbb3d42e045328739d079596cf63ebe83c39041490d7961ebbd2c4729059b4e01d180e4b34d69fab70832dcf698225887377c615affc0df708dea84511b44905711e68a1dd3c0c6247f35c998299b82f1511168a79f40f50f7576eb4c963e00576cec70dc0c3016793c44aa9c8d9f7c9d34907523613d4bd84\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 21\n# First byte is not zero\nct = 85421977730b0f2ca7ac9e69328c09853d07e68f0c12396011a88e1b3d0d8675c723c3c7818b1b3ba6e46d1902eddcf05eab8f2f964e5b17e9bf0235c118336a25dc99469b6be3b939090279f0435f28e7b813444b1eb63a67aca79153c67addb59e1329c1faa7bf9c92870169afad12198dd0954fe581749137e63dceaa0151a4ca2e4157248458ac4d999dea03deffb079f01b7bb64d5e3f0f7e53817fd5af4d11c4768ee2a5b184925d0924ce5b8143d902768478439627e13ff2ef8554c322961b0d3070abda2b0821b53053228f63f81a634fc32cb909b7cd14cefa5208348c0044262ee4157d330cdfa1391471853554ebebeecd74a58c51d8d4dd433327a2b8bb6e2a29f986c6ec0b6cbe86706f8aa7f89b6287d818ef770f69e48d0266abde3f94fad09cc6f7bac45740247a03b7dd7aa6cc2b710e1fbf74d7d914c9588877e8e52ecc3eb8e5cd5b9c772a1aa3acbd2ce86168451dea1f539fb740fa4fd966bc7d124b098ee4dbcb86ec326a54665752a9050f80b90ac34dd51f1f11\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 22\n# signature padding\nct = 509c69e802c2ab812fea8c77f89dd321c0edfd279b200e93aaf46591886148722b06584fc8745e938d069cd4c100f07c48c2f81b7f94d47f835244bdf9c9eb08af688ff6908ea2b6b938b9265fbee0f421a35086223380a9925b3570b3c0eaebc37b9bc18db3271e7dc62850ef17cce8ce17d68dd81dbee566f4a585da87d4f02158f80b7ecebd0687acd6dc52a334ecaacd67895720766ce54ca6a3872ebf90f3c9b894a0f44c0e1a83d226807faf67144fa59b3a21cc33339d2bf9249ca5018b96ef837c3fad08e325c7d31c9ea2fa1fe4b7dcd36b1fe7c95530787423708a80044a745dca51ef448fa953e27353308a10d431c01b688cc2002614fdf60efc7f8e969b3b84caa04ac8305ce87586b0d1a01f016ab6eb5a970766201166d16b42d0829e811d258", + "8e045f8e9fec785d994485d2dc327aa4690fae2065fd105048acc84d729f125f3bcbfb551b6747144b81c754974719ffa4cfb55ef9c8b74b157e1bc61c19aa6002d349e544245ca715cb964f0be1855229a9a6e9e6ea20e63\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 23\n# no zero after padding\nct = 9ac9da6b29f1de8599fe88bdb7012cb0ce4817fbcacc39b273c557bb22d2c019b8c5cd5592e108334d572d8782eaa970122801e0741a3effea028b0911bd1a0c7228529e8ae534d8c0fa1019329dd5e0de1456020db9241298c26aa510e97e31045941a9c66d53be407a2eea5fc26bbbb1aa16c89b087480242d5fb78adf083ca9a40dd569cdd829bcfaf652737d03f5ed6e39d970d69cf66809aa9ff2ba89d720be50989faf066db7012151944964c5bca13594242900bf595166b4bb8f0a7aad66cfdd579f2596d384e8ba02b06039816f940b2e4b291d6cc63b28aa13bf128faa012cd26af43a5d4e02ed06e982e052c27ad49d18e3afbc3f2cf99564a91f7a053d447565b77c7200340217ff62b342246543a8907cb4f1d05b5b68627fea24e3a571eadaa97c683c99ce3a4a753e8cfa18b5208750d9f86c83d51641c02769d28ec9cbdd34eb67af5043d50dfe45f1f6bd0e0f45e4665951977b4208cd76095b443fe881dc9e247ed961cdf0205fa8aade1f42d88dccf975194ee0936972\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 24\n# no padding\nct = 50e974b2bfca623edd2d797e4e588de22478d5a8e57c74c448449853ba84fb1d0073c1cec06211438575a6dbaf893e1547e4a2478a44549914bc3a9b8a88a5bcc800f6fc095c71ac129c2cc35c7cf16d891b8a435a3d4415262a8fb9f3c82caa788900e4e31968699029a73b7e14507fc324281fa88e7f9ab9ea45e4093004cb537471d18a68c8d83001bb874e06d78a9e6f1e13268d47608a85a13bc69d14f5c171ebc656fb5179688ec498204e5d2993d90b79640c454257c395d35793c4a7e8e875cfe7099b1716345e83aefbd1cb6e33fdcfdeee5141d0e687bd163a0f4b3f3657aa04f5e8c6b499aedfc67a875bc1825eca29a95989744d590bffb1aeea8a8518e4d21262535b727a72a1529159f11cac110158f54d21f9471f8dc6d262e9aeb7d060a62f0070f49c0258ea4fcccc7e5fd6ab3bc743f90f8779c541fac2aa7b3c9829597725b87c89056cef502c8618f14e27e13815355f3cb4dc16cc96136625c09234fd8299d2cf38d39da37fa1c756636bfd576e7de0f26a108030b5\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 25\n# m = 2\nct = ab957d59865513c059a7ae6914b34e8e3e4ab96cb66069e014aa315e67b2addae2b3b7593debe8c1a3d8fe34c981aeb241d63cc850f6d629c254710eeed8acc9064297b019387a67bdd1a60878c600e2d2b2c8ed3c2ecc3bc4319fbf3c1b89193a5da26794252b1e031b548f1c0dd6bd8b467b2a52aca2486ec213a77c2708dffcafc60c0b0daa9dc79bd8b03461e852b060c47564cd69e4df71a3ee44d11767fb3f1c30e7b86cc0c314c0e36a2f3c9de954e7fad277960158147fafeb2beb617ae13b22deb65ea83359f43ef3fc16db4e6723bc52b92ad06810af71c3d4f8c0bbf991205e63b5b187c8a5fc38395f19df7ff7d578ae11b8cef50499281b2c973bc87305c9db9943eb139478b48426a88ba6d6cfb4e544f102ea0370e6dadefe18285778bdd0c0eb5bee45617066927589bcd0caff79c28a88fbe792a1237c1a074a42381e961fafc5181f72463f77dda4539a2359a72f1c1d0b905196f4e7edb8d0d95761a1d4e8dc71146c7cefa0775c405f3faaf59e8d9cedbccabf1874bf\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 26\n# m = n-2\nct = 30f9fb26e0d9f9397c8e693f90d88e98dbc5e24123af3e46e4a1591aed7408c9b7cc9ef38ccea1d2edd03770755cff6b58a5179b88ec19151e7a0af06e72bfb8417328c3a9b9a5e99f81774d2aa086c40b896b8a200048dd568f07839b18990f8e7b6e96d797791b5080f3cecfbdfa3083053307225715f47fbeed04ff8d4f946b1bfe2b313e2f91265beb65fd8320d005203147834fbacd295918e4928eb881a4369862f843efdb167c3718d1c3b345a9a9e2e89cc6b8f2ed579badfe70dbe39c526dedd7ccecb9b8cf330ea46fcc99ddcde757506eafeba0cf1ff3a174a211b28ba32604daf8010f44035f973291461e3c32aacacac5b0b6b21a6dd0ee4d62c32ea3bda0ca8c60704b597c53a17e9611ed5ee287c574f4c363358c539b9f1a42af1b04b04538fe5ec4aeb6dcfdf4f3d3fcd19e8ced68a3f93829494dfa17e4397f911fd009a7cfbf85c1a11db60bd1e87bb75e7073bc782f3694c5344b36a750530b66267265113422b30905d04134fd53080755c0a4b59cf2678856bffb0c\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 27\n# c = 0\nct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 28\n# c = 1\nct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 29\n# c = n-1\nct = dc8f7880672f0cf9d63617a8a58bdd271a109badda0fa826f94b8a795526b6a49a80564ccaba8a9491a935a53edeae1d9a7b5463d9e2ef3ee0ce7bff5d4b6c8147b5c073c2f220515d531d55a36687a6de3c34775c2f15191ac0a742d7342228c8d910fe6bbca439539c485debcbd0ee0e4bae317503b83cee8100ac7bb4587467cbc4373c4bda2eedf7c41631e50922b580f5bce81d24b208cabcd2d75fcfe99f75b493dffc5c9bd990f7fc3bf2efe392fecae36f3e4ef4456c1b5de99cc7451733a910b6834b61ec29274d986be3752c350b13a327dabc08dfcf6565499ad26e853446633eadb2970ca95bcf6bf05ffdbc2a804378d76985a71f06f90979f9fef716c36aa625a45b5eedf50825a53e9d9435b23caab9e5c64d38fd3a767e185ad7727d6e15f9e9bab2f4184d6487695db9a2698c672b2e823410dbef1d93fe40c9d357ee9fc77f849de11363f583af8ccf5181ca1aeb944c422516cb401e950923e4bd881439fa1093c77582bfe1ac5993674700b6434339e0245315d86fca\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 30\n# ciphertext is empty\nct = \nmsg = 54657374\nresult = invalid\n\n# tcId = 31\n# prepended bytes to ciphertext\nct = 000063b63f6eb3fd2322a6c85ed16318932e83f32535b3ec2527fb41dcc865bc44690554467655034ad33aa0fa993788e80654ab0e0174f8dd238ad68c3bc194f390dd38d26408778774848c49a6a606e7fb1b3bfbf5f19db4d4d1ba2db43fefb9a9bac311f2e1fc1ab4f5ddc00a009b9dc435448f250a648b206fe764505805c9bed1729d5bfeaa4fddafc115d281703fab0e79726d5546fa698a45ca6e5e561b8c2964b2da01914f808a498ab77672eda3432ed9974f0a06d320ff87a4222899f893a6cb6abf13d7e56cce2ee7eae67fc26f2274b63ce8301c721d7195158b6c966b8d36e3cff0aec6f218b0fa6d8490493471ee0f08b840b6cdcbb73a164246864de0f35565bbebe51585819e42a425090479537ed67f98236415e6ad3ca81116beb91db802dfb3f9da733f86cb6fa90904c8a382afcbf6162f0d89ee04973f2d26659325f7f00a4ae9e800de6aa27b6c94b9d57791658eb0714b7cba5466ecfe44bd5803647c3825b58c37187311a8b11399f53a877c265da82493a90869e376\nmsg = 54657374\nresult = invalid\n\n# tcId = 32\n# appended bytes to ciphertext\nct = 63b63f6eb3fd2322a6c85ed16318932e83f32535b3ec2527fb41dcc865bc44690554467655034ad33aa0fa993788e80654ab0e0174f8dd238ad68c3bc194f390dd38d26408778774848c49a6a606e7fb1b3bfbf5f19db4d4d1ba2db43fefb9a9bac311f2e1fc1ab4f5ddc00a009b9dc435448f250a648b206fe764505805c9bed1729d5bfeaa4fddafc115d281703fab0e79726d5546fa698a45ca6e5e561b8c2964b2da01914f808a498ab77672eda3432ed9974f0a06d320ff87a4222899f893a6cb6abf13d7e56cce2ee7eae67fc26f2274b63ce8301c721d7195158b6c966b8d36e3cff0aec6f218b0fa6d8490493471ee0f08b840b6cdcbb73a164246864de0f35565bbebe51585819e42a425090479537ed67f98236415e6ad3ca81116beb91db802dfb3f9da733f86cb6fa90904c8a382afcbf6162f0d89ee04973f2d26659325f7f00a4ae9e800de6aa27b6c94b9d57791658eb0714b7cba5466ecfe44bd5803647c3825b58c37187311a8b11399f53a877c265da82493a90869e3760000\nmsg = 54657374\nresult = invalid\n\n# tcId = 33\n# truncated ciphertext\nct = b63f6eb3fd2322a6c85ed16318932e83f32535b3ec2527fb41dcc865bc44690554467655034ad33aa0fa993788e80654ab0e0174f8dd238ad68c3bc19", + "4f390dd38d26408778774848c49a6a606e7fb1b3bfbf5f19db4d4d1ba2db43fefb9a9bac311f2e1fc1ab4f5ddc00a009b9dc435448f250a648b206fe764505805c9bed1729d5bfeaa4fddafc115d281703fab0e79726d5546fa698a45ca6e5e561b8c2964b2da01914f808a498ab77672eda3432ed9974f0a06d320ff87a4222899f893a6cb6abf13d7e56cce2ee7eae67fc26f2274b63ce8301c721d7195158b6c966b8d36e3cff0aec6f218b0fa6d8490493471ee0f08b840b6cdcbb73a164246864de0f35565bbebe51585819e42a425090479537ed67f98236415e6ad3ca81116beb91db802dfb3f9da733f86cb6fa90904c8a382afcbf6162f0d89ee04973f2d26659325f7f00a4ae9e800de6aa27b6c94b9d57791658eb0714b7cba5466ecfe44bd5803647c3825b58c37187311a8b11399f53a877c265da82493a90869e376\nmsg = 54657374\nresult = invalid\n\n[d = 02ab95175be18395f033b981f8643ea816079d3a5f2f68e6b2f04bbacd65d659956ea22380c5b05e084d30d212876391c3228fa936d2fb1e6b42fda0fde10580d0712501fc0fac0a6fee999638b22c91041b0df8892684c78a628d8665916575130132566c1a40ecd7c9218b2d313a513934aa5eba95ca9ab4596e3a850c3253477cac7ffc338f5a5b34aa5b7773d5681dd2854c5d719a9f0d03162cff4b60246d48de48f0c26edd9d0f0dc1795c841176f3bcdd402a030f97684e87a4507bc8bd463eab49945ca8ccdebca2b4c5c8b15db40fcb12534cefd76c130e95c5806a1ca3fb4359477780f437877813ec9f1f2415f16b2268155a399213252d0b8837b775e4a2223012b20c767c794a4104411684590ae7bf7e4227949d59d94cbf85746d2fa69083986591e9b0af51080ab7c1f4bef0d96fabb7318e64a03a93ae62f52fc941ba3a1eb2bcbceede593dcd6c4af0459fb77ab90f76ead70dbfb7249b17d62b740e2aa436f299fdb94071aa1518e97ca6ba00f0148afcf316ddd507d1]\n[e = 010001]\n[keysize = 3072]\n[n = 00d91f0d00f1aab580e2ac0e837638de7004fc968be21315a1ef2a234969045dd4bc1945eb53982eeb3fe97ce84a26c7d464784ff7e561cee570e26d4145e14ffcce70430ef32facd19e80ccce8a9b6604065ff1e50a7fa8fdd432ca4e7b2b858c88a96626e3a10a831596f91c2f22c83e1a0267fc7df121d3337f3b0fa6a8c606ed9031c1f83b9213dea832dc5dcae9c03b47809953d75d966f35bcb10fffd23345a6ee2714c388972980938ad6123d9c97916920b9412ee1a84e1d345b83866e2b3b02127384681aca038401a39bab5e4672d6493cd4a293b933252e3fc06d8e4348f0e16b99ae58f7972b43bb6a7a04295d112ee509fafaae39de6d064f622c3f3c8b4fce6d836730c1285d90c548db62b795964794eaf143ad427360a2e83f5b1f8a20b08d18cdbd474f21c1bf42e6f1e137890df92888d83cc405975597209b7a09f4dc999fab82d4ebd77e0d66bd89d83fa564a03e3560977fb4e0fba7a0339f9221dc0c99402581cb95472a6c11b6e80e91059fbc14470b7a68d8e50e53]\n[privateKeyPkcs8 = 308206fd020100300d06092a864886f70d0101010500048206e7308206e30201000282018100d91f0d00f1aab580e2ac0e837638de7004fc968be21315a1ef2a234969045dd4bc1945eb53982eeb3fe97ce84a26c7d464784ff7e561cee570e26d4145e14ffcce70430ef32facd19e80ccce8a9b6604065ff1e50a7fa8fdd432ca4e7b2b858c88a96626e3a10a831596f91c2f22c83e1a0267fc7df121d3337f3b0fa6a8c606ed9031c1f83b9213dea832dc5dcae9c03b47809953d75d966f35bcb10fffd23345a6ee2714c388972980938ad6123d9c97916920b9412ee1a84e1d345b83866e2b3b02127384681aca038401a39bab5e4672d6493cd4a293b933252e3fc06d8e4348f0e16b99ae58f7972b43bb6a7a04295d112ee509fafaae39de6d064f622c3f3c8b4fce6d836730c1285d90c548db62b795964794eaf143ad427360a2e83f5b1f8a20b08d18cdbd474f21c1bf42e6f1e137890df92888d83cc405975597209b7a09f4dc999fab82d4ebd77e0d66bd89d83fa564a03e3560977fb4e0fba7a0339f9221dc0c99402581cb95472a6c11b6e80e91059fbc14470b7a68d8e50e5302030100010282018002ab95175be18395f033b981f8643ea816079d3a5f2f68e6b2f04bbacd65d659956ea22380c5b05e084d30d212876391c3228fa936d2fb1e6b42fda0fde10580d0712501fc0fac0a6fee999638b22c91041b0df8892684c78a628d8665916575130132566c1a40ecd7c9218b2d313a513934aa5eba95ca9ab4596e3a850c3253477cac7ffc338f5a5b34aa5b7773d5681dd2854c5d719a9f0d03162cff4b60246d48de48f0c26edd9d0f0dc1795c841176f3bcdd402a030f97684e87a4507bc8bd463eab49945ca8ccdebca2b4c5c8b15db40fcb12534cefd76c130e95c5806a1ca3fb4359477780f437877813ec9f1f2415f16b2268155a399213252d0b8837b775e4a2223012b20c767c794a4104411684590ae7bf7e4227949d59d94cbf85746d2fa69083986591e9b0af51080ab7c1f4bef0d96fabb7318e64a03a93ae62f52fc941ba3a1eb2bcbceede593dcd6c4af0459fb77ab90f76ead70dbfb7249b17d62b740e2aa436f299fdb94071aa1518e97ca6ba00f0148afcf316ddd507d10281c100f261bfc097786e1c34d123c19cd0d0b6cc65bef52720c8a003892b0e74611888099ab96c032a078b77e000be90d5b98fb8e4083cd9326adad050ec6cb92f55b5bf8066b1065e3fbfd133eecdacb75cceba6673d2184ba9a0a95833fb7e0c27c607777947eacfe702ddceedf16a65fe978ab5355207808fa2a590f1733b99d9164962ed5cf98b478cd0288ff161943ad1a3fdd13535c752f622cf8e0c5c3ba43abbbaf901dc457faf11e09222473aef53d176061fa3a70741bab8d540a959e1c70281c100e551f8c7ef3718c07aa9f5127a3fe8439e70fba743524267355f8095af64fd7c0b4756cc43555bb6157a488046f1cc9988e71694164116b250283dd50b7894a456918d6cf8e83bfe085abe65bbefe791cfe178654891ab82d66f70c85a757573a051039605363c38ab9dab31110a93c73fa09b6f71068633ed8fd077ee805c02d559090e346a28d7186a6b5f6804b65f655b34a2a6c46b81501b2b47154ceefe6b6c20fe73cdf764fc768f724faf2948b270e6b5251871046476d4390b5e2f150281c075c5914a9f4ee111cb88237b9c1aca8f47d9d8637e53aba8348f9de0342449ab301f82213d985a7a26112dcb6accae916b2141ef6f09d469e5f6ac2a5800ec0097c068257416af9b20a7bf4d28b31fe143292cf5d4e04ed7c5f119b1059a1a695a8f6edac6f9a621fa6ce5a8fc2dfafadf6715357a77b9532a67b72a6ab7628835b85fe5614b8fc498105d80c80d225762fb9d7fe155acb5f44c2d954beb9eecfaf2eab340b8744638c589bc262838c9dd691fa897f83cca6f54082a971f19590281c0119d4c48bf3d322f86bc8b5092075aa5e703b2b0d460fb2cc652c1a3bdc73a194f1c79b452efb98db0f4a5a104d209ef392ed6f3250a76ddd77e5fd17f821198d5f574318ca4fa06b749911a6b67301869295e801924e751b37af7e4cbddfdd995d4e33ba0c6dbb556a953beff1a1ae3d1255b0b225967f1912bdccd798a6e86e130679ba9b705d00fd60ccd55461764187afafe0b654704b5cc80748354577f3f6d1cd3aebd816546672cf990d9598875fc6a1c3bef36af29b05ef8cac0bf490281c100999fd604b8158fb941618917240546c32a734ca8b4877d9cef9743887cd34a1d889a0beff8ae1bc304061eb39d569af5fe0b2646b6d1ad7dac7a379ec695a8e9ccb44ce4f1c1178cf2abd741afcfbac9f2f8b7493820677347bdf08c16b481fb14d2a357823bb6faf2b3732830ff27be7ebec8e6a325ccf1e8c24a529bb5749821fdeda8b25528fda0e473fbc5161b764b848135989c2bd49914bb6d24484c81821bc30aa1c4a702b22f144cb2f7c359c1a68d7559c00f805a17cee23d283d19]\n\n# tcId = 34\n# edge case for ciphertext\nct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002\nmsg = f6c9e9ebc6411ade891754e4b24fe5841b26c5a769c13911cc0e010aafb32863eaae62bdc8cb37e807524f72270fc728ad1c01f0c91c9b604aa631682f9d15b235ee5ed7b852323e4f64074e4744239bac907bd92afcf6e5d67256daa18695475d7d2d1e695cddaeb65c41c06293f3e29c1514b169c5afde727b852e7c9bb14f8de3ab62727dcb35a385bc0f5edd1d76322a94e539584efbfc719fcc53d8c645923ee92f425fbf01817c6db34707a602533575a620cf3eb02c7d50059ddc778b52138bd7bf3c79bab39eb4d4ad74404a11cac5f12ba5a1d557e18ac58070c352763b7d3055d7ac7e50259121aa635cfcd988a874e4ffc863079f5721ae359f43b2e6a2f86eddf2e9ce89579fd7e87371507612533e4464f5c095e7fcc330d5324c52b98532df6ffb0580f7f5b5d803f60259495535d9528edc704d0cad645418b30e1dbd410b8b06dfce03840aa03702173e6fb0d15b6abba1d13c9d113f4869e81898c6f285\nresult = valid\n\n[d = 7298f203e9e0322dd73c05dd52dab6fce5cf2803df599f83b016602cd1ab2ae92d6fc7b8f78c224d4c8f93668618c1af6ff076664b0eb9521e0306dbfc9f8ce6d289c84b91a3156a63a9b495f9782dadf2d4e5555dc51cf6f23c780258b3c1651c2d44ba656c09111bcf0409bb47afcf81ab0f43750de3aebdb8d92c2e253972e69c57a116ce2c8afc0cb208750e0e67166f31e4225c786772b66ebf91edb08052d13fc51c8e0a31cf4356f0f380aac1dab21c7d317b16bf3d4825cacd27d34202daf0d765f51e9428005c35ca6be9eefce0b0c9e741a6e6528802f81dd085754c74120f29ce957c66601cd106479cc5619d07e694ef4dd442ad3770d0dcec7c51780359ecc66439fe5bb5b447cca7edbbbece669b677d006546efa3f5698de7f3c881713a5ad36827f2b866b3bbe60b0a5d85d42aef2c8fc3c792f71b4785f5fc1bceba52d554d32038aa77dffbc5b1dd3decbea1b97842df5c4851df98f9dd876c0c31076b3661a65546c690edd32849a4abc17a2069cafe44a02afa819c", + "11]\n[e = 010001]\n[keysize = 3072]\n[n = 00ae053938e260b5ecdc62a38258e789694ad29c11a621c1a760ce3c1247d223bc0c70421b72923d3328f82e8a683a39656e02325d537707104ee5f70c957fe88037559c7352d582f7f9921349b82b090a683fa2dcb37be7d2a1323b24d0f9617c902169a436c088a63612f4ef96c1a70b26037e4cf8b645ff6a48195eb99f740f6c39a546fe3a5d2e913acba146fe590795ee5f78f8f1e319add255aa5fc4cada23d0227d2f330a6d5160b626f33b9457c62154cea5ec48cebb4592c1763bf5c4755bf3494f1ca87d0ce787b46046f7e4d17accad72e8e11f6cc71e3844af11949fe28e68dc26e15a928d79da82cacb959cae7e3d3c0ca94de0078552615d84f4f716927300e2b8058857167d785f8e6b3391f0708c365d112871107b689bc7258fa7359668d20f2b6cb8ebb4c8935f3e376e9bdd9fa2911db272d951c4304509eec02b95e83d2ca029fb7132dbc9bddb72d72d728a775399bb368036f0df6970cdc87151dba1b9f6e3d56665d85e4c33fdaef3a2f4d9180728fc3cb1c76bf833]\n[privateKeyPkcs8 = 308206fd020100300d06092a864886f70d0101010500048206e7308206e30201000282018100ae053938e260b5ecdc62a38258e789694ad29c11a621c1a760ce3c1247d223bc0c70421b72923d3328f82e8a683a39656e02325d537707104ee5f70c957fe88037559c7352d582f7f9921349b82b090a683fa2dcb37be7d2a1323b24d0f9617c902169a436c088a63612f4ef96c1a70b26037e4cf8b645ff6a48195eb99f740f6c39a546fe3a5d2e913acba146fe590795ee5f78f8f1e319add255aa5fc4cada23d0227d2f330a6d5160b626f33b9457c62154cea5ec48cebb4592c1763bf5c4755bf3494f1ca87d0ce787b46046f7e4d17accad72e8e11f6cc71e3844af11949fe28e68dc26e15a928d79da82cacb959cae7e3d3c0ca94de0078552615d84f4f716927300e2b8058857167d785f8e6b3391f0708c365d112871107b689bc7258fa7359668d20f2b6cb8ebb4c8935f3e376e9bdd9fa2911db272d951c4304509eec02b95e83d2ca029fb7132dbc9bddb72d72d728a775399bb368036f0df6970cdc87151dba1b9f6e3d56665d85e4c33fdaef3a2f4d9180728fc3cb1c76bf8330203010001028201807298f203e9e0322dd73c05dd52dab6fce5cf2803df599f83b016602cd1ab2ae92d6fc7b8f78c224d4c8f93668618c1af6ff076664b0eb9521e0306dbfc9f8ce6d289c84b91a3156a63a9b495f9782dadf2d4e5555dc51cf6f23c780258b3c1651c2d44ba656c09111bcf0409bb47afcf81ab0f43750de3aebdb8d92c2e253972e69c57a116ce2c8afc0cb208750e0e67166f31e4225c786772b66ebf91edb08052d13fc51c8e0a31cf4356f0f380aac1dab21c7d317b16bf3d4825cacd27d34202daf0d765f51e9428005c35ca6be9eefce0b0c9e741a6e6528802f81dd085754c74120f29ce957c66601cd106479cc5619d07e694ef4dd442ad3770d0dcec7c51780359ecc66439fe5bb5b447cca7edbbbece669b677d006546efa3f5698de7f3c881713a5ad36827f2b866b3bbe60b0a5d85d42aef2c8fc3c792f71b4785f5fc1bceba52d554d32038aa77dffbc5b1dd3decbea1b97842df5c4851df98f9dd876c0c31076b3661a65546c690edd32849a4abc17a2069cafe44a02afa819c110281c100ee200c32d0bfef31c28d577c684d54cdd4d5f1cef53bf7ea5fe3d82b8cead3467192d99c38c64a7caa822070075c67ffcf2b85b6234b858d6f54398c8d689d3f0577e7c99d8ea50fa16126918eaad875614d27a3f0af6a43195ac2fab8cbd69cf2c0e1d2b599451b01beac53dadd0e44a18657b1ed5ecb528de4f2693df924566e72b1d0a34c1c31e254bec69d374e9d0c0bc3fb3f1837d7cb6f8acbd047d3d7832f3e5167881208f9f0346fe08805d52abb3bdcac815b857f01d2cb789537b70281c100bb154d1042b5c4670c1d296e8f69bb6a8f43f4f0f94b67a5b8650fe17593b3e5769c4e1a42d8afc321af7be86de12326339e08b939f5f36f4aab61e5d564c7dcad94d0af2721b84c5bec6f2b139707bb74979a0f9cf33f34affb796453b83d96d9cdba25a53904212c3d1e9163c2db735f674f6531931b28295ce6db57b506c85840c9eb390e7cc6c035476667ab3b1e421118fb428b68097fb269c60c7d9236f8cd8af355bd89b85598f457e3e779ed92476df2a3f6dc44af916e9688d8eb650281c005f92fd5267f6a14a978ba3518b8b7e3e1eeebfdf110ec0b2914a21b95915e7369edf11f861d1349454db65a9914ac57326f390f749b346273e47cfd159f0632ca8453802f3fa0cc5f93fc4fb2707eb593174863486a5e1408d2ca09581164f4d2f21bb8196e1ad9ae9585e5249c5efb41c208f921a73b1a7b0cbf37fca1ff535bb9ecd3fb04b1c05e9919a009d99553433618587920b665e76888e6cbf6c14daab0c8b36a1173c25de2b4ae09c7dfbd9530d53397f036c7868419319978c4c90281c1009aead7a6b867061d02b5ff421335cdc13ea35a68553730bbd506b2f0d2c91d75cd133fc5954713bc74df78ae8e9698e1a06aa3f4a5df59d6f5b1175f17a6ddad8a7ba996f0c386768cc42b863331a47080eaace372e72696bd87730d361a61bdd1dbfee1ff80484023fef49a164f1c23dc8393064bd7f1ebfedc743a7bd566a96e1330613d1d170c09cbd4b522f17301ea59782350065a7f4b23f55ccfa907f3c77185375cef97e471d537b8b3fb5146fe13722333cd4eb6fddf6300fa8f0dd50281c044df28689271dd677120ae496265d9dc7f17b8bee92948f3336dd2e4d87b3c6992f9cb59ffbc1c07684f34b3ec2b64b774ba11c74e9f82abb4f580aecfa2d4fc5ff0e39d95492bb4ba81135e8b6764250ed8d7a7642e447f334391b3674e09d20d6e03be2f584d16dc839a5f15d424c89dac1c64c19740f319f8c51ce1c606eb07f2afd2b0e23d9c1287011d032c3bc3c58c8eda2b7be4c3fa3e3ecb57047582726b75e8a97f545f2d5d10bf4230511fc9e046975450109e21b467309f2d15fb]\n\n# tcId = 35\n# edge case for ciphertext\nct = ae053938e260b5ecdc62a38258e789694ad29c11a621c1a760ce3c1247d223bc0c70421b72923d3328f82e8a683a39656e02325d537707104ee5f70c957fe88037559c7352d582f7f9921349b82b090a683fa2dcb37be7d2a1323b24d0f9617c902169a436c088a63612f4ef96c1a70b26037e4cf8b645ff6a48195eb99f740f6c39a546fe3a5d2e913acba146fe590795ee5f78f8f1e319add255aa5fc4cada23d0227d2f330a6d5160b626f33b9457c62154cea5ec48cebb4592c1763bf5c4755bf3494f1ca87d0ce787b46046f7e4d17accad72e8e11f6cc71e3844af11949fe28e68dc26e15a928d79da82cacb959cae7e3d3c0ca94de0078552615d84f4f716927300e2b8058857167d785f8e6b3391f0708c365d112871107b689bc7258fa7359668d20f2b6cb8ebb4c8935f3e376e9bdd9fa2911db272d951c4304509eec02b95e83d2ca029fb7132dbc9bddb72d72d728a775399bb368036f0df6970cdc87151dba1b9f6e3d56665d85e4c33fdaef3a2f4d9180728fc3cb1c76bf831\nmsg = c44009e9821601e219ac4f02983b21a1ce309f2dbae90ce4fd6a2e37c29b73817477460c2446a712d32274d0e20d992bca09eac725a65873700840c15a8f660700fd2b414eb24b3d06e279c47c1253fd149945f7c8f8b29c8b2883eb754af74a5b108a2421f9b6f22f39d38e423b26bd856434f36b87cbf96e18437e10319f73d37d1340f87c147bd29e750648867f8a154705a2694f5d441d00546eedec71f532237b976a59dfdd0e656ac51711ff01592d22728895f2c591cfe6d485d845d507cc1c0bb5fe4ce1cfc99055ddd963cdd3e634fe5b8257ab713a3443fe56caac566931acc8968f5a82d0e25e145f9e5028ce1cca20f159e9c4611e82577a4fd90ce24b5f124157d66074b3d699a153c7f3a5e8f1f21222ac1ea61fcc0ef692b22b6533f07b\nresult = valid\n\n[d = 67aaf707264ac9eb89ca382e70233f8878cc749b35004a8b6c6561fdfee4a0f5a50a871f5ffd1b1533a714cd7fa7256ddd51a64074f9ba9b097b5c5338620bd8a365fbae5d6d1c4aaf5203e1708868de2d6e5c7ff5d4588193633371edee2388d985d3082e315a69364e0719cdbff238a726698bdd1ef224ab92eaf48fad6e3a0e8cab2dbb73717885f2d11c89b1944028fc29b89808def5d416d43ec977a866ff9c8600dede7bf9075d0b8440355e927b1441dabdf6334388108337fb4ed1e369346193e2ba993eebb44a32b41c1ec3181d246a436a0a9b827ea3112945482afdbac34091341f72732e7567cf617f8481f7a2965442da69ba372f1626ceb95995dd131dc1b3c62bd2f1fc2584d3a2133e1a36c4889dc416ab75b2781074b934b077597b7f09118086bb8ff654e79efe2d49a93e20caf875b14d8b314899709cf8bfb7eefb05ce38b59ce97f6bf9e5cd5467cccd115b1cafa0785a64e5a428886c8b4d99a7a9428ec5992b488385ad4475adb02cd53bd5982d75c569d4541001]\n[e = 010001]\n[keysize = 3072]\n[n = 009adab51aa060a0850ea1eb05858c120a338a06d6265e084ea5ecf806a233b23eef6518a5610381d6fc298c0d6c43aaeee57ebe34d6154e7bd71988487935b1aa2d0f86f0913d31d7274bd655f04da2b419fae660025becc18debb60b241854102e34609145c856b2b7182d2342664c112f9878423adafda6f23d2a17013ca8b203efdbee58e841e32c18a41ebb32161cdadb626470bd175df2a752c2859c24133b5c840a404bf6a94d233f74c72481f42d2d93711d3707b94cf06aaa290028a1437c3984c21201ca10a11cd93be48591f3793bd8a66e3845198cb2506b69604bbed341567b36c5aca8ea850c9466b996371a6213b4be89e21d4d0e3895d7694b4c7c987b81b0e34999e48416ab6033b25079f75346f586cdc05c762d3d38132ecd5b49d0dd0a12647aad3ae8f7b3916a6b40eb1b8ee234dd75a56c38a5e64e6d717cb4106fc34d9adef29b800b721069d10804b5c33bd78478d735eb83388706423a52a2e8372b6829f8c9cd8c3ea4b25d36ea378b70b5b72e5eceb4251d8911]\n[privateKeyPkcs8 = 308206fd020100300d06092a864886f70d0101010500048206e7308206e302010002820181009adab51aa060a0850ea1eb05858c120a338a06d6265e084ea5ecf806a233b23eef6518a5610381d6fc298c0d6c43aaeee57ebe34d6154e7bd71988487935b1aa2d0f86f0913d31d7274bd655f04da2b419fae660025becc18debb60b241854102e34609145c856b2b7182d2342664c112f9878423adafda6f23d2a17013ca8b203efdbee58e841e32c18a41ebb32161cdadb626470bd175df2a752c2859c24133b5c840a404bf6a94d233f74c72481f42d2d93711d3707b94cf06aaa290028a1437c3984c21201ca10a11cd93be48591f3793bd8a66e3845198cb2506b69604bbed341567b36c5aca8ea850c9466b996371a6213b4be89e21d4d0e3895d7694b4c7c987b81b0e34999e48416ab6033b25079f75346f586cdc05c762d3d38132ecd5b49d0dd0a12647aad3ae8f7b3916a6b40eb1b8ee234dd75a56c38a5e64e6d717cb4106fc34d9adef29b800b721069d1", + "0804b5c33bd78478d735eb83388706423a52a2e8372b6829f8c9cd8c3ea4b25d36ea378b70b5b72e5eceb4251d891102030100010282018067aaf707264ac9eb89ca382e70233f8878cc749b35004a8b6c6561fdfee4a0f5a50a871f5ffd1b1533a714cd7fa7256ddd51a64074f9ba9b097b5c5338620bd8a365fbae5d6d1c4aaf5203e1708868de2d6e5c7ff5d4588193633371edee2388d985d3082e315a69364e0719cdbff238a726698bdd1ef224ab92eaf48fad6e3a0e8cab2dbb73717885f2d11c89b1944028fc29b89808def5d416d43ec977a866ff9c8600dede7bf9075d0b8440355e927b1441dabdf6334388108337fb4ed1e369346193e2ba993eebb44a32b41c1ec3181d246a436a0a9b827ea3112945482afdbac34091341f72732e7567cf617f8481f7a2965442da69ba372f1626ceb95995dd131dc1b3c62bd2f1fc2584d3a2133e1a36c4889dc416ab75b2781074b934b077597b7f09118086bb8ff654e79efe2d49a93e20caf875b14d8b314899709cf8bfb7eefb05ce38b59ce97f6bf9e5cd5467cccd115b1cafa0785a64e5a428886c8b4d99a7a9428ec5992b488385ad4475adb02cd53bd5982d75c569d45410010281c100cd7740c89ca197d070330dd985aa2c4dd82286bbbe656fecd5171e33464fb3b961f6580b32ebfcb314a7db5828e32640147e4aa79266e0cae09452863b3ad6ef4fceff2d0d8135a382c2047c611cef0603b3da851419ffee480b329ff60b6beae91d0f84bb969c1745fc2f9944da5ba5b2b18c4183fc8734101a2991232f74db4ed5f35179149b87b2fbfbe161ea3778532e389c186aa2c0ae3057ec2b049c7fc1c0610a88436b5af3c8421ff6113fec333fe05cb1f6473963c5f22c93f2b4910281c100c0f0cd3a7b447d32b2b29e7f12f3820e77a53201a295edb0d2ad959bd77e603cf3c42d6422e8e8243d7d829c038d4a8d501c003025827c13b88e574837c8abc03f283224078819da7534bb60d289273f9847d12b53bdc0cc974675443b41469e974dd1a04d418f1a2c2913543eaa168a919b75127d353c52279deddb5c53fff04d73bd85611b31a858f6d9b5c282098478a6b0315825bde460e97c239736a554f51517b6fd2c7cc66efc9b2229bd97b04411c65a9427e5e87e64cc25c39dcc810281c1008ff2dbbd711739807c0b18c9ebfe947999525f28cbb4cf9c929256c33fa0795f0906091b177b04190700af08ede46e98f8829e951659e365dfbfaaad8673abc0101f0ae22a92fadc6ab0b969d6b3e9b64203d0b5e9a6698b2c8843d8940dde76bf097024e3341a79a7bb8e31886e9f44d093d99ad0f8ac54ca6f39ee0843a85039c4656b103462dec884082d18677aa35f4b83b7c0d77cdd176ca13cc1cac246339d2f9fac65e7a1da27d444062681ad5f1e82770eeb676d0abcd4f56c55df310281c00e75fdebd4315df0ded3e46d41ce5e8117169a98e4c6b7f9f8d069d634609475fd0f4717aa462aa00cbbcb7e4605e100967082d318fc9eb01bb50f75aa38b026c8950aad08a37acc94dc4eef02d8a4c86f71728bfccacc18897e0e6bfec4f5b60d4117e51be53e04882acbf8147a4b1637b39f22b39fb9d5ae8277c1693a2284b0496c7b02bc370c971e6952e63138e564e5996f195c3acf53342cc9be1baa68a3b5e10126189f817ff00ef09090553e30dbe43205c8b7c2a53688d68bc2d8010281c00afb7cd8666ad62ce48ef59463baf43462b0cc34dac33af39b1a3f977f8685d352d27f2b0d710844e9c57849ceafe35ef1f28e5b18a3738c8911c9b31dc5e41f4834a90f710c1ffaf24d2f6267260791a50a4bbceec53fa8008db875188b355871431890016df43d918b2983d0af37ea8db84aed8ac52498d6e7b466c347d2271f7d2aea5b286336053594839d759eb033025cec5fd8340acf8d6b71651bd94d9e2f775b1181b550aedbf73d8f681f63d1ffeb7beda2f87ad57c9e688e642e9e]\n\n# tcId = 36\n# ciphertext has low hamming weight\nct = 010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nmsg = fac9ca4da781954ffc246d0347408dfaa149e0aeef28c334842034444a2f9df619571e07784acb8fa7d794e68af9e1ce80a14ec84b6d4990e47a748fc63aee207a8948838d\nresult = valid\n\n[d = 6ef4bf85e2114c31841a28211dc8dee37b1fd0be4ff53c6c7f4c0545abc7bad107e7ea7991724a323407bd5e16daf3d074ee9aceec58a4223e815fe54956ddefe2d65e93a83e5f3cee104305109967aa03a238697c8cdd6e956a5b5a068ff884c47af051853649f53f8d8c1b1fc7e97fd51c5b2043cb077400bd0b7ce9aee26e78f74788a98f64f35f8cbae52248d2af666e6173e2ceac8d3d0e417d48e0544501f21c459da0f0bdeb6973e22626b487b5154de963c97bc150c09ba109f4104dfdcb28098b8d12310c42ca7470b43085bf4693ea9529c71ffd0c05a37691b4f2a975bf16e3cd61523303a2b39bc1667e2a9a3bb9d851eff0598dba2acd2e696b618001ec58d2670089e8c241068931e68a0ed0f4bb854e7188e6aa7d88520d3ee8e61dbe048460819c124d97f67ff25dfffb0adba69e7de58f2d97e5dbd632dc810c6e92ad448e0fd15b61df311a41488dea750f5d06adc55102e1414df16d46baf6fa2a5042d8b7ab64b03f4d969a1ec51d1b4c12b9d845a65613207a0729dd]\n[e = 010001]\n[keysize = 3072]\n[n = 008b2f63e12d53676d96f8d51b58af53305928229ab73a601ded828da0b84e2863b2e0f860c3be7ec3e21493b6daa2043d912fe0648b2d5c8f6d049ce421480f845e033121e0aded71f9aa4df21c8f37dca8676de17f53f614685fd8fa752b265391bfafc7944715c232ecb28009441c7a3cf7735f91ab195ccd468956339388ccb7f94c9c6ec2792bb49975c7c885a829f30b191093f3fb69c62ffbbe9b44dd7c7234644aaa629bf60b41d17037006dfcb993d0266c9b900a04a00e1ebb0ec15209372a1f4425499f1df67fd489257056fcf9bc264ae1083120ce2e720d476ad7a901e7312b5f13c3f8410870b6803f6ef13755dd29beb46419529d69b585c476d726125a0dbd58c561f0726372ad2003f17b37f0b449ce31481862e0f3702179bf2aac93b81071a835cd7e59b12ca237540dc5ca5c4b1c7037e35fedca623ffacde347ecf28a99f5eaa884f7740b291324257909b743075b984b0bb3fbe2fb3b18f42593d88e028a1269f97b1a45178e2765c6fbcc1550a796735427cf4e95b5]\n[privateKeyPkcs8 = 308206fc020100300d06092a864886f70d0101010500048206e6308206e202010002820181008b2f63e12d53676d96f8d51b58af53305928229ab73a601ded828da0b84e2863b2e0f860c3be7ec3e21493b6daa2043d912fe0648b2d5c8f6d049ce421480f845e033121e0aded71f9aa4df21c8f37dca8676de17f53f614685fd8fa752b265391bfafc7944715c232ecb28009441c7a3cf7735f91ab195ccd468956339388ccb7f94c9c6ec2792bb49975c7c885a829f30b191093f3fb69c62ffbbe9b44dd7c7234644aaa629bf60b41d17037006dfcb993d0266c9b900a04a00e1ebb0ec15209372a1f4425499f1df67fd489257056fcf9bc264ae1083120ce2e720d476ad7a901e7312b5f13c3f8410870b6803f6ef13755dd29beb46419529d69b585c476d726125a0dbd58c561f0726372ad2003f17b37f0b449ce31481862e0f3702179bf2aac93b81071a835cd7e59b12ca237540dc5ca5c4b1c7037e35fedca623ffacde347ecf28a99f5eaa884f7740b291324257909b743075b984b0bb3fbe2fb3b18f42593d88e028a1269f97b1a45178e2765c6fbcc1550a796735427cf4e95b50203010001028201806ef4bf85e2114c31841a28211dc8dee37b1fd0be4ff53c6c7f4c0545abc7bad107e7ea7991724a323407bd5e16daf3d074ee9aceec58a4223e815fe54956ddefe2d65e93a83e5f3cee104305109967aa03a238697c8cdd6e956a5b5a068ff884c47af051853649f53f8d8c1b1fc7e97fd51c5b2043cb077400bd0b7ce9aee26e78f74788a98f64f35f8cbae52248d2af666e6173e2ceac8d3d0e417d48e0544501f21c459da0f0bdeb6973e22626b487b5154de963c97bc150c09ba109f4104dfdcb28098b8d12310c42ca7470b43085bf4693ea9529c71ffd0c05a37691b4f2a975bf16e3cd61523303a2b39bc1667e2a9a3bb9d851eff0598dba2acd2e696b618001ec58d2670089e8c241068931e68a0ed0f4bb854e7188e6aa7d88520d3ee8e61dbe048460819c124d97f67ff25dfffb0adba69e7de58f2d97e5dbd632dc810c6e92ad448e0fd15b61df311a41488dea750f5d06adc55102e1414df16d46baf6fa2a5042d8b7ab64b03f4d969a1ec51d1b4c12b9d845a65613207a0729dd0281c100be8a1b8aaac6119298e36cbc334e6f000dd13f5c32c3ff20c9c88781a7b3e9255fe669f5242295259f2f3ebbbc58a69f6e2306de111d634fda3bd8843d54e69078082c4fae1a11236e2bb779b64b24e26898a814ffb611796dd352ead241ba659c4316cd33e4c38c166b6f655c609c7c750d6b1577e1ba3bd8c4a21b1fbf8d58a694eab4f1ebe45de0f4d3cbe979a9e43b7748a4b51e127784eb7a8387429b4edf1e1d38ccef9e1090fecb4cab469e8a9e1198c64b22e3a840713b174444fa7f0281c100bb00ae5759eb408b7ef70b0b11fc92858f010964d4a24647d2599225611dcaa7cd707dd585601cadfa2d5508360852ef178d4ead764f298663a97eed43800ff951f91e0067422eb62903e525a8ac847aa1a5d758ad637cb5db4c3be892801f35ef8eb878bccb00d11d9850106ea6565344d6720bf8f76704203a5b831f14210fa12b4fbbc391e12aed81a3364c00c9d4a3eb36b1225b502d820c65f72efab477677113d6fd11e2a6d979827d9bc1836b6902543ca856a16e0615f710d75c8dcb0281c06f20bf8575aa85af398a52edc502b6cc92427b30bbcf022ace652d5b1a435cf456655d61034d442da814f702a98c0eca2783384b26323cace2fc4a807e00d964630d6942a3a9425ba6b2ca94ab145293d62b4ac4cc8b14cffc94e6e45bf2c7d2e17b637e1509145fcce7a615b8f603eeb69a37dd52890d84401e16e9b8ef9071a6de6db150f3a2c27a2470ae9a22424b01bfc55782e6e220611eb1daaa75d77cfdb66396b03804b966c7a42cb82c3", + "ce55de1a777e77496d0979d32b89431a2e30281c078afdfd4903bbbd44b84b4a3d85fe1504112b23558e5c1e5e863d666395f38c3435b2e5af7512831401cb19c3302fc434237f8670acbdc48d75934897bded2705def20e5b1be8cd713716819fdda1945ebbd5455eed11e535fccbb7d45cf5a553cde274004d81f16d6bace314cb81d4e7046d623d3f217921a1a8fa4f811cda480a7ab35caea031fe958993519a8089a2b904a23d7c086e657e0188e86cb565d196d69187f0b63f3bab728f857e574238609f2c3930115fe23ff590c8d7136310281c07e5b28492e5eb593d7cfe662695cc08295e5a1fe58d7e16f74f50b839845c165afd6243ab56d1e5ca779d36749c1894d0d12ca181aa28d7aae00dc00240b4d4a76c0da813665d798637561b2cb16c8141c8322912843dbc1bbf2f9ef9f6ebd2924a4237c35450c426d71724757b6df068df6ea1f7759957adf1fd84bdaaa0a1986aacca2f7a2ef1059581003b4f3c69dfbb54af5f1832da2a91e62f79654761139a1730c63cc30d505d83590ca08a0055a5815a58ee79211f5da58c0d418475d]\n\n# tcId = 37\n# ciphertext has high hamming weight\nct = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nmsg = ac67e5419767f8f024f020631ab21a9f6318d0b71a470d8b757f60c0f6d4fa5c42da77275aca90d3bf48abf634be42a527ef2b6d1e2ab0d0289714316d310a1928a572f368ac5a182766c514ab376b3d16ca23a40748b62eba6a79de16559a46322cc490cd7a3d68eb9f3c412d9cbdaa36ec32c77116b9c120da6c91a5\nresult = valid\n\n[d = 00a2de4e3c98364b6e7bc16e1fbb68162d541fc8e93a1e03bc8523e534017a298741ef01ee1336cb1a5044cb0fb7fdf3e2d9801b37460385b241bb4f30d236abff84c06989eea1e3838b312bc878aaaba1a99040037aed262570dd33eefe673ce80f474c2ddb9b722c5edd79fc77af64e3a4e83d3c198e6fe1dd2136bee9034206e37abefdbeface0725ffe15724a531deae6b9bad26f3d1bc5a3ad5ce6d85b625251568767f886d6cbf0076f70ee06df5f674d0e5637b617eff15dd4b16f390db54c4e857810905f78719a6f814fb955f655447e83ec967e12b87be35225d9aa5a4b206dfabce9e689bf822bc6dbe9be6852c09b7a9c3e964460a759c302f82e634768852ea8f76b904b748792e6acef023f72058ad4dbfc2267a2582cf1746e92a5716ee08d7cce954c647cf9c5d33abb79ab9bdcadf35abe2a49206fe98800461ff321c6712409de1e77fc811904778e753216ad2a0655b6bc222f4e8c517251eb39b20554911b442e53b445c317c9e1a64f0d5075c1638169e70256919e961]\n[e = 010001]\n[keysize = 3072]\n[n = 00c9fc329bc6fc79f71c8c20943ea576394301f78bf1a33d53c99221b4e084709bed7288d1ce0f13c17c421cce98f6bb6e9938d03023b4ee3227db7569cd7d83715dcd09ed814cc270a4f6a6783fb07ef17055d98164785bbeca48b7b7e377c5fb07d488a7bade1f529da76b940e74738ff2f55b8e1ceedf5af7a6119ae0b390e1809c6d31b53234fa476929b5c3d82c154229287a70762ab7e6ba57da8a49a46d2b2e305130fed64f7097f2aa804e1d4cf1e6dfc08a6fa0de4cf62c31e0f0f0206ba7d81da7fe0950867d4a3a3f910e6c6a644b1f4c5062fdd50aa993ef0c2d550b43efbf56a5036df05fca808935a079fdf146fd0976c2fa0a1ab96978789a3bf384d4ca932ecfccef42aaeafd6fc557f4b0059710e382c6a87de0c6bca80fea903b12eaa0cc18347f5036be07c20a071493f636ce0ca42e8d0785d37de850dc3834e81beb9be138a14204657f3c405f0e071e90081053e3c92c3e5a41a473e0451ef2d8fd41327a98910eca92cd56c8bf7a434a588bbccc0037863863f6342d]\n[privateKeyPkcs8 = 30820700020100300d06092a864886f70d0101010500048206ea308206e60201000282018100c9fc329bc6fc79f71c8c20943ea576394301f78bf1a33d53c99221b4e084709bed7288d1ce0f13c17c421cce98f6bb6e9938d03023b4ee3227db7569cd7d83715dcd09ed814cc270a4f6a6783fb07ef17055d98164785bbeca48b7b7e377c5fb07d488a7bade1f529da76b940e74738ff2f55b8e1ceedf5af7a6119ae0b390e1809c6d31b53234fa476929b5c3d82c154229287a70762ab7e6ba57da8a49a46d2b2e305130fed64f7097f2aa804e1d4cf1e6dfc08a6fa0de4cf62c31e0f0f0206ba7d81da7fe0950867d4a3a3f910e6c6a644b1f4c5062fdd50aa993ef0c2d550b43efbf56a5036df05fca808935a079fdf146fd0976c2fa0a1ab96978789a3bf384d4ca932ecfccef42aaeafd6fc557f4b0059710e382c6a87de0c6bca80fea903b12eaa0cc18347f5036be07c20a071493f636ce0ca42e8d0785d37de850dc3834e81beb9be138a14204657f3c405f0e071e90081053e3c92c3e5a41a473e0451ef2d8fd41327a98910eca92cd56c8bf7a434a588bbccc0037863863f6342d02030100010282018100a2de4e3c98364b6e7bc16e1fbb68162d541fc8e93a1e03bc8523e534017a298741ef01ee1336cb1a5044cb0fb7fdf3e2d9801b37460385b241bb4f30d236abff84c06989eea1e3838b312bc878aaaba1a99040037aed262570dd33eefe673ce80f474c2ddb9b722c5edd79fc77af64e3a4e83d3c198e6fe1dd2136bee9034206e37abefdbeface0725ffe15724a531deae6b9bad26f3d1bc5a3ad5ce6d85b625251568767f886d6cbf0076f70ee06df5f674d0e5637b617eff15dd4b16f390db54c4e857810905f78719a6f814fb955f655447e83ec967e12b87be35225d9aa5a4b206dfabce9e689bf822bc6dbe9be6852c09b7a9c3e964460a759c302f82e634768852ea8f76b904b748792e6acef023f72058ad4dbfc2267a2582cf1746e92a5716ee08d7cce954c647cf9c5d33abb79ab9bdcadf35abe2a49206fe98800461ff321c6712409de1e77fc811904778e753216ad2a0655b6bc222f4e8c517251eb39b20554911b442e53b445c317c9e1a64f0d5075c1638169e70256919e9610281c100e86eb1e62a4f89475541013a3d93f85f17c7c33ffc36b589ea6d7bbb577db9611a941d50fa3123cf81d606d2eec83ba476e29790fb9e27fed438deba5191016773e9816bf164e8a5d4029481279062733fb12c34f16e455676d77541e844f1e20e103cd7d18cd10203d2875d603af221225a4fbf60a6d068b3a61812db0c9907dc02c305ef88d436669650e710d939a2465696b1363041bde9b98c21d61ae217a4f933f342ce8062701c2d63badcea3390d9ff988b3b607e392110c4ad68be990281c100de772d06a37d41db1e0953b8cd01ec86bcfd7fc3e17b2abfd0db61c37cbacc514dc5d0079e65bf0f10ead78356b7b2c639513917278731fa9e0c00778f2325f3cf85403f2ed8451a13edd6d2fb9386dcec2f9b2892d935340e125a30d98d0422171d923199f48925caac80c04bb1b44288f83ff1618b2a370f6acb61a79a74f0715baa52786d058eb40b50d37c9a734ee938d7ad31abde418ecaa94fb7c85f42c954a50d93743013393c2ab42348bf538a823bb11a7e5e946ef3a9b5746442b50281c100be03005bf0eae486f4231825cc8152e22a469c4f8a980f00982cb8a2067c393830ca34cd263b55d325891a3b06099af87057fd200112e20f68deb4f60c0846e593d4a880ddee68626857539fe2001efba86de67dc1812c1deb39681a610f3bce5940dcfc71ca7472f93cfa7c5356dcea49731b0e90acce6349b9d6a4537e90fbe3d83e2674139fa8796518ee4ccfc855e8ba90a67e6e24d06469d32d3622f401f053e92c4cc9141b651b23e00bbadd9b1a279cd3cfbed2bb5d68b294964eb2c10281c100d087f5f4db1b76b7e697e79abad0aade42197dc2278244b83916ebb54b1dee97e7c71d118730e8bf3ea46410012180babecf9c2c5029327831de1e31f4428638dcb5935ba695a370a66db38961b91019d66b698dc6d9443ddf52e4a815c551b282e87d39718eff6025733ddd0317385985faee355db20d883f336421cdf1c2dbffe664e99968d864c3f0377b86b9608cffa100caa05cf2a1912ff7357a98a07302360de183eecd81b78ce69aa4d8743fe2fde0e64a675a50d9101e6cb105aa610281c1009648ea8b6de3e8879e8d2d60382b8228a41fdbc94fa87b797ea4290afa872ebdaefcd234229d200ed2b65013679e87bd18ed9a29861e299dece7711a74cee4cba2c6bd9391ac87e618515b63d406379752b6da3f151756733dba2f252907497bd14ef3173022b5dd7562f1c9bd50bef17202ceb738949b719e18d98cb514b420a0e32285109f3ed0a559ecd73e2a91362bd3e8b306d165da1d20e0b0268da5a23e1f44cf992c7b4e4854c325f6143a4d9aad2fb676f9070950f8e8b9dd132993]\n\n# tcId = 38\n# ciphertext has high hamming weight\nct = 00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nmsg = c92e460c4da52173b526a1cbcb2fcb517ab335adfce02fb4a439215476225e82fa2a5b68fe5dc1a8e4f05ac309e31c3fb5b4b91a8ddddfdb7d83dc8bfea2429cf93c2e63277bd4f9202f92d8fd36242984f237a3ecd8966ba9f8e4457c158277a2ec69ec8ca5abcdb689102665827471044a491e951ce64ba51c7fe1e00", + "a2d8ef3731ccabbcc2867855d9b839df26a1f7b3dc0eac2e0b7700f0645554770713b78bc3a742b90c7277d35a789cba6e750bec9f73ea4128f9d411325c5536fa4cb9453ee2bc5b0f800db8c37570cd08322d3e518e48fdd61c58d11f7f3748a8a07109914082581a41718a05c39480948fcdb1529e71f2356449220efab9c53b38d5393869706993330c034c7d1b0382228a82c805ffae59a669c11658ecf97240037c467762aab6c72b9409c7274b50d94d3d730ab157275f9c974\nresult = valid\n\n[d = 00990388d1b5ec613b9daee3a04693d91b5af7ca4a6d3af89b45b96af5a520c662829f4023c5e2a99ec548d90c11acf76837ac89abf4d0ed11f675f35cba50c8200f49d496471f0d91720245cd4a9f85c0d87e8045c6db28a79d41bdf09e486f5de938f17acdee3a8a675038d77fda22230c8913eb597f8392313fee8f965e3fbd64dc85dbc2afc058c4ecd444f5c94df552db4a1c25ede5c8aad49f6219dddfeaee2fa18cb1b02ae777bf3cfc2ea84cd21b981a292ed39efa4209901e72d6d9fcaf0d40eb9626716aa99843c9f65cecbc80264586013caf7382f051c3f3723e9e5afe0878e39c9efc8ff32614e92b6d2f077abf5012eadbcc26eeeb47e153b928e634bf940db6ef248d1d0f35e5c4c0cd3f39a7cf3bab50ebdac582f569db810fef07c6b2d77458e6610b6b01941fb598292dd792ff08275ac6e8a542cebbc0f73f0e3d3dc73f828f92dc62b158427f4c05004d56dab7c7f67844ec16645753f2fadf510b2c567ecfa3e8cb7f98634f5ebc5ae246d4e9c673c38c79e0ceb8752d]\n[e = 010001]\n[keysize = 3072]\n[n = 00b8ed73687db7c698093a1d9d6dbce077230a07456d8e1317aadb709ccf47121ec1b4e751bba4bbba7bff4b1e55cd6ce974111893189125eaeee2e77f3da36f4c90c0677b87c171237c274bbc3a94a9abb471969f197940ff0823f82ca9252ce6ee1b6c1a43a7c25df1f41d0f7e16b2b104933cc8968daddae360b751cda7d543c7de3fbe2ca5de6b0283abe1d09a7c41c67e31b0827ec608e8110173e62f9f95902c9062a9c20e21f4ac55c438eada46f9d4ae0e58c41d50f1cdad0dcdbf5b21c6a6a1dc311b0a45d772ee928a4ec766331df2810998c3fbff16bd8d3e2be51e3b30b4840679e678194f3889830057e59e511d06beffe040523b9657aeb4d53a53103011ccf8e55faf0cef4bfce1d27c6e8683205618639be4b78070efc9fd536e70c578307bc03b400e6f7a4ce2aca86a5d74e6fea44349ebcf2c58902ee143c58133f395a39ba7b7a1057a52a02376be308edc441fbe775fca9d4b098f8ba018015a7efcba7df8fd86d8d6235af3b855bbe5e470c85e03545aa3d3bb5a5551]\n[privateKeyPkcs8 = 308206fe020100300d06092a864886f70d0101010500048206e8308206e40201000282018100b8ed73687db7c698093a1d9d6dbce077230a07456d8e1317aadb709ccf47121ec1b4e751bba4bbba7bff4b1e55cd6ce974111893189125eaeee2e77f3da36f4c90c0677b87c171237c274bbc3a94a9abb471969f197940ff0823f82ca9252ce6ee1b6c1a43a7c25df1f41d0f7e16b2b104933cc8968daddae360b751cda7d543c7de3fbe2ca5de6b0283abe1d09a7c41c67e31b0827ec608e8110173e62f9f95902c9062a9c20e21f4ac55c438eada46f9d4ae0e58c41d50f1cdad0dcdbf5b21c6a6a1dc311b0a45d772ee928a4ec766331df2810998c3fbff16bd8d3e2be51e3b30b4840679e678194f3889830057e59e511d06beffe040523b9657aeb4d53a53103011ccf8e55faf0cef4bfce1d27c6e8683205618639be4b78070efc9fd536e70c578307bc03b400e6f7a4ce2aca86a5d74e6fea44349ebcf2c58902ee143c58133f395a39ba7b7a1057a52a02376be308edc441fbe775fca9d4b098f8ba018015a7efcba7df8fd86d8d6235af3b855bbe5e470c85e03545aa3d3bb5a555102030100010282018100990388d1b5ec613b9daee3a04693d91b5af7ca4a6d3af89b45b96af5a520c662829f4023c5e2a99ec548d90c11acf76837ac89abf4d0ed11f675f35cba50c8200f49d496471f0d91720245cd4a9f85c0d87e8045c6db28a79d41bdf09e486f5de938f17acdee3a8a675038d77fda22230c8913eb597f8392313fee8f965e3fbd64dc85dbc2afc058c4ecd444f5c94df552db4a1c25ede5c8aad49f6219dddfeaee2fa18cb1b02ae777bf3cfc2ea84cd21b981a292ed39efa4209901e72d6d9fcaf0d40eb9626716aa99843c9f65cecbc80264586013caf7382f051c3f3723e9e5afe0878e39c9efc8ff32614e92b6d2f077abf5012eadbcc26eeeb47e153b928e634bf940db6ef248d1d0f35e5c4c0cd3f39a7cf3bab50ebdac582f569db810fef07c6b2d77458e6610b6b01941fb598292dd792ff08275ac6e8a542cebbc0f73f0e3d3dc73f828f92dc62b158427f4c05004d56dab7c7f67844ec16645753f2fadf510b2c567ecfa3e8cb7f98634f5ebc5ae246d4e9c673c38c79e0ceb8752d0281c100f48eaec99e76d7f54b1c8bf9725f76464c7c8e911e86b50f1afacad842d0c96dddd7f7359e3a35b85993f0adfdcdc1c2d42c1ac3f724247f325c5377ffe0539fbd367688e2794e16eae9fd0e3dd58c2a3d16789b6fe5a042a3950ad3e0e17c30ce65adf29d281f1c056549281ede6130f084d5919adc1ed7479f60a8d06e7317af7a507a6e3716cb84298de13dd40e8fe096793d85bc5d3cfc0bc80589b27210ac401982ad647aa9edf606cd1c8a1b64280cc8a6f54444f396f95f58ff55ccbf0281c100c1948518671d56363aa95ccdedd59c74350a75cdf16e593b37e311412d6313a445838368da70abeecea09a4ec2ca1eee5ed21ecde2b1357cc332251d3b291ca2971b9fef315d2376d744755735fce2f8462ae6109dd7dfa517a413de22fb5af82f12dbe9afa312291022c887ef9c22606b90c1e2f5062ff18ae17606134a3d4bf9c04ce2d43512ae20b99373d906d49fd7d3a3d74f27fba5bb75344e6cb65aa55138d943e41b6d085b762407d8d0db09d492ff90e2b9e069b4b3a9fb68b891ef0281c100a173790cfe22b35beb24837c40f7a8dbac2f26e7c3616732fbbaca238fa8caf24f5cfe85555a5490ca0293082ae0a5a47bf24a11499d80c2c07a97584782cf724bb622f7279cb1e30b5f42831e6b56c7a3e0abeae22a946caa160139f3e2a8dc87c634da50ca660f57b8905d7e538d9283970e6fbbeeca2591d1343cfead8c29fcdd2138527ee7fb9fdad721f67182d3958f81a70e1d56e8a5f5192e1ec3c1ee23e9856df20ebdb465b6e0b294bed06a84ce3bc18d766e96e9fae3e99b58077d0281c04f1d03c8155c47ffa1b9d5d3d37f9991649c01c9490270356381c96b79c12425dec300d1b97492cfe6627cadf3ade736444a5b8c89392342fa036467ade5ff6df393b6a96ae345bb2bff2e7595fae447d36574e115a1442594a3d9facf112afc834091dfcf8835c3d27464c0298d05ffa1f66746fa1cad3b6a26fab540ecf660369200da331ffda26c7d6b65cd2c9d79361ba8ba35ff81391a83abfce131259aaab731142e05876a02f725828f79cc0b18757b3d1b6c1beb178ed5c989e2e4c10281c07fa908f5194afc32afee234c2a3c1d349e37982be7431e4c67667eb306a436200c31dab61f9b52ce3757ee52f73545146171886ef280dbb7e67a3d6c01531b8f99529f8406a8fe1c56065b563ed2395d10496564c6775abdf4d7d078a28fe67d8d5eb5f501849012f0c3f7df7c8d9180ec17c17d06d5c218a0cf52f06f6bc3c7acbad3595737bfe6c6bfdd0680c292e665d3bc794c2231765a321b3b9d718402b59830085a2cf3ed70dc1c7708beceb9bbcc2d641818028c62f232deed68750e]\n\n# tcId = 39\n# ciphertext mod p,q has high hamming weight\nct = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nmsg = caf34c65e77454e988e0aabb59efa0d15e204690a1340bd7987f1c1498f8fe0029feecdb6e80f61db102db323691c14015c73368107585984d112de11a96a52a572ab5c58c5e3d6922c5cb3a123bea4a71dac249a1a81bc8c0c8f168195f877e422665676da11bec2a34ec55c6f7eec66f1f6a821ef8b7b0e9d442e57a1161c7f9464ade2d60764db3ee585f61bbeb32951d3a9e00afa25dfd8e9549d5a0f25710363ab21b257a85945ffad891e0c7f58eff043fd0a807067588f7a1e11f77784b32a637184b9e6deeadfbf7d533cbcd4c2d752ce749c80aafa183b71baf882cadd1d589e2c3f954e66e5b99cdbc1338d096c7519f6d0466005534d02b32\nresult = valid\n\n[d = 6645fa5300af8cc8f4dd73e2add71dd8238cbf80b8c5e22a2c77887e32cb254e5a2815911debd2315c7fc39cdffb5e6a978847916b53057aa38d1a6031980dca363b0dc2f05a7b370395161dc961f1d6eac7bdf2b096be69ffff27b9970f6bef43866812708de96f42bf056ea019ae5e88d347fc13ef37f100545259b002d7d3297f8c3641eddc80c22c841c7996148e81b2be000b7a45e6580ef7dedfe04ef8bf64fc6e94c021a8ca0d5b035e3500c5669918a2d8e880b8c01a559fb74d3c31911e28d6912d103bab9fb88f00679158dde953b6c61665c088e007623809391d9ddf5a7f0ff4229e3de1861a1f5ae3680384ab1df1f8ddeb3d99b5242a27ea0aa39b761aa052c9e995913726a79a74ba6831dcaf9416add437e4e9c845d79694c3acc2431c566d0321833daf3896c970d1737bc3b9fad55f3f68cc48fca82eb471884defeb5155a909e35d89daaa146a7006ac60e4691fc176f1b9ed055ed9879da1d57abea8989dec576252adc49c0de091c3a966c20731ebb656d04f700181]\n[e = 010001]\n[keysize = 3072]\n[n = 009e609b33015a2e7284862be78c5a9687f42c6b0d56f860bc6e2cc1a087bf72133ea3ddac50a077fec843e50cab9353722054c705c83e304b0ff31d7c122c36ea1bd85deab54c1cae6bffe3a8ddf903c614163131711847dddfbdd8ac82a3f552546afe0d2150629b1c165581b1a49d4cb6f506a4dbf007a5b3bae35ebf6e18d33d433889f459af682342e5cec8907064e309f2e3f8c7875cc2e1fa7549e869fc27b124e3e8d62c710ac62f1a18c45203ce9b58902b54c64b44481d56864816caa356471083fe4fa092d1565520e108b9e712b7807fe2dc", + "5ed3a74d9c454f4ae391d75def750088dafe51c4c43a7496ed0655f8ab0ddcaebd5f734412355d5bec8adafa009f1f329afdc44e14127983d783ab910453c1c102c01f249812206c5746e7a94015158ce19e5ccc10af2ec84c92c56fcc260d0725eae2a8c5e7faf154c37411f16c85ea322794d6b42e4f4e57d843b064168bc4f9b0390182e675fdd36c6f34ea9ac3a41e4faa82ac4c71f7d5dfbe0d3d04a1ab1469ce860da368ab15]\n[privateKeyPkcs8 = 308206fc020100300d06092a864886f70d0101010500048206e6308206e202010002820181009e609b33015a2e7284862be78c5a9687f42c6b0d56f860bc6e2cc1a087bf72133ea3ddac50a077fec843e50cab9353722054c705c83e304b0ff31d7c122c36ea1bd85deab54c1cae6bffe3a8ddf903c614163131711847dddfbdd8ac82a3f552546afe0d2150629b1c165581b1a49d4cb6f506a4dbf007a5b3bae35ebf6e18d33d433889f459af682342e5cec8907064e309f2e3f8c7875cc2e1fa7549e869fc27b124e3e8d62c710ac62f1a18c45203ce9b58902b54c64b44481d56864816caa356471083fe4fa092d1565520e108b9e712b7807fe2dc5ed3a74d9c454f4ae391d75def750088dafe51c4c43a7496ed0655f8ab0ddcaebd5f734412355d5bec8adafa009f1f329afdc44e14127983d783ab910453c1c102c01f249812206c5746e7a94015158ce19e5ccc10af2ec84c92c56fcc260d0725eae2a8c5e7faf154c37411f16c85ea322794d6b42e4f4e57d843b064168bc4f9b0390182e675fdd36c6f34ea9ac3a41e4faa82ac4c71f7d5dfbe0d3d04a1ab1469ce860da368ab150203010001028201806645fa5300af8cc8f4dd73e2add71dd8238cbf80b8c5e22a2c77887e32cb254e5a2815911debd2315c7fc39cdffb5e6a978847916b53057aa38d1a6031980dca363b0dc2f05a7b370395161dc961f1d6eac7bdf2b096be69ffff27b9970f6bef43866812708de96f42bf056ea019ae5e88d347fc13ef37f100545259b002d7d3297f8c3641eddc80c22c841c7996148e81b2be000b7a45e6580ef7dedfe04ef8bf64fc6e94c021a8ca0d5b035e3500c5669918a2d8e880b8c01a559fb74d3c31911e28d6912d103bab9fb88f00679158dde953b6c61665c088e007623809391d9ddf5a7f0ff4229e3de1861a1f5ae3680384ab1df1f8ddeb3d99b5242a27ea0aa39b761aa052c9e995913726a79a74ba6831dcaf9416add437e4e9c845d79694c3acc2431c566d0321833daf3896c970d1737bc3b9fad55f3f68cc48fca82eb471884defeb5155a909e35d89daaa146a7006ac60e4691fc176f1b9ed055ed9879da1d57abea8989dec576252adc49c0de091c3a966c20731ebb656d04f7001810281c100cbedaf29abdace9553066bf9b552e7427342b931846dc80c4a093f51350a8587e47fd7c1650149a4ef85f4be5b2f57d51de374d8c8cbd8e907befdd9c795753fdf6c47b28a7c0ee8c8aa124eb486d53d8da2d959f4c9a742ccae9f4dee7bb2a5ae92b7170dd15c054fd18ed9eb6488e0e2b4e45bcc1a9b1b6302fe12a6dbe54d9fc371478a186784e9cd4eb4682d8aa1d8b294661abce3b075c054faf2d9acb4854cf18a639afa70d06d753b580be87b65c86091366b489c2dfad75ca52031b50281c100c6d15b3b5ad90ce9223778464771faeb7252c0404be55fc5a704a9df46157f3d2f24433ba9fab8037aa219474ebabb50fe307ae9dc4179da8a28c60f9716cc0ca9d8d26fd1c353246bff98698b67d4c57f094f9b9b518aac5c20ff0f9f983073a547926c6609f91d98bb93563dff80c53ce6dda01da8bfc246d5a222d8c7ebc3c6b7df1813e393397bf5f46d1d5426f8d4c36db7820788b4f688a989d01a8ddfc642c516550235258272dab9d9c8033a6fe5731d231d1b2b9afe8c6b7a01efe10281c01b5f8b3c9fb9de330313009963327ea257d06405768e39e514670b5dbe2dec60a2565ac2b5e9275681644cc6e47c8560b1036022dd492793981b95fd8ea1cc3c47a444377e094b030a347202a88ed4becf6d4599a29712e18f91fd063bf5d4b412abd4f1be4415030d84c6950fd8cddac9f398178e5d1fe6dc3281a2454d8d090f61efa9b7aab0f29163a2a5eab9fa3ae1588f3ce967e374434a0ede248cfd76b9d1eb36354a8f456764d9f09e4ff2e3e574b129acd157ccc70b3daf4ce6f6650281c039d7d11e2ca9375b608c18df018c44bf596c7fe874ec4ff7d646c21166777ca45561cc79c053645406cac066019ecc3e9d2587ad205aa054179c133b97ee97011c2d2bd44287fc597d5e487e748389e0c7bbf2c047e8ea5a8917447dcc25dffad55c445a6b397d93c1cad8ebdf6fc58c1cd2e229e257252b25a6a3dc558b9ca941d85efcc7548f91cae1dcf21df54cbd5a515d4b657641acbc893822133c9688434b4bc1da8ba0e0bfda208eafb0c457ad14697051b5f720b1a05b442da400a10281c00a973e8a43bd577433a6140c4b3c9b8cc262da5dac3ff758b21571634826e2d2446fd08d5afe1f9322b0371300ad38ef4b2aa61c312ad8f89e5dc1a35778d1d27088bf6f2d0cfa14442c846a2a11c669bd08e431006d370d86fe8d98d762bb0ef5a7e0ca75abdbdf1b6f38d2e1060924b62a67bf919be34fc09e765a9037feb2a5bbcdf2d72ac2d8366f54d74e7cc7741be6d0789dc693fa97de28e4953c68b370a188b850f001c85409449e543123a88c737be4ad1cfe7fd46d4bceab695244]\n\n# tcId = 40\n# ciphertext mod p,q has low hamming weight\nct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nmsg = 0f23dff763ec6364f74289895308e506f726b6ba72d368c3dc4adff79bfcd7ec6c2d6b71b529e42e94578bb9046060e60d262a0deb0220eca9e010aef789cb5b035b7012ea5c8713e4f50af900c89bf016e0797110221a370a5059a2592467cb51b1e799d59f427b5ffc14f7b393ea61578f2746236c901b0f027207b2098b4ce60ddab440b5047b5779dd37738ab6357b0596d2047ab3900601ff816d0fddaf4eb7e8aeaa31b061888a3b8156ea3a6ab56ab233529f9af1c728c1c26103c02e4550ad3a35fd4a2afe78278fadf6eb4e90e5449ffcf2d141ec8df12d1a9feff3cd47a1b921a0256362f7ce551ccc18651a6cfd650739cfebeefe29d2723ce9fa31e345bb4cec71bb5e6f595b7a69b7b98e81f62e55a6b4715bdc92f7c480727d6df9bb9cc38c683edbee451dd070a54938312d850f2842c2bf0a67edf2\nresult = valid\n\n[d = 0099ac516de271c4c1eedc6b8d68c7e4be06ebecb349223a92b59c6fef56d528a7917bc43baf271ca58a4f02ca1f96b761c6f5235145a41492eb528f46ac520ccbaa2f76426ed73b3de21fa5148a8784cc0c86a249503dfb13e694dc4f23c10350d7c098b5b95a90d3ec511fbb7b9ab144357c9537d61d3d5b8dd03005021ab22e7444d8269e8787b0a148561597e88e6fc46e1024642da180e1ea4e9b1a64abdc74742cb25d7a35b81b39fdcb32a0ad2a49d01bdc6d4a967690ae1234b5ee170946ba21dc30d74dc106583de7196807b6ac43517fd384f354a34bd5cb1f8c4ec017a3e6769b63a1bd95742805739a9dcce411ea1b73a7300b7b30c351fe28da0d54bf35e7f8c3ee4f1ab1e321ffdaa5193787c038fee55f66c6d9368029d5d1f82db19c2a09d19513ac7a75ec9da01915cc77ec8f8d270c18fc477c7fe075f0f6c3abe234daa66f6b52b46fb54c7e7495d818317956ad89620e746408ae241284ab7c5bac073cd5120d4f9826b070c3ff7ea7bab641a92414dcc63ca321124d01]\n[e = 010001]\n[keysize = 3072]\n[n = 00b9136e0114d7f766205493ef2415927b1ce623586189fbd6180de9dc27eef2e468c606b4b65fff4e8b6e9516919fd3db2a82382c303799066e31965aa6f1b562fd7aa1cb2cb456de15395dd6fc2f5c60e5f6dbc2fc7b840e976b779271a66066f26cd58416096db1f0bc01e2766b9810a101ed6b673e4eb5638a18e457e5563450afd0b56efded27a60e6213c6fe1d7ab7fab705c881c16f0916fe2f9f6d407377717b04a9b3446af1f531adf297826327a08bc2ddebdac3ea79c11d76e12aca51c34be918b8eaa7780ab1a69f447671b5289f829dd97b60be15637a12cafa209f65e049029813702ec9581be3df3dfaaa6fbc62439194e68233f191b21bb233c7eee8dc43ff4be9f91b0b60f1bca7cadca5ace4b919645a87b1f8e6191e27845b467a35ca612c7f6f512921fc61572e464dd90af7f7fcb72f00298cc13ac888190c9f25c7407c1c1b4275e348e4cd2ea4b87f4c2d8b9459bbf699cc2b38ccc80d33b6d96e9b61688e20a7dd71cf89738b9582f74e3d11e311cb2a42ede808e1]\n[privateKeyPkcs8 = 308206fd020100300d06092a864886f70d0101010500048206e7308206e30201000282018100b9136e0114d7f766205493ef2415927b1ce623586189fbd6180de9dc27eef2e468c606b4b65fff4e8b6e9516919fd3db2a82382c303799066e31965aa6f1b562fd7aa1cb2cb456de15395dd6fc2f5c60e5f6dbc2fc7b840e976b779271a66066f26cd58416096db1f0bc01e2766b9810a101ed6b673e4eb5638a18e457e5563450afd0b56efded27a60e6213c6fe1d7ab7fab705c881c16f0916fe2f9f6d407377717b04a9b3446af1f531adf297826327a08bc2ddebdac3ea79c11d76e12aca51c34be918b8eaa7780ab1a69f447671b5289f829dd97b60be15637a12cafa209f65e049029813702ec9581be3df3dfaaa6fbc62439194e68233f191b21bb233c7eee8dc43ff4be9f91b0b60f1bca7cadca5ace4b919645a87b1f8e6191e27845b467a35ca612c7f6f512921fc61572e464dd90af7f7fcb72f00298cc13ac888190c9f25c7407c1c1b4275e348e4cd2ea4b87f4c2d8b9459bbf699cc2b38ccc80d33b6d96e9b61688e20a7dd71cf89738b9582f74e3d11e311cb2a42ede808e10203010001028201810099ac516de271c4c1eedc6b8d68c7e4be06ebecb349223a92b59c6fef56d528a7917bc43baf271ca58a4f02ca1f96b761c6f5235145a41492eb528f46ac520ccbaa2f76426ed73b3de21fa5148a8784cc0c86a249503dfb13e694dc4f23c10350d7c098b5b95a90d3ec511fbb7b9ab144357c9537d61d3d5b8dd03005021ab22e7444d8269e8787b0a148561597e88e6fc46e", + "1024642da180e1ea4e9b1a64abdc74742cb25d7a35b81b39fdcb32a0ad2a49d01bdc6d4a967690ae1234b5ee170946ba21dc30d74dc106583de7196807b6ac43517fd384f354a34bd5cb1f8c4ec017a3e6769b63a1bd95742805739a9dcce411ea1b73a7300b7b30c351fe28da0d54bf35e7f8c3ee4f1ab1e321ffdaa5193787c038fee55f66c6d9368029d5d1f82db19c2a09d19513ac7a75ec9da01915cc77ec8f8d270c18fc477c7fe075f0f6c3abe234daa66f6b52b46fb54c7e7495d818317956ad89620e746408ae241284ab7c5bac073cd5120d4f9826b070c3ff7ea7bab641a92414dcc63ca321124d010281c100eb08c8c7b3034a9825fceec9583561976a0971ffa3ee2436c56a4d4d0281044257272783b2a7a5a221bc12aac6758d07d744611ccf68e766c3efbeda97462843925e13ef8c883bc4732dcb7d0f53aca4b608c10b423b59809b66fce4483d036aba06c62a48063e7fadd32e5401cbe86e585e9bedf62bab4a7c70fe097169069d30de223b4699eab45ff799d16c1c5388ae76d8b74985bc77a47a0fe95c7745147c78da06c8a4b2295f8497e49911198238b0f6e70aeedd83c91b75cbccec20d10281c100c995cd0a3abf17a89831fe4ffaa634970edf570bd3d7c42125cba66fe0f84b8d7564ae618ab237984d5a5c37bf10c7d67b3d77ba0081dff35f32d01a3e4bf6454a1b7c8bf66a5052f1b94441a38251b997f3aac77bc6eb36a08273d60b649c8743598a64cc8cde15335c9d36f4890276cbf71bebe3bd22c0813c6936dc4ede8ccf9f1b81f89f07fc5a524e06a7d3a238f1826fec5987bc8d6d5d091b67d581b1f26f8c857b7487e51ada4de64c907b8611cd2c8324957440dede99ee44faeb110281c022b543612a305c3da7ae785cc767eaa77f8331907cd6d806369502215333563badbf1c78b853458471d2e236d1e3de15c0565ab8f4701b6bf3975de9cdd9106d1a1a467b639762ac1a0e33349ea4cea3ec35d2bc24e5bacbe1270e456fdd82b9aa0b020c90624bac7330f270796b71418a4f3e5b9fb4c730d2bba4e824154c62be2aaf876d5fa1674d9cb4dc5648c095389e585688c6f513fdf8008d87981d5d6f1c31a63acf077850a0b6058e0d16654295ef8022ff2f3b1ce1af3d8f5f77610281c05687319af97a7b0a4841f55a99496c7b86cbc14e77613f73c7087269c5946ec1caa92bdcfcaee10443f7cc6bb55cdb9aaa0dc96d92b82ccc078a051faeabe68af97370f397132d655d12dc449c8ddccca077dc4f8246f141e285fc78dd2d13af4fee88641a154162b24847c78611a5781eb6f44a3dd83aa98d0fc44de3250b8c3fb69915220609647dd4a45f60fc8bbe8b9424bcbbf572aef649a0161e6cdc1de8e58ed8e114351cd778eb45368a322b6b4ab99795457dc036aa3042c1633f310281c01503297285a46cb98d1deffd41c29a22d5c9d1540397cd1511ad8737ec8cce6ef821201c31827be505734c29157fbfad489ff434781f6d7793b9cb81d0a44e12daf16997304f7d68f8314691b5a6dc5c4d98bd791ca8d39a0a5be26b7a8f19814044b6fdd0ed0e4f0d6cf767f457a7ea8d51e6838ee3df61be3aee1b2aba51aa15ff11eb97557e2ce8ccd1347c3ae8604eb3287d84358b9e0b17c4694df03570b74377c9b7fc51157ecfdefe4885c25d626065b639065c5613822c3111d0ccd9]\n\n# tcId = 41\n# special case ciphertext\nct = 5c89b7008a6bfbb3102a49f7920ac93d8e7311ac30c4fdeb0c06f4ee13f779723463035a5b2fffa745b74a8b48cfe9ed95411c16181bcc833718cb2d5378dab17ebd50e5965a2b6f0a9caeeb7e17ae3072fb6de17e3dc2074bb5bbc938d3303379366ac20b04b6d8f85e00f13b35cc085080f6b5b39f275ab1c50c722bf2ab1a2857e85ab77ef693d3073109e37f0ebd5bfd5b82e440e0b7848b7f17cfb6a039bbb8bd8254d9a23578fa98d6f94bc13193d045e16ef5ed61f53ce08ebb70956528e1a5f48c5c7553bc0558d34fa23b38da944fc14eecbdb05f0ab1bd09657d104fb2f024814c09b81764ac0df1ef9efd5537de3121c8ca734119f8c8d90dd919e3f7746e21ffa5f4fc8d85b078de53e56e52d6725c8cb22d43d8fc730c8f13c22da33d1ae530963fb7a89490fe30ab972326ec857bfbfe5b978014c6609d64440c864f92e3a03e0e0da13af1a4726697525c3fa616c5ca2cddfb4ce6159c66640699db6cb74db0b4471053eeb8e7c4b9c5cac17ba71e88f188e5952176f40471\nmsg = 0b1e0135ba1bafface825cf073a96bc48c8e3752b12e39c77b16c22720a7aa058771a76c102a93078c6b591d5453d9191cfb173df257f51f42204ab754343f3c0667d42bf40a63d12190eda6a52604832ff99cc239b6ca0f67c628d297d1b61d0c2d59f734baeae35b9fd8b31162be15e4e0d8c62feeb8ab1f79e09f71e66d18a5b61bcb35be77cc15066af1459f81f85c1a635823e9188b6581b39a537d0b5aeec99f57ea1979ee89943d590745a6b3e9cbec48a784eb184692a4def00715d5bf852c1301e86be7e265e5e42bfd8f1cbd38c52b0280365763215c130c13e86774ad9a76c181e0445090872873c9\nresult = valid\n\n[d = 00af0c90e6c3454aaaa2947571a217c7514d4fc2edf55d3885b97622a992c7d6214c699252da651d6ed63849723e4d8e88534adeed98ad96f2ad79362956843fb531b3fec9677791b89a9e158bd22a850c56bfcefce94f2737e0eb28b6783aa282cf9ba5d7f0a8dd0964793b6cf0fbc3e30bd67931b408e5131e7da3efdfeec3267c41766426806b3f52531780f5ab18ea6f4654662144e6531ac6047bb686adb9ba84c790817b2cc5e10704e67ae5921d7aee13cc8ff2eb480e72a86db2f1f2257cfad6f49e8d9217a195bc077d7dfa680d04516d32cf4cecda512904fe4ccf5acbd0e04439610a7eff24ad59835f4328c16f91246b77d5b13466fcced5abf4f2e1ebb1c2c3b4cca94d676daa64e9212f63043a9a18bec0ae0a0b96722b8d3173a360138b0c532b298ca44dbe24c42e874c0a336f614527ae6b9a0ab4d3807e092d63ca7c511bc91fb5ee294297a1e5a5bb19dd7b7919737fc29ba1358d81765d028a0c318fa3610df9b81640aaca0084e8de719b18110f0c2852951146a06679]\n[e = 010001]\n[keysize = 3072]\n[n = 00f862bf8a5740d51ad11ed85d616e7d7b363ae03060d0a8c7ae4175b559186baadb34f9bbcbb2f4aa399b1688b13b56cda7a2519a1cb7ba1330ecb70899b7f2431b898006f3b1f1832b65c2520a8e1f058938984b7889817fdd6e3402b018e408b98f80abd0a0260eb7f9ecb660f7b7f041db038af1ff3816256ad66ec67f8837e94bffd4e202fddd58422ae968b233584786ec7c9bdadc9c2794bbdcbe374e6a24ce6622faea63f66ea5e73b8592cdba6697b7ea56795e948aded2200b5975a039be3a7cfd985080b4f7d9c00ea3d0872b688c059ed637b2d32492c82e11d4bc2919b1dd3f207dfe6862a7964fe44a77ac8106a8eb3939b242346e43ebaa0542702a79078aeebc4e8eb6361d3fb421052325d890f70b78c851b954cc810d47ca0ed86dc9532bdc55468d30f59ba00bd5a606a4c041d8718539c6c2a9ea2156aa64b58d0e62dc8077643e0afd2c36e9270717eeb976dd6dedb5c002e530e27ce83062b9936d8332e61b56cc1cdb9eaf702faecd269f8cc5a8ac2738b6873f836f]\n[privateKeyPkcs8 = 308206fe020100300d06092a864886f70d0101010500048206e8308206e40201000282018100f862bf8a5740d51ad11ed85d616e7d7b363ae03060d0a8c7ae4175b559186baadb34f9bbcbb2f4aa399b1688b13b56cda7a2519a1cb7ba1330ecb70899b7f2431b898006f3b1f1832b65c2520a8e1f058938984b7889817fdd6e3402b018e408b98f80abd0a0260eb7f9ecb660f7b7f041db038af1ff3816256ad66ec67f8837e94bffd4e202fddd58422ae968b233584786ec7c9bdadc9c2794bbdcbe374e6a24ce6622faea63f66ea5e73b8592cdba6697b7ea56795e948aded2200b5975a039be3a7cfd985080b4f7d9c00ea3d0872b688c059ed637b2d32492c82e11d4bc2919b1dd3f207dfe6862a7964fe44a77ac8106a8eb3939b242346e43ebaa0542702a79078aeebc4e8eb6361d3fb421052325d890f70b78c851b954cc810d47ca0ed86dc9532bdc55468d30f59ba00bd5a606a4c041d8718539c6c2a9ea2156aa64b58d0e62dc8077643e0afd2c36e9270717eeb976dd6dedb5c002e530e27ce83062b9936d8332e61b56cc1cdb9eaf702faecd269f8cc5a8ac2738b6873f836f02030100010282018100af0c90e6c3454aaaa2947571a217c7514d4fc2edf55d3885b97622a992c7d6214c699252da651d6ed63849723e4d8e88534adeed98ad96f2ad79362956843fb531b3fec9677791b89a9e158bd22a850c56bfcefce94f2737e0eb28b6783aa282cf9ba5d7f0a8dd0964793b6cf0fbc3e30bd67931b408e5131e7da3efdfeec3267c41766426806b3f52531780f5ab18ea6f4654662144e6531ac6047bb686adb9ba84c790817b2cc5e10704e67ae5921d7aee13cc8ff2eb480e72a86db2f1f2257cfad6f49e8d9217a195bc077d7dfa680d04516d32cf4cecda512904fe4ccf5acbd0e04439610a7eff24ad59835f4328c16f91246b77d5b13466fcced5abf4f2e1ebb1c2c3b4cca94d676daa64e9212f63043a9a18bec0ae0a0b96722b8d3173a360138b0c532b298ca44dbe24c42e874c0a336f614527ae6b9a0ab4d3807e092d63ca7c511bc91fb5ee294297a1e5a5bb19dd7b7919737fc29ba1358d81765d028a0c318fa3610df9b81640aaca0084e8de719b18110f0c2852951146a066790281c100fe71517b6934df8e250e6831384f1e0655c9848fbc21038c9e0957edb79c393bb5b78ee76cfffd4a585a5b8bf0ac7bfe737a499328ea1601b33e055947b78248e46635ca7db1a359d478c7c6df814cd3df2a30a9da62059069af414fd21974306962e64480b7ae6d200b555f29f5c5f845d17d4692558420dff3d08425bb0379b0a16fa5954c5465996b2399b9588d6eaa21200b7ee6521420674dba45ddc2e3c5a939ffe21f1f5526b324dfcd613078ffd2650db38ebf0f8b10382753ecfb330281c100f9e7f07f5174344988c28223f2feb9aa0c2a2b95b8b106a76f0e18efd3f89c574482bb8e2b44bc68b1f824962d37fb20139296a418eaf017b51143524ee28753a1c76c7aa3b2802797a4de43075300ee1d6435abf9a20aeda9e59768eb0f942a42f07ff53a7d239f0575008ca2dc35fb782d4f04e88c59a32fcd66c8719f9c75f93ab2bd6463e11741cf334655653a156bb1787d2ae728bf20a779cdf255b079c5d011d3eb0d6de8f81bd034b270455277a02d5bc8fa71cf2297e694e39376d50281c01469ef09a1b536426742b2a5504938b5756887942899d57910acdb3b1d42116d72f4d928441c7dabdb4ed48d73afc2faf534d876501007d7f71380c65af4a42548fdd24efeaaa3da6f2b898bb11ee4951310857afb246621e1f8c79aa9d694f5d55eb3eec70cf59797bc910ae388ee6b2eded1d839a156ca746d514b68e38a31d733fc8b22614f5c1f64f324403494944e5dfdfe2e1e387398edf0d4830a79ba607f6541dc5876e1140bc7679548b8e4dc517afe106be17453c9e757706a50f50281c02b748d79562ca2baf6b0fbf84c54c6ec2", + "ed95662de8ec9dd6b8e43ffd01836f765ce65d6bee760ebc3a6a696069ee968167f32faadea8c7d52db019dda61c1ae653f4c39b7255eeb838f03a71c2aeeca7909e7db53b93db53e09d25e4821995e0fedca12566d54385eb68db5e6cbec07224a9ea6f7d90fed346ebf24b3bd5173a236f6c5c0232e0ce140aa65dc8b91a20febf84bab9e2e93ad95f1b442236c60806941f05bbb261590af257144660967e1ad54b5d528d789713680bdfb24b5510281c100be472f1ea0f97f2ca2a31bdb65a88d766b3d980a80151b34bda701bca3d1ebe8999566753b224c0d67154369ba297fed337edf7d41847eba2314f40ee6fd8bf3d9e5ee66fee41e91973afa417a2defc30e9c0464bcaacdf07b199c9bc7fd61749926315228c4e2cca77b42c770e89b224bcf4b3b9cf33bf4b6ee57b8559157c968c76b48226026f150ad9480460eb2eaaf411f033b9c3c88e9a354b100a9f147f098c9e0ed6f2036e835a36f59ee7b693f564072b7fba657b3d002117550dc53]\n\n# tcId = 42\n# ciphertext is a simple fraction\nct = 2ff41b212cda4ee5aa5d933257568ae663a1af12ad6adc5ff4136689089ba74c250f3ed2f597d2099e138d5325e89d40d04ae6ce25fb76952d1961acd9a1d9a26aefd557998890a878f19ae27ac851f5c964dbf46d7c3f956a239b2e8118a7c863ed3d327f56f72b5e692719b4edd6cc7554394ee4a4781e3f26ae68f54eb24775f4586bdb0cf5aebec1d526714abfb011ca31b8b3a63a129b140c5c0f785b5e6b82301dfb5c2e92e78e554d99c65f6e83c9c389764b0f3e5835399777faf76984fcaed6f0c5d747017233c1ba2b5cd4164051f3467d20c2f5953529f0abcb17576bf197439548e8c3b2bb81f385afb20ad2cc7afa03a3a00d39ab24b1873b76d52ceb3c1092b256dc996d33a49ddbcaaa563c80049d9b44e66626ed05009e171bd496095dc6905fca5a1f705978462eaee69308d45e2ff12009115a741194ba97aa96d96edfe9ce1b0917d6b70c365ffcff99d31869eeda7d44a11f39d9d0178297732eb6d42994bcc589bab94156b1a97193dce42ae56e760947e64254c7b4\nmsg = 9051bb204d84e7baef267b01594cc88cc3e34d79062cc06eb5f1cc80c56337601a1ae1fdb4731ea36e5dc6083b5e43e386ac4fc6ddf5cbc65f7f97f2294b8db7824906b703ddad27d8e2cdb5ec377112a0f953cca0de2eb7c62e98740af172c44454f9a4313e8dc76e02df38b34a869eeb209068028f30c51a81cc629ddece40c25afbc6c883ef0c25139d46fdbf6d9c11122b6c8cad7c5435e26958fef2113706aa96d97abfe4971217ed1f0fbc4461cdea350b4cde4cac230e2731e835e7ed4b\nresult = valid\n\n[d = 54e134d67551a2fd96bcd39bdce23a29e71e6b69717384f5ee352c22addcf6a472c1f6d98ad76f11936f2714bab0571f382f5bd92a45fd1341b147294a1a0d55ce8cdbc7cfe690e3183a45fb40d132bcc7e74bb5b6f6b2aa945e8fdc497ef4ee3b39a177130952e2e3a9dcc66d2c9c46eca36362adc17fcf4e6a84c2832aef1a3935efc440e341a0323c158ec30a124955dd6d54d6e2b178dcb259b2ae521e5224cb8feb70351eebbe7b6debc7a8ed626406c1e7505e0391b9499614cad29b5712b0088d4f82f460c94ef6ee67ee087bc34dde2adda93f37fc023830bb8aa8c817cd2651f90ab66b20d76a5b8e18f4085eaddc17951e8ec46c023333a5dcebe2878291ada5e53512c1023b4563b30422357bfc97db91c5ec89732f79a641d778025be2c1c26c501b76ec70d9d59b395ba026b4d41e51377dc111b82ab746ff56b5c576db15b186b895d4c7adda2a8d978ce458ec7ccb303565fa606e1a5ba417eb4de307405eaa9fcc922809aa40003945745b20748b114ddaa4aa3c7eed5979]\n[e = 010001]\n[keysize = 3072]\n[n = 00a762fdd1421dffa3c28c13d16254f57491198655b6597bbf5934254060220d4e7baf7fa93e8cb89b608cb5db1d88d87ca9bc8926cd488d21c8cd96d728e4221bcec03e471913a82a682c4b80c3d187ec2d4b9a927d2e11e58a323df0ae5d0ecaa427624e489d017913418cbf450d38de799ecd26db204fbfe554893f774b84340b8e56dcd3182748336dbaf484e6dbfba814ea68f71d581d02f1baa20f4dffeccbfe57744bc5d981921997d4d7f0f0cbde350f1b437f72e0276778d7c200083729f0ccff8b674326cceaf07ada4cb35c1c940e085f86239c663151848b9e790be89ac1af33d65ea0868895b02d243599802e8f7f04d2adde2b38a5db87690d2198dcc767fa4dd27ed380d8a9ffdd197bb40e72238ecee42ac6f92dc2d5dfdedba43b85c083bc78b9a30e736eb5ad4d695e34a05b231b2f81378ae33293f458f16c4e10be9d26b9ad7902f243e70ea829fb68a98134d2596c5c866e3702889770145c1e5c918b254f5d1990a398b6b8b546a3ea95874b5a0fbc759bf09e4fad07]\n[privateKeyPkcs8 = 308206fe020100300d06092a864886f70d0101010500048206e8308206e40201000282018100a762fdd1421dffa3c28c13d16254f57491198655b6597bbf5934254060220d4e7baf7fa93e8cb89b608cb5db1d88d87ca9bc8926cd488d21c8cd96d728e4221bcec03e471913a82a682c4b80c3d187ec2d4b9a927d2e11e58a323df0ae5d0ecaa427624e489d017913418cbf450d38de799ecd26db204fbfe554893f774b84340b8e56dcd3182748336dbaf484e6dbfba814ea68f71d581d02f1baa20f4dffeccbfe57744bc5d981921997d4d7f0f0cbde350f1b437f72e0276778d7c200083729f0ccff8b674326cceaf07ada4cb35c1c940e085f86239c663151848b9e790be89ac1af33d65ea0868895b02d243599802e8f7f04d2adde2b38a5db87690d2198dcc767fa4dd27ed380d8a9ffdd197bb40e72238ecee42ac6f92dc2d5dfdedba43b85c083bc78b9a30e736eb5ad4d695e34a05b231b2f81378ae33293f458f16c4e10be9d26b9ad7902f243e70ea829fb68a98134d2596c5c866e3702889770145c1e5c918b254f5d1990a398b6b8b546a3ea95874b5a0fbc759bf09e4fad0702030100010282018054e134d67551a2fd96bcd39bdce23a29e71e6b69717384f5ee352c22addcf6a472c1f6d98ad76f11936f2714bab0571f382f5bd92a45fd1341b147294a1a0d55ce8cdbc7cfe690e3183a45fb40d132bcc7e74bb5b6f6b2aa945e8fdc497ef4ee3b39a177130952e2e3a9dcc66d2c9c46eca36362adc17fcf4e6a84c2832aef1a3935efc440e341a0323c158ec30a124955dd6d54d6e2b178dcb259b2ae521e5224cb8feb70351eebbe7b6debc7a8ed626406c1e7505e0391b9499614cad29b5712b0088d4f82f460c94ef6ee67ee087bc34dde2adda93f37fc023830bb8aa8c817cd2651f90ab66b20d76a5b8e18f4085eaddc17951e8ec46c023333a5dcebe2878291ada5e53512c1023b4563b30422357bfc97db91c5ec89732f79a641d778025be2c1c26c501b76ec70d9d59b395ba026b4d41e51377dc111b82ab746ff56b5c576db15b186b895d4c7adda2a8d978ce458ec7ccb303565fa606e1a5ba417eb4de307405eaa9fcc922809aa40003945745b20748b114ddaa4aa3c7eed59790281c100e65a90db8daf3545d1746374614d0cb0e3a7d648e11b473f2b68c6307642ad3231bdd574a37b5d7c497fd558215a0e52aedc609236a57e8413abc392d76102b3f00d9112e5ae124af804c9f43af0af1e5ab4bc704d75dfa838808b7bf19de5eefd0cc993fc9edaa9bd7d1a380a7bfe48a174e51ea9f79bfd44653e832d5f5d167f865f03fb5d5b79ce23fb754b00d5da41fbcb907d0ddd51e0f37c1aa03c775adf3864dabe0b04173aae39e01e8bf26c0f379ed659966c45394a4df8fbf6f0b30281c100ba05c47bfde6dc10779621d132cfbfdc1db9c21d5dbd58f22f3433d40d0354957b91d6c057a3ac3b05be859b7be3e57f234bec2095a641bf4e4eb7b3af33e98e2de19730c75abef27ec4e782edad8d12cee841b2fa08d2da54da80e287645a92380ea48723950f17b9132c0a39bb5fa310479da25cb4347d3878d9ef165516bdd63b42a514f9afd6dee14b5251e27456e663b9855a5e6ed583bfb2b7b869cb65bbcee30aa99a7f70e9c3402de10dad0c5b29364983d10fe4c7d8c60727a2d45d0281c100e2304bcd4a72a07cce0edb198bf17c64b52638e3972691ef1550ec4ae9d4cefc5a9b6cddfb2947c2a2e94334268ba744c92edc24b6440ad6e5f9e3306d0c74fafadc577796d0366626e38ceaa475717efcd23bb68a591424ba567ea055c015e775d2f89cb791c464a80c0f92b7b8c917c87260089c1ce6aeea59ffe80ec5754282360f56799c521668b42c56202fd1cd5ebd4045c085bcac89968c6618b1470193ee6c19de4232e21c5cb7b7ba46f0e3ea8d530a672dad62cbbe8a91d1d7c8c10281c100a1ed5353fb7872278371948e5e04a9a619da11372eda1c0af53c23c17a7263b69b921fb5de9402e07de792b5fdea2b63b87de65596eeda5c84f5d0c300c7d78e8431d3420ac6db608b292bbdb4d755ee015dfb92a843f60747c5cc5b642fdf0758f4a6135ccdec0d627565e8a0c8923f87744fab7db6ffd9e0c6922ea4e9fc99d35a52711109281f8a73e2f50d826a731aa9c45c6885bb44f1227597a757b04e2665b90d1705fdd974231a42d59ce9fdcf7cd85cb5f9ce3400229a7eafe9f5a10281c079ea8caabfe7b48f32bcbb6d37ddbd14b293206e2ef643bf24152f6547da9f7026e39c7de412258a19adbcd40210f0b1611ab80454ba2380f585aab16c24e40bc5cbb52425f52b8bedf18e5b72ab62ad842f2bef53e26ba2a8941a85b2d52f81e6ba0693f880e589f0408ae7f90e178e1448bd4834c45593e79b694ffe9ac7acc80f2d3bf428e07ad533e2aae4a6ed8af55fadfea42bafb06e060497034681e6850725949be9ca50bbf6addd84174a96e44c3092c663253009f6e1e3fbd0b1a7]\n\n# tcId = 43\n# ciphertext is a simple fraction\nct = 4ee87303363cf42a6101eeef2f74c0f13ca704084d68060f231d0e1309ba40067491005eaee0e4e2d6e564f38b186125cb02555c7faf83e48ed04168ede1a2ea2cfe0fc689c814a76820f60d40ac2fe082f883e837c3ac574baf0f53bcd0b9ca80cce0120d0863aed4bfc6366ecd51da4098f6b7dcf0ab9ebaed12f6334acde0bc4cfe8dd5bd5850aec99aba4dc92a727a5c673f16e3753296b3c26483f2870055d46b597f2ccf225f62043e6bd2abe864ab690b99aa09eadd4a2f4ee5495bd4f0dedfdcbaccd4a0def6f6fd93e5be995a3eb0864facfae1b2cc83f134aecb8f3c4aa81b945f379d507480ba94ffc13c936b2fc649f2e6459abb5c8b982c43dd4161021e657765fb08c2486a5db2cb61aa4e45c1ecc2bc9b7d7fa98a99713ab85ce8a9f2c4849ab48fcf6b90c08c9e86ec5128f7e4a1a748ee32cbe1d9d5950e39f7b63018d9918dfcbbaa417da93a4d808479147c0c0c108244deb1c618d381561c74f2f093224296b3421655495a4448ac93610333683100bfa4908b7844a2\nmsg = a3358105f31effa728ca6a83fc80fee55c873991dd508b69dad67dbbcc48ce438a78433f2c017940c8a23ba0dcd5594331c7466b34b57e9f45651b9e41db0bf7a51fa5ea668762a289b7beda3132352a4ade02a18dd153c6f6ce69c56bd80b58f4faeb0", + "2456d2079d25f1bdd754d8601bbd66e8c3cfdd8106396dadf322706646312306ee36f46e48cec77208ad06e19d9991ceefbef5e0f29f13d4d93b353b74879f368064b0b76c317421756d5d553bbb6b4eb36fe9cc5b2071d7b30c636593e569662dfdb08abaa17470cde72ec062f109a5ac18922b380e28529ec30b7653faefa032342874a923bfac463dfa8783e3a59f387ae3e44009a2b7023611c6d96732ff7cc8abc1f72894ae2be08ad23fce8a352be899f60df068a9ecedf82d164bb1b6da210af9ae6db9550326744b09f3c33e12b3f7058bf\nresult = valid\n\n[d = 4c52abd7579440ef5577209ba63655b93ec8b45ac124240e28e59657aa6b0d979cfe2374891c9167443d58cb4ae1523ff9231338fffa70b4501077702414807d7502dc327138071156239f9ff6c33e59543467098df8f15da73593821ddbdd7d75a2659d274ee4ff04cd1b54b6f867a48b6a4c6bd42d29bd8057f2e8aed167349e67445dc4ee3f10debdb440f30e51f6a0bb72bcbf32bf6f4d58360e2843628f771df3ac84e3b7eb61c8d355125f35147a3cade3091af509d98fd3b9f2c2d3ea84f89f2adab3308015e8777a2d11d60a664f7c0493eb5113a6dd7a1c41fae59de6607175f508f376103def6ee0bf7c80564733d3bdd461a0eed2d2f5c07678aa31bb92020afde77ef27e5923560e9912786d980839b71ebb694419d6c26717a5c3829ab28d5c9ea3f3c3896471a0f22c8c72cf927cbac507e6688509d580997c622b92c01a6dae52667d1737200e7d497d99dfd98fd904ae22d93e12d214c84f880876007b2bd2ce180f511805a7fa8a5554cb54748fe6ddb4b9c41028078d41]\n[e = 010001]\n[keysize = 3072]\n[n = 0090f38222fb4ef791c721f67729c434b2ca9232e32aee344d9af50b677ad78dd549c8832e1e377340f083bb56a57f7d349409b4c6b903d54281798331ca348eb03f263323710c32c0cd80624ecd8c3fb7052d196a6b614c0b7562bf199e79b07b963d63f824a5e9410798f8cd7b55a8cb59d0c1e0ba4d6f3593d9176aede26e047e24fea4861922539b18ccdc798a595b3584a3dce1488b20d3562b6e589e6c1849378a914a1933101101412dc537a29cda694906ba8482f56559a0397f5e258dc82e69495a5363c833ebf18aa39a172d2981bdcd9f1a0d09f0e20134cdc6e0f1e1706abc8360f69d96ee54462afe93bb21ff35133baad6e390be2524e00de7babb9f0ec80d08b79ba3f9f1fb627edbe15f1fd989d9472c40126476d7ac546bfc17e190bf461693767eb877736891c72a220f6004c6a501e97a82479718d23d314200d3ddc7bbd67cecedaa21df341598a8fec3f6c1dbcb0d5965373571cf502d84048d508cbc145e7a771746abaf40cba136da78c194c124b7c3e898a7a848cf]\n[privateKeyPkcs8 = 308206fc020100300d06092a864886f70d0101010500048206e6308206e2020100028201810090f38222fb4ef791c721f67729c434b2ca9232e32aee344d9af50b677ad78dd549c8832e1e377340f083bb56a57f7d349409b4c6b903d54281798331ca348eb03f263323710c32c0cd80624ecd8c3fb7052d196a6b614c0b7562bf199e79b07b963d63f824a5e9410798f8cd7b55a8cb59d0c1e0ba4d6f3593d9176aede26e047e24fea4861922539b18ccdc798a595b3584a3dce1488b20d3562b6e589e6c1849378a914a1933101101412dc537a29cda694906ba8482f56559a0397f5e258dc82e69495a5363c833ebf18aa39a172d2981bdcd9f1a0d09f0e20134cdc6e0f1e1706abc8360f69d96ee54462afe93bb21ff35133baad6e390be2524e00de7babb9f0ec80d08b79ba3f9f1fb627edbe15f1fd989d9472c40126476d7ac546bfc17e190bf461693767eb877736891c72a220f6004c6a501e97a82479718d23d314200d3ddc7bbd67cecedaa21df341598a8fec3f6c1dbcb0d5965373571cf502d84048d508cbc145e7a771746abaf40cba136da78c194c124b7c3e898a7a848cf0203010001028201804c52abd7579440ef5577209ba63655b93ec8b45ac124240e28e59657aa6b0d979cfe2374891c9167443d58cb4ae1523ff9231338fffa70b4501077702414807d7502dc327138071156239f9ff6c33e59543467098df8f15da73593821ddbdd7d75a2659d274ee4ff04cd1b54b6f867a48b6a4c6bd42d29bd8057f2e8aed167349e67445dc4ee3f10debdb440f30e51f6a0bb72bcbf32bf6f4d58360e2843628f771df3ac84e3b7eb61c8d355125f35147a3cade3091af509d98fd3b9f2c2d3ea84f89f2adab3308015e8777a2d11d60a664f7c0493eb5113a6dd7a1c41fae59de6607175f508f376103def6ee0bf7c80564733d3bdd461a0eed2d2f5c07678aa31bb92020afde77ef27e5923560e9912786d980839b71ebb694419d6c26717a5c3829ab28d5c9ea3f3c3896471a0f22c8c72cf927cbac507e6688509d580997c622b92c01a6dae52667d1737200e7d497d99dfd98fd904ae22d93e12d214c84f880876007b2bd2ce180f511805a7fa8a5554cb54748fe6ddb4b9c41028078d410281c100c30978cf3b781b5bfb0bbc13f1a4c9f45a3339d030e9bb1bb07efa65ddef3b1f119759e9f7f997b049d84459c78ce659adcd5a28618d9b76f51c8f6053695e0e3027eb19c123dcdb2798298faf7bebd3b76ed3cadd2f192c5f6c269081dfbe2a8643adb5c6a15a2469fbad3d359b443e8492d4049863c87487d44122a28b410cb84e96d67e42a612675c7192c19d442d57c702166ce73fd81cba85ac30ded1d74531705950121628a77f2bd1125b4c8dbac1bd368cdfc2f4a7a4b24de0bbb8a90281c100be4241ab747b3bb2a6aaa2f12fbf54ab1ccd4be7b595fa0b0936c666fcba2f266f1f3f204d6484b5a9ff1129e6e2315f88bb966845dc4f0f123db7c52d4497ace2124edfe78933adecb81bac9a567a2ddec437e1cf33a37b9e51fef301fef9bfae75191855a72a6b7e788034470ac7c8854e859c71752bc96f4f0324c48a3bfe964749142091aa32e05fd48e1cafda69212e0b070f1ccecfeeb790b746fef4f1521554bf15a3dd8de7e0dab2c45372b9e15c273fe46046efe903e04fbb6208b70281c03b8445707fc64c1b0a85ef33ead68da65a6c2d6541b7e1983688d92282d241295ef5dfc34d1fc6514e87877c1a2ffe0f39c16394d508207bf19a708a4589eee0c78336f41a03369f4dfada1bf5c20c1a046cf6867e6ea3f0ed8194571ebac74e34c0ac5ebf2977d78adbf966a75825402ab69faa735267d65fa8bee3b1d46ada55d7eda1b0cfe7dbcfdcdeef98d3c3fd4e3ef57d2068850c0ee04070664d689d9788d9aef7873d69d48b3334ceb43bad38636cb91bce20b106037541dca58c590281c033d7d611244258380c163f243d80834fc51f63e9959f726d036bbb9060995333c3dfddd1ad85106c78101adb3220bc976da8c00955cffc72fce37869f035daa6af4b91d68d3ee3a826f2dc07a25ea21851b5620cd3eb1c471912fac7b8e983a069a75ad938adbe6f601cf1c24d01710300e02ea43c7e531a268c7f2ccba96743ae2b6a8c637b8dc72340b9a8a7c47b5d5e3f2f9e12ce24c4a025c0f7500f352b74d47f2d3a76566ece9a84bd65a5df832b17735283a6806deb2eb536c4b6a7ed0281c0791f6fbd63ee2d256dd93e9ffa275096a766668ec631fb18827c2e4f6af927a5b72007bcad5517cb40918703fd9f1c3a5269eac842c700a61de731a68f91da4a76a270198f404a4c2006afb9922b67e9f4912bab722ba5d156dfea40bf5e328387f8ce5a894a982a1e9890cdf0c855228095aaa250cc4ad775a8e85edeb8867e5bbc95ee727e77610992181d7d05dc009b190f49ab2221e433172a1ae3f91b377df7ea38b6c495087f4233c7364ef6c003beb65a83eed8cf249c280d4f92cdb8]\n\n# tcId = 44\n# edge case for Montgomery reduction (32 bit)\nct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000\nmsg = 3bebc6506bab5270d75c0ef65ec469f0517365b2b5\nresult = valid\n\n[d = 2bdf9d823724173cd8b77b068b9c948956b282cb750f90bec6e281b5ac9bf4f58e0520eff21e95765c4f08f749cfb043d2037b44a11ce1ec7df96e9fbb982814df53fcc00c3204c7983fe5595d77c20a566edc3ed3b638ae64d69e288ae44e47792f20a7ff4db0db19ef8705b27219376e90cf9beaa56bfed0de2c887ddbbd1d2ee7cd0edeeb28e2d02a119936656bf25f5cfff2f176020d74be0913ef20587a872e8f969d8da98d829133e99168a33f91fc4f5d151562bfbb1c8480d04fef3b70b126194feae6c917ea5f4c737af9efb31766ae6c3b462637f24a20cf16a9bbe6f4b450239376a5da2acf78a9c26fcc0e320c25588414ccdbc8c2add7094a57072f591b076ff21a9e1380e3e280aeed1d1aad830b23b2f7aa6abd2161d338f1c2ddedc4c52b35cb6bcfc16b05d4ad3110c95598aeae0fc095c196ba4f10320b868fe18d39eff719fbfb8e38c3b90070203e9a20807a44ee593fea9eff2828f9123a5178a2502e1dd18f7990bf758fce88e5fbd8a6a6591bd2e900ef9afaf881]\n[e = 010001]\n[keysize = 3072]\n[n = 00b5fbbeb378429939f0840398ee088ead9d2980ae13e180f1feb97f07e12d434c22a6ef1a1a6b306daffb6b4c642e0c801a0ad8142980c319caf3a18694ee8f9233bb7f390c58ef6f4bb0a22ce4ed74d2619f9b1e336952a493d9299830f2051dcdd0758d27e2b55a006e73b4b6e40fb576fecdc8b04e2395a91b0c6c032def08e119fcff4965e0dbb92d441a9272e1aa5fe8a83f04ae869a1955200c51362cc3faf6635f7bdb4d9076b6178193ac573ce06f7eca89f4b867249f2adc6eb533a672df58f4f2097a2537dd1391d9c628a740e39a08c1c37036ba90c434a2c7d1f47b1d3dfb9d1bcfc3aabf3464315f22fdfb2047404cb304b9ae3833af71085ce2120ad01ecdd661471f85d60dac9e73bf86a9dad04b1bb405391c070c0d09ced49e4671c56affd2022aabda46151c790ac6e6fb44281d311a4608566941e9909f8a586487a707ee25ee30e53e26a2a0a99698ee042f1317bfcaf3585d42440a92725181c892a50a68e848791423ce7e6060d22e0118700f8f64df832f738ff1f7]\n[privateKeyPkcs8 = 308206fe020100300d06092a864886f70d0101010500048206e8308206e402", + "01000282018100b5fbbeb378429939f0840398ee088ead9d2980ae13e180f1feb97f07e12d434c22a6ef1a1a6b306daffb6b4c642e0c801a0ad8142980c319caf3a18694ee8f9233bb7f390c58ef6f4bb0a22ce4ed74d2619f9b1e336952a493d9299830f2051dcdd0758d27e2b55a006e73b4b6e40fb576fecdc8b04e2395a91b0c6c032def08e119fcff4965e0dbb92d441a9272e1aa5fe8a83f04ae869a1955200c51362cc3faf6635f7bdb4d9076b6178193ac573ce06f7eca89f4b867249f2adc6eb533a672df58f4f2097a2537dd1391d9c628a740e39a08c1c37036ba90c434a2c7d1f47b1d3dfb9d1bcfc3aabf3464315f22fdfb2047404cb304b9ae3833af71085ce2120ad01ecdd661471f85d60dac9e73bf86a9dad04b1bb405391c070c0d09ced49e4671c56affd2022aabda46151c790ac6e6fb44281d311a4608566941e9909f8a586487a707ee25ee30e53e26a2a0a99698ee042f1317bfcaf3585d42440a92725181c892a50a68e848791423ce7e6060d22e0118700f8f64df832f738ff1f70203010001028201802bdf9d823724173cd8b77b068b9c948956b282cb750f90bec6e281b5ac9bf4f58e0520eff21e95765c4f08f749cfb043d2037b44a11ce1ec7df96e9fbb982814df53fcc00c3204c7983fe5595d77c20a566edc3ed3b638ae64d69e288ae44e47792f20a7ff4db0db19ef8705b27219376e90cf9beaa56bfed0de2c887ddbbd1d2ee7cd0edeeb28e2d02a119936656bf25f5cfff2f176020d74be0913ef20587a872e8f969d8da98d829133e99168a33f91fc4f5d151562bfbb1c8480d04fef3b70b126194feae6c917ea5f4c737af9efb31766ae6c3b462637f24a20cf16a9bbe6f4b450239376a5da2acf78a9c26fcc0e320c25588414ccdbc8c2add7094a57072f591b076ff21a9e1380e3e280aeed1d1aad830b23b2f7aa6abd2161d338f1c2ddedc4c52b35cb6bcfc16b05d4ad3110c95598aeae0fc095c196ba4f10320b868fe18d39eff719fbfb8e38c3b90070203e9a20807a44ee593fea9eff2828f9123a5178a2502e1dd18f7990bf758fce88e5fbd8a6a6591bd2e900ef9afaf8810281c100f80e6711f5d388596aa61c5ecb46b63b25e87b7ad6c2a6ac79d34a26df22e70cf82433990f9f2820713e4d3f15c774717eff4439a29c052a3d30ee3a6455f442066e018ea85239134382c81a5fbe60f6ec45de0036731940bc85176b691a097806ecb890eed718b9cf53e59f624ca857482c7a420d5e39c4355cd833e978b507e45265e20df14b6e5ab99fe595083e77ec6632304f5e746f87fffa140294c79067fbf9c8b56d9581e414e338fe68298e910fd1d996f303a997770fca4f44cc490281c100bbcfab12fa118ad019a26efcd4911dff03679531313ad18d65068c8a0ce361984d6e08e173e4b4307f5bace3a12e467cf6856df8fa8f96aeaba7c41e6f7b4c3bb1cfdf600c738a69c74d9a56cb2e5742404ed12aef16cffca795a5ad5c2e97866594d1eb33b3a0efaba81b1a762784e8ee6c1c21886ccff41cd1a887f3098850ddb476341fae03e6940634d06f9d2af51f01b2e5fa7dfaed42d961ac8252b5f6103de163bd724c1abd7902dcf1b5695ce1f663f422c095215cd1c50bc51c4c3f0281c100b670995bfb4a762915a8508b63c48138e57ba47dc74068a7c7fe1fb6913cb164b788a0ae7d6fd86a6bff9f7ebb7cf3e699ba132ab4af3d9940622184aed10d12167a8808ad41b41ab7f79346da8e41f0b9fbf4f881138c4a319d4d894146d61a0235ced541e4cf99b1a409e97cb9d6c24321fb5563519ef8f12a7515512ce73083bc1a94f51e38155502db58569136a8ab24cadaff35003c1b71a8335966a5944ef663533c24f9e60ba3552f50e5b952d2dc28c2792408d88dbf12cd001a20890281c021e3dd68f53b0923781cb98e620535b678b4ce552c1f030552bf95c8ab7eb473b9352be112faa811404a18ae92bd38f6ffbd20151791a58d2b6880994560a866f5351f87c3776df89c8042637b1287a86ad64e244334889f7cd6222960430010be6fd6596ce0f31f8c882f2bdd3a505f7ff67e3506db2bc34f17fe235a15d445535c67200cbf67f0c9b13d0287c182a8ecc96fb0d43cbb74e8e5351cddff72da4e1ffc75f50f94f01654a9d198c435990f2558f00afd596bc5c60c9a8d1d081d0281c10087f3fee284c54a91f2a0f746a49d088f7b46428bed974e9e20583931316c66a0f641834fbf85b78781704d134dd371ca57a2eecea5fd04239991b56119aa81c41fa260c81c7f58d2a57c897f4e08156331fe181a1ff587e84c778b80c6947abb9074c3e5e3ab9ecb901a34564331c89ad6d7734ffaa209913aae4c48d057b2a0ebb58871cd6c7c37d5e17aa7a7de3f145a7fd7d3dfae8efce0713ea23d65ea731ba39a7ce995d89e85b6353547528a7f2eb00b2723504ac841a4d3126d00140d]\n\n# tcId = 45\n# edge case for Montgomery reduction (32 bit)\nct = b5fbbeb378429939f0840398ee088ead9d2980ae13e180f1feb97f07e12d434c22a6ef1a1a6b306daffb6b4c642e0c801a0ad8142980c319caf3a18694ee8f9233bb7f390c58ef6f4bb0a22ce4ed74d2619f9b1e336952a493d9299830f2051dcdd0758d27e2b55a006e73b4b6e40fb576fecdc8b04e2395a91b0c6c032def08e119fcff4965e0dbb92d441a9272e1aa5fe8a83f04ae869a1955200c51362cc3faf6635f7bdb4d9076b6178193ac573ce06f7eca89f4b867249f2adc6db533a672df58f4f2097a2537dd1391d9c628a740e39a08c1c37036ba90c434a2c7d1f47b1d3dfb9d1bcfc3aabf3464315f22fdfb2047404cb304b9ae3833af71085ce2120ad01ecdd661471f85d60dac9e73bf86a9dad04b1bb405391c070c0d09ced49e4671c56affd2022aabda46151c790ac6e6fb44281d311a4608566941e9909f8a586487a707ee25ee30e53e26a2a0a99698ee042f1317bfcaf3585d42440a92725181c892a50a68e848791423ce7e6060d22e0118700f8f64df8330738ff1f7\nmsg = b747fa5381ef690edab4c84ad7ea4b62c60a6531d488ffb7a25d460861293576d5dd1cbe10b325f611e2668f43f1b971bbf0216fe1de39dd040909921411f7bad92738926a63a62d53cdc5f2099fbd7c8d8205f1e3155c4d86bfad77ce616b91a58afe60010104b93496cdf17065ec126bc2776a6c40a74fbf4a5ca049ea4fc221674aa7c1f231d8229d0ddd467dda62c35596fbcde1444f53b3e9ea83bf833b1a2501f025a5b10a56f2e188b91342e7620605d2dd08511044df2301d3e579b10f46965ac93bf427b14796b51dda2baa94ff226aa3a2fde423c79a3b52aa253c863d48e8b868a615a9493f485650ea68fa7c295204240b58af70754960bd5eba203f32415088cdf429e62e0e9b8806a647ebe3a5ffd1c4fbb85a75476d1cef4a48cf7768bf59d0af5d1e6101a69fc36d1591a3b08cc11debdc21c93d46deb0b11f04f55563e13437ea55200b357900e5685addffd74f3c51a9\nresult = valid\n\n[d = 008134100911fcd4d7f821dc71fc0c9efde7c321ffe747a5c169338747f76f02c314489c9c8ffcc149af378116027f6ba6badbbf4e2ad58ea394bd346c4103b929816e589190b657967db55d04cf0264eb9a1ef5ee28c0b8c2709246c5495ccaf5cb5c857eeb126db56e062e21f7401f7892886d53ff28b3888815dcf2b856e715bc9c0b10b2c7679d9913df47ef79e88207b42a93bc82b6e24eccb3260cad74253b98cf6b00f042257bed105cc3dae4f6470f3c641b5ba174cb3d9b2b0cc4b4c1373aedd0ef11bda1310a976809843512523a61a7112af70031541ae4020ee160026ee007bee65c169c03ef3c8697cdfd8b1b21a227b8f49df340abbc1df492a0cbfa4f4b7fd5e58fe6dffc540ffea31c7fd86eb4acede0eaad8101434981f3716488e5f7d69c6e57c0f1c474facc718e966db0558ba3e304956ae2e22dfeba40c21a188e7e6d4b69d000c106f5d718501f987fe3f8bb3212d7145d42acded2f35efa165edf1087ead05dfa52c38abc3bd17e1895abadb0344092af20daf85d01]\n[e = 010001]\n[keysize = 3072]\n[n = 00c45d243558c9b24e526f6c210ee488091054f9c8d82381dd4cd05af85b9bb51d9e41dac5b7b31193384c5eec8f9aa37bf5cdbdc83b6378a6b8963a4e779c83c6edb9e3628531aaf1d7c5bdf941924a56b16d086097e060e7a1cd33c0c992c484af9890a31849f3946714e2d404863544885bd9d77dc11055458e5ae1b1f4626ef1345f03b41b4679534cc3508161df163d6bf4204a38fcfa77154ce557eb33f016985a2a26fcccf792055e5205a03c221fbc02a1c8b1520f0f3953a0a223e3e0eaa2b29617ef1dc468e6940843764507f65bcca1ab61096551f8c5230cd4317fb3dafd7d502e0656574b18cabb36c072c7b6c662cdfb31913ac187cf10e7282b746d7b8d62005e5d14f8e7498e203f5252969b264b58f83e7c6da99b5c42c89d000099c76626b847882e441a13bfb5eab01c7887d6f2721fb1429bb799061033a3cb2c7ad055abfba98c027b076e1f5edb33600991b5d82f97194551472969108560002684bd72df38b0cff895f419ef18e38d0700ebea816a0e92f350651d55]\n[privateKeyPkcs8 = 308206ff020100300d06092a864886f70d0101010500048206e9308206e50201000282018100c45d243558c9b24e526f6c210ee488091054f9c8d82381dd4cd05af85b9bb51d9e41dac5b7b31193384c5eec8f9aa37bf5cdbdc83b6378a6b8963a4e779c83c6edb9e3628531aaf1d7c5bdf941924a56b16d086097e060e7a1cd33c0c992c484af9890a31849f3946714e2d404863544885bd9d77dc11055458e5ae1b1f4626ef1345f03b41b4679534cc3508161df163d6bf4204a38fcfa77154ce557eb33f016985a2a26fcccf792055e5205a03c221fbc02a1c8b1520f0f3953a0a223e3e0eaa2b29617ef1dc468e6940843764507f65bcca1ab61096551f8c5230cd4317fb3dafd7d502e0656574b18cabb36c072c7b6c662cdfb31913ac187cf10e7282b746d7b8d62005e5d14f8e7498e203f5252969b264b58f83e7c6da99b5c42c89d000099c76626b847882e441a13bfb5eab01c7887d6f2721fb1429bb799061033a3cb2c7ad055abfba98c027b076e1f5edb33600991b5d82f97194551472969108560002684bd72df38b0cff895f419ef18e38d0700ebea816a0e92f350651d55020301000102820181008134100911fcd4d7f821dc71fc0c9efde7c321ffe747a5c169338747f76f02c314489c9c8ffcc149af378116027f6ba6badbbf4e2ad58ea394bd346c4103b929816e589190b657967db55d04cf0264eb9a1ef5ee28c0b8c2709246c5495ccaf5cb5c857eeb126db56e062e21f7401f7892886d53ff28b3888815dcf2b856e715bc9c0b10b2c7679d9913df47ef79e88207b42a93bc82b6e24eccb3260cad74253b98cf6b00f042257bed105cc3dae4f6470f3c641b5ba174cb3d9b2b0cc4b4c1373aedd0ef11bda1310a976809843512523a61a7112af70031541ae4020ee160026ee007bee65c169c03ef3c8697cdfd8b1b21a227b8f49df340abbc1df492a0cbfa4f4b7fd5e58fe6dffc540ffea31c7fd86eb4acede0eaad8101434981f3716488e5f7d69c6e57c0f1c474facc718e966db0558ba3e304956ae2e22dfeba40c21a188e7e6", + "d4b69d000c106f5d718501f987fe3f8bb3212d7145d42acded2f35efa165edf1087ead05dfa52c38abc3bd17e1895abadb0344092af20daf85d010281c100f46c1176839f31eb0adbd423e8ecda275ff2b47be39e06145a6304d30a90f303844a6a8b3000e53119e82c303cb02ee3a760958d604c6f52d56b5bd5d99e0fdce41765645f2c0cd3446076eebee83aaefe2993713e370915b23ec58ec6b195e596d16934043fc88f1a718bec3dde99acace745c9d016383fedf5ceb5cb9f01e5cb0f1ea801e163fd1c6add5a34812aefcc379f67df11bc9f53f32090af8c07d05680de33e45fd449476122468515c670473a64795a162c7c26bccc78684f03b50281c100cdaa4dfcc60280d76a88b2e313e6b0c8b9f479bfd1cb64fdaf986eeba366d4ea160b35e11807d460ff58629c00cf2ea27c3241feae19bc2ed7b55490481b1b3222b420991389e67a638a3b35a7f0154a1bb3a01b30004946389e5741031a512ce2a577ee08143d3d7309178d80c35d993c2fa31172dcf249870ede3177e8d4577c51d7f0608241cd41c124b3d577564c515cff6d39def26915e18086d3f227ff1e2e54d1b17a89778ea3b6aad904fca69eb072ba26b6cd1998e88e55845af7210281c100ca57848566252dfff47753c17e9c4564ff4b3f1aa8ae333e3a2d6adb030e47ff8b4ec7b0fe465f762c8a45ba9123114e294c0dc2820c04c4c025265b7cd21b33b427a22a5b976dee9fd673dee56ffed4cb57c3d5a5b98dedc627ad08ab786c2d2a93a5d2080a7d8fea46419d8b027299be719f16990b2bf9d097034f00885bdbce24702e898ffb649857e7733bb00ac985782ea0a0cc60284e2921b6657d3922c1d9e119785fd4afed457e487ef82dd4d9427fd6ee3b190c964d09c04c29cd590281c010bec50ac7b47c790d9b83b52971a70330e0cee8e754002d079709b0f5e4f180fdba7bf08fdc53567273e7d37bdd6296a8360f59852363470d191e8180dd742168e1f1a58509bd5249b87f89a6dacd60f35074c0c1efc4078ba498c61a5292396d5abba10dd7580520d0a4b248c19f6552992e55c55c67fdc499594dfdcd5f3ca04aa9a250b94a5244004dd4b694b8da0de5dc8630280ee4af7b64d3957e29f383a9920e60bcf16462a0c1c6b754c89d685e4579129ddfa52de60170c50e03010281c100a4d330fe8b4ec139f5300967de981d851e69f4c62dd74ae35a1251eca757fe9b44305e8286d2e476512030ca44a710f63889695eca836bba1b3a06bec01c07d2200a36ad3d62f8efa05b7c5e11b9727a819285a1679a52f7a9731a2f28eac30c3e48db5d80396091c0084c24cf518304bb98bef03b4dc69868701df749689d34340658e2b7b4a9c968a1b7baaf8e5e1fac2745379448797c9cc83cd5e798b3dc3cc17e7556f72e5455c596622199979c3b2098310e3f951b3d34e2f3677dd31a]\n\n# tcId = 46\n# edge case for Montgomery reduction (64 bit)\nct = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000\nmsg = b19088d23ebde16ee0250510e7a3b552a748c10cc69803baa831ca5cf748ae8af1b154159c91fc6a1b3a10b0469b70a5be13babed33e226328f85a5aa430022fb9681f8bd343866e52faed173b57a1520843da6352f4f99a605bde4892f282f89a2418fce76bf893fa36fb160f4b968c0b9197f8072ff86ffdeaa49d5677c824646c1f5dbb37d477ba941f2406c7a190dc9dc62f9c8352c73dea2692a2185b59b4bba93a107f2d6c30168a7325f8cefea91ef5710dbbe1833d838241b229dbd17e5c362f18068fef2995aaebafeb3c89ad5f86ec80a004c2380df2568c2ab0b311863c7506aba65b2bcc5956d75fa5eb250b45d30304098b3ec36b8f34b4ed1f605bf45c7eb73b51a3462bb53dcc8f3e1031c360d6d6c891c98116ab41e9d2fed268018f8122bc79a33261ec2b3f5c\nresult = valid\n\n[d = 6f2ae20173c27755b9ff2d908cbe9ae33ccd4bd0410dc2223b361874d9aeb953ff56ed1cf9d4fd3895fe6cb870b23c67d5ad71108931210b13144e4d227a3e6757832795a8a04aa6992fbd8d6259616376a741cb7d0bdc4ca76a0636348aae1c7b9d4a10d5663429096ee24abe56abb12af3ac3b4e335de5740aae06e4de2394519030b20e41acb8c87d1b74c7c8ae009802baa81806870d8ead2ed6fbfcdace71805830cb304db3cff612b09d7edb056ea7f4d6c4c888eaf72516a29cde26677e953fc7279580ce0bbd92678afa5b922a51268764ada15558fc11c2549f58859dfe0c3c103be4b9823408f5131967c7d00c4bfc4fafe546bd5c2e4bf972dae2810cb0186bd1319580be764e90c71db2ad01484eb88c6c7e45fb11fc7bc50b8a0f1e216df6b2d0990a14e24350a624b3c4c71f0b4963c11fa82807f4dbae4c03deb8649fec13b5b1eead4a5305c64595426c2b7a3f5f3b4bbc6be3deb611efcc046a5acd29c71ecb2d7f7c51d989fbf2895acc7e93a36ce8e8723d67d21ff6b1]\n[e = 010001]\n[keysize = 3072]\n[n = 00ed961a800f86f1400cff5a805da0937ab9b864c28e38ad93cd02ed6ed75d88c25a80c8cac114273777bf70bbea37755e7a69c31fc8b70350e3339cbbf9f35e393c2fd844dbbe35a303f7dffc42578125869f3d24035e056e40dae7ccdd5ed11e0f535694bec4508124fd95c5fc168eabb679b1c4a171d460f4d6e6e8ecaa68a86939d8ee9e54cb15860c234ff1f424c6c5cc69c792423a414802957c567ca137539d56639f89540b089b2aa3f1efe462e41a7171464fce9b7ede87a834912fee99b26399209fddce06505488e9bb64f83690f38dbef725835759a0932c208e7d378322037df6f495ab4e8dc009641f2fc6bc9afba05c25ac9ec1cdcbcba27c0f82bb7c392864d6f6f4bbd445123944b01e0c7f24ed6f62941f2a0f203dce4cdef6584c1020e924f2edc3746084e4c34a82de9916b7d264ddb8fce6b3ba4b8c3b6c1ccfd8dd81df854533751281732b4ecd3ea0c505dea02de186b2c8fda8bc7d0b09b0942968fc87f1e65d9750f6c9887a0d74d915f77b858862c79eb0244c61]\n[privateKeyPkcs8 = 308206fe020100300d06092a864886f70d0101010500048206e8308206e40201000282018100ed961a800f86f1400cff5a805da0937ab9b864c28e38ad93cd02ed6ed75d88c25a80c8cac114273777bf70bbea37755e7a69c31fc8b70350e3339cbbf9f35e393c2fd844dbbe35a303f7dffc42578125869f3d24035e056e40dae7ccdd5ed11e0f535694bec4508124fd95c5fc168eabb679b1c4a171d460f4d6e6e8ecaa68a86939d8ee9e54cb15860c234ff1f424c6c5cc69c792423a414802957c567ca137539d56639f89540b089b2aa3f1efe462e41a7171464fce9b7ede87a834912fee99b26399209fddce06505488e9bb64f83690f38dbef725835759a0932c208e7d378322037df6f495ab4e8dc009641f2fc6bc9afba05c25ac9ec1cdcbcba27c0f82bb7c392864d6f6f4bbd445123944b01e0c7f24ed6f62941f2a0f203dce4cdef6584c1020e924f2edc3746084e4c34a82de9916b7d264ddb8fce6b3ba4b8c3b6c1ccfd8dd81df854533751281732b4ecd3ea0c505dea02de186b2c8fda8bc7d0b09b0942968fc87f1e65d9750f6c9887a0d74d915f77b858862c79eb0244c610203010001028201806f2ae20173c27755b9ff2d908cbe9ae33ccd4bd0410dc2223b361874d9aeb953ff56ed1cf9d4fd3895fe6cb870b23c67d5ad71108931210b13144e4d227a3e6757832795a8a04aa6992fbd8d6259616376a741cb7d0bdc4ca76a0636348aae1c7b9d4a10d5663429096ee24abe56abb12af3ac3b4e335de5740aae06e4de2394519030b20e41acb8c87d1b74c7c8ae009802baa81806870d8ead2ed6fbfcdace71805830cb304db3cff612b09d7edb056ea7f4d6c4c888eaf72516a29cde26677e953fc7279580ce0bbd92678afa5b922a51268764ada15558fc11c2549f58859dfe0c3c103be4b9823408f5131967c7d00c4bfc4fafe546bd5c2e4bf972dae2810cb0186bd1319580be764e90c71db2ad01484eb88c6c7e45fb11fc7bc50b8a0f1e216df6b2d0990a14e24350a624b3c4c71f0b4963c11fa82807f4dbae4c03deb8649fec13b5b1eead4a5305c64595426c2b7a3f5f3b4bbc6be3deb611efcc046a5acd29c71ecb2d7f7c51d989fbf2895acc7e93a36ce8e8723d67d21ff6b10281c100f7d213ef9c521ae1d81ae9dc969b70cb39d2764eb756115ce22c9c385b248417b9ca3a38cea209296724f044bac3058f5157eba586017e72989d5c59d7a4e571f2982b61d4975fa08221435bc300920ea6e5c16f2461a15c011e4e04640278bb8cf27e24c9c01f13562d51b88d60e1277ea77ab6c9e6881a1be50e4a3d1e8adc5a8a7160851edf9376b49e97266755d342bdfb2c5351ff3f511c4ae1cf5e464cc4516bd4294a6b67288e9a846968582bff6258882c1756f946d7c6912165bbf50281c100f56d8d7e98647fb6df4763ab00a2e459f3b9ae92580a266a9c4471c5b67f865a1dcfcb65f7a2f38add01b583f49b14fdde70549a270ab19704bd91f5dba821efda42beeff49c420fbe4c4461e872ce61d437e2c4a13b31b0943f102991abc6ec10c32ce1546ea526c5b1d503f510b744e3c87d1daea1f7aaccdb33d7e5e31132c43b28f69d904a85d18a6cdb57e57ee1a6170abda1aa448ef6448d66044906e1a015c4796f9bba574e825090e802345074834ea9521cb69b49ce79e4d045973d0281c100a08418d79d87ecd395d730dce94c3b4dd6e104324e3bd839326234b9a80749ebd8322d6df8212a10003803cc70afbb1d2e51e5572c2a318de65e1ea02eb626cb9c978599f34a2ced58fc5495ce03c396ebf16b4e22e17dd38b01e7049f069eced427891f28f260ee74661c458e854eb0f72f61a39db8cd35241644203fe0558f0eb21767ae31e61cacc9a6e33e43b66a85136aea35f9a97b887cebdfc1224e2491102fe896ea1611164aefb88e51c0b296d34b86c0104a0c621f87051ffdb6350281c100cfeb54c0d817e3fea81fd1b7101defb8a8fb3882b06540f0769ca18a2f36d03a4e21391e94718f43a8420765d7f6fe0ca8c29f59cd138929f89125339538562fddc747fcff4cd5c682a0181a9e138cf662144a5fec7bba77eecf9240b531429fc0ffa868e8dfa7b8362996ddf86285f0adccaefa5374d1", + "ddf819084db26af0aa02866008b5a98508e3611321abd037f2b083baccb6460a38d7377256e7f07a0cf1531f95055177c6f932fb5017cdae462ebf0307fd11683e1c83f8ce39078bbd0281c05f8b43553b849e9c613a4bb5b5f90b891531ac7b01efc9483026b446917aef07d4df07c4299a4a839dd1303bd169cbce08bd80f3488f2717cc49ae8551feab65e335043fd1470f685ef100c40c39ba1311b64d541fa799bdc1e567982ffb768ffc2b9b894883d35f1a73be258f5f12379392fe5f28f15bd7fe38fc8b693265e639ea087b13d72964355b81a98a96c705d194155bf47866ecc1752929f809aea67a5ee188af29a366753240edef93f55ba2a560f77dfd93b874dd097d0b730c18]\n\n# tcId = 47\n# edge case for Montgomery reduction (64 bit)\nct = ed961a800f86f1400cff5a805da0937ab9b864c28e38ad93cd02ed6ed75d88c25a80c8cac114273777bf70bbea37755e7a69c31fc8b70350e3339cbbf9f35e393c2fd844dbbe35a303f7dffc42578125869f3d24035e056e40dae7ccdd5ed11e0f535694bec4508124fd95c5fc168eabb679b1c4a171d460f4d6e6e8ecaa68a86939d8ee9e54cb15860c234ff1f424c6c5cc69c792423a414802957c567ca137539d56639f89540b089b2aa3f1efe462e41a7171464fce9b7dde87a834912fee99b26399209fddce06505488e9bb64f83690f38dbef725835759a0932c208e7d378322037df6f495ab4e8dc009641f2fc6bc9afba05c25ac9ec1cdcbcba27c0f82bb7c392864d6f6f4bbd445123944b01e0c7f24ed6f62941f2a0f203dce4cdef6584c1020e924f2edc3746084e4c34a82de9916b7d264ddb8fce6b3ba4b8c3b6c1ccfd8dd81df854533751281732b4ecd3ea0c505dea02de186b2c8fda8bc7d0b09b0942968fc87f1e65d9750f6c9887a0d74d915f77b868862c79eb0244c61\nmsg = 7e05772a4fc14b85e4bb3dafc6dd5da7898392955b736d07550a5d19c5a34b8776ae3ebe806b1c6d3d00423977509887f9b74fb85b544068d83dc7bcfdf5c4c2794d9336acb1346687e13d7d94fce19d4b22fb1b683de20bb6178ca2f888f031073c9511e4cfd4fc328cafd204b7256e28caadffd32b64875d8a93eea31323d39bc25ebad8e592ec3e1990b207eab8812f2dc2cd0ba7ce210edc890adf41cae97615ed2ba6b9bea28c1670dccb14968f054aaf95ac48d3b05276aae1bf8a9663f4ddb891bf32226e224b7473171bf07af5147234c24f1fec62e7ed0ebbf60553c2050ec81f0a89bfde5a7df9f2715173317c52b03e8971adc347c539cc478735bff0dd5e49d2c0f899e8988502172aa812298098f1dff7201d3c10954ec85a847b8d425d4437c3b6871d91fba9b0f190da5d5d708b697647bdf11e6c8959d109f4b82eabda4b58dd8b1bb4cee7e5ab41eb1227033e654e1e911bad11955d2986e30477f6468a816c591307bac6aad9e248\nresult = valid\n\n[d = 2f83083e6fde1edab800361ea79b717d5b844603d575c1ce2b165f9dcd30f07f4aee9a702056457d53463516e6ecb9eeea8445e9a30c6c8933b45f174f56359a2539cb0f478dc754140ea38dae831132409fa7df8f4efff32e1bcb3b0e91678438d953384857c0ff6a0714dc9f4cbfd8c87e5bc0a84e490c2dbc3bc71c9eddd161d416898aef63210d0cd9ef7dc1bef116e565601f05aa26a482ec65b50d58f49989f0978346f78325abf029890ba48bfdbe5a37a923cdb7b210f0f3d5f187c8ea31a912fc45841947dd63130ef38c318a2eed24340e0501994da5c02ddeaec4398b0c8017b92c4c3503bad9d0489e7f713bf58704f39d28c91aba0eaa9d9c61eef2beca86afc4b7cbe46ea235dcf50b0571775088a423b64bc9d92af4f91e52fb2e018d0783d3292dbdd0397c6ef89c23f6e0c1f8b9aab90dfda50fb307882cd4b044f42ab78294c168be4f34a8c1cfb433141e1556334bae4919dd9bfdca9211cd139aef9125662ada9ee06e52b6c32e337ba639a8d03915172d480738c9e9]\n[e = 010001]\n[keysize = 3072]\n[n = 00b3afb0d6bda9bc9e4a2c7f71ac721f4d06afca76ea0e60c2f4e9dda40923ff3c388509202c0f0949452cb91771e104e2722ec704fe1feed40dd9c7887e4d2877e1365a92e938941c791e7885b22862867d7347ccb2422467345ad7fe22b922b23247c493d7494eeb609b834fe8bcf66f5d032e085cc222def6ebb5a729595e2e5a2a8599d29a0d91699c356c883981ac9e85490b83944b0d0de518df451439682442bef9ed282652991f63d7a880aa888190495ccf0ca4bd80fde70b94976b21b5248cae89017e6eb275673b6f22d1bba2535b91ac2560041407e6b98849ed1ea5353a618876e33a2dc582f3bf7e7dfed013633f0f182997dbc2b1228b56850792412ff00a2dd29cf77b64ccc241a0559d1a622e0f288a8cb1790233e1f74f0e374fa34876e8195304db8bbada572347d7bc64578795a10789b3b10bdefa7a89ab018c09eafad19dcbe45ad6b01c008151522bd69a1c9448e693b3f28ece5ba107ba8dcb4bca3627bc6ba40c9b56b4924388293cc5c62dbcf87affb6154907eb]\n[privateKeyPkcs8 = 308206ff020100300d06092a864886f70d0101010500048206e9308206e50201000282018100b3afb0d6bda9bc9e4a2c7f71ac721f4d06afca76ea0e60c2f4e9dda40923ff3c388509202c0f0949452cb91771e104e2722ec704fe1feed40dd9c7887e4d2877e1365a92e938941c791e7885b22862867d7347ccb2422467345ad7fe22b922b23247c493d7494eeb609b834fe8bcf66f5d032e085cc222def6ebb5a729595e2e5a2a8599d29a0d91699c356c883981ac9e85490b83944b0d0de518df451439682442bef9ed282652991f63d7a880aa888190495ccf0ca4bd80fde70b94976b21b5248cae89017e6eb275673b6f22d1bba2535b91ac2560041407e6b98849ed1ea5353a618876e33a2dc582f3bf7e7dfed013633f0f182997dbc2b1228b56850792412ff00a2dd29cf77b64ccc241a0559d1a622e0f288a8cb1790233e1f74f0e374fa34876e8195304db8bbada572347d7bc64578795a10789b3b10bdefa7a89ab018c09eafad19dcbe45ad6b01c008151522bd69a1c9448e693b3f28ece5ba107ba8dcb4bca3627bc6ba40c9b56b4924388293cc5c62dbcf87affb6154907eb0203010001028201802f83083e6fde1edab800361ea79b717d5b844603d575c1ce2b165f9dcd30f07f4aee9a702056457d53463516e6ecb9eeea8445e9a30c6c8933b45f174f56359a2539cb0f478dc754140ea38dae831132409fa7df8f4efff32e1bcb3b0e91678438d953384857c0ff6a0714dc9f4cbfd8c87e5bc0a84e490c2dbc3bc71c9eddd161d416898aef63210d0cd9ef7dc1bef116e565601f05aa26a482ec65b50d58f49989f0978346f78325abf029890ba48bfdbe5a37a923cdb7b210f0f3d5f187c8ea31a912fc45841947dd63130ef38c318a2eed24340e0501994da5c02ddeaec4398b0c8017b92c4c3503bad9d0489e7f713bf58704f39d28c91aba0eaa9d9c61eef2beca86afc4b7cbe46ea235dcf50b0571775088a423b64bc9d92af4f91e52fb2e018d0783d3292dbdd0397c6ef89c23f6e0c1f8b9aab90dfda50fb307882cd4b044f42ab78294c168be4f34a8c1cfb433141e1556334bae4919dd9bfdca9211cd139aef9125662ada9ee06e52b6c32e337ba639a8d03915172d480738c9e90281c100f9ad4a9180997ab820cf211a422122b436616fb1cb13a176572a597237b2fca8fa5c0a08ca7e643b30bc1b76270f80464ab0d434c3e13373aff43401dce2e69883112ca7e7d0a0485cf0cf35578b47c769057fa23af15cea4497c72c8e78ed7776b70cb7b1038dcb2e8607a130ec246f43be9224b21c3e8086c8d23616a04df1125619a8eb7667a41189010f98db7677994d3d2461bbf22337b125806a3ec4318d0f7d42d41645c836fea377bd10edd0527d53823eab2d389d2e3d5ce8f8db3d0281c100b83ca2a519e3d9b77c43628806471d4364e7fd3b159571ae56475340ca70503fa72a7805d547479f1b876b569b92e47cdb6e6cc838e30cb55b03672b566a6a5621eca32a4566acc29806cd55c235b82e51ea6a970e9a5bc38db7c745573eb0d45184c45116022b67348e4dbb40ca12c9adb233dd55f971d9dcb8185b13cf1587ba4a99cd27d292b71df2d2571ccea99d9c439fbf4d6528ca151a2143729d7844434c1194eef2df42ee8d949ec7269ab106f0d634a6a52536e98f2c390ca0c2470281c100bcbd992f20ede4ed28302c2ff369a518623b89f9f73021d099d7f3c1fa051e26870be8b1f8914f27c7918b98e7b23a1fe8fa7f905bbaf3f0324502c39dbd10e09dc3efe405c39a46d9ab589854537fb168dcb53d681d6945d7107d8a5b316321f9e62a80fa195ba90ac45b24291d79f57a5aa79381e903fe98e55ab374ab3e004d0235679287f194ff8477fed8689ec78e65eb2083995653f517bee7b2693c5ad0edb29d40428e01ea40d845fdf0bc35cd05dc890ae2cfce8a5398239221fd690281c1009db97b5c70dfb9c1f5a612b274fd68b60baaf8061f2243a286c6a52570a9da69c408fd9bb0cd4729957dc78cebbf43d108626ecab2b8de665c367b9a846eb1fe6f28913f5d0edb93f466ce5f3ed692894523b48101c5700de8438f5b73a77de726aacd0ec612b169b77aa45d4cc832716a3c875e537e2bd3e1bbd14e17954fcf54d30cfcafbcfc51bc57e76f20806481440838b8a3df989df896d8274ff633c1ed0330821a56de80048e3ccff99ab91018eb11d71d5b8092943d3814d714c17d0281c100b894a19210bb73843ffdbfd76f608af0f67c80f2896ad40d3a303f2706668cf62161a98b0a27bc2c761b6e1c679e15bea15e2642f85d775a0f6947f8843475044a61378db21458e0ea3ccc32c3f4f5cf5ab0c7c5452dfa3b95f32eaea447c27fdc12a928a73999241fbc4c4ce23b6b313d2f6dd229512ca2f7c121a44fd66bc5e6a3fbf9b3e34a38d962af6a718fe88ae0cd209bd62a8f65f370df8dadb2382b26ebd97ba5f062761c4f8606211f6fc2213c8028bc4fd349e6c03059d41f80cd]\n\n# tcId = 48\n# edge case for Montgomery reduction (1536 bit)\nct = 00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nmsg = 482273fb6270415d2d3b731687", + "7bc0100cbe54b6f1bb432711c648b49ca3d5c83f65a7e024d840a4c029eb95e40a9627aeca373547b5e7505a8bc36e129f815da02380dd4ab665d067463ff7ae130667aee428f8eab27c1c013f75a4d5051bf67659ba40b1883328855197a5d7d8bf6c47ba60d60d3d3597defc4d254cbfeef1a4f493cf9adbeb18c2546fca57aa3c660cca23f7693e407f3ed2505c680151cc11c20c980bc16657b03e53075d1cd0eaa1d3d07799206d35c3dae4347792f7bd8723739fe15c0183e2344838dc3859f53b44daa2bc9144a5fad347f07260113a472c6e9242c54e421247b2633f984d6fbd00a25db5680f94d243eca8addb3a8a4dc7078627efddf444986c6d49d1abcb93a8d6813b290399ab7df2e07d8198ab2f46d1bb6310ccb7be4451148c577eb93bfb48db6adeacb01b1df818fe4f1b6bcff75aaf68db7f99ef6f8c928b81bb297c5c3cb1a009cf6366672bce5d92cda12b44afa40e086338b725bfff\nresult = valid\n\n[d = 035bb9ce3adf30cc67aa70d109a5004be423c1da2fc572993ec060039c643cd59af9847beb74d888183c763e3dd611f4bea0b9ebe5fe91f81c12869882eadc1702afdd1dbda839145bc897b3c61822dca33a5663645b77610554090f6e1d7409ae9d97db09aa73f2f64b74d2482d0bf8d52da5d5ddb55c5172a6bfe49fcbb45ca687262c41ec826344def12a2be9607c0c85b8bcc9c7d80c1ae1a01b33ce496cc84fd205070b0b28e22c449ce08edabeb1b3af57e763badd87469d8100cadcc080d69705fc34b181536eaaffae50de5fd16e7d03cd42a0277ff82c0d3b04cbd2fee07a4d221888c5073bb534581b0ee2c093161a3ecb7a8a81f093de1908c54a92beaaff41742e9dc0ade482250b401e31cf7b09a09db2644a367324279c557be4f4bdfe5bf2ef5c5dc6629683e2897142524f320d465bc828d46cf31d4c09d01645d9b482ae7758a369eb00b4172bb27ec24292cdcb587f4c48afd216964699593ba0cc56a827d4d0be0d4e85073507c3887dea48690c9e9e004cc691686811]\n[e = 010001]\n[keysize = 3072]\n[n = 00949c76925a79fabe915869b2a3dfd6ab33f80c1719003c9e91d33091f5f2baa85433c3672f527348e7b93639bf67d9c44aed996e70c881c2786af0cb8a595e2f26b2b302b9fcab92e7722b47023b4836fbd8de3f0c6bd1113c29e5faabf8c43714ca52bbfc1befa680ad65135c042c9378e8d6f2f4f9f462b2137439559ee1cfc10bb3d73900928b31a56df4c70d60df81157aa4a60d1b79adac822184d68ded4938ed4e244fe50596c1bc17b5f89e9a9c53d7d387a0f92162b9c8463b17f2c25c64a505d5c5d1b7704ddd1c97db98be49c3d0602499596e77b0c50f975f2ce7d2baa4a4756d67aa13be4c846499622797acb520991c8ec5c364979d498e56e01a54369860b9aea06a00f36527b303d7c7311cff95b4097a6e474da64477ebf5a604dbeb8f6fb51c6afedb2b66bceb83685f2485e57e8bfe81c966c22a6588e4c9ac89d3b1a442dc4d448a5c318b1adb4fe07f86b38994aad039a5f5e01fdc15bc8467df21745d574a87cf3f3ba865c7168f1befcb0bddfc93bb55c89dff71a9]\n[privateKeyPkcs8 = 308206fc020100300d06092a864886f70d0101010500048206e6308206e20201000282018100949c76925a79fabe915869b2a3dfd6ab33f80c1719003c9e91d33091f5f2baa85433c3672f527348e7b93639bf67d9c44aed996e70c881c2786af0cb8a595e2f26b2b302b9fcab92e7722b47023b4836fbd8de3f0c6bd1113c29e5faabf8c43714ca52bbfc1befa680ad65135c042c9378e8d6f2f4f9f462b2137439559ee1cfc10bb3d73900928b31a56df4c70d60df81157aa4a60d1b79adac822184d68ded4938ed4e244fe50596c1bc17b5f89e9a9c53d7d387a0f92162b9c8463b17f2c25c64a505d5c5d1b7704ddd1c97db98be49c3d0602499596e77b0c50f975f2ce7d2baa4a4756d67aa13be4c846499622797acb520991c8ec5c364979d498e56e01a54369860b9aea06a00f36527b303d7c7311cff95b4097a6e474da64477ebf5a604dbeb8f6fb51c6afedb2b66bceb83685f2485e57e8bfe81c966c22a6588e4c9ac89d3b1a442dc4d448a5c318b1adb4fe07f86b38994aad039a5f5e01fdc15bc8467df21745d574a87cf3f3ba865c7168f1befcb0bddfc93bb55c89dff71a9020301000102820180035bb9ce3adf30cc67aa70d109a5004be423c1da2fc572993ec060039c643cd59af9847beb74d888183c763e3dd611f4bea0b9ebe5fe91f81c12869882eadc1702afdd1dbda839145bc897b3c61822dca33a5663645b77610554090f6e1d7409ae9d97db09aa73f2f64b74d2482d0bf8d52da5d5ddb55c5172a6bfe49fcbb45ca687262c41ec826344def12a2be9607c0c85b8bcc9c7d80c1ae1a01b33ce496cc84fd205070b0b28e22c449ce08edabeb1b3af57e763badd87469d8100cadcc080d69705fc34b181536eaaffae50de5fd16e7d03cd42a0277ff82c0d3b04cbd2fee07a4d221888c5073bb534581b0ee2c093161a3ecb7a8a81f093de1908c54a92beaaff41742e9dc0ade482250b401e31cf7b09a09db2644a367324279c557be4f4bdfe5bf2ef5c5dc6629683e2897142524f320d465bc828d46cf31d4c09d01645d9b482ae7758a369eb00b4172bb27ec24292cdcb587f4c48afd216964699593ba0cc56a827d4d0be0d4e85073507c3887dea48690c9e9e004cc6916868110281c100c7b40666c8ab34f23744b0fd1f8071385ca734449edf689b3256e084d144b2705fffb05b873da5717261988bb2903cebb6c025f156b25c4a7221969833f1a354bc783d082fc49428e9046962125401ae6b5c23974ff716a34b168da2124e5b65e9575456a5b6fd86dab4e4e04e88924e6d519485ef245c3be7e8199c0655bd67c136f6f2b7ccc41aaeb8a8ec5d364c197a13a94d2acf49f96e465f0dc187f8e63667b88798e87a31bab9e57f67d906d34763bfaa028c7b3b703decb67b32003d0281c100be8147ebc27c5379de4992bd3bc2ebf1216f286aa497fd3fcd9e57137dac0ce9697cb1f9b1924f58f434b29462a00ce4da35e7f9b1172b0d1ffba5ced315d1375a30070f299f2e8787454774ba352636299640f37b44776c6176b2155a01f6da55b7e8e1d80a142edd147c9eacda0f9b01b2347f1a68861944e814b45bde2a89a300e64e53bb2455a02dc65d2513ad7424d675964b5680dbc52c20ead0927f2ab6840c2be51ca808f0f8f21ed7243bb1da88a012373db1faf02a7a61197901dd0281c02cab2cdf62b540e388cf399374af6323cb3daf28462d0c95e23da27cb2de5dd75af1b33dd5d349254603647ea2d3367d36e465d8449f229b9849c1088c5dd93dc3e65528769eced113c5e3d886e6f9754d184ff1b176403f0835a43a8343b997e308a099bcf9605e009f83ae5482a1cf1f0ea75d09efa51dd5328a3fe6fed89dd38efacfb1a3009e434494ac41f13a365ca2f7348685d53310a276f279be7342f31a62211a67ada55ff1e2ce8ba8f4a8df88053ffecff3648927a0c1f46e6bb50281c00fbcd25a3198dfb4839e8456c9a712a2bae659ea656a80eb526b303a55f96e9fa1ad416ea532b7075c35364377da4cf662e86d1f7d77b280c5119ee2f5212a456e57e55d654cd7252f1194139a86657fb7f3c7add593146289b2aa87850600848cec427ad5c40f62c7b4b78ecc2cbf7948ac9615a1f2dc911dd6264fb7ff24787654ceb1cdccf9f570e4172cfeb11f7526cde8acdfd06798c033230d02e9f7436a0c828ce5c2764736d0f9ff7e3a6a0c09479c21a51a9da7634bbf0c627452a90281c032900712764508143991aea5cd62babd6ce119e5432f76601f079c789e4cbd43989f0b4d9fee2f83c7455296acabd1d99ceb1d03f8fd01ba3378145a08eb6231033d646aa6cc0defb64d8a710ebb0f5ad5e5cb3c9a82c2ea9f3ed5a3167e96ed5f1195228e3a382ab4bc84b3ee5922b049dc02bfd68da3bb430da85ac6f6efdf961dcb6fee289e05ef7521fcab891e4e8d62efca77fee73fcb35e3121678ca5b4d133c4f7fa8ff05ae93d507ee03ffecf67553a410bc10f97cf5db4ec510ee27]\n\n# tcId = 49\n# edge case for Montgomery reduction (1536 bit)\nct = 939c76925a79fabe915869b2a3dfd6ab33f80c1719003c9e91d33091f5f2baa85433c3672f527348e7b93639bf67d9c44aed996e70c881c2786af0cb8a595e2f26b2b302b9fcab92e7722b47023b4836fbd8de3f0c6bd1113c29e5faabf8c43714ca52bbfc1befa680ad65135c042c9378e8d6f2f4f9f462b2137439559ee1cfc10bb3d73900928b31a56df4c70d60df81157aa4a60d1b79adac822184d68ded4938ed4e244fe50596c1bc17b5f89e9a9c53d7d387a0f92162b9c8463b17f2c35c64a505d5c5d1b7704ddd1c97db98be49c3d0602499596e77b0c50f975f2ce7d2baa4a4756d67aa13be4c846499622797acb520991c8ec5c364979d498e56e01a54369860b9aea06a00f36527b303d7c7311cff95b4097a6e474da64477ebf5a604dbeb8f6fb51c6afedb2b66bceb83685f2485e57e8bfe81c966c22a6588e4c9ac89d3b1a442dc4d448a5c318b1adb4fe07f86b38994aad039a5f5e01fdc15bc8467df21745d574a87cf3f3ba865c7168f1befcb0bddfc93bb55c89dff71a9\nmsg = 1759da8f5a161623575dfb3f7a38c4b0a9094b3da69ffda3fedafe1abb032b7f7849ca5b3e030627fe4f302a4a4a1ca71fd64b7f4ef26289c68f423f265a766a9f375b733078e34ff454d6f6a91bfc686f9d5f89f934a19134b22e1ccc123bb4dd6acb42072acf0f61cbd367bd64e5bc17b556987b774320ee4ae1150816cca2342c31d4c1e56e03e88d31706181cf08ef3b305deb81b64b4100113f71e33256be00fc38b6dcd1507b3d5d9bb3950ea4b7d71a0272d01a1bcb26092664811b360a40c4b897400af983cced450ea78fe1acefc9997f0876cc22966758f945f7299970bc711b4ad57d675410ea3bd26577d9444767eede72e3\nresult = valid\n\n[d = 0e218aa8654983eb5e726e85e09e0532e8574e6ed3ed930fb84cd7139e42bc424704033d0f77a878589bfec033b88881572604a6e4e90d3bde408c385fb32f57dc694f4ac62c0c407d612c94c0384a5aec21e7d56410d844d01939877ba7382ff4d45fe8e56e8ddba3e55b35e37d048382269810b0611bc85c8b1ef9f8f3d3abfaf33e522290f3fd389c11efad0ba8755397b4983cb12fcd4f337e4c1f7db2fcc0a4d9b6530595936d02ae4f3cc37b6b3f69ead5a7777c4464099bf5f15a3bb685b36f6ee5a4661493b3188210383d9616d7809297537fc86fbdb25aef61bbf19a2f58d3a88d605701c06d806c83e11592ded0baaafc93fa24c5530fd4d27c128dab75c20e240fa7b9928c1abeefbd1c741d8d74902fbdd8f7e853d26964fd90c04c156a89b151bc8071a00a90e39be427a02bd4d95fd7151fa7d222898fdcda9fa0be8d5f45ac9d2353b200268fa795c9491cc1ff1fe5c0d54fee2da545aed663bf5a4c24d65f1406320cd9212105fb8f4654d062f99916c4b9f49976d77d31]\n[e = 010001]\n[keysize = 3072]\n[n = 00ad653869721ea34bb3658441b862d33a99019e6b30f4f9afeca9a56ea4220e54feb8426358d9cbc15b9cd90a9d896de66360dbf39ce03a8520c1c298", + "b46439dae3ba94e0c56b6f15062ac0adeeb2e80b6e5442e0cac2853b677c2bf055d491188aa1f25a454832b86d54a6c397a645e8a43783ba6ce3c6beaf7fb69f39449e8bfd1640c5e6efae9f10680961dfdaaf9224f4d74dc20b9f7d94629e40069b20c232facae69571dd71318497bef60452928471088f22ff13990f009f7e43f9884f90ee4a46b9434405b9ee75d634525fdf662e8d03c2875bd767349f88da55cfa26c8c22aa1560a41e95b8b5176aca2751cb37b49960b09704ce32f9522809183f2551243f4468ea3ca1163c1866c9f13e6abcfc43d22c3ad713e0fb4740bafa480da23236bb8f2f09d66a1acbcdf7f7c79062b8d65ade1703bfb43a408dd095f8fd5670f5e3700fabec8d1c865440004cd45a7196b1fb68f11b17947c37f55cae8b6e5c6537374bb60d67c4d67678ca9954f65fa6baafcbf7d098b3536384aa91]\n[privateKeyPkcs8 = 308206fc020100300d06092a864886f70d0101010500048206e6308206e20201000282018100ad653869721ea34bb3658441b862d33a99019e6b30f4f9afeca9a56ea4220e54feb8426358d9cbc15b9cd90a9d896de66360dbf39ce03a8520c1c298b46439dae3ba94e0c56b6f15062ac0adeeb2e80b6e5442e0cac2853b677c2bf055d491188aa1f25a454832b86d54a6c397a645e8a43783ba6ce3c6beaf7fb69f39449e8bfd1640c5e6efae9f10680961dfdaaf9224f4d74dc20b9f7d94629e40069b20c232facae69571dd71318497bef60452928471088f22ff13990f009f7e43f9884f90ee4a46b9434405b9ee75d634525fdf662e8d03c2875bd767349f88da55cfa26c8c22aa1560a41e95b8b5176aca2751cb37b49960b09704ce32f9522809183f2551243f4468ea3ca1163c1866c9f13e6abcfc43d22c3ad713e0fb4740bafa480da23236bb8f2f09d66a1acbcdf7f7c79062b8d65ade1703bfb43a408dd095f8fd5670f5e3700fabec8d1c865440004cd45a7196b1fb68f11b17947c37f55cae8b6e5c6537374bb60d67c4d67678ca9954f65fa6baafcbf7d098b3536384aa910203010001028201800e218aa8654983eb5e726e85e09e0532e8574e6ed3ed930fb84cd7139e42bc424704033d0f77a878589bfec033b88881572604a6e4e90d3bde408c385fb32f57dc694f4ac62c0c407d612c94c0384a5aec21e7d56410d844d01939877ba7382ff4d45fe8e56e8ddba3e55b35e37d048382269810b0611bc85c8b1ef9f8f3d3abfaf33e522290f3fd389c11efad0ba8755397b4983cb12fcd4f337e4c1f7db2fcc0a4d9b6530595936d02ae4f3cc37b6b3f69ead5a7777c4464099bf5f15a3bb685b36f6ee5a4661493b3188210383d9616d7809297537fc86fbdb25aef61bbf19a2f58d3a88d605701c06d806c83e11592ded0baaafc93fa24c5530fd4d27c128dab75c20e240fa7b9928c1abeefbd1c741d8d74902fbdd8f7e853d26964fd90c04c156a89b151bc8071a00a90e39be427a02bd4d95fd7151fa7d222898fdcda9fa0be8d5f45ac9d2353b200268fa795c9491cc1ff1fe5c0d54fee2da545aed663bf5a4c24d65f1406320cd9212105fb8f4654d062f99916c4b9f49976d77d310281c100ee06a7cb29fa932c70241f1f4804a406a1d67c5c95b4a368302279c279e1830972629391330f14d081c61ffafa39bfcd2220fdd0afcc8d7b3df3697e650a96044dcc54a6a02351537eef936d216757e6d4d2834706b8e3d0d76f1d30bff7024658528723d25859298b5da28c1d40e9989dcfc7b9c84d78a8908cf5bd0b82d6ce123de71b7ed553c58670b5090bb3fd389d95bf0497d7a504fdd7e4c4e788695883f0a5074c4155b0f3b35363b2d30dc2d02b604f6ae56d518a82b958ce3360150281c100ba7d2c5d4fc2d5223ffaee501fb81a28ca983994eb0ead5147efae3457e3f68b8ce1c1f3abde00c9978ba9896f28d82eb8e328c9f36847e8b80237d177708ab63a977bc9ba5cce44abbf86d0cc9357b719f73e2ba3fd17a01b4f6b0490feafb0e72adef41609604f4afea46e9e40d1e5bb63c1779574a7211ab081211ef8a62c17f11522a23194204d6f36a7acec89caca294d86d80c3cac7567c7fd51e54cde2c690e4a42755167d34a5e9a4ef9cdae882742b2a16afbd88ff5fda64056838d0281c04c08d63ae0fb095e6da82c44ead588ac11b099635df3292bd40c7f46af76694c703cab14fbf17a5dacc6e45a60ea67a998985f5bf57c6b498e1d9e7a60be83f37602aa9bdb95cc99d677a3697dfd2c28319dd98fabc70e071d7a82219b80c53a41668382dee397ffdc6419d39658b1062e8b3c2acda069c5b6ff40549643c2686b8d58b100d01685878fa354f36718a1a83d389ab8028bd54f5d52d7cf7a54e490a9239e742e7eb81af112d74b3d7e2cd820b3104b7e647062c5a57d87c9038d0281c0295087de98480a9dcedcd1a51091e1c1bdb861b15b2de239ca9d0fd3ead0c712fd801a4ed879936515dccc0f757feffcd1db09734c28831dcc7e394d7f8f803b84d980841d74680210a69ac071420741ba4feb07120a850c646080cdff2d5d50ecb5b3b51198bc2c74e9db15e29b6ba4e091e60f8f1dcbd4eaabc5bfc7b3c064ae5d2b9883a44633add400a0bf0f9c2b40044c779e2f7fd5992107ce58315b8930ff8939ec653f46a829a6b1bae35eacd6df13c8ad381d5949f36e614189a9150281c075e48b05a1e32eb5a4eaba5637c9fb23134a48b2869dca66a1e109a9cf773cc8035ec100f05e31b1e0f47d5d8ada685751fa6d18a90fa02d255db8af5237841534528e261bd21af0eec48f8dcad44871aeefabd1bd8739f7a20ad3f8e462aa53aa0b7f328468ffc17b837bf338e7b0dbc8283df377403d6483203db68840c9a9ecc719a4b3b888050880b1e43cd17a824dab3bb84ad51b39edc5d8524bee9166f98d64cbd51198836f00983b76b80cd4ac436327c6df41531e773e7b3f0ff101]\n\n# tcId = 50\n# edge case for Montgomery reduction over Z/nZ (32 bit)\nct = 15e9afe6899946b32dd51dc583b611def28d2ca36bd609bccaba57103983b5dee051da648acd6c9b567d62f87a2672f38de06882109209de60277b8cfe74d3d9dbb1e67be8fd196267f54720db304d7529f10e20024a4fcbab791ba2e57d0e1ebc056b6e05b515ddae5a704bb27156cfce0ac5899aa66332e43d6c0183ea2ca847d445562a71a7f3cf1ac7dcc750c4c70b4e581646902a3b4f6ad9fa5f7a7427c72f9efeabb657ac371bb96d2541b481c557938b6ed4a784b36becf33f4c044f438e5b779f4180f46e9254209738d845fb0d94897c79f141e8665d47a91922a61bfe263712062a0f4c5e725ee148e9701bf0f034bb7682a6780056410ee8e588671721c471c57ecd1bcffa85ab91e744e2e989847b78942cdf396d883c8de5effc3dff47e52c60a88176f21934e248c60297347ca00e5e29fa4c0edc2e3d632ae3cc1030572149d1b788b4b14b51c07aa76e0130ef72962c153d73915921b514f2cfe6e93b16ea7cf901973f6db782a958cfa16691e90865385dbd5c03c83ab3\nmsg = 1b2416c6d332428a300fb786cde4ebfb4a7686fc7a32de98447f164c15549d422d9aa53d3963ace5d229ab8f6c2dd39bee86491cb6ee0383d3d3df95db8cfa5325a605d4152ec5f02878290dc644a9813728d6df0a7f8a95292e64c1094bb915f6c0f447c45cbcbd5f115a6a930ad34d7c1bbf6ef114dc21a5c7443937c8436bbb25662a2cc1c37f9e8d674cc569aac454bd2ca4ed70fb12e8d9aace496d45c793dc794a6a12ded9605829091160bf40ac03f964ac57501789fde22068f41c60b670b5df0a7af2c1e94604211aee2de6c2b85bf9de5e192be583dffb61ba08149e912c1ae642d2ef9ff4e5e0a3d0cd1d9173ae8a782b158043ff63798552fd23ddd534155477370bb08117b5877b86ccad9c750d6191be6990e3d31b9b58a7dbe0d3bb97437683baf7b989867e1e711d7f9bc1c7bcd00a49a5f0\nresult = valid\n\n[d = 513ae42917d17293d2c9025c701e2cc2e16c7bf47d00f6563e0205f2792ab3765a68f53fa119c27c85642371d3d03323771cf17655a11ce98c69b1cfafa67828c0dc1e32a5dfe132c546557ad8b515e9438aff641004fe356146ce9ebf2fe70655f5f9ff9dffd5254e075003cc186f09937426885dcd282f10a243aec5e839ae0281855006839170ad039b3f6b4cf4ad9b2431e795804e023629c8befc60ec3581062b539e0e28780acb81d115b4b12252205938b194d336e16df3d5a00fc2130d6020a9e1c251b9df353ee568a71f6768569d294ca1057a4dba286fcd5fa22f1668994ce5c1adac7fc953229b5e500256ec4a16944c27d401f36dc22b9fe9d699e1b8505859703e2bf3a108115b94a709621705c562dfdc74abf40526122f8be96f79b0144794e26b03f4e20593ea0d2cac01e30c5f79a779630ba2ca24e0f91adc3f84f239875e38afe35120edc019d60f13935c95051416e57f84fbb2310fd2e9299799b706428e25c085747ce96cb9e19c513589fde52aabd910712ef5a9]\n[e = 010001]\n[keysize = 3072]\n[n = 00aeb5a241b73f86cb7a306293e71ebf8b70aa8f857b495051c3ffcc48f35952264f383ea5606f55111cd8ffca284b22330c98e094bb367ce269b350498aa66e4549691e831469589d87e2b80d39b577bb52765566ab3f30675debd1a31cb6909b8080a47239d063eb5bf129d70d66f813d92a91e751c462216d81cbde935e9696d741ecac42f06e880194f37fb6fa587d1438776637187c6df59957976513ac352cb3865424bef80ba7ae2cda10436740f1fbcf8404b7b210dbd270f64ba42c6c5b58aded6776d341eb653b9824b049ba71453da7eb60478885d6740b07ad3da785c94cfd3020800ef885cf066e19750f179dc5728348cf3b625fb23cd1bb47d746d258192cab6a74243514475d612d0d442bc72b500d5b1a0e37b3192094cb6cd6865c4b2001a3711e536c343ac0f916dfb25a148989f0667b516ea5a2f082b1f1136cff85ed2d0ea009d0e709acc625a1cf5da0e219bca8c93204ef5c57eab48d8dc1136ac67068121c21b1adeef8564def6a28d59d39174e2dd0c7038b071b]\n[privateKeyPkcs8 = 308206fe020100300d06092a864886f70d0101010500048206e8308206e40201000282018100aeb5a241b73f86cb7a306293e71ebf8b70aa8f857b495051c3ffcc48f35952264f383ea5606f55111cd8ffca284b22330c98e094bb367ce269b350498aa66e4549691e831469589d87e2b80d39b577bb52765566ab3f30675debd1a31cb6909b8080a47239d063eb5bf129d70d66f813d92a91e751c462216d81cbde935e9696d741ecac42f06e880194f37fb6fa587d1438776637187c6df59957976513ac352cb3865424bef80ba7ae2cda10436740f1fbcf8404b7b210dbd270f64ba42c6c5b58aded6776d341eb653b9824b049ba71453da7eb60478885d6740b07ad3da785c94cfd3020800ef885cf066e19750f179dc5728348cf3b625fb23cd1bb47d746d258192cab6a74243514475d612d0d442bc72b500d5b1a0e37b3192094cb6cd6865c4b2001a3711e536c343ac0f916dfb25a148989f0667b516ea5a2f082b1f1136cff85ed2d0ea009d0e709acc625a1cf5da0e219bca8c93204ef5c57eab48d8dc1136ac67068121c21b1adeef8564def6a28d59d39174e2dd0c7038b07", + "1b020301000102820180513ae42917d17293d2c9025c701e2cc2e16c7bf47d00f6563e0205f2792ab3765a68f53fa119c27c85642371d3d03323771cf17655a11ce98c69b1cfafa67828c0dc1e32a5dfe132c546557ad8b515e9438aff641004fe356146ce9ebf2fe70655f5f9ff9dffd5254e075003cc186f09937426885dcd282f10a243aec5e839ae0281855006839170ad039b3f6b4cf4ad9b2431e795804e023629c8befc60ec3581062b539e0e28780acb81d115b4b12252205938b194d336e16df3d5a00fc2130d6020a9e1c251b9df353ee568a71f6768569d294ca1057a4dba286fcd5fa22f1668994ce5c1adac7fc953229b5e500256ec4a16944c27d401f36dc22b9fe9d699e1b8505859703e2bf3a108115b94a709621705c562dfdc74abf40526122f8be96f79b0144794e26b03f4e20593ea0d2cac01e30c5f79a779630ba2ca24e0f91adc3f84f239875e38afe35120edc019d60f13935c95051416e57f84fbb2310fd2e9299799b706428e25c085747ce96cb9e19c513589fde52aabd910712ef5a90281c100ed65fde8d5aa657aa9ab01a8d7663688453f41815879ae79b55cd29b687c4a7afbd9cf492a1df5e3049e6380f4d509184d7348bbf4b1a1a8b1b69105b1c47f77eda14ef06ecc31da6117228d2af0a34e404b680946f7083676717cb57f88d3e7e6aa1b367542e49b8b25d40bfc1c5a9e32da293c627d87385c6eb70274a6fde7ffc904e149ec669075f039c1a0b0f14a186c52e27af6e8dfb3b80545fc9d290652637b74cd491b950ca03d0236f7c9e38ad88b9bc4ba51086e82dcf46fc0b4af0281c100bc662810d94f51ac88481bda26a14193698c00199edec00337fa1426454235ccb72be4302775a70bc12d78c787a8db902ab3970b574b678aa066755be958787cc179cead1e11f5f49254df793be09acbbe35f1f746f5544c361ef9e5e47b72dc208d434f93fd0c907730960c72ead3126e9d12d9cc0a2f2b302e070ebab84a640040298474ed58a56ea9c2498f33ed75de9ec106a315e008aa87a175f26ce93367054d2a8363b50a8044ae8fc867ebc4e89fc4dc6908507c8edab3324255c7550281c00c593ed0eab4575cff105f20ba3b9de08ec19095bad57186f13127df5f9aff80d032ef3e5e0b7aebd924a8066035e8a833f7283466b10ab8acadd3735960e0448bbed54d5a6612bdca491ac9ff0ecf5fd5a6567e0d0bf2886ab6d286da6072ad60693ecb21645e61dce615d69dc197d11cd20e4d0ece7ac72abfb39354200f9b0eca150fe6f97e084baa3846e325f1172a980fe3aa03c7ef42f8f2854673a25baad373eb8a7620122bbaf611746c853ae9d103ca117ca3946db32eed2417010f0281c100ac201952eb77d082f5300c624f10dd3cb51db7a9b0c08a65666b10a5b6793b7601941432fa9a3f383a12355af6d28b6737dc448f93fdcc67970c8504a838b03c2af8029f9fed80ed26146ce7f290ce5c7f38020d8dc2ee7582ace25beb57ee24b788d88a880695c8175d4879af34640b5f0c1b00e9ae14523cfe906c20a3e7335e1740d7478ce184a38a6d7b8f5e3e0186973c7bb7dc7086fa665859ce573ae83fa354511721ad721ea6a165b40f5e14d503c3742c71f0371cbd2b232bfffad10281c100db2e5e1fc45485f6e753bd60b65de6d740abb20e16ccc414b04fd116a3ae0335e4ca2a2a16f72519dd9728fa619475243dbdf4f3d1e68eb1355000bff5bc7be136abb4ceb32f7baf486c557062c2798796f80e7ecb99296e35d1cff1f186ab1ed3c7c8ea388ad3a35040e739249bc525a4be72110ca711803541921899eb9e4c92a25ed4539affd848e23e99d981e351d086f213751eddfb5e353a1d3891c4dd49506de32d0bf269790b423555e2166e3f5dc48c52eebfca1eeadbc27871754c]\n\n# tcId = 51\n# edge case for Montgomery reduction over Z/nZ (32 bit)\nct = 1bf519ad4dbb78a3a8071a6bd1713d0552c3fd83f756502790f5d2cbc943b671d93635e4903023bf5be0e1441b807322f38e7565994cd36637a55e03a117a4ea16a42f470c0496baf40bdb261e3d4531e6077e9e2f3a7fe19c6cc21690ad5acc911650e72b0a6b5400a0d1b6e2e5b1255b5ac1ba3d81e5967083173363f82bc5900d7e1d44770a0ee515dd62940d7463902a78abaa5577a37c09b033ce8cd4418957b1a6bb744497cd3ffc93510c9af98c02a377a49d79b8adf88802a063741b172b23dbbe8ed8dc6af88c7bb5a598960d90d11e57659b198289f8f78eebf55dcd106b776b4ac151d718ad1e94bcfef81563eeae80d28ad9ae77b5ecb0fd488dd139de77c758a65a5b0825fab308dda6173e2ec4d94dfeb2a8d859f3b6dc7c13aad7dcdf5a8fb67f595cce59216dd06c57e8ccf8c972f5df5157c8b51031dd4cb7bf1e7f1e8e9797e12b68eade041606c6042d3ff70ba2aa55bc6cbc3e9d50c4be3755dfa90a07365d06053c88f652bd1157ee1e7fc533e281d6c609e7ae8eb2\nmsg = 8ba16ae7b2abefdc640c0557914529a46810894e5dd02081ea1ab298ffbbbcacd2edece4848a1270e7f403df288a6ce398c5bc34cd1130b3dcb752ab2b7c7886291c2584d076a5708cd81ae10adfa5c007ab209150c406195617a42859fe4a711ab097962c3b11c3417b90b89c2dbef5e8daa5d65f625d3a422e4ada0acd83e4bbe2912dfdf80c8884856b56e25ee5c78b2ff5e21c89f9dc207337c88f090ab4267f917d697750aeb25cff173acdd9ecb531416ad85e621e45a2ab975aedf9e27d1a01725c0245910f9cdd0a89795f40b3709a3d762ff1a88e293f5c4955300b96c22474a63d65f558a4fc2685d3aa3f447ea6ee7bcca62dfdcf51e733903e6f\nresult = valid\n\n[d = 009b4c6e1472322270f9626dd62c314251ecc1e9273cc293f090befc60b0801998766246cb274cfd635d596d17be5bc8712ba03fa929a1ea7e14f8b0d2140a7600d8f7ef581a467900f02e04c98df4c2b2cb040fb4f53ff02c94447bf472f85d7b888f8ac565ec6dbcbf0ab20cdcb8795535cb59bea29f983ffa73f59868633e83210a00e7f05ec8bb2d4b597ecb6f9b3c56dc2f00ff695e127ec35ef819070b6af5e1f6fde71aa44e006ce1d87832ebda45ed67a5f759c89c1d0ad00a8feac23fa86e6654241353cfdff37d85f5c5655608207faeeb13116e5400edd5004f1cc2b40c90d6011d480237348725795f6a4bc9f3358065cdb71c2dbcf8333cdb0ce84e40d5a08bc5943a7d211aad6e4e0c63b78930b2f64b7b88e872a9c37c8a6cb1ed4b6cbcf2f40bed46ec868089157b2896a98f3cea594ff7d98379ba16220e57c595b2db1874068a5a1a7fd337084581f428a11251f0c1095f31ecf39001aaca69de60bcf1422d6149a9ca65e9e4360583a80332afea9c949432fa1d5f212355]\n[e = 010001]\n[keysize = 3072]\n[n = 00b9f422b594dffcb8c4f268b065e2f74d19a504873cd60d91c2a911b613521c0e896bcd57bb4d1b92f5402dbaf3ac58af65b1dbc6d007cd5f988890beedef2e499b13f32f3bd91e8b5c0c50a70bfd40b9f4f26ce1bf515babffa645cc5e129bb48994ea77352a5ea05499799ed90577cc05b578740429f0b8db8cc57e7571b4196c668d9bb298497f867f3000d8a48ee62d665c6b2d2de53c72b1e716232da35595f3cbe5119f2b34ef9511e7fa540cea305ee177f8b3cb198cd9b3fb7dade310d6e5888c5f93618e122764ea37f0d05ff4df2b64120718a44a4fb8854ad2e46c903a766c4f971cb0479caac957ec36a5b6dd5a40b595d3c1e084841dfbc320118241115d9d81f7dbb30cbfbbfbdfc3c44aed182a9ab4a9803598bbc5b3589f4509888d56ea392553484403df6135bde4427c09a84b94dff8d8279ba586437d755a617b01510d96e8c15b4dec33d7613c868a6759faede81cbbd5793178f83b0ca40db7dcff1a7c3264fda63e21421662358ab1641675c858e335688267988051]\n[privateKeyPkcs8 = 308206fe020100300d06092a864886f70d0101010500048206e8308206e40201000282018100b9f422b594dffcb8c4f268b065e2f74d19a504873cd60d91c2a911b613521c0e896bcd57bb4d1b92f5402dbaf3ac58af65b1dbc6d007cd5f988890beedef2e499b13f32f3bd91e8b5c0c50a70bfd40b9f4f26ce1bf515babffa645cc5e129bb48994ea77352a5ea05499799ed90577cc05b578740429f0b8db8cc57e7571b4196c668d9bb298497f867f3000d8a48ee62d665c6b2d2de53c72b1e716232da35595f3cbe5119f2b34ef9511e7fa540cea305ee177f8b3cb198cd9b3fb7dade310d6e5888c5f93618e122764ea37f0d05ff4df2b64120718a44a4fb8854ad2e46c903a766c4f971cb0479caac957ec36a5b6dd5a40b595d3c1e084841dfbc320118241115d9d81f7dbb30cbfbbfbdfc3c44aed182a9ab4a9803598bbc5b3589f4509888d56ea392553484403df6135bde4427c09a84b94dff8d8279ba586437d755a617b01510d96e8c15b4dec33d7613c868a6759faede81cbbd5793178f83b0ca40db7dcff1a7c3264fda63e21421662358ab1641675c858e335688267988051020301000102820181009b4c6e1472322270f9626dd62c314251ecc1e9273cc293f090befc60b0801998766246cb274cfd635d596d17be5bc8712ba03fa929a1ea7e14f8b0d2140a7600d8f7ef581a467900f02e04c98df4c2b2cb040fb4f53ff02c94447bf472f85d7b888f8ac565ec6dbcbf0ab20cdcb8795535cb59bea29f983ffa73f59868633e83210a00e7f05ec8bb2d4b597ecb6f9b3c56dc2f00ff695e127ec35ef819070b6af5e1f6fde71aa44e006ce1d87832ebda45ed67a5f759c89c1d0ad00a8feac23fa86e6654241353cfdff37d85f5c5655608207faeeb13116e5400edd5004f1cc2b40c90d6011d480237348725795f6a4bc9f3358065cdb71c2dbcf8333cdb0ce84e40d5a08bc5943a7d211aad6e4e0c63b78930b2f64b7b88e872a9c37c8a6cb1ed4b6cbcf2f40bed46ec868089157b2896a98f3cea594ff7d98379ba16220e57c595b2db1874068a5a1a7fd337084581f428a11251f0c1095f31ecf39001aaca69de60bcf1422d6149a9ca65e9e4360583a80332afea9c949432fa1d5f2123550281c100e0ef060429807c070d0292be8bc85fe8fd43eda9be163fa1ff06709dea7bae9ea1f81672c0632606c76058ed696eebefd679b16d4c69409bb83705d51cbe62ab4c6a11e3e7b09322f5ba30e18bedac5a9f112e6940de0aa86db1aed8bf76cfb67b94eafa57f4ba4ccff134497d2121716d652ab5553ed23b8a6a3c3ddaca4c8f5c682dd947e2ac1ec2f6e46dfd657d7c77568a39be6b94ca09378bec0007573915aaa3116e9ff71975a658e8c54975f03749da2254e146116101055c03fe55bf0281c100d3a2e5528c1748cd175295ee1f87b21a6f5b085f5b42c20e4b3bcd430df217a44574bd76090a14027149cfde720e6c7f7a9b8e2141f0d8c1a3ab5087e3340bf285bd9c4281e79049058f5365f21c8063de01189daea74f95c559cbe80b78494442d68bd6c1b304547cbd5ee6a07d4e3b06358a43e508af8ebd4803bf35bca9ae0c3deeedf02f95c739f8c528bc9012f88057b325d82621dd7d4915e2e77b685eb5f0586d3e30ef3541672d27c3998c486ec0b41bd51d979686f1dc7d81a44def0281c03cd4e7cfa059bb313cf781303f2585aac133e9c68", + "a3e021f9194f04804ee461f68b66b7bc5440b38b21b0071d49dc6f92a0be74c23ea232af9fb077cc735460205bc79f224eac020284c9e83a1103a1898045184eda21f47c5c2d4029265536f8aa48f97fcc996c8c743f85c17972a303ee1a9573922b040a2027120595774b520cc9bf9b3533e316390d9de553569668befbf9a36416a0fe9c637f52f5cccde075a0a97e04f2ac89be4cd0ec6ac43551fdebd3ba3b0f8fe2239e0752e2f4e890281c100c47f5d6e9c55ce29663b2eabee287e8c1ed225deeb8bfb436c44f51b0a2aba1ab2c66656dea3b5da62b746c261a1d4c933dc94457ac5156c0cfbb604c54680c547b9ba08e2364f780d2a7b238f7d3914007f820c7daa28b185900f4bbec28b3c4ed686f5f9d8adef87f607d41834dfdadbb4005173a8f1df950cf535a6be29c948e28421f5bd28d2d6978cef7acc4660e641073bdf09e0ad9672b2587fd6cc1c0bcf413b04e0486968f5542eb464afa45cf89d01ae89104319be1c9b8730378f0281c02306a4c7e14211e22f54d038487a92ff51edd4fcf44fe32296fe08766a5dcd130ee30c5935d6c31b866da061c5e75f4a88a4f0f6ca27d77ca929f86fb3786d8ac959569efa7b7593b8b1c5a57b05552435562190b46255e8446412cc0d825af9f38da02aa38584f1be3dc4e768eb0b9b84a3499b4ca5dd5d5b54aa45c2d241883c3ee7bd04fa66e77ecc878547eb73e7dc48b3a5c27f0dd1ed2d7fbd775e13a3ad7e7869515571d8a3a14ef871e17511cab3b4dee09be294372fe95db94f6448]\n\n# tcId = 52\n# edge case for Montgomery reduction over Z/nZ (64 bit)\nct = 4ddd718c830b084a29eed3b183983cb5f35e3224097c909fad3ed1db7654f207a766af1cdc693d4bfd6bb814c5d0702ac5c0e4c00e0f780f5a6c0f9d54c3d5c09d18348c8e99088223ea95d52edcc45bbac6021cd0ddeed2385945214e5979cc29d4e48ea50f72269256692145a0eef78fd7cb31a1089e8598cb30cabf43c7c2576543052f371f7bd4b443f9025bb6ae48ce13f9cef6ba3d4b4c8a623040ba4c34b59d922b2ddd04d281ea4a5eabfd909e2e8ad2d07d01bc58a152652f7e12b45a07117b27b4d8fdae6cecb9fcc7c08a70d35123d133d8c496db7741afb8a60334b0e4ca26f1177eabb5c0d8d1ca8f4a48d42e7029eccce447f1dd34a9385056db4fe739d169aec4237f9b6cf4525d33eed609ead086af7af92e6f41088fc0ca5b98f084384af7456674b9e1f9a975ac64ce71d83404a5deb0d4245279b5130918e757f326e7a883888d0a6fe9302f3bced56c1fc67c0ea3eadf80f19ce356db7476a3b18bd92e51fe8171f9b6a23d85a00ca5ebbede5de51bdd5e815cd45559\nmsg = 6c73f421166e8ecf05e804ede174bb79d4fc3dd0ae551996d65435a29fdf97d6e027ada03a77bc0dfb19c30d5ce22d28e399bcf41a4e4d3ee8662222af34a3a10c96bb4f4de5e81c99ba98a90047abb1d399f5c577abf19488212340e929bcdb4f3cc9a24c2f937ec0b110a2eb159b4de0ed776031b01a93282a555aa04c00651329cdf413e216f7fd85d198df091d72aff5efb10f6ef5b39bf5dbdf5d7382d4da4b40b43f267470825cf4d809ce39db8c8477bae783cfc85e39b5f8fda115109ad7eb100ac965d52e89f13dbc2ade3abcdf9954ccebbdb9b8dc750b078ad3d2f3aa\nresult = valid\n\n[d = 0187d613f5eb354332c1a9775ed3f802329ddfa7cfc9e88db2160dd44664d4e12258630f19cc5cc4fc00d97d67cf1b300ff92444ecbfe8ea0d32aa7c08d781016d406b4bb9bbfb39931879bef37cd81c01847ad280172b8573d6b07ffb307a0976130bae2f439de2b3680bae119a5b9e2e05bb90b157b205ff1191af9d67a4b871b6f365cdf54a55a51ddec246cb17dd7ac65bb6365614bfcb5d4299add596f3cb8aaa3b8734f70e4cc472e17027106924527eafe8a3a76acf105093a644b5ebc2599059c6dfffd14295f0914a25ee32d01598b3a04e3f364632b7d0b41e6fc648c8902ae59a06d5d41e119a94e85ec67811e4773bc6a12ddba47121c22ece8dccd6e99539f1118a548ac2504fdef5e4b6c9ec57fa5ccb26ee2b686097abe5dbfb46949e708f69716cbcaf60f24f08139ceb47db1830a127be5e17767f31a2fe6c5ae1760a48f5bc498c9159770ad40bc14082a74d22a5e635475bac69b35a4c0231446370a77548cbe2f142ab0d1f499d7179dea7fda47cf3aa3ed8ef496d91]\n[e = 010001]\n[keysize = 3072]\n[n = 00ae7479023982158d24721328a553a0cc301d816b0cc963ff64f3f102534d96e9d6d3a88262996855d367828ff03332d470bb196830747f50a260ea7f0840ef0d069c11df8335686daa8a645d27888099e10d1004dbca66ad598d48de78699e064859d322b3c78626dd28ff9b0fc5c65c71efc9df7543d6032852418762f408f18066013a09644de25f0f86f7576d5f1619c01af78fef90a3e3f9c04e8d40e8212a801f404e93eddd31c09f56630fd559d0a52e097eb138bfa858e2278e2f4701539ae2eb3beafa69cb285ca7d34bb489722c3efd026e32cecc4767164b0f01f1709b37c23260790dfc958d3e28f279129ddcca249ab852ad2814db40cc2269e7ae79aedc02fd17d297208da25fd1e0e6f866784e985663d83b5b2870d04bbae94a3d22c46cb2dab101bbc5f4a6d57aca331dea23d233880444405def1b585e8bcc14761c2655282a36582ed04c40f65bcc779ed294811f4a64951ec321b7be140cd22a801ac59f7633658a6ce14db1b197f1720aec514b628813ea2bda005a87]\n[privateKeyPkcs8 = 308206fc020100300d06092a864886f70d0101010500048206e6308206e20201000282018100ae7479023982158d24721328a553a0cc301d816b0cc963ff64f3f102534d96e9d6d3a88262996855d367828ff03332d470bb196830747f50a260ea7f0840ef0d069c11df8335686daa8a645d27888099e10d1004dbca66ad598d48de78699e064859d322b3c78626dd28ff9b0fc5c65c71efc9df7543d6032852418762f408f18066013a09644de25f0f86f7576d5f1619c01af78fef90a3e3f9c04e8d40e8212a801f404e93eddd31c09f56630fd559d0a52e097eb138bfa858e2278e2f4701539ae2eb3beafa69cb285ca7d34bb489722c3efd026e32cecc4767164b0f01f1709b37c23260790dfc958d3e28f279129ddcca249ab852ad2814db40cc2269e7ae79aedc02fd17d297208da25fd1e0e6f866784e985663d83b5b2870d04bbae94a3d22c46cb2dab101bbc5f4a6d57aca331dea23d233880444405def1b585e8bcc14761c2655282a36582ed04c40f65bcc779ed294811f4a64951ec321b7be140cd22a801ac59f7633658a6ce14db1b197f1720aec514b628813ea2bda005a870203010001028201800187d613f5eb354332c1a9775ed3f802329ddfa7cfc9e88db2160dd44664d4e12258630f19cc5cc4fc00d97d67cf1b300ff92444ecbfe8ea0d32aa7c08d781016d406b4bb9bbfb39931879bef37cd81c01847ad280172b8573d6b07ffb307a0976130bae2f439de2b3680bae119a5b9e2e05bb90b157b205ff1191af9d67a4b871b6f365cdf54a55a51ddec246cb17dd7ac65bb6365614bfcb5d4299add596f3cb8aaa3b8734f70e4cc472e17027106924527eafe8a3a76acf105093a644b5ebc2599059c6dfffd14295f0914a25ee32d01598b3a04e3f364632b7d0b41e6fc648c8902ae59a06d5d41e119a94e85ec67811e4773bc6a12ddba47121c22ece8dccd6e99539f1118a548ac2504fdef5e4b6c9ec57fa5ccb26ee2b686097abe5dbfb46949e708f69716cbcaf60f24f08139ceb47db1830a127be5e17767f31a2fe6c5ae1760a48f5bc498c9159770ad40bc14082a74d22a5e635475bac69b35a4c0231446370a77548cbe2f142ab0d1f499d7179dea7fda47cf3aa3ed8ef496d910281c100d6cf4728c46e1a78dcc63132ecb7a3537bcc784296db0471d6c496c9cfcdead5fbb92e407d9141faa7a6a41368a498ca281e2ab377bc0f48d4415a1d1088ba5e524658a7e87700eb9b44d2683c35aa24f61b5ce767ed983fd7ffb378545f6604f66ca9858b41bfbd7abe0d25b0b9221a8c823257b9438df75310b08b037a090bd6753b96f1a63ba43304aa71a2c437a33cbaaf97c63e42ccea5b1864b6862de5234a040117de39bee9eb94d6f49d0ce5c270bbf334048b8b923a89642ff01d090281c100cfe83c54d7c12145c9c96457a496958dfd50bbf19fb8cb4af7bd938fbd1581a371d597c57b6910d9eb76618804e39c3c820cbe1b1a245a537d190f131ea1d11a536c94eadab9f71d437fa2b561d1beb1ad6b1a8e7fc28007fe966d66e052f0c58c1b512ac41fa108d14b236121c075c895bcc3a6adc34d23dc5598a623627adf14a6e1111dfa281293322bc1c567c7cf94846f174845f6607585bbac9c45995f391a5e475718660c3f5a4891c7629470af2c6d04a33dd80fe1480250494a2f0f0281c04b0ff168c0834d02d0fafcb433ddd3d7d759d2e849f8ccabcf05b13f623b2d858ac9e1ecad34361f15b8787b43c4c89353c37ede69c7b07b9d981c9a2d6de9da0ddc011ce371ba439a6549351d5d0f508d2370aa7839a14b25fa7747640c560503eb62ad84c4fbf08554a6197690aae7261454ed2c92fba7e241e1bf21fee1ec5e0b67404ebeecf66ad18591e1f3b91174a633b7d0916f1c56047118b86358e44a19921ea3ad86f63c9d92cc2e7c36c68ed48008f3336763e53c4948562c0ca90281c03fa19a65752b3cddb926943966bc57c57f542851894aeb9d6439776234c2d24c8dd88b7cfb8a6a87e7d2f182c9cc47d3151285549229b2237f541e1301fb109e780df17df7b796f433e66a8c0d063ed0ee7cab4215c4179f5ac1fb75d30e4f7686ad0da88322130d39d13f60c90db87ecda55a54373660f3aac9dfd0696008af2208f9355df164365b2aadcdbe7746e637545913cd20ec89152efb0397488dea60f5bb092694e716b4851354daab47373dc5e10fdc4e5f446cf4b7108f7dceed0281c0331b956a6db2c190f057798d7f037bb6631009ee457b39146f6f2de9d6553375d7990d8e38bbae484acf91af55f11dab033a54cf2efc4cd958b83c7cf8c37c8a4802a38b7c17adc45537166b396dd58b21cf1a15188b6cf3c2c180d3d102058d8b764280b75ed1f595b747172613f5851e9c80266c2ac6e4fc21a1bd0eeb47a8c457e5d3ec342a024042904c0504f96fb0d733b38d80becd5d30ec4cff6307d62b15e4d7f281e6d874a489ad3b48cac8bc80d914d3259f0f45dd8bf1183af7e4]\n\n# tcId = 53\n# edge case for Montgomery reduction over Z/nZ (64 bit)\nct = 2ebc256a41feffc096f650b7b9cbf7994c8aa4c49520fa94fa7461e10c0af97878b37334bb6a0a60fa97eab9079d473ca1dc32bde542034c5e7d62d20c8aad1009a24effa0a3f0ab835e56b4a0abec16f7c15ca148d746cab4a0559a9808f5492d854a0036e98a970f6a6650473bd2118e1565f4dacde8ab31e113820a211800effef944ef976b584c03e4d661c25ae2f753a1942cf099106ece19623782fd1d84889af5fe32e621b10db24925a431fe5444ce3668c24322dca684b2e6f6aecc21803aed3cfa6246d1d61b087699e6dfc0b6a7d68a778790719c6e651617446856bbd21a634b32033a0f1236b59bcd255c8ea0", + "8bd9a93a964531cfafe6ff5640169427c4ecb859536ff5d9feb3ea23be0ab1ac4d6ad56fc4947dbb3bfa1b669a9437c4416ddc27c266a0cbcab047c15b28948e57a2071a692c951bb2f91358e17398f83e0fb6b76872c374d2422a7351600bf6a20c023f153c200ddf5139f6c6cc90a1585378824294fb95053ea4564fed52a72131377b3389297103f1576163\nmsg = ca48e200c2f7a78aaed184d2a834f3f508f2065684db8d21bc2fcdde052416e775069906a5933febbea7b132f4d066e715748af0e0fa78d7311cebfa70cf7736cef6d913db4b8eea438a105fe561ac24043e8c30d4b9d253645a4132e3f0d74a0a629de80a5b5dbde5be18ef2a063cb79eed4d9f9e3127c1a7581c20c23ec02f5585692a93a8a5a4a9e2d10ca598bc9b02f0995002face80740f446ff2dfbf11205e0807f6881a1fd035e3b233166c55139d2b8e044ea9055ca29026bce8d078fdbff0cef008bf49ae35245e81e8b1d32ded09f0e7f9279c0ca885d9ba267879b4d88072d28b8d855d97afaaf3b2bd7ee32302bd14c8\nresult = valid\n\n[d = 00934c006839923b1a96bc6f6c28ec1cce3cc8ceac69a4ff5119dba1b8193479f6c89a102b8b224ae1329823855dbd8f1576e893fb3f0d144b81c84fbaa65c83fbf703da0739afe6974e7d5d288201bed098afa439da1ac1628e8d8a1ff2bf5cfbde5527559f9af5410b3e5a9780fefd7e2e58937d354fc3ecb502f56616372b9d7d2a991d0d40755ec6ab870d33f52bf1aa760801cc71ea0772ffb8f75206a4e3c23f01a1be73a0aa68c29c4aa71dd3e910aea247a960bf33678fa382cddd1ce4054458fc24d33fe03f6dea40ab51ed1eac945d824c93f5a69be51919ff66f0d6a769aa995a48ebb6a0b15aacc6e49f4873531114d4c21c0235101b106acde123deb4b79335add9207f489b8f7efc09768439c209a8e3d40f41f74070265de105da85b4264ee25e3f6c2cda182d8e5c0398d254faab5ef8d94a942377cac06e31b273c5df20964fa9ce85a012fcf19cb37ccb2251fc7ecd12139cf2d9b08546653fff71933fd52ddc988cbabaa6d052d0bcac103dc4c34fc60a750ed5f20f1a11]\n[e = 010001]\n[keysize = 3072]\n[n = 00aacfaba81d006ca0ab955319f18d1faff503f85bf95208b2964620c4634b90ffc7d5ad64b06a6c28d8daf1457f36b805a4e11b413ce77c87d47ec93c221405ed5784d4c94d3e02610aa95dd568459e0377b0f358971908a299b2105751df5b750606527202708cf2c7a473dca132dba2c22ae31a8682eccf3b7152b90eb9114b0a08a9854352e2501d1c142b7b374b623adbc4bb512f8f6a0872e49857374ee0f41ce19aa6ba9d0e6f0c23d86395ac3d5152553bc72044a76587cd8803398dded0e42e02fc296144ea3bdf29f1105ec6424a5448e5c4873c98862482baf99a739436547a20cc0710087479402ed3bb81a803beb812bd314434e46ae0a147defb832fb1705aeac084a1e623d0ef64f10600ad3de3320e07c7f40eda1f2628f28073aac252f29acd1fa6a9260ec90d9b320fb1065f1af6b3c120ec809127b5adedc8ac04c8b11caf9820528d06b04ac88267187eb87364324213272aa2a730fee494ce9a1bd3374dbb3c692068d9b365e69428c0e41c6a079ec5523b4f3456126b]\n[privateKeyPkcs8 = 308206ff020100300d06092a864886f70d0101010500048206e9308206e50201000282018100aacfaba81d006ca0ab955319f18d1faff503f85bf95208b2964620c4634b90ffc7d5ad64b06a6c28d8daf1457f36b805a4e11b413ce77c87d47ec93c221405ed5784d4c94d3e02610aa95dd568459e0377b0f358971908a299b2105751df5b750606527202708cf2c7a473dca132dba2c22ae31a8682eccf3b7152b90eb9114b0a08a9854352e2501d1c142b7b374b623adbc4bb512f8f6a0872e49857374ee0f41ce19aa6ba9d0e6f0c23d86395ac3d5152553bc72044a76587cd8803398dded0e42e02fc296144ea3bdf29f1105ec6424a5448e5c4873c98862482baf99a739436547a20cc0710087479402ed3bb81a803beb812bd314434e46ae0a147defb832fb1705aeac084a1e623d0ef64f10600ad3de3320e07c7f40eda1f2628f28073aac252f29acd1fa6a9260ec90d9b320fb1065f1af6b3c120ec809127b5adedc8ac04c8b11caf9820528d06b04ac88267187eb87364324213272aa2a730fee494ce9a1bd3374dbb3c692068d9b365e69428c0e41c6a079ec5523b4f3456126b02030100010282018100934c006839923b1a96bc6f6c28ec1cce3cc8ceac69a4ff5119dba1b8193479f6c89a102b8b224ae1329823855dbd8f1576e893fb3f0d144b81c84fbaa65c83fbf703da0739afe6974e7d5d288201bed098afa439da1ac1628e8d8a1ff2bf5cfbde5527559f9af5410b3e5a9780fefd7e2e58937d354fc3ecb502f56616372b9d7d2a991d0d40755ec6ab870d33f52bf1aa760801cc71ea0772ffb8f75206a4e3c23f01a1be73a0aa68c29c4aa71dd3e910aea247a960bf33678fa382cddd1ce4054458fc24d33fe03f6dea40ab51ed1eac945d824c93f5a69be51919ff66f0d6a769aa995a48ebb6a0b15aacc6e49f4873531114d4c21c0235101b106acde123deb4b79335add9207f489b8f7efc09768439c209a8e3d40f41f74070265de105da85b4264ee25e3f6c2cda182d8e5c0398d254faab5ef8d94a942377cac06e31b273c5df20964fa9ce85a012fcf19cb37ccb2251fc7ecd12139cf2d9b08546653fff71933fd52ddc988cbabaa6d052d0bcac103dc4c34fc60a750ed5f20f1a110281c100e48e1b1a681f89972e67c3ef729089436b8a03000c35aedb1efa3405ebb327497b314f7962c78531ad4191e6bb918ab0ed3b3ad34f930de7a305bf16fc996c804e6c5e7ef5e523ab4656572a89bd41f934cf0d4a124f584b69e7a74f67d06d02132a4d8dd13ff571bafb69e73c69cce3ab4359a3feb4592448f8a3612f4e90728d9d540ec7b24ce662e38bcbdb065e480be8f7ead64b227654de354451c4063498e1462442dc9a8825db93bd6ec25a7e59032355881463a5d764fa1aae5501e30281c100bf527d5b1c1fe3e6f99bfe354845510337eda0dfc933270f702bdcec4b4aa260242ba2c2da3ef34e1e10acd2fd8f495dcb01add82253884072db8a578d7390a0c6d74596ea735a0f800a1bc4392125c6fd4dfa96797342b0a7913052a54f42c69fd479ce9d9008f5af11aee2fbdb5d8f77bd39127f449d024489ceeb3e5f872dafe8e5a13ebed2e7be39700423fa758089c8fd7b8d9c901b51b848d8415d0cb7388bbc6ba0dbdcff2cd0b60d46c57f3cd6919d596e7e12215a1eb221e11ff3d90281c100c8fae57e7d1d6e8290fe126057601e343936ad98b723e5d52e125af8f1e122a50d3db96346a7a8ca9c4e529c914854ab6c916f132ea063d3d399540644ae2da94e4d2173878bada8093c177e828cf89cca0160f047d59a1106d9fc586933f107a80ec50ff677c5bff2eaee9fb6925ae7c14c826121b339c81c9af82097d700529b9143bf937f88fbf6ed9d9aefc953d30b161c1c57c0ce573c1e02bd4721974b5d3c8bcf8b342e7796c2d5d1f8b9d395d3745cf7f3a7ea50856e78384a20da7d0281c03fc12e52c121836181c650c4d2ab7e9e92f195cd5d0fb5b17850b592ec581799f013b66e362a0a0bfb0ad57c8dd044c38395b0a7b8709b93d672803c42bfc2ef40b395d5ff94a6eb496094f6238f7f363b4cd3f776cb48eaf33bf79d62c6f1da9c824280ee9283d9d318126e433d4b85368290d53021de2c564891f2645b93014f804d9d18fa9fef67bd5e2d930bb042402801083e1d710c19844e89f9e61709ab472d67b437f001fc9e243c725bf7d57f2f10ff2f49c5a2e5941b0a1d29f7a90281c10098bf3706d4dc5b9e21456fa308c4464b57b79af05d516503ddee570ec7e8619e996b2504934d037d48f0fa4276cf6c57b5f558f039a857af4892ab630ddedee1c752e331a61a27279c719587ccbdcc7799f8b0f447420bac28bed75d4128e441bf8d86326829f746908c10ea41db49284030d1e33dd01146f72b1360821481f42cdf885a969356c976171ee934093103e86e71a805727961fff2753eeba574e5764d10c57b50a4b9a2a42caf0323f5bdec3ad71c595a58f02fe2173ec1b5e754]\n\n# tcId = 54\n# edge case for Montgomery reduction over Z/nZ (3072 bit)\nct = 326f661d48f6991f246126abf1e0b48a15ea1e80487c3c8b641ef5172f75d262b978222ce34a1f7b1b5eea1dd1967b7848d9be3c673a61a2352778cbe3665c9c155a158d19c260472accd4a113372565a3daf792a287aa715b39f48f3449163aaa6bf52d20efc4ec91b0ed7948a43c8cba24ff18a4c5c9dd1dd603d0ca634b1da7e454c64f5753679d9c8c017338776e47a343d896650ea7f5602aaaefb95b06bc31f47de1f2ea7dd3b1630d2c40cba0528b0d8939907878eabda6995537c96c75e189037bb26bc5a929e6825ed72eeb4b368f9119a3bd8bf94d05d50a686c38fcb928957c91be76ab2d00bcb0b87a9db80e9f19f0b01ac3061cf75d1e11ca999e8bb1d3fa1168bad971dff371c84f403381bbd293791bf04ba603b0977a5b1305d568a1c756ee8acebba0815e29daf691be0c09acc31289967763e475da58a03ef50c9dd540ca107547be7542e6281060ee15a53167c97bd2ec7dbf9e640d798203ec116e3ffdbe9f49c02b77e7308b53139f13811c90f6eaf288b86940574f\nmsg = a321ec58f541d5ebdd133e269f7cd231bc3b9dd7f87c98aaf8570a0b9379aab8dce5f0c0d6fe7a3d31c2bcf4cb67fd8cef2d2c927496da30b6ae4fa56ab5c60d5f4e0fb487e1d386d68c2b78ffca355af33bd32bd4d6adb3debc5a14fceac64d2d2fdf47e37b9f8347af6c323842b139f3a98a571957b80be6d612a5d1138915eb80811ee3a95fcdceddfed6c1b4160da33ec61c7b6d384c2c1cc261e7eae3cf882cd935ea5685fbd4d433a2a439e08fa598d7d4a12f46baa8459dc1fe9ebc744bd51858c00d85d61548c85f0e3edaffb0d0a1dc7449b4e2c8a2b1ca8a2a\nresult = valid\n\n[d = 35ce75920ac1339e73c97c6b94ac8e0cff7050be86da8e4e1435dfda1cb7ea4bd0c5b12444056653cbc0f1ffc30b56c37179658a60839a59fd9aa59ceab56605b08eb9bbc2d8547462e7e9fe338d05e98c24be4d0ead47c28cb4ca6562b76c940f3226baefe0b49409974ceb4219c1791007944afe2016511961b6ea3cae539de6867749e4798fe1221dbe09c3154ac77c7f4c3ccbd5788c25d02b07361b6464be5aff827cb3d4b38d596c886440003aa03a3c20a7131d8f094dc1d761a483ae04a6d84b5ab2e0d001095b6d08a229fdb9d485008ad27bdf228dfcbf710eab9a4ce84dfc0bc805ae414f5b1987c7fec717cc246edad438092fa2fca550257889998e8f948d6240fb778ee15c58e2be69e8e11cc10df88a75aff1faaebcae9566ef2f07da7b29a4e53da25eb3b4400da237f881bd4abb624375c2e22eccfa00006137f09867e4476f48df8076b053b0cc2bb9d388340091872a22e682797096789b49b3388449db2db21d4228a8b0757e7e5c60861b187204566839e5339c2311]\n[e = 010001]\n[keysize = 3072]\n[n = 00bebee4da13758ea39642552d64c54851d501f47d906e68ab30d6f873f092fdfd06127fc8e71", + "c7d4103f4f23b411cd781b6a5afb56af1ca6067f9f39d3e5c26df108db854ebda615bbb359dcb6da5ed901cc77e85c0dc196bf9d7b0eecd896d670960b250fd2f1a15d37c185a0d0ef69bdc80f3f97129d6f1cd54443d7a449adfd5854ed6d3f17e1e934b7c383c9577fffd6f69f2f4e2547702d0bff95e6f5764d5a2ff73ebc25ebc8c98128686afd7d2b273a1d23579e197c47768db0fb72e1cdb9d9b9bb70a97fee3f3bdfede99695bf3e595ee02f4465ee5b8fc82abd073e78aaaafa3f63c3c6e19341ef8e9a6cdc4a132ba89bd06f183765fa73122c479094abb56d29f972a5f79d94c61f85d528e1728b6ca66fadd22b2bc093068bd2eb30a55e300060764695d20768c9731a33f7e09a129818491dcc5421702d108c8c239f502406abdd6951888ebdeebbab51c70a1870b4a25a1358a37016c51b0343ec59b43f13c190243ff8b1d8221b59f7de6469a5f79d96d239e503a42843898a7]\n[privateKeyPkcs8 = 308206fd020100300d06092a864886f70d0101010500048206e7308206e30201000282018100bebee4da13758ea39642552d64c54851d501f47d906e68ab30d6f873f092fdfd06127fc8e71c7d4103f4f23b411cd781b6a5afb56af1ca6067f9f39d3e5c26df108db854ebda615bbb359dcb6da5ed901cc77e85c0dc196bf9d7b0eecd896d670960b250fd2f1a15d37c185a0d0ef69bdc80f3f97129d6f1cd54443d7a449adfd5854ed6d3f17e1e934b7c383c9577fffd6f69f2f4e2547702d0bff95e6f5764d5a2ff73ebc25ebc8c98128686afd7d2b273a1d23579e197c47768db0fb72e1cdb9d9b9bb70a97fee3f3bdfede99695bf3e595ee02f4465ee5b8fc82abd073e78aaaafa3f63c3c6e19341ef8e9a6cdc4a132ba89bd06f183765fa73122c479094abb56d29f972a5f79d94c61f85d528e1728b6ca66fadd22b2bc093068bd2eb30a55e300060764695d20768c9731a33f7e09a129818491dcc5421702d108c8c239f502406abdd6951888ebdeebbab51c70a1870b4a25a1358a37016c51b0343ec59b43f13c190243ff8b1d8221b59f7de6469a5f79d96d239e503a42843898a702030100010282018035ce75920ac1339e73c97c6b94ac8e0cff7050be86da8e4e1435dfda1cb7ea4bd0c5b12444056653cbc0f1ffc30b56c37179658a60839a59fd9aa59ceab56605b08eb9bbc2d8547462e7e9fe338d05e98c24be4d0ead47c28cb4ca6562b76c940f3226baefe0b49409974ceb4219c1791007944afe2016511961b6ea3cae539de6867749e4798fe1221dbe09c3154ac77c7f4c3ccbd5788c25d02b07361b6464be5aff827cb3d4b38d596c886440003aa03a3c20a7131d8f094dc1d761a483ae04a6d84b5ab2e0d001095b6d08a229fdb9d485008ad27bdf228dfcbf710eab9a4ce84dfc0bc805ae414f5b1987c7fec717cc246edad438092fa2fca550257889998e8f948d6240fb778ee15c58e2be69e8e11cc10df88a75aff1faaebcae9566ef2f07da7b29a4e53da25eb3b4400da237f881bd4abb624375c2e22eccfa00006137f09867e4476f48df8076b053b0cc2bb9d388340091872a22e682797096789b49b3388449db2db21d4228a8b0757e7e5c60861b187204566839e5339c23110281c100fa3b5df070b36ec044b1e8cb351d7ed85ca8615908933a8926b0b87f0b589f2b3b72d10d54beedd197b6b58d411fa24dcd135834644a82c6dcfd36cf1c6c1565898250ef95bc65c06ed6f71361077ae8012d06b859ac7dc7fe3ce1f9461eb9be7fe3ef5bf6ab33e0f5585ba788ed988bb7c0e88b6e3a53bcebe4a2c9e3d380ecdd51f09191b7e34cc250d6a9520487a7a8ab7cc7ac01d77f24694953a3902cc589505ec8ba4485652e0752ec1d8c7cea562e27b2e103a188092b637b05dbde090281c100c3247ece249e51126522481a800ca467c277c15774aaa679dc985bfa76623f521afa11bc88ec466c70e7e863f5f146a54e92c95bfd657fd8c17c14ae1ebbdc55874f5b730dbf9813d6fa9f0aca4066f649744a9451e2891675696aeb894b542832ae0213a846eec942942166eec79f7d983076d825413a5c2b330db30841540aaf90ce847b35d833e84943553eba54821beb3fcff10c60d2239567ed79f96c6457c696a3b73c24eab59cd2efee3d048395b49f56fb969f05864388ec1d096d2f0281c100f0fbf985145489855ae2e769c3f66af15d92bf65aa2f78011ba4b7998a48c7c92fd06c69e54296eff1a701034f4372e0706e7fd4bcfd5122c93286f540cf0a7025d4bdb36e45e8cc41327ef247d0975a15bfd227fa1c776a027b89b8b201e72a022a769adf5c9372c3755b9765f443a3d2cc5267ed38f8ea0957c03aa4514d694fdf98c9e846eafd4269edc154fe8dd2364b28b976fab3197bec75b4b9e1a06c80c848f0110aea58bdd249d6a0c26a8e977e8db6e4a2c58ea81e040937643e590281c05bf43c94a308bf272de4e3992931cbdee0f251770690cb75ad0f56784584b255dc446e4b2b323b552a36fd78ed11ceba62b62490666d87bafa21a01514826da717e5bb301210707718dc6c494758e5abb49d49ef6e4e934eb3f102e30e852298f698ac7ddad3e1fd909400d1623f4ad681fa846601d824c9fdc946f150388883a88b51e577b1bdb96801edeaa36e66181153df73fb205c17699123b1f1c228e377c12a86e6f73e6623424cdba6a5b614d35c93a10758c8826fec2eff2407a71d0281c066abfa984437286dee8effd65c5ce82c9c716c49f15233d12ab564e4bc540b3d9d0e3d24300cd3d681918fea8dbe02d21f26d96c8a9a4c11f6440bf6e1bd6831a738fcadcd4cda790ebd4a321096b4401129d57d9dc05884f631823e17762b7e2508d78c2f3dab4d86c617ae69bb2af274aad6a6f191d39a29c6564510d0017e2ca7f14902a6695401383a3b50517e30a5a1f0f9bcc0c237172442126f5a8b8d32cd4bb0bbf07d0a0b2dea4cd51ae4242b4f75c12c75a9d29bd0d4b5872a5600]\n\n# tcId = 55\n# edge case for Montgomery reduction over Z/nZ (3072 bit)\nct = 7ad2bea4ac2a386385166ede3f6382cff6d8411c31958110caa78715a1e1dd78b456c3a363e2c99d1bc39368e76bca6ed1ac2af1b14c39738c8f740599b7effd6cd7a6bc5e23b4fb54a521d1bdef7257f1db95c052d565f7e5a0281787626fad81eed35cb85c83d0e2aa9346803f36a9148fd834e3691997da22434023c21eb0b075b798612ebb7f2423f3d20d3a5b39f6d25430ca1e1f1fb7b52453ec6298042d53fdb2652a2cec5ea99d8e56a284f545d13e4ede008a5f76e8552011bd7dab7fdf2ed055de35655296b034ee06e2a139e02cbb47be10b180bb3da9123d4ae467cda15d2459071d6cf0ca41d1a3cb12954e7550f015202fd0a3ab117ef690187487622e76bf2d6230f45a11757071382df9c9ff0ec939df426169297efd4dab2db393c1e5cd8176072ea5595cfae067792d038bb90b24e9145c7b75fae17d4efac7a07e58bd0b54fe503f60ef413a54cd5036e94016e304a38c3ea447896f84922ca8180d9efda298273f0177ca84f23edc41835448142705944a2ad2a06385\nmsg = efd8ff839c7d5fde6fa99814ca7cc29f2ab52c54f2c695e068b0762f067b8d90bb3d163080176bfa616dbb781107642baf8931933aff1d9c417096dd06d88c0b0803ae18e1475c8fd3f20856e869f1eed177767b6d256ccce8cd9005c9082a432a7f22a90828c28280b1f1a9b434695fb30215ce8e2e48a14f6b2dbab9ddd3d218ec13404f638c2a4fceca52570cb23f09b9d003bc9895b297af127509a9f8a2df7dce8283be1a0720e1524a510c3515407c23727bb2f470db53\nresult = valid\n\n[d = 0e4e37fb54825612ac737151671e180c6ad89cfe10c6d6d87fa01424eeff0567d596b8ecd006b5d5f2a5ebc2ec2025872d4002566e4022c1cd524e1f614c864759b15c0c78b02c90e746f97480f75201d42aa605794f35281b8d4222db7784176851798c97a81fa72ff2ba3eb591688be35fa3916ccf14e4a3950de8e0b9b6fd2d157df7bb28d529e482cfbe272250447cf9ce269b8c2d7937b0eddba60d4b0edef315c44affb45347018987eebe78d996d269df630228211e56c598fea384216b2ea93fbdc2f39d34cc23a424cbf8619645b586488349f701a337b55dbcac9ed3e381e25107c6bbadfc907ea51291ac640a9acbd518b88a9bf6c49b72ea9892c0599afee60c09aa81276429ea0af806b22a2c67c7fb7ea8a44fa6d9b0d74d2860d08fb4d0cdd8b7d676693b9b56fa822ef66a55e93e8e4c491f225e323622ec68872a3af3f64c23077c89d816d02ba9f5b949a53bb223cf8b7ea00f7a693b8b3fea416a5867429294d93e09e532b00bc1fc6d8a0f83ee7917e43fb5fd687e21]\n[e = 010001]\n[keysize = 3072]\n[n = 00999840d1e30c2fda872276f9fa9c50f70ffaf5e109ef8b364a2c72494649ff9dd1a355b48c64e6b22e20d06450a7283bd6b27a6605a4c80cc0c268c09019d130a61c6c9de458cc0a3a0a18a37fa8381463d626ecd8f0d65df983c2f0cd19d0fb7cd97e68bb6aaa6a01c2056db4d9561d5abcda21914ce7a9cab944b1c462f73ae2ebff3666b12ab99c8c6cbf8893446535f25ff9b246d6495c0599dbed9605e0e18cc79b607612e9fedc1f43c93e63a6bd107830dad2804e1c83b023124ea0972a299c2fe8c1e1858ecbbee424fe352e7d3639ca3ed35f0eda7c8d441c3b1b5eb33181a07579ca744e6a3a571953e9ac9a5779a83d1c9ce2fa4dc1b8957e8807503550062bbbfa6b70042e349abe3888144f81b66013b943e2cba029e47854940097efd267ffbaa0494e84c9fef7f11b493f667021cb11120b08fa39f2852db8d1f5fd21415af89fe98d4ed3bd6eba57166a1b3eec1cd979d765888551ed6224ea7031ce23c596d32c6d508acfe91fe4398e498f26d5e0d60aeb63004f3e3245]\n[privateKeyPkcs8 = 308206fd020100300d06092a864886f70d0101010500048206e7308206e30201000282018100999840d1e30c2fda872276f9fa9c50f70ffaf5e109ef8b364a2c72494649ff9dd1a355b48c64e6b22e20d06450a7283bd6b27a6605a4c80cc0c268c09019d130a61c6c9de458cc0a3a0a18a37fa8381463d626ecd8f0d65df983c2f0cd19d0fb7cd97e68bb6aaa6a01c2056db4d9561d5abcda21914ce7a9cab944b1c462f73ae2ebff3666b12ab99c8c6cbf8893446535f25ff9b246d6495c0599dbed9605e0e18cc79b607612e9fedc1f43c93e63a6bd107830dad2804e1c83b023124ea0972a299c2fe8c1e1858ecbbee424fe352e7d3639ca3ed35f0eda7c8d441c3b1b5eb33181a07579ca744e6a3a571953e9ac9a5779a83d1c9ce2fa4dc1b8957e8807503550062bbbfa6b70042e349abe3888144f81b66013b943e2cba029e47854940097efd267ffbaa0494e84c9fef7f11b493f667021cb11120b08fa39f2852db8d1f5fd21415af89fe98d4ed3bd6eba57166a1b3eec1cd979d765888551ed6224ea7031ce23c596d32c6d508acfe91fe4398e498f26d5e0d60aeb63004f3e32450203010001028201800e4e37fb54825612ac737151671e180c6ad89cfe10c6d6d87fa01424eeff0567d596b8ecd006b5d5f2a5ebc2ec2025872d4002566e4022c1cd524e1f614c864759b15c0c78b02c90e746f97480f75201d42aa605794f35281b8d4222db7", + "784176851798c97a81fa72ff2ba3eb591688be35fa3916ccf14e4a3950de8e0b9b6fd2d157df7bb28d529e482cfbe272250447cf9ce269b8c2d7937b0eddba60d4b0edef315c44affb45347018987eebe78d996d269df630228211e56c598fea384216b2ea93fbdc2f39d34cc23a424cbf8619645b586488349f701a337b55dbcac9ed3e381e25107c6bbadfc907ea51291ac640a9acbd518b88a9bf6c49b72ea9892c0599afee60c09aa81276429ea0af806b22a2c67c7fb7ea8a44fa6d9b0d74d2860d08fb4d0cdd8b7d676693b9b56fa822ef66a55e93e8e4c491f225e323622ec68872a3af3f64c23077c89d816d02ba9f5b949a53bb223cf8b7ea00f7a693b8b3fea416a5867429294d93e09e532b00bc1fc6d8a0f83ee7917e43fb5fd687e210281c100d3ff0d7ea18d5bf845989580cf0f3c92565a52c384c0731fe41c2ca44ddf043b87555f1120cc2379c68291d845c1d34e56ef313519c7ff5519fa59152dd03da95571382ef676a42b6acb7c8d09401b7c8b0e3728da4691098a8d0bf036c5904216bc5bd0f2ec8b5589efd8bac7a720c39b8ca4f0aa042782b96fe0ec991dc9d9ecf1d3ce48b4f1c5d6e2211ffa0bc2f935043a4abd7be7443b1b8590a413580b73433bceffa44a9c84a3f683a1fcc2f650d90bd852382a09bfd0b2b7be4c215b0281c100b979e3a53db29e5fa365ce736c12a78462f2390f8859f28c2b4b84d5ee7bdd9df30f3a232bfe2fb993f92b3674e75c88f84b24478673eaeb4bf81fbceca0b932fe9c06b546ee1d45f102c9c1d05d7b41766df99c6fdaf869314fe4b178a518367c7086b1eb10c5b376a2cb8372eded25f5cf386cdd406391b113c0807dcb28b67cdb1cd235532655ba1c3132e599375c7aedca335ef83390909f6b619e635a19a7ee29cf15f8934419b3c1e82d0f5f57d8ee4c8a5488534627a69dbc70ccacdf0281c004a1d611a64608746c50e1336752d5e7fcab0c93e91aab694efaae9f08748f0b1df1e799e03595b0db7d8ee242e3f1520ce43d1703f132cb113e3f240f543584b5b13ba10b119c94b648abf808f3b5a60b03cc80c0043ab712a7f252d55f8bbf65efc7b1d11d0a0e5c6d39371b95b34992e487d61a60ecdc16613370f8078699946bd44cf599be8eac1b54cdf610bbb9e646a95f68b48461214980a9a06c2bc854446bd22213dced7e98769279bfa422edb15068f1a2f8882e00c966ea698f710281c07300fd022c6b607ff494df99f9dce739d310560927867e3a236e440352484375f88bec847a76b5a8dff393b3c470e0939d411a51af3098ed24c1c90c1fbcd898a1fea4ba2a2ce2c1c75aef36d9b7dd010e29caa8114338dc20d364fe15cc6863006dd556e46615efdd13bc14d96265b52fe1391f6760d15c38ec0264a99b1ab76c5b805766f113c7fc0a1707740db8a2032706452c11c207556543f3d77dcb1435681b4c6857251908c6c8e8e967aaba91abd091c530725201abf20a31f6f7090281c10088a03ab418124d0bd687c4fc7129a8678262dc8a55a3c68bcfa942e9cbe9add61dc1754349a3b0e2b3bf5410377fcdc628d9348300796a8d73535f2ec342da3580a492fa87646b8b01cc46954e97f42c85eac682424a2de1e228eb7f9063fa41285b396c0422184c294f2194a46c38121337eada837d756c74bcbb10a54468c74dca9ddd11c415922829cd6de334609da1ee23f941f9d2afbf9fe1e4e5570a1978627d48cec694fe8c249769cfebef53b0d3b5ebed0348b139eb58ba524929d4]\n\n# tcId = 56\n# edge case for montgomery reduction with special primes\nct = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nmsg = 629216be333c6a517fb3427d0394511fa3c24a71113f1234bea7fd4e0728f6c65872415029fd0aaaf1ac7dae14d38503db271db472bbb212be453ceac6ab622e75d5e323f6353ce8b5e7993b6be39c30088d2b94e85633be103ca5d9ccfdc23c5ad21a1a13cf19c3901fe8845572600cc7e5df316f62e2237e224b4e01edb32c819f364f0c9fdc1f28dad2b6921c7952a25a03e59ef8d6c3a61a54c46cfbad22e186201e59e122018dc9bbc744c56ce631cc11f9523f79b41ff79711eea63337c24bfa37910f91783b78a4fe22b80e52e3e1034fcb336dae90122423669230cd46fe543c1e0ed80948d50b7eccf6c222bfcdb61f84c920d2e4dc9d5eaaa1415b13c74f18b94182056e103562dc03320930c20266bdecff56aafbb5bd3a0ac68b669bfe70e329ebfe8ec87cea99ff0b51ce7dd0694f075098a677a4743e10d3e37f1fab849dba39a9c739f1ed150fe7952b35202fb6138d24b2bf55e49bc7006cf78ea80513598310c8b0213bc8525b929e581294c496\nresult = invalid\nflags = InvalidPkcs1Padding\n\n[d = 263e4a970d14fb400f294550d745a1af0d5309c83c92a9127d266a68000d0e92da9771802c6f0b8a7e1a8e1fb19f8a93980da76f91c51533c808f22230906c5f1ff86f2647cd739b06090859f8b59a45150f2039961469cf7c23d976495cdd3d6ba1104fadbe8cf019350f4f90b8e469dc50f824f9bfea7d0e13b095620308182bb06de41d9bae866d35d636c191c482609ee09bf3dfad0ddd8875faa98bbba039b7316bff3900ce841a4916c6691a472313c2579f04d18c8bc2e9b48fe0a17bfbbbd08b911e9f2df0930bcb825b18e0a620754a58ad573a13ad6548bfaf3a9aef6fc802ea81145cf6a08bbdf73bae31244cc34861194d97276a5e6983807b9854d358844b3ce6c103b1b834b7a3b0c94962ad2234e58482e0dee17781df37882780006a8512329a77e918b51de3942d28dd1a98f25f6a4d371d6d5129cfbd8e633cf12afc03187fee8f51ee70b1f0355db0379bc013b8fba8648923cd2dad4b86bbaa522755e852c4986d51af52016872c714c45b99d6741e2ac8480fd3ffa1]\n[e = 010001]\n[keysize = 3072]\n[n = 00c223f29f2f7901b9d9dfce637a148ff9f3bf422d421708f233f8b1a44702c9dd0b3095963a4893676c916522c6ad64d60d969365d43aacda12195876657fffac7c0b9022b87d3b61141bbabc3e55f5fad4bc68146e367d522c3f1701491334fd84c9dd31a78660fac492e86a498985595dd99e7a1bc773634733f774737ee956baf71ba73b9a8df13dd57954457e46c13deecff314a7b28959f417b2e4a49bdc186b2459f5b55cac8913f8e1e385b46a1354f03e366bce0e7640c0bbb2d8cdd9a218aa7a98991aec07e50bb2f335269a38febc58dc2af828788200a57963df383a547a552b69dd2c6a47c804909edd060746a185bc160e27df0027388505752bbc5a6875e0d2a780753a86148727b6bb07191c47e2c89c780c49fa3d9024aa3e9172d4ee79d3bd6e4d250345dfc85956df7a3c7698ae11191bac2105ec9328aaa1dfa9f247ec8a3bdb40922f3b1f5dc0e6f38e0336e6c9e266d0d05ad0015b4ae51efd5274ff3a12747f9a7cb3aa0dd958f29da120da885ef964db20bd30f381]\n[privateKeyPkcs8 = 308206fe020100300d06092a864886f70d0101010500048206e8308206e40201000282018100c223f29f2f7901b9d9dfce637a148ff9f3bf422d421708f233f8b1a44702c9dd0b3095963a4893676c916522c6ad64d60d969365d43aacda12195876657fffac7c0b9022b87d3b61141bbabc3e55f5fad4bc68146e367d522c3f1701491334fd84c9dd31a78660fac492e86a498985595dd99e7a1bc773634733f774737ee956baf71ba73b9a8df13dd57954457e46c13deecff314a7b28959f417b2e4a49bdc186b2459f5b55cac8913f8e1e385b46a1354f03e366bce0e7640c0bbb2d8cdd9a218aa7a98991aec07e50bb2f335269a38febc58dc2af828788200a57963df383a547a552b69dd2c6a47c804909edd060746a185bc160e27df0027388505752bbc5a6875e0d2a780753a86148727b6bb07191c47e2c89c780c49fa3d9024aa3e9172d4ee79d3bd6e4d250345dfc85956df7a3c7698ae11191bac2105ec9328aaa1dfa9f247ec8a3bdb40922f3b1f5dc0e6f38e0336e6c9e266d0d05ad0015b4ae51efd5274ff3a12747f9a7cb3aa0dd958f29da120da885ef964db20bd30f381020301000102820180263e4a970d14fb400f294550d745a1af0d5309c83c92a9127d266a68000d0e92da9771802c6f0b8a7e1a8e1fb19f8a93980da76f91c51533c808f22230906c5f1ff86f2647cd739b06090859f8b59a45150f2039961469cf7c23d976495cdd3d6ba1104fadbe8cf019350f4f90b8e469dc50f824f9bfea7d0e13b095620308182bb06de41d9bae866d35d636c191c482609ee09bf3dfad0ddd8875faa98bbba039b7316bff3900ce841a4916c6691a472313c2579f04d18c8bc2e9b48fe0a17bfbbbd08b911e9f2df0930bcb825b18e0a620754a58ad573a13ad6548bfaf3a9aef6fc802ea81145cf6a08bbdf73bae31244cc34861194d97276a5e6983807b9854d358844b3ce6c103b1b834b7a3b0c94962ad2234e58482e0dee17781df37882780006a8512329a77e918b51de3942d28dd1a98f25f6a4d371d6d5129cfbd8e633cf12afc03187fee8f51ee70b1f0355db0379bc013b8fba8648923cd2dad4b86bbaa522755e852c4986d51af52016872c714c45b99d6741e2ac8480fd3ffa10281c100eb125939d95519041745b41de83c28db4703030b4772eb179e204404026b1b10b8dd3a14221edfec2ca095d90dac23b5605f96085f7057c5239580f987f92c0647921c445c44702237cc08942026897094d1fe5b69907028fbad68e2ddc734d5a59a47b04c3c71dbb2ba5d97bd76f7c71d3bd1da653af1de2d5ebcd8a5532ee2f78ac6d6c74c79c845ba81f872de04a964878b7cb63cb5986cd120d03fe9ee059b20dcb9458a0bdbbfe1cced3697815c0e35fceaed1b11d28f26b5418bd3dbbd0281c100d36cb63cc9b1390f9078127c2247bad88b8fb42bcabdaf3e674d2278fe3fe8b781e34b2580aac9e4363f1f7af81bbe2d44272e9ae682487b246766986bef6460432cd8c0b13a4c30dc692363230f721ea8c52ee15e4bdb1439119867ea9661a1e41bf957ed5432c5c0daded329f554b284eced71dd8a6d9fb766b9974df95af14088c0d7e65975f5683f6bac3d851b8df9359c85cb82fe72f4f54de4c7fb4c9150abe498fe70123d9687f3d453000d9c5765be5927876c6fb080403a7", + "c6ff1150281c100a33eb2c801ad9f19c02f9fcdc521421e454a4a2ae30b63479b803cbbac1245516f8ff26d58e4a80c935151bed247e0e46c70f4f80b8f30e4aeb97c3fcdb5b46507fee7b27180f57e4dd15b83c27000b236273ec4aca2a9c14c4638b893db6b4d931b78fd6d73ec7dedb88e9679f4cc4d7277c05c3240a506edeb04aa4ee55d8230f626efb0a7e34ab961b4309d54a15821801fd613984563fced9e2400beab95290dc13ac897fd7435e4d1334ade1bef99ced43d313bc33cbe3cdb53118fa6e10281c057d84d87c84da865bd23069b292b208924c39a9aaf6c4cc9e2e5fbb2c6010bd263576b3bb3d0427e5dc3b072c96fcd7ec5587a56c5fbcfddca6c640664a25cd45a54e1e27e40b8b37c80fac1102a34c26461396f4e5cba3416da26b6d693911150d406afefde12127464fc3c44acb87a4c1c9d33b856f1e170b46fdc5bfb853bc4128dfda6a9f906f43f959f45186f3078213c5da307546db335d11d83b1f848507a7b4ace3d06772c7a64670ded71ba49ddee4ee0cbb5d45a438f6c3d93cd590281c1009908f5307e4b62468129a74169db749a627dd2b098ea5e1723bd960dbab914df1c3355e15fa69a4fd0975d75ca67f8fd194e3da14d8a29bc44c9c442cca228af2ec47b12ed4bececfcc18fa28ac3b035a85bad683bd4a256f51a411200686aca40eaeb8b60465fe0b2b1c41baacea6af8e4401eaa6d4ea251dfa6b8080037c908e3d2ae037517bdb3f3855191b904f5472f75e94cc30c69c93b682872ee3ddb6e6fdb83159888392c796bc11b44ad810a739545def05571c504a6c6f789d64e4]\n\n# tcId = 57\n# edge case for montgomery reduction with special primes\nct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nmsg = 9208ae264a9a8268b2a34d01cf520e338e6a73f64488491a61a2a0c21b5e8239e96e9bc1af2e59dd4518b5af46c56fe737590db77c503f03823c3ffa933c92ef664e715a0347958185ebc96fdd766875cbcc0ffadc5b0087e2acaae7244279601b1ee8119887ae7db73c93819c5967ed9afa78c9144fe7b0d7d335efc408e6e5b40fb1116796820f08a4502d0be3119fe025b9866e536b2ad34ee2dde80d8212e588e021015ed15d8e76199ad1e9786813ad77496abcfb4e17615619d8899d7001a5039f35b38a3d9a927e7be27cb1b56a853ef3a29cab57ab4af18a542bc8f9f3913f3852a1758a2896d85419d1c917475fe511c6ba37b2281cba2af684c803624a641a8ef53bc8af9022c1087c05484603d62de61cc696c34b6b78a1de2a53c6805955\nresult = valid\n\n[d = 008dbfdae383a9062ed400f30d66d0de44917f89c800ee5b9ff420d859fc3455994e2218ca21c96d46dc1a478e032977463d7f3f9ae6b7c0d2d00b87f948d92f8a2e6dafce783d4755d1ff2d4b22c62ac8cab740074620a3ea8e20893ae66a5082ee9c8583e25979dfee4577968161fa9932ec3d017fc2ec1ff5047d03c7398fb8302a924b909ea8f9faa646c265dd2bdd51391c6cdc6746158ab0fcdaebbcbb69c8343ef4d525b0b39d6113598a8ff3e500e7222a923961971f3c06a0ac8200e7d375ba868b0b143ee5394497d00372e7234d92a3990972cfce9cdfb65cbade38ea61895b3d7839bc8310bdcec72aacc45007499a0c1c0d148e85d53dfd8e1778d3af9ad5380c82c9b93206612d202b8ecc0f41f5acbbac019d606fc6b3d2256557294f1801ac7789faf01d140a2a4950852c64187dfe1b79efd92fbc04f9cdc1f22462d7e653a6a32eac5beaa051658d64bf01c5cfd021d30dcefa93ea2d6f2887054adbc5127cfd5560174ee21d23bbeab417f2556eff9e6b1d637d5a173b49]\n[e = 010001]\n[keysize = 3072]\n[n = 00a042bdf5cf4154687fdc22ab67b351eee869b92249741ed17fe777125a2a2a803d5037aa045ec510cf650e8b4fa55147e33adc68defb6f991f1f8bb6a3d450cc458c2284beda9d352a3a8c5a012e34b318bea7bbcdd919f379bd839b9b625e54370f61eef191b0c4d399a7e988bc421981a7e4f653c778853c74ef61f347330e494758f30d0f5ccfbdcab8155c2977c91e73cb42a66ef99f3dfe784f0061f7b31a01fbcf2c7cddafc85705a8f68ade4b6853b61d287e2e8f1547462ebf48331a22d09f5bbcb3e48002f6797221ca062308c6820dfee4c4ca06549e3a5cdea6387a7cdbc496114c07a9de1f3458194bbe2a120ce6dc5cb6e54f889aba7e53345e767172f9b6e9d683fdc34b9a95cdcb15e76915da905e0ef66ae2ccda527b848e316bc4885e70d314043ffd9713b3ebeee8282f3c3f015d7c3aa9bbb9ab4c6be56dacaa7d4388753b70aaef19b4d36285031c3b8e605c62db28df17ae97c18144072dad237fc16b9724bd9dd4d7abd95dd55604afaa61b81daaea6a16e23a3167]\n[privateKeyPkcs8 = 308206fe020100300d06092a864886f70d0101010500048206e8308206e40201000282018100a042bdf5cf4154687fdc22ab67b351eee869b92249741ed17fe777125a2a2a803d5037aa045ec510cf650e8b4fa55147e33adc68defb6f991f1f8bb6a3d450cc458c2284beda9d352a3a8c5a012e34b318bea7bbcdd919f379bd839b9b625e54370f61eef191b0c4d399a7e988bc421981a7e4f653c778853c74ef61f347330e494758f30d0f5ccfbdcab8155c2977c91e73cb42a66ef99f3dfe784f0061f7b31a01fbcf2c7cddafc85705a8f68ade4b6853b61d287e2e8f1547462ebf48331a22d09f5bbcb3e48002f6797221ca062308c6820dfee4c4ca06549e3a5cdea6387a7cdbc496114c07a9de1f3458194bbe2a120ce6dc5cb6e54f889aba7e53345e767172f9b6e9d683fdc34b9a95cdcb15e76915da905e0ef66ae2ccda527b848e316bc4885e70d314043ffd9713b3ebeee8282f3c3f015d7c3aa9bbb9ab4c6be56dacaa7d4388753b70aaef19b4d36285031c3b8e605c62db28df17ae97c18144072dad237fc16b9724bd9dd4d7abd95dd55604afaa61b81daaea6a16e23a3167020301000102820181008dbfdae383a9062ed400f30d66d0de44917f89c800ee5b9ff420d859fc3455994e2218ca21c96d46dc1a478e032977463d7f3f9ae6b7c0d2d00b87f948d92f8a2e6dafce783d4755d1ff2d4b22c62ac8cab740074620a3ea8e20893ae66a5082ee9c8583e25979dfee4577968161fa9932ec3d017fc2ec1ff5047d03c7398fb8302a924b909ea8f9faa646c265dd2bdd51391c6cdc6746158ab0fcdaebbcbb69c8343ef4d525b0b39d6113598a8ff3e500e7222a923961971f3c06a0ac8200e7d375ba868b0b143ee5394497d00372e7234d92a3990972cfce9cdfb65cbade38ea61895b3d7839bc8310bdcec72aacc45007499a0c1c0d148e85d53dfd8e1778d3af9ad5380c82c9b93206612d202b8ecc0f41f5acbbac019d606fc6b3d2256557294f1801ac7789faf01d140a2a4950852c64187dfe1b79efd92fbc04f9cdc1f22462d7e653a6a32eac5beaa051658d64bf01c5cfd021d30dcefa93ea2d6f2887054adbc5127cfd5560174ee21d23bbeab417f2556eff9e6b1d637d5a173b490281c100d431312c577ed9cb758d030d228167d19a4ab4e04abf13a457e5d284f75fbd2374203652dd7061f14df815f7d42f87dc8cf31715a617a38459ca2c07253fdfa98a739e0c8a7b56ba4b3affb17f6032b2bcb0a021983f38d6ef18dfdd4297170e16f70dd41e293388c271e552732889bd613b6cd84a0bb02e8eeae9ba201d68b99dba3be287798413719baec029ce9466dce73d78b753e84eac91ac4d38bbca8a5890d2d7e98d1ea161d2702aa526fc8522ddd93fc4deb97521bf0c6be14c0f330281c100c158dcc146d31e27a162dd8613bae1c2e6189a48c5cdacf8ffeec640decb00ee5ee4c20a7137006bf84e2b30e9ec63847f3182a5b791eb2821f66ea5fb0e712163d921447ae374f8a7f2982f023d5938998c28e8f78c99b608a2249a3a185df08a3f564b75253158a968218cebc537a6ec6dfab0a669bc4401ae86a6953901f65169f9017aad4c32f950e48a0cfb51ca757c9c05768e13f62a3aca2e6635e4e9457a9ad40881885f94325a5ba362ec8e160d7a49d145327917b5fff9086424fd0281c0799b439a2cfeb6e5029670f43b1d3c99843a6254d4a193293172b5e69c3ad313997ec8834f03142e8dc7ab17601469617da9e745f1ed443a1a97620a2a4fe3e7af403988e8686d38d0da9c256661844ca914f480ac573744febc1bb81b6ca9bada70760d65c7a9102c97c79c2c014487334d3240f696a23edc8b46adf3afc70ff19404b3fb7e29b256fea8f4da40d90de675e3e5e5f30184ed238342b24bf574b9f32dd2adb7c1a12d85c3e0bccb8e16e2f78f851b57a5a3ba565a510d4a60bf0281c00685dbf4bd51f40b7c3b5ca3e05886b34f95f6e68b9dd3bf16cb546eedd54573c549cc6e13c1ba46ea3aa0e4668fee0f9346f55467ec0955f247611642710b4a08175432fe3e5c3ce355a0e2bd1d9abbf91a2c6b27a6dbacb37fdce243217d51d72829de23d69c62945c89fd3a1b0e3498776164c24880ec7e6e07e6e8d3e2880fd91668815e055b16e42ec1a58c7906ee8dc4a9be852e91387d8142ad7a15fdf4b51d3218135ea972d37c0ee96535fbd92c9d3a8e4fda531184b75d0c766c750281c100c99a1facef22c8566c5c03d06deab7465846cc4f0cd0a078a86519d5fc58ed5d2b21e025f8b1b28e65dc31e0a25db47d48a2dee87a928d0400d8ac81a2f260092d91d9663c8f548db726f9db992052503854c1c6e0f35d435ce333eb1dd3e3b742561e3ecfd5e62c43fa4c6d3d89caaf320ef4b68eb459c06198c531308116b746026b05512ee56abdbe098ddf1c9802e16541b647963c8d101a2d4fdac381b7cf40b15ac6ab33885402a65548df5634a99ed68f90e9fc6bcefbc0e8ee49c133]\n\n# tcId = 58\n# edge case for montgomery reduction with special primes\nct = a042bdf5cf4154687fdc22ab67b351eee869b92249741ed17fe777125a2a2a803d5037aa045ec510cf650e8b4fa55147e33adc68defb6f991f1f8bb6a3d450cc458c2284beda9d352a3a8c5a012e34b318bea7bbcdd919f379bd839b9b625e54370f61eef191b0c4d399a7e988bc421981a7e4f653c778853c74ef61f347330e494758f30d0f5ccfbdcab8155c2977c91e", + "73cb42a66ef99f3dfe784f0061f7b31a01fbcf2c7cddafc85705a8f68ade4b6853b61d287e2e8f1547462ebf483319a2d09f5bbcb3e48002f6797221ca062308c6820dfee4c4ca06549e3a5cdea6387a7cdbc496114c07a9de1f3458194bbe2a120ce6dc5cb6e54f889aba7e53345e767172f9b6e9d683fdc34b9a95cdcb15e76915da905e0ef66ae2ccda527b848e316bc4885e70d314043ffd9713b3ebeee8282f3c3f015d7c3aa9bbb9ab4c6be56dacaa7d4388753b70aaef19b4d36285031c3b8e605c62db28df17ae97c18144072dad237fc16b9724bd9dd4d7abd95dd55604afaa61b81daaea6a16e23a3166\nmsg = 29bdcebdc645b1a7098760e99ba6b1bd81cd48fe6e05f972717da8cac3507b297041547f52f12aa8204ec5a74ee53649795977a42c70d95e4571\nresult = valid\n\n[d = 4d8ca146c242edb907a12063e283c091f345ce23a7bf8e5a58f79e0fe06892c5fe4e9a9a28b2970a95e92f04b9d6480e2a010c27fdf32cdae25a869e4691cee867caa5648c0e1280d65a490fe93e3ad37615482fbf68e7295796ebe6453035d06de88b23895890aec2f58842fff69c96e8e1ea2e89ba4cf543270b300e45ae37172f3326673cf4cf8edb553f14034c92275fe548b9f7f59b5e9f7aaaa979bdb6b1fdae48266316b0a52d230ceb8ebbe60c58e05f7610daf0aab611fe9f9aae67fa34a73e7bd980ad7b190aae61a3a9c9c555aa63ab39ed2f9a2fc51fac44e6b26a16038ed3f0473b06f42a3fc35b2cb2e2dd76fe20bbe4c686f15804821039740ba63797418aa70c5dee624e273de68ffc272c786f2feb12c4afdf26075a6e45a3d9ac82a82cd42e90af8cb213610b5e58b7c8d6175ef8174e24739c54275eefa9b93c981f3c55d559f28c8b91d09df60d6404d3e232abe0841a3c792b120b8d34f85bbed8f6e0f035504efb6b6ba59eda6e309e1898181f8f45d37aff35cf91]\n[e = 010001]\n[keysize = 3072]\n[n = 00a75d40e1d30c2a269236fb615e38a8fd4695835d026dff86efc13422f4a1a693c1c1a419b079cc2164422b06e95b45dd67275caa462ecfafdf676345bc798ad26c7d1d3cd1bb59605281e78dd73b93ab55aeb38e1f14478a704f34b50e64f7f45d2dc6c27485ec264dc78fc817c0c733a16b8945d7ee0ca8923ff0023ce5c71a459a2a7c212d06b0824110afd4b8f6ae154fdd685e38c3f22d28c9ab248c5f77a16a9189a0f393145b99cb4b7b11d346a385209e8ac7dada3cf933e91df6a8d17a6811d642c73ed97b2155d8b30c2334d42e0ef18b8cab09777c03d74c2a003a08736fed5f8bfe4fd564894d6038dc92bc754fbc57053f8edc6a150194ebceb3792eb49df66043c957a1044fbd236ca7f9dfe350eac4203bb2983d1b2ce1f2473610e590d76a919c45f2ec6a83faf8362b35558bdbe3b7a7d17b967c2e46d2c93f507588c52e7f18d6ec131fef0b90b8e8de83f201e6ffb6f429fb49f8c37ab6ad8f83df9792b1d7f6f497cf46adeb2602f145af0b32820111e989ddd2f70deb]\n[privateKeyPkcs8 = 308206fd020100300d06092a864886f70d0101010500048206e7308206e30201000282018100a75d40e1d30c2a269236fb615e38a8fd4695835d026dff86efc13422f4a1a693c1c1a419b079cc2164422b06e95b45dd67275caa462ecfafdf676345bc798ad26c7d1d3cd1bb59605281e78dd73b93ab55aeb38e1f14478a704f34b50e64f7f45d2dc6c27485ec264dc78fc817c0c733a16b8945d7ee0ca8923ff0023ce5c71a459a2a7c212d06b0824110afd4b8f6ae154fdd685e38c3f22d28c9ab248c5f77a16a9189a0f393145b99cb4b7b11d346a385209e8ac7dada3cf933e91df6a8d17a6811d642c73ed97b2155d8b30c2334d42e0ef18b8cab09777c03d74c2a003a08736fed5f8bfe4fd564894d6038dc92bc754fbc57053f8edc6a150194ebceb3792eb49df66043c957a1044fbd236ca7f9dfe350eac4203bb2983d1b2ce1f2473610e590d76a919c45f2ec6a83faf8362b35558bdbe3b7a7d17b967c2e46d2c93f507588c52e7f18d6ec131fef0b90b8e8de83f201e6ffb6f429fb49f8c37ab6ad8f83df9792b1d7f6f497cf46adeb2602f145af0b32820111e989ddd2f70deb0203010001028201804d8ca146c242edb907a12063e283c091f345ce23a7bf8e5a58f79e0fe06892c5fe4e9a9a28b2970a95e92f04b9d6480e2a010c27fdf32cdae25a869e4691cee867caa5648c0e1280d65a490fe93e3ad37615482fbf68e7295796ebe6453035d06de88b23895890aec2f58842fff69c96e8e1ea2e89ba4cf543270b300e45ae37172f3326673cf4cf8edb553f14034c92275fe548b9f7f59b5e9f7aaaa979bdb6b1fdae48266316b0a52d230ceb8ebbe60c58e05f7610daf0aab611fe9f9aae67fa34a73e7bd980ad7b190aae61a3a9c9c555aa63ab39ed2f9a2fc51fac44e6b26a16038ed3f0473b06f42a3fc35b2cb2e2dd76fe20bbe4c686f15804821039740ba63797418aa70c5dee624e273de68ffc272c786f2feb12c4afdf26075a6e45a3d9ac82a82cd42e90af8cb213610b5e58b7c8d6175ef8174e24739c54275eefa9b93c981f3c55d559f28c8b91d09df60d6404d3e232abe0841a3c792b120b8d34f85bbed8f6e0f035504efb6b6ba59eda6e309e1898181f8f45d37aff35cf910281c100d57a386ed50f742e4a30b2f3e0834510e0ce2f3ef0e80e513ad8bb0faeaef736487001dc40578c110cf9a9691acaffa2fdefdd15dc2433b745fb3cbe75384d9ece8a682c1f96dfcb0d062201e600555c69b07ef842d8c32cfdbb35ff1094c23837380687e8bbd0dfe41bb38e19329b5ee075be9aaa18f2dfa78ff2e749ce56870a9f9d937da4762704d457c33b18bdda7975d6535b15b13cce41a53cdf3783c495eb153c5ac37b12b0462088f358e683f940e74614d014bbde19ad60939de0390281c100c8b399e5ec4a047ddafd59d589263b12435921c9a37d5db9882fa953bf43970d702cfe6d51a0017d1b17431953682e3ca3c940d07b4897148c7eaf7a66662d93c8e544a6b425d2a3bbfe4ca584b0711eb560ba8c67460b85edaf9d9b4d1df0895114c5f19df7bf3b626340c58dc45a1d5f1d5aa6804b2a4bcca696da9641fbbd685e690e46c4a8725b9b662a5cf6d0261274f58c0bc3bde175dc98b0430583b60a240ae5ee6b556e371b47ce784c48b831267e0df934fd8c39388cb5110257430281c07ce3ed020249f1396794080d9f4a8cec6be8944169650983423f2b68e8545a327abc748a2b664c7e692de28ba7ee1d1279278c1b4ed82b1d4ca6c809d0c028c100aa7e7959ddc57da057f72b4f28e0c798d975debe14dc5284fab2834f6b0819254cf49d2c6e3cabcf62d9700793d0cbf7db4ab06755033a0f68aabddf3304f22a27e963313d37166abfe3bc46e599a4a82c65400ce8aaf11ce5d0cac4f850718117b02bc819d6f5bf04b7e20723fa7039315c5c66aeb9829354485758e523190281c10096071bbdf1fa0a8d820bed0160ba8161cf926b5d6da7234eb36cdd68cb0add79a0272231d9d880046321ea789e0ebcb17bc5cf7b890ce452ea0b31658ff24593b99318d47cc9e141a020226f8056dcd895c12ef211a91ca80adb42377b582c1c99cdab8248119093f5a23822f52c982868976ad21809181efd667252080c5f00616a61a1d868dd7a4edc456cd97d6e6f6750a2d5035e592c968c465f4c5a6cf0c177dbe5b169eebcaad8ebbe7dd2987187dc3c5279bd90e3274b0c73b5b9483d0281c0080daf873baf040a47826f8b42aa05c0dc5dee17dd1728a5f4d58657186fd829f451d26aa7c754b2daa2b1ff735d6ed25275db01feaef616fb5d9d487599d54b6f9981bfc57945ad5f8b22f4af95b19f838621cdea5f89c8ba575f5ab02e3bffbf89bb1568c9c59f8ddcc599dcc22b1be5d8a8d18c39166c3ffd8f294feca23f9f3e918abfa445ab6e5db688bdbb9f2f8cd95483f3229b1ff0de8acb8116aa48088c5bb02a7f36c6f0308d83d4ae3a9a9cffc4761a5a102ca3d4eaef8f51f970]\n\n# tcId = 59\n# edge case for montgomery reduction with special primes\nct = a75d40e1d30c2a269236fb615e38a8fd4695835d026dff86efc13422f4a1a693c1c1a419b079cc2164422b06e95b45dd67275caa462ecfafdf676345bc798ad26c7d1d3cd1bb59605281e78dd73b93ab55aeb38e1f14478a704f34b50e64f7f45d2dc6c27485ec264dc78fc817c0c733a16b8945d7ee0ca8923ff0023ce5c71a459a2a7c212d06b0824110afd4b8f6ae154fdd685e38c3f22d28c9ab248c5f77a16a9189a0f393145b99cb4b7b11d346a385209e8ac7dada3cf933e91df6a8d1796811d642c73ed97b2155d8b30c2334d42e0ef18b8cab09777c03d74c2a003a08736fed5f8bfe4fd564894d6038dc92bc754fbc57053f8edc6a150194ebceb3792eb49df66043c957a1044fbd236ca7f9dfe350eac4203bb2983d1b2ce1f2473610e590d76a919c45f2ec6a83faf8362b35558bdbe3b7a7d17b967c2e46d2c93f507588c52e7f18d6ec131fef0b90b8e8de83f201e6ffb6f429fb49f8c37ab6ad8f83df9792b1d7f6f497cf46adeb2602f145af0b32820111e989ddd2f70dec\nmsg = 04c0e503fd66fa6ef4b37c97b71271cb2bf086942c4385f93382f0885a22171a1971e27a1bef0c63fb1eb6b1282317d2533e74995f69f346cb3071a2a34de273bbccd64a42c6524f79afeabf89bd349a4aad3e57a15166ec7292e99125eab47890f032d594d9988d3e3b1669c1b8964bd9b092b9b1dbc18439f020d9535d26550451b5a1c9e43330d14fdca922c31b5aa0ef0fbdcf221fe2929aae562252e98a9ea02f5a1c24b4d6374406b64ff91c979adbbc86d10a83e078f07c46f64d1b21afb415383b2d49115ec29c205192fa026d05becc7d47b549ffc4f685720465a9990d\nresult = valid\n\n[d = 7586a13bf77ea7541890f07c8abfb2756605c3af4465beb85a5f78e25189111b86e7dd5659a94fcde4f2092ab6db02cea662852c01ad23200ba13e7afc817d846360747dd5f2650c5b9bfe64a14b3f960e475cda0a0065e3824e8dd041b1f6c7192315763146fee8ff5ca6e89263a0397fb672b04e1f9a75f5d50390707061cc670410957758d461003a43085fb19dd2bad1bc19831b903cbaf904ae1537a62fe19f96fd54fcdc998018abd436b1487fddce73d48fd44fa3ff498293fb9c4e4195286633c630fbc687d27bb6b12d67e7cc168b7c242c88b828f41a6821589070875e9e268014f99f25f64cfc1da7e047e34287ad1a265b176d36d32d5028750b89491b546bd42d459431d8dd82cf0674abf7330b8ebbf91294d47e7383a5209a7ba8422539501a8afc5ea543b556f780c8b92eab449fbbdd4a74c7a9834a9bdc99f4be3a0646b6b75fdf7b55154ca343bd0ed83eb81c418004fbf1860963e1ea748bf9092a6ac99c62e0fb6bc433d299ebd735f52019013a5fd2bd113c631de5]\n[e = 010001]\n[keysize = 3072]\n[n = 00cd28c66b3cf8b75d2a4a6d96c7abcf2145be897d17a25b8970faf4afa48a9ab2492283084e2b414ff4c316871bda6608f0d984aa0de0990cdf4ffaa0d98645246cf193c5f2838e55bea30d63c033b85b3fb7d9c4fb5bfe091901511d9fe20e0a59b5c2ae139b002127b429a16e723bc81cbf765c20cfc9b49268450b3e8a8f", + "83cb1dbf76960b3fcd84737a9d316a870e7419d28a59590e76fbc704f3801719234cc511a20cbd2a68ac8f1610a43c3eeea26d58356e1f9f4897cc3e7887ff3fc171b05aa82c99a96abc3a99bca914ecf2ea0dd27699035dd9055ecb0016a10287c2a7bb9fb7b0a137dbbf98ce8f22f18e47033a0b1ce379ec668ae6d225f007d53c74a981e8d2afff9d1478946a79238399638a28220be68b3d1ab0c1910a1c2bc881482b06c04c2f4a9bdca7dc7ea12cd7af410b040ab01d8e4cb10ba9d4e304b9ad95da35a981cd6c07dd593fd079c92152e33ba3e75d6abaef5f58483e0da821c79e2d458e1b5e2571874788c276235d902f99879fcec4dbce602e7342b47d]\n[privateKeyPkcs8 = 308206ff020100300d06092a864886f70d0101010500048206e9308206e50201000282018100cd28c66b3cf8b75d2a4a6d96c7abcf2145be897d17a25b8970faf4afa48a9ab2492283084e2b414ff4c316871bda6608f0d984aa0de0990cdf4ffaa0d98645246cf193c5f2838e55bea30d63c033b85b3fb7d9c4fb5bfe091901511d9fe20e0a59b5c2ae139b002127b429a16e723bc81cbf765c20cfc9b49268450b3e8a8f83cb1dbf76960b3fcd84737a9d316a870e7419d28a59590e76fbc704f3801719234cc511a20cbd2a68ac8f1610a43c3eeea26d58356e1f9f4897cc3e7887ff3fc171b05aa82c99a96abc3a99bca914ecf2ea0dd27699035dd9055ecb0016a10287c2a7bb9fb7b0a137dbbf98ce8f22f18e47033a0b1ce379ec668ae6d225f007d53c74a981e8d2afff9d1478946a79238399638a28220be68b3d1ab0c1910a1c2bc881482b06c04c2f4a9bdca7dc7ea12cd7af410b040ab01d8e4cb10ba9d4e304b9ad95da35a981cd6c07dd593fd079c92152e33ba3e75d6abaef5f58483e0da821c79e2d458e1b5e2571874788c276235d902f99879fcec4dbce602e7342b47d0203010001028201807586a13bf77ea7541890f07c8abfb2756605c3af4465beb85a5f78e25189111b86e7dd5659a94fcde4f2092ab6db02cea662852c01ad23200ba13e7afc817d846360747dd5f2650c5b9bfe64a14b3f960e475cda0a0065e3824e8dd041b1f6c7192315763146fee8ff5ca6e89263a0397fb672b04e1f9a75f5d50390707061cc670410957758d461003a43085fb19dd2bad1bc19831b903cbaf904ae1537a62fe19f96fd54fcdc998018abd436b1487fddce73d48fd44fa3ff498293fb9c4e4195286633c630fbc687d27bb6b12d67e7cc168b7c242c88b828f41a6821589070875e9e268014f99f25f64cfc1da7e047e34287ad1a265b176d36d32d5028750b89491b546bd42d459431d8dd82cf0674abf7330b8ebbf91294d47e7383a5209a7ba8422539501a8afc5ea543b556f780c8b92eab449fbbdd4a74c7a9834a9bdc99f4be3a0646b6b75fdf7b55154ca343bd0ed83eb81c418004fbf1860963e1ea748bf9092a6ac99c62e0fb6bc433d299ebd735f52019013a5fd2bd113c631de50281c100e987c5939a9f762b3515c6edccc115dff8a4b1fb2d14ecc97bf5352227099dd03a017ab8ae582dbe3d61ef569b1e08f723017b0e46db2ad3c0f8f04c194f30bb6d8d6390b2e02f0916acdeb5b7594ecd9b407e759eb79586b3846a10198e11c812a6ba81a7924bdcdef41ee09ad9ca68a8c71b2041c7274cbd6625fbc16c0915fcabafb686bdfa7f4fd3c632becf89f8a970cb9e41dcc1610f22d1750a9c1758ad629c0c2766d85a20b1e012c0fb146afc8b13d0e03d8bda602544b83b57325f0281c100e0e62d8e30421231960afd71f2a19bc861032ca46b39769d027734ff2df1ec0251408a4084c6ecdd05117b7041d5fecd0db85076a46f942a765ad0f8a6c3595abfa8adc6aab749c79bb0b2dd89310bf3d4798075464192a1b828c376e624ab432d058c2bfbd3ac476f9b1a07330f83993ad1d04f656e9795cbf4d76e659dce3067b1c878dfe192b4a4236043dad10d0d0d32c5523228dfcd363e0b2f2296f45661245c9656670111c690a7d5d11ddc14524199935b7b7b6a11f5fa156db99ea30281c100c6a275abd7194ba9f4bd513773b1c8a979149d4ec849c41e9d1134e097d3d628072ebaf3db57a590eb25222ec84203de322850431481d72bc637f82cc25a59591315f05a63cbcc362ed35b9bb51881aee11f3a71514f561ffd11e4254d974a08a3d4ad4f1af9950d89969bacf009cfe0b5aea5a40a4f1b5e6abb3813abb1f9087aa28e12f30924c8a55dbc77ed551a4627d98958532d324f1c50c1588c6db86df50cab2eab550f319a1db23a416b4f32b11c9afe4fbe09f6f550bde2f69674810281c10099c9ecd6f17b0cd3e9a564405a4956acc4621651ec9ca3d6a40bfe2a8d318450e55cfbed389e8af46c75d2f225a2ff151b4fb17e1fddc8f4ec7017bc20d52eb216a373098a4dc1df0440e55f06648aa6d6e1ab0d06d8ea3b3a226ddf4d6b3fcdb4e8b93c8e7ce5af07cb8915e93dafa0c58f1a2260db2a3f1df434a8e245f1ec39cc61a8fe775309c1c00b20fb6dbebdf10b89d13649ab18ba01dd46032234bd28ba63b1ce2dab968b30fa040576a4bb24b0852336088f912ded057147d2097f0281c1008dab32afc5752a6b77069bf4bfce453bbb230bcb55aaf83a9fa211f3bcee99c32bc1f755c0b0909df8eb4f528a4830d658ea4dde08258c5cc6acb0aee6508081d4f533102fe1d0882aed54a4b681497050214999b7767f13e1015f751fb677d1328278f39d2da05fa655ee763402fe952c0a9fdbe3185635109b99b23712e2a5f26e9e708070f879dac82a26e0aff8056d0da996805006b6dadb31334591eb66032348fe9254b40f4422796de0a43a0c024b470d128a144aebabbbd7acc38f00]\n\n# tcId = 60\n# edge case for montgomery reduction with special primes\nct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nmsg = f2ab0b5432f6fd168c8b147a63d8b5440669ac11d624322792f77718ecca555a69b6adbd15808fa00ef0676a4c9b715031c09d2c9b67d803d30f2b2e1dcf6678e175f51f5a097e358152a3a41883e7c946ed286aa0c6007ead4b043f95b9a78326799567c0aee0b8fabf22a8dff6fe555217e751c3a899272b8a654a177d6de33635dff126c1e9f8501e0395c96e0d0c33df70ea866150b55f755ccdec9c5469ff85560317ccc6214309db4c3061c9ec82922ae2b8107e375d73da5808589b14b7802a78d3769b6d77dab5d928466c646829d7e20784c6ca1c3250ee26ebe467497d36cfe15e5bb52104f7277c8813a1a1eb3b34c2f2ee9a877178391bbd5dc91b245fbc1819f39c97b50a6b6c389d5eed2551903f230baed3809ced4cd803f6f309c96441d49576f32468beb0187b5017bf2b0e65b5bfb532e89dd102fec90fab725e067fddcc1d00fc\nresult = valid\n\n[d = 3fda65bf865b1d3afe1b0310f0fc1a9936ac5fe21703440f2df1c0e68ca15212d79d6e4cb9729d3e8c91bee6808c3a72c65ff85727b1b07ce236dce646047cbab84ced28acace55648fe776be5ee7bb2905e2e9e74791179c573366003d8c8f90e6a7516c1631d160531520f83994db354bb468d4a9734423f5c7d8cb0e275bee778fdf9c762fc0485aeb09959aff561e74d7cbc7153c4710f9cf2483c7d6883b59ee8611fca77410e07d2fbbad208521ac05b454610c13c9cc25add343cdd3814b724e8d18a14307b65eda07541430a38e41cc4ec721c0a567ce01594cf4020884f4168b1c517d7a0506ba36b15a2f45bc20ef6bafb2a664193ae67576f71968112cd2165ad0c5878c9422845a81ac18a1bd54a869d38b38cfa2284916db78f432789780c5a069233fe22a6bbdc7af534d44bf22def3ce7bf2eea4fb47df31b222f8ce5bf3e38ab648f09b9c149448ad9329bcdbdb6d48d14f89a772ec42264bbc81a859ced4e15c63725b0ed9f1316488a59f5d8db12c78b45a561c8e32339]\n[e = 010001]\n[keysize = 3072]\n[n = 00c5f8f256857e74f7e0ae6938068d733d2ce6f61f85fcb1d146b6f51463992fe37051d82834813b48e7c1eff7dad412e183c687c6d646ae6d90493c660eb63ac09fc33893c66b6c7abc5b90388cce4adba4d697bba29854851c22268d3d697284c6c20f14a48976deb8ff7b77f12fa8f460f7961bf73cdafb83adb496725d6e58c36b89bc0071fb011c4e43944a09a1065486d1a37f6eeed637d4cfb11e77795726cf8e72dc9b65378e5caf4fd52617285dd108c388ce12099db20cbc3da52f9d37015bf5b81711a757fb3b796df69938ea49e3e2c7cfcc4a0bddfe288d6b2882f4fdf760c5d599b80e37c147526ec8333dc473836e9c985e72c80a6fe1e433b038a8cea7723949889736f4ed845403aae7627de9039b354c1bdbc122f1120f774109fbb1fd5d8af0340448092b47f0acf8eea30406d43cef46372b79efcb213d4c7079b798925b84aaa35b8d04e3375ef0f3bc983aff28dcbc33d445787502898fa07b4c2637f3eb7826c13d53fe31a1d7775fe98090bb4e069160d30effe82d]\n[privateKeyPkcs8 = 308206fe020100300d06092a864886f70d0101010500048206e8308206e40201000282018100c5f8f256857e74f7e0ae6938068d733d2ce6f61f85fcb1d146b6f51463992fe37051d82834813b48e7c1eff7dad412e183c687c6d646ae6d90493c660eb63ac09fc33893c66b6c7abc5b90388cce4adba4d697bba29854851c22268d3d697284c6c20f14a48976deb8ff7b77f12fa8f460f7961bf73cdafb83adb496725d6e58c36b89bc0071fb011c4e43944a09a1065486d1a37f6eeed637d4cfb11e77795726cf8e72dc9b65378e5caf4fd52617285dd108c388ce12099db20cbc3da52f9d37015bf5b81711a757fb3b796df69938ea49e3e2c7cfcc4a0bddfe288d6b2882f4fdf760c5d599b80e37c147526ec8333dc473836e9c985e72c80a6fe1e433b038a8cea7723949889736f4ed845403aae7627de9039b354c1bdbc122f1120f774109fbb1fd5d8af0340448092b47f0acf8eea30406d43cef46372b79efcb213d4c7079b798925b84aaa35b8d04e3375ef0f3bc983aff28dcbc33d445787502898fa07b4c2637f3eb7826c13d53fe31a1d7775fe98090bb4e069160d30effe82d0203010001028201803fda65bf865b1d3afe1b0310f0fc1a9936ac5fe21703440f2df1c0e68ca15212d79d6e4cb97", + "29d3e8c91bee6808c3a72c65ff85727b1b07ce236dce646047cbab84ced28acace55648fe776be5ee7bb2905e2e9e74791179c573366003d8c8f90e6a7516c1631d160531520f83994db354bb468d4a9734423f5c7d8cb0e275bee778fdf9c762fc0485aeb09959aff561e74d7cbc7153c4710f9cf2483c7d6883b59ee8611fca77410e07d2fbbad208521ac05b454610c13c9cc25add343cdd3814b724e8d18a14307b65eda07541430a38e41cc4ec721c0a567ce01594cf4020884f4168b1c517d7a0506ba36b15a2f45bc20ef6bafb2a664193ae67576f71968112cd2165ad0c5878c9422845a81ac18a1bd54a869d38b38cfa2284916db78f432789780c5a069233fe22a6bbdc7af534d44bf22def3ce7bf2eea4fb47df31b222f8ce5bf3e38ab648f09b9c149448ad9329bcdbdb6d48d14f89a772ec42264bbc81a859ced4e15c63725b0ed9f1316488a59f5d8db12c78b45a561c8e323390281c100ea923920555b826ac0cd121c04c3e7b3a44222d90dad4470c2cf5833a3f926077f6c6cf1277e6319e877d94da8720be0c5335bf33bb818dd6f41eeb04e4482c899324c9e8cdb7af9a33d5c58de8dc06f41d838304bab49354eb344925fa73cb932737f6b6a7133301bad7d7c084b9a9d7c2e34c78b44fd2f578b04186f11f7e9b43ea205550b241e87a5fb355d12c95f7f210dc3cdbe8dd1cb712f8cbc52e2f18727d351c5baf706ecc11d6d2a1ac378fb98f2c0b1829c95dd0ea950b7420fd70281c100d80ecf82d518d743f57eb5f7b79b7929aae8f2b44e6ead94b505f21abc492f455de1d6e16c21a9e79c37c18fbbc0d5aeb2e977f4d7497c75823a8f96b76a00d024dc5576da6379791d912a1c5d4c5fa642aca67bb479fea2339ebe517ec35783ac8110db6b3f3e252a6db8b078541b21f89a89d1b0b58ec602caf222463528583489baf41f008b5b38d523f8dd0a90642fa7d8c0e2b898dd24931424f794f1e07a72e973f3e41041d1a73bcdcc58067f87665a5c642d7174192bb44b678c179b0281c073c5112eb51201eee0131621fff41431e41ac40a2e26dac57050572ebd79e4dc0476a5d9eb6d044a30229e7c266b8b1337209efc0ff84f455278ceedf2e2fb4d37d6cc5be0171ebd80647364650abef3ea2265b0e857b43cfc079c0b45ec4b1af81c6ac1bff9f89280c6824d29e6ee7b556394a6fb446454ee36ed218607ef3c47ba35cabdeb4ebb46a593b305a994fb6dca097a1edc32305de111dfbabe89c53cb85a225c9d66f7e2f778a77d05527e2e669140ab1b545ede8832e6645bd5670281c100c28a436aa879df8a7f88024cf473f75aff5b14fe29091b1ea5089f80573d06654d2d46905f0ec8af9547d6ef96bd012a764a260abdb69b6c2b40937dbfd4a0baca15e2964bf9f9ac8664e927f51209a5e8af10909e66a252666c6f2d6e1871ba4c1f42906f36d8bc1a42056450545ac1f1d924733ccb9dacc962f736c9449ff91c054fe2f3ef478b71d6e8b6f240cad68ada751ee886128e3c9a7a2ef70693ebee157e033bfd846ddf5ad74c6ccc6dbd72ab447da06e1293d8fe332f1a2358350281c1008a6dacab1bbf2787d5aef687b3a9e16df0abb11c84a753453a30a5f2e83274604927609203efcb9e0506c870d067b6144978dd6fe127cfbbff2a27aee2b5d66c7972ae05111327d5e9c9b7d53f887576350a2b325659764252b737499b78cd37b2a60426fbf38e919a44dfaee59f8db7f17eb027c8097a68f8a28f7eba0e16124f492751b5268d393174f86e97e8368a2df44a57da1c97e1442a1fd78f2dda9e1ff4b18f37f1ca9455be100ac3302bf20db1e6c5f6d596480aec7c3bf6e341fc]\n\n# tcId = 61\n# edge case for montgomery reduction with special primes\nct = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nmsg = 63a3b4da4514f271dae5d7f58432157b9bdae2a1ce247bdafdbb0019cf3060603639e40c2a0555a61a219e2d51f50780a20676a1bfeb2ddadcc7d5e25d4f74a24cedfa3cc6f465cfe4b5a01708777d02276759a13d01a4f823b4ac242feea713759adca753d86df9c2a815b30112686187acd2ed8b72c02042ccfab227a2b436074fee49707c4098db9bc442e2\nresult = valid\n\n[d = 4d316753bc50306e3e94cf7c6dbc375173a7982c0224d6db6644c71c00940cc9599aa0c1d8035205ac150e57031d41f4253b80ab8739c414d65e055fbac9b861d12932fbb7cab954b00db2f718adbd07baae502826fd944bb78c9c8afa2e40d28ed65ef9c6073ad766548bf3607d48e3f3ecb8112124afe44aef9a265832cb1d75a6a5a400d0eec36467eee0de3727e5c965b78e2c61b007bb41c0932af105aeff9881ae031b9f873f96e083f483fa7f3323194d02632183154b854b109eacc7a4e33275fe65ab3bd7a667c14e81fdd484b5b3e9eb3a9a42ec667acefe511235ff4be27d0cf921dea90b70eada7c2c29143b1eb01597da558050a566fd11ba3fb7841bbcbeeaedeaf2265aacdb1ceffe5211c29d1bceaba5cec3e148e40aa9d4e88f3b24536bf481b74191e5b3b1da5893974082407cc11b991ae20c3eae02c97f2b3950ff5b3806e83fe41e5804cd5dd5c6c0df931bae20d766c5c9f081fb1917f8f8e0b39c627395c8e566f90332bd2edc802fc9ec9ea5333a580257346d09]\n[e = 010001]\n[keysize = 3072]\n[n = 00aa35e36a0656b06b11f579ae150e5bcbcba41d0a45040e8a8255efc7905fc16964d3489ce75bf44b6f5296251e3334ac41869afe6e77567b3069cd3b61648af17dd4625ebbecec45549e7064268f44c3465a417b2d8b44ba13be81a43de3306549a681fdaa767d6e1a758995f56dc2b830ca68aed2a8a78456ec49059595f2f1d450a5bd63ccccc12b25646270c377bf8411daca4e1a5348bd9229e6fbb6588246ba16e5f1827168811cb7967b07969a39508093f8a0dbb927baa2802e1cd07fbf3da4da0d71eb44c2656690115b2cb0e942a8c05e24e234e4aaec898239d9dce78b9d9bac5a3ee9796a4752d33da7c41d168e7395a3a21ac374aec8afff9cca93c556d602cbcdeba9adbfad15f41f721e41d33186137f62b63e8712a1fbede7857a8461bfaf03c6509187faf431678c6a060960b650e76f4b3e45f68a63b4f6d6e3fc244d3524d24cd2f82df21265ba5bd7aa1e93367f497440b88a05cbe5111bde12ac0337e2e2ec04d46ce3094c1039ca39c9eef11c46dd25110f1477f589]\n[privateKeyPkcs8 = 308206fd020100300d06092a864886f70d0101010500048206e7308206e30201000282018100aa35e36a0656b06b11f579ae150e5bcbcba41d0a45040e8a8255efc7905fc16964d3489ce75bf44b6f5296251e3334ac41869afe6e77567b3069cd3b61648af17dd4625ebbecec45549e7064268f44c3465a417b2d8b44ba13be81a43de3306549a681fdaa767d6e1a758995f56dc2b830ca68aed2a8a78456ec49059595f2f1d450a5bd63ccccc12b25646270c377bf8411daca4e1a5348bd9229e6fbb6588246ba16e5f1827168811cb7967b07969a39508093f8a0dbb927baa2802e1cd07fbf3da4da0d71eb44c2656690115b2cb0e942a8c05e24e234e4aaec898239d9dce78b9d9bac5a3ee9796a4752d33da7c41d168e7395a3a21ac374aec8afff9cca93c556d602cbcdeba9adbfad15f41f721e41d33186137f62b63e8712a1fbede7857a8461bfaf03c6509187faf431678c6a060960b650e76f4b3e45f68a63b4f6d6e3fc244d3524d24cd2f82df21265ba5bd7aa1e93367f497440b88a05cbe5111bde12ac0337e2e2ec04d46ce3094c1039ca39c9eef11c46dd25110f1477f5890203010001028201804d316753bc50306e3e94cf7c6dbc375173a7982c0224d6db6644c71c00940cc9599aa0c1d8035205ac150e57031d41f4253b80ab8739c414d65e055fbac9b861d12932fbb7cab954b00db2f718adbd07baae502826fd944bb78c9c8afa2e40d28ed65ef9c6073ad766548bf3607d48e3f3ecb8112124afe44aef9a265832cb1d75a6a5a400d0eec36467eee0de3727e5c965b78e2c61b007bb41c0932af105aeff9881ae031b9f873f96e083f483fa7f3323194d02632183154b854b109eacc7a4e33275fe65ab3bd7a667c14e81fdd484b5b3e9eb3a9a42ec667acefe511235ff4be27d0cf921dea90b70eada7c2c29143b1eb01597da558050a566fd11ba3fb7841bbcbeeaedeaf2265aacdb1ceffe5211c29d1bceaba5cec3e148e40aa9d4e88f3b24536bf481b74191e5b3b1da5893974082407cc11b991ae20c3eae02c97f2b3950ff5b3806e83fe41e5804cd5dd5c6c0df931bae20d766c5c9f081fb1917f8f8e0b39c627395c8e566f90332bd2edc802fc9ec9ea5333a580257346d090281c100e2626ad6b4711c26c662a9bc898e75504cca624cdd8dd4af64740852e1e6f63bc0732d1e14a84d4d76746095a093d100b1146708ee21f62f7de026de851cd064eb35fc45ecaacc30f996902304ff91503f887c31f1656712496f6a86547838accbb1c93834616d8f4fa449c92db52ad9c2f9d4b75b732d3195420a494f6fef6e3f9587a9372a0b0bf1c8bcc6b5e03891813f91f9a36a7f9415c65bbf15fee1124ecb8b0c7d40d6cc0b9c3d631c2d4a00524a3bd97a88ab7d66e9a4eb214ca7070281c100c07a36b66cc3beb8ce87f88d6662fee11d5f4f15b66687dde21dd9eaa60ad8215f4e4ed285d8d9c9886502e2609d467fe436389d856a8df36a0c083c8e8d161429b096f7d5b493c65de01f93cd08a6154fbeb9cd0902da61aa3d9e26ee8cbc5026e085efd4c9bcc0bf44282b13ebdcf7b69ac0a1258ac4e6ae8a14ecce6839d989ac9c197110b45ccec6ce1e1bbb5664d37515bad2a809743d8fd55a7b1c4fc821ff597e71d17111f70e96ef9b4217de09a0c3baa7f20e7a608380fa75604aef0281c015008c68ded49f87f95faddf8fe3677ecba0fafda69041eb03a6c01ef0563d01ce18e156a913f417fba550509155254eab1ef9701aa78bef5bfe2f9cf53c7718e5b95c6e2046b82ad2fce4e25ad45ae6d6fe12878f9d98b2599dbc8439d1ed701a75a3f552e6b70354a0293840c54df465e24799bb22344f2549bb2a91f4108269e3b5723d6be91a7293ecef82700acf74ee30dcb80c694993bb93476702fe5e7470edb57ae94904250f99a2583adb62ac3fb6cdb65077986", + "ab3c2590dfdce810281c01511cbc77064850e29dd8c81be017c311c4c009639df4364308a5ffe65aaae3a08fac37a1c18bece66d5d7d8fc067b5f28961ee06f68589d9ab0327e9e84273491d3b8d2ec5bd60952e163d384103c4dfceabde009ea7c0950df69de8d226ec2bf5eb88aa65a67051a6ad592d19d7214d3b260ffc2e24be78c97a4eebf317d93a8947289fe6c7bb1e518b21b6da1b63557486bd68594cb64241108a3dcf21e71a3f715ced79abbabe1c581143d84a0a4379d978f692f0012b959ebd67edec9950281c100946e03e76a22eeb55e444911e865c68a2ed8fa8e26119bfc96a582b8cf5714e7a9f2af2797015f71fd4f60b40f8339ed53f0acc86a5379faf2b91ba7e19da73f2f2f2f6630b4e806a981962b594549a350aceb16d4188586f6d5c515a18bfdb1b2f5b867cd2ccbec96dccc4de2c8eb4db6a8c6f22027bddd6a3cfaf6e775c02907f9a968b2aa315f74f622ffa78d4813d550e3c2aa48f1d07d7a2d759ec164ec439d7ded137d49cbc792d5e7994c462edccf485a8c24ea4e2453fdc332d10689]\n\n# tcId = 62\n# edge case for montgomery reduction with special primes\nct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nmsg = 2b8c127b940daac3fa0044dccfa7661a3d306c6d51f619e15874582b6748608e4e7dd0e6fd4d713f8807c84eb6c8a9b7ecec3369ffd8cab87d34a6747f8284e3ef69e8ed29d2e62216802d9896431e09fb5c4e3e09d0cc4eb456558a0f88940746413daf4d10ff167d8e9f9956d55bbd424476a8a72c8c09d7a434419172c59501567c8cb796398205c6b4d488b530627bf6f9251270d8c427e6e76e5bdcf57899f7d90d7659b874629686dd7eb848bcc3dafcf871d6e00c32b38182e2093270e0f45223e9b2d0be949fd213c5419bd6d8a4cc1086ce462f9f1169c43b9f2b1ff15accb9ea2c6fee990fb8b9915becc1a77d4010fa45952e4356c6218e5dfa70a30b6765f5664016c235bdc3dd494aafad723eb5bd57da676a91bc418467d5a21041a5f41c4e3b413f514a626dc8b161bed110ea08fb5f11e52f7135571b326a88100c1552e4c829a1370ec54f00b4f633e64786fce316b75af2d545340a647d0e5b3f1af98a310920658329c313d164dc223d2e83\nresult = valid\n\n[d = 07f74b5ece1690082083b36e0a20bf9fd7206d4b13d2156a0c350f0153d8ea08b5ece13da555c2fb2881f0267cb2c36321038e6604cb239cc0e4048682ce3278add3f8947db557739eaa048f5a639b90f24249551dbb8908126c233f8d66d9cf2c6467448f060d375cdfe7ef55e92f8d352104f9769ef2fa703c7d8245bfa55867e8efc9cd3f9d978138a427a7db20b298ff52ca9a2f0a71d71f2d3adf14fbeb6583b7fb80990f7961dc769e8dd6ad4a42227a14a57f283c6ddb48bdeea1b522465d7b28b843d63fac51a67bc40e55d7ce715a06dfe4ca50f055931c97e944555b3da4f2555e666db5a8b14f1ff70db5f5cab167c846505e6641fbbe464800eb9e95201b9a9f853e6ac3b4a40004352b5a5713da545de7b6ecee701795b1413e5e4ac82035f9b371e7379f468dcafb8489e560b284ab4d086e39ee354d8de6adeb8861e30a94c09c5ec46732448a6c3174a371f8984e4a5e236be4f665de0b6a91757e8f629c911de82977be29dd12430add92f367bca0b6ccfb2050bd571401]\n[e = 010001]\n[keysize = 3072]\n[n = 00d5c96af06d968d2d22939907150c8dcb73f8ea5a45baf0b551e2907fc65e2075685eae493bb1330b7a5962cbe1f07e6a8d2d042612fdbc7a13ca0e1a58f8cbad011dd0aa1162744137bb9170e61a340e0777ace90c70401db70f0fb13c019838005ffd95bb159edd348c8f54b02c2ecbdd6ddff8d439324155389526b5c532f42e4451a3048d312dcac2b670619373b4b2d5d5d98625ce3139c3a7512c3957e3a2d0fb83f08b397e9147f717521b9596b031ec331d1f6bef06e38c6492ba2842c5c0fdad754dbd58c7ee85b29563509693f3d8147aa03940b2c6648053bc99618ae1b1e37f31687ad02c83b0910df3be932793172c866a7d08b8b6dcea58939fcaf29cb188a8308215dc910c83c3499870989ed340d3e90575ad9632f5ecd11bc041f4c5651993d5a0efe54af8b6ae87a2699a1fa34333ebcd069264d230219af3638c42fbb6aea60090832117dcae0d7795b13fbf2b0126f0a2a85868aee3ba033d64cad48b1e9a7bcea144f059333278d38e1767c6ef682d9d40f6ac9ebbb9]\n[privateKeyPkcs8 = 308206fd020100300d06092a864886f70d0101010500048206e7308206e30201000282018100d5c96af06d968d2d22939907150c8dcb73f8ea5a45baf0b551e2907fc65e2075685eae493bb1330b7a5962cbe1f07e6a8d2d042612fdbc7a13ca0e1a58f8cbad011dd0aa1162744137bb9170e61a340e0777ace90c70401db70f0fb13c019838005ffd95bb159edd348c8f54b02c2ecbdd6ddff8d439324155389526b5c532f42e4451a3048d312dcac2b670619373b4b2d5d5d98625ce3139c3a7512c3957e3a2d0fb83f08b397e9147f717521b9596b031ec331d1f6bef06e38c6492ba2842c5c0fdad754dbd58c7ee85b29563509693f3d8147aa03940b2c6648053bc99618ae1b1e37f31687ad02c83b0910df3be932793172c866a7d08b8b6dcea58939fcaf29cb188a8308215dc910c83c3499870989ed340d3e90575ad9632f5ecd11bc041f4c5651993d5a0efe54af8b6ae87a2699a1fa34333ebcd069264d230219af3638c42fbb6aea60090832117dcae0d7795b13fbf2b0126f0a2a85868aee3ba033d64cad48b1e9a7bcea144f059333278d38e1767c6ef682d9d40f6ac9ebbb902030100010282018007f74b5ece1690082083b36e0a20bf9fd7206d4b13d2156a0c350f0153d8ea08b5ece13da555c2fb2881f0267cb2c36321038e6604cb239cc0e4048682ce3278add3f8947db557739eaa048f5a639b90f24249551dbb8908126c233f8d66d9cf2c6467448f060d375cdfe7ef55e92f8d352104f9769ef2fa703c7d8245bfa55867e8efc9cd3f9d978138a427a7db20b298ff52ca9a2f0a71d71f2d3adf14fbeb6583b7fb80990f7961dc769e8dd6ad4a42227a14a57f283c6ddb48bdeea1b522465d7b28b843d63fac51a67bc40e55d7ce715a06dfe4ca50f055931c97e944555b3da4f2555e666db5a8b14f1ff70db5f5cab167c846505e6641fbbe464800eb9e95201b9a9f853e6ac3b4a40004352b5a5713da545de7b6ecee701795b1413e5e4ac82035f9b371e7379f468dcafb8489e560b284ab4d086e39ee354d8de6adeb8861e30a94c09c5ec46732448a6c3174a371f8984e4a5e236be4f665de0b6a91757e8f629c911de82977be29dd12430add92f367bca0b6ccfb2050bd5714010281c100f34cfccc1c226aaf10dfee263f688c720402d1c254232e00f17482e45f287d9850c1fcb5b13428d853f849382da3966eaf919fd9a6a0bafc505491ea777669d8230b941d851bc74e583e97dc89d935c4c0ded7a09e9c2d7364991f9a164bf8f93c6c1e03bd35a38cb48774d5c055659163ac14c6cbdf26463af5461a2d2ddb0fdc746f6de64e4198996a2e178da36375aa747f0b0986fef025c134398093d011eda083183c93189eb555a3b706a8401d3877066cf7b13f62878cfd31771719f90281c100e0f20fbed068e90b263ffd163d04d73518856aef9dd2909fb692b9c160c7a908ccc8ad6c761023bce4c8c7623d72934c9626b3df352a98fe7400226770569c4bcbe2fa3e9a9936e3a5e983ce69da70200e3d37a3d44d877c9cfe21ae4829a82945dd2221abe21cc67162845b8778d6f46b6855c3a07a4f17139a29c700162b4e43c53d99b318d69afdd1365b207b0c8b8db776220538615b4bd21b9c9e41f09413171d266a445e9f2de712fa8f67f926beb96e319962964b145ac4f004471fc10281c07ddacc461523a4860cb7996c858e6260343cf51e8e0168b1aa3537e444692096e2e785fec2bc958859df6c98b7db105d0f4ac82281745165657469ca9ca34f5b33bdb08f98a466f3dae7fe0c61ee4f4708f1fd1ea40d6be16e1f5b5e8cbc1dfd67491239a2ed953d9ac11b29db0511b624960665535e8a60f7ec9aa7bdc923b14fbb974c853ee3e5b92e58cb6c442195e367c1b406e8a305bcb1f57eed4908efcd3923b72cd6767cda96834a911205a057ee120fda0d0119c9be9fd6afa0ee990281c100dda92a22d9b3c791190c0d1510e3e83d860052b3f44d3dfe642689ad28f51678797376915e75e1018e60db38cf5c4c123813c343bc5c518ecc3825aed060487bd859be465a8988312398cc2d66d9bd8b98fc720b9a751b818c22508630cdfbcb4ff0ec6549bef2a409af0ec632e4bcccf5da464913a5f2b1c6bb2f57cd9a0aea8095a87200ae052b8dd9cf3a54f36c15487cf487e9a4f92ac1b835454c1da63803e7ceedbfe1c76c0c0b9c0413b45d2bf4dd3cdcdb4ceed4e525dcd2b7246f010281c00e59ace2e31b116b68348a492012162740231fbb16363008daedacf0cd79916a8698f25077958e797759e1261a9e54776df0217f7f57f53cf9974f379abca6106f705ecb2e7ce157ba045c2b538eb2b670b8b2168371be1bbb4f87c4f94aa989be752f3d4ef9ca12af6ba3e14f52341bd37c6d212cf76c9219e49b9c1884b6a473ab82a97d9a77caa9ebb5b4463df93c60d92095c4ba12d5f6778d526e34c14b545b64e54eb1816c935939e16b4c54ba78abd60b1d7f8c7a1391bf9c84341ab2]\n\n# tcId = 63\n# edge case for montgomery reduction with special primes\nct = d5c96af06d968d2d22939907150c8dcb73f8ea5a45baf0b551e2907fc65e2075685eae493bb1330b7a5962cbe1f07e6a8d2d042612fdbc7a13ca0e1a58f8cbad011dd0aa1162744137bb9170e61a340e0777ace90c70401db70f0fb13c019838005ffd95bb159edd348c8f54b02c2ecbdd6ddff8d439324155389526b5c532f42e4451a3048d312dcac2b670619373b4b2d5d5d98625ce3139c3a7512c3957e3a2d0fb83f08b397e9147f717521b9596b031ec331d1f6bef06e38c6492ba284245c0fdad754dbd58c7ee85b29563509693f3d8147aa03940b2c6648053bc99618ae1b1e37f31687ad02c83b0910df3be932793172c866a7d08b8b6dcea58939fcaf2", + "9cb188a8308215dc910c83c3499870989ed340d3e90575ad9632f5ecd11bc041f4c5651993d5a0efe54af8b6ae87a2699a1fa34333ebcd069264d230219af3638c42fbb6aea60090832117dcae0d7795b13fbf2b0126f0a2a85868aee3ba033d64cad48b1e9a7bcea144f059333278d38e1767c6ef682d9d40f6ac9ebbb8\nmsg = deb2027b4c88c9d2efae9fc1aa883f016f01f7e8802aec6cf3f637e669b7e595e8d97d299bbb88\nresult = valid\n\n[d = 76557e33fa3349551c2c557d2b7c948c11b736f52766df40a37da1a0d263ce2798d529efa34e4b5fa79307c0345cb9acc995dadae0d7a7d1d7237a53f7b68ea0b73f70fc003450830b57dbc5b37ba185e01500771d7111e10b2495945f81bd854676cd22b3f3206b0be61931bd4e6b34d9d30384dab033104ed8a3ff4416cf02f60939fefabcc9a5ba2442e9bef333ff52488a0e841d9ef7ec83e1a476c447b94d4c8239d5f64346a9fef1de49bdff5db251d96d4823621146141d46aa601040139009c37c551455567562831847b6c43636aac85abd279b24390806cb9b555b05e0d26a2457801ad8f5724452695be0147c36e9a0cc332d2adf77628aa43253e4ef5f337484deca700db2962d4dc28421843880e3821e535dd94ea72662c4f3a5492e824d98c63e182c107a87941c7834c0af66c57ca1cdba550049c3bb3531d5d7bb07ee93bc84644ea60521f1511093b5b4d0b5a19518f6f48f377050b57a5919aaf958fd33b071109ed65741bff06f920401d5ab4d3e36c59d29bbf2f29d]\n[e = 010001]\n[keysize = 3072]\n[n = 00a9bd730ba3d04dc5f2f9ac15d00ef8bf6462ffd41000aa326e9b501f0a90bb299ea7f0bddcc46ff03cfa0d23fd45598a578be2434aa1738fa40ca05b8b2da67df4fc353facb7a0f7c4ab11a16780975641eb764c83f15c63e01807b7193b3c724220d21a2c2c83594c61dbd07474a8ce5b518ca7635d9c0e04b91eb2e84e0eadc7c790d5ee3129eb6f793d7b9bf4d52daf0313f841ea6688bf10891ef87aad500ea53b94662dbd4b7110103608bb31cde255ab82f852667bff55dd273114e5c1b2471f86fd41425067eafec25f8fdbbdb08490def14bb2d847b2eecc51cc4ef94e5a9f415d59ea8549b232cd8b6bb621d655989864d85de41d542f16eec86bc5f5d5465aa2e3eba1d1b82ddde61dddac0b62d660101032ba3f8fdd69a31c1ea2fa1966784802d3dbd848c479c93e12bec95a7ff15ea6bee5fbbea15ac31cc9e3e8196b8946aa322abfa29b044cdc5008313883885843728e9cd9a7cf1679fe374b06e1cf5ecfc51af75193797258c51309d96e7a71113ec0896b9261cd6cd2bd]\n[privateKeyPkcs8 = 308206fc020100300d06092a864886f70d0101010500048206e6308206e20201000282018100a9bd730ba3d04dc5f2f9ac15d00ef8bf6462ffd41000aa326e9b501f0a90bb299ea7f0bddcc46ff03cfa0d23fd45598a578be2434aa1738fa40ca05b8b2da67df4fc353facb7a0f7c4ab11a16780975641eb764c83f15c63e01807b7193b3c724220d21a2c2c83594c61dbd07474a8ce5b518ca7635d9c0e04b91eb2e84e0eadc7c790d5ee3129eb6f793d7b9bf4d52daf0313f841ea6688bf10891ef87aad500ea53b94662dbd4b7110103608bb31cde255ab82f852667bff55dd273114e5c1b2471f86fd41425067eafec25f8fdbbdb08490def14bb2d847b2eecc51cc4ef94e5a9f415d59ea8549b232cd8b6bb621d655989864d85de41d542f16eec86bc5f5d5465aa2e3eba1d1b82ddde61dddac0b62d660101032ba3f8fdd69a31c1ea2fa1966784802d3dbd848c479c93e12bec95a7ff15ea6bee5fbbea15ac31cc9e3e8196b8946aa322abfa29b044cdc5008313883885843728e9cd9a7cf1679fe374b06e1cf5ecfc51af75193797258c51309d96e7a71113ec0896b9261cd6cd2bd02030100010282018076557e33fa3349551c2c557d2b7c948c11b736f52766df40a37da1a0d263ce2798d529efa34e4b5fa79307c0345cb9acc995dadae0d7a7d1d7237a53f7b68ea0b73f70fc003450830b57dbc5b37ba185e01500771d7111e10b2495945f81bd854676cd22b3f3206b0be61931bd4e6b34d9d30384dab033104ed8a3ff4416cf02f60939fefabcc9a5ba2442e9bef333ff52488a0e841d9ef7ec83e1a476c447b94d4c8239d5f64346a9fef1de49bdff5db251d96d4823621146141d46aa601040139009c37c551455567562831847b6c43636aac85abd279b24390806cb9b555b05e0d26a2457801ad8f5724452695be0147c36e9a0cc332d2adf77628aa43253e4ef5f337484deca700db2962d4dc28421843880e3821e535dd94ea72662c4f3a5492e824d98c63e182c107a87941c7834c0af66c57ca1cdba550049c3bb3531d5d7bb07ee93bc84644ea60521f1511093b5b4d0b5a19518f6f48f377050b57a5919aaf958fd33b071109ed65741bff06f920401d5ab4d3e36c59d29bbf2f29d0281c100d42b178b5a12579410b0b3c5bdf6a93f15bdab87be1d964aec425ea611ec88b6f3bf924def484e9dcb2abd1fab2b2c3cee7f1ab3079d2d4bd7b48afafa6b2c903e112a7fe1dc997554054b3077e585d63ecc4ae058436adc56f417bdbaa3f346786aee58a26bd6c5e1d7e3965bfc0c7ce5e5d71ec1470d2a9358cfe7a3d06cefac24b0bcf692a8bfbdf38073f690535650f5620a6cc664d24b23134396397b79d2eeec9b97a290c282d3385767a96cfcb900c8220e76bd8dd717374085a019030281c100ccce75c5d321a523245787b19880044387fefb9fc06465e524539f265e85b8be15fad29e03173fb29e113d16d5c53f171fc9ebfb1df64428a59148d2ce5217607c1d2cc6dec49d46a88a10340e8c2a9e66b198b8babc64811d5e7cfdbc4b8710a0c908e081424549be828929b634e845fe8c1b89baf1d80867a32120884fcdc71e2aaec0d9e29d6fe907b706a700585f92c7eebb2755640dcc961361ddf239b1336088cb1cc2c6811e3d3703ff5522127f4b1f9bbde92f137cbca148d227393f0281c0789388cce4427a4d267315a7b27ec4ce9a4f7175328164116e5585aec18ef85f69051d63773253a36f7bf9814ee8b93a639c0e9362275c3fb6f5deea2578d519a07c66f7c867733aefa61686140d77d33b5b24ce7cbacbb72f1f878286d878003b9d219973acefa103e98a68c01bed08ea2a85e7ef95ae90dcae63715472b6063b819a83b969bdc7426f6937fe0f259d6f6314f5b1bdca3c8d010108af0e39f3110241ab6730b72e23e56026a43df0376bf85ac4a80da94a3bcbf0d5955b57fb0281c057e12b45e44f66858abd883b1b3dab16b30f25372a1daa5f455420511d73f18e96edd65bf8e58bee7fc6d3d8ad878287d09b1b07d896682eacc48763f525e264033d9d8e03de87c1dee5c7081f49e3abae52fc3e1fda60a1ca5155fea6421e4573486fe7ad6f1b3e06620aaafc44fd79b33cb94043182ce3865cc80526985faad5f5e8a0559dd88241928ee56ad94a1250703baed0b4e246cd8783ef9585af5daab6fc5b730edc9060c2518e048caa1f17c1cb614f7ef4353f6bcd24eb0feb8f0281c05a753898792e9799b9a6e5b244bc184c0cd8a06180b1bc3628fcdefe815675744c53e1c1881df87c00e0b104739754dcae0ee9bb9e7634c6d0e4530eb84836dc108bb38708935677fbd517902d757d0f5407ac78b9c939757a8c471c14222024591bf16784825190ae6e802258921a715d9a18a46994cb83ee87f5ddc13c69edbed56a8030f9f2d79292902727696d07013b12fdcdc5ae905be88a18fe318be5215fcc72ff82ceccfa6ebd9564ee779660cd31fe5f5e61b8f92bad3a8f7f26a4]\n\n# tcId = 64\n# edge case for montgomery reduction with special primes\nct = a9bd730ba3d04dc5f2f9ac15d00ef8bf6462ffd41000aa326e9b501f0a90bb299ea7f0bddcc46ff03cfa0d23fd45598a578be2434aa1738fa40ca05b8b2da67df4fc353facb7a0f7c4ab11a16780975641eb764c83f15c63e01807b7193b3c724220d21a2c2c83594c61dbd07474a8ce5b518ca7635d9c0e04b91eb2e84e0eadc7c790d5ee3129eb6f793d7b9bf4d52daf0313f841ea6688bf10891ef87aad500ea53b94662dbd4b7110103608bb31cde255ab82f852667bff55dd273114e5c1b1471f86fd41425067eafec25f8fdbbdb08490def14bb2d847b2eecc51cc4ef94e5a9f415d59ea8549b232cd8b6bb621d655989864d85de41d542f16eec86bc5f5d5465aa2e3eba1d1b82ddde61dddac0b62d660101032ba3f8fdd69a31c1ea2fa1966784802d3dbd848c479c93e12bec95a7ff15ea6bee5fbbea15ac31cc9e3e8196b8946aa322abfa29b044cdc5008313883885843728e9cd9a7cf1679fe374b06e1cf5ecfc51af75193797258c51309d96e7a71113ec0896b9261cd6cd2be\nmsg = 63461cd56eba70d756be706bd754d8e26d16629a685e3d6159e5e8684752574d6fe36a66755e327905f327c75de1158c34a22a99ce4306675bd876997225d3f508a2300a5029e7860d8eee842e28a4f3709dff9dd84365127e6d7b9d8d59d095894aaebc737dfebc5cdec19318b26245f2b77dd1c507cbc53dedc14f4a881fa4b41d3fb2b3b7569b36bb11bd79b562d464815ae4fd2742f03d78c50cfb22a2e56fa5754793390fba75ab1d068deead4156abd95566c051c3692f8e53bc4fd4e5a605b4adb29a78cda0170dd0b83546c951929adcc42bb4a2ac25439a55f0d193683aa521319eda1d6e0fc61ab084aa52909fdc220bffd22f2c691c579248b1928b08f791a3b64e81f587e58baa7a68e5c0b2ebbbb95418e3b2e0f210d53c33abca5076ebd4e0f5f7fd8117c3ba5404ddcea670da37c868e81a23e1d0f85f878917ef825d5a6bb5d257589ecb77c87a2cfdd6df915d343c38cef865ad4d0126c86a668cd64d6561c374c08680\nresult = valid\n\n[d = 33136923b595040cca19c000d9e6a1e3216b18c9e46f18b5b1e67f4e52a748127a9159484d5fd58d5ee237d363810c02db71937477e79085213e3575033cb57e2cd9a87c4a04f852d6b486580d410e57426d7529a16050cd30b280ddfe7f7ff35dc57caaf74152195da8d3b32fdee1cf1d4cfa2f615415f7ddcabf94a53e7af181b968041650665b517b45dc98556596e7116e247485b450e8937dbfcea703deb93be440bdc88ea6fb131ce97b7cc27e22720ec34222563ea0ff369f3ee4ca6113a2e77442cb9a7e616fa335b90380bcd954d71b62c201f1b3af478f814f08d2c78c982f9cacf8c9f63a06132b8164b69bee8b987094db722d99022efbe67853a0a6006a66a0e2d16b2d78d8c7eb1a568b647c5bfd81cb9da9afa3dab576a2b1569729aa492cc73214f473d4dd78a186d77b39a1f2ac5dd8b8b1f9c3aa662245774af9e2d135c7c267d4d4ca4d0d3173631fe19016e01dca4682de5d5c6849835487521c28a559a5faa8aeae2269cdf5d722c26fadcf3f759c4fbc23156990a1]\n[e = 010001]\n[keysize = 3072]\n[n = 00cd558670bb52e8c170723ac5b4edbfc4c1509816d2212f17808d7a17b637e281402984987e01fe42970fe736ab5d4d9b0c79b78b57f8d8883591fdda2242c87c68c5927b78370feba2050aa7f59717f7f8c9a0b23e87e6d5c7e6e618cd3cefdecc593c16cce7ae42039d671c2a5e8fe053dbcf9362e4920aed0a", + "2a840c7c80444a2aada474069b25a79919882f44877ecd181bbb12582448f1066984633a6cf28b2cc751e917d84b475bcd91c45c8e822a874221ff254949c379d28f9e12ad06f28f0dfad56de8dded0a10888c5d18c163b7a9e826408dd8a27859e33874dc409fcac674eb8b5da86afebdaed4e83456df003b41f0a145f5cbc2b95455807080e2fcd049a6a49ee421b8e146fb9fc31f43bc7591ec25a970aef4752af01175b9370c20b49ce1bdac45ade8ae27f27e62f7716cbd5d49e7cbdf1e6952bb2403a01fc1d8b147dba49584931d7e0066544223a614d157beacd2f1bf36b4ad926c3073d9ba13a55df83a99017c500585320efdaedbd3ca91c227eb1f92753e3bed23]\n[privateKeyPkcs8 = 308206ff020100300d06092a864886f70d0101010500048206e9308206e50201000282018100cd558670bb52e8c170723ac5b4edbfc4c1509816d2212f17808d7a17b637e281402984987e01fe42970fe736ab5d4d9b0c79b78b57f8d8883591fdda2242c87c68c5927b78370feba2050aa7f59717f7f8c9a0b23e87e6d5c7e6e618cd3cefdecc593c16cce7ae42039d671c2a5e8fe053dbcf9362e4920aed0a2a840c7c80444a2aada474069b25a79919882f44877ecd181bbb12582448f1066984633a6cf28b2cc751e917d84b475bcd91c45c8e822a874221ff254949c379d28f9e12ad06f28f0dfad56de8dded0a10888c5d18c163b7a9e826408dd8a27859e33874dc409fcac674eb8b5da86afebdaed4e83456df003b41f0a145f5cbc2b95455807080e2fcd049a6a49ee421b8e146fb9fc31f43bc7591ec25a970aef4752af01175b9370c20b49ce1bdac45ade8ae27f27e62f7716cbd5d49e7cbdf1e6952bb2403a01fc1d8b147dba49584931d7e0066544223a614d157beacd2f1bf36b4ad926c3073d9ba13a55df83a99017c500585320efdaedbd3ca91c227eb1f92753e3bed2302030100010282018033136923b595040cca19c000d9e6a1e3216b18c9e46f18b5b1e67f4e52a748127a9159484d5fd58d5ee237d363810c02db71937477e79085213e3575033cb57e2cd9a87c4a04f852d6b486580d410e57426d7529a16050cd30b280ddfe7f7ff35dc57caaf74152195da8d3b32fdee1cf1d4cfa2f615415f7ddcabf94a53e7af181b968041650665b517b45dc98556596e7116e247485b450e8937dbfcea703deb93be440bdc88ea6fb131ce97b7cc27e22720ec34222563ea0ff369f3ee4ca6113a2e77442cb9a7e616fa335b90380bcd954d71b62c201f1b3af478f814f08d2c78c982f9cacf8c9f63a06132b8164b69bee8b987094db722d99022efbe67853a0a6006a66a0e2d16b2d78d8c7eb1a568b647c5bfd81cb9da9afa3dab576a2b1569729aa492cc73214f473d4dd78a186d77b39a1f2ac5dd8b8b1f9c3aa662245774af9e2d135c7c267d4d4ca4d0d3173631fe19016e01dca4682de5d5c6849835487521c28a559a5faa8aeae2269cdf5d722c26fadcf3f759c4fbc23156990a10281c100f793a0a9963aabba0dcd9a4f18a08e62f6b194dc64022af47c6d473f2a0d38ef862fd20f361a96c334f9457861bc8c09ffde66c5e29565a57b864911920113b5f0d269968e6177ddd89da7d77263dd9cc99108f3a7063b58216850eb84446971a6d3726aa91f4727f99302ce5ba63295c559b3c94f8c93efb8443f7e97b4ac489854e9062d199d17ee00910b3213639759dd9a5e1b8bd1b6d9a306b33fd6326268be6ad24ea0927454fcdb091541fe3c90f6f2a9534339b6f83da27c86fd30fb0281c100d451f7d6105fc90f350a536765b5aa8e42083e0f67747d67478a105e012c870da1abcb07e1c73fd46c7343ae5e7eea192a4d865c044a300a526271d4ce475c21b56e1123dc9185a64e261f4d09f94f2b43814397cd5edade156d06378c717e59d27b92f928e245ca6d5b5d53936d72489c2f62d0ff99f475913fb21424c9e0a911a441d534506200d0579e755a38346740f41794ad4aef4c64c9db039d72c400a3c44d38d0cbbefb3eab213fa287da49206bc14da3634dfa9c2d76f260ed8bf90281c100beb436c3aaf6d2a4e4510595fbd0611d960d402f6bd1c7a8bfd7a553e05e8306ee0413f8a7a25f934a50e0d453e4dab23127ed5e6ca4cbc1669f0fd5baf39d6d3e6db5ebc50d0b3a15cb8b2807f32917c6a433930b8b5f570994c31047b832c8daca718dfb6c1e718a6b55740360c8025a1c38c2cec5e88675180d18c45ee57e9de879fec9eabaf95dd98de063d84f949c2278f018a3e10cca242bdb13473954587ea4e60eaedd6142bdeb32d9ef15992dc92b2e86f677949b2f4ee4414ef2d50281c100ab451bc900186455f2114c4a420f936f81f0a82f40e3052dc4d5a8724c3c210d6bf6eaa687087582e3a0ef5dbf385d9ac3371a452be8b46bff1d0e79fd942ecbba50f95e9654851d2c393052b2d2fb7c08ce433a371e672b72d92984b1b3f39a7d61d5a34bc98b46c98443fa61188e71e81b8978d256dc8de207219d82379f1482f89f6a5ef2e0bb8b54c2ac2384e730cb829b6b01874b15b2cfe9ee369a1765f4b52b1dc3c03764f09e970980105a9356a5d59ecd4813e52f0ab5c2bb51a3f10281c100ca356699c6f5b223bdaa954d5a6b95c4d0b0b90d679f302e3f3d6a2e6fdb5b8c2d34a2362b72fef0cff0c7e08bb63b88d82bdf424384975477943e464a6282a3c301b8da1e77fcd5a4f28d2906886876c3094224d6b0f482fa388585c0b859d79b0d76badf107072971cbfc6057890c50c5de1e7582d45dbee868fedb52b4de3b2779650ffc977663dc7fcbf0da60eff97bdb3257d0739b22738a68e31a819f090a96d3a79e9ebfedd99b677e93bccfd4112e4f40843324703eeae57b3f5089d]\n\n# tcId = 65\n# edge case for montgomery reduction with special primes\nct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nmsg = 2d6385fce580f795102dff20c7917588dfe5304746e5635dccc732d3a58def00efc60fe4af7805f09bfca49aad1ca464b6658daa7f133c12718ac8a6f60702eeb031d49ae35b99ec56d0c7a0a33108ca98b55ed68d27c4c81c38c02e82bb90060c5c2fd9d411dff55509b1e97908d152a4b3c93528013cef644dd70c3e99b647b403e49d0175c818de9f1289eb312cc44ed3a408b4f7f6ea03e44f9f1dc07ddfe02f2729feeb2174c032be05e9eb9243697264016cb0deb113266c3b\nresult = valid\n\n", +}; +static const size_t kLen140 = 319528; + +static const char *kData140[] = { + "# Imported from Wycheproof's rsa_pkcs1_4096_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSAES-PKCS1-v1_5\n# Generator version: 0.8r12\n\n[d = 00d3519bd86edf5dbe9c64a3781713dd049b747f5651fd918cce8a9b80b6d6a2fb6aab334ab569a89b58982e0aae373090299fa227f9652b802d23ee5ca6824c433d01d40bb0473b16190a8bfb137c0a704b4f49b45015bfbee1f670446f07595259d70c7d79ae95f9b2543b0162ebb763ebb81c4b6edff9d197dede1dbe57e40466d156d4dfd5d7634c45534fb2bbbd1bf257817a173c0795fdbcc533976f4a0d04160f299af5dc272a814b36d5bae5116b9542178f1d554cab7a6453035482b981add4bd8ffd5d500839b23e30ebd3f3868f07584cbd12ba089325982860f69f2bdc7077b6c60f58a2272823379e1023704165f7c14f64a18fd5b245a18149b7eda3385a56ba9e79502a27bf13865cde35be15de03d06aa6f08b172b7eeb4b73cbc157019c5d933584a8d1add61b7dbca3b253ca0cf93dc9a8a3aac2f50227022e692f7b4767556620cc928d63e31078c360e2ab4b71a917e19e7eb09380482e5b4ea88202871c2a29ca6f66b2fe304af609520e4f81d64c26768bb812a86679366611f4cf6e89e2bd1d9d7e28729c7f0e4e3152d7ad7f186fa32f01e169ff06a12001bc179dfd0dc942cbabc555f67f5fd043e0a3354340fa490d2f123367be926eb3e1dffe70c3151c87450f3217dc2aa0b5a7069c5a17d55614c9994139f7b37b49e9fe780af65a0e89e2e58feaaffe163bc9d19eafd9cd29b0ef3cef3d01]\n[e = 010001]\n[keysize = 4096]\n[n = 00f601be0dccd04aa40b12f3f191ae17c1f9c8c0b68e7a77e14be25c3c7907cb1d33a6ef418ef41852f32c98392bc5c9aed91c1a1501c503eab89b3ee6f4f8eb2e0fcfc41bd03609cf6a8eb3aa6f0fbe23187b33db4d34b66d128a8aba0a2abf40bb9d13d8e2554569a57ab1d8c61b8cad2dc88599ae0da5346e15dace1bac7bf69737c22f083be9b46bb8b1eab5957b2da740275e96c87195b96fe11452159dafcfd916cee5d749a77bc3905a5ebd387ae445e8fe70f16e9a086639779ceffbfd41557bd99aea6a371a6b4b160615a1a12bc6958d34bce0c85adcbd8392fa10ceca52209d56196ba3d273ce228f1f111192aa92de2a039798a17bcecb4dc6100e6f8ae8c2643f2ae768b2255f082c978e95ca551555f10608231cf8003bbf807969fff1e51914b9a8c9b8f4564645b9e5d705ffad29663f5dae3d76652b422e43f13e6c1491090805c2d1268a74a251177427e33a9a91175c3670b91746008bce1fd231e6e4f2ad70cb43aca5f07600a6d31dd02915243dfdd943a02165da367a6b7e4dae1dd2e8b836903080795d2585076cc1c15dd9e8d2e5e047526569b1bfd395d957eb9fde325d342d14426e71efdc1887515e53cdea5834921f928629e748eed097ac4024e2bf255d70411f87373948cf8e8aa7effa2b0ab47d5166091e1aedec60568b155bd9c27bc55f3ece35f83d636dbcd5abf4853a051db94d5045]\n[privateKeyPkcs8 = 30820944020100300d06092a864886f70d01010105000482092e3082092a0201000282020100f601be0dccd04aa40b12f3f191ae17c1f9c8c0b68e7a77e14be25c3c7907cb1d33a6ef418ef41852f32c98392bc5c9aed91c1a1501c503eab89b3ee6f4f8eb2e0fcfc41bd03609cf6a8eb3aa6f0fbe23187b33db4d34b66d128a8aba0a2abf40bb9d13d8e2554569a57ab1d8c61b8cad2dc88599ae0da5346e15dace1bac7bf69737c22f083be9b46bb8b1eab5957b2da740275e96c87195b96fe11452159dafcfd916cee5d749a77bc3905a5ebd387ae445e8fe70f16e9a086639779ceffbfd41557bd99aea6a371a6b4b160615a1a12bc6958d34bce0c85adcbd8392fa10ceca52209d56196ba3d273ce228f1f111192aa92de2a039798a17bcecb4dc6100e6f8ae8c2643f2ae768b2255f082c978e95ca551555f10608231cf8003bbf807969fff1e51914b9a8c9b8f4564645b9e5d705ffad29663f5dae3d76652b422e43f13e6c1491090805c2d1268a74a251177427e33a9a91175c3670b91746008bce1fd231e6e4f2ad70cb43aca5f07600a6d31dd02915243dfdd943a02165da367a6b7e4dae1dd2e8b836903080795d2585076cc1c15dd9e8d2e5e047526569b1bfd395d957eb9fde325d342d14426e71efdc1887515e53cdea5834921f928629e748eed097ac4024e2bf255d70411f87373948cf8e8aa7effa2b0ab47d5166091e1aedec60568b155bd9c27bc55f3ece35f83d636dbcd5abf4853a051db94d504502030100010282020100d3519bd86edf5dbe9c64a3781713dd049b747f5651fd918cce8a9b80b6d6a2fb6aab334ab569a89b58982e0aae373090299fa227f9652b802d23ee5ca6824c433d01d40bb0473b16190a8bfb137c0a704b4f49b45015bfbee1f670446f07595259d70c7d79ae95f9b2543b0162ebb763ebb81c4b6edff9d197dede1dbe57e40466d156d4dfd5d7634c45534fb2bbbd1bf257817a173c0795fdbcc533976f4a0d04160f299af5dc272a814b36d5bae5116b9542178f1d554cab7a6453035482b981add4bd8ffd5d500839b23e30ebd3f3868f07584cbd12ba089325982860f69f2bdc7077b6c60f58a2272823379e1023704165f7c14f64a18fd5b245a18149b7eda3385a56ba9e79502a27bf13865cde35be15de03d06aa6f08b172b7eeb4b73cbc157019c5d933584a8d1add61b7dbca3b253ca0cf93dc9a8a3aac2f50227022e692f7b4767556620cc928d63e31078c360e2ab4b71a917e19e7eb09380482e5b4ea88202871c2a29ca6f66b2fe304af609520e4f81d64c26768bb812a86679366611f4cf6e89e2bd1d9d7e28729c7f0e4e3152d7ad7f186fa32f01e169ff06a12001bc179dfd0dc942cbabc555f67f5fd043e0a3354340fa490d2f123367be926eb3e1dffe70c3151c87450f3217dc2aa0b5a7069c5a17d55614c9994139f7b37b49e9fe780af65a0e89e2e58feaaffe163bc9d19eafd9cd29b0ef3cef3d010282010100fc21b855c5ad4ca2b6970516406f71c6e79efc4126e6598772db1e082de6b0dddaaa2a2951f04148e86e0bde28213b7f600f987308301eacea134062bb0c3ddf628da9abf93ef1ce3e75b0953a484dbd3554bd5c0649933dd77e527563e90f05a8013fddac958c329378e94303b304be5f9df1fe5b043a7fdd94700a3f0b1cbbd0516b7cd94c57ca96d9fd2a8ca973991218cba33a1c23d810f7519d1f7702ab72affdb3f84a1b2a88116e4033bc4d0cfc7989c657e0fe94e964476ae58bae6b7876f36c09d32b1a63f8c47c94a74c92eedf75fc27cffe0f8452363e4bc8f7653f3cb55eaf693cec70d13c875de935a8b20439ab7e93f76981c5957fc5bb44d90282010100f9c7f748a505d23ecef9a85f8097c8cf7d7028ef6c90e22a336511582d2cc3636e34ead37204dbd22f142a3fb1d5f857b0310c7a433f51ae14d4608b01b43aa8c7ae67835f7fbe0b9d97948b39e9ba2d3a1687edb8b56ee70ff0536dab4d0551f71ed0daee9e412449f5f099bcc15e4ef0554dc79f87fec5a0dea717c7054392bf444613937401bbef3c22fbf7e738c58779b981609a1f9c11dd6f0bbe9996e2773459e4cef247b02a9fc21296ac57a5b10561824310cfbdecc90e06598370e3698713fdbe2528ec4ef3dccaae701eedc3e54ad6e7af4e68e3b39bd2e97ac9119936c647a503511cb283df984cfd7c07f0f56aa8ae3166948ef3f41b0859934d0282010100815486aab0a0896bf97f13e3eb1f7f5c49195b49cc3b6277412a3688798b18f46422df479cb941b3b54e25964a3d69b897bcc8355160e58b4af29f1745dd2cabb670f634b9c058e6b3514947f2c27de5ed424f73b1e1f1be4a188911a0333f3a6688658b3ee8e3265a512e4deacadc470ee304ebb5224123afb461984fe8524fe0b6b30d32a59f6ed2dc74a96bc7cbfd1bb44e58a7092235c5d6272e12a2c862cb8c8cf5d109aa4fb1c6472875a14460c1ed5207c4b22bc494c7947eb7ca63a8cafd31361d000ddf16a2d79f13dd9140d979149b488cbf44945a5b6aaf13221bf4491ebbb7fca27ca20e221f49c3c37b89fcf2dc0e2cb63f8f8a9b7a142250590282010100b61d84ff934a4e437b16ee1b4b9fdf4ae13370b5385bde7a5464a123c0343df575f9e128ef9df944230d39cc9cf5dc0edb28b7e740b69ef024c1bfee39fcd5340ffaea0010160c535dc0920e7cd81be533d00fa554a1fc4d3e02c461569f5e7ca787f1515edf45b196b759884de652c38d5934cf92524e807b4d3b590bc39bc417ee4885a761d28ddadce6c8fdb3b961d3e7fd48064df9340a967f8b79997438841f48579a476ddb55088c308f68f2b29d01c6597a5a7c8d066284f63e37a68c3879c32aa3836675fd0eb2719883a91944561e9dd7e8aa6bb17157f08c48f8e6fae5c3e5a2bb6b5d580eec6c97ddcd9be0a49ef283a7031ad7aba8d438df4e950282010022fb8e5fcd9b767104e71244db53058c18061e1b0d1f63b73e2d59a95e2a10cd87426a33da13c287cdef8136e5e47e93fb9b30ad92628a7b543f48eb011a86356ab3cb480f27e391b018ca187d97af3d82e31861ecafa663db78aa89c3bd468e6aadefb3a43f78bc00b8014c95db54e9d21a017e8f21f671545edde9a965ea32dfff45cda37fca1aa5132f6c8eed222bd01fed5a6e7d639580c5955777a86544c2c4c939bdb8b4c486dda53072861a0334359bdb3758475e49d90d0539944e78cfcfd8fff55bb31a1cebc65b28f51e790701b2f7912188984f034e6e96e1c5251e33fe38fb221bce7a90a86857c5f56b6ca77307c45d5290b1f088ade082b349]\n\n# tcId = 1\nct = 591be9c4c087764d1c3f38b2948c896bdca19616e70ce1ea20c3c1361d51635345bb8db8f559be2a08dfa6c8e0a717e9c6974762b73927213682e730cd4697d377f8c36ceab1b52fa4e67f7f230a1e3a551a51b6e355f3d40042d3508a0898b061bda6b6cfd1a13753f3379a1ba33f9e303317cdf768ddb009d84a357231d04aa159d88756f8037bf1da996720dc0360998f2055c1fa37473047bcad28b5c4ff5540769d6f23815cc0078821c1976249926310f0fa4013e1dd0bc7294f4e50eaaa2f5ae3cf936dea032b42e5889d0f7fb8f139ecede958ff2756be876fea0b426c902682523fda747ef8aee0b72e0a76659a689b989685de912a10cd2c7e095b147294e8cdfc9e272a7dcda458c61a6f94cbd1d54d9cec61f95d7b4698761a3930715b53715ec6183cec159f4b1e532073b7cbb9224e5c0d5f8e36041d5be8f8de2203c66cdef24a278027e5a2212bb5ada33520b304f186b5973b00c5d2ad7d73e404ca1e930828f08c85b62001f589a73ef0d1e8c2367ab6f1a3bc29d9645597cf7c0a85bbf5bcee4c12fc89af545922132759f83fddb369b55fe68f2c93a7d2459b04f52bfc2fc9ec237c14f651b41e9fe813205c345d1c36a838785a2465619fa0d4370088cf2b4083c972b17e4e0e207e142a765529b325ac91e16eaabed7d010e1735525d166cd310caab5b27e56bff36c478868233a38228e0177cec9\nmsg = \nresult = valid\n\n# tcId = 2\nct = ae1edfea692eca58775d3c35999e5738886a47884814994b29dcc9", + "7b99e79d9f35ac1de680ca6ac6638fe73771ade65e74d13f8de01ee5cdf5c4c4ed2b86261218ec529437606353a80fe45be9fc7f9f27850a70653ad31f490c1075429ad5263c46992a1265871a5ecfc7390c86d72ead118028a3fb3b9fc81ad055c137e34c6d56769cc8cc6e9edaa31958d0b2ac87751870f8c955ed2a0999d5638c8a42864174a0c8045a6fa810b6e0204f15800dfea5688d98156b1589d4c51032c7761bb02fb90fc15643db17f398b30f79906c739dc10751011032bc75828322de3d1e98de6f1bf644619e91cdd875f18b08c5876a485d8d46e5cde5435e26eadcac8dc48ead9f9fb747220fcdb09d2dfb1d1197b591b1aa3003c61dd880fc4e0b7da59146e04eb0d12715f6f44704bf0a9a0fd77bc7b74d3b61157ff5b0221c782fc886b9cfdefcaa2cd737178c683c84055beeccdd1d402d538e0b72485f3be93d8041a145ab0d42855706d61056a1d49a656cd67486682349ed0a6f8ff52ff05ef800a969b978f93d441f896302029ce5e8e800f3b5c2bb9c92c93cda18145fcaeb8f8942787074b02b434b4e52b6ddd918c4ad0ea22575fda6b108b6e0b8c7f681767c553f5b6b2ab56bc657f7017d1deff8f1f55906767bd039038373416eb1198e0195112df8c87c52840e32e4d616963b2e9cc7524c21487d7e81696125ca63\nmsg = 0000000000000000000000000000000000000000\nresult = valid\n\n# tcId = 3\nct = 04327a40b02bf671557124f963a57b3860e92cff62c439c0425b48b4346fc60c0ebf7a7584f94d34450d20cbd877c8d5dca12f517b486c2cccb8e1f467276ac03aadc94a97fcd224994d81672eb577cf0bbd6aa948d3dc4d7f06456f6650e5620435c078787db0f36124b292349ebe011ce54b3e932fac6525a37c793846a4f08ac3694d649f4a04e24e1f5e50f11a0492a68a509cf30e565ceb9931565b4aa5c3514b2ba87c4c0937ebcd6bb2b8248abb0970d30480059daea4c6ae556f6e91b25ffa5a4f723a9bf98a0bff668a1f0c799d3b0c85b19190dbfb5d894f84fa5d72d261dd2c09013dc0981cd0c46d7a08710801590aac8ff17b237387427ab3c6d6f2a59434b37f123bc7fc0a83d5ca5793540cba582e41b262859d36eabd0aa8203ca05d4c16aaf2a7b2bc7f251497d4c8f8654deae3cfffc5d3599ab4779585bf1673196782075a91ee7c3296a2edc6ee6c30344dd0c0a82274ae17982eeb23eca5c39c7d11a2dd171c70108b0a33164fc175425586f714deb5552e90e561f7882211d3f01c07867256d0cca511e61b0cb51189d8e5124e8cacdab6042bd421447ffa7fe6cad8e7f17dd3e599bae061f85bb5181726d1c0c5bbf2c2a5c1e60f486a81782e58d90ccd5a769f98361765441de142bb0a7f7bd406a537d5be0c2773e847b1df1d49ac1daa963feec84954b72a695b74281159647a62a3c19acdda\nmsg = 54657374\nresult = valid\n\n# tcId = 4\nct = c550c1db08ba647b812973ac38784a62e707840367a725e60489a0995a789463d05a3a6ef7cf06a8fa7304cf28e8b11d1b684ba87e3be712b2c086e2acc7c8d46ea84175bee9e4d25c4a24967296374811d4afc6675223e624b7f2c59f8a02a875b1ca75de2f5fde43b85b7aefcda3beae7cfde9ea0215c48d65a8b4014aca446b780c785a49fdc8481e3c342c82a66d1103bc48a4bef5702e6b9157ed367e20605d4645084950abf36ee49d76d25bc2639130e01fd9592ef399aa670c3cc549787466bf7fb5fa5be203cf86759419812af003850ffd3bf9c7170919ca68c224cd4fe9a3566bdc17793a69688313d71aded8b64e3be8c47f81103ab35ad6090d98d7d00952aabd1c67ece3e2ee12717f4fc1e849ce2b8130ac5873ccfb99cf683756641d11747276cbee0a9e75a7851012517bd4c197cc843c9f26c6f2f357323918600db96dd4388202afe276edcb9b73b2d7d43126c3a92f7354dba6e67a1bda30612897392116d33e53005e4eea4dda087e5eee5a30739076c1ba838670f0315ceb7cdc9b7aaf5aadb049345c81fcd972431f80ae8722a3f4a58b68c42f3206f8cf434205700a27742cfe25a0786e5f0bf4dbf9b150a52807be2db31b3258b87f3f5e617fb3b1839d4353951e7f556ad3689f0d9418e4311d99b790f39ae05cb28fdba711d33e28bfe87421fef67d98038873a6bc8a103ed14dfa87249332\nmsg = 313233343030\nresult = valid\n\n# tcId = 5\nct = 06c23a6999c870c68707f2c2d85c11c35fb77ef6cd263393a1a6a8363298f4b8937a8d176fc268a9a1d4f3bea51623f7ff7c76c4e4c8b12408471a460d9d1f226e41d17da80b03efd27ba00bcb7067dd9e02c26a3ae9f8b082f6cdcf1fcf76dd2ff774307b7810a4128eb2090880c967845ef02a6da6344749fcba456bacf43d915bd394eb9babdd19140287e44bdf1951eb4c058b489c7f3984dc5763f64b918f35393c4f6e86c457133a101b60cda0f9d0c93c90dcbae3345cdb894947d8bf1371694c0c21d009d4173bc849ea7d00f0d2c77e4683b403c32ded38f38afb61ef1348e889b3d8e0f787bf85b6b93ddee2c97805734d20006111b26ad1ede2d16d3f0238369d5008d255f1e1c518e68f82d0a09eee6ca803ebcf11b95cd20e195cd3f0d8221a78bad42820f2a5a7184b461a7002d06b003183aa66a313d91164a7d6d09aa567aff83e3cd512368893156337a741b388d1f18b10de386a28993117679deabd6b00d7f8c641d6f201ee8fe4b9934c9bdc48a70f21450c6f23b21e655f8818bad28f0755c856e3ee926b021f2c3d5336bf1752d6b54388b745b6e109d4c6885608a61ea8a5d511eb7836025cd1503bb3d25ac20819b7d9a1257a8d68b0bc51e7b085de69c267c0590fad3e003ca8018835b2c7cb32a25bdff2bea8111bc1656da3b8cf4ce3ce1a5b2c6838d9c276a6c1a4b58b07e17aad2c645736\nmsg = 4d657373616765\nresult = valid\n\n# tcId = 6\nct = 2d452fce3031f644f4a22e0d7b2df7296edb3aacefab84e7c57107021c61acbef498a914b9a70d3e33f97f66767eed7a14c16da88ec156e436245b5d9d7bd1023c997155e2e64d6801b535c3c861b19598807387c0ee366d024950b996cb206155493f0f320cbdf58f59c5911e10db3f8034b89a81878dee5a73dfde620ed224181364e7c7ea5812c874b252ededbe4c8644fdd3d312c7bb4785fff4b23a3ab00a2e5fdb3192404d8f1af8668d89e7b4aaf70634b98d98b2c244c336e57b3cf8411294f1a614f55b06a78e56eea98c6f59b2813643515a919f7be4ed59dabf69d68f43376964f0243ec6dd19a0a3609f8ce3e722ea3375a6b5f7ab24eafeabd58f81a2b3d2bd3aea2e6cfe396542961c1fa9d806037945ab866a0af6b2ff9f517d8beb5cf0c8679ec75324fd82c03e217572bdc12f374a445ce528b4ee5d8c93d3b8f254d372cabcec7ca69c4c539c0e1d02de02a0a337bdaa9910ef9402f449219b2e7376637dccdb01693e50196b7691cd8f6557e42afa7b9b7a7c925e6587613ccf007bbdf5457e67a2c2afcebd609ad8d04903cd2f748e1fd3eec0f7f812257da9d99207788e9770d12eee0240f9ae93ad9ac9b4fb63d4bf35f0c0a363bcf19eb0cf7085ead9244d4623a15deb7b9c02698d38ee78713fb67ce662ad0c76130b0b541a5120405b8683af5ec83bd8fedf72bb60491f829448cf76a73e534b\nmsg = 61\nresult = valid\n\n# tcId = 7\nct = 3ed60cd73681d506ccfea349e5fb086eab2b679ecb796532af888088cc84d8692c6326cca3745d20a94e710335e105d2b71f6834f7cd16a1a2193a3ed88aa01b31cc5a8734178f6d9256a9a660e967ee58ba4ad63cc33ec6a08aa1c324a88f55aa700b4d5eadf46cbf7a3c5304bf883b233d5a3a2f9ae8f858959c7f832e793b5dd68f196b83702d929857a39d74a4e386f7f6636f7c03b96ffeac87625088b07a1fbeeb44fc03cb312b8f3b4308846b0566208b516687c5a786ee443ab399ea598a2631d40a7ec8671e49b6f8be46a337d9fd80c56308857247cd714205d647fdcf8019608f20bbd7816f427eb4e4384f8c10c57fb0a7a3557bd80a6744b3ce3f53ed8e32b2e384665bd274b9fd747c646111ccea90eb809e690bba31d190c6a2e2a895fcc71f521fa9c0481645348b718aaafa968bc18cc20065f25924b8f0565d1e93875fc6ec0249e5be0b1bb9d8ae054dff2a368ff4b11a3724fb8c56033ebda05246024ee0be0126217b6988242a17430284d2e9b204b9296ae22740a2e847948c60085464d8158d9ba7db29f4594dbc85482304e466936689599505576e92c6441653c2744a37b5bca6fd88c3cbf990433bd3d2f9977e474b4d09f3d489e78700df6ad9dd2b8170652d7df55557d86055b803ffca1a8c3f214369bfad683f77a4e134fcc4dba92134117323893a83c5a76c081d7f8198c2040d3fc308\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\n\n# tcId = 8\n# Longest valid message size\nct = 3f1eeaa59c4b466f1cd4cc42345749746e18c80805c885df89ce608031692414ff9d7164d06a3cfcb16d20b439e65c44ec534016e9d9a173ca5652a707841e877c1bb3ee6e7440580e1edba79c7ce517bbc32f127fe0a5ea6d2715a1742adb5ab5538665620da3028cd1a50601942c0d255dad1c2b3fd7789318c0257c1ac140c0d3cb0766a7b51bedd5f1e1a65e533422158929824b7a8189f1c3aa0bc51586a82fa130bb465aa140def445a86b6d6331d6d98547d8da1a1c989b3d5e6b1f4b8278de9863cf8cfc30c776daad90dd4b9214295c9510d37a035c3c104c16d57b65ec0a816173ccb580e16b537948b3b21aa5fc56e78663b1b01c6623a977eb4aecde5d6aab6320be170f9cd5cbc6a520f32f23dd000116200faec4f04e7883abe9ccc482951384e7149cae39c6385ca17593a9cb2428fcb94eb6986b1a49b60f5fe43121423510d98bec37f700abe8adef9fd7e13321dcad201ae5a6033b59806f795bc0248e4c039e2f770635e1ceab3cfcee3f4c7ca68603b410cd9629d2391f38ec8576cee684aaf7e617d8da424c323124b28638b78e941933c7ebff9ab2d4a27069b83d82bdd694715be0a9145e30b9438d0e1b9fbae8ddf215f010ffff55926828d6a8f4c64c38370e5c3edc7385fef5acdbc4cbccb34352c8083b6a6d86246b940e7d19e98ee44c5b8d867d5b746061ba71d50c2d7ab4af66db6afcb1\nmsg = 78787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878", + "7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878\nresult = valid\n\n# tcId = 9\n# ps is all 0\nct = 556ea7b7b4ca2cee4cb4a386744b99cc7fea3ad359cac1f08fac0417e051ac35a704c051a14eb3031bfb25bed2c51e1967068b1927d595d40c6f9d5ee029db187993bffacd772075e9b16f8bfc0dbd5a18ff065cb6f99ed759d219f3e03baf53c6270c5ae1e66ecd4ca71e44bc8efa0292987c8caef2b464cf3a2fbadd12613ea60e0a5b5e0fd207388374d20f2be36e8332ba8b37e20b8f461b87afa253a34cd7eb3314de4c3a6427acb27429cb1536f3171224c84e05f81537a75e6ec28a82ac6fe21af38c26831a9e7cde61dc7f3e0992170284e99518a3048ce6c4d687a3ecbaa8ed0244371343bd935a05be103d255a2162c7b914b99731f8b2fe088994e6c616611b12cf5f5f6077e3d18bd435aaf0aaa53ed40c023b8d2d13fb190fdc2022049c6fe4b6eb66f0bf6a36e81c8a920c53bfa9c93b51f8b2659051e445c9b816c02e2072024227470f10da398e35679e114795053d2f96c3fb033cbdbb0b2e31447584c35abd60875ffcc1bfb24f892ef213f507b8eb63460df382c6c507c6ed17ebbe049501ba62f53b499ff31d2c04a242f7e16e312439baca228130c3874e36c84c5872ebe774e3dd25dbe6b5aff945cb0399f742d200be7057375538701c3d5101feee7b02159ded185eeeaaedb72ca1d4189ad165b290b6b3261b0cbf74a87e1796c1b128a7d8bde89e189917215cc013add1c07f8eb1de069ce048\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 10\n# ps is all 1\nct = 2e6309334d66e15e8cbe39a9cd2c3c6d8f19d49f017d87abb99dd4b32135968586766bea12529f6eb01da0a1902793ab8fb656e7df70b5de12548670583a75d68eb6bd36357fd326d07aa4f1c690af4a4b6189cc2de456d163eccee06ecedf4f41a0288eec24c2e3abfbae9ffa349d578594bef818268925dcb294ee9066355b061513defe161749a2469abf3ffaa28d537d55a71a7910e4b29836298f9ea464bd327d33d33967029b1731c742cfb8d4a6fde07bf28789e2a2590d084f7330b52c9ed8870922dec327237b1ee9178dc611bff14380b330ef94e677a40c81c61368b1eeef2ca753b90861bb4421f7da836516378eaad2ab7f80e2642b84f66fb0acd62807f9673b8d975db172958d54528c915116257a5ee2fce3160253190511bcecd7262435fed8ad1a11ddc8bf0ece11333b01a3087f40beb1c4d112c2eeaa46f3c7cc843526ac0abf0104c94c8be9e54ec285ad5703ef1514fd210cfdaa6b2cd2e9d39bacfc338739ada8982b5b6af683ec8c2bc902bc9bc4c9d5ca6199fed502481d86f2a6f9dd23f3f8eeda71cbaf90b51a50f5c6280aec08469fb45447ab4878cfca86ef78daa0b618b9af3c16fc9e4402520b7fb3abbf3086a2ecefe84a10406b879e410fd46c518760059e37f56befef10590593cb4707a0605c056051956fcb9d95f36d4f3852cb15aae172578f73522f966d077a9d8d98d316b664\nmsg = 54657374\nresult = valid\n\n# tcId = 11\n# rsa_sslv23_padding\nct = 80e0480b11f19fbef3551fb123a4fd968d5e5ff64c88c1c2b70546570eb585d5b119f9d511fb15ab3e25b1dcee9fd3f337f949377af431df9ea9b60c07225da87ba0d61c0f7a99aeb130b09c294e0d49caf3854a65fa98be5644457cba4e5591b0f0434932b787e0573354932a6a9f0e3355524121b04fbb8fb5e4a787fa509a7fa946aaa34e91c16827a65639b06737bb1a9fd5b85c85c58b116cdb2a900142ff1886292de9d4d944edcaf4e98aa28560bd6d35b4d64f0c7e72c1b572883581ec8e479a836bc2fc55c49f8ae50a9118a81597ac5e0b31035aeb0cef1e5327df6ec7179ff461b6f157c690bdcdb9937fee7e8355384667cc7a69856f6e86457eab8d87ea8be33e5f684184001319fdacafdd20b90e2e03863bda108c349de950377fc11f20ee32f481d74fb656449c309459a0d296124f726519a73c2a5b41bff6779d91ae9b47c6091e695ee7bfc59ecfe123e4d0327a3cb5b04cf0a998487afc20a3d0aacde87a080481ae0455796c5273815cd2b2d76edc7c9558be1ea2840a17584941b3c86acd32967a64bd1295a94d3ab34cfc67b2cd27900898bf461453a8716c8820ac8e6e9880a3eee38b196d9af46a3ff7abd2354e1a5f654a1dc1ce45cb4902988e3e14d78d78f96f59ca20eb5cfccb2767e937a55acb7dec407f96f6e5f6345daaca1e8b11a72a599515e08a96dcdfe2a8b8dabc0a4dcac4cabd\nmsg = 54657374\nresult = valid\n\n# tcId = 12\n# byte 0 of ps is 0\nct = 4a7a03202b982309bcf2f99d30cd0bebe24b43800e3bef58abbc11e865ec2bceed4d25ae1aa95750d267233c5db0860e48228a4fd8c2953fca6bc7aef959729a7d35c9af4868fe63303ba4f00a8fef777eecab7baeb5d9db61c4a7581eb0c12c887ab6ee59f6d0d8ad044c64c39e344db3f2fb7906af25dbc1263d9ee3baee8ff46a49fec4d893425bb22ccfdf7bd86adb23b3171ee653bd129c042c60d049730a28cd9ca83ccc8d8838341701f545503f3e356bbd4ce269f455c9800a1e03228880edb0590136ec3982b33a4f561607d00eaf9ddf68b67f18808c485f7d2001712ca5e62ada62d3bb575e612cd2e94bd88e831026eb7a23cff7f3be1bb320d853202039b0f59dde8211f9c65494335e99b9049b5ca356dde17f3be1688e6cfd232271474065124a8b55186500bc42ba4d6dfab381d5dab6d7ee1e7305e9ee93f1202a9b8dc6a9b7f69034d9de54d112891a053223b8489ee5b24238629ddf6b5d78ec366fd0b00dc612c5751248108106a80676a3137cfe96008342696ae59c369c7364fb070fb0a5af3ff548f119c88f2a7059ef880d0d135b085918d48a377027f78c72ac6b4eacb869c8bf86135d459cd07202945b97873228fb280ef770fd317ad5b2d36925826d786bdc9fbb760d3907d3ef826a6ea47b0eac1ef709b7efacd40acf51339ebe4b99702e084bb6a15f070d409df7e7fc802e0e6a988a05\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 13\n# byte 1 of ps is 0\nct = 05256ddf55991cf3e74b8fb8b3172db6e327f15c2cf13830fd169716f7e5e717147f91602814e4e7b38ec9bb7fb5b5b60895a89a949d835398ee6798857e05857438ec27dcc897a777b85d420146e5a0f0ff64b23979b9626bf6a34a8e01658fc143eb9d6fdfe1dc878363b038e7f2d91a7f50854684f7bf2ccbf042477b9c6c50b8146f594800a5b907f04fcd03220bc25260748b24f6281d3fd939b51d2d694fa76941b8873c0c70311fec77bff5b0752dcaf86a8a041a29c5ed35b0a96bfe6f82754cd2d173763f9753dcda7f5651ec40e1da282c01bb0be7b5faa390fd134b05af61b3fbd83b0ddf0060015843aed03bb79a11ec906766a6fc82fc28016165b7e5f9c9b913d52eb0e1862209b9cc6950b5d47c21c3fd0673d0d7aa281ca5ec3a36cd9a4570419a29820c75307bdaf0012b68579a6ae9e832825f47ead6b6af0a1724ba7679a88233082b65862bf1fb76656b0ed76dd758470b00c147965b4ee233275476e9030ed301dcd19cbf7ddfeaecad3d17d7129c4e9b4352422a3d2b812d09e829d5d8c2e41f6aa10664824cf0d3b4597aa2cc137f05df672f17f0a345739c93f2cd583bc4ed5dc2bc7295d89c0d986eb88ecf5732a87fb8a10fb449fb3f5da74952511bf2ce03bd74db026b76df93b816a64b4372b33e873226681204022fc945d9c2909982e6517ec2157f57f4a36cbfadab9ba6c8589eb03310\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 14\n# byte 7 of ps is 0\nct = 9ea6991124c047788b4ce768614edc52cb1bf88865f80a7b7bbbc435c1389625a085a5030338856527d86f0fa9363101a7800d7e61dbc081d5839bc679728403bf028a22cebbfd2c9984d581ca79cbdd2e9962fae64a5bd3b2a8d419cb39fbbe2df7b8a9b4e7c603ae1cd923cea1da1561beeefa680d5bb36fe9822ce12e1c88498c2273b76646918353c663f91a2f54432cb3fdbc5c7191ec5b8412da54ea45616c4125775dba29930c36a12522ff3af5eb628d2fcef30b887114ab5908fba3ace7b7c71b101ab1fe311653997a50de08b7a3e92d50eeba2064e9162c13eee23b9fad9ec00bd62e62835745547afeb8fc1fa5af5a8be060bab8e4e2fa2664f62c8956ad4d20dd27932e57aa44eac7a86b867c4ff6e049981109c84585bdb50c31e6064dc4c592cb1796ab059849db5698e1956c38f0e07257fbadda137b57f03b8dbd3d6d5e4c06474bde194cfb7d671ca3d2f99b827af954cbf0c0dfff8cd63af75f7e01b6630798a00cc01676b0cdaff74cb270c216282906931a7daf29a4ef8034407e186f2f9dbeac1f712e8bb7b1a4b121e045e9547d15ef1ba1d8015f1d19a3be353f7a82a88c130352b8cfeaaaab871902fa5f68c852931b4a014e4fe3644861f276a6c17adbaffaa7cd23c223c4e54e2b85b46204b66a3c447b4db722e6a9dc0c61ce29407a4d246a2fe8386cdfe99732316026a2c632afe5084297\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 15\n# ps truncated\nct = 1427b2364dedf9b33b1cf70f8823b60a2686520f904e89247bc6b5b682170fd152554f862ca64234345bb83b118539eaa4c0b7fc46e21d2fbc7eb5bb26ade5464a7723f8d44c8d0a88e1d1d7fca1717adca7207b55c5b52457c8aa2c6d9a19e07e04ca09ac39301512aa66d61c5363898138d1f390af651cf230fdd8cc691d3c69dece67e4d9301b74b1cf6fe7aebe6626d49f47ea33e5861ba4c5bc0a24f506b4afc959e33733fef1ef7a207c29c610ceb9ae53f7080a84491bd12d609ed216445ee54315915b892561efdb1781150fe9c243af8800c7edb8466da8e4d0240c0f627ec2106326805cbdd845b30ac35dd46692ec964f6696adedf72948474255d50505acfc1f4be6f9b300708861f2b9f9796b0d488ffabd14f6750e67477c59a0abf21f066388b0cd1133c90dec0bfccf45f34f777748ca8687f3268c9b32d0552588df9fc496f29d7a9152d23b8b51203cf151c612fe183432ace03fba2fe5068d749463e50bfc09912220a618f650afe592e3bc4c7314e6d9a12aea44ac0b50d79c8b9393b0df70150af7da499a9c2d1ea3dce363305c21f3ece8f3880919bb57e764760ff7863c184c043be1c8de30b177e1bcd5cecb5e804d1ee96fc823f7cf2bc3159381c78a49879407191998ca759cf30eb503783f88ea157970ddc6ba7569e1362cbb99eb45b6578f142df5f1cbbcf2a713729c2a0117781f8509df\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 16\n# ps missing\nct = a4dfae8779a11c4254a59", + "c7c5eb08e2ccf9d28692c2df4902184e69146c57724fa0a4b2701435fdb7dea14cd5bfdafda49400370368f85d3929b243fbebfcd71e5ba5f1d3d45cb1e5ca53194b4e5c98f1a78aef3c48c52a4d36ab7888b161bb546dbf5f69f661ea0599073b7553d53476c1bf9fa7b35f9407ad06b14c5c7c678df93302ba9f3e4e8751ed4bbfafc5851ae29bb717ac26e4236dc789438f01d7b54db01e522f16e1f4ad8613249316969967f197db0ee4edb7e08ada8af5b43c5d224b11bb7985c5d1a8ec425f6b4bd6c292d0a320217dcbb8c805ace1594fa608e19578b447ae6fcdbd8f65a79b1fc783914e4e37f125334266295bac67dc62c8ec15998fbac882a96a9bde25da381b43a85488a634f61052100d795d71c7d24976cbfbe3ebe169389b17a68a8940d81c81dd11f62f9d26ed80ef40be0cbc70150c08291b3c1c72767fe22b3b7ab9d9d67ab058ce05451baaef3b066851ec4e1efc631244ae13a720fcf2a19d048317efce23ab2ff42226426f88e0235ff1d29df1e0ea9cb3c499327bcc1c999bbe5ebaed916b97fb62d727c65d43d61d13e81441538058b64c2b19f2f4c9646b516fb287427b5fd9b7eae36e84e0b71830130363862a269217a0d7a10dc602f5eac5b2d0f655a8493791eef41d4265ba3af34762658e085f1ca82c710727c5802c0bd55ed1a1bd89a29092f1ce750a261a4b9\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 17\n# Block type = 0\nct = 707bba45b2e345895f4d6e5ff7ddfd5270354f1940b4c518a6ec0e0b47d9b52cfcac908bee3fc8161634492720f2118c5e732cadb6b4938c9b28754104abe22d9e7d279431d833a8cf46e6689d02ef41df19d8ea803850899bb22a648cb8bd7b38d820a708a762f44fc7ce8507aa5a039d161d93ef287789a1829ea4d39af8a561862ae23540bdd6405f8e58f4aaf32ccf5c7e4274b1d8ea5ff5f797063985483e0de2e60982a5731b5ed18a5fabfc84e7c9b7803b53b94a8f5db17c27ceb889a1348c423e27e328fe370c419d21bb0cc806fd36a4680a84d7d56120ed3da0439eb193173e5cb58e7749a7968a4e62af8a391ab47f2e32c35311d89a42f42f8afa07e4765b67db5d88195fac81e1248a780e9f0d4e9e5cea61d73b7fd06d06232425e620656eeb194f7917461346468687ba7eb7dc28d8f9a42ae1faf1a74a1e3af1f5d7c4fb9b6abc6441cae2775caf5923421eff11f6231af82e025b6889171348c9e66b151543f1e4eb0dcd41890545b753da2d58e1bb22e189397535482bd8ac280156982994323e20f2b82f287f541680551586e8e3103371cbb0db9c8661dcd07de1a3c49c2ba5d4d4f004ed63320a798218c1fdabeb491cbc438a82681bd9f5401344909d2aa4ae7a8d33fa1eaed419d2a37b360e7f32025d8cad01598b8859b63418b9bf09d1cabde9492361e09363fc7eea0d91ff9417002b79a57f\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 18\n# Block type = 1\nct = df0eab1982ae5ab79765bbcc8daaf43d4659e90aee060268880a84e941881940bfe16ab93091c930b5702f253289687f7988f0313cfeeaa8a812969b8d8edb59fb585138f8ca28f2d31fcfed2ff30c980bc2b7d201bbe63bb5bad0793e3c129f8a3191405db10b6ebc57d69dc7f384cddcd3c2ba9f58298eb20c9c4c046a47bf9e6e03970c902d55db16c704b4950f86d1d7dd887d21a806a9f60531bb1d8ef7a5ce2285cb0121ddc850d41ee8436a136eccdaf668de86004da1a4cb620a51be9b3428798b594d34f3a174638b5ae0ea768046cda32618a6008162bc9624f0c801e36886079fbf55ae9f54882aca0173c7b90a45733b424b19638e535837993cb384c20ee3d4b38c98829ddd49dfe9465165ae9c9cd24de6a911c231dfa4d7f0ba303b2579cd19f9e32c6a3df496d1c3b14610fb04152b63b7e27dc2d5ab78e0584504be5d3f0c755d47155c0ba6b63dbe2bc2d254936c376de40e66b72daf593641afbf544aa7b8c6d0ec464d50238ab3224696c96138965ebf6442113fc35edaf48ca170c405e1a21824974aac27208f3e60c6f34d7a86b4668360423d340b91ae1a41eb0922e844c40740c06f2e913c1af6f583dc8042fbcb8ab23b7e2e2dc1314f52a892707202b4e2558b92778ccd64df2ca0de190a5f0a33c1382b968ba6d24e9bf9caa890bc87749f83f5845b59b794872a7678df60d8b83fc1d0e597\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 19\n# Block type = 0xff\nct = cf235509adc3f706ff62e42283e0fdc37e68d2a54da87d5f895b999f8de638bd3b111159fd18a4ed6069232a091ebaadd797ca7fc2aca6af704f94f50388f7d493fb8956662808421160e231495ffac55d5988426df0b839411a60e3910baa40e48361b95412bf9bb85d07c3e1397d0642f2b0dffa030fb6509ac5bb2518f1f59bf3f07e0c44d4e5a574ae785f4d536b01af5e2897b655139c3d32ad68d729b40bb1969673f8fcc2fc175cfb6fb6fc224ed7f1a6a8bf3115445775f903203e61708c665a3fb23abf6fc0b04bb65e1da5b87e754ccbe3717975feca472113e83a63d086b61301b8fc8d41cb6ee6954d647b93d2d0f1bee5415aefaa765d3e7cb98737c17dac862d5d4c3f540f8187d5b7f0c4ca550f326f5cfb9ef20407042dbfeef5fbe0f6e0ff913bf90a86277ee961c62424e9a40ef3f3c82fd0f64f5a60f37d4bc9fcd9e29bd8803b5ecf8382f29ba4ec2d75258fa362b453f36f87358e0e9ddf293c580193028789976040bbafe334eb3c2804cad592cf4a2f79e9bcf58d94074870e9a9ef85b5f8fc9c93d896f56e632f6b3d72fa254e86d2974b11e300238e60bb8047106700b26e1989d2c221140955e449753fb0199e53c880361eeb120136fdbff103e273be564d7e4137d4652351efaef776b66c32ba7a44211100c7b1a8c61a31a8890ab3766d71f3ae76f1c6e32cee8a458800e0e408583171f1\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 20\n# First byte is not zero\nct = 95e686fa469e3557da1f427b01a339cd50b6aef726395bab94b06d437e2ca546f01a2f2e86d725eae2103c2fdcaf1176c27af6a27035f3584ddf87ca80bbb050ec15b787223ec6f371e33360dd7e95dc00760a601cb2002473946d39d184969430958241ee61f6433d65a1d7669e4368a6d8a1e1e4aa8e4ea381bf65f9bc90147a58d93ae4c116a258e39a6edf2294a46ba15f526264acd122f99b9d3cd95be9c0ca68b3d564e8788f18855fddf3bbf16ba0cf2de3dcba19af3ef178a8e979620374daf2984d5b2b9947c3a52fe13787b24f8a33a6b2ac6c9d31b02dac3314532e9ccd628536e004975a1c13c93547f10aa668a778c1c8cd81f29597859477dae5e7efdde607087ce5150a2e1cd04a7bd76aba1ffce0d87c33e70c425281cb1e4fe5f8a809032d45c41a8a80be6b87d9e70deea2daefcf46d9b6f4539c819a49cedc57b61d0c89fc40966e4d1bcd9af1d7cb833addcb411fbe4ccb308eb56ab9b015c020259d69619388fd7507698b3a82e9a6ad371544bf6808192ee7cc5574af65a3f6ef85210b7b1adef214c0203592db76b701ee7fe90924fe0c8c6eb8e9f5daee181fa85f0ac7d16409e2422fd8b3bf87e161500f5bb85eeda697950096334eac21a670a90f876196899a4d75dca376d7ae1976a2cf315fa378e11251090b2aeec39dd1488701dd6c44f268e5210aacdcf1b3fd41bfeb9db1550cedee6b\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 21\n# First byte is not zero\nct = 35bdd33443b580355fc6b702071420b4864612e05267189e46bfe097fb82ff1cee6fde5e28d4073c6086693e71b0d3c293c3bdfb926ba066cd9666aea3bdb1b355032acf2ca17624ad238003ee9509a7075e0811fbd6c4a974c3647250a55f9242fe76a846d2084494716e31127fd53bcc831b526535fccf4948c804c3d3c5982f0c96fedf22069783f8b400677c133acc7b3d1b2085fbc2771760d40252cb6bf3ad74f783e785a6ed51ee605a44126f647cfe49494eac8507aaad1f8ac8257e85857750ad49c93cf7858145b2e1972bea43b4b0686656de9a26b18e9e3712a530f1879adddc659e2daa5e3026f2ee844c7169ddcfc69b41da1b5fe795d1451f7b474c03e3c4a490935056139195730d65aa54cf1a04e3832d016d0b273f8467ce1e3dbbe91eef57daf54f2bb03a403f042922fd96fa1e47e1a978cc73c04f6d117535702c7d2495cd5f141a40c9cbee87f07075821633e95e5a2138b726b4c85cf4fba92ba1de5891b916ddef440456359e81accf0617102db68ce9e3afde9c082765793c59e772c76d91aa28d032799dc775594a6b37ebd74fd84123ccadd2f381db7b75c50245148613cf3033f2bc1f5230ea327134f003b35204e0678dd7f7416c94e6d597ea0386d74fb9a01f5da1fc866be93765005509e99dc268aad4ca51368b76fc74730f3389b120062251e1a570be4a78e0cc5949574de70bd475\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 22\n# signature padding\nct = c1ea62891db699a2a08ea5d01180afb732b2b0ce09d3d0a58a73bb2bf14f6bb7add66629fe97101a2057030a6b7b78fa206754866db2d36b2a03a7616c3854f8aab9edee7a0973274d7e15e7fc1bffa3d182fba69f2939492079f85008b9fa4b29e27ee10e3da8b17d4faf0025dde27677987d4efd558d955b8b9ae6b80a7ed7b7b087b40a2cab3554635b40c322a333240a15c47c7f06130f1630b85a15858d905336d29f1e16c0e0277f64dcb19905a69be4f00a969504368a8deb0090454cc0789948bf171abd83327e825bde69662e2d7bbfb181d64651be0fcc31b787c9a198ccc4281dd0755af5569a439e253904d137d3d69b57987a57565dc941b78547863c449defab34a02794f348fbf030a2c339212d36a65e7dd108a60092246ab714b81915fa14bfe3726710aae81814e53940c4f12a0fd14523767487065a0386b6f116266f3ab6bf974b51e18c74f6292f05b77b5662e21ebebd6c52d52db23334d6ac200fd5e5b29034c0cf078a3caf371def45a0ed1d23c2d0513613099b7c81d9dfb24253a80e79dbf9aa945da731dd05596eb06ea98ec8b78e0d0f7994dffdaf326da10b1b098e0f2b2cc74bbd1a567b2cdc91e56b3c6379d29609b56727a5205528877bc31d91909b723e9a56ad73ba15c7bb4a37f8777e53a91f95e1a532bd393eb892bda82f4222030cf4fb3e72f45ae7e4af23ec5165295245da32\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 23\n# no zero after padding\nct = 80bb9627f37ef2eccf2a823fce1d317359c85b154d49e7a4bf712354449936e1bab0332ad6b37e48fb1d3466afde77ba5ced23fa82e9a2c966f05ac17b12c76b134d364b61b895f5048ce30dba4ce477b5606681d7b43ef8dcc2884dd0e806a0df70cabb2cbc13dce5df45121137586c8f956a7bfe8f43bd0ea1cc01a38e510cdf79dc4a866673c2305b423d1cf3df43eca9d914854286b20f950cfab3788e735fb7a4727c66c5d5b95ad587", + "4b4a6dfe65b4ce2d46a87a25a511c08a06128dd67a5dccf6cf3fa099b5c5ff7de6c838289f835da8136aca1a8b4752ea6cd6c10a692179c2c37ade1617515e849c1f6cb5e61b237cd23386329ff81404e3b8e9220bb0759f6c612426dfcf947724b4b670dbfa2b73a7bb77235e259edd7107640bbbbe0c03eb2455051191f581a2aef36ac29465ee1cb0e8dfbddf73ffd7ee50b3a2ba3030182a8ed2aec8c4a80b0c4f4ed3f8ff041352c68b454206fc3add8d83113021c5bdd9326004d40b540ef4a398b23148ff12513389d26e4bac485f1c764b6f2e3ddbc369d135e4b7175a2e843c8d61021a28bdf98f27502ebcec5a4b9f5ffdec2f4791ab5188876fac0f4ee0648d7a372252db62114efae4f23b9c08a86255455ecffa9eb0bd3189ad67990b361022248f4bbad279f4f21b1f33506f44042e5c1c13f4046b698fbbf98f50a80e7d49a19ebd9abb239f6dee93a182be92\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 24\n# no padding\nct = 917f6404f9aad28b2e68c5a6d8d89d31a5d963f55c5b30e2e2321182559b9b423d5ccae88048218facf40f308b735d4f745ce7e732f171ab180fb032cf2093bbaf4b3fecf0ed91004d8bce098e1de279a8a4d0617a804bcf8b51d37ebd5b0568b5c18a69665ac2032871593e70d3ea98729dc93417cffa008b3bf078ae06e0697f7d885f13f9aae20c8cd1d8fd2ae849fe5627577698f15b4a306e7dee3ba2993ad07f285e63bee6761de354bb1064fc63f919ff9dec0bd455b1bca7045b1b246fee11678c40064e1201a8e1595326ce6355383c43e53d734a4bbe794cbdd59c873d61270352982d2ad3e8b8b2a238142d24dfe4a52744457ff443516eb9fd172b3b1b9724fdc205ee28b5dde56b0d885dff7075bfe44a1b52b0a504b9c644349b4ab88ff2399140ab15065a884de40ef60b3d244d3c270857aba121b73ec9694b46673c2d47ee20b528e777be85589008431e7ec5e5c069703cf42aa3f147150f4ac820e4fc6625955ebcbee13620d9520f06527397cc64794ebe0fbb3f56967f8d516be96c5892c9d08aef8b082e0bd31c4c6396bd3e8f243c110ea7295ab09fddde9c94d641752f81be4e45c04a00dc50e6e31ecd9489eaac6c20668d8e62717207c0e8e1e0759ee43d89956e09dcb10ce8e5ce1bc8b50282b8f55170c4379c1a23aabf2c14e3e1c29baf3f5945d240b9b3b858028398b271dad715e7c79e\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 25\n# m = 2\nct = e114ae9a713e4cadce8bdc80667f94aa597788d8ffef3ba74efcb8f8a27220639472e1578a29cdd6306c1ae9ea46312fd6920fdea904ed8cedc4f29169f08b7289a156bd5524b4360f990d87c4c8151c3bbafd970a5002c2279c0ddc126e38c55b5f81dada719055709dcd7ad81e8cc80e88dfc1421b2908735932029fa674df66312d85042008c4f481af12d35b987410fbc9e4c80600130a34e98c97478e4898c5db12dce12996a504e82e9a07b6fde28da9e3424af576ad51bafd68132e7993d223a3aff2a08afdf91c522bc1285cfdfc3479a83a7e45767e87144ff024703404033c7322fd0dde78d60fa1a599e693391dbe0d47d3253e32145d75ce8cd4c538cbbaecfeb52c4f716f90b0bc56f95b14a640c6255ce8b2ee04382c4ac132320b457f1c7f3be49ac8848fc449a09cd172dbe0b693d05a2c5d5d571df3b656f624df6371f1d453f59866f4808e14e0259b7db5587b61806753cd0528950d0f58a0f3da11f0714b449dbcb107f8712d467f2a844bad514c54f5e12cfb57acbe1b3130fb9990b18440777d77141337e0f80398f112f873dba5a9ab0adf899b98176b4af7218ec004b452f9a3bcb353f3141976ec92d2f484152a33713a1b404f51523770b0cdf71956a198f511c4c2f4bbfb49623e113b83681b56f6d65db6b91381afd5ae129af4bbb6f5dd2d4086f1ea8e22aba3a930258861cb8f26853dba\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 26\n# m = n-2\nct = 14ed0f735b91fdf63c8717712b2e8317a05137dd8e8b3c39fce5a343d695aab99f340dea04ca4a7cc2c07d4f417f987f028a0a3658c0165dcad64c558b085fbb862e6d5e7b1155995af5a622aa47a906dcc0364442e4b3aaeaee7cddf7bc867b603d91fe07e3b51434dce45dedfcffe51f3fa5d86bf27c2bfabca8cb7c060717310694aa041be0ef773702d7e239e2b996445d79cec27182af3af787bace0f6737133bbc08f62010d6bea82bc4b5817d01b83f1b2ea679235b147e7a34dccd83ad835835eaf7c9ac1c722ec3da5479442dca61138c826282e45e366f4309ec5e964e1d60e2f66e95f3faf812ed79772aff7175201cbbc4736349ba6dd7f78339aa521d07774075bb1940b5ce577040953ab5aed48fcba91f702ef3c80f74bf4737f4ac65fc957dc42ef06fc681fc1949059323cc72d26f0381e0190e0d4e77ecfb198cb11f1733b1cd38bf95f4143c374e8c65854215b5dbcf1cec121d6b7ebec7313e0cd3023c2586a5eff4e87d8f798c9ea5a4c976ecb1844dbef46a8289bc504d1cb284423733f618b3096549eda40f6928d04ae174f740369c4785e01627bc2a8e60ca111e2da8e1337085bb1dfcc7ff1064cb80d966430a5eae586ae997f79c9926fb722dc96883c47b2f5ac4427d4d862c4c96b476c2ef5d867b085265076c3c8aa8787a671e0b85e831fe47440daf40c2192c7bcefcd8398e92c8128b\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 27\n# c = 0\nct = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 28\n# c = 1\nct = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 29\n# c = n-1\nct = f601be0dccd04aa40b12f3f191ae17c1f9c8c0b68e7a77e14be25c3c7907cb1d33a6ef418ef41852f32c98392bc5c9aed91c1a1501c503eab89b3ee6f4f8eb2e0fcfc41bd03609cf6a8eb3aa6f0fbe23187b33db4d34b66d128a8aba0a2abf40bb9d13d8e2554569a57ab1d8c61b8cad2dc88599ae0da5346e15dace1bac7bf69737c22f083be9b46bb8b1eab5957b2da740275e96c87195b96fe11452159dafcfd916cee5d749a77bc3905a5ebd387ae445e8fe70f16e9a086639779ceffbfd41557bd99aea6a371a6b4b160615a1a12bc6958d34bce0c85adcbd8392fa10ceca52209d56196ba3d273ce228f1f111192aa92de2a039798a17bcecb4dc6100e6f8ae8c2643f2ae768b2255f082c978e95ca551555f10608231cf8003bbf807969fff1e51914b9a8c9b8f4564645b9e5d705ffad29663f5dae3d76652b422e43f13e6c1491090805c2d1268a74a251177427e33a9a91175c3670b91746008bce1fd231e6e4f2ad70cb43aca5f07600a6d31dd02915243dfdd943a02165da367a6b7e4dae1dd2e8b836903080795d2585076cc1c15dd9e8d2e5e047526569b1bfd395d957eb9fde325d342d14426e71efdc1887515e53cdea5834921f928629e748eed097ac4024e2bf255d70411f87373948cf8e8aa7effa2b0ab47d5166091e1aedec60568b155bd9c27bc55f3ece35f83d636dbcd5abf4853a051db94d5044\nmsg = 54657374\nresult = invalid\nflags = InvalidPkcs1Padding\n\n# tcId = 30\n# ciphertext is empty\nct = \nmsg = 54657374\nresult = invalid\n\n# tcId = 31\n# prepended bytes to ciphertext\nct = 000004327a40b02bf671557124f963a57b3860e92cff62c439c0425b48b4346fc60c0ebf7a7584f94d34450d20cbd877c8d5dca12f517b486c2cccb8e1f467276ac03aadc94a97fcd224994d81672eb577cf0bbd6aa948d3dc4d7f06456f6650e5620435c078787db0f36124b292349ebe011ce54b3e932fac6525a37c793846a4f08ac3694d649f4a04e24e1f5e50f11a0492a68a509cf30e565ceb9931565b4aa5c3514b2ba87c4c0937ebcd6bb2b8248abb0970d30480059daea4c6ae556f6e91b25ffa5a4f723a9bf98a0bff668a1f0c799d3b0c85b19190dbfb5d894f84fa5d72d261dd2c09013dc0981cd0c46d7a08710801590aac8ff17b237387427ab3c6d6f2a59434b37f123bc7fc0a83d5ca5793540cba582e41b262859d36eabd0aa8203ca05d4c16aaf2a7b2bc7f251497d4c8f8654deae3cfffc5d3599ab4779585bf1673196", + "782075a91ee7c3296a2edc6ee6c30344dd0c0a82274ae17982eeb23eca5c39c7d11a2dd171c70108b0a33164fc175425586f714deb5552e90e561f7882211d3f01c07867256d0cca511e61b0cb51189d8e5124e8cacdab6042bd421447ffa7fe6cad8e7f17dd3e599bae061f85bb5181726d1c0c5bbf2c2a5c1e60f486a81782e58d90ccd5a769f98361765441de142bb0a7f7bd406a537d5be0c2773e847b1df1d49ac1daa963feec84954b72a695b74281159647a62a3c19acdda\nmsg = 54657374\nresult = invalid\n\n# tcId = 32\n# appended bytes to ciphertext\nct = 04327a40b02bf671557124f963a57b3860e92cff62c439c0425b48b4346fc60c0ebf7a7584f94d34450d20cbd877c8d5dca12f517b486c2cccb8e1f467276ac03aadc94a97fcd224994d81672eb577cf0bbd6aa948d3dc4d7f06456f6650e5620435c078787db0f36124b292349ebe011ce54b3e932fac6525a37c793846a4f08ac3694d649f4a04e24e1f5e50f11a0492a68a509cf30e565ceb9931565b4aa5c3514b2ba87c4c0937ebcd6bb2b8248abb0970d30480059daea4c6ae556f6e91b25ffa5a4f723a9bf98a0bff668a1f0c799d3b0c85b19190dbfb5d894f84fa5d72d261dd2c09013dc0981cd0c46d7a08710801590aac8ff17b237387427ab3c6d6f2a59434b37f123bc7fc0a83d5ca5793540cba582e41b262859d36eabd0aa8203ca05d4c16aaf2a7b2bc7f251497d4c8f8654deae3cfffc5d3599ab4779585bf1673196782075a91ee7c3296a2edc6ee6c30344dd0c0a82274ae17982eeb23eca5c39c7d11a2dd171c70108b0a33164fc175425586f714deb5552e90e561f7882211d3f01c07867256d0cca511e61b0cb51189d8e5124e8cacdab6042bd421447ffa7fe6cad8e7f17dd3e599bae061f85bb5181726d1c0c5bbf2c2a5c1e60f486a81782e58d90ccd5a769f98361765441de142bb0a7f7bd406a537d5be0c2773e847b1df1d49ac1daa963feec84954b72a695b74281159647a62a3c19acdda0000\nmsg = 54657374\nresult = invalid\n\n# tcId = 33\n# truncated ciphertext\nct = 327a40b02bf671557124f963a57b3860e92cff62c439c0425b48b4346fc60c0ebf7a7584f94d34450d20cbd877c8d5dca12f517b486c2cccb8e1f467276ac03aadc94a97fcd224994d81672eb577cf0bbd6aa948d3dc4d7f06456f6650e5620435c078787db0f36124b292349ebe011ce54b3e932fac6525a37c793846a4f08ac3694d649f4a04e24e1f5e50f11a0492a68a509cf30e565ceb9931565b4aa5c3514b2ba87c4c0937ebcd6bb2b8248abb0970d30480059daea4c6ae556f6e91b25ffa5a4f723a9bf98a0bff668a1f0c799d3b0c85b19190dbfb5d894f84fa5d72d261dd2c09013dc0981cd0c46d7a08710801590aac8ff17b237387427ab3c6d6f2a59434b37f123bc7fc0a83d5ca5793540cba582e41b262859d36eabd0aa8203ca05d4c16aaf2a7b2bc7f251497d4c8f8654deae3cfffc5d3599ab4779585bf1673196782075a91ee7c3296a2edc6ee6c30344dd0c0a82274ae17982eeb23eca5c39c7d11a2dd171c70108b0a33164fc175425586f714deb5552e90e561f7882211d3f01c07867256d0cca511e61b0cb51189d8e5124e8cacdab6042bd421447ffa7fe6cad8e7f17dd3e599bae061f85bb5181726d1c0c5bbf2c2a5c1e60f486a81782e58d90ccd5a769f98361765441de142bb0a7f7bd406a537d5be0c2773e847b1df1d49ac1daa963feec84954b72a695b74281159647a62a3c19acdda\nmsg = 54657374\nresult = invalid\n\n[d = 50dbf689c3f25e42535df0dd470817c10053e25b748ef4285927325b4f901ab899add6a34fe45af8651537b40eddf49514605dec9089d0b0471373cf8366bea6f314b073177c4a39d7e66b625598361f10af8b0e9c8e8a9ca3a1f6de2770d354eee61e3dbeb38b8578f901c09fd62a2893351f207f8decf4546dda12249217c8c2357b57f4d29a7452ea1ba0212e9013ce5919397be9be9abdde42bcccf21560470264d83d104369e1f1a08f58b8f6b5b873f28552e6603f9ad82a16bd865747aeb4d3ac7e105b2a49c19eeaa946588f96d601b279b1085e33becfbf15d8aea6accbe4ec0408b9a343374ed408fdcc7f4792d735912ba76919be968db2f53c7ba334d0fa6c780eda7b36f437337b4734e8dccbb2e92cb0648cb7ee48e7343eade2efc0103a7aba8a3686793cc93f47a62adcd4dcfba7a22c4436638d4e8f50b4248287ead7c8cc9c7f5d8c00675ac06bc7fc8c5559c73c3d0fa79a70c5b1f49096b1901141629c52359600fe6520c2b3cab17dd81f0245a2b33855ffcc8a7db394815b6b77f4cf6b33319167df390252b7c99ea4abac002e0d50ae7c046d5631e1f023ab50b0517980eb0ca232bbc74b297acee280ac52b8aaf795b54c9f93b8c97ee6667d08ee798b0910a4038462ffccedf4ae65876afbcfa744f52a8340daeba2b670c0fbdd8d8f96fc95447d4ede3f9b624722f98cc4ec4aafde697822f9]\n[e = 010001]\n[keysize = 4096]\n[n = 00a30b62740e25aab01934ea6d9b92090cff2c0ce9831941eb98376a2daabda6afce254617f6dc579f97c299fa89ca5f746fe3693075a135774b703b008b8e884ea6ea25a5cc6b92f9b328d77139401090fae69ebe327b36636306ff8b4a13e6e75d43eb6cf856a888442a9e03a2bbc22d003fe97c73fde4a3a6db1c56e1d5c8fb5e5c937d60e2752954a0bb194a2b84f50a12be183493b8035ff56b38f1b40ed3885cb864749342fb7d577ed5864bb42fd1b31e2d40e23c7192335c9a3fc6b2870c9f3fb3037cf21c6cea27f39696f561ce0b60b5f0df94bf965e8364d8c1fc1ea69755ee65540e051c5402ac3d93a1c65853cbb4231b6619afb07b58e7c7898d2f0efeb119899ab7be7f5110e7ffcf97a226bc6df9b5ac7e21645369dfaf595d05694695e5dab014ed1b0686ae065743a4f97f15a92723990c69c88adf0427e3f5c35b5612d1038151e5e4e359de850e910b841b2d58c2febb5c773e707d171278f2e9b20d1f4fc05274f6043024ea644b8ed7cddf5d7f7a4036630ce3220eca913fcc4d3f63d8036a49a76c0b9c3d3d815f61d98c37c12791fe300fc39a9b05ff28a5c5f54070f029b5d4214e874912c392bd92e9c870a6707927a0df866d872dcfc7b0c133621ef1f1c01dc485920a66920a815cc35f4ceeda40e5dedef32aa65436ef360e4c10ec1c970c5990f6377ee16804c9f00f6a7a751c6fbce973d1]\n[privateKeyPkcs8 = 30820944020100300d06092a864886f70d01010105000482092e3082092a0201000282020100a30b62740e25aab01934ea6d9b92090cff2c0ce9831941eb98376a2daabda6afce254617f6dc579f97c299fa89ca5f746fe3693075a135774b703b008b8e884ea6ea25a5cc6b92f9b328d77139401090fae69ebe327b36636306ff8b4a13e6e75d43eb6cf856a888442a9e03a2bbc22d003fe97c73fde4a3a6db1c56e1d5c8fb5e5c937d60e2752954a0bb194a2b84f50a12be183493b8035ff56b38f1b40ed3885cb864749342fb7d577ed5864bb42fd1b31e2d40e23c7192335c9a3fc6b2870c9f3fb3037cf21c6cea27f39696f561ce0b60b5f0df94bf965e8364d8c1fc1ea69755ee65540e051c5402ac3d93a1c65853cbb4231b6619afb07b58e7c7898d2f0efeb119899ab7be7f5110e7ffcf97a226bc6df9b5ac7e21645369dfaf595d05694695e5dab014ed1b0686ae065743a4f97f15a92723990c69c88adf0427e3f5c35b5612d1038151e5e4e359de850e910b841b2d58c2febb5c773e707d171278f2e9b20d1f4fc05274f6043024ea644b8ed7cddf5d7f7a4036630ce3220eca913fcc4d3f63d8036a49a76c0b9c3d3d815f61d98c37c12791fe300fc39a9b05ff28a5c5f54070f029b5d4214e874912c392bd92e9c870a6707927a0df866d872dcfc7b0c133621ef1f1c01dc485920a66920a815cc35f4ceeda40e5dedef32aa65436ef360e4c10ec1c970c5990f6377ee16804c9f00f6a7a751c6fbce973d102030100010282020050dbf689c3f25e42535df0dd470817c10053e25b748ef4285927325b4f901ab899add6a34fe45af8651537b40eddf49514605dec9089d0b0471373cf8366bea6f314b073177c4a39d7e66b625598361f10af8b0e9c8e8a9ca3a1f6de2770d354eee61e3dbeb38b8578f901c09fd62a2893351f207f8decf4546dda12249217c8c2357b57f4d29a7452ea1ba0212e9013ce5919397be9be9abdde42bcccf21560470264d83d104369e1f1a08f58b8f6b5b873f28552e6603f9ad82a16bd865747aeb4d3ac7e105b2a49c19eeaa946588f96d601b279b1085e33becfbf15d8aea6accbe4ec0408b9a343374ed408fdcc7f4792d735912ba76919be968db2f53c7ba334d0fa6c780eda7b36f437337b4734e8dccbb2e92cb0648cb7ee48e7343eade2efc0103a7aba8a3686793cc93f47a62adcd4dcfba7a22c4436638d4e8f50b4248287ead7c8cc9c7f5d8c00675ac06bc7fc8c5559c73c3d0fa79a70c5b1f49096b1901141629c52359600fe6520c2b3cab17dd81f0245a2b33855ffcc8a7db394815b6b77f4cf6b33319167df390252b7c99ea4abac002e0d50ae7c046d5631e1f023ab50b0517980eb0ca232bbc74b297acee280ac52b8aaf795b54c9f93b8c97ee6667d08ee798b0910a4038462ffccedf4ae65876afbcfa744f52a8340daeba2b670c0fbdd8d8f96fc95447d4ede3f9b624722f98cc4ec4aafde697822f90282010100db20bff0f553dc176de86baae4b93ac95673c6f715bb3f11b848bec81de4a0df846121b6385aa256cb2a9e66996596a1b5b532257cbf078819b8bf3bbf7801441801abfe490ca84e5d7482ee6211f04d8304be122684d1dc8cdf72d14bf85bd760ec0d0f5030e5ef62a0ceb275a2d57d95f3d63e39e4d2a97db0e243793bf32e83030cc0a0bea38824e6d1188b41703cc29a4f60028d895ecf64a9ccb3b228c7e66cb1db316aed92433c63b0445f1cc03460e33440ed2a23f901eec8925e7671e302f7d226a5e741e82982e67c58419e22105319ceffce9bc26ed89f8b59042b2974f6097f423a22e2656702b8d8813a5fde557d6adb6e7fa4e58cf8f07769730282010100be7ac2633836593c891975dded137d40f9e18519f92333048f1181b0b9ec1207502f5c5f0d1cd58365bff3e80b350b01990b1ea85e263f8adf4b6a99eac132554855d255c2253bbaf722e41b893c81cc9933560068b226e147d459b9a73ef1af2ab96a2b39a9e401385a713a860abd3b6ad9157dd6c2508f1859cb84717d4d533a7ad0ae92734e085956c40a9fa612555e68247e672523868e06cdc23e62524537435a142924c7c466b2cc89ef281c230ae6fe123ae92489e383407e6db9e5a859f8f7d6e3a68bef914494420226fe4123049c324eb0dccce0b7ee1382fbb90b03d87aaad596d232be352d83e0a01bac664ffa948ffce419806b68029c50ecab0282010100abdb408e336a04b85f5ba46d901af1cf0c3d9b3317d915fac8c44cd4581582522ad99efdf1aeab995497e549644f3757365298b4abe48a7ca467af9ba56bf1da3cd5bad5a0e70b6d0280a95b5a90e51d757f17aed684deae91d181944277d357d4ccece530a858fd6925e356354a73139eb27139b6600f141cdec865d0c442d21cb01ca54aac", + "9946e26220659679c913ee2fe5c6cfd9bf7e1b3bc0ac29d6b58329e5df8ba07353459df3d3df5f9014d56d7efb5275054c42903d82cfcd73c683455e838c4f0158a0e8fafd8dd4c1c71cc56c76304c9775abd54ee81820cabca9394760db4bf25df4140921441242c2ff4c46ec5783a1fb44a2c7e1cb2f95079f0282010100ad74dccfbdc0c0428016cf5ee925764a554329121dee0fe776e15a58b4f664f483f09d0d71c3702bd7dc95201a14939140ecff5e135e813ed558b81ab1cc7d296c55bad49d978a6d17e08e19054034733c8fa3217c35bf722717191e174f1a8789408f8e0d54c86cd4048857e2f8a49a1712d89f5f925409fb02ca72316709a360fdb64b42d1fd9d5cbdc6886619b55848404dfb4db2644783ce6e5114be346d138621e17a16245495b0fcd21f17478821c57858e18cadd9637582a59f064a3ca4b233ff5c0fae1edb0ab877e3bdde8b32786044efa3df6e32b54bf838af4232e5ad9d0734b9c370b2057b0d3ce09052ce58c6b7c2e7685050c17e55e2434f4102820101009479c2cb8bcf71d5edbdc4f65240ce586e906ab636320420cf1906170d3af01f767fcab768880628ec27953589454a0294409f78127666f45ec07d38139b4445c7638fb39dc18a91af5d9c28ecb47f9cebb1ce19e48dcbe261056eecc107f6d3ca715f3747af24e6ae6a658c434a68cec6ad84664c88167cc25567b0cac2302ab109c66bd339be5158c67472a01a81e9cf19dee2762bbe9b0eafdcbb96991070d956db3007cb2b4d2b0acef96a233ff8ddedb970c11c0987f1b3bc1ec8b1d95a7e10644c94fe6fb670d363869496d0e25ccd9564f283f55982f9c75108c470c81bf3b8f28c7e8533683d4945b538c4d683083610a7579f9e8dd1e0c8b15c5b8e]\n\n# tcId = 34\n# edge case for ciphertext\nct = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002\nmsg = 1061f29b99666e0047073d0956f9c8131c6285024f8de92af08f2256bcd4c33efe91fb5c9714d370cdd7476200706561fd65f95da0ceae1343c6b7c767c61ba6084b68ac52a120d1da040d2f2b64e607ef0aeff68c66368d99894695ce299bb2d566bfe42f805a14e618e5a6b53589f209ce8cc4756262fdbb69bd165fdf21e05955cb790b877a322e586ea155b660e5fda3b800fdf9fa38c0ef7d305c863a44dc33930d6a0c9e24eb5a85d1047a267760c0adc173779d2c2c63bba1621a9b02739f7f9dc4a84fdfd3b520aa62e517c0686d1e36cf95afc3c41b92f0d3c6b6c696f55b85594b30eab8dd10c3f9c730ea484426aabf1bb90bff491b77ddac7386767d8f2067f19977cd60d8be3874a8fe7cec3732bcdca051c099380a04\nresult = valid\n\n[d = 57264d0abd86617d2e3590bedbbefc316d2595df64bad5c7ea8915dd4a2fd057ae4b4715eb8f0e0522c864af4de77146d798effe4f018004a4b1132f9ee48f473b37516f55ee18ba596913da599eae2579c39fcd4c2284f9cdadca5d526fb68b2de534bd31a811edefb5681c37c0eb2a3cfc5e83a56f3b10af1b43a792392f16b0f855bf9bf40219633b0213f3fd851bd0d22f0bd69c2442d88238d84c1f6404544a006a99f9c91cb6aebbb43dfc148d9e7db80306e54d613ec6c487b9b8ed634ce3b8d67c3b294b1cafce7f7303241252c02df0f4e87a3d5f9e6f1c0c26dd28071c3f505e48c1e589ed44a30a002efa31c252c505c4d1ea987ee58ac381ee3af95ae617c3e0a07ce24852747d449cbe2db73882edd3c2f5d72460f0e88f981abaf8f035de69abbb187e7ba4e403efec30589195d94852d106790d67f5966e6a4aa3b02b46d68c4345b28f8fb82465817e112f039d9a607053db6b230792b509be05d54fe38a601ec1af0a5df9255fc59575460cb2a4c95948c55877db94cae251ad7d057c2f82a04b1bcadedbe96f8c1eda7f5eb5497f48a00bceea2027d610283017f0650efd79faf90601c2f6f4d35025b798a2dff62439ffa425d8503fd7ade71038a534dd24234bbda0d4d4ddeace2551e4ef92862a7a5d42ffaf6cc4030c372462352b4062b9f6709d83a49912ee793769a44cc13359ba706e393beee1]\n[e = 010001]\n[keysize = 4096]\n[n = 00ae4a8f37d842dcfbab76d00d98c54ccb9f7f880bd50520f0fcde0d548ac809eed58a949812e9a781c394009f62aff39cc34c81fc760dc5d53216a766c68d42228c72e781b0b41a807a44f1731525baf1640ca2ef4c2271aede93b5c7627c8803a8d221fc44d973c6342ddeebc40b35a979a75062c65aa79536030d7975dbab311359c008e343af0c0e7890bba9344d617656266371c22eb53eb527e06a6db690965a4ffff4c8f309337216fd976a476a486d8b4b50a365ff80520554e72db181ae87515724c6b7f1ac2f25a1ec7d7c34fcd10e1e0d3aa9610e3364a763e842fcbc959a82d126fbc0a8a2fa94b2f3a62628e0658d1adf43e1c54be6e3b68a895151cbd4523c8b8e2a4998c20a4b84d1c3cb1bbe3b5ef1256e2710a5472ed8b4ab5426317dfd9e2d5ff527fec5fcd52ec0c35db8b3149d15a49971f740b0e94a3ded05010895be40c8bff8f79872cf481eefafe0b8253f9b12d8c3827cd74d9bfef90c292e2ba12baa7dfcfeb1a73084286e1dd28dc851282542bd5017850269f2c532a910b3f493671a27da9a521e019e3478830e49243c860a5559f9f7cc15d1f42185d6d33efe01b3d731166a7f989ab93e70c741bb943db682296a5be6ee0b02a6c48d3b10c0a822975f9806e33e89b90975d229947bfbcb35b1ef54535d8c249cb1241184c8c9d2db99cd949af9bd4138b3bed7000fde2648cd06e4f5d0d1]\n[privateKeyPkcs8 = 30820942020100300d06092a864886f70d01010105000482092c308209280201000282020100ae4a8f37d842dcfbab76d00d98c54ccb9f7f880bd50520f0fcde0d548ac809eed58a949812e9a781c394009f62aff39cc34c81fc760dc5d53216a766c68d42228c72e781b0b41a807a44f1731525baf1640ca2ef4c2271aede93b5c7627c8803a8d221fc44d973c6342ddeebc40b35a979a75062c65aa79536030d7975dbab311359c008e343af0c0e7890bba9344d617656266371c22eb53eb527e06a6db690965a4ffff4c8f309337216fd976a476a486d8b4b50a365ff80520554e72db181ae87515724c6b7f1ac2f25a1ec7d7c34fcd10e1e0d3aa9610e3364a763e842fcbc959a82d126fbc0a8a2fa94b2f3a62628e0658d1adf43e1c54be6e3b68a895151cbd4523c8b8e2a4998c20a4b84d1c3cb1bbe3b5ef1256e2710a5472ed8b4ab5426317dfd9e2d5ff527fec5fcd52ec0c35db8b3149d15a49971f740b0e94a3ded05010895be40c8bff8f79872cf481eefafe0b8253f9b12d8c3827cd74d9bfef90c292e2ba12baa7dfcfeb1a73084286e1dd28dc851282542bd5017850269f2c532a910b3f493671a27da9a521e019e3478830e49243c860a5559f9f7cc15d1f42185d6d33efe01b3d731166a7f989ab93e70c741bb943db682296a5be6ee0b02a6c48d3b10c0a822975f9806e33e89b90975d229947bfbcb35b1ef54535d8c249cb1241184c8c9d2db99cd949af9bd4138b3bed7000fde2648cd06e4f5d0d102030100010282020057264d0abd86617d2e3590bedbbefc316d2595df64bad5c7ea8915dd4a2fd057ae4b4715eb8f0e0522c864af4de77146d798effe4f018004a4b1132f9ee48f473b37516f55ee18ba596913da599eae2579c39fcd4c2284f9cdadca5d526fb68b2de534bd31a811edefb5681c37c0eb2a3cfc5e83a56f3b10af1b43a792392f16b0f855bf9bf40219633b0213f3fd851bd0d22f0bd69c2442d88238d84c1f6404544a006a99f9c91cb6aebbb43dfc148d9e7db80306e54d613ec6c487b9b8ed634ce3b8d67c3b294b1cafce7f7303241252c02df0f4e87a3d5f9e6f1c0c26dd28071c3f505e48c1e589ed44a30a002efa31c252c505c4d1ea987ee58ac381ee3af95ae617c3e0a07ce24852747d449cbe2db73882edd3c2f5d72460f0e88f981abaf8f035de69abbb187e7ba4e403efec30589195d94852d106790d67f5966e6a4aa3b02b46d68c4345b28f8fb82465817e112f039d9a607053db6b230792b509be05d54fe38a601ec1af0a5df9255fc59575460cb2a4c95948c55877db94cae251ad7d057c2f82a04b1bcadedbe96f8c1eda7f5eb5497f48a00bceea2027d610283017f0650efd79faf90601c2f6f4d35025b798a2dff62439ffa425d8503fd7ade71038a534dd24234bbda0d4d4ddeace2551e4ef92862a7a5d42ffaf6cc4030c372462352b4062b9f6709d83a49912ee793769a44cc13359ba706e393beee10282010100e531e0215cb9566bd549840ab5a816061a27dd49d0c08931c385f9ade92189674e02afd043d94b72a9ec85c1decdd670e780de58f3115f0220968777ae3363dc59fe426ac191d9ffe7f29c93b4970ca3e4782beab2126e040552c3559852e7a9795196fd9137fbc57d7fd8382b07b8ed982af39b4436b76c917c00da4549170ddea5f801f7cc28380f5b15292f5df899ee10c245cd7809daf6c7247e366925e9a534e9db91e2ef4f1538629d68de6ad4c5cfa7e4beeb6a8ead352506521a0bc8a33043b96782bd40d58d00f4f86d7ce43384665bea851235a3b35bd9498ae513c1024499fa458f57a52ec30df36885f11b1800eac4cf2e3d402df7778672bcc50282010100c2acdcffe8a54bb71ee22a3a457fc92be6503f0bc91a4f02643e38a07e994666f370761c4acb89892458ec4791a7e1ed74dcf27ceb44378dc29a210c37ac4a869056d3bf91a1cabfa43f7f9b9c74873e15063369df7f7fb020540d9d1fb7b8288a4f41326cad5f81fe6d969db49137c3395b9a4ba552f3da807ccfd4d541afd539abc72c71479912b7c5e5975496aabea2b11330c8ba954d4a5c7c56c7d2e9b86b2baabe0c521dc871618178a3b135f148cf63e361db7b7961dbe5dd8afaad3b58152219e39abe825fbe51fa1c2e25449ee869d452a82fe90de741c87725e023247b", + "07d4f6f8cf6fe103b43c42bbb4381558aa2e7d5a69fa8ed89e46e8509c9d0282010100b2b6874bbc5f903199282fdba1f624e63132f06c04687d11dea1f324566a9e177d4ebf04a843217f915c2a9817416d7ab0295e3701a183f1c6b359824ac52b92c061702c8a2f4e4b2af3947fe00b000233be389052b5e82f1e6f807c97bfdd7fda677252da0f4b349d3d38bde35fac2527c82617e5c2bc97dd8151b0e0e1b3264f7c1ebc7a1a292a3d5f0a4b08f23f4cd7c31d990c34138b376de4d8bd589405719aa6d75d141502174bd62963823acf1a4767650831cceedfc456d06ce87e53be5b7e136dd115fd1e074abdb990b617c2cbf47cab8b83bd6b9e097a8ecbccfff039f2801614734726382644148e6612b0cbb0bb5f2725a9010856b44e93dcf90282010002c57d3bf36eeefe03658ade5b80ef373dc724aea1454b9ca81aaea9b243b259e2db56031f1978b2c81eaff670df67fafe6feacfd6759928de7d5d3d1449d2a1c9ca42a776864c21a04ffb1c17051dabc796d80288d902d35a12784325617330b88f5a49427cd16043640201eac12a7f1000fad85ad92c798edcb804baa87dbd565dd8af0c49cda71390b0ad0fda39420f84dfd610f57f0ca3a35f6dc8d87ad5524943dc02c6e47fa70591574b5549844eda0cfcfeb6a6325b2f4b3d752e0e6b4adcba288e31f4c65c609440304883e54f31d5d7dcf961fd3a6271704e29eedff134032f87f890d371eba0943f0af70cd958f2cb48a391e0ac49ef2ee93dc48d0282010040e18da66705ea3272ad66eb8c89b65cb775728ef49ec3449f0a910496bf628d38e4b8a00db866612fcafd9efe8ae6ba215050a0d7d5b888576ab91306b4c83e7235c5f13ec7727ed574cdceb942d4851a953cef037e654a131182a18c322acf8ed88923b445582ebcce561c4a2b0930287fa000417f5f04187d827238dc052e52c2808c374a58e2689c77ed80fcfd972471c777ec02bb8903bc458853b71ff6644fbedea7a1a312dface74c8ddc4e4252aaff41140cb443ca66a5642a916298bcbf3480e0294f855b17536a796003e4de33af0577524813c56573c1edba4d667ba61a7dc048b784f324f227d02698b0f430714ac689232e30fdca287e7ee87e]\n\n# tcId = 35\n# edge case for ciphertext\nct = ae4a8f37d842dcfbab76d00d98c54ccb9f7f880bd50520f0fcde0d548ac809eed58a949812e9a781c394009f62aff39cc34c81fc760dc5d53216a766c68d42228c72e781b0b41a807a44f1731525baf1640ca2ef4c2271aede93b5c7627c8803a8d221fc44d973c6342ddeebc40b35a979a75062c65aa79536030d7975dbab311359c008e343af0c0e7890bba9344d617656266371c22eb53eb527e06a6db690965a4ffff4c8f309337216fd976a476a486d8b4b50a365ff80520554e72db181ae87515724c6b7f1ac2f25a1ec7d7c34fcd10e1e0d3aa9610e3364a763e842fcbc959a82d126fbc0a8a2fa94b2f3a62628e0658d1adf43e1c54be6e3b68a895151cbd4523c8b8e2a4998c20a4b84d1c3cb1bbe3b5ef1256e2710a5472ed8b4ab5426317dfd9e2d5ff527fec5fcd52ec0c35db8b3149d15a49971f740b0e94a3ded05010895be40c8bff8f79872cf481eefafe0b8253f9b12d8c3827cd74d9bfef90c292e2ba12baa7dfcfeb1a73084286e1dd28dc851282542bd5017850269f2c532a910b3f493671a27da9a521e019e3478830e49243c860a5559f9f7cc15d1f42185d6d33efe01b3d731166a7f989ab93e70c741bb943db682296a5be6ee0b02a6c48d3b10c0a822975f9806e33e89b90975d229947bfbcb35b1ef54535d8c249cb1241184c8c9d2db99cd949af9bd4138b3bed7000fde2648cd06e4f5d0cf\nmsg = e64266a37c810fdd0a9f349dbad2672d8744d00d528c28a5f152fddbea34d89ebfb6a841dfb65f0c6719575a8aaef764525fde3d759bbff64a1c5131031417f346e48564a01b59e517edb54f41aff7b4a59084d00984d3ead24745e247a7c5c6ebf1aee9dcd2dc0e676c3464793c01394f78b2f15f815c796a92eb1c581574e02df4eed96670c8604f336e1ab16d7ea37f9a19d7059d1078e505a40ef76491665c05141f57dc4c64bc35d4df1557b346b596a837913f69d88499c8426945cfc3d4cfe386eadcc572fb1ef337a964ce9db208cfe2f714fdbfa337f62ca9734e5654069fb9c6dc4a12407bfa50d310040317fc56829cf8bb536571bce62800bf225e2e2146b7678c52cc22f66a7aa27d9dd9506c99d6969b941d28fb055aa2d5f527c95f97f88bf1ff5c5a7b267a92d3acd29a225dcd7f748c5f171f936088633a7252eeadbdb7c479bd217e950c4e991392feebecfb09e1d4d4565cf3ae45a40c2901c91e2902e8b4008c17c749de0085368b569c51b349ecf8206411e1b0c12905780cb263fbeb5c912f1dd5ed63ccf8c3d189d302f307fa769abd845acd5a6798d339caa37d04acb7d5eaebd883be750333bdf5e6\nresult = valid\n\n[d = 59c7e0280c4341045e7b78027fb8348e90cb121011e913bc28425d95429e6adba7dae5b14ec72c34203c4b59e9727a861c3582f4da0b0744ab22a7c82e29b02ce7e4c8e9a2f923d8cee2a55af85e4a74fdb7db05c74d0a46a013ecc7443cfc974e8e0413480b2edd25d22da37b38a65c1a7c96cd551f30a14973b9ea64eaf12fb9d568d1b0ffa39c98f94b23de567cbf0c30248651e5a9a9b0e32e61f55a01716185514d31df24ce6ffada44970d4c4c8919c28f599aa8b9f4e110fbcd2c847fccf858a4a6f9f6ae8ebe778e359d9a0026cf03375ee55bc063c0f2cae80135ef2ce4b680ea0ea56f2f3c22fbb229d7f7aa7f5aa45c0e43783c89839bdca4d9e8a4d646a9f54ae748f3641a099ec73eda5c20aca7466dfe1ef8dfaf3feb02a1e1a4e7bd1b49cd6ad9466f540a95b6ebfa1cf759fdfbbbd3a89c3d61fc87fc30c227a381a25522bdf27114630948a5bed03227fdab50824e6c1295f32812e1529e3e36e6aef652c0a48c5adbaa8c515f9a96957d300b28b5fc5ae1edf6d12607c4380a5224ab56fc4da3a1cd04fbfb5d683097923563f283fccd87df003461c8e0f158a6d0103623f80f6488e41a519d17b345a09bd35eeaf9e78729f767ff5974e01bddccb0bd2d0091292a9e14cae3a9fdd92e2a0a420a75074ca9d5ea721d04ba999f85c329559901e30db0fe81779ae4c2ba1a33ce892a6356708cd1be3641]\n[e = 010001]\n[keysize = 4096]\n[n = 008e004efb4ea1c0d4ec2794a28f273ee2f23215f6e17c9cb628786fd90dc9aa685aafe4006c4b647a5b18115659fb543fe6458964a30144b975b3f3b5e5f6d8930aa962f70da2481fbf855a103f3920f66346ce88f906107b3b8c85b74d1b04275013e2a631c319d3b1b4a5b5ab4f5cd372b24942b95fbf8d4bc6969697b85edd3f6b8ab51b50dd34b0fae8ece7f80fc0651eac49c85f11452fd97189a611e276e30da25a9de4698ee4f28b9fba1fb3d8b0c8f0112d29a7cdc4ce89559e56420f2ec842039b10780edc7824a73d23693cec0d358aec7b3c0374ecb0b86c9d0fd7e245118e5fbc1607c9e6435110aa7b6cd36327a3385632026c017bd1d6894ba2e1c51d404051f38e6eeb70c56c7a09e2e12d3d746e7550dd1ae3e3186e36a84b91abf2e3e2dd988955f337521540b60d3501cd9bb82f6092f293d434d4ea67e96c7b7fc7868869a5a39558488ccb0d863e6ce5ad73c8d3a55402b0805b500c1d3483adaebc455fa1454a0bd560fbc7bea332fb5cd6b3814851237b253ed7dda42eeaa630736699dcbb5b4fc005b18119e59a381fda3df15909e44d55646b80917d37299e24ad209b57760b6b67afa97e76b4f06979eb22ce46b25a5248ea4da4cbac214181d92aba5d81ce547656aaebb22363e3f09ae93991c05380d5d5fdf6c47251eb9b8df080f1c63b470194e0542875ba8d1e33624d1898dd6a4579b5bb]\n[privateKeyPkcs8 = 30820941020100300d06092a864886f70d01010105000482092b3082092702010002820201008e004efb4ea1c0d4ec2794a28f273ee2f23215f6e17c9cb628786fd90dc9aa685aafe4006c4b647a5b18115659fb543fe6458964a30144b975b3f3b5e5f6d8930aa962f70da2481fbf855a103f3920f66346ce88f906107b3b8c85b74d1b04275013e2a631c319d3b1b4a5b5ab4f5cd372b24942b95fbf8d4bc6969697b85edd3f6b8ab51b50dd34b0fae8ece7f80fc0651eac49c85f11452fd97189a611e276e30da25a9de4698ee4f28b9fba1fb3d8b0c8f0112d29a7cdc4ce89559e56420f2ec842039b10780edc7824a73d23693cec0d358aec7b3c0374ecb0b86c9d0fd7e245118e5fbc1607c9e6435110aa7b6cd36327a3385632026c017bd1d6894ba2e1c51d404051f38e6eeb70c56c7a09e2e12d3d746e7550dd1ae3e3186e36a84b91abf2e3e2dd988955f337521540b60d3501cd9bb82f6092f293d434d4ea67e96c7b7fc7868869a5a39558488ccb0d863e6ce5ad73c8d3a55402b0805b500c1d3483adaebc455fa1454a0bd560fbc7bea332fb5cd6b3814851237b253ed7dda42eeaa630736699dcbb5b4fc005b18119e59a381fda3df15909e44d55646b80917d37299e24ad209b57760b6b67afa97e76b4f06979eb22ce46b25a5248ea4da4cbac214181d92aba5d81ce547656aaebb22363e3f09ae93991c05380d5d5fdf6c47251eb9b8df080f1c63b470194e0542875ba8d1e33624d1898dd6a4579b5bb02030100010282020059c7e0280c4341045e7b78027fb8348e90cb121011e913bc28425d95429e6adba7dae5b14ec72c34203c4b59e9727a861c3582f4da0b0744ab22a7c82e29b02ce7e4c8e9a2f923d8cee2a55af85e4a74fdb7db05c74d0a46a013ecc7443cfc974e8e0413480b2edd25d22da37b38a65c1a7c96cd551f30a14973b9ea64eaf12fb9d568d1b0ffa39c98f94b23de567cbf0c30248651e5a9a9b0e32e61f55a01716185514d31df24ce6ffada44970d4c4c8919c28f599aa8b9f4e110fbcd2c847fccf858a4a6f9f6ae8ebe778e359d9a0026cf03375ee55bc063c0f2cae80135ef2ce4b680ea0ea56f2f3c22fbb229d7f7aa7f5aa45c0e43783c89839bdca4d9e8a4d646a9f54ae748f3641a099ec73eda5c20aca7466dfe1ef8dfaf3feb02a1e1a4e7bd1b49cd6ad9466f540a95b6ebfa1cf759fdfbbbd3a89c3d61fc87fc30c227a381a25522bdf27114630948a5bed03227fdab50824e6c1295f32812e1529e3e36e6aef652c0a48c5adbaa8c515f9a96957d300b28b5fc5ae1edf6d12607c4380a5224ab56fc4da3a1cd04fbfb5d683097923563f283fccd87df003461c8e0f158a6d0103623f80f6488e41a519d17b345a09bd35eeaf9e78729f767ff5974e01bddccb0bd2d0091292a9e14cae3a9fdd92e2a0a420a75074ca9d5ea721d04ba999f85c329559901e30db0fe81779ae4c2ba1a33ce892a6356708cd1be36410282010100c4cbd1e595470ffb97164a98e43a154d43bcbe19ae0497c8354296adb641aa8df5357dd49de5e9f4d0cba3c0370b897e4a3a62048caf3fd93dcc05b6bddc3d7511cfce6cb32b03ffd103b9feaff63cef5d3877c04d60b00218647c7cb2aaa8bc424ca4f9f5aa52e9538d2772adfc5ea045ac4ad50d29ff39e839fd88b0a0cb1750306d10e524e3c7ec65784f65b62113105d25a6d1f6af3c0482cb56340bd79a4de283ddd091ec3c", + "2e55e4cffb3805ef0b76af24e1f0c9438bf1b0f0276271b9b3322e51b7b16576d3c98fb38722d90a8a4bb546c11d3448955b98eef5ebd62225be3e57fb525668c60646789062cba778e7563da8e3cdd152243a210b0617b90282010100b8b879c9c0a2de82253a049a7323c5d1607a99a634a1d2ecde52c8ff2137c27a46b9b68dfa8d895241d54acdafd650dae0e2830f36cecaded3502ecfadf8d586dc935e160210be5c02ea10932ffef416f5d06af0bea0b0501e12dc915fc8b7dfddb23f1cbc83225264a7f5d2f83800e155fcfdbf9c817823ce45188812f79460a2a288e70740b3429a0768894e8d12c0a2e015d3e9a8e622f155aac5c29c9e6576e39c2ed9aa570e0ea1395c369532f5e6939d1dd1c3a554bdc2cd6c663d7096d708421cf2f1d621c453e979138635a3c279c5f8f10a90be2a5fa185125a743345b907d78527358c595836e9b2fd9a3868e46c955be6caac4889ea8ff7890b13028201001be7beeaac21387df76d9cc453507d26c89d21e3a84e546b7a49e7edd7f335c90d65396385c44d497eb5f19156fcd6d1469b42bcdc6a1946a7c19f69cb4048a2aa14ea7375707b0fb246b20010597d487fd27b0094b84a1cf1f285c874d94835f1bcc683ff36d8ace74113bfea35e8011800175860967cef6c2394f4e5fed6ed865c678ac6c3555d4b03146d45c1eeacb25c52f375c06216c398fc564be905f88664c14819c427585d45a6bd6b25058a60f8c25b1b82b63752c7c1cc3bf974a0dd6d172e553add655d20aeb4c94bc2b500e93d5a3c15f50cf9c8d445c62f5bdcd9b74145de884d626bfa05d220bf319b9cc448f1535a821bd566f7ab29d20259028201001d0c558a9692862f2d2f7c7dd55170d0463dc15fd3b306fa5cd3e3ebcb0b7bb7c2db7d8bc234f3bd4dc0feec6d94644ea742b79d72defe242052e1a9a310187406c7dde9d41551fa223330bc14b62128632b8d45a2949e655af5585e3c13d2668ff471dc5100c62af2cd3ee91843a64fc937e9a7723321f36f828a230be8871ad3388012e49f1611892b5513129938b3b6694ac5725f2f219b95ff2eee35b6eaf9d13d4458d262b24136b5507cfce570a9fbd89f51d7546e8910d34112aae2c3b5b904bc8cafdf1e9c431dd9fe6a02916809c24a2d8d9dc969dc7407fb24e25515c7cd25e5388f412ce3a46f07c8bdb1d53ce69e6e3f52ebd8d46760906aaaa502820100498c601db857d9d3a101b2d328bd7eb9f13f5c438664a1046a600ba433ff41b7b36d3570fea5b32f6fcdd564fa84cac42499afa6956529cda036884c6331df7a531f586c88ea9d2c7db4daf65596b7ee7c9e30112eb5fb5d7e2b0aea0e32214e35440669e4c60ee74885ba11bc83fee7d1e9c04c4148a2873584ae4b4e2801490572a699486d7d939eb34225506d4d647b5cf99c05626db84ab97478bb0c94a106db54e15462b67182ea2b8acaa6bdaba22b3b6725d1d15409b993c3925de95cefa02f6d0acd3142376a8cb19dd40590b724e49b5d8b76ae8bffa4a1cd35013125e891617b9a2199d5cbce7538b931fc9e62f20a958424c1aa087301499e1097]\n\n# tcId = 36\n# ciphertext has low hamming weight\nct = 0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nmsg = 841ba29bf0367671a06435acbd87d9362aa8a6674968041d63d0676de8e31f11a91914645868de92d15d873d7138fea4302a0405817d74b59d79cb141ea7ff43d41eccf801f46d6d8f9a4d7dd05e83f34b73ceed85c8f8dad3e903f6640dfe004f0862fec157c72b7ac82da45c51b17633e1f411c373c45e2d3967d853ac0fba8d8bd8765dac562cb9afb8f3c106177b5b8a233d2822fc9b68e44a915321bedf76384b7cecdb76d185f001ecfb8b8fbd8c31f58b1e226d7045927d97f5bf7ae151eea50fa417878512ec154d96d24b30ea1c9417d491064eee1a3ce925f822a74e41f48279\nresult = valid\n\n[d = 565f2a901c4bdda744700ecc8c911d4caf139d746c6fa14d9f8a1da61bc6ad66e38b2163917127eab80c1069a968d9afe003f6542967a3ec188e2530a091071638adc1e66084254154d1c19ceb16d824a979490d06ec4fda761c2c6985281987ca8eb80ab487eefe37a23b89591d1b83b1e424f276b4503e0301913bcfdd8125743c1ec6c91faaa44957f4b1c6bee44c628e7adbf398602dbca45014bd0dd016085778c23b4235cf6c45ce12aa454ee4d361e59379afda1eeb680df211cb94ec056ea2b17ff51dde5e41a8395dbf98e3378846c86e944e6acd7edf981ea59e9eaec2052cb7bec037676c6b3f291b1688cf0fa8e6a1469df83b4e808b9d2e902ea2397b30d36a8751bfedcd69aa7f3d43ac0c4efd4ca9b681ae5d73aac0dca6ba6d3e5153ae4b27c9cd0dcd60896764c45ad1754ec6929c60efe18d929d5205784afb294b539ecda0cbdff59cdd204311d7f4170956690c36535bbc5b989e379fe8c90a130210a783ba8cb4f11921924726bebaaadadf366c9207b60600df5224a2cde790ffa9dbc162ab28fb92e707f99007ac7b47b3c4a0da3a174cc057d1b1eaea8a466e36774ca53c3c4978c9a554ba159c6f3cbd22238a8e6dd54e28dcb676c9fdd9ae5248fb7a88f66569e04ab6e5b0d44f3b3fc7988184e88eb4516a3aea7dddeb0af0b88ea7de2a0bc098c6f63d3ed8add51bf52ee39188abc9835721]\n[e = 010001]\n[keysize = 4096]\n[n = 00c2ac9fa1ade448ae0f5dbfd29993e214de89af560f686825b07ee5901c6d49c8c54d70f49215f83bcc4178dede420a8dc7c65ee492921bd62aa653ae98193652fc85abaca9bb6e4925622974c6c301a8dec37e48122f0574e4a6a210b06153e976457cf3fcbf81460680602c6a0638a741d3e1746a3d0a03644d7aa9e0cab78f0056f111361b18e81d326788ff53f5138fca0669cb9e2a66edadcaeb7cc4f14dee08f8ed77a06e50428911255bfa3310cac46e2b9c0c770eac2602c88139a13edfbd04c8291eff82e02c4a166ed179b0ad824756836b0aa2ee101f0d6932ff0f842f0c91f2594abd84288edefa7fe304009a51e1b70f2e3d063fa733a6e2a6663967783dba66d34e0fce845b9eeb494e37652d5bc1d9c04b6e898592f169963754ce58aeb5aa0c0d419d6543ecb9076f8eea5a9afb68d248d787eadd85840394cd622bc81e3efcdc7da8e817815419e52074ff878d8aa3aa329bb23a3348f83d00ef4dc365d8833859b431c1b35e550c62411e993d62f2e099c1a6ec6f2f3473b97e8dd72c3c61cecb988061bba1e38cc1fd872641041e42ef70ac3b5213df616280d9c685cf50b8984fd72a492b9a99d5d4d1adb82650c2d342d87f29c653c6b4349bdfb33aa75b789af8ac88dbf13d2468062f2ec1995244b41373b687546a6b881519b0c29d438cc6d222354a0b2ba5c023eaf8a918c05f002e7264e485eb]\n[privateKeyPkcs8 = 30820942020100300d06092a864886f70d01010105000482092c308209280201000282020100c2ac9fa1ade448ae0f5dbfd29993e214de89af560f686825b07ee5901c6d49c8c54d70f49215f83bcc4178dede420a8dc7c65ee492921bd62aa653ae98193652fc85abaca9bb6e4925622974c6c301a8dec37e48122f0574e4a6a210b06153e976457cf3fcbf81460680602c6a0638a741d3e1746a3d0a03644d7aa9e0cab78f0056f111361b18e81d326788ff53f5138fca0669cb9e2a66edadcaeb7cc4f14dee08f8ed77a06e50428911255bfa3310cac46e2b9c0c770eac2602c88139a13edfbd04c8291eff82e02c4a166ed179b0ad824756836b0aa2ee101f0d6932ff0f842f0c91f2594abd84288edefa7fe304009a51e1b70f2e3d063fa733a6e2a6663967783dba66d34e0fce845b9eeb494e37652d5bc1d9c04b6e898592f169963754ce58aeb5aa0c0d419d6543ecb9076f8eea5a9afb68d248d787eadd85840394cd622bc81e3efcdc7da8e817815419e52074ff878d8aa3aa329bb23a3348f83d00ef4dc365d8833859b431c1b35e550c62411e993d62f2e099c1a6ec6f2f3473b97e8dd72c3c61cecb988061bba1e38cc1fd872641041e42ef70ac3b5213df616280d9c685cf50b8984fd72a492b9a99d5d4d1adb82650c2d342d87f29c653c6b4349bdfb33aa75b789af8ac88dbf13d2468062f2ec1995244b41373b687546a6b881519b0c29d438cc6d222354a0b2ba5c023eaf8a918c05f002e7264e485eb020301000102820200565f2a901c4bdda744700ecc8c911d4caf139d746c6fa14d9f8a1da61bc6ad66e38b2163917127eab80c1069a968d9afe003f6542967a3ec188e2530a091071638adc1e66084254154d1c19ceb16d824a979490d06ec4fda761c2c6985281987ca8eb80ab487eefe37a23b89591d1b83b1e424f276b4503e0301913bcfdd8125743c1ec6c91faaa44957f4b1c6bee44c628e7adbf398602dbca45014bd0dd016085778c23b4235cf6c45ce12aa454ee4d361e59379afda1eeb680df211cb94ec056ea2b17ff51dde5e41a8395dbf98e3378846c86e944e6acd7edf981ea59e9eaec2052cb7bec037676c6b3f291b1688cf0fa8e6a1469df83b4e808b9d2e902ea2397b30d36a8751bfedcd69aa7f3d43ac0c4efd4ca9b681ae5d73aac0dca6ba6d3e5153ae4b27c9cd0dcd60896764c45ad1754ec6929c60efe18d929d5205784afb294b539ecda0cbdff59cdd204311d7f4170956690c36535bbc5b989e379fe8c90a130210a783ba8cb4f11921924726bebaaadadf366c9207b60600df5224a2cde790ffa9dbc162ab28fb92e707f99007ac7b47b3c4a0da3a174cc057d1b1eaea8a466e36774ca53c3c4978c9a554ba159c6f3cbd22238a8e6dd54e28dcb676c9fdd9ae5248fb7a88f66569e04ab6e5b0d44f3b3fc7988184e88eb4516a3aea7dddeb0af0b88ea7de2a0bc098c6f63d3ed8add51bf52ee39188abc98357210282010100ec980e9a80b0ab244ca03e346e11a9c7bbfa135f2ddfccbf216eecfe03c2e769ef39e3c92237fdbccdeaa4b59f6d0a861ecf2c32a53", + "2fc48e4e22bc81c267771c74843f47a05c2554f77787b64d2aec57dcbfe8ba418d3710d56e0c4b3f27fe0355f62409715ef838866ce6c49c0eb3ae32e05cafeaf6270e9dbb6c1220eab995d96ffdca3a38c47dda3005ece5d66cc4b38c5198a5ab98b1ac0337cdf9961b94dce011b6c66224857d74c14c70088c5af3f25e5e1d3c2c1259ba2ddbe302c029913e21e4a9a296c4d6494e2b4dc7117436dbce0d93626be4b366e48dc056dfd3d2cd154fe776b205257c0e86fe44f440c0b9b39cae3d3933d50f423df9161910282010100d2a458fc7364c3a91f371101bacdd85ff840e04e0e24bac1e70013d47fb599cb780b6a01885ccb03e8d77d040ae5665830915e2d597fea3c60ad9ac60ae642d246c5ddf1b0e6850aa636d8a5452086c251c245a2afa43d07fa5484c3389fbed6ccdfdd095371461805d9cd5207f625baa1b3ddef80a2b397e8d762637fdce687b6dfa76a34434325690dfcd4bff02963698664ae71fac9126225a6ab073ab8bc316e789f9d413b70fa566c2188cbf96dd0d424206eb3d56058085105d513bd5d4273c524691806257133b904c51859837005a70fbd7831b281adf1c47630f30a3de81a200f19da493032369e2d6c5bd0be2be6ef68a7ad3c0e911b405eedb1bb02820101008c00aadb987d72b8873367bbe4ca44fa716cd91bc06ca79f0e6cb286d9b8f2f187e36cbc6fa84c58f64cfc6c914b9827a78196b8dd72df414f57daea8e65e0d68e43601b023df8323d55081194a6eb4ee852d76cd08cf449f8c7c937fcf7e9ddc6178c6f86382fc458e9e50ac556089c8f2483bf0c98c21ae8f7e01c474801193efd84a88e98d00112d14afdcf060c37a5e79112bd0154bc50f71d40ae9bf7ed0c7273cb4388e88e8094616c061a75d4ed0fe4203552f6f30e8b1b8435f0118af4048510c1ba99fa818d9c60ceff875869c93d349cb46396c5b10eefc46ade1c35a018bb3fdd70a1eeb808ea42940aa7ccaced8cf4577eb2a95d072b57379351028201007a769e5db760fff8557398699f078a22d19c364c6b20a38b9417916fdc07e2b04ecca406dc16c6d931080760d04ceaa19f2b04cbecdad77ddedf4fba901faafdc1b3cc03764baf51afacf76baeb2e866154e9359b03016638b00946743866c5749a96542c4c678700306cbbe436eb224bd5a6b4f91440691ed073be689320ebd1c6f0f5049ae495d78a46f37e9976118b1033789cc2e77b43e67916ca1b95c29ddbb5259c9fd60e7a0439a7e2ca01a15e47151c7a154e05b311334b7e557a2a293bde701f22fcb72fd4b8ae7e106f513db8f0dbfb2f22c4291ee653f494fd01d463ca8e3b6a3db2aede063acb6cfe6d98796d29ea203ca4dbe5252bbabf5197d028201005acae8ff09978268b24cc4fa85087008e3855edc4314b3d84e129a84ffed2c0e56d09354b67cfa425bf0370a2fff8548259efe2572432e329fa059bbbcea40e4ea0ae095051cdfd853f1f2980ac3a8bb1e36f31fdd406e7e4f8e43706170896bcdf8c49d6ab57b319bd1d8714d16e03391a2c99320d431fe55d658251d9880eecd50ab55153fb5fcb64e059c31c1210d0b7329ffbfb5010acbc29c73b64e737433a31b3bdc11873278fdb06f4f3a438fa42ce24bd95315034c7dd41b349e71dcdd920269425a6db57857b9bbd0f9bb0c61acc6ec5e9e96a506016c9c75b847ce502fa9021f3a84d9d8d8616e660b0c7e3aa708fa2b1e3473bb9cb4ffd1f3c9ed]\n\n# tcId = 37\n# ciphertext has high hamming weight\nct = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nmsg = 9ac7b1fdccc1cd7542940a84e7aa9fce00054e48a4e86db61f306e954740ef7ab6e1cd81c518535709dc9200b5f781c468241309ef177f6523e128b5ba12461b9fe91345d4f9963ae17695d5328a75528c70d9e29acdc77947d60953e4ef59feeca7e7a11978324900696d75c5d382ae4c21e3b1a775473e6c9238408b9bf5a824e8cc4c2bd003e7a0d412301fed070025da16d91f7182d0acaf055fa949ca684627777fb97e7cd3fedbbee1d2d697e4bdbe06d36ec9853004e28e6e9d367aa66d9d14c873663ea3ccd11e5faa8ed386e071331df878f4e0aae5dd335b177c796a5bea0ed5291615ac3483877d02798b05143b0129e3de3d478c08eac6c2e591958779318603400cc6c03eb0579f2e6d888bf9f1732039fe118e6e4888bc29868f80675d63bfe776248484670d79760aa60cb0267adccbfcd679f786f05566c7b4006bcdade15773d8aa94f289468c7c7dcbf82b61693afda5204c401b324746251088a3849d5b16beb20da444f4b3d814cbd590a0875bc026b085a09d8680617c94a297cb2ffaa50e7a6d1938ae61b670ce20301b263b582cfe84e679a986d6014534c045\nresult = valid\n\n[d = 7cbd4ab5032ed8e595269836e2a0f49ae861c8a5f8587fdb68d4dccb9315b1d60c0c29007d693624777a7025af2d4dbb75c43521be0d03dc9588dafc94078646d41c2f7d02a56006667062728a485cd72100da38fd70ff7e109e8b195b18ff2d992ac0f2bca49f882e2423f3cf0205aa6d951363a72ba242b4c14b5c5513104790030be71f412309fd01b8b81521d268914e6a144a5263c6bd7b447e56de174ef82ad0dd8866d94c659c5c6801f88fca673134c53a5969989a3d799e7bf18b93288f681012434eb508c13633b710640fd6ab4f06578f76d9fb895789beb1cd7fbea38f862d2a83c0f3608127e4a90c8736e35ea39f9de191d2006dc4b91ebadef01875e2bcb189fb8523e7e98f255f290daaa8e758febdd0158b7cc971322bfccd6c48cba818b503e2dfcab7f0de4dc062fdd46a8c7c9499b531a4d54b38da886d55de5b9b1192dc42d0693d8c84987aab575ac4745ceeec4ebbd7bb6869b9d690ba365d8812e313b8824d6ca3948e60007c8e93560f06c40b51cefef996114c75b72c43323f6253c1f54741745c17f7f21e3a231ca0675f643de88303a5ab27e77fb636e9896a818bbdd6dd3179f16297c809d14904b639db69db65751b6656e9c4cea8220bf448cd4401ec7ad9b5b7eb4bd0be5e6772d2fe8d712dfb610c774c28ed87081d9ee1a7793098dc5abd5911fc573cabe53e55c77d92d3fa8439b1]\n[e = 010001]\n[keysize = 4096]\n[n = 00c5da1db76918c3c30c0a11fd346bb9dd262d0c91cda4efd8e5a3952a0324943310703f6c5595e3c539ab40c0822d7e939d95e2bb3114afd8025d0029ed27406b39a1e8df67bfd441c9edc71abd2c303fba5c396ee1dec8d24eb396339faf12d1ecbbcad34ba6d5263b4b7869bde0e3aea881eada374609f0a4163b1ac964c1b199f918f37c54a5bdeabf38e800ce0a8f54591d7704001cb4999764466110800f29eff5a498b6c24155438091b675ea3f2712e72080dcb0bd111e834fb47655b7338ed224751e9e736c28e8f06cf8778107a8a6b3027bb7ddc3d5e9c07557fc7d8ceab4d69f8b214c6e51344032dc30a6765dc01762575ab26bc829b771065366201ba5ce5998a53475b8b89a424727f2384857b5851661fe70677f42fb4fbd31a5a7f5151c992e881ef90a26b7e5fd2d3a9113474d1396150c3bfddc0d771488ea42995a0679c2b5f1bd8a57e944558bca4c2ae20ba64181aef36ef69a31b0f54b109cde79df9edd7e556a8e04cd3edce099ff009e190030fd1dd038fb009ebc4df55ed16b0f121bb937f074153442509bf76059c47a9278e40a1b046cd9e0846ee6d80f0ebd3595f76fbf638a1907284708e5603dc4119cbb473143c27baa79a1add6416550dbe84aabb206ab581fcae7626d0b1f3cbed88f8b0194fa7549d76d9b81901833d0d7cccd9fd948e0d6c0513be8d17af61f95550d911ffa99ea19]\n[privateKeyPkcs8 = 30820941020100300d06092a864886f70d01010105000482092b308209270201000282020100c5da1db76918c3c30c0a11fd346bb9dd262d0c91cda4efd8e5a3952a0324943310703f6c5595e3c539ab40c0822d7e939d95e2bb3114afd8025d0029ed27406b39a1e8df67bfd441c9edc71abd2c303fba5c396ee1dec8d24eb396339faf12d1ecbbcad34ba6d5263b4b7869bde0e3aea881eada374609f0a4163b1ac964c1b199f918f37c54a5bdeabf38e800ce0a8f54591d7704001cb4999764466110800f29eff5a498b6c24155438091b675ea3f2712e72080dcb0bd111e834fb47655b7338ed224751e9e736c28e8f06cf8778107a8a6b3027bb7ddc3d5e9c07557fc7d8ceab4d69f8b214c6e51344032dc30a6765dc01762575ab26bc829b771065366201ba5ce5998a53475b8b89a424727f2384857b5851661fe70677f42fb4fbd31a5a7f5151c992e881ef90a26b7e5fd2d3a9113474d1396150c3bfddc0d771488ea42995a0679c2b5f1bd8a57e944558bca4c2ae20ba64181aef36ef69a31b0f54b109cde79df9edd7e556a8e04cd3edce099ff009e190030fd1dd038fb009ebc4df55ed16b0f121bb937f074153442509bf76059c47a9278e40a1b046cd9e0846ee6d80f0ebd3595f76fbf638a1907284708e5603dc4119cbb473143c27baa79a1add6416550dbe84aabb206ab581fcae7626d0b1f3cbed88f8b0194fa7549d76d9b81901833d0d7cccd9fd948e0d6c0513be8d17af61f95550d911ffa99ea190203010001028202007cbd4ab5032ed8e595269836e2a0f49ae861c8a5f8587fdb68d4dccb9315b1d60c0c29007d693624777a7025af2d4dbb75c43521be0d03dc9588dafc94078646d41c2f7d02a56006667062728a485cd72100da38fd70ff7e109e8b195b18ff2d992ac0f2bca49f882e2423f3cf0205aa6d951363a72ba242b4c14b5c5513104790030be71f412309fd01b8b81521d268914e6a144a5263c6bd7b447e56de174ef82ad0dd8866d94c659c5c6801f88fca673134c53a5969989a3d799e7bf18b93288f681012434eb508c13633b710640fd6ab4f06578f76d9fb895789beb1cd7fbea38f862d2a83c0f3608127e4a90c8736e35ea39f9de191d2006dc4b91ebadef01875e2bcb18", + "9fb8523e7e98f255f290daaa8e758febdd0158b7cc971322bfccd6c48cba818b503e2dfcab7f0de4dc062fdd46a8c7c9499b531a4d54b38da886d55de5b9b1192dc42d0693d8c84987aab575ac4745ceeec4ebbd7bb6869b9d690ba365d8812e313b8824d6ca3948e60007c8e93560f06c40b51cefef996114c75b72c43323f6253c1f54741745c17f7f21e3a231ca0675f643de88303a5ab27e77fb636e9896a818bbdd6dd3179f16297c809d14904b639db69db65751b6656e9c4cea8220bf448cd4401ec7ad9b5b7eb4bd0be5e6772d2fe8d712dfb610c774c28ed87081d9ee1a7793098dc5abd5911fc573cabe53e55c77d92d3fa8439b10282010100f9acfd303aa2f355d07c3cc2ec20c60b821313c880c1c075c4743dccac3e1ddc39465ea9144b3381b7386a3283e5f0ed89e42b0fa8399240a898c877b7a3b43397fda798286ccddb03f070c0db25365a4ce2605ac514dbcec85561078b455a5b9aa1f97a0f4e43bf8c5af0be790c91d22091ce9662e4efaa3e3680681b3b0dafb54961c85ea7abfce464c69ebff813532436ffe6d2f9dd48f1eed42e2f4b5d3c0cd693d468d9579db6e2d6f08dfe554ce91ec235554c05d1621ccf1521b892c78167b0928f19b4bd03bc5fca49f0f8da512b1f6d025644225d6bee5a81af8dae91f35edf877724fb418250bb1258ed516ccd575d025d188e5e541426acefa5cd0282010100cadd1417db49e3dff3b5549b6c7c6076100a8fa18aa3ee4fe13473730ffafe9c7c4760e11049e26fd3646c4890f8a70cd98f3a28c7f4a4be146c61f6d372dfa732c4c0481e8a5ec58b1b128d4f926fa950d75c81a498ff63469fff3ad96f56aaac9df447564fbc8272bcbc72208db11bee80a07bbfaf08198a329b2b58a4b164c79682112af849b4c25e1e825e66bd611e6bbc5a96ecb7a45d81d12802a1a24b7ba90c48c696c614512ef8a69497885f969397985b28517e0d92d9b0619f63e377ca3b0a36770da9b266801fd69b1320d52423c08dc97b68b8f30e6c92a9fddb4be25d56a315a8ff54ac834dd6f2382e812b08a10df3a685dbe1f346fa08c97d028201003c374a811d433ba8d0b585fa04f50a8eaffa65e50f98ab103c2744d85e1a451d5dfae8cda2855890ca5da2cf381c76f4f332c267ee4ca4474fe239471655371ad2676cca37c5b6084274f4dcae7dd5140642fab6299e143d54f7b2851d43c6bd1d183f90feac038ee90cedcf2266b3ac980a5266d6c71c3e54eed41d47a400730628029b4ea8e5c4025983c5b9cadcee4a67b1643c31e2fabacebd01be8a509c31047776dd2abe04dd9cebf5ec6910ad91f3c72711c15a0ddbb9d2ffe7b81a3e5fa9605e9880bca47188371a14a7377d7fe2049c47da0268bf5b4e8b2987eb85d4d17b6a31c3bc79949d175766df67ad21ae8c89740e7be3aa4060f3caf5a969028201003779d1bedc670e7bf5e786a5a23b391dd031332a1801d06fe3c43636270e9a862cae505dfbd858a600071c5d93d78bc745cf973603c8712cd1e4f9bd4801c80baf2482f8b5f15d0d648718c1b01af99231db531ed8e64620ddf56f14a6d57dbbdaccaf3abaedbf3d65271bd991f16d9797d7710ba655b53f56bd94157c7e3d4cb41002adb33486e379abc7681b6cb9294fea626ddb8c0c845455e5dead298a7a5decd2c12c1d9b397f21fb3982b515c41e276a736daa4eeecbc376e87729e165192322961e62dc47a5d3c601eeec2584fb04910a5d3bd615c34e2489a869f853fa228327e81d4a43d8e1fc5e5303963d91713540e5d1d59e118d6ebbe0307af9028201000e5c6830b6ddd705393a4dfd1c3d6180930d6ec32848fb036ff229840a57c1142202b6b6f2815bee2acf3d18df2879fdd00262b4936661c46d5cbc16e56b0bf8f3ebee3998a8241bdd9504c35146ca75693c1abbd4d3a282016fbcf690c74d2dddbaed75f4447ea1f26796a7a8f3100a55fa45b45a36a60bb2ed5b0de1bd8395a5069101513e46be0a7be89cc2dff04a628c526d1a5d9c0824b47eaa13058806b491f9ddd8d7c14475064898a80bc74e4f55c611c44e381769727f09a86799fa5ac526e08a63015ca600be4fc365f13b2283514cebe973e950f75c86026427bf1e1d15a69fdca652f99685c71dc45f1f16ccbaabef5b6ab9e14487e1f7c746f4]\n\n# tcId = 38\n# ciphertext has high hamming weight\nct = 00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nmsg = e551665cd3ec3c2875c2e0c491d03cc3c339ffda64f125479d2f9b64cadb3dd7074fa57a4eaef4143f207fa1e28c7d4478f9743d9a0fc5b14d53435a5cf0118cf34b15950b6169851f6a92034d46f1521634eab158dc97ccd47b21eb8532579a99fc4dfc6bc8dfef35f04386fe8e4b59bdb3f5d1ea32e5e9856848edf534ac8f7ac13cf318808e918397e58e444622c51c31bee51df1a7686906139f9fa6f54582e3640c70d92a2d44f6b43baafb13e5ce75c7a97036c874\nresult = valid\n\n[d = 00a1f7f1c3490fe28474b470bb42f379fb8433a38a817f992788a0d3ea2a8745ab93704249b0e1b08833c2c4fe4b2098344fc494bb4bc4747cfcb049d5e9499cd2b707e12758d760c019c6a3130c28053f924d7bf1ff22ae1be868e0f925d4fd80cc7661b2fb5d8b80f69dbb63786297ff35ce8fbd86346ec27ddccef22d849da88b69cfd739f3b8d2844020aa88f1e835b63f5d85e14b86a5a23c1b85a1e43ff6ad4111bbc728f42a8c456f51b62a64f6760df63c251161189800bf33b9d49dcd463c1aadd75a85401ea00f2da805a4ff9507f401e2a3c0b78354bb495becc42f87ef7a319f222837ebb1b04571355ba0fa8d4000061e2facf0e586b22357ed8c268efebc5f541146e2caf799028ff21075014d071baa55d57bf275138ccdb4a18361f98a3ad31e5dd1121ca6ccf97d1337204fcf228d2dbb263a2bf3346c10d5b8d4213725f69849321b2e65663000c9b4d32c69a90eeffc0543a2f0b4cf32a71a2ad9abe26153072ac8dc530c9b80509c052d49d337804c66ac561e4f02039e1c58adc0625a5d35284190e45e6a5cbec73d972fab1ee8e63b7fbe3a047060f6b602d45fb3f3d7b4d870d172eadeb2f906d72e068d1cd14eedad529a6bb7e2b6329fdbe8cc8568ba3d70349def4cda8754cdf489975103c753209884e80eeb62148ab0d607ea4f0f4c464cdcf4b767200ca06e9849d5cfb65100f8bd2a6ad911]\n[e = 010001]\n[keysize = 4096]\n[n = 00aeff142dba2405fe8fd14b7c0924fba1c27697785c7c64f2a9a4e0330b0e16a67090bb8fe2e072293132672ae356c283499d9dd557ac5611718f1b61f7e0c2dd6ae578b0f5ecbeb10c1b6fa2e0d3066bf49c0300b25b3304baa0efff1556be31e4aa53b000beb9083d1b0b52faef9143c74d6ab338f998f7abed50c844800afea995be96a4381797cb79d0045cbb6c742c150ce09ee5195a3e73bf48968eb519bdb484b594df753fa30435d091b477e570f29b10d61d6ab0f0a290d8759923a7410216b6c04c8f6fc7d1aaf544b69ca1cd19a7e72dae0de843c7c75667a0b899cee32f0b86f9b127b6a3c02f23b53393129abae249fbf4bc80694e26d1ba5e1218e214cf4c61480506450598170b5a573a50430eb649e7b7655b2c83aad6e597eb50cdd8cd5a0691f9833a6059c6cbadf8e6698747ebc65f4bef5b7d4478a245ad7c39fdd13c4ea2919b679a65bf6dd5f92ae14b4b56dc3b46e6098004dd4731d7e19a544bf4a6c5a99337bea5dfc66df55dc5361d6b6c3c91a8ebf7cccbe0868ac29cf144605ec30d9de8ea6bd4b0df8a129d659b97e765588da2c707fb01372ee406986e886532bb98ce8331422449fcd505998871834af577815322914e614357611e6cf4a5c7846104b74ece45cbc6e156060e91b616fc601a203aae4be0ac08614f8bbe5f72a123f8ca2224b36213803b88a1a52413b2c37407cbf474b3]\n[privateKeyPkcs8 = 30820943020100300d06092a864886f70d01010105000482092d308209290201000282020100aeff142dba2405fe8fd14b7c0924fba1c27697785c7c64f2a9a4e0330b0e16a67090bb8fe2e072293132672ae356c283499d9dd557ac5611718f1b61f7e0c2dd6ae578b0f5ecbeb10c1b6fa2e0d3066bf49c0300b25b3304baa0efff1556be31e4aa53b000beb9083d1b0b52faef9143c74d6ab338f998f7abed50c844800afea995be96a4381797cb79d0045cbb6c742c150ce09ee5195a3e73bf48968eb519bdb484b594df753fa30435d091b477e570f29b10d61d6ab0f0a290d8759923a7410216b6c04c8f6fc7d1aaf544b69ca1cd19a7e72dae0de843c7c75667a0b899cee32f0b86f9b127b6a3c02f23b53393129abae249fbf4bc80694e26d1ba5e1218e214cf4c61480506450598170b5a573a50430eb649e7b7655b2c83aad6e597eb50cdd8cd5a0691f9833a6059c6cbadf8e6698747ebc65f4bef5b7d4478a245ad7c39fdd13c4ea2919b679a65bf6dd5f92ae14b4b56dc3b46e6098004dd4731d7e19a544bf4a6c5a99337bea5dfc66df55dc5361d6b6c3c91a8ebf7cccbe0868ac29cf144605ec30d9de8ea6bd4b0df8a129d659b97e765588da2c707fb01372ee406986e886532bb98ce8331422449fcd505998871834af577815322914e614357611e6cf4a5c7846104b74ece45cbc6e156060e91b616fc601a203aae4be0ac08614f8bbe5f72a123f8ca2224b36213803b88a1a52413b2c37407cbf474b302030100010282020100a1f7f1c3490fe28474b470bb42f379fb8433a38a817f992788a0d3ea2a8745ab93704249b0e1b08833c2c4fe4b2098344fc494bb4bc4747cfcb049d5e9499cd2b707e12758d760c019c6a3130c28053f924d7bf1ff22ae1be868e0f925d4fd80cc7661b2fb5d8b80f69dbb63786297ff35ce8fbd86346ec27ddccef22d849da88b69cfd739f3b8d2844020aa88f1e835b63f5d85e14b86a5a23c1b85a1e43ff6ad4111bbc728f42a8c456f51b62a64f6760df63c251161189800bf33b9d49", + "dcd463c1aadd75a85401ea00f2da805a4ff9507f401e2a3c0b78354bb495becc42f87ef7a319f222837ebb1b04571355ba0fa8d4000061e2facf0e586b22357ed8c268efebc5f541146e2caf799028ff21075014d071baa55d57bf275138ccdb4a18361f98a3ad31e5dd1121ca6ccf97d1337204fcf228d2dbb263a2bf3346c10d5b8d4213725f69849321b2e65663000c9b4d32c69a90eeffc0543a2f0b4cf32a71a2ad9abe26153072ac8dc530c9b80509c052d49d337804c66ac561e4f02039e1c58adc0625a5d35284190e45e6a5cbec73d972fab1ee8e63b7fbe3a047060f6b602d45fb3f3d7b4d870d172eadeb2f906d72e068d1cd14eedad529a6bb7e2b6329fdbe8cc8568ba3d70349def4cda8754cdf489975103c753209884e80eeb62148ab0d607ea4f0f4c464cdcf4b767200ca06e9849d5cfb65100f8bd2a6ad9110282010100d93f98477fccaf6abee57fedd3e87c85ea377fc01c1a54205ab5a6c67ad8b0fe1b76b68886cdd24489537b4c578c82f54393e38f1336ddc9e229c17a26ab44e9a1da52ff3fba41c10b4476e470f71f3f268a6ea36f68219faae44d6e6014ad3b645c1d2f1fb957689f4697b537fd9418afe3ba0c6a040484433a81049410a566987fd83dfccbacc2f921832162e123016fe5ff556610748b3102ccbdba7aee4735c487f533815c6bf8046c99e0b6bd58d727e52ca1d3c87d51c985d4eb4384a21d7687d390f1a148e97c7f57a15df2c5f74200340d2a003afc8134862fb1204730db9be70112b3bf8d604e0ae7188c3a0be37b46028a8dc087e79e25f7aee53d0282010100ce3617d5b50763520d05d209885235454d26e482e3d126db585e90a4fad83972f9d47b858062f52b88b736a34457cd1ca9ba0b9d5298172f0908fdefc4c37dfbe81275b271d0635508f578fe30967a1e919cbcb6227a5a0872a3d8de0bdcd61170fd4a1128d5591a1d3b59c490c67fa216e27574072e6e997e545dc123460966535a03898e746d992e4fc65d648e51b49732863001113a28bea84ff90034de885329a162d15588ebd5d026e95b0117a68c6870c407b2ba8248d4a1a8b6c43e74f086245ec947e5babc82a66b3311d4a5927d2b776b781f80a87bd8923fe9cd1584be538a150591b64999ea05a984c9ff791007a408d96f51ce30c8d0b4d8c0af0282010025d978946c65a2e23c240be7c995a5ac47242833b631b81a72f356fd19860b401a54d27472d8051c3fb8b5b095483bc0b3675eac1cb2e06d3de3fc7b65a54d3a4f2294773809214f9ac0f0ddd7f8960f108de9bcbbba2eb17cba8deafefe5b380fc224ab83216d6322eccf9d9905aaf9aa1b48dcc4d3b25dc0c0be9da79646dadb12daffe1bd327a3da163113c02f1705ca87b95cb546e99998e5d5168dde609ae0a718d7ccdbae66cad88a63e8a57eed47d74e613c3ac1879595ce1bda363c642cfd5d63c587cbb1142c984e0ee574fba465b76b61c6d31d9b0411067daba3eecfa35ed473894ec789b20bdb1898b54c9a17666ba269d8fbf9dd0e5d8833619028201010080a4e467b120e3c84b51873fe5288c0d28dd8b8f507aa9880b702b42912f155ff215a9dd9643a5f9bbb7b8c150208a584856456aa71d34d1660c9306e2b4a6c2e17baaab612f84d886d744dd2708a934aad8a22dea02746a72c25ec7df94ac8382feb11755670bc82bd65be13204739976375ed8bca62ddf5a1d5dc3e0b28fa8a3753361bc5a4c095507f5934be93175bd218aef25ab4ea21e973814fa19017f008aa720d3c14dc2fac7798ef8f40c821d74066d74f3fe40cb18c3a55227c96300ae5ec03747c03ca7dfc5dc78a6b6077904d77a0fb487caa6d1644190d7d5d687d288a14b0e076236366bf58e54c603b7cdd5467332daaca93a6bfd2fe54d07028201001fa8f5ea9dc0f23253932e4ebff1dcb80daad253b62e8aa28817e75714a53f81ba14bb6b7c8186f95645af34fbafe8453643dd48d20d3a31aa8643bbf56df2a5c4094560e095c94e2e3de3ac75deb3d105702a038f5c33354c9a2ea2e1a1f6bdaa7f7e9f4d5dcf09f0720745580cc0e6c185a838540b8e0570169d81e20cc86b7bdb5cd2e5b02d1b19855ff36a3f05c357aa7f5b32c83af0f219f164c690cd7adcf6c65cd6dc2907645deee325f323ff37ac392670a1bffb018187c0c81792524fb247e0369f24a4c66c5266737876450baaa25d44ed7cb0143bd8f9380d81f12e82b5f091bc6b7e0b7c8ab15e1d4235d904efb93d8647daf09992af7dba21f3]\n\n# tcId = 39\n# ciphertext mod p,q has high hamming weight\nct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nmsg = d5cbc86bec333d49976838d2377518e5666152c0aaa3e342dd24a32a518566fdfc6f1fbdf131ce9d4c5e131b56d64b7125f9d2372848b2d71dc69862f3941e9cefbb2729acd2eb1ecad8ddc7206c19fe63e9f51dffad75802c54f04197ad3b31c948ab544176012568dbdedf84d5b09ebba4c325c59868ec437fae4b1ab06dbd0c07f1710a8a6819e47d9f24959c6a771a8e4358b955f3a5586428f08accdc7ec30e43138bceaa37f886bf9d951da73ac3a64e26730b47768fa3ab22f8f48104dbde123e988ed51ffe28bc431d8fe44ac662235d4b40acec398ea57846211ed40e7264a691f7bc9deeccc5e7075c0a8d6f59679007c228b940b5dc42d916ac4486995adada8432e3e865c83e31e9215f98719498358ac2fbea930d501ddbde9d496e7aa8b8b1e708f426bddb4cee6e14c7b0c0cbc5cc29faa15af73a0f63185a7d9fb5b06c4bebbf023373d75f41b0c3350381806a79c95c773c70e46ce6212ec1aa3d9a7c433da6fa0f387d57448f4a48fbe7488b9170f29f6aad9d2c1826b6dfb52f94f9f21e60cec9719506656151e12af61bce9319da5a6074dc898b0750304a1cf400ca91fdb361\nresult = valid\n\n[d = 6ebd0fa2c074df0824b69a198bb2f9e1fa32798420d14a86d3d68ced4050ed72d6cd4f793f83e29c0736f1cd0c1dd2cc1d5e9ad7814862db37022e40484523bbfde38dc358696ed02abb59e776783825bc89192de9e7e4aad77102bf11df9ee5ee352d542713b413e0915e08d79ab5d0dd46d0ec8d345bb290dcb44f85a948e9d0b1e663fe3ab96773019ecaff144d6211c65fba5baef14a73cd4a260c9926bac6b3a1fcb193343a02866906db3e9880a7c84b79ede6ff1581d952a5347bfa20519ade6b9d4110a2c196b1046ba74c54b4467d89dba3cec0630685af081237a486a2b1c78371322e3c95c643df7bfb7468399a07b53a2e01b8b0f5ea7ea795a8e5c991d1b9de7852cf22f9c9d33b0c42865097913c68281bd038034deef9282c5af543e81a10b15fa853e8c3ec823b74fcc9af132e477a19883829da6202360d7a8945bea5638cdcfcf7afbe2f31cc018955aada8859c319fa512827f0c131bedec20a53f6d857203e065097b5684e2199baaa3090b0b67e6e5a0c9e140f6a4ccb6261d5fd718896a8d2ac056efd9d6e8798d6e2efcd308d5a718364fa9110489f8feac6bb9ab617a22b46e666efd218e2c8863a600d405f459b6e45b191c3a7ec0f3caf2922f667840ff4dbf46531b2d31046db1e9bf22bb7d4572a6aeb5b0a99a2dd8ae60ab7b5860e92afd05f4c3ad54ef392d54eacba55c0b735c8588601]\n[e = 010001]\n[keysize = 4096]\n[n = 00b2e57c7093f6b53733a2e6cf52035dfafa38f7e9f41ec3ed020da2a153a39a0c3e65ea21b7631c9f96b5ff85363cac835bb1cd8e2fc1a10371d2b3075c780610ab70187a354a3490239ce15fdeaddaeeb6bdda48698be138f88d849ea5ad6a19a08e5593cabd47fc7ed8c40a3bb1886d9163b15e575771470210b12c08a340e3f107aaec3074aa0a7a53d038bac87f2820f7e1b6f8f0c915491913c28dda4275e993506bf4971508acdb5f24ba6b0c433ece98fa5ac6475c70c59e8ee98adecf27e6dc0be30070e7879b5a626bce12739c3709bed56d9041bd81bf0344699be24e17ade0bbc05365024c0bac08474010c89b8096bceb7948fd8b127fa674be886f9c6b3f9b9c2529aebfe51e189c7be12f75c4ff4bd0a19405f292764d6662038693193aaa61253875d9c375850b3f2d9e0bc03723cc7fe73fe595884d9a34aa0b8dd82e51cc8593d8f186251bc0093c7217585e88c7b49a2d5bc42e087526eb333e7a0dbf96c0722e8bfe125150b762de71dfe6e12ee90fb31f106fe31e850b7555331056f1761c2a610b4eed362a0aa80589bf612e88153677e41a4e4549fe209fb63ab600ce3597c3ddb93194bff8ef400fa158068a93ca6f19a87d7ef76a76559013ba56c51ab6b5f8ab10f58bf17fb0f5602e38acecd789ecf2a3601220d4e1e180903db354f7d9a1216dfa76eff58449c4d885049dfefaa41afe04d733]\n[privateKeyPkcs8 = 30820943020100300d06092a864886f70d01010105000482092d308209290201000282020100b2e57c7093f6b53733a2e6cf52035dfafa38f7e9f41ec3ed020da2a153a39a0c3e65ea21b7631c9f96b5ff85363cac835bb1cd8e2fc1a10371d2b3075c780610ab70187a354a3490239ce15fdeaddaeeb6bdda48698be138f88d849ea5ad6a19a08e5593cabd47fc7ed8c40a3bb1886d9163b15e575771470210b12c08a340e3f107aaec3074aa0a7a53d038bac87f2820f7e1b6f8f0c915491913c28dda4275e993506bf4971508acdb5f24ba6b0c433ece98fa5ac6475c70c59e8ee98adecf27e6dc0be30070e7879b5a626bce12739c3709bed56d9041bd81bf0344699be24e17ade0bbc05365024c0bac08474010c89b8096bceb7948fd8b127fa674be886f9c6b3f9b9c2529aebfe51e189c7be12f75c4ff4bd0a19405f292764d6662038693193aaa61253875d9c375850b3f2d9e0bc03723cc7fe73fe595884d9a34aa0b8dd82e51cc8593d8f186251bc0093c7217585e88c7b49a2d5bc42e087526eb333e7a0dbf96c0722e8bfe125150b762de71dfe6e12ee90fb31f106fe31e850b7555331056f1761c2a610", + "b4eed362a0aa80589bf612e88153677e41a4e4549fe209fb63ab600ce3597c3ddb93194bff8ef400fa158068a93ca6f19a87d7ef76a76559013ba56c51ab6b5f8ab10f58bf17fb0f5602e38acecd789ecf2a3601220d4e1e180903db354f7d9a1216dfa76eff58449c4d885049dfefaa41afe04d7330203010001028202006ebd0fa2c074df0824b69a198bb2f9e1fa32798420d14a86d3d68ced4050ed72d6cd4f793f83e29c0736f1cd0c1dd2cc1d5e9ad7814862db37022e40484523bbfde38dc358696ed02abb59e776783825bc89192de9e7e4aad77102bf11df9ee5ee352d542713b413e0915e08d79ab5d0dd46d0ec8d345bb290dcb44f85a948e9d0b1e663fe3ab96773019ecaff144d6211c65fba5baef14a73cd4a260c9926bac6b3a1fcb193343a02866906db3e9880a7c84b79ede6ff1581d952a5347bfa20519ade6b9d4110a2c196b1046ba74c54b4467d89dba3cec0630685af081237a486a2b1c78371322e3c95c643df7bfb7468399a07b53a2e01b8b0f5ea7ea795a8e5c991d1b9de7852cf22f9c9d33b0c42865097913c68281bd038034deef9282c5af543e81a10b15fa853e8c3ec823b74fcc9af132e477a19883829da6202360d7a8945bea5638cdcfcf7afbe2f31cc018955aada8859c319fa512827f0c131bedec20a53f6d857203e065097b5684e2199baaa3090b0b67e6e5a0c9e140f6a4ccb6261d5fd718896a8d2ac056efd9d6e8798d6e2efcd308d5a718364fa9110489f8feac6bb9ab617a22b46e666efd218e2c8863a600d405f459b6e45b191c3a7ec0f3caf2922f667840ff4dbf46531b2d31046db1e9bf22bb7d4572a6aeb5b0a99a2dd8ae60ab7b5860e92afd05f4c3ad54ef392d54eacba55c0b735c85886010282010100e2d07881b8b49b0cd377f262359de15c54831d2a8064bc14ba26b9a22e55f2d0e132cda48d9a0c522d27ab7d4bcf1df17e07e7a5a5842f7942021566ae142e7ee753b2f9367d1a20cfa77c804675dce9f3c3b4657ea6290f77556095e166ebba327a61819873903352f9c4233bafeb163edb7ccd6275addf1f8b1b24d629a27bb02ddeb831105e3e2d2a20cbc0ff8671a55c0970010520a4cb1c7df22429e2fe9382a0443e26a6263dab44f294da1600d62547750ac294628bc24dee2de756764252d5cb70618c38914090b721adadf00b44a550ddc2886120b93871dd5498b4b6d2db34b39d80d7106bceaa2ee3489f31010398ff090da46da741262f2f13530282010100c9ea8b2129d4ff9433bdd20a81fc55c6b8322052acab1f940ae6bb75dade01d10ad64811b53b5696759a68ff016983ae919c47da5b6eadd12d2e40c2495ecc5e06595797131e3c24acc64c24c39eea044fd636c6c9e3ae73dbc43d92d898fe5bdc28f4502be7fc0ad3db3bd0742ed5d41efadfd2b31106cb2cfe41c639a664e1ebba5a9a155fd17e0fef73aca69da5b11c0f22229af94a98e34fe70cc3d72e7f395bd252e9bba76a049c193eacbe57ba46a1aa9f4345ace9ac27e653469c16b86ed42d71ccbf0e832c06565c2ca935f27b51d8f2db995317e4a750b4a8392ca67f34494d33c653819a77829c95acbbc17c9d10bfb587ddad2bc8ee32c0e990a10282010100bda3460e57eb9173d0df89e5f9244f078e95ad6e1ab99ed3c9ac952af788df232c16f8ff6b717079c8cd5141ca7f9a6e8e4c77aef4cba791bfd1d428ecc56cf6a7dd4057c3ea274d65b188940bd581e68dec844913f243846de711815f5b591e6e140ab07b51ac306d60ed4ff418aafb0785263ce6e4b38249725a389b636639fa5cefc99b242f57d71551246af27a6b4cb1be264a8409fe1ee06ca167012a8c65b322e2cc002e8ceca4e559d980da42cac9928c5679c7ecf923755afe405cf7358ee2b85cf702714d68e95664af3d2de58df896bb436a19a36d99b7023238176880b5ccc39c9ddbb31c20480439fe3f338ec07e4c463a84cf35b77000a5608702820100745d480b37b97a0566004a3126124f38b3e4a77e1de68ccf5bacf772074d948c6d8b6a835207bd71fe9a9b5202f5551f60e948fb8d5feeaa333889b7ae6304b257445bd743fc53baeb1b68bc73447d2738ff8217f437d3cd0f653bfb09fab9f424a0319496891e56fb1b48906cb4a524972a0b9db8f6e20c6b84a8515dde081baf2779997d21f870872c7f648bad24d53a0f7aa3a8de6c6049f83d76bcd2a1084efd1cec0da9c8e4af7d6a8b1530a90c4032614b6190a10315e4f4b71f654b2ec528607c49fbfd9818e21a190ae005a815ebe874a59bea2845ed2af4c25218ea673ab1d7dd33b9e2622be7c8e7f5614b33ceacdd5ef7cb0846c88886156945a10282010100851b5cb5a886816cf1b302732f7fa2c6bdf1357b6b05be551ceadbcbeab6d342e88d7169eaa1bfade9999a85598b4ed56a0926199786ef1865e5626c64849fabf21322a39064c7a05738e871138eaae6087840459abfea757cf7cf3fdf2ff4c2d71f0e731e7be40b181a66049026332c3212c921b86e1f9f7c4be6efeac32f11fb65793872d49e2ea7b81acea5acd6a16eb8895393796dbd0f2c28e3acc6ffc1c46bdf4bcfd3ac1b866cb0bff8c490830303bb74d6fa89f2daac84f3c8d02633b4e035aa6c184cca3762b3fdf95f4c8be6a6717d0040f7911a0687bfc45f262e07244ea47a3a15d82eab0066bb665d78fe949e1be3af9323dfa4640e9fc3b12c]\n\n# tcId = 40\n# ciphertext mod p,q has low hamming weight\nct = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nmsg = 39fecb500d8c7f55799e6891073904352640b513e43803afa7e768bb64ff20d195ec14f5ef18d5efbc50db875cd908c60f4de8e93c6ee100f08d78b27466fd4a373df46b78665f1e8822c3e2e61a9e0da73e1c26e7d96d8b6c643502534a7734fa41f9bf58b9a0a00ee0386482114523461d0ee87ee2a9f4d497b67f54609c05194991f183c848611bcadbbe0f87cb126fbe2d33d4338f10a2073458ea711050c25c369bbe598ac2f7ce8b0e666a5e20176eca540358a3364dc67b1546f0d7bb2ae388a8eabb5ed9f9243f6eea5b5ecd00f7be6a0666151a97f0ee8af58d040aee12d3bcc5760dedeb5d2496be0c4ffc5658746489842361a307dc84062f30254c4182eebdabb5f321b6c96cf8f2056155fddb55daf545fd811f6d155277be754b5829b69daff3eaa3fac532a71cc0290adf7a0c238934b86739b005b70b8ab2f0ad7320cf037c6d31bd135c2e30b35e7d80f63dde8e899acd10710127b11002a78af5494db4198b0b8e4ac6654f63972dd2fcdc8ee3d6e254d8dca491ceea61341c9099bf3a783548c5d970a7ac45680fc17f337a8dfe840304ae2a64a87fcc3604bce4911d3ee31c31352ed3682f854a87a2a9d0ee1e80cb43787131682bc1942324652239ebfa151878e56ac1112f89f1b80120ef\nresult = valid\n\n[d = 00aa5ed117163315b6b3909261998805f2ff3c6c1ef0fdf7430f35dc1d5ae4e299f826e491cab6bd3ef5c5794843484f1dd40dc127c4ae17896990404bad27ea04df3db79c43cc268a413d57d423b5fbda65f7d41d74677e21b9394e3646c13ad85ec7f4b8908fc0dc298cd0a692e62ed6dad90dffdd54c487a1bfcb4baf718110f0af6fb7ffe9ce7fd027e4045bd32a4beb4635932d35c9422388f065bba27362089152872184efabeb9903fe9d8ef9f37f5f58f0962afd65f77cff9ffe3395684ec21c8301abfb8ffcdad266e1f08232f0b4995d29c9820445933aeaa1b4a27a5fcb25e11b8e4ed98a1fd8608c64cfc9b4c7457f08c5f4627dff4f752ec6dba7744f4ff471e2c04e217ce7bd466b0088af708bd4171815b6f94beaf77c9a37ba142e8cbbbad3b7275680a3313e18583c4461f17f37cd237ba38813c8c33de1cf113219b3fc6da0b5a2a116a6a975e1f3e079e49c2266b26230ab7b05b05300acfe3b9f45ef0403908914396b0340548a8e534fa54ba7bb3a936c180fb33f7ea6c1f9428329e3f80c8d219dc7f93865a9af3bdcacd71b8ddad36bf5afd135ed1290f01ee640319b277fad6a527fee41ccf20ec9c3d384c57ec39e024b829f0e297222b3b17305c1081d3e769925eef24081e86ca81f8178dfbd1d0e42a42ca2081293d588bc658b870a9f5a9790802ea3c9847e951ad4408f031ab21cffa9a841]\n[e = 010001]\n[keysize = 4096]\n[n = 00b1c80c94171cbb6d3fbe48e5d7df8d53b100ad97395de4ea1397f13dc4f66e6ac7e3421ae428842fdda5f8a11b3e32ef84544428a35c990c3661cf4a4b01c2f7b1a6c4f0f1cbe4748f3b99e430df7fd944a15f9c4068085a52edb54cadfb8c192a14393f3ad0c2766fe4a66ee48ced22cbe50d5e8ae8802bb8b2c84a29ea577573b9f105a6ed9703a26d7a117834e249174dbb142295ebd2ad49b53f35562d5a4e54ffde09bdff10e47a549c40710d8e14024cd9c65243232d259720324c25f4cec4324995293c20660b6b10e16c3155c0b663cc68c87ead28da51815b9b886726af34c42a1caa338ce9a2ed806e7699beb67f24aa6b00a87795858c2c9bede2aa2650fa1b3b210f5f3679a3b14d053a113eba0ff5dc6d1ab7ea5803d0507ea16b745c072a3477a67771d7d24df207c54a474eff20bb47dd46adba504e339c35d7c521e983b59b7be9777653773816af5e856973892a743433f8f4ef18a3ebf27c87b778ea5102fdb8acfd362687489db194764221d408c05456c43de9b31dfdf5f1084b83ae54b8696902725d8f982a7368fc47d98f5979ec31a117c0b227f9baa8d461837e8b17fcc4f21cd91cedc07f7bcf048c48130a1979e752a5cd8b9c877a5ea53a17719df220e2e27e4d5b61bb8908da43f4a97806c7033d470b98410a8d3e9ab46c0626c0812edb847a901ad142b2f0575fddd5276b1ca6d71e9631]\n[privateKeyPkcs8 = 30820943020100300d06092a864886f70d01010105000482092d308209290201000282020100b1c80c94171cbb6d3fbe48e5d7df8d53b100ad97395de4ea1397f13dc4f66e6a", + "c7e3421ae428842fdda5f8a11b3e32ef84544428a35c990c3661cf4a4b01c2f7b1a6c4f0f1cbe4748f3b99e430df7fd944a15f9c4068085a52edb54cadfb8c192a14393f3ad0c2766fe4a66ee48ced22cbe50d5e8ae8802bb8b2c84a29ea577573b9f105a6ed9703a26d7a117834e249174dbb142295ebd2ad49b53f35562d5a4e54ffde09bdff10e47a549c40710d8e14024cd9c65243232d259720324c25f4cec4324995293c20660b6b10e16c3155c0b663cc68c87ead28da51815b9b886726af34c42a1caa338ce9a2ed806e7699beb67f24aa6b00a87795858c2c9bede2aa2650fa1b3b210f5f3679a3b14d053a113eba0ff5dc6d1ab7ea5803d0507ea16b745c072a3477a67771d7d24df207c54a474eff20bb47dd46adba504e339c35d7c521e983b59b7be9777653773816af5e856973892a743433f8f4ef18a3ebf27c87b778ea5102fdb8acfd362687489db194764221d408c05456c43de9b31dfdf5f1084b83ae54b8696902725d8f982a7368fc47d98f5979ec31a117c0b227f9baa8d461837e8b17fcc4f21cd91cedc07f7bcf048c48130a1979e752a5cd8b9c877a5ea53a17719df220e2e27e4d5b61bb8908da43f4a97806c7033d470b98410a8d3e9ab46c0626c0812edb847a901ad142b2f0575fddd5276b1ca6d71e963102030100010282020100aa5ed117163315b6b3909261998805f2ff3c6c1ef0fdf7430f35dc1d5ae4e299f826e491cab6bd3ef5c5794843484f1dd40dc127c4ae17896990404bad27ea04df3db79c43cc268a413d57d423b5fbda65f7d41d74677e21b9394e3646c13ad85ec7f4b8908fc0dc298cd0a692e62ed6dad90dffdd54c487a1bfcb4baf718110f0af6fb7ffe9ce7fd027e4045bd32a4beb4635932d35c9422388f065bba27362089152872184efabeb9903fe9d8ef9f37f5f58f0962afd65f77cff9ffe3395684ec21c8301abfb8ffcdad266e1f08232f0b4995d29c9820445933aeaa1b4a27a5fcb25e11b8e4ed98a1fd8608c64cfc9b4c7457f08c5f4627dff4f752ec6dba7744f4ff471e2c04e217ce7bd466b0088af708bd4171815b6f94beaf77c9a37ba142e8cbbbad3b7275680a3313e18583c4461f17f37cd237ba38813c8c33de1cf113219b3fc6da0b5a2a116a6a975e1f3e079e49c2266b26230ab7b05b05300acfe3b9f45ef0403908914396b0340548a8e534fa54ba7bb3a936c180fb33f7ea6c1f9428329e3f80c8d219dc7f93865a9af3bdcacd71b8ddad36bf5afd135ed1290f01ee640319b277fad6a527fee41ccf20ec9c3d384c57ec39e024b829f0e297222b3b17305c1081d3e769925eef24081e86ca81f8178dfbd1d0e42a42ca2081293d588bc658b870a9f5a9790802ea3c9847e951ad4408f031ab21cffa9a8410282010100dcd33c92a5d8b03a45a5f15e57f05e1a9a670dcd39c64a9408e7472a184d61b8baa38e06c644c6f2dfb46c76f245986bfdd468253cdd05eb65156ffa53648158fa968fa76559636ecde47649cc633db9107dad2c40fe2073986d989792f00d12d5df4185c124a79520b70c9871b2290d4c0c40bf1380975db71113f14de578fec175e3f012c145cb75fc94e3bb6371d4e40eefc22a2a487e3365e1bdbf8e7e4681704f32baa8b772c6020bb1cd626e60ae199d2a66b3d8c5666bc8786242cc95c4244fa0660280b912cb8215fc2d6fd46b6dd9c43ae2a147b1f429b421163c2856bb44907b10238059704cc7657fd20ada530c6c821f274da5f42d906a3e09690282010100ce1995c9f982c375aede4345113286c49db4017f676150bda44ad10562429bf4ba518d91c0122228e89b1ec255f2c55c415f8962a3651a2de2b46a0b683eedbe984437434bca3fb58a0eeab23f1e38486ca6a03b0a946b6c3c6ae1240c3a49d6c1df28f96ecb1d741c2ca1902260647dd38f1b1ddd86d3a9bb4c55b77ba02e156382d6fdad3f6fcbd80f58a70877084c0aecc6e74ae26e69047b60de4861f0cb2780d2ab061fcc6d184083756f4e04607b9e87af3001e102f9ce1b07fa4cd6d21937108bfa209b49c35b589faf6c0e97ab6e826faa10ef186ccde1238fcd37a7389883eeafa79439298b2b6985f489bbc0658b17b132b9ee89f4d0c54fc8858902820101008e16595e5eda4ba2631840739d0febed20367919f937cedaebd3ace5b8176a6e8ba11b8cde5c78cae4085ad63a536f9ce5099c2d81b911cb0212c627832b235356823452d892a8b92e3ff7a0caa37c9eacaec113bd8a06e57a49e2aa7d007ad908c68b897dda90fe12bbd59ded625ea9d0a9fdab34e843fd2803141aeb2d612a42df11587328eb38dc6536844619d9afcb42952111327dccbe53aaea05ecb0f1baedc1f7f945002d189d4e5b0cb56e224543f3edc981a55476ef9961649068c5611ca023ac1fa625efa304c412ac45cd9f86625db22a0aee6fe19447f41633851d31880f932fb2382ed46482d49b67525662a396da2f238201eb58ba18b26c290282010048ebdc87bdf47a5be52756fdd4fbdf9b29814b165ce99dbbbba98d132e950ac1283b3aafdb198f6492087075aa1b5fa128b038d7e1a0200724335961f7dc6c1a079dfb3fa04d4b055c77b2aaa69276af8961db478892c2ff64d11c1fb903d6a459ac2fbf3168445f94a865f1ad7815963f885ebbce69a9f26006be3d514c7781b1d7d561a42ed1cb7a02d40725839837ef959f3aaed036e889616e00b7f38f5312030e86dc7fdbc0add805ab435a8349eff34366c4c1a56f7c1b648d0a0eade360708f3637a5d9cbdb8732702d8d3a0c87e76dd73c810957c707812527f8203cd6558038af85c778022eef894290273b7af372a74b56fb5a5f0d73e09c3e02a1028201001fb0531f765a15d35e89ddbe7b02f597929bbe5f0a2b5a366d9a7f80d92f81995f897da3e87f0c21c6972a4666213f0614b5c13ec1d575240aad4b85734a29e186736c81493fc06b25548d50a1c7bdf1597dd7010762a9aff1c88d67a8398455c381feabad29dc24794abb472f72eb0205b49cb50a9229e4ad330f87093440fdee344d449e6bca5e8a0353c8465d7688ed851126e3b77ae8690b10cf7999ce935c753ac01e8530cd0713c936ff2f7c202c70a8461a35d73f262c962c248b5f7fd2fff2c34c8735073dc0403fa0fb67dd7ad2fd94f6214edb96ac755503e88d39fa92fc697228f3090d996fd211dd7713ba9c2447617eac79eda272101f326d0c]\n\n# tcId = 41\n# special case ciphertext\nct = 58e4064a0b8e5db69fdf2472ebefc6a9d88056cb9caef27509cbf89ee27b373563f1a10d72144217eed2fc508d9f1977c22a221451ae4c861b30e7a52580e17bd8d3627878e5f23a479dccf2186fbfeca250afce2034042d2976daa656fdc60c950a1c9f9d68613b37f253377246769165f286af45744015dc59642514f52bbab9dcf882d376cb81d136bd08bc1a71248ba6dd8a114af5e956a4da9f9aab16ad272a7fef04deff88723d2a4e203886c70a01266ce32921919692cb90192612fa67621924ca949e103305b58870b618aae05b31e634643f56946d28c0adcdc43393579a62150e5519c674d176c0373b4cdf5b3f92553580543bcac2c6164df6f15513287d0d9d9087af9b3cd1d8a6829d089f5d07faee368d5bf52c01e8283f50b5ba2e03951a3bd33bb8ebe926f903e2a523a77f905da3eea356dd282719ce1aebe290f4c1dacdbdf4bbbb29bb9c0b57af42b4b9c4953a1a19fc7a778c51f5f93e43dbbc7528817edc567e9b1343a44ed8ca3b2110ea04602a2b621ef4d98efefaf88425c1d72a5c34b481392ec7cc1539b47e23ecc7acbcf618d08be05913fcdd546a30c1bf458bfe62790e6c8e76e03fbde782462409850cbcf3a952e6c5ce43bd2f529d0bb8cef91071713f26adb0ddc4846d21fa54bc0363819ea385cc2085469f4d5a3603136040976dc23d480d68a159782bafeeea93b58e536b8f4b19\nmsg = e2ab50f30a4777e36f7079f675903cd37e75324e974ec3d773fe4b4363373ad6231da9dcaec8cd697c46601a0c15f8ac80b7527585929623939a8fa3c0115a52636165d8429580c54a890034de3249908685e7c9637c54e27e427e955280ece18666dcf18690efa692e0fb19d688f43abd5f9ac9ccafad37edd0eb06f215394b13ad\nresult = valid\n\n[d = 328139eaa3f26fe34ecd67e26b59b8c4c388a7e748e60717290a25a01280d5a78ee3bb54a236806627d5b0400524b6abc100f8c2d02327c018d0c141d4fd2cd04456ae48e91e933657c65c892e2bdc8536b98c5b7b19d5d5791b22a47a96629c39198af98a7da96542c647f9868d12688015dc01b85f673987834de8cb598373a6de6d6779d4fcc1ee78b4db2306a4bab471a04bd9db7f1bf185a6f834217b16c37e734d59b65627fc107837492b4d6aa2cd2c8c65cec3a91adbc14f7390dae8415bc735e228fb9e3262d7e9df43f4edaa602ed5af0d1fcd4207db0f11496cf83325c9ee960752b690fe64bfa54d3604e734f6a778a6ddb9a1ebb121f15ce0e05f33a9ecf5fa5a4c40ff6e5732893018a7376d792473c186144c65c3c9712f465b4b99f0981798d3c9277463f258939a8eb810d7962fe79a25c49daeb25220c0c9798f8486a5ba0448bae6f2b369381f83c347c96bb93fae1f0c595c3f1eb587256bc2973bedcda72319b5dc53170cd6baa8c90eaf7c949cc78f20aff01fe8711eae4c6f03f4d08b68e2924515c2fb358208b94b2947c567885c18640b6581d129c4e93a75fb4e14bad15427f037528791a2c67cb84a2f1187ab0f81f1b2b56c0fd61a6d31599d5b43a0bf48b730e8e29665cfa861990a5be7453e61818d6c99199d54c631600dca24a10fa025c8a05de0ff686814aa6bfa1b8ed3f2d03f2a59]\n[e = 010001]\n[keysize = 4096]\n[n = 00d7d77972088826f58b6385ff9eb5ee72396ac7f5321ebff730155887f4ee30b81bd55e1bf8a3e90a4dd2f6210b2e3051dc74490c73b0116a774ef2455121d5c9e5d702a5c28652fbd38a147580c6e6e4cb0b0d7d36206f5ea72ea7b3297fa4f6433d2698f9313a6d58f42d3424c511f050e782fd5191725a0686468cc004854d94e4c6e38635a16508f11d5415bb51457b8e7e87d2d95625c5a1b0225fd13e85c2c0fe7a3fcc727de00e3a52fdd2ab58327a9f4087129244ebbb396598bcae80a5ab92730b1da9474ca8a56a1be8c3f22a7772aaf1680896466ee60e766f2f6bc2bbc1c5899b14d9483784f792090966898e1434f0f6e87c98cdda440d66f4758f5d3d1b06e42fb7f925b5a3d376b983682e3de0ccd7cd25b211bd7a3c72fe6e215f2d6cbf4cca0838601733e182370adba272977b8a88427908d855014176dba7dcdf92d33e049d06923b1d02ee2f3492a74170073cc39d311b6dfc21af95ad2537fb0b010097f122a051bc93098c594709948a2b26972f8d83f8fb45b2cff4d7a5b28f970e68c43be5740f1843272a99eb494d24979473f1741f1d619ae5ff888b626a6033ddd6c2860fed60921ef13d615428fea0da9f81d639f0ae40f4dba3b60780b68f359c6a39adeeb7ceb2cc9478d5a38d86fc5e703fe84d227d8fd724c96223924e96997e23f7e02b9f57b7bdbf639969c8dd13616d7ac02f4db867]\n[privateKeyPkcs8 = 30820942020100300d06092a864886f70d01010105000482092c308209280201000282020100d7d77972088826f58b6385ff9eb5ee72396ac7f", + "5321ebff730155887f4ee30b81bd55e1bf8a3e90a4dd2f6210b2e3051dc74490c73b0116a774ef2455121d5c9e5d702a5c28652fbd38a147580c6e6e4cb0b0d7d36206f5ea72ea7b3297fa4f6433d2698f9313a6d58f42d3424c511f050e782fd5191725a0686468cc004854d94e4c6e38635a16508f11d5415bb51457b8e7e87d2d95625c5a1b0225fd13e85c2c0fe7a3fcc727de00e3a52fdd2ab58327a9f4087129244ebbb396598bcae80a5ab92730b1da9474ca8a56a1be8c3f22a7772aaf1680896466ee60e766f2f6bc2bbc1c5899b14d9483784f792090966898e1434f0f6e87c98cdda440d66f4758f5d3d1b06e42fb7f925b5a3d376b983682e3de0ccd7cd25b211bd7a3c72fe6e215f2d6cbf4cca0838601733e182370adba272977b8a88427908d855014176dba7dcdf92d33e049d06923b1d02ee2f3492a74170073cc39d311b6dfc21af95ad2537fb0b010097f122a051bc93098c594709948a2b26972f8d83f8fb45b2cff4d7a5b28f970e68c43be5740f1843272a99eb494d24979473f1741f1d619ae5ff888b626a6033ddd6c2860fed60921ef13d615428fea0da9f81d639f0ae40f4dba3b60780b68f359c6a39adeeb7ceb2cc9478d5a38d86fc5e703fe84d227d8fd724c96223924e96997e23f7e02b9f57b7bdbf639969c8dd13616d7ac02f4db867020301000102820200328139eaa3f26fe34ecd67e26b59b8c4c388a7e748e60717290a25a01280d5a78ee3bb54a236806627d5b0400524b6abc100f8c2d02327c018d0c141d4fd2cd04456ae48e91e933657c65c892e2bdc8536b98c5b7b19d5d5791b22a47a96629c39198af98a7da96542c647f9868d12688015dc01b85f673987834de8cb598373a6de6d6779d4fcc1ee78b4db2306a4bab471a04bd9db7f1bf185a6f834217b16c37e734d59b65627fc107837492b4d6aa2cd2c8c65cec3a91adbc14f7390dae8415bc735e228fb9e3262d7e9df43f4edaa602ed5af0d1fcd4207db0f11496cf83325c9ee960752b690fe64bfa54d3604e734f6a778a6ddb9a1ebb121f15ce0e05f33a9ecf5fa5a4c40ff6e5732893018a7376d792473c186144c65c3c9712f465b4b99f0981798d3c9277463f258939a8eb810d7962fe79a25c49daeb25220c0c9798f8486a5ba0448bae6f2b369381f83c347c96bb93fae1f0c595c3f1eb587256bc2973bedcda72319b5dc53170cd6baa8c90eaf7c949cc78f20aff01fe8711eae4c6f03f4d08b68e2924515c2fb358208b94b2947c567885c18640b6581d129c4e93a75fb4e14bad15427f037528791a2c67cb84a2f1187ab0f81f1b2b56c0fd61a6d31599d5b43a0bf48b730e8e29665cfa861990a5be7453e61818d6c99199d54c631600dca24a10fa025c8a05de0ff686814aa6bfa1b8ed3f2d03f2a590282010100f110d1d96e1e3fb18eb6dc533c286f36486a10a49bdba344556c0ec6682703d80916aecb3b5a4450042cdcec2ea3c29eeb3533a1ac0fdb27ba6a80dac8ae874daf1dd734990f5ae155bfdf5cbfd7efb2b448056d82962e0b9aa5581516797993f770441518a5a0dc96d830e06347e5509e9100ae2a51307815dcd9924371cfcdcb4ac6fcd9bcbf66503ceee682c761715e6367d696bddba1d8aada6bcbc909bbbc2d7a153c91feb62d640f1d0b86ab909c2e3d5c0357f673ead7ca72f3700a70f8c7a0bdf1d1549100c2412859d00bb8a72f8823f96dcb0d78dd0884cc18a81b84c97d56043f0d21f67145b2025cc3dedcea7a68e716e91b63637a656ce4c1050282010100e5369d5c578747f0fe1ca8d34e4c17c1464b5a14fa9096c2a1ab12cff4775ef0ccb5fc50c89291483045e622ed34876f05aae752c7284ff3b54eabd37fe499ccbc97af78d15b821e56bd188814d01bbca202b0f8cb389937edfef39634476913786b7b258b0d87887498b7f051f4b4134ce9d553235a1d977662b95386e7dcdc7dd537a44b80d47bba830e7cdede5550d787e4561bbfcd3b705a0210f5ef055eddad563d1471e031f2221a9163e5dc44439bb0cb08395c2b9c6490c30a0476d95c3790ecac7d20eacf2602b1cadc8bbde1d3e4dff6e6f62bc310b680bd1ccd5083878652e2d835fa4d776dbb6ae76d39d47934742fa6ceb747314a4c2a6dff7b0282010100bb5cc04d8759f9554ebfef84bdf80b601c6e5b9b250c53dc53ac55db7dadfd3dd6ea8b56a83de36471aa50d73cf4c8da6da37f0ac449daa3092fa810e3f34a74658c02ecfd9dc29beae2e37f1a188253d9ed3452c631657e5d66ef8c0c58c3d6ee759264f7301c53f6e5f72f1fdb0c6f599f07f156309e446771aca512c88da3bcc2d4e047777d27cf6b5c9f4abc1e8f57b659499f05d783f67beca1e5d4ce3cdce857bfd3c10140a50ce4f64534197a9ef90d75cb9f7d8ce0d571a360740f9978b2e7cb59fcc206a59955bd3ff9047333762d1110d775ff75960dfdf107a4f9267ed86c97864df5bcae9365e4922726bb7b7f42b381ca1220707bfc02e3d4e5028201000ed6f95b28238f09d039e4c8417275bb42a4d0413973b0ff0ade7b8a512685540bbce0880e6446d9a89e6de6e6fa96a61e74d1232fd7b14d72f893f14e7f6b61b0f815193a5cb550e786b896deda1661a10f918b9a04a10ed8eebfb082d3f8be94f64873c6cbea7170330efd9520c5a3d63ff15abf982f00465edfe6c37e317369062be30c2c5c15629ee78a3817a6e863fbdd51a1dc4a1a460cddc36158c73d3c16e3d5728468e272edb8509f6a1b57a414e95e4bbb02f7a3d972f1ddad2a50aa42c2b43ffa9dedf5d95d254b9ff9c02265c894a374928d84c4893c4e8215dcd79727a028259d610630ec3ecd0e0ca948d34c0d15a4b40f73a18250ea12530f02820100296bdbf80bffb928a2ea9a38372b66297aa255188829562463b72a6ef2d7cbd39806741c866a2cefee7954705ce9f23dfef77c6c927bc5f065fafdf893880dcf17eaa9a1c579d2c48993c232b1b0d6738977e6bff12a2cc2b8065e423e357db7a85d5a026419a16fd513d530487372740d67c2fee220dc3b0c005cf3b28c73502425ca5ef748e304e5ae70ba54afc63b173ea6daab9432f57d97a432e9e409ad3ed191a8093275bfba81b865cdae6433a34d6319d1263ab7b86a4a030f165c2b540074354d7b2be097659dcce4d4096170bbcde3cce0c9ead51baa416b5e0202bb823c42acc561437a4e3d793cf704429ba96699c6fd5cfdb3ba1db090b6c6f7]\n\n# tcId = 42\n# ciphertext is a simple fraction\nct = 096f1239819d50eea35c3c05cc0b5e88fed07625e04235b8c641239c6cdaef5a3c61d703cd89278957e44b88f3f855b117eb8ff5e0b3a7e93ef4aad340dac77f7263cc28ef6c3018711c5a2e4e1846fb75144b7db083ead71e6126493c0371fbf7d0af790819871d524659fb4e52593d2d331e1a1c3d7f359473518bad2622c81d65bd1221931ab021dabbe5a69234f1ba72449df80a0163525dc3bb1c9842a2869de8fcc3006431ff5360c7a6e4211e94480d24c3765d1a0ef63b1fe807f5c5435d0465bf8ec5de13c884712f7e29107427d7c292e3e837ca9409c6396bd9b934e389abf9ba77865212ec94df3c8aba3fc13cd779232a54891c62d1718a69bcc1e1609ebc0026c1b22d09fa3de44a0e7b207ab5fa788e2b0bae639ecd46df6a51767d3246bd4b101a2682305dc9240d007abd2b290aba039bf04680c019dcd0892c883c713d6c4c0e05ffcfbe51ad93b40546818d9d89d8ae4d8e14acd6905287c6a3ede1d1e850ea293d7230a457ef19c86489449559c965ea6059a80894205109c2ef9b93ef9adc1c01e9ef0a53200210b3e50ef5d19108d7eba01554681c747449df776a548a4ea5605e0deec3307861470eed8954e81d89eece2022bdc546724482d736eb1e785aeb2da9b5c938d5d3bdea1c252c3e9f32d6f129af69b885a13457ff23ac7b86b663901e5c1c5f77cd8205d26994bac210420fd7dba213\nmsg = b696adc28ddae0059092422bf746d9fb3a7e67d5844edbedbd2b76b7ce3d46f6bb77bb04a3b3e06e8237a284e18768cd07be1ba83491de275b2bc3f5beb76f74e7dde2b7b4e40794b3b4e9716de2d9dfcc027f65fa9f4e081b73eb6e50ea6ad59e3d59f4d0efe6accc8ee0e5a97a136c711376ffeed80054af8c6021f278ee55794c8ec92c0ac732a5dd28a02ea0f9485a6d0cb06cc0440d02a3d8fbdcd7bd21d1f134e1de993cba7c527f3340a7220dcb27d82397f346f31f0a36275ef52c88e2e73ab665869611c9102431e13c487998f998d5f39b4e1dd572b829c789c83b91bcc7a837f881c21316d59ccfaccf704672da03358e4a40be0a6fbd016588c47d59b4580da571a2fe39d2a035209cf0d2673d362a5678d7736211c5f6e3fc1d9d7059be6ff5683fae0348c62c30c4603cc13d16f588bfe12613e8f32db3a8a3b344c55e3bed63d04d1f0ee66aeada45d44b3bfc4344202fcf119231676145019203ab56293c531b248293912a1905536d8c45f2026637c065a2ec2675c6429d8bb97ee72eee254e493c004dbf6827e35382e87eae2dc189\nresult = valid\n\n[d = 009728b9e5ec9ffffbf086237f4303b3af264793e61b5131c09b7e3b26fd7069be7c44a7e8a8163d6d91632bf719f37faebac2f2be852af51d9b5dc6053fc2fa852434bfd7b83e3737600a257985ae600d4e7602a8570385551c4b0ac6e89ba15732154522e08a29bb1fcab6f3e4b434d0624208382f259b0bb1e73576c87956c67e13642ff76bcc0e35ee92adba30e4685e1504877e92a0d5b144ade82a6d0f62801fdf74e5248cec26148a32a098ca419d63df3dddfce4e8ab9557910b62f3ee9c42a9bdc9ec05bd62b069b63dcc48fe294eaf557835d10a5dce285a05cf55de676785f5021e2b721e6230dac62ff4be6a302c7cbcaf89efc7d73c3329327df92c3997d5312e314577578a8979353ada5f052f2edb21b65f055e8e3ce2a495529c6b5bb29a44dbab8d41beb23b724a1caae7abcdd286d552729ea6a800144a941bec7cd4c9c22af7f4c807c7971d7e074224a4241dbaa08237bccc8674fdbefa2b66f34bfbcd965e51786395b3e9d9815eba097aa3b990c661371cdada27c0c03a06f2088838da6a5c2b4c18b3b5f15ab37784b730752e200169e6b8405fb00c5ea03b7b187173b8c0f7e619ebcc8dbd93e98058f28b30e48136edbe313022cd32f4d682f1b3d9388048ffb7cdcec8138cf31ffc1d52621af0b59210389f25561d7b62c22544ca720516e2ba8fa6d04603ab6d18580a1a1fc701c1f9f7f1e0a1]\n[e = 010001]\n[keysize = 4096]\n[n = 009a707a36b5cbba96c9d4beff3329f7bbf02490dccf000e5fe85e6fc690829ce152516c9a6b0a83a51cf92b3c31fe3e1591a407c7be3c230af91aeaa3f6b1a9a0cf81641b690594c90791a5e82380ce9e5cfe9c931d069311bf0d4011101901d3c1023226a5ab37985e6ef39c49dd73ccccdf9d83128fa4b12b9eebe1ad2c11b40606a0442e1217c940824c9a888a874e75cf85313991ef5be6738d0827a4a1583dfb273f04002f106d425bd8369c2548ff489814124a23bdc49d560cf3521a6f326413c7ef058edca96a552b6e7feff33cf5103743d4dad12541f79883ddde383095ebf9b9fcc1f21c5c695d79f461cdcc26dddc69cf3377fab23249a38527afd3dd5277b2b056272a24c1d33a785496ded3d6540feeb6c93e592448e28", + "d19f9b8439731cb2eea336e799657e95e5d1cabfb35cf92b1f43e1441af88be60b61471f07550e236235fe68fc178c40a0fce0e808ef544888411fab1c2014498db4750eee6ef7d2c7b95e5c6a01e2ea01fbce551e8dfae487798bf60c0e38dbc444b16a8415b45498b37d372b1095ebcd8502431b6d91af8c0b1da4e589339c4c0a8565b40fca50cdd2167724c27c41fe4c554b6098fa09244b4a3318cfe64bb939a8ad1bf31d70381a90ab3b54b11d6adf88a94283e281af734325a81d4917b06d73991b7868e559a9d07395a7ad1cb589c8015a12933f4501856075270f7bc91e7]\n[privateKeyPkcs8 = 30820944020100300d06092a864886f70d01010105000482092e3082092a02010002820201009a707a36b5cbba96c9d4beff3329f7bbf02490dccf000e5fe85e6fc690829ce152516c9a6b0a83a51cf92b3c31fe3e1591a407c7be3c230af91aeaa3f6b1a9a0cf81641b690594c90791a5e82380ce9e5cfe9c931d069311bf0d4011101901d3c1023226a5ab37985e6ef39c49dd73ccccdf9d83128fa4b12b9eebe1ad2c11b40606a0442e1217c940824c9a888a874e75cf85313991ef5be6738d0827a4a1583dfb273f04002f106d425bd8369c2548ff489814124a23bdc49d560cf3521a6f326413c7ef058edca96a552b6e7feff33cf5103743d4dad12541f79883ddde383095ebf9b9fcc1f21c5c695d79f461cdcc26dddc69cf3377fab23249a38527afd3dd5277b2b056272a24c1d33a785496ded3d6540feeb6c93e592448e28d19f9b8439731cb2eea336e799657e95e5d1cabfb35cf92b1f43e1441af88be60b61471f07550e236235fe68fc178c40a0fce0e808ef544888411fab1c2014498db4750eee6ef7d2c7b95e5c6a01e2ea01fbce551e8dfae487798bf60c0e38dbc444b16a8415b45498b37d372b1095ebcd8502431b6d91af8c0b1da4e589339c4c0a8565b40fca50cdd2167724c27c41fe4c554b6098fa09244b4a3318cfe64bb939a8ad1bf31d70381a90ab3b54b11d6adf88a94283e281af734325a81d4917b06d73991b7868e559a9d07395a7ad1cb589c8015a12933f4501856075270f7bc91e7020301000102820201009728b9e5ec9ffffbf086237f4303b3af264793e61b5131c09b7e3b26fd7069be7c44a7e8a8163d6d91632bf719f37faebac2f2be852af51d9b5dc6053fc2fa852434bfd7b83e3737600a257985ae600d4e7602a8570385551c4b0ac6e89ba15732154522e08a29bb1fcab6f3e4b434d0624208382f259b0bb1e73576c87956c67e13642ff76bcc0e35ee92adba30e4685e1504877e92a0d5b144ade82a6d0f62801fdf74e5248cec26148a32a098ca419d63df3dddfce4e8ab9557910b62f3ee9c42a9bdc9ec05bd62b069b63dcc48fe294eaf557835d10a5dce285a05cf55de676785f5021e2b721e6230dac62ff4be6a302c7cbcaf89efc7d73c3329327df92c3997d5312e314577578a8979353ada5f052f2edb21b65f055e8e3ce2a495529c6b5bb29a44dbab8d41beb23b724a1caae7abcdd286d552729ea6a800144a941bec7cd4c9c22af7f4c807c7971d7e074224a4241dbaa08237bccc8674fdbefa2b66f34bfbcd965e51786395b3e9d9815eba097aa3b990c661371cdada27c0c03a06f2088838da6a5c2b4c18b3b5f15ab37784b730752e200169e6b8405fb00c5ea03b7b187173b8c0f7e619ebcc8dbd93e98058f28b30e48136edbe313022cd32f4d682f1b3d9388048ffb7cdcec8138cf31ffc1d52621af0b59210389f25561d7b62c22544ca720516e2ba8fa6d04603ab6d18580a1a1fc701c1f9f7f1e0a10282010100ca399d4e22e241b4500194bab6eeb997d337ca7d4c660170377eaee83c69686ea6d891aa07388c4f17c1112882f25c109bf6d5b7c7b07e6adc5e9cc5319d0a43e3df5961bc44e9469f1b61f71146e6fda1ff8c5710aec6268aa37959e9560dbe922a164e35c7c8e20049bdf0f58a7fd8ea65caa46c5c175cc534fd6ecaad4bc85c74a90d9621d80400bc1919ddeede28aa1a5a8660f3361e4aee25d862e29e8eb4b514ff06cd0abfabb796547576700672b521acdfbf0e3c31b2ee4d963308b4d8799bc5987761f881e0ccec41317d04240407aa9c008360eb104b4de3d08f55edcd1d8e9aaf21000c5c5f03448320ec1f109ef7f52de5a1b890491f3db9b1570282010100c381df417ed680c3bd06ff199390ff18572e1c4a1bf59b8f2b4cebb6300a86d4cb45e9c8072c18e711a0cd5b9454f028559e385026e8287ec2058ac700cad40bc13b86a7c069996d204b9c7648d9978f6c2423b643b93f1d9752a0bec0dfb935637693d1eda269de3cb61d1639a00266033bdf6111293750b1bfc289cf6a83003f73722f149c96b0af950c66529d5ae57dbae9d1da9b394ecb304a48ab70213ad8725120107e063315913334c1409e90fcfa65407e477dd892b7b4eb785af538122cce8211ecdf76325574b693fd054cde3bb0d9396489f431515056212fcafca4285fdaa668d8052347af6df2b80230dd3661b36e02a07623c027a1b4a9f9f10282010100805d11fd0727978d5d3ba3ace171a75d3835b1d2d72be8bdd27c178a52ce95fba6ecd1899c0bc9046b8fa1d4954a422648d9e5cf427245cc8f157f6dac90827395b1b08ad976e49c6f62724ce22a9f755fdf56b5ed610366739a50ed41afde0999be1d6a87b8c94aabe4232d50af1978175185cfd8f89bdbc7525b8c781a8880262fe71f38ad42f147861e68ccf7530d7cec3d8a0f0052d9e7b6434f9775423053849e4f4381e3d0c6af423d5a5253c9c40635da062cc05c752f9f14a0c2c44407252a3bc30c04a439ccf846ff1aeac0361c58c17344e0202515b2b73e64a49766db4c67b8c871aa162e8c2106dc3589ac2e60ba04679ddb89cc0c9e48101701028201005deb36cfe4d9b0d3d72bd4427a244e9767d20bdf021d73d44c2dd0921df4009f9ae30412867785a30351e7351645d374dce47c12ed0ddbde40e09eb148cd271e5a7e790a7f217b85f3dcbed607db17b6db7165027af833bcc863f63a8cb72ce6dbd82bdcce36967b1f593111eb2ed5d821b79270b3e8c3dcecf6bcc2ad3472a81cd31dc846338f2463c4cb47206add2e9fbeb9f288fcc683f692452d31c655004ad867e66a65d01e9c3ebb859d4ca89fe81775aa8cbf555243f1226577d4e236446ce7eb8e26e79685498e1ee36aca300a164cb79d9d91b410390ac9c5798b1ee0d15072de3c4181fe57c28ba3ed078867cc6714e64536c66a183631b5736e51028201010082c5981303f087559e16ac8004dc7ae41d0ebf61c37c706f01f0d6b950b3fb3582cacd46c2fc3160d0a7dce6e481fc191758387818a14e3c5c59cc7318174643017d7b4a5d8703446f8a41ac86b5534404be75e2c163597df52c05582771766a348d37a4e9171a689da8bc8791e9294a109515cb40995a3d874d08695ea9f7835a9d3f39a1ce7e6078af5a328b79451fbb02c43023cf5433f5ff00617e0596df8171672ac9bc0049fd5ddba0f06fd10000fd5a159d0c56372e688e5c54f76a07196a51629af9ea76476e09b8193f274a29cabe2a5cd602e9d675aa7b8f98f87339746a593a9380a7dca08f48000465e33e11b9e67d490cb38aeb3af62af44760]\n\n# tcId = 43\n# ciphertext is a simple fraction\nct = 56aff1b3694b12721058f9906c27d6898113c0d7955d372d174a5305277a3e5df29c6527896bc5e7eaff00d35a34a5f91834d2eee28c108a143e9330712c647fe26bb6e4bc65b15a7aeca817d90a8eb5293102c12ae38812bd65262b0ec60f14815676aea128bdeba94c1b9472229e3ce42da29ce58ed3a6718004caedd0838ed99d438bac4478bd76a29317e17adbb4f9c661b0aa50700193d892ec5366b160a47036f1891bb370cebc8278207a355dcd4c337716a4f48ee367493d08ce26346ed37503c12631add0fbb7014bae27cfcdc85f56035c05bc9d1fca300d446b7213e7396d73176dce4d94fc625e7030670211f98e67bfd97079a308f8126d4a6f8d61327f9d04d7fe755501fc0c4018b160007f4a36af2175fad8d612f20d2417facfdee6b28f9b9fd81a5a602e6c5761b1faa9d4fad3a33d3e272cd4655672091e8ce5c8c2485d8986f43ff0cb1798ae3c22ef0a871d873de7f997eb6273383d0c511548a4e291380fe423f78371a5c9efbda9c0b51b512883f90a5bce4d8e6c99ff27d0bc2fbbeab391bb5d877e07445933cb0b55d59a17556ebf1c24ddddf8666e4f4566aaf7b7364943e9d8681ae4d352551652ee7ae687b638c0d6a7a227e8eaa978211517cefefd08532909b88765605415b6e1abad13141187c719a01e39050e98e3a2c0e91cb0c4c5ea052e34498f7fad67051d650aa7a8ad8d6613da\nmsg = 224d2a87348e18c85239f4428fb5140a16bde575275e65d21d90b61120de4986c1a8ddfee35ec22958b8039af0f46ffdcaeffbd2b9ba7840d865595cfc22ef383e4755ab48878c21f31715442a620beded6429c333908fa568e754ed078b77ab19c03fabf9c825ac19d700df003a00c66cb460f9819d02a4762625cec6d3b61eeeefe40761e791d0dad80ee3bb0de70f59f0bbdf9e00002692b6eb52fec5bf65e00abd1d9d5a6ca22e3957e442fb18977fa721052ccc5a2ff18726ff69917dd603bc9ce6be6699612f46b0b3cbbc927bcb5760124e3ef48225a6a5374f96fdc72e4953b74ca415585b0b045ba09e8e1a4ce183aeacaf9f49475d42064fdae6ef3d07a57298dfd6b39e292898a8aec16b3695ba74da57828dc4b11a5592fbcae2064b0d3bc44c2e37c49184806520d418170a821de0d3688580fd7d522774ad342b571e6b5a5df93a25573376ed995f2245a38dac828499d852c9bd4b4b6373fe2d374d5ea745392fd193df51309c983f1483a7cbd02f71f707b675308bb4235ede4fc18123d4a3902e8b5d9cb17ec2040d4c37df674ade4168cfbe36c59c8cc725e1a6cf5141\nresult = valid\n\n[d = 51da1779fe40b0a9ea917965f7bdd531aed4993ffee3dc01b7dee40d5b5f872071476dd4eb3a91ee43f5be5fe45a00e412dd3a3c4142d55d2458c3fb457caa702ab6702f984bed85959aad5f6e0166b90a251782a95999beef46cda6b59f74047d30b4b9591a9fa1eea06881383041d56f79fd55055fb2148eebeaa4ca746a068e44439992ef9f7356cdb9eb7dff1e69cacd610daa081fe8cf768419a519a63bdc64af685a79b3d8206a3ba0764ae8fc1e9e83be926160e977bc1f15b9c5b1ad7fa0a06d6d8061f334e4e4609e1f0d620036ceb227ebc279869b9e8f89885dc4a7575f3bd78aae86a0a2bd8cac42e26bac7ff407a8291bd085426829f184941e4f1fd4d1f38427a82c4e11407805c004d7e3daa4ab4f8ca4d4d2bdcc5dcb116283f378f05473df6cfbe91ca92d91c33863e188389ce4d5e085dead3de5d86595e680ac78adab8b42ed40a70120ebf6abd0ebc877fa3d44bbe2e4deffcce30273791cc5300938d2c1fa49cc3d47a8401553107f5ad33d842e2966a0f8afb7df3ed512a2e78d1ce8a202d1ee9545b0970d751ed252cc38b9a332f1ea753a2edf388fe4c8241db4a6d034dd1580f84c1f95dbffabd1f403fe9e5749174f4f76aff303d7ce37b93b94e38144281cbaf6005a2c64523a2bcb39ff276bec54487704c6854dfba1fce1f18aa3c4f14331fc066bd813bf1550485729221d731", + "9b4ecd2c1]\n[e = 010001]\n[keysize = 4096]\n[n = 00905b8d4867228c640d6a735903f06fe0485a00081a42a6cf78ddf798d30fb9748300b5d90ada8f06287b074235a35604a7c5e411627b0ed3428fe701a9db9ff8a67ca1699991b42cc5f7c0e8fc6c6280f86fc7d68f994a68015cbbeb146110b9f5acaeaad5ddab6ed1ff2ad5833bfa164651fc7748819124538dfb6018dd4129ff85fe1c7bbcab175b1bf28175bd49db94235aa0748c7f18da05c19cf85caaffa1dee73bdd9fa69e88ce894e1bbebdbf59858e1dcda058b24b8b18de630fc93d598bb63ed08858894751229804d9010ded527f2702afa96613a7dad209503d6018e23aa99308087f15b9552544d547404f38ef76a1d12e6a9892b17054f95ec3da5f19086858e983074dc6bae73d5d614b259e7ab666e318a37ed26fcc7848325b09b026d77b66614ad78eea7d1627b71a047930f27a41592e4a732150e2687185ade386a5aa7f1f7f29ac66e551b5d141642deed58322b9718553c0293f66621b0c98d4ed07aaee2117fae99749a0ce4ed43be4ae126230b6cad40fbba147e3db9def1cb706a9f5f6d24c45fe6a84ac607f9448570e31dcb923f2499a1f11423062633c9896108795fa938290fee286558db02af1bfc78fa36a13d0ee8e2eb4a8e1088effee3c990aa249cfb87d67a5ad8b222cee3e49dfef53abe43400e0490462cc92a4e399efeda5991254652b75eab57c29c310664fc6bb4b032a7f5c83]\n[privateKeyPkcs8 = 30820943020100300d06092a864886f70d01010105000482092d308209290201000282020100905b8d4867228c640d6a735903f06fe0485a00081a42a6cf78ddf798d30fb9748300b5d90ada8f06287b074235a35604a7c5e411627b0ed3428fe701a9db9ff8a67ca1699991b42cc5f7c0e8fc6c6280f86fc7d68f994a68015cbbeb146110b9f5acaeaad5ddab6ed1ff2ad5833bfa164651fc7748819124538dfb6018dd4129ff85fe1c7bbcab175b1bf28175bd49db94235aa0748c7f18da05c19cf85caaffa1dee73bdd9fa69e88ce894e1bbebdbf59858e1dcda058b24b8b18de630fc93d598bb63ed08858894751229804d9010ded527f2702afa96613a7dad209503d6018e23aa99308087f15b9552544d547404f38ef76a1d12e6a9892b17054f95ec3da5f19086858e983074dc6bae73d5d614b259e7ab666e318a37ed26fcc7848325b09b026d77b66614ad78eea7d1627b71a047930f27a41592e4a732150e2687185ade386a5aa7f1f7f29ac66e551b5d141642deed58322b9718553c0293f66621b0c98d4ed07aaee2117fae99749a0ce4ed43be4ae126230b6cad40fbba147e3db9def1cb706a9f5f6d24c45fe6a84ac607f9448570e31dcb923f2499a1f11423062633c9896108795fa938290fee286558db02af1bfc78fa36a13d0ee8e2eb4a8e1088effee3c990aa249cfb87d67a5ad8b222cee3e49dfef53abe43400e0490462cc92a4e399efeda5991254652b75eab57c29c310664fc6bb4b032a7f5c8302030100010282020051da1779fe40b0a9ea917965f7bdd531aed4993ffee3dc01b7dee40d5b5f872071476dd4eb3a91ee43f5be5fe45a00e412dd3a3c4142d55d2458c3fb457caa702ab6702f984bed85959aad5f6e0166b90a251782a95999beef46cda6b59f74047d30b4b9591a9fa1eea06881383041d56f79fd55055fb2148eebeaa4ca746a068e44439992ef9f7356cdb9eb7dff1e69cacd610daa081fe8cf768419a519a63bdc64af685a79b3d8206a3ba0764ae8fc1e9e83be926160e977bc1f15b9c5b1ad7fa0a06d6d8061f334e4e4609e1f0d620036ceb227ebc279869b9e8f89885dc4a7575f3bd78aae86a0a2bd8cac42e26bac7ff407a8291bd085426829f184941e4f1fd4d1f38427a82c4e11407805c004d7e3daa4ab4f8ca4d4d2bdcc5dcb116283f378f05473df6cfbe91ca92d91c33863e188389ce4d5e085dead3de5d86595e680ac78adab8b42ed40a70120ebf6abd0ebc877fa3d44bbe2e4deffcce30273791cc5300938d2c1fa49cc3d47a8401553107f5ad33d842e2966a0f8afb7df3ed512a2e78d1ce8a202d1ee9545b0970d751ed252cc38b9a332f1ea753a2edf388fe4c8241db4a6d034dd1580f84c1f95dbffabd1f403fe9e5749174f4f76aff303d7ce37b93b94e38144281cbaf6005a2c64523a2bcb39ff276bec54487704c6854dfba1fce1f18aa3c4f14331fc066bd813bf1550485729221d7319b4ecd2c10282010100c408dd338d45a42ab6d4da18c568f150e85d6c68b75105c319a8b0a149347fa1dd7895054a7783a211537335a16e9cf6afb3d66bf4f4a7bbbd679261e43291b217c60bfb597e12c0d297237cce899442a7311acf18d3aff8d32c424c1f736192258ebe6fb45059006be12c9db5d940e8aa4170e37313e5f4672c70db02eb6c49f71fa54c74e52243a1aafca8ad583b1114d98aa83d12c06c2d712a675850dd8344133cffae61f6c4a20648f5812f72f278a765a5e9933a6a90a8c2ca2f8bde2469c563663ebec83a77768cf5fd4dabbc9e4eb610e3825acc23951c6ec0c0f12efc4157ae5839bb929f3c5b137c73857004fd7be89b90f2cccfa7f8001b4d35d70282010100bc83f34a5abae720833e5b252084f2e85fdb312f54a59983d2c10176244f1658757aa42bc3c4c12d5f644dd7f31cc30ff3179ee594fd73a90b436a1cee1a9fcfd32878143d193cd15c5bb92043fe95e6f38a5d399f1bceba64b1c97fa3edc0a5e217143b204b8bf179d4d33533cb7a6c5141ecee7961325bda31e8a3a8c76411e622f7596f3ce1b420a8a6cf0de744462c182e3593fa692548ebd7360d4f4464d1c353cf6b8c6a69dd6e83fe00e50a7c949bb97373b6b398fd8a60e56944581a2b1520abb4fb8d10fd0b98e92444a776562d46968446b9454710edb35d3ca56eb9e4efa0f2a30ba2c469351f0ff1b36a9963d9647c7174d2faff8ed0bdb1a1350282010100b3e10e58878127aaaa299616b4ce1ee086d772ea838bad25e11d9135edde665f38c1b4bc2e208c80e23518ba556f1248a9e0f3180ca592640ae046c9dc832a7da8a2e9cbb1caa59a99a265c5d81f1614332633db64849a2c5059845c255fd260306653085d047d268dd709018e23d413aa667217c338b70114cb0aa36c8269d355178cae23753d83a18d2c59faf5c2fd618c5c5713f368eddaa4c4ac1fb5d40ce722600e9d0cf74a67022d60593218dfb526a5772065206d3860229d3413bbbaddf369ca20391fb1c67cd9cbbeaaceb33cf02cd0427312adced8bc464448c706be21973b3b697e5c8410f5e16388fd2054f3e40704f87452cb18edcfeb3d65f10282010100b6d88d0b9b811958d1b3939829388a9a950ef75fdf0c582022350e03d727d696aa2bf03c7abfc65709e53213b93c367eabdc47448b0462409e2a1f2c3c4e1a9feb419f6691f47ea6da9c24ad8505d3c39488a9ef8fc1dafbb35b3603d5ae6f62f62e487328d9ddbcb3dc97974ccb99cca1ebfdb1388debd867846d0f004f95623f03bf4241c09d72a712ade8baa58bf53c239ffe5baf5078d787d8d0168cc1dbc01162a316bfb51f45a541e5065d2194c05762c2f6834923a517a8f01af02d3c0479939cb8081d45530b029f6f8c1f9989f0943cbdc413437cb090bd9e3b8a8221504a94a3833d6ffc6dc7167fd281a16d7209938b984825b34a58ed62707dd9028201006838fc4ef8d5f90ab240ac06edd5efb7113b93bf587f769722bedf2b6b0ddbb1f0c0263f0f1cebf5c44200fa296a5e4c94a26d0b54528716be8d2df357f7151f7e9865a3ef24f6a88d35d126eeb642130d5cb8863f4189c0ebd37364eca821d14c0ab53f358b2fa42c1f0b1af668deb578de060b1e330eb99f89b22e406da3d3c4c2a3150347bef878e7e98ace7b68311ab3b9cc5fd010783e5c8b67cad8d7a94bf8a830f4f33cd7fdd3dbf0237e951f9f131d0876ca8f490df696c1664c53c9f8d6084dc69c88b504d66f4101cc0b39110c789007f697025c95492a6f4f22b5011d078b30b8731972e8c0b8a48146c7fe0c71f77af5bb9b7be1f4643fad0ffa]\n\n# tcId = 44\n# edge case for Montgomery reduction (32 bit)\nct = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000\nmsg = 99e006f04adf3ef6cff04bd176f6e94c43144fc777990aa8e3fbe1af20609cd35d1a8c65d0d35dbb0b9470de1b16249b1ef4e45662211314ebec26918c2545456621c256769ba4616620e67f9f40d149952cafff6da800aa5e4f67938e7f8f39abdf666f5bb878c5916639a482c26862f83027949187d5342c28eec832d2c225126bb511ea0fc0d129e9b14f22baefa3ed561119d95f3b65b9c2416435f95b056cc7e8c475d2b08be64f7fda96ede5d16439342bfc8b0bc4abd5f99ddf0345357c95c262f0dce559cabed922335eb4498f7cb25c67293db85185bbf3499d83af7559fec55b5b2b3456b19b47ebb0af5f9f34aa2a7b2931994dbcd1990d483821bca54606782b71cdf01d07fa61bfff5ef1ac9b6006da06b4cbf16664f39d3fe6e5ed4618ca502e8d325287f145d7d7624beeda415f4e7e8776b8504142d10859b8ae3243cb22c92998457051782a2bc68f6b2b5b8845b602d5a5989c5dfb28f5f8ab0f465fa12d0d47325d42b021\nresult = valid\n\n[d = 47b209663856b2eb04f0e76bcc2416e4e123881198f093fc3efa8a258afe268bd5bd1f3d7ae25fe834fce6e8c171b3741a4b853431cdb5ac45675a319cbcdef5d90e67084daacb2502901e8abdb8e82d8121cb51491c2bece23845d0d58c63e406037f8bbd219ad47c8071df8175ee14e1a90a9829d83ee414ef6527f6daac387449f2cfb2ad770a44cdf325c903331f6653a1e851811b031d7eebbc0a1b121dfcacf5047b22b1f3462226974e5a13d1a16e441ff93b467df1a7d212c47a9f9b78d9ef23f001483f2a6f65702c86e99190203722dc855b7749ea8628e3552438d96cc8956fbfa428a930cab99af26ae840697cc674381a16de", + "5488f5a729beaf06d1c3c1cecd143a01c2e96c2001c91720b1ddd4f71a8b6b448559cab7073014bc98acae932bd1a843df36a77ff1df7a360722de18907b149b51de7becf5e09a1c140cf280405cd46914953a02d9f498bb1aebd3c5d847fdd1452a76f1e9f6fb664d170d21fed4bc4f968efa65be23016274900a3ad7bd855085463b29757ff05a99a284c2e259e7026e72cb3ad25fc9596112052bb78a2562696170e175d1746d60052e0912cf13b0a6880ea5448629cbbdd5668edba0a31927ae84a8c2268b140bbc17404d41011325e745862129a9a73c4e52a14432a404f7dbbc4aa3a8da6e119c23d71866ea7500a3cdd0a5ba7ef057454a7357f8bf2f58c7606ac80f21]\n[e = 010001]\n[keysize = 4096]\n[n = 00ba2574691642af63d07eb20436ed4f1885f519820c79ea055829258bbee2e897af1e55806ff6dc2f59e35bc280e841c7247226bd27c14712dfed7f4a2a9ef08d17e05bc0084ea0af63c968590c449e5bd12d9f5bfd9f0dfc73ab4bbae84d02e79e3a5a02d8b96467aeea574280db3899810b382d7afbe3cf1d585b451b44877205039f2457d70b605db67373ade6d981f8d9afc1e2af2cc4aceb23fe317149560d2212cc187e8a5abffa9ca528b92bd47be43a27d9d18c3154d2e81ca036e3710ba305076f7896c0ae6cc279ae68eda5eacd24326bf3aadb13d5e453befdbe76a2b103fa52ee35d5fc677c814e126fb578903a941f0f566b0fb6ba6dd1237eaf9ae1c2b9c1a934d67facfbc382099a8c48c161764660c450df001478a8c2e09d2886bd81b9e0b7fa8ae2263644a926ba9de5393e4e714d47c3375beb36349a2b4c2c45eabcc5472d767bbe0743c0685716b1f50d209c0b4d3b45b6524a514d460c967e72529e6a49d38e722087c51f9d9f2169d93859e196e0a94d49df35b564433849a23be96737c07988dae871a52f78e5bdb83635b243d58dc7a4b64563bc2080e06c874e0d4938ae3604742306a194f2569438bc57b86dfd2f4d544e6e7b3609b51623484400d5315297674726c39fb23efb2499f585d998f09d943a6854428549225bd8f30b2cca68b2bd4d04b7d8da8e49d885d132f40e94ba343fb7cb]\n[privateKeyPkcs8 = 30820942020100300d06092a864886f70d01010105000482092c308209280201000282020100ba2574691642af63d07eb20436ed4f1885f519820c79ea055829258bbee2e897af1e55806ff6dc2f59e35bc280e841c7247226bd27c14712dfed7f4a2a9ef08d17e05bc0084ea0af63c968590c449e5bd12d9f5bfd9f0dfc73ab4bbae84d02e79e3a5a02d8b96467aeea574280db3899810b382d7afbe3cf1d585b451b44877205039f2457d70b605db67373ade6d981f8d9afc1e2af2cc4aceb23fe317149560d2212cc187e8a5abffa9ca528b92bd47be43a27d9d18c3154d2e81ca036e3710ba305076f7896c0ae6cc279ae68eda5eacd24326bf3aadb13d5e453befdbe76a2b103fa52ee35d5fc677c814e126fb578903a941f0f566b0fb6ba6dd1237eaf9ae1c2b9c1a934d67facfbc382099a8c48c161764660c450df001478a8c2e09d2886bd81b9e0b7fa8ae2263644a926ba9de5393e4e714d47c3375beb36349a2b4c2c45eabcc5472d767bbe0743c0685716b1f50d209c0b4d3b45b6524a514d460c967e72529e6a49d38e722087c51f9d9f2169d93859e196e0a94d49df35b564433849a23be96737c07988dae871a52f78e5bdb83635b243d58dc7a4b64563bc2080e06c874e0d4938ae3604742306a194f2569438bc57b86dfd2f4d544e6e7b3609b51623484400d5315297674726c39fb23efb2499f585d998f09d943a6854428549225bd8f30b2cca68b2bd4d04b7d8da8e49d885d132f40e94ba343fb7cb02030100010282020047b209663856b2eb04f0e76bcc2416e4e123881198f093fc3efa8a258afe268bd5bd1f3d7ae25fe834fce6e8c171b3741a4b853431cdb5ac45675a319cbcdef5d90e67084daacb2502901e8abdb8e82d8121cb51491c2bece23845d0d58c63e406037f8bbd219ad47c8071df8175ee14e1a90a9829d83ee414ef6527f6daac387449f2cfb2ad770a44cdf325c903331f6653a1e851811b031d7eebbc0a1b121dfcacf5047b22b1f3462226974e5a13d1a16e441ff93b467df1a7d212c47a9f9b78d9ef23f001483f2a6f65702c86e99190203722dc855b7749ea8628e3552438d96cc8956fbfa428a930cab99af26ae840697cc674381a16de5488f5a729beaf06d1c3c1cecd143a01c2e96c2001c91720b1ddd4f71a8b6b448559cab7073014bc98acae932bd1a843df36a77ff1df7a360722de18907b149b51de7becf5e09a1c140cf280405cd46914953a02d9f498bb1aebd3c5d847fdd1452a76f1e9f6fb664d170d21fed4bc4f968efa65be23016274900a3ad7bd855085463b29757ff05a99a284c2e259e7026e72cb3ad25fc9596112052bb78a2562696170e175d1746d60052e0912cf13b0a6880ea5448629cbbdd5668edba0a31927ae84a8c2268b140bbc17404d41011325e745862129a9a73c4e52a14432a404f7dbbc4aa3a8da6e119c23d71866ea7500a3cdd0a5ba7ef057454a7357f8bf2f58c7606ac80f210282010100f6c5efa726d67582948774bb07f4c6b04724f09bc27b1dd4c1e52031a46de3404d7a1afe336556c634209308d1800965a42aa4237a82b2f5f1d441694b567fdf80c4778425efe8d45a35f3b6195949be1039a2849890d4a091465d23d151410eb7115187c39f5f0a935815472bc99df4b5fc459a0fefd6a6a0cf9d33aade10ba8074bb00d839947515fcfc0671fa6608d9c6863cea8272cc0409de80f6b54df88b7fb239b5ffafa4ee78d27691fec96144b1ca4735c811357e900e477cd7bd8f0fc3c2bb9d08b0d8c5044da78a39f296a98b1f325201bb39b5bac773177b5d014c4b86c104b3dc024ca8e046c7a034582073c0d31f96242407ecf281523720a90282010100c11b35cc2c9cf70936c667c92837a9ec7fc3ed822ba0a90adee398d157d73d75b76fee3d81f46763de46cae8e7c1e59ca486197bd47e7fa7e5ced4ff5b71a15311c9c4121daba254c017f766ceb895932031764e80d2808be9d7261b2dd70b9d34b24096d129731bab863be611e17ec8cd5633e5cca6ba4cdd39a9976f4cdbc148cc63b4c960b584930619f7844da38466bfd95cef098935c4e94f683caf83f13b6d6dbf232991d8c967b49884d32bd837ff2457d723be8af30c950586428c856825736dc5056889864c45aafc7bf99691c4f9dd64f92f3d99c726e9b7c07d513a759d3f16cd7c1972b5b7939c11061e6b332a0559c2d3f35b1fb83cf556b953028201007b3bedaa33a2f59bf8408cf2b9ce6b4aacbcadcb9b1b909227221d29ad4b93291187e0e30117a275e8a23bcb3394151d45166651b16483aa7ed1d8b8947ee5ecdf893d8628cbde21edcaf3a20496aa54d815702b77651c49f3428850d2bf19161825f5e92eafefee801684c9bdfc397d7344401de7c78612404c6ddcd77f7e2b24eb26580da2f398651aa9612e9a354a4636f5e285da0f2a02fa4abb6c78ae2f68baa46e5d8d0a51fb252b353b43599dd18857d3a7eff96815842b1d582304eee498862edb04f40bcc979190115f4ede1e5cf37f55a4b7b2e2261c64455dbddc6015777dfcb3353390c4e4fb73c5755e6d16613d0d91150b4949f2f0d1f5e5c102820100744511eb51a1610ce73227237357b0b479695b0459886ebfe0dc61130b34ca08aade76300aa341ed5bd47c3027fb136971965c99b6a443f0afea0d4d839db368f4f8eb598d0bdebdf0bb7d772558f6969377b4a827e0970da74aa7e30d82c1b7721731d49d33bbdf1933c5b50d671c93832f38285144c23fada41e7cd3c30f3e1dbb12fdb392cb387bdddc9cafc89f8004edd6cea20eb7d2ec311e62c0c75d464e65e10289056a8f81153423f135c4dc773ae4830f42b263af5c100e377cb2675101dbb268428d62e0bde3e4c409518a5b52a2afaf306a4548e62483ece3b590c706321bde7af311cf83a278fa2b35e7f2dbe79d392299c399464c04482463890282010100de0cac8a438a75b3efc7bb62347b015d2c62fcf59375d2bc4d24cb5c1403807d13ae85122fc505f5da0885bbf4021d178a5c77d906bc1eb652691d5ea13fce1f6c26ca5e350a9003e861e4c65e912592b8f9c20b9feab6d730ad6a24b3a38198ad22dfd757e282ca5f4d02fc8b69ac8c6305e7fa0eb02127a9f4f3ced6969ee1d2cb3ef8be46dccc4dea864510952c38bea3e876ab6ff54338c2f5671489e0e793205994ba38520502998123217d182aa93b6b2e76dd100f7d3199a83ade357405f6610eb9d330fb12373c6bc7acc44fd9db0f50025e63be255c8b5d8b43c69d677e8d00ec60e3fbf7951c8ee5547ba705d3c1f72020b75fe37ae12d81179b0e]\n\n# tcId = 45\n# edge case for Montgomery reduction (32 bit)\nct = ba2574691642af63d07eb20436ed4f1885f519820c79ea055829258bbee2e897af1e55806ff6dc2f59e35bc280e841c7247226bd27c14712dfed7f4a2a9ef08d17e05bc0084ea0af63c968590c449e5bd12d9f5bfd9f0dfc73ab4bbae84d02e79e3a5a02d8b96467aeea574280db3899810b382d7afbe3cf1d585b451b44877205039f2457d70b605db67373ade6d981f8d9afc1e2af2cc4aceb23fe317149560d2212cc187e8a5abffa9ca528b92bd47be43a27d9d18c3154d2e81ca036e3710ba305076f7896c0ae6cc279ae68eda5eacd24326bf3aadb13d5e453befdbe76a2b103fa52ee35d5fc677c814e126fb578903a941f0f566b0fb6ba6dd0237eaf9ae1c2b9c1a934d67facfbc382099a8c48c161764660c450df001478a8c2e09d2886bd81b9e0b7fa8ae2263644a926ba9de5393e4e714d47c3375beb36349a2b4c2c45eabcc5472d767bbe0743c0685716b1f50d209c0b4d3b45b6524a514d460c967e72529e6a49d38e722087c51f9d9f2169d93859e196e0a94d49df35b564433849a23be96737c07988dae871a52f78e5bdb83635b243d58dc7a4b64563bc2080e06c874e0d4938ae3604742306a194f2569438bc57b86dfd2f4d544e6e7b3609b51623484400d5315297674726c39fb23efb2499f585d998f09d943a6854428549225bd8f30b2cca68b2bd4d04b7d8da8e49d885d132f40e94bb343fb7cb\nmsg = 03c00834c2f124714a360797030b05892d805301d149fd167e4e72131ec49c5b1fbb3f960ba589b88b03be5c1f024116614dcb9896d9df409a2681183e2dac5009b96a3d075f24c6f39b5ac8a2251cfbf0ea06aa593fde6f0217bb0c2b02d2da80bf27b233389bbe61532eb44baa1573cf424fc9122fa6e9d850bc94b59331e7af03fddd15fcaa7e9633dc7bcf3c3e0cbffe1c4070d90d29e3d9170be49b90af9709c050754c5b7164f08b35b6559c437b2df91edd87d3dbfb495777506c4d5d6dc59d6e18c4ed191ebeac9fdb808f073f1f68f512a7dc9efa70f5bcc72da71626678716be2686a74eeddd305cc2a09a70ef6724cfcd5898bf0624\nresult = valid\n\n[d = 482f06ab7a9b4b89fe54ffdb2f8c2ef71884358aa6947ea846c18c62303420d99148ee9dbd48d7003bc51528c67df221f5ba529b5b16c048f2f88cf2791fea861ff0b3090ff87621b6b26bc34e587990d1894567cd26936eba995f0fe0cdcd4964483d5a86eade13a8e9d", + "66b71dfa58b45746622fced5009db0163c2da055f74ff7d3377eda241b23bacd2bdd8fa8c2548fbcb0f0d537833736458748257471575a703f7395de15bb58beb45cbbb54ee093bb27b82eab7d5c2daea78dbbf20da8b3fbafcb91f7f36748de0482068622ffdd2d7d20e6655b5670b82d181a944f290a0bcfb9eacaa35b3bdf71934154f72fea2491c788005be1ec0ea095d333612a2b91800d74635853e54db6cca42384ffd3f8792eb2677491f73a576879bbb05eda716879fbc7daef0516b5047fd038068773ae8d28c1519f6a49cc1c31e5be75e2ebaa2ac3d7f6b70a59e226bd0b6d129ed057164db194e878bcbb25f3d00290f7de8a03cc9f9f3512d2ff2a7a351e8d9a946ee463898b7aaec247d3a509498934c79b51b1b02a9de9c1526d530f2588fb39f505e10bb2f3199f68f358e2dbb50e7d275affd566e671702f62d2903ba033aabfb32d7cfca9b8c8d2f08d8be6448321ca5fd08dbf2c8003e8a1398b48be83b6557fd8a0805e74f2372aadffc4ba55963aad6d8b8388147ab31cc900b57ae6fc4fd98e1596c0287755679244971]\n[e = 010001]\n[keysize = 4096]\n[n = 00b2845feeb37077af6971653432ec64f69ae8377a6adfc8f17c04aad4e1ba393e94cb40ddc33de80d7958d886bd54bf3280cb7d4abfc270227feafa6d1ae10190bc7b5f587abd7ac8fb84d5aa640a6eae88f737d8eb636e241278bb6c635d11a6c0d63e8c76e9d452246049c76e81854d8154776576abc5558b065d2ac135aff52b91fa40d9e1c69f4141a2fa1fb09a415a8c2735c109e82fb7e49a0887345f7d83c5aabd6518cba7f6ccbb0a9de66cfb761109c4c6ad731e20b27f79e591af2d9914bbc37327610250f508accfbddeed2e835bbe5e99232946c2ecff8a7ab64538dfa24c3c83ee3f6df87425fa08ebf2b0556530aa4c42e8be1b5da67fb73b25580c924d028669fd4e5398cd1e0f9ff81bb3c285758a6f32ad93345aef6d99f3f220e0fbf9c9f5a5a36e9552d03c2cd91119d74b5c0d8069794bcd8a51c8130fe967f43765df57fb53baeb3d192a2b215dfdffe9add6e1707c85d4f3b7b0ff3a6526139b3b3f56a0cc6bb5bc41fcedd5ccded169a7465c9a6bbc1c63940a0385b19cb1ae1f8d6c2d7585a9b33c4f288fda6b89fb597281fc8136775c503a9cca137df9a6d19e1e433ca63de46cdcb42de2fb98e8544a5d8959c96d3a5e4e478760dcabbc4a53e64ee5b86dfead08e0d2897da537c203b90dfa7c9d16c064c4d4a71505da3b1342fc9c3d07a139d5c76c5e674f3e6ea1498d1e1351d6e25599dd]\n[privateKeyPkcs8 = 30820941020100300d06092a864886f70d01010105000482092b308209270201000282020100b2845feeb37077af6971653432ec64f69ae8377a6adfc8f17c04aad4e1ba393e94cb40ddc33de80d7958d886bd54bf3280cb7d4abfc270227feafa6d1ae10190bc7b5f587abd7ac8fb84d5aa640a6eae88f737d8eb636e241278bb6c635d11a6c0d63e8c76e9d452246049c76e81854d8154776576abc5558b065d2ac135aff52b91fa40d9e1c69f4141a2fa1fb09a415a8c2735c109e82fb7e49a0887345f7d83c5aabd6518cba7f6ccbb0a9de66cfb761109c4c6ad731e20b27f79e591af2d9914bbc37327610250f508accfbddeed2e835bbe5e99232946c2ecff8a7ab64538dfa24c3c83ee3f6df87425fa08ebf2b0556530aa4c42e8be1b5da67fb73b25580c924d028669fd4e5398cd1e0f9ff81bb3c285758a6f32ad93345aef6d99f3f220e0fbf9c9f5a5a36e9552d03c2cd91119d74b5c0d8069794bcd8a51c8130fe967f43765df57fb53baeb3d192a2b215dfdffe9add6e1707c85d4f3b7b0ff3a6526139b3b3f56a0cc6bb5bc41fcedd5ccded169a7465c9a6bbc1c63940a0385b19cb1ae1f8d6c2d7585a9b33c4f288fda6b89fb597281fc8136775c503a9cca137df9a6d19e1e433ca63de46cdcb42de2fb98e8544a5d8959c96d3a5e4e478760dcabbc4a53e64ee5b86dfead08e0d2897da537c203b90dfa7c9d16c064c4d4a71505da3b1342fc9c3d07a139d5c76c5e674f3e6ea1498d1e1351d6e25599dd020301000102820200482f06ab7a9b4b89fe54ffdb2f8c2ef71884358aa6947ea846c18c62303420d99148ee9dbd48d7003bc51528c67df221f5ba529b5b16c048f2f88cf2791fea861ff0b3090ff87621b6b26bc34e587990d1894567cd26936eba995f0fe0cdcd4964483d5a86eade13a8e9d66b71dfa58b45746622fced5009db0163c2da055f74ff7d3377eda241b23bacd2bdd8fa8c2548fbcb0f0d537833736458748257471575a703f7395de15bb58beb45cbbb54ee093bb27b82eab7d5c2daea78dbbf20da8b3fbafcb91f7f36748de0482068622ffdd2d7d20e6655b5670b82d181a944f290a0bcfb9eacaa35b3bdf71934154f72fea2491c788005be1ec0ea095d333612a2b91800d74635853e54db6cca42384ffd3f8792eb2677491f73a576879bbb05eda716879fbc7daef0516b5047fd038068773ae8d28c1519f6a49cc1c31e5be75e2ebaa2ac3d7f6b70a59e226bd0b6d129ed057164db194e878bcbb25f3d00290f7de8a03cc9f9f3512d2ff2a7a351e8d9a946ee463898b7aaec247d3a509498934c79b51b1b02a9de9c1526d530f2588fb39f505e10bb2f3199f68f358e2dbb50e7d275affd566e671702f62d2903ba033aabfb32d7cfca9b8c8d2f08d8be6448321ca5fd08dbf2c8003e8a1398b48be83b6557fd8a0805e74f2372aadffc4ba55963aad6d8b8388147ab31cc900b57ae6fc4fd98e1596c02877556792449710282010100d697b42742c06fa3ecea5f9f967b6451e777a744aa6fc59d504d18700c9070de144907238bdeb8709a273a3787d40e4b7afaed6879dfaa64f1ab020606270046225573e316a54abb8052e6c8cf0ca9d8478248033e791be2b86928d5af56af1109b2ea4d14dbab60fb02d8f5ef473c7fcc2b3a0ee1a71cd4db03560f1da9078636e6aa0b5dfc3cb0ab17aa89155ad36cdccb3863720abd0f84c65a2b198eaaf3b819b08b145bdd5ef0bc4c8820300626b6ca28ad2e7e37a32739fbfbf6d85e57d288abc207e985901431e4fdc1f8f806f86969b9aafbd7446373f29886a6cca02e51775fbb4bbd491d908a45e36c87d367e7605278137fcf972d59a718889d870282010100d4f6a364c7c804abf5770a404b098ffb7884dc484d59ef06b64be57d3ff7d61b276822f7b504a6c8025bc31cf37fb212973eaed76e7a45b5e59451cfcd58fa4fba42fd0cf310ab8410e9d374d9ad43c004eb3e6d31c458110fc9cb2a05939fd207e0d32711d96bfb0b67d8cbd06e1d1b00554cdbab3da6a204c3999bc47e98231b9aa9737d5d1e4892e20a1c55a2b001c723d3463db8493c27aaa7847c22bc4ded4f76c49e1f87af7f5ee40e6f8978043ef75e2ada2f8230be4bd0090f2ab8cbf3a963b5d9033bf64ee353d95e084bac42734679000501e630eed3aadf69467f08b18a2fe590bcd4ac62905aaed7fef3f24b09e15b74ff2138f6a9f52529467b028201006b0f1459e1fb8fb700a38d41591a065ab65803a34644ad1a66cd8fbb970918c632e89c1f27d0ddc38fa4b26eb1dd21a4969e49832e0a60402c315cb914a8b0824ceec4fa2e7a1866a306b90cc5ff535d0b8ffbcd6285995beb14cbc28fcf7757d0b6ea1dbaa23d460cf4c6b92bbf2677bbac7532a7716ff8e1ab306c2a280210fba2e882f348bc1e87bd2edf654002eaf4dc8e2d4edffca299633be8f4bf309a96e67a2568eacbee69bc0792823c73552d2c7e4ea83b60168da3680bb4830dce52c2ccade8b4a065d92d6b490e54dfa8da95fca11ca4b828ee55125af6129153f8c7bbfe8ebaa29caf9b44e0c92d8435fc487acdaa0a506188d29f3fb605b2510282010025e7d4836eafe26cfd1ef81b23800b39b664e79492f80bfc84dc1377ecb7df4b2c03741de50173f22bc14b844eaf0ef2122b9d11495fc822ad3f6e246fa783be4727ff449bcafecc5dfa50a1fed0c13b5f64c3d2c9c5e9eaf785727d034b186a58eea286d4bd7f63caceec1eb2f5b68684d3a9ff7b8658af83eb90ded1e5ba8c9d30353312404dd09b1c52b26267b7ae4954ce19358924b7e9538dc79e14ccb18e28d3ba016f19469a8438517d76d97edffa45af98f055daf934234e497dd030b529144f5cd61f8922d781a831fd86029e3d4870e718fd128ce92591c77c4488fdf223e78c93eb986b2a8c09280fd81871aafb923a2623f734dd6ab8f0a95d1b028201004e5f6536b303b8b361aebd5c2ca88836f542a54b3484df241eccd737a3e076822bc73c5845316cb5772c417be5d318c43f210c33f9ee243474881912cc1fc27bcd240d1672fa0d736577987ee9dbbcb7ce7105f7fd0c4453e52f04aef02e6598f235aba97ccc15496c48dc7110d68a0bae39f029b513b57f98796b65cb82d26f3a43019ef62883fec9a9cc9853eb89bbcd3ed903c36a13af4bf18927c32610ae158d7a068066bacdd9a369a07890c8fc6d15916d1f0d028f559bdbe6fc3730bdf0d64dc4a87185d490e4e330ed2b64fefc78350cd8e092444545785ce6331021e686aa767822d6a412be6eb3745b6f9d66cc9e971f761adacad563f6e2d1a8fc]\n\n# tcId = 46\n# edge case for Montgomery reduction (64 bit)\nct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000\nmsg = a713459775c7cc5c1990922de882210bd021efce7672dc10d18e4c95f47ec3c6e9764fe5526a28fe8ac2b6b2abaee272bbbba65bcc90768c779870b6e3b1cf6a5c37826f43f8204c1705f78f33796f177816ef160377fd41e40b2cae9c8f804f6976f4a6a9d063a456afbc890d6e72477d912c7c86fdc553c9da4906adadfb477e92f28aea91da2edab45cd1230ef8f4138e923aebc407751cee06fcd694e4d0808cac2ae24764280547ac5642260e08a208fb9fe1f6bce4134d8310f356700109f50cb836c89acb72755a3e4898ce6bb393e0477a7759d5f9e1e514caaeb2eb375845", + "000dd40e80ff962af29ee6a41f2a546475f6a2845cd9d4fde9eaa5b66667886eecbcb06f8d917ad14e9e7b7becda4c59d96164c66c\nresult = valid\n\n[d = 4cd419ea4bb5f68b7a6874cdb1f8390f332c68966b32c17b2493ad8371546f7b6dde1b85506869a459b6c3c1988f59815c55f3a02a3520db0720c8a477ba1b60e19d0097aac2aaa680a65b1b67ee677781d04a56337702aa35494de498b082ec459de3e0fb94476feefedfcbc4a5daeb872e47362a71829811b2883a2343426d17f4e97b2a1b4b480de73923f80fb348c1362a172db4c714a75b1e6363ece9f21c249d55b9b9939c7433a50fd3ed64bf56797c576df42666f1032eb9f894103e2fab39e9d43f4110517bc9172a0f1d3f6227ae699365613b6f98f0807fc2158b92cc4157a3e5897900b0031f1752c4fdaf7da8a0e6ea684663ae9694f6769231364e88e84777f8dc01cafe167bcb1bbec2d78038aa94581c5acb8ce53db7289eb30a04bebbcce3f0b9ac422dc4ee744915744f3aa2a8bd9e69bd13799f68e546242474d1fe6e2b4ec8fc8753ba2f0765f739c8cf30aac853b83511c1fc820abdff8562c1d42faac71593e110a361a216707c409fa0386d688b4927c7a6006a9a17362bfbdff09383a76a2b06372d4e3ac32c3b4b9582c49e805afc02618fe22e23ec302f6d986244104735128bd9aed7e9b805af2d915629c1e77f5606c39a0516d849f6d018eab0cde40734891b2090d8b739ede9ca2be26f3783577fd42de77e05b76beffb4322123cb846628f3131067c0d22301bbda8a0a420818f4ee881]\n[e = 010001]\n[keysize = 4096]\n[n = 00e96612fdccdb8f7934ace9778ad3cf0e1095c136190153446f948f62f75f18ee281a990cb557ebbda24434134676b7105cbde9fa108eb8abd4540f957d30404e308276fbbb703148cb371e2c9566396f072d4c030f2b0ac0f9b77c1ccba53d2e9b5c4e11c515c38193d537d722eb4fad6ecc0446fb7fa988ca6dd64ef47251e87606afa6ce1b24ca75af69f2b328c72d04270266b11f22ba1f4d36a6f1ba5d6115187f9e4d62e090c5767ae8ab8307302247dfd412b26870958ba1d6f4edc5495ee4129e9699e105db554aecf7b55fc218a5db03bc58f5cadeee97be980afaf3dd4cbe5723d0d5953fcba454c1d42b0ec79d14aaa334c907f647ea4d682c0e93c259484dcffb855bec8d62411f29f6992d3cff7dd4ddbfd3bf439546452905877e571b019ac9b5b68360934386a1cc4c44ff2549eeaea9328bcda83f4d9906631a1fc475906cb9c92a5a9d2529a2052e0e385115ea25d6df83764aac0f34177b499e619fb82cf669bd6cc00ed8c527a8ebfff3f88c92612ba89a388179ef8251649c9f40841ae7da957735121c80694e94f4cdf29fa4beebfb71abbc803e17da861b7c006afbf79e95a85d29c4d7a4cce93415f923012d0b8888b1d35504e04779a3138a2ae4c8a88c93370f36440deb05ec3d6d84a715f071c1a40c2256a4ee1884839f210e2c6d073ea94f6eeaa06ef16f9464ffe5992c1ca3b24dea69a345]\n[privateKeyPkcs8 = 30820943020100300d06092a864886f70d01010105000482092d308209290201000282020100e96612fdccdb8f7934ace9778ad3cf0e1095c136190153446f948f62f75f18ee281a990cb557ebbda24434134676b7105cbde9fa108eb8abd4540f957d30404e308276fbbb703148cb371e2c9566396f072d4c030f2b0ac0f9b77c1ccba53d2e9b5c4e11c515c38193d537d722eb4fad6ecc0446fb7fa988ca6dd64ef47251e87606afa6ce1b24ca75af69f2b328c72d04270266b11f22ba1f4d36a6f1ba5d6115187f9e4d62e090c5767ae8ab8307302247dfd412b26870958ba1d6f4edc5495ee4129e9699e105db554aecf7b55fc218a5db03bc58f5cadeee97be980afaf3dd4cbe5723d0d5953fcba454c1d42b0ec79d14aaa334c907f647ea4d682c0e93c259484dcffb855bec8d62411f29f6992d3cff7dd4ddbfd3bf439546452905877e571b019ac9b5b68360934386a1cc4c44ff2549eeaea9328bcda83f4d9906631a1fc475906cb9c92a5a9d2529a2052e0e385115ea25d6df83764aac0f34177b499e619fb82cf669bd6cc00ed8c527a8ebfff3f88c92612ba89a388179ef8251649c9f40841ae7da957735121c80694e94f4cdf29fa4beebfb71abbc803e17da861b7c006afbf79e95a85d29c4d7a4cce93415f923012d0b8888b1d35504e04779a3138a2ae4c8a88c93370f36440deb05ec3d6d84a715f071c1a40c2256a4ee1884839f210e2c6d073ea94f6eeaa06ef16f9464ffe5992c1ca3b24dea69a3450203010001028202004cd419ea4bb5f68b7a6874cdb1f8390f332c68966b32c17b2493ad8371546f7b6dde1b85506869a459b6c3c1988f59815c55f3a02a3520db0720c8a477ba1b60e19d0097aac2aaa680a65b1b67ee677781d04a56337702aa35494de498b082ec459de3e0fb94476feefedfcbc4a5daeb872e47362a71829811b2883a2343426d17f4e97b2a1b4b480de73923f80fb348c1362a172db4c714a75b1e6363ece9f21c249d55b9b9939c7433a50fd3ed64bf56797c576df42666f1032eb9f894103e2fab39e9d43f4110517bc9172a0f1d3f6227ae699365613b6f98f0807fc2158b92cc4157a3e5897900b0031f1752c4fdaf7da8a0e6ea684663ae9694f6769231364e88e84777f8dc01cafe167bcb1bbec2d78038aa94581c5acb8ce53db7289eb30a04bebbcce3f0b9ac422dc4ee744915744f3aa2a8bd9e69bd13799f68e546242474d1fe6e2b4ec8fc8753ba2f0765f739c8cf30aac853b83511c1fc820abdff8562c1d42faac71593e110a361a216707c409fa0386d688b4927c7a6006a9a17362bfbdff09383a76a2b06372d4e3ac32c3b4b9582c49e805afc02618fe22e23ec302f6d986244104735128bd9aed7e9b805af2d915629c1e77f5606c39a0516d849f6d018eab0cde40734891b2090d8b739ede9ca2be26f3783577fd42de77e05b76beffb4322123cb846628f3131067c0d22301bbda8a0a420818f4ee8810282010100ffefce7e0400b2943194bb507ee4f6c45a078d133309c0f84b6a2247f41f6c3586af3fe8e139234f61e0e824c8a7e6b35e2512fd9c97411604be1aba97182b8961642cc0cd65dad7c1526e1ea7cd511dea30c2fb13d401cf6c34a4cf7c0e850429d040de98f58603bcfef0056b5bec78c791e0801845bb0922e661bcbf2b5ac0796372343da4cdf70f8a88646290ea46a076625dab1e7cafa9acf8a84ef0309a1252792c873eecd69671373001b07d778daf537317f2b09d681d7995c086e874aecc7b372ffbf17a7bab8638619cfa05894462f3b988ada31b21cd0f60ed9c0ec6da51913831314234b2a400e21acb8f4b61f5da5e6d07476a472094d3e776250282010100e974d7712ad9d789faf1d17cfc92cd84a590ff6713125ed9b5917834935e15f21fcdd4f0d2958c0f09842df63a5925ee9b264b8210f36353cc614fcda8a6159d262c10c3c2228904528159c72e3286be86b12d5512bec1b3cc1b730f4729fed4d81d2e356a874d61ff963c1cc9dc7688511c991d54f5780570cf0f723308c8c7e63f82ad69f30124dca90470a8701735695b6566c8c184f87d5f66b3578001ed83ca19fbf138a2a24735175bda6ec2c7a9a039f8a60d996852b1e81c47ebb6b6ee53b838781e3e3ed3a6b529f0f56cebad91bcf62ef0b97c9d323878d4e01eb909b6f26adb490cb6d23aa207663cff027826e65e23c19395fe499dcb8e001ea10282010100e48da56c396cda0ca6fe380c595564dcd1bd1e897fb17d26fe49c8555337606da85a060b945d6f1febbb69f3b750e11f5aba66ec1e13a0a6e613525140aeefea1e13d43754f5596a0514f48be1b3e37580768d18a48b5616827dbc942127e2376693b7ea50d4291a5b839a9a6c5649a54e2b023dc1ef3b689c46fa0f10f4c9754ab1b901d7eebd939cc84ca6c0b2c2d3d16606cfb9095fb58b239166d41f807786572a28ce9a2dec2faae8eab10787f3e48e264a889f4c8334bfe59d0ab22f124c2b04f9b29b1df910498b71fc11afe093c5834c3d6a460d7b2443383189df2bfefe658af6904f79dd0f8e8fcf5ab85fbda4bc65869f7cb994b9f1e9961684150282010042085b7bd5fc01fc342fbbea57628aa10f57a0f61daddf8842d41fa4f75df06528dbc6744b8c232e89a98a7a8fec714f39312ec05e5d09664573ece7a5e13c51d3df38eab5f9a0b9c9406f0d68a2bffc1a0af9608bc9caee3938366646e1b903a9112fe5c9f8f54957cabdbc02d8c9ea2acf24fbe7f0fa7ec776b9ceba62acafe60f66bdf82ed4cf015f09337861241f666a8496fb07c9bda3709d92f297f173a6083f2b450298f5bfa063b80663b7d253c74f3e66718847bac4397bee57dcb98755c4d0ac2119c8198398d081285a239b5792942b98c94e57044276e2f775992f0741303a5042395fe357bb320ee4ae651fd39f230bf8dbbf2e4164b7088fa10282010100f6dfcda12afdd3f8de2a3d09a17ed9c8db92c7752cd2efc29ef1f28332d27dae983301c4bd61b41171737520ce04ee99096fa9e28571ef70cd5b8a9334accf41d7a015c4cddeaebc36b63a395920eade555b483da478fb910104c1aa291bbec11df2d708178532f356c5384fdf357c0a9dd2c6d579269411942a33bc4ddc0baafc91fc1b273fe356223eea8491daf1a9029f453adcf92a16afdbadb725ffd130d5a51682723259c0e5c0b7c6ff491a3bd06c98cf2a562d9e2b6d24c7363342bb543eb32dedc3f496269b24755dc42b3484bcfaa3de7ca6e45638a0fc8996779b36deeb6a602dedbf1929205b2282c6d792d756487fa2d735081ce4f99a3f8e1c]\n\n# tcId = 47\n# edge case for Montgomery reduction (64 bit)\nct = e96612fdccdb8f7934ace9778ad3cf0e1095c136190153446f948f62f75f18ee281a990cb557ebbda24434134676b7105cbde9fa108eb8abd4540f957d30404e308276fbbb703148cb371e2c9566396f072d4c030f2b0ac0f9b77c1ccba53d2e9b5c4e11c515c38193d537d722eb4fad6ecc0446fb7fa988ca6dd64ef47251e87606afa6ce1b24ca75af69f2b328c72d04270266b11f22ba1f4d36a6f1ba5d6115187f9e4d62e090c5767ae8ab8307302247dfd412b26870958ba1d6f4edc5495ee4129e9699e105db554aecf7b55fc218a5db03bc58f5cadeee97be980afaf3dd4cbe5723d0d5953fcba454c1d42b0ec79d14aaa334c907f547ea4d682c0e93c259484dcffb855bec8d62411f29f6992d3cff7dd4ddbfd3bf439546452905877e571b019ac9b5b68360934386a1cc4c44ff2549eeaea9328bcda83f4d9906631a1fc475906cb9c92a5a9d2529a2052e0e385115ea25d6df83764aac0f34177b499e619fb82cf669bd6cc00ed8c527a8ebfff3f88c92612ba89a388179ef8251649c9f40841ae7da957735121c80694e94f4cdf29fa4beebfb71abbc803e17da861b7c006afbf79e95a85d29c4d7a4cce93415f923012d0b8888b1d35504e04779a3138a2ae4c8a88c93370f36440deb05ec3d6d84a715f071c1a40c2256a4ee1884839f210e2c6d073ea94f6eeaa06ef16f9464ffe5992d1ca3b24dea69a345\nmsg = 4fd402e32ac7325e647f987809652cc7918a51bd9aa5aace60bd8bdd58c566af21c59125dff9c93d3a540d3e5cb945d899757a5a758c1", + "59ec71228212084036ac40f62be87a27a5373137867b41fc1b862f280716fd133f50638dbf4944bbcfe483e5455387c0c138c419234d2f5a924c41cf113feaceda5910c0c046ca970b2a077e5f23ca50714717b17463245fb5160d0e47fd2644ada2524334173e5f6b32e76787f7d482e4f6385b04dbf6f67877dbc0c27bd6f7c0f799eabc1cf34c33dfbf01f4d9a7b8dabcc42374f3627cf99ab44a0e264dc3d87fb9104e81ee88e1cad0001dcea590c7d2eab64dbd98b1789609f788c5305603dc748e3068db19acdd2d385314ee16a1abca98729259ad5900d649bb1c4ae1bb039056af12c9158e9cf1ea49037571ba7d7312c448ef77dce4a243e1a89f1d45197560ad37d8595ba8f9415372c518456e3f3e7cf828166e282bb49df949351ce27fd1c4948e197d18dd2379c3d7ddd2580152e01db3e5aee302b8a2cb4668d55a6030d8c3f27dc1f1dc4aa7279a3a64f91b268ebdaebb4fad98f64c18e796107b0f7ee65b376a84c02e69756b91c7b4ab753361b9015cb467a50f9f2521aa9511d13498fcd58cdd1b8a971ba1da5b3299c94ae0d66f5af756908d9f88ba7c676e26ae9ac9dd1d8f59e60bfaff8c574\nresult = valid\n\n[d = 00a49f18c9b202254943f76f57871ec5dacd92c7f368170d71400e1627b98bcac1b187f79784107f4c5b18973d648ba9ddba7da5afd0724e8a6f4ce1b1158ff0429e14aab6d4d7e4a23741f9dfa49a85b6dbbb4162e96f09fc8338e4ae68b38be7cf82580f05240ab79973ccb117a6cfa68a2544e907c5188e1ad7c93f1ac703bb366981678104223aba0e4e4556d5493a0820087ea70d7ea7cd3c9d10b0e930fdf50ac4369e6ac284f785d0f83b7812c98a91ccf66d25e6f4761dc520e33f6c27baf986c6bf61ff25d8a69aa4b947dc6029cb4450b8900992473d72dc87fa30a986a09b613b646d373bd435d4565a1e4d7a84c1e1647e9c2604823d7586fdd37cb250e596d1e160567278c7d30b93c4e9ee07e4aec5c658cc25ec81d9f9a767c6685986836ed76b4209c2572074cdc0ca37c488168c28898a74a90d0fcb16cb313ea8dbb93ac933d2b5fed79494baa144795f3ab039846b840cc555cc36bc46cab4fd3d43db63477b5f2a59bf028f879fe6bd2c87a2f28e320cfe66d0960cdb5d5ef65401559b184b0a6c8e7d1f7b2d05ed0411074c225d13c93f0882e77443a496e3d1bfbfbbf28164f742075e31ce09b93f90398b029f3e80ce7c7cea584e83e3e3fdc2bbbef3b1a945fce8a9946d94e08f0e185f546177418780ecdaa5b751783350c369585d663ebcca0889a99cd18609c139e8ff8218ded12d9ec5e4b979]\n[e = 010001]\n[keysize = 4096]\n[n = 00a73eaddc457681b5c577e343aefd4f2e39dfc22e2f524cb1fb83561832c739894e1e0ba83f9f3f3775e2df7c8c707591093348eafcd66f3cff8c81aa24d2bf47ebde8681176fbec469d8d1f3e3e56bb0661bbe6b125c9cf538f8f6ace4fc95e8c024fbf011486549fbf93f0cd4d1ac742fe7fec14e2ab5a9fc552dcda3ff0699b4c4e9c6db2ce8673247be236d39cef8a0c70f309f9c766440117042a9677c0dd1780de11086ad38a445cc8177d405d502e5f81a8c9e73c4cb8ed950762a5b538738ba53c434dea0f78d9034d7eac88a89f2d751c9fe187e949defb2943f732ecc06a09818f1ba5a411eafc3aa21faf96f7c7cced82d3e24eed257ce03ed1aae25f172267e5d7641a27d56a654655475916d88f96b529982d896e7d11d7a8d9af6ac3c1b1d3fa67db2886d81080c1e214b8f6506683f8cc3c9948f0021c7b429df6d33b98ce6f5d1b8fd2769a5a808a94859480b3bcb9592e210a32e86768345952d4df6fccdde74ecbc4a31885957bccba8975fceefd1a9aa4c349f9ea07948136ed77474bd08301798914a6f116912bce8cd98100ba1ffba2382d040b08e010db24ac7b34b1f6bf2af74e81c72d96e08be8bd4956e87fda8885995a14a3d4422e3846711811bf800ba4a23b3c5b10162d6e0b4f186ace5c7ba86286eef6dae7bbcaaa5d7b69c673067d0407fb4f8d5ab6dd359e339ca1bf3102f87280d121b]\n[privateKeyPkcs8 = 30820944020100300d06092a864886f70d01010105000482092e3082092a0201000282020100a73eaddc457681b5c577e343aefd4f2e39dfc22e2f524cb1fb83561832c739894e1e0ba83f9f3f3775e2df7c8c707591093348eafcd66f3cff8c81aa24d2bf47ebde8681176fbec469d8d1f3e3e56bb0661bbe6b125c9cf538f8f6ace4fc95e8c024fbf011486549fbf93f0cd4d1ac742fe7fec14e2ab5a9fc552dcda3ff0699b4c4e9c6db2ce8673247be236d39cef8a0c70f309f9c766440117042a9677c0dd1780de11086ad38a445cc8177d405d502e5f81a8c9e73c4cb8ed950762a5b538738ba53c434dea0f78d9034d7eac88a89f2d751c9fe187e949defb2943f732ecc06a09818f1ba5a411eafc3aa21faf96f7c7cced82d3e24eed257ce03ed1aae25f172267e5d7641a27d56a654655475916d88f96b529982d896e7d11d7a8d9af6ac3c1b1d3fa67db2886d81080c1e214b8f6506683f8cc3c9948f0021c7b429df6d33b98ce6f5d1b8fd2769a5a808a94859480b3bcb9592e210a32e86768345952d4df6fccdde74ecbc4a31885957bccba8975fceefd1a9aa4c349f9ea07948136ed77474bd08301798914a6f116912bce8cd98100ba1ffba2382d040b08e010db24ac7b34b1f6bf2af74e81c72d96e08be8bd4956e87fda8885995a14a3d4422e3846711811bf800ba4a23b3c5b10162d6e0b4f186ace5c7ba86286eef6dae7bbcaaa5d7b69c673067d0407fb4f8d5ab6dd359e339ca1bf3102f87280d121b02030100010282020100a49f18c9b202254943f76f57871ec5dacd92c7f368170d71400e1627b98bcac1b187f79784107f4c5b18973d648ba9ddba7da5afd0724e8a6f4ce1b1158ff0429e14aab6d4d7e4a23741f9dfa49a85b6dbbb4162e96f09fc8338e4ae68b38be7cf82580f05240ab79973ccb117a6cfa68a2544e907c5188e1ad7c93f1ac703bb366981678104223aba0e4e4556d5493a0820087ea70d7ea7cd3c9d10b0e930fdf50ac4369e6ac284f785d0f83b7812c98a91ccf66d25e6f4761dc520e33f6c27baf986c6bf61ff25d8a69aa4b947dc6029cb4450b8900992473d72dc87fa30a986a09b613b646d373bd435d4565a1e4d7a84c1e1647e9c2604823d7586fdd37cb250e596d1e160567278c7d30b93c4e9ee07e4aec5c658cc25ec81d9f9a767c6685986836ed76b4209c2572074cdc0ca37c488168c28898a74a90d0fcb16cb313ea8dbb93ac933d2b5fed79494baa144795f3ab039846b840cc555cc36bc46cab4fd3d43db63477b5f2a59bf028f879fe6bd2c87a2f28e320cfe66d0960cdb5d5ef65401559b184b0a6c8e7d1f7b2d05ed0411074c225d13c93f0882e77443a496e3d1bfbfbbf28164f742075e31ce09b93f90398b029f3e80ce7c7cea584e83e3e3fdc2bbbef3b1a945fce8a9946d94e08f0e185f546177418780ecdaa5b751783350c369585d663ebcca0889a99cd18609c139e8ff8218ded12d9ec5e4b9790282010100d4bf92c10172e275fb684c1b8def1d35697b9a36aea01d322fe91eaf8424a1f96303220fe5baad6bbac63fc76edbc4ce4952a771a9827ba16782b8f65dda91d98186b51b928407010b8a3fa6911133ecdfc2ae99f3e34246f4e3e1ebc50d3587bd9dcd7fc4158d03425be339e7ba674c2252d0d7b80552e30403e1377dcdb1744960eb9466e6f8049c2d18397fdfc11f2dcd32f2ba47049e74351792502828113039afb5dbc06a4bc1a39c8ce6ce862adbdab24ce8ea8528a54f1d56b6329ea22bf11407cbe49bb71a0b60400e85f94b59ca78237685decefb42965a93faae196ef4424372f2a407ea9e5ef98135dbe09a632faf892f0d00513db11da4c24f350282010100c93ee3b614c38d039fd0a8eb50588dc386027864350308e2155c20c4b11ced90851bca47430c5f27094304b540d3a7df25e0f996651c6bf8ce1197555e11eda404a247931322c9e0946cf75c3baf768e7bb59ac4231902929d789f0bf302caf83d0cb379c342f8d0750192a06a721039bea9412837d457c3899bd7a4a2b25a524111acf80767d6124590d4031abe0fb6b902b6bfb66cb688061061bbdbb7b9b40f02f06288c603cf82e899f952b9d44c4d373e9d162ec08af41172547cc9e3f1d3ee143ae630008bf6d91d0009a974be1224f76f31054124ba5a814718c528b392b6eb42b48831d32580e578cea2f64ad1313728626cf4058d543b72ec88760f0282010100b172e4ae154e44b351b209a105fec667118765f66c2ae28f44c4f5b241cee847019dd06060261795fea072fc1e6c323839923655a8a44c083135289f5d62fc39e63e7c7af5f7277c68aab43273575cef1b27dfc84b5367a9958329a224a6c2da687ee1b3cad28ade880fea7416e3345b9d59641639c83efd5910ff5df0918b8cc9d38c4b2895479358cc88231594851943739f2633d71e7427cb4cd0de08d07a9db5cfe828d5d21343fcfa8bcfcbbcbeacc839e5ca742a02dff7202a7e27b486e18de03e2c838e99e7a04b74c2685ea9c9c805f2d65e0c9ca9983d9e694532c7c5f2f7fe18376837ae2ad05eddb615a2be4332b7fffd7da3a11f8ac685f1086d02820100155b5a39198d032b0e4bcb91656e7064fe94c68803e4358e20ac2d421275ba746adbdf249ee5f2372751786f6fd8c668f511220ba6e154480c3e6bac0096b07c868d5e412a77b7aae0b58baebb1accdf241bcab7e3eda48b40b0eb580e4b0e95378d60829c893ff487664a5441d7a70729c7b685791f4ccd108e7c5d19730a08cea4fc9139dff824ea430b6ce4eaa4aa448a1830d2404942b83a06d533e5148d1a46ba920a67d141b567cfe758b325e78f0e3cd3d8e5cf432fd1a62b772ec9c50133b3ebe83fd1df08ac53da8c2bf29ab53c3d120cc6bcfa13d8c4fd719082d843caabbee17fcea1d4ca10103905ac53964dbdc7c8623da7552f4a3bd1044e5b02820101009556dadb2996a83cb66bb15cf3c1e4ca20758a73b0ae4163cd9d517c4e68ca164addd787d353f17c4f1b52f6b37b428aeaaa79dec42ec4df740975712bb1fb8266e1f5192f0740af79d9b2af6795a97337c8f618b919c09ef08ea11c795aa66e042eae587a57e309f44afb4eb1b91d6cfae9709e1710005df9fe4e1492d51298ec3eb2b3b7a4fc42fd04bf8a97e734d6c278890e3604076567febea18ba0ac6008ceb5c9229e0a1ef8afa0fc56d7c8e462760a5f9de59a06fd76df1e8bf3aa984690d3eb1e4ff2b230f5e4bdc76a04b5f4761d69786ec231fb04af2be1d68f61deadd1e298da70aa658e524f7d55bac35ffac25decdea3850107c04df1c395de]\n\n# tcId = 48\n# edge case for Montgomery reduction (2048 bit)\nct = 00fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nmsg = e4cd51fe2b40a7b655fd12c64d60ffff332eae14b6f99e8614c782810a55e196714e33862a7818999f99959d3872b5f4d6cfe077482fb2c5bc415d66f1010ae72623cedd17854197a49ed8a033ba2ea815c36b15263047f541151bb72273e5f2df129e06d40fc024f854bad90b3e4a2dfd08b3dcc0df0af588b710613c6bdadcccb1cd380c82c6dbcccde6a967c7478655f35af62e651c4c47cc998566af612d4daa6861e873d2620d13050307a78bdcd338236957fdb58aa84b0417bd6428372ccc903481e8f15778294369fb6e3874bc510f8e7ced222765849cb9f50fa4c9824bc83b9096ab55cde2324ecdb148799141e33b1a2fddde5436cec5cb0f13deffc6bdc42e5365f1e37c023ad6c5d7c88febdd3273a5ece731ec3182c70a1b\nresult = valid\n\n[d = 00906a4f89ce78796be2883be6d04949c4fa152e9bbe0626aec5d284c51da5276ec3afa504a43ec1039d55884356d1fa81f7645030b16f2a03c6f09b8d8a7b8a2221499ec4eaadd0f0e1c614ba19656bb897b6fd2687063e357a5ba380198edfa0575adabddef7683da028c45ffbcd587876ff0ea94239efd2232e4f90eba25b4c0706f4253b7c4f970fc78908e906160881359b3394cd8579adb1eca903ae7f768cd146404abea80749806eca5f7a542e09dd28427b10b6058d4713a905fa55234f45b91b86cb00fd16ff3ddf5d4b00403978df862ad8261e63bd8f67f06d3b8bdd2448954fbe105d026ba8b612cdb42ced0f090bbfee266fc546ecbda01a1d6f86728e911ea56b8130bade0d08deca44c428f8bf26eb496e2b37596365c36b63e468186c08fef97b95d7a8d441ce9cfe5c370e184ba911a4aaab53164b1da6ecea41bbb786c07f928c9cd5be6457a7329e5a56c402cc16b258586816ff27a29a6a73bec5e3797105c5211fe7a50ec012c4c18321211b36b2bce8e41d9628b50c6c30ebff879f414c4d750b0756095b6bcc6faafb9de04e74a689eca4a9bd993b7c42a01bb571395679fb2f6107a4266fc07d1bd2868e1c260fec792e05a2fd2a84c6d7b09cff40402fbc984b7c975c28fcddc2c0e4cdf20719f81a1ad74b918bee8fc633ae2906fe570d061ec8955e51d7180f4c3fcf9a50896e3e2fcfb2eba1]\n[e = 010001]\n[keysize = 4096]\n[n = 00d5e217213c64a36bfddf2a73b1701693473bdcfe51f6bc7995925cd99b2d6cf997389fa644812dc4c8f0006bec4aaecb093d94b0d3e027b9fb50f472a6a189905aafe1a1836436e7c81605735fe2f7010e3049c21c74ba9aeb38661e55006205010adef4162d1bb61155ad02993be54282565bf3941d01d596bf3d3e45d898c403ed934052c298b6ab506fa22734c5d26596a19055a085e3383f3bec2b9e10432ddbacdd4ceb615bc480eb2c1725104c89c6732272643798db95ff6f027d5c179b1cc8915e92cab98dc48b81e0d4e162d98a6a8bbfba7da83fe428227a8c67fa43dc6b67c2538cd8aec338becadca119072ddf0d5a207206833052debef1b3c1a3213014bb3008ac81bc938a526b450d4995e829ec74a646eef321ae435417852a18368f5f2b50d4b5891c7ec5deab5615c0dcc67a6d3a2d710314d53179f8a56c8ad13906f73c36b63d7646ad2bc134f12672853b475298972ae401f2b0a0bbe086f6e77e8ed70b4e9d755f248aafabad3ee20a851035a9704e498542c22c4d7648d1d664517b5b769d1c16a57318dcc17ba793646ed9060140a0d5402aa233ecb9b126ac0a287027eb95e6b2740e2f579a690797c724ae884f8db39583d205eb8c68aa7721ae69896a48b7819f3d7caee5a75cbd5c532e9da8f37fb944eb175036f8167020a952f75748c8ddf5db0a21b367507afb0e2fa2bd298923041505]\n[privateKeyPkcs8 = 30820943020100300d06092a864886f70d01010105000482092d308209290201000282020100d5e217213c64a36bfddf2a73b1701693473bdcfe51f6bc7995925cd99b2d6cf997389fa644812dc4c8f0006bec4aaecb093d94b0d3e027b9fb50f472a6a189905aafe1a1836436e7c81605735fe2f7010e3049c21c74ba9aeb38661e55006205010adef4162d1bb61155ad02993be54282565bf3941d01d596bf3d3e45d898c403ed934052c298b6ab506fa22734c5d26596a19055a085e3383f3bec2b9e10432ddbacdd4ceb615bc480eb2c1725104c89c6732272643798db95ff6f027d5c179b1cc8915e92cab98dc48b81e0d4e162d98a6a8bbfba7da83fe428227a8c67fa43dc6b67c2538cd8aec338becadca119072ddf0d5a207206833052debef1b3c1a3213014bb3008ac81bc938a526b450d4995e829ec74a646eef321ae435417852a18368f5f2b50d4b5891c7ec5deab5615c0dcc67a6d3a2d710314d53179f8a56c8ad13906f73c36b63d7646ad2bc134f12672853b475298972ae401f2b0a0bbe086f6e77e8ed70b4e9d755f248aafabad3ee20a851035a9704e498542c22c4d7648d1d664517b5b769d1c16a57318dcc17ba793646ed9060140a0d5402aa233ecb9b126ac0a287027eb95e6b2740e2f579a690797c724ae884f8db39583d205eb8c68aa7721ae69896a48b7819f3d7caee5a75cbd5c532e9da8f37fb944eb175036f8167020a952f75748c8ddf5db0a21b367507afb0e2fa2bd29892304150502030100010282020100906a4f89ce78796be2883be6d04949c4fa152e9bbe0626aec5d284c51da5276ec3afa504a43ec1039d55884356d1fa81f7645030b16f2a03c6f09b8d8a7b8a2221499ec4eaadd0f0e1c614ba19656bb897b6fd2687063e357a5ba380198edfa0575adabddef7683da028c45ffbcd587876ff0ea94239efd2232e4f90eba25b4c0706f4253b7c4f970fc78908e906160881359b3394cd8579adb1eca903ae7f768cd146404abea80749806eca5f7a542e09dd28427b10b6058d4713a905fa55234f45b91b86cb00fd16ff3ddf5d4b00403978df862ad8261e63bd8f67f06d3b8bdd2448954fbe105d026ba8b612cdb42ced0f090bbfee266fc546ecbda01a1d6f86728e911ea56b8130bade0d08deca44c428f8bf26eb496e2b37596365c36b63e468186c08fef97b95d7a8d441ce9cfe5c370e184ba911a4aaab53164b1da6ecea41bbb786c07f928c9cd5be6457a7329e5a56c402cc16b258586816ff27a29a6a73bec5e3797105c5211fe7a50ec012c4c18321211b36b2bce8e41d9628b50c6c30ebff879f414c4d750b0756095b6bcc6faafb9de04e74a689eca4a9bd993b7c42a01bb571395679fb2f6107a4266fc07d1bd2868e1c260fec792e05a2fd2a84c6d7b09cff40402fbc984b7c975c28fcddc2c0e4cdf20719f81a1ad74b918bee8fc633ae2906fe570d061ec8955e51d7180f4c3fcf9a50896e3e2fcfb2eba10282010100f5aa628cd98ca7a9ee7dda8aede1259e8b3532538f693c1dba20f9a60eedd050f59b1f020bdbbac10e22c42e2646730a5991e3d249bdb3e8bfae6b50c784ddf23940ccd5f804d8bee3931f84826594da27984dfb5368f8f33e340e7fd2faa7b8dd10b5180c6b8f2d3c5c7604125909fa8053dd8224296f6bf1fc5ef2ac66225f2b1276e3803cb2c60c383cc28c842268ecfaf59bd4c25ff46fe8aa437dcbaf8701d31f5c9d301f52a97367629849bf7dfd806e7a0f96cc9a5e9da813ec54db446ec244aad44f6086d873b148e8f778256d32ce618f3188c9a39321691e6f0a6ba7ce6b7bf92e6a356abaa76fb120e2fc2c0e2a0128bea24c242b499a24311d090282010100dee16f69df5819ef82fb876fc23cc1bb8b9462526062c9473bc413d95981b8de8d0377225085ba1a87d59cfdc52a10c1190b778f7d2cd8da7230f98d37bf8885c7a3fa120a3e4b44b438b7457499399e54f77d7bdb26f38a6dc7dc9350e60816709932c0eded5c27a576d58c2e82964115327a16f3f27a9ae443461bd6d274563f0e405598169b380564f4d2f4569297f41db3d9f29cc0af0173874b37e532f14a2e935382bda624e2b9098aac8ee64fb44f835289cf90c4495635014ae9f4205be49ae90a79b0f2ca9f2d62272e104d9e4daf30e771babd4e17356b904c5be8ca0a12a4b3ca6ba44f1a08dd1a2221db66854c1850ab49b405cfae169113331d0282010100bc9277676aaebf1c7fc6f7746138cbe9b12dba5dcddd9799b20011e1d7dfd061f4c587bdc86078302cab9f2f558e0a4c4d88e0f9d044dfceaf243198262ee537439f6c1c6a6f3df8f9333ba4397bc410d907de042778927014b55cd3dd9d2e15870b8616d9a1ce9b8893e8bb2362597881fcde314194d4c46551b5884db1707ce0d121956c202b923e5b04b8c9a7bbca12ee688d9f793cb2a31c5365cf3004a27b5215e6bf79eaf146c520fcdbacf062c3ae4c1f41cc1d6df966c757d3b72740964c64ed445f51d6f05b8e204b437a643038299755954e4c89552cf645b832a5847fbc9dc31e4fc4851295e7f46d2c0f29ba0da02a287ae83b7346e21d19de1102820100657a40eef468b98e4a95d949722795919d7096ffa8b0f1b1c42d77581b9fab9b709ae650325760af99af11c69d5194c54670e923e4bb5994c42f36402ce4c0f5203bb1ad2b0ac7dc652df98bdf15b09d3d545dc6d9b637668cab55eba106cb21e46c6c26596e1bea5534f0efdd714996225f942505371ec98d2a702e56b605900b2fa2ed15cd1d28f993c8c08fcd26fb96833b92fd1a8fc45ea5ca30de2735f5946ff6562c8dcaaabaabc30367a3bc8b07aeb83d094fff3acfa53786fa23e12a268cc4575c94a19339dc159ebdf6042842ee5dd8a75829cced5435d75ea0d5abfce96f299c4e8a8a0a15f17931dfde88757a357650ac5c6761c9f81a803d3ca502820100083b6e77dc2386a360221aa7832a165066f64cde7eccc7a162f5243673382bbc0a3c528fed8d2a49d229d4d4ea3364e98c494521e672ef8158d5ae30aa81dfe2914d9f850750665e299c1e9ce984550e0b3b1a57fc5b1548d4d38b8249a70fa98d855a7bc8d1887b1eee39786d5e16f59c911378f6cbfda1a895518d13df2e657902f2eb3195a6b063267bd2f806fca167048667cbe62394331a34fb5eac994529584270caa24980441f73837a6feda70df2522b1df779286c30d79102fc18d06607059940f41d969e9b25d412d236ae3e687bd7cd83dd560117c94f328fcfa325fce9794571d3f9bba103bef6efd8779701c4492431dea8301ae99c4d6a9580]\n\n# tcId = 49\n# edge case for Montgomery reduction (2048 bit)\nct = d4e217213c64", + "a36bfddf2a73b1701693473bdcfe51f6bc7995925cd99b2d6cf997389fa644812dc4c8f0006bec4aaecb093d94b0d3e027b9fb50f472a6a189905aafe1a1836436e7c81605735fe2f7010e3049c21c74ba9aeb38661e55006205010adef4162d1bb61155ad02993be54282565bf3941d01d596bf3d3e45d898c403ed934052c298b6ab506fa22734c5d26596a19055a085e3383f3bec2b9e10432ddbacdd4ceb615bc480eb2c1725104c89c6732272643798db95ff6f027d5c179b1cc8915e92cab98dc48b81e0d4e162d98a6a8bbfba7da83fe428227a8c67fa43dc6b67c2538cd8aec338becadca119072ddf0d5a207206833052debef1b3c2a3213014bb3008ac81bc938a526b450d4995e829ec74a646eef321ae435417852a18368f5f2b50d4b5891c7ec5deab5615c0dcc67a6d3a2d710314d53179f8a56c8ad13906f73c36b63d7646ad2bc134f12672853b475298972ae401f2b0a0bbe086f6e77e8ed70b4e9d755f248aafabad3ee20a851035a9704e498542c22c4d7648d1d664517b5b769d1c16a57318dcc17ba793646ed9060140a0d5402aa233ecb9b126ac0a287027eb95e6b2740e2f579a690797c724ae884f8db39583d205eb8c68aa7721ae69896a48b7819f3d7caee5a75cbd5c532e9da8f37fb944eb175036f8167020a952f75748c8ddf5db0a21b367507afb0e2fa2bd298923041505\nmsg = 13132ded3a26b6a5efe4579360e9a7e724e96fc6eb99469ca965b1825aa1c98979ee28b9afacf4eb619ee91b229827f505ac21915bc4ac1b5040af9a901812da4d2e298d5b51a7c704d8051927a5bdaedea7953f7fa17433921cbe30e7802cbd0359b09e6b2040fb10694d4c57e203ebc701011f156bd2e0175c274f9ca68445a10edc7107035280c58bf9bf84a8ee002603f34c8e1dc3e9f736ac9ae5480479027dd38314e030aea478c74bdf92f3ed4c63e9de857edb90b3cb492addbc1d616780bef69e8f312b3b2fc84a180e3a41110d6d9aa0d65de7853d7c3b1620a544d04562455e10e3cea6c19c2c22487df463e5a847eea8d5475be3c5397ed54409fc502a41ac5625e5b375e877a8ec169b7466f545308124f9c62237a899f9d5129e69de96869a43cc3295dbeacbfaa6cc7629e40dde21195f940b5e314f1108ad1aeeaef1bc897626112ede381114a09e0ee4070166ddf987485abc92ada2e7aab699288d91fe0a9c7787ead21fd7c075cc18f5514aee82b3f02651b99c9f8b9c865889d07732ed8b73b2ff9f0a6d3cc4c58585e4386cb902b18f3fd2e54237395c7f8d32\nresult = valid\n\n[d = 404b8cbb6dde987454c0b2536ec665b2d764985cd1c2fd15e5f7c99a99382fc4e79ab3e44ad7b9f5f5663ff1575ba234f220e471d313fec70ab7ed8a7c343ab42d877ef57e57a4cfafc9773c09eae8f57f06012c49bbac2e69a445943028d36b1d4e806c75eb6e9bf49a958dbe118c0454a2e8e9a4ec27400f337c32b396602e5ca4f44c42425b6bb8370cad50db917159502d67d855e81b9cd2539dcc29b25a82c2a61e9837825522cb11d45c1bac404c78f6dc80f19132fd23efb6a696a78cf453749a1a41f22a96141891bea51dc30651889b3cf9e3884ff0815c6b784f2a6344b86f48e64053316a363438b3c551e4d43865cd1e3447a375ccc633bccc33feadf357b2f2ff0c1c42c220ed877a2219a71501714a34c0dfbef2a158e4f3b6003e1f49113af10116465805d04282d72ee46a1ea65e3790a767ef3511dfb28936b6e4cbc8558e81cee23df0d568808fc7efe2bb41b098be7355ec0a0e5ddc217c3a56e2399bb1d00cf7b77c64b81a99262db3bda8a623e1cc8e21a6744133f32a265c195349227f17286fa1f2012de0d217630e4bafa0c118b8c51157413ae9f502d848b1586ac6bba0f6a0cf2edc07f3cf89751edc767304ca307c99669b04481a3103abf2e669041d4ccf40125834b9e0de1c9b098e29e2160690b57e6467ca025d0829dc65de87e4bbed2453c3b979a7bd865456ce4b4c195b9c69e0f9f9]\n[e = 010001]\n[keysize = 4096]\n[n = 00c3fa33af7ef55f157535083a97bbc20dc0c52ade3913bd31143392d29c511e4a80c05aaad793f2662c5da5e9401a980119712d6860bfdbbed178269b04c258f221bd29c481d75765a6fa3ccfe65d6787fba8fd7dc1284d5e73988005f95216fa8b285f189d5aa046e7c0c75d72f2b398539f25d5534e8c797985ffe82f41ec50c872ca04d11ba1890ced78ea00d80eba2d8646fc82225e01e46c8b4e7f15486de2bf71234248c7523a2d5ef269fdca28a83a9e8a22d0b28e2aaf02c1e345ffe053d37b249329f9a5f76f7cd0299c7daf95c0f46069ca42ada92a0e9bb8db1c0c44cefa4c00af5f53ff28d29508159938427687f8bb377700b92360743678cd48731c2564c55ed6eab6b42a30aec647b9c3b1e82d09f414e885c1b9312c685be217e40856b1bf193fdf9c1a2dd7e8259f684430a9354dce1512e3ac17b3fe913adf32dd37b917e56b5200ffbed2b2c2736d9ff0a2fcb1ce5b5a5e121645b833f449eb5fd3ec5aed85f01e2640782e273949a519d676cbdbb4e60d96905d3337ab4237df8cacf4896e226e4a9e0098a1ed5d3599c044ad0d0a8093e4c32dcdca6118cca6e8f5db167f84a2b08e27c36395c91f1cf40b2e6f48f7ba98de5629a1b4a596224ea1bc9dc0f829c000d10a959a277b1bd24dbfeebd067aae5db904e42bd455f3909784c10950a8022a9a7fdba49188ca06d60a0d3436cfb627655562a7]\n[privateKeyPkcs8 = 30820941020100300d06092a864886f70d01010105000482092b308209270201000282020100c3fa33af7ef55f157535083a97bbc20dc0c52ade3913bd31143392d29c511e4a80c05aaad793f2662c5da5e9401a980119712d6860bfdbbed178269b04c258f221bd29c481d75765a6fa3ccfe65d6787fba8fd7dc1284d5e73988005f95216fa8b285f189d5aa046e7c0c75d72f2b398539f25d5534e8c797985ffe82f41ec50c872ca04d11ba1890ced78ea00d80eba2d8646fc82225e01e46c8b4e7f15486de2bf71234248c7523a2d5ef269fdca28a83a9e8a22d0b28e2aaf02c1e345ffe053d37b249329f9a5f76f7cd0299c7daf95c0f46069ca42ada92a0e9bb8db1c0c44cefa4c00af5f53ff28d29508159938427687f8bb377700b92360743678cd48731c2564c55ed6eab6b42a30aec647b9c3b1e82d09f414e885c1b9312c685be217e40856b1bf193fdf9c1a2dd7e8259f684430a9354dce1512e3ac17b3fe913adf32dd37b917e56b5200ffbed2b2c2736d9ff0a2fcb1ce5b5a5e121645b833f449eb5fd3ec5aed85f01e2640782e273949a519d676cbdbb4e60d96905d3337ab4237df8cacf4896e226e4a9e0098a1ed5d3599c044ad0d0a8093e4c32dcdca6118cca6e8f5db167f84a2b08e27c36395c91f1cf40b2e6f48f7ba98de5629a1b4a596224ea1bc9dc0f829c000d10a959a277b1bd24dbfeebd067aae5db904e42bd455f3909784c10950a8022a9a7fdba49188ca06d60a0d3436cfb627655562a7020301000102820200404b8cbb6dde987454c0b2536ec665b2d764985cd1c2fd15e5f7c99a99382fc4e79ab3e44ad7b9f5f5663ff1575ba234f220e471d313fec70ab7ed8a7c343ab42d877ef57e57a4cfafc9773c09eae8f57f06012c49bbac2e69a445943028d36b1d4e806c75eb6e9bf49a958dbe118c0454a2e8e9a4ec27400f337c32b396602e5ca4f44c42425b6bb8370cad50db917159502d67d855e81b9cd2539dcc29b25a82c2a61e9837825522cb11d45c1bac404c78f6dc80f19132fd23efb6a696a78cf453749a1a41f22a96141891bea51dc30651889b3cf9e3884ff0815c6b784f2a6344b86f48e64053316a363438b3c551e4d43865cd1e3447a375ccc633bccc33feadf357b2f2ff0c1c42c220ed877a2219a71501714a34c0dfbef2a158e4f3b6003e1f49113af10116465805d04282d72ee46a1ea65e3790a767ef3511dfb28936b6e4cbc8558e81cee23df0d568808fc7efe2bb41b098be7355ec0a0e5ddc217c3a56e2399bb1d00cf7b77c64b81a99262db3bda8a623e1cc8e21a6744133f32a265c195349227f17286fa1f2012de0d217630e4bafa0c118b8c51157413ae9f502d848b1586ac6bba0f6a0cf2edc07f3cf89751edc767304ca307c99669b04481a3103abf2e669041d4ccf40125834b9e0de1c9b098e29e2160690b57e6467ca025d0829dc65de87e4bbed2453c3b979a7bd865456ce4b4c195b9c69e0f9f90282010100e6e57c22f7a1688cd64e20c639b787b601e6f81469c49ecbbbca5d9854865c86a6a425ac893ac2360e12d832ddbe92d263dc417883d417e4b3422a3505148e415e81f909148c69afe08ff0178ddc1358263413dc3666b4e4890d6c463bb0799b4097655d7a63ff86641b289b9578d367d1fa2601101a61a2cc39a479e5b178d9df3fab897f245f5a533eed22abf0c801d00170cf764a14bbc3c3a6d9a9c21b7d63c1fbb6939d135bb425166bf35312a6c31cdd19ade329fdd6e7a60ea608671dafeecad352df4a10ca057e23222eb34b20d1b378abcbefb96e636350721e55a2cb71b0a70b1bf6de422938b971c2baccfc39b962215afcf85dc5f59add4b9ae30282010100d948d17511bab153c09f34f0040362294ffa208984d72cbb72aeb03c7da701803bd9080c708cfb342a944483bb234920a6aef4bce2b5c7c6ba6c19899c3f634042746fb49cbdfaf8c7c6470a8a5e3d2eba67d78c3fdf2079f8cddfffe5ee504e1a214da568ffff533a561db4eed8d1121f3a8871fd622355489bec69d01b49c5fdaff0ac667e8034acd7335a30019763149cef481862cc4af521e60a9ca0277cc6ed6f594648de95dc78dc3a9768ab6fc80abc4a84e65613673f7efcf52311c38f43c454f22d9b8e6e628a6ac997fa774ae3f090dd604b698ec80023ca9291f039070a1fd1b8caccd1f2ac9b2c83a4ba09f419095d43e8f40915a97a1e44d06d028201000e6b94a6266b09398a84d49d2cab9ea92a533f791ee5edb8f1a080d9eba57c8fd8467627e1662f0ceb3218188d2ac2c6aaffed82d650dfb123d4e507ecaa4cfc1e27e5e2c04ac8aaf84e65034393d40d744d5a542d7d9a9c8f46ac557292e1f565424f4d5840788bef229715a86f245cde8b4de6511824b2e32852725e7b07fe2b68319163c464c42260d2b490a2780b4cef5a194adcf3908a7864aa4164e30ca0b753be2257f4068d28a7ced422830eb12ed34c3044f8b166c38ee6694e2b0a7a9b6245726e8994a4d954f862c121e77644427e2dd48dc339f6b1142c1c62e2c8ebefc96ef32f26d060fcaef040e623b938edb0083f437f4b73fa93d2704f5b028201007d447cf5484660ab4f56b9f751e8fd73a1d72b60fd03ec9718d3db68d46c2ef2560e96944d630a0416342a97e390c13d20bba6ff2a98f05702ed05800f637ffdf1121dc07bc90f62d411dcad17fea2b948e04b2561416b00c6cf323fdeb898f59e1ceb1ddcbe11de52b88921e1bd8033396bce742147ade5221a3a9efa4a712ac349e6b00ddb0a60d3f0b17b6247d89657b0ee469b40825508a40572c2bf96645a6f528d9e76ae54a9a9c815c36aa5c3a9097f6a5ada4c6f9d4bbf1368e451fe739ef7169e146b251f40925a6464c912734b9c4a784666d3b16c5ea043ce6272a2fe0af933389d3a9e23911d58f980437d2f8c2b9", + "8e868ea203eabd96a8ff3b502820100219a936223c79c519c04d44266f100ca61bdee7a6e8ee3d1fb8be9e079408f9c88867f6df7fd7b88929c2bf238d4f576c6e58cdf62a860e43db8bb4054409b64303156cb065061522a293a384d25b39d51a45eea64a4e2f8d1a032a85da7812025a93e851e7525a5fef5c8432aa7da3d5307c23a4da01b1582d5f7ab64b8de591c99a9fd58c5b3eb64c0b31d4d5d2b2ad573ed73dc45b4119ebb6c84800e778f0e7c2674ae74ecb6e92cf4d4a504617d4d1ae15769fdedfcec980e6cbc1821f91c871b52298fe2c02eaee5ccf55a4b2b69c1ce97f16d4991b05c402aa17abe5cc566d426a9753c94acc6f0b1b61cd5345c001c62a9d3ac7bad6e400e7371dcd1]\n\n# tcId = 50\n# edge case for Montgomery reduction over Z/nZ (32 bit)\nct = b3a0b2a130a10cb3f5f0cf83366c8d69868444af287f01f4e932d1788431e1f89dcbb568cc9fa6fa9cdd45a962af0c1491548fb82942a38f8c838767559fde8507f3b41d9f02fed4bda5432b2d17b2d850d4b9ca442c40b724eb4a08338e46695017639122c01951dea415392b5da519dd7f4eacabf7fa583a88031e393c467be3b76d56b982d08eae465639124e01680928a00c89c1d1b836a01a1fcab49dd68f7f26990adcb4f3c857e8de98ac36092b7d9b48b4a71c524e38e7f9b44b7dcd511fcc0594ff4db1438beb8f5edc1fc34e7ffdea468f6e9dbfda95fb640136de31b5d4426e03acfc9ce1b703e3df344f1e9441115e9c86aecdae806eec92d19bdf502f2af32163389c0329ba28704172916d0aac434c7f43163b1b42d90770ae2989768febd815fc268786a1c90fd9e2244322bb444148c44f2ba269c217171a69016d8bfc758aedb13590987ef9c0e8c6d704d24d7b7efa8a3542ea491ff80e8d20463fc9270288ba77b37e869166b4654db2d8e30fcf88377057771d8bf23e4b92ea9583abffdc434c47bac54358e42e7519d7832ae58c7ed1089f93926dbed6a454a8ede4bad2e23ec8eb7ddbc03bba064e08badaf90a2af002502b8bf18de40773bced68ec47fbde6f5336d8622e76f914ca03e38a991f82cb0b547734ae3c72b368dec28eb09759456a5b0cb5fb14a02c69bd383467d1349832ba0b17be\nmsg = 42cd728011ce4c27563b64b0950b3823bca0cf6da912836672f6069aa48be1144238c3bb2070bf4dd3acd2e4004151b2b88c4e12f60dcc3205b879569fa6d9b22cc9692cc3fdf8aa15e794d2f31fb3c0e9801b94920574407e94b78873ea4d6c4106c88af4095dae6bf94cfefe\nresult = valid\n\n[d = 6ab46b7e91bc3557102f887e2031f1f101cc4fb6c4da68360a21f4b176b5b3b5ab8d142bf7c8da9b79cb41b02b9b46e6f580d6152983b6d2ac7641d1fa4f5c9fc69156a5debf08e3a1c911bf20c948ba0ab2bee10ce6745c8824233662444d11b90906f6d8c72409c2db6f4a73b9975144e0320d7c527a1dd39297f91070231de2731b8283ec0fca0355e27a37de2c5ec285558b1d7ebe33bef24298f31186b913532462cf9b1c536b67f982f5b056e64810e0aef8c83039ea2775d6c8bd1d544d19a424d467a13841918acc0a059c3f69fe9b600574199f16a36574000ff1f901696b03220b823fac3e63a43de0a98f6a154b16e28c08bb95eeb85d2f4a4c24225244f1a4c3cbe11de5bddd63fc98c2f2e35d5afe8ab8a037732f7bf3d0a7f8090567048aa8294020eaa096e78be7359854261122d20db57b4cbebe91e3dd2ae5e21f0e66a4b043efe744edbdff34b323aa65a1a05fb9ed8a3df70a4f13985b06d49b9c3f27e8088496fc8d4d92c2728cb43fdbacb480284fc1764910b1653619690e2fd87c1d44560c5c7c70b15cc1e69c3b4bac100e2259569f30691bbf477d9fc0b4a97a28c2d12fedba1479f637e9bbe9ced92ba2d7757968a27f30ed2b956b212635200c78232641a48f1da24e8d573d1dc4763b058dceec6dedf31ba2744f1ca0c49ddf5845cf04cdd056d2495f2599108859a827193912a0a0dc761d]\n[e = 010001]\n[keysize = 4096]\n[n = 00a902751d279547db8e397b462bd11d9c59b1f10f11a252a61c6c50a02413d69160b9e7d70aad7c7a815cd20ed1d9000ea0ec445dd13e75c0ecd8368bd09da37307b5b06af1e7c822a9efd3025f77d879235d17e62fb93a77991a0cac9a1f69ddb97f58e680713a34f10dab03b6599e7f7da2e7516ace606ec20a2800cb630b8d21168d2918c8556b191348a470c77ed8805e63b3466d06914409e24f50bfe84eb62275b9e6aea8af9c494f34aa4321fa0aac6fc93785f2e8aefa2a65196f266c85d9766db2f97b95b9712b3d0a399722f086c2f811335d7325e92ba54874acc5a254cd438355eee80a6e82fecd8cee335018625339b6423c5d56d2fd2874239beda304e90f17cd60bc3f2858ae0ce24179a134127c5e19fbaf3f567dd4c9d723c60cb8390562779a75bdf906377032cb5ccd1cdc965097e3170d096871dad9d8c4762f7df764753401901c7484746538b976fe03abd293895e47c18b3b4748a9aa35000a2c6a2cf1f6d05ac38455f4ee909c136e486f0d43ce40acbaa0f0c214c08044d0e553492fa42a9ad3141bad2380fe6c2dca0d32b1761d16bd6f4d3b3dae628151dec993a55afdd93b31a66a7c86bc23d7fd03526ea2987d91dfca109c1b1c73fcf958527903a8c251f37d044b91007ad853f0c85efd8c111656c71fa7125a139cd5d8f398996991f5accf6997779927eb54f00107b1c78a0de711141d]\n[privateKeyPkcs8 = 30820942020100300d06092a864886f70d01010105000482092c308209280201000282020100a902751d279547db8e397b462bd11d9c59b1f10f11a252a61c6c50a02413d69160b9e7d70aad7c7a815cd20ed1d9000ea0ec445dd13e75c0ecd8368bd09da37307b5b06af1e7c822a9efd3025f77d879235d17e62fb93a77991a0cac9a1f69ddb97f58e680713a34f10dab03b6599e7f7da2e7516ace606ec20a2800cb630b8d21168d2918c8556b191348a470c77ed8805e63b3466d06914409e24f50bfe84eb62275b9e6aea8af9c494f34aa4321fa0aac6fc93785f2e8aefa2a65196f266c85d9766db2f97b95b9712b3d0a399722f086c2f811335d7325e92ba54874acc5a254cd438355eee80a6e82fecd8cee335018625339b6423c5d56d2fd2874239beda304e90f17cd60bc3f2858ae0ce24179a134127c5e19fbaf3f567dd4c9d723c60cb8390562779a75bdf906377032cb5ccd1cdc965097e3170d096871dad9d8c4762f7df764753401901c7484746538b976fe03abd293895e47c18b3b4748a9aa35000a2c6a2cf1f6d05ac38455f4ee909c136e486f0d43ce40acbaa0f0c214c08044d0e553492fa42a9ad3141bad2380fe6c2dca0d32b1761d16bd6f4d3b3dae628151dec993a55afdd93b31a66a7c86bc23d7fd03526ea2987d91dfca109c1b1c73fcf958527903a8c251f37d044b91007ad853f0c85efd8c111656c71fa7125a139cd5d8f398996991f5accf6997779927eb54f00107b1c78a0de711141d0203010001028202006ab46b7e91bc3557102f887e2031f1f101cc4fb6c4da68360a21f4b176b5b3b5ab8d142bf7c8da9b79cb41b02b9b46e6f580d6152983b6d2ac7641d1fa4f5c9fc69156a5debf08e3a1c911bf20c948ba0ab2bee10ce6745c8824233662444d11b90906f6d8c72409c2db6f4a73b9975144e0320d7c527a1dd39297f91070231de2731b8283ec0fca0355e27a37de2c5ec285558b1d7ebe33bef24298f31186b913532462cf9b1c536b67f982f5b056e64810e0aef8c83039ea2775d6c8bd1d544d19a424d467a13841918acc0a059c3f69fe9b600574199f16a36574000ff1f901696b03220b823fac3e63a43de0a98f6a154b16e28c08bb95eeb85d2f4a4c24225244f1a4c3cbe11de5bddd63fc98c2f2e35d5afe8ab8a037732f7bf3d0a7f8090567048aa8294020eaa096e78be7359854261122d20db57b4cbebe91e3dd2ae5e21f0e66a4b043efe744edbdff34b323aa65a1a05fb9ed8a3df70a4f13985b06d49b9c3f27e8088496fc8d4d92c2728cb43fdbacb480284fc1764910b1653619690e2fd87c1d44560c5c7c70b15cc1e69c3b4bac100e2259569f30691bbf477d9fc0b4a97a28c2d12fedba1479f637e9bbe9ced92ba2d7757968a27f30ed2b956b212635200c78232641a48f1da24e8d573d1dc4763b058dceec6dedf31ba2744f1ca0c49ddf5845cf04cdd056d2495f2599108859a827193912a0a0dc761d0282010100dbc901f7f03736289dc3878af3bc7f9fd88791f7d837dff586087ebc3c3724f3b4ce056852c2204d290a97bac483490b77b98f712ed6bb1e5b0ab1ed211cad3139ad79cafb7dd2340b9227355606305e128fe6e984afdbb1a089be13dddc4697a6fe12b9e04b34be62e0c6accd56fdddb1890eaf2fffc1b421633b601ae5f6197602bb8a7a3f26bbb56cae998f5ab8979541a054ad4ff8750363e1fbbbc35db17aabcedb8264c2c793378e3afb74c031239e42d233109612b6c8e8d21193608dcda362f88210882139bd6bd947b584e0035746a7636369e289f93f8a65a91d4f4a5697b498be3f74436925c56b1287de0b159677dfe70e04137ccc95f48a548b0282010100c4dba17f39c82aa4d51b17fa1eda60324d680eeb44948f00c8b4ec113d52be03576d7c046795fda027b1069eeac4e0e169a8d15d11d0cfb5e907d77a064ab7deb15db96d3bc4d66f4eb9915b7ff1d7dc76663e6ecf4a4cff615c5fe2db7a9d80b8c7e78f861c636d0b9096a13a97e3ac84614fcb9ee3ca902d4be175815b12e9a2b5c42b7b680b5c327f6b1270b718b86bf7fb58ac822a40a8980d84b6cf7c47b98987a6df44cf1a69d522da6ebb0cb974547e9d0c8f8d3cfa59e5b0358a50b925aade50136223201a103b7298cbdcf773380d8f36b9af0482d710e578c5fecb548de4e07433ae4e8308fce29be0ef8ea9aaa3498ff5ac72538ed76b3162c6f7028201003d42a2bcd404dfa0a490aa880d75ddf0d4eebcbde35377a63cccc35e7e3e349b852ae390f7784a7e9750ef87cc5c7790adb7580709322b07c4029023735645e3f19aabd6eb105ff5c7bfde13dcbd6edfd9b6a87b3053c01d9b8ca9216a768a6a9cce36b3fe9397c8f55087b004b019a4a0667e645031ae7121d941e480bad644b483007911a7e688ed81b48cf2cb2ba67ca0c52ab5001455b13336faee93feda8841b92fb0019bd4faf0c24128739b5a56fe36cbd615ea6e9eea1312f2792cb179beefc82aa0a700f3d21b6c7db357ad04e15fbd2a53bc60bb6a70ce879582a8e6248ab678d8966136a4e93544a9ee9af265fb01c0b3eb5131895890f78f530f02820100376db40253adb5bc25b8f43e5bf3970472e12ada39bc2eabc4d79464a244aaf5dbe71af54e8960197933922eaae1f683e1b1440a159b1af1188539b9c50dc2c9f45cf479fa4b49299c1c09fe9e7ee50dd154a69da2c643f9e05b17309425e93536522b343149cb01083195081eac67d1ca906fdc6087b92071709d31edd34bf6f6f6811ed12791934b30af6048d67522705c29ac651e5d7149474eff204e39ab2465c2094d725d720d7c92ccb842f8a93b4513457b24ec5ad00f01ea6498e673cb545a3667cec91f1fd79435872a57b460ffd6698dba28ba7770c0f42bd66c10aa652d9db97a57c909823d5a3d13cfbf", + "f6abf2402345c461887f7ece52e0822f0282010100d7a16f0698c2836b03e73ddb06e9bcae6d5794fcbf93379ee82f502de29c763f1b890590d597a7e9908a7048f9e458b6f50e6935ade4b88d50a399419bca330372fba243c8d2c56b64b77efaecd32e9ad862aa6147846e7a1f0993f1ec5c0a80d0d03b4c6e940a7ad92fe14b8007f923029a7c8f7d27f729e3558231de65aec201a797439217bd7b8b7e7b23fd750b12d807f3077b4a3deddd5fc121a6b689549caea17ff17a0131a38cf08344531e995ac94b3da08552b3a3f361f983b481afe778f9d8ec5522221a26bc037db039613baed46fd3ff50a3f843e7f32bccf31931aa9a9e49e10086bd236e8644dd647ea4948e5561bde0cef381da9965deda3b]\n\n# tcId = 51\n# edge case for Montgomery reduction over Z/nZ (32 bit)\nct = 89537d1445d907e879ce41e281e753689573b45b4220439a099f9ab67eb77cac905bd751355b71c8e2a34b37fab575eb367ba9ddaf4ff8c836ce408abd8e453e8138f0a25fb2d1d50edbb1ddf7bbd87576a35de32f7331826341027f33f6654abc20b6ca1b942953803fc7779706ea0a4ed1f114d899ef4fa81f5a50218e21b81a6a37eb58a68e5c5df7304e8ce5829b6c7df99f9250f8a24182c89c8c9d9451c260486cfb4960fb9cf167ff29baddd937ce3734703add103b45bb84e9cdf9fe0afaa7bfc60e35e8dc5eeda2d9dbf90183a52e26b4fdc62c221cbf175772b148f5f8c11ee4424c12e2ebd09f77455b90daff72bafa5a3193c0a88a04f479a43051b26d64297b245aba573bd6aa0afed1b5bc6a5e6f9041a5cecd7ce805e4a5d9f71bda664a8829632025bd03607874f7151c45de110c333654e78077c1b85dab47ef741d897a7e5116b8a9cbe2b2cc59f30ae444653fea95af9bb3c27724fff00c81eccdc65bd14c460f806bd9bb1e969460abcfe9017b4afd832bd4b1864bcde6ef0d64e2105b181878ffc78c951a69a94f54f4ccdde898cee57925fda0e5109f3ac08c1c275aa37629e3a50cd322a7995ad474a8cda86d440be64d39c3b68c927323ee6a3f5497595130a54f86560cb7ffe2ed27905ce87b536ab4ba5a572887fa0f5a6ebfd56ab568d19765fb07a78497df520b1b78779c32c365ab5ed321\nmsg = 877bbf215c28067ceee0793bef25642e3a77934182c98802a361a1ceffc112f1fe3f92e2765ead7adba3e1e8cfca7b36e47f8e8557069c29841fbc8e65a871296602cbaa0b49c27f2ea5\nresult = valid\n\n[d = 638fb70f0f29bcdba3299ee4a152b6953f032eec08a1db14f17459e5b450f5d9123b986c462352e56f024c6a01b282e2ce96ba5b919b6bcffca14ef5e40c7a816ed6881f8b8c0921712eba22b02bf3b2d54e277ce851e8ce8b368f01ade6d93cf3e3db5a2ae907f339ec018a751b5ed09c97b0ce39aaeed772738752e1bc9753c9485dd74c5db5700430aa6b07ef76782d2689ba13e3903aaa66e6c5c98386a33f9326ff275006251fbe38245b80a106e4ccbb999d09c607c1903a2c955cd17589dfe774f704ee94280525bd2026837d2f798dd8e5827a3b6350bb7c4eefe4bb303325e36c153e64b6766fa3123dfec604d709cc2d07a745ee34ca486ad0dd2bbfa62e685fb61047fc0de3efbddd42e307c318d1e39b2206cc0597a60cf39427e352cefb18be1928ecdafd7e1f39710fcef145694b0e8ceb82d060583e3bc294d07634bb27d5d5aba8cdabe385ad9ad8780dedf86944b58bb515dcd25e0a455a30f5da576883288fe672371b05b768b383cc1528b40c9043c2924fdc6210134f63869499e7381516678dcace0cb6928075348da8e0edd897b333721fcea58fa80f58506279553e1836537d50a2d6952c70def097393c315d17b3a75223d1d094357a7ef32c1b0a3ad3ea39c83856e2a4c1d530f0bca55949d35e89c58b5f0730215bf46268a2644e5d33d4d94f39ed23faf45393c2d63915debbc2a72115b401]\n[e = 010001]\n[keysize = 4096]\n[n = 008fba5109798c3e0f39b77e6d99e2905603e7952b8abde0138f2303be9f59dd40a84b65b73fa3c0656c3bd685688fc0c865773f7973f1983d212181353726d27574fc9f3c24d4e91481565fe4cf7685243df1cb4dc2cc7a1efdfcc978d965f5b69be3b5dea139e80076307e1467d5fa4549f3a5ac7d25c5e2eeba41618cb687962b9fd0e6abb3d0d85260ea60d8b004bc17c44f72276fef63855957038ddfad92c03c7cbf7dcd41d053bf37e5acd19dcf8f549381debfb8a429246489743a5e51f707e40ed552c749f6f65e0100cc77f957121046d84f200d28ae375bc2abd4877fdf486e43dffbfefd63d56c33638304570132f6032829ab836a69355143f33853d1088095f6080d4024125f378833674d1cfde085fad1b4e81227ee7b5f6a077ba9af4581dc475d05980484afa42ae2609b7b42dd453cbd7650158010adc7eeb420552290ba65fa71b59ee26c78e86db2937a839a05891e137cdb01a5b5d6e2ac0f61a54201fcfead824313697e773349fb83f614db4ce12cd300525f0f00ec7ccff220b4b9342c638db78b5d0b58f205e3e1510bf7ebc4b79ca64b63f8d55d4b8d584be35ed8470567bfa330975b08e23f5c6a305b22a3f5ff4930786b0e4bd1f66fa1a85e233f9112c8be4f38860372ab7738d24a1927f42f72a7a516d58fe0759c1e27ebb95588803c8fdbb4e4f6b5dbab2cd55e410e4d05c5b26d9789d1]\n[privateKeyPkcs8 = 30820941020100300d06092a864886f70d01010105000482092b3082092702010002820201008fba5109798c3e0f39b77e6d99e2905603e7952b8abde0138f2303be9f59dd40a84b65b73fa3c0656c3bd685688fc0c865773f7973f1983d212181353726d27574fc9f3c24d4e91481565fe4cf7685243df1cb4dc2cc7a1efdfcc978d965f5b69be3b5dea139e80076307e1467d5fa4549f3a5ac7d25c5e2eeba41618cb687962b9fd0e6abb3d0d85260ea60d8b004bc17c44f72276fef63855957038ddfad92c03c7cbf7dcd41d053bf37e5acd19dcf8f549381debfb8a429246489743a5e51f707e40ed552c749f6f65e0100cc77f957121046d84f200d28ae375bc2abd4877fdf486e43dffbfefd63d56c33638304570132f6032829ab836a69355143f33853d1088095f6080d4024125f378833674d1cfde085fad1b4e81227ee7b5f6a077ba9af4581dc475d05980484afa42ae2609b7b42dd453cbd7650158010adc7eeb420552290ba65fa71b59ee26c78e86db2937a839a05891e137cdb01a5b5d6e2ac0f61a54201fcfead824313697e773349fb83f614db4ce12cd300525f0f00ec7ccff220b4b9342c638db78b5d0b58f205e3e1510bf7ebc4b79ca64b63f8d55d4b8d584be35ed8470567bfa330975b08e23f5c6a305b22a3f5ff4930786b0e4bd1f66fa1a85e233f9112c8be4f38860372ab7738d24a1927f42f72a7a516d58fe0759c1e27ebb95588803c8fdbb4e4f6b5dbab2cd55e410e4d05c5b26d9789d1020301000102820200638fb70f0f29bcdba3299ee4a152b6953f032eec08a1db14f17459e5b450f5d9123b986c462352e56f024c6a01b282e2ce96ba5b919b6bcffca14ef5e40c7a816ed6881f8b8c0921712eba22b02bf3b2d54e277ce851e8ce8b368f01ade6d93cf3e3db5a2ae907f339ec018a751b5ed09c97b0ce39aaeed772738752e1bc9753c9485dd74c5db5700430aa6b07ef76782d2689ba13e3903aaa66e6c5c98386a33f9326ff275006251fbe38245b80a106e4ccbb999d09c607c1903a2c955cd17589dfe774f704ee94280525bd2026837d2f798dd8e5827a3b6350bb7c4eefe4bb303325e36c153e64b6766fa3123dfec604d709cc2d07a745ee34ca486ad0dd2bbfa62e685fb61047fc0de3efbddd42e307c318d1e39b2206cc0597a60cf39427e352cefb18be1928ecdafd7e1f39710fcef145694b0e8ceb82d060583e3bc294d07634bb27d5d5aba8cdabe385ad9ad8780dedf86944b58bb515dcd25e0a455a30f5da576883288fe672371b05b768b383cc1528b40c9043c2924fdc6210134f63869499e7381516678dcace0cb6928075348da8e0edd897b333721fcea58fa80f58506279553e1836537d50a2d6952c70def097393c315d17b3a75223d1d094357a7ef32c1b0a3ad3ea39c83856e2a4c1d530f0bca55949d35e89c58b5f0730215bf46268a2644e5d33d4d94f39ed23faf45393c2d63915debbc2a72115b4010282010100c92c664eab26ed6708df49eee9ad0a0aac0ebd23a32112941e016596df6da424dc0eefcdc6538856a60baeed45e9fce4552f2bcf46e119f4037fb5c581736a49476d5422a6a68b623de06e803bf0d8f407d13499225e0b6499c8e4f806066de5240f6e7ad162562ca89b7bcef52dbb12afecd3851f60395e6cfc1b70be6c9d7412c465c6b1887a95b2c833711bb12b856e2e233e90d856152a6da98470d153abff210024dd29c7459ded4a27501f99ddfccc0d070e259cc525ac9bbfa3c6fed146317e2aa78ce9fee97af2cf3af86e1c24d1010b5e8b851ca41cd6407c54c378cce7f61fac67e90c9573bb76f6315acc4234724c224ffb3e5ec56a299f4042310282010100b6e60311f461af483bf32430025af5c07e0f29c2493163e686d8a1583fa5a9a021918dfaf155bc7864df340e3bf989bb69fbb8442eea8667c841c77e91819218d96fadb9ee55c6d97d02268dbc8ab817b939f1b36f56067ac4186478840a056fc3c02488aca17ec421552e7a196c5d1ad0377cdcc522d0056c5624428d21cccc8564fe5bc5d965beb951b610abf2dd24307713acf6ce31a12f3845e5967f6220a4100be5b134d5337fb48af4e0c10fcacea655bf43cc5fde103b3986bcc6dcba38ae1a50d5175656df1ec48a692527e8b8f327f9e1499777519abdda6727fcb06e93eba2447f03e0afd1c49cc52672e374bed5db2bbdf658c1ba5256794139a1028201006a9616a289b5f7448703df253133d8452d4225de12d93c01b42023561b8cf8d1fab20346305523c05cfb85b3fb3ded1a81339bef976b3e97f59e9d8d467803114e41d3b90438eb52a2dc1d4fddf24ed084afc841765f03844aa29106041335f898f180249c799094dac47e85798bc0393772afe3316b8719cb7e8b7f61b5247b5252326662bb9fcf5ec909d05cceb2f3601c1bda535dfbc5fd13db23ebae4cb9ad542bc25c577d581a4395ed5c5b51e7b6bfda0b29e8adb61aaee85a5208e60bb53815d3bdb0406e2a0055538cb80186f1ceb6d1f246d3c10806ab51c14e1bbf0e39bc42add2e43c21970ef5099dbeb0c8470763e52e213cbb73b73ad4407491028201002a6b6e8adb834c8414637021326aa654dee7e5678a524a394d4d311ea6a465931e3604180fa132f539700b42c1e63e6b99492893a7cdfd1e54f3ecb10e4e5ef4247a2270dd3647c86995f61b297f82f2fda2d2cc2b26689a50a0d7ac9bf3370f94f71b821787dd3edffc41ab4ffa321de5ecf8a8bb90376f0a9170177f64377bb7f49489f479577fc4bb8ede8f02e5075fb63e79ff44137eaed4fe612166a9fba81190b0d548cbaa061479a611fab50ef49edf845cd529e6f71cc55adaadc4c3ec2175390a333f73268c9c48fdda0047999dcbc7c8d8a8a8a3e49fe3e7c8fe726d332193a10f5476e8505ea97d904d5533de8efb264a08b8cd35c9a304bc7c01028201004e825151a71ce03dc7f", + "e5721893973cd3cf83c4e306acc6515565e5faf3b92489118ae02c509282c1ed1c958bfe78f95f8f76ba8cf3df7b700451400c4b9b5e8a35f10a2d78c35a13f66f92b1475a534e35bc3ccf5ffecbcba863a33428e274e5572afe5013c4a651e8ece0f17f34e5f7db05747183606093adcf897e0de08a91a0267a2c5ad35f779ab59a2ff03f05aba085583b2b50b6ee74f69690ab30bd1ed8176740b185c03e21a4b32ccf493de6ba221a04b97fe417a372c9382696c5e92e44ec99607ff8b1102bd686736d6103952024fddc0eee2e05e7f0e8b5728691218e95425ef0e6fc35f902322e7d81a06528e5307b193f331a43b3744b7d863]\n\n# tcId = 52\n# edge case for Montgomery reduction over Z/nZ (64 bit)\nct = 399edf9546db86f846daf8a9d8447c622becae04b9b7335d04795993ddd16e532375498d57e38f831a7cbd7eda6d01a382329b2bf6be2b4635e96346f257447df09041abdc4d23995dc107033c0dafe20f2ce5fd08d63cdffc10bff02daafa56bbea0cc7dafef2d365eccd7acd0bc490f2a8f76e660ee8a410ffa3a3a9f995fc8698b7076d44d9b6f90561a9bbf93f3f5a02e8bc5eb231dcfd0776263c44387ba556c63e20c2f5d07ae20f50efbb9bc3af560ccc5a1b24a1dcaf3e31aa5175ae58a62ac6837df8987c78ad35efec276488777dc6054b7f9291d51ce59675757a67a3a7a23647848ad933ca2edf6d02832d915a7f6316bf88ffa5dbdc1d10853ec3dc08db19434091d3b49edde4556b8156a5c5706eff82c1ae5a51f8b92d0aed282c0f526c8a866dc2940da12d7f4602393f5b3b62e72e97b1d29d5f37398c12ef4513fd46f748774d0a29df9e63382cd3819c7312e9c06122a243076434d2a408ca766b82179a482f78b41bb5f0de44ee2464793ff46e12b3b0d6e39f183981e54a8009736db0941df0bd459ac0535f5e04851192f38f94db62a8d60aaab32fc9bee2056e95a7c62a6cee6250f61371b143f49ae981137aeeb7f521998ac24f1d51876f119f58e33be09ed7f3b89f34acbcc5410c1185c31a4e74b1d132bbfb77d71c3ccc5037d08c5c31588f6738e3acc585145cd518a5b19a39d31aad7de5\nmsg = f52b1ad4f7246c94e28a5b923d56ba2795ce95dd747b67636c8fa08b22303b954500f4fdcdc86d0b685666f51ec1c26ef6ae9003411b5626b6e6de118f822ab492fa0f985ec1bf7f8c90f32edfb49a149eda088a6753427c1ffc256cf3f80c9903ffbf26cfb2276e1391faa84f3f15774637e3370b8dd3c656041a833b4df08d82ee126b3f5a115545364b6f3cb41fcbfcc3061dad6dfec000b050bee2745aefa59380bf1f510d9ead7ad8063a1d024d02ac97d0f282fcc8199d19306859b4bb45c4480a2957855dd8de8ce379ba37251dc553e1985af2aa36b4d6b10c76d94b8a17c6cc64286957c0677c8a52a80bcfabc40f256c665bfbfcb1f43dd2568ab207f20c568521d881b78a1eb5f929b789788b37e626279591643897b30cb5be2833ea706b879bdfb65bc51b3ffe6680b0bb58fbd46a4768d7f61744ac9f4dd234bc7aa56aba322cde462129c05debd5efddefde23ed1f34c060a172879ac2baed4e370c63b5f1ef21ab313f2f4a664cb49e0ab51bc8174b3a69591a6e0f858aa20f25c5fa097fb84f2063a96f48b54cf9c2cf7d4fce238248e3f0d16884e3e6a1bdb5a9380268c6a24cbf8b77d53f0db08e60f1b8cf083a00810d4ad3b88b7e0ed06fddbbb4775f37a4222336b798071a7edb6ee7eb11ed89331904901f95eb7046e1560955dfea9d46b50b0af396a9de\nresult = valid\n\n[d = 00d7a8b9b7c68954f5e79e0dce16b5042967f5f32677d91ff959173494da3e80116f7ab9fcbd49ac6cc33b4b76be563b82ad84c89a162e471fe51913ab197f484e68006d1616d7704d6ceb97dab00e6ad928c102476da49f7fa066f662f1517966ac23d92e94719da7f66412e628e8471cd73f7c1271f072ff05639dfe0fbfbd8aaa6fe74d250c7484ea6c02e57512a7e46b8be2340d48e184f91f8695e91b2648ef80bccedcf52f4335ae79f82b847a9951d018a0b04787994a1df86e82f6f3847ebbe9cc0156bdc9890995fbee3bea8ee567da90cc14d13bc6397bfbafbc7b9cc160e042a61d15d27d9971f6d1393e1760f0f23a61347242cf60bfbb9dafe6d6a2d95022d42d5452d863fa91e5d85f3425193b717052c589a381357aaf467502a082ae2082f4181bed283312f783b5cccdcb94b40ea25831285551ec1cb495ef884f3f83702298b5edb615ce87d2b28259b9d7cf5581dd8b27d9d3c523083c316a7341f4b9a49ab156232d3dfbb0e45086b58e39c51d831cb9432764d2127a691805d9c4b7b4c07324b2fdb0205fefd065c2d90b92b8de4ff4b82764b7a531b8d9c25f46211470e7a0f5e646b8046636599ae64c322a034893ad0c72af5558b582cb5f615c136da2d21db8d9110f95f874faeb1268e7c8380b4219476fabbab3ae6c008a3dbc4e8985f5c57124da5613579f926aa3faa4443138e8cfdebf3c81]\n[e = 010001]\n[keysize = 4096]\n[n = 00d89d424b14b86af79319720c7283ef4ba134b669a1d5a82faeb51968a48c785751c82aa773a8874ea8253891adb0604536e537fddc6049a1015a7e92920eb256516a6cd0eefa60d1c93b679ad619f81eb62717025288e7284d3d7bf55bbb9dc9a867fa4c0323ba4b2899b63739ef9d966790d642f95b6bc8ba341e03719d9e9cd86e0d8c4a2d0c3f25fba86ef4cb81e939d159445c64e04a2e185b1bef1e1137742c5e399a91f066d8a569bd9acaca4155ea11c4c6474811e5d9d79f0e5596c50ff2592c3ce7434bfc4ef7dc5c1f7c368d55c07125f04ba5b1dd5b3bcf010c87553d86db3d0460dc8b88e9970d1ed1fcdb7f4255f421791f85194b9160f89c381ed14ca532fc4b1e2e507b01d82ac5b683678b34d903605db188b9103325433c71c398af2e49e30e8d7100b56e2a488e3275a3e4cf75465915a24ad7c67d466d10d56af9f297cf848350a270a75a3df8ca7f61d663153c277ddf3ef4f168cc7e451671de174a8c58be3d3ed333eee1c8af479c4fbf7869f534a9a8bae304a34938fe924a806ccaccb33f22fc1d3a3adeaddbe092ea5b3e2d870cedf41d4e398a586b9dfa920a0d24657e54d56b09f45dd2f4daac0ebef856877768b0a079c51b5f5a65dd95c754a46356d100a400643fcee3e879b011dc4fa52fcfb40cd639b555af10b4cd5ce5ffafd36c20aa86651d1bd54c4c88785429b86dd50d0761f84d]\n[privateKeyPkcs8 = 30820943020100300d06092a864886f70d01010105000482092d308209290201000282020100d89d424b14b86af79319720c7283ef4ba134b669a1d5a82faeb51968a48c785751c82aa773a8874ea8253891adb0604536e537fddc6049a1015a7e92920eb256516a6cd0eefa60d1c93b679ad619f81eb62717025288e7284d3d7bf55bbb9dc9a867fa4c0323ba4b2899b63739ef9d966790d642f95b6bc8ba341e03719d9e9cd86e0d8c4a2d0c3f25fba86ef4cb81e939d159445c64e04a2e185b1bef1e1137742c5e399a91f066d8a569bd9acaca4155ea11c4c6474811e5d9d79f0e5596c50ff2592c3ce7434bfc4ef7dc5c1f7c368d55c07125f04ba5b1dd5b3bcf010c87553d86db3d0460dc8b88e9970d1ed1fcdb7f4255f421791f85194b9160f89c381ed14ca532fc4b1e2e507b01d82ac5b683678b34d903605db188b9103325433c71c398af2e49e30e8d7100b56e2a488e3275a3e4cf75465915a24ad7c67d466d10d56af9f297cf848350a270a75a3df8ca7f61d663153c277ddf3ef4f168cc7e451671de174a8c58be3d3ed333eee1c8af479c4fbf7869f534a9a8bae304a34938fe924a806ccaccb33f22fc1d3a3adeaddbe092ea5b3e2d870cedf41d4e398a586b9dfa920a0d24657e54d56b09f45dd2f4daac0ebef856877768b0a079c51b5f5a65dd95c754a46356d100a400643fcee3e879b011dc4fa52fcfb40cd639b555af10b4cd5ce5ffafd36c20aa86651d1bd54c4c88785429b86dd50d0761f84d02030100010282020100d7a8b9b7c68954f5e79e0dce16b5042967f5f32677d91ff959173494da3e80116f7ab9fcbd49ac6cc33b4b76be563b82ad84c89a162e471fe51913ab197f484e68006d1616d7704d6ceb97dab00e6ad928c102476da49f7fa066f662f1517966ac23d92e94719da7f66412e628e8471cd73f7c1271f072ff05639dfe0fbfbd8aaa6fe74d250c7484ea6c02e57512a7e46b8be2340d48e184f91f8695e91b2648ef80bccedcf52f4335ae79f82b847a9951d018a0b04787994a1df86e82f6f3847ebbe9cc0156bdc9890995fbee3bea8ee567da90cc14d13bc6397bfbafbc7b9cc160e042a61d15d27d9971f6d1393e1760f0f23a61347242cf60bfbb9dafe6d6a2d95022d42d5452d863fa91e5d85f3425193b717052c589a381357aaf467502a082ae2082f4181bed283312f783b5cccdcb94b40ea25831285551ec1cb495ef884f3f83702298b5edb615ce87d2b28259b9d7cf5581dd8b27d9d3c523083c316a7341f4b9a49ab156232d3dfbb0e45086b58e39c51d831cb9432764d2127a691805d9c4b7b4c07324b2fdb0205fefd065c2d90b92b8de4ff4b82764b7a531b8d9c25f46211470e7a0f5e646b8046636599ae64c322a034893ad0c72af5558b582cb5f615c136da2d21db8d9110f95f874faeb1268e7c8380b4219476fabbab3ae6c008a3dbc4e8985f5c57124da5613579f926aa3faa4443138e8cfdebf3c810282010100fc21b5fdc6c74328d01ba96c69698fa6f87a6fd2d01170cbe3d7f3ea5fa1ccf1911acf489938413758e402a73e3efdfc42353aef940a7a7e94e208cbd2f6d43fb6592fd7fd6cb170bfd72835d50d2d2bdaa6bc2745862e5d03cd7002c3246ee05bcefdfcb923c763f9ec9c05a770cdf96cfc650099a0848a686eed160a009116f93ee7e2f31d23e45d1be4b0b396d691c434ad447379a651e2ef1482f7c666c0c9d277b73db6cee91f770aa609e368ef3b9edf709c36d1ce8872423fdd4b38d54ba70d49eaa1472568fb0aec1ecc4073e407220516cdd01e11d77f6d4f5de5b332a5d6a97796c2d469c5092bef9389f168ef6eb4815761840648a8c2e7b645070282010100dbf00c2f80fc3f93c3b0296254d9ccac77297ec72ef881191cdf002c561535f96f8431989c4520b5e9d4ce9da6ba461c686f3b220a7d59e6ce10c25addad2b1945a6024f5894ec43326a459b00e03c0886a61b4a3ec3356a082cb1922b73d3c9335617f1f5376350fb39e5d7cf1a235f595f18bd6e926f0b64862fdfa1ae85785c30b7cc0ce5b79331338e424145eaf4101f3b894d4e613555fdd95425de4ab26913b71dc9bcc2f484901cdfc9509c87130fec83cb75fca64a24090ffa84c53b4c11e0c021b6a674cf2aa3d73652bf32b38b2a97ed08179e9a863f6a3c7404c99a4fba657ceba11316596bf7f447dfe353c7f1e4a6ef72b6f00db7de5ee3b70b028201002fc52f571acf6c311264fb4fb815310b80aea9fb3642e7ad29c923c4b743cfb1c13d6422ac2d15662828633c4eb5dea769dfedffb07bdfc395efd19cd4a6c18624c577242436f0d39cf565fff512df091d0f543cd89658b874dcfaa8fb522ed3c171517c0d93f2d645670814a629e04caed28f4c72cf0fedad65bef3db074a7620d94354239dd4cc", + "12bc13334b837bb9f883c6845ea0a0db88f4a55d3f16cf271dd60baaa33dbcac3cb2f0488f3d1007abb329408bc8732dff7a2e852d277068314240694dd42ac7b2c145cb80f6500be51b58ddbff954c22dbd37be7d381c2a3ca1612f90a1f6de0a003401a80dbb280b2aba3de6f7a8593c5b8de607c2e807028201010090d18a2489690f2febed8602725e8b4f909329205c8452f547366b35c664e70a5c6c8dffaffe30a0b7dc61441b719212c88d5d4177e8bc16a6df102aa6c68c97726df21d6ef5787072b4d92a4c345a333efe0700273d8061560a9fcde080bf163f9053ea050e387e2d3e1d62b1c2c341d8662eb3252894a7cac434a7ab1d705325590adcf82d16687c40374ed70e03bc3b1565ad6dd2cb5d444707204a63098a5a7819de2a64f975ea07be8b7852750ed7f567460ce59ebb9c1c083f9634706e3013a18ac1683448bbd496d771b4a0a2f0e814debebbd259a3e3fbc3a714b9c649ae6fccbda9a5811cf93a87a538e26a1c538eaa81652f82d7a420caf26e3cab02820100147f57e7a57f9a387b9d8b32bd121a7d0ef04e3329c5caa9eee5d512b6b1a8f180918ce957d25d5f4795ef3780f28d318251ac5439519869569d5c3c682dff570a16599ebef2e3b157b2c17ccc051ebfb5b271d628169d0c451cb960a1a72f1c7483524ddee78e3006f75b48b1a0c9fe70f4db36afd39c83876969ce37a1b15d515a5f648b1c0f8f480e79906b59968de20fd5708ce229693066bc4023964fcef1d01974fef64d0ca36f60d2448aeed2ce27f4883df9c4ed6bbbaf69ee97b0160fb81978abeb9faa7e69838624e399df6fc54d5055bb5dccc9c94eb3e88792ab0c69a394781fb73f28241652d0859a2c5bfdf4ff04e969ba248ecd8d470cd3d8]\n\n# tcId = 53\n# edge case for Montgomery reduction over Z/nZ (64 bit)\nct = c819e79c697b2b28d7c88226f4eb0bd4717f7ed47e8565a1e2d55c1f6849b3366ec502d5492a261999e219b79285be7ee6109c1974e70fe3538fc3fbe8e9fc4ebd584be8e7ea926c8b9e2e0356fa241477aee94222d629e9907ecc95934346b6e613ff2d40259b85410123d93383a0f2d5c2d9cd8a1054ec8af48c44091785999eb84c611e00514ce75b8357b658c99ca8e7f3c76d269271d010724cf86c51069722957463d487eaa06eb1172e8ede17c39d44e85999559b15bd97a57a0a93373bdb9228879d72fded49706dcf1fc9e898e05921651a31c5cd5ff95d3fea45ebae5cc71ad50eb458a3a19c6f2f1f68508859d19631ebfd8e35cae36dfbf36ea08b8e30668c1000a4b376611b7ba3829389a8582311a19e3a1bbcadd0fc76a20f5caf8171e0ec98621748832a14c0a9da25e9af6a1dc6f205e2deb321357e9f4728a833e515127f5d1a256b0c1f95aa86577a0b96d70dda97818d90f816fecd691982bdf37e20f0c7a5e1fe23620369358ad7ef258b987082b4fc7ca3f892e3df4d5d8d0c0c37967632a9da0405116b29e5b7dfd70e821b538af9db14edef5bb6da7dede14e2caa6ffb2072d17a9e95a396cc6cd7a2cbcf60d8ba9bab067f670475c128d3049b71f5ef04faac70a2cfd727d60a4ea64196ce4a7b909b36e60979f9f175ee5f60c544580998b6c38b4e83179294d81e8328ea485b6670659ba6fe\nmsg = 20602d44c530d39be325a5df044325db22c79ec57ded8e0180dcaeb4b3a8d09c778b59d762ab57e802d455796be123c826566d021893382066529dc3275c5a14041d564c02ae0aa466d70f6f7ea77d9a702b6edcfe44e5e20351909d168a7324cd4005c16ce76c901350af73b7649d9f1a70b106bb374bef6cc456611a781cc7d53505cfdfc47e9cf3d380ba34402bdad7bf5d0781a773fa35182b86e6943e9b35b77133b8e4e98f18e0574be7e2f842fa45aea420cf7406c7be3c6d1a0a8741ef0ece425e70af85c26354636e309b6b2b305f0bec34f1e78a5075fd1b9281012fd1bf36ac1b8c8ba9feb69afc354e9403af5d29fa279167027748b18d4b8f1c679edd7204770a66e10f86624b74ceba939d3ac791fea1d0125b567b21a9175c1c0f924d949ef77abde808ac46ba6306e5073f76ecbd7538f745cee43a2938355a52d132077aa21a31e735238f2741529b574d569c77cb5b1817ed2fe3702902edd7f68bfe2c341419907ff7adc4afd920da3b\nresult = valid\n\n[d = 00af8d89c02f04949bbb13948ee805fe71de17cc7cf021d3e1da61dd4b788c158fcaedd5e12ce7330d50e8a9e2a36cfda0dc42f5cf12a523fc6ae516cc9eb0100326f7d2bb5fb67238f784221d7c803c915e31aa1d5144d371285fa4dcbcfa8f2c3eb74cf1f5390ecbf201da3443d93b63cd624b84ab3e425a69269f71a534a9aac9e8c1417e6ad8cbd36e6e5c2c4d9a72799045782fa9b0ce410e79048326a4a990ba90b646174bb6179724feed38902e0189b386cb1b0d2e16dc0b43720c1d06db4512135dfe72993db127b046a584b1b6a09765c936b535fd48d8bb72b1c69ec3067d8f3103c6b6e10bf60731cfefc1bc68c480cc148a4422c0a54f7277e8dc61b1be3a2634d5c092998ae87d8299ab11db50a7b59cea34e411d90b254e31fd7b8eb16df3d4ba5c7b86e0e742b3564df700001b14bd21398e5a6fec5e62dc4e92b013e607741c52bca3b17a0d42592a473fb9b2751eadfe306f87a4613f28d83de5e7797decede6363e5c6692ad7d30be778886abba841288685543b1fd2d7876c7ff1e250bb7cf4e920e7dd41329675bb0fa4dd05831705dea42d7b0fa9acacf56d1ada19777787c549f4eb40a0a0ceb3164638c913ddb59b74f113290bed406c82dda432c5986c39194e7e4315a149efd55747b65d3c7dd92d451cea362ab1e501d0ac5f69c00c3019923ddcf3d47f9a3ec12263668dfe619a1606f40f315]\n[e = 010001]\n[keysize = 4096]\n[n = 00c5a211069f2189bc37363dd033aa6b068a9b83f572e1098de9a213b2a5bd5120f85c23ca8e6b382e2368948b517d00db5aef58d5794e461394ddba9fb6f3ad49dc356d9f1dcd0f25934ec0c8cd0dc833f00f29f5f6537e70e680a1cfd20448a8adb2ed959dda39c2d59c975a78472a68d9314ba2ff138288a0bdde65426f2c24dde0baebbf8444c9dd0cc3d72f760dd13832e6af86c7379d66198a7c5a5fa085c71f97f10211bf562a70f4e109c83cb6daf328dbf9606f116d6c62b1efe4fa4cfbda5405397a92eb391eea81c7bf129136040738eb5fa015c08e8154df9beb3a86504f400d4fa20bcb038ff2bc88c4d6cf364841f706b52bbccf4c4d218baef41f2083a7c76fac04603402fa2dd45e238659d1eeeb97929e35b0660aa6ffeb2e930dce0ae8261f45901ea218cdbe0bbd13d8c544396c81748134ecc9a12329495025e787f7cf15d2b5aa63593b1ff8d50c7f26728f2bbe22bb8a8b344bdbcaa5c41ce89e5de35f4e620a3e86efbd78a371f85ae47372640eb0f3e7a880fe0bd6fb48a6d6b80ea25679236e4186454a2513d4dc2ab8870d8938dd5611bdf84845704e15c77f52040570a1929df2d5436f0501678418ce2797ec0c0d9b72d8f673207ea2a4f0ec446383c8d283b8c027aa3d06ac66a81f7b909e7cf0467977a64e8c9059fe3641f3873e7535c868a6f520e0251928dceef84f232b46a9064ad9e5]\n[privateKeyPkcs8 = 30820944020100300d06092a864886f70d01010105000482092e3082092a0201000282020100c5a211069f2189bc37363dd033aa6b068a9b83f572e1098de9a213b2a5bd5120f85c23ca8e6b382e2368948b517d00db5aef58d5794e461394ddba9fb6f3ad49dc356d9f1dcd0f25934ec0c8cd0dc833f00f29f5f6537e70e680a1cfd20448a8adb2ed959dda39c2d59c975a78472a68d9314ba2ff138288a0bdde65426f2c24dde0baebbf8444c9dd0cc3d72f760dd13832e6af86c7379d66198a7c5a5fa085c71f97f10211bf562a70f4e109c83cb6daf328dbf9606f116d6c62b1efe4fa4cfbda5405397a92eb391eea81c7bf129136040738eb5fa015c08e8154df9beb3a86504f400d4fa20bcb038ff2bc88c4d6cf364841f706b52bbccf4c4d218baef41f2083a7c76fac04603402fa2dd45e238659d1eeeb97929e35b0660aa6ffeb2e930dce0ae8261f45901ea218cdbe0bbd13d8c544396c81748134ecc9a12329495025e787f7cf15d2b5aa63593b1ff8d50c7f26728f2bbe22bb8a8b344bdbcaa5c41ce89e5de35f4e620a3e86efbd78a371f85ae47372640eb0f3e7a880fe0bd6fb48a6d6b80ea25679236e4186454a2513d4dc2ab8870d8938dd5611bdf84845704e15c77f52040570a1929df2d5436f0501678418ce2797ec0c0d9b72d8f673207ea2a4f0ec446383c8d283b8c027aa3d06ac66a81f7b909e7cf0467977a64e8c9059fe3641f3873e7535c868a6f520e0251928dceef84f232b46a9064ad9e502030100010282020100af8d89c02f04949bbb13948ee805fe71de17cc7cf021d3e1da61dd4b788c158fcaedd5e12ce7330d50e8a9e2a36cfda0dc42f5cf12a523fc6ae516cc9eb0100326f7d2bb5fb67238f784221d7c803c915e31aa1d5144d371285fa4dcbcfa8f2c3eb74cf1f5390ecbf201da3443d93b63cd624b84ab3e425a69269f71a534a9aac9e8c1417e6ad8cbd36e6e5c2c4d9a72799045782fa9b0ce410e79048326a4a990ba90b646174bb6179724feed38902e0189b386cb1b0d2e16dc0b43720c1d06db4512135dfe72993db127b046a584b1b6a09765c936b535fd48d8bb72b1c69ec3067d8f3103c6b6e10bf60731cfefc1bc68c480cc148a4422c0a54f7277e8dc61b1be3a2634d5c092998ae87d8299ab11db50a7b59cea34e411d90b254e31fd7b8eb16df3d4ba5c7b86e0e742b3564df700001b14bd21398e5a6fec5e62dc4e92b013e607741c52bca3b17a0d42592a473fb9b2751eadfe306f87a4613f28d83de5e7797decede6363e5c6692ad7d30be778886abba841288685543b1fd2d7876c7ff1e250bb7cf4e920e7dd41329675bb0fa4dd05831705dea42d7b0fa9acacf56d1ada19777787c549f4eb40a0a0ceb3164638c913ddb59b74f113290bed406c82dda432c5986c39194e7e4315a149efd55747b65d3c7dd92d451cea362ab1e501d0ac5f69c00c3019923ddcf3d47f9a3ec12263668dfe619a1606f40f3150282010100f66022b1a901ea98279901e67c2b458a74ad0e240caf0c0f7cc51cae32650e7d6c7638b3ddb1768b4e515d62ad12fcac3ca39e5d1330b9d64181893a88065b488f7885bb0a876340777c1a3dc1528333453bf9a7439e8092b84817fdbf99a1775fcccd0f7fed2250ca47c294fb87174cf087a486c25349ea7b093f45cfd46e5545c314129abac2dc4beadd9e510d47bb3bb1de4ec2d85a422d1004ce02a4b28d4281e32abdc3b19deeccc5eae65c73625960f517242301670055d81a96ea4ec8d425535f14473697e62aba291c02ad956cc78044f653ef3f0275431c64470cab68e5ca29cd477f8e7ce900f2d594e23c035753372b1b8ad664cf8265757e6c1b0282010100cd5a7c1cab75f5020767e4f22ee9f553bc62417fc2a91453205607e1ed37c487792ade5dc6d2dc7f918fdc24928682e2b6ca1a7529a2e10dfc8f52e812399c1028369eebb770e2abf4879b5f512b01674a371e06cb4359531205ef91f583b23fd0db06f55eedfe6444ebefbd7cb4b642e19178251cd53520eeafc7fb3b2b6", + "bad05f44b36bf66f68e205b504e9fc0a20c8651e2f28e38fc1b38197f0aecfc6fb4a90b1bafac434aa6d97908ca2a30f990ffa954ed6ffd03f31a497ec24a7fa6d6e99a2edda78775c8494fccd32fc96c753eea0c558bc5e584d475bf01b12683edd4afb01057ed7565157583c227c7b63985fc0c9ecbd7e8855b0f8e5772c431ff028201005317b33bc5eb4e8a8878532abfdffc31290ea0814a01d38879a524fa1f26f40f1b0078393960bbc159e59920498ce8c8d21ec0af55648e98933933e618b0442321b81d2a2aefe46a7ea1cd5bdc928e8b41236c1c9c729d9c5e287a66eb32ce412b7f2ffdb5406ddd5f8b7a35b2eb29d19a21b53c79d78b4b58b992ac61de9c638806b6035c49f6a443ba6f8a107df11e5590b4904da898304f70629e7447c5ac5cacdfc7af7e8baddf3712dd195a3ed4019ef0aa2056ea072a16c9ae960d6a0ad379cf3776e859a23b4f57bfbba1af9780bb7c284607a2ddd65f6405f44ffe16e566f29acc8ffb963bcc7db468923106da7d9e243216b4e97fd07882ed7078d70282010100abed26de05fb82fe88dec602b19e7523ff23b03cdbe81d391f6887bef2916f3c1109001539420f13caf5cbd4decc3946c0cce26bd74923ed46d7640d223d13593fa1c35a0c4239b4c7ccc51b7f64670f68464f20570b72fca6a94b93431f589c2f2b415f2b744c38fcaf200fe0199842d481ab3a3f328e019d749414d5cc1ba147cbe930d3fccb4de0ef32843121e14a6526a7c075ac65fe0ff0e0b97002452fd71b92b9789afa24490d197bd0e921f8f0e37f542f1f8130068123dc5ced14ecf7b57ba95dfa7e750a54026389adb4dd50a8395d61e174b0ca042ebfa6e65d2c40963aece400cdf9ac86afa25d15ca8dcc8c62b08c6f9ea00fc62d612f97ed570282010100dff241e6605d2373ac6333d6819fe9f7c135f8ff9bbc6a8b8a09f86dbf62d29681d68c391027057226d9f02291a3511256886d059785a0c89fbdc11b3de83e48d11359f52f72593ec475aedf113cb7999f29e6ca44ac41165d5b5fc2ee37c4b4ae8c1d5871ce6b23eac4dbc7b85f0c6cdc771e7254c9526dc355eee85b126bbaa393f0e67d9306ad024631cb31133ee948ea90ee5dfc5ec8dea7f260595a3bfab749daa2b56a4dd860874c29c602b33cd307003bfc7a5391d6e21f97f3e9b9230a5f02212061cc0392c22989fd87e15c6e87115b51457be2cac15952a14cc63cf8ecca9b6fa84404b8052922bbc9ff808c4faf8d27f4faee23a90cbf91ce034e]\n\n# tcId = 54\n# edge case for Montgomery reduction over Z/nZ (4096 bit)\nct = 9abbd14f73f3e867bd771b78aeeaf2234e0f5b270967e3c80e0818a579b054b3c4401b326c1f22fe13cfd861ad5764c0c76d69aba1c430488476db3cf1c8fb046e351cb07b861bdb956e1bfdb470d3ebb9b62141f9b91a9a1ab667fbc458091025c889c9ca35bc8ae0a66f6b6098cf0635d4e60993fb028954ab55ea9d68905e5210e986fe195212b71d36c97e673e7f47c90c7c5d6cb8bbfbb3b80ce5b5b7920e72cb107dd58d56934378f590f12aea3b827867bee4aded76e84bb94748a3a7d5e4c0e5949bdacc77cfb4add6a8aef7e661cdff174eabededc9534e23174679b828af3259edfc6887840a17df3ade16ca1c0a0c6c25e224c928427e0b68ada1e36c35d26fbd34db706cb220424eed06ad26450ea325d640774949574f6fb15b07ec82115fed728ab55b5ff0d41e511b0c45c8e06a96a54bcd04271b0a50f3f771da810e852c050c57a07db693704b0d658af84f874ad1fbdedab4b4f620b829f355dc280cfe5df5d93fa930e4767b2286ddf3434ba62cd832592a9ddff850a6f32bb993fb1af521dfb963403a35e578d55d0792600082745b63ec6a1aba8b50cb73cfaeccd454a38ec967a2c24ba90abac2e36063275d3648eb181199baca1e7e5376233191aa2a8cf7ff1519605e2d7c47b8abf1d74f89afa14b5696c3a541c19edc7bdc435f66d18869e454521cc9c2b6b4e233a6c40eb09d48b179f5982d\nmsg = 8a2d9d18ff13682f12091d4d0571e00280722860d874635a1ad9d40f04502c5c99e0fd5232e40db1bfb782322c9966eac4e555b7fc14dd2bb81688c4b01f4ad1076603b575946d31e53339a2dc56e359368822f003a1b7ac29ce59f60f6709472dbf2a1d4b7b4061ece1724438739039a69d7d7e46a42ba9cba96f969c934363965b533446e25650222ba001969833f862a535eac644d0cfeeed49e38fce35453944cbbc32a977772e358f8835fb2543c9235f97876540ff596b7bd2ec28e3d10378f5a38fd9ead1c24cf3edd6148083b2ff9d98052218018921f108eeb76acf9dbdccd53a24da25fb0b61644d65b72db707885e7f0f166d69a0af35f8374f32db5444156c70fb72d07d6a4e27009555dedad66f5db6e68b1256420d15d05ea16d33d56ffcbd25fdbd4c74bd5ee185\nresult = valid\n\n[d = 0650820dcccf05a2b1a7e7cdf4ee95b4c6e8083b808b4f2fad24dab9aff5d865a9ff148f26219d1fdd32156f690110eccedd50be917a722b2d02447c2be86a21b67f6058cf16283c5fa1c28816c1981243e6cd0532a1c17ea8002e46429a5bea35a40d7f1f83264e43ad99cd93223ee13f5c2109e04403857dff27861c76a814cb98e4e597f796ae2fe2962aa7fb3874e0aeddc8cf98e933029612214e807be69300d0f0e14503cdd068205bf66d16e9ab1282eb908e56b5c95e57f7c7eda5070cf379a7cd5d9197a753b9a38e4e0d4a7b5e6cb2dfa55f79d4ee844d134848da361e89c77dfde9ac5213c2275a269c879bac5f628a708327e8847ddd4ef89f8da8d39c4fad321569a2af0c8006a578f7e51c8a59bbb8641459ff6ae4e820e567261ee5c09ec7c844d8b7b354a5482643adf4e30ac23cbff3d41635dc5405aeb1fecc52c43a63cba329d55705058e89e857cc7c472973684a16dba49d8e2ae77eb20b65c676e870619299cd65de7c12d402a303d8c298b930f517661ccb606ad661b5814ebccf173f5f71da0c59236090cef3208adc81cc537a1659377f02125180d4cdd1e067b7c660977b4619ef74de302e4a2527659fe11324ae4aaaae5431841bcc7f6bd35aebd92b8090240d677e208c5c8fc652b785dc8043da447ef28e99d3d0f26f19921c1d77b0427f3ec4145b65c3bd82ecc9e9346633779c146771]\n[e = 010001]\n[keysize = 4096]\n[n = 00a5ee61f4cc25341d7d4a42b4bbb1703ac6ce6fa1a5237ceb4ca0efa1d74dd7b6571ed9d6ce9a4dc098f00d4ac58a5c29dbad0587ed37991c0a69ac7dadf16da3aed0de8e6a3c49580e96e82ba77c7e0907b48c026d84d65e2d74a26e899c135b1ab708551840a6058a8f09274e9bd18d4417dad7b0f3748e37e7ee798830182b141638ea886f8a5820ed1e4e3b5122b45d2d365e9393afed806b3c7f58aa3a9df67e745ea95b0e0b849cec1882ac955358e901a67049024565a21cf584f88095a7fbc048fbd45ef87fa0d7e4e5458d80602b876bd065bc2bf97766cf4d88f1ae301d8d3e973d591ef93bc38d7a59c86361ec31fad98358863a581c1ac619b7280cf6747bef4fc244aeff0951fdb71cda023b25e76c30c10914258c4574767fda4743e9c98e6a95aa88f95b37161d0ff847aa39df82978f88e973e4c439a40cc14ea9e494e337864cb12c227e717ec998faa97c41be6b14f14adf2ded84702dbc325894da782dc5a93c8b0a95dc0b449704fc27d228e9f5ddf22ea95eb072123b9e5a7afa0761d9d0548ffb275cf882e6b8be9abf3f851c8fca7979896480e8d2526b9f1b947680c154f6c22f091d29701fc4c4a3355b6a0c83b398ca08f7d9f7faf4208b39bc14c76d93e6c57414b7eb1423ca5957a13f4035b59929756cf55bcb810b6776ce3a74cfa1a532d1af4a8a43fd263196c59a9afbf2064787b1594b]\n[privateKeyPkcs8 = 30820943020100300d06092a864886f70d01010105000482092d308209290201000282020100a5ee61f4cc25341d7d4a42b4bbb1703ac6ce6fa1a5237ceb4ca0efa1d74dd7b6571ed9d6ce9a4dc098f00d4ac58a5c29dbad0587ed37991c0a69ac7dadf16da3aed0de8e6a3c49580e96e82ba77c7e0907b48c026d84d65e2d74a26e899c135b1ab708551840a6058a8f09274e9bd18d4417dad7b0f3748e37e7ee798830182b141638ea886f8a5820ed1e4e3b5122b45d2d365e9393afed806b3c7f58aa3a9df67e745ea95b0e0b849cec1882ac955358e901a67049024565a21cf584f88095a7fbc048fbd45ef87fa0d7e4e5458d80602b876bd065bc2bf97766cf4d88f1ae301d8d3e973d591ef93bc38d7a59c86361ec31fad98358863a581c1ac619b7280cf6747bef4fc244aeff0951fdb71cda023b25e76c30c10914258c4574767fda4743e9c98e6a95aa88f95b37161d0ff847aa39df82978f88e973e4c439a40cc14ea9e494e337864cb12c227e717ec998faa97c41be6b14f14adf2ded84702dbc325894da782dc5a93c8b0a95dc0b449704fc27d228e9f5ddf22ea95eb072123b9e5a7afa0761d9d0548ffb275cf882e6b8be9abf3f851c8fca7979896480e8d2526b9f1b947680c154f6c22f091d29701fc4c4a3355b6a0c83b398ca08f7d9f7faf4208b39bc14c76d93e6c57414b7eb1423ca5957a13f4035b59929756cf55bcb810b6776ce3a74cfa1a532d1af4a8a43fd263196c59a9afbf2064787b1594b0203010001028202000650820dcccf05a2b1a7e7cdf4ee95b4c6e8083b808b4f2fad24dab9aff5d865a9ff148f26219d1fdd32156f690110eccedd50be917a722b2d02447c2be86a21b67f6058cf16283c5fa1c28816c1981243e6cd0532a1c17ea8002e46429a5bea35a40d7f1f83264e43ad99cd93223ee13f5c2109e04403857dff27861c76a814cb98e4e597f796ae2fe2962aa7fb3874e0aeddc8cf98e933029612214e807be69300d0f0e14503cdd068205bf66d16e9ab1282eb908e56b5c95e57f7c7eda5070cf379a7cd5d9197a753b9a38e4e0d4a7b5e6cb2dfa55f79d4ee844d134848da361e89c77dfde9ac5213c2275a269c879bac5f628a708327e8847ddd4ef89f8da8d39c4fad321569a2af0c8006a578f7e51c8a59bbb8641459ff6ae4e820e567261ee5c09ec7c844d8b7b354a5482643adf4e30ac23cbff3d41635dc5405aeb1fecc52c43a63cba329d55705058e89e857cc7c472973684a16dba49d8e2ae77eb20b65c676e870619299cd65de7c12d402a303d8c298b930f517661ccb606ad661b5814ebccf173f5f71da0c59236090cef3208adc81cc537a1659377f02125180d4cdd1e067b7c660977b4619ef74de302e4a2527659fe11324ae4aaaae5431841bcc7f6bd35aebd92b8090240d677e208c5c8fc652b785dc8043da447ef28e99d3d0f26f19921c1d77b0427f3ec4145b65c3bd82ecc9e9346633779c1467710282010100e883f8727edaeb27246d536f9feab1b347522a138f52ab5176bdde5ea601ed6836b1b2e073390887c04cae18d9f1c59062ce5323c2ab08d82b6b408e5562a11570dec210ccc58baf194109fa6a28f1c0fe2ef13829f0825a2c54a9a4996e65ea105683db145860d7a3819f40cdb3c4acb0c53e888a3a84f223680b4fd4e3088df0e245efa3b77e557a89e8e0e174f03c619daff71f85d94e9071116d3fe907da95cd19283cd46fb92b36bfd5452b695be5a65e646ed37394fa73", + "8b8b60cdcaaf14109284c1ef0f425ba9a8ce45a3c4ada92936729d4de1a1fae544b0a4657c36bbd5e1fcbe82bf279f0102643516436db991a23d06f5627f3cf7400fb85ee5970282010100b6b0c6d62aae771136bd50f9a6ef270f1cfeccc99742b2e52e921555f85af5645be8a7defe002c60e2e5550312d2db279d5be6c50fd54eff28fcbd67febcba54dfd04fd43d09affef4dd40ebd8fbfadbb62efcce473af563448c368fa9e1ca1ec119b18cf8c88889d9901766b926b5e6129ef1eed5c1bbe2beee86a283facb64898e11b490a465e6f84805bb60a617ad0f13d49c7ec64fa592882b9085549ca61e1a0ae90df980b38b7bdda564f06fa4079154711e8592d404a7fce368375060e3e13bfcfdc6fdcce9be8ac81b30bd8056cf5a333611126bee3a04f80fede8aa41b79aeb05e51f2847d880ea2bf7bcae259bd90553d64aca6b136c51b926286d0282010036c931b738b0b88bc687840b5f30dba2148205ac0a2f3e72b979cf7599c4067e71b4b9232dc31881740c1d5179b900061f61e23120e34ff82f72dc092d9149c7558b074b1214d1eef6125f1983fe15c8959bd5f697db35bbad8a5d568d5877e708e679b71b3a1fc76f9d513ae1bd23f054ce8507831a7accdb0edeeb768bf02e11be1f20720100617fb8130939d665ecb44b8574c316b4b7504d73ffbbf95a82649da8f9d42b720fbd60ef1e7f67d53174111958accc62058e65bf519e039f68555ffa4611b414725c4ac39da6c709c6a97f2e771f1d84b6b7f96190058c6c12317c19fd859e25105ee4cbfd748cc4628c41066b3ec27eece01e9a179a27b20d02820101008573527be587b62053ed2cf680f3d78359b9e2dc2b6b2484f764ecc2f4fd749dcfe97e9f0cca11a0e07d87810c420ca6be73007ad8db07aeaa411d1697654373765e93c1c4a88bf060ec325d560e932be5c4231587c0d0b9a7bc08ab1efc7989c7a2be28ed1e8766b30f6798b90d46f87e87aed0b942a0bdbc9d3ea9fe60b82c83b2ccca2a927c81a0c1f3b5f19ec252bf5dcc04593301c13fedca6cf2886139936990a8b7759787100ff653b80d4e6ff2bb3d84b837f88e79ac40b5d94df6a020364a7cbee09a4b124006deafc605d7771256a06c114274a6fba8df8fbb4926fd84625ce5dc7dcb0dd8602b2edcf3edfe38fee9be591e1f08e292508c400c6d0282010100937b8e3c404c7945f48379d9b032ef7a448768f32c3cda7a5a7b297f87d0406c7fb4f471c257d9469ea05daef490372853b3a5a6ee21affff5535b36e197445971e321e958b1bc000b2be48ee68e1d5ec4c2460c81464acd54df9bda672745ee1e8d1b1454994c7e0cb8c986b4e67140477d9642d17f31cf58eb30a08cfd05ce71d7f5cf4ba7a6fc7c63e3f69764bac9b986e5ce38a023e5fa9c98f13c75171991677af75dfcf116bba81dc7006a3b9f796fe026c200e404bd00905bc536410651761873adeb400a0feb747941f99a571e70803985b73fe08eafb0be97bdee0bac02cf14b3083e8f68c8a448d370d876027dead3a12737b3be734883697016d0]\n\n# tcId = 55\n# edge case for Montgomery reduction over Z/nZ (4096 bit)\nct = 6d406f69a232529030efa4031bd411a36ca9c6a649890f18be38f8e3076c301fb981f8498709d56e9d5f44edec50bf0c30cc02bfcad351ab82932e86b7f13158084dc9b5f3036308acd9c25e2f1837418f6c1e4e7412f416932e9391a3acdb14cdfa117a64479a73edf75251d576d4c89f9e131c655dadebde92cb82fa920ffa5f8f3ba54b7ef7757415bed6ed4c78f9f5eb9434bc5929a7e5c4c1003c91cb0329a823c3cd5ce8893ffeb8ff05aec35a5b0210dba88e3f3c4fa85baabe088a310e1f17ba9c1d203aa77f96a4895419c8198af699479c88e72bc14d56e067773120dddd09f896856f3f752b3c2ae95879d56261686012f25bbecb4a8b1d86cf95797989b73a83b58e8b1e702d6167e15ae01ed055a1140c0ed664a2397e68470c5de7b52732981d073449352779c543e62126f7991e91ebab4ab984dec34f315ea5ab1ee04b1dc19137589efb40402398ef672e3608a9b18d2465fa6c410d68ad609538d1a179828649cae4772cd483790c7e56166dd5a0a5d711de1cd17a8005c7ff28daa5d8fc3773ce395ecf7252507b45a9fee075178dfe43a363b791baad3c0d1c292381115fddbc478bce182e864861498860a69bf715bc6dd057b19722579b90defae27e2da2eb7707039087f638cb8544d3ca7b0bbdd674375d99f0ae7a4c5856a8e999fc47868f13f5f153e67b2aabfc534584e1afc3c40af95c21de\nmsg = 20b8edf3bf85147fe0bb51c759897a59d661b8bd81cae753116fbc69a6caa393fe6be8219447916b5ab4eca3185cf7881a227432e2dc672af518942466c9344e585da7c07edc33fe6521a1e689d0c6a4dec3afb41624ddedbe271b96e326a20bc2cedc30756b5915d25a932062b13113c00f58d7ca0053df99363740555929ab12645a65d868c28173b1a32f20064bd2ec5e0ffef496041af5bfdebf8040ee6b245c9120f451cddda40b9d86c23034f68e4329c2ba5d057a5eec0e2034a3ac04b7c155dfe72b995f873af16ac26e09de737b4dd8531e61bbfe26c15b140b9b091e551594cf564cfce72da5c9a8d8bb724326f22363c0b7623bbb4bb1fbeebad969496a5db8223e10f0fa5051b03b8707ac618b43ff77502e8396ad08c1dfcfe367ca8cf3d7dc459f64e5ce19f861a62a1300640aa381a4379e5487c1f9e128a8ad5a6b4729220b1a98460fe8462f54e58c8ff07d290ebdf676f4170f9876e29fb5000e654a3d0a88b5a6aa87fa78dff161ba633dec975d4f13b6e4d33e69796c858eb66c4671a22770e9febab10884c562fe9845ec7de1a74eca79ec57b6ae349a93759ba943fda50d86627b7dd293fecd2bbdd8016ed9cd1b05b48e3ccd691deacb81de4729c85c9abeaf\nresult = valid\n\n[d = 0a130c184ef0466747ea9ec233e61bc989cd6b9ef1d2f61bf3f37fb9b1d1879b1e80d1c14ed141e76be2a26cf48a6d9f80ca6240a4933fe41b62d54c43ed43b84745077eff4e4da604856d7569686e8133fefac2666ec70bd8f2a3eb9473a6dad7d7f60d102ac8a7f8e0ddd7037966c2c4b9c83d6fb573ecf254d3ebbff7b0453e0b780e22f5f34de07694bf32b87f216cb3ccbbd1dee0624a5e6bd98692abc575ed0a013bef6a1c0cf763c4a89e87c377230091503fbf39a0ceb1af3a4a3ee4bf0df157bcf1733a5300a92ef7f8cdc48b4e10fe99cb5acab8e5137a5dad6cf50240587b677e77ff2e1cc0cab5a8f85c14e367228121f6c6c0ab60c9a67ed4182f1376f088f7a54137a909579eefd2f03d18f354ca1a192b2bba91bec9de38dfed32976bdb0b1edbbe00d689128bb59ea2c1aabe501ba79425798c5546e015ad0112bf4668a742d2e180f72bd1c2a99535d446fc643baf1eafe61438129561e7d9d7af067d2cb9a8c176c4817ac4961e9c97aca3cc8544e34a8842d885e60820386d115e96909e84b44fdb5eb677f4f2cff0dabfd7b0e9573f803aa3df1b2d89452fccdfd9967a631285a08f2beeb2273f9cd0d942a9950225072490a078895461347e820ea1ab2787388f6155650e3f70b1c74907749e686fa339b263dad0e1bf47606b796911bc96c600d4842e20fe6302f2ae3428bc0bb9f0662a718d45f9]\n[e = 010001]\n[keysize = 4096]\n[n = 00b983b772a8ca5d556780280d6d2403b7087c1c39129f8961784ccc5e3226cd0c4ed4c9d87ac0f81087607b1d7d2fb39ae54e43668f6bdb69c1eb7a250f6e633b203f35bbde247723c2f6935fa860ab06266c86770ef96ab7b5a8bd314c8ceefcf50d7181fe6812097619155acc74b018feac4548dc9a313aa445ca61ac60675be0b086318fa6ae7d92d7bbf023147d4c04b10d479d37c3a9980a3ad5ceab81b32819e3d2adf962b8cb60f166d0f89e63e76ef79b5b364502169bfaf5917a26a041cb3b51ce2a7380fcd580a81cc1794caed5a792ddd473d0373a5cbffe4238b65bbc950589731fb22de30153f9a5a82d4312eb596dba3896b9e0996dee0d4713221885a7562cfda9bda02aaa09a5b9e0c3511b73f706a84bf10f0438cf8e52b5a9ebc0613479a15cd85b683e00bccc1918e0946830b5c85792a282d0c27a31b778c19f78e67abae5e88d745c2ce7dbce28799dc35ef58bdeb78fa2cd8ba36b5185551e5ecc2f0364d1252013ef764394f2bc0112075ec3dd8a9df2de441663a5a4ee81ba87868e5612f0b9649051aba7980a7ceecd2f99a6e9813807de8a875ee7d317318038220595494fc15635531e7f0bd88813209130dc22b6b078c40005bdc25fb8e80b75a4f665eae803cbe97082715ba25a79057c161c5f82acd4b0121ef7cb3fd6a3642e23fa7f0b2defcf9e078b058f674f42e3dcb1950686e31017]\n[privateKeyPkcs8 = 30820942020100300d06092a864886f70d01010105000482092c308209280201000282020100b983b772a8ca5d556780280d6d2403b7087c1c39129f8961784ccc5e3226cd0c4ed4c9d87ac0f81087607b1d7d2fb39ae54e43668f6bdb69c1eb7a250f6e633b203f35bbde247723c2f6935fa860ab06266c86770ef96ab7b5a8bd314c8ceefcf50d7181fe6812097619155acc74b018feac4548dc9a313aa445ca61ac60675be0b086318fa6ae7d92d7bbf023147d4c04b10d479d37c3a9980a3ad5ceab81b32819e3d2adf962b8cb60f166d0f89e63e76ef79b5b364502169bfaf5917a26a041cb3b51ce2a7380fcd580a81cc1794caed5a792ddd473d0373a5cbffe4238b65bbc950589731fb22de30153f9a5a82d4312eb596dba3896b9e0996dee0d4713221885a7562cfda9bda02aaa09a5b9e0c3511b73f706a84bf10f0438cf8e52b5a9ebc0613479a15cd85b683e00bccc1918e0946830b5c85792a282d0c27a31b778c19f78e67abae5e88d745c2ce7dbce28799dc35ef58bdeb78fa2cd8ba36b5185551e5ecc2f0364d1252013ef764394f2bc0112075ec3dd8a9df2de441663a5a4ee81ba87868e5612f0b9649051aba7980a7ceecd2f99a6e9813807de8a875ee7d317318038220595494fc15635531e7f0bd88813209130dc22b6b078c40005bdc25fb8e80b75a4f665eae803cbe97082715ba25a79057c161c5f82acd4b0121ef7cb3fd6a3642e23fa7f0b2defcf9e078b058f674f42e3dcb1950686e310170203010001028202000a130c184ef0466747ea9ec233e61bc989cd6b9ef1d2f61bf3f37fb9b1d1879b1e80d1c14ed141e76be2a26cf48a6d9f80ca6240a4933fe41b62d54c43ed43b84745077eff4e4da604856d7569686e8133fefac2666ec70bd8f2a3eb9473a6dad7d7f60d102ac8a7f8e0ddd7037966c2c4b9c83d6fb573ecf254d3ebbff7b0453e0b780e22f5f34de07694bf32b87f216cb3ccbbd1dee0624a5e6bd98692abc575ed0a013bef6a1c0cf763c4a89e87c377230091503fbf39a0ceb1af3a4a3ee4bf0df157bcf1733a5300a92ef7f8cdc48b4e10fe99cb5acab8e5137a5dad6cf50240587b677e77ff2e1cc0cab5a8f85c14e367228121f6c6c0ab60c9a67ed4182f1376f088f7a54137a909579eefd2f03d18f354ca1a192b2bba91bec9de38dfed32976bdb0b1edbbe00d689128bb59ea2c1aabe501ba79425798c5546e015ad0112bf4668a742d2e180f72bd1c2a99535d446fc643baf1eafe", + "61438129561e7d9d7af067d2cb9a8c176c4817ac4961e9c97aca3cc8544e34a8842d885e60820386d115e96909e84b44fdb5eb677f4f2cff0dabfd7b0e9573f803aa3df1b2d89452fccdfd9967a631285a08f2beeb2273f9cd0d942a9950225072490a078895461347e820ea1ab2787388f6155650e3f70b1c74907749e686fa339b263dad0e1bf47606b796911bc96c600d4842e20fe6302f2ae3428bc0bb9f0662a718d45f90282010100f4723d136e5acc1504102f04181d5e152867cc470a55d9558e2fb3529ab04b5ee913695a65a515ce35b171cd7ad2a6e5f1d4bb6f9283d5c6211b81ae372d3b32df3e45f3d357c6f8b9666f8de847d7af8f3e96d4374575e1ca7f139570443bd947c9f8e621d4be72604bbb2aaee0c75df9b80908e518655ac2d5d1c05cc47d9f73b0bceb935a8b65c32e9c4737e07cedc3d44cf434f0dc07f8f4a6f200795ade93854eb02f76b44e4b40af6cf4a732543b67cc0ec12cf81435ae49fa7da767724643e940585ed7482753d1679b7eb84433da1aab7e6af45571f3235ae02db37b3c9a8c39d463d3e25dca68a526598412e65b1041bcb8c6733b3293f7f6cc829b0282010100c24869cf4137abdf529ca47e4a30d40eede7c4959fbbb8eeb27229e3242dbef75e55d05743b7fef17a44ef098357406fc341d4ccf788ef0ed06ce854e1600e894b0e14061f75daab3355de69112904c6ab89a9045bd4f5f3ca1f959c2d1b1aaa4005cc0caf033edecb8403dbff56a04f3be3df0ab46eb15593f3c38d0de81657dd90ca8401d2e2425306d47ef76e9022daecd73d193bdc77ad54f4578ede45dc46b4352523b41f8f5fd9a662e0297dcccc729973ac3c457a035e3a3b7b22cbde4eca5eb1bc5cdcffeb7a114f26beb94d2eecff049deeb71719dd09667ba4d903eb46527493f0a54096996c07ba6e6ee566dd1ddc75a6ccae59200c6ee5d9723502820100244bae1beb7fd9dba8fdca2d5e7345dbf862e9270736d60d690e561f06cef4720443989a0e8ba3a039c2be36176d9dd078c6f089d18477c2727a06185b23012e3d8d9e8f64ab1ce5238a3d3821ec40ef5562a2bca1f4535b9258aa0cbf5db25141e2906d834a7678bf299f81e7f38246c6e4779af58158d35028b57b4d8af36830a2667ac82762995a90da2d8cf36d3954a17a47ac70b30b10012ba4b5434fa5cadbb96259b9d36de8a89323a77407fa0fd40aad8a2b662e8205fe000e9643bae909fe614a7dd293691b7df557564a7ffdfefd84c7419443f7a6757271e4f7486e28387801bc4ce2c8b05c3761695b3dff2c384eba79e92584fdae90dbf963cf028201000227b97cc2157303a42ff6a72bfd84acb1b8eb76597244a7e934d9001b0ba2ddad9f38136fbddfc71ffb19c7ba3c428bbad7c51b8cf768e77a2a6b1d5deea9da9e0986f15672013dfaf0cde9ce75ed06a32a80c47a9c4f2a2828d78906fb10fda87e27f8500cb22ad8891b5dda64449cfc6617b84fae16ab835ba5e4afadce69a51c91128bcea211e847e01d947316883c737a23c45ee4a0333d0904dba1dd9686f642cca9abbad9e54f4dc8350260d1dfc6b9ab0dd311563c29546e0a7ca5544efd71b5790872af28168f9098366f69cac67841bddac30f2f8b432a6edeb24597db8cd89c37842dc63de773e27e8d1e6058bd970f7b0d3435eae4186ad651ad028201010098c7381676006c0969c42cb80df82b0236fd251ea1caa78798c459629896201fcab5f4b3eebd6b2d39629d9a8bfd9047d2f2ca24c7e921aa26abdb1c996a4b3383d1c0d55289b44cbe01ea685c0848d5721ca3ddd8d6017ac3a77dceb110faee4869b9577b269d913b3d0e3784b325e1e854de1a194644bf39a4f2a0e115754e7a1f87440b5137c4e1452d9587b954fabf28e1bcff3706498099853e8bb6c8a389a9196e36d83d39e3c5a10655007c6e2b34402f272b679cbe1a8f708dbb74dcc2c14dc611ad781d637cc5b23a32a725bd9dbdd9d454e6715e7e9c37a43bfa76efebb781751bd567741f3cd3d1356fbb26ce4810952ab116a1989026c86c5690]\n\n# tcId = 56\n# edge case for montgomery reduction with special primes\nct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nmsg = ff759defa26fa28192b80bf0c50fc80a246bc1034ebf725ab5097cc099b2b1df06ef59d561ae7c6ff3f19fd359c5da9f310017e51783b0ef4ce845edaa92c4942a948a6b81db647bd098cea197c91991749c48a0794cb0a631911d5dc30d091da3a7e4116b151f06c384bae20e4d45d9c31f46ff07c09b0b86fa63ca422323a2dfb3747de26f3310580df00afd0933c1a51977603af1fafa46854ec3e03c2c015e9188f1dd3a8156daeed9f4a8f7a051b32ffbcbf0961d7ad158eb896dbc5816af3d251d725e0b6dfa9a537fa3008dae664b3788d082bfcd1aceb1581c000128241a07a4e02cf857c277b8f27f52fe9169a9\nresult = valid\n\n[d = 7b30072d5b09dd51176367dacfb43e1c640c6c6ee663f5abdd827423372804b21f04c75fb1e808f7acdb17e2e1c1492b9b139a8645318c11d9847fc9bdf12cd7d8fda019b2dd51f61016f6f828a0211e3a630a163a4d92f7f809cc45a7ff01a37dc7f8b39a6f9824dddedf55e5febf6ce5678696c93d91d9f0d3e6805716020406a0cff94c07f73fe3c8fa1e6ca7132d361a02d36baef1a2ffa129445bc71cfedc8b968424a5cd7a444b25b830e5e775f45dbae4317e52e1faf777d6ab26bebd0a8305d3db003c3162ea0e9e7da6abe2870dfe86a176c19f4bf3007943bd02738d4298f2031d9954a52ff6c2ed48be31dd044f5810fb6bb756b74b78f5710d0ce2a71419d6a1267bb7310d2bdcfee607a4d9637ec52ebc32a723771ebd1041e8cf47759d0e0afc3d54ddda969a2034aaae19db65aa30b5012625f97dc2d94d7eacd42d3232d2bb88a8d43d21182dc1bcf0f54c8df952d815f0afb65ce6de9ee02d7fd3fd84737e03e2bb04d40220d225943232c230eaa46a5cdced57a5ca7f18b2c8cfc49b9963b3376a39fa493ca9d6bed22464bbcb5e15ac0a88cbee4ac4a739e716d441387c3b9c757bbd37a9c6e42652b7e3b6776427134fca72a9ccfb33be49f7fe2e402f801e8d894a2a94399681c0b2508808882dc7ebd8c1dbdea23e1875eb8356ed630368c1710bfbf014b5bd258ff09d476f14bc9357bf8b76e6e1]\n[e = 010001]\n[keysize = 4096]\n[n = 009f72c48db8742b125f3a1ff9a5beeb18bff8513c7a9787431574455610877ac67c958c4fab2de863161fb46edb18e0067e3e7d72d86d03786d3378b687afed5bd22e10cae6dc98d97fb6e7e4c6c865e149937d9f5c9c0df65bb6e9836432ab57069d966b2c2b8e243372cd68999ab1faacd8a39a74616f396a09db151621bfcf2ebf334dbef9e9fc48b5a41c0104ceb0bbcbb9ca256a8a9d61121ec21ad30d1468a18628cc30e45e8e55533167bbf7e8e21504e0eed13a9b0413d03de683cc8c9545fde6b1a33d1c1f3915b7df62768c80297267b2c58d9d0fec3e4a8957a2eea197196dfe4f306ebd2afda749ade5ef3333f12852bbd039877d14c428279c74109599b72755f405b23e0379b554b0aa9da5d355d7b57a4dd8083bf120aa916a4b29b6de5728c54516449e4d0005ce9c8aa4e06f6447a1028cf95efa3c0c589c9a1063b115b2204c4c759d49e086b49267d6ed679b17385f37bd3b923c96e8963fa78f3dd2136bf64ce0e8a74075bc4758986eacacadd67ad64cd5992b280b261e390fbb2f46f9786438100550188d75087ed6e0040ddc494821c4ee545ef7f155ea3cd6669bad01162b83c0b209870f355a1035e2b8bad2372d5ef94a5a6c4aaa67c20438bdbe22d4d38cc02416c370ef242985588532fccc1d3650549934e19dca2d384a96a9dbef4046fc4c71ef685da14c6e7cf687452dda332752c343eb]\n[privateKeyPkcs8 = 30820941020100300d06092a864886f70d01010105000482092b3082092702010002820201009f72c48db8742b125f3a1ff9a5beeb18bff8513c7a9787431574455610877ac67c958c4fab2de863161fb46edb18e0067e3e7d72d86d03786d3378b687afed5bd22e10cae6dc98d97fb6e7e4c6c865e149937d9f5c9c0df65bb6e9836432ab57069d966b2c2b8e243372cd68999ab1faacd8a39a74616f396a09db151621bfcf2ebf334dbef9e9fc48b5a41c0104ceb0bbcbb9ca256a8a9d61121ec21ad30d1468a18628cc30e45e8e55533167bbf7e8e21504e0eed13a9b0413d03de683cc8c9545fde6b1a33d1c1f3915b7df62768c80297267b2c58d9d0fec3e4a8957a2eea197196dfe4f306ebd2afda749ade5ef3333f12852bbd039877d14c428279c74109599b72755f405b23e0379b554b0aa9da5d355d7b57a4dd8083bf120aa916a4b29b6de5728c54516449e4d0005ce9c8aa4e06f6447a1028cf95efa3c0c589c9a1063b115b2204c4c759d49e086b49267d6ed679b17385f37bd3b923c96e8963fa78f3dd2136bf64ce0e8a74075bc4758986eacacadd67ad64cd5992b280b261e390fbb2f46f9786438100550188d75087ed6e0040ddc494821c4ee545ef7f155ea3cd6669bad01162b83c0b209870f355a1035e2b8bad2372d5ef94a5a6c4aaa67c20438bdbe22d4d38cc02416c370ef242985588532fccc1d3650549934e19dca2d384a96a9dbef4046fc4c71ef685da14c6e7cf687452dda332752c343eb0203010001028202007b30072d5b09dd51176367dacfb43e1c640c6c6ee663f5abdd827423372804b21f04c75fb1e808f7acdb17e2e1c1492b9b139a8645318c11d9847fc9bdf12cd7d8fda019b2dd51f61016f6f828a0211e3a630a163a4d92f7f809cc45a7ff01a37dc7f8b39a6f9824dddedf55e5febf6ce5678696c93d91d9f0d3e6805716020406a0cff94c07f73fe3c8fa1e6ca7132d361a02d36baef1a2ffa129445bc71cfedc8b968424a5cd7a444b25b830e5e775f45dbae4317e52e1faf777d6ab26bebd0a8305d3db003c3162ea0e9e7da6a", + "be2870dfe86a176c19f4bf3007943bd02738d4298f2031d9954a52ff6c2ed48be31dd044f5810fb6bb756b74b78f5710d0ce2a71419d6a1267bb7310d2bdcfee607a4d9637ec52ebc32a723771ebd1041e8cf47759d0e0afc3d54ddda969a2034aaae19db65aa30b5012625f97dc2d94d7eacd42d3232d2bb88a8d43d21182dc1bcf0f54c8df952d815f0afb65ce6de9ee02d7fd3fd84737e03e2bb04d40220d225943232c230eaa46a5cdced57a5ca7f18b2c8cfc49b9963b3376a39fa493ca9d6bed22464bbcb5e15ac0a88cbee4ac4a739e716d441387c3b9c757bbd37a9c6e42652b7e3b6776427134fca72a9ccfb33be49f7fe2e402f801e8d894a2a94399681c0b2508808882dc7ebd8c1dbdea23e1875eb8356ed630368c1710bfbf014b5bd258ff09d476f14bc9357bf8b76e6e10282010100cac3f28b5ad6c0ea8fd2556a3c425e58b2caea35346f16dfe5cb9b3ea3f748c6e6ce05fbf3ec90f91bb044ec07d5d4211901894d850ef3e2b5df550c907a8a02806302932f5a08f3b78b09e18eb4013838c7e5f6509f052e4136f0b65f339767416fdb3dcf5a5c50c24c4061bac23c9f37e0942000e3b5fecd225c0f1c25565d239e7d3029abffdc57567f87cea9958e9ffb9919d0473ca28fe6706f4b9cfc782d13ec2749ec499d39a33128c9aa959c52d83558ecf7f083a4a3cd54509b0c89a7310cd26076bca5827ef3477b0faf83fe09e01a57dd2a19561402dd43e14b41321b9a782bf91d3d6aeeb942d6c462612cda41b045657020dde01c4733e585b10282010100c94f6fecb8bcf53f227f657e02dfb21f8b908f811284f59c83e8d17c8b375232e3e4e93da8fe1328816584abc25792ada03375787e47ef2be87a80fcfbaa8f371124bc6bc987c5bed276a1ccdb402dab18acb3dee531a2f09b3ed7454e6ac4111aecec2b9c7c5381997dc564d973104fcaf83df2c4b0efaf1ec0e795c865dad0b47ff9a1f1a3a797e0e82bad1f30d5bc10e8775a3c548166ab72fcbb631ad2483ad99e3b285eee120441c7caf3718a95c28b3f75c2a587c0a74864b30e252d28f8ab19afd42b8866eda8459aa31eca227cf34b6dda35d6cacc257b12fa637f490caf510d360bd896253372390708446b7f400190c5cfd02e1e2271d409221e5b028201006f9da5aa287b06ff17e484b8522b869bf4efd6352b83eb679cab93edcb7c9847454e2be521c51b98c53126ff76e0b240f5eeee9209a8cd8002f5c96f7d28b747e13c9f723e22a5c2e34a5a4a1bafe2ebfbf5ae1505144459cdf45c5547dab2815878268bc3d4cdf476c05ac07179f2bd02995170bc8c9ce6822d63d7bd7aa02bed2b956629ca50b20e31c34a12ed2f32afc663e4ddce1906b387fa64898f053b7235014e2f572ebea9b7b79be8474acc1e9e7ddf51b2ba66fcfe5e4d07821248c40c302eae832e1d3dd47c3ee0f3257ed71cc08c3fc9b31ef74f54b4506578738f0dbade63f661ae296af7f85f1903bed25de2c311b06124f67e2392de727e4102820100027a96ef3c4b1f5dfaa7c4f12b49e3e09d90572408bd5864e7feeaed74ad66b6b7b5aee5927a26743e3ba8c990a811674fecb24a9c8b78377b325efa3e8318265e70ac5d4b6aff955cf41703f5c3318cc4ce039d00077f7125083e105d69d5263cc5a416d9637287cb031076307349452243b247960273c11d48d4d1345984bb432dbc3e314289a2c62335be78fed9f2e9e662e9da8a53d996cce0add20797854a2c39d592a6b099ca31a12b2f9a3b51a2c6a22e6a0a2dc4c28a92aaddc6b96aa2bd40a0b8a51c95dfe14d921ce61929198ec963fde6e1d1377852aea624a98195c566e319c245957bb9c9734851e2bdcc2056a498baf95e4802b6921cd6adb70282010004c58b4ee0dd660c4ce896764a96334fd6f7072a11f7880c74785e93376e9de725eb091585a6c12da217f42018f678207e532ee29219fb5b57e9a16fb80dc9721bc884f8199e7490ccbf9f5163fdb5fb1817a7764822add3a8a6c29dbefc00f2ed6bb0b7a6a35ba6625a388f26e2c75d853e80915747b9b52eddd120657d389b490e673527f2eab57dcae8b78e65ace402ee80cab354e71042d8f670feb367995f271f3a2baec0630e203038e443c6ce85341b4e1ba1368b3aa9f0450d2ecd946c6dce5e0262d625abc3547626ae751deeba9f26bfd0e46065ef1d65cf6c2d0e68ac5c0935ca4b8745da82eb8bb05173cdcd6c08412d7ceb66075ca9e9def889]\n\n# tcId = 57\n# edge case for montgomery reduction with special primes\nct = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nmsg = e76e5afed86df019226329b04016eb6b101e9bcf2f7b34be04cfdb343898d4f8a73bb5dfa6b9f6bcf1b83474ea1cf1c089131d976b90647175496a4cf94a75b08a0b2fade45792d65b7a98b16507c33c108af24bde91b7df288b8993951c346e2574867cdb1cd5db39f0041e0d090543d51318edb52f3b92261348a21b4650cb56f005a32a3e39f576c2478739f97cedf7301c39ebefbbe4d510aa597f4b0049f8a5e88be7b66b97796551db30fb14649a4a2d9dce4a69319f39e5ab86dcd10b08cfee312ab17d59e2918be12ca1939e444cb20d5afa37aa02d23e541103aed80a76f2ccff7636aa1df8798ca57f2d11075b3fed2387873e4180a6de9914bdfae366caf89037105d532102a7100268c87e9f7919864c6404d49c308f53dd40c4f2c4216b5e0c131f1a978bac16a2c7b3ee6212fb17e42ee69b3394e2c07264da954b322df42aac999e5032bab4e2511858c830954e61cba087a06c94a93e693081a706a4e0a2b9cee5c36f941866dfe6d801e9660e8bab8d6f175a263709a7ed266fd1350ef88b4ab913c1399d693c8e79deca2ce35dee6ac1ab1ce66f8fd12b62ae980e2c8ff75287cc0b5de2da592bbe367450ab9c75eeca6eeb2dcfd29f74863cf8b96e9c979da7b24982608fcfb1bd7c2064d15204ff678979aecf68660b6c55aabf06d4b36dc2deac172cbae6c7b68da108cf0b\nresult = invalid\nflags = InvalidPkcs1Padding\n\n[d = 289570d1efd7e81d9c47282d9aff621a9cca5b8cfa5c6bea60237dc62b9c6a023f368501a8e218e75996c4ed8d43d72f53d3f1fbd9d22189c40ac6dd2832e52921a2ed94359cd6d36f12239b9142c0804efe33b28129255b9ae6e6167aaa3a4afd039b85203c13ecf2f37b2d61d02c6b883e286a746be36f9db7a125eef09e5fc5f80cdf8c7c3e08fa94f96c4cd69c8a877c768ff3712137a141a0439089acb4f00ecb5b0dcd494eb248bdd699e88fd18e98e2c53a1c702969535c599f6ad7464c4144db51ebd98e547a567eebada1a104cd95f95eb48e7a28ee13bf781119f78bf734984873863e89dd7d378f7957a87e0c81373ce773632f746a70d3a596c7081d48a84fb1ee32aee06e17a2545344e51dc04da7be75d8b4128322ff53a95553a25b392303bf37ede32b2179bc81e790ec15f7e267133e4dd93d45b42383c29217cc0666b800e74b9e2c388930f1c31830c2f082fd5f1029c674593a3809a5a78ba3e5bf6fc32328e9497d1174d7c46217229ba4010fcd4beb6c998427f2e265c8ce1bcd367cecebaaa6e20dd311f10dadd5fffb8d2347eb41d2859cc0914681b954886ce23eff64ccf028d55901c47ffc65d7c36d91876a7b3cd7c2251480e4668f6d8651c326f4dcf83a238ea05d042b30b7fd746897264630428fecfad360ead48d0755b4bdd06213a8a61a5ec9646b84e9ef27066d7aeea45b2e3f8001]\n[e = 010001]\n[keysize = 4096]\n[n = 00cce9120dbd73e3b54c6198bf4b1f93f5908bf56a61da1938a4ff3fb28e8703860f2980336522097ed38c28caf32b1548b7b8cc2a33dec64002edfdca2d998c449c70f4b39e32430ff92ae3f2d7a75c995a7548d47824bbda7404c0c1c5295b897e1e4df5584d651440b2e3106dc47b4cda3ea6f1d0f2d28c9b1583c7335447f4b9b47a968cd0cb533de3854577e46a5df5910a945a967516b0bd5e0fa2dac9c65896bf9534780dce3644019099fa5a9bb2e4a6e531d0144fb576af3c4490a8d92d321e11a5bb976f1e3a700caa55f00997fea27e799bc0dcb965c8413d26c68064a3c9b692cfc5a96159fefec05a643a2d10f26cfd5ee940aade8245dbfea0b82c0d6c4d89e82750d802c3a0dc460001176fd06df97b2735444227be327cf6a30fa59b8dc7d2ab831e589745c5c4532921eac7d63d687994395a3f4a523b564cd239555fb6c2249e30299101943c62125f18f789529e554cc1ebc59f7aaf839e5e4e8ff67628fd92763e064e74d8e7abb020551759b51fa99ab67de493c6a1dd527d476f074fe1f2c5d8c6fc6175a322a4dd122918c21219868f8610877c0bf535136e6e2cc006f41897ffcd1a8234470c1b523a2a2b29ff8126470107b5ddf335cdae88ccc27bc4f98bc4c7b50ac2a86c3466d3dd8afc788bcc663ae9751b6e3f6a5fd85f5192124b1cb9ae348f2206f0cc29e5bdfe2459312a9e5ac71eb741]\n[privateKeyPkcs8 = 30820943020100300d06092a864886f70d01010105000482092d308209290201000282020100cce9120dbd73e3b54c6198bf4b1f93f5908bf56a61da1938a4ff3fb28e8703860f2980336522097ed38c28caf32b1548b7b8cc2a33dec64002edfdca2d998c449c70f4b39e32430ff92ae3f2d7a75c995a7548d47824bbda7404c0c1c5295b897e1e4df5584d651440b2e3106dc47b4cda3ea6f1d0f2d28c9b1583c7335447f4b9b47a968cd0cb533de3854577e46a5df5910a945a967516b0bd5e0fa2dac9c65896bf9534780dce3644019099fa5a9bb2e4a6e531d0144fb576af3c4490a8d92d321e11a5bb976f1e3a700caa55f00997fea27e799bc0dcb965c8413d26c68064a3c9b692cfc5a96159fefec05a643a2d10f26cfd5ee940aade8245dbfea0b82c0d6c4d89e82750d802c3a0dc460001176fd06df97b2735444227be327cf6a30fa59b8dc7d2ab831e589745c5c4532921eac7d63d687994395a3", + "f4a523b564cd239555fb6c2249e30299101943c62125f18f789529e554cc1ebc59f7aaf839e5e4e8ff67628fd92763e064e74d8e7abb020551759b51fa99ab67de493c6a1dd527d476f074fe1f2c5d8c6fc6175a322a4dd122918c21219868f8610877c0bf535136e6e2cc006f41897ffcd1a8234470c1b523a2a2b29ff8126470107b5ddf335cdae88ccc27bc4f98bc4c7b50ac2a86c3466d3dd8afc788bcc663ae9751b6e3f6a5fd85f5192124b1cb9ae348f2206f0cc29e5bdfe2459312a9e5ac71eb741020301000102820200289570d1efd7e81d9c47282d9aff621a9cca5b8cfa5c6bea60237dc62b9c6a023f368501a8e218e75996c4ed8d43d72f53d3f1fbd9d22189c40ac6dd2832e52921a2ed94359cd6d36f12239b9142c0804efe33b28129255b9ae6e6167aaa3a4afd039b85203c13ecf2f37b2d61d02c6b883e286a746be36f9db7a125eef09e5fc5f80cdf8c7c3e08fa94f96c4cd69c8a877c768ff3712137a141a0439089acb4f00ecb5b0dcd494eb248bdd699e88fd18e98e2c53a1c702969535c599f6ad7464c4144db51ebd98e547a567eebada1a104cd95f95eb48e7a28ee13bf781119f78bf734984873863e89dd7d378f7957a87e0c81373ce773632f746a70d3a596c7081d48a84fb1ee32aee06e17a2545344e51dc04da7be75d8b4128322ff53a95553a25b392303bf37ede32b2179bc81e790ec15f7e267133e4dd93d45b42383c29217cc0666b800e74b9e2c388930f1c31830c2f082fd5f1029c674593a3809a5a78ba3e5bf6fc32328e9497d1174d7c46217229ba4010fcd4beb6c998427f2e265c8ce1bcd367cecebaaa6e20dd311f10dadd5fffb8d2347eb41d2859cc0914681b954886ce23eff64ccf028d55901c47ffc65d7c36d91876a7b3cd7c2251480e4668f6d8651c326f4dcf83a238ea05d042b30b7fd746897264630428fecfad360ead48d0755b4bdd06213a8a61a5ec9646b84e9ef27066d7aeea45b2e3f80010282010100fdec846eb4fc015c4325eb2e6e410347ef88563bf4f99be2dd867e8c0b20d5848ed779011c804b33c961c2deaf1cdd29c846b2beab7e5ae95121c0fb7aed00d09bce4cdab21c9d75e26f0610049a913edc27d826ae374d0d4687e9f7d2c615350c92c49b522db586de297428d1446ff6dd5cc65b612bd268f9993cee2cb475062d996ee713c15650971979e06dab3e1723909279b85b9101b4189bf5f99a0f41285bc9b978ae5a478eea34da81b0442b2152d7bb3837e775ac2846e2e164e67939afb5d46661a3a3bf75a333a06a32ff15760035252acace2dda37a5b6ed6fd3921460c220b42812da5fe8ef80445159e5ea9fda96c9e9e232c894f833e0c5c10282010100ce95f6d4044a9f32b9e13e87b8cefe97b2db753caab9eb6d58132a8bf62899cd62704715f93f8e636d5bf286b4de9ccf68667d9f698b062f2f6395c26350124ee48fd55aea541ecc8b27cf359da53a89f26aca00260fbd1d25e6614d46892ff9be93ba9a94ec5201bb55ec825b3317ac1bd37acc90b3d3df48a9e7cc2e660e06dc16f813491ba3785be1917e509f6768c2e0fa2a92b5e428a797b2a79ffc0f56fa7f312ce79c5dd475deec345cab4c8a03897cdc02ce7a5fa015495919d5c428a17b8a04fddcc09b3103f6febeb3428375faf8a9a4a52ed58ae3248c840871c534463079a624f2548a8974f10070e6d950d6c8a76f22219ab44d61a0b089518102820100280a097fe36df150f90d9b9e00a8a3b9ce1d736b94df5f2350c70a614ec7e8a3345ae9abb130d1aae2d055880398cb8ef113a4cfc7feee9ae7be28cdfebe2c68b888b939aae83434087675404559921995617b05ee66adf1aff372832f6b28a0ead0a1cbd4137d123d29d035377a51255e1668f8b3c3d333d657c171d4fec78d27d78fd3441c325e16d55f9071fa9499d573d084fcfb034c7f7779f039617f9248a8e0902c6561baf2e01f616d1dbc4208c9255752300e81519a30434a433ccc54ba4e33a5c933a278683649c7bbb73addc97392edbf67a74737a79aabd398d485ae4ceb8f7898f1101a1b82d878ed52fd9c1784c24e2861109cec508eed9c810282010100c5d369a821ebeb8341e8e65e45a542bbb5f4ddd19893ad54ea30805fc2fba23cc1754f3d458f8d24bd467d7a6d9d77804e33473cee6ec91f4a3c0cdf3707286110128477294a20ac32dd8e59837b0411b1687dc3a2af13a3e3f5375c2e9d94a98dcc1db785c0bfcf14bbf55de74387f9b233d3b62d236752bc5ca7b22904658e401866bae1196c7307597c5fff88861815f626d9b9e0207aa5f2688c887171a712fdd5f3705f96a2abb52b700105b0a7c13759afbda8481b664abc106ce2fd930300306d1344dfd43d1dd4daa1773bcc73a03f9b04258231cf6c3045b6f1f730a71c47b3565caf0a3217eb3a15f807b836e75702af337a06917e406d066099010282010100c241ef6ff7630daae6a81e55b0388ad8c0bf29134b5fdfac465080ece3f5808e3602a7dbfad58c88d4b34d78036ec124fc8ae4d03aa328c291008ca289e58bf4ff181a9d56e6689c37b923d1b07da1bca29a046f67ef070d09abe621b97140431cb207c89342779f891cd0299b8982a3aee8265aa9c55b3ce6c334e4eee3a67a4c0cd0d357f89bd707383f2bb066120d39aef6e4f87cc794cd13514f601f41b060337fdd4964c0c5683820cae3bec2406369fa1b92b7fb961215b24289084cb6746046d2f538391f365446eb226f73bb1b70e4e4503a5a7d2f169aff410e7d167651825c68793520e3daa0b65f68829f6c2844cd8eca4d9885f13b3dcf7d0f7e]\n\n# tcId = 58\n# edge case for montgomery reduction with special primes\nct = cce9120dbd73e3b54c6198bf4b1f93f5908bf56a61da1938a4ff3fb28e8703860f2980336522097ed38c28caf32b1548b7b8cc2a33dec64002edfdca2d998c449c70f4b39e32430ff92ae3f2d7a75c995a7548d47824bbda7404c0c1c5295b897e1e4df5584d651440b2e3106dc47b4cda3ea6f1d0f2d28c9b1583c7335447f4b9b47a968cd0cb533de3854577e46a5df5910a945a967516b0bd5e0fa2dac9c65896bf9534780dce3644019099fa5a9bb2e4a6e531d0144fb576af3c4490a8d92d321e11a5bb976f1e3a700caa55f00997fea27e799bc0dcb965c8413d26c68064a3c9b692cfc5a96159fefec05a643a2d10f26cfd5ee940aade8245dbfea0b7ac0d6c4d89e82750d802c3a0dc460001176fd06df97b2735444227be327cf6a30fa59b8dc7d2ab831e589745c5c4532921eac7d63d687994395a3f4a523b564cd239555fb6c2249e30299101943c62125f18f789529e554cc1ebc59f7aaf839e5e4e8ff67628fd92763e064e74d8e7abb020551759b51fa99ab67de493c6a1dd527d476f074fe1f2c5d8c6fc6175a322a4dd122918c21219868f8610877c0bf535136e6e2cc006f41897ffcd1a8234470c1b523a2a2b29ff8126470107b5ddf335cdae88ccc27bc4f98bc4c7b50ac2a86c3466d3dd8afc788bcc663ae9751b6e3f6a5fd85f5192124b1cb9ae348f2206f0cc29e5bdfe2459312a9e5ac71eb740\nmsg = 4968affba621d99a546d86aea60e00f65d72fadae94162b03663df296ddd98c47e9604089657994b6b07b39d42925ee7782e2953f8e769afd6e2bd567b55572c84b4c5a6321ecbd280f4c8732122c1717c3a587a7b214b8ab9bea33d43bbb8795add9f3058c403465061b57b13663aebc2665bd7ad179481bac3cd871c460e9724bf1a959b82ee713952cbf629b7b33ebab4beb1b6c57142e85a7b671896c8f6b79335039cedba47c077e9ef7dc7ec6d59a03c344b\nresult = valid\n\n[d = 08c8d109ba3ae6a4336f70b74de0febaa8446ef6156097252c97bed6c0ca50ac1ad81ffa194286b3b05325025fdaeb598a38d8052a1e071c5de23ee545fc7c9f72423570487bfd0504356e955770e11295a7c6071138f58c54abfc1dee2f7b1b52dc294126b44cfc3f26d2b5eb88f3cbf5c5e852c26ee431ad4024a03559a04a10cb93da75490aa3a395f93016c5961a029d9409363918b3313bf4b258e37f7a6ff481e8a814132b4f62cbda155dcc2e4080e346768704199bce9a1b139e3f39160a326c59778ba460fbf7cebd04709f64048dac66275ed6d1936c66095a4172be0df278ad06fefd427eab2c18c2eadb3f2a04b56d01957ad41707c58ff10ac1c3e045daabc427db29661220ef42c059acf9fea5a8a616e37f32d106074dff98b44612869cefdfa2626e77fa759931649a5497f8fd6d965631808bc320bf5bafe7f78108c6b689bcde18409351052488768f0da8e286e41c69eb109208ce4c875d3e1b83d1c125ebe3aa87bd9dd2fe54fd761fb27f5dc728b34007b495287bea6254b90ea218d38917f1a3f78bee8c51ca881fa9ad24dfd76f59298da1454944e8872110a628215deeaeafe3c4325e1800280bb9bc6421515299bb932432f28e849d79ccf23126e29453fc9bfc05e145725c6fb749d327351b49dd77bda6d83a569b76e833bf28a804ed5e6c2e3a58a576945e96c08e4c0fd94fa1c221e091]\n[e = 010001]\n[keysize = 4096]\n[n = 00e0e2950ded4349829b906a46426e0f90b31bec406f11409392e457d9901b58a45a05e1d2860fff0580aeeef3afbab872283d063369eb52a3b30fad8d49c6a9317cf72b72fe06f34cec3eade09a38d9f245d5f7e25333e0876c08143107bdbaae32593621988b91a79d1b62dfd316554a8e9635aaacf7100e8b61c9a298fbc391b55d43cdb6bffe116c2947019891498f458f10add36e4ad43183cb07c22f3c97f17e961dcc791ff041691fb01f30279ade5060bc2e25dcdcca6bca915f55158886ba72413063b5fe1008e112151e29fba9fe91b1fb93b304d76c98f22cd447b326780d76599133a025fe2aad31805c9dcd5396582be6a60a8e95fc759242ab7cf0152e1b56e0aa8717eb462662ee365b2502485ab1f673cc74e65fc163ecab10efe1157ba872244a61b307e20e12e85cd3a4ac1757ea21c4a694935f41749e8b1ff5413135ee0195f665e34b36f108775bf11d7a84dc4cbe984ffd7b135d69e40e47dcfba1b8cf5e14ff29bb375edc5e66695b3c9aff2add8a1952c9d1d60fdca3b94e38e6b55164ca503d454b8a6fcfca30e95fcf8c1dd47f864717ebd2a50c64ca0632bba5ce80bc6cf1750d6dc294985cf160cd837e9e9eeadd8421901d86dbd50bb1ce2611abf5292744be25a90d81d8bccdb87fb9745ea0a003cfe84c3e4b4c7e26fa04d8e317ebed945ff4cd71f2120e51cafd41ec6874648c04f89a4f]\n[privateKeyPkcs8 = 30820942020100300d06092a864886f70d01010105000482092c308209280201000282020100e0e2950ded4349829b906a46426e0f90b31bec406f11409392e457d9901b58a45a05e1d2860fff0580aeeef3afbab872283d063369eb52a3b30fad8d49c6a9317cf72b72fe06f34cec3eade09a38d9f245d5f7e25333e0876c08143107bdbaae32593621988b91a79d1b62dfd316554a8e9635aaacf7100e8b61c9a298fbc391b55d43cdb6bffe116c2947019891498f458f10add36e4ad43183cb07c22f3c97f17e961dcc791ff041691fb01f30279ade5060bc2e25dcdcca6bca915f55158886ba72413063b5fe1008e112151e29fba9fe91b1fb93b304d76c98f22cd447b326780d76599133a025fe2aad3", + "1805c9dcd5396582be6a60a8e95fc759242ab7cf0152e1b56e0aa8717eb462662ee365b2502485ab1f673cc74e65fc163ecab10efe1157ba872244a61b307e20e12e85cd3a4ac1757ea21c4a694935f41749e8b1ff5413135ee0195f665e34b36f108775bf11d7a84dc4cbe984ffd7b135d69e40e47dcfba1b8cf5e14ff29bb375edc5e66695b3c9aff2add8a1952c9d1d60fdca3b94e38e6b55164ca503d454b8a6fcfca30e95fcf8c1dd47f864717ebd2a50c64ca0632bba5ce80bc6cf1750d6dc294985cf160cd837e9e9eeadd8421901d86dbd50bb1ce2611abf5292744be25a90d81d8bccdb87fb9745ea0a003cfe84c3e4b4c7e26fa04d8e317ebed945ff4cd71f2120e51cafd41ec6874648c04f89a4f0203010001028201ff08c8d109ba3ae6a4336f70b74de0febaa8446ef6156097252c97bed6c0ca50ac1ad81ffa194286b3b05325025fdaeb598a38d8052a1e071c5de23ee545fc7c9f72423570487bfd0504356e955770e11295a7c6071138f58c54abfc1dee2f7b1b52dc294126b44cfc3f26d2b5eb88f3cbf5c5e852c26ee431ad4024a03559a04a10cb93da75490aa3a395f93016c5961a029d9409363918b3313bf4b258e37f7a6ff481e8a814132b4f62cbda155dcc2e4080e346768704199bce9a1b139e3f39160a326c59778ba460fbf7cebd04709f64048dac66275ed6d1936c66095a4172be0df278ad06fefd427eab2c18c2eadb3f2a04b56d01957ad41707c58ff10ac1c3e045daabc427db29661220ef42c059acf9fea5a8a616e37f32d106074dff98b44612869cefdfa2626e77fa759931649a5497f8fd6d965631808bc320bf5bafe7f78108c6b689bcde18409351052488768f0da8e286e41c69eb109208ce4c875d3e1b83d1c125ebe3aa87bd9dd2fe54fd761fb27f5dc728b34007b495287bea6254b90ea218d38917f1a3f78bee8c51ca881fa9ad24dfd76f59298da1454944e8872110a628215deeaeafe3c4325e1800280bb9bc6421515299bb932432f28e849d79ccf23126e29453fc9bfc05e145725c6fb749d327351b49dd77bda6d83a569b76e833bf28a804ed5e6c2e3a58a576945e96c08e4c0fd94fa1c221e0910282010100f08b48dedaf83aa6c1ba641d8220f6e3336a2d23ce153d075ff6a4ef4aa457db45205ec73421762206924e0c872965099c672a4c6069dfa98f9e0d115619be208bc89c118d95ac1f896caef01c703f1cf0a0e505f250d99d476b0889e2e1d5d13bda462a8604b8225f30cbc8547a9eb3602c1c28050cd4bcf6877087757a1d68a00e193d2bbdb4d87efef35ff8c97c3730d812b7f82e1bc4127ba706e532872f01a6c445a3ddbaaab693dc3e341962b2a958908c293fde5818ff16e5394591d39236b80f57290d2aa3d3e455775b0f648eefd3a0e74e732dc6a4a4187b2a3ccbfcf672b6b4f9f0d24f638d8e92de1ca5f1f32b8d7e40066da1e0f879eb9a16f50282010100ef55b8f11f39acbe9c77baef23a21639cfa08b3fc2b475cfac4e1b8944146f56e1466f094eddd2bb597148f0f8259d253e5213a26d3e4820b4b065efde4e6ee3d03bbeb21536b0527142efffbe7507fe1c29660fc0f795ffe9bf1ba1da0ca51b71e1836c94ce85edf3906d22546e39ab71ed87d17ab8157abc4bfcff7973d6f763c211729d6bd927f23e7f60888b538fe9f49e79c2b64f3bb4fb55c98b22433ecebbe5f2c54db9a137c939c4d71dbed8823663da3ae0a7baee6a5bbbbae1dec0f86b48fe10c74f54ff13915669ce122095ebe733dcf2c57324e31bc2381578ed9f5b17df344e77590664d7115609340413eff80dfc3bf87b09d3ea4b55e639b302820100503551962613d192db54689fc24d75a5aaf6439905d5e524b96607f756bf5820607b7bbf16edf5734117b5f8cd750b20da4b383a8187ac31e116c5aabb381842c7f99bb8eaaa36dbc93a39570d548c66fd01d97c53218c7eba5ac15d210f46f9dee858af4342fd97508077e313f0534ce2cbb293d1a346a8bfd7c7b9137e25a246848cfbedc2f333a19d27d01fa827c84b7c3139b102c6f569685bf89ba26e9b4904afbbbcf9698e151556c2532307db2546c7e444b8ec4e19ffad45c00427ad11bb3742be408d0863da7aefd8bdbf733b8a52d9fb671856f23ee20cdbbce8cae84dd1508526369c1a26cb03f88b21a85ff642d68a7b94e927aa599065f45aa50282010100984c8c6ba3db27ba04078cc5307fac750d52b449d6b4cf635fda345b9d1f03dadd6fdca8a7af30b257b0672230467f417beeeedfa574c4a14b5a1504170b0235a604decca4033120c5423b471b038e1a7e013a193c4a510190d533d842d1591fa5d043b98cd7ff11f4b42b3e754bcf16f2609cd508aaabc076a24454ae0cb0f6ac5c8a8dccef1c38f7461df867eb81394b3f86b924d6ae84e81e27f120c0a4da0ae436e7cdf62ff20f75d575150eb0ab45f12689707e153e37092766c6fd84aa776a8e005edcf5f6b87ad339920ab82e5438d1df86f2560377adadb461cc082fee0021a8bfb84eea2fcf6bac747b56c661898ae81b626e349d8464cb9bd5ed51028201010089f993c420ba90f4352e0937e4f4bf99d6a5be75649e1004ec094f918e9122db4e22702d3691dab6cdbeb3644038eb43e32c7ca6365f73d7de2013a8004ce3ef4b70f4aae2d4d5c377137fb179c9a007bc3074451454e09353aa0ffe3a8b6bbe5b7aa2cdba2618db38c600e6c9333037741a9444d4176677a67a262eda336af53e9dbf350b495b314b4a04dd2c5b20aca01084d22a45a4d5405f6056c88b9a71453205b1e01876dab4102e8778160dd341af9bbcc4df6634a78d6552e69f45cb814dd5c535a416d582ffa7ed4abc6a8d037339705f10f8dd1b1926e3439c3c5d9db46788ca38c011e589edc4c0c2a228f604a8cac610ea282337dba921aa3daa]\n\n# tcId = 59\n# edge case for montgomery reduction with special primes\nct = e0e2950ded4349829b906a46426e0f90b31bec406f11409392e457d9901b58a45a05e1d2860fff0580aeeef3afbab872283d063369eb52a3b30fad8d49c6a9317cf72b72fe06f34cec3eade09a38d9f245d5f7e25333e0876c08143107bdbaae32593621988b91a79d1b62dfd316554a8e9635aaacf7100e8b61c9a298fbc391b55d43cdb6bffe116c2947019891498f458f10add36e4ad43183cb07c22f3c97f17e961dcc791ff041691fb01f30279ade5060bc2e25dcdcca6bca915f55158886ba72413063b5fe1008e112151e29fba9fe91b1fb93b304d76c98f22cd447b326780d76599133a025fe2aad31805c9dcd5396582be6a60a8e95fc759242ab7cef152e1b56e0aa8717eb462662ee365b2502485ab1f673cc74e65fc163ecab10efe1157ba872244a61b307e20e12e85cd3a4ac1757ea21c4a694935f41749e8b1ff5413135ee0195f665e34b36f108775bf11d7a84dc4cbe984ffd7b135d69e40e47dcfba1b8cf5e14ff29bb375edc5e66695b3c9aff2add8a1952c9d1d60fdca3b94e38e6b55164ca503d454b8a6fcfca30e95fcf8c1dd47f864717ebd2a50c64ca0632bba5ce80bc6cf1750d6dc294985cf160cd837e9e9eeadd8421901d86dbd50bb1ce2611abf5292744be25a90d81d8bccdb87fb9745ea0a003cfe84c3e4b4c7e26fa04d8e317ebed945ff4cd71f2120e51cafd41ec6874648c04f89a50\nmsg = 7264a92eddb703ef8771d6979ba12768d99c5b2ae7c434d9a142ed30d703bcc62883dd796872155b698ac16798a3077b1b60c7295d704e8de8617ad45d65214989c29b1ae55a956712c9e695de25eaf06ec04537788e06833b8154c7fd68c0b216f69f2b77d316c73973b1e91fd5364239438ee7e0de90430db846010aab7a9020a768b3fe2742818b774cfeaca03841a0940a6168d10808d468de46a94e3eb23b32542451f5bbd808644935431652ed08a09cea068a301b252847b90a4a86eccdd44e09b8c9dde6ee45be4d5e7a90adc749b26965d43eb10b34790846729924497ad8b9766ce5c771483c6c51f4d3b9f51f7ff98ede6cc4db1dcbe018bc0f9291784bf6560efb37f06ead8ee973089b10c5f8d5fe2656ca73c500076d9ac9d2e07b6c4734adc77b602eb62f6cc5f5dbc42e072827b29abf1c5a806ed16c171ff2f84348c8ff0772940ad191cb30a21f816279607ca5c48cdacf15fa3abab24e67dd7e80bce7b1e6977c95eb57c2b1350fc746234493518fd48828f439a2ca799bd37af7ad11833fdb113362e5af7c731e524e7f89bb97c4a1\nresult = valid\n\n[d = 38d60d53a382879da55320c15f0d04a4f027c1792ada3817fac6a01dd324843f75f395c38f24b1b29cef9b63c74aeb1bead253d3d6850727e8aaefefd3e9f6d9f3db0efa524a4ef3616dadac155da12ea153f36e1c4a8ef4cb9046d20ab71777a99a49789472ea26648776f8b7c689c16b0bd4a896c1d580053761641babe444cf1bf1007c3adfa856bfbd930f19358c45d0498dad98338d1c70d871e9f0576a320c0483daf7f5f186f62b783b2ecf0d0963b484b1aa9030758ba1bacf510f6ec018cd4fc0875ea3c8194c04c6cbc9396943ae4a3054ebb5c5ca72ba48aa5d2815b4b0ad090e8f2577bb9d6ca6ddc30184d96b5f97538ac8a2b6bcce5b7dcf665abf4d40ba12cc231f7de9ec24be1bed01efbb90a4e1ed67bfe430b2c97faea6383163f6d305835ee7f8b692dfc14bcfa5a3b8fe7d5c6c6c28cefee29f6d0fddc5792315f016a25d86232759a2027f15e7cce164ba95695944f4aec1f1dcc6dcbad705f50efb86bff285a2e23838414949f5ce49a318b9f633f9ba21245cdc7e122e2a7ceb39b48b480c3b2bbd5ab0b020bf1a4de6299b4cfd3b1cb0473b6602dcdbfabdaac6f72c47d2bfd668a9d4dd375e568f7ed74e0d0937c7d81d1a9d370fd0e712dbb908ff65c0a52264802bdb7313590ecc6a254d8eccf19ff6326c37d428a0e6ad7af4c1d672da7d9b1f46d84a5863c3694af9416531c0915b5db3e9]\n[e = 010001]\n[keysize = 4096]\n[n = 00abc99f0a9fb85911f8011c5a6f753309f659b992cb3ac5a494b2b09b513e9437e4eda336ec3419a2b064379ff95f7bd91bcea208bdab6a1dadee6a5ca1c51e485bc59d6ea142a98995df491148ff00bf334241506f2d814f0cf0d54cb990684299e8a2c640e7f50f1bc76adcd65988eb561887c78ee01105f276732787628c4afcc922f6cb2e994f490c332dc210fc40506eb0abfc9f365042a8ad8a6975625dbcb49f4aa57432c9133aabe83abcdbfa01ebe1731479b9203d8956161729ac86a2b630d08634abb417d08a10de8906bb65f63e19bed75fd767461ff4fd3badff59594c04ca4fa6211da29fd6dea0c16dcf767b0f21e2dce6c37bff723b331eedf56bb379272eca933a622f32365ac97e4fb66d65764bc8f3cf0571986a734632d8c70c14125817bd3d30c3f20a3417b78ce8a57d273049cd6a8e98f6b2cb87fdd0ae7581864add7b0eedc8e8018b85644c02ecf2a55d8819d16ce5dfccdeae79e7a087f08111b51b6a362fb0c484af52b190a2b149288e8c3bda53b38dfbfdb23acfab85ec86ba593d8e246d32f78c0b20bc479550ee7c1543ddb6a9905bd24ba63248292b3b744d1dccd72fc179590b0fef0cce9b89f4aeb428a1b160701e8ee77388ac5544d8bb8e432be51f9489bf12c3aa3f63293f7fbd1645e3f0c98d38678bd932e533a137c360bd", + "a91440008f9cc57f52bb86aefd6bbf9547312c74ab]\n[privateKeyPkcs8 = 30820943020100300d06092a864886f70d01010105000482092d308209290201000282020100abc99f0a9fb85911f8011c5a6f753309f659b992cb3ac5a494b2b09b513e9437e4eda336ec3419a2b064379ff95f7bd91bcea208bdab6a1dadee6a5ca1c51e485bc59d6ea142a98995df491148ff00bf334241506f2d814f0cf0d54cb990684299e8a2c640e7f50f1bc76adcd65988eb561887c78ee01105f276732787628c4afcc922f6cb2e994f490c332dc210fc40506eb0abfc9f365042a8ad8a6975625dbcb49f4aa57432c9133aabe83abcdbfa01ebe1731479b9203d8956161729ac86a2b630d08634abb417d08a10de8906bb65f63e19bed75fd767461ff4fd3badff59594c04ca4fa6211da29fd6dea0c16dcf767b0f21e2dce6c37bff723b331eedf56bb379272eca933a622f32365ac97e4fb66d65764bc8f3cf0571986a734632d8c70c14125817bd3d30c3f20a3417b78ce8a57d273049cd6a8e98f6b2cb87fdd0ae7581864add7b0eedc8e8018b85644c02ecf2a55d8819d16ce5dfccdeae79e7a087f08111b51b6a362fb0c484af52b190a2b149288e8c3bda53b38dfbfdb23acfab85ec86ba593d8e246d32f78c0b20bc479550ee7c1543ddb6a9905bd24ba63248292b3b744d1dccd72fc179590b0fef0cce9b89f4aeb428a1b160701e8ee77388ac5544d8bb8e432be51f9489bf12c3aa3f63293f7fbd1645e3f0c98d38678bd932e533a137c360bda91440008f9cc57f52bb86aefd6bbf9547312c74ab02030100010282020038d60d53a382879da55320c15f0d04a4f027c1792ada3817fac6a01dd324843f75f395c38f24b1b29cef9b63c74aeb1bead253d3d6850727e8aaefefd3e9f6d9f3db0efa524a4ef3616dadac155da12ea153f36e1c4a8ef4cb9046d20ab71777a99a49789472ea26648776f8b7c689c16b0bd4a896c1d580053761641babe444cf1bf1007c3adfa856bfbd930f19358c45d0498dad98338d1c70d871e9f0576a320c0483daf7f5f186f62b783b2ecf0d0963b484b1aa9030758ba1bacf510f6ec018cd4fc0875ea3c8194c04c6cbc9396943ae4a3054ebb5c5ca72ba48aa5d2815b4b0ad090e8f2577bb9d6ca6ddc30184d96b5f97538ac8a2b6bcce5b7dcf665abf4d40ba12cc231f7de9ec24be1bed01efbb90a4e1ed67bfe430b2c97faea6383163f6d305835ee7f8b692dfc14bcfa5a3b8fe7d5c6c6c28cefee29f6d0fddc5792315f016a25d86232759a2027f15e7cce164ba95695944f4aec1f1dcc6dcbad705f50efb86bff285a2e23838414949f5ce49a318b9f633f9ba21245cdc7e122e2a7ceb39b48b480c3b2bbd5ab0b020bf1a4de6299b4cfd3b1cb0473b6602dcdbfabdaac6f72c47d2bfd668a9d4dd375e568f7ed74e0d0937c7d81d1a9d370fd0e712dbb908ff65c0a52264802bdb7313590ecc6a254d8eccf19ff6326c37d428a0e6ad7af4c1d672da7d9b1f46d84a5863c3694af9416531c0915b5db3e90282010100d1d7ce5fc48ae70eb11022cbb3a05d86948acfad2d450345c4f89e4ff28c0e5691d6fa0c99065e3dbd76406bcb9fde0557d99640e5914f3f87112b264fa8480b0715ff298f6d640e62c33609e988224fa879955cf4cbb32d3cb16232bf80e2ce82cb266e256f61a74fb0f0de661945d5a7bd03b4e52482bc9dae0e982ddc9017915568898863c9caad27b5aa2f919fac4663a7bfa14d78cc996e0de1010e40b5df75971228666785e80f9e9e3ff4191c4866cd3ba6418a39e4e9fe9cd6b005423796cf3861f6ac50db59d61fed6aa1da6135d5b9f674bfc5153ef9f52fc7590ad5e6d02c46b26bc15022c11f8817d48ca1a359b54492247b76a3e12308d59a650282010100d192ed41d1945c58a1e9b8b1189ecf6f9a9f7aa0653cb973bf44bee4bf9c38bf42353e25c1f8ec640e7f402650190aa8e5ff8cd48b4252f148e1d8c2fbb46e416115ec5633fe0b052bc345e44cbd4d785282d8a5617cf8711aecf08f4dea6d05d2c13ac871237af3d2abcff8ed761a4ec7155e5109e482a4e4147782a71d78503ce0f5587019d3ea1dc9dd424df980fe210a6ae7fe0dafa0bc617e13246c3727f73a6973cac78530891dbe34409e0f8c980d42d2a337e65c7f2fe3d70cef79779a6905adacba3ad0cae0ccdfa8998525fbf5fc42952192116e9beab20f1491df0d259b6f3858f83387511a15605221ef1bc22bb5a7ce5125bb5050f11e71d9cf028201000bb73bcb7702b651c8aaf8f65c8a088eb9fe6207ee2e1b37aafea2801e2f99a155b525f2cc1c61e89a8a5ea06616ffe3567b4c7b4515eed1c22dc035fc5e8ddf27bf1fa6e75e192700769baec3fe18c44fc8b201259db5dc41b639a051b6d572e8348569c2e74c11764e8fb42b092030049475ff84879c510190b539e3dd9ba1e5385a84cb3b9f0994cf51c235b3b0b182a08fbe10386e15263fd1c08d39897d5e0387b2b8d4b6d4f016e72938b2dd300a0ecb489848b279f700e57946373fa3e9cc9eb72c290487e32749e0307632a129aa42cb862a1086e55fc5beddb30892a54ca4b4c421b4086ffbf0c25cebcfaf265b23680e73065c6a4c4e0691b8b34d0282010100a51bcc2ffe9d93e3802c5285b38fea7d52a432480b7a3be124df5445836fe0854df404725acf71eda23e3e9bf09ec9f726bc9e8714efbbc8bc52b2236b8a4b12d71a1e880b8e29c07929eef65e3f05b9b5c7c0470af71a0481e209e3dccec3f5c284d97af127b2c645437725f66f056aeb0dbab0bdca79e2ce8e1159adaf5a0a5cec1e5efe725ab227a5d1db5af326dd0fcad54ed0a897a55ac4b43f008301314b65898ee043307b7c8b223ea869de763594bd0095f684567b1d8fb2ed4dfdb46cc230e7131de51879bd81aaf3797f9cdd547ed93604acbf6f15076220df63cd06de8a06a5adf25d264e8eee28648cb784770558a84bb342b6c02004d6a77ba1028201010082760f73bc0c2a1ca2fd43611b8ecc0bae83d2540f8d0d4b589a1a9bf9240e814e4a8b55925f0b4d3cf174421f306e11616a1a8810c800129df04d4974b4bdd7c3f36d75e715e755cbe5b223027410d3c235a21e202b96946b0eafe8115e651e72dbaa538e077f2ca349493acf3c6f3f3fec50572411be4310d081758703d65d47233af85e289bdec0768aaaf803112878b37eadff1f65e5628a988fcbdb2e37d832a8a4b2a0f2bd67f967e957779cf5e7fdf9893e7beb48abae65f1859169c7d25aa49641c9458f30bead48fc2297410e38e600fa5e2903d058632c293efdd35423f29ac38f5528888676628babc0dc3c99286cdcbcd377ef96e591fc4eb13b]\n\n# tcId = 60\n# edge case for montgomery reduction with special primes\nct = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nmsg = f20a01caa15256f2c729fb2b54f4092b091fba4c09a5d7bb2562047df86727fd13e001b48169f6c947919196f6d2c4ec0441bf08dfd17a3232f29d19c28f266b78701d997dcc098457a10a3e0519f512528f5dd753be925d3809c85bec058020e8d9b4893f06db87b700df73b7c64a9b6ef8ea13f765ae93d8797ab28355c66edb7268c42bc883843f0341d6bcecf198d84cf320993c8ab1d159599ba00481e6237842b619c2c3a0d477de348c6250f0c9e535fb1dea0e273e518b3068f63df510da78c33745c992be37755a8142d7f0e2780c675246d5ff82268ab8eb63770ef5a8c1c18cf69822c2a43028a8abb893394296318e9f3600c9b6db742cd8aec82232fc4485ade62d48ec4a762d88479def21fae798b76b0414f210e1be08dc746c4b190ee7b9ddd17e7157713f43e25638c2654d1831e1f38aa7baffb8ade3b9f97b104ba9ccd0162568f703f9fdd5e998885a2c76cbf5b199ac82a4670d9ec9c619f3bd343633e7cafe73f25cc181fe9f0091b9ddd756ea06ff6b27582309fb31bdbceb15951efe0f0452220c26dac00ef2f7e20ff160b7f5893d7fe458d52f748fca03df14e2\nresult = valid\n\n[d = 2deb08d4321c7cb6d473fe8d8f3fba1dfd846fe229cfab5f8d39b486cae61f6dad94f7decdd6ebe0eda1c2706f4642bcf595f61f45a36c6d2d089cbe6d4be43ba1eeb0412e553e8bccfd4f4bda4f024b8c7154ae066034ea2734ebe8ec419f22c04f668c5ce59f154ddac8c84361992639a9d950d4eec241fb1ddc394f45b10e8f0c187c544c7409fbe6d4f3be125038f3fe68893aa809e7a9717a7518a870638fed81feb8bc5848542e357632544bf29c768684a8891a22f2dec8ecb280391b3a236cd7cef14151c0e3c41faa198c94da85e69f20687c1162daebe3d506c0dd8af2fbfa59c1698dd7675eecb08c5c69cccc5afc208861178492f05123992a746d5a4bb18c1a7ebcd0bbb2f10d9c7aaeaf2e3827b390ef6b411a3d8d544bcb23cef2e36ceb9bd7bdcec4e7458505517b5c89c1a5c1a503ee4091d1e8d83590ac4f58a9d7cc430b9216fec2acfebc75e1f8269e9fc55c0bd9974fdae5c3539e30e8cb7eeee7da195939e9aedf2afd6938e505908cf0ce029de584470e2e66291d9afe21f827161643b8bd5506827307781fd530177e73dec6501ece1213d8cd1403023f0db223bb67ee854a24ced1531438b726b42a644efd929e22c17c5c328ac9cd7d6d2c175d1c465889e509c0dd6360cd7cb6ef05e6cf63a7374f47f5c659133d9b3f3d9757340dfb36187f69fd0abc96f163ed33df04f1fd611fd75cd93d]\n[e = 010001]\n[keysize = 4096]\n[n = 00bfe8dcd6b20e93687405baf7f2c3c3d1d35726e9d76123c1a57ab6f3997da9a28967e71dc1b28c1a57629f99e54d87ab1cdcb741e6ef769d4db8e1edd8c23ba544003b4ac396183620b3a67d7048d2506614d126d2aafb49adcd68c21483821a99fc07d5166a25e3e71f13eaf9b66175d5966c3769ab0fc423fa91b53039bb783d2a7cd4e5ae04d6e863ed0a063460811b021d58e968eedea2ea12c044656e58109aaa9ae87e0ca59d02", + "d18727c2b7f86e826c8d1a22193d73023bb5cebea484f144cb99578172f6d845b1988002fb7c02977c905de5dab5e18aaa1fb81456fcaed26b04e08117380fa08051bfdba47b600b9ec5f47b8334ceb886753f8f633e26375a6db6193cf5367f74849c7b97eb2c3e3cd45262efc734c92a17138839cf86aaa93eac6c9187f6cdb5992722bca6b5b98d103dafd331233ac49fdf9f8844228c5f4bc18a1db48c52d89ddabb08aa92d330b34dee06da32d913cdd47faa1e864d85e5624e381453789a53d67d808231d7149dc3517a3beb783e4c8575bd55fe6e4070317bab6b5c7ed898263fee2605f874e99097ffcfe09e65a6e6b4924ade2477b1056995a2a7271b17a3e5ced980403f7aea9c754eed40cbcc70fcfef49a2f34981ccd834b3f43d7558f9e555055b7ddd529957d8108e767eb35fe0d0a5e5a1db5bec9ba6c3af458de7347443978415bfc7f02eb42f8cdf6920883a19d]\n[privateKeyPkcs8 = 30820944020100300d06092a864886f70d01010105000482092e3082092a0201000282020100bfe8dcd6b20e93687405baf7f2c3c3d1d35726e9d76123c1a57ab6f3997da9a28967e71dc1b28c1a57629f99e54d87ab1cdcb741e6ef769d4db8e1edd8c23ba544003b4ac396183620b3a67d7048d2506614d126d2aafb49adcd68c21483821a99fc07d5166a25e3e71f13eaf9b66175d5966c3769ab0fc423fa91b53039bb783d2a7cd4e5ae04d6e863ed0a063460811b021d58e968eedea2ea12c044656e58109aaa9ae87e0ca59d02d18727c2b7f86e826c8d1a22193d73023bb5cebea484f144cb99578172f6d845b1988002fb7c02977c905de5dab5e18aaa1fb81456fcaed26b04e08117380fa08051bfdba47b600b9ec5f47b8334ceb886753f8f633e26375a6db6193cf5367f74849c7b97eb2c3e3cd45262efc734c92a17138839cf86aaa93eac6c9187f6cdb5992722bca6b5b98d103dafd331233ac49fdf9f8844228c5f4bc18a1db48c52d89ddabb08aa92d330b34dee06da32d913cdd47faa1e864d85e5624e381453789a53d67d808231d7149dc3517a3beb783e4c8575bd55fe6e4070317bab6b5c7ed898263fee2605f874e99097ffcfe09e65a6e6b4924ade2477b1056995a2a7271b17a3e5ced980403f7aea9c754eed40cbcc70fcfef49a2f34981ccd834b3f43d7558f9e555055b7ddd529957d8108e767eb35fe0d0a5e5a1db5bec9ba6c3af458de7347443978415bfc7f02eb42f8cdf6920883a19d0203010001028202002deb08d4321c7cb6d473fe8d8f3fba1dfd846fe229cfab5f8d39b486cae61f6dad94f7decdd6ebe0eda1c2706f4642bcf595f61f45a36c6d2d089cbe6d4be43ba1eeb0412e553e8bccfd4f4bda4f024b8c7154ae066034ea2734ebe8ec419f22c04f668c5ce59f154ddac8c84361992639a9d950d4eec241fb1ddc394f45b10e8f0c187c544c7409fbe6d4f3be125038f3fe68893aa809e7a9717a7518a870638fed81feb8bc5848542e357632544bf29c768684a8891a22f2dec8ecb280391b3a236cd7cef14151c0e3c41faa198c94da85e69f20687c1162daebe3d506c0dd8af2fbfa59c1698dd7675eecb08c5c69cccc5afc208861178492f05123992a746d5a4bb18c1a7ebcd0bbb2f10d9c7aaeaf2e3827b390ef6b411a3d8d544bcb23cef2e36ceb9bd7bdcec4e7458505517b5c89c1a5c1a503ee4091d1e8d83590ac4f58a9d7cc430b9216fec2acfebc75e1f8269e9fc55c0bd9974fdae5c3539e30e8cb7eeee7da195939e9aedf2afd6938e505908cf0ce029de584470e2e66291d9afe21f827161643b8bd5506827307781fd530177e73dec6501ece1213d8cd1403023f0db223bb67ee854a24ced1531438b726b42a644efd929e22c17c5c328ac9cd7d6d2c175d1c465889e509c0dd6360cd7cb6ef05e6cf63a7374f47f5c659133d9b3f3d9757340dfb36187f69fd0abc96f163ed33df04f1fd611fd75cd93d0282010100e089b902015ffb3407fe94e65e9ea6cb90b111ba8fba421527dd8f9e73130f0880ca3207fa2c727d396141d333f95c5d8e27437fcd76297ad444450b251b1e9c8e81234cd30122878716be6f2944ce662acdc34a290513978ea46a3dbff705a5cee29c52d26d74cfcf7e2ea789c5455f9be64c52ee1741cb5db8d7784b316da1465c71d01e5d1764e957414c0b35d2ae11e2fedb103923d1f19f8841f0f6692ebf71b48003d73eb23d18d08cad0cb8acfb21ad8567065b773a754f283c1b59b6ff69b691d62c4df746bfedbc066a1301597bac5bf49c05a01e64bfa4ec5aaac9a1245901cbea749a3c94f6fad12e01f2920bd3d5cdc56dbdeb036de700efd73f0282010100daccbf057aa30a5b6efb0f0c37aac0a681e3abf153a29b0c780616c7ced1f00fa75314b1447b53fdc0b9e22499aafe07224bdf5bc8ae3382dfff5297e8fd3d553b7225abddb092bd4fed242948622fa60c6cf373f3b10c5ff598e9ec93a774dfc78e925aeda29bbd027c642e9cac258c3d83a31c65bdd038217107ad33c7b0c3c9224be7063c16c7774cea378f76cdc1b931547af5885ae31043d63ee814929785dad72cbdf5f714d241ffde52a4e11f9c21dc6e45a7f03f46126611c8073a74b28d9b3c802f44f94674ca8a0c7ecc8423520f9b8703442bc6f5bc7e64da15e27b8150950c15e6b397b27e8334df8a74d85ecd91ba9916c953b10c43a60dcc230282010100c243c5b24b783c41570d56cc3d5eec164138418b74a0845e0360b8ca30eb735d3af834f31bea6a9f970e634214bc90c24ca401cd47f90c883db0573ffe398971900580820e28f433e797b0e941fe4ac8b00dd801889de0c6865e0fa11f3ddc40094f9c4a37cf057a6a1dd4c594f7fd3e6c06835058b7fc6fb3c5a17e6d27f59ecbde5d85df4f5157385f0a9a7d3472f3b17c005d8d9ab23808e1aaa4ca92968c208c82cb23078e31ed945392f2818821f920b91d2af6a019f694da0888806d4d5b8b9dae6d6b6585244c17a64eb265810c6768c72249febffaabd5f71d9a901ae4752b20d7c9205af54138b1e65af4ca66bb1eeae31e0605839832f4e2a59f470282010100c34e6864f7a779a34c5986811d5faa3ff749c73dcfae2240eb12645b4ede4f2f69e8db5bb109755bd92114201f9b66cdef6b52a1976d084616b4ce81135499deef0561631cac750fcfbc9abecf01f60e7ea0f25fda737bdc5c5a76d4daa86bc72556ba85b801a28b0121103c1b55fede443ab0eab456cefa8bbf5d5eda0db257d1be6f8a752246231ef6e54b5b206d623371393bd8d83268e527e8a2967f66ab22acc9ce0273006ef1904059afe3c5a075ba340daad7d1b869501b145c3d378cdba553a099bb9811fb365d6504ea5a9cc8fa833c0d347931aa93c801fafc40f4bdd21ca02efd8dc559efd6c63ff81a9b5a58a59f23b56b85a2d333635f6289890282010100a5c711d4f32a85485c20715fb46f0d1ac746f5de583201b97691ab7a0e8d04f8a66e1f586160296f6cbc3acff432bc9526d0c94b3c8cc5519b233c875568e373abd8f37bbf19dbac1e7aefa895307d9e5f1965a639b730fb44062bddca45ab6af23bbcb2f5cdab3acbd21be0f910475e257ea60bf21750328680a16f565204a48f27eae27bece4bb70e19b0d19b90e069962451e3304be4094f241b1ab083b5df23fd177a6e6c6e1e0241f882d3e6276d5797f076b74eeb77e2f875cb95f36f72c2262407b0f95c8230ea18f67df0467f412e614c0c6ba1657052062801b0c1b194e31d1b054319edbe29206cec26be8e53226a395fac9a986a3cc2f3949ab9d]\n\n# tcId = 61\n# edge case for montgomery reduction with special primes\nct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nmsg = c6010be52ada4709681e522588e84933acffed23fec969ddd38ac4061e9f218839518e2d42c75bc0abc35ecc3d330e17291234220e19b2a57621c101b10dfd19a44b7afe2e945eb90a60b372527b51cc9a1a4aa9eb25aa8f9306d5482cf2890a84b56ea666c57f6b4007927fbe69562f5f45415d2e399e2fac4cd2e663a3a6be929a3c133bb437f97771192aa1fe971a9e749c8aafdf1006b3e1fd9a65b40dfe4feda620da48fe094bbfefa14a53789dae280d5fd9535cf62e985e48129d8c878bbc4939ee69b6fd9ff24327d9c53b677549b9e626721686d174b48b4634cb488870d7e410a5a4a3cdd23e63ec54d5736129a16f2f737fffc30627156f39bcb3b5d0d192c4dacf6ce7ded9a1128309894ef545fb9087be6d877863981fd5a06258277b1cb8ef7c061d2ffee5c916371b1a2d1ef1b6192fe7d69269916903e0d0dab232822a947ef9cd87a95b6deb48aa79a2c6a1ab80644dbcd7c4db7263e9d6b344d5d5aa21ced954aa303e738954d2519b8ddc92b6e24e982d38dfffccacb6e8eebf7d061955de60bae809d2a20ae9af8d84675b7232be7a77e51e03224e0047b4ba54a4\nresult = valid\n\n[d = 00cdfb66edf0e9274a4c26531945658cee31be6da02b2621cddf5c67aa339a56380d156a556645605d6ef5a168f48feee9f78e0281db93815a3c6e5b0b0081ce45c096cd49dc4ce8a86e34a99039cd789899874838213d8c5aa23a3f542dec5ee243f29868fd89157dd0608e198519a92ef9d982be7ead2dffb3763ecb0241ec491b9456300795daaa6c6385c68f5d187d2934a18508cd53fba5670c27f3e4b1ade91cb32dae1db884c8c9eb27c66f48303e3e971d1d4d29788a6bde848b44c1c7d9d1a3d7bf149bc45f2e03361b090ce7f4ba284aa87d7a591ad42f7fb6605859c84331ce9dac0e3c212188d0a82e1c6fadd629af5edf94634ce2a7ed3883f1029c524110b280e4611353b7b4730f5ce96c1fd73a01937cd16d5f7599497cf7897aba66cee626c8b4c7897f70ee09cf215947abd487724f8cd9c6137831033906d8fa6012233bb49f0206e10bc6b88eaa61672ac79ddee826d33e35b1231970e13bef4f885f21c37d497f123c422c6811659fe44409f2c8df1030e47c9", + "8971946d09e709fdb78ad8307d7c8e492eff6b1953568b674150d2f66aa36bba1dc6523d7ebf9084e70190e38aed1f9efacf53d10baf94c61ab18105c0332aa9fab3358e2368a4f2229c5ce650d5e29406e5c43603293460fc8474ddd2fecf825d72f6352fa3fdded2d0537519df259d6d347f3762b38f11b983df8a6168924e66c09]\n[e = 010001]\n[keysize = 4096]\n[n = 00be5e754a408ba3c458345454a6cfc700b03806cf91d03855078bcf0aba02588eaef37e133ca1869850b446946954ec1ba22a7dbf2f35f0390f82db787993b13d831b504a8c18bd6b84f4fedcc709e2cb6300d0a21d131c46680be78fa4bd0ae97baf778d049217212d29edf4faa3bf91afa05592f37338ffe3c6a696e09fd24ae339b5d985cc2359e718e732e8198f1ce3115e03632f77f21d0190b08520f1be046d9e4dfba6b96c98c66d00a420663c8eb99b9837d5be2c1614b6023af356eb4e2f9654754d0919dbe85389d02b94bd76e19b47ea8ac1017675a3e254e8f2cf22c2fb717ffb13526c77d57000eb7417d5bd4ff653b165e6ef9dfee6eed955848fd2100cd8d84ebf73dcdf8109e337f2bbc82c7295b9fd9c668c82b43ed89bbfba9987474e00fa2e54ec9a70bb4bc286143049403b3c204d7cfb697ebc1273c04035de863c48ed8939673ec24c7b2a90dcfee456a0a538c977780aca02a633bb6ee414a5c011b462cfc550e9ccfc349823539943fed508674e03062218252fba797968fa716bfb94ffe7c5e87ffbf9160646247c90799a728b12dbac040b7746d82ac2cac2e5ef7f40b40ad8578f7150de7f9b6b75af9b01c07b09cba5cc337c79e95f643991eb4afd3744b968797ea97680ccbcd0edd8132a5e4a56a29dfcb874f279e1c116619343438e00617a2de1d718705e0a0f14cfcc64415a0e6b17ff]\n[privateKeyPkcs8 = 30820943020100300d06092a864886f70d01010105000482092d308209290201000282020100be5e754a408ba3c458345454a6cfc700b03806cf91d03855078bcf0aba02588eaef37e133ca1869850b446946954ec1ba22a7dbf2f35f0390f82db787993b13d831b504a8c18bd6b84f4fedcc709e2cb6300d0a21d131c46680be78fa4bd0ae97baf778d049217212d29edf4faa3bf91afa05592f37338ffe3c6a696e09fd24ae339b5d985cc2359e718e732e8198f1ce3115e03632f77f21d0190b08520f1be046d9e4dfba6b96c98c66d00a420663c8eb99b9837d5be2c1614b6023af356eb4e2f9654754d0919dbe85389d02b94bd76e19b47ea8ac1017675a3e254e8f2cf22c2fb717ffb13526c77d57000eb7417d5bd4ff653b165e6ef9dfee6eed955848fd2100cd8d84ebf73dcdf8109e337f2bbc82c7295b9fd9c668c82b43ed89bbfba9987474e00fa2e54ec9a70bb4bc286143049403b3c204d7cfb697ebc1273c04035de863c48ed8939673ec24c7b2a90dcfee456a0a538c977780aca02a633bb6ee414a5c011b462cfc550e9ccfc349823539943fed508674e03062218252fba797968fa716bfb94ffe7c5e87ffbf9160646247c90799a728b12dbac040b7746d82ac2cac2e5ef7f40b40ad8578f7150de7f9b6b75af9b01c07b09cba5cc337c79e95f643991eb4afd3744b968797ea97680ccbcd0edd8132a5e4a56a29dfcb874f279e1c116619343438e00617a2de1d718705e0a0f14cfcc64415a0e6b17ff02030100010282020000cdfb66edf0e9274a4c26531945658cee31be6da02b2621cddf5c67aa339a56380d156a556645605d6ef5a168f48feee9f78e0281db93815a3c6e5b0b0081ce45c096cd49dc4ce8a86e34a99039cd789899874838213d8c5aa23a3f542dec5ee243f29868fd89157dd0608e198519a92ef9d982be7ead2dffb3763ecb0241ec491b9456300795daaa6c6385c68f5d187d2934a18508cd53fba5670c27f3e4b1ade91cb32dae1db884c8c9eb27c66f48303e3e971d1d4d29788a6bde848b44c1c7d9d1a3d7bf149bc45f2e03361b090ce7f4ba284aa87d7a591ad42f7fb6605859c84331ce9dac0e3c212188d0a82e1c6fadd629af5edf94634ce2a7ed3883f1029c524110b280e4611353b7b4730f5ce96c1fd73a01937cd16d5f7599497cf7897aba66cee626c8b4c7897f70ee09cf215947abd487724f8cd9c6137831033906d8fa6012233bb49f0206e10bc6b88eaa61672ac79ddee826d33e35b1231970e13bef4f885f21c37d497f123c422c6811659fe44409f2c8df1030e47c98971946d09e709fdb78ad8307d7c8e492eff6b1953568b674150d2f66aa36bba1dc6523d7ebf9084e70190e38aed1f9efacf53d10baf94c61ab18105c0332aa9fab3358e2368a4f2229c5ce650d5e29406e5c43603293460fc8474ddd2fecf825d72f6352fa3fdded2d0537519df259d6d347f3762b38f11b983df8a6168924e66c090282010100fd67cdf87cab909d16a0ff2dcf005f7e2a7842cf587234e2f528b707ca05fa9a2698a13ec6df02c21f40bedc07f00b0d6a5b4bc343da29303698bf38dde881af4ec32d81877e6e10a7751cc27a058476add98e5b84e49af4a1cbb667eb86bc53c9d3ebef365a50b3e9c869a13097d7eec2f1219b35a980ed011e03bed5e57d463ca6f6c78f5346271e1edbe988e2b7aacf2b45c813d6f1fb92b4c7ca6a0c1e4304c9fea9c661d2efc417f8edf422b48e6d22c837fb41899022d93e73495406d94f73da38733d3e2e2a96b6562710df779c7f098bd2519c167ac8a208d5aff9e9aa0b047fba4ad0b01546e81462f2b46e98524e0f2de22d2385684cf9634bba350282010100c0516e155441744ec15152e518e890650e0b479498087ba709b44e02a3e041eea3783a901b0a3b051aa521d6d8ce8ea6ba1696cd2f809c8c073dc3ece60937580a658c0175aa4bd9dfe725a0f305838cd748df841687c1daa0a1350559db776c90e6fdc4b1c433f9b5f17b66cdeb9a5bed25344b81cf4606eadf814ca071e2a286da873aed19236c4d96411d21c4a85839f7c220be71359e4ac23ef34daa4c135102ab37d543f80fa75d2fcdf6b1399aae634213ba3acc608fb2d6bb6a05bccbc095799921638ccb56eab5ee3c3d8b25282314159abf0a00403a5b739fd1fa4763fb42b244ad1ded083fde53b381d17468406b37733f10bd0376b3784b686fe30282010100f5199b4a7663875bb9d07d2134b01aad30ace38a23f54b1c1e9e83f23fc06ab50111ee1c87449b29620b40d017c9611757c0f855e4e235a691984a94d96693511a30846a5dc0b6fadacdd6c4703bb7f5069080361b22f6921990ad5c749dfcb85a65e53599efdf513595883dc57f88f7428cf2c16a350a23b349f1bb7aae1eee79a9d0d612d62beb9821a6f98a5227ee49b5842852b03b9be6397f69540b6695d2230273fa131270a0cdc3137d68b8156e900ef2bece941cdae81f9468dfa2443caa44ef06dfbcadf0b997a15ae5e20f9249f9d4c8d7f0ce797267ef7da859645df98c1f72f3fc47e43c922b6dcd6d21efa8e421a072bcd037b03b8b98345de5028201003545d9429b464e5b8a7d668303b5585a45dba606695ee031d32458ffae396eca160a35deb93eca3e8db4f47cb92deea20ca6393bb94edd0e84eafd1ce053e93ac0168503da7e43e8a477391b2e76768c4b0e6aac0239b4df44e3a2f64a7fdac2fe189e6f1ff70396c669900f58374d58ed8602c86fbae4e101aacbfc57ed7424254adf6ed942bf673ecec256b985ea44163aa551c0af477503ac6f17a289ebece5e1e15fe3f9a1fb64171228f18f022ff0e299e9310b1c961af82537611519c92f1db8c34c567127da79c5cfaa6c39e11f0f287f1b9093caa20008592d0a5353f74420a395168755a3955d96be00d5ee72fa7538b4f9e13f1a78851a6b7910950282010100cc8bb43d97d3284e9449cf974a9d311cf52b6193ffd0580d2f3ec2a1947bd3428915bff148a5569658a06703a45b9ecea43d3e4fb043ecd26e9a0d85c274b9727c3f1713cfdd44d832f47d5736e007ad18a0b3fe48668befc1e02df9adb827504e81bd2ac6205e8d3fabe7bba05b2605c7c8a49fb736caa0a5e435214502b66e1f18221259e55de044f9c2c2a59387dbbbada66459d017cf17be18c707a41c1a6d95b86796aa3507659da080fb1f555aefdacabb4b520f6f76556ac9625050cfb046b171f6e95a5ce757ec7be398052bc00dc95a8f31265b0e41f85fbd33bcdac6848a86742272c1bb232154c3612e18b366f7581452e2939b2a64d32377f436]\n\n# tcId = 62\n# edge case for montgomery reduction with special primes\nct = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nmsg = 41d5fad24d6f4956da6144b553a7905a3048629c0dc5722345349086481265240377bcf573f832bf981b78af34efdb43322168c50dd7bde53b14c6c5ae21825ec87971136596ece3efeec5f18e089c4cc35b14af08a9273044d459fe7475cb33b946d744a270f73a49aa21a4ae57b3b895c5cd3a2aa9d29d609fa84bd1880e16b722d4f061bdfa46418b7df942fb47d1fad894feca6bce5af465fcd7cef139192a123da7e40aca3524243dbad734205934441f46a3416edf6bc8ca0cd2df9ea34043e564ea4561067bcc504a3b8bc53f165302230cf1d9f38c20e4fd36e57310876fbd5bf3ed4f14ac0ad3605c5161bb005de4e92f2bbaa0c107c2d5de7f7c3d4ed6a54d5a862d76905dd07864305498ae9025cdce3c1058dffa8d7834e0488cb0eb13105fd9fc22d483105224ba1b77d9241dd8c7a789a77fac7b654c777b3921adbd40237c7e244b65ecce1cedd49bb99d288f5384a1b3f815ef723d02fb95bf8894f2d2270408b349eb14ca34790f103bb81cd5722c1d2b5f4300ca6f91e9185c965bb142ef999c2fdc88d01c213e75fa38a438a4c69847a9e0ab648e99fa96\nresult = valid\n\n[d = 2cb4d40afb879a7ee7ce2412d11315bfe4884d0867e2b326911322851da3c84a919146a9d3dba816b4a8f99172862c8b986b0b03ca6d7b36932b5a87ad407d49105d4", + "17cf3c20b35d7ffe3dcb75bb55d259dec377c3470dced8203f13666e6f2422908f3faebc2bbcd81b853be0ea11cad86753690399816aea355ad9fd7bc6dae6bd24d132532c08899c78b8bc0bf9cd61474591f3f3ee65537b10ce736221677365bf684523cb5afe8b5f56aefb599839967bfaa77e464d8789799f9ba4570c735fbf3ba151edb48f1d8be92a51111c74094033a5a0dc82b7c34c49ab2d181abf8f780f19c19aa42f11e0e8e05c7ad26d8a1bbbeaa3d92cf2177679d3bc8502d3d349727f3f498f6798f42bcb5afb84e37eb46f28fba929968a5705bf0cf07731d7daedefb784d0d29711cfe7f70b50ef69d30fdc156383fd45526c8775e460d8fbe106b5a5c21f78e39917d537ddce4cdb4a00003630624107cfd3133478f068ec5380ea7f2219a22fe1194c50e34e6ade3739b9e36d88ee6a0c16dbe05ec676af5a7804844b2d71def35dd6a1c851c93a7cf86c8ed19eef672c86079f5bd06c58c6ade66b897b94f8b58408234c3a826787fb198b29353c71bbc972fb42733f55537690ccdfd0c8bb30d64478363864da35629c0c28843b95c959a8abb0fb2c5a5d3f256d3485e1bec396c64e3478e8890e505bd50d62e9c0a6f34e47f81]\n[e = 010001]\n[keysize = 4096]\n[n = 00d6fe22b5fac9f00add0133301c5d00218e179f88c55fdc1b6e1c7860c856ac09cd941aa85c12dbe6fe1d92578a0624d9ff5f911282eab0f452b088cf87ee2a1b74f5e416f0e0cc3a1163c85544c2b326005bb45c6ded75eb619614a61a269264b525da86459300f7f6efcde8d3a31cb0b3cada4c9815cbdbc245f5f3078a1c81249f023225295cc12bd98806f98b2572febf334652a90764b063e723d8af19688b193b39f015a8d63bee60981957d919cb9b86bebed887ca711ca125ab7908b2c4d78f2c385ed7f5539387c8e94d1671eadade088900d43c491e22bac95ce04ce5398c0547da576e776286cb40ed3f3f50953cdeb8812b4cce434c22f3aa71fe2e272be792a868cd3334d67f2793d9cbb8a3a0a0399b1a5873e5079bea367fe8a6859368b287943e6ab038c2d0b3e10b957d8c037f58bd42c5d543d3da0f8aeb4195218fb9d35d2c5fcd9b0e133cf53abfec622421370e1a18ccd35b3f9b20a81281474f5e18d49ccf3612f61391239a096605563162e2d3d0afc43689f6f48c3ecae4a324b68dc4181defff6a393304054748732562df96f3e1d7e3bcb96f9ed765670a91bdd79a3d11d63077162ab5099e36fd51b2b1188be21bb5e4ec43779b903eafb35285a9a1a83da688bda69067c92dddc4d72eeb8122c311159128de97e3f226bb8847d61b75bea4b9a460ac4fc68fcc9c1e7eb56bdf409085fc9603]\n[privateKeyPkcs8 = 30820943020100300d06092a864886f70d01010105000482092d308209290201000282020100d6fe22b5fac9f00add0133301c5d00218e179f88c55fdc1b6e1c7860c856ac09cd941aa85c12dbe6fe1d92578a0624d9ff5f911282eab0f452b088cf87ee2a1b74f5e416f0e0cc3a1163c85544c2b326005bb45c6ded75eb619614a61a269264b525da86459300f7f6efcde8d3a31cb0b3cada4c9815cbdbc245f5f3078a1c81249f023225295cc12bd98806f98b2572febf334652a90764b063e723d8af19688b193b39f015a8d63bee60981957d919cb9b86bebed887ca711ca125ab7908b2c4d78f2c385ed7f5539387c8e94d1671eadade088900d43c491e22bac95ce04ce5398c0547da576e776286cb40ed3f3f50953cdeb8812b4cce434c22f3aa71fe2e272be792a868cd3334d67f2793d9cbb8a3a0a0399b1a5873e5079bea367fe8a6859368b287943e6ab038c2d0b3e10b957d8c037f58bd42c5d543d3da0f8aeb4195218fb9d35d2c5fcd9b0e133cf53abfec622421370e1a18ccd35b3f9b20a81281474f5e18d49ccf3612f61391239a096605563162e2d3d0afc43689f6f48c3ecae4a324b68dc4181defff6a393304054748732562df96f3e1d7e3bcb96f9ed765670a91bdd79a3d11d63077162ab5099e36fd51b2b1188be21bb5e4ec43779b903eafb35285a9a1a83da688bda69067c92dddc4d72eeb8122c311159128de97e3f226bb8847d61b75bea4b9a460ac4fc68fcc9c1e7eb56bdf409085fc96030203010001028202002cb4d40afb879a7ee7ce2412d11315bfe4884d0867e2b326911322851da3c84a919146a9d3dba816b4a8f99172862c8b986b0b03ca6d7b36932b5a87ad407d49105d417cf3c20b35d7ffe3dcb75bb55d259dec377c3470dced8203f13666e6f2422908f3faebc2bbcd81b853be0ea11cad86753690399816aea355ad9fd7bc6dae6bd24d132532c08899c78b8bc0bf9cd61474591f3f3ee65537b10ce736221677365bf684523cb5afe8b5f56aefb599839967bfaa77e464d8789799f9ba4570c735fbf3ba151edb48f1d8be92a51111c74094033a5a0dc82b7c34c49ab2d181abf8f780f19c19aa42f11e0e8e05c7ad26d8a1bbbeaa3d92cf2177679d3bc8502d3d349727f3f498f6798f42bcb5afb84e37eb46f28fba929968a5705bf0cf07731d7daedefb784d0d29711cfe7f70b50ef69d30fdc156383fd45526c8775e460d8fbe106b5a5c21f78e39917d537ddce4cdb4a00003630624107cfd3133478f068ec5380ea7f2219a22fe1194c50e34e6ade3739b9e36d88ee6a0c16dbe05ec676af5a7804844b2d71def35dd6a1c851c93a7cf86c8ed19eef672c86079f5bd06c58c6ade66b897b94f8b58408234c3a826787fb198b29353c71bbc972fb42733f55537690ccdfd0c8bb30d64478363864da35629c0c28843b95c959a8abb0fb2c5a5d3f256d3485e1bec396c64e3478e8890e505bd50d62e9c0a6f34e47f810282010100ed66394078062382f6a07c8565f46290f67b6400faa0434d23a80f7da8443e524eaf9609a452af5d273d7758e3d096601bef85d5dc7c5dbb1fc1b1a37b824f1b0752c79ab4bb0c08165abddefb98f5cc45fc39cd8d99d51409c5decf67daa22569881faf34e7b2c13d041b26e8901e685f5cf809d5f0e1ccff743f59eb5242dcecca4a0888c61a7f14027b4e551bff16aece0892f221bbca9701542c747732741138bd571c194bdb814d19f159d1430ec81109205527ee20de23c398527ff0117a97281d7db285a59dc8d248123d6d14f5e35503e2903ab0ba8802067c08ac73511d24f5956ff4b00aa716fdfd421ee447c72c355ca67a755de1b0972cede5530282010100e7d67a7f7ecfb83c6dac5d0cfe1a290c0f78aedaf283459b0e346cca738432410503bc117fc60072414c2a902db99aaf1673b8f13e6e4b5cdb1d2ba3e743d89a47d360a437e983c7921adac8ec6ac1bc1ed1fff4cee921b3a5db947c8c60d3d351ed9667352397a5b0ea81ade72dbf5a4c48baead7fe04818ff39df511777767fce1a057ec9174a38b7e722408b76d7f9d171c332e362bef4d2a6b3e18a6cf1b5c67a99e379f748e6210d6d98751e14d7fcd5605ac35ed0b8be2920dbcdf1379d03024aef1fed814f2f3ca2ca8739b7b69c2cd2212897271cf83fb24c3c15620a0eb28619c4ff8ff1e06bd7dd931a5dbd5806a05e0f982317cedfd2a6d3346910282010100ed0ffb73e96717e71ba8bf2fe6d3d7e9b2791d2fed16449eaf508fc787543e77aaa3a44c148f8d1694acc895374980209144ea7cd92447e5289d1f6a855766ef32acf32e05f412dbb09704abbacad0092089f29ed51c1caf59e301d05380fc1228040abfc730e84c17461667102d7a6ff76abb35f7320809d1be9fd4872d2a1fbb45761077a47ba912ae37bbcd399bcd66d9cfae0da4aa06702c9f8594f7c2a62cdc6016b0b4820fbc5ae5e12133daa6d41a4ee6bea29524b52f398ece337be3b86b615fb1b9a7c3ee802f9c50ba8e473413c33d91ed3cee6616930f2ea4eab06cfb9180bbad84c6969cac550da60d7b2042405f3919f587662c8d4f294a96890282010057c4e80d5a89f33ad55e7abfcf7741f0f1ee836c1a81be194c90665b62ce3a64492cb7c77c330eba32a44e3cd542be1fe9051890244d873479339af0eb3dd143df4b53fbf7baed0be1f14ec0e0582e4e34f0d5d0ed806f24def6b94949afe2a1cf137e6c463eda4b7d25dac06693f82c8c52c088e60aa1d4171668c77dbc57b543947baaadc207815eef18f131679809c70417c5fc89bfaa51f16c364f08dfc1810331c0d75803bd5fbcf649d6241682cb8e86319197bccd31412e800aeffd2491bf9833af2406d42f8242191410e85d199609290c1183053945c30f9118a1adaa9e3c646fd40af5327de4c13f37bf8df14f3354546ec16e50d89c8eb256c631028201010080ecd05f2ac8659c4cdfa48c962b459fcc44c093616553a47660cada840ff4bd4d8b849097bc8b985f4e657ff72d1eeb94935397715e7f34582c16e1b2466edebb41d96a2b02fefbead693ae2330ccab235394637d00ca17fc87d680769965068be94429fe7a7fdc5bfb35660283a18752090ecb9fd1129cf72381f8ee24b6c98fff17497afe4677c801cbee0017c92910402e57ff4b510a606c495a6611dd81deea67d86e9c82639a9c95121c5229a6518e46ad3bc1afefae577d5a5eaee0570b160f21b8b0f84b3b7ccb6b770f9ce012e5bcb84bdbfb18e8c0505c937d35669be150bb3b9c14dbe3612affbe83ed282a42b262935ae1246811c1b79af47e3e]\n\n# tcId = 63\n# edge case for montgomery reduction with special primes\nct = d6fe22b5fac9f00add0133301c5d00218e179f88c55fdc1b6e1c7860c856ac09cd941aa85c12dbe6fe1d92578a0624d9ff5f911282eab0f452b088cf87ee2a1b74f5e416f0e0cc3a1163c85544c2b326005bb45c6ded75eb619614a61a269264b525da86459300f7f6efcde8d3a31cb0b3cada4c9815cbdbc245f5f3078a1c81249f023225295cc12bd98806f98b2572febf334652a90764b063e723d8af19688b193b39f015a8d63bee60981957d919cb9b86bebed887ca711ca125ab7908b2c4d78f2c385ed7f5539387c8e94d1671eadade088900d43c491e22bac95ce04ce5398c0547da576e776286cb40ed3f3f50953cdeb8812b4cce434c22f3aa71fdae272be792a868cd3334d67f2793d9cbb8a3a0a0399b1a5873e5079bea367fe8a6859368b287943e6ab038c2d0b3e10b957d8c037f58bd42c5d543d3da0f8aeb4195218fb9d35d2c5fcd9b0e133cf53abfec622421370e1a18ccd35b3f9b20a81281474f5e18d49ccf3612f61391239a096605563162e2d3d0afc43689f6f48c3ecae4a324b68dc4181defff6a393304054748732562df96f3e1d7e3bcb96f9ed765670a91bdd79a3d11d63077162ab5099e36fd51b2b1188be21bb5e4ec43779b903eafb35285a9a1a83da688bda69067c92dddc4d72eeb8122c311159128de97e3f226bb8847d61b75bea4b9a460ac4fc68fcc9c1e7eb56bdf409085fc9602\nmsg = 2ca0c81f59517bc986c292c2726adfa11fdd2a53147ec37bdae5c50af63a90177850027d680ab27dab710641a85e1e\nresult = valid\n\n[d = 00d1629f9055d958967163303dd5082b57e681d1b8f8eff295a55e95da436dcb0ef855e8df05cda48b2ca1ec5f710c44324657d56e3de20d94b484e8f5311b8552455c9a74cc2e68b211a7d6ea20e23e1a3b1404aa53fcb05c81cfa222eeb129e33e5435786e99974a45b8e854d6b8afe449b8d437ae27162fc", + "574f58212651792af49a1654805e5e4ace40ad2a30711d9ee4588e3a87b2efc3d097990e736f1fbd7b3c245a6d4a880c65035684abe3197b6017e7a676073bcebe384c245b6c03909fd8ed8b32a1c427ec048b9e1ab6897eac8596355a313f115ba0671c89969912028470d5647c3a49c7e9caab3854f1d089039288ed64457f61c8ebb1490be342f9baddaa04883a1caaa394570943d4bdff1d1dfc441af335ea9a83fd49159d5601d53538172b5d6b09a87dc62368d5a26443af082d4f9476a8dda257606f5a1fe20242a4a1701c6399035e5ff66f727a9c9e394eeb6bca63a72b47b24c84c3ebd019e3cccad4f01e4b38bcff6e2ce0187532c44ba8d0bfb21eba8e601881e427c447c1711baf208a373463e566717557fcff04b58242cbdfbab1a7433f974e446a38cc60db2650904262355633768f1e8b9ceca1766bdea36322d28ff9ff1bffb6cc1249f2505a6ccf89496ca7b7d4803a36e7e455e7ac437da7176758a988f4e48d4c911452796e74798d7239f37046d1d43998956d0bfdde06ac23fda7741]\n[e = 010001]\n[keysize = 4096]\n[n = 00e5036c049a64af333e1c2b9ddc57c5e56aae017b4b6fd0726587887ae0ee7e72b80a424281a917d3810c11c76382b8f852129344c838a634eafca3c296de653a7dd78809bc33e787aa86d69565277028fc4d1b44880fe0a9bde1aa7ecea9c4e3aaa726ad19701049214dc86a5c5740b8cfeea0d91d51fac40816205d001955c100df76f01ce50ee0fa3a1198b3c110347fd3aa978e1c66800466391f842b4f4e95a22ff58304823eadd68e8ff6522682bb8b78164f45e8bf437896007473afd0bd729afe6fb56b4ea8950d4e0a69b99b0cc8b762b45af4f19e28b992d41800ba858b00922339df83b9e0efb3c826d6a74dea8b024a3b47a1a47cfa9062c25a65c0e0cefa154e4b8c230d4a9e009a8b2c3d20a2bcde0fe3af68997547c656add6c70c6bde7f3e5a403394901f0ffb13c62347a784b826216ffee070d2ec6b83f4436198008d7245a52157c2c189c36aee31790d919027afc27a1e2d90a15dfd1018b4a8f9fe6df77b95984a114f518408a714b7db03d4b282a1c291f73bc2d3d6a5939caf439b2e0ffc1b0a373c254e7e74016286a62e7e7a43bfd2a48f320f669b376df1c3675bd6094d63b015dfc7c9e728444c59cd535fe908b9907b989458e3fce6b14e3bae0ccd66328f9f8a4a120b726fec817c2d33a4aea3b4b03d4c420b9f7ada82dd862cace440241ffa035a0672120fb9a4e418841371932d28af31]\n[privateKeyPkcs8 = 30820943020100300d06092a864886f70d01010105000482092d308209290201000282020100e5036c049a64af333e1c2b9ddc57c5e56aae017b4b6fd0726587887ae0ee7e72b80a424281a917d3810c11c76382b8f852129344c838a634eafca3c296de653a7dd78809bc33e787aa86d69565277028fc4d1b44880fe0a9bde1aa7ecea9c4e3aaa726ad19701049214dc86a5c5740b8cfeea0d91d51fac40816205d001955c100df76f01ce50ee0fa3a1198b3c110347fd3aa978e1c66800466391f842b4f4e95a22ff58304823eadd68e8ff6522682bb8b78164f45e8bf437896007473afd0bd729afe6fb56b4ea8950d4e0a69b99b0cc8b762b45af4f19e28b992d41800ba858b00922339df83b9e0efb3c826d6a74dea8b024a3b47a1a47cfa9062c25a65c0e0cefa154e4b8c230d4a9e009a8b2c3d20a2bcde0fe3af68997547c656add6c70c6bde7f3e5a403394901f0ffb13c62347a784b826216ffee070d2ec6b83f4436198008d7245a52157c2c189c36aee31790d919027afc27a1e2d90a15dfd1018b4a8f9fe6df77b95984a114f518408a714b7db03d4b282a1c291f73bc2d3d6a5939caf439b2e0ffc1b0a373c254e7e74016286a62e7e7a43bfd2a48f320f669b376df1c3675bd6094d63b015dfc7c9e728444c59cd535fe908b9907b989458e3fce6b14e3bae0ccd66328f9f8a4a120b726fec817c2d33a4aea3b4b03d4c420b9f7ada82dd862cace440241ffa035a0672120fb9a4e418841371932d28af3102030100010282020100d1629f9055d958967163303dd5082b57e681d1b8f8eff295a55e95da436dcb0ef855e8df05cda48b2ca1ec5f710c44324657d56e3de20d94b484e8f5311b8552455c9a74cc2e68b211a7d6ea20e23e1a3b1404aa53fcb05c81cfa222eeb129e33e5435786e99974a45b8e854d6b8afe449b8d437ae27162fc574f58212651792af49a1654805e5e4ace40ad2a30711d9ee4588e3a87b2efc3d097990e736f1fbd7b3c245a6d4a880c65035684abe3197b6017e7a676073bcebe384c245b6c03909fd8ed8b32a1c427ec048b9e1ab6897eac8596355a313f115ba0671c89969912028470d5647c3a49c7e9caab3854f1d089039288ed64457f61c8ebb1490be342f9baddaa04883a1caaa394570943d4bdff1d1dfc441af335ea9a83fd49159d5601d53538172b5d6b09a87dc62368d5a26443af082d4f9476a8dda257606f5a1fe20242a4a1701c6399035e5ff66f727a9c9e394eeb6bca63a72b47b24c84c3ebd019e3cccad4f01e4b38bcff6e2ce0187532c44ba8d0bfb21eba8e601881e427c447c1711baf208a373463e566717557fcff04b58242cbdfbab1a7433f974e446a38cc60db2650904262355633768f1e8b9ceca1766bdea36322d28ff9ff1bffb6cc1249f2505a6ccf89496ca7b7d4803a36e7e455e7ac437da7176758a988f4e48d4c911452796e74798d7239f37046d1d43998956d0bfdde06ac23fda77410282010100f6f5d343f4b6cef4fbf6f9c210d95b24a8e98c26d86f32e29ebd9ccaf0fc816bf29c114fdb3bc8e2b682ec9b22b7e9724a563915885ed5b7874ce612408dc1c05cfef2340fa2fa547da13dd4daecd4e21b1a7d28de362ca7e55089b1f723876c498f1005cd881dae3907a37c9269a3beea0c9218d49d25b60183fe59f7d85b78f3e5f4863ff084017fd11d4917a80dc8787248fa2120a9642e7c4536be966a25ed2068299ad229501aadda4f9483b86ca9d312ee84bbfede1d90b3a2f76559c0ce9dab18614adefe8f93ba6175a38235315b24a7135f031bf257c3c7708fa6a89d7e0aef07e3c6042058577aeab3b5aac780c297828320f09d36d572a8a578ab0282010100ed656c45124aa2c22832aae346f0171419a8d3ee2d67ded9fd9e4b49c8a1f4becc90f21a57f836f4bca2ee67ece874d5a4b98271623400565b7571c9b19fa3d0495bbbd5742a6ecdf59400372b9aad39f39191fc7991143d8cd5ea7e1aa9895d7f70acb74e511f64d39f00ef5e6c66a936244ba9d1e6a7a105cb8d747abf3359003112bfc0aada704837b36f3766b45188d4d306179d7fe738d6e7de8b2a9cb7b5c7eb034fc8ba3ba803601ba4195bf4191f16f6b8e695715f119bdb6a5299681bbe43cb5f549739a3330d687a13511c3736bac16a29bddee14e90493a7a85f9c91481234d867624cb4e2e642e8c64a320fea31c4984c50a9509476b98f72f930282010100c9ac60357b8f1a1d07f25d6db4b2bb72899a0780e57891966d49acd431ce12a6a3bdfd8938206f616ce827ee5c80d1dc2a8695215777129248a46cb1f5138e68d7c8bee3f2ed05fe9f85606805cc27e0e97f4d3c6592da0ed5fe5a24020d7a96dccf3ea76e7bbcb93d0b56dff0f4e1ea935966a96e5f529f7a475f1bfb812cd9ee5b18bfd551458bafe48644dd53b8c5c04e9bf7dfbbbb78fb5932708d5d6a1bc4b4953b7c9a2970a808d761eb8751c133421290c3c67e50c6d6174c7b39c1fce8fdeaee02edd083139ef1328b8dd6543815152e776c3caec2ce172c3468ab11c1635fec6986017bf72a0d6e6c620b76066bc8fd4f706422fa5000291d3ddbf7028201000809b617c49dc853009f6e8fd178119ff99a70ca90b9029fa8e9b22ce6612d734463e7fea259e22a79349f13dfbea32e14acbf50ed7d4b41a14921b82d8e7532793964ebbe4a2d8445bb64227a147ba709ab352132508a39e749daedb82363664a095b9fbd441be7030f502dcaa9aaf431c41ad7be26ac285494e6ce39d5bd7c56f8526531b5d73d940466cbee394903b5b95707cec6e36cc5cce8feed015d5b0f099cd878dc180a2b0f2a32e564826b8a6a3611d682e02e7d84901d66c533328635f3ffafd3a2672e326d52cb475a28b569e1fae8884f487ba2785a3263b1a39a7e5a3d02c3f9be1730277bf6e38408cdf63139a4f79ce055d98194901256870282010052ed5325503f83a56585b1476946cdd5a4393379043e91db5f2b7d313c18e54c291121209415596fbea2061cb0f9c7b046cb897730d274a888dcd80cc8ba63047b1796a9f615aa49506ed00853bd1e1f7c4eaba6f10c66a2d06393519b3780536ba837762d9176656a350f928a05e26288a5b9bca583b1c2d3d9497bd9809e9b823232dae4997a4a1944290ad7e1086afd5d3466dc02e4472246e4a68f73ad5d0d28bdd5d2b6f6091351e00460c6d52e4c4d9283bcc34aebae776c6b76e8f0efd03574a951248e7e1cab2db596840e199818f77061ef5b68716fe953d48d4d82d5a70ffb84e9298e4c0b2309e7602eadbfa1c43720fc9cf731fe00ac4a0b0a60]\n\n# tcId = 64\n# edge case for montgomery reduction with special primes\nct = e5036c049a64af333e1c2b9ddc57c5e56aae017b4b6fd0726587887ae0ee7e72b80a424281a917d3810c11c76382b8f852129344c838a634eafca3c296de653a7dd78809bc33e787aa86d69565277028fc4d1b44880fe0a9bde1aa7ecea9c4e3aaa726ad19701049214dc86a5c5740b8cfeea0d91d51fac40816205d001955c100df76f01ce50ee0fa3a1198b3c110347fd3aa978e1c66800466391f842b4f4e95a22ff58304823eadd68e8ff6522682bb8b78164f45e8bf437896007473afd0bd729afe6fb56b4ea8950d4e0a69b99b0cc8b762b45af4f19e28b992d41800ba858b00922339df83b9e0efb3c826d6a74dea8b024a3b47a1a47cfa9062c25a65bfe0cefa154e4b8c230d4a9e009a8b2c3d20a2bcde0fe3af68997547c656add6c70c6bde7f3e5a403394901f0ffb13c62347a784b826216ffee070d2ec6b83f4436198008d7245a52157c2c189c36aee31790d919027afc27a1e2d90a15dfd1018b4a8f9fe6df77b95984a114f518408a714b7db03d4b282a1c291f73bc2d3d6a5939caf439b2e0ffc1b0a373c254e7e74016286a62e7e7a43bfd2a48f320f669b376df1c3675bd6094d63b015dfc7c9e728444c59cd535fe908b9907b989458e3fce6b14e3bae0ccd66328f9f8a4a120b726fec817c2d33a4aea3b4b03d4c420b9f7ada82dd862cace440241ffa035a0672120fb9a4e418841371932d28af32\nmsg = db2c1fb8aca1dfb4e6234fd57d78ff93df46a082f7df4075a08ca2978cf2751058daa62c90b55c87ab1bc8ed3477431fd3d88b772e5edb12071d49f9f6fa0260afa837b1521581bcf1810ac00d9b38fe867a3ef2a4bfb38bf12550d9ff595d4f345a1eb58ac567b7ce91bc79cebae71d4908a803c11c5deff90a918b7655dc0d672dbfbf204917d30139a2fa3752d9f012e77465af7de421cfaa9fdc5507037a7c2d890b2ac12b5657867fc06c1561b1ea9928681c383c875a9444fc44a1805c51758d61d6a3a8fe45ac1200ea2f90f22da66d1de9f6b35d80a5c0a9ee0bf5a43f583a08f23087e0f1b", + "59cd5cb75cbbc743f89b535898898ad298571\nresult = valid\n\n[d = 008777a7f9e0311bd8a049b874396230be6d1fc90ff4985e251641991f019ceb1914c2d911cc1b71f5f302cc3a4d094db7e9c1a544a07643d718c333434b76c0dd90069a90e7f8a6aae688c8d3d909b0c92a025669f07b55c99cd07757b58bce335fc9799f581eae4acf614fb15f07ce51c1b7fbe74e280238ca9a84cbe292534d10fb64421996652f7300c872f00f7ccbade7b6afba2e833be20b55759b112fde52452c481597cdd9681e9fbed850b16fda2cc86bdb0028150e10688cc8383ff58c072e02a86553ba2bfc07092d1d53c7d10100bba00464b776a07367b8a5f2754d3eb5236e811fd8100f6a9e14fc07bb0154de227216f22c434b07c179d69c754a87505ed6cdd1cb043f21629204fe4671248c4e70d28dd7a5e62fe9cfd08b15a0bf5754158c55bf271bec4963923c06964868c00b70f7f87ea54e2b188d3605477ccfa2f658a6298d627f56ae95131fa0e12c536b8afe962f8daf4b9e66bdab867e3809d80c5334421d14305e3fba5710beebd3f21012dfeb946644b1af604aeecb93efe288f047c076acf57981e0b0e873fbfdfb4a49579a7c1a8b2c945341e876027e93c213f37b6c09e1252488d31436dc62a9924c4d92fccb1f51296907e2faba674dd7ab7e3d73761a7c622bdbdabd45f02cdc66f0d6400c6b45875ac720fe045ac86a8e8324770aba7b9d7bbe49b98a819925ab8d200285ef0e927d55]\n[e = 010001]\n[keysize = 4096]\n[n = 00b9343dd96ed558cd9a99740fb5de19a5ca4c740e108bcdae2d6afd8d5091c09eed87021fa1bd291f6c23fd6657fefd470fa672ab568e41f5e37bf1b38241ad62f77630b644cd77be7db87d49ae13a151fe992198fa98d790099fabf71e50853482f321c833e5c7f76679faa9ce2e4ed7acdeef98944976b9b5a06fcc00c7e36a4d1047556587243903b678a3085eded3a17e7a7e691966a0a236ccc929af83ee37a78372d52cd9be2f79cea18bb20fccb59335b09b7d4e65b93f8f06ac983e521a341f38019f960b80661f9c4eaa7aac7c90019aff2c1ed85571ecfa86c4618831739d78af3af432e7548674daf1a781601ec1ecefa91fecf98fa5113de67f029e01fce0870fae71cbde1aa2b25cb958ef78ada540e054551be75c9659834d2fb458b20be0c4dfcfd02f5c69ade32a6301656d83f7ec8b88a610a9a4f5ab2c1e60fc8a096848658a1cab992cdc9954e29341cdbd4184909e6079d322b8a76eda67d6b5ca878d850d6c3ea2fff7119c1aa313d03797494f11b54cd36e4a8b22572b0088251f9fb3ed1531a4e70549054373bd4e0a17a0230d104c3f666ebf2d14d2060405b846202d2e4a44adc708b18749b75235d91ef786ef9b861ac1262dad728a397cb9e299bb64733d43aa2d21477c726bfd5993804578ac0533467af9a8ee31d402bcac633484e5445ed3b1a74d2a95feca1c4767d4cc7c150765558481]\n[privateKeyPkcs8 = 30820942020100300d06092a864886f70d01010105000482092c308209280201000282020100b9343dd96ed558cd9a99740fb5de19a5ca4c740e108bcdae2d6afd8d5091c09eed87021fa1bd291f6c23fd6657fefd470fa672ab568e41f5e37bf1b38241ad62f77630b644cd77be7db87d49ae13a151fe992198fa98d790099fabf71e50853482f321c833e5c7f76679faa9ce2e4ed7acdeef98944976b9b5a06fcc00c7e36a4d1047556587243903b678a3085eded3a17e7a7e691966a0a236ccc929af83ee37a78372d52cd9be2f79cea18bb20fccb59335b09b7d4e65b93f8f06ac983e521a341f38019f960b80661f9c4eaa7aac7c90019aff2c1ed85571ecfa86c4618831739d78af3af432e7548674daf1a781601ec1ecefa91fecf98fa5113de67f029e01fce0870fae71cbde1aa2b25cb958ef78ada540e054551be75c9659834d2fb458b20be0c4dfcfd02f5c69ade32a6301656d83f7ec8b88a610a9a4f5ab2c1e60fc8a096848658a1cab992cdc9954e29341cdbd4184909e6079d322b8a76eda67d6b5ca878d850d6c3ea2fff7119c1aa313d03797494f11b54cd36e4a8b22572b0088251f9fb3ed1531a4e70549054373bd4e0a17a0230d104c3f666ebf2d14d2060405b846202d2e4a44adc708b18749b75235d91ef786ef9b861ac1262dad728a397cb9e299bb64733d43aa2d21477c726bfd5993804578ac0533467af9a8ee31d402bcac633484e5445ed3b1a74d2a95feca1c4767d4cc7c150765558481020301000102820201008777a7f9e0311bd8a049b874396230be6d1fc90ff4985e251641991f019ceb1914c2d911cc1b71f5f302cc3a4d094db7e9c1a544a07643d718c333434b76c0dd90069a90e7f8a6aae688c8d3d909b0c92a025669f07b55c99cd07757b58bce335fc9799f581eae4acf614fb15f07ce51c1b7fbe74e280238ca9a84cbe292534d10fb64421996652f7300c872f00f7ccbade7b6afba2e833be20b55759b112fde52452c481597cdd9681e9fbed850b16fda2cc86bdb0028150e10688cc8383ff58c072e02a86553ba2bfc07092d1d53c7d10100bba00464b776a07367b8a5f2754d3eb5236e811fd8100f6a9e14fc07bb0154de227216f22c434b07c179d69c754a87505ed6cdd1cb043f21629204fe4671248c4e70d28dd7a5e62fe9cfd08b15a0bf5754158c55bf271bec4963923c06964868c00b70f7f87ea54e2b188d3605477ccfa2f658a6298d627f56ae95131fa0e12c536b8afe962f8daf4b9e66bdab867e3809d80c5334421d14305e3fba5710beebd3f21012dfeb946644b1af604aeecb93efe288f047c076acf57981e0b0e873fbfdfb4a49579a7c1a8b2c945341e876027e93c213f37b6c09e1252488d31436dc62a9924c4d92fccb1f51296907e2faba674dd7ab7e3d73761a7c622bdbdabd45f02cdc66f0d6400c6b45875ac720fe045ac86a8e8324770aba7b9d7bbe49b98a819925ab8d200285ef0e927d550282010100fcccd1ad86a93b05a2cba0cb9ce824924f596306841af3405169ef836d6bd96c57dd26ce2d01e46ef190871346e1486cdb3c11dc05b56e85c2a8fc5e1ff15ac223e033ff80aa03a3c0464636796e76865f1f3e4d255d7cf8d2e130da412a6508053a4a4b46bc091084cff4fa5ee007d9e48efcba6c4ddc4525f5f4a93e5771bf1a55699eb3c41eff562e529cd481aca601b7d4b4a7708869b7c3cbf79aeb2499a7845e0805d6f39e594f68fbc69f1e92f7488e57a8075a8f38c64db3fbe642bd8cdc48ba23ce019858adedd8c3fe56cc81e1b233e8f48a02175fa2919d4c16bc9003a3aece7f3b482745b6f767f137acf1bb6c673430440a3d17237768f235830282010100bb8c61e648015d9d08f8786e9236a5cb110048766ee1d43a8599b4457853bd67d168d8d2c076ce441343dfe0af9b219bd22457e0c431304dafeb78e00788992114be182aac566de4a788be21a91c78fc6cb214b6b464960bd4a257ed8873e94d94a81f83acae7f96eaf5e3ea0937569411b1dbb1421859c7933021d54f2b6001af99821a9e5f7bde3d396ed12e652021a0f80a66242ce8bdbd1d558c00475241b754eafd8d2d3217c7179d44071f1fdf3fb198a6addbdf14edfdc7960c0aef6668f6912c52df53f250ce93fe4209db1813e8f07160f5c117ee162110ff21f35227f2cec2c7f586a6e352b58a0900ec91daa3f05ab1ebff2dd00ff945534042ab0282010076bbc85b851ce4e0cfc66e1e53f2e0826b8c632b434ed9234359cb29e271be2bd9d4c00e242b785bf74f5771e15f9c41ac72b93caaddbd2c4bf24c9df4c8ca44d6cecdfd5a340003a022218622609480a61aa98b585a618108a2c5ec2ca139d49b87f62f06e8f824ef0c31568acb1444edc98ec00c70415da4e7b162f029e7fdc6e388f9061bbe275515eaad484e2385d0d6c3ab99dd0be5036f8dd41cca0665b8bd3de0ecc539a50cf3742e94ea5554d79a1768ea3d91f624c756e58b116a15571c7b7819aaff2acbb3dd3b6b4a81000a9cb3b317de0b17d25c93a16accbafd1372f224ff4dd8cd19ccef93a219347a210b536de1a02dc4d54e91d4dad0affb028201004ca5375123f622eacd42b5fd0216013576d235cae8cfb3aae2f488bea74919abb6e1f15257c375d24e493bd21811feef2e371a0eca3f0bed83ca6890ada37e690d900e524a31dc2148f2523971622873887c5288c43a2333dc872805f3f0e2d488bf1879f8752bc1626e70e131390351e9d554e2210fd0890636f26cb93911b83eaa2e887056b749809ddb12f3b1f22aac1d122ae1f7d479ce3291c6704ab56c13df4955ab7f5fec65b9d9d476509af6e291d2bfb3679ac873e675cd754876c3d47b87a2a48f8e40061416591f65e5baf650090b5cc3b250f444e8e8884bb8a3c79dac2fe006102c5dd46c4a68198f949fd4c5a25afa064413b6a37958677797028201007e3bc25b06f642f98a9eee091de958de87ac8252fec117dd7c6e873cfeffbb012320dded22e3640689346997a13b8fb96da25bd890af6e651f4884d9051e24c9ead42f096329b2692acd42374d8225a7b61159310a77dcbdc4ad809143e6d684890965cf485d0e805286408bbdd353790161472c7b0d2c309e897785c26662e27ec620ac7a496424410049c0848a2af34c44a22f986ae8a98891dde90219a4bbb79766be3101ffdde6c36a13dad1355dc41de41bcd282b29a171bac3196df7f18522d7776a947ac21658fcac2d91363ace9681184b2db52841c7b1cb12261997fc198914ed73a726fadf94faaa5b91a8cc1fb30dc0dc023769df5e76eddbbdd6]\n\n# tcId = 65\n# edge case for montgomery reduction with special primes\nct = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nmsg = 229f09dfdf4edef7a8cfa04fbb1437e22b814eea8bb7b7e81094c94ffa8aac13d2a9cd1b51c0dee1bea82d037034bc03105041e86eec10abe3b74313cec27c1e046a5d0bc57bce9a5171bd9bfe3217ca5995eb0", + "825295da331ebdc096c0b73\nresult = valid\n\n", +}; +static const size_t kLen141 = 50963; + +static const char *kData141[] = { + "# Imported from Wycheproof's rsa_pss_2048_sha1_mgf1_20_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSASSA-PSS\n# Generator version: 0.8r12\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bd31c7a02691d2d9587ef6a946ff788544ccadd4b2988ad62086792a6bf96c8616b4ad13317d2270b901d0fcd1d880cb8f52fb87304a5258c11b38dfeae8df670aeee7ea1d0d9df8e00e80847e41e5989ed402d44e78b30fef17b5671d3adbf8685e4dc204499ecd1863e1d5aff28a7cf66eadf31fec9236c120add13451522c647c9832a672cd64d328c1c322183f4661d09bda60b8dd5f0328da5420821424afdabb1a80c5d12763a1b0238cd89d0742bfc50b6a2fcb701d824218f9826f4f78a23a2b5aa42ace7f175376fb6cbdb2bad293ba583d4d31c6b8f9029e46b13689249855f505756e00e225a6a45a18769bd8d2b3a4acb9f1c23d3e51882561e50203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bd31c7a02691d2d9587ef6a946ff788544ccadd4b2988ad62086792a6bf96c8616b4ad13317d2270b901d0fcd1d880cb8f52fb87304a5258c11b38dfeae8df670aeee7ea1d0d9df8e00e80847e41e5989ed402d44e78b30fef17b5671d3adbf8685e4dc204499ecd1863e1d5aff28a7cf66eadf31fec9236c120add13451522c647c9832a672cd64d328c1c322183f4661d09bda60b8dd5f0328da5420821424afdabb1a80c5d12763a1b0238cd89d0742bfc50b6a2fcb701d824218f9826f4f78a23a2b5aa42ace7f175376fb6cbdb2bad293ba583d4d31c6b8f9029e46b13689249855f505756e00e225a6a45a18769bd8d2b3a4acb9f1c23d3e51882561e50203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00bd31c7a02691d2d9587ef6a946ff788544ccadd4b2988ad62086792a6bf96c8616b4ad13317d2270b901d0fcd1d880cb8f52fb87304a5258c11b38dfeae8df670aeee7ea1d0d9df8e00e80847e41e5989ed402d44e78b30fef17b5671d3adbf8685e4dc204499ecd1863e1d5aff28a7cf66eadf31fec9236c120add13451522c647c9832a672cd64d328c1c322183f4661d09bda60b8dd5f0328da5420821424afdabb1a80c5d12763a1b0238cd89d0742bfc50b6a2fcb701d824218f9826f4f78a23a2b5aa42ace7f175376fb6cbdb2bad293ba583d4d31c6b8f9029e46b13689249855f505756e00e225a6a45a18769bd8d2b3a4acb9f1c23d3e51882561e5]\n[sLen = 20]\n[sha = SHA-1]\n\n# tcId = 1\nmsg = \nresult = acceptable\nsig = 1d5a9bb49cb1f5c2862f36e451dce7fc607f3d302eb9a9fbea5b673a29fa9023308381262c538cb53910b5773a7a44ff465828bdfccf8a7a4ef902e945dd5f6226ffb7d5b05f2335e5762c5aceff71c8408150959c1780cc9c22fccebd3405e81f1bc16d276c07e4a545ddb1aadeb751b571d22f3e4bc4e02020eec5901a1ebc04415e9ddfe967fbe4ec7166923aa095b9fc7a81fc21ba37b5220a973fc5f32fdb8e0841ed321450248402a159d2c08e4a72b780310d420a6e499c2b34b0bd6fe0d1d0e1a7810563324ad8e778720755eb00ac6e28b204ff5fbb01fcfc91e8f1d2f113a5f32843119f5e06beec0fe94e5bfd0ccdd7f322bdab7b05c4f83c0504\nflags = WeakHash\n\n# tcId = 2\nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nsig = 01e9b1d4f36d040a553ee12afb76a36d04c6c5a0f3df84ae22422e8157e57b1c43a7bdaade30ae73073632a4679973ec10bcbb3016f6e20c9cad29a14f96052507819e90cf56ba50c97df5e5001c7f94817ed29f7500f839eb415ef3182aedb2484bace43cd2fcaaa6f5dbc4b6491791592f084b2a14ab303e89deb28a68c72b0b630ae85becb67f2b722f23a0f321f3a7496b251895111640452932579aa53ffb8f8fb4ffd331fa48c6f1e8e152ce7e04cfec941cd96dcf7a885a3022e426d87e8111336f1166878dcf8d190ffb16a574fea9eb6d7e270e025c6d98817e75c968f78c4750be018f74968d7f3e5cb9d6f47d5aafc99c85c83af7175c73091ae8\nflags = WeakHash\n\n# tcId = 3\nmsg = 54657374\nresult = acceptable\nsig = ac3c332b52f06ba2190c6ee312c32321ac377019c35453537a393bcf0c1e6f3697f770ccec092740100a7009cba20f86304108165d5de572df89c42423eabaf910619d555f7b27f7aca31861db0bca8357956466d3792fb6669c77b98bed3c721f71321548f8b4313e535eab5638b9e341f4bac6c9ca02bd07111da4e39f2cb8ed8ea5daced3ada8376ec8db27f6d619ad92e01fb49bb3e53ec3b84ca67b18c268db08ec28752b0c13f269a39fa700dac163b5b9439cd7a9883673335f2b7ecc0728ab38df178ce14479bf6a8aa1e24a433e41f9f217be5c0181245135d1e265e1ca1aa06dd6e853f5d1f144878e2f64461599cf88490285b52a79b744f25ec5\nflags = WeakHash\n\n# tcId = 4\nmsg = 313233343030\nresult = acceptable\nsig = 0bb9473d3a8cc4abd63c6f2ac13e278a9cd1dda844fdbd13e9b77cdd52c1b05ac59126e45d276777e8b1bc423cb261d29675988954c9ddc38bb9a67bec5e03e1e780915333dfe494dd8a4f0bfa0d748805885c389d6f7fb6f786c58d21a468b3589346d70e1153e29dcdb91dec8ac185501efea247bac7c63e3c546ed635e647097bae3b8ccb992701a75d209c439c5dbe8122da616a4e230bce08f541abff854fb93c87fdde0fb457c44b2783568bcbbfbba611d8e984410d360c4ec3732cb69426a94191d5a0cb33149b518ded86864706c723b27228d74836513191cebc790793e5809287b0279e7bc82f266d437d192e98975960d0014dd02e172b7fe251\nflags = WeakHash\n\n# tcId = 5\nmsg = 4d657373616765\nresult = acceptable\nsig = 1b92015bd34fcce819bcf75a6c38a05ae2b425f4b21802306c1af645d1197d2c84b84b24d453eccc44f578465b8100ad9d60ac4912c7aa4d5745a1acead176d8758f6abb532d874ba5407d9e3e399f2cd6166b9d3ad1745cd20ddbb584891879ebe71bfd4275d4c176c9da1e13903e42be68ff2a78d2da9324a8cfc7a8e2fd08307c0ee14288087196c840a0e2b3811d9e9bda6ec24bc86e7ca5e34b57969e3aac31388fd2e696528f7d5136bd44c122156a5147f05bc9b118d3a33ee6d7faecbb048290bb0d4719c25ba71741d7434d66fc4baba9b995dfbc56e3507cfc97aa2d67acfa1083e0ef58e6db6975b3bd6b10ddf1c13087d2bf546a931f0baa0cc6\nflags = WeakHash\n\n# tcId = 6\nmsg = 61\nresult = acceptable\nsig = ab8c1e95acc36ad6218e48f033835d15ec6bc7181552feb6dd6e128546917bac892f5b349a234d051a83ea6469e27189f2995302388337c2ffb3a746db17b157923bcf6e985ebd203a4e9a23697cf2925912ecadc3d3f68252e5e01e112db1829658b16ffe7188228921829ee59d575c6ad8299d76c7f5d6cb204b769854de0204087560465904c73ec3bbc1b47bbc98586f0ba17b99c43234d262b7f1e19fb2cdd20b92c322d6e498835b3ce8480eda172921b5a4707d5ccb662e1ee4b3b4c36b5b485a10aecf1b12449732018e594a734b68c8fad4a730b469d097c89c4121d4f6dce34be78f65591b673b1d0ee170cb3c1852ca22bd53b9b26b2fa19ff275\nflags = WeakHash\n\n# tcId = 7\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nsig = 264dc979cdb293d180f15ef3183334d4940410c9639712910006c68e3766c3aba1dd95510d71e7d91d93e61128da456cb0d84c44552f33504bd2dae30699d372e394912a66c334e888873a949d58a3b7d7d43e76391ab0cc490e7c3afee6a5f3262b7d298919d64c5e7bb81cd7bf8e612b9f6e266eb28316a7fd01e44b62100f4b462ba5b238115081536ad1f6a068d656d00000431afd1b6a5b57f43f27ca778c08a4f86f62ef84c73aa72b0c361c68345c10599ed731d6423c750462acfb469910a50aa2fcad3ef8c908633bd3fb0b2e7e8988f9be2ebd715333381c6506e0cdaba7691109cceb8ad5364fbc035c309a50912dbb670a8c255c287a9ba992f0\nflags = WeakHash\n\n# tcId = 8\nmsg = 383633323732373830\nresult = acceptable\nsig = 91d5f67dd4f93a6093adb8a7686be7e458f66c23e32464942f46193055c61c29db94eb12f96c918e1cbfcbcd2ed6f4ef6d271cb6def90375b1c07bb2d5e7c1c92425b16b2d8acfb87b8aececb874b7bc2ec9b2865f8882e0807db9ed481ed5fed0f3dca5b643686e70b4940af6d086ed7fb91fc30b322ce9fda13ab70a7206feab152991415d50ae586e8a9229a5d2ebdd1cfe56c131fb832f1dc39bd9fce7b73b190832b4052f5dd34cffcb39f5b0d527db2322d292427bba611ccaf8afd7cef8878337f1a8b2bc0f5ac08497eecc95b23ba171707795fdf5397f94ead6b8569b4871aeef1052fb4e895bad9f17462c1dfd712950631f625503d1336e850e6f\nflags = WeakHash\n\n# tcId = 9\nmsg = 36313639333935313337\nresult = acceptable\nsig = 500ba4952945df532e565c9803ee08eae2b7b69e02199cdc510184fab3f22613f4a005fb425bcff96e25ba4f66a849abbd299f2ea7d530b263bab4899ee3b6121b88b1f2ba0186867fcacf686a71fdba46c2e5379167603bd88a9e1a20f5211420a1737a77c40fce3a7722115682882ba04fb521088750178f3b665921011209f4046b9981b79696cb4193fe56783ea96ffea62fd3f5945e4790ed1a1059b5f81124e52dfdae58e6814a1ea91851c045d71960600a2a94db05f40fdcc61b90e846e563122e6fff4ad1ba74394af7fc13ec46fd7befe8825abb40b365e8ecec7131769ae3871e806eff4f6092802a8edaa8cc47ac8053c8fefca21648abcab60f\nflags = WeakHash\n\n# tcId = 10\nmsg = 333036353331303631\nresult = acceptable\nsig = 3296d2cbabc9257d91b75b51b994dfb8f777fd2630801414c33d405860e3f75b8b08540952e4defba250d3946537774f93a8c88607c8d673a0a1c7161ea14c56b8d3e2d17862e932146f29937b0084295f16bda9f6c555af0e26f7ddd223af6118c795463ac9b5be70bd413bbeda91539f05da157275c24269f039be88b3c3589e4cbc99746f3acf186b79bf27882ef2ef3edc0dc717ed2b94ed55177f99537a3261cf509852115652376261b090ef766cc68a99ec4ec7aa8ec6cab724b4eccae9805f300c48a076f0dd345b6018941bbe4fdbf94e548bdd6bdb6c62a358407ed3c84ff587ebb36ca82818fd82618c94bd355944547b09af94a03e68a3f07f94\nflags = WeakHash\n\n# tcId = 11\nmsg = 38353939363734353639\nresult = acceptable\nsig = 97e5859c080f776faa13039db19d49eaf2a16b048246c939ef875fdb4e28eb2bf4ee3c114b2d99b20753d1082061fc4935429a92aad3d486718657a8ca2141873e69668edd749f99f1cd757dfe7cc2db297cf1bcaa1f82c3cd92482f4dca6ca66b0c28276c32c4c2864c8e87e8c42b4008a", + "87a4100523130c8e4bb35b7fa7d1af7ea6097da7f7ae8372d5aeda20b4a4ba3a6c93e1b77b17a08328a27d975ccfa6d1b9010b34ccc12ebc0c3d4e6bb14c1b655a15b7f68604068c9c493f561017a1aaec7c84d1a24d9ef97aa683a240abd141a55daa3c210174e731daff63eb39ac3aab1a79b9a0f9178a7c374f0bd0148e4ffd8c9e17f2dc7ef8fb20e3f5f1043\nflags = WeakHash\n\n# tcId = 12\nmsg = 3135393637383036353431\nresult = acceptable\nsig = 8357bf730c668cf632cf2b1b5f9f9f3837061a1de0b86906debecd43077bd132b6c6a078b35b6878a07a8d0a84ceb45c93cf8e56e21e7cfc095107412672b58faeea7cdba71765101890b12a92af31d12f6370529215c299469ebfdcaa2055d2c2261bfce7329977f13fceb51d445b56a57a4e34e7c6abcbd7ecd13af0d92a6300ccaf70e3ae8a827380c58bfe4f381ab085784545d6b23ebf896ea8c453af1b498784025c9e9eb01e10e9d1e22eaf2c77902b64435be4c54b9f3d74b63482e69cf751f522f5a3ff59a35ccec8e612321495a727fdabe0891265cb45a18c99846aec27bcebdd79195f65e05a4d5799a333219589c61e1aaa93547974138746fa\nflags = WeakHash\n\n# tcId = 13\nmsg = 333237303833383939\nresult = acceptable\nsig = 46f2507d0817c14753ed5d4a9fa6c98cbcf7483f237ecf5d26d76e6522e940215841da07f3f20d4af6d8a35e182617150115063c1e1dc897b67ade6b6263700f5420a7f6595ce620f90ce6b8393ff006fe4f0825dee82ddca8457ef74d78e3352f05ecce196a1bf4d45f018317a6a42c59a2f2876f95e405d65c4bc5f0380d0e0956766f89b15850fbf736cb042921e4589721b5ad9abb6213bfecf8eab2ed077c6cf33be26e8b9fc5f95adc045efff8658231e28fd595701531e8bc3c74b42f12271f077e08cf9386d5b611bd88218e42ae757eab5c0c9b974c2bc17da12c8babad3eefda8a16a56ce3431da35460b1ad1df2b2e172cdfc006512e1a4ac866f\nflags = WeakHash\n\n# tcId = 14\nmsg = 34363035383435363034\nresult = acceptable\nsig = 0c3b3f5120fb9c7dc3a715498786aae8e2dfe5d63f54cf805d02bafd36c806c83d0a93af5d1eda293f4ffe6d0ab218648a82ad12dd328a60f6c632dbf9f6e5e504fd08b8b84d8d58000a2d2a9f9a966ee898d9cb75a69c930b260f6dba3a0301ae876e212d4fb971d819c20cb07aaf0fcdbc152765398173dc0d7229ebcd8a9aaddff45d118bf63ab397adb39af91203e8fa5a7d28f2937ff7cf31ae90dd9efc9f2549bf6cbcc3c65aaf78a93c76007bee2720930e2a5331335983943a6d93570b11615165196f9d7ddadf805d443021580514d921f439891446c1fb1dd740794bbd6decb017acc238a81ceab36071be58551557b09643cd2bd7be6e69b77aa8\nflags = WeakHash\n\n# tcId = 15\nmsg = 3131313738363634323032\nresult = acceptable\nsig = 94b777215d1ae19f959d046fc02fde3e113e15bdadb1d792c744f217200e275d3954b798b43e5ee382877420144087be340e11d2879c10af6376437b5a8f62634fa19b9338360a318c95c9421d90f60337634f3a03a2260796d8928e056aa7759cb13f3bbc72954f9c9da7eab1d3564050e4267ced557e3684e5090cef96f585153db8c732b78b4f7df59db219d7aeac42d4f20b1dc9825171bbebc2712e722ed6fed12dfc72dccb1e9a2c6d93e4c86641e1dfe16d6d43629dee7d80eba8e9639ea594ffa206cf3f0e561b2953a290d8cd70bd0ccbef64b32bd66b294f1fb1ec97bad0e096e5e200e5812fe025333cedd7d1ec8c111b28beb4a402f5cabf2f99\nflags = WeakHash\n\n# tcId = 16\nmsg = 383035343535343634\nresult = acceptable\nsig = 819f624b0dfe6822d3923ac1e5c75f79e1da3dfbc13b332874d4052eebb30f9b2a09ecf75f1122990c37367d75e4ec510f4645b9f41fe4f2f9805a981ea81ce932127613126caf8e04b9d194a927b720b24cd9f1721e33d121c59930ec48a5f5574f9aa8c6bafb5c8ccf9dddb2dbb418d9884ecb4a931a9265360dac7475de7e4cc795ce7a586c7d476ba470dda7c03b3f1ab69d9372d7cff3422306edd8fe8f6dd745596f1fcacfb99914470c13e752bfaadce632fe4124d6ccd80eebf87a6982a998aa4a0892c270ae6de0b9bcbfbc9cbd96dff2e2f93f80d9370fa2a015e13d0376b4d9dcbdedea29ba9b616a83261ccf6ec56079ff2ec93d72989cf93454\nflags = WeakHash\n\n# tcId = 17\nmsg = 32373335323330353531\nresult = acceptable\nsig = 118d4dcfebd82ea74b28041bd8bf5f969d04e160e2b8ab2fbbe1c2a1673cdd4fa7d801aa4bc23f9898bc0dcb240e8a3ede076f911ffeb2749c03d21923055f8878aeed88563dbbc45422b658f8647dc868885c92015df4d5925f3e6d75e85754b7f002374d4583ed310bc991cad2812fd29d0906c4dea5c52921fe2184880c5e8ca51b06bc5654edd5e0e72e20922a9c9b2fcd068c700ec82878b6ac04a56becd76fbbe9fd4abfa9348756f983bfa92539424d972d764e7813bbbd34bb369ec147fcb1a94e8602e359f1ef312725f2bb81c04932c1c4ebebfa09e3165d0287a85a22f0898d6385538066246ade07cb51580db1fcca86afad06fe2f9695c2f8fd\nflags = WeakHash\n\n# tcId = 18\nmsg = 31323238343430383037\nresult = acceptable\nsig = 53711344088547e405b1e3f7605e44f9b7b6735d5d3c32ee0e408fe7ec9ccf58998487443f66d4edc0020dba88efdef9ead403a2874b2892054e391f61c1b36e490a8623868ea3e3eeb07eb6a2de96503b93f4fb534225072c6bf90837c029a1f5c2a5d8194df2e203fb0c2aaeea506767952897d900d9fb20c8cf4f7b68a97a5278d7aaa6e383f0cc8d2b53bb748ab6b0dc5fb1ce82b08aa986449b3c3137a5965985d0cd62b7a1a11b31a498669a0b3072692eed9a1393e42d7e61b90226acc62b284ec550c0813c4afa25a1b6fc103cb80cf429944b557e1334e81c1173df4a86ab107cd8ec6c75392cc7cb11c9212f15ee7e18aa0d27006af5c5ede7b0e6\nflags = WeakHash\n\n# tcId = 19\nmsg = 353131363538393837\nresult = acceptable\nsig = 972ab5dfd3aa92ef9ff40026764716784c87154f12967ed3f02adee5f73fe9a0594b22599e829bcdaeb00217a12218dadf06c9940aaf9c02c75cb149a89e258a548894bf4762100ba17bc8bc60a7a0d05307b7133678dba4babf660d12418659cea25c9f982bdb9b1d2300fdd9d144a25d4f150e54ca7ca344dde9e9e1ba5783c2cb606bbc86341ab9344a0840dc515dd1d589bede2e3f483b20180f08695cca0e9e1cefc68b6bfc3527e48ff0260a3f696c0680364bd4b6830d675ec4986638e976b83cb1f56ad5fe705d5dee0c0c5eb29bd15a24f265965000ebcee5a8551ad8ef74b40592477255169bda56dc8f35fafaf796fbfa44d366033e15acfe048b\nflags = WeakHash\n\n# tcId = 20\nmsg = 36383435383536373234\nresult = acceptable\nsig = 7a7cdead06ba212e8dd6b446f911cf37b40c5ac7f9c817125c0d5ee3cde49ef336b87eb94f7d8a93e1d9fd0efeb77e724769b27d6f63ba91f7219f23e085a3433e4d69ca8f8e420534f554c69a7221d70e57f8a8246b24b5986716c50da4942a1720e51b3ab87efdad42e02cac254be2673d5bfa4669e764defb401121a25055993dc5ebba22176834b4a2f9a8a3a34d35ae2c344e9a84675d94ef8f56b16d848d15851c058ae64df8a404eee09b63bb64fe017c206a94dbd7b274440f04fe07d22d079c2d2a8686f247eb983a0ee625b2d4b9fdd4d9ade53712f0d13cf1ff1aac03d09f80335bf9364327a89171a8a51f4219f86646be96f0d96c6cb27f43d3\nflags = WeakHash\n\n# tcId = 21\nmsg = 32373736323939313435\nresult = acceptable\nsig = bb15915502ad77b3a080eed70b444b753496450a4114d435d2aee9fbf1b345074fe85c23ad4ef52603b3a8a077d5024e3d56dd620169b6dc0ff7437fe1a520c293d78faa77258e8c8632100e0644f469f0a3250a53483e9a2f8dab0bdaead5df41dd1bba91dd01d79eda1df838dd4567d04526b0e1fcb5d07cc628f4ff62fecb65d2386af638ba6d0e594518699c5685033635af6cb302d07bf39a1dc5b50ede06baacafad9a2ee9ac48bf88c11329d2be62d565b0312813fc81c9e3cd243aacaa6c11dccbb6941e2aba6f93524b0140f30987168036b13810c10f65f0acc443f7df7009c238a8d5bfab00116f1adcb4cbf55c484239689404788bd29eb787f8\nflags = WeakHash\n\n# tcId = 22\nmsg = 32383739323832383334\nresult = acceptable\nsig = 4fe965e8b685d1eff38f26261f5c168b77560de5f2d7243a33c3c1c7f267d7b60e9a61444b6cf0a71caa18ca81f38960f45ef29586910c240c93820551f3da5e15180684807faa5d9fd361325b9d39c7b8e805abd75b69af4d020345bcda266a15540b32ccd28e57f7063edc228fbc815f1ab965fa542ed679c43f7b4949f7448e6882bc36a8f10412dc0e828b33ad4e09a5c72d3730143520e4eb625356615bf49e51ccebe904af7c6397785de0f20371689f2975666524103bdbb4bf27f1e202018aca8003de615f073773cca7e647e71ee51d97cc30356a17b50aa3c47a74e133aabba4ae41750786a9b1e584e319836c3c7e7c8c2eb2ce6604323856b399\nflags = WeakHash\n\n# tcId = 23\nmsg = 363635373637393733\nresult = acceptable\nsig = 9e12dc1ec88182f9462a795d710dd07447e79a4e035b97c16e351c4b5d4e98459b8e5a52e2f51dcc1edc4c8943863fa9abc8fbd75ee2f47691a58428034021c6d3323191a5a5fdb2da2ac1b2a149b8d1025576309e21410c9400cbd3b67d2ac4d4af6f57c6380fda2817c263984795934b48844f5ea4761402354112a2a8e2c06dccea0e535a06b6b1274a42f218b1d442c2c8347e7fd168100ef658c63c790e6bdfad3f4e57a536e2ce181a976dee1d605cee947bf5b228f7c540c2c9c9f2caa0461bf737e32f5454f52cf5300b23e8a9921d5e4a380eb836b645515c0c71ea803b730d0667dba49be3825c7a5f49afb7e989c85246ceec236c3a0eb43ed8be\nflags = WeakHash\n\n# tcId = 24\nmsg = 373436353535373037\nresult = acceptable\nsig = 3f55470e612c832eea00cd738b6152bd03d88c3abda95ccc2ed6eb6aa5c0e4d858982a548d25914eac7649c53d2169da5ad4f09bb64d6290c913d346424d189bc2414ed50dd2bdcfe3e9e80a992c6611ec86b537a8b5cd92985cb6226a0367c2ff20d2859c21882fafb2b9c47f48fd19cfa14f793e0fff45d06a2e886253a209ed95030da05a1c6ea35d2993c600491b493ded76e952acb0442c52760fbb1f735957a1ab30fefea6e7b596a7aa4ea479ba6a6aeb866ce6caf38cb7c6338b2993213c39c98b0cdd6e46c9702069b85a8c7e050c1079b11fd209fde0cc58d37beec46db4c8c95b402c45b2f5b7906f1ef19f2a84dbb8e54bd5d5dd39a532ed6e37\nflags = WeakHash\n\n# tcId = 25\nmsg = 39383734313231353838\nresult = acceptable\nsig = 08823a3eefc4d13f801419b374a5d8cd51f9281e124deb0415250e9e353e3a2f974a83347ca09d3b5", + "ec24ec94048b096a4b11dfac52f2480b522f70eb4eeeed6f84941bc37d1dd1d82d7b9883beef1a6cdcdc5b3f6024d9299b10d7697c0325e2c75764f225cdf5fed483ac300a489b69536acc9fc90d581dfa10d67056b3ef9b05e09aa8dfd3d688ec4d63f483c301a44934bba1841860948c130d6353e7d74c9ca9e764c44e3b6fb1665afd38b6a7df8892d90a0d5483dfaec6270084ad76aa50f38e34389f891fa6455ed9f3cbacc422266f6ca2b10aea5c3caf83035c06833cd7bbbba83dadfb28807f7b3d7f4ac6e9025a47217c3dd1dfe9426aae6175f\nflags = WeakHash\n\n# tcId = 26\nmsg = 32363032333032333730\nresult = acceptable\nsig = bb6c055b3f55671f0ce85c5641b970b5ca0dd1f1b8978b915c8e36390700f6bfc765dc6b1694625672f70c0bdc97517d81cca9190ac4bc9eb5105df3457f48144ab9dcc049ae54f28123af0204176685ef6c2d71b0e618389400e18e90fd1dfe65cde88b628fdc410631ecae8d64b86da329228ce4c99fcf572e77e3ea366ce6d33d1401e250c75a329c71c7f5363a95cfde27bc8cf010bef57aacbd44c60a4d5b7aea41df9b9d59efa0cb6cd343b3c95c7acbd84d77873a5775c8757c585d665cfae9bf10095fe4f979b5866b6fb393b09890e118a35ae8a17f7eb8f60dd6e4954010ba903e69f4cdc63880bb24c3019acc596e6028b5f1aa86cc16d6f9720b\nflags = WeakHash\n\n# tcId = 27\nmsg = 33373236363131363038\nresult = acceptable\nsig = 80ac097d00555c8f6ac34f3ea96570432283b373bfbfc327e5e1f88b9b25d8dccd61d1064a944a10418ffb863ca2eee28182d046ea819b776e00a6fd62836aa3f334aaf7d14897971782a8e557c53314a3da16f3bf09959c139abf42c95a943e8f736fe6ac47aac2c4453d2a7091214e9d6c81098f39907d001b4cdaef6a66b426b571105a94331349d0c4d456263e090c0ed01ad2195ca0e7affd36d0f559cdf12c8c8128c7cf1a8aebaef6154b4bf8e3bd8db789eab080b14b45b10527e800452fbe2f20345cb41afae4f35530936c1b99137a3370f4f1c9eccfa81bfa3749fec4b1b0672b50e970c621ba0a66d1e775bb4df0674f587c938a29176c603318\nflags = WeakHash\n\n# tcId = 28\nmsg = 37333434363334343235\nresult = acceptable\nsig = 669f3256203b4ffe73ec01c2d7d120ab9c02bab82ac75495dcfa24db2f8e79970673d4790da772f4b16b14f81047086034b3ad927196a48390774aefe0d277ff466798d3497c0e108d51476945e4c324d32145af5d8cafe88bfd6a4b52c8e033ab4b95bc5b5c3451808f019b39285efd4feb6c21708b00aa5bc781afa87fd7475cad673833617159e75051646064d81ed42044791c27e37eec421893fd371d7cd96b462c158560545df3f5862fe97958c9974c9332b46d894486e97c84528a1f55a3d9add429cd7c1a05fb582affc12fa3aeee980a93b8168f284d7f95faa2ddf137e445d2c5658b89a2a230a9a640bbee40665c2bede3f16b986c72ad15b4f2\nflags = WeakHash\n\n# tcId = 29\nmsg = 39313032343039313337\nresult = acceptable\nsig = 50191cd6481555054231eb25b7d44f374052a228036f1e796c2d923c9df9bfd2f881620870ee4d7dffa4637e570d6055345c87b61a2c8f4f3b536d89cb0379883c99fa246e3ae9c6a157770767bb018d702382840e5125ea59bb6367f98c070327d30bc4e17c40b465fb5314e59692527d792c9155f5f1c2d9f4061a3b784741788d92d761e1a3c553320b4165c864e874f24664de3dc6b572dbbd4fdc495431de288389c2690bcf56482632ee34b638aa902f5ea808933aeace4eefbd2b6ef54b47cf2afe586c20bf015e782d5ab952bf7696268467a6beb2f2506cbcbec919674fc785474ee0608c43980f64987ec0b75e8041871ed9a2f99bf4623504a9d5\nflags = WeakHash\n\n# tcId = 30\nmsg = 33383239383138363835\nresult = acceptable\nsig = 55a3be3e5c6c1bb472feb54e2154aef10c8880195183860a3c19dc2f0d9f2e7473b90bb2a9ecdb1a8b144ee27c60ed7ea25838bf6ecd60c2c5dae9213439a9ee8a7a49e970eef3cdbd86f0b259d7ad598230f43e2a5ac0a0f68f947cbded0d20e7a768fca530f3dac41515ec9ca79167de3d800c8bf547163b035a0f3f45c371d53969ebb6d14e5850bab303dbfcf86092b47d41582ede460bf9920c8eee792187d1da134945046d28af67c433fb802f09a6bfa946a8aadba2ae9f89afb530540cbd22960126e6e858be58e6372903698c644253cb5ff72c493b35caa4407d381f96b304b0993ce08b7b0c692c0bb7936f743666db5aebe2afc2c67e3b256fec\nflags = WeakHash\n\n# tcId = 31\nmsg = 31333332313433383039\nresult = acceptable\nsig = b6fd6d2d4ebe5860470aec5e25bbbb02d67d46d960008311d1dbfff3b85048cef40642362104e8e544b914b9974eb53ff1cc12cb8b0fd5b8a924e96ad982ccafc1a80092586adbd2905250452e38b342f7921cfc82623ed499742b2fb0b90d1b5285bad2fa03ab82468488356605b5b7693335e8dcf983f639d82c3168020e27a7e0d06b2af184eb96618ce942c99b49bfcc27a4b6b47c5c07865c5b2eafe30c6bba2d9a97818aa0eb5d2288018103668f892e8bf5ef1837521cd2bd41b5b8f6a954f5c4a50de874b8e00784a5546cc9b7ce8de2ff776749b0027b37158cd5b11b440a52a1820b7950fa685bb43505e1d35312a6fdcbecdbe947672dc2be74a1\nflags = WeakHash\n\n# tcId = 32\nmsg = 34343435383035313539\nresult = acceptable\nsig = 7fc54d8108368eef19f5877275d07e871a3251cca71c63cafb46808748cce240b8eb95a1f218b77954edd2ab8768e3fcaa8c8d3e9b7d678c0d44f9731d5a58f6ac5f3643187bf88ba6023301200936d9414517f1b13ac2afc01d8cb8e011631109f2e8eb66b61b7110c273e26c2066e9384732b5d978c0b2d6a9f0227533e092373fe9d8c2dc33f8253c13aa5730b3f792dd66c6b6b2be2dc5723a470d8da15c79286d1842c5cea67eaa47b906c4f034d1587610d9fa02cb7241364f8862458feb6d8fff98255b4c81b69c248d5f5dd721ee477b1f7341c73808b880a88f8425dff9c27c2bd0140a61b8c64d8dae15c4359a918de42c8a778b8b8e352b624291\nflags = WeakHash\n\n# tcId = 33\nmsg = 39373637303232323239\nresult = acceptable\nsig = 039ca79f8bcf17374bde9dca5b7615b809ac8d49241a48b118c18cbdd4e3fc43c2e3792b73d403062ce800f26955125b7b15beb60a6447710082c6c6bf80d24dbb417a58ab934160b18883ba64f29b461f6f76f833ebd16c38f7664976aaec1521ab6a567b34283a98b8556b4fd346b050ed4b1756c1228f891172a634444779e26798476d481e416e1180aa1709f885fe5c6f091466aba6287f727f26d086618ebbcc2c020a001ad8b24d2ad0dac784456e162d06030567187c25f2e2a023e30decc076eaca92d2c82042dd077abfb788fa03a0daab9714db415822501d99f89600f8d677faa726aa43d2314645b2320588b4cad7208b2fd12d7f99fc37d809\nflags = WeakHash\n\n# tcId = 34\nmsg = 3130373838393031373235\nresult = acceptable\nsig = 907f826f39412c22974469bbb28f049d8404b9397bbb86322c742872d8dc008bd199ec7e891c1a799da60ef20c9dd7573ba969761f5d812f72e889af855b833b5aa1cac338cf2a42d4e0a9d14cbc6fb004866aba01341e9dee8e2896df163996d78c4d30d8c68770e7c72eaf689cc49713c3eb479be8452c935aa44c48aecbb0d3f0646614d36750ef126036828be76be580879961932a74f34bac9983fba0b970ac740f584152c5cbb4d6e3815e87701ada8d30a501abdb62ab173aa1a7a3199ca27cfb179895132089c038e40a273be45b471a1a1f70e7d176b7424e852b3f8c608193a7126588c5065cfc5a7117beb72f73ea8a836c8a15f12eca67f84051\nflags = WeakHash\n\n# tcId = 35\nmsg = 38323137333338363331\nresult = acceptable\nsig = 7b786c0a1baaf52fb84459e92afaf038bfe997c9a4d910303633fe2750b97448a15bb057b505683bc53ca4b18fff1dd90d1416bb8c0fb2c29550d7dda9c9a7f087386776fe65b1288c1f5508ba9468ed9328c9d6620e6882fc818c4ebe832df36dcb5d92837a711ea6f0d20b784235933d0c571e2d6061445ef5d1bc22d43378d2593b2a762114f687bcf59cadb4ecabf258d3e14a4bdea0b215828b2e7462439fcd4cb99518bb5d5dd9266d6dcd459bf36cf32cb8683067918a225c1685db5e52f9a5305cbe60a38df2babe901367eca57f9cfeee2955549ad9b99318b015ae19402a4dad7752e15b94b25b3414cc9be0c13421f31a41d0b1a3e43ce2c1d309\nflags = WeakHash\n\n# tcId = 36\nmsg = 31313438363037323135\nresult = acceptable\nsig = 642e3b94f8c5a0897b5787805c99b04af6c7a2ef47eae10ddcbf58e0f9411373920d1e4d769619f97182db36a9c38b6cd695a1d96daaa9c9288ddd4774f9e085dcb4829f1cd852239016dd23ceb1a493a1294e3d35104f48384acebfa0cbecdc114f445c63d8a1524e608d3f75172782b1c3169d5317902a6796688dd6b0112d0822a5c65a9ab31be84c939cecc4190dfc766cfd29b965ca02baccf2e3a68f13fa304b469c60d7eb49049d78dc1e0ed94daa273dfbde714024e62ba97cfc7b3d32fff034986518e0486124a6d6d33f40474182b2c235306c7d0d5088e7e733b0a895745a4bf4c187d2cdc9d6a8df7153b41f16305a15da7807c6bc69c313b4ca\nflags = WeakHash\n\n# tcId = 37\nmsg = 38303433333530303635\nresult = acceptable\nsig = 5ace1b9ce1f57901e8b8a90f033750f807e52361779bfd97c60f029cff8a70774c06781a2ec5d16116e0ea5170b99d0486eefafcff11f2780d7d04139e28e408a358b48ad55c0d62a357323d3ec759205df77c73f89e991f849114d8bfcfe4b6a4eafd86a9cf43500775b1cf4b4980c4f6eee17aef782eb7f94144ab1e7a0ab9c83ef2860c1429d4ac9174295f5aeeb6a3d5fd430807b9c2ec20e0e2cd1242e496e5470b733db52c857be5a65c604779d9e1bfa5a7bacbf2979f1e533278076f102b14efc321e905ae5285e50e3c9998036718b34cff35ea0c082735ea576acc2f18065c7e05df03d3fee209f1a8df7da5a07af3a4ab86e54edf85fe61343fef\nflags = WeakHash\n\n# tcId = 38\nmsg = 36363939343437303335\nresult = acceptable\nsig = 30a1a557fc9651e08c004b23a5fc256b13f9f9221082f867643dd707fd5513de72b52d13bd1b1b6fd090fd816beb486813419bd9f426f9d4e8ec7e5c86d4228e3bfb899287b2354d5b720db60b68982e76ba2b14ed22b8bf849244c9ae6b55071bcefd4f7063d15ba43e0a5f747bef7373cb2dcbff6d511b030d3e13f628896406955a77573570305073d92c5cfb2a9c4d92f867c1801e63c8addba43ce3d7faf91af464f941faa48f28f549d897f93c074394137203a19176cbdb41bcff260b7b0053508956970e31f65807b40c3b7905da151b5520931ec5c470f020acb306fc6e969a89966fef4ab1c2a17fd5a112e0a841b853dd1449be32a3b52d2f6e89\nflags = We", + "akHash\n\n# tcId = 39\nmsg = 393933353239323431\nresult = acceptable\nsig = 1960aa85afb75f52a0bee917bd0afd51de8abbe1be7abfa7c8321f74e18921db7d53de052535c2b10c71c32ad84016a998980a89cacfbbda3543c399319538f3a216981ba938a53f52b0d5b078a6cef7047bebce6c5023db080172d90b868698a2909b2fde7013283707f9b74f3d800c39b0f5dcfed845791678c7696324abc97331702f2236620182fb528e2be595ad10161bd889ff688bde34950f2b2fbbb3983f76ca9224df04e2def7ada7dac4ba70d763e2bd7bf0b5a9d05e808f9e4426f04cc94e28510fd8b91a838f86c808851ed88fb0e4755afc73e5716e9e42d794e351a4f31000427336e7052849cc673b7e54547127e7e6f662caf6bc512d525e\nflags = WeakHash\n\n# tcId = 40\nmsg = 34323631373430353530\nresult = acceptable\nsig = 596a2b36370dd115ba496109e5a9851b2ff58c2f9a5bfd1b26cdf3eabb840c49b46b6a6887e4c13c4b930b737649bdc56fb89168e46d91a1f1186adecd0fe867cec067c9a90e8e1a663880ec44006722d4a6888b83b764a864925de700b30a6b075204a8978800296d5eb0ef1f0dc9ac87c5fb7a4b2a7cd148566ed6eacdaffe22d914da5f2d6cedf7ada28593b548775d748a61b6ed22ab5934bda0c57782caf1f48a309c80bed4fcaacfae1dc0432847583aee8332eec9435e409fce2e0d3e14f6c4ccf121b8eea6f5b415894eba24ef066a08d5faa9231fe3e7767cd1fbdea7850db1aeaeda755dcbd8aec33a7dabf430bb7002754e38a70117b47d3f677e\nflags = WeakHash\n\n# tcId = 41\n# first byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = b8edfcc9ff6451ff5838c470232c4d0f358a88ff6344e62cf4cf9170576e6595fb22f6b2f3b2190a6f286745e39a300cfd368f82f86f12f81ad4f8546cafedb00a38bc85f8e240127fc232ef8287c7bbd35fdaf55ca849c9745ef2ed1371a84e77cdb07513a5e8dc4898e7a9c8c52a3e35b3682abba3b583123026b9840ae286148426c59b4c00566a147c6d89e039b28052a8974f966c2d77cbd26ad94f54ce987748374e88b7bcc4afd24582d408db9cf94906ae9d0039e1bd22ad8a23a8c379777ecac954540f1b13186369fe3480955cbef6090754b286c8e9adaa288b1024d94be0291d20e20a9eeb525d5e9a2e0e0b5cb4419802b308e27554ca3410a0\nflags = WeakHash\n\n# tcId = 42\n# first byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 48c590347b593cab642b07d49bc2229503ad8079dfa82e3ce1f014d1f0046c5862ea5d3d3c3f44705370b15079e1dda2627e3ae861fdff25eefbbb436400702816ff8c60aec8e2cae0e0fd2ea87a3c9ea03731fa2c5fc78299aea7629951cb71adf1608e5843b3f9c99f0c3ad37b6c85e0a271a1f5a07322433c5945f9a471e695c0ee81564a9bc613b73e0700a804d7c8196f160729b8f90167a6704761930bcc5aab75f2d5e71067e799833a8f4d8ed49ea17ec71a29bb9d20c96501241d97931e90b0f50db39a57829c615ca262d756744ba3422c3505484c79e964d840927331a1490889ee67ed1af681d350e0a1fc95b446c95e38a3c14af3236cfdff4d\nflags = WeakHash\n\n# tcId = 43\n# last byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 53dbcdc61acab0d966644f60bba8b9c78261f01afcbee95e206fae665c07fc69c13015941af7b684745191fb78387680a274838d1d9a3bd4b5f556406ed11e1879def7c2f018f57b317320013e9d4995f1610cb3cabb8f8cdbf718d5c3044317b000574244d5fb9fe664bbd40aeb0bd066d4ccfa224a49c3e9e3a3ae323690e5fe77a3c72d5dc752be7d68ecc38958a2bfa8e0c9365b5e546ca15fb95e205a30818b01b61fbf7a6709281b9cccc9a0c1119cb8c11c4fa2e5fea4affc477b1935b8ba738c39089f15c6fe0fec0c78b974646ea0ebb80ca5e8386d9803764704e7f16188a811de89379fab804717364cf9ec39371eaa416c628a55d2dc1a5b5ed9\nflags = WeakHash\n\n# tcId = 44\n# last byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 17b550ac168e25ebf6d1bd66ac30815cfdb680278793fec78b36e2f28d10c32892dd0af9950f8402ad8b54597472249aeb9563215e17a17ad8ffad7c4a1c14c4b92cd8dfc035cfaac6d662e27c0df6b1d787b7136a4abd5ef2abf805cfa68ac8eee0a6b5001b9fe8855a08526da1971d32d0a392424bbd37bd43f68b8119aa5c6ea33da817660ebc35d80c4d477af3363bdca4c976ec84f2aae2cffdf9ce517b50994e6a062f199d71323c532d57e76f8d89674c361e2275326589b142b4db8268a1b36425a7d70c57115df2bc9695d6dc2ad6f3850d0cfda545a8e87a75a49ad2838cd240f3461a285201a83dbb670851a9abcdb11f2b26d8c89f1ee4d44ee9\nflags = WeakHash\n\n# tcId = 45\n# all bits in m_hash flipped\nmsg = 313233343030\nresult = invalid\nsig = 11cb2f044d4bae43fa2c7bb967f8f3aef33716e0e519ad0c49570bd7288832239f71be6ab82b9bb96520972df4b45c8b85f0dcbd8aa6839506c8b44a990b20e0c2b58c313559f86aed3bd648d8a7ba5ef2af00b958eb89fd69a3107bdc519c60dffb21a20d4a37df7572b3e496db68ca86f9e85ff132016399bb0cde7a719bc1729df1b1b3e6e4dc1ac02246bda3de9ecd89ac14f4948da298da77e142586ac0d48854b4d1eca36a18af5221ce51789acbf772c06e436009a3b88540e593d4271babce1ecfd149fa5367338e82ff3b8983c8af02df99e37039a7d03f113dff043f598e3d68f3083ec3cd545a52a076487f7ff93c016538dd6fb9f947e87da716\nflags = WeakHash\n\n# tcId = 46\n# s_len changed to 0\nmsg = 313233343030\nresult = invalid\nsig = 0dd16c3ccc10b280bc36c0104e7c5fe47107c1ba511d197357aa7a537e90f079a00385744a85a070804e9134a75fa73bf1c053162ed2e622ef1d3a1b9f117c47a7b68f9e1000bf851570987fbb9f8b5fd2bfc058f95f2bd12ca977e44f596df0a1c48de9d0c840732d94ac2f11156c9e739de8df8931efae8aa42cd6254b3fbe1405313e8b19ca86045edf87631bd219f6923b8dfd783ac9e7c913cf7348c7b5028b478898a366b893938a94d2fea92e78001ae2baaf5dc0c31e9b0d4619e0fde45414b0c5863c8826406d87b48fbe0c52164d0a8d1fd00b883ddae8e1235c846d51e5cb20d724576dfdfa01d15f47cbac56b17543fcdfe81dd70dca545ffdd0\nflags = WeakHash\n\n# tcId = 47\n# s_len changed to 32\nmsg = 313233343030\nresult = invalid\nsig = 18bd764174873263341771a783534921ccc5f3395ca96a3a57706bab1f78905c002f3cd6e1791e238a8ba6b9fddd74d4e758527bc3ce76a2d9b37e130bccb8e235f8388e54152f447346a580f4808bcc17dfa51c69c2625efee575314b609b8e30f1caf822411ba1cecbb2c295c76620ea1b64fadbd4a8b52ea398f60538f3a19fc9c7c5f7b7de802e16c290d635278590bc367b935eb7209547aa1cb378e54e2e383d8a2c67a69e790fcab540a51cf756c86a5fd0f337b14246eda65e9b8b85e6ebe62e89156a387e9d1b7206da72c0822d20a20637391956d473fea426505e6a541260b92cb4b66980592dcf92bfa71d264c575496dcc098bac82edd5c6dc1\nflags = WeakHash\n\n# tcId = 48\n# salt is all 0\nmsg = 313233343030\nresult = acceptable\nsig = 6083e24acbd4973b8e28bd22e996924252e306029c3db5c5353f3e4c505d36f1fb7e580823e21964f9206fbb158465f64b26089e1fd4b8bcb2abcc0384781bb005db9ca71467661cc7e8e6a1c6b5dc8ae646f0e6805920016228f400784906a2339f5e2385cf295506c2233b662a0e01609183261122b309a1874b34cc74242f3620e3dbc639a25a9e28c54e4d3db08d6a793ec468902cf0dffdc3ebcb0982ae7a96951ebf5e7640452ba0f5332273fd9bbe4dba26e7eb106c7ed16c8baa1f1d7e5d160482741e9512b78aa62a942cabbb38789e7bb380157bb42e6a71c580dba254cb8f59620f30ac809d3ed814c5ee0f3106b03806993d79ded94ab4c3b4d0\nflags = WeakHash\n\n# tcId = 49\n# salt is all 1\nmsg = 313233343030\nresult = acceptable\nsig = 46df0cd49ca21a0ee84d8d8a2a632c3c3d4188008773c05b6e148f629c62b9dbf3d8b1df5bfebc16efb14e5ed10bb9cd53f815ec3906a2b6e9cccde64f52c23cdfd5605f8c8c2f62eadb0b2445fa79a4e667cb63b10bb9181e8ec11946054dbd13e9ca545cd9da945bd03ae1c4f8ed48555d2e71e1ba8d410a725fafbeee8ef6798fef9d3a9c6d48825c996da1f2215048916bdf96d294c987ca678d6b1606aefab2995b11ee071633eb1c4873c1252a38f3453482cc72ddc92f9f4764adf4327274118d9adbef6e8ddbde84ad7c6991f7155a1f77aab1d01f95931cf73d61925c19d66040e0f7d8bfc68977db948125dd81a0282b30b1942e0597b489c6c2e4\nflags = WeakHash\n\n# tcId = 50\n# byte 0 in zero padding modified\nmsg = 313233343030\nresult = invalid\nsig = 21cd7d32c91362b709bc629d9e04b242604c325c9586dff3dc152efe3a05b1e2f1ce85265c94ace1f0ad3c50d327ca582e4b99363c5fc2ca40603676c774b3d706f7e0dfc31e0306f8835273facb8aa9c6503bcff6af471875f8a4bcb5b5b6405ec22e7bcac9fb7fa2ca84cfac60f1190f3dab9ba34ab1304e07e2fa9a25cea4c459e78e05299db7497d4301e05eba538f7845bef4720fede2b541501a6ebcab62a04a1ffdddddff8146513802fa495277ce5f0244213786dea4d5a6d02fcd93cd414907c557107cc53fa5c5409f2fa0d592cba79273c9b9d4deb8d23198909b712198be83c955a915e5529c634d8375dc0559d72e30ea9f47547f6d2d52529b\nflags = WeakHash\n\n# tcId = 51\n# byte 7 in zero padding modified\nmsg = 313233343030\nresult = invalid\nsig = 2746d7d48ff2f17364c40a0df277242656af6ccfa89802d6c31ec32388561fbd261c85cc03e2599b845e23ec90493f637a3c1d090b2604cf5c3ecba9b09078560e75523595923910f688e91337185c4d0978623bae7c33d1c3b50d83794c0a5a44a5309ba1d39f3c5dc3b31661c895aba0489cd392290135108cce56794ccea491ab424bac4405cb90a72ab53042b3fa863222c41d156ca0e752f733eb588bd9532ac422beeffac4c01c37262f49fe7e3f9dff3f993eac7b1adaf153805e1b44f7539e04a38c19579764a6d8c0634fcab0cc22ce41051968eeeb44f17fed7ae959d5199ee5e0896a964eefce583b8e0984f41a26d0bdc306b46d97b29d587f88\nflags = WeakHash\n\n# tcId = 52\n# all bytes in zero padding modified\nmsg = 313233343030\nresult = invalid\nsig = 39610ebb7505fe8853dd2d4bb0c3a3490b669465c4c83080d643337209802c9b6a11e6c79481cb540616c7f877ac58bba08cf3f93ccd6deac0e8227581aa73461fdcc8908242468a4c57111c637712a1ce5e", + "ae6bdbbbdeb085aeccb2cc2479d502260c1d1ff63759d27f58ecdf87fecf5d23072f709b5aa811dbdb067aa394c272c270bd8ed1c9d0491fccad73b74a4b46e2f8fec3e2427661360c41be306015e43364bb459a8c3cd1797fc4a89be3a520396320427f12de28d3001ae257fd98a4f0f906781a2ff696bf51346c92545bd18c37168d943480ad1ea9dcb47a2cc6854bbf7456f205121f1f4f5beb6519521a91711aa157d2441b9bea9a29ccba7c\nflags = WeakHash\n\n# tcId = 53\n# first byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 681d7afacadf19dab9252fbc35ba86a8d34f4786759251a91dba18872a070af39e5b3e9a12886b6388cc59d2f83bf19a09d1cf6cdf32f0f57cb70ae8df8d623bc7c2a45a344b02482cdd026b4207735bae6089831c8ef3d97428288e363bdfcf6d313fede6728240af8f069f9b6d7b57e029aab5b92e3dd3627f1d1a9a242de3e14a4cf5025f9a3ba2ddda23080f3d250db320c354158c2a7e530ea77ef38583ba1d3bb2141b053c9466c043e4cc261256baddf57bed45c9a491b49f56d3584a3d6b0df5843408b0287b850e88c43140fa32cfe5da29d06ee051bb0b0013fa6c5b6ef6ea025d106f8be8166a9214e1f77cb19e985298e6d71d8c00b920ae298c\nflags = WeakHash\n\n# tcId = 54\n# first byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 02eae2703879522f6660221dc98a84a1a5bf69d2198864da83a633d0eef56d83950645ff9878bf12618ec8cff826c6e3d955d82bc7f6d10ac207467c373d7c7ce8d6db7eb9e966ded3c78a89abae180eb1262b80a976b32d77642f39ebc4388d2844ad2414ba6a0af1b263bfb44f16f6d3bdf44417ac31182a840c83848f1e60b36525b0135bca9718b9c6e8c06ad3c62eb07eb0f7c52793a388edab9b3e37ead929babb8a866645751ded5d331efde2d8363179188bd14ad323dc0f9d343c4c3d07c20a5ed6ad02102d3c804fcefbd43e848d2acaa632eca2e72dcbd2200b5b595868ef1a115336f754a164292c7b465e9d07ed64f0397cf3664fd6f87e0c1e\nflags = WeakHash\n\n# tcId = 55\n# last byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 6b8dc366eae1348b770019d1a2d2a3a075eda36f99c1202902bf44c50b3ec8e75c0415eebdc61d70f37c8280b5ae6b2e03ddd0b1f15c6944cde9433b0837265b8cd658f21029b091832ee28c5047db21de4029b0ee17369f99dbfcc2a4ad42dcc58e210673154b4fa1474dbd684f9c7639c0856d936c8b7fdc437bec8d6f8754cd9577639b14413ab7b30ed236440516837f820a0b0e146c48706d534bf03841f3c0172bd698eb8356332d2565dbeb5143a822a0a4b978182618913e64faa71a15d454bc05accb74d1338a4e66ea77e690a6238c90b84a5261b17c6d2fe947c37bbbae99aea0742f6559d6177a272db4d51047a206b804a590edad0f7af7c078\nflags = WeakHash\n\n# tcId = 56\n# last byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 96a051980a5db77b94a7adc32f73973dcfcd62e95b0e0d2e084410c37f65b50d018e9946334fa5d268a6848dc164db1d012c5d42da613d9d167dc13723b334acfbb472d32027ee6b52903fb8fc07c1a8ca31156fd73568d3a1d933d144d0f263a2adae751e8d4fb5b949adb34075a6fa59ddfcc49399f9d01dc8d8733be47f2ecfb396a3cfe40d619be4436767f76d0089b845f4a265a5ffbacb69dfcaa68de6b34b6c5b1433e149b3bdca5bc72b98617757a1242b46f1fd0d7d0a7af75adb950433e1b7584fa2de51b93231dd73512cee728a3e6f7cb95177072dcfd25362da537fd4134887ab1b536979f3969a02cdc2f3699e394b001ab227df7daa175b75\nflags = WeakHash\n\n# tcId = 57\n# all bytes of h replaced by 0\nmsg = 313233343030\nresult = invalid\nsig = 5bac3103062a5726a57876fabce9d113f9816f30f0330ac8bf0797ebd41c5326ea693ed7a3db0af251ef268fa95ee1165ee3d5fba2630fa75c346ae422c3d14d25e16eb1c3b762d9ace379ad5006e8568b2b494c7cbb90fb7589b607da24cb8cd6a4d851ca4bc6741819ddf9acb7b3cb50cd4356b634ad2778446146b4912b9da430921bff3a8cc7e330e82a38bd9f69eaf47859b5199cceea0b9d111dbde5e20a8451fd989685986172e4f69ba2983c301c51e57ddc457af8feac9709d84d9b3c70fbba423abba4cca6eab1fff42acdeec5ec89936c4ea8f837b01eff954d13fbcfe8731a6c7cc9271a805a98b8877f364335ea239003cc6259aebb922d2f97\nflags = WeakHash\n\n# tcId = 58\n# all bits of h replaced by 1s\nmsg = 313233343030\nresult = invalid\nsig = 1e108ddf1d6d931dd568fcde1e11971dcd86b409699909d4c2689ac17fcf0cde9bc27d10f9f2870113cc61f9983d1ec5e4b1b5f8ad0e488a991f1455c5ad4f721056e54d11b77dc7ba73bd3caaeb89c21141f0010501c9f72a3fcd4d7e7e59f701df032fa392bf82a1de9ff9f6c15ef2b0a54201f787bd87ba4fc9696065e5db96cae4b61f66294396eeea94c1c0ac10dd8f1cae928c7b7ffa84a866d69d450f072f746a4af20d4b39d26cbee43b227e96c4ef5ede5aa043d51c6a5e94c8a59758f9b42133cff0b01c365fed57d189106c4e38cc73efe7165aaa76b2a2fb0a2c41536673234c4116a7445dd9fc93e0f27eab8e5d4c19a712e09840151e44053f\nflags = WeakHash\n\n# tcId = 59\n# all bits in hash h flipped\nmsg = 313233343030\nresult = invalid\nsig = 4877085bc45b4e538a2f25755ca410032a01af460523bea0ee1da767d73688adf09d8b300c5000d74456a55806dcfa1e1b1c787a69fff295215772173649fbf96c17c858d4be9a7ab9b7b3189243edb997af6a0100f554e368169b115cf44dd1b48665407dfccb41edefa356c297315fe5d32ae91e21705d6002c4c624c4b896dd6024839b0113fc71129052330a309892c13cf5c68ef722d637e97661366d40f8079c5c789857471d73fba4f468a6c26c21e65659b5fe28fea0e34fd47765119e41d3a12a148181a78f85c80446e2de5b42c42b354d710a4f6237a830a59e7952560a8ffce402845c38e9d4a0202e3d4d8a035298e4b48025e03e62bc6c1ff0\nflags = WeakHash\n\n# tcId = 60\n# hash of salt missing\nmsg = 313233343030\nresult = invalid\nsig = 49626bd98377f1d2e571a9d9193bcde1c29affe17806554991680beabef4012c73fdccd5854b7dd65a3aff868688b6d4553f79ea5fe9f04d3f6afaef95665502254b1528dd35e14a0d33e7104210ca91397ac766bc7fde1a030b6e2d38ad4d69d05557464602c040888fb6f15f465a61276e6730bb3106908f60e431afa8c1127c82b0f23ddee410e3c5e73691fb6d76f2b6405348728d78a520561fbb3199296dc8b7d43e0190161a289923a1178409b43810e5b710dd74ba5dfad6a9a35675fed1584728f9d222e9b115f83900b6ea833eb28bc856d5b706bca47ff2ca2113e1a7ba969a0de3319d9f815670575b85e216dff8884cec20b56a3bf51836f206\nflags = WeakHash\n\n# tcId = 61\n# first byte of ps modified\nmsg = 313233343030\nresult = invalid\nsig = 7df9adda89f83abbdf0e3493578461fb8e01f59dc1046fd01acb4f9c79a9a5f95f7d73dc0a9dff9ac4b03b6853a5e788da820a54e0dc71cd5f4c6e7e191ef985ac99fe3b79e578df13dba521da8082f7addf6af7ef4df649fbae8c9d58b7419f551ad67f061e1653d26ecc41f9dff8dea236462f0da7bb34bea890e21882437d9fa8f675954e1c72a8ae235bbcfea0b72a963435e7c69d7c5be86fcd79a50ecbd53e33f7d3eff268ee87b0cf634a7a9ab2fa3503e8df254bb2f223c1d2a9da9cabbab948ab3b29f53e70cc7ed859e5c3c1c66ee02b2475c86c30b148c640d67d7df0879fd14b4af9fa19a68d6bd3cb866c94db166ef12827b67448d7c316b388\nflags = WeakHash\n\n# tcId = 62\n# last byte of ps modified\nmsg = 313233343030\nresult = invalid\nsig = 87ec6a8c3c3f5db0d85630bd76ff0a99007eeb8675ae68f1394c25e1af4f340051626d2da40df653dcb71894b4f292a6c0dc329c9aa8f599418839890089081ca3910f860e1cdfeb9ab1256a0f45ffeeeac861dc6471a902375de4287b05cc59d8cd5b84ff90e951d0b0c574f3f3d63a617ba1e3eae41c931a276af8772fd0d2097d4acd1cce8fd62ea2958d248efa8b96f3aa5afba396b17e290e6a992ee4cd0124810255d4441eb679a47c726eb784201395402b4f144f48c6fb63accd25efab39b6f57373289b33774cc8af37cb2a4b43ceb72a04fc80f2757081ea8f27caea1861296881bd948bd24458892f5cdd1bafb70ae486984af83cbef4fdfc0cc4\nflags = WeakHash\n\n# tcId = 63\n# all bytes of ps changed to 0xff\nmsg = 313233343030\nresult = invalid\nsig = a895755f2494f5c35e7203da9ddc02180c77cb1b994f59020ec72f5174ffa59a717a7e7d0ed38f8636907c9eb34807da4c43362f342d5ab0179fdd26885456cc69a4a5cf9e95a0b23c800829eda15fceeeb3b454d5ab920d0044a3cfdecf4c434f28484d3afa70a488839fbc63df9a191c3ee3b5df0598eba155bc962312633bab04b48d47110f19c97facb6ea3d3838e1f441851bcb06ed395a1fc6f6370e065094939dbdec28fb6396cb062eee524853f151a1d2201e51d2daa6680465ed2cef8d6cd36aa43f7734754b9f499620d956c2cd6fd0c2ca3173fdad368436d8313e148085d22c7931fee7ff58d4d09334816c211c1532f1086dd197bfa4b2f628\nflags = WeakHash\n\n# tcId = 64\n# all bytes of ps changed to 0x80\nmsg = 313233343030\nresult = invalid\nsig = 0ae88987b001f5a5d5d7b257a57fc2c37f642f136717171fce28430495deefb9407997b9e648b0aaeff568acb3e5b53e657b417e9cd8da5279a52c038d965743096c2d533c25ea98cd747ca5d719f43cc2daca426cf7bee205bf89c225a0817d59079b8162c6022ad029d0946eb99e8e44ec0898c9892614c0c48906df99219275a04fc1efe92d5d6bf98c90a5ac469a36f47a0f23889fd18da1b38ef112dafb696f536bbd04e6c966a9ba326bbd638d82b6d7661916b7bd7d3d4ac426e9f0fd527918505a6027b8dd716a3966fb439cc4a130a13014238c5f104d754fbfec2f1c780b49aaf803618c2a8b69ec7d0f09855cb1019878f52df13c4492a480dce7\nflags = WeakHash\n\n# tcId = 65\n# ps followed by 0\nmsg = 313233343030\nresult = invalid\nsig = 3ab3c8cf8b99a2bf882153ef1ad6db449e1edf673a01e014b40d1a23fcb38fba21bd63ccd9df9a0849d59c41520946d46fd26fed9ed4bd65ba0e00705c119ebfcdf31ced34433ecdf9b4170f9990c2a26c4afddd284b7e134b9ba8b6d0d41624a169b8f4ebec7a87d0de0ee7870c99d4d05146a7b71c94606fd178aa655c3edba0f764f3292d76217d4349f90d0919c42c35be21613fcaf824e16ab3f45ef17c14255975cb85f7e1f5ddbc0151ac4961f68a331b97737b171", + "e93c01a0f4605c7256de93ce1e1cc8f5175838999c734809bdaf8b95edfac0d5f98c3de33ad6399e8207a8015373e1f5ed76e304b5e2ac260bbed23c662c38b6f29dcb01faa4894\nflags = WeakHash\n\n# tcId = 66\n# ps followed by 0xff\nmsg = 313233343030\nresult = invalid\nsig = 5a7e549f99c138d3fa7ede3ad655473f78c3a8de650bf8db6a5116f0807e5df84445ed72ea6a82a8150db352b85210e120818da13d9800d15823f5780b6051e51bf4488654e6a93c95d19b45378744483b43b37200d933775d2f84a7719cdff6dae2e15716c86a9c5a0042a5268cdc7b5e1860c150d85253573787b2839fedf64df3d54c977f63e7bfaf3168f0153e2ef019244e5cdd9be69b421607fef727bd5442ada4bab802ac9fc0c0044eb5b435a9caf217732b6740571bf9f7b1b3fd83da8d4c806a7e2241e37cd0d06abae28ac5a83ae3b2f81f3374dbea97e46c66e821226fc7cf0b0af2dcbdb7c5cff641775c81fea4c8cb9309e989bca04a4a5d3d\nflags = WeakHash\n\n# tcId = 67\n# shifted salt\nmsg = 313233343030\nresult = invalid\nsig = 4975c3fd6358989938633d07cf7bf0121c8a8c987fde1cac405924ab88c5a3175d27207ebbfe42b24404227e388b11d92bbbacbbcf152d3fac0166acb868f908515903e37da98e96aea367c179530a43f78d877cf0838333fcea303cf6710f046513f01d586bc54b42bfcf5dd47b1a01ea8b95aafb4b9406888b3266445f749b1c56459ce4e10a57edc59f610b8b74edf9987c9888460108a11525d0e7228ba5eb9472a0fada1d056c8b0d08efee2761107595c6b221716b6782c27bd7755f1a23aef6cb966a31471921594a1de17ebc7e5b52b933ae52a0794bf4bcd1a792e78a47f019698a37d0d389ca2040c0d3758eedf0fa810041574b32938d290cfb45\nflags = WeakHash\n\n# tcId = 68\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 881dc4bf8b2c6c17e10bef3dab327b4cbb76413a7e5afbd24f198fa461bce9392d31f0a11d69bd67b75fa30ff2100dcd52b8e0c24c91b0196d172ae3fc1d40fb167b2abdce4b83fed365b9d5946a333d0f669d99edf7b8a3a1c8ddf2397cb77bcb62aecf818807d696af4f186bf2e0628ddb1b9d45dcd6eb965dd1b5eb2bade60fbf5b2ae816f45f9e0ad024039bf64c081e37630d6db51a368e92256268178aebd32963a07693f828d01eebaad0fa04e0ff29d8c7ae681be4ec16d2a6bafc1573e38f58c6c2c36a5d5a2ae7718adb1390770d9a3882f895b3f0fee16a2bdc743b0906567b6938d73a666cc33d85142359d40eabbc1da65ae616c7818f86fe1a\nflags = WeakHash\n\n# tcId = 69\n# bit 7 of masked_db not cleared\nmsg = 313233343030\nresult = invalid\nsig = 15872263f8270e7ae9d3127a9b677828cae2077e534ea349070289394d13599392b5f803f8dbfe40a5487223dda2a3c6f30ddc92c4e6d9d22e7d0d2b60197e032f188da35457273ce5518b426196c952d0219ff6190fce905d856d491b00999821ce8d1ea4b18f3423ebad242bc846e0af408f21cddbf44e9e5f5d300d71a3b104eaa2230ee633d2ea44016af735cd5ed9c7b421f322781547bcbb0cd95e4780412f734bf681bb47abd46b158d251ec92056553ac06a59c4ba7fd20bfe50cc58386832b52e548df345b086b5757c4c9f2e133131becc90a72ec6c313e7664dbc922c87a90364bfc746a425df77c9b97dc2afecb2cc36fec415a4e1c6a957b4b3\nflags = WeakHash\n\n# tcId = 70\n# first byte of masked_db changed to 0\nmsg = 313233343030\nresult = invalid\nsig = 6de50a9911893547ab56065d2953038768cd0689a63b0703c0dc99e7cda412ff49eca503671f068635f69b38c0627427f02785b3870c6791add37d436a81538e6fe3dd0eafdb50a18d2f2d97e3cba062fc8343a6dfd448c11997d1c5bf6e1895e09ab435ebb16052c20347f4d077c6c7779297a29e76e49cdf0d10713fce20ab51d273febaffd0679a1ed56da5c0430a90a5fca1ec2010293b2eb8fe34a732ef4679318fc5682cd8796d57be09904043961d5171fa3230674501544e3d5482f510afeb0ee4ba9fd1cfe5ba5527c9c32ff09df579884d4a5b0351cefa07baf40961412348b6846fce5bd6d65a5438821218d677e774828108ad805f574ce7b597\nflags = WeakHash\n\n# tcId = 71\n# last byte in em modified\nmsg = 313233343030\nresult = invalid\nsig = 1f47ac7fd4585ea42ab08e1002f547dc78dbacda00eb2b3e74d0e46d45ffa8fa7b35d7afdf605b2da772bf54843f15297bcc6f52eeecaefe1c26108c35f9059c8223767c19597f4470de5028b6c522aefc5b61d545ebd6d3312cc092d1fc2a70c524fe0256029d3d357975215b2bb62336c4f4923eaa0cc422a3a088b86f4e0d81b6b4e04c21808a19ac229f2657edd42a6c41e883e69a916717b59fc6980d79884eae5ea918022da28ce2f8e52a2e5dd50d2d2969748c2d97525e672c12113f605b8c4bfcbfdca05bd85285d8fe6d22b73d3b04fafd453cfa7267cefdb5281900389ff53bb4dc3bf0dc366d86912d822410e8f77f33392c0c27fed3659da463\nflags = WeakHash\n\n# tcId = 72\n# last byte in em modified\nmsg = 313233343030\nresult = invalid\nsig = 7922bfdd4da222918c573184b1d81a14fe87eca0a30c55f9167ad8144ea06a9d22b108a41437b42aa08afac44e7661f7b4c6293897426cb2e960aff163613349b3581cbd3a884ff9898c45c5c213d996cdc1cc119dbcd7e0e99ed08f99f8b69f8aa079cc6d15006697d4a7fc5bcfd349fcf26f43b6f5074db8e448bc92ab8442b27e82643a11842a0dc70b822cf7ae26e90791f67d25a321aec24ccd7553e631bce74888c43d9ecd18e77fc24615ec445b7d7ee83aaf63c0733da25ecd512f7dc7eec6e3fb499d7eee6165c78a4275a9e6fdcb1b962f38c8139da5089565b39c6d73739f84c70ed60e2c83bb4f351d4c87cba2cf6c68b9879e283b9c5e3de1c8\nflags = WeakHash\n\n# tcId = 73\n# last byte in em modified\nmsg = 313233343030\nresult = invalid\nsig = 8a7e600a6675a06e677ff1344fd53a8dd2b99fcca40c2ab799636663594ac3fe2a510bf1e3ec4ca9dd28cced48b4e8457ed74f4ec2adf31b77ff1bfabd0f80c9ab4688f15630406d8ca31edaa3a3cc7980ba1b760cfbd3ff9016e1f3fa0c34cb59378b0f3745b451fd3e053c8711ecc41feaaf350980532a7db67afc35f00da1f191ff4f66b8e7e27368bc26160f540af784e8ecb38e2dadf4be82e4b761626c5c06efe0dada642eb26f12d1ee96684a5ef8e5feeeb0da9ef432647336e4ec715cfa260a8727aec4a080738086ad26b51355b8bfaf1b135e97d108b36c73b436cc5cb59593a7ce0f0e7483152319fceb37479451eeea098a8eeb0dee19756e03\nflags = WeakHash\n\n# tcId = 74\n# signature is 0\nmsg = 313233343030\nresult = invalid\nsig = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\nflags = WeakHash\n\n# tcId = 75\n# signature is 1\nmsg = 313233343030\nresult = invalid\nsig = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\nflags = WeakHash\n\n# tcId = 76\n# signature is n-1\nmsg = 313233343030\nresult = invalid\nsig = bd31c7a02691d2d9587ef6a946ff788544ccadd4b2988ad62086792a6bf96c8616b4ad13317d2270b901d0fcd1d880cb8f52fb87304a5258c11b38dfeae8df670aeee7ea1d0d9df8e00e80847e41e5989ed402d44e78b30fef17b5671d3adbf8685e4dc204499ecd1863e1d5aff28a7cf66eadf31fec9236c120add13451522c647c9832a672cd64d328c1c322183f4661d09bda60b8dd5f0328da5420821424afdabb1a80c5d12763a1b0238cd89d0742bfc50b6a2fcb701d824218f9826f4f78a23a2b5aa42ace7f175376fb6cbdb2bad293ba583d4d31c6b8f9029e46b13689249855f505756e00e225a6a45a18769bd8d2b3a4acb9f1c23d3e51882561e4\nflags = WeakHash\n\n# tcId = 77\n# signature is n\nmsg = 313233343030\nresult = invalid\nsig = bd31c7a02691d2d9587ef6a946ff788544ccadd4b2988ad62086792a6bf96c8616b4ad13317d2270b901d0fcd1d880cb8f52fb87304a5258c11b38dfeae8df670aeee7ea1d0d9df8e00e80847e41e5989ed402d44e78b30fef17b5671d3adbf8685e4dc204499ecd1863e1d5aff28a7cf66eadf31fec9236c120add13451522c647c9832a672cd64d328c1c322183f4661d09bda60b8dd5f0328da5420821424afdabb1a80c5d12763a1b0238cd89d0742bfc50b6a2fcb701d824218f9826f4f78a23a2b5aa42ace7f175376fb6cbdb2bad293ba583d4d31c6b8f9029e46b13689249855f505756e00e225a6a45a18769bd8d2b3a4acb9f1c23d3e51882561e5\nflags = WeakHash\n\n# tcId = 78\n# prepending 0's to signature\nmsg = 313233343030\nresult = invalid\nsig = 00000bb9473d3a8cc4abd63c6f2ac13e278a9cd1dda844fdbd13e9b77cdd52c1b05ac59126e45d276777e8b1bc423cb261d29675988954c9ddc38bb9a67bec5e03e1e780915333dfe494dd8a4f0bfa0d748805885c389d6f7fb6f786c58d21a468b3589346d70e1153e29dcdb91dec8ac185501efea247bac7c63e3c546ed635e647097bae3b8ccb992701a75d209c439c5dbe8122da616a4e230bce08f541abff854fb93c87fdde0fb457c44b2783568bcbbfbba611d8e984410d360c4ec3732cb69426a94191d5a0cb33149b518ded86864706c723b27228d74836513191cebc790793e5809287b0279e7bc82f266d437d192e98975960d0014dd02e172b7fe251\nflags = WeakHash\n\n# tcId = 79\n# appending 0's to signature\nmsg = 313233343030\nresult = invalid\nsig = 0bb9473d3a8cc4abd63c6f2ac13e", + "278a9cd1dda844fdbd13e9b77cdd52c1b05ac59126e45d276777e8b1bc423cb261d29675988954c9ddc38bb9a67bec5e03e1e780915333dfe494dd8a4f0bfa0d748805885c389d6f7fb6f786c58d21a468b3589346d70e1153e29dcdb91dec8ac185501efea247bac7c63e3c546ed635e647097bae3b8ccb992701a75d209c439c5dbe8122da616a4e230bce08f541abff854fb93c87fdde0fb457c44b2783568bcbbfbba611d8e984410d360c4ec3732cb69426a94191d5a0cb33149b518ded86864706c723b27228d74836513191cebc790793e5809287b0279e7bc82f266d437d192e98975960d0014dd02e172b7fe2510000\nflags = WeakHash\n\n# tcId = 80\n# truncated signature\nmsg = 313233343030\nresult = invalid\nsig = 0bb9473d3a8cc4abd63c6f2ac13e278a9cd1dda844fdbd13e9b77cdd52c1b05ac59126e45d276777e8b1bc423cb261d29675988954c9ddc38bb9a67bec5e03e1e780915333dfe494dd8a4f0bfa0d748805885c389d6f7fb6f786c58d21a468b3589346d70e1153e29dcdb91dec8ac185501efea247bac7c63e3c546ed635e647097bae3b8ccb992701a75d209c439c5dbe8122da616a4e230bce08f541abff854fb93c87fdde0fb457c44b2783568bcbbfbba611d8e984410d360c4ec3732cb69426a94191d5a0cb33149b518ded86864706c723b27228d74836513191cebc790793e5809287b0279e7bc82f266d437d192e98975960d0014dd02e172b7f\nflags = WeakHash\n\n# tcId = 81\n# empty signature\nmsg = 313233343030\nresult = invalid\nsig = \nflags = WeakHash\n\n# tcId = 82\n# PKCS #1 v1.5 signature\nmsg = 313233343030\nresult = invalid\nsig = 3598f87916b45e657df63a839c7e544953c0039477b396a276d8df752b0a98192a10fdf431033353f8565c6de1b268f4ccb44c00ce760c67e97409271c55055b3ea885d742def2c6cd32f5fed077193d12bd48d78130353ad4aca34d9148bfe80d8ea455c3ce4b24f70131908e1947feae311e29e0ae9d1074ba73124568468e34c8b073283d16359c530ea613adb4de2ba94ebc470a57055571ef9f575c068e00de09b6d1af2051b93079ddc683090d4427847b4b9ed63a34a01d9aeeef00524278ff54b7d2955ccae5ca1001ee7588f5a21166dde7b2941a6136b38d374aac73752bcfd3e700066b2972c66cef76a48d81811e26fc7646974a149708ae2d21\nflags = WeakHash\n\n", +}; +static const size_t kLen142 = 59654; + +static const char *kData142[] = { + "# Imported from Wycheproof's rsa_pss_2048_sha256_mgf1_0_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSASSA-PSS\n# Generator version: 0.8r12\n\n[e = 010001]\n[keyAsn = 3082010a0282010100a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d50203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d50203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d5]\n[sLen = 0]\n[sha = SHA-256]\n\n# tcId = 1\nmsg = \nresult = valid\nsig = 20081f8894a1330c4d503f642880e3c30e398fc6235c24f1be752e2d49cd9493ac0cf999e275c4f89ff08f0d9ba4e264a332525a616d336bd9e822f41ab3f4fae2f48ec66c2e52642ed93b7cb944396fbaa727cbfdfc1f20aace99a6f2a74475c338f8d9f22a38cb5bc51752076503b3aef1e65e5a8f8583d9ae7378ded038cf516898ad06beb90a42b85764526fcea44f74258fa4efb1da253d337f65619181ceb832dfe285ce78ae6b15f204e23bab274e87445d9f5df97f41dc8e3a97736b62591d075744b2552f90bcf1b1393e1e7627ef1f985f2bbabd52e43a35d0ddf4c67126e391f922ef7b1bb1911cd6e1b303cb2910dd70672bbfb62ea4eaad725c\n\n# tcId = 2\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 4bf16f098701d340c438368e658ed8904d3a21f7714c02440d7476ead132766b3d578b325ae752f906873af1b795585a2a0d0e6788fe903321b2080bd0dfb9de42c3be41aeff37e32defdc0a75f12adb5b9de4d067a920a720cb16cfaf56d7c09d8ef384a8aa106545229b540c52b49ecc9d6d14ea70480642b9cd0330efc005502e4c38b96a36456447ce2133df78854307010ec221305dc90570252321e06c1bb01d75100e85e68326fe92488c0c5e58524b10f8ec7458d887cec254d39b0bef921ba31fd5a117977f1945fc04837727456949ffdc9886f21071186bf32dfbd9c3cd6a2a00a1cdd5fc3c22f4bbaab92aa85116711f1c53754bdd2bc384f2a8\n\n# tcId = 3\nmsg = 54657374\nresult = valid\nsig = 2b3155b14971f79c9e3294723c7e41ded41af709f6edb2c19f3526584aaa1ef2de2e7a8dcaf5d7c3239f604c421656dc58e8b0852f7a65cd557724a9b2a17cac38d8020e939bfefec5dce0d8993e75615b974944e4c4a811e40db63f13d2b626bf26257a706a7bedc863d0100b676ab70d4a4f6eaf4692e0b69ee4426cfe7cfc3e92d93bb804569883cf31fb282efa5a81ce9f6d9f0ed79251ef2a0b596f80e0eb96ede67e30457a07655d777928b898ed1679046673e489d9c6305dee05abfdeba7357099f9cffd00735165ddc39aa7355b10a8b8612dfa2f836fb9f5f89f1407365d6b39a39e89c6647ff9da5fc6f960306686a8ed8e2ce12cc7fd9870d576\n\n# tcId = 4\nmsg = 313233343030\nresult = valid\nsig = 5e91b5dcbf02d6f19621d41a83dc8f15ea83c0edb83765ef029b0acac2e1ec8918b1d2afe1fadf11c48d27594cb9c01fed79d90e5d5a8085c438450111aa7d9fa39c2345b14fc3c2cb34128f86db5eb00bdf8dfe38d61f29a41fe31342e7aaefcb4b122eb5d63c2f5c263c8df8450e9428ffef974d535818d51dc03a7d60c8b2d16c999ae46d73ab40515fe601d9b89b1d09c6d60cd51639a97c1d211e097609ba5e8c319c6fbd21b34a634ec8fb8971c5aae21c70b847a4539cc10dc314ddd8a9629e8a0e51c66c0cb61fd1f7228c01c6769190abe9bac9a3897800050014358594e0fb20dbb458b12aa1346826cc9f7e9c5352b073d62853dafe77c848cb1f\n\n# tcId = 5\nmsg = 4d657373616765\nresult = valid\nsig = 501c8119a0f8aa2139ef5e05adc65384fa389b9023532171d514651ff48677aad546326a2e3c02b39ed84e5b7e4630604f2979c1fd7bf37da8e0cedcaecfbea6f9c715141a1d052529d0d0fcd71eb70867e2704377801a0ec721fc59fca9d8b1b08cd9ae3ab094f5bbe2faaf3171dcf1712c534bbc7ea802a2a72d8cebefeeff1530e4081b85a42ae38f630f38c1121199f2156e267ce2467f9b4853dbd29dd999aebfc402f2a0c33b8c1b8022941e754b7a187df4c59633dc6e76cb3200e34acfde53a386647833dc2accf244726fdbf440cd32503188a291e5b0678aa729b539c1f5f97e7b788c0c20b88d90c90a3bf33300d181b9ae797cbc76049b43be3d\n\n# tcId = 6\nmsg = 61\nresult = valid\nsig = a17d67937354c7fcba18dd5383edbf2f0868ccbe0a316876fb1c4fb14e7f4c048ef5ded5d01d02556cff0c8bf081bd09c46ce4da156e9810df195c5b65ddbc3025b84f91047049f205341ca8dc55e440bf8d9a3e98c231bb74e71be019cdf451e962d8b7e8e6d766d3be430c7596ffcafbb785e5fe8987ce721ae228832c8b4fe0b0071b0e5c652856f785695f70cbb3c62394a8291ba5f587d4fd7bb448649a72261447aae6a2b750824d400ca402543c8bdbbb8e7c3b44cb7085a83392346abe999ea2a5ea15e9eef6bf08a88096ee4e532369f0059285298b387a428e5e34ed7296e0b53d34c5e23f0d3c12e8a2d3132672a655c7048bdc0c69b36cae602f\n\n# tcId = 7\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\nsig = 64c26d43b028f284e9667d5951e70c75e611ae2ab876f66ccfaf09bd54a26dd17983d993bd4f5270537f4c4b2e48695eda28c8c365486b5fc3bde4049dcf6fd722e634fdf5571d29b1e156a48b0c706d96155d86c20dbbb1a47c7e54efa15b25d76f502b3069e2514f89d9bdfda9bcda02301c58e2173cf4f3dd49d8415802c11aed78f031e8e2e50197443e5fe9ab55afd8deeb7b5db8ba7a7b9fce6b7d9eeab9ef25035742d076935c059d076b4714127d408c9428a90cb9891a151eee8de7d0cea32b0ad2d8ca4abeb0521b296b5ac08f7c53d5c85e47ed828e0c11468d6cb50bea89e4b455936376bde9f22eb98b3e2395eedd05d1def38fd5e082ade3b0\n\n# tcId = 8\nmsg = 343236343739373234\nresult = valid\nsig = 08a900c5c0cf38963b8d47682cc7dae9d3f0a78e571ee5bce658154248b0084ab96a7ab0ca8c6ad8d6fc105040c9de8f8df61c1b6be59a5b899df586026e4b3ac1531ab09b5fb5026cbd252c6a548fae9ee881fa382d98499fb88c2b061f560e1daf98145705054fd0ce66d8fb2f64ab160f4bf1ed1a54cf69382afb75c71cf4c38bfc1603653af35a7ab1ab7268cfbed88bd4e779a8811acc947a21b059ea43c19786f370076360f4620a486d6e0572e5c6c796604736acc5b41c6da7ab2a40630bb8bf572ae96c9bf293580021d5a0b42a196c74b80b55225839756380305203b2bfd7525618b402d5288da288bb3d78deaeb26fdd432b2aac746c4fea8b0f\n\n# tcId = 9\nmsg = 37313338363834383931\nresult = valid\nsig = 29b1c67e4be642cd69e7f38115db51d963a54260a877781ddeba5fa6ff2fc0da182f8923bb9257e92989438392f047943f5769ee057c7162c71cf2c0147ead670ab9ae2c1fdab604601a2dba88483b2d3b1dd530aaa17f7a056f1dee49e0b967984506bd39f2df29a06d58f159465973a0fcf1eb5890464863aee92a4f3938742c876164ef95cf34753e9926ef87004d207b9e496922bd00dfbaffd9ddfa216a4b7bffad0d9608e0a2e8d22e41a514494683831e25c24f032d1bfac19d193c4b343815747a254f026313a6b554085921c6a8d0b362a7e75f6419215a5b9d4b7b872cd952f830426462a547a475ed3696bb977223c1fb5aefccaceef99689788f\n\n# tcId = 10\nmsg = 3130333539333331363638\nresult = valid\nsig = 12a1cb80d9ca2b229f85c7aa1705abaa6152b3fe1c6ddeadde2de56f49cb5d5176c91bf9a12a12372753d0b657fced52a8c6ae88cf6e84a358b996fd06ed0846dd685b800232177f17d72da5e817caba8ec9a1f08ec7e015aa2821a1f9777ba6a7d0950449254e5bc5a0bc63f7a6c797fa5b2d30e81704735f8dbbe1a6c7c8db18c142b0861f8525b66e4c55090377b08350001b18cd27f6e1be8d43b936883f7e057016b78f6f810cfbc19d394909040844c9cdc9ff5c8b37327feced820f3dabbc1f597b2ed353e7bbd3d315e9e02124f98b014be827c635e13f284c1dd5f5457129d2ef249ad12659cfca95646314abbbe090e12ff4480a50e393a47a19be\n\n# tcId = 11\nmsg = 33393439343031323135\nresult = valid\nsig = 7bed5bb43826841053d23cb2f574c687be827e9968b37af248db451efcb818d0bb8975ddf7407496603281c5719aab83afb418f496d8cf26e91c56974e65b382f96a206995dff1b57839f7208e338e86358cccaa30cff9677ac0a7afa48e8ae3e3942e36fa3fdfb47db4295027e0cc4e2b98ef1db49519b316ff4bfaac246391691c7705acb89923d39981388286c5969bc42851788872659019a3bb05a72fe815ee17dd0bace92a934683e019049669ef285625b0bdf9935befca3a0bf6b4154d65b62a83597abfdb0ec335c2cebfa627918ee28d64ef0debeab27e9efe", + "dfcc557789f44d1e57127b066a221e11f4c0b146293d78d72a5f899f954b5dd37c1e\n\n# tcId = 12\nmsg = 31333434323933303739\nresult = valid\nsig = 38b09eb6acd2d2f0e083f0bf84523a475fb5519ebcb8a5fc2007cec2ca6f01b14e4332acd935b070140cb241b4255fa097db2781b572866b55aab5684d73181b4c911ec6e72b3c267c09469737ea36eb2aeba743c29fc4ff0c82b3002ed8daeac313d2ec4f7d9e707ec334f0228852eae8d58c27e1fdd1dbf8d15b8a7b0f824eb4f2c0191924749e2af4adc0a0ed41978bbf390e31860068aa8db5d5c7c7e86b0cbc9239fea65bf0d9b0a4d7a7058ce6e423858d3a0956c3ac3af7f408c7926ebf86d47cd49de364f90671afb52bd7d17aad00833ec79e43401ea2437d0ef7a89ad35dcf884121bf91ac17df17163ae19f084398ca3abee47db7c111c81bdad9\n\n# tcId = 13\nmsg = 33373036323131373132\nresult = valid\nsig = 495254a0e2eb9ca9f0fa281cc7ee5031ccadd0ff52a1c77dc7fd027f54319258dc0a4e4bf98d13711a4d9ab0c1ac8d67f98c04747ae6b9ef95e67c8671d7d9a2a2bc5e58b1b863525bc10c6fe65388590b96f246c58d118f03bc673b87715db69385907b5ed7ad576b452361ac8164f9eadd250eb445d697ce7c0bb4360c65868a8fe06101b56f4f7cf82a9bc78254eff974366f2ca2f7a17096b05b9bae47ee572eb60cceeaf1e7b484e90b5b0a8ee6f1517d1e694d23a2f9d33ff47a3acb7c9e93a6fb9ed2e994773caf5a8ed3453554807124fc4a4a19fad88c70d5d5d90969e19acd4c1f10b87629dcf5de6a7441f47ea4cc4b84ca6ff43e0905a73083fa\n\n# tcId = 14\nmsg = 333433363838373132\nresult = valid\nsig = 7d0aee24ec62cd2c6238e49dd589ddcc804b5122f57ca8c2d3f7ddcdf1503c3eae8ae192a0057fca6ebfb3231cb9aaa380bf4509df5c83204cc61b4870e4233616ee7097507222c22010c3f34b6c75e4a341920dce40e4cfb72206f00dad39cd0786427575cab19832b64ce9dd45bf8c0023b5b007544c4048eb06b0a73e1583db64b9ae70ca88a7a169953cb207acca099876841c6f0ae9a4cecdee900d2ef1e5559f8b496467733e44bdc6ce8f222fce5e99ae3bf2ee9f6821dee0f1a1fdb072e92404e325e06f813d70df6525e76f0ea5934e53ca6aa12160f6a92dd9d1f5a4a61e47f3f01f297f0470c343df4167588b81c5223908b68c4e2380d95fadb6\n\n# tcId = 15\nmsg = 31333531353330333730\nresult = valid\nsig = 5d822177791faa3beb1493af760b50f62e78f14b3eb278679d59dbb8ff0eca8b4f4f90124b830c8d635e90b86de97d92212b1e42aae57cead0650e7e9204d3d204b43d2e6376092d2b280acd18398295650dc94f74b7fa7198c0868890078422e2ce12d375986ef387a82b188a231784c86e85ab0c630f7876c652e4f4ba9a4d4dc3ca70316bbae3399f82c3e4e24983143baaf4e176c7c0ec1cf908eff9c15b3468fc7a44f6bc077cc3467e4ec3a50ba51858ac9cf3cff0c99ce5c963ebe5341752db2cb6ed5980544056d308c7c74fd14985a414ee61669bf4abf48767071cfd0c1a1df84b8dd4dfca74b342ec820aeb73a5eba0df78b85a568dc36ceea5b8\n\n# tcId = 16\nmsg = 36353533323033313236\nresult = valid\nsig = 978c8852ab3a09c6e28f627cd917927353874cb7b2d6647f3f5889ff81b048f4a4c6073ae6d99bc7354d9e45c805febe5be5dd3f95ad14513119169a6ac7a6a5b88ead2171d999f199b324251566066f8d9a3bb51a5b59c799858d459136341ab774480f059fee153bc03e37cf676b1db4abb2f7979554fb635200ce1c53448e5dc397be13c4d8f8bc2cf2117a0c4ddcb08926fd5a1addd193d0c1f2167731c73affba2c7437443d8bce828540a3d42f03b590dded0958aa4fe48d66d3dedb0697f366b3c7ef9bea8c2b5670a31c41df21828a3a481d9e42c93ef0b5cf43330e6356021893078179fd857a14c437d8b8c66d4e4efce1369f6945c6bf878508a0\n\n# tcId = 17\nmsg = 31353634333436363033\nresult = valid\nsig = 132228bc781249b547b2543f004b5807c05f6530eb685a0a3c6b7ebe5c38ef39eddedc5cf3f98f452ffb202e30dccb8f14c252e673473ec7bfeb0d9cb16c2d88ea166fbb69eca16f7e0305e054f158ed24c74d02328730488179254ebd63972f2a51c45f274939d89bcbad5df3d3961115392aa483beba4f00e55531550f6e167da38519273b3d16555dbc286979b40cee6e5e5559cdfbe6bc208b53e6337400821c43646f940fe624466834b335b3bad27b8f298dfb4a1d3e6308a5fea77fd5347abbd2ee8e708ca2f8719cee6ffe9aa91443fc8ea50417d5f546c223fd07a587ac547a2e4b3f686b7034c06453db15fde31bd1b1c76448a3bab5d14c7ff94d\n\n# tcId = 18\nmsg = 34343239353339313137\nresult = valid\nsig = a04a78f92d6693c9470e7e88690e40a4ae8aefd0af1845450690337321ce5b5e125f981b768e9e0a8a4a37e687a038da1d2c21462b962b3cbbdeb170227fd92f8e22e99e6a183ac68c0c42708e369559cfe7a1bc5fd64ac71e8ed34ce70e86336503028e6174b3ff2b9076f4b6b84f050fe36ac45a0f1de677b78f42908de140d1f2a6ec887a4fbc795f761f2f9b71d45de9e6ce7820bd6fd1a53f0c1516e3df5b31486518b767ab554814ede6270b417d53480d82c415d86d40355b405341034da2949cdd7598195975236e264b098822aa8844488f16fcbce076baff03a9aef6a2aba155ca14fa30e0efff4c968eac265760dfff2056f6b1079dc29316b629\n\n# tcId = 19\nmsg = 3130393533323631333531\nresult = valid\nsig = 221efc61ab6dd3044cf77780d379c01af65312951e5ea5bd5ecfafa5ef55c5a54e8bcdba38a7b12753bf049e5aef8f2b71796429ca9350ce820a10c7042dea4beef196ed5ec3a34cfa534e711ae8009631a6a3c6d87b25af090cabb2c80e14321763fe1545bfca78267415fc89878e968283b216af23a9a5e675028e62e1e2df117737c773d832c705d3ed36e680f1e3b2ecf06aeff69e0072f951a34449b4134e9e139ffddce8c38b2ff0d20a314b45a9345e3ae6e312a94673605e5ed8693002d60629c60fa54469148d5c50d80ed8a1a0d22e4672f9f3a2eb85d298928e4fc333fd1e0ad5909e65b8fb82917415473f28a17a618c07903e8acbf8015e1c81\n\n# tcId = 20\nmsg = 35393837333530303431\nresult = valid\nsig = 55b67374c9ef2ae609f70bd1c805f5c092278e8a2e45f049b949bd57d4bed44dd9880cd59896de266e3a5294f29023a7fe376bfdc35bb92d542f28f7efaa37d4f32c297cef38c723b27cd1fc0e45f6babb61a27547b37a186866a9c725a0d4253e35befebf4f47aef7cb1c4b35419b6e024e0151d47c0c49fc3bbeabeb75f2dd596fef0f8c9c275f6058b9130c58e0266ef12e0233c6d16f78ec5ccc1e8c7e03e3bcf12be33317dfb660cf6d3851bb2aeff5693fe1a6e4b644e0fc860a3d6c2100009f29c632fd9a579a6bece04ed27baad3c5d62b12ba30372e5d7bed23702c146f4a644a6ca1bc9b23f29cfec3b47f7c92e9fef471b9e2555700ac3c2960b1\n\n# tcId = 21\nmsg = 33343633303036383738\nresult = valid\nsig = 74af7b301b5b480ab70b7af2decd155d7c6a280ca77663c276cdbb702f7843fc3b0e3d54669fa9b99093f323533f3ee584483c83fd2f20d2d291ab8482435fb53dfa19a898fce36f470951b4808ee4cdeed273546db4e6db79cb2a429c04c6e0e7661f6ee84eea57981797a298ee37ad2661b002345afc0fe97c6b2b955efe1d753f3e26533b43c0ee4881e6e7bb36bd56f061bce340a9af0a679bb29f10c3c140ab6a5d3fee7f5ee90201d335a09cd99d71c3fc4a890723f1992f18ea3fe672ab6556140fe4ca5b16b168736d58ca8b0e2be364931a1c2d63ebad5fa3a075a889ee1c56d5c128b151ba55a0db4139973143182b6521962ec36a81975b0e4a7b\n\n# tcId = 22\nmsg = 39383137333230323837\nresult = valid\nsig = 3ed6a556e0d26350f61ecc896550888481a0e4fddc0a8db85ce3547bef67d5a4dc8ec653123b8fef836e6d16187c746042d8eb68310545578e7aa69d676e2fecbec00567e67d9f90bad6ffad56f2ceb90d06cacf8e7360439542a6773e0b25b15f385f356f6303348177e662b6ed30854dfd40b649e98eb9289e964e15bdfad7a5596435a2c2e5f849431cf14d2b3549691e642d5dbadb128f663fb06f84ae233d8bd81fc7571970de9c5a14854ec03b3b424aa5091c0da9a25020d83ee439e84898411e977db53a9bcae55985c218c1b3d08a964593774f9120aea723683f8ebc9f095598a1312259bf1e20ab6a79928fb22858572bb11a77354383713232db\n\n# tcId = 23\nmsg = 33323232303431303436\nresult = valid\nsig = 05d975ccb92859e4322c7712119877401618268ba486a05a525ce5fa879c5b8cb2e38171f1b8c5badfd2d32b276767389b011148e994c400b8dcd2e44919b20fdac75ea3c5bd2e1b488d285e974569932c418741da41ab229dd65ca09cf281f42e231c8657623dbaaf7b5d875aeb7dd4aea1fd15fe6a0b7effff66e9bf979e70b0ec28dab260ec68d679b13e76dc1f0a82a0c598b3412cf6a2f306e8e5107698d3c54a7ede188ff396ecf7e153cbbe322e48de7fb4c8eee3cde0cd35615779ce24f85f550a35d3d31a6ada6175dce6346f2b4c7ab0d60d4a95500bc54eb5a1da6028192d5a5372f48dbf704784db5616fc1e690f7ab3be167b5328d487893c3a\n\n# tcId = 24\nmsg = 36363636333037313034\nresult = valid\nsig = 40f9b74051d6a95fdaa25b05598b422eef97852dda217d51b591a36937af45ddf5e06f3eabfaf17610e55490ed3e00d11c8561f7cffa25600fb9ef7a5114399415a933eb6811ae2142351cc0621a5d39ff452875b1a669c666c606e4b817975b966635811694c8a920a5cbe8300df00c0ae0faa1a7812912daa081c7204af6eb7f7152ec82b45b504dc3214eb9ec5b322c58771410dad121f5cd887bff9976c38c3cc9b1a44d3683e95c76e6a83af6c650cf6091b68e6ea2e6f28b11e0c664ad132ff098d0cee65c8f0b436328332ca0bd1048af8de618fdb494148af8d2d98ef4819fede564476a52fa2b7d176e57f0fd9e499a215de6b7737278d7e6d95a2b\n\n# tcId = 25\nmsg = 31303335393531383938\nresult = valid\nsig = 94cd1d5b54a88649f920e1decf750e04c8630e32d71810016b98818bfd0d978bab2725466c1a826bdf4ef42b115b904e328ff1c012c704865640af61aff3f7bb6a3fd667ed2c91ebb93a0232655360807002c2f05fb64c90f842b7bec11dd1960bf85f2167b397e0852b790c7f193d6e7f264b2a5024807dd5d76d9487ab0e422c9216c693aa1709e56b3b61719c9d6b35f510a721d9471f83ca1a6e46f7c14ad0e4ab4f2513a389e70977b3d7d9917a13c25c1a439a75185e9aab64ee7576db623e514283b2d94e105f8c39acdfd853817275e90541c67812e40a79fcda5a2d32d2c400d1193f1b756c98e8d3212575dece26c44792fe3fbce5dc56d0248c5e\n\n# tcId = 26\nmsg = 31383436353937313935\nresult = valid\nsig = 17da6446874a87e7a7ae4fb637", + "c191db1d13c20befdc726c8af26a63b78bf0c998b82c25a125674a50717a849ddf004ba0f1400921c08a37a0c56a728322a2069dca4121c0c47c437e7a16cc3592ad5441a157028d8cb6cf7ce5b8582fd525a1c5face82204e01fabca60243022ea4d58126fa33170a6053ce2fd53b46b165d105151d5a3ea7b0f2f019784ae87fed529d771ba5a6a6ab60934a8aef5d4a4f25e5ac91b64e47aee095352ac6a9f68f5eead836730c08a35395e0a2cc1aab29b7e1d5ef238e939e9847b90d7228b1239749e79c07394acf13aa32e349c23731838b241c20f7ebfa627f96dcdf395b4f773c74347ccb966ff8a3122f6d6f1192eb\n\n# tcId = 27\nmsg = 33313336303436313839\nresult = valid\nsig = 0169a22f82d7c1fc21caf6131d6a4002578212f3beeb185a832408833bbc246f05222959e90849bd41207d6d74a48e084b6eaafaec78c9c0aad7a9b24624e8c4c66bec56fc86d2ec31762a7498dd48207a16b315c68aac94662013940307e6f6dc1d2d512885198f288adbd73b3109300b1f03e137b904f743ccc7b90db246c7ee7b18c1b6b2ad5f061496f8cac534b58f161e2778e8f73db6f455aad62f599cffc8ef16a462bf380e0d09ad8295e7e9a7bafa1b7fd84166dad936373b323b525a111d3b34e5f918358cec48144a99f2c614ffb23f9a3c8f9a491f8a7fb0825dcde62b40b9b56fbc816e21425fa4b0621d215fa019d293107a547d55a1f552b9\n\n# tcId = 28\nmsg = 32363633373834323534\nresult = valid\nsig = 78b2098126eb13ca306f31cb64ba1afc17e053580b68184a029d5ad47ec8029474a64dccea67ef1d01b4f95f1c2b416d312437139ed1977ec80a9339bf925cd2f2c157dd3accb47d1b85eaa43a7f2f6083e85084b05d80336b2d0435315d0124ed155be0100a98f75b9d7596f3799cfb3a1b7e2a8ac3c805da8da5844a27b04486f80f1ddfd463ba9d01a850096a600346772d8bbfc73c9932522687b296ddcf2892f37b2a9b90be7dcd9081df2a48014f5bdd08c114989a4920ead57563c4615874f3b7707607d6257614847bd99429642a58a305383c835a1bbc2ea8b443a2aaefa5c8cde459904016ddf381c591dc238e10a8249c7e1caad96b42ea415f7d\n\n# tcId = 29\nmsg = 31363532313030353234\nresult = valid\nsig = 37ac7d0088f21118f5f9f834063d56966456a9ba840089a1b1805fcfc808ff22cc9d7b3b3a361cbf1c2f96c62f694b47a6e9a19f2adace721200a52110f34b9c95f45fb4af9c250d0472018069d493847fafd468e8f50b4d2f1ad97e10015862ec02822b1e17dce3da1715f6f09fb89b4f7d0c35b8509445f770ea6ec325e933c651dd4d75f5702080ec3b03c48b380b1f202112eac8686d3e6e37f2685a6be8b078584533ae66855cfd6f6b758e4487bab19a65a12245a6f177fbfd861c94c5d30b6fbf750d66b682f98e34facf4aadd67b4db4463cb08328d8d59357895da55f1736c91c62b2634a66ace8b2ea44a86e5dbc09aad6998524077a68b9c1f33c\n\n# tcId = 30\nmsg = 35373438303831363936\nresult = valid\nsig = 6d250a920de5965ec36ab916ad585ef21252355f0629b084a119f7e9b73d3de14256f612fa92e3d658efb3e53343c0edb8b7e55a704dce2af2f7d861a404d1554fe19aa9a6b9aa8a13897247a37a2d973cee58c3608c94789fb8ac1ce05d6f0c2c1c7b8baa7baa1cc8d77d4b7e911db371038117af95b1e240ab317031bba83686b8ab99d75baabed4873fc72884794b3a3da905da016ac292622b8f73e446f46a992cad8d2b9c9b4d50381f58de58da58a25ae341b11d302e11db18d2bafe673dea1093d67f7d1e4919abbd43c0c0008b8eab089ec6bbcf126fb9998fa8697ab48cfa5d90ae76eafdecf18037fc3c8c5fba02e37ae79b29665c051e271f269a\n\n# tcId = 31\nmsg = 36333433393133343638\nresult = valid\nsig = 97a3e342aa73973a4b993873d1741dc9ad916f5de63d78f8c6a7f7b2247e2ed62a76510d0e25e6a27ea0e2ea8a5d8e38381528f913458bf6caeccb73fe2e2ae3830d0c3f463859bfd55fc26e5bb16f95a1517f445979265fd09b17033297aa6d5336206182d5030396176ed04b0f6b86a9ad9d180c17f7afc6aacba9416f0a67d5f7b8d93c994b719fac075389f83eefd9c9f3ade146632917c26f622a1313ef470f257f67f9fbfe67245ec253959751a84ae84c7a0c06129337645dfa36c65ceee8fd1ccbd021a51781f4ab8398af3344b0a3b9036ed4b9d17f7c572903391a64a8c45c1fe5ef9da607a0a7ced1f97a8651b44ba4f037484626bf770d1765e1\n\n# tcId = 32\nmsg = 31353431313033353938\nresult = valid\nsig = 6fe1f5e3f11dbac400043505b0b331c32c28c37b4d3cfd9bbf959b301b3bbc752248e052b5fc3fd6c80b2a8175440105bf84904d2fa9ea763a31ba532f7c528e15967f4858c0a67fb9b91b0ed43926f3bbb90d970e8d81a3d2380556e63efe0b49ff702db5c1835adbad43830a983fa891529732104e60941c03fc8e267c0a889ca7d29d615811d05e964faa99f81c2bac929b26b0825c35abd7d3a36c09568141a53853760d632446d4088d032b348ef0942b91ebf1c68bafc91bc54863452245af96c00250302a05b24723f7327ef420fcb4427f40d5e33ef4c4820e0a7df57c24814b6ed8bd61de28c65976356a3279d52134753e008f02cd9d27bcb6330f\n\n# tcId = 33\nmsg = 3130343738353830313238\nresult = valid\nsig = 9ae78de184d5b7207e99087c84dacd1d5d510119a25b43155050154c1539a7b44146de65c835426365c6d8778c29e6e7639765da4184dbe09e8f5946eb2d632caba6e31eb2edfc30016ffc4e3b7eed4d2d95cc563c2794d70f8ef60ff3f77f876d82cd075bb2fb6ab0d027ce9dc5f3b26a3e93c8a2c2e8bceb14f9eb45ba4e1095a19f441fee145c60df21adf2068fe566dd7926dade24b31b71f5db3d4ddaf6c4e44bee59e0d3302dca6d75fcc87952cb58555c7dfbec53975c7e1cda803c2007ec1e53fffa363e69613d17f870c2674442840d1005039ecd2106921ab6ebd9d96e21307a80e994ff85eae5349f4b426d458aeb22cae533e46724cfa5f2b442\n\n# tcId = 34\nmsg = 3130353336323835353638\nresult = valid\nsig = a288dab1bdd7f4676d1bcc84291a7784be62f001c5c1a83ad575b15cf56a868600badc95f22954f9f474340d874d3d56fd23a8a85ee3f052c7be5ca653cc2fd2c1ea62f02c0c5b653fc201272d432671059ee279398e5ad0c45e735eb5c03a2ff9c82ab53d1ac9225589ecee80fde90a036e079e45b33b0b4f0e6afc317ad3744dd65d22607cf31dbabeb38b0eb935ede4420a1d8246b80da217dbed5d1cf6a4cf88ac03a3eca307bc7af4cdea63894f676ef253f7c8e1e7ac1f67fb45abd2aeac3ac8899a73867af86688b67b3ecdf9e6380a84b99b98d2dc4e65682558d28711dbb1288a0351cef187f1edda14ab57a8fbc71fb60375e682a53566eba5ff0b\n\n# tcId = 35\nmsg = 393533393034313035\nresult = valid\nsig = 0a5339301400f505424bbd72a88355759ce2b8e43c97c7dc6fc90dc4bd339dd397bcdcd706ae49df8d5f535f37c4275e894419345bc01a15a11251ac2b01bea9edcf093239b6bd15196974ed38ebddaedd60e6ba3ee67ae005c73850ca8a13a1ec693433bba8eb40dcb23f33a1a6fac64d634c9363f276c119d8e7e7649e15fee7c0a039dd41ffd5871592b7bcd7c3052b3daff5c998442f788f4af43ad032f257dd4fa0c7c67f078d6b0608df1a1d3b4948327eded47f9f4ed16601a6e7fe86ecaf9721a4391b01051c00576627d44f66ca5657236e1f5260a31f017c6dae68d17e984997e1892626dd97f41429a914a7669e650182845b2614c77f39267187\n\n# tcId = 36\nmsg = 393738383438303339\nresult = valid\nsig = 8383a989de89656ec90337181cc615385f691622af128860328520625bfaa1ffd2792fcd8395cb8f4ab3986c00e9d43a0db678cf1cd3f130e95669ee3160da36b99eae9388a24079326e0c3e87eeb7fed2ad444e1b66d3072f057167ee967e9dd08dec183c4bd55b07280f74be43445a19aa0659f78fabcf56e4bbcf3927e308ef773ea6324e5b23fdb46b08057a1a63272b9c29a0d0ed59d4778ad7cf2ba576ec19d3d81c869cf762d04260ef805a35055d9013b327013da7a898b6684275dbe5057b833d738cda3f018c100d63848959e15492fade26378f4b39bed4bd56259ea8df023f2c63014fad634806f6a650b5e68fb35f6caf198ed09dedcfba9da4\n\n# tcId = 37\nmsg = 33363130363732343432\nresult = valid\nsig = 23b5e6dc26e10e99bf0405b84347e1cbbb6af4a8d0025d0313561c726de0268ffe4ff7b2e20a96e4bd699583281aaeb10b592e207e1cc5d8fb7d5c2c1d8f034467ca090ec4885e0a1b09dea61a129c967450cdb5984ac5dbc852893afdf333b5227df2f023f37f310f13dd73ecb9c864ccba1c93f6b7c4934fd817e26fc2cd607dfcc6618b41cc571603aa26dd4fc180d5b3ae915418d35d6476dd34d4612f50cca249ff661fc5a2bcd09a806da0ff0463489fc0fac10cdd41d4243766584ae38e99c68e9abffe362894cf5ab10100dd3171c6cf63d93da5f8f6f7d3877cebe64f3afa8bfe78f4436b83f8b845ffd94f9980d58a743856b6efddbbebabd31d9e\n\n# tcId = 38\nmsg = 31303534323430373035\nresult = valid\nsig = 9f8a9abd119e44261097a7fb120fa7edfb77418aa3a5498abeaf17e2453e8be26a814e7cc1a276a351ae002ac8746f630f7da9459d3fa4178f8ec9756fa6debdf4d55814bce8f84eab38dfa0c98f81448800755d08c3b9691e837a2aa052b5ca412e2bb8156e4a3aca3d35c9bd447d6b5b532905c60e70dd65f6c79a28f236e3a0cbe4f734b2a3b22fb733e45038820e087bdd429b5b54b84a6d1210788bb558f0325ecf8ab7f4641bff09564f06af6d792df988699550d35f2197b4bd7cb7eaea64341ce82391ab8798c1ef6be8a7ed8f2e1dcaa331da2844c06e3e056ad0ba22c4724ea7929f57274fe5a2c462780b190d5404c68c823ba233ae35026a6e72\n\n# tcId = 39\nmsg = 35313734343438313937\nresult = valid\nsig = 227fb42cb5c3d88b8b71d1a6522bc5f824b2507d2998a94b9b972cabe4ab46eb47cd106f79c17d4a0c59c7b74b5b3d03180ce155a8bb0920e987fd2bbdd64d91ff3f57b5dfbe57f3989ce4aa9d9e3efafc501c4437a0b14e2983262a61b15a1000888ee1482bee4a1e6afc92bed17f35a32df67fad28979775cf0c1edde006919566cfdc3657c9ad2a82d2e68a11e23f01f4d8faff873f5bd1609e3b901ae13f8a599d42d2fb5ac9f9707d730921c5981cafaaed86d370bdc7585bae3ea4002c50c96b195283592c5d577c53627d946afa48d10e8c89432f50210f8e0c99a23eb089559390dfeb472db740e27ca255f0764c7a575d3909c24308f187bde90fea\n\n# tcId = 40\nmsg = 31393637353631323531\nresult = valid\nsig = 49b8d35ac6093bd9d53d5acf6af1a2f294c13b0072564931b8e69e11d7fbcc7ccea44f5e52f28b63b09dedddd5766515eed3ed3d595424e70846ba96b9bd12781715ac7c405acf97a8a735c8a9d274b66a54f2a24138fd9006b2b5", + "23d15f7d4bb45852ee0628584817c3211de2e62811e03f15060c1cdc5f6f7e0edae78570a53d04e3799633f8e7bc99a24d32f307963cce9e9f5e6d2234a9dd9a8baa39d9058d4f9b7509ae7eaa776d734da7cb7ad5148b2a069950405f0f2254d47e9e703a40cd517914bffb38fd00f4873056df33ed5022ea0115bfabc766c5ec8d5bbcac2a4c7081e5960bf1eb364d8cbcebac11866e5e7d1dab2d0fb18e46526a4452f8\n\n# tcId = 41\nmsg = 33343437323533333433\nresult = valid\nsig = 2fe90988f9e88d1cacc4c6cd2594c0d9b02513aefa1c82155bd7ec58e086b3d808b8854119623f17905445dce9a000f01b1ef7973db1f91814a29119eb744d51ff943f5541b0fd0a28e2f71d4dbd759cd28f3321325ea0327c19356bb576f3b211f79969fa1bb1faf333da12f2f8297030d6f268eeb0320299419d02afe8b455edf7b11691ed99b9800014aad94ae87478077c35e823f41a22f285d6cf575d1bd409a8af556c1adddc581cf3b93c7c161762e86b006a3d08315ccc52b205b6dfddc4b2c0631529bdae65c63fad31a00ae9923e48e9e96213c73afbeb53b9005d42f9feb73f288e2ab91884020ba8d198a9310b8880c912dce29083efe6d6e361\n\n# tcId = 42\nmsg = 333638323634333138\nresult = valid\nsig = 4348ae89c8e5d03fb94d2a8a63a6577f7ca10e7d53e4898e1cabc0ee96a1c7eb841b984617321fb05b812a17124f311c91ccb948765713fc5fef61f60f6dfe3bc15d1d937763c1f87b3899752f4733b6b740af3340ea0415d41dba82191f9af1cba3189e72c0ba44dda47edb6dff3ac6de21586b15353b54f1b2b2281c98b2334e39ef48691ddd4f1b67c06f24f22dfd08865ef3fca33ec4e113a204e349822f2b4ff512e4f11cf011ff8b6dbf3ab5cce1d90dcbdb91d13f77edb9bffc650f5f42ca1eae855a2f2fa9a4168997522bea7671a55d56750b78f9f66a2d72607722753fb9987acf43b0e66021580c79c5a621d96d9ebe8d24ed9058a67e27519ab8\n\n# tcId = 43\nmsg = 33323631313938363038\nresult = valid\nsig = 074d9bb6858ddec8816beacbf758b00226863d1c5200188debefd6da12b6e7be8e30085d913d8742f1215075639d930cf1671cce3c344cf915da8dc8b8aa46bb753827be2d4e2e7662d266c91bdcd4667d28ccbcd7bde90a4bada2a2296f0d5882ef9c8e492eb94707d0fb394f08dbd0b7177b756bd67d191ca24dd02c10156b5a456f370e745d840ba412136503aa9b4ffd387aa791f0b566d6cad88e7e803d9b0beb83708cbe5607c1650072b4bb4d5aced007efb0fa892c79534f7a38000dfaaedeb055e39be7e17e593b773dcc4b44b37612f9a639a6b94ced87f8c7a52314fae97c7e8213fc56177f9b8b3111fd4e7457482fb5b8a9ecda0e00f7b94614\n\n# tcId = 44\nmsg = 39363738373831303934\nresult = valid\nsig = 9e04804cb316a41d330e381aae555d866cb1be3556004db72eb4a11d11da11060f7ee7ddb0c45b1206d50ad2233141d2fa6fc190c09c92a5be6e977942e2a4f9740ed67dc9ea9e767f73690c908017736d4fea0ad123fa4f9fe84d5672dbaa5fdf758105308709f4c3a395433e994af2890415e60773e166b4c1529781548f1baa7b82340879480a066c3fceaabec9ccf66879ce3365f9b9c04ee2f85ba08d6e39ffaeeee2c45834b6d7e16d942dbae45bc22ff7eadb3d917c4db5f8462e8e6e618f1e84d16eb436d4ac4d07f1026ed75d70d2ba0332b9c21382f86a7a9ca702e855e48a44fa65bbdc7ef5c8760230a2102c6f951c639ec82492129d810f6261\n\n# tcId = 45\nmsg = 34393538383233383233\nresult = valid\nsig = 98f353e2fb80ca884138d7cbfd8243238272d41cd3d209104f5c5c40b498204fd731eebc0f4706e3e22f165a5c989bf0d0d2daee6fdfca4e599f355509982d988dd3061b1c13d612c003db6f562a68dd7cb7fe7dea74a19434db03da48ca84a8af51ef34044c86ac0445871caaf645470460a15620067a0a8e821ea7b50e6631784edb2fe884f16b3ee50eba2d815644744c9b292c5107ca2769004dbf4b42eb7d738b9bf2241c0739f15979a71ad6935ee7ddd3d775b7661513c7761ae448ffc3fc287077d0117815b3d57890ac37b87c972e32bc0f759214d2739c4be9307f251a4f3027a8dbb7e3f9354b26eb98145de81ea8e23aed401f315cc50227b5fb\n\n# tcId = 46\nmsg = 383234363337383337\nresult = valid\nsig = 4782858a9e77c710929f71af2b0199002fee9795161ec8cec449d3b1599a5b0235e079fc4c73ab09fe65875250638f0d075acabd1042ee9f51e66bdb15662a8328583ffb73f3b7f15efde539bef811ecea95d16cac91f30f80506d68c94cbab5b1070050168a96721c9709dc8cabf85ca3d72a9d3c5ed87b4617eb245bc34899e86b60d294fc428eeaf1f86c5474a9e27d7a9ad4588865574f1b71b1d8ae6655baba63a4e579deec9ea1eef1787b427d5f5b77b669733bd6f7f07ea41d6f2c2c040589fbbd59bb0f39ef6daaa28430c18e64d0acfdc072bbda932dffaf38ac4b495da1cecc36ca25dbaf06cbabded815ba6aa55f04db12683bcc4c5fcc5ce875\n\n# tcId = 47\nmsg = 3131303230383333373736\nresult = valid\nsig = 256f842e0ea1dd3dd5cb05cb184cde79ba34c87f083e215570b402ee929a47049427ad568b30c005ef4f88fd511096e23411e927fd2aa85a3eb6e01dee3e9fb5865abb460ef76fe8d932dc08945824011fd226915ee3977475660d7f40b3cfab3c9e7e90e37ff87d2daa834bb3645cd1832f2833febb80a650cde007fa6c5232ab5c9f0bc85d8c2fe326ef25ca040bf95a3e3734f1764981faa5bac87ec64d9b3e4a9867e4d55b313171740e8413a5e4297b206624289f1532c9addfe9f885a6a6caabd253fdd331e762a82c977bb21c8e1e5702f77ef0c2f69259e0027c3a7d8c7c8034fc24fbff14b5502816f4d7fcf1ed750d8be2405186afe54ad9cd5030\n\n# tcId = 48\nmsg = 313333383731363438\nresult = valid\nsig = 62bab402f229e26a535705676faa60d4cbd3841d4f5fd3058e1d5c44a500e872f0035747cb5bc12b972f6401cdd1e212fd540d45aa5fa535140c6ba7f165154ba4b771c1edd27eba097abedd294728447c22ed52518b1dd87212eaae44724e25052ad4bfd0185de9edde0084b0fd35cbb226f53661fc12a14f1b8e31fbf3ddccc7242fb5695d9ae84ac104c29e39391103d15c4cd8ba2498e9ca24a618df21e7cdb904d6de4954637b28ead74a315702e8a14c478d004905d87b6341f84d519aae6608a76618f8ffcad71a70d180d4fe0597ce6044634c5e1bde39c156b6ad3775b00331f76db1d89844c130e9ef5f826b9f5732c9d1eac817d3efb46956bb47\n\n# tcId = 49\nmsg = 333232313434313632\nresult = valid\nsig = 42280e80ad244618478975f9387cbd447d85dbab3e70bb1db66579a2496b0351fcb056a90c5b78edc2ce6775b342c55154687d3cfff1bea1ca31f308b73c2a29191a8a3e1c21c33daa4d3750da253249d87bbee6110c9ea25459b975d4a72f0b064fe15332012133a67c0c8c8e4b90fec93919d4d1ee717994889d62d394fb8090f58c4a07926c67d355d9654bfa521d29fd166fe5f3637226166f0e458bf3196227e262eebc55fc39f041795fc6d1c237f98694e41f128de0c9cf6cef7c1fcdcc61c0c732ab9603598b0b5655a7e39e44274a7049ab42e509c50132542c888f3e6b956c4527c515fa8b01add994bd50a6adf0858505496ee2a7b9a043a8b8f5\n\n# tcId = 50\nmsg = 3130363836363535353436\nresult = valid\nsig = 2d8a127edbcaf50a1b35ae0c7bf20776986448ec5765b15ed7d886117af264043a1c3fde6af1848428a525ddc9f334d10ce6aab04457ef2863807ca674dc0ee84b0a1ab49a1b999c4b2126ded516ed1157db047ba052dc7d9853de481a6bfcdfe2d31439980e62ce20c77dde58776b2127a557ffd8c51599699f0cf267a108378a8026e0a53003309cc645b5176dd611563c6736b83e8e0e6fe0b062f2cc137a415b097bdce66d952fe2bd9e407a4624d1157106a5d7ddfa76b09738c09a5817b545dcb27f8ad9ff0986f80c99ed49bd874c89e8c8d0c59ee3ec04214cbac612e4ac3b25d62fd286a431a57a758bf31eb52d38d13bca1d17074f4c9c28bd9316\n\n# tcId = 51\nmsg = 3632313535323436\nresult = valid\nsig = 15e8fe3e7dcb5ca5c16e1f12fec4698ae28c511b02c40f83555b2bb15b20b7462abe1d0d42b53a58b7f1287af15224a0e505e7191d01f7f3b9a456a5523c56be92c414a8e2239220e6c17056310221e4ec25f86a7a0caf4239fcbc5f704ee92b8be99c86da42ab09c042308e92de00c747f23eb277a9f641e090e46628f744a098f92d031ee3159d0687df6b585198a7985e2917d8723f7eb1175f38f28bfe7454d41e086326a4c2fc16027492d4cda2371d65bb241a87fb264fa2d2516c5ff817c405c0fa48625f540e6502267ecb3e0fb77573361fef5d7460ae4d4a0fd22dc5103d2b749fd7bf2830e22d9fcd8b0827284758be30db77308553855d366991\n\n# tcId = 52\nmsg = 37303330383138373734\nresult = valid\nsig = 0a8e7c3d26834d46dbb4f9d6b9b6aebb2ea3b1b180ae01dced1df03353a2ae598320e1718c9e43f4726cab81b5aadaf77690957ea0477fdb8a304dbdf3fcc53ae4e95b41c27a392f0dfc839fe8698de58890ba064609cd72c8e267b90bdda0ebfab8474d0cef4859aa8568164e72136a214ff9279ffda0e8bf9dece0309f06e2244595d17af3be94c7ef9a1542297e7e6d40f9c4b2ee6b652299ccb20da274711861e39317347fd56f5f13007f31e290430019d826b2bea3354e926a235a9a3e9b68e179de25f3feae8d3ace9b999afb1b501908482075236268596a4f892542c1f05dbf66300c9f249c31c34fcad58fad5d7efdf3e16ad311eac4981f164d8a\n\n# tcId = 53\nmsg = 35393234353233373434\nresult = valid\nsig = 915ee86225d15a308b4f4e7ce13f396fbe813b811d4fe2183415bcdc196fcf2204a34dcf0781526853c41f91de1a32528ee7a6d307a7ec4e23099d5269db7daa3b511d00f74b0dd211d2c76c30919ec3c6062505530ff24fed581f286fd1499d789d2e7a4e25ba3984f2e6e07e26bbc45fb02624ffc1b9eedb8e77e076b0c9a836046237db992c0f4c531336ee1bb9ef75bd6cd647460f8a8cafb313908dfdeb529824eee01d76ced616133c93297ad5066f08f467f2387edf247c68070804a800ace363480161191b0f50ae260e312ef85c2d429bee517fb22183bf2fc91b0f305412da4f3ee20087e0a158d036f311f1cceb9d0bc91a75c0233fdb6b18c91f\n\n# tcId = 54\nmsg = 31343935353836363231\nresult = valid\nsig = 2b850dd6a65d225a55d526e834c55a6a2a71ae2a7d1db1439ec12ae1147b26a8d5325c764d4c5d1e3cc1d49c61a0e36488797f592a1a19c3e200cdf83c1880bb272a4adbcd1dae961a19857915233f2095944b9b96a09aa0cf9971183ef360103698ac049f429600c339eeccde2bf49353c72ea4a243db91bcff7ec01e51423103a1b388e1f750b11ba8be6558a2b0b2216db2229fc655ecfa9000fa664dbcd8299e1e258d13ae59696edae797", + "4eb1c63a73aa6ea12d200352e1c7c2731d3605ff9f1e18b25af13d24598177166dae95033b424f78883ed14c6849d5b8feb526e3ac14f50988e4956f99b34d4990035085218e6c16ced8149417b7b4d9d25a57\n\n# tcId = 55\nmsg = 34303035333134343036\nresult = valid\nsig = 86b22f948dd5af9df65c1d062608393d90d3982d9b3f279865b8d675cf2f46baf3901410a388bb87a7f5dad268d0899feede8222c0e552c91a76aa5f5b4b30b573bacc1787a2e487b990c558b1972069a8f29cad25abb5094e94266218f7816ed9b314eec8289dae61de5ae516d63c58f99b01dd5cd9495ee47a981265d836d69fc55121a2c785685f447ca63c3bd19dc33ab63a1ccdfdd94d5cda20be639d484da02273640a19afe03d362f58da9d75bd71de52e0fe849f114ba367f12282989debb33a1d278e934245f981ac0e222867fc1c16e4bb08dd8ff20c41f35feeaee14e19bc72c54f692cdf2c09c51f5378c3f84e6df6f990941405f8608242edbf\n\n# tcId = 56\nmsg = 33303936343537353132\nresult = valid\nsig = 8b7c4bb2f5c2e92181f81bf18f55361c8e3728e8a4c80ee960f5e3d28ce784d598bb3eba641f8b6ee18e4555244ce65d7e563b5cfce760e64c0347e209b6ed2b4aa45ed4ce14807fc214775900c5cab7ef9342e526b2e346cedf9c33dec7df3c5890be5fee985c1fb4f146de70d1b5ccda6fa469a207d4a074310b2d4b05b6b39bf7a9390684b6240788a176dd891bbe4a00f2b906cb85297c36e2df8b5192c9b33cbf2f94a723996f51dfac1f97497194304f3383c0df16087ff3a4f0b3378b91c8233366ede6ac90ab0ccc72dd206ce3bbb1b7831c7c2a3db6405583c6db9d35f2fb72ebe12cd035a1c97c457031e481e4881427bdb56badcb2738f341c509\n\n# tcId = 57\nmsg = 32373834303235363230\nresult = valid\nsig = 5a978ae0c63fa06ae14b799f22578b4adede79cf134a4242290a581607d491f5de671f6295bfa2c5a57a3ae0cd8790e9f7c9c5933cfb5224d4c883812d8d308edb8e597a2e7b207e0f5a2315eb8b76b725e431979deefa6cd4ff8ee6384cf17d2f5060ab57a783d4ae9f31ffdec05f1a158142218efb754d01ef33f3062e4ab3c7c77baf34ef2ff9aec95e87776e5054f4326afdd7f33445188b6f00ea8071423740b5a245dde561f814f33b7b4c8fc758e8f9d0b35c5ffa199241f1e80c92f0594459b9b7adb3ea657fd8d3e8ec31505a450e4ba6166c028ff7a7adc67239ae35cedc7557fce81ba4ca4846f23bc3a9e2e0e460b64db460ce41e609112a70b6\n\n# tcId = 58\nmsg = 32363138373837343138\nresult = valid\nsig = 3d2a22dbb1b75eeef658a716dffded2deba0589ab002f63949ac228a32029ac3d372297364efef9b37faeecadbd841ae4c651282096708769dcb21ca1da8cf196d158629e8600eb757c5f6722ee2df00ed0e0c503f1edf89f3b09309d7f446d684ba70392d65f2d7d08941398efec0a8cd1ff1aa508e8a7e304db3fa9c14729c61024e4864ce63605bae9138dc2fccd107cb443a247eec7805142287bdc88b6fbd24e1f4d0f9b1ee480aae1f062d533ce7ee7d9f2a0b340f11584b64324fb8fa1a5af4d2003478e10e312996a6e49174a26b3565c147a55285adb7b92bc584af119beec1cf235af2b32a810ac803acac2a8b8c2613331a62604688c2c611bd48\n\n# tcId = 59\nmsg = 31363432363235323632\nresult = valid\nsig = 78e5d781d774b8d77a9c290b8a1babbb1893abd80d0494063e55f701823f16bf715def5085787b73f4f3420c15d18b8f5feee194b26762efe7b5e0ed3a3c9b9818322887d2adc5f7dc42db0b31fa3bfb36ea1b10ba28acba19bd2494616f40ce717d2434bf6543c5514322e670b869c4166626c15229899b63acb90364adf842cea5cc95a023feac64354ee187fb2bf803f50cf2bbc1fe3aa5b8ddc7b7c3d470b33bee5acff291af4b48aab50268f596260695db711f53fb8f08f22113f29cca6da476f716beb43fc2df988df820a0e58db817d8ec90511e8ef5b90e1fc03fd8369febfa1524cfbd66af9f395194da94c643b86722b62ef08364ffba80d3cf5b\n\n# tcId = 60\nmsg = 36383234313839343336\nresult = valid\nsig = 05a089489be86b2225bc65916a5afea34d6a372f7f2b2bf493e11f949236dcfc3f2f1bdff334a737c23e4f18aa89d61265c5935aae9819a05ada91d943a6f42ac2d48f760119fbdebff6b154fa6bf831a9f4d3b71e41c2881f5eb7636629704f936131d906da62af4bf6371ba7135921baf81008df1016e3fcc8ae0f1fa8cf895bec5ca689cd43fc175e8bb2f9d46985a83e2da185356b814c806d5381fd4b2d7074b9fc6c7408239cc76f54638d7e27ab4d6f1b5862ee15f2c4d0eff6fba90caef526aa7a6042b1c08c021c6d298afd91fd466f6685c4f0add101d7f8231ce704013671a1468110cdf9b8829699b03eae2238bba670e959fb150e94fea889ba\n\n# tcId = 61\nmsg = 343834323435343235\nresult = valid\nsig = 306742ecb80993c0d6f3d987d462ba4ecb877649d0f6036c6294a2b865221dd95e4fa3fe7694a6bb6c6f93a591cc92fe631d31bd9059b8a57b7f8302b2d414adb813e21f02a8b1e0628b1a52359a4ab947e235f97758d4b50e679e6225152a9950ba54e1e1906f15bb91f8cfc8d14a2cb41ee8654320dcedbf3b21d00705ce6cc93da7426f4d41bfb21fb4cfe187f8a24cecbd1ec6a568efc64b13a0eaa5d45aeecd81af184954a56c42b10a40b0c1ff6ee49c1493cd93fb83e9eac5aac526a0e6d96552c17805247070a30ea5b9fa4f67852e11ed258cfb1ee4e64808dcfdd11096dfed7c376cd1373f0c6ac1fad8878b95c783df87a3f054fecec0d1f5116d\n\n# tcId = 62\n# first byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 6b77fb8cd287c666cbc30f00bcfccd31f6dc01655c3c976d1b2a980d53be40d6a4a7676024abeb1825ec47589365c07e5d4c3d34e249814126e32ba40aa81ddea0f61fe4e3725aeb9751103fd034cf3fa516fdc1569aeb7b028d192c8ef4ef60a5befb8a4de595bd4717462879f424e87286aec0bce6f9e763ee341765c24cef24f916a52a777595879471e2f3188c1be77fdced941fe0cf739bd8d5a4ceed9fa1e47f6f12dba68cbe7bb2eb81e46c2788b847d0ab6f55951f787db4ec736772851c43534b7ebcf226c2540806d925bebec9d109915e466d08e2470b7e85b4fac66e089b1a535ba703dbc10f800f6bdd557370e9ce761e86466833903efe315c\n\n# tcId = 63\n# first byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 4af6c02b1f3c2719fd1c84965658e36651ff891484f4c4177fce2185b7098c861939fcba677e8ad461577a666ac77653ac37fe61b5fc235ba76917e03c3419fa3b055171f959edc7f9fd349209a23a4aba57ca80744f69be6ffd1a2252a182a3a2c1a2c069dd4953dab9a6acb4c7047d7402584275cb726875c0858066f50caebdf7e9afb6d4f3270662afbc66ed14ce69a846fc0c54f9e57bd4f827c0b780c30dcf8661cf4bb678ee0396bf8e0a08d259593170dff3f93dfde9f4d9ced510e07a2736c8727d2f9e973e32524e072a92dba8edb2d1628da03741d227255914717445407111eefaaa889febfc6f4b0d42dd958937710ba5e94414a26e09cb3f5c\n\n# tcId = 64\n# last byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 601f6431b0607c80d5c92c86a63d06fcd862bb35eda31a7f331a59abbb8ec18fbc86ec95ad63723216e151b7bf73135c028a5ac3b45f30a7ff8ea43d5dfa6a52f5fe1405e6f5d64abc4999f8c580701bd9e451bcf6d54bf0bd1c83c7e0399e7805757cf436164f365ee76f29433861856b67b6cbd8b235365786c2de9b305e3293792202e1848f9595265ed6fd4b1740bcbcc697d719ff70b9200e65d7711494e18855fac36bf9487b54798f39d5a32b5d62dde3de2c3b5f8f7f4bbaf3ea04e11cc8a4f6247e25c8a3a4e05d831199d14cf44ecc8e66c8ca3883b5aaac3eb5889b23dea6ba6649c8a69cfed547ca936a57b220c44b8eb8604c8dbd81a3500116\n\n# tcId = 65\n# last byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 2a31524193054309ce7b6ae9c4bb053f5a5aed273d7a4a609496c7205f5077ddc746e8a4ea376bb879556d4999e788fc8f82378f6281140663af2fe0995a1b73eeef60341d0720ce47282eb87bb79908be8c3ffe86182d174afd0522a87fa56e0d149ab4c32292ca1d1a8478ad4090006b32a147ffe4303487196d308dd59f81eff956bd6ca87ee0246927e279bf80807ef45829824c80b82f7442021bccd8ce4513cbd4d4150fff20ddc2ea942ef318455265b5667a74ebbeb83a05d15f3215c04b113c8b55ec8be512e797a3ace15d2514c2bb74f50e0969eb1a2291fdb6fdea1af0cbea6f05937be614003c1569b648c2012ec5dcde806f68e247597bcce6\n\n# tcId = 66\n# all bits in m_hash flipped\nmsg = 313233343030\nresult = invalid\nsig = 8291cbd81529c8f1e27a907dfef2de16dc6d382b112cc3d2d69f4c6915e7c6992eeac6e4b82f5396a46eab562858835ab0c0aee63d2585dc7537dc0008a4b40803467abd5fdca4114282265c2bd929a03c7892774a21ed6454e73684673d6448b19555d0cba9e4c00c99af77b30f1daa4b15eef8489e15a276fed1553e617a64dc58d5dff3c05853a7039047d243c52e53f7dcfc40641bb9acc33ed96c74c79c93b79f32566cf553428cf85d2d36a070c89f1eceb4606fd285f7ba3ddef70ff151ed0fd3a5b6c5338eb2f812cb4cf4827caef0b896a1d49f49e2c3049462d07d0e64d33f1e2c615c62a958abb6942d9ac8fdc39acc595cd381aead075ab7b51c\n\n# tcId = 67\n# s_len changed to 20\nmsg = 313233343030\nresult = invalid\nsig = 57e8cc1dc00c07383d89a79b5c8e4f5bde2a2ba55a3c7201b3291c4d805b1b2eb36f8f326b542342da180abe508669bb6cc2dd54e327bc70c1e317ba93a0fd21e7fce22a0c597c7420d1d5602ac43d9348ba3eba561f250e301ab955b0dc33e4abde32946b9b3e86c8bf07a44646ca595960bb988fef04b2824967e9da8b0264f1da0659373935313a574b5380f0b54ce1bc0dde423bd3a54f6ae5fafa772a55c1c44eb6edffecf13e6e5e1edaf87a79e338577304141fbc44f0e9eeb286f553f879addd6e12e436fa3af51ad53a72f2679f0ed102d504ee08706fe111eaee49d880d1a0b91924b3b79968ed0f9bff446dac199ee89b158c074927d27b864498\n\n# tcId = 68\n# s_len changed to 32\nmsg = 313233343030\nresult = invalid\nsig = 68caf07e71ee654ffabf07d342fc4059deb4f7e5970746c423b1e8f668d5332275cc35eb61270aebd27855b1e80d59def47fe8882867fd33c2308c91976baa0b1df952caa78db4828ab81e79949bf145cbdfd1c4987ed036f81e8442081016f20fa4b587574884ca6f6045959ce3501ae7c02b1902ec1d241ef28dee356c0d30d28a950f1fbc683ee7d9aad26b048c13426fe3975d5638afeb5b9c1a99d162d3a5810e8b074d7a2eae2be52b577", + "151f76e1f734b0a956ef4f22be64dc20a81ad1316e4f79dff5fc41fc08a20bc612283a88415d41595bfea66d59de7ac12e230f72244ad9905aef0ead3fa41ed70bf4218863d5f041292f2d14ce0a7271c6d36\n\n# tcId = 69\n# byte 0 in zero padding modified\nmsg = 313233343030\nresult = invalid\nsig = 1abb40f03dbe5b4f1365862d9f095a8d57e8922565372f0b34ef5e232441d577b3c1f19a240ebda880a09cb41a7267732623b0faa414843f9ef063f93a92bfe5f98f7c28da184f011aa787ebd0b5fda4aec1beab6757add32f7a35cb407779aacef43c0429280e5a040cf5943dfb579f86e0c63cc828fbcafc9c8a15ec98fb64ecb5e295dc360f50230f415337aaac6fcac02fe625ef61744488eb7cd81a4e788a443f56b32bb3a7a344900806952f6f3f55f8d9e9217ddaf06a0ffe8b0bf5551d87cc9251d839441cdb3c72ae9c6a5a3de7ab85f908ae7d04232c52143d272e87a54c5b39d399b49ca7e96edd3b6e22c296de69e9e1848038025780e4f1ac29\n\n# tcId = 70\n# byte 7 in zero padding modified\nmsg = 313233343030\nresult = invalid\nsig = a11bd4fdd30fb353314530d60b1cd921d6091658e0c775432b6b702b1563a9e5b547f968ac13ac5b7027aeb53ea8987c9441fbcaf414bd04434445b2ce6a1d9dea2f2f179a6d40342a25b10300d45358f703f814917870f0a47f4b4ac47228574096ff240ab0966bb77ea9b5155c6a4fa0a185ce5d389c6ce28821262698beadd0fbec4ba2b66389d610f290656b7a4f7ea1f4a3c44b3528bf62f72abf7935e0d8b6cfc2db947e440752410a43a0ef77c0dc31b58be021b94118e5e0cab1d8994e76ddffcc2e5d55fa59d1ba792fda9db2b5ba9ec6f6bac395c250e2b8ff245a448b611797322bce637c0b1537c9765a8498e0e0371af2f8ec15f32e765ee234\n\n# tcId = 71\n# all bytes in zero padding modified\nmsg = 313233343030\nresult = invalid\nsig = 83673bf6d178e873e986c9a9750befdf2d6a3f0128ec90b5a8059d32f9f9592349095e24f88e9fc48ae549009f52b4d821fd40848a9aceaec252374b17d4950296e30b3ff489d420b8daaef47488696762ae4cc55ade170c5e0d72e696af793d5cfa04477c147732328e275999746c3680c3dca701592b17bb37dd8c5eeb3a929f932a3521a8004c10c9e3eed8d956835a700cabca21038a9d6dde44f888336c167c04ac26e800a99130a6e1d3b3bd8061dafd2b462102249fd07dc50a2e57a8c6cd52381fd4e1bfdbab18fd602c8890d51e8053c3c2ab5c96bae2847b5539aed3ad83953f47841f8f50fa28446d30c20b2b7dd8abf4e49c0636437c22833ba9\n\n# tcId = 72\n# first byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 90c3cb3331e8b352c37db46283a1a66b647ecca43e3461ce1afc49d6230457341a52b558496ff83053175a7bfb4755a1bef0e65f470d6139eaaa28cc1c083905859c1475868ceb1e3829437f64a7ad757c9da3b6e8443e8f981f5c0724c5909bd4ebcfa65eea4e4f7af5222dba64a51228759c69e26c44d9a528d75a5b96855253da88f9b54744b1a8b02328394c452e62ef75cd69f7def67b80e4859ba3e73b08a2a3ff931f44d1d524320a33416bf4fc744847d12e3e973cb870fdc3ac1bdbacb677bcc63f927366f4d0d61ee3bc0d1a1b3d149672c6398f3409fe9e7c7c0a150571573b87889b4f23ef49b6f5984412642e5b0abe7f5ec4b4cf12c46a38f4\n\n# tcId = 73\n# first byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 7a7318799477eb6da55c7b5f6a0338071d981011e1a9bc6fa3a2258ca5caa039fc7f768234cc08e425323f57691cbcf5f83d6a3439a639818c6b2bd3a860c9a6b9a8e0728aa7ddffe18f82c02854ca07b17db0f166d2e521ada5c1f85d0c2f259301d3f4b4f1380f94bb819dcfac9adb764a198091e110f0d3c5fbe20a29366fa52d246cc922bfd2b44a619b59b497a5379282ee30608f4243f7328ca8aec20f61aa8b4083abd1c206fbc9ea598d163e52da1026ae349d26469e2244b86139895f80ec4e8b6f5965a28ac4e9636ec3b1e5d685483a0475fa645421ed6ee9633f276aa4000eefb173b5ffe824d38a4d7e24146e4a6adedc3ffde4521dab879120\n\n# tcId = 74\n# last byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 331756b92b346379e1c50dea5e05d92912eabc568905d7f290ed353e705671f0f5a43921d71cef11fa2cc23c954ef27eebfbaec77a33147b5c6408b7fb8ba9d8e3ccd5af541942a946bf057d39ac34e954ca3eb308449a9a8fed15f760d9392c32618c289993b38875df412d460500ed0ac7d9b79b0c34e8a64310ad4cb0e7d6dd1dd8ad6aa81683a3420618783a315b2643f7e8c8a95734aa1ea526752bca4d443a18224ced3d2a07bbb734d01629483f5c8b91d94926916e86ee430f4f6f07c40d5808f0f59b9f438723bcfb0a8f595e3da00d5f2c3bc9eba4e64cfc5edd9c244eaa4aa8f7181fc0895c911305fb8dd3d404865f6ee2a4de8f5de7962cfa9e\n\n# tcId = 75\n# last byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 28481a5bc8762ab8cfad8d7888e5db6b678b12554a244aebedbb4d83fe0fb676d77411285484ec8b76843d4ebed1dc9dbc2039c3d0e7e5288de9602f7ee82793e75d2320d8a7c254116ccb086573142cfd33e36cce3f830901dc734ef18364e1c0125cd8fcc3c7f4f333d4b05386c3cbdf616d386a086862b591d80c34832767feb83aebdace7d19269b0b5bf340499a9d530c15b19c68ce227364080b27e6f4e017d6dfdf6ef05f4b73b92602a6249391812a286d8fc87204a477d14307aa2e23f12f7452e15d4bfaa3deee56903ed66031304dac16f6393008a53496845079af72e6c5d4781664ec757c741ea0dc9ba628df2dbfa591f16c352d5171b3a0c5\n\n# tcId = 76\n# all bytes of h replaced by 0\nmsg = 313233343030\nresult = invalid\nsig = 267cdb3f7ec390ac0910a3acd42893b3c445226413ce38d7fecd825e29d3a7c8a2c361607b70b88f1ccedee4c9d3c8d109bc3e77ad749236f546352713b71581ef0ed3b9a9d1a11035629c8f6cf912cca10eeb2b02d3bcbcb167f02ce43d00513999e4710cf5d4f4d730dffe9e52ac5a11d6453821298e66dd882fa7eeaa99d06d324a1436e2e2f3a8e78744cdb21d0070987a4895697f26d37f79e93f6702619ddc4b6986450f84630717643224d134a922b5aebaa430444bb587079f925ba93a42bf847579b8bd7e72baa5eef82af83afde809ead8f810bf4441107a3095a4f4f137a3a24bd5f21a18cfec809a164f4471c49091390d2fc1c6578dfbc2060a\n\n# tcId = 77\n# all bits of h replaced by 1s\nmsg = 313233343030\nresult = invalid\nsig = 7b9fb586f1455c9fd95db25ec66cc1b8e0237355177cf1c40df59ec1eb84a95149fc4c06117e8301836a32aae7e9ed18b9eae67e5f76ced60e89b8e11d3467afd71194b494f7062c15731a475586fc90ebbd1b382d5c55c0b319869b3d409b82cec0afb19f6352efcd6f1ed949f27a0306a3fd1ec4722cd335c1169871c63796bf3a933dee3f81f01fa8b6e710072fea562cd938fb2bb1053845555b07cda74f144ac84d9557326cca799af501f9474cd8b18a2af4d1a12f93a5b6dfd1880e58ea82e98fabe96fa76981a6243e8e4ca386f5ea4463f615ba1812e38842fd51c71e0b6a9da68a2b1432a7ce2686638e55129d4224c94513207ebf90e8c5f435ab\n\n# tcId = 78\n# all bits in hash h flipped\nmsg = 313233343030\nresult = invalid\nsig = 6bd414e877abc92b608b08a273946f90ba6c6c27de2448175638f67a6b14492fc1415ece540be3e3df8c8ea7154211637d9b5144312e113bda2526b6fb2caf7b07673332dfa605468e37f4026eadb4c0f84b7b482ba6752839fba46b765709c3c6e54de13953245a3364bbf21222374eb63e61e68d73a126f40f115405fe9092b00b60a7f0b995092061427454f6876ae2ab3b2757337349ff3ca3e2332888b9616fcffb3b924977ef856553f55b2f1b115ef0ad7856f666a9863109c6498c52271ea2e6854fe73e9e4d4ec666fe668f0ea1d1af19853e9a07066418697429cc31fff107b6ba212b4a3cc19b59ada459efbc4ccb90da8a0bbb48280456de69d2\n\n# tcId = 79\n# hash of salt missing\nmsg = 313233343030\nresult = invalid\nsig = 39220dabef40da1a502bf231bdd23d8d2cef5b85950b7ababa4ce63eb57283facf1c50b567a0d272b6e59210bba6163735e0be82dbe4a4ed2dce3f3fd18eecee047517a85a1e634337884f9ed6aed6c250d8f0453f3a103c8b684b8f452d05917b568cb2f82f6ec29c07e0d451307a3b54dcb03165da59611838f8b55d2e8cbc020fc5b482e1f8f1ad4d778b93e648c1160b3cb43dd071b67339edbdacd7b668ec92a3e2808185243f2921d502e0579432017b7afd9e983515b3d9b2ddef7afe4ee5b3405e2c6617ce2acdb6243213d2dbf8c72cac4d4ac0e69265f20499a29cf50a67ecf2cfa2df61c585f32b9f067f84baab8b88152b65b220898f91b9f506\n\n# tcId = 80\n# first byte of ps modified\nmsg = 313233343030\nresult = invalid\nsig = 487bc9021d8e95d05c1d3237c3e9f10df764e8f70a068fe6d93b865233f6ce8088bfc117c9086a3bea29d86e6d75fd9c8700e871f6027bdd0b37c1b581dda807a1401721f8a582a06309bfdfea5ef177cb7bff47179d9fee32bf545e3e4513212b68fc3eaa43f9bf86ab066fea31018299f4401e3e0985c0d450f102162896e619a2083d5fd2f2a03fac6ad99d38eaade1c56a7996a35e5e657078547c43d13fbf62a64a007c8f03b79b9c59d19697069344b7ab309b532a7449878d3c33472098026917f99d07d4b24c39c67dac099d77c2c0313a557d8a5aeb896214211fdccb531f390d91848be459df01c014454c8c9fb390d6f759713e30128a9184e881\n\n# tcId = 81\n# last byte of ps modified\nmsg = 313233343030\nresult = invalid\nsig = 5bc1e96ad536dee1b3d23e31f053b9b0e1439ce7c48ebb54f01a81de10133612dd0c1b4dc0b60d6afcbd18e40123b40236bcd773b5ff473b5f35c6ed4294541e7f028acbc29f5583e93331d4c03631afaf79bc683c187c7929d2f7db52d1a34d88210ab50231219837e1b60d49ce8048e9ee4ef55c2218674f297158c711e4fba62351879e7d058e0cef25575cb0ab9f6d6961a4cb6d9ab0a68a301fa3bbb8d0899f43bae40ec19758591e5e0cfa84dd08f7859ebf54c76e04e74748833313bf15793b5bbc47494f3bf439d7fb5225640f3f3756d9d4452f7fbdd828fe844f757a0cc585ae0a6a5410065c8ce4e0319c356565ebdb1ba0fefe780c70a5135365\n\n# tcId = 82\n# all bytes of ps changed to 0xff\nmsg = 313233343030\nresult = invalid\nsig = 2b3be6997057ae17c749c435dbc68110204e95b3e127a230121e27c95aace90e9f221e2763833024b3bb873368e3e992897d8767eba2479637ee9383796cbc10455da3b52c7fac1d91131e3f7", + "8f5f616b3fd413b310fe8f50ef4f721fc026a6222f0d9113624cf7d481e79e788587ee659e81296eaa438ff13454e36ea50e9f038ed2a7548a8d169635c3e15bc20cd83c8279d16e6b0edcac2e9c72b9048dd7fd1d298e414c3832236d612af3841e426c74f20484ef408b19f22449e701460633fbc5155851e812e886cbfd6218bb27388e20547fb4a48d2e0f9a284f9bc1e9391b28ab7f3f45ff5aeb6af12faae437361877d04e2df1a1057ac3a680e5123ef\n\n# tcId = 83\n# all bytes of ps changed to 0x80\nmsg = 313233343030\nresult = invalid\nsig = 4bb8fd79da58fd3217661938c90772eebde7bfe5d49fa597cf448019a56d710ea126e8b94aacb45bed81df07ed4c89a9889bac0ad2abd506374d5ebed14777673fb1c51a3f844e9619bf707c9866b21721a75458c100d57b9ebf6ca58aaff1d47cb2d0f26074dc15d0900a11d681bcd76b111140500a51cf8c1b5ff4771176f1dc0884d42b36a15690b991c77f9605ee9c4329fead40364f2b6372812319c0ed4a6a15c0716da9426ddbbee79938bbf8dc3b459bad11ce79c0bae6080a06b6c8c1c051fc37e0bf0546c7b55b2cb6d90bbf4961ccd1adc623c9b9b51912d6b78843932ce04323f8a9159d10ac94c2d980e9b48fc143299d4c830050ace61f7238\n\n# tcId = 84\n# ps followed by 0\nmsg = 313233343030\nresult = invalid\nsig = 9aca5b5fe1369dc46eff908e690ba88744db0c86f7da7e644eac314493ba6a7d003dc5400e1c521c373ede410afcaae8a4ea8e14d1e6c2ac3f39c0bf8bfeb688962260f91058ef9c1a0ba39689736d039ff86524a97d8eaaf248601793023ce6569c3cf15dff30f41e384690ab40812cb1e4414a0370fc39f526abab87bb9a405fd44869069f343f28bab50a1e582d4bced25d41f9fdd2e958177a3625bb59c4677f7f749321023fc9b9b724e8172a4a512743a1c78c3c8b1f0556fede02e9f6f2f851fd31e21f0886a35d12a0e04f041251524bd7838d91657026540e133a2ac1ade52f03efb509c30578bfde272f0d9fc2e515e541259dfc249bf1762b17b5\n\n# tcId = 85\n# ps followed by 0xff\nmsg = 313233343030\nresult = invalid\nsig = 9211ea6374362d77f491d9dca7e8e8d2b672bd565dda1566814670d22e3f211b38246529a5f01333ced70323e6cc4de58e9dee11a90f345fc53c1cb0f0c2287230d1cfc83d33c6158a8730853b5163c825ec05084cf0816325e21ba87f1685197c9891ca3b89d8d8bbad395f7f71b91ef937a1d81bf7497356928b77b10fe270500a731d498beb85490c1d3c4145336d2a8ce8430354b3afcbf0c923b0b0e824adb36d7be69a8e951f64a5b1d648dfd9fea49b59c99efcf015c6b3937d8986100f48022346136eb56f9538b115284ead85196385d91dd414ee22a3c7f40f632cbe565c8d0a325404d0d4905282cf7acc6210a6eaa26f3c3961660a944771b342\n\n# tcId = 86\n# shifted salt\nmsg = 313233343030\nresult = invalid\nsig = 39112e1c8251d5ffe1373e70fac946358b00bae6a461a1af561a82d81ec4acdc63eecb3b98f5f070929dec66a758d4a12cec2600208d7597320ba5db412006ebe76ed593d8b1090e93be21b1c00700e393ddb4b7d7a8bbdaab603087abd2b90a0408a775a4469d4f2f6b34d228da55bb4872ef6dde5282f5bbcdd6a8cefc71c4caf00453e6d6c59321b738d3b21a3d8f0da4afde30c16bc5722ac30ad6bb1f9fe0451ad150fb3d67a805993e506a80b2dea3801bbedb8ff7b676f50ca3fa5b9bd744c00822c975e2ab8cc6a917436279a9e85aea62477ef84270f6efe495ed503623108ca39d5c47bafa3505f04995ec9c2a0e411fed9179c9a9e94fcecda5ad\n\n# tcId = 87\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 1baab34d753d4c169107ff7dba46ec1a4203cb1654489d6fc20d206bb21fab483872c44ae8017b7c07aadb8e8489a2b41b89f9331fef63317408105eae19900377ce150ec89a37b26bfb169a89aa1c71a83cba6858d5b47353e82017f19a6688927768bfd0e75bfcd71a5e1948543907d65bc8fc813436a15949fbaf0a7f95ddf010f298df9314203838a60b39c5bcbc7a438500649950bf28e78f94155cc664ad5ff996e51789fb13038e1757dc19b6572f028fdd8be318ab933adced2e87b569544503916030b4060e231b0265372805cb53214c6f21e13c632ce08031ee368bcdf3eacb3b87269e8a8684703a348524020e820de93f1f334b59cddff51a12\n\n# tcId = 88\n# first byte of masked_db changed to 0\nmsg = 313233343030\nresult = invalid\nsig = 7f04560acea95c8b3df67a74fb2b32d904e5c59b43b10b11519e796efa77c0c9b14beaf1ba1308a65fee50e7862289d46a3cfe79f423e7d9201dfc7428bec7f304228508b7e8e5af4dbabbb3958d1f48dae4016cf699421b7a9a0b1dc1c806a7b19cf65fb7d4465a031bd8c24071b397dc1f6987cddc8b69f5f3dde25fa36c2ad6e030c64413bf3eb39176bc003c909e37d28d5a040c15bb4a73c74c39c4d132d09fd565abd7b63d81115ecc8a151786f6ea50882e50db362cced39702ae1ecc176cece9509ff071b87f142547ca3aab04bec1a7d0c6ff35060420b99e285515eec016ec419caf75cf11af56a395187fe6575786998b6b4348561a0dd68878cf\n\n# tcId = 89\n# last byte in em modified\nmsg = 313233343030\nresult = invalid\nsig = 1c029185061385643943dca8adefc5666ca039765d29f8baa20dc3cc43981ebe1e6d1f09a617559955437323e50f6464a69950baf23c7463b1b1c6761b50bba89c81299d4543f76e3e4ca4e30ce710a20707b18dee5d2ac9e0d9330148526f193439cb33238ef9d82424fc1287097e7626bae0130b735a22cb6ef08ba4d840b370c9e8658f83267e52b8d56ae0ada9dc5114920f97884d6bf529bbd7c81b2f9a700e4df4c71a8ce3141f9f4be31c9d639619b20f725f55475b38ce36faee929864a5c7793ec26dd6d1c4b75f111feba3765d0d35a272fc52fdb85f2c0bd1bd22cfb47bd0ba58d00af119759e1f4d5763f15cba4e788fc6f8a221dbdeb32c484a\n\n# tcId = 90\n# last byte in em modified\nmsg = 313233343030\nresult = invalid\nsig = 0594a2a0f3d10857e8e2a89d72df80c8b37977bf2c390087d1df7672fca50d21b7a3b24453b55afee4c6fb2adf83e6b3e6a63db31b685ca956bda1f3074eb53364d9bbb9ad16883b56ceb66cae51712d592e10f851c4431a4f7b3625c774808bf7c694c582f1f20c2f51ca9f781c6172d05201e1e0ad96f7231c2786e039cdafcc4045bb078c2f432d3409dcaf25d8c0549de03d7964606aa0fbda333a0eac26e5f3ba13b1d6dc710c01a17e1a24241bd741d51db4cafbaca518fe32feb0ed5cb916c8c094c41f092cecb7a9cc0818351b5c8b6563bba32fb8e86b4c81f4f57c24a880e91daf31cd1911aa6690c8e45f00dd62986369bfa5824b785c1c56fdbb\n\n# tcId = 91\n# last byte in em modified\nmsg = 313233343030\nresult = invalid\nsig = 10bc1d1d1fdd4a8f74b17f2c8258078ef5c4f5fb973a2505060b126504c9366a4578e2a333b1a9c580239ee959d17017664631982cb8554fae8cedae07eb7e2fb69cb702db93d948d0d0e4654d9eb49192ef87e92f4d229ba56f165a8ad4769d0c707111b9be90c6cc29cb3389a9ae4d5045d8a69234cd5e57fabb76e5d1869d83cd2f3ea8f0419194cc54c398a288aaa35f765ca8e0e264865b709d5a21c9d807c4c0751f9e4e68c9cdc61d93113e5bb811c2e217f31eb14f010aad77abed3e4305e7bdb1066879237849883c3ef099b85c78352b32374dd244e173edc3824924098cfce9d729166ccfccadae8871266927763ae6a5e750f49b837b60682aa9\n\n# tcId = 92\n# signature is 0\nmsg = 313233343030\nresult = invalid\nsig = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 93\n# signature is 1\nmsg = 313233343030\nresult = invalid\nsig = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\n\n# tcId = 94\n# signature is n-1\nmsg = 313233343030\nresult = invalid\nsig = a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d4\n\n# tcId = 95\n# signature is n\nmsg = 313233343030\nresult = invalid\nsig = a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d5\n\n# tcId = 96\n# prepending 0's to signature\nmsg = 313233343030\nresult = invalid\nsig = 00005e91b5dcbf02d6f19621d41a83dc8f15ea83c0edb83765ef029b0acac2e", + "1ec8918b1d2afe1fadf11c48d27594cb9c01fed79d90e5d5a8085c438450111aa7d9fa39c2345b14fc3c2cb34128f86db5eb00bdf8dfe38d61f29a41fe31342e7aaefcb4b122eb5d63c2f5c263c8df8450e9428ffef974d535818d51dc03a7d60c8b2d16c999ae46d73ab40515fe601d9b89b1d09c6d60cd51639a97c1d211e097609ba5e8c319c6fbd21b34a634ec8fb8971c5aae21c70b847a4539cc10dc314ddd8a9629e8a0e51c66c0cb61fd1f7228c01c6769190abe9bac9a3897800050014358594e0fb20dbb458b12aa1346826cc9f7e9c5352b073d62853dafe77c848cb1f\n\n# tcId = 97\n# appending 0's to signature\nmsg = 313233343030\nresult = invalid\nsig = 5e91b5dcbf02d6f19621d41a83dc8f15ea83c0edb83765ef029b0acac2e1ec8918b1d2afe1fadf11c48d27594cb9c01fed79d90e5d5a8085c438450111aa7d9fa39c2345b14fc3c2cb34128f86db5eb00bdf8dfe38d61f29a41fe31342e7aaefcb4b122eb5d63c2f5c263c8df8450e9428ffef974d535818d51dc03a7d60c8b2d16c999ae46d73ab40515fe601d9b89b1d09c6d60cd51639a97c1d211e097609ba5e8c319c6fbd21b34a634ec8fb8971c5aae21c70b847a4539cc10dc314ddd8a9629e8a0e51c66c0cb61fd1f7228c01c6769190abe9bac9a3897800050014358594e0fb20dbb458b12aa1346826cc9f7e9c5352b073d62853dafe77c848cb1f0000\n\n# tcId = 98\n# truncated signature\nmsg = 313233343030\nresult = invalid\nsig = 5e91b5dcbf02d6f19621d41a83dc8f15ea83c0edb83765ef029b0acac2e1ec8918b1d2afe1fadf11c48d27594cb9c01fed79d90e5d5a8085c438450111aa7d9fa39c2345b14fc3c2cb34128f86db5eb00bdf8dfe38d61f29a41fe31342e7aaefcb4b122eb5d63c2f5c263c8df8450e9428ffef974d535818d51dc03a7d60c8b2d16c999ae46d73ab40515fe601d9b89b1d09c6d60cd51639a97c1d211e097609ba5e8c319c6fbd21b34a634ec8fb8971c5aae21c70b847a4539cc10dc314ddd8a9629e8a0e51c66c0cb61fd1f7228c01c6769190abe9bac9a3897800050014358594e0fb20dbb458b12aa1346826cc9f7e9c5352b073d62853dafe77c848\n\n# tcId = 99\n# empty signature\nmsg = 313233343030\nresult = invalid\nsig = \n\n# tcId = 100\n# PKCS #1 v1.5 signature\nmsg = 313233343030\nresult = invalid\nsig = 1758eb94588e6fc4f50c1be1afcaa41027869f304cad513b1fb12c2f446d63cdc05c4830a7e3e630da7b2da4f7867cc173bf6420f9732277282596de41ded32e21d0cc31441174da8765f57419c7764ea758f55bc17646eb100c435d1ac0eed6fc7ba6de5f832094ee2f479979765e05ac9976788db3c241a9e32a0da864f0019a87646ba623d63f4411af5dee1be9ec488c7e3e1b231479de70b9ac5f78a17b1f4120aece45f26c07e7bb345fdfeb05e14bcaacc614672a465fc523624cb19f66f9c6c3f642b832ca44cb25176d679f0e05606c3fed022cac24c2bf960a406d48818e3eb7ed53b0446032469047dfed95fc18088c92d91d93722c47f88163a8\n\n", +}; +static const size_t kLen143 = 61423; + +static const char *kData143[] = { + "# Imported from Wycheproof's rsa_pss_2048_sha256_mgf1_32_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSASSA-PSS\n# Generator version: 0.8r12\n\n[e = 010001]\n[keyAsn = 3082010a0282010100a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d50203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d50203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d5]\n[sLen = 32]\n[sha = SHA-256]\n\n# tcId = 1\nmsg = \nresult = valid\nsig = 4f01e0c12b08625ecac89a69231906edf826380f37c959a96690d046316d68ffce9d5c471694fcebfc6b45534864689256e4fc81c78e583f675d0c94b449647451e81beff01a11a516d5e5ce3f1a910437cb8a3a5096b19fb15f4524a35b23d89cdba12cf5b71aac1047b28c562df7c5542c34ce23a182cf7e0e231934b17294799d44877a1d68ef1b8f073619b7618e6b7c22db20030d98cf591ffc3d4da5f58613ecd5ecfc3b40a1d02f40891ca43695cd4c088b05a8054c89c595a47e274816f35384226f74459ee63e25a1bfc03c360490552ec38343f8ace502f065303b00bc0ec320711b211fde92e57feb9013c3609342495ec0d7cabdec21e54acc38\n\n# tcId = 2\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 0658c68fe0895646056d9bca422a64fe48813b4e14f0c8c4122e56d345b6813dc6286ffde014617e351c7af0a0d2c0f285def79cb734e1e055a25fa6fddc1c07da17b4b235c637413b1849c24311fa72331f4c0458c364a4916de8619b884d7e37288fad12926fc091f4851686a04fd0a504dbce3db370663a6ea6128fea86c2ca94c63e0d34d7f2c845b5d71d9a5e544451f524a451acb85c49bba7864e0a34a48613a819caf3dfd0d510c940f1df21c3373915be1f3509a557fa4d5a4e9f273e85467961133e2482c0907386454228fb0246638616fc31bbb6fa7c2361b8035994eec69a923f4c0bb0ba8696dfe8b1400c2398d7b343fdf498b1116c8de602\n\n# tcId = 3\nmsg = 54657374\nresult = valid\nsig = 401eb03cdb47ca88033e3030f6bdecbac8f5c8fc1dd6a13d23d379ed9a2b309891d13d74fea9d21d159b9e6d8f37efa2489962e24555f56dd434ff1d31ce4f9f5abd3f22cbea8b691d6a11e44efb83e2bca155e6a164325e0fde2a8865afd5c9f51161a9d615f62af7ec2e31b3e5ab649c164490d31d88cfae35b84aea7925690f929a144b6d2f48e8fb894a52deecd1b9a6496990c4ecf1588699a42cacd10c53af350514e4291ea9a058e77f101e32c1c0cefa61d945f7bc931f8bd19e7ba3169358a60e5a8b0123bc3199b9fdcafe8e519c41ba675491a27b85e44ef2d77277c10fe107293c8290186913bc9a99b640d8da041b64f31eab1d35920985f4a5\n\n# tcId = 4\nmsg = 313233343030\nresult = valid\nsig = 68caf07e71ee654ffabf07d342fc4059deb4f7e5970746c423b1e8f668d5332275cc35eb61270aebd27855b1e80d59def47fe8882867fd33c2308c91976baa0b1df952caa78db4828ab81e79949bf145cbdfd1c4987ed036f81e8442081016f20fa4b587574884ca6f6045959ce3501ae7c02b1902ec1d241ef28dee356c0d30d28a950f1fbc683ee7d9aad26b048c13426fe3975d5638afeb5b9c1a99d162d3a5810e8b074d7a2eae2be52b577151f76e1f734b0a956ef4f22be64dc20a81ad1316e4f79dff5fc41fc08a20bc612283a88415d41595bfea66d59de7ac12e230f72244ad9905aef0ead3fa41ed70bf4218863d5f041292f2d14ce0a7271c6d36\n\n# tcId = 5\nmsg = 4d657373616765\nresult = valid\nsig = 599724adc1bae31e84eb6e1399cd90cd67f48b432c63719b600402384aaea9b21ee864cdcf259029180877c847a223912b0647f066a59a65df6c2d3a6675b1450f0b05185cee486bfac56cfded182babcefe60568a6954f026cb2f59002a2f755e9bce49793f280d89822c9bd3a06a7ad2209c3d6cab7c1f74c8bbf4bf374e7ae8a539fccb83a78cff96a4f538adeba0869659d0e9647d98f96cb55d9cb7e58440c4c9d85b8e9dc602e909e29e45f2b82ded44f40e9ceb1292da20063967e3a116f4aeb202863cea523f215b8ec7fc4f6a22cd8652ed661e33803f3fa1be966fa8754cc7b0fa894cee0f045efba14c4f4a1d7cb837cea69e30522526b8a5878f\n\n# tcId = 6\nmsg = 61\nresult = valid\nsig = 4e68a8375e086990bde05fc4bbde2d368f8d96a5bbcf16d9239fcdd45942d764fc2317d90f4f62ec80059490240be8f32dfc32414a427c7e34be25ed0dcaee6927881e797db97a0341fdde459b9cc915d0a348e15dcbfe1b0780472f52a887faffc988a9ceb677e1cf5638e44a9d6f2532417ed0bde5d67f5dc9229ef1f3cfd9cb46c695738fd006cc62d02f5df76996270223060f72505ccfbdf4e88d961e2e7763705480335148ecdd23d1202c26a963860dc769a43e44c72285092ba7f24d81844e612bf03f9c2ddd4e5960622f71672f4e42b8a8f36c6847a05f70400207471c575d6a960fac1de809118efb52903ca37f12d40f6de74decb9a5b8a415d4\n\n# tcId = 7\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\nsig = 8bdd6db90323f3bf26a36a4ab5b92180c96881bd32b66317c4b48c2ba1421f8434000c06adde4264c6ea2d5346468c6d5e97cb13d3cb932e523ac57b59c814fa0397ca6dcc9bec4be1147d77abcd318a6aba1af46ede2f5640da06511a006fd1bd5fb8e04be22789956adc47bbec7988be477150f9b24a07dff51530e8f0c14cfef7d25ca141f512939987b7eb0825633d41a48742bd7f56d4db9733d92ac0f36b4041f51332695f551ec91076da2301120c438eb9ec197cbe318d4571b6b79098d17eded0ca47747a143e34f882ad6e3f490f3a710ff7ec1bffce022027165d96281e593180c67f44aeda9ce6605e6b8e5eac1347695dab211a965bb3d3f928\n\n# tcId = 8\nmsg = 343236343739373234\nresult = valid\nsig = 3a52bec84b5b41e09358a7fe24bb7ae0cb39364374c911e0d3f011f2c4c79667f43eb700fcb33e44533654b3efdb37e627eaf1352d21a187a70a86b79b2c34ae3eef944e3e61d361c3baa446dd465f2ddc0b2ae7bc8beec1761922fb5d7aa6cc4fab9d1a0835f15cd71ccb3fcb57c578a46a7197dab478b7d1ed7c6235dea3b117472c334c3a18fb8a574922f511d7ebf030201dd7457a3860a6af6252ddaf90d07d90aca03f7037223400c066db1d7feb91d84815af2430190a2170ac7eeff898ebd5c4c7e9bed19aa86293aa257a9ad0a5146be80e7ce6081c8906d269d06bf037e34ee18aba113dcfc98eca70abed7249dc9a49f971648e58d7db2282ed6a\n\n# tcId = 9\nmsg = 37313338363834383931\nresult = valid\nsig = 0b47d3bfedac89323cef0d273035674b937f4106355c0baabf6664a57b3064a789592ec5ec4a63997b6f3dd81b0514a78b8824edb2b0ffaf45f8ae6432ce3521bf77e01912df0da5d6fad9f554a3d69b402866526e6914b5c78af847233d3482598143dd6fc65a81df92cfe119f38b0d4f9d1a51a99aa569e42cdec9b42a0598f5f0bbaa1bcd44c19c7614202e0aebaaefff7f3d197635e490bba81927ce491a5810952593f8fd57a80f60bc3c0b2a7b10a0f9dd4930db8172bcb1642f6d03332a7d90ce1edc1f8054b5bd4f4760996bcd565bddd2c6dc8f54fc6da5e6fe80a2248f920216b1bb836d7885a023d92edad5d20b0e47cf5beb2cbb1393c624eb3a\n\n# tcId = 10\nmsg = 3130333539333331363638\nresult = valid\nsig = 20c9d447ee65a4cf7883ab724df0c454814029c8178ddd25eaafab34344d6e06877d5a7121af22c7e5333e2d4f2bdf42450b7b735c335ebdfb461f7b20dbb77c68c449b7826ad14668e2103b636b300a675a9b3b1aca936420cf3fd8deb2ac8aec6528409f6419d8d5ac9ec2757ad4781e9cbda98912f4304710d3a89053ebfa7a84353c86b0c48eea5a541af4644ffa21b766e738f0d94cc796004b625f244f63c41666b2213317f778f0d9d7d09a1003cbe1b2bfef585f1580f941398059a09ec07ae35bb690728ce85c2e192d423a71b513008c29582b37df1f83e40a699c88048aadd81211322b3c9bb449addb037c553551d7835e90d53f1a1883766d5b\n\n# tcId = 11\nmsg = 33393439343031323135\nresult = valid\nsig = 7c5e135d7670a57d8fd7a1c9c7b33a6e07a57d957f7a5d9594200eaa9647a1d460bbebc40e0036a7d7665ebaca9ffe3a166fa1411c704049975a5e46b4d4fa03adbf69d1a18adf59505e6d2cfbb82d5d32b7e3dceb8542e9ed8c7ac248f9f7a84abf3f16e862726a4dd189c61d6979d85ba982db3a5b2903f38d2558cc115d6481952506182a09e04ec257b19235f6c6e2c6587bedb90709298c142fa31742f401f22e2b4b446f9642b598cf43d4d29bd0934f4853ef70ec72b97f6bfb084f45ea439c4dd8242d059bc3c1a851c67d94357f93587014b2860d7f195f7b", + "6bfb39afa712338c684f68501c5fb9a67dbb36544e6bae5f72dcc85815c2d4d70b5baa\n\n# tcId = 12\nmsg = 31333434323933303739\nresult = valid\nsig = 80ff5c8258bc0c74993dbdc0ba644e050cf47213a6a19bc83d5e4b2080adcca763a55918a7e19d85a0da38c5cc4c0b958884fc79578d4c91bc403756c6dc353740df2d0330f32e1ca91136933f2491c6e7e9a01ea7bcc87088d7863e048fe9796d955ec7cf1d166ac36a431e4f858d93d8caebc6ff60a678d38ffc0c88e8ee0ea655d4c1a46345556e4633ffdce68914c75a55f071d4e59a2eb0d6fb6fe4f28b63adfc590a4f5fc72812dacc547fa0c4985620d4019083eef115dbddd673847b79540a4bee6dc4ee8de267057e321c44aae047d7bef2302369cff291f6efa90dde97672ec3cdf4953f27f26ce62e77251fbf5077fa986dab5213f1f94b19e127\n\n# tcId = 13\nmsg = 33373036323131373132\nresult = valid\nsig = 70eddb0b9cdacf82add0c58a154ff2c0ca5cbe2877dbac3e5596de69c686ac2710a78caaf6492af18b42956c450dc4eb1a3e6fd669100d55e06b3428c6285254291fab9c80634c6f9c874db77c2107db37720b43982d9763cf34f79283265dd70f03e444158e82709555db72fd7d13a004290140c80511985fc5ad275a72abfa7ab878cf043e6694340ec6b3cbef5728f2c3c63747ff75906673be53800a7eac17a47debac1c5a9dd36eebba9c23575ffe1ed4ccd2fd3a4b9902f563b17f2bd9638d2348af175e1cb918a0681691a84444751750463325ebef2c40493f049c655077a70bf420b50917906315657178e7cfe607e9c22a23e67fb88590b753411c\n\n# tcId = 14\nmsg = 333433363838373132\nresult = valid\nsig = 0ff6e37a9aa03391e6ec8270b926c123c7e6853e01e4530382ae1e9067c2c447f2d21ea4f6b8cffea5cdead0e7bbf4c26c07418397f7dd85f4bbac0376aa099574dbd3142081428762e0092388142b351483b67fd8abfb5b73f10383d33fc21aeedc6a0e6f8a3d47f11c8b319425f9768cbbf498adee29e7d52611feff8596b1ef21ebd203397d5842cacf570d79cf0b4308a32d0951a7fbf794b84e540cb52bb076972f003ad59a35deb7af887bedfd26cc7b2bf334e242518978ff2e48224f89c7894737bb835bc353f4c0139553d3aa4722d0cb15c5e0aca5f5eb91dc9f4639aa81314038367c2779ba5521b250b5ada48ea3d2bc41a1680900bcf3cf66bb\n\n# tcId = 15\nmsg = 31333531353330333730\nresult = valid\nsig = 22bee45100f26f64d7d994187841d9eed5ae1af0601604b72ea005fae6e28cf0ac2ddd9761046eda1ee55949820c5545a0af3fced402bdd463f43070da8a4dff41531a0ce09b2eaa14bbd3713b79bdf00a144167cd2142df7aa8c5a24be69c4c1a728cd04421183658726c5765b36701f0d61d26d062baec16eb59b1594a185363d8eff993ab9c6d5a5899199169ada44b77eba624c53bd7b745b053c55355da88e6b83e74069d7d7e51964a0ad666ff027ec4792c6f139f1baaee769debc55abdcbfd22fe84d6d6c70a1cd14597e7e3c218b36f35f57d4b4dae3f1c1dee433259e961cf69c3e019438ab60dbdbae050519fc3620ff677d5ce9ed6fc43868e1b\n\n# tcId = 16\nmsg = 36353533323033313236\nresult = valid\nsig = 1b41b1021b3bd5fc186eed5c1d2a69f7e648d75a03b0fbd62104442c55a707812ef635c7269cfcb124f464d6532f28880b26f91b4f3f826207c0b25401ba1eed2b4895737080085ade80f13620c20bce004a157e708f450bc615fd35c1d248ed0f9cbfdc77222d847fa8143e85f3eddcddbb137bc7bdb2ceabadbff8aadee86aaaa217a3533939fef1d6f5f3b5277d7f8ef1ca07194730edee92cc3fc9ade2faa603117e5ab812ad5a375429ebb913fb370eeeff362727c9bf2901cdf34c6d3f03ca5adc849759ec2c8dd64fa24716af610749ce462f189a5c3c947e4cc65d66983ea9efa2927dd4d9054c2e0b969428b18aab616d3f95d24d8a725d2686d10c\n\n# tcId = 17\nmsg = 31353634333436363033\nresult = valid\nsig = 52449f163676b9a8249b63d0340d82305cf36a920f173389f304044503b3f5dbb503b8c09cae20a24cb6253a16d2e63559e0746f05c6ddd8fd657c34c2de6fee62cfd2d4c6c4258b138b7e827326110812b1a04573989b969c769d29c888e1e64546419d17a16ce9abebc2bc00f8822401ee1ecfb9aae39f35792338f607791acd3d7dfd3e6b584dc9382f558990607d26f1f461c5b57879d2b0d1b6f50d8ba23b37015da559c41fad4ba3607b5cb40d18c2131091102a4295555ea37e9ce92cc7dd2f41bb5eb30d02c305116c0f65464e8e9584d1757f4be2aa2814ce6b387cdd7ae78aa0032ad5935d74d4d56659e804342aea3a785d6bfb70c0cb44897903\n\n# tcId = 18\nmsg = 34343239353339313137\nresult = valid\nsig = 33c76df07a9ae7335f5e31b3d14d7412cc79c8761ffc7fb5528ade2e5088d3be3e269962088f356830f6dbb460c73a526057d57648cbc709c14c23d85f85c11ad5c6cc7e3ceb5238be9e8380bd789106cd10e034036873ba7b8ac9470a01cf4048b488782587e2e5d7b4d2116e34b94f9c3d22983115c0fe96b42063b4f6fef5943fbc891a320f09e62f36cb1a6d83752a1c4fa6b62899afff5118af7102e123fe9c7b2a51cf3056670848240be93aaa0385ed093da763c91726debaf1bb9a48df4be342a3cb9c335d2b3ef999da4eab94d15ba37b07d049f885572f47e7dc33b5d481b5ce1a3f8b3a4237befbf04f015a97217dae6b16e7d855b9413d7c2271\n\n# tcId = 19\nmsg = 3130393533323631333531\nresult = valid\nsig = 2daebad5dc34fd919164e3ef95bbad50efca0ef2364b6db55dddc8fd703cd046e12d2d2181002d3e6c79a3671e2c7ce180176c3482baacc90076da7727c9b0c958ac40f547376b44e4f266df35419779a4fd30603c0042fc473d4a37ca3f069a915d2d0ab95b81bee5366c053b99d156cc31b2f3d68b0ea5f98da4848eb8a4dfce8ba1e167cba0ae2584757e5c1e46398d4695dd7a96412e2e1c7e62b3475a6689c5a80cc6b7c4be01a3cce6045a43aab732530898e60f55aff427afb201e85694b61e81ee86e58959a174ea87dd7f244d29c616b85cb426e7473bf568a2649f1efc40592b700499314bc809d4d9668946d60e27af852c02f6c7210dbf96ac82\n\n# tcId = 20\nmsg = 35393837333530303431\nresult = valid\nsig = 5c4799e86c698d3e09d8c806104ca3e7cb604d922d4373d7119324e95befda0669732294666e9009f9c7711b130ce531b1cd16ca5a147490a39f8726b3482cb3f2683a8a14d04ed59012005df79d2500730360dfd40f6d7f90ec71c101a686f02cf38c598efc33a60bd5d9c6d4b2c084258f865b8e77e802dc85fa8c2f59d4530fbd1e2aee005c3d446ff8f59c807f0664e5e62f38eee7be9b2eea3f8f98eb2b44a0848a7076271ca986de8599830a59a1289734774118a967e70f63df1bb82374a1a08fd91222ec77117f2af9706abb91230b06d5022e2a8784919344647a3b2660cb5a689f062ac84c3613278043be9204a4239169fd14fa05c34d8a6a6e64\n\n# tcId = 21\nmsg = 33343633303036383738\nresult = valid\nsig = 32753c1f0fff11b1aae620f21f4b25ee32eb5319413c201a71da0503d32077c911e40fae8a14d944bc57b36b05d85a9b4e2d92f260f6cde67739b6d252e4800c8e5c9499f603eced7f97651e1ee878654c0bb205ba39b59285a695619963f7f36dfdb7a2040552bba7ff13d047d273f0fc1ca3892e7692609d43adc0de6e3191f2ee58f3069531509a94de113fc10c3e5d4c886108394a55dbc2fa4baab0623db347cd0f6e6306af8973f0f166558c31901c9458ef274332c15ed9c4a6ff8df090becb7841ce5cdc40705b799277825f029582eb21890e23712837088826c108341028c96b4c6a0dd7b37defcd82622bde64a2d54e4749b065db7da5a515eff6\n\n# tcId = 22\nmsg = 39383137333230323837\nresult = valid\nsig = a2226016f848d96442f82bbc33bfbf098c4cad85b07915dcbc323baad479bd971f81faa49b063776147c448210d4adef7f06fef44baddc672501e0444fe8a28f871f49f6ec634bf4f49d13e4f73c832c978bd227bc1e85804122157885c8744d31f777168a8cdbe7a4742366cdcf0bce50a0f550cc1729f2089c927990d94f73cc962af25d70a1fc4da6df8457ddb5a4969bfca4d2b1964bae88226ab11047da7b6e7adf8f96dbd772747f29bd9b9361244a04b7558df62d84828f7aad2e562f2306a96973a068b176008b0c7534eebf0ae9f7979a0902212d4e20dcf162ab51cd55944d9bc07692348f8306ca90a80306d404d21724a28efbdd228e2080dc89\n\n# tcId = 23\nmsg = 33323232303431303436\nresult = valid\nsig = 6b9a45ec517bf838a535ed93fb36bb027471b11d20d0bf6b1edaaeefa25bccdf5881f34409a042dadbe4a7b3c41bf24abe66c1f7f37b92b9658f59c55fa88aa1632465ba8245c5f0c98d082fcabb5e9fb834d727a354f8f8a7fcdb8d3230725472a6a4ecb6f3d97540773e53eb45383acbe4bc81168e244fe769b1a7d5220dbcaf831e46c93f6ea7ca2ee30ce9281dd9674fccdc796fd6147be4bd99c53a12eacfd4b9b00972b0539e3d94b85911694ea98f27496b567a29fd3087842ba01402901d1bb1ba6b3c7931f1329ff5644989bdc1f7025059d0d069517fbb682c0be049ec7e38b614af1cf9cc37eab74e20e6bca468f93d3f13749557b70129ef95e5\n\n# tcId = 24\nmsg = 36363636333037313034\nresult = valid\nsig = 01926cbf92190fe7ccd7f858c260036a7a9d554bf636a82d43edd3d2cf0f5f7006c2e0d6dc43c7c427e49940cdc5c397df66841897d3e118cfa86f5188c54409ffc169e8f192c3a84896931d98ae8a9e83075e6dabe4d28a56f0a9282432511ab09a1a0ed420be665521936a1c9834a456997c0e5e2c1fc56ab45927b6042d3571163ba59d994b902aa5ed416ceff4313fb1c67334ed7be715d2e96c045d6c0bfd20f2f5040e09fbb077a01f982384ccd883cfa2fa25d35320746728ae530bb796f5ae6ec2c36aad3344ce69045b793052cf3a569293a2d232eab378853dc4030b91e1f08c31348224b774e8b71a7e23e77403cb26d1f2b1bb800c772860451d\n\n# tcId = 25\nmsg = 31303335393531383938\nresult = valid\nsig = 363ca23ec7d980a83a5f367cba3e9a2225b3a3ecaf6434b5a347e3baa5ce5ea27824fec727ec7b3ba2d41cdc9723f5cff3e75dc7f7b9200baaa2c02b4d8399b1760a1011231e2b26bad9326204c5079ac1c1303ac08fbae42f6a4032407e87915fa3759c43b29ca07a1a3259fbee4274b63a52860c6351246f8c1c84538e5e6f6add7ff6152acca4dedddab146a25bbdf0076e2879ecf93baf9d647b32cf32a9e62718eec599cd7b51510a70fd989a77426049092621c2386a82771b06a4c5b86bc28fdd630e76fe43f21c5d22fa63001da300ef9777c9dc4121158840bd084394d600a6db284b1e771112b56b63364f007cd71666902cac56323c6e5494d50c\n\n# tcId = 26\nmsg = 31383436353937313935\nresult = valid\nsig = 4a2dc205db899d51447b689d", + "3ad601003eafb70a51051ae4e570c5125afae66427056fc2c9f71bc42610ef85ba0f49a2721247d4a77c6dc9f01429c2d9b909fc84dfb049bd351872301a7736195596a1c49ccb1b367544a190d188e4e66749731a760d76aa116fa4a189665a98975b7ec803e2695fef42eae7c7f8e274e4fb1c99ab0eebc76ad6bc8d768d2dfd5969181e78b3ee72fa900c31510f071a1da8b7589e49e254de8850db02b1be841af478045a847f2db9126a4281887e02beb58f1f0bbe67c9c7acfb49b5e4ec4fc76ef30654b5d3ffcfcdf7cc912c5e1f2b20d91bdd6114d25405ab65215c05c4ad2b6fae6662ae5130d17652ce42c0ce86c153\n\n# tcId = 27\nmsg = 33313336303436313839\nresult = valid\nsig = 45a2550893820ad511eabae35039a13457350df7ec21cedc1484530dc37ad332a170af8bb305e4bd6da78cfa4382045ddfbe2499a19d51838b3a553d7a849c49e284093e1f2fe4b269295a75f12dcd0e727a79c1f0e9cd2a89e295a355a52da7ee1dc2547fa43d96abef1a3b5121bca67cf450cd087c9d904cf797834057334f788c96763a4ff0a899068363621d90136eb530c32041ef3ede97a44be137d08c2a7019f31f8e27e156e509227860c723e3aef19685a5e3a10b78df66b38f299d60b2338bc6a943bc1b2f9261977ef4e08d1b6b42de17c4c652099d377a7ab983ff983c3bbbca99f79c8148f2afa9b0f1bee51e322ffc05b051e17d132a6e90c4\n\n# tcId = 28\nmsg = 32363633373834323534\nresult = valid\nsig = 258d169322a9546caa2b68089b481bd38348159fa9ed192d2eb60839029552a420d5b24644c3381a5ffbf2ed46072974918d777f1c53ad51f9ce8a91aff95dbcd817f50ef13ebfc9efb6c36987dfaaa96e37aa89dd7a32348906bcc22f4d0b5104c42181f76974651e3ced20d5412f70467d834cb49b1b7e1532ff417f91dcf653f18c43a6ad9ff4469600890f836c553963bc2379d5bd79ad338035f7f4aa6a27fbd924b5bc8d8b5373de7f4cdac75cbe0b8abd3961db17b819d46ccb4cceddcdb3636309d6754c6d82a61f5d9b9bfabd0c948777264c1138c6fb6064fdd5a797e551c1d0e545d1d32d63e1ebdfcb78275692cb50717910312da9917052cf53\n\n# tcId = 29\nmsg = 31363532313030353234\nresult = valid\nsig = 824d0372c40297e3a0059236a93f60db3d2514defe409bfaa2890f4d04cb21043ba1871b8374fa51f1c4d7392d0e244222b1eccd118009e46bbfd2a84bac9e84ddc5102eb4508f5b9d77450f7aed31cbf5b6a4032bb44fd808bad403e8b78af3756f472563e050526527debc1ec49ecf5d5c10f279d06a5dbb7cca188ba212be9fd36c7eef8b187405da50dfea140c4b604dc313f28941f2c4447143a1420b31cd23663252ec0426c8465ade55cecbb9b9cf4f88e2b4b7c86cc5e2c6a4fb25c55835a2eca1780fbdbb8b354ba512d412e84e73764e055514e10d7ea32ad7e1a3c20dfc53732d85fae40ca951b5fc18f9ab21c9001dae67c6200b9cfc6d142565\n\n# tcId = 30\nmsg = 35373438303831363936\nresult = valid\nsig = 8367893d5ad77be24a739cffdaa7bd414d66442357db9bb339a7ce862b400363d9e7014aa1ced3a8c31d65f247e96ba5649df636fb759df04b7a62da27a64025bbb9719c7ab1d74d63d2ad5a324db8718742e5438b780ae630499bea065e2215df9313fd45a57941e9632ce66fe13a5359900a0ad5de9261aef6a11c3b98be765c94a6d24fb7c88fdec9d6fa52ffe975917d3b3d68794c6fc899b0f6901173fa91345df15f1d08dbaa0ed77e692f9de80d6670a95bce1b014beeba77543baf4092f4b2158a1f27b62cedb0bd3f2cdd381d9a46bae1aa34c2b8c36a65d4e44fa5aab1cd188d4202227d6fd537776980ebe636dd81d3bc0775bab23ccd9623d423\n\n# tcId = 31\nmsg = 36333433393133343638\nresult = valid\nsig = 99f149e9940d2a6eb2e824b48838d56f383e4503cea71e9ececaf2a6e9d616c1e941fc0f8994a0373ca6325f6de2b76be043e4812d361d89cce166e7c0f4ae8e0c2c8aa053ebe4568e0c5434acb6535902dd13901446a38d7905eefa51a22bb5b2a05b242b061643a8b1538c342255438d46824c43c5df1fb84631147b9cc689d7b828f2bd5abfb48bd40a1b0ff6866eadfd9588a0361d9bc6a076b978b9f855a36732207816c8b3c426914c73c9613ca53ef8261fc30dc7a15cf7c858609265946626000a1465d41b076ac9ded93b86e95de58c1a4d2b5cfed5d311b6f24cbf257fb03c47e443cabaf1e766167f524e6fb665e42ee046144f25544d46d34efa\n\n# tcId = 32\nmsg = 31353431313033353938\nresult = valid\nsig = 20d044f045bdddb0bfe994a34b5437e61446f9568f3c7d09137430cfa17e3929ab8b849ec7cd632079a88f994c0f4a0ce23f2976595df198b4f1431205c29b3fa1d37980855446d25327ee669324c3666022c0100cf1bf855c8774f3aa4898dace7a16693c614eac00cb337f05ec2588f670370c3ee40f29e8e900da16d1dd28aaeb098f8f3b918c562f8c2512af238ed4ecb3be4ae39374eb638b021419a3e00890a4eff70876fabd74eea1bd56de05dca208928d434e7342e9179471e958e235a298f35edcf9ad77411f824d5c53b4308cd08b0443b58fc5a868399538e5294dcbd2e94d02c719aa91ac12c3839bea47cec649620b73235f368fd5d977e033\n\n# tcId = 33\nmsg = 3130343738353830313238\nresult = valid\nsig = 4c8d64aeabd2e12c8f2e3d31ac3f4b861723ab8f9a52cb8910b298fa3a735bf91284e9ad92bef3995a1058fdb0f696143d92a99c69c233f60f64873882c1c9ca8e54cd03350804aac319747c5cb8ec6e42f6100474158111b30548519e02ae9ab39507efe50b8b212caa82305d9f2d2c43b2f75c5538b0ffe9423e1044b5fa05bd675e1afbe6d22e73ced8dddb3a00ef37211136838bfcd37655203bf2c830a62f2c707030e2b964443df1ea24ab1271fd06b3d6c1ab78b13374c086edab36267ac065bf5ad799d2f27a6f4bae708be1103841aaf21ff547474634e94c7ffec8b4bdf81cd00cf0f0e6f234cf2d208e2af2e2fec001944e9444b005c8ed919903\n\n# tcId = 34\nmsg = 3130353336323835353638\nresult = valid\nsig = 0e97e294583f528af631e44c02563344657ed47783c119a9d28d6c0f39b6ebea40e1847b9f2fe2708bedf44d2037ef4ba7464c630b8ea5bfe1c66d4b8729b20ffd22fb5721199e884b3b314ed1a6b8abf11c72314dce375aca1d02aab773d88830d1b56e86f45b1862482242d9ff57a1473876c476c33fb8228420f3a6a31f85b77aec3a8d60b383eed4f07dbade1020f5afcc08132d0423319e85f51235b4aa5e16c0b183e0fd653e594c6b17f25d055b410b78c890f29c7966a8096cc248906084176e090af500c9c5d9235a2d35f231bae74deb9b860a541d2bb933ff0a200ccff8ea3642e3350562cf29dc2c1100401a9ae0c0f5e1e6420b219e34416254\n\n# tcId = 35\nmsg = 393533393034313035\nresult = valid\nsig = 80aa94e49ee824191050c8bbaa73b352fea2311893d8b8e00e61a2d14701783d364e15fc09035482747711fa1fa72629460fafdb23474564527447e0c05be2ba895e2dd1853b9e6079afc1464f7c8689b2ad74f8cd2bbbc7690c91bfe2671bf3fdb1a43927c5e73123f4dcddb8dff9f06bf254ca2cda0a039939ceaf2e196f2cb268eea37c515d0082e5e9b4a82719c6f5ddd6e6a779054325c1ac45d6c2599f2c83def50881cd9d3a8508749646c9296ae2429a96f580d7cfc54b2f08726ed3caf7c3e5ab37d32aff309b1f34c1b8d77e2da69b619e3804ae6ce439e796f86340dd0bbbe7ea823857d9e4eb1aeb7604fa16f4b0683f78a8253d00fedb5b6024\n\n# tcId = 36\nmsg = 393738383438303339\nresult = valid\nsig = 1e10e4135796443ff3a815be4c873f9f61675c85137ff4397f600f4f5ff79634aa4ffde2195419fc78ac82eb7be206f91443b12d743457cf7fdbfac6d7f66fabe26fba464d7f984c6a502b19c8d4b634cded91d4289bd84ea7b2fdf2e6229bf47b40feb368692f60277eef9c0228bd315a3237458107c8fbfde830f8c32acc4d172e8eeccfac19e99021cf8122487f93175981bf9b797ff869153b8addaaed1f184a677fd694d88ee0eda3959bb3a0d8f66c361658359eb117eaa91f02c6c0889f69f9a14fad91d2fa443d2bb17f3aaa41928546e163ec2d09ec5cc9758c7cda12fb29692f09abb987a135892f17afac78014624298b1af79a523fc0cbdeb120\n\n# tcId = 37\nmsg = 33363130363732343432\nresult = valid\nsig = 73e39468a5640718bb56f26939ca18406995013cd10a7a72e65d2e6b1df2e841c1a7394135ce0e5da4a830bdfaac5bc5b2d8ddbe6b5098a3d9de96cc639823f7a1b23f769ba18d0d4772c1e989891a4d60a95bcd42160a78931361522da1ce1f10204f57c519a10c2cc9ee3145a0a2ac31c37b3b5e5572aaffda559f05a684402bb5c3b28c6a2ae263214073999508d96a96c30bf02fde3de162d937c4f2b31ffdebc42f9267e621855fd18eb97c0cfa4977c1a3765b4ebce955a9c87130baef1853497407b1922be2f43b6deaf7910d6f8fbfa97d870f16e17a3b9c133be1391e847e103096fee4905f246facbbe8c95f62d15f302cb27e8d4b69ec249af4bd\n\n# tcId = 38\nmsg = 31303534323430373035\nresult = valid\nsig = 40e3504284c59620caf145dd9f2425c39c66bb4e0d7abddd694b810be4a9e2f728d706531019e7e07293066de0dd6c7c68ccf32ff2d91dea74c592c504916148551c99ddd5e4ea0a906500341b1f7f6a03c4901827fabddffaf1f028139db5292554186b867a012520d554bbc42b1d73d52b397a7c310e7d195037f15fb1fe729f577d1847894436b9828eca4fe881945c1a38a40805365dddf6cf7708cba2948a15b756757d6246dad90985222e4baecc7823e4e7e99d568a9da144a5b556220aae30b8a8d916a050a869c70368607dd0092ca9b5a00865d3bc1ee0ec06df53f9828327127f33a97796f6b0b255f1cee34328cfd2ca1ea3e692d0a94e457ecd\n\n# tcId = 39\nmsg = 35313734343438313937\nresult = valid\nsig = 72f7f4bf01a6784face7d31b19c19ba1c75b16eff419f81b39c1c17cd489ecafffdb2dfeb33045cf679a455336bd6869ae61109043687293bf98ef7ad03afe6e71ce4d43319743c07c313b12a728c8a98256bd1fd735152d1d2c83de2b8b57cf9bed4691ade15eabd261377c8e26bab03d0da055086dc4ca5870bdcd9ef3e7e0973be871738a3e389d774d5d04d71ae0a3be03746aa4b7f20afbb3a44d9163cbf4e675e36d01f016087d4e7c68b2e3020f6fad363948804b0494d7b38d2ad4ee1288bfc5166b59ae3db2c2c03971fd42d04e6fecbd36cba6390fdd878b67a2c6565a7826671144712108e37adbe8198a2bb3a371c90d8c6880dbcc948cb4f775\n\n# tcId = 40\nmsg = 31393637353631323531\nresult = valid\nsig = 084cf6628f8f96ad842105198bc30a72bc3ea4aa4bb01176780f384f9f4ef2dc9b591d042c56c898e48d468226a9a361a9c8e0b27986fe6499112d9f425e08c778d01d3b221dc110411006373ff903d78678b5b04319b5f96ad1", + "4d1395defa4a517d5ca7307983a7819192ae7d87828eda55391444cfb737889f479437112b1a45c687a563a07660223d7fa199e0924d6b80ea18de201a6d8e08a80ddd0954032cd3f9ce0d85d0180a08a88d813c6ed289decf3f1c1514adef9a9662334d6e5177d3dcd24a2a170a6555d218aa30638a206b1783edef43aeb6f64192f2fec52e2f82f4dfe23726719e16a3ef873ae37488449634833ef2b74b4766f4ccffeb2a\n\n# tcId = 41\nmsg = 33343437323533333433\nresult = valid\nsig = 4a510dd6edc7eaea7ee9302b007844433b010dca7be4ad12a8165da93fb8ff74ee5b836769608a1e207e208a7d7fb2606c9f0bdcf71391ed5171100ab738e54d0180a629706db39efb88b690783ca9ad25234bcd6ce0920a01f74c9afaf36500434519afb3e8ed2b65a947298101a751ba46cb7ee51c37903d60f6ac8a7f3bc726f394dfd5b53c12d5703fd719aac9589046f9f4064853fde4c92374c1da4fad27a4f603cf23a9ec4ee478677f000ce18feb791b130c037d4347abe36901586728fb3b09262ccd0feb79aa61eb3503283ebdb495316814a74c74f5819b165e2d0efd65d53e4f1e73d76da1847f8f8b955678437b4584bf6d8a8a291684a1a99b\n\n# tcId = 42\nmsg = 333638323634333138\nresult = valid\nsig = 12b06df28dbdb8c6c34610ebca8c6a730558f6669bf160b8083b4a18a4d641c333d770d03c5a6a165db07305c0d0deb6721355d4c5963a0b614bf0ad522ce2f339fec301c61bd3540d0a7bf295cd67a7ab81401e3af1c66e5ac4d77e95c8b5d00bf128dd1f47a847ab78ade22f6ddb158e6da46950c13eeb10921bdf3b5818506d635020810535db03e291c503902f25cd67e2d2f731122d9f18c7118ece369adaace1c74222b47046476d6f48910a7d6b6dc4fa528199d54a47282e59948ea66bdc52b9dfad6d2ad34f19017b2f929ce5684ab59d30e0252b96c762987c35c77eb9af34e568fb7a2c2c7f698cd487af1852e17af1bc2b25feffd31315a6cead\n\n# tcId = 43\nmsg = 33323631313938363038\nresult = valid\nsig = 29c01987266ac014487e26052c19cdd9658966444197025bda28c8d47a67f7017dce389dec619d61c01f7f1758f8d550f9d4aa98d6abfea6aed8143fa4143c853d4af2ba3c5c5df1f1811d3151d35c6bab09ec94aba0198383e326955a1ce54d064c6d734f35bab7b18d3d36d1ff0ace46701c7db004b75cb44ba1bcd2dcd2cc76d1b46cfd91d2b2f5b03296224a8e4e450031a32abef86c1f06a008b56b1c3c499b8eb951ccbcc9404d3cbc68e0b0292c4d141030d6f3db18800c987c34730e689a43f0436ff002233da7e8be5b242abb13238db247b0b39af3064066d3d6b44da065ac9005ea21a1ace2b8ca2729f5de2f579f66f201e91bcc31d5b430e322\n\n# tcId = 44\nmsg = 39363738373831303934\nresult = valid\nsig = 400026440dc38f61c873f0e4eca152d72e4237a685ca69091b71938cad2259fa045af81d9a8e568f71b2f42b9b5fdba86bc3d5d5dd85dfaf2c128200bf786ba209c783d9a9ccdc0cddfcfef579f6c9abc4aa4b4ef41f39136fe1d960047778fe29712bf6b27817069554ac10f2853cbc825882bfad9845ef304c17e2587e124c6979427a3be80965b25b6ed25878758cf3376c7ec7c2bb8ecf2529475ed24ab2e37beac3307fbc2bc0d51b39005da9fe87d848cbc1f8625d47d7dd855acd1b1fc74edf0778fe649892f1e9750110adde7e3606f32551533845a5c45453e9c17d4b812ded1c9ccba702a1d2148c64547f6b53b8cdf854b9fc9ec493c52830d769\n\n# tcId = 45\nmsg = 34393538383233383233\nresult = valid\nsig = 5ea77a298d24682962746d11dc54c138a79ada1c4e1431bd06bad97ac4d0424a500b7532a3540b657f934a7232f988ee659c0243337d7aaad534bf15eaac5735144cffda19e96599f1d1e1e187da6da5fbe2f9ce7c1240a3d2aaa3c639c5eb8edbbe4eaf69ae8df45286f85dac27eed162a87f71dcd4e70a9960e706e6a4e3b5c5afe00d741a97418e89f0f3bc44137f06935c767bb04338a3dec5917351c65251d74af5e5698248eb498dcfdf498aae03ea8cc88593b98b34988417ba697bdfd419001216e57b182781d07d3afd0371e1de64004fafa538c01e6040926bb193c34f3ba820331f8fceefd87e78fa09b07afd0d116993ec549cb3b7f1043ca605\n\n# tcId = 46\nmsg = 383234363337383337\nresult = valid\nsig = 6567fa3a976c472555e45472bb8a6ecfec7e0e80e802d58ba53a255669101d3d362e64cc3460942d61fbe617772d381dd345b73f4bd37673375823801bfc6d1bea2e0e9cce5e607afc3e66c3da25cb29e23359cd93626efcff1e9e79b0a7cedb75badb69e10a0cc09e26b3684ea11e3c43d3af040da87cce5b1e30bdbdcdc7bdfebbe5be5542e18b62935b0c2bf8b3cf2507aaf2bed209bf4e7fab1fcdeed47c9f7e2b0dd2e4b0b8d3b2bad9368f58c6de0ce61eeefb9b3b98dcfe7881e81e67e8e8908a6c71011ff69ce21fcc31398a99804c9ab48f50bcbca80104a8b67a8003880cdcb114c13255d7b1d1dcd7f08aeeaad06637aaa051cb0eaffad2420df4\n\n# tcId = 47\nmsg = 3131303230383333373736\nresult = valid\nsig = 742e9bee462eecfef3e7a05d24c498259e56c5bdb9d0a52aaa24e07d68c9efdcd64dfa5d3d44ce73c197188a9168ec7aada05a3aafb8d3e8c45b2d2094f2b2f9df6125e9f0a5c129f33db1387dfaf7724cfd548f08a94593893558c34d9e66d331bb0719fc73152241f3e305d1a7604328c12e65be342c0f49d0650e4b32bd8db65b8674c3284549d4b6853db320cab0d019287a8afaf2486d749b8bbdd80378455112d5d54265c5e94cc3debaac80a6e3f0ba47e58311bd0f0407ac90b35d66a8aa432f7bc59cf0f6ff134852a33f997a24c737817c90c89b22cf313d30d9b9dade41371f8d6abec63a8e01532b4d4c504fc4e78ababdf325970f4dc617e4d1\n\n# tcId = 48\nmsg = 313333383731363438\nresult = valid\nsig = 2507373f2b7f35f58d9ea31cade482f13a066f4dc89f38a9359f5c6adb8b4119f0a62fad114417431a6408869a2331386dcede6967fce30a06216f1464b2a86f130b4eb64ee63ede489687c82d578c33046f6530b1f27d65d026f9498409fc8458f7aa6032d64f692c163daeae124b2ef879c5360d78985327fb6f20db8cccc32ede8823ed05313e4a3cc7784ea029a42b110d07186338e9adcfee27826d04150e5d81bb02cb1a5d7a0950688f213a955ef2703a3dd4702abcdb6a9ea85a6c764ba627afa354ddd98d2108a05bdc3f6d4740ab24f2dc306c1ed9a55fe724507ad51855fc82b86ee6000eef49918000381f717e12b6a6942feb1313cac525712e\n\n# tcId = 49\nmsg = 333232313434313632\nresult = valid\nsig = 82d4d4acff7bdb073c4f9230b81f910fd919dd1f8795e7a6e8bb3b968bf92fb2d62b592080c3bc6e3bcbc1433a2f3bb4f1548e78ad86ba9e7cd1f11b0317eff4c3e7eac79bfbf15bfd3896b537afdd3f41011ceb716edb7cf63f5db774c3f50655b13e5c587606ebd6004edc169b6802425e20a382e24e54f77cf4b6adf0e8568cf2c8b588bee5ffcfc9017e67aabe73165304e883635182d19f489596f7e9079c26fa97ad9e02ee41717179bc0ca3b380f9e639052ac3608514a235387b593fd6470a3aee56f9b8d73b5707ceb6f6c926ecc4b8ed9cd75b8d9a8931f72251e366415372fa8fbcce42d77c353ca926fb3f12f60543111cbdbdb1842382fad25a\n\n# tcId = 50\nmsg = 3130363836363535353436\nresult = valid\nsig = 7be5861600d3196bd6124161c3272ab36167b4137b0705b648e93cb9cad8a4be37107b2ab449f421fd57a55bc3fe9c6fb6b829dd6d6fcbe88eeca9bb93433764fd0a88113155a67a5fb514fb2101372e6dcfe9341c9538d8673472a0e75c028ccda4aa2e10f793cd0e10162167a98c9bf6880a78651f77774eb20339f3968e9cfab74dac2261ded111c047ccb187e11ddf255d3695e25192863d632257444d5e469fcf0ed88fdc954ee94164d70218ef033cc598ba974d8a53bcbd01de333d4e185faf85b86acff65b29f15d97321ddc21f9afacca674eccce7fce1287ba508cc2a55c534a2c5d678b92b86dd02de641684c7c8b0f14863cfaec3d7eb8430486\n\n# tcId = 51\nmsg = 3632313535323436\nresult = valid\nsig = 602440aba9a9add4716555fda1dbc6a934224c6b762433485e160620fee1607e9079eb265ddbbfaf75fa266b19d752b7721d4ea5203ee2dca840f078dad7517ea2392142e4a9086401bc3ff19ed5b7628390b0175bc982668fc86e2fab33acf17f3ac229d12ab7cdc29ffb98649669ae3e6443d0916b611489c9642d356ca1bfd3aee35d96bf9bc7a9b6734be5f77f96ddf2b9cb366650619c53dc5b5beadc7d5815e7b36b58f3cede2d47ff228cacce2789b8d875edaef9b0919bdccb9cf90a7b5eb4e7b996215c943c017e24d1f2ad8c3bd844668d0deb566d587e378c38d547f8aa473465fadec8624fdff1f980c9506ca12eb999f2b8f18f0f5c9b2bf460\n\n# tcId = 52\nmsg = 37303330383138373734\nresult = valid\nsig = 1bf65b125ccf21ec8894576bb4662a39ea4e34e3bda2ca48718c56719d1ec0d9a0645d06440c2dbe96b1f85fd20206b001279ad273e1a656b554fecab03d588aafa8cbe957a5d58c976f85fffbe155bacf78f7a39788027a1cbde3c01c7957f6bd2b9708ac5d6611a82e43f1363f72ecf4583a32c9c887ff5af1a70b0f0815db3d89f6dba2f06cbcb19cfc49851b0220832809a158ae9a8aa4508880f1169a301e7096ab74dd4477b3f1b6242f8bc6591e61bb46d871efa0b74836fcdecf371c04cf786c9899d8c0cb47acb6790327f6b4edcce4b1ff651fba61c4442ae3e4d9a23601ca8f8aea8c6055c3b1cae8fe4b506771a4b15ec8d2c1d141dced2d908a\n\n# tcId = 53\nmsg = 35393234353233373434\nresult = valid\nsig = 9fb119ffbaeab1f338eb3c8db5aff1e13310172cfb7b9773620a9fb6e8454f029840c88ae4f33f85558a82a9b9bc2b9aa4ce6d49f5343f79011f67f2c2f46ec7b787299b8fb9d0c46a18acce3530c9b88153022964d87dfdbfa74794f5067a39bf3e445cced358bf57bbc45b7a29e550b5fbdc0aa91d1b4db74b11d99e995ba2e1ac76c0fba496fa95016b8c9544105328b14b3a3f1cd45314ab67dd8758df4d4e66a01dc89dc541e9d46feec6d1469846c778d8893d39a337d317f66ed7725196af6e878d53663e05b8c6ea215264d2c897424af9c30aee5021086b6cb6db4bbe27bda99e929469df9192bbdfdba572864b15f468916f25f7bb87d3d02f39c2\n\n# tcId = 54\nmsg = 31343935353836363231\nresult = valid\nsig = 77590c1437b5657d4df385c0c639e0e4eecf14df26e89d673033944c5938bb6b1772b5a9aefdf91c19641c1fdca98836bea1dc8219c01edc9eac96afa2f04587b76e85287f78518cf3fbe1e84ab574a9358c1b0ae3f5a843382faad16d0a7f58a7fd73868e4ac2dfa57f8ba692734a689fc0b4eb270a425a69fd3dfca7fa30e09996684dbe7f959df6025649c1b45b0697315b98fd66e587ed09abd43f0ccf4dff7ad83a8a29a701be77ff87", + "982c3b828b48410b7bc27aa01d659e88aae6f09ddc3b221fad1523f72e0804f34518d213c65b47f235fd626419edd0c93734eaf11a91c0bf8c4c3e7a9c95c8f66f0a690e6d7ef75b6bb3080db75a8ecc3be86853\n\n# tcId = 55\nmsg = 34303035333134343036\nresult = valid\nsig = 8cf02d19d7dc5f00ec2938220bf400befa2044fd4033e874ddee5b9b1f71961bb151e670743e36f167e02a8c49b227930e236e09cec23db417eca18740f78c752e85879c32c1b3e21139ef929e99149fcb0ecf0e334f24242780273e9ef0893df58996bc156779afaae7dea56328875cd85b030c8b4cb4f466a87c449926d9133f452ff7510fdcdfd66f0fca6e9d1a84b2fb9a7d001885f52ed63aee3a22059963df11eb6a67f11030d2841cdb90d3a096739f36ffed1eb538c1b095f8172dfcb1b5a325468f78a9ba11e028e1fca67758ee0f66a7c7002f9d4b31784b93e99e838c44efed881756c5934798b9b934b751d4343626ffc6875676f4373051351d\n\n# tcId = 56\nmsg = 33303936343537353132\nresult = valid\nsig = 0e44384d7e96521340c9f02ae7e320636e685e965780e191f9b6b89df8c1c8f68008c1691b3e706e015911b519f08813bf8fa5377e2ec2ab858237b9dbd458a277e5e42bae0e0ded39f7c8c4f95fef46044217d2e4a64632741c7b84e0063a13be92380a46fd43f6764ceffb5d8a32eb0bf3af7af9a3b4e07ce56262a4ea3ea2f3abd4a5eb71849820031f61335e4fb8269b9c201c8f6ca662d22ae1bc9b5834a291cab864c9aca7e1120ddcc6597efee5fe3ff2bc8f707b6567603b536b8d17d3f0f0bd9ce74a535c2012faf0b6bbba544a376af338f825165ba31bbc5f88fa86ba8bac02f4035eaed4708ce7972563272296097a132968aa37030af8e3c5e7\n\n# tcId = 57\nmsg = 32373834303235363230\nresult = valid\nsig = 905801fa11f3066c89d0976a303f21f97f042dab0102a066763dda907ac822a23f9bb99a93daa2d414df4e7122f74cdeae5970dc132cd0ff141c5698eecf43dc6ed1c93ed6f6abf8b5f056f674e96dc9a69e293510019515decf3c1396cd84f5a8ea6eb6a82a9197dc8af18fd4715ae24f0638edfcd1c12c5fbaf6c7c9b270e918457b3afb0b9a4be1f238410e85bdd7072ed684b1db2d96e0af02b7388624107132c7e120041fdf0ba46a7f0c12e18b8e72dcfa1a293cd399893e053080773a5b9e703e6d6bebbfb81fa23da8145329fdeeeb72d60130bf057839ce758ce6136bc467daa8ee8dc9d7cfdb966a96bbae15a33167c101f3fbddc164cdc0e94e04\n\n# tcId = 58\nmsg = 32363138373837343138\nresult = valid\nsig = 366ab7ae0fc28753f7cc8e7111398b78c8323de7177e51f9b6679a87888873f9e550aaba9fd7dd25f2db2b5224664d5e738afb98cbf7b2e86d2ec9a10e68cfc8228adf866f7cace0c6dbcd381ea62dcf4e239a2b7bbff1b83db5790df09f2b8bdaabf48c38bc5d00914961aeea73c6e703bde78b806dd41047d1799ba8add7160d6abe468aed61f78cab2dc739b95f5ff2b9da3a2cabb0129e1e064af17d37a194133e0498d7f2c8319c01ef20ac6f4b81eaa037c86104bcd03dc3d8e5cdd65af7ce55d6c483520521399aadf7f2c434838067a255e1ee7e35641b1997836f010902ccf3b2b16748ec87bc52db2e658350c110aa50bdc742422270d3a2bd315b\n\n# tcId = 59\nmsg = 31363432363235323632\nresult = valid\nsig = 92832328c12807514ddcd919636b9bd125192ca98883069b2ca8edfbfb0d4225db3a621bd03a7116f9b919b16b2568a897a793d20e9c4328add71ab2a2045c78ab1c3cb769ab957af2a3b572b3bf2c0453bee10bbb9fa7efc60605215989979d7ee5724f73ce85c710aa00f24961e5444f09a83a82eafe3839f8dc3fa5e27a6cb122ad34f80b181142f762a87fdf8e8e77b42b3416502158cc66dc2dce34e29f1c9ebde9d60c7969b72d9e841110e035807e2a6f85cdcdb875b3bf8e3ab1f6d05f4adb3d738e9965c52d81387cd0a702ab85576a50072a994f13c7e691c3eb1fc4c46652a5a3f482ff8fc25888154cc8a1348913d1cd0c19d77c55b6e46e50f9\n\n# tcId = 60\nmsg = 36383234313839343336\nresult = valid\nsig = 3fc17de411c99243a0e5d4afd5131f177bcb4edce034c91ad9dfa87e3c31dedea675574e917954832608dabc72544729fbcf91fdd1f114ca43df0af73e2226b73a1797fde7daa3cea6b086217d656798f9abde4a563e5a8de203480b42af12e636ffaf7c72d2dd791165ce3ce4b1e21e8b749cf8e91b78f561867c892361c1529c2c9ee780b6a79b72b447639ced5b4a04fd3d2d716923bcafd793cd1454710da5c785ecd2c44cac2f79520bcded6d3d27f9d2a7137a68e69c34d15592e963f915e88b8030cb7f275a3be498b25310ab4cfba7bdc0756aadcfd3944a609c40b9531cfed55e7f9f6914d53cc17dbf1d9707fc57ded6bc04f690519cdb2bdcea29\n\n# tcId = 61\nmsg = 343834323435343235\nresult = valid\nsig = 467d466cb8e157b9cf3f51920b18f1db2401f4d2c397ec58bd3c6ddb1d5e9d9414583534060773a13382f93f0d8852fed208e4ff560ecc2030772955022aa594767262dd02f1a89ac48bf4f7a2c34e8c764e32b39b9f9d1d857164fdacea8a93e3456f4dfd9658080e3e45c0f17bb599c456e2cf5946140d467755eeabeafeef440c72272af08a4a4a1391d96d750211361e5fb78e9439c3e3b39e01ac66e40d84727908db4dd7ca742c1454762b2022dca5e1bb1ca5d051589988336bd5334f72d12fe9ee85a9c77ad4e09e4183928661e72cff1c0b480215b9afaef2601399a47fe6286acc710850b7c22d276e901219028a296edf83bfd5ef21598e5fb55a\n\n# tcId = 62\n# first byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 67d1d1c0a398148625317c3f5e44b738bdf461c27a59594b39ebb2aebef233c7809379e54411411b82d2e7ac88f989b58373d532c758baea121878ce9759441738d121881c1fa2d04421f02dd565b12770d844611ed1873a0b64d822709a6b78d6d3892b294404bce6711001d6c3a54546c76a1d17819674b0be904497a233b466fe4becc832dee740f9ab79e5b9f5db0b0f9aac0084ba05cebf42303b5ca2ad95e3d61b29ed6475545c02e93e7b0e118af92f5cddb1faeb2cbc23c9e69c120e29df7fe31991e887b3b29e77688c60e80be65cccf3d7861a7a14c39e6a6e5645568e2cc5e4a17b75db1dd415aadb45e112a9b582b2ff6e82a43d7a7347b7b56d\n\n# tcId = 63\n# first byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 842348f2b2cdd4c72cda7dbec0fb8b114e419cbfc1ee1b7ce5d70ec56a833c4ebc8c114dc3c92164b13f4692f236d6b88e5618b23af9fa979fe9b5d8eb228b1efd0da8e47b4c4042965c8b9f08eb9f6fdf7e472c88f532d4d851623b4bf99e021e82ef313c7d93179af810b70aaf929a395ece713d5fec3339e394210b56f1edf26dedfb04083bd24eb0d3ca117761f38319c3b97a9453993dafd3d2dd8c01cd63117f8fda46f52565e4d7de9f718f1f23254c4f9ee77ad1414af4d4dcf959a89bef438329516cc9b79149db058d206e6d7c0133e7c870335f0490b8c569d787443c4a84ff665dbc6f4353dec66f9c488a3f91071ce19553a7c156025f1f81b2\n\n# tcId = 64\n# last byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 77c9dd7786f0b5cbe76f20abf24361f8979d3a6c6c122e798eda906b0b9700cd2dd26e5286ddd39d07b7c24379cb40f8350354a36b0759bfade61d3d770702b58218c5dc64ddd0d5fce405a16fbc4de3a5fbe7737032605c06ac82e174619c3004d24bbf22bd1ab3e4d432b4ae36c23573cbad845c16a1842e5de1a3bfa2f12d3496a3114fda830dd6061cf538a4571fe088cc03dd7e8762fb08b84501843f5f0362a4fb097d6fe9b96970c0c505d2f6a59754c42684908627fa8c734ecd587c161de7b7bdd69924c0b4d06cb7db2a70dd9257876d1da1ed8cc00fa68279525c346b7256c916ccf1df9386ff9d1eb27f0a5d83a00a2738fa2dbfaa500baea789\n\n# tcId = 65\n# last byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 455221c385f769fedd123afa37a42b7477d6c3ed968ce44d4982c41ad29a3f59baeb2b566dbacc91b423fbaec371f3809c20cad6afcc2b8df782e472c954cdeffca49553f6eca58781894c67fed1d9326a53422f9642031b69ff45e6a826d18e4241b5214231f7d252d4c640386a17c2a1839ba9c5a34e94b2b8f30fb259fa752339f134e54375a9a4f3a5dbd5f3fb93c38b59fc33a77dbdea9b8fab7c209e6f403d188958b5fa5481bd225b266bee6761132104890c8c25f04583084eb01c266ccbca401617120c61a388cc683fdd5d195c8dcd48f4d1a9be80c07727f78a10cd26359c8dd1d87614f8acac1506c5bba79b30c0af745c872433f17e8a52a94e\n\n# tcId = 66\n# all bits in m_hash flipped\nmsg = 313233343030\nresult = invalid\nsig = 5d1f5b3ada8d4507a7447829f26764b9f794ccb4c287870b5c5aac649f9272fbbe22f064cb75e5b3813bf874c6977dc286ef1deddeee1a84a9302fbbc9c8f86ec45eed5469bb85eed8618efdaf29ea4bc0a9cd0c0be71e82bdab6f15a9f7a637f297e0b5ad4c7885bd27b89f4a52452f0176df3d266f9c13fc44d3fcc3e71e3cc5ede3fe2555ff2bf2b72a2198af709e29c2f6f5ce44997c02ea7aebc9a33d0c609ff0f586e753e585ee5052a0bf2f71247cf43ac244818c84347662338384d6c1a4c9b9ebc14f912db688e658d453bb2082c8def4c440a6b25e03ea4459c1c9bd5495e2ce9343439cbbf03affca63856cc50936d49cf2dcfc73679c9aa32e56\n\n# tcId = 67\n# s_len changed to 0\nmsg = 313233343030\nresult = invalid\nsig = 5e91b5dcbf02d6f19621d41a83dc8f15ea83c0edb83765ef029b0acac2e1ec8918b1d2afe1fadf11c48d27594cb9c01fed79d90e5d5a8085c438450111aa7d9fa39c2345b14fc3c2cb34128f86db5eb00bdf8dfe38d61f29a41fe31342e7aaefcb4b122eb5d63c2f5c263c8df8450e9428ffef974d535818d51dc03a7d60c8b2d16c999ae46d73ab40515fe601d9b89b1d09c6d60cd51639a97c1d211e097609ba5e8c319c6fbd21b34a634ec8fb8971c5aae21c70b847a4539cc10dc314ddd8a9629e8a0e51c66c0cb61fd1f7228c01c6769190abe9bac9a3897800050014358594e0fb20dbb458b12aa1346826cc9f7e9c5352b073d62853dafe77c848cb1f\n\n# tcId = 68\n# s_len changed to 20\nmsg = 313233343030\nresult = invalid\nsig = 57e8cc1dc00c07383d89a79b5c8e4f5bde2a2ba55a3c7201b3291c4d805b1b2eb36f8f326b542342da180abe508669bb6cc2dd54e327bc70c1e317ba93a0fd21e7fce22a0c597c7420d1d5602ac43d9348ba3eba561f250e301ab955b0dc33e4abde32946b9b3e86c8bf07a44646ca595960bb988fef04b2824967e9da8b0264f1da0659373935313a574b5380f0b54ce1bc0dde423bd3a54f6ae5fafa772a55c1c44eb6edffecf13e6e5e1eda", + "f87a79e338577304141fbc44f0e9eeb286f553f879addd6e12e436fa3af51ad53a72f2679f0ed102d504ee08706fe111eaee49d880d1a0b91924b3b79968ed0f9bff446dac199ee89b158c074927d27b864498\n\n# tcId = 69\n# salt is all 0\nmsg = 313233343030\nresult = valid\nsig = 1591ae743c58ceb723a76f502e21ff6a65c24cabf5f527bab5a6f2a69f20c776fd2251e43ad22e09b1486ceb1935b2dc2ade95e233f296cc0e5a8af8109659be76b6bfdf37e14837fd6c34bfed1f19ec9d21f974b984fe4d4773896ebcc7fb862fd641cd0d77178485c70c2d68b4d9be1d863f6f254b77991fc9053f5d5415d1aa74ba9067e2e6607fb651638c9cc0430a40c9b691977b557a31d95a290a95b56ef2ec8e4313686a9c5ef48235912b210fdd2c50aafac28131104c795c42ae75810b0284b2d257e81ecac4240622ebc261ab8bceeeebe80f1cfa70f18d782aebb97d803ea3a895be541be6941df103eaaabd870848bfaf58cdaf6cecdd5a10bf\n\n# tcId = 70\n# salt is all 1\nmsg = 313233343030\nresult = valid\nsig = 6f2f650ac10d5aa2c16703f657233da8c035da67a6e9e950dfd0391399da3a86ca7837dd7cf23e864d9cfca1fe77dae45a01ba21d23dd918ca7bba094aae376100198f59834396ec942fcffdd7d6a44953f69bc60291b1eed5921a0434d8b8953beb9d1e1b15fdca7090fa5c646847c0b759e94f056911ad188d4b0cc399c8c345757d5022f1a38926de0cbda8648a7affd9f031262b1079a3681d58249186fec4f6e98bf151c9b680a46b88dada9b42cca365cf908ed0501cd21e02a5bc4c0675f23ece50987b703499eeb94b6c40b5cdf22299776fe30800f887a1dfff18cd8a7da8c2388060dcb78c925c54b4e620cd3fe7546accfb3bbae9de08ba886009\n\n# tcId = 71\n# byte 0 in zero padding modified\nmsg = 313233343030\nresult = invalid\nsig = 37487b948dac95a1e57bf1ac40888b8e074cf9db9c9825e7b7267d3b105a8c67cb9b33c0e5fd641836798f41b8b1f024b13243da4fa5e527098337e5cac41e0523a28fb135ae060e7c1e4eb9556222bc43bf1659f65a2a2db108ac9b7c9942a5658fcbca5622c115e34ead883ea4ef03f7f62990f282fa791b04489053771329a482467cba8a13ad98f27ff7b61c24a452e085d432130b7259e59b2866e55320119b21e3c706f3596ec174517c43cdbe957e012b573961b1fa925373945ab3209a1007d197e1e9301dd0afa485acf6643ba0587a69f7c44bdf1e53c32f05a3b96db0c462509c292d7de09a6c78ebf1131453d37ab037176011296730f57cda97\n\n# tcId = 72\n# byte 7 in zero padding modified\nmsg = 313233343030\nresult = invalid\nsig = 241a3a7569210a47b83125fb67039a68d9859b971a49af62bfd4bde01e3b955ab166bba5165657fbfa519573027ef1a0f40cf7533f941d64e09fcfcc35cdd564c1ee0823166dfc054ed93e01c5831c036920335d8b8daa32220dd5c0b6a071f08d19411c6418aaa9883375587b19f0720e79f184535d7ed8c5360e667ade541c1ddbf9c0629255d8d286eae8defd34f000a3be1fa7fea65a4cd4f64b11c641806fa57d67b4c6b7b49892f38dc5d13abdabfaa6cb91ed6022d4fb467cdb6046b13fcc8142a97bc34eddd045796f4e19b1885d04c51f53e5bc0c272678990aea50a124274cdf048ecdb7074ca86f36841a7ade80a8aec6a653a0292c82a1b5c678\n\n# tcId = 73\n# all bytes in zero padding modified\nmsg = 313233343030\nresult = invalid\nsig = 484d71be451d1f3667e01f3e7f1a80db9764f751ca87ffc6352953a773f6519e8a0f210d6d43b417670d9c0ce3c11a668cc83394a5e2d7bcd4ae98e50ed26c0ab66b41ad2e28fa703f2da04db0963875842d90a77899642dc297cf37a76fdb007a990c5b7af83e264be9323149fb680acb69a19e0c5aa949c2094e0a18abfa1b199b73363654638d86f9abe73a678ff0a41f6b702b70ea1aedb287add79b9a7f4a97535d0db46c05983072481dbe43fe6dfe33229ca1aec42e19afeb5bd35f1e44264c1fc6c18fddc95fadf1b1676f185e5b55f9a2bfe6b6d40289f240633513828a7b967748bbf0ccd1d3fb9f6240f31790a789d8c709c278ddbb0f706778b5\n\n# tcId = 74\n# first byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 3f27e0fafc57629ccc0432827187766a30537e821a2fcd5f1088100d4d8b6a6a9ce950f51102e3b55167d4b49e0b6a306e0fdf90837d0630859093e90a94fa564b7a4a82f4ccb772377e07a2b5a6873d98bf665c92df1ce7cbdb583cda83947b3c9c3df5b3807b470f23f8d08df9fba78e13d6b635f9f59d2d4baa34831dc6c3e5a29695645b1ed50f3a3389e9e119de765e6d7daaff0b454eadd10f445e402bf3cf4d14f4d16c2d9e4fb5571cea7929d53019d414d118e82d491bf3fb3bd7427abd6eb48a0ed277221c42840eaa1fd5e7ce658f7763099c1d59431e498cb58357a659aea8e181ec0fb5ad8a55d1c0f129500a25b85cbcc8733fa3dfa9ea30a4\n\n# tcId = 75\n# first byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 006e3f343b22fbf5cce816efbfe06636c1619632665591f9b1fd2bd0aaac9a0f776c501d7a232fd2edcc12ac63b3b56aa12ae87982c1997e5ac5fd50f6a5c350e6e84fc17d2149547babc4830f8c2eef1885e4bfb15c9b73322b693ea74eabf43e5050c477c0e75ecf75cfe487f41f4a2df4972a16e0580d57946d504fb073f23ea691086e5bc40e2b2e1dd653f2ab201ad609fd06983a5cebb98678c039150563f6c944bd6558b422de25b9720887d97ef63b34cdee0139391c48558941ba94bdc0c22e605dd9cae669406c3ddb361787ec6437c87a688b0c64f0290b1bc0ce17466592a48b83b27f0442bdb15ef753ad56eaabeb08bb3b7ace7f9620fea113\n\n# tcId = 76\n# last byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 838d0ad34f2393aec53682ed48f937a458a32216a74dcc4a1e591a538119c3b56cad78b1c4b722948373c51c04a50e46fb5f3034f43c5d260364617e6f03af7d75d66baf3dfa1ca94e75e77d304c63ea5015cdd7fb1e1cdfbd6b5ebef2b2addf697f14c97cf9b5cbb1bab7f612b3a428d32cefbb788bdb70729e53d5b8cd14f586aa2b9410bbae2d093bd11f491469479eb640847514d72269cddab484d882aaa9761839aca9851b3d409211de83df742674d6305cc3a71143fa5077bce9d3c8da1f6da0df5c271f048ba589e5c34a23ef12747299d9dc4299589364f2137ace59781e3f01011ae145a5e1af20c74516e0b56d729e49b3de310c197e7a760efa\n\n# tcId = 77\n# last byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 6b19a03c774e1c3c24ea889b552e99fe0068a6cda022d5ccb6d75a447cfa0b16b5b144208dd407e440230ffaad4f12a0746da108dab5d4f162bdc9b24dc68a2e9e077ef5702472c4ceaa89c29cac41b4782b92f6c87e014df2483580cadf2b455f823fe12c9c79a155ea32a9f1ed120fe0f13b10ab4792fd94b99e0aa6ffd27c04ef7088e3cb935436529650894fee6b5b78e0bb5aa59ee7bbb2fb46af784e2c33eb76a12cdd7d0087a081d82d3e466a381dd37d25d3b4a92756723cb1f1f49d0481d12baa21ff77c0291f902682226d99d77d36bfe58d1825988c97d9d00e15ab48c9919583fd60593fa93ab1ca8e7dabaa912f6535bbb05e82bbfaa8537b0e\n\n# tcId = 78\n# all bytes of h replaced by 0\nmsg = 313233343030\nresult = invalid\nsig = 682673d7c98ae70039e9f259275c884da7c77136e06d47e8af72f82a09614a08ed125c6d3a80f701a61dc2ad967e9637662bf40b48543e5b620daf37e3088d2a54a8c5147ef99227cd5cfd0a478d1fd1ec62c495cb89046df756908621099913aa4142c3dba2a62de6a8899f0acc7932e33581d4102020423a99876777c59292d597428f50b846a39d709d38c3a842f9a9531f26dc2a11f518950eee92560fb6b6667a113237a3e6d7bdae48bafc90a76a6839b97e6301e546f5b136ff23d662593f74920dccb56d47fea557adca4b36820469425cdd4071ade7c5c14f365ba4e0da97cdd62cec66fdc724d3f309b6297c1c84091a74d656b4b030787df593b0\n\n# tcId = 79\n# all bits of h replaced by 1s\nmsg = 313233343030\nresult = invalid\nsig = 1452cef4f4e0d46ca8caf3a628074f7ed0acafd0a16c4c4c423cd361cd61319d5e912b162bb2b7326e56e20d5f9814d6339e0cc44da9ba1be28e473880b6276a86b8cdfd91d2f5fa830024b842834bcf2d425c48b5a58464b7a3111f55ade2d3b9cdb958392efd559f6b6136cd158e157faa4b7ee86a3457dcdbd877b82d53c23d6e71488e554574b78f0be72da8d4160aee680ce485f9fa544562a12a89328560a773ff25138decf4200e2558e3b5a364a4372cd1f64fb25887b8c2b3938aca10d8727535d0eb0b73af2b7ad70656f97c5c1a97d3e2c2d1cd2732c5fe8fdc5ba6f554bd5190a54742313a6175db2a77d36d24934dc056d66cc6bd83abac61e0\n\n# tcId = 80\n# all bits in hash h flipped\nmsg = 313233343030\nresult = invalid\nsig = 2f5ab041e87b74c0ffa6f5b0a4c5ec8d0ee3d2357a0fd2face275dbc6b50a230f2108b4b37fa45d5bb1211fb26b96d315cec9391d198ad7713faf3c4fb60806cbe6378c7a08c2e75a67848ca98c80a02680650eda98ff0c818f1e7af9ff3a3236150699a4c900c394c2a00ea65b39fea873504898c6fced5e4520bf3d69a11debd3e66ad681b7d03bbca940fbc809f03f99079d0f24f31cdc76afab73ec0b4f5baff4437b0a304a8893cf593bcf47b2f63a401f1b456f1741b3b3641e3154e6f4bc035723fc3532ee22d4f65a3963c1b278c1a9a8ce7e04876e8c327a70463e3785b9a5aa5b4a50cb4e35d92085172a61cc5407af2752a59d06b58a242926328\n\n# tcId = 81\n# hash of salt missing\nmsg = 313233343030\nresult = invalid\nsig = 83d3f4b18d2653189572e75e9b4464292ca649591a82b1569ce13838c245da67371b1ea78e4215eba8de713411ff060a980405f0bad99546989153017a380f9c7b566500fdd5a15830eb0c5f4723e341391268933a41311e9832b340efbc2cffb4baa9c5dd47783eac81a41e3d6336572d38b034dfe5ef4b94e5c3f903cf3e8e0a3c2c59cfd13f99f696b0fbfe71368cda5a1d28bad1af3c8976e3f6c1bac08707d2684f6d55c2ed4b433c9efde91b206e0842e534be7e88fa219763b960d9d5a43a479990aa9732661693b9e4da89a7bb5dda878ae43f5e1a11944f7a5c6efad600ddd13a148c1fc8fd2574b9667342c73f2a8b96511a5f75cb1ce486b9df81\n\n# tcId = 82\n# first byte of ps modified\nmsg = 313233343030\nresult = invalid\nsig = 31ce7ca597f76ab95d47563f728ff93bf43d9864e5bd1229b824ae26b5a13c79f6f7957217b37e1af0537fea81616187ff08a0d5c98a92da8dba61bc5c14da3321fd1146d83c2cbd0ec0687d81f6d7349f5a0cab0840e22cbfa83f02a", + "79d321ff88830d47d4842c0b032c27a181ac06a42cd0bfedaf75f2daa53f64eacb5986545bcf150b8d433e66b698f2553f9da259bec319d8c0cec05d9c320e7300463d41eb077028c1e0a7d6d87d4dddf54c5b78d6a15e4527e37110b9b9ad2f3b2dd0db591227d41cc9f26f2349581dd89e0ba639d0cf9f8c86fe819dbadc688522b58d7284caabf843e7143395255e9a0d710ffbef6ad13f6a9361e20d2f6f5a414f5\n\n# tcId = 83\n# last byte of ps modified\nmsg = 313233343030\nresult = invalid\nsig = 5798785187910703680cb2109f492c3f0a91b4a8f11d3da775aba891eedec3d76fd30a939f5d7a2baf7290c573e886cec8ecec0b1598f2cd169d53b4abf8accc09709187f32a12c80fdb42ed98d9e98b0923828f0e38acc338234f7b7a0ee377644a655f48816ea4a5bff0f6d63c3945dc3aaf921e9404864594bc323c1f3ef42f9361ed6cb8fcff2994293e17865e2fad2d885277251fa24d7e7aacebc48d61c3b48047dd7c99826b3105d2f820cd62404cad5d758da461af67677e39e55086d8fa52ea0334bc3b77f95191ffacd28ead07a34e4672577c4c65b5bb9d5f9cab6e1f1242216291b69a0c98714452f01f37722ff26589734cf6020c5ac9196374\n\n# tcId = 84\n# all bytes of ps changed to 0xff\nmsg = 313233343030\nresult = invalid\nsig = 3747c7c116cf30567e24fd4213c126ec84366a26eb304a65d144dd9b453054df4e5036c861b5807137934b1cef351411e40654bae5df6fbe3c42d763407f273d3dbe059fc6412a366775603e064b1561a58e70860edf954dbe666f8fe44f44f87df3b0e3f3e19c904966ada52f00806f975f256d4a855cee973e20f33c31f9f2b3792fcf326f075f86f275d8ef8df2dd0abac83d491d485fc167cd40f3802f66036df4fd64fc441ac8a25b405d5ef960127623c269ca836671a66a6bf2f39c0792dade17564d31863c7e0161ee0bb88522ac0c9054bebcedb603a2d18ddb0f64a91ca5a2f0086afd0d8c07cb0c1e7f24d12f866cdcde46d663c1d4dc7f7c6f62\n\n# tcId = 85\n# all bytes of ps changed to 0x80\nmsg = 313233343030\nresult = invalid\nsig = 1377d4997c03d885e4b95f0350b1c8091a4d9beef9533dc6abd194a1439c383622b9dca5a49da247cd55c02186829f695ebb007ef0535c4757baad057d7bf76dcfe37cb9181b0c290db16d0abc51ff32d03b6a8e56ecd270dac231c81e50c7e0203d22b991291fec650b9904b2539a8a330172843bcff0cf46f06e32f55bec1f5a734e70ec8e4e8883e3c22eab7561d9c76737025352b5c9fa9c76eaacb909d23d0d7d7b6f1094ccec8ba94f149f81946faedb39ac557cc28817c9114a89a6f720d849f90cb23ad202ed4682036b3cb70b6fd5df0225900eaec7a21e39fd433d3200aed4bb4abc3b531393fa462fbc920c918f1938d33ca86e7ca3bbf1d34d74\n\n# tcId = 86\n# ps followed by 0\nmsg = 313233343030\nresult = invalid\nsig = 7d0f3cebb4372569e8f02df9f42222151cc31659df8d5078e9ee8e91030735d27e66da8c87039a27ac28588e8431d7ad1583534e8570318cbb2554c07016bfb02fe59af00576b7908286f4b27e36f768a118c3f3a1ceaeffee03a1b67270c3e489cce5c5f1171e0a8734553403047faff680dbcd70bf0fc1f0f4461bd4e68c6c0978da3490a137ddd8f62bd79c6a1daf70f7a9a3e90056ccd41c62f04915bf128f74dabcc47cba85b0fae47a04da32e17799ca150814d27793816e6a198390c35d1f35abf6816761a5ff0c28b1e60eeed244b1f24934174a1d2c469475f3eb8842eb9f5c6224386994aff9579f26ea7d73c668a113ef7dee8b2bda576135d452\n\n# tcId = 87\n# ps followed by 0xff\nmsg = 313233343030\nresult = invalid\nsig = 53f2db262358c21792eca635806ea1c1ad041d9334e977a25c1de0fc8233ec6f01737adcf1fb4dbedbd0078406ecad921e37c77d4585b5eb5ecc74c07ada1864a3c13acaba9372f852aef55ff2dc42c0aaef74bb656b8e0beccb7b9eae587fdf3b52eb678af1032e60ad12321c9c10c445448df523856ad262208a06b8817ee229df825f080a72d5e1a43f222215824a8ea6d455c80b2563c65be1eaa0455714ae576ae67e46d006934cf0c137b8c9900af9ed716391ce96ec43296e83a5a10390ed91f2e6753ed0254f0290ad899462b3b7af42c3c5f0893863a3b5e6052d3a6dee554746960a07fb6ecdf781e47b96023ba01cfde4c7214611a1be5735e2fd\n\n# tcId = 88\n# shifted salt\nmsg = 313233343030\nresult = invalid\nsig = 11e8938238a20f0e6947015987380dfd88a1661606bd05bbe4298f4746e81e3bbf34aeceba5360f1839ee0d7d7fe3e578cacc2d24b15eefe2064edb1fd04ff9a44c0a600ebf00f64fbb1ead4246e5ffbad0c22441ed073462f26e30b61a0a9142b4f993d1b26fa32e11382da33b9eb5855cef6736bec2f4f5bc6bf82fdf7da62346a4d9696c53e1cfa789667b721f32f7779daf7df85474096a9e9a7291afc76df3a66c7a0b997b41bfb71fedbdb4e65095efe1a81d35b66be55432e0a6e33905475b46a94e05bce7fee84645f500d8ebd7c0282c35f22774e7089262210f83ed485cd2b045acd5d62b4bb53dcbeb2588dc6535518189cb0220a7c9406e454d6\n\n# tcId = 89\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 39a8e947c919ecfad7ee28bb708c1f9e825036374ea0f610bf5531d89b813d506fd00bdc15850b250ac50fc556a676c894fb641dc650999eb6239b91e2c755126bbb9fef5783a5ab834e0ad91c60e720e80e096c091167a2a1dae838a16fe0ebaa8efb3573c89ac5d8e0584b5ec4e2168ef097f937ef0f0d2a2f964a8e6a810dd15b9c27b234d788af3c4f54dc97035657ff19f2835555dbafd02c4ed3c76654fa868babb71534bfe84674eeddbfc2b27a517f666bd03a27d8173bb92826a231cd9a241c171445b416934ebec5f7eea4fb41a61937d9a98f61b2fd1ca8e2be125e85cc8d16d553b114ab72395e86fea52f54edd853e9c5156557e38f621b975a\n\n# tcId = 90\n# bit 7 of masked_db not cleared\nmsg = 313233343030\nresult = invalid\nsig = 9c13d877ac2bd8c02c11e29ffcc0c1046dbc9870177e843c30b499c2bf7fd09daa43469caf2b8c3e955ded95e4d62209f7571bb45593f4cd8b0c7bc9470a8a693837248b5a7854dc8e37e752d949479272642994182061d7af80b0ac6f6e984874c8cdc6a5d7d17dc9e9de5ad12120cdb9f6c0d09c0e11b87b3423e37ba9437a4f76cc1e6124579e5f79832b89710de1968ce46e3e69fa185c0a924e8cb5f996ee5963f6826dd37714de264d75545e8509caf8735330cde7ed4228e5779471827b83757c466022117c45d598f5a4a7fed7be4e1b4d320f894879061a75d1a41efd8dcaf3c61733ed8ca2cc2f83714f8fdbc7a97cd6d6b97ea3d36ebd69890633\n\n# tcId = 91\n# first byte of masked_db changed to 0\nmsg = 313233343030\nresult = invalid\nsig = 00566c95524ad0995eda7d668fa08e8f75bea868b60972d6488cbe8939bbde68fa5206e671f35555f628fa707ce7ba0f468cfa8b9737e0ef64e0e23c901e4965ccaaeefa9b84363a3037cf5f9e044e295fe57f32c1125ca70c639b22732aa4c4b3e5562690bc1d7e7e74dd01c674212dcb63c58fa23333d45e1e4ccffa5d186443cc785c5ece3f2d7a8995e25de6a171cbc960c272c2899f6f87ceadb72eea1be085245669ac08993591e72bb9aff8bc29388b35c99f1ba7477af9d16754894a50d4caea4bc80e2aef2ced27f4a1c88be284bbb40cb8ae279b4e38a4cd8a51a92a279a799b3316c2938e1386043ae7ab1d8605cd310d7239c805a07a19c7b17d\n\n# tcId = 92\n# last byte in em modified\nmsg = 313233343030\nresult = invalid\nsig = 2b46a0aab5f573e32ffbcb411cd99d2f90aa9b1abbc600b0cda0d824f79020aab47a2494caea20fc93017e77b99eb73a1f8a550b611e2747ad29207772629c2ec40918c07adef1c90c99a15cddb9eac88955b4093a9e743d2420b4647e167bff8ddb07ce197db89d8a7d3f327058a41cc459ed4f6d5d23dfc015479d95e195da37f5b1fc318a3f74a0ac5fe2b9569c7fd99b8eb3ed3967a5eda1d246a3b225548f67ff860202033e7164d4b99dcf95f4232d18a7913f7258a33179133a6fb4ab5a4937b642eacb92908cf79495745abc583524cb0236fbfadd2c7e8b0a6597017912b4737fc01432625a508355869670bef25d32afe6753c38cfd96ec38953fb\n\n# tcId = 93\n# last byte in em modified\nmsg = 313233343030\nresult = invalid\nsig = 3b65975357ab2a410c2fae7f2f0381e6c40951260451f2eff05f0dc707abd013a996fc10658a6963f462877a808f61ad0362b9f640750b19debf3d59692134e357a49ed3693f50924b7c8a1824ccafcb4b93f7679dd892823cd479895d41fd1c40fb89fb1da19bc1fdc72eb038782f24ba3326428cfb166a475a9fd27f94d1a0ca6fa0e6a0d2c2883db3eeb2c0a59474da36211695fb811b9e8bc7f05ccb1f50d26d71a2dd209b0d269a736610c7dc1f7343a4736fa2b8c27827dfcad49bc4a86822cde1579dfbd646474f11e1a60f5e4ac2f2a3a5421a7baa9dea5d24be03cb6fee771dd808b67f886b37be5a300f6551d7e7636e9997b3255ceed5187ebcc0\n\n# tcId = 94\n# last byte in em modified\nmsg = 313233343030\nresult = invalid\nsig = 4516c8a39b8544d1c65d96472fea0b2753060330e76e6f90f41ab349953d26ab1b95fd87484535b68c0afcf1542a9b966a9bf98b89a53bb28877b34d168a4ba8201215c55f9e86d30b7159093517682e6e956078947e54e3f3a779da032af7dc6bcab1c0b2a6693fe0eeb9de0d158bcc125293a6f10ccaf1499b6ad912ed5912537e3c3c5f18eb0ab8e701056d7b973b8b61af918858b87152b6c40671bf96735ab1a112972346e771e7cd9482f6f59d320b8798a271cf21779747f964281afa1303142eb3e1841772de825b4b5e68024dea014193c4e1c206bdc6121a8f2d41837be3d13833ed615d5b9df4ac4c86cd25344fe1022df0adabfe2d46f7d9f0d0\n\n# tcId = 95\n# signature is 0\nmsg = 313233343030\nresult = invalid\nsig = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 96\n# signature is 1\nmsg = 313233343030\nresult = invalid\nsig = 0000000000000000000000000000000000000000000000000000000000000000000", + "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\n\n# tcId = 97\n# signature is n-1\nmsg = 313233343030\nresult = invalid\nsig = a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d4\n\n# tcId = 98\n# signature is n\nmsg = 313233343030\nresult = invalid\nsig = a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d5\n\n# tcId = 99\n# prepending 0's to signature\nmsg = 313233343030\nresult = invalid\nsig = 000068caf07e71ee654ffabf07d342fc4059deb4f7e5970746c423b1e8f668d5332275cc35eb61270aebd27855b1e80d59def47fe8882867fd33c2308c91976baa0b1df952caa78db4828ab81e79949bf145cbdfd1c4987ed036f81e8442081016f20fa4b587574884ca6f6045959ce3501ae7c02b1902ec1d241ef28dee356c0d30d28a950f1fbc683ee7d9aad26b048c13426fe3975d5638afeb5b9c1a99d162d3a5810e8b074d7a2eae2be52b577151f76e1f734b0a956ef4f22be64dc20a81ad1316e4f79dff5fc41fc08a20bc612283a88415d41595bfea66d59de7ac12e230f72244ad9905aef0ead3fa41ed70bf4218863d5f041292f2d14ce0a7271c6d36\n\n# tcId = 100\n# appending 0's to signature\nmsg = 313233343030\nresult = invalid\nsig = 68caf07e71ee654ffabf07d342fc4059deb4f7e5970746c423b1e8f668d5332275cc35eb61270aebd27855b1e80d59def47fe8882867fd33c2308c91976baa0b1df952caa78db4828ab81e79949bf145cbdfd1c4987ed036f81e8442081016f20fa4b587574884ca6f6045959ce3501ae7c02b1902ec1d241ef28dee356c0d30d28a950f1fbc683ee7d9aad26b048c13426fe3975d5638afeb5b9c1a99d162d3a5810e8b074d7a2eae2be52b577151f76e1f734b0a956ef4f22be64dc20a81ad1316e4f79dff5fc41fc08a20bc612283a88415d41595bfea66d59de7ac12e230f72244ad9905aef0ead3fa41ed70bf4218863d5f041292f2d14ce0a7271c6d360000\n\n# tcId = 101\n# truncated signature\nmsg = 313233343030\nresult = invalid\nsig = 68caf07e71ee654ffabf07d342fc4059deb4f7e5970746c423b1e8f668d5332275cc35eb61270aebd27855b1e80d59def47fe8882867fd33c2308c91976baa0b1df952caa78db4828ab81e79949bf145cbdfd1c4987ed036f81e8442081016f20fa4b587574884ca6f6045959ce3501ae7c02b1902ec1d241ef28dee356c0d30d28a950f1fbc683ee7d9aad26b048c13426fe3975d5638afeb5b9c1a99d162d3a5810e8b074d7a2eae2be52b577151f76e1f734b0a956ef4f22be64dc20a81ad1316e4f79dff5fc41fc08a20bc612283a88415d41595bfea66d59de7ac12e230f72244ad9905aef0ead3fa41ed70bf4218863d5f041292f2d14ce0a7271c\n\n# tcId = 102\n# empty signature\nmsg = 313233343030\nresult = invalid\nsig = \n\n# tcId = 103\n# PKCS #1 v1.5 signature\nmsg = 313233343030\nresult = invalid\nsig = 1758eb94588e6fc4f50c1be1afcaa41027869f304cad513b1fb12c2f446d63cdc05c4830a7e3e630da7b2da4f7867cc173bf6420f9732277282596de41ded32e21d0cc31441174da8765f57419c7764ea758f55bc17646eb100c435d1ac0eed6fc7ba6de5f832094ee2f479979765e05ac9976788db3c241a9e32a0da864f0019a87646ba623d63f4411af5dee1be9ec488c7e3e1b231479de70b9ac5f78a17b1f4120aece45f26c07e7bb345fdfeb05e14bcaacc614672a465fc523624cb19f66f9c6c3f642b832ca44cb25176d679f0e05606c3fed022cac24c2bf960a406d48818e3eb7ed53b0446032469047dfed95fc18088c92d91d93722c47f88163a8\n\n", +}; +static const size_t kLen144 = 88303; + +static const char *kData144[] = { + "# Imported from Wycheproof's rsa_pss_3072_sha256_mgf1_32_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSASSA-PSS\n# Generator version: 0.8r12\n\n[e = 010001]\n[keyAsn = 3082018a0282018100c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b12030203010001]\n[keyDer = 308201a2300d06092a864886f70d01010105000382018f003082018a0282018100c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b12030203010001]\n[keysize = 3072]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b1203]\n[sLen = 32]\n[sha = SHA-256]\n\n# tcId = 1\nmsg = \nresult = valid\nsig = b520065682633ba54c9b713b2ef19cdc1fcf275ba1744c2350da7307a20971cc30eefa37d1667d23d20001a674f0e00df4f9b9e1d5fe7eb85cc45cab5dd625759de83017995c93d48b126df03aa74ef87daea0c1652dd370ad5d663598a383cac217a208b22c7cf0e448cc7ae0555f892ccb8ded6894cfb0c328cb542be0485d860ca77203081f3b04c6f55c5689b1a66b1c24819a4a7ea55f32e00f61accf4b411bb320a96c990173b63ccd74e7da7df5ceaf33a39a8acb89a845a594b164ec6e22cce940eb06f2d487a8bc4574451878c2bbf57d241f76586e0703bf5f86bee832d05b75fabaed6accadfc1ec2cd6e619dbb29b65d6e6f5e118ad52d82a955d21005ecd63fb382f32bb8e2e1e57220b345cd6422bdd84a91495d0ab5775b08139edee960dab1b4ffd9ea5b27398b58e6e35211c3581501e99bf5e3f17fd79381528d28a4927e28082f45bfa9519f98ea663dc84c50317adf0bd5da98b01459011cec61800534dd5afc5a567c19e4a400f06dee74112083b5322615c144ce3b\n\n# tcId = 2\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 8e10f23f49011d761946b283d7152e851ee76e5caa1741b0901eea317d8945f2a0368551b3f2b3a6a0d6a939aebded8fea0a96dd1d037be33b1c35ce78dc89693918a99d547a1d892f4047c09fff7a6523acb0cb0cddebcd4a6fdcc309a466ca9580fedf032bf56154f8d79d5c4686abfd2c7abd342b37e5373b59a07fa865b118c44f2c44b851306dc97eaeeb638f14bafbb09c81996beabaaec28c19f06ffd59dbe3080e0124e2386418052735f541d496322c03ebee6e4dcaba24dde9772a9f079973df26e854c255eb48df50c01d49831e54b64d0ff862d03fb4d82ff204d303b537176c50ea56761a83d0aed8ed2deecbbba981c8aacd1300051a864d1efdc897f31383ccd6f181bf976a75e7a7613b60b3cb2a6f7ab8636f672990c13017f2981c11ba36096cbea898f016c581ee859e950bec195cc4e376e134341b2fd3e3d6181ba4d377b2aab6a148c6ea8cca9ee3478297e901856ab18f61c0233c899841e5da125516cf5274dc1b22e2a51c922daeeccfad0f2a8bf84e531bc4f8\n\n# tcId = 3\nmsg = 54657374\nresult = valid\nsig = 22915cfa1d7dd30f50b4c0e4cee42c5f0aa1b7a6644f8a11e611b2db042b122af8211ffc1dc220b435d8919cf64d715b54ff8a762f702b365cbdab455509b97d9b310011467d4186647b957e2efa404aed3b84840529bdef7746348385a1c6a2ecdb88d1cc2b40b36c346386739c39d2815938e463a35348426f17d32d633b873d6124d8b49a726743af7c0e56d63394155b63089c63ed8897f8af2a2260d33499afab11c911faa754ced5acdac2de571f39c2768716e4308244a99d1e65da7061d2feb8ec8b4e517bd5e19cac626698479ab2019257cf83ad7b641db2345b38006d63f84b41772b90037778389cc30ed6aba6af212d9326792af746d7bca9211fa344fdc2798a490aed3a2840620c2a85e3d9b9c38f2330072663e16dd26bc414c7d68f6b11d2cd3e0387c1834c5e2262a9e2dc1bf7c0108b4e2052566c7a941ef6b38c8687fd7abe6add2b745c2c2d680ae3e5646ce2e717ef9899c7f3fb1e3088e8c0587d86546f752771819595a7a3d422820ceaa12e3ee671a456dac673\n\n# tcId = 4\nmsg = 313233343030\nresult = valid\nsig = 8f9ac1354af4161d0e55b5674821d02823b3a6b3f79cefb98cbc77f9ac2d91cc6345f989a7828132f73f3630a247a936b6a057b3e5a2fda0c5999ea7721ee8880960c24cd2377e869cca1799747142d57ad6a8d83ec9254d89f591add11a758e1ea1e29bd08f624d0e28cea52ed5eed7c0f5f49d3533eb1cdbb2af837dc42942f9a86b5f4e2d5ce506697ef067a344949bdd89afcc25978af4d50c300bcd0ffc9d93cc559e3ae1a13215a1d3f6030827340c6591061a5ab7e65153b1df8b25e1421f924d39c7e6f76243c1bb9ae4063d9a475cd2ece45f4e288fe0720074e87868d70a5584a9ac2b47a56417cc76f15154315545a3ed6704b365f15d34320804469c3b09ed211cbc9e9e767b6f21fa16f8641d8b78b8dff8062a25b5bd3b6a38cb4706c42c1fbbe66db1c05cb57531132eb94fe1569735c33ec491c318a686c837ac810be4afff605f92bb390e7ab3cd24c0cd997cf13f112e5aa01746f43902432639e1eefcbd37b413c586f057bcba40a8f1251251e84cb7c87c53c1d1d558\n\n# tcId = 5\nmsg = 4d657373616765\nresult = valid\nsig = 6e471c9342aaa27bddf64b02e8805611a13770b22cc3d24cdfa9a2fc14865f59344c288cf15d4c8785089968a12e9d3e63b8179489568743448f698f316640146322ef3b611fc98396cf4a4757e48ce6701f123fc0bb8df80b63cd2371522f8ed929f7bdb709d424af6eab2eab212b43afe537fec7bbb9dd02e64f116e02ad1214ae931a6fe28a5982029088a27bb95ef2ee46ad212083719327acab5ee51c82d94d5b14f6dffd2242ddf9fbbb2d03f945796a3e35346f2334ca6b4ec5d9ed6f1584688e661951e948cb95fc5cc04e90cad98c861ddff514c60275650ae3003185efe0c04356b07f361f7dc7e17c5de479cbf119c2910aaffa032aaa81ec9eb9f7e1ad21a410ffce2502e4829404d01ae090ef289bc28c9c3f37d3fcae33e1523b3c9b81e301f51d046196fc15c90d58bd35a1fb11fa04621b32cb61e718a434a0aaefcb676cbca888554d1e84d43b108fc1cb123cd2d300da630fb77a3ce29a0f53af32a5ce81c5ad772a199d1180a9e2f090847cd87ddf7b39aeec89a6b492\n\n# tcId = 6\nmsg = 61\nresult = valid\nsig = 39f7dc9010bf3c200df551499404ca40346e58ce0c56271e2eb7835187ae57a7b9a0688c9b088ad85e128f56c0299c437a1a9a9104f3f51aab7043d5714963e46ace5d8e435fd3e416dd61474e9dcac3ffa6c3f0ebc4ada987c4313ec36f2c43d2dc749e496fbfad639dc811304388990b98cf10ff616a866bf5d98cd5199bb74704ae4ef365424130738b9d81f893a5e2316ee6daea185c170f69ebd2ad455b56676ebda9d0bb0bf4d3357475ed8166a3d2dfe6e093c3a4bc5bc2fc2275e6779d809107b621138fc629a6767d5809c85bf88b46b14a8e4ee9e310db746f4c0a79a3d36f6e305125642dbf823474fb913a9967a6d120e82a79ace48c501fed8dd6edb9634df909fe6775f8f6fc5b79f5881e1f13b7cde37c7c3f97319cd612f8ad2b1ac921079f18213e5facba0b83c17887e69501a6d2eb37661f03590af1a15646165eb785f467cad0c625947e8a8a4a68f8938077d5ef7f1b8b4da0d09ad5874bcb22ccc4ee36b9341b974a51a1d6ca009ded4ace9faa99d924a23421aabb\n\n# tcId = 7\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\nsig = ae8472e987806e5110beae330056ff974abfce7ea9927979cdd14346747414cdce06a9c78eb1846c75dc288d7da531531da49ba7651d3a1f79e3297fe37aa73e075cfe5ac004b166526cba55f914e0d2fb1f12a60a3222dac434fa378c2e7b0ea9c2cb5e22cc343ea624ad6cf5545a61364cd67d6dc23d22e4888a253e940ff0e0ce0207c1feedccdfa10f50d2363bdbdf10893e3967d7555fba157f9a450d6bbe63ff31777bdfd402afa72c3a2181e5cc025443cec30d253653db7e82eb7dd488e6491fd25001723eae2e3106c7b50c2b73c142a4a31ec4", + "3edc9ec9011383c99a095b36258a0a77aac2af19b26af8a166b130f7f57f03a0e8007d5ac0eea9ecbe14fb7885538a22c13de5771bfdf523fef9c9b5f52ebc2af7902a0baf2a33923b0d0622b8fd5c938214aea4b9e7f0a647c5520c3a94a29737b95cc623f20bba8eaa3e9db60116fe1760d9b7ac1841e7586aec9708212a5bef2ff67c74462883062e052ab9fd90ffca0f0a6166b71a93bd289a1d4acd2d6ce72ae0b91cdde72e\n\n# tcId = 8\nmsg = 343236343739373234\nresult = valid\nsig = 5ce99063bb6c6bf8e46772e8701b63abb2feb5f88c5b76b76c00c719402ccb399d6c6d8c67ed5b6fb0f1dfeb8f8dcc5bae03ad57c1b0f53033dd2503b9604fdc40eba51e4b03c91a8d12b1a3b929b1ff1e8e79cb58d788114d53f7e07d87a885f6dd4d26560583986f7a84dc466ba981db06beddb1fa80b0a444b9a56c82f98a927977da9fa1ca83aebaf2c43692cef61b12995d8dd0f3bd6bf061025ddd34af3e0257203390a80765ef706acf7df6f43210a7928673d260f2f3c30a9bba9b08735dd9aa3ff2fc27a2ee9e130c88ba367c3d1428f173ea08e273886bc153c11e24b05cdbf9b00573b013170417fd96b0106f72c073f1216ba872eccc9f56ff9e3e08bfde64041d996b117a114b723cd97f70e07068ece643f58d5ee5cadca7e24a18b0a66ab724fb653a01c5749d51d4bf5408d2d2008b30eb3dc20b0e14510c06402f789276b6237802d608ab49378001ed6f3604abca038e3c7e057d95e85c9e668f397bcce18765132142d6b0f118c511e57defcb316fe41dec06b988d911\n\n# tcId = 9\nmsg = 37313338363834383931\nresult = valid\nsig = a7e0ad7ec64a600e37b70dcaba9036bb3ea95508c961668c4e051c8f3faa454496ce6c009ae9cfeaa2c194c5c9278e46b75bab40c52f077a4fea175b2679121d30b706139cde7ab571c89f4d19abe07c67c70afd3e4c2c05d60c92bb2a639ba389826088899605f1707ecacd88e42491debc78295b44f4e09791f9d541823ad5c48952bd3151ef98ace7e251d12ebcc9370bc205a1688c9a5e9190cd082da1ae94f22eb2b0b46b2a5eb2273b0b324215de187d685471a07f673d43e58f36c1e0f074765dc59c1ebce449229361d07522c7f03f27eda57ab8bc89ac683d27ff4f95a328892507952f14d9e3d8643d805c327eef8bdf13ab7e6634a103fe92cbe9e7b00f9bdf8efa740866c044735799d59245aafb8d04e8bd55b66fea31c9fce4cedd4abe68444fc8a6dd550c3c8f1d6597bde001fb977b7802e0263b7319ad7a6c1c4a6c558774641b204b6d3eb2a2aeedbf4a38de6584031102a1958fab6fbea9976793bd1ea6c9aeaafe81515b954c7615f8c45538f40a22adf0ce6f2c977d\n\n# tcId = 10\nmsg = 3130333539333331363638\nresult = valid\nsig = 6c60107dd182d5cbf4550e7a6e3a652f731503d8fafba3a7aa52e7ac93d4de4e03d911e058ade448285bb9c3452b60897c099fd4ba22ff4194eef1a3fcc3250cb9ae270c33ee767b2b4f18852612e27c4ab31d8ea6ccbf122a357a6d6e527191a36e0aa2aa925f68e158c8d5decfbf8484d16c2ce906826dc4773d59fd1a4032c2f576a1ae8374a13cc24abe15ac1403452ac7cd8a643dfe18c911ae34f773520fa94472c596dbd6f5b93227951ebbcbacf60b18e5a60330eba9bce0d8a732cfc27c7c0b9e22070670a165846d9d7e9b24dc6ee9759347f5c6320b63789d5ccbe9566d9f3c534e152f2686631a41aa85801a31a7f31cabf959cdc93755a3acdfcf0ddbbc5298e91fbbb2675565912e5fd95cd59b5744833222247aaaa5a5868da4d1d1af590b8633dfe6105e0a6abded2497ac7e46650432cbf0b784b9447770b20f75b2618fb7e6cc6fc5cadb022980f78943fa9f784e5f0c8fb5192239dbd3293a38e6dade27a07e08b54597029f92a8b29b700f842fda55aeb3e0dda79405\n\n# tcId = 11\nmsg = 33393439343031323135\nresult = valid\nsig = 2264d276cce22aec8d109ced7a048ea44d627aee577f1117998316af911e98139085bc92f120827b304c4ca519743a33f7be05d8a49a28cd716ca65f6b976513b33a440b6e8ec5daeb85d6a5926dc5015a2d24d94ff1f87a073867bea137a7217254b9bd040273664c58d61e618ace6bc942c446401c721565f74fad5bf31475093752e3a67fb32231ec8d26649594f32c5d453f0baae51b20dcc24f0e5e82eee71d85aa77f33ab01cb588420cf672461c490db52dc2fdcc7a22ccb2b92fe8de0e3f8110c93e5890076db8292b76f6fe80ecf3120b4f3824f77e538551ecd435922c7d433f0467b445026d0371a49a73fb2ee900c094fcb8ecc4c01b330dde0561fcde6bf2dfb6d26f3c3d9b897342d8079e29226828a39d8fec96b53e060a771fee75b482b2e0e262069316bd50e8e210078ce56476f70f149bfb356fe1e490ea642ce85a8664e50d0b3f350806d9de3926c8b2d417facd926741022fafa2f7b10781397cf012697442ea742c11f23a5b5ef5fd10369207cca693fc8af57d22\n\n# tcId = 12\nmsg = 31333434323933303739\nresult = valid\nsig = 677dd6918bf4c96934e329a114002460d67d1e8f729eea9d2e8bae78f4442f1a480ff1e5d20c1bd81e61e5f92e5e42881cb1fc22bb7da3a4d21060bb23bb17c234a85c76f7591fb54ce0ef70ee7556905eb670830b9d10905d100f0c255b944689f23e1313b0448777c52ba80b767e07108818aa5131f8b75c84fd2d7b4035e0df9a213afa8cb913482ae0af76a997aaa0c8cb63975bf9c006d89fe4ea6ef035cdb4137103585b9d05150b086d7f329b70efcb428ddf76ca36d44af742326aa05039382af67216c12f7eb2dcf01595f3b78235341be0bf7ea30f6294239c7a4b1ead8f98bac805e88caeb482b13c5bc552329a47f1e26233cd24a3b4bfb6be6d9e3ae8e58f06c95b513ccd5c61685ad0aef627bebab0b72bca3bc374f49645e403bbeaa255b501dce3f1f46f9d74d1aac2f6ec5eedc5440e3dd9f264bcb1d98b855d1cc788d796919d014ae215dfe2361a1d13aa55a7163f4164cff38c5f62c00f59eb20efec26e0fcf66d37f12c7a9d23dde68f25620df1a4d5e5e55ca94634\n\n# tcId = 13\nmsg = 33373036323131373132\nresult = valid\nsig = ad825df96215ebac22f37e5948fdb2281bb7ca69fbd9ed6d3f4d2fb21cc6f9d07cf7779a264dd427a863f0cc36a812f125d6ed9bccf6c233ae8958299cfe645b17331131c32459377524326f2e9eb43124e2e2fb7a025e0ec3de6551b7ec0aff5d1b4c4c03e454efcd250a7c9711f21e71f6e347b5e7400cef50eed93426b43cd11cf55c34a9d6d1d54314b1f0869febf3b92b8db421c4fa000e98ab0f891120d7c0a91bf50e307fb2cafa596c800a05e6f42c577a02aa2169cdbebca14c41d10ee1bd415785d7594347f46e700f62bcaa5cd728025247f39c40edc0977015604e196fa30b1a49d84132469d1a870a57d272c98ed93d8645a7bb92a4476057bf2b134ca20e45da22cca2961fd52d65f840b07a87aa4ad104af67d7bbc53ea95016883e3ee087f39582b13e274df32aa419eabe12a9eeb08868425c0a1ad06798d0f7da987340313cd4254a4140a62f3bb1b76bf57a2c0712ef2105f4de0819f6c724e0a2d92f87683a2734bedb4fcecc75ff26291ad862fc3397a9f02e6eddf4\n\n# tcId = 14\nmsg = 333433363838373132\nresult = valid\nsig = b3c301918f5d1becd6c88ef04f908509e9b62acd207cb0c03e968b56d4237b4a23cead6fa5a72ea6472af47ef3854766376bedaf67c14a7913d48a74aa6521f8ac814f01e3bcb073e3b85f315bf51468c28444231402a77cbebd0cbfc98b06fe925f5d59b4353c21abb324696bd5d402e7cc5435bccd8eec3eeb8e7e4b5d4f8f719adc00eae9180cb3cce9dd89231b637651a76d87c0311d0f9de0f7c9bd7f6485d7d600bbf105e1fc6d3744e83528fe761c2ab0fa0cd5c386d2ee44b0967ce2dac3abf1c723868569f43ae09f1a5ee32245b11569fb2dfff08f6f40c0cf45d2bc7fc524a82779328f850ffaedcd9de27db5e1bd372a76fb60fbbcf88a14a2d820647f660a894f5420c7246d9d9401ad56d577b56907d9fd3b69e35faa40000207d704087e3a7011cc343cc94f99ba653da6451485a9fc17bbad2688b511ee68cd90288e4f5e83ab742a54be006b51fd75e9ea3ad09ef7112f793b61d5470aa16255db34a8abd5963b53a940c890ce89f27b8f7e535489e965f33a4b9798c301\n\n# tcId = 15\nmsg = 31333531353330333730\nresult = valid\nsig = 602883fa2f9a6ca35437d377fffa5cf5a5643898763960c7722d5a5b808fdfb4a09a0cd3bbc8c5d2fc8a603229a5de18866aa0c5d88c2272784784c883918fcbf47ac62f5e7523d65d6ab486c68ca245199e1acad7f087b4e822669105f4f45a50c1a43722fbac7a9b88ef7bcbe5796ac9601a09d3fd6201c77ee09f591a9d37f48b3e93fb6ee5d9683d3ef4d581fb2ad9e5cb2896bacbd078952f9dd04540fbeeecf6d8d9fa45e791ccf3027130d1f1ec551fb35ebba6ff329c7d31c5bedd65303d56b58f826f38917b3f79d82b442f4668ad479b7e108e2e59d88640c1da8ecdf719156ddcad93d568d9593dfc7bf0bda2519454cd2b1dafefd556091a2a13ff80c75bbe9ddb04b1e55f7edccb8a0832ef03079564cc367cf5b696be4e193001d8c3bc5124227359c7616381a473b07f31d6494c062b2a9151420b828b830f250e66ec570e38bc44e26bb83d45c7f794a9460b4b6d746c888d084a754ac7d75ab1bff232be49dd1fb73efd76fbda26e6411b3b1de8671518f937b8ce3ba8c0\n\n# tcId = 16\nmsg = 36353533323033313236\nresult = valid\nsig = b259676e6b9b49edc04cf3f6b06267a6af924d278c21f5994c2190d0cb667d641291361a8bfaee8236360a4dffbd5ec4f1f8d9f85b54c1bbe3c9dc35332443c2509f0ad7d5ec42571d755af814cc0ef48e514dc5342ca7653d535789c8c21fee5e547ac3c247c9be6b792199db48a17299b5f9d3bb9881ca95751132fac76d776ad02872279bd77dcb43b0cae7673e40907c1bc321e14637f224481f58b90f875cdc08c49515b4be482147fcf2e62126fe4c0310c0677eb7eccd9352a9cc0902b54e4b3454f3ffd69666d16469be958a54aad1d2a58eb561b4b222a4ca5edcb5612d03b8bd2f7f26302b51567b83fe1d59eeed36bd2ef128cf476ccbabe4eb55d8c4ec91a0bda8445972fb3d74a4bcee2ecf5e90f5bc19d4e9908e7aa284cdbc37d22ff4ea70479e8e2a9d2bf0a6f02b3a2d2643a34d7d4f93782df0607c806177f61963b60c08e4154a074e92b26c4f2c678c9da7cd9d16307c7309559a3935a8eff9593b5454a1cd60c388c995df971075c5397feb77f36ed8b9987b8ef3db\n\n# tcId = 17\nmsg = 31353634333436363033\nresult = valid\nsig = 57765fb30e12f08143d72d7a4232c91583d60afbd8dfe01c3b50d861140d3c5bd0a17c3a51dfad96d8ce0716348dc6f62c12c16bab5401a1fa90950e96801064dab2537a4cd0b5227708618ed2e34e2eab8a557a316a5a7c42b6b297cfa646cf8a90af59730fe5d34df9a2d4a9bb0d8bb1d8e5decffdda6f50863bde347c17ed88e232c4d3235b00ce5db088e514f3490f8d459eba993d31f99bb24a097c0e322454e6c6", + "8e6c9cb0042a8fe1a5897458d097ee68e5c79163f05ee0817499a98f2af038aaf02c488fad86ee0c157fbd1cfb91a17bc00971326d15e1c02ab440c46b07c807dad0822e2dce9505ea75dcea6ba134b58ee9eb79bb70c2045c1a4e6206ee9e12909b1c3a7a386cde5fb1965101159dd34c586170491b3b8cca3a9b4f1d0b7438aede0efb1cdc9e7712abe0675ea9ee87e2cd8200cb08bbb85a3f87695c3147092e153c292e5a32475bc4800fa2e3d037070bc6f130e5234f5cd74c9109d2cca14eb83bf61747712b4b9c90933d2c25d876ba1bf7a8e601b472c154c5\n\n# tcId = 18\nmsg = 34343239353339313137\nresult = valid\nsig = 27c677b2b0b546f23d5c3ceaed4007cfff9fc1e0843de43e7ddee8ba32274954d79d9fad43c10e890266123f247abd2ca351a15b196a340b7753d4cd3756a091271a25fbf7834b05ee9c5db4a8a355d5746ff9b0ff61061ac4670bfc9468a4101917ca61bf6da1b029872bc3fe14a306d4d43794deb2a1ae0a4aa5f432e9f33e536f39c249fc3ffc294a466e7bd7b3d35e7ce5f15a3564df9351770fe66b1312e69437a028d07fe31ab3644fa6d16d9e377fc3b8820f79d220b03012add369c630c7c01c123dfe1be97d8d71d491dc38e7781635139636213eda7655eb2ab9bf8c44af43d3c098667c6887be8e7f29cc72dbbbfd5c43ece1a0bdfbd01aaaad107700ed7d9468138638afe7c7ec64e66738e188400e8a71f89526f8170fb56a200f69dc9e4664fc24f40c80e117f3666f91ccbaf8dfae5fa145c9a94ad64219643a66c93a682a365bf082661a00bc8b0a663a6f2efbdae29744c735937c0f0d7f6faf7eacd068cd02c016cd16741d49170bc40e2fe3565cf3866db6fc1d528959\n\n# tcId = 19\nmsg = 3130393533323631333531\nresult = valid\nsig = 9849c3250c03095ecc9ad404f9ee412c4ee797ef0a0f0e806247225fe03b3ca5381157476b44bb8909d1cfb24504010873333dc969f035e08d552c2b9e2da82159619a75aaee04f20c5359450b6d85dbdc98e3174010395bba07cf3e64cd1ee44f81754a64cab4efe7c019e05ba8b3577333fa692858c3dadcb0f7047cdb1d2bf75b34493988ad84794517f18c934d95a7ed5ffe75aa5b3b5608462f18bf5c656e6f1e626d0e2ae4ab7c69da07a2616c515b88fe33feba7cab21eb9869ffa01cde1cf3b318e4b7c7089ec2d3748f93ce3ebcad0d75bc2e5f9bd20f10d6d946ee112be25dd97793f7295cf6862ec116f306d5328759c304329178a50a01ee76b5c5352ae160e0e7116f6e9640d7be77287c3910c929bc3a2a5ce1cbe08e48d5a27a11062d74442c5ec8a92be9bd8aa82db17bec86b2e141500fc5edaad589bcc0a0bc152a69857420bd5f6483aa3db9d1fa4ce7f6a1e20964b1620e8a3a13839311a61031e31bdbbd3e1350d1773ed132355eaa3adc8a292437293c26fc428844\n\n# tcId = 20\nmsg = 35393837333530303431\nresult = valid\nsig = 9d81ba9fff8a9e27c1af56efb4b48088785b9677397843f335f038b46e863045c5c48fc689ec046f87d7c2a1e22308558181a1dd95711088ba84db74ebe33398f77b760c693371a403d8988e3e90d025aede1e7b9d428ee4ce4502a307bd151cdec1ae148c6e0d36d50d3c19eb1266714b0111ace612dd8abdaef969c32cf3bae1bdd4b14cd53b3ffbe59ca75d279be3a933eb3496e0cc5d9b639a5899accc4c91f820cfcc4609630cd47f0f321a349f049cfeb5a74dd1dca0f898a36491cc3752c2a8c30d39c24f9cbfa21cfca15600e4ae161a9834f839878bbe66e201b8c8aa8a430913e157c3c7d74bcd901de43108d6049805bc85ac0b29869184fd587fe46d47eb740a86009940240480d3ba700a7130207637a438746084011f9039e52c1f6aa5c99d7093d14e3b4da4148f825a222fb8b1c35e5946d02ced55443cf0736f72011b129a40632caaefb78c44fcfc31fb2449f2d46c7aa53966b7966eba8d143b3220045991f66b1efe10f696d5d568ea87598ab5fd6655db506bee18be\n\n# tcId = 21\nmsg = 33343633303036383738\nresult = valid\nsig = 8f0c4086ce839242b6696e7e0fe63be07b1da1b77447520172fcccb41f341ba944927acc17cf1ca0686692130be5bfde236385628b0e99bd0b3ac5fcf2b64bb6fd0c8ca734febbd00dcc9b99887dbd4a8c5f7bc97031a7e18f6143d561b29ef3e25449559c5563a9169592efa534fb9b75cacb7ca67b3a8ff76f5642dfbffa93e4ba7e51e8a5919afdbb1c3ec91c9cba076902383614b2b1906e6192b451239870afb863e158f8ec61127f8a7a9442610c1ca47e5a9c8a0f460548320727ef1633cf9092cee65e373ef16322faddcdb4f671d91305ae8b3e4dc9ec65f5069667d462f429b025ee6f05cc38f8ea53f4cf0d81b4ea90f7e078e3b8c804ad2cc7525253fa81ebf50e8e62bd6841f28727214d183665a108bcf8e6f99b284a86b3f6adb5f5df71acda60cb6864970cc22769c1b1ec94abd1fbdd1c21edf2c375bb167ef66538dedde6b6b3c7f8634443ff163482250f1c8e97748cbe8ba0370662b1a10fb58b1ab595e228af813d3fbb852e9b8014a98afd6d96b2e27c0eb7688595\n\n# tcId = 22\nmsg = 39383137333230323837\nresult = valid\nsig = 2b1f093b09ddb27d5c25518781409db471c83e84e50332c47a183a657ce60fd44ad9a786b4d6ae9506e591a449dc0c46f65d9de5165079bf5bb776b70eeb826e3c58dd7a916e37d83b7ea6aef7a12f1aae1462844b0bab4acd4a5c9cffeec5c52b0a6d36ebb34facdef9c3dfc46d8a115d3835cea32775434e78dcdbc3e5444c82c0fa23f52fcaab3b8dec372ef7b19a0b391ffa8110e77fbfb6fea8a8def46a5f6ce20566af9e0918404df4446d6a69300eeadac1b0f5b81625f44cb9abb1876572815c2363e5d36691e070c19baf8c654e6440572739c468ab7589d262d3992fcdb2947d6f18e4be55572437e955d7f8b60ff4b1f1dc9d0c5e6bdedf913225fc65b0acbe8b6baede362cb615e86fa2335eb818878d3dd7bf689dd448205cdf14f69ca5925df66cf421da220035bebe9a78ec5fda4c0e4f49a456f9fefc791fa9109eaacb521e27aee95c120f4f9cde093b7a802dac80810b9d4d5793416672b58ca19273284a581ade84fd6d9bfa31a3b5254bece875a56fb3ad6451b1a661\n\n# tcId = 23\nmsg = 33323232303431303436\nresult = valid\nsig = 2b04d224788e2e94204486c111c0b07540b8e7324a8d57257841ecdb77d6ac906ac795dda72d51b054b5ce6c5232e061a18d67d64c7c1b1ef1b601cce28b84ed3645afc616eed7d1ed7c21fa348a418fc7417449bd997340e99c672a5b83dc43003fff82771a30b7b666fee40e078dfbc7af969d1aadec237ccde38959a0b5852ba0aeb15d8864ac41dacad460e9e69cea0374cb90fe2df0468011409cbbec5085f31684142100c13521742a47af6962e7a38d682f591c8b63fe3f629618afa3902590904f3c99bbd3f2681f42196714cb6e59a6422262b5d6c8220f6564cf35b3873e356015ae3dc6fbd243c29a8b4043a367a49a0dd44b921d98005a7bb0478371710c4a867a0022742449d594a321727776d906e636c4f1c798a65df8184d7c8261413b16a4544c37a8bfd4a3fcc4dd0cca3c3049c0446dc0e27e334c70f66787d8bfce5bd9dc2cc5811ad92518e679e8d219926321b0e7c77d4743db318ac1e47f6a5dbf3f6c53831a2ec8829a07125f5afca4f9f27a968fe5d269d5d427\n\n# tcId = 24\nmsg = 36363636333037313034\nresult = valid\nsig = 3ed79e7805fd64fffe1863e6e9233a502bdf1e35622799a3fd4da76a23a80e3e6fcab61e5c3f621474e91b90a43b36ede27a8627460d04a74677ae0994e949b7b93e01868c5413af61dcb5a9290f921fdc24073e5c7a85ce910016c2872ea410c239af0a33730ed89579f8d1f0743ebec1e55600fea2a3a98e49ac1c5ae12e3c27c32df9ea5fefeb5c4d004cedbcdd30cbfc00fc21b4aa5b172e87d34920c6dd31d9c80db40cadcac6341634ecf8c28fdb3cbae6c236a71322b81abb9137baaa83f65826f1d66e511f727935e01f16cc70c5ab78451f2fc199c02051789c3683bc573190adecfc041405c9a3aa8a6e36b5b4f016589d214da8bbb2e7456b50599ece0d8b61f106955cdd38eb737db4fd52783d60676af30c0d58bcb44655210d2d53f1d7001c925f74754041e94b9251d950784bbde135ef9108ffaf59170fe76d072011ad7fd1cf1ae2763140376be701a5210b29faef9e2501cb3e2769955230bceff7ca53afce8109b7cdd3812f412482f8157d55acdeadea7d9a3b314365\n\n# tcId = 25\nmsg = 31303335393531383938\nresult = valid\nsig = 072389935994033eb7a1bd07c3ddeb07f64589180bb5a0445f7c36412de2021cf7715254528c7ba95605045d2195499e095beea826d0f86da9386078b83a64c4e3dabd43415f68a1b4f08381ed290182727102e875bdc2854a28a725a8b9934dea06a8799c46463a21a9949f8bc19f87b5c0eabebd25200c1aea8eb8ae35be9b153ae54e11f348be421127b4bfa8982cb7db0a122a7b68c0f4496766c9250252c75ffc317e6c2a819edf70609a8a5935fc8e06554b84f31a5a2e1ca855f96c86acc12459cfe92b613573af365502365a3a3f7cd047ff3a227fc09c5494036d39c7887bf1f11dae79f83c0d4fe7cfa02c8e11561f351f86b691a14af945353284f9c7c0ea73d5389049ca0195cb103fa81f45ca01a17c7a857a142223f67c8551303478cf791f0f638e02e60c7f9452f848ebf0b6d6d8d0059bf8a2d513221c385ce075e8abe3ae0a7df9e65090ca2785286b245cf5ce734e4dd2a25774583a4aec4fc1ced402f25c2353bde80c2ef3eedcb5b761a7f2b87c201f3d5f9c08d3a5\n\n# tcId = 26\nmsg = 31383436353937313935\nresult = valid\nsig = 9c43688f7ccc4286e104c653c87979abfb36869a82ff4bc2c6cbeb4ddcd4c51b833367ac00098a84ceef062af0a0c0dec46b54d726f37df117762f83872611aa495a88e69fe0e31e58cee91e3b70987ff17f703a39a7af95ee4121b5bc092bb4a1306435d094a93153ee22dc50d4d4845c60aa065aa03ca6f327ddb3c870ac693b5679ab3390e6782dac49b76f71a0dd6354240184f8dd9400dd84bc2959234a3c9aea08b4ce781d38405eead754b8f3cf4c5bdd0cbf3a15017ef4bb5813bc9bd557fe288cbe32e6f6659ddcb01ee10a48a9f9d33cb5e57164fa77784c89b6e9a55ba65999f7cd61170d826f89e3cbae123ddebe1d2bcf2dac72a798ee9d2a47e80f1e73ad28c6516b271012733e3d8c3db695429d0d67302e5333f1afabe6c36cabac97c4f302e28b3a0821db915b10c1e5bedb64bc5b88d99b7fbd32d3af00b06201c64fa66f38fcf41903a7ef1df4265c0e120d1accb631c43b7b8fd49f8f77e228b550656ff7caeb79378dc3b868ba63d8e97b832ba18224d08cc87e67cf\n\n# tcId = 27\nmsg = 33313336303436313839\nresult = valid\nsig = 807f9a9f0fe0f04c59cdb1f87be60f510dfef3afbf5fc8d13aa735778a4c8823e82804650a837afac849e78c8d1fd81b364e98589da3f2092bae5f7c041ec0c399b994cfa89bc3c301ec3980f7bfc789a7838d212866a500763b5d29094f112ad572b2a825f19510869c5c6e67", + "5209c722be18cb9de4a95b902d46724d6413581cce113a53991d748ad8fd132643bca1e5fd305247044efea07f5b17145ef2f03faa8b13be02d49445f8864e1e0b0051f5b594d1f0b912148db82a6883301d532839f6250f0c34a1c17a7e0887f42e650e26eac3f9cc453b69c12bc6548e06a37dc905ded48026d08f32a17c7a76d546296540194e95ab3310a7bbaf0c6a2e9734d8522ab46ff457f5a50238eeaa4027325d2a48e2eb0c0ae7931296d16af25abd5e6c2ab00f7b07f5f21edb7034180cfa0b3fd3cfd34b804d3d125291274475e2d3ac97bdc2baa208892fb0417565fe9f7e987e1c2a1ea04c51347278ac2e3f850d355e3ac6adff007d158697372f42f30bef185cb1b9ba2f0458480f0ff6e1\n\n# tcId = 28\nmsg = 32363633373834323534\nresult = valid\nsig = 3091947d5fa8bdeb463a0a5c32804fd244203fde74759a3101a47518b68eb99948d625b4f9bbc384862e6b33c5b4c4fae240b782b0bcb298e5ea090542f9f0c1a0cf21a42ab111cb1c8072e625f60189092a7164339e5d1eb77aa07b4d8b9cbf850ef0907f289e2b8b2cd61fd184af7648404a9b15e596ddb58798ed438ae4a6325adf39c4745360955e6a6c060edaccd38142102038bd8f1d9d5a33f39fb12f0c935ec98a0c00efd93beedd16f340129977cca90999e773b0ca9309b8da7c33a4f7db346631bcdfb3b12c8183a4a3628d713a9667ed70c9f83acc2797086f5fd5685dad6127ede04e6036758ddfeba4da385fe722e249f88366fbab3f8f65a02512f286ce0fe21f77b262d5db7787ad0218b3b30f76c33f7560668364223b65a96a272e23da285346e087f67af331fda31c507c364802935407b455b67cd05cbb15aebfa3b7fe2e031d7547dfa8aa3608bdd4ee2f722b1b4ab851377bf10d42a1b2b33341a53a7ce1094ae33418f22c7bbe84ab8b8bbf7226584bb690592592\n\n# tcId = 29\nmsg = 31363532313030353234\nresult = valid\nsig = 7aac4ae776954df9e6c88289a08c1581052f81853ccaca029e6bdb564f91e529d8223c7685537181d1a75adbf7bcbae089a7d177ba6c83bb704dd427fc42093a1bf1ea66886d7946eac4b811a111b63b464da8ff910042a35fac714e8adf5dca827bb384cb3fb040312c04fe8d5263fb02a9d08276d53ee966b690ab2872d6c102a7f415fbb19420bfa5861567ee50158a4ee141dbab2eb640d7ad768fcb68d9a4b199329d13076090e9655c33bb791ea830401e2da57e110ef068a99d260a1fd48f104f5558264542e6fee26eff4ecba4f9df16330e2b000ed9d37855b0a14f1b7265fa0db6356bf260308410c899fd00d795bedc5e1daa2b3b8e58784a2e0de16a3bb0f64bf73a50bd3c2ebb462a2580cadbb6a1e611836a60b7c8b6c1083c9d29ead4bd0b627e538b8eaac398dd7218dacfb2905133fe7c31bef29bb1346d4e6163649854a6c7b325f2149ad91b8d8b827de278db00dd0dd9827af62fa229bdfbec0c71cbe961bfa7ed25966920753debdb70e3d61ca747ec55c4bb05bae2\n\n# tcId = 30\nmsg = 35373438303831363936\nresult = valid\nsig = aa165429af5269d35d74e8b033ff4db882282d22b60a241e6d0a546dc191d03c0f75248db4dc833c587db41b9c438f485a2152f8f81617756533cb15dbd0c7565a640327dc64da2badc23052de4b8dbeb9477056bacee1eb95e93af46d6d68cc795778b3506b14de8428fbe8782600e10df7cce98670494efbda15890f72cf089357d743e9ed681a14b84c159b92cd5c259e6da45edc3484a853ad74dfe99f1b39df3d3b20811c89c5047047a83b67afc944401a6e99d9dcbe55756faa16dd217ee3812d7b2db054048d5add496cc49f417d1b608f55ffcac574207c10667dab31ec80b13d301fd257b25cd8e35cd201f629627a5f23f25b1667bd05bf0195ead689813acded914a8e800f72e332605a50bc2fc56f2bc5d26ff8e8d7bfb290bd85ad3fce2e2f387c9bcf99dfceaa9b3fd0b7bf9aa751def1ba5804157916dd771518811ea92da72dd56baad486bf5ee74be5154448fce4f4cd99a53921c3d19cf210115d9072335bb82f5be48d0ae266c2254efb1641c2b062c67588cd621334\n\n# tcId = 31\nmsg = 36333433393133343638\nresult = valid\nsig = 27d888fc7c46d557a83e3c9cd507569e2974ade0b87cee080e75dff734047ebcd9d7d4fc589c32c714b810d65a39460fbb85ed5e57c749c18d41a8e5efd9cf8fb7ba6802ce9504a7cd38d45478dc1ecac6e71a7475f8f2046ab421bd92c0f02545e51976947e09787d969efce3e39e66eb5645f1b15d850d580fa1afb5af6beebd4114e4e62d8e94001c82f2b6cee03591de924c7faf75f1eef6047d3670c2797b210d4ffb88f424bf8c84e615327277000b91af82fbbfa5cc4612644f7cfb7185713e0a6408576bb671040496bd3f8d7875f75a6eb08e44e2a9e3b31274787be8ae665332864e2fde4b944d6443b99b3c6c3a712fc27147f98799351a5c84e3b9ce898a43fd85f8c296a2d82f813ad4f7a2adb157e9ac743846ee596c782b2138e6c1248c3728f5d1a46c9a75ce7bbaebe8b33d44a70bf8e35b000bdadbf3796a38ec4c27f6a216166dfc1621f8509f73cd253acf1aba9b687212917aa840fd5399acacfebeb2ceff5b22287bf5402f9c56b025bc337f22ae1c6ace24d016fe\n\n# tcId = 32\nmsg = 31353431313033353938\nresult = valid\nsig = 527dca1594929ac8f5b13a38b7300b0d692494526151b90d30334c06daf2ead87a8488b2547fbd3d9331562321da29077fa9801097ec1691ae0eaa6879300d4411874cdcf3aab848235d69cc7696af87f861a2029db0e83f5fc79720b824b3692f5b5ba0e8207efd2c3e66bd0e3ba79989d1d6f2784f69bb43a6bf5fa48dd9578b31bb7ab93b17978b0d17378639cb610b498d9897eeda4e302512e7aae0470cc43ac4b707728ae328344e908c0ad051c47751532bce56dffd05e8515d297798c58b8763843af7dfe481f40b2b7d7cbee868a506572d6a54cf008ce85ec0060bf82301953b23bdd5e47747a535d3ef8fdf5db0c65d701b167a531fcf36a48e63d8cc4496cd74cc5d11ab04b32b7e9c24840edda771fb0ad3c13f2aa3803a104e09cd3238de3f3c06c42224a9e66287aa53db9ed088b7d6964fb5823e0396813507281b6c4ce1d5ba0875c6eb3a2488af153552e302e4da440753e21fe085e770fa3c23a4bc0f056c464c52f3bbb12878ddbfa88761466e83728ddae9b6045b45\n\n# tcId = 33\nmsg = 3130343738353830313238\nresult = valid\nsig = c6fa78fe1091df4cb9d5f90213f52d43e8e2362a0ec8158783d590b8bff66366fa01c9723861c4f8fe32226efb1c88621d12a3ce9397b0e8f728f08792386603aa68e22a291fcf57ab7bcda3210c09fb7a48ea1967f6d0a22971e5d48fc439c3b1ed391293dd4f705289ba25b0d4f542816e592f910461b1f4c04ef9e73e5546dc8321f51d89245c9b5f68ec0eae43bf82c2a36949a94588277f829a017d60254b2c3185351a3a856f7aac7a23b8e3f87ff1f0716a4d1b907becbef5245ff0feafd1761429e7049055d20d967cc02fd40a1a25c3661efcf97b2dc611dbfb2caa0db2f00829e579040a33f7ec9f2bbc3d997049a7b12dd40a68f8d9b5264ed510cfad1b644c24f0e8c3354fe4885bf385f3bcfea73a13a0eef555a706f5244fd902b2062e94c1bfe88466ee9c632761605fa79b6d799d9e79897bf0e56efa34f055571604a409d5d899a8550ffd6f002cdff6dda4a5201b2f95a7601c846cf1d003c5b3fe93a9ba808b2086169e5bb2b895fb29100f141ebb3567bedeaecdf001\n\n# tcId = 34\nmsg = 3130353336323835353638\nresult = valid\nsig = c582187c93243b6e33d1536612de1cd350ce22a3520f3f9ebd59046a9f7d52200fded0aa32bf9e8249c189a59273f2cff5bb7da32bcd53c72b0aa730f82d9e5162932a7f42b65fb9e7a9ab25458caba2b6058922c21078aa7e31dbf24cee8dfe9367102dfa41cb73323fa0fd58d9f19a167587e19b5abeb075e8acdbe89cc5da766b9f87175c7bc7b7fcb7a68b44dd8824cd4a56165d5fa290bc332664ba885055bb7e3437d33501237fb6bab3be514b8ff4c2f15e849eb2d8bbe19bce1317982306fc29ffb921a76b688c75dabe44035b59830590b64c143d723e6114426186eb0d12a5ee5bbd5e73f538a8340aaa80e0c036ef0daa3e980fa69ca73f7e04d2ef8c9565c8c0c0154af2ee9e3c90d9660d9267e1847fc251d409df72e466fd6415761390347142cc8b6394a63e179ad401f4ef51fca0288c78a95958312febd894d1a36ff9a82e4abcd8a27d085cbcdc54910d4df2947ac22fb7274fa2282e39b246c58cfeef5962e35b772d2573b8650778b317de8e17be4ce056537d797209\n\n# tcId = 35\nmsg = 393533393034313035\nresult = valid\nsig = 5e43e4fa01f47b68cc7916afefa30e1067d5c97231dddef925424b7ca45a8f37362b1170d01594fac651891995507da14cbe02f5063046525b0dd185d6b4962d28f73e354bd9b78c9ab0fc35565571167af0d11ce0cff9847cd06779ce92c1bd2432116b216dd52f47c0f7274813e805e6c4f6cf037c0f346448558af381e76b7e161291fab055fab8daaf7a5fd9ae3ef43facde73d483711cff04acad39ac74fba5d8cdcb22c9981c48be6c313a944f25fac0037f6f681c44dd90f56d763e308b998feff115fed16e19b83ba8521d0a465905b04c77cba34fc6db055ce7aeae95197dc4e154f6875878a1a07b14bbc0e7870668346b92b322fa91bc11ac3806fc3dd39fabb0cf02762e004003805de8a48192970d859c9b543294d11fe9ebe524ae7c36682c786d99cc14bdccdbd648b0703122d9bf2667a2516865e709397d1050ed4a7e65500954ec0425d7a8d4c0c4ae4554cebfa7650a242aa891ec7da7033f384cafcfa2eb3aad090120fe63fa0776508882bd4fff340f8db1ebf70a1a\n\n# tcId = 36\nmsg = 393738383438303339\nresult = valid\nsig = 25d0cdc3c06b10672d7335b0be5fcf402b3ad07b4bc3a97f04ec4b375475172db481e23be199eabc2e56936b8f3e537f9a76fbe60f5d0365400f3640ffeed1d19f8e98f7957f533621362120df4d6f0c6902760f1074a122223d1b643bacb94c8ea33f7ca2c8cc6c1f12c3ef4916e4b873fbfe9632f2bc95dc8c64ec639187b078b9c4eb5d5164d377b267c4e2a61839898f2a423a2632ed19971132366abaf871a89bf28e765896072a77032d28d5ba55bcbd72530cefdc29131a217418ff9ac814368aa66f6db198e33c3817a8054b5604e796e0fd27d72fdc2df780d37369480a87e7b69aef0a5717139bb9aeb168300801549af195a7b3b17fa75f7d6fc92e38d2afd70a74ddde5316e7e7eef29abd1e9eb9d6dc1c38b876a2d5142a2377ab22b463c13084f4ff7d44b6e2916fcbceff378a65a10a0c5da94a7496a1a9985ca5190cc207b60d69b28c480b7d26cb5b740231d90d9de1c55d647fde75631b2b6d363a52f249cf6b643803c573e73be9286ccd17cfe20d3daf63ae5a18a497\n\n# tcId = 37\nmsg = 33363130363732343432\nresult = valid\nsig = 8101f356f3c6e0b21a1c075f7a3efaa5cdcbd9374a9df447f5be5b3b28a464984e6c6b819d61f1c7f07657e95ce63a4dad768b723f1e30", + "5170bc4d1016cef695d91a65864bd1ab2365b2bc596d252ee206f71cd44228fe127e7373efa6bd2e845129218b99097a074f7cc03ef9ded093f4be643042bef29fcf8819967a34a8db6a066b73c311dd2931c39b1aeaf55fcdc035df8bab8105cf0f07f5cbb30029da314993926c2e92b5098568ab1c533b179b8c2f8faf71699f7e6eff87daa4a5c715c7ac0e181b87b2d8d791b61130045fd35c34ea29710deb0c33c339cda01195d12a5e23ed545958f748e23d6b86e034186d9dc2e5b527a7375984ce505bba46b54b5834e1c952a7af468d9b9dc29f38458f74d3773fc5c35a8044a2faaab85759669225b0a981d8803dec5a5655511199ab43abb213c4a61b1c1b3931e29c25f948fcec49fcd99df1420e2d894f2c33a335082cba0644e5d1f14d49965db1c49b7d33c2dae8ec6b1941e8647128ee2b295ec5b74d27d6bb6ce0f1eb19a83bc2\n\n# tcId = 38\nmsg = 31303534323430373035\nresult = valid\nsig = 130b9beb5fa37118ed59eca2fa8d7c921de16a6833b93d98a3707228ca50b8ed6efc254784430512c4ed005769c8434c9e752ee47069c95cc1f476866dcdd62f2062de8392e5fbd8c19ba2a08c80ff6b66aff8411ae49ebab93cbaec141e8d9d079ba5a2a552b1845fc57ee718a45e941e925a5df2bb9fe11b4602a6399862c3185086627836043ea15e5a90a2a1ed074d7f75090fb72665356a68bba2f38610925f69326bb24d02c37af09cd05cdb4c1d10505d1c506b719306e4570b752fb28be3453046fa61e5509e4cdab16c4adf44fd3021202526479ccde6ff14190100d5266f6cae543e65e34fc9726d9bc49751466aa67d54a7efe7977e8e64dd4cb3ba0451df8db524fd09b1e196e2d26c46e229291f4df7ac83875554d0ca1f55786dbefb03d8fd9a018401537dabde193494399823e341860e4f1c24a4de0c86f4997eed0308b6ce27b3b926ca80284ddfbe74a62e97016e9aef9ca7182cfb3f1a16e1e5b5e3a2b1dde112639218054f0e9d477291f0d580c1ab7e840e37a50fcf\n\n# tcId = 39\nmsg = 35313734343438313937\nresult = valid\nsig = bc3def5a816a23d23fc8a7b8c4cc8789e4044a8c963cbe7ff9cbcb9e50be23ac92524c5a5338ab8b42e7db1aa83180ce3354aad430ffd2ae43ebaafa88990d100e27d788c779aee23846e4674af21b81ccedb8cdc65d6380566f649ed14c3e43dec94b3a527ca6cb53001b6d8f9210ede057fce83f0bd7da60033b96afc48a44cb4341382f134331a8e26f2ef0956701aa12151313754381ae2d5a99167222bc91565e83aea3f057b286794dd9805b6b533831c23984498a55985cc8465c3f35764d28715692e9a92490f2ec82122799576b808bc9d0fdaf87bb4d391f5bb25c506a6fb92e6fe746de506eb3748a6d036ef5d8804000dd0ecf738709ae6ddaeff44734513374a022c21ad528a42f6f0a15f0b5c47d3a64379191f161d5f96be33e7d61dfcce2a30ecb73e34b99d86162b66550841dd700a38dc1057838397513aebaa411e347c29fa9a2d1789378f044cdcb9417f8ec3703be8ce911bae96d44c5c3664c62df09f58a2709eb379c3921ca5b1a277bc7fdb7bc57737542316ed1\n\n# tcId = 40\nmsg = 31393637353631323531\nresult = valid\nsig = 0748441edc133ae26fa1300337716e0249d9c9096e9eeb773499b442dbd1641f3aeebb86ade983206301ade397b1089f43dec0802d87d23287f89f7180b2d92ce2f77041038005d1cfc27fbcab2bafd477a51cd4f754fb58311b80c7f481205b02c1102536e4ed18f9c26b1bdee67b72bacfa4d69bbe8eea7c67963c644c26933d27ebf984dfeeda416d45bfa183adfc10d8eef03e7b159462102e546f40bcf27e723ca2ae516e768488b2ce19303f4cfe54f27be9f67b239aa6b379487995671105a21923bfcd14d51b4b5d722cc7cd0a6f4b45a95bdfb268fc6dfd38cf73804c2029ec83d055d49995c4e1896bab3b7ab0835bd8ff1a2cf4ca185cb8b520c8d707d70429e667a5e2f40060494a022c17da52cc8111c40385164a34ee45dfb52bb34545dee9708fdf2ee221f7434d0a0f80b7bae2a7e9c01e2d74a889a25a43f39b3e75ce3c09320cad054d145247c7c99d5b31a53f9cd0527cee1c44ed8545750b633916bc016454a0e1d4c046e600a43029afa4335d74795ca51216bb2041\n\n# tcId = 41\nmsg = 33343437323533333433\nresult = valid\nsig = 03239cd5b45155f6c48ab1ca3347f784642e7aa70bb7dad5dd98d6542fc4ffa1fb4c1a4da2927e3c395386f2a6024963cd4f3ef48625b9e89e92ed53ea68b1ecf962eff8e6115f2eef77652c1b99d4d6128367971203cd84d134e1d3a2bbe0c9d15879518165ed03d4181e295d6e66c4619e61adca73a0dc27275ec35d426f6add92bb798df26b61bd3492b1d8fc6ca9ed6759c7c8ff6ea32753e11b4ca5cbae38f98ac7777aa52a5b7590f5d5d76135393ffe9a3f15379a4a262796aa9b5ae08672f2a3564534e2dc3f957a8716fe786b0021b6e1935355abf9b0b75ad3b80aec1c152542b813b85f5820a79d5f53e3a337b36d4d3a641c450f88528237b610f489886078a6a37a3a2d6d0bc49aed98f9306dbcfba330d00a0c45be89c85747310ae1bf8c92ca960a24beb76a4020fe0437fbb91ed5a56203185ee5035e1eb4c9a0cdb0cf6ed8fcab3956b543dfebc8ea1f275fa529bf33568a053d2041e340dff724edf6eb6d2dac135aca2173baee104442239c2266a7cc03cdefe5b928c8\n\n# tcId = 42\nmsg = 333638323634333138\nresult = valid\nsig = 64ed1bc0540b109447058fac11ad2a45dacae2b174abb4c111e868ab5d9a622145e59f598e73686b517071b3f7bee34d5514227b9348fe0b2a5b772b7ad4d9582ab2898e1883749e75947c647a4caa9d77d09386d9b4ecafc741ec274554299ba25f0515b7a1e58544fb5dcd8f99595c059f6b14aabf62c263bac6b295875c863e210bfad79772c64ba0a346116ce79513fb176f0e1f2129ec2db112848daffd20da01f8208b29f102cd813691adaccf98068c081168f2c1932055079f46e3ebf36e05bd4554ab2d1a75a3bce9db7c4d84a89873f5b6bc8747166cfa861092664d1ce95e28011ee9661f1412c8ec3ea196f996e3e9e93b5dd5f89d31d9f56708beb9b06b92f7c1e58df5efd5c63115a792ba4d7f69ddc782ae3645894dac86d47e2671b8f0e63ec7559fb997b25daefd1589a80f163f93ceaa397292ada973296c6b0f2660c6bf7b66b628b696a6109c9e516fadb25a3f475ee1f273a490a028396bab59ffb8e91abce0a246631c2c76ee08f8701704f0c4347edf03e3f2e521\n\n# tcId = 43\nmsg = 33323631313938363038\nresult = valid\nsig = 65492fcddd6529a4e1c19f7950c492021db03f4d74051396a94abbfc6c70ec10adc1c44cf77535e98da1a096ef5e93bc55f9a9ded5d59eb15ebec17dd51cbf7e26cf9a8291d7abd8294398193e981ab84f5385962e7cb7b26f43875b8a2a2e89eab011cd8a9d3d683407eefbc7efdd2a81618b5a7c0f6f07cf311fa426c86974a9da06c9a8981a048f8c7b3255eaeb3e10d3d8c0187dc5b3629bf5349996655bf5f372b50d82381cacb3d9248b313fc353645199824534cd4953b2aacb20110ae426ae59f84650bb3b85f58094056511362f9fe62601fc05ee75f5935b8526bab6968b96c0c65d40fece4b70037fc319ddb9f9d86a453d32de2818ef5e2693a6beec627d881a00805e553e15176e9faa6c91029e3b801bea69f427c2dc05f9db8ce7d5a31a6da5eb8f1125d3ba724997df48af34e40a6307c7ef1d205361bdc89817c4d1a2023874cb2a8dc903ab171fd14df0745d65f3204d99e0d920bc36f382dad09a4b174adbd8bc72027bfa1185838e2b20ca7a6ed226eb8b85df5fe26a\n\n# tcId = 44\nmsg = 39363738373831303934\nresult = valid\nsig = 37ec056388181d8538bc2efecd679986d8a0ef2ae31ddc67fc54aa915ab603a6a34d62fae586e4501bbc61085fd798b3ef753cfa2c0648b3ceaecdd393ee601a89d502ff9ac14711ba6a8d377afafdbf4017f6cb095b7bea1d99260e51af92bbe93490aa484fb38a91f8e4bb94af872bda587f2f7c5269ba7110c5f2182c810ff0ee356dfe7b084b3de5e15a1196baef0bc86409ef187297e01719ca1914beae4e52b7a494e0fe2578c4051b5be61135dd0345dd96ea780e7efbfa6342423fe4f67bb5c79dc55852b3be79fedd980897d68d61ea3e4d5336d82370f924acc139b6ac711ceae9cc60b9bea13c32074a475c62229d963a1527012146c53f97093f5b2e2039a4d52f4566bf3b8bf55d8d2efdca729505bf0d1b0b120aa835ef2cb7c3ba065f81386cadbc00c060c18f4ac989c757a63108be4ecf6da31838b17ee1c37b66a887f741f8bdebc3c0b959940461e208aee539cbd10994bcc6c0d2f55c41a17f8fde8aa5c0d3c4fbb35dd48b6ebd9f718d924bf16aa4d107471a9a3e71\n\n# tcId = 45\nmsg = 34393538383233383233\nresult = valid\nsig = 0b310ce960efe7d07c04ce0e3d365f157a48b171bcf2ddc75ef02e097711ecd1942ace2c414682dc2c4b2ca884b9fd7a49527319c9f444cb3e39a92d1d7c8236010432e731181514d0842eed1a3580ca551f81cf8a43014ad4d57f48a91207cac155dc40724078a4d220f3906b9c2289af6ea390222e3f6c17a62916965459387d4ef60c39eb909f6c2fbf5d5e67c65ec132f763cb43127281cb0148a06571f7ff84b11a551e4a2b7ce42792830a13ca5c1a63aa5044f1fa96085dcdf0d2c4d7f8ac3a957bbcd6f1409cdcc2ad59f8f62b7286309c8b77f85679bee92df4abdda67287d15e6145ebf4f7ffbb11139f17252c80ec7ef1a7f589ae44b26b00d11e228bb1a75339b47ca94e84ff797b8551a6344b72cb8373c26e360ceff4b43511a47f7e6e99fec828dd1e9bfe901fca7b95e88f7419a7e3fbeb14b1163e032d731876a7704418a27531d4f6a33652e5a419d21aeed1486be626d6a09bc3d3581eabf555545cc9d58005f74c94f70777450501df2a8d169a57d8c2ec70dd159fbf\n\n# tcId = 46\nmsg = 383234363337383337\nresult = valid\nsig = 0d5c19376a13376655c05270301774c7d08879d4fdc341e64411dfbea6c135c63ab50c20bac375da36811cb6cbc9ca6ace906c6acd5681ec4a6b545a54316ed1526a69fa6525b11c9b98f8f29a984950f77486b0a15ce855826102bd3ba3b1651c8dcaf4031ce28f51af0a361a23e293aadb727b181eeb50f4fcedfd5847f1d01421f12f3cd11b1a2b3b3ff2e6fb31f2c138a2f4f77d008a4639fc814aa6fbf8a47004c7bb72de41d0329580f9ddbd2d19e077fd9087144931895bea8b616354f7da1acf077d8cd34021a88fbb73ccb735c1bae6127c48d151db02d7671760b25d2400711152d5c27a318ddd474f84885c12e8fbfa553322482439f5c9d2832ace15aa336cc092a13024476b95ccfef9022a4e0f0bfbc55c40947d45570ea8f09800f85e0cfda4eb9999d859b9b3a1e9e9ee0807ab32e93f1e16ee36e4f4b656eb3c616ad797e17dfb5300c6553eece876dce978b8cb082a0e9bcccf4708a4f821189354f9e7310c358e864538ac374217e8379aa9f0e0e7daca3ab8d46a6ae6\n\n# tcId = 47\nmsg = 3131303230383333373736\nresult = valid\nsig = 4567", + "e5476346c06b1ba264f66cfd9e181059d44b0c37c4280a41e41d113c89834c0aa68d25e1ab8717cd85c8b4bdee482c3eed7d2eee16947bd68ca7e6381187b9f09a3468e2f67b0cbf404f0f5634f0ce62ad7eed6f557d7874290b8b3a9347e4f203e7d246096f4575127e860b13697b27fbdf4fe46541c48161676bf139cb8b75ce528079bd6f01e68663a7a7a3ca944eea312539d32ed11e0f3b1062ea9c251697468cb7cadd182f4e47602c14553395c691a4271f117a9db613e2e82a9a5705ab4ffc7dc7c0abd0371c5ca10880277ff83f86b4204f72005b6bd42ab03db0ab7ef82dbd48c7aa8e8f448bce64082fd935420b88fac01080cf544b18746346c0b1e80d82c4745ade0b0a53f226594c7e550df37f5856390fde9de9fe73b78efb4840b9e330803b92b1a192269e8537730ffb8207947724dd6d73c2f97b7c465dd47c0dec5d6b27378e53dfe91ab7c8fcf27efdb08fcec4503d02f231a52367ec85370eb1d959839a77634781587fdc9815603b8365d8da7f55f9a1439bfe\n\n# tcId = 48\nmsg = 313333383731363438\nresult = valid\nsig = 617db8fc96c122d6566a59a03f257336c7565117651751b4b76045e6a075aa3fd481b483d06f966c06852e0fabf2a997eede481ea707278283f80f8fd3d9d76b968063eb160a4f22b2d5c45715b046abb00a9996d9a4c318608b6de17f8287f769d801c7ecd1e65656de6855f77f3024fb57b3f5ba530fdbb5f34a1d5d34357bef984c29e36328c7b61a82d84a24bd811a945db051d3011f703865cf45ccc59a722e8802e7b744a1c1d5e19bae1ca9830c2ae22239a115c2e6bb5e05180826eb5a9848a5237e1c7b2f38690f43e912901f45a69cbbcfacd0f6e6287d63b231425626e876a8837a6eef686f9a27ee04dda25843ca1c713acd64dd26382f3f41590c66acba0e8fe5b610f3fda96cc50a2b12b4fefc59388020c078375eb5422b38641d6b7c5298c047ab7f48c99cfc3558fad3acc9226653a50b210b7e82b1b757c22462b066d81c80caa51dadd99228a7f21ac4538aa44ea034534f2bafb9d1a35f88ea870c975bcf1e2f200ae175712f01258073b1fdb80cc0b8d557e6e265ff\n\n# tcId = 49\nmsg = 333232313434313632\nresult = valid\nsig = 5fd3fabdd57d92ca506781f7010a675e303c2e794c1466f02b210509a8eac6487ce323e757d25cc8f7f37b041a6b910bef34c0480b6ec7a0b7e97a48167fa2eb19ca90e62bde2a8eab7c291be62af4cb458de6ae143a4a0dc71630728c0869de47b1d31e24bce26f395f49a1e329b5231491e40206a33232d67eb6a944c49b0c3c84439aff432fff3c97c6e3ef380e163832839a6fe7dcecc26659641b20e91f84b078c5e5ee5ba567c9bccfdeb45f298a8dd72881a587fc9e0c4f6da8d49dce0fbe01adec3cd87d4e58109ead90fd572f698c7d4945b75f5e1f1dff296f68f5d5ad8068fd59eafeee4ee29a2a9a9c06a3c501f0ab92fa99ee06342a8b178bd0019353b24fe118e8e12e92caba88b593dd6ee4619be013c3b59554c9a471da32155fd3992c5a81a6b1c57cc510216ef8de06679f08dd5cdb24168546f9d6f16f2352cf183b50477b0e8937a1eec27a022822be4bad086b9717d6eeff40d743ed6ae14b56fb140d0806f04e55c60fdc498716ec554d6b53161f260cfce2ea3ebb\n\n# tcId = 50\nmsg = 3130363836363535353436\nresult = valid\nsig = 4731821b071f69fe5079e2c655d96438d9b205f2334e495731b0f4f443fbd63025031ee5933d10cf02e6efc889c4ed6fe609977b95046e468f0e006054c56a5b3b4bcf39f126eff5cd7542f7e9ac1897fd295a00b5f10310761384f110cd9296e1484275d4d6553f3f705b62f70692700185bc9be3a0d37821e1537379d31a1ed06bda54b0a4e4a85cb293aa3cd2e3e728e096b63b0081ada8ef3db8d9eb069d268ffe1429c91266da750e7a7d3c5eaf43772763e4464a459248b31b5c08325617a0d9350d2296e3a380d2048be129905b6f6687022f9e5c1a2b70a5634a26f35b5618504ca41587ceb54cc99c9b11f415c7ac6aeb6158b9f17e44b4cc6a72e6e05df296faf06e70ded3852a82554b741011f8035bc11839b3fdffec38ee87b8d2a191035d73d45a6e04cd37bfc2fe2f1f759d64bd4b60fee54e71d0cc5716c6ea9b2118894bc42057ef6027e9e82d436112a0b6d6abf7b281b13d59c72d0537c6f9416e9932824b6f6f0352564c44eb9fd7c9eca99f1f61bde4be6b6890e6ee\n\n# tcId = 51\nmsg = 3632313535323436\nresult = valid\nsig = 2ac125ba1020ace4a4694a63d7f61b016743d8fecc594edc98d6ac28dfb8f41d91864485b3faec75a89c1ab43ab101388209734ffb6d29886ea1b2814bd6edad0d278da862f2b12ec18d60cfcf5a716d6a37e898a5b29235c6fc8bfccb95a562f2f20e5f7bf31abf28b82bbe5d31690b3eb3b1aa36a89af21ce247f8e079087fd371f0e176f72ef04686e756591e38ef77cd73af0787b01e02fdf16cc7eb94f6773dbd5a7f818819aabefe0c9bd47d79633b84cc9fcf7b335e3e6c7b48e8e5b86e3e85af249c361c43aef36c16f401da463a23194b0e6b1dfc669ef1ef4eb626e88c8e63edc823544e28dd701040976d082f38df50de1ae7be4f238594f8bcac3b51b2a79c5b70403a49a1b86ce32ebf3b70331a75fd25a54860842799e6b849f81648b5b288283a6cca8573e96bb5c090f323004a35c9b201621cf18ed1187db8ec02ce205ed2ef0d9a8cc72decb811629cbd864ede9f3d95e5609a3cb497f581c53740bf93b658d6d6df3077c485d51458b05803c4919616f4b012cfd966b5\n\n# tcId = 52\nmsg = 37303330383138373734\nresult = valid\nsig = b83b74425a7d0b75192094a32f8dce49f9c280e41da0a8c3c755b7f173110923e360528b2c7dc52457b3fcc353afbaa0c546002955658d904bd35835c6bc72fbf44840ae155802c573489d6c7d51ba6f4b27168c058826ff94db0c4564c178e475dede978a708a94ea7eb8a6ba43e47f8a72e05351b42fed7eea51b7fa3b63e14643797f58b7717e9792f8f5a433d6fbceec3899a597d65a33fafbad960b67d0539b82e88f74929232ca007d93804b269e554529e7310340d8a9d4a62165e27c3b5c21583744fa849df3a18fb3025e0f47be2bbb41574c5646f916f364d565b9fb044150b9e9095fee419620dd20554ffb9edfe1e72f49cfa4834585d25f693108557266529ca3a56f56f05cfe44b547ed359a562b94391dc3e9afe4414839522a6d34a907a9b3bbfc61f10815f275a62343d869e631fa776cfb08c9eb6f76fb249c639361e40b025439e4711553835b26b22423de4a64067f6df28c9368c46d933914ef659d584b703beb8675d6e4be7e2ed50ee6c3012d0bd38efd0784f6c5\n\n# tcId = 53\nmsg = 35393234353233373434\nresult = valid\nsig = 2ad243fba359fd7582b775ef93b1b33a1b7ddbaa13a67cb10208a1324526ad5aa7b72c98980a29c01611c00ba96db203a36a7a15d4ca00f30d3a760dcd9e596e2ccf992c11a061935e6990038e2815181200d9f1c22afcc989be0b9451936ddf1f726ca37b00dfd67fbb054e8cfa8fa3ca3feccdc033f26d4579e8bf4a7c2e8e4bd42c32a015e3c91d032e46717ec9eb1df817ba54936aea3e42645615626991bfe60e86e9262a61f956e10500691233c0ed4e534d05492d73720d33c0e6622c7c946074b859fe0957091a8a00ef55b872135ff432e255d8e6efe1a1eb3fccba437739af0b530b7cac723b3e61185cf06a6818725c88334d2aef25df07ccf4fb018aa2dd13d6be2a7ad8814f53834a72aacf68ff819489b2e5eddb0c9bf4cf350eba63f83ecb02713635a205eff1e97dac41477637ff8f25f0e451d0bb23a3615e0d138ab632aea60a05ae6fd1b97753ebf877ccf1983064a3710b3c12289d1b3350b382e8f37effcd532fa13434bfa9af1bee8eef60bc2ac63d8c1402dc6551\n\n# tcId = 54\nmsg = 31343935353836363231\nresult = valid\nsig = 0935bd0191fa4dbeb1da86c836f200990d4a2205d236cebb0c7487b754b8ef206e7f7072db5f1e3121e3600ce42597a96186db672111f0ba8728eaa96e361b7ac5fe43013f58ca17d10633f0f1fb3f164e151e10775c704d5cc537f71ac8a61ddef7d589cedff8954d1a483937044d1474139afa0cc73fbdad9e12fc12976f55ec81777f428e0dc186e3f3bf93b358bf9e1627fdfe51876d5f34959edc40eff10ba71c56ae8ec8f07fca2e1fc5263c2c22f1c8138499f824920a9a8396b31ae417c25a8f928faa665a9cb6b54752f98f17279098a54b68c58fc5879998e7f65130ed96155ec6ae0d92b35badffd05b19580be8386b7e8d2fdfe338f971780108f886a309196b6542dc4038a1ba456fac18e16c9975c9c60c47fa14ab953af372ebe4678dae70084eafc43245cf513142eabdf10319f433d7531f0d8b84b1b6dcaf8645644f0d52da661823b3de259ce2878eb20b5c2f76c348d9c06a2feaa216effd2e454530a037d8a43cd9641b55bf6e2d30777f29139941d81cba6664306a\n\n# tcId = 55\nmsg = 34303035333134343036\nresult = valid\nsig = 8122587ac547b17eeb670434c9a471b27ccf84207b20187763dc7eb19cbda4f5ab197972ee7d6930bd399e09e0cca27d0d5cc83222d6ab2a7c0e34ec7d4b95fd84b1f57a5344728e96ed08453ed31ba9c2fac3edb73ff9e937c1b1ba1a7dd0c927203333f7cb18c543d43bfa4c905abbb2d1385a764ef1023b3b822403b886b45c2b0ca23ad5c50009daf366c15b4a5bed78a3bddcd0c5abde0744a9fdfcde2dfbaa9c35d75f15f4b552d6e1fd4614481ab0a8b609fba2ceb207e32241a7a3ca8de02d36aea4d081514532e96345412fe78ed45a5007dce67fa1a88c29cd4c542b9d3ad44f84d21c0bc3081c54f7b9499e4c28e648f1db9732b7740100186b1f7fb111b5c179cb6e610dca7810547b181eaf4188348536069466c12980a92cb9f7471168f0a0c47e74d52fea5a22f70cb48de381e0419a625339cac99f4401399e28a1f10a2e02035e473c0d0317859f1010cd254a99aeb5a5d1b24c9af1da9cd5076208089762aef452c3981259d5196ae7cacaed7ff87cdc69a890a1b1614e\n\n# tcId = 56\nmsg = 33303936343537353132\nresult = valid\nsig = 7266f3390c4e83544de122f24f5c5df6e8e5d08d2caa08cdab672dc1d43dd0510855b15b1cbb90dc318dfd197e45b1262611ebe2204a7577deb5fbe93d36b587dcf79f9957b02daa33e27b19b623f55feb79fc5aebb21a55d61a2e397e528b5f68bdce0e8749f55f08dc4115354e5eb11add44d9e3dc4e43b89a0dfa8e0ca0a83aeee298c7baa0fd0a5f8afa4880c6fc16c1f543451dfdacfaea6e7587370793b6da0d6e9642156ad4ce85ff9e8fcb3e786b3f863a77b9e2e3fda7e9106a96003588ac0854094d4e2a6135342550c0cb134b1e8438ad95b80bae702bd62d7d07308092381650f00e712c96ea1e44eecfc27f9f0e79d038e905dbf4c21a5a536fc7dc8ae5bf219b7156f7ab685d9598fd165f9794b2c6d66ecce2a5451345f5b05dbea4b0087f384448955c530731e79cb987c1dc19e6ef0f64b728ebeccc8c77b817d7a8d2909601ed4fb1fc6042840c56758f11c991be89988bd4f07392510d804eb5cca1e38ca40482140e8534", + "d97c26240b291196efb36e37035acf6b7b3b\n\n# tcId = 57\nmsg = 32373834303235363230\nresult = valid\nsig = 63e54127ba8252243aaf8d07eaf76a53b52b8970072098db5295cda173164f6fbe8114b3d80ff9bab4ee9f9bc91ddaa572aa3c5b186fbbf5b0b4c5efd0396195f9b6d14a840016bb24d0eab6dfa48784f549055780f2645673b60c359a2a2c9adfca78383366a40909b8fc3349f7e425bbfc78598369955945591dc4c332fa8187ceba20c25cc1baedddcfc03d31cff2ac92e5aa7227cd5ee17669fbe6843b750058695bdb32d15f1c2c6541318a6a73bb8ba2c1d0459c8b0df04952e6e2592851f26290101f30afab2e310d1417955b9f742cc8999a1419a053061ebecf896400555b99932c892f7427b536d4ec2e12dd158766c9a894b94a0767745abcdf3cdf31d34391e2b6d7934601741af881bc2241bebbb0bb0e7ea1fe317c6a49bed76fbbd5b11372a7202c84de24d92180209a8acf9863fe8c5c32c6bf9c2e18cc04c078b0b1521b9992757f8c1ef9051d25da1e99aa884ee797a5077990dd937ce3da6183dce345cb6cad0511a0b5b5e443d614637a65c7e6b46ad31fac8dcfcb0c\n\n# tcId = 58\nmsg = 32363138373837343138\nresult = valid\nsig = a9f6dbcb6e1b58bed27576c89fd8c1b66794525e9aec2511f151cf78c5915b38739aa8300d6e9dba0d016310b6f35be62a44aedd8823d771ddcdfec3b8bc4d9f63c0bad975441b3341faa7a6c88b39a9148ddff3eec71c2f511c42288ee5e425f779cdcdacfe47748cbfe043f889b0ce03ec56062abadb2f692dccf9bba3b369bcca678df72eb5eed4eb830a7d61c0041135cdb096578bbcb1b842d4309be995f6947843b4f1c7919000d696bbcdb516688f69c09722404a6766f22170f0f07b958f9159fd2b8bcda115e7b79409e3fcaca71af9b75e05cdf62c8b9b904283134be56b58c54c307cf0e590e69f5f180329375eea2c2b04567c6ac99df6560fb0fc5d93304e9640cfd8eee0b2d5a5bb05d2ac7b1df1b0e4c64a278a0c6c694cc1b3555396a6bad33261c820b242a3a640aa7d17f2710ee127eef804699d7b1df6a31742e9d58cadfe42ae7e1b9f93bb83bce387b56d7e92cdbbd7da8da58334257ed837d115eb95fcd197cfa9daeeaf9141dda689c011344489a95ccabb014ece\n\n# tcId = 59\nmsg = 31363432363235323632\nresult = valid\nsig = 5a16c6eb90bd39e932224ba1ab24e3283d8d0ba55ed6b24b993bf085ebb1a28ccbab385b1e1b644a891894320dd067e2e838580243dadb383ca796ecf1242ad1a9cfdaef6e226bf303d9482dc2af1b3e5d8cbcc40aeb52deb60c0b092d0beea7904c3fa0c3b40e487d6d3ed80f10e1aa6a17728ff9c3bbc5518296499d30583189877851a91ff6b4cc7ec2e7b339989613437004ab6999db14ff55c0baacdbbd859824b900b24c571d2710ec22f5e45052307c1765d95f94b99cf57a907925588058c8f7f7fa86dd87e87e013c884d099f9ece5d3bceb16e42789357e65e9b75b81a89e30ad8f2a97c74a35b095e7c70835a0192b28501c8e88265cbffd6e4c5c578ad57d1f881115165191570a19df33a536b909d051ed98e2d9d9851e32989e62357f273aea38da08426193b7c1039fd5220b071cffce9690fe86c7648c3318fd4984b25f509dcb798cd1410225a40193259025c34ba22955e6565103a4d01c78de604dde9e34b838b496bd1733207137000d767f6e3ce639ce5f19707a9ad\n\n# tcId = 60\nmsg = 36383234313839343336\nresult = valid\nsig = 4b48edb460416b6e1dbeb87fd511aa579caaecef2bb7c7818e4d57ed2f1b1f656365d79545c7e392824212dc165d561af699376087a621c5b880fe3bd5084cd57ba6ea2cdf1f4821e2bf054511c9edbbcf2f46147aaf69b7d9d4c14bbcf51423e610761306c1caf1d46796165b22ef8dff2337314344fb5d80b38f1b38279ad65911cf5e19c13139f1f9c3e073e1a66f6656c29fa6ec91f84963cdf4718e1cfeb1a5d171a0cee5d90477df648c5618e3759201666c974f36639804c64c39402c2410f1e845cfdedb804b59a059ac1c29415eb14dc5707da5c2d190bea837ccddfbf998eda7deed2eadf3fe2cf39349cbab80461e0dc4548639686a4c475a3a432cd6216d43d83e62a2c7b44429ee42afe573d45f340304031837b98dd7be0326705dd7886d7eb26c5728c1e3433ce6bf2fd3877a48c06e34abecf9cab71813bb18a6c7fe6f4f4990da065ed10cfb05e9aef47848039b855ab0cd07c60c5fc56a6e1e5522a460afa946649474c9e66480d2a265ac1a29705571dc03310d50c11c\n\n# tcId = 61\nmsg = 343834323435343235\nresult = valid\nsig = 8bd972bf9fa52f2d1f2d564edb34310851c8c4b9f9136d8fe494cc79832ec497940b642e32466527cbd40af817e3ecb844bd62a49a53871acbaceb15c72a2deff8f7cbb8191985fbfd780adcb86a99c34c537f848b586b129e0a5e960f810b812c99d15b38e3657bc09f8ed4346a3dbcc16402e331a13839b7b23518786a67e2ac96a6ef7d9e931abc8fe188e3c349a27621b2da88c6fa45ddef436b420886cdb19fc031ee58201824ac06b5129c5137e10b6a701ad7b31d204e32c4a84e1b3766287985e721bdd89173626ae8c6b328dd26496b2726d5878b47590b38d0cdd7f31057dc066455d4ea8738c5dd251ea50815e96bd5a45eb6dba80dde52b63068196b0801b39f57b2d6c82e52e6bb66224046d1a2250fbe1dbad25e970bb0f43a325f23a40d9ee879909c300addf69295329c5cf1153cf4064917a734a2fe98f5b13a96d7c24e9469e763f84ed13dec5e5aab260663a1782c12a0b8286d96b2b0bb1a48df461726853ce60bf6ef8ca3820bfa5afb4ede207a8ba7825b7cff4cd8\n\n# tcId = 62\n# first byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 730a26b2c3fc2df474212c04fcb346b3b78a58c611351871ac1c5262867ce19a6f553880d68ba4c35827610b72bb044162b083fe9ffa7a82e2366090464821946f2ce1a8ea19b12c10c0e42a52ff805851c226748a9d65d7cb2057c9ee0beddd8ca02ae1bc36ced39925d2429d531c2e607bfbf0648708ef4f7d816c8839cc8c62036ac37e811f94a943198acf6e19c66cd829bde9dec9969eb4724e2d4ddc4f8c2bb2527007ddbaf2975937ece7f1779db28c610503e7ebbf0b03459a1f4794136842b57d04f14e22b98ef37939c64d08fb242cca548b7bb2c2d8b1df6bb8b0b7f6f38e47226e9fc0a4723c2a518ebdc5c4c8f15db74fe958bb567e55f092d3dc8af0128b353e2d273d574433c22cca579c479005b52c715eff1ef4eca8d82d2f6d7cc972fe0e75f19eeea3b77ea7fe26b1d29cedbfa7ef0737e4aa50a567b5fb417e356fa8034a72a53c5d1c0cd467808df6faeba89dddeaeb09c3ce7937450b41e7c1d4403b3033d3531adc24e9f5fe35d877a3e36fd3702289e69b460b97\n\n# tcId = 63\n# first byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 39e95e2dbbcf1817407146b19148aeccdc6b538729ae4f3bc240f4ed8cb9dc6a0e9cdf436bf5237e79e239a432a953ce3804a7a55bcc3f7a0d37d0123b1f046ecbf0eb33f52631e049b0692ba2e55db134f60e085c078b0cbbd66a74bd09c852fa9f029fdcc25679990dc482284de9fc74df343aa7197d84689011f61ec0d1d0fd3b811a918e80b9ede6c78c03f0ff6ec7e7ecba9cbd8a4124128034e425aacb004c042be805710e94ca4d36cc2f5d893036091950bb1663d3499f8ebe09ea2760e3939b835efa585834112a5515c8900db98a44914a6c3e5caead29b182e585092ee59126c9e6a7737d3b34b2fdaeb74ddb299cc3725687167d5c1f92d9186f3aefca61ad6c27283dbc821f6b5aacb238500a51f7439a8bf555ee26fba4c8613fc43ffcd254977f5f67095ef23e956721d5d71a8a73503106b2555c7433cabb304f30492c90b357127b09d45f171d7f4d4939c84516f96eb8f0693385e53a3cf8a6b4d0638b121e2e70b5451883ef368097c7a2010dfd889015eef0081513d7\n\n# tcId = 64\n# last byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 84f1e37e7d52955a8d076e83fabce6a7153d49e771146ad665ac95b67eea85ecf8c126887c0b0e4ff2f4f3ca11ccc510fc4a062b3157edf20ff2763ed0c44ca8d48c571119bf5a4ada5d87eaf5c389cd8ce3a9ce70bfa98d5536fc731a2607066bb2cd0915511404e69ae5ba69bc197ed995f51d835bde74c5dd1d4e69a54445f3723692c3b201c28370e4892ea56c3d2b8354489a728495e7d7d611e82c739d53ded82f1e72c4e7273ec63c8fc4cd13241219659d9c6c8620a455477587737ab97959a91efabc1e1de8218bb67466b8e890f47b5ae46266ac06e06247f3a169a31f9fafa268bd453c67b77f7ca9a53adee42b3a9acd4af467f7defbcfb96f087717137bcc0bfb41f5add94af4981c00d95f992995aa3ae406dd6df56a7070834d201eb1cd12c7ca87779de0eb38dbb92f4e7f6f78dd224d0dee4b12b20836155553b0a76e2cc071abb59a70ab393679ca458d18f9a5ec69d1d70b074d6cc8f9c3d5143de1c53dac156d36d28660953ac68670e34317a8864cf7c7214e5c9c33\n\n# tcId = 65\n# last byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 875c6f8f3395f75024b7ade4f6b3004c4607aa6cc99168d01ccd6cb481b51fb8a2bb44bd10a0e7768f282653ab6ca340b044ad03e09abd01bd0962a5e3724ff7a49ffee7818dd5acd0a6968c5c458c207d0f77eff3f8a2be4b559314b02e413865ecbfc0bf7ed7e66ae10b86efa9873eff30a17aedbf81cd98811ba228543ece8b14f64ca98dd26aa5ee83a1847d6fdabb8140e4dfe48db39f6a48a825b7af48c1e1bd124a2f6b76d0e37f76f4ba986ab3afeb55c7cf2f45021dc325322ae61b531f43242c65ba8b4a550801e966602730cc186bf4678d300d5783da4bb9d9ad54aceb656ec7e4598e3c209ac48e1b775b68896fe282bc2e3bf9cac99c601d64de18d31d1892b3098fae2933854f822c49faa09e079c4ffa9dd2c006471263f02e7e8eaf0345139482cd82ed8e6d3e080887ed13f2e65819a1dcdb6d3f5692f5ec7f3a0609f2f71ca4564d58f60a0311be5b597ddda9b07b52541ea924cc05146243d8b3899d3ab001184767f896f0e044224d96c975127c1c987a84d15cfa12\n\n# tcId = 66\n# all bits in m_hash flipped\nmsg = 313233343030\nresult = invalid\nsig = bed5c44c1e2a041c2130caf34ce43e4efdde6f7846c30d5a1bbdd88c266485322b1fd6d6353e85ca4538d862394fd32180b36c10b314a8823a6c4a78cb62b5b9884a6ca480ad2993d4f209d1895f9a4182a14d47f09a13c9c9bbaf211d07653f8c610c16d156c931df9436bc7b9ef929dede2c1d59a2b0441290f51825ef44964564e3420dcf3c1622a8227a82b8d3806eb5d246a3b0527cde1be3f219a9015653f3f8a3956d055eff6a90f42b48f3fae5dc57d6be111956e6a9b6ef52dc35ef5ac363f1ce802c4c09555dd343ad0dda96b467166ac515830e9e2ee40d56e68558408b1fb71cbc4a964ebd832e315d8bee13529314a8ae346f4d1", + "2f5ef00686f4ec26f9479f57e69244264d81a0fa39ba7670cdf2db9684e0b70d2864c4f2514e498e87d474e65cb188835d5fd8c34e5432944cc0874eadcd0a3e62d9f533583d33f5a99af63d6cf429363f58f691deb4a95ff409e32c393f344c5e0347b2f12125f6e3944f563d59c6539c661129f300267dde299972f02dcc240bb8541acf2\n\n# tcId = 67\n# s_len changed to 0\nmsg = 313233343030\nresult = invalid\nsig = 4e28f546283f9ac74cc99c6bca79bc208e47220cfb0717aabc521ac55119ec6bbcac880bed0007c04eef92a24b091d9a09ee5d3b5be790abdb2c98a07313d505fc876adcbb1089026940e03dfc10fb46a0c2a764ebe86e51ecc2ab489f56daf38764fc0a36a9cb4529367c9880bfd7631c340fb7fbac0edd2e1def00d65bd52e597e2eba1be1e41bd89a00f5c66fbc18b93e9cc1b5be962780f6d7a9c6d375a28556114f37a8a3606dcd68c8128bf7a7e5f1205778bcf3048bd4f7c10cbdb4ae759954c4e4db0a9fe4df270c41bb86885dbdd8cb7e72a33322238a2d29615a2f01e9fc59c230c2cce58ad096c2de5071e020f76c8c39874f1de677dd5d2f96ab4dc145098d25b740b5279f05713daff54ba695f950039882059cfc2f86c35a0501b8d0914aa59a806e8d1403fb2eef163ba1d6e3d1e18dc99c622f8c2d360bfab2c9e8fd9d74a027e466fbcf4fa56777ee0fea7e04ae1901e65b5361f97146d7f4a550adf77539fabb7135967dc16f8ca99e8283dd69627cf27cb9d2df20bbbb\n\n# tcId = 68\n# s_len changed to 20\nmsg = 313233343030\nresult = invalid\nsig = 78d3509284dc06b54583e11ddf2507d9e50bdbf079fc319d107bc2527c1b742f4c759320fa22435d74e94253feb4a379128e7f33c5f3462fbfb92ff40c10b23f8bdc5890114757364207768014380fc16ebeaf22a7b1a9366f3fbbbb912347f1ef595d742a976b69377533e7b61d3237c3693cf43b34f92773497b8df7ac0660f67439aaa66fe179b34d9dd4d013e8fab958fbe2a27ce84b6d1c3c2998a50d41b6b38000191673c23792db2fe47e4ddd3b5396c65dc44812e55298b8b50b5a2a01d508b9d215986113b099717c3a4ee930f479308c20c26630aa5419c2589c8cbbafa7eaebd71fca9e751793629d767be8709fef9177d6631a48731f5e59fc7e98cd466375e8775ba935f12b45575819ecef4d78d85b6e984d90d41c93bb03c832fe415fb567a1d951f7dbdf407beef8caa3a741ca7c7729c8d8ba98896dbe52d9785feb49332e646771e7d84b75476aafa0a54512806339cb54ec1c70943beb508966741eba4d39c2fe535aa82a9cb92eec99d38540efa3e39fbc02d757ad74\n\n# tcId = 69\n# salt is all 0\nmsg = 313233343030\nresult = valid\nsig = 042bea79b22418311d75e86d0c05a9ab4905e59b3e0b12fa0b1e372bbf66690e1c23145b23b92735f2214ac1eac2cc4045e299f40f7e418c91ff328e68bf17466eb3e28de3139ec23b57ce5aafbc1e0e1521a292935a35c6d6189a42a81c573f8be9a0cf80b34457392faf031b632544fdd50285a7fa82a4ae6150b60dd9a32cfd131b246d6c89fc92e9a1df96857a6b56fd9c897aa4c8b4ee8e10dcd0ee80334d2261f02930a3a54a3477c8e155731878637256f70853484930d180a37c0b604aaaf649ce93f886a5f9aaf86e529286bf1ab5c8e189d44a28814d5e1c7e5c376d8e80ece5686d6ebab90a51773be4a919b22bde123ceed06c76d2c1af878540b5ec81ce067959ea8333e2340a9f9d7f2b22e1052e7478382ca937cbdad62a6d8fa409170ef2a03299126965d558978cad7d399a683d19b76bc598b94f6c94c33c6bb1652d44508c777de0da7b651e7c938e802bac8355d3503029cd1725e2dd70a90627df66c04989e541a56dc7df6a6a24175d921ecdcfdcd0e8b454de4a6e\n\n# tcId = 70\n# salt is all 1\nmsg = 313233343030\nresult = valid\nsig = 1d8bfdc0ddfb312f4b902bd241cb5750f80312688daf5e29ec6fb8cb085fc2978b25f101483e99d6c3a04e7a66e800257ecde1ef18c7ba17eeecd94d89245d15a6690be9d61faa9c94cefd06a24ad229f521688af44a2b26f726268607a3e4c63228261ac1bdfe714ff0414d6029772e53243770d735dbe211df1ce96056431405c2c612ce307957c5e7a7616bfe877148650de4ef0b4cb342aabc9315beab5e33f53986efa2b49de12b7dd1ae3676ba09a2aeec8c39c65dd44ce408a8c87d91e2225ee776cc1d924f354ba2e91c0d52b55fff4ccca2cf6ee76ee6b9588ba8f2d1610a7c7ec520602b37e206095e658fa144393de3fa47d048a017ed93ab89f835b63f8232c3f31eaeabe76a056c53d87f2349198c73cdbe9bc89085f610cbbe5f5ba65a0190d7339f2c26a7e3913aa98aca138bd87e6178c169d8a120eb5e74c51bf5040214efdccf7f9fc61624079081f9faf9c70b294bce55895eef3627cfec1cbd488940f7dc5f34b386fac86a569760bd490e856d364912ea354d4abd97\n\n# tcId = 71\n# byte 0 in zero padding modified\nmsg = 313233343030\nresult = invalid\nsig = b01d88bdc0b6086a22c3ddd9b04a4e4a95c3b2550dc7e6c06e7a36ab17ecabfc5606a06f7ae7a0fe4723743e403112c7fc08800ecb687a64de4be5ea2482600fbeb01b46fc799b4206bacffa8c38d27c99cadaa0af333a8002829398d1996d1e8f64688670e30f14e96d9977056f310ffaa9d10b83d1c0eec4d3d73f64adaa343fb8b206aeeb2990342013ff42c7242dcf30f1653488b4976dff36a79853cba1dd28c6447e626e14a92459366208b7cadc5442c1a0bf0d4d8be6e32d5306173112742a873e8c4db781cd362b4ef198f32c750b44effe3bcb0448426f090941ed4c151c9b75588ac0867a2f468dc2fa46f0be778a8d6f2ba01ff47534c6d71d62109dea6741c60142580a1f4e22b1761200f4f1599970e1c456496ff82525085c0a12eea8c412b929bb1873cd7dbb2ab35b9eef309d9f0617fd37fb3c56a5bc84d965098dd6b0c058908f9cbde6858f0d0734726c593f2bcec32236741e110acb9d536a7942f67f4c8a4b06478229bab09e8a3ec73930b75e82fd4ac8e466fa5b\n\n# tcId = 72\n# byte 7 in zero padding modified\nmsg = 313233343030\nresult = invalid\nsig = 52c636d91f3a8c269ea2be767293a325a7addd7b1026251d45c1e99d818f6f8b1d52306768d163b9d0de3600e18b8e6fc3d9e874ccfcef45e4011ebacf3500e712f36863e53cb01db1749798941d557428ac017d22be753eb401df9a96261126b017bceadb8a58e2d85bd51797e59cf9b34b9a42ad90ea441da58fd986e023d5f617498be1304552cb6f3b27a44a6dc9289a29f10ba879c82ccfbaf7468f65ffd1d9b1f44f60480a8743e4110a454d6b88f8f6870a32336510a0e967b352b5f73bd6a8f39ca6f40b65c016149ab7449452a59ec87dfaaef33fed36f1759dc4485b63ee302d302441502c61b1d8427843080d968341873b272991a0ecf9c19d6f37170ca7cdb8a3068acc8d6a7aa4e8a33ef463097a7978dfeea14018732672df9a124f7b3164f3ccc527a8c0d7a2d75abc03efce9adba296558fbb1110b4c6e7c8f7952f67bc558219d2a836c673467a4995140d9d7cc377adca9898f8ace6446feb50e5b744f76a7f75f103b654096fd2902fd863452ab4bc0f89c457bf1aba\n\n# tcId = 73\n# all bytes in zero padding modified\nmsg = 313233343030\nresult = invalid\nsig = bcf0f11694a2a707898454a81625b83e3fe9a96155efad7cacd049c348c23eb728fcb3eaf395015657059129328f19f6e44f050d10783adfa384f20c25ac545c38771a0c46c9724a000868043d60cb9c688595c134022a0b6e99d594581f94638d24cff674a1f2ebc77c0d13a8dbd61848bb0595c6e201608f00c75c5cec3d3091bdaaf5d9c7cc60337591edf4850e7b782d45292baa165d99a811d79fbdd75d8389a270507d3eb26d5c240ef00869d910883ccb5436b36907a82e4058b5a2c6a27e092ef4cdcd5c98bb410bf229d8fe9520559e8167c0b1fd3b94632209bfe0332892f879f25afbba6fb67cb1dfc225746df618ada74a2c085bdbaec3b4f6d675504af6221ddd35db01829df1fd386236df6ee476a3660178a7408dff69a86feb522cbedf7ff866d5878bcaf19e82f09bfe2e6d33b4fb70e1467caceeeae4e5e0d8c81b0a7d3e17ec594c9be9c9ec51c23aae99c81fe919d942de167eee370c605564b8dbf1fee860c6e052a280c7190fda3c2f8c1f401e82c4dc1d67c73e78\n\n# tcId = 74\n# first byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 58384fb43afccf19cdd00c2006d5a6bdd12a5ac149ba6b21d5dbfca1b394624007fa5a729a8d4e308daacece63654606e9be32ae8184ce9aa237cdeb44ce1c961a4598192a609d1edce2b9a9b8944cff2c9bfeec9e2fe6c7887f04e1911d7fdc994cdcc5c1282bbb2a519d4e6433bf087790c8833fc63e9236463121ade094e082d72a456ef9eaf928b2d38a7274b23a5136118e82b897414bb6cd0177298aac6970f179403d152553fc2d7e13e40c3b4875e6bc3fda904582ee49817f39e3c79b8ef70105de88387484595059453f9f57b52f1e79f5226ea2f8168e2e48de1d0d544daad205f6c32a6865f66acd4b318834741553cb1bce7a7c06e4c33cf51eabcbbe44626f53f7a2729cefda59ecba55ffb4bccb746dbd7689e7f3c1f29a6f26180fdfb143b16d10e58c72d4f8abb3dc3d35cabebe7928b5d61d5c1c9bed922bd44badf9db2f0e29f54d950a9978b1408a2935c6ab9e2491bb0624a888d306692fcf71e4c93bfd38ce6590e022c8e5bef0a9b5a3152edcc61c7ab8bdeef219\n\n# tcId = 75\n# first byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 4e71b92c27a22e5003c8ff639720b5b809b34f1f2797135bb4ce06a7d1f6569c5cc4910d7cd0bbb15ec6d0cbeb5612eb9645eab205130e3cf04a0011f56728eb447d26dc77a4ecaba396ae84ff1481422d83e4418f4858cf6639b831105d0f8c428fa9dc69e380dcd77d8d30c362b1ca067bbaf124aaaa0b0ce4bbe9afa7f2787b6b8c476b6139960e1b436f8b13a1b85ffad382e316223261d7e7a5f2300cfc04e51957ea4a0a65d19596c3034239b8bf8f0bea6f0d6d749e2d3df8241e4622204c334cd748c4d0254fac93db64fbbaf79ecad12ad19c74d944970779a6401135a5a8cbb32b6334988df3424c3993c157620988aee3bf276eca44daaa5370265a6ddbcee5d207670c0d46d555027c1854ba9221bb86dcc4df2fa8e99833e362147c8d2c4598f467d0ffb8ceb18c9187511b4135ea068d9961bd07ee0fe56b7dabb222ac542746daa4a45cfd77f0213f7e5bcdbfebb5a4ad18d79a599d0755dbaaa19fd03f4bd8cf9c7c8416c14d23b0ca54de5f0492d2d9ced1c8b5cb79ccb5\n\n# tcId = 76\n# last byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 1a9f21db6f3fe415a344b61db76ebf60a84ff0df70ecb5cd14a16aafdbfbf895303d9eb831d7a9bed89ee3ca737f49643b077a824dc3f433c00ef1b693f82d30449fcd323a48c84cc5af375d7bfa2d3ad882480225fe4a6adf05c0", + "341a7913ab931bd085134fe470003d3a612d88ff0da54af1bede6bfd58f19901de43ba61c72d5f96302b6428bf03847d54ec1d74921787ba1fedc480605fcb45b74d37dd0abb4067f97e28ccbb86bc0a1c05eeb6582984606be21574bbb7bc04edef528a8581eb135e971c6dbba21b1155e777da9f6c6ac182b4de0c9ebfbc59c71ee6688d9b054cf7772f596fc9f6e87bca4ee8df7d6267e29824b1a70840c69e1d162858ece7de3bf08072f5caaadd1b8c6617fa7888bd5e9d5367be064cc82ac4b59b240e0e7397060417e6386a623c96bc7f9bc1da4365e08c22cbdd2ef1a4a77dfef4bbb3e4cbeee7012c25ce52ceefa18bf5056583109030f91d92de8200f3b202efb9cf58d375df1dfee699586298b9eef0d1e99466bd47a0d128fb9089ec6c87e9\n\n# tcId = 77\n# last byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 70dab9aba45e87811d667c5e8324d1f0cc50071c306e6877acfb9a58e4b74798b193159021875e18dde242a51c3885cc51573a95eee4029f663222e0fefd68cd4fa71c6fca4ee8e2876e62bf8211e0986b4e1e7afb2c19ddd5e4e184a77cb11a045f77bd2622665732d1674111166924faf5b935eb2bf4ac8cd47b63ac0078c5ec05d4dedc91595c2b3f5c8dc399051ed0654401cae20128c3dab28e7668b05b4da624fbfab83e425031c8b8f4bb76b78e2e666eb854b0af342011a5e19bb252f90a94ef9c916a945e3e1fa926639425c2e2954533fdab1f6b944650249478792339d9b2f77b46b094c986720029e040c5c6b7c14b777fc9a164004a5b011b15ce6cab8d080f9a006546be010591c638d601d775637f2ed7ab94cc786b05e0ea7b0b0b4c7d1c730de93fec5380c1fa76501f7e3a8eeb26287b27fca17c30952893136a5c12c48163c9e7796154b0b2d6cc7a5d9491a9c777e6d38c60413c5dfe921962ebad11fc6771ee4f3cef2a2717a78bb6ae0895160818881798b58d0595\n\n# tcId = 78\n# all bytes of h replaced by 0\nmsg = 313233343030\nresult = invalid\nsig = 9f8d0b7fc6934a3eb7ec6feb90bc8ed2c457eeac964f0fa9ce8924218c5dd38ce85083e657bbd19ce6d6ddb5422315c067ea8307381c7275e9757f11f94723bed3a174728555dea45c8deb3265879d95f005d6bbfb4c75ecc7452a20b923f78d681a010a2c5d1519841383cfa8b299ab60db09905ae9914c7ccf1d1bcb578eede63da12ab0b16231dd40f3e756a3ee84716c64db348b1bc3fd49dce7bee98a16a1f6d9190d57b940a265a31f8298beb1a1f759be17724c5f911ca1d8bc9f2233eddb09fe51d2d36ed1976f0431f06b8ffa848105bf019d30d7d8d05303daebb56980d1a696f1dc9224164932dfd119e8db7b87e44e0dcfa1b76aa2dfba2beba02f14d1410dfdedd27832c03840ff86844b41b73781195c820aae42f756959775f6038f9615bd319f2788756afd3f37d384a775c4d6484ad3dddd7cb9a45e2b750d73f4f802e60efebcc235630ace45f2c50a2d6fbfc10b951e36c363640ea762ce6ed57649be8b49a45c987a66b86c2d590056f7d4a178e1563bb07ed8cbb8b0\n\n# tcId = 79\n# all bits of h replaced by 1s\nmsg = 313233343030\nresult = invalid\nsig = 312fe5046619324e6b32a385bccabb713d787ff7a7fc9527bf1b57627940365fc84cb858435f078322935d0384728dc77a56e6429adb6ab9c9e3b6a250363d3a529c7bead31fcc57590faec372f816148fc73c8e0eed5b6dc591a10ca6711eb121eea991afd5b8a820caa377071a04a11f3ea526d150ce9e6f7e51522fa7b86ea5e03a4a37c44cf77c35b4907febb1fbd6d6d9c9f117dc0c41b465dc2afbdd09b93237564a4814cb2831a095fe9862d1f607a31905d45d6946a3d5b6377d85b424b99fe36e1d0fc5c7e74bdc6588bba4af33b9742e5727b32c24b2937a3fae82df3734e86b79fe21d9810fef8d6be753fdfccbdf78d735c4223cc8e7781f111da2d83a63288995d9baf1868158ec3117042a4bc4125f7db1a2e95877fe1437701f31955a20fa05e687ca84b6a8a4dcbf34ef627528bdd22a3daeb69761c47b8799d1e24eccbaa0cfd3f5684d98c5c69a79942846c745bfab428eeadd4dc52cf3827c08547c7e8a8fb0dc149e8b043a49ebd2160e0372733d38000581e775d0c7\n\n# tcId = 80\n# all bits in hash h flipped\nmsg = 313233343030\nresult = invalid\nsig = 69d4190ab2eb0b4a59fe3692c6b99dd3ec7a8498f3b81dbbc4709b77ad49ae344a68acc33ec05176a5c1f572dca5ca962d51bab6381d0dd050f539fb5f6532a3c811d2cbde95b043d854c50f479ccafa3cd7ddce182558693c701df66747e537e29adb9c7e2ec3f345fa5010ff3f8ca5cf4de31139dc3f9ed93b4f7ee77bf9bd29757f330e259e6ddd5e40f86152f26c76cf7a778b7565287406e431c440812420bb1c9e36614b51745cd35ad18a018acaf3a8871e904988b66e2a09662f88810bf5bfc17dd7465abb77d2f625ca83ccf2e2f187b217c28cc0818f04e259ecd59c0ce07f6732eb18c72fbd007a1f070c554424185ba45e9eb1b10b0555f8d4678fd7f7e91c92de9f2a11c45be7dc1366ffc3ab71f263eb892ecef25353bec9ca6ab78668cb9b66a9d0cd68b4df0b2ee17940fc1c66915cf30be060952cba3b4237bebf7ca4b59023a9293c6634912a90291528e48b96542a0560da0c457407bf454a9ce5919c70e62536b8e5e26f95940a2a6446a00e9ca64e710012d07c9904\n\n# tcId = 81\n# hash of salt missing\nmsg = 313233343030\nresult = invalid\nsig = 39d628b828f44dad501db99f8deb5c33363c043b4ba041c762a0ab6c7edc993a6ca165e15981f82ef30cf91e679ad3357514a6a88f45107ff7675587d2a78ff667d2cf66946a8be5b7dbd535c530a9af96d2ab04902b9ea2f790e10c109950180e61759de708ae8167e1b8ba43ef317d8a141e70618184df8fb054b891d6913649df603e3918b0b22a85c0e19551a6d56bad91cae1fd99dfc3abebb3fa5eba6be1c26b103dbfa36a89cd595e4ed881393b7296a50a237edc331e18b7d21983b66ff9ec5c321955ded14e179752b32117a552b513a1b8a94852c02ead9457d6c82c33ec95be7cf8eff606892d1aa345e0e3fe9b6ceb558976002c8baf26a494adf5a79628ede5c99c9afd706f262fd42272e2aad790b0d8d034e6fe056832986b0757053d25899bd78a5d773714d1e52d7121518e3931ac751250b6f868971648e2a1a1b424b80ec09c1fe153e6edc532d737efce26c025ffe0713327e5ff37f692792974a6873a290589a9b888d6d82ea856a523c9f3a6b2edaaf3d76da41fe0\n\n# tcId = 82\n# first byte of ps modified\nmsg = 313233343030\nresult = invalid\nsig = 54a5a3186bbdf9a08df3b3bb343979c4e74e3e6d507b6b81e1aa34421fee0fc53f9dc5b0f80ad535e25caf47ff3e3abb729e271e2e3d945b61e56fb29e32e7d93e748474276252e3b3f05ba709a1909b95414da0ada0effd5ea3572560fd24d3bfe2798006c322acdfb7caeab12b82169b72771b07030370f301a31f0b919724a5594d9b48bb5c8945cebae01653766b7100103aaa38d4c0080641fb7d946c2ba66bebc4e6df76c127eedd9b83dd239357ecd3c7a4e0370b016d542203963e962aba5ad8305d2980b35b8e4f65e2387afa912c13ac7f725b91badedb1332b21e15692752d474fcfe1b408d5c2bc2e29f67b9ab76cdfd64bbeb809ce9e89ca21722b4e04f03bbcf070df8387485d7a2c3fa0b0b3cd7e17562510dad0ffb1c16d838b042ab85d58fbf4429eb91dc9fb499d54cb92300d331dc5609b270dbe639522d84378b529dd7b592c5eaebefd4e032401b073501a4fe1530851c2d845263b0c988d6f49e7dea2cb4925f9ecaf77365bf01894202783cb4c79f3370b74ea789\n\n# tcId = 83\n# last byte of ps modified\nmsg = 313233343030\nresult = invalid\nsig = 4ed9724ed7882a0ea9d61cf2d1bfb1c042d94b2427d71079625d8d59f7e5632a578521973bd496cdabf1e9dd45bac456440930d221b95cc4d2080e96c963685b909000c45d62835b9e68ddc728e9c03a4831a90435abab57a99affcc7270b490b850721609f568fa4a404ff8b054345e1d8e4edb9234330f9dbe60e4ee2042a5bfb28d3a11a9fd03655687561938c45bafc64f59d0d5d72fd23bc40a521dda3e2b4a7b69b6047193cf8dc3fee3fd299fe88b58fa052bce5c4af62baf548bd5fa8c08bf6aa17eddb8fd175c40128d1efc64e40e08076f738a5da495b1e9e0a2f52f1acc1936c905fb69871de2159aa5b4accfeca00764ecbd03f0c9a2d8231f26ce5e7aef43f271d3623459930a0d99a5a41c726085113509c15abaecd8e78f25fb2e5c3983afda6eadd0e68d742613d085ea1db524f8d97e189136b6481e3e61b7f5290f2d10b15a9b93a5fb4a6891f5e4a341797e5fe27e3c202d267d76be409a3b72b15e406729a2e56c9b9d7cda30283d7dd352c88ea82350e4a12fa17b97\n\n# tcId = 84\n# all bytes of ps changed to 0xff\nmsg = 313233343030\nresult = invalid\nsig = a855da78c44be74dddee634157b685a227714cbb6a21288cdbf3a87aa48b1da98cd590a049d2ab715136d147142e5526bec5d1d08a24d99e9965242fed7c0e9e3a94c6cd76511083b7fc244db4b8efa094624564feb61992b02b3f7724fbe6f53f4f1220fe03f28a6defec4632cd074636fc129d75f7c12f2da83903b1b40e2415096f3bf3955d1bc231f643cd964463199da00df164f7ebdd967b2415ed460f9d26bdf6542ad355dc0547ddfc93c272902eb0698a53b0d06eac9acb9d54d335c4a460c97fd778dda40854abb7086beff78928b61604dd94f8e0bf8ed54185c3bf14cb8bbbd79c6f9da3888eee31692b30f370f8d6e2716daf73eb5f318ed4f99705f019eed29b2ba5fa6193eb0049fddecff02ed19300102e27be3c85d231bca8cd1c24e175e95fbc2a3bf8e23e2b8a622f48cd100672e058c2ca2f3b1855eddb06b6e707e1f05956a4683976749193faeccb5e25af7a99528da61c686269b49ea5b768768d7f624a1600e403db229a85e8644f4dd7147315cedbdc85703c89\n\n# tcId = 85\n# all bytes of ps changed to 0x80\nmsg = 313233343030\nresult = invalid\nsig = 5b7d079d667b60b3508089031b604327bbcdaedc887c9530ba1554694dfaf081ac91fd339323793d862786c92696f1d9523cc8aac14dba90a6363bee9a93fcd7751973ecb70cd812725f1190d62f9d950a552336eeec2f2759c4d347d4b75717c46365c684acfaac48ffa5a3a74748bd13d4ce461df0095bc2fe74b565f629be5407985ca7ceaac43810e42951e7a7abd8c2f548deca74f34afa47c2d72b85eea9cd2434d4b5ba81f9eec865a2c4ae17d4fe00aced59bc20f0e8a4e9b5fe98da5b7859719fea29b643323f2fb05f4bba83804ba1ae3040e62331d4ee15ad82221f14abe7a9dc440851fb97708b120e4d32e37327d103b626a64845a76d24762d12e4210e166a87fa77f8e2f2c9feda8dfaaefa10774480b8e6f6bd912c4048b77ab3cd7684c348c3ca398ca0c06393e83defa0eea7034c97695e7556facef23cc8a0e9d395080fbd94b085380550deca1a2952554873be0936", + "714c5d78ca53d36728919a7c4e7069ce97bf215da1d02cf14068c16100f8f78baba2d19abd306e\n\n# tcId = 86\n# ps followed by 0\nmsg = 313233343030\nresult = invalid\nsig = 8574a80f36973bf6b986c7b81bc6d289b118caafffc31d2c99d2dccc1e6611d598dda3fd7c22cf10c7729fa84a87e3f19ff4bf11a96018694b7d829bc003009eb104e8955e8a8717f2fa89220281fed0878b9febf77e5b81e93515a8541d7a4b8a4c008a298d317e7b82c826b5d67bf04d459a5d5fd7f69389dfbb25146c4805cab1aadd009d7b00956ba93f6d02f5266d8b06e28b346b06f1c3501cef04a1c607d7f85ee037178e6f2b0dde307eb6f5f88229541cb3d37e495cb5997264a0c1342713e8548e318681a783381dec9d6524f5c80c437b997f2fb95c80ca7158d0ebd531b4c9bafb19ad9ea0542217c1ad965ee6f1afa5a48becbf65b380f1946dcc85fbcd82fb90011e650dd1e507dd19037ec1f2ac98a87c25a6f588aa6b6f93d35b83c1e8e09152470dae2af8afc1fb2146cd426fe8d3cae5a80c1a63c7fc42825226bec26d57fb62bd048fcd921b8be7aa8d024926fe3cf5c5e3e7f5b2f50b33dea547389e40fd67a8523cd5facb29e97583f26a34f1ed880869800a4b35d6\n\n# tcId = 87\n# ps followed by 0xff\nmsg = 313233343030\nresult = invalid\nsig = 7857b1fe06fcc417c07766a9892ae30eaca65df7474575a70d8e286fc22e3092dcd23446b101cf27951eeb2cf879d320b2bd12f45b79c10018178532d8fc4d708583adb4d7d7469cd5362c074c519106c761228557d4280dadd907b27675e318033ad32ea71e001c3e7f68f6dc07509396a61db29a9ad376f406ff35aeaebf8c6fd0bf7df4bb721c91dfdffa933f37db0bee5d4f7d34f3df2a3a0f383e443647838d7c02ca87d9d79814ee9d5b2860fdfea5577702dbc829610ee1eb13f6e6f0636f39c5ec537c0695bca4971dcab6907e907650b92b96d5d64c6de52c4d986d458f0195345b1e84fbeaa483e3c926167a0d1a977024aef2474c31752515b55021048d2fc23ecc5ec5126c57b18a1656ed49aa90e0cb51e77e56507d7fc60b1f761354423b110d44c67664781e5caecb5da5475b01ab2356993378491c2ce4fbc41badf110c33bd0b78cd19540d8aaf27bc9f3450ce7579c87ee40a454133093ad89b29b99b4b15c21f072bd2f5c991e6a98a23fefc06121ba81540cad7e2a34\n\n# tcId = 88\n# shifted salt\nmsg = 313233343030\nresult = invalid\nsig = 9393a9989ba865a8be0fee265ee6b5b3cb9380019e3c4377521a729a968dee0374b547e94e6b12d860bdfd5197787d35208ae3e8d6a689d031072f6b993b7a8900a278fbf1c07dadcba6b4074375c666e035c2f12d158f626277d7d4b781c8b6bd71a97f575f08c4520b2d66588756b9fc8603a346cec73eba4e8350d7570e923cf84c1b33ad7bdd507d87c3ddf01084703f47d423a5abacb7a6caf5bf7ac4c61cfc91ba9483e7b3cbf9a094aae25b17468fb3a3b6a42d23225bd4859d2279037de2ff446eb441de7060a675b61b3e591a4f854265ffe937bcf575ea85b84046af568a298902774ad9a888847f3d20496d8c570da907686e3441998857e3927feebbf5540d734fc7093263b0efdc33f32f93b936d8f81b920745c2c854266059c92120435b3f41d7a3a5a7d2c3571a15db2136362f736e099e893785876f0ff0b51d3006417235129ba4480c4164329f1f9c6aaf48c93411e388f00cd8b6b125f4f1d3fbf21ee7ad4355a416101cd857f6ae91958aa88b31134a7b6906aa184d\n\n# tcId = 89\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = b77b9c5862c9fd0f4e4d72fb7bcb23b2a5d2124f13aa7001275451a10148993a3e846e0b29157aa3a1a8ae643e2ee84a459b033201692697eff53b3606e85c6649d76c8288899499f2751918879a034d616543c0b7cfb215744b8dd03e50ce4eeda2891ddb8ca9c568ccf98b3128be25e191a4462f6458c718b33e5f519e3de152b0ec691f2f5b8f3cc150ce37814095001cd60b3dc6e694a3df5aab7a0c1b2dc152c26901294b01cba43b74e4e28d14a9a614d0198c30fe578831c8d1b51b1db0dc34f6c47de0d38d20efd1afc8d385e6bffeae43280f62a5f2715af79af64f04d126e1dd36067bb44d01ebc78769766bd4332a43dba1b124a4cbed381ccb43952ee4cc19201f05558c11f51ab5e76b76b01fcd036a949ec9e4d7153fb25a1aafdc8e0f1754bb59ffecb9a6fd9cb05d527661bc013cb73cec4ad1ab046e1e94b6d518604c7ce7bae1dd1319b612cde529a6ae588c4c6a6a7669e82e141ba6352e4552fdf05d9d1e3fa217ac5b38629d81ed749629ec53f3b30f29df883fa68e\n\n# tcId = 90\n# bit 7 of masked_db not cleared\nmsg = 313233343030\nresult = invalid\nsig = 6ae7425610f6d9b6cf5a358bdff3bdd00802d55cdaba2201794738b900489dfeb11d921d87449ef9d1e5b0deae4bdb26cc13c9916a767cde8e0ef67de6f8042e1d5f600bf707f65380f971222d37088edaafa4909ed566694601e25bec8c3128dd61e664688b5ce2ed2f626a5b618bb10d12cc78ebbb0f3cd6883b6476fe4f89008d9e8feb7e835fa873f2d6d9973412abcf12d2646723b1a5ab4e3b206d49ab6f47789010cf902adf720a02c7677847925487634f81e163819f286da4d42437e66ead9278a088d9a2628aec137be60eac2eb30306e598b9459f0ee1c79dc132248f013f15fb80ba713703b66848612d8f4e5d6bc444e166998f3107b459efc73ebe1bdc0b98e4d57bb960d6db0540f68b96212da6ffb05bac7ace76db7b3bb69188715c091f14354fbb8a02cf2b2d77e7f2e8db505e93603bbfff2f33ba54be38630dba291befeca45c76c67f344b9daf7a7b0712b5a49e7b6af29734516570cac32d02074a74cc0e49797508e1aff2af9f20a7163440fd962bbcc5269d8f13\n\n# tcId = 91\n# first byte of masked_db changed to 0\nmsg = 313233343030\nresult = invalid\nsig = b9bde8fc005ab0b6b0317aadbef7d6e8abb69391bd7ea43fba5a49ffec02979f89d0a9efeacfccabae271c998ad7fbff4442367c07e49a892b9632bf4f30de3e95583875f3069fd3299a30bc21e74526cc51cb10dafe22b06d3a412a6509daa83d337e18c5dee6591a11262e008c3b562a18a9ada3169267eaa849b16a377b195ca6f83df0d2c2945a3d3fc2b872bc2ba965ef4186ad1e7ea5b56fb689fada3f377e0897e5cf86906dd2d894848a6f3d64d96a5523fd74d2e8418809fcefe5b9bf12f5ae7189e2aad268e835b5a701073e26be131c9dac06203142d93c95af3d00acec603aae2a24bff3d5481c7e71be5f63a1c47eef680a00991008ca0047c7bef7812c9b823a64e6cb40d0fb4472b702bf4f1c9483f835812eb3f70808e3dec7ab2ce2d8cf1c0dede8521780513140f10d84727d4f14ae06f65276feba1857a7e879e9c4f59c80760b117e1c4083e342018da1c42adc6c5255404adaf8460d122d3c670aa29b58c087d118643eace86667e6bad6c07f078f9cdb8618b48e92\n\n# tcId = 92\n# last byte in em modified\nmsg = 313233343030\nresult = invalid\nsig = 872f410815926494669ff81dc7114e096f007790f6a4ae3a946b64984eb28bf28351616cc82ed34172f1d1d0a8918f87d64258328db63b72127fbd26320a21c114a7f0b6c88ef717d949f57a28e66244b1fbaaa942d3ab2245ac76f0cc4bafcc119a64f7d167e3e2a64dc9a004464b28bfdcac00a24ed7e3689ca1ed23480c1a0625601c4e7f1e374b54c1c1fbed91e0967b40a3920210b84619c23217c2a6a39734320607abee432c7ad2bb0a8b735400bf775256a61324d4c4ee743ffe99a7bcd13a27b0fa33c0dfbe0cf9663116997573a59204c62aa497e98a698b5dd19314de9ef95cb8bdad0e07b722eb6795f6ea8098b7b092f7bdf73aa459dd85843b310d71e0400470ac14db383940519c060d111f0b80896083b6fb305ee6d9d7879d177f7cfd85c913d226fd6c75f38519d7e8f6d32bce50e85901fe6bdfc74997862a3b809e5ed5793013cd19af9efca616a9ac3e346136142374f58ca823b6a6b2870bfec41207b0a8f58d72c119e319a3934cbd40451f0a1e26b447a5687b9a\n\n# tcId = 93\n# last byte in em modified\nmsg = 313233343030\nresult = invalid\nsig = 5e0a2f627d11c2f5c2a61cec6b9ab6ea6f2620085e52ab1d162365a2c7040178b3e6222503efdbc66eff0cb892be95abee6ae02af0a29436de4ecd2ff63eb7e082d51ab31d358309747ce61e30df4ab3382341b88eb2da84406ae20fb3bf9a968cf5ccc871be02f6cd9f2a89ffc6f3a69a589526e8a4f1a8c049286ffca8359e81cb3173a2d2e2cc76a4829edebdd3dbda327a92dd35202b597bdf077d7ac2924f8cfb29a85dc25dfd2ab6e770cc80120a7bd594e020392e58acca9d7356773e58aacfabd66c2d9a888379b73868d07e3d14af1dadc1843f2a6c8e14c93b3b29134169c5ae3b293ee6f6a475f20c7c159258a8cf1a1cede602afa9fe7c61a3218c34024a87bdf4a64ef12c78a11a50bc1521836bc4d84eba90ab1db1b17ef0e6e95d7c9de5d6b84e11dd5422a869ecc7f90f952794f6093df89fb664aae86669c63bd46de5972388d81908fe56c6bd029e393047c52924a97aa55c07d482f98b784e6d39cbc280330a34ac4a8a72733235e66234903a4505228a3fc8e1146034\n\n# tcId = 94\n# last byte in em modified\nmsg = 313233343030\nresult = invalid\nsig = 07f0772411cdb1e02802f8ca699bf55bebadd254c9aadc16e1d6d4af3e12670bfd2adc2dbe80195f065d75fa4a25ef757766fffa4d902b386a9c7f247206f60c744938f50d6f840170ae94c6792299c386a1d6d7aeb73fecd5b72a28249a2ad771a5518fb694f54924e15cecb2d755da44b54535dc6f8fce0e91ea160ea942c9e34eef5d7367c9065f5ac270ef11a35bcedf663183f74cd2d504410b97b4034a59d201333f235f59924aad30fa877a31e0c1573f62e7be41f961e9c31ec334153d83adb0ef38963f0f5e20c90b67ae5c5e2ef8520587587c22e869881abc6bfcecd62a1f878115e6cbca7259e8b9e116fdeed841f1d698e85f65c7ae07421cf3096f6b31a07e251944bd7e2cf50ccf69a18de7c17700b25786d29ed74fe8d5757d4dabe2d6fbffc2227448ee8d5559f992a3b635cd74a68c329f1785e743ce9d3bee57b997f9ae2deb531f8994ada98d9a3536b074814c2d5003d6a3d50a9e56287f3aee8ed87104c19656a6057515fe17bb2a72a53a7c19b7a814252c8bee61\n\n# tcId = 95\n# signature is 0\nmsg = 313233343030\nresult = invalid\nsig = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 96\n# signature is 1\nmsg = 313233343030\nresult = invalid\nsig = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\n\n# tcId = 97\n# signature is n-1\nmsg = 313233343030\nresult = invalid\nsig = c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b1202\n\n# tcId = 98\n# signature is n\nmsg = 313233343030\nresult = invalid\nsig = c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b1203\n\n# tcId = 99\n# prepending 0's to signature\nmsg = 313233343030\nresult = invalid\nsig = 00008f9ac1354af4161d0e55b5674821d02823b3a6b3f79cefb98cbc77f9ac2d91cc6345f989a7828132f73f3630a247a936b6a057b3e5a2fda0c5999ea7721ee8880960c24cd2377e869cca1799747142d57ad6a8d83ec9254d89f591add11a758e1ea1e29bd08f624d0e28cea52ed5eed7c0f5f49d3533eb1cdbb2af837dc42942f9a86b5f4e2d5ce506697ef067a344949bdd89afcc25978af4d50c300bcd0ffc9d93cc559e3ae1a13215a1d3f6030827340c6591061a5ab7e65153b1df8b25e1421f924d39c7e6f76243c1bb9ae4063d9a475cd2ece45f4e288fe0720074e87868d70a5584a9ac2b47a56417cc76f15154315545a3ed6704b365f15d34320804469c3b09ed211cbc9e9e767b6f21fa16f8641d8b78b8dff8062a25b5bd3b6a38cb4706c42c1fbbe66db1c05cb57531132eb94fe1569735c33ec491c318a686c837ac810be4afff605f92bb390e7ab3cd24c0cd997cf13f112e5aa01746f43902432639e1eefcbd37b413c586f057bcba40a8f1251251e84cb7c87c53c1d1d558\n\n# tcId = 100\n# appending 0's to signature\nmsg = 313233343030\nresult = invalid\nsig = 8f9ac1354af4161d0e55b5674821d02823b3a6b3f79cefb98cbc77f9ac2d91cc6345f989a7828132f73f3630a247a936b6a057b3e5a2fda0c5999ea7721ee8880960c24cd2377e869cca1799747142d57ad6a8d83ec9254d89f591add11a758e1ea1e29bd08f624d0e28cea52ed5eed7c0f5f49d3533eb1cdbb2af837dc42942f9a86b5f4e2d5ce506697ef067a344949bdd89afcc25978af4d50c300bcd0ffc9d93cc559e3ae1a13215a1d3f6030827340c6591061a5ab7e65153b1df8b25e1421f924d39c7e6f76243c1bb9ae4063d9a475cd2ece45f4e288fe0720074e87868d70a5584a9ac2b47a56417cc76f15154315545a3ed6704b365f15d34320804469c3b09ed211cbc9e9e767b6f21fa16f8641d8b78b8dff8062a25b5bd3b6a38cb4706c42c1fbbe66db1c05cb57531132eb94fe1569735c33ec491c318a686c837ac810be4afff605f92bb390e7ab3cd24c0cd997cf13f112e5aa01746f43902432639e1eefcbd37b413c586f057bcba40a8f1251251e84cb7c87c53c1d1d5580000\n\n# tcId = 101\n# truncated signature\nmsg = 313233343030\nresult = invalid\nsig = 8f9ac1354af4161d0e55b5674821d02823b3a6b3f79cefb98cbc77f9ac2d91cc6345f989a7828132f73f3630a247a936b6a057b3e5a2fda0c5999ea7721ee8880960c24cd2377e869cca1799747142d57ad6a8d83ec9254d89f591add11a758e1ea1e29bd08f624d0e28cea52ed5eed7c0f5f49d3533eb1cdbb2af837dc42942f9a86b5f4e2d5ce506697ef067a344949bdd89afcc25978af4d50c300bcd0ffc9d93cc559e3ae1a13215a1d3f6030827340c6591061a5ab7e65153b1df8b25e1421f924d39c7e6f76243c1bb9ae4063d9a475cd2ece45f4e288fe0720074e87868d70a5584a9ac2b47a56417cc76f15154315545a3ed6704b365f15d34320804469c3b09ed211cbc9e9e767b6f21fa16f8641d8b78b8dff8062a25b5bd3b6a38cb4706c42c1fbbe66db1c05cb57531132eb94fe1569735c33ec491c318a686c837ac810be4afff605f92bb390e7ab3cd24c0cd997cf13f112e5aa01746f43902432639e1eefcbd37b413c586f057bcba40a8f1251251e84cb7c87c53c1d1\n\n# tcId = 102\n# empty signature\nmsg = 313233343030\nresult = invalid\nsig = \n\n# tcId = 103\n# PKCS #1 v1.5 signature\nmsg = 313233343030\nresult = invalid\nsig = 636d31d8d5dfe0fc6ab01ef2ccd4602dfea62d386b002c429e7e846e7a98d0cb1d448d25be039d5158887ab46a9dd49c41537a89036a065fc10329df051e5f2e5c1d4436e84790ff6db4d3f31575e5f0fbdfcaee625722c5492fceaa3fb29d0a865200dec06e117b04753ca9450a7ca7f7d1a1176cc38ecab721864413a0d7a22d8fc1595b6cd0032fbf154fbbb31b56d3bf963761ce8ec9fb38bba3419716d0d39e976857e79b1faefd5f5a2ce0ebd94968da1ec3a387804694d90f37b34033c7f70ccfb26beffaafb7bf56c1b8385d489217458e0a68b5d680f9fa45382fd1c227ff3c11e3ec82426ec648a564f0e886e5b12e695dd2fc8465bd9d08731fb140084c79be64d915bcb4ba10f1edb4c37e35231753be2d9f339d37d7b5f22c91584a68a973f9cc469a23d3b5800157dbd72a8405fef4e444ff01f7fd23efa143c1887504e81773743843d8a73209a1deb66c5f305df539bc30e871332e82330e5b66fa6ea253b2b64b4c9781011d20e80ddd8cb83916834eb8fa696b0a4b6bcd\n\n", +}; +static const size_t kLen145 = 115183; + +static const char *kData145[] = { + "# Imported from Wycheproof's rsa_pss_4096_sha256_mgf1_32_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSASSA-PSS\n# Generator version: 0.8r12\n\n[e = 010001]\n[keyAsn = 3082020a0282020100956353ecb7561945dc5544e4602466078c93f28507701ffd39e2a9813c8ac8740e6ad61c955d484e513b3dcea527e001a018ee2c207c1806a96763280236cd3c820dff79837c9b709cb4b522d3ddbc9192242259c43be75ea244d37ccfa8a4c75024a2cf7cc76e842ea69cc7ca1227405b070047387a5068e4976e4b8ed5f9aadd7b4db024fbb8d7bd8a040d8f6610c1c6eb1d4b606dfd182235d0360880304d5a750603af0c424b8c8e6dbc12c3697d2d609c97547e774e2e362ea96d1690dc9432112c535258b3db2c4c32ad510d6c07ad0788357883869efb8b629298724847925cf42b34386be700f02903db5852276bee2370941f397bdc3905e30964a0b5e73602703340960c3ed6078263b611f197955fecce4b9a32e43cd1d2e5e87c4ceb65edc8853a7ee31d28e16e5adffb8ac7b760fbfc63d5f174f4d0936461dbb12c964a6b6d6cee752e5fca1ab4a9fd238dd3e8860a1d763d2019f9e7b99ed7666d4e038710f90e0093bc566987d6c0092f571376e705b342d066c54e6e2578927b92c1f0928de44e9a6e1f49b907c6aa4f605ec9c398d55df81c67373b03cc8110162fb417f96fd321048647dfcbb392455115cd912ea83351853e6a185284648842adcbd25e67174a3b93b8a64ce2ce9de0e8577b8b662ce32e2565782665dd38e5bb5fcc4fe12e4320dab7773b545a09c6d39d9dbad459f21f3e624ee6ed0203010001]\n[keyDer = 30820222300d06092a864886f70d01010105000382020f003082020a0282020100956353ecb7561945dc5544e4602466078c93f28507701ffd39e2a9813c8ac8740e6ad61c955d484e513b3dcea527e001a018ee2c207c1806a96763280236cd3c820dff79837c9b709cb4b522d3ddbc9192242259c43be75ea244d37ccfa8a4c75024a2cf7cc76e842ea69cc7ca1227405b070047387a5068e4976e4b8ed5f9aadd7b4db024fbb8d7bd8a040d8f6610c1c6eb1d4b606dfd182235d0360880304d5a750603af0c424b8c8e6dbc12c3697d2d609c97547e774e2e362ea96d1690dc9432112c535258b3db2c4c32ad510d6c07ad0788357883869efb8b629298724847925cf42b34386be700f02903db5852276bee2370941f397bdc3905e30964a0b5e73602703340960c3ed6078263b611f197955fecce4b9a32e43cd1d2e5e87c4ceb65edc8853a7ee31d28e16e5adffb8ac7b760fbfc63d5f174f4d0936461dbb12c964a6b6d6cee752e5fca1ab4a9fd238dd3e8860a1d763d2019f9e7b99ed7666d4e038710f90e0093bc566987d6c0092f571376e705b342d066c54e6e2578927b92c1f0928de44e9a6e1f49b907c6aa4f605ec9c398d55df81c67373b03cc8110162fb417f96fd321048647dfcbb392455115cd912ea83351853e6a185284648842adcbd25e67174a3b93b8a64ce2ce9de0e8577b8b662ce32e2565782665dd38e5bb5fcc4fe12e4320dab7773b545a09c6d39d9dbad459f21f3e624ee6ed0203010001]\n[keysize = 4096]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00956353ecb7561945dc5544e4602466078c93f28507701ffd39e2a9813c8ac8740e6ad61c955d484e513b3dcea527e001a018ee2c207c1806a96763280236cd3c820dff79837c9b709cb4b522d3ddbc9192242259c43be75ea244d37ccfa8a4c75024a2cf7cc76e842ea69cc7ca1227405b070047387a5068e4976e4b8ed5f9aadd7b4db024fbb8d7bd8a040d8f6610c1c6eb1d4b606dfd182235d0360880304d5a750603af0c424b8c8e6dbc12c3697d2d609c97547e774e2e362ea96d1690dc9432112c535258b3db2c4c32ad510d6c07ad0788357883869efb8b629298724847925cf42b34386be700f02903db5852276bee2370941f397bdc3905e30964a0b5e73602703340960c3ed6078263b611f197955fecce4b9a32e43cd1d2e5e87c4ceb65edc8853a7ee31d28e16e5adffb8ac7b760fbfc63d5f174f4d0936461dbb12c964a6b6d6cee752e5fca1ab4a9fd238dd3e8860a1d763d2019f9e7b99ed7666d4e038710f90e0093bc566987d6c0092f571376e705b342d066c54e6e2578927b92c1f0928de44e9a6e1f49b907c6aa4f605ec9c398d55df81c67373b03cc8110162fb417f96fd321048647dfcbb392455115cd912ea83351853e6a185284648842adcbd25e67174a3b93b8a64ce2ce9de0e8577b8b662ce32e2565782665dd38e5bb5fcc4fe12e4320dab7773b545a09c6d39d9dbad459f21f3e624ee6ed]\n[sLen = 32]\n[sha = SHA-256]\n\n# tcId = 1\nmsg = \nresult = valid\nsig = 492e60b828a9847501c7ff46a4a304ee7bf61ae87dd88cd5598c76289a70ab3afb7fa9efa3228a1e826241c13c2e120d22cd3a38a9b9ec5826a9711bdb119748e0f7080ccf917e8cb53f6f21ed19f4ffad9efd94c66e329226a811eef928816b5edb3b10d1f483b64bcad9b055dc78e99491560f59a598001e76a0bff0ddad4ebfd565495e2b523b02dc80050b64db4a200b5ca9efd8a1339d6cdff6a82dcbf769d3b0ed7ae53ea8f1788eb025e186a5eac02e3e1fb1f0aeec29b2929c7a718c32159609f973109d4a876bcecdeee6c6418df27fa46eb5cd238e274f94ab571c968b2c4a838cd812aa90e4657b95c0ccd68d60bd7d33b6e291a6a13f68e046cd41ecfc2bbe35fa9b4a0c17d89a708f89f975bf5a5eb9abc812b0c498d93d2d161f5c7969afbcf798029f3c14efc3f7c265b93fda572d265e9e116ffa9416e111aad32072f61943e9f0754f6e116ab5119ed09bbe245022b6e8bfe35dcee4a53ed375f5451c43f38f6eb55b48e386030cfb76c408c81f606886c81aacc76a999735682413069cc016f6e390ea2df7e8e74d088fb0643aebf4899ee8177a4a5faea3889181612ffdffcdb3fc699d578eba383e23e1beb68824c0bc7f920afbbea8ce7bf2b7c3bb40f33c6b7c8fb6cf73e6e2f3679669f235ddfebeeafa872918581d99c84d6dc37ff85949449d3994982d332cb9f9b8aca691651c4b63e58f6b38\n\n# tcId = 2\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 3731df2cf46de010d06775044db5ad8c98fcb8bf2be357fd39af55a864395bd24fe7cf104374159cfff1b537bb26ecd67a0488ba7a124d8273ee0b3cee00bf94c5d34900c4ccd6e200cac6e90d97d8b4197ea78ad36be7a4fea6e1b43b1ed954c737bd6ec6960945f24308b085e255c1142c61af876995bb5736ae19ca0e1cd9b319634ff7103a4dc89eaa41c00cd173236c275c463a1cbb67f65e45b1bcc4e10c7f3456911e4f9ac4cee8b43651980dc2e8c332e5452e35f256463b96bb21799e22f4349846e8a2583763226b3278134b9313757163ce6ce0628376001fca63c535d384a6aa7cfecc29ebbb5cf6be9d2b211464e02a09c089fa63cdd9571f3fc559bd2b92b7a5a724d3b88fb4e42079add87ae188a983c11fb769d3ce65fc5aa27dc17b6914283971278a749101e38d3b92ed2817ce2b37d4dbdec14f44f2b015433cd6e5a5de6d803e95b8b8196bcc4a77ff6a8419f5c78b4dcfdae0f9f98e8ab792cdc18645a14604a604a417abcee8051aff0eab887f235b1c6143327a0db2e00a63e4c6b8e002f21c86163de68e49c766fa91ad956c12d36856cf58324d417b4898aaa6db3eac372f06ef21d7a7e86b540972dd4e3f7afae7caec8a692f31386e7b3e8b934499a945cdf556eae3010cb1ece6a08d0dea9500157e78117d0f4cdff096fba973f7c04f79bf42a54e4a82e5456f065bbe9382605c444d21cf\n\n# tcId = 3\nmsg = 54657374\nresult = valid\nsig = 2b981b661e1e244b67e1892bdab545edc9ef68b50b4572a536dd4a40f31195648b8180454faa8765ba19b7ac6a59176c1a2c621e6f4131af96beb4ea47252d7617b9d8b432b5cd900f7b328b0013364a520ce46ae66a63b7181ab60b514839ec8f6bb63ec2f83a2a142d8ce532f63ebdd3f29ce26797f46f68481818ff1e00c47df1e7e8d809737307a63902c94d9c2ee5c69f1fa0602eeedab4d7f6d0032de1a8294c117ad2aa34f1175544f2bc1d466c5965ae5796bae216cee8bf7b91f9746a97749cce0388f8f443d14317e825cba2ea278045826835dfab50091cc988fc12d4913920cd625ac321df4d89175ba3f49f89d372318bc222643ab888246f8e5ad64f227be043bec3828cea0bc0229be6e71a035dca97bfe0c2f34ce03c1ee9d084d19a6d6c301168129a6589cee1119cee84e35b561d1f658b2e4f16c2b4ac2ded8ed5757ebec2d5ed59c66f7bd932d64c58af7fc16af4d3f6bc42897114c9ec537f8b7ea86752a2a26133a7b8085f4d438ba643f7a389a1c6811c2ee4eda48060d27e6299b44c8d504d280ca56ca49c246b5c4c897d3e1d352e047f735cb7e30ce87061ef267bd9c50e7de77032a162ac9a026e684bb4d0e8131a90240494418fbe471c9900a6b322306e47915f83cdd8e525566e8a71dfc869ee5c7e74d33ac8646d7c170ff82f2f3e5d319dc61cad06235145c031d03cd420fc370adb3e\n\n# tcId = 4\nmsg = 313233343030\nresult = valid\nsig = 75fbc044fe19c72f459b5a1fc4793f7893ffcc95bab8609900b3c3d3be6643a42987c167e7feb63ec2a57f961c1b9c35b11b34044e065d7d3df0b49496dd80f7cd1eb2e8c0d0b726f37e701ba62a3003a17657af55adcb0b6e86f95198ed435207663d616d516bf7222db241094849fb232bf6fbeeed7b5879a6b6c8aebc57646117220bf55403d0ff078e219ff119bd2e52e767b708b91afe30e9be348766e7537e1128087b4c9aca0281415e550965a395ab20d423330939b4e37551a7735c6df2b0395dd032266ec7dd4afaa3c477c64e3f95ee4945960b7a0c43b7a9622448eba4149e30ccaa0c234be7b06f4ebe8ef43063c62282e0643c6e483feb1942e3310bad0c05bb2f87674825fed098d5c787b69c5ba6a1f716dfa62ede3b8a01c076598b15ffa2e2be82fd1d8025f8ded14cd8fc8753ef76419e1dd561bc0310b2c7845e2744c9621735758645af0252315b6a05894c264c4587c8870e02e94813fc3a797d590a9645d92845b614b0d89cfffc0b80c5b48186ae350d877f0bc06e561770736342f00d56b2ae785891afe39cc0412337e4f5d29ff06d727f6fee8f0966d52ac146ba82a753751ad786c9d70ccd3005b11fc4f6b81517433a052c2351390332bf7fcb4326a19930b512631317c0354a81ec7c529ccd1bb2ef206d697999950a539808958d6c2be64220123f12e7aad168be35de70103090937f44\n\n# tcId = 5\nmsg = 4d657373616765\nresult = valid\nsig = 66381e10ca91edb043adc721883b8c005eaac4daf040379f4d69a2bd7ded69cc6e85d80a6f3ce8aad523a5d185cbb2fcebece5210feb0318065ced244ff73830cbc628d79572f7f0961c111883b9c40336d110cdd4dc4b9a04ae4a0380e8b17f0667b71b2c5bdd1c9b48c4e83694820d4cf4200051bf3101559625c0d06fd0996b759e9f4c689610e41655b262957457a4d8341c65bd89dd438025699dda37aa2d05", + "1cd3c974103aafb092e865b1397661be3eee3f95d7a75d9a2ebd74e6d2cfa54ff0d8753130eca1555eac4bea45e90a6a37d7d057ccde4c32e43c7499d5c38754ce950308fcff69d42aa4a4fa85e6d92bd20d605823e198e94af5ad65ca4c2fb919391f919aa5fe048ff51a506f63063cc5f777fa70b20cf759a0b812b2527265fc7f32a40cc275ef94ebb4a0410280ad658e67c34d581b5e7a17c5629be34ceb70ca68f40aedaa3c9b7dbcf34f30f12789909a3540512044bd812760c3f76dbc644b89760b54d9e090dd9cbab935597c55fdc6793f8ef007f732732e3d1fcc3e3ed253689aa29acfcf85847acb74a722533b0b5debfbcd0b5388f6b19e8b9ac47753f8a616ed9a7e4163ce8669437c62271bad3497edf3b655e4d1523cd8f3448c5d07c48dcfaf1e1f8310baf3d3707ea23288911fdf91d7379738ba8fee9ce525ca0b9c4c03bf1bbcd7d1369c0d2f5e0127ce2d1f95322c94d4c309f2e8\n\n# tcId = 6\nmsg = 61\nresult = valid\nsig = 134d55894c80eefab7744abbc9fc5cbc087072da8243236fda9df5ddedd81d23f0998061ceec59d1bd4fa2f404547056f9616f77843330bc65a2d2386574ec9198b2abcadee4139074c3208e2f09eec1e527e26b78b8773121f852bb8480e22b34c0e1cafe9bb224ce6243c46c03cfbd0fdaf28041dba177ced1a2ad70ca2f1e7dddd6cd137732f4a774e47eb59d8225d4c6a507f8f273b600a5b6449d63924b3a0cefe987cb5998dffef835dfe3a675442c90d02067c9b3ff0e3f1d84ce8801bf366e040710ad2c08c9f379bd07797ed954d3e15ef1350ffef88e9bce7174466358effd2494d7e174ae88b04e17c5ffa7b63bb6cf194d007b3ac22113fe3a1dc0c97d3853aa67c892d7d6bc5b0be6681e18004640416587452c856644ae6c07d135afae80fb80132c1faf56c5b224923cef5abe9969b807023fb84146a62e19bb6d8e5af0475e07f48b469ba3178c99741af6e57aefcb766ead4ea6cb3d172532704818fd82e12132b6329dbdc62e4c9da1fee2cb19e4f60ebfebc681a5b892afb812e82029123a7414f56f57e09731fe107f682f10a5c31fdec1d60118cc3646b0284e1948b2bd37c280135ab587960fd0769629860d17c4349271267a89c26c5f5debfdf40d843428af1010f87ab73648ac1c698898717889c38be7a06b7dfe9f63a9c7a19a77d61e3235ceaccad99cce004d6a870b27cd13414383ef4aff\n\n# tcId = 7\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\nsig = 7a7848548b15bf23e4dc1908e5b3aa8989936c498e77d587e64ebc9b335ce6f400a3965c027c6c248afcda5c80efe8d1f1bd9e71a5c459aa428a4ae1d1cef91ae48788f361dd440fb3cf745c9935664e43b81e9f860985418b61c3afe63b85cbd07e7dd3601c8ef8b7467694e3221ba4ace737c3134a8bd7f7ecd84d1382a93e5c9a6b69c9a8f12cbd612e48e5145972a1ad4f92cb0a57f44e0fde4548d231a5ee0efa8698154c66ddfd8fdbdd41d1476bb5d8852663e4b7891755ef9fa7b5d508b190d59270d32a0a7f32b1a28570a7e52592324fc461a32bde7e2cd14b04129a400274e4183cbe44aa4bea3b4680061b119a97da65c6ed4bff5f2f59193ccdfa8d021816a2b5d32ac52414d1c51f8c198f4c03e0993f8e47c268598d665c2b624cb66ff02219a9100adb3ca9674ca1b63d77d6156307efe953a489529a1701ceac83ef1134e7cc7aaa578fa4909e9c4c0220a5c882433dd3f0af1d87bede7ad979ecc9999cccaec3c4d39265efad3c39809ad3f24fed3982dc74c57ff8cf1578d940f9c6d351aff9cdaa2481d0f355054389ab2a6edb6b5455677d828453cd6aa21000adda95644125cdc6b4a4f95cb69a1abd23b46603485e696dc419cbeba767b2fa7081e1641c4b2daa44f5fb2b9a6513dd12d6f12f0f1cf7da5a74223da8dc390468e46af16583faacb7fc0ef4c095c641af4d76be03e880d4f4e2c8a3\n\n# tcId = 8\nmsg = 343236343739373234\nresult = valid\nsig = 303afbfa17c9c8d18b64867e7293f22c8a139a6b106ac86e9a59b590f085d572a0b1bc177a35e3ba74d66e3c6d9f7b5daef34e03080d13951fc2e73cd1c7cef4a815071a089964c35afca9745ae54c1dc2443c79ddb9f111182c501177fd6351dfa8a980f1ba2c99b489b78c3e31002007b00850c52e5db7f6cfab31ac0a6c8f6d0516e19304e8376088aae408ba6f69b2f70ebecd64a53e3da851ec36cccdb7e317a4f4a337781a7e9b0c168af765431e7342f53164c50c12d1e33b5f026a6cf1925b76869252d290ed048ad6c88b0010ab293f6d15d05c884f5c830fd09d107bced6a0697215afd121bc137438ebffda18b1a6f607625813ca9a93b54d8ad6be5ad5aab808d5fb5293ccf6bd18dc920fd72c258572b660fc2072251488c8623e3d2bf988a72fb289be8046975828e210217fd04d82c5694031be9a9f2932aba449da9d21738705a513a5dda2f277ba9a017c6363da9042838aff0c9ae4b5655580e74a95459666108fd5d870486b7ce4187f057fca8fbb0c877e1fb3ffacc26732c26a50c581537adfd596baf30563d7d23af2d68395f774f52abc238738a2fd15d1ff2046e07c382d176d6fca5348c1a44b44bf89883ca569b7cb9d7b8550e65229c4fb21e3dedb80ed3ec51b378c77750617741976d5b2f764c7db5e103651782df4841789b6993c5b73840038cad16b03a368dd6684b7a90ede21a2ed2b\n\n# tcId = 9\nmsg = 37313338363834383931\nresult = valid\nsig = 245258fbe3957df086cf99d113f5297d5287f6809236e97e398a4a66d43236dc93c5ff7b089260ceeb8312ed7c7fc2a0faa6b5933adb453e0619ef06601d5b2e2ba8b43c76704c29f45416d0085d209911db798c0aaaee221d795fac94d66d9bc01eb43fd9caa23b5e34d33cecb735319133696aadaf316424a9bd445a6b8bd779791edb302f352b1460a69a25fd14432cf043fcc4f1ae1b7bcfe6955da3a89d6abbfa08e703372b977c57a84ba81f7cb51bd58a9929a8b8dff805aec99b03a46ce82a16d25f6f30e501a9bd0fb8a47105893c2b361f80f2ae872e5358290770198cd2b5139c234e70b80aa18cea9d9b94e2b3c46e9311b2fc513e28a5dc83a4b1603d59ba12f695656fc40bc6f890731e9d990242fb79f5fd2111ed7b7019c0f22c1b84e382fff744e9f0476e4eef7259730ace36cd7b1747856fde8d1c6883df62b20eaa58d18febd316091acbd323903a9351016d089ba51df67f5cd14114b8530049478883d53f0376ccdc8ec472af2907a5463c320c066ecd8aa6ee8cfac58f67bc051685f0d38bd2649442aadfd87749e22acabb6c396e018d623540edd2977842ebc518e3b2954a8555de5d4b675027488b52f8ce32ae864b9e965163b0780b53e8e227e914c139f91afb662b9c4fbf21bcb7b43040113155b97571806c112aae1e9da34743df2ceea812f3b931f33bb103d9c5239c92c701c0565fb0\n\n# tcId = 10\nmsg = 3130333539333331363638\nresult = valid\nsig = 3f4d6ad95e3b937372ffe704d32b54c879f04e85dda332b360b2106942c45c7bcd2c7ace3c7cd0b585182a83e89a34809fcd72687c007c9a2ae07359449ff983bb1b5c3a0fb44cc694eee28b87d961847fd9a3067697c3283d4e8b79fc086ce77eccbde90a7960d9112ac4e9f0ce5ba897bc564b3bb6fe023dc369c01724455eb40170d92071b3cb08de7cb55300b244992e80c2e181d854c9974fb76bcffd3b9389f37f39dc0c0df15584fb6ca4c29b1fe1dabb1570a235f5b17a283969958cc7eed4a1d15eacf84f8cd7214b063b79c976887039adb9a1456f022c11c4966c32dd4c7782a187eeff40865ac926cfe97a8640ecae28c5448e8dcbb50279232f0dc597b58dfc4ce53d9530584a808cc7a20dcdc90024931732b92ad17bee31b60e7e3d6667d809e4bb02caa28d3676a7eb5fccc841385a010597b02fdc728715fda89cfca37c72cec44b6befa8093b99a4cf0a81a23e484a671b589437b4e6a953e27e7339e00cf0762b9ba9aad64170b8f07c76f2729771b8d406936fb219d3decb9fa075f51ca804f7ea59dae8f663e49f6b007a0300a28bb54707cd891439207104463907bdb7f7ce2c7861888ced5527f91e6f52003fce1090d9231a07303a416138118be8c49fc919450247a9004164030bbc69534dc7f61867f494682884314dd0fd6573af2cdc3e86ce5c9dd6af71dee512c78f8cd5eb4cce3967e349\n\n# tcId = 11\nmsg = 33393439343031323135\nresult = valid\nsig = 8732ca98efa135da433f00d9f4f5d76ab711876cdcd965598e243a7e68565eba7d60a95a5838dab1a3e35051cdc1ad7be6a6a872ec631c8f23c84ff831a25a01f3f8a49547ed98ecd7672ff561c438aa86c5a8a7fbc07ca1f6437d6e30b695ed81111365f721fffc36979ca2d1a55818f5a0fcc922dde87ed5b76fc47d5f4ef219f05668feb398b77573f9b1232f090647a2632dbfa3ee02c585660d76f2e3504a682382606a766e214c51a2813b730a93013ddf4a7ef08028c8e444da2b8d1f583780bba7148a010314f2588310da17845a0ee37dd6308d1f8d9b87a88df57cb1d530441c6a2c7a18fd47b4b7f89353d3108e91bb584c2c98a74e413e8e3be7c8273d0822dbabf96970c61b104ceed8306038a215c61f15bb4743dcbd80de6ef1458923213f7b27abff0614b6e1c3b02c4011ba2a6590fc9577687a2bc5267762367d7b62b03110bfe5b8023ff6a7c46e46a5deb7a5fb5f7b50207760e449655bb7ad84638091119729758e11c30c7dac2f0bac200f0d62e0c603a9a6a4110dfc70ba838bc76aed762cc9a7c3830428f0c8c68f7972a3ed68f9895ed0fdb7a7d6f206e8cf44100bdceb126ff8a5bf21b1e6dce17c3bd3b8908a8f4aa1d7f16800185d96332be6d5c3c5dbe0324d1cc809ce72f1cb1696c5574b13430687b2ddf1970c5b45fa3c4df55b46c88603677f29fddc4eb302e2490fa09af3b14d8f9e\n\n# tcId = 12\nmsg = 31333434323933303739\nresult = valid\nsig = 4e3b548219cbdba85f3ca9e739a153e8fc69a4974648806eb92cf2484b00dc272b4ae4b88db9b38a5e4320332c2ea62448c08e44968fc1ea1390f66469ba52d4633ea98bd3b6204e813bfa3353dbbee7c0c659279d7bc78770290c444ad6105ea2634fcb66ae0535900ef9cc458ff9da86e40dfd4e51f6bdc7b221641f6783d14213b6507ffddcda844ae38b323c6f22415dced537575e175633997557af0990589f019ab5ae99e32557f82b1b9c1c54e9ce289cbc98fafacda9ebbddf5fb3d99fb73e4ccb3d2f2ba889bc47207887f646d529bd1cf78ec915efb3086d6d4d664e8b07d094bc88d8e9fbf6b2ef22e56dcc7ea634aa021efaa4b85aa517b748322a8e0ee3c53324865a8bbc545008a5b855e9813418db9f74b178c1aad20e52bd7679d2a651760c6c195de92bfc27fec2405bb4b267152cbde712ce658a58700eafd2b0d3f06ead2cca73ec56cf4e55b5cb112263bdd8636b51779fa27847b2b658b39cc023df2d67143922dbcbbd07796d7702aeb831bcac758fa50d578996b5da3ecdf9799bf27989e5895bc1d86e99cc8ee5629479e99f2c0a038d0531aa2fd6cffc52bafa4406df74e0f33ed33fde3b4f4caccd06b68febad7f59e7e9", + "51c95c24a588ce25d5e92b9b411d8b25af54e87553264faa6c5773d6d59a01252bcc05a40f3bbcb995615cb85dd1771cf05b75305b5dbc9ccc8571c0290905c22bf0\n\n# tcId = 13\nmsg = 33373036323131373132\nresult = valid\nsig = 456c58e80907cd7723f351425750bfbb8fbcd7a42794063f9c3093180a79c9b289b0c2e7db35cf0e90af75f3d830cf27ab4fd739e1db1e51d32baf5c2c219e2db5b856b5f0fc49fe33b32cb53f6201b47b320bac4f8e26d461ac6bb4c54a8cb3666717f9fdfcf148410ee6e2468394ebaa58a23fa3c7349ede819045d13a082d0304e5d0dfcef237c661884663dc956be112d47bbe627a1e66deaea251aac624ff45b15a6cd49c50445fc6f3e8a15caf4f9d082fac7b788695e3401b5b80fade651c1fc2404f5ad45ed632bddd1d02acaa6467f0da107202ab964844dbf00a48716e28d84176aa98ecb76ab52c631ddb9e1f06e6655cfb9fa1bccf05e9ea3aa773e540d0e7937f78e754a8ae4b57b0ea7d3e7cf42686f229e425f00cacf766d0c56de3151a151e12204c04d97a1470903e78cbaa74ab12955e1b2cb162acb07aca887507a661987e83fa9b0606f2b0d1303a709f407cb6866a560fad21f60a65bc4db2440b1a0b349cc29668a9f32a6d6e4ca7ff2bee3d670402fcfc05a51b988deaef45b6504689fbed8793f5061e50b803ba73843f3d8ba4ef097ff361a7cb58e95bc740d93a8420f81c13ea40f2f4ec44a0195d010577fdc42fdcc9b17a0c273dc79b48bd417c980258689026d292508c0c21346b6d9959f900cb3d7edc5acb5ef2e1f75eb3560c82a20e7bfe4c151792b3531c708744149faaea51a9e8bc\n\n# tcId = 14\nmsg = 333433363838373132\nresult = valid\nsig = 70aeb4087275eb488c13af70b3bd01ed728cbaa7e9d23227b4852d07bdbddbccd7e7e45cbf67a3609cc5d916f090bcc003ca86943a56b99482cba553f54a6c30f9cd09832caae0eebc61ac2824d1adaa448e3ceb6678da38629b2e3dbed14937881cd9887b23b0971b9ad2b30d63f553bd6d8235185b43f7a1db62952c4d0aaab7b598777a3c6406c5fdde2664f0112269f8a02dbaac936674f08330dd7ad49d7aa7a43926f9a40824a386ef0002963b2697e23db3bc227d12730271e2842ade151db6db670cf849ed14279b1378291d32fcc4b76d918ee5a0b64f6b5bd43d84fd5258f53d908f9bfee9b9de510f6e94ab4209ead7d48d4b1bdfc13afbded36d85de2adaae2e72beebd2b83208b7171d1618a66016e3c5f89364c9c4b8e5c33129f85fafe0e48080b6b78ac0f898f73f9635d8e72939a039d56e59b359f5f7e891f81c59369dc97da667b8e2a2d86f84ac9dbe98eed74c4f3d73809037ba17467825fa21aaffd18daf6bce69b8a7b88974565012f9ec01a51646884c1e64346012448940c4b3af1c9f86bcf656ba5efb0b1e65e8f9bafe42295bca712030ef6cef2d8dbb300ee57af3cc40e19dc1ee4138e78cfbf6f98bb8ef278dfda3b2464bb0bb6c9cdfd19e1b70004c994d4ea2962c4cb66e4fde4ce9c62b05cea744414da3cdf41e6285c1134ca53dc8581c6090f2f4b649455cab26912571dd03fc4ba4\n\n# tcId = 15\nmsg = 31333531353330333730\nresult = valid\nsig = 27b2c163e957b544022b487423bafdcd96b0d6b8b91f3df95e1b57679a5ab1c046de6dfa0f6a898a6aa1b5a81dc8eeb113fc992f4c64486e29b733fb4bf040afbf2a033eebf837d0823c46a70806de28a2a2ff3e39116e726afc7d400864bdefab2edde98662e1b6b036266fefcbc6040f95ed6c316c0969bdd3aa93db59d9e51a5172adf71f1af70daf873485523d9235c217407240938d5746dcee5b978aab3213b66fb75fb685d99f99160f23290baf90e9de690e1baefe716f119163653d35d7d638af70712fc97def6fe88ce8520e695f8a7b28a1ce73f0b9d6ce433ac0ed5446656a9b31dec1712d3c0fb6dab5f8cfb7fa3858bccb01033d9ec092a2f7f0caf68867f90a0318dbee1d40edc4c8ec0fea960ba04262dd7b2e48a3200285705ab150988f0b4fce4fd313d45f109d1f4a7c1c184d9123e896981b81afd280106917dec36f5b0ef5d3a71bb37a0e9c42491cc28bb82c70256775a5f2cc5bafcc15a8852b41ac59b1c7f654ca8d80375bc49e2e6b415458628d965d4ef4a751701abd20cc9f45e3cea908ad75e3bc258b36f584e60502e7cd02d2d4f8976bcc52695adf1bd6325e06ffe0ca161be992b4fce04d2440d6035164b09a8b955673e201f473c0f759b27e892c7fa61483743e25af670833f6fd49bd606aa04369295355a93163faaaec789400ce03067bae206dc58c8c7b4157251e63d683257c27\n\n# tcId = 16\nmsg = 36353533323033313236\nresult = valid\nsig = 675b9dfbd81c45913b46533153fa93161adc71cebdcd218b534c43f24b59df6fe8311da886898300e818ccfb8911d740cf619edb42643938185db0e2749e1bf4d6ae5a5c2d7c4139c339ca64e8dab0bbaf762c5a6cf9b6e04c86e476a6aec56c110a94c9ba0545f6f7fdfd08510f555cd67a9a8fe12f8d04bc00634bb3f84fc92587a3d4a9bb121762d8bd21c85462ab0f33de235498516ca63e0c4e157fd3031d78da7117f46256fd99cdd5cb18ac82d85c4ee1fa954e603dc09367a979d452450a63995eb83bae1d371b33cac539083eb52894f534d06d3e091e8e6a1dc8dfbafd4abd4df3fd5aaf8b93bbd1ff1d26ba7d1aae04e25a1fffb6aa7c02a4e75dc099d0e3d8381d7df70bd2558113c52ca8f839487ff5571c2a12c4c8596b023a0f9cf90958b69e513e59ebb5bb892b9b48c8e79887551e9df73f8f1357947f9cb43583c0b775ab9ec0d89a700cbbf935ab3ec00061b8d462b83c496a4b8abfb0dee0c11b4d5e3b6912a33599b014b7c381c2d8e82d06197cf2c40698730881de5df4e7202fcad15bce63c6d08573cd7712551404cf830967976e258f903aa518d7ee967d1c7c319bbca1a24420ed6beac83719c43214b9617144c1daf762b66f22bc34b8667dccb5b3bc980090ea22fa61c68e9119fd5f3d88c84e2ea9f83f0dd7dfc76b7535205fe0c4f7798e14f5559263dfc3666e9536e8c79445674dccf1\n\n# tcId = 17\nmsg = 31353634333436363033\nresult = valid\nsig = 1d1824029de39c7907288499362efe10d06179a8211e200f73889c1b9b68f7bf0ceb17ff58dfe494654e108864a2859075adf2ad2bb2e66a061ac9330ca9fddc525b3be8761f01a9c3eb7c9286215612962882b42ef74a2328e8e4511d3a589653bf0e46f299a52bd72a697fc6f09c4ee62c2d34d5487ad8c723faf42669583f2c7418c5c3f4897a193a19511c19840eb5c2c71b81023c0df8b1c6d3f27a880547dac9b12e094dc90904d47473dba66cf61207c709cc57791b0786148f62c591f72e46754e3d6e6f838c97397c5bc90e6079bed3dee5cfaf3520f50e127be6ba35cd9783b46424ad907a5c04edec02560c3d72179a6ee5cbbc9cc2331ef0fb157ed60ba4effbaa9a208ef03e1a4659d2d9a77f36fa783aa9e6dfa72015f6d6a586223a4640e04fe01b003aa395297c8d9579cd3b8e0134a06ac361819ea8499e010615478cf3d883b8f6a1ed2cd83cda71c7a595b3582ace4cab76a387f9f1f30aba9f5fc6ead0ad95343156a734645abf5b2771299dbe5daf2e2be5d4f1e6db93e92ee5202b7419b47ed5539d14d30d099d39f504a4162bf8a16a986c5cbec2a7d56ae06d815c4b91301d235a3d7e5536086699b44e5b92fd723804caf6acefa2fd58a9dde0c0524cb8d5a6288b05490b1153792bad9fd99ee696aa3b83d8f04f965242e98b1e6a96cc13f5de46a2fcbce6bdf33022f7860faaaf6d1ff0a5cb\n\n# tcId = 18\nmsg = 34343239353339313137\nresult = valid\nsig = 7eba46db8935bb9f29f3e5009b8ea19022f177fbdff7b5c11ac0fe7fc31ed63cd12685096956be4cea1ca37f738104144ae4a62591a467cfaa68b7e45c76bff4719026f4a5b1ad2e1a587bff308a27647c93cd869445d23043f87fb1bf0730e6f620864a61a097bc494eff10ae87fa270180ad0642ba638bcd53d753d2b8ecd1f70dee4eb0c90d1108677ef19a13c5bbfa2b1a4fecccdd54e15909fc73e2947677bbb4cfd097b3933facbb3d4b608e600d06d5ad53ce537efae69a5c6ac257c850eaf211aa58a3836368a21498bc63aa271ad5e8bf169ee149eb7f761393061ecf567856c64ef7575a9785d2c482cbd9a2999cc6499cd39103ec8d91ad3cb8cac0b4588ea1cbb8a61cf622bb638db4f0ad7ca8b1eaf9d7c60f9c7427e08cccc25057f497bd444aa11da061daaae0e5cea7e6aca793a51010be4b4c500af433abdb21dab5f79a84c302d290aa296f03fc1a4ede683762b72bfd2694beb537d06c750fddc312eb9ffcffd25558d88ddcd2509ff2f2615c5f9e29e6d1bab5145c6dadf490aa978530eb2358bca9759434f765c07130749d3b14ef7c2c5e45547d6a458fd3c1f80ae725a24b72f896f55d40da4a21b3612849d18119d52b962302eacc6620f3951e2d41f544801d4f1007479f89521e023989e9eb9865989fbc18234a0d07a89c9f9b8d051ff1eb5d41d394ea8045f94980020cd1c1992cdeaf5a27\n\n# tcId = 19\nmsg = 3130393533323631333531\nresult = valid\nsig = 90462930f56f9abaa7d7cd95bb07bcd9108fb5eb9c0595e5a370507c457e188d2b6d4fea1f6d6ab5e3b96c1fa140ef5ecb43cd48f942387fa155d2a73a19f759c681858150a1379cbeed487e39bc74a72d48d8a8ae1b40e894c6dff19f4e2e5116b3cdf078eb2e30393e3580bce971ba0187c4d90203de37a1c13c3ea40cddcada0b15ab8c963c95a8ee80ff1fe44fae72d18ad0f3af1567e5ce04b4722f93b581fa42731215b515f572cb98446a53614c93afd5f8d6742e0b1d7f449dd39ef1734cf8e04e61fdf0b7b2a4ad44615f88f7e1d4fe105fccf397f9531f3833f0ed49679b91b067b4f9ca35d53c4e6930b75bdd03f3cbfcdcabe7f688f69e88a76b31bcc3e200cb5ece2a90d77b97f4f1b192694d92904def232ce4d7775b94956c75ce8820dced0786c820c2324b400c951561970e769b616e605eb9b5f873a71c168e38285ddb572200903c24f8dcca7a6deca91c27d053d87d3405dc5f7169cd7b54c935f8c90b3cec4046077d1d84d8acdf05d7a0cdd92ef6ee59edfd067cf00e7bf4e911b877f60b957b88f0e71665727944ff95748c47ebcafe04009a3f356c3edbc423c7a31a9e8345dd9041926d388dc0436b6d514d10a3dd13bc0321f1e6f56297294d4e7e2d77ecbbed84dda2d03eb9a846b3ab9402711d72af55face368da74ecb263ea9522d9a7ebbad4063a3030c3bcd4b7c9eccd8eceb34af0047\n\n# tcId = 20\nmsg = 35393837333530303431\nresult = valid\nsig = 6a411380c1d5066a8555fddf5d4827fcfb0db89b1c60e071e24bb86773f951b5300fe423238ab7df1c109d854f6804aba4901ab6701ea545a8469500dcf95e7fc9e1bf9fa79b5031f130f583d91ead61ad11fa2c5a97d990909eb337fd48eb3bba09c761f0dcbd48cbb2bb6c778131c3c6e73403ac7c0006139fabaec0d91c4eb1adc39e6b0504a77140e685f60f5ceda237f47a5ee4ab5383f9d579ddde74886a0daf3c8efbdb7666532a44b7856d13a5f75d1656e5c6a9167d26a110c902e9b3c8274e01f0", + "557551dc56c0a21ae07ebc6f7635d45eb0d7bc489e1b2e1e472718cd55193380feabeddba9ab7dafe0c77a57640fe56226c73deec26cb88419e0047550bed95ad0ce8d97aff7be98f9a69b18fc14b1666e1a6162b9e23537e4843bfeba82b884ded15f30ba00273ac4fd03a562080119febe45cc267847439ab0ab18080f43b53f13114d7d854cc6a0641289a1a1d730e7f4d6dfcdb32ce4a3700475996c12f150006f0d320e68bfea09db46c4e39361305c5443bb7166c39b775af01bf9a68ef453c04acda04bdaefda50c31dc995f083b7fd5452d10d01b9c14ef432180dd20334ca82e8ea9ebd2c8489b02e3061bb7e619ec357861082535d6c7b3f53d03e912b11d22cae5f6d81cc771b8bb419bb30574c521f6a96f6b75748b8e6bb506ac1e23acdc3f679eab5d4a85228341b7974d2e3cb0db9b84fda6a\n\n# tcId = 21\nmsg = 33343633303036383738\nresult = valid\nsig = 8194007c4c78b587712d64a5df69812d750f12e7c57ebf456beb07746e355bd95a5053ed9d72fc3ef8324157d2d2773a604cdc4993b913f213c9f5c16c52132eda2c7ae23162080fdb3ba37d0b52055781a41a52fa697dde398f80d7651d62ae65439d1a7a31a01d69d90020bcf371c15aa893e30a7ecc74d1596ae94983c081c4b3307e2dfbfd71839bbda72714b0afb7ab5e2ebf45f1b303d9c5b9290c4374617efa01f76443643830b1c081c847e412e16e6d81cf0196a84d2cce5171968dad6181d896425933614919230c99db549281e5a4a8175447c81056dc2dac7e4f2c3f40d48f3cf6927f42686a6ae0edbeddb20af1850bfb25ac16cc251847cd60cd315f3ccaf963b03d0dbb44aec18279c338cf0f214b06fa6bae60ce81350b70d86399d161263b1df5c3a54096b23bb9bca7e83c8697f4a24fd6c0b77c2e8c1f0bb5f6daf8c57f4904dc197bc74ef42540cf7d0fb499612d5def3e707fcea05ce016f7e1bea0ee3ac8f1861ea46a091e540eef09bea510c626dd7b55ba4c88ca6606eb8d9023a3d0b23c0b3f9ede7ceadae7625100c95a23fd7f74532380d1ffb827620495ee53940a01dd2e3effdc91a660ac887723d7db1b2a412a7ce022b779957eb14adca87a87b4f5c30b7708b023a2198e04a6e0fe06a7fea4478be85cab8ba17163e8f013f38942eba371939a510b5fdc75dd9eb2b7a4d8410fcf4b58\n\n# tcId = 22\nmsg = 39383137333230323837\nresult = valid\nsig = 2bcba1b930217857b5a0ebcb5ad8503056cb07504ffc769d7f9c28c0fbd7c753c8f87d3d889b21db6f07d5d51e292c5afd106cc7118e3ff784ae083a33e5298e856a2577796e662be6839c09da8b7059a6017102bcae65ba1095ab3200d62a497db4f372cbd33aa056fcdcebd72ea8c6aa2456830f2e6a9be2f77a92db7475f5231dcaca4293754ed33ac008ccefe4da8111881542d1f150232ae8200046a3a22322a81896ef9ddf2652ccbfd0bd19fea2088966aa9e7a47dded3684c4a583d44cec00831f4e1fd3ad4f61716eed637b0337bb6b5e9b5e699e8319f7e748b766ec81cdc03a67f40ee050ef79b60f7937c7a36b347d84e76674216e870ad29a9687dd6d5b0a092579332eb6ce1e92d4d3ccd1e06dd18b3c0b7171c4e16cb18861c917581c317b6e7d3eb5330ebbc5fb8d2b6d9480b23e1293ddbd3770d60735c98ee058849b4ab72cdfb1be58a9dd090fbeda783cd70aea933aa0a7fc357c3873000b7dfaf031f03c9bfef07463fdf07e3077a37ec918b8bd30f6783cc0051ad023318990f4f158a72d207ab5505c98937eacd1dc04704c56d0c7147b8c35dc4c7bcb992d57584d096471648e8353a2a80c9ae709bf4ab20f44d060b3366385b8a4b69b0c0581247f2e859aa6114d57e1fe6211fa3be3f36a1bf3cc6af33b5e7e80b829dd960cef2fa249f2d53236d887ddf5f3f38925b8880620abe236df523d\n\n# tcId = 23\nmsg = 33323232303431303436\nresult = valid\nsig = 397c56d2901a34d833fc2563c39ea82ff392cdc2a34efb9c43b5d73076fc4975c8e4fbd499458a19b8f83c6a719a36cfcafe0fe003f5273ea0a935f072922590ead8404dc7b558e686c41eab65ae42b62fce11790a0eb7154b3edbae3833650d8e95de4d2807227c47c2675310731468b4f888adf41421dd2d22a13a937629fa3c4ce0755517917125d3c7b3d82be5d82b1e2df73671102dd5ee10f4b6355626c28e718f448bc2ee7eeb7ec82eb25eedbffeb4c0b6da1386a134e6db3e56563da0953f2342f5ccadac5ce5560a0e3237402734ce5c67b72c47baf7c287e2c396f7b8932f102738bb4fb86f7958722e9582eb38f678c0af1ab4f51beb8e3b91cc0659503f39ad526c8d4562dc30e29db940548cbb7a44069c3d31dedacf571097b62526e7b0a8d87959c9dfa5389a888fec4773107aa1a4e3c7d5201ae4942840e03b9042ae525a5e9058c70ab4aec851013ee41fac508da61ed6388bf9b920c22ebed852437d59ba3e38c5b3dceaa809bd2bd6386ba337601f35cd6a2d65370178572dc61931d8b1aa3d84b18cc75d9678e50d40886b48357ffcb158c454626ff0276c305414f71348b8091fc7010c8988a247d5903d291ad70776fa9790576f0bd0a8bed261ceca85ec83ec4f8cde1450225a7687eae70a57d379eee28298e10f671b086d35522e268e86d93aff44f8694561a65d7a48b25a8548ab526a4120\n\n# tcId = 24\nmsg = 36363636333037313034\nresult = valid\nsig = 16a45e41cdc78c9ee79d7c42ca47085b81725efc887fdf6962443d1be064208875df176e3bf837d021efd22fa78f7a3e6bbb2a011b25f12567869bc2235a81f1a4f03cb1051f842af5d4ea4a31332f033f03c0120263c8b28f07a046c6c2728ae65cd333f6d847589db64a7a7801c508f58f05b1a3443adb23634a56f3bf0670b9266e896cd8e6926cd2123f85779f814ef472547563d68ea407f75622ceed4acc9ccc989b5a1b1047cc3e2b8c06e638273f23c204314b3ec7cc6a2aa5305c774d4ed1c4762e8997a6422db0d3fe706da8506e33bba0607ab10d29a8e3ba788b45c588304d1b440120d0d625159113dd82e3d93b0ae2b6eb25c22e22bb9d50285d6341206cd56e600eac1aeacb358903a93b516460b404fa26df59910f9d053151e54bdd6cd155ca2141f07bdf3e9d38142b8faec360c3941a361eb86af7e6b13e5fbe716c3d0c85a35c60be70699c9f40402dba71e0b8d6ea56479393d3a9edcd6ffbe31066bc6359b6050e47251fd03ecc313f56a78d313890329b59c7f0915625fd0587e926fc62adb74e4529da1b9a2fa5dad441d413c3a2f5addb6cd922bebf72e031640f6c633254897a70fd4572d15dbe42464f7377fdac033e7a2fc134c56a9e0b9d3bbf121bb5bfde34df9677178c905c01305c773ab0f1bec22d943bd786a96e8d43a44bd69b98dae86a590370266f6dd072b7d7af9c0698ac852d\n\n# tcId = 25\nmsg = 31303335393531383938\nresult = valid\nsig = 87b00fd063a5e55b9dc60cad16c16dad3ffea0ad11a99c75e4d1e01add409ebe8749a1c6eff17eb06ac7bc6c98bcbd269c6d87289b1c13abe3bdb7262398390e22f5f109f49891067a35577ac6996edee71f6675c2665c9960d90790da3bfb982ff2f9194ecc5c26656242d7a8b9abed9e0e35dfc7f8577723dbf417d65d1c634de9e0c37ef063ef80d07c137998fb4869da6c7fa6d7013cc1de7bd34c25a0fbeb6469c79f7f8319ca541ae0c8c470395fdab59ebf78f589ef45cc8b7ef2999e544bfbb843d33191c89d721b29cb9b6c8edd161be943f181f7a4cfe75c4564c1f183064d9f3e9a3b996f61e5a6513bac16f99c428db753fd61c49d8e80e120fc46b6a7e4fb194f668db78fa55b393bb52774224f181376df0abcfebfc90ebecb4819135ecf101c34c02ab3dc1d6bcc79a5b065ff3ddca9a5c66c6b70154a7958adfd96209bc4ba05e181205cef7f3df2a1b0c5d095cf2de4b427cf847d67db367fa6b57f109ee8d1a3a8b9935a4f36b88685e891e9684982200a321aee1ae9c86d108f2cf8875762faf9a6059d871bd977232fe9d02a9dc23764b397ce647356acb3da356bf58f1b3f080f569f6e130948b0ab4e1328111bb8b7fb654ea28cd9d5063e29c45ca8ce286361a6651f0e5ab401ddb496f13cb56ea07c31edd3c6b49a5b9a5a9866896c0ca01f67b54eff8695ec75a62610f1e61e5bcc1698d1db98\n\n# tcId = 26\nmsg = 31383436353937313935\nresult = valid\nsig = 42b87dc0b6291705fb72c50b2a6b3091256d7e20f4970a2641262f1e2cdfa51088e2ed86018697a10bc8ec381f3708e0f60318bc46c5f8726ffe9f0f8aa10124fcd16cbe8af68bf135381da155a3eadfe99d07675e4942009ccf5e91b2cf6e0bb50c87b8b4f20511ee8fc16e489b30bc9fbc1918fd6079e0d1eee930b690dfc914d1d481b3f7d1e9532536a8e3bdd80aea0f8f4229c73d7a49fd3333bf2ee2e945ced2828c73c86ffb01f7a24869be8ce666670f848d1637de12c233774b35d71cd5ea4435c16bf8fc05da1351b9da24ffe88b8c12f4ad8eb7b080d49e1fa73fae1f9f6059b152407e028ed9f91e960c0189fa2992ae609ad3d37067061c779d37dbb469c03067d2497ed2038038001c6aff46340bda1d46c397be463fe40ecc24e16ca0e82a26029f7146a059b50d466d05a4bf45e7d5572e48d6f7eecf103a98309adab95f7bcc7b0f4b12e41bd56781172fc84a52557a29675a6509f2703e2503e4df3f99f36ef1f0517e54599d19b28c30076607e7be629520169f5eaef6dec6d6c4220ff81c72f45857e7cc157ef4c8f304aa38f375e5baf3983ee003fcf15e3c16224e9039a47f5f76a4ee7b31571353f7a78c5d21f72aefe3ba37882a15069654c15b03069ced15cbb17d93b154cb1d8a9a03d09371284afe12e85b02eb57a4f64cfcc165e635d789fd9a816a30e0bf9109ff31a93dcc7e735b6bee48\n\n# tcId = 27\nmsg = 33313336303436313839\nresult = valid\nsig = 59997be2c727458603feb7536807fb91010d2f07ce7ad3976888a71226f5a52d22ec389dbc9dae076076cac0030d63acffce3edcce0e5961cc0e15e7f4dad376c453f040ede19ade900cd9e4b8caf01d042b1bcf5b8c9c61731482b0d5867cba2b36777d6abd1058cc46c59d62158fea9ad31e672bbcf9cf7c5a2569328dbce889948b6f8bb52cfdfb4e1ba367200c2aa957bac9d41959ca2d1c0e678873a136a2297a6cce79051ef6260529b3bc1d8af23897da1aa715ca34b6e38142a778357e267a07e0dd440c38e9b710aa665f02e82d9880eb166deb2d4e1c185bc0cbf8fdb65a97e7b21999befcd5515b0fb0b666f4af68d9592b477d9d41fe410eb58f01d7b1f6b17965c10065fd925d28bc6b6dc26348bdeaf7bc014418361435f2095cea870730dae1f6c98ce7535ead1bc66cb9f69e094edbd6c9a7434c8fb6b57276924f77872b29f102e45ca2316fe0d6545d9c9fd6f56c07ddc8981be1ca952fc7de6bb49721f83df7b2aefde971f484d972ed2964121d1acd8db1dc2b6b35195d077d18c94282f66da5f01139f93ef9d281c8ac70659b93963e562fa4b2b74a5813be566a1a10666c016440598f7c529b1abb3e189b7b00b8f2e1b944d09a473fde4baf35c18cf4ecf1d759f1bedd8c3d244d258eb27d685a140465b7741c9c3ada7616152efd67bfa9190c59", + "1e297ae272e52dc0064d442daef375eddf89c6\n\n# tcId = 28\nmsg = 32363633373834323534\nresult = valid\nsig = 71d88b86e536052d0247f9e84bd7440c9951827ac2c5af27c60162d3a13d30cb85e71a795117bb9f81b0eb1537c2e4c7316631f7dc4f04e580bdbbbf882efdf9e7aa7655f16439cc098bd2c77c0a0b74e1eb179e911fe109a2443c22574e0b5dc07e721085fe68aaec83c0be7898e0dd3b4582c845e633b06690b284cc537082924cf8d09ec4e1633d05cfe89bfe1380f6ed48155e5e4fb178f66259df28751bf96cc6ead4f3c1d0d0a0618d4625fd0f5bc3cb8bcebc60e505a9dd72bd0223035fee6ff46435570066ecff5e6c9373377211b5111e24fb7656f65fb94aa7df71fd5ea34ff4bb1ae32d51468b228bb82095d4155dcbfa0ab9df12598da81e3334edc300bd1f9c4eb60a2a1f7b426248521d99a0664e9c973932d608371042225e4deb38c358c2c7f593f886c55397dac53f94e13f171ec06a0327f5f458514ace4618c2b4ae414b2927d98c52727f09a16c5f5f2d27936d37e3ba4cdcaa18688e2451ed19f67adc4732837e2c8fa8c5602f260e79fe0d9146458f941eb9c576c4e8d31e8c948b9274ac8f29be191bdb68adbc01a20cf2fc48e0291e0bd9969baad27ebcabb97958e9413043ea2873f56229b8601e7fde113a097063644835c28482a112085a7fdffdaf4e0dab20be8ff4adab5eb7393acce6575ea40966aca06b4e1dfba1002c7c5d055a89e11259ef061cb0a1f7c78ecd082d8a5ae2228117c0\n\n# tcId = 29\nmsg = 31363532313030353234\nresult = valid\nsig = 872dbd850628be3edd02a7d8618c81a5713395d6725f24a7c7a4a5fd2bc377c0b3285d2fa3b10864325e3f50492a107a31380a628490503a942b8ab80a71b9de49a7a169f45fbdb663a96ded6fb7345bba3560b95aa8873462ef1a3039d889911fdb3c9916056a76cfbaaa4a13328b96c3fefaa5403ec10325f3619b176f6042a68b496a23320905a589eaf532273e6d675f25c4da6da1d42bfa53a16c850e250f16b49277aae5cfeae17b65d61dfffee85cfdde1e0aade5c2c24ceb241c7a15ed5d529e7a680134c5ce3923e77dd3ef5da6a3194df0bcae4acb2ba766c5fffc3ba6e3f849ade94bb14f0b4aae88ba7d4d32127d74d319f847806ebb34ab112222888b3df62df97b603e763e40cbb2503f0f88c201b2ec0198306acac11da24eb983a01e93063b01e419ee6d39a819171bcef4bd70b1c1eec3fe267573611ffc2f51b863956f91a8341c6478b13473e1585ac6fa7e7ed804021f60b2764a727f0b0fb683b0b023c10f79f983fd5422dc638b9dc83b59eac97193031cc6112a26f601531ac273ad970427a26e970e886a6ae4cbebea850b5c86a5f27e4e39b3d17ef0f5173441ae242fa3dfcd36c2e8ff7a9a910b1b757dcd16acdd2cd09c517780b65d03f4c655a10919b7960be45ee1da723b370e293650902ec2d2407a9d05c191bdbecca3af3aa952f644505581f2c4313f124a154ba1041f8c4a1f5b1903\n\n# tcId = 30\nmsg = 35373438303831363936\nresult = valid\nsig = 1ca4f54ab74634f37dcae289b80a357bd0688ba1473a78398f4ee1b4aac47ca18c7e619bd95e62efacbd011260febcfbb4c39ef770ec10773e920aa0c2e773c57f6edf308f9af7df14f4d4b507204cd90128b6a2afc5e35d1f8a4c4b1dc94e1e0f83a8dd4f91a6b2a6e9527de6cfe3fa8cdea12004f1106c68ff661dcde9018ea2936d55bc5ee27f11aaa0f287f14498d086d620fdcee1a48aa2b1eea95f528934837f93f73cfb7134a858da3a49e11f7b5c4948cc56156c150b104f0c17a567496f5fac7d6d7a7eaebbc7c24e4fb80c40ae8c9abfd6faa774b438eefda7f27e25af393b0d8eb0532db8ea3e7d0d5de3983a06fc4a8e1590e42264a8c446982d141f9941ec98866ec3cd04ad1b29e163e2407b20ec116014a5ef70bae85d5702ab7d771bca15dd3db198bb26645ee1200786388b739e02d33244b6db27652412564583742bc700799f418153d9d30188361d772b1bb5fb2405cb1d1caab303400cd65399bb8dde393852373bbe3bd50ec46d516418afb8914026b27738e7a097390021136ccea75ed65af3c63dfbae938a9c52fad42435c21aaa943a89ff6653c3da52cfb2ac32819f09954a0e5dfbfa237f6e872f037c569fbc41886552fb7f6e22efebbb1b8197cb870b3e955def4e260333c59c98c6ba973bcdc5236ee0f450da196de4b18de9229a8291c741b9d175d9a1e9dacb1ce3305008ff19c93c62\n\n# tcId = 31\nmsg = 36333433393133343638\nresult = valid\nsig = 00e1e76be1276a4a11f176b16dd195491f28cd53f6e05cf24236fcd28881f0d33b25b9e236da7fa32cc40b128d007e0bc0640ffe42dbb2c5035f96516110913d037d7de017e264d1fd11862cf911547fe07333b5bf48c3c2ab469e733c51faf346f403c9555b7d273cce68ef59d7b8cb36faa91f916693d1f5e7f9210fd5cbfab72ccf931d04773c8f0460a1817cdbfe479c87e30d2e9fcb81a804383b0e5ac0d73f5e57229b7adc5f8c1e8ad19a1502083ba61629c1f4425273e881fc303448f32f0cad03aa3e7346d7bf3b9b27b09ba21df73f63ba1c420eb5ce21a1f777554f3877cfbc49d5c7268aac844e909f0031a32d62bfd0d87c26e1d386f34731712fb9e78ab58a083a45014678a49651f31bb3fd72cffb127961de04462f9e335df384217533d37602d3e8c19c93e09097e20c4cb76bc2359e86b389cd0d17520b6315b43f965f6d23e65f75f8be42649b2eaa1a7f11b033627cf0b926852dd8640e5a9acff47c7b3568508ce0df17ac2e72d6598bb8fff2aa61de42df997b1846be0aba4a41f9f06c6fef81e9e8b500cfe08fcb776baa6646024f391a2f69e45a060a6641be139aed935d9262cf8f4275b17f735c72e9c60a89bf5913ba4c93b9e426c9298bea999b83ff53b07eebe71c13155ee0fb027b0e8c46fb9aa641e9bbccf8df1ea8deadd2640e01662ddca3416a68f0c7690b79aba52b1fa657454e8e\n\n# tcId = 32\nmsg = 31353431313033353938\nresult = valid\nsig = 28fcdd6cf03b8d97f744c27b3eed915b93845c1fa1f878b7f22d795a1d5e6a5f1a18d1d6d8cdbeccabce9577bd2831eb9ec1db4af7a3ebe814e2b75ad489fe02bf8e36d361ec480421b82717eaa48ccf4e14285f5a12e44a396e723072b862134daeceadef8ac42555b82570fa70f83d8dedf22235fb7cda917ebf5644b32f8b92171b5241d648983b4308276b4d71b65e61926e7057d01d98ebb7db442bf9553f59bf8e2b66ceb86740c011fd43b979f25809e3ee72e91908dad7b660318bd1c099941f7b7fd87d0505d17298438d23f7ca328380d5d83c0a96ef33250ad05a23465b36b3305af30a981c7680eb10f57be48ae114114b5c29f6f75170bb4503d340c7a300670a727640a186c8e491c40c8337d049dac3f661ca8bc4cf0e7346b5153c3741307e6d2f0b6f57b247b3cfb958b3db7f71dd84ad57f67067e9fccb3ae89cc77d6a9720c1cf69578525b2cd0350e0ad480d459b0ef7a4ec6238c3f868bcf7d8f7693d9b06d193c12e40d17a270543db29c0437e14fe1ea5aa2fe19c6c32bfe70fb6072a8c12eee8b21f63716b056c76d38fcc7847f8b3c3b4f2a8884e1e01db981fb156eb1a915b82e38770387c2d4e82abce0ef570c3fd149c951e31390e305701880dd75e0d9aa5f2780ff221345761d7a005351cc03ec313821687b11904e7b769469875ea8c33b77ddd475c674cba981292b4abac1ac229dd81\n\n# tcId = 33\nmsg = 3130343738353830313238\nresult = valid\nsig = 23641d3cc88c0160ef8244b8d5fda3b296f49f925fd4d461baf6676984061ba8e563911df8533b2ece77fb111b2b36abb02611106ead001349c1f6fd0342e84ad18093a4f98d5ba48bbc4fcd950c2a7a7f27b12aa6f2ee3c5d7c59f2b3427bcf956a2ffd36803c7b784e55279111b3182170f614c52a942a33019ae9f44ef9837efe83ddea6f404f74f9529871c760a5f801332b821e78e6df0146906cb49ee652041d64190311e699ed401b3122d36aeb466181a50ccaf31d7cce253b731498120c4f1c89cd5a057f7157f072170486f7156a221f47dca341360b682eaca695f1ba2183ead1d6011fae67419e05cdf522cd9768b3209ab6199cfa5612927769ef0b93f576ccf2bdb90f11e7017dd406a0b3e32f57239049f2aad5d33ec1606e7346035528c93df5080ffcdcbdbaf80946023f3e836068365a891ea16e26dd9691aee67412d3c6ef68dfb0671ae542497bcc25656781b9660de00b562d0ff26f726f467bd6fe0ef780bf93027b848c08d2ccb597ce88fab53f0cd2f5914f4eb86af463277e96842389f5ddf63398f850bca973fd305cc7f27dc9880a560fd2bd1c66ad8481c3487ecdb17831ffd21e0229218687d2e2a1b3001bb12995b612e80a3a2ede515f7d0dbb079da425dbbce6eed057955bfecb3e5df1d95f78eb6b8dddc485720c4a90b30fc287328f6d883e1a29aa45d56c0eb98676615aa21b65d4\n\n# tcId = 34\nmsg = 3130353336323835353638\nresult = valid\nsig = 509537d3acd3fd84ced9891046c010f8071650dc5784db1f688b6bff391f1fcd6e1e4c36bb8e9cf9224aca9462f8c659f651471bdeb9599d9cc46e8b72227a63060ceda3f3dde4918bbd8fe3af7a09c825617bd7a85ed3ad7f2d9c4db7478d4e2b02fac3f8dc042a3a92c8fe9754912b7e416cd08e79daf36d41047d4893345ba0aa800f061a2abadc0010463a038673ab204b0589a427353015ada4dba98c02c07aeeaefeef299de8ac2221c29d8ffee3597f62f1539045ad77406afa13c35a990d7942e10fd9df962f1feaac38cec5d756e6a4764bf5348a0cd66cf37a0385e604e5049639b822bdbf97ebc45e5c02b058c33e09e6ff30513c7fcfe70756333b30bbfade73d5a7a407a0f1e9ede0885117c8012053043d62ba34f11c123eaa13d7dcce8fda5341788d386ea31fa23c0d55ddfa5011d319ce6ceb99a5be5054881690e4cf76174b507049cf75a15f8a27433bc6730f07e6e8d7cd38318a1d0a6e88bdb552d3856f68d3eca0445d9b6058556dc691105ced55d09cdd287dbfb2f01a8dc401c7f51bc889a233b837a19fd3231ae1680d3b5147312cffd3db576606a2c932d86dfda0b7bd822798efa4c71cb986813cd096671dfbfc948d08f2fa1228f93e2b7a43eb9371573493cd17ab2584260450f061288e85fe9b6684cf83a5609f549d6287932428736c080a3eb57e5e8cb342d7ed68ddcd7dac4caa4614\n\n# tcId = 35\nmsg = 393533393034313035\nresult = valid\nsig = 3bec4fa5856965f7312700e6dcc96ddd5bbad99e53c47fa3ab8d13254fc78ae5bd9815c9c9f3c843e93ed0427197cd9b395f7ef1991257b95c28b5b3ecfd6818acf5d73112a6b1f10313507d602cb5c62cd814e1f32a165a325bf07a086232b3850f41f20081133535a0d11e92a73dac1b23dfa3ae5d75852bc12f3b914e987876011a0cf0f5d57c5c865caf1741cd8889b55c6a5ce72285c76d1beafb1e56fbc26627163cbfcc5a2ff8bbc66d1750b533d003d2c0587ac795fed47994066e5928e14c6ae4ff4b202a8041d37e376099e67fcb080c300a0ad3c88d6f09e12bed474c40ef0d69c270e120c5361d036180ac673b44", + "e1abf1d5e0cba79ebcf94ae8a023b531a7d35be916cbc8aac8aae9e7b3fd89daa3dab7ab5a81a69540906a1a00e4d8f110b84217109c58055af4f23d5703321f8b22663e74a0539b783ea76c25f94ba4c7fa33f52796f6223719b6db916203eb156708a6dfe608109065bc0f452297f9be77badd71495f7dd3f93f31d251b28651a48b0d2465314c623f31f45229d64242581dcc261e72530b2104a32793e19bbf11145bab33529befac93ddc1956d3de933fa4d61c11095232d460b9feb2103b68f0a12993b9f3e9eccd631f030242403a39bbe5553a15a138b6d99a644cd2fc82b664fc42caebbf1d741e865a0b52e32b706864168f4d8b29903c71bb3c4465d644a547b5c6d51fe8dfa8a\n\n# tcId = 36\nmsg = 393738383438303339\nresult = valid\nsig = 7655912506999c9f509466f90088bc697e0eadfc014e146d3d8ab8050f4f407c25355112361e64ca8def90ee3c9f9f8e4697cc9a08febb705e15ab092d7e59dfdb255a2c89046b4ca33fd94943080f3764a99cc2601689511e6e9d89014ff2ff3363e3b4994691469fd40542ba91a63215230122da5d43eee9baced2767bdb6c5752b89c7c530d0bb7c18a3c0fcafceefbc2e5f3a330f7a9f8dc3c73873c44305f80ca498c96e15ecf536dd00ef7132c08e5f6cbe02d551656353d0c07a4981ab06130e07ff5d14597c42c8432d9655c7b793a46771107b202bad1ab8be4b3112afd57ebfc89635faf67a84f0a97fbf7d136b67cce9c17807fdb993fa33a56244fbe182b47efaab64cf28bc369553ae0e9584e69de7681f58262437fce9013c1c20a1d926d99636c6cbf2eb4a3396360e60808cc7330563c006cdad7decffb12966a19d8c51689716b17a4dd8d0adc4a8fda4d86cd60edb2b3d683086630aa91242abc601c608deedc6d542f613373ea10393991e9889cb73db9cc21556ab6796fdfa5c9c4eebd99daf4e9cd7d2e9f984e4eaf42c4f5a6103a48cc931757882a5d044be85350235bdfe8c478117cac02b78d609f20de8e80ecf6673d19afcd90639567934d28d0cc6cf3de5fd9e6db80866aa2d095ef9eb21a865ee14e0e30ebf60604a507ea81bc1d8a19d06d233536cac549e37319269db4a54e55cb0c73fc\n\n# tcId = 37\nmsg = 33363130363732343432\nresult = valid\nsig = 611707a6b390de22ef2eecc67496fcf2b16251283fbef26087e1989150c1248cd189e65c52b9ed2d0cb6fc1644b6c21edcceabd63be7f5bd524ef68ef627d4ed6e1eecc0e33ba3c1b9d5db703582a3ccd817d0873a756c42be882ec33b4b0c4f74b8d00be26e352f8b5def42914c39cf98b549ffe843295eaeea3dbc5efb96b26fb5748c63b3719524e9f16aae63da88a0ef10ccc0edce9192f8b33f418a6c7870d9a7245b23c88b2d1a870a621a0e93eeb23e51d90f23dc9cecc766a80f96c66286b2a41667eaa152c97cb79b7a15f3c6bef6cba8e98ea5f0c2c09c13017b7334d323baeae1c38287513bcb670c340729f0913a4e85761bd0fbb328d034a4791048aaed089d1f23c5e5a8f85427bffead66f7a16886a6d9056cd60ca761f4f08fae54d77a2790852bff8489207883175893f2d2c50d238ba281406318f24a43255a09d61919715feba83ebc991824071f3a6b98b7f518f38284fc36e719e909c952c2bad515a80b700ea2ae11cd1d6d78a599a592cfdc912cb41c514711a0193311807993c6d88b9c7884c9b614b2dea1b50bb2e7f871cc373b4e5e97d514c973cbc30b5c2fd6d29d850e18c20d0a68793a052f5b2ff830adf72dec1729651b69a167e4018a250d45cb4bdc35cee5e1643f00b23281be6546457e8b4dbe5b3b11e50110814a99bd9acc15889fe70aa39fe688ade3fc27921506a1b65ee6afcf\n\n# tcId = 38\nmsg = 31303534323430373035\nresult = valid\nsig = 92bd2f48815c4c4c0f05d445e27193a9e8f063f9e7976a24451767d3d8f5fa0ff7684eef61cf6cf035e5bbade10a662285a4f961fd34bcee1e9a12726ae4fddab6b0b3b569dfaa64b6f956127b8b548bb86230e97de3e1671fdebed2ed33d320b226c81a6b1a95938659920fc948f298c88a2173098f77a66024f794a8e5f17b33b4f20aaa920b27f90ff62fdd74f2f2cbfb6e42dada530b17e770f3e1204eeb47ecb50cfe30562d63b86c4e27d86aafe03075d92372586d950ab089bc9fbc0834cf2288b1330f8bcbb99d0e4ebc12a3ac9c97cdafe9c2d6fbd333900339e9a0e63285ef3a4497e227cefc338a4a4a96b1d9a851f2b0d305a7fd7b91553b72a2fbc255757f9f44496e8685a9a30d5de575576f816405f5f543086eb0cd0421fe674325a49dea1d700e4ccb664019adb55b0d7c1255c9d32ebd2a6ddde870ed7dde3174bcb35aa5bcd62222ab221070ba03947ff63b8b5d63517a4b2853942df059a30e45d240c32988e933c9255d1afa0668ab70b9475d19f1fa009c8961ba784c0161b2acbd62662746120a72b32771b3da0a0a69a42b589c60d3c36b94128d6b2052a880ba7c877d85b28d49011d27ede03937e9f6fe8cd804c6914e1d998bc3bd167afc91a653835add13be446101649469014476e86429818e86f601783e7af111adf4994336b19af662587dc330b97a6966209dd3e0f969f8c5dc53ad4a\n\n# tcId = 39\nmsg = 35313734343438313937\nresult = valid\nsig = 6cf40fb8fdbfd3a94a69b9cc9cd0116bc040454a7cd08cbf7b878b7c8683d259c8623ecf935d7d23560971ccdef3293b2eb33000371e005c2e3a1d2ea07035ab43adc657ffa243b1ef073f5f218c789e1e52abe553220a67d4abc258edf642e542616dfdc50124d332076a40379bbdc60838a439920564fa0fec9cc9ba59c75fdd6c6ceca2c290c7a756da0c6ac837ef4395d506f5c9d76867483ac2413013069e0160bd123339c0beab4fd5884a1c3544fb6267c8e53870b721bd56b863ac06b6c2de1791f6bff4593337548715d24176bf9fb8ae5a0bb9b36e56b09060e2a4658844ddcbee01f1b4c703532058adbf05162ca4b9abea5154fd569bedd519532d81ef1312e9df06e52df2732ca7527676704bd445932b240a9fc4858c4b44ed06fee30b50c5d89f5f1046b9eaa07ac1308514a35a19d4c8ace5b57fda573a122c474b74079d4b0c47b25f1d3802e01f6f4ce1f0a01281edb39485c48d6587cacf5efc2fe194843f72b4adefe05a8364f34de739d5a9c07e5d1272b1aa8b87bfbc4075030864580361591263f36036758cc9d54fe65ff1b3abcbded1cda0990c361ea312aa09632ec91f4b565c4bb7ace0b7079e520d41e2666f560592bc7ba80c4af01119bbee9f0aedad6bb323139fa20b9e568870c1e83bc5bcf42c90d477f7bcf2417199e3d20c123d44c7e846d104ebc36c6a4a6729adb87b28c8e1a1e1\n\n# tcId = 40\nmsg = 31393637353631323531\nresult = valid\nsig = 8f1e8b8ce7d7a651a5ccca41c4c2b3f7af80f1fb5de311d54e8e693d3fd53ac27a6b9efddc2d934efc81d8695abc6661e62e19554a4dab77c4893e735439c0ec05097636e1dbc7dd63a76ad0492b773ecd3853283574430c64b8813c352ebf13a761b769918317c644b4b0c2c9b9e04ee94069bd9ce2f1aa42e2bfca0e02e63abbf23a75ff06e76631f6ba4384750aedf2181c1c8f6b780c0960b29a56959b171ddcb14ebee30291a35e618874e51cfcca78dac432a4afe1b92ae0ccab06cf449b9175fe9e5d3edfd241a18546f6c4c8682ba379155e495a9c6ed0744a36c40a992a9391edbf1220baf11c163600c928202111a6bb5c5c7fad9bfdef2fdd2a05887bb02bba673842d8d1ac48888cf8396cb70e5cf0b51a717e8dc381d3dc5d3ddea59abe23191820ea6786a337eb67adf7c94910941c3dde3ba2e4788a533605d1fe15a8d309018926f29fed39990a073777f6fcdb6a10839925ec0c8ff3ea80e13844164478de928a3f28e3643d3c3ea701cee470559e5c71c9da344b35f624bd91d58112200f343b6a3a1e23a578323f390a03e0be72b5cce53f0c7cd2594d519d2d01f430a9ebf0cdc9f523e80b00577cb7f524c204fabb01633ff1f5a598f8e267c8fca23c72cc559505c19f6b1f9cb7a172d87cedb250123d97947ffc050f4abb4307bccc757d3a60d12f2926e2817af65a24742ee2edb5eda5774016e6\n\n# tcId = 41\nmsg = 33343437323533333433\nresult = valid\nsig = 38bec0ef412ac3c934aef5287fc4a9d55c450dea93a8aea15b5311e840a62d60558ccdec3edcb7427ac9b6fc89e5a094ea5f1166f6abc24305620f004d95b5545693579732c97a4593e58d3b5cbec63071de555a48f9fb1c8ec7f651fb0f8ac95ef9255e3c41f56f09910746597d62ba88629d50587f981987d4829df4b1e1380bae7be4603593a86ccf64f32af0c655a87a1ed127ed5b224bc3284875b9109a94ce76f2f86bf96c3062fe77cafc252ea62f862cb254ea739b6fc9bf44fb130057a777c8e45e368cb9e9bcba824597497b9dfc1857b494120807d91f181b9c7edb32f22c3fb47a7086ce4a0e275e0becc178fe9f5a3d77fa0247c71b9a7874e4fe0340bc258926fc6da84f9c06b5795893021cf9f97d83b405af71626ae6ef604a92a1bff52e672f7f2fac248f24ce0a78225ffbc19142994fa02ce9b1949e5b60f9e9129ea4281ee798a2555575b69d33170724c3a3f0f21275ae8c3bac9648f27eadbabf0618816e6864a9c7e0f090de9dec3cd920094d8c2693bf9470c2f0af5f66065db34ab26313091b3c7716db9f77b09e3965325ae03ef6933961efa8c857663918ba75a1fe0d2f4689ae8edf722dba2950c9c5bd1892886b16a17936f5978188ad7c7ff3881fb7c0aae98e495c1e1842513ad63db4c55cb615cd11bcec9a71df1c5e9e2c98d108e69bb2e0da1be314a3bf6c203fdb3884a2505b7130\n\n# tcId = 42\nmsg = 333638323634333138\nresult = valid\nsig = 934ec7da0f9887c3abfd01a81db793fe3ab2bd121445906d7c06b222bd52f35061cac1e7b5208741770534478fa8024aa6241679298830456a73da97df0d1283f7638805587977e875cf115c5e4edb7bcba908f838d0765adadbf4a26e3fff27798de0f2c1119bb56e015d5727c2626042b91dac8935da51a97b6963bb7a32cd894ee5d9ece32a258a61f8c81a753ffac15298f27204e6a123ae11021d03b81fcb2e9ab2fcc0f6c8abf9b7df4fc417cdfe3b630f467d8d28501e2dda1e41d92a9830f18d64630d1d483287a2ac01eadba8bb19564ddbf3645727d907e24afdb7d491d7c72e47b747a4aaf6478055a83f6ab63b266a74d3da07a8f601f8d18d75bb84b088a83976b5af2a96b5c8faa160fc6027e9c3661cbf536234d1e49eddfcfaa426ba0d0593bc012a9887e51e7bcb83f90080f535316eeafef3ad01586053efd070e7e2add6cd82b86b7a1a0e038972a3b7e8a13608b66d6e6c04af478de0842474838e1d9d06b001dc670f18346ec04ef63b09242bdfcde4d049a05d0ccaca61bf07a2cda5e0099bb8b1948a4bb7d819b5107b052e1f6ea88d9ff6bbb722eb779bb1a537a33b17cb5f44df77c12d32877fc95990fb56d88a6de48ab74799c6f4d6d209403814fbfac53de4176db71f44aa68d8af04bb5725416d927f6f97466686a40bc20187f843b3d0c21119fdf607268c33d6b5f0d8284e4c0705e87a\n\n# tcId = 43\nmsg = 33323631313938363038\nresult = valid\nsi", + "g = 072175f202038c0970767b29dc961f86c0a6b1b7b100bf326180c31b65b0d2ba095ec256c4e3d90d984f3de8e88f8f1b632dcda3982dcbf13a3705aba7b41be69b905221e626e9cc75925630a3686676c7b8e35e9d0e96d969085cd9f1d042d6647a072700ec134a7702ea0d5ed2364b8b7831955b27b1536e4e8cef1310e6717fcbbd41a787a805d1654c95678ac75909b623a045a49b620b11ac167959308c3125257f36f2f752d9bb42e1941f0d23dd5ea200529082eaa7400d24edeaa70225fd3604f9f2c367dab61be53218b2acfac3c2ead194c5080378378b2cffde5cadcd3a559cfcfc229ce1380ed0da35d34ae83920496182ac41ad29621efd4242699ee511ce4d1b383cbc3cdd6ecb67a7f1f0f3e84d57b120435b1257498c73d922aa27fb91fc0fd63447dbd6933320ad51c0c3739d3fa65cae206682c23727ad46cd5338c81d1e94ef71c2bec4bed6c75c5b9f4b43eb7702b945315a5c27dae2ed341eeb35468978c1bf237b2c24592d4c5357bb03a9f2e68b3422cffd9fdc0ceea99ad4871f5e3e9174438fccc3b03b0396e9c6cf2a1831b196f45a193a72b0f02c5b83072c87952c41a039e0fc42ead4eba7b155daac61129020d4b1e63a6378698ea5718b6db973343b94e9c6ecaa938b01cdab06d35aaada510554c424e39039304e1d357cca26a49129f400adb6cc0729ad6012bca1e3d676c9c68e765e\n\n# tcId = 44\nmsg = 39363738373831303934\nresult = valid\nsig = 40760ad79f382c7f671f00aea354252274fc1f0610b3d8d5082552a0370482385f3b67e70b7d144a67e9400e2a8307a08ba99064aa77374fc0456cdc4ef60a9baaf9b2ebe24713e20eeb9203387019d3c76a637712e7e8bec99b32b6add0ee54d362b888f8ed4d3915eb6d4aee085a330eaa412da99c82c6ff029eec54c6b1233d2bebb581b562ffc082cd805b6c9fd18e4d1a2a18e0ac769e782c2c1657ae1d3756e3d4b5f7976abfb6debc441d7e4c13444a99b750a57ca0bd90183c11a5d8728a984a8848e045832deb4c39bd4ddb58ef5650ac0d555711082f4b432579fb1fb8e39fe76f5a12a9d038413a4841d4280ab46947bf536d2c4ce465e54f3fe2948332158bbd15ba38c10174777f0174fdd9b918c285e1ea54f233d1fc8fcf8e4bc0d34d49b5bb96f85390ce1ccc755f5643533858177b769db891470ad0257121b28fe310c4651d476acc88409e082bfb233906347b521cf66061a0fb094568034a76864ec125f7bc2e4f0157c5e8d774d42010992cc11d0825dfb8f55e622aaacf05acac6fdaf8f69c5706e0bb5d0cab087359b0e963098b383bdd92bf19eddee8c3a921a8db3c3410abc8ca4b41b970fcc58113a3ac2439ecefaae1d415a0f404132f2f8ba9e846f82d7e04640a283f8845aa9cf59524be5cf55cea71a04bcd10c6ac2be43abccec34aff43d09201865d65f26f7233654104132fb451edcb\n\n# tcId = 45\nmsg = 34393538383233383233\nresult = valid\nsig = 32deb686e013aa3e7d79a1a6790223e7e06cd6ff177c18b89e8b21cc361b9af7a99c42fb8d3553704b198e5ddd6839f8d3fa9a5f08aea0e8e31591c0e73ed6b26ea461f3d60bbe54f5ef15618d80ab691ab176156ec2fdfb2b3a49c32481dd4edc91c0b25ad5206e88ad2dd2bfe63c6a9f803ee56aa6b934e195ecbef15d2a7811452e13c9bb6b4f2c5aaba5845f8949edd1e29b573d661817a50e1acdb6d56b1cdc15a40e714d275778883baac648bbf5e201956f8e9ebde2eef1d5460e7701a1ced7b53d20afb70fb765aa93b913d31b8f74d45333673e081644f5bfab367cb13918cb35ecae49a23c9f4a42ca49ed166d0eae9c97092a1b45552917a41e9fe7b9a06cd03ddb4f66822393ef59cfb0d0b3a848a15df3f47a6566e541d9b9b435cb6e890c2b89bf2989b59f08b6090aa6248bc11afd626679c0087c95962616a1e5d0afbabbe71f3783b087d763d8de4983d888b3aae037cddfc5a4752024b49a0827355ba187ec1a53e7cabaf39bbd6d0b0997f7c3c0f79b420a774cd3d7d74e2fcb78942bf04637bbc6499dbbfa61f7c6b377bceb87932c1ac60501b9def1ea6fae8d9544fe37ebd225c559b642d00ed5485253e23661436a2337f58e9f6a395f74094f60860e0dbb8aa460bba035486a19d9235631d95880b385fca04ad997e4062520fc43878628a59f51520da7846dcd27275c4cbd2873673c6492c201\n\n# tcId = 46\nmsg = 383234363337383337\nresult = valid\nsig = 1464791bc1e7298ee955700cecad59232c24c2a240bea9b3105bd70b0ca4bb3f764022e1275d4368a1b70ed8dc393dabf74d4fffd748db7215f085769e0fcbd13b335c30099ad01d98d052d0d546719a82d55ea8c63db5cd732333ececadd1977a976123a2f16005f1cf0c234322706f4588cf362722c76098533a63d348726eb3080f3a777e1f5bab680daa841b8dc63fe404fe5d33cb7eea62f3f17459a412eab45bd63f2e846872cbe5d835ff6f47ade492dbcc7b8e6d3755b7bb83dae7bbe82468ec011190f693785b8a1cc831a4ac695aad172909f25c910b75b460873b9a8e61e0f622b76d7fbc52541d49a70b77a947bbe5eadbdb594e05de710710057f42f3adc3804dc3c4201bdfd10c9933fb3c9e380ffb25ccb7b6c7648e5463247b95ec300a8d9f2352686b060a516a8b18f88485e64129c54a46a2e0b68787d27bcf8ad92a9dd0f7ecf6d43e9015cd2fadb6e4bd85825f1c7696d7363dd64fba85ffb20ee26487a8c95d6a1f4be5cdf21fb3567f50ec9ba1a2e5c87ab1dc0bacbb56377345af1a42156528fe5dd1f9f2ef50fbc64de4c4275f20f7104820cd3e3a8ac14e0aab82cb6cea9822e0c4bfb7c605093e41c494ca49e5b72dc25a72ae6dc44c33f942e71814525cf2c4338037c617b4c4b79a020a3471986d12b057c484d9cd5132ffee4526aec192d0dcdcb077368cc88cfc24d50c7a499c9f98f3d6\n\n# tcId = 47\nmsg = 3131303230383333373736\nresult = valid\nsig = 5214543874991618c693495214bc75af0941b9f81476c074921bed4f3f287c95a67906a782119e79033b6a9a25b52678720dfa5f359ec19977f40e01ab5b48531bdb1826caa266d28fa407026319e2f3ce00d04d716a71f98856cd48a60a7de7ce141d14bd1828eebf993a4d82abaf82619642c6cfb17f19489e6b25da17ef1ba1ae105e7342923c56a94cc1d002ae4e853f8f18215633b4a039dbde7417ce9b0569875990103431fa0dbaa31691e81c91dc2e20482b10dc7442d875bbd96297a44a3be721930a14434d58680bfbd46d317297a6b552d76ddabcfdb18e7f530b482bd8540dd9ee3061d213bfb2ff2eda3018c9d57fc1f24b77fd5fc61ae56aebf3a879d3042e097cf33fadc7f4c9899475fe55b9614d3ef190dd75547bfec4a311829de159bafbb52bbf9800e4aaefa1f4dbdf26dd228847eb35383ce366ec0843d9dd9b617d42afe2dab5faac4e036882724e84b188017e9bad9bdf801ecf348ba22e2420d4c89b43e0c65a49edc20f1c8f29ef113aba75abb7a261e5cd96585d17d4a4dc84930cc58e857416c195fbde08d5d3db25db63c5c2fa44fd71ed6c101f2b512dda449981481c6c1704dba05aab8443eb972710741087ff2d3f76a36550efc835e0cc0304b564a2d1692470230b384905bfe2fffbfcdc996c450fc276dc299a046cd145a7c6d74ebcfc414e81c32b26cc2d54ff1238dc4e4b90ea74\n\n# tcId = 48\nmsg = 313333383731363438\nresult = valid\nsig = 4d93419477c751cca75ba892535f1a52ad7e52a598cba14d8c08ebc660772d4b63722fb731bfb93e1734c3da1e80527653a363f9efa1060ec42c1b536eef907ea91d574398da4d95fb61f12c570dba4428ae7c56e0711669ea0913d64ee7cf4de664b6321729ae15f35f3916f1a72df2d9858a3dad3812db0445b6174f40f4ab0d81e030cf4668659ce53364cd580b77938df1a95a7de0493b052a5c9fdf947eaf5b72104f592ef391fe87f68ac5b4668692244ae2ae93b7fa544cce0a781ac4835fc1ac122c392f389af8086eb4b051a2d75c36a6db45c5cd7336a298ada80d97504b3c7c27aba5f2607e31046586ac1d80e3e8ecfd3c0a996fdafea4d97e30a29f55bc81c1f10653fb23608f63a0e91aefed0578682c8c3580e29c7a54e43265a5c4903aa5ac0174dc4c0bd21f55773017f0dd7330d9f0cfa7dac3013ca495644879cccf763d32379811c7ea11afca9f99fd5505f7766224e09d9fa046fcd7d0e3f0a4ee93b2c0dd7bb1b2d465fd325d8af89ccc1d97cc862c49aeab56688d4592a047ed4f0f19c3602294c10ca73ff7987b072f5431789dd95fb9d39cb4ce3753c80c9a3a663111ebed5cc48acba437f1d600a627f94545aee5d742755ef480d35fac15d3829861b2fe9cd5859172e70699b060e213bbeeaee61e9d8bd90abd4ed9e0dffadf737d2dc0d594beac16d039851c97d0e3d030463caa1b90f0ab\n\n# tcId = 49\nmsg = 333232313434313632\nresult = valid\nsig = 23dd57fe7ca4c3e937ad1b18a540bf3a425202ca237aa5c5e423868d0f23bdce63a69b5432095374993975749b68c1683bf656fc695f35869e16be84e59049817b652cb9115f31104d8d1f2795d0204d46ee862d8d6e1d250c9a2eb69e5caec4d93097f614294ed3794f178ab4121966deb1ddfacef5847d1278bc4d3835c97ed1e7476347e7ac1632e756928e2cf560468ce4a98057d264d1fc82189ebadd07b216b27b4c66c4d486ef0a9a578caa2b519716687c351c69e51a8f7dc6b34b8cbeb303ff682a767c9ab057ea8d52621e3f821da0d7603d4e8d77703474c2d8a0c5756c8f42e0f88b3e49056adc721c167e4c43a5ee54f2f1b5882c38e7de6c10faaa89e1491ebfc318a56b18abc97623c70a6a13205f24a15bb8f5f0b6c6e4017d50e5ac68c35285f1cf7ff8062f5f79e8b9a0c29fa54e4a36364c5db7f3391d56d5c11c4bad27e07ccc9c004571d338632c3e761505f1978185c4808f3ab8daba5dd6aff21fb09e8a6e585faca61a2305e2bb33b991d5b8835a3d10d0c99779efde6cb39492379cce1aa0362b1f25b6f88ee104f528727dfa6546c4b19b3f045131b96ab5a27a07da8d9bf4bce63261cf265e0e4753563db4da1a63738d8c930a51ad111a8dac6c6efa8529b83665d8e9c93a05f0471f811085ae3daef9ae4a8d9ef3907a5149659e83ec74e5f0aaed9e775d15585e4131f02c01a08e73db64\n\n# tcId = 50\nmsg = 3130363836363535353436\nresult = valid\nsig = 7badd3feb2912409086af492b43c5bb22369be5885713f478d831af1f07ca200f0c67c2d6462c555184184d34845b7cda60e5f278b38fa7c009ae9aafd5abf9fb1ea4634ce39ef8c29d341d8c6dd5380943b65506477dd4ad1153597d95329dbd5a7755d7a27b50497246bfa4457c3b8bd425973de847441e97db38393905ef6f9cbd862daae8973711ceda67ed26096d76d16175ae75672551907145a3ba7532e65c466c0bf2d994898d41a367719adab9f76a25a9811443f1a3fe2b55c2b4a30a4fb2e493d6dcd9ff96faf456e9962a42d715981aa206a5575556f9c8f6fec8a6fc991396b621ef85fce6d63fbea11b2a8bc3e5a1c8e09d446d4bb751910c7de9535cf1ce2a825a5cd52b28a2a4a132420483850388a80c193377474aee0a7771c93e2ebee", + "1fabea7c9d9f5cd88ff6c42cc84289fd2bd46f3cd2a3c1435b062c1e9a0b0bee7d0bd87e560c0ab51ae105644c50aada070af7f26db3c00698cf24ea96ecbfc7a365061f86970670a046959514ed41fd64bb7462ca63c1f171f0630cc511b105d66f60e3c5a761aa6daf60ba1e098ac05b509f7d44c75b168d1afdabf756d696c42b63cd157ba7dc840facf867e6079c098763be70b97f1e7eb573446cef5fb8917cf855451d92ab0c5b6e3e16d835ac85ae46b471408c24f32459e0cbf3ec3ec386df4c4858d38a1966ba074928aff53c9dbb9bee8833cfd3df\n\n# tcId = 51\nmsg = 3632313535323436\nresult = valid\nsig = 4aa9cbd6bc066ac61695e4911948101aad036866fea9a4f8307d05683ef9f361ed0a819f27e5da406666b1d0aeadd62de8d3540943c97d4aeb9e27faa08526f07fea9b388efa1830d557cfcb09741ab1ae15288841705aceb17c54b24089f61bf129f7ec82e5850b3880e0d174f334554db0f3d7438bcb13364625a4e1a692b86740637e335f765805f52f165d98ebc678a235312fbcf20564edf18dffcb1e0abe404819cb5807c9040f42b61b8b80b1f4be07239e4f3514d022684fe9572aa008df1c9afad00210af1a05bf6b2fd89a53d1268e509e56c587b5e1b72d18c623819c55b28e44c284cc5a730afdbc7d930eda16a9bb38e8f8180924b295744dcca65311a233380f379b9953ca6df77abc654084beb6ae9289c218f8db96c41bd5788c15dfd43e4025633a83537053343c19e83ebdd15248d459edba26f17ca9bc542954f94cc73ef8be311cd97f399c8f57d03a66c268a53b2eb850a6b39d2c7779e3e9952476a400e7745bceee26c11efd509ce4c7ca63b74b92d472b020cbf7a3c83774f7ad11bec93b9d65b1880ba4714f0c6236c15bf1731ed36ec473f67d8df600fcbe41b6f29d47624e6a80f015414b3b4dc07fcf8558dc29c3fa089f1329632663e4cef9e10dbc1322e5a8ea2f6cfd428f773c7ed56e268e77b9db742e0e5344ab6db88202a74aabc15122fa5c7a5e73dd430d25f8c01e260122772b18\n\n# tcId = 52\nmsg = 37303330383138373734\nresult = valid\nsig = 67d6c590e09452f1170c57016985ac4d7c065cb27100e84229a12904b7187373d74b1c525d4e5c8f13f4127f797568bb192157dc318f55f74589a14226ea09599488d3a81de3bc431c624f4c43855677f691a40541c8d6798fb75f498833c73ef40909d40f3719c46999ce8ef6e1dc2efad90fcb06084c3deaf0ec57f724a499af95a42bfbb0bb0524fd9859a50f7965c10cc23a0c42e698a495404ae9b5d136f8ee7be6d83eec858a6535672784f0e3865a43a932460c5060e5648804cf375d129af3b39ad2fd4be91c8d1fe3a0b1711c73531176abdbedf07a75d146132ada7929be08cbbf0addf32763fa1dc5691d563ae1bbd8e2bad3d993c6ff8bb12dcd6488a69a7fabd4af74c7a22b92a6f69aff108d99138c56c753692bdb4890cee153f8b2dff0f22d734eafb6266d1488cef3afae9ad722f9ce99b8814dbfdf913c4658cf1b5d06039f3e268decf05fab2154dfa16e6b25eb2e580b20058a1c5fc3d88db38b56214ed70978671702757b12f7e182ba44e02c0d02db990f65e8fc2dec207d86a22fd616a749e8bd3059ed2a9b9bb597d5dc59a64c182f1ad2daa9c9ab54c56084557b93b72fefeffb52f4e33d8a937840c990342e0cd9b6b72a204c1e06730a168907951cdd84d6bbc44d113153175eb402cc3d5e36d4740e7dba5a24cf94007c76f1c87be617e92beedb350135828799226c0877a2c7ca8b54b879\n\n# tcId = 53\nmsg = 35393234353233373434\nresult = valid\nsig = 4b8ad9a750889c2ae3cd3dfe7205c974ffc04f15ba9a05079a1fb24b093d2ae1605295f5f38c32c0b934e56f06f68dfaea3e52c22c2ab4ed8f225b211371d9e0eae0e1a2cd9c00ba72a5e0f4184da41e9dfed325ed7af87800e044c0ef4f913c510c3eb5fc8a0d0c36a98f60ddada081491fa1a4caab1cd6c64ff0e9c0c2a4a5714fd5d74659fdc960ea2ad80774ac02586b488ed4dd05901d49f5b6429eaace02f4aac5fb4eb7bf7899842a028ea80e9117e234a7e4ddbccf0a6de02d0f1fe6701920c4221c02645ed560289fb04e73a6d30ebb39dc74e1c087c8ee495ec602527543b3bbc5eef7b2991364ed3fc27b1a21215618c02a30582afa45fa4856439bf20daa0d16f99eb30437604f31192f23f2bf9c57e97e0c5283c02972b6a9571835321119662fc55a938b332355bea18b2ee12c4c0dc603cd28af343d34d3f0d4bc5010bc661711690a45fe830c0cf7814f8aa10a2cf8ae284fd080d73cba5af3eff2a4fd66fb0df825b8725ede4c5184a9806803a4d0c94cb1dc64ccf9ea71f0e98d5a941f60736af0731857cc793cc19654bf5634e4dcd8899a7f7147d6ac70da9c17146dea2725259a4f64eced2dc936c825426856b81c92383069908e8f4f54189af10a465355f0da514e2c334fc74f8ecb74e5b452012def3a9513f46a0a54ac749ba89609db9be60543b96440d32446780e969e49f7d05a9cb74115a8\n\n# tcId = 54\nmsg = 31343935353836363231\nresult = valid\nsig = 1932e0cf0ffd2ada47701e3f5b6d8f7012ec9a1ae8d75c53fa3c6ab7f7d7f1c2361de4cf1ee03394489338525df2f747b8defc569f8340d26c2dbc193bf107f0fb19c6e148255128f37bfb3a5955f30d7ea923e15f8bdabcd87aa299a6695fabdf6104a3457bd18b115303ce6d6c35c8dce4b2fed8b498de5010b01dd82fc321144b60196f45267c6c8ab8e9e3aeaf7911f7a73a3d5208a2642f8254ef00f1fed65f6c816f8a924399d6c6b71eced98fc6b22da2c3495d1ef3398bdefeac88553829990b2381fd1bd02b53eff4d68c2052e2802e71e2b5532c32f0bf8521a153276fd6b2d499a596743b82240942e6ed7a19037dbc1216fbc42170945a35346bf77ec5658c9f8fcf5ce6e75de299154d5c88142c922f4e04752ad2a6d8220d37ead668e3caa4ae9c2c0f3e44d430ee2c115a7c183e91b0ac45f884fa8d0d36c1b6a083b8f1145b0fe2aa00a522d0da064c92425e453af3c6746653202e0114ad8168a031df8138d24a655ef654a9907af69a5f9496111b1d97be6d4d544701c1853fc7f41579402840f15d974a61439f601c8ed5cd373c318283d6b4eac968d2ac1357a90bb272857fa501833b9ee2bc93924d3114979f2452714bc6b1bedbfbe6b1b4ed0a1465cff71bc8796bfc591000424a5fe97403ad7802a8c526696c519374c3159eca79f5e8e3b1edba8a8b101abd3573e80a3c494567724aac687d58\n\n# tcId = 55\nmsg = 34303035333134343036\nresult = valid\nsig = 7a7e2026a025f6a1989b14dbb30b04d03b12a96d847e56183cb73bfde34fa4a5ada232e5bd4e93696f17ccd1596b0bf1d3071dc5f0c186ea7d202f243ce959100892abb72e1c1bdf7da2e5882867782ffe4622ac0c8f867944352562f8445b10dbed73a09d7f992249a494c258abca4fe818c85fee10fafb090cee6db52e80e404e5b49992f321f7d842ede62881f14638317306079e87d3d713232d6b80b49a76a9c62654240c47cc8eb9d6690ff9dc19485a48587b392dcaa3b15e7f78cb6b034835f96e9cd115707db08020b23ef87b6dc31f4c54f0d17a9a714a975ddb8e8a03b627604fab80cbf52d7bc1a9d8678c3f58c73181dbcb55f0720ce8d281c3af9c67cf9117c44866e926a5819c23c482fb53c41dc44244ddb657f8e7760ed6795cd875813012ead3822f5ace25cc1e3d0fbc4b3972032c8f7ba0237e93f6e0029234059f7082ad695997c6184b4d5b22336cfa381cc2b0bcd1ef0019ab62d0f80a15c31fec09d8af1d139c2f249468a13bda15e49022b7b0ecd6dc9afaa15bbbd978e1bd71664f272296c2942f0488d5e72a615536bf8008b4471a94666d6a2fafc8eef8ad493fb0fad8c016921ccb2c3479f7efa44e8b2f109621d96ac4ed49d6c20f423cbf89a74bc3c528b45ba8ca341612940b21ab6ff1f12140200fa4d779ca76345e6239f99c6e9b627e3d03db05518940d23b59a9f41710afe33d91\n\n# tcId = 56\nmsg = 33303936343537353132\nresult = valid\nsig = 57f2f391111fbf44c2e685940e4fe576304a638b7783a3cd5e374def5c89cb81e24d68e37839ce8f39718aec3570791107715be3e004a907e477cc29ab3bf1a1c130b39f19623c747c62360be5c68e93f0fec81bab2ad1ee7313b5c9e2b6c3ff5668dcf873ab7beeb91e16a9239ad46d2441fe091db86553856a97f45607b749da6982feaf59f5b5f751a5191e0f45e0a7b4a309523bff24d53000aab65bee328f1e1979916a837362f82a32d3a4b72f1a106cbb807e92eaf316f74ef19778210234043a8a64b4fe7f7bfca912356af5bc765fb7f36900353a56fed653b31eb77c77c2bb448699ca84e0d20816e4186ec2d4f4c686d6d4f41a35c914f34415254b57dc3cc02ea9c1da2a6cde543e3b344d3b59ede5b18a44df0a1ae87caa003250034a6f00903dd691473c50d038ec749a360c9a35ffdd0db5c7cf0fac87a230227890d8f8750952f6d8e5b7719051110a3562cb96b1592ec85387fc7fee30fa57e9391a0fa71d1889d61ef5a27657522dcaf75695dbd5a3d0a80580fd0d77af4decc580483e91b17b2acbd0298d4ea40583375f13f561d4aa459e803275a2e365eed2f3464207e7751d27d3859f716a1d668fd0f618b0e850b52d7cc4c88d5ec59a7aabcccd5da96ae485726286f2c9e31877bee9dc5411b198b11854471b49f756040b19d884a57d79ea411e700faafa9d80b0796006c9d1d0ddc417c21165\n\n# tcId = 57\nmsg = 32373834303235363230\nresult = valid\nsig = 17df78ce7fe125d90ee5ccf0057fe37b4cb2caf4046ca8eb6ef3791231189a78f1c87305a9633b32f1313578df123d2a56683f66a945115add501d8ed91693f3a45abc947b24f87415f2dd137c3cd7835dfac4c301cf1d80b07dd0a48182e4d64b8257e6f19c668b737ba09b1cffc023155f2d683160aba73fd23848f687171d3f1841114470d176465c0c31dce07d5076e46cf6ba2a0adf8509319b6ae1454a359fd9116e746e21620dd7c71be826db8ce6b4e117883742a4d7758e71fcde995ff16f0d442d48756bebe0ceb43aad5b7e09024b30124757e93ee53302ffbc57e9083dc63e15d04f04f0d41f243a8b96897155e92a66116a028aa98b3b3c05aea992623ea2c764e7c3807c3c3a28453fed5038da31e8a38bec7110a27d0d1e352d20b88cd116ad930e1bc4731d9545ca21d8873cf8b86aa00af297b783ecd81c9eda28b2021fb0695937f191c39703465f9d4a90a8e8ae4025d63ccb941534a919a9181e145d365b1f9d1e46925bec75bf5e0ba45bf7bf68f744b90e7ab464db5d0ef971d46f3d4b44566853a92dae61a48aa73ea7bde8ee5839bb447d52953b0e5722a32b398233cf6957fc283af33d4c4728321f426133472657d5f656ddee4b7274e22359e16b486d5fa07f99b68893baf210d55117d45bf56054ef90a8b6645e8d1019e3aca49a5bfadef85afa6d003c687234309e3402a91d493352a5cb\n\n# tcId = 58\nmsg = 32363138373837343138\nresult = valid\nsig = 276e1744c1b7062e91589ba1d76b136b56efc48ceeeb84121877ab0c395ba6b09594c0620328057e9af0a460fdbc06c0", + "dca08d163ea9c50f3f22b71994d569a6c09e515deff62f88507ee230fd1511b176356f2500a1636bc3f8faa0a3eb0aba2e038f392d7df644b47b3bb9e23d3871ff96b41244d51f9abfb784a40d18b44a942528b4da7c1b9df5ce4c9ef5f3b014ffd7112922de8270f9e9821d3f494d33eb9b28b9e74a36355886355dc76c918b7e47ff6d24f008a53c87d9f7bcec623ebfdea1f699657e630eb8577a2c80b6725617f4b4c5561eb3cc7c362df8c0cced77e995e1b14f889855aabee25a2a63e9b74cd22093e2ccdf8466ee94321faf156ef1be5c8541fc7d432cf22bcc681e0c57035fba354124a42273a710a28d4ccecbae549fc60b4acf7ef056f7a2bffb464a883425c1fba88662a0d5ec5adc17844380767c483a869e1e4bef1153daf32745df4fbecc0a0684a03786b38c8830c47807632d1df72f5d7cb2c0b3cbda7d4a995c4fb2036cc6c2b896738b760bb61e5ad2366249dc26e71a3d4a377edc341318aaad6868ce47ad94b649f740dc264c4e885161e35e8a1d5e6952fffdfb6f6547eaf67abe4ea9c0f5ca8997339e3e7aa0b2de86e2d17be7c7ff6c372b985db29973656f686236d64d35b7f42b2edd4c81087ef999672a170176a6c34252a615a0f7d26c0696fbc8bfa177d5eed279a2\n\n# tcId = 59\nmsg = 31363432363235323632\nresult = valid\nsig = 3a0527f7b62b6f7a96db77a91b27f90050f51cfd03e5e09c44d02c2dfb03939e90bbc0cbc5c9d4a52ef86d2ba6cc7e043b081cb91242139aaf3ac457954ca4d17b41e5b2498533bca87e803dda644c54e16e92ab95b6100e2948b2088b171b3f25861ffd46876a01572dc1435cc8b54eef72b78df25df184a61b84161d80154c0794307a2e83db584e191b4025bea954f7b750b5850b9e225d5db15a55f1ad6b9c2fff59683c2d2968629f572b028c40a9d3cf9c73390cbc27fb3f76784e82622c2d3815e4bad8b54bb432be6a6b7e6d8d91d3d250fd4e2bc4848a9065805951188b139f77120722aef4494aaeaeaaa9e8ed2c983d2fedad9fe364d7972f01078057551087c11586d5ac0e2162739e4a421f00b31faee89f55476ed48e87158f94c7767fc0e540768846f44a6ed8f4a3a1bb4c236191742c13361a9c0da87e438a4e7d3f7094961893fc85c86fec8c676cbf92d74db90e69c035109c93069e1b83654653479770ec37ade5df570c3f7ec7519c0d83c8798e7c061287e57d6666b8c48ff7ae7328c6b653a1fc9bafda134234f6107f73de14c941a37ebf330316d7264bec901e2693fba76d3241e808c3a8fd476c4a5d2c9001382b03e2ea6fa295bf3491bf8bc3d26c5418baeb58ccbbd341c409a2b6240c61acf180c5469d147f271edb876802cfc3190073e828fcbc0299eca766907e9a0cde32342146ced3\n\n# tcId = 60\nmsg = 36383234313839343336\nresult = valid\nsig = 4a841f6dd18b6dad728f491a6c748f984909072c7c2c50373db2c548e5d118ccce772c5088b0077e759f3029cf116105ec4596e1788cff6ea18e8bff5ff9ce245c8ecbc62d143aee9cb7ed66e898d48de8013e9ff1fe137d0ba6a07d0d393034b1a765ae2f8559b0d5416e7bf3ab87757618c4e2694433f0c753c8588cb58ca3385b467bab150169bb1c81825582b6815150aba2cb6dd61050447c11a8e96fb588d1425f482dab9d75feb8379c8e0229a5f12186eacef5abdb90fc0995585be9257d1f0ea831c6ff21f357a9de755d32e85891ead90095063a922e2ff7979757d0b467d194337c96b282eedfd1f8cc52d3e02b01ca0acb6f99c26caf5f0e66eed8a4fa98b5321a32d15308f3bd0c15918f05af6d07e740a016838cb38c995f9ccc53ce4e88ef4293984ac78e51eefae9f9020847bbd0d9e6f340efcd137d0d6d3457d6dc9a018fca1c620e95a87d5577db77d9b56edede6aee4fce211927b3a6bc46b6e048036683f6fe40160e4f0942c02186a19e1eb316d33aa6304418d07f9be3a9050b2838f855eb4b3bb23b1ab0ff19edc287fa1557c393fa634970369994b06e3d943ef827c2897a025c17648182df355a5376678eacab1a1e2311a6e90977fa7d0ce97b01a4839901504d175c9068d728c8143440641c8e4bb8ada58e89bd895257002cbf2cc847547d43bf64442f4a9e1137f23643cfe69829be8d5b\n\n# tcId = 61\nmsg = 343834323435343235\nresult = valid\nsig = 1059836bf3084a871b0f11b03eea2ffc3a7fffc371797c9cefb571b407f94c8fdea066832efbc5a3c29ae0e1ef151eca1eb813e8b8e61fc3744ea837cdb786dce9c8ca5dd22daf8397d9654e828c12c7807fe656d572b39dad55d99aaa5569b1ab4958d2cbd260fbda641f403ff70f658bf25fbdd71cfd1e56c154e448449662aea41c7c6fec1813cd2861addc782cfc56e225ebd1106bd1c256af43ae1fd7b28f769c947e14d7a0509c393a2d8e93f2ae5bd1238a0d1d9dc9f4d2bc56ab5f5653b5ed8ee09a4b402d49dac80197371e6adc3cd8b67d1ec9b0779445ddc136a610d9f46b7d84f942028d8ac7726fafc08d6b5947cb5ac9f533310dacd40bdf0a64216db25f6c886ab794ba53d2bcb1f8ff9beefe90e73fcd29341d007d41547737b4d4feecd766d6440c9199b8b6f69b2e266c7609d17061b9565c2059f9d3a9348819c34815762910b6921fc1cd6b7d2ac8041169ad0b0ddb1e4397a2c6b381e3706dcce578a543c56a098a13a36f9578817d77b20536a715239df2c52abf248436344e71299b2df2ebf32a4fe0566d6232325d1b6571061b88f522ae64a36eb618b963283edfc00624ed9d7b466537fbd1533d932f1a3e58f4adb80887276e7a7660bb5bf7bbf2235124924002914419dd3e28faafe8621abfdfbbcfdbc1313ef72a3500a8942b7abeccbe843a576b947f122c9cfcaf75711b7367770aea99\n\n# tcId = 62\n# first byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 5629382f987048f03b158dfc15ba27891417674868a94a11b82b82fc412338086390517bc55e280e0c5b6a152c5e44eb25f9c014bf66514aea4f71f467e612b9242186276694fec3b754f30486eec2b67a81b3dd61c70e87fce5b12a75d5acb30ff35e4d94601deeabf2d5cd26d30dd9ffd4106a7247c9149fd440d2af4422b190dff1e891f842c3f5f688f10d07bc127f94c26ae506c38576a9ef93de3a9d47db28c0dc46d0e4d52093039dfbeaa7079d87623788d00c119749c9500bdfc7d980f7bb233c040990dde0800e19d428a3c239e2ebdaafd6f174212ad17a036d2ff31349e8964d5594802b924a33dab69d3d9ccb97edbbe4063bc1dfee3e9986716e2495743bbd4bcf814a45df69b18c46a40659aa6cc61522ca5e395f292e41836dbc66d15a803347b1cc098a7900ff319068acb326bd5bbdb865ca4f391c6554dc9b51ce52510531db7a70d0624869a2d2323eaa54e3b4c49becae203849108c00d6742a144b9ddd7a45132a2dc2b42ef495775c3cc9fe9312345b3f1fad6c13e0e7ba92fe8fd67924cd433739ad524561b7538863aeb16e139779036d32036487ab22e029649b89ebfb264ffde09c38a35258beb29ce46d8bd873614a1ee8e2b7d133da2a18ba14e2a72a9f83bef8332e6243f32dc25582d19fca6d88c1afa4f23837479832fc9834496bda34fefed066280e3fb73cddef8c72c5757e3417f5\n\n# tcId = 63\n# first byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 93cac00d29dcd13c59c08c017fb4d1a1fdbfdc110dd2e87386ce2357cb8623fd167c679707e89185005b185dba5458363d38435c9c49c4a1482a757c67e79c88bd715b601f10b0499423c77803180521f99fe2444d977f27e86f557612e9daced3ebe6e142ecf3ad74c32c395c3fb925493b8440aa6b3183b6283c56fa1625cfffe1b96b1f1f2a906c95e02195dde9cab260db36c31b9f5ac137c575272016d6fa33be2f0434b9462801748695a9256e4069a64104684ba9e098310ba4dc3cc2441fd8f250ca080c7d91ec08eccff15bbf7b4583fbd35d8535befce82a656a6c70a0583d30423712d557f8a1e9560977858a1e4acf0c196c2d92fcd4e9d51e9b811c38477b90928e8af3bb19bf5359003f7acbc1de019ed7b38400acd10eb766cdb3118cc374de28ec2408cf43618b970657cb3307f6081461d90bf9555ffc1df6bdc26a98d54f5bc212ae51db675e2775e997bea806139a7f4d32c75eefca768cd1eb707ac75942b4bc8faaa640555abde6907d34666b4e756bb1d7755f6af157579b82801ca06f56d2153f12000dda261661a2e1b7a1704906d629e116fd3cf1a779a7900144a75b400cd56b43f9676f54b92fd472673af88d249bc34b7b696f55eb08bfc653c428738ec08631480d0caa2eefaa865f85f14f6e61ac0078473e558fd826182bd0a3ce77dd54de5a9d78e3e4d3d46c136b2664bdb2e70d3a21\n\n# tcId = 64\n# last byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 1590f61a82e0a6f331352230a995032ada91580ee31af5c1683b3efff9ee2c48ad5c36a0a2c65bbf5c7d579685faace7dcbe706fe82003124b94a05a27558ea8983eab69fb226f8605450bf13dc0c8dae90f8abaabcaac27fa8ccc2e06cd37cb1543c138ab80b45d715b6c504cf1a7b82554110de9bb52c7054af4eff289d00c9d56b4a6c933bd6f3c4290ffe4255aad546e5e4e71e5d5b6d882bcac33831ea6069fc2e350fe3776952a5832116c971356af3f1618aec1c466fe50ef64ee9e936acbcbb61552be9d6e1362022186249f4e6ebd8c3169e11b599f6645b11b30150155b0bb03f3b2a4dc585f504b0fa3149210435d2fb9fdac4638661725211908ae1c0540688b71b70100fd12584b19ed054d25aaa1df407f27b9d338ee5b9fa7274a29d580d0acb81c1ea182b957c22139bda8a1c7fca529a6df2089b0c3d0f03d3d1799bc186b07aa22b7bc06f69a80e423e86a239afc819232851c1a18337882835144c8b3f01e632ebc22db346304d794ee1a76dadb5a6f5193bba3b982c5bbbb7585dd7e181633dd92fe01a0994ec08d1054eefb474f45561449be7dbdae57fb1490e533014c0438f57cdcc582034a94c07cc6490794ab2164013b5f2ad5920326e83d9b3c216d3d3d2aab60b177c65b8af1db955456c992e0009eb9270a4cefc04209ac032314142e1c55b518a7b439cfab324fc9962a2c916c14cee7dc\n\n# tcId = 65\n# last byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 70c6a2593c3ce4bb4cbfbc51b41570fb966d50bb48f8e9e6cd294e99bf3f60271c71965277d8f85e280a012c5cea3f3abf9370d983728bff790d93d00813012d286fe4bd7c36274ddc47b8ad6277712f43469811b7dfd77f65839952b5edecbdaaf590be732e45253e09cd98236b16d2157ec762e7c294dccfc4db19566b1f365e91f1169329a1c04e42a3f60c0b2705fbf01dcc933e991702f3c0ff52280014f6b8aab35468619cbdb554a0c6840f4cbfee9a9381c7157efe29f9ff6c7cf32118326e6754012c1d612a8e3fc65295c48d5366a2d649eaf3544fc6b8f43f637540832c5c56e0e7a56dbcd76e32ae7efb41fdc172b01bfb389e5c5df488813a1034dc5cdab30890599cde5b0da830ec2504ebc708e1a96a8571aaec42045d701b080c193472", + "a80886f3a68b2ab330fcac623ea99c3eefb01af168626857d6c458c0293d5d6c76e87cb7a91c3bf62901a0055634ac21688425d1601635ce0f372963e9065195e523d6657c1a10eda3a90e21817150751c7ea1682199e329e8d60b6129109378f45dca594b97d29364d1e5c9c335c7018b1eef7a65fa2741d5e6bf161376a47b0e670ac4f2edd43ad1b05e0d847c74aeda0affe496a2f554d8061242aa705c713ad2166bf81f71c03703e1d43af05455c53a5adae6714302b249b2a8fffe2f04ca1f5e39bb22afa94cf9429fe99f5359231bd93c5ed008beadcfe4\n\n# tcId = 66\n# all bits in m_hash flipped\nmsg = 313233343030\nresult = invalid\nsig = 3ed784b228ca4c6d8600fe7f18db69099881d3ac4ce0577d4e46e10adb3004f213796e9af8cd78ef116f373cd1a070569b49a4ab55f82259410269db674ea4993e7ec3ef834ce32318856142921ef33ba4bb6319ff6118dce780cac66d7a8315c12a92437f446c851c657dcc5b978d454250d3fe9513f787a9e5fe9765be6a92d2a970fab69933e56b692e2c579259105dfe3f0c54da11c21ae0f965c7f8bd15b3695171a2b838cea7085309118dba06cbf83856fcb927569760e341bc5c9dc7da5906b03f74c426b782c418f1ee50f614982f5188bf86894e30770a0b8fc7b02fca221abfbe64356e9bbcc0eb47c5700ed86474006d308ac4c1709b88774b101dfbe0d203c91edd140532878a186e6f972bd70fc7d0527b3a4337c9a715ef7f9256a1e5a06df5aa4fa6be6416143cebeb2d2bd039727325d8aab9b4fef2a31465bf8fac21d27df08db6ae22281a0615d252ce3eb8e539687ef125da304b6bbfe2518b57c95c1d81bf5574880874a49d46cd9a7fd535d9e7d04951b4c2e03ae15fc562016fd6f7b08ea5b427a78a2d8770ad98df16b94ac918edd0c4753055ba14f7d1b253bdc37f5df236d70b0e83b4bdaec9bd29c558dd708fed46daa5d4e3312c08523a0066369fefc7a2ac70ceab29a3b56928317127a558aaaded7bd6855660ea87d4defcc175255894bc9d94d5b420a24d06c4817bfc4ae92ae5ba4ce2\n\n# tcId = 67\n# s_len changed to 0\nmsg = 313233343030\nresult = invalid\nsig = 924769b488c2f25bc1d2d2ac9b2934bf4a00122bc9e635e8b2dc3f5550579fd7fd9e072bd8dfeb7e8917045c7b2537b96f8fff9961115a8f8e866b35cc1444633877208bfd1410e1ac91fe62484adf7e8c0eb5885859c0757590e34f095f388320ce455e4df56cfedc7b15fb5c9d95e696207cbddfab63a71eeb9ebd4aba5c214267a6af1524716821a5a2693702e103c3f9b487235a3fd3ed9debcfa51b5c796fe2916746146c07147370ed15424fff4b07ec133a92037783626a0a48d2a3a440a611712ecc7f28d4ab146d898382a2b25df98e27e15e168ffd725c57077e86e2e88cc015217fe2ede8978e4d85acfb66cbd2fbd36936b0292fe63650ea2280f86a9d3ca427a77f4f9db69f117a0e41ff86e98caf36072322201c928c125c2f4a19358c62ef47df4a796d67d2feb9879e3a195895042a5a8028bf9e013f8b142363a1a192a2e3bc96847a515322de750fe346ef150a14e1adc7cbb6d480bc42dd06a8495c4e6ed4ea6441ad719f2edd6696da0530f54868715bb25e17d492b174b77a992e2fd997bee727a63e8cbaec87de36bb700eb4208e174e2ed437930990fc7f5e58e59706402565e52e9f207b4546514dcfd84d74348ee93e90e9bb0f4f288fca98d526ae8876779112236a5446cbaa615d8f6e45dc5c351ff45fcaa7f9e6891f09a620b2b12489d6ee3043c86c35b0992a086a271d78a37fa5ed6322\n\n# tcId = 68\n# s_len changed to 20\nmsg = 313233343030\nresult = invalid\nsig = 1db0c28280679c7279d9f4ca1b3ad582da63a80e18ab2baaec5194aa6c2435cc5f7c3ad16e9b3e8eae8a9e33a7dceef69588aa5b0b16c184ff54b60c41c687b77d849eb36295a7aa3590e30f21f2768eeab26f13135ad5353c889540906da7021ad10751876587888c25247584dd4c7e35de68d6900676872d7aa84dca74cd41390c01eadc982359766fa6cff61bd424baa7cd46fdc40a17a97df468bc200849ed315f4f53d6f24a0af0a1b51112eeeee438f48ebab9c396f4b6a0dfe6e23beac92cda74d5a762bf7591da988341a796ad7e6cd72ffb6df68b081db763a48eacfbfca7132f27979af705089cafcb774e592f92ee06fef8c9f6635480a0f84c89c2ca4a131937a93307ea76326f2c1627989c0dd0eee1b34371d78ab794543124ccc2269f67152f409532e9c1d1231d79e5d6bcfe9a153223038a1fc2df9e5c50739edfcb6e7157e0d885105b11be6e5a55a950cf48e827961c00b556c3f52554ddc9ee9b1a0e3534b724de96b1009af28a3b2d2e4359e674b76ff7bf79d9d6e52db23471c9a3d430b05e85edb469dfe566441e5bd565621006e1d1605b8fc45b2570cb06779b28283834708485438b41b478216ecb9db8ec64158159bfdf84361bb1a2839a6733db28d46f99e2bcb704b55f25cab22c7436474c68fd259e86800ed657b4a2624a1a5de45dcac39c5c2d04f08792b9a5013bff0b6da1c1c288b5\n\n# tcId = 69\n# salt is all 0\nmsg = 313233343030\nresult = valid\nsig = 64a883f439b07c8b21b4150c73cdf50f72f6ca2ef90da34bbffe5c92d37821f7e6a7a1d36904ab5d9133cb82527a72759bfa44c8923c18551129e6a6e3851fb2d4641c62e43f7c7e4c740d414dfcabeb37d40a5ce73a77810a38bdaeb134e5049b29c1486ec401f5e01aab83568cccdf7fe4825d3f56a05875177ebbfb792e5cb2aae418fde5b1e0f63a3e83d45ccc1f8549ef6de0fdcda92de90236560a514dfc520920de4f57325750e52acbd3b0bcd02ecce288e2bcd5058d40c647d9fc9e55276948f19d7d67608e444b632ea1661df452cdf3ab9fe6270db4dea4013d38c857d26685fe31ebcc3a339aecf247bd2b1d7805ceaa22a021523da3522b58cd4f1933c117bc289f20e0aea55bf92e19e824681b2a9b93c9680da90204bb69887cdd774c213368608bbd9d3fd2f567ecad17b49f15a4d55564008f1c27d4526568e34fa231ec5c5ea0023be8730b0e6eda39b4bb96069dff483c8cf303647ff17420a3d022a304be72ec108924a4c84579b38c810988551a76043cd9aa54f763077e4d2a4473b3da44ba857786c6217fd200ad7c0bd5609ad6d6c85ef5fc04a0af27e2489f367ea7f612ab825a73a1fb7b4cd9a7d45bf4cd0a72c9bc54ac81193645b14e39cd46181a79371bfcfcb9359a6656105f79c11ea7053acd4497db651f98f593d8487a2e8f2d3419945410e580c35d40771022340c4c4d6f227f91a1\n\n# tcId = 70\n# salt is all 1\nmsg = 313233343030\nresult = valid\nsig = 8a5225fe5edbf9240c281f69cc26c89641e258b5f21f56a5f11c681c87f6f451fc07490fe6b1ed4febed4aa7c010bdc312e453a599be2b37fc2f1a079ce1868e2ee59b3e73c527819238393b8acae914ed42c9d2d7641e697ca8946d2b53879d33805fd91f56e608247f1c6744d8b8a12e02bcf7f15e2ba176995f15a6458a926b77e56c2f3557e716cb7a730812a1f6798159118d9d95b593dc45eb59ffc9cd4e636b9b8ac8d9718e0e89269291fd42cc2ba7b379cdbe8e443f283b7517ee5a915ba61cdfaecc9203450d70db365588043cf777fe92e0aaad484cac58ab1ea442a2ae62f5dafb2718112eab650d36743a9735621a18b7aa5dbd9d2d5122afdc3b8ff49d91ee79af3743a0010bb8e88b6fc766b98425e2660af1b38cef8b7ce5b9f3432a7358fbb07f20c9295a5eeed04a586bf04f5f9e8b3425a7d0307b496848da8738cbc267052d7a679c95e799205b4f7c00d9cc668c40cbd6368294402e26bbadb9690a99945d8fab81c5d178d72ce38b0b47b24043b27404690af103b7240595134faef4788a6106234f40e2cdf06089fb602198562b18ecd03ccc58d3e98173a9093eea3b315cd9349a010af282f3c485f92c0fabfb774d6127204a254809585c4890622d98659752276db7a890dd0cd4a6632004651bb194b056ca446c85cee7328e80da15c16c960f514dbe8fb9cc114330a160adee4cd449cc1524\n\n# tcId = 71\n# byte 0 in zero padding modified\nmsg = 313233343030\nresult = invalid\nsig = 2f50dbd395abc6fd0231b9bb6103018534b39c4d60d139615cf1c9271185c5d3988e99735c9fbbb649e3cfb629d73fa9e1249180606f8e8621f3f5033e5cf7f67f4abea48b53eeb5be67031cb6afce1b26538ca318650b87317f6129f9792f3cec4e98a56f2d7504999ac1fe46729fb390448e5353b999a52044d2baa92f2ff664ab5a4ed82911c5c9942a3741fced99b9437b102db72fa5d1fa87929887a2e61ab06dbb6b8a39659f41f3ae07061792ccf88802a6b17aec1da1c35bd85da150dbf11b3401109e43261a0ff2b22cce779b19b5f2925b55cf143743600ac4c7dcfae7a17970da3d52d74ebab46744e214d22da8d1aa8021c8b47d6e2c585535025c19335668e2d851d6881a594d03852b45aca4fb10f9e85f053a0ca532c40cc0537518baf7fa388c2c0743cfd6355dde1382cf2c9ce1f418be20aa0f3be147d0c9c8756e2c23797fe9f3365aef876e793f3636608b6221460cb76863590b3f5f56f6a5cc0b0ec4d56b40776d629eb32c7e1838aeff1d3c3761edeb91bf62682f7502dc685e29ff1f678e287efbfd364ff98088f42ef58ef2a50415531c1021a13c96c080f62842167239cda8209ee3641da51f3711f0b665cc88a278dbe2619200e50037577c9adf0d78be3879cc1a362f673ccc3e03bf9a39f4bdc10d7f044101a02a83ef7b63784f002565c06eecc819483433bdfeb20b5f91185be6adf22b\n\n# tcId = 72\n# byte 7 in zero padding modified\nmsg = 313233343030\nresult = invalid\nsig = 0898add7b127d3f46c4eefd56fd293c166e7b601caa0584059c62211f3c063b9a479f7f9361a1ba96a6a640f9c3c12b18820e6da9c9bd01a6062ca722d0abdd5a9031ec328ca8729e84079ea4133b4b4cea8ccca9e1f9b6a53fa8486ca20390a92dd5945790c371eca5c0958247344334891b12b53baa4b7df2e15307cc58420958a4a8cc8bfb06180174ea8228ad46f98725981a2a338d54745ece14b65f38bdc5c6bd87c3b2d81648b47a89afadaafd51bd9250debb9351f654a47708332411234df725ecdd0ba3ab778560689932559f9fe94d937fbe12126025f3d1464f7e5081c9f8b7f7a422cfc3584ca98b5f0277e97ce9229aeb208892f5c564157267fe59d5cecdde948647dfe7dae62ce6f39419dfa80d4d9336f874395a7f4f2099bf54227ed933ce9705efd1704f9a9469c781fbdfe8df12b13a15f802d309abb0c6560635a22e49856ede3c2a5271a656a76a059fead975ea077c4e632b9f13b8b3950f2b00c3834d63750098e792b824e54d53d6dc102a4c7de5b449d083436b7714f99928969c3499104efe30110366abbf71c6f8e4f069be0d246c2ef417e84fbe075d48aa65d82590c3ce862c518de635f8c6ac009288aba112de47c117fc47be80fd79f39e9831239c34cfa9bb54a07ca67ef318fe6efd6bb6f0049fe255846a474cbe28bf73099e948c91b0de01a9f60b80f21ac8f5601ec36f12e06da\n\n# tcId = 73\n# all bytes ", + "in zero padding modified\nmsg = 313233343030\nresult = invalid\nsig = 2daac886b4fdbf32ed9f9e66f1abd5af7266025d168620b051dccea674662e1a347ffc519345ec8d40d0dbb4a5d60317632b5d504a2dd56e89aad4438d2b824ead94b87bfa918ece96c3639fb1edb6139bec5c4d3366588992f26ddb39f6d504eb24b90580e475da022c125b6ca3f34251211c40c3e2ce95f9dfe051f728eab654d95a7ea5aa37c84ce0c2c3abe551e469e1ea3fb94b33b5c3cae230aca4a13d09fa6925e7603e2db91a17ea0a8ec77372c4425542bee8b8a5de029715f62a1992c78ee2b06dce17dd57796d48e3789e7f511bf85c15366d504c8266bae2357630e5c70985622dd85bdb6d04131ecb639c34295c49b47c325018247a154afd1674189ae2708ad2ba5c13135cb27d0e5694e058c9d36977fbe36f39aa8ef0f99a7b59a9af3bf3ef737c36d6e8f137faa38bddc62fdb1f1c6ca292cf606a41cb32253804f14a12e66a9851697268b8e619556cd00f6abd55b61d7b4d4a9ec8a7fc3ade79f96e47a2b376c881b96f0279d0cecb634c4031910edaebe92201d144d65f450357313fad99bf10183cca7cc6fdf52382a280d71c0b54a846ad7fcb2e62f569371ca403e60d8611a77ff4392c1da2a0792bfc835b161f407e5c279cc705483fa94db072b9023407f1bb1de67cfd57b08f6c5094eb2754ae1581a8471766c1585c1afef365e492c380b7e64722b6beab3c1e367b9d615a33fa1c13733731\n\n# tcId = 74\n# first byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 707ba25d4bd3b92daeb91154e68d056f31857c57610f808429bc5f0c0e4b52e079ce2628f78c9b0ed061764cfb9c937164b70ab7274093598a7425d5e67a48c945ab8be4e7138d88eb5f0486c35986c805212366c2a9e775533e7ce71b1c35b4bde53e779ccf31d31fcf278744bc7507969532a8fb32c1073ee31e7277d9a6111450fc65c60afa0632f84fd2e8fad4d201c1dbf7b9ad97de8a8977415a70f3946a17dfd2e4895199775d6ff45d4785ec78bb5c54e26df4dff47b81d88fe70c2d2ee5e8bf83f507b6a4b8d747288e9073fdcdccc972534c1b51638b0f653a4f6a2e22b1393744e978a41856e6753f5460dacc485160d480d4d5bc5eec5ec3eee1e2575e2cfd10856701425c4de05966b0a6e86c9545455f6f62e9313022a60b4d34496db4f94fabf9e3a40be0cd77a15248fc2173a5ea65fe0b992528e0cd8a7ab2e911386c5b64d84c0cd0428fc2940d78e8f75c9e3ffee83b4328561760da96f7b015c2700ac6ffabcdd67a0d5e07db92cb8ecbe4842ad8aa0ebc3a1256ed03e0c3e8f67f51dc70cee8447adb7112ad7791dafe3d1319dba8c3e63a9837c15e3af11b0cf5942a8ef2750bd218ef7c266a756627b23b0861df5fc9cb240d49290aa9eedca74ea69cc8640ff746731fa916eaae176b492f5031105e38490aac5eb46df185f9d6e5f8603991158cc4c43744b03dc897fbbeeec00eeab8c7310051\n\n# tcId = 75\n# first byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 5acb1b66dbdc180df233c83a3b6291477a9d8b4fb7f0253d928545739b1c517defba99a546e291c23d1e925caf1aa51b462c689d070ae413fe1d88cb7978b01a28ce7ebf2f5f97df648a7d819dd028a53b1d604ac9edc62f62655a56642d087344e52083073ac02fe9b8ef7e61f7476d59c78a66d4ee07932652997bd756b24ce441f539e4c7bb3786f1e4676d7e4bb3ba8a83701cacb2663fee71448ff2124a8cc19e15924404bd0e5f56a7dcc5fdab8146d947010a44711c80409fe6b12297acac7b79943c8de00d15fc1f1ecdf9b0528b3004fbfde8fcb7f082378d97354107e47c48a1e3c0499ad6371480e88fd164deeaa3a014b18760074cc96013b86ec31bd967ddd41900cb9c2f3bf5704754a357124dc536af4305d58c8c88ae214ef3ddb53ef10a2c6211d55a3cbb277efd6be1b36d6a8ab997679399aa7f21444638902fd34d152f8ec2eda7467018c0546cb54233a62fa4b9184813b9d46a034b3d7a7f8f01bccb8a5b364badb94d688302598fa393ee8cf6e2179345b1e5d866e2bb5954bfd9d192ac73374ec4cbc6c1478cd042e4ef270fbfcaad8987b0e4e1c696bec8b1ebaed124a0b58c79fd9fae00e19feaa82d52dce97baecf82b5338a67fb536417ee2d0b8584a998486c770f26b8a58c8856439065b3a4b81627000a01e64daef83b146cdc7357833d447a4ff161d63200457c6721d6dbafc687887a\n\n# tcId = 76\n# last byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 8172c8d2dc7f58d3905698c0e814054a8d780d154d14b9d05d96fe0416e6ad01ef540a95920cbb3b3460e4b3bdefa26134a62e09432d0047e67c680cb7edfbdd65eae2f2a15a84d97886b0e3c46ab9fbbce611145b83aa313fd03ff001ec07b4a6f814f848cedcbf69669e03641210fd5636b889079343de0989031e37ee25057aa0bb2a793feff540f1d6532420a64ef3f620a0070d2c98e7182cf7265e8fe8909b8e2b4cdb2dd20fc0c1db0535d489d37f48d31b3727eec9e171b6467d63124d1663c99c019af340777e6f4b43bff7b50f3ff456bbe6a9938ce5e59f8497be33cf7e9306daa643b5bdb933318fc950f69d309989a262442584a877f114e31de926de13e1e18653deea56a0b5d4d825456e3bbb30debd83aca1c535aa8ac8553da85571ce4ab6e04d2eb292f8e5fea7649529e29c71420ba191c97c24fd9a8662331c7949a4669d2426e76a259b9ad5033109be2dbac49a5d13177162f06d5b6ffe55a98c27c859a43f918ae9b586b18c439f3c418cefcbac8f38af9f8be8fbec886899f754a50f319ea8d09ea8a3d12a658e05e62a43555e241314e246d9421022fd8c8fbfe76d3e26ef17fe84c79664f567edf8fcf6aa43769282d33a85e89832a4e81300c7f156d0030832c3f0cd5ba91c7b6f2e13d2a91a9732b69d32a58ef2773a9a74beb5fd53ad7b479443a6527022a367710428a1635592d90e11a2\n\n# tcId = 77\n# last byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 7bf03228ed95a2af0101321c3db174eb1f597c999c22224812ded57643cc1fb9d9de3ce9085dc60d9f1d40696f0e4c1c721cb247ab1fd2d1804180e5f51b3f8de75c489971e7e7098765e4f991ca5212426e771037a301af1c7ecd95a5ccd8367e2f6e84b63799119c7d0d5dde55e6567fca990c11bffdb9517cbf6726dc36d19a97641dc3ee44e568ef4297c7f96f3fcf480a87312448105a6671778abf9ef6d8c9ab289368560e2373f54c3e313b2d1db35501389131d1947fd7dc49570bccba2167ae4610a0229629da730d8d8d8218c5a586c5095b61fb600563ef660cf48dbae491e91bc07ea96d1575fb26e9802888fedb07a68268d9d76fea5f3429c96fe17f2f0678703871835788ccb733d40009c8be0b3242ca11f7153a4d906f230d56374201902167872d6322470d53e660d5cb4b65a2ac69b6bf6095722540312980aa2adc3d8d3336a8f4205e2e016587772117de6a357c20dce834cd8aa7d31c4444a235683b782e473ab60404e6ef8400ace3b8d48b6a7801c99ff1f405e888257993848f71e81287292790e1b011cd410e3e3acf31f280ab36ddafb0a3e1772690d053f077ed980c596d81d2628e47abbc3019d5277c70db5f4838581db0e572a2bb0187d08b488f2dac22a0358cf77e0e36b17b17664a925eac940d15cd9424e92f489a4d28405ed76507625504fdf489702f089de36a4300373a833022\n\n# tcId = 78\n# all bytes of h replaced by 0\nmsg = 313233343030\nresult = invalid\nsig = 83a5b64effb15f9f46303e81ca509581874881b71b8e1ca08205b22f383e722e89666c2043a5c77362ce6509816d8cc7df36040eced3b7b1a8df22a2efed801dc4dedcfddae40f20c79bc0f8d64c336099f1773a7b32fc484ef01ab770dca03e071815651998bdb4b8ea11255480e63be22de376359c37b3019d6e264e1f7121de2e7f67d2cf98af80c1c4042b8c05bc79877de903740ee6d1889f2814ba9bfbadd6a5ebbe09de94e16fdcde8ca8af9933080124fa2ffc1e4338d1d878fd4c55dbbdb273e617dcdaaa76aaa19542274ca74fdceb0cfcda21547674b2c0ee936e955e8dc4aa366fc9f3f6c202a0a3982220ea8384ef52f8081823679e60095fdb84d6d75a63a563f726f5ec833633ecf35d27a9e3b7ee4a94133b1c5a15a6dda4a3f1957c399045ca096b4be079523d9f558031529e9173e7cf612262e5c9599bbbc2d94ef12301e23f9b2cd173364cafd6a3e3afb7582f282eeb4b2a1c17698bde6b6a82e88624e3d1737071b8c1fc6b5d77ced9b78f0c9aaffd78fea3bd8822288e0bb761092244df57ca49e32ee8213ee0acda5bf8fb91bcc3409ebef6c310f17d9784689e7c79ff33c9bc317921b416c08030c4bd02629061dffff19844d867f9a06ed0a8c1631bf2a55ec418a6003a6b5fde0d0ff223c8e689e93146771a2cb74ca271116af99c68605d9690ceaf833ef898a234dc0b70c684ee1c638152\n\n# tcId = 79\n# all bits of h replaced by 1s\nmsg = 313233343030\nresult = invalid\nsig = 73342b3c90d9fb6a7671295d7c258b80bf907ac32b1cca59db942b80671478c42aa2214a03e4d7d7b645ee333d642dd19acc5b4eba7b50c10688b8044b6c9b765a8124414610b97b84e0fde8876360a53396587eb973ae69e2ab1899ce030aa29d2e83d9206d4a26b384dc32ff02508169b65ebb6fa5f52eb4c24ce41b5e467178b94198fa399b82e2c75055c1417d001ee9d643f9f6cd1da5a566578f1a2af94f7e3901dff3f1f4af10acbe6aec703457b7ed27ff17a77955fbbd527cc7897fa2375cee83d89ec509130c644f8179df5e0537d8ea63b8b29b734227f74062b43334065d4092a30f609acf594d917994ae9e9b256325f47867beea84e036c4f8b117b366b016fbdf66352c5dc6f95750ceb121ea45d4802aacba9b7c7d79bf2604a866d7af58a2f13671eddb7539c2fba46e094e92c129006552ac376d216bd0c91ce45c365b811303dffd2082a1213487090ff3952adc4551a2787ab0d52180d0d016990f243720cbe55f2c0d68465e9be883bfe90ba55d28beae531a2b6924c47fa7ff4222b4f20a2403657f3df30e423875871398ac26fad9776cf8cbbc3cebd735185c1519cf9956c457b2b7a3b8199979f2a0cd0922b391fe3ba9892980bc3ac260d789c36de616fffd525097b358875bb02f27ba2e23c8fedf0aa5635d6179eaaafca58c68ef2438be5ff9a8b5fd91972389d2aac7a72ccb6fffbbe39f\n\n# tcId = 80\n# all bits in hash h flipped\nmsg = 313233343030\nresult = invalid\nsig = 545e9cec19e99d88ffef7d4c655d2f9b43f3c1516d04c034c4ec8f1169bd29b4faac01073bf2c46a6225ccb2347be24d1d185a8036b1f6cfdd32529c7f1ebbab7e183dbc69b761f8ccbe4ace536807c656dba7fc2ad315e7ede291c870e9029d005f7576c34319c1f1cc5a229abf2a1dec3fee015d60c3a577b1f1408e03db21029cca296c0bfc2955caed97cc18c8faef4ecc03f4acbc8fb6790e7a8d0b919a268b242f58eeab9933e0bdbd6e18", + "6faf94a16445fb346a341a19c2242e2aa922480e3ab05b96577fe69cb6070c62605e9be171625f0fba269e72910914aabfe0e953d14415c65cb008528bd73bdffd1b7ed09ef613b905b981cc7e72ae48429ce545c5699440037b66cbf640ee711c67f3fa7b7f3061d7323cbf7ca8fd5391ec929c8f33d51cba12db45cabc2597db12d73f5394ab6a7f3bae6b828a07b4240f887b246926cd315cdbbe3af8e27722f02ec8a4468c5980819b5dc9ef9b3240ba4ad0a2f1421b4efc5b9960b89baa5427ef5855d0e4aad5ae99b864b4b7cf85be717de8a8fd602af962eedd1dbe123a3c6b638468448764c034b64c94da5b494551be3e3b7bbfe521bd28f422ae66c89099578c7e16abe414fe8aacc104b89c713aa55db5a27758c0f3b4a8513f89e0a0c2b777a21410a12249dd344fad4fef8db7acbf2f5ef7accde3cc6800cec47d376debbceda46c80605c0eaa41d70688d3\n\n# tcId = 81\n# hash of salt missing\nmsg = 313233343030\nresult = invalid\nsig = 5be11f7bd46a4472aa7d066d77c1ce4a88940eff4236717046bd55bd47cc48bca44fc48ff5c45faaefdb1e3dce253ea1bc87d3c44c83310d0191a282338bd6386df4020ddcf109f62944c7519cf4e8afcbf34d92540e25d503483a0999c92c76b3bb0748d02b31e40e6cd33e3956b5525cd672b265fdbde079e1a74a3506ce365331fa83047d2045404e2c0ce4b55bb11aefcb3f25a5d9b718e24225576e2485a68482e4bda5a623254cb9601fd8112f8fe78360b20945483e1e4ed707d20d4d994f60d04817bcc0f0bfd43e79cf68495132489d7ff5545ae24b4455d833630b191b658e0623916e68fefd9fc7b75ddd48ab79037ebc1c7a4eef9a701a48cebb5b3e98715ed3d6b17b197baa012de22fea181816db8741430cf030156948ed9c7a37cb98a60d459a0bf7364871bcd1642398f12c5beec00889a209d413d33ea7d3fcd3d9955a8b96cc803415382d1674d6d4266f5a78ca8e4315ed8c53065246426a6112a83298ab53b625271b5e44d3d55f378f6b64be82eba13d06d52a2792732e13f5d27376ecd64f56d45c8839ed7af7ed7b5260861b29746bcc415edc93e19295122171e71b1cbabbc6dea47c70d16c4f7da5ce61c6df8caf4d4c6d1e81f6ba0231f5a5974efb6d670748d1f881cd34ad64e2b7e352e124c7744a3aa9b25836f069ee59dbbc0558f69145b7d4415e03a8e9c651a13f98092b7ef3a23605\n\n# tcId = 82\n# first byte of ps modified\nmsg = 313233343030\nresult = invalid\nsig = 0e7e3862a2fb354a36843c872c8175c7feba440f5af01cb2080edca8d8df6d66caae40771fe11d3ea7af1c5c3a0a0044818ac2bc1bb764a547f3c3ddde8503330f324adcf962755b8708275056f1a38828376c72c8cfcb115834203654838754747bb1e3d8fb9b542094267f26a37a4e9eac48d277d7cf03b06d8e5636fc75167573fc858fd095409c9bf8f1039d145e4a7dc03f0bd6560c515f06b2a15f14eaad2a39d6e1bc588b082d2da518735ca6843a0e974becaf8e21234d91ccd18aa9ab068bcf5eedda08c4d371ce23ea02ff86541527522e222d260ba481c3660bd5ee6e19cb9b86747463e0ed2a628393e0a321adb6d5ffae8612a5c53fec44ae4a432b01062370ebde52c0738342025ae7333bb710982702f6b4b5b9b22ddab02691000dd83816f3a5adca44fe6175cb24eaeea38d577450624300da57cbfe90366664391662a97906badf4a0bb67a7bca1bc8f4bdd133f969a89c21a9387a1243227f5d67e2486d4f0d1bba97c440c6d1cbdbfe73a23de51f857986e5fba7db761faecc98b9364687d56403c983689e59e5f1547fb4bc18045ceefdba22965edf816a8b7bd7a96b1290080875ce0f3964002b0f1c3453249e96e1239035bb8778a772c9289d9a645b81232831b507e23d34a0d1e2f35595de73d70e74f4c9f4e4213a1d19e9e73c4f22d211eaade00366e46b35ec004df6747a1e9eb6fe04e13e\n\n# tcId = 83\n# last byte of ps modified\nmsg = 313233343030\nresult = invalid\nsig = 875ae0615590e5f07fe62b22bd19fa2b91a6fca64d786e1df778015e4642726eb6cd16a57e9a3baa814bde45f74ef5966fc8cec5e519ae52522e0d5467b5c3b1fc9840c1d39b1059efb52dc15dd90cbf8d602c663d30c84709b6cf87c5652305573654fe88f41e40f5918ffd097c3158f98a7dfbbda35904f3e0af6612c9a3564f7d6a2be617f737715913218dafd34339ac56bb5f3ec68dea257d3ed3bc19355d9c96e8045cb5399aac6ac0414e88ff0e1dc1114d226e0778d3679e123c52d6fc8a1e67bc212c03e57b3e0a9a5224687785a597d21c504ceffe7a8fb20fdfed9e229a36081e0699e42ec1bfee8d8fa3718f6a557877f789c51e0ecf38cc430c56d2ff28a4e94130289d7bdd49cbe1e01b9382631bcc8fe81434f14fc1b85f1d19e830d4aa733e7a9f3b7f5e95725cd4610d15d1b6838db89a0f3ec5418c687c2ae0c834729ec16c29b9929f48c15f9d7467413191e965eb15693b26f2a099d47749ee86f061d636f341cb64c8b102bb9ff21f0f1fba81ad86657a1c5228f56174714cbd4023bee481dbace94e2fb9fc59c79428395ec877fb7092af1c6d1b877c967758b6945e7b30c0205be731c755f7bd221f2e5eaaf729790c39281d9ed7e63b2d18d5ff62aa4081f5df5e084d901b4c0f0ed1aa1eba177f65689015f63d61d9aa777385dc85136216645c85f2c77b88e399eee1f298fcecbd3111085a5a\n\n# tcId = 84\n# all bytes of ps changed to 0xff\nmsg = 313233343030\nresult = invalid\nsig = 94f9d111adc41e6dc4625bcded3f556a1cb7407456e252e6fc1d873afcb7ca79beb18a2d738dd105dd0a7e54fa969c99d450d112dd2569f1417e15d6f393d3e74b849797972e454fa3ad220f5546cf1f60180d6d70b751e28395348da109afc94e698eb51312abde98c409c751524a6be4862e3cd2dbaf126ec26c76381bc8e8e519944f04e645b904a8685b4cced79d158ab48545164c58ba1c8c662e75a0cbb9f5e360b6ea8b7acfa977efe49d634c10505fe355d57aeecae808977a3e80c8c1a295c293d696871083630c6f3280045e6eac582481ba74d0d637882aefd15e30fdaf2743b415cb74ea97eb92250adda2a514d41bcdebbf8302713f5d0d56b4b9b1b34222041bf5f4f5d64556523610a50652b52d89c8db18a2b567431c93fadcd72ef81b40e958c131d16f56d83d27c95f1041bd03b7e8771540e7c62373da66b761e46b2aeec8198dd38dd7074dd51f66c2398993da738a51b71fac106c1c7000791cecd96d168a5bbf8eb097dd0011d22a5b7e489f2350bf2d698466aee3b7570c3e6659d294c5e4fcbc2a4b46288d067f475a54c1132fb432154d89ee845e43bdd90869ec6a802320eb09dcc455a0c08ca72e0a79a82aadfa8ce79e3d21329f0f71a72b184c361390a7978f199e5acf55aa5a7b1bf13962882c7fb62f519eae6139b74ff5043ede0d65c6ac6af7f2680bfac13b0e27ef6fceb81e45928a\n\n# tcId = 85\n# all bytes of ps changed to 0x80\nmsg = 313233343030\nresult = invalid\nsig = 50d81c073d09499d0b73a7511572cd485e2779e0b2309172a43847b9001c52582b75394ca438c4e358946232ef17596d4cff47dcfcf40661afa1d3c3d41a93ce9d2f681622acc2e4e4f273f9e1c5cc23b53c8c89ffe20e1827bea29fdc713ac1dc769df3578a14372d05e0d94ae44ebcd22d4ffa6c9276d22f8def3bd65bfff593ce2477685cc1a2d051656b91233933a9b107940abc716d12a5b3ec939ecbbab7a2785ca4be41e70a99f60a013d04a6b237799d8f1743ada6d5a97193d5b30ada75f57e540a64085d67b0b28d2d3618d52d2da4857d8aec6b05982d07ef918ee82db17182ebdac2d59de4452a2f43c769390c429dac2a34d65670e433c6e00afacd4664aa99b78dba1a1a39ae1a3ea6ddf067debec393046fe544ba9188904178c3b9358dd355fc2a788695b2dd2ab867f1452f9cabf2bd52031703b7e2a6d00daad2cc21bdebe9c3b45f9f164a1e3918998f044e18bbda1b7b01ba732395398db4d50e61085f42944d0b86c09b91e5470ff37e42f299a92d3a38b6b8e98a4dd1b1a8d979aa8a2754aeca22449e08647c09554739c1eb0c359157e87ec35be8fb44aaca5515ec5bda2bc861c08adca65c73a0f944a29db90081560789fa05a2f42a7c0dd8eb199e8efe3c9548cc4a269b0767a830b7fb181346876b3a8f0c9385885bf69b1ec388b93c4ba7aac60fde8bd4e4c9ea44c22fac2de7331df3d5fd\n\n# tcId = 86\n# ps followed by 0\nmsg = 313233343030\nresult = invalid\nsig = 7bd56fe8be48062f611a16d070328829b6e032650e54148551ebfae0c221dbdaa461fc0b837b41db093fd3e7eee34f6ea975b7e7c6a9c65c9da26b8b47a34d4f85cbb76f7f75f0010375c10301e6c656bb990919855bc3941f04817de84b225bc68a53310a2d12c522732c98a435ff2ed2deef13e6c22b92f1518c01d7a46fcdd650030017aa0d55b53256645d15b022bde6494dff48e348bf243b48acb6d5866b01c133c8d0fddbc5d50b1d41fb37d34b3ee76bdbee3be46e9893a64e3571590698444d9eee18308be2a61bf6e28191f052550c82fc600de6e01c8637d7e175399fb8b87aea136d002b589b7372d0476059c153525e63a90d0aedd48f2a59621ced9e6852c9644ecc1a60181b1cacf6adaf549a47b1825973c4d2926a911db41ba10eb244a45d582b9acf30861c284b72bc6ed4ddbfc4df7f96a2b6e4f962e4c8ebf27c35bac4cfd2ae63c1e335ab5049c3bc5e606a65b5155709b9bb30d5e10eeb895232bda1465443e19b356ac9187d5799e62e778710820ca4fd2802ba8c52cdad0bd12d8adda85ec480329e927a6ed41a8c31dd35b1444660f2f643204c4864590014c8fe35db260990fc731f1599bbe223a3d2f6613d393444eb6003cf53431db39691318a1435807b921be34e518bf2ceb99be38d607174a96e8cdef1f49a144c71584b45da1e5277f2ce4e0762c8f5bb8e48e4b01579de204cb80324\n\n# tcId = 87\n# ps followed by 0xff\nmsg = 313233343030\nresult = invalid\nsig = 1f20dc348e8b89ed3004b194c0bb635e27c643f70967d65b0f5d2d4ba55ec2e48d62074a49de2a73a34e5e4c0d172ab24bcb1025008c7d473c90b64f9d6991f3612deab90b0b535b11400c4a11261941ec9ff3738ec48cd6f0237757b26176ec2339e8bf2b4560abfe1a183683f9efc70876ac821d1874079d610a1f7c7ef80bf39f1ec1fa212136114438b422e4dfe65e8fb48f5cbe475715a67f8937ae7dc3ac913bde054cdd1636ee70d98233cf5f0645fd57a38da90428bf7511cd855431d2a2a5419d75c2199d338fdb60deb5617716f2ca73daaf02260deb1cda509ee0eaf457dae4c9f439ac00323c873bd6dd65cede625d3ae25568772823f402c5b354befe236edcbf956b700570c87eeb05568e0a50ee60d30cbb5b57c6c2dfd805126d1aaec535e01c81d62776e4b19c76dd412f622e8aadf9fcf3d78b34fb6016a550bcd72d1709b5b7308f74ad3c37fe0bbf4c707229c7f40282f09eee4be13ec48bf2f84b32d4886d0946dafbd0422fa49b1971b694b7dc55f7b4d059403df37155fefb9967b45db2bd801d9", + "012b1cf0e2fd9b7a073868756d64cddd630a43a9447853b4214b06bd6bb4ccaca1d6bc01e79e328ed68ee4a6b54fba5b47521a2dee8d6425306e339356f97f3b19d7bf822016940559c1685ae93f7be27eb3e9fb49d7b08b0d5960a68524e60cc7561c7e61ec6049362aa484fba37902ad026dc\n\n# tcId = 88\n# shifted salt\nmsg = 313233343030\nresult = invalid\nsig = 1e7a63b1ad5c1b708c49031647934fbbfa2edc1185b1096326c8430bf94b4ab4f0e9401a68f94cd6fbe2d23623210723e800ed878c9fb417ec64bd3f38f3f08bae77352a7d409485a83dacc9a79ee25526af32d93b3c702cef4f37bfdc7b295b7d243accb80c256c9ea350120ab7fa5ab047229e9776ef157b26212e748176be885752308720b16664323f65d83ce70de21d4e2e7d5a633784e9d18f58be6469970b52c009639ab9e2b024cedac4553f88e42d8012e8172be9fd4dbd3bea1887f065526e090c3a5e7f28b416785a0fd33c92937383f0570720aa6dab92ad7f006ba8b17c4890864313ed0312c717a2a5906a8f101b7c2775d9609d26e76e274728b03169d94723919e2ae5126caa2b6dd1a443d21d4e36512d06c8b5852dafbea73b042e1a999ff7147c49ef19eb7f41cd31794cfa5f65d9d0fe626d08b6257dd88bf0cc39113d0c0d7412ec7020bdd5dfa7e9f535f4f2799a06d4743c5769c5c85229ba5d0dc39b027df702c6fcbe728887b0fc0b606480d3c0e0f1326a46a7223e3124dd4d27cdcc48c7ecbf7440967c2e57319effe5e416de26e60b995ad9358ce8b863f35d56f69ebf6a6d6c0eec94c917a90316db70e7f105d171700a17c52c4a1f9e15a5274cd96ca4e872c577f43b54cff898af42720f0d3ad00d170f9c0bc35fdf297046f6c750b6d036905fdeca127e6f2da3f5add9ccf7ad819f2e\n\n# tcId = 89\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 62a746655abd3d4963eedbf1ccb42adfd9919f42797c65d833ffc5c5177483534b2b46b6773d7b6b9f6a1a03803a2c85718045caa8995d0eef3d55c66491ed65aca09dab89ae1541245c2edef535f8ceadf4f74f1ae12ba9e922508b7bb157b38247441863aad682200e4da61b4b3c7292cb824158275d042858d15fb7ec4eb5aeb33dcd40f58a670110fa939ddecbcc9c20216b6996a43a3267b501a2d6f05c35a63befad8f6534b71448027183e45abd98dae878379807eb97aad9014a268b2d042bfa20b3559565b22def87bb0beceefcaae1a01f068ced30414501767fef2373fd8d8ae7d44aeee885462dd1cd2136e114a9e63085eba22addc0ade5887776eea10b594da2abcb245a03039fa151aeda0364fc66a12a15dfe89ad7678230194600554679e0c02d3c35bb2af054e2bd68e73fdc66540257cc10a0c0145fd17793f0c88d76670cbc62e0a56b98d82fe1f5ec8a85c0075763e1d3d873deb0fa57f127052971af34122b9bedc760b2e441939c33bf18fd9d49e2def61dfb3aac87eaa480a348bf32bdee4e7303d513203fe23165f39231b64baa0bb1495a868e20a4dc3dcdb4c643646c23bb1ce0a4088907ebedb6fe13938156f9811affe8288e13db8f45705229a31fda7476ff07bf6069ef11c0e19b369f53e99ea901ac8d4a1ba8cf92d74009583e00783add48b6f7cd7d28429bc48c73b47539630b59bf\n\n# tcId = 90\n# bit 7 of masked_db not cleared\nmsg = 313233343030\nresult = invalid\nsig = 2f04e32e17a9a6991733913475f54cb18abe5cd6f7856a8cf12525f7a83127c20255149565983719e58b10c23fa70a27b40d723370bfdd14bad670b5a22b3446ed1473e8f012e5bfe70a1fdc1a7d826430e301405db72c815763e4c5486938de8f78b556648108eaeefb6d5a4520da365cf64ac69d2f0d2842b5650da2d06639032c4f90907a3164f67e0abc68a4bb86778d6f0c6f8c1585b76a73573deccb7010d21e959fc9189aee02458b8e353f12a3d98ccb6bac5e3a57ffe5b60af37b043fb58cc478ca9e249e94a30bfee4c509e150a3e28e56dc4222f9968ca8c62ccf57326a473b30055655654d3e700ea04756bc3f687707e0dafb9531706d06c30aa171e33550b66055adee33910aef573af9dd06b2611425d9d4820807c12f7b29a7fcd98c3948d5352e3fa8083205e13f075eed4e6442c0e3dcf68c765ed93748cfe33d758fee0e47a1977d0b79a755e731be22bb0c55cad80d54939b7a8dbd4c9c20b7369f907bbc2a540fae0189ab09fe62bb8defb479a913f3ebd167abbeb35104b2e3a75504b5eb58a1e34c991254e7b9115dc6fc0946e4d38e2c475199ba283be6b222cdd0a90ef0cf9ec98a3cf815e4d9ee23e3708b6ddaaadd146a802a53b57beee909528452d70170b8aaf40ca92fd5c3f5a7e87e93f30ee89881c7368c0cad47732e9b58f13e2d4873b596005e6344c6f030c9ed75bd65f273baa67d\n\n# tcId = 91\n# first byte of masked_db changed to 0\nmsg = 313233343030\nresult = invalid\nsig = 856a35de0779d33d013b7f7bf55de6612b8cb179058d490a4eed4acd8c213902d25b4eb5026c85b60e77773d3ae3570d037a087987267eb9432aa434ddf8b96379753d5d77b842b468af926b87a37b93ba313a6b0b0a5fc0028d68e569fb70c7bc5d29d4353c661fb1cb5e60340998d69ae7ff80ef5bc617207eb5648080265610b56d7b1037ae271e6e76f36b2ddf6d7ba35cb6430b21740ca0efd45d232600842acb225179af8765cddc356308ef617e130edee940e07c964517972ca94458e38f04375de2ca2c1de672f7885244ac95f883fa297d7e31f20b890a7d91758f57e9430c29a021ff5d94281ba0e7932ddcf031f0825881d3607cd3acc5ed14e517b61d2014c9d2ca6cb51e7da4ebe14341eea4c84d9b0b3fa11f9c9f6423bd414c8710cc82ec788f09c40634c3551ca6751af5e9fc966c687e170c5bd4358a4a34a8eac48f7357b2061d0610830bb7c8fdb59e5b9b55005a0cac3ecd3d6992971e64017a0d436406019d1d5fc3726c9c4cc811ed19d10114f61dceea8196b5b3c4015de1d761f4500b5182338a7ec0ba9369b44173ed699fd2ccdbd69f60b80b4c4e730f9793a2cb2c2b2d95a5156940162aff6fd8fe6dc0eeff643cec3fc5f75a9f516b0c422ec3938f4caf76fa09ec797b6088920e910d3d5d8df0abbc6bf78fff486c266540d74f9f55ba6aed8d21b71af65618fa15b94051b096b33a8066\n\n# tcId = 92\n# last byte in em modified\nmsg = 313233343030\nresult = invalid\nsig = 6df0234e29b09c68529dc6e379485376e89da42727fc88a547560ede5c518af124882f393e10fea33f680e1e5aabc51158c9b026a454c152fe4af301f40033693006ec509892850bb0b569b2907f7afa8864a9895752c47838615cf0f15e0b139bf83127bbce69f6abd6356b7bc52b30e9a58422ab4ad68fc2c812b6554f64e5c158027fecbaed30f48e90bf005cc6f0953ea845922d847f30dcae5a9b1e00f3ecdb139a0f38baa31a9404e816a9fb8f13686adbebfee71985ab41de8e0bc714bea3270205bcf16d5b7e8b42cd6332ebce2aa3d9501d30af6dc66c5ad19ed759567d16f0a391839e721e7d04c5c7d23df660fb18cd1e8982b2ed6860bb1700c3abdcfa8853ae187cf32695db4252f22503ea039996ed3877b93bbf413e27990deeefea7253a0ac23da6408923617f1263bce559ba3efa1bce8164ddd282ec5c115ccfef85493abb23c1490f134a63eb683ab16fb952854b40bce433d97d98f0348aa658ae3bdec9f0dfdcd25cecf11a1796726069132726e25b9a9c6278bc010f673b49cf89689cd2de943b94125e5a7b463bdcfb4b4ed7b52ae32f71cb0ae2f0ddcfa6637871fc64d254f1ab763b76cd7f93017759c9c73656a908cf0c687eaf6eedb0e510f3592be48a814ed7a9b387da754b8161f1cfcc2bd9f7bed8391484c98d542f5bab86af285a646965aaef05387153b51c7a915fd1213a6eb789859\n\n# tcId = 93\n# last byte in em modified\nmsg = 313233343030\nresult = invalid\nsig = 31e7df11d14b2fa289e45ca2cb36d568aa4470b5c6aa0d4bc0c10a1876146b876ff953e582b224adad6358998efc738631e44a34e2c1718f9d28f695d0e1b1f8318d2301bb3913dfd318707964e5a7e111e5a8765dbecdd90bf4e265a367216c6126869515c65d8788c9fd4842a6318d1323e50233cb92de965fc23f61cd8c91baee4013a1a928428ca6ed4db99eb2290c0d0683d7cc928d0cf252b389b64e67995249627cdd90cb4e5fefc8da61eb3e8104c6138e52f6710c136f7061e961c485eaaa586eed740eaa2c0ef879d2af5eca41a5aa1a2476e909c8325952a9d8ddb3b9f6bfa6495c4e2571e4c0ce727fe087ce484a038ecc27c7f0743fd93dbe0bc0386e4d025092d21f9c7d569ca0201d3347e71932e6efe64fa847655e4f1b01af20e0137160b5bc03a9450457162db68997a2df476175ffa040cb4818aa6be70cdee08e05724c8ce0174c6b25629c33e9aff85fdd6c438aeab60c3e939bd6deae3be1fc8beaef81b9334a1c4d59117863d7e73249f12a6a295bac6879a66a0935497040357bdb9ce0f2ebd7de693baabbf70ef76406bfe0e8a8a1edc183185a92b97547d50b10f24ed71a8a3d558ddc20f2b40801db842cc9a38021944d8b97e06e520f0ec22189ac11503a2d84b8291957299b8f1f45feb408e6c828ab97cce7c644b9fb84b8b5c3daafaa90e1c177799c1dd06fc6e48fd309d40b2888f4d3\n\n# tcId = 94\n# last byte in em modified\nmsg = 313233343030\nresult = invalid\nsig = 1088ad6c2cb501f99bf0c545d84b526de3665f419af5e941d5940196470da54dd01f58f48ec6cc56e16b1e21573700e57341188921fbd96362ba5e377e051a1cb2025c0da7842409e8ffc5728b2df3fac115d79a11d7a13ff1906cb8734373e62af62dacd1e7412a89327759542577d720581d4b8a928ab01e023ee7caf33b9037fd96fc17ac43ed9d604b096c8b0a11854bacdc88a58ad8dc3105c748813b4d4109fec80a4385f74b8b102f02d59b36e6cf4a347d87daaaff974e0a1f09255fd49e584b3c88d4704258fa8c402ca67ef95d1f2757312a63f307302a31b021fe1bd2be6feb6c1d7895642e5556bbc96026a591431adbb2953efaf4b54f33c8c8b9cd06e23ca369e5bd81ddac3167a9eb280f060afad68295effd5687e131967437d4f9f97d7b46afe1271a4193407a1251c1075705d4c4cab5e523eb66b2e1f57789001075b500a3841b7ea7c130f37761c27097c9ff533832d201ccc243691f19ad4a822b7ab203cc477398bd32506b4952adbaca1bc5eeba7c565843e17e18257a7cfac8746218a2118b9813c655f6ff55577fe17ff6fbd6443ff307f20dbd36bec5835c6a41bfdc7b0afa12dee58b119ebfa8a3ba8d3e77e3841a4812bdbe163aaf5bfa05a305c158115227f569fa92850205abbd275f1f24f0dc5b14cdd405d27fad86f812d51254f1667724fbab80e6fc30a5f1ab60afd412fef8ac19c5\n\n# tcId = 95\n# signature is 0\nmsg = 313233343030\nresult = invalid\nsig = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 96\n# signature is 1\nmsg = 313233343030\nresult = invalid\nsig = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\n\n# tcId = 97\n# signature is n-1\nmsg = 313233343030\nresult = invalid\nsig = 956353ecb7561945dc5544e4602466078c93f28507701ffd39e2a9813c8ac8740e6ad61c955d484e513b3dcea527e001a018ee2c207c1806a96763280236cd3c820dff79837c9b709cb4b522d3ddbc9192242259c43be75ea244d37ccfa8a4c75024a2cf7cc76e842ea69cc7ca1227405b070047387a5068e4976e4b8ed5f9aadd7b4db024fbb8d7bd8a040d8f6610c1c6eb1d4b606dfd182235d0360880304d5a750603af0c424b8c8e6dbc12c3697d2d609c97547e774e2e362ea96d1690dc9432112c535258b3db2c4c32ad510d6c07ad0788357883869efb8b629298724847925cf42b34386be700f02903db5852276bee2370941f397bdc3905e30964a0b5e73602703340960c3ed6078263b611f197955fecce4b9a32e43cd1d2e5e87c4ceb65edc8853a7ee31d28e16e5adffb8ac7b760fbfc63d5f174f4d0936461dbb12c964a6b6d6cee752e5fca1ab4a9fd238dd3e8860a1d763d2019f9e7b99ed7666d4e038710f90e0093bc566987d6c0092f571376e705b342d066c54e6e2578927b92c1f0928de44e9a6e1f49b907c6aa4f605ec9c398d55df81c67373b03cc8110162fb417f96fd321048647dfcbb392455115cd912ea83351853e6a185284648842adcbd25e67174a3b93b8a64ce2ce9de0e8577b8b662ce32e2565782665dd38e5bb5fcc4fe12e4320dab7773b545a09c6d39d9dbad459f21f3e624ee6ec\n\n# tcId = 98\n# signature is n\nmsg = 313233343030\nresult = invalid\nsig = 956353ecb7561945dc5544e4602466078c93f28507701ffd39e2a9813c8ac8740e6ad61c955d484e513b3dcea527e001a018ee2c207c1806a96763280236cd3c820dff79837c9b709cb4b522d3ddbc9192242259c43be75ea244d37ccfa8a4c75024a2cf7cc76e842ea69cc7ca1227405b070047387a5068e4976e4b8ed5f9aadd7b4db024fbb8d7bd8a040d8f6610c1c6eb1d4b606dfd182235d0360880304d5a750603af0c424b8c8e6dbc12c3697d2d609c97547e774e2e362ea96d1690dc9432112c535258b3db2c4c32ad510d6c07ad0788357883869efb8b629298724847925cf42b34386be700f02903db5852276bee2370941f397bdc3905e30964a0b5e73602703340960c3ed6078263b611f197955fecce4b9a32e43cd1d2e5e87c4ceb65edc8853a7ee31d28e16e5adffb8ac7b760fbfc63d5f174f4d0936461dbb12c964a6b6d6cee752e5fca1ab4a9fd238dd3e8860a1d763d2019f9e7b99ed7666d4e038710f90e0093bc566987d6c0092f571376e705b342d066c54e6e2578927b92c1f0928de44e9a6e1f49b907c6aa4f605ec9c398d55df81c67373b03cc8110162fb417f96fd321048647dfcbb392455115cd912ea83351853e6a185284648842adcbd25e67174a3b93b8a64ce2ce9de0e8577b8b662ce32e2565782665dd38e5bb5fcc4fe12e4320dab7773b545a09c6d39d9dbad459f21f3e624ee6ed\n\n# tcId = 99\n# prepending 0's to signature\nmsg = 313233343030\nresult = invalid\nsig = 000075fbc044fe19c72f459b5a1fc4793f7893ffcc95bab8609900b3c3d3be6643a42987c167e7feb63ec2a57f961c1b9c35b11b34044e065d7d3df0b49496dd80f7cd1eb2e8c0d0b726f37e701ba62a3003a17657af55adcb0b6e86f95198ed435207663d616d516bf7222db241094849fb232bf6fbeeed7b5879a6b6c8aebc57646117220bf55403d0ff078e219ff119bd2e52e767b708b91afe30e9be348766e7537e1128087b4c9aca0281415e550965a395ab20d423330939b4e37551a7735c6df2b0395dd032266ec7dd4afaa3c477c64e3f95ee4945960b7a0c43b7a9622448eba4149e30ccaa0c234be7b06f4ebe8ef43063c62282e0643c6e483feb1942e3310bad0c05bb2f87674825fed098d5c787b69c5ba6a1f716dfa62ede3b8a01c076598b15ffa2e2be82fd1d8025f8ded14cd8fc8753ef76419e1dd561bc0310b2c7845e2744c9621735758645af0252315b6a05894c264c4587c8870e02e94813fc3a797d590a9645d92845b614b0d89cfffc0b80c5b48186ae350d877f0bc06e561770736342f00d56b2ae785891afe39cc0412337e4f5d29ff06d727f6fee8f0966d52ac146ba82a753751ad786c9d70ccd3005b11fc4f6b81517433a052c2351390332bf7fcb4326a19930b512631317c0354a81ec7c529ccd1bb2ef206d697999950a539808958d6c2be64220123f12e7aad168be35de70103090937f44\n\n# tcId = 100\n# appending 0's to signature\nmsg = 313233343030\nresult = invalid\nsig = 75fbc044fe19c72f459b5a1fc4793f7893ffcc95bab8609900b3c3d3be6643a42987c167e7feb63ec2a57f961c1b9c35b11b34044e065d7d3df0b49496dd80f7cd1eb2e8c0d0b726f37e701ba62a3003a17657af55adcb0b6e86f95198ed435207663d616d516bf7222db241094849fb232bf6fbeeed7b5879a6b6c8aebc57646117220bf55403d0ff078e219ff119bd2e52e767b708b91afe30e9be348766e7537e1128087b4c9aca0281415e550965a395ab20d423330939b4e37551a7735c6df2b0395dd032266ec7dd4afaa3c477c64e3f95ee4945960b7a0c43b7a9622448eba4149e30ccaa0c234be7b06f4ebe8ef43063c62282e0643c6e483feb1942e3310bad0c05bb2f87674825fed098d5c787b69c5ba6a1f716dfa62ede3b8a01c076598b15ffa2e2be82fd1d8025f8ded14cd8fc8753ef76419e1dd561bc0310b2c7845e2744c9621735758645af0252315b6a05894c264c4587c8870e02e94813fc3a797d590a9645d92845b614b0d89cfffc0b80c5b48186ae350d877f0bc06e561770736342f00d56b2ae785891afe39cc0412337e4f5d29ff06d727f6fee8f0966d52ac146ba82a753751ad786c9d70ccd3005b11fc4f6b81517433a052c2351390332bf7fcb4326a19930b512631317c0354a81ec7c529ccd1bb2ef206d697999950a539808958d6c2be64220123f12e7aad168be35de70103090937f440000\n\n# tcId = 101\n# truncated signature\nmsg = 313233343030\nresult = invalid\nsig = 75fbc044fe19c72f459b5a1fc4793f7893ffcc95bab8609900b3c3d3be6643a42987c167e7feb63ec2a57f961c1b9c35b11b34044e065d7d3df0b49496dd80f7cd1eb2e8c0d0b726f37e701ba62a3003a17657af55adcb0b6e86f95198ed435207663d616d516bf7222db241094849fb232bf6fbeeed7b5879a6b6c8aebc57646117220bf55403d0ff078e219ff119bd2e52e767b708b91afe30e9be348766e7537e1128087b4c9aca0281415e550965a395ab20d423330939b4e37551a7735c6df2b0395dd032266ec7dd4afaa3c477c64e3f95ee4945960b7a0c43b7a9622448eba4149e30ccaa0c234be7b06f4ebe8ef43063c62282e0643c6e483feb1942e3310bad0c05bb2f87674825fed098d5c787b69c5ba6a1f716dfa62ede3b8a01c076598b15ffa2e2be82fd1d8025f8ded14cd8fc8753ef76419e1dd561bc0310b2c7845e2744c9621735758645af0252315b6a05894c264c4587c8870e02e94813fc3a797d590a9645d92845b614b0d89cfffc0b80c5b48186ae350d877f0bc06e561770736342f00d56b2ae785891afe39cc0412337e4f5d29ff06d727f6fee8f0966d52ac146ba82a753751ad786c9d70ccd3005b11fc4f6b81517433a052c2351390332bf7fcb4326a19930b512631317c0354a81ec7c529ccd1bb2ef206d697999950a539808958d6c2be64220123f12e7aad168be35de7010309093\n\n# tcId = 102\n# empty signature\nmsg = 313233343030\nresult = invalid\nsig = \n\n# tcId = 103\n# PKCS #1 v1.5 signature\nmsg = 313233343030\nresult = invalid\nsig = 0e207de1295caadb15098f51f5db90f9f000776055b107be58bd24d52a01d4171cb9e47a40790254f86a8a56c8ae38252f909aa3b9bbe7b7e1fed008105690d9afa647067ac122a272d30ac28213d2cd37b45cf81dc48d59e87d9ffaef6e1c9cf6ddf4ea5ff6123523c9cc885344b7e1ef4c8096bb542bc0fa5c47abaabca9a58ca85bcf092924741503a0f3c54c725c48855dc434b09d761f729051fb15af5612bdd387b4cd5019577327bb2e64edb065f713d50ff4285f1d184fe709207f809b9c38d064722897a868f8a09bfe1d33c80be0693e98d7e85600befb643e9f713584c716306731d7f8087dff66be1c4f6dddbc51b6ffe6034845cf0f88749e039ec314887c94648154f", + "7c97235323bf78041ec2c8ee98ea7c553ecfec1f9fe89279c9c91ac6acd12ebe969da4c67fa6534ef9ace4b629c7b1de8c4ce1dc2b0f5bd7d416db6eb512a4dc8eda0322138cb7c65b9a58d712284e4aaf059db80af5785af4d83d391b7d8bdc4071636712410d1dde662478eada1a2f1f35786b78eec77b2788536108e7463d676814a91f81fd5e2084a8c1b1cc33988e73184110c6e6b0ef1de874104602eb33b5276ebbac95d91b943e25de6dfc66b31d8091961c78dcddd358de7f25584d9f74dc6271ff31294bee2cc9b2f97a2583c9b33243600500bc723b05d65839de7442895bd57a1dd508651a20e20f264d8dcb59d485247\n\n", +}; +static const size_t kLen146 = 189086; + +static const char *kData146[] = { + "# Imported from Wycheproof's rsa_pss_4096_sha512_mgf1_32_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSASSA-PSS\n# Generator version: 0.8r12\n\n[e = 010001]\n[keyAsn = 3082020a0282020100c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d30203010001]\n[keyDer = 30820222300d06092a864886f70d01010105000382020f003082020a0282020100c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d30203010001]\n[keysize = 4096]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d3]\n[sLen = 32]\n[sha = SHA-512]\n\n# tcId = 1\nmsg = \nresult = valid\nsig = 8d4444ab233739c9d1441e99cb4f71581ed78fb996ba1257fffcd9e3c74ff60d6be352f002f959ff66bc6ed0c987a070097e5d57d8bd89b4452a9d2ca121eb6a283e8d0ef6f5f67875b6cbb8f04e6d242900d73d5bd7b59de4b9466ccbe53874ed422610e411fe3e026f47e47b8686b9c891c7226b4ca560a840e1734eb4f6fe877e559c9a9299dbbcaeebaf7eecfce6fe43ffbc483514fa3aabd6959e5aaa3977e23a9f97edf406d396e96c3c830164b10abc680bbaa6d99d19765d7c7e77946ef6ae240b5fef0249e7062792b15c8f9157da95971afb315c9c015c74a2e79ea2d0cc46992704872c340781f052b4b2cb5ded8f5cadd9b5e3edce128ef2354bd0411074d6515251f5231453bd530222f730ec736a86f721744267ba52652289ff6a207a5a7c45c20ec451948d6bd7b10f1af7282afed9f5df43e4a0d0f2e8fc6d3dd3130d4ff6fbc11f0ea460089856df29d1b7b111095754a7de9bc03029c6c397b6994674775fd29cd22ffb03dcd90c51096b18a6c174f2b48d50e94856f5a22adae64915d69c5528dac0345017c24e8aba401c6e9a0a268057a0fea237dbf0c88906796eea0d1bc3c2347cfcd812217e26015825e9f0fac404c22c26272443ccaf30b294c7c467497ee561a2a5f6d219973cffde9aed8e4486faa3de3d17405445e2f78a768dcac1efd01596486c2495f5bb1f830a4984041e03a7bcd77a\n\n# tcId = 2\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 3a58fc64a234dbd7be958d7c34abcba7d780ca636c4f2b2bb7fd3d4e4faaea0e17226c85debf8dc9b1a79e152a3bd83b13f43b1e92be81b37e908d04b717251e32a2d49e2cb5f2e7dc18e74cf9fcf0c0e246d473f76c79c3d50e878a2f89bc4eb6ecdda96c166d6a825a1df569d11384a78d7052782ace5878c41361f148c54528288088716f935d3e5b5d556a0fc9b62c0de31d9ddf4893f82365111043ad7fca010d1fe9187bde48f78cf465657e184857451d64564a16a166743870033e64125ca3f20ba80c065b259666871fcfcf71e711aa34cb70ad9a2ac6051fc02c96149d4e3c1741c4d44663ee0b49e1ba60a80b4c2d389ce3ba953d68bec835432bfe170429951f82ff51f408aff052c934d51526117b3d57ed1f2a912b37cacdb5a980d30d223d79faee7948c5f4986c1df5ed42923a3f4342da02a41872db49aa09d2d48c3b3e1cca7114a9a34e76b747ae6c99141c9f856e41d98456b3fde7d26bf842d6a421b3d4cceda4da1aa4d1298b624159a1c83b6fe5cb89982eba5e7d6005489d39233f156817c00c04511b98463696f8b6b3962ca3f4ef76b37300dda1d368c237250baa057e38658882f482d024c26163dc1fdac29904bc6424130837b8928f764bc939f006913ab1e968c85016dd812dba264520e6380872587265d827557eeac6498db8137dd2ae029fd83250ab7dcd764d018ca05ac9db8f95e2\n\n# tcId = 3\nmsg = 54657374\nresult = valid\nsig = 7c838ba65f923660aa4ac47465eb1df4df51d6fa2be26389757de8c6dfc7746aa5164d909b69b7c04758d256e13e3520e77e75b4094d8b0d60da0030b9c991969f6e892ff03ffba9b9f95ca991a279e7cded611a2879e6e6602f411a122c8d11cd333de5d2f7f367e38ee0491380e8796e113487ec7bc05ec1b1261aff871ef82cdd12f4e3d8f239cd49b2f53d57255dfe6ef29038831cdebe9cb1a76dc9ed79578e129b063724ccb3c7b3269f5dd3d9669a405582255cb56b1efe6d61a376df3a141014c3d660b66f9d1b266b5fd3c5472534df778e6e022a8f5a6cab501dde611e07c0c8eb5718962692e8e3773bfd25f1d3b63a20a251ef0c296f01f4a17814e18dfc029f2ed0ce073e83777cff44471f9348434fcc12b0420bf2de1c9018f0282ee21f09302b178f8c772c8f8962f6a29291c63532e1ae9301e7ac55781876965f425619a92559f33737d5e11b282f9434e27d9b27eb2fb0fce4e3e90ca9eaafef170644b00e512537bd779fd2207ee73020aaec07e6cd44103a14940c9499b013c42440d2f27a3def34f3509cd8631db1cc8633ac15180272c824369e1d3c8a6cdca511748361cb60e022173f95ad06e7c79d59e03934854a9f9827f3593d87c34d3fc44beec58e107d454ce04b55c96effce612aef0e5d55c31e367c9fc0166f2c9d450e86d79323d4da8fb409f97adc7af2ec6772ab290f622fe1fa61\n\n# tcId = 4\nmsg = 313233343030\nresult = valid\nsig = 4a80cafbe2a6095f8e8663f6289878514d7ee7daba0c1b0a077cefb333cacdf7c116ab89b0a01cab3161c68cac92a08aae7d117c9a3416d67365621da3380a85ff34a7a3b512846048acd1ec5957af942721c241a180a5dc5d8f6f6fe54d4d9fcb3709cde37081e2233b4fffa201d2029241932da170a5bad0d927a803a7f6289fc9f7b1d41cc1a6c94cbf588d5492b363920d0c98404f5da9eb9457648e2a4e9a034b2e2328c7f8c0e794771641a981df765887b5ba19b769156b375535911e1a2da68bb6a37eaa0ef8dded4ce3eac5caff4e8dc357703f0409d00baeedf3fbcbd6895dd3938e1f03dd9f131f9c979e22e4fcbea0c58721bc72d1f4976e93fc1a7649a23745c0310181031ac34b2200dfb4e8fe9bd4cdb52a23c31416745521aa4861eaea7dec4ea2c18ae9f75fa9d36c9b61bdc4185e434f8cb091cd731607b749a3990585cbbea2b1c0e0fff4f589a547d320bc7923b8a6b594c5866095df9c914cca80cd6c0e9aa3d691e2607f9de64322031ccfed04d9c805226cb476d3246d6caa1b04c63372a77668d5edf06365827b80391a6abd66010e8e1b873bd83db4dcc99444e109efa2414c6e5319f30a718eb43a1256b2142afa2382316e37aebde32da5bfec93e89d2adc39f62aca25a2289933a7cd8234d72a9b3c6a001d27560f8c8a2d9a233bac0b519b34f4f79288ea2cb08a87242953ac24ea144143\n\n# tcId = 5\nmsg = 4d657373616765\nresult = valid\nsig = 3d90ff4e36188b451116227e189a71734571b72cc6fe53dec4eec59e67e98111e96fcd906509fade9922f2de6a13a4faa23c7efaadde6dfd0acf150541eca973c7e38a49c597d741e99ef7575b6e2c8de0974bc868a5567f0890052c4df54d12198ea09a12bdb2b6ffc14a1d874e165ed12caab58b28aee171fa7f1839e36e23ecdee2633616791179084eaf98cc23d2f6ff479df0ba46ed933beedf07cc0cad4dea", + "0f0b48f4a063488ac67519e1fb83c7b7e86e3644b0846383ecbb1b1189743036b271fbf121e2199601a3ffa8e8cab00a6b9b5527d62dc2a398e4a42c1e5a62f8aae35b629755119c54cba5e860b421845f9b4422f20d896abfa962ece5d116f7d4170db8dd0784b7625ab2a384c7d424c69901f59d03b144241f8f6556da8e3bfe07c17eae91c50ef2c53e71072c3ff16e642cf126feab904e09a2febebd282a2540389bb60b145cb332658d6a69e03a0a8419eec0f204d6e592e04df01b92f58236989b6b92eb0344255914c25dcd0a611c9fb77e435e2ef9bbe3c74efe144171ca95d1bb7de814f76be54cdd8c11db8af8d20af4451a4dd3b62387bac37cb79755afe91d0d9a2163d299ff61ee4fc4d5267eb8c5252371b0a83dea738f6383e085e992b3567ae170780f3b83e15d895ad4ea668a6304f10f0914ca3b2900fab1364c8b352dfa8d5a3993d5628f4d2264c412210798c18aa2ed6aee516c\n\n# tcId = 6\nmsg = 61\nresult = valid\nsig = 07440a61252a8906a9264ff58cebad6217ad710833105369b7a858216f1d5a5f5dedbe3eb8128b34dc0f0243faacb64034d21b656a278abb26ced174f76a22637b755b768564db6ed4e4fba0d5784a22be30d088fa965307430982f84476907d55435ca3d4abdbf689e76f2d4b78d99bcc742e0b757b897c4fdb13d15c5057e6816e32c3e294a947374c998550173cc657ce33f9fcc18b2d14e1b448acaaef683ff84b086f545a05414589b1c23210290ed5ebbc25af614129212d3853ff728ec01128d37c4268975ef870a1e4fa00c3c98b39c3110c2c11af10333e25db027448fa8f219a7dca7c8bfb490912bd5040f1f348b2fb437a8a9f407ab7e8af1c6e29594f557f2e03fe74e4fbfd2f935e68ed824a510fc39bb4be0a2e091feb265fd2d7a33d2f238e70b153700f5bd5046aad7a6fc02a5e23dc36f67278fdb904d05f2efd0cabe9e4baf4e16af0f7ba9edad706d67c67221ca0630238d6f688174d66c1b152f8f921e2c6c08a19e870eab76a77371b42458dff1c36b0ae97b811e900f6c09e792c89644448f1d0b97b53b9818d1d8f3d7a37bcb1bd3e3a5bc022039f00a0ef7de19657c4c9e06daa2ecec2de30db3b7b84107bb74e164956eb26edc9bcc57e5e1c4ed875b02f0545383602faf9525f094c72f682995d4e2d71d03e11134495f637a3b1b022153689751b63521b1a16b3c3e269a2499a4be1aff9b8\n\n# tcId = 7\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\nsig = 2686029fb11cd033724e57dc1835da4f9321eef330747c3500a4893586429ebf02cb4424ee5a0b91a70eb35cb05ef60cf6b3635d4f2ef5eb647f398fd44f67fcd2969b629a7c54f1094f9827f9f27457509730f50c9ecd2dc83bd13f1268d93f0f61c29c5c27eb821c68edcdf1b01f79d1f261dd7f2f283db197ab56cae0ea3b3c1cfaf3fbd4c1ed1f6d313f0b919e5fddcb97b23f0bf64e36bdb6f7cce8ad9cf362953e66c644f8b8b64bddff1e850298f5531f121e6821a393f9658237280c2a53c7c658319bc7d38f93f2d7723ef6728008843f89f61f7ecf5949a2cce6a9fd9dbbc501ef25a53ca02486b61a5de0130149d9d246925f26e1a9a74287439592a4554a872ceca53e54d1c1f4c4e18a4977939a6c37eeaab5c8d0cb5686b44d84c86d736ee8e0d97421f4c8935e926419dd68fd4e5fe9999eef75d0d0f9494cbb0297fa066b3aaca55cc229a36659be310c1e328d0b52f7747c62b1102a2d0a4acbadf0acf621a45e5695ce1393b3eb05a69ca5318e6f6b7ae5c4ed3f6072f8ae99db9af66da6a98d675a35acfe0a7612e9d5f29690870d81114279010bf7bb3d458f630f10f81a785f671e6735d7bdddf4da375d2e6d48ceecaee741a33ec1e8f9e0ce0755bec28315c6f9df363c800ee147bd412c5ea7aeb89e7a354fcd3a2c8474aed04f9a2a5fd2983380f3c00a4558c46ca472a4c15887c07d4bc8a698\n\n# tcId = 8\nmsg = 33393439313934313732\nresult = valid\nsig = 69b292ceb8e8eb52e374140501389ae251d8451b64b9efbeeaa16ab24126f38f2a7d4e21981aee6b672df3afec1a9e167686b6238b2d3617c659ca1331470e95234e2c04c308cd6bdcef7631b74c36a752eb4187bee2dd33c59f3fed55bee29ebef7ea61d26e6c052a2b519702282de7652a500fc50956091b35f9ef03fc9bfcc72f02dd55b25f88b60bf22aa785f674791e4dc02f9f2f7f04a577f860ea1761d0d8d3a0082350551786c62789b48fb21e85ab6b05f56ba504f7f0ecf8625aedee4de0c95c4f97fda57929c399b6d4865b78eb2d1da433f2488b4134fa043aa26386b47f551d7778bba8b6f379cad3b4894e106fae90a2b391e859fe8bef5e545ca3d0d908133285273fec3616798b83a6f7136faed77ac31e13a3745de44bab641f559ef5487890261ea80cd9bc67c58c7e14e9821867ecfb473b47e95bdb0003cce856f9192e39b86f551b0e3b7342598cb34d8905e117cf85b828ce0aeeb55407785e27a9687b59b8c5fe011c95638c8f1549e95658de4ec73199e3bce9a14860a0ac64ebf20ce5f0083594f40d6c2a12a07a512a191072487d8741766af953365f240335db17d4fc57390ee0562e4f8dad03dabb113a665b5b9174c1c128190c335cb748469ba2bfcaee5bcd25c845bdec81508fbc519a8837c059427cb3e0d1ba0bbb6e79849fb6a2e7f29c7d778f957a7e26fb28534ddd85ae59498996\n\n# tcId = 9\nmsg = 35333637363431383737\nresult = valid\nsig = 28dea73d9efb0b7893b1493264c30a72708c1a28f10fa9b8c7af7e0f52fc5f533012c7b87c7005857f9c55386e81ec54a94f71364798a5d31297a13dfadab5b032052ed34124191d2a94023e27a7e6cd948e21ccd33bedd37769024e97ff90db92225b6b5c0643357d80ca155a69b3173755b88fa83a4367355f1921474f97fd2e1337ae93e2f535d81423177725404acb230144a9d86b74ba3c1a6e724a5420a12f2a19b4ad6984c043ff63eb14a0cd494c0072c40f54f4d931804fe63d9bfb97ee7de83e943e12693bdda14325de9d7ad605e7efa7f42b14657fdc2a2e8fa3de31bfe2560a034aaa6de4b4ba00b056ee9d060982ff77b5e2acabbee33f3df9e58b2782e2f99a6d8f1c6b827862b5b04a02641bd1331c73804e1322dd2edb621508aed4f997458a3f52380d2ef83e8c289a996dc2407f16f6c848074d12bcda0b5050140051301371b51e808f374685f728e24ae3e937ca9d5ef890e0727375e4832c8c07cfadc05b098fd50014d6be7a0aa2a35ac990026f5550427db3b2345866d72d3085594e2161871a4ece9c55bbfbccf854a7bae0631ff101d887681006388a37228dab83350e5a15c96f7d0397cc62c388e8ce6e13b6ac727df4b1dba0691b7b96574d0d024cdb0e329e94a128924772ebed4eedb41138e7dd99d347ba50b83d1547d80b85f98ea544aa63dd725f4ec61b1b3b522409a1369b5a9d4b\n\n# tcId = 10\nmsg = 35363731343831303935\nresult = valid\nsig = 19085093b94a6bbc8f27edfc375a736a9e086f98b1d6e4280e6a6f6e8dce1f878b4007ef9c55d3e4bbfce9a6fde2c6e07ba94c55bbe8053a3a3c08c5fb981960e82221fb66a95553448a4d2f8a1cc588bd1e9c4064e9b6346bf48b153262035db57ee6cc5453483501af3668a645a930332738782f55f4524b1de5787b4cf94c2042b43f47989295c8dc1e0bb9df8a28fa321c16637e20fb409f55a21ea3e29e515f833e18485b501442269ce5426a20b77bc3a797a8fe461b1e02ab4d2fdeccc84ab2b9a2f0f5fc68218dcaf140dfacc70a990b2157f71815049d86e43c094b956e6a1915ddcd3023e6805f9267e96318c466985fcc3eb84db972dca08c84a347aba687053871956edc2bee98207fa1e984b1bd05ff115e24bbfc706ca9fbc916565a3984533a281e665dfb6c8ef40852059993aa6d87d5d1faabab4e0143f1080a4ae9c8afd4886aa21ab3a487e316fa95dbcb0b67ad4dc8992c2beaa48cd274f3506b863b33d761d8369ee1e1ca85f5c86adc826d9adca6ac77fb586423eba20ccae5976f9feea127c720ecd881bdfec17ab1c6f539195838ea99d4b8e612933cbf8c7daf928e99c603e0f633e5d89bec797eb33d782769e03c75d04c6f64f90ae54a47f9fd3835a263ebe8c61df8987443ad8ad327aa2b9facf647409828fc9716da00f9ac1d932555c9138b6b9d23d9c6d1726d63c1e42527bfae0354bb\n\n# tcId = 11\nmsg = 3131323037313732393039\nresult = valid\nsig = 882a00befcdf655539171cfc51083a011e676653b03498c5f05a4894cc3ee7963997cb440e279acc5ba37f0f675b7de685d3f29aafa58fddd4feca007c1e96d0891f9e7407030fe288ea91d579d3d6e5062f9ce14aaf9b507b7405000a0a4ae6f207f756677276ab25352699fc3beb4892ee2c4fd416e59379732e1fc2af9e37bb6c49d4a9538f9cecbddb571a5e3f28d266a1a2eb3d477bb3f13ccf776101a5bb37ce0dab135f4a5976647ee50fb8c8fd829812c5f686012a48a6ef6af6a88c5e805cc95b5d0c90ce568b596b2ae2e5934d1c2dfd7b2966e52fa145ecc3d94cb7cfe3dfa4cd8b3b42b780a212678299a2ad2c920f386fee15085cfe225798f9ea233b5528915d8a4d530f80dfe6b20fd4fae2a80ad0ac3c3f45d99313801c1a06cfcd311fff3cc409ef375f0c2486cb5331a6f56f693f48596edaac25c10fd3f985b565e657570cac4ab291cc963ed196455f7285368f6877cf8c74ee7fb784ff192638415e4519abf74d82daf72cd6794b9e82258bc1b73f08c01941bf304385a3a80085898b0ef5ec929da0cb2f27fc75153c11d0699bad1fe8b1d357ee601d5de2489166447ece43d84212a88ee665c0890347e361f362f68a195184b224f3c2f0228350e326216b043a56efb4779aece7d5bb512e3113d611db9767639934778e442f838e9bcf2455f3aa66f5c038ba28a3a8838d2302384ffff1cb6131\n\n# tcId = 12\nmsg = 3131323938303334323336\nresult = valid\nsig = ba12cba0e650918ffed25cfa35075c29f2704a11d2698311965905bafa47ac53f0cd688647e298e3bd3cd380558b6d42e1ec16dc58f6175ad2341f93700703f9dc8617e321e5246c15d371845d4e67cf04f7e51b5328ed5a86464ab669330eb97749a10ed6ca4e052a21fda6ef70de6b49fccd8d6db530beb55588d85fa05f1643a79d5ad09003ae2e5413a06a189df2633b742bf43a8ab4a473bced22e6ff46a687b5a43d6d1e1d1b2d1fd96cc99e967b83c9841f4e2934a7e044606a73f8217455beef7926f0c65714cf50d2b5e06f59abbb95a489e8dd1725b9ba6d5b6092fd660091eb0c4f47e8a9844dec0e10cc1a61d50792e1f931071188af1e800784d202f99edf2b7fbe28a120b692ba476aa431765208cf493253d73763d36c795359c7146b2c82b635b4d6ca0c1a007cddc0385ede1c589cef90f02178e302bd731b37f66fde283777b7e02b77803edf808af7c1c71d0a321b7d090e299917aa21be4a9a82ece8bca006917fc0d126cea0e7e64f6073e10c589aaf3ea25211417f2c3d12d7066aefe4c2675d8022fac6506d12e8eb19af5a2c82829bf64abc4b52846191cd6dc555585c17aee1d50d82ab3a580d616d988de71bc7ed96", + "5a6cb90702ee4ea29af392e4dcabb97f7dd7148b811a93724b40bf40a40ecd3729b99af580484958e1884e4947cfeddd5b3df5b810f65dff9d460ce273987f58ca57a03a\n\n# tcId = 13\nmsg = 39383736303239363833\nresult = valid\nsig = 39de8c150be0071d220697d5ec83166e42d608d83841cd01eecb5b63ef1a6638befb87269077ac7ebbedd0e368e3e3a87c63163ff84ba38e51cd346a4d0617704c1ce5780e1e1ca4d2fbe72b82429ba00f9311d2ee26075e8c045ba3f4f4e11c5454819353b951e684c829756be54da216d8d0585d23573720516ae900a197ba2ddd95c76a660726780213060c0a527e4e1e70eb4a377f7766237925fff87ce798349b4ba0fd3a0c89a7403b9e8ad657078166aa427ca530afae4b66233b1c601bf043c1358a73bb85fb5b4b7f2fe24fe532400a99f778f27a81352ae27d2ca9f3af99da7c9156871b7b4f0f649a3bbec0156e638f270af6e2e3730fee4500be694b0eb4e3066d2b5fe29fd91f1bf55747e6ef9cf106eb3bbc3772a8b181d6a4878531586022415f6be2541cba38f7b950f805b4b8d673355797ef0b5e58cb9e3dcb97d6cfc182ab493c5e04f239caf2c925ec2391700d501e5d4a7a7ea08b6fc9ed56c27460e7d717aa9f8100d76b57b4fe485fddbf8e81dee4b1616e0e0ce2eae4134ac6a96c1853cd3975f770f05f077eb4781ca935e58f7dfb618d855010cfccb3a5f3243853ee413ab695753329948e772aab3c1799b8ade5f9f4b0d041815842f7745d71d6ead2c83bdd2e654f445b469e5fee1f091e708cc50e8441eb38e0a035d58aa4bb9310468b38a8342d9ba9a346d64b25b4fb6143bb72155ff3\n\n# tcId = 14\nmsg = 3230323034323936353139\nresult = valid\nsig = 67f05d7cfb5ebb3fa6f34a32e859395de916efc318bb58cee0d5dee9457e458cfbb97fbda6909ebf85394095732353b221a1bcf502b9b2cfabb4d67eac73a6720733d5d76224fc6835fcd8937c259d7ed7bb1ebcc7517c3b6b0fb67a4998838f529b8be2abcc8c2cf10b60a19b9fd4139756b766827bc3cae375709ebd821abcd97bb4d2e5f42f56888d67cc159b9d54910316042a4acdda5c507c66a055f55281f1eb4b0a1fced99560878109be3c04eb62633bf069d86f1a7496b5008e7009eeb225d1d4d0b377ccd4029717fc7e55a26575059e4b90fc735f8dcc45fce928ebd5c116afdb631f6c302a213a71aa75d427cc805ef5c9cfed95a1e3470dfc1897860e459f50f98958bc4ba630aa855dbf5799dd564c7dc8c67797dc1eaf51396e4984e345b847bde407541c68c13fd29af83eb6e15bfd092641c46da3dc7537d07d83c343cc8bc8c6064f8e4f61915c555bb86b37ba73dece8f9a0203da68ca9ce7c874c2c1fe516952acf953b61b70c5424b17123020fcc64bbfd7b5ed9c4740971fefc1743beab357e466a35a14bc5b928a625c607799206c76a0aec7df6d9988f2dd266d41cfcc654fa23343d39196b3a10f651d8f9cbbdb410a629fa10efd840b85da03839d96e5744a0ba785d5f90e0e797a053b8762dd7ecf805abc99d648e97d603fc4890119942d3b9b9ad4e9391fe453002ea2059dd01ad7edbb73\n\n# tcId = 15\nmsg = 31343531363639313830\nresult = valid\nsig = 5b382b1f8b912347b40629ee86f870ef85da6ba37f8fe661b6a6af3e4ce714e2be967f149e1bd52224315c87e184a62537ba262072879a4c8f13c8534aefd892c074bd214c7b915e87fdba67287bc0e3737a13f69ea9c18fb9329ae08fd35b692eb7721d2816568f5fbeed25da9df0ccc0ed69a9cf2e299245b4be49ef11c956f182587062c75cc87a3befb1882386ed503b658756300adce5268270959fb270add0a61421c066aa8ffaef45428885176a466792ccd4af9b4ac03381b4e368eebb4a75ba4507e61137dabe41aab8239cdd9759766db0ba6420c967f008dccfd4537528c51dd7b9e95135fce34664ca0556a30e9bbb531f39bae4f6e15ae266efb39dbd7d9894c3022e8e5cec3808d8f465115f85b411f0b6e276dc5c6f2b676d6ffe8427112b3af2cd99137d25b109839c7661d8376e3252e1f8bf9c5baa524c1bd82eabe0228b2c8f2b186898a151d25192fa6266bbaeece357117b46dbbcbf4818de758c5892ac548a47c8631d4754d4ff1d13cfa3a707edb5dd8fc405545a84f2a860f4f59d587658dd5ef20681fd590c91245740d575d127a1173ca8969c4f69ab10bc67cdc3ef5718fc317cc7915bda8e97a5d674ae63da735abf9e119869fd76e816b2d9eb868cbcdcecfb7d3a22db60e686033227483de816fb80dbc3d0abeda3d3169f298aa72fc20e305d2c6df1092c8b406e48143a3a6211020bc6\n\n# tcId = 16\nmsg = 31303933363835393531\nresult = valid\nsig = 3d85ed8630bf31cdadca8fa4ec06e69ca8e9edca84ef2b5a9d689fc77ac3819fe5f1ce370a060e294425ac97c4ee2abd4c45e8566d5467ad19c2eae4ec85f3e25d0888ca4f739ab93cfe16c034295e075083702baa6f283428deca6d24c8083935c80c08e68a1c622697ac1989a6bdb26bf88403ec06685eee11976108c3abfa602b64e6dc62d53241600b71c85c0c9d5f30a1379b312c2cdd6051febe6e343ca99fccfdb53f0852730d2bb5585d3c344d9091cbffdc529f780ee7aa8d807e54c0a49fdfce3b2cf659c6cc214e2f3a8329bcc4156408db4a49071bc36a4e018872c6d8f138da58e0877307fde9650a94b98882e5686fcea8524ea07d9d67ccc6f17d914da6ce80f0ca32757cd5cb4357f419a1726006a2b8e5a3a5a2d93e3af8a8af38d12e409ed8cc118ddbf7028a4baaca589a5b937997097189160f36b9e38bc29723d2f8f3844963de7f0742dc6c7f3a183d0729efc785d280cde8c1879eb75a53556f2c064eb114a24bd36e498216e43f60f16dc231130f5a393ee13048c1e7830e2c9453381c238b730db88b186447174bccd5f297bd2b3343309df6ad047e6734980aac77ee15122e887d4109735a932401a9be4b02423171f26cc3c0c59ae1870a5d3561df937e344dce45ff2c03bd8ed634e61cb0a6655d8e5945d77e119f955103c7b121105e993389f44ae306d901ad9a568a90eaf0b6eb503fc8\n\n# tcId = 17\nmsg = 36323139353630323031\nresult = valid\nsig = 3ebc127c8ce530268e26be059e0db2f580109f0179c7694d384ad01f257effa13dd90dd760e011546e8f8185fa754d7f8f89718675c818d8b22d94f4410ba577778ff90207602e19dd66f7296548600ed4fd03ca80e706624b715c52dda105df29661759c39c3844a469f52cb187a4f51640c2feedeb9411d96bc9f79700fa5ffbdcb87183d5652718a7dc63f0fa5885f2b2a95e0a79294289caf3b998a747590bfd2f0054e844f79c57807cad58bc664d6c4daa96a6262f4d110e3bc456948ac157f067f7a999d789e1462af0c59bff7e6fd128ad3b04d3bc0863e7343ecd43c01b16e549a4d684f1ae5c069f5f48eb63d64b8c4e53decf1caeb545a7e3f7b62de1ea5cde0c77bfd03ed690c15b9ea122255d34252b5a59a3464d5c4e4187caa9143506088b62778d614a01cfeb6ae07cbb91ac1ce5e63769afd6d3746ca90bf387d86780e1bf86c6653112a0dd193ec8bfe26a2824694f28dab211e28262a45c54ba8e1e94e21e61cc282a3b9131709e0fe5132e27f3d8bb20e69ea99c972bc780da5c58448844635090da5aecef1683a663a7d8c3f65ed98568dcb3c5199c5a10ab41ae60a5ae31968f5ffddbdc30a475b02f18d97b0d0ea03ece8c9f06be97b3b76418cb57427b988cbc2f8c13607c8fb97f30f209683c2b25b1582b7fa99619fd62f36481147f4b1296b1e19c4e867d2f240671475d730c7c6e19b5b5a9\n\n# tcId = 18\nmsg = 35363832343734333033\nresult = valid\nsig = 2484f823b830036277b6c888a551a134afc4456e0f11c90c7de87443f115615a2c3b5cadfab075aeb8d5b044420b8b2a98a58b1601d4a179bdd2c28299386bfa8bfa23db3c0a32214a8f99d2d2bbd202ebd5d6a7ef645fb823ea7e07f1f0f8123099386a011d78b8f7d74391cc4c1e82d5f5e448e44b62d091d0c923aeaeb3dc0ebfacfab71956d6d05ebfb6b384a5ca850b4efbed24bc02410b68f72218bb57ef7d3831c777cf48e5ae455bd0fbff0533399708c02a3813413e877bd0d1f0ffc21489800bfc70f6d3f8e77dd2f3bed5d298a1677e75bcd2886e84b5eb2884642a560826269e0445c80d695ff1ff72496dbb5853f72affad202a780978d5bc18f87bf2562021016f6d6a6b94dc7161ba220088f1e9a6000b2424716ca33d3e0e68e332778e19297934634803cfd5ec4aec3de2f6c8606b217717cfc296bea23fdd61827508643cb5fe505ea14c2e6a61544362d4d541fc41912ba7dce58ddd928ce8b8ce465cfffb97904a3e961711a24a019d25f2bba8d65413b3de82cbb04f2975b87a95502c76921b550f545e6a659afc83c1731dd8bda533b154129883d9aea6af532adf3625712aa44ded67ffe6d90bc95357d446a673cb32487195ad20ae184250abdc7d3a08d3051044fd9eb1049272b89a2e98f1a35b2e0505793a8fcb7448c03c8f46aeec03d1cbc3eca5a27880c8b43a2d255132703c40413b2446\n\n# tcId = 19\nmsg = 33373336353331373836\nresult = valid\nsig = 76d929733914162395018b1641129388337fe075f1ef22857bf1fca62902ded0a7f6ea25a0b33196b1a51145dcafd1545c09daf6d4d453660c79b61993df7b3c3207b828920ee1fd030a29233e35fda6d8f96990acf3cb5715b769b4f8d1bcbe3d686527fed6ad66343012e8c9ca8217c7c3dd8a8efdd052652f7c9a89090e598a6a60753b2c8d9ab67eedb3b3ccf8fd755d116eb1b089b108f85ce2b3be6ce8b11340e57dbd8c9b3acdceddfb53e6ec145f7622e184dbfb35ae46d75ff43a197703b183196d8778bd06d5d245e79f6c2e0afaf9771babb9a88ff06d0300be38a6f4dd00a627df186147c91be1d2ee4dd1096985e37cd2754002c776223ec0aadb08a3279b0839c67e9e2053344bd45d487f65ddc1a526900e909cf1ab63908375a5e0811a084e481c1f149e58078a3fe8abc9ca195587bad6bfbda20beea9c87b122b55cac6f6f65635e655cc0187d63aff5a026915232490b43f35ae2b96d7a73747d958aead23b60784eacc6a7e6bc471f850adecf8e2b53f5f93c4b8a40a27420466abbcf5e554a35d40a2f0ce4447c23580193df8aba421fdafbea91a92f74f2f9d8a565251dccbf07133225b40ae28c33ecf8cf6ebd2703a135cc6420628304d13e5b65bfbf7aacec056664694126dbcfb2ec2334f04bf4e4d9227444b07737a4d7d7ef4762b53973b900320e589a08d0e6563086534b6fc6d939e0dfa\n\n# tcId = 20\nmsg = 34373935393033373932\nresult = valid\nsig = 757959f7d8edcc8d2b843027b0e7be51ef30769b79e7393a550ce13ff36088c49e062c19646b68a82fbff82d8f54efdef5e4a412faa075936fe83bab9d5ba4c16be9b50a45a8196769c899a4fda1351e0bfbc0d3778ba2f3cad6853e9b59fe1d5c2b6ccd3ea320300e55337991ecea2623f2fd2088c1a152acc9930b57aded1bcbc7d615e43b3f03f2568248b11fd0a7c8706acda54ed825a8a26dc5b745f26dcf0f6c6f6185170c7bcc94e0917160346a54b6f16596bc5b53d19824b77440ffeff031", + "14ed36fb50fc7539781924364995c9efbe5c18550f2259c07b913e40df859c3bd81eb9c0ba9429bec118f2ad0dbb45ce430084d2b394edefb230a192e4f6700b294e8debb3b26a66ea5a4c02d2f1682e4229f8b3bae2f0d02faf45c8a9ba7b34f8635d9c0b02315856d61a977150de765081f3fdffdb446fb5246c5d678496acbb4062aea2674e5867679e194c13ef1987b4ee11019c27c6b15d23202d699cd57a2476aa25126011b336bbdac882b901cbe748ddd58681d75b2d25242b75266f013a681a88614fa6dd3d42d507f621d77948e32eac5dc71f0138e0175f75be9d75656a1a04aa035fd85c44e899b4e10c3ae954af578603e6c0bae9f52d2af1d283c848f0c5f7a7c41105c8cfa83be5d611ce309c7d7697e23fe4be041107b3fc96ea29d2e50e25873fe1025187f534e89e56b3ac7008ae1716e97764fb\n\n# tcId = 21\nmsg = 39333939363131303037\nresult = valid\nsig = aced2477dc9a544a6380c5904bafd0c3ec8a98956c74a7f5550200b989ed8d6983e2117faf75ab0e7df1bdc3eb162930c0de770f3ed9faeab701425982cbb5a32cd515887f5c24de6e093b4f03f49902fa9c5ce7d4f3cace1d6da9125a1441ef78e15052ae753de4ad63cc05cdb8d75053d3f9fb74ae99b80bc4f754f0efdbf2959021cf80eb1a74ce9b1f3268818ac382c88fe6b542c3befafdb921ebe7e7a80def249b27fec84d5f2a8d7ad99e1319f39be3472e4915638a3c4b79c7328134c3d88a29041519729c66348b35f4dc07011c644abb6f49d093cb289dbb31fe94dbf22ba9743743902319f4ba119de877ef70606ef09c142e0e119850f0d5e6fa085d2ea1743e02d2c88d423840c5da409a1e686a986b08efbd422f8b0f3c1414a1db0f2f8cede003dbf3207ba7ba63f5e5d736d6be66b3df096048debf5d36de53adc916d6b90636c4a93e6064eaad5868bd4f1193fc1978963b07a7e6d07fdd4e0c65e4ad755cd6a81d069f31db15e89d6b5927d917695b2a9bab9c274d6bf21ab7a6e08b99d4055de8fea592b5190732633eaa719fbfd6e8dafa022cc89c408e57885031a9203baadc4665f3bba12cb120948c73f8cf8dca4bab83dd085b2f60b914c8646f4199121e453a4863813fb06574cb8637deed5e951dff9ae3b6c23c4133428db9f9a2dfbc5ae6ffafb89195164a8edeb2ef7c8c39d16ef337360a\n\n# tcId = 22\nmsg = 31303837343931313835\nresult = valid\nsig = 3215a7229e9aa9674d10ce9fa2a604976b737f6128a9c9ea76de8ec44f283641142c44432416ef7dff5b30afd778964d320972071a67c80d20262c6b1988efed0a82d82dc085e8d45a5a53e07771a014a116467c3c24e61e37499f8cb917d3f73e4f69857327966c577de6ae117a2d48d0a225b29374d3f6cfb5a2a69860a9b428fdd453e5003286e2727b8404adb2ee897bd2b10c7cba9071be535566b65637a055ea73481fada4f3d1279d8636695c5eb3f300e2b8d13b054f6ccc542c4b627f694329fb79613e28cd982a12514f1b5120d8cc2ed39d918a98b279f86248a02aaabec7eff9f84746df8b960c27c18d96c57a79d368de98f5d800a9b45d07fba6ef3562f4cf92870f41dd3b2d24171075dabd3b743373043892fe6533d3305a23bb84c4972d450e54d7068e1762ae1a445397d81defecca71a8637b88011bd3632301a41416fbae53bc2bdaeed34431dcf2b321a22cba5ca40ce8caae5e3e65661df75b21976c7bf3a4e59331cd22a1fb9d6ac5b1f7a15d4f9c3b4a061dba9b401c4e2f113757602635ee52142565f99814ae0322c402014fc9f06657da3b946c6d9a46f8c16073d5ec878d7e4478f6cbb01f3f8e3a0465d0cf5f1c0eaea00feaafae050b58b8ce2400af131357c7a2bc1b01aaa749907bed5ff4f43de8f9353b09b4edcc09f6733e901b678ee8d229d1df64e53544e9ed85bb85cabfbaf8ed\n\n# tcId = 23\nmsg = 33323336363738353030\nresult = valid\nsig = 333d93bd98848eb0a6bf8702996022ce3adb8afcc5f00812a0ef9693a44362f92e3a6d6e3526bbe3042ac11f42f0d64c0e40543c8f29b771923fde7d7af07b5fffd537742c57cbcc313231acd123f95a6407749335b7e0f6487bc00cada59b3b4265d79bcb7e830d33c1849106c01de1db87b00bdd68ce9ef55e3bb00e3ccb79ca900975f4d57d9dbdc105755e8d0e9ba1d953c6de3651eb1c2f0da3a9a2012039fed133b04103cbd1fb2baf08139e9bc0b486e43a2a159e4f2847379f6df72ef0697f7b801c774546e262a3e787065b564d81dd403e2784d350d322e3bcab396e4202964345b7d247620a9d10cf5ccc14bc2d092e715ee354438591edebfb75f1e2e503a2b46a7660b1a9b94bb6c2786257f3af0d254333ebdb7aa979e1bd56882a896ccc5c876e48cadf117b5c2889be5d9c76f31fc07ee410e1bbff8294e86c98db68a4f7a9da8d9959bb1e03180e609e553b11855634b7f2c8732f5da03027b958e7e6341054d4dc8899d588823ad31c5357d1dfa5784f3cac8783eb7a41c9a9655745cfba09893eb6280e479893abda38af66e72290439f1309642f955ad73b9a053c46dce15a85d96820b574be79aa2cace5d9b8cc74bdcb6df69af1e803549a2fd61c9087c594c4e1413fc8a9ca227e85d409ec595efff6be9b9f258ed38704cfa36f3a8523fdf2a512219deecb0db5110283eb126d2157f5056b48ae\n\n# tcId = 24\nmsg = 31343438393937373033\nresult = valid\nsig = 27fdf556c2cf943d81e8fb9eaa7954a530e639f3fad8937759ef1ebf4a0fa8538f184badb3c707542c2c677b4deeeeeb74d0d8b2284d26208bebaa2cf3c6ab89ac6adbfe30ab21f2c4a22efeb08bc025b5b8aaa009a4fe10a18a8bf3cb3f64f071b5940a8424690b2f86f9fa0a2ec34b3189a4e64de24dcea69511ec7b42c261ddf80c2d3931644a70c0a25870ad12e72c3bc9f0ebb89a81b8bc64300fe4f57b82bd90990dc33dad3f026bb3350ddc86661d1dae27a1811331b6ea363601d8665077070076d710af3599c838d4c5b90787c1ab61fdb20ee9f9a9a5242575677ea4e12189156aa32f7a474be1a361f49ae1542d80226406264ab4ecb5e58277166cccaaa2029c14ca8ba4b48b96d4bb75017d8de050f2bd2a9230adfa263a17c93d00e6539b884374ba8ef4479a59a510692efb9a3a3861ee2f7c23951bf60be04cf309c23f220581a8041321f73ce14c4c88a123312f603b17a6794be50287495849b6e4513fca78222f7890931fc91363a2d61919383920226fc8d7a6e35c6be94da6cf98ab3a8610e6d332c8b7c8f33f7d88a51afb91b94f1ec91d6f91b889d160e568410577faa0fdd5cc06370fe0d599a5b80e626cebeeb21a2d43e5b983217adfc2374209dba27f1edfec6a898d7583cfdbbfb0919ac3683a644261d4b4ffa67d1e4b0bfc9ca618dc884fdc3dfcae04d6cb0fdca523637c731dbc0b77bf\n\n# tcId = 25\nmsg = 35373134363332383037\nresult = valid\nsig = 84044d4d09140944e3fe1e5aec8146478182e2f13df2f27aab9fb4a8323dc3e25ddb80847bbbed2357713f8f11ee4167681814b7241c066e76332a0a87ab2e644277d7b3c9e247785ccc0e199c918aa90904f826fec797ee985e9dc86f1785f5973adfd3b2dd891894496b5d48bda3150224cbe8ad0e812b704612b864d3c9c1b0355b6d411e113769180af4a6a06b5c3886cac06dcb14be1cbbba68b5ab2ad85f830b19ed059581ac18a06d6c68608a0d95c679624f02966ee21a16f045ad6dddecfe52458e94c3e841640bcfae3738305666ab128ceb9651725a2725c275ef3e1dc2fe95b291aca73b843cc9024deac370eb4b1de1f5300a8353cf5e56b4cf23369f08d82bb099ebc588a0612c0b855270888a3edd2fd73081e54600c9a7a85d51bc9f6236620886fca318a632cbd7df6d1a677727b0db2713529d7e49c2c6c528b615e11188e9b0078e20d7f4edeeeb466c1baf6853696c57947f98cdcf2e96d7de82cb920008000f67eb112e3b662eab4ee5b5b528abf3604cbd5161e5aaf618356315e1e828425e6f053c3b0791d4cc9e09b9f3ec5fb6117a5e59ccddbfbc959b1fc504915b571bf625187831d5e1e31b6d547cda5a9bdf794120bb7e2aaa10f0a7d6ab3430784718321b8a3904e556da6de418561f4ce4197db67220cdec2d62271b404b9f8b235f93a104707331eff0e08feae6ebe36c6bdc02fbe6da\n\n# tcId = 26\nmsg = 323236343837343932\nresult = valid\nsig = 124928ff9607318486e427cfc88c6077f2b078c9e96abc1a6320fd44c166abb404d44de0953e550dbb83f696cfdd7263d3e7dbb9f0858213ef6ef884253729d38666398866c114bdcffade0540fa5c4a5d23ee78f3f26d275da487ec6053f869533640a023807559d1ebb6d7c860758567e40477585a761b2d0a29bb60badfccef9261aca3e8ade198ca3c661faba96d9a0d8c294de861e088c3329635e81af685f53f76de07236e2bf3645d42728bf5c64a1acfc00d0169fe6a5e68e06c579a7e801ca6cd97799f6b640512616069b074c7a9bd747473f236c071101c5c7026d4f2efbb50d2d869660c8b144bc8fb0861f38f06415ad7a2dbb24d942e13f7ec8382225c9de487fd3e14c0a2639e480965241b40b2eb9cde50abb3ccb4eb2ffa95299423ee9ef56332425464c5eefde29eff02c14878f8810329dde78c2dcfea52bc58cbf27358528b5d0957b1e7dd10efc31859b1f9d2b12e1a471f11702814f614d145eda9f2b49dbf67529b1f16acc3e511deabb5812e83a6b379342c17a391bcae1e80315904ece5a1790875c024f0dd139d0bcb23b05a6eed70cfd0c02e9ce96f2adccc7272d97289c838e52c3dc4ebdc3a7b6d2b12392fa12e23d0978c9763f3b0be72c436ce14fbf1caa5898c0e674036a677eed11cffdd425c52c61c37758c62a4e1ac6f59255f61a11515f0afaaf7a4e36e0052002a941b1d2e07de\n\n# tcId = 27\nmsg = 35333533343439343739\nresult = valid\nsig = a30ece337ac8a19be31d065ef3127ce6e996e8bdf57d752d11246b41cd911698198b05552a0b74370b9f5a001a56017fb79620405feedc40c817ef5b78b9b225002ce17b30f3668fb431928665bdf7f741137aadbd7f342643c58a1583e4d5db94887dbd693aa6d0c6b9caf5d17e0f673a52b75eab455ed273f93f32708cd3fb40df9866ae3c4a9c6d7fd8e0f0ac65da2019a4374b39ff9508d692eb3b7783d82dae287b1098489956b85ba5fc52f4c28d88ce6e8a899a9ee0ddf0aeede50ed0d8fa022ed97d34db3f98c949f6447c780142e47e3bc5c7c5716a22dab37275cab5fe3139ab822fc567d2958018e13e08b30cfa4194baebcc49ca707699f407861ffd8e0d12096a8e3c1318ea28501229093902ddba5ef7fc5d872396d0bc1062f088cc0901dd2c8893d80174826a13be0966c61b51bc2c3503d6e9d856511d34ddfe8b6bb4f47263617107f6cea82a95cb018845c6b4e7ce3a289db8d3421060a08fee5d9b821b19b01b7de26f0f2b0b5c437c54da03bae5774c08e14d9800da9f2b6d96c2b1ddaa2cbc95dcef3431e9a0f0b048812635062389c717badea01b05ceaa20069d3e2467da799aacb9c3001db84d6028e3ef513c2085dd14053673270abb139c4a2021a1a0e6349b4cdea13d63dfb2ceef45a18082c7cf3caa837b839056a28a911f98b5c2fd", + "9f700647ad1d0a9b3879d40ed0ab0ef8a437e8abdf\n\n# tcId = 28\nmsg = 34373837333033383830\nresult = valid\nsig = b8795f4caeeeb583357b81fefc816d41212e240bea508ff8dc3b7f668d016a82dc6e47766d0f0cf858f321284d27b2e04053623d71bf81e0dc2a2234367bcda3f4f3d337dbf0f29dcb459575884b57828bb0b268a3503edac4dc158ffb8c6ab47349d0b9eb491499e848d891aaae659397948bc54c09bf9522169915393cbe84cb8488e81236405c9d88911652b899fe8d9a84c4e12277fa752c6ec8652d536ed48cb726032409afa48150e819a9d2583e80c70fc380c5608f5617abd76fb50a967c86a7e8b965bfd9bdcc0657ca9fee1cf99b185b284e1cf996e8b1c2e312aa9ee732960bb9f56f882fcb89a1269cd89a6606c3a0907e9ee4672075ed53ae0adc7d95e0420c04a37b07721aeadf42d2536a23f99cd1bd4b64aed6b86b9c6767d12d845c04b5a24ae85f63f8e85ff15a03442fca308d854dfa1ea621d6259e39e49238b3a92bcb5a2223fd3d949e0c6333a80f16200a58521d66a9aef1a9843cd4e514e45b2e33072307e6a66560294cad1d61a103cbe4242b5877d4d5726498397043188a2b8043bd7d3dfab57bd598923a3f1dfdf42f74235bfc64cc3c8b813a2fd93bac3456a5d599ef7df1c53ead4d45245c92a1c26e9230109fbbfaffcb618f7ee758bb1d50275b58dd52c53b0469910095a803cf88ad8129c511aea159b2b7e0641e1be32c4eccd1ed17f76e88751fc2962d3b33946542976b1758eab8\n\n# tcId = 29\nmsg = 32323332313935383233\nresult = valid\nsig = bc9778eb784cbd743ed12e8fb75b84f7e3bfc1ed385ea432582429d85988686e462574959ae4279fbc950f1f3e90086f6997eba6eed80768195a94ee7bbcda5d07aa52ca456c0942e3651ed6465e39466184c348c2f66f12fd60d470ee706434eeb619119f7ac373e73614bd13956afcfb2bcbc7713850985f975cca0a422f26d05280934307ed1af6bc6544caa502b2f4cb489e818b6ae692f7f8419211a5a4c389b6e12ffa140390ab991ba045d2cc5203a18cb032180e5bac282ba40bd46cf0afd3304dfc881b96c7231cf9fba8066a9eefcb8fc1df383c8b9a6fd53ed75b9cc1b3f95b175617ddb81429636570599eeeefecbcf1e1d5ac87d40ff36bd6ce3929883c54970347e4c63e37b90d3492f31de90f085acfe77c26daf59ced624468b6da78cf74e06df42f5ea75f2508a790fe6ff19764c724a68a2f41eca820b8f5c3f991b101443429a1859fede52e418a4990e5a26b0cf9a0fd72bdc26555b026812e34ca880aa4c6a7efb10dfbcb906a16e9fc45b42d80bfeb87d46293ea01f4c190975d31378f810a53bcdca25f26f7ac3c1ca5347e39d58775b409099e4b4676ecc9f639f696e8e408cb0d98d9c9f28e12e1d257716fddfef42b41d7b16ffdac7b097c4bda1f1005b6732c00d1a70167ef2e8e5fca31715e3ffebe81e48fd74d62e7b857b523b093f7b742cd03cfc3a256df6e12cf1eb3e40365b21ab433\n\n# tcId = 30\nmsg = 3130373339333931393137\nresult = valid\nsig = 41e786bab9130ad3d4b39b783ba231ad3744be0ea0ea7813080ffb328922a8fc36fa9de54e63a5c852a5269cb72d00fb6e8c73a29b4c5cee801f5e033c300bfe9739f961e6e2f39a1974d7d6a31cc49651ffc837584077b612f9c5e3a2bb948eb467c7fa5ed0259a47d3f9c2047485beb178dcb49c429c1bd40665d4aa19a9b968550af7965ffe517b9fb62ffe03dda88971d0a6e7603420c0bd33a979f725ab91b3df1d6dbb5ca0585800190a1c1526023863666414567c4f3557776c940bc2fe9c1a82257c81179b20f356a02adf7004d2ee20f7968de988d3991d0db4d751edaced0748cb14e5a63e7907698fb11fe1a851ea8c1d8ebca09aedad67251093dbedba1db2aa38d7f6fec7d70e4db66fc87e05c6bce596d11a6d93f03f6b3d3fd23d6eaa7fea0a98fc87bd1f6a835a760148b2128c0ddbe181dedf21df24d22e9543269a2d990b249445ef7b59574e127ba8410289ca8e54d84c6bf2adbe2229ed980e9e7d67f600b34feef90f81296f6e42c4c1e0ae8649553545a5b857196ce7fc9b6c8d623890b133bfc921e3be2ff7b05364bc378f5c4b76fdc32c4bb95af2bca343ad4ecf16c8369dbe8771d7571fc1aa3090a2ef25783401239401bc260159b85fe1bb895a62f7a4774192f9c21aadf501e43db1eb1aab59d4814bc071d910bc171fa27466b6f85b44d218154ae9825f6ce3bdeccc3d00a427f40530b4\n\n# tcId = 31\nmsg = 31383831303237333135\nresult = valid\nsig = 357a46fa9ced5c078abfdc7c3df2450f869f52e78cbc3eedb1aac8200c6e88a7f40a3c125c5145b71c2454b800684bb0badd1aaa7fa88603fe6f0c0049072128f1f64b12dce27c535c010f62896ef16c7bc942d51b58aef102279c0fc13c2cf873d5f7324c8b66343f42e0099530d0137741925468221d5cc67ce7fa088be8ff91180039a751faf6ac2b7d1b077c61d894f5fdaaa229a3b6cc0bdb665ad53779468519b02e9bcaadf7cd6dfa9f851260603d5ac2cd83d7751cf0e0f3a548b17c8128d5d2341af8da4a1d0434112a011825d031607522b88ad1c68e5f2c3faa466d3ccdfa0b42a34882abc5e3b365200c8fa5fe5b567438b438554c5edd052774729b497e3153a1e0626081f09da04e553f44ee723e79b07552edff4d5e0219226a47e710fc185ec664536964eadc2b315c44511e00586384316c07434e6732b9a58930428dd25beb134554adb2526687080451ef3bd526a4f8ef4ea5b03416e15b522cecf411ef301db756f6421881d2eb178a916f2a519aec536568e58acc618be791e90dc7eefa8b7dc5ecd9f5f1b9d6c0395b5405c0dec6f18e5a1405ddfb17eb7dfe98ddfc88076ebf6a213a27f92c4eed913ac4bca710edcba06c12a1a12ce2a95b4591c89faee02c01445d3233f68ce52c6c37492930f03fb701082f2c3bc999a4f70be3b77e45c097779d62caa54b405d7b92728f0ed1724e4657e417\n\n# tcId = 32\nmsg = 36303631363933393037\nresult = valid\nsig = 2625de9bd8a16394d1cb210d7b8a6da3c0a4ae0ce93c9d806070b51e37dd10efb2026b38bc8114c1f9641e1e7048d41dedc298d20b46cf58f9b078d4fb2101081c4747c39d8277b5012256cd91794c1fdbd1b4c712f861613c9b5f1ed16bdaa5812cd386738669bc19de21935bd2633916ade87a0c030940767d7b40c9d604958e93efbfb6e926c925870785221320a4fc7d7cbdeecc4a68f2ee65b4256b9bcbf41ae409c3dfb1facc57fac69e7eaaf5a05a0d6f4d03b47fd6a743f54cde2f1e897a6906f474185068ef558673bfffb0c854dff1557272a4f445a0ef00aaec400da03cc63caa4d8e6ed8ecc0d13855ae0a4d27a7a6711bf8aa5d270077f7a6c4227a7ea5b6a85f99bf370538f6b42d8d50a2182704e813acfe984fb6328be30ecd7a0f9c41b93b1c3b2ed60ccff9d3e26fbabc06d526c40cd2f9afef43430424309d66704f25f780152c82851171caeff6bde11c0f6c95ab22c49364505649031e3104f1431b6f460d5346b9ab2f7d027f7a79a07871359e1141b7a1f4707033a99422528d76267c35891222c4ed239dde2235231a33771ae9c776492946f4ddf61c4729b840e2dcb69e6ba61cf1f418cd2420d68c4f59350438468e79bc8e64e16410b3559d661efe55f2144ab70d242964b69830332f284157ad178e2f6c13d8cfb17333b172820b4fdc59dc6012799ab84609f6ae3546f30b75572cbe9b94\n\n# tcId = 33\nmsg = 38383935323237303934\nresult = valid\nsig = 480b74783aebb8bdaaaca7a38de15dcec5399b1cde57e17738284be15f78c4e43cc88fc47d03b36c4d5679455293eb7b4d460d7972dcc8f0910a18393b1921fe21db99656a5268b373f06ebd17701fb56e59ca4ecccdd3541d4e3ddbcc9900cab7f5dcdae2db330bf22daf88c14fb6c1163ded71915c98c0bd62854474ab4fd4d8eddfbed4e1b9839b72b604b2d92d50192e92c194d6217fac1335905423fb67c69a9783f10e328c8bed496460af84900f5a4a09b2353506f5d3b8541eac68070f2f689b61ff37b639681cde00223bcb18ee684728c1711241b66ce0c82c0cc31b930b8bb38b4c77d1487e7607694b50732dbe5274b79669126fbd2b36c8a45acbfab7859bc85f1b015331e5a2530bb97d834eaa6425906246a0e431f607d726eaba2f60e1b02546c74390179a1ff90051feec8a1bb480971219c798e4a3fd3331aac9f872ac1132e553c0fbe0386d8af74959494f40b8cbe0aa43d38cfdc3e4c395d281b994de9f817a67ebac6f823c7fd100f95916143956b8c914533f0085d9da4870bda3fd2674e4e77ad21fae38d66b457d822b8a298d6dae06747f4bc22e0a64e5f6d7042dffb495be06a467fdf1516bbde2da1644b55eb8a830e3d1ea6b944426b30533415d0cca18d553d9a9cfd6aa010fd2cf02b90c794616bdf88aeea69d6eba50feff4f59418092b1c2a5a5cad600e5ecc18d2d50cd72105ee6e4\n\n# tcId = 34\nmsg = 31353830323334303934\nresult = valid\nsig = 3230da5932377b776053fbaa963aa0e3b697539bb8dc58e30c43ab8c949d69771faa15efdc5fdc33f2b521b03d4ddd33eda1f6674c7b53daa1a0e58f1c280a406e65201ecc9cb79d0af18fd1e99519d4b6cd627b925c1d7fadc23c1f87478642892fc1ed76716193b42b4d4f5119d8b46a9e6e1770f8ac8498e87f1fc9229b6f0f3c78394bc569adbfeb4ce1351029806ba1d0d09732e339ff0846cb4e7585e41e7c68232f0129a8ae8032d3915050a70ac2ee89e4b16d51efbcd9b7e79dd49ada2496a2a6fa6e7f3c62974531469036739f37f5c21647eb398e83f2be9fe5151ae23e9fc59745336d85b9b36cbbbba664a8ac743cc6d9f382acd4642cb9c62e8a313418bc3fa39d4568c040d14362556b66b04899c2106ee68ffd6f745121f5e59529a6a427f2b493d64c6953285c45912c2ab4dcffa55974605bd58f5b586502322fb4def479ff3dd62029bd2d87c120ef05b5d2f0bbca39fe9ed5fdc621149fc3146f8e10c6b8323f1847ebf0ccdfa6af44b20e2e775e7508dd9cfabc3edd5526848ccff9eb3a42f2cae2782f4037f712ed7d2d929b1d3e7824975463e0e16169f4e9d121235ae126615f22ca0444c7ff5eda1725efa3e19f1e587c3200cffeef61b36877f806942ee488b5e297900618abacd9ac6e13d8e4f3054242f1a0caba211c437db7836f016270d2eebf84a393c0a8839abc3322af0b95434c5300\n\n# tcId = 35\nmsg = 33393635393931353132\nresult = valid\nsig = 5341acc50c3e51e660fb0d7e7557f9d4ae6ba9fd3f4d924d1bf8e31b3d86fc5e9b7923a7a7d13fa965c99aeb6393cd4b51010fc8f87e91b647e15e5fdd3d04ebf537145537ee3a749cd9314d38ccac0597ae394b8eb7ae2d8dedc626410f61b68ed893171d234bb739daf06650d6aab569ea43ae15049cfc0bb4cb0edeef0a74393801a3ef4c84ee11631adde15f19584297e63ce8368b1465151d392f2e541db4da52b34541a2a1f56176d5128ac16fa86fe28dc54dc0468e2baa6b60105aa08f72ff18833cb2f62a00d8f168c8f8ceaf453d2a519c69751c449482845ffe7666fb07e9a14ba1136da78ce353f5a487b4a4", + "a2d14b2cbc3e85131950871846a17fabe16538f61b560faf5889dfa5b6c357c83bc95abc559824e4842a3e1adc208121d1f2723fb9e19cd22f7ee67d82a6766ccd6ef71046e2e5813f16046091d542e908d839df3ba318af995d8fbfca0969956557a50c4b2918e34ae651741c2fd2093fd935701a4e4bd55884043f88a711a86596812064f636fc5b19aed055da9588f13b73f5ef87038a20ba96783b36921ea108eff766fad83fffae99bd420c2ff54fb1220e2f8a93cb800475ea8cdb68e956cfb986f4c109ff7f90365c02d9db65a5f3f925c3a5dcffbc83e65eef0d6cffa0934b08465e9bfb47c55372de4d5255adb4fd66d3d349615e55267e8698dfc1cefbf14908d737b56ea96e3a95e2\n\n# tcId = 36\nmsg = 32323838373332313938\nresult = valid\nsig = 37a64cc1a6add0bec1b0f8ddd09a18cd97ef622e90d3146abd8f22fb2aeba3ec8f310a71509be78b63e20e4e90d604207b3c1fe8c666f0c655061bba49220755c08d43354c19d81c21c344f0d91150bca3c737d75f3bf74cadf80561fb30b2b07ba70530aad6586e4ad305db2682af5462cd3e0a1fd0f24913a70c275a42f858e8f6e3a4d5226a8ea7ca456a9902ae7855243432d1ec69118f6b806cf59d171356c638ab19f840d0069d34870fac0c15ab04312232b6d1f6921a1346d56b49cf57b1640cdd3aaf9853f5c90a80363f8dc561d4408bbafda390c8f101c3348ae62353c0631e02eeeeb64f57f544b929290658b8c41eb282c12f89c4c0f9985f7b1860234fda19d8e89e99afea57665ccee286dccd45725aa720389bad1be364717e6e3c6786a68600cd89b0feb59746c9121558c7dc852480b24aab1fd9df39f4fa523e0928c6e37445d06428ae403118078237125f8ae37104bf906357dadfa1ca8bdbd8c97584ca8ffd24975392bf63738ecf94500ef0a45793469bf71b22f7b4f85054fd349bf1ddaa9b3f074f8aae07805e225dff34b51653c0f15ad1ec25d4c8056d6798c651d59c74090c204dec1127a3bfc0447ed9d62d74d42e145e6ec8157fdb35282f1c9e0b76e46849db528c0bdedb37c8b9179e0d0743b2619e5cf192cb7b107e17545589f750e6dd7843f94625ce29f45e1519ef8225bad19033\n\n# tcId = 37\nmsg = 32323330383837333139\nresult = valid\nsig = 9144b6b031bcc2e5f3dd39370addf3bee26f9280b0c10ee13f022953b230be29dbfe562dd83d9e770c0670d074139bfe57f46b7c21d2d1b6e8087fcffdee8886546729d77bde5bfe6180f61f2c64b2d4923c5f18dd0fb839a6313020a7a885a75af0722c680a30b5e3d9cf19375bbf71b46db989afddb9e7a69fa5936d80250448ea1aeb369e33f1bbbb23bfccb25ef8f77ed87f76090eca682e2b7d32db813556f245fe6c23ac7dfe3cb370eee8b6bf1c02efbd98847ba8da6b175e6c2e8f7dc17a0cc21d776bb24c4150a439a2d9eda4466f23329b3abba8d892b18faacc85c8721d825aee636083ded2d5246b57fe4fa902923e38ecca5671a3c6aa26d316b195d9e1722c419d8c6d8c0f8dea9bf5317ef53293aaaba09bf22dafbea463dc527d80f483bb06652ee5eb160d5f51d6eb48444982725205eb96cdf9deb3e5e96e7c338237f83a794b0cab81a46afcaf986311c34bf7f5a8e9b43b97061aeda0ca2b13c5b3554e6f93cbf5843812d98c6b1972e2afa436ff3ef0ba36a469b7c586b1d5ecc52f6fdce79acb8c39ef673254b9b565819cde45569a60603e8c9f583f9e9790c6700188a6b3db41776729038ca8d8f1a8318832a91c964b74465cf3595c7c9972d2bb4b530e21da75882cf01e55f0fca4954ce1b7ca5d73f1da6d2b2dadb26a280ea201bc1e9a40da15f9d9ad78a5fbc50a5016741789d624fb3887\n\n# tcId = 38\nmsg = 313239303536393337\nresult = valid\nsig = 100622187bcc898e87f6f272932a6b46756a0984294ac6acabbe7dcbc91b5a917c8e66bb1b215923887b2f2a5a4ed73aae181b9bd93bb7044e1a4b4ad7f83c14614b9eb1bb33d372fc7af70867868c973dc937060e7ec6464141a0ede77d25d602aabc2a7498b20c6e8866f88f01baa39d22047d21f403b79dd325e08deadedac1d0663a6997e61ebd34bc0facc1ab6be2e885b53a76b34081d9f816542afdcfbbce026fa8621e15e88c3829789f0aaef787bed709ae709dc8e950b2a7c6246532d7c80d5213f0f3963fc6e4576c0be0111e491fb6e07a3d7726ce78b8016c4cb84b043f672291574605dc3cd06f65195cdcfeff14851437a04a25e77cdfea8249a8025c90e3ec56ca54973e96870c444850989ef28a20227d459d9de8c76000cc0d5bc1cf8bce85730d3a01a68f4c5392fca2b2180781d27f6a23e5e571307a4ff3747af226c1da1e9594c68049cd888cfad31d854ee695cec86fa234856ef129236f9ec7525aba54b353b4e1b6bb8632e4ed786d63c9ba3e8de333ddfce5fd97758692c0079482c0fc6b52951af966f38554732a1aafdfa04a77a7b76419fa9ea60dc108d5de7895d562e78d9115c498f0ecd8bb68861a22f8cd8b47cac1210d4362c404210763df395e159db96897279664d84770382c2014dbe19726664ed36f61d2e8e4e1e7e0621bb5215302fadca96db6f0d79e908050805990b77101\n\n# tcId = 39\nmsg = 32373438363536343338\nresult = valid\nsig = 2bbc4d767cc945bf2c29d98091370cc283b6c0a0385f2308fa22b6c87be478574a82397fedd9f12a68e57d8a8694c46762d989f3ea4148da77e220ce007ef53415755149030f175edad2ad35dc1c16c163c79aeb5e5406bd9262c286e27bc723106c8c2ff48acf0194b11308b700493d0e3d3caefe743e6b23d9a9150680b962ddd1a98e308c4b6ebc21af02a37fb451831ae8e22173ec8b78b9d6d8a85a4ed13b9546faf1fafae08888202e01c737cf8d50b2f8e197db72262bb0fd7a5677ff8934dc20e6f8778bf78c29c0381ab8ccea24f98dbc32ae4255185e817f27d235c1d954b8da4fe6c04ea6530ee543b60e1db17bf43ccd3abfd70f0ba183ae065f6464bb590d6f2c459455e91a90b23c46f30231a00546d236c9a8d0a495c322a73dbc59aca82895993bcb21167ed5ef11c36c6f8a7db09d80f827e36d5d31f71feec8c862d3caf837a940ee3cd98a29887959b02b62111ccd6cd13d7d569077fcde4f6a48ca07d0efe80473508c1b2b10aa98eb00b409126fcb8b8c172c0ffe4465211e31d8af6ebec91a6a2f720bc17f064dd3782b0ee6f0a64e711a7c7f3a20ec5c8a1658d75f48c36a6a158fa7400171de91e3149e5c09d0bdb86f34b98bec418f31d982da52cb995c2e3c7c6d15fe14487e033074069f7d4e9728ba85558efb48017e4d4f8353055d6a4612655c5171dbbb1839acdaaad7988c1a9aa2e967\n\n# tcId = 40\nmsg = 37353833353032363034\nresult = valid\nsig = b9f142c4d82978b6d25446a8d7633fbdc1cf4fe41de210de3784c9f0030e07858d992ddd8e21b289a4094e6f612cfedcdd1ef2cc9c10ddf78230f0ed2dfeee1987d47b45811c2a44a0a1a1155d8e2877100797e6710b222d1402e7e4cdeb09b09953ca4f5a9e49eeabb79cc4175c33f667665fa2713bb589fa54d284f544fad0dc09a3decfcae813c1e48d0ae5c63889d00905f8183bba916bfdb9de548ae807593319c866b28d19c5f09c32f50cdf782439a1781f9c1dd26074c48bfb44b4b42d7dde4997cdbebd74533aa2bed5649d0176a1d56286fd492048e44b180d8374a9f5e0291edcff5ca6f4b6ee7648f7720320b4bec6c08ba6eafa55da7a4d176cf4c1764328d7a4dd33a5130687ac9a00395cd3c5f6bc6ef1dd14301252752a37414f98d476018654e280657e14d9d9db6785497b1d666bc22062c274da2cd0858e29c6d1ded2d59ff8a1f71404e117050f19f07bd58e98e082d2eab41d3313db4a7aa04e4cf572c8cfa1b41826eb2965d8bf8994715974f80d810deb67288edbc5d9c8ffc5e43d500681324300c55cc056a89d5303abefca46933570267b25583c676ea2d05c5768cdc47f1f45e2b4ce5ad06a1f59d1a13d07e44a38ccfeecc4e86ab76b3f12227efd81bedb5a4899c2541313912a91e907c09122be5a41c54cd4d2e51f32c2a333ea66bb3e91f7a30c2bdfc6282fcb3593176e818586d28e1a\n\n# tcId = 41\nmsg = 32333237373534323739\nresult = valid\nsig = 4e4d0945b118bdbc1f7e01904a5e99dfe7b83489a07ba0a626032e5b86ad6fd3516b1455fbb67869d2b4ed1e85a5387bd2a430432b4e6c5073b81c241352cc1baed970d05f68459d9b3899b9e171455b19d9fb83828644f913ecfc403172c2f615be8751ac083d906d2b7f62b8894ec786afa3594df67ac4f3ae9647fe712a20a13ea5e980e0cc1d57bfbfee2c54cb8ee7f5c73424760e1c7819ae47e1527d0eb326f6f00ae38a16a19f1b2abb4c6e0b107c1bb0b4252f4bcf6d354975af40e5eddc537ffb6a64570edbaffc3694b6c92d8e82148dfe9a54ecb101b130a5f9fc6d10f20d402aa9964308416a2cc35d45676ed8279af31b0cf720245378d7608830340a1c2704ae2168358bbd748cf0b4b4a474cae2c88af8d7b709f668c3dcb42868aa44d69efa33b5b9e313086a65facbb60699918f2fba7c333a10082497f563084e8b5247837f46ddfca0489788a813749ac96455b849f8f46682fbc43a995d66b61f089027a4dfd758aa7bb35569379151736097488315871a665910b90c67a46c4b3a7c9f9e6822d8727418952037bc8299397b62f3464b14005f966ff7e562b967adb4ce685bed3ae3fe9cf21de851e1463214446c1e7d2dca710354533ad03c99478f3e199412b45e18cf0e8ccf75d5cb3ee2e8df5eb7c9989fde7942df9ab44db43795e5b969a31724d0ba80dea62adc63c190448435699e2106ba99\n\n# tcId = 42\nmsg = 373735353038353834\nresult = valid\nsig = a31aa9ee1f5a0304ad55384b6d2dc8f36e834b191d11af3161b94a030b13d854c67d775ba612c6aaf8d2be1390ea278babc8409a4ffaa8ba2a921a39344b7868ec9edb1e7f5f268a4ac487a76f3fb72e48d17116d69ba5146988056c864843d84202879c2bad3b7d4692e42a82b631c19f26e6ed7c8d893ba18dfb92438e02be12a4ff40e57c174686c6739c7f8444b9c5313fa9686ca3a189ca70f9920ced387a97d7eedd6e4236ebc259b0681bf2b7d72d7cc22e3d8e93dbc8a6a28485f2777563f92755cdd9be8508c8a79115f7a3d3b6ff68120981830b409fc61d23a347ec14ecf157e34bea26d11a4c1d9236c6ecbbda28271d1051720db1b794b050cfe94c047ee5bed34dbabf1d13ec9918f20413da37adcb66384f6f553137742bdd3f8037c7b7f50083242616f94513aedd9f8f7d4437aefb684c5ef02121548f7522017588818a819abe5dce74dee7910ccc80cb99efc2c99ddc6b07f7aa17524b8a1f3b51712d0ef8faff38371b13e24aa4a93abc44996c29557c4c0f9316d5a61653d6917ba3fe8c3ecb87d900357e3bcae5c67b93e5441e8fffab1f4065e8e31ee3b7f5f5c137db32789913cdb4a716282909bf71ff4664c1cf893784832ba0881616f6a2d9ddc462ea630774774a4e2ea624404a71c5bfb727309504c970ac60b1ac551943cdcdd2af2e439f7720a37ca106e693ea7a18ecaf481194d15fda\n\n# tcId = 43\nmsg = 3137393832363438333832\nresult = va", + "lid\nsig = b243ae322497a9009b709fd8b4db0945cf655958d3201a4989279bcd06f0b9e879ff7545c9019752200856750ada1bfb023d492eb3b13aa9d4fa4de753e7cb3c261f742ccb79a23076068b53ff91c4f1a5cec0fe26adb4df0d28b2c9c700eb6a8b1410ae14b12030a7fea4bfded54f2fb10769e29596485f14fa0b58e440d4b03a3da9cc390d51da7f23ff05159a1378b81bf0816884b47ddd98608763b1554d15a05c535b4e2d862d236e58c47369337285fec82ddecd5040f3d4423050b08c6eb1250ea7dceef1d0f76934adefaf85e9e403777c5a3c1dc7d25b61c78e6e9dc7fe28fe3231156d058ee4d77248d31f061b87ff63c958e34c3a7db880a9e7f7f8607f5e18f9aa7420a36aed27e341f6202aa308e625db2c66a354433f8c0d50df1bec0147481780e0c19c2192ab6547c3bfaf237994621ca2e2a5def1813e9f5a31db8eda86a6b78ac298d6a468126a372939de76679fccfd7e70e4815f4cafaa4292fae6be941c9c6fe114d3256fcbf27359b8230c07767416c9920a39893d6f39b9523d87a963cbaa5424907a9cd2a6d2f2a8a0cce52eaec6ff4ddd2abe1df1ca7ebdf77407964fe113106e23e65d2fa8203f4fcebe291677a9262480a7a2f9ac24fee57813ca0a4cb6e76cec07c54115769ad3db2a2acf0697e1c00c431528d26ffe9a4af263b5b7c0505d2e3c014ad2483caa61592b98f3d616a665b8a8\n\n# tcId = 44\nmsg = 32333936373737333635\nresult = valid\nsig = c29ab02b78baac0eff29c99492b90af4401377140b9ef11e7b5f8f260835619c52b2d8ddbf532133f6051b1dd7768a3c46f4608ebb216d39437a94992db3d689f32ab82d225f5ce8d5c8cb9d55dfaf9ae17635335bed9cc8e315010796fb6b824cbd54d0441d9209fb5aa07a294a068cc7876a7caee05344436c0ddb49e75882f10239ea75a73122f7799eed71c8d13dc9fe72942d152c9226d66dcda67342d7740d342dc82b6e56f1c291822c06bd4803d27bfb56f453f8e3ab06c816f6238b1ab9494d00bb62785b709b7619c8e601e56a38db74e868ab0f3106cc8f529f12393742ea02eb8db7314a98fcfec71ce630a77841c4e6110015d5dc373e3498b9594ad0ff92e0e54e5dcd3c3070ea56c13a096618dfa1f1cc2015029d45b67049f6d13eaa4caf45521c4b43a2f54b552a8ba9488bfbf6df72b94dc5298ead25ef281f3fca75d2d7af966d41fec178870a9fba1c82919919b8323b405c1d5c8c57a659aa516f76f0764f68c8d38a19c4991890da00679cc306bd93c37c56593ddcf205a97e03f8721e393e0410196a96734f791dd3ede165c51bfbf6213fab3d0e7e3df377f271b1f75539d9eab4e05d1ee01a8b976b821564760d6342ae9524b4d7130f901756ee14f43c0f04f334f12c74375c9ce4f71d6de8cdd1d8fa5bf5c8786219dc043728f03dee4379ed4d53ea42cb8eca8cf9cc8c3fad34bb1a009da9\n\n# tcId = 45\nmsg = 35393938313035383031\nresult = valid\nsig = 679e642c924ed01bd07e7edd845994703b3fc010271ccdec98af34e982d34349cb0694332a679c27c26319b72c47aad6042756fbc80126c56a61642d4b2b3e517d2a2f11887c519b154687b0258e38c9517b7cc8753653b917de00d1c24b49e379aaaa8d3fcc22a34c61ea943c2cc89d5d8f4f26723e0c6bc9f6a4fffee8235b27404705b4a3b2a05fdd7dea72bed71221d258b54ead589b1a4c817412537eae62da565f256c2887845b2a5e8a0b5cb262a5ee75b912ed92db592d6793bdfcaeb6f13a6eff91c34d4532d5a82ab4a1612500450ae86db3d779b39ca62754f8ebb6006cbdac9509300c1e08c37063a00f74bd3072c5e40245bb3504c838b5c5850796125dd6bf80f5c6c31a44a8ff0f752591dc380c2d64f45c0f6b1743ec2a5bb11b73c2d44a407f640251d205144506c475060d7a38d27cb59a15f117a85acea81c24604bf1b52fe5cf59af11ac190ded3cd5ca872e498e3b2cb79cfadc0353852c0a990b2b8f9bbe5ed889947893f98fc11ca7e0108a8da721cc824b148bdb9d389552f8f877e64e5fd3c002cf63f1daf4494fe296dce6c0f92d8851bf5624e9c5eb3d3c00a9b15a7f6f7044462e2c9e49d282e506819f611d531883d3e2b450433ce253c1ec62af3eb47bcbe810598dfce8186a6e3eb1e9abf982a7f688b7241abed0d772bf435f79b77cd07eba9bb17d85a76a5db0be4f8b97e508639cb6\n\n# tcId = 46\nmsg = 3136363737383237303537\nresult = valid\nsig = afd9f21fdfdb2d13cc4c0d15892295645f14fcf7cb079f3ea2f5f5a6429fbea3fb218c2b173fa1b565258733b7c8ec5315afdce931b6a7b7411811847bf4b8031a6e780a25bbc568a491700f19d6980efdd44cbd6b421cd696117e150fed70de59c145a3091a835e8dcf086f9c8ce38f43e30149917fc4564ebe408a933323cbfb911dc06e9b489a79451355b7a4016c4327eaac7f4099c3ca502152dce7c807dbdbcf4d988df3bb722d8fa6babde785f6a45fd05ae72240d4f674a3cec4dac1c8c7faedb88ed10a2776769f217572fe06e258a4cfa208706deecdc86b1ea62a823bf9ceb0a65f5ebcbbeb92b273259969175f375d4377dfbf92668acf72c10bb3f2f2220d253147f4ed0f25c4a6eab394c07f5831796522c44c3457427c47c40219ccd6bc0492a694af6b520e41c6d4832c9ce9e4efdfbae33daa4c1f2c7f3a78019143b2f01f5ca343304930981bcadd2d526e79b5623901033bbdc58f6ba5937a8d7eeabe47b889b5b0d10a85b3789ee1f1716c3f6a59552d9c0760100ff598c3709dda142443908509716205fd97c7e417636ee522de791b4ad39ff58bf6dc2e7212c93790034ed6494f1e6f293cf60dec30d9b13fc331912a7a1765cfb74cad7c67f21197a274a8f75ab817857b8cbdf4b5d0ed9c0938ea0c539f81dcc3d7315fe415b562d0afdbbdce1e1eb8ee6a01c8042d8eff1aa4bb3b0d319ca8f7\n\n# tcId = 47\nmsg = 323036323134333632\nresult = valid\nsig = 75687fdc305d3dd6278c0cef3bdf1d62d7b5b047557170547d3021d546c86fa682e86def5d5ae432586704bd3652b2394563ae2a1bda25f3d490ecd4fe56117e963741a8cffb6bb81b99a3aea3924c05fb957bbd19fc76a076ab78fd6819c981d2ad2ca8c19b5a2a2bb2acbd864cf072f5d7929e6a02a14538c76442302cdd7c91e9fea5b650bf9eda222820471cf35a1af32415151996bca17802249b3a0884eecf58289695f1ed11a7e83e84641f1a218002ee292262a5fa48bca7e64c692d614590f76b4d08e7751d3ffa1b57bfd8708decb244e63b0f99abbb2c8c47ecfaaadb2a52c760add96d84332d0b995b7771775a926e4f4ebb2c7fd0676eacdcb261c5e47add0ab63c0eecd5cf9e24ca6d0264b131492da76f583e77dfabe06d87e2dcb97f6a089f1c41b594063af185dd3e8d07ec8c1ed03b4c91393cabd425cb1c220efb5d500ada045185b585189b2f33e7821ab9fa338f00c57c0963d0a7821554ad0c7d425e636c163f98cf329c1a458508e5174008e1db2095e9ac5f24d18ef1455ec40e8554bcc37289e55d98710e4ed764142c86e0a9e18666f39ad9afef55c623b7eb25c2599ffa25529a83f33808bff9ecfd2eb2b73a4941101b5bd61db7a48ddeb1e3dc77b8860234c0d14ff6109bb50b21baca14e3fa29ba2df7c9677192e833f71bc389e936d6de09caa718c9fd5d66fbc49000ace60000c1f2b9\n\n# tcId = 48\nmsg = 36383432343936303435\nresult = valid\nsig = 146174ae8e45facdd9de77c544fdfd8762f027a3bfbf551d1262e20e253ca2a2023d541a306bd077f1b0f261bc4333edd14154c6b13f80e1ba5a348b681e93f43f49d3910849777d244f941a060f218348e1f546afaf88bfcf5c9a2eaeaa3c459321c95e93cb461a043ab3f842c3fc5b0a94a057a053ff8da132aad03ed317d89632daf6890be864abb01a26ceddc1491e50041d274518719c6337c643c1a8403a0dcd785c8fb3f0487fa3736bcf7930a725ea01d99bcef4bb1eb606ccbbd847ce3e757417a64998478e22171293c684ea4b697dd9c0ef148c0fefeeb43adeb4b853c8ed9980157f6a688c7c43e0afebf189b3e28df1d23808f566a49eef5a40a5e34e6583f136a66a86028cc58ec2078aad28845c095305547a4f96fa3fd3836723d2d3b9e01cb224ccb3556e5a1b79ff1794bce2e23c921bf7fe40781f213e8359ffb3be12fe05f1d238d3283fb9b8f9997e2f1baf6acbc5102c193557eff82f27e46b4b7a11fc865148587fff8def4dd6d3a1643a1929175b0c9bcd9300f6fdc65c3546d36365cadd0733a9463b98d6dc2b1c2dccaac42b9136eef10c2e863a36337fa107c5533d07d46c6870a3e0cfe398df26f0c42f9c7b49567316dd04c811232b4345d5f069872a09a5abf5d8bc69a0a2cee79973abbed56ba05bd7d741b57bb521184e32efc10fa0549abb2dd7b731b38e2839212ae6e7fa9d0c9ca2\n\n# tcId = 49\nmsg = 33323639383937333231\nresult = valid\nsig = 5a466d26dc77549bab3eef2f1b8a8a35ca7701c346555f8724cc8a3f878178328b5760be49fb386f74c9adc32ce591249fd49f4bff33020f607b1dfd9d928538c886d546a7fa21f3813589079512813a9e3453ccce1e7a11e153dcbdfb5048dc946a1ada3e6ac0c196e029563fdd953cf8b70e241cf884ac2a84e2044c0aea5acacab6aeb884ad8494232366bf2060d21848f3f94bf8273af10632ccfd3694c2486719f0dc25f7c561ec8a0fe32d74b5f914ce3b90662adb057561400f625cac5e8277aa691b6f43e696c044ef2890877e89725686ffd4122698673341c8afcc9ef0402ac9c5702de6ae205a16c6b13486a4958ed202a6ffa855c2394b1759b3266d5abe9e87c5c4a2e2a9fe7f000e2d95b0d6e7bbbbd70a27a8f7b10c8b90f07cb5e56ab65d4741308e76bfa1d3e5e2f87e6de199cce249138609b4b839151bbe32876c0d32c777e173613be161f5f9aecdfca9877cff6a4b067a253bd4a71435d6413fc5b8f9913beba7b90d140ef54babd942eb89ad5224413b7f4c3fac78a8c20d4c430deee9124467287f77b4634bb745902b352b7d3488044fa1cba59cdb0e68c44aaa3a07d5ae846f6880bc65194a7df3aef0bfdaa92313a23ba7f28c78ac68212dad80beb562a70bf8aae3a0efa51c653dd5031c40554dc96276be9e0ad8ff0a4cfdec5a0e4211bd161dab69df483427980f3ca1a3e12d56ece7a5ef\n\n# tcId = 50\nmsg = 31333837333234363932\nresult = valid\nsig = 3b08c38ba55aeb6803801c01f89df79d7aa3efb698ca66b5a9f55b9e52ef7258c23959924e2798c07bd3f0fd6fbf5e1ca3e9f6f9d792179c35f1f7108912ebfa23548668948a196f5a02201aa1e02099ccaad7a14b7f4c0988dd5592f9a2e8cf60471eaaff689b25399819a59ae2df374fc8e448d59bb494717b3f95bbc9b23021e0a34b77d3b9050059999a079911935a5c6706d55c3432cb6f709e4eb68b6d40caac07e1b2daea7a206e5b7a5c81656013c1212ba1eb319edf48bbb49c2377559fea90d9548e64c0bec9aeaa217f2a3296e68ef11bd5de9a4c3fcad76a77ebbfaa286ba64a7d547cedb032d35156b4f642263084c74e6429b6afbaba99d5a3e5c950b434390efe4c6b5f207413a3136dcb76c11d35bc403cebb0c163ba623cadc2", + "a8616ab7e64d315138e8d6f2baee4722cd42022ab35d178bc589d8757409b3cb87291d69f2efdeb9ebf033a06390a8c94131b55dcf83266610b417d9d6f3dffd6670f5a1162f93fa42c644968c57ec53505c7f1f04054db9b4c7079f6a62b75180502b344d3e961c9679e9c4cd5b99e890f5de3a3da56e522fcc9fe5384430871fe8425cacd0bb5f2ab2a4ad12c734bc104dad03086dcdd7531e83a41da218d04f4d2e1bd690edb6d8aad35f0bf935edfa9aba16f17a0b0155fbd1170d2b1aad6b7333657dd77406c0fc7448726e1a3ec6a1f9c1992766ae64fb0c59f9a7\n\n# tcId = 51\nmsg = 34313138383837353336\nresult = valid\nsig = 32dbfb19fac38e2401a0f86fae82b3a2ce6393aa7ef84559ccbd9fe9577ff2b505a238d267207b6746544a0a455328d34f0128c51e347abee033cd5830b8e8d8587f43c99ba3145a7b24d60295e2f481fadb03c13a9055a8ee0aa207cbe183a4116c087fd0cce2680a5629b82e1168ee0ebc1ff3f2f32d22063458db9e72f0307ad7a4cf6570f400e5af4c8296db10642439fa224fe739d454c3d7e1f14149c20752bfd6ea6e4a1aaaf8814397c17458bc9d592bf8e31562640c8a687cba5258b5c28517bc84659f6f7712874d933f5d72bd0cc48244e45f60c217562a22688ac3324d4b3f3d06812b3779c7d5107fd841a0bd397d6316918232b30be3fe605f459463e7c4a4d3ee58a164d9e8b3b2182bef5310a3a9adf6355cb7c089e9e0e3067691f340b4fbe99bf43d88cdadaada66f908b5032030d7a2dd8c62cde7378b57f77250e051398b96bae267c039d09c9a64a1a1aa86f47244e5c50bcef9ce9f280b6564cb12eedd6e25cb14a17c5ab2fece54bfb7a8e279553819796b9f54db9d856df8e2a63903eb4b2afc56118e9ca08d2fcbb51e48cfa2c13c0d3dd3f9aa88eb44d5f234e85bede5ee4ec0f00b390937afb846adacf6413a39b69cd178429a900a889ae9d6baa9954acc39e07eb50043b0d2da2afc476c563fbb341993d2709a3f0b4f4730256be509966a2eb388be5e19c3ac002369065c5dafb0215ef9\n\n# tcId = 52\nmsg = 393838363036353435\nresult = valid\nsig = 3be0f335507b49da7afd6dcbe2b06624c120d9a0bc932f0005c2120cf7e8679046769bda85afea28a2ac9c3f2f84c44536e1b2548920e4cd9cdb649c0667887e9d2c22f89ad31ea98595e7007670bd07230552c9ece060b6e81ca9ec1b658acc9e4e67bc4529d236166f8db1b04975a979ea03dce8f8b27cbc7488ba29f7c721ad2591652bd61f8ee79756f7b224a7e6d3715ccf03b1ceebae35f86122a2d29e9562bce3acf2251071bc85427cbc194be3ab003264dca3ac125d42336e1788695c30163369e76a062b1132a83953239a7eafaf6ac878ec664c3c880c5826184cafad97f2e56e37fd99148e7f49979079ab66881ca4a4de81c93ce478920c18fa4d8a13f8f4476728f654ae64d1e47aca5312f16f3c21a8713cc7edf0574fb31faf924e6437d7711e856761bb63cad0378f492326216509f89911d1417bb229eb1b80295405d823369313c7db586ee093b73102306f274fd30dfe0f43dbd10ff4d6e56249b1b4e94030b341126499c6bdc4c8d9ce576f4b67a8d63309eae7bd610abaed353431b99cb01369cac1ab65cc225ece172797c15e4f8c196513feb06411a69da6390f5085411f3d7698faa6f27d9b42fd3cca1325f60581997f59a595bba4838951dfd4c914922a1cd4d4dcd790329898d98320167493227bdc5f99283c1578b0b3759602ec756082087db4cd80168e86596b9e79c352398e315511e3\n\n# tcId = 53\nmsg = 32343739313135383435\nresult = valid\nsig = 73b8803ad08e4c6a3cd9dac9258f5605e401257226e742aa2a99cf037f6f709bec97035ff2f05068dec614386d748711d14d5d197116e6740db4fd2a683f44060b75170db4a4feec7722dd58e2b1de7f6463993db74fb3443d4f8a95637cd03cd440892b0786aad6e990e27931e241ad0133aea2c3c3627962f1de5e84f51073db29b3a7b0a78543a5d516de42190d2976359d545640bda31a7c7edbc4306a981a82c82408263401f0d3150739b477575e39292869ec3095c6fb19361f9e595548165004c172f29cbd2c64b9766c60c50d37ca10272a5464d2e5bc5cfe4aa00e3a7096ab13f1f4c9a3617739d084733aa721b8b4671fb05292a58bc04cad75594a9bace87b7c39adc4ed41d45047561d4d3ed4768dc5cea98b163c0901cb33ed38ccdc3057a220feab057bb838f632f571a859af40e50289f48927c71999c1ebfe523f354f282cf52d5c4d9822409405ba83f1a043f61655b310fad872a529b95af93beb44f6184c1a4e5a03ae0965cff663d0f86fd2a80aaa73ffaaa14fe0e9a9333f4035e19984bc8f70f2eb55dd1f9047786792847213326c63403164b98ba6699aa78ca2a8bc01a8f61f72df508244093989e7f42dbf798cfd39615193f53979180adbef6f9c9b3021bbc930f2cfdbd2ec9693b58c48fe1bcae2eee85c217d356396aaaabaf623da6ec9e571cdc1ea303ea46f92ff6a1506373f06d4c966\n\n# tcId = 54\nmsg = 35303736383837333637\nresult = valid\nsig = 878c929a51f3b16991dfcbe548023dd6f04071f12af272ba218dee01e7a9ef03954b96944844b74cfce6efd117eccae30a08616ed3e861c8008a62e657d7fc742aa501193f5422fa72a191d0d0c35d291135b2b4d5ef3b7c48ca24aeb1bb5ae5af7ffdfeea547b665360f0b8454a8b6176e7472b6f5bc83751bd2026a7b2389974df5f1fa6ac6b723125cddb2c20877b20d7811131b6a55d3897c6fe6f51184ce4fc81a7e1a27cf68ea7d09165756133b816661df4e0cf0d75725ba43e8cc1217c0c9f36dfcc48b3170c0cdd9b501f9a0d56028a97fd64e046422c0ffbec7418bc862319c97e3fbd76982c883ff51fdcb1989f6b1142602469da7b233d43f4bd4ec6469f31cd9dc4e88ab5b79ab2859127d56f3056dd4c8f874fafa22c3384fcfe4917cb025234eaa045aa04f71cd8822510e7c9aac87fcd5eefe96692c340719a943e7800da9b110efad869ddeab00049114dda9234322530253a51c8158aa33b3cbb4f627fbf22e51defd2ae5b0fd1cd3b381ef34666b2143f95539b643adf0d4d80fc0102c2eefee7f32afae7b56b1055ddb4d4d107a6772c7fbba366a0ed279b86c446123e93e59dd0a28b9f577dfdac73ffa3a15620519aade4e820a9f96f139925bc2d28b2fb4626e20a3740d14be4204af99b7c96f9b58e7420b23596035614b328cc24906fdbec7920b3a5ec970dc8967151d66d74cf086687f08cf8\n\n# tcId = 55\nmsg = 393838353036393637\nresult = valid\nsig = 56027ac715f84d90625b9328686db3cc420b10895abdfc268a79c28419e04cdad32c43d2b03eef1c668184a5f86cd3e2d19ec2eab6a9a7c939bb196ee561b78424aad717aefc088ccad4c16dcfe5ba3b077cc975842d25ce978da5b928f150612b48ecea8c3c6d2e9b66764fe546d8679b9457a612fd54866f01162d55c24f17dcaac2deb33d574b845367cdec01cf5493c413ed9fe39b57337ba66552089fa29d89ece7459c95ec78f867a05ba630948338e0f62766772e2c33d833b6cfd2bfc745f633f4090df27af41e0fc7104f50c0273459e192af9bab5ee32421508ee52d951ed93676df9a0fb5078d79ca8093b432216a2ed1e72e28bc9c8bf0e797dbe39563808add3e976ef8dc0060a25db2e812e89a857092d62908aa9a6754c4451a86e522749512cb6d022bc9507acc6a1a31651f84396ef912eb7d33093df401ce8d78aa4c4cb69dd31665f3204fe3b271a678d39555864036d268f2f5cd50d1d313a2488a7b191d702e2c38cc53ae01ca644922631ce517445f3b6089e7bc94a6c5a901ccc47cd61ef992cbdd97db1b01c0080db2d2f0349afe357ac85dc8e2adfd5aaa65135e5e3da45292c5f2cf8fbb290a0cb4ceafa552dab048c30f10711538b961ce3a0a6fe9df52703e9ea1774d39aab0e1456d8d7e61b8012d88f6e93ff5628a4b5ee47900d3a0bc634a0848b1691c544956f73ae060529dc80a3740\n\n# tcId = 56\nmsg = 32373231333036313331\nresult = valid\nsig = 61f6c2fc861a3fa3ed57f70c7757b93557c8c5ddebee568d776efbd6ee929473bb3a497b26bc401f7a95cddf419cb315b8ea4c0186dc1931be231e5ac93909c984a37be5a490a5aaf024de3a3a1823dc8ab25c63986f0b1fa9e8d32b34145fd06ba84f58d4ce4278a52cf2b6e5e141398122a0a1856f37e1c52a6c12e4045af214bc761a3d1b03d6387cf5c3fea781790956d70a60fe23355c02585e75df56876d0235753590afd93d0807d088bcf0d7c006c2ac8b0a9e69abc3b53ebdca6adf9bfee6103ae75d7f745d926646477461cbe18a5debe311a2eb03815ccefe6f9c2ef1922839201e8b89eb11829823557916e8c1072a4f8018f18ffb4172d76250943c5f39a3c1829b3a75c9c19fdf266732dfb5402a7ac125a45ccc90cdd3bcaf4b1fd1e93e8745e571b4721807bcdfb9cd95a79f0177fdce0ab84a24761ea59c7993fb48795b28dca8031226f2cac62e9d90f76040cdab04ed48ceb64e24da7deb5e16b255fcb5e464b1241de5f3b0c294373e8b57c32cd12015987c6df7ff2189614db810bab871e455fe935cd8cd2b282c686131b1b0ee4331a4d28fab974287198af800ca065eed9382f071630c0df89924864fe84ebbd1a990c51a2e217689c3a9dcab990455345ac785459348b5a1d9f6269cbf03ea1c00a474c81d48eaad11a5c12bd1252d9ab50d31f723727381f063f68c9d9158db3f112114d3f04f\n\n# tcId = 57\nmsg = 33323034313031363535\nresult = valid\nsig = c24f1342517ce4f4827846d7c372d284baa9e3caa72f9eb3fc0f938eb111779982dd37cbe90dfb3164d782839d1623be04f03026536279c1ba0cb2da868c8fbe52ae5d775e4a1b66a78d83aa228593df11651bf22e95ba9bc1e2a15916ef6df3a6a3387f9577200d46d585bd69176afc63e8861b612c232420a03f1276c589e7ef56c5627352988963643e7fb8094890b6b5678a741cb10716848abb4fa3624750f61cd2f1d5a072d471b93a3d243cc0a4cab1079aa5c68ed1c8767fbe8669bf513b953e421ccebd17341f8689f649db6f47b411e8390c7158d5dfffe034c5d6e95f01afdd524305bf1295ddec2f367677b0a842120c4c9a1428ffcd21e6d313c3ad876545547ec53cb84a63d628b68cde87965daf0fe55f0973bdf270d4144f5bbf29ae0187742d5f0c83fe22ba9972fa7806d235204ba099f5a3ddc8c14478fbaf794c098edf02f06960375c5c11b177933bf20527bb9ecf307cc058c07999893a9de62dad1b97dc342df7a6d236b8df152c17e356a29f21f14e62735849ceafb16466b488b04aef85b27250498c45da327798aa12fe42077b6b29d9de566fc18e2917bad20b28240526f53665f2aa56ca49228641bed4d6e6c55ecc0794d50fae088a2a44383b1e7a151d85bc31406b43896f72f66921d925ef3e0abdaaa7e76196f384954a257c1c2a71a1068e6e40e5b3ea23a6a5c66ebf304c73aa14ec\n\n# tcId = 58\nmsg = 33313530363830393530\nresult = valid\nsig = 546262fd614b171c287d1228ee8f502010ddb5e44fba513c40a6bb246d9ceb12b4446d989b7d33c80135ae01", + "50e9c02338112529d4e50abe2b9f7cbebb4dfbe48226cfcb4383d6baaeb3d85bf517c5f65892a2676d266c1f94aa8e8fc3a73b049d2d9b5281d3d5df7673e466c21f8adb85e765ddabbd28b8e853a9f12cfedddf2de8c2e3354a3b657aadb840156fb99f33392fe249e48bea33239005e44d6557d0211530c52b783edf96a46e1d4b0dcc9a49c0229601a3e4e77d61d393a0c4074011a324e614c407bb913ad20cd8622b120045a4233514076f01b89d3dd83f0e3650b95c53c99c8d09fa05a6dd8ca169b7ca05109421f088274d9f51fbf41a23074423c8a2f842c1fe816d34c11c407f3c7517bb80f5a791d6d1cee09cd28ae5b0ef93fe0493557a80ef3c325fd740903c42bccd4647623bf207f0070059e342432d45bf304875743363803d480821e19567f748bd7dd34f7a90c4173d31d9f520c2e5c3a207478ab88332fffb0214d930035ae51458e8368fc3bd5de531742f4192bcf1abf861be81e4fd6c24169917fc691369b18159ffcf8455c7d2ff1cb2f891d26d016e26a8b1211803533a58fba27604a0661a4c296fb511d2307fad366be047d46508b193699369c742d0a1c9ad5a8f46dbe758604fe36df86628b41ada0ed102f2e1517584ee4d3b946c6c6d821749372a196f63733ec9126c8b29dc\n\n# tcId = 59\nmsg = 31373237343630313033\nresult = valid\nsig = 4c8a28cf3e3b7a64df8edada86372b445756f109bce23280869e8bb206446553a75ec99f774a02d2d316d6d19b7338921fa983c6da3bf7942995ec36d86728b400e3b5c8b6a80952bea599be2367b155baee9d99500692febc3da9eb83426797eb99673cb36ea4c39debdede3f699b55e6e5700d4b86d2ef49145c311e61925e625f8d2d415d9ae8a188a097757c6b91b5c224a940e811176db36fd6d4fa7713bd12cff54fd90328e142105e7804e45f533679ea8cbe4d62fa460719469dbcfea282ecb2bb90ff69170d7cc7f7e5d4ade10f6aaa0b6f960aaf573b68cd0d14141231642ce11639cdf33320c2f93b7c0dba677f10d11accc12f5f4117da89cb5f7eec2ff644fcedb69bdbf10875ccbb90ad374a53527ff23928a20c048c670e28884e7ed5f68e4e170a7adcc7ef085a3648bd3861b6abeabd115a1c08d4b88dd9cb7ba85250321fd5f700325f88968d64353674919eebdd9b96303fa2abd1009e14154c362912b5b866f345d727a6e16b3a74661f0ce3b603dd9d86f46e8e095dc9675d9284cd6373a432e730c392d726f68c4a9ef1e4f1da45c9223f54cb1ca795020c0ceb1f995b3c15ddb221bceae5ec4cebccac147514d60153055a7046df63fc4f1b7a23ca6eb0c68f2f1be865f403ac491ec230856fc9afef556c79422000bbf39bc95cba10ba1973d0c3890a43b9202521951d9f7005aa2354e3cc88a8\n\n# tcId = 60\nmsg = 3134353731343631323235\nresult = valid\nsig = 4eafe90c9fdf472f002015535a5846345ece6d2c5990b0873669e5dfc4712f20a2a8583493dc12f0f1f922aa77ca414a6f739491fce3e886ce78febabfaf7b0fb143bf480409cea53de810070b95ef6f06c2e51fdb611ca99d16ecac3a6489de8dc8dbe603daaa12a8c528a40852f3b37d7daa86c7cfe2a51101c677daaab41dc2476c0caaef7f911bbe6d2251d3c3410279daf6a9d26844b22096f68b1c6baea9fd8513a4b81f74333c77e1a6f39056831d053df081a15cfdc8077ff6e4c4966174e88eee40d6762db816f497ac86fdbcd5e05f230b547ca06b657baf7ada083fe8cda5040ee7024cd87a38d418dd6138c2ac7c07c224f236c4cb8cc0b0754d22ddcbc9e7b1ad448dcd99931f5f5070fec57379cf83dfe6a9974f294ee06bfb5f7d5e1d345446c55b86c574ec5e6c87a84e1cde3826027a807a1351d674f0ae93407a23fc1f472bbf0dbc9a91781265d866d93c54be194d6daf3a748a40ee5cddc99f31d3bf7f198a529dc8918ec52e2c49516ca478683abff92d7c37462008e9051f8933b7278ba4e592cf9ecdd0e3f15cec8c4a76612180a22014e40c5e67b22c244183a714d879b4e5dd621bceb6f72fb7a2c9a70fb5c8aab42c9ae529018cba12e8214ba229c25de3d20e4ad03d67b531064f73da9c7956a714f4e01b7ec5b7bf400fbab6084c6f6e1956016f3cb322ce079dd2550f2d009f96e2a87c5a\n\n# tcId = 61\nmsg = 34313739353136303930\nresult = valid\nsig = 5deb38abec0f77f86d8e685082f334affae9bed923fd2ef6fbcad26c569f9f0dc9acd9a91a454202ac2160f3a48036460448dd2ce487149b52eb1f7a6ce4466894568dd18a40ab135f304f0a1ecef475d04d8623fa2a54466813e899d92e6dbd93025672b94382db4ae46e31be85b0310e00c38c7d59a798ac9a26b3499b88bd19d22aa00b2d4d1b33c9d6e1f9aaa5863087d9ff0d52c5a1a094e0da0af5a3a0e5a3b9d81d71a7020141580a63d8c95f2705fde7081820531577cc48dcea1a4db2a76c409f9783f37cfbe5e69f63ec9535de1982e07eadf0191faed3fb6c389bc263838cdc006be48299abef7a760e4c1b5f200a92282eecba8a0b2c1765435f9d5b098f93d3da779816c86f15d6d0af8037646c2825e90df0e95100f2b8f03b2717372d224d3cb5037564acfb56f8d3d9f3f79aecac877947818fae068196369592418cd3cd04fe80d69035a04050f3cecb57266475256020281f8dfbab0670cc60f03ae585fecd86e881cdf957970ebdcfd384bdf224d299b4de2f4373e2269be156ec6db947606496523b4dbe7d7520609f82cff421b99318742b3cab24179c563a84e631ead75d79b5eed30617c8fef57563d2170c612baeda07ae87734f12f43585b28306900c5ac461aabf9d32bc5ba8a4f517cd4f698a6b1899bfa0751a798c56b485748e0e53e27fbdda39b5c57b7a15060b025eb1e36664b48c1968\n\n# tcId = 62\nmsg = 35383932373133303534\nresult = valid\nsig = 89bd513aef05a92a16771282e95d28f3f2df41bf3e0eb85f052205fb68ad813f1e52f26db9e133e0915d6e6cfe088f759895966e4ffc603f08a1385ace354de81fa1b65f7d4fcbdee4e7a2e783e8be44d283060537930194b5f3afe7e8705ba07e8ed1e6cf3c8d3cf9433c3a450e9fc6a8ca8e0979f0db12e4a1a64d2c5565f96e8e328ac1125263ee441cebf493e7cd8d74746cee96498870b06c920887a7ed1bd4e6bf0102dc2a027024bb5e13dbd8c136667f30a78371bda03feefe109bd933716d1c26e6f04dc1558492735aeb0a4e556e985641f889185351ae326d9312ccedbac133da0e9b68c5e86cebb706d15ff9fbbe0b7f1cb8d60a2e47c59c313a5b3e1755546bbe08160d18be779d62a0d0e5f16dd260e42fcd62747c7129873b08ef58f816587e775f0c8d766e9b9cc02422bc6ab67c013dac244bc8969b17c12edf59453ac3da8d0e8d45d9c62dc27fe1ea6ef961bda589199baf3cb8908e464050e5b6f419ba216ef557758b357a2c8cb04810f9b478d44b00ce058d07f88a123eaef9368769ea92cceb52cab03fbb4dbdd4b7b8bc0c02058491d997aee22c5c04a57a079fc184f7769ec790b13d8db444fd0a29a07f2ca2144cd239d532c4d747eb1aab83e1451572c01bc828895fbddddbe59b42975f77cc766269b32b23ed1075c91357ac5d82fbe5c2781f48056849b41335dcd60427c02ae66552797b\n\n# tcId = 63\nmsg = 33383936313832323937\nresult = valid\nsig = b7c445e132cfd2f4bcc008c38a390230d95c141753588b85361b3b3d44c55fb07c248abd17212332e90e2dfed056ca72fa97769a503d074fab3bd81778e0115c30f799f1ae22e62903b3e9d528459441f128e0b9b7c57112abb2989a9e0441e8c328e12b2d6b7304e618eba1bb61ca84cbe8658f84798f3d5f54fa6a6ac0b389d12a14a2dcbdb54142aa8b571d5718f1523c05e12a46c065c74315eee0727a9be3833e13b03f637528cbd4b97b93eda3532fa461ed04ae542900e41e595996f45c9f083e1755a1ba56b5e48e4eb18f02d0e77083bccad8f37d432ce1e6cffcb3ce3254a128e8d2724fee750129875d3355529f8bfdd212efe10d804de30ad3d47f655eaaec3209b33bc87cfd13a2b81b81210b7b3442ca1a1a25963e9389979a5a75ba5468a2e077806df89d2305e1ac923ccb09e2491a24014e3ba22d7c141dd0a5642f9c7d1925d9d993270aed328c22d29936b0522330f3cf7c470e0d29e552618a5a9471410b3200bf967d9f27572ed52cb00d6a7cebaff85c939608d570d03f03f886d1c0c5a3c0a449add38cddd9e7492baa0d5207dc9d8a21a549be4c642e3573396f334c7680e5ad6c2b25d78e68730a61565874952a106e697be6eb832766d0672045979dd0633bbfb40c63034c845d47d9f20afab0a0ab5f6e0062a842d4dc84e9722aeae2e28656074187028b0463bea2b57f3bd9e11c4ebd1c26\n\n# tcId = 64\nmsg = 38323833333436373332\nresult = valid\nsig = c66f4a3475e8085140018aa928b82f998379e1f560bebd179132537cda3d94d033ebd1bbbee040c0f8729032c68c3c89e9061ee08f81cc1782738e55090af4a930d3305f7d94b54ea202360dbe2b222c488d066a063367ec0518ce4f107cc4ee227e1c4a033768be7914470128442aba0d628da691de2ee304ce40624d07a1343bb24caf641b1a44568c7e1b432a6ad393fd28be0458a65459f278a9561441104ddcde38155c14e684f7cf3c7f1a6b23724bd005192f4d1191029377902f385664c5e515624e694a2070d83893aafb88dbf55eddca32d9ad8de6213c977a1e69711dc67d384a9cb9145d177670894c353b8e24b8e3b0f152c2b0c1232045734ef61c24f4fe994a2e99876335e3c700b322e63b86b6a347e2dea67818d3d623e34bb458f2e92872224b4181eb91dd7bb3ef1fa4c8f58e682c8c148aa902655a7cc74bc525c2bad13530c95dfad47c3b04c5262c4cab47c37d7a011bde04b380c91e2876cf052cf294c39a9368aaeb7fe006ab6db8930ffb4f347b6f8d668606ba1542a010b4e7680291f423511c2cd56070f9df21dfd1428cec2083fa2c87ebd112156e47c758abf4aa5f1d2ff80d9f0959d4bba4955d793445cafcc32719e1c07f134696d9e176f8a5e8ea7230b733e4bf8d92beeff9c16e2a938240ca83aaccbd38a7beb6668eeba6d38afa6ed892825af57b15c03d936d8715bca54823b091\n\n# tcId = 65\nmsg = 33333636393734383931\nresult = valid\nsig = 4eb8a9a99f29927e600ff325421379cbbe06016552e6444d8b232327d2674feae72a9744b9bf461b237405c98a512faed8dafb29454e5011e9d7429401cb94a2c96bf3c464cf386ab971d7f0be6f62c59071a6384f1681f5a036d3e5af60a634ef3917ffd9595e77ae6084cd26799d93557a8dae375fad0b28417321e1143eace66500d045fede420a9144da6ba040050940d9809d8ce5aee62d52e08b9a1fd24c081a405491285289fae5c1bc9c89e9f700224e27f2564560e511ce1488cd6b7f124ac55f2fe54563d1d2e9c8ba3cff29bd8c91dfa9c000ce709414874da1f4640cddda3df74ae9367f6e2680be16a7aff5b1e1229c4195f9db88030b28c16cc6acc9a75ceea46fab7bb9687b2e95f9414092a9be0599ec1660fd7b2dc16ec2f0f460ce6579970d1a04c1a7fc2181b893b76367f18bc11aafc6aac1c40abd4f87cd8b6a7fc3516f71edcdb794accda2d2f4", + "e8b5b41f8bc80a34aa5ae3acc52e64aa1f1e8faa67a3d0676e67f904de98cb68ef9364920f2ea6e50fd918ee0a8dfc0c22f0a70034ec5620488212df59fb93e133198cb5e49c2a0c4c472ae4a7a9266290deabf8bf338eef0ece757f4864509e6c0f21f445c650d2f763d1ac47ff07da2630c01cad83eb09cf8aafcbc238f155bf511d60a3af710bc02b14640524986b00f0347ed17fd0dd0b05535580af9e0bb41fde72a907c042a09a0c310bf0\n\n# tcId = 66\nmsg = 32313939313533323239\nresult = valid\nsig = 707a88ab82f22de019e4843235bc3c5915483066040f11fa7dc7386d7e63c438eb82bba17d17d9b057a5a1438a84e181181e7266547774e9c5acd3845653e7e17847859c7c19f92c3feb8beb295e5af0bc300c1ef068aa1f9539bddf60bce8c42bc2e9cf261d074d6ffb444caf8f647d4fdd7bff2dab6144670bdc43fa7a02da09b800ed71dce9a931f1c47d9ca7a05896111fa4fbe99e96cd90b5432d686741fc63cf0e3b792f6370ff2572290673cb3afe10bf0cab5b9a6c971705236668927ac75087af78711bdac541b51497015aa482fecf5b111f1172c5922939efdd243fef2fe50f2340d56ce64a8131eac3d34149e4b09f10e1276394fa14228a16641a598f24f56327b04f33f47ff46715fefd02e6ff226ff0d6153019a1d337ebf5647d24614918513ec3b5dce5c19b9f1edb20abd38de41a6946bc96df81a4e1ceda56797b6f57b2e8abad8d938624a1d7bfd0c2b923603d85b71a59d041bbd7cdf03b02442822a8cc102268adf66cab432cd9a9838ccc3d9f0f39b71524045d8304a0af701426c5f911e6ec93657a9112a2d820e46807b43d7e6f12123d3ed9e12b273eb8da06149fb56460a2bffa1c1dc549c1e16eac373d9db0b35a965556acc1fe107a79825001ca189c7a171f9211fbb23be36c8c4eff4e3d972b7bcf682554fa5b54ec03187c008f31e51452410eb1dd28610414d7c06c41df1415e3ff2c\n\n# tcId = 67\nmsg = 35363030333136383232\nresult = valid\nsig = 0f19053e699b1db95d91a30c53aff8a73acff1f08556ae2584655d006f44047ef8f609f26fada69446e133a972a2d66533532a025a4432e0bab8fd35cd82d47a3843e972e8575908c8c795b11c809087d18b39fcc70458bb61264833b16e2594e37a979d8af83632d6c276b2ef74ca57e451f1388fb9584def70ebee7fe7c06613241608af0c050182a2d21be699536f7d848ec75b37931bf5658054e40782fe5d371c66cd0b6fc23ef4f875700dba54a5b6b46842a4d9f10e35c0a7c7de671e7231f3171b1053c2f4b0a126b95a16be815d6b1a7944505d0ff8f99a310d6ad81e8d4b34e0af7f49a0247c654a1a05f85e91585bccc42e9a76d3742d0c1fd228fce9cdb83a086cbc2178e9df246179710d8519bcdd2679cbb4309a3ad2651f11af7a601d8f4636eb21aa405557405c0d8afd82c59c8b04a1863ff2e2a715cbeb36ff386e3cc372a15c1a2ae3c8c37b5bfc6a87fdc5f3092c0847fda8eb7962e5245288479f8a4f4c207d9410dfc0649d0a3d19d7ee9684e005c3f442b6be54496d721f860195939ddfc48a960c65e803d30b827581ffb714c1c0e69d065ad5ee649d7b081ea1c44b8c332cc85a9c8d06ff45076e4490454162c6eaf8950cbda55de43f09253756a53fabde5638b23353bbe5dfb30bfafd7a638a1f28c6f3d950562329849303faee555dfc585ecb7c25e738e28480ae628a9f201d5fcc6b0ac0\n\n# tcId = 68\nmsg = 383639363531363935\nresult = valid\nsig = 2dd04c48f29bf2a05e6cce6c30f63cefbbcac6237c3c834d63e6a5b420a35dfa38a73a7c1c1bfd409d18d0723753f6b52d92d1d9bc0af73bd64b8f2e18095bd21324fe56b7732c767983390af0e1a530c9901f0fb9cbb8795ddd3ecfee57fe6df362ad953731cca8f67f155ff3d4f472f6e7d9baf8cbd753a1d2d608e97e727b0255461546caad684eb7efcb3b905e54f9a44bb29a1326a284885e78e1903e08202edb7b85ced6858fc65af6fcdcc660e0813f0cf6e2e0df30e92f5665032124c83338e4a45acf380cbe67fc02cea48e8581bb085e5f3e4b859161a21250ca678e8d4f0f948bd29656ed44a99b930b7c58a1423307ea653927572c197d0e953b568e340b04eefdc050a0d6a21007bc3155b38555897713fa39aeda9c1ce4145faf33698ef43325caf93ea0aa4581f02a317540ea66be2d3aa085e0777bca863f435673d7189ba73fee305625496e724c491d538df5356c09015dface1e971ad70e3ed35724a54c4fa0e615e67552d214cd97f5ef99611f0cec06263ec56ac45373ea28a01b831aa34dde5174422db8a70ea2c16a63212182ec5a85460cf1b23c58049a99fca24796bd9ef269476a20de0b91417743b0210882cf671d514214110ba341e47b91d55ca7a5a5f0452b10f38f33327c8943cfe3ec4c6f49a4da6ac0493f3c95d73c6a7d16848d009f0090034c50ef5f57843bc766228c5666e25f32\n\n# tcId = 69\nmsg = 36353833393236333732\nresult = valid\nsig = a32ce1738badd84ba6c3dbcf44dd182a7dd3e6e6dabf8e7057e50483da7c89791304093693f9fda47a6ff3bfcd42adaa727e7b8e74a4cf488f8111beb6187afd65665debf6b01bd90f3833112a7ad09a3916763994d182c1e1acc5a221b5aa0d3da01ac1b2ff8db99710d48dfdc1421f19e5f333b70d6dda638a35142582b485cb1f9cd60747953fa9bd7785302c16eba26d67f958281b5c91e33b53e7a506d30e1e06353c96ba71375ff7b628c03413692bce1433889202814ffc429c8179ddaf07fb9e1e70810e64ce91005f83f79142a8074894ea49f313bbbe25435e6814d472ff531bff2e00ac4b64097bc2bcad0f360674aaa2ce9882ab2fe29e5e7f5692864df11b4cd422e36cb9028f5feee93edd580d6dee12f09a8de6fb6ef9ead2b586f40b435643c770fdcc54d1eaaa4bd37f76ec8a65c7e49bccc5ac3dc9b17f470a7a5e9886fa669e9b8e5ba042b867789d0f448553c2f46f8b8c40eedc10d9d11110be68071befe123f254346433cee23fbc82c9b6c120e70970e596731fd459bdaab0113d9361207af5a4bdfac6fb839abf3b8cbae27330297e257bf124e11153b70a9b038dea270c99cf427acba886667edf4b8c2b97d0fd34b81749c02de9f049e414f12ac744184d45793e18d5bf318b159634dfd0dd7f94c226fd819745ae8bfa9bf50902bd0628c76344b84e99b5850832b309dce569c7f37d1645eb\n\n# tcId = 70\nmsg = 3133323035303135373235\nresult = valid\nsig = 7bd33b4d073dce391cb89a818f1c950e3954d3dca71e6b616eb35737beba12d945e066edda0694d54f8b2f39e4743f73466ba960029398c5a348d1f58222a74760d559c7e5f631fd0b895af5838783721829fbc235d7abfd36b8a92e520cb6cafc1a17ba8c6486aa046b9b63de8ed1dfcd99cd776e2fc8613b7e0c7c50b077f748b1e7bd2a992663a2d01dca15d4d967da12b0bac5596fd89112e4363db1d492573eba1349aa8445a5dfc3148929d5edc3b642241e8412de04ee83239c07022a632f2a86c036909a64c2a62a78225e6ac169d3cb43a51e1af9da892b7b7488b25c821741f08536072b97f193642f59801132a54139c5bcc73b17db7f67bb7ffec3da1bbd92a48fa742b1131404f8ccb035b69d195ec509a282fd9c421b5577e881e6eac717e22b14b1c599130fe1698aaa324b82790b633dbf1d4c30fca3bf1333da9ab65a94aed87b48bf6cca3d24ef453bd2e4abdb7e323961bfdcd8c30d442536280cbf93165993cc829ac58ce8f052bc70980d0ba906b3f57ed83bab45ac6615e839428bc2e8af9b444019f60a3029470ce1db83085b98aae6010998dc5622221691bb1779cb69d31230df4291759494e8afc2a038cc820bfe57b3ea548ee21e15830e26c2852161f21411cd3b6b9d48e65a4eeb174d353692f29e6194491653019cd662fcfeabcb291360e9c7444d96527f0bd666c9547fcdd0a7422dc7\n\n# tcId = 71\nmsg = 35303835333330373931\nresult = valid\nsig = 0f4c980c365422d74abf4a1b171986c575e7662e5822a0807986948322d33378b85dc7865e563c627ba4dddac9c65613329150c096938848feac13543943f58a9c1c0f46a0c40a041d37f300b83dd90bfad373e13bc70f74a7e4d18dd6be8c8cce0b5aac1844287e6aeb1c465ca75e2c7712707c2d371b0deda5171648b2d718b078be21cf10dc8d428e39001f5b30753d9ed40add27e98fa817c2fc3534c618d6755297d1918c2ae78271bbaab738c08c49ffede617c000820419dec9853430f5332e57f80ad71113bb492d7d24d32111949c8690741ea46172a568dfadf545b760d56279d4c47152b0c6c9db506efa762d2be29e224b87c805e65f2402a92c8a5d521bbb49540da40a2aaeaf4c6dfeb8c2080cf9602e320b0ed922f6847b5334144a3536257f56266f46d38695f7e46f254991c3d2af3827b0d790aa74fb08a5bc0a9d798ae09d33da65f8cf3a599e32454fa16a6508efc421e19f5b66a29ea60f10722040726db820180670211337e2d5b4f4bdf16e7d158f39c2aae75dc800b495531d8166e046b0458e84b409b5b4b193c824bca186719dfb0c886ee7970924178e0e53a75ba59b7e72718015918e8f015dd3d10ab3bc74f2447ab23e8e0606b8cdde9b5e70df77f8da313dd14fd95cf320a48a2828f870c39fb1dbed3e5c6136b893d68fab2665b560d6c15962f76666e0554be0b9ec7f0c151a3ccaee\n\n# tcId = 72\nmsg = 37383636383133313139\nresult = valid\nsig = 92b1d5d367f8b615fcf87cab3f88ed66b30837ddacdf47b7dc9bc405ccfa16546c11292447c68e0f26bc41a0c8f003fba59f96f3975d2ac7a63fa34d7dd1d8f4bae839060070330a5c911c0ddd9674d843960ff056b3fb2d6721a8fbb9fbb0b1ea8213b0293389bf611730b48f672945f5ff3ff356c9e5d254cef47f2c5662f4887536b30e2b54ae36428d13b551cf9258cd0c03702e8faeb8fe5b5fbf120b10552887ffa6384f84df39e94cee859b038bd6eeb2b0e0718065e1d3f526b33d4765cd5e7cc67bf6f97505337b62f1102ad113b722337e245db4e8e6e43529a6c4719a23b9d42b788abf3105285cceedda43847129ae39737094644f7d82e74f1271dcd430e1122ad127b99c7b95a16c46442a6c306248a3a6bf839acf6452a96eb3d28aba37ff342c0314fc0c34e38adcc8597a4c2606cb31939f628275cf6edc4886c75e42d8a4c32bdcd63c534f8c4d21b8d308e58d5843aebae8b3c35eaefd3836fc6a80bfd16441aaccfadf45bbdf993e46fd831443339cf5840cedef60519d3c7d92c39d7609f9a4841e3e5f682e71b8fdc3d7d9c7e622e73b754e870d76b111ba761508609fa41ee82ac02f4519ee3c46c9c3d8402f1cd0efdbc4417765cba31bf791988f2c9e7241d157796c6f7b679be52ed6c6164354f041ba09b20f7b0372bfc7a7159724dd02a74d20f82810b623055920094292d17aa411a3208f\n\n# tcId = 73\nmsg = 32303832353339343239\nresult = valid\nsig = 86fef6519b92d28a49a39235cc8454e416c42349aba7bd9a67a84b0012458b8b9af93349879f676787d5dd7bdf0323c02ca35533924b35978c8ea315d4d3a7436bb4f11a02d6fa8d9d32192f6f11ae969d8edd4f9bc12bef787e", + "834db6e4cfd9fd93fb9c9cd51b0813c3aedca7f432034c15638af52acd222b875676245d104c8d5e87bfa64e86e528d1e88e4ebe885d53d8b99a50609a59b2be30754169f3d0db72a054108d57d79c08c28765594b4738443125f4a68f64eb90e1d8d2ff6baeec6d3f12bf8c76d1c817713626bd58081f6bb03093d6729b3ed4006820a89224ed58d733432b06f5e6e42f74891251b9ad590c78b5da4278e789e7775d18b2fd0d3b9fdd303df7cd949fb20874d8ab219d8be8ca961e83b814c59a813bd284b01400e8d98795d2f7c9a7eca02120ebd7b2b8d53f945ae84bec14ebe2816501a2be3c9c81b2e8b0027dff16390d0686a7654b39271ec2c0ceeb2b57871c38f94ed43d50a764ebce272ca3a8fe45d59db2dcebc78f6e0ba97f3fc5c3eeec3fbf71e7ba91c0e2274110d1da924008d414a54270e2b3ff700eb255065459d00e8f6e1a7613d30db749215774df6d19873c06a2f6f5f8baa95891ded9c91201784da571a394e59ab309f23a3c745a8f73e370a58a5ebd34731d865c414f55810a08c36b5b35a5fa23ae3142db21c24783145269b035f1764b79d26ab76df32e99a1ff\n\n# tcId = 74\nmsg = 3130303635393536363937\nresult = valid\nsig = 86683bd48599e9708f70d81be57ee072e158360bab02205e15443c010792cdb4ee7087bb2d099f630cbf9a5d9672fbba62f9495449e6c9f5ce1d6e975c7bcf505faac0d73b9fffe90dccbf3b55e278f58dd541c235c920b385466aaa064c7bfabe8b9c467ade9a06ccfa7bdbb74d1f1ed6865f41b4d3a8045520251c5efbb8149ee7aef4d701d0937621202fa5a81487dd262a6aa98270ce385ecafe73a72356741251ddfab8db00920f31c30c47517804e6411dd78d496ed5554b337d335102961612f2affe9e41fa2b5c63c58cf12b20d79d6da28dd3648f6881856fae1c17620e2bbfb15e5077934f8f55757d9d84172839812581fc41a337ca65e115d216f32ae63f833a91b67e5eca5ad72d65339b30442a313a47ebae22f18bec47191ea8054bf7a6f22db95e82f0759d35effd1ac4b375885daddf77befd1da13e3331702323e11f75c68fea368647439bf7e8f99f4b676c1917b445c7da14b259e054129c9051515040571832466c182da562139d0703c15e17f9c22d8393a5cfa1c9c2cbe35bda59bf17693f24128633a3e223ea551b5ba1a7947761e939e7bbe9e80c0d3def2da56df1e1639af2048c9ffafa69fb60b5a4dd54708936673c431abc12dc69d248f7f87730269c2bca079c13c68665004af0d8e44dc0c6f10fe604700e0cd7473dd8e57b1b72bcf684cabe434167b346b29ffd521488de977776fc57\n\n# tcId = 75\nmsg = 33303234313831363034\nresult = valid\nsig = 31869b48fcb2506c54902cd80e2f1221266ec977226893a91ce6a3cf2bea43680de52c9c2fc455c44e98ef3735d9578e3a98abe63872b9a723780917520ddebe1d02e0f00be09ad77e210ab5518ee93a3a967c0a47f05b8b2c2aefd7215f8d8e7f203388e7b7b145da98b6c829b26439c9be1dc8c3f98125419ea2f816aa749fed0a914ad46bfe27219bc088d1c1a05c50efc7d7d0392d8d4fa6ca82f5784fb27111b137ebf4cbdee3b40243490461c8c7f18b226370ae10689787adadbf563b1fe25a7b361dfafaafe13cb7511c0c5c2beeded1f0c2ba51252c42dc293fba13cac292f50670b45b06c71ce55fc8b457174c784d788d38b0d2dac185f9f175938d6f305b028d70b694f02cf927fb5c42740988607d79206df03923f22fca671333ea89b72f41316088c53af5f3c7f118fc7aff190d17f5a8bd087dbb60fcc82a8f99208c481dee4e437b4e9f73eb51fa6036e230844ae950331526d0228600cb5b158e705db7ad0c7e713e639e219877b08a14964758ff7faae16510eba2c3f087ebc94702d0facd22416a4e36499bbabb06631eb92e6bb513c67fd12a44f5c1975a47f708b8470c2e5d9c3aeaddc9c809d334cd7771b3ad68f2c4bafa0480395ae9d30ad32a909d7e7f138ecc3dc102bad80451c17e91a1a8ac49c95b8e9606e994ff1cea2b6353499fb52b015ac1df859a358c2d6dc7d2bad22bf6c6ac6028\n\n# tcId = 76\nmsg = 37373637383532383734\nresult = valid\nsig = 12a3dd69efdc002c419e4a6cadc5c1d336fdfffc17981fad74c3625e5d0b7113b3ba52afbe03b53cd028c1166fab3d3e71911284e015a8abc67ae434f22fc59afadbf785923060110bb14b73f17b1905ae3255e7925d9be121a4f677071c1318ca13a221b20127da64dd0ce65b384107302cab9dfd3643b1845fcc08b91014c85ab595615c2f2a32a74430926055b09923bd2eb9cc059dced7535ad82c7a4937989330870990b6767312147c77e5a858ef0f8dfe60bac462a5cc4ec172f9743773cc91496aa310505bcf5694989a6b5d518126bfde43d16a69dfb8352f93e6c9c002fd2dc12dd86ba59f7c071942c44420577705135f13e5bd28ca79c220b7f4e88f4179b2da6b06fbce4f3b33f5fe3d026be18bb49e992dd84d4df11addbabb61b126c1ffdc8b538c8bd0b0ca6d0fe972cc3535097e49259e11910843fdfde151dcddc2497786e76ef5306dd475ecef667affe0fbbf2b1b6705f0c49dd9f242aa1c2662acf7215081aa0a1f31257665c28a94cea59bbf1dd57777fba987b452319c1df22af92065600754db7994d3f02ce6717e74d19c74ea4f6afdc093c6fb349602886acc867b909a8fa63ee4281ffb1764e6599bb0d40ee45bdb67387103962168fc593f74f5b8a94e77a92fe4d2076098415d95912c4f647eccb532fe7ae7ea62c8e98036112c01285c51256d7afb8930d6d6482c3a57f1bb26388784ef\n\n# tcId = 77\nmsg = 353434313939393734\nresult = valid\nsig = 0c02aa5c01eb5623a2b794b6f3cd3a01ddeceac03e85bba8f67f4a915de6671405dc98a4e7edb5832738b29d6539814197ca38a47bbc92e83724937192724e15eddb1243829991bc50457833d182998a6aa413bf1341ae55e8f82993f47199011028196196a87c232c23db06fcd7e00de8666686528e8eb44abaea96cc7ea556d5e488a043adeb7ac63b485b100107bcc77abbea5801aa58b633eb529b612592874a3b2620dbf9490f399108ef50ae042225758619030853b9df315af34245bff846eccbd9de2784ed85e8437187084755af7e541c27549eb7eb9ef4a620a44c67695441cb7c827a4b3a03913497092e277e3983dd8fa366962608075ebaf2b28f0e8bbdd54c226f91702546b7f015dc0ffb30f72b436e74db11338d3c8140f9d9c70f77e4b69564cf2ac68ee81df2d4bc0217c01c7ab5a5ff6d8f0aa08a5e27a1430936a2ca88827da86e75158381ec51b455f302d446ccfa1642238f281c576325bfddf3cd5c08fadc303a390cf10d98638f40d4792a591e4895dacc7f4cf7875c77d0e63514178dddc5a45ca0fa43dc6606e61ef4afa029214f6b7e2633259da1e9ae8733741f1a8fd8c1398c98dd0c0483aad6604b7e42b6dffd3ba30f8b05bb63e73a17659a7ba24d37d300e9196d831aef7549c6b2627b4c11a84b574f25b3d94a274ac17d8c959b613b86cfc0b7a210fc3bc7ae9e0106bd646fe5d720\n\n# tcId = 78\nmsg = 35383433343830333931\nresult = valid\nsig = 10389345200066e0b6e90c80be8dca0e9b91adc4f8fc7a7e4efe26b9a3c768875ddfa11ab6cd8ce9fefa8dda884753cc87d4b2d94493d1c5924ef6a817c153cc5bb1df29d7ebc47d622d4b313670d073cb7c70c75e32477c69488770213779c3d60da678d00a6fba7e5f2108bae0d64dd0157f5450fe787fbdf6598f1902b6ad1b529749c6065b8d4711f014d8e07c8b87e0a7cc78d0c4385eef5c1690f204bc5438b029398c9e0cffc3aab497e2c61e09a7cdbd9911f590ce8d820e88212602f754f56054e08d57721bb8020c7654c4df5ac63fb90121ec2cc2fbd55166eacd9dc04fcf880a16e05719a40f3e1de6c5b917f5d59ff1c71a0d1f63c01107e5a17d8972fe29e6290b27c843a7a1436b07c3bdd16f589772b7a66938a8cd059960bf08a801b28ecdfde56b18cd22ae0ecb7cbcbbe682b0cf264b13a29eab77f393bfba597b9425d84b2517eb53a34747cfcf51830b8275ae26559ef6ffd8a519f383ee5e2a55897d4e897db08fb2a8ff6e52d53326c41e45c9e57db34c43fc9412fa7dc8e154c9126a03aaa3ca50e897899637c30ebbfcb19b9331b0731cbe073a37a5a5957466d09494b0435715722c0ccce2ad2d04a66932c8e80608943c1ebd8bc1405ec193490bbbc3fb68cefe8783f9091eff7295720f05713e08415433fff0d0a6c1e01a7ce5d136320c0707d3a8828a463df807dfb08fe2c8c7fe71febb\n\n# tcId = 79\nmsg = 373138383932363239\nresult = valid\nsig = 70a554c5d1b9dc8fed39dc0ea4ef3e288c6f3ceb6aaa9a5295849957b0b46c0f1d74c548a78d882fe7c729bc63d4eedcb164a74b3c253e89751f204e3f3b24e93df00fa8a82694449f4c94b67c239275a07254d34a5974af9d0551fe9e13016a5787ab9b36233377c6d4f69e945ae2c6211681dc3e9a895c6151b4acdd9dcbff01623c71dd0981af667b341da79cb9e7f7ccdc1633872c70fe9adac7df4b1ad748671a24aacf42678e8d384c55fafc85f405dc7be424519f0602c4f535993ee88d17dff6650a7e1a93808339e90d662c37ba014ae76afd6193de7fb617131288b52e7924ad3df10e0738801b5be4ae94be3971e68715152826c02297718b29ff543a6ff8bd61ccd3c551b8f983878d66c6bacf8d50c0b4b3eb7de10fcc4c3a56a97d0e7918f260f95eee130d8aef132019fa44ac571375369052c62fd816ecb99a7ef7e53b201e5a43ca403fe403e9d12bac179e885d44a7e167eb3685dab4232d92c67c67751435ba7ddc0d4ef48397f1c80372e25e95c9f6599b3c1a1d1641676559eaf50f5cd4d3c9e7d56c54ec232e4f4a1722b0f940c3d72014c9465fa9a13587c95039ead91d231f7c3db8699f6320dda84d4e46298bd450337e553c163b17e4c1ff00701e2e97e0fb195661c7109f87646d116f4a571386a274b2557f587fd3221a100d6ddbd2daf04747254602e65ec860a5df38e0d35c21ca5b94fd\n\n# tcId = 80\nmsg = 31373433323233343433\nresult = valid\nsig = 7cc77f32ae5028bd8b53edc2f667a027499331fe42d2fb1750a22320d55213899a3139f4d498d5f6981a8d467f1448d6506c71977001f8a3b38f98748550f592453b99b0bdc5003cbb8854f858725b619bc151816046303ebbc11b40de50bc1a316afaff18fb940d0a15324fe6fc506d1def66955aade2402b8d2d006ebc5fec9d32e044322e2128f2f03badc92524f5ccb3c31f1e358396ab9a3688e7788aebbe995e003cc5cf586f88fb4005889778dcfef2a74427b294119dcacf857460333df2e1c4095fac8ac458627f7f0e98150db66def13015741ba1a7d916d9c05b2227b5cd6c66b06ced61272166e4e1b7d0f22aef180622059b4878c50773f0385426e096014e4467b646692df1e374a6732e91561342c769c9ab8fc8597088c7d84b8bc812cd96fa43f54c782f7ada22109359e312537addcbdb63f4840d41db450988708f364cdb78b612b5f06f765ca6ffd6daeb2a462a9a27450dafac35e41140c08fe122de8d97d92467ab7a76503ff9c79d02d0eb9c089e352da101cb3e53890", + "80830a8909e5a1547489e4764a66aa1b20e19a5e0a111688b799321d71c6178834f99f595b55a404eb44ec0ad9a95e2ada052950473ed5e0c29da9d1e198656a8543a901eceadea8afbe38f57a640c0df7dae7b969540615c8f2a432a8d8240bc4d166994755776fd95fe048f43de33c4bd6a18c9c383f68b9c3782ab45d\n\n# tcId = 81\nmsg = 32343036303035393336\nresult = valid\nsig = 6bcdf417bf2366c3847747dfa84b6e54f064c737dff1288e703db76c8e1f97760af50c5f4d3caf2a7387c920572b7bf7bfe5f1eec0c36edf00e1ffbca6fecec1013200fd4ec227ed15fd30a680131d837f6ebeb9f5840ba056d462a786f8ad327137d1be8f9bc376f61f7b00759ced58478eb2a7806c24eb0205ff7f8ef714d242922c404c1a84bb0cffc47a4c90f7c921ed9f1890de4122ad5b5b8ad83cf9a953e5f69c31392ee79e87eea174054c4a776ff3c8abb4d28790cfc5a8ba7a9e2a2c4e8552f823b676e24e24fd93549c1b994444ad6252d55a6edd1acff7d948d369b563bdcdd8590738abb508227c88ba4eb3f40deb70f94ae64715af4af9f57d714dd7513d4b0f74f99df341802d106f3b056136d56a8b4b8964d29acc3cba3448e804cf76ec32f30057d375d36e2b66eae61166a1daf8a044702dfb0fc5b0d8933fca2cd692a18d4f7d985b459a96746a5529e753cdd0dc8e1e71062b6b4f0c31cba6bf790a030b738a45b618ac37d7780ff7149a0c7c1818e610dca25fba39002e1b88b020a18ad33e20ed826e1ec34d20e8e7ee628156335e18345fcf2c17c6fde7fb0c61d09d7132f61eff5e1d3a78ff2768f379969ccab3eaa6d541fea8a9baadd27eb2b560276e0dd4093fb34a716def844af797e7cea0eb6347e7fd3703835040829b34c980c92915ccba3215a71bfb74f023da059241e6db516a1569\n\n# tcId = 82\nmsg = 31363134303336393838\nresult = valid\nsig = 9860ef00957ec620ae34e71078f3a70e2ca669ff30e378d33f5e26eeaae717b4d46e6a1b290f1123145e178e3e3100fea3fa3d58c3bd2fcc0a6f25a283af88fe6575c42774633d0f5e485a5a9260c85171438bec68b660384577b3671c5dd60e70530b5928aa68ec21c67fd2ef8b24805d672a90d92796bf1ed6d28385469bdda0531eec555881e7870b0b74f74f0743082ecb1bdc7d57ff69c8b233981a774f3461f134c610134c51c0882509e4157b78b3e5f45a8834428dd6582a5408679279cd3d02fa5a58c51e21839098c1b1c3d2be73950d60e239150bd4cdc9a22545fdb79d0467f9a92f6e8fae836483876ddc1454f7aeed71eceaa8d9a14f7d4a0728c1f256fbab4ec6154f4ff49800a184d7ed5351151d79e66d3579592f994f02ef43b7f04c34597271a2b1cb9a2d600b75ae5fd2a63fa26c0570c9dcffa0dcf27e9d06d30488f95e4f5683eacfdac0a52ee3edab4c663030ad837337f61e47ad84beab6801f04fbcc346ffc0b7a73249fcbcca81e60e575666dac7c8949d831f57043c3d68a839fea2b4478e0dc7ac2811acb301e1c0c4b890236fd7097d9f88b9c3a7ba13e492b935944d713ded44e82344e0e1e87a59d87bdfef71814fe50e5f95011f45bea6c88dd3cc33a8c8671f455b1ed9df2beae279f89e2ed2a7488ae93b668228ee2c3e29e3b672da9445dc080001854bf9a5fc032d5cea31b7f8d3\n\n# tcId = 83\nmsg = 32303935343235363835\nresult = valid\nsig = 2adf561bfd2a97fdc7dcf891883c4b8cbbb378677857b069b17f38099a5baad12550f77efdb240ad13ed7f620bc61f417b8215affff9ba248296c36ed087a12390b6e22e84e4603ba7b0624abc940eb720215cc64ea766acb1798aa369d2fa215b1086c2e74710d207873e362d8dc104f6159ee261ded7df09f0dc9d9121606f1e339a4434aadce76ee114a2946647340856a0ba664a699c239f2536c85c3e5b05e18abc9c993035c0b0f52eb7abaaa5edfbb9aeba4d804a9580146f3ccfb1df96ffd13a854398c4d485fafead4c591644cabe40c724885b3105ae7c524108f6523c8081ac512afb8eec7e9b070e9d66042a9edc504d0b4131b3967ce1b1e70034b193ae6ca4cea0d533cee724a49aa23887bf3186962f4aa5ad4190d99b026e95d53bff8dbf60fbb73baa763c2b0f558cb0d552637def253571b34dbe64bd974142c5af4273942b7ab5da6dc42c0f1890984c31539aca67c39fb3ff2161da5594cacc6199dfc9fc09acab2eddc4e30da3bde28329984d8afcec915b8868a60a9f5bb72fb82a04092ff43a954d84afbeb760c1ede208732185f8014f737363ef181c0db4d1cf8b3ec4f45f3f7f6baa1ae587b9ec3e218c0474cb38c338a1c4f8863ea24cf1f14a46d1ec76ff07257808fb3859277a4385b73a7a66f6b024ae9896e36f449603d5ac68fbc5db5120cb59837a6e61eaec24f9784856b8a92f1695\n\n# tcId = 84\nmsg = 31303038303938393833\nresult = valid\nsig = 4e7ff3036442ad1ae790ffa6451f14650c035ac1d8becef32cc592543052ae338165f4aa5e7022bd221457d71de81ca59386c3bbe78211784f13efc4ac571f56f090fe05d833f45d8de6af081c00e9e1628f34c394a857c5d098454680fbe3b30e8d8d83d29525a1d7fc6107eb90e81f840154d8f2677119cfb6fde8d77df676356422cdfff18ad1b64620403ebddc665b6c34bcca9f86d1aa7ee4844208d4cbdf634d8ea95ef425564f388a2f2deb0b0592c04d1bf3938d89b063bc679153200b27a935d7db9dbb8f4d94c4e7b5784a44b0b6239eeb82bdb4a615a7c3cd4f12cedb0931cb1ea588171a4fbaf0bbd97fb46d6070dce77bf3990ae6f5deb3752fadc87a85ee7740c4f47a3c738bc87af9df729782dd925541300e9b19bca6e202b4d48240374b2742592528c519caf5872bb066c7f896804882ab471ab4f68aa31a8a03a040875d668e8fb69e732acae745d568c08b1a14ac1e80eceed4de3103c59b582b255899734649b8de89a6e247f2d9313dea59f6f870e42e6cd859fa4a2ca6a76e7545297bdb2cff5aa419d9867e02e4a414f469ea3d55fc0c5f98618f6001ed87c5be0def6a9ff7950a14104d9d75f06ca9d8fbe3a43f4e29205022daff387829e49c8302d2629f15892f8c92aa265247702c07d090d70f6c5d6ebf654a6f0ad08fba0dc727f5e9123b2b5c25b12ac71d52edf7644c715b38b7d8c11e\n\n# tcId = 85\nmsg = 31353734313437393237\nresult = valid\nsig = 1253a3896ee6cb61e6b7400aee5ffd767bca705c0236e1cbb3d7712fcad7b504e739371ceff0774458a5dd27b342a8a496affb76c1c5bee23c0b76dfc37e959bfd81bedc226218aeb9d160f41c1e568180b36500f41c9642588c18d7b92a8132df4fec831cb89f399711cb28520cd974736f9dc460e06769bf71d9cb388a06f86e16bcda1903797d7bfc0262d298fca5fb888d2f7cd6deb07f994326288519df647e9da70c69f4967ade38195ff4e3916eb9ff22c28d691898c7d61e7ce8d587d9b7b4c3eed7d5367f3d11f9ca9a44cb760b9956abefa8495021339ca89bbeed56fb896b717ad4a2523f34f6c23528878c62782bbded8d17d75741d0ed235ae515bc704bb2b520cef951019b382d8e949f96bda73cafd2fbc1f52c182aa6455617a78ff88bb60aa0ee583551753e8edf8b3dcecbee77668b55131cfd5087ec3814d9874ca142ebb139461b43a96a9269f0d3e80bdaf70024417b862fec325f2f303f6e8819e05d39e8ea8ceff9e25d312c305bc2f1dd60ec69b6354f56167db73a96fe31bdbfe65fb4777c2846201fbc295907668a3cb36aff8d19fa035abc2a1131eed540ba28c0ddf74c1f0781fe1049e4c86db5bc907ddd7130f81827990d0c0e6beaa81a9886199666bf11fdb1ff3603ac04c1bb5d74556ec20e8f3ee9a7d81bd3aafb7b00fa645cd8f4f858b997bb4d727c24b9fbf305ec698b11ed37aa\n\n# tcId = 86\nmsg = 32383636373731353232\nresult = valid\nsig = 19f604db890b3b7abba8d6487ced0b7dca67817d457cda87f8bbdd24191f8ac02dfe215849b607e8877768f3b1feb7d0736051569660ecfc42563a7ca2da82edc83f7971ffe1cbb1e195f21cff262db58401c41112acf214bcb5612b8d28f57eeaf9cffdcc99dd68a5bc4fcef57ad875c9f0d9bb4835702a43ab9f81ce06dc832a7b016dd33e9cabcfe701542546956ba013465cb72c952371055da1e4d6f51c0946962c6be3844c60b5a59e0e84bbb144ae038b33a7ed73db3254386001a63882e958e460b558e173729cb8da60ae37676d4b6309ad89e8431043667bdb98701070ffbc20f21d2e0d7bec6cfb4f928d8b482fbfb3d7c8fb0b757c71cddf9cf180f40bc115536011b0f7ba401f1f20a53bea096b71c62d238a31dcc7067124f04e1115e17175d870ac6873650bbb778149ba0a5518d60032fa18b0340907668754816740f958ec162d3e632723a09f18c238e0e58b13fc188f43539087c198c122e9f33fdb0991ef6ac58e244e76a849acb0d0023f94a51d138a56b696dbf068741e6468d00f8f5f4dc01b350d93e9ccf605b5805a2a3a4bdef6b60d8b54b374ed0b6eefd292d773cad2caed827ea2b0cc41abafafbacc4fea63ec0087abf666445db08d0ccc5a1060e1e02d323fcb76f826a636e81d3b5cdb10443fbac9d41e00d236e7edec11daf382dc1776171a9d31333989f2752ddb60af0b5e1b8b844f\n\n# tcId = 87\nmsg = 31363934323830373837\nresult = valid\nsig = b6fee9ca84912c78f5c2acab8ed83917055012cee80ff3ff36c72c6ee84e36c606a1d1c2f649cc5bcb62c87b6e75ec027d51d998f28ba15a701f66ef092774318a83c14111fb489202a481bce14eb3b8b78ae16aa283edbe63ad243e3ed7747bcac9d343ad77a246ac1a1b03040ac6be71c1bd1a707714bfc2b0a7495ea212b6ffa70d1c8f4af9ae24db6b4619598853b721a24481197bd386f6f6c16e8eff5eff55644f36c61e96af061351e405e023be00cf23c6d31b298557291a1646922a1ce52929a8994d4e1307f4a05adb1fdd43c20672edeaaf388b5d5f32b6b3b7dc3869ab56551c01cd8c641cc22632ec16f84533389c0c5bb1c17064396473c9aa50d38f0cc619f51ca41efd7c1a8a8b6c9258f360ba97845c87ff8b7b30dfbb5982ab6f643c0f1dd7c4957bb1347a14e61798e526e57ef4ff7269d784361943e59a681d09b786f24d1776bc1fa20c3f6f56b75860da67667a9a7c2aa80bf098bcf342694d46fdaeab6cf426a4dbef89a9c9bc1d78839f5a04e411423ec6b41113068ae47c5d5d82c2d2f81b0fe8b1ab21beba616deaef41b55a8b09a256d8a94d105bcf7a131d7cc630a80b23af1c4a863d30e7bf19bd4a592f6c8c6f31dbb7c1075985e61d34cb0a91697c645ee2448f47270d3e912f0e65c263880fc738e5d966c43dff728d5a7e434bf7966f02dca3d0a0ed0bcbc79daca929e19732e746b7\n\n# tcId = 88\nmsg = 39393231363932353638\nresult = valid\nsig = 7be81373fda33342ec2f1a0ea8f9cc7a2c0c69ee5cd86e01c29dcedc165e9dfedc87dea23ad871337add303da73b184821f2613bed6e3042e5ed2b7f65b54d6596bdc2307feab05a87b35eb499cd92e9644873586aff5831f7e2e7ccdbbfb31324d4940e95d462fc1e0e0a4ff7a36709b64c2abfebce497ade1976e1c9a571628c8f08e950278f39a429", + "f24c124f5d447dc0d2685395fa7d7fabea7a855fd92d8e479fd7fbbca318ae055ba0f88e3b1c4ac6fa51cc8d58d34f268f8643a76f49f76525169cbdceffe817fd749bea12421829b1782e5b11ad176b90040e61b7b0339de282f3661bd0946b3179e79dc455069b0359fe270df03be8c8e79396e81e2a4ec090cb62a73d99994c560ae209edc6647997647c415bf537360ed4fb2b051387b58a8ba8b82642f7e65e405e63c8696f7fc949a5329431c51a41bd1d8af94a00e4e3af16c0d1c60783e170e3a3f6e50995736f0fabd8f3c449b2cb382bbe4f98691e327e479347cfce2ec1ac08d50a87e2a43b56eb9afab446bd49e27ea18211056bac8a4004cdf06993578de929b04e70af941dad8b9f5da8549dc5bf67e67bb452559b9b7171780e90399652e8223afa6a7b6ff6554eeb681cf5bf50249ff5462d6876539ddc4b07dfcfd0b3b6cdae959fec46f5c5a36f976afbe23c11cb5d7dd1c0712fb2988c1c31bab4b1929e83c79fb2258adf8f92a8e0529f7ff1\n\n# tcId = 89\nmsg = 3131363039343339373938\nresult = valid\nsig = 7f6812a65af684a3400a5e828520b9b078ac39b7b3d2016f5757216da4c581be2acfd36c99f2d927a8b9f5ea071f517f197df54eda08c9798aae5816b66d821bf569d7d6df174eeae62287bc824a3da2c539b4ac35245ba44992218283f0cc51ebb2e8053dd216f0b031424aee2d0f1a064a912bf7e7d04185b794f8fddca2a0c87f5efebc34af850b5c50089ffed87dd1b719d962f694e97e9d9bec5443e031554534e00675743ced13871ea891ae89cb18920c65c3aa36b0a2eabe8c13afe7f08a299be54b07d05405021c3eba10137266b7edc83415798d856590ff1a063cd3141fb1dacf08bb757e75f1f73c4696fb2f02453cac0dbc7f3a75e1b6d80b7f1817d6b0914ee79e8c3ddabbc7ce80d21c0d71aaa9715e2d963393763b60ce28d2f5f7dd13fdd79a30e7b38aa2f3ccb08be80ac67ef762a7da1a20ac02c28b5bb4e0609de320cf1234fd493258929319ed2a11f68f221c17bae806191d6f6167a5a75391643beda9b21fed620c012af963f81fdf670eb6d0ff54fef8b233e7e422154b8b0ed56aa3511987aaf714fc8ca203991321ae3875020d3a6109c8c9234df4010c58aa70228d262d3f120b82c0491348c66dfeac1baaab2d9f4affb034a5cb3adfea8d40c46844f0897c86a799d719617cd5ad3b21b97944c6398ab8d8b4a23eb1836a0675daf7a37db327b5e8ad15feb4dc74ec16afd4edd7e723273f\n\n# tcId = 90\nmsg = 37313836313632313030\nresult = valid\nsig = 876ecd8c4569d57b46d06f02af46c52c1f01f30798fb78aea5b894d9bb63c02d7c5cc5ea665b05ac1a7149cd55a40dbd60081c59c4d7a3b3ae2ed317a27597119337ed5a4ec092e41bfcc23de055bae01818beb126463c07297a08b3579b35a386dde533ee33d9b6e06a16df6b4258f012aed53377e409506d61e2721a18eba10c6d0166b86475c82eeb10791ef2cced9ee15a6530a55262aaca105fdc9b3012df1af7c798bf5da5982223bdafe1b0fbfa080ac68957fac4ad75eb2ae754057cfd64068f395e9aacf2c9b2f6f28306f779cad7d62af86c20b5f9feb5763c6ea00a6c6ec7ca1fa74d814f878c587edfe20d8e9db78d9b7c5ad7c9cadbb4b176b40c0421566da81fb3cd05e397423f80e4a89f3098cf82c68eefed48a3945cbc7f3625e8806899501d320695ed3e36ba18103434246caf542eb807f7516bc2773dbec092d3e7370e3556b041e9a59ab3569c2d0418b2cd6a87958ad58158bf9d2168632866c4b926b0333e30e2f1f8f36caaf27316d3eba7684b34fc76680490b1a8a7e7ba312f2f3ee38d82e8e8caa535f2464e2c1b6ea3047542fa29decb975f5fcdee17ad47aac690d78b2860e7d2cd34b4cdfcd75f8bf2e2a8f15ee9ad150029bd7a9da6f237474deb25702be8720df2edc4a2bc271bdefe19a2fe5828ee6d806d06923cc239f53644fd75dd362464a0baa9e9fcc2af96e6341d01d48d2d69\n\n# tcId = 91\nmsg = 33323934333437313737\nresult = valid\nsig = 3b5fca402733714b12031ef7054e160b00f7a0f6c00fcc40a2cee4b790fdd69e9a47ab4212ab220afee5d2d045effc16ed1d3e0c7a5e4ce4770e16cc407658154325dd4e9c5ed3b91bc89366c15b72270a20b8cf0e10b3a58bb9c9becfc881f3d4a620227c2c5ea1a7ad85dd8b9d3cfaed0a199e369e8add4d3732687c5268ec4dadebd20995d15351b083d874603462ce9d19c507ab5aa0561f794622597eead040fa11547e833addf39fd7062c2f3bbe5795463386beefe519ebcea039e6611dd0424b34156e522cc014158853465f337f47acf55bcb91437622935f318e5a03c47113e12ef1b85df46a4c6a5bcd478969d1998cb599435979b513d062c01f5b37bddbf77b106cec3a221ee959c481d42a0247f97e7e67ecbb8978ca5de63491ff05834f59e6f5000e4f59fa2fbca217cf6a1d68e0998c83c1495ceb3cfa61d0b834c99deedf767240d8229e6e6ddc4ffa0acf9c2c45c3b06767e38e4a4dbc2d1061ee41435469d785edda24f71ee3440243b122f388a1d89b3714d46fe75512a43834dc5453d77b7e44b23144606d3b81d86acde3827992722df5829c002889be8596b3e13c895d71d73fb359f917138637bd48f5d6b958726685b83dca672f848769fcd77da2e63251736b82cb740cc0e137c176dd29d155a4c9fc2803139c070e19d6e66b3e68f7f870628a389c5fb847e61f4e8d9fffdc34202d9c8979\n\n# tcId = 92\nmsg = 3138353134343535313230\nresult = valid\nsig = 172fb6c2df3b8b411813e913f633e98c3316d983654d13e3eb108b6af6629a954a2a0990bcb2041bebaf3a6584d1e2ea6cf2e3242778ac5566d943b5fc0ecc2c1bf97a60fd1132b4c1655fc3642ac2f9cddc0406abc272333612176c27c560ae2bbad3119d6ec1472611989a06f508ae9df23b7a807bb2319cea0a81e2458df2116b14d985bf0440440c02e98c2ea654c8bc03b12c5f03d8a5537955f2d7baefdf6e00c8d6c9adbe52742ffc3cb2c60d8d9dfc7a8fd758ec7ac002d78f25b4f58e9234c0a622db9c416998186c72de2a8449e552d52bfed674187cc512736bfcb8bfeaf392b44dae2beb432dbc4916cf03e2e4f2e1376d994c4dd79e0d8dbd9f337082188dcff0f803a658bd904efcc380376a68753abf158cb466ca01863dde78c983cd239d128569e495acaed2fdd09dc3385e927cc45e815f33026c62eeac4adc9bd9261db0eb34c67481d8dce3b7ea783a72d7d4b2325c26ce99310e0ab309e9bb3b680e815a2d979dd42b7f9b94bedd2ea5607ad78b786037cf3cd37db20201a6a7a598b1ab379a24d07eb9b53c600d9fcaff40e4767f87ebdd8bddf2284a1fc98a17339812ec63624b2d5a414e03e4397546a44ddd6e70939815e42781ab9db8d2cdecabb5fbfadf8258b20ce5b47624bab002c64d6a6c1c9750c14e42fb7a513631d65f4cc2215732f09024e6fbd1188197518630b2156306e81a1feb\n\n# tcId = 93\nmsg = 343736303433393330\nresult = valid\nsig = 6014e0ce22b92e4015ada297ececdfb61a5337eecfbd0c83aa738e556ab0b408de54f5fad6e0d53d41d7faa24255374a63859e973bad13f1eca3fed5b2a95b54a57c880e8432fef66c9b64609d922dd66e4d1679cfa6cc29739c3bede05bbddddb3e43acf59b42ef4fb1b19f1c08d88ca74f2657aa88a38ec403bc0c5c37cc7e7d15608fe3f9a4a4775c5cf1c51de01010d3ddf256d7567ffeebef5a513ca175e659f7aa87b53f4462883a8daef1c667f1c99e55c3ad9178ddd7089c3ddfbba8a4a398d575e3fcae5e910db4f0372b2fac13aac7b3e13bcdae76842c63b226308b5dd6ac16667b627207a34ada42eed4206142274f36eaaca309631a1f9a6de30e450d156eb956daa3d303434def0a9216efa83b64def5e42e5a418eca2fe1a3df99ea5becfd978fb9ce75f0d601e72b755ba24967e51b500b2fe57077ba61ad4030c8e1ec965ed85176559cf8808a53d0438f43bba060933cd87e1f7ecfe4de028e68f5eed9c36cf2b8dbcc92ab86f143b11eccb0948957e496b6c4779e332edbc3c3663497591e44903256d90d0824654d2270800959ed43e2a137a5c14a8c1baa9b58c1dda4a6511eec06a6959d3e9f6459dec78ae0091dc82fa8232b08ee07f975edcbdab88dbc278cd74766a1688a6841c99147fd5a64de755318095f84313cadea7f047fc4a90682b21a088bfd357d18b2f83fbb5cf5f7c0f16e4c3548\n\n# tcId = 94\nmsg = 32353637333738373431\nresult = valid\nsig = 5499b7ad83cba2dfab7485b6a116d92b17206226ed20e21736c497afc55ffb136a3bc5793e588f430ce4548297b2f1d8ba7deda9a070fd5aeada9a87450cc0bda52170d174bf14e14f980a79e44e331656762e6c8fd4fce2a7ca3a168d6a7cf8b36aa86e67baf2fd641a51899f3e90a6e2c13a978dea643364af6ddd9d2d1bc6ecbf1283e01f253198ff908759e669d45920691f297f2ea3a9c40928db1f225afaf8f33b4af5ed38a18ad7d7b040c4af580f49d7199552f684e5db2c308d697ae01fdb2bd0092fd4bc3a0b88c68f6afa57ff1069e5e79a1717982b22b200439ea1f6ba04a7d42e9571a1811f190872d8a01f916aa914492301121efadba8915669b44d2a5efbe4209388b2d5b5ea4b0a3a92d0088c1c55ef50ed6435bc7e6cf35c2c7dfc9d3e92734afc8100ec7cdfeeaa5703818338702939312a59a48f4c441c36c67efe1f4b2cc95cc9a8d6c8a61a43e9823819fdba526a69cdcb2a2e840d71f4a9f735fe8fcae86e485efcc653600a175ad75bb956d8cf875f05428c583011b8f21d34e8f9dd4fd706297b92ebcea342102415ee4d14d0c472c0f952834e021b31f70a85f72119946d39051b1302a26d2df0cd5b1d5e0e1180a136932181171de3a656f650ade2c480da199bd3e2297d8ab2f2d0345d60063fd6f09b6ce9f12a81feaebe74c906739d3ed0ff0f0bc37d527c1f4dba695f8d9a09e3764646\n\n# tcId = 95\nmsg = 35373339393334393935\nresult = valid\nsig = 7ccfb9cd2560754d74c8d6271d30ae72a8c8552bdb575cb13b9dcedfd2c46fa6fd1d2f6dd7162878077f07382d4707eb925f9c25fbbcbaeb3c368d855b25efc033939b70beb83340460334838f6644df7f6efa40e69a231e7ed33ad10b26c684e5f2fc495b62333557859c374e54d10853f8c96da26c0213d3ed08ae3b7abe8727aaa0e1c7eb86c0958a383c703dc6671a0a9990d0e48e65ff83d6339a84d0502ab3cb28cc080e158ebb6bcd99584b8bf237877dd90936bf5c79003dbb820f5b36fcb9b704cc4d1f37bf212035d7f3244ee26b3230ed810d23bbd889de0434c02e4522002ab548899e8ae3957311666ee6c9a8da6cccc2550888859e84a9d419f8cf4f312a8ff23b2fe27c5f5df89b013c13292bf91ac84d85d646fbe5d9e793da20f32f1f54b4687985d6776b86983e2d181b16e927941823409fd4ceec8a945e10bb05100f05a602b7f7d7ad150ce3ca2bdb035fa3d983da3c98015282022436a146346ebcac6d23279338c4812c7660a53ea60fec8b4db4fc4bae47a42de679589e4a3a44d2f3d65c8d73e7eb75d411db2a15e14cb5f209d5d4fe0f6da9615a0745558f1930f7ddede0b0bfeda753", + "0aedc8a025cc84aa7068abfb106cd57e21c5aa5e5fe314b3051e6adf6ba67a46e4a25efd49fe65f515ea70a5dcf354a41f0208b3e7e71119ee0b429a15a50e1c77a794ccccb84a2e22072ed2849b8ef4\n\n# tcId = 96\nmsg = 33343738333636313339\nresult = valid\nsig = 4bcb1f8cee9da35275f0c66f20a65bfa92482c8c000111179b4d0fbc080f237d217ce357767759bfe36998158248e342ef17ea6161202ff038617ac33992b40cf054a65181983a84844bddf6e6338ba8700f580f3f248fc4c9aa0dfdcdfb344ef9689e02d526b2565c99911a37f336aaa294641f5a62c1a83adc46959ab45d02c180f4f602a7cf3c7011b1b94a1355708313f75e5dfed9ac9e9e740334fba7404d3b46f42315f0c369ef0b96e9c65ff17ffe5da6b543295048a27fdba75daeeafa466ab22039887114bc68b603bfc1e11599dda99bb048468e717fd05fffc681f8506d34a97dd876e0fe8ddf9be3a33e6718ccddc7fc71661d7008d9a7ae8266af3745c28f35d3ca300b4768dc3b71702f2bf810d34d907abca3f3edf751d941fd552371ac2802649a3bd93e8e21dd7a0bb96466737ec3df0495bd95a4a830b717b128c08e71ea2c0e2b20ad1853bf8eaa33ff814724b1d2103c63d629cbd38d5389e93d2c29fc17051fa332d86959923ef4c3df53d24ff2f0fadac33785291078044c1de7dce3102a8d0d4cda5d560db06d81a502fb25e3541b0dd1b410eae3a5c3f5e265e709d3b9a7452e7ae9e7a290d31d3e51e3f8807b25f92969ec3d57a171b65e3949b12a7aac1d61bb96eba198149fa8a71397823a316f37f539bb3b6f663ac8a8443b65f0eb930546683f31f6fab6ae954ee0926835b750a99c63ee\n\n# tcId = 97\nmsg = 363439303532363032\nresult = valid\nsig = 62a30b6890e6a50bd8d50ee952cf46af4f3f6771cb70e82cc0c37c4e67caf929abd23d1ea4f6aaddcda1b888baaac23fce87a3fd691ff61f27f01a1ef56d62bca712353f2cb3ee4066390e4cef5f1e4a0710de4dda0c7719205a7de1402bb3d865363e32b2db3333cea9f54b6388a8d6e5f69d244a42eef7a2fc68344aa94243ce74e059241c5f63382b2ddc11325bd696e6a93b40a02ac8b951706100058cebd07e53002aaf70ea658e44b369e07fa9189659308719486c8004f00fa1b720b88153246e3dbf973f7be69c9cb80c1101c77ce7645d9a787de260dda80a6bf18e504f5b93191bb1024b7c5223e4840a3e9cb56832db722c3ba80df79ca619f3fee613152ccf847b35a508b0b515cb0696af0144b3fca9e621c2c5f2b64de3372994da70ecb82afe95fd5de28f3aa3a1df1a910816b9e69954d7599765066a34a7c3ca95ee6a90069bbb5fcee2248e90eded32e717b062564b717bad68650467fbeb174b2a688e526e8414e2defc7879e07b927d7bbb5f09d1b28215e05d15a8ad9281edb50f3a246ee08d2787eb3b8ec242c3d2d33abc26fcf27d4cf6bde79635db8cfd7e0235d280a735b2fba72f24bc265c493d9f0c3d5eec3599be4a90d9b56281a7962cb68817597747c3115a4610ca5bd65acc6763d3c4b337ff5db78e87c267a92feb9652c0eb131908214ee01c49590293ab34b3485edc94aaca4c7491\n\n# tcId = 98\nmsg = 34373633383837343936\nresult = valid\nsig = c7049f15d0ca1724e66c5efc64b782b418cc153a57cf5327d9be95d0f639c732113a0c806ffdc7baf14787393a9cc635cd2ea5f166e48885c55f39ad6c60f817b4ee013198d986b307f333b5950429dad0d3582a78ef3619d46d5f944a442edfecd0bc1dcd74429e59c98fa0b532fa7e3439e67fad54bb1013adcd92dd1aa7d2b1ed66f2582c6b1c83cbfcf7d168a8522a1ef63508d07b647c4ab0b867abf9da2e1a20c69428bdd932af73a34ac7897675a8b030c11e4de9febc426a7731cf2077cd2435d943c6452dd11e0ab25157b922bd78ffa9fa1f36a3116ed3906e6696cbf66a5719593e54e7159a6c732fe079c2d270586f0509c90fa034ceaa3098016c6ff82242e20a69c6e6ee318c24501bb74968fcb47cbf58a7f97081ec71f7a94ea062f6e3fa7d930d065ddee3ee3f8310a81da9a1ce310d6bfb46cc01561b98508326f9cda672d8c35c0b9ce29fceb3fd4af9723f1883cff3f9ee7ce3fee2f0d376481843bd906578f6603e8dbcb5b195390bb7d429915360e1546a65a9bed0dae431b59b72c8932779ea46c1e2fe320614ff0060511d75ed1c556953b1f5d86d4ad97ba45a3f75b2c557b1f5b084a3aef4edff0d6a20fc3eebc9afec028902814d12e1a103d997c4e978fc8f3818c789b663aad989728258645c3536c38e085e25d6a8c37eeeece54c6848b284441176c2e9ef57a65dd1b8fc3da2db693e77\n\n# tcId = 99\nmsg = 353739303230303830\nresult = valid\nsig = 2cdc8ecfb86bbc04919dd77370f863b23ce1602ec660fe45b599d81f12ad66cd357ac90ec638bc9bbecf7ea21a85e01b18be148f00ed98c91339f03212171a157b721f9a22295fb7128b053f7ea1924ef5418b13859049c1732126c734dba42b2048aba6162d7ea612fc0d7fc9061382766b804957731709a6dad989b69445879ca594d9e9b8faf222ceb9ab52ef9d068ccc6228a31e0e042c7b27593b6ca00336cdb24a618938da2b8a187308de5ee1ac5c74e0f3b2e34dd2665616055f6696f685a5cd133b62d813366bc4460290254b8229679aa7e0cbb868b19c4313fb22d23106754d44f6edbdc983801a6270e29905ee8d6ddccadc4654d29b464a474ef5d6eb821c26c1703ee13ed9475c70e0a49b44f4fba9278ea591d45d34f07448a6ab755d23422d8009b57328ad7b389aaad305f2af0891ca197c2bed87ac950a3254b037b1b13b2e14ce09e543f3b96265b081ddd07557d1315561d69090ff6db42fdee6ae64cd71d42fda5357757e7a1bfbb518df017ae3ad018d3ad5f853d4007edd0a72d3bf560111fe95372599fa92fe90844d7e0cc3fa469393e0a0bbdcb35ec4133f1e2a538ffe77e59cd71dbd0557a711dc3e0e40460038cb0bccbc596bf466221f45f60c8535a9c968384c248b9ea555552e0072a5e5a334089f46ecdd5295b35c1e00579627bf63815b84379ca4a87978806be1fc067c043968bcc9\n\n# tcId = 100\nmsg = 35333434373837383438\nresult = valid\nsig = 4e2cca534e403b3165d9cb4ccfb3c60a725872564f22e5cb2823efa3f881053260e54a5423a2bc481b02aa9f42292dc3aa6d3b493196fc0c7e1684cd598cfa7f1fba1b3a34f88db964d104c92304dd2501bcf4ee2837bc2c831f1796ea494977ef5f90eacadf5854c64e34c43c8c5841a0425c7642e55c5a05cf01c6504574ef32e6a66e90481575aeafb66f1fc15d791c0b0148540e6f5aeca5a455020edf049a946f5ca25193d43b69144ba0d8ce4c68a0ba70a0eb8ca695bedb599e8d6e07272d0f585f85b5bfddd7f8bee4a683359873f4ae43b15d632b9456e9c586d4472f9ba623a2f26d63f01a89c25b12652f97ca6a9eda2d6800abceafa8719649ff284cdc26ec64d9db59f0e7b814d04c6cfb64c82c243d290f9b3ed52e4b7d7cb1203e7245e36337033d250d3a568afebbb544a9724bb0dbea80e225777ad4b1fcd895d931775ef929a0f7205c34b381722f0c4c6e38d347ac9158ec5afeb20265397c4a38212c4a97f1227b5e039ae029ff9e71d3e87219a16097e41ec68e83f9db0826c507e9e39d329fef5e918a113754695e1087d59f817088e1726e3c95f1bceff8c721576e3abcd1b4cf6bbf23eb7d80e85431eb0c711c65f33922855293d1ab9d48216436e22832f379aa2daa216333fbde75249c93d73587063b4e7581ad114b9de83737df4816548d95dfd2de6c4741c334fc7577c6a9c658b4b51451\n\n# tcId = 101\nmsg = 3139323636343130393230\nresult = valid\nsig = aea92af7c6c66127d15e871ca199643932c50e97718864c5344952664aa4927b76be66e4ded635dc1ca324c4e3845fe664f4bda1565464b1e7d34eea3693d87f6fa456eba509d51a9742a72b39b731d09fca3bbd442c8da77d762a11dbe85c476ac1423d8cc12cb563b431b120c0f6aa7cf21cd9cae0783a9b2625e7f0d84810e2936602a56ff5945f85d1ad242cea95045017efee2c6859c00c5821d93118c1a6c45922878e84289f8d5902aa5fca52d526145c6d89d8d61145959e3e53f61f5c2cd0a0fecdcbbff789b2d00ec1b902343664fb5aed7dbbaa6cd065ee41f03f61bbbb72f60312085551ed1a2389ffbb5a008a4febac81ac505a63164c84dc3dd9df7add84d9b0a0b230b973b36a1ee27936e38f887cf1caf9661e087b7c41956004503ecd4492ece4601681f4998bdb5cbe6c94d6ae107f41a8b127f572ab3a5bb30aa6fd59b75f1eca9218ace61d832b9184c3fdacb1cc7e7477733972a6d08dad800ded3b0fd784ab90d071dd7a089e896d3390c2bd3306039175e70b4a0a02f29059cb168aa37d0c34005656481658cc5eb36776d33dcfd3ad6bb0b182b409d4013d4fd1a11577dc75a23d08da904f3aa0a9382b6bc1f504350d50ce0de78b0e9e0ddf0cfcfd0d0af941a3e303502036311927f832c19a9ec0e6d748a1a8be1c1d9ef4d3f110f4742452107b2cb56dde7a9a32c3c9b2c864076e64d16a58\n\n# tcId = 102\nmsg = 33373033393135373035\nresult = valid\nsig = 86b7a675432634c266615b5491599f0f77fe0b0dc9ef8dc46d791de8dac6f4af90f56d0af7f717a9f88c1c7288e6d97f791828d0f66218d29cfa12260fba406ec22dd0d5be5ff579b5ff2682011f10a24b0c4062d89c851cee27458d5e79cf6a2b8d8399d9efa15d78514aa92c80415d1671060585ff2526a3e9aca3d9c99d37f9d3e1b42e91cb8b90cb0ae465ebb44beb7360950036f976f24f4d5fb577b75198c29081ae573c4e44bf136c18e9b71e3ccc1a54d118ec43de423c14457982e35f725cac9d75956df0b5f397516a0d560c19f18a2beb3be5ea9fb1259c03cf825d47ad80e610a097ce35bde8e649ab5d2c9388b525d73a47c473107206ed255d37329bf9bf0a4f96179f5f6085559c0a2c0475fdf725addca0ef24056b2a2c9573bc8f7ba13b5574c1c590c47b7accaeb26cb35f426b7fa8050854ebdd58fd051d650f7ea8ff246d69f6db2fafb5300eea601a3b0925b54292f29724f11717d830e943b114369343c2eba7435ad4048f23fde0d38d9882787e69de116bc1f9cc9ce71b8301b1e539e7fab269dde8a882b999a1e9bcca0ff37f99172ea82e8166227ed7227e73e8df5cbb434034d09f236162e893ad0cab4c0e4268c0f9ab58a3e4c8c72031175c5ebc70df900c294d278750c45234d98506eee70b827f2b9d13af09197e6ebb9666f85f9f91ef0bd306dfd677255936e768549927b635616bf8\n\n# tcId = 103\nmsg = 3831353435373730\nresult = valid\nsig = 91527ce9c6d98c091a7a8203c20d43486391f7fdf76dc39f1959c7578fc38aa779e1d10d3953b073fec8afaf352588357c771527e89bc40b1fd1f2da3a9b2b4809793f0fc8a6324aa81f00d834143717dc41e38fe3da1a0ba359d146625ca23e7df6ccb20041422d6d44f4ceac397bb6a149b1e17c2c43eec5b21c6ae5163c910b3984ecb6537aaa81b525669f5b2feda8cd6a6a0a580ef5fbad677a650644afbe7622fac366e52d08233ec2a6c9c5e76a64fe450c5c656731", + "45b65f680529fb3664befeb57f946b40f780278293620350229416321479419421120d7ace900834bda75e8bf1a99f9d189b9aa14fb99d64042c96d7edb091896bfa536e7194900d806bc0763f4d87946c9b6f11bc85d78f63785e5b19678eaa63279937e08bac06b9a69a1baad68546918324d7e1b5f6eeb4d6d1bd8e1cc0ad851119fd8051a0b303c87f91d7a13b3fd6cb0cdc5c7d0df73a082470389fc8e024584da5e6ef61fb36c1ed10fc4eb721c81abcce51a0c285e77e59f38266f600f054c786779296ac16dd3bbbb58e90da3800ecb50ac893df2d05005a64778bf79c064474b9d9ac8533fd4f0565637cbff6a505e2b4b3ebe3d5469fffbb36a075ef91ad849871ddeb78fae761cdaf454ac2fa43af60dab5f614adbe74997354858a98660529912c1db7175374c053270f8e3ccab4b712fbe0d84269becc04ebbd95985b5429ff0e\n\n# tcId = 104\nmsg = 313935353330333737\nresult = valid\nsig = 53f4dbd17a75ebf198206f2c459b6a064da0a0bcb5d8e4e35212fb90b9315dd8eb86326b8e3701f51dd02cd0630e452763dd53ed018cce9292b2eadd6b21593f8e3e2d5a271b391b97058966df504463f073906a46edeb88b20d4e34f74fa9f1ee4ce25c251033588dbeee7a75447028fb99a72da3725d5d87b9d09fd37359656d259e78871af9f426a62468a0ed17cf83251ae06289f9ebf00bfa61e7f72bba8972f4fc6a57c666048ec3b2c2cbbf96fa892d026848089f62f8abf1e2c1c6d4149356c6b61af710fa7d8ed69b3bdeb222c9daf3eff495a7aaf28d4c8e7992ef6c2ff19c497978f739405eb395753981578cfda2fdf59965166d25f0a3bd6e411cd14588ae4f26d7582fd68f8c0a5001d6a6f559f2c84801ab7e5f1008829d81f475ffa9a24cec4e5864645c6828bd638ba88bc6d04cd9f9ef41e9f4c7f3ac01bfb5f88a0828833cbca8d5d8f840f4ac6a5515bb551f69c3f6a8d3ebda5a93233aeefcea320e63a5c2448f56458f613fe182161a319ef9ba6fd2ef28f5c16df844ea4a6ecb15ed38635d148b33ed331540073d19ed672f87231bc220197c7d3ace87f9b362378e90642d3a349e27290d1f32e004e18b8cad7ff9eb92a3d980a7ea8d2e274e86d3d3ba8f64f94f893c5fe8e8de4fddcac3b3d50b02814b30174ee7439f44421f6c6b6a7b3ee0d7dafc9e9aeb405c5498e83c69f45a8da96ad94c\n\n# tcId = 105\nmsg = 31323637383130393033\nresult = valid\nsig = 9f8703178debff5b6b29e524907057688874d51276546f18ce440bf97b410af7694fcd41922b5630ef3017f4fd654a07da29cbf8b73515be0ba254fea595d97b57d1c69208955b536bf6caeac9e20a983e644fa3a883c9003927274f7de0decc291ce40cb847e1ad9196842a2504cf066b8d53c7a70fb23295877bca466ef79a5aca5a92ab391ec0ce4c6f2cbc323d9e4ce6ef235f81343e2299e2526a444d19c7d54e64bd7c8cc81764ad3eab924a26c4bce31eb384aa7cfd2cc9e0532a2e7862ed5b44afb1c90b8fdc2b8e27f41dab3eed9f48af050c36ac2774bb354ae1fa1f69bc74946c39a43192dab67d2490ab1db2c2ca2f8a9abf3fc1b80588f40264e8d286425fd2693cea3c1280db21be051b9198f5e6bf580e7ce2600f4ecd72c3132424f35add136120d5fcb1307ec150a218c26e35abdfba4c36ceace0b91b80049569ca4a3f32523756893d41df2f0294037855d1e43973eec61dcbb1843c8325069ffdace065b2ae138706723f2be7c669f967829cc5e1df07be0033a6e65e9e6b777005879f78905162ed2576205315fc755c958a74f73bdc5ca041e9da74c3a40e2cdd4be9c3b3cf4a4144b33874bbfd1249b43865358be607b30e5ef0ce3fc98c4553b184651e7ecee13c9603f330c83d21ec91127de3f5226d42af696607bc0a43faeb84db77032336aff7cb27f19232dc69a692dca704e6e2d2cbb54f\n\n# tcId = 106\nmsg = 3131313830373230383135\nresult = valid\nsig = b64da0cd7cae92cd20fe78f19dab400786c120a77733b1a6e2c16033de50c19fee526d3dc3d2df18ea24c3b0fba088d2876f116187125169e22c33386e8e44113c7971349e534df32d20f6069035c7fb70ed55db3731b3e968885754f1019127ae0db74e8abdaf173c6ca94017dd612d4738161eb9ac09aca3f990c5ef56de50c0501164c0bde47361323ac86ecee299d9aa2325ae160790ae53421ac16c1e812e8b7ef25fc2ed08849e2c8889abf15a485c210105273677d502cb1ba549ebe73ab91e0aa2a148a966258f574786b93fb256370c3ecff5714a3e1371bd3ab2211fae69350a83dd9fbc14e1086c4dbb8523c4e0a3685082198ba9d7c92503deb57a78c981f69bf80b38cb948850aaa9c4ce3440eec6eaec5d071ad583ac881a9647dd56d62b1b2cb5099c274b2c66e54215a392f0eecfe7b6cf832aa6a2eba41f6b0ec3b9dfcacaa8f1d82ae17485670499587d0cd3345dac6e95479fea7f644c04850cae7c32454318ad29b5319a20c4d704161df62c41267512bcbeb269b0ed816eb4f27bdedf0c30f87a58c89cf619f9cfd5c8e00e25973a7475bedcd5c1fd06f1086b238c145e8a4185c4fb93527c9a6520ca58ac0c09019a3199ea0cec468da463f88b96c5c9c0f5750f48e5313a008a4d5a0cefa9dcc2a477b02cbb9e27d958d0badc24e2ba3182d336578191d70bfb6e0886135e9fc7a63f1fc840f2a8\n\n# tcId = 107\nmsg = 38333831383639323930\nresult = valid\nsig = aba69e866abb3da412a1b5f0284b8bb940dbc7ebb24cb458a325e6399904080212b8612dad9616fb0b92ab057edbe5e6f5d68263cdefbb7209bef4fc507e440c52667b6ebc34f9ff29bbc7c0359d78a8f0df6b3071e871d623536c882b287c17f5f280f77f134f97e6701d3344864e76b70c0b208a2ce74afeafd9bde901ece504e1bde17570b1d0d2d114f7112e0334c8a5ac691962c6ab31f8a238bc65cdb8f01ee526471085807c95b02db797304bd33f5c4c300dd119e200f00200b463be612bb4b88406d03a89821d66257031ec9a57f5f33e3d62b3d18c25aaffd43b5e88e6fdc201fd9602b6f8b7354db3c9bf5466980c331dd6af695cdf00dbba0afac38af5bb78d37994c0d12e9acf1d76b7b4ca3214c5d703789a63301f2f480825de03e272bf791e497a8b122d846540ff1f369d8855a6e5942e5e2095d97ea923dbf22af1b3a14d9ea955b925c791c88f74df0b90d578e24b894738e16d70d1108405d2ebd2401520945208624e760c65f6833a73ffb4bc32224ca3bc78d83ca3b2021e349e051450caceb4caf5e4cc9fd906f91d575c6796eeb69955a634c324c9ec830cefd0c83063f3876e135991500acf8ddb8fefc55b839253ea2a18c40473b02842b36c2e40cfa9740ce5e0818e891be8fb484c9121128d454b41aefd4d4e5ac4fa93236ff05ab02b9feb9fe43bda2dfc3e63bfe9d9d8dc9d804d9fa312\n\n# tcId = 108\nmsg = 33313331323837323737\nresult = valid\nsig = 4d5d13eca863400fa4c0d6da1351b5dc47aaded17042b40f5f4018d87a77429b382f1691429c434530be31c338b262bee9ceb43d74045398c97b8573de9bf2df5a84c2cf8ae05b1210f17afeba8a076e91743cbcdaee74369228b7a0969e1af16a0bbb6c93ff09a425495a6b67415b015a5a362f852646185e0bd44552cc8602c3cad2d41f688696d37d11ef76f4f5180264d81906e7366793cb87915f4a58d024998d11ca0206d73220078036e100f267a9608384d574096c811d2bea5c724251c7e48e2eda2e35792edd97c886428d2e8e2d24436397783c7c56e508e558a331b1257026ad459a0a10a0c566be9e4090fc99b7e62ae91af626fd2c7518230b9b0e97896f059b5a216010bde5c17e7dd9585ffd241e7a3290d3a5d0d480ce9a17a2cc775e237651ff7817b669a9e4b2dccb214b4dad622b269994f28e04e538c7b087a3339a7326988eb80df70023d71a813ea53422ac995f99a5c2cd96e8a3efb78fd1532d382f4b9b4fdaa1c4863f5ee80716a6a088fadac29f97103590d74f5854f98b963bcb59028fd2dc924b012c3744dc9a28b1e8f0dba159e3151989dbf3e7ad09c7d9a8971890ca7658f126761992b7ac9a548201c8d72db7063605d7c8d49e6c58eb790b651115d11927b869f8ec1812f8248d937b55911a2198624a373ef20848253a104722f5a717081949590e5da904832ef926cdab7e29d64c\n\n# tcId = 109\nmsg = 3134333331393236353338\nresult = valid\nsig = 314ea243b2bea8afe0c6c66279426f82e7a7bc8614f2729b002bf5775576e51efdc5a1f69e6ae5fc15b06771e45aefb21b650366a0369ab495b0a9492a4e5b5fae2af3f398253aaf829e815a6025454f337a0a530f753d3323fe9b90f36f60e127f9c7d968503cae117a098c3f04dc9fe9f8ec32e8dc1c1b00a4b627016b831387a0458ab707641a5a4ed2e7630edd85b567a856f5eb35984199aa90ff13ca7f7b856bf35379c59919e76d630840c547e5cb726dedfadb22d323d508e1aaa73cc0b1640158be6dbe72f16d7134a9eda78ad55e859b7d320a5005ff15b4dcbfaf372d72ecea1656bd50d18fb4f0ca79bdab376637f0a2dc3820b7b72a33436d0bfc4b34ea7e816fce69dd81409284325cd404864de6fdadbdfac4d74949b39080c01d0b723359c4884e356a875f1ee7a07582ed7d2426e554818fa89ad1c73f2465dc429db9d70a3b9191d1166f938ea0218fbb881d89852397edef4db544942dc8dc14752a49b8f8db93f36d39f4debf1ce3c454113dab80afb348544e964eb747181ff3884a703787e5032d0f80c3710849ab38886b958fbeae8963c209b0a076f9238ed9d467af5c9a6434eb55782b6abc0436ce177a493afb146299f61bf1784b26bb2c49bc7b3fe88e1fe44c8b04d9f24ef6acb89985ef11116e0b518502289ba29cdbd9620783022d30e186649199523760169f28f0c6969c8172ffb4ae\n\n# tcId = 110\nmsg = 333434393038323336\nresult = valid\nsig = 130818f75641ab704b30830a81e3d991e0ba571cb9a86a2e0abcb13fd013e8f550f4c7fe7b3a90a0ab6e4e5b478c496338dc6e0fbc09a80c8d39d7105a353c8f9b5fcf47c889d40e3a824e7b938b7d61a8374563dc57f7ced417d67f8d3bbdbd6980bb093042d6fabed95fbead272fd256ce88f0d11c076c03300d3fa318242c4a66f1c96141f7a030d4d1ed195a386c0cc379e84ec4cc965269c9d944cce6fee92bfac0005100d9461dbb204dbc94340287677c0493b2d6fe3a15bfa282711b9ca5773084c9dd83f2ca96748a3ccb6e8a080b6f26535a38cc9e816c5b0b2109b830145b3b54296a395638f459459a546fc0deddba9e092e004e765f5b67192e148d2e04e48efea90a5a6aabd7eefe592fa49989f6c1e80cf9e122bcbeb78c5dd34ecdebfed4bd9d84decc94b421b16b5458198e6e554fb647f28eea3a0031f45a36233dc4895e03324296939aaff35e0ecb541025fffe1b90ea1f4d7149e34ff849326356dcb118f4b43026fad0a3b1796ad7bc9c4bb27dabd35f858be584721ce053038378943b4d8f9b70984944ffea1f63cf85ccd1b33e92d7af9b0c868daf606332f75d4287200cb035eb574ea843c075b3cd66a581acb6da950d07615efec26e0819f96250c7e85ffd443f570787c609faf5cca0d3ea5d8ded6", + "d656fcba70d9fd02ea2b7dd282fbbd08185aafbed0b52139552d5d420b8200d36c3e95b\n\n# tcId = 111\nmsg = 36383239383335393239\nresult = valid\nsig = 24294dc6e8bd6ddb2a5248f77cb57d515a34ac41332ed20098921ce0fd939853a102b928e67b1619666149719511abc255111375754f5e6bf4188c585693cdb1148a11f187b454d9180baf16384b3522074ffd7f511e08a526facc0a9b8ffb19c530e01c8f4f71b6a60151c474349c6e2b958800cb83a1494e4f6ba0a1586a00e85a8a7974f8cfafb28d090fef9483298fc72266c6083112082c136a3fec28c629714f8b4267a6194a196e803b53e20496cf45e81c3055086eab1f6c4929e726c158ae39cc73985cfb8c584d149ce9d265d26d58a955b4c2abd291ada7b7f9ce4fb35f684abfc569a757e4676c388b3b6417a780528d0b04e5f1497b37206549d469b0a774997baac4309d00a467d895b06781f2adf0b2d3969c8c77692ff6c241737cfcb87357549e91b680e97fad60ec2e3998f14e4d18a601336d3147ed6a948b63e8ff7cd41cda81229d525b69a6cfa44fbddea1d10cd70c0a8596c79f796ca193341771d14b35708c2eb3e23692816bd92c8009034c25c617ba422b60c5d9b3d3302a9e2bf63b8dd1e683ffe4d0942c5941caa1220f00a6f41c3eaf6443c36547fcfdba62e42de84da1062d8a24af1e5cfa1bfea69eb62517195044aeb350a9e3b6c92401f5d97611371b920b47199fc67f3fdeb731c22a335b5ad427397cf634f97b7a29430c2f063f1f018a8b1e46e3e67330b05aaa8d371a705b4cae\n\n# tcId = 112\nmsg = 33343435313538303233\nresult = valid\nsig = 53412f1014e986c56b334e266ef55a6a60f12d30c05a2cbecf2b5bccb3791baf04e888bd32b0898cfc63d598f5e3297366fe2ab25b343fe204cf3dac1f568747594c71a246d42ba68fe9736bef05b1d4861844126af1f911e105efe198c6227550067571d611fd709238d707503906577313e6789e7ab1c8a4aac8d83a628aa19f4a136c5844cc1cc3c4e41faa6f2434eb871a7c9b9f2e52d666ea9043cdc1afd442627ba661a449e4e0e4c16f9b84130c50ae536b698d4c4facf6642d91f23d2eae36f0e4083997478dc7aa9772d8226f0904aa8120c686baaf864449d5bfdae22fed5d034605311cc0af9513889e57eed6b24561546969d1df1a110d2815ef8005baa21af1615fb6cb45d8256dda3e6a15fc764c8246d0df238302f69f36473153c841f1c5363c51724ac82d582f04b29245200f34d3be1a3c653cf9a3e0072ba592c098019f10aae25804d16ff23ea9539e6288ba4196e557b838a2074d33b6849778b5bbb04ac677690d67d7c491c928a16f69b0a2e8feb41e5c620c6e206498d0ef27df23a327b3006c822dd41f16f8ee2a3c6a905d97381270bc4ea0f4457006a31f142a1ef5fc9bf1bca535c2f7d6a1630dd20a9de675be86d1c45e93456bf06fbb8fc55343f40ab4a044092abbac0832cb1ad8d35b480e7092446fe3b5c5699977fc53f01255ea60b86948a7a71c95100ff73b266a103f0b2ed46f04\n\n# tcId = 113\nmsg = 3132363937393837363434\nresult = valid\nsig = 116caf06ba69683664a2002ff12b6ca45e82f41e9da874ee12bcb5b670db0f6228dfc5ce4d5c05f44515c4d572974b0538fa0ba7539e99cde314be5d1d9edece531930f8cf2d5745a119601082c30edba59c2943c1675334645c53c958c951213834d1d2d54c119b454e6af03e7845eaf6444665e1c838866579d1d7b167ccfe9af44ecc89cb89817df2bf3defa1dd75fac7187b68b4d9f9750001ed5f6d766f7a3fb4c4a5b01c738b514f0393dd5bffd8363c952533d933eb8234b65973bffe4d12a6e76346bdcb4d1dd061a690c853f6acf144ff68c31789d3e7dc1d2c54bc5f949323ec77ff3e1ab2e64c006e67e6703e6adcdf2ac14c4008a876421b6052d2dc9c275f592a460acb9465ac2c0aedc31a846f8f3ba6d32be20d3d3aff1eb83dbd3cf2bc0487fd1d3a6522c5accb8a1c386095a52ab42a445d41efd1202b9b61a7f1d801215ba334a88381bb13d556255d344a561ede748e63b3e701b24ca95db4eb7ea3e9662eaf75cc949aa576ae25be5b6c4e9fdffed557ce1f4abd11745a9ad1085d2c4ea900153574b560415b2ab473ef2c9676d15d315944d4a9d2f56c3ef95532b065c490b7b09c1d4c7704f8e0812623f32d87c3b1513164851cde8c25c9f42f9b6e325c20996213c199fd6943dee8d6d064fc04e88096ac8f5ea7dfd92ba0be045745910cb5f93c91c8b01940a8276b8bab766231166239cce7ce\n\n# tcId = 114\nmsg = 333939323432353533\nresult = valid\nsig = 04c799ab9a7e3676be869e977af0f6d266eee7e4f8104126be32c26e20c5ed855082bd4216edbbe1d9b55dfed7d93a0d490a425b34eb023fa6ea0058268d7ffeb25c5372c35cda0853c8529dc1634bdfddb0ee40b436af9d77954b513ef315e147b86a5ba58400a877247e2d72dd7217538233a46e368824d28b55819cbee39b1eadbedf0ee7d5f38add5810f34898344d40904beefe6d7824bda9990370bc74800175c15bbc63b9d650e2ab7820cc09d8a281e3d962dc13ffd18685446633229d474aada724ff004f0d3269a45dd3d29902a0fbcb02cdfa7001f3b4857c33c9ee691481368bc1e9435772648e31df5fb8039cdf77614cc0d14f39b988e7f989f2d8c4b36c506761d237da1d829e6e92dc41f5fb2e7d067839fb7d46a6f3c06c1f3090a3695f4c8e4f7b4419b076ed3b09b1db9e741e07ac9ca609a7b45299c34f3555a158aec1ddbbe7747782efa6b0b944a73e876db823bb5802d747bad412ec7794bc73c0c2854db87fffb27a470f7944bf559a20fd24eee589f6c4b627bd30874eae2a7397b1b4d6d9e54dac16e191d6e405cae45f43aee6a09e1baf0b3eca2a3829efe82fe13c1c969c64b0f2a03540ff43a3b0118afc84ddb1993e97a3b324f4d39af3889db9edfcf8755255aa9303891f67446bce6b7029056d7b367d2ff49607144a435cd647c0d317e3577f03f223f81bdb2426f12e73311f4e1928\n\n# tcId = 115\nmsg = 31363031393737393737\nresult = valid\nsig = 2941cae270952b08ec58d60af84fee4b1d82c21d48356bb8aad78011bac54580919ecead7a20914adee8d385ccd75307ae2f86f0e901116c59901967806bf76b284b46cb84c9bfaa3ceeea211365d5c9b713f714c4e360b1d128101850157b44c2986478f97605b70d92afbacee2dd0040c204dfa1816fe8b39306a4281668a88e276d96279b96381ef32c672a7f4b9cdaf165d7489f9424b8ee82998aec7f561f490d07b4aab4c2b2607a2efe2f89de9bb8133966dd0d3087259ceb0d7cf8296c302208439f21ebc252c532b18f36ce9f292eb8a4f423607cd03a09412557d622f38eec9fb3cfef4e317da96541ecaa82108c88f8fbccaf5449650f2ea6aef18de8fdf98b47a940f16ac0ee4d8c2980ad0ea353cb6a2d0ba96549144856667316f036c3a40ea1fbe14b9906c8149eacf8ec23df1c563c4460c70544918fde2bfa1d76dab1b8103645fcbab882f544c53077a2f940c2240c0d97f0e5b29dab4be96bd44aabeefdd0bcd431975059585740b751aff012839ef3a331f506716b822d5b9dc0339de7e0dc7d554784fca7bebab2d7f714709f11cbc5f40700ee184f95fe0c7f91953c31a0c580b8bed69dd15f45e7825552a75d875bf8bc87b145d83b9f70e8b74b07397d83907c6e8e0be888cf2e6ea5dddde1f3327144a869cab0680d4e90e92e85f661d5bdc0f29c0a6f710bb485c3af3fba73cca9b719476b1e\n\n# tcId = 116\nmsg = 3130383738373535313435\nresult = valid\nsig = c711f7b56aa4df24a29458f2e0bc31ef6e2c424d71ad243effaae03322bed2c075e49c0f1f49dd5596481613813fce93b838932bdb499a5e1626852c8d3b56b26996b21abdeb0041da3f8b2b9581455ea7abdeb643ccbc774139964e1bab443ed33f0b18f4b09965ed1598988c9aa8e9b0b44e2a13eb57aa46a7dde4262aa0ce6e62a1ae3f352ee59c3cfa53400a96051a5b7e9aafd0899a9d5d362cd8850f3b28f690726c6b931aebedc0f98ce596f2f922308f57575dcfd3e7eff33e4876c6254638637cef68804f06efb2add925e44b17813b790970bd54667d7216c7375432c652e4d4c0bd996394e357eae12a654a8058848b8bc1ca6cf1ca41ba32f01be0fe6d52e463889dae1c7cd44ff5517058ffbd2f812e5ba411bc45417141b02c10491355716f51502ea57dcb9c39aee4636dfabb0bbd9e3a9fc71c2dde9b9464b0bcc7fc94c03acd98c256cb2131c503be1aae2ac7b3b68bda68865bd785727d1500e7075a9f39766567f8985f29cdfaecca04cb27932273a5f2fad2579b0c8cb7c780e147a3d47d6785fc8d28a0e7b1b3ea9cf02f691d7b4e1b6255c0ae1c059a62b5348d2b0a8f2c4673492cfad87a31b57b325e97b8a6a40814753539d80408ee15fa077863762c9678ff3c407ed9875e61021cb1cd4e2709477fb788f96288450bc7da2c425549a9724004bc2d62ceba27835071971b04b35397f8787e51\n\n# tcId = 117\nmsg = 37303034323532393939\nresult = valid\nsig = c135093dc0ebcd24faebc840005cd04f71faf9d5d78c30e1c5a094dcf60316092f3458956c1e2bdd44d784ef65d8082a3e2da0c0a61acc81cb123b9605d5e0f75b9e943892c4b22877def8c9a7e44a461ab93aa317c772c66b643d017a2de1e0e5a4a355b0d800b7564a12c29ac1c82d12bfc0d4ddee202c6f040692976da4469459d2c4a0776789d089323d980f9d54e58fbcd391486d35609fa56269364b212cf1e240469a70c65d3920b28751e551f5e5b87b57650848b389846e6702aad12a39946cfb1c654710b1b6b0ce1abde5bcb2817e93f88f0fd18f2db0a776d09764bd806efca57bf66bafa315e02a7296c31794ec38526fa0daa1b88508d0356103dfe7cc51c073e01be33ab7f75ec84dcbb57de5a907ecf91e8e8d7b37193690cbea186e7e7851a0e6ca37334cf029c7c4ab9f2870ba1e4e02dfa380d9b8350519b9e38c0c5b6c0843edf7193828dd9d07f0145b11ad7386d429b1c139197a7cd1e8e98f99db185e9b78784854c8219e0b5c67d56704f7b5aa48463ee7f86965b9894ec4d89dcb6614ec60e658b684eb1c2c5a89a25e7c681f7a3815c176f909dc4e80feb3ddf5054c7f4f5f9b4dc626ad5462e0d5bda10cb4a900e6326e2ed5ee00f027c54992ff863d61e28adab795e2be6abb960840d7db65a3d0cdc7cfcd708666abc6041d847dd737990dbcdb9c5faaf6d704a39b18fc011a151896b5e3\n\n# tcId = 118\nmsg = 31353635333235323833\nresult = valid\nsig = 5e9ca7f867190be1e78669db4885c089e50d5b999cb459ef6645a7b52ccc71fc75018f8fa931edacce6299b1fdcdf89936dd3bb4222d7c9db69bbb911c5e1548066d0221749f88c29bd85d29ac833764f56d6190a3ab2f6e3253ad7cd35402bd8fec117f669785cd36e6afc8accc66022ff577a401c7a48a38d18e77d8a38ae7f2e74b8390b874653721ad8d2d1ee7bd82a33d62c5bfcd58db90798dea5de494586f73dc942828d90574cf5bfdacdee7adb227ec74f5c6a0644264ad114b7cc9c9856d81f94ece42fc64f93a2159c621cf86cb49049eb853fd37697c1381017", + "9efc40c58f601b6ccf4ea755bb142daa62afe151bf48aecc8350926368215504edabc5c1229e77c2b041fdd2295370325c3566361a2be54c411b94e78c928aeb4733b0205d8de21db5674f646e26d220987ed543331b4d4a46c9cf5163e972bba6f20ffc2f119899b06ca79c187e36e0dc921fefc5380420feee972982b01fb2ab7d51110ae0644ea411a5fd69b45fe0afdad222b4ec55346e2e56b900c74e7396241f86395b58bd1a6993e029a936b15b2f63e53997c224bd7e56239e6b248b7037cf48d7fdc6b85510cdbfe48afd4a62341806777015a87b503f8ebce55811664b4ff0db608a16474334505ef5ce9c67327c1bf1542e8970352a3589311cc48b317af87fa85fcbb3bea930a0cd2bef7062d83ac3a3c1547d48476fdbdd0c2d4\n\n# tcId = 119\nmsg = 3233383236333432333530\nresult = valid\nsig = 499ae8311f47244b6018a653264ca8bbbd1ca51a9bb49b8b46ec0e6903cd4b3582baca0fe3579b1d5143fa1c826897a4b48227e85926fe330011dfefc948984b17e8674a4756edd773e00575a51955bcf31a9a87c676a703155a00be004c02e6068377d11fd9942bf2060bb6c171373b043ff1d3ea46ebb14c5ecfddab08330e87dba194c7059e3519d5efeb32b212c89a70d5defb0e0b52b21ed04aaf643f7cdb738c33aacc0be843514782a3d5933f2a0ea2085e3bd9d1a5c8fe0389bffbbac5d8f5a3f05e2b202849f2a9e4ec37ffc2a3f08684b13e1e9d312a0b968aa49c43a6c65c0a2fe3b5d3a8ada64bcb3ee09b34942165eece5bd0d0b73cad7e87fb214699d27a705759aab1c8a000d3ae58c390f7d801fdcaef2d328daff7bb6f7b60010cc8dbcc648fa6865a0dcdbc9efbe6b5ff474d84bcd339005253caea87e62d2912f4e8d00a693c5227723231b05ddf6fdd6b3c61870d67fb6d231726aad59ab4d9bc13f0bb3c451c29c47d1ce56487afa173259d37792d481a8c23ef0cb437e46ce46c2bdb898ebf416fc9cebd1e7f0fdf5bcacc0b57f369474cac2218c1785ad4949397d2026e88ab1949c48d3a02806f2e4ae3059e3bdbd104ba33c907700eb585e2de830a5cc25de164e65d52ea5ac4bf78a73da733b86723fe82c3f6eeaff5d7c634a48dce217e82fa31357c937a0521e05a7a3b21597c4ee1ac93e9\n\n# tcId = 120\nmsg = 31343437383437303635\nresult = valid\nsig = 38321114c70b1f98560b78bdd0618c27110d256053bb11cc03b655b9ccf158fa512bf7b3552788366643525cef8732b6db74da92598c5a134c27d4ee46920134ca478b04335bfd952960666f6d4e758fe3cf8b0766e94c6b27ca42d4b7b5df4c3c33a17d2a4db7e476bdf8a5c220fcb1f6bf799c3961df5dd5ef86372e3caaaee42f15f9c70be9dd2961f0ae935858851297b86dcbac9888045b51521cee7053af2764eace38274b68b443439c91011a668f4082811b6841d46322ab4b3a9aa97e9be04fa01208a7ec431e00937d52073b5a98f6600188d5635b010deb199923189ac0072ef08f1b2eb788f09e776080fad9ff4d8032d9eaddc6bb2317bd16e87af522647375b3b891985b662c2f47193dba28c864118b0f80945c4afd9b9662707e86d28dfde942bfb4e45de9717247b4740db3948c5cabc5b6ff3facb277524aab1416815224209dad8b693ddbe05f1daa24e31ba254adc03bcc964caba08142b6d3d8c06751358a216d111b069e0a6215399535e5580e8f4a2bfb3fd5d89d0a66c36ce970b464973b2dacc14c8a978a944b83485f9faccae78473b244ea94a27ffad3e5624a8c7913467a85e2f419a7c51be3d616186d85de2bd28d1aee156e3b5034dc69753b9abfa8b439d86d68e40e3558f8fa6158ad0e17b6cd0b899fe22b98ed5b2b94fd31620e7e315eab3492f88c53f95f501b63b8a0367f38e8a1\n\n# tcId = 121\nmsg = 3134323630323035353434\nresult = valid\nsig = 56d7404eb298793a2e78db00408ad9b7a8ee1baf7c009cf1ce95ed7daa558d31464ade5a4175aaa3ff4f7f3919bf668ef5dda59991f9ad77c0bb85e3f4bf3dbcc7250a462510e5a5ddd0917512c6c116a6f730796a14790951ceda3f744e290048e9d394df827420454880dd756a483803d816d4883231b7651125ca2f950c4c248b3c508d50b36c0a105e0188da888acee4a3b40ba935939b78f11b8d00011b6206869c7fc459d62c10d649ca05aa2aaf9a30f9adc5b4fb648cc0565a24c87fc27eeaae0b7728c5d2ac66fc554dc16148c8f8d976207d4a973c32b3aad2cfaa3a2cf758abb1b86c5dfb83a847e65428da2e8b59c3c0789731683b1b60d5ff01e93d58e04ef6b67a526bf067f2fa6bc97951f53b91c6aff3c45f027b90e72da5fc86aed0606ec43d8b0d789d774734e5b3384f04a8f99e01e4585fa0bf3e444200991bb7a3fe96587ba39e05aa5d527a63785f7db70fce6725cbd4b6f5c7f4f095976f298f72e106f797197df2ef03ec84501e5b292ef27c13c822bad32bf217829febf1bb2da00dbbb6f3a955044e5c381c210285a889c2aabd09adbce1a52b67b0c27f6077cc155c1d78f8f94b621f14fd4225ba71c16d548572930ef1249de5b88bac8a89bd4fad55a8bfb0c34a9a2637ad771dec76edf992dee5be30048a44726dc0ee9a8d152ee3ac80e202a5a0627409751bf6440eaa95ded99b9ec097\n\n# tcId = 122\nmsg = 31393933383335323835\nresult = valid\nsig = 5382860479fc7283b786c208c6895fa30cc878867b0d0c08036cb4d1c77b60c33b4b384697161046308d07d6ebb0f914291eb7bf206e773793ff338d400d9b6a74ec390b7c5f9d9a59c5d8b10e7097e6a3a9e03f50aa660053a7ad8b32fb5c86bb56346647479869433acbcbac4cf0c5b6237d0e318a2a6af73017fb2c722b7872256e382f27cb637d15938aca0e90fc73e2f481fce70c7ee265a843df3abb17288e0841c28d9b3e93d0c0a9342999e767cd48c740f4be7297db5dfbb19f14ecca19c76f019dc37648a6369a3e7ebd3f75911521c3c667bc67e829e580a6361d5f246d8fc4ef35d66ec9322f8a9ff8ff9961aba614941c033f92ea7fadccba129d607dac5363e408fa272cefe3e1738b5152b395f77f869053e60c0e60d8a16d65c1b78dbf273fc9a3e312584138fb622895bf44a8073d25d4ab7cec1c92ae2dcafaeed22668ae3bef2b7474ce147f5dc4434b928270761ac94eb3f751a5ca69dd008cf7df0ee845b567c027aece0a8335b412101aa22901973d166b67e1e01224d5ccbc6506840cafc6bbbe339e50b7dc920acc045f19b9df3dc936abe9dd9b49e5c332c2521d77cffcb47b57de8acb5ec3b77ba05cc6cff7d47d086f12e90744a084c216d30f663519e69bd84e4ad716d8e9fde4eb47e85ace5854d88d4f33ac5db9f4658dad283286c1ec6cd4c0fe15c232cdfe6f5b92b12264bd0988b3a3\n\n# tcId = 123\nmsg = 34323932313533353233\nresult = valid\nsig = 2d3c115bcc6341e879de32a9b07966b2a124dbf9805a9c1c84d56cd952dfba4e11503c08b2f5dffc42be3fdb92e52144de775f2e8d8be3e547da427830d3cbbdb1a6afef4e21e845186c0ea990c859b6005410404029e2907ad6913af4c93c168be96a4857efc729ae4a323fa052a8ff432a0521ddd2ed31d7b8d917aa592ec7d9082b85783a27870aa30361d8c7d5e20a2b97fea2d42c328676a9e79d0c25e3ce1df4c561adf63436fce1b2f1c6b2a0362709f86f6f5214b7c0666d99e010a384ea2aa8de2fc0fb94f88f769c083605c531eeee4cc877917c6e7bd400c9b3d4dae27a0527262ce3b19f4fbd56213634ed4ef8bbbfa19d226646c7106fd869f9a1b4fd567b6f4c584a4fd30658722132e16d2dfe8f455421effc59fb5df6d7806c9a3e06811e4307bea0b2e1dd48e514761642b4e0ec045afba3082eb967755f74186a232d067ad227860385d2274f557f4577b4c25077c0bf189f3b0142d5f3a975f8808dad8035f5a6f7462f97b65c7355685f0419e9e0112d4c00735f7f2b5ff84617f2417d5ddb530f885aa82ede90cde871b7ee04774907af4bf6086cb2c0adaf0383755d01f58fe8923204fa204baebecce83f65e625a598fab75c13cc00bfe0210e2683516421531b40e6292a12b1a5d16c9efcfc97d8b2fbacbce3dadedb3dba59a0fdf3fd119ad6b23d6bd12541f611dc1c3750a483a1acb5e8a710\n\n# tcId = 124\nmsg = 34343539393031343936\nresult = valid\nsig = 582b2358aef4ca3976f61d4e3b3336757baa2360fc037caa9f45234997c5ca59f4cfdbc3828170f4084c94aaaa4dee12df987c936b5db6c6765c70d6f5261cc1713e100e3592d052685f20a26abaf96534301570fe2e3e3ded1659af624a4c3b0ed460661e198a35544c6a7241036093ecab414248bc799dc9d3e6146b76e821165571d9802bc6314e2f6b2ad81a94e7aae429b8183c60c5c1963e847acf11321da8ed07c7e013320c49a62a1d62474735d6dc4ef4a2083f2769e2867acae904ad2d0f5fa65ec517045fb8d25efa9aa8ca46f581ec4a7c11b1e4b6831332bc119d86229ae14b4ac0b29f41b78d4d7359e9cb063cbd066a955449d11e936e5073612e3e04cbf0e4432b79dda9e3e14dd06c38721f2e6ce128af51ba6141939ce6a35c2b4b0ade9ef0138ddac979f9a24afb69f9d1d8be664abd24c382647d3045f584ddfacc55889e8994358936c8377f97f626ecc188ba2c97291b074004a363128bf85c5949ed72c7687d8b9865487d8051b07cf0546cdaf5774b70e0ccbccbbfea3a9061651d00ea6bbf45961c848b21945213ca52670da488434be2efd0a5af6367767540011b350251c4f4ea4dfe480d1c0bcba80b14e35566460e57ccd7c762e2ce04991989961aa498fd0f12a3b392c45e129720c4e67dd57ca865bb7c3c7395c1e2a78aa03cfc04d1933b3ab57fb2e74c3bd45dba43ef688fac5c1167\n\n# tcId = 125\nmsg = 31333933393731313731\nresult = valid\nsig = 63e32b219ae9da909f1db41d569fe3790e906e47067491f0c4b43caca58aa9d956eb127c3ab50e4b72694aefe29113e9506ecabed0bc52f9012d9456dcc2f229a3739e6e7b5bfa9ee8af0d303abd928d1429ca52fd0a49c5eb166c968e33f39af16a4c522155f470aeed6a93408dbb0f278a22b0f65822c8cc9bc718318d3b48c1da839b897f69efcb94539db53d49fcc06e98deb7fc1dadce1221dd4840fb8f2e280ac326e211a1f158d87ab1d473b0cf1c8692a56f8da0db28653701b2b12f18d765c59008d461fc63a92e812db87d4b7f0101d7df8174feb32cb30cf98342687ca71ce7724cbcbeb9178a57de6f07024b3d00d47c50a962e4f71b31075a576757dcb6bd2dc7c8b441c7371bf5f34f878ee5d031ba412a379e4e649fa674213a018552144f1b01a2440d2145e3752c7825c209e625920480428b2623e1616ebce39ee9d4353b1f3be1e9c86b1d5b7f8aa5d65c3260031971c1117d0aeec7bd4eeaed1d456d1ad5b99d84dc6e42835c6ce3322b71f30668ce6ceb7f6fcd8760e67c88a8bb6a810bb442a0aee6d4f42accdf2f7c18c3ea0e1a8e5ac0d2a70c31e1bf421bcf53238acb24ace9e68cc9eea3dd7813116814b06058270a1055fb2820cc3b206b39346fc76bce7e284fbd29df84f9fc4320f5afacaa6c97efb33b01f3faf73d69fce443f6ada2f1981664778dd58a1d9b7e631502ef5cc9b350e649\n\n", + "# tcId = 126\nmsg = 32333930363936343935\nresult = valid\nsig = 43b42fd492f25deabc9f653464f86affe4ab5fb9ac8c9038730a69d13311c7c36dd97c14721102d33c15c38e3671e2c233d14edd4551bf369a80e89cd7b42d91d631501332415844d71452dbddfa2f4bcc4406f8864b260dfbfaef89f782ce5f014a6c406adcc4028b31dcc67590ed04bbdbb601b28c2e674e48ffddaf1b4c95cccdd2c2293b7b728b0475fe7b2cebb154367d2ebc7d5fe61c7dac606b509a193089c311ffe30cd04e438c826ee2e56b95c43754ed89b06ba000ba0d25b34ff20350ae4672c76d003748301bde42871c08fbc81017caf76b20c6c98ce5ccaae81818a6429cb8cf04ab3f26244098480210a9dd956b99c6aa9f4dcf45b755b306724b28743b03d699efd13b9008b33c3e2e5367551147b25439b87718996f03b2ec16e1cd7007a9a711b03ec1454a769021feb9c05f327502ffb2189d6c2a0ab4e74bfb01994a3f084f9658068057b9f635300e855350fcb2b569a526c739e76a6d0939854481332dd98fcaf60e154daef7af7d4379be774be82c247eb0d52e3bdc4a79c9be154035835d402cc5953799567499644188902f2c4dda86d04598ca2e9c4cdad781baa2b7bb3cee2e44c512fed31e024ba314197d8e864f067bf12f24e029c3a8dfd6e3bd7dfd222cabe9aa9e06b0c1a4293d10360803e5732a610e9c26e190b7493c055f1695a44ce8c4f8982578708a3ee2979734765d6196273b\n\n# tcId = 127\nmsg = 3131343436303536323634\nresult = valid\nsig = a70928e1809c7057b458a1ec4e4b3834bb6d24ae874ba3d19ad52a4d839a9ecae8f41df5e539fc4453841e470a4a751dda5e7bb3e9e2f3c19d3ede54f231ff34c499cb0c2b907003ecb1bdde486444d6c8467523ffdb2d54c7a51992ffd8cc7c5cf86b1255b2f96b3887ce9454a2a9b601e1ba18e1a06deebc566fd8229db2297c46a3e8122a413e5d3a203645ded323a59a5be8e4d1d59d425e3975e13f644e382955e497ee34d17e9f886d2b5ed849812ea325fcd65fd3743ca99dbeb8bbc5e91d82e72e94a82127baa8c385cc3af73d39a7d40ff2c403df50fd69c777b92039a7cc1ecc3af13521565b17f169077998a1667d9cc1e36c60a69b38458e1bb472a41bc796e1833fc7eb38a4156e6628d5c72b5807c5c7e040917c4232b3e9a3fb7a74eee6cfb48f9850e8b61eed38a2e6149f6d5036446f71aec83d84d1164205e1465f4f1e818ce24a92c194eb3dd8a87e3369769b16417c3c1d2cb41bf3f9c08e2aaa8ed941dcc35ccc550e7fddaa2de43a7d0e02db74b398047e02c23786ab7b3b9d8e3c2a0ebcbda5a2eaeca41b74e7c69b1a48a809fbb56b353640bf46dd13268682eed38424ec36e7392c5b4efb17d75ed23235c00c1f3ac7cdc2935f8c2b8d9b466b1f8a2e393af64f54e3ba00227e7600a5800d8c3fbec9c276f9e9b89dc18161fe440ef6b235adefdd62f22682a4fec3e1b117e4db1325263fd80c\n\n# tcId = 128\nmsg = 363835303034373530\nresult = valid\nsig = 2ecb207c24e560bf8c27bbc98004114f7cb9d5814f52c43ba2dcdddb82043063ef6f45b97fb26d8602f304857fdecf66876267833a452dd4d89327b95ba4162add93d697368bd17aaf982506be95ab2ed6f0b46019fcc9dbc15dad63c156c31db2340418f39da0d2c644a88853cfbe26c6f059bab4cd0b031a880da36d298c352ff1cdcb146a8425abbcf2d0e651d1870734686b57d306e91694955b7cb10e856556054322f93a9d45d86c9e905dae977916417e5ec86d0a0b2f7cd8ab8ce18a35b02bbaa977a02646e8c6d870db4a816ddd484a1b9314c7be412bf131f9df5c3cd529da82d584d85485a44013fecd7e820339b67b2fe9634974da873bb4284fdcb7a671df530c529c2d151be9247e77fc30e36f9e14250b76b68ae931914239fa8dd5b8c293a325d043cb300f20326eb563af224572b345bc4e069c3db920f7d222ba9d268a52c6fd5680481fc6f2e1c93dde845c821e158d971b09583ee10187c44fc9e4ca5b0c9a312ae5240534c03c4eb8ec375614f0e9ecc2ca89d99b375d6812a3a58dfb354875dc5c2eca6883beaa26af80c2c40cda9efc4edf4f63fd1d4a34140c7b37df98144a0cbe4dd5e2ae25b8cfbd072bfac0a4faf62915bfa851351c73215cf5823044be6551b1ad48a71c0b354c472d9175ea5f7819c3268d18452fe12f1d0e895caea537b3da3c035929d290e64dc38038fd0657cdb514b2\n\n# tcId = 129\nmsg = 3232323035333630363139\nresult = valid\nsig = b49a149864b4ada746da07d3dc55b95b46bc2dde52263b5ece4a68ac521615e9de66d35260a0f1569b6826f387d79c68c1930a8a7cd41b98d060689fa21fd85776d970a55e3606238b4c42a2f5552cffc1a95f0cab6fc6b87f40eabeb83cd9a7271be57589aa9603d535e5d8b6b101a7ee20f3e1810a5a96e57341722904c7f8af6f01180cebec2ca12259d409c1c8ed15f4df40948fe47e296d82c2aa3f60f4f4aec2edfc3109c148f8bf5c55f8c22b6bec51485dcf10e323ad99ae09c85e749824de11f150cabe54f2ec9e95750281c399bfcce82cd5ee3a7848fd18dfb42065ae134acae6ca6c08cefc954c54690a197f0d9ef61594d2c1fd4dfb6cf99262ad749f83b0b143e4ec1ec35aa12b6b0d279692c4e0332a6de12ff1f88d716a1f54a182927d184c22da277c0be29eafb313446bf45c76b08f13a583cf445ffe75c852e51293bb6a64432b6a75ec933726150a8e4b3f52514b3dda2ae8bca409b4193cd741e16773200cd1ed526cebbcfe24613476684ed66963a699ac90ab84274664f807e4918f24908b42758e2399bcaa5ab4f3363f0c72563dfa10a15c16fb708e06acdcb88d35ee79b468e64cd383b8c8133e16e0618a2a1e56180bc92ac4c766e13ac357dcb0e2003bf3960b72ce0cb7c5482ac0f9fc7e629068bbcc92e46e849bdd39be373ecbf737a82941e11917cf70c1a9e1afd6602e285cd6fef1db\n\n# tcId = 130\nmsg = 36323135363635313234\nresult = valid\nsig = 643670133c6c1e953ff28a10ff3833c6c0933916d4c0fc368d9bc4e6cc35bb1901b1acd067e4436470dbbcea8e2e8912d85d49ee99fa140ae1a3ee6663c8980a852c96af8686f4ef5409d98e0d0b68bebf7673752a6bf61e0476597bef490f65dcf9703f49774c42421f74280be8259c9b192b06a0b52751526aaafb0a276cbc588ff5ff80dec98816e169327d57a581817accf2ec4f2d056f1bd4fb7252543bb95b436a665eb1badc87d05dede7f91f03d0b66cdb6264671254c2aa82392a73e55cae710350f69908615902128f1d96dce93031e6a532edf534831284d94a4f2e1fdb319dcfc62e4637c101f21a0d784ec7d6a1ccb743bf5c9994e5ddd34e7e76a0fb2f7f7eca216e69c3a1e068fe391262a97fa009977318284f162c4fa3fb2a6cd154ffa8cd4306e65babd405bdf8d879d14c0c0503b66078bf8c84c947389ef71fbe53dac758151bf415e6d82575319464cb9ab221d2fe36600d8c2dcdb7f5ea1848d49f7cbab8620e2ec2a220a74d332464d95414d11605791f25f304893553ac99577690851b36f89708f74d5802ae6e0cdb69b651e9ef66a6e1a66cc2aab10ae05b58149e4ae2962b7afc0c1df8f8d51267d1cbe8b0ff225a693546daa46f2a7e65cc7099d1aafdb1e794f0f0a9b40571d184085ae873e1ae799aff76d901e798d484bc0aaf9f3f498731b60a6553a74c32656345f687c529abcb849b\n\n# tcId = 131\n# first byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 9d1925a05f0e28592ed69d6951ff5417b240bc327ded41b460de2fc3a0101bb89d6badc5bd50e2d1432a57b7bd620646e923405253e93c7f2550c0740ab9657752863739fcf89d492ab1cd8ab2088f4ccd8848c4eaf95cd5e7240872472f35cb702341c6965c0fb7b113bc45d991cf9616b7e200f2cfe79201babba3455a60cd628678725c49958282a2c751e0861f20d49a4294d59c3cd33c6ab0b6d02121f6f2c9322b6f9505694de40f9a98f628edddf18b9dcad1cf586ef22e7000cf09582f80f0c377955e110c93dbf9d7938c59a0b7fa283c2f3b186c21e070da5bb800ec622036906306229f8f965133df82521f454d900a01bbee1aefce262b1d8d9219ca809c699e523c5c7204ce45c91fab1cbfcbc1930c661b8a3da04e29d63794a65b1a656a7870c7974bb785fe49dde68118feff1dc6374032e9225325c3e3d312850d0ebba0a5aecea061b5d61c8f13f9f82e6cecf6667278da4ac38ec4424bcc0fa6181ba1d63966e473157c76c7d007f2a0f01eb4efb54cfbcdd1254a871775339354695618d791ffa8d57fedffbbe568a5b848b7fe037f8002d96c478a21313ccf42e5819478aed99f6ba834520ac2460a5aed186a96dd9c90754f9d21bdfcd2635bbd11e956341d0284b51e352c79a7adf1748f2deb2921dfe6ce8d36aafa35cdcfe5917113d0c29cf29478f9000a0c78396cd891dea0056042711c0e54\n\n# tcId = 132\n# first byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 2f19362834eb20e169132d1ba73bfe32b50faaf9c413d0b2ad578e263cad266a3144835b129648471fbbbd4bedd9668d6e96d4c0d0b95504a8beefcda6b9bae162c2c1bf53ba91d9e1771f46e60c0c1d356fa166a331d51ea85bf270e7cec459908f1fc29bb6b5f216eb9f5f453d29fbd486a03355cdfffd6d131f4a027c9b179ef91257272d5a383898b864732edcde78e5cdf2a9ec9640e9500ac7bb06a7b1f1e947ebd468815a56a86a6f747e806cdbfb81d3fec3ff66af0fe5a472f559ac05b2613ada9e40587d75d98c1368776c696ded9c0b34100eaaa80f2016a2797ff0c0090e4e3b042943436336c8fe72fb5ba9c4b5264d97421582e0e859b8a46a083aa75d7b8f1137fc7d1703812f681f615804385d8f533f0f4f8c21ef3921f42be0f2ee863480d72dd8a4d78256cd4f44ffd62526abd67d2b4393328d41e45f569235f091bed9e2c72b559dff4af790401c18b4af71613ab53f1d362f3ff2e6b0d4c181ca051f88087ecfcecfe8a4844f7f99f624aa43a070bf023d28eac88368e7e8f7c2357ce63728820422a48ec0970566ac96ea714422d5f67a28f5b67ea9008dc95bef728c51c8b5d83d59f92c4169dfaf232b4926c9b59c5385fab598bc6df7ef58b88a60462f2692a8abb9f8699169094b1971c9dd6e90517582721f6e49f5af1e94d9bb0efd5a0313968322d86a2e2aa2e91ddc9d4fde0a6b612740\n\n# tcId = 133\n# last byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 88a4b39c219e6d7a7155a5e38eb2bf76715c540c817f5f7c3ac827fa34ac202c7d904aef8d59bf449154fdec535b45e1d0a5e9d31d4ea75ce4e6a07e2b7b5ad61181a2172f220e4a0679857eb2152a3e2aee3c5c0fbe8e518f6ae410cab5ce861c66ccc7f72494b9b0f0a06cb8122f16776ba7098139884006a08a6f752948b677f1bec1e867afab783f03507c5a4a528ba2a2e0a118630bd93ebaaa96ce378bac92a9f02eaf0838636685cdb7be2da6bc6438cc84b907b4c927eb1df22a3242e4886bd74ef7133e37708d3d2528ebe39e9c051a217c6c7deb2e6a87b90", + "5abf4ad4326d6a830ccbf2c3044befbb9100a364ab897a684b472104a1f1484e39c2f9ff3f5b8ead0fb813e3d54673713f1909af085359c881bdc7b82ca9f2f3c1ddf3b17f796496d29b62e1bdc7eeff0c65b78b4ae81fe7b397d02fd0e74463b3cb68064aac87dd0aeb36248c50974b066b7864924f36084e7bcf462f08fdfb387c803afffeebc9f0c317c9882713a50800e1250776720d1dba53e5c1dd3e8b176c6abd051bcdc9851e7107417f06c5cd9e8853f75718dc6386a7f4747ffaa87994462fbd9ceac6b5da79f9dc5c5363116a308b4c20e673acc5a4aad3fe7f427ee1c08ade6eeb048cbaa0120eaa3a74ee39e5f9e39dac10d5019f1d115dfbe051090037503a63229c216a6cd4b6b4723340debcd812c13edd4e77e66380bac99dfb0\n\n# tcId = 134\n# last byte of m_hash modified\nmsg = 313233343030\nresult = invalid\nsig = 39a5d241a8c6648f4f3ffc5224dc31585e22a58d343cf227b405466ff8f8d5bf553affe12198e6f8515b05d4f6bda0fd645874676d7bff6dd67345f4a1aeb21adb43abab63c3cd53f186b62a1d44d2cd9425cdf163bd2f90cd190329718c18e7faccd7c0f5f8547d74bb9df9890cc8c5a84c6f8fde84f4c8e3409703196a7d7466afa6c0edc728f1e513fabb7df97172545ae8c865ce95dfa81ff35870e71b1067762836a8dcaf186c9fc7e0a633f98f7d32ae10b2a6d962f720d6784e64c04e08f8dfd688746daa69bc70f652d1d6f806b0df297f655162809fbed4cf0e07d5ceb66fc5b2fb89abc4c2abafe325eb4617a2d244783f70002056961b26f0c2dc5a7df3e883bfe36310ac3ec92b71687d6b6bb3d11378f0ff85d98c6584bf2d2c317bf287e95537d0314519bc6b01798c26b3d942d08194dc34a884d62160919db67df95fb9bd4d917d4cee73f88914572db84ddb3804984c2da20eaac9bed684a0bbc224dd623e527255fd27ebcf6435292997fec51b55b73dd83decd002c348b2025776f2031672a15fc62ff857938e0cfe4da61f5f9e0442d4452a1f7c2687c632bfcb143a544120017e26854ff6a3e8d597ba4fca595984fe1d38a9199327d12fcdd38663dcc7d1fc7ac6d7845022de5336f9e570a6700f0c5eba0ee68c4e75295f69b76de1455406cc6b285ef5b86729230ef8781fbe63e0bd9c82a1064d\n\n# tcId = 135\n# all bits in m_hash flipped\nmsg = 313233343030\nresult = invalid\nsig = 3ba629ef8d7cb5798b51fef0959cc00b4ed788f6f37b70cfb16d68b864ed1a33ebccf4890c78970695825e78b3f219811e928d27af0d389e4b75624a06c7cf2174e2a9de6e87394f617b8fa0361a490dd45b9cfaff13b8b807e5ecb0c1b6464228f1fd968b9af8f7a63fad9a7fa53bcbc633331d33b4d7c2bac330354324365c0616bbf22bb9de6a5df5570150186f517ed1b75433ac186ce41ea4f330ccb6fdac5f8db5f63e37fd3340631f7e4c0365b75a0b2a9d790bdc6a0ebf828c84a426fa9a7154cfea1bb9450a8261e0cdfacafc10ce08b64f941c3bc23732a4c3c43c6126736d84033365bb57b3587ed98c031a85325a15ec6642a99cdb186156993ccae8e36640419c15287e7b7c0518376589b93106c434d67b5a5c1fd34fbc569a4e4edfe06b621fe3bb86efb0fb15475db5477f6f9a85d385dd49f0cf3c5d4f853d0574991d1a508d5767df9219f8f15e4760f049c84938d4dca1445df3d15f9f42191e34bdeb15742050812b30a509d4a2444dce219f05d0faf11342bae72dc3f5ab1fd2f25b507d7d7e30a9d4c619ff587ea03d471c8d0306ce89ff3a8c1b2d650eee83308a9236dec87e0af54c74f402f9cb84379aa6c9586db66aefc94fbde391330fc108569a0b9d0b63c974f333c34e881494e02047b19102772a61f89f19622e0b8d92dba4acb19d395d6170dd5d22220b5e678d2c9c9cc7c843a195be\n\n# tcId = 136\n# s_len changed to 0\nmsg = 313233343030\nresult = invalid\nsig = 9e591980e9ec3d62e2edc3163ac8206fc09fe026a2f7e622dc5a6d02976d30ecf141295335008d91a223ee98a143541494ccf7cb06a1aa61de524fb5bb4b379a67ed2ced447c7b395c57a625f835dec6844c3b67a85aaae10e273d3902f5f30539711f98d73f86beccd798b98541a84a03ccb3379e8eff88c19c88aac7b7ea99758194ffa6660153d4f22c1252dd1b7b574e19b3492f28cc097d3ee3f30f6b88576bc6299512f9f8749e0b297295bc275ca59f8056decfca9f3980e6f8d6e07b73e1a8ae8b3847556cd67ab77b96618979ed37744be2d6bc9f2b671615f1d4c4c1b419f05036148182ad4c6375f9e3c7cb37bb75d16c4486e97c0ac5685995cd8e5d76452934b26105be9074b2f8daeb1add13c9b127dca2858e5c80e686791a6f98cd98e540bdf27d21b2dc9fc84e09561df968d73c190b3081293d666be7d991761f4722450ac249a6eb4bcdf190c214630c85243a6c5970184e257c00c5a2a18bcd20195fd041887f001e06d4a6049e210cce62356f99853f3da2522d3d63739fbb2ff315e68ab4a05ba1e29e5b93808df51aeaced52539d7b956db2f229999ac09a6d4c2ef8714ef9d4783f538559f29af9d850bf71b001f231270874fb8dc60f1d1554f60fa69cd657112530e22563fcde26c3c86137e476a2fc1d8ba4a15dda42d4d8a20fbbad7586f472b716d6ea2ee30f1c111bdbb3db8e5e2d933a8\n\n# tcId = 137\n# s_len changed to 20\nmsg = 313233343030\nresult = invalid\nsig = 23e198d582d048874ce4e6e69f5a81234ca08be1fc9cf0f7be05454997fad87da8f05c2faf7285a7a9ca7aa50f772b8175479b7bec85919162b8a7eb7cd4c1b8f0aaa64a8f371e23ec2c3428d7d83411f24bbd4b80762a75fa0e5de468a71dbe9bac382b4072241e3c7085ed2b9e72ec3779c1f70bbd0f246834f3e81ebffee13312d133e1ddaeb58b84d1ac1b441f311ee1e2c9693e300862cdf5b4a5d820dfde870da22746be0b12dfb943780c0ba928c657c54bea0d84db37fe50f0965ceab905f2ec3ff177421b11c30e846ad93212485e7f6e52d7d51af1c96f31fef174ab38cfb1b1fb5961cfadac518a6a4991ff2d561a7d8dadc5ad430c94b40c04a297012f81e6e84ca02879fd82b73744c4372ec02f141ae6c4ce75595559f3f4cc9e4b7a7a6d93636487e34938082b3fd5f09366a062484d1820586a720a9618ec18d980c969a28d74c81fe4fe7bb61986769a89716c965a7f056aff60e9175527778210eae23e53e244b973b2452f40ab375222621a89e1f5f2abfe5039708f2a659553582f760f0d264f854840d069e8c4db0246738af1697b05980c1f53a1ba4eef8e08583781c13a93d03eb19db75e71bdd0602b91908a885b41f0b8d9588d6e05796c8a6f8d220922ef9bcdb026af9bb328ac7d96d4078205ba1abf00eea45b9c260e3b55da036864bf5bc0cc2d3944fdbcc7e64539a45238bb2061210514\n\n# tcId = 138\n# salt is all 0\nmsg = 313233343030\nresult = valid\nsig = 0147dc7e2712616f76c84caaa47f17f267954a0924bcd846fb3389202c059062f30b786dafab71fd7464caaec5a968f75b20fda1a4c074c89b2732baee615c6e88d1e2e2fad16bda01db395df1103e0d1796da2fdf9d9c8c1c776578e8acde7d97808deb83d0c4e5115de538b3f5a48ead7ac6b5076b12baf7db4aa68a091174020e5e4adf275702020e6eeb9d8c4500170dc5e2171ac370763f7b1000f805d924bbd80cec120446e9be5669181a8e4eb033ceac5278e7b80ddf97d1a58737f072957a221fc27cdd18aa0514b0811e967d5f0eca4f2553dea4760299c4db6347c9070759809247c48d035cfa06caeba20db6122cc70f81647e93f5fe63c4861f637c3623354f9c2f8bd2f9906b0860d0c81c05a0033d966323c8319c5633f537b9180166a2f15502b5e06dee09616f2589606e7229a0e6fc770261abd737c02cfeb833379d0d5b850a39d4587566dab90ca7a8331654532b589ab7aa20376f355aecc03c2b06149f2f9b4290d0ed304eea6947d235341455ccc04e91e3c56db5d1b74928c3451b5a9d3ab246ffaf7773b0d86f35400ad2ae02ec761ae675ba70d1a8dfceef2a8a70caa3e4aee8c98578bb8ef5a8e2570646d1e62ec2fcbef115ceed2c16cf944b4f175ab0899dca124683f3bf00dd0dee74c25dc4cc82e80d10e9a941845d9e174dbc9844941738eb22076a9f6253cf604d62346c14663bdbaf\n\n# tcId = 139\n# salt is all 1\nmsg = 313233343030\nresult = valid\nsig = 315a9a4ed7b0ea4db96b233c62a0e7bdd725da924ba2ab8e2f20ccadb2b5256bca0308cddcf739d1e6b33a859f03c550d65c78958f0eeabff625bce6c8ffe38b60afff13cf33866c35ebbfa85b70a3c592f74e47fd97b07f3a7c4f14e26e7be666ff64cfbd873cc06dff82da222dc135ff47f875ccd695ca8c64572a97b76ee7c772d9d07e4476fd4e945ab0146ace3f0c2fb98c34a066f053d93480d1c7725f858e459b0cba699093e8c315bbd6d1347b608b51906d44d49f106ed866e230785afb2a2002b82305bcdb9927ca266ae641a570d0b58f344b5e077501d6ec2fd69b3ebc80d7dce55590f4504fa809178d92b45aa69ec1b28fb69197991ef33dc9f4cd661fd6ae74eb99dfdd1ef122f12d04f7c7e624659fbcb2b987fd5fd25a104d735acf50f3ad070333e9cd4e659aaeb5dd28c86ef0680d0a6b526523e3e5a04cde0fa997c2a4a4744cd87170971ae3d903e0c085b6e62f8b715df76c7779a729c5d92382419804eb32b23fe4fcbaafc58ffe9475710e789a09cd9c3b8737032222d92d0a4cdbe53902d167d49f41e60c94ba8ba119499a5bcdd3eab544cc6226389c732d782c69c97b56c4b701a6bc032079150ae1af8a7ce5e0ac540781e84723e076911f4cc238e95689ac12d05676cc6da9219c491e2efa2af317407b5846fa852261181ccad659911c19931fae0f7e70e44d2b056a2f63d2f6983c9502\n\n# tcId = 140\n# byte 0 in zero padding modified\nmsg = 313233343030\nresult = invalid\nsig = 07c9a0c4ec1ec530aff99c7add866e0d065ad0d4b8c04b1937fbd821a204d11f47f61d934105028abd2f4630c5460d68ce33a02a95866f6b58bf6b3cd06a82e543620cef0e4261083c672f2289f3779bd085368d75a0ca002427b0997e1b13f0ae4e2a32d475c0ab3c7088219708c1b774577db73ddae7dd22d32741cc3815029596c0f654c45d6795d47b4c1007d25e026536124c121b5c1ad7ba59b8cc5ac7c288ebee89df9a7385676f4c928da96b2216505c164f527b0c85e4465809a2bb834d47e1f8221d62f4bcf86e92fe10b11dec6b0d8aa34cbe1a8fc43619f99971c85dc3eb4aa091a76055c41151964b5d65f593efa0dd6a82f076b60a71e11d88b40c5c5643e9fde6c05341d2e32bddba6050af72e8583f8ccc2605e7596f7206ef7b9b59829d911a9b5199d4438f642d2367d28b5d4be12cfc5280402d86712b6eed2ce2ebf37f62bcdeebf989256a1e19dde38f32e3980b8fac73ad9153ccc0f140c96413bf7899d8fda510d8315e7139e8f749f8ecea99afb63af081534cc9847d81e520b926b8f0bf1de4976c5f6de8b7cbbde644158bbd3807bb9fce36339a06d930c137230f52fbe546066bf6064ecdc76568d36ae706252dd4a9bddd3b2567ccd", + "eb3bab11bbab3560507b5557a9c66aabf9e2cf3e42e3691ef77a3b29889a1b7e7287b908f1c281cbe2212a3d980bc3d312819fab824504167ac01c418\n\n# tcId = 141\n# byte 7 in zero padding modified\nmsg = 313233343030\nresult = invalid\nsig = 22e1bb23c2bef81ad373284aebaa714bd1a9aef8bc6730b66e73ff0f6649a17b2a57b3b14ee4dd0362f659b69c1528907ca7ac8a9e5017152073b06491b255a7d5b8f6909c18583d8d118ee32d3c31d7845c30c419b518575b47b6c632f2102c4fbc73c2ae5920d97587ddcb63eb922cdb68c00ad477e028049cac752e4101c364e11c61926bbbe731a7a09cd30c376ced8084bd1e9e7532793300f5d063faacd167f014e66f424a50e2329091a63861539327b664b019124fc3f3131c567426036b55ccd7a5e37c3cea52ed02ab9dfef0d4c08735d04aa32f11938c18c7ec8c126e90793f6f5462366c869c7178701e3ac87e68d7b8aab57e5750b798c89bd528edc2474627aa5f087682b9b652bd6d61455a2b7181e0c2eff78b89fbac1a63691a3c94c873d8ff6969c754d62e1d135e1a69276f978169ffb5495c6c26f77c9a9e9229d436abeb0f635ceb786e5ac52cb5b57bf6f0778b62021c5ebe358099a995197712ce187cfcf60da15c04382d2828b6422e1959445be219e9aad957e050bc5214e8b18e916eb5d1d6f7a7bcf64291f51922c5c41d053d50ae98ff3c3942fbd55168bb2c439835f79d1fcacb3b8f1e40bcb2d3eb1db774b07822a4e6ffd021a49fd9eeed2060a79c3674c7ba5f7ef6c909325bf53739da9b58c775edd9ef54d625f00b99bcbc5b2ff2934769a497597862c818428eada5058e5e988f41\n\n# tcId = 142\n# all bytes in zero padding modified\nmsg = 313233343030\nresult = invalid\nsig = 960e2cc16879708c9ae7329f118b3d9c8c7512f54411c7912c18e1b52fc9b644e72ab9f467c78069e2fd0156241b82b6677e34b782b7fb0094c67adb4827e050b0b3fcd1a050a6fc4e7045b3766dbc9a3f59116226ce2a2e4135e21697bf4560a32b385eb438e78b9adea06a5bd2fe268a1cfe763be160d0c5628fa009c870deb70787d514a78da0b505897afbf0905c3d9c2d849f8bdedbac1ad26f6fc34f74fada027f49972b33d03e9d82b04834a6500599d12d524473b4e8a8d1bc8e4402cc1e5224f62911cb0cc922513aeedae57de13c037b527e36771d555c27ad4c92359dad0f4617b22fe672f01f8967ee1d602f22fd40b6328ecd7698fa1bd8fd5358b5f430ff37904d607ddb45ceec4e66f8a4a12fe24221db24624457589b81159869c26088d426fad0a853cdbac650f4d1fafa913f98069a669e2f0c79ec84ee727dcbcaf233c7908955b98d6b5aeefbe8158b8e8e9ba60afdec7556f4278a78a84c6af3ff4c4bdc7ee06bea762db57e996e81d05ae3ec62e8d99a419c1ede6934ad1b6829d580643e16392d53d268ebb1f225c8011fabd908ce7e0c7b865f1e75290935b27a236a51f32ab43c827e249321cab4b202e02c09a747fd06468dd97906dababc0ce4e05863110945233e2138f5f8a3e4b994ac57424d9a3c1c7075836103ede5b63e2645be30c640c66cfc4ed4b26e76efd8e02f4de24699161c01\n\n# tcId = 143\n# first byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 492af926baf970e1cafe0062596f226f8b8c38bc1903a3754f83745cb321b86671411b9a96ff88ef68119ca39c8fe4599b703f6776151ef7844a9afa23ca63afa99b64721c1904329eed182a3b61f6e267b6d80f7af5b8a9a40e32e5ba6c029133c73e24c07e64a9343ea8f9b7f6658ace44645ae2a0c18ead4969f73f6b3acafe5b64d285d8fd38269c14c266c1a67f9ab1fb83793352a29ec39d847f02e1903595c88d8c64965507516309b77185a31971dd47ac47f9d7cd04ca1a33e5f61a0302c1dca998723310e0bf8af8bbb42128d3c2d0c4f90139a78bdf3ed4250c2092cf927ca137ecfce6994a6b6c12f840e69ab6855383ef93c33b93b984f5455eca3060b22712c6e82e05eb204bfb77932d7f1f7f0e9954268d801523b1649839cd6b4e04c5c9ed37b56d843aa4f9d546bebe4f2b56093987c715e784c15e6be25e8af454755e4fda56b2b8bc006946dd55469bdd9e5d5843094f78a9d74b192be98dc072da23ffab3e8fe603f7e467792948b158e84c98e8b600c97f0310241310955ce99c65f4910107f4ac96f354fb6005eab9c9f1bceaff68167bb6f39004d37df3b5de71ca13d0bbe1a2420843ece44bd3f5fca845563834eacff00fe6a16972ba647323d637fe8da1e2cd3eb1db2158efd395ec65ed315aa229a7733dd70b741c6e2857334af80f392460c1a5563086f0190e15238cf41e74b76eeee525\n\n# tcId = 144\n# first byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 94987f1aa4dc1f0a782ff78af1da6495309e247f184b683ecb3ac5f2319ac6cb324f6e081c69ae33d2e8bec90862739187336d1133856d6ff47fd00296e96d9be845a4d606b9974edca34e36cdd19fb0e61ffd526521228f38c2874e99ca8e03f59269337b761c822df212425b38fc853d998a0d411d05a675f7d6aabf64c8068177ba8fb8b36e18df86e7f6e91368f364d7eb91c4b5878a1e4b610d089bb4fe2c4308a3a0610cc3070656b5d2b2fd636fb2ccf7731fc7c850b4cd196ca68992c5b6f2fd87d94d3c7e212fb914362657011ea8aa90baca2fbdc62e51245b88fd59a4f708da72c19202fde546a5f994fda930b9625324846e05bedf4a68d97209dec7e6c4cce36aaaa738876bab824c6a6b7d3bc80befd646fb6e08234cc60d038c510776962ffe26d4edb8ec8e047331ad7c3c9d2d0c8844169ae715a04cc53cb75c2bad8e6163ac43ce4be7c57411eed9b2c986b729af33285a8e487e26ca3254570202bb3bf4f19133ed4ce076c06af6867489c983cd579a705af7ab6818f7667ee0abcf222db7e2e956e26bb6865e7ecb2b25894ee4d27ce782c98a3dcb896ab27aa5d939f5dfc72441d45d384387bc2a162d6240eeb6d0d58eb039f439992d782c7743dfcd3a2427c24197656931b772cdfa9479e72b542b56ee393e3fd63d3552c798e49c67a6777e62fa2bf7bc41440b560f9bae3dde2f3df1da81b9a8\n\n# tcId = 145\n# last byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 445e1dc7a54c43c7aa5de88c92e5ad7dd0895513c042c3a76f4cb12231e35ed524ac846373c7ba5075518577c07063f0634734c8d5fe0ca3a870d1eaac6c8762796d310c5cc9f95aaefd1ee1f1d9adfa511ae4b3ff022eb7224f2d0b4a70915c8ae5fa3510fcfcf05290c9bf5218c39985df21a35f2f971f57f52e493a17817b2a683f82448db330c179fec67640607b4e4d8baae3a86c33a33b8f9f3fd558ac20f841a4d0b58f07c52fc25b98d5713b90bba6db7ba1aab130c7fd988ed81e56280ac4cc48ac165779a5d51ee976a28df0b29b9d5ae9a8fe790b779b9cf7cf4c8060f07e3fdafd120814788bc83952394f6a71ce3b280f065cf219aace434c345541486f05c4744b31fe747b85fe46484171ad66d81ff228dda873c49677c5785a2eeb4534d90113b2d4442af909577420de6a732905636972a334f3670109aac0d26aec70351312930258e688b8b191d2dbb9969494d1004f6747ccf63e8534abbffb0aa643dc50ae60eae61c701c89034ab3125929011420f1d95eff52189908c2ab1e9de77ce15444f5f1cdf9b6a70b5d4adac1a371ad2398f2781a0a5bb6d1c8bec564960050796ebe0ed50faa1d353e6ec959aec8fdae8b3ddd428c93c86d431af7ff53afa539a87e0c07db906692784feaff4a3c20c0f71486b25ef22a16fbe4b3cdd9de5c6c72cd02d1f041787f5052efa621bd89cef96bf48b0023f8\n\n# tcId = 146\n# last byte of hash h modified\nmsg = 313233343030\nresult = invalid\nsig = 7dc31d29d09e8a858c07924152b0f90f1b575fa9d77ee816acf6aa6c1bf3156bc25e0bae5ed6d9721604115c467f0bea762ddcfa0fbb45a1a9c97c58ce54963aeb35e63a9a26898ae3b08c56f24cc9d9fe2b3f80092cb18581867e4941eb1d1d5899c896327806bcc45ce51a6d5c117917f8ac50445140d48cfc1bd4d37e129607b3949f93463a72ff3dd085559913b73d734c406cb4d8ec5befec27cd8b43a5cacc5afdcddf48b0c3f99a761a74a249e23884aa5092bf201089abfc2b4e705a992a106254b94afa6946f6e43ac533209ccec7bcb2097f242ed4fe8448b6729aac6209b88ada4885e3131782401ccea29b45f35729c5eb810b35239d65696b761785ffd712118c2d1d2d858f7b1cb13fa9f0575b6156f330d8de9dc9431b1a48472e62cfddff6e3dc992a0d2cc4c25671f7e72b3b31d9c4a79187d0336933a6750d8a6d6d4e63332f6158d645b6b94b32f5e3eb23446e62fad0aec1a12b6e1e3e3a735beb31629305dca8ab9ef72b462ad5a04b13a3aa0737273b21fd94ac322dd2b01321f860dc0bb4daec423e3b824f76ba0955e1bf3c2b17bf4275bb91f3204c476a4dbeea928181f5038bb6e78d8b2d5bd1179726bb622694b162fd36e337eff3d41cc4d231869b3f4a49afbf1318732e5644bc32f9ee0f3990cad875d7c09b3b2661a902bca01169943728f0a3a3dfaf5f4aab9a8c9459bd19a6427a8fa\n\n# tcId = 147\n# all bytes of h replaced by 0\nmsg = 313233343030\nresult = invalid\nsig = c30b3f70a397dd8657bfc7dd49bfa7606a0c91fedc39f8b2b2bdf07dcbf8e236edba3df876d58ad90734e045ec3bb10eb6f4f0d04a6ea2b6a29c446d4be3dd5b9c7caf51cd8a591d5238ae252fc0eeeab8543572a7ed61ea77f5d619f696740b1315f2ec6a4ae9efb5a44e4028f6ec977a7439f1847b6a5341aa44b3a495b411fd9883b0f3c782bd4f416ddecc89c6ccb4faae810b961045d7dbd1d605a17ef5378928b1f4d2fdcde8bffdf6dd56bbc2bc9fe26d3f95794a6dc94f2b06521541f8d9e63c81eac921b90f171ac2a178924c45d9005c62b1134d3af85b11b961457c29878fb2442c1b48f71968a83d8630b14c32e9cb5a35c27e8ad6f075d42429721dd3ca7ef4b6daba6e1927aef2e3b8cea49c34020cf9769268e83cf098562fb7f70b158828d94fe4aa84ca5deebc7ffc8c8c8a4af42c556f50e3752740ec955b7020c3b9a6b406fd18689b62719340c68a7b63924af27044aef6879b725c97b4be9bfa794eb3572bbb48cfbc8bf6695f50f5a18b0f35968a0849bfff7b230595338e3c1f69bdb08dd5c05e8d15cc0aa1311fd726185b659cdafb4ba9b904532fa38c77cec9719de9b98f73524b4e9aa282a855f6932f547bec21c691cc2cba9e96da35b6d808b7f5fed29747fb1570fbe0c02674b1722a38434e47d7e4aa48267775e9a3e076b7575bc55b6dfcbf721a2a3e7a7905b0b486468150295e1269\n\n# tcId = 148\n# all bits of h replaced by 1s\nmsg = 313233343030\nresult = invalid\nsig = 8d91bcb5e22a56e39266ad5dd457fadb75626a69454d8606f52d11dbf016ab2d1a1758f0fc3bc95e9e6df808dd0a26f62ba25bcc90c756857adf66e9ab3d8e6af77c86921f63c7da72614ecb521e382126ea8a226c1eb33384d134561e83", + "5024eaaa54cdf7f5f4d751871fb2c61e4386120e688650be35c871dad4b7d055c12ef534aab68bb562afbaed8c47ac823792db900a5546c957571504cc4165648f586457623334c3b357b688cf82242373c5a7e48bbf92426e4d33c035a6de4e1d806577c54ad6874d04c5f48994875f41f7cc3f266cc896ae2ef5e875ff08da0b411a66be3e7a3cfc740b9855de42b3913101be2e18284997afb36832d62c8a4b6898b36150bdd24124adc8bd47ae722c2c2d479e13982c9c225616100305019a3d609887222e01c815108988507fbba1cf288703d47b36fe1e54c9f15838e765d95d46155061a10b055b47352670df7b0fcd7b7f89c5d98b5f2ba99f4ca11bbe1194998136c942905db13290e265a594fddb5f4ec3f7734f384bcbaffb70bd78c21faa0e439aa0b3d3ab70893a447337061243de88e13cafd02b53143330900bc009c3d173476081d7948829407502480c905254f8fa36a87eaa8f1265f5c49e6a57c9ea50f1888e64781f4ee821dcff7650636d6bf41772382ca9672f10c599cf90293e39bc80ff4910cd2712cc3ce4c7833cad1a671e9ada9898e9845997f59a\n\n# tcId = 149\n# all bits in hash h flipped\nmsg = 313233343030\nresult = invalid\nsig = a71ca7bb56501b24e9152f7c08e2002d2b0b59c0a00e20e5ae030820caef502e0069eff23bc65449e13603241b3e06ca71dc0fa46cd7b4fe128486267872315ce4230ef9c4dbb9131d83caaa5eb80c98dd1f4458e71d2d6cc450f43d4049cbbb97bdd97e7d7ec22a2146907469efae344e94eee8b56b44fe5f86e81074c0efee8296875c95c6a780ad7a301428df907901b03cf58a69b3f7404b4af276ec5bcbcdb345b587bbb7b84f9b7c6304b59e9dda1fb313e2810e7e514c80a702f2dceb6553ac0942ecc2a9c508333df5b2fb36cf50ca7df780bba3b1668730e5fe829758d5f22743bb6b110fbad6aeda879084d9f3a519db5e2e4af0dd6edbd779856bd0556b9cdc93e3d0849e76cccc7cfccaa42d925c04ab6c75b58bbd513189b3b61238eb7b412454966a46920d78c20d7a13841190ebcb2d778c5c59ddaedb6c7fdf2dbf0ef244ff96a73ebb4028c1a3d89f57e1a05983aab15f49543cacb7424bd3f48f117db2ad0f27a1f07a65d4cbc43edeca39b88ff35d910bfd87f295f0234bbb1f8efd5b0b3aacb251b7bbb628bdf43cf8276d26e0b0e21bea693c778aeb1c9a2a9b9f7c82c6b0600685a70f881b4354176971e872507d916806a410fe43d9612cc258afd639a59c89ff7f62d5e795b1a3c8817e0859d497806433c2b8e00a20ea05a68af90967a11074ab0866f253f79de4dddb4e721ead959f1f74e385\n\n# tcId = 150\n# hash of salt missing\nmsg = 313233343030\nresult = invalid\nsig = 97c75e05bfb1cf41d40d9459475c4ddeeb2d83dc91942fdfd50f3bc3e61fecec0a7333caf6788f5ee93e9eb71df0edf5e181fa2c7276c9123ce13b7d7fcfedac4d10e351f20fc2bf06e340c1fc58b5330793f9e79ab60d550b4cd692dbb1247bede9299f506eba27bb87567f68b3e6b9934e4f1b94dfe33c834b6b6847278e285d92c0a1c507796218bfd6ad072a1af33154f70094da064bb9cfae5cdabcbca727e1ca9d9cc2c6895270aca78842740042475d5f3af07233aed83c93ef2519fa293341bb3643f7206c0b64b6bb69dbbffb8330c122a236e572381f91980b4542449671b199926cac2f1851bcd0fdd6d1235ee1428e6032945a953ba101fd62a14a4d55596b8af8f8c16266f94863ed3a466e20c36e66cb59529eac17b738dcc7be76de25c8ad8933f19cc02d9a459ac3edc29503a8f46d4e27b2fb2d397be467f32e028b722dc7bc0908a366a6786f9c287aa8819c3caad01118551bdcfd072505b659db197d6191d441d9eeaad0d78403d8c1cb2945e6ce911c69d9f2d59fb86717a83b535c4b714365a055963c7a04a6a5edd711b0e01e6ffb082fb77933550b72adcdcdbeef8d26cf30ed6227a6396b3c2c8d3675d15bb7c03b5c84c3b8184a2b7eb8ed4e43057a299062452ece02ff8a91240245c2dd67041a214b06bf5457812cd91e1cbff12c9d92df3f2f4621271e356b7a630387317e2f2d517b2035\n\n# tcId = 151\n# first byte of ps modified\nmsg = 313233343030\nresult = invalid\nsig = a658b821e9f496bfc4d0773bca57118363c0cf6e520d4d1c0e5e4cd92f41f3e68bf29fc2605b98adcc37ddf1460d53a3ccc714c8dd29c5c5f30f234dfd0c2ff4cb88f998adc6801d87f2d3bbcdcde263058d38612d2c476d899297ff5b04448e4b36be9869fdf301f2aba98004eb6456ce5a277ee6408908cccc9fd10948903d6724a32211341bb4f17ef82b58d58d2519304eef3d7df172a317657285fdc3ea170951e5e0d672d50cde0f9502d6ee2d28684deecddfdcb65a3c6bfd4a213ffff97f291d707b2fd214ff207d538b40c4b07dafe059e96690578a86daa08878addd8e4cb422d7cc1ade303d3f3f43b3faf54d6a9316fa862a209d5f324763cd4c9aa4e1766ce52b688e7f32e3680bda51fa1f93404fb77f1e1ff14ffcbc6111f085501dc7d53c7b106d651b562f6357ebe217dc3d6040b57b2df4d811c9f82f2665c18b17497827a1789d9c8b26178ece684c9954a1d5880a0da8b338f111ded5a34f3d4854e39c8a49ba28a89b057a69911110854f247fc1f6b77fae7c454e2f6990e194bd43241724331669d41e6a2b5a9de2d29efbcccd9ae9fd912de728a3a8bf86b79f991b024648c6309feb0641134bb60724ccc59b02b3d629b2ff0b54964d4932bc8953a2da75f8b2fc74c046db96b03738d57d99f061301fa9d2549f9bbe990c8cd7e0b6a0a94e00f30cac6400120abbad679c761c7ba07f54098223\n\n# tcId = 152\n# last byte of ps modified\nmsg = 313233343030\nresult = invalid\nsig = aaeb65102cbed1c602e4544cf08a44fd282abc4cf6981d8d43cf33004bddf16cfc5488a200ef3935bc42dc6b46a60975a9f1d2e2e41824e1199ccf371b79c91b8fddd43084d1d1a8e8915d5efbf1fa1cdb4759aaad092efbf21f8bef084da1d654f801f8f80051c8d2d8b79fa9ea1578bb54f1d9397597fb164a0316d0d3c7be4be714d0fd1bfaad27325ecef7573b77609c6430c8b1cd648ae574c58b232078da0b5521f376f13b34635a573bfc298cb010f663db67756a9d109b0cf42caf35345ca8cf1ccd15b98a66574c8c6d119ec26d08eecd92fa61c609c302c902a2cf9d78f644e9db3d99d5ebfb4561fb72c33e47bc1f5385362bba51972c1fd9c94c839a6c4a3c6169a711afeb4d020ac6029445a5275a72ffbc3dde7e1f93f5f4eb00492ace4f45feb7b15a882f26e36146a2f55e18a51e8ab329403d19cf8466bae7baf449b84b842e3d2e355ad81fead994b711a3565c9f416c8523c0b26300a53e2add01f4bdaad160bca5bacce95d7b69f1086fca551bb2616818d267a2f3351d17e6f64a896d53265314548c8ceb5f29829e7e2314c5ffacf3caabbb4067441f2cce5693c4c996d887326267cee4e7545535feb7e7cc8e3f36f202ae3210999d2b5df472e0cd5e811336c19db898b6217cbb3f102169fdab8629174cbf04a53690ee4d395f064c03acd7bfd054381198031885b99f51117108f8c04f2eef57\n\n# tcId = 153\n# all bytes of ps changed to 0xff\nmsg = 313233343030\nresult = invalid\nsig = 184964ce5d2c22bd587ef648cc499b007badea08387a646ab544ba57562444667d8d0dc09baf2ea98fd096eaff5dfefdf16e0fe09c88fd895804ed977fce48cf9cc963434dd29d0c612f7dc0cdab2b992ea298393dd3dccf5498100d149bb3b29f7be67397513d532bc30dd964f661726672f6064b657e42f49f6d5e9b9170a8bfd8c2b89a6a0cd1a1691b38efb719f955b478f468092425077d490ea067d72a975df78cbd91708394bf6c703e92995bc79a071023960e0c29de8dc115890b3b250c69242fcfb76bea21b1a72acfde90adb34ca92068a2fa2dbc5431f48b5864a20a6227d521f9ae0be92c4be7cbde99157c3d5d767993176997baba3c2a3254230b8947178640f87372184df010227c3a04e85a4a4c012fb3ddcf335f18a131a864b84dabd75fadea39236e81b15241b8bb220383c6c134de6bf5824240c7b884bf41b1819aa04df77c02fa920bef52c7083eaad216bf628b0f0f08e5b995a9a4b49d9b28b1c3636c9c1ef9cbd7f537d4e3026e869941edd77759bf254945bb095884fee365b34eb9f7fac3c496df866dfed6b07a35721c8248000147677e0960ba2ad077d5022382d9f8415368d79b4ccc28882bd8dfae86bfc73274448cbd0a96ee70650a48931cc16354ad69d3b68d821abc548e3d3c0a7e8808c88d7ac0dc792ba2236e092b994b9d5a7501f347716c3e1e17cbbf8bb9a3ab15c39b2428\n\n# tcId = 154\n# all bytes of ps changed to 0x80\nmsg = 313233343030\nresult = invalid\nsig = 36f38c26e0a23f6cd5c816bd3d3e57688c4f58126b4dc24d5ec659e76c1f97a7369317ddea841a3d90a00b69ddbc6fcca2768c85250cb64c5e10452c2569126c9cf5fbb66c6a98849eddd51c6fe6f87737554f1ebc99cfd161f727bdf9da0738af5dc076c27baef7b4b2af498137475c5100bbea7cd6ad83de7c6916a9cdd3609199de4e2f65d655adfd603b4ddc507d7364fd67940c293d84ac969bbd64e63a57f62a87f5fb3c100b0b3286a1c9d2dcd263c3009534ae05272815c6d9ff82d0fa59fdd91f6a06fdacbeb6806ab71556b4bcb72fce2bc74aa0e12f0a831e103fb248bf1dda7b6eae1d9f2197dcbda37c343bd679d66433d14eff97905d2220c2672d01f69c07600428d47284b1b1d0305ebbb78bd29180d5f54344877e741401fe9cbfb671b62a254811d21f7595f841c2be876104abbf10c2a06949500f7cd883268a1b46207de28ac102b58ec99e0fbc57c99449015ff2dabd9479b3ac796946d602d4cddd9569e38e406b3b3d47027ace498dbd47bfcff785976d4ce4fb0d74b3f780fbe8c6d8a6baa50ebf53111869128ec354ed4dc0719f3cca55f610c5f82b97a1fa443ba73066236610bb6bca882d46dcd613b0f29d4272773456fb35fcdb056ca053a838abf65ceba0ac0d0742bd633351c3909a9289de1f0539fa19c1823aac286e88bc8041edcdbd4b62612b1f1610a0d519e161b2a305cd33eec1\n\n# tcId = 155\n# ps followed by 0\nmsg = 313233343030\nresult = invalid\nsig = c8ef89f800577cdcfa788084cbd57f070d634ed7ea5aa8c1286b22e9ab33f44519d6776de6b3eeb6d7663194b3097f428e8c52462549b64d3adc26beddf3283fe9af81c46f54fa5513b8df69ca951cfaf2eede4df6eefd39b68d2e5d40867a517567dcb0a4b954c99a194ac448d38cb792782bf07072baee13928a708521d35d97babb3c59095d3026e8371a8067e62bace0a6b42405a4f0e1b242a7ceb8b193d9e0584e4e231def3c1c727a999ab03ad6cc7a33d6cb147c7eab81e73948f58d550750f4d5de507f9a95c5f1a99cdb38215f4b2f22aba9a313b33edfe66473c20d3b3a109ae1ac618418fb655da69c78c56d0d8ee95ae8d569d49ba395473af9e76402a9f4b071b14ede2c28fe5666c7d6302b0914334c420274a77629d835149cd1ad045dce4aec198810ce4167df8123a2b124c7f", + "5fb6d5bd653ca55eb88a8ca2d51f9c42df365cfd8287fcc1dce58f6051e33fb0f1219f02518cbd01d86b51132b32ac0c1a6ef7ae0edcaaeb4fb190817c3c7b6b865bd85995499aaa7d87652fc1b44d9dd49a545a5de0f5f58a4798cf022e97fc8ab28319ed713c3a11d42bab6e2af1280139e03b27926812e5c67e5526c2b9e0ca318fbd48fe951717b7a5e901b782a81253d859820383a1cdf1fb20841fad390e53841b236df9cc7bb665207689e51b7d3948cf924f92d05d2af4c04a8173f46407b1f4d1b1706d27ec5\n\n# tcId = 156\n# ps followed by 0xff\nmsg = 313233343030\nresult = invalid\nsig = 83706cf470ac7e2ff571ae2f2fd618b5eca1a794be64eab576aa63e0195ddf9e6e5c44381e3a811387ec948eb2e9006d991a66dc80471f1b4875e014187e0eb1a7a497f06402f390f44b8a5beb2521ec90da193169eb86e44bef92d2bc11150cbfefe31fd9f7c6fe09f6cabde4797bcb861fc6686a0dfb38a51b80631fb25d7bd84c30d2779cb5cc6223b2e0ee8a7343db8c03015a3885b6f66057d9e9281826eb026824f0cc9059c1b21a1b7cc48b80a41713a3d07f85584cfa0cca6f65018713cdaf3ba6acf5102e0c22b2b839c8875f12db8d22c73a153923033e61a4e7c4031006194f3dbe8661428c810f5d1e93e815dce86200a3fe45525c308c5659e0d022dc0640df0591ccc5e704c8ba261fcc53d2c53eddb47f139dfc8f19b5fbbd4b498ca7b22b5ff6016b4c8f6b98e4fd4ec3bd3b4d90592a72d57968a21e912f597440ec068c7c27e7f57347d16644d78e7733634f4ef71635a1c2ad55a2448b85f1eab0feb92bfd3139b66726c77b78d5778fab114eab3d72d3c924112dfb0eb5d19958b1a60cb8f7379d53a6719b3d3a4c9ee2c2acd76cc1e5f3adde590c3e157229b9051b6d62ae4469ca3e55c184060862488160ad35c12d86e8d379c4524cead0d7b0268c5088e31717536f99cfaa7459fecc0247233d6fc890dc2f98b21f4e6008b8f89fcb119cc94a6eb96f87f057305549d18d05af0964f5285088f8\n\n# tcId = 157\n# shifted salt\nmsg = 313233343030\nresult = invalid\nsig = 99d2525d1b4ca3ea27d97237c9edd75d44e8cff850e8f3fc8643c95609db33aab1e39bbc94b00e21cba5e9b1d19b5554ff4df42d7bf1a0dd979c9699e9183bfed23c958ea7799aec3585de698d08147acc84366cff33dc45a94feb6f42de9f75927fc74ad3992aecdc100ca6c04a83753930175a85c49821420919bcc392d50e4e290d5a466e92fce5a189b9c87cb10b764c9e476427bc2719f34c1266c446c2bceb10907f730734c0706ca9de348aa5cf7f67cf00a73aad4ab2a1a8b7ccf4af5e326a0aa6df096410855271069991728f367f3569a00b9f7a97151e0c1a5898aad3ae2c9cc20e06f01013b5e4221c65d8fece68e4bd72e57a5762733d3481a721f53041e843ba06e3dbe0407c99d1897bc3b20301e469091c2fa1ec464caa650953e78007dc60750a7a72f61b2c370af195906c831b9f648e633a5c129fd70608cb132f25d51261b62bd3a56ce9c9565422653300355c7d6550b05c7c579b6378a46f57fb2fe57f2a56943640166945530cfe2410bd6cad823c73dc0ab4ad3c3ceae4e2e15225134e47f375641346d36d94e87ef6e5fd31dc88455bf70107fe8bdf9a4009c2d7782f0668739afd9d090b44f599fc1d4da05483cfdd17a9ac55b959d3af20e55a421c7a5d7e6d4200202267219b62db2f92e59bd260383b944e89a1c1beb6d5d28a9d48f235f3bbc4f172a7497c3ca8cbd5bb3418edeef02896\n\n# tcId = 158\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 121fc93905d9fb187962eb95f6f6c5871720195c624f11a552b6ff644d1eb11bdca770228afa766033cfce705effa5b081d125212bb93956b0d42cc67898be4b617405874f86847c793a4a8019eb1a1193d518f59fe85a7f1a491e68ef7b1c0845cd10419db3fc9a5cccb045e31137ed0fb2180239057f207329b1b60f04bd1111b8a9f7f5179ebf98d991fb1eef76753011eafe090583a32be5010898f24b7154eb10d8dc3fda6828782268a0495e3c0c1ffe8eae51d1106c316dac5a0f07a9748f8be0c639ff12f00af0f0fbf4f651f26298822e08d65b34db6d15fea7ee280f1262ef47338716f3ddd64ec7d7109e97f54a299f07e3e71e229c4bc0f587bfc6c9d3a9e67c16aa79359cbda18f70b21bff5d6f112cfb3a188786c26f54435063c86ff1f867ff8e9e74fc9ff849c657edd17153e71d78c175fbed9d69865faedcd5b1a5392beb932dfca613c54edc8e2be963eb0e7ff47e1bf972a403fb2e257be4bb2d1dfffc84179be8061f37477829155168b25d907c3bbebe2e7492d3950730e227d1faaf7cdbe0fec3f2f19e9f98842bb29cfa60b87d3dd02e51b43468715ec388583656eb50b93ce501daaab974eb191840044a204ab039c09c092ae02dc54330fb65048e7ae8aa8117593ababf695b9fd2704f31d12071d76f8c2bcd2aa14bde65a7ac1c785843c2391462ebae10812a6bb735bfb1f2ac3d74ea5da9\n\n# tcId = 159\n# first byte of masked_db changed to 0\nmsg = 313233343030\nresult = invalid\nsig = 290567b67c0a8c1c756f6f0c4b5157e1ab1c921af2d02d0ced12472404694c6a56549bb0cd3227c7f04e769c75b46569640f2504e2892ea270ad8bb102a001f7af1d1011d92e01c9bcbf284236151fda13a6072bf4da11f9263773967fdf3122a401e11511a04b633251516e8aed8de669a20223e0dd39a6b841bff40ba6af6934e9c9ca3fa2a3d277801e3483879640e16fbc5b8a5240e54d50b07c081f84d63b9ff9b24d703327a997f1a74098ae3e5a5a0c380d68b4a3437c7d5f33da1187e7b6ed5d9eadd1e1c2d60d6df0a0910e9f93e17f01bb2e643f451f36178a13193d057c0c8648a55002df72d1166771e1d9ae36dda2c6058bd9d2ab0a350be60b15a021a016f06dd6e6b9fc8834db10190b89bb880aa38e5dfb03bd122ea9b68ac13057c9f1aec75e90cef05602dbf4bc70d94ce7231265b3e846a2e2d00b53e8d6c04470125d07e782cf559c41d82f1e10113131d48f4ae091204ee81388af98722b17114a396764ea8a3852c1ad727de9742220cb3d111e0fe4de9a27c636e57f8343fc287d74cfa9e811762b4f9ff3715aea0a258baf4cedb89a22e1593eac18f34e83f9a34ed139158b6ad8d4b292a7e4d933b58bd6cd9277d93f67bda8f67be72fe32d1805fb33ac89ae2aa2864aa402ecbca8430bcd6d42b17fda76d13ee659a23a629bf4d0e49d5ff5e327ffd55584b254c90140269b226fe561516fbe\n\n# tcId = 160\n# last byte in em modified\nmsg = 313233343030\nresult = invalid\nsig = c7a3f33ebacd1b82e186709375be80d2eb75086bebffab34dce599b3e97f59903f04443b1062a6884a4360d92dd8646e1455e95b33dad16854f744c4acf3e9e36f85f830d3a8b75e583a828e253c2d62df5c5ad4374110d6dd85426d86894f35833f37a7433f234ef966f830249dbdbabde11602976c1afeb321dbc46e6c481290108e97cc7cec2f9d62a9a1d0f00a26afbc74d45f6f137880909fb5167da8b842894dd4c933eb1f7db3402179bf130595679e260f38c4a33e0b3e9f73191756f4463b6cd159ccb0b41c75f9f405244de0aa6592563b6f0d3e519582acb1edcca9cf89b91589911e9be178cc29d429721ae373a49addc23d72057c6709eb0eee81a60de406444ce5f00783884caaceb1e07a91de1fc6e2b88a0c9e28d6eeb6c965d4e7964b24b09130b1a2536e117ba1ad3e4eab1bfb84918382739d3a0ad75f271ac343b37224c8b1b86ad1a62250072f68212e0bf1c9a3715e1449d44ae471db4696310d9fc7a4148bdbc29d264ce4c4696f758d4df5543f71ca182b0f4ca36ce1c2df8b574ae3a08e59d0c014fdb44c24d7bbd9d59b39ea7fc269c2d2b2163188d6339209726471fe297548b27cd3b6e3c58ac7bdbe3a792d858268275c12029c28148c2e0563c52061ae83749819e61dddebbe5dbf07e9e2e07503799cbac3c879d8508cefc172bb997d1a3b109d737fbc1c52975704b6f1edb2ba044fab\n\n# tcId = 161\n# last byte in em modified\nmsg = 313233343030\nresult = invalid\nsig = 29d54fda4344d689e54fd3a4625660b994352159a0c045d2b7345e0a6fe4bac788d54d0cd63a13f2374b6f064ccbb379fcbc771126a6d6cf51ad1aa80584046f6b33e9f0eba434d08531f091e314fe8e4075f184b156a267abc3909ba90d5c3e96ea7b3f191e38c631251176334319479a275439a633b61d7197aa45f07837fde18f5e2c639863c1a7689e6f56fa0131ab50c8021ef24ae6d936fb3da4b7c4993de4de3d0da0da8a19f1787f3c2ffecb11e505a60e2716090f2081831ac778a11a4b26db77f7659ed66f00f0c57e478dfe34663496eec5434d8872d16a65f5efe12107ce39225773488dbb8847bfc144672615f8ba18daaf9b4ff0bb36d731e1306e1bc7644ed3aa5820642f7a15fc253ec9fad79ce7d811fbb1959cbe124ebcfbb9d30127f0761585a49c772e9181d47ef4488e6288d17d49e759d39adff61debaaac8bf8e1c5149e9160a40078eb8f8ce47bcc0aa5517db7bcdfa4e8e2fc9825e18824839a2c30fd1cdcef0779b0f7a5da9af8cd315deaa40187a5c4b5a6fa009e1d9e288552be9f6cce448fcca2f011557ea101d41267c5df8331f585315cf6e83f3081ce149ea4813dfd11b217f3924324f34975b275bad2c8b8cfc670e2a8345e28fe3c1f955d88f83422ffe6ce28d5273adc1b30f26b7c558ae7688cba8ab24971baa979de2480f31812b990e14d8859bcce323437c8290bb9b89aeb8c\n\n# tcId = 162\n# last byte in em modified\nmsg = 313233343030\nresult = invalid\nsig = 5905112430194b195a3698730332de7ee44cad62157ffb95f99aaa4ca39d972712ff27302a960d5dd5fcbfc3eb48d196697fd57aa83123d62030d27dcb7f481914aa20dcee0bde8dd070e4b5939c359f3b01e40a42b6c4c4f02ad64fb15da070e68f63cda98db297cd535b2ebd0404d02df3036ddc8add1f545a6b09c1dc1d9519854f258a478ae034d3416997ce939bc72206fdcf5d18bb46be8a3dd5f55dad95e1067dedfd7ebb4c05fd57bce7148bf374cad3af3af327878d27782659695459987838dfafc00d898743bba43db494894246366fae5d377c2e5d150c2cb061678147f3d2bd24641cb078f074f503f2bee7231283709dee766609b76fabc0d3d14c5db3543c12cc481972d9d01950c60d4de5f7c01e7b4b81763467f1b6a1bed4f06311defc24453053ade5a50c3dea0117456eb6adef4bbe8afd49d2c1f5152f80f7f76e72b2e2269d3080c1545cd8c7afb7981b60d63ad0c6b1f4deb6cfaa4e0db62684470ed4013581e497c3441c4e9b481d148c89b1872b7d8631b37520bdd900ffc13348c647a71cf52933e46184c5278e6752d9c2e97aadf29d57820eb99de2b050698932b5dfd50a581b3f80a2d39df9290cad87baab094e17c9ec340255ab855b15ce69aeda9080195be03d00a827b6f5f863c16558a407a49862c535bd24a911c4dbbaf2996b680b42ee562dd2f519123fefccbac1d2a343f254e8\n\n# tcId = 163\n# signature is 0\nmsg = 31323", + "3343030\nresult = invalid\nsig = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 164\n# signature is 1\nmsg = 313233343030\nresult = invalid\nsig = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\n\n# tcId = 165\n# signature is n-1\nmsg = 313233343030\nresult = invalid\nsig = c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d2\n\n# tcId = 166\n# signature is n\nmsg = 313233343030\nresult = invalid\nsig = c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d3\n\n# tcId = 167\n# prepending 0's to signature\nmsg = 313233343030\nresult = invalid\nsig = 00004a80cafbe2a6095f8e8663f6289878514d7ee7daba0c1b0a077cefb333cacdf7c116ab89b0a01cab3161c68cac92a08aae7d117c9a3416d67365621da3380a85ff34a7a3b512846048acd1ec5957af942721c241a180a5dc5d8f6f6fe54d4d9fcb3709cde37081e2233b4fffa201d2029241932da170a5bad0d927a803a7f6289fc9f7b1d41cc1a6c94cbf588d5492b363920d0c98404f5da9eb9457648e2a4e9a034b2e2328c7f8c0e794771641a981df765887b5ba19b769156b375535911e1a2da68bb6a37eaa0ef8dded4ce3eac5caff4e8dc357703f0409d00baeedf3fbcbd6895dd3938e1f03dd9f131f9c979e22e4fcbea0c58721bc72d1f4976e93fc1a7649a23745c0310181031ac34b2200dfb4e8fe9bd4cdb52a23c31416745521aa4861eaea7dec4ea2c18ae9f75fa9d36c9b61bdc4185e434f8cb091cd731607b749a3990585cbbea2b1c0e0fff4f589a547d320bc7923b8a6b594c5866095df9c914cca80cd6c0e9aa3d691e2607f9de64322031ccfed04d9c805226cb476d3246d6caa1b04c63372a77668d5edf06365827b80391a6abd66010e8e1b873bd83db4dcc99444e109efa2414c6e5319f30a718eb43a1256b2142afa2382316e37aebde32da5bfec93e89d2adc39f62aca25a2289933a7cd8234d72a9b3c6a001d27560f8c8a2d9a233bac0b519b34f4f79288ea2cb08a87242953ac24ea144143\n\n# tcId = 168\n# appending 0's to signature\nmsg = 313233343030\nresult = invalid\nsig = 4a80cafbe2a6095f8e8663f6289878514d7ee7daba0c1b0a077cefb333cacdf7c116ab89b0a01cab3161c68cac92a08aae7d117c9a3416d67365621da3380a85ff34a7a3b512846048acd1ec5957af942721c241a180a5dc5d8f6f6fe54d4d9fcb3709cde37081e2233b4fffa201d2029241932da170a5bad0d927a803a7f6289fc9f7b1d41cc1a6c94cbf588d5492b363920d0c98404f5da9eb9457648e2a4e9a034b2e2328c7f8c0e794771641a981df765887b5ba19b769156b375535911e1a2da68bb6a37eaa0ef8dded4ce3eac5caff4e8dc357703f0409d00baeedf3fbcbd6895dd3938e1f03dd9f131f9c979e22e4fcbea0c58721bc72d1f4976e93fc1a7649a23745c0310181031ac34b2200dfb4e8fe9bd4cdb52a23c31416745521aa4861eaea7dec4ea2c18ae9f75fa9d36c9b61bdc4185e434f8cb091cd731607b749a3990585cbbea2b1c0e0fff4f589a547d320bc7923b8a6b594c5866095df9c914cca80cd6c0e9aa3d691e2607f9de64322031ccfed04d9c805226cb476d3246d6caa1b04c63372a77668d5edf06365827b80391a6abd66010e8e1b873bd83db4dcc99444e109efa2414c6e5319f30a718eb43a1256b2142afa2382316e37aebde32da5bfec93e89d2adc39f62aca25a2289933a7cd8234d72a9b3c6a001d27560f8c8a2d9a233bac0b519b34f4f79288ea2cb08a87242953ac24ea1441430000\n\n# tcId = 169\n# truncated signature\nmsg = 313233343030\nresult = invalid\nsig = 4a80cafbe2a6095f8e8663f6289878514d7ee7daba0c1b0a077cefb333cacdf7c116ab89b0a01cab3161c68cac92a08aae7d117c9a3416d67365621da3380a85ff34a7a3b512846048acd1ec5957af942721c241a180a5dc5d8f6f6fe54d4d9fcb3709cde37081e2233b4fffa201d2029241932da170a5bad0d927a803a7f6289fc9f7b1d41cc1a6c94cbf588d5492b363920d0c98404f5da9eb9457648e2a4e9a034b2e2328c7f8c0e794771641a981df765887b5ba19b769156b375535911e1a2da68bb6a37eaa0ef8dded4ce3eac5caff4e8dc357703f0409d00baeedf3fbcbd6895dd3938e1f03dd9f131f9c979e22e4fcbea0c58721bc72d1f4976e93fc1a7649a23745c0310181031ac34b2200dfb4e8fe9bd4cdb52a23c31416745521aa4861eaea7dec4ea2c18ae9f75fa9d36c9b61bdc4185e434f8cb091cd731607b749a3990585cbbea2b1c0e0fff4f589a547d320bc7923b8a6b594c5866095df9c914cca80cd6c0e9aa3d691e2607f9de64322031ccfed04d9c805226cb476d3246d6caa1b04c63372a77668d5edf06365827b80391a6abd66010e8e1b873bd83db4dcc99444e109efa2414c6e5319f30a718eb43a1256b2142afa2382316e37aebde32da5bfec93e89d2adc39f62aca25a2289933a7cd8234d72a9b3c6a001d27560f8c8a2d9a233bac0b519b34f4f79288ea2cb08a87242953ac24ea14\n\n# tcId = 170\n# empty signature\nmsg = 313233343030\nresult = invalid\nsig = \n\n# tcId = 171\n# PKCS #1 v1.5 signature\nmsg = 313233343030\nresult = invalid\nsig = 12813153b37fa6c0fd755a1c7c409bb8169c5a39d045dff2da02b2f8e8897b0cdc6c2d40e6945b97006f18e1b26983f77b70bf2961b5e5f2759241daee8c56fca7c53c81f69d3a0341720d9761a4f7be8c068464e881c85a2c39e0ac6f74f6f5cb42df8c3713f66a282d7fba85b7a09a6af83a068b78bfe83ab25841e4bc67c9e40cf2a0974f8875fb81cc6a115b91f922419c44ea82b33187521a7e1f46c0ab9459b4e97a3f4a1d9e92403a37168826fa0e", + "e914232afb6c4d7dd082d0c58885e356d0efb8aa9ae33d045f24b4b3182d5c54556f5838c449d31a49a3ac4ba568c248ed72c111b5ffabd991ebf5c48efbca33cb38996d584992c4abdcc7b93700ca03619412a355b41b000a32f6cc4935f942209b56a23cfb7b788dceb692343995f77daffa25e44d672f8bc451f776560b415d0d1bfe9925af1c2567a8e9bd15b8554d93377c62b0addabd27e8d9e0859f498ba8e03094e1d86d41e69f7606d9f1fac04744c3b7b8fc4942a846e2a3649bd9416d500b9895455fb6741ed8ed4f426f20ab40d8ab2e6cf6c63f5c290fc011768b317bde49753efbdfd12583f1ca79287225f9c3d3ed0c4530815e4f5e7ed78d14aec0d04142d0ac0fa3bb5d73b4bfda2fe7103a2ab40672abf08ef4d9e537b9f856d32450e2e41d9277be62ad0675d1a530709f2747f51f17aba10381fdc70c626bab45d51166b6f6ad978d2dee\n\n", +}; +static const size_t kLen147 = 350237; + +static const char *kData147[] = { + "# Imported from Wycheproof's rsa_pss_misc_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSASSA-PSS\n# Generator version: 0.8r12\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-1]\n\n# tcId = 1\nmsg = 313233343030\nresult = acceptable\nsig = 88f4676b502e365dfd82805ac1db27d1107d1516431ab4f71107b62625b6275af4a5dbfd8314fae255820c0cb577ee2457f510851d2678e4ed3e6839848aca8b67c9ce52c5bf57a01b6683828d03470034b136e6ab1914adbb1d918fdc31f7cef6f44b0b0ba0dbd6c1d3c8d7699ce374dc86c28beb3bee8f81f41162344e688af0d91297da0dd5e8104a5440add89bdc6c05d20a164c0f079b78654f038d443743f94bc45762501034a32b5d05bb86e75dd9a171c81dbe43edf50b2e1fc24297375331d78a8f0399d4aebbeeed911f6d964049e67d89eec0e95443af2ceb37125ea8431cbad2d8416fc15fb9cbed9142fb8cb06dc7ceafac056cc1f6696e3d93\nflags = WeakHash\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-1]\n\n# tcId = 2\nmsg = 313233343030\nresult = acceptable\nsig = a85f06875b529ca61b60df404652e79a499f81a0591bafa3377b80d8e300cbae679a941832eb5569fb88c9f8629e3c2ebf5f32ffe43767d1eaf59016f5904de3f7d39cb470dfc5fb5678fcd7b55d1a30f716b7f04c2568f3c1a2bc780e974a363adc622e679902e966af183d874b35396423d1a263bb1c6e7330179671644c6953cd795a19e2fe4208e7da5244e4760dde142313a781a55b0baf866dc158812a723d74911c8717a512d722669193f8883b1cffac98de8473b7a77198e20560c0c21207e00fc7dd14385fabdd530d568d143ddbee8d1b502f7b194b9827eee9472f2be8b2a541124405582bff393412f6aba9c42e5824d7c24bdd4d82d925d066\nflags = WeakHash\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-1]\n\n# tcId = 3\nmsg = 313233343030\nresult = acceptable\nsig = 8189776015db3a51805f6bf71aa1214ee07f7e385510ea95a0d4c3d53bc0d59f07ca39af40fe8c3138cf6f4ba0f72a3397df6ffda9cf49e467a34d92ec772f6b6d51d52cef86d16f74bea798a85aac873cd4d5d3a0fbbb618998f4b2b691bc14fe1f235601c51a76c4eacd1a33975d9c3cdf1daf579fb943556f0febd948d1b1e15cc85edf486b00499fa9032b6b801b5ae4454c94d7f89dc1fa6dd6a927969b14a4bdf51caf7cc8a87ae05d41e1933849acc5fcb0f478f1e23a0f476372837ade82f8ed1809e2245062009b8e683f563029ddb9892a398dbc2df594c12fb4a0f0c551abdf2fee4cb325fe9800ea741f7b2f2b4db370939bc7e3ea95ab539b10\nflags = WeakHash\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b95489", + "1cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-1]\n\n# tcId = 4\nmsg = 313233343030\nresult = acceptable\nsig = 49e060ccb577eb614274db1ad34249490d1cab2b8d3ae2b708b93c8a8ead302e6efb8d26644d5caa5f62b89f3949942d07470c37d8878eb5cc9c154701feea36ac66d0a9723fb316f7ad6226f634346c17ef47b3e19c7b9979d60118959a5b35cc188200c8f9b2723046f480d95a9a0af07e648225dc35114d8199a431ccf4f44fe8e8c9c0130aa819aeecb09f95eea8f6d89981c05cc82716fe7ea499c55460c95e99871aba1ad3ac3bdbc96850863b23e3e6659ca346ee0e186ad717a8ec9c7a548d8fed0e7b79f896722659ec7e1335de12f361d5e6c65c791441c3c0020de48e60f200c3ab79fe0179513b2c1592e2f0064ba4799f6a0eea199da77d174a\nflags = WeakHash\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-1]\n\n# tcId = 5\nmsg = 313233343030\nresult = acceptable\nsig = 2d4216f277e50736d41cda2191faa97fa99d9e325b34926a363f8dd73c901153f087ac206cf3cb25001dffbb6200b7b35565b466f46f23aafb872e5c39d26156d36d1bab19382e5f15873022e64b58c129d38eee8126130f6210fa5ffb697bb3dcddbd99a9b60b53b25d094f9ec9b7a1cdcd0cc74a3ac478c7a34cc22c7e30e952bfac85638678b8aa2341fb1f108114d43dc849d91a3b174b0dd62f6dfb96459d4c76ab5fb6479d68d690d4a5c120c42a4bf82a8a7e9e7aba127fd5fda3f4c6ffbf2e4eeb72ee695cfeb286ec99e7cee8cf300e4e149cf17e70cf9f2bdb6421087916e945bca42a70a88b1a87e7ca3ac0a1bf2ab1a65ebab7726994a6c9597e\nflags = WeakHash\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-1]\n\n# tcId = 6\nmsg = 313233343030\nresult = acceptable\nsig = b66294f7b1e1a673e566c59f9abf264860200763860cbd666e476dbbd61fc39136353ab74299cbfb64bff88ed51cf9a20694e832fd97235d31ec6aef386ad44487d3753cc1224dbd59a34babc3eb8b538c10705775a27fa88ae35c0f618e0b3c6b91d999fdec5b86f15d1e462feea3af6fa12a5234d526e82039e1df013ef1cc6056221b81d755a13b70c618cefc6dedcc3361b5a910fcd4a812ae48382fddd75d5b51ca3d243dac021aeeaf6e2bd4aed75d7ff6d81c9aaee2356e3d12192b5e75d006b124275b0daec06b5af29b0d3e85f057db59db4b887fdd2bd0a33865eb87e8f3e37b4d8621e2e41c760a973f1ba03722d42bf5b921380b71fea949cf0b\nflags = WeakHash\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-1]\n\n# tcId = 7\nmsg = 313233343030\nresult = acceptable\nsig = 513db066bc72893653d1f7fa3f19546281b6239bc8390c4984999121a1dd75aa94004c3874beb6327205f2ecf8f6eb93eab018de3a6c71ea8b2d3a628188d4aa2b1cd6bab169f3e78229e4383ab68aea4635935e0eabbe9dc1d671416945f1867782900da53451369ccbd548c8f756e7221ee7e1ff28dba099b8f28d1f3aad2ef8bd816a53dfa9bc88e4e3983b0de955e647caf71a607ffea2", + "0a9677e687cdda29219c7daa839276de3fe436b96b2c68db64c170ab9e300ced00e72a9c0fdc321a517aa113cdec8e2713f8b54ee2d78820f6f86b2f6e6222493d15cbe8ee9815ef2e7ca9a6ceb55955049db35b1af188b99f2c4bce38f130a75780f41b852917\nflags = WeakHash\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-1]\n\n# tcId = 8\nmsg = 313233343030\nresult = acceptable\nsig = b3e943f3982a29d0c1e241890ebdd9e734baf85bd32de80c6240e34dd1f7f0ca4f37fff2c373f9718e7e900df224d155c4463c66badc8fc3563f36309568436bcbef1d83c63e393d9e1432d50541d45e54b7af1b18cc819d9eaaa65a4b1e4f37ae16ec75e9f44a07262cf3e2dab85a066d92b750ba1cd2a1d42493868123f18017bd9faf1de1a4f87a3f9cf744da1eafc761b7e24c9929d3dfd15d1b08db1e3fc64932816095cea495e0dbb82842b5f3ca90dc7b78895c1f12ba991f3bef6f16451a84880fa31cdfda6b9624a77a3a0489fcfdf6e07b89c0689b5b7b7052372a2b1e06a3457b027285c3b160c0de1dba4910c0162ae8e737a3d7dd1e05c77ace\nflags = WeakHash\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-1]\n\n# tcId = 9\nmsg = 313233343030\nresult = acceptable\nsig = a9b9eef8197c973d6a73bdc165f40f0f53b05848c93957aec2785fa92a9cc6397418a71870f1bbc21a39b244526b4a39a538d149cde62bf8f21f3eabca932751da83120136c48073792c55e2eff4e29e6973cd3f1090c5bf3ced02a1ba4c145addc674d33b0a285d73d14bcd6f374f60c95c4184e2d57388e9c73f697ac0af5116ddbf5081a8f99ace11027835cb3df8ae785491f42850de04b3e01b9317bd04ed488ad72e787c728b4516c7d839d388a2fd7b21994ff3f5b7f264413bedd3d8a5258d2b39e60411de1ee69fe05f4e76b23a9f50b49f7043f9812aeb81cd54cc1dd9ffdc6e73580e2cae821579ba3642ff7793a3995b136e057d2d2ca7aefae4\nflags = WeakHash\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-1]\n\n# tcId = 10\nmsg = 313233343030\nresult = acceptable\nsig = 899a49ab1511bef8727d1ed7093bf7e6a77fa8750d047b203740324d18fc45b587d3392bb7abbe7e6bed7bf2be2fa5e355f8ac5452e675027dbec1835555d059a4ec44120f499e4951cc3fab33d3e8154a4340d29c69fb50728c60eaa58d61b75cfe7efadbff55fc0edffb4af9719cd1a3b2a240936eb6c2ad70b10b72aab7e64d9fb17ba8fadb6f4f0036bc22d5779705b02d261b8c9be700b65c066c27be02db353f4ebcab1ccb41c4bbcfef39abfa8999196951209558463aab1c6d4917ae97006199daaf963666d85c133817035f36ea321714a6b20dadb355a226257fc0abff10c9afac551bb7c3ba9e44737f45ad4f9b7f2db002afb7ad61cda0d96538\nflags = WeakHash\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afa", + "c10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-1]\n\n# tcId = 11\nmsg = 313233343030\nresult = acceptable\nsig = a9cadc9cf41400ea2a91e86ef6e0715fe5669dd6a8fa3aa50036e521e0c939ad9530d15e52b10404cedcc5405e7178a0444d0c5d20cfe4af10f3c07c10ef0915d05e02c62e5d0874c2ef37d4176655f63f9a9dbc2da1561c09c995581cc811b5d7621e84bedd7546d346a7a0b0a65d7f38f101b24303da0b0236a7c78f4026cc20bb32dcf79cec7f9a88661dcd52d5b209bca191f5c607e8d8e1957d779e5dfdedfec49bc2defc0ff921d5f7e875e5df46f0687a05f03b5ba5ee6bc0fcaf8d67592a96c0abb2f9a99616955222dd1e87ec9aeb4b160ab5ae96afc87a65b522c6bf4d8133901dc3a9fa63acf749ca06d00e0a8fab39a939396cdc70f52b9863a2\nflags = WeakHash\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-1]\n\n# tcId = 12\nmsg = 313233343030\nresult = acceptable\nsig = 807285dc6aeab0a5aa0a7667856993288b9bac9544136a5757c63b23715944df3b9b77953ef1db296ff26d87ff3dfe514e415d9f118fd09e7ac518f982736bcc08b558038c771dd1c1d3b43df922ddda57906cb5e6f5a3ed677061787ffae8eb1ee2de41b5e58f5a012b49937af8d7d44ab5f4c935b73764fb46daaa346c54109c224e16f9c53d3bc4cff2120fc3e0907984052f9e33dc1dd24a171b202a52cdefe13e93cab145416569b5a6a7f29f9b7b36bfbac41959903d765bc91c3c10b645fce9e9893ba1e3325df764bf4ef0f8eb3b3a20701d8e417a86d9b859f2a318a66ab923a49fc25a511900a149e89123b488e44d8f77abe9e7fee56286d7b223\nflags = WeakHash\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-1]\n\n# tcId = 13\nmsg = 313233343030\nresult = acceptable\nsig = 9031c063103542817542fefce9e30a72e9f14be94ef2b7a1df2ba721a9a4efe31476684a491e4849ee8720c1f49cdf9755d549b63fcc0e78af8353bcb42575abf92de06a308142f212ac987d42d5f622b8781c6c215d3760aa4ca8441bb3f4587da6a7463ea9425a45876b0470202315ec1881dbd4f1bfa40801dfb8898561a6ce6f88698dab497442f1ef83b1d3540cc3b0af139d5e125a88646f0dcbae053f6a8fc29a2f083e81d61082812121c3e59c3072a76d4ba830d4331105355693f561adda1ad8278ce0e10ec3f7a5ca24e31d839e4823c683e14d75f764872c2267623faacca1707f4038494557df84cdc3fd4f93e4a134e9b53e7e80ec1d60556a\nflags = WeakHash\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-1]\n\n# tcId = 14\nmsg = 313233343030\nresult = acceptable\nsig = 9dd8855b0abfe98598937629db4455c561b074d270146d6af837c709df76d42ff3e0d50f04f7e9b3c43244e4a893f0d22d54c58b121b78dd604d1903c96109f372ac9162bd0e4188992d9b8957fa08ad9723758299ef70125f916da07cd4a696a16340d7575e4fe6d57365c2e4aec1a5465a2ebc7a4a7b3d83d", + "8395fcc36a11e8337878477312a7fb4ab81b70cab24ff98565559846706a42f2c07a555e92f86be89d7704a5329fb8637b7621112109f42e49cf5f9a059a7225e2587ac41b699a0b27fd477e0b1dcaf8ee88291d62f41692929b87513a5d8e69352cf6e3031f42543cbd9d8442be3c28dca1ef8a9b7e51ba089eb691f6054cec55a8e770158df\nflags = WeakHash\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-1]\n\n# tcId = 15\nmsg = 313233343030\nresult = acceptable\nsig = a61ee300ba0ee8bcad3554a5494a0ddacaeeb8f2e0d4c71383a2684f21a260df6b48d712d7145f62468cd20e3dc70950d89a7d8e962961196e53ddc7f1da53766732e193a7e18b08ab3c71c3547ac5a640cdb9dd3a2dcd866d8b37d57549b17a85b1a97271deb8515324ae30782faca29dae55d50030b4d5eecdaa65b035c048a32f01018a865a9ab1392b477346554ddb403dbc03fd834b72956087b623cdb6d4ad886985576ef75d186d78d50788eeeb70a0c65259f22d5dfb5d08a9c86d6055874b4e38671fc64a36083b34e0f5cc51c26ad876484c47ad7f8e7a524e967f587fb0ada6aa1c06eadb0a149923912565f25031f9c5e721ecb68ff2653e23e8\nflags = WeakHash\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-1]\n\n# tcId = 16\nmsg = 313233343030\nresult = acceptable\nsig = 30389051e99e04c06b5e92773ebe85fe1432ddc868153337a7df1f429b941c779049219a25db26c7ee2f189c4a9b71e690317fad22174b45857a7dee66663ccd608d4ee3da1c26f0f0ce1e87797bdecefd1d794c782a7cac322ad38179aafe3df4cb815885c391b6265244b45a7c870d1836bf361eedaff8995ca882709fe9b32bc08cd6246d74441699bb30462b9df9f74fb597b4d953ae3a4a7f060d464587ccbda79096df38ddf9b10a68cce11d5304d648ba3c5e8e111097a54f2afe1f64eeeec0db303b5f9f8863c300c33a4960a0664b59f18016d48265ec24c6f0bb2e6441262e6ea7afc80ba5399e850fcb37cde3175f63383da272f1f692cd732ca2\nflags = WeakHash\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-1]\n\n# tcId = 17\nmsg = 313233343030\nresult = acceptable\nsig = 2dff26d07bd2e3de20c8b6fa527e9fa16aee9cbfa0d01cd71a0664727bcb505d0518314856c43c602de0fc4647be7f496abaefc1c766fc44f6572ee2b6ae3fa7d4f23c82703d15ccf97e2e8dfa0a15a3f3f639a2f033910ec04494fb2470ec1a6cd7fbb348153f62766e2f84c1542c7e32d4d60d24eda5b26d513f49bf517aa56e43d05c8b12f2de93c36f56bc87f786dbea42fb960cb4423752fb4a811eca396d0552c4f36dd692e2ef551778a9de7843fcf37f767e3d3f63b139a5aa40d8713dfc382a5329b4f90ce43078cccb6a03f18816ef3b053006603cec694bd6e8352c0b545c436213ac5e4cf42b2a3abb5536b68ec05b3cdae133c7105df461f4dc\nflags = WeakHash\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b", + "00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-1]\n\n# tcId = 18\nmsg = 313233343030\nresult = acceptable\nsig = 545a45b222868ac1bfec75f48c52b2addc0f564a7ed54ea7c2805a4640cb54edc58e0b6dad1aaa6b629e2eb4c1c56d53cee00e61ba5596a429e469df55e5964fbf8ce6e1f36ac6adc4aab6663f152fca09729c314449431e96370b51a76261ed37ff264ef4dc9891a41f866e53f98617e496e92bbee75cd2651953afd65ce6d2609f49cb201872ccc6b8d9b853e442bf6e207c394dae3d180bd7126455fe8bc08a9c8d79a97a300884b88e1e2979ad17d15968e80c7b6eaebfcbef488fd4604f24685fc8658560da381ea827d96c78bb17d9e5d09c2d37d61275fbcc333daae6cc3c35a45f7f8d1b869586075ef5f90f60a6e9563f31be4ee6f54c1bfcf85079\nflags = WeakHash\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-1]\n\n# tcId = 19\nmsg = 313233343030\nresult = acceptable\nsig = 40af2e3149996f2bb055dcd6ea3e3fba2d57be6424e206c213abe5b6b3ac7ceff049018abc864118d90c5028857d73db67b94e60208c4304f61412bc856ee76e398e211d5c4927145c3ee61ae101ec071e43be9bf17e2de03cad861f461193efed7950794eaceeeeb34f4944e0bedf1853123557deac03457811270c7925d0c50eab2b6dbe000542fcd3dde5cc8563ecab6ace85bf1c535eed7bd67db0584bd4e911fcd3ff5c4059fe53dea7b382f953a4905d481af39beae68e418d2a4c0d75ed5949dac1327eec5bd9d0fdc4bd9ec67f38f2a74a4d38f0760d3e19eb9dc67c96fbd43f1aa8317aac62781738504a3c0dfa5c2288cbf9a412bbf50025cb4630\nflags = WeakHash\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-1]\n\n# tcId = 20\nmsg = 313233343030\nresult = acceptable\nsig = a7ae22473e8faca5602b9f8dd4e9a235af3c734cbcd2674f19d9234eee077068b2f65b3ed884e1fabef786a559e458e1fb62990c543f987e09ed482bab699cc2fdbb19397452ae3c080c315b65c61ba0d2088c776ac4533d3f877e9d9bd58dabdc9b557b5a2ce2e90e6a8476fdcc0e84bc2d861ec2e09b078e4ae4f32a0c7032f86f9a0e064a711999fa4dde25ed2841d874b172f6fd621c328413d4bffb3f6d8de7f1a329c816702d1ce6343f28cd024d0d81544854a455f337e10049e9b6366dcf96e7c47c1bf3ae0b9f041017530d319cff6a83c7b4b073f6b2a0034698631b3b103bc296773602c198f17b9233b6b8360863a716ae1b5ba54efc7835301d\nflags = WeakHash\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-1]\n\n# tcId = 21\nmsg = 313233343030\nresult = acceptable\nsig = 432ec7a685060666df6bac3f47d8cb960a70b1f8fd4f161da5b3cfb8fd44f83442a1ba43ca8e748a59c6c7ed7924dc0012bbefb69c97750d8d9144b4cbde2394f4b90502c1d8d047355a51265913838ee974f2386ad4653195", + "5dee655b72d470456c8cd67467c905cb06b7d46ef14fc8c9cdb70a4d90820cd80cfde02eb164542e8329dc927e199d0f2ca12cf4feb2414eb49329ba397bd2880510329718c558881891d6085211b6fab614847fbef728e961c8cb710d2e0f4d1f0b292cd372f86831c783755d149a511ce619e3ba09f41aa45a47699f266dfb8c15f90e795db4f78d97c29358a037e330ce7b59d4e34ab2e0bb84a3e8898bfce5d585b9b74f6c\nflags = WeakHash\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-1]\n\n# tcId = 22\nmsg = 313233343030\nresult = acceptable\nsig = 3cbc0634c9ec2732ab369624ae58c3a5c18ac10dca48732a4428a042e8b35668b119d24a5e10b5562ffcc6a5b6892a562c36828658b92037a9d48801f0694cf46535825fe450d26b55866979fe4ea2238550e64b2ae639b533a9b4c7c7c9211c8adb41e8e5d0c3c001f50d025b06af353ca11d7277129b6c3d0c3592aa1dd3e6a3371585b0cc97487a8310cc1403dd0dafb21ddf1f4983512c91f9eca9f2c83c376963a1340d4efc61f3ce23bcfed6fa01223b369f99e13003b9b9b78e54ec305569191b3dd2f7c6b53151b5e446d72b5409b18fe4ac749185feedf30e5db3096df982b76168eea32e4298b75e38caef733228a604adeffa8a878468722d36b0\nflags = WeakHash\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-1]\n\n# tcId = 23\nmsg = 313233343030\nresult = acceptable\nsig = 02d5a96749111200cbf977effa208876f80276dc90804910a4142399c24f46060ab148fe7817558657c459be7a59d01b1c6bed2a9d797e76d3eecf3a9099437c73de1ef1b14fa24304fb35782824e72db1adad75e0dc56e503c5a0ae29cdd55a8a6c29594153be4f69ba6dedba71dabbcfb5ac8de3b70cf82aecd6b03db4f9a0d3e7bbfb90b5b3c750e4f33cd3ecc713f8cfc15eacdb5c6e6db41dab5aed521fcc7188afdf059a7c3ebfcd2f1561baadd648cd6bdfff00b6c80130c5a3ecc3a254f8ea8f484520a0522f3aefa0fa79496b8d82117252a566fb9e191c0482398f16be513551e7a6afd9f7f2f1e89adb2627dedd96ead836a8f88e0b361ebeebfe\nflags = WeakHash\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-1]\n\n# tcId = 24\nmsg = 313233343030\nresult = acceptable\nsig = 97c683214a380bdc8701717ce1c4c0bd6b871fd65eb495d449ced17568b7593714f49ca8110281a1fa8b91ddbb40f85c3f0dda165bbac3ea055c8b06a0f4fb887c597b3e9082607c5c9c837d0034dc6d3a0fd4d472976b81a0792f1e31891691498c07dfab88ec72e1ae0f25467f9a4f532493d9657a0fde2f88ef648769419e269abc830e9d6b6d70b0e398cbbd05064935ff71d586f5c363640da6dcd330cf19016aaae85817311fac58f8bddb304c74e0392f2d61ef940124d6a337a3ad6be2bdaf83955474e7f0b2ca63629ef446c9355ce8f52c3c802ef3e160002ffb3824bcd25535bc2b639a4e609e3377e121b3e170e423d3f827132da216e21292ea\nflags = WeakHash\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc", + "6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-1]\n\n# tcId = 25\nmsg = 313233343030\nresult = acceptable\nsig = 0d9595559acb85a317dd798b6a904ec80a2f9afe5870d05e017371408b101710026e149084dd0399a23faeed59b18082dcd3ab62bd67effe619874bebfcb2d4fbfa44e754a4f1853396fdb79d712f1d3a1dd3ff6b0707b9489694dbd30d2fa92e002258d461023f1564c4964c859ed56f93ed42cc7c022d05eca29fd2b0fc2ea252b7e2a68529fe27da9a7a900f18e61fbb2dad4da8816d52746046a6515c29f63406c13634695ad07aa6d2be0abfe0b8e10788f2a3a31e68129bba1bd51cff5c980f6c45fb36041c07b4c863dfb5ee832cb5f3cd870205b23c8176777f4078b2655a0cb447ff34ced584f0e0eb4abdf2f35fc4523a52a9576c9d15b80a6d54f\nflags = WeakHash\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-1]\n\n# tcId = 26\nmsg = 313233343030\nresult = acceptable\nsig = 98bbf3028617ae1a57a689217ddaebf56191c686f8be8e6da7bce27fdf49af2b9d826c64a43f79fc7c603c5885b0c46ac2d175a7662d9ba3d82072069363cd93f7d3a0d61375e16b5a5ea1f18eaf7307e3cf8b27528aeab9d0a3d1900e5599d9ead68ede88e609c213be0a97642cc2dd6e6d2d6cea5b159ae35c42630fa9d8ddfd5155c3c070e12ec914273ce5304f8057eb0fcb0c595d895aabef7abaf6fa12eba65059bf2ed86b7064e9a279bf9adf94b894082760c5e9c15a29feca66e687df5b68e54f3bc0609aa778204fef7f8ea957c0ce1a883d1c8ece6b6b968b5d2c50b726c43f2882cc76f083647ca259e3cb33bdf1fe38d7bf8cf70da5dd9248fa\nflags = WeakHash\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-1]\n\n# tcId = 27\nmsg = 313233343030\nresult = acceptable\nsig = 740edeef36d73719e813faef24d66f1785b278106db66548d311115ef8203669d2eeccbfa7609d9f40e8bf4180612835d6cb07b7a6c70038936334e007b32d3b84fbf2d78dcfbae22dc5c6d4849e1e073392b02badb521247bff1c277cbabf1421ee9690a236efd5067aa3ee0cd7a3ec67cc80166bd928ba14b1105781a74df09928a816e4f2e66e9c5e45ded285a597bdd65159d87f54c8849291cf50d9aca1b57e612f7d4284f24eeed1277c43a8b1a7cb0a3ea988696afd0f14a0bc1d172bc19d4abbeb9339b5a7b8637a88142f04ff9b8d011f7b8fe1d37f75fe3ffcf13bca3c481d806839a520cb6e760bf21d28da20f58742f52ff5459293a70161bb73\nflags = WeakHash\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-1]\n\n# tcId = 28\nmsg = 313233343030\nresult = acceptable\nsig = 71065afdea905874489d3029ffe3979564b3690e980301717f29c2333aa029dc93dec41c26cebb4e28bd0b4beb5843f6b14ecd803d5e49b32", + "23174f2adeb87a69a20977d3bfd486fee88d829e07957648da5fe6c8cd72d0dd492b2242afb3e9578a415b65c9160a37501e22890a25b4638c9cf9685f49c840a04e8bd99f9029be57523e05a3e35de01c7454a06493b5249b4d5be2419a4ec166f6a50f7dfd7a5852d05a89d197dd37efaa3ecd6c27e0786532fe977d35cd65a4ec2d79db053d667e61793d0719a1432b0c0ab66fc3e5dc6eeb415774c1acd448ef95a3be4fc34083891159cf6d630bcd6d9c78eb596caebf963210684ef43a6a64d4a832251cc\nflags = WeakHash\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-1]\n\n# tcId = 29\nmsg = 313233343030\nresult = acceptable\nsig = 2d01cf0fd2d3f2561b34b7eac9f34564a33267a98b2ed4ec00f07197cb3332a7d0cd416e221acbe3b40e9599eca87cb54f1eed51e5cd70ebbebde573215820417bf55ce998f4121da2851fe01477c988553edd2d85f58d7a24ace99ed1bb440206cb30067dd931cabcc3e3bebde0eea9ad1825690de0c5b2022191b978484379c7aa30531d296e6351c61d6be37b04fdb6eb2f11afc47b9437b5cfbb6a6f059c9f6b23fbd64105adfc72662325b5abb446529216dbe772a3a363eeed2de26647652bba01721a5b875036a75a76665031bc26a97d416fe564ec2a9b808553929e48817b6679abe7feedd41aa9c6ed79676c772f0d8acbce65137b66f45242f31a\nflags = WeakHash\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-1]\n\n# tcId = 30\nmsg = 313233343030\nresult = acceptable\nsig = 552c5ea88b09b51b8653fd164ccd3ea62ab84abfe22d01092449620dcbaa86deacaaa7e40e22b16cc30113cee21b5e491c8afa3806ad39da88d2cd116b25851b57c26c6c6c8580261a90150a88928e22524e731dbf979d7ec7bf70f853fbd3f77fba86d5fd325eb41f12c28416c2125e2bcc68297bba44b41dcc9239d93e5ce9f067f93e0f817d439cd17837503bc82eb342fefa658d064b21d14c6f7ee9e0be061364b3b73e441a6b610d63e1de6627276580861b085648748bd575a33b0e75bb9bf2ef699556bcc09f1262d4bce29b8b508aae8278d9e663818f2745186c33733d9255c5a54aeee8f4180816d8fd2aa0a9b9cf22cd0ae3124eee81c477a6b6\nflags = WeakHash\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-224]\n\n# tcId = 31\nmsg = 313233343030\nresult = valid\nsig = 52ac571ad2a54ec76a1efc430f87a914dea50dd18bcf82892c93ef233c2b9eeb1970229f3e79086b51d9f1e61eae5b589ca3dcb140189c79e339d56e07b92e24fe61da02c395c651e6f22e9cc618592829ac07883f1edf120897b0737adfa129442404e4bcf23eafbef3439a7ddd1396f1a7ab4979e2c3baaffee936a47a4d74034f6977b9703ffa71de427c621ad5ba6d912aa2dc5e581f2999566ae0abe5a65a7a819de45cfd701c8e1bba727bd777d2102d484caf3f6ad72f400d1cf078e97759eabec691a529a3548f55779b5b9fe7c586590bd44abe003b71dec960c2cfd9098dafa329c2a75c8d94aa0cee0b91680fe3910e5239043276279c701b8aef\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464", + "ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-224]\n\n# tcId = 32\nmsg = 313233343030\nresult = valid\nsig = 58952e6e15ec300c02758a59518f619179778fde614a3e3ef742a6b9039275cc8416c26ab5fd24649ed22def7f9215994cd3ded23459ae4b31c3a24304401a8ae700a22bc270c89f4300506baf4f813396ae017a5ddb2b0477a5786d425a96e967fa350adad596f1ae0f8148311ea14836c36b39d331dffd7453c6f7e79092c13938d90b801d41569bc4d14a8497cdb4292c959663474d3c6b391e5e7ff301647afb4fdaf8bcfd39b4e6e7632dcd5de6ca12f0c22c4b2dd16a74a1e814fb334ee4647cfea98acc691e0fc18f0e4dcd9354d3a8f5a1082000dcb3ac81749bdf2184375091ab31e133216ec0cede22adead906f8595e85fce5f28a67f7d6f11249\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-224]\n\n# tcId = 33\nmsg = 313233343030\nresult = valid\nsig = 5c2ec7ab93afb7a9fe2d0e006597a075f8ee01ff04bab318a3e3c489878bcf321f681d123a7acd0e5eb01f8261a82fc3d34fce1a36560d0859d39ad9c2b8fadaa2673b7faf0c0b74eaef13f8a71f4b9729da1e3d444cbf261db415b59374842789dc60b1fbfad43daff40ebb4dbbdea400cb506ff0b75568a5e48705d75abd9b7444178da7ae901642835cabf86b22e55a5e090664a90d6a78f3e3ade7a72754fff56f2445a014928131ada477420b38951389e84bf3cfeab57e864513ca7247323af03667cd9ca926dab7eb51d24c25918f4980065ef1846cbda3a39b1020380148f70a0ce26ff43658374870b51854b99be2d3315b317efb1390c7c13e871d\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-224]\n\n# tcId = 34\nmsg = 313233343030\nresult = valid\nsig = bad4437432699d9cd3799c29bcd959683b879287eac2b52c5c263f46e2488ab5e0be517ff7a5bc59a5fb217db5602107a28045f08ee9286afd3d61970fbc12feac76b12f75f17993779c8c3aed862dd681665f386610c59a4b6b0e639de5fb55e36b52baf3d9e0ac150d3ee30be85ee95580b34e47022c517a96b14b93a64c4a129def11c56b34f60353f40c813f60a924ea0391ddb2770cb00915bdf33e3cbe6f2e87840e6335b5d8dc3d1a25daa309c5644b035c46416c75460f8ed68a0081df5140cef9533b33296f6271781c2ede182002165be862a2f4d8f5c31d26dfb6dad56cdcf269b4e3143c152dcff6ec80754e22ce2edfe7879a1eb1b83077de98\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-224]\n\n# tcId = 35\nmsg = 313233343030\nresult = valid\nsig = 3b45f1326d3b0bc5101565b022541f836adb79c9e10e20478b1be6a32a54dbb62a5c56c92844f46996289f85501e1a681a29773667f42e3f0c1e79f14963213ceaa59282cb0d2", + "961139ea912faa94d3762aa928a03c88dd5678373e39d182d8690d9c9b8287622fd354bd5d288cb4bfefc7fb5a3187781339441b358b7f0be6c884868b7ec47352712297ef191ed4e55e1c8e438eed1dec2b57907933c14ed5fffb101cde6007c7823e804f79c34db429a55c2861c2c8a4606509f7be774d1adbb66f640adf16aacd61730f8095905ee9978f379dea4d233b3bb0d7a0feaf07fa85a2864014329d9d31f29cf22aa76c5c061ec41e4211fbb5fb42c8d087bb917\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-224]\n\n# tcId = 36\nmsg = 313233343030\nresult = valid\nsig = 84d30ebddeb64f5fcbe17632cbb692c1222c5fffb54e37f25bb87c9219930f5cbda0f762889a8989b8b23fc79eee17d8e590206d55b4006ee3cf4d79aac93ac5a3fc68fefa280b53368e16e95fb8629653d76991609e42ea04f19e19a5bd411b2ecf9a18de945c695407f608c05169e2e200259a6cf43014485b86d3ac10b22783fec39188d39b5960a97a414001df8381cb0c17b1ad05a3a58175202e2cd8aa6ca3131d3bc0efbc2f0d5f09925080da539b93980497816bfd042949acf31fa2705a63d7442cbe1c281328bf58a1e31ac69f96d67cc31856e22b7fafbcae2b6223e55e2c81a5fd67d74cdc8ccc5c3b6fe2d8319ba36ab2da9a8dd9720384662c\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-224]\n\n# tcId = 37\nmsg = 313233343030\nresult = valid\nsig = 080c7363b801b6bc22b04978e72ba6ac9c55932431594a2f80e7aca117c51bde990f02defddeca373394829f41a9d49d62fc1593f99b169bf6f8dd4daa149eb2acf6f470932af5615e440f7b648354f081d9b82eade009f52328194eba383593b60bc50689449eb7d478679dee267ce199b3c99d4b004fe308102dccc09fe041c125d4d6c287dfba9c6c40a4a1421d5f3734f6ea09c85e994b1407ac8c7c95b0f78925b9604027a28ab2f921cf1c9feabf5300e826b383b6eb11b00b9a378cf360e760c4777cc8f4467301417ae07556483e4e47ece4e7487b188e2a2ac95d85a77586aa12537436ab2e50bf7a4fd7cd577421fa12ce6f4b69b97bf248d85866\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-224]\n\n# tcId = 38\nmsg = 313233343030\nresult = valid\nsig = 676865e033ad3a73bcecd236a125a8305413e2cc99db2225ac87f7f0bfca644d87bc6489295730b98874201f0889e688872b4c30a68a699e883ec0adc5c38eed5b90ef1ba12a930de42a9bbefdcbf3bf9cc157ca950b9e927841df138f89f874207c2595e6f7fd4039b6f094ac0a5f59ca5707da5c3230fc740a195b8db741d602d5b12dd0042869facc1e05c03905b7be9ccf0cde94426243093e1622373301542c96667f163b067b1b53db10ae401195deb9d1746748e5f491ffc7051c946a245c4c1d1c3f880fe99f09c8a90d9138dbe994785f576d79bb3eb3f4be15de46ad4a8073ccb946e284dc2ed7572d90d8a841ca0dbff4bcae1fc307fe17e87d87\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0", + "afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-224]\n\n# tcId = 39\nmsg = 313233343030\nresult = valid\nsig = 603bf778b29561fcaa54f5ff628c5d257e0212c6327e9112cab8cf2853146fb8e960601e9613f57baff8e64223cd7e0026f66188878bd35d9236e9de5f0950bba51be06eee37304081a36ef7f4f7c9404956c40d30b3a4266a3b25898f546f0f6994c54ec9497474ed04dfb3a24a4938172d877fef56c3e6e11586a5b920c1538e2f22dd4c971d933d69f5a4742e3b23e2bb56b1253b67bcce761722b9a026674398e7711f9ec0415c75c80e3bf38f6991b3963bc4b89bf3f041eb8c894ad12790db35d24c54a4d2123fb91d9bc4e9c116ace06e7b59b093d6c1cdccc067540b2c599f8f5985ff6e14da691169bce203ae8c127770f3833b0b19847cbc4f6a56\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-224]\n\n# tcId = 40\nmsg = 313233343030\nresult = valid\nsig = 8272e0864261c5bfa05f4e40a98aadee43968e9f5a7ebfd7cf39087a2b61b34f4592f00c3c18681e941fb958b446c9d98bae87944f0d41f13b3d1662bf9db1d011c926e69311e296d0dcc59e9e09e4f6c7b0a7e5f232533e02097e52fc0755ea756ba0c0ede3ae4c75f7f8966b42118d1683fb9f1e127c1e6a6a63126a0d50b1b5a59f4adbf5cb822f7b863c0f8d8fc01dc698bd70943a6231d7aa77d517be3f1fccab61c99b8fbe5e4f745029ce81c9595ec930abf7eeee6235ab2a84002471b971eb91838e13ee4b014cd91059b3975092bdb26bb435eca40ec8ae887470f1c11e32d2fca111dc254c029a2f824a8dc2824ae32a1168de2c23fb69c77647c9\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-224]\n\n# tcId = 41\nmsg = 313233343030\nresult = valid\nsig = 77c77d25c39754755541409749a94fcf10b28edef92a06792feee1a5381c06aa1ed6fd46dc76bf12541120922473912bd63bb2ac17295110615e8c96039eb800a0a2504a47630852c354da0b9c44c9cc6b30fc2c5715e02425c9d573868f0eac1e97415408d4d7850230d0e02b61d237b4145c99f822c39270fed2d0c236f0128568d7ef5dd5b26d0aac7f752dd45e891e7f3289974168a6fde1c8de368d1e3f546ec4eed21200f217c9de87400d846c26ee70f459c0f87f5ae64273999b0f1bfc1b60bba4db271b3d63db27cc24b9d225c83d2043f3e3a20c088b36adc50c15a5df894a4a4875918c8dd34f91c7fc8bec50872217778992523409cd21f8b88c\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-224]\n\n# tcId = 42\nmsg = 313233343030\nresult = valid\nsig = 64a9c0e6fbcea96d62da56213f2a11d922418fa1b56ae4afde7d3442c9f4013ce11ea203ca23a351609a41d5b7696bbe2f3cca01149a1a7b9c0ebf052e51167ff18bead5f2d3c2df375a2fad08a91b8c36baaed7aa58469a8f428e37e83ab04feffe49997c640bb63aef23ef40", + "8fb299aff97fce0486ca36abc6441fd52cfdccdff17857ccba6f448cb3d39b729287a6113b67946c004720b4f0bce42678e0702b0ca6096def9e4c67244b68d89a5ac8986ef6f4acb0b50065fa75410c43874844af511d6332c7db8f11988e70a7a02415261101d9e36dece79c211e26d580825a7e5358b1ac64e9fc43f381b6cff477b58d2861c73135d044432cfe34cce883\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-224]\n\n# tcId = 43\nmsg = 313233343030\nresult = valid\nsig = 26dea68e27018d3247e2a1c70796f5e025692ce3d31a6cf9eae6e0ad0941fd36f66a0ff542596ea15149708df7b88b63d77031b1a1e8e60b2221b58560141e2a3cbedf09aed29aabed1c35eb0ffb312bddd04f66acddf42a0d7130e1268d909d988bf06d465b02241096e8744b5541e15ed274e54ceb9bcd796b3c361ad7cc59d5ecee3f1131bdf9ea681e9be09d18394a64711a040fe421b8678da330c38ae6f057a5b690ba7164252938fda0c5396d49f265f7a38754edfe5294c1f092721ba263bcc334439088a0c7169d9badce5b220f2c80c44421ecef605f46c6ed9affdf3c730b266eb031f1f265003dff13066d3b1cbb12d898e6c15f34f7516dec75\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-224]\n\n# tcId = 44\nmsg = 313233343030\nresult = valid\nsig = 91ff01e79f9c9e50aea0efdbc8b2c370f3a40ad8e489601f8217ecf9d047bd8e10bda664ea986f5734ed38aaf67cd7b227e5b68dddae13cd81f9ee1b7d8248bb3042a3ca670f32c316e81e4076788420a18150cb1d4725f7a239b49ef25f458716679cb1971d39b0678c1ffe3f45d272923f3551a337871b59f4762c6e11c9665b200c5bb7fc572e0ad930a63542a1c77c0df7acb8bc3c3b0ef59ce6c2da74ee6ef4210b409e2245873e6fa24739d36c0b12e5e328ca669316fa6a4df7481a547f6e671b7028e2ea3c15ac98e742d5a8995776bd586fcc23922eca59b1497871f744b357078e8e90188a2b7224c19ba9ca4769f91e665a9cbe7de8ebf84f12c1\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-224]\n\n# tcId = 45\nmsg = 313233343030\nresult = valid\nsig = 71ab62e163e31ede946e41909ccd87186086c7d99a3459813db6e380a046cbd75e8cfcd2086f2b1db021bd54e72b88193bd38f9664af1b7f100a89c2ac851cd13d3dfe4907d26769a46a4b03256d18db21424636b671189619840737fef2d8d31f4864a7064716000c44e7ebedb6b0a3bc06e5baf01fbed82933abbc43dfbe87fa1cbf68fd30e48ed595a998fbd0ebf1cfdc35dfd8026fad023412e82322efe6182a849857a66b1cb41de7c8a4f22ca251db2714eb8aad67f8738a59602e900c5cd1604e6e12d7b05de329d3bace06e7785cd4d68ba60a2f5b976a4fd112c924e4e15cfea43cda7ce14d741fa8a0e777fb3a77c2cb7ce2680a20a6ff5f817a43\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca", + "4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-224]\n\n# tcId = 46\nmsg = 313233343030\nresult = valid\nsig = 325cacdba224071c1736adb4815a0a13dc199bac13206967894ca897402c2820fe303d2c2160ba6317fe342e8db0a2ab51b5edab4eb9035d3ccc73521db011a0f231d02429480a4398bc68bfd0e248f6f7724d2db791a0366ae25aaeab2f8ab377405f95af2dba8db349236dbe9507b17f52fdf1aad4991894e857054666e770c86ed8e62fc9bc2b6ea6d5e121ea43337277c61eee8d64f550be0aaaeeb29a18c3c9dc543ed0cc41cf0732d394fe008e5d8874f3073046189f0b6679bfe4ac65cf13de43c36073f60f110f1f397ceb1f7cb40346fefdfb0c817d32531713a04099ac6b6594181c11dd8f2c0f0b43f1d687e5b846b69283dca85a9a596bf5c112\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-224]\n\n# tcId = 47\nmsg = 313233343030\nresult = valid\nsig = 6ce19d6c6ed9218bdb0564fd490a088a3d3be80a45bff0f19c7d431bbc240fa300f562d00d25a58456ff092304e51047f5d8956cd0015ebb0eb6509156640f2ded9c003d6db49ed1d95bf74741281990f09cfed582ad7e2d6b896713e28f7d3f4fa41c798dd88ad06a8716063f0d42c55c414fb6c49205fee53a710fbbb98e7291aa07cd6f7160e1fdb5f3dc2dffe014bd91bdd450a1f0da83cb380158b9d16aa27f9c078e444e23146701bd1b42179feda1998258d45a204fce614be395413b259b5898a06379c7eb69e6fb58ea82ca72b8f231f11ed0f180d795087cdbe26aeeb2ff6d7d3eb7feaf4c2c74783c96674ad959bd5cfbb979cc450b9c0510a364\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-224]\n\n# tcId = 48\nmsg = 313233343030\nresult = valid\nsig = 2d3fc532304570b6cdd5b58b0fa7287ba336c29eec633cc5f215f4e96b2ec44c67e3b1de1386ab616975af3ce3ba93887e1b705d5e55b054e1782d50bfc0094c8b7b0f067fa250cf474ac3b42776b1c76509ca821225989c13faeb15b187231f6dbb5cdf2e1ea52cee05fc2c1f8033341caa0772017fe3a720212a7169d46467a05b4cb91ac9886f940ddc8f280d055d54a51100babd9631b2571140cb15c2e53fb3026bac02aefa46065d9c965f71adbc5d3f11f3a0500fd833a05021c95d5e7e5f3fa500f367c99595514ec221d8fb51db4c776d86bbdbd2fd82a395076bd1e12c3d0c94ed098b84d858a733e0c9a153558be90213db2b405d54df94d6c989\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-224]\n\n# tcId = 49\nmsg = 313233343030\nresult = valid\nsig = 391ac1b5a466b886378fdd220d5871292412bbd62005bc8b1f13b02c7c4f98f3578c31a30c0495294cf68dfcca12c2ea09388fe0752487aa060f93a0bffb7d7075428f193f673c43d60fba94bcf2a8b6297d2207fb5db7abb23885fb8b4f858c7a395c5e9731840d17d7ab749dd0f5511ff8529b9461989dccd126bd442e8cf5c56e20c27a8869a6b576ef771520912347099b", + "566ee588eac583a595a333102783c0f993e0eca3f55af1adab66790e5dff1cbcb2f549c5e085317afc8afa181424f2ff252eccf643af509cfe8778872107b4825968acd5271a36d4b83050f11afb34afc4a0cf073204187c1b7e81832500c2b5cc32f123644d9d97f24769c8d7\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-224]\n\n# tcId = 50\nmsg = 313233343030\nresult = valid\nsig = 2a6cfd3112b2dcd37aa4fa4ef9ddb13ed713960cb062653656937b807c5ccf80c5bcd205ba314a5307bdcf58279afb16be1b9b038c93ab4d5d5b96de1c042b66e44bedf4f5c72d7564e3f190f4654211eb7471315b512f896dd315f00b4d1952c0c0b70e489cec2cabeaa58123cf000d4653228c7246952e02400bda062d16c37d5790e4aeb9e78f75d0740dc48c7dd6b671e648de13e036a0265ef6c9458f72602bf5d295f468f554caea563b56d3b988615d12366d4ddb4f7ecf39fda9913dec271c9ea5f9286fa11eeafe2088a41f16cee7ed19c7330ee99a54d981b183c3da730394c8f5b90b17fd0fdd47c0260f08490b52483ebb32bb6640a890c94d85\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-224]\n\n# tcId = 51\nmsg = 313233343030\nresult = valid\nsig = 0495075a7ef7da665a8802a3dcab56cda8675e38d6378a9b5f5fbc53f9249bcf7746b2e120db4ced134124d54e62bf7aa187edc28a3384bf2516eb616c0958acb38c68f85ab671ce9f2e3e7f92a247cc4cb71d2aa536ecb24c6e3bb3fcbd8636ede677f91bc59988b01bdbbc2b986ba99082f7d2dc6e13b962f7e6e1c7208ba9b1c55dd96779f89b40178be648bbf906a68ffdfeaa0720dab84b290914667eb423a7cd70fddd4e947cea0773383c048e5e4a250ed20d31ed1730d0d1b10f7ed3401da476cf9c2d8e1bb86dc5aa1c79a5158763c5d6cf0addad25406e4632e1a85617f177f2545f7f0f60b5c297fac40a304767acffc5c098a8ed85da2ab5c766\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-224]\n\n# tcId = 52\nmsg = 313233343030\nresult = valid\nsig = ad2b4ab917b942d7172df9c51756c21fc23b3bf467f4dc9e024e89b7d6df71f099a0e0c627f12257b6b05f190ddc269206556ac5d34eb4d63f09f07b8ebcc38c3dee48acf056aff46e23f170a47acf16621a65fa3f9319e5e21c65426f9acf9ca6576efeb4e593f0ef01e6577c85be73acede78c3f43157e686a564e0a542dba8080f539556387c199089c89c9866bdfece7bbe0cb713008bf9adffa378d76e4915d1b445080977d353f2f34e9c063d67f0ef50f755f94dcf4ec4122495835024d075aabd7d65adccb1987e1e654dc2a4df0de3252b4646dd7b86a068e7d952410f1341fa49d80d6f1d09825bb2e6741d9e8b43ddebce0f81ac6df635fca3d92\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf", + "1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-224]\n\n# tcId = 53\nmsg = 313233343030\nresult = valid\nsig = 9e5a42ba80c6b91801ce6f914dc48f03bec695463313afe8306f726d1e1e0690ad33425b1f5a043f8bb1c3b474b009eba1ca67d7d9998b56b5eeef09e94358e3e3133b85a4652493253aadfb4df892d1bf73b42e2e857302bdcfc37905e37fafdc8accc26a30d0cbc1ed98d0e971170e1953b91c1de35b363c00ab4a9bb2fef45b753312717920141287a1b8264522131a522df46d5545c760c3a05ff4487542f2b351a74a7dcd8dac6e7b342a987ed65d5e1803362eea8340eb67f014d47f63e720d96738924b1529beadd86e62e20b6479eb9623f29065c8242d753080cc4de962b934e10f8eed23be8bb32ed1abb23e75949e30f58b9667e9c25cfd7972b6\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-224]\n\n# tcId = 54\nmsg = 313233343030\nresult = valid\nsig = 1c57dd4fc93dcf4fb62e082d0e861d554563203578c317cd751f017c4779a36ec6e6dae4621ac07eb506d4cd4d627e63c55534bcf2b168649add19628b0a87d455c6f74329fff663a2a9016ed3d5837c2b843b83015d203bbe25dc64075b27c0e708875eabd9aca4ea6468a2117139ad85794b9629a3b06e22a3d945123b41d1ca3b656195ee3b0d7b046dd1f28ed3b46ccad9a174da581d33997541c0d3ec589285587e340dc65c3901c40d3353de448896634698ccb1ce55e22fc3b808cba5082958492fa1997b26442f09615f869db65efef28d50a75075c76fe6f2e96fd38a7429e0746f3b20a0eb31027ee8325756b42b2286e0069e92461ba5e5a731a2\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-224]\n\n# tcId = 55\nmsg = 313233343030\nresult = valid\nsig = aaf95747bafcd968dbc2f7a719315467b1f438e3c71ea01b5b6035b9271e16a27791ec23ba7f7aa637892c9a0110cde9f3df8fab65a4b2dcfbcb827628d0988c488b9def01caa916116538d535fc955aed97830a4b6796cec61fde848d149a3612e4a815a2dfd45131a435559f48e72337c42cc104f1797262ee69709882d57809b19b927410af979c479fb1b3f65c713c8f3aac3907d2a10eec945e302bb5eb5e194363fc4ce15d25961bdd31c51339cb1037b4c86236160a0bd1bd574c52abd88265798013f1e7ace7ff4eb710d0b7726754ce14a0962d7eedbd08353574ca9bcff955ed02166cff430c34dbd44bbc927d8ffcc85fcdc685e0ad8ee82c27d9\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-224]\n\n# tcId = 56\nmsg = 313233343030\nresult = valid\nsig = 48486ef632d298186388f80506bf6a12de03781adef4b778d5f616484ab5cefbb5a0a004ae15def2d82134b96c555ebb3ba9e8f7dcf2c473d6198b0a455cb027b33020ac7c7c2d10b8904c94d5ac45ba9fff42c892dc0d845cf42d4d162ea8b9a544084b6565770f3c188e8e2dbaf6861574c94e1295b51c5e13fb7d29d65d9121008870de99b4cf2160718989c9f288d90b50069de579027a624805f1356eedb6bc34ad3f4fc9519fd90e626bb0622bb701e69669724b454", + "4c584573f054dfcb79a2bf4b3b8760fc95da9096d8f56a91433081e8462c92e45b0383811581e37bf4629567c2b19f0135e341a637d866686312626b99c0885002655fc5027aff0\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-224]\n\n# tcId = 57\nmsg = 313233343030\nresult = valid\nsig = 9be08bed6aec129b28159d23d0c9d3171372b44ec3385be93c5070ad0714112e88e774522a6c61874ca071dbbba2a41ae03698395943de1c0489a2902c5fbcf7790d3f6df0500b3f04b989863f6ff742954dd32469b96ffdc94086b6dd39024a1db62357ffd59e1a2687d4266581e5af3371b1c45189346b374426a8fe87363e71254a6f1e566c911f467a089dfb19cb527bb0c75e442a42ac356eeb0a60ee1fb16efb5a36076a28e36d6fcbb1ffe5b1662f6ce1be09f30c9949b8056686ab3c1d3894350ea0b12f97f350ef7c2a232dbde200d4ac74b6145a0eeaf40cc3e0b8937d4377bdb04e14730cd4830ff787110452c79f965ec4ec8b080a5bea0d0b2d\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-224]\n\n# tcId = 58\nmsg = 313233343030\nresult = valid\nsig = 265f70be75fd2ca926327fc0ad87f20a9ff1a9bf9e45545b6d59cda7abbf32a5b2fb0f78a4acf772749ff038f03699f90e23e6a27df6c324b34a5a995046c72c3123f894a9014a17654337ab455a9a2942af4a31a4e5144ab708c653a9a75b949bf800f817b856a6f139b1ce02e4af27180901121ae1df5196d4c96b013f98874d9305a04bfbdad91ae365b9d39a28ca669ea20c4800af18176ea83f46e094a87998df6e14e8d6e26ffecad9127f6f8c5b96f2f192a7345617f5c563e8fbc3d870c165b87449af77186a813909716747fa0f2a487d6ead2ab67a8b81a0a4dd681298ac8b3ce607cc50d2b9fb3a4a6d4cdd92fa3d9ee3aa0d46fc5715df133d1d\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-224]\n\n# tcId = 59\nmsg = 313233343030\nresult = valid\nsig = af120d2204a6680c75fbc88dc52fa817b4876f2598fb7d6673e7f423d0959656471192c034d02b8f96f82c63d44b22776ed02813dd74fdd383c70838e5139bbb328e068f31ef09c420e54e6857c77b4f2438e6778bd7e6a3b6a2163be5fdbbbbce32823a26d1c85298e7f14ccd9992a510f13e66b5c5c7170f4639b39b2e322b7b25251978801b5fda78a73d1c35c93f29766434b278c7f49acf147cb3bbb906f0ebf3c624e7b0f24cdfacd852ed594d90bbe222c17edf91ced1f6adc36ae7d4a5a2d5b81944ba5401d8285b0a95b04937ded001eae93f470600e7d9b0f74e4d39962a039cf57b6c955c1724ea8bb304faa0cefc097eec4bc5570737656a8a84\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e01", + "13d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-224]\n\n# tcId = 60\nmsg = 313233343030\nresult = valid\nsig = 285f6b301bd5d54927e3404e5e1ef8dfe90d58dec37e267478b10d2f787573025c2657665d34415932e81ece24af57329c2f54a651cbc7b791bffb0ee20343e2c341cf9ba5a0aa67184c03345d36e561f4ae18ae344414c0478c7bdba9d7fd542fdf8d5e5758295cdba159203494021e6ca674190ece2769a0c0b97c143da517ebebca3aad1933c4d89432bab197e779995e49bcb0e945fbb7dcf257c5af509f19abfa6fcbf29f4704d25aeef57ea3d4c63f0f378e5c5b8f653c5311640df57bd5cb2322d84aebf304b649e337539d47fb1491ba1b0d936cc008d06970e0c0a10d75ba0f2e0c5efc1db92830cb022056952105da83b07e25c375803b3ff536e5\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-256]\n\n# tcId = 61\nmsg = 313233343030\nresult = valid\nsig = 55d88872d2dddabe8874f8999fe1a6efdc0ee4ce38bb1057f11c8fcec2da27d238d23a8010ca9c0510c3df12a638fae0c0d64ab83a8b43cae24b154f1b8632dbef8726db103bfde6d33f8253512388557ac502dc90cc173c9ac82a501ed534d4c57fef7ef68d320897fa882ef90ae32b29d379c39b4a8971c46ab9366e39db2c2ff180cc6259cac703330dc2f80ba398e4eb7bd70175aa4847d0e643a8d97ef6abddd239155cfb780ca228985235d0c91188572902c491aa011d9348517c370b5bd60dd9a9598997a5fc763267d2000e2728edefe4509d98f7197c487d0e42951fa92acd621fbffdcb595b20f8cb53c6f1935f535d7f0282837e4d03e188b823\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-256]\n\n# tcId = 62\nmsg = 313233343030\nresult = valid\nsig = 977049eb468411cb4b4745d1804dce61aad8038be0bfdda3d6e6e7f235503100505b6f86ab432cb2ed28bb57358c95042f71b8f9e5221166dafdb9281eeeb79f790f8f9e2b0a19e50b8459eb54f85695b1929ba66520d46203814c74900ec3cc546dd681e35afe3b55e3ec1ab719513dee7e9a9b5568e9bb8e342aa3de2d4ae883e9f0c4dce2c9fccb68ac09d5a260a0f4b948bfe5a03043aced68af31f854dfdd5d42047dee19b71d114bdf823bf4b03c5513b5ed2bf333e323048ddf332ec284c7d31ec032cade848d0d4e8a0121264ecb2325a29b56ce5c168cb9652d31305547dfa281457b16640f3e5d283b3fde108b67cdbd6b2005af93d008be4ec46e\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-256]\n\n# tcId = 63\nmsg = 313233343030\nresult = valid\nsig = 4ca8cf2d7817643e14484d757f0853625613984728c9e483efdc16eeec616d3c551212107a9cab91796185bd7e60f661a5f2f17e82b9f34c0c55197eb5e2b7d74b8cff00caee33083bc69aa66027a3e68180817fc065dd5a5eb2e11626bf97c0ca44b70c18b0a0a70ffa628d86aa8b45e718702cc5d15854d51baf34fd637be3e201c39ac3db412bef0137951bdf74a43c7dbf5956207693c40c9578f5edf408b43bb1d078003082592fab58860a3d9a38d6d5aee051e5be85bbea791f57d68a7c4127b7d7f5dce2ea211cc35f367d7b0a561f8ae63c37101748fdfd890d616426", + "690c5b6cea817c219b9165ba6784f9edaf8aba7082f912940254d7b7921212\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-256]\n\n# tcId = 64\nmsg = 313233343030\nresult = valid\nsig = 6ba6eaed9a00575e0ad5cf4ade39dbf0bc6b8f50e7d2a892d626ee6751b6a360a703904d3a11596b10473a8030ab5992dcca8932dea1eae7e3c88829702530301fd85f5be515216f23c39e70b46b256a06d392f13edb5431fd6bbe4b77445db03fb4706adb22105a7ce3c6bd1a537aa3d3bd3e264e15bb68daa88c0db01c2707a2aa7af4b055097b68e7c0e6749214478ec91f1104ef2b513a22316476de696b14090f6a3e36a562fdab5e3c682708c88017a077154fef4fb84611b9df8e3b5db55f9dcb0dd5d2d797d8117a4db392c62f432ae24facf99eddc78c41081de9ceed9f651769e44cba098babf7a78f1992a53fe318879417ff3cd8a5f04e66945c\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-256]\n\n# tcId = 65\nmsg = 313233343030\nresult = valid\nsig = 5bbbdc57a45e5fd5a0dcf03b76c06edb2066f9205eda2facdf5120dc6bf93c8e969d714a9ce71104f2b9455d6c6c3b6489a41e578fff9247de07ccf307961b34f454df5fb40ca98a4a0ceba8f705e60afa02c945f8ced0b6daca87acb6ad081098deb1419cc7bacb407bf52559440a69c0ca2af1738b266e2c14fb26bbeb9ae1f415b27b31e36e59026066b2674d60516b8c06b70fc8194d86bc8a5514e9e73dfb29ee959f2c857f33dd0f672e35f13b60185c8cfbb3af23badb9271e40dc1d4374562d88277ce0600b18e634b127d3bb2f5e1264dd9a3c188be38089617344a01efe47e1fb442d747bf5862c409c14327b2e3b8ee065a03764b026d08983ac0\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-256]\n\n# tcId = 66\nmsg = 313233343030\nresult = valid\nsig = 4d34e818a3cae7ea179c057aca683ba99e347f661e5a931e702a75e9b8593c888461f8057fd719b4cc57dd674da0daae36972c5418205c87840470cc090d99714aa2d886d246ee6b5751f683070254ce0e12303c9fe252d5ef435f558006d3bfc9d173be2fce9c580c3c6b6efd003c84de74aa6d9e31fd7b04b0fa2f0d6bad247a3c28f157276f525eae16b058936cd91f665ae1858b2c00b778aa42b97aafb5bcb38e577da899c0390a7619339e2eb487265b6e660be420be199586f4124671c682a67e0ac1d31be4b458ba5ea64249e988bbbb67a59bc62d3d827b355f3b0e4ed32ab2078389653bac1861586e2ce2b49e423fe5832c49f7e04a53c6a72997\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961", + "dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-256]\n\n# tcId = 67\nmsg = 313233343030\nresult = valid\nsig = a4b028e9ce76e68732edd1534e6c50df0fb88de211686858b815f93f899955d91cacb434ead4755f6b2ba64a305e656c31f52581e6910f1b3c3e941baa76ebfb5b08b8544da46f5d557b6baea4b206aa4b03b47f0fb3c4dbb38a6dee18b6e621d26a108b107cf24c00b6f5e9ba2aa98f7afe7ae96e45d073f36d57d8d38e4ec8ebaf00374f9b2a4a2a53dd7a4e5fb0879498240abdf366ffc731ec56cc89cc9657ef0f6eda0cf39c0846be2b8b1dbb681ebe31b20f851e962891d55fc62050a5fa012949ce584af8c9ef5b795f0a4c0a426450d71161638d80a49a842fe76dd320716910a81dd9edbc10717eec8afcb22a590541daadf0bfcd117deebfb2d409\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-256]\n\n# tcId = 68\nmsg = 313233343030\nresult = valid\nsig = 8e835e05ce0b0a5d4b00b8ae5ca60ca6a6f654274d0d1db9f32ebdd91f526cb69bf2508006db1e559489efea6b3b202a70ae72757aa13603fbef69083efdc39a1b762e355f22603860a2b12e69ea5086583eb61d754e5f70812eb3589217bfc41fe4fcacedff8fc146e3ec10f5e06c127f41ebaea7c4e82b3ef6e786886a80ec51189ac5c4d9319ccf50d9ab4b93661768fa2730f8d91a7892d5b72872d69de29c39771e8174ef0a60faa4491eaebdd651c9f2048d800fd6ee5e0b897e7cd962639911943f5401dfb44354a435f353648ebead13dcabd62657074b448c0db9c9a47d8b863b93812e18738c490992e6b16f957cf769fd301a2d609243de926e9b\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-256]\n\n# tcId = 69\nmsg = 313233343030\nresult = valid\nsig = 9a0006356a9971ac48b80da03247b0ac9d4eb99bfb7a59c730b707d16a823d31d8c64622f27c0184aee75235c0abd91625a18d0d17f7dda988232257b64727cfecaee137a9a2e033942139ec4c076d16476bb406be43805efd6398e0de37f1b974de2824c39bf61b35af0f4936a00d0f2c078ba815ded518b073cd4a36c8c1c16791bc78a222fcd877504935faedc3da6378b401247c6cbadeebc823fb2f516392d3706f92fde0d519c48a3ca2842007257adffa1fa8927e90e93cbb8d2ea175a6c083f4ee3640f7f7138bf63ccceddab07b2aed7639c2e1a2bba5122e4588a7e695020a3b521e1be3f299ca9996cea0a1ac8f7abf29a13d36732b934404f3be\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-256]\n\n# tcId = 70\nmsg = 313233343030\nresult = valid\nsig = 515eea496a899f1b6f84d8ae1a31390ff4e4c889e0ee2525b2e9d656b51ce60889ec9745a25d908e3e93b10d1775f60f638557e6bae1a9dda1491b26aa038dec60bc0030be3e23b45fb1f55e800f4eefcea448fa8978f144a4264a3b79dddfbcc033fbb987b6f849a91b2a28ff193db1ba715a157026fa442b851369e7e4c086aad5df0e2c9a4b598c4505e5703cb9e2ab0ab8b9c5e7266f84a8e998fbc799ea2f4e0de0db5b97161c7215c246b006c4f3ac9aa973df2aea96661a367d7b09b109d6912cfa84185947298f65274dfe9ada215b172693cd75bd9e0008f07dee6ed159933fdc6940f5a31e5d31f27b84f04d6241ccf440e1ce534c8f16f6f287d9\n\n[e = 010001]\n[key", + "Asn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-256]\n\n# tcId = 71\nmsg = 313233343030\nresult = valid\nsig = 85391950b1f67e9bec6620913bab3792b34285ca2850c2d6767452330c5dd76312483a50d3948a1d721f6de83ef915c67213e0bfe8dcb307905e68103b71f16bb96328e44f4bc61f7fd6d994abea65b774559dfdd3dbcfff7608855fb74d91b3c8397b42f5fec313abd9dc599f0091b419845944a49149ec41ec526e9f5291904ea68aa6d974dc0f771b7aa78bec702601e83d3f24bb3ef48a7712f48dc6e2fb0ec718d7dd0c035f9535b86eafe1c87270f5782f68197ec90dd256ad79efb0f52c1fd376e8a980b681985dfbe995406c17cf919f49ee3122d79eb94586942cdd2cb9fdafc870081e6bc93d90cc5755812c818f1605d652552f9eeefbb8d46819\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-256]\n\n# tcId = 72\nmsg = 313233343030\nresult = valid\nsig = 058cf56a97bc8c274af169b3918df40c88df6f1514903eb467a14ea7d264ca79f56a76b236f60f3eb30fd349c08dd8066aba5983f8a9c2086dcc3e66839f33805e11ca2a39d929508b296fa477293cd6d3314cad77f4757f4c2a59b8946d0a12efe19ee0b534cf6f709ddfd302a9109b5d1caa95b02f903dad6052be22d46f84ece5d3d683fb9689a7e2d1161833d98116de414c8350e48c8ec41902785641c190bf1a14bc5980a5f650bdb1c401ae1be6aca24d5ce8d911d76617c260a5d744ea9ffb50829c3da1c4dec0de3a68dd37e0bc6e8bfb30c2d91201afff113e78a739f074f1725137cb39a62bb130bb5c7c9921cdd5431c078f09d30b2060fbb900\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-256]\n\n# tcId = 73\nmsg = 313233343030\nresult = valid\nsig = 03f634b2c133e157c7955445082102a69228131ec6fdb9840af28ab45c62e20cf832c055418b665a4958c02ead8ce77d62852dc77b8e427bf0326653df718ef84117af503868cc7aff3c4bcbbbe6e69c3e5b14de31095e3b3b43701329a574c7e2c64ecbe08f3cffb0429ba429e83c206625b9be1185bc5df34ba5a58fb20e655972faf6c0f55a94db6cfe975e4506c6ce4572ae5bd196e2b108ca9622b9bbc315193697858094bb8007d8c007674034375cb1d4092e28262216aa44d12edadd1262291cd085eb8d892ae461ae6c227ee91b7be1521f53b332e1c6bf7a3797c92cc86b738d306553bef975ee7fc6f0a968186de390046ce1f51fab68bdaf4ea0\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 0", + "0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-256]\n\n# tcId = 74\nmsg = 313233343030\nresult = valid\nsig = 46dd15af9e3e221e85d682f4942a8c7e4d31a3bbaa909f48e041b3f582a9e799e9125e6b5c6fc35716e73da6a707f8a2c59c49ac0f4f140715b9c51a6e07172c5c9675f3abcc60a46dc671e866de78c238dba6f34e24c15578ce9d9869a915056c550bd632e49ee78067a7d20c597797c5628048d8286218d1291e759b49e6fdbd617e78d00d8953741c261bc5ee0f27cc61719057c5494234e453aea6c086fc6b63cd21d1da0d160db4a1b80e94f19f14f5d3e8c5291926bc815a378e8cf8b2b3036b02549854bcc0ab0634d0b9e70570a8fc732ce0f12ad927e67356f9454ef5f1e5f89766bc8867693beb4e852e6f2c19ad88e33a435548bd8e840dcf84e9\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-256]\n\n# tcId = 75\nmsg = 313233343030\nresult = valid\nsig = a1f187aaa6f2c383b5b88fcd59d80a58475bffeb05049e71096b0e396ad6168b4f98d2be393753469dd48107e119eda73bc7ddd7830a7772d19cb7d799201b534361ed52ae91909c2efb355ede49f16ca7648b21a0c4a1746ec5bb48cce5b11adca074d79f1252e906331eee3abafa6f985205f9c64dce2a954ade4e600f30d154494be677141e4efa12e5fa86e79cf939149bc30e73627407455622515064b5b3a7e3f2816d67ef59eb499c9cf92b0f9f78a4b21ef7c32dde4cb89461f6c7280dd9d90c403c0dad486c22f039a16524a31644b635f05bdb615ffab67df491783c5c85ca19d935294c6d458a65ffb065229f408596b0be0327d5af052845bd6b\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-256]\n\n# tcId = 76\nmsg = 313233343030\nresult = valid\nsig = 3eb30e9c91fe7f0c0da8041f7441bb3ffd542e63a8519705a9941883aa13cc5ff4d5c14263605687778edbb8c9dddd4828524342879a6c8bfa6203d85e338de351608ddc987bcb510590276ea691728d5c94028e10fd47f209c4e4be369ffdad3a0483cf6c8704af3288e1b4b7f4ff9deae00f54bcd068347ddfef7c3bd1e2d05be8e87b52c8f348806898f0cef7f494e2c2ad3fffc73a39d5531c629efc0a63604c4173af03ad73cd71cf8ffa79a5cb8cc10efa66004237a342899bfa81f5a47e76776c9a626d49c6bcb051b168357d5ab4b7e51c1142c86ab4e52a6b3bdf85cae768841396da036a733fc15857078ea563635ccf5b366499c550c63dbc449d\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-256]\n\n# tcId = 77\nmsg = 313233343030\nresult = valid\nsig = b261dbd4e96d7508686709dec566282ca192a0bdd1f37aea4d0530e07734cdd664d933906ea5bbb8616d1ca5b8e893ea85c613e6ec6fc94f4fb500bae6b356af8419f55ccc006781f6916190e50f411bd0c0bcfb729d2b271a4b1b30a80f53dcd9393950e595a2116e27be9b2ca1465e0eb5dff2d8f9d524c70d06127d9bd160eade8328452967739cd5e372e56ea098a662e8f5868614e0834cd380e7481952428cffb9e15daa66406c025acac8a73d63863fe3192c1eb9806d42f4add9a2c9c608c763efb64561c2178f90f46b34dd967fe6b0907bb13d2a13450128c43c8b4569778a1016495ec317dc21475705d6f95843bfb5f8f1029d2f257905ad82b8\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb", + "69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-256]\n\n# tcId = 78\nmsg = 313233343030\nresult = valid\nsig = af289127c72413c318120f8a55752cee713e81786ad2002fe51db89e18fa0ae98afbab320853da32aff8efd5d07c9e9edc8211c53d6cab61e4e02827cc80b0ccdb8ce3a5984bc7810b284384eb6afbbfbdae51ef15537893737a46a750b71a248a257d4e15080201837a69cffb5a1eaa2ba31549ab2737fcfbf8833db9692db50cac6d22d01379aebb00ee43505bcc4c151a84cd5b1da9d58122385d1aca9cbc3cbd6e4568b8efb51f862d170315ab3172c40dc36e871a10f6cd88bfce13b384653738875acc2ad47e5110fcd7702a1737ef459cb49d70d3df4e6f29d2bd6c8020c4c77c3124fd5d53be435b0dbe8eab6a70fe120c5de89717290cb8052aa405\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-256]\n\n# tcId = 79\nmsg = 313233343030\nresult = valid\nsig = 5e6d645c45e43e756bd8299a63110e9afd6e8055b1759f29058208787222d04942da32b858cc355c089cae77751826d13fd6edd8b73d3d93e10558aea863af16c739980ce381fb092eda4ec6b0fa0f40d91ef98b3b855e557e6fbcc15ee46059b75014565fcb826f4f51662fe37f42bae43a628d70f0d8b49fa2e00fea84a22091669b9601964f7dd9eecdc1b539437ca1ec1915499c5cd5f6ffb38e9585c8baf39a283231691658d5a1cfb1befeff4a005804d050c339a681ba27175d4037a8eec6cb882972cc0a408a0081958d2ef13de4f2cd0402a1c6282eab0a8ce418e83f7f5e3880e88d115202c4c481a09d15c79d7388c2561cc724d9ca94e1f33b47\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-256]\n\n# tcId = 80\nmsg = 313233343030\nresult = valid\nsig = 47b07a933329375d1003bb984be0e9a0c3b6c736768f5bc36bd314b9365b525f5f55185e49f4383125bd01f2eafdbda9d1e8b51e0cf5735e5ae36bbcdff9f7e8f6e2449b4d58477a4c9e57f83778be2c7be22b7ef0d5ae540a87b9b7ea123372f09f8ea111ef1816472af9b391122745accf09e0f652aa58a6e79d4081eb3fade4f4ffbb3506c4aa9b8d00f793c4173636ace4f727e7adfa59a40940bfa652ee6faa6dc6b6cc16d9ab34782951a099f33636e810776f212924c9a4b4788a20f2106b8a61529aecca14701738eee59a1d0c46c82b902f5e4957772b9918db556c0bb200321b5d7516d5b0a7b67f9427db0d7da1deacde2ce7008adb8bd4f12542\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34", + "fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-256]\n\n# tcId = 81\nmsg = 313233343030\nresult = valid\nsig = 8b9b86bc3d9f34d2514b54928a542be358c22574ea01e254526cb569841b55d429f4fc190e7a4aa526781e439671acd1189d263a8d7cc8dac7f0978a091ee4455c030ab325ba55adde20ff5b4bdf9c32b9d48ffd5c05e6b643cf7c2827befcbb745cbd305b6efe6d38a69a9e44faa81a1b8481cb141a72d52fb7bd01bfc3db962ac79093931c2fdde0156db7ffa0da461ac9474419ddd27b79ceb55dbbc5cec9d957c4967d3dd2fb9d43f2aea8b254a7428c0e0aa93835bdb82634d125e3041ca999bce5eac7f0b28f87eaae8dc19ea312085c75c72d743e8a6f9c20fd659b0534ea76be885758560abf0de446f975f5689ac83fdbce309afce89f68d551383a\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-256]\n\n# tcId = 82\nmsg = 313233343030\nresult = valid\nsig = 67b898d0a5794d80c30fb977e4ec96933fd088df58b2094c9e5dda132bd23fea5820da6dc0eca9cb9f7af7cfdec61b94c05e004a7d1ef18310e716b70ef15fb2e33c856ac0b18580a735eba59b5183491912ee386f7b498370decba37ace8c50608b5dcea22678b5e5db20d06fe25c554ca2d29b25d13c3cbc981a8c9afbe73cd260c9dffb9f3561af8a9b459955072f31621a20941990b04f27e1f88e86c3dc8915fea08aacb41c24284e0ea5bbfa1a7cc09ee786dd0eb2de28392ff15604b10d55f0959a11ad2a895b910cee367764c61daaafa49d60fe951d8e143a1d1453843cae84808bdcb52919a4954573506cb69ee93167c16a0d8dfe89527cc5108c\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-256]\n\n# tcId = 83\nmsg = 313233343030\nresult = valid\nsig = 5fd7bd964b097ccf7daf5dcda4946d8969d6140ec7f4208b2593d36f0ccdd94e191b85d3c63dc56b4979b3193122ba3e122b6cd687ff535ae6b78635641173ae76e32ba6cb50384a2560600103cb9f2c1e540c5f73d1434535c8ada6f62ad830838d096df9afcc8ee129f2b3dca499aae25965cc068c2be9b19d3cd4e8c5c7aa69b6c8a6dad86678edb82e906617794baaa0577876ca26ca7b637d6d4133a371eb7a32c42ac0431bf6611ab66d5621c5ad4a94f2ce680b4a8c21f7a2c1a66cfee9a802362041329fd6e1fd66e7175569550bb865f38e6c1803829c537e2ae0049dbb5509cd4e0537b7e1a03eca9b5825f90c091f81c480dd19f086632b0cb338\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-256]\n\n# tcId = 84\nmsg = 313233343030\nresult = valid\nsig = ad477628385ba60a8c098232fc75e7d4631b5bbfff1c90eeb9f7a9628ea33a808c3b46d86af5c10d6c15cb8827e9404db420aaa18669d3110c3af01375dc9179e6ed900fc0493ce1a470822e23a2935d6240f6ac0e965d8d1d3aefb73e34572db3e807ca0732f4088fea9fb001b17f5c2e575f502f17d056c72c139ba1b9b44403684e25f60ce9427933d9c044757f7dd1f533f7239a7e0c8ad90a4b564cf304a928b5f0a30253d3a4c9f38a872dfbd3af0bba3a4893ce4fb9cbb082f25c2d700cc1b1bd57537abb01cd9dc4ed472ee3d6e5dd1e4604ac118d6d1210d5d35c583e4dbc93ea9f804204d81f509e4feabddee9cce6877d4d9b79de13e08ac01080\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc", + "20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-256]\n\n# tcId = 85\nmsg = 313233343030\nresult = valid\nsig = 3bb2c2b51524d29a8d6a11ec47faee62599f2a310ce42d578725d19d050c1051a1bdd65ecd7e4f1c6e4bfa0434626f933bfcc1532bbbee1ad9b83aa888d51f92f35795a46d06c81970a6f6f8cb0f72a57e62b33e64517c1b2625b11458213919f4b96ea4956143d8d658bdc7f5600dd0f301bc7a85a5f785c91cb345413fc1b1ae9499c68739ab963388db47f7cc816bb53f8169cc8f8ae27f7cec4b4366ff2ac14a5273eab9215a2815fb71c45a274bd4c11d0a7a721501e41f30193130e7fcc150b5c54df4728bf72f667de4f3a8cf6fd62faebf1c2fcf33dfcd694120532c7a638a6f1da9846c36b2c2cfbfcb8782655c743d9d324b4fa88bcd16997f3c2b\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-256]\n\n# tcId = 86\nmsg = 313233343030\nresult = valid\nsig = 275e2235dba328642b7e5a789203119e49012c0006858d0143dd571c67ef8757c3d90f640bc0c73532889dd7739cb023505bbb6f64fff8872aa2274fdbdf1a698ce03aa24e0f985c8e503d093bb138388ae98dd16e9e3f1dbe65a9f313b26dc8d35c527929dc1fc6c387be538a13c97de30a8460ecdb87891e233c826be75cc7f598fec0301dfbe3234b2940d61e93b2e4e6091c19671b7f07033c9f1c6ee90eb99abedc9d6a39aee952329f34d617fb106cfcf6e95fc867f2d991ca30168d08259b12dc974fc74eb5b03f9209d208896b88d0191dab425b7e9ed0c0b6e598e7284b51bb276c46c1b4b60f6c92b1177832ab26b69fc579e7312cb0114576d11c\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-256]\n\n# tcId = 87\nmsg = 313233343030\nresult = valid\nsig = 28b91acc263bfa8e50742e54f6a7cf9ead9cc0ed81ef2a063caea8c8055f00d1d1cb897f84f3f832300031d7293c98616a994b2944a4e2bf4765c573ef8aa26db4b9555b55194d2a50985332c0b3e449253454a2b17adaf293bc5ec52d6fe95b6b7bd997741729bc5ed68c2b53e426f4f27b533b765cc58657133566793356e6c4ef8f4a8a0192f2501116baea02a11c7facb9c602eca510e4cd2066bdafc2789f13ed959e44cb3f34f7476e746c6f3d78eadc7d0152fb37428d0d97b52a9f90e47f74b65c3c0ee0f353968c703972262c175f89536e8ab3c26906525d430aaa82d2aeb34ffa70d39cc777bb03e87cd5e5c8f93d37e291192a4f333bc857e714\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6", + "edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-256]\n\n# tcId = 88\nmsg = 313233343030\nresult = valid\nsig = 05d62a19dd4bc8fcd622cd55d6762f7f46f9928b1b1806c92591d432c4fcba91ef9c834c7d99fc0583634d77f7d2a6cf8ca525fbb3ac037b0df8c3fb7da46044c7a54780f9f83aa897d51717c44de91c7f2605a40b3165da8fd92eec6d8bb6612226cf7fcd4c918b7cad68858eb0bddf70d5823986cb580bcb3d274097911acc1dcbb61c9c77daec84251f0233749b6bb03ba5905ac29c6f8485ef9e67c6290c862490bf49dcf4153961abcbcbb30e17169f9465cb71f84873675d9b71f5c04b44dca8bd2501b753869e04328c0095fd4bcfb059324c4e8a08900d2012e25bdf56853fff41e333a552bd1eacbe384909da86845f960d31e8ce570770f174d714\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-256]\n\n# tcId = 89\nmsg = 313233343030\nresult = valid\nsig = 03b0cd1b267805404dad5ddae2cd341ad2d4d4ec35c764ef7205e1a6f0e437ad41990baf569b9b072a2e4d41a8c969c688a586bed3da319ee471f4abb6d4a0ab452eec6e5ed67e6c138befa3b8784af91f158185b11c1ba141bb5d2bb9ab8a759139d19fedb2af16b230a4ca00da9f6f9908194f9202746fa51a1c3372d4f3ef58f61889b67380ade4bbd53a0273d27a37764d5aeeb06d2bd96398d5d2c6f5c7b9718313598aaf881d98262e67d709aac76b6d397727df2c607f7b682adb76cf9b8e58ef64de1cd815a36bafc79b270acc30aa8a184f299ef217cdd630d2026a865821f29d82b8ee8e4055ad45e7388d03a5f319158895ed803e57c3c3b11049\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-256]\n\n# tcId = 90\nmsg = 313233343030\nresult = valid\nsig = 7c9132adaaa0592b7bd0f8b4de70b28c5f3a04cd777e90e82758b95f368d6f7bda039e134ec383c5cd15e67eb75df41c03bab87d60937d5088272392e11e26dab51afcd73c00c0e167fbb5d4bd6939691788603386b8cc90458679111faf4af273b3b32f4ac3790cb4f4d88b362d11b8f7897472ba3c8a6963fb7f708bf6c44a5467646c3972719345ceeb42000603a1b9fc0063719ae44c66c6e8ca989422add2ad533465b954789181e403049411585549a44f0da9abd6af3f53d50238ebbd5f4a4e41e426255c261322d415f3e82e1bc0b889fe80a518b19079565ac7c44d79707354d15872e95e99262cd9d8185804fc923299b2baf8d40814ad9282164e\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-384]\n\n# tcId = 91\nmsg = 313233343030\nresult = valid\nsig = 83a3c6df7f928a467000185413d80212bc568ff3bb42aa5d6276c2e52bf2dbb4e44d27c7845f05791deaaa62cd1d3876473454a3a18538ab0552236ccabd63c4b7d98a2d38228c66cdfe9bc8f5d7c60ccf66321da62d2f0cdc168f95846c4bd5f70a918146bce9da84d07e2392d2e0cf5d3d9bc58e2f0f64ae92d90a6c5ba37e074f0328c4c52195c546bcc7d46c0dfdf9bce167848bdc93d34a01a4325d5c1da84492ecad974ed1d047cdd69cdabff0379f2f17a63e33b732a2648d5469c6260eb96aecd7e38892f595e3d1940830605260d2107bfd37d7db3ccf31e39404a0f646673580e0fe7cbe151d6bc522b8d532b2bdfc2418546d802c77ba88ff59c2\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a6", + "3d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-384]\n\n# tcId = 92\nmsg = 313233343030\nresult = valid\nsig = b1accf7eadc4dc201a87e535242e9d929d83d7621ee97ca27802dfbccfc5f8b968139562fb0df9ccb49178e294c5a78bf0a8c3f3239e762bc7077a9c0befa69d8904b70763cb2cca86e973924240820165aab285a313897eb034d2dd7b9c4e8e1781a8ececf01c610737443ea98628e94e8d94db6ab32687322ceb3d0cc5ae7316f7736c3fc86e8a911b30c6bb80c1bbfa33d5fa8b5d4fed13ba433f66c1c3235e4fdb2aa915141b34323e64bb39d47d3582ad2751f876d22e348e5c4eff9eb38d80dfa0a66f9df9e1f96adaba1d513903c3fbaa8e1379680015ff7fa659f265e8265c5817e742901d9e9c8c9b31e04c50e60fe4904fe9a9bacd3e133870a388\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-384]\n\n# tcId = 93\nmsg = 313233343030\nresult = valid\nsig = 393ec2b5fd66fbeac6cdfb62f43f832483c895f7a99df1d44b74155c9ec7a4174ea80f0011933d9a2988f2ecd2b140120709239ca412d2cf93da30f7626e4d2e41051a29846c4762a7971ebf015786ba720e929deb0f3ebdfcdd4dd9e08dd9dec59f31697a6e41aa20567b31aa0acce622508321a1f0ccfd6ef85c99bb371ce0298e5d501d2597b0508be6838985cb95051c1271b4c7edfbe8976e656488ff61f8ddc291c873034e32fc7ea65dc59503bb49ee279d6aa5a698da77f6ac20d63603308efc20067e903dd3414599edcfc488dc1b93e3ec4de2fca1be8772413d10ab65058f9f1da4c5abbc3e79965ead7cb06b4f0752d8725350cb84c3ace51a22\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-384]\n\n# tcId = 94\nmsg = 313233343030\nresult = valid\nsig = 59ee9757c6d77e1a29bda4c2d0c69afd89a8da8cfae62bec1f87068de3c855421d20172c080d8d5ca24f68009048ea1ba4a72c397a6178867f21f500cfd8b352e4cf02d99c5b084d6bb5001e20e0845b62d3baff8e86c5a9a8d6b5cbd90a215012bff297dedde49978c8eef69d7745c586717fcf3615f83da251af76a77b2035a3bf94f705fca89d3dfc1feaefc21a1990c9acc83ce5320112514e4f9a4bae264f0d6a100be4a44f900450afc99679f07ea0fbe8ec494131830602d571352eb8f7c51812d06b53023413ac436f27e8d9893438efa00ddbbfab975f18a25c9f189eefd90dd751ff7f36ac0ac22e1514c8fa1882af05514bd6c328028de28db79e\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948", + "973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-384]\n\n# tcId = 95\nmsg = 313233343030\nresult = valid\nsig = 3a44e84f982a227dd65ca85621eb786d89f86f698251f0e297d607e94c59ec246aab8df5601bd1dc5959768dd13320ed6a9fc5d8e2424d251dae9514bbffa8094ae48b226f87a1e62b0f50aac3de7ab50dac7434b1c72fc6b6c820e0c653d8477837ca12bd53a2435a56201667d0241dc1f5c2c3a73e4c37fb8f10cfbff239cdda5eeaead887a5055c8a2f156fbdb7b5ecd458cbb8baa3b564046147af1cfa7369ceb602e9ecf5d37af5e0a8b7936410d2dac61883e8e8613519e2c6a88286099c7a7611704052f4c1c04f9b40e64bd0cbbdb909bba13fb47cff47594b3e1451992ec0ebbd4d14eb72cd4d3684244190bf93faa3cba93edd3677fff20188d8a2\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-384]\n\n# tcId = 96\nmsg = 313233343030\nresult = valid\nsig = 4800faf5338b7795a8666a28bf8a73f33193ad207bbca13dc3f3baf6397f3762e814c237f5512c99dd1e5124892f7da09c8d2ccae562c4fdfdad929f1de8fc3c434e7a99a0e56cdceff69c00f104ffb2907a064da0e5bc625767fe23104831d545c1ef1f8267a0ffd61755bd8f520ccf797355879faa752ed8d59814aeac713f34f07d8ea803c90ed0581d753646d559a13c4a82cbe04655f5d404b26818447074f0e68012f95acfc59e341e6be59901d00b2f7f41bd034213624c4f33b3a002aca2b8447df255278700edd31d2ee272c248eb2844721444d4a38344fff28e0787c2f138ee84f7cbcc1d4ac96e354ba8baf67793f2466c4b48f39f37253e8396\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-384]\n\n# tcId = 97\nmsg = 313233343030\nresult = valid\nsig = 4068088a052a019bd405635272ed21a3bb7699ef4bd220f5da1951aa419fadf417d3f8187d49ee1fcf17f358bf4642706df684f1eacb8424ae94dc87ae4eb1073969e8f874d4972b671db37f3f59f210d50a75b6f8dcc20a2749253e799b3259f9a95ed5da971d093ce2b3f388b14778dad85b14eb404a3cb16a183cc732df393421d48fe0094395b90270bd760ff7a9fbad19d52a24aa09255d1ec098c878d18498fe9929a52f699cf7a24ad63727ba88bdb3db6ea7682a06b7004559d1f5346d10b709e5c93a8a24fb1487c532b7e7a87b143d22a2213f591e7b3959b420593e603f5beeb4454fc8dccf0bd4d3ea49c8f6ad67f3ac90aab3fc73db8ffbda2d\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-384]\n\n# tcId = 98\nmsg = 313233343030\nresult = valid\nsig = b7e5e12ca4ed531ee805973691e1d971b79aea502a7416a56d14e49c301482668323ff8bdc02ab49c98ec0b2c67f6190cdc3ec548ca6fa05f94a68eaa2111f01d6e3aabd8513d3ee0a52538831ec2c58766b6e28cf7d0b561a8a2d3a54cf30a98e777469e1b2f171f8457afce2e0b61ec147dd7eee64d9535465d626092038b848b556c2d488fd6169cc1115e10dd05a4b77a0560fcef4cf3ba608dee6a33e09f00e014acc3a2e3dfeeb3128db53b1075c6922f9d90e70d0c7de60c57420668b850be0c127d2683b38ce13a6dbb7c9cb9d2beeb7e00613a1385df1088b38288081f2120e947d522a5a145b899eaedc21b9072b201d92efb8e1964858e37574cf\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a", + "5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-384]\n\n# tcId = 99\nmsg = 313233343030\nresult = valid\nsig = ab24379ba46e86c915374d26ba25217282454b255bc8a675d7b491b7d7ab763d7ca6ad735297bfce4334b72b2c74fe68cccee1b04317023ee3271ba6b674b87237f141e94c2d446fb46344bfd8823741ec931ca8105089c48eb199315dfb615e17a4aed74f9654a1cf5917050ac6a2065e2f8886f4b3fb8ac092891ba462ead334cb64c4ae1a29537ba4fb53aa6bacf521a984c7c9e0fd0eafe5fd354c75ecffb5ec356fb34f2af67593916151f219635ad7afec1ce8a779083219d7fdd1e28c9e78fa6e312ef5507b77711e2f58934b6fb43379c607f99e6b4f449a0b6c4b5c723171d63fd74a34332ec54a2d0f4d1c31090b8bd5002c981d2986fb2dd7f5f0\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-384]\n\n# tcId = 100\nmsg = 313233343030\nresult = valid\nsig = 6cb2d2b7235816f9ec77704b9a92e10f6fd545222a029ebde456fe0a7f47711d26ef4012e6445fa455fdcc90525ce4b218a0cb7c0002f3331acf7155ced2b278d46bfa676661d0cb8dfda8048bd1066e46cfdcc3878b845ab0dbd9668bf10fedab8e971b6ac7b42e84ce0c7d51ade27dc317306a8e623df8ac56e15f3cf00992408f5644e17b736550af04361bc7b5dcb10da9f1f7df4415f2243baccf32b500d69dc3802060f66cd5ece6e0bbcdb9d8c1b2152d4e747e8e017889a7a9c0e71abe1dc6c8f4593cc913cfa1c68c5c85fb20db5dc27297605fcd77d81fbb9d114f5a343c0753eeabba92d3a6157925598a5c84022de9ea913a2dd2b86610456202\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-384]\n\n# tcId = 101\nmsg = 313233343030\nresult = valid\nsig = 9c6221f623e091e133f137f82c3b700c907e794ffc567e00b1515f5b7dcd6233043e804d85692c1e9cb9c4a634fd3d798b75205e599a149681fe8c8b766d3b9dfb1e50ace02f587fa903a92766182e55c82afb10893bf29ca64915477abf164d63e3c860c5330169ad4a771649ff2c38aeb36a754aa98377fe8903243dd9342c4c8d0753f5b14f05bbec3e2149f74a5863f8b29733cea10086aeff8726a0d3c5fddd037a279843e5e99130172a19d8fa8b5d8ad2815f6f06a55e413d574d4805572c6256b63e8b8eb338cf54645e5e6e853da7250450c2488acf1e7b63ddd8976b0873d01937b5bcce8cf035d41b4fa14012355c354e6ba1e3c67446325fe224\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b", + "323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-384]\n\n# tcId = 102\nmsg = 313233343030\nresult = valid\nsig = 4657d03e8657ce1d5a60d755765dc8ca3ac956cf8f9025cca0261de70c60dc3ffd3205db3cdaaa15500b652bbf82321296037e2efbfcaa903def52d1d4519df9fa9fc5d4c36912533cdd3d8c78a72c07d16b6240b86a65bde7af5bab617ed35e3b7ab46c93d9857a64cf83109afe83955ee9485184640ea7bd2d7a20345f0933856e2dfbd2ba8905c377ff832da56b9d7bcc27de96125f5c22de218ddede298c95ee20d9bd96bee608daf37adb51e7c8d221c822bf2b030dec29478c208b966b2f6968594d6918e7a8ff705938978ff56f25d008e3f7ed3c90200c5cfac5ba7009c0adda69df94621b0faaa79a23dda0af878d519769e72de127daf69fa3d62d\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-384]\n\n# tcId = 103\nmsg = 313233343030\nresult = valid\nsig = 27c8b29e6cbd79a0a564b7ad856b360f8621fa91623813e671536fccb69720cd7596eb023caaa4408a480a14b1b17573d2a190530d00912c5a8430ae29be99148e3ce0a83fa5a7895fae8f2a0ea0e56911e69efc5668018b4fdcd7ac6c147713780b35950ceca07062640fa8b2c946c7dfdb09f69c28e6054dbd25de807f4ed750985d5c21059328a0da9ed8ccb277d473c6a78f873d83a5dab3675f6883a73103d998bcec6e91150338c9b09b847e65c430a64337306f9af9ccc65576224d405764c239e2b1faa375d92cacd09bb6a0ec2ce61615e4319ae1e49183cb0f9647b450497ae900fbbe22de24b31e0f2cb0c5b26de13699225534c218b08e4d425d\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-384]\n\n# tcId = 104\nmsg = 313233343030\nresult = valid\nsig = 3e4ae7fe4888ff711a348489a4770abfca50ed0b60ba39c6101972c96dca5428fcd6e2f43ffd493f1de41c22cdfcb327a7a3d43ff3c2218cb6c48a287b885373e8fb4cdc1c799ca256341eb577edf238821e9310f0cdbc98ca2e48f7b1dca5c1b861a6b80f246f7948c29db4b26c648f66573b4acb058c36a462f2d67fea2d23bf449b863c016f3a622320dcb3760d0da34f98a51075b15076e03523fdf370a2800255bbeebe0c0920a695c6ca7758e81ece1e199505df880b365f3b4ee897ef7d04c303322c27ded183ec0d432784b6efcdab558e214b839ca8b0cc4daaf80099f69b9791f5584f0d21ca4ff66f3acc3e5e003a6defa681ffda0a58f8db8861\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-384]\n\n# tcId = 105\nmsg = 313233343030\nresult = valid\nsig = 89e34621c15e6638469bc4e4d95243f1f0ad698e3f374dcf8bb74778f1d7edb5481b22ff1cf1f0bb30ac2f0e842816862e55c9e47b87dda5d05f0b88e02662a4e0fd456529b535893411baddfd965771857b7ca1504f0b0952f2b60f24139db821a45020911e94e8353841756fff109795914a46b126d8e39dc9c0d2ce4882f80ee843bac9060da62f01cf56a3596981120228acbb1da8f5b89415dd652b1458c21ec51cd2fdd89c391f07c15737d7485852b37bba45f27d95fd48d3062ea22019dc9088e27b25acbc486250485a7aeaa08532a5a9e07a7a7675d32a178675ce51a3a0a756180596742c8446b0383b37e86fa910e76034a2648e93a80db970f5\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c5", + "7f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-384]\n\n# tcId = 106\nmsg = 313233343030\nresult = valid\nsig = 3733f507187912655231dcf642ad9f7eddcbb6db32467a492ae3c30b61fffa2ed141fc2501d11dfe3b36ee1b10754368ef9a04c75aa2c1bfce20e0eda4e46a6d112e29827c03ddfb430f386c9b24a7fed4e8e26c7049ed09ddf231dac183d5046fc1413e86b697c1fc2eb30f13306ea049467b4ec3ac37f56ce824e6f4797640c7ec46a2d28f292824e02e5bde9dfcf9e099df06ceb4911cdc5fdba459bdb19afce8fa8cebd0c64a880655264f35201ee5b5e4ceddb64e583c1c849d6ce8d977f3e8424d37af6f5b810bdc8bdf0ac384bb0dc75856317acc12b66b0a9081ae6d2afb6eb38684df0a8708e7ca45809b98b3ed8092abd77caf38529977b9a52b8c\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-384]\n\n# tcId = 107\nmsg = 313233343030\nresult = valid\nsig = 73c0eea34bccc2165128ea9141fa6f39c26fd88c5282cbc26e36b89016a6371ddacdbbabf278875000ab550949a5a26d2672e2219bd8df0ca7fd4d4257d9af6ae20ef7bce5f1b5ceb83ccab2c2e4a47a248493ae85603220a9bd3ee546013bf55cf1bd25255603e54df67e551b6078b442d188f0b25dc5ea8c33004f126320691220f515e74d3548e3a08a194786f1d42e781b0d42efeb461e2afc9304254f2c0dd85e4d80b16ba0d6f356126155bb99820f00c17d307bc7ca677c93c393ef9b2fb4bfe75e58763463909b1a3957f775f01f12ee8aba704a63014f83941c3490da4515be2d4ad1dd43934abe1535def1b3bfe58a43bb0edf296424e2e432003c\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-384]\n\n# tcId = 108\nmsg = 313233343030\nresult = valid\nsig = 1768cef965b3e5ea372db44e211de05ae4b69c2ed4465084e9e55e602b4067d1058dccb02a717022f896d2fa2f6f56bf54cfaa73ec21646dddace99e3c4cd6dc2a3c9ec1a68cb91cdde9d56671ee866a3c681b867d126036811e306cc7320bb17d6a025818b468c1052661ac2475865fdeb11ffebd9521d2678fed02b9b3db221b3bf514d8d7a7798ab6bb077b94cb1bc22c541cc15a8385557e85d3c88f622e93e11193b631a331f993138368992015fd70f8cb8716822b6bf418d2438279948fc3b0641c9685f1bb853e5cea0568f7e1c040c13303cd907837b952c1e1f3eb6513888c5cad439e7206bc3f9b9355c5d91263df9f284e5f014cb2f052e4ecf6\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbb", + "c216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-384]\n\n# tcId = 109\nmsg = 313233343030\nresult = valid\nsig = 55e2a51a5399a3ec9ea0b4bec415f1c53fcfcc9e0b74cc27c80ba07463be541d21e06b4b40b6bcc3e042bfe586ec9f036862be075d84956b0d326d92ad21a150148c9def31a9004c19d888ca4b46a48532497793d9e2d61f305a14f95be6e4fa99c1b9b1feea9cef980353006d71c2cc3105fa0f430e86dfa41743b118aaff6d133d95c52f6795adb53fc0f18161f6740a240e73f8c85fc64d2e74e2338ace4d13e11e02b0f3848038fcff8392a166c581e9dd1f7b8263dfabd5e20ca7dbf01cebd551a26d85199979a8b97c171951d604e9e009ac8d19965c079aa4f09c2eeb6f1aed989260761965c4f9aa135f0ed728c684ff555b3dda4f136369d3fcb565\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-384]\n\n# tcId = 110\nmsg = 313233343030\nresult = valid\nsig = a9169a0553a8f0f904b0a4a00dcf5247f87bb8e930f180aa2a543cfcd17b07fc1d627fdb061fc6b6fbdc2baf89d3bd8b2344f3c7c5469f88484517243d168a90a963408b63a848ce9fbc8c12f358e553ed624b5ccdde8a941a4f64d29364f83bbf7ebf10b60a85d73c346c7e462e7859e4b7728930472a0b2e67eb836b4d65b20c1cda68f54c9b7cc30840b1fe634176cb8e8be03ecd2b9f32ee3cbc981f8529d5a205d0bb6d8aca576b69e6478f1c033b1bb16ef1522a7ca5ea1f7cb71230681556e3cd1ef488b42004236f9e7c0b421e04bf746670f9c1d515c23875bb980267fe66b17050304db258672b35bd552da1e4860af4f564df3056b543794cfecf\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-384]\n\n# tcId = 111\nmsg = 313233343030\nresult = valid\nsig = 0bad39cd8a9987eb8c5af65c8491f5d975ec833311d1ae98d89a4ede949b93cfcd7f45c2191f5a5def8371a2e7eb26e966374d21bd21e13c52ffa8ac4c45eccabefd0bd372389ea6f857e2d44f7ce548f2b18a6993a3ca81ea14df494e4c1646268b6e7dc3945a0618a5f4447a8309a5ccd45a8dc59bd3cac9348707355911ed09f4e2d5472da0f343be1ed908bb4462c86446bb5fd227761391c367227645ca51c4c4893735093fa508705a7157eab776a515a2e40360b50cdb273994b4e99ea5fa203aafc35490651c6e5869ad9879f17bd6e5c8b6336d0f34db6af8fa0a62bb01ab27b1d5eb5a7d18afa80b8ef3269f0849a99e0483757f3b8c93a27100b8\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-384]\n\n# tcId = 112\nmsg = 313233343030\nresult = valid\nsig = 97618c022f53f7e687c6f2e631cdccd07be804873fc70e76ba77ea7131ea25f68d41e2adc6d8d4226a07ad915341a4c05cba2ec1707b14f5edb5b92a25dc39a6418740fb47852add908f40ccc8baecc343fdfe54d222cb2f9fda5d8a64333393707bd1cd2c4a88f13ddd7595aa4db6481115aaa5a5dbb41623c45d0a4d3e4638a4bf05b86803ae607dd8f97260fc3cd9e6fe58e3dc24729cf2a797543742205b93a0f92b32305eb3e52fc762f3333c26de543befc954051c79fe2f0dc2e2b1bb855827b6c11b34141a7a9275083bd246b6174af1b758afee37216961b40e6f504a7525e99eec6c9e1012b5c4b73cf73ca10f993c6a0fcd9b07eb9053f69c1462\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c7", + "7ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-384]\n\n# tcId = 113\nmsg = 313233343030\nresult = valid\nsig = 915bf230ab9b210ab7a6c648162badd5e56024dcc783ba9993d6d2e02afd2ee48e6624e8c536545c297468fe3e4e76c05c98753310a5df84c2f478ce53783f9b61008b41c260c2b484c7daea7f67cc5f715d81b07bffaead0022419f2c085eeb69807ca189b442300be8dd3b3a71e3ec7069156d214477074965a7d6f747c5188f10ad7c26614fa48474ede7f7a8957eea89e5af57c59a615d52e0c16837cde7ac198607c35726af9d9a8e4e91725d31f47a052dc9f4114dad4101d3b21d919ec4e06fc8df0faf91eea595403927eaba5fbf3f9b6aeef4721aa9a2c899ebd6f3821770863d1dd2de4e8dcfb09978f5c920382f0a843c0607f66a780d53436822\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-384]\n\n# tcId = 114\nmsg = 313233343030\nresult = valid\nsig = 03487a274dccab65c76356abbaf1166a6b8e40bf41fc19362e609103d68b0da623ffa655cd222921deabcc783e32cd922d534c930b2012f03555698c9548b7588094b578c20c1a740a54adfb86780366ed951d01b162d059832e251b38a103394dec291bc72c982c2309918629dc656d96a89b71f57520dbe8baa25b97e68be0bbe8483c1a41cb59f027808ba22b82413c412594191c2293af570f02cc24cf3c79962a46d063bc12d9da5c1b1f562141957d049536d491b50398d2cd8d968add3fbfa8637afe36cfc0b1b4d953aaabc3f73e94fdf72ba8c06d405e224ee80c995ed7b32553dec80590f2787684e8dcd10962e3ed8280dbc2217d819b9de79aeb\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-384]\n\n# tcId = 115\nmsg = 313233343030\nresult = valid\nsig = aab6c1c447d5b10d9219633293a369348984c8614698fd7c46e636e902f4c7fe89e31ef4d4064fda55dd9cfe8461713fcdf0f6a45c88d6efeb10ce02f8d36ade589551988f49158d3d546e747be0f9e65fa1b4c202aff09b5d12feabef52e921b719cf45147ab67e6f0aa9dcbba99c1c3746cb0cd0e3509ac1eed05a2ed91afa424c6a33276245a94a9bdd183fbeac9e7d93051643784f121e13e89b95190af7c51176cf71eb832b3eb73866e897816fa9fbf703b31f1952af5dd8c68400374bece4f1baed06f19c5c5d68a1df8e328af1c8f0779bb8f805f0adb65bad6bce1c2527d4cdb89571c833f09d4375d75dae5bbe17d47608833d1041288d658e136c\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4", + "825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-384]\n\n# tcId = 116\nmsg = 313233343030\nresult = valid\nsig = 1364a0181c685d561d44a5d3a735a2630035849de6eccb06bc52431c2ea69907fb08f2fd73c78ea3a849bcd48d2f62b89e370e3bb74ad3b1f9d663dd05d3c829cbd2d97cd4284bde84c293ef45bc0ff98eb47dac24f8b09dc39395da587fceec7a2f10bdef2eb0fc2fa4f01f652e6ab08986d95bfb15125ae5c26f84f11682e9ee4a6f19fb73b66cb2795127a9e98c623d8ce132310471ff6f50d1a7addb2d844c3cde7d1c7bfcfacf64b2880b50dee6a687123d313d74ff83bda1fe09b4c63115ac9c09ae8c936327b700268a3c83a56724a6a086a34afd5c8ccae9a5bc3225be35ac5d6b00f5a4c87466a2c5fa3e660126957d4cb4ebd064106c0456864ba9\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-384]\n\n# tcId = 117\nmsg = 313233343030\nresult = valid\nsig = 5210d4bac85e2ba4abf39b41c891237bd36447683b9ad80e738c1933828c6428085c0d4378b544ce6bd633640c058fa3dbd1d309920140ff4768c90710cfe1031ed471bd4ce30344c5eb1acef0713b02841b612c720d24276df366f3c57e5654585f11a48fe47d19f6296dfe2f845dbd91807f2eb6d9491f2ff26ccfec4f53c9a1d48aa7d0bd7adaf94cbac583f9c18d7d6fc99b85555ebc1dcb28e8193ae25fd1b625375235e609e8e9e97bd339747231dbb28b0b16d7a285171a791130a792627d890889a582aaf6aea853a7fc214e3a6cbbfa99a7083b86b4a8e0c69e7762c72e425b7370ae5eb444df3d539c8dfcc9011eaea130f5422a5be263b5bc66ae\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-384]\n\n# tcId = 118\nmsg = 313233343030\nresult = valid\nsig = 1bb37da5ce67bdbd545d59f368b339fdf5e5eb8d2178dd36279955c9b2a97616f380983f89b958c5c845ae061f71ac54422ff3408b9219c1e4328890a6757e635dc2d4b3ff2d9dd683e48c14649c85b2329f1b4ea416459566b63fe50cff6de769cb1a68b372bd1966cbc55919f979b7293bcfd59e299c18d0cd3198ef7e6f828ccc7e06dcaac9ef109e8232ff053e9accc95d12832941e5900dc312c552b5b7bf5c005220722fbadded0d7d4e74ef00e8d531c8bfc4700b4b1880312aaabea147defedeab15114a797333221e7171394a5e73c475be06396b861fa2baf7e47e59c2b77f31d3b753669492e6ae691ece8fcb9bef2162fd86dfd89d051716ee03\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-384]\n\n# tcId = 119\nmsg = 313233343030\nresult = valid\nsig = 103f71ce6260900e6d53721819ed2df38f8e2d7a873a5efc730c16c85619b1ca180acd097d6d550fbe6452fbf0fe70c0a2299e3db88656bc347d28cd21e53c494e3c4ff28a8ce783ee842658863582b3b4473ebd435fd0b836bed51de16ccbb51308cdc953d8bfd97ab0f0c656b34c5d8c417a9206aeeaeb3b9cd2fce653ced21a140b156091754c93119fbeae5a8f868afdc7076cf65e9f1a14a6274bb49f6cb8c4f47b87055da28172176f18cac7feb463d22d841caba412f418e34a88a566d3c40ede21551a520d4bf8118840692d509fbfb18f1d005c2f54356bd51ac8202a85a163a60d885e3754c47cfca3518e7ec27b97df8242388bec5f6a41e1f0d7\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74", + "845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-384]\n\n# tcId = 120\nmsg = 313233343030\nresult = valid\nsig = 586439d37bf0268490b2c7d654b5b04418f6f62242bfb0a813a107440898bf63219518f32150e5743d7c55a1a0bdc9083aafc01729576a07f4ee4d1a12f1000a8490fa0d4dd035289a210eb587bb2e83fda1f9995712e1ee0aad7f787083b86af4913b2c5e4c54aa085d29b6b965b86e2caf70433c87ca864f94d68602fda1b547f5fcf132e6c5a341c276208485cfcc5768bf5ae467d06fd231a6b2ad1a0c7ca25d32df891f611093e9939a949e13154597025a2d9f5bae1f19bf11f6f67c37fe441627060ebc3a8b39752df16b6ae0a76f95af16cdb0e6957ef25cbf4ab89aca08ea9121d909c5b7c1b3c46757273cb44a99b026b7f939fec4f00b63e281ce\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-512]\n\n# tcId = 121\nmsg = 313233343030\nresult = valid\nsig = 65b14197a23ee775882c840a5dd631bcfebf6ec45d060d632f8ac00c3faa68d0e958dacd710674f9ebc9532dd0b2d1fa5394e69db283706929df8c206f7a8b311e14eb129bf153363a5f30b65e851535e71b9a1c46801f7591f3c16848042cc9e554e0f0ecd415252e9e61d7244bec0a8c808e35a22caf2dcd899806c0649932a0aba64d61b92a5c8be887aeb5bc50781e8969072ecdb6da96baf59d667b95c7f0d51c4e23636be837ed2c0175c5d42f931b152ecf94e8c6b06499e900c392c0f3bce47176e8507f6d239a26e45005a8d873c76de1283ef852769e13af0bbea460d81c8534bfdcc6e8699070d44837cbffaa1aeb3b72eadcfdd2923e506d30cc\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-512]\n\n# tcId = 122\nmsg = 313233343030\nresult = valid\nsig = 90ea824d128bd7c3b7719dbe79e0fe4e34660badb908a3b36836c8873e07a62086c3d163ee7b9a0b0f6baffc7df54c97dfa7c456c6b40b72cb8d040178f1e29d076febda7dcf5a652930ead66990241ec1afe5640b7297ba52e919b7a7f9e5b718c66095669f8660781da7b8183006a6a67d2dd0676711b4f96f5f71fa6d1d06c1c7abd52a932ea0580d14e1919e5acf2ac90fb55354070b43a1a42831ba288182c52060d31715f2c3febafe8e8080bc31093f7e688caa3f8d355448d95e4321c097ad27c69e8d7882261ea815b81443e8f24b371976df43a8cd7fc42d839df6645f7e5981ce16a6ba56c4270a8da6e09078de26fb4339d60ed0e376e0aaa69f\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen ", + "= 28]\n[sha = SHA-512]\n\n# tcId = 123\nmsg = 313233343030\nresult = valid\nsig = 2cbb507fa7ac718bc67365071673c813cb83d4f3bff46661051a43836a7fe52b42bcc998a8b92a5c279c133e521bde2da0ee8ac12dcb791aaddc6a28dd7b798ce7c26262d5bab10f240170349ea2a27a9eda6cc7976365e4e2502bb2682fd00db43e0ddd83db8aef14c00a272d72fb691a04da1623ef2da7d137d264025cf17f6a4198c0917b394c6f010b1b42927f40647dc2fe4cc3eea57b77249ad4b0112e328467c75454f55bd769759980f62247babc332d263086e27142926719d86379d3c1225e6561f4982148268099469015aa5aeb7a355e3d4f625b4c9f7be1fbb6acbc2c77083f3130c59adcd62b2d1ebdac296f8c31221d2601a92d220ec03d54\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-512]\n\n# tcId = 124\nmsg = 313233343030\nresult = valid\nsig = 68b59c29001b704995ea8b55ff590832ccea1187172e52aaa5b04b4bb27304097b0ea2c08f8796a3da792011185ba13c7aba58139013086dfd818b7b8a465273b7e927eae6eb4c5d057119b695a048a19047f45bacfecffc230138153afe7a0f0983a0e6676ccf0bfc8beffc7cc15781f7270e9b6a98c278699d0e1f7800fdb2e5a30902773ee1cf73ca05938c582392badd982e0b02f23afdc60a4f6a5f8d3b22435eb814d1fa3d0eb063aff7cb1f5556713c82ebe17c9b4de6a43adee9cf9bddc10979791c01cc03dd07e4554e7a2c314ddc97aff8bee5c1ce1bab287362afd44c1e300da8c1cca49b4b462b0fb83db1473ff852fd4f9d289844101dae4646\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-512]\n\n# tcId = 125\nmsg = 313233343030\nresult = valid\nsig = 1dd0ea7e25ebc9c5df19d58bdc4c9eed06c626061c42ee5b97e7d1e188d60752983f58987cc52bd87b7578c1c25a32fe78ac95186c6af64d6221c57626784953cd4989de13a84964e4064ecb1f7fa4ed7d812d41e60c901080f2cb405b73ef8dc8aa7144e8d2fe5457ed54b9aba0a1d77bc280f9324b035d0d2072ac0b630fb4dd596c92b6cce3e4b6e2be46c63f60d62f2f87626d52d34c846ffca8589776dcca43c670fe8fa816e51c45c9a7cbfd3e4fb9055b05a24d9ac22dffaeca4d8037fd453a8f35c9a118ab2d7ccc4ccd3f26c5e882b3fa93c0774067d11be315447e9daec6b65dbc830891c1a7e71e2aaad14a68d5730015ded60923b79e3023d036\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-1]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-512]\n\n# tcId = 126\nmsg = 313233343030\nresult = valid\nsig = 905f3a6f6450d1f7f202eaa68909cedd73e70422e27c6b66f3f6f057b42f0458e10afc61a537cd06b919103a89967da973ea559dc040ec18aa412de1c4fdd848fd287ff8f8743220f2ccc6d9e30898c982e445fbb986268726f4278d7952f901dedd7e586c729a4c434fc023c96e04ac9a86fc5e97b49e50e97079006cf42c54696d37282a86db2a3c02e496a4717001d3019a54b7ada3775dd3e7b690fd79f5388808449566aded7b0bddcfae9aa4f1344b940a681189f2e5403a5cbd811e308a6c0f65784ebff1fe9ee6908bde5e6f9c6392e8aa54eff69fb5521d57d7d3fe6aed5337ac73d31414c7e3a294dacd9a149eb0e42558e9a8bef9800a06d8d1ce\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d010101050003", + "82010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-512]\n\n# tcId = 127\nmsg = 313233343030\nresult = valid\nsig = 66964c2f2a3194e60ce2aa1f6fcd6f0eadcf525c6b95e2e401d7ac2f88afd0ac1fe52010d830f6a2a3859105fb98713fa188c9b68df7ce5e4d45e49c347d83cf7a1a3ede360e357bb47fb3cc31e0429c25bf5e936bc368391184fb88d6adfdc28aff2bb7fca9cae9c7e4b4ef37c61a7a5fc5d68cb12e5c56a0017b31948b4f0e0267754dc70ee92c5f8dbc3b2e7ebcdec638407e0c08c83e76eecc65f592e9a239aa303581b980f75c2630e3af8d93e8fa33f62cc461099cd9dc1f133ea1f499de3902ed3cc6732be6286168cd3f6b7b0fed005a8645fc4a5855f021302322485d9d694803c4a4275533acf2b1d5ec62ff8c98170c737f800335f84f3e9388a0\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-512]\n\n# tcId = 128\nmsg = 313233343030\nresult = valid\nsig = 63e7ef511358d2a28a71bcf1e143d27623637beedecee3638b3a513dcb0f72fc56c372ce5125e46ba442d6e5e9290a6580ed3fdaaf3f51e3daa34eb32cd9ef3c8c30722f9095f6908fc6dafc22f3bd37d998baa92825cbe36ead00b5014fd50d2371d1245abfd605c6a8fd6db6362b18723c797e0ea39c2cdb3aded821a51f8f05821bfa1b6d72ff661415cca11a5dbdb611d9a74d905298f853fa2cd2b1eeb74ffcc4e2c2955fe8db6a1c2a8014918fc0e1e0c9549d74e45287742ff4bfc8a56856d0d4cf89815da4f223d3f8b243cd7a2cca428206b82e28617d9cfcd35cd029deeacac03f8ff7ef72f5010dcdd93ed07388b2482db0ab260e1022a33eaac8\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-512]\n\n# tcId = 129\nmsg = 313233343030\nresult = valid\nsig = 0b1423677cf21905e2cc0dda60e27f749c56049bb03e61794a43f37b84b2e5f247ba9bd79050c5a601a7efc2afb42a7936d543b916e24de1ca1e666add1bd51337caf4cf2f88a4c202e53cb5071d638cb41473d4c8db4126e312c711405cab1d6e05414c43b9566b3cd0b72da3d0753796a81fbc1c950c2aab48b34d5def3140e93e0a8d1023374b9687451c847cdad5544b05b09804fc9727bd46bc9a86f0aa23f4a7715a0fe9a9065782ce58a3a53c022f4fabf67146c3c919cd1069a08bd96e44746e1a49315926ee06af8d76c4339f23540b36cd8b07e14d7ff63d38461af49927b53e7496ed6beb855cd740628ec0021768293e7ba86c03cf88b2ee7926\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-512]\n\n# tcId = 130\nmsg = 313233343030\nresult = valid\nsig ", + "= 9cd79fcf9b87e3a30f538cb7cbe94d28f76b69335f6d49dfd440210a40dc811a930b76533f789f4e23905e688ec010689e27415c5600eed4da4815db1e6e70f0adc9ce47697947e0dbb23d320fc277d473d3de7abb75837e24cd9829f5993ac35a427c172f47046e485e47003bb8447f1406b14aa495ba4b4a3cf8e2caa1b44f0718a04650dbbe749bd27c0b69ee3c7fb5ee956d0d901b5e42f710d4a3e59b3e72d70604c6d7a7a4d1a3a2763648a891107d3b14988581523356295f42cf77b7cdfe3a38e55463a39557d5ec543710b9c28e27203e23bf8cd81a2e018927a623b84cf010e40d8859b304c97e0c06c67ea017d70852ba28eddbff22712738b120\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-512]\n\n# tcId = 131\nmsg = 313233343030\nresult = valid\nsig = 90cf8affc567778bb47d0b50147e51a10324639cc17b5d5958c4e318c49a22f2bc3421129a24702e1605b3f8fffefe7847f679c91a64e56ef874dec27b4540b2471e79609067c7871cc76d717945bcb558605b3eb4b33034bfd7148d591b837ac988c0cc3bb2372c9594e573a5d5c9ba5c23de5257ce8274f60fc5ecf35e8889659ecd77c2d6ac74898fdedd3c542472a6e113acac5c8aa35faa52ac0deb3ceda9f83d2441a8f441dd997426848e461c00f64ddf6d5659dbeed8681d18102c94b3be137ef926840cb47027006f5699dcfced1aaeccca848fae72b405f4e34c5ef9fe8d15fe6b565216c102aa8e9319289f2dfeac735c8a5b95f991a0fd49be04\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-224]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-512]\n\n# tcId = 132\nmsg = 313233343030\nresult = valid\nsig = 4b88759bb96d67cda87617a09d625f5bb3b7672dffe031c3b88c3d8e67dedffc7c84f0f1f754cfeb4181d0573f2a88ee4c98a10dea1a048712472c724ba81bc28984fc48169a535538c13566f3ab3d2a51b270c4b2d55e4a82292c084b4f4e6a58e473fe7f39015fbba7d34083b7bd2134ca63330f0dd1997d0453aad7dbded4b3175f9a69607a8799e7d3969280c8f5ee010bb2ec7c151ca3c8a6bf49c2ae8eaa470998f390d12a4a7c0a39371a6c63d232bc09a647750aee655a721f066560e40a6f899909e72e2c3bf52e70fbcd26a37402b1e37c2c7bd88783fafba07265985d3a7955a5bc14cd0d0d10f1e9c67f6d98785c9c1b3914a7972cc2b1eb10ff\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-512]\n\n# tcId = 133\nmsg = 313233343030\nresult = valid\nsig = 1c8818df1fd23ec704eeb6868ed1bb8419597f4128b5ffa52166458312f42cf45e710783eab39de511cae689f1d731cb4bcc825829a4773697855e7dc84c617f459dacd58272e75fd2eeb4db20d6f956033e939952614318c3bb82276bb426b55a0deac14b831e75500134298dcc05749426322ccecf10ddf3c4eb49f2ae746d44e5f3f229f9e2298312c0b9168fbdd2104216a27cc1e720cb8e28d9992d841e52f31b2a016d896529fa1cfd7755d363bea1bae565e579663e5b7e8c2b9e0b85e77d7f740232db1978a920c8358274bde475f38794864b08c0eec5bd176de52c27b10f29f3ce0c41b2ae23b091b7393997a436c158cdef76beffd200a4e443cf\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf", + "69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-512]\n\n# tcId = 134\nmsg = 313233343030\nresult = valid\nsig = 0399ea1e6bede457e1046f2363e1db44f8450cc452845c47639f300f192906b7d39acd60ab03df06d1b27d15ca473b9b0a339eb8d63ad6ef2a148b5cddcce79175015241176bac81e6b8cbf87fe256167fba8d3cf2dfd145cba2a8d118f980cf279989d3c491b73fc123d91cc99a4618d21e5ad6789818f3a99a337959adda18fb571867d3a9eb50956dabe7e6b3e64d40bfdd5d5ecf1ba2af4741d3dc2a9ae2e2222c1881da0ebec621636851c46990f24ddbff9c3cef15533a5fc1794f365415e5d948b64877053a93953490c8f250488c9933f2547a89d1cb599ee5e7f7dbea2626ed343c63eb290b1e9098269e1115a2f5995b71aa2617235fdb0666946d\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-512]\n\n# tcId = 135\nmsg = 313233343030\nresult = valid\nsig = 12f0c2161b8f7b4bba16d19c4c6acecd554bd091c6148e92a24f1d73ee6fe7066fe28fc5b066dcf7391967f23786feb935002a0e6308427c613ccaccc74b9aa24e1425785cdfbd8720db37d867d35d09973cf4c9bb549b7d4ef8c85474252b1f760b1a81f79ccb540c0990e6a20d9a0eb5b6c101d558f8aa4333375dc795ee1563657a803c9a63a2fb957554d4b4bd6ba33f2a6b537c08965de4421fd83de78fa5ccdc1d9fd4597568e44f16b60afe961668a0a821b8aee5834b0d527c115abb649c73c994fc6ee641d44773192574d9f330b8664ee07261858d7b5dccbf27dc9452db31fb0e59870217c4751c5247565d2dc94568431f3451dcf6874787633e\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-512]\n\n# tcId = 136\nmsg = 313233343030\nresult = valid\nsig = 09c14c750fbf2c5536b8440173357de03ecc9018679af1ddb1a36dc5b38582c44ae5d42d7e0031f738191171baa6e72562c2915ae7046489a4863d7b86afd634c6ff44b2a9af0751fa84d5054f0a93971cd7c36b634d15489d75386edd1b15e6f9325eec84a2a7879e7c80812cfa387e5b620533e03e4504768f2a8a0816938959b1e70e8f8ca14d1f8809a398d98c155101363e32ab353d10c5e0a3fbffd692665f5b9d34a09d9082fcd1cf733e0f37aaad82a8512b66debc119899471d61b33c7f4f3d4a22a45fccfb8640bc2564e679ba4b6e06cdc05be7cc511e1205b25c4903b7641bd6ed38df4a8008636e5a716c014906d5a0caae3f3d5650ce3408d9\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-512]\n\n# tcId = 137\nmsg = 313233343030\nresult = valid\nsig = 47510e3b9785b68cf1524fa9eaaceff81225dd951103507749bb49b23a4c2c5503", + "727c716719feec97b79d3e6051c34982d07ccc361842bc0c92213732c908e8639b1d98a0f7bfc34cf801f96fed23c4d5e25c0837f222ce764fe9d521e4499de93307df29ac4e5c2dc92e0ea65e97f55df7493d96265b048f24260baf8e8c3ae55f44eaffa3198bd0e6e731be13cd43f13d40e354d35c132bc8514bdeccdbb1bd6a3babd73ddb8d51db8598bac7badf1180ec2aaae8494c06c43e5d2bc988b50f2bbb72c0bf8a5529e4618bbfff5356dbb47387d0893cdd601647f46deddfbff81b60961d4c293c3139d046a526398a9cd8cf605cef5358945ff0330f113e3a\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-256]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-512]\n\n# tcId = 138\nmsg = 313233343030\nresult = valid\nsig = 14bc1a7955b30cb603f617bcdcc12405a873b1afbdfcf7792a587f1aa085ef9411cb088c34b898234704286d7f09ae1586dfa3a81d4c9662ba26674c0d5ea966184e3578c5c4a926df87d75b149ea9493f5d5600deeca05f76bc445421c25220202c154bca83a216a1d6efb0b9233eb0cb3e787be2f373de8e99996483f39c92e1ac9f18367717cc9468f6e745e25abad55743fd2b59c92f840cef0e5df47ffeb83c5800e5fd486b7516a55c7b05709eb21c8a8575e41bc567739d5f1dbe95be8d43f27769bff55fe1a4dc855cc76bccb3ccf27c68d27e3a65829b1b177015945452254f5f96a96c363ca56969201fdab187c9a6c991afc932e2991837451922\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-512]\n\n# tcId = 139\nmsg = 313233343030\nresult = valid\nsig = 49ad57af4c93b5e714a83e1af3410a9020c47dc9baf25f52c19652970bf70e918780f48c3dd59a6b816899f01d9b47b7af2821ee4ab76953a2b706118eec13f5a0f442278cba1c6b72000891e0b832dfb97c7a4e5b09971c133324213820f1c7711accaf8ed1d099221e8ff6e0042ba1b0b38257a94bb621508c584f5e39c8d4fbd512800f9483dc84f99eb2a9ba9bfbe5aaa8cfe1691cab0ad87dbc354ea49b331b26158274d348620ca01d872d929e8e01d6b9815d573b83bda1623136c55e81db7392b5daba5187a09a883d58cf0687a24d019172b843e327ae507db2dd2fd84dfd25ab04b11cd4b02215fab23bbca886279091e21ffab8d7d5ad49e16ba7\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-512]\n\n# tcId = 140\nmsg = 313233343030\nresult = valid\nsig = 8afbe33b98f8c30b36acaafb3d61bd83175499bd5961ff3ebd340bffce9a4169b59768e1e3e5913c2bb411b5bd495cc92d7c04d65816b3c13b2e3ef1fe6076dc910e75f477677e106e3d5d94a784c378ec13b66dfc1e81c2d0c8c9a9156af52a12757884be4cb9d0afc6f32c39c427766db7e3d07c6780bd5fa62c05ca32b85966ee6291e3ced00d00eff0cc51d3c19c7e1bf103db0c85ba5e9e2d130e5136f209d6cf8a7fc18670264b7f392a68c6d6e6a5d3eb370bd5a194f3a17436ff2495f373c4dbb45de9a0575aaa4a2c9da84d5f1adbe15dce341a8b3ac4e3722b0aff0b942e522d8bcf54fb0d942997568bee3324587d0afdbbe578c5b3f50d5f47f1\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8", + "980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-512]\n\n# tcId = 141\nmsg = 313233343030\nresult = valid\nsig = a91b9cb0025546f2c6696630ad22530d2b41419073541a5d13ac9b739ebd9aff8f8e87f405d5151a930df8311240d6131336a3e55d33166019be5bc97e5209551df0d5b69be224af9a15eab57ab748c081e25b9e6aa68e4db0937eb4bf190ca46689bbbfc4ea5fd4745ef3938a80404ed9dbffbdc423238404768fc513604732b9c30f97fedadd6b8e3fae4e54c574d2da6ba93eeb700541df688011c59688afd11accd6c7c2c0f0d8e5b06380588a5bd6558fafd764446920b21f43af7f9590c4c20b8b90e0acdff1ecdef4456d1c6e898b2e61e6f9ce743063c6c08d1a1182b5d58edb902af0a78e9df5ad6d84da4b5109807a2e6345698c9c879679dd6c7c\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-512]\n\n# tcId = 142\nmsg = 313233343030\nresult = valid\nsig = 9a2ab2bb0264c95145d3a0970b8e66315f93ecf679e92f5fbcec1a4fb5a3f2ca0dddff5d42aeaf6cfd34e3c2a0edba2415920478be0fb23cec4f541c3ef51d4663a85d1b00f84ca069bd8405bf68902910090e3db749b5e46995b05ac28254120d8a95b6d8cb96d1bbef9e796f2cf44e6e539494d07677fadeda723704025edb0e1e48d5c26d584ac61ae3e5e363e99aaa1daed11e2cf9b637d4fd69b1177727a3205c077c1d368eaf3de56e57022629dc93b2f7bea2914036ce5f5c154fd6e216d2ead20b65efbff9ff0197432ecc01ce04993f7874853a80a8c98bc66022bfd5c40cbd8726ab3b51c84d34ac67018e6069f06c2f7b2d9c700404e9e0a23b16\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-512]\n\n# tcId = 143\nmsg = 313233343030\nresult = valid\nsig = 60683e995f60e1cf7d944eac2f0c6dc02a002e89a87b4a0a36378b6247a04456166ca2d85bb24260da59b7ae84e4191f95d15851afb8ceda6765039ef769d13efa89bf081e6cca52753e28de225015e2ff81c9b39d9bc759003a9292c892b5d9c6584cd779180048a40c75378cccec47a84b4097da02878c42423beea50fcd29a5eb7b67ed3a06eee2e05cd4236d86052bff1145a8cd5367cb15e2ccc792636f0305d90aca07d1e3c011a617f0961b938c6ce943c560c42724237ce4965ef50e7c98e52e0d18797aa65150042690dc8604f463104e114a1fbdd7e9ab2646e9c759502f2fd0e2fbd331c92bfb4168b638f4d8873e0e048cf429d8a9977e313029\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-384]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-512]\n\n# tcId = 144\nmsg = 313233343030\nresult = valid\nsig = 7dc5457f6f8aa74bc2314156e2efca717c2360d57a8c5ee396dddd6151c0cc89f356e3f14bea1478c7bb4a54620a73d558be246fa884c41314472bb9c9866fbddb5727", + "b0976593ab6c6635d8258a7dae326dbe65d203951209f8ece46a4132efcb640bcbd7990a6f0c138b456688d268150396eed52b5553f091f4888642b18580977d80680bb9c1194968bed4b0198cf72d1ed4631a6c16f6ea562c6cf344b3f8d1c2fddbcede647c91d01312b3609345d3e32df899fb981f070ed1c0740d79eb19f6d54725c006c0cfd961a2943391baa2a32e4da6dff7ed0a2a61fded39a85ee642c1e219d9ccf93faf80e2c2135b0de494f8cbcec5bb77f75148e83ba408\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 0]\n[sha = SHA-512]\n\n# tcId = 145\nmsg = 313233343030\nresult = valid\nsig = a289625f9fe684d186604fa08140f7d522dbec8ae6266ce83fba2b6bc6305e2e27bbfb346165b4e110e1b3e9445ffa8933e5417dbd87e3084835b8677ae439609616f7b755bbbad33ed0257a170a3964b85b3cdfbce43ea3c550354a92ec8e75642b039e2b4d9bc77b84c6bc7f2f2a43a0a403a1992e008786b5e9e43fbe71bee787ecd99501f1204921f61ec0ca83f1a8fb7862efe69b104d822ff5170802d510fd55cba7dcc2b695db905bce4c07a702cdecf24381f49a9b95d4805f1eb51704ea198653f43c3f124a4347ea1becd138cc3fd43e813ed823c373a35eb9060bcbb8fefb1c453c72f1f6198747577aef14ad3fe144b7d8de1bd6a123bd9f3f96\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 20]\n[sha = SHA-512]\n\n# tcId = 146\nmsg = 313233343030\nresult = valid\nsig = 740cc94a43653655eabe5a2c9f883a3784cbc5b13161e05ac0849cee39b2e8a42a0f53d14b47ff61d143584797ad0889b26de17b0c27c79a69a356e2e3eaee2b8675b0aaf68dfe682df23463b9b780f5b4d6681c00b27277e4e7839a333b022a16e7b75418fae9d5f5b3b996427d518eb1a696ac83ce6c5107efae577859b814100f19c52708481ed03d038a4cf6039f91bf72f4788dba51179e3c95c750a9432af1044f7cc758572ff11c537add14a6618d0fc1064f762485a0ffebfb0cfaceff4602367a231cee6ea2c8407bcc88267f42189c02e3438e62e3825d8667d1ae221494d4e29626caea3a7f5d2284f18862512cdd4cd9cfe1d8d57cedc9960299\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 28]\n[sha = SHA-512]\n\n# tcId = 147\nmsg = 313233343030\nresult = valid\nsig = 9a8092d3e759eac9374356b3bda80d87c6cd1f1188dc894f48bfcc2d15e99c65ffb6353510998a360f28bd636c61edda93ebb903029feae9b2c3935b2870f9a3f29e044f3ccba9a08357226d48f760158cbe5bfc0d7c0a2eaca0b1b167745bf26ea1e008e7377a085f4bd685fd5ada6602758e27541e6f270adf6d5b1a2b6c65a3757c5b3c4c29284e7cadbd39f4cfcb4253e959945651c60eab57ac0170da7ccb0c8d72e760e603c755a1b1e1356e968989cec1b9e1273ec2c572ed7dd0d0d29c0ad1e77692b0d79ec60657fc21b746168dcdf0d05a3ef1f37a4ebfb199cc167d94cc2c9b75dddf113048326797a6cfd6c9a764a6c71131e5f5654a93fc83a7\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba78", + "65dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 32]\n[sha = SHA-512]\n\n# tcId = 148\nmsg = 313233343030\nresult = valid\nsig = 3522943f158039aa68354e3c51eb6d9a496f5c7e7c33bfe9a20cf98caa710b88b18ecb6d73177787479d5064ce3deddc13f98998a7207118de77029e8fd5f012a9e056b972a974cb5b087b6564821af89ce3b64348095accdea8ad7d05cf3d21d6208365a1d2fcce7cd964295c963e5fd495448c0926de0950d12c42e056595295c4376484fd7d0dc6feef3dcb41ec5a0dd21eef375e65523bcf5af70a92331beb0c6b5ac445d6a06cbebeed0083b746b3d667aa366c647313389a2d9b61d41eaed8cf2db8b4938115700967432dcc4f383278b4a397afac04bdb7c2f5f6051854174d85fb96525c2ab7bb58c0ffb481efc29d08e4ad1a86ccfcbdcd98974862\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 48]\n[sha = SHA-512]\n\n# tcId = 149\nmsg = 313233343030\nresult = valid\nsig = 45d8ed4982ba484e0bcfca14537d607fb6c3f8f444425bca05cf29bd5f92945f0ac211ccbc78d934f6fd24131ae88483547aef01b4e70acd6f84eef74d4a2de40b4d15d38a0807087a54ece36f268a60b70c500b72fe0ff49920c63c0cbde6e0d9100f4e50ea3b5e11a595f3755878bb1e03c295d3e73f1ec32d24d629f2fb469cea48346c057abd64f6bae4cbd0fb89076a1e42bd5260cc5691fee46762136f936aed35cdb6e1579d586fc4e166fe252778a379c134562175e17eecf758c11eca66ad259aa9e51e504d0d317b1715bd224706d65418a4601612e482bf95c1e9e9278e5401bdf1ed24118b908a8e42c562a76896563fe4c04d62b8abdb61e4cb\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[mgf = MGF1]\n[mgfSha = SHA-512]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sLen = 64]\n[sha = SHA-512]\n\n# tcId = 150\nmsg = 313233343030\nresult = valid\nsig = 63942e89a56b634787dbf074e75b0525e8bd3b7b8172f2c27499272b939a812ce2f501eb95a64603f9bc7c2120ef2f7133c3b2a4bf6445e2257b59e57022c879f8d60667ab8e28dc972846670858fc0d5bdbfa71dff870aac96492214533383d8740d84ddf61d46f852c6bf0bfb2d10c2e4d41ce7eeaee028333dfe77650b53e66cd2c2991b80c32faa33aae27b1c30c0ae2abd759c59eb22e0d0597b6dd63491e0c95048c074b1d64d8f356e637669d90974f4eb29ca184468bc1e2d24cfcd36e395c41cf3703cdb1a5c206fbdd4763154e5569d04d75998e6f425bd42f80e0dcd8deeebc3322aa6f50aa873345d7c9a0522154b6de2387664ae33764ffb2a9\n\n", +}; +static const size_t kLen148 = 236014; + +static const char *kData148[] = { + "# Imported from Wycheproof's rsa_sig_gen_misc_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSASSA-PKCS1-v1_5\n# Generator version: 0.8r12\n\n[d = 5ff4a47e690ea338573e3d8b3fea5c32378ff4296855a51017cba86a9f3de9b1dc0fbe36c76b9bbd1c4a170a5f448c2a8489b3f3ac858be4aacb3daaa14dccc183622eedd3ae6f0427a2a298b51b97818a5430f13705f42d8b25476f939c935e389e30d9ade5d0180920135f5aef0c5fecd15f00b83b51dab8ba930d88826801]\n[e = 010001]\n[keyAsn = 30818902818100d0941e63a980fa92fb25ed4c7b3307f827023034ae7f1a7491f0699ca7607285e62ad8e994bac21b8b6e305e334f4874067d28e304230dca7f0e85f7ce595770b6e054c9f844ba86c0696eeba0769d8d4a347e8fe85c724ac1c44994af18a39e719f721f1bc50c46a39e6c075fcd1649f01f22608ce7dc6955502258336987d90203010001]\n[keyDer = 30819f300d06092a864886f70d010101050003818d0030818902818100d0941e63a980fa92fb25ed4c7b3307f827023034ae7f1a7491f0699ca7607285e62ad8e994bac21b8b6e305e334f4874067d28e304230dca7f0e85f7ce595770b6e054c9f844ba86c0696eeba0769d8d4a347e8fe85c724ac1c44994af18a39e719f721f1bc50c46a39e6c075fcd1649f01f22608ce7dc6955502258336987d90203010001]\n[keysize = 1024]\n[n = 00d0941e63a980fa92fb25ed4c7b3307f827023034ae7f1a7491f0699ca7607285e62ad8e994bac21b8b6e305e334f4874067d28e304230dca7f0e85f7ce595770b6e054c9f844ba86c0696eeba0769d8d4a347e8fe85c724ac1c44994af18a39e719f721f1bc50c46a39e6c075fcd1649f01f22608ce7dc6955502258336987d9]\n[privateKeyPkcs8 = 30820277020100300d06092a864886f70d0101010500048202613082025d02010002818100d0941e63a980fa92fb25ed4c7b3307f827023034ae7f1a7491f0699ca7607285e62ad8e994bac21b8b6e305e334f4874067d28e304230dca7f0e85f7ce595770b6e054c9f844ba86c0696eeba0769d8d4a347e8fe85c724ac1c44994af18a39e719f721f1bc50c46a39e6c075fcd1649f01f22608ce7dc6955502258336987d902030100010281805ff4a47e690ea338573e3d8b3fea5c32378ff4296855a51017cba86a9f3de9b1dc0fbe36c76b9bbd1c4a170a5f448c2a8489b3f3ac858be4aacb3daaa14dccc183622eedd3ae6f0427a2a298b51b97818a5430f13705f42d8b25476f939c935e389e30d9ade5d0180920135f5aef0c5fecd15f00b83b51dab8ba930d88826801024100e882d12d5f0be26a80359f13c08210bdcbf759dfee695313efa8886919659b064e3c656a267af6275ed1af89a5dfe9e25b31a02bafbd59445b7507a22989a681024100e5a65cfa668bd857d59135a78c18c8adb7c222368e9d74abad8e83299f7ac3c2ad7aa44ddb05deea6d9b20dbaf09a8615284a17c72d3723240334685ea7e2559024100a327c8e8f19d4150428f5e055a3ceaca846a19e30d45534ad60d894b56caf9b1bf0c9a8d965b0a882dfd2e1485154ee5cbe052e8d4f525c2d5fa9554b1992a0102410091f17ceb411a247e056287f79787f498b9cc2d1400e43dce10b91dcfe8e30adf80820d42d12b54f4247dce8eee193421cd602e843930f944c81a0dfa730081d9024075915a454770b49082423761244ccec65a6e48ae9966344b675610facad9162fa5bd1cc5108c322c2fb3c144f807773a2c7d097f63e5c8d3bd8ce8efac2ade04]\n[sha = SHA-1]\n\n# tcId = 1\nmsg = \nresult = acceptable\nsig = 03e64d148e05201b021fb5d3d72ab6abd4294be6c1673277ba5822ad2fe7ce4bb29ac547b2fdf09c2894ea0e31e76f1b3e1937db91c389467e9a8ac7be0a4f674456f01c5b4fa4277a26028b49b16e25689827d0a4b9f1c25a63350dc15131da908a05c7cfa8c08a67ac9efe3b0cd04aba7db12064cbc36729eaaec540c4bc12\nflags = SmallModulus,WeakHash\n\n# tcId = 2\nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nsig = 1d19763e80121e228ac4dbb3be8448560aac613ec74b168efe1d8a8335b77e6d8c3cc0f641de8c8e26a2aff9d32a4ab77340912fec0e60e89257b5b6b19c8deb866c2d2349fe63a06ac6b72397b478cdd4198ead64f8d36b9df29651e95ac7b886978cffbb5f7498f136b1ded7580cbcbb31620415eb71cdb5bd615b47eff813\nflags = SmallModulus,WeakHash\n\n# tcId = 3\nmsg = 54657374\nresult = acceptable\nsig = 0891ef2061c4d3377744cd7243ccc444619df533f4eadee216f7ffb9244e86d3e0162fc82c0b9502dc7aeebaf7884067e5f18f21b395c43bbfce5559ae84157ffde2aa457b7f44675e706af443acd9e38070428dfc6471a24cdc0d44f9283ac158704ad114375f10c24e3adbd12c55dabb78b8c41d3938124acc74126c82bb0b\nflags = SmallModulus,WeakHash\n\n# tcId = 4\nmsg = 313233343030\nresult = acceptable\nsig = 8277e8984d536f81667feeee7e24068ca5bb8b815210b3e9fa82294e11cae92c45164c9dd5683be4650e4b7709eb8879f793ae804620750b26032894e53333158f6afa6b52318e6c730a4a55d5a0fca6d029744f2ecaa2e00d3d6dffa0716acefd5c91afeda74b7f1a1bd7e635283bfa2142ace513da24eb8f25f3578a401ba7\nflags = SmallModulus,WeakHash\n\n# tcId = 5\nmsg = 4d657373616765\nresult = acceptable\nsig = b41191a7a1d11e973600e9a28c8d6e6d1513f7d970cb05ad50c686bd6fc42b7848559b2b3073a8cc9839f464d82f8a7d864cbc9698cc1a4b5b8c8103d07e9d79e5d24e1b3ab69053461bd76ac3b62935c31ef9f0c44120bf5c0a012eeedbd2a39d347cf6676ee8c81a88eb87eef2708edd793ebb79d6fced626e6475681fe73d\nflags = SmallModulus,WeakHash\n\n# tcId = 6\nmsg = 61\nresult = acceptable\nsig = 29f69d320ea3221cd0704300f456295becf54e877c2b9b2704dc47ef992588c7dcc1648d17172d8c76362c488aadb3437be488fe667a192c5db1440f70d102361d7e85ffab370c7bdaceba0d15b1f32ba0801ccddc9fbaed1323834a60d19ff13ecd46a27f06e79cb0d3aefdefc0c69d8e85fbe8761d83f35e362355ba675933\nflags = SmallModulus,WeakHash\n\n# tcId = 7\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nsig = 9aa3040e7df724bf506881f6a92a133ff76f6a168f0f3ced70b3363835ed6b655fae6f39416555af4071c16262da7556412d9905279d666f9e15fb8a813b313d00007cef3ed2be306b9e29e6b69c2c5bebe36aa057feba44ccb6c8619076a5b23f39729ef78bd6478249f34ee99f3abeef37c504410910d1ad3f1a712c8d697e\nflags = SmallModulus,WeakHash\n\n# tcId = 8\nmsg = 0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff000102030405060708090a0b0c0d0e0f1011121314151617\nresult = acceptable\nsig = 1fd0610221104c3f1e7f49d4c77c48bc169e630d5471e41100ba58dbf0ee0d4731a3d5b3c8cf9b07ad116e6cf65787650fb90bc85a9c4fe9940f4754316772c4946022178a3becbaa3d9b6252ed1353f7de834e0ac6d95d5a1f81453e89650f5690dc078df80dfe8ab614ca4881e7b001f9a11a4464b1004bb537f2b99624deb\nflags = SmallModulus,WeakHash\n\n[d = 50f854da7dec301ab50d81761a575b0436ee7a6445ef359b7bf3ef374ab323883dfcd6e6c2c43fcc1d71d0d6408faf1f5992c69846911fd2a438068fba46fea5c108f95e307fdf3904c1cba6f014c6555a79679b843e5397e2dffc5e349d7b8666bc3c5e411f39f0f2585bc7bda70b84b8f5b08c9260b39d3e8603c88d128fc1]\n[e = 010001]\n[keyAsn = 30818902818100dfbe6f882c8b0c42c3229f29cd858bead25c213b5c0346c3052f844b045ac792c81c1df5ad6a66e9d4f3f7c11096f069f5fc0d1d7da555c6e685cf672ab2a6599f01605f50c93a91d6882f5884e4cf3e9c41a790b0c44247150777f95acf69312b0ed68f3c82693e6b67f0e1ea5927c0eeab3554c2c157181f4634e77bcb088b0203010001]\n[keyDer = 30819f300d06092a864886f70d010101050003818d0030818902818100dfbe6f882c8b0c42c3229f29cd858bead25c213b5c0346c3052f844b045ac792c81c1df5ad6a66e9d4f3f7c11096f069f5fc0d1d7da555c6e685cf672ab2a6599f01605f50c93a91d6882f5884e4cf3e9c41a790b0c44247150777f95acf69312b0ed68f3c82693e6b67f0e1ea5927c0eeab3554c2c157181f4634e77bcb088b0203010001]\n[keysize = 1024]\n[n = 00dfbe6f882c8b0c42c3229f29cd858bead25c213b5c0346c3052f844b045ac792c81c1df5ad6a66e9d4f3f7c11096f069f5fc0d1d7da555c6e685cf672ab2a6599f01605f50c93a91d6882f5884e4cf3e9c41a790b0c44247150777f95acf69312b0ed68f3c82693e6b67f0e1ea5927c0eeab3554c2c157181f4634e77bcb088b]\n[privateKeyPkcs8 = 30820276020100300d06092a864886f70d0101010500048202603082025c02010002818100dfbe6f882c8b0c42c3229f29cd858bead25c213b5c0346c3052f844b045ac792c81c1df5ad6a66e9d4f3f7c11096f069f5fc0d1d7da555c6e685cf672ab2a6599f01605f50c93a91d6882f5884e4cf3e9c41a790b0c44247150777f95acf69312b0ed68f3c82693e6b67f0e1ea5927c0eeab3554c2c157181f4634e77bcb088b020301000102818050f854da7dec301ab50d81761a575b0436ee7a6445ef359b7bf3ef374ab323883dfcd6e6c2c43fcc1d71d0d6408faf1f5992c69846911fd2a438068fba46fea5c108f95e307fdf3904c1cba6f014c6555a79679b843e5397e2dffc5e349d7b8666bc3c5e411f39f0f2585bc7bda70b84b8f5b08c9260b39d3e8603c88d128fc1024100f002a2625626ade6f48c6f981017968124de0e2a8fa38d6bc4853e1bd0b48ac327610f5e566f017bd74bd5134cc9fedc2625f0f7370f42249663e31dd58c4ce1024100eea660e905c086faf3d3ea3a94f2f9716a0fa760c170edc81b64a05cd5289ba8def634500068682dde0600531b41cc3565e9d6ec3b4ca3f3385e85a843e936eb0240667ac979318ddc6d23f81ee20fe4f2777c1570790dd1e8dd9e10c27f3ff306d8e324975a518f", + "9e53918f2890d015e3c37e6a6ee42fd74d07b04b403b89e619210240609d72f663a1c203aedac824d75056b417a026bf01115af27c448cb788845c204dc397021c68286509519ca8088ce6c36772f7d3c35e0fb1d3cc5088029653e9024100b1bde8f7c203566e12f11e23319aaf9cd671e25579a22d6d153eeec123b5ffbe7fd6ae6a0630ef956640805b9231d9b5da97a0d1d83b55374c22885ebff7229f]\n[sha = SHA-224]\n\n# tcId = 9\nmsg = \nresult = acceptable\nsig = 507e6233a3c80971daa07c13f34a532d53441e196d642fd6564b347fdceb865c55dd47330587622a30f8d4ee66bf8f163c626f8dd26b313bb4095ea1ae9d6a96a24365f4c20056998eb9d1e3f2e1c78257361e5c21e5ba76320997e8cb30021e8f11a580000891bca3537d7a2c0972e06844f1a01a1dbc9a3f8b8a2955f7005f\nflags = SmallModulus\n\n# tcId = 10\nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nsig = 414de39059daab523a725efe437d688824a43689766b33136aa3e6da0a2fcf1c2aeff952605c2f1a12a29e36f282e59631f442af96c7659e0717bb24807835aa06f034906670b042f8db1cdcbf3c54e25472383b6b9097a09bfbd73b2e7c10e18731c6bad47af591bdb2d376680f6cb62048a97c19f23a70e98ddedf02786efc\nflags = SmallModulus\n\n# tcId = 11\nmsg = 54657374\nresult = acceptable\nsig = aa5d174e95f9a1ff88c1ce60b3aed1d39e256e28b0512cc4b52be1d41b8ccfa2a739945aefb5b697886f4f08cef365d18bdd8151acc588fd4ebf2aede9bdd904aa3481822206f3fedc5889c9f9889a8dd4d160d65e587ee228f9ef155108cb283c4e2a697a1e739827cb4a9790f96023e6ad24cabe51741a7c7cea8c52f08cdc\nflags = SmallModulus\n\n# tcId = 12\nmsg = 313233343030\nresult = acceptable\nsig = 54a81c62bed2f716feb2939f504db144c1c3b70485a1f35b2871ede567ffcdeb8d2ed0c57c56f21b70388d631be05b4c738e67f160f34ec42f236cef92b03d3dc8e50145b33e634a6fad8e87f84624e96feefeeaa91ddbb003c3969017dd2d102da2e7d5de8ed298139d5e503e0aaab136fb583b99ece2e6b1681699a04b977e\nflags = SmallModulus\n\n# tcId = 13\nmsg = 4d657373616765\nresult = acceptable\nsig = 11890613a8ae298c21bda95fbe4059c37426f41ceccb7bd79598c72ab4662e012f08b7009c15155b5ae9d132b4ede565963e6014241305279d60662f57df7119e5d4088d32bfc7e0847036f41ca71f9a92660f90ec13ee9e19717d0b567ec5a6b5978a11337d5ee4e9147352fb954817be04fb767ef35c07babb03fd04a31338\nflags = SmallModulus\n\n# tcId = 14\nmsg = 61\nresult = acceptable\nsig = 0fd461012145fe0ae9362eef22ee35dac0d4751a037ce4cf0792012bb179d101f9a9752e5ebc5454b18684fa1b557f3136ae68edc087dbfa4bbfaa59be42d0daa84b574a9f23238d4d538ae3e6c32f8dbd98b1138b545badcc10b184428fe2707aec73206367f147196f7b83f358377562e8c7d9f1d396a1cd9aa74f8a78cb1d\nflags = SmallModulus\n\n# tcId = 15\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nsig = 307e421e06bdec1fc1750d53529f5f007eddcc991af8351477e1d67169409e3acc93367fadc412a4554854004c4a29c8af4af09793e55967ed439645034cc9e9ae565edfc861e04c763d058ff3aa29bef3942277b4c971d830be1259aa30c125a6ede65971b0120758c2a6eb21f238ff18228f344155ff9109a0f9656cae2351\nflags = SmallModulus\n\n# tcId = 16\nmsg = 0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff000102030405060708090a0b0c0d0e0f1011121314151617\nresult = acceptable\nsig = 019682b9c934a37ec166efae16b5ec75671fbc6322cdc91bf56a6f557001b8914050852ed7f13e96cb47fc5932a311ee677ffc05c1cf6589201b1a806f2ead9ff3c7cf327c391044fee073527a791a451a0571e50bb1e4b4f7e40847dba751f2d73f2ab2f5ab11724be81c9fcfded5a2535b593287e120870138e5534292104a\nflags = SmallModulus\n\n[d = 008505d47c271560aaf6cf65da6d5594a69c86f01622ea194071606fde369b65f5a751bce06052409c3a04c6a8b2be935bc0d084829dea8ea0998398fd2a0b0719ac1a1ae2d133fcc72d9df27b377b9a0109ef1a564e92b66963356b8da48f88fcdbc20658f74b542582925ec5cd03fb5e9a527c670465f792a69c1f6c7c5e1841]\n[e = 010001]\n[keyAsn = 30818902818100ac9048a7a4f560af91b4fcaf62a14595cb9ca9ec12000fc845e48572113cab2890adb011a919575a40760d1f23fe92509c8a5810b6d05990b909dd0f4c6014f2b31b6abd805bace99816e2eda41fd7b95405db7c5c8f4cf6babb14f550d5d0dd5179b54951fff6aa9686f30f478db649b7c7044cc202dccad00343468eaacfbf0203010001]\n[keyDer = 30819f300d06092a864886f70d010101050003818d0030818902818100ac9048a7a4f560af91b4fcaf62a14595cb9ca9ec12000fc845e48572113cab2890adb011a919575a40760d1f23fe92509c8a5810b6d05990b909dd0f4c6014f2b31b6abd805bace99816e2eda41fd7b95405db7c5c8f4cf6babb14f550d5d0dd5179b54951fff6aa9686f30f478db649b7c7044cc202dccad00343468eaacfbf0203010001]\n[keysize = 1024]\n[n = 00ac9048a7a4f560af91b4fcaf62a14595cb9ca9ec12000fc845e48572113cab2890adb011a919575a40760d1f23fe92509c8a5810b6d05990b909dd0f4c6014f2b31b6abd805bace99816e2eda41fd7b95405db7c5c8f4cf6babb14f550d5d0dd5179b54951fff6aa9686f30f478db649b7c7044cc202dccad00343468eaacfbf]\n[privateKeyPkcs8 = 30820276020100300d06092a864886f70d0101010500048202603082025c02010002818100ac9048a7a4f560af91b4fcaf62a14595cb9ca9ec12000fc845e48572113cab2890adb011a919575a40760d1f23fe92509c8a5810b6d05990b909dd0f4c6014f2b31b6abd805bace99816e2eda41fd7b95405db7c5c8f4cf6babb14f550d5d0dd5179b54951fff6aa9686f30f478db649b7c7044cc202dccad00343468eaacfbf0203010001028181008505d47c271560aaf6cf65da6d5594a69c86f01622ea194071606fde369b65f5a751bce06052409c3a04c6a8b2be935bc0d084829dea8ea0998398fd2a0b0719ac1a1ae2d133fcc72d9df27b377b9a0109ef1a564e92b66963356b8da48f88fcdbc20658f74b542582925ec5cd03fb5e9a527c670465f792a69c1f6c7c5e1841024100d397dcfab4919db23bb6b88c4511516f6135e1118277e496130f0cab3a75661010cc98ec8f40cdb0c1ab612c03bbe3b023d891f46185788fb114437c8a9ae71d024100d0c7805159509ddad70f35b9a76c7c2bd95a844d36b76d96138cfc7a2a55f88072e8b10ac37463caf9bf8d1014c93a001214d7ce230c8332fb58dadb05d52f8b0240762d3c4b7dac5292284dbe3701a051864e99e4117e77ede06fd698f1cd5da25a58b79cb58ab0dbf0dbca17249915486ea9269d260b8d9b2f4dec8e60b19d2075024062a4f06eff4944dc6262905ae0cd343a2f9f42058d85cb646e665de086e249e0beea4cc42e276f03374f9721f30044c445c6cd545b610d186883ca1c543c2f1302403cfcf044035c1854475e1dba480ac50d2a059f32d18e819c96a3199b1e3855a653ec0e5577e4d7677d6e0b7a55fc418b13202ee19430228c4bf9d28af8851c9b]\n[sha = SHA-256]\n\n# tcId = 17\nmsg = \nresult = acceptable\nsig = a0abd165a5ef8733ba111fa0fa092630222d809d8ae811f24f8bead4968b7533af31019663713ba134e7dd345c38e7166a037025eb34adcd6891c9ec941d2e3eb1e4bded1d269272b602cb9b53568b992ddb5103914e6424c75505701a37996c8318b0b6f8640cb6b6e770ac44314b866a7c683a6903f7bba07b6f197ec554fc\nflags = SmallModulus\n\n# tcId = 18\nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nsig = 41339884a9b3940e8488d666bb158063c6a2a2717cae7f564834a876fcbf7098ecf3acbfabf37d38a8e6127b1e313744f1f896e165efdaea0b2e7673867842b9e94db0868ed9a92bcdcb370a4e20ff275c82595e4400a8b9e9f12482f014846b48216f321266ae6ae6338dbcdc41b711e483e6e3e728772e7f9f5ef95c30196b\nflags = SmallModulus\n\n# tcId = 19\nmsg = 54657374\nresult = acceptable\nsig = 8883676becdc27878ccdff53dda011e5e2f886e31e1e88d520bb161cd63aa001fded9f0656109c1507bd1ba5d3bb3e725029a236b4c3c0420a1fcfffe348c5277d6aa51bf75d9af26fdc15fc49d637b078a8b0478b5b0a9c428756d260068e5e622f193b9f9a2c1d979e3322d7f3edc32053541c6efa2485e42e99a804f94388\nflags = SmallModulus\n\n# tcId = 20\nmsg = 313233343030\nresult = acceptable\nsig = 9f2e01b92bc9dd32dcf24aee91467797396649a3255bac943dd0e03c9ef416f349c0cbb728704730f3c7a7c244066a94b229a6e86bde7753c8940129626307b542cc7f596583932b4fe6ea9384d5353e08654e966a64b63bd6745503f7e4383dcef74ad4516ac25c8790db6702ac5b8b057a8fae75669b6a9e689e9211a337b9\nflags = SmallModulus\n\n# tcId = 21\nmsg = 4d657373616765\nresult = acceptable\nsig = 3cb9557d9fe49b889319e0d41efc00cba34277caeed2b2c54fc89772c669200dd63f02f340cb6ed579a379a3fd6a568ca9d4bce206655ae4586850638ee6bffaae2bed7c7afe7353d22418d7e4f6b15e198c85b649d3e5a67f00702dd9fefed7dc72136bb4440fac58e64453e4ee63a81de4270446571b192f414116e165efc0\nflags = SmallModulus\n\n# tcId = 22\nmsg = 61\nresult = acceptable\nsig = 06e6fb568e366fa20d48704be40e991a291d47a464296a49c37718c1153b0fea17ac18a01ff97b32a92d07635dfb9143d011d003c9153020f5ef7fd3ef258cfe92a7a2120718fcc85c73acd34cbd50670c2e044dc3b82fca29b1017912b65d8a844515655308367d8797ae5b7fb91042df573f32de69c1842a128ac88937c0e9\nflags = SmallModulus\n\n# tcId = 23\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0", + "f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nsig = 327238fd701dc4a829827550aad98f9bcd75e9f3831c3679998c869c1dd8381bc6b74b721e9d3377034e059d6637690ba3a184ffd98af951d43a22105a51838f72cf592d658af01adeedf721cf2eb2bb2c90c68311cb267f0cfacca903c1a2a73f7228badb5d86976f5d3371fe9b00cca048a7a0b0fc4b03da11c5a098045e07\nflags = SmallModulus\n\n# tcId = 24\nmsg = 0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff000102030405060708090a0b0c0d0e0f1011121314151617\nresult = acceptable\nsig = 65fd6547b4c27c06da21cfd067accbdede11ab8ddf16899d3acfd61134bbc4ed3269198733093062476906f36598a565ab32cb4b4f90e8c2acdab870bfd7f97726771050c4c67768d98514e51c28739067ca1a7890a846f6fb142d720df3c98ceb833a8cd8cc6129d22d0c5de9120c127e69e8d7b1548a474acf505897fd9f8d\nflags = SmallModulus\n\n[d = 5683206e498cd4867f94b062adaf2d3d7498150709d45ae03790731a58303b74a30d9b37b728f1c56fc34c2abf9c21e18adcf3952416d539934809cb1b516a62d80e1082b3e4d2ce749f58c7a1c0e5907fb7c6b9c9f971c80b890bfe101c5e8a83156bd4a55283a72d0634550a9bd674b771b9e1e00619eb43d6e35112e15031]\n[e = 010001]\n[keyAsn = 30818902818100a1d3912e65d994e0ba51135f78844d9a3ea5161e5450d16a8cf0173a0a309a1ee94e94385dffc5e27dea6692a1713516af86df2283c8e327e60ee26a7b7cfccb0af3f4b5efec358651996b97d5b25da933b063490cf7b67073d399b04ad55c0a89f8ec36d7f5cae757dbd3d6d0f5b77f7c94e28878397cb45cfd178f3f07ed010203010001]\n[keyDer = 30819f300d06092a864886f70d010101050003818d0030818902818100a1d3912e65d994e0ba51135f78844d9a3ea5161e5450d16a8cf0173a0a309a1ee94e94385dffc5e27dea6692a1713516af86df2283c8e327e60ee26a7b7cfccb0af3f4b5efec358651996b97d5b25da933b063490cf7b67073d399b04ad55c0a89f8ec36d7f5cae757dbd3d6d0f5b77f7c94e28878397cb45cfd178f3f07ed010203010001]\n[keysize = 1024]\n[n = 00a1d3912e65d994e0ba51135f78844d9a3ea5161e5450d16a8cf0173a0a309a1ee94e94385dffc5e27dea6692a1713516af86df2283c8e327e60ee26a7b7cfccb0af3f4b5efec358651996b97d5b25da933b063490cf7b67073d399b04ad55c0a89f8ec36d7f5cae757dbd3d6d0f5b77f7c94e28878397cb45cfd178f3f07ed01]\n[privateKeyPkcs8 = 30820275020100300d06092a864886f70d01010105000482025f3082025b02010002818100a1d3912e65d994e0ba51135f78844d9a3ea5161e5450d16a8cf0173a0a309a1ee94e94385dffc5e27dea6692a1713516af86df2283c8e327e60ee26a7b7cfccb0af3f4b5efec358651996b97d5b25da933b063490cf7b67073d399b04ad55c0a89f8ec36d7f5cae757dbd3d6d0f5b77f7c94e28878397cb45cfd178f3f07ed0102030100010281805683206e498cd4867f94b062adaf2d3d7498150709d45ae03790731a58303b74a30d9b37b728f1c56fc34c2abf9c21e18adcf3952416d539934809cb1b516a62d80e1082b3e4d2ce749f58c7a1c0e5907fb7c6b9c9f971c80b890bfe101c5e8a83156bd4a55283a72d0634550a9bd674b771b9e1e00619eb43d6e35112e15031024100d55f5ac3627e7d4bb07c530cb26b3e0ec6cfc7753986e009c9f53d84b6940923d293f8c55b5e9820b56dc6eb008ee779a156a7c8a0b4fa5b6117a4f64233a38b024100c227f5cd75d8865f75ab467ef5f8d43ee0707250450d523230fa3786a6632dbb893ec9cf1039058521b4280529644315f9d37409915f6f5e86365ab82827d323024028403bb3fe01948b51b8b24603e65d2796739dd1cc4f5836208605dbe2415cd4082667d87b1b0621ad780efd47f6ad4df194924433a4d051aaa836334a5bc96f02402fec0d0f9976c833e7a74ecf2787335c11a9af8d807db93c0a3ab859d3d7c701f2ee3c818f4f83bd48845f1c670b0843f455ecde2fb38e999626f45d600bf46102402efab8b9b528803fe02e6dbad575d57824b794dbd9ae0b4d6b43acc1b22a42ce2ffc12ff9339af3da08387cbe73e1bd326725487eb97c71ba6f960e5dddf4207]\n[sha = SHA-384]\n\n# tcId = 25\nmsg = \nresult = acceptable\nsig = 8bda47e85848bb1d98eab90bd5f1880540204c8753a17b2552ee4778405e4c42cc3d25a4d869eb38f1e6fd122a2f52fa8685c3ef40400ade2017555ae88fa892a1ad2793f7c23762f0e54db0852cfdb2e52ebd02c8acf81b9a1e78accb5fbb57a29391cf4fa9aa298111c7b94fe240f0f576b1b52853853fce13da155f16e81d\nflags = SmallModulus\n\n# tcId = 26\nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nsig = 74b9a7b9548a281c5a258520c879e0e64d8a28812a7b6461c6e418e0502b61008a8e535a5b55fb64529a6a6df2f60ef33c1844b27f81532be2bc2992d0eb5e524112da90bf40adefcf206469639ff3895a9826674ee1acbdd623842ab0a9a36d48da13ba17c4ee069254da2ea418d5a8f135e2a414c0654a266d538621917545\nflags = SmallModulus\n\n# tcId = 27\nmsg = 54657374\nresult = acceptable\nsig = 10d9c8b0bf55586e985799be60a17979eb0461daca00ea6defcc62fe720ea502e7e486c02a48f5ca41ecd96c67b5c762a067c465c35a8e416748897ede3ee2cd3c3e1b1199da5c7f0dd0f036774a1730e63ba781d6ee43d78b067608e831a16dbec6075c8ec90e81a4d8e2ac2587b0ae43f7445478b03ab7eba2e63d4043c2e1\nflags = SmallModulus\n\n# tcId = 28\nmsg = 313233343030\nresult = acceptable\nsig = 2cb15eb09030fade89eabc41794d288275c456f12cb0d414311e5edb551a51c3e1354f134b27aecae50536379a871a4ce6ab2e1b999c0308f5fed2ec48d97d68885b37a1e3e26b841db103b64f720f9aef265632f4f4a207ddffe19092e8b16144b0a3443d779c0b648077d3b04b72dd4f4051ac232261ac9df65974764b97a9\nflags = SmallModulus\n\n# tcId = 29\nmsg = 4d657373616765\nresult = acceptable\nsig = 9c80154e3087b443fe6d9bc24faa7ea009330a210f2f1063ea1b61261507a5e3853079a0287d5b27983bd751ac782b1a5c31130978d3f2a8a95101c4ed87eacee964953ad32cd2cd4caeb7c37330d1650d7ca19dfa6e8f1c184d3dd9a3a759d6badc700b7063d2c579b336c5e141c200614ba613d9bb6493e87d26978b438573\nflags = SmallModulus\n\n# tcId = 30\nmsg = 61\nresult = acceptable\nsig = 99fc12c90f67dff9600c30c9f81bbf335492151345c809c05771d59ef73d438f88c5c43ba507a3cad6633641d70ec3f3c38f67cf7f2566489f59422a2dad1f647e790bbd28acc290ab392d48ce7a140184bb71023f8c9c5dcd9469ebe848063d96bad26fbd390974b38459d51727eb8c0a5b8a8ef1d3394b6f852dd2b22cd22c\nflags = SmallModulus\n\n# tcId = 31\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nsig = 869b42bb93624a139bb98c043cba8fe12d612aef040e3085994824a480274c0cca24d08d178321acb048055b777d897e267cd50809bc7e9f86c276beeb8a8d59d82aa2091c66c71e41ca59738b0e18f055f9c75a01e87aaad446e64ac0183c002ea2080415ebb4f85a590622bfa4e701a6e37d0b33bd78d5ff874d8d28fda263\nflags = SmallModulus\n\n# tcId = 32\nmsg = 0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff000102030405060708090a0b0c0d0e0f1011121314151617\nresult = acceptable\nsig = 1d1d3424bfc646c0e3668ab4e9eddbf993c5efe63ee6ccc966dd467c466225bf587b9d7508a7dab8079c50cb3086b9f0fa3c6e77236744618fd651d39bed94bdf47a2a77897341f16da3db9557b2377f151375a74d9af8204e155abbb62dc7e2f6effee3ffe936b360e45ab750ce69e29f29e915baf8578017f66d85192ded04\nflags = SmallModulus\n\n[d = 00ad5144c6c266314d11dca0af34b8684a77cab12be2ffc8fd213e9289ff83eeadb70e4b6af5bdc7dd72659753ef1f84c2f8039fb13ced41f12af77bcb1cbb0333e26dcf0b27187216910d3de289487ddc843c8b66f1f662037e181dae36d6aaa3b509dd33892ed4851ddcaa4d02ec210262947517a38da2e9ed35e5801901bb6e82043bae88aa951f4a56cf454b4dcf2a9dc425525ee4b6e199320d1b080625fdc8af4e44592e87cab8753316fe933ccf044380880b1984f662c638ed8c3158f1]\n[e = 010001]\n[keyAsn = 3081c90281c100b8be129638e9c805359e6169b263265e2a8ec4b849101f2a321ce523665e399954ac3865ee8c85d14f3d3f24fbd583664bf09394cbc7f7ffc98aadc94eda35ca4b9614fd2d773c782086a1ea9ca23f357cb2cdc465fb85100172845d6b2906dc9315a542d204bcc4dce68d90484198e2350cd682eef9313a13df3607669aa4dd186f563ba0ae3ee054f857a92985f2694a54e1a87ed7327acbfda3e61ecbfecfdd1b7b2d08dd306122fd44268f08463306760f40dfb7634e71d7a72f1224e6110203010001]\n[keyDer = 3081df300d06092a864886f70d01010105000381cd003081c90281c100b8be129638e9c805359e6169b263265e2a8ec4b849101f2a321ce523665e399954ac3865ee8c85d14f3d3f24fbd583664bf09394cbc7f7ffc98aadc94eda35ca4b9614fd2d773c782086a1ea9ca23f357cb2cdc465fb85100172845d6b2906dc9315a542d204bcc4dce68d90484198e2350cd682eef9313a13df3607669aa4dd186f563ba0ae3ee054f857a92985f2694a54e1a87ed7", + "327acbfda3e61ecbfecfdd1b7b2d08dd306122fd44268f08463306760f40dfb7634e71d7a72f1224e6110203010001]\n[keysize = 1536]\n[n = 00b8be129638e9c805359e6169b263265e2a8ec4b849101f2a321ce523665e399954ac3865ee8c85d14f3d3f24fbd583664bf09394cbc7f7ffc98aadc94eda35ca4b9614fd2d773c782086a1ea9ca23f357cb2cdc465fb85100172845d6b2906dc9315a542d204bcc4dce68d90484198e2350cd682eef9313a13df3607669aa4dd186f563ba0ae3ee054f857a92985f2694a54e1a87ed7327acbfda3e61ecbfecfdd1b7b2d08dd306122fd44268f08463306760f40dfb7634e71d7a72f1224e611]\n[privateKeyPkcs8 = 30820397020100300d06092a864886f70d0101010500048203813082037d0201000281c100b8be129638e9c805359e6169b263265e2a8ec4b849101f2a321ce523665e399954ac3865ee8c85d14f3d3f24fbd583664bf09394cbc7f7ffc98aadc94eda35ca4b9614fd2d773c782086a1ea9ca23f357cb2cdc465fb85100172845d6b2906dc9315a542d204bcc4dce68d90484198e2350cd682eef9313a13df3607669aa4dd186f563ba0ae3ee054f857a92985f2694a54e1a87ed7327acbfda3e61ecbfecfdd1b7b2d08dd306122fd44268f08463306760f40dfb7634e71d7a72f1224e61102030100010281c100ad5144c6c266314d11dca0af34b8684a77cab12be2ffc8fd213e9289ff83eeadb70e4b6af5bdc7dd72659753ef1f84c2f8039fb13ced41f12af77bcb1cbb0333e26dcf0b27187216910d3de289487ddc843c8b66f1f662037e181dae36d6aaa3b509dd33892ed4851ddcaa4d02ec210262947517a38da2e9ed35e5801901bb6e82043bae88aa951f4a56cf454b4dcf2a9dc425525ee4b6e199320d1b080625fdc8af4e44592e87cab8753316fe933ccf044380880b1984f662c638ed8c3158f1026100dd9fcb8fe2c6d7d3cc0c52588aabf47c8919e4ab8f056c1cad8383c073a0989aae1242f2842c9c16efb50277ade40eb02201b4dccebff3a7498012a19b3703953602b6fa611d12126f40872ee2be249f0d8109bf61934375283b1c96e7c2d94b026100d565c93033998143659e1fa9efe089f05fc225cdbee5452442d59909730b48a1c2018ceb97f25903db1eaf8735f8269b5ffd7d7a3643e3ae8d736602c1a1f26f897ae68654bb3380f2cadcfe6503c0347c84e1bfffe0019aaab4c2349d92609302606f4c205e51f4a9cea35a4cc04a63b0941a05f6e07122b7f86eeaecef6921ed814089cb351f4b87d7bce99a23a02037801c93ded044c40108b1d0af8a98f837c4672b55d8c78c61d70027d7bba402f94126f6f67e35f24e9e3765f825909e39a1026100b10e4ae75b68b9ff9988a0ecf6c26eb0aa4303eab9c0b0a56d6e9c136308b1b2c4ad54a704e36747f3be7a14cd8a9f3dbb5f2f84ff11450fc6fd405e791a4d748db5131fd19da116145c8d0fe5f03ec14daf533f62a611aeaa845fbe181f2351026045a036c72629ae8dc5dc6ea1cc5e8d81fdba1076218c14e724b941835b1901c70dfcdf231ad63b1942f3d79cc561c42b7e7013a97c1acb5a1e49ea44c86201c7feb57b4afd83e3328c82a94267d5d6a4a42d726025ebd334c9692190a603e230]\n[sha = SHA-224]\n\n# tcId = 33\nmsg = \nresult = acceptable\nsig = 9cbe6b808679d666332a97049be279327c7e00e3c17354fd1d5f611969f487d9e397456b90549a77582a6e8b51fe212399ff68b979fe293efcd11ab79cbfda818cc4039c62d32b58717fe0abf2b4eeea0304baa5afe23ff6614dc6cec45b518d6d58a157ae211e0a67c36a0ef6468d0dd68f6155a818bece4f8d35884f4f90aa6ac6250bb3459604d4598ca7c7e57489d484351aa936be4fc9051e28e229f4bb60fa97a3f018ef37fdfe78ca8cfc0caae758c53d0f68edb8b9df2b826c80272f\nflags = SmallModulus\n\n# tcId = 34\nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nsig = 570c9a8a85a988b5e254b74af7611f0a1e4843e4727c9117a5e2bbbec29b0a6e84c5ccc2cec9b100410b37d1e0eef9a2a21a2894e1a5b581e6567d1043a980166ed7449e557fd7f1fb19fff60f3cfc85c79c9793c553314060b95f0a2199f4de16792e35888b78f7bbd4520eb09efc7aede5d24a51d8c123669ee2452357dfd089986005506df4431c50432509302e7c7e9aa8e9f383ef8b856fda1ba8db44f36b7aae91c597bd6aa0b4f12573a664f328b23b7a7e8738d5bfe772b39d5017d7\nflags = SmallModulus\n\n# tcId = 35\nmsg = 54657374\nresult = acceptable\nsig = 74cd13a7cad1ba8c0254967f1cf7d594a084995b5778b113a42f35654151556e36ff796f609146bcc519a8f983d0093a1fe7d2789d0c2688d8444ff4c3c8f6759eb71d6fb7f47a2eff42e62ecdd14fb3cf2e6df4b0717094863bf19a84457a656d3fd64aa5c086e09a8097e3576ba1d91fa17b7a1222b9064e2c6b06aba5b692a7078117838c64cd6598bea415a231daf4e62d4bffcbc0986c3cf86ae6a3bbb7ffbe85ee002ce9af3177b1f2c0ae14b8b1cd41b1bf1b2ccc688794f092c91873\nflags = SmallModulus\n\n# tcId = 36\nmsg = 313233343030\nresult = acceptable\nsig = 1ecad2c46d9d37b3bdecb7f9002cc48f8345a2aec090f5d599350c855c4eb58f8a503d8dfe042525a66e771bd8dd8a70fb4822aea1a0cf33577ea658288e6f2fd886888cb9225f1ea0d03bf5b5e63afd3bf59c0c1d3f2cf4f4ba2a8dcf23182feec72f76a60d252a8cb0b770b7d0dd6c72c072098f81b852f7271007273eccbc55a9099e426e566a52e11be82e78bc8ce8c6bb721f858816c43aa253a950da5810e5690c193b820d9ed4f02046a548503c72755abf1450c09dda9c84dd2a079a\nflags = SmallModulus\n\n# tcId = 37\nmsg = 4d657373616765\nresult = acceptable\nsig = 402c91c41a3e1782ae406b04ff52cbbf9f71cc5f3473b9af43a2ef96245e79b62551d9b23a85e6e80a2041b616dce2647312258b29bc6b549eb38afb083d823b3c2619caee52cb1583a7c20cba7da2159ac8154b98a9683388bcc523c10b6e560fe0c8a0cce9237ab1991b207e708b601b13c5d1d86825d89fc5aaffa0e89ddcc11d2b516de64e34783d86c6d05ded6024274498b6f3dd5593feb03147cfca3890f92487b64e67ccb676b85144899e6d257b28edff14130eaf0cc45b60ddec80\nflags = SmallModulus\n\n# tcId = 38\nmsg = 61\nresult = acceptable\nsig = 4d93f0d689c59942d9e7c26cfc5af040cff4b3a114c7e191851baa888133ea52583899520f8e063d7ea1ac7773ccca280b92840082d960b0d1e20bc8549c83f989b6991613c1711a0a2586de7fc2bd10750023e2866fce48329621e9203c2818373abd69bc1807fc1158639d3837b5391077a39f829f04472c74bab0a15757083a34ec2701abb6839ade2674f1220af9d109678d209bf5f16eceaa8227ab028d0017530900f52b8be12c33f007dd21774a5bdae2ee12d7e47e98e5cc7d301d9e\nflags = SmallModulus\n\n# tcId = 39\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nsig = 44a571c4bbf737001fd5602e8d096123de21b47c36eea780f3e0e19fd2243605066ea949c88b6abb8353ee8b88e394a485031e9e980936e09bbd17fb6dfe340f07bcca5cc51edcbd5bf98c223f44976b6ba3b4b2157f1a14a7b2a20728f92a31120f968138a33164c78b7fe9146ba6d641d6c7b7cc9b1b4062e96002054eb9cd2e738fd82564dc0fd87f08b5006f52db13a7efd4602dd6736cc9667701fcb9ad48c5b3625a11e44e034d0cecb38cea4766b03416c94f01418b411e2f4739ccba\nflags = SmallModulus\n\n# tcId = 40\nmsg = 0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff000102030405060708090a0b0c0d0e0f1011121314151617\nresult = acceptable\nsig = 641b7edf71fecd3c54286459d1c34ce67655d829afd2e4f09aa28e673b51d437113b5a7ad8e245f131da0b6e8a6aa3621aea4211a573ba6a9cbc8e5c4676970b8032c53993e97b2fd93bb6b54c627786abbcad21dbdb584a33e1723a40e0a9919920708e03001019f715335024fca23a29b948c4eb4c5176689ceecf034ca0c29466b4026313d8238d499cf6af4ff93792d734ef0c453bdafd0e5dbe20dfacc5c92ee9cae029ed045f9ab23b03c6a4d1e6d286053cac71ba10bee4a8bb4df86a\nflags = SmallModulus\n\n[d = 46e1a2857f797c070aec23e122a46ef63c924ff207da47501ef56edf4621bee8890fa023657297162f0b7f23dfe29bf492a5108596d486a2c19c66c8a896e07e812a271d6af54d9a405f0d6bc259f4c53c5aab9fa439ae2b50c4927973c265b58767bfbbebbcc0694b4924af47648166e01c6a34ab8d4ef1d23e5629a1ee56565b69a4aaf921065aed2d659aa20969b0eb7b7afbc6e7471766dfd7c6b758cc1509f0a1c70af0cdf8c4b2ef4d33eeb7672b9da5110e39722a4767b99077cc2e01]\n[e = 010001]\n[keyAsn = 3081c90281c100eb477c90d46bd1896cf4930cf2615140e029a743f0649ae586eb04d51f21ac5241744b5872ccebc87b401487a9c859176c9fc8200b2054875e2c811a56b5d9468e6d3a99c058b1c89547f55a3d7b1d08852f673d3288544aab906e57364cac817728dcea18bc1193e62269e04112c19451702cfaa46fcaf716db14f2e1c9b8d312bdb15dde506945395bdb0865f22ac0553f827a27719c2c703a83c6cbfd949d06d4eb560a8fddff052fd6f0a20f6cdeb2909211b75f8182e58590d069a2a2710203010001]\n[keyDer = 3081df300d06092a864886f70d01010105000381cd003081c90281c100eb477c90d46bd1896cf4930cf2615140e029a743f0649ae586eb04d51f21ac5241744b5872ccebc87b401487a9c859176c9fc8200b2054875e2c811a56b5d9468e6d3a99c058b1c89547f55a3d7b1d08852f673d3288544aab906e57364cac817728dcea18bc1193e62269e04112c19451702cfaa46fcaf716db14f2e1c9b8d312bdb15dde506945395bdb0865f22ac0553f827a27719c2c703a83c6cbfd949d06d4eb560a8fddff052fd6f0a20f6cdeb2909211b75f8182e58590d069a2a2710203010001]\n[keysize = 1536]\n[n = 00eb477c90d46bd1896cf4930cf2615140e029a743f0649ae586eb04d51f21ac5241744b5872ccebc87b401487a9c859176c9fc8200b2054875e2c811a56b5d9468e6d3a99c058b1c89547f55a3d7b1d08852f673d3288544a", + "ab906e57364cac817728dcea18bc1193e62269e04112c19451702cfaa46fcaf716db14f2e1c9b8d312bdb15dde506945395bdb0865f22ac0553f827a27719c2c703a83c6cbfd949d06d4eb560a8fddff052fd6f0a20f6cdeb2909211b75f8182e58590d069a2a271]\n[privateKeyPkcs8 = 30820396020100300d06092a864886f70d0101010500048203803082037c0201000281c100eb477c90d46bd1896cf4930cf2615140e029a743f0649ae586eb04d51f21ac5241744b5872ccebc87b401487a9c859176c9fc8200b2054875e2c811a56b5d9468e6d3a99c058b1c89547f55a3d7b1d08852f673d3288544aab906e57364cac817728dcea18bc1193e62269e04112c19451702cfaa46fcaf716db14f2e1c9b8d312bdb15dde506945395bdb0865f22ac0553f827a27719c2c703a83c6cbfd949d06d4eb560a8fddff052fd6f0a20f6cdeb2909211b75f8182e58590d069a2a27102030100010281c046e1a2857f797c070aec23e122a46ef63c924ff207da47501ef56edf4621bee8890fa023657297162f0b7f23dfe29bf492a5108596d486a2c19c66c8a896e07e812a271d6af54d9a405f0d6bc259f4c53c5aab9fa439ae2b50c4927973c265b58767bfbbebbcc0694b4924af47648166e01c6a34ab8d4ef1d23e5629a1ee56565b69a4aaf921065aed2d659aa20969b0eb7b7afbc6e7471766dfd7c6b758cc1509f0a1c70af0cdf8c4b2ef4d33eeb7672b9da5110e39722a4767b99077cc2e01026100fabe439487c73dc1231ea47cc3b8daf1776fcfb44920ba035c9f1f1a597422a8ff38c0291971c45f7f617e3d0b4e4af046957b53cb4565773d64671fabc78e27578fd403afc7d1cfd6b8339c44787149dbb56ed46479f58e7ac881df4902f945026100f0363a45a6a07169390677e607acc4e17bc624a01c377cd7154e1b7fd819f08dd6f13b9f6dff6dc447c502a79299c3ac19b4bb55a2aafeb64321a4a896e1c0fd7d6834e36894469007506086f159d807bafe9a8b13b1ad83a501ebc694d7993d02610098a9108234eca4779b87438446b19c73995134f741f2afedee0d5f256ec31b7b22f08d66387ca09fb7f146a7a9e38012ac16c4a06ec9108eb98d109022c8fb8e8e6c1e1c24809708606583dea77d611423b56205e42ab0cb8f8bd62e78c85bb502604b1377c4fb1e1c3419d996b1b3666126642bfa987c192f907d9d2ae51b2288579c7d4af83a45e205bdb4aa6ebb58099b0971be37369f20fad0227cb72069308b499dbf21f0369f933665fdb54f4b98445a426704dec3e28a49913f2292b48bb50260593d103d8d4b2b827f0faeb695094d4f5dbff86ef757a9aa51b3a06923d24d09e1f9f0f50ec57d3c65986c3822345216762e92d0d6becbe2bc718c63c651255e8c0649b244fedd754e454620efe317d752e578ab8b35cd7da6d6be88cd5b9f91]\n[sha = SHA-256]\n\n# tcId = 41\nmsg = \nresult = acceptable\nsig = e4f7f0076b4bddb632c470881bbffe95a148573a75c014689eda7acf5e57a546327d4bead01da0b093b2c4eb5b048fd707d27a4baf85d610e4ff8861feca57e1ea88ff0c4b803c4b0d62ae0cb89012b0ff041b438e49a79680f2cb30722a5a2a3aa9b516ff2a02947ebe27186aa9ffdb35e15328c0f49f172af51f764258e909651469ebc6a59cd98c996fa3417008252e3386b9a2d059d3c67983ce62ae2d052733c55732320679eae156d0e4b89da1022bd052340819cfcdd7366c34b65a01\nflags = SmallModulus\n\n# tcId = 42\nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nsig = 8d2611d4c79f6b2087ae8bc76610905c361b9fe0a6629388197b4293f9e14ecbeb377206e4c1db35cdc0ab163dc5c51e8a7370a059e9ee8014d18ef0937f7936879d7825c792180a4f10a0d46e0a954f093d703b82bd076dcec0b8a66fc3be9bdf79ce4550c453015dc1c7397ec1bfceed040a4d777915546b9cbcf1eeb13eb71ac49c235e69cb07c315d529442f4863d61b7d5caa5ce07820edf649a9342211a26f8280dab9c5dd11af0752168326f8e8d5e834ddba3bce063f011eccc8f46d\nflags = SmallModulus\n\n# tcId = 43\nmsg = 54657374\nresult = acceptable\nsig = e12e3540e7f20fb5533772e91b708151c12d8440ba9bc994791f5916d521726b53969063f9e13114ab89de0b0adf119cfaf19dd74a65b5eee32f39e69ab6776dba721adb2a8dea1495c51d5984b6aa2b5d216eb48459103907442f725410f53ddd5d006762dd3167c2da3bdb19f07d27e3fda712f444c093f4c8126d40ca7c381ab1d3875294df84055239ebac5039490b597366b58c2806e52f1f259c9ed16f829f41851b6ce7e390ea73251395bf940997d47bc323657160ede973f2342b91\nflags = SmallModulus\n\n# tcId = 44\nmsg = 313233343030\nresult = acceptable\nsig = 90ea80b14758fa12319e54c446e70bf5bede38f5d8d8e978531e6c54c567b63a0fb7b870ab963f979c4015c27714dc9292a48123c0a1f13896055f6628687040459488bca149f410cdae4249ef918f10329e902f1344a666fdf96085b7bbfb086ee2f4e5891904f945d867a50289da018c245be31b684bebb8dc367d43d53448865dc005ffd58e2f76f1ae8ac51fa7ad723db9bf3b78b82bc5b0e209ed216575009c27a6d46bfd1d9ba35fd50eaf4a39afd7b3dfdbd2f437d0d97b5b08e1870b\nflags = SmallModulus\n\n# tcId = 45\nmsg = 4d657373616765\nresult = acceptable\nsig = 3ebfdd69af2a561bdf4315d015d397b8af75f6c17a3e6e1c6b52bd6e812bd9112e1920f6cabd82b996b1b48be3aa40e447d29689be7dc64b8548ce5414318c4288a6ccee97f55c523661e629d3cb124b97a042c1e77a9b039a8631815c535c8216912ea47684a7220a63c198ef2b80568882e153be8fe92ae4c786a5fd56a1e64fdb235663f3a242c121e59df3a19c29282e647a5123583378577925f399560f6ad3b2a4c2b18ca2547aab5e3ed4030c6585fd2abd1d65fc720bb30354c966d9\nflags = SmallModulus\n\n# tcId = 46\nmsg = 61\nresult = acceptable\nsig = 7fbb42d2bc1c3e5a0f66fedd581e5ce3e555f6f1c736db24b6e963d2ba72118cc989e2969c21bede87ff3f4209f2b009263b7ca3716a9d3e7115dfe65bad1ea2a1013304696248dd2b1d70764dae248bd1e9d49623826f2c6640247cbe8bcda47d882e298f30bcf3db1f496c26b738848e9876e4b70f0ca8259760e919e5c5c0a2ce3d05b5804a94b67f4c719fdeb3ce23657a26635f867af0271736ba20abb7fff18bda006c48d9c3ed774365d00aa0340a04906fc07f00b18a572c96f986f5\nflags = SmallModulus\n\n# tcId = 47\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nsig = b9b478f6ddabce2b1ffb306e2135132df09585be16eaa5182b8476796c10b0eecaff9b91100882f5872e00e3d1df2df40969ca4d00596b6d6c9c13d3a956dd8d91decbd3a48728aea05b8f7707414a8a5de3bf0becbc20ae0ba852ee7c4f2c177f3d95a4a8375ac50e11fd2be4da1f94608786fc84747117604138d06956387924e5d7baa2c97e25d1b0125122c0a13981559db80ac2d6848f4db163027c4484a51ac5095f5653b12059440dac69970b5680e017a7eb2861c857a607446b9420\nflags = SmallModulus\n\n# tcId = 48\nmsg = 0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff000102030405060708090a0b0c0d0e0f1011121314151617\nresult = acceptable\nsig = 49c191f27f7ee50303b6ae8ada646d0e96fa369f16d8f66e64e6ee123164d781c698931bec1097c9b2b2cce017e65560d8ef3601bbe297b3992c0d89024b73d43877c9f9f3f1194c7e0a36ef1938d634394e4075330e6a2665c853377a1e2d962eebc7c8d8b50a32af26e287aa62e1bf26dcf27f9d561a59a771d86e66bfbcaa38c13748077d3ff0f9355e3fba6a36ed45b39dbb058cc66ae063df89e3a620b8b820de05fe80d6b848c9a7984e5962702b522561b4232ac9c6cf0c93a2c48a0b\nflags = SmallModulus\n\n[d = 1b37e4de539f790789f0b164a08bf6fea908644142bc72e3153cd3ea6467389ad73107e5120abeeadde6f1c025248bcb775a993cec5bff07ee447e4f24ab36147c3af4f9056f4c9fddf8782d60f03c0b2ee63a31463212925e21638262f59dc8ac026b1c9bfdf79401999bd7e79e7decfda14dcafb04e4916959ba29213e93dc0ef824e132a706ac804c71d79b9b2dabea877f48fd2136a7abd94cb0dc7041b4b14464ca39d99c690b550badf2d33eeaa04aef787e07e291f86c2f45b76ae6f1]\n[e = 010001]\n[keyAsn = 3081c90281c100d1060fe7c6d185f09c3c1865cf6beaf5dc9306f2f3646bbccf19e47fadf98cfda7716c797d15afe506d573f19163ae2ab0ed9964c7b125dad7841125d38dd9f430b30fe5ea0d24083cb9b09f241b0700821cb5e40dc781e72ed95a2a8cfd33da065c58db8b8166aaec385a5db04f473198fa3b27d4de0a3267b11769af1178d284fb9ca6ac2ffd03b940509dbf2383838d39e0d5c93fe29a6802e12716431e25965f5b7b146663f4e5567ac4c3edf8824913d26ff2dd03830c8a0645adb04d7f0203010001]\n[keyDer = 3081df300d06092a864886f70d01010105000381cd003081c90281c100d1060fe7c6d185f09c3c1865cf6beaf5dc9306f2f3646bbccf19e47fadf98cfda7716c797d15afe506d573f19163ae2ab0ed9964c7b125dad7841125d38dd9f430b30fe5ea0d24083cb9b09f241b0700821cb5e40dc781e72ed95a2a8cfd33da065c58db8b8166aaec385a5db04f473198fa3b27d4de0a3267b11769af1178d284fb9ca6ac2ffd03b940509dbf2383838d39e0d5c93fe29a6802e12716431e25965f5b7b146663f4e5567ac4c3edf8824913d26ff2dd03830c8a0645adb04d7f0203010001]\n[keysize = 1536]\n[n = 00d1060fe7c6d185f09c3c1865cf6beaf5dc9306f2f3646bbccf19e47fadf98cfda7716c797d15afe506d573f19163ae2ab0ed9964c7b125dad7841125d38dd9f430b30fe5ea0d24083cb9b09f241b0700821cb5e40dc781e72ed95a2a8cfd33da065c58db8b8166aaec385a5db04f473198fa3b27d4de0a3267b11769af1178d284fb9ca6ac2ffd03b940509dbf2383838d39e0d5c93fe29a6802e12716431e25965f5b7b146663f4e5567ac4c3edf8824913d26ff2dd03830c8a0645adb04d7f]\n[privateKeyPkcs8 = 30820395020100300d06092a864886f70d01010105000482037f3082037b020100028", + "1c100d1060fe7c6d185f09c3c1865cf6beaf5dc9306f2f3646bbccf19e47fadf98cfda7716c797d15afe506d573f19163ae2ab0ed9964c7b125dad7841125d38dd9f430b30fe5ea0d24083cb9b09f241b0700821cb5e40dc781e72ed95a2a8cfd33da065c58db8b8166aaec385a5db04f473198fa3b27d4de0a3267b11769af1178d284fb9ca6ac2ffd03b940509dbf2383838d39e0d5c93fe29a6802e12716431e25965f5b7b146663f4e5567ac4c3edf8824913d26ff2dd03830c8a0645adb04d7f02030100010281c01b37e4de539f790789f0b164a08bf6fea908644142bc72e3153cd3ea6467389ad73107e5120abeeadde6f1c025248bcb775a993cec5bff07ee447e4f24ab36147c3af4f9056f4c9fddf8782d60f03c0b2ee63a31463212925e21638262f59dc8ac026b1c9bfdf79401999bd7e79e7decfda14dcafb04e4916959ba29213e93dc0ef824e132a706ac804c71d79b9b2dabea877f48fd2136a7abd94cb0dc7041b4b14464ca39d99c690b550badf2d33eeaa04aef787e07e291f86c2f45b76ae6f1026100ee00c43356f3af8c15a0da791724e491d7dd03afd0cd0b40f81cbce1b38a5dcd245edec03b3b112cda442b772278c2abdcf6bc8d23133e98b2596d5a61b5b3d4204e48055a33bb5aa0765b12b8bd28a9f63d1393193c295acfe4ff7bc44c67f5026100e0d4514fbd34a29a55503de9a76ebbcae7809612a8d13bb5901f6ffbd9f06c98760647306df342f77ab45395eb7a2dc2dd3763625fe9eeac9f03baa636e381168440c54473b55211d8f0f3bfc47af94e3cf4267de479e5ae3c947a1a48e25b2302605e60a76cc45a358e933509ed62a41a8f4ace359c0e6c80bdeea556b1198510d53c4af281bffb184074fcfb4f6eb7fc5a3271152bd270db2da9eb945576d19ad1cf4dbb7983df67b7f4517aa3dde604ae011b0f1c11b1ada4793411ab7e97ddd102607f04543fa953f03d22cfa77ab6a5dfa05d338f15519c8b9022b13011e7e96560a8e51918ea351173413659368c87450d1eef28cdae043a5bf9a620afc0b8bcf81c957f1d1205b12cf6140291278e9604367974b990f7b0e3c3c3da4bb93b70630260687d0174d89b9537ef87bb7c7f8f75a0247af7af8794e4f06a327e6edab92d2e164062ffa3e9581f53bd3c1e293e7ffcfb1b075928b8611a426c5c91e23f0a82e695ec68f3f96ccc37e1d6d8a613580ccb1f1fc45a081ee6a1db85797de4610c]\n[sha = SHA-384]\n\n# tcId = 49\nmsg = \nresult = acceptable\nsig = 6428e8d022f52b4a9307fe0f93e650e9665680d3c4a66194c6d50cf08726a3de45dbd8f24c9b5d4ad3fb6fad8bf3744d166742c6bb8cd690325e8eeb8d33e1303234d2a9ef9f12f8adb29a423279405dfa25d5bbbfb4255f6d739dafad66e4024fd413b16a167ea4cd66a75258c476e9f23cdf99346cecd6a51d44176346e6704e1f25fd953123716dca1eb8e2ba0288a38723f76c7b873299e34373fc2b18027500c26aa32c903389eed545b87061988f9e06effab524655e52103be7551fdb\nflags = SmallModulus\n\n# tcId = 50\nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nsig = 58c4c42da5eee1b757b31e3362a95d75180c0fee472c431527ff5500fe0b5c1d59968d79e6e41650f013a6b3e37c5a1d79233b818ef76c4ed469a09607becdc58987e6a548610de14ff06899ef284778dd5329a27b85072e8ffd46b63a5e8f7602ddb9fc5a07224c49818fc8057581ea36da033f2b936f0761186c7fd82b474e87d47aa1b7ec610642d3bcb16c59bb70ac68b1f081a9c9248f069474d6ed9b29c669fc40a979cdfc2053e1a3c0cf40efa29c01785323995f1d8f3850c32bdf92\nflags = SmallModulus\n\n# tcId = 51\nmsg = 54657374\nresult = acceptable\nsig = 62a81171990b2066d9c8a12d75b719b1d81513e9ab0a38ceed12c19835e8291db53045c6be238fb8a0a7daa974f8d0e10495c197c8d94b617a5e84982b849a121377a4deaff1c61f07365a4429b3aa90a0a475d3475e93b27254e1e0a75f49864287f2027f7b4c8c0f54ad69649c042e2445a5f131dc5d7878d7a040ac8499ef4208f3cf7b63863feb6fc3ae7d9e299ef5777b1d872cb19799f5097d456473760e5953a650a207f50f5dec349e71b848640930608208dd0745bc185d78284482\nflags = SmallModulus\n\n# tcId = 52\nmsg = 313233343030\nresult = acceptable\nsig = af896fc432e8f0d10c082153fcfd95b9ad7c90fd1f757d3be4e57556553b982af328b2f3d96fdffa3d26a9fb58e011206f88bfb7dc453f8ecc1b8a86910f993e91a1f70e2d75311015d676ed9245f1a9379f4f29ef26ab403eb1e76184855b10696f5254f2b51e536df54c84189d1a1f97bfb56a3b7cd13a82d8c0262229795a3d2bd46f28c3e71d5ae18c2ab32b295477e3f0fb428c5278eea15622ec47efd731b78d747568757f82a943fda22d37d883d8daff25dbb168032b5b36e081ce2d\nflags = SmallModulus\n\n# tcId = 53\nmsg = 4d657373616765\nresult = acceptable\nsig = a3c4eb3756805db479ee0aa802a9cccec9c9e146e736ed48b8739f2c8f108c579f1a16a71b7d222fd146f82292e78d254ec030b47267490927843c13005b88e2956550bdaab0e5748dafbbaa825425e9d83283a9a5fb086603ce00c8dac8f73dae249082378fcbdef763ef2f207047e9a9eaa35ce466e9569470f612c87292df4babe1d1446c55be5ab0109895afd337843eed2ca777f3ea1c08898fcb36e02674772d6dc3c71fbc49c897d05c81cf2aaef212dab088d9722db4033bb8f2ba56\nflags = SmallModulus\n\n# tcId = 54\nmsg = 61\nresult = acceptable\nsig = d0deb372624d4e1f64b9f3d7517fe2bc9407b1cb99ca0e6f641d5557935b4ce3e0e7fc88a75a8a6b39a7d03b9c9b43d6f5da250bc2c672ecad4f559a02f45bd6319d7377d305493264b17beca8ad93656a88767221113a30c8402794a920da9edc530a6649b881abfee5b92dc857332970973366ba05954d70a99f378e8f65e3c1586ec71f79fec02657bf6dc5ed82c835735af15ab1f305bad5c49ae4dbab4f6bb4a5c70d35ba779e01b85ef208d7def3d0358fbe9202923fd035d58ff36a06\nflags = SmallModulus\n\n# tcId = 55\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nsig = 4e47d4cbe778a471ec643bb235fe9ef8d10398bfb2edfeeb9c9bc12caafe4031e33144be385e3adcd1609652f4c9dfe15f5cd6ba3ff38b34dd67c47c659473cb12f9b3905306d92405d38bb763474ad65e96b7f68104c1dfdd217ee56c912f42b054f16efe23fa8821093d8169826a64a77b86ef33061210280e3b4793fe540a09cb910f5a1f12a410b588c2793726999021f8880b7d9b83792ae9ed282871921a63976131b8aef855078787bf32df696458e507b1dba70d7422d4d37edbbdfc\nflags = SmallModulus\n\n# tcId = 56\nmsg = 0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff000102030405060708090a0b0c0d0e0f1011121314151617\nresult = acceptable\nsig = 3ad151db74873688bc47e123822db75e4bb7cc30ae99babf03333da27515283e7b1229b3b47c1929166fad0164add9d65b88b03b92c4c9d71329a8997305ab02cc8c2cbbcf156819f4d487e889bc229e310766cb33843815d64049b14904d32a6de668e21de2a9f948ded86f3fc33acda46c0fd97b2a3ea71c211b8cf63cf1654671677b2e8379d27ea9150cc4cc8972950a73e0053985f7d7f65601c8dd9ecc7d220f5efa537e58974730cc5961a62c7fd89df1f7a0b1e574ab82bd431c1906\nflags = SmallModulus\n\n[d = 008be04109981f7726dcdf63efacd55d089901bd681003accbf97282a64974e1b5ea90f218927086c36b4d1b8f3f9da2b5ab767803f5e3f846c99605db82960400c3b0f284dfadb971cac7c10c63df3454bddf5c889bde32e620e8f371e9ffb96d8ec9f8ba95449d541691e7ad22453bcc52d938c41bfe18c70e8e042c4b83e4af5a9c40d45dfcb8536540395ea8b6d261fe14c96c8bf1d2bcc84b0ed1381ba2135683dc74ba03b64223a0aa968b6fd1a6f26f23b3a4c8e145d6c8922c925acc81]\n[e = 010001]\n[keyAsn = 3081c90281c100d1f33c4d0c3b127cfd4c711aef054e291cb9a9b7b769d6dfcea5ba02d99f0807ffb63f097ed7b5c5e2ad09578c749863a96a2bedc3e72738fe887a4a1fae6ca8c8e722c8dedc065a4df9f5c38e950175a7e0de9008f3a9a67e3413f9891e2f8a70b29f55dd21d2cba16f8e2300ef7c35ed1e42ebfbe70645230ddd8c067dae9069ae5f32937a207e0e7896e87fb399e6c93bc5bf6c2504fbdb3ecfc281f8da29115b2ec41eb9acc4176e311fe8dbcac24b57f8d656600e5fb4095eb4bf90b6e90203010001]\n[keyDer = 3081df300d06092a864886f70d01010105000381cd003081c90281c100d1f33c4d0c3b127cfd4c711aef054e291cb9a9b7b769d6dfcea5ba02d99f0807ffb63f097ed7b5c5e2ad09578c749863a96a2bedc3e72738fe887a4a1fae6ca8c8e722c8dedc065a4df9f5c38e950175a7e0de9008f3a9a67e3413f9891e2f8a70b29f55dd21d2cba16f8e2300ef7c35ed1e42ebfbe70645230ddd8c067dae9069ae5f32937a207e0e7896e87fb399e6c93bc5bf6c2504fbdb3ecfc281f8da29115b2ec41eb9acc4176e311fe8dbcac24b57f8d656600e5fb4095eb4bf90b6e90203010001]\n[keysize = 1536]\n[n = 00d1f33c4d0c3b127cfd4c711aef054e291cb9a9b7b769d6dfcea5ba02d99f0807ffb63f097ed7b5c5e2ad09578c749863a96a2bedc3e72738fe887a4a1fae6ca8c8e722c8dedc065a4df9f5c38e950175a7e0de9008f3a9a67e3413f9891e2f8a70b29f55dd21d2cba16f8e2300ef7c35ed1e42ebfbe70645230ddd8c067dae9069ae5f32937a207e0e7896e87fb399e6c93bc5bf6c2504fbdb3ecfc281f8da29115b2ec41eb9acc4176e311fe8dbcac24b57f8d656600e5fb4095eb4bf90b6e9]\n[privateKeyPkcs8 = 30820399020100300d06092a864886f70d0101010500048203833082037f0201000281c100d1f33c4d0c3b127cfd4c711aef054e291cb9a9b7b769d6dfcea5ba02d99f0807ffb63f097ed7b5c5e2ad09578c749863a96a2bedc3e72738fe887a4a1fae6ca8c8e722c8dedc065a4df9f5c38e950175a7e0de9008f3a9a67e3413f9891e2f8a70b29f55dd21d2cba16f8e2300ef7c35ed1e42ebfbe70645230ddd8c067dae9069ae5f32937a207e0e7896e87fb399e6c93bc", + "5bf6c2504fbdb3ecfc281f8da29115b2ec41eb9acc4176e311fe8dbcac24b57f8d656600e5fb4095eb4bf90b6e902030100010281c1008be04109981f7726dcdf63efacd55d089901bd681003accbf97282a64974e1b5ea90f218927086c36b4d1b8f3f9da2b5ab767803f5e3f846c99605db82960400c3b0f284dfadb971cac7c10c63df3454bddf5c889bde32e620e8f371e9ffb96d8ec9f8ba95449d541691e7ad22453bcc52d938c41bfe18c70e8e042c4b83e4af5a9c40d45dfcb8536540395ea8b6d261fe14c96c8bf1d2bcc84b0ed1381ba2135683dc74ba03b64223a0aa968b6fd1a6f26f23b3a4c8e145d6c8922c925acc81026100eb6b28e97c190ade38002d738eeed3479ab199d4eb9012de14eda58d7819a2ab07a903a286ea5e689412089200220a3876732271ddfe3a27ef19b37005ccd57aa02bca3ace160c9246ff282c7cd5fe72a32c31e9718e6661908aee67f2f572d1026100e44e12b7e2476fb08db8c536af017f76c392af55144146bbd55ee890b68d464779fad4b24161b0a57a611f86b5c21fe87b84126e11de9719a0e626f34ada3ea661fe219814d3c59719862ce0edfcd238f75cfc32daee448b7050c6f62243989902610082e89ce070f48ff990147131d02a77ec5a56261fa33a0373e1196134f0b2f8a4b866c0b1b0ea44c34c8b569eb15a3c6ab75b40ad26efc6b10c213389b87ff5b9f1b54808392f43a057c06d3b87d38b617de10684347425f45ce714b952fe2ff1026100a40cc5be844638a770eeb82757118879da86689e85f371d43eb9f7fb2471d7723ce0543dd26553fd5436bde49a6e67673279f0944f1ad7107f6161d3a891b23af4671bd4a0029c14bb2e82c90db981859599a74f13a9ea6f17c1b375e1a118e1026100b60b29e2407e938824820a5412f0f5a8c568f2a356df31b669a8afec89ea2ff34ccc9dcb6f962b76ad02db94ff9cb4cfc0f99928373fbd6a9923b912a39ef9fd7ab9074e97b938396a2f5fca0b0ee732fd0215999e5049798b338ac891b46c8a]\n[sha = SHA-512]\n\n# tcId = 57\nmsg = \nresult = acceptable\nsig = 190497b9c697bc8571dea0e67a6594d1ad0c401904a6a8f6e44837452949b1fb2044482ada64df89978f1168d5caf866afd928817afcdb589ce3dc6ffc5d58cb76fb9edc59b7d9188ead57981e1acba36e21d76a668660fb7bbf6f0c946ccc86dc251855c2cc19de83d11aba1d2c465db713725c2014e48865778b762dcbefd40de78f624436c6a3d316594dbfb3b05af97cb1d19229b3cc29c9cc6df414ab963bf1d6fb4e50c82dbb1add6d091d5930de580a988e3268cc5716d86c90dc12bc\nflags = SmallModulus\n\n# tcId = 58\nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nsig = 5259fe9566e1bd81952a805384b1657374f33550ee0895b57b7a0869a831270d3b3b2db8e295a4eb98d8eb036183b3d228ad22b8e493c7eb0f9ab00eeab2e086f10f8018a8daaff4858ae745a4d70881a166963c64403216422e18974aa456d8229ef2e43002e0390166630c7fabd14efaa974a9521a72a69e0b446971db077ce80f6dd95cf797b6ed276873bbf6b1ba6a79df8c917c2a3fbbc0e5347b0bb99eec6ad0b6bdb7bc9d3e0a7f6b7b623f2aa9dba1e940676ec5629d39778286f261\nflags = SmallModulus\n\n# tcId = 59\nmsg = 54657374\nresult = acceptable\nsig = 288226f169838f352ffe409368cf03d840e0c0ac5e2c8d24471a924bab05ccbef26f202aabed9fbdaa33ae4a95de90e4196d92a72926971230f90a08fa68e51b326c9b5dde4b7bfe76766b0362695315846c2270a67e7c3f623367c87ce13670c8c778ba379b7de015a1b3fddce8d54825ddd22a8f88d89a43a0c5be784c1c1a1b920aa0dd31102a23d50e3874c411051f724a9b6181299d63db58dec0dbe667f7455f97f5abddc87cdd9d85e7e8139fa5e4ebd167aa8af8439934f34eb7f1e5\nflags = SmallModulus\n\n# tcId = 60\nmsg = 313233343030\nresult = acceptable\nsig = 15eec15039b374bab3d0eafff08146e4ace24e67a2dc14dc6cd19826cff0ffef52f62210d5d1299ee482c6d39be0fc4544b2911af75a8c5fc1b57b658febdf094d4f648f82ac88717c14204e3a570b2c796ac3a2e3cab052c3ca8f5d39c5e5a4ce883b5aeb6a9e6f0b72d6ef7b8caaf75c4914df6a8a0e7ba6180ac639296d9e29f21b7b6ddc09ebd9559ce95d3fa27d7325a2c3e8c4dbe52f18036a9261a2f35c48e34bb5a137fd92549746b0095008e63d351acc66033f3c9b6623d2db976d\nflags = SmallModulus\n\n# tcId = 61\nmsg = 4d657373616765\nresult = acceptable\nsig = 17f4a3294054ba76deb171fa60d4d224604082432b5119253bb28766aeccfdeee20fcd450fb2b1c76496d28f871b7d3b3b768a81ccb5313ffc37a25760c30d282c309fc929108ae743507edca29b594360c924c8f00f472bdb15fe207fc76c83d4160ec3ef502349f4baff23cf2c954029db4c68eac992447dc63abb3126c1b82af57472aa205c40dbd445f008e01dcb3ddf770fc0d778c3f4913a9c4615dc6291e29e0debbc3b02a82f0a52ed59f0ea19cced519cf037b4d6159cab53c23c67\nflags = SmallModulus\n\n# tcId = 62\nmsg = 61\nresult = acceptable\nsig = 505ffc20f64d17502d9697458c58153b34bcf607a01dfa4fc77c89df2ec41e63f9b396056b76140c46b2b47d6535fea8dca0ba19395df2f7e7f2ba53d05c9cb4eb2e04d2a123747f15899c65cee85e794626e35c0f1dbd3e592904c0f0324e417d122a0adf401a0a5d5e7516d263fc8f6909c7ea7c984a4e3f1c9535e6a6e66d8d35689ced12049b4ded2cc93a5e6148773dffdfd1734ab55822a6e38a654a7bb82fecf83d5816228962e17bb8bf6f3108f0c89bc4430d67c38d648d7a17a29b\nflags = SmallModulus\n\n# tcId = 63\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nsig = 75627812c1b05dea5a309394dd74d9fad11a6776cbe6d8ad0936b343bdbd0b6a770ed1075676bf55cabaded9c6f74913e97f512dbda5b9ab0578b1f1dcfde313fd88c4c876252f4334c2d4752abb22c484e76237f59878b42d4d75843c93761ab3532295b6a26dec558fa6a65321d0f6f3fc88c8c21ffb8b0739de2459f1a3fe1fb9b71a92de934d86a8efdd0447885cfee91ed8b559df65d5b57276b5ae2068ec30f3dfe48371ea59fe487419c9fb3c4b58449c46553b497a2ddf7b30aa7a78\nflags = SmallModulus\n\n# tcId = 64\nmsg = 0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff000102030405060708090a0b0c0d0e0f1011121314151617\nresult = acceptable\nsig = 8f545e7acb30c05fd8de82f2f180aa34f7f14af62c39c70c9d262c51836379d4315374ae04673062256505ec2452f1aad3a15ac5d73d30ee2e0f60b10f905704a883b7ec712bdc9aac2a2ed6439caf20cf7b22f146ff85972f44cbe8df7a4e7735a8b3d40d0f265ff8a36131b8307a422194daaf7554823c972673b93c3e1fe3ea9502e55345ce91fc5dd94a06302641c0fd22d86e076448573a7fab81913adcf190e36e93792d161545cbcc98c4a0d1d70fc03edb2ab6bf92cf159c462c9be7\nflags = SmallModulus\n\n[d = 0747d520ca9b2dfc0335cf94301140b8102fb838c92ea99917e354e25709602dc0cdef231ff26ad2dfabbc391e723072a4ef52929f3f1cf0216e44c0093030f8ac29096faef28933bc9b924287014e2e935e2145be4752ccb82cb7646271936979cab73f521eeb27855ac2a410834ae5082eb62ef6f9899ee5cbb624a8d8c04ab7edcf78fe135d0f808f63b5de6e071779bf1d9eaaf8d3ef965486f2c52625e6e57a651c7bbd0197c99c057b3860a3260c864a11b3cf22ba44de3a3b3f3117e64ebf9a91f626ebb3f3c26d1b0bb80753468d4bf6a997b28335f20ed8c384d7558360a9ae9755661fa3749846b174e6bf330e52d09941f6ccd7de5004779f9bb9]\n[e = 010001]\n[keyAsn = 3082010a0282010100bd31c7a02691d2d9587ef6a946ff788544ccadd4b2988ad62086792a6bf96c8616b4ad13317d2270b901d0fcd1d880cb8f52fb87304a5258c11b38dfeae8df670aeee7ea1d0d9df8e00e80847e41e5989ed402d44e78b30fef17b5671d3adbf8685e4dc204499ecd1863e1d5aff28a7cf66eadf31fec9236c120add13451522c647c9832a672cd64d328c1c322183f4661d09bda60b8dd5f0328da5420821424afdabb1a80c5d12763a1b0238cd89d0742bfc50b6a2fcb701d824218f9826f4f78a23a2b5aa42ace7f175376fb6cbdb2bad293ba583d4d31c6b8f9029e46b13689249855f505756e00e225a6a45a18769bd8d2b3a4acb9f1c23d3e51882561e50203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bd31c7a02691d2d9587ef6a946ff788544ccadd4b2988ad62086792a6bf96c8616b4ad13317d2270b901d0fcd1d880cb8f52fb87304a5258c11b38dfeae8df670aeee7ea1d0d9df8e00e80847e41e5989ed402d44e78b30fef17b5671d3adbf8685e4dc204499ecd1863e1d5aff28a7cf66eadf31fec9236c120add13451522c647c9832a672cd64d328c1c322183f4661d09bda60b8dd5f0328da5420821424afdabb1a80c5d12763a1b0238cd89d0742bfc50b6a2fcb701d824218f9826f4f78a23a2b5aa42ace7f175376fb6cbdb2bad293ba583d4d31c6b8f9029e46b13689249855f505756e00e225a6a45a18769bd8d2b3a4acb9f1c23d3e51882561e50203010001]\n[keysize = 2048]\n[n = 00bd31c7a02691d2d9587ef6a946ff788544ccadd4b2988ad62086792a6bf96c8616b4ad13317d2270b901d0fcd1d880cb8f52fb87304a5258c11b38dfeae8df670aeee7ea1d0d9df8e00e80847e41e5989ed402d44e78b30fef17b5671d3adbf8685e4dc204499ecd1863e1d5aff28a7cf66eadf31fec9236c120add13451522c647c9832a672cd64d328c1c322183f4661d09bda60b8dd5f0328da5420821424afdabb1a80c5d12763a1b0238cd89d0742bfc50b6a2fcb701d824218f9826f4f78a23a2b5aa42ace7f175376fb6cbdb2bad293ba583d4d31c6b8f9029e46b13689249855f505756e00e225a6a45a18769bd8d2b3a4acb9f1c23d3e51882561e5]\n[privateKeyPkcs8 = 308204bc020100300d06092a864886f70d0101010500048204a6308204a20201000282010100bd31c7a02691d2d9587ef6a946ff788544ccadd4b2988ad62086792a6bf", + "96c8616b4ad13317d2270b901d0fcd1d880cb8f52fb87304a5258c11b38dfeae8df670aeee7ea1d0d9df8e00e80847e41e5989ed402d44e78b30fef17b5671d3adbf8685e4dc204499ecd1863e1d5aff28a7cf66eadf31fec9236c120add13451522c647c9832a672cd64d328c1c322183f4661d09bda60b8dd5f0328da5420821424afdabb1a80c5d12763a1b0238cd89d0742bfc50b6a2fcb701d824218f9826f4f78a23a2b5aa42ace7f175376fb6cbdb2bad293ba583d4d31c6b8f9029e46b13689249855f505756e00e225a6a45a18769bd8d2b3a4acb9f1c23d3e51882561e50203010001028201000747d520ca9b2dfc0335cf94301140b8102fb838c92ea99917e354e25709602dc0cdef231ff26ad2dfabbc391e723072a4ef52929f3f1cf0216e44c0093030f8ac29096faef28933bc9b924287014e2e935e2145be4752ccb82cb7646271936979cab73f521eeb27855ac2a410834ae5082eb62ef6f9899ee5cbb624a8d8c04ab7edcf78fe135d0f808f63b5de6e071779bf1d9eaaf8d3ef965486f2c52625e6e57a651c7bbd0197c99c057b3860a3260c864a11b3cf22ba44de3a3b3f3117e64ebf9a91f626ebb3f3c26d1b0bb80753468d4bf6a997b28335f20ed8c384d7558360a9ae9755661fa3749846b174e6bf330e52d09941f6ccd7de5004779f9bb902818100fe3d238d376a3856d9592fd4961c17a7fb0fa39d442e9df22e7eda115c648c5cb738df89ea92d8378558d0d9c1cf3d8bff740d3743a0140a6a7523e9176c2953b2c11d7f44691cf8bec2b34fb59c649535983319488118c03118ae7445e70df466ce98671260f05d5068ce777da97e2ba84779490500ceb4ff7f62ceca9a147f02818100be814af26bf3c27115bc7595d0d12a1af7713feca877ae6e6d858825eda3d192704774f42e1ae1b67f1739e8c45a0476388070fa545b7cc96b8a44003bc8d07fde73f5bcdd18268395dcc2842b5023ff14b352382607b7179a5ea330840fc45045d86e0acc4feb135f0ab9b7ce6b8eb5f5a575f2a2a8de299c0d3f506df4879b02818061bb4cf4572e0cf44ddefc0503a34ef0b31142fb0c9fc2f5bb2be656302732d1dd590e8d6cd0002fefa1c1bf43c28fcd4668ed3fa64e5e05d700aaca4ac7b867455af924d83e73f5a7171f68efce6bd7f3df4b1d5802d069e935acb263c0bb5b8d3db3d64379624cecc12d453fd82cf9495a18649a78c1fd500e3f04715ba3af0281806649dbe920a7a8ceb982108cd9ab857527498aae52a2b86918ab6b381a4a2cbbf94794f78b4de9c5e8a59af56d807c06d23dbcebdca1a6f62ba4f8f03b298f32294a9036d16c2739de1cc3e0ddb4d12f2479487b57882afa246c0e297daf4d94607c5e51b3f4715f5c57d0f26d867901209db02010d0a541284640a9b9f0636302818039ec606f5c9f1f33d964606e128e9e90cff932772c5715aa759816d504efe2c46206f3379aa61d31f88e726b50dd80b8ce8558a0d7408525f58c3399ce32e239d70941f12d21e7761c043e0b02220d25ffd03571c7ae5bbd59c31f48120676f9d7c370a749d8491bdfcea01662a136c85d349b6c710fc6f6ebf8a7a79b62adc3]\n[sha = SHA-1]\n\n# tcId = 65\nmsg = \nresult = acceptable\nsig = 0d7e029e2119e60e585409b4b27bda676a1ad736008f4b1febfc36b64c6920024376f8b9d8f13590c281dbb1bef7bba3212fd0259cd6aac4ecc955e305be645cfaf7b03e8c871b4076d05fde7cd15cc5aeea187f3c4c1774983baaf46ca638f2a6e95dfcc20c9b6e1dffa7739f138422a36d92ea83eecd9955c7046ae86506ca7a892a1f61ed3a7ee472ccc31fbd20fff87d3ef35f5a10b6dab475a3230a78b0a919738741807b6c482750154f62b3c59039aa4a0e359b43ba4c3b2185176b80db5ce99efdcca1e3e03d08b660822b71d85614b79e55fabea1a79f23da031230d6c27e2ffbc59d57e9c6da1f7e4579c3a98facd772236f787633dab9738d48bd\nflags = WeakHash\n\n# tcId = 66\nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nsig = 32f17d854cd2a5ff46b805ac0966458573acb138de56a9d55673ed260b6a2e965fb0455853b4a94d05ffdfdc7dd7ab6c1d787fc8bf26f47b9682252b7a201821c62bf2237f7b95523a868b0bd9e7ff4b3f008f15f19655122a72764ba2ff58f8bee0f1223c1914ab4d309b74ffc97931842dcc99ed88e1dbade98a3ab4bae03f323111a5a1360340fa60fead3c0d9df1fb625b4559c690adef10714c10ed7a4dc7e5f2fb84e83db7229768f5dd51c60c48dbf7d7c865c38d2a5213fe00b2c4d7a0821d8f337513a3abcfab7e6822f96ebfad79c84526eb0ae4a05048c4f5a62cb5f9d49cc6b94055cc8dd2f9b3e249d45cdaa85bbc41e6f0613596e71c07efb4\nflags = WeakHash\n\n# tcId = 67\nmsg = 54657374\nresult = acceptable\nsig = a0e86ac8060a42bdb3e46e1e3243b87f831483cf73ed6cbb6b30f442e80abd04ef351de45b9952c807497381f3d4c802d7985c73895243e79887211b1c1bf23c1510bea2f038e03cbdf368844ec4513f5541079cfec0e6e0c2136524bbb90e670cc554919b6ce40f668ddf603e9188ce4c2d83e29df3880b9ba5473a676a6bc39e39e6d560587db7b9a5bae659df1c65184d20b0237404d86da670bf24cad739686946a55e2e6e6651e8ca79f7459b1b00a5847400b9675c403ef1f547b0f27ddbd44f91c16c5e4ccf3d271973271752e67e17955ab3a3aba53f27dca6676de79e1bf69a177d1a38d1038572407f620c2a66692d9208c10a7d7e520d5e2597c2\nflags = WeakHash\n\n# tcId = 68\nmsg = 313233343030\nresult = acceptable\nsig = 3598f87916b45e657df63a839c7e544953c0039477b396a276d8df752b0a98192a10fdf431033353f8565c6de1b268f4ccb44c00ce760c67e97409271c55055b3ea885d742def2c6cd32f5fed077193d12bd48d78130353ad4aca34d9148bfe80d8ea455c3ce4b24f70131908e1947feae311e29e0ae9d1074ba73124568468e34c8b073283d16359c530ea613adb4de2ba94ebc470a57055571ef9f575c068e00de09b6d1af2051b93079ddc683090d4427847b4b9ed63a34a01d9aeeef00524278ff54b7d2955ccae5ca1001ee7588f5a21166dde7b2941a6136b38d374aac73752bcfd3e700066b2972c66cef76a48d81811e26fc7646974a149708ae2d21\nflags = WeakHash\n\n# tcId = 69\nmsg = 4d657373616765\nresult = acceptable\nsig = 138ca9545ec6d2bd203b51906680aca4f286477abcaa5602e7163c7905e03acc2ce203edb0587a849ebf25ccf5417e326acab708c26adb6ce4e9d48a145ea649255ee7acd88f1a3f378629e7f07733dd37b715929c09c4d25090bc99ee529341754096bd812b5835a687758a1995c4dfcabe7ab9573ab77332a063d978fa89b0f591640ca0c2eaedfa1711571d24de1bf04ca2ec4459d8c5daa3e9c11f876dab17407505574aa65d4a92be714b227007dc3175b1541baad6233b59f7fb816c9df6d896b36499d7075fa47e00fec9225b4c6049d507cbe9d0556fa10739f94ed8841ca54929c16c53e03fb04f552333dd270c704e611e4f734cd0a94a41ef7486\nflags = WeakHash\n\n# tcId = 70\nmsg = 61\nresult = acceptable\nsig = 60c54adc744cbe9079c5bde94afd7a233b76c4b4d3f7b6948e35948a60d76dba4b939a949903100080f532e6d21a3c788d4bbe08678d5d5b24c0515286e025a7eb220490f1e94b8fb1891d32b423c9889446b6acc17da1e127ca0865602ac309d85cf27fdd594d84603c790ceef7e967f49c1cdd23989dd01abd84a2c33380fd8a723654592f0702fdddd4c129fcbe0827f91bd1fb1eeea8f9aa42853e4cffaaec9930d98dee7469bf59f225421c0c0c50142c81968e270f7044ee95a1d86999216b20bc77280237d9df87781c9138fd030f1edf1ff7069fbbc55b1232beaae640a110ec708a559fb360d54a64aafe7c990d7a6dff88f0018cf3f77beed9e28c\nflags = WeakHash\n\n# tcId = 71\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nsig = 736df32badf9f57455b0ea7129da61ecead04a709678997f0aae6a47d0dd877bf6fa0b4fbad91d9e5b4a15675e5201506a5b7a9de7d110350bf1862be7d867025f237c0f44555905ebc22c7e88fdf61c6a8be636c919b630079a0aaf1020e3e53c03a0f830d9335ce668fcb52e54c62408a4c7fbfbbe4243e843cd10461f2bcc4939869ca273fc745ab6ff3f4528b05a5131d124f0076cd2f644590d5d9257d3e6a5ccf3415fc6622f62d76c3c533a761ccc80d01886345d3c306a27a8d52fde6c39fd50c8c98051160bae41d5aa43b23ec0d01a04175bc3bac4cd81a29f4922b7aacc89b36e89a3c6b02a9056d134345b96bd67ae33e219cb0835aa93fa7cfa\nflags = WeakHash\n\n# tcId = 72\nmsg = 0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff000102030405060708090a0b0c0d0e0f1011121314151617\nresult = acceptable\nsig = b7c3e881581a1f8b551ea95b9c69009e3de1dfd751dda5dd2dc6e4083a643cd7dce19686b99c6d3af7020b91e732dc5e56184036b3d6a2de19883befbb37623c7162a5900aa36f45a8935c65c2294013092c5e17f4a29c0ffbb91ae383a066a19b15b790673511b9b1eba51bd5f98dd126b2ea633604918cbfcf2ab76e88867949cd4abb4757d4371f0821dcd3ac9eff07635a9d679d03a919a009f7dbd505c884d09168f2bc333fc15449af8d3458af8d149ec211c68d8c72a85fd9b69cb027776d96888e874b308f323b1313e05ffa7a469c940e99405c90503116cbe93f8c7c006c07d0ef9cc693bd06685f12b090de59f57399963c54f7e556772165d00d\nflags = WeakHash\n\n[d = 56d0756ceddf7b1e5b258f783b99e036e25675eca054ae9b6ed7552776c69b2728f76e08973556b0a35ddbade9d462ed12bfc46fd254a07ef4ee043ab24d1ef00f8d214cd1d906911e92c4a212d9a981da74b8d18208153d583035d6642b87a23371787867efd02c336eab01486266c853a052490deaea430c6043a6b240b6e9d71e16f29255f2ceeb35d1a4ae25ae0dc9a436fb5dc30381cce982acc824961976df683173a02a540c403f3c8560243ceb5b798abcdc20f3c85d9532b0f0b0826f1b6352c5adac757fe3224b822455cc529fcdc8a220b0469f321f56bd1853d8a70b893f404cc06317e084173770c7d4c836281ac251353fcee4ac393838a1a1]\n[e = 010001]\n[keyAsn = 3082010a0282010100c32cd0e1441f", + "de8a2896ca3a133735be2d1010777cfc739afc77b6daa66f367d4876dccb3021fc22c25450a68d6cfb1191d485cbfba5ec45b49286d7cae2bdae553f47e10b94f867abcc6d0affc733bacc725e5ab4de1aba19a39d748b4c1355d5a6a710a52bd04c0c24e7bc3bdab8f3ce3ae86ecb31c4b45e10b40ddb5fdd40cb2411bcf5b1d392e1eef959cff2709a6e02b20ff3b4343641a6b78599586edc9b673d9f3f5e9d339ceebf96a1a31655876c39fcb00b1c3e571908c9b744765047abb5c23ecc42e551e13755e38cc9a13e1e02bcd5dcec9c301fab75be3e1a8ee9c42981607aba7855f4bbe76c8c160e80468b54bdf9f438b177c33dee30b0f50203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100c32cd0e1441fde8a2896ca3a133735be2d1010777cfc739afc77b6daa66f367d4876dccb3021fc22c25450a68d6cfb1191d485cbfba5ec45b49286d7cae2bdae553f47e10b94f867abcc6d0affc733bacc725e5ab4de1aba19a39d748b4c1355d5a6a710a52bd04c0c24e7bc3bdab8f3ce3ae86ecb31c4b45e10b40ddb5fdd40cb2411bcf5b1d392e1eef959cff2709a6e02b20ff3b4343641a6b78599586edc9b673d9f3f5e9d339ceebf96a1a31655876c39fcb00b1c3e571908c9b744765047abb5c23ecc42e551e13755e38cc9a13e1e02bcd5dcec9c301fab75be3e1a8ee9c42981607aba7855f4bbe76c8c160e80468b54bdf9f438b177c33dee30b0f50203010001]\n[keysize = 2048]\n[n = 00c32cd0e1441fde8a2896ca3a133735be2d1010777cfc739afc77b6daa66f367d4876dccb3021fc22c25450a68d6cfb1191d485cbfba5ec45b49286d7cae2bdae553f47e10b94f867abcc6d0affc733bacc725e5ab4de1aba19a39d748b4c1355d5a6a710a52bd04c0c24e7bc3bdab8f3ce3ae86ecb31c4b45e10b40ddb5fdd40cb2411bcf5b1d392e1eef959cff2709a6e02b20ff3b4343641a6b78599586edc9b673d9f3f5e9d339ceebf96a1a31655876c39fcb00b1c3e571908c9b744765047abb5c23ecc42e551e13755e38cc9a13e1e02bcd5dcec9c301fab75be3e1a8ee9c42981607aba7855f4bbe76c8c160e80468b54bdf9f438b177c33dee30b0f5]\n[privateKeyPkcs8 = 308204be020100300d06092a864886f70d0101010500048204a8308204a40201000282010100c32cd0e1441fde8a2896ca3a133735be2d1010777cfc739afc77b6daa66f367d4876dccb3021fc22c25450a68d6cfb1191d485cbfba5ec45b49286d7cae2bdae553f47e10b94f867abcc6d0affc733bacc725e5ab4de1aba19a39d748b4c1355d5a6a710a52bd04c0c24e7bc3bdab8f3ce3ae86ecb31c4b45e10b40ddb5fdd40cb2411bcf5b1d392e1eef959cff2709a6e02b20ff3b4343641a6b78599586edc9b673d9f3f5e9d339ceebf96a1a31655876c39fcb00b1c3e571908c9b744765047abb5c23ecc42e551e13755e38cc9a13e1e02bcd5dcec9c301fab75be3e1a8ee9c42981607aba7855f4bbe76c8c160e80468b54bdf9f438b177c33dee30b0f502030100010282010056d0756ceddf7b1e5b258f783b99e036e25675eca054ae9b6ed7552776c69b2728f76e08973556b0a35ddbade9d462ed12bfc46fd254a07ef4ee043ab24d1ef00f8d214cd1d906911e92c4a212d9a981da74b8d18208153d583035d6642b87a23371787867efd02c336eab01486266c853a052490deaea430c6043a6b240b6e9d71e16f29255f2ceeb35d1a4ae25ae0dc9a436fb5dc30381cce982acc824961976df683173a02a540c403f3c8560243ceb5b798abcdc20f3c85d9532b0f0b0826f1b6352c5adac757fe3224b822455cc529fcdc8a220b0469f321f56bd1853d8a70b893f404cc06317e084173770c7d4c836281ac251353fcee4ac393838a1a102818100ea6010a0017d4073198610d0e761f286e3a1133eeed71b4fd4dfb0d8b52e1e1d8ffc58d9c10396629952eb002369b22bb9c3313c80330c1f3ab7a3fcf8d0fbf5a1c0fb7936ef20d51373b21bea72fcb7f70275ac41d97b566b71f727a32f0006de15e7f9bccfcc3224106f6b1ae62d59380065a48ef7bd015ee6dabae0f9d78902818100d52ed808d74a79b3ab515b4f2fe7b41027472c3785eb25587ae31d3500bf3c6ef20c427e223efa4f2911cd38cfc4479f28ae495fe3e88e94c236c0bc1323d71027aba290669ffbd7e0fbb6f615df1c9e4fe5abb5a90d4d0b6d1dea0ae2b249e6a5102092c998b60dd920d09a2e6ecf2a611793016bc0c92de3b9d92744bc070d02818100cb64f6c884c257ae0b56673d83af62b360d3a64a1527a3d211e0d62e1a7d9d30f6857dedeb2cdbd3514fbe14eea689329d1121a76971e3712e99b3bc9389793edf5304695b1d0697233c62330bb12253dc0ecc63e2f983a9a9b0cb5620ad670e8ea8e019c09b6c8f8ef09c608c85789156a231932f671b251760ac2d45944c5102818100b616befc3e3824dfac535f74b1ec6d46e6e5ca04dae4510fd4572d595a7bfdf89dd28ef101fb5cfe448c2a087e9e9eb6799ef4996d27f4b1677a3101f42f46c14bc134a7b6a0ac1266df5a15b3f4d0930097a22516727ffe64838aa7259f37b44405146d8cb85db8525fcf0e02df2f2079b21324c18ef7c7b49dc7b7dce3e5f902818040fbda2e571060971cc6aea0c1cc82beab4fa0361de43a55bd2b399f25ed89e33c48983f409d9f27292770d5c0ac1b31adf766045e60d67b89957c81c0f3b7706c3e1418926bfecba0242ba54ed95ae1bc73b67ddb1e3f4161380cbbf1db7d3dbef852ebb38063bc2544c9c29f47f416f14eb1ea3cf2bab933d21c2c091293ce]\n[sha = SHA-224]\n\n# tcId = 73\nmsg = \nresult = valid\nsig = 19c576f191c273306ec6ee9e26c673bdcf3f821adaf13a0759df7787511ddb096e964f5dc199ccc5cf131f855065d6ff0a6c720651477d9026bed82d201f6e84a23b37725fd24f5b75aedc2afa24524e7222c0dd7c6d2742430bab3ec46d12204a94a533e2a9147723d087d619e07873a4261c420226ec1869abd70117c787d4b1827fe98779287451086354292bbb90617ceb391122efe70887710c5cb4549d163d37e79b33c1b336826cb53b648689e6da54241d20df822cf7770d7beaef4bb00068252786580a88cd00e93f5ef42b69efa7c364b98749fe734ee7bd13d0aca585d84e4fe4b29478697170280a5921278997ef9856f7372b6995d7eb43ce0c\n\n# tcId = 74\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = ab2e758c8de97282a7ede3401680ead187cc08658be0041f108851149a9b9d2588d5ca544039533eebd0305c07f394504d91a578f5764267149d4ef70b88a2a3f8cf0b1061d06882af53a88bef195aac87294dc833d80f42d942f3a59bb242b187e23bb89a068bb4c8a215247d04aec57f81f75c14e711b5878b04863e715d0f359ad13f008b79342b7a4ca095fd021f639e8f48860c1eafe6fa19162c2632a2d3a05330d149f3ea6c9aed9f89fa3f7bcb2cf2a3d1af0484178710c21c046a812f3b8d68027173ff5aeb1ad19ea6639e2d886eabf8149a8fb491d2c36ccfc4da2a9785a992046f24a93d2dd7765a171cd8ecb68b94ee70b0e5bf791967267251\n\n# tcId = 75\nmsg = 54657374\nresult = valid\nsig = 61c702c72b0177ac857e52707c1a40b84a1859bf1d7d1cdbda643f924e8bab7c3d3eb2065aff837e92f93836fd54ea52e085e19cb0cb59fa58afad48480c2dac579315340883886e78456ce750fc55b6c188b716bda7957ff547222f0cc1462344de4bf078ec19f1ba5901a0e5f40d93dbae4aac407834b272a2be82c8da085a3e1e9e0a57d3f43d26462566f0aeade04ee8981fec8d7e34c916fe78c0c5c43781bab2fecab654fa55ac99182545d0ddf070d41f67efe0737d8ecab3411720c84862606c8e4b53e60faa1c9a98386e92b03d676b53e3fdbca3bdf0187ddc50086cf82ca6052be55fbb7f3bdb6c6c0432defa5634797c23b494c3880846169b67\n\n# tcId = 76\nmsg = 313233343030\nresult = valid\nsig = 965f82f0649a338ef14387a7f3335b9e2d5d3b4009eecfd26c0110344a30117bde6bad668cf083beb28242460fbb96adf9754b9a4d4505f6412e677bf3349868fd5b5268786308a5293f2cb2f7ffda76104351f10381e504e72d27435d5bea0517d20ebec0afa531e520e5fe484475a330a40ba1109c204fabc44ec099878a5e31342a650047c299a5f2322f057b9586cd9eebeed1f3d2d94aac24f9d7b2f05c6f28bc49cb2b00f5e56870fa099cfb2c3e276381adf5a030ab6ffd9cb96fe309061d44c2ca5ccdd76a69458be561e3f0ef603ebe9ecd533333584236970dc7414124ace98357c496369bf94123bf0d4e57b03aee567c2f83a9e6378e62a42fed\n\n# tcId = 77\nmsg = 4d657373616765\nresult = valid\nsig = 105c68d221aa579ab6206d23be01d0c91f98fb67ed8d2044b6278916223758aa346bd6d5c7282d23a2bf702e0facdfb884e0b389202a5073a715fa80158e31d1e3588af30d2fd8b61233499ab7952f0761c84912b700fec807937d00a021eaa84d96f59760cc7733236138cb4ff1fb04c7d4621331b5c729f9694555b6f9c324e74db4a7a8b72f2853dfd0b9fe63759b3468bc66017bd6c1aada2070dc8643b5e581f12cad170d9fe754c65dfd0a5925cfe846a8413d729103e9d7e8825affc20f477d5bd3860947c2665ca4170fc44f2670bc33b51d42e5df78134919bf4660cfbc092c1cdcc09c8fda1ec9383512abe253cd1a470271832e0c7de5a6d9a7c2\n\n# tcId = 78\nmsg = 61\nresult = valid\nsig = 3662fc9bc91b00d457bce2fbc667dbb31ce7fa451acdbad95b4b418782b8af67d2fbaf1424be2c99e95e2637d8d39e751d757f89711ae165fe5bf142fd88b284df696e948ee714e3f2062c5d01d04bb6c0387aa5ff1511552dd066bda861e1c5cbfe73dd8c6bc3039b729c700c8f297f48ba2a36aecbb626b5c9f9b3c04102f55ee65ef5477d8d1d14d9b7b048cdac54d7239177e702d0629d3617de2a9fa556a6d4ec37fe38a46b768e39f1d8a380484ffe0cef59abb7e20ffdb7c11b14a42ee3cedda99ef9f71eae7cf760fd81172e03a3f2a9f7e42a813db3b089c11528350e93b131641b8d023d47447f58aeb9f3f38760df8a9b1ad4b8d43ba0c9018e02\n\n# tcId = 79\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\nsig = 8392c4d888e7c63ae2a3d53d560ccbc226dbb1d9f69100fd86a19ef30a83981371169deb4ef87aafcfb4186c5ebf8d83764470acc8c9cbe36a9b15037e25b1dfc63e929b0bb3891be2d1804b8c6a0bf65891943e4c0fd21e7df55c134dde69682244d22510dac2b304c10a2e31adc134ab27ed186568fa9091df16f1c9f4e7044ddef6675269de710774ed124b52fbac9bed285b4be5ef9f2fd50e1d95383e145553762fb87a1da173b8b89a7eb9e947d08b5303ef0992bf4e3783c30253a43b373d90a75bd52fc53ee4fb86bfa1bad035a8177f8c0a9f53a6214ec950c2a07cea7f908c55c24dc31799867f819af18fa30f304ea001ce9cc87eb703ab578f5b\n\n# tcId = 80\nmsg = 0102030405060708090a0b0c0d0e0f10", + "1112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff000102030405060708090a0b0c0d0e0f1011121314151617\nresult = valid\nsig = 6e753cd7072ff5692087ca21639b6b11046db222f85b8e9a3a17b080fbf491f72e03c2552796ca09b63237b8d9c8d66502ade07cedd4c8e1813378b942eb6043da59e496737a6837881366c91031ccf08bf81f61985e0792696c6b2d37a0329c94b5f3c50c6db8a732a3815b6707c4a9cded0157a5c8fd83da91efddcf4622ce3f4f961ecbb21dd79f79b424118e24d388d59f99c524837ece4aebc11ad77f108cc196f61f55ae67db69a8f16533ecf746eef1f9ce05cc2b2317427b3d0cead00103e8d756078ecc11a2e31fe0261288dcff752abf389748f14e0995cb50fbe725e9dbc0b301a456e203196ed359e9c7f1b9110c994005d675568026f4811474\n\n[d = 7627eef3567b2a27268e52053ecd31c3a7172ccb9ddcee819b306a5b3c66b7573ca4fa88efc6f3c4a00bfa0ae7139f64543a4dac3d05823f6ff477cfcec84fe2ac7a68b17204b390232e110310c4e899c4e7c10967db4acde042dbbf19dbe00b4b4741de1020aaaaffb5054c797c9f136f7d93ac3fc8caff6654242d7821ebee517bf537f44366a0fdd45ae05b9909c2e6cc1ed9281eff4399f76c96b96233ec29ae0bbf0d752b234fc197389f51050aa1acd01c074c3ac8fbdb9ea8b651a95995e8db4ad5c43b6c8673e5a126e7ee94b8dff4c5afc01259bc8da76950bae6f8bae715f50985b0d6f66d04c6fef3b700720eecdcdf171bb7b1ecbe7289c467c1]\n[e = 010001]\n[keyAsn = 3082010a0282010100a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d50203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d50203010001]\n[keysize = 2048]\n[n = 00a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d5]\n[privateKeyPkcs8 = 308204bd020100300d06092a864886f70d0101010500048204a7308204a30201000282010100a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d50203010001028201007627eef3567b2a27268e52053ecd31c3a7172ccb9ddcee819b306a5b3c66b7573ca4fa88efc6f3c4a00bfa0ae7139f64543a4dac3d05823f6ff477cfcec84fe2ac7a68b17204b390232e110310c4e899c4e7c10967db4acde042dbbf19dbe00b4b4741de1020aaaaffb5054c797c9f136f7d93ac3fc8caff6654242d7821ebee517bf537f44366a0fdd45ae05b9909c2e6cc1ed9281eff4399f76c96b96233ec29ae0bbf0d752b234fc197389f51050aa1acd01c074c3ac8fbdb9ea8b651a95995e8db4ad5c43b6c8673e5a126e7ee94b8dff4c5afc01259bc8da76950bae6f8bae715f50985b0d6f66d04c6fef3b700720eecdcdf171bb7b1ecbe7289c467c102818100dc431050f782e894fb5248247d98cb7d58b8d1e24f3b55d041c56e4de086b0d5bb028bda42eeb5d234d5681e5809d415e6a289ad4cfbf78f978f6c35814f50eebff1c5b80a69f788e81e6bab5ddaa78369d659d143ec6f17e79813a575cfad9c569156b90113e2e9110ad9e7b48a1c9348a6e653321191290ea36cfb3a5b18f102818100bd1a81e7977f9898122273ae3222b598ea5fb19eb4eabc38308a5e32196603b2e500ffb79f5b886816611debc472fac45544070beb057c941378a6868af3b7a03d3f9880ec47d5e089b94fbde542aba9ae8d72c57088d7abf5b131f39098f7bc160f90536abc9492fd4e06f3ed7299d4b97bb03677207d95669f140cfbc20f2502818100a94b528b28f291599121d91952ffd1c7f21d7c1479d99d478885fb161870ee1218bf08472612dbe5497e8d9c650688e09c786961ae3e2c354dc48ae34514759c4c23c4588488961dc06b414e61c0e1e7fbbd2923d31532fe289f96da220711e58c14019808e00414276933bb07e4efb9b4a9b37656917205209f33f09515d7c10281803af0e72a933aef09ff2503df78bafed531c02ff1a2bc437c540cdcbd4ad35435cf511763596543480629b114ca7f780ff7efa32ea0cb6e000d6d9ea1f2ef71fd9cf9948422a165557e37e755edfe70d90b920502eb478bc98a63f788ce3a0f856d6ede7251a383bfa8fa480a81a925af7b3cc538c4bab8c9f7597ffb68011d8d0281802640fbfbcfefb163ee7a87b6483a66ee41f956d90fa8a7939bfc042ee0924b1b7993d0445f758d51933e85179c0320b0c968b48a91c38b5be923e1097c0c562f88d42294b6a2759bafa5428a74f1270874e45f6fcc60f21602de5eccd143cf31241f5921b5ad3983fb54ef17be3b285367e50c999c67247b552fe4bfce945f7b]\n[sha = SHA-256]\n\n# tcId = 81\nmsg = \nresult = valid\nsig = 840f5dac53106dd1f9c57219224cf51289290c42f20466875ba8e830ac5690e541536fcc8ab03b731f82bf66d83f194e7e180b3963ec7a2f3f7904a7ce49aed47da4d4b79421eaf937d301b3e696169297b797c32c076a12be4de0b58e003c5123051a84a10c62f8dac2f42a8640008eb3c7cccd6760ff5b51b689763922582845f048fb8150e5a7a6ca2eccc7bdc85349ad5b26c52137a79fa3fe5c29ab5cd7615013219c1941b6708e9c3c23feff5febaf0c8ebca5750b54e3e6e99a3e876b396f27860b7f3ec4e9191703c6332d944f6f69751167680c79c4f6b57f1cc8755d24b6ec158ccdbacdb23107a33cb6b332516c13274d1f9dccc21dced869e486\n\n# tcId = 82\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 8a1b220cb2ab415dc760eb7f5bb10335a3cca269d7dbbf7d0962ba79f9cf7b43a5fc09c99a1584f07403473d6c189a836897a5b6f8ea9fa22d601e6ba5f7411fe27c638b81b1a22363583a80fce8c7df3e40fb51bd0e60d0a6653f79f3bcb7ec3e9dc14cfb5b31ab1735bca692d50ac03f979dda92747c6430f8045efa3513ba6e0ce3e9e35570e1c30c8ebe589b44192e1344ca83dfa576fc6fdc7bf1cd7cee875b001c8c02ce8d602769e4bd9d241c4857182a0089a8b67644e73eef105c550efa47a40874289395ac0c4e02fd4ba98e130a4c2d1b95521c6af4a002ac3bdc6e52122ae4c08cc3da1c896e059acbddec574ac0432f6103dd97273d8803c102\n\n# tcId = 83\nmsg = 54657374\nresult = valid\nsig = 264491e844c119f14e425c03282139a558dcdaeb82a4628173cd407fd319f9076eaebc0dd87a1c22e4d17839096886d58a9d5b7f7aeb63efec56c45ac7bead4203b6886e1faa90e028ec0ae094d46bf3f97efdd19045cfbc25a1abda2432639f9876405c0d68f8edbf047c12a454f7681d5d5a2b54bd3723d193dbad4338baad753264006e2d08931c4b8bb79aa1c9cad10eb6605f87c5831f6e2b08e002f9c6f21141f5841d92727dd3e1d99c36bc560da3c9067df99fcaf818941f72588be33032bad22caf6704223bb114d575b6d02d9d222b580005d930e8f40cce9f672eebb634a20177d84351627964b83f2053d736a84ab1a005f63bd5ba943de6205c\n\n# tcId = 84\nmsg = 313233343030\nresult = valid\nsig = 1758eb94588e6fc4f50c1be1afcaa41027869f304cad513b1fb12c2f446d63cdc05c4830a7e3e630da7b2da4f7867cc173bf6420f9732277282596de41ded32e21d0cc31441174da8765f57419c7764ea758f55bc17646eb100c435d1ac0eed6fc7ba6de5f832094ee2f479979765e05ac9976788db3c241a9e32a0da864f0019a87646ba623d63f4411af5dee1be9ec488c7e3e1b231479de70b9ac5f78a17b1f4120aece45f26c07e7bb345fdfeb05e14bcaacc614672a465fc523624cb19f66f9c6c3f642b832ca44cb25176d679f0e05606c3fed022cac24c2bf960a406d48818e3eb7ed53b0446032469047dfed95fc18088c92d91d93722c47f88163a8\n\n# tcId = 85\nmsg = 4d657373616765\nresult = valid\nsig = 513a5abde16b5e0ecb8659d3ca0845800adf75cfc4437d42fa34e7aafbbe35fc5984d3560cba938f9a622e932bb6162b7fbb6cd8c1", + "cf8815f28c495995ac18cdbe8fabfdce29c17aa021df192ac02d080d7c5eda6bd4c99154178a9d5e1cf3ff4177106315f4e6d74c991b601069acd60b55b3bb4dbf6316c35096a487d6756181d3394944f1c742a2f4d608ce4f6abbfb72347ad7d342ae15dd6d1049fbd0ff55f4d7c43ab805f81ff1fbe9256b5c78c2de6beb787f4b6d66d290a3d4c4857368aea5f7ebaa1296020c8f9e3670441a08038bb810e853a654e44316a4e52428745123ce2714020d00e55a9eb82f7fb41c73d852a82b003670246c6ca2045fc8\n\n# tcId = 86\nmsg = 61\nresult = valid\nsig = 38c042a00d6f27742a46f1f963a7b2e04f0eac637849631a491b8e4e58fc721c6ce620d5e705dc8e73409c3909c1c68b6bdb2b30f882cf2797e65030b38c4e7daf6fef9d1f115c890086cf54ca3e7c2b21dcbfd1250ed1d925810970f17dbf482d1784f296adee9ace6979075c1e12f5580cfb322e8737db9d127d38e1b99ed87ec49448a18a6fee650d3c27e4a2a86a3d6e3ce4fe64120be60872fa07a3f78a112715c167fb6c900698ba1afd824087a4cf733335c4a6d5120e3b29bc42f3b3d5db79973e4e321e0910a288d18cdba172d060283c4f4c6656e9175a18b756b7d06251e9060bbfcab04978853eec6032850a0e757bc0c61ad38aa4eb6bb6d907\n\n# tcId = 87\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\nsig = 2ae8d95b19cbd64d0e343ff413fffb85d8e6713c06ac8a1ceba7f3924fa740f8d2b3e120fd71f22711e795cd6468c5e263b1a5ba6ac6b8fa9e23d2d6e7243f510592a61d134e68b8ead00612dbf38c5b7302abc3bf33f23e6d4816a6e3ddcea6482566e84f57464f7d56de4cef0b2256ef21874dda4c131a47292ff8ef853f93804483c8e6373d39ca3a22552e75427b812b861de6a310ff4c366f6f6604116efd9770170aa423554c4ebbd2b5c0698950e66bb5b7c5c346285d9f5c35146255736b6e818e8e77983c93b21e7f60b04a7a525598e7fd8049b181000bffc7f3753a504370f6bb70617ac8e914deb05a198a5758a459c9fcd2fce1aede48e8a852\n\n# tcId = 88\nmsg = 0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff000102030405060708090a0b0c0d0e0f1011121314151617\nresult = valid\nsig = 7aad44a36610ac147835efc623e3aeec0d5d8acbd7f469f92142592c7b843c9326e2015c4bf3843678d2e183ec9ed568e5dd8d535ea77a6d7fe804222e6208d0160bd6cf2744cdb56bce0ed7269cc5f2bcc25d3474c0fb5bc7d20ebf3664bad858dc6e86dabfa5f39a70e23344ab4f8d5edc6397d9d1b54fda4216e0b93d37b906384f82d36666d526939e0f917344208aadf05416c656a11a307ce2101912763728cfc0bd237017d36b8566c6c366b13f142c93edde181146ec63e49a57335b5d9295b85aa4c00d49cae7930653a5651c21371a4b3ec8a6e0f371d005e8b4f1631f7466b767b4789e75e1d2bc63ce4c46e5e7baf0b801ef785fd07ae79bbeef\n\n[d = 5a3dc962dafca26cb3640e73bea7439a9f1874bc23e04226ccd89e7ba5c3b938a1a293b70dbab0f9f0f57f66951447dc33e730fd7e2c2a164d47ac502b07dd24cd3c142c2a79e4ceab5cfabff4478754b25a8c02c1a47d80d9f37abe442ca9a78b23f631b6ff3e15a4956d7f18590cdeb206d5e2b698bd084f260e82ef28ff9ec6dbc85a895ec8a3865750f501b96125db1bbdd99a4ae4688adb304aabdfc4e0cfb9fe6b6bc0db74c88af8217eed738a0d04fe8d32c1d110370ce1c1b2f630657350694942730878e6fff77ada7e9a317df8bc059ea7081325306b8eb2fa0d3a3d89fae476d9344892bcd5a42cf83b7bcf3e0e51b4c78e72b3207a60a701adb1]\n[e = 010001]\n[keyAsn = 3082010a0282010100cda6fa5ca76bfe0492ec57e0a3bfff7272dc8d1e25ad1fb338aa050f02c104e63133d6b5b7c4985ebbae9ac036a5b9c03074d60aec8e25baf392a0c430ff05b88e948805d3dd74511d8885250a7b574215ada015c559076686e253ccc96c0815b1291ee787cc3363b4f77d930eb998d7c582b24cea9ce21de9722791989863a27ebc80a00de5bd2f9228775e5a4ceb054d58c9be36a054336971a13642dd9510dd696aa268db3aab2299d5d88f8e562434d1427094d3df8e72d1ef69b4ed34d12bac375223b2a25cf227f735f816e85e17239304769a6082154cd15899fc1eaefb69b748a3e5ed24d38372597de3e4e2a27b951d6ac7db182d6809d8ff511b7f0203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100cda6fa5ca76bfe0492ec57e0a3bfff7272dc8d1e25ad1fb338aa050f02c104e63133d6b5b7c4985ebbae9ac036a5b9c03074d60aec8e25baf392a0c430ff05b88e948805d3dd74511d8885250a7b574215ada015c559076686e253ccc96c0815b1291ee787cc3363b4f77d930eb998d7c582b24cea9ce21de9722791989863a27ebc80a00de5bd2f9228775e5a4ceb054d58c9be36a054336971a13642dd9510dd696aa268db3aab2299d5d88f8e562434d1427094d3df8e72d1ef69b4ed34d12bac375223b2a25cf227f735f816e85e17239304769a6082154cd15899fc1eaefb69b748a3e5ed24d38372597de3e4e2a27b951d6ac7db182d6809d8ff511b7f0203010001]\n[keysize = 2048]\n[n = 00cda6fa5ca76bfe0492ec57e0a3bfff7272dc8d1e25ad1fb338aa050f02c104e63133d6b5b7c4985ebbae9ac036a5b9c03074d60aec8e25baf392a0c430ff05b88e948805d3dd74511d8885250a7b574215ada015c559076686e253ccc96c0815b1291ee787cc3363b4f77d930eb998d7c582b24cea9ce21de9722791989863a27ebc80a00de5bd2f9228775e5a4ceb054d58c9be36a054336971a13642dd9510dd696aa268db3aab2299d5d88f8e562434d1427094d3df8e72d1ef69b4ed34d12bac375223b2a25cf227f735f816e85e17239304769a6082154cd15899fc1eaefb69b748a3e5ed24d38372597de3e4e2a27b951d6ac7db182d6809d8ff511b7f]\n[privateKeyPkcs8 = 308204bd020100300d06092a864886f70d0101010500048204a7308204a30201000282010100cda6fa5ca76bfe0492ec57e0a3bfff7272dc8d1e25ad1fb338aa050f02c104e63133d6b5b7c4985ebbae9ac036a5b9c03074d60aec8e25baf392a0c430ff05b88e948805d3dd74511d8885250a7b574215ada015c559076686e253ccc96c0815b1291ee787cc3363b4f77d930eb998d7c582b24cea9ce21de9722791989863a27ebc80a00de5bd2f9228775e5a4ceb054d58c9be36a054336971a13642dd9510dd696aa268db3aab2299d5d88f8e562434d1427094d3df8e72d1ef69b4ed34d12bac375223b2a25cf227f735f816e85e17239304769a6082154cd15899fc1eaefb69b748a3e5ed24d38372597de3e4e2a27b951d6ac7db182d6809d8ff511b7f0203010001028201005a3dc962dafca26cb3640e73bea7439a9f1874bc23e04226ccd89e7ba5c3b938a1a293b70dbab0f9f0f57f66951447dc33e730fd7e2c2a164d47ac502b07dd24cd3c142c2a79e4ceab5cfabff4478754b25a8c02c1a47d80d9f37abe442ca9a78b23f631b6ff3e15a4956d7f18590cdeb206d5e2b698bd084f260e82ef28ff9ec6dbc85a895ec8a3865750f501b96125db1bbdd99a4ae4688adb304aabdfc4e0cfb9fe6b6bc0db74c88af8217eed738a0d04fe8d32c1d110370ce1c1b2f630657350694942730878e6fff77ada7e9a317df8bc059ea7081325306b8eb2fa0d3a3d89fae476d9344892bcd5a42cf83b7bcf3e0e51b4c78e72b3207a60a701adb102818100ef885b87e25c29d1ee431d1f4ace787c4f882e92d12c4b2766c84f89263106ef0be0ddc4de3bf061a2ba46ffe7c132ae67d337f04dc66daeb9de553791f4989f50b224c981812b5388d1c2b5d53349a61393bf6611995b6988f143c278ccc260cfe82a6ac4a6409807eab32664b7ee3f1c41dfe567e097fd7afe8520871a1c5302818100dbca582288c81a30d6581f272050a5fea773d711301bdd6ecac7214e00c0fcb9498f1e585086b14463cc89a02c2e77a89271c058c6f69f3cd13553994d8a76cf62ad9e275217720d62eb6e888ec4509cea474b53f37b458fc956dd31df3bb6ec7de659e88e7e709fe3be6a8d37264c3d20e7d088276ce7651a403c68d6c47ea5028181009d7e87c851d28d80c5eb84f375494ab959c5cdf1a4ed3dc0fb78cbaafedc8f958fb6dbba3cf1263ddc3424c8d0461c9fc60e802255d1197f20210ae10debc88a4011d1d4587d68d2750c8ebce620e1d4fbdc52a5b6fea1b7435e7752200169f123e2a0393171aad90ba38b05bc859f76098b5abec8cd48c2572390bef175fe970281800eed602d00432edc30428de31763c2d257c71b4d348a3ff0bd5ee6d9285df30c167ddcdebca1593abed86e646d7bbe6eb97b7647d14380af1dba54722dfd0072b74df956cc5181527d6c65f66a53d4f1c34b9247225b35ef3d0a643d75ded55e9c725f9ad6caa995825f35575fee7ef10be2129c9ca8ddd2550515d53cf8dd6d028180101d1f49afb04d065bd8c29001d212e737bba696108574a330a9cbacc51bf6c96594f37fba9c8de156c226371d49902191e1f69d84a1352193bff29e318eb36ede6ffbab93b6555ecf6addca9e134c20220a2d24b03a6d23ef8c608a5186769f66fe2f6b21bc39f6277ad706038b907872c4716609c223762130ef03616482f2]\n[sha = SHA-384]\n\n# tcId = 89\nmsg = \nresult = valid\nsig = c5b6f5fd8ea320880e9e27b0026b1d63bcd1152c72855853294b7683a759dee042be8bb0c350b0c31aea76e1ba2c6d79920c3e21b6e97b6cf46fabf92a701a7555540dd7c325e7c657fd9a079bc5a58923d2ccaef51014acd6fc6e5296960362a94688f2cb2675d5062c5101c3875399b95143511e6ea156ebbdd32c9ef8b061dc66e2c912bf2ae37e3ddcfd5f32a72412db8ba7a1ce3b44ea4c6e2a858b3f3cb198cf41914e4970b03edb1bf81f8abea6371b469d2e80883d7760c0707dac808fb55e588b285153b8ee5c32ffe90197991a567499d5ed62a6b810581901cf8abf086ddf84c10b03ad6845c977ec72d02028308cbd19daea2668865f00a23ab5\n\n# tcId = 90\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 0e8742af2a1d82e99038a99a09bc182e21317b690004fcf8fac5a4b39c6c4c6f32ee0395a42b8aee31a7af7cc0b0205087b4cbe18e791c1d5454faa5dc220d3b21e44822d39beefa5e90654fae46205631c4691d3e", + "78221f48edc14e342ad42dbeccfede07420b9352af9e0a009c49cac2b4564732d94495457dcbd2f67fb60fd77080631cf38b784a3373b66cc2d1ae971a7422562c2df5f2476983263f6559a8fed69c2c76806f8553b5f1f2239677f1a4a3f5f55a00f8391174fabd2852503c9dc130ba219d145709a4f045bf62b2278d1c9c5c2e7a81f47769b2a11b18bb8648a32eb984ff7aeed9c0ee1023886e6a402812ae6552b03419b4da25cbf3bb\n\n# tcId = 91\nmsg = 54657374\nresult = valid\nsig = 943aaab06755ab012b4e062210ac3e2c1a455ca30f1c65beee0f7d54384e4e0d4e390208332690fef5ba0cfceffbfe28e6b05a1ecd8bca3a50f9542f17c39d28195a50203c7885195c7e84da26436bc9fe7fa98a5070e0a1b6f51d8ac7d2734fdb5e0b32da0df6c6c98311bc4d458b4e970412c67732effe67e083123bfc69ed164090be3d41a37bde52119da16a4fc7fba5d8d3ab905bca7b1bccf4699a8abea19d0ba0659fb6c94b4ec6d06fd086958f443a74a783b7440f6060f01cb9dee89f32c2f6fee61e3d61548fb6b3a0f6b649cd8bd5d5a5bbc016f4c737889c79d45c41b5406129066e259dfa06fa2ec05cf9330dec66ed4cf89b80b0f5dcd22c4f\n\n# tcId = 92\nmsg = 313233343030\nresult = valid\nsig = 682272b36ee1a6c7d4d73f0f3f153d8e84e2fa4ac812581fdda214a7b45d6ff7b7b3db0c89da96ce2e651fcfe25596761982799289b9fd2d69cf122e08404c9db0bdf6f8240b1545e76302a5a401ad56522e0a6158157dc1f9445f8cafc161b25423d35671d9ef714c5d33f7fc155424ab2ac34e0cc93bf2ce385721dacdc6251c7e3a5618bdffc8ef3f278477083a96de83303b9d286e64d8297ef0948b996616d34036bdee5538ca0c06fa08c72f03739fbc578814b402671f5d625dc9050d61b389d1f0a32011ac0dbb53b9c2980d315bc16e2272206a1a955ee870df725e78a7c6e9f793f5428af92c670df8e3bb0d567699714b04fede399f49fe19d0e7\n\n# tcId = 93\nmsg = 4d657373616765\nresult = valid\nsig = c86aa0513ca2e6bb14892ae983212cb21cfaf702eafa5adcf17dfcb7ff53c1fc87d65001c639a20167ec97448463ada9b20d40d3e13db23d8048e38e5c05aa42ecb10d1683e3f64d42837274e1e021b3523cf763d32ee69f92180a9e3e6c6ff891b4c0f9f30a7840fe2524bdc0e82b0e19acd041554f4050f6d917a4677155c6e7841639cf86b8439a4a1edcb24ea272775dd9287291cbdaa79e97ecdbd97522e250db7c8d32658891a0dfe7fd079ca5a5284097ad505c83bbcfa82c0ba6cd91abfa0e21178981cd5c635433cffce413a3e03c7afcfc2fca37c7bd7a5287c13813afe3aa5d051d386e4250ef1617c0a58a24caa33e5855c32b457b1436d11d94\n\n# tcId = 94\nmsg = 61\nresult = valid\nsig = 801ec289191d6f6e2ed3d7ba7d8cd78db3add3022c8387f592080705eaec1dca415a04e09d55aa6a8c90f11730e9eace7f0ef892f44377085fa8e72236b160382fb3bca71b71d775e4acd75c0ac133645c64517909530e0175a8f06236839de7f7704f39afdc4720a2d94c258188cf9f0794c279c777e5ef604a31412262cf871e3cff8a0fd7efec06eb1db05b50910733dc8d8783a24c07871908e711b27d0d1ebde4e418ce1216a5bc1c8c85d82fdd2b8bb9f0b047e8b38fcfb80771b019d154a510f2231c6c5becbff35f2c5b1f1a5d5280d0d8b0309db5294fd99b1afe576bbb85e980c4e9ea49327343084a6c29743d3e48316df0623776e98acbc84382\n\n# tcId = 95\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\nsig = 6ec812ff1115eb60ad2cc1f641479aca46c41da5d8f7b9e59b2dbdb8956f5c3ada3fe162c54bd5835f5e043ed3906a10a982e177f5f68c94ba367e4541b75117dbe18b7acabce6bf7bad0bddc4a1f98382272a655e0222ce4a87dac7f6a2099ad9996603479cf8454102e7ff703d11623cd59e3eb2df8a303732851a119d6c75f7503acc10c57f2cc418863e1b2a5305688c03fc9971334ba06541cb8b3cd192bbebfd5e9252517b17d2b8a3ddfa1533784d6f672e14737c4b6bfc38162ecfee2e97f0a29c98bc6709c922f42ed959bc3cf43764627a9beb32e53d2b35da63942006787476ce89abb7a82ee02e6c9c80ab777af86c1a99c65423ed75fe82acb1\n\n# tcId = 96\nmsg = 0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff000102030405060708090a0b0c0d0e0f1011121314151617\nresult = valid\nsig = 3ddbf59aae59bfd68742f75b5d3d54e0df117d8975420570c22e6ef86a4244fffa0c377b07d456e746bebbe0ab30aab731dd02a280a9f2e8419487ea53064044e5980a32beebb46dfda8193ac2f7cfbf5a3513e69fc2fae1df454181f45329cce475504c797d9871bacdb7e4c22d62bed569b3775ea0f3561c4b5af82bfc1525dfbb6ac1e68b45086f7f0c3c622f865a40a24e5ac9cb032810073163455a2d4afab738d3174448c233f38ae385667322f2c990853fc3e2297c8ab0c7baa5949cb304d4429ae74b8d970c0409cb3e7a91d279f1b551b366bd405c97daf88888940d3a333e8b23955951fda6b2d185eb02d22afcf158611b3e6488e451c4f2f4ed\n\n[d = 0a5c2790a591c3ecf4f6281c17e1038845e540a95f21294a7ceecd75b18c54c50c02e789311c1b0091526f87ab3cc8d48188e980ce0e0377bec00e9f7d9793583cb66a1f281e31d20b594b5c66a2d9efcc36d979a92bb877a9678f991ff60b77e28fac55d64f21c064552a4319eb0a9a1870a76ade3c3a3534ab8353c3e57b2708363859ad3a6337fc15ffb90980d93743f972d743c3dc6fddb44279079a809abec8113a6f987f71748c036a4daf353b27a81e6983d56a2d65b71b93128d5569499d10ad1396f094eed77c044e3ce9ef82f0014c25ba693928c00b5043b641b016e3569b4bd84d683372538671307321c25e590f14bef241e6d8edf24ff39859]\n[e = 010001]\n[keyAsn = 3082010a0282010100c2c4a860236d3c9096a076d6ba5107e0f7bd81e1ba916f7375724bd2b0b0b63956813715a3457ab0458b71fb35a45b27f9ef7ac3e579dea45dfbfd07819ed6b7021aa5336c58442aadd96ca9ee9d32473e9d9278562b4d10258ade6a98fb1c7cfdc3b3716ef5dec58cf73b359f389599b4b5865a9863519eb001c324387da755450db341309360e3807c0565b8e2c44fbd5e6e8d04d006d7ee768b8e8436082a90fa0e837f32f46087ab4a0d9be28aa7da1794ceb0172a7f50ed20f6df641efbcbfd2aac89775c761a7310093c671c977fa18b0d6e01fb25f7a432b42c65359784c689205719c1cf6e3a65dae2da434c326dde81bb6ffffbdbf6de5c16bba7490203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100c2c4a860236d3c9096a076d6ba5107e0f7bd81e1ba916f7375724bd2b0b0b63956813715a3457ab0458b71fb35a45b27f9ef7ac3e579dea45dfbfd07819ed6b7021aa5336c58442aadd96ca9ee9d32473e9d9278562b4d10258ade6a98fb1c7cfdc3b3716ef5dec58cf73b359f389599b4b5865a9863519eb001c324387da755450db341309360e3807c0565b8e2c44fbd5e6e8d04d006d7ee768b8e8436082a90fa0e837f32f46087ab4a0d9be28aa7da1794ceb0172a7f50ed20f6df641efbcbfd2aac89775c761a7310093c671c977fa18b0d6e01fb25f7a432b42c65359784c689205719c1cf6e3a65dae2da434c326dde81bb6ffffbdbf6de5c16bba7490203010001]\n[keysize = 2048]\n[n = 00c2c4a860236d3c9096a076d6ba5107e0f7bd81e1ba916f7375724bd2b0b0b63956813715a3457ab0458b71fb35a45b27f9ef7ac3e579dea45dfbfd07819ed6b7021aa5336c58442aadd96ca9ee9d32473e9d9278562b4d10258ade6a98fb1c7cfdc3b3716ef5dec58cf73b359f389599b4b5865a9863519eb001c324387da755450db341309360e3807c0565b8e2c44fbd5e6e8d04d006d7ee768b8e8436082a90fa0e837f32f46087ab4a0d9be28aa7da1794ceb0172a7f50ed20f6df641efbcbfd2aac89775c761a7310093c671c977fa18b0d6e01fb25f7a432b42c65359784c689205719c1cf6e3a65dae2da434c326dde81bb6ffffbdbf6de5c16bba749]\n[privateKeyPkcs8 = 308204bc020100300d06092a864886f70d0101010500048204a6308204a20201000282010100c2c4a860236d3c9096a076d6ba5107e0f7bd81e1ba916f7375724bd2b0b0b63956813715a3457ab0458b71fb35a45b27f9ef7ac3e579dea45dfbfd07819ed6b7021aa5336c58442aadd96ca9ee9d32473e9d9278562b4d10258ade6a98fb1c7cfdc3b3716ef5dec58cf73b359f389599b4b5865a9863519eb001c324387da755450db341309360e3807c0565b8e2c44fbd5e6e8d04d006d7ee768b8e8436082a90fa0e837f32f46087ab4a0d9be28aa7da1794ceb0172a7f50ed20f6df641efbcbfd2aac89775c761a7310093c671c977fa18b0d6e01fb25f7a432b42c65359784c689205719c1cf6e3a65dae2da434c326dde81bb6ffffbdbf6de5c16bba7490203010001028201000a5c2790a591c3ecf4f6281c17e1038845e540a95f21294a7ceecd75b18c54c50c02e789311c1b0091526f87ab3cc8d48188e980ce0e0377bec00e9f7d9793583cb66a1f281e31d20b594b5c66a2d9efcc36d979a92bb877a9678f991ff60b77e28fac55d64f21c064552a4319eb0a9a1870a76ade3c3a3534ab8353c3e57b2708363859ad3a6337fc15ffb90980d93743f972d743c3dc6fddb44279079a809abec8113a6f987f71748c036a4daf353b27a81e6983d56a2d65b71b93128d5569499d10ad1396f094eed77c044e3ce9ef82f0014c25ba693928c00b5043b641b016e3569b4bd84d683372538671307321c25e590f14bef241e6d8edf24ff3985902818100e74a124759a174de33185996b3b437c24ed248203d674a87bcc2e76a667be3f54ac15e8f04e4c5e540f4e19f402a71d37d39756dcefbfaefb380095b6cfbdf4d78dd20cf085a1f127610e3b7102ca6bde1825941ab602e9b72c08e4533ac50317138e10bf7edfea30f52ee91ea6628c2cc65e76bafc02eb9d21ab66ad374ef2702818100d793b4f5514921bfbc47a1e45faa043eea03f052bce600ec4f5c62b014a7c45aeb3f4bc02160e7b12dee135e44b227a31854ca833ac706d14670ab5932a269c9b6f9188acb93e698b4a7dff65bb9c963c2e02b2cea3f2d5cb254e07b616792896e37550cb38171c4c32e0a6543bbe6acd4e99abeaba", + "1340a961017412b57bc0f0281804dd402049a679730f2169e86f49f8f27c6684236ff1293e4cb22f6c63a083474251c9e9a17b677d5261f81109a81eddd91c4d4fc076b894c41a5b3005dd2ff984d3473c6d6f3a4830cd1b01eb8c59db245811c51d9be3ad0ba338b6c43f016e81c465c8c2f789977fb3f17e267f2ca828a4f3c29637193079a68bcbb83be547f028180767a352fc5d6bd7794d08186f3948af4d0c40d664b6ed4ff0ab6a97e403bdbcc6411cb5df27a419bbcb4656c9fb091dc2ed91adb78883d94f273a598461dc0aa1da754f7a2decc130ce65e4e15274c2949c6cdb3c7a1a51a96dfd2e7bc26a20069d47b2799d80060b52c2e866ced6ddf7abc50518e1df06e08ff1ae8b41b69bd0281805479dda30fc06b63cb5f77e20bb29db7eec7a6b37a5007f9651a46ffb66c90160be5700145c6a08d9737a98c5f7ba0dcef39352cc5d8612d94fd02383b8e093115376b154fa1cebdf915ddc051a7017d67a238fb4376749ced94712b117a1d0ca31cd653a1955dd547346d03b21eb0ad3c123fb85e92c8af50a985db10eba79b]\n[sha = SHA-512]\n\n# tcId = 97\nmsg = \nresult = valid\nsig = b03dd72dc84b305ea811267a489aba10a1dc54b59f92e58546a2f0b6883f543512d621951352ef12abafe4bd6e10c2e5b0eabbbbf1d081b66e535fc9b8ad379040c3c71ec8f2b4f5d319f5d2a0240a767ddb4de1fbc878b2c5e8e1e260217bbd70971789fedb8c677fc8193f67e4637239607c7b9d3511868ccc0df372374abc685c9b4b74b2c5f11758f809b19bb3b5c464db870fea61ddfa5e18be2c4106f3e165fe85a7f8241db2806d0fc3c45d8a7f1eb4ca411a46ac411b81c04fd8c4ced5eff497da6bcb8e2fbe1f95cf4c3e761fc3037c82276f7ebfb7e6cc8534cb4fd34192074f580c6e31008df4f1404ae8dbcb111503d4bdfe6e7107a1ab5cd8c6\n\n# tcId = 98\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 4de4dbf82607b36a5c6778ae6351d83b7ef5b4af64c3788889eb10ef1838822847ceb531914392360b92dee055796f73e3cdb8b3d50910a537dd2244fd7f922780356ea3f01e99e5bebcb1b6ef398d2399bd02472a871417daec3bbe6f89f45f1af0bf819a446dcbbb75c56958d34ba27c8120cee6ff97242921ccf58de9216995fa0c49cb3e6d60e46411b2df3b01b78fa81ca145ce8be594ee009031eda672eb097ba5ed6687a703b154ef616757f94237f4275f54738cb59d36b20a9c84ae133bd715747952f0222573a91faf740e4b7eb4e88abaa91004e72a1709b401616b2edb2784e491f671fcf5ebe326b669facaa5d8a0f6f8469ea995c4db772f06\n\n# tcId = 99\nmsg = 54657374\nresult = valid\nsig = a0f46582cde6be215351bb7b29e8ff24398816fad9e7e2ed6ccf1d0b5296bad827316c18b1565253291fa1c0baea9a735357cff8920e1024ae5707dd2f0cfcc9e6cc81402217d9b4f51e10def2bc2f4924e7d22c022fc87d6c3e772f4952050d027b003ab4267ff227a15cc7c884cdb46bbc7eb38852d0e6d8a12f485ccb0312157097687debb6feaf2b6dac998224c6047c1d5727195bb8ce05a59669034e88de0e4815af00c65def5b9748d017455056cc1ac6d3a77e31fcea4e726eda6be7bd33e509696e54d1d1858a1165fa9ece5d62e493c1a33ab3c94d294838a19f367fb799d6b69161bd9532a6ef317deb919923d78e33309f14a97b68023d600b4d\n\n# tcId = 100\nmsg = 313233343030\nresult = valid\nsig = 9922f7bd01d7ba6b2de255b91209631af92e5537a4554b3b7a50e39f2fe9b6085a7e418084213d445794ebc19be43782d9f80df1daa7498a1c67d935ec00dac6b7a194033a14431320acd1d7f3d4c2b7b5b1649dd93931c49f538c94e34f44fdcb8dac9d31539f87e6720dc887c6605284a6a0408e244325e35917b1e1ccdf5959ca87091827c8157bdaa31239e2103ca8a112cc76a8e7e90f352fb8cb3a3381e52cedf4d4188bf881054b80387605e7041ab149cccea1ac2bb6560b45000601c33ebc31cebdd499c0b8fdafa7c1691d6dcc48edc98519d55d126a757b2a753eda4f2bf35cb191face371c9c34b2ab57242053b9ecddc91e4b621e650432adc8\n\n# tcId = 101\nmsg = 4d657373616765\nresult = valid\nsig = 99996fc01a53bca03382b96e9ad83a3139bfacc5d37b180a099fb5d515a7b78a5c21a339ae6bd2bee8e0f503ba2bf892c1885ad5f4940a99d8d49df6f4623da16c337a011fb895c006100286aed82977be3fda054d1e935a872939b704750c3e2871c33768946e65a737184efa50060c6898247a6472854884fdbfc2533c936fe9c922d881bd5f093851b46693cf633e25f27efd6db65da3ad96f2e8154ac39f2a9859f15c919a92c8cd22285c1f9e87444e61769f6833bd0d56106f87825e472e59caaca1fedd8d4065fad9dbbc252a84c196bf5d6c40bd8660600bc6c825bc7470aaf4ad118c6c139a5c6fefd5223ef490d4afa6c06269ea8c0054aa1f368d\n\n# tcId = 102\nmsg = 61\nresult = valid\nsig = 7930ceed4b191365ccac54cc8a5bd38498c0d0c1fa5a862b6c0744edf9bf1969ec4f3c7c42aec737438acc797b8301aa8b30be2a4a4c1323be0427411dc8be84881036e9062a55fa2334176049305a44b97f90ed0b3becf56f8c9f164ef0bb45729f9fab1d459f690c58f07ef5ef89f21b15da14a235f3012e6f83a7f226e118d3b7fdc9356c39667e1cea5c667b54ec5ca6a0d58ad933484f447c670e5bd3647361c81831dc710360a90692eb7e4a57ad225b2516d9c3bcc77323a9354d1b92d0b3f5ade911f5faac4e4bdbead32f3349840ee66f4010789a84f0934182c2b0cb7d6e72e2b2a6839d03d7c9f681bb7148449161ed50b4466d60002cdb7492fa\n\n# tcId = 103\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\nsig = 16b5ecefcd0167682fbb3601a016bfa8bce9dd5855bf305ff00b45d97e50fecd27716997c37ebf8efd8b269558385b3ecaf2b6e38313508a7a14546107b75afb450b1a0e39cd0760151b666451bab43d7fdbd93771e9d98152ac889bf1abbe1c3f62049c4735602ebd6a90a0361dfa08417ba03c55fc6b7bfabb136851ab01eacf528abb1129bef47f2b04e2aa24c0341720f728bc9fe12cfa5d4248976aaf7035d19c18302fb9ae2443286a71198b500034d48113b705c83e64561762c583dc013cc099c7e5bfecbfaa7b971c8f1a4d3868fe0a4ad518372ca68c65bdefbb726b1fd92ad92ab739d2bd1af97724dc076ba011a9f32db3979ca4cf94c5370b77\n\n# tcId = 104\nmsg = 0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff000102030405060708090a0b0c0d0e0f1011121314151617\nresult = valid\nsig = 1fff6827cf12dab1e9f7b152638643a71577021177681eb4f85a57d98f0aa4131a680f9446f4eecc49bac1e5232c9e577fee389d6632dfd32c76e3942e9e89f45789e5c7969dcc4a8943a902197431c7f720aa502f36bf29f4216f63ed1dae10fb0b1d4667f422611a5f64c69d993312b65232d3225a0781d7c83bbc60281f92aa654aa0263481455099920bff07c6ca29f7704e218b818ae323854db3cf3c824192f13807890ef1b18f4c9cdcac1c7c7ef7d7015d4d924d4ae31cc1a4c432c3fbcc2f43f155e90560834fd406d89792db0292ce2c19e0dbbb1339a6c537432881661954b36ebc398a65b76f32d5b968592f54479259f94b967b3cda34ee86f0\n\n[d = 72ac6bb6d9a5726e454b5430c71125c6e9ad5fd42e1c5a18a8343e9d83d72214386b2308c0b8ec5ec6759dcfcd6a21f88b8ceaf46403923eb86ac3d14a8592e95de0462e14085c3f17db005dc4fac87b4a2d1ede5cf851d5745c8651a4438c0a4d746ad72e419207964728c301bf379a01c094e9693376f721137d3dc76ee47c9790fbd590b7d6a8d626e21b277ef17a4e4f7e0171c1146e1ec324fa97f30d3a1bae08f8d5f6e92cfc121665239c429167359e9650434b29d2015190356adfee12f25b341b08f12b7fec6379598af7d5cc24fe7f00de1d47133ce3ad8b6be1c9a854e33fb952e164ac6dd2a9052186ee144ee7dd986a8f03891d0da21ed78516dcdc2ac89cdddc8b544731d66f9d89bf17a50c6d987a598b02c938dc36521b881ea994e4c8fb2ba8fd001f73335d4dd1bdbe177d3093cf3883657c9ff944e8f5c9cde548b7c1b0741929b0d74977ecda694d940aefd9d2fc75323e0b3a114b99feaf3e2518f5158d1fd9d953aa20af158e67d27e2ce2f18d97fd02f369981979]\n[e = 010001]\n[keyAsn = 3082018a0282018100c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b12030203010001]\n[keyDer = 308201a2300d06092a864886f70d01010105000382018f003082018a0282018100c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a", + "20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b12030203010001]\n[keysize = 3072]\n[n = 00c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b1203]\n[privateKeyPkcs8 = 308206fb020100300d06092a864886f70d0101010500048206e5308206e10201000282018100c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b120302030100010282018072ac6bb6d9a5726e454b5430c71125c6e9ad5fd42e1c5a18a8343e9d83d72214386b2308c0b8ec5ec6759dcfcd6a21f88b8ceaf46403923eb86ac3d14a8592e95de0462e14085c3f17db005dc4fac87b4a2d1ede5cf851d5745c8651a4438c0a4d746ad72e419207964728c301bf379a01c094e9693376f721137d3dc76ee47c9790fbd590b7d6a8d626e21b277ef17a4e4f7e0171c1146e1ec324fa97f30d3a1bae08f8d5f6e92cfc121665239c429167359e9650434b29d2015190356adfee12f25b341b08f12b7fec6379598af7d5cc24fe7f00de1d47133ce3ad8b6be1c9a854e33fb952e164ac6dd2a9052186ee144ee7dd986a8f03891d0da21ed78516dcdc2ac89cdddc8b544731d66f9d89bf17a50c6d987a598b02c938dc36521b881ea994e4c8fb2ba8fd001f73335d4dd1bdbe177d3093cf3883657c9ff944e8f5c9cde548b7c1b0741929b0d74977ecda694d940aefd9d2fc75323e0b3a114b99feaf3e2518f5158d1fd9d953aa20af158e67d27e2ce2f18d97fd02f3699819790281c100f5eca16e0e83696b0ed9ac8a812545daba55f20a964c4e6343604a7f2be2860fce9fa16a1cc92120939deb88dff68550383ead851fac07ad1b2e8a9b2bb69525d96ceabb7ee83ce50f08d649107f449a14521a6893f3f3c5c5a703b2fc28bfcfe261a4f7f450558080deaeaab651c7a9ae586c1e7f5c52cda93e40aac908e4e3357984fc116af9cbe9539bc7a8d3b351a73ea5c2413d1da2e0b448b454670aca89ffe73b1401e9b8554fc3f23d6c904623251a1d29962ca9b26d973345bc4c5f0281c100cf25446f59cf512919ddbfcfa2d9670495ad92b6f295d61032057f9da6dbefc4510a623c2b47a5220082a3bc42af1a144f98c9ee4fdae41be0ec501ccc94b2b0640191099b355611160deb327e8ace018b898025ef470e4373ec1d97f669e298e1d845c6553c0a546ccb168d5b510dbe6018fd4ed9a3545f9bdb81968f4a6d7c790e5c34729a8efb496086fa1300249ab8b28f38951d7bee1c127ac3c4d0bd596edee1e9d17781dbb8227d7b5d76ce8b8bce03c5d339b9757981610848c55cdd0281c06357a59679d26801514c6940c20eb67b370e84e9f5f0f9316c0437d3cb7c843f5a6e6d9c19e8bdb3152e93f904cfe6e692f1eed27a0ada46f95601b3d122be793dad9bdd05d4f6d469105ecfc11448381dc154ddadf6bc20c649435b483585d68a527b7b967be52e35e0be9a437021c1cfa5f4771567cc233c1ce3ae99eb37daf8bd10156b4bd580a3ce9c7d391bdbb23e67363a947405c6c812cbd3dccc8b356a2dafd0d3b23a21b684b458e4ab3854bcd9be04cdc9d65ceeb10a8531c470ed0281bf04dadabfc15b1a8bdc0f566f876191088a7986f6c2b8c04ba0e0801d31cbf5d2a4139a39cec9df14ecee22e846a7d3f4a5e8eed2a70c7a4c2cf95ce74fe42c4bf60c135a264919bb4cc906ba283d1896f0ae48529b490f0c85ab03068cbfee8fa6bb6ae73b182d25cd66f5205b038b4eeaf1aafe2e1ba5de97c88d40fa1ac47626602fc90ae694734f44f3e4e88d184e8805a755ac2904be8fe9def6b7a62cc9ebcf4d7c2d6c9f9e86b2483e9bf22ce51861bbb4e73e731a4dbeba87772d290281c0214a1f73130e48b336fe01b950885ecdb3443d93e7e8ca62fb0da96bd423759d8be552c8be44f139fbee6ec24b75fbf0744fac4daabf5488fe6c3600d9b8e9a922481fc74a7a3d622662db8c85318de48ee8b716f19429fb594990da705ebdf7ef6613dd6bf885c16ad65e9fe6c280386bee976c25dbaff8fbf69baed9510be5eded3f90e0ba4a97e5c81a2189f114670745ab95edda215bd05fdc78929fa0cfe8b01c83f2aec93e3ad1a334fd85aa8794eacf955ae5dacd45b268741fca195c]\n[sha = SHA-256]\n\n# tcId = 105\nmsg = \nresult = valid\nsig = 157ffb942b1363b5989ec4beb93fb0187ef016de4ce055620825d13c3dafd4fff621c71920e884ba28c5e98b328baac29ad4bfc4d2cae2f0ecb9d1b6c9fbdfc385aa565aaf6c5b3150e085e0316e21d7d440a873074e5d2700d961114ed420478647a4769d832691f7a004d934a89dc249c9343341902d5d0c3d1a623001265634216beacd5f756821f21c3b58111790657690918a2eafa9e85ab1ee44edd3d8bb89e892acf411ba9eaaeef88eca37dffbda72751c117364fd1b38c840d7b42318fcd011a4449aeffc2de32836d3a4f704d4c8ad4e078315d0d1758f098f2ea749ccce62aac592ac4041b5e733ba0431b88332a39a2af7f68f9bb1f469a793b280b964f285ce5cd1ff3adcd7dbd464a7c9414ed45791073f08415be2dd9f01dc2fec8c3a26fe97d9778e2b2fccf71a1ea5e9ce017d2d46778d7e37bb832ebd5825b3257a7852db5cb6c132bcf9ba3522a670b0e866585444ed3601fd32a922818ef6611626eee3ea99cfcfeeaa4c370567cc65e0479bd35e091b772d7445cade\n\n# tcId = 106\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 631cb4bed6b79dcd3827879f6d64de3ae17e0fdb022be013e733bbfe0031cf204f0508ab87a2e2bbdfaa16cf24acc96b3fd2e72bc4a224428e515d6f1e0ea6927eba6ed7282a959e5df5e52eb3be9a39cfe139ea2fa45c21eb81b3197eff655b918f7c5fff6abab33945557a922063f9600a372ae7701db686f7e1fe4a6e804a0f624331fbb59536733bed3710dcacd22ec74b1a1386d045372853cac91130703ecafad7f6f42ec1aade5cb865339743c83e882f248b0db0855f487a6d3b55442f67773611a11813ff46a58c762b1bd70b5e870c3095507f23758e90b3c84526f47a825f0ae787acfd3ed349ca6786a2e84ec500c6042a9027a994c328c7a6868e6a81481b294383edda62773fd224af46e782ea3f00468515f6100486d94e818afca1bdb81851e62b3bf4f9236f061afafb3e399b93e6f6a295ae200c9bba5ff5aabcac8361c84f2e69aff8a8a21720b900d52ea4bddcfbaba3a231bb9b0dd48f0a4ef1cdd255b3524ca0633d04907ab672314c5e3173108313ff4a97df3772\n\n# tcId = 107\nmsg = 54657374\nresult = valid\nsig = 5819a699691c01a7f35f0bb1831a1cb65631ef693f7c9ef89f1e8460ee2ec312f6fd38fe382b3bf4db8f5d208146c32c5ed2d3b13105743767a73529bfddb5753c8cc13148d41db97f69ea1dee0ef1e1de990ff565f633bd3cfd315a7dafc70aa7f27d4f6486a2f1e2711e7919c5c73c518069338c0ac984d75f58b00fb0eee0f7da6c9c84d97955137417df8f20c02b7893b5cd929ba37f6b3278a1bd35748e14086c5f7100abf2edebeab5f767bb83d999a61cc27531bb67e44a92004fba9944b9c5f770bc66671d2efc74e01fbbd2885c5175a1fd72b91937c324b8d99d3592bfb73efb9641b87949266de441b61d180e141de510ae0cdefc2160df918c08c53799f050ca4eeb3a8b6b5ed35b8b59d3acd13a600a8a137eb1b8c1abbf55f3e99cf52d7092d1e3acc08583b04aa25a052668bc982abf060ffb17c1782daf76fbd69e7fc9510c5c6a68bd525719be5b81d0f2a8b961f1aeac7dc13aeeeef9986c7a47b34f8b96167d79f7ec458fef7345c1c31bba599d09b3fe33e738bc7da1\n\n# tcId = 108\nmsg = 313233343030\nresult = valid\nsig = 636d31d8d5dfe0fc6ab01ef2ccd4602dfea62d386b002c429e7e846e7a98d0cb1d448d25be039d5158887ab46a9dd49c41537a89036a065fc10329df051e5f2e5c1d4436e84790ff6db4d3f31575e5f0fbdfcaee625722c5492fceaa3fb29d0a865200dec06e117b04753ca9450a7ca7f7d1a1176cc38ecab721864413a0d7a22d8fc1595b6cd0032fbf154fbbb31b56d3bf963761ce8ec9fb38bba3419716d0d39e976857e79b1faefd5f5a2ce0ebd94968da1ec3a387804694d90f37b34033c7f70ccfb26beffaafb7bf56c1b8385d489217458e0a68b5d680f9fa45382fd1c227ff3c11e3ec82426ec648a564f0e886e5b12e695dd2fc8465bd9d08731fb140084c79be64d915bcb4ba10f1edb4c37e35231753be2d9f339d37d7b5f22c91584a68a973f9cc469a23d3b5800157dbd72a8405fef4e444ff01f7fd23efa143c1887504e81773743843d8a73209a1deb66c5f305df539bc30e871332e82330e5b66fa6ea253b2b64b4c9781011d20e80ddd8cb83916834eb8fa696b0a4b6bcd\n\n# tcId = 109\nmsg = 4d657373616765\nresult = valid\nsig = 08e0ae3dc0d16c927c423f12a87313afd1d66fbd5d09f48a4dd1a8b52102bbdd208284cdd692932869803a5c7f041a4492ac2e664bb6dd981c370e0c79ee3f7c5c6dd37018986fc2cc618139fe3eb85c0616f0673403c4afe7cbca49c1eff27bbf6d7e", + "541b285ffff20b80bf61dcebcc4250068e25ef5a8e7c3306e49fcc2a1ee0f500a3ec603b472082f12ce4a6a12a6ac66cd4da8b6efac0796e9dcdc66c095a6282ae9a32ad274efe63f43e725410e6ed4c480828ed876b76b71b1cb8c142d0c7a51dc202af796d7bb55cf544dbde2f564f31994911ec7307015b0da2c51abe265a04a74b9afd0791a68e725cd7d8b473296c5d948157c10bc4682f74d843ce72e9ee8719a7a49d9de2f982c5d4490451eaed62c305eae3d0f9cb3493bff056a0dbca8579b7b41dc8deb1becfd5abb455634569d58c5b5535ff1356ccfaddd14e0f9f7f69a7ae9cb9f4c0c9f661fde349facd21f0021423d3a9ee5031855dd242f27009090ff0c15d1655317383231799b18c01fad231385aa5020990f41e\n\n# tcId = 110\nmsg = 61\nresult = valid\nsig = 9858e2557c6b99fbd84bc7eac3e31283a4efb351ff019343760a1e282368938e29ad902d3eb6cb29b35a036dfbcc7e06d2f1d15548df59ced35326295375bacd7a9d28a01b4e8acfb676d80b6295e19c6b7a259df56456e1df72f6a746e9cd31fed9b79b35d7a30a7aa257e9e8ac60ea886042b9194e7a383d1c9f71c84511faf6c96f7ae0e690112b26bb60cf7bb10f684e4fbe2a3a1b1c0caa9b1bdc79fde23fb758c2ba57880a4de461ecd2bc696689438183e2b9724fa68258f461bb4405425620a4d95c87ddd83e04be381bc743b05d26ede2ceff8a858636baadf56ef1dab54080da0f516307c579833717def053c8906d4f102448ab22693e7f52d5850193a40ccf0d68d1303953771a73924e4bcddd8486e1477d96250bf6b480a5f4b822822183694c52a2edacb331564444f0335d3b17d511ece59889b6d961767a3192d7f081caf7e671addb3757451776d4bd3b03f7b689843dcd59019ae4f292dba54738a88b86cc6ce3b123c61a446f4878b627a7f3585d8ab7bca9b258f10b\n\n# tcId = 111\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\nsig = 1294490626bdb36a31c93fa7853d93152d920b022f1b473bde3083a99e11aeba8c03218fa07d6c4a5f8b2504d2cb54505c40130fef5a2412f7a5ddfec5e2c8b5058f7cbde7ace0ac01c7ba8a1bd897e8974d991ad2b95c2f03100a34ff408a788c70ab5ec73b5356a4e3c7beb44fcb9e2f3f25d1c974ed962b148167684351dc2a223a174c9744b092071d58dfd39c38364f47d292651e7806ad7962bbedb64739d7ea298f0254244790e3971c15b861c95f00f65532aa1c77fba5c04ad078525128e92ed2b4f1269ae744547e3efd4ebb63e9df844df152a098c47fa492bfe0f1917ec973867c7491f64c172cf3ea1bc3f97b42a397e6ad88d12e150d3dbe360071a3285d6a68ee6e736eb4d7d637c649c2f545259ecd430b25b38a1618d69a4602ca8a2a151066f12c3807f5dc7cbd06bf095711e4483cb0a89c26dd9e4b0b03e05beca349f601c894f9a245aca3204584a9bd844772dd87b83d481c8df18b615307eaf643cbe856488c160e077458e899755301749d2d27bc190d68a5da11\n\n# tcId = 112\nmsg = 0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff000102030405060708090a0b0c0d0e0f1011121314151617\nresult = valid\nsig = 6533f9ec83cda0ca8e3c06c440cbfcd4e5d98b07ecc2419714513b454ec710c04d1ed50808db5131c69f091a5a088a6d9c93310ba7a9616a0b45fadfcba655290624bb529a86ac215f6c76c89030c82ebb8b0eebebcd2a398978185f47284cfe119b2b6a5ecf4ec1a63663c351e422599004481207bc7c15aeb1ef30248b3c2935c7ad0b2205a2f62b7baac72f33ac0b8e9f5d146a269791d901310f64318cc66dd4283008214b6012ddcb1e7450763b9bf236a4d282a62f91cd011af439278c2812e4de55f6480bf6b31e60fa57d7f40d9fd56cb9339f2664d95fc372e204a0271014d041d2856bc29a536cb8ea5d33fad437b7dd4bc1e8244e10c08e1887646ef322b57d77c4be94031811169cde14376e91f17bd71903ccbfe320921732e69260756718b54d1aa047e189437a1d0bf9edf8019b8ed4b173aba3448e7309a443443bdae326a9c98d9a66c271e53b8353d0340b4cdeaa319b0aa45dc21f0e8df6117b80d7d6a5cabbce40f72edeec42ccb5106c1afbed518f3d8b7117acfde4\n\n[d = 009b88373c9ecf8daaa05d0513982dff2451306cad4064ff8cc8d65a7e81f0fb296f1f355250729f87d26b83036692abb81ce711aff1a97e204a3a55ac34a98928319936eda4418ebe6e7923acadb07648f484a751de0fce14e6749f7829819bc48e312020513c64263b81f0b6014ceb5911bcd01dfb0611f455cfd224a3e581c3dad1ecd7ca9ec89252138ec61970669becf1844998e5006c1affd894275b5b153d55cb6808f83566b7ca8b017430115a62cd97853780efd2c8ac079848dfce3ea766907775047d778b5b47288ef9877fa55df06f5c4ca80951c7ce98f16ebad5c90733a5622a4484c94ae7c3438017ed312767bb70e961a192c426905b87472c5b7c6c673a5d147881a43758d1a65473a9bec6301f01cbc422168add721a450dd2449947030039f30d3d0ead874bafe455a32ea65b186abbfc21f163af1c49752696725e0103c4e63cf1117210dc1cf7eeeabcea960dba93e124da70e3f2c234d3b29438ca8a9c2d6fdea44916ab61a5bdcc209752d4a847f0e09a8a810f7a81]\n[e = 010001]\n[keyAsn = 3082018a0282018100a07887f373378196b0b748cdf31c14735ccfa0f117acafdaa21fde4b6e7559390b834e7b92e9e1cc9d49fc0fe6cfb60429652b4bf9a7768f71fc4271ca6fef4e431192ebdc98630bfb94c5baf18b4cf7881d84483e4c44c22db15a9627705a0b42a26d6f3d6009aee0d2a71bedf4d4b0ee6b6fec2f16e1277ecaa3bdedba406473a476d1688df0fad1da795526c7e641981b4812b05b692d60c60b2bfa424c8b620f40dc9dba59e2c710e7ee750b3e134c1f71f43210688aff17aaa41cdb5668753f0006b1cf951bc5951f4d89a31196985ea55c0966c3662bcfe4e4cd34f12e4afd7e5c4a130739b1017d6a583882fd72db1a67418702c8b01353ccf75b7b93faec0e0be36211d5f2bd910e1552323711bbeb73858f899cc1ec063ef67d88e0c699d5a689c52106f06e960f09d2a3cf84f53bbea2a473edf2e6e0176801d3fa1c2d358e1e5a26f646ac93796ec1fadc6991c0ec19c9dd90b25a2dd3bf73d2cf1eea8867f96caa5a2df54973acb2a2da0a1367ec74afbb968f517765238d17690203010001]\n[keyDer = 308201a2300d06092a864886f70d01010105000382018f003082018a0282018100a07887f373378196b0b748cdf31c14735ccfa0f117acafdaa21fde4b6e7559390b834e7b92e9e1cc9d49fc0fe6cfb60429652b4bf9a7768f71fc4271ca6fef4e431192ebdc98630bfb94c5baf18b4cf7881d84483e4c44c22db15a9627705a0b42a26d6f3d6009aee0d2a71bedf4d4b0ee6b6fec2f16e1277ecaa3bdedba406473a476d1688df0fad1da795526c7e641981b4812b05b692d60c60b2bfa424c8b620f40dc9dba59e2c710e7ee750b3e134c1f71f43210688aff17aaa41cdb5668753f0006b1cf951bc5951f4d89a31196985ea55c0966c3662bcfe4e4cd34f12e4afd7e5c4a130739b1017d6a583882fd72db1a67418702c8b01353ccf75b7b93faec0e0be36211d5f2bd910e1552323711bbeb73858f899cc1ec063ef67d88e0c699d5a689c52106f06e960f09d2a3cf84f53bbea2a473edf2e6e0176801d3fa1c2d358e1e5a26f646ac93796ec1fadc6991c0ec19c9dd90b25a2dd3bf73d2cf1eea8867f96caa5a2df54973acb2a2da0a1367ec74afbb968f517765238d17690203010001]\n[keysize = 3072]\n[n = 00a07887f373378196b0b748cdf31c14735ccfa0f117acafdaa21fde4b6e7559390b834e7b92e9e1cc9d49fc0fe6cfb60429652b4bf9a7768f71fc4271ca6fef4e431192ebdc98630bfb94c5baf18b4cf7881d84483e4c44c22db15a9627705a0b42a26d6f3d6009aee0d2a71bedf4d4b0ee6b6fec2f16e1277ecaa3bdedba406473a476d1688df0fad1da795526c7e641981b4812b05b692d60c60b2bfa424c8b620f40dc9dba59e2c710e7ee750b3e134c1f71f43210688aff17aaa41cdb5668753f0006b1cf951bc5951f4d89a31196985ea55c0966c3662bcfe4e4cd34f12e4afd7e5c4a130739b1017d6a583882fd72db1a67418702c8b01353ccf75b7b93faec0e0be36211d5f2bd910e1552323711bbeb73858f899cc1ec063ef67d88e0c699d5a689c52106f06e960f09d2a3cf84f53bbea2a473edf2e6e0176801d3fa1c2d358e1e5a26f646ac93796ec1fadc6991c0ec19c9dd90b25a2dd3bf73d2cf1eea8867f96caa5a2df54973acb2a2da0a1367ec74afbb968f517765238d1769]\n[privateKeyPkcs8 = 308206fe020100300d06092a864886f70d0101010500048206e8308206e40201000282018100a07887f373378196b0b748cdf31c14735ccfa0f117acafdaa21fde4b6e7559390b834e7b92e9e1cc9d49fc0fe6cfb60429652b4bf9a7768f71fc4271ca6fef4e431192ebdc98630bfb94c5baf18b4cf7881d84483e4c44c22db15a9627705a0b42a26d6f3d6009aee0d2a71bedf4d4b0ee6b6fec2f16e1277ecaa3bdedba406473a476d1688df0fad1da795526c7e641981b4812b05b692d60c60b2bfa424c8b620f40dc9dba59e2c710e7ee750b3e134c1f71f43210688aff17aaa41cdb5668753f0006b1cf951bc5951f4d89a31196985ea55c0966c3662bcfe4e4cd34f12e4afd7e5c4a130739b1017d6a583882fd72db1a67418702c8b01353ccf75b7b93faec0e0be36211d5f2bd910e1552323711bbeb73858f899cc1ec063ef67d88e0c699d5a689c52106f06e960f09d2a3cf84f53bbea2a473edf2e6e0176801d3fa1c2d358e1e5a26f646ac93796ec1fadc6991c0ec19c9dd90b25a2dd3bf73d2cf1eea8867f96caa5a2df54973acb2a2da0a1367ec74afbb968f517765238d1769020301000102820181009b88373c9ecf8daaa05d0513982dff2451306cad4064ff8cc8d65a7e81f0fb296f1f355250729f87d26b83036692abb81ce711aff1a97e204a3a55ac34a98928319936eda4418ebe6e7923acadb07648f484a751de0fce14e6749f7829819bc48e312020513c64263b81f0b6014ceb5911bcd01dfb0611f455cfd224a3e581c3dad1ecd7ca9ec89252138ec61970669becf1844998e5006c1affd894275b5b153d55cb6808f83566b7ca8b017430115a62cd97853780efd2c8ac079848dfce3ea766907775047d778b5b47288ef9877fa55df06f5c4ca809", + "51c7ce98f16ebad5c90733a5622a4484c94ae7c3438017ed312767bb70e961a192c426905b87472c5b7c6c673a5d147881a43758d1a65473a9bec6301f01cbc422168add721a450dd2449947030039f30d3d0ead874bafe455a32ea65b186abbfc21f163af1c49752696725e0103c4e63cf1117210dc1cf7eeeabcea960dba93e124da70e3f2c234d3b29438ca8a9c2d6fdea44916ab61a5bdcc209752d4a847f0e09a8a810f7a810281c100cf3da32cd99c1591aee15c1a2d933b7e5ff4d2dac6e0430bc3b41c2a93a16b5abba9496c2efb7695856bf1d38e818c57ae117dac789ff0e725a618a0d5ae46921111748298656b0bd76844e323497d46957d5c9e31f186ed64403b911f02b23ca2dfcaba2bbbcb7cbca9220a2b170d0ab60e5a1f90f957e32d82c7a8362e916f83a98c9f74cd0d08c687afd6bf0d89f23c7cad68a5d3be8cb86a5fa54870aee4885c60d8051e74fa46a75685d7814e153238727351365b94fdb9ef64253bf03f0281c100c639e21504b61149d3d240cc9ccb85a584417f2373087b9f2bcfd223974df5c075082127bb55d449d6670c5ec550f8033bbdc6a1ec7a67999faee700ca453fa1f37db626fe1ae62784d77428d8807e270bb5eadb1bf5cb3488827851416535243d3021511b12c2d38e3dcbcd9560b3d9cebe1c435582971fa2d60c49ebcbcf4da896a57f280f97a16707d0471c3cf62fa43cc01d5d09452ef08d29ca2286256ef2feb6067aef00eac0b1d13cc7f49e57182350e5a695e5803dfc987788350e570281c100cb73d4850c618a5f4a535e0b2920f8f0391dedfeefed6c84d92d31d5aeb772e0518981565ecd69fea24c75cd5e82da179e00f7e2e14d0bc0b11a5de54fc1d6f0412764bd6d056bd0e5392d1fdc1da28a2fea3189f0b80fe170610ad98e9b2406195420ff223e2c281a42e4f31c9875aa454ed3b557ab225819eee139c76f72420afce1dc0d5bdce6f7986fcd2025177f2358b7191c6b430f7d6098e377b9804945818365afa8d5e87a827f93c81cde5e3abe65c5c63dda2cebe6a51928e0ae1b0281c02ad9a264b6c300d3bbc56c9a8e9e744286677e2b549795d99fa7ea1e257c05ced7bdad25209afa2c07fbf8b197e7dbe51f09f42156b45326e35cf4b4b804e62f852a3cb10b27176f9d88d1a46ec0c00482c48d8355f4f93b5ef30d3d4b6cac632c12f670c8f0724b372966a00755832b6744b3695ed7bf0168baeaa72420c7ac5af04dd04201b4de801e3148ddf2d3a912d0cb1acddcce26ca7b497857a435fd58ebf4bf4bddd48dea9fc5c264db1d4b687d61e472f15e4e2d98280156e1593b0281c06c29351eb857f399c0c6c55e73d06e5010ea90c7f170dcf15b0bdb32451be4f4bb846687783da0df865f2846772f1c29f5c0663ee9fffc28e85d6b87db1d2c07e6c27274028d734bcd0ba4d264ce32d6d03d96ccb49c023518c93df3b34c6a9a2dc4dbaf27db20f040742c4121e4a5eeade583b5324c33720c299141408dfc9bfb785c846419698b4a71ee126dd723fa6474e963c8dcfff1c0bc8e34e3275c289f088dc9e54ec58cb48cdae73b251c2cba6d6dcdc4c7aad8ce6835fde9d6d861]\n[sha = SHA-384]\n\n# tcId = 113\nmsg = \nresult = valid\nsig = 473432cf11b6f96b1dd41e1742ace21cd10e8dad89a3e00ec68f3b45411059d0bbc6c8a3f077bfb4b12da60aca86dd856934061aa8e4c3221a019b7ed3d4e70ed8bf53fa140d3c31877a135a6ae140e021bea9408ee61fe7f32e60cd18932282b1aef1019f9a39789cb48991e535568b55eb26cf96e9bab35d03121f6be9f0d65079b064cff923edb5639cf08f48ecaec0670ab37b03e4cc2e604582e1cccef79f262c8b3d146887303c542ae7c455b0f68e882c5e2259ecd9f76cd3706e9894766089b267ed3bdec29df5b57e6a6f8deff21e093ce611724ba1012cf63aa2c62e7267af4b1df5ef030e6cba7b217d46fe43fab255f41ce086bec5e4f604718c95acdbd5c56bf8b68541ac0dde0a5e0f2336ea608864abdc5324b29b9f7bd35c514373efde38bb593b8d4b249535984662bf4b397b2a584ca15624416537320fdef81133d6038edd99ee19af9567c9fa536474effa925555c9c2fcea525fe2da935b791ec1d7d3bde33a58f80dd1e587e1c433239c65332e94d66d3c79bfd190\n\n# tcId = 114\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 69d89aee9a1b9827228c40c3f3bdb9479ed36bedd2c77b3f5dca19917a5cde9636b9f6ede29718a391224ab58f464c9052b5e6786178194a90ec04d2d2b7513b19df2799b0e7a2d6d1ef2c49ec6870fb8cae45ee1103692da8d211bf61f656d304f69adf68c0227c7af5ceb8c2db4a3668bb6a1b8cc3a437b9df79bc0dd650d6e3a42295b4a6e23d40b3a9b7548f3760e0faf69200df230d2c143807b2f35fa449cfa73792844dff5d2ae50adc272c0dbacacd60eb0b7964012a5c1981cb2f358ff53509f90b0ec41259fef321e9a306a08363ed194e51ab6dbc00ceee576c048c02704a19f8f357250adc70cdd2819157d71af04ab0cc63ac9c6fa4b5799eae521e275f26ce53302017510826f96c4a2889deaef19fdedacc70a6598aa89e2bcf373239bed98d1f2267fa7c2436add13df68d9ea296fab52fed0f5ee46874f48735fe32c61ed2b1c977ff1862ccce093bdf7d84a6b03c3007c4c926d1e52d81dcc0bc2a553a12be363b764f6a322e41a8318ea7408c18e33c260aa05d039625\n\n# tcId = 115\nmsg = 54657374\nresult = valid\nsig = 259332bd5a274bc347ffa3e8a31c8b27f216cc865d32c917a5d7e4c06abd44b6c024f44eba997862c812d8ebaf7caccbb234293178e44b2532478e8bebf6af5f83318ebe398e0850e929a89cda860cd18ec94554e4e0d45a9ec2d9acd83fbef2b5d31dd7b2f3c12e791afd3e39a9437fda7724c9426194bcfdc6bd52036f62aeea7853db2c8c498103eb60180281170aa0fae8139417974d917090dba8f9061665e92d953827dff4d450f5566d2c5b753b65c9b522a0c4da868629569a666b7c292b22060e92acf4ed65e51245403a4f162c8b504b85a810906ecaca2956d395c163a7f6f23573156968ecf62ef46b72b9ce39303681e354e91c5d7944cd3288b2a84a1ea28e7e6f260bc5f8d92be419ad649a8f55a2195ca46130922d82759f9bc030c8b122211d952c3ee7851f09f30c2fecd1070656c69c2598584b55cbe6567dd2719305dc52dfda03ea289a5db920fc2c777e7081cfd92864316d3fca9aaf8e2218ed8a5235e746e5cd9bcc856b0c615b901dc610f0193171869202e845\n\n# tcId = 116\nmsg = 313233343030\nresult = valid\nsig = 1f32b36eb43f87b18e569fcfe7021763bea0ca576cd273c0b20352906ed8484428d250241709c825704518ff9e97103bb70cd26f437f87754bd40407034a9653d00e868a759a190f3067ce5efce9ab17c8b46000d88e2d9e68b8dae0a0eaa4a31d3bb51c8c8d0fc839b0b273c83dad57016b1b5c1d8eccff1c753e5c6d189ed07b801f0a54a1144c142011fd3226451faea43d52597b003f9256cedb0d7d7f56d86dfeef50179a794f0b0de97da1926e9491f025bb3c3e8e031661e0ead860c8914f0b294bf8cfea2d5ccc726ad0743e192510732dc84301eee15eca3c6a5213ba66d0871789315f8537a44b727bd8a10d6e54636b345715fc0b6f5b5116f22557b0af9f948558b0ff4a3b0faf1de7da1965b977aaaf039c5b7b09b4f03efeeab3189d2a09fddc3983e4815df35ddd1c2198b695cffc35aa6662839f82468cb676b677d53ee4857ab9be7bd99e1749c811e2d6584427cbce14d2ca15df061165e85502420602666993463733b43c1c1ebae8d37780470b8cf5cae31cd7427799\n\n# tcId = 117\nmsg = 4d657373616765\nresult = valid\nsig = 7e3165358b5d09ab1ad1599935bbdab27abc32486910382a0ae630f725b5dca5ffaa9e606e2e555122c1e0f3409d7d915ea00d8784b814a6721d0dd117297c951c8d225a484a549e488fb80f996ad65490a09defb0b46f9cfca2e952b04dfd5418da920dfb2968e48dba8f0729b16fa32a832fd8b789bfebc63f01a1190813cfd55ace949d802afffbe9a1ec1e6a5df196e5ffb241c918d712e466f30c66c0bddd48b57ba4d0baa0c2ba9bcf519c3a26140df6aa5efbdd5ac9beff48613f92d247b35efbd6014f3d714705933e47d582f4a5da05b15a79bcacba1aa15a5fd6ddb228bbe4c5236f9ac607f41a492e6b1c92bd68ce30659eb5b27a5b2f76a5867dafbf85a9dfddfdd476c383fd03e38e81f2e1434553643e652cc006e5df7313272335f122a7fd9cae6f2f5a7da65865698d6d08d688000a730c90919e1826bfa1db85d5607ff9d76cb100ea1649442cefc4251a8cc1d823215e0ad1abfb2976bc4a6b2bbd793ebf9c7770957dba1e2a8583d9a82a072386d0957789b450993c77\n\n# tcId = 118\nmsg = 61\nresult = valid\nsig = 8bc948c5c16603ab63e75e18bc7f062ea4c675ebf98dcacc1a9826b0eeab0004e2592b07525fca53bd288bb56b5961aea93b548771068f5b0cef467c387e2d62c91e045872922b516dd6c5b8ac3615c986a9c8b5211a05f63e82387175e8749709951273cd9d8b2eccf678284761c72285be5c189c4400629c26f87bf18ebfe5e56f2057fd91fc9209ec48a872d6d23bc330f1c81ede7fc5a0e2b09c3a4735eff9c8adf73152b3406a62656897c1eef075c4fb02244ecd93912dd36fbe0d358a71e02d2b302dbebd28ba50860e4a963071f0a890a2e400c18f530cf9440a897eb2781ceb17bbc58f61828a6456b93c86df972c42d082b913c4d8807b7563aafb7b330ec39dc988674a5c3b36f6bbdd096201f1c7c25ca9ea8f28e923ba46dbe93910268d6e35cfb605b92ecf98699ae9b09dd4634d1280586c5e6bb0b1a4b5e5e22b225453f5c66f9a7ed7fff83ecb201eb157c76c9beff95227b495c8516bbc7118f011cf9237b6e794bd7a9ba19e35d0a650dbf7c06a0c9ddc95f108a78246\n\n# tcId = 119\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\nsig = 09ee821221ce7bbeb4d66ea3ec88387bb5c5bfb055b8beb36ccba4c2ce9666b1a09935689db1cc2312d797ac8b6f62643de736f38269a81f969308eb616cf41960341fa8edd3501f4edf73736806b6fc1387df4ef3e1e26c03249f3db6471ed580699e8ac77d0fd9a78972347e8657b6cdfe172fda324eea00d60d38b47e066c4a6fc0e33f75d1d4ecdf46efd966ca9aef80d22e43dfc2cd0af37fa70d6df7c637c3c18a219bf58dc1e7bfc941a235bfe81ee7101530a2c264527608d7148dd91325b7895817ae50d774e8dcd2def8a476a9592d55be743c62c1192f0ad69981fdc8651c1db828097ff8088b720c637c60c771b5091f9d9e174bc823115a1f7dbf086f9ad36a403c2d710c47af4753fe6e43c675c30219abc2b8560bd18c25aac719546ce7a74080fcf22bd4e6cffc270e57baedcf2739c5cf4fc5fac18f5dd023301caac1b1faf4dcc65327255ccf54f5fbd3cf82801a8685c2eef3c5e7f608cf6f747b8307f617fce148347b76facf0e1f7895aeeb11e3225e3a6066a244ca\n\n# tcId = 120\nmsg = 0102030405060708090a0b0c0d0e0f101112131415161", + "718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff000102030405060708090a0b0c0d0e0f1011121314151617\nresult = valid\nsig = 337c89d91b74d44f3eb0ee5d3ded458f41bf3919c02db91041d1e648ee845641a70dd189878feea4343c3852272e6e5d2063263d546257f0642678a07f9a8badb42177f67aaa75a76c61f3a432be808862477fa3f9c49874fecd5f377ee5aa301058b03eaa0b7f04e6a152343a6d1fbe8abf910154c22ad3200f8b9a200e6bddec116e07c3ab66951c106c599f21c3946f2e23bf2fdc34bca5d54602714d6b02f2de95abc37d63272665f0bc190343cf1cce73db0516829679aea385822100866ba8a60521e9befbe9cd8e2c11964bebe3e3d1c99063bec91d21da8dff32adf39de3059278fb672872a60cd2cbe94d4ce235e69225df72c27e1349f8319851445a9aeb2d7a7aeeeeadaeb70ff6be4186ac6ae46c21a066baa76973e2940c9331496f562cdaccb98b0d6a39570b026739e00132c6f1a0395ef9ff0ddd901cc511bf595fc23a0666783098c2916eb3e3d50b7bbe75f5f111585c5d9d4bccdb9f685f76f84776dee5c154ab580a49b8568009a20143a3e0c0071cb0c599a16dbf1a\n\n[d = 009a389207c44f45ecd4b2ac716d728ef622e8e237171bc3e12f848e1743b73159a7731fc73bc8011bd8bb24855acda63ae8327dd60043e6ca86d3ea10f2dcb863f1fe20ba98246f324885198d642cab314c087b26fb115c0ba7dfffb222c3894f6577fb60bd07384dd4e71fee050408c9120a884f63ccb0901ea3e2ebd9da67c7cf54e7aa1adba1b146a9372f426e4d0f2fa4bbe070bcccc28a498fc711af83996362703b0433851ca516316da0758fbdac209eb63eddd91f6b3a24e87fbfa1d2ab8f8a95d1c143bb643d9ed2cad7778ed1bb41277f07a2ae4d5e01b263f905a1457fd1f7689c85694bc8a7f2181752a606b4e3ea5b59e1f85e993c8f8c528cdd0f9f09c65a53edfee6354be565d594060cbe594faf46d82a17056c8eaa59ccb0f0bb33114b9c2c029a6e0e7ee9325f03592ac0067feb660d99f8bdb6d25ba1ebc480ce770c367949668bdd2e3032d04968b5293c080dc41f2b69607c157e71c62570481a93e340a7a5be1629d91334533e41eae79befa422cd5ff4d838ec2181]\n[e = 010001]\n[keyAsn = 3082018a0282018100fae12363cc51e266de7d74b989085f10fc08f44363fab4ea7fcc56101d116616c43de313b70569cb27de134ecf35fcbcc448a81082678ee1ae427c48f459ab2c42c9085911a3d81c914f047ba46ef1a52a4983eba1113bdf0ee95e85cd23224cf832fe3e916d3bffa6ddcfee0926938b2c51c8904bec4739afc4f07979cbeabd514be5a2b87abec71c7a2b39c736d776442ea9e95e97ddfcad4c4c3b41fe856f81cce539b5057abfc6fb1aa153316ea4f8e76b8dc8804ee10303fc2dc182f7ce5d907e78729679333b3b012574b4c7c613c020ce1388ad37ffc0f6b2330cc5edf7ce9ba80eb984b6da2ac59aabaa3a29172ed2937920f47c17447e6185119b9b38a9935658997b487735a8184caff10a8f555d034552fd57471b293f813f19aa6c2139877992436fd1949ebe2259528c91716414aa72ff90bb5142d2fd5e7ba12d8df1ac995408e7fb645a9ab7b6f695e4050500a9042253833b055182657915246589f8362203b5517b2f7117d2aca015fce3cc41c6b1bcb2e672db142d52450203010001]\n[keyDer = 308201a2300d06092a864886f70d01010105000382018f003082018a0282018100fae12363cc51e266de7d74b989085f10fc08f44363fab4ea7fcc56101d116616c43de313b70569cb27de134ecf35fcbcc448a81082678ee1ae427c48f459ab2c42c9085911a3d81c914f047ba46ef1a52a4983eba1113bdf0ee95e85cd23224cf832fe3e916d3bffa6ddcfee0926938b2c51c8904bec4739afc4f07979cbeabd514be5a2b87abec71c7a2b39c736d776442ea9e95e97ddfcad4c4c3b41fe856f81cce539b5057abfc6fb1aa153316ea4f8e76b8dc8804ee10303fc2dc182f7ce5d907e78729679333b3b012574b4c7c613c020ce1388ad37ffc0f6b2330cc5edf7ce9ba80eb984b6da2ac59aabaa3a29172ed2937920f47c17447e6185119b9b38a9935658997b487735a8184caff10a8f555d034552fd57471b293f813f19aa6c2139877992436fd1949ebe2259528c91716414aa72ff90bb5142d2fd5e7ba12d8df1ac995408e7fb645a9ab7b6f695e4050500a9042253833b055182657915246589f8362203b5517b2f7117d2aca015fce3cc41c6b1bcb2e672db142d52450203010001]\n[keysize = 3072]\n[n = 00fae12363cc51e266de7d74b989085f10fc08f44363fab4ea7fcc56101d116616c43de313b70569cb27de134ecf35fcbcc448a81082678ee1ae427c48f459ab2c42c9085911a3d81c914f047ba46ef1a52a4983eba1113bdf0ee95e85cd23224cf832fe3e916d3bffa6ddcfee0926938b2c51c8904bec4739afc4f07979cbeabd514be5a2b87abec71c7a2b39c736d776442ea9e95e97ddfcad4c4c3b41fe856f81cce539b5057abfc6fb1aa153316ea4f8e76b8dc8804ee10303fc2dc182f7ce5d907e78729679333b3b012574b4c7c613c020ce1388ad37ffc0f6b2330cc5edf7ce9ba80eb984b6da2ac59aabaa3a29172ed2937920f47c17447e6185119b9b38a9935658997b487735a8184caff10a8f555d034552fd57471b293f813f19aa6c2139877992436fd1949ebe2259528c91716414aa72ff90bb5142d2fd5e7ba12d8df1ac995408e7fb645a9ab7b6f695e4050500a9042253833b055182657915246589f8362203b5517b2f7117d2aca015fce3cc41c6b1bcb2e672db142d5245]\n[privateKeyPkcs8 = 308206ff020100300d06092a864886f70d0101010500048206e9308206e50201000282018100fae12363cc51e266de7d74b989085f10fc08f44363fab4ea7fcc56101d116616c43de313b70569cb27de134ecf35fcbcc448a81082678ee1ae427c48f459ab2c42c9085911a3d81c914f047ba46ef1a52a4983eba1113bdf0ee95e85cd23224cf832fe3e916d3bffa6ddcfee0926938b2c51c8904bec4739afc4f07979cbeabd514be5a2b87abec71c7a2b39c736d776442ea9e95e97ddfcad4c4c3b41fe856f81cce539b5057abfc6fb1aa153316ea4f8e76b8dc8804ee10303fc2dc182f7ce5d907e78729679333b3b012574b4c7c613c020ce1388ad37ffc0f6b2330cc5edf7ce9ba80eb984b6da2ac59aabaa3a29172ed2937920f47c17447e6185119b9b38a9935658997b487735a8184caff10a8f555d034552fd57471b293f813f19aa6c2139877992436fd1949ebe2259528c91716414aa72ff90bb5142d2fd5e7ba12d8df1ac995408e7fb645a9ab7b6f695e4050500a9042253833b055182657915246589f8362203b5517b2f7117d2aca015fce3cc41c6b1bcb2e672db142d5245020301000102820181009a389207c44f45ecd4b2ac716d728ef622e8e237171bc3e12f848e1743b73159a7731fc73bc8011bd8bb24855acda63ae8327dd60043e6ca86d3ea10f2dcb863f1fe20ba98246f324885198d642cab314c087b26fb115c0ba7dfffb222c3894f6577fb60bd07384dd4e71fee050408c9120a884f63ccb0901ea3e2ebd9da67c7cf54e7aa1adba1b146a9372f426e4d0f2fa4bbe070bcccc28a498fc711af83996362703b0433851ca516316da0758fbdac209eb63eddd91f6b3a24e87fbfa1d2ab8f8a95d1c143bb643d9ed2cad7778ed1bb41277f07a2ae4d5e01b263f905a1457fd1f7689c85694bc8a7f2181752a606b4e3ea5b59e1f85e993c8f8c528cdd0f9f09c65a53edfee6354be565d594060cbe594faf46d82a17056c8eaa59ccb0f0bb33114b9c2c029a6e0e7ee9325f03592ac0067feb660d99f8bdb6d25ba1ebc480ce770c367949668bdd2e3032d04968b5293c080dc41f2b69607c157e71c62570481a93e340a7a5be1629d91334533e41eae79befa422cd5ff4d838ec21810281c100fd9e30b6bcb1674ead266332e2af25c56b2869b4d822d247e6f5b35cb0f3c573b5efc39e4b5de760489b82536d6cf3eda1bf60e5e43f69f26ac8e45b056d702f0361dbb4a73f42ae5889a849657a841d866b8b4417286ca9b39f854c4d95e3719b6cf367fc7128088a365f3e322c1fff16bc68bbfeb69c5b2a9a677dca6d494de44ad057135e65ae5a5f83c59a0d1477e5175acf716cdcb2966fb75145dad1554a112c466d249ba894caae5e182c65f1753fe5bb583ef962d1574d9be20bf6a10281c100fd3c5d0967b74bc6fb54ef961a6aeea76a59cad1600e3c73f834e5f5b7b5096f7779c62b07f783739341ad5de095e0209f2f2f30b8dd503da8a271f4b35d93cbda013b515f573501ab80dbc7d9fa9dc98da4451e00e0032f53583c818c2645cab8f35619e7c27928648cbcc3af39f30e0a61259ba2499ba96b2ed7b9edb881d442466c07f362ad11a2a9bb3f67548a5e24c246fc6c438d32de9ecfd18b609ce12fccca90bfa4c3ef63cfe3a349611e590e44a53242dbdbbe0937f2ecd81c8d250281c100a975dfbada4df7673c8edfcd8a65d96915f6c4dacf6844f5423f7dff3b4546f3cfe74ae0241fb4904333955b454c7d98947119bfc24914f3a3a263e2e5b7803409a0837b2c1d3ae2dfc9eb264fa6134cdf1a50cdc8637c67cfdb90e7b117ac07a7009f8b25c43e29a6a039f786f2b0d6734ca4f6a8753ff83279451969fea7f261ce13737b3fa1d564115a2cd88850dae3ba3d354ae6a078bbc81dc73253c977a1abe3d792e9d910458b40032347d73e054812aaa186428062bc60e0fda35cc10281c0098b4ade5de054a4cd38284779fb69bf398ce4cdfb56ce0478e8557a6b501168f811c8dc3a52a3cba953225b956950a72a18b72898ef0e652483ead3942704b8fc206bc1e75bfc0d720f4b393f07e9067da6214cbe2fb32f076f1de8ac058d3fd4b4a71c16d60786f43331b2165a92c486b39e9d3d0295314f6ed68695650ccf9927da4e7a67cfaa087d69273c97bd174b3f5f3988430b814d4ea2fa7ccc495d5b55d6949a0475b6020705c753aeab5c23e3866e5c82b8c772c57f0c5a20c9590281c100a2775a3e38c279cc6633f91e528ba76d14750e36b7d43883b1c8bc89eaaf2878c3b6ea9b87140d6938eaf938d1f010656899717be3e0de04437e1da539c6acf3db3956bd49ad71b747778217e2dc67ca0800726a7ab9624e41f10e578719850ed7684db03b7010e86c197eb79f7f68c3022403fcce14d8cf9df186b0a2b97cc120e2b4a729aa5877089240a18fab397962198fc846cf9a10eedcdb7cced6091c61e8b1c621df270cab19e5795485a4b74cdc3e24028bfbbf0eb1fa2ed4531cd0]\n[sha = SHA-512]\n\n# tcId = 12", + "1\nmsg = \nresult = valid\nsig = ebf3c64e4c19fcb0fd920e65554a552cc1e652312c2e0e51cdb3b92c94b2b41ee201f61f434a6aa4703e87416388f4661c04fdc2e459e199af3ea208c61b99d746f4b00d82105caf4f0196f1305e806bc13b4c6e6bf581962862dcb0eb15a0ffcb0fe6b36502320011b540799e1432baf2a56a428fad64811afb57d210d859a1201ec057dd8d2a68784b48dd07357162f21e4c82f8d5e385b1f72834dd4c0d85ffd333410f08ff28fdb7365e408a60af177c80298726940bf4c40efcddceee3945b1d921b9d04080dfb12d3ae61863ad2e3e302370f5a8858a1213dfcd500269ebef76f4ebf0982a751d8ade1aeed95f41d4560084711362774b11b6240c0ba6ee4ca634ba8298f6e63ef560a39047481b9eaa546178e69e4daf5651c66c6235ba97c231241c63ad16efe59b7b5505d9c3f1818368b9462cda71849e431648be9757620c15f99ca78f4e250afc41ffdcdc52693a1fd43506274c431caf34a4d37321f5ccf04971a25c5010b9ada07596bf9a20bf307db9d5e86146226081b25f\n\n# tcId = 122\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = b9bb1751f2336ef5126508541b949d40f1719bd23c2f0fed64a7b73ebe1819377e6e4262f8440a3a3cd456f5eec0b1c0956bf6989add2c3d1c7ba4acf7a617d198179dd974051fa7a14ecd8093ad572d7e233daa2a9a46fe59bcf7e01c6ad8d68c0afa89a58247ce257566edcedd799173e2babadac15405e2812ad12ad900ad997035966a05a02988e11133c21e111a8e06d7ce509de1e0c11de55379482cfa072348fb41c05083529c2db86aebee92095e7450a75d97fce7b3103ef1f8598459651dcb9b6e90f299c9efc95d7ced2f6e91526ab3788238e2b5e109d3ea984189ea13939d58fd4ab896c76bca4f6a92fd3bc124dddfabef1f286583a1415d1fdb8c80de8e7583fd6d52836a22c3926f69723301904532b9fac2a37d0cedccd4b3d0ddf3550377191f813d4f92a5c126ae91e03fbffbcf59637ebbf1f30acba1dfcb0f93285381cec6da60bbcc62074075c71300f8424e0f964422dfac19d205251f227614bc13568f408284b6b53bebd7dc4adfb7e242953564763292d9c01a\n\n# tcId = 123\nmsg = 54657374\nresult = valid\nsig = 1cc02717a3321a83da62deb3ed0b9706cf7ca9fdf3674617fcdc3364a697825b910d54b891b5f8eba197049047cf0048ffba6425d47374ec24a84f1f7f04716b7ec54daccd04aff858e2e7c8830e4420b5f99df756018083abe46d3fbce2da6e8ce6c893fc11ce5967a5f367159f9ad38d957078dbfbd32e818a26b49ae00151350044d22b58a4a61a35fadef67e3f8247f407f026eb17b8dd4ab29d388bfb271a1ec606e141cef3fe57e2e55ae8b40fb076a06f5898362b695545124e9c185c50647cc5b83f09f406e780f626ec60462fb50caf8560aa72fbe174111142029b19f2d681f771a774afedfe2500fd8b1bdd437fc41709253ffdedc302f47afa774f5ad23777a57fe44067182f4b35a28923edc82255cce11d2fbe91acbce29289b4e0e8f5e99e906e6607637b05eab4028d85e91d060fc1fee052a09baeea759917b34855e09b8e5b67ad60f45851e991cf01dd528b100327961eefd0c29f1d1d8771bbf3bb1e7f048d9c2e1dc5e652e6ac4f6a2aef86245b83f611700bedd07a\n\n# tcId = 124\nmsg = 313233343030\nresult = valid\nsig = a0de9c2df76523499c6c344173d944b8e02ee1520f90759fa3c27ce284091f80215a9a26c9fcebc125171da556bb732a0645cd64b05c7cbcd8c187d3995e3c86cd59468118e9278ecdb8e791badca8785e56f33478ba03eca721591930db01bc1a5da5e193b2dc9022e98948644a406138a4c7971ad8ade585a3d72e6c9de50320b9fca1ac0e054835005cd39c96400c491e1b706eca22ae2e9f1b844284226fdcdab1f2cc942a8280f7786e0f2cd069b9ae99f04aae424a6d24eb023e064513931b2e4f7629151af6bf83f4c5c58616960f080c6f96eeab07a87b6d7cef3fe6b071e49ed340b48867a5bea30dee332cb89e1a54d9e3a9a8bbb87179c6ad206fd48dab07104b1f887a02160b59f9ddac6d1f8801c1a8df507ec199e970e02058c749475b7636ba2def322160b11b21773fdf904cc665eb5eda887ecb6d9be245d3dbd85cde107d082cc6d8492a087166e23835a379ac69f5a996ad9032cc41e205078c5ec9c50f85c396822c057b25595a35471a2fc3bdd3f75eb8ecf2d1189d\n\n# tcId = 125\nmsg = 4d657373616765\nresult = valid\nsig = ddad8eeace34f1eb1b0dd28db89ba710ee68aabb54b0a826c2d69355f63acf0f2f2e0dcb96f388d44d0940774d7d55fe81ba6a8a880aeee8ce842101c7e8837fbf2704971341d38bf3289dfc61a6b3b557588db93eef2789d3735000c8e2d830a32070626d079e710c943082a8bd1c0cfb64b2dd911eea76001f8e08cdc01cb072f027fbd9c72331b857d07c1c2f3090eca53accef8b3b015438942e8d2fd3406cbc54c7ec3797a163b13878881f7b4ef5ca45056e16e0c2a76c3d5108c6f0f48803d27eb4b0d55e90b19b6fe372dceaa61270b9efe2800bb259dbead955635ca44ff979bb054b5cdf86d4914ee553d7d5b1a49fb8e49f3f761224802858458f702aa4428964a32a45bed5738224517489f2be075f9ec7234a019005be922b8265bd78abdeb1d1633fe7e5aeb37b61d36b1a03a06847a812e50ed551853d3cdebffaba8b056b788a1bc452ebdb5a3f043a116e5a3d262c745fc15897ad4ad955595292a79eb85373d552d6079ad77e469f7d3a60330702125127b1ee770225cd\n\n# tcId = 126\nmsg = 61\nresult = valid\nsig = 2ecc537edc397ae5c3c789638204ba3393bff5cd9c1f0552db515a8258a311b6bdc88325f9072d2ae67bcf132a92c0b4d01ef0f2916349adc6d8f1b415c86bce6b5afcf4cf2d3137897d0f8a33063a0ff69965a5d2ef00dc3e010094ec8214c95c064313c8e90bd84e34c86b2e19b056539bdb3c83eec23722b3e380a53826bbb31cc97ebb8ca77cfd96d3e6a2da59baaace3883c652a92e79653941c5615bd30c77aa38ad74c49d36ceb9f76544835d57f0cd14999c2c0cf3debbee17a8aba6d777ebd9ffd44b09e093f1a894a8aee80301c3a5a59626a79e445254cb1df1174450bee22a7518afeeb15495d663af289dbb09216543bccd136abf2646bac573551cfd04e6a35b5cdf9729c8b14d34c06660a42b3ab365a42ffe470b69062d0f305c733c43844565b0b94d49d2019933de9686088d219d57b256170c137a21475d03f2a7e0783af11426fc6e64895fb92da117702e4487558e8bd21db82f263c4bdc64065c4f66d87c87889ec5aa9cee02c95d001b08636dc3420f817c228dc7\n\n# tcId = 127\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\nsig = b9b492d4796fa2cb7066069a00e36aab8b8755f9dc8294401137efb3e2681c9b57930c0ba87b45c9d70e214979cca91a06562f710a2427660547006ead7b3e619cf4652131fd84999c5ff1c9a1cf057363b8ac62501bbfb1fae840cc963a95169c658add96c6c969d415c10bec5e2457a5c3fa4fe81e7de1afdec6f4e59e3fea185c7cd1bee4b8a42d2f22c7bad7d4933621a0cfacf0136abffc3ac54ea37c63af719425084cade944999aca3f43c7625d22af10149f39acef32ed7c92f781809aaa945b2f446a03e66150a524c7d88b7bec587ba7d6fe2db4ebb7a8c3bd46e7fa1cae291ff502acf33f003dfd1417fc60674501728e52490476d813f0079f56a9456909ccee3b76b30aca26fd4487527f4ee6283bdb2e72393d661ec0c35b2d1675f679f823fd28e044fed090721ba4c6be46da3eab26e5eb356d17d04fc3ac31425a6f6a50474e2725bd4dc30da74fd3767a122ced21671e47b1fb33bb7018349f7cbc916c6c7f4ca7334735a0e0ec18e01735107bd2ff02cd9508fa5832dd\n\n# tcId = 128\nmsg = 0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff000102030405060708090a0b0c0d0e0f1011121314151617\nresult = valid\nsig = 7efbd7ac1c16b211d9157cf3ab796873196b248d69d5428b2f143404b93d73192eb111b3c4139d0291850d8067dc9b250004298f9690dcf52bdfe024697c21ca2d0cf84b9215ba22ae16c787d84346e6a5e4b494cd651abca905b3fbddcad41b6020eba357498166063e39886731d5eb93434ad026e70c2b06c0ec468e2f4784203771729e6b6542eca06a3718c4c66612818b687de480d379a180f81da405d32b8022aaf7ff55669c9487ae2fb4521f83e37aaf666e95858de1f1b03bdad2c409a5e0c4256b05461ddb17b61d7e885bdb1e98c70a102713a4e69ed0a54c385f0eb4c46a3f41c25b28867b6dd1a7ef9d2c5ea40c64dadad9f705f5107ef8dc91659c0790ecfea83cc637fe5d7540ef21bf608b7830cfa03166526b5b2ce771582dcc534705ab4b8427b55b891ef0a41669e4a2c4170bfdd85ed506bed68ce20e359679e1ab85150e8b4d723b03455fd80f319e5e61397e644a98b9e43b73564a2da455f7bf6e8b81a2825e0fdc95a96a986bc8a5b8daff8d6e2c94bf84f20a2f\n\n[d = 097a59d2c4f70377793937bbbd95d19b5d01edfb1eb3b073e27e4cfed416820d4af4e04cc3f53d272ae43551ad0cd09b89cacb21a595f9f8423b3b0148d2ad46cf818fd9e7cbba18f4f84a1dc18f69ed5a764c6fa191a3664fa94a39bafb1a29431e6fedf61eb9164dd7684f0cb506248121fa948a32c8733f3d9453dae61c8708b2500582f32d91128775265f18bcab6eb170145e33dc40f1bab451194cf8c38f9fa91806bd225fa4b54ca50813b9d7a54f61e0000e5e0769cb2a3eb99b1ae9c3c5416dac83a6f91248c734d7e63291ce12de4d780703614128f878f29015801c7a5ec7670e531e1573ebc8ce63d640b01b9aea48b43d1eea8ad85b55423d4e142bcf73315f3e9e978b65f0556246066596013fad97b83ba552140c6957ef443ccec4051b2a8c9cd9f25c4cf6bdc2e904f46063e319643283462a4047d49c38bdbb0ee3d87980ec08410d5d2dee8e5349958e4178aba065a55d79d89080570fd4af5678b1573e42f2e0f863b31bb4e19ba232c02ae5b8f948d1ce8145c4968d24b56ac930b4f67047257f3c0b86bce7a77b8d0d87124c4a4141409ac11377fb9fc805d60012386becc2ba8478e663becc3d73239ce3036c2d2fc9e6e2e370c2c78053ee1bcef7a87872ef92b784638b84713a5d78ba8c3a868e3466f2275b252e19766d2104ec60537bc1589b1558b76643751f6a60fd8a5102", + "b6c788e0f049]\n[e = 010001]\n[keyAsn = 3082020a0282020100956353ecb7561945dc5544e4602466078c93f28507701ffd39e2a9813c8ac8740e6ad61c955d484e513b3dcea527e001a018ee2c207c1806a96763280236cd3c820dff79837c9b709cb4b522d3ddbc9192242259c43be75ea244d37ccfa8a4c75024a2cf7cc76e842ea69cc7ca1227405b070047387a5068e4976e4b8ed5f9aadd7b4db024fbb8d7bd8a040d8f6610c1c6eb1d4b606dfd182235d0360880304d5a750603af0c424b8c8e6dbc12c3697d2d609c97547e774e2e362ea96d1690dc9432112c535258b3db2c4c32ad510d6c07ad0788357883869efb8b629298724847925cf42b34386be700f02903db5852276bee2370941f397bdc3905e30964a0b5e73602703340960c3ed6078263b611f197955fecce4b9a32e43cd1d2e5e87c4ceb65edc8853a7ee31d28e16e5adffb8ac7b760fbfc63d5f174f4d0936461dbb12c964a6b6d6cee752e5fca1ab4a9fd238dd3e8860a1d763d2019f9e7b99ed7666d4e038710f90e0093bc566987d6c0092f571376e705b342d066c54e6e2578927b92c1f0928de44e9a6e1f49b907c6aa4f605ec9c398d55df81c67373b03cc8110162fb417f96fd321048647dfcbb392455115cd912ea83351853e6a185284648842adcbd25e67174a3b93b8a64ce2ce9de0e8577b8b662ce32e2565782665dd38e5bb5fcc4fe12e4320dab7773b545a09c6d39d9dbad459f21f3e624ee6ed0203010001]\n[keyDer = 30820222300d06092a864886f70d01010105000382020f003082020a0282020100956353ecb7561945dc5544e4602466078c93f28507701ffd39e2a9813c8ac8740e6ad61c955d484e513b3dcea527e001a018ee2c207c1806a96763280236cd3c820dff79837c9b709cb4b522d3ddbc9192242259c43be75ea244d37ccfa8a4c75024a2cf7cc76e842ea69cc7ca1227405b070047387a5068e4976e4b8ed5f9aadd7b4db024fbb8d7bd8a040d8f6610c1c6eb1d4b606dfd182235d0360880304d5a750603af0c424b8c8e6dbc12c3697d2d609c97547e774e2e362ea96d1690dc9432112c535258b3db2c4c32ad510d6c07ad0788357883869efb8b629298724847925cf42b34386be700f02903db5852276bee2370941f397bdc3905e30964a0b5e73602703340960c3ed6078263b611f197955fecce4b9a32e43cd1d2e5e87c4ceb65edc8853a7ee31d28e16e5adffb8ac7b760fbfc63d5f174f4d0936461dbb12c964a6b6d6cee752e5fca1ab4a9fd238dd3e8860a1d763d2019f9e7b99ed7666d4e038710f90e0093bc566987d6c0092f571376e705b342d066c54e6e2578927b92c1f0928de44e9a6e1f49b907c6aa4f605ec9c398d55df81c67373b03cc8110162fb417f96fd321048647dfcbb392455115cd912ea83351853e6a185284648842adcbd25e67174a3b93b8a64ce2ce9de0e8577b8b662ce32e2565782665dd38e5bb5fcc4fe12e4320dab7773b545a09c6d39d9dbad459f21f3e624ee6ed0203010001]\n[keysize = 4096]\n[n = 00956353ecb7561945dc5544e4602466078c93f28507701ffd39e2a9813c8ac8740e6ad61c955d484e513b3dcea527e001a018ee2c207c1806a96763280236cd3c820dff79837c9b709cb4b522d3ddbc9192242259c43be75ea244d37ccfa8a4c75024a2cf7cc76e842ea69cc7ca1227405b070047387a5068e4976e4b8ed5f9aadd7b4db024fbb8d7bd8a040d8f6610c1c6eb1d4b606dfd182235d0360880304d5a750603af0c424b8c8e6dbc12c3697d2d609c97547e774e2e362ea96d1690dc9432112c535258b3db2c4c32ad510d6c07ad0788357883869efb8b629298724847925cf42b34386be700f02903db5852276bee2370941f397bdc3905e30964a0b5e73602703340960c3ed6078263b611f197955fecce4b9a32e43cd1d2e5e87c4ceb65edc8853a7ee31d28e16e5adffb8ac7b760fbfc63d5f174f4d0936461dbb12c964a6b6d6cee752e5fca1ab4a9fd238dd3e8860a1d763d2019f9e7b99ed7666d4e038710f90e0093bc566987d6c0092f571376e705b342d066c54e6e2578927b92c1f0928de44e9a6e1f49b907c6aa4f605ec9c398d55df81c67373b03cc8110162fb417f96fd321048647dfcbb392455115cd912ea83351853e6a185284648842adcbd25e67174a3b93b8a64ce2ce9de0e8577b8b662ce32e2565782665dd38e5bb5fcc4fe12e4320dab7773b545a09c6d39d9dbad459f21f3e624ee6ed]\n[privateKeyPkcs8 = 30820942020100300d06092a864886f70d01010105000482092c308209280201000282020100956353ecb7561945dc5544e4602466078c93f28507701ffd39e2a9813c8ac8740e6ad61c955d484e513b3dcea527e001a018ee2c207c1806a96763280236cd3c820dff79837c9b709cb4b522d3ddbc9192242259c43be75ea244d37ccfa8a4c75024a2cf7cc76e842ea69cc7ca1227405b070047387a5068e4976e4b8ed5f9aadd7b4db024fbb8d7bd8a040d8f6610c1c6eb1d4b606dfd182235d0360880304d5a750603af0c424b8c8e6dbc12c3697d2d609c97547e774e2e362ea96d1690dc9432112c535258b3db2c4c32ad510d6c07ad0788357883869efb8b629298724847925cf42b34386be700f02903db5852276bee2370941f397bdc3905e30964a0b5e73602703340960c3ed6078263b611f197955fecce4b9a32e43cd1d2e5e87c4ceb65edc8853a7ee31d28e16e5adffb8ac7b760fbfc63d5f174f4d0936461dbb12c964a6b6d6cee752e5fca1ab4a9fd238dd3e8860a1d763d2019f9e7b99ed7666d4e038710f90e0093bc566987d6c0092f571376e705b342d066c54e6e2578927b92c1f0928de44e9a6e1f49b907c6aa4f605ec9c398d55df81c67373b03cc8110162fb417f96fd321048647dfcbb392455115cd912ea83351853e6a185284648842adcbd25e67174a3b93b8a64ce2ce9de0e8577b8b662ce32e2565782665dd38e5bb5fcc4fe12e4320dab7773b545a09c6d39d9dbad459f21f3e624ee6ed020301000102820200097a59d2c4f70377793937bbbd95d19b5d01edfb1eb3b073e27e4cfed416820d4af4e04cc3f53d272ae43551ad0cd09b89cacb21a595f9f8423b3b0148d2ad46cf818fd9e7cbba18f4f84a1dc18f69ed5a764c6fa191a3664fa94a39bafb1a29431e6fedf61eb9164dd7684f0cb506248121fa948a32c8733f3d9453dae61c8708b2500582f32d91128775265f18bcab6eb170145e33dc40f1bab451194cf8c38f9fa91806bd225fa4b54ca50813b9d7a54f61e0000e5e0769cb2a3eb99b1ae9c3c5416dac83a6f91248c734d7e63291ce12de4d780703614128f878f29015801c7a5ec7670e531e1573ebc8ce63d640b01b9aea48b43d1eea8ad85b55423d4e142bcf73315f3e9e978b65f0556246066596013fad97b83ba552140c6957ef443ccec4051b2a8c9cd9f25c4cf6bdc2e904f46063e319643283462a4047d49c38bdbb0ee3d87980ec08410d5d2dee8e5349958e4178aba065a55d79d89080570fd4af5678b1573e42f2e0f863b31bb4e19ba232c02ae5b8f948d1ce8145c4968d24b56ac930b4f67047257f3c0b86bce7a77b8d0d87124c4a4141409ac11377fb9fc805d60012386becc2ba8478e663becc3d73239ce3036c2d2fc9e6e2e370c2c78053ee1bcef7a87872ef92b784638b84713a5d78ba8c3a868e3466f2275b252e19766d2104ec60537bc1589b1558b76643751f6a60fd8a5102b6c788e0f0490282010100c3c677495c2bd56619e44e26140d2ede0037409b81f3a5b3886a0904eb486140f43b8626af13d14a33918eb72b786b3c9114f39017871528953c09104e1fd2d36b725388f54ffea30373077895a6934ab174e55ca6a12c21923a7b775b5ffaffbd813f9fb752805b016a5735b883c639fedd55ba2e233a6dc1673063d8487390d1676123544d3def177a91caeef98b13f38860474e44993d4c6060926d878a2059855d0de1c794ac8dbdad655fbbad20f152f15c73b95ac544cbb87b8bec8fd3c007ad09d76ae22a5e993302aa72f11deb265a7f28b88976af5d0c912d97b7284b1783c5bc91a6dcb7a9b97fe53713965857742b7e4032dc5141acd4afd4771f0282010100c357cf685f9b8d4e59e96686f7b8752f0a982efbe6658e6bcdb615d921f5e7056882825347455782d7bc78d637e17e0e6810c2136ad81b16cc1c81750785924616f2bdf5964b26c7fc50fa98fb67b746b50812705b379f5deadbd11dcd2fec7b724d042aef25cea2eb37f85b7554d7ad49fe5f47737ff436bded418507f2f175c695e324fbb11beb0544a7a7cb3f07924e291b5c8ddaa6a7dbb07e23bce1960cb52b9000d3a7aab1f58e3c750b6d978adf3d085ae7693b7e6a46cf6dbb6d2ad981f4bca5d15e0962c39066a9fc27985b9ba1f51132355792796a5dd847400804f98671ee4899050bdc2e7872ce6fb2b78b1050436d882425ee0745546a6a1c730282010100a6bbb5460638d2b2f5242aa6657760cdf3731b1415d5f2ee77248f6fe00e31bdc70396da054ba47844791809c9fcf19f90943e671e928e23950d9f4e82aab9bc138b37b7b1ed2219a54b67367c8574762db237d0f39cda5ff110dbac286712f69167ad4f122b3263cf4dc8de58b9e9ade4f08e1d5543ed74223e06c9521f4a45310291892c37e8a262e5a19b2a71decfec1dde997c00125e5158d7867dbfec9466899d59c04b60c4a0a6c5314c1a2375a5f194dbbf37422635d426d719b12c41140fb5806735814ec268493861002977e8982e8493a2ae78251be32315a85b75f6961d44dfb7505c34135987a2288907074fdc015ab1c45f3cd8e91fee6bcdd302820100178cd58f72bf5118da141e6d351e42da69ff90e2839348c94c62a05dae0f744b9d9ee6515ded4930980bbbd1afa8fac687db455a8bee03ce0acb80fbf7ed2d864fabf224d27abaf12f45200123860c7d74c3c55d5051f35fa239e00b24ba9b5b029bb05df0b8f12189141558095c32284d1c62a63d917682c700fc7e2a482abe1533eacf819c878e1cf37af6eab4ed97c0de89d2edb327966310f31421e85c6ba9c7d7b391d0cbee6a793c66abfb09630fa8cf020e960c3b205aeb15029c95a6e558f90950a572a23a8b852507264ae2f86f5d1936a161ae61fee5d3763b8cfbf48d35dd1159895735b350881ec52e999c255a57d6b3ac0ffa935bd36284ea6b02820100484ad86e79415ea3c78af5f6c807cc99decfb14ca1e80c8e6a1ef00ee582d3d180774236a54ec9dc8dbcca51f4da4379cf634f3a07cea4b7748d7b5d94cacd4d474111f92d19f3ab5eb4def8dba57b990844efd28d85344666e283f5d5fb0e6e8d96f07411c882bf280446e49b3b9b15218fc24da34ce8f01e02735920ef48a343b4de11f99b26547a251afa7aaa69083c421e2447b1a989d50712bf8fc35882b63517c7c39843cf67b92645b68c6d8f90331600142e6cb97032a5af6ef7c20f87630c6b25dddeb57f2cc0cd8c8a0661b5f40ed6632989f5d40f33bbfd9be09374483606c2cd7ed8b5fcb8bf3df1f9368a13922b1240c0d25792505b857d3e8d]\n[sha = SHA-256]\n\n# tcId = 129\nmsg = \nresult = valid\nsig = 368105195f0dc82c2cd37e8edc6ddc0c983dc13ddcf6f9db9a24b52921e5280319a1bcf797f774066d643e5c99b811f0ad9df2a3f430f484", + "8a03ddb97e06daa4d01ddd50bf2b638935cd26b19d6ffccba884a4e7cba35830c6cc5ccce38bc0fcc4ea421347e241711a551c67923b3daaf2e9c51635d416cc2393a9a4f108f84f26990c11dbaacea75e39dc6082b539cd2c0c8dda6c78cbad12e14a352b9dd5c92a3702d8538fcce0e92e26489ea83d75c174ab671210fbc6c397be2167864b519b5136d23a4363ef773ebc140e1da4b0a788d7b1f15a300375ee42b27261675fdfc60c29bab7022dc2e624c7d1f31e278ac089c5880e701bec41f63c8f897c0cecc5eff0a801dbc58d7d4df6e860c20e61f31d9ab2d50e8fbec7471070d8ed06c4c9c725cb63afde0cc4475d3dcb7dcad7eabd874ddf7294cd9d2a66b13b6367a14dfe3827da0c6c8b9e734deece80fd79609ce5ce0a16de6610fd04a09b0b2411bae2bc3222ab4c02867838d0c8346c60589e6204b226efb401841fb95da05ff32989ef935425b943d1b5d2f8af5113491a36c60a98c90b6453144f5fe00a0df3de8d02f0f59c7b94ddc7c8895b1dff8d88f69a9a2cfbb55eda0837800950601fc9e230a5514c9674fb576df8391c51ba0febc29c267462ed5337326b6f40d243ad7d81459ecabbd00126b2142e6ba10d9f903a9918d2280c63ee84b47062e1\n\n# tcId = 130\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 46a6c9cd78e38d5567795dbea71872ac16da06725975cee7d8839d2de665ec3b8411277f3e026fd2f9b836d788b48539755858bc8be0804147b59c09354b372713145e5a000ac15744ccd2db5795727e2f4d5f67bcab5e7cb1290824963ae88528aba0e6785989c8adb86084d26dd1faea3ae2a6175739fe978b576eff673832e513419806d206e0984d1ef0e1c8d8981084ee2ee569806b003fb7f08e775998eba1771f1efa070c00a769363c6101d5c5fc6140f102469574cd09746130ed80d14eabcd0a0418a752d5595b5f40ee0fb05f5f9860e600d75fbdd53461f5ea18be5bd807281f9e8fd6cf7eb31985206c9a5033cdea631512bffdd977fee5e692b3153a2ce9c7708a9c7d665d84762740cc9ea374bd32c18c2d76320e4893a2fac374ca7122e01e08011c351bd33725a6adad96becd44e4ec1032fbfb0c8dcf13cae9556eaf419211d0149c574b8d12ffe5bc59468c7c549283be541697258af847e52a9aa8063557dfa40404adbaa95e38ad28eba053aec3c123e98ab1b947bb774841e9040dd5409068a2c8a84c530fc4273897ed845d76dbafbf45af1a8fd2767234fac1e852453d8b7eede02af228d8b5821238a50a321490dab74d687a3400c34f215b85823424c9d966b516cccac38fc7f08769f47d66c57b9b75ea67be82508a513946bcbc809436efc4ee85f139b143c5bc15ff69ad1f3667c3f69bcf\n\n# tcId = 131\nmsg = 54657374\nresult = valid\nsig = 43929c2fb0986fc4570a3ee7f6701b96a78ec9297a997415a142ae539031c0e196add5e4c6ec572de0a2b109cf23a42567ebe98f42cf312d07538e4a32b0f20403b662c652ba9e3d6e38a625d6b5e91cce5c810d7a02262338e144a57db4ac4debfc536e8eaca7fe08022a2f64741d66d25e3010f2fd259d4c6b00582584bbbdcde4266d86eddfd0443ff24b06cf7ade6d733c637a48a398dbb28355ffb9bd21a49de6b345ef635b68d917b5bfcb9016f7c64c444dc0036ecab8f59b0d29098facca02335df44db87d30d02f08553ffd0379b33d13d09a385cae7d63b6db52e9b1eb8fd549e0e1e18210de1d3e9527547e5c72f816eb36288b09d96db772f955ca46fc8cbdb6eea93c841e1075c00c3c45e9442d28095136cc5ce8212ed8c60c9668898ab5d64734d4d0f2311f104cf8a732e6d88fb2064cb57bd54d3cdef7c11c840ecb238466c747289233a317b73785778ff4349949da47c9b4b2dc9f89bd1fe7e98b582500dfc05dba3fa410cca66acd854669940543c22ed1038eac7f0212b9ce4aedba0eb15ea1e75a73c45c1ae03fd241662e9cb89b051939c468db3a0adab822617b5bc669d1e0226cf6b475445d9d5e77ef54ed646cd81f0952b949b7f4f37381ba6427e060966467a76e1d9261a5fe8c68398a89eb5025cc39339885b6c33dde898a159f0af4acc81461fae37f5f4c61de4a888dc4f6b1e2b7336f\n\n# tcId = 132\nmsg = 313233343030\nresult = valid\nsig = 0e207de1295caadb15098f51f5db90f9f000776055b107be58bd24d52a01d4171cb9e47a40790254f86a8a56c8ae38252f909aa3b9bbe7b7e1fed008105690d9afa647067ac122a272d30ac28213d2cd37b45cf81dc48d59e87d9ffaef6e1c9cf6ddf4ea5ff6123523c9cc885344b7e1ef4c8096bb542bc0fa5c47abaabca9a58ca85bcf092924741503a0f3c54c725c48855dc434b09d761f729051fb15af5612bdd387b4cd5019577327bb2e64edb065f713d50ff4285f1d184fe709207f809b9c38d064722897a868f8a09bfe1d33c80be0693e98d7e85600befb643e9f713584c716306731d7f8087dff66be1c4f6dddbc51b6ffe6034845cf0f88749e039ec314887c94648154f7c97235323bf78041ec2c8ee98ea7c553ecfec1f9fe89279c9c91ac6acd12ebe969da4c67fa6534ef9ace4b629c7b1de8c4ce1dc2b0f5bd7d416db6eb512a4dc8eda0322138cb7c65b9a58d712284e4aaf059db80af5785af4d83d391b7d8bdc4071636712410d1dde662478eada1a2f1f35786b78eec77b2788536108e7463d676814a91f81fd5e2084a8c1b1cc33988e73184110c6e6b0ef1de874104602eb33b5276ebbac95d91b943e25de6dfc66b31d8091961c78dcddd358de7f25584d9f74dc6271ff31294bee2cc9b2f97a2583c9b33243600500bc723b05d65839de7442895bd57a1dd508651a20e20f264d8dcb59d485247\n\n# tcId = 133\nmsg = 4d657373616765\nresult = valid\nsig = 0a882c367ff495646c21ef0489ce268d6c4e6cd0176bf9488d4b8edf04e1706f23d121b500b427eb8652099689429a08e73294cfd29694f9b4f33ebc8a7f9d0f9d11f114d0f848114d116ebcab828c7ed4c64d5ddce9958bd0883ae82ee2be0a185d54ae64690accd816971ea5ef80d7d601e72a814b9b61e8d00727a843ac90639f2c83cc7e2a9065ebea3e7aad3b12dd9ed8a1ee03a43e669598571490fd92b699d2941fda3af7271f8864c844f8efcbac20066c7bee682c644da2329db721ff33a7a81869a7bfb7a910fde6008e1bdb4e9ff989ff78fc0a9f43b38399083808fb3f38f0e96d4020bf8a4b329bbf81d59dffb03f5d1ea34276ddcccc2a4319393e1777488c843f9b0aef1fcab7a97e00d50f7f83bbfd30272c8ea4a5b0d7b74e7f7b70a9295d0e942e5b6e627ff8457d0f60c1aac8fe10b7d7ab1b8cd18d3904bfde2a316a83ee2b7633c3dee3141fbd61c8115f88ee7ca4b2b677d1803a1a35361c956c1adcfa8c8e10f0422eb3347b4983eff3c1c79e7da80a2e7c6d55e61f5af74254bd91db0d4bc10c3812513d832bd6a603a6bafd29cd5c062d9e3b74631f873fb3ab47e59791446e5f795d6ef5bbfa267a541d4405dc09e82c8b03f51db4798cc96dda7a7bce7ba9c679d851d5dd2e6b3735aaa2fcff0d558d68959c6af8b283fd383315762767cd0e4ef6e027020148cd3b14833cad4d92c2c9ce15\n\n# tcId = 134\nmsg = 61\nresult = valid\nsig = 374603f5d4728526e6cc7c7bfb6f456bd33bdabf37d942dfa8132a9479f6e4a9c2dfee515d883ace45cf1d660190e442a9ea7590d67aac9bde6951314af90baac21bed537c774148afb7927337d626525e13fa15664cdd78dfa5e3886ee1fe7137ad5f69aadcb098a0d49475b0f76ed1bb86cbd08a0cae9a6ec120eabd55b7e5c4456bfac2b2acc3892110b7f62c0dbe7ec7e491474c5c641453743fd70b15f7a726a0ca44a78bfaf3445a979bd4df362b7f29d4ed9189bfcdee01476cf1b48c2edaf02d226b41f587a8db161bd36e6ea20d64c8773fbe8c0296b9e016ccde333b380161a641d822bc65d3b60417534072263cd461a4f77826cbd0508ea11720081c34b12d80ef0963857624d48c53748f279bf6ad338ba564e35d37d1dea27d19ad5dcb76d6f4aac62e49eededb1121e06b9f78eb285f7d7ee2cd475e791cc04c029cb76e5b33743aca3ac3adf5e317d95aa79a2f0ac3c328e69ea4692661b8107d89eeaaf3be01122544fd9d0c61511e87c6a5507c5701655d35f71586badd55b26363b51f019896c03326c72332de5be8a0f146d630a6e747a906684c7dc59d3bda667c8a92432e879f6a4d91d3cdca89b9840285bd8a22e5e5bebc32011725f64cb5fcbade8a5f5f9ba372a9be7f0a4907e40b4d06feffee3a558fd023514b504308a1d821c41955c305f550ffdf005b9bd5dfce2d16d3d09bf17c156c4a\n\n# tcId = 135\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\nsig = 401bf4e63be4259b54c5909797b2b01fca18a6f74d76fecf75535f2876079ad9ee56c653dafc3513eb02114f5c96efb4025cf58c2cd576d003f688b11458fe3df1657657ed52b2756a99b48c6722708ef11765c8da2f3b061c779f26a64fe13e4be4602d0ca2553793d36c23f3194705e34a75b9b91ff7f4e554c5907b85ecb561a8d22262aa3669cc7be2fc5c21b9170869ff52dcba46b2b1c688e4c04e7a8f099e3a4196863bd1e828fb5ea5443b64b190327622055d44ff4c9999601338e56c175c716abf8d6c2ce6b9ef17930e846745e751f882ffb3f0b1a20e68ce9083d1466295caacdce85bd4a34615d09f2051839ff83650708888db818aca9229c38ddef86848a2c0c88b86a2f5a1079dcf0e888be62e116850b7e8d06785627fca1899f6d7c02eb60c3bae0d538cde8a05ef7281bba7f35757360ffa79fdd08642b6af5aaf8c71a32aecd0e9f3d9a2ef164da1740a5c2dd7943603bafde05e38f2ba78c15c3eef13a5059f3f242f07af2e6044896d1d6d9810ed3fb8203ca4efc116e95d2f53be8c55fc1ce653f02597c0df7d4a7dd88b41c2a65e40bf5dafbef2a97e4dc3bb49445774cac283ae131c08492c9715712f998241e16eb776915f15b7e9544ccf1dc220a9e139defd63cb2951090808395ce56555a7cdab4564d82151ddc0ba00db24454f2174bf0fe7ffe6e2d9d82a92437890bcae1601dbcea29a\n\n# tcId = 136\nmsg = 0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff000102030405060708090a0b0c0d0e0f1011121314151617\nresult = valid\nsig = 3b24aa8966f2e4b1e3b08b60479b69d415d679ad786e527c41c5059ef17b4df55951f3e7fa55f46c3b88888437747c9a90c26581461958fded191cd881adabb7afb8f9f19", + "5181408dc3332c916bdb1f4655eb17e9e481a2c647e56df365605908402739056f0df65e09b6d9594e0a57172c91be078f306f59d3d861a1abd9374a5ece07f86659ac9e40d5d4d8f73105464b3b86f45ccff1a4b30e7a7fe829e22bbe4e9e3d2b53c5969a3fe364a4caa0e69c5b0135cb5ba73a87d804f6a475b95f255a0a8c7f0c81c98ada1c72403b691b8853dee397337cffb707eb962ecc9e8af2f21cc014167fd56854b61f82bf32097182f4d36cf34c28b2303d9715046618c9dc2adf759ec8ac5829a8ca162c98e0fcc18bafb98965f655950e66d9e0083a1e1c452a4ee89d6b34b3fdb54bc8da0be3210d888640fa1ee86cbb04158b6b6100f41ac8ec671566779cb99f26dd1992a5a7dbdae7e61d85abe48a52d32b4c4acd452cd58c842c71de44ef94b3d19c53e1db1a0041f199409bf11b27a6ad0830aa18097e8c5d25d42fc2e4826649ce7603ca8321ef56cdd7aa64e5938b18eeb2f468aefc73b33ec333ec8c889b8378b83fc717ad28702ff5116c23f7e7bf18d1e4781a4f7b7fe803f382b50ea02b8c60321318abdb48d04432c924ba852e269f61eda1fd39baca88bc3c89621b60e03d82f41647ef4a78c9fe1976cfeee8ec3\n\n[d = 0085f99393b1ad30ceb4bf78e3a85abcaccc1387e45902c965384fa2453f968924e904b6dae0c38d7ba5095c838c45e879bd64ee6ec58c7c8c308f2972c8f246fef33e70307e6725145252641af32cde219b766829ba8f33cde7266749d8b4ed1962c0f8005bdaa8b65b16001323c5b11fc068d14c554ae4465b58029029c30754963d56a09b17c1e9f46643bce824b693fcc9bfa45b9fa2bf2d0823cb9580071d762a049251baddbda74a303f859197fdf27a1e90227953ec7d305f9ec620eb968fdc531cbcd060a7496e229f37144f52ae17eb70a0108098110c7b8474a430c4672347a0c6f6597832423f8b171a6871c8eb62ad5f9ab26a446926ec88ca73d8c5f7c1233519132a6da0f3b75e527107d4699e7edc9e1d028c117cd6cd5a84c057a9b57b3b7c1571af8023336ced6ee72f19ac3b92b21429d3db940ac3871b781d9c2ba70184f7b6386e4d4e16340285f5e22e892d47e0475a1bce4d7e8dc2c9580cd8684e41422165eb3cb15ad67b2fb9ee4fb63482ab838c10ecfa15730a692f8d0f1ca74078bff70015b3a1ead8bdb897272418f6f25e7c033c1429514adfaff7dbe68623f7d17f40f326749fdd4fab0c24bfe90c17be87a49899c15d83d524f04c0f5510adab43c9ddf80e1bb4b68b700a08667468824b5b5d358660b0c278ed9cf8f586584887e20657a60f7c4150f53e8c9f8ae6f3b546d84135fb0011]\n[e = 010001]\n[keyAsn = 3082020a0282020100e3ae7de5bf44de7d357e238c8dff063ca713470777ab786b495884e7a9ba1dde65de7d2b5be3f2b7d1830cf6ca8ed5c05d3f094aaaeb1dd2e4b2ede08613109a9ba34c7e2bf8450225974374459f16da2c14192c637985febebbef01f0381e78d0fd63b76038f5e3d35dc7d2243963366af5d7685f1bcfc99dcb91e94c93019068353122edd03cc3e615e17c1bf1dd7c43dae86f47a40238fb594041cebdba25f3fe9593a6c329b7f7c476eab7625d17ba7be7886936b733f8dce6e6c937f588da1315c1117abd29c83895d95988d17f9fd7623960d8e433d7c6841507ff2faac36e0e19a41eb2cccdb2a2c0fae966719a99d203c924349bc0eea1374efd3e23099b2d187922016fd014087520a67363687322b90d7a890d8f4464a8c794d2a3f2070ccd3b0ebbca2b42bbf8eba6f2c0bf8008b5616ee7b81629ebff97a93a5b861989daa10da7c8e3bc7b0cdb095f6ce1185cf8fd3dca035eb3e505cbe022d81d93945a144806b9fe0ba07f3ab9c70e72b5fb77ac6e4c7e03aa2dce7c5ef227aba1acd48c1d93e0e26f01e8f1e43aa97880d15d6c924b060d1face21d03a796c86301f4a74339e472b2f96cd0755741cb9df3535077381ada84d1bc0846a6c44c8a8d3cfe1b7a9913d1f3d7af2c5ea4e67ce0a7ed3c0058206fd13ad9ccad5a8212f3ecd788368a6b6148178c7c5ea8d6d385227f2c76a047216e5e206b1ed10203010001]\n[keyDer = 30820222300d06092a864886f70d01010105000382020f003082020a0282020100e3ae7de5bf44de7d357e238c8dff063ca713470777ab786b495884e7a9ba1dde65de7d2b5be3f2b7d1830cf6ca8ed5c05d3f094aaaeb1dd2e4b2ede08613109a9ba34c7e2bf8450225974374459f16da2c14192c637985febebbef01f0381e78d0fd63b76038f5e3d35dc7d2243963366af5d7685f1bcfc99dcb91e94c93019068353122edd03cc3e615e17c1bf1dd7c43dae86f47a40238fb594041cebdba25f3fe9593a6c329b7f7c476eab7625d17ba7be7886936b733f8dce6e6c937f588da1315c1117abd29c83895d95988d17f9fd7623960d8e433d7c6841507ff2faac36e0e19a41eb2cccdb2a2c0fae966719a99d203c924349bc0eea1374efd3e23099b2d187922016fd014087520a67363687322b90d7a890d8f4464a8c794d2a3f2070ccd3b0ebbca2b42bbf8eba6f2c0bf8008b5616ee7b81629ebff97a93a5b861989daa10da7c8e3bc7b0cdb095f6ce1185cf8fd3dca035eb3e505cbe022d81d93945a144806b9fe0ba07f3ab9c70e72b5fb77ac6e4c7e03aa2dce7c5ef227aba1acd48c1d93e0e26f01e8f1e43aa97880d15d6c924b060d1face21d03a796c86301f4a74339e472b2f96cd0755741cb9df3535077381ada84d1bc0846a6c44c8a8d3cfe1b7a9913d1f3d7af2c5ea4e67ce0a7ed3c0058206fd13ad9ccad5a8212f3ecd788368a6b6148178c7c5ea8d6d385227f2c76a047216e5e206b1ed10203010001]\n[keysize = 4096]\n[n = 00e3ae7de5bf44de7d357e238c8dff063ca713470777ab786b495884e7a9ba1dde65de7d2b5be3f2b7d1830cf6ca8ed5c05d3f094aaaeb1dd2e4b2ede08613109a9ba34c7e2bf8450225974374459f16da2c14192c637985febebbef01f0381e78d0fd63b76038f5e3d35dc7d2243963366af5d7685f1bcfc99dcb91e94c93019068353122edd03cc3e615e17c1bf1dd7c43dae86f47a40238fb594041cebdba25f3fe9593a6c329b7f7c476eab7625d17ba7be7886936b733f8dce6e6c937f588da1315c1117abd29c83895d95988d17f9fd7623960d8e433d7c6841507ff2faac36e0e19a41eb2cccdb2a2c0fae966719a99d203c924349bc0eea1374efd3e23099b2d187922016fd014087520a67363687322b90d7a890d8f4464a8c794d2a3f2070ccd3b0ebbca2b42bbf8eba6f2c0bf8008b5616ee7b81629ebff97a93a5b861989daa10da7c8e3bc7b0cdb095f6ce1185cf8fd3dca035eb3e505cbe022d81d93945a144806b9fe0ba07f3ab9c70e72b5fb77ac6e4c7e03aa2dce7c5ef227aba1acd48c1d93e0e26f01e8f1e43aa97880d15d6c924b060d1face21d03a796c86301f4a74339e472b2f96cd0755741cb9df3535077381ada84d1bc0846a6c44c8a8d3cfe1b7a9913d1f3d7af2c5ea4e67ce0a7ed3c0058206fd13ad9ccad5a8212f3ecd788368a6b6148178c7c5ea8d6d385227f2c76a047216e5e206b1ed1]\n[privateKeyPkcs8 = 30820945020100300d06092a864886f70d01010105000482092f3082092b0201000282020100e3ae7de5bf44de7d357e238c8dff063ca713470777ab786b495884e7a9ba1dde65de7d2b5be3f2b7d1830cf6ca8ed5c05d3f094aaaeb1dd2e4b2ede08613109a9ba34c7e2bf8450225974374459f16da2c14192c637985febebbef01f0381e78d0fd63b76038f5e3d35dc7d2243963366af5d7685f1bcfc99dcb91e94c93019068353122edd03cc3e615e17c1bf1dd7c43dae86f47a40238fb594041cebdba25f3fe9593a6c329b7f7c476eab7625d17ba7be7886936b733f8dce6e6c937f588da1315c1117abd29c83895d95988d17f9fd7623960d8e433d7c6841507ff2faac36e0e19a41eb2cccdb2a2c0fae966719a99d203c924349bc0eea1374efd3e23099b2d187922016fd014087520a67363687322b90d7a890d8f4464a8c794d2a3f2070ccd3b0ebbca2b42bbf8eba6f2c0bf8008b5616ee7b81629ebff97a93a5b861989daa10da7c8e3bc7b0cdb095f6ce1185cf8fd3dca035eb3e505cbe022d81d93945a144806b9fe0ba07f3ab9c70e72b5fb77ac6e4c7e03aa2dce7c5ef227aba1acd48c1d93e0e26f01e8f1e43aa97880d15d6c924b060d1face21d03a796c86301f4a74339e472b2f96cd0755741cb9df3535077381ada84d1bc0846a6c44c8a8d3cfe1b7a9913d1f3d7af2c5ea4e67ce0a7ed3c0058206fd13ad9ccad5a8212f3ecd788368a6b6148178c7c5ea8d6d385227f2c76a047216e5e206b1ed10203010001028202010085f99393b1ad30ceb4bf78e3a85abcaccc1387e45902c965384fa2453f968924e904b6dae0c38d7ba5095c838c45e879bd64ee6ec58c7c8c308f2972c8f246fef33e70307e6725145252641af32cde219b766829ba8f33cde7266749d8b4ed1962c0f8005bdaa8b65b16001323c5b11fc068d14c554ae4465b58029029c30754963d56a09b17c1e9f46643bce824b693fcc9bfa45b9fa2bf2d0823cb9580071d762a049251baddbda74a303f859197fdf27a1e90227953ec7d305f9ec620eb968fdc531cbcd060a7496e229f37144f52ae17eb70a0108098110c7b8474a430c4672347a0c6f6597832423f8b171a6871c8eb62ad5f9ab26a446926ec88ca73d8c5f7c1233519132a6da0f3b75e527107d4699e7edc9e1d028c117cd6cd5a84c057a9b57b3b7c1571af8023336ced6ee72f19ac3b92b21429d3db940ac3871b781d9c2ba70184f7b6386e4d4e16340285f5e22e892d47e0475a1bce4d7e8dc2c9580cd8684e41422165eb3cb15ad67b2fb9ee4fb63482ab838c10ecfa15730a692f8d0f1ca74078bff70015b3a1ead8bdb897272418f6f25e7c033c1429514adfaff7dbe68623f7d17f40f326749fdd4fab0c24bfe90c17be87a49899c15d83d524f04c0f5510adab43c9ddf80e1bb4b68b700a08667468824b5b5d358660b0c278ed9cf8f586584887e20657a60f7c4150f53e8c9f8ae6f3b546d84135fb00110282010100f8dbab5ac0479b00c69751ffcd0de5e398deb0bf0cf19a659e09b6acc4c569785901b75889e27a6cee8a309708a6d68a51bd93e8b25b86a5c2150b4fff9620974daa6814c3601dce8fdccce1abe6e6737c948fd9b7c8a3d9032a339bc6ee848ee4fa54f513c3575b7a89325f7c97b1beb5b606fe96f2b3293f4ceac194c090134ef930a04882f1e96838c2827d8ea512cf474a4b5640f46ee2580df8b59a6afca4c1e1f9a3ba82232b9db27e9f2b48d5181ec781df795aa87e84ad15e095fe43d46a6edb0d47d62864877692c754c2935478677fe4ce9a4290639d8a448e7e2c393bc5404f14dd37eb66b4b23ffd071d346fd6e59d32f0ae1c1029f656d74f670282010100ea373dcc568d1345b0381de192171c20d8c8c32c5a5bacb84abd72cb96fec492fe4ed35d7a65e5739d859fb99e2b2e43c590c78ecb9c07a40d7793aa78dcb31de236b9735b6f2f09cea70ea921275a812821bcbe3869b8883beb2409334f8e0a96f4528157de3f23318240e65d3dca9a3d43de08345bc2ece4bac68c7a21d29c5acfa230c518c987363c37acd2b6f6cbd69fff99d3a619c6268be013d3a8b96c2817e606863d3d8c", + "123306fe7f6b8dc027daba68a6784bff414b352649bc7769eb9f61c02bb8c7627814484f2799233c81898c679256f10bcabef4684ec84b259df1751a49a153c0e84357ee8cc9e35e9e5616af9b00404e55452b2df08795070282010100c3b4650e6a562594b7987ad8f31671eac9e69f12b0083486a3813a12a67025608a86a9fc4bfb3a91fe09d8ea7dd84eb1da547f442937872d45f32cc14ddb6f67eda10c56ffcacfc60926f84ca4d661f7024b06d18e1190a0f23736fcd3b5f1b33a698f7468855f66c677ac90a137de857efb5686d288acd2cc401e01fc8c6f017042d1b5cb3087342a4d30d2541160c9e90e4463f8c1fe38517234129a2684ea885b1cee288f5d16718f83b6c64fd0e81c1ee080c710f575ba817668d504c03ff1857e06706c4503e10313019d16902a32ecb9603fbd265d2095e667bd405e03434338fd38f3cc80d47421b86850014f3b5494a8603696462635a3fa6112d4130282010100b43f772bbea02b68c2492d95df5c31a585b05ba3d29622c261a292a9e3b68589aa74f76d45390df08015c9ea8bb32793b883c750399a06b75635e44a99611fe7aba3f9ecb13d4bb1fc7bcc6894bf38839563016252ffe9a7ce9513d290ce74bde99675b85ceb09240881f9784fe1b1fe2990055bc30fab5fac57a15d92d05cc93f89f3841ceb0a8d284c077cd55d416975ef04425a03c66a1c582146a0e984699c2168413526042bbc05d12822df9ee376c87a14f7a834b468877c8bcecb600affee54c813ddcc74177d6478a63cd0454c5b92d65264de74f8bf2450f1f06b04b41c92c67c4bcfacf21281a5706c1eb33e9f7a2e02d79aa5ae31e11d25b2f21902820101008d2fd00d16cfa3fdbb3a99581cc4cf3e6e31ed69dcddc62a989530f859acb06ddf0aa8d61020d6f700a7ce71916b409c963e02d96a8ff7ed15f091650913cd0c49903d8d036f3d21914ec934d8080f891be53c45666a813b6f5d8e5f22ac202cc1a0c5131f06e5fb47e0c25a5599a08d285e02a4ed2611fab47efe0b27604bf8717ec11535b02df6920bc87e60d3b172d7d70ebf0482ac59d4f6d34124fcf460165fe06fae276a5dc9c6407e691ccb3fd675430be6be036ca1882eb48aafe0a3be03e0f6f9a35bbec7b1be5452eeb21dea824270d906472a9a1fb386a0acd99d9df4d3cf28ec3a1dbcec0efb27296b0f540efa695828643b95c32d017bfc5275]\n[sha = SHA-384]\n\n# tcId = 137\nmsg = \nresult = valid\nsig = a454390b04bfdd69c4be2ad1bad96ec901639f0bb60df268415b4a93b4cd53510fe64f394b319e66ca8605d7d5f7a05dae5eff827060013503d857a977c09ef742525e43b7e69d3802a58206e696848a87ee17b2b9de6829044349036554c659c8f8866c401fe85869c0a5ea90739c4983a1561a84e4f0bceb00015a671f5283f41f0bb8599774829b6a2de24f14d83351c96e35ae1475c8b4bcd2cf66889237a206d147b0e949f2b2028ead379c74203017904ac09a5561a8ec343be22cf46c3bc2a87b12cf9cf6e8fb22de884bdd9677626b757a005d3745f387d296347d3852ddc2c4258cf572dc40df3ff6a8a5f9d8b1b410c54739b9ae182611ec01805c80b445d058ce2afc4bd58d87c03fc9500fba237bcbedb0960a1a02efef52b97cddac63b5eb0481c0c0991375735338ac84c0505415ad2bf8e7a819ad269460668ba8f8c879f521ec9dc709e406de023fc0f9129a3a94eb1f3af08d33eed6273e5166f31110097f5558d8d9028ff558e627c9c0db2454b134a82a9dacca5b4032bc0e27c4d41cf55e9d89cf51528bb4f08c6ee5ce651af3772f008a44863c851933a57cac8e29a84756c9fa7f80435b3b78486f9908512902d5461964918239c76b6790b780e09d2f1d3db1c59b275d20bb24fa4f518b25af3254b61d34ed8b444d3ca736ceffdddaf767bdc92b4543f68b25421cb8c1328f2f253e446be46d10\n\n# tcId = 138\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 909c1f13b544933ccf3bc73ff5053a8a65a8f01b447d4b40f109cbde29d866368aaebf46c19051092063993862b32fd166006bdd4d988794d4e9a77821fc9e684fab1366a2d988eaca60e4fa8ea947dbc4b8438a9fc036691107d3d0be52c46c61342ef8fb7e08032921c1b455c55de28d58c77c1eaea03f13c26c4cea73d14acfa8ac2907f6a775273e7686ecf4b882b88a42cba11cd1efa5b985cf5a227654e54cdc9e2d283b80d250cce553fda636279336ba13f7f3659d70b5b2995a2ac7b60f329c62790d8eed1c3dacccd0df468a91e767c190be41a028d4efc1c5ed5e6f3a77930f50217fde9ce9ccb66b75731957959834839fa3bdc1a769fabebab03d3f0e605a12aa9fccb2a9421591a7427d82068623582de592935904b59a42e59b50419cd12d71da871862149a6500ec6870d989423346879551e506fada7c0c01b328244ac5f2e2c5bcbf4b5b09a4512a0edc90fee4d4dd9eb88582bfe37b49b8d8189051b32cccbc4d300284f9e523674a601b1a725722695d5ef438b770b575b6d0955edc761250bcc6a30e8d5c7287093236f223c2da8d9ab7d6b58e5d0e9167f2e8c58255ed16b63789ea16046bd0f987b156e9898076d444cc7a4aadc76699a2e3a442d63ca4c3f92da9f3b2c4ae13edf9d4e28ad206ed0cbd2df2a46920e298abd1904877b75c1a9ff80c5bf05bc5d1ab94d379d064fad894918ce326\n\n# tcId = 139\nmsg = 54657374\nresult = valid\nsig = 65956121a818b842d861d0dbcbdef22aa05c7e94ce5d748308663e142881feadb85dc4421d9d01833b8b4c2713842c77949cee8b853286107c655de7778a5acca11afbf1d9dad429eb6a281c1e8ae1cfd37cdf530fd4f2b765c352bcea26ce44e2165c36553318d89b1e06ffd8a210cb988cbfc916a9401fbdaa56a1a2a4cb66ef00a3176182d33dec5f3625b760c37c82cf618cd2875079a36015af21d060dffeb5c9e1f4255d7fea64386d8d860c6868cd79ef6d7a87927753a78bdb63c4845306de1d73c5d7dccbb6cca9b65aef19a7b9e53d9c02a4a2bd6910e076959f9f40c30eaa0a6ef783c0b73f05566e4492e16b832729e03fc939e54bf0336d376a3b4cda534bee446dad3fe51d20bb8a135103e7e12220484bbe02e99c5803282ab90d11063e5243297f80d3f24ab08fe8f2fb62702b0543f0203972d35287ba64facbc635cb438a888c83c7028a325555f07521c3095bc4e38bd0f60eb90828319777fea2276e0bc76f2c13ebf92f802a08844209ccddd2aac1f2700e8a5107e86426e6ab76288fa01de18b8a63551fbe8705824d16e5190c559c7bbe8a17031e7d352a681b0418cb36423632ec48a8d3861136b250ad2fc72388e771b41849893cdbffe04aac4037209944ff3174f86f7a88414b1666727c960b1e54a2cdb82e39cf9f2661f4ad6e22f330b350eae7f588a623524617b1846486fe9f04abbf5e\n\n# tcId = 140\nmsg = 313233343030\nresult = valid\nsig = 3b35a042a4791dc1ac1561ad1038750bb9a575a7ff72db2ee60ba027f8994bcbabe41fed36417bd139a286ed0aa6c3ef2868a7251442d060c1cc67d4470c3ab7c307acb0c0641218a45b9cdde05546653850c2168a59f1788cd55dacd40afe38eb941ff08ffa8bbe609f2aa795c73c0368f482d53d691980891ba43b69f5791c2e6f70e17a996a299e60ce1c9d44ebb9f29e700e9ae216df749149f6c222d1e1733953553a792745c382d44f52ff404ed5ee04c41ac8acc97c250f9a5e3cc6d70902d51e8ac000d05e36279d83491dfe6a40f222bc1dfcfa7fa5e0197cf47528f77719e007b65ca39dae17bd0f323b00ee63b66401e2ec5f8917ef600a41c3a61571a4d922c0b0ad0a290ee054ad15e63f1a0cafb749f80cae6cbeb06be62e1608b502182d247bc6a37abe5fd750ead8b7216a35e74b969005309b14be36a31c5e6c2266701d5afdb5ca2314e2f32ae17387d8284ad2c7225fa63ed47e7245a65b74f53a5bd22654b3878ed09b1e5e070bc20eefac6c95b006b8f3e613b19f518c48ee6781a12bd08ad36ba384d03d3ea3c4e0b1facc39741f9ec73d0335d2ee735355955ed12cf8b999d155d389b1a3caebdfbba32c883ef7d0e112d86e6149a3328b63b9385c68fe8a7b679e8436aef7466067a8e8bb49e31675729b3f448e7dd3c048973d2a5f8f7173c4428f3982a99361fa691d1588e39cd4485c450158\n\n# tcId = 141\nmsg = 4d657373616765\nresult = valid\nsig = 09d8512c4667994623530a2317bbda738eb8917bc80c84b64793351463da171bccc88b95049a57ccd917a4687da3be63db21b0ad0972ed9ed182f4ecc8e06647675340192a57e6591eacbf15d2f5fbdcab568b16ed86e668144d9e676e55ec4df1dce61f672de9f53d1743b72993a5d21ffeb7ab58e0f83e297cccbf25ed68c70dd8441c119afb6c07fb1d83edd9bc1ac34046733c8b827d002c3b6072d74a6c2cf7f1d968e9f7b0873de8ee5adf902dc68fbc93171f763c425964ea6e3af6691f1a303ff7837adb07a09f728de3377fff74adb34c959d363db650fa5c3035febfe8c62a0cde3d006a9d34d51c5b2c4a1dd4f2423c532c6b5fddf03e0a05fdf8d857f98787d6f55f0ce1d0ca95a37177657035ee48bd4f39f7d520ccc48ee999777868b4c3876e2242f59b725798bca28ae66c267c507cd65fde612c1fdc9362994ee31134d5561ad7c3f523858f43611c249cca3c134d00ed966a82b800da11add213731b58caf232fb2094e9dd42ceaffc7002f1592e79b85eb6e39ed5de8484f5509e0f54166426095e8522f88363fd0dd7bf64414011a710c7834958c0aa308189819cd4488588b84729dafe163e79856b913ef55afed55e83ee5b812579b87cdb80d5bc9ffa02ec32a0d97b0a56bfaead58a438cee53d40dd197fa2eeef4aff98eb5590163e68b5f3de443909769080c8a6bf87e3808bf265a41a3b79f8\n\n# tcId = 142\nmsg = 61\nresult = valid\nsig = 798f597e9ad4ba8b3d00a9527f4e785af5c55994e2953046a1b9062945e8dfa35eedb1e31af3daf1955d7b0afe74fbc53739b1aa02fa2dba629c31b211cd513e2248ed847dd579406ab603d3369de3bb07143a581734fd8b1ca0358c4fda639045be1f192b233efb8848bb2c544e4e188e0c7ce311bb4841077d15051c6f6b31998ddd8a7bd30d75b7b3c824358bccb35f8ffa8c0fc5ac37ed71cdd48ed3c0269a638317756bdc9287043be1b4f3c6ef6423f1d0d38857c195e7be81c3778648ab889474109ff3c7be0fec790d3f5f50b966e3df40c566f572f8f252d09e97d4c90442badf820c7db74d6fbb004bd7eb53c0b1a871bb9f480821bbb48b363c85c9866bf8a86de9c6732a3136f2c80e88a29540a9036b72fb8f4c898e7b487c41d0f693c91309bb3bc06f1e3b2fa9918c31ba2a4b82a37a927784a7c7d2aadc3301524ce2708774c3e2189ca188b3d85a33348d28ed6f080a06452bf8316d483e6a5e28b831797f85a8ca5ca922bcd94b9045f588ea9e15f2a20dd26817eeb80b3421c5de72db98843dc719cfb1aff1f927ee1df1bb718732159bec70d5b6d0f98a3fd5d42c31ecf4124cb1759f183838d676eca2cadb4d57f2d6a52cd0115ffec0fd79c99aa78df8c6b54797a590bfefd4c34e4c3f39750ba47f4d8002a131b870ff8e65c6c37b75e5c", + "54c8a2bc2fdacedb41f30ed8bc9029819b7064b6514a1\n\n# tcId = 143\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\nsig = 41fa907da9f78e107b58ff6c4ac0e92a9bbc7f5b510260572fce4ef047c73cab3fb0d00b353b4cb9256dddad432c5815652bd83c78e657075781140de56189ecfbe1601f24bdce05c63f511a3d04673d24c4e943695d7812aad66f374a74a906177dc729090070cb5d6d518e7045f4cdece06ce2ae42e1177c46856a8425e60bb06040400c8ba0efb8d4f395a4377d4c2c128c68e6b30e358a73d9904d7aa1e517ef396526cb64d39b3b36ed7204b3bab1d91b23ca95b2ca1da3eee91c7d27b4e4e658fbf5060a79cce69be1d95252b0d7d7220797a53982dc371372969d4e06556507e7e7870a9efd9e03766702f217be1c8f7f80006c08d13e175040cf28b215deac6a1ebf3520a3ad9e91f9072dfe50c69d1aa5a0df73ad63f72831b055f2367ea35cfe676a4f7970bc85e2b58917d1bd449ed3d274ac40f7a515e261df3d067a277ae610e4ee4cf68b3a947ae8c8339c818ed10e73b6480577b2a13722023cbb09d3b378cfb71f6c86bd481ee09a1fcbb807338e968aa5af993697eab562aa4975562eea6b1169e86c75ef13e877cfcd4608994eadedea3eba55af19a7a55b19e92b974450a593cde717bf0d7ddbf0bbe8fef90816fecf86ec522a2d06a04ebbc50a1eafd67aa461a8a9cd705ece0bbb46cf773689cc19cd69607594fd2ebde06aaa1e34ebec001edf318fa22245876461fc46126172db41ae9ecd74700e\n\n# tcId = 144\nmsg = 0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff000102030405060708090a0b0c0d0e0f1011121314151617\nresult = valid\nsig = 385984faee8f784463a2afb790e000860c181993b90919cd22b429d6f1e46d1ddb7eef75c81016274dc46f15a92aa8251366a6de1a26f3e73c89d81bac6569a554204cac547b65402e019adbd0db9c03664d3b15b8ed008f81a7be06c3736575490b1ec8b9d2f8aafab76142d1f6320c3450f65d32599c5805794705d546b0f5a19cde112097910a95e54b636a2459f52e6e01d96263467297e2d7683a797216059ad537aae8975d205fad6aabc8430f86d2e76154f12553a41eb6c59cf60fd50fc3fca5bbddaa6910b1a0cc6b4eb6aff583ba8533a2e5c39b0b9280353a0a4fa72cabffebb3bbe52c9bc87c86062bdf577d4cc03419b73fe42ebd72ce0d4b5fdb40fcadcec32c92e63325d3593fff1004b2d015dd99a53abb6e29544230313dccfd8a777c454fcd88da7d8c72258c85a7e9a2b556f07054774cc85c5b381d92fefa842134e2c1b0a3fe06cbc7ac9d777a2eec27c9799ed98a971bc5ac904cc6bab9cc51515911ec3a6f3320bc5990e37e9087b1778f7c23a5598b3a280686479b3337dd399925e2ce0e7b81412623a16d1fce014bf194b78073b640c1cf008446ae7c618563b4c9b327641975c93da1e1001a0abdb73d05489cd3051e2e1c04382e1f93bc17689e5b6802421223e00f4ca98f9140dab27738d9d7148cec0200e876f867263d06c690487c85cfc70710b9a01d06ffdbcb4c9b16bbbf719952fe\n\n[d = 7bb0b14b4fa435505b69876e65a3a3f8892d61dda53709f4257aed4c8aa91f2351cca74cda1989c898c88e4a4dc60c583fe2e5f73852933bb13942bef04b4af985f8e56fec2d282ed9ce56f27e452bfdc4ff6e7295d95251c264a36743c14fce78a2f4ac6bf8ba0a8ac5f88c82524a1610abe7548b7f6a97bc744473ded26370bff86f966885ea31787b058197ab58830ea477fb600bcab4e2f133a613f9f125319d272ea5ea323fbea830ee146725a86133c4167c63ef899edebd2f91769329181325b5748a1146407901a8d8bf66da94dea20e64dd3c12ad7251df719dddf3fe882b6a22a30ad1061853f748dd83a72839adbd885710cff95d554c1bcf043dbb3feef19d498e7d8db5caed36bd0d44470fe7d7d1a1b0eb4c391a0736bbfe04846ac98d6243a4e3e58b57549ff7f54c92f103b33c9db04fbc6b36fdf5191567a79bb35a0be94a45480cfc28d377be27da9c2c3cc0bb2a4e910ae44233305af6a87387aab762c63d969714be53c0b8a26bd20cd63761b373b815330eb92a1fa7e6ab827276335dfec94146548d073ec828f3793a84cafa12126196a33f5fa2f4f2f6470093e99b2b2d91f2ff9240580965480d56c74be39bf42408a0e41ef60dc080898ce3eb530d87b4da4673977055e83d6504a89d60fb2f49703936a2fb391fdc39d59608d500870511b458c9e45e53398db152d3871f18d61b9afa4435c9]\n[e = 010001]\n[keyAsn = 3082020a0282020100c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d30203010001]\n[keyDer = 30820222300d06092a864886f70d01010105000382020f003082020a0282020100c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d30203010001]\n[keysize = 4096]\n[n = 00c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d3]\n[privateKeyPkcs8 = 30820943020100300d06092a864886f70d01010105000482092d308209290201000282020100c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d3", + "0203010001028202007bb0b14b4fa435505b69876e65a3a3f8892d61dda53709f4257aed4c8aa91f2351cca74cda1989c898c88e4a4dc60c583fe2e5f73852933bb13942bef04b4af985f8e56fec2d282ed9ce56f27e452bfdc4ff6e7295d95251c264a36743c14fce78a2f4ac6bf8ba0a8ac5f88c82524a1610abe7548b7f6a97bc744473ded26370bff86f966885ea31787b058197ab58830ea477fb600bcab4e2f133a613f9f125319d272ea5ea323fbea830ee146725a86133c4167c63ef899edebd2f91769329181325b5748a1146407901a8d8bf66da94dea20e64dd3c12ad7251df719dddf3fe882b6a22a30ad1061853f748dd83a72839adbd885710cff95d554c1bcf043dbb3feef19d498e7d8db5caed36bd0d44470fe7d7d1a1b0eb4c391a0736bbfe04846ac98d6243a4e3e58b57549ff7f54c92f103b33c9db04fbc6b36fdf5191567a79bb35a0be94a45480cfc28d377be27da9c2c3cc0bb2a4e910ae44233305af6a87387aab762c63d969714be53c0b8a26bd20cd63761b373b815330eb92a1fa7e6ab827276335dfec94146548d073ec828f3793a84cafa12126196a33f5fa2f4f2f6470093e99b2b2d91f2ff9240580965480d56c74be39bf42408a0e41ef60dc080898ce3eb530d87b4da4673977055e83d6504a89d60fb2f49703936a2fb391fdc39d59608d500870511b458c9e45e53398db152d3871f18d61b9afa4435c90282010100e97acd5f64c460b2cd51cbd70af5b4caa2882bf6033a92a23ed80f039e8a32c8a4c483f94ee1bb89c1dc1f6d04360a1c3f654251ad72eb39cccbfc38b072054bb0f21b9d516ef272e7cf86f8a8f838eba829e7fe9d803d469a1810fc5b37476333ddfc0cb6f00e9967970b4e474e04373f8dc92df50fa155e3139bfebf4e1cd274705551f2e9022029bea4b86664633d13fd90ebdd0b72d95a6508b6b4354e64b187fd81d21a0b1e4a853c27df11d7fe6c8953cff6344f50ebaed2513dc03761e8877c71ffa8005331043027b8dfdba97cae037fd5d1fda1f145a200c0d20f8dccd62e5c489eea8ae827910d3f48bddf0b18dc3089069f96d800de47036859550282010100dd1abc951ff1474ebfb70807b160b110b1eccef429c8fc8535ab0aa98376a82d3d33af906fb0395750b9aaccd8723cf73a8c3a6ad5c3a0929178ac55e1bd1ba1bf5da4f7698dbf09e87c84c45ecbbe8f12d3ed1091bc470eb2c733c31f8d27eba9718ee78db887385bff6b67950b79524482c50daead4db0f5676e4b92875b5be383ab1cd75e1cadb59cfb5794c17220154aca808f733a636d28c016d9843940bf44bb15ed191f53449b1651b79554c23e006a56dc0232cca209bf2d3c12cbbc0ed8b3110aabd365b603ea8cdf15e8b9ac781155f92f39dbf9749f70df003195a6bb169ea0e0d69eb3a18ce8fbcac9be3c710e797acb5c05a399c2f102947c870282010062f25622fd53741f927ffdc10eb5fe7e79cef7c274afd800c65d4e4f9c5ab916eb2d15390cc301756a20dd7897f646e69dbf4e11cb4e0e7e1a5ac0734de3a476e570555fa069427a8bdf19363c75a5b9c934a94af078ae7f4342bbc016f02062dc5251451a2a3625b10f040d928e6f9ef262264641baf406b00b596ae6ac35eec2c5f082a04d3b476229972946cb787b2403abed296a76abc2715af602fd2c51e422dbbeaec9b6b889a0595414673d806782f37008c9366bf6d5c9f000197bdf146a86c4d131e3a15dfe8661ef297fb01e54a8cafe54d6065177cf263e91476232d2fa26c5e80342070ced9e0d99c84dc4282ef8aab991dc9d8210b14bb267590282010100b83b9f0763265894758abd562ba6b5e3835e1ed3b43d94ac2a9beab674a45a5dd7b14988c087c63fcb33e9ede62cca3ff6b901b4238a6e31b2a52a742534bde178e33ea22981c2bd2ecb1295cda757913fcef6a9e7c54a302527772a0f103f434e5d21063040a1eb843cbff1ff6f20183c9dfa33fc68cb63b81806ff518917c6e93cbd47baece0589e0bc022aa00c66795564c85f301c095384fcc3f3ddfbf15044af0d8c4473aa2d777a29154b74978d0d0e7ca9867fc8c263898e3c83aa12881f66ebeb4759820181a0b46765c7b1ebb67108ae2a7473ed40d290d93c3458dbcf00759061452c0ca4cc26d1fe149590a63e9fbaf25e3f78eea8054f22167e10282010100c301f6bbe5fb5693f665b26d1a61e1de87e38950a5825270ee68ea5a5667e11a3aed28b2266768d1a3db3437dbda681ac8294dd50ad0b4bc5cee5694831b8df7354695335740b9b7dae5f7881536da6a6b2ac4308a0420ad6e99cb779a6338f5012986b1c1c889444d90585fb0dac995ad6e93af7eac717c643c4b8e7023cf57cfe284ca911d6dc3132b08e17f4e8759af42b43ac929c0259c3a1d5e5f7c4b247e2f6461aeff8577aedc710d6d2d56d943c211e47467421539dfc2700663c4068031b695e487ae6910ecb9c547cbfe12cc6f45b658e2c6f9f8fbe805304194a9d1d9c6d599c5ac5c9ee5fa78c8a4583218f7dc8f4c8d3adf275eec0e0941fa69]\n[sha = SHA-512]\n\n# tcId = 145\nmsg = \nresult = valid\nsig = 9cd28bf41b99fa4df2852d86536257fe111f63f01815146c057dc3bda9b6633e49495d38822392b6b901e6ac69c4f09623a524e49246c3710c85a1957943d89c8399b0c2a649938bb07340f14c6981a0da0fd35163bc7eedac80ad1cbf06a4c32a4a08523554256eb221395c76e1f79a5e3c5b9636673db3ba27eebf8315468888671f8441324e092124df31d396ad8367eb7c9d0afa44dae85d56208ba21ec7c1f0ed6a3678f5d97ba7089422c662d86cd514fe853f38481632197c1ba07e4d92735eef3b75afc25ffa900769c74ba34f2d157e74bbab64cf413bc858cf6c393e8afe24f9e71168e97db96717d0081d88a27257d8c692dd0e001f3fdc2090512550ad38725c10a201fc50f8dc89ecf363b4d21a7d815eb78557d42e657cb44bfc785203e8de00f9e18af1c8e12953a33b0717af215d9b04b71fc320bdf4d558faf55d03d30844237551e35ed6606bc706ca43a47e6c493e14719049065eb8e00760283ee72c1ae3ce019ce3263a90b8340d1a47b49b78d5cae9602539b379186e5c1e847b69c75152036c8d9ef3c77ecd151bdae7ff36a459d0bbc1dfa33ce3dcd94ee2cf6ee08a77485746306ed987eebaae2baa544b543b5afe143e4122ade5adfa4fd463a246f29482dce7a51573aa18fce87f7edde842e7f21ff9e40c4101b922616ee4c14ea1af3c4d417fe8876af381027d837fc40dc684e81b9eecd4\n\n# tcId = 146\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 659ffcbf6b22f5d201fa4114077aa7df32b513a1fa5948ee01f6e21c1862a2b91863f7aa53d1aadcab9347955210a91829a5f7c86b3e2850bd1f76b3c4f4333615ceb22830a7a9d7a13436683a48995bfd62f528ef4959d30b6ddcc8ed2a431c06c337250f8274417f6369b7a08b927885df52bd7370d3675094bf1bd32a7f5b0ca9a399a59f868cfb78f87b8647ab37d0d7a58d6f4a58f3e3df7ae88ddfa6470050229754f4ccfa265cec0635f0360c485d8f81974c6b8a11adce3775dd01936b82db37641ecf5f43cb8538055a053d4085c38a8a1c4e0c8af961448a779288c5efaab1eb4401c8f388c0b729e42243d935df1ad3705c1c5a7ffb6ea8ce77a69481a3b930f95ff118cd0fdb17393a37139b3b5a9c275c6bbbc819e18f49c369153bf1f7807b450e54fc28065a6ab6d5b0ee91d0a9302ebc0bccd35c2fb2fefc341a954b67e91f6d8f3f7b62c5fbe504508594f357b1ed951fcac7043a082b9bbf41ccf609881861e2de15ee99d373c0e99027ff240c0b6fa52be2e199967860baffbe25b3254fcd375da7152bb94ce8dd01465290fbcdea0838a69576e97e63cb636db79c2799a26f94a9fb044e3bf66c520895b4683bd799e6b04ab62f621dc00f20a4adb131606f127b84025269466c760181d7dd9ffd0aa5381180b541e5e933e1841d6386ec55a63bd9d8674a775526d30dbe34e4db87067a9326c6dba0\n\n# tcId = 147\nmsg = 54657374\nresult = valid\nsig = 46eaa4624a4d2c1f1043eb3d17b48d977819a8796f48f20174c50da624c657e64d3154dcfa2a5b1d8c6d2ed07cf1f1c19aaa611d6466f7e7ec73df5ee786573adc5a9e3c1d0a25559dad282db26e889807764115a05a23959acf48d23b3b33a93d8b6c7de3ee446f113eef96055d285fdfd27888e569c50f022d5e8abafc874dd5a61df6258e85268bff66cc5643107f7d9097496caedc185b37311ab6979f273e5670f143146b68e44b49389554772c1ca7bb7a12fcf67d67a1fd0c245bb4cbb924276ae756098599392cde076a1c0edc8096d9125e5a5d30c2a93d00fe2e0362e98592c8fd31ab5b4c3b34e65d38ca0c25874eb394e04969982b70932616b75ee2912c6a07f20ec70e52be630ebe024c0622aed125e00bc84980416b80cba7752eb90af2b8215c4b559880d2e1c577b7374531038083725d23d02d4fa5d8b5a4c68e9ea5e11fe2d9e03c1b8a4db0b053097b5a175b1131e8beef5d559bcc3f17ed2e6f6304c0e4650a2bb675aa8de44af8a2e301734584eea145c4b389f6180e6395412ae70e57f488ed15d45895be580bd87cd916b8f20e46ad2fff0367dda54266778bb444c6e4fdd45fa62cae3aeb54b6a7a6b4d8068e3a4d0730f0260340a6c32c3c5d33f514612c941bb63d730df5584933e12546500495b5ed3ba3631a3db871d17353d4c16676a0332ba4c4c4c68cdb6ff21ff737ee249be153c1d9\n\n# tcId = 148\nmsg = 313233343030\nresult = valid\nsig = 12813153b37fa6c0fd755a1c7c409bb8169c5a39d045dff2da02b2f8e8897b0cdc6c2d40e6945b97006f18e1b26983f77b70bf2961b5e5f2759241daee8c56fca7c53c81f69d3a0341720d9761a4f7be8c068464e881c85a2c39e0ac6f74f6f5cb42df8c3713f66a282d7fba85b7a09a6af83a068b78bfe83ab25841e4bc67c9e40cf2a0974f8875fb81cc6a115b91f922419c44ea82b33187521a7e1f46c0ab9459b4e97a3f4a1d9e92403a37168826fa0ee914232afb6c4d7dd082d0c58885e356d0efb8aa9ae33d045f24b4b3182d5c54556f5838c449d31a49a3ac4ba568c248ed72c111b5ffabd991ebf5c48efbca33cb38996d584992c4abdcc7b93700ca03619412a355b41b000a32f6cc4935f942209b56a23cfb7b788dceb692343995f77daffa25e44d672f8bc451f776560b415d0d1bfe9925af1c2567a8e9bd15b8554d93377c62b0addabd27e8d9e0859f498ba8e03094e1d86d41e69f7606d9f1fac04744c3b7b8fc4942a846e2a3649bd9416d500b9895455fb6741ed8ed4f426f20ab40d8ab2e6cf6c63f5c290fc011768b317bde49753efbdfd12583f1ca79287225f9c3d3ed0c4530815e4f5e7ed78d14aec0d04142d0ac0fa3bb5d73b4bfda2fe7103a2ab40672abf08ef4d9e537b9f856d32450e2e41d9277be62ad0675d1a530709f2747f51f17aba10381fdc70c626bab45d51166b6f6ad978d2dee\n\n# tcId = 149\nmsg = 4d657373616765\nresult = valid\nsig = 27a042625f50673fe9edab9aa2fb4c60dcae0be2e8b75662bdddec7b1d698065510a193e17981bb0b1c32e46d237e15915afe2e2d4890c09907e1866095c19763524b6c8d2db", + "b7814ac5047f0a082f7fed4109741f4719e12ebb91f27a3cda71e80ec8a7f6c882ea5b3de3c9f156cff033a0d3cf787f9a8a833a29d0c96f0b68ccf55ffc62098e21f0df1832b70878dc94ef1a3260ec2fa56dd3c4fece5d855644d26012f56d2af85a0771d61367b7e266577e44c444347970908ab6cfae42069e2ceedf63679c2bd03697957e287d156b2717a416f0e4ad96868e1c7b80eb84e99778f670ca39c15e1f901def1efd824ea5f7bbe127dce8c8f53d849fe1172a1254caec13b10b0612e72d3f8e7206eee2620e8e3c0ea176deb4b1fdf5d8d37b57af553cf7628ead74443f98655b5166cdc08190d7e3b134d71c21bfacde3e4673529e6d8a9c7a8b419451e7ecc6c16a44b8e1b3f2c9d1c822df8f2b51d8fd027074ab2d1c52d16aab0a266c7d9ec03df7e631052e67a28963bf8560e89326168bb7c8f5a152f7ac54a46e88190c62a938628950df881a4be4136a55bad4f608d39ff37907a6f99bdee065e5ccd2921f8f1a2ebafcb336fc6ca96a207a5a0a7873420a2ea383a5f1c604c93b6c0ac69244f05d54cab184c6592e9bc4069df60d3cbcbf16729dc2f3f3540474890abef29e1b21dee8af0386ab61784d7af8d79c\n\n# tcId = 150\nmsg = 61\nresult = valid\nsig = 2e642b8a5208890b52187729c43a1a308cf6b846ba1c2fff152ff4a1b051753f14ab035c2f3f732d5a9df7c2cb732d09f8147509bf02df8ad26924eeb04dded8467b66c5e3eae384568f624e55c81cfd8e3204422677ab62d919a176471b1fa8bae44bcc8d4d116a6afe5ea2773ac52a24186d6a4374171ce0516bba8733c59f38d622b7b6b7ca7ed2123f7f46b6c06b02f4c7506c46327d7cd908ddd503fd42be3cc896008eb9202bbd7af08b9908121a8b27fa44747217ef72a8c549444232e9209ca1345ee017010409527faf0722e3f13641ede5730639bf560c8a655e2f96cbba7b2811da8a1fc3e5125c92754ea7b823f394998b8890602b1713c2a4d352066e01f55ea86fe3da71f9119300d84874b667a6538a90ab24aec2bdfd9ba9a5f0c3072d549653b16f4a4319ca398147e6753f9a048b5b250c64d599115bb717ce85c8370df62c93da7e10fe705a12482e6f25e6ef1f4851a305aa4dc21b08791885867fc10c5503a769a6d6794ab5a9cc5da68cfc3546b0e848ed8629ecded620ee3fa6dc1236b59874916c45f9c409c9889bb85d7b289ee5f45f6d33262dea83b32c071417d3759cf650b9d43468ff0c2e922632e8d73feb4c55fe4233dc1f0cc6f6e522fbc9e9362f1d69441d56ee5f3252dc0559339335901f539ba274cc3640ec776a12c5c7e5c1cfeddedccce36884ea01071c2bcfae7ebfb5b874e6\n\n# tcId = 151\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\nsig = 811dec041124d3ed9d5eaa9c760ca5756e42525687d4af701231671e8f7f4448ea9b9eaacbd9c99659ee3c175277d30cdede73e1b332ffe41b8b737150ce1f1c67aa6b22ff801077c4241a6ff4af8f4db9462c70c13e1da86edec4042a70be9d08384d932681dae48fdb83149170472564a5bc68cbe952c76e476b99c8a5a1ecaae809690a014b28224ddb9c9dce0d4f6a77fa2888a71f3aa9b5deda0af40ad0464d9adbd26fde242523c096106124048bafe824f733b0af480056de2314f5e27db5aa3fd15705777e14efd2ac43beb12f8f496d09103ab377971cdd45e9afee8baa874c23d3942ee3a505bbc3901dd4cf55ea8a30fac0cb754793fb2d8f4edc29afd51b99140a8d03aa0614169428205fcd66c1047d3366fb32f1c2b1bcfed8ae23580ed254c3dcb127daf16aec1892714ee05a1ceb4e561a1e9c8fd4118ef8cc9e063bd86c55d28b8acc9d5b4c589583e7c6b78fd518d8ca85b88517f10c27aca2f0bcfa54ba5bb94ed5b005e3d871b68b86e96adf12588037adc97cbef59c05f0d2162db2e4cce41227df11eab5449d612be56ef6fc522452573340d4d68af0178d4f19db6a0ded521f1a982bc5567dbde2036f74d6d67b806ccc7c7f70d3092c22c9c1acf307b751d994fa5259a5046668a047afe4c3302e908bf70bc6b55c39726bf24ceca809357c623b89fbf0eaf8b5d18823337e7e0245d865574cb9\n\n# tcId = 152\nmsg = 0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff000102030405060708090a0b0c0d0e0f1011121314151617\nresult = valid\nsig = a359fd38305208e99a3c506ef3993582185c97171721b3bb2c4632de1a18ea3f1f5e2a8208d60379c3c35016f8f6fa21c80d99c9460abedc3d158c841c5250cc592e511bff21bae85490ecb27997b5502b6c2ad83f4925aec7e7c0066ff0788ab68570e3a7c34c89fb270ae48a81918c8170cb0d3556d5bbbe54409e7e97d0ab897f83c12fbcbbbf8023e175dc353bb42ae87cad8932c5678ca8c89a064e9f6ad3bc06fb738d249316843c6e49c98babf5348b665b78ed3cd78991bb6e9997d3b9671b24a0d2e7f0fdbf9273e6071c4c39ef8b5a2ff6a543b67b5df4b138cf9ca7d7d8ab3084d514fb8838e062fd8538a8464cb2aa913bbe972d871faccfeab3a12ff5d239d6d72bea9b0a44551e406dacb320d6c324ca8fa837fa9d4324874fc75ec96d66c23f9a0ab2dd47c32035edd9e27393a459607136095c64d24d43663918d2ef7c86b47886db08dd784cf80a18b552487979b6350041b34713edc78fb2fb6f2d5f9c4b6fe158e7ff2912a7bf93bab9c3cee65ab1e77b2cc9d07137f87b7d2ef9842320229c82366baaa397c52c1d9815411e6bac4d2106a149976b8787266e3d1f852863dfe6b52b15e2033589def99aa2a6d3c2e7d367ff991b48ead647f8d693159f06ba52f59f0d30d45aad0f852511f56e37d078f409b6a182a789858dca55c1083860939d6c00486ee07811be5027f45d58c002bd05b550ab7f\n\n[d = 5baed4f10cba539943f679e2bebad47e96a9b2b4c2a708665b7d156ef80f24de627df5887a54fd283563f774b6120b98d8b6d8ecd6656f9031cb90546b3125f54662b5860d5837f85e47cfd63f5520ae10c714c07a473af59647201c19d7590d6d5db84075738ac081be09d02fa3c82a7b170cbd33b860927a8efbf2e157357b]\n[e = 03]\n[keyAsn = 3081870281810089863f6993177d65e5f1b6d41e183ebde1fe8c0f23fa8c99893ba0267416b74d93bcf04cb77f7bbc5015f501c001fe81eed5c339fca8d6804c29523668d57b32e2058b20366c4d66c5e1684b925bd7c71959ba4b022a4ce4a04c7e4ff13fa433f81553999ed9e73dc6f4e0cec5b00452391bb7a742f5b932c0a4eccf802120cf020103]\n[keyDer = 30819d300d06092a864886f70d010101050003818b003081870281810089863f6993177d65e5f1b6d41e183ebde1fe8c0f23fa8c99893ba0267416b74d93bcf04cb77f7bbc5015f501c001fe81eed5c339fca8d6804c29523668d57b32e2058b20366c4d66c5e1684b925bd7c71959ba4b022a4ce4a04c7e4ff13fa433f81553999ed9e73dc6f4e0cec5b00452391bb7a742f5b932c0a4eccf802120cf020103]\n[keysize = 1024]\n[n = 0089863f6993177d65e5f1b6d41e183ebde1fe8c0f23fa8c99893ba0267416b74d93bcf04cb77f7bbc5015f501c001fe81eed5c339fca8d6804c29523668d57b32e2058b20366c4d66c5e1684b925bd7c71959ba4b022a4ce4a04c7e4ff13fa433f81553999ed9e73dc6f4e0cec5b00452391bb7a742f5b932c0a4eccf802120cf]\n[privateKeyPkcs8 = 30820289020100300d06092a864886f70d0101010500048202733082026f0201000281810089863f6993177d65e5f1b6d41e183ebde1fe8c0f23fa8c99893ba0267416b74d93bcf04cb77f7bbc5015f501c001fe81eed5c339fca8d6804c29523668d57b32e2058b20366c4d66c5e1684b925bd7c71959ba4b022a4ce4a04c7e4ff13fa433f81553999ed9e73dc6f4e0cec5b00452391bb7a742f5b932c0a4eccf802120cf0201030281805baed4f10cba539943f679e2bebad47e96a9b2b4c2a708665b7d156ef80f24de627df5887a54fd283563f774b6120b98d8b6d8ecd6656f9031cb90546b3125f54662b5860d5837f85e47cfd63f5520ae10c714c07a473af59647201c19d7590d6d5db84075738ac081be09d02fa3c82a7b170cbd33b860927a8efbf2e157357b025601d2aee6ed1ca9c37dd6bb10af280177f9b7c80bc242f8717ad72267f9723875b08a335c26c2002f1b2a4a7403ff45ef68d0d7628fcf09abc0c8250ae70fe04eebf5cc362c667718f959474c73239719e8878b45212d022b4b7074f8f26554f31a0ed0ca5cfe70c9a1b00d2408e620b2042bac09602b322e14b53371b48a5ba2d92f6b025601371f449e131bd7a939d20b1f7000faa67a855d2c2ca5a0fc8f6c4550f6d04e75b17792c4815574bcc6dc4d57ff83f4f08b3a41b534b11d2b3018b1ef5feadf47f932cec8444f65fb90da32f76d0f669b0507836b73022b324af8a5f6ee38a2115f35dc3dfef5dbc12008c2b0996b21581d1d5b957221740dce224bcdb1926c90ca4702560107fb364902bc8bce103cbb445281e4dcd428f63952be322321d4d4a4d5cda41fabbace7c3a21831615d49f82bda110770117842471d3a2ab256e59665e34d6cdcaa57fbdaaf47a95450865f39b8004c860c68d9ad6]\n[sha = SHA-256]\n\n# tcId = 153\n# short signature\nmsg = 3831\nresult = acceptable\nsig = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c68149efc8a4a913a26c9170590a1ed9064323c12b6ebde15ae8c05a0e5205c91f57f5753815ff39c918\nflags = SmallModulus,SmallPublicKey\n\n[d = 606e8fc7c1db3dac5eeb9fd6a82e852e162085906932970b7e6baf8f74f2c216525bc3659cf50b32958d1d5205ae70bf62be7eb59def1e202603190d694c489e0ada5dce46fd39df620d2db99e68a52d8b13be84239086852f24c979a99d874c48d0811c669eac06ddcdd44c80f42a7555f0d435246647d2e2c8cce1b05ea3a1e3db39733feea95f0719c4836f66f8ddf24c2eb90a3b9afcad3fade8a8d0b93e81a54c42e84112b943c316480aff80d56c9143e8d9859b0fbf7a1e46ce02585721d629662f1d594738895addc28a89a74d2d34cc7bf13a5bdcebf3b8053fb3a30c6638504311c1a4c1cd1e16fca63baeb74ac2f7292b84cfe79f56ab347e08e3]\n[e = 03]\n[keyAsn = 30820108028201010090a5d7aba2c8dc828e616fc1fc45c7c52130c8589dcbe", + "2913da187572f6c23217b89a5186b6f90cbe053abfb0885a91f141dbe106ce6ad303904a5941df26ced10478cb56a7bd6cf1313c4966d9cf7c4509d9dc63566aa323e110af219f3398c04e79bb486de8703793473136f5c9051af24bd2c0208ea1bf9321a3e8f24af00aaca1216842eab248d58cf46ac786c49fd3ca8557e9b53993a4b9718cdc5c474bf1cfe58c07ad97b2c5acb7d86accc0fc7bed147adb2e77b8697d80150948117714b806ff76f9d88147d84e93987b724bf4870429e85a7a7b51486a78d8a88f1688f60e215d43d06221e2b993b5c12a607b80e9e0122472b29945f76b55737c1020103]\n[keyDer = 30820120300d06092a864886f70d01010105000382010d0030820108028201010090a5d7aba2c8dc828e616fc1fc45c7c52130c8589dcbe2913da187572f6c23217b89a5186b6f90cbe053abfb0885a91f141dbe106ce6ad303904a5941df26ced10478cb56a7bd6cf1313c4966d9cf7c4509d9dc63566aa323e110af219f3398c04e79bb486de8703793473136f5c9051af24bd2c0208ea1bf9321a3e8f24af00aaca1216842eab248d58cf46ac786c49fd3ca8557e9b53993a4b9718cdc5c474bf1cfe58c07ad97b2c5acb7d86accc0fc7bed147adb2e77b8697d80150948117714b806ff76f9d88147d84e93987b724bf4870429e85a7a7b51486a78d8a88f1688f60e215d43d06221e2b993b5c12a607b80e9e0122472b29945f76b55737c1020103]\n[keysize = 2048]\n[n = 0090a5d7aba2c8dc828e616fc1fc45c7c52130c8589dcbe2913da187572f6c23217b89a5186b6f90cbe053abfb0885a91f141dbe106ce6ad303904a5941df26ced10478cb56a7bd6cf1313c4966d9cf7c4509d9dc63566aa323e110af219f3398c04e79bb486de8703793473136f5c9051af24bd2c0208ea1bf9321a3e8f24af00aaca1216842eab248d58cf46ac786c49fd3ca8557e9b53993a4b9718cdc5c474bf1cfe58c07ad97b2c5acb7d86accc0fc7bed147adb2e77b8697d80150948117714b806ff76f9d88147d84e93987b724bf4870429e85a7a7b51486a78d8a88f1688f60e215d43d06221e2b993b5c12a607b80e9e0122472b29945f76b55737c1]\n[privateKeyPkcs8 = 308204e3020100300d06092a864886f70d0101010500048204cd308204c9020100028201010090a5d7aba2c8dc828e616fc1fc45c7c52130c8589dcbe2913da187572f6c23217b89a5186b6f90cbe053abfb0885a91f141dbe106ce6ad303904a5941df26ced10478cb56a7bd6cf1313c4966d9cf7c4509d9dc63566aa323e110af219f3398c04e79bb486de8703793473136f5c9051af24bd2c0208ea1bf9321a3e8f24af00aaca1216842eab248d58cf46ac786c49fd3ca8557e9b53993a4b9718cdc5c474bf1cfe58c07ad97b2c5acb7d86accc0fc7bed147adb2e77b8697d80150948117714b806ff76f9d88147d84e93987b724bf4870429e85a7a7b51486a78d8a88f1688f60e215d43d06221e2b993b5c12a607b80e9e0122472b29945f76b55737c102010302820100606e8fc7c1db3dac5eeb9fd6a82e852e162085906932970b7e6baf8f74f2c216525bc3659cf50b32958d1d5205ae70bf62be7eb59def1e202603190d694c489e0ada5dce46fd39df620d2db99e68a52d8b13be84239086852f24c979a99d874c48d0811c669eac06ddcdd44c80f42a7555f0d435246647d2e2c8cce1b05ea3a1e3db39733feea95f0719c4836f66f8ddf24c2eb90a3b9afcad3fade8a8d0b93e81a54c42e84112b943c316480aff80d56c9143e8d9859b0fbf7a1e46ce02585721d629662f1d594738895addc28a89a74d2d34cc7bf13a5bdcebf3b8053fb3a30c6638504311c1a4c1cd1e16fca63baeb74ac2f7292b84cfe79f56ab347e08e30281ab0de06a7759dcbb9b86ee9997aeda09ecf084f92c7fb4a0adee50a1ae3b7edc4b6f7e5fa504e6ec0696b98dd5013be9a448ad1602b22881855df6fd11ca623fef41eb1e366c123bd08cae96fca50bf464193d6546b61fa4f4e3988d18ca7444d4077ca7cc865f168d9764ab0ef0a5bcb616eca34c3d14a89e9d9f579df97c0708ceb83d84dc9425637c8594cd69416e00d5ccba98a003d9aa6a29ff6d2b15e64bf9fb5fc9080edbaeb5abf302560a6c8149f2428c1a77259363023c1ada4b808df997e9af999c99faacaaf9f37267f3f71a49522d8b2508dbcd17e064d604ee222e75e8088ccafbb063cdd466ca7a9d15f88f20879cd444f7670493851d4e9a37e47e7b0281ab094046fa3be87d1259f466651f3c069df5adfb72ffcdc073f435c11ed25492dcf4feea6e03449d59b9d10938ab7d466d85c8b95721705658e94f53613196d54a2bf21424480c27e05dc9b9fdc35d4d9810d398d9cebfc34ded105e1086f82de2afa86fddaeea0f090f987209f5c3d3240f486cdd7e0dc5bf13bf8fbea652af5b347ad3ade862c397a8590dde462b9eab393327106aad3bc6f17154f3720e9987fbfcea86055f3d1f23c7f7025606f300dbf6d70811a4c3b79756d2bc9187ab09510ff11fbbbdbbfc731ca6a24c454d4f66db8c1e5cc35b3d3365404339589ec1744e9ab05ddca7caed33e2ef31a71363fb0a15afbde2d8a4ef586258be3466cfeda9a70281ab052c428cb7bcb4dd32f6a7485f854bcf9a4455dd882a6946ef6b593521c045e6a964477dcf247f99f93db6b836bad6c1a8b62b72bcc4f7d55f27d70fc624d5762014269b3eb71c46dcbbc2c5cf883b06d3dc0c137d8ddc42daf8dec9fcb81964e4a397ee02045612ff7037e6f8785acd8a3b2a88c37cee30f6eaa3322596ff07ae58abfd622f0217fb0b15b0394afa8e32ec7bf4e6179760c3ed8bd67b975162719904795c4843b2be35ca]\n[sha = SHA-256]\n\n# tcId = 154\n# short signature\nmsg = 33363730\nresult = acceptable\nsig = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000989e7ff72e67e680bd21d5f966e4ad8a48c3592dbacc4a2f035b4ef4d17a2f25f8a9fef7e78eb99d76d68629ed02d67c43c4b7ec8c3badc32e3d0a524c326537739b0fde156723b27c23ae2b09895e470c64d700f5c\nflags = SmallPublicKey\n\n[d = 00a1f35f0cc1b4cfd73412c0e955ddedf4ab41d5b15586d12d64b3da2995291261452e3ee643a69dbd95d128cd69acac6766234430d47955bbcf3527baade2ba686575bbebb601d26dbf1c1b518ae9fc883c68e24d865b969cc3a539b9c42b6ae9d9cecc86b7fa53b8fd907ef03b6ad73efe29f77804227fde0a502f52f9711fdfc948042fbd8e2d510ea894340406d8e3e8bca184b7a6d91bed16256fefc2506b289cb8fe349157e1311005e5a8c5cdf1b77ae9c96c444e0298dea4cf8139a53124e2c46eb2baa0794ad5b4858d9f3362d39269eccfa455d58a151ca1c34314eb08e62f1ce62a0d37f866d15b3c8f2bba0475ad231d20f0e50b029eef26b165db]\n[e = 03]\n[keyAsn = 308201080282010100f2ed0e93228f37c2ce1c215e00cce4ef00e2c08a004a39c4170dc73e5fbd9b91e7c55e596579ec9c60b9bd341e83029b1934e6493eb60099b6cfbb9804d4179c983099e19102bba49eaa28fa505efacc5a9d5374499c0c5775778317ed370de1919f38aff22d5aee8c8af36a86d036029e761f243dff3c205a11e9bce9ac1d6baf81e79ad4146b119abb13903f8562e8f3e6a918f48223465bc93d5e7d5abe3d08503ec42998fe087a1f935d1b8673c495f005dfa7453daf977e1608a8c276da2a4cd0567e4af4d18cba05fdbedcde74493ccabd9060c27d35a02f35c760b12a4deae1359f649f273fa408626fb789c916434a642d528f41db868ff93b7f889f020103]\n[keyDer = 30820120300d06092a864886f70d01010105000382010d00308201080282010100f2ed0e93228f37c2ce1c215e00cce4ef00e2c08a004a39c4170dc73e5fbd9b91e7c55e596579ec9c60b9bd341e83029b1934e6493eb60099b6cfbb9804d4179c983099e19102bba49eaa28fa505efacc5a9d5374499c0c5775778317ed370de1919f38aff22d5aee8c8af36a86d036029e761f243dff3c205a11e9bce9ac1d6baf81e79ad4146b119abb13903f8562e8f3e6a918f48223465bc93d5e7d5abe3d08503ec42998fe087a1f935d1b8673c495f005dfa7453daf977e1608a8c276da2a4cd0567e4af4d18cba05fdbedcde74493ccabd9060c27d35a02f35c760b12a4deae1359f649f273fa408626fb789c916434a642d528f41db868ff93b7f889f020103]\n[keysize = 2048]\n[n = 00f2ed0e93228f37c2ce1c215e00cce4ef00e2c08a004a39c4170dc73e5fbd9b91e7c55e596579ec9c60b9bd341e83029b1934e6493eb60099b6cfbb9804d4179c983099e19102bba49eaa28fa505efacc5a9d5374499c0c5775778317ed370de1919f38aff22d5aee8c8af36a86d036029e761f243dff3c205a11e9bce9ac1d6baf81e79ad4146b119abb13903f8562e8f3e6a918f48223465bc93d5e7d5abe3d08503ec42998fe087a1f935d1b8673c495f005dfa7453daf977e1608a8c276da2a4cd0567e4af4d18cba05fdbedcde74493ccabd9060c27d35a02f35c760b12a4deae1359f649f273fa408626fb789c916434a642d528f41db868ff93b7f889f]\n[privateKeyPkcs8 = 308204e4020100300d06092a864886f70d0101010500048204ce308204ca0201000282010100f2ed0e93228f37c2ce1c215e00cce4ef00e2c08a004a39c4170dc73e5fbd9b91e7c55e596579ec9c60b9bd341e83029b1934e6493eb60099b6cfbb9804d4179c983099e19102bba49eaa28fa505efacc5a9d5374499c0c5775778317ed370de1919f38aff22d5aee8c8af36a86d036029e761f243dff3c205a11e9bce9ac1d6baf81e79ad4146b119abb13903f8562e8f3e6a918f48223465bc93d5e7d5abe3d08503ec42998fe087a1f935d1b8673c495f005dfa7453daf977e1608a8c276da2a4cd0567e4af4d18cba05fdbedcde74493ccabd9060c27d35a02f35c760b12a4deae1359f649f273fa408626fb789c916434a642d528f41db868ff93b7f889f0201030282010100a1f35f0cc1b4cfd73412c0e955ddedf4ab41d5b15586d12d64b3da2995291261452e3ee643a69dbd95d128cd69acac6766234430d47955bbcf3527baade2ba686575bbebb601d26dbf1c1b518ae9fc883c68e24d865b969cc3a539b9c42b6ae9d9cecc86b7fa53b8fd907ef03b6ad73efe29f77804227fde0a502f52f9711fdfc948042fbd8e2d510ea894340406d8e3e8bca184b7a6d91bed16256fefc2506b289cb8fe349157e1311005e5a8c5cdf1b77ae9c96c444e0298dea4cf8139a53124e2c46eb2baa0794ad5b4858d9f3362d39269eccfa455d58a151ca1c34314eb08e62f1ce62a0d37f866d15b3c8f2bba0475ad231d20f0e50b029eef26b165db0281ab12aa6c4fffac8146f5ed82cae905e5de35dd59103235022daff32421372bf037cb7c534a9", + "9a2c073826d9c0195e15337bf271804be3542397b1d9316cbb6d1e107dd9c7828053695b7459c4b652946dabefa36b0877d80e465b346b26d7f388ddeb1fdf440eb9cb378da0f78b39191f1282b69bf7063335c094378aead687659cd5cf4fa7a6bb92235224563d21b81f848265b3f07f5fb3e33d24f5c9a2f36fd1a115d010136030210cd4502560d03b9f80b93504a27f8f70016adbdef3334b3732500fa45181e810ad8b1dd0914020e64cde75d33c363ff1ce4c7ec06188a0046ef845cbf7f084ddd64f80c01d85e56acf5e2b2f897788487148d4a016b8f7f64a2930281ab0c719d8aaa7300d9f94901dc9b5943e9793e3b602178ac1e754cc2c0cf72a0253252e231bbc1d5a256f3bd5663eb8ccfd4c4baadd423817ba7690cb9dd248beb5a93bda5700379b924d912dcee1b8491d4a6cf205a53ab42ee778476f3aa25b3e9cbfea2d5f26877a5e6b4fb22610bf61ac79bd4f5977792b0d7a5c9c8f04ee688e8a351a6f27b6c236c2e428c1256a5856ee77f5aa3fcd4228c34e866ca24a8bc0b935600ceacac0b3383025608ad26a55d0ce0316ffb4f556473d3f4cccdccf76e00a6d8babf00b1e5cbe8b0b8015eedde9a3e228242aa13432ff2aebb06aad9f502e87faa05893e435008013ae98f1df941cca5ba50585a0db386ab9d0a54edc1b70281ab057973d6bdff122c8aa4bd273792b4f4b7737c7ce8093654407abe0e1289b048fd8c13bfa9a0179a60d1be228e4890c064f9608f078cb34008be48e4008fc96e8fd08ac8b4e004faae7827a4fe38830b2328ab3f93bf0d8fd45c1acd91d49fcf45698d4d8570fd3e1cdf295828626d36e0c788f65341b57dab237c9aa230c2363d465144211ceeac2cfcadfefa93107b73d20cf781fd81fd1a142c1bee319cb93d0c2769675acd586a7c3b]\n[sha = SHA-512]\n\n# tcId = 155\n# short signature\nmsg = 38343432\nresult = acceptable\nsig = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009e7a1269086f0bbc0778ded8d7108ff4edcc2313425088117b2d5c53e9d9971950a5fe8b2b67d2bcd1be74f6b557a3f90650a96d7e4dbd63c05b94f73337eea682417c058d66ce523e4461065ac8ba990c4ecd04932\nflags = SmallPublicKey\n\n[d = 72386df6e407bf9951c1fad28a4fe2baad2b0098992d472237816065727c5c3e543627c35d169decce392e2e52d67c3b4d4eae6ad79b805f904819ea918432fccab156a0eb9b0cc432f959e71e3348b89511b0dc14cd904100c62c654289d0e55cb2fae8039e3d8eed9aa4a16ff75adb65e1336548b8f455153342f8fd8fb8a5d721e2b75a76990bc7c14e53f0fdbe96826349dc659d9e9be077a05b4aa572eb05a5fe1d620f0d10d49303d73e583b95587c591e559760b790720ff94d57f4700c5dfe4d44ce4039b79597b02fb04eca9c8ffd8a50aa69b0bab0c83257eca90a490e68add66c5b57a4fa06a28bcd35aa28851f43f5aa77de1a3bdc9b71927a341bfd550ec4035cc5ef273c3016521c4d485271e862b18c706129eba043d9d7c953b06e5618f491edbc2d79bfd8d50f50f3d61de9582e6f39a4027f4949812506dd6014a149d01a607739e82f69dcba197a5137eca7a9a6c40744a3adc4a58e26c7a31a0e21a231163d15d45d17ba7782b221eccfd5d89ab1703932019a212a0b]\n[e = 03]\n[keyAsn = 308201880282018100ab54a4f2560b9f65faa2f83bcf77d41803c080e4e5c3eab3534210982bba8a5d7e513ba50ba1ece33555c5457c41ba58f3f605a04369408f586c26dfda464c7b300a01f1616893264c7606daad4ced14df9a894a1f34586181294297e3ceb9580b0c785c056d5c566467f6f227f3084918d1cd17ed156e7f9fcce4757c5794f92770771ea5cf3101ca0425c846775f56938c1d1cad4401f4df2f5e0d3a3b2770f99e3c1cb4d9d4896c7ca89287b45831218b099add4bdf1dab6e2fb55d2775429386c85dff32c07a6dda504a9627529dd82c943554aaf23c5a5f6cea9c301b4b1f066b86bbef2e4bae9dc5b5e82e1fa03c29ff8bf38556729b356d5ba41d37a069fcc8fc23ac715bbea04c1972a2d50c57cc0159a46b5919fb670fb2a502d5ab66f0aa99e51016b83a406943ce9bdf0ab9b9e946574a5b32ce95d97ac8b1fbb48f0bf7e3c0d4b7a00d131966d009997a166a6630dee4a74c141cde0114aa423351b1dfdd3893a856fc632b6d90dbc79c8a61a9f9e31702ba69fb222860e60a83020103]\n[keyDer = 308201a0300d06092a864886f70d01010105000382018d00308201880282018100ab54a4f2560b9f65faa2f83bcf77d41803c080e4e5c3eab3534210982bba8a5d7e513ba50ba1ece33555c5457c41ba58f3f605a04369408f586c26dfda464c7b300a01f1616893264c7606daad4ced14df9a894a1f34586181294297e3ceb9580b0c785c056d5c566467f6f227f3084918d1cd17ed156e7f9fcce4757c5794f92770771ea5cf3101ca0425c846775f56938c1d1cad4401f4df2f5e0d3a3b2770f99e3c1cb4d9d4896c7ca89287b45831218b099add4bdf1dab6e2fb55d2775429386c85dff32c07a6dda504a9627529dd82c943554aaf23c5a5f6cea9c301b4b1f066b86bbef2e4bae9dc5b5e82e1fa03c29ff8bf38556729b356d5ba41d37a069fcc8fc23ac715bbea04c1972a2d50c57cc0159a46b5919fb670fb2a502d5ab66f0aa99e51016b83a406943ce9bdf0ab9b9e946574a5b32ce95d97ac8b1fbb48f0bf7e3c0d4b7a00d131966d009997a166a6630dee4a74c141cde0114aa423351b1dfdd3893a856fc632b6d90dbc79c8a61a9f9e31702ba69fb222860e60a83020103]\n[keysize = 3072]\n[n = 00ab54a4f2560b9f65faa2f83bcf77d41803c080e4e5c3eab3534210982bba8a5d7e513ba50ba1ece33555c5457c41ba58f3f605a04369408f586c26dfda464c7b300a01f1616893264c7606daad4ced14df9a894a1f34586181294297e3ceb9580b0c785c056d5c566467f6f227f3084918d1cd17ed156e7f9fcce4757c5794f92770771ea5cf3101ca0425c846775f56938c1d1cad4401f4df2f5e0d3a3b2770f99e3c1cb4d9d4896c7ca89287b45831218b099add4bdf1dab6e2fb55d2775429386c85dff32c07a6dda504a9627529dd82c943554aaf23c5a5f6cea9c301b4b1f066b86bbef2e4bae9dc5b5e82e1fa03c29ff8bf38556729b356d5ba41d37a069fcc8fc23ac715bbea04c1972a2d50c57cc0159a46b5919fb670fb2a502d5ab66f0aa99e51016b83a406943ce9bdf0ab9b9e946574a5b32ce95d97ac8b1fbb48f0bf7e3c0d4b7a00d131966d009997a166a6630dee4a74c141cde0114aa423351b1dfdd3893a856fc632b6d90dbc79c8a61a9f9e31702ba69fb222860e60a83]\n[privateKeyPkcs8 = 3082073d020100300d06092a864886f70d010101050004820727308207230201000282018100ab54a4f2560b9f65faa2f83bcf77d41803c080e4e5c3eab3534210982bba8a5d7e513ba50ba1ece33555c5457c41ba58f3f605a04369408f586c26dfda464c7b300a01f1616893264c7606daad4ced14df9a894a1f34586181294297e3ceb9580b0c785c056d5c566467f6f227f3084918d1cd17ed156e7f9fcce4757c5794f92770771ea5cf3101ca0425c846775f56938c1d1cad4401f4df2f5e0d3a3b2770f99e3c1cb4d9d4896c7ca89287b45831218b099add4bdf1dab6e2fb55d2775429386c85dff32c07a6dda504a9627529dd82c943554aaf23c5a5f6cea9c301b4b1f066b86bbef2e4bae9dc5b5e82e1fa03c29ff8bf38556729b356d5ba41d37a069fcc8fc23ac715bbea04c1972a2d50c57cc0159a46b5919fb670fb2a502d5ab66f0aa99e51016b83a406943ce9bdf0ab9b9e946574a5b32ce95d97ac8b1fbb48f0bf7e3c0d4b7a00d131966d009997a166a6630dee4a74c141cde0114aa423351b1dfdd3893a856fc632b6d90dbc79c8a61a9f9e31702ba69fb222860e60a830201030282018072386df6e407bf9951c1fad28a4fe2baad2b0098992d472237816065727c5c3e543627c35d169decce392e2e52d67c3b4d4eae6ad79b805f904819ea918432fccab156a0eb9b0cc432f959e71e3348b89511b0dc14cd904100c62c654289d0e55cb2fae8039e3d8eed9aa4a16ff75adb65e1336548b8f455153342f8fd8fb8a5d721e2b75a76990bc7c14e53f0fdbe96826349dc659d9e9be077a05b4aa572eb05a5fe1d620f0d10d49303d73e583b95587c591e559760b790720ff94d57f4700c5dfe4d44ce4039b79597b02fb04eca9c8ffd8a50aa69b0bab0c83257eca90a490e68add66c5b57a4fa06a28bcd35aa28851f43f5aa77de1a3bdc9b71927a341bfd550ec4035cc5ef273c3016521c4d485271e862b18c706129eba043d9d7c953b06e5618f491edbc2d79bfd8d50f50f3d61de9582e6f39a4027f4949812506dd6014a149d01a607739e82f69dcba197a5137eca7a9a6c40744a3adc4a58e26c7a31a0e21a231163d15d45d17ba7782b221eccfd5d89ab1703932019a212a0b0282010064bda30b9e1d4b701e62304a5cfac174cff72e5214d7940b0e7bed844a42fb1071253ef0a1c340f02da022cfaa2ffed11cd083ed5ce8ce0a52c317bf6923869a80f9caea17fd6023da79ecc24e9edc6ded5497e5dbab53b34256409f184d1dbbb170ce81fa4ca5483726bbc2167a4f20ff6250a60305a2a573dba27279c180508c9f2e47810f1649ec2d7b729d8ad86872322afe9510228011bff3fb4a8b734b31828915e9fbd7472b09c9322008eb641b96ef41b7d2164f595595c761be0479ef4186eccc566b40c0b4eeffecbd12f099c96639d657c5f6c15e083d612ea90757cbbe99df81b2e78a9d180d9a44c773e0298e794d96460dfe41346f2ad049e902818101b3619b1e7c984fe8ebb7f65eb39cd22ff91e2b7e7b50e3f157e83a46f4b09eb237e57c02d5a5648c74f26971e9535cad3061cd269b329e0cff3c84c578b23fb053ba520505c624ce99874e1fc4816f6345272c140d0e672f47d7e03f0c8343f1ce717a2e269eabce162554d452ff4ce49f053848d4bbd4a2436422b6cee4018b028201004329175d141387a014417586e8a72ba3354f7436b88fb8075efd4902dc2ca7604b6e29f5c12cd5f573c017351c1fff361335ad48e89b3406e1d7652a4617af11ab5131f16553956d3c51488189bf3d9e9e386543e7c78d222c39806a10336927cba089abfc3318dacf6f27d6b9a6df6b54ec35c40203c1c3a2926c4c512baae05dbf742fab5f6431481e524c69073af04c2171ff0e0ac1aab67ff7fcdc5cf7877657060e9bfd3a2f720686216ab09ced67b9f4d67a8c0edf90e3b92f967eada69f81049ddd8ef22b2b2349fff328b74b1130eed1398fd94f2b94057e40c9c604e5327f113fabcc9a5c68bab3bc2dda4d401bb450de642eb3fed622f4c735869b028181012241121453103545f27aa43f22688c1ffb6972545235ed4b8ff026d9", + "f875bf217a98fd573918edb2f8a19ba14637931e2041336f1221beb354d3032e5076d52037d18c03592ec334665a34152dab9f97836f72b808b444ca2fe5402a085782a1344ba6c96f1472896418e3383754ddedbf58d0308dd28dc18242c1cf34980107028201002cfe71b7d15c072e0ac71c7aef80e8e40823a92ffdcdba8977450a5e58b154b019c9d9e7a602015c41b7909389afe686a101e223da9e752638c244b31e298aa451e24857c97fc984998f276b6f4c69575f306376cd2870124488f518ede6ab3f43f0c68b133c5c278028d3d824163e22cc5a7f3fff478d502af055ecb5ab5039a94c9eea95db34ad163f1b0c4e5b66aa4fe75a4503df915c1431d6965e70c931fcd6e768b06e57653e7261f4b95ebe428ffd2bcf904f91fabe16c974b4f5ab10ebb66ee3e2a95b369946b2dc0a30f0e9653eaeb681fea81bc47adbe1f50d1e30c0bd85fd0a98fc4869dbd00f2d61571203411fa7f008c0e43cef14f6ed1ecc70]\n[sha = SHA-256]\n\n# tcId = 156\n# short signature\nmsg = 34333630\nresult = acceptable\nsig = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011a21abeac8409398319e65c8656f8f72e179dd1e99358c7531fddc037e47c1e688cd70eafd6eea01c823516bc79f89d7e52ee1eb4ffdeaad1d550dc0a47185bc9c42e47fce5503c3370a60510f834b4691152ef668deca633cf3873ce6613951784aa7dafde118f37f1cdf1a687ac236d5c956bced564b73cf202e3bace59667\nflags = SmallPublicKey\n\n[d = 5a227bd7284e2c0f51db10b911d24bd931add424b8cf6aad5f77f70bf94faebd2b6c8753ecb0bce16128569ead41ab428481b5748311fd02cc821a2379f3def60eadae0d46777eca8a98f50e653012867f0116768d9f04286b6921d77c812947fa838c22159a9743b030fefe695a25dc6e51a293700e545b52c01ccbd297d110a03719ee437ac4b220d7dbb058adef86b949ca4de07276101deb7b61b2e5e8fad8bc6bf2dacf8f90060aabf2696c7f1cafa101ec562ae5572fd592dd7cb1f5fec11473dd398f7effc7981ff96fea4269561f21fa87bb5c2ebbecb441a13098b6ff7b8aec3fb7f483f48f80bd8b531f4a99bb27cbdec584cd7c0114ec972380f333f1fe4849ba118e5c3895f9865b806733cb764b66e99703e35dd49bdc4372d8520f069237dfa06c72fe78ee267184cb3b14fbdeb1ebdadf31ba6bb57b469e6242bc0d1fa391e0e8edc94d01b5fdbb2010f7d8e4c5cdeab865b1a2f08643dd0ac0f7bc151b6ccb0c835202f07a9ee5b73db9c4ece4fe4cc2069379414ed6552b]\n[e = 03]\n[keyAsn = 3082018802820181008733b9c2bc754216fac899159abb71c5ca84be37153720040f33f291f5f7861bc122cafde3091b5211bc81ee03e280e3c6c2902ec49afb8432c3273536edce7116048513e9b33e2fcfe56f9597c81bc9be81a1b1d46e863ca11db2c33ac1bdebf7c552332067e2e588497e7d9e0738caa57a73dd28157e88fc202b31bbe3b9993548399a0b0df9b72dfeece75ecd78376227e9cd21c8d24ca4aa64fa50a59ee8e7621158e7bac2420fc0d77064d3959afab664ecda0decb8c979eb402795b9a562f2de310aa7fc6864469ac88867788c57ee96f6dc32dbdbe3aa7d3ff47ae4b78e1106e1bc80350b2383dae54140a4605f4130d7e5d3f7818262a27c76a51e4c6db4ab4590b4766b8c50ec1bfed53f0d716b5c7d9dc971399246c75ce27745147151f2e7629039f0b2efed99c7f17cda8f3c3df764dfb40cc0c2ad7bf2b6c72829df93329a4bad6be8635953dd10840888784eea738c763be9f5dc3ba47a9e9d800e21b4ffcc18193e591e8a5283192426e8867331c72bdda06a0eb49367bb01020103]\n[keyDer = 308201a0300d06092a864886f70d01010105000382018d003082018802820181008733b9c2bc754216fac899159abb71c5ca84be37153720040f33f291f5f7861bc122cafde3091b5211bc81ee03e280e3c6c2902ec49afb8432c3273536edce7116048513e9b33e2fcfe56f9597c81bc9be81a1b1d46e863ca11db2c33ac1bdebf7c552332067e2e588497e7d9e0738caa57a73dd28157e88fc202b31bbe3b9993548399a0b0df9b72dfeece75ecd78376227e9cd21c8d24ca4aa64fa50a59ee8e7621158e7bac2420fc0d77064d3959afab664ecda0decb8c979eb402795b9a562f2de310aa7fc6864469ac88867788c57ee96f6dc32dbdbe3aa7d3ff47ae4b78e1106e1bc80350b2383dae54140a4605f4130d7e5d3f7818262a27c76a51e4c6db4ab4590b4766b8c50ec1bfed53f0d716b5c7d9dc971399246c75ce27745147151f2e7629039f0b2efed99c7f17cda8f3c3df764dfb40cc0c2ad7bf2b6c72829df93329a4bad6be8635953dd10840888784eea738c763be9f5dc3ba47a9e9d800e21b4ffcc18193e591e8a5283192426e8867331c72bdda06a0eb49367bb01020103]\n[keysize = 3072]\n[n = 008733b9c2bc754216fac899159abb71c5ca84be37153720040f33f291f5f7861bc122cafde3091b5211bc81ee03e280e3c6c2902ec49afb8432c3273536edce7116048513e9b33e2fcfe56f9597c81bc9be81a1b1d46e863ca11db2c33ac1bdebf7c552332067e2e588497e7d9e0738caa57a73dd28157e88fc202b31bbe3b9993548399a0b0df9b72dfeece75ecd78376227e9cd21c8d24ca4aa64fa50a59ee8e7621158e7bac2420fc0d77064d3959afab664ecda0decb8c979eb402795b9a562f2de310aa7fc6864469ac88867788c57ee96f6dc32dbdbe3aa7d3ff47ae4b78e1106e1bc80350b2383dae54140a4605f4130d7e5d3f7818262a27c76a51e4c6db4ab4590b4766b8c50ec1bfed53f0d716b5c7d9dc971399246c75ce27745147151f2e7629039f0b2efed99c7f17cda8f3c3df764dfb40cc0c2ad7bf2b6c72829df93329a4bad6be8635953dd10840888784eea738c763be9f5dc3ba47a9e9d800e21b4ffcc18193e591e8a5283192426e8867331c72bdda06a0eb49367bb01]\n[privateKeyPkcs8 = 3082073d020100300d06092a864886f70d0101010500048207273082072302010002820181008733b9c2bc754216fac899159abb71c5ca84be37153720040f33f291f5f7861bc122cafde3091b5211bc81ee03e280e3c6c2902ec49afb8432c3273536edce7116048513e9b33e2fcfe56f9597c81bc9be81a1b1d46e863ca11db2c33ac1bdebf7c552332067e2e588497e7d9e0738caa57a73dd28157e88fc202b31bbe3b9993548399a0b0df9b72dfeece75ecd78376227e9cd21c8d24ca4aa64fa50a59ee8e7621158e7bac2420fc0d77064d3959afab664ecda0decb8c979eb402795b9a562f2de310aa7fc6864469ac88867788c57ee96f6dc32dbdbe3aa7d3ff47ae4b78e1106e1bc80350b2383dae54140a4605f4130d7e5d3f7818262a27c76a51e4c6db4ab4590b4766b8c50ec1bfed53f0d716b5c7d9dc971399246c75ce27745147151f2e7629039f0b2efed99c7f17cda8f3c3df764dfb40cc0c2ad7bf2b6c72829df93329a4bad6be8635953dd10840888784eea738c763be9f5dc3ba47a9e9d800e21b4ffcc18193e591e8a5283192426e8867331c72bdda06a0eb49367bb01020103028201805a227bd7284e2c0f51db10b911d24bd931add424b8cf6aad5f77f70bf94faebd2b6c8753ecb0bce16128569ead41ab428481b5748311fd02cc821a2379f3def60eadae0d46777eca8a98f50e653012867f0116768d9f04286b6921d77c812947fa838c22159a9743b030fefe695a25dc6e51a293700e545b52c01ccbd297d110a03719ee437ac4b220d7dbb058adef86b949ca4de07276101deb7b61b2e5e8fad8bc6bf2dacf8f90060aabf2696c7f1cafa101ec562ae5572fd592dd7cb1f5fec11473dd398f7effc7981ff96fea4269561f21fa87bb5c2ebbecb441a13098b6ff7b8aec3fb7f483f48f80bd8b531f4a99bb27cbdec584cd7c0114ec972380f333f1fe4849ba118e5c3895f9865b806733cb764b66e99703e35dd49bdc4372d8520f069237dfa06c72fe78ee267184cb3b14fbdeb1ebdadf31ba6bb57b469e6242bc0d1fa391e0e8edc94d01b5fdbb2010f7d8e4c5cdeab865b1a2f08643dd0ac0f7bc151b6ccb0c835202f07a9ee5b73db9c4ece4fe4cc2069379414ed6552b0282010044f592b4a5d5d2abfcbb235ed9c890ed4c393a58511d213477c92be7c44cc170a2476f6c9f836aea06b0d584c6b0d6eff344e20a58cd94b601b98ef3ec8ac8a7415430653450bde8b8e26ad2608814ee56bfe3ff1099d195c9c76edd82b1ffa50ed7b67f5cec464534ac99c8f043f57078a8752617abb04d4861031993efdcdda9df505b500c9dfda99f422ca3be309985b4a3ebe48cc37227e802298f9dfc937f3c419c156df8492b52cc24a1daeb355829836689fd0dd8c3057fc1d473942de38480e8ab6f16268cde71af49badce2cfd07524e8f90c301a6152129ad4d578f4cff93a042db9ffae0be5136c1ae5d8e49813d9dfc1703d14fc507846a8b45902818101f5ea5d7dd210be18585cc8f9118dcdd91e0587209ede4b419552064988741c3c76ff276ff952d104db1f6c0fec6c4a745e7340c2d000dde533258c29e5594566e240fe9a7981c5e7f6d6f42202590e759f34146e61de89f7370a15c0403ffd9469ca8e5b527b2d86cb52350e2e79dab865b9cb35fa88487d8190885a567d86e9028201002df90c786e8e8c72a87cc23f3bdb0b48dd7b7c3ae0be1622fa861d452d8880f5c184f4f315024746af208e588475e49ff783415c3b33b879567bb4a29db1db1a2b8d7598cd8b2945d096f1e195b00df439d542aa0b113663dbda49e901cbffc35f3a79aa3df2d98378731130a02d4e4afb1af8c40fc7cade3040acbbb7f53de91bea3592355dbea91bbf817317d42066592317f2985dd7a16ff001710a69530cff7d8112b8f3fadb723732c31691f223901bacef06a8b3e5d758ffd68da262c9425855f0724a0ec45de9a11f867c9341dfe04e189b50b2cabc40e161bc8de3a5f88aa626ad73d1551eb298b79d6743e5edbab7e6952ba028b8a835a58470783b028181014e9c3e53e1607ebae59330a60bb3de90beae5a15bf3edcd6638c043105a2bd7da4aa1a4aa63736033cbf9d5ff2f2dc4d944cd5d73555e943776e5d714390d8ef4180a9bc51012e9aa48f4d6c0190b44e6a22b84996945bfa24b163d5802aa90d9bdc5ee78c521e59dce178b41efbe7259926877951b03053abb5b03c39a9049b028201000a481e3baffb3d30fa9e49395e7fd986d58e804befc9bad0799b2e86389792a2e6e47449b23b9e15c9139dce384aae4f08bcffa353bea9ef2fe2639a35a1bc3f9ac38", + "963f1b605d785bda5b7c5b17e66560d336cdec31b70709b43ce064d7e521df466c8015a1593453fb90f3d43713b5d5066f5c7a4abb817b874065a7a117be1df350320a5555fb39d78d178d17e37a288da8761853c40ee99590d87f21c133fe06d09f40f9c1765eddfa7e865b6a4b369470163aa681d85223f37a868e97e264f371dbcbd9cef8a17601f7b29b4e76f2ff77b538722695dd1fbf92e940b6e24c1f33b490b1aada82875596aacf074c36e1e8cac178e8690be9f54956bc1ac]\n[sha = SHA-512]\n\n# tcId = 157\n# short signature\nmsg = 36313237\nresult = acceptable\nsig = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001bdd0c9e451b5b3e5513a94492dbee1ada9ea87e65a8cd95cceb4d304294ce34bf09a212f14908f5b865c7a34a72e68e389794a2d1c5767ba17829e2044108ac7842b6bfe0a5663b433d656f4e38522c5a5a23c460b898833828d257350e5814291b54cf13089080f84998edcacf0fe5fca0c1f8b176b172c5f9989491a039bef\nflags = SmallPublicKey\n\n[d = 61d4ba892aa781fc663a897a56f278364b09a89485a37255bdabc5e0f543fede724713cf3613d20c059983e7a38442c776c9accbe8ff714aa45d4d5cc35005adf8b8c76a91bd14fc975341a1689495fd85fae6f45ee5f010764c45a01d7fe521b0463c5838ced4fdf17f2df3056cc3f1d1f76753b563848ad5eac21b40e286e5e847932fdbe9a7a569c0542ca2e072763516ff44f67817739a3ee721dbc88f5d3d4ea704e53798eb8c0e7195070f313b800d65827a4057f62ceff11b160a8419054f99fe6b7cbdfa62a9f07ff7313b8cbc2b338bdf9517b1150de81212f9d6bde36a5b16eb82aabcd0157d2caaea6e0b02c784bbf9a00c7cd12e708723909f93]\n[e = 03]\n[keyAsn = 30820108028201010092bf17cdbffb42fa9957ce37826bb451708e7cdec8752b809c81a8d16fe5fe4dab6a9db6d11dbb12086645db7546642b322e8331dd7f29eff68bf40b24f80884f5152b1fda9b9f7ae2fce2721cdee0fc48f85a6e8e64f767ed9727fd2dc597967e276a5e2e768528afdd9df4b6ddda4c174300e4da3c19a3c32299e1e7857934c14dd6203d8c2671289bc392711597155364a59046b2b9f1905fe717ca7efebb4c1969b804118effa240c11ebf97cd68c2aa19c787b3be21e68c0e397c7f04c6ef98950e27e0e19a40da92a3ea10800fe9252b77026d14c2fa1eb4ac102491e5773279f07d856d446f45169b09bf60b8a2695f5e4864eaaf9590aec8c7c2f86d020103]\n[keyDer = 30820120300d06092a864886f70d01010105000382010d0030820108028201010092bf17cdbffb42fa9957ce37826bb451708e7cdec8752b809c81a8d16fe5fe4dab6a9db6d11dbb12086645db7546642b322e8331dd7f29eff68bf40b24f80884f5152b1fda9b9f7ae2fce2721cdee0fc48f85a6e8e64f767ed9727fd2dc597967e276a5e2e768528afdd9df4b6ddda4c174300e4da3c19a3c32299e1e7857934c14dd6203d8c2671289bc392711597155364a59046b2b9f1905fe717ca7efebb4c1969b804118effa240c11ebf97cd68c2aa19c787b3be21e68c0e397c7f04c6ef98950e27e0e19a40da92a3ea10800fe9252b77026d14c2fa1eb4ac102491e5773279f07d856d446f45169b09bf60b8a2695f5e4864eaaf9590aec8c7c2f86d020103]\n[keysize = 2048]\n[n = 0092bf17cdbffb42fa9957ce37826bb451708e7cdec8752b809c81a8d16fe5fe4dab6a9db6d11dbb12086645db7546642b322e8331dd7f29eff68bf40b24f80884f5152b1fda9b9f7ae2fce2721cdee0fc48f85a6e8e64f767ed9727fd2dc597967e276a5e2e768528afdd9df4b6ddda4c174300e4da3c19a3c32299e1e7857934c14dd6203d8c2671289bc392711597155364a59046b2b9f1905fe717ca7efebb4c1969b804118effa240c11ebf97cd68c2aa19c787b3be21e68c0e397c7f04c6ef98950e27e0e19a40da92a3ea10800fe9252b77026d14c2fa1eb4ac102491e5773279f07d856d446f45169b09bf60b8a2695f5e4864eaaf9590aec8c7c2f86d]\n[privateKeyPkcs8 = 308204e3020100300d06092a864886f70d0101010500048204cd308204c9020100028201010092bf17cdbffb42fa9957ce37826bb451708e7cdec8752b809c81a8d16fe5fe4dab6a9db6d11dbb12086645db7546642b322e8331dd7f29eff68bf40b24f80884f5152b1fda9b9f7ae2fce2721cdee0fc48f85a6e8e64f767ed9727fd2dc597967e276a5e2e768528afdd9df4b6ddda4c174300e4da3c19a3c32299e1e7857934c14dd6203d8c2671289bc392711597155364a59046b2b9f1905fe717ca7efebb4c1969b804118effa240c11ebf97cd68c2aa19c787b3be21e68c0e397c7f04c6ef98950e27e0e19a40da92a3ea10800fe9252b77026d14c2fa1eb4ac102491e5773279f07d856d446f45169b09bf60b8a2695f5e4864eaaf9590aec8c7c2f86d0201030282010061d4ba892aa781fc663a897a56f278364b09a89485a37255bdabc5e0f543fede724713cf3613d20c059983e7a38442c776c9accbe8ff714aa45d4d5cc35005adf8b8c76a91bd14fc975341a1689495fd85fae6f45ee5f010764c45a01d7fe521b0463c5838ced4fdf17f2df3056cc3f1d1f76753b563848ad5eac21b40e286e5e847932fdbe9a7a569c0542ca2e072763516ff44f67817739a3ee721dbc88f5d3d4ea704e53798eb8c0e7195070f313b800d65827a4057f62ceff11b160a8419054f99fe6b7cbdfa62a9f07ff7313b8cbc2b338bdf9517b1150de81212f9d6bde36a5b16eb82aabcd0157d2caaea6e0b02c784bbf9a00c7cd12e708723909f930281ab0c0f4f3c24bf8d0185bfe3f5be0fd9d94045abc59ed9082ebab4615c4fe5e74a26d2d3824276b90631aedbe4e2795873adaaf909fb454f7cc4eb6403c226a8d4fe96c429018c6500d227af70236f30ac3e299e502b0a9423ddccffb7e2987aa6889611896f3ca767a5d536f9815cd21fefa7f8f177ddb32b9a8c3599c3f37ef910e37e9048e61d0cf79dc14f14c242d0f0e350045ad6b54f278abca959b59c771e68c312aed3e33a71a73302560c2b1123368fcab3690929caa41f19b4e7e973c9696a6e1fd13e66b61ca9bb63cc30cbac1a8735206aa639fc8dbaca40f273e6b6320752fe2f0b4b5089d932ca0422ba3830eb74e462a7dad66f31491c321ad7f861df0281ab080a34d2c32a5e0103d542a3d40a913b802e7283bf3b5ac9d1cd963d8a9944dc19e1e256d6f9d0aecbc9e7edec50e5a273c750b1522e34fdd89ced57d6c4708dff0f2d70abb2ee008c1a74f56cf4cb1d7ec6698ac75c62c293ddffcfec65a719b0640bb0f4d31a451938cf5100e88c154a6ffb4ba53e7772670823bbd7f7a9fb6097a9b585eebe08a513d634b88181e0a0978aad91e478df6fb1d31b9123bda4bef0820c748d4226f66f770256081cb61779b531ccf0b0c6871814bbcdeff0f7db9b9c496a8b7eef24131bd242882087c811af78c047197bfdb3d1dc2b4c4d447976af8ca974b23235b13b7731581726d0209cf89841c53c8ef4cb8612cc11e550413f0281ab094cdf234ade11daf48b0df60628ad6846140b65d68783caf13171f4c2772e7a2f7576fc8ba0d5689074568ebfae719a4f2faee5159f17bbec294029f4b0d7ef85f5e7980a872ee5db8f6a39cf6871373abe90c894fc8cd96399a3a28f643752ea6bff28a919e88d85fe720ca359aa5d4c828f2530665ad9810d7dcecc0888bdce4d71e05c3a8579845fbe985ff6d0608fb2dfa1121c7b7e4ebd7209ce7fe2593ecfa2a061fb4e7b2773cf]\n[sha = SHA-256]\n\n# tcId = 158\n# signature is close to n\nmsg = 32353934\nresult = acceptable\nsig = 92bf17cdbffb42fa9957ce37826bb451708e7cdec8752b809c81a8d16fe5fe4dab6a9db6d11dbb12086645db7546642b322e8331dd7f29eff68bf40b24f80884f5152b1fda9b9f7ae2fce2721cdee0fc48f85a6e8e64f767ed9727fd2dc597967e276a5e2e768528afdd9df4b6ddda4c174300e4da3c19a3c32299e1e7857934c14dd6203d8c2671289bc392711597155364a59046b2b9f1905fe717ca7efebb4c1969b804118effa240b8bf4bb1a6d0616fd5be2f081dc9ef741a9a4ae7274418b791432de470c4556463108388e8e8ed5dcebf3558e4650c2ac97c86fa682176f09b5dd8cfbf15d19c3fe4f961f4607c12cb3dfad9b6a0e59c92faa1fc8622\nflags = SmallPublicKey\n\n", +}; +static const size_t kLen149 = 145457; + +static const char *kData149[] = { + "# Imported from Wycheproof's rsa_signature_2048_sha224_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSASSA-PKCS1-v1_5\n# Generator version: 0.8r12\n\n[e = 010001]\n[keyAsn = 3082010a0282010100c32cd0e1441fde8a2896ca3a133735be2d1010777cfc739afc77b6daa66f367d4876dccb3021fc22c25450a68d6cfb1191d485cbfba5ec45b49286d7cae2bdae553f47e10b94f867abcc6d0affc733bacc725e5ab4de1aba19a39d748b4c1355d5a6a710a52bd04c0c24e7bc3bdab8f3ce3ae86ecb31c4b45e10b40ddb5fdd40cb2411bcf5b1d392e1eef959cff2709a6e02b20ff3b4343641a6b78599586edc9b673d9f3f5e9d339ceebf96a1a31655876c39fcb00b1c3e571908c9b744765047abb5c23ecc42e551e13755e38cc9a13e1e02bcd5dcec9c301fab75be3e1a8ee9c42981607aba7855f4bbe76c8c160e80468b54bdf9f438b177c33dee30b0f50203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100c32cd0e1441fde8a2896ca3a133735be2d1010777cfc739afc77b6daa66f367d4876dccb3021fc22c25450a68d6cfb1191d485cbfba5ec45b49286d7cae2bdae553f47e10b94f867abcc6d0affc733bacc725e5ab4de1aba19a39d748b4c1355d5a6a710a52bd04c0c24e7bc3bdab8f3ce3ae86ecb31c4b45e10b40ddb5fdd40cb2411bcf5b1d392e1eef959cff2709a6e02b20ff3b4343641a6b78599586edc9b673d9f3f5e9d339ceebf96a1a31655876c39fcb00b1c3e571908c9b744765047abb5c23ecc42e551e13755e38cc9a13e1e02bcd5dcec9c301fab75be3e1a8ee9c42981607aba7855f4bbe76c8c160e80468b54bdf9f438b177c33dee30b0f50203010001]\n[keysize = 2048]\n[n = 00c32cd0e1441fde8a2896ca3a133735be2d1010777cfc739afc77b6daa66f367d4876dccb3021fc22c25450a68d6cfb1191d485cbfba5ec45b49286d7cae2bdae553f47e10b94f867abcc6d0affc733bacc725e5ab4de1aba19a39d748b4c1355d5a6a710a52bd04c0c24e7bc3bdab8f3ce3ae86ecb31c4b45e10b40ddb5fdd40cb2411bcf5b1d392e1eef959cff2709a6e02b20ff3b4343641a6b78599586edc9b673d9f3f5e9d339ceebf96a1a31655876c39fcb00b1c3e571908c9b744765047abb5c23ecc42e551e13755e38cc9a13e1e02bcd5dcec9c301fab75be3e1a8ee9c42981607aba7855f4bbe76c8c160e80468b54bdf9f438b177c33dee30b0f5]\n[sha = SHA-224]\n\n# tcId = 1\nmsg = \nresult = valid\nsig = 19c576f191c273306ec6ee9e26c673bdcf3f821adaf13a0759df7787511ddb096e964f5dc199ccc5cf131f855065d6ff0a6c720651477d9026bed82d201f6e84a23b37725fd24f5b75aedc2afa24524e7222c0dd7c6d2742430bab3ec46d12204a94a533e2a9147723d087d619e07873a4261c420226ec1869abd70117c787d4b1827fe98779287451086354292bbb90617ceb391122efe70887710c5cb4549d163d37e79b33c1b336826cb53b648689e6da54241d20df822cf7770d7beaef4bb00068252786580a88cd00e93f5ef42b69efa7c364b98749fe734ee7bd13d0aca585d84e4fe4b29478697170280a5921278997ef9856f7372b6995d7eb43ce0c\n\n# tcId = 2\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = ab2e758c8de97282a7ede3401680ead187cc08658be0041f108851149a9b9d2588d5ca544039533eebd0305c07f394504d91a578f5764267149d4ef70b88a2a3f8cf0b1061d06882af53a88bef195aac87294dc833d80f42d942f3a59bb242b187e23bb89a068bb4c8a215247d04aec57f81f75c14e711b5878b04863e715d0f359ad13f008b79342b7a4ca095fd021f639e8f48860c1eafe6fa19162c2632a2d3a05330d149f3ea6c9aed9f89fa3f7bcb2cf2a3d1af0484178710c21c046a812f3b8d68027173ff5aeb1ad19ea6639e2d886eabf8149a8fb491d2c36ccfc4da2a9785a992046f24a93d2dd7765a171cd8ecb68b94ee70b0e5bf791967267251\n\n# tcId = 3\nmsg = 54657374\nresult = valid\nsig = 61c702c72b0177ac857e52707c1a40b84a1859bf1d7d1cdbda643f924e8bab7c3d3eb2065aff837e92f93836fd54ea52e085e19cb0cb59fa58afad48480c2dac579315340883886e78456ce750fc55b6c188b716bda7957ff547222f0cc1462344de4bf078ec19f1ba5901a0e5f40d93dbae4aac407834b272a2be82c8da085a3e1e9e0a57d3f43d26462566f0aeade04ee8981fec8d7e34c916fe78c0c5c43781bab2fecab654fa55ac99182545d0ddf070d41f67efe0737d8ecab3411720c84862606c8e4b53e60faa1c9a98386e92b03d676b53e3fdbca3bdf0187ddc50086cf82ca6052be55fbb7f3bdb6c6c0432defa5634797c23b494c3880846169b67\n\n# tcId = 4\nmsg = 313233343030\nresult = valid\nsig = 965f82f0649a338ef14387a7f3335b9e2d5d3b4009eecfd26c0110344a30117bde6bad668cf083beb28242460fbb96adf9754b9a4d4505f6412e677bf3349868fd5b5268786308a5293f2cb2f7ffda76104351f10381e504e72d27435d5bea0517d20ebec0afa531e520e5fe484475a330a40ba1109c204fabc44ec099878a5e31342a650047c299a5f2322f057b9586cd9eebeed1f3d2d94aac24f9d7b2f05c6f28bc49cb2b00f5e56870fa099cfb2c3e276381adf5a030ab6ffd9cb96fe309061d44c2ca5ccdd76a69458be561e3f0ef603ebe9ecd533333584236970dc7414124ace98357c496369bf94123bf0d4e57b03aee567c2f83a9e6378e62a42fed\n\n# tcId = 5\nmsg = 4d657373616765\nresult = valid\nsig = 105c68d221aa579ab6206d23be01d0c91f98fb67ed8d2044b6278916223758aa346bd6d5c7282d23a2bf702e0facdfb884e0b389202a5073a715fa80158e31d1e3588af30d2fd8b61233499ab7952f0761c84912b700fec807937d00a021eaa84d96f59760cc7733236138cb4ff1fb04c7d4621331b5c729f9694555b6f9c324e74db4a7a8b72f2853dfd0b9fe63759b3468bc66017bd6c1aada2070dc8643b5e581f12cad170d9fe754c65dfd0a5925cfe846a8413d729103e9d7e8825affc20f477d5bd3860947c2665ca4170fc44f2670bc33b51d42e5df78134919bf4660cfbc092c1cdcc09c8fda1ec9383512abe253cd1a470271832e0c7de5a6d9a7c2\n\n# tcId = 6\nmsg = 61\nresult = valid\nsig = 3662fc9bc91b00d457bce2fbc667dbb31ce7fa451acdbad95b4b418782b8af67d2fbaf1424be2c99e95e2637d8d39e751d757f89711ae165fe5bf142fd88b284df696e948ee714e3f2062c5d01d04bb6c0387aa5ff1511552dd066bda861e1c5cbfe73dd8c6bc3039b729c700c8f297f48ba2a36aecbb626b5c9f9b3c04102f55ee65ef5477d8d1d14d9b7b048cdac54d7239177e702d0629d3617de2a9fa556a6d4ec37fe38a46b768e39f1d8a380484ffe0cef59abb7e20ffdb7c11b14a42ee3cedda99ef9f71eae7cf760fd81172e03a3f2a9f7e42a813db3b089c11528350e93b131641b8d023d47447f58aeb9f3f38760df8a9b1ad4b8d43ba0c9018e02\n\n# tcId = 7\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\nsig = 8392c4d888e7c63ae2a3d53d560ccbc226dbb1d9f69100fd86a19ef30a83981371169deb4ef87aafcfb4186c5ebf8d83764470acc8c9cbe36a9b15037e25b1dfc63e929b0bb3891be2d1804b8c6a0bf65891943e4c0fd21e7df55c134dde69682244d22510dac2b304c10a2e31adc134ab27ed186568fa9091df16f1c9f4e7044ddef6675269de710774ed124b52fbac9bed285b4be5ef9f2fd50e1d95383e145553762fb87a1da173b8b89a7eb9e947d08b5303ef0992bf4e3783c30253a43b373d90a75bd52fc53ee4fb86bfa1bad035a8177f8c0a9f53a6214ec950c2a07cea7f908c55c24dc31799867f819af18fa30f304ea001ce9cc87eb703ab578f5b\n\n# tcId = 8\n# Legacy:missing NULL\nmsg = 313233343030\nresult = acceptable\nsig = 00a3e40c77eae1f17fbf23c0218bb5baabb4adc424ec585b499a0e28ac21e664a0a8030026a161b1c3eb96cb5d0e498023561f11cb4ecdbca633f5d6087784106683a804301a16911bd7f8fd44c66a1c890c70fdaebb68267253329280f60fd617594194c96714126ad30547a813ce57f4fd14b1907172986c8a525abd130977a8e0a4af8007bb1e9b7cd83865b6f1b0e40b1709663a25bf118aeabb0af179cf61f034fe23d505c86f9f2be08b4dbd9e9c465c71edc0ee7f6236c1b52ec2e01904c14a3da0a426f39a8a5c462bcbf6edc04febbacde1dfe30495fc5c9726fb103f19d30d9d49d69ffe9190f5d448ac2d063ec4bdb8e07aceddb17202dbc25823\nflags = MissingNull\n\n# tcId = 9\n# long form encoding of length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 1da09f538311c3b591f0c28ff1ba3d0888fd583f78c1bbdb93cd44c17640ea658a62e41adcc74bf8d7509e7d46764b33fa02f74cab9db364101857870003caf2f6df6f4c366997d1d00e891a30275554db7690b267c56eda3a279a1c2d9271cace128f8f3449f2590e4f30befa9f374009c7d4d75dc9101e63c7a102fd7ef19c9d8cc8214c7d8960332be27270e913e2906e55d3e55085c792f2e34cfbc6e017fa7211d3d2aa0dbf9f664d7cd0252247f8d9859eb7d738985e2785d1ddc21a156824dc323b272c04ac36015061888de8cf026afd575257f4fb482d5807d5ca41ee8128b2c9bfb22900a6e60f03b3fa99621f2b7990421a070d89d0eb981de5c2\n\n# tcId = 10\n# long form encoding of length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 22b094143d7c0e14529739d6e712202114a04053f0ab81f2b9ff357e6866fc58ec238d225ad4dc6ec877db71152395ca3747f72c20de76aa4bc04b1a61babb5d3a08017978de1144c3810ab5e371e0236fe14fce95d79fedc74b3108c0713940d4be0da190a7e7b7b90440e91fa1770b56754b4e7a8024ca5918aba59afbc2fda4d60745665abbc2ce2d9ef7aa9a4894e14c150c98b7855f9c015b90a245b491f5c4f74900737692adb05900d590e617ba6ac8e951166f5c6ca69b1e627ac7cf09d73d84eac332cdb3b6372575a2db2531a4e1342f68b91bf6ab49523d5b29f99515fa6af1e2f5d02ed7a7ecf8aa3884a656dd026b29864762bb85e55e4a8e39\n\n# tcId = 11\n# length of sequence contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 1addb77d2c6e825936e498fd1210c2b6fca811a99896ad40375567647012f3601f9657617876c62d1314731ea4609d03dc3681e6b53a93ec3ff0d49af491ed906692ac9278dcd0e0d051eacedaab7a038a6a8ec4d2de08103025a726568271ef9561db94f44ce4bda7210057f6d9d70ab71bef8599226349a88161de5e8035b671505b6b476f2cf39589030148c1bebffddff6d025870a4859866d63e8945a10c2cb2fe575f667", + "6051c9f38140969c0162d87edcd0abd564e92e7389b223895ee92e35add16fb745ad493d269bb1c691cd1dfeebbde8e343da7051dd6d5afaf7aa4ee78200916ea2497043d07dfa25ffad324549902dbda79f4d9f02817a88ae\n\n# tcId = 12\n# length of sequence contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = be516056260537514e69b25f482b4c22c1ff3ee12ca49b7f40e676a48cb424af3ca4bcb4d81b806c9c666ce066063efb1ba00f5b4dabae471e23e3eee7bbfb6ab5d505a725aadb6822a34d12ae00cb8e1a900a25cf236f3b1fe3b576162fcc8f33efd9bc6bc1c44d3c09e5e68c8aad9288a5a94cf86942231a413ced5bd61b4c6ebd83ccdbf52ab886f89d570d78c91d4b2afc3862569570e2d1b5469efb0be9b2c126c32dddac5c34d8f340b52cbcb38b1134c6b22109e7124411522b843c2bc3e575e60b35e7a440156770b85181c95488d82c0a725e02e90ca3dc4d41c8639d110d4bec80827140ffd1fe6e8d0c945de1e1b326a26e2998a2b03d86fbd7a2\n\n# tcId = 13\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = a9698fed4f4dd3d10ce7b039bd40b4a81bbd6a5eb82a71ba710094469479c14c1cb0cc13699fc8ccaf0c10382e1b03771a6d05670e22949c28965318acafde1331600f7337be8c19209b532958c5869c89b8384923a065df377de37b9e5cc7e5c8f6d0fd8664691dd9c97739194e5b2dd6d4330cef0aa0d873dce1405e7a435993fd84b339fb3574c78ed93fdc6fe604a3d9cf15c114e5fccbbbded2ae606fb9943a9a45461069e8b2dfdf882e9898a0eb59c4fadc3d86bf92b8dc537b1792be81b662b9c60db2938d513a7bb4878899df96a59334432d07a42b5de4a6d7c4b6449e3f469cd5f60857875bd1a617a2a8de8f9c0777fcf2e3e43499d90f3772a2\n\n# tcId = 14\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 89d42ba026f51a31c27e079279cdded5cefe75069ce04bead266af39e266dfd8e9df16a3b9972e03f4afd3f561c931e815c66c2e81dafa56a8e6ff148f37e1ef4e98370c0a2b2e10ba47f7bdd4f433e8af206c107efdde39de9d8816bba196d52ace92335c34b15496c15f89bc087a16799059a556da9e96dafdb835b5553c5dc2c1b007a6ec1176e31a021da8c5106947e7a2316d3874a66b8a4ce2b237775365ec6f0842ade6f2a1b1e7d349189f6d2799c9dd40bd9d32056bfba10d14cd7d25fd260b1790f6ac6ff77631d4a5466c7c976c251f2d4b3fe943a344e75cfab3b8e30aff2ecb34014b906e1f1eb3f55dc8e4233a40cdd5364070ecb1f2b15682\n\n# tcId = 15\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 712651f84c12fcbe98958b629326bb8aa9cf8e96cd8d06ebc68713e0241d2499b181b9216bb777e48d1191cae390d14dc63f0a09b5236fe6cb73f47d6043063ec1960e1fa5abb3631294e3c7fe3fa155864963a69ae9ad7f1b233a00e4b3b256fa0e28a431ff898155cbec008ec8367757b9290fc847bcad3a71d2026cd583b59401b7e66d552d9b59a010235785e6075cfa5f8a6588c957b66ce339882244311d9d0e33cf277134c0bf72c21683183ef12cff0ca9d3f517ee56acc4d89c74b0e81a7e1a26f14649766b0194b933649ec1fb72ebc78dd9645827e78843d31f503eebc40748a290b5fa5c1545d0801b63d753f0c0fb89e11e387d03c5dc465b2e\n\n# tcId = 16\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = b23e98890d5806f743eed29a2f972bf2ef5e53bcd20e4e7f8beae79a4e7074ccc4ee9c38bd2122fc1ff4a94a22f25092024dd3aa598c70278c93d70e932402cc0bc7153d87c59c5fe15c50f13eaf4d0c468caba84e43c925c634a5c4518610e836da434a4743824139610d6ebacc07ef9438dbd860be879fa84f3cbc5ef4aaa140b581f7085cfbb343ea32dfd30546f559759df095853ab2d5dc9026f4f51f86a3621bd22b161215088a58233a42f64b1688244ce2a170b8c6656e33b697abf6a72d57662c5ba8e14cca9ac502392f4942f734670bd9addbc1033a33c1e7af3ec7dac7565a8fa50ddb8e220bc2426746bc0b05a9988aaf3b83103ef3a3902a74\n\n# tcId = 17\n# uint32 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 98053fe9f2dfa6624379b11904fefed76adc19b8446cea727737fa452851deb44ea5a864300736b1c9a3ce27caed3fea4511e9bb9401d3a98b0892fb086a5dc04ae9e1d8ff6407914d0bb730507ceda69efb840219084c8ea2528b4146fc3420eaedaf45c0d8450192c7af36c3d6dc38f1604ea69fa9b2c38baf7e7cd4e0f5c151cc9db3590d505fd73e9c6363ac77aea87c7558582ff3a7b7ea08c4b4ef655984224c2bd9709d34d9b8662e48a2df5bbab3e9df9e5fb8db8411721c73ab50ac3d5a8b31bc64131415cc08daf6c34faae6abbf1b340dd4f3b1b0ab0d64cfa33b501bca552c950ddb7bb5f59562f73c51fd97f2d6d750b30ff19502516f5210f3\n\n# tcId = 18\n# uint32 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = a25aa3f523066ded870d269c7d26ef45ba35f386097015e0ef59a9de4710e88bffc62a16f8fb02eb18704c562bfb0ab9230d525e23b596a804707d98dce426d3e3a1278c29f342b9dc310b5c7da5aaa5584b84e922a385fedbe78ba432adee58f51b2570b7889fe854de8ba2654d52390217fc1f5f6f35f4a75cae85f388640db87e96908fe2a7b78c91f0fad3c118e75965ff2edc0cc9228cc81700069c6e71d4c7b527869e7a3dc63cf74c7f4aab9ecf0b2498d30765ed719ac0987cd5fa1058c81e57cacb3d489866f96d5962b1fba9f48ff298f89f8261e8fc4dacae06576c550421b419e5c5159a64b6b67eb7c709f145fd4ffbe4bf9d46b0b7d70d2e11\n\n# tcId = 19\n# uint64 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3f0770de907f40310ecfa536486f77d721aa07371f7e3c77849fb84166389876f4bd2c1730ec69ea95951582f9f7fb9b7ca388689062f50ebf2202893842891edff2bf0449f9fd9d9b5b26a6c96033700230d740dc585e64e0365079df974d12fd96cacddf2f114caa5ded4181f63380f30a696b13000554fb963b6b073891ccedde00ca3701baae4818f5e74838f6824b7590263228e7b31d614432bf06e78247cc82f88c63ad0514868cde210e2625fe5b9162781b4ac32a53d52bd673a257863b0c137bccb2f86e481430d4ae570bca908f62c27746a1e8e1bd051fa2de935bc40278c00901e5974756f94b3824b40e695296dfa730c2493ce257fcd7f00a\n\n# tcId = 20\n# uint64 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 5e4895d00312302559c490c304dcd4fc4a10398cb8d545976d6b700edadac5605c44cb0c0c7c7738fcd77dd5830d0601d65f4b1211b365705f3d5fc36fd713ce5b75e18232557046efb632da5186399a1de3dfd0236e2a4244d72637ccfc39132a642e4d467b15140a32550ce67d602d06e40c4a39085f63b4e382d4ab9bd55e070eb498cf3dce7f315c28b7d83ed704dabcabe0159a7254295755c7cc0ef757614e4d04be52ac43f4586535373780cecc58d07511b310fdb3e858489269968751e25c0641519547127bd99233e0dbb82b0c1b984a7856fd28ade5eddb5df6ece6c252283d66c3477c2a5a631f0e032e5330ed8e097426426502bfdfe1434b29\n\n# tcId = 21\n# length of sequence = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 1feb9e7455e16c9b7c572b6b0e095fae2a86e99fa92a8d65ed37f00450a20c3582dcb34c049d82c22200988da67eb45c2fe9d390161d50c3269250dd7e0f6f20a175fc4edaa6fc149a2fca18b3693b7779b686073e3c64f430c7578181389b813700da244d3725df2d63e0bff0b59d3894b646f94587e9431da3f508f23832b0eb69c825685bd1b9381d8127431d7efe2000bcfa5c507bba21b538780aabfe5aa9cbd8a075c91b487b29da70e18c48a9baa411f4f1d14ade15b09aafd0a3984013b376b2355ac9aac22b2695cd608cd9b9983821f1d570f523d3acbf119633af972fd5b311233fd0c7444c10d8b964b8372989640571ad80bf3f67dd1882d98f\n\n# tcId = 22\n# length of sequence = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 43de19d59bba7bc49d2971d66a98e6eb34324705a3a860f74bff5edc1b41bb7b168cb7fe3639d7dd7766cfda9c8cb725c79c66cdf7b1fcfbf97e24ef45134b23e1028bdd8a3f6a50564970d9c8cdfa2e52defdc919a4c915104ec63b122323c9f37878017b5c2005af3249018417efdec9ac2cfe176a0f54b5b1b5cd949be1bf64e7e2b1d22e485bd215c61dc3b50af335e52ac5a9be0d5e3fdf6ead6e25146c429d7d4e0153a52e91504edf9e48ae8ebcbcbd753f06ebe111b72d7e24b80d5225daf8eec2bcc7d484a2fbb9d59c17cd5ab718557a452b848fc605b7f07a6a053049bc1221214932ac0892621b95dcabf0f9b2321a6af61fb4f47fa499d9f085\n\n# tcId = 23\n# length of sequence = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 81d561d769770756f1120220a1b8abc6054560f2797778bd433e53e256419f4f58b0ad1356c2cfade14a7a081d1b93b37b5edf2cca3f51ca82c683781e25f2df36f20af9a67491b302cb12f8b96c49ded82557999ea30638fc5b3aaf546e7e81675c79299c1994ab1b3ebbe6adf6f91a4b5fe15af92f05c4f9a63339dd53675e843f50d5e74c47ef3a9f471a7b5966c7995e1dc9bbb3f14187636c8aa1e1d3bf70d24642396765333b72a2d450d839a6582c7a285db440734e2488baa416ddfdebd7b6dbab4b21146c9adde2a14f69cc69aca5bd0a80f285a4aba56b2f5abe0122edfea4b75404ff0eb6304e10886adaabee2b778e36527f38335ae0932f9d11\n\n# tcId = 24\n# length of sequence = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3b8ef79b1e78c674f827a66f305d67324d31847c0855cbc993fe9159f7a5e310ac2b30621646dacf58e57bc7b44a139c0834b3252f9c06ba6de582bd90de6e94211431820de2e00b9b0ab100239a5a75bbbcbb1761d85a3570dda4889bf37c8d3cc0faad74baa8c83124394cd10131351defb1673cbac952c4d968a4af71a28fc776f6f070b087f69a4d924dea561722f1029dd0c78bea40575b7faa5e8f96d3ac66acaa75aa5f74d11fed5070eaeb9f05892b7faabc4709ebc8b1748fc4d97e1452dc4dec40ab4789df166f68a4c8de218abbffba4b7b1733f81c47b3bf371a35114fff099b7db6fbbcaf37f7fe5d25a0399723a273e2c94f78cd21b4e534a7\n\n# tcId = 25\n# length of sequence = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 89721e40d6e14639991bdefaab28735bdf50739f2583cb9ab34f4298ecf8070b5badd7d818fba03bace4d54fa050117cae3f5", + "75a97cb31859473040360b994866918ff6b83356ccf53ef6ea900a1a8ee77f31cd5cf25245c9c543463d09c4ecdcd9886513f630c9bee91ae0fd054cce64199a3e43ec3ecccf68a155f2bf1086c59ca0a3be47cec1d8638b9120b67d7ba03ebdd066493092297a6bf597ba63062dfbbd428bcd9725afd10586f1d6320738362e551ccb8631d802541ae74348dfb02f8662ff237daa10ca4efbe33cefdacfae2e6d86d96d7d06503c06375ca1abd2196bfae5c2ba9a2f4b1cc2cdcd59ac24451742edb3152852a89e5386c16bf37\n\n# tcId = 26\n# length of sequence = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 10264b9667483464d2bff8d643de5bbc3482da0563fe1e77f11977c6c0c0b9c8699ab5b0ea87d123f8a73f4aefaade654f550a0e5197468246e5f8fe96704172ab6e50da24f48793f1de62bebf8fc54a2ddbd11304678f75831da77f3177b458f3ef73852fceb0c25fb91c1b99e865dac0deb6bfec1d924ceab739da876e7641cc3e3faf530d4a47b283b7a6954e943d0ab1435e217687ce7c0d0664c08b307401f7473e732a5edb1e5b76960283a29df5e39abae0a4ac89247c82a828273415189858f280a98ac509303e2a94c01f5e28aa4f04468744c9279858de3d3e81e534816eadd8d2188624f83135529544205e03f9aa256ef31c00cb5bb4cb69607b\n\n# tcId = 27\n# length of sequence = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 6cc03e058bdf3761fa04a89069f97bb0654b41d00d825152cd00db635d7844d75596d33685fd02f4a1bf36040ad71d5c448d1e2a95d23dc150463d85394709f95d7e37aa44fe300e3cb6c59967cceb81e5741bdecfd1d877e5e02a543e4acac44c4563df5d5d2bcb20e68c26ba032928c5019b3030457f4a828b19d37c3bc5f341f00e15f14ac1184239ddfc66ad568682620ef099c08d088d5bd0a95935401fc1091bfa2a120e94d25a54cde34c455cadf6b5f784392e3d8a687a9c56f5348fe9e5082432b29f64ddcc292e445f51ee0af42a595e860b88eca2aa486e8c3998c00a3475ba04d740cb1cd3f8f436531271df58bd2f84c8dd20cf45ba4db256ab\n\n# tcId = 28\n# length of sequence = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 177e1f3535ebf19016eefcc188271b53387292eed25eab416ef324d58b7c26bccd05e5843e49b5ea573ec7557fa3662159318994595a878bf162f5206729bb960c502e248a1bc85bb60025ef41d9aaccc040d99d3b178b609a40c1581251cce8e6f410b082d5635f94dfbd06885f2935fcfbde23ae0ae509af1f39d77c2d94c0454cb173ea29381ebdedc4983e34efef635f954f6d911968c4f79b6487b28ef427805f4c3d14d2b8ab72f5d736cd48fae65ab3565d8d3b7af61b56f691c064146e424bd6db124ac9e5fb82e9a84e2d7da8ca953fb8db2a845640e6d48532adc426c4761315bbc2639bcde29f420cb553d6ebff0a496ede669b413c80aa63553b\n\n# tcId = 29\n# incorrect length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 2a0d24c903c732f2ad18dc96c7e58289a1ed5887006f1ff7eedcbeb28b517171a25e48bd161b33f8c620fc42f23cc0a4b3ec0c03e42748355650baafe1e03cb1e6dca25bed0afaf5a56f016372dae8b3d92e21e9a5dd7b56b26c9ada092805bdd6933cf2a9017bb258cc19cdb04b2ae507894527d93a1bc85ef0b8f3c2e6fb9671c75cba20986ecccae16470d2a0fd8534fd879d65e62233d0e6450e503912569db3ec382210f8173753b32c8302137f0b3a60faadbd5a2a5c7d117f248797ed44345ed43284adf7655e7f70a0d94c4b05f484553761ec8b7be2ab5bd66d3110b4fed00d83dde2f5e0c6e0dfad1f084a851b07fb097481517805affc7e5abb72\n\n# tcId = 30\n# incorrect length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 28d582ef90052ede462304fb54653941f2b45d26998ae7af80f058646d2dd472d7ae738fe4ec226e2937366e759d2cf741b72cdc85f49004a143a68dd4c820985a5656b583e95dfdf48afe5895f6e02d8ad5131a522d8bb005303005ffe99fce9374cc538cc78d4f383dfe8b95cdee1938a91c847ad0c29345c99efb03424a4a04e52e5f955eac56fe5ddbb9c103223e0b3883ef4b1b787ccac10d9de11b85cfb8d3f675d18144ad64ebc59823653d54b85696bb6989c54dd368f0a130d8cdba7945216b7dc1da1f0a85e73f1458e009884d02106a2ed5b66d9871b5d1143d0ab5cf09b76e98d4f03675ff3e74af40e4fba4f9c0b87653455da30e4dd0897cb0\n\n# tcId = 31\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 2ea2f54a8bb688cfc16d6566f6b94d3170cdd93451316e89bef148e70cd85e185e5e19f23f4a8e7a5e65d938a43002ad4be43b3be2e409aca1b69292928d98830945784abd1ceb0cec45984a5496d0ccf9958efeac39842ba50a1cad7130ef5b227fe93040ab7f4226d5005647cc1b0259373e08ffcd242b77f9037797cfafc0254a96edfae31c4f7ee08833c0490082bd33ea25a2138593cc88fcfd7668a82f0cd26f4e1dc65c4e010c113bb2678c91254de5eeb689b582601b79ad08198072c51987602fc78bee6bb4754361bf5be123aa9c1f8c0d8b2a804102962c8da772529947bf2dd36456f6ff6132a0c6ee7347afc5680e705ad3b8e81c9a04f6a807\n\n# tcId = 32\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 0bc548744c7474e5d904c1a21dcf938ef8abc3fd1a0e20d94564432dae05550449d4b6ade94503073f6269bb71afd2b3207b809d39a2828a6f14774bfc04624255c1a2f28a722925e28115c98b20e98016fca0f8c4b3e2947e555113d7bc88d5586bd5a0c361d290b4dccbd1cce03a6df3dacc1baa516b1664608e6b9b097e64eaed352c8dc9b8864b0111581b97bd62a0f1b9396a385de650690e36818fc38d042574401c9dafb28b81ecd14d1b9e64ba867b4bf29f8e78fd919ba2b00f0896ab7d7df12fe4a8f525cb5b9a5b1c13ea609cc7d09b6ee57db3858e62270602662e8b160d7d4b76f2d128c901ecd74a0e2188aeea9c40325c18937e0ab67ea4ed\n\n# tcId = 33\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = bf13c64caf9726506b5cf9605c68252c38c9151064fc85666c7572145a72fa04dfe0fa5aa12f020f4581f1b199025e44aee682d65b1d6f78d52b03466fb52c6c8bc2adf65a0e20cf39f4e9d62cbb6746de236279dedb71e4c3b27fa7b4263911ef7ee2164384ea9b47ab8efe33c7c41a785b3b8c3aeb329248a3ad4fe443828b73b7da87475b1ac102b582ef16d45678000dc625fbcff5fc6509f3b42e0b097617af91c63bdb661a6b92f72cb1ea33a6ef2b6d23782bb87d069f9726c8c91a7b412461d59433a85f04f01a94b7db2e6b493505f6ab51dd2cf37c22cb5b3b9cff2316fc4a7433af2f6ad4946bd3faffaf03fafc1921ba7dc135f3d06f76ab31d1\n\n# tcId = 34\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 4789ffe0c9ae08e5b4a13e8e94fc0609c0485dd09c3d10621187aca1a503b0ad3e74ca519bc90f171f2de9246967b16ff69730a4fe9073685d35105633300f8af20b543f281fc7c2580a7d90e5977b13e20e3598daed7d1164f99999c49a90d50350e5e5e134c3692bdabb75fde51fe7f09bda5af6d98eadd4396bd90782579b02a0d60bcfab72ba3ff4414cd500360b21f9cfab420ccb67465967bf5a77efc2baf38b97759c28aa1df3443713c2967223e014182699c82169375388fb204b8bd609df94f5c14de98c4c4a97ef52bc4a26907e5610e249aeca9c951b5559ab1a63235cdd50ad991efeeb5cc87c2f270f3ef916c76beb90dd0fe380ef1d7f54ac\n\n# tcId = 35\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 3316b766710c2c54ce3c42fe05188c41bfd22cd91282464930c763ff3325bdf4cefe9328e6a6a9eaa0392422cc000a78903552649146773612a9becb4d7b4cdf2c6e468bf11b2ced75dcfb3f5811b596894c8dc7948d88093face5963356ef5dfe93a0839c0a3bde0ee33319fbf28949e9bf8710b988c6300beb0b04cbc841a9018a6a2fd6cad033fbb8e22c8cddf713fcbd096d5c498310a11863c276ba69d81a2327a0972bef0db5303e3d55dc4ccfdbac75885f337867e81994ce7e890dd52a0174639167b53718ad2dc59f75bb111461b713bedbb1fe00c790fed6984b630ead97647648bb09b65db20d2bdbf63b1101068d82a1ec3b2891f932ffa918cf\n\n# tcId = 36\n# removing sequence\nmsg = 313233343030\nresult = invalid\nsig = 4f3eb885b1033c3f5cdbf48b6fdcbd092972a466af821ebbd6f8b8a2508240ef14957e9cca82bcc1b3124828f9e2154353292ba3339f19e5e35bc6f6a678bb0296b2b5f54dcf9fb4b19fad1451c61539f5b2a3c0e94a738f25309ef87b273cfc3495c79a3937ea0cf56d3bce104b9b1ce30561dfa64867ff722c37973afefea4b5a79073f8ea6b0af36c9f49e61998381d0dbbdf9243838a987c7c446bfee0f18fd90ca023c03576c1ee24d8e2706d337f126775f6bd3ac3c5985592209b2d15f5ddb8dda0a432a5992d784dccb4d84f91e8edca9eabc4376411cde969c703eb1b61f0a8b82cce96dbf4bd97d574efb97e60c4a2b50808963c36c20baffb0ea5\n\n# tcId = 37\n# removing sequence\nmsg = 313233343030\nresult = invalid\nsig = 2d481e02fd9cb19356afe5a88342998ef96ef107f5b365c55e24073b815907f3ef9a628146f13101dc8305089ed0487576fa5b149ec6d80a0d1e6e8d874d1aa15f0261605105a63e41c05ba80aebb417a7fad72cbae383a26470e3ed867943a2a697b0e89ae5f2a9fa46edac74bbafec445a5d3f7ff8b010b6e0e0dd815f5a915d867c1345f39a3ff33e49e02c10dc0c87c1fbe3adfe8c21024573fe22e8f6700e9b577ba0c494eb96b55ac1fd6cc041f17f834c6b8b6ddc1c4087b6313012532365bf3771ef37bebc694fff80ae7682452d732da71a30cdee5af3f437451aae30d6b240752d87bfebf1141130d24a470fd991bd06bdc7fc1bc428380311dd86\n\n# tcId = 38\n# lonely sequence tag\nmsg = 313233343030\nresult = invalid\nsig = 421326a7fb2b1c3ccef84998301905f4f7ea1c3b9a0edee378edf33a555bc379399ba64c970fd8c41a72f6d7f6149908d22700f3836fc0baa11f88a15ef9aba5337c3d5ba081715749b04c3a05d026f17ff8c781af9526add7d138e3899651e28544f21dac75fedb70d1a38f48eb711afb66dbd275ff82fa2cba43d265f07b2087821d63a5467c9ec363bef9a55b65537e15fa0b2015d8e3cebcf096c63733cb418336e8f04a86ef9f430d28b78352043151deacf135b27805fccd9ae4bd6e62b10c11173b22ab155555a88960f3d1cb8ec761c56d6d5aa63bad6b0cbb47a981e283f3c494411a4c3f27d26013e3d09bdb7efb", + "f3073443951c83697f9336fad2\n\n# tcId = 39\n# lonely sequence tag\nmsg = 313233343030\nresult = invalid\nsig = 7a722b22c2327408ee6035df9006171f719469bd5b48ee865978b0224eab4f0c3ace1287c3d95cff5c266cfa54a52c64a9b88d15610f6b496d30e9381c6bd83cb94ad574ae7fff00723d6996771e7395705f97c8e7677a3132dff741e38a5284e7fab7a68b042c5df40ea5adbfa650f6cb3eda0790d5be4d16ee07c07d8728bae2cec1d128647cbb2df8606a99804a1a00f9dbba76d4a9cbf013be2c541df73041e7cceb9a187c0241eb213e64ce29219f9acf064eb63a534006277ba02fe5a8c5fe0f040f4323acf78864d3b8a6f6ccd108131dbf92c42f42159a6f5a86651c1cfe56750a79a2a842f8204436800e51eefb7344f733b50e525a06d8dafc3807\n\n# tcId = 40\n# appending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 047d4caee2c97c7feaa65b9b4c183f54e7cfc8e94c9cd0c0b4c4dd204728c357b959c38376b74e65fdfe3a4b21411e22d3f6495cbb905171322132b879a95fe75f62bb7e648e03b923d6d1e56c810b9b71fa3b68ef01070814e56843a9b943cc83eb6f0091d4c11f0608697a859c3265a5554befef16557435072e251d70053fe6ec28b1399f8ebaf7956868412bc1dd7b6b2632098e3516a133fb13e690e36605f23a588eb1142a55aacd434e7ad8fce310ea6ca6ecd6214bab17ce772c99059ec9fef69fe2d3b1580d53d2ffde3c5930d203d7cd3abd345c56bbdf01804bd146468ed5ea193eb1b329ee33b57bf955704be426768b22654b988365271435b8\n\n# tcId = 41\n# appending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = b0bba3124e4e8d991fefe71464559da12c7228646a5901a7475b1c71e352d6fad3dd37b16601deb4df3896535810dd9060223c0466035c4a2a481a19be2f85de7f0bf0d511e73681717877fbb6cf404727cc52a966b0acb3788967ce1aa5ea887a419f96454e583553ac07b15b3206c984dc32f555612534677bac5565f63d43729a3d2b5af5303d4af92027593313df17f46671caa4ec8deb10b870f4114abea7c11a32f1e66b1ca92fd21bb3678cfb039c5260ad33deb7c2ae1e847d86fb9eba1f212a707276810b91294773d469b484a9c9b2c655ebeaa9f0f77b96e2074c2441495351f605201ce8917d4d8755a74322f88157189dd9eef4b9166967189d\n\n# tcId = 42\n# prepending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 2103686c13ca1ec2567a0364cc5c7fbd2d3912d48e8eb79ac078ba92f780ce084c9e2684a7f162808499aa3c7dc17afa25173f6893a382c8a934f1bf9c43b0b3ce7d40f6532fcf6c225286362242a89b9efcc3ce8575099662a51d5ccb1a7dee56c25b475638de68901b855e6ca4f18286aa358fa92a4389fbb0eefc6afa547c68e2790980c41889217b5914bbae5527e7193df70562f4d44b0ace7be822470429c4798c39f33a36870cd3acc0006c356f6a3abff12ace4960f9a03ad1acd44598edf191789a5f8d83f33e4109ecb8a55e66bd950a7f0e91c369fbc97f221347c64dd49ca997451678de3f60d8dccfbf29f92f82c1843500b41a6aab49a2a146\n\n# tcId = 43\n# prepending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 081375d1eca4a5d33238f9bf1f7354b2d680752617a0caacecda023045cd5bd28771e38f24fdaabba884c87a70030ababa6a4a1d8e3d72b19dc7474250ce2d048a8ced039c8ef4fea770df5fba7ff5353d2beb06571503835a690dfbc43a40b2b9cb10d244c91a50b76f0e0524dd123a8a304378d1bfe6c10d7c281a77c18db64d844ef62802e93dcfe1df5ec9efb8e08c3bcb7d579e1acd4b0a0c33695a15c458ccb507f1715cc79d5c30d90da1de5d3d371ee17baaf51dbdde3f282fd266521940d3d1b5967f830881bf235e4b896b78aaae61e2105ce61fc7bec6274639c05a9ecf59e27a4b70e14a8b13579cd69b5760859243d04d2bc0b35097c551c748\n\n# tcId = 44\n# appending unused 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 3f04e9d3eeca27f5558685349f50f5dec7cf3d25801b977d0d07028fdafd462c7da1433157637cf2e32fc5b83dca9b3e293889a31e3c8d2e31eba924baebac2ceb7e3aecbdbf023f4e1db0e3b49884ac42ac7b79c31dc19796fd08bc95b08829703dd4ab6ca804a8f5c601be801632d17e08c217b5ff9d4680ea36fd553e51d7477b4e5360b2c076e7da5a9894579e33bc35f797b93d2661efe2bb87f557aca9b1e65b9b6d8646ae1771219cbfb0ed82b18009a8c0ab729b2e3815c6a0bd7d4eb0bb0dd209c417ff310678cc6b5813b2acd4d1223f5afe0ec1e08493860dfaea196c86c35f4506fd88dd78011d2accbadfa38323fc3a9625ed68cf649d1aca94\n\n# tcId = 45\n# appending unused 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 0411baa04f289c095a5bf21c481c848caadf6786ae0d9ed6f91a785d81510a3517edd3ac1d6ed4746110a109c8a99bc549a1409eb72a3681fc858249135cb5a24b3aed3ba8b3a33f472b15807c223473bcac0e301a846f6a293b28ae456987b65ec0b1dac7ad30eeb0f3e5d7dcd73978e79dd4b0c80efed470f5c90c8cb75e88c89e49a2c2a3e5c38fe34f57c6b15b835b4cc086721d55b8704299b6cde3b9bb983a9f2403ff68d3f9a55fd40245f421f586cdf8307d73cd77d42e0ba886ae5d191c578c3f4cabed531a0e32899b711f33611a5f89398d903dba08c93084d08e705b1fa5fca28b4e3bd031f5a7a0acefaa001545b432d6665d5ad80ca4cc72d0\n\n# tcId = 46\n# appending null value to sequence\nmsg = 313233343030\nresult = invalid\nsig = 8e3dde30848a0ec2780b18b8d5cc10875a090dbe69b6ab4e808e723372eeb7752142a3c9be04834d18fc4193e64a1436b7c9d6b62204b03afc122014a6ec2b2037baa3134344b612938a0dffa465cc4f5ce76642dd266afc5375f50927974c3fa458a5cfef69df6316ffff6019f00d40e7951613fd20ba9f5d575fe1d81bcbb1f51bffea42cb5624b3ec5c4f471e3f9fe6f0dfa162bfb6508711150d0727260b63cae72fb429b1153661fb6c6b7d3bfca05bc6ac9e96876c9986a05f62dd85693a9fd8748f9cbcc30ccdc393f9a9249af15610a2ae277f26a05b99dada16354ad93853dfbba23f817ac098ae5007d7e9bd023d7a4d803d5473087f3ddc0a9e71\n\n# tcId = 47\n# appending null value to sequence\nmsg = 313233343030\nresult = invalid\nsig = 573553d7dc7ae88321d688df3ae7f6a4a621452c55b8caa6c79c678d30f73413f4010a4673971dba59f2a31dde45fbccc00a24c316e186ee0769eadaf6d6fc11193f389fe3d874afe4ed226908acb2de226151d81f00cc8aea420cc2d8a04b24fad5f23353932109ab57c0ac3566b868692a8d7f50e975056e4b462debffe9d8a7ba7b8a2623970ae17ad5472e5fd1a54a4592d4755cee2a4c48391850a7dd732ffc9fb1387d63aad77d767c5ffedd557bfb7c733d8405355c9eeadf376b1ab3a83de9a2711f78903509f030c096cd1b26c867954c6c2c2785c19b438990f4f9e2748da577acd2985301065f5883325eb154294b37398dbc402e805fb637e742\n\n# tcId = 48\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 8f65cbc7da6bbcaddabc96881f19fc7fcc12f7c37995965904a130c83f94294848ee51ac7e0d631f1c8f5de531297b458850179b41bcad718bff75cd7ec3538bfd4c24a3a66a1923ff803595ff297077a7c46c86e58dbaf8532c79c10c630b9282f36bf1cd10bf944c10d7031da6e70efb61850dfc152dec6f5e046990a1880c6d2f3b737fce1066adb6ac7e83f4f54a8364406c85a3eba4d9d5d3653c2e18fee613dd6d6c3aed29db13eacc0ca6f4c153c7ae623061bcc91f9909592c909b78e3da2a030b885969089957ed8e5d547f613d0f75dfb3a6192d49d5e35482841457bb97153ea1692fea6498bf1530546014eefb1041404b04034184ce1a93f1b1\n\n# tcId = 49\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 0ef30aa40666dc896d83d48f76736806caec90d3e75fc02f61f3d6b2286cc695cf91a4fd58d39cb970c1c1c507431f9401330836d6e98e7d1795ea2afde9adc53da7299325c1b982169f96b11219f1cd987796522148f38a4539420782fa2d7bcb28e836188054420308ab512014c85dbf21acbdc2baa2a2f044de110701c0c42f842d6bd25460067787707b52e1ad14d46a0d815c754cf7939ed10467bdc0de1cec481bc2848dca5a385ba2baebd6b23086ff70eaa6ac2cddfc821f1c989573c749a86ff029faf42a1193a3a23571a9e1321f0b8c24f76c4b6828dd18e0c2bde1a3dfc5d0aa59c676a11c623d06e3d2fc652dab6a980bc4957f3ccbc462ca6e\n\n# tcId = 50\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = b0e67666c17cecdd0ab49ed69aa23b34da30fa6607f0f1be12bb6d5fe480ffc3cc253e97159c4e789019b78d7ad85f197eb91852b03d88610ecf3d63d9e3d69ee2dbdbf8715f0ddf2a0c238dbd83382488acda3cfa51a5f52d060b089354cddcbf76f0bfc74c619988dce3566310c884cf03a4eadd422c8f821865a04a991c64af3c220de643da0bad6a71aaccd87727ef62230c595312e40b1ef12d1b89da7f2c729a94a3c576b750061f150d074ac0518e1c0fa83a015545d56dff6dd5f549a5a471f6b029d2c0aa638e4c797d1dd6aaad0c8e58dccb184b56fe4fbcd7bd43a97e6c1abbe1f44ef0fb0ac79d573e286ef13446b697d2351c00bfe8eb4aeeef\n\n# tcId = 51\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 1d02530bce0236b2b3de8b12d0b6725f703f679b39d28dac0764df224d2bfa712e22bff1b56b9ce565dff215e762c5b2d3e7e5230566ad5eb77a5b1eb10c21be29e525df1e7001a9797340e589d078617937eb24ac0001eb4990cb23e8f7ad00850ab8eb2f289cdce45812ab38b902386327a6480a76429bcea479da842ae8d632ff6a5477a520369e7e40e2b1cd8417c27d6e313621339229033ab24b516fd10c4bdcb39fdcb9556567592d79019954be9622aea1751d73f9745402e945b3d9aef077296722865e2f9dc88d1c1e6ff82e6196f690531474165d8a2546b1a40992b7235bd6706a41d414310e014c091e10a8e6cad578b9e23126166ba2cb2156\n\n# tcId = 52\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 5783c140eec08b80c4b6ab121a106a5eb8b98d10316aaacccdc0a128d6abcd9b69c94256990fa05d747473d39dcb7b7a105c355fa59b88c022900cc2ec0cc0b6d86c498c50f21de8366e497410820f16d21f49ef6c54ce7c83cdb7f6705a65be1c9dcc1ca784933184bdfd2cfdbc0e6849e7db44a14fc02bcda843ef3061a125deadf2ad5e7c64301ecbc8a0bc307c4a92985b3723fceee8343622207a0dcbcf82b3130b6922156c09cbd846a59795", + "a7756ae6c71752f73e740a1199d4428f5bb98b03454944af3553a98890ba5c8ecf63ceae9d2bac536752acd2752e5dd84780974aaa8a1ec2560a04d43a69c480df1c76a64e734b7eab7c148d22b198ff8c\n\n# tcId = 53\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = ac353b1cab78df8b9eec61d5de41f878f246914ab28d983f1b9c837e2d5b85df9bd27f07821e01d149c1e2e6a95d49553d23ee075ed98a75cb5903d7ed474e2102ead177ff584862877cea040714c3cdbe7dc0a7dab28492d7a6d14e1405b8d3f21ce35bf68a1afa46fb0de0c5f9568e3342b30417cd245492869d2264e1c450b0eb22d03aaad0e9eb8f6664e2006dfc044b5c147bbc31c09452d00e154ff8a5c15de66d26cad5efb656b4512f73df85a577fe83efca291c10603ebe79cb3782a79db4456305f259e793300899ec565621aa3700e9d1f328d161aa7d2d511545c3d2f9e3d5dcabd9f45fecc2fe43d6dbf5088362cc1f5193f8d785bd5230c6f4\n\n# tcId = 54\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = b97bbe22841dba4b6d115e4d297de6e2a7eb18b69651b15933d8131f5184566129d84e7e3cd9f9670c1b082afe403e8b2082a66db6178c8511a6a1e944a257ad28b163653455b9c416ab2914378d2bbac4edc5692bbbb5877b98ae7f7aa17f6db1a1a8c110e6addfde8d083a37462b461b842690443d3ca2e14a420fd8e663a2423477b0ba979b4f99be3589527d82158d05f437961e29852efe2bb7c3ea1c60993a70170599858f951249405b596cfae321ae71e29e2380455931c17387820d3cbccb91b6c55c53734af6dd94bfbbfb5faffbb6fba6dee37274bfa0c4e486d143b6a820f4568d67c8917cc05c97235984e1716a856071743efb4b00b461195a\n\n# tcId = 55\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 0d6a1193dcd1fc7e17c72993cbc0d1fa3668496d131cf6e4cd70f9445edb45d228190c0bc05afffa4dc57a8d2abfc68beecc62bbbf0df0bca13101eb0e1a82e62d1f942e718f5849a8b47c9699914bcf6c69807c3288a39cd25429420892d20f9a65be77135921633f21d8f62481bbad628cbce6a5df56ff009ca635dc21c3d64df38382f5aff0397ff7f289b49da3ed1b31c4a25b39f806d8ff18298cffa65e312b663673c7d2a155ab7ecbc70710be28c597a291a2ee0ad695589044be2edcb7f91d08145925fcf3ab354f96717a801ce2d293c6edd89c1df4c9beaebd2ff8e360b1cf95b422729722ee8600939ddfdad24966b867f53be1ebff94e0733d10\n\n# tcId = 56\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 864714bb1336f8b13d8e6cb9c5c9b8523a136f48cb2e284c56f5d2e9f13139deebfe55e9cb132f07d5437bddff75083ee9a912c913372e343d0d4f5b23a19bbc3c4f35fc1408bd2ecbbaefea399c1c217aee2a0a34b9d37af538f01a304689f5b8770b9f30cf7e525179efb333793a2ee89811159e2d16c40f507de9341acdc841d9341a79d1408a6301521b8941e1e71c1d9126144de7e9b6beeec39982bb8d57c62fa8b5274cf3ab0a90fbff7245a30b79e407553fd56c068ca7cece808bd78f866412ea67ee515a4a6469be5bbe96928bae763055b1f327000387240cffb6a9934c9b7289b2101f9c121d456120bdc268b3f490a543246d21194dd3aa8f6c\n\n# tcId = 57\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 9979b2682f0f00ea94c2e937924ea179cee83631f72c72bfedb182495301a15695e6f3046cca149e939284d729870500e639924422b693a1930f296b210b565f2ceb61254fd57e96158044a1c913621f5af9d3a8d593a9899ab5153442140650227817c5737353648ed9dcd137e8b2a8d66ba62b0256082f7d0d7f9c2cd8d457d01edde6be4021ed7cd6334c0d95633042c7da5cb9eee77ca1288e3b698ed435f21bfe1d4a6b62428b4f8f9612fe19bbb6dfb53b4e387c57de60228f46b3c1d951bc1df5ba6d169de2f420c9e2fbc06b4384eb3f3f3f8778696e862d8ed290a2105802a4a2376557406c7a390cfcdcae7ac71c5c8b4036bfe6718f7e258bb636\n\n# tcId = 58\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = c30cdd24a0f73bae9ab20a2ed7dc92b7cd18c7603d05dd14498a6c9a7f3b5e332b6cba1aefce53ba9977c452317a8c5115eeaeb4da93c67d323381935eeba09f1ba8755e935cf6f0ecf0ecb7c54165f2dbb221a0a953795c38694c32e715e87673549f9bd1bda907b7f2b0f9430336b98e621e4fdf5c569ed9c5f1a146db2b1ecb0da9bc53caca8fecaa20a59ccd7a97a5323a90140a248e6ec764b9ab573278b4cdc818f202801678192fa83a01320753848b64d6515746ff99edf5384c8fa5317d3e9a043dfa613403b99e4a05a88310157d02601b940db9ded7121701e27cadbe494fdc855e583c1da47bea02520ecfa8242ea18fc61c922ec29d9d9fe209\n\n# tcId = 59\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 0a3d16f6a90c75c52870a3fd75ad9c7ea68aab871686c058659863c84c732ca8d41a0e890e717502a5abfec94a9190ccc1246157f79079091e5f5b5408e5df84550fd302d1a223e9a227c8957fbe926ff8cc83b4fa4bf3a93826724bc9ce4b81343ee1130bf9b6b04871a394dda363bfe493190f0e0bb8cd63efa6558b5636dfceb98013abdaf77d0bcbb139b5270d16e4c75c1890c3e31a1b665c59117d560782fa4dede708168ad08acc4ac4a72e379f8111b06af6e70d4029eeed637cdcc4804bfb20776942675c85b6ac7f2c9386075940b5aaa03b0df227332288a78ec7e9bb086fae1657a87a456ce78ee1a197222eb52b67c6ae33defb7d1cfcb39fba\n\n# tcId = 60\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 79b10605bb396e0fb0ff055e705957f77a8c178b49e6998665d7a07d25eac2e6450477ec5ad54ec5aac9d2802d14a0fe290b0f577721c595c14770fa9680e623d8e724ee97ee0e486d8219e5e4a5ad6d9d12e35af7ac149685fd30a598a561220d497612193c5262d7df3f1d0b76acb3896d22c29d50f5c51fb9ee279d8deb770124ea9e60635ebeaa2c187831b75d6d73d26c3bb01bb958b6a5b1a8fbb5291e1674ae985d4b5f0e1258a803160ef06469e6ff92d3c67de254680ba245c8c4ef3305e55a498076aa9833fabab887258c757778f7dc85258f75efc588392b74f2aee52f04e975d5815eb6350cbdfe18824231a6a5202d67f2423c4769631dc6cb\n\n# tcId = 61\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 23ff1fbcd4bf817c966cbc4fc9f4c62c948664441fc4259b6693519a95e266a7fb3fc51754905126d74c8c7de562d3526932b85fb81e2bdafea221152b995a904a1f980d6e88f276444ca4dffa1e35ba6942478f31732cc4dc2802eeece0beffa4a637b59b96b6ec0c9bd236d438605a177dd4d3bb2aa195d283e379e365645a172ac6712effd84ddd5b8c6736012b417101f6a5f7f2d5daa9fc58ffca9bc9565ad65821e8154b85e28cc8064f11c646d795efe9ba986420b28d8aea0afe5a11e038b03af78ab14b95e050cbb228cb505b708e56ef73b6a715b37d42af08a10dfd573c4fea47a1ed582901de7c0d71e1d016714f03f59106a9d10b15ede1892b\n\n# tcId = 62\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 42c18c5f195b1993fec4857593728cf00793bb0961f0a924b20f5cd94978acec7c4cb6d4c56dbb07028a8454d1f3b586ba17c2c9f4c6f993d12d315e49f921dc1e81344741273193b89cea722ead9716362069b5fda2dd45f00f646a25d17ead262c9c856cdf8be4b7fa54053ea5647868cc853e0843fd4577086b55502cdcaf7388ea92fe1250f2333cb744f7108251745cfb272e157f346cb2d1463a6c119ae0d6477232b321075bbcc69d5e76c8485d621bc17cea315c53e49036708c7b33d7f65dd851ddd96182b873e9efb2979678e78116d4d85063e3b314649996bc3908d409158221b563a119f4c857fc97d280e7500f0f4f6ce9761d2260189572ed\n\n# tcId = 63\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 8022366a2ecc0f3bedcdfed040048a7b951708d3bd22049be9e7ffeb46da3e2ad1277207b2f84b60bb24d00defbd2b895f3242fe1870a1291ef048a6c164486445729302378b411637073e386b0004321852e448f07620554dce1f75f1965773e20c01d0fa0ce9f51cfb938fb8d356ce3e281675d5e2c5aab46b3b7219d9660fffadf3ebc1f4618d46f54cb03e428e74cae7ff915213194abb0dc016f83b9740a438f6952c6f3e6bf3fc7f124196c34ef4e36cb54baed6a6707078dbf5db2c2941a235cfaf86df2862946e36f4f513160e50dcad2e31106f48619a41ba3a94d2012a87bf21a81dc23002a2c14f216e0f16e57b3cf26419c3cd2d61503936971e\n\n# tcId = 64\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 3c967b1b7453b98ef67694d96e8fc81c91475a6090395d32150f0df1f9492bcaad385cbeee2143f049aa7a7d59c0876859cb9c5197dab9a0ea886cdc58470e252a4c555fd48546db5c8bc425430ae08923b6cadbc48cca2a68167aad493a7070c27c9fece033567a1bc4969c4e6424660c88e1ecd657409d61f881411d29c1de427be1528af02db4defc6be5df7db0c85f8c890d50223ceacbf715b938d9ff2ee8dcbc57f65583bea6e21684cc5bb629408a80a68cbf901d6d05f1814353a458f6ffcac1c49b7f3cef66f52601f65ad4289707d44278694267fc5c43f4f9df765af887f4ce1753ec189553c77ead37d4dbf963f7b73f360db65b417299384dff\n\n# tcId = 65\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 238cbda5396565558992dd9f4e51db93629242f2e8dfb7fec1b1bac8bdafe212b21125b09e782beddcc0122ddfd8463b4d330f2d69875dc560723e58b64f154bfbbad8f8ad3053f0e08108610298396cae35e96e9134d64c4b016a45abaaa10e8d24759727e0f85840f49a99d1ffe9d92561c6d152d1d033fa237f9d23b44ca3eb9c2c353595c4b3bb540a3c7030d64029d97f146a4d5c107cbf1a6a111b8bfeb148882753e3ccddc897cb3231b14650261c9daffe94f4594c43d45533692f0c4445646bc1ab30af8a6c548e2ad3d1fa64c50bfb96542a4c1b04f8a507fe352a3ea1152a3e47f52b520d4064b878d8281a7b3a5528f8bb7353d9c4972323db91\n\n# tcId = 66\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 3f40a7d901d1f36a2052be75191d05e0141e1411ed61ac4556f411ab83be2c0fbd4c537a537944130c0b62993c1a1ac9b1f93684d7d39112652b0d5594ad9abcadd28ecb85e7683959beb069bd22a4252d2cc1ef3ba181567615255873bce46b0b27ab06d881b1917453c8d944c8ca76b3bd2ebac261b9b9585ea7cdd6cd189c4db872f5cfa41c2a48b1f06f9a", + "5ac70edad5edc199766f7113e60b4da1df4486971ee371fe69ba655578eda765cd89436ee74f46a63a65fe2f373aad63e28e1a5c58db169f598a1dc9f638585da41eee8e971a8429becbb4d0bb03788ec6cf1af7102af35ee1cd7b91e3e68763e34e56532e13d133e8cf3f4b647ad697cd4ca3\n\n# tcId = 67\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 2974ef65a46c44f98e9e42db4a90e9896704ae8ed8083e2c8cb3b815b53ecebf381ce8ab71dae4f6a17ed3cd2190655e0f7944d70f61dc602744d0762998661f6e3414caaf5be9e219ce861b9e6cfffdf0453eb586c2ed7245ebca69f145beb5d98b9b41336f25193733e0e36c3982a182e63c3c0bb6beb8b10246f494b01e23ef8b5c2d2307fd5186e9177c8ceeb34b366393ed6b3556ba474d3b07ba137cd3f5c4bb3b614289fc94a4dbe7838d00213d828f505feb1f8163b949002b08da26d4bb0b2ec44a40cb059938bca94029804942bbdd08b975ba8461f4f929179fce2a6e2c15cfd4ff1cfd55a9d03d7bbccd4942bd2141ce3b899c48b8c0f7d3b38d\n\n# tcId = 68\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 53d232f8030be51ed89087fd1adc816d1ee52ee9bf91a7cc43ae1ca4ec613ab3ba4dfe02c4e492167a0de06a2d546022aa288ca4a4ec6db4455d93343d80c57742f598493657a57c62ebe14fff7f7e3218f8296c2b9952bc58652ae81aee9e26450fa8c9f065081f00e3afc50d17b67f85dca8eda25fe3301f9696d2ca7f0fc4f418a479a2202d83a44bb5f7253d941ef9fd2fc1e6c4c42953d7315fe7916fad820e61bc3f1236e72e9b3ce5167027c791fb9179aabcbb08c307b70d69339acecb55840d0b24a8f596dbcf35e474b71c66188adc2e871436feb12b671261235842accadae54d6893dffa5c02a337fbc58ea4d0862f94f4d18bb0df3073a6ea9c\n\n# tcId = 69\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 2688c25cd6d46dec0c961aaa9f80b38320130c0570f7d028a6cfe1dc0646152cdccb77e0171bc13b14a38e152922b780b73e63ada04cb0831904bf952ad15d82922e11cae73624b8be30a8636162288f4fbfc7ad0bff12628a9355ae7e3b329de67c7ea978ee12e2e8b9b98c8ed5967bcdc1b61a979ca746b6a4b2f61b964f8a8253a443c16a960e94e99f6ea07c9388820f95aa3d4f5e7ede3bc7beb385935c96a54e11e94a1928a6e0dfe68af8475b6903cc9191d2ea3fc43eef8dd0a74af3e8f0761d981ebf905c3361eeaee129263e3d587a46adf60747b6ee0da148a4183ae82f569b1098637a55565a17dc7d93d30b232a60fd3fa7534ef1c995395092\n\n# tcId = 70\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 7c4a0234962f20fc3c3402d73a5f01293b6d4066fabf90f2d3221c11d22a415a4c469558833c9573bca8689eb6088ba3ea9e499d6d4deb5106fc9b6e0e0da5d8a39c00cbf455dd81a24cc15ce0cf217385bdbc7603a02967dc1388eeecf15a22431ef7da1cd5d208df946f90a0f1d609e2372b148079bfc3b7c9fbc94819d7847fa73a7aef0c502b3ee0a5d0103aa673add25af6f4ec0dfbca97e720cec8a5af70af732093cc726d72434f7f2ae685c02c4c607fa2f025c7614e164099a27f8aa214c6cd58c524d6402299352f2a83ccc63ff4a2190dc5ecdf407012f2c5c018c4be31382f06ee3aea6a4685cb395680cfebd6576dd07428cff98f6a5389a2ec\n\n# tcId = 71\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 88a2ac7e968f22bc28eef7ec6a825559216e71a51e2b0ce0e66935b33ee0bf3a0f72af9d35b30d6afc9117b8ebb36a1deab61d5e3a1977d32f246918d2d43717b1489059114d3bdfceea25477dec7785b4ebdd230c83e1a7db863b09836be01d005f4cb6e4629bec41d517155410634502d06e5f992ef377cbfc5800f71786a549fae04df96ecd12d0b94857d10f3f631ac2d32a2d18400d12b0039959e725bbaac36245599f71a6f38fb2545d69ff1712e712e3be7ef65df9cac6252c2ab2963d733b503e9f5133ea539ae09c5efb8a1371bf96d617c9ad488be05991ba6e021ba20b900553608c08c67a70e88ba0e2219fd8ca977e8b756dfd5c370a6024a7\n\n# tcId = 72\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 532ce064cb7186e8b373861f34435d417f4073d1a3ae6850e0ac3909faa275b388ddc7ea7682dd2197ae74dececaa1e21bded0510dfe5a73f8bf2e050aa69b8e592487f39624820d7bfacadd92320bf5f8bcf3b170efbd5e78f36a81cf75262de0ecc6f4ba033abe155e563e83cb82f39c4677df3c8c47af2b1db91e36735a5a1483a91ef98ba0d20abc93bbbb1b79fb9cf553e278d2c5542150f1668074eb1ba7e59eeff74d8fd5fd35ec168323d4b886dcf3961e3eeb05d7bc730c01bc139f27683ee8c1356ce05265d18508e2689fbb34a5d6fc26a40094f64b4ac1cadcc3ce9c3c08aeb181f73701325fb77d84b0ff9b0008aa8f68dee76a37c696c4f8ba\n\n# tcId = 73\n# truncated length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 19082cac9c77c7837df434d9df18fbc9da0d3efb02316a2be47099aebf0afaaffb08dadc234653b22f16ee1aaffd67afaea5b8467674e1a359802bcf8fcea32f22b21bb258c4d9c802a8bdbb64b256107bb61c2970a6de9612f781cb6ac8852d6298b3f816904cf444203bd6165ed113ed04b5c6568d37ccbc581246e3138669d463f1c1f837a3ce6e99af0084f360ffc0e73d94e633ff1bc69abe0884b2a548066d9ed5674639d4fd1c5f98252b800c43676850ca3885fa644c69b6fcacdfd7c44dccbc0b2395d65c838a4f4e297926ffeb2ab7beedd912e2ef3e8bf685d7783aee5493ba871aa8d1199f88e8cb039b4f529110cf8f256ad89c7062414df91f\n\n# tcId = 74\n# truncated length of sequence\nmsg = 313233343030\nresult = invalid\nsig = b7a46c2c323fda6047c0efe5819333617dac68c61b047d40b86881aa4c8dbdbc195e981e644ae50ab734657206a97d9c525ed3591c8dbde6c617cb150cce08afd867599df818db9c43a1c85ca89fbef7948bd7e089baa7d030546ef749ba5bd5a414302b1dcfc88a7a0054630f48600e7926d99f8b87460eb214df16dc077236d1239c70db04880e6d6044788f2deb20a4efaa3d8e43d73e63792b55aae9d61a3ac50f6452368cbdc7481dee9a419608ea401523868c8a9a825f858f7918c9ce0e138554ba55551e295323d13c30a01ec160c856efa17711698e4aa8e7457b2bf89a158ed4a0e11ba5972c996a1a9719628f0b5ceb81d415e89f34b916c64647\n\n# tcId = 75\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 743ac2e50adef925fe5d9c1ef79a650b92b156feeb8f2f5b47f3cc46ae90ff97bbae177679e69fc62f8993b45f5c813d4adc853f469a88b487a04920d490b786b1f511fe27c3cac8b6c631101575154bd6faae13a1798bb66a7df0a6344b2ab08bb7edd741c53078bf5cdc2b77806b103b98904db2bd0038d6cd974675b7aad4af88b767c90b709b35dca4865aca0f55e0467f37367f4cf2ef52eb97060bbc80f08d56632276f2049c51f3a6ad95ccd7cc7d2f8f9320a8dc15acd653c29a4eb6e33094cc957bf8b762ab0b6b128ae3c9306b73c59585864149de30ebc0692bd602735a7f0c29a422549346cc06e44c11149b92c31466c3dd4516a725cdee4a75\n\n# tcId = 76\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 247c1089d3c148263fa548007f4416273a6dd21eea760cd6d8422dfa54f607ffb90e825182c4ce897e96de0bc869fe1f96cbabcd9321d5f379215b44c71fbcbd67635babde3061c940e09fafb73d7da345cc01af91edf4a311ef250ce4fdd172657e0c3eb046fcac5f49b0ba149ad8a06dc67c85107bdc064a308330fe5259d50f286dcec2f4ecd6518fa7fc43555dfc8a1692e5392c669d8903fdbb257f7c8f435f872bf4064b35e101a25c6ae7bd7d79ba31519310768272a2153b11d55b4f9cf6ce42584a4204c846cc40ecf9e96fdb428b850607f92f7638270bb93a33ebaf7765c48de75eb11948876d113eb5e265e36745b267f4fd5804519487cdf4f6\n\n# tcId = 77\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 5f739b137b57ec0378976ed71d00279a53a17069df1c6e05eb087d20450bb88097381c8fb50b12cf2e2924c2a863711eb416af40ddffd244f0657e2181061efee132e008c82ce7e8fbcb73b376f334b25ea8a842285e62ac6d1f73a70a6621452dd8d3333d44f89fb63cecd9b229e7b3e289eec8eda9309153da264c48296dcbc3afee796458701494cb6f8d4639bab7726aa5c5258de29d4a1b19a079b6f02fb1f8e38f13ae9def64473264cfac91158a6d003544e5b273a2e229c72ac566f33e0b2843dba1297d33416b93e69f4bef4e887388a44c37d310c14a36f88b2bb73351492fd4a8497aae14f5b8664b0fa9427faf2f7c1b990e1460d01a2cc80adc\n\n# tcId = 78\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = a6b75fd7cf6188859a2afc987d28a42e81ccd095c15197fe71f42f37b60dc7d8dd5f7c1687e7be87156d24eeba8f468f66eec94e7167718f5535d556052fc6ddf61cfa4ae50cd7420670611e6010e4bfc945740240e63f0f6ad18de889e33ec269c56ce541a9f2359257cc313c46d76d1c4e9247927f0f7d4dc96174305980df30ce5026585db1f02e019f793ad590482303ae52b39f821650f0eb66b9d79543e5d9f81d3f1c8a64395065d978d1945b47c9110b54b58eb671b56a7a2502db9fba6ace43953f14480e00ae67ad1e16b1a3889528e3e438078764514322cd3a1723a08ae34b2186e3d38dd54d7e53f1a7be25b680fe15e9f813a47001013da5b1\n\n# tcId = 79\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 667db4f818f537d8b36a441eb01eac4893841c91c6b44be684e7eb6858fd938c350a1450d195384e556e04387e8db2d69f0c9658aee5ea58646e964c4b01b96d08284333d18feecadb613f66ed69b6bdce9150d25a20a5abf4e8212a1099787eedf70292909a3e766a3bccd68567331f7ef6ac798834e2f806595060be19b1908f4c41d7c07bb17840da8a7223feec0e001f36704e87b5b703d9005c6338c1e2baa221ece6037af2653023f022b6a253942cee075899030805b7023fcbebdea43203bf7378f12472e109c7425e5806f586fc9521f7db66bec29a9308008c75868e5afed351691a1a7c607cca6bb711282a9166fa2ca743fbb8a42ff2d72bc83b\n\n# tcId = 80\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 98484856664b3cae4bb563a23f6da8fcef1a168408e58442", + "17af959ddb3f36045655c71f2569abb4b4a104dff68351e7bc9839117a7d4b666a21201e587823b2578d689b249150b82f3ccb2b36d31a4119de66cae8260c86dc553e3cbb8c2f68f8a7ed72a8526174c2f6df4403482d99fc58a52a95988ee3bc61505b14bcdd3e41cff71f29caec8a59d3181625e1e323967120dbb27f566987b66ca0f1b45429e3b363da5e1634ac48d5a7697a06eee3f96f3c1b84f156a1ce7e6898e07647ce62cec7ae30a6370411ccf9425ca28ba68024f8d21ef59e5c44bbbb5a1bbcb86af45b708d4eac46ca5e500b2ca913a5b49b48c7262f8f50576e7147755be488d0\n\n# tcId = 81\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = c1803ea21a43fb4b140650b7d2cda104f0d5a80a385e9b7055c509065d9d671c3f9fb2781ff5ebe5b22ba213ef62d54a43e2250ca4b62cd30b692052e2a7484b26aab40a27ec3c714c733093246f3614792c52b487279df6a693a481033022731fbdcb52c6d6a74b3f2b020df806837a84c2c0cce9d7c6e39f24101069241b7fb432d00015631018a94930ac3ec8c609bc5da81689b20c93435c8dd2edfbb86179c310b83b08747948fe35ba3d06b96d8029ce7609d53795f6e931d5d326ab02a837e839f0f20378a5ccf083f01b39464fa165c8221388391664765dddceb5fd4da58d088be7632f00a889a654d82962d68e078d1379eaa055120dd00b7c9dec\n\n# tcId = 82\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 3894b11225d3ba5f37298149e2f31b7722a69f3d948ff6a1e39cf651f2ceb2bb4557945f90a6353dd9b217c8fe5d07b9383b5a8ab269b488b6d73030dbd4d2699e079a1d29d34088d9e9db18ca3e95895fb89041c2c5efb1df6d4ce270a577d829216a7c085e71546b20c947aa258f8c6dde4f4c92d7d31f39a447dd96858817928d2d73eae1c99618a664ba48aa7b0e757b6cf259eedda2f070ff0ac8604ae9d9fdc347be3f6fc2844f473a5ee849c01d20f8b9d6f346d2bf87f812c901f935fed89f3a0248484a9f21816e10a44f35731bc84f87c4d4d0723fa917b3f87e4f77155af986ca2c3f8a2022fe88db007a07c806c60cfcd75d787799f8b3aae924\n\n# tcId = 83\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 31cb40aa860da5f103541cffdf14388cd82b683183d0bd4f813d6180ab24537b78f048bcc2fb6a27d79a0d641cb78e904d993d119b0bff260f16af03e70a45d3288980593b1ccc39c105790e0759cd0d9350e87c1d12b448fccfa9eb0b84b745480651caea97bead57d1a6a8fc98c97c00b3daed4662dc074665bb724290603c1b668e5aeb401404a6103412088285a436ac96b8860c576b1c5ebb6ea3d0037ea0d0f4e016046a9cf4bb41cc880556d5dcd87c2857da1b62adc97dc424055027d219f4866e673597309989f17f5bebe89e715c14dc8673c07c5f324f4d30b3bc424b908fb7cb3ed4d499b716575a10905c197cfaa5a8f2ad0b7300f2350abb51\n\n# tcId = 84\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 9236f2a93872e266cecea65731a4c8942b2f8397f1a844ad667d178566c92b823c191595fa94220105d53c64fa1b60dee3ae982ba3eb507b99011d402c227853a24f3470133caafbb9d3d09fb45e7ad3060b95f53655e55f3264838df3ab258ce5cdf22170f0bd763092be876fa2728639c9a71382c4e04cd142d468596c91e86fc1608cb37af190c3e5ae63eb5ffa8f73fff11ef4b33770bb57491ef850492caff49d40f51e36f55b1e23489663a4bcc22a5e3f3cdaa2806c649adc288fe5031f2b047efcd777345c7803fd5b7957f8bbd6c3370d074fd7ec06b8298b4fab6a49d565e07daeba504871c853aa9d6393a1d83c2393bcbf7cf65fa0d2bf50c204\n\n# tcId = 85\n# Replacing sequence with NULL\nmsg = 313233343030\nresult = invalid\nsig = 996476326e01ee4b1cc50cf43aeeb6cd5b6ee7d4d9a0ac4fd6177ad1cb7e946f05b1dc4ab363c3160238755f24dfa7b44f5fb5cceb3d7086a8ffcfaeaba0ad6c50a2bf018de4cca5d01d1db2f818c8c5aad4ebfba39c9a2bf72bd734d1a5c9a51a7d5a29cf8a1a7424121704751c23a40f2e7989b24d3e4ba3c55ebc8fc9df13be98ba653cd18f095edcbad10fee9c3d5cb524413c0b30d4eae9b7c3f677d53bd1268f9786e2f03e6f10bef39c9102cefb0d89b51564d109a6506f2d43604b9c57cb2f9f83add3e0bf3eb80a676f5f6171afe9956be3bd3ba1f7c3d10ea1fcee11dd3d67ad6efa62463d6e418219b03854bd38e1193f43b3b0e4a4de46162c97\n\n# tcId = 86\n# Replacing sequence with NULL\nmsg = 313233343030\nresult = invalid\nsig = 2cbe8ec045e8cedae1543a7f3b2f0604a2a94ba7a6fa268c16ec1d84a3980e76f71465d0d214caa0dd8f0148fda5df1e4dcda71c0de219447a7d562f60558418b66f4fe12a5b57a2d0c88251f5a4ddc3349b9b1ae40b41b695bf1ff69fe190c60970d65ca51e3de57cddfb9400eeeaa0f46b5df794b18f0b17959275ac800f57d3c3b7bcac259e6bba5dbfaa68204a15835c72a7c3602347c5fa16c402a37b08bb978395ed03aea43a05f16f2d501d786b7a6d4652ff6446fe16272d59f473333c0aad54787e32bd8a160517404f16aa7817eb6329131c2b2242eb5ffa621a467fa5189c574e63ac3eaff10d27cffcddc2f8fd185ea6ae5e3e64388ad1038443\n\n# tcId = 87\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 54b4355a6ba1d1f036c86c12a495abfb1d005084a55624660ddc919242382249467ab28d6e975a99a6314ba0bd9c0c533999b85d6df9517d95f18dfd47e878aa8d0495ca5a1fe5bee9009468f3b58272511a6d3503c757bfffcdc1a00e0d0ee2ba385e3aab44e91c2830eb232994b304de062da2751ee4d0d3ba9d8fd9a58660800be4e3cac831850816a183d0a7bf5ef07fe15416987d2a9dcc66dea01f620250eeb8adf5ebd4f3e59eb5c9d15701643d8d00b169fbefcd99df2f237f9f2e7a6b464fdb27a808341aaea2167861e442c69f2fc2c8dce3016e7d58e5463fb9b73180839860d7e498e83f2dfc9f593521ee5135f4a24a853b409c942b55be8477\n\n# tcId = 88\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = b2c9d522eab8e949726340434fe91a1934de81f97f8085289c508c99a111b84b1dd0aa2210d29a50f19ca77c2ed1a5adb426682ce9afdb18269a8ccf98b52bda2bfb0a62f7497832521aee1a22d22aab83abeb19ee3d9ec924728d237a88cf18748fa26d53af27935438fb4d6f6a4c43e5ec9462ebeef792df7871e64560dd0fedd94b0ab97f7bfe2816ab208e5cd020a1f5ee490de36087e69c89fc9867fd06610381cfb01184c6b835cc1222ab5a5961fa0dd0a9d7b8d6b7735dd92ed6a15b7694376b62e2cdcbe37cef6268f120d018433329a396a6738260c8e2f34da8bbe19580f1ddb0007198aa2d2d95fb43d96f25b3c46c196d5d26672c30ae830924\n\n# tcId = 89\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 0f9a528468ebd469bc9db21a0edd8dbc568bf0492e18edd1a4a7f28666b839a9e3d3ca2a38b8ef41422c0b40de173e2566e32285461030f0cddca6c73f5f03f67b14c146d52b4d03a83dca365cd603dc5668b5dc2bdfd704e23ced38c1d20ee6189efc2f4749c36009afca5362cfb00e5699d559b1e82a4455bd3bef96ed38df75a9dd1d5786d224657658f048b80232bd17f8e690108d7036349ca26a8b369d3c9355e643d4b6e88b27ab7fdaad0115824fc333185a3102fc39e20355e9845c9684813dad7e2b0be33802aa4b94bfaed0938ab0ab1a7cbe28df74a359d7f301e65bba1a8dda1d8874911f9e81348e92db4f6f3780361da79369c6dc773cf6c3\n\n# tcId = 90\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = b408a5f0124d71e810205f8c8618eaeff99cf5029d2c9c7be90a956467a8f3f6df2298dc784d228911342cd5a1dc52f62a9f8e838c3a60a1426f33892e98f7249f2945723a374901c8e4b21d1de9585ddb0aa55992b1d88e685a088e81d460daf72b04c23e3b2ba24c9155aadad7c737a1b556352621dd7e7b5197e966d8ea7c0c50586faf4182aa94f9051f3dcddb5f67e8751eb8dffa258a52981119670c85eb3b371a5c66d635aacdd810aed9a28b8e3d7a5eda1a4db8a857ef65a9b6e1190328ec09044ac41a38837243b6a380647cdf469d16ab0c7a2612200764b8241b0e984510dbde762f5b0a1efdb56efce24c45d9b778bc3b0bb4efe993c6e5b0cf\n\n# tcId = 91\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 11102d3fbbbcad9b9592df2e16f9ace9d47621a9a3ed195b3231f44ceffabc2285842d125507f2ed86035a06ca7172051c10592275feaedc25e6917fd1a2c176596d6219ae303286bdc4a337a88354e3d75031aa586279b5fcc08f74c7de335cc9261c9d3ddff38e7922471096daa5185a396e4d4b4c2010f4f06912e21fbd26e86b78905e10a3d2577e4ffb82d664fbd8293b28578813177a4bb169ad1fa1a1cf092ed87e8eab86f493e65ea7921fbc7f154642aa05bd14a0ca245892841f2a84c411dc4533a9a4795ef210fb97473e6223b6272ba8d26425471470df33b76ad84dc029281a1c3ca2e666e8901dcec12e78a2a2a5b04dddaa2cf475f5365a30\n\n# tcId = 92\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 1f56d2c5fe55eb054497a5a9d9c58f4c6f814d3bfe1b4fa5020aadabc9d77256f8ff14c2ece6f2434e703fb16adbf48f91bd5e6df505f2d9bde65496a82d6a5d0d7a2b1a1a5725f7cb58d1c2e7bc101a095fe3f59219112bc4c89970197bb7d48d5afd9a08f3b70963a0a766f1d4aa8eca7893c4e7f7f432649faaf740d36dd20210f32f195b2d085c7e294912cc36d35e01dcfce2c12083f5e473cb75f663de533a8b94ff55ef781d06b1d8120894144fc3e4afd3a8de523d902e59137937d53c6c535550b23ae3dd50da50c2cdcb73dd19899333be21c95d6ccefbacadce30c48f31e982bebf55025241c7cb509a02cb4c8572a1f39abcfd9828f57a6c3800\n\n# tcId = 93\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3f4d732558fcf6434d2f80c7debd057da8e47f87b8fb9fe62b3229b5cfa656d5003c3d6c6b3b5db6dc2d348fbfc6df1bc483e9f5ed8a415e1045f17644842b96439c5127155ac226097dbd29c8769da7e485db333ebbb3ee22464c928f42f0a1ee972cff3fad879c542c066d8717bc9159302c4b6c2f5cb944d9b21d8502e9e3de6f6bd20b3febdcf8348e86db72d1a8ea451a4af54ec4e0a854225eb7006cbf7b02b3ed5bc5ec81e511d6eb0513617c1b5b9ac330f408960c68e3a2c04d6c9b953da2c50715d191a10739008056c2412c4ea2d", + "46d6dfb68bc7df711a4d543bea6903c8f67f88a553154b64559beb8adad42fe6686525a2a4c8c15d1f669d394\n\n# tcId = 94\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 615c556ace09f24b725489b29274422524f6e372d385fcacfc44bd82d75ad6f27a9f9378007016617634502691226dcd72aecfec6b839de344d1c53d5bbbf54f93f1d510d0ab9cd1c0d5363e265ed0b7fd9b6de200d4422ede2c65cb225855045f28ea14290435f35cd6e2a4fe59516babd10577c3d690c6f6431a56c1aad768f83098b19b3756a732382089516d3424f23cfe142a199db129c9ce2e61dce822bda75c0dce6f59f7a8e71d43bb0319c373f860f69c5aaa9243e9a52f221430e5315440a6f6a7539c058281309d9e435a31b9fd34f78020f1874c66c7de0f670a31c98bab40415d1a4a4e5ad6249e12f9bad78afd17054576c740673100e71006\n\n# tcId = 95\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 73dc8c7ea062d454b15f18d07539a13d08f29bf7791c3fa626f579f7ec701fdcd89a1facdda4b15d808847c419c184b39b6a4fa54a30f9f5d52878a47453fcc7d0cb504d1cc297b69f62a21db59aded5baaa6c100fd31eb32e02450433dd2c3c6dd7b343653c6d171949f52fc963416700dd83d31f259c5fedf9b1cc1385dfcdbdba2538c20a8aab641a7d5bc96223e038c6f84fc8302afd2c9ffd298d313dad50a5a943256549526e35fe61488acba25568826209048856e65acf3c9e2eabf239f20bb68f2538e0c81059603e1b8c94913365adfbd959d9353d8f653aebd086d123d1bf3687c3f644fe1247ae441b235243c4ba87dbc33f337b1e63b119656c\n\n# tcId = 96\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3d9ed722a84f0fa9dea4187d8f0d51b70dcc754b7f7f951782643da2b7b06769429cb6d9fd0950eba58b0dace0e73dcbaa2c1b8981fc5971bad5f0c858761877b0c0967be0fad4eacf850b296447ee30519aa598159a179299e603cdba8f7de6cef9f9953144f34ef5f8663cd4bae2828bbe085b35e8a099cebbff34d6ca858eb35aad31e1f38bd2724c817ff32bcdb7658955537ce4ba83de10de7f6cf9d4d26a0e06b522e8e47c3a7ef1b7807792f43461975e0304e65c40afe40de7308989024d9958aa7b04657e9dbffe35d9ac69ab46a7e1796bda54af5cc6295535865b6d53235c8779ccec52108cfeeb3752b1a57eb3e81761731339a0af080d128b2d\n\n# tcId = 97\n# dropping value of sequence\nmsg = 313233343030\nresult = invalid\nsig = b32a87df98eb19ba1326fa42c78998fea218b9c50bd5858f474a14b324b34cf42c4116a8eb121e79379defd04c8faa876482d9492a8beb951bac9ca56c4610aceccbd803896437d5b104ee06dc41848ce5f6e79dc0ac71bda6ff2ab411b26cc070a17ef3760e6a415929b23323c488e710761e8cef9031ffea40e518c491c32185730a2af20778681c74f030ba9e3947bd8fd2331c7b4e73387945739645bfd767d7a912fba46bed4355ca211f6eb438c4cd3202021deee48cb88f83eee84a5d4763e18f3ff9607b8fcf11e42186505c9cd731e7f6a7a0dd30df61b8ecbfca1fe0a6d3a1908e6f8aab5bbdc3b02be78fc2636cb5d39614c44060fef9d8c5cc70\n\n# tcId = 98\n# dropping value of sequence\nmsg = 313233343030\nresult = invalid\nsig = b720bfc084fdd3352e066e0597edf19f1faa271cecf4b3d21bd32964862465b66e0291d6f5f87342b9fba6a77cb9262fefffad07889f3ef2d49dceb6779ba8025b05b5aaedbc46a011c819411ac4c4c596f88cd421febafd9549f404b3ed8458303dfe88fe8724a9419965945df23d810c3a2db45f27643eac386570a63d6dd6660802208e9bcb900168802b3d1014ec39416608ecd2e304aed4f1d93ddc6fa1a51d3014ef604c8ee9740ef2bbe546f1b5c307f529f1ac4fb8206bd283e9409af446a4b34937447ff259ac3b9a7702a56c8e8a571fadcfe1b6d55fb7d1e572e6ab641af87565a05eb55fcade48780fb99c6da263ab076149a5d2d4c40a15644a\n\n# tcId = 99\n# using composition for sequence\nmsg = 313233343030\nresult = invalid\nsig = af7d984e678893167aab922ba9f1dea3e67a98bf1ee442c56388ce6455a8cbd69f0cf0a30e21ec67d4bee411577b0700887ca5ce5f2a2b63a026956a6e56676d385b720ad708c9d87fd72a12d2921628f4ea931f3b594ebeb6c26030d7945ff347e7f1b30a0fa9177fe7382dc6247d271015f61f1fb2d15b7477abd4642f64eb5f5bd7adf92ebaa5dabc6714e873a8f93ad13b6ddc61fd92e7167b801410e338ac7ec85838e2f8571be2562d1b56377bf13a8852e15df0ef5f5626d1891988a0210ff2f5436ee9ff526f0dc7cce525d9ca8dbf35e37e17248567b792b1d8d233a2ce4efe589132e58f87e7db6cf86a7614559d90bbb9b10cc4e22b9905ac191f\n\n# tcId = 100\n# using composition for sequence\nmsg = 313233343030\nresult = invalid\nsig = 2deaf754332fee96a5c4954df9cf4df736deded05cb333d4654563c73d3de5629ad8e4ef290ee992874f2757a1e0520cb233201552c4eaa3b81968c3a315235d70e013cf3c2dfa1fad31336d4adb1b4bfb027fe5bfeb6d4a40274920180caf5d4676ca1bf16e0fe3ec48d72f61b7b37f3c5ee04c2dc095ba650e98eeffa7aa78023351087d4ed55d286ef8506ca09a1ac472d44a7b540dc63818298379a0c86a44751ad3f51e511627cadd54cc9a1a5ac8ff4deb552378d94ec22878239109f769eee07cfc70c96f2a601f722e5634356bcb24fdff5db7a1318213491bf2cc37dbaf36afd1436f976612dacac6e15b72f980099b53b89f220474041a16b9a0fe\n\n# tcId = 101\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 574444942db4e74b6ffdef52694dce12f41a4473c8fd68aaf974816102fcbb0ce4153a05b9e11eed421230d313586602beef2d1ec6c74f91fd70eaeedde7ef827d1409649a3a5dfacff49c5bd6aba7236a90cd4371d3f029029a4691b1f2b4ec037c1704c9470f99220ab35bb5b9f9209b05cb90e7e09047c3e2df1c5e020f2ed228f135f49ba8425f4ab40215e05927ef3be0a502642fcd9f2483bcc8a474b46b5211960d0af0cfb591af6d91b906bb13ac5e8e7baf582e086afa9c1df050321ecf473b56f490a25d158c5a7fc9dc515d5c9dec911cb83a4c05b5501e0cdfa444e3cf5f9b632b1492a1a1766f23132829834fafa8c81abcf9e4fe760be7dbc9\n\n# tcId = 102\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 41775fde269f4a630110839a8af5dedd25bca44c7268ae8fc0d5aff838cbc1bae9bfa0948f03c79309b9c0e0c92fc59f4260f57f8483c0a1a014a58542b04e37b235337325c6f5021a4e04b1759a72f6f43434d1f4392c5316d8e69274a1ffcbf18440b4c92b9efc7fa238deae751a6b58c0c4efd5305c3bb63c20f0d782e4ee75e33ef3c7f7df1048eb3b0412bf71915bd372e7792692ecf5c3ee47d71c728cfbbb58f46fadfab99259290f03f9c6b18169e5602afeafb50751f2367af1053b41ac8b1e68107ad466a384c701b5cef71abcf2814bbb5e9088e14205fccd13e1240244c182885df9d32d804af5c34657dfc76f0a27a04d1fda612afd605343da\n\n# tcId = 103\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 0d5a499955e174e55cc4129d72cadd7bb43e416f232502d89113e15b557be64484b7a9414fa854205ffd9c33792f02b13070c5411ed2e808fd0c1d70f4a971f0b9aa34e983cfadcb3f027b76a6c35dfb537d87572cb67e7dd7e246219c62313fab5fca5f021f91b64b3ed75e1c371f101c09cc95afae07c2d257b2bd8b946caf839e88078c98fc21583ba5b205e2fa538d0c7de3f6ab17b352938941f6e65fe5455ecf77bdbde6df263d067004d508a2e32b2dd08d4457bea716bff025b5f32c5e8108b045ceda87fe710fb816c81a00ba26cf6f395da75a4ffdce9f47e712b9197898a6aa53fd8dfb3457cf9e1992c7371d370b6cc8125cc05e738a5dfa35f6\n\n# tcId = 104\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 37066964e4c35b0540c14716c52798189318c20c73d61078281d3a0213a003e60f1b9867f1b9a0b9725d866677f80deefcaa38a3bd795a0bfd00d5853ac1714147fb2d284e1e8b3213acb96f587b16b9fbee57d4aa333929ea3d95d706c0e7dd8a29acefbf70ca2b77f0340a51c5a44b8ab4a8ad9e125ebb3747ec975d0cbc4d093516255195323106d94703347fdab58d3fb8ec879b783ae01be7c778b2773ab4fb71b4922a13d5638407465bf2bb388fa17c5fb8218077904ca3f532c3a692ada8ef261a8fa5fc91119d5b69b8bd737505eb9256399d6eb415d3b9e7b07f46f67d976e38a6ec9f9de5cdcd240640437d20f5ec76dd4c8817e98b6735a2e253\n\n# tcId = 105\n# indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 65f9966b68519da57e9aa0e6e024704df5307a40502ffca09d99826d9317c34781f81afe459f767ce11dde953affecaee68f444ccc7d8751b25129e54a33d6703f69789e76133f818965d6c97257e0e64b8edf88a8275d58637ed00dc6e606a95a0e7b0062f70d1d52bd8e08b790eda4258a16a418cdeee2064f7273dadef468f19a06c3cc3d25dcb47acadafcc3aa4b61705b44eda5b7deed0bc7e42bb0746bbbad0ace8537682b79cc2e8c6f4ec73b1b1ffbe6b5d07e0a4eaddb3759bc4c3d33756614f54159f3751f38828828a1d06adaf4d9fc270c941ab37d3380c16aac4da352cb152b4dcce0a63eee0a84a0eb07f243597c6759aaf91aa623b5b5c266\n\n# tcId = 106\n# indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 24882eaa767b6fc594388da59d578bd83ea15e7c2a239c78ae07098f2ad45737b155a7933b98e02de018da380229b2f4649143a82bf86eb4c8b00dcf6418e00ccd9059fcd5665dbf4c065a90efc9305862913871a7ceac586e25634993f4ddb2af2e95992f95166e0ee610bf0b22397ae5db506db3113838afc59efdf7a30a5f5b42ae339f379b8862ae27067718fef95982408de7cf64ca35c5ff195e39a390e62d4465b4977a7c2f7545026f647007e9483dbc3e5f030ce7883e8e4379defedd5f53616a2cb2daf932a053c087cc559fbc477073db8e9aeaf3708c7605dccbd3b2df68f3c957419ae8354ee01f3671fc27aa17a80795d0b65604af0f477b7a\n\n# tcId = 107\n# indefinite length with truncated delimiter\nmsg = 313233343030\nresult = invalid\nsig = 97fd91d2e281945e46bef3852562724a0fba617ad2282063c182d6979c3dc72989432ab0c3344af047dd81d41fb2abf6a00bc1a63baf1af320bbbf47a00deb2538a3e353cdf0943a6f362da1458729cc24ca55dc20497a9e30c7895c24c7a36c1e8b42786ce17458134a10abb81de6e14e6a349315142238a22b56ec2165b90d73bbccc", + "249b0e1a1db9c05fa190be7228a5ff8ea105a1e1a40dfb27be77188ad83f77d399cd20976ee20e424a324046394c9c837c6912f3d23512376fdf846134398f0b9d6a1a65894fe9e9522248e399d6e787a889ac5431fe3a2ff5c6855f121b37815be35f65a9c724008ce744d3431b761f87cf84e3320e201b6364885ff\n\n# tcId = 108\n# indefinite length with truncated delimiter\nmsg = 313233343030\nresult = invalid\nsig = 5b20dff0b9a6110c8a3b833c72b38d20cc86fab63d9f12a1a46641fa05f45df7cd728e221cc7ef4c59a76bf643918a680afe78253eb840cf563639bde8778fa287717e72f45d3e39d21d07664d8d33c75267d24b6bbfb40ec847aa9f9f45468f014e3d48de25dd735e3c9998dbb0b482b219dac5da971f424d69b98d86f22a35dc65df85f2dcd08c41dbdf65ad53c8210b56c65cd005ba038d33edecebc952ab07582c5e6a4769cf845f254774a7eeeea59aca728029c0f3d07aa44b30a6ddcb17c203f85c732fc24c8d3797d3827d48c40803314b8a9878973335fd827f040d2f716d9d30ca66df6e7b19043dc53a80f05c12e692aa6b3c4d79022788b7e5c5\n\n# tcId = 109\n# indefinite length with additional element\nmsg = 313233343030\nresult = invalid\nsig = 36415113cacc680ea4cae62df22e52e420be4f48219f45a90a66e3f1f023a7f004d828bd0ae923ca927a45cc8e840e635b06019a146ffe81e1bd777f79a5bd23a0953d68f520315f905026c530ddeea6a8b7b62f559e208189ad47e5ad797df5fc019de29667b9ba8ad53661b5ed93d73ab3fa3c13eee7c5e75ea40c9d87c0a45ae065776d781a3d94ef9f5878bda1abe940d23563b84be00efdb5f68671668f44e10d560b412e17280f5be9448d8ff057cc077153625fe5243d5cbd4ee358a56f52bb07f47cc6f4d768543446b4cab1ed1f489263477917178f84670a8f1cfbcea97b94ed951d29209dd70ae905c8d795595c723753c9f6028007c3744fb959\n\n# tcId = 110\n# indefinite length with additional element\nmsg = 313233343030\nresult = invalid\nsig = 883205afeaa96f27231b485c53ead58a9949a375a677a28c13c5e4163d9a9bf40589f198dbac53a58c6f70ed087bcb75780d5160d567d6b77d73747ff7687f6ce708b04197be7fa7c4cd87dbf16d2acb2693fbe75b3b5633cdc0079762129ac6eb7cdf292838648fa2fcbdc4363548f4059f6e96792b98a9a8a0411622dd185c0f65a423fc06d70c931cb288d2f3273d120c8000adebf277b95cbb42d125432ff84be24ff8fbd8992fee51757e9578cfe83ff0b37d4c4fc2856606a820d22d367a1fe47cb3e16954656778df08d1ab8f868639fea43596b45671d06510f5c53ed79ea6c918d015ecedede1f898d626f95fc6bfc5b6d6c81e9ef01faa5b56bffb\n\n# tcId = 111\n# indefinite length with truncated element\nmsg = 313233343030\nresult = invalid\nsig = 3fc36fc628b18cf13fa4c6693ee98105590b96da05c58de44cb14d6ee4f038c76a0b0557c6bb9c4a289e3442154caeb427e9d77abdd2bd3dea4f43db5d9e40d2facdbb61b2348291040b4ca18a4106d3c061a7b3f514602901e3d8680c81ebb52b4d4ada68d43a3a0d4f9d79f34449380254e265ebe0524ec60fc9f760fc4b90bdce7f2a7e74a8ee97ea8f0b5799f17300ae6d4a30cebbbd6edd2a41d8862288b37cac2a7b9e4f5fa3f78ebd761715c36e1e226156c05eb6dd6f9d67284523620bb938d912ca388ba3d9cd24fa354cba42be0c932b00f52e345c8c8e491cce4da3e1e07b9e9f14d84353ce93b27ddea1565d8381aadc051579277624cb3fe7f2\n\n# tcId = 112\n# indefinite length with truncated element\nmsg = 313233343030\nresult = invalid\nsig = 5b2731749c715c394b718a51cfbbca731e651ddaed84471177169fa7afef0fad68b0cf35416a94d912ce1e555b31218a28dcaa1c22f64577c7999bc15ae99b0bb722a84ade8096c49db9965c2a11dd2294809fc7a3437431708e88b7776a2d17df8dcdca1239d11ebec354b80a4f787d1a15aaeb504d9cfb73dcda2b70233a73acd14579c26d8b166e0dc3f4bdd1d6bdebe81f40cc998fb035c1081d80eaa3dec7ccbe3e5b703cf85a038a9327bfbd3c1f260af148b7980c8d5e7a026d3e5bb36789ef554eb245d05a40aad1d0cbaa9e43ba46c1122a1160cc79d44018982b69e09aa34271b42babe3546d1deea236527b49e9895efac1be13117a8719419bda\n\n# tcId = 113\n# indefinite length with garbage\nmsg = 313233343030\nresult = invalid\nsig = 4aecbf74bb2ebd634e398370983c147d012c4bcc697caa4a5485750135263c004acd2218a1610cb17a328d560a6c692bd0ade10a6aba6f348dde36e8a96efb3cbe9d0fd58cebfac5ace26698ab21b6b45fdc1ffb28347f29069907819987d4333af24736f05bf2953f42c8e79bcd4695584807fdba2e184065ccc51b345d064b26bacde9ee2482ca2cc81c47cb3c30a138c8be31af2645bee217310d81516bc64036a109f19307aae3487dd145d1175efea73d03c1d32bed7adc6c740a64e4f4c78e95f3511cdcb9007d212798fd09dbc90e0728381ae885076e4c3c545ebc5b67a939e55588e9ef5e3640daa28517ded7ae0c068e0fef9940b21d871728b31a\n\n# tcId = 114\n# indefinite length with garbage\nmsg = 313233343030\nresult = invalid\nsig = b61d251dfe5c1851ef8739293b0d9af8ab2a482565cdc3b43bba70db7a03a7d8878c372d93943f42674a7678b41ffc9089d9a93c7a8009b57b2fe15fe1d944eec7c307e2f79ca2b3cfe07878cad8b4d1f38baf181583e30d7b1c7189488b7bc82e0e63c2efab91fc8fc40733306ce6b12e0db3c8245324e4250a9a015c221561178e54b615396892415fb0a9783538cd4bdbb37ee19f10f527165cd5452cb1bd2cf81b672451da9540e36d9d32416bac5b9cd8b1af67ac4c12dc0f39cd3b99648a4fe7d9e23b75df6838408225bdcbaccd80964c13c91ba8c25f5a0f822c5d03ae9e0bffd3324028d4688b2625542ef8ff54cbef0cdd1f52f3ffa88326d1659f\n\n# tcId = 115\n# indefinite length with nonempty EOC\nmsg = 313233343030\nresult = invalid\nsig = 326febb57eb76b58ea5a0c873383cd14947f0c39be3338690c6e3d1fed1439278b8ce352b9dae697727037affff53350fb57d4e83347e7aca5a86b0bf4dd2eef88e0f08e0b6800021e310a3abb6d85cb504c7114e5987cd3ce39905b1258a3fb0c7ca1c4fa6f540406a1890866a635dd848919ec55eebfe1917afe3ad47d2ae27177c2a1cff84a7519f17245a462c28ca42fe4980070d6f72b52be443c125db095344b89269c8166468b08ddd52896c0b590ce6f3b4184cbe53496cfe38532b18df4c5ff021339e9425e0608e832b67dba265449de2d052adc077f25831baef3f7cb8ce618aa8eb89fe081a2f57d9d0f3d8a9c2010ae32484955bbc28c452970\n\n# tcId = 116\n# indefinite length with nonempty EOC\nmsg = 313233343030\nresult = invalid\nsig = ae2e46a32caa85e7e75931aeb5f69ef37a0e6e684a59ec058a48a23bdcb1a0c2186570469d7c6369dc8874e14a25f9b68d6e779ff1a1674499fc8602bac5848bd9f0cccbc7e5b2cd138ba6a02770c87ac82c3fcf60e2b124e48d77c04dda8a05053632e25f2dd95a8f7c79f152a746346462275a8c779d515dba6f8563acf7ae08b10efb95ed85be29281291857944fd74bbf85f782701d7e73abe9424756b1281c9ae3cedc38de4906061b983752d481b3fabbe513cc01539c33fec9f3d5e79b20e050dedc5f975c696607ba64d8e623b717d8fffd41b9d28af51aafb2efe268840d886fad2419df9f32b4d493378dd87bbc1199f86438cf74e0a0f7b9885b4\n\n# tcId = 117\n# prepend empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 4dd4bf9a57fc71a32ecb68063a6fcef1aa8ca1209124d87ab0ff1a8eac2fb89270de10f484fc6b385ddcd5c84049df9c85fba998b33d777a6171f87c5e60948fec10ec6eddabefebd69bca0d0dcdfaa2a3ea65e9ccf55f3c5a3c2f3c794522681a9a3283aa1d03c5b23841984b68e9435dc79e1f32e9dc392a0a4657be8832c9de063eefdfb24fffb2ad11ec16c17607f4fe9e526cccd22d5aa72b11bd2d78b7e3606c95e6a5c2edf8648ca7f27fb6a370be52f3487a7e5db564907f7bead76b0abf8f036f3ebb8a1163b277f66f50f253fc0a98a0eb6d16e76ffda6ac67f637c6d56e0fb64ca53fc036e398a6b6b265ae59546e6b987949ad6cb3430f7502dc\n\n# tcId = 118\n# prepend empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 96225b7241ededebd722a0c68a46ca99eb081bd0f55eef0cc4595a0737a59009b7ac19288692be4d594fe166ee35dbc7c34b5c4f8cbbb3ce3b3a10b553b7671932d401bc2b7158266eac9e5e0f0e7ca6bc2d0ec0d6bae86104de02e11dbbbc652acb8f88f3122b3a1054d7dd37c94cee5ea82db3b145ae41c5bb065fb1b8eb6d3a706438a03905c8088bc8b8e5ef3cca9001c833e4883ad7e35fdbe654f4c23580d22d533d7a3938b16f0e3d457c629118b3294e4686ed4c6b703bdec946dabe75a0411a8cfe4877f0d7b71c6662d855bf8bd19c61b57ff4e61d756aec4f1a54dba26c0717f83b87056c7b982766b8c1cb407022d6b6c02762aa2ce02cd3bc9f\n\n# tcId = 119\n# append empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 26a73b76551879a9188213c39fd69f8887e00f5280aebb87f2e6ac6049d938b41ae616971419a7abb81297a250df76d101c111ae581b1104c2c670c865d32081788d9934cab185ef3f82a2b63e4189cd445750c6f0782dbfd7e9cdb37d781be06cc72a14673e1f244fa3095028404090d2954e13e692b0e624d2c5cb663ce468076c08829a3e51e8b0a12632e71193f5c67780db620a2fab9a36f77916b8639bc82a24ad8cee73d15c17fca3443f37fe6f4a84fcf8bb91f0dd9d371b0f390a4dcad4538cb54919da6b1b584b233599f174827fc541811ece4c5860b81d7c75c859cc836cf28bdd66097537f7e847efdc1dcf03bd4cb2284a02aa172beb52a95a\n\n# tcId = 120\n# append empty sequence\nmsg = 313233343030\nresult = invalid\nsig = aaccb6d6e7916330ffe535afe9afe3fa39b37a20008f62168cf34efb4329a31fac1a47f0708846224cd3ab7df38daa71a8441c0b1d133f620258cf00c91858353cb9ad6e6892e241968d9e1005c87ce4811c73059906711a38618ea1a0806893788c6c486fbe46f4e2011fd7c61691d68a18b01f969eefd78498076a458b7679cdd76069d3b17777cecfaf89dcddb3bc7e78631d5be60d90b12138bef2011bce1f6c033750fdbc1366ba1e1283b9513f38445978793889a8621960cf4389235d46831294a5b6e82c6805f373b4b9eb4f0edeb777d2bae6d89de6e7b820b69554e941899b48195ac8bcb37af1aa4e39f0e1ea5b6e62201e0ffc53fc2e1829fcf5\n\n# tcId = 121\n# append garbage with high tag number\nmsg = 313233343030\nresult = invali", + "d\nsig = 6ae270ba3e32ab2bdf1c8fb47028612c5e6436de1bf716ef56dcc4cf4667ef1141797ddb756a829b390f42300541ba5d276ac7e2337a592e9302d02177a797c6ab40b43e8db9657d278bfe83fd8ef06d1cbe9b90eb7cf70e1901b05c59a24c0ae725612fa9878d0c3061812f2e207fd68a2de9a97b571c67c332da5581d5104e3f8e6a2c88d069ff4674e18120bf37879fdb37f702b8e6fff5ff44402187e9e1e11311d8d2f27fbcb8cfdd7ae230c0ce319898c6e33cb9105c47db2698f35f05c2405a8a69e57d581851c69911272554433f735b5742f0dafbeec0151a804e39fbe4c8851fa73efab753914a228ad7e235d95f403d2db4322ed5de3a6bc8fc07\n\n# tcId = 122\n# append garbage with high tag number\nmsg = 313233343030\nresult = invalid\nsig = 288b092c259d269eb8c5e29ab1eaabae77926cd9ae2e700b637673697020b97d5e70d2e45e47c17ee83a194388f01c44a8c5e4606636772784d73553d42dd7e8686c75199ecbe3f3f309cc28072e72b6eca2d3ade1f006f1743f4e88967252b046ff813665be450cbd45c3c996b563ca8f9ccd530d1d61b62b562c8f18976d0e02e33eeddfa8203f7d83001477f4ed1910efb2a26855f5d13a919f3c53c0e4ab97e5f3f67d599df8131afbe974e96d313f7c55e2bdc3dbeb8a97f5090eb7082a25b75deff12f18f7ff486731deb3c43ac847421083cdbeaea633e0e53ec79c95393b9f300a7a721b29792c59f7ad069892e627016f5a73377a012d66336ba8a3\n\n# tcId = 123\n# sequence of sequence\nmsg = 313233343030\nresult = invalid\nsig = 9c95c7d4b8e9bd1719460e08d3ad1842fe43e8397c1605e2e3df9badeb228eba514cd2c5f6a11cba924ec287ab164d41a525de11c8f459829697517d271444b5d1a9735fe0a9cd46c82123caf063a7a2c7eba7ea2ae0e93df04c7f4cab38904ce394d1f12968796c6a744535e2efc6529ab18e747992db7a35c27e556ff0d897f8b1950bd50f333f9f8add8ef1fad5ebdf38cb9aff563b0fe7fbdfed5fc5d63c68060b380f5c792ade7d6c5295c1f25fc75f7207bc3624595669ffb20282d7fcbc3b24b8755740e41bcaf86b974a7aae3cf1a7ed1e7312449240dd80ac1715949b7565ba11c2adf30501bfb0d386b5dc91581fa1df31f5b26c175c7c60fc538c\n\n# tcId = 124\n# sequence of sequence\nmsg = 313233343030\nresult = invalid\nsig = b5609442da89be47095a0d9f5721b3c57382025d020b8fdafc0cd96df60f9e90d8499ea2a2a5c715f3d30f99af925a006634a84ff0ecfef26d959ba774ac9b26180dd3e2dcaed03ebf2922fcc33fbabda261534e5558a403cf0844fe0e715afe7059adf9888668aa9c34bb535d72322db8cad93a0f8607e258bbed3bd711f8188c380fba8367780b06f60874437e4249c869535c2668012684a27b29aa1cc6fc15b5268903227ce9838a437efe5073224fce926e2c8e6334aa1fa057526b566c06f685338692e72ac7613884eed1526928892a849caa3ab798361ae2bde4348b5d09d13c4f5a479a94e4e4f3bc84be2fe0184fdf4fc55494312a4f891e69738c\n\n# tcId = 125\n# truncated sequence: removed last 1 elements\nmsg = 313233343030\nresult = invalid\nsig = 6068cbb745926f80b192d4f5cb2b009b74d4337200ceea82e26bb21a3285de6733123c4dd4e4f47f34a0bd05c310b4d50ec5f54cb9fd13d0cdeac8a31073c01e1fe119474c97b08164c62396fc7e1284e8fe97fd570bab065de8ecbcfb88210d44fdafaea7af0bd26c0017a96ba9152db828c42f895f688d92db2d7a51d966c5ab7810062a913c447f75d4e5052da973588fa49e990bbd88ec2ffc6b571674193b584f50093b424a173c253e7e711d647a190a5a5a7dfc2c3110f11dd83608b0fb7cfcc638ea97727c9b185e28c9f0bcda32a8ec43abba401c519e050b7819c09fe03204aec7216bfd41e389877a33bfd18fc6a08cfa815fedd5f10f4b87f833\n\n# tcId = 126\n# repeating element in sequence\nmsg = 313233343030\nresult = invalid\nsig = 92e22a0b52c4b83d9a0ea055979fe3e19984aec5762a639a51d07de1c298ec855b349ed5e8b28e0f3c583a5893c4243653652f544659ba251a017934c98696879784ddf04b9c3bccf4a06b0715dd6e53f762e9b6dc8022178600d88bdad727d8b3d7e72d967d4e44b5bf3095db626ae06e784c49f24849041dac411a42e20a8ac96ce77c31d82ea17e105530d522978ac1c86c652e90481af20ae5449f934eb00dea92bd1665e47e914391cd32a01ac499277b18975aca6e6cdc0e8773c524d8375ded14a85eed50b957f152079297472f41889a2acb5c510cf9030250d1d4799ff165ecd4f6974f8d5094d272fdf1445c84cf27199b7cd33179a4ad14b73398\n\n# tcId = 127\n# long form encoding of length of oid\nmsg = 313233343030\nresult = invalid\nsig = 10319c5491e381dd49b2aca0627aaea12030206508112a84699894de3b85c78df4c1a10bad009d2b56a4089082e53571c954e83d9eef8067b5aa1da948c6fc91baf7eb9b3b53ba00cb1cc7bd96bcf80fd523f3870f86e8bf1726d27325633eac380b9bf36a4d292229f8c2b6ff86476d95e454d91d92e2d850a90ce372d7ba8633a554c05eea5e6d1d6365129cc7a4c4f41d80e770458d0f4ae43d6833544b1c7e5212d5475cc78f326720a480d7dd22d550cb5145c985df82f4ca6d92915326b344f898f1caad6a7bb125fa371f26ca1a91a69173803a808bc2a79d65ab355d3159185660e4b0193a6dd44ff18548d0da0ef9a3da6a4bdcfca64fb617dbbb63\n\n# tcId = 128\n# length of oid contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 9a8cbf559ab2651631b39b94dde87261d9b4923fac4d4ab7254fbc7c4abd709a07c4cf29ec75b24728e851bc47f99181ca707e42d41677aa4e52e722db548f3b4302bed7cbc7c006643f2562a4d8af7d93e75867b54d263d29aad85f2b282213d8e12e3d52a8e5342f42ee762a310fd18a24886f07827dcc599c2fd85dbb126a91c340ddd4c43aa276d50606fa9850eda9dd13b009da84905dc2f4251ccf387a492f5ad0ec2167c04e8127e9970064008cc10b18dd0105b8bd30fffa700749cb1ada7f9a80f782b8a2153168747a6e86d4bb9179fd9b5ca7767bef629e6bd969ced193f60a1f09efc54023ddc60561c2a8986479b75086cd2d5cbf829bcd1c85\n\n# tcId = 129\n# wrong length of oid\nmsg = 313233343030\nresult = invalid\nsig = 81188dcd73390585f94e326b28c78bff4cfa08820167e63ef40802e2b6561bc73bdd740ea98f9e7196890ef6fa626b836b5d8dd33d93407ad285191881f4b378f2481ccd2e0ab4fc065e0941c4023fef608a7f2c975e39b0f0c48a833cb3defb5015830707c7050c3348a08a3829728736a6b1d0e4d5827461724b985acb9750cdbbbd451b97e660746238c4aff99b4184098fb5ac9cd4d0b398ead157329abee8feba75171e35c04a317c8d41d8b998e0a7ca5403ecba9ba66210c925864a20893f9a06bf9556ced71e1eed0178a7c36cb94d17b170e08e3e72b8fcd0941c4a41521e98e587a0fbefa2700b90bf12c019724a7d20528fb57ddb458eba8a7c1c\n\n# tcId = 130\n# wrong length of oid\nmsg = 313233343030\nresult = invalid\nsig = 0c5a755b16d0391221bae10e19594d3640a6a77cebfa79f478f55933f551b897714578fa5e459339e33405ea4290ed250bad9a4af1e49556ce5e76f7d3cf53d24159bcdfb11785a72a79e839a9e86dd394cdd42a3dd57792217d8075724b7460d311459e475ef93ab9a0000617dcfcd20b6982255c346932e1ca0452cb53df17de7d78876136e661341ab971788ee178ee9b8742f7affa11e63c8802d4b816fe3f52dcdc97343600d3703eb79a3706f888645f43bdc8333853e8b5869dca22a4db046f0decd66b8096776433bcdbdc3499a9609ece7f783d0e317ffcb3d764e8545cf6a12168e6f5560d0e7a7e31540d4ec0c3c9dc26dcfe8cc071be87568441\n\n# tcId = 131\n# uint32 overflow in length of oid\nmsg = 313233343030\nresult = invalid\nsig = 38294610b70d2d81675ee28b6a2a2283dedc976e95ba516b9efa0ccc017e8005056680d389ad287666a383238e9bcbe56ccc2d2acae5310a8accaf85d1048bcbf1ab74b4cbd3a9fd13056bc8e3c429af1b95330799bb9fcaad25b35545696a43f6ccdc3bf60550bd90e9e7592b9997dcdcf7b274dbdf4eb7c0a59b7a2d0b3d50bac5c394b0b60c580eedc6286dce16cf618a2e79d2e504b797914209cc896dd4f1a79354c1dae9c2b260934a2fa22320136fd1070ee272fab398d28c2c7521e4bc741da78a4acbb981383f03f9dc8f7bff26a110ddab72ba03b2cbd1e8e58888b0fc288f1f691cb5c3e5decd4fb656f71eb4f6b389b1f522ad4346927e31b185\n\n# tcId = 132\n# uint64 overflow in length of oid\nmsg = 313233343030\nresult = invalid\nsig = 310abbc3a50d55f557be9a7c8b64130908abb19b82daac9e9ffc00db5f5c701eff529d6cd9c006178f842bbc48c63938e0f6f0a39462f01866e80b6d8c350cbdc6327f7685a392cfa79f14f695278653caa7a2b7ebc7079c4132be18fe45e020bba5e846109ce2f5bc92e1ca70b1ec21f6b1813bea96f0af2c4409c54c2005684b30e8bb5a787e7585caab3a221b918936f74fb74733a8032a8ae471695e776a188ecf9832e1a26442eb8052b1e5ebfe8eda19019c8e727d73a3afe1304c3d6b0b033395286359b478e60dfeeb8481bfd3baf64cb1a2647f6fa55b67c2975868a030084ff60145e2d7b585582d2d3656e24f5809067baa42c0336660c46269ff\n\n# tcId = 133\n# length of oid = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 70cedd06d21f7082d54c91ea46575e484c32473e9d4ad39d14a32239d56da1a8a1b5c61783c0a6d4d0843860b3800dd3958c93c15c15c454284b7c6e12446efccb5b2615a250e5f8f083c9546336e80a47bf0ddf427488a4937b57c269b2ed9828bd71c75ced34f80a3c7e5083462fb197ef2080a013f99bebde6bbf888b0e0c8ee9c68b3460ac68c82ecf1c31fd94f5fa8c6d931a75206921b694b793b0d63a24a569bafc4809d89a633e14671044464352e34eddb2d08ceb29584139065714754912dec831f9d3df34b8d7d3c57879cfebae1a987002d0705a25430bafcb6fafe8b1e5f113098236868f194457ba3e879e087e2999e6f74e2ca7771cdbc66e\n\n# tcId = 134\n# length of oid = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 423b43af069c6cc9ea47d73957dfde488371394e409d4f23ae4d3acfc5397dc328a1df5bdeb2f6bffd46b4da310e29d7a1edd998b76781f31f59705cd76d57236730b9f12366274bb532940d56ff847b38cc8785727b56349554791016bb559b6975551e41cf86b9ef83ff911c1968dbb9417e3d48d0a7605b6b6fbd09625e2d77c083ff5b8752e6a9a181cbdd12fdb636bba0ba9bac3b4b61113c982aaecbf64567009c97fdbca719ea01b2acce11a4711294fd0343a4ef1f50a0ed033303", + "052a0f047e3feb19b0a691958a9392c97aba7fa8411f904e9e873f21224df5e6ae15a29327bf0948fd091b2aa611b40a5394fd29475c6327672d46a1f024809a93\n\n# tcId = 135\n# length of oid = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 7f9b5c22b357cf95f0e3159b06bf2be50ab22f94217538f626f805828d8f154366ca2539e9b8e3355cb289bbef43531ef48b680bec72416e52f850d0c0e72112e6f1811d12a10d50251d8d526e5a11274ebaed0944ff3345903916e19f22a7f25b06005bc78c8713e30d0881cf9e6b510283116ebc44d61341b3fbb4d2bd5849636ac0ea47cb56bee1f6db9c6fb6766304fcb8bae7d58f82560a110c9d1c4d4d8a9eb3a74c9fd535caa86d6b890b2829da5f708388e19d2abbc85987b26e152c7b42ef48d8f79d5ef4337a6f5e19824905bae4b2afd4465d1dabe967a7193e6733056c5c809eb8084126644302ec9f9e672d6cb40f677b0373714fcde4009d05\n\n# tcId = 136\n# length of oid = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 473595c69d05d4776a0cb1186d8b898421123b863ea62b9274a46d488814a7b56e1d94ea2708f34b4deb705bd5df15ba0951a5915d27507bf145bf0a0e40cd2dee33e8c3171463d3db8c0f0efd77238ef463bbd959caf87b283927a304ccbfdc5ecee3e923ed7442afbfebdfd4af8e5d257015f21ea3b5d27fbcac0155238bd86e442e93e91659ead077893a02c32583c48e25784e0e3837bec334337b873b6b6660bdc138d3ea2f41b624116af4cd0ef70eabec4cedf7a3fbd83fa82b2761f1d352fd0770ac3bc00631afc7f5bcc149e7f13de23828cbb804218c000ab31f8cedd59cca89576c7234ff02e3a3ed3102abe1bb8c8e4de1a48192c703e24bcd64\n\n# tcId = 137\n# incorrect length of oid\nmsg = 313233343030\nresult = invalid\nsig = 296c0c4dc1182111feb1f9483872c861de9ef9dc5a0eea97a233379d71b07be1f7f7cc0447b069d871a98d14302c9e54b451f1a060dee8a190d20349eb9e316fb271c8fff3f0125751d3598a14b47c80e49fd772bcdfe08139cde367ad978a642d57142607a1ff367da8993555be75f7e4998030f2c90f7d24979976e5edb547500aa6f350d31b50834c476ca7d679180cf82f32d83489e5246352d39766ce357b83f21bf9233884c178bdacd1b59c084a287208418a5b09f6418720a4253b47d56b041b727b104f4b913156daf797946ce69f6c565aa679a210f300987b12354d2ddfa1d55ee133db4fea872824d40b28d10670a6dd781988cf620c1dc26022\n\n# tcId = 138\n# removing oid\nmsg = 313233343030\nresult = invalid\nsig = 6cce3b4cf07ba332c27e6efec7c1efc60eaf3e021165377a15dcfb6bdf76ab88da2ef3cad44a695d8afabb55e81df29281f85924d265fe18a4ce9b083dc76e070d795378ea95e50ae458d825b824e51fe264b6203e1a17981c69035a3a32eb0d24872a7a9264cf5fe068c1b3b24bd95f2404abe2487683f742a9196187ccf9eb606f5e951f73d614fb99151801794d2f69495cf1350a5369aea41da51de919dad4aefcefd98524b580e63510d6d75b46d4073a3a7d762117489b7e228bcd65dc49082171d54c8e921912f3caf724542a0ee6c0e6602d5c9c9ce5e5ec2797dd77ae8d76a27242a4a349c2f2b87f94584d3f9c470f9a485ffe9aeadeccf6fda97e\n\n# tcId = 139\n# lonely oid tag\nmsg = 313233343030\nresult = invalid\nsig = 085a664ebc3ca8149ab63ff2a46777a05e1b7162cfad4a300f5dd847ee73c33c1142cf485ca957b3c1b3361734a740ab9c4f050e1eec64be03a5d11993de4989a38e7fb9f9c899d8a929981aa1b32c0cbd75299285fcc758d95294687f93f1978e843be1cc5caa76a57603bb3a57fedf4d4066c532cf45f16c57ce0e4a628c3ecf33c0fedc77b670a33b9f71afd59cb725b1b1f0ff894c8c6383788e7604e531b6a02b917f83bf5645626dc8bbbdafb9bd70b7412a440cbe8848c336e0cdc3f94fc9b07a8ea34d50f6ac4a182cdd61bf20e32af5f23a4dbc0ec705670172be1a9a8352facb1a7ff4cc5e021173bf7f5964749f90a234a5589bea721811af8c8f\n\n# tcId = 140\n# appending 0's to oid\nmsg = 313233343030\nresult = invalid\nsig = 7d14a4c74fb25ea6fb4db19b08d8cfc03b9a20bb2cf9f8bbf7441a7c492854b5190688548438913ff506697f46cbc1ae6abee8dbc94a0a6b8e4d905cb98ac717da0fe81a8a8b12781f26e6e2509a6f4fbc283a2c2b938c267e601f4304726d43960ba571c5b8ae4ac1f8d3968ac61620632b72691d0bafada5fcecbdb5aba56bbe524a56187c4dd9655520bc145b8922a0edf4cb10a0285c65ac96bf22da5bf95e4be37860456417f5cbadfecb4730cbe9844b617b1ce1865db20f622b4550632a0d470703c74922967a84e311634f4936c0f6981de8be71ed7eee90bb6008be2fb5f88b5dc10d9f5721f81b1f7515099a8dedec08d61e84a145bbdfc6e5d418\n\n# tcId = 141\n# prepending 0's to oid\nmsg = 313233343030\nresult = invalid\nsig = 8b77e3df0c4988e78be57be796bbec888b40afb6bca4011b396f1fdfb87106a62373fdbdd038bd32fc50f375ee4b97a2f03fc9d866986141e7059a6c9757271db785999051dc71b84a10f15edc8d3b7085ead49c492937192af11dbe80a443407e068354e57ef7bcd436febe436c61140a724387a6e3d67101878aa703394e9054c1c14e01d2fb4fef803871c7e3d4a16787294c76cc5f1721675107f9f15700350fb0df77470832d146e52191abedf817d8165e982c117a40c6acfedd3d3ae075f3840ef07b9c0f281c97c1e41a590356f8ca3434c33c97df9af8fe155da43085e31c0f2c6542a778319b970e416da39fffb3b0c7d8462b219eec0548ace4c6\n\n# tcId = 142\n# appending unused 0's to oid\nmsg = 313233343030\nresult = invalid\nsig = 4748745f6c5bde511685fd4b1c50d41e78da3b3c189f66b48390c7be0e166eec074771bead431b40f4634378f82e1f2f858c77a8292a7cc3d7cdbd5a0ab17ff07bd9abadc7c5fd269d329f1b0ccf4b3e1d16c9df7374502c3b1dba57d45ee9e58bd725d5a62c8c2d62b5332718c2d3d73384f73a89423d56247b518b6515780d3415c0d2c31ae1e7f7300401209a8f837be839b8cadf0d104b1c218a0de3fd16ca74174527bdc37b735861fccdf3b7c2601ebbfd47a6bb8b970cbb53d4af55df8ed99d19605c4db379c80500419692c3e6091354c9b3ba4beff13e7c946ffd128cb5d71172562ea734916e6059d5b9eba540ecfca9495401e6579e0eae3d00f4\n\n# tcId = 143\n# appending null value to oid\nmsg = 313233343030\nresult = invalid\nsig = 53e3142909e9a9c048b7f0f95a0e56424b896db0c7135bfcc23c49e6db250de1884312ce2b144977dde680c20b6652fd1e54eaaa84c673e039c673ea30e0f148b0c73da19f8a75b94e7411cd02a994e7b184e53426763e7c0483fa7be78eac0d4456109081dfe843e07084ba5f96c28c69a21e1468657f15be08e234230251b92ddcb70ef76a163237b85483046450bb9d831fb053cc48af052960120100d3e2bdc02bab4f9e099185a8cd060f8677f3b26617696b9ecb53f84065a21fa41e6695107b13382879fa323c0a9f35594fd40cbb9ff9a3984a78e9a643e88245c57c5372f3d9c300e35785ffd920d7cc9dae26b9cedad6975e492f484b23cbf1de94\n\n# tcId = 144\n# truncated length of oid\nmsg = 313233343030\nresult = invalid\nsig = 602943b9d26af2a741f6bdbe8553a3975830ef5f055391dd8169b061567a3edee3dcab00b2c274f233e0542c040cf01e50326619942048453f04081de1d19394a2db310ca8088d75f2b559ed663734eaa3bc6fa26fb8ca1a08d0739d0a426b29fc25023a9f110f22c04f80cf9a243aa37ca594c539091a2d3460fbd5e91f101f1773129bc489a780cd1049e7c55399bfc996a8e9005d191bfc8a605fc23db5106670b95342c1e4827e1c02b8d92db79960fc23f650366747be30a082f2c7b90cf15574e52633c0605ca459ea864841069f75833a6cfd1be6260c0fc1e4f78fd9420cbde31c4c7f7e76be5ca8bcee000ed44591b160c553ab88e2cf4179ecdf70\n\n# tcId = 145\n# Replacing oid with NULL\nmsg = 313233343030\nresult = invalid\nsig = 456f7c00d31ad1ec7cb488711a9a4224c5d66b15c9b9a521ea316b94f2341561aa5d4955db7feac3bcbe4347ccfec2ae34ba7779c68e502d4ca9963311b48d3839510c16b5581b69eaf3c83b2430adf6ed6cb2cc5860a7cbfc063879b9913c94d08418cb3d9215090feae09aee52bb0fc24a515f2c7c6c380acf9d027f615ec48704f616bf0ebd7230c0b7d31231a919cf27e1fc7a4f36abd93dc133ab75e9ffd7a655eba1d0bd07a4f5308e047eb421a14908a693394c8eca91e93528f992816bf44b318e821eba1e4bae64c02ac588528b366bf1ee1e9c93d3341a3946f49e98e14b55ba8a5d120708c712b983319cfd8793e19c5608c9a8c511246b376cd8\n\n# tcId = 146\n# changing tag value of oid\nmsg = 313233343030\nresult = invalid\nsig = 1d3b8c10515753856261581ef9035a9799fc1adec7296dee7be49a3cd08ee9fe2db6addc5e3c5fc5dea8771f54b1e334a5364f1d3560f2dfd7d88b9ad4670e498282c8fd10f9ebf6ffdf7e3d01e467128c4da0536729169e4583ac6aa472cb4171d3448140299ad69bb8b7276a1f10e85f3ecd66f0cd94b850ac77445d75efeca7bb7e341623e447c3bf86da2f81afacb561b2c0939db30b313a302c52f8bea43b8a85c038d3343e7cf58751dfe19bad35cccf6263bb8f94ba81cd21885ccac5908f65d4b8eda969faeedeecc54c71698f3063738d7b107573876b1a25eee270cd10b44ada6471996dc2c09e95cd39cd2934a3d72f18da461e8a1d0b1773b419\n\n# tcId = 147\n# changing tag value of oid\nmsg = 313233343030\nresult = invalid\nsig = 2680b2a4052b86c8ccddad39e73b127b13456dcd53e7794dd42f15c5764084f0d95ecd4aed1495df89988e0de4420413a9ac9da93c9bfe4992c88c480b91d3c4e5d560dca5ea9460cffdc4f89e6e27c44e760ab7893a38392197b762340a16d8b14a96536b1115656161a77c528bae274bd3a40786895be5bee47fcc2bc284e8813c40b3ab250ccc6f85cc1625cdebf1e7854b448843f7e878489c8965c7f3ff4f44110cae9eb124b4544b1cb64dafab668d0473734bca208ccde0aa94befb5ae7ca50ebd42e66bee587435912b439ee75264f60c5082c2060022be69db6d3c0fa6d4d10097d1cd6a4029e5c927e023fac65631091e6d9443afcb79b85474c9d\n\n# tcId = 148\n# changing tag value of oid\nmsg = 313233343030\nresult = invalid\nsig = 46333e5ce80dac1d8b3ea04eca470613f7411581c712693852de4b8f2879a9d99777a6c2bbfdd04be775e4ea89c181c94fed707d99350c967d0834350ced2ca3783e975672ae7ac395f39b9f8f3060a9ad88c25b81ce182d9ca1b095e34992612a38aebfb43d94a8f308a2c228c5edf1bb1b7c99a242064240826968b53", + "e357dc46f46780a7c770047f905e82b22c0a626da2631a08367905243ab7eb506f915e8351483575132c059b43c079b05f0a24ccd81547801b5e7a9c377fa34343c509be5b7a243e9b47c4ec824bdb9481407a8d251c79e1f046a2f5356bbe08d4c1bb87dc92361d5a81cfd7a914f0d472bfc3ca1763e89d0be797338c09d6563d556\n\n# tcId = 149\n# changing tag value of oid\nmsg = 313233343030\nresult = invalid\nsig = 7f99343e2ab569fab355972825a87080b57746e6b810b07e564f15aa2981c91932bf39108cff2538bcd869e33854ee3479f3fa654b2b93140fe69df27ac661970df9661c6ba3ffdedb3597ddaaef59fa2d1dcb41651fbcdfcc3bc9928fe0648640722e134200aeb04521ed6128d7790844331afea369b532834216a9a1a6e4750b24390f39e091ccec7e17cd8ebcff83ce9175df2538107ce86db0ae5b44163e3ca4d7520e7e5a0af5fdb3c43c2977dd6a09d2523d72f61f4184ead70d6578f0dada65f28c5f04a4b16148d6b2a6c0c06ae9372bbd68ae011923e6835ecd5c9195cea1eb5ba30020f11d80202f9fe6f615caee33b18c0ebfbc98d6143f8f2d34\n\n# tcId = 150\n# changing tag value of oid\nmsg = 313233343030\nresult = invalid\nsig = 40f5ccce4f70ba22ee1471ad394e351c4dc0095dca9ce9242215aac8784adb6e7cc353846487a9260eb1d01912ec858a1319f085ee48617573f1477e3dc9e1ebfbb7f8369f17da625d2c291bfa5f4d5e595cc5f0b51d835cbb295e22730e76459326de7be7fc8914558092d7a91de466e2f31a77b16ce00bcfde4d8d9d160b5f8c9987fe792da98e356587d574472dcb15fbe6286b1813caf5258d98739387bbb3ae59272d59f997588e693865c3109c1b43de8fa52e43a44087692fc263d0ed4d6e72f3c1febb529ece3897153bd8f67a9ad2a8bfec0de6db4d3e7f294a3dc8de22b78b4c5e82e36e9d641951de5c1c83b86368f92e5429afe3f2478ae7171c\n\n# tcId = 151\n# dropping value of oid\nmsg = 313233343030\nresult = invalid\nsig = 203b76f479e7f4910b519e1a6b8cc4c113ce838fc09fcbd9e03266e1e3e69264c622af09562ca6c985819ece0df48fe6faa580dae52fff36c052cfeeda7d7d0cfeb2eaaff7fe6b015b82e605ca2f75fc13327db5a99e89a96a7c09e79f73dd3a0f1a14a19ce248698f12d48162c4008c253dd6932e9d95ef9fc0de06ac3cdebdfb71301097578afa68a783ee902c7673d72cf4163a13c665a7d73160db15ea239d645150ae8dcedb7b0f1e4566639eede7e3953fb3fb23568cbbff07f0958ebcc5417a04f6c35cf853ba0079820d22fcb14c33ec5a59fc48430b1e92d4cbd948b17675621a092a9e01e05006d6ed74f1bce336f705a02b804a4a7811e2d0bdac\n\n# tcId = 152\n# using composition for oid\nmsg = 313233343030\nresult = invalid\nsig = 010cab7807bcaf7a5e9e0d82184c24af79c838663a8a6c5547e5ee77e9b433c2b4b4124a863ec745fc46612b54a30653063142ee1bd5849a558d518389a0bc0e920e16482a15d2c2eb2f531f8b3708ede3f4a582674d45050c1b2f65ace1692f346cf38d3ad1a2db602509d0127fe52a2a9fd2fba7af62ec69d57dca87da17f70cb4af4671d8b4605acfddd95bb49b23e379f3581d848280d1b4c363842d1875e80a9aded043b66e636e0d45e58a7a3c4d3d046c13d2db0158d52fec634c5483f3e864988f80200818f80916d787983851ad3de9f0d2fcd063263e3ff2970e6fac058ed5e91fa99bb81edf1dd1e9dd704cf8f394989337b748c5adc304614904\n\n# tcId = 153\n# modify first byte of oid\nmsg = 313233343030\nresult = invalid\nsig = 5af633ac970bcabc50e4202dd2fd0fed1099fe9d0d0fb3517ed92703bcf6527c827f7e2ff71f0804cbd369788562b7ec3c00450e86c95e03519f3489730091257670c3a785ff4729e40412f9cc7c4f2e42a5deed3f5bae02c929491e4df1e1996b56d8a67f2c29af70ac56c87801eb9ba4bf43d353bf4b41b3bdf9ea9e0e08eab61cea2deb9c9bdb3750afe1ab303393569249a024f1fa2c60e7913ab124dbc9dec67b900ab1035091c75fceb6d45e498144b2441b96fd0db1c84cc1d155517c5bc7cab8ef4e4d76369ccf7c2ea7e686df05039611fa6856760c56457f3ff7c7a6d218ce6b18938ad2d2cd9b48e82e7fbfb3fc9718b00f22617a8090850de678\n\n# tcId = 154\n# modify last byte of oid\nmsg = 313233343030\nresult = invalid\nsig = 3844c68a3e1721d699de35121c738cd857f1fb64e94594f4e96991a3697b261fbac9977c17385502b7ac536a34031eb77d7035cb5849c501e92c9b3f24350b7089b0df15e8daaa4bf48343ce5fb66bdbb0b1ba5489ee8b04edc996293f258a130c516b00f4cc8d0c4d96794b48d7782cc4579b2502ab1a692a5db2129efd382f2aabb26b7bc845303b9a6898dca5f78b2b981d8f01fe4fe8401f672682b1bb7edb80b8c4e3ef9bb645777bbf3aaf75f4e868f88d66aabb4a0f4fb3d6abca7378689dc6b2fce7832f77a27400a56050d2d84b38d866db2c34264236190455cc6e6b6fddad1afc7515f0f5d501af63732c34fdc8ecb921db54f01a248fce06acc6\n\n# tcId = 155\n# truncated oid\nmsg = 313233343030\nresult = invalid\nsig = 09ee17a7a33ec5483b434de0ab4ad614648c1de9527a436ce118d052697698ff21f096c4d87fb96f579eb099ed52df93de4e6a0f077c8d027d89c51412d56986253cbfdea175fd656f19d345bf0507e825b91b81536e51e73a569d6174a5e2409f213d0dabc090593572ceea2b98ff53d4be9f3f8e560960a60e166da56af88a24f62913699ea8fa68947d51cf543fc86df81454ced19bb72044106f51515d9b3e8972bef606fe17dd2afbdb198ef147b29f2ba332135b373d55bdc08fe78946c4e9b587c99d45ca54020942f79cb7b3f0fc794d66af07a72961ae3ba3b56b982da0ffea0db4028fc21baf50464b37630885d621a8ae17d9e6f44b3ebda04b73\n\n# tcId = 156\n# truncated oid\nmsg = 313233343030\nresult = invalid\nsig = 068b437649eaef8cce780c2c6295598b1a55f0eb903a2069aae7c5697eb1a643cda83e2691970f69b7ee9fa1d129eb82097d9d01d7ff7bad9580559f18811d9b9ea0dcc62d16757c73e1d3219b58c276c5d1a887adf6f3826c333c5e42887551f49d08f6bc95681f835ce520d2fcb3e043c1810eeb721706e46fb57e50da5c15bc03bd6ef40b2651c1bc5a55554be3945f485f699c3c27cfb953d3288256d663d9b1075cb473fa9c70862f35f78e19e1799ab19e4098e460d31cb51f87e32ecf5419ea4cb2677123130d8497dc7c03c8a5033b19d5c9b7b5608088a700cea65dad9955e97559a7e55809ee6acd22d7c291bc823920ee1aedaebf02d72845decf\n\n# tcId = 157\n# wrong oid\nmsg = 313233343030\nresult = invalid\nsig = 8730b927f2540ef947089c056ef194b7b119779e4f7b03fbb85e3830de65827da21d01591659c62e79b998b680ab33dcb64c366a8e0744f097fcb72289173cab08ce7410c025615352dcbfaf36c9f97fb7b372a73c6a93131d7b6a570a17214a691888ffadd5dc71659417a56722291b28b47a6ad418a3501eb3566f632b48728fad399a8dd2547eadb6d271a148e3691b2e8ec3122400f8bd40b0ecb4bff496aeb782bfce28d779f6b4f05d2355189c4e02de3a8b55e6180343888c45cd2afadfa882519f13019677e489294592f5c555a2f9de1510c08a1ad9727a1182ed5e1e8c1aa2903f6ad3f638f94fe1a26d2085aeb11e9f246dd2eb5702cdeca3c20e\n\n# tcId = 158\n# wrong oid\nmsg = 313233343030\nresult = invalid\nsig = 29faf94760d009cd2a16a2ff1d13f415ac85ae4d41af4e13201312c93871c9668c00bd4c5d07841952725897efaec6783a188637d71e8ac8e762d12811c5dc108e8b7c10e4319331b855b041523783353435656e009e60f81a4ebfc900454b4a4d3e21fb4b4c82effa12133e58962a2a4320b6ffc9ece361c0bd4c49990209902633ecc271185127fe765c9c41b4b569220ad5de85b547c762cea9fbf24f92ff44002cefb25fd08bc0425192f332b568711c73f6fe9e87c577792ada529454a044a89783446fd007e18256e289756c60b781250b71a8876ca78404eeed93cd1dd36bf1c61a796195a8be395d59d05e2b2da685022760f6b46f11a9b86baa0490\n\n# tcId = 159\n# longer oid\nmsg = 313233343030\nresult = invalid\nsig = a5f8a56a3a951bdfa388a92b70967c1c25aa7c2118e947a422c910f1f48f074f6202f8646020ab6cb3f06f336b0f70919d6253350f57d5d42f364bae61325c3f829ab0c9f99a649662cbf499ae5aabff354fc0eee24f2ed5f1e848075989ee3b348295fff034cb5b6de442dad151d4f06987ae37bccb59c15fd8e37624bf42322bbfcb9ad404960891a6aef5fbe64f66ccdff912be804b4c48e1c8ef92dd1082cb135741935fc71e73f3b8eb27750e1dbfa4b150dbd9d67ced4f0e0a5a49f12d0015ab85e1045119b3487c5969127c7d08a29d68dfe42ce8ab9d778befb9a97542eca9ec683f18f51357c29aed99450f7a53874ed81ad9af278289271ed9a388\n\n# tcId = 160\n# oid with modified node\nmsg = 313233343030\nresult = invalid\nsig = 139fde943a7adf892972c167bea8bc037428b6bf38f52455004c3ba4de05b9c8a96b3d5015e91a9a1fe7b3a16714b4b0529772266c3ad8c12064ffc9376b571b4cd509cf9d4137eef35153e0fea58e4d5bccfb0b6da8c8c821094e2c0a16547925225470aba64d7cb08172fb090749415f24ec4f95870343944908eca76b7c516c7b3ded202c617d1ef5aad06e97b7f46dafa3dc8b117770d56a0259bd2b7384373cbc2c2ce6d85d16022e93148096021e209deb88b288a7c6302561e4d3e94b42f6dfa888f30de3e977822b586b0a04e804360f271a5d12de773fddac5361d77a22566ce271851a9dd726bc917a38d8fe754f24d275df0054445af197be7f78\n\n# tcId = 161\n# oid with modified node\nmsg = 313233343030\nresult = invalid\nsig = afb195571256e9e37c1d876e232cb1b4b3130d84c1803d4e01bef844352049fd166f5ae9b561d5dbb2b26c76f0e2744f6a6c41d04ca3937860f0552cea49c5f34f6463894ec206bc52be3e402361e12673ff37dde42527a6d3b62f47a09cf8cc9ba1075309cf748e263ac2c18eb0f78e3310625d3891ac8bb45d95378c9960bc92e20d0ab8a600707f70507d2566a200638e09616bc35b4e20f9c0bd93ec686bb9c0020223f4e3d1cc11a117cd311ec341d2c40b81680b52cf9f62b7721e0d0a2b1e0c54477146d0f6d1b0091a9ed1d60ca33dd6318adc9104cbb7b507a573d76661a95ead875caca5e4ab4781f4e18d3b5a10e02cdb62a1752db4e6870690e4\n\n# tcId = 162\n# large integer in oid\nmsg = 313233343030\nresult = invalid\nsig = 86561c6b04582ea648efea4ddb8da8f973a78852083bf28d1955e88bba763377aec7816f757b6fe749ce5faead5220d98e50e8e716e65e9b89a3ec79bed65385c3664dd029af77bb9a24675a08d7a402646705781983e1", + "11ecf81251941e5627c6bcdd58b8a921f546b4fe6eb8bcf1ae8475a39320027ad96789e92f64a860dedf808bad796304fe6a75cddd9a2b63778fea536cb6d25cddad790514a989a04acfa6e0fcaccf146b40a5b424f29e8448bade4d83fb838f68c85be78a75dbe800eda6d689aafba209504ce4f46044371e4780269d276d54f5dad4d8d64681c22ca36097b36ad0ddef6706ce6707f435bedd3ce2a07d4c3a154febe7577ac298b9\n\n# tcId = 163\n# oid with invalid node\nmsg = 313233343030\nresult = invalid\nsig = 6ff8a2c2834f021df94565bfc7b3c7847550b3af7488abf85f0cb09c56e0454cc62f3f2254bec19257fbcb833966e652eaa55750f963bf1e8f3fa53643956447773a9024392b5ac8a744ded9543d334e4c35a402fee22e38853bcf79542d750860454a8b865f8da470b7c000da5fcaee580f1f0919fabfdfbf852850631ea7d5d7077612f4037834e337b5e2ce875a2a0b51d42bec41632c1d992801683ae5cc75a2eec632d56d0b3d3e2147c1b0909e5d6b78a2e0bec0f8bb5542158e6fb0bc183a99284a2bfb61777519911b77e65f80be62e55feea2d59e2ea04a934b10c6f74228a75c7d0c951c37bc073e9045a32220f68731f023672ba5fc907800b197\n\n# tcId = 164\n# oid with invalid node\nmsg = 313233343030\nresult = invalid\nsig = 1fba2604adaf2f7cf9c0d4739b3677b1d8a00d4d7cd02519714e9c12881719853427c79e6f10f385c041d442a30897a917826d0a6b9004d559f6ebd119ae6c77ca17f710b963b7aadbf4e0db885de2cca48de8297a64541961ce1fcc0429fe213a0e9e6c59a39837e41dcd7b4ffffebee4736360947ae22eef06abba920791fe64e0b1eb7339946e6ac2aaae405efa0ac8146afefdc398f45319f332fefa03266de3256b6b50c3e6af4d89bcbdaa89b556905931f9bb3315893c4a6ad8548cbd6cf92c633b15c07871a2d8b48352eb1fc6637dbbd19164ef9f2b144a1ea3b53044e9d3d5c9534af7831c141443e32adb9e3db4468546437b5984bcbeb8fef671\n\n# tcId = 165\n# long form encoding of length of null\nmsg = 313233343030\nresult = invalid\nsig = 94ef725bc9d4374eae7758aee84e38ef98540d807dffc5de49aa12003f851e18fe3ac23405fd594212687be5ac3e515160ca540cccc3ad7cbdf7cb7e0e8f32466e572e99c46395383ea5588a8bbba46b5fdfa29e2badf8ef536f43c2e72cbf54c779f22ba880e41acdab922a19fb429a1520fa0f4f3c22b911bf7263c424a08aaca49571592b364814fbb5087dc03f52897217b6914609846942bf2566a86cab01b53512b05bff59e74eba5cba66ab47f1d1405b5688e9fd138ab8121804dff9a3f4677493bb9da31e545f69c51d17d1fd447ae2efdd73609d712d80a2a7d26dac168066d6d6f0255cb87589d2240f2ece3787bd122cf2e29999ad35fd6bdabd\n\n# tcId = 166\n# length of null contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 1e4874b647c48c3328ff47f4e3fd939a105dfd1913236958acfa88e63e4f9bf7e67a171b3c4b67f192092b29443650185281a5dcbdbc6f08530e7ad39a5de2920b9e089a969678841cdf311e2e90f1ce5aeded74ddab79961ea35072016f977b278372cb60d79c0cb84b3c255ac0b9e9dd14c49449067785fed408fca8bc98be54fb3c95e898f3c47b752dd20b067415d055bc175a173eb13b2c513adaf139903c71b13f1b56d381aabbdb6f985eb19bf670124d7f8ddcde05219648f55e203ec1528e2edb7b35022fdaef522001afb9312ae8dec3334b2160b761507f24ca044e79fbcedd5fd7903e2a168c4ac85bfed5f3e6877da3a6b4a604cf389729eedd\n\n# tcId = 167\n# wrong length of null\nmsg = 313233343030\nresult = invalid\nsig = 2840188f2742520ddbdd97a24eea63070050d3c9ee536eaee95233b66f5efe55ef4d8a318e460c4614310f00cd25fe2f154f67734556495ec15d2e2ea285aa22d9cd0711033c6db7aa84a24650674ec018cef326fcfc0f632012c4bd6d4930352712162dcd143754e7012c458ae29dde4fdc8f25486833a1a97991883f6f4cb94909768c0b80c2c705dedc6dfb244c465ee90dbfbc821592973b978f723200074ae4691f8f06c3add26e630a1b793f98e27a2f7edc48d043e1962de29b648067872da627967b0327d386f76af93d9c0d84ca89b9d567a845dea4de00accbaa11ddd4668a4f912a1b15666ef0f7604fb0b995a2a78660d8e52da06125335dfdc2\n\n# tcId = 168\n# uint32 overflow in length of null\nmsg = 313233343030\nresult = invalid\nsig = 18610e0b455000de3a8c413af0dacfa8928be8844ba29f84235c0668c35b109f1b415b2e3c5ffac1195a9beef33a24821361741ef9669d626a8b76422e26380787af06cc36bcc7a39fd3ab5e8524f310c6530eba3c888eba5a3efa7e519e849cbfb2ce04b5a052f2b7b25784db1b84cea4a0871f58e766b3c93f122613a5486969c88fc20f5e70f55aca0f926cef4a2156cfa1192ce8d025347eb2d48658c7b6ed1f6c6faacc6be630f2f9f73e0258d63cfa489d81648915c20b1d45a8971a3d8a8888f95d7e745b207af923570a9a98e40aa97e1ddd8ece69c22c177b5c67e20b942a6e100142d539ebba5ebb814a376b0de24636cfe6ee19bfc95d1bacf6ea\n\n# tcId = 169\n# uint64 overflow in length of null\nmsg = 313233343030\nresult = invalid\nsig = 8f63e0cba1bfb93d25bab5873bfbca0f33a78cd5291a7634745e1a9260748b8daf0273225c0549dac01dfcc0a4937d360ec408901a54cc0a2c83bacdc18dd900a24994aa43c208b2067157ee3b04d089a76ba51afb829053b4d63d0b48bd1a96d0a705f8d9c3161a18581e53ad2c534d16723892230bee71cd5e6e05466c4a32bfdd3d62519d54e318b0d99946f04155ff172c2f066b54fb2965a90e129b615af617590c9d418697ac989f1f64468af5e5138df34f6e0190c549edf38f2383aeb08ee2ec697428a0ced1f5299c3e64eaefc507a72d7e32011c4ef56a3157f4d2ee72eb870ba77ce6d688443e0577ca8b9e768e8d7bd965ce894e506617935c3a\n\n# tcId = 170\n# length of null = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = b7875711a6985e2dbab6e3cc7df4629c99abdda3182a4c7f4b86867a71c929401ee9946e158a1ceeea97882acfe445fa90bdbb1bcdeb28eaa94791297b72e7640009299842e50015fe5cdc1cbb291e54c4aec98de74a012df737192985a89f3d3c8054a4bf5898fe9af8ce3d3b1afd21058929113358dee5908d598e0b531925dd8ccd03d1e0d885c3aa34e357a85abdfcde58893ed59b862dc6c98a35537c040ec6bf7d7af0654c50a3280af8bd48a49ab6ab7ce3000830508017576bd999adbcfce47d46fe6d2702528b73adfea2d7741b082af7b8bc4238a87fb263537d0cccf0cf93401915d7c570cb29394fe98878c07e983d5281a54bd27a097e065c39\n\n# tcId = 171\n# length of null = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 5374a6b65ae6b7903d5c0d06ccbecc1e4cafc0fc854ab3d58e0a897ff7c65c859e808c17e154f1a8fe19ee7ecf19be910d6baff0d0a2dee05e049a07efa2dcab6cd429bb896655f36566073d576c2ee0829e5134cfda43e836d085c40f51690cc843c32831d37d3388aefd78a1cc2cb86853cb3ae4a92d86cc2acff509410d90a193d74630fc690156dcd4395a26047ee9c3f53b49ec5419d52911f2f89a53582b91618de91c23fdc665e3d5df7bea5c0ac4a84cc07aada130bf13c0be73552f9c9e40383e5d03d35f27e90cd3c615b55aeb0ad0ea3b230e336bf06cc785e11138b3d24e3ea40153c56734bd2fc8aa4236ac3f2e4b166b45280222bf444fa9a3\n\n# tcId = 172\n# length of null = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 57c8ca1d0e8daba503da489edc7ec8b331e1088090142947cf10039da674933c33fbd7531f9998a67f4e6bc9d1a87e07a1a86ba821242d3a01f4755bff8130c4ffcb44e285cb72d38f729a1fc71e1df6aee5ceb9ce83cd1f635c201ccd0e7f975d4a4b0154fb2badb7b170832fafc9023ac74497fbd0e70009b55f79482a174573a811bf46a774d63ff3fd9ba22d82ad6e46761e9ee3b87f2bba58d76a26f03b4d5ab6884dbe5b51475fcbc2dd160f6f9b86d54b6f5322445ff8022c3d5a78dbc97a364842faf3e3be6b02faacaf22ee98e0aabdb1fc1e9c546d0978bd59f9062101b0d86c93e095b2b080067ca1cb2940a2271a6e738af88a2b9c92553512ac\n\n# tcId = 173\n# length of null = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 5969bfdee65abe62a8cfc7f57efb08aa243fa3c4c4a35b62fa4bbcc3ab9aa45021ede863929644635bfa45ac7e73470bbac2a51b00f496f42bce087193503358eb285f4f45953b903858f1867870156f99b83c5b4a77a799dbbecc8eac25a5fcc26e559594c903cbfd086e72bfdb28b0be91d9f02f8cd94979937e105d2dbf9d134d0451a39f87019c1c13b22a6fd8d4d3603786489810be8078d407f614e4c6e80981f9c3ce32180c1069799063c6d759ce6973322043b611eb957f97d96b106231b52b051371ba5b36002b64b0f88557f0178bcfc040236d675fbcffc0c2ab9e5edaccf00db475e3a99396fb15af3b7ec93e2de668eeb91e6d4d4b78881308\n\n# tcId = 174\n# incorrect length of null\nmsg = 313233343030\nresult = invalid\nsig = 11bd148f30f52678e48cc8ddb9bf60ec1d09aa9b80714728c222e249cae2baa098adb29250ec9132947abf8a28d287d5b0401ec86fb91e0995afa30b14c3f7d7fddec5a9e9dc9bf7eb43d218bccd469ae7972807bcdea685226995b3858d5a422409dc4952f661ee8a106642cacd264e645d88ce915caad8355cccbd56018e166fa7605caa05092149407a5cd469326301e4177f613b4ed967d9361bd703ffe26d9c149b583316c0d769cc2dbe5c4e45b0843066173a9dd5874f4498951d22f621be210135a4dfc91a72dd4d2423b3e8baf3d5ba08afa79cdc2bb63d0fa9bca508ec8e13c2dfa2c2aaaf2922bcf8623d8c4c20c3d927c726c57eb26dac95f49d\n\n# tcId = 175\n# appending 0's to null\nmsg = 313233343030\nresult = invalid\nsig = 3d15e68ede26431e35c9a90b60fef58b0e4272399d3985fdee920c789995eb8bd99d01c4db80f90fa7e3105de75cea6ae24e677b8b1060a6a9f151a49fb4173397e59f79f46cd70a69ea44b183f6dde2245b4cf7d6c168483f276feaa2460eee644796979f20c6875d2ff9d7b26ecb9568a39db999b2b81c74f644573ccd7816239ac7e36c3cfa3ea458d192ac0eb40b5ecb56201b2826872df27403b98d1c5ca22e5ffa287b5ccd1c1a3f55841dff414d1edc4328c6c8c4b11877c954d0dd7a8d3f776c85810c842a4e14c87a9f9550a687561ff1875a86d4fb63191a7daeddbdc38f556c16ca97309935f13f5e2b2143f3725ec8ebab88f6a6a851a9083e93\n\n# tcId = 176\n# appending null value to null\nmsg = 313233343030\nresult ", + "= invalid\nsig = 7cee1b5e0354fafa1579370b760ea9b7254ad7341baeb097ba395480d108b1650165bf82e3fb0c7abfcb6e6a26803efd2890f1fd138f57e1bd1dffa438bd28325c20b80d015aa670b27484a3fdac73a298d97356d26abc0f5330b1999ea37fb75d65aeb73fa4bef29d0a788bd1c5d50338c6cf4723071d1390f5911f05daee8307e9090f3509f47d235ea53feb88f82c89125501ec89e737ed31889cecf71c0ca14ca0e50631060069451c7c8d73cc943ab3226d82fbfb9374600b96304f74b2ae4c50c024340aa1ff7c884f010c4449d7fae341a8f048a1d072146ffcac6d13a84b995fa72563ae02f74df72f5e78e93fb7ef5811201fef2c5123e5725855ed\n\n# tcId = 177\n# truncated length of null\nmsg = 313233343030\nresult = invalid\nsig = 99bcdd4917e12a459c8ec9d7ae7c5f59a74cc3850297c9b47b1ae62c2be91e84fde9bdd07bedab7ff50b721cf3c9f6bb448985b1f0bf1c54d9740b431793ba53c1963c31509a27f21868559d935ed6b3ccd0e52891b2371c8e77d8fd6478c16250b8920620b6dc6e73eddf059d483595e2bc5bb5161a08f1a430766507a68abffcdeb6a472f17f488420f8feed8587219ab1c432988ede2729ea8875cd501d2caf9bf1ea53c4e475c6e97410289f6ddaba3bd96b0b0005cab3b3bdad74c8d0c1185a099ffadfd3440e82a24265125a9ed641174f361c9bf944130939fd0daef02105c5ec01d2b5b3158aa46100d66b48e834d6edf050b88e83a3cca4212f995f\n\n# tcId = 178\n# changing tag value of null\nmsg = 313233343030\nresult = invalid\nsig = 4c5df8bcbed902183e3e90fb167a75c8e528eeac4b71557738f6472cc9755230f9d9e661306e7d99d9225cc4d392c094817d406c28df99da1241e26d05fa37a87d151d56ec19a0f7ba0c0852ee6f889fc623d67bb2fca1e8c93aa9d5f37fcfebeea2ff61ce6e7ba4b4e608b89901e17a4ab03db6eba7fa5f3768fb232d58a953456ff31e2fae2aa005ff896a1d6514b6206b7ac4a92946c0ac3485d255a9b7348fdee8bee8e1c4ab36f8a46c4b7c8200f14afefa7acfa8e45a9d0b7b207919f163afa90c36e8dd3da836ee1c5be69c72bed446081a80f6fc8c7fb8f532142d3eb2c56e6ac33bf277cf1bcfe8eed9fe637f24d4bf515c573d02f0868a25e88632\n\n# tcId = 179\n# changing tag value of null\nmsg = 313233343030\nresult = invalid\nsig = 5e0352e6010a615ed47d9aae0bff7f23593b2835966ebd2378bedc3459e3d5813093c46ca3ba496486975fab640bc05d4f0f789c730e5fec8692dceaec65062b2f0ad849a2fdba3b9749a8ca7307b71df156a57900fdbe688b98874219bd2b86f5fc2d2fcbde64ca55bd8c5862e68b7883afe0f2a6c5e4cf158349477dc99fc43878d5af3c75a10831a2e7a95710a06f15958e71e32f230c22e8e7c1b08c7dd2a7614e25ddc8c54f819b8ef314881e32e35beac0e70078b11c9307cf20280f8899630a0d02ff4dcc48a6ed74ddb18189c747428dc4657f6fe2f28ff772651b04402cc9cd667d44fb1dc9cb10061fea13c78dc82da9fb7c4a91cbf5d1f99c5449\n\n# tcId = 180\n# changing tag value of null\nmsg = 313233343030\nresult = invalid\nsig = 9175dbff955e941f857a3a6ffedbad1228ae8b7eecabd519012deff34ef33a941a079c7b4e541313b314005db463b80111af13e2bf975aff6d26dd97b6ccc3b0cb45d7b8a01126bc80ec48ea2821f3f2ac899a5c0c2b7307d928b24a379332e5a7ee287f3cd736c701be439bef6e83a23b2b93dd551c7cc1d5c14d6a1e9ba0ccd33ac9a2e9ab4158c271d728acafe36c61f68ebbdfd0c8834f5f87f83f296ce2d3880219e6fd8a24f38a685604e9ffdf1ae59ef4a301c7a56861987aaa8cac63e48272911b294c99e8fe5bae8eb32686bcabebf316574d53ba07a5cc07b327c056eb3020b6e9e4064a0b7714ae33375251d2d634e541a37405de3ee31bba78f1\n\n# tcId = 181\n# changing tag value of null\nmsg = 313233343030\nresult = invalid\nsig = 5e4816fc498d2e3f0a33263983b81d563bca7be0760b5d54c5f49f08fc6d10cf8ba95188428de68b4864fec29a64adea0119932d2c4e6af69108b1e397b1021528c679e21fbe7dc4dcf7dee27c2654561656d7b3bf08187f74cf8a0d24ac3fbef8bacf82d50981ac18912aa785263212bd71c9c6e209caeefe5d978e67bf34d3a1f6da724d7337c7f197642413d219d24653845ef35fbbe1d7c733d8bb32fc25457d36f20fff3f6c718a27ecc05ef36c143a5a580383e9d47c39c842598d0ea329aacd4eed20dc99e641101628def125b860520797f8434fb96c3bd90d9fc29562a34b4a784f847ff50c7322424d656e401c1b9beb39e2623e1ee7afddd0dbab\n\n# tcId = 182\n# changing tag value of null\nmsg = 313233343030\nresult = invalid\nsig = 3af357a109ee6de3edfb8b0ab82121c9e6ba5c78beab6393e776065f08184428100450038d40cac13d7d271c68da1c0d05e6d20065fed3dc1b02bbc9fb8c1de0b0dafff73f0bb88f36020a78590dd96b80189eb5740d2b84f66ff64240fa91ac8a73ba72ff56c6bb82dc424904e65bd1fd969c5d21a81f44b458ac52ed66cedc403d01f2139af14e6e38b722addeb3a2f6e4755e3d2337de4504216acbb596ef39deab19e5244d52fe462f4ab75aaa510552034706e00f33b8dc1b16d7e8cc5b4066a921ba5a70995ccb9d7f6a891cecfcdc78a092a8bea6408f5883fc866462abfe35cb28aaa6ebf1b283351a7505e6a80d8c64867c2d275e2c5d7500617975\n\n# tcId = 183\n# composed null\nmsg = 313233343030\nresult = invalid\nsig = 8a38e8a54857755b4922f9d248d9dfda77d284d2a678aa8bd55f351acf4aa40902f8704479827223c1c6aed95bb33d2c4048cd578f0b24b0ba88a96b881fa8b86f241ed49e4f0bc1a27f2e55289c53c44248ac1268f74123d8d055b72e7440dff28d05cbb174780e2f0636ac596849c8d6b20fc37afa9d160d8cb370651374919464dc618d491fd17754d9379ccdb689b004c7d4d4fd04dba6a9f721d4da77ae9f3abc094350355295ccc773ded661145aead73d5485e49af3d9c112f463503ca5be0549e186f334e95e8aa52c2a33c259306bd12279613f9969ab33075d76222cd6218f2efa9e0213664db951ef956814f29374fbfd0e563a5a77cbd851a9d0\n\n# tcId = 184\n# incorrect null\nmsg = 313233343030\nresult = invalid\nsig = 4890cbdee665ace86b225086c7b2c04d5e6cf7ddc5efab39973ef9f9d32a40b7d540f30b9aeb8472b304652768b1347318c8d763815796c607bdfca9cd7270a4767989c6f67ee989e110e36bc443aeb4df7ee56c399390a5794b0254f38e27b47ac9a87b013f17d460bee3b3ef64d7d13503ca9b0973707c03148ecdc7c947ea0e94cb6d99a4c1bc1d8e6eaebc662cccbd85b0671a53470f74bb2850f7f67ab42fbe15b266ef687c5f72e3899903225bbaa595c63c3e302e031b63e1328b567b7fdc6dd4baf36ff104922e6aab4a848bda4c6512f841730b073135ee491feeb82cd2bf99241980d900a7e215762611c48829aded1cec31db92903c037fdd82a1\n\n# tcId = 185\n# long form encoding of length of digest\nmsg = 313233343030\nresult = invalid\nsig = bc4cb8d9113b6fda304a0e8c8419fbb18d6d9412d0922c727e36aba5a9d8c0ff0cdf62b544fad91af23f6b0ed985f88fba1d64357b7e92df0b4e196b4edeefa2b6b1d04927570ef07d5e5efc6e84bbcbe9f57ad2e0b93fd742e0fdcd37e730ff25fbc038a3a808cc9f40062983d3839977cf2a22539045986be087dfdd30a5611e13427e70c2f486542db4c71fb53273f8653bff224e7e2c1a778163b5b93c06976b111f3cc9fe55ba644bf8233c0752dbc0f130d6bfe85424f1d10b21fa64d074caff5c820cc3f416e1c48bcd17bb4ffe187ec924cfed89638882f190f4eaf45cb2105b208db449b8b9f66a71f0ce4ec9e55dab3ccc19f487080d7efc256f64\n\n# tcId = 186\n# length of digest contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 4278e146dac5ef75ac6b9b3c9082e8401aa47be4fc0043eb5823eea077373f1ca319258b6842d77bed8177aa9e5c61107620d2f07627f869d32c9cd3fcec52cb9becc869f2ef4e567dfea371b021dc49f296acb7413241dff218310df1da4478bc99b24a4b03e7c80e03b5d85bac39eca10888884443ddad80647dbf658d11e0f4963136e030c4f8b687fa4637a11659614e158025fa5ec1a122d38d7097470e3fc8b9922a4909f5127edbeef081cec7c89c4a37157a0e27973c9ad62130e31ca6df22cc97ecde6296e502529475a6d92618e4bda715d1cf0426e92898fcd55b6c962d94aefbee3dd256daf1ed1458ac313f3ba778c29dda8d80e3e3d4d23ba5\n\n# tcId = 187\n# wrong length of digest\nmsg = 313233343030\nresult = invalid\nsig = 23d74c2777033454f93db22d2080593c9cee14edbdc62dfcc9f4aa5dd5b32ec7e7c99f48f3225541f1048754ee9904b6f9b9c76819af8595c78762f420048d66907563802e8136560be3397eac0072573789695bbfd1ad4874277b047ef5ae2bbafddaba8ca0280e475f103adacdca558ef346d69036c13c72f388dc42340d76a8915ceb8b81e47122f0cbba0ea8e39d006e783796299309698dce133f1925530f12b3a5a9c8872a5dd3f822968f67b23e891929b9ea726488fbeda66237bd4d9b2618a114cfc62194c2be6ebf4122bd95671f94d88c1cc7eeb2575c3e6d7aa25de63b5a52fc5284a429c6c520f3acd9acd888f52410bd86832f45d1b32cc59a\n\n# tcId = 188\n# wrong length of digest\nmsg = 313233343030\nresult = invalid\nsig = bd3d6bef4d7dd8f13d84a23eb5d8d7513e1eee3391dca46d02c7a673c1e468f2f0fd341805138c8950c1501b494f78d481cd5642149821f6f0439dbcf815169ded6856135eeefd469f42714b12b5ed5334f3ee2e535b0cbbc1cb7cfa8addbaccc65c7e02df84c926ecfbc5b5646dc9a17a0893d21106613707ae3cec2e13ea3f289b219d871b3bd67e8579c4473695ac761743f9fc5efcd572923e4f5d3d04c6e61585c9797d865d19d820b95e9c38402df6ab1084c7438dfa3fb12bc8f80c6d6a582f9bc9034f3e247058a985b571d0ceae1b3087814dcf70402fe774bc384e026d00fbeae4032ecef45eaaeb531835ad33a8c80fdbbeb7fdeca1d466108470\n\n# tcId = 189\n# uint32 overflow in length of digest\nmsg = 313233343030\nresult = invalid\nsig = 49ec58072a4c00be0416cb0887462bf350dc06c603958494b81af3680bba1d89fd193e23ad18910daacb63b8df2013923620a2e81cc7b57056b1634d381dabbf37e0748c41889a9c1c57259e743b3da94e2e9b430b8dd21aa06b28f45596fe2ec35c9a4c17d11480c8e771bde791b6dfb1161b84227430f6473395692ceb75fa48f4aea0a5540213899a4f015cb50d1f47cff07dd84156bb127e20e33544c4d2ce0e90c46e06435236ae5648f99a080b6aa20cbb8e9723e7a3c0931f5ad82c806303257128f48900691cbb7", + "959313dfb2ea2a3712ccf3776f6be617305002b5a3daef3ed2e9cba126bcc6a840b09c34c6ff113d25132bab3fc074aba7a74b363\n\n# tcId = 190\n# uint64 overflow in length of digest\nmsg = 313233343030\nresult = invalid\nsig = 60dc41d5618fb2a8dcc94dd2e2d5d4122b4417ee6026f5e3e5e6528a2d59bce72911aeb2fc935b02262290b7c9e7648fe8b7725642796e8e06df60f94071d900169b2ac498cb13002d8fe2fa38321f89c593cab41223aa6997a356d184acdebed45ebfec4fcfdfcbcd0a8b5a74dadac80e372fe51725ff449bd6ff7e4e39be2288879a6342e7293a9fbb3b7faa56991b4ec13f48f27235e7bf348610254fcfe4b517bd010580f9ff1879c8c16973d6e0cd15a69b3ad6b9964f088ea1e90d548487c093a8afa3c3604cc2c6b928969d66605baba1810c2d483b9db183523b3161323ebeee3aab79cbd698126e893ed7412be3505a20eb09831e0d65023e62c522\n\n# tcId = 191\n# length of digest = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 8abaeeb60987b9a8722ab291049fb5c64c813a1bd6a147fdff93aec3b127f2dbb2af213cc920c7717c000d4985e0c833dadeee99437876d3d493550bfecafed0b3503436ff552c773e4d0c60ac9196efa9fb6be10378128c98a96480ad9e2c0242d1a7a9e66fbd7084f0c5e0a8979f2940bec7b6ceb2ae0bb221ec23983d6e3344a0bcda92263f1d768c1a5b9df555aee8de837060052a194851b732d373633ad441bdc761ffb9ea6134cd2982071f780b4fe92bf9253d4f8e8f07df417d1c2bb49e9268bd5cc0e4e652c38a44daf668095507ae05cc5879816b9c6a146330223c98a096847cde6a3e724afd9896aa45234c05c4a259dbc9ac8c8f93fa18181d\n\n# tcId = 192\n# length of digest = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3a3184a997e3cbdfe9fec8d260c7e8b09bb7180f65a83dd7d926a0355f1d04366994b0363c92de8730fe85f2f81d15725a6e9f7c06d01a7313d71af795a4abe11fb4c545411fea4cddbc128c8b8b0e713de1d0e78e457551e57a9f55f3c79b126ebcb586d5321ee78ba50034dea7a315f7c571922898230cc0c781383da9d3c2ebd936929bfb1a20bad72389903ee558a904ba39ae931c1ae9798b5951eafad58b1dc96159b1c7df12c2f47e81584099e33ec98ac9b08c192d676cb3eb2ef1a4959e8c29ada3f9f3738d0eac8442ac0e00fff98ce770f629a4a5a5effb465bfe4f7b4ef18432621cfe1d14a99102ab2ff3cab1ee37553b28bec3d04b2cb1e161\n\n# tcId = 193\n# length of digest = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 2edc01b091fd7a5896b25ba0b960548a9c799f1ed7208bdc320c44ea15d46483c8dd8775fa3c689739defabdaa927f88c954befdda8452152757448c1207cc694af555021f5756982210f44780baf6f50ffb888e763ac87bf048611f9340c0ba78227f980b81c059925e3c5c42775e45d400a057c1846a314f5eeca92ed4febba7b4a91e1b1c2902471481e132d40681aa9e2bdd4dd481102d2c8259153c76d41d49106cdd3cd30fc0a0b06266f3cb4b6cc34c60b528cf7e7ef9f7d42e5e305dda9e46d070548c14705685de7bad5970b165e13cd46159f957cd2908b8eebba955d2c6760c16b3a2d3e9e1fca3cd8f184b30b1d6e188ece497e9e01c8e2a5267\n\n# tcId = 194\n# length of digest = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = bc0716ac3f37a44d86b8225bb4834ad3d4bd10b171f36fee3885ce424e958e80bcdcf644ac3c3ec868c0c60739d7059f0e264dcfe73fdd708f13cc931255fa2576915b6e40b99cac7b40d259862316ce8f140435d44c973d6bfc48a26027cb1f6044aade27e387f950693e5a2787d6cbb9a38bf64303503c63c02f7649df3ccda47a380af779991b1f7356d81240d99a924c0c389c5fbe2719f7dee3f84283cdf41fed95341a4b249c92df9a93b5e8d031a8d693c9ffd5a91fdf2efdad0feb11fbe5e5eb5ac51ae85c65a4f0f0b3f67a0fef3f4c5ccb340cca0b43bc59015f0192bdf24dbb1e92ce66b534ffd38dc44f08746d0429271ccefe0bfda3c8e5187d\n\n# tcId = 195\n# incorrect length of digest\nmsg = 313233343030\nresult = invalid\nsig = 4019e011da7e59b601fe76db0333bf9fc0d2fe1fa33cf0569632e39940affad58dbe255f0e250b5dc5f5f4da0dae5c8a7599e1c6852c9cc052b4d7218acfc1cb6d2899b7e5d06eb0a666903e69383ba4d8bc6d2146a4a54cb0c7ecbf2e60fb09f4611f0d5692c653b31eb5795c838303ace417992185e138ea279f2081ae0c65c0431d9aa3027726674690ceaa3f0cc838bdf1eb2048f1117e896fcfe71513357ad636cff8d3b0c0ea2948d6c4a055cb61b0dbc56b346a6d9d3b8bc18a038d98d8a20ab63ab8798884ded8d9a11e94cd83d6d9a935abf11d079059d3fe6b21db0508ad9abf8603acf8d52d50926043033e054a81e4276fc16687234d4029370a\n\n# tcId = 196\n# lonely octet string tag\nmsg = 313233343030\nresult = invalid\nsig = 9f360dbd80e1a28bc2b1759707e4ae5c5e432d4d4b9fa6b67f37e8c576178b820f5fe3c8c44fc3de442b900c73eea6f3040f9b58ce38611f74ce6353793b7ec1b9ad21ec8dea913011e0d76ea2caf5c1ca7899453789d9e868a1317dd707481c213056add922177145e7cb077b9aec2123d8e854dfbab7c2a96a58c51cde0c7c77dccbf58d781cd0cf5f1251e5cf263088af9c374e8781b9f7d0fb0965a765727682f97b3f1ed593082709ca699570c7480c2fb3669bfed128c3063cccd79d1161c781589e733671956cf4d1a6d90a4680f4c38c04cf0b3b05289860a809ec99068fe853176f7e6354b4b2c15e3b535f301a00fe240ca43ea401f954e2e9d170\n\n# tcId = 197\n# appending 0's to digest\nmsg = 313233343030\nresult = invalid\nsig = 05ce3264ea04f7f7ce5a073bf70154b120bab5026887f675c9ec97fdaa0c66effeb7952e5b11999ff343bbd176978a6ec6eefa8f4be2671c700382f7d8d221266ecfd2bfec8a7d2fe36de408104df0152ece088b73c1c0a821b9a7ffff8d83059fc7250c5d54ad9e7099cfcd82e887b5ae551732c37a1bac432dcc5504bb5013dfe46764a03e24daf62e180a62491e75cbf560958ade809f8698e8465b99332807ecbacf1b29719c7d582240a3f19ad6799c852b958c7fce3ea5e19b6c098afbafc5bdec765d0b90da1b6df7540435f291cf2a19e9b31176b04579ab18cb3e9b5f4a86c7b4f17f131b7a5a9c03a93542990220709f8a68ad1d691e8c13345cd6\n\n# tcId = 198\n# prepending 0's to digest\nmsg = 313233343030\nresult = invalid\nsig = 0a7bf438897d08deeebb38dcdd687714d69b0f0ccd23c8daf75e3ac8588e1ba0e5cde9bd30cf6d61edac581c8f3d2b8fb7d92102faaa142f75dd78152bceb9a9cdce3ac1b6d3121cd7c65c5508deb1f671a83b3ba45d0d079ae294f56086ee92e109e94639494093b2fd9efb0bfbde8b459c7aee258b23b389871d4bedeef7b8bceace4b870098f42376cd0a2d4631f0e606390b34d86259b983c2c16939fae962a4da25c7874f5f59fe0b3e6a25fa8c0132375cca9f21cc23f4638a6efd3af2aa9010082e340394e33913f7331305e6544c87d34bb3a668a1c8473ff47d59fdff11172dd156aa94e4262c9374b001afde4fe551fb599242dc3584587fadcb3f\n\n# tcId = 199\n# appending null value to digest\nmsg = 313233343030\nresult = invalid\nsig = 6db16a706014bdc6d673d5a1e15904915bd1fe1934cc20a6ac6a01f1e3fe54750eb01ddd2afc1cab644bddd3805c57b0c45ec2951b2595cf41ca2a006e6bb4b4f1529516c48e007a2173a5aba22081a529d3d970c0ccd41a43b739e38063fec026f4e9c157670faa2a2d0288991737ccf7833f41dfc4c8d829bf1f4cd35af15b247a9ca676c52e5c3b07c08f1322b31f0d0fc0a9f0698c74248fc54e505431827b2b0e8814d806f12ae85c2e8f49207c21c6abe348e058a17ccaed6a75bcd07a677b5f1312fbc4a1dacb05b64272c178d8c57ce2f3556529d9ca1733cc386e39d661ba1c7bb1badf11488f84e533101a5568b9ef0604a8b2e131f671b1989999\n\n# tcId = 200\n# truncated length of digest\nmsg = 313233343030\nresult = invalid\nsig = 518a1e1c38f30eec3947d32d92d04e57a8a82923ef9f13f67c985a4d2ed90ecc39441372897888906014a98b38c079c9c53d9dedcec059518a1d8066b38b6fb6a6b10cc2b6ec04ba7c2ed60f6d5f17cda6db6db3f24d5e8a46a833594ae3817311a6664ef5a5db0eb988923e6cf5d21cbb1fcd27a4646ab5670780a86cb492bf17359f346b426bc634fe4a89797b9d71e6b80577d7b7cc3179903511bd7475d85596e8371b80684e031c9d676d665e9778be8ec6347a6622e2ea0232755f7fb07a53fc6361e58a76b87cc54678152c4b8febf1d942be3a000b6820cb86c9f25f332dee768dbdbe25c374af05a085e910d1effb97c914cf1cb0578b1f0858557b\n\n# tcId = 201\n# Replacing digest with NULL\nmsg = 313233343030\nresult = invalid\nsig = 4fb00ed61d60c0496a690006f40ea8a5df2e3e3dd80f8f6a3e39902e0447a37f4ab2e3737898cc0bdd7617236e637f0fbb9799f17873ad71bfeb32eb74cdd927bb830943bd0c6ae3a11705dcd8b272fa356d34445b46e3067caf45e0b4f37bb8c6dd43600184b25c2651932d07e6c9aedcf94796223bc90eaa329633756ddab77ed3b70de36f585918a7309d502c88aa922465ce213fb347d3aa70e840dbbd3ce920ea2b04a99c3845ef7ac87b68a54bf359a6540001f0602cc458b91032418da97bdc472774cdf65f58cba9b30b6f51777beb83cd6bdcba1fc1bee1ca35eaec7a29c8784e33b7a5b335058df1e2903538ded311330336a88256168a5759a7c2\n\n# tcId = 202\n# changing tag value of digest\nmsg = 313233343030\nresult = invalid\nsig = 08f67b8e90bb0959c276ed23d45d3752f2594353d868ecb2f213a980d8204d530c7b06ede81453a8ebe58ad685c7c9b8743fb0e940877592b87ceb457857543f060101e0757e02dd8f48c3bc348adc31d57513f5231e7cd32822b9844a41f00b394c20a6abc67d51a141738657247b4898b0c4422d900be64f673177f6a4437a125ce0a85ddefd952acba2c2809d4bdb4a9c05bfb9a1b09bbfb6cb675b51ae23f3857350b208632761ad04267caaf969d43f699d5908dfa7ae634447abebc05e372f194387e29db9adc9360d07b0d48c02f15eff31a0bb2ece9e97797fd18dd3ae2afee6b12576055913ecbb6cd8f58163736c2e45fee2bde79b7da293597c28\n\n# tcId = 203\n# changing tag value of digest\nmsg = 313233343030\nresult = invalid\nsig = 386dd157db54f471b88f6f4cd01b25ea4788cb1f8256ce996fa3a12bec90803e92b907d1e9e8c23bf20d8226b9d7df699d5d59daed206d4a5da51d0aa6566a47bb363c9375ea5404539054924b102c1e0ed40cce6c9b6811f79159a971c4a879f7568489d5c0ee7d6d", + "20f48f0255bbe556de271c8291c1e4198f765e3d5cc7fe2f5ddc366d28ff08d57ee5efedb170a18cd27a4d15fa8d315b695d47f1006814731524cf3922aa5a42b2cef314a0cd43578a224cee8d0140c53ec80e8605e1a4f5e1e23f4600d18eeadba902a398c4d874d03ba098956749df963cefd387553b4da2a90550d516451b4430d7ce2601d148d6c83f3275b669bfce35b9a5c7c336\n\n# tcId = 204\n# changing tag value of digest\nmsg = 313233343030\nresult = invalid\nsig = 0511a80f4b37cd13711adacaf85270137064579acf30e3c928ed6419507b9a807f9f5e4aaf853d96083420949d4176a4bca9bffcafc149ac57e3138ef4ed6e7aac5b024725654ce7ced2e20ba2c43070ab5a9aac1382f101cd5020bb8ea6bb3e21ebae04de3c65cbb746863232b129e19fa2bf97bd79f7e7975e093da71332fb10d7f70285237017d7251a118ef3fde78dacfde73e4e28921dddcd21fe2fcbedd45121552a10461681fcb90bdd1d1877b4fe34b9deed004ce41581dc1fd38cb767b1ffffa69bc1ae1dfdaaf942f7b50cc0737adaaed0273c929ce60b0e2627c2c1d5153f001c55096120849682f8a9774b6f3ebbee71b5922080076a2d5544e7\n\n# tcId = 205\n# changing tag value of digest\nmsg = 313233343030\nresult = invalid\nsig = 4884cc2d614aa4f4f90973c0490a796927a2def10606cac4b00039f6b5e21742e1f75384585b423ea87efc022d8e7d2190b5eead35292677fb843ab81c476fd2c4861695cdf9d3ce3f49e2c6f90671193ef13d6726547f89888bfc16128c7e7ee48d61aec79b5e1e551abff8ee27ed83ee661e42fd614c2e88958d4364460cb9402027a10822c16e17c083e5792b77ce3f07a4698c7e25245c651858d96c1258a0e0d0ddb3badf5f7b9713c2b89ebde7266f5a88c19b794e6cc2a8d96789f0bdcbec49e128473e2efd7ff80387fff30a5dfee3f2ff18e4bef5baa2131937e7d71bab5e5f521570165a8a8fa27d6288a2d524a2be7a28a3dab05712210c8c1f76\n\n# tcId = 206\n# changing tag value of digest\nmsg = 313233343030\nresult = invalid\nsig = 101232b1f7090316ac2c1f1e56014df258065a04e8bc08740ce46d54356018ce1567fa2610743b7c496d414506e8d439bda52e3680ef660d4e7ba645825c0e82509be7f9adf0272b212381f5039fd354e693d77931e2d59b0bfb431d903b16cf3e84187a55f709e6bdc46e377ee965de7fa43783004081e9f681f794a922409434cac493d29c9d1ab0f2e033ff4e54af9cf00d6c8cffd0b67f0ea27c5776e2eaf039946e8d287c2c419ff9f1fefffc968ad7475bb95aacfb9cb1d623c2d1b6531bdcb2493f0e93ac4be36c7a05af062e6ce9af1b8e063c808af52f735bc0c64ad141347a19466f650eb660a6e7773900e6a0801083be2934a178403f5ec29e25\n\n# tcId = 207\n# dropping value of digest\nmsg = 313233343030\nresult = invalid\nsig = 23dbd5d795fd3f97f7a2bc5df227e14e39416976c2c616e1e8a19a85b0648eedcbd2ed91780c043dbcb124de6be7ddb7eee16851a97eed4848589786095cff7c4395fb4bbc606f892b0b3a01b285c9aa4c86a060d4ed5f59e1d1d72180382531f6ef539d4ad5cfe82c9f02e5b6fc81ae0b952a6409d2109710c26280d1fa0be306a37f956ca50803b6eae1d11d4fb3a3d71bff2ba2773dccf3849bfbe42f5085f07334dd5bdd6708325d67d98598ffc5c52a0689449729665c3fa86d542e2f2da752339ded4dae90b36b0dc8a0cb3e350f62eb05ddd710ca6821f32f840eeb98961cc5823e1c827ac67ba8388a4046b8c856dadbd1323c919fea5d0f61e61f95\n\n# tcId = 208\n# using composition for digest\nmsg = 313233343030\nresult = invalid\nsig = bffc9f6d012a4e94763983a47e9f37698e6810c3de75df01f408fcafb3d3099896d07017670867794d5820ec163b1fd2bce080aac8a6cb90f8856d5443d2abbaff0e18d6d3201b5d24745ce001ef8e07f8258a60067c83f42aad79f922ddfbf6199ca7935fba59eb2e639c8aed66845beef5bf01f2ce1b06106ac87a2c27f447d6038ead7cb1fbacf7bdfb7811097fe0b4b1f14012c3cc0025750f9cf67e838ff715f59b5bb75676c93f71ae5cfa96f0375e3e704583d41f499017a5e62a5ee321209041921f5a64e212d3eefa8b42a4a7c240f4da15d903682780ed8c005d4b5fc13e7a95e106644eed0ae9a93133df9dc7ae8555f18579f020651e53ea9340\n\n# tcId = 209\n# modify first byte of digest\nmsg = 313233343030\nresult = invalid\nsig = 8ccdf190e17969f0e4c496dd400da98607ecca78795348eaf308d11e29950f0bda64cb6de73604f855a36326b4f18cfe433b67eded578feb4f923879e087af1b3c42f6f29d5f688924508586fd5cbe5ab90a1a04aafbe1d548f5945f7699db7264685405b558afdbe34adb976efc9f6ea2776cc41eeaef56c5cc13e8eff817a0b8b2d8978a8e445ce0ef586414550cd79030fc83d4aa4c2867570fe3242f6b9e659500f6d6072b8aab72d16454067d6c97d5f26ad9cb5e2dbacd9b332cef70578db5eeccb36d0d8f815e2125915764134943f03023e991428cb66076119dabf088632b22455f3e4965cb0ff86d67f8d5dc99763f831add9cd23c911e0a11bdbe\n\n# tcId = 210\n# modify last byte of digest\nmsg = 313233343030\nresult = invalid\nsig = 442fa58b964fcb7b87eb5b901fafb15c38e31db676c2df0cda01514d3bb6559130973b20478585e8429ba873ac0f6baab8c9ebc46805093abf57355f36860921edeb93024d812611669501928cc869b97d4eba755501c9f1a420317527e5694c6b67af946e6ea9fdf4dbd01f8f677d9a5ad69e8878562531c91362145f923c0083d404f1c6c2cfcefc8954e6efb63a10d3cd832958fae01ebb932e76eda84929f5c5032db5db9a9bf49b9f43e3359aa88cbc888fc6b10b4d908de28085af20b4287e30640bd3d67888a24fa7a216658af1add6c721de36a35e00d09dd54e55c2debec12eb475a3adcc2452ac5e68d1e94548734540cc1448949a5eb39945954f\n\n# tcId = 211\n# truncated digest\nmsg = 313233343030\nresult = invalid\nsig = a39bf00d81fb83c0c86b5ae8a70aa45079b84ae55c521f4363787f569836703fef97f5ed4f70fa9693ab365bdd8a0a6bb5020d01b0381c5cd17631edc8257a6fc271f05279d64568fa3208a632fe2b34c324fa0e93c259e80fa99fc2adbe43693d16399fca84c934a5f2948e6dd73d4c9f1f17bae710ff68ee63b39b70a09bccb891f2f849632efba4d001418f719b03a298e6f94459aa0786e6436986f637c813149b7ac5941792e7af84f8ba78bd6633811e6ab8c11c90a1a4d8f00795c8aff086c18a69f23cb75d615e298fd0d93f5ddb88b6b198af04247a2741728cbe51f571fd820c4182199df335d7b1480a1686331e8a04e15a4c14ddfa5724b785a9\n\n# tcId = 212\n# truncated digest\nmsg = 313233343030\nresult = invalid\nsig = 6cc74b8e2ed218ccfdb1d0a448c5a4b519ce9ea56ddc96dbb8a894b1d97405b3d3d728274ffb49913f578dfcfab9bf6581ea90c4b854ed701cb4dcb11b16fc68b7b1396d32eb24f7eac9bc121230450c41b54a6afa82a857c4f0c36dc698a2241d2f628e3f728933fb646cd9e6b97e69d8d059a3d9f08a481ec8e0c0d0b51f15df7a33a88a1e11dd46517a2c3a538f2fc581a65d1787f81594b740283df9aa01c28a64b203d6b43da281481bc4e05cb1e6c55031162afd482fdb7dafe520f4e79431cc956ffd512c68400a705bd4598534328a90e74ed4980a5bbf25efb1b02d32dbceb4b7593c1fe386d58e955a522802072c4ea02bee12ff5b76d5a0714867\n\n# tcId = 213\n# wrong hash in padding\nmsg = 313233343030\nresult = invalid\nsig = 9e97021c1c5dbc77cb54d1e88b29a02102b7f48e1f94c6f04a8dcdf19f54a72aca26700ed01912bf589e4dea8f385eca79a45e421b16d2d84527428537f4ba4b064773175aff9c9eaa6a6ea1949c5e698fe40de3d04dff9dccd4ed9e06a68bd2e71c6a4ff42d53294b45fcde7517ed378ed8c34c2273bb01c0773af8bdfb7b13e8e38f3cb49965c757f7718104786dd86c10b8696796db7f05dc2fe2474c0a57a897411aa7846919cd4fbf094c5207503dc8a4ef8966aee6561a43784b0ce06e7427429fbdb6c6e283a6a7af3af7a78124ae1ae6c57438d69b050f80b36d6cde6d84fec0bcff2196ea3232db115a3afaacb227417f0470f505ab849f1513058e\n\n# tcId = 214\n# wrong hash in padding\nmsg = 313233343030\nresult = invalid\nsig = 7e5c93217161007a38889a0a43234def7026eb0a1259be8c7c5b2c94074c73c8a9b2e809bb635786a31e23cb9737c3ed87b113f9d1709b30240d0cde14e706d02e26f5dad1da07b7a47c21f45223e2946ce675bea3b4f1ccebf3d8219bea475897c5484cdd2558fd6a89a37880a3e32fae45e752bef2cc05c64f45b6bb30da8af951896bdd0ecaa6bff1963a90034f5ed4e45d3e89812826813ff067eef323c9e09943b25da94f138dfcb40457a1357c54ecc0fdd82fea5eddfcfaa86060feb1530d8623625c9de8bb506b13ee55cd29365e424240d8dfce15f09f98bb6d2930697841c81b35a284958ba6478b1cd75760a26a6d56212e83f38c1bfdb1240bac\n\n# tcId = 215\n# wrong hash in padding\nmsg = 313233343030\nresult = invalid\nsig = b51fbcdc6eccb38cce3fa3cd271b9fa5930c6055a58c07e8b14fe29d0deb12ee2edb938bce4738ed5b28509188c907f4db14d380350de48333c7c2da1a9e284f533eca457dc6cbfb62796883a03c0e4bcd7bc60099b719a39d6b8b2609cc831661da6d84d02b19bc35b00084093225cbe336c34af9a818804ac9440179e19942db0af899e1045a035fdb24414c2a64a33a8887c903d4ba7028598a2c120a7e3da30e4cfbc4585babf11caed778b0e7cbc5198d281d5f82e9978bd8f620b48315a7e6abfc13bd83d0398d31fb89a0c8a51321575ab9a72781ba420ecbbee690604153b38bc76d00b615f901075be5305a2e78713194a36c443c0515166d7718bb\n\n# tcId = 216\n# wrong hash in signature\nmsg = 313233343030\nresult = invalid\nsig = 40f3c15a900e707287238618a78f3c1df4f751792bcfed49e583366a67413267b7022ff5668f583184ff8656fe1c89beb4ed5387fd92372d674b433f9bf0d2132c59db6c5974b8514eaa4e1b28a735c60282329f0d47052178ac07935702c7808285872cc498896f61cb887aee1a3fbc700bec4de4894274a6ad8f1842d6b87b31814dfee5688d573dc0ac5531921fd7266e4b07b26e56a10616d0027980cfc781c6bd1c84a7b104fbe9fa22377fe9f50b3caa1f7ffd4524f96a35e5e5e00f1e0248d36fe2fca1e1f21b0bebe1d4d9b16c8811a8b8207e954bb173cb4a17e8110d3966da35a491cb15f08130222067fd6bb6caef8d5e77ba7b4da52c302a6145\n\n# tcId = 217\n# wrong hash in signature\nmsg = 313233343030\nresult = invalid\nsig = 090d7a188074116255cbdc8a8c1eb66d5224b045d3420451dab67b2d2111bf7d", + "d145d522428c2e9e71be74af29f8e04d88ef46ac6b6dcddf2cb91156278f8b9151d7d5fec55224acc9b4a015762c9cc7327a16ed21a060b1f17b47d23ad66a2e5276524af9acc652e48d350409a119abdc73235d9de02a26964dff902aa1bcaefcb2b3e1a8394a50acf4c6fb503da872e9a65a220b7c1d31496ef10c2e27c00b7694648c60dfc5f238c7ca3063cd91d96d6617d76b0fed8da990838cb7a33561a7b61507deeebb95cb6a455b441305629ffde7979ac76c44601081f8cc425b346b08171752d4b3f711bf979a657e075e4924b73f011a0ba10d034934f8199c3c\n\n# tcId = 218\n# wrong hash in signature\nmsg = 313233343030\nresult = invalid\nsig = bac5e1663853e0a4088543eaf4cdf36e8b1ec7b52fef42081d31e3f294dffb31276834807c4719a1cfb8c7ff8db7020b72058d4dc481da66ab60f40db119cb57b66726329194f8a8e2a22499bb53c1346778b9a02f92e015b82b4ef432a13c51f93999fd3bba3723698bb0724b2cc5f91dcda79e29c5eddad80b7d4a08e3c549170952eeb03188dac1c81bf37dde0378f66fb81102aef841a9a69743f4c78a8e31556fadf5af56d81afa825d37d2f6d8516795abb7d5804ebeab2fe2fbafd5ae355dfb9864c996b147bb5f1d8c1b4ccc3040b42876a27c83df2068f1ae264ba557a6f1c5e0436c04fae398ad4200f5d1d5a872f771934d4a22a1c7785d4bf347\n\n# tcId = 219\n# wrong hash in signature\nmsg = 313233343030\nresult = invalid\nsig = 83a66a917fd062478353636c8a55eef1bbd99fe82af9305ef6e9049d8e96758d856191bc2fa3226166670502552d6a9e2a62a26d449b31f5905a34c1199b2de9fa37ba9970d1a00baf6b070b92a59054b12d83517d3fe5ea4b07f7e234b3cce16b2783771d9d6cca2b7c6477d695fbc2566e55feae9c6dfc183f99b7e27a964a6169e6a27b16c6e51e1e4e1becb49f48d3f225214db85f5b8f729f3811ff4497b517c4bc0111396692e4f438c9a8437e62ccc5fc44ba85d6315a63dce77d13e54832835281982e722d3eee4f4ccc4c4112e881df0900433ef46cc6134dfa75ce7da8c6f96729760172cc613cfcc89ae90edf1e8126f39ca5db76f45eab8c20c9\n\n# tcId = 220\n# wrong hash in signature\nmsg = 313233343030\nresult = invalid\nsig = 60ed20bd7d6f5a7e30cfce9c7cb5686507fcadec04b8c8aaae94353f83a5a857b305aa837eb818e11a350d1c1f1d3b40581118771f57e987f1b9fbfe5335a5dec435982fa37a7921af79cf52d638a79fa13fd6007deaaf9cfb5425b7bb99269d464e4a342abef1be23f5c6383750c6563caafa863e82ceb3aac7d66e38eba4811944dcaf6bc75e56bffaa2d1070202c898b381cdec53dce38601c196b40e1dcaa5ad76d7936be573fd2bedaa6ab98dd5cdb1428d36ff98e1784adaa39d3019ba7685c4ccecb18dcd7d120579b8c7dbfa3334a65d4fa7620c6d57ed256a6ef49dd5a317675c6fdf27d6e58000195c65f5b41ad81f866859e2c6adfe7a8b444865\n\n# tcId = 221\n# message not hashed\nmsg = 313233343030\nresult = invalid\nsig = 5c206e08becf1abf756f632e5a19959a8f91a57bcf02a9f826555d924cc084efa07cb56d0ac67921f8d7c40155137685cdaf3fd92938866210ab9674cd451ab7ffe6c6e6c4c079cfb14df12a169540f3561a410a83f31eeccf0b2ffa5ad426c8218de9c11685a4352aaf076c815a8cb750e7dc3906eabac30e7179657054cb11f04a70e9c07ed8ec499a274001c9790ed86a3ee1060bafde5c2ecb6545d2e19dcb2eba4cb16e0ac45723849cc5ac4d5fbe9dafd47db853964b90b4f20ba2cd1786ece2e8a34da5d5d63cd5e535672b34158ba66adc480c5b78e70cfa9b05b506abb83e03c7f3efb25013aaa0c35beed9a020dac6e8bf79ca43adaa4eb482f0a1\n\n# tcId = 222\n# message not hashed\nmsg = 313233343030\nresult = invalid\nsig = 6e838ff1c850eee3039e4ea545d9197b3f4bb810463d20759b7d5bf82bca07f8f82066aed8370c848ee55474fe61b8e0d83594d97a499123b468277c6b8eff5b9f124f43766e2314172a9c6864580fd24f4cac27d254c0638b15c0984008066340105d339418aba4c25e604992b70da5930533e830ba1a0cb9cb95505b25d4dce8b7e62975cb9f5a3a6bdebbe01a868048665ddf64262d55d21de69c6cff62aa7b316993876609eb1842f56279e88c238836ab6360520f1a81ac2642950293aafc945b2b9d967aa6e0ae09a0f9859a773b0f7ac0d74adcce5aff16b450317b2441a8b6cdc3c0c2c527ccca0f2a1e7870ec6e582f0b068e60a105f4c54f014433\n\n# tcId = 223\n# using PKCS#1 encryption padding: 0002ff...00\nmsg = 313233343030\nresult = invalid\nsig = 5f4e316d08081fb15f407f929883188cd7ed34b98fa2fcf2cd79ca01d83c86af4b122c300f4e4075cbe94c8b10b573e8f32f8dd24b5ba74f7ceb9583c562bd966d3071a56d4b815c285e16d15572f26ad3656bd86465cc2d1adcb4ffb0b323c1c77b3d4957523d76d82b25be35aa6a4c18e53ce056166aebc8ce5538f4e3ef33be60373f797fab945368e946fe6ac51516ce38ca46d86077c594e38f5a80e2475f3b929ed320ec43c12c12c297a6f15d90aa9d82321ca9a4ea7d147328ec2ab031ed9486dd889460f800a94a99ed2ee7a09c88f4dbafa1b462cdf42840db943b0b952f574a92c972af4ba04eb59540a2a02c538007f147769e238356a218ea09\n\n# tcId = 224\n# using PKCS#1 encryption padding: 0002ff...00\nmsg = 313233343030\nresult = invalid\nsig = 7cce1a56772b4dcaf1b2fc68dc8300b8ba9cab26f96841934b207590f868a2d5b0ab94d9e31e2edb1fa2b8785c5255d175f7c5eb3ad81d20bdf20bc6f8cc622529ab26688c74015d74257c76fbb3faf101db3823f6cd164bcf6ad60c3a80ab95dc400d275348d7d6a1f946c37b8b8f38c44ab05198c5e5ac32cee8b8e9b4efe4692ccbde4acfce1ab26cd1d8d10c31929d8ae3b0d24b91e2094ae967a42393ab198259230b07651476208350a0a83de06c588f77e4a6b401bed5339749ec26231e7fbbeb690d3d29b3aaea38214b3ebc3707dc1742fa373da53d98a47f3199d0e948f285edaa9d79fe819f8c37d51aa8a60a8059fce71e80f3b95364a0365823\n\n# tcId = 225\n# using PKCS#1 encryption padding: 0002ff...00\nmsg = 313233343030\nresult = invalid\nsig = 654fe698ff8d93bd6ef88c6aabe684521c451e4dafac0a762b4dcff7c159c410ce7f1ad7748b40ee4a97a72368edc33d94f024d83a2eb1188e48fd355dcb77dee4255c28a04e2b3c355e0032380336dc7e2de43ef670e578d1bf75cc25a3bbc169fe70b3d92d187d8eea1ad894ed1caef719353236e9a0813fdebef43f39fef0961d606106fcd476f0f51be3c202555bf96c4d32bdbf019e96b4935c03d0ccca0e62830bfa344339ebc679d90f9bad3eba617b60877acfd9563b413e4b7764ce9c746134c57cb40b7d4160fa26a5c8fa44f2f12d8a1c934ee6bd140bfcd61c560a3f8186da83d26f0d733028c6e4abcd8f223faf6ee371b97d765cb799e0c1ef\n\n# tcId = 226\n# using PKCS#1 encryption padding: 0002ff...00\nmsg = 313233343030\nresult = invalid\nsig = 61250794cd149921ecc1e182bac8a1c378462f8054be355d6bbd7159eee35718da038516172d30ea1806a674358a0474bfad792d1b99e014871f5d3ea1b818a1f42750aeac438b37e265119f9ec2ee6c6d26fdc17e080b2d7ad1ac5c0da61bc55ec89a2c78897ebfad49dbe9d6a0d6eea9acfc083551675b0468f78e5fe302298e97280995317a9ccfcd60fce9f6afd9e465b7934a2fbae4fc63cfcfce903e02f40b52978ed8ed01511576c54d9fa33efb708aae9854ef793a0abdf39a68f330423f79448de62ddba7bc8480186a2afea384d66b58c71b1c1b1aa905af314db3ac9f20b1449d2e5099c4a17ea0f131d3fb93fbfd79757025ed7c96d14ddbce12\n\n# tcId = 227\n# invalid PKCS#1 signature padding: 0001ff...ee00\nmsg = 313233343030\nresult = invalid\nsig = 1927a8ca62884d8515e9df565abc521a1c40ee409a7aaf19368bdc2c24f9e0cbd1f6a144109273acd712cb0e34d367d76800dc5f0ca9145feda1c518cdf7d07dbef73c189db35220e78c46339fbfdd63070d47e2bc1fd8dfa8b5bb08db1266960951da2ddd16a345c3d34f8bc59622e940a8317685a98f5883ce155471d6c96605b285b754032f998f2e6cd62139f75cd66b1822dce1a10b5af8c22d0931bab50ea1a47230a2dcdf77b720411bcc64c88efc0dacbe8610c359575a1dad37f923a6ff44b493a3b5ea1ddf22c205484cbe07ee665b04e26f9bd7ed62a66286b32a209fda6b5df0d7df048c400f27c493a2504bb1b10a20fc7a5566d2c0bbb3783b\n\n# tcId = 228\n# PKCS#1 padding too short: 000001ff...\nmsg = 313233343030\nresult = invalid\nsig = 89c981b36b3a8db41f0282f14fd9cad08d7c088b56aa16eeac5f643e83ff68d165ec6790a5c195bd37ca3e6d23f8da5187e866ef44c401b338337bd4f9312e8e87b019e89814fd5e24d322630555cdf628b56f93ef81c435be13cba6cf91db2c32eb6927c9db7f856a4f86dd127e9cac8159a990cc816edee7e8c39f06eff4c72c8128d2be37d2eb2247a9d709797af04bcd744d54741b14ec0a5b7b1583f9e12063521d1e7143690fbfda7cea18451599e76e7c2bea000ba9ffd5b8c547c4c23e8975bc6ae22eec79937929487e0d1166dc7ea9f6a1e71cef41e704e89f2d01b7a81baaeda1738756265573528a3a495919dc65abc36c9aa246691fe0aede70\n\n# tcId = 229\n# CVE-2017-11185: signature=n\nmsg = 313233343030\nresult = invalid\nsig = c32cd0e1441fde8a2896ca3a133735be2d1010777cfc739afc77b6daa66f367d4876dccb3021fc22c25450a68d6cfb1191d485cbfba5ec45b49286d7cae2bdae553f47e10b94f867abcc6d0affc733bacc725e5ab4de1aba19a39d748b4c1355d5a6a710a52bd04c0c24e7bc3bdab8f3ce3ae86ecb31c4b45e10b40ddb5fdd40cb2411bcf5b1d392e1eef959cff2709a6e02b20ff3b4343641a6b78599586edc9b673d9f3f5e9d339ceebf96a1a31655876c39fcb00b1c3e571908c9b744765047abb5c23ecc42e551e13755e38cc9a13e1e02bcd5dcec9c301fab75be3e1a8ee9c42981607aba7855f4bbe76c8c160e80468b54bdf9f438b177c33dee30b0f5\n\n# tcId = 230\n# the signature is 2 bytes too long\nmsg = 313233343030\nresult = invalid\nsig = c32cd0e1441fde8a2896ca3a133735be2d1010777cfc739afc77b6daa66f367d4876dccb3021fc22c25450a68d6cfb1191d485cbfba5ec45b49286d7cae2bdae553f47e10b94f867abcc6d0affc733bacc725e5ab4de1aba19a39d748b4c1355d5a6a710a52bd04c0c24e7bc3bdab8f3ce3ae86ecb31c4b45e10b40ddb5fdd40cb2411bcf5b1d392e1eef959cff2709a6e02b20ff3b4343641a6b78599586edc9b673d9f3f5e9d339ceebf96a1a31655876c39fcb0", + "0b1c3e571908c9b744765047abb5c23ecc42e551e13755e38cc9a13e1e02bcd5dcec9c301fab75be3e1a8ee9c42981607aba7855f4bbe76c8c160e80468b54bdf9f438b177c33dee30b0f50000\n\n# tcId = 231\n# the signature is empty\nmsg = 313233343030\nresult = invalid\nsig = \n\n# tcId = 232\n# the signature has value 0\nmsg = 313233343030\nresult = invalid\nsig = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 233\n# the signature has value 1\nmsg = 313233343030\nresult = invalid\nsig = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\n\n# tcId = 234\n# the signature has value 2\nmsg = 313233343030\nresult = invalid\nsig = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002\n\n# tcId = 235\n# the signature has value n-1\nmsg = 313233343030\nresult = invalid\nsig = c32cd0e1441fde8a2896ca3a133735be2d1010777cfc739afc77b6daa66f367d4876dccb3021fc22c25450a68d6cfb1191d485cbfba5ec45b49286d7cae2bdae553f47e10b94f867abcc6d0affc733bacc725e5ab4de1aba19a39d748b4c1355d5a6a710a52bd04c0c24e7bc3bdab8f3ce3ae86ecb31c4b45e10b40ddb5fdd40cb2411bcf5b1d392e1eef959cff2709a6e02b20ff3b4343641a6b78599586edc9b673d9f3f5e9d339ceebf96a1a31655876c39fcb00b1c3e571908c9b744765047abb5c23ecc42e551e13755e38cc9a13e1e02bcd5dcec9c301fab75be3e1a8ee9c42981607aba7855f4bbe76c8c160e80468b54bdf9f438b177c33dee30b0f4\n\n# tcId = 236\n# the signature has value n+1\nmsg = 313233343030\nresult = invalid\nsig = c32cd0e1441fde8a2896ca3a133735be2d1010777cfc739afc77b6daa66f367d4876dccb3021fc22c25450a68d6cfb1191d485cbfba5ec45b49286d7cae2bdae553f47e10b94f867abcc6d0affc733bacc725e5ab4de1aba19a39d748b4c1355d5a6a710a52bd04c0c24e7bc3bdab8f3ce3ae86ecb31c4b45e10b40ddb5fdd40cb2411bcf5b1d392e1eef959cff2709a6e02b20ff3b4343641a6b78599586edc9b673d9f3f5e9d339ceebf96a1a31655876c39fcb00b1c3e571908c9b744765047abb5c23ecc42e551e13755e38cc9a13e1e02bcd5dcec9c301fab75be3e1a8ee9c42981607aba7855f4bbe76c8c160e80468b54bdf9f438b177c33dee30b0f6\n\n# tcId = 237\n# the signature has value -1\nmsg = 313233343030\nresult = invalid\nsig = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n\n# tcId = 238\n# RSASSA-PSS signature\nmsg = 313233343030\nresult = invalid\nsig = 32f5b016f20c499f3cbe5d57253f464bed824eb521d191f3dc668eb9da87c8725a012e7969756a5ed530266f109a4666997fcc27419c208ab0b40cf42d5ae972f2dcb10fc3c8cb60f10ceb8f44394d8e66633f7846f1abb11c581a4827d5606558bbd7fcb6263b4c877e1682773fa94f1a1dba167befc444b89975daa7f8d30c6dfdfc397c21db569f887a9caf74bd8810c6bf8a80f38d2267295c3e05afc3699abe11cfa69dd385de7da73871e4c16abfd1ba60abedeb54eec3763cdaa533abe970f75d63d2e936e75bca2d1b467e42490065644843a509d2dd58d178e28a435ef4c48f2017c5f7244b4d8a74fe024b513cfb36dd2d2dada6fd5e8975da1595\n\n# tcId = 239\n# RSASSA-PSS signature\nmsg = 313233343030\nresult = invalid\nsig = 3fa351c977a5fee02f875bb284a25bbde9175cddb79e53ad79b76b6e376a8967ac81e6ffe8b5091b4d4ffc3bb4394850eb912d2c98f60ab4fbd24e0b5b28b47e456d36aec7c11fedfb52ad0307ec24380ba1a2323e7f5786f655a6f6f6048a0bbf6e4257c22decd00d55556d06bcc138eecf2d51f2353df2c82c29227890f235cf84495febac0b074c35a072cd97ff206e3fb534de0315afcb4c36918ed8e39e84c6a1bed4941ea9ade58d45ea215174b0d45700918e9a3b44c1cb91bfa52d663ffd04dbd70889b126f030ce53e613d47f7cd3324856f1c41286d6ee16217b0fbbfc3ffa4ad4f2d323ab36fff4129cda11e42560791141ea22000ead1e2538cf\n\n# tcId = 240\n# RSASSA-PSS signature\nmsg = 313233343030\nresult = invalid\nsig = 199e5b886bbbac2fca6542b31726326be09fa9b865fdff482ef32ca5e91ab9b8a594ad1fca636c08d5ba242ee503d0500574fc07dfeaa2ccd6b0ce2cec51f3d97512e89494d6a33084095e1e3afcfd013f95952e3910b74f467d8d574917d5e0086973dacdd005d96e0cef0f6f518994335391238cadadb5871095cb399e2b5af51e06c00d2b78ac3b10d16e2a39628435e523f54873265b97874ea8f3c44c0bb331167b66ad055cbb6e236eed72a80081ace11bae8aaf39297587e5be4338f3baaa2a6623a9624162ab581371fe58f0ea58efd68465451502ae27596cd58fe40a841be295a81df636bfaee16afdafb01dcc717cd02b6065c1e99bc918f90786\n\n# tcId = 241\n# RSASSA-PSS signature\nmsg = 313233343030\nresult = invalid\nsig = 7e6af5ca287a5546bc76afcf42b1d5a8e4b3c3e276f6a56bb643cf3d84995437e830bca498c651b873b48c39493e71c6fd23eb76bd0d7523e092ea4c8f106a505f52605930b8ec244ac9b02dc14a089882462cd947d6e851d6c5999ab7b5325afb1e7c3a75f72064f6a66307dcfd98f86d8e705ac5d44d5a62023d97ebf9a759c6c657ea29039ee63370344610a2a072aa459b5309fa1ed4e1569ec40c57578166ad80a5da0f3b6d4f48a9c5cde4435d8edd5d909fa76228d8d7ae71ec5709ad08c24dd49280308e41339611df6f2e339215a70b901f189aa747be01867b8fdc08ba7fb0a867f3ff0e0aadb123747000db8d171b9864bb95885e912f76b3b21d\n\n", +}; +static const size_t kLen150 = 148331; + +static const char *kData150[] = { + "# Imported from Wycheproof's rsa_signature_2048_sha256_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSASSA-PKCS1-v1_5\n# Generator version: 0.8r12\n\n[e = 010001]\n[keyAsn = 3082010a0282010100a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d50203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d50203010001]\n[keysize = 2048]\n[n = 00a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d5]\n[sha = SHA-256]\n\n# tcId = 1\nmsg = \nresult = valid\nsig = 840f5dac53106dd1f9c57219224cf51289290c42f20466875ba8e830ac5690e541536fcc8ab03b731f82bf66d83f194e7e180b3963ec7a2f3f7904a7ce49aed47da4d4b79421eaf937d301b3e696169297b797c32c076a12be4de0b58e003c5123051a84a10c62f8dac2f42a8640008eb3c7cccd6760ff5b51b689763922582845f048fb8150e5a7a6ca2eccc7bdc85349ad5b26c52137a79fa3fe5c29ab5cd7615013219c1941b6708e9c3c23feff5febaf0c8ebca5750b54e3e6e99a3e876b396f27860b7f3ec4e9191703c6332d944f6f69751167680c79c4f6b57f1cc8755d24b6ec158ccdbacdb23107a33cb6b332516c13274d1f9dccc21dced869e486\n\n# tcId = 2\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 8a1b220cb2ab415dc760eb7f5bb10335a3cca269d7dbbf7d0962ba79f9cf7b43a5fc09c99a1584f07403473d6c189a836897a5b6f8ea9fa22d601e6ba5f7411fe27c638b81b1a22363583a80fce8c7df3e40fb51bd0e60d0a6653f79f3bcb7ec3e9dc14cfb5b31ab1735bca692d50ac03f979dda92747c6430f8045efa3513ba6e0ce3e9e35570e1c30c8ebe589b44192e1344ca83dfa576fc6fdc7bf1cd7cee875b001c8c02ce8d602769e4bd9d241c4857182a0089a8b67644e73eef105c550efa47a40874289395ac0c4e02fd4ba98e130a4c2d1b95521c6af4a002ac3bdc6e52122ae4c08cc3da1c896e059acbddec574ac0432f6103dd97273d8803c102\n\n# tcId = 3\nmsg = 54657374\nresult = valid\nsig = 264491e844c119f14e425c03282139a558dcdaeb82a4628173cd407fd319f9076eaebc0dd87a1c22e4d17839096886d58a9d5b7f7aeb63efec56c45ac7bead4203b6886e1faa90e028ec0ae094d46bf3f97efdd19045cfbc25a1abda2432639f9876405c0d68f8edbf047c12a454f7681d5d5a2b54bd3723d193dbad4338baad753264006e2d08931c4b8bb79aa1c9cad10eb6605f87c5831f6e2b08e002f9c6f21141f5841d92727dd3e1d99c36bc560da3c9067df99fcaf818941f72588be33032bad22caf6704223bb114d575b6d02d9d222b580005d930e8f40cce9f672eebb634a20177d84351627964b83f2053d736a84ab1a005f63bd5ba943de6205c\n\n# tcId = 4\nmsg = 313233343030\nresult = valid\nsig = 1758eb94588e6fc4f50c1be1afcaa41027869f304cad513b1fb12c2f446d63cdc05c4830a7e3e630da7b2da4f7867cc173bf6420f9732277282596de41ded32e21d0cc31441174da8765f57419c7764ea758f55bc17646eb100c435d1ac0eed6fc7ba6de5f832094ee2f479979765e05ac9976788db3c241a9e32a0da864f0019a87646ba623d63f4411af5dee1be9ec488c7e3e1b231479de70b9ac5f78a17b1f4120aece45f26c07e7bb345fdfeb05e14bcaacc614672a465fc523624cb19f66f9c6c3f642b832ca44cb25176d679f0e05606c3fed022cac24c2bf960a406d48818e3eb7ed53b0446032469047dfed95fc18088c92d91d93722c47f88163a8\n\n# tcId = 5\nmsg = 4d657373616765\nresult = valid\nsig = 513a5abde16b5e0ecb8659d3ca0845800adf75cfc4437d42fa34e7aafbbe35fc5984d3560cba938f9a622e932bb6162b7fbb6cd8c1cf8815f28c495995ac18cdbe8fabfdce29c17aa021df192ac02d080d7c5eda6bd4c99154178a9d5e1cf3ff4177106315f4e6d74c991b601069acd60b55b3bb4dbf6316c35096a487d6756181d3394944f1c742a2f4d608ce4f6abbfb72347ad7d342ae15dd6d1049fbd0ff55f4d7c43ab805f81ff1fbe9256b5c78c2de6beb787f4b6d66d290a3d4c4857368aea5f7ebaa1296020c8f9e3670441a08038bb810e853a654e44316a4e52428745123ce2714020d00e55a9eb82f7fb41c73d852a82b003670246c6ca2045fc8\n\n# tcId = 6\nmsg = 61\nresult = valid\nsig = 38c042a00d6f27742a46f1f963a7b2e04f0eac637849631a491b8e4e58fc721c6ce620d5e705dc8e73409c3909c1c68b6bdb2b30f882cf2797e65030b38c4e7daf6fef9d1f115c890086cf54ca3e7c2b21dcbfd1250ed1d925810970f17dbf482d1784f296adee9ace6979075c1e12f5580cfb322e8737db9d127d38e1b99ed87ec49448a18a6fee650d3c27e4a2a86a3d6e3ce4fe64120be60872fa07a3f78a112715c167fb6c900698ba1afd824087a4cf733335c4a6d5120e3b29bc42f3b3d5db79973e4e321e0910a288d18cdba172d060283c4f4c6656e9175a18b756b7d06251e9060bbfcab04978853eec6032850a0e757bc0c61ad38aa4eb6bb6d907\n\n# tcId = 7\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\nsig = 2ae8d95b19cbd64d0e343ff413fffb85d8e6713c06ac8a1ceba7f3924fa740f8d2b3e120fd71f22711e795cd6468c5e263b1a5ba6ac6b8fa9e23d2d6e7243f510592a61d134e68b8ead00612dbf38c5b7302abc3bf33f23e6d4816a6e3ddcea6482566e84f57464f7d56de4cef0b2256ef21874dda4c131a47292ff8ef853f93804483c8e6373d39ca3a22552e75427b812b861de6a310ff4c366f6f6604116efd9770170aa423554c4ebbd2b5c0698950e66bb5b7c5c346285d9f5c35146255736b6e818e8e77983c93b21e7f60b04a7a525598e7fd8049b181000bffc7f3753a504370f6bb70617ac8e914deb05a198a5758a459c9fcd2fce1aede48e8a852\n\n# tcId = 8\n# Legacy:missing NULL\nmsg = 313233343030\nresult = acceptable\nsig = 095dad1fd82bcd36652a381b7f4dd656bd89b40aa58b56da4f6aa8247874b935e65d2b86752d537df7103884d39dd9ad3d65f87404526b09094c5615c6249979b0dc58d2199ae8696a5b76b4bb03eaf08c2ab6aec686c6b1b289c9b44f648bd30cb1ac6a64a73d68e59cd05e7aa1b780f4bfd7b83dfe3b884ec11821a93dc5bbb47a00eea4557b6b96b5656276001f1f295ddbbbc511a99b9a665b9c2674c8af0d812286d0be3ce74817ba2cad283757de35dfb149f2835f60cb03ff155524a57f78b148feceb84cd20b0ae22e3e48f433fbd9bfd60be8afec93165ee0310be961d3695f309d031320c830aa6ba08b5a51d943797097c57630be391bd23736cc\nflags = MissingNull\n\n# tcId = 9\n# long form encoding of length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 8a0e82d4f334aca72a718b6f8f643f69c6048d619d5eba71263a5d2d3ac7a7af133b780c7595ca2c982c006e861948f543cd0210c758691f9626842c25de2843ea314ca8eff285d47e0cffa54180af416004017034962a80a5959c3d3f1bfc154a4824462a93c014f6dfe920824f414a6e30e0e5944d480b99949ec7bf64c4a7461575933b17d7d6b0178b5192392ace3ed8469e8ac1dacae51ad5d3ad73dcb213e056d04596e64d8c0703def3110c7cecc93ba8ac8059f0f3d66b89d8712c62b41d407e4b4a104f4569558b0290c213cad6d0653898b9df8f4a453ab07d13bfb7598d505abbd0c4987e4f1ac66e1a523e113e370ab7cf990f0cc63f50f4f0a4\n\n# tcId = 10\n# long form encoding of length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3a380c29ce2f304f33a08aed4bd92cc6e8cf56596928fbde6b640cfdbe1dca564cb01421789c7fbb49856bbafb34da6e1c8351fb12f79a4614c33e50197939e237e0b987efdbc042bdd09073f02624c520f1e9524ec1cd10e917b9237166e3689afb710e6c4ef644e08ce866da6dc8849e0b2b4c6615b0aa803bf112e9a4883c8e60660935c43fbae9d939fdce49af603dceea05246b220a5cf99044f0c09dc98f3640eb23fa218d1421adea7898563144085f2c2d1c113e7046f80ff359b2f65742c58551ad62eb6dc6e7465553f7080fe100fcf1aad89fb079bfed32c8c4c15c84d2193de22385df91e9825717feb5209f1dbb47962df24f3b43c114417ae2\n\n# tcId = 11\n# length of sequence contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 8d9c25235cdcdcc7ca2558c0be14f83afeb303f00c13106ac5affc952af527a0585cf4801104a7d019fa2e63fd0b923c061a24b8be7c3105443c8eedf4a033d3de802adfd80f872d3c505f41e3feb116f5d5f31f04df3e448bc7e7cbc2343f7dd4f4c3d2670ed3d3c66f91d626bb12a2001160a123d03b77d2a6ec53445db517147171e3ba3cd7dde902c486c74e8d8d33d4f7699791179d1df4fac78cda67da9138c18f2cc886", + "3018e1739fb309408c62051b715096512602c5c4c7e7c394282593ec087832fd48b4f353d8046600e4152c2092632a79bf05497a13840e171047d79c23a76896235e9d5f0f56a78d3fe472fded2899e228f714690b40b66ee7\n\n# tcId = 12\n# length of sequence contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 884b4b6838fb629fe42914cf15257111b502385d71dae543d03597a46cb10a6122f6d539ab411161ee278f16cd3b5f4bb7dfea0f907256d96cbdad1f1fb40093e9f5c97880814d86091bfa080bfaa5a955af9d15e9460610d4c859332c5beafc24fc9e02848e951eee2797246bef20dfb89e8e949ed52af39663f5f088690f1a24abf8a8e221582282127344bf740308d146d6d16b127d1639071037fdcfd630342ac134ec24791cb8905b77dccf45eb3ed7e9b2e72e60b5e19367fbb5d1c41853d79965530b3181e4cc7c24b198a61bcc2e63806cb6b3c76757737e35066b7f1bf0dd709216fcdab4f35d550b31ccfbda9eb8165aa78ba4b4e66e316ee07282\n\n# tcId = 13\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 9947c137ebf7013ea9e41f1ce93fd29022e340e6ade56c1119cd826430acf9833bbc1ed05c1899757a79d3104c9b4133ff0aef7e1cbeaafc2ada2422bdf9e29926626527f947124d5549d9f4fddb809f84923aa335d331c392a5ae5e29cb0f503e230ce7bff114206d5dfd51b812f9ed5448d9100125a8cc2324e560c69f4a492988045c97ab90a2806df900c3b95ab95bd634dd0a50edc5312eeef6463bc4b62e54261cc67e9cb9caa9a0a7550183c9e03f26bd5c8718dd77f54290b3a27a054d7d3e39e8cb45529d585ac0e507b8688219d2b8032268020b68d2284f9f743debab5cd47fb3fbd77fdfe3a9d7984b11a37cce190ac89a472578a3332b150f5d\n\n# tcId = 14\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 259cc7e43882850415f4d7f2321fde08212490f6e9929c37c6a60cf686eec1dee385fc513f5e4105f19f2d63565b2d3762080634306b4ca87f857912bc062f31de6cccae9b48213c1b661ec9874d426d74e4c23c0ca53abc8f7bfdfb9d32dc6b5559f6aec33a5b9445ec4490302af6893890f57969de00287203d8df9a511b678caee2a7d666d9fca912826216ae3c62a37f12dac1412100c966ec7c8ff347eb79566784ef86943e999d0d1aa46fc9e5b90e9b91f4d16bfc2d5b9ffd4515f1d23cd0ce9612d19c28079702e1bc96b98cd86a5708b9000a5d61777a92d7d033557492f9ab1a4aee6719dbb14e6c3b4998480a8d49013898a5418bc8c63c41c5f1\n\n# tcId = 15\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 8965489287b5c6732e9269f3ea349830169f9ab644076423519bd18d744e9547dfa82d9bba9a8cf4e1ff5bcd79ce2c4168a8b6b1c7931bf4eff64dd18a1728715274a735b9f529a2fe7b02cdc2a8740c2f16bed7e0ef2ef003089a30937f04c2d0617f70db8d67ae9f6200b8279200a21a7862b7cdb406d4855d8fc950a10d5430424e4872714cbe07ea03f36689f756ae0bc09b08cf1f3343cac1e1ae6f943b5d0b2a3df116b0bbf2d433a8c03fe27c6cf2de2c0603b2fbe174a6a4d0009248c0a04ee4b6f393195955ba0818d5e3abea276d9eac469b5eccf6b37d42e38d840513d7130009bb93fc3d208b89429d053ec1fb5b635e6240b3f0021c7a243640\n\n# tcId = 16\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 2503d3586cf23777bcf02ac28f32daa1664ffd2e2bc3c34377d80718cd02195de3de6d10cbb057db69ca2bac07881497189bcd66b181972aa8def94a879dfcc1175aca14781a2abb39cd71569b721e69e9d9504b4ed54a58a4d8baa5f17bcaa8ca9524ed86cde37a86139bd62502afa770f4eef4293a0ba157968e42e77dd690a3920311d24013522295cb726e006a2e7f26dc287fd2754087f784151ac30188937c99cb20ae8d26db527d5dd3020742e8964f518bf13bf2cd36d99eacb1c81a6a9a46155894153d3c1a98e7671233febbf4f30bfad312e0dc4a9520a97098c634966c204aeffe7e55543a436ed003ce0772d9f57c8b0d3164ddb785639314a4\n\n# tcId = 17\n# uint32 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 129990973396b70468d380897ccbe6930a485460bfc199c7c8efeedf81c7fc6a98f47c0afc29546c92d3ac2d93d8b1c6909642757fa52de1375867a197dac0ee58c5b62f12182a5b4e703ca981ad344411e2dc3aa6c456dc69651cde35bfe136ca323753137b4a28571eccf8d1f0cc4cb4977238dc33827f1bf670d938f5b902e6389c10b564608b396feb0cdca57f5bc3ad6bbb2cd324d531b0c5538de37482a09ce103ef6399cdfb404021c836151c81adf6f852f9a96919e4e78ce76aec77a48bc5eb224a3fc404373e28f07a1488ce2fb3181075b852a87941bd11735b3cd6f5bc0b660031fbf7671d3bb4f8c9f653b8c36e89320f7532ac0fab23dfadb0\n\n# tcId = 18\n# uint32 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 2a004204ec4ec1515b855f1dd802299780835fbf7430f8f5861a4c6d86adaf38159858810d8645a3076fad16d6daac69b942890d6cadfbd12affcc3d3fad8f07e90c2b1e5aecfd9716ac9a12349e4a4b29eedd9bf59d875cbf028bc9a1a0cb4f5ea77b7ad026f09a208d3d39477a1ab59329cb64e9edb6e7e552b8875a73490551df742ab300f254b7805b4a9ad72b650ca944289a9c7c5223d760baad3dea1fc36d2b5961684840939fab0ffaf7fbb7e181ce3b92d9f7eb833235d97431b76891ef910827d110ca9fc88f7e4f98e84d00a98a1b5c6c70d86d89f56bb4f33cc88936db2b7f8127d11cf94d91f56a07aa7880f6a7c3c25b0df691d8657c330a5e\n\n# tcId = 19\n# uint64 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 002faa1b204fd30ee0d3d6d79274f3b498f736bf6e6b34c0ec6eb418b7a4c105c1a75669c092f52fb1d39b2247a8d5692aaa44d4a4d70b8f9e636dfef370db9315fc1b35434af3ca21afd366c3295424bc1230a898186105a07788b92bd42c56d5b66a336fca64fbe58a843f391fcb58588466e0ba484502aa26c50ae35585eb95fe0ebf248b7a57782373cbac21a00928a091455347127910eb0b9ac35c1bac4a99eee0b718550ad282b4210eabe0602823209902b2bfac9283baac38940800515877366117a2d383e8f0cd09de7c946cff1eada4f1f97c44cbb3bf3562ce21af7f499af8ff40e13b907e5f4d1696dd52e3726570228095b89d4ed958e618a4\n\n# tcId = 20\n# uint64 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 6d8de4a2cc01e33812da2d364cf3cb4fea7c6f37b4314c123eccbb2e4e9ec5d593934c60dadd5fef2a273d01447519573f701d398cfbb72b0c19937e9f7805fc4d354e292c5d0fc18bb872f6843a9211802f5980538ec6b100e3b2b744693a9b8d07654d2655414550a1645f047c865291ea8043137758a13dfb1652ef7dd42182603ba597eace857f39a0b7ea0c9a987326f55358910cb51e4141653e9f3c3d73f09686463433520ef0786163efc39bba3c62cd5c3599678a28b90470bb6f19fa1a56cf60e8c3465f8d7082728c20730227a2a3d2a6a4cc50fe0217f35a45459809de1f921ac5b6aa833a85bda15e288abe640829bc4a0af1aa9b3692a414a0\n\n# tcId = 21\n# length of sequence = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 4c698321f4342f64a87fe6b199d5800af12d39725e449c79706e9af98b51a2d0d724663ab87618b06c49d3c1b98d97db35fbd8746c1d9a61f31ead8893ecc072057ad4004a53009703f66bc2b4fa7fa6826f54e8b873c79bc19ef71fe61a182a8be6cdb6dd35d87d1f46746022f98360f3870f49aceac4bb1a839977af2096539a2d182dfc4bd97af34ea075ba96c39c4a85b3ca83002f97e992c110d40cb6c668eb9fd022a4ef89988095e8c513153f99e37d9cce75a7ffa0a55af6b7d8314de4690934d55895b99cb0882adb346feb8af0480a4fc46251649d6cb2e4358dbadecf27ac713dfda9b8f40cfecb642b39bc1cca681d5628f4fd30e8788635e937\n\n# tcId = 22\n# length of sequence = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 43fe92f5ab6b2583fbba40b493ce45f9eb5f9e0254c6e2547ed4b9543a2c3a927d5b9c1c12525f4f94fcddcc4c586f4e16626ef48fb0688e07eccf77dc65a26c28f374aa4bcca05c72555e7f54d896065f3d44a728bd2ef9c8adfa698b963c16b13c1d5346457beb6a66c964330e0945dafc5bf75f4ff26e84c0a8bbc854c6c877ffad409b11627ba951181939ba9a2e28764de34704a5575f43f70c3f4bc5d74f4d651e25f32fe238f193d4ca55c04463dafcc2bfe50e017fe9d3bd319311bd2d972f5e04d8324a4b26842fd66115ebd139440fe89bdd55d10e14aea5d9e3f6a5c5fac4acada9d9e2006e6a0c36f4b94956493c9a582eab35c69c9add972d40\n\n# tcId = 23\n# length of sequence = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 64401a452e3b56bebb1d5f3cdcac3dbb0a6f6e81bf2fe938143b9df7e8f6380687249a0c30a2bc5ba0fdb1e4d0fdecfdfc74064d365fb8dbca0cefeec0ba6fb4f775b4650839f03dc681c1f78d298f6c789ef4734d0a3ceed09ba8850671911e5e68af41ba2f37f3e56f7864fe4775ccc6af928876290ffcd20b988540c0146db97e333da0eadd4772cf15cb494e366f1f3bae740dbc69cd339a5d1f8a5e608cd61eafed4e85886796520ec5ad7240d11f1ce25463b57d0723509fc368f8f81a6c63ed2c61a216629dcdb9fd226215f8b248e2dbab5cd4f62600fbf921f4fb666384333d92251578dbdc5dcecfacc2c4435a211cc984346bf254b7cd52aa2bf5\n\n# tcId = 24\n# length of sequence = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 8998ed832b496be462a431b1b32c3696374d816bbdd2e348d98795a5ad27b02766aca9b161d8e8c94370fa38c56ab0ea9aeaa0bb37fee33a7bc27024024d321b25504874343cbd50dc31ef1429b16e2ecf53deeef15b4a8e5a447cc3f1b212179ccc5ae4a62e5af2127c02e53e8a23cec5f1863ed53e62f472ea65d599272a5e4c0a0802553f31dd22103b7fb7155fc8ef4a3a7061f78f6e72c265e561436159722da4b8850204a7d85f7d45c18f5ed4e452cb146c47963e38cd29f2dd3652720fd4206bf96ba2c7601895c8771d1b73f03fa88ecf81b8a8f2f290094d85521048ae0c097460cf8340ab32262115b5332abd75950d46ae77ff03cb618dd69e52\n\n# tcId = 25\n# length of sequence = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 09634aaa108980fb190dbaa425d9908a4237a2531c6471ad47dced90ff65e217baa0d9a8b5167d1c07fb414c88214e6caeeb6", + "a1809cbf28f9c6083bd54cb2fea79296ad2dc1e27de2e96c056842ad7694391b40c6b6a6693c64fc1e3dab13185f8c1406ad4d2c39a04c3f6437519489b3d6185d9415d97e9cc405dcafcd488cc4b93a9df5100c1fa8dd31c60575dc64067f2fcd26d1f5c44919a4e28ae00688487c279130d087161137d6fd480111d45b03057bfb7f79ae75362439775f28e84839156b9f1fd1aac698f1b1874ca19964d30a725e92d4ab784b8da18258291f86e0116c9d3d4be6931568c109068ec52af3a26aed5ec136abadab1688f06488a\n\n# tcId = 26\n# length of sequence = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 4e63d527dd005236fbe35e838f51ffb09afd2669b684d9bf7488ba49730154be9147a63dd33473ebf547272cb6105b114f72f544e4568d45dc814a3c5250acbcbcab008dcaed3458e02159bf5be9e4b20420f9e4c075d27bb980748528327a1bbbc93f63db57ab03e7fd86c61db3ff8c39bf7d818a26d573fe57f5010718021e45299624e25a2f5acabcb3a1ca608fbde28d13cf74a3f58d283fa5a41e875854cc480c5948d2c0d57f2b857988a28e34a7dc5159c86ae1f970f3e318e9dc9d29641a521eabc66353ff0dbea4f237bce4ae546b8d05f6ad19a4ad8d4cd086b22458b311eb970ca33c484f0b9dc544ed4ddd88e7f70edc32702d66ba570b749428\n\n# tcId = 27\n# length of sequence = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 467e9fdad9a1f83ffaf7622a156384920eae46b89f63c3fa61c5066786c34108ff73213ffc7ee9102f367726854aebdd9eaed49b32c88517e136778dcdd7e231716bd618261615d029241a77f148c1e5e39777a9f85fc3d4e9320f2455cdfd3280184ae17e35bd9be0a0a0d1c2a2d321a3bc86588fce12d929de1a2f473026e0920b1cb8b6dbadbe3810af22a3e95dabc9553733afa026e0c7847493182aa1f3057a3b227775a3d7ba139c1724b3196f6300ca4ef457c2bb3f09bb2be6fb4e7caee6d4502c962291da0e499213209a28cbf2c4adf5d559e44075631c3035990aceca49bf6161203390509a80bcec1d274f1e9a1bf26c9f59244a695adb2c5fb0\n\n# tcId = 28\n# length of sequence = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 063b7dddb7483a77af978f1f09180b98557643574b40522da25e8636d5e5a71888c79ebc5de9ba6ac0e4c30c8dbcc4399661b117e4252d980822cee7cbd4d2aed3a10f91011d11ff92228d02393cadac68030123f52529d76ca2d41546cbfbfd28a43c5d52026ff582a6bcdd10a3dd944fd7232bb950ed162f8827a5625ff322bf98e079dedc770e4d586a7f28b4e19452a353eef2defdf56e0d07dc2fe5625d91651629c5b7bf6e180dd27a1cb51787ff264f0138b46bbbd32c5e1ea63722b4baa8e235f27e283ba6c46f1af28bd744e2db92e326ee7139b9e5370fa5b5e2c2bb79b60c9f9e305a8acaf29340edabf7531d17fffca6f43ff07ef5cccb50eb32\n\n# tcId = 29\n# incorrect length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 5afcf0d327a427f6d51b87aec24789fd7ebaca9c4eebcc307664aa6e92b6acc22b112faa3918ea3ef24552665965842639a532a09b914bcb3b953a0726d5f88eeac1bf65bbdec56d55bbdac534da0f83e182dc8cfd6e9a59095bc82b5f0f5f56a1163f716ce722d80394a712bf0d5d24cc13961079082e4598c8df5510e20febb3d1a778fc5876c65a3e1d3700ea537c8d67f7534780fa8d1cb0ef9c39e439dcb8a4c8b76a723ff8309e3f3cf39e6cdd6e52edca5308aa6be2628608d5206e82251f9f7cd711183f3604d83e1c23ba71041b92d33a695225b1a3f61fc742f969726d79504b224be259e9115f1988bca3c1e2b61541527227c3d629b22a95791a\n\n# tcId = 30\n# incorrect length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 543ffa8db719767c9eaeacdee487311bd4c1d3b6bca2a07c6a3989eaad5f39042dae40b45a9b5aff326a2994f36f0a2a59ff3d46a3d4abc705d26afa3cd35a35bb662292c6ae3a47cea9b32de37cdadf797cf72c7c62f7c9b61024ad8c7c82f5efa27c8dfac28840677116183f1f0721fa36ccfc13ee5863589b0433b20b6e1c954cca97b3796232a3b0b2b6205382de80db8487bd00b620a4b423acfcaad649a683b915de7caa65a4efa6b0a1249a6d90348171b816deb0cf8c99013ffd84b8ebdc660866b56545de6dc4aa23156cd86c5bf3d5765ab48d8d601f43dc898ea6e05fc0460a28bfa2a776e8917c59f02f1c8e1cc454558658768acfd717718c6b\n\n# tcId = 31\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 5f912ddc495c20f1975219b0b5cdf0629585a98d5565e8ef2c98fd945cd851d703be32da38e6a376c1269734de5e72734cc685cded8a31d430f526dc3788dc2b54de838ce6514ef970afecb8bcc0b2cfe0c5e8de29d2a6c009813050114374e1db8d7f4cb714ab291a6095b7e2713a28b5dffdbe3ef127307e10155e0386e3af886cbc8e1b9b66086dc9c48d07e460fa4cf66197414a4e1a72f6bf09ca94964d668666ec1daeffc52a3384cb61abe1a4ee0c26674df776c7769fd0c89667a421855de0b060b169eeab02ce0005a1e7d7a126c8583da8a4900f14fbce7ec1b4120994ebebd3e97e0d9465bfb53f2ebef725a10fccd0359a2724a9ca18b2b7f715\n\n# tcId = 32\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 5dec8ec2a5ccc79cec9d4455a2479f562c049430d572b98e5bd44b83ccf6a08d94cffe4699dd29568dbecddbd28c92c771e37e2ce716ab7455e4a92ad87f9e5b76aa1ef1a08e3a77633bc71b3756e3ac956eb8d5974cb50b88a6f49f36d5d0e84bfc4d379621fde3bdfebfd9cd916e1294c854330218d50aef788aaff97e68f7cdb2e7a12e8350dedad00a0ede2d72fe294effd152ec33f95d66fdc648904c657eaf6fb0c322f5881bdc1f16305c3ef90c3df597a0e75222b82d79f5d6dfd913b2f9620092f418a3e67c48823b85e96b1fe85d306f3653a799811a1ed3dc612461383a6c1eeac737dbd2c6c20fbb56567bf544d199a474bdc38621c8b9bc7920\n\n# tcId = 33\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = a2ada8ff1c1821fadf49dfc156293dd59ac8f51367633f73d2200bbb65bd960f7b888d1a843920044ce98528773f3d3df57de92f129c03e1f6d425d39ac83978c7c8ed7cdcc8d47a778350f99f8fde4f6028d5ea77d46091f98f72279c59fb39ff8f73b35ab1c6748970d325c65ff49fdf833e8c2f40621bb770f2dcbdfc34fb22422f0105f5f582c90be73e664c215cc6d89419a8909f0d13f6535182aa567d4e16a2f7ce1e562a6cda4582304a5cef821c538de46c68509f3936166c109da8ef13f2000117644024ee1ec10e8ee4056879c07a6604956e1d03828dae5ae0eb60c322dbc6ff183a57b258c06a2b837021d4df94baab66be636b505a5a5b2697\n\n# tcId = 34\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 743209d44a3c907ca08c0b236b9cbabcaf210bf522de862005c977bf7099cb7a38eb9fb15b765a044703c9410082b6a35a7866821f33bc2e2a58ca8bde08b78ff6b3c53e771f8d7fb43503d8060a884ff6012101278564edd6d64fabb6add5f4d4c62707c2ffc45f904acb43ca2ab5609a23daf9cdc58aaaa638f6325a54a5e272b253bd57246d0935bcd19c7aa31f878c474c8298ec567b6a7e165c2e7eedcc80748953c90d20699ab8303062580d4693c058ac761678df6c875bd91d465430afc93cf0bce027ed00a35842ad560d79bb640cf3ea55d8ade362c258fa707397663fec6787d44ec075d857a6fc55c50f8df898da77252d8903220641005177e5\n\n# tcId = 35\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 098464aad869fbb37c36f56d750ba97ba6bbcf96c9e25d92fbd5778fcf214f6a24d1fa276a14b5945320eeb37dc9ce4cfdae21ba57185246052ae26718b549a59a81cf26387356b3d3fe39a45cf303741587e664244233fa2263cfc6f209f796112d61ca5e9f16e362765b0651e8e197920137a3842483772428b1088e7c1a7aec2152b62688c5655410ebc4907680753079706931359e893ac76ebce92a3572c7eb32c58b386d7ab0f3af24acc5047258b5b7c0db4c1ea4a4b64203d65aaf6c879ed89bf046ce5ffb1c647e95630ca485acc9fcd6beb6a5d17bd54fb518cbfa226d9738beb55325f1883ceebed860d54f5db3f1670ca910762d877f78af80d7\n\n# tcId = 36\n# removing sequence\nmsg = 313233343030\nresult = invalid\nsig = 498209f59a0679a1f926eccf3056da2cba553d7ab3064e7c41ad1d739f038249f02f5ad12ee246073d101bc3cdb563e8b6be61562056422b7e6c16ad53deb12af5de744197753a35859833f41bb59c6597f3980132b7478fd0b95fd27dfad64a20fd5c25312bbd41a85286cd2a83c8df5efa0779158d01b0747ff165b055eb2880ea27095700a295593196d8c5922cf6aa9d7e29b5056db5ded5eb20aeb31b8942e26b15a5188a4934cd7e39cfe379a197f49a204343a493452deebca436ee614f4daf989e355544489f7e69ffa8ccc6a1e81cf0ab33c3e6d7591091485a6a31bda3b33946490057b9a3003d3fd9daf7c4778b43fd46144d945d815f12628ff4\n\n# tcId = 37\n# removing sequence\nmsg = 313233343030\nresult = invalid\nsig = 4da37914ee4ecf0c0973cc89f9476e2d872eeb2fdb3eddf6fcbcad9b21b8eeff2dde26be6a26d5d5aae6300b4caf4f77f2ab7907af2434026c3369d76268c88b1a4c555c9d54723b17ac48ca1118d94e147a4c63c2c4baefd244235cde4f9c254bce8c8c21b45b7a2fd9d5971b21abad1bef74b9d5583d352ef67483ee611ff3f97198c023cfc56c667c81ef03bda4729b2eff85c24e75aafdaaa4c0f47419d8a63fb2ff72c074ffe985ec7f88bb0e93cfd375c656137722fc6aa45069771c6c66d4b109a5dfd8500331d8d840edf9a5c8024b2520daa56641ead240033b0aa300ff3f951009ac46a97ab9311f8af9467b8ecbde36c9744e44168314f092529d\n\n# tcId = 38\n# lonely sequence tag\nmsg = 313233343030\nresult = invalid\nsig = 1aff9b9ad34e142421069661c71e35b98108a8f976191b45a97cf12e8ae8ebccd64c0fc6a795f4ed798fa4a2f79746c57a86f894110c1a5402dd72577c2bd9817a9e7a1b0b7e389527428140d53f4918b305e154f7c143011dc27ddb874c52b57758a3f4ee4395108897f0cf7b4fd7136ebf991dd9758bd2cb85cdc6f9d96a40f8e6a0c12970c18325d5742b80ae499da45655f972f33a80373a93572fe302dca03cf7e004690618c5b725e3b9be6e05dfd0ab8f28b8b994ea202875268837d3876681a63e88a410a0bf4a4c41f7336be2799c6e62514a5ee0422cb6d5c57c2e45e9f96d667f8629e0987421f01a9391a3334d", + "c1e8a35425501bef6641f9e6de\n\n# tcId = 39\n# lonely sequence tag\nmsg = 313233343030\nresult = invalid\nsig = 7a1eca54a78ee1e92b8c29d667bc89e9ffbb404c5bf13a87a864e99c7d3089c458865a8e3ab714fd76ea4f01edf15e1f80fc9109cdc53184de1443efa533939f498bac27b0f127beb07e4f788ac5d9390da29dc156aa156d342158df68b825732a8d8e852644afd1bf230bf01c15ebced9f710f062b5aba0ba0edb2c1bf9f4fb453d6ba7cc9808d763930b6d8dabe8224db6004aab4a9ed4495fba8ddf371592b05bc057aadeeb3d4b800dc849eefca86f7414b2ca3af53e04b524ec566f646974c17acc6c76e66f7689b9824cf4f98f75de9b3997233cdadc1a79679c47dafcfcc107351f7e64084d67bb986dc2cf693f9e9af2d46c5f8a560b1c7ba2d3a202\n\n# tcId = 40\n# appending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 0e6eb88e130cf0d79056bdcb87f016f99edd9f35519c44bb509a38cd346d996e3d9b7b21a40fc976a935f2904a6423dc0f251d8a89c4e1424d3312b1e7e0c14f057fa3a45841dcda2bfcf107c2103c0475cbb34d4c769e98b08cbd35964aefc3a8dc4178725c16ed7da6b438107da2488af8fd5cb2c15a8849a531e1a955c40cd6c147956fc3e8a15a1082e9e9a7878efab929c50d52fd6c14cad0987f667221a0c8ab29a682de04e437b20c82e9a759291dabd22fb38e86121b71b3ab473ea0977441db6b137d01b63e328412996ccb8dc27e57c8cd6cbeb31e321160df29ea3151f34ba36846495b6e4bb766f0bcdba00062265ad7d01847e22c06a463dfeb\n\n# tcId = 41\n# appending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 755f090081189878ea1ad03070944d3466c773ffb2632b045ea28655c8527488aca42357718436f6c9222a16ac61ae8d752ea18dcd9f0c5370e76730c31eeb772755e3a763509a9126b64007341c5fa48bf95bbf3e3a9ddc36096625b0f6bb27108dc1c4bfa191d66a403e11df2838fd401215cd2dcfb5806ad0955edc2feda4a19e0d84968a6e1756036bf0aac8990d7b8bdbe45a6c0edd8f55720f105d70be7e42aac114a528f1b3beb81ae796d455beb05b4936ea3b0893e8c2fceb8a6b8e1bb6de37c40e4b3da2a1ebe9a52244a5f4bbd1ee201d218d3a120d6add7171ab56da3062de4952495b602dcfb4404d0c900144bef9d46cbce6d7ef936160342c\n\n# tcId = 42\n# prepending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 8083dde7cef1b018fab0e9aa58744a665c24dad0791dfa6e8fe3e95b320a94038926f6cbaaf19562fc53f3a69e0aca0d9780af9eb9267f19a081343294356fba81518fdb961574a7ef38625c201036ae954238b889c8eeb3677f7f9df07badd5f27ceb0ccbeaebedc41b977609f8b964f028454b4406e22e0034c3655ab499d01d1b6be0c19bfc9e4ee2e209dc033ba1a66b50ffececa532c2c806cd2ed2586325d5bbc57f42840d8df88636b488ea363bb7f3ec35d65a635befe9d96ce2cb8c4b7b0f90ae3eea677debde8c6b2f63a0bd6b694922ffcdbf8e54864f4a90202eff266678490e53923dc48d70e9fbb756536fe6196553c8492fb5ecbd0a5e66d1\n\n# tcId = 43\n# prepending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 85a965f4cfddb17eb81195bdcb081d307fd7f218de37c6daf043d1be8c9bdfa85b3a7a0951569e670cfcc695365dc45e3b9e44a7d79fdc3b8ba92912a642ecbcea85d56654161b777b280b46be78abf7f0ee220dda1ae3eb4e39fa7ae4d2511d4111b31fe17dfeb897bad9ffb1fb367076ab336b1f48530f7d39f106cba2fb8961e59ed3b060c64f5b2873ee51ae59526e782afd794905923c8753be18ec9cd3791e96eb00433548f2f2da478053c7bc222281e7342a0510224c9f9e53c082a11331f0923c44da8533b56563adb781c76f4bc303ac5754bd6d7448df0e23e41063992ce6abb3d31378be040aa815fcbfb333559fb402124c53f1a5b4e6fab559\n\n# tcId = 44\n# appending unused 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 51e52edd65ff6f2fb812d2fd4f3f9852eedd745630c9bf12e6f63347c2c80402ab0da654155046e4831ea02fec6dafffe94e6c450a96cf56831a0bf8e48b99456da7e17b9f642e9d6e033153f740095a67c86f5fa4fb37eec9cffacd7dbc368bf07ee00050606748dc887fe0778871ff64953c249244e78ceb4b62efffd2e9cae6803c25504a67fd94941eff1a320b1e0618eb9cc350d8241892adfc42790f24745be12ecdc63f891bb6c0066ee28895c78a9f1773ca527e976eb29abf4f649f83f0fdd7a7f72b7dd3343149b4c1b699588948e5508a58bbc481fbda5115cb5822cb10834cc01989264c79794ba032967271a7d2af9c12a493d1bf3c070b7207\n\n# tcId = 45\n# appending unused 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 84a55f8bd78994a9e204bf57292e1c29d663a8963c01225686cd646ff8b23f7ce6be18817bfd284d2649b075fbfe233a2f8cd59ae465af14602108da6bdad31fc97500f791ae1bf4459a4b3be350362b46f84697742c6fb6671533cbe73dd15304e7c569c673c799227a6523a54eaa4e4abba2e451c3f75cff2ffa6cbd9b04cf4a73a35e6bbccb4445a99a1380fbfc2cdd5fda03bde573b4bb88a205fbb38344648ab03829f4e3687117ef7c12522ade2ef736b24633ddefd0ce6da208e860ca6f3a79492bf4db6b466500371e40de78d5d2708c2a97999239e38852de7a02981203c8402274cb1aa24fdb3e2cd27a4305b15797a498145848e74d5dedab41f8\n\n# tcId = 46\n# appending null value to sequence\nmsg = 313233343030\nresult = invalid\nsig = 19ba81c3e688c41625d6714da91efb9bfc95a634409325f1cfab3dba44b807fe063740fae7604a839efce051d254af50efe044bec96280a831ae8e4e93a0d0611e0a43de6aeafeb3eebbe0d6ec74e84fdfbae3ac8cadf657fa342921274be801d05e553f589e8f48d2af38b79404d965e0a4def7c0975d6d9b5351ea82451b6bc26db3fc64729325b059f45089c90f5c8792933487d4c5317b62a02b9367a99e8d5c4148faa1781ae21200f1c39be49353d0976502ff19e08f374ee685d58f14dacf613fbb3a56ae3f1bff1afc060ba36aac11e2d038272c01c430bd463fcf55b311024cd7ce10bf59c32ba3d9943f75f8f76870bf0a8dc3e786e0718df3c01b\n\n# tcId = 47\n# appending null value to sequence\nmsg = 313233343030\nresult = invalid\nsig = 2f84141b773914947f72db6981d6d0815aa77fa8ffb0444c13b7612d6d89038b02eb60a7641dec20079d6d87961502330f228b936aba65ff8c59a651656bc3ad7a3131e55312d334da0f600f3538f3b65ed61a5d298e32f74453385d09ae45eb93a4d35ed2dd7a7497085d5d3a36e65f1a0bd8683480397dad3b304e49cee02201a9a1ca5b778e91e68ea35ff72827f968426465845698ac0999f7311e5c532438e8fb494d8d92efb520293c503cedac0036fb42907e78377f897bd7b94328f6a1a594ea2ce3770a49bff8702e534798e1eff6324310c6ecc71e5363a0b23f5604a2aa245808b72c9f6eee364bcbb22e8f144460c5300d3f89f3b8b6fd26c15f\n\n# tcId = 48\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 5e97f3122d202fc0c7688f28a0eba5f5ae8795438b09f6532a2bc3e75a164075146f72e0b3397bf086ec8e7299b67f5c54e4263aa0111f4ff3c16de9aa06682d63be4d8e82b5e2b3c15d913093e29ad844c70f9ff9b3a084d41648e322a2212463ec758823591117e03d90997d6264e5bfcc15b834ce7ae785bf22399a85fc454f6fe9cacae568e0d9bfead7ba998cfa1f25a1b7392edda3115801eb31c9bd0eaf6b5c070224fed09fdb071f87266a6247cc4e3c72c591c5a88a6b41241c491215512a810efa993b0c77e9d3ea4fd78fe9ed4baae8cd8d41196efa3d5f2fa2b4fa6c027f4c385f98c88a296cbc5c6459f91dee01bbdfa059c50b42639641b29f\n\n# tcId = 49\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 8f32f73f3387f371465e3a75a0d1c7df7c52c11abecdb69ba83602c9f8980177e7df76438f2e95ccbb031e0ab972c30279dd2641e5cb43a24ece04d7477879bf989e504887513eaa197c0b5e6365ba62134eb51fcd3a713c69acce9332ca50ec1796d88ac9921631a1fa182e6fddbeecaeb9ec468773cada71f908915259967fd7932f41a3734f09d230b1dd487f3ba1df1ad1be8306096f3dcca684548bd458b0211738c79a8104a17689bef8bb9050cf59df1b0efd3aa3f203b10cfdbd3deafa36d79802126de196c9bffa362b797ccf253af546c4751b68f7a0b819a5b634a9baa6b981b1bc325ecf2b0c48c0463f85b02031589dd793eb682023cfdc7058\n\n# tcId = 50\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 2f02de916b44a1aa31811b48ae20efdc26319f2569fffe23d0734dc4f4085352945135b209d4609bace95f8b850146b35f703854d4435536d00c3fbd9e9fd93812b4741f64c33271c01ded56a6c103121dba041b6fa1ca7f9f8e26fb98c6741ffb9e2c7abb10d3581e8f0a8ebcefd386957daf36d0aed4861a2b480467eef8fe5109012b765c6219dfb260a2aa016432dfe74ff2e71c2a748d9c99e1a6a9a98659ad6b5934d7e538c7aceca9534e6a48d27469a6ad582ddd838f135a5fef309e0efdf815485756e7d8046e0db84cf136a725f5defdd78935047dbba4dcca1ba153c68cca59844e1691dcfce73a4fb11cc915a4ee9549c26d08a86ec51a69e104\n\n# tcId = 51\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 1c6cc57e11fa138c36bdb069b0787fb67a46c70f39124ab2aa2326386e0b055b8195897e024a7e43b7840df0c0d94459830cac7e33ec3f127cb1e9563167b61b3767964122a243e95b15ba9c8e1a992e20d4e70ce14134f932cb5453e795d84fe5856dc5ce39da38af6ea4b6029fafa7f804977ed075c30412ffefeef27277e541e3877f439e49154bf25383c9517162b1d6e469f5e861c385f2e8c45fecbd26504747ce9378f3f25a77ada8ba8343f50cb040f2f8c224d16834c6a4d97b4b8af5d1a08598e9b7c0fb1026ee19feb2a7063f73d78bb9cec8f499c4f66c1fe55049d4fa183b1a5779240b9a7c908c84ef1405e8ed3c53cafb92956d1ba2445ac8\n\n# tcId = 52\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 077b81fdd849f2ef237cf278e10e506dde35069cc046c4d491cf74ce419f11e4cadd66ab1acb99a33f23654a65c860c9901ca1f8ebca29f0cd78e8eda1f69eca20eb12a6c1448eb679fe5255fdf634f3fe2e716c590b5345515c02636a4f2ba30a2b62efcf5cdc13a6c09757b2d1ebe5943a7804249f5ce9901d95b3030eaa0a2065d9fb5eac8006a176bce1f4ac537941c6d74c9dc73e85264ab058cf5043633535b09abafff891ca6a83c45a7e99", + "8de6c8b9b275ae9fd0e7e0ada7ce1434146ab6bd86a6eb790d724b8d3ff921231f92d5fd86f0634ec45b911b07cdd6f0fe275f22ae2219f9497db982e55033dd9867357e6a09a9f4dc281c6aa36d8d984f\n\n# tcId = 53\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 048d13daae417db317d655fd73b112cfeb8cb8be13cb34bf3235cea1e81c4248a7657a005ce89d81fe85f4706a478dd9739fe438373edf453db22fc3480edcaad7acfbee27424173ab89dc37aa50c722a9404bf697f333c5cce65c0394c3a86845029bab0f3e2be57bd98b707e3caeb270d5c0ca72f7fb11d8d6e4717cd0dd6dec4ec5b0829c66d44ecfbcf0b9b46aad8f192c66f1da67c2520fbbb8cf847278ffc665b7d97760ed0581cfa4ebba4333f03f3f7d30b366ee313a8dc3eaa68f1c596b87a848ecfcffeceb961f0e970da56aecad945dd78660446bcf7d5890d0f66ec012c8f2a84a38ac528050a9dc883fbe95b7bc9f289f7762292ee51133ecd2\n\n# tcId = 54\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 20c0e1476060b1ed708c5f7e15d973eb79f23c14d6746cf1f1c0fdc0fa9c3b2acf6593f6d67a541ee279751b384df714a3ae13c1919947638504f0caa2c84291ea00f5b323b38e720035e8ba409b0ad77ca1ccfe909582c4de83e32661be7da06950d959ee812471d878563c75469ed82ddf806a06a4859166d7e7a65953779f9f1a3b72a2063b5c5e6b546beb42bd7a41cca54ff06abfd093a9470202856da9b8709bf1615d7a4520f6842ed29c8911c701e312669d8f7927ea16e4519cb573ac1915061407e957d0ad1e2e732c4f7c75f4c5ee71f25d0aa6c55d2ef7af05deb50656dfce222cdb049a77e6c30d6d8cd1a88938be1cc04ddb1a542409e6a881\n\n# tcId = 55\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 210413ed83069efa72a4215cae4e59f23edbd5d1385294cfca4a8408e69200d3bb73748ca484a5af10b5e665e23942c9e9672ace86228484a8ab0d76f8f5ba63d66c1c6b8d1c032f82c531e4a96856d19dae24b7e090955e9c5716643a81e6a4af6e67d4225f6c3ed2293b8e536c333aa82fc80386249590af1a60307d8787b50419772fa738a753a8d592cdcbd8eab403b744ab87fcf8d42b03040b74a6479acdb21b7b8262aa3d393d34a8f5a5cbc7966bfeaa771641d25611f1e9ecd8acd8532d0c79d3eb80b41c2c6ba03600dde2b555a5b2b7e5970921b6a7f2c341ed1ce44d70dbbf9f038acbed1a4d16004d48fe697ee38a6261c107a6c488f1330a57\n\n# tcId = 56\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 19c1b847f37fe29638684cd2aaf0a8b09af6812685d503713d357d4c97cfa552703d3690f9f3c87d6c95ee417cd47f1ffcbdae96b01e31c59dd4519d5c0d8ac706b6a365394df9c7a49078b489fd612a07d147b98a4b58ce9a0f812f35dfb725e2b53ba807b891e87cb735deb40bae7bb1842c52b924a9413bc893450da1b36edf0a02f8835330a54a2b1ef7bda97f3cb9f3bf354a0c119eb54ef38aaacdcd60aa3e92272754de6d51a54994be7ab44c8dcb11dbd61a593a3ea71f4d616bf055749438f53225b1c0746c6c491c726664ef80e20391e510e6ac99ee8f7453848be2562c173b87742ba48b0596e3080a48e7091cedb9c23fb7d9208990381e815e\n\n# tcId = 57\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 5f6143cc96b7343e57cc83612c6e85d46352b1eaa4b6bfdabee0af42609a9ebde9dd07db4c10d130f58318f7210cff30f122d9dbc1d0f88a3a0b7c04442c6f23794411dfea767609dc5c767ded7662e5996051052f98ce4eb0e6bcb72fb0109370b86fb0d4ea99d0f02a4e0101cc88d01ec56168510d77b0e7890015bb3b22a032957d8f1ade702aa70a360bab6bb77f08e9340c1c53b72b992187cd4f7c879ed83d462fc69062746e7f0041801709b05a58ca4b034060ad14d25257ce4aa93573db71779072c5c5b21168cda09ac775b37b2975f2d5ed8ad4bd07872e74e6fae98e6d9e8e46f7a2623b940ccb662e897ed6df058c8081ad78c9cbc5468b2afc\n\n# tcId = 58\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 324d4aa12baa7237b487b756f251b41bcc3cc8c516e582187035127e1cb3dcc789d5306370ab39f243ed45b8834e844fec49c0a190eeb5b4428a9925057a9f26ed57bf34592bd5676b7db1cbd95378c397a6818b75a65da03767038e5d111f5fee2a6d81663f1c8317ea6c4e64498253bc55f07659d14e0efb0de842af6b823884e7dc2eca3ac56c53f618c10362671c575a1cae42416b1e39962bb06fba2369afb336ce44f3fa3868c835d831746c30c3a609ae5e44d528f7f6c7d306d3839bb46b0da1edefb5eaf59b03dcf9c5116ce49b03cf03c1fed3f3ba474ee078ce37970173408660120b342c4b547e9c400c81be8a6d3852a07ab299556ecb868730\n\n# tcId = 59\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 90a3025f33b6508e08d407443f139b1c03e1fdf203334763e4f010c69d7b1728d37ed146ae7a3667a655ab8ba20c93b5dc432d9d546dcbc41f9a2c4b9411785efd530543f78f5d98e2490a9eaae9164e085a3e50a8aa56ee11f9c27c471a433c6c48da518b890630185ea711a5b3bb0a966af679506ffad0c1f1d2937a6c39ce7e908cab5597c5cd5267f5e724460b12938c70e5b8b589f16a845534702706980b3781ed12bf2a76f9d3a19ee771dc561a84a8b7f4587d4f0763357bd512a1193f07830e64813b6abacb922bf31af6a23d7e2c6d44cd8283b301060b6f6fce58bba01623306bdb761e40fb298a300bc7148c379a4f778f2af934bec60db7c586\n\n# tcId = 60\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3c1543d5cadefa71b2b00aa9bf5ed02fcba33eaa8237adcf6eea90f100e3133c944f434961a115e8bc8c757ce82734328dc2b442887ea984ab74c5fd415941b0876e45b3a338868aa07dde0463459a358ffe8e625ee2c2f94dad9aecc0d011dca6ba841357d308e0d3d2928f85c42ebeb5613918063c4cf398f9d9c6e57337d4a3c50e900c6035ca0833d4bcb705a0ef8565cc591fb67159bfa1e58c9c9e4985c0860126bb4853d700b13cf0c34ead0f691ae046778e8cd8596fe9189136541429887ccef244b71fd494770c6819ad3ee62a89f8cfbb6a9d7d7b01af6482cedf328ba7b3d7c30c179409b6a6a659978dd26c3e3bffb93cc985a747811b45f69d\n\n# tcId = 61\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 8897b2a9b6d6eb401b297f006e7b1a81b26bdcc6ec530968c4bf9558c3648beab5e706954ac50b18e20f3bb2f1061215e5013111e651c456516ae34e63f1d4e15d380abe36baddb7c3d0ad38c0f3f59621024c8cc37bf35871dadfb49c1795a87136d5b04a827a4f8fea6a7f6a2612f6866965cbd6635fdc2dee4e582d602c230ccfc29450810be09390125da052823766729a1c005506b975cf22c49c6854dedd737da6de60632e583bcfb4fed6f5a5c8593e999db7db53642f091e9792843d142411b16bc3683fe6a748de93c49a712b405227f1536ffe257c00b3eb525cbd91274ff8472f113c50621e3221173a058c923bd40e28ecf0faf42c9fb7b01f9c\n\n# tcId = 62\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 6c1eced47b60318495f7cce7800139d09229c4804482063413e96868ce3074fd99f8880dd01937dc0b956470494afd577d35d5c76ace00bf484c2eb2b9ccb48bee3e85697bef79d7d2b6f541ce5a83d3a71c09d5b8d80943030e6e54c5dc29c5d6e4837078c763cc018cff3c4b214de76d0ebf5bf2d7dcda39fdcb936d1a26c25ecf79342e8a3703cd929aaba16ce0340e5b8134894e6b3b2145969826cc5f1c2f72c1c8035a920c7c00b108ca796dc077e1d19692b92f5d9f12a7cfa3506ef449e13c41530044c1195cc7658b3d0a295877bae7d2fd74044c318d34889004a4f1e14a727c66807e5be4124f5a6819064065c0b14d7545cf0395cea881734f8b\n\n# tcId = 63\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 3e7d8ce9db20f4b8f3ce10a548544cadbd05f23a7d7c21233bd12641692a4cc153f17e890385b7047b0997f5368b3162078e4fb7fc12b250423ac365f0651c5ba2d0e92f74886ef2f5624e6677679a64acac595c30d8bc3b0d1e838e18705373124adb1f6f01aa816f871eaed99240d6e6d4a18088944ffb11da666b6fe5dbd1ecda75dcb8b5ccee024b0ff9a4f1788fcef403af316d5b1d1611a1ad3f36f9a7bafe1b209a7dfb091f7e63858a119dbcb793bdee7e68234acf06979c0dd5b869dc4c92921422907f01bd3dcf2517b2ead3d1ccacc68da587531d773e1934d766f9ff40566ab3757df02e20a5147e39c92d65534160cbd33d32036e4f7beab5ef\n\n# tcId = 64\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 507bc632e1a5a2f787b0befa375b322f1989d6dbf4254df8d6e37208c9bc6ce1991a8600abfbb36b9b8fb954b4e5fa134e66bb528d63cdd6c6b05be5844e80d63ebb1503580997c817eecfe7fec54392614f79e2a3c27878e7261b78b433cff39c9a4805502aba917955da4c7bb816a5e636300d75d47b93ca0676ca35ddd15e6d562f8d376f3b60ab5e88290a2a2e0d884392921416d3405e3a3ce3e7e4e6e549c1361be042d060b0a6d5b418369509cd63dfc538fa648083574937ac49ae02246c2a0aabbd6a710f7826bf06dc16e47572e0ed990f3d2392cefb5c6e7eb4b6cdcfa39b08496f172481e20b4cd0c1d529d98e411e0025fa6aa3caa9446a6c9f\n\n# tcId = 65\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 84b76f221b3b7d29be54cfaefd1d16d0ebcdd06f30fc49d9c432b7112039d99bc8fd5bbd8e1e8b2ffc0d6adc9df34a7319ec33f86c39819b4ffbdb5de30e94ac6b725690a4a3fae09aa91c0001f9e526b2315ea1e766c5685754101fcc1eeba20cc078f12f166191a5bac18045894d673cc6159738c6901f5edeec291243b42f2390f13006d4f3a29e020744a7889139b7d4b1d8378a80da405e2ec7428ca751ffc17e2186daf177b8762244e059abf697563728ea8fd6a1df30b4b390fb7b0bcc1fa11503777ab66c589ac097e0be98f39a8a2e21ecdf5404ff9b17d092bee119e32001e10cdb11493498094423257291a0d835a1c1b90b87c521fb1c559e36\n\n# tcId = 66\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 67bc94022123f356e465b4f42ea02200cc8b526ea393a0c35da34e612b8f7d85853ea31a0b869515ee783ef903f86186b97eb7269420cc1a3c55295119ecbd51ca47c7b3caf4ac6a53433d3aa23d953606ce3692a248c9e43ea5eb067533f4f03369417c8c5d469e9c56b2dd1a60b7a0c520de2ed2d16cdbc323ca43dcb0d0886be11ccf1dd4ec687e205d33eb", + "771531a9bb46d7847aee7017690bd1748b1d39b6c669342a83eb93a070718970c161e8c4c3cfcd83e562d9e4fc87abc1882b16f1c63dfde2d34e230ebc9959e0936fb48aabe716ee751fc4abc62007e4cb875dabe9f7a5533d99514b5296d481df6481ad3bdfeea5a85fc6cfb928ffaad6584b\n\n# tcId = 67\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 7ecc2550cfd058167ab406f7f4b3af4180b4b84526ce4fa1d0751a8f3947e027f4b93991409dcf5b4abcc902ad136cde8f65ec2566df0076d46ae2a34b971bf792e5032f026dd03c6f6a1e9bfc535cb15d8c52374bcf09eb2777d38a7767fd1a6baaf65335fc679b8289ee22a32745731ec7c8bd2319b1898286062cbe9302853d42ae61ff0a97cadbce838826c604c042fc6a0579078bfd9dff2bb2d9af7e29f12943fc0dbeeb81b65e3cd6dbb53724bbc3df590fdf9660b634443d485cdb05e18d57e7f9c06f4696c55930b83d70b17e15f49971783133041f6bede672c59df0486b914f61efe622dadec842e85c1da50567decc57dcc842ba946c4cc77e07\n\n# tcId = 68\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 71f92fa1a1d60a965e0fc90f260a322a561ae3d4017409566ff113b0d8f03022d96eb0129755de4d62d8b031c20c93b8c476c3dabfe00f15975029797f593a63a971d465940657a3f147a359fa8dc6f22d0e0b43cca953bed63117670e345ee6c12d2fec365a2b6b49433f1c1b2fd656c8604ce2d83112f457486b8bc5ad376568468487f3539a981ad9c8ebb196f49c797e7a4542e95d7ff77135f533be20222db369f59df8a4e9d081510698409828d0567e0d28a0c1cca2cf674027b18b51122800fc97cb45193592d264cf5e74f707287df9deb77a26f2323b3ec1c1c17be5e11cffcf4ced2508525026deed6b8cf84c5cf7a9ed19e322043a81c0f7f519\n\n# tcId = 69\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 30e738086ddf782ba014fa326769c14b9e23818f48dedf3a3d09252dce42c160dbd7fbac9a72b8d3b6c3d6fb0e4f726c20b8c4ed31d8eb2f92a8b6d239fb78668f3687703515fbd9adcf64d272443a457735cce9eb102f881596c416739b316be58cfcf0e4d1fce32a25c2483253b3d7571a9c72479f86123d830a721ccde80e4c243e6bbcd1a895cc17dfbd0e2f8d7bbbabbced4973d578e4da5299ff15ba170d15d87ca2652e724d533288012fdba420e8427a2d1009e3ace74c03d80ac5d0b5949bd1ff42c6a728f28511264fa4152ad77e09ff60caf1cd5ee13a78d67a838294717a23f3940ed7356473dd07ff58c360fa0cffb3dcfcc2a2b673d9d574ad\n\n# tcId = 70\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 9e1300bf1ac3f95d20bed0c450beada85fb878c4e280f3ceaef1ddf6c1723be2023aae1c5adc0c8565c76615e6d8dbc491506a4b086bcafcd211327a01ced188fe1e1802f7bafd3f79a434486d07b417e3fb8139de422ae29d921ec2e8e5b6843719ce8af35349e69623f2d39eef26970c80f67f23409a8b4e4c4b8ca3e5db512eaff96499302f7828a44eee7e277e58e578de56118a7d5e647f8aada1c03eed1beda3e7c57ccce9cc7585b2bf75427747b0e09310c4f9f9e0d2f48cc62e3f413e445ae2a6eb706269a0a1941021222be8663508657557c49433bdbbc7bc4727a405bc12bb0ba3ab7fd46b7458b9112ad010076bb96c596b9682de58ae074863\n\n# tcId = 71\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 45e4acfe9e0f98d8841778018db1d3280a75a08231bc511bfb2392a6120b629df7bc59b2cb2f3f327ba07cbfb4e48b62aa7f871e44e614a824bf7b7852cc020b17147a35dc0bb8baee6479b8a1cdc032514fa412bf4bba8ab531615839f1c4e5730994131f8c01103c8ca84417a84e95d3fc35c94a2cde9437518ba74ac91e9c2e48432a16277310f867764b72ed1c656a627b2f4cd3991708536369e4dad049d45c5ced889c5dc61dfd36ed30060c7bc0bed22d06ec212b68dd7385aeaa25813424653831f7515c4de611a664e1e43205d016e622c632ab297abe51673b447d3a3e067cba4bfd21af1c25ac6cd24e26567e654f12f0cce613edea5c4f14eb56\n\n# tcId = 72\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 79da043a98e24a49eb5c250a5cdd0ca01c744b411774e1e660e7dcb41c12fcde79c90270e750f2758ff1d6d3d73621a13e27424f93c57f777277666964304655a0bedf717daf19915acfa00313ad4f4dc33d69a048741f04c601a009bd27eb9586c41080c56bf8e0b7abaabd76a2d5e9e57a8b8b9d91f30daae3342dd292692915231354db1a665d9c231310b9805d616920a51c66bad7094d6836697161542e09041c12220ca26a3fb6d22cc62420bc3f07ae349b91d3826ace394b0210d710e240468ce7fb821b3a01b8c38287382ec64b093392a82884df2fd0bb530adbd49ae71528f268fd51fc10b43cbb8f383dfa3874b7cfb4722e047e7f0b941ada31\n\n# tcId = 73\n# truncated length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 274dabbe063aba2a29f31badac85f874657725510e1f194ff51b43aa4034d86de9b6542720792d2bc07e95e8106b6072e9337ef0c721a07e3ebbb23edb76ec2b93e97a3f0b777d3e28d18cdf4167efff6fe548a1344834f7c92c6fa379070da86240096a030f6362301a601c2da026d72590f0ef30d94acf676c603809f619f432571666b57015a1e41de41a0140b6b79ac5d6613ac3f9fe1eb1345b198f495c27eb8d5ce83e1126a90559a62befa469e7e6ff41d81627b4da0b67891e09b9db22c76f653eddfe83b5b1626c6dc3c13024b27a66e04c070792a6345953a7832aa6ebb963a745914516e1e8a3887ef953934cbda4419b5e6e1080fe379b1eaca0\n\n# tcId = 74\n# truncated length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 6970f7dfb793edd1ad41c0d6f57137a9ebff66e04efbfb82c882df25d24f0913b9c906f4214b2b776e6cd6c158f701af8e17487fa77dcc9d66732c568356104ae5450e1e2559d3475cb27858ff8bae188cfb778a587eb243ff6adec6117eae055ffa5de62cf50ee16e0924b0afeb927bad811316a1c2abf01b6a72de25ac30e466d0051d1fea51ca2cf160cddfc9a373d4c796a19885237afac7aac698cbfdc2d10de86c58de9f6597cf5a701d2281f7343176cbea53f088bd7c5c755219066f4b35ccda85c7c8e67ca08cb70a02439a49238e5309f6bd647e1076d67b0b339bf4d5323ddc1e406b13c29010bc325cc17c0c338c38102fb523bf0f4f341c22c4\n\n# tcId = 75\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 21d55371d842235e234aeaba3f33e6d7f5fea10b7940939250a07d8938e70f073d1514f54bf9e5bca902190f1149955e3e6251c98e297576f726e2c982969317ec7416c7df93b9340c879dd167431153bd64d3010456d40dee836d71d405bd3127f90a6cb61d837b4355d30ddd1ddaafa5e4204815221f562d10684a6881d7bca66b1e462b8a1b3c889e916c848c4f88b179bfb76debb18208946d40f464f9e5e385cefa1c9065118b104f216f4ac22abbf0bda8583870bfbcc339ccd6a0da7bc46338e90dbb90964100c47dc3af08ead7978e39dd7369084f5f9f941a3a2d7d1fad0dd4b60658b5931296d6357e28fca5fc8d84fee546e1f06e07efcf8f1e4e\n\n# tcId = 76\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 84567b5a2cd8993fa4297e61067d1d0b34a4d7015c46438bf4e02cdc934c3c586f9f80316307928cb20fd4637852674d99a560352c931559e26e414d67eae6661a34a52809d4a8e1e9b94c72e5afdccc78bcd99f444cbf4617c18f481b36fa36d4dcef140986f2fe6fecdf8864a99d32cf2ca43e7b30d9a5faa61237177ece4fae0f03debc9dc07d1b9de0eeccb76a8b84852bd534cbad9b0845d7f9e9af5d55ff49832ef725e74fd91c45a6bf9d2a519d0c0b0c4e42b42eaaf5b1cc5aeaf18228695838cfab32a47b1b048ff6cd7833ba54d8b83afc3a45fe546b68cc26434b1021217c1a5ee8254ed50508cf79521abbccf81e9d3ade87f236b13b2aef8151\n\n# tcId = 77\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 211b7ced5b5d0732453757fd3b828aad6d5fe12752d17e79577f7604f282037ce5df075908b53bee8eb9df54098c8c44f8da32fdf95b778a51f333ddcae7069a6e8afad390dce5640ae25597823f0bad036e50dcffc224f86c3ebf09e3ec0679019cf7637ab0b2ab77377266dc5762314bfcbd3a90cb7a3d7cdeb72585ca9a11e1965f029a29c769e003f6abe8bfc1214e4e0cd044d16d0eda0c7357f5a94a71af57d076baf455f56d0c27a437bb649aff9100d55d2988995eed9980999da0271c5c533ae9055a07302d65cf16bb26846ca04c87a72c2efb3355bf6c125524a445250535d984675ff99be9abc0c544fe3fe8d33a9442d2a57b98f159129b23e6\n\n# tcId = 78\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 1271847c6516bb1deb1487be33819ea16e72cc739f4752b75c8e899fdfa28ef0b40de5112734f6b4a0e2921ea34966da45998834e8429e7a7c8dce6bd432fe90febaefc201e421a93d21aee907210c97efc2890d0c094ae82a5e734958d4e5509b85cd0c17267e1fe1cbee894cb0838508acf9a3e31402352cf4134eabf882f69afa24a7fa490f22d60c180ccdbb14b41ea53aa549044e940f5e5e519b04824f9c97099e83593fd48c36d71dd7151c1e212fd772abdb72429b3931a67cd7527fd45aca652536ef3476955747ef98759c1e561bfda80733d6dfa927e1e32ba070941bcadcfcc21c3bae98e362586b82fb4ad48d347915ed5c89c15b2a13950704\n\n# tcId = 79\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 7d4c142eabfb72a880070621ef9fcd351129f31664ed11a744cfa209a4199b9293f8b603f1d0672b7a2160b4c620982ee7d2553e46f5056ee8ec2711946566f08d23adbf904ce1ab8d744e6df61c6788b22154ac9a516682e26ec31846b6a5fe8a9a519931ab61a9fd424b2babd883c3410c772b89328df17296b464c8914b31b3ad63d6984d46c772b6b9d791c21d3e3ce0984ccbf7f2902deb0961898e8ef835c658db4aa14387857b6b7ab8b38dd06a4885622abdc3669d37bd953584a3f3d19d2d77115d9bea244a65b7b26faf747aec73e8dfc0bed10a85e4ea6398dbf8d9a10154ed3f1ee51e6b3ead792ed2da838c0a25d0b2ea3190fc33bc9902e579\n\n# tcId = 80\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 8c76ad15a8de757cfe122ab8759991a1374236f7bedc1249", + "5201053b9adf0042ee64665abc4b9485a52818ebb2f5e0dba6d667cc1aae89163fbe0db066b80011f6342ebc22bb3decf96a3901e0fbc44ba79cb17adc811c15bef290026bd9e33ef69bc5717f2c774b208cbfbe88f0e2097595e6cef35745a512690593ac1f0799655a73318e8bf1e1403e42c29622b09d0000f9756ba9a0fc44692e7f86e6be28467cefb8f95aff478965226205ea082848dc503fa0f16b4cb636b916de0e9b0e91216a72950a65855692d1595b5fc9bb55a48cf584048317aa10b63acd505a45537c751c4e898aaff55f0e4e75570b36babc13ca158dc7b009fc4901ed407015\n\n# tcId = 81\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 3a8c6928a87795c3025ec336cbf4aaa80e1ca6e758c41c7df1b63e223cc140e7703815300ea7ca9c169a972a3049bcfa9452fafa34e0491c99a1867d6f0e1ff45be4feb071c9c1f2e72c12f8aaa2a9542e0a3a037305e57fdc8f2584036b619ca5a30bae66e8c212c8e2e2013209f502bd6478d112bfba869427870e84023ca06229969818ed557e5617c6ccc23f908423c87bbdb03d011d328c81f0c24057d8245bb8d4f861dc76d3a9eed3e31a16af114147d7b17b4753b8294290a3c8fd3d135d7ec144f2eed11e4dbd4dc1e89d96a06d7860e5b1f806e5d15badbe05a310b9da804abb41297b179cf4e8d077258b2f7df549092ec6c8e7274f25aaf257fb\n\n# tcId = 82\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 64b01c13163085cab7ace03109a35f5aaef67670699dff14720a7d9ca0afafe396746a997ff3efc0eaea70a658bf0eba2d0a146fe93dd5a8b45d8693054e52f4969cf021b6395c8b57abaeba260a4b2e6ffc328069ed30e992191bd17f7be889bfac716d24dfb47667a40eb72f7514ae2feae5ba11bc24793b3e324909fbff67f5000fe7e6e71986e2b79c7825aca40cf6c426def806d59415d6f477d321ef69ecc8eed7d061f242b088df548427ba6188cbedeaccc6dd4d75311658e4dde6d838a8049699893997b6e268d54d5ab13f7d1e38729d1e0f55ff607b74d6f869a5ef50980118047ac859d8cc57c79e0f3cf1f0562dd705689bb471c459c3cdcf4d\n\n# tcId = 83\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 82240214858bcce755f761d3b6416c15322aa97b4e130a01263cefc1cb11fbb10ac28c5c22207b609f86cd63759a689d6e7f825ed84e6042b66d06362441998c715db426157554e8384898cd63177a1ea538bc589bf7441ff9d3256b851f9ba519e3213da248645e22314b34a53739f035157e222006112c1f6ba8e7add0326d618afbefe456e530532bb29769db477089330c0f0dffdd4302666b128069d8ddcb764f154c8700c45e5a8cdea403f4e4231b6260f18e6039bf497fbf09420163f1dd976af573068e0f87047d338c6446d480c585e6a6b82eb387a8549b7a28c909d88d3361a80baa25eb606e4e5f9eb61be9bb8bab17eaa7a98d5f5e406cb0b9\n\n# tcId = 84\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 3b243a065df77eaf4fc8665e8439377181c422acd42da5642ef55ba548555795ee700b156d690d9fd29cc31d7ccc59d6b29472feba8fa644cc49c4f5d46722516820554e3f98e1dc03e44bad5040ce4f0748c82a5a44bec4c4b5d1b0312e74cad9e87c022385dfa034e91f507e72d7c1f7fe99c6933801eb202c8314c5b60fbd67427fc14efa9e7569d401c6af268e9e3d864fd108f78ea5ed1a2ecfd1c41da2e9353aba41d4df48d3f2535d5ec60cdebf7497eb25db4415875f7ccc15a49ebb493a7eb9476dbc11815eb414577ff76953a63991938fb6ea73e0b77a8cbb77eabf3b893c22aacfcab7108dcb9a3bbe3ec048c17b416b146d4251c7c36fbf0445\n\n# tcId = 85\n# Replacing sequence with NULL\nmsg = 313233343030\nresult = invalid\nsig = 8322390ab9d742c87b5b105f63940d9e4ecc613c12a921798c2b2a00c1e5c6f6fa38b33339c3fa762487629bd589cda879977e257de58a0d3ad4eb9bee9e3d41c57ababe557d0f3f8bef808dd7d5666b8a635b1a1d08a94bd24ddf10db4d6a366c3ed7a6891b7878328ae5d928a6a14bb425c4c1e917044a08ae0cc679b646be53177962bf04f19a345428f7a0c877f5749264edbf0835cec2f5aa66b7a1ae9b5e8db22748bb8b8f37636de4d02c9edc5dd182fe1f3c227d7fff6111005326ca3fd693248759fcd56a356068d3be8f78ab03d484a363fba9a13491ff5752bb263db2d905a90c556c8e5b12315b577786e038c989d13ded424adef4932c87a5ea\n\n# tcId = 86\n# Replacing sequence with NULL\nmsg = 313233343030\nresult = invalid\nsig = 0279b5b3e03f864b05e41a6e964c5cea2b777be5e670bbc43d2550c9c443bdf68069a0eb91e4ef95dc9918eb1786a123acb034fbdef2690e5f2f4f5aa0dd10627342b90f2c3ec1e3b6ec77c01a92b0c24e7760cb49f845a168afc256686dc428f48667d1971d56ad81153e7a54a59f10a4b00986d9752f1ba11774923374a990996388bc26dae6be26cdbb4c1eb76cd0d98532720e94caa2904fed7b937cd94481e4212037c628df3e213d5d856776a337ecdb52a4d256b3267fb66f0cef10e39a5330a9899e103817ebe6c32c741dd4eff16f37fb6ac91facfbce7f467397739b1557f0ea4234cbd8d393abb1f842a2a182e8ad9047c7ed643bcfc02156b106\n\n# tcId = 87\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 24c8587350927113af79616a76bc5aee56e9b580452eec608dc4b25e8ae4101244bc456368e14b1cb595aee9c1d05bfd169981d2f5819023c43fcbb857b5feb7f11e2e3469cb1d53bfe66313cf662057b84b8f9fc1743547d848d24d1678d14bf44fd29b2c10b24da5f42b93534dd535505415c32f05e4078a8d31461bf42f2e465ab90d33c24f2ffc4cf430253f50478fff57dc1eb91debf89e0fac9c382f8acefd9f1dd2f2fa2203dddfa56fb275309bed0671f623f24927abd562b8a4cadec561a530f04dd58863458b802e8fe5fa57cb22708b700be9b250a6163b6e54bc9921944c9a8d468d02981b7fc41b9c6ef92fd705b24da3cce58a90b6b112dcfa\n\n# tcId = 88\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 58b5bdce097aa778d5232055b695fe11a01fd06dd2c76f6c4ddbd89b28d823a6dde045d541bf3baa04651fede28dd5bff79719e0310b285c4b5ef39f426ca9eb9d20b759b6455c8ca94b08f14e8b237429cc93e6cfdc8d5f9590ab9eb1a05243a6205cf26323dc5b4c1ea1f815c3d26e9a4d5f58e99b06e213117f6ef7fce8ecd63e661381aafcf2134c0cefe49b9432ee68e9e366d7ef85ac82befedc5c7476befcefcd7a6ca7f0267585576680c6ac901cb4ef12c3abd319f74183c4b5d852e898a955628775b941f91594cc00d281b3e69b034765077e967f9282a1bc16043a162ef1fd193921a3da4e4974cb63bdaa7745278175ac3183976b4bf1534f7a\n\n# tcId = 89\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 5498ddd6aa8ec6434d4d772df218db7724d4df79dbaac872d187a9cf58bfc62b194c263660e663b2d50583dfb1e232a6a855c3be31a7297ca1c801b065a13871686f1e379f50935f754243dabea67176fc4d92351e9bf1e3c9655b5de16d725f0e925d554d215bccd55020e749afb612420d30ac95c5723855e2414c9d7bc8d2a9ddf33787c521888852e1946bf866411f72ebaad3ae730ffd13648fd8e5464036e800064472806ba78a0ef8a10c1739fd512cb2913d91325cad3fae38a922c3f0e5482781bfaee6e097e09bdcc6eb67772ff79d358079e522f9c8f32fe5f8b227f126803f0e78554c513bc0316ea267b51aaaf17f1dca423f1e0996dbcdc6bd\n\n# tcId = 90\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3b2299256cea4f270aa108ace666ff3a44b693c27fe72e21e3f0443956dc277b1f24ce72a48d512d7545825db729983bdfe4ff9fb0ecc6f0893a9d326d39a46e7040f8891ced1174d2abd7acc27f79781501c3a972d562f0b5c57a3ff2ec703100b7fad948c7e46494cabc1955dea0e8734ceb47239b915476b969f317a9953653e0e5d4820bb28a5c81b9a4f1d0f18479096a60b53d0808acdd4efcf16cdc4ed82b69b33d6e5e5261347e821c2e366f2826fd81e8f282840495f6f2613be6b9f1efa989d912b86257d5449c88f7b3cdb39c7bee6d411187a0f2cb83115e5cf3a187d9cbbbbffd9da0a62780b265c2a5a33465abf90e41550f8b7f62747f5252\n\n# tcId = 91\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 6224ef796a605bb30a142e4671549288d3ce9a7ca6ce58ef79d08b25e95a81143b99c84efc7a0b92885029752b8bc1bab7fc56048c19d50ca21e8c009024dc9dac2746a9b961db242a1454f0df944bbbbe28a9598878f9392746798aa1db8c69c6d36af64726704f9252ad71e655a02adb6f3e8453ad59a0a45ecd1ea512eedab7867fc50b508c49caa7399f343097f76b2361fb7ac2544f6ab1b745965a8d7e83bb9a1d39a21fa6b4c14e9a800983f5c76fd8de81fcce99f4926e48bdaaaabbe09528a203f5e76dc19982021618f231e37758e8e729968c267390fdd759e0ba88c9492e4ae0ae7512ea389bfc6b64d90eee12c012fe278da80a915da794f6e0\n\n# tcId = 92\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 81297d38465c4346e408293d770242ca6e9ba2f2ea9a66dd932eb3bf42e72bad344ff31bf058e38bdc716e5a747963e6eb96ea1a48813f39200596d6d589f2164bab35c15f545f80d10276eb6d3b7d13bc7bfebfd0f6949fd7547c45266fe6573389c2343e3adf9fd64ba627baed14e0e753a8fb75a3d1821e2fd03f5422bab3e71dede7470b43449e7e49dec566464fde545a1ca53a567ae460a1d994d295355eb301048413cc92aa34963fc59e054e88bbf2af2ebb0ac0df18b06d1c5d9ddc4f5c3046c5b609a9965a646db2a1c70b0c851e7aac01a5df8e2c822300d3732ec182e3d868adb99d6c0186cc5dd17dd8c89658c0ae021475fae278e7ff464501\n\n# tcId = 93\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 73b38e74ba14249c5fb4d2b3923e2a848898a2a5b1b9e6c17848177e6b0053fbf768d5b393088c3b7c5e12d41d24cbbf214a5bebbea6661229ca55f79b76b1d1118a2f7a6a96f36f88e1388283d446b8f8fa4b10b3a6d8c54ca207ceeed96e06147475a3d47d68cb2790dd0ada7d816fc1edac6e10f4f8e6bcd807cb70d995d7d6029dc774b1ab86de3b31c4fe1033517a64163b4867861d6ca0bacb3e32ffe4761de071a03fb79f8bae8515973a4eda2d7676cdf5ff05974654f97d6dadc6bde754f7b297264945b3bb69b950000a4d597c071", + "fc1b9198fc1ade0047bcc7e79dca09e8f01bf4ab46183cd48c8b243865eb6267f0974e29072e38f65957594b9\n\n# tcId = 94\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 56502d3cc755778ce731048dfff628943f94a966763917f8a9244be934208ca6fff2100faeddea5693273b965e62e08672a2ae4037b2a6681e1037ec8d4f00b7ca75b792d596e01f6312733929751dcb629ab54a6f910a57dc01895cc92d2338b4ddb1271be183f906e128ecdcb5cafe1096beac38e3e49eac7ebca6c91bd3900e83d96910feb192496aae8f55ceac814e6829d9c068f2619b048f1e30e2cc0b7d64e7e335ebc1b566f12b545a5e610fbf5317a2efcfd5d18adebe17b3b71bd788bbd581afda953dead19a0241c6beb851581249d780e780be43c995f23e90ea4190fca6b9e81885031beebe6a65a53db274bede417c35e7e1e597c6610a1ce5\n\n# tcId = 95\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 7c49a57abc1b7cdd2699b2d64c9ed240c4ea19ce2dce960f611b5264acd37fc4e1efb3ebb5699a4e2292d9d63dde3b80f30c34118614c617444d7e2b770d6434c58b176db042b74810b40fac6006bfd84a51e32aee8900ff40bc8de3fc77277f9c34c174769afe2bf9c8674712c645db823741a4425043b6152940bce8eadfce213dc4de62fddb626fd12b56efbdd3fbf0b570dfce0ef3ee7b3f7c7ac383fca18e04a4b347fd589e30f283ce56fa60b9761e9d5f584b493062f490680ddb7a2a6a23ba0145ab184cd8e3c5a2f2b297b85db51438233db7d3c72739b7074f6d7a524ad83aea2465f6c1bb236d5ee34e5f66297d549679574a9847ec45180a8aab\n\n# tcId = 96\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 41abeab011f029748cd5651c173ffb01f3a5ffb4e198549bacbf8f98523b404791704f52c8ce631d77b31066b1891728e761047a0464e8160fc6093c9ece6f359860da1ce8b229327cd683a2854047aee8afd36540d35c424a19f0db5ea444cf91cdc548dbb9a196f3aac9dc9c4365522618c354c0d99e7a0efe40a2b69b9b99d18f3b941044ab37e0e564543a51cc919870c38a4843d3ff4c6a7d503dd38126b5b76ae7736c9e1790f64f5f6e2faac7fadca3a8f75e6998270004f1836624b580e1430a31c386506b9def2adbcb01c716b74f6a4e1e85e55623d8d3dc4fe8553e1e1feb75eaa4c71829315f67b46c2e018caed17c9dc2a31642ce574a599ffd\n\n# tcId = 97\n# dropping value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 95ddc932d45b05c0a1f4c2bbf30ec6aba93ee9ae560b4a9c124c6be307cf930b754b6b7b1c8fff23c43c2354b847d37073214ca3c95d27e0551aa45ca36e873122c109c0067df39797563168e5e6cd8d20e972ad364a6c3f162415595ae273574b7b35807072b71a8b17afd06bc26d3ab8374df32ece1da2ceb9daa582ac11fdd9246d162fe4830846d08fcec90234ffd9622e4db5576d86fc4b913882da7bc5b1779b2acc0261cf434cace117090546d86dbf5056d0453fc003ce9c3918a015086583d266602403353f0c62eaff4ef4f5697f6e682163277818af6f487600ac326c76f34cdf49654d3eebc7913c0f12a669fb6bcdc809b2621d7ff5050da3d6\n\n# tcId = 98\n# dropping value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 51c0e29286c44d53354c2e11b057c373690cc8a6979ac1e184bd4bdf560c0a3fa76e80aabd7041b0b1cb40e703966312b8037dc40a36acd170ec8fc70e35c1edb41d9fcc8ddafa54bc1e96199b842c72f2421803f8e95c734f19ac169e581fb3ce0da042108b21218f28faacf7141baa0e2b72fc3bd38930f4ab139c1347a9806115b25d3cad3e00fc29296b2d90e403e5ad0dbb9901dd2855fb49f4b7c9500e9428e4037abd6aa767b604edf426cc68e39bacd9862dd61612f0f5c5666e1593bdcc6ba38682f19c5512b1217f05d1905bc47eff2625ea5d6581f3657caa3d84ea9b948aadce632b3bd4ff33699f384f618350b93a223e037d6790bdf7be128b\n\n# tcId = 99\n# using composition for sequence\nmsg = 313233343030\nresult = invalid\nsig = 1a9f00a0a13bb63a9a2b98a93a53cead0f0d0f0befcf19404e838996ea86c67919611edf2962f621480741ae34eec18e6c87b5f40b2115f81e73bd1ba59dd32ad41534d143bd82f982f4ed60d84dea28d77ec78dd6301145c63a0778e465e973e963502cf1c9a21ff5a84f5f4a673d81a9f74906fa0f28b81fd4c1be7eba5974266802149a616d5b7b9bfdbf51aaa9ab3051082a0483b33e7b43b52f86bbcb33f07783e3dcc3ade6c70acde471613b6d7863c4dd091017ca9f0d9fbf7405fcc7e7a012f38404fb0c3ce03b2e601611fcbffa985535c238b5a1d529ba092a3c41c8c255da68eab9e84a7b3f6f29eca3b52bb4b977b6c5e1375b691f6ea413b557\n\n# tcId = 100\n# using composition for sequence\nmsg = 313233343030\nresult = invalid\nsig = 8270bd31d9183e02c4423798ea8f1092bdabc33e144cb9e79187586cf92a2239cf52ff324848461bcc89d0409574655b8374bca84c38df11facf035a6f54f25a7c2e691adaa074d5ebc08b0d20b45346679d94da1fc67f57444a9663704bcce7a6964a7e7d6a98bc89b674bd3037b15639ec5bea57c313331dfdb0bc0d2017f1381cf5f29245af5bace9b7a690b573bc7abd9c36fce49307f0524b37b29776fed6722bcef049e566c8a5a0db44ca6932bf11e2e7447b82318c71eacd164093eaf40b7b122f306cbae65098b68b5b920e96f2143637db6d70070036c2cfd64db05ac87d77806d53096bc63d6fbbf2efc29d8514c8b909ab79495a04639f27b882\n\n# tcId = 101\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 0f7e36a02137a094719570754763ccf4cbfe21a05b95634fffe0cf0cb46210d379b5e7dda7ad815081d12dc43452e35a89b1fb715e4a507b364da2b73b3fdf91ecf1b04a6aa3ab9b90718660291478e6ac0cbd29c18d4beda2b0bfeb53979facf2e5d8ef1bed5a36686cb034082feff665686c41572441a673e7426a89866f65529de9fecfa32a2cd1c7098e7e7bcf2a720d46cebf23988c259dc880a3acf8e1b17f1ba8de6e8e9cfb8af2b6398f7541d45162438c3f14c308dc6d778bc91106c7d48332d8968fb083bdadf1edcba30638853e5bf1398d61bb8eb6b61363cdd859ce4f6160f7e819758afa067c612be054b4c0e2567fe39a81550001cfa081d3\n\n# tcId = 102\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 0571ed711f75daa6e7c7b65645cc10ad040b37fcc3230d4e8655b9b40cbac0e1c5e7d9ddf18f7995bb2a630235f7959791b1bc21c72ccd88ee50b5136472fe63c13a4a391452782b673b90fd6e768385e9f09023ed975c9fd5187b86d0d147418396a971faba4c5d968b29df04a28f90f0a2eb89a0777dedb38e4f41cb1c373f88906da1218a80b47334ed4e5cc0bfd1a93d2ddc5141b243bb002dcc513d98e68d512728204bd0d0d9ea5046ca21bd6d32169b69ba8b1f829fdbc4b4c931d0d29ca72e4fc2d92a74d2b5e1569a222f4b8c93c6cac09c67c08ab08fa08b1fe9ba78fd016aec186cf2f9443b8a3af242019a4888839f8c6021f26476e32300af4c\n\n# tcId = 103\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 690df1372a35a30d9c76a4bf91cb951cff5291bccf26a1043bf84805d75d27a28c0567d353a95685d3411acde938df718f2c845d72c4676044f692e8ceda2b22da5fdf32bf493462fc83c59cd8e5ed0f62f607bfc6d04fa38a6b01a5b3cb6b58d55d9fc2c0a36fc4ab80fa3a0dff60d55a0ca946c568451616441fc9f14685077388a069c3892f1b208c5431b69bcd5e6ca8f789e210f63af6b4ead0a8f3380e818f0463b2287599f5c4cc08bffc460ae8404069cbc01e2b1fef6fdaa810478abcabad6b7405d01e5d3f44884ed0c3d69b614b2c794721066887e5389d72fc634d14716f0cec8fbea5a12c70cf6b4471df4f46058c0db75ad3783b2dfe3ce2d0\n\n# tcId = 104\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 13ed9422722bfb8b6172cb5656b9951610f509bfff5d10e2b91ddcb4c2e8ca58879a7db943375343fdb794302c28e3db0e1b850e8428653c09208dfd46f065e3996927d85979927930b89ae12590753ff03889b8eab41acee725b7092472ed00ad66d00a96370c909c2f39fb6300175d510b368d3ec06ebeb0f62f179e191fc1ac9f7abc36d19d0180f50f7a33337daaf73a76f9b38361e91ed7c0af2c9a3519b4f538c532f3bccab27258d711856b29c41f215ac87f6c7f3ea52c3bf30db5e7930f44e489205396e94c0bf11700499b5a72b26c9f3641c45bb248a235b42c410a908e5ddefcb481ae619b23f8a5ed7afc1a9cd782020aa119af745abecbfc57\n\n# tcId = 105\n# indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 054582c86eb3bac23c330ebe275884ec6c740b477ff69795681bbd88d9da5369ee5d15fa2dd64910947cc4b3a713520716ac747834058f50852233fff1465b4c582ddfa2411ee43d26abe6a26aedd5bb79384b44a45d24b1a374cc9d193c3686fcf7290569173b07b5a698ca75653eb83ce3feecc40767680f6253fbd0d7151b42c82ed7126e6a2d73cd1c64378294932eb790f5997746af7cf87dc5292058c2ae575f5929426fefe7d78867b725fdf6cf2e40c052b69fd8104fec8c017561737e02651aee89c11327f866875dba4cc6a6e69a5f2ab612b4e72671c8206d22c2a9d69dbf1dd29eaf06745bf2267ec2cd89552338136a8981da13b4223d79abe1\n\n# tcId = 106\n# indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 67ba3a10105822c5f34c661cf7765419ebe52142b5ee9358674a174abf5981fb845d4877315a6a5f856c6a30992f520bf3e979a7169adf0e1666457905d49b91481b641158817cf2ee2b8725bee0d7a659777a128fc7509d3f0fad7a53b04a77339074401cc306328d7fca7876b06a54a2fb46edb4d763598e5fe21b9818c1d61ece98a4fdbc0376fa2f9b3c50217f576124f292d6032234a0a6e34835a8480b25a5254b9718c665911aec227c0f432d2dfdf0a6aae40030a05d3c03a02e54507ce0652cab324a2b29814451c985be5f4dfa2546e5b310e670f9fa510c24352e534d3c46beb8767224d90ca8dfe1ac534a5a8b80fffd5704caed8d5180adcd3b\n\n# tcId = 107\n# indefinite length with truncated delimiter\nmsg = 313233343030\nresult = invalid\nsig = 8eccc4b661d66f3c8b4e26791927ac035e2a633b872c60fc006324886d45a88ab29b9bff8075701e61cdfb7d85b3f6d41bb78ae12d2d40b046f1f7bc6ba11cda5eafacf3002457aa6951dd7e574b6ccc7e0621f6e4110336003ac2f368b50969dc45370ed7a673f9b8cfaef3c40a6814afc2ab4ae6eeb8749e8d0230b38658c17fd44aa", + "a9ff65773d001430d0963167fbd08fc72343b1ff40920741423439ee3795c036c912e53f9e75b2d255160e67cac99ccc2db7faa8b488e7f1f56ae3bd0fa6a277b9de387651debe4e16ef29215054d9565ac23a3830ce37b326a4eb5c6cb5db7a8cd961f6d7d7497ac14aa459b3b64f2300da1f95b42687d2126e60d8b\n\n# tcId = 108\n# indefinite length with truncated delimiter\nmsg = 313233343030\nresult = invalid\nsig = 574192671e303ee2fa10bb741b24c8632d520a54dbc24184dd70ddae468e71971ead18932c8b74cd6e27b13014a2ea96f2074a9fbdaf432153f408118306922d111e861ff91f549e8e669fbda98c4975a60d36019b2c4bd25ee2fee0e319c56be4554f5334edf152f911a2317123aac2ff0d11359e43189223673e4b4b613cf070841364470b08f5390951e8d9c6f8c3422f79e3bf4863b2e4ae694d63d57f77620511eb308c3fb454270a4d2190c83828bec4c0fe2283e0d9fe945f6aefe7b806151caf38bbc963a40a97d92b8f71428fe89e8f468509f34b2cb35542fa717e5feaa6cf4cd6c8ad87d8921d5b62d97fdd58642a5d8d782c87f8f6a53a9aaefc\n\n# tcId = 109\n# indefinite length with additional element\nmsg = 313233343030\nresult = invalid\nsig = 90bc6a2164881905a53cf42cd42753f61a47cf4703d4658343dbcc30b46f97d8656ff1ac6c395e1a36f27562d7c23ae859239c1086b1a6473eb4f57d9e0d47f626f8de059084f681032e6fdea27590a08d5e57f06adc0b8960b640d156b31047d26180f1a9c510dcdb316948ebddade72ae3c8d9d6fe49642394f30951a614d03d37c5ea640f0f72435b49a0d382b93121603a424fc84307bea44e0ab83f25389c639eaa2614819d6039c721bd622b86822ceaba916ce302d2be47f38d4ef37e5ce40c3771cea37bbb200cc64f4180199a7e6aa2863e0fa8355b1b456f748fd1cebee88972fc17d9fd77fe9bf8bb7f2ca4299843434b3ed24910c5e2abff7c42\n\n# tcId = 110\n# indefinite length with additional element\nmsg = 313233343030\nresult = invalid\nsig = 7b590ff6d404fec472f9231d39a4ecf4ce6b5e9438b8597c082e01bfdf0909c7aeed2268a3e568c49d9959352378840454f9119beccccc07b46ef2c1f143da08818c578c6b2f7acca6a85109c8acb719fe9f06282c25728d466b4f138a4b129de607de9ca3bc6180f4a2a45941416f8f5c60ea19c921f76047e0dd0738853c0b24c25476025ed4291beeec5db8e2c744795de8367530cd5f5d0876c3b99ed248cef9f83c54a9faa6565eb0662d6a126c15a5a4a55ae3433cdf37c6e8854563d2b9c06363a86f4a648951226a34c612c3e6b6b883c974d4d2a8e07d99f88fc4eba0a9ed28799c95fbb1404b3599578a164721121ee387b0509ed5e00b3df84033\n\n# tcId = 111\n# indefinite length with truncated element\nmsg = 313233343030\nresult = invalid\nsig = 8dd4b03ddf0c4f8c044fcfe70a0b97ec8d8f31b519d11d7e00702296ac731dac508e074024305a285fd32d93aa80b26e6c1d9bca4dcdf07dd141557f685c473f8a323492e9674ed28fc0f78f141418da63e24ff1d82a9e280d2b63819107190cf0018941a440291ef291fbca9616074efb977c2debe71b4609a6510138754d126d203ffd9c234ab334506bc2607eeb9a64e0600ae45e45b2ec398316f4ffbf405d985be94b23566f71b77679eb34dfd560bcf81d790dd1a30dbbef3b928d13534890d4640d47237b11c56a22401e8354b3327101cfe07be6da690d1b43df4486eb185728d7abdd8e4139b506821640a432a219b1787569cac4a870cf17a3dc28\n\n# tcId = 112\n# indefinite length with truncated element\nmsg = 313233343030\nresult = invalid\nsig = 3c6f82cff4559f83ea73f58e5303b37ac576572fb8f94041640e6bfc0d1e527f77af011e5b62f8e854ad052500439a9a6386ec01504a899860eba9f67d78badddf2e72fc92e0ecf25895a807431cb8381cf0bc5eb2fdb28f96340efbf7e54af7d1bf132b53dd9af5b8d8ae37fccddb32f4469b880bb01a84892cc43b394e94f82b22c454e4d308fdfd7e893369498aab4d42ff7048578a5e2d85893c16f8f12e2f8e7be48490fbc8f82c405d1ec3fe8bdc0243898c58dd4306796c40890fd467d024b033ba724c67a1119fb98da9d8c0c9d3673f9d45e3f40811fd223265c8e75fba57dffddd9ef6f94ba03552d18773d009ff142cf09e62cba6330916453f5b\n\n# tcId = 113\n# indefinite length with garbage\nmsg = 313233343030\nresult = invalid\nsig = 0f8deaf286c4e55b6e1a936abf3467b99ccda07cbabadec1798d81db7c720d6d8c278c14c494faa48a4def3bd4877b5054ae0dc7cfb6842b69ea1626b667ecb22dd8864a55b7d39205141c5068559874495738c6b9b756c0e46b69ef21ace864740e300c57d3dbbd356d992d08afd4f78d4b0813ba6ff629fc837e04032e6831f931823cc43076a69a91c3da38f76ae4ce127d11ee0aa6c436e68e3b4c496ef04f00778bad4b51807791e901000f6c75f81568b86fa1c606acd36661b1487a45cf36c2991a7bb87e7fc9da54c1f8a98b1ee0ecf26336c4a4088bdfdd7ee463ef3944100785ac16fdf77cbf8d6f6f578418495efecad9dd1c279be63fe5fe9319\n\n# tcId = 114\n# indefinite length with garbage\nmsg = 313233343030\nresult = invalid\nsig = 7b600cb582f01b2093b8c6836b1ea72a27bb54d167c3cd067de1b9f285e824f46b5712f0024cf4115e69bad8c6caec74742076dbe365acda52fd50368edb854d63020e9d698a4f1f753b4817b282acd37a625e88997c6d067f5f80e43c2f000008a57514989c8ddb6ac36e6ae15858f16a6436588e79391b7fe142be5b66cae553f4b998ea9ec2dc8712af14b9a2a7086631889501f77bb81ce8899dd57f75fb3cedf82394627a72fcf7e1fb5670edb260f71e5a67c502501e1531111978048cd181cd28ba37f20e3c24f9895af9b9067d1c59f69794e43bb64eb8f5b1519255623fdc64bb85e1b85b7c793b0ec42de4d850bd542160791d6e543c633ee21171\n\n# tcId = 115\n# indefinite length with nonempty EOC\nmsg = 313233343030\nresult = invalid\nsig = 16378bb4a3a00a1916e10733b6db3b960c20c82929d1d50f6ce694f691b8b1a2be1377d6860b6d678fd27e797d7dec9850d99aec1079ab45e08a70a54b6c6b13ef7c335d48a7119fc855ba69130e08af62540a0327dee39ead88e5dd923edb41f0e0c840737eb35704cf5a3f2320a1b4eaacac70846d05eaafd743046200a5cd25d37ca312d1800fde082652a8e802f15ed775e055b781aaa7375de845378d57ecc516e23d445844edc1442cdf7eacfa60a995c7a9b062765dfda8aac031287b72044af30d5b0ed4e815aaa55b068212b187845e829adbdb2902dfbe2023870d006b8bf77779b8ba205dcbb3225e3c854d853587b08482264c5083576cca1107\n\n# tcId = 116\n# indefinite length with nonempty EOC\nmsg = 313233343030\nresult = invalid\nsig = 64316a2c63e71413bcf87cd2d8efa6e88a527483bf4329a27520217903dd7b4a74ce427cc388786fad14061d50755ae6514e8161dc596a5eac1260a24716523e5016dd55174b25f826a7e806e4204949e8d23a4a7a0a244df064c57432f39d4ff3c90c282fd4f49712d6a922b9b3ce8297f35611ae846bafb060bcaff0fb5c484f9766b0b36b2727c11cd7f6e95410b8398ac5ae1f1473ce16df25b2b4edd80ac083a3796863e2b55428a900ecde671f84c21fd8fe224c03878c62b8d988f487d063e2c972ee46f72a8d859e9659483a860938613c9f4b4c26313d27e828dfdb4fdad98d4edc31e07b050962cdca2f2980cd2034a5a4eb82bedde65f837a04c3\n\n# tcId = 117\n# prepend empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 49cd3a96260855d9a0ba3005b8ab18f077e18dc88923a4acbffa7ce91a948601db5317c6e6d7e55a7686f735d378ea12bd17ecb26638dc1ef5f613c527c52dd91ec1fab9d3823ccd51d7ad1af5383f4920478116e20fe43996a8ee7b61116cba0f69f42d5661c97c71e62a0ca792d592e6e0ef28e67e27b1ff7260ac427f35f7788ac81dcc69ed4f4ac4eea07a69303cfe083a7cde808e75abf62283424a8727cf0a85df2e26060de2dc04dd12fa6a0471a00f003b30eb4d14b65438d7090c2bdc953588207c0951f39d0aee482dabb782cf593d631900eebb3dca524f9d1607440ada91e20bdb7117486ae90d77fc44cf5e4aacf4c850093ca883ddb7b3a040\n\n# tcId = 118\n# prepend empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 9dfe688124026010b835f972719361baf84e104ead160ece75d8778200f1dfac867d262f6e8dd12cf25a8018c16f176d032b28150079c35a6d831f9825c80e986a9768131fc6e221e897e221a14be3355921369d5accc9fba6ab8649bb444913603db70cf09188c1f2f34eebd06907dea1b7a970add4c01aa4858d78dd2910c251dc832157e0f373e4d6bc532e1fdc85b8f6d3bda13585e789607e823ea8808e71c1bb61fa40dd219c2980f5a84b502363be708ed3a115c5711c69d16427d60a7a605a9c282c5659d6cd203e0dd181e41aaff5dea6233985882978172f03ff34b651f3592155adc34b26ba7a32df6cf5ccfdf15a7ab95d2f217a0565f4564fda\n\n# tcId = 119\n# append empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 7b17d3b2cde9c95d954e3d795eb7fadec93e788101d337ff0366a3d2fd7de8294761b0d11daa19dbe5fefea7bbba4986853bcb065a0d5fc34d4386bd0d9ca9f1dfab415377a8ca0c8e879aa2ceee9adb3aa57287adc2b2ce1b4ab07c09212b3d443d29297fc206968dd22ee2160716bece2ac0cd9bc9550cf0bcc71319e97818cf1658f0384d991b2eff0001da8329d50935b3d3efb4a045cf1f88c98a8c91f316a320b90c73487a6b132304c547437c5581c2c66cc1b23f2361e65d888872cad4c16de7138c1ac2cb13a6d84cacc93019e7fd84ea99409d8d8184cbe40bbd75792aaa283183eb290d517d46c7da3b1ecd6a2ce086fad43c565b696ed3fc8250\n\n# tcId = 120\n# append empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 5ba48570aea8cea4f6f76ce4d92a9588a6478e6a6dfb82d26eeeb6319420419eb8553dff3fc9843d01c9c708947a413bef9c5e7beee54a57d3ea9a01a81c7fcac04c4a3f0c7ce17bc8fa7c3e47b03d3be004a2f4340fb8c119d6134981d9933b9510e7b89fbae037809b8e49c429fa9e01ba6af5899f0c2f60666d42a62f4ec1f8e2182e9bca160116bd447e9aba05c9ffe8cbd6f9abf3061679a50d567221c2b808a48f1694188820f7ad07e9883fd67ef7f9f2d78ccd13fd8017d8836101de319d17f05beea9d7b1a2c8b1f7dcdca212d332befce5c0c2a89bd29dfe2bcd6be1dc9600baa0ff970393469ac32996c2710bc3d07763b481b6a713abb9880604\n\n# tcId = 121\n# append garbage with high tag number\nmsg = 313233343030\nresult = invali", + "d\nsig = 45aadbe78b131670705fff8a10c088e832a6917cfad4b985d20d6c3173b2cc26bb95670dfcfcd927873410d2d3e87850d1c64bccbd2e3246f81ce2b6be32a5a7acd9b2df660e279740b4b916ede28fe1488cbff230bfd359a77269023daf8f897a4adcc6929d9a2414ad2d2ea151953fad387ab963f8da7608b1253cf88800848b68dbbf4f8cfd42bac58e37599de5390e6e0dd9b3c763d963589945fefb33c33d9b0597434a2ac2e36db4e4f52812ad24a76bb91bac54a6843e0b20d5fabb5aabc2f07c857bea2446085bcaa27ef51ca194f9b1b3a16a7be01a4cebb5b641c12c78cfc2dee0c0c7480efbfd4fcf6c8d1379dc026a11109bf3d0d359ff7e6ab3\n\n# tcId = 122\n# append garbage with high tag number\nmsg = 313233343030\nresult = invalid\nsig = 52dbc8c5468f1417f3b9a57c3cab9bf8338e6096590418fe057f4c4313b8462ca42b25b9af14ba65cfa64326d5ffa512d603fbacabd46bb3d381427173e3a91af99e6faa7da7507f1bcbe794dc236086c5d3cc30bf0e1cefaa3dd0e24d759a7ca00ef7cf2ef335ea192f597bd954f2531e19c68e492afe2b4e1c12d5bded1ab9d1c7b494ba52ec017c5ef02ed4797ee0a27d44de9a9a365da76bf5fefb549058ff1ffa21c2b77c7e365267e14d6ed209ec0739619d8ff2ea3174619e82abde0732b1ed9ef3dfb04c9fe4fab5125e1b5de4bf8f4d183ba04fd13130982196e8d603be1c2a69c3919179e8c3b9f189b54e4e268402db11a50724809919de67ea5b\n\n# tcId = 123\n# sequence of sequence\nmsg = 313233343030\nresult = invalid\nsig = 25918876ee17947c7ea13c95b6f5e693cfee2ab988a68b72765853a4f47b0075d105952afd7d271e3aa39a88bb35549b18d0aab49a48a0ff25c64ec8d052cdadc92418e84436f3e930f6ffafd0614b5e0af4f87e0c6e646be9e7dfd996139cb73838de8699916317c79fb16df1272efeedf3044fcdff7255fd45ecf26677f8e3cf7e86b40f48e7aad2f4185433b5f04e06bd105c1081e5452d4292346e07f91f9b29cf2e4dd9ea335c065cab8daaff554fdfa1990130dc1650124fd7af5be1eca9c38a4bf2813af9f50e51d293b4b8fe4fc6b40f8da779ea595ec0b43c4db3abf7751c74e92e28481ca919857d9a92c8db1387be5f4ae4b8cd3372d350e57cb3\n\n# tcId = 124\n# sequence of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3dd518a77a43fd87d8923314e8a78d4dac476188c113377fa71ed7d2fda4be726b17e10bd7870ed018368a3c36be143d4c3d59ce35a18cb46e457ed2afabd69bff77fe94ad6fb95b360249944fa6228faa4159531e67490c8ea44dd64b471d96c48bae5d1da7c6fb144604ca8e8abfde84f681b9b700d62649009c135fdfec200c92096bdf9a699eb1b8936e8769044ca0127070b40e2cb8289a9f98b91be61ec77861013cd9ce5b33fd2837ba8a93caa480632aeddbe283fef6ccb953f2e4af9ff6fe5bd01beb0d1a0b3f08e9d22f26749b5c9f5f302002f89af05c7f9a09fd416691abfa0ced5eee4aeba83113bda1ffd418ac4030443b9072cd6602fcf797\n\n# tcId = 125\n# truncated sequence: removed last 1 elements\nmsg = 313233343030\nresult = invalid\nsig = 56e666f4c8b916f556ae1139f9626a6862de59780f148165f924965aeeb35ca681b7fe2a603bfb1098ecd06e3e185564e031699ba6f5b7c4192e60f1c7e06131eea6a6e772f9b7e9be4ec4e94d89eddc0351347c5cd7dfc58e2c9795099144428563b77bc3e3d5dad50cbd19374ff5c7915c8987f046df62907b7ded38deceb2f04f18a868abbbf3f095ac660774be8274d0788b88001c17b7c3a59f792e81e18fd01bf8d67289012f60a887202968c17f2ac684e5a4a05673a0b2189206ca3358ddbef03b54488d5a794d3a5767de1e4e9032e35bbf1c8fbfb9b9be9a8bc5ddd98f12d3853485cb6a38cbc7044e10a61b704c6987e4b76331aef926a843f85a\n\n# tcId = 126\n# repeating element in sequence\nmsg = 313233343030\nresult = invalid\nsig = 759f6957706866606f2ebec1d6400b87afa134067897d332edd191036f318e1e21a71dbcc88e0e3b7599123cc8fbe19a15273b481a795303eb7941139e7d48afc490b61e3fd38078ef756ffa8de344f2e930b56452c619089062c27a47b594c5fff1fd7f5870cb5dc7c30f83b245cc838724639785c2ac7d8295e9e1a99004284ce1a5a5f4c90f1edf87be994e2176ced8b0339bca21068db978864e75e84bf9b65b5b28c3bc9fdfa451b39125a271dc280b9c6cffcdda1d883f5be07cf8c14aa4aef6f7993e86dd9dac620ca24c027b83be7cae015d2a55b85cca9ef1e6d080c298e58c4f0730de7820951df305d85eaaea46f087c74f3ffefeee09aabd5827\n\n# tcId = 127\n# long form encoding of length of oid\nmsg = 313233343030\nresult = invalid\nsig = 24faf2f1b73eeca67814b066b8099b41a973b1c55f319d5e3f7a9943efb958e8f5a7ad9c9a7dfd64e2be0231d341a822a8ce31cf3e008e65e9e7ff7d7076c3ec62632a4c5cc4bc867c54c9789cb248bcd5afd0f8a2fa8b1884f630a0663758a6d472e4e7a085fdcdddcb1917630dc5e19857569208108123c0e87089f2f247b6dcd5940bc35c25dc10718649effbb56048bc03991851b0d50cb82eba64e6726c41567b5c708a8311c22e477a4614a2bb476e5fdb8cd7f14f461118bec1b6defc26a56df14ec3f64707d3d462378f6de72499639c01b6a745402fa46fb09578f52ac50f9db82c83e3041745300029b665701c595476e3e8651f86e1ffa6e0a045\n\n# tcId = 128\n# length of oid contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 73cb10d068ce0168ddabc2dc7ccaef8026edd5517c0de9b4c8becf660ba62c3df0fc47710a9628ea478cc75adcae248bdcd3c555cebbc4f1d99ec1f6c0674e092548e20c747f84959cbd0a5589b8db3e464889d537c6977f13668fd02ceebad3d74d7ade6deb16c6c8c5d30fb0778c3db5d7cc9df986596a0768a0d30c199fb8ffe5511d99c8592679febb5f8851a388f291e194fcd19b9423ad4b47f492dd720b9f38c3b0b20bcb816d463ab9680bfde66132a54a8675be19944a5e648e0bf942427f404d9f810f2a9d4626df659f54b6a5d3a6878e113c48b733066b3a83f5b26ac75f20dfbb8efc1ffbdc2cb6b9f198545f95ca0c3f54dec2f8307fb1b6dd\n\n# tcId = 129\n# wrong length of oid\nmsg = 313233343030\nresult = invalid\nsig = 3aa737bfa89b66e9ce0508aa68da6c9760d5de6c50e1dc472073d4f5f280794b8e5f2ed5446cd73bbfe29d54c7f7f5ba69880158809b447a39e0363a59f46f83ade8032c7dfd090784c582141a5e4a9114082a2d91538bf55d7370525f31c0209342d78d327c53e21a64d9c81330003dc63b84d1ff3dc7a63528153e3d3028b66ec2c58182fa818d3c333f69b6dc9935cb670fdeeb226bfec9f3f7d04f5aad6947444e72dff3c46858ff89ab9a642b697f8c37fc6d58abd30d7e07061cbd366a566c22784e84d836a8b4d550a0617c4ea1ae7af61e2c78c9c67bb50c0982098faa9e14bbe0bd007e81c6c556bb3ac19b05057d7b4efc0d3d4238943ed1a552b3\n\n# tcId = 130\n# wrong length of oid\nmsg = 313233343030\nresult = invalid\nsig = 1be82c7d86945e9d8bbbcbbf58216b20f2b44f68af6be2b538c52b0fa7809345aa227017a0854d462b74e287b20783cfd871fd85496dc39e8258b22e6befcefec67c69432ec269af2b4b348ec85ccc03a64523f038bf3dcd2de8cf6b6c6343b374419802d055902569d9188c9f7f795aa2ad22c8551392fedb3c5dadeeed4c1ea0ccf9ad237dbd73fc590f0920ba1ce11a130304bb3c4b923484a4922cdb87c032b16ba940885569e4a8a81fedf839f86e0d264e5c773b2530cfef13614de349779c08b9c18ca8e53348b62d9324c13e7222a99ef4b085cd8bb91d90b37e7bc6a5014a4906d7c3e5c59b56df9322a06434142bec6b066759658aa822c86bb5af\n\n# tcId = 131\n# uint32 overflow in length of oid\nmsg = 313233343030\nresult = invalid\nsig = 1730655b946726d5db32d09c48c6b06937597b5766f4bea6d2a851faa90d83877887f3250ab9b8b4fef104a2fc0c22d603b28023087536c11da54fca390f4a3bd038e63ad1abf12c5bccf7f80519e941862dd673624ab04390a68fae6e1fc5874ca2dff234172cacf54c565fb999598b372523f4e3730acf43e3a747bc067215bb4f235133a7bc20a9dcf3916d619bfbf6abf0d565bb3e922fa93116725017bb7055e75b455de9b10f00716f448410f6ee84a5612d2646809050eb8b27bb8707b6026c168958b068c5406384e031768defd754d94bc497079982012edf7f966fa81a954e9c9be118001977773def1f29aed719e51e73fa618fb9d61fcbc4b34f\n\n# tcId = 132\n# uint64 overflow in length of oid\nmsg = 313233343030\nresult = invalid\nsig = 264fa8d38bb793a078fe9d9f39a484a8d42f4aae23c9486e2d987c7fd18a3e38111c78d4e90a4b0152ef18bcddfc346b901e3029b11ad5c95f92f0c53b62cc7b1f8e489392b323b81f5502e69920e7bddcfd212e32233f569d42ac9c511779de6618ec5411a95475126455e9d3d83d35620eab93f18f7b9080be87298079c5aa2e31f612727d979c7571b7736a8cccf6f3f053cd9e25ec502c8d61ee4a2ac94a879452c4a9aa88c094f73dfe3dc31a5fa3d2802fe2400ee8885f5527100fc82222d4470c979eea045db6e068e9a1b09591754eade5dd48f401da26c44dcdc13ed482b2202b10212d99378cb0f848d19f67e3f3d5351c5698c72f38b2d7f71c0e\n\n# tcId = 133\n# length of oid = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 8908cf495fae96c593c04e0bc329ed29cb7fc151c8d66546057554b7f59e2da70b164dc6bc26aa19370903eaf5fb60a0c33ba9f8d39cc015a8a5e10e24d9d292227e1a52bd6640b8de82202c2effc973341e0dbf0bf7a47ffe500309699a9787fa74ced281ce129019df96930d66d1f95619abfd5127a85d9e0aa6757e7c8ea29fa339214074580b8181804bd224dd6d4be45c1681158ffac6ebf5399737b5538ead3fbbfa68b9407fe717d255c7e1f3cd02c6c2793095999d0e35493c67766ce320d4bc4c984bd4af0c1a6744357508c2bc23c2eac58b72a181963d7838e8f8d5f979ab3b9c505f177ac3350657cb84c52a4be3976141ca5727190a2f570c08\n\n# tcId = 134\n# length of oid = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 9175f30fa7863284e06e3a81a23f56b639d0ae37a4f42779c71a6765e6a2e94aaf76fa32e7c29a8d936b9936bd02181c2de75a41a703e99d35ffd4dd3074803e77fddac42fb4ccdb5793b7e6a530297efc326559253d493a8677cebace5ce7b5f5b61c253b4512c3fd58ddc94a5e7c241bb4046ee1b3d955a80d02eacf0b231b3093cc17f18e84ad6d2631d225aff74f66f3e0afb1ed290e8ad10ba44ebb9e3ac198a17044c3abb4e41c4351a7d6d86847f654d3839870a78641aedcded01d", + "e60665d8edbbd9d7ff46953d2fcb6127c3e4864a7a64cd4872a2f7074e4ada781e25f18ab3b60d712775b45cac1230e403adcba7af3aad81e532490fda65c5f044\n\n# tcId = 135\n# length of oid = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 36f243ff8df76718fcb54fb3ee26a497df468d14cb2e9463797349c85de2fd05ccd1d3c8b969414add075a55c9c4eee7c1b046aa5a9b65c47db59c236ee44b165c38b224379d39b131b63b6df44d6119c947c01eaa14980df1a5e8d7d6e6c5e8306151b16dfd001773331a408b7442dd83a63adb705cdc171d4b43591817a7abec70ac6f85a73db930b651ade05c9d119b63937109ea17aaf72582427e174ce84a1b82b51cba8483d41d06dba51f0355db3e4f48aeeebc3df5942eaecac74ca56a588da107df4be3edd56c4510f12b85760da6676b778024fecaa217cd0f359834cf2fc94985136001d50cc7b38d6f7c7383d3ab58df97a464968aa651d6ddb0\n\n# tcId = 136\n# length of oid = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 7757a37d09443fcd3836e17cd254d3d03dc705d23f1d656112bf3aba485ee6220c7844912405d41978a94a2be8a16d8afb098b87f2b641e0f9a7d3845b02f10a7d63c2d871cd1d832679209e4a8c66095757b723557a7fcc9a7b6f6f9bc9a167364412905e38a843883fa7b9761e7fa664cd2bfb0a5f0043cf2a6eb7804ea07f79a6ca6633664b3813d8c6e95ab7f376182f315b7c6b043913e19759485d583fa92a4464d76140a9be4305fab54219dfe69590d6841f024bc29d48b39563b6053456dadcb8c7903c7bacbb3a80e3d0a8acfd222758b2647592ca4c4f2bb2a26a04ef15ed65e90c14272d15fb4e0464ed31e0a3203c6242c102f480aac6bcbc6a\n\n# tcId = 137\n# incorrect length of oid\nmsg = 313233343030\nresult = invalid\nsig = 1b7e55659dcbd51e3c3de5eb5cc2c4224009489948385cdc8d5e564a49402ae38c1e51f2fa9affe9575b2f768e21565c39b5c0ad107cc1e5e466cc77328b8919321ffefe5431cafcac48bd7d45fb2830a548cb1424e3c94ffbd85e9bc4e6392f56c2b6931a301230b37135e93e460a30026da53bb55e3c6adb68800b694172174615bd2e749e8678023cd7c07fa3021e3bbf75a7ce81ba849efecc3a7d8a0af088a5c437b114bf45be2d10d2280da8a6208049143620134c76933278d54c236065b795b005ffd7be8dcdbbbc7ad822f3ce7a0426dc4eb0194768470b0e7317466899f60c40ee3d49d7902b9c355f6cad7dc26386227c1fe8a264d3b7c0b830e8\n\n# tcId = 138\n# removing oid\nmsg = 313233343030\nresult = invalid\nsig = 4e856814cca0d9c39a2ad4efe2b425ca0ddf90634278255edb4b7f643a868ea468f8d1afeb72b1bb60455139f44c046ecc121354f1a9507accf5865aa1268448935790cd1b02604cd800f6f2f0aee5adda9bddb6b5b32e0504e2fe2012896ff9b8f670364ffe6e563e1a9a19b491ba3414f779863bc8bf411ee0e8a0e6ddf1b4d4a70bdf6a9a743818be75628773558bad898e4842fa9727770a15a6aabde3b503709d1e9f602f6fb23115aa46706cc78e48bfe57cc1fc4409c4f1b5f440a3281f955b73eaa662adb9fffaa40b4a8495659625c6b7b51218df928d51cd66f59c25d7b94b798c9fb6e97b43ade5f4d17f59111deeb03d442edfd144f26d3df606\n\n# tcId = 139\n# lonely oid tag\nmsg = 313233343030\nresult = invalid\nsig = 7dab5f7f0430ba2ed6dc53d9db80579ad10343b72a9d8a37ce0bb38403224a4abab252c3a0b5a950170d2f663ff4a8d03217e289d715b27c069432c5fc9591972f1b4ac468ab8e933c1fd4831978c0381ff9b8ec85baaed76d1351a8abc38a53329e9c8bb3c1f77a8bd15c29e509b198d46bb28c8d98f03c01f9ced381d24ed9d28ffd1d2eab5416ed5754ccbfc1214b5ebc3339f5a6d667581fee46d60eaec42074de8200d71e1773a9c83061f2ba4b9a2475f552f9ba99fec5028a020f4ac2208196f55c9fa8901c31ac31fbf671be577c9cf64f7fbf3ef7ed60132f2a204f6589d23bbcac7a87dcd46607871988b5f9afa5299f35562d58e93478f1d973ab\n\n# tcId = 140\n# appending 0's to oid\nmsg = 313233343030\nresult = invalid\nsig = 7b677618a244ccf2d2b9ad60413580b07be0460cbcb449e663f1d3504772c369684eb6fa5a3a18e2bde19f8f2584a3a3204bc9026c492137738058ae433d68836889e72aecdbe0385c9fd56c4df102d979f7ed6b59c1be1627575be24401bbaa88ec2346f6633e8b01afff790a4ec4bc1900214d8b9d34f29e0a548e3acef57c197425afac9e4dc2b9d8b9da30e771e34740e5780a52d028ff2016399f78a802f032b92e9f1c4c9b9d8ba9be494f8e652c43cc0a0b4952b5d03795359a130e4cbb0708dde79db136f256f1dd885f340e7a870fb4c3e8efe2bd20deb63fc63a01a8e1161eee493e4bda9879c814d9f16123071dce45209341c54476539a9b1a2f\n\n# tcId = 141\n# prepending 0's to oid\nmsg = 313233343030\nresult = invalid\nsig = 2a69e572a00d5d2fab1f91c04c151ab21e1cda5a7675b9e6f67277b120781494f5ace1ad3cdf78e6b6022eece7db55301f5749966c89df5dbf2852bdb182a75baa295697fb1e78122400d013e579cecf3789396102aa494623b5a4145c9bba954e80473fe613513cb9fcaa6792ba67660a9a754d6ed6e3568079a7966396794c1ab9016cf980dd3963179c8f3f0c010f3f136c4b611170fc11c133836cce42fd43952c00d3a7dd868b1715da5ef403e93a64673b15ed114e671caac4109bd2392b43062434c19a68dfbb71938aa8d45b96711950380de2a1c259d770cc5e98ae79fab1a7fda2f53e3098aba41b6fc486b521eb330bb226d0f95fd14aa83e2b14\n\n# tcId = 142\n# appending unused 0's to oid\nmsg = 313233343030\nresult = invalid\nsig = 36536ad1227a5d13acae18d8233a00d21e8064b14964a6d0fdb43ce46a76b9ee1749d77d82227d5bbb031ecbcb2030586360460ce3bf14c7a4d1a0202be3a46913913498b3390cdf96ee89914e7e78548f902a175a7f5f35b48838add2418b25cb7f919c1a0ca558f9ba77dfb6e4df85432071ba78fb6fd0edcd343f8c735f061ca9033e5b3441756188ed588564902602e18745a5ce8b57e3af413173801ddf0cc914d1b4d29e3377110a7b844be6c19773f9db22d5b266b12e8e3d4833b721b1497fe7194c0fb4e3d83ea9193e0a12053680a1396ca5fbf69a717758c5bff5b794ea18e56c0e82af3a1b97f6420f4d268f298f75d7c3a7b820d5557b44d035\n\n# tcId = 143\n# appending null value to oid\nmsg = 313233343030\nresult = invalid\nsig = 325957b2999e0ee32b5ef7302fde0299c7c3647ee225d51ff330f7cc67b6b406cc4dbfd6a33ab2c831c78fc01685c4c3bea94f2194cdde48b6ed1e87f5984de990b5a8525470dd23153e329660bf31e433159addf094b6edac8f118d9fe59c34b83db1dfd26df7154d13e874830e42cad61cb3186fa80b54b7d7ec9da3274d2544dfb42bd8f29a3bcf976752589ece5b731f63f3b072b7bf95b930fef428c121560e1daae7d8636a5f40312786dadb81c07577d4a04ac94dbaf9b161a7f8987fae51077a7caa74da3c84e46c3e1000f2590ac2b0c04d17a7a3cbddd639e762e80d30608289bc6b7211d69af76602d2ef33c5750cb3c183c11450a3423d6dcf4a\n\n# tcId = 144\n# truncated length of oid\nmsg = 313233343030\nresult = invalid\nsig = 5da303d9c88ba80e7df9c1bb650e8317c601676af8fbadd86550d15da9aa9f3d465d2719096e738e922b8bbd1b2e032f7cdebb111266814641fc45857af8b10ebf328c9a434170101a04be7cb2559394debb8a5efac20c6ed858b13d185536270f056913790a4cd269c424075183620c6a312aca860f7d3d694bf5e969fd0fb9333f7e42e8955ace71d957f8eb9fe1965117684c2e73eb2dbdd97c1b2f7802dc68fb9824254b128055932399c796dd3ab14d62b917b7520760e678f7c5eafd82f6510906d959faad867c92a5bd8bbe8c1e64a34025621b20dfa166e37251bda6e76c296dc823acd8ddc73aaa29a5572fac2344f8d213c21e5fcfa1e50b8b2eba\n\n# tcId = 145\n# Replacing oid with NULL\nmsg = 313233343030\nresult = invalid\nsig = 73ae94e6749a14bf9e157305231ca7941d8cc42892410520060f916e1de657e11b50e42a4766c5e7b55494c605ad3324e78d80f8c4b31b1055a599a3b31843c900980ce057cb8bcf09906c8832a97536fba159723e7ef271a8017545bea5bc0f3cfe19f967f9ecfe0bc9f786daf5367be00456f97d4f3b69d932fc5d119779de21f7a4e0a9e80b65bbee18494c4c48c4be3a62a19b483bd56d194ff1c88cf146c2eac3fa2a05afaf3a813d5efe29342f6b0fba81c1241d565306d0936699dd20248689c5b6b4ec2f31a12c0d5909013ed97799c47ef089b9d98ee7e79c8d89d7a27563c529917977ff12a0753bdf8b4f62b660d33f7f6da7860ed4b021f51d01\n\n# tcId = 146\n# changing tag value of oid\nmsg = 313233343030\nresult = invalid\nsig = 468c5f910fbcd2e2e412de22199a9ec2e46d084e2450e3752e58170fc7a7cd9870c24859ca131b967e0a734d555a78795ada986a1b13b81ac3bc5b7e858fb3075708d2cb03e4cada94455970fa7d849479ec8e5484270196147ac77c20c0a14628b8d3a69388973e17d571005ae218fef67c70f62436ba32e5a53566ff6310944417c7dd0f7e1e5aafbbb9d4d0853d84624f9d6e3c8078c17c34aa16f0bc8971580f456c2dc49f13af44cad2e3dd7120b70d3bd2c0a0957d5a739a95932b24ffc564bb94d748242cb95875814fbedf58e8c036a516b540ab62a7afdd6e3f304242173fc69ceeb95871bdcd530d53b7145459ccf41afe2c8ca9ccbffa28d405e0\n\n# tcId = 147\n# changing tag value of oid\nmsg = 313233343030\nresult = invalid\nsig = 9e7e0c0d929bc15ef8ad6b64f9dfac6a7f0b55942eca76df1ada99e443fc3925a5dd9e2b25befc7a9e1c09c9d9c19a3bb842c0f35e8ecd4229807012de47130335175d6f558b79aae6fd7bf2bee86ea2902fcd9067927f485b007723af826511d1a01042ed6a7a2b2c558c929a580cabbd83c5676e1af860c596ef784b043d5c5ed963c859761499111337cfcf9d4cdf8a305d6da83ac6239a4b2c16281d1f4f30a06310bf4237ba6594b93de279e8fda3406bd5c7be52a0d3cb2c7362a6ba028e74572c8f21e3ebb608ce284b4b378b211ccc8f42471ee86923f57fd7c2b8926c9fe0a915e160171cd595b37924ebda6ee187f4a5e7e4a63161e246f27eb829\n\n# tcId = 148\n# changing tag value of oid\nmsg = 313233343030\nresult = invalid\nsig = 92617dc932c110bf61e88895560638df4f8d05172f435af4457231ad08a5650f1f505604029f423028247d4231c86af51db339c180177bade39076dc67f9691fb7234d9b8c097e650ab3f2822414757f3633a047c5d5082eb469c35757678be46db32c4cb628f30121fd8f5894eeef27707c8689ada5fab7ab0c2e2290a", + "76a1327828f41869eec62c2c03ff50d95a678bd95bbf56f533eabc5474df2f23ce2f8c0bb71b8bd79e2dcc28a682ea34eb20e670018becd44200115ae5116664cdd0429fe227fd0d599b60c6bd3911082a7428ae1f57bcff5b9377fb30994129e2bec9429d6e613c1b527e9f51c6e9921f59be1763dcc210cb2e4ce86297b774b1a0f\n\n# tcId = 149\n# changing tag value of oid\nmsg = 313233343030\nresult = invalid\nsig = 144d33ca3e767af7d1cf7de00481c6dd6541189cd4899cbbe3125463469e8d317018d0feeb5f3c875a4b7217bf1128f448068af845886de43a4bf4bfccbe7f4d02ec30569760119ea1446ad2937a0ce28ebe3cf65b8212cfac09d19988c3ebceac6ee62d7ed3d716e12517f2c9aee98561ccdc8e7430c6f9f48e13e1061e18c02d037d22fd4b40ca203b7eecea229d155182fa8c4d70905ef9b42885fae0b99bdb945283be021a521a57de94958785bb9fd8b9ff5f7a334a0062892ec1967db6db2f9d9af726432162857996faa863ead0f7ed761643961e80192b72c7bc2210d80600bdc5d9d766fd4c1e82053f42c54e79f2605705181a4d7039377dc36c02\n\n# tcId = 150\n# changing tag value of oid\nmsg = 313233343030\nresult = invalid\nsig = 8cac0ec2416e1ffcb37acb5b86227e5a6b88b7e4f50981aa54a1ead401e9b968f68b1e0278e55300070f3f05963cd74124ed58fa3969c41c5106a145490174001338c504fc01d2574384223eca0a755142697631e59556669e686b6ac89561c283c855e6ac27e4c9e4c6989c97d86f7f9ce042a65f20ea442bff4f6e3025854a2db562f4a25e2e9d0cbbdca056c09bbf2308c3d34a0c0e39b932cb6c6ffa47f471f6276439b320044c8d9d00dffd9f01442326a209fc01cf034ab84b0d9fa8f63c2c342deaa9baf32b904b66451590febe4c1821fd6b6e88a5c1307b053cd0fe9040abc3257766a82e4d9c6f9a059fbb41bb7116bb6d71e6fa778085930895bc\n\n# tcId = 151\n# dropping value of oid\nmsg = 313233343030\nresult = invalid\nsig = 8cf2a2d4f7e3bce319cbf1f2611c9209edb696e61ba984512067db8a91e7faf6bd1bc399cfc9e7e744662d07437f677b1fd04fab3de3f9c89499d4a15a90c194048b7723ff22572acf54187852381c3453ae11da318b92513d3544e671f742bbc3bd69c8552f1d4c58b43a6f7e6bfcc9eaf78f9b94cf59b7be21ceb2de33e50e50fb8a4592441e0919c621477a49f87d5190fcefcf4164ff7d2d5803f03a8dbdbe74258342e50c33fe307294ca1ee3b2dc6f400a12cba00002871bbd852e105b350dc11e4b551182ecf2088cc46af1a899e606bef793897f538792a09901150cf40efdae87e838d6c2a5ac84771599daa0e5ed9db1cd35468ab3b5e2c12a6d1d\n\n# tcId = 152\n# using composition for oid\nmsg = 313233343030\nresult = invalid\nsig = 2dd458297ce1a8845a767f0a1e40bc30d3b9b54b4a82f6240a3b993cde0f70695435de7973ab17352699e8e383391f17f35caff60e64587e2714fc6807b00e98344acb71195e20673d7ae0360e2aeb66a5831e1165432534f873c0f625eb3aba9307ecfb7a460ba4e28610a7242cf0f76a73e33d6b15c489e2755f91cc4dc47acd6e9261a2e34641fafe52da98a10e4a8306c843ccc8f1bc3c98f1b4d7e3ebde5607243e4a4bc442f87d2a2d09a83c9acad25e558dbb72277512b284a0f93be155172b9f8463e27a701b3616c3021801f893b72abf7919f9963a20d151a5a8d0bf2dbe528d199084a2d7d4f3d1c0ed5893117620cc6800ad3d7d246ca074c54b\n\n# tcId = 153\n# modify first byte of oid\nmsg = 313233343030\nresult = invalid\nsig = 09b1fcf9a76a1cc0819fbfcc70d54d52ec5c5007c13581415b742cfed2185c2a26784aa85a208dd4ed140654df11436c5487c170bb213e9898650019848b26413f8dd6f0aae6edb41ac017c079b63de311fab7dcce522b9361feeb941e9371bc20936689d0a7e464c869ff8db1f85890d604e814a3fa9c39d101bf7a4b40ae89e122d314462606f8a5e5039f86bbd3da35f8d213b64fa82aff067817936da0c009d9f724abb2060588f8ce3bdc13ac587d51a197acff533d0e4e03083589d1d7363827c34f2616162b085715417d3b8cb1782c04cd0a37dc91780dbfb5218d674a2d2c1096c2f05b28aaa575b60e38123a8ed8d343ef95f777081eee898ea455\n\n# tcId = 154\n# modify last byte of oid\nmsg = 313233343030\nresult = invalid\nsig = 889bcf54a28525d32db03e8452c6e0f0aef9941716dbff0497014ea9b0b181be70d319574c24fbbd752dbb9ffce4b198ab43b950b05c2a1288542b6052c557c87450168e4cdd399ed8d9b7aa7c841a39b28c7bef5bab0f1716e8e9de9a15c1132bc12cfbb77f237409608fb8baaa2e851742655e272e03f28866723b202d639f28e29372f18579c4482570b3816e037f8f256d7a95116988b676e0599885cea80d3c24b6984ec8080a80af020e7d5631ce8646c9d270d4a521122c009ff626d2c428b1b8334569a7e79aa64a5dcecc7c7e4881746bc3754a87fe51018cb401bdcd6982c4fb4b3782008b951847d64d3eafe4e974bf61d215e63b750313163c47\n\n# tcId = 155\n# truncated oid\nmsg = 313233343030\nresult = invalid\nsig = 14dbd0f32a7fd64ca18913ef840e113d7bdaf22aea671414c9c44de02218b474d6d4867a9a4b6144bc6274deae6f615ddfc54a9e74b4c657187c818781e399798db8e62987a128105086fbcff4d5a06bb43823b1f754e485dc24d9f952d1d4ede9504c92a2511cf51e68eb67db959152ba1700af0e0aed533246d7ce9e0c012eda62d66ab5be82b0ee5fe4863d3c16b59ed6d463c382b25a9c8ace7dbb26b125afaf44bf93edf6a63942b38f40deef43ae354934056917c9af6655872b010b0840403c1cd5c053355fabaa23ba39dd381f4867a2264c476ba67d46767c546ed3ea59488c5500c79cf5e0670ce744c2603e01e7c53f452c22ba15a8c5930c61e1\n\n# tcId = 156\n# truncated oid\nmsg = 313233343030\nresult = invalid\nsig = 4bad954b43b0fb966ac33ed7c8ccf2fa8246279677172b39854268b3c2a3fa670840aab9e0f53a754bbd105f2e52a29b132991ed814cfee0a102e293451420deac214bdb5a574f9cb4b3661b10f6804f5c27d1239556413db01cf123132882972d04b9a0b8d046b8993eedae811f67d9acb9e28b3ab4b6c4d0e42f85879623f1901ac082c93ef0fbc12f3ffcaf252c8953bbf8abd6fc01b2f272e27448f4f77fb369f2c5215c7eb68b2fcfe2e584fea33e505e22a2aad0844d1c8689160a19ef377e7513e96dfd4efb1aaf180b8d5dd8e6168cea4b34156f2ee20a97deea0fda18c6438485fdca6c705806d7d48ff93f3b8dcb847eacd2235ce1db391bab325b\n\n# tcId = 157\n# wrong oid\nmsg = 313233343030\nresult = invalid\nsig = 0043058ff1d0e41ca8034e843d17284e41a93df84ec80c927a2443e954025f74630f118b683d6fc4e3c6b7ee4538cc6b4bbe3505f70ae40a336948f7da8d83b1d7fd4ae3541b885537e92e86570c2b7f622d2c4f63b0e0380e3d13be8ac930d06ac9cb1f3d33882cc235f93702a4118038a343b6da20914c40e52a2842009bf9c8312090bc2abbc4e48541a6b2dffbed3c1d51e989479d017c60e6cd2d76ec292e75ba550c1c195c6ce06c017e5349e10a90adecbcc43f71f3d24493796d464dc89737264dc102d1fdb9fa1262ca696528d87dbf45996b7087e755ee07075c8fbcb2036050c8946866bd972b0fa59a2995fce09e12250341a2e43d5e2c8df8c2\n\n# tcId = 158\n# longer oid\nmsg = 313233343030\nresult = invalid\nsig = 6afc343f91b6e24958dd3da7ed8261a127ca3a5641d38f17ef5da8bde5581d87cbea823241b0c7990c31972e53288cb253fa1477405b020de6dad1f0d48b30ef11547a84f2edad859f6f9f11c1cf3a22033050d04ae41b19c43d6a6c079e46df4c38ddfa7c0482a47b5aa00ba4b244d423328c09fa1589d412775f260e55a8d10b9930ec6988ffc138ede59c32e995bcd85ea83d935eec5c870b49b88b0a7826683f614812449a00a9a67e11cf55f5d16f9763934d20c7a206b0cc86227d33498f492ddb98db5fe7312e25654309f848b271563c5c75d246ffa0ab2aa04ce3573468902212e938b8b6927b5baf3620f75c20e3b5d878707837110027c6165c24\n\n# tcId = 159\n# oid with modified node\nmsg = 313233343030\nresult = invalid\nsig = 539a9b1ffcb0880d93d7676fbfad02b11efbd713f273caa558755cedbfc0bc838d10823ce56c2d506c7979d96433d6777fbb749c52ba263c77d4e33790f78bc54d696e1124650681d260af084be5ff47ce9a69eee44d54ea31b9e401b7f558413d66790bb69e938f45e545318c8b7886cf8c0a3c84c331f4c334ea59ce3076fd163ee17c6786e7908c3356f1c81916f7ba36d65fd31c9350dcabf3623b6f2bc3fe5c247a32c8313da0e67e8375f8163f63e84feac04dce2ce2950a56b6fe285ed06039df5b9329677b2619639af36137bfbb75ef07cd3ba5db5104aa015b0da57f70f773edc6bf01d5c68390073749bf253ef999d7d1dd964fac0cd3e39526de\n\n# tcId = 160\n# oid with modified node\nmsg = 313233343030\nresult = invalid\nsig = 757a75f982883fd9dbefaf8ad051ab35c965607fcd55f656dae97ce949a17b5829efb8cc34179242c2d442000da7ee7bdda0a5c114a86c7d0f8ad79bfa76c4774edbcb79827029179c9b7cd7925de898d09fae39516ea1da61aeba1f31f53380ab9edd6cc7170cf70a35b169cc9390b20823ef0d5e7e3a078b31f877a1f6f9c447dd979915b0716fed43236ade3086cc794e8bd210140f0c65c79d2e57f387f22e2d7dc12454f9ea384b928779fac27bb2e614e947e3307cfaf0f0899dc320d4e5bf47b9e92cc3649e35854d709df56f55dbabeb61bb5dd0e77fa8c499eb9654c277b34218b7c0a92088a0909da3070f5c2736c8edf91fa7ef038e091629aa7c\n\n# tcId = 161\n# large integer in oid\nmsg = 313233343030\nresult = invalid\nsig = 0d146c7968ef5f1e85feddf8d27847de4b28e5ebab16f8af3b6b6e58396aaca752052764b8db3b1140a0a0cbf529dee7f1cde601bd42ab916e0f183b0d37c843a7568d24b07d7e1f26ad7ab6a96129f447ccb28849f83b92cf9d002a93b904e63c80d8e58a57fe586736d129663ffc6c6fcf58cc6de1955fc7bca9ef16aa6789d61016212307ea1e059c43c5350e485cf6158a25cd1e8f726a1473a4f598cd53bd7b6862735ad8e66491e6ddd0ead13bce9c14fae69dee16ff6dde8f0fc33e85684e3745cfb3cae708dc8b599142821c49e5d5d93e26e251924da8d711a731ab9caeebeee7d764b87d633374125dc14d8f8b944f2cea2450d89bab9ea1ec7370\n\n# tcId = 162\n# oid with invalid node\nmsg = 313233343030\nresult = invalid\nsig = 2fb7010afce511f6c6563db8fe3e623313fa82e37f81a1da359f9cd27ca423788cb0c65a6ae7c01ca82410929fe57ccb8f4f3158a3d9016712876f7accd970d30dbf6bd90c1b0393f11279b3febe760ad1", + "786d593a8e0a3944b4cc7c5e8ca41ed5e698ba367975b2ab7c7c0a6be919f36ed1771b1648f22ad899af51ea469b1ee47206e8174fa148a9670a4e45a3d36fcdb948ee994888f07252a37d636ce541c70da9d6c0f3ae2a860bd660ce553d5e94b1bf2687e036e77da61586b18189558906cf12a63c2850e28cb595c46a85a59d84be6c28151f81b10ef8ddaf6297e5ccb5c009bd0d51463fb48dbe48e9dbcf7b325dfa258322cf6acf30ab8d566874\n\n# tcId = 163\n# oid with invalid node\nmsg = 313233343030\nresult = invalid\nsig = 3f52510fde9cc0425aa29ab11dd95bb0063c94b9e835dc4ad839b409e1cd8994c87ef018e0dbc1571d3e3e321d35d88e2694bbdb9422c31cd64331945a8f6133fb8079dd5cd8a55ca761a88f280725f6e13c178ea94bd7b7395b4327d572e2615cc60366acffff56d3f555397b2cc348844c42dce283c948c28fc8d077d07c390b8c78193dae608056c93950cee202d68f02b3d8fd58026a690cbd8a95f4d1f1fd15a19e119b3340d02710faaf1ddb66af60fdd5dbe8f0cac69a370cea0a4297a8a2ba728141886f6aea3aaa113a42b6f9acb2fbdc9f7a0eb295066a1862b75acbeee9eefa0adf208867cbf173aebcd4a9151a657a041577cc4265c0c1ff9e47\n\n# tcId = 164\n# long form encoding of length of null\nmsg = 313233343030\nresult = invalid\nsig = 78695d7dc94b3ad16254631482570bc97bbe1e5601c5d437660c9ffbf3d7864321e0a5fa4ea6136084ea004e71bd0ce76432f9b68e3c5e8995bc6e33bde9a93bdabdc6bfe5f8ffa30f22d4a13d453e26f975a7ef6fa21acf7903818df3a008b818e829d00e93f0fbde717f7c9de12e65581cd430993ac5d8ac840d5ab0dfed1834913c66e2689364e30f595c673a3c6c8191e80118e8cb2b36b1b613cbdb40d89444694b2609694ad877df3e42173b8f07f8d0089c34d8d6a539ae508105ee91a3d0cef2208ca74c57b57ac193412a713ad9ddfd10f63a6a9adcafb8c3eaffab0d0aa38fae362de560665022ac755fcea073aa905be19177debd5b00e9434f20\n\n# tcId = 165\n# length of null contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 320d404e25a77d4ed6108433e85c9e8212b3614796c96105421acce95b48abd9683e00fbd57333b4483cda1d69d77189e7ca795ddf23355d0a40b67f9c97bf5843487b7550fc0d3577ba3a0cf7c7e083d18902fb4bb231c6ddb7942f512896af12d344a35cc6f1d3a6ceca567a15484ef95580b831e0c4d62bed425deff9175b68da5b6cf8daedcccaad83110b42ad03c5e8d4bceeb8e1ce2a9b15c2a61f0ec65248698b691a86d61eb593a359366254b8259b396f5ca3aaff4d0d3d1341afc019e6f7a2d43fff46a48aab2f33721d906299305dd97a9aca7aefa772f153371831653b607725fbe60c952bb04f3b02194fd0f0790b6560ee5a8f55ad1e8779b7\n\n# tcId = 166\n# wrong length of null\nmsg = 313233343030\nresult = invalid\nsig = 3501fae15b0d575cbae58228a1debcbb44575dbfe77fe1aa9dbb45ffeb821031933ca8f2b0e38900b84c86b4825bd587b28b94f27cf83cc8f36ce1e4f565124b2fc3426de04b3951800e54276ec31534a987536ef0e3d081dded8252bec64b432958df9ae045b29c1a85b9d4207fe4941356149dd0ced33fc5de142458a856151fc246c6626e9f1e00c326a00959f9080f5dbdb7e82fa79e100b03b6fe42e2d5c03cbb07b8d0ef8db22d323d9e8acdfc1dc30c765f7db9c9a14d9f41c451c3e037db9468148d8564b63fab33d5637183db20d27cb6a231491d6ac08d70d9a82e6e8ab04da8bc60659a3f9e31f793c2f0f090b6811f1dd634da057b3c4aea5e84\n\n# tcId = 167\n# uint32 overflow in length of null\nmsg = 313233343030\nresult = invalid\nsig = 989c7cce6a8018a5a2b05310bccc3dc0aa8f58fb3752111eaac000a2daed122d44293203ea9eea41eab79d0cae1bfb526a131e8a8bd021e5b98907de2b066a33165c30c7705c7cc684c21fac98d03e3c5e9dffb78d87fd57018cbca50e4cf1bd44e1799c03b0b44bb7a9971c314f2fcb1345269d27dc0375ef89d1062f1ab8220fe57ccf46a04e32b815f2c10a4045fd3b814113c679106f70d9ba9c746be24354e99b54e3dc1aafe2e9d83a668aa440194be87e914eb986c3d21447516efa0051f6a30d89acf520d697776b9b854d49230c6a221c5f67b3d66793b97741200b9f73d9ea7558df17e44de5480d99a4399e72a380c30b314d8b504fe160427df5\n\n# tcId = 168\n# uint64 overflow in length of null\nmsg = 313233343030\nresult = invalid\nsig = 98ebc21ca822ccf9c7e82166aef286277d2335a8f68d48c1f4cee180bd6003a89e6137885113c2af09e805020ef5c0e13f913d6add5316396654325d04b40c268c3eaf3a0cfcbc5963e5d7e14e8bbe95a8b15f9dc0244b202537cbc561c91e22e933f4ffc96499e6a3b0b33a33d9329f8178f35f5b1a15940f34ff47aa1a6381d8216343cd40a02b4472b5a4ab2f3116803740b947258ec85e3404c375d97ce73e00f9fbace9a53844b8ae669b9743e8f7bf59b3623c0fa1d7c60fbeabe35ad5796a9d8a6d32eaba6c045a6aa2530b6cf1cc045326db85b4f2f567a8a38f58c8d978f3f2fff2098eb6dae5ad4bde60d9d3913eb23f378ce41ba198ac273778fd\n\n# tcId = 169\n# length of null = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 94ed6235a870a8ac919051f7204f809e6bc1da3c22eaf7df3f238f7b183a7fac66adc90b51688e3e00764a45990845d542b04181d618c383f632a5f5193e77b48e423c0db3e266c5b87b7f38d95cdeacdaeb29e419619ccea4899cc2d1489e10034560aa52f6b17ff5f650659ccbd403c6e89b2812211894fba188748786b2babaf913a03c432f22da99c44cad95272e6cc16dbc44ac6d0a9afe23946d93299ca8840108dfdf25cb25846a8fa9234bbd92ab5712ae6d7f7f162fc76baabf30e0efeb42cf0a68d8c02dd45a7f4fbbee275dc14a96b6d010823d604f46e09dd1b99939a625f9a419be178bf6244929897d1387928e5013a0c76db37e7c048f60bb\n\n# tcId = 170\n# length of null = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 12c8a3d061fad3c4cc7b6cacb83a8abcee495ff2255464495c9d6a600c6e64a57fa9dcb18cd648ef5133dcab0f1a9c57361e4b2b9b0b996a673615f292601fea09dad776659b014dcf62c35ac063dcfb7186fadcae0b506e7b95c2b8794d771856d0ecf907025675d980746c5dbeeb71482ba4141e50f67dbea79f78b40875a98ec80fe1d7fe2eba043a966543a79317c28a824c3c6b382c0c57068a3036687fa53149788990dacd547723b3f0051f57829b10aa97a15cb4f9fce9617158e77a8399a22629e9d4a708114a1497d0465e3b5a4e1bbbd0096dafdba7b12cb10dbaa54834025043055e5fc6cec45c6ce9c0946e055ef77ed49522892a267ea2c123\n\n# tcId = 171\n# length of null = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 789094730a65d2a48085a67c9018839b2187bde7a2898c13b17fe25e509a437c152f9376ad710423e8a08e6c98fc43f9039b630e77cee3629791bfeefe37eb168a46053c80805221fec513e796db2d58f119ab33b6d0a1a62e1fe2824f2d5145de791d651ce86ea84c8740ed423938339d786964139b6e62680c991ab404cfeb166069d8c27a560780722d8b6b9299086904308458b47b9d85ea48fa78f861b396c630b3bdc1111edff7441b37afd526a4066e0a130b0953d51e5c3812dbb054f188440e5d0cc8e134a17e770d5a93d8b1cb500c72ef1f49b7e760828f92ad65050ebe4131ef295c7f8afe19a0d0c5be318353641d02262d557cead9a6052f6f\n\n# tcId = 172\n# length of null = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 8b2e3c17fe8adaa8e7c8eaa0e3d98369131c8e9b76f36bc97fc95888c4a0f6ae4bb85fdb2435bc85d6763dd07dd923e29a8eb046512279ff6947b12bb2e2a6b6a3ccd64c7de88ef6b53676b25472997163fd7da09815af219120d6cf58f3a0fb3f408ebedf235e5e0d7bf6231cd87d95cd26c2ed506a0749abf45884c22d795bbee01b01884eedccdc7ec04d6394e4200233b8da3dbf148555e4168123749267f0ace21e1b468ab0d4f99a59ad10bd3bb35f517836d0034e53efa6f4a042434a69d6987b59110cfc99267835d7ebd2ddd0a621116e0fbfeb1b60ae85b9e80bdcc52fa3341f82da73bbb841a0e665b084c6cafaef5bef5de609f4f94005488f68\n\n# tcId = 173\n# incorrect length of null\nmsg = 313233343030\nresult = invalid\nsig = 4706e77141ec16f6936a2bfc200f9c5ec3e147be7e2e6b71790750ec513ca2ff2ac2a84b76fb96ad5f9af0c766af1b7fe8927af940c2487631fef6f7fdbed533df4f5da4f1aeb89c8f8a34c3a6ed7e5e10e28fa1c64f33985ada66a92e9c3b8b5f5366f075b2e9ecc0a41a061712ccbaf2add75254f62e1b66a820924b18239559791dab3dad8f60500fbaa3d76dc754df7a848912aca54e6cf627c5e9f9db9bb22c2cd3ce0fa13838125d88e80b3ae6baf8b65f0530885d307d47f1e3eb4bf6126dd631a4b6de235ab136886ef70d2f483cfc962cdb52e291ca899d108b9980b91eb47087b3132d154c317622077a28a904de3daf415a5634d79625f926fee6\n\n# tcId = 174\n# appending 0's to null\nmsg = 313233343030\nresult = invalid\nsig = 78e59ab23d412938f10996b4332f5a412d85b8bb8b3d55c9d017337357823b3cc83d2d1f2b9fe0025fd3f898d2661ac2e7d7a834465f096a0d29315fce69ecd15241750df027eb082d799e4d56497bff65a115e69c2cc57cf1b5e1c62edb25d8646fcc89a74082b9ba36c6aa92ddbccae8858ecc06391f6b39ff5a740be97f012b39f2d48134701cf27b5172297d217e8eb679732253591f45bdf97957f29b596f27ec29f7c471a966818c50296ced411e5010fe6da1c26b9e3489316cb16e55f8b65fc5a1b1bad4077dc34c7c9730402205f12e4e61983e6f5ad163324345a59381fbc3cadcb460aebfedf15323cf1be78c45198afcc803719bf13e42ac560a\n\n# tcId = 175\n# appending null value to null\nmsg = 313233343030\nresult = invalid\nsig = 46412b003a67d7cac1dc7992d31259013069a1aad4292368ebe0e597f41883e8291aaea88c2a8115b47fb87265ebb9eba6fe9006bc1e34795a1c2bd8a39c46a28ad075d5cad833beddcb116221411efcb8e86863063b5f6b5885082c8fdb6501e708d734df29c87a723e103b3cb487138cccae90c7431a16189ea8971ae152cca07678491c5b3b68d88c4de18ad771fc252a9bef889b963b353621a0d52ddcd043ebccd4bdcfc5fd4f878aa2fecedb11236de9f44cae8559668f9d035f7adf90e03a707d5e0f97ae84c2da6866f85d49a8dd09106616519df0f5d94a59b1199ab50884cf6d912a061c7488fb5491df32c58d1af741a164a21c5a271feab9a2d5\n\n# tcId = 176\n# truncated length of null\nmsg = 31323", + "3343030\nresult = invalid\nsig = 951b3c537c26d27fe06f602bd224906b1c1d26e41d22c7a22479f11f913978c9a0f7791eac42601122e6a812730cfccd410aec252b203cb0020d3998fd6bd469e335cd664230fb6dd59e0c141dbca861346ff2af394d86b8fdd2e6d5f0cb3d942c3393d917d62cd0148ba82666adfe4c1d999e1a254cc466ce268cc0f14d352e7b0bea8548a5b6fd3745a81f15a72b00d278f881a55677fe37044394ea83630dc15f794b4f6192b7546e841fae0cdf9c00cd3a455596fe9c5fa37d3f3973c58f189db8d39e8ae149f57bdc0b16f9853b798c87e08ae5ca75e89d4b4f3baf87c8c0b699e8c216509e51ea60b52d569491b186abd2365ef5cab983f71abb233b67\n\n# tcId = 177\n# changing tag value of null\nmsg = 313233343030\nresult = invalid\nsig = 4b75061a5487fe328a32c9f454bcd7e40f234cb1acf55f7d3bb8a50ee75edb8b4ad16c46b8da533792983de2dc2d6371d7eb08762e2bcefc45467c82130d483819ba06735985b26a19c391f94f854e31e56cc09ca20d542e62e4474d40d5000910a9a24b1443c66451878656d3a5f00a19f476f1c9be86379036555de05b3198f749e40c51e87772a5ecc59abaa9e9a8d0a1681a3964c9f022215a71be814c8859a63b2a62caca2b6e98f5b10a872bab1ee1c00bf0d640926b867a87640f64402596df229d7bdb74f1e39973aeaea0661787a3878b7fec9d31274e227b59d14b1ce2f707da4521e430f17d09fd6e3d61c97d08bea35631611737780f2ac40bbc\n\n# tcId = 178\n# changing tag value of null\nmsg = 313233343030\nresult = invalid\nsig = 490cbd8f51a6f8aa64af8eae7f76ba045aefefa5bd072a3de5590d7ed120f21aa4f91decd13ae7e9f414bada7916ce26854cb8cb0dc63731c58c94a9a9e621163546f19152c6666648ba9291f5e477ee86ee735cf326958afc468ef7dd9a5b2131505c7fffd17dbb7b35b14cb81058d533c7e9f6ede933825dfa689457af1e1b6ded479e1508f167199be1d8c640d7373283b3fc76d7c3c1354ba725eeab08a24b5529553dd38cef48b9d45f2b90f9aba0663839de4de17e2a838e243b898cf040cf6053a3be2a4bb346b1199a93bb8295c9c4e1ed40d0a5d5628a1be1ba21f45c1c28b936452c3e163810f0a20fa717dd484e46ef92477853592ed3fbe71da5\n\n# tcId = 179\n# changing tag value of null\nmsg = 313233343030\nresult = invalid\nsig = 7f23aa1e2965383e38563ab246870c43817dbfef46b008de4b1744e3610b1adfb89c96ca9a9e575edb97c471861bf613cc67428234dca7bd72c422f0c75877da341bae476ff43487b087f1bec13d31fb777e94bff6830527bde2bbe83578ae2173fed5a03f142c2a41b8ee8873492c21b623cb8143134f9de25872b39644fafdb1fc96ac072935efcbdcd0fa5a97cf036248388946223399053770197b886b39673a438f67b0ea789b9d206257f9a3be5a13017cba89d28ea493ffbfe596f9f5d040ac3098a9d968198e3d004d79d6d704aa42801ad6de597cedb3676125e9a23f971083b2bff18e42aabeba6ec760ae8b8c19fbffd18947061d44060f754600\n\n# tcId = 180\n# changing tag value of null\nmsg = 313233343030\nresult = invalid\nsig = 13db6c6f0fae5be1caaec197b79dcf6784582e508c7e0ed3e56c2674e8a74c0b542beab6b7dffb0773a87f00e4648332d4e9771ba85df0ac1f9ca2874dd7792480799209155773e39f1bdfaa561b2d8133f67d47c96275e6b1098d1b56a8b8ab5525c14555f4c9b1f241be6dba874e5d794d0fecbbd82a624b7d31b12bd60ce27451125594c744f7f32029c6c7cd0663627b99f7c5636a836e115d0c55a44f62775eb19444020506b6988e11b2726b2330471536066e1f0d194ff9e6e457442b9154261eae83a178ee2f1eed06ef36e417a04cd007060ab83c53e28056fcf49a26e022ec2baf2badba859490243a0d71e5de61c75d259b53cd3baf7675a1db0c\n\n# tcId = 181\n# changing tag value of null\nmsg = 313233343030\nresult = invalid\nsig = 6a0b7c4e2b7efa7002c444307bd3848306d2ffc70c8e767a9d5b17dfb3df076c06ac0374a1c23a011d466c095184616abc028b74bc58b91df76aaecf8070d509d7c7b9f6403bbac80040ae854d139af21bf7a0909cd8e059b5a9b444b11fea701bb1e052d77c7863b557647c7d468fd8ac2f6540eaf18896284f56ee01aa66ad89fda43cb38cdf1ba553e63d4301869bf9ddf076cbf68fde5706787470cbfe78174a516c53ffb6d5d1a91ed78b4e297971f30afbb5bdd02dfbd1097128837541e2974be63541f8df256c8a77a3800fc340093355b5690326242b0d90b3dfe63160382fb3bbbdf9bcbd5b0309ca9d748a343f4a5f8a54b3a2736199e27386a4fe\n\n# tcId = 182\n# composed null\nmsg = 313233343030\nresult = invalid\nsig = 4f611ad1c6ae7158bfdc5ade114098ab879a79e7c70184884f97dd875bbd6b1b869bfcd82ae7f3ee6fe88de98d813103df76f4001fd430de68b0e18c5bf4c8e0805f46d1f98e44112cce945943f682e1af1444e20a4f5e5ce05f12c00e4af3d871730d5e18609a7abe3b7142fc2042077d03e6184ce935e668570271ceaea52c36e553fe791bdca3d966c31299138a2690a671a76dda745cf2aac5e5153a06d89aa4396aca684938c0ad142d5e75e6615364c921c8d18d2841e9a4722fa1ef136adb3aec7be74a018ebd97d48f62358623a7c8d13a76fecfb0ef73c9477aa59ba225416582faad0d7d466d6de53749c3b51f1c55c92fa9a2a08b83b6dd42848c\n\n# tcId = 183\n# incorrect null\nmsg = 313233343030\nresult = invalid\nsig = 5ca68695f420c181c082921645f30d562c1e004bb469277664fa7fe20eb317faf0664d266c3d5cc76aaf90ac74c6a4650ba2fe6e143809c4629c33f0a267015f16f82cb1243f786cbab518ef8a1dbb3abc4e58b1c85f4d04dfe795696927cc20bc26d9889a2fdc74634cc0e697426388609e30b6195da66e114fb2505ecd15ab8c5982769e7675cf76181a0e791e0e211367d736d6dbd90bf27eb7985fb3b33ced721c46c2a25b4dc849f0946de01b94b463be005fede931fb41a3231403c800db10c7783d442cba0b58dae9cdd02d4ec144513ce74732936b31be61e11715d91bde3998399bafb18b690e5972fd0d579470a98391c475f91f5f90fcb9d41ccc\n\n# tcId = 184\n# long form encoding of length of digest\nmsg = 313233343030\nresult = invalid\nsig = 9b35b207ca21297aac4b6b7d64614d610e43af5d21cf3c024aebdda0947fab0be7c397491eeef644cc31c73b7a51bdec1dfa4b6c34f831ce7044a1ba0ab50882886393c5b714fd3efc762d6d1c9cd51b8972171d998ab884658a8887607ac9b57f730238849806920f2a5da51f1b4247ad8ccb4f6cfd44ce76b9a8ebc57a3593574f8640d553c74a3fb4d36fab9d6cff6241f6d9c48488799b384fe3d8a3b88ec0aca5f8978b2194e7d9ea6d6a0cfd5b4601bedc90cb63b4ce02e03b736bd5249fef55a5259d0001d4a78ec392e3889a6863fc0c9acf9cc2761739e75ba7f940e424992aa9e63609df63a6c2cdc5a15e02e11dc4248d940275bca51142c6602c\n\n# tcId = 185\n# length of digest contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 15e12377d3c5d50865371a69fd5e9f41ba3eb5ab2f9882aaa1729198dbf16299572898e6897b615d7c70d57719591184170321df750358f6b6ab9e7aa5a2e150a77fc4532b6d23fadbc1bb810c8498ee5ed2f8708faac2c80eb704ea65244f731e85e82aeee3c195eb01de1dda86bd80634b586118c1f2c144809f527a4b522d20b241c8e50d679506e7ce8f016cbbb8dcb57fe6cdffb860f0afb090b5007f81c61c87dac85fc0136477823da4011dd65bcd6eb67977091197ef02a1670993113199392b8d8173c971a03de1e1e15872188ab951e21da015a17959527be12fed5fe4cc3019741ede5706c472fc7befce0d9dae71083d61eec4679f3bbf222d75\n\n# tcId = 186\n# wrong length of digest\nmsg = 313233343030\nresult = invalid\nsig = 1365fd05a76a548057742f631e0d957c020f670c74a339c4fe0d78aab13b4a960953201e12d75a8b221c0f30be8a9364f8925c6e1d8717222946f7410014b85eecd0ce632147798eaab5ffbc43df3db7207ad776bfba6d5d356307f9c8c17bacf6aed2a35979dd304e5400541e999aebeb35049c695fb5f6ea15b2f5a5734e14a90ba5126b34b296c5981e13f23fe560ca11bfd934082fe3223e381b24fa17677ff85da1709135e150af32c42415eb954746c0183ec648b7aa2f25ed94bf92afbc3398869f6fcfeca70977a6c6f2505b350e8a647affcb203dd836c80f178007dfc3b4e4ca6d50ada50dc73d3971cb055496f7af889ddb31d73f71501f4309a1\n\n# tcId = 187\n# wrong length of digest\nmsg = 313233343030\nresult = invalid\nsig = 1fc4b5129a8b50e734dc531aa0b503c61fae5ae5202aaaddcee197270ec30d8d8e9e06ea5a4b83d113cb430a5b275d8273314c094fbee06047f8d9a090baf8f3f57c52247516b1ac84c1674a4788952dbcffc8c4b50bc3ed0ea16f95887cbe8121fce8c425fb0409494d5a511bcdf9a25fb4590dab75c2ebbaca4f66f6c11229f9367c9ede1214e726c8e3df12c764fd5b3b41121fbf240e92873739dfabdee2a634b142810b04d024b48a8f105682b5999bcec61bbb6fbed1d947922ae808cbc5b7c96eac9a7a94a184ddbf789a816202a19ad9c5a16d10a05e86a870eada53fad5d5cda3ece11b304c2da1c6ba743322ed24417803b1959f2a12c92b9939fd\n\n# tcId = 188\n# uint32 overflow in length of digest\nmsg = 313233343030\nresult = invalid\nsig = 5c0038ea42c3adc50e88f90780e9b0dab64b67c5507f5de0119c0fd2bc7d7a66d6baf1a47c7994fd39e33bd77b31d85db7f7eb1c3e5a5513a507b8c531be20303987382515d84a403ea3f9f3ed7c1b2fb5e5ca7d94458a7fd6fa6a522e92717510a167dd0cd2d27cccae6f29b3dcbd189448834e3ef5c029f6753826ed166f4148269fbb1785bb52a00ca635485c10abc64dcbe1fd7fc39dc9e6499bc72cc0099d6d2c8abdec7beeec586667af53683412ec0491534af62431d650752aa7da5cea0ceb298e24a5166f9df4cd1a05762dca43c5a2ee4687cd230b35d50d811d6cf33c8cfd49f222d5ce2ff0403f95c21f9e6d6d3c38eff74b35a392bbc50f0ea0\n\n# tcId = 189\n# uint64 overflow in length of digest\nmsg = 313233343030\nresult = invalid\nsig = 188571e345ba738adb4d1c4867474faf486c7a4813bb0dbcaf3f051b4fb5205412cabd2f8279930d1038976d5a23e0b064ca804cdd3a5b82b7e8e45c70381386ee84e2b9198206749f79b343677408731853bdeab4b5849abd3e603e612b857e2f63f59ebd66ca977d60e8d66f115394ad06c1c42ca0eafa8f32133ce8737ea606fa17db0f81898de3c3d8f4bbaaf7f6e48aa01424f870a8ecbbc97a6d71f828e91ba3a90c13540c1a3c3c7de2d4708edeb22987574fc9c9be0917cd40b8c", + "75225d71a9b0dc9164d3c194043add6f6cd636a3bf42e0f6dc2f856085ce23e5a9c62f81e120b619551cbeda6e3eb0fbe693b19f2047245281dd6591af89fba425d\n\n# tcId = 190\n# length of digest = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 6c5623ed04e763ad3bd1f370b1bb67ff8e9029e0c34d81e160c580fe548aed6964d9187a45e8fa87f79dd3d8a94d521f2bb8a52cfc34f76385a924c88e63722a7ca365127c0c56e0125ed29ac2f8c960ddf1c99700a19d42cde3e5e46b96bf319fbeb93c2b54076628e81c2ee998f4257afa27a681e8dbb49fa149acdcce9d55222960d307b2e18b33729a61ecfbb01461e3b159c2c958fa1111ad7b4ea80d8897bfeacaee2afe4b17b9b0c7b19f9c2e394429649aea3eeeab3503fe9966c8f3e6b7f0d5e482d6a07d93dfa1eea617a99e55bba32f957c1472d7605a4ba93669d15365f989be09187a9eb58beb942948b9fc7b658a1c06289bbe0d2e6a1e0084\n\n# tcId = 191\n# length of digest = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 27e64c5bc5ad2b95b745e868c21585b53a912249344faa36cc0a963bff4783ee128fa6a8251991c76cedca73b70f7fb27210dc89a93574c2e3a61a8ced2986a1578179c969135656b07502a622fa7c4d208442a8318509f0a736fed1b0dd33dc8a30a5c3249aed7a0aef71ab8858d9f1f9cad06d9802ca9bc125a7fc0354bbb55069d73434b98aa9c7be61fab59fd5c96cd0e64bf704c1b213bed2cfe97e66fc6f6b061cd0a9b01421784c32e71775bed2bb2890c8135c42372f208602ad9c4e3e18ff2cfe24871598803845618308d7956c8314a58eb188e083fed8a11533c933970c2bc313137726273f09e36e827c9e1af36b7ac450e0b544a03eee9a074f\n\n# tcId = 192\n# length of digest = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 6cb9ed3d4ae69ca29c8d865135a86758317510bb3576086999f6985c9f605376f778e9c5f3b80ec6730be4bae0cd4d5d2361a3441ff41118cd4ae3a3bf875c7725f97fcf32805fca3a1e686d408fcb4695db384a179d3c59e3260b17031f971b1c5088ff1849022dedf2d1ba55259c407e57bc01203a2397c7a9ceaa1053a1a75df95ba6a9878e1e40237642c7a4fed84162f4124a1ad45e6f4b98b7e607d730b872467ccd0079d2037e2d4850ac59cddaf4ecc0d2070983f44155eaf26ed4b57308a44d52a36f8093ed35561130e34708c9a3a33285ebf11cef99a4a06fe9318c6bbeb1e770cb71e1645fe343652ec8174aceb462745d4721c8af3e3d2f4b54\n\n# tcId = 193\n# length of digest = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 58f32013534e2feaf9a78986204ba3912715c4ab8f1e04ad4edff544a3c29d80959a0d5a169af564a4bdd5a9ba3b6e485cb76438c3fceaed89bd7d3aca0096627cf2b6135914c7ace9df9a9c8b5b1c97ba2db844c5e1b73d105fc033571ef8e652e4d95bc8605b28a0cbf92f373e2f31a6fc254c2eb9ad944ea376c150b88bb1887848c290d42314f1c512759d25ef7a79d18c8e5f81318d28f9794f1d6cb30be36bb30c6dcae2cbaf489678f87a008042c02e6eeb067f99ede27043b2b4166d46e1ef02cdd26e9189dc2794bac12334e34e8f93bff071961b52e693f01fd875af73784e8d142a22ec9c477890d47edce8251026aa4e4b001d0d046bda8519eb\n\n# tcId = 194\n# incorrect length of digest\nmsg = 313233343030\nresult = invalid\nsig = 1a6de4aae4ad4de60bf01b8557e47a805fb435ee7e8214b2152bf22655e7f3d6c7e090a79674acdb67126a7c01568f5592ff68d4210104ab92eac884887122b3d489055a55a4d7407862356d192a9d7f15edf8a2eb4ae9ce615c594c0f6918a427e5e27e725b292d2109d94de5afd37d1228ffb293c73ea7ca1c6add14e8f420780d2006109a47d04b70eef26741b846a47387d5fefaecb391063ae1af3e77f493111493bfc5554e164dbc5584f74b3fd833e6d1f3d346d17a3bbc8c171d997d06780d9ba149b688ec575740313181de87f371aac306cdb79b2d256deab35b1806f63aaf2eec73099c937a94ddbf706189ee046fb060d0e586bbb7f951e17861\n\n# tcId = 195\n# lonely octet string tag\nmsg = 313233343030\nresult = invalid\nsig = 7d36a779f2d88b6e0b55fd0cacda1295fea91d1fba45a992befd742c19f3d955ef16b6d2f5e8a98be0cb72f0aa71356c14919d67e546d69d8ff47aa393b8da04a3b73188b0980bb3a638c962940829a6903dfb28f3d68bae1334d2b63b11cfd22baafb231b5b93cdcb405b43a0c6e7a2cbac3c70054bd8e48f458893ae7a4ff62764bd17254aa4db52d67e7a7d1b44a277580786dfd9fb702efd9727d2808f4f859bab9b3da9d6a18fae30742857892d04a3bd001ac10d04842dfa4be2c6209a87defd735000d5704b1f754bdc254fc131765e573510abb5b7307eba62299ed9c3696e88c3a54cbd56305f2a3010b67ce54cf9e77b86ac50d69b8400017e7052\n\n# tcId = 196\n# appending 0's to digest\nmsg = 313233343030\nresult = invalid\nsig = 0b7312cc652255319e75a857440a77c01a73de1cc26fe95aa0d6296cb037c79839584b67684f57d3b2959df2bed426eafb6b364ea283674b5bc8ff6f400298781134e56e080b227d47cfa088774ec73f478602c9e4a571ae383a572fa951e8b9ac66e86a532512ceb862339a5050adfe723f1c1e016a3cb944d29ff6d55f9056e6ddce98ee4a80e998f6fa4d535d3f42ebbb2382dcfd5bd4ed179240c2178019e184b957bceec26283575c00a9bc22f8a6ac8dfb99e85657f33a7f52c44e9feaf89ca7fbabfb947032d112dbc99f05badcc995dc012955a7b3169d9956cc091b69051c5f18b1aacaf30653599068d0ab6d380923fcd7b7c8435b88a7344ede84\n\n# tcId = 197\n# prepending 0's to digest\nmsg = 313233343030\nresult = invalid\nsig = 24599a537c2958d7ffd18b4d935ccb1d045c8d10afd74452ddc10f8811023584950c546b9920f92cbfd0c08dbc85cacf6a16c76f6cb52bba27ec14837d4b3861b59b9645bba8ad588c07cdaf73d873004d0c4a51aedacfdce1bf3dd63c68e0f2c4b7c9d4f2027b7f35d60e9e2e9c913ab58a21f054f2a2257f46afa9cd300e16a37a4ee116b43f3fc4ca2c58dcf41a99f10835bb788d27f061fa790ad503a9be81ffc01599edb722aa5787a94c99904993676fde027c3395a3260ef9fc9195c85af4db3f15dfdf03178caaaeffa3e33e5b9c454047b2016a82d09ba7521e273b022688f7af5d885b2942a296f2d1bb666b4c2cb2cca98c7462de5ae85749119c\n\n# tcId = 198\n# appending null value to digest\nmsg = 313233343030\nresult = invalid\nsig = 0a16c4a930b1abf1dcb5e65a48096dea21c0631fdf403c382de73326642d693159ea82831ee14be40cb8a15709e359d6838fad5cc26aebee85e50320cfd2c4f74da82d243b6d9b4212d2977259f36c5c08d31a75fdd920b40543c36b73c8c244ed1766164f99e2aaca92346705583f0b5df277270951a39aa22dc456417b21586b618043da2ba6835eb46f58590f4c21512db1e1965ec8e39bd0aac87c4473af7e1cfc3eaaf3fbdcf30055fd9a47058ce214aa02c0f96b2492c489c5b563954da1651eb7d4bc6d07d49346fcdf7afef5d9b649e67243f900ccb867452f54f73fed48e671fb65dd4f5508d495df8f54228a707e339fc590a1ab9527ce4f328657\n\n# tcId = 199\n# truncated length of digest\nmsg = 313233343030\nresult = invalid\nsig = 9ef084bc6824070ddb5af82344467ac985d82e6de8b5e988f92ec1ab41ba5f41ede314b6e64b0ceec5c9e6800a72d79c1d64ed1caf2179f82764a52fc491e5cd20796f040812e38a15c40a4a4509367de92b22af477b2286cd5ef3587480be05b63c513df02c728c30051ba1770de61e4826282d82ca8d80125186870b17256f9fee25f81ff55a8a0a92b1648c09e9f58ac66711087126c1e773a881a10c06168664899bbf1d0e68f256620689f85f1f8254c59a30803966e55012e28ff90a07359d66a73b80945e016ba1381aa66c490662441ab6d6c19d330b4fe39838780be91c07f74bbdb189354557e2f9524856a466c948d350f57aa87e8e97f5bfe616\n\n# tcId = 200\n# Replacing digest with NULL\nmsg = 313233343030\nresult = invalid\nsig = 15739f4caf4284e47e7b53dcc8167964f8772bba88a2692da445edfa2eb0f96d2a0a9f25be5f22e8658eda0f9e29881b47229c103bdc0f19f24560da6ed9f8f2c768bac88c19bde510ee301e188f8d86b3ea5d4ad9bc410ded0015213b4044d0b2ad4f0c88a4ea987f5829521a3283214ec3d7e6779f98c29873f302bfc58307e11dccd964fe0f7745bf2e4e92acc1d120342a8e6aab8abc57aec2bcf932efc971532057844758508e00e1abe74c6b6fccc083aaf862b939ed4771c04e2e5f8b7eac4ea4517e3b87084de8eecc6a3ad06ef87f5e4cafd4a1d313fd8e4b19c69493d227f09b72e1b65e08b40837b8c1d275743b699c4a49f3f59bf43e47c1125c\n\n# tcId = 201\n# changing tag value of digest\nmsg = 313233343030\nresult = invalid\nsig = 0f9b7c0622ce7129ec1d6108b3664fcc7c5fb9e38163897ffc30eee20b5e502f64b2211d903ceb7e14a26ec8720a38cb2801dbaf4d86b42aa87347de85a21e3f648706afa774eb50d10db3afcfb1943d3cdf20240b9322403487baef167571acb0a035cfaa6aa1c0be9450c5a36c02373a6a71c19ed3e4f4941c35b4be82014c915e839f31c27c4338bd5ea954ba2433c4003bd2898ae197c8a276b10afac3538049630f0af67767aed14f646e0303c372ff4f97683f543d7be01960f1d772890e290b44abe59f4e218fdd7b324720dccaa33d380e99ca5d5dd53ab5950dd3aef373643e53f184e36b7f2b399bcb5c6a30780fdc2ee9387e6c13c537913910a4\n\n# tcId = 202\n# changing tag value of digest\nmsg = 313233343030\nresult = invalid\nsig = 3f070db7471e7d6c9d32dc5dd19bcb518fdcf2ef2d48a1724d6e3dd6299cdde3b5ed771a0f1a872d872e401373cdb53fbd7bb92a4a13442059f55bf0522d48539db5b52f67b444046a923c7dae3f07230d602bee9f29afcf4880f123d0363de4efc18f6e4fa08610d4203dca4705d26ded912498f653a5ac8a811068c1f3ba547aec31cac73825540e208438e22ee61f20e0506ccb0d6be3459cede4edb91916afd453eed5088df58e023c6040d794e3cf7f531fbb8b0200939ef7c035320356c491c0851a598dc6984c8d98533172ecce1622b7010e49083b5d10ad71c7bfd089ee5695b42eb263b005827928c3f93aba26fe7b6382df948ba761de80dfc187\n\n# tcId = 203\n# changing tag value of digest\nmsg = 313233343030\nresult = invalid\nsig = 96a45e04e0fc9a701e680882fdffbd56f5ca0067b93e59f06fb9be63720781790ddaf2d6a981d669e8eca75d5975203c77bbe7cc0e4254cbe40d5d59145f746e3d14f1e393600a150471c4f3f288ac40b8d53de28dca2537dfd1265803bfce7", + "c423179e3483ac86e72865707b0e9b05a8f6f932044b90dff67c444286e8c9cab31df8f70f0658a4497e596526572645b282baab02462e5f34656b0d22d94370339cf52408f71105b668f6b7c37020b12e807c05848b627246d94789e2543a9f69db7ebb1172203c00495ebd64f380ebdd1a1180ea08a323ec88972263e7ee2ba644ce3bfadf46634fae4a2e149bc275fc798f021541145cb2783474bc4060e6d\n\n# tcId = 204\n# changing tag value of digest\nmsg = 313233343030\nresult = invalid\nsig = 038c6f8d890722a43126f4d9a053e45f2e10447a62cb931bfdd8b14b342bf651482fc194165853fee8491263e7a7170d13d56eb45449fa09c3c2b2df0dcf51e823d24f7533a348ca00acf910fd10fe2dd9b1ba5b46876763db3a83dcf6311cd9abd02e28331b433961c55c2fe1ad51ed4a4066ed83a0f03b619c411dc8b4542297555d468f6f083331c55b85c89a44e0aaf58c7c953d92f0797b137253061c0f218d48d5cd30d7bd47c7449673304980979d79adb93b91c1eed4f046b45d05f1b3b27eb9e62eca141fa6ac866ad947ff3210987c7d75275362ccbad1792d68d3b8060c5f089aa2a07f06a164641ff5288ac2408bf4c3a9a934f264f962fb9a43\n\n# tcId = 205\n# changing tag value of digest\nmsg = 313233343030\nresult = invalid\nsig = 682f3723b4d560faaf6f6b52fa4b387d9b94bf4c436dbee647efd892d661b601a4df467e192b489ba4f3d7a2712da2b09cad25cc3aab2af21ab3ba0d51503c02a577236822e31ca2cf382063d60229003128645ed54ba9813c1de735506a1a63ddda51c3320f60151eb383e56bf6fcea8f6def400305a55ff2103d3697922833eaef804d65f9c1ade60fa5b69eca886b6d472626d444efb74397d37d2182df0db192d382566a6cca3acec93495a61a0802c1197a062b0231f3aca1d1a9e1482dccab4198a0a9df40aa1b354a4e884174d1f4f517776e1054286347623e3b123528b68598dad94cfc79e7a418493eef4db4af8237950018881ec12629f9cfdf79\n\n# tcId = 206\n# dropping value of digest\nmsg = 313233343030\nresult = invalid\nsig = 321fabda209fa9eb11a555f2d5642274ac93f47dc6b09dc98d870117945e0ec326da4cdd92c9262885387c9660bd5101feeb536bca7de135d517e4c9163672c86e9d47c7ca05e8f6b4d1a472a2a91565029909bc7b007eb39e8d6e6a28c1b80f7c289431b144c99da8264420b8a22ecac431daae7e9627665c64e93c9fd38917d27aefcb74015bf2b4aac0abbf3aa2b1be74e4ea28b4bab05c5181097e50b56e2f3c2143914780ce7b4861dd142b0432f05d23ba926c51a91cd875e7cbea9e65ec7a5d2ef9128eb9857b290314be39b7b9e102f3d3884179ef16fe98fd9ad72e9dfb62a8a5ae81a9f7831159fdc601101d20293ba20042a7736dee9448077c0e\n\n# tcId = 207\n# using composition for digest\nmsg = 313233343030\nresult = invalid\nsig = 656c5b616e74f4337340a6ed4db988edaaf677dda18e9871806abde19f26231ccadb30ead180ab3cfa27c74a7ad40eef610d5c99dbc321b049417cb9a36b27026d63940dc05149d030d0e9e34e291416ec857f9b4736f9100a691f8f10a6023258d62e0e1483bd03166fe7640b21de04a533f0d5e9c726f4eda195db54409792889712eee58d56d0b4b2e70f90cb8edc2f55792add333ce591425a0f2a748e97331109e677b72ffd372a88d3518fb7cd716fcd096e3b5393fecd86206947168dd91559ad915874df3bad476e4ec8dd97884190bf6356542878c19e3ca7c7748fe7a639f863482ab230e5ac01ae85e4ed26036ec281017f7cb2f41cf02e6877f4\n\n# tcId = 208\n# modify first byte of digest\nmsg = 313233343030\nresult = invalid\nsig = 22f31138d107f7f74ce012c46e9ac322874648bd1e3388d588098e952d7273ab97d1d17f265485eeb2ab0521b91ce47cdcb74342571e5ae103d228dfc1b967aacb0d4afdee4bbcba330abc3ad445e0e7d94ef39e05b4db732240af7ef1538859866750a039697abb79ce91d377a9907271ba865a64d57c4db4ff886e4e9b157d3e9ada5eca127478483fc7548abc1aa27f8ed088dd437ffa9d3959dbd8768b1d1c35c7bfa390d9aa6e8554bb990ac89da7e49b4bc086438be7670a5f9b1871491e2ae8a23f06ca3e7b87a7fb87ed0bb5e6fd64ad6f1af7b8514115af4e9ae53e35ebe90a5912c45d6dc3aa4b9c7c46a3b4d20ec48a7fae3a5ef8981e965dfcef\n\n# tcId = 209\n# modify last byte of digest\nmsg = 313233343030\nresult = invalid\nsig = 4142f9fb5e58eb4ed8c1dab74515c643b9bc4a013373e79c0280547fab695e88729600167ceba6460d7fe8bb2885d6488f0d929be7be7528910828106f16cc5e39685450c8a859fd4b65a383dec054af0756e67b2ee0b2ea756b17e602c9f5ae20b062c5845596c5cce1b13572f54f251e2976c5d137168a6ade05a14227f719bab6c40da8e8015687099fe78f79eae35a00bcbaa56729f60b8ce6b965ad03cef2c33c3519f07c1dd63e6d199cc56be298d027231d0b6e8471038da9f26474adbf28d52c6a582617046cc678f2cb19abe5491cfe9c8e396477fdd878adf244fbc19d78e9419035f3249ce52dbf281622df55fd8b3cb2c5131591e1d565f4f0bd\n\n# tcId = 210\n# truncated digest\nmsg = 313233343030\nresult = invalid\nsig = 66d88b8adc0caf4ee0524546be91a69aa3a7c8bb4f68e3a199b8d4b0a0cb52158f785f9ca26fa30bf5827524facff27b9f0b1ed06870c35033bd55ff386c4946facacd0bf3be3393777d3043e6050e5750cf6da7a7f4fd495262158dd4f6b0fbe01b601451fc4f090d03eddba5cb140fb01a65ee6912a8bb594f9e25a9b73608c058705a0a41b17ecea9e0016fa7128ddbc561285e3238aeeef72f8133ea6fdd755e3a910e2e2f2c4c5c7e1c7f608f5796b943f2e860f37bb311628153bc7baaf11d4f33e8aedde79f4fd080636739129dbe2a951725fdee5f32e471c9d267999d9a11bb13ad40b315647b3f7e91c373c53f845ba8db9b30b31d6740da10964d\n\n# tcId = 211\n# truncated digest\nmsg = 313233343030\nresult = invalid\nsig = 9f24ecb03b77a906c8a865182b5cf5921a98f8002d1c59f7c398c469444776fb38d7221b386c5bee4f72ca5dc36ca1b08c2a21947832c4e6e7e755faa4ad61fb1362cc084d0adbed10ac8165f5e13eaa1f6c77bb2e058050b5f902abbf0041c1a3a93497a95608d9dcb5f7d4cfbb4c037453d5558f0f9bd2b1d3a769e2b651252e9054071dd34f065c0350524a39cfea3bb0dd10620288f9e5ca0c92cdbde4277f9961be882ae2f07b1b75f279fb48062945139cb28ea464b4e00b2a5259aae4397f0ce063321df7ef6045d4dad8ac0649c992bf2d22e728827f4c992045f376cabebe75e58e97edb43991bcb38c66009872a5d5c235c483d8d5bea083c6231d\n\n# tcId = 212\n# wrong hash in padding\nmsg = 313233343030\nresult = invalid\nsig = 16b5347808defc31a231c28edac36a3f1789d4c549e8f5c71e2fcf5d5304ba437b4c7c0eb7ffbd80f5c5b2277bf24412b39ee3e74c368517717c438bb88b80b12ad14f7295ecf8841947e5e7457e66d2f869c30d28e9ac2019d7e5eca6229812b649c8b6b4ccd4e17b254e7ab496aa5325525e7974be348dcd53c652e6315e670236bbbef2f501e246631b735c50e388ea3af8bb0030fb7fba9743eb70fc6687cfdb92d46a4537ce88dba96ef52744e22fb7257af1538e3ffc4e2d9ac9101d6f71bc2f5aab71ddcc73a6c635500fa0a9174d25ebcc85dcd7dd85a7d2e8d3138effd171176bbdf23296ba3df630ee42185720ec141ceeaed1681a6ad0c156e099\n\n# tcId = 213\n# wrong hash in padding\nmsg = 313233343030\nresult = invalid\nsig = 57d9d9356676927b5b073de32f930db717a920d484b220ed784cbe2805abed86a27ce84f3c9b5c00b5c9bd146249ed776b02c1494faf4dbb2e435d0b914bab59f3e716121fd212a6967f17b82bf1f96911e126d8251279ae28749e24ce8958d54b126e623b880c1c80d15b0c1f5bcddffbca8b957276fe73a076dcf5627f54f36f35195ae5a777479f945abfed5298531c581ae5f71d2ab6fc34aa08a84d53a03829e756f21cb4482649ada260daea8befdaabd2addedcc5515dc439059739f13ac77d1049fedbf38dc00b11fcf2a1432debdd694118e3cfa7ba1cc6ff716255af532c80784fe570fd5b48cda8c50878377ce4503a8ddfb88e7e3dfcb466b8ea\n\n# tcId = 214\n# wrong hash in padding\nmsg = 313233343030\nresult = invalid\nsig = 628db8142e4a89ace83835d484ff84f40e70a0983fc97ad5874c2bf78361ae02f925b41e6af645c0c5d99c3e59929146b3e6de62070cd03be2eaaf760874ca6879b6cd695050bdb8a6c0aff0785918d3b83d214bc1ae73e3207f9dc7ac550cda509dbceb5309658fc52cd1873d747df01ba52a28b09ab4c0eddeab6108e3b75740a80369c0a3296d3514af9a966c5edc9127b88797279291f1dcd3da2a512601880d2ca98cb20d512c0426140f30c11dcf49e769529a72270542501961a5fd3fbde56af7d85bce7521160a95e5388d941fec7a0f312ef9efc8382676735a6ece2d31716e1cde8bcc86063741457644e0a47474f5aac76c618fc960dd9c6d3f29\n\n# tcId = 215\n# wrong hash in signature\nmsg = 313233343030\nresult = invalid\nsig = 9492ac64c45a6ee14fa5996c865c18a0310bad275a26be5f4df7eed2f49bb3fb76b222c9f7e92d413d00fcc9cd6dbe590a48c1250ec6807ef5d231585c202934182266f9bf931be91bafa1ea47d0d6dfbd39b5516585142cb52daee704a6c36f5a216b5e42a20b8deaa3e6d8b26e97cee7ff4cbe4b72980edf50283a48034b1b0deb36730439509424d7a5229a5dbe08005f372057b7bc6c45d7633d509d833b90be33e706b023027165e2be40a165240f28f7708cea38ee9fb87aeb8ffbe53637d6f652755f312038f6dfaf5db3b89df86a7031f4d92d1a1b1886fc9594b8e2c29135aab5e6a66ba428552559ab9cda9d915de834505297471145e0a64fed3d\n\n# tcId = 216\n# wrong hash in signature\nmsg = 313233343030\nresult = invalid\nsig = 3ec58a94c9495ecec016babf77fa114d78097e484840d82c3cfe7de98d2ee21b499992bfe3a778161e781f89d20745bfd1ea6037c2e7fd67c3f95479315dda5b87fb53badf0b813f28410de6e79a11b351b1668586500917feb44aae0fc18ba6de2bdfb6444d89b9b8b67490c1f2b81e3081e5c5c7c39f4f8f9bca2ae2a9246465610a9e6a5a67162a3a40857fea59e128f21903afa9143bff67df9679918a0f5c7288af9154f096c03a13601db5724356131051ce39037c6b870bfca5198cb9385137b7cf5383630b459cc6132b7ac611d13712f91b2911b9f8526e02a8c61acb7d184a7c6d86d6246cdc6bd13174b6969e5033bb90c4abaa907968edeec362\n\n# tcId = 217\n# wrong hash in signature\nmsg = 313233343030\nresult = invalid\nsig = 73225d8f91bef922f7fa479aa9cf384df5cf30ca893ebf8be1", + "9f09250b35df80cb8fccc5e13e550b926a852d40c6ba0edcf9645d0965e469d38b1212637b1e4041e47ab1af8fe8b738901bb916270061c1032907f6240f33abceb57dcc93da9cadbaf1c26f42922b3a3e0b407bcc4927658d4a465cdae48a138ba7859c303d23b135a3413751f25b108b0058a313271343ad6f0b81458ae7b050bfeebaca51891d94ec9fc07a698471ee3a0a52fe61dd7c028a70fb4c22314ce3f251a21db5e13c8514809ddd0e8e4ed76a01efd1ccd10f73e29fcdb8d8d4f4c60341e166e376d8a60d05816fe1abcb30152bbfbadc9172ae15e58fdf41e4bc53f39f5b0f477b\n\n# tcId = 218\n# wrong hash in signature\nmsg = 313233343030\nresult = invalid\nsig = 3d1e67d3b6f474f7e23ee14223cf10d3d28beb454dc7f7ba972bb3eabf6b66eddf245f34c2b9a2486c693fb193891a084bde18576b50b17dec8f9390a8d10dd80a4498cd718f7134ade41538559ab1140e28aa5753bba7a60a515cfc6aa245d3104a598ae06cadf881be563b42dc138af99de76b080eec50f59c0620136525a8b4a3bfd861a24fe5a2467dc23da5b0a7c298435172e3f280fcf14a2ecac790dbf1907ab0670974433861a2ea6e097feb99827c9626b7464d1fbecd7d2d939db1474c30d9be20b77b1adb92094fe1ddd55c1f66d8cc37bceb1460a120fff35dfc24a7e1e3a0b7f7ff4442b36d147ccb635513f415cfe6305b8b713f813497e6ea\n\n# tcId = 219\n# message not hashed\nmsg = 313233343030\nresult = invalid\nsig = 891f1354e36c2b7faca0981c64f249f73940ae03da86f0a413a971031b00c2bed14489345225fea317d9d551cced9c6c6f6f7134cb6bdca1b0319d931a1d7a1e24a744eb98fcb0d3254660066f688531fde00822917d07deb9d78aa337bdc2ca3a4a050d8debb6c1283cb90e6991429887311f72b95bf3b18d1c5cd68f65f8ed934d9e516e2a8503613fc4dc2e786c36d77ea2d5dff75c26dced572298f27de39459c55c6bec73295f20cf1c6e876b345c6fbb2ff23adf52d9d4ece53877a2bd6e7cf3a4eae08b1b3ce8dc0468614e119ffb7547f1a765d9d9b5d9d8624ecf3b836dce490c8a36a6a60e689c0bdcbdf774eb60fc552bc3e27fc9abeb2c905ddb\n\n# tcId = 220\n# message not hashed\nmsg = 313233343030\nresult = invalid\nsig = a0bdd0081c1e7680839c646417b69a6fee16c94cf7746ac21ab410ef83a78a53f5b0a51afaa2e4a1ee9b44970dc3e8229712aadcd4cb2b92684e2592379b581b2aadfb3c4781f543d8b80625a07507c2ddf47937a27e05044c36c70ef091cfa1fa9f2fc552a9ee1eec07dfec597de11ca1a67ba4829a0f620828cdd424a079258dcdb39986157dd48d2ca214f10333c6c2b73593c3c72c0b22a4d374899e949313523ab9f2218a03d5f06ff0dde49e8778a076e3f9938be7179ae90b4b068b04fa507a842c7966d739def7a22ed70901d5e8c79b8df7498fb684fdfcee8c49627a38608434eabc03eed78d935d34830fc3248c90d62d743fcb1f633914f7ccb5\n\n# tcId = 221\n# using PKCS#1 encryption padding: 0002ff...00\nmsg = 313233343030\nresult = invalid\nsig = 46bbab5068ebec737454655b811dc71877f4b5cfbfd90b340dfe549942d2493114873470f91f1bb342a39c0bf614268e7bc9f5a68543d57d8ee14fac4b3abffc27bb8d3dbde46ee6cd171b5ea32881f1d037e67caf954769e416c8dea94b7b4d71af3aa2ba321afb997f2120c1ca4ca53583d85a4ffa13552120ae24dd41c71984becf4aa9234ba0a5d9b918c6bd12a85be40d0e390b88150c1635357e891bed185482420bcb2c4f88f21927f4f8e81fc96cdefe82e735c9a34708d5f225e462340a4c71dff89da993e821972b8ac963aa8a73271e602c6f23ecf1f696bbfb3a2bea774b1c058cd8a3fbd8a4a73ddc31a607c9fed0052e3f78766f71dce75773\n\n# tcId = 222\n# using PKCS#1 encryption padding: 0002ff...00\nmsg = 313233343030\nresult = invalid\nsig = 01ccdf739b6385b875254ee9a25872ba1bda2b87cdf57ac741604ee962632e17fdd32effadbaae5ba52904a731925debc87509623d95b0ecd8e97ce7af10f1f9650698d22eeac705a7fff23710c0909d4e8a736a991daa074e32bf8564430ee6f5740df310cfcd3b7bdd98c4c6a1ec24f08a90a015d64ff43dfc00f142838e0cbc2253d8d4a99dc344e6826c79cbc0983147152b0777682e85fb18a9cc0a73d98566aa856f43356eb611ed5b5ae2f551671731967e04aecf96b751e68efa11a3c2174ae0bd2a14271268437c6f60c49a2c1dacf413b2a4f1623502be024488006abcb6680034efccd3104e8c685e0da25f35c703fe91716565241bbaccfb3225\n\n# tcId = 223\n# using PKCS#1 encryption padding: 0002ff...00\nmsg = 313233343030\nresult = invalid\nsig = 2d1c606370259b0305745860332edd9caea333c221c2d16a2e547892b8e4b1aa47263f4cee9e7da39d0cd793d019ea529224977b04f7173e9bbd0de05745788dafb67d2933bcd462fe018c960c67808abd296eeeff4da2b17dd12501402701b4f44bf95fe46297b7fa3c722b24c74b89db2da74f9094fb558183cde9f74394f26f7e0cd51f373d259646bfa9cd75fdb169997ea982624254db25723017c9247f86490519350f9ed8af39da7fb181d7864b05eab70b9b9d0a965c9122b38fb1617fc56e38d53a8eaa97ae0baf59c5a48d0721b36323b18ef8cd1aaebeb5fad6dd09a0df75fa5eaf28bcff54c044933e070e220c1152762b4d81cdf85220e38f9f\n\n# tcId = 224\n# using PKCS#1 encryption padding: 0002ff...00\nmsg = 313233343030\nresult = invalid\nsig = 2522f982c80fd9e16f2cc67c11093131335a170beb7708105fbac3c73221cac832670450922364b80577bf5982921887adb4999a891c74164ad9ac62620d0f944500ca44f15f1e4db806b6306ecdbd9836370daee023c2d99107142046dc94417027e717b34c49af2ebe038dbd3058ebd6645248a8f80d70e87f5e247c1c07c2518015e40414fdbe4b50065d1720b9ab8100c369aa49a57eeb4939806eb4ea87fbfa3fd58255113baf74fd5e76615c0d0fe5bd6a0907c4ed3ca9dde622822f8dc41cb46eef3598ffbb0f70bbde313260c787ffee2fa2bf354c15e12ce9fb5e8c356aeedc2cd6cea61862d2bfbdc3922da1fce1947e76972595d7bc96e6cb0931\n\n# tcId = 225\n# invalid PKCS#1 signature padding: 0001ff...ee00\nmsg = 313233343030\nresult = invalid\nsig = 4b140acb262c451b0761236b926afa2829e8a095828f7dcf196eaf7fa46fdcf7fbcaf194aa3000ae8d3dc7dacc26952502b1558a67fb692da5fcc7dbf48cbc5260e2b2a7041fdf7bf46f531d4ef48998dfcb65e182065535aaf182ae6abf6e819e7d96ec86178137a3c14383f89438ab35f0dc7698e1811c415e163f8bac5435dddba5db55aa6b393d538d31b34332fcc34ef8e6eb059d4cc453297d6895ba480593a5536a4e553a55417295b6f6798734df67e739e54d3092de4f476cc0f65aac6950631081df1116097a7f6a9d00a1afbe0ce6b2bd32ef22acc95219f05df9fb7e9a8b391e6277cffeda298bf094730f5663172183dc5842056de36137ee90\n\n# tcId = 226\n# PKCS#1 padding too short: 000001ff...\nmsg = 313233343030\nresult = invalid\nsig = 7c408d5f2efcbcc3f1c6c2a7f14eab73124910f21e4a4b90a782ec8ee5c72d6e84c43bf76fab6a4953e80e712d755489446130b46dcf8649a316868aca5334afeb7c957db77940e93b4241cdbbfe2a0a31a2594c93afa016ea3b95c6c4af1d076f7d7c1e6d66e3267eb05aa4b52014bd8d9e83f0183a9934963b4e4778176f0ab8fb18c327da3ca10c03797faebb4a0b862746bf19ce76ef214507db80b3497e6b2bebd98087029c458389166364c1a81254e8684b37209579c8d32c3cb02ae6e319e12c30c84422df2e82f99fbe37864f6badd947b4785011a93562de2a55c562335afa67b0853e725f2c91f0f49b2a28bb32bd179d928ec37428c41bf631cd\n\n# tcId = 227\n# CVE-2017-11185: signature=n\nmsg = 313233343030\nresult = invalid\nsig = a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d5\n\n# tcId = 228\n# the signature is 2 bytes too long\nmsg = 313233343030\nresult = invalid\nsig = a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d50000\n\n# tcId = 229\n# the signature is empty\nmsg = 313233343030\nresult = invalid\nsig = \n\n# tcId = 230\n# the signature has value 0\nmsg = 313233343030\nresult = invalid\nsig = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 231\n# the signature has value 1\nmsg = 313233343030\nresult = invalid\nsig = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\n\n# tcId = 232\n# the signature has value 2\nmsg = 313233343030\nresult = invalid\nsig = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002\n\n# tcId = 233\n# the signature has value n-1\nmsg = 313233343030\nresult = invalid\nsig = a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d4\n\n# tcId = 234\n# the signature has value n+1\nmsg = 313233343030\nresult = invalid\nsig = a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d6\n\n# tcId = 235\n# the signature has value -1\nmsg = 313233343030\nresult = invalid\nsig = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n\n# tcId = 236\n# RSASSA-PSS signature\nmsg = 313233343030\nresult = invalid\nsig = 5e91b5dcbf02d6f19621d41a83dc8f15ea83c0edb83765ef029b0acac2e1ec8918b1d2afe1fadf11c48d27594cb9c01fed79d90e5d5a8085c438450111aa7d9fa39c2345b14fc3c2cb34128f86db5eb00bdf8dfe38d61f29a41fe31342e7aaefcb4b122eb5d63c2f5c263c8df8450e9428ffef974d535818d51dc03a7d60c8b2d16c999ae46d73ab40515fe601d9b89b1d09c6d60cd51639a97c1d211e097609ba5e8c319c6fbd21b34a634ec8fb8971c5aae21c70b847a4539cc10dc314ddd8a9629e8a0e51c66c0cb61fd1f7228c01c6769190abe9bac9a3897800050014358594e0fb20dbb458b12aa1346826cc9f7e9c5352b073d62853dafe77c848cb1f\n\n# tcId = 237\n# RSASSA-PSS signature\nmsg = 313233343030\nresult = invalid\nsig = 57e8cc1dc00c07383d89a79b5c8e4f5bde2a2ba55a3c7201b3291c4d805b1b2eb36f8f326b542342da180abe508669bb6cc2dd54e327bc70c1e317ba93a0fd21e7fce22a0c597c7420d1d5602ac43d9348ba3eba561f250e301ab955b0dc33e4abde32946b9b3e86c8bf07a44646ca595960bb988fef04b2824967e9da8b0264f1da0659373935313a574b5380f0b54ce1bc0dde423bd3a54f6ae5fafa772a55c1c44eb6edffecf13e6e5e1edaf87a79e338577304141fbc44f0e9eeb286f553f879addd6e12e436fa3af51ad53a72f2679f0ed102d504ee08706fe111eaee49d880d1a0b91924b3b79968ed0f9bff446dac199ee89b158c074927d27b864498\n\n# tcId = 238\n# RSASSA-PSS signature\nmsg = 313233343030\nresult = invalid\nsig = 68caf07e71ee654ffabf07d342fc4059deb4f7e5970746c423b1e8f668d5332275cc35eb61270aebd27855b1e80d59def47fe8882867fd33c2308c91976baa0b1df952caa78db4828ab81e79949bf145cbdfd1c4987ed036f81e8442081016f20fa4b587574884ca6f6045959ce3501ae7c02b1902ec1d241ef28dee356c0d30d28a950f1fbc683ee7d9aad26b048c13426fe3975d5638afeb5b9c1a99d162d3a5810e8b074d7a2eae2be52b577151f76e1f734b0a956ef4f22be64dc20a81ad1316e4f79dff5fc41fc08a20bc612283a88415d41595bfea66d59de7ac12e230f72244ad9905aef0ead3fa41ed70bf4218863d5f041292f2d14ce0a7271c6d36\n\n[e = 03]\n[keyAsn = 30820108028201010090a5d7aba2c8dc828e616fc1fc45c7c52130c8589dcbe2913da187572f6c23217b89a5186b6f90cbe053abfb0885a91f141dbe106ce6ad303904a5941df26ced10478cb56a7bd6cf1313c4966d9cf7c4509d9dc63566aa323e110af219f3398c04e79bb486de8703793473136f5c9051af24bd2c0208ea1bf9321a3e8f24af00aaca1216842eab248d58cf46ac786c49fd3ca8557e9b53993a4b9718cdc5c474bf1cfe58c07ad97b2c5acb7d86accc0fc7bed147adb2e77b8697d80150948117714b806ff76f9d88147d84e93987b724bf4870429e85a7a7b51486a78d8a88f1688f60e215d43d06221e2b993b5c12a607b80e9e0122472b29945f76b55737c1020103]\n[keyDer = 30820120300d06092a864886f70d01010105000382010d0030820108028201010090a5d7aba2c8dc828e616fc1fc45c7c52130c8589dcbe2913da187572f6c23217b89a5186b6f90cbe053abfb0885a91f141dbe106ce6ad303904a5941df26ced10478cb56a7bd6cf1313c4966d9cf7c4509d9dc63566aa323e110af219f3398c04e79bb486de8703793473136f5c9051af24bd2c0208ea1bf9321a3e8f24af00aaca1216842eab248d58cf46ac786c49fd3ca8557e9b53993a4b9718cdc5c474bf1cfe58c07ad97b2c5acb7d86accc0fc7bed147adb2e77b8697d80150948117714b806ff76f9d88147d84e93987b724bf4870429e85a7a7b51486a78d8a88f1688f60e215d43d06221e2b993b5c12a607b80e9e0122472b29945f76b55737c1020103]\n[keysize = 2048]\n[n = 0090a5d7aba2c8dc828e616fc1fc45c7c52130c8589dcbe2913da187572f6c23217b89a5186b6f90cbe053abfb0885a91f141dbe106ce6ad303904a5941df26ced10478cb56a7bd6cf1313c4966d9cf7c4509d9dc63566aa323e110af219f3398c04e79bb486de8703793473136f5c9051af24bd2c0208ea1bf9321a3e8f24af00aaca1216842eab248d58cf46ac786c49fd3ca8557e9b53993a4b9718cdc5c474bf1cfe58c07ad97b2c5acb7d86accc0fc7bed147adb2e77b8697d80150948117714b806ff76f9d88147d84e93987b724bf4870429e85a7a7b51486a78d8a88f1688f60e215d43d06221e2b993b5c12a607b80e9e0122472b29945f76b55737c1]\n[sha = SHA-256]\n\n# tcId = 239\n# short signature\nmsg = 33363730\nresult = acceptable\nsig = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000989e7ff72e67e680bd21d5f966e4ad8a48c3592dbacc4a2f035b4ef4d17a2f25f8a9fef7e78eb99d76d68629ed02d67c43c4b7ec8c3badc32e3d0a524c326537739b0fde156723b27c23ae2b09895e470c64d700f5c\nflags = SmallPublicKey\n\n[e = 03]\n[keyAsn = 30820108028201010092bf17cdbffb42fa9957ce37826bb451708e7cdec8752b809c81a8d16fe5fe4dab6a9db6d11dbb12086645db7546642b322e8331dd7f29eff68bf40b24f80884f5152b1fda9b9f7ae2fce2721cdee0fc48f85a6e8e64f767ed9727fd2dc597967e276a5e2e768528afdd9df4b6ddda4c174300e4da3c19a3c32299e1e7857934c14dd6203d8c2671289bc392711597155364a59046b2b9f1905fe717ca7efebb4c1969b804118effa240c11ebf97cd68c2aa19c787b3be21e68c0e397c7f04c6ef98950e27e0e19a40da92a3ea10800fe9252b77026d14c2fa1eb4ac102491e5773279f07d856d446f45169b09bf60b8a2695f5e4864eaaf9590aec8c7c2f86d020103]\n[keyDer = 30820120300d06092a864886f70d01010105000382010d0030820108028201010092bf17cdbffb42fa9957ce37826bb451708e7cdec8752b809c81a8d16fe5fe4dab6a9db6d11dbb12086645db7546642b322e8331dd7f29eff68bf40b24f80884f5152b1fda9b9f7ae2fce2721cdee0fc48f85a6e8e64f767ed9727fd2dc597967e276a5e2e768528afdd9df4b6ddda4c174300e4da3c19a3c32299e1e7857934c14dd6203d8c2671289bc392711597155364a59046b2b9f1905fe717ca7efebb4c1969b804118effa240c11ebf97cd68c2aa19c787b3be21e68c0e397c7f04c6ef98950e27e0e19a40da92a3ea10800fe9252b77026d14c2fa1eb4ac102491e5773279f07d856d446f45169b09bf60b8a2695f5e4864eaaf9590aec8c7c2f86d020103]\n[keysize = 2048]\n[n = 0092bf17cdbffb42fa9957ce37826bb451708e7cdec8752b809c81a8d16fe5fe4dab6a9db6d11dbb12086645db7546642b322e8331dd7f29eff68bf40b24f80884f5152b1fda9b9f7ae2fce2721cdee0fc48f85a6e8e64f767ed9727fd2dc597967e276a5e2e768528afdd9df4b6ddda4c174300e4da3c19a3c32299e1e7857934c14dd6203d8c26712", + "89bc392711597155364a59046b2b9f1905fe717ca7efebb4c1969b804118effa240c11ebf97cd68c2aa19c787b3be21e68c0e397c7f04c6ef98950e27e0e19a40da92a3ea10800fe9252b77026d14c2fa1eb4ac102491e5773279f07d856d446f45169b09bf60b8a2695f5e4864eaaf9590aec8c7c2f86d]\n[sha = SHA-256]\n\n# tcId = 240\n# signature is close to n\nmsg = 32353934\nresult = acceptable\nsig = 92bf17cdbffb42fa9957ce37826bb451708e7cdec8752b809c81a8d16fe5fe4dab6a9db6d11dbb12086645db7546642b322e8331dd7f29eff68bf40b24f80884f5152b1fda9b9f7ae2fce2721cdee0fc48f85a6e8e64f767ed9727fd2dc597967e276a5e2e768528afdd9df4b6ddda4c174300e4da3c19a3c32299e1e7857934c14dd6203d8c2671289bc392711597155364a59046b2b9f1905fe717ca7efebb4c1969b804118effa240b8bf4bb1a6d0616fd5be2f081dc9ef741a9a4ae7274418b791432de470c4556463108388e8e8ed5dcebf3558e4650c2ac97c86fa682176f09b5dd8cfbf15d19c3fe4f961f4607c12cb3dfad9b6a0e59c92faa1fc8622\nflags = SmallPublicKey\n\n", +}; +static const size_t kLen151 = 152041; + +static const char *kData151[] = { + "# Imported from Wycheproof's rsa_signature_2048_sha384_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSASSA-PKCS1-v1_5\n# Generator version: 0.8rc16\n\n[e = 010001]\n[keyAsn = 3082010a0282010100cda6fa5ca76bfe0492ec57e0a3bfff7272dc8d1e25ad1fb338aa050f02c104e63133d6b5b7c4985ebbae9ac036a5b9c03074d60aec8e25baf392a0c430ff05b88e948805d3dd74511d8885250a7b574215ada015c559076686e253ccc96c0815b1291ee787cc3363b4f77d930eb998d7c582b24cea9ce21de9722791989863a27ebc80a00de5bd2f9228775e5a4ceb054d58c9be36a054336971a13642dd9510dd696aa268db3aab2299d5d88f8e562434d1427094d3df8e72d1ef69b4ed34d12bac375223b2a25cf227f735f816e85e17239304769a6082154cd15899fc1eaefb69b748a3e5ed24d38372597de3e4e2a27b951d6ac7db182d6809d8ff511b7f0203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100cda6fa5ca76bfe0492ec57e0a3bfff7272dc8d1e25ad1fb338aa050f02c104e63133d6b5b7c4985ebbae9ac036a5b9c03074d60aec8e25baf392a0c430ff05b88e948805d3dd74511d8885250a7b574215ada015c559076686e253ccc96c0815b1291ee787cc3363b4f77d930eb998d7c582b24cea9ce21de9722791989863a27ebc80a00de5bd2f9228775e5a4ceb054d58c9be36a054336971a13642dd9510dd696aa268db3aab2299d5d88f8e562434d1427094d3df8e72d1ef69b4ed34d12bac375223b2a25cf227f735f816e85e17239304769a6082154cd15899fc1eaefb69b748a3e5ed24d38372597de3e4e2a27b951d6ac7db182d6809d8ff511b7f0203010001]\n[keysize = 2048]\n[n = 00cda6fa5ca76bfe0492ec57e0a3bfff7272dc8d1e25ad1fb338aa050f02c104e63133d6b5b7c4985ebbae9ac036a5b9c03074d60aec8e25baf392a0c430ff05b88e948805d3dd74511d8885250a7b574215ada015c559076686e253ccc96c0815b1291ee787cc3363b4f77d930eb998d7c582b24cea9ce21de9722791989863a27ebc80a00de5bd2f9228775e5a4ceb054d58c9be36a054336971a13642dd9510dd696aa268db3aab2299d5d88f8e562434d1427094d3df8e72d1ef69b4ed34d12bac375223b2a25cf227f735f816e85e17239304769a6082154cd15899fc1eaefb69b748a3e5ed24d38372597de3e4e2a27b951d6ac7db182d6809d8ff511b7f]\n[sha = SHA-384]\n\n# tcId = 1\nmsg = \nresult = valid\nsig = c5b6f5fd8ea320880e9e27b0026b1d63bcd1152c72855853294b7683a759dee042be8bb0c350b0c31aea76e1ba2c6d79920c3e21b6e97b6cf46fabf92a701a7555540dd7c325e7c657fd9a079bc5a58923d2ccaef51014acd6fc6e5296960362a94688f2cb2675d5062c5101c3875399b95143511e6ea156ebbdd32c9ef8b061dc66e2c912bf2ae37e3ddcfd5f32a72412db8ba7a1ce3b44ea4c6e2a858b3f3cb198cf41914e4970b03edb1bf81f8abea6371b469d2e80883d7760c0707dac808fb55e588b285153b8ee5c32ffe90197991a567499d5ed62a6b810581901cf8abf086ddf84c10b03ad6845c977ec72d02028308cbd19daea2668865f00a23ab5\n\n# tcId = 2\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 0e8742af2a1d82e99038a99a09bc182e21317b690004fcf8fac5a4b39c6c4c6f32ee0395a42b8aee31a7af7cc0b0205087b4cbe18e791c1d5454faa5dc220d3b21e44822d39beefa5e90654fae46205631c4691d3e78221f48edc14e342ad42dbeccfede07420b9352af9e0a009c49cac2b4564732d94495457dcbd2f67fb60fd77080631cf38b784a3373b66cc2d1ae971a7422562c2df5f2476983263f6559a8fed69c2c76806f8553b5f1f2239677f1a4a3f5f55a00f8391174fabd2852503c9dc130ba219d145709a4f045bf62b2278d1c9c5c2e7a81f47769b2a11b18bb8648a32eb984ff7aeed9c0ee1023886e6a402812ae6552b03419b4da25cbf3bb\n\n# tcId = 3\nmsg = 54657374\nresult = valid\nsig = 943aaab06755ab012b4e062210ac3e2c1a455ca30f1c65beee0f7d54384e4e0d4e390208332690fef5ba0cfceffbfe28e6b05a1ecd8bca3a50f9542f17c39d28195a50203c7885195c7e84da26436bc9fe7fa98a5070e0a1b6f51d8ac7d2734fdb5e0b32da0df6c6c98311bc4d458b4e970412c67732effe67e083123bfc69ed164090be3d41a37bde52119da16a4fc7fba5d8d3ab905bca7b1bccf4699a8abea19d0ba0659fb6c94b4ec6d06fd086958f443a74a783b7440f6060f01cb9dee89f32c2f6fee61e3d61548fb6b3a0f6b649cd8bd5d5a5bbc016f4c737889c79d45c41b5406129066e259dfa06fa2ec05cf9330dec66ed4cf89b80b0f5dcd22c4f\n\n# tcId = 4\nmsg = 313233343030\nresult = valid\nsig = 682272b36ee1a6c7d4d73f0f3f153d8e84e2fa4ac812581fdda214a7b45d6ff7b7b3db0c89da96ce2e651fcfe25596761982799289b9fd2d69cf122e08404c9db0bdf6f8240b1545e76302a5a401ad56522e0a6158157dc1f9445f8cafc161b25423d35671d9ef714c5d33f7fc155424ab2ac34e0cc93bf2ce385721dacdc6251c7e3a5618bdffc8ef3f278477083a96de83303b9d286e64d8297ef0948b996616d34036bdee5538ca0c06fa08c72f03739fbc578814b402671f5d625dc9050d61b389d1f0a32011ac0dbb53b9c2980d315bc16e2272206a1a955ee870df725e78a7c6e9f793f5428af92c670df8e3bb0d567699714b04fede399f49fe19d0e7\n\n# tcId = 5\nmsg = 4d657373616765\nresult = valid\nsig = c86aa0513ca2e6bb14892ae983212cb21cfaf702eafa5adcf17dfcb7ff53c1fc87d65001c639a20167ec97448463ada9b20d40d3e13db23d8048e38e5c05aa42ecb10d1683e3f64d42837274e1e021b3523cf763d32ee69f92180a9e3e6c6ff891b4c0f9f30a7840fe2524bdc0e82b0e19acd041554f4050f6d917a4677155c6e7841639cf86b8439a4a1edcb24ea272775dd9287291cbdaa79e97ecdbd97522e250db7c8d32658891a0dfe7fd079ca5a5284097ad505c83bbcfa82c0ba6cd91abfa0e21178981cd5c635433cffce413a3e03c7afcfc2fca37c7bd7a5287c13813afe3aa5d051d386e4250ef1617c0a58a24caa33e5855c32b457b1436d11d94\n\n# tcId = 6\nmsg = 61\nresult = valid\nsig = 801ec289191d6f6e2ed3d7ba7d8cd78db3add3022c8387f592080705eaec1dca415a04e09d55aa6a8c90f11730e9eace7f0ef892f44377085fa8e72236b160382fb3bca71b71d775e4acd75c0ac133645c64517909530e0175a8f06236839de7f7704f39afdc4720a2d94c258188cf9f0794c279c777e5ef604a31412262cf871e3cff8a0fd7efec06eb1db05b50910733dc8d8783a24c07871908e711b27d0d1ebde4e418ce1216a5bc1c8c85d82fdd2b8bb9f0b047e8b38fcfb80771b019d154a510f2231c6c5becbff35f2c5b1f1a5d5280d0d8b0309db5294fd99b1afe576bbb85e980c4e9ea49327343084a6c29743d3e48316df0623776e98acbc84382\n\n# tcId = 7\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\nsig = 6ec812ff1115eb60ad2cc1f641479aca46c41da5d8f7b9e59b2dbdb8956f5c3ada3fe162c54bd5835f5e043ed3906a10a982e177f5f68c94ba367e4541b75117dbe18b7acabce6bf7bad0bddc4a1f98382272a655e0222ce4a87dac7f6a2099ad9996603479cf8454102e7ff703d11623cd59e3eb2df8a303732851a119d6c75f7503acc10c57f2cc418863e1b2a5305688c03fc9971334ba06541cb8b3cd192bbebfd5e9252517b17d2b8a3ddfa1533784d6f672e14737c4b6bfc38162ecfee2e97f0a29c98bc6709c922f42ed959bc3cf43764627a9beb32e53d2b35da63942006787476ce89abb7a82ee02e6c9c80ab777af86c1a99c65423ed75fe82acb1\n\n# tcId = 8\n# Legacy:missing NULL\nmsg = 313233343030\nresult = acceptable\nsig = 127eca0852f26d216ffd2779159e3e3b742a830e3d4f29e9aebf4d8bbd45eda195002aac8ae5d10cebbf849b026caa37e988a7d5c6e3c0bf4f6da974b31a8139a85cbe62e0aed71b9c50a5e3bbfee50cc465d9a5173a33cc2952893e89815b3d68a2269c78dd91d3b8a9d9fb74bed451481267b797b28460358adaa90b82304a6182a5d79e113808adf31100d0bd943608a3a58c2561468aa379127cf8891ba61c2de46e66a9e4d86da3c007cebbc2ca0b8bb66f29b2205a3a45ca7303c0db32efc1e0e254e0735953a91f4927901cd78ab0ed2d047c822dafd5bdaf34cbbcc227e7711267785b68c2f9ba47ba108ff7633d6de61d453acf48fad092b28cb70e\nflags = MissingNull\n\n# tcId = 9\n# long form encoding of length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3c1d887865eccd6eb7d794756f93819c8126fb018d483b6cea67e10364d2455505e228c95106d493538c60d1203ca317aef7926e09e088a39e198915fcaaf316346db4ce62908464838efb7bca14041ce4477fd55422b94396dd79883f9024d46b8f9838ca7b5851e2d935329365c917ca03e1c44443a9602ae1cfb95ef89d9c7315f7e0b287a39d8133243c75ec0303339d88e937504b118ecedef756f746c6a8b244d86ad9e02d02b24ee5e616455deea86beb334af9e294289cee20a7a135448739dcd48400da80f15e060c312d4b981d63dba827ddb2751a89bc421ca600dbd5cc8915a1da43baa34d09e668d2cf5847cd55b705d5e7fb7d355c42c88d4a\n\n# tcId = 10\n# long form encoding of length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 47eb6558bc35fae214cf871eb167e0760a9b51309c805d7439bebca18ba163972f2fdecf5d1593933341553971b3f529e82850f519cd60597dad8a5920e567263995f7e7f348414920442fd9e4b0ec3b95fab248261913e773b05206e832ce35e5035d6f023a3d768e85b9588d9c5ac4c7beeb56ee14cea7744daa600064e9be391999bebc1786d3d2fd0a7d4ab0bb47ffcb0f3802503a0b3124797866c5d9c446025e21622f4d1cedfce4ad930aceff37e2e1f95dbeb1d4f162e542d1e6e47486766b8d6e0db3e336b8eba57a22f4e44a646ed6ff8bef24394c23059c8c6bd9ccc28a355d87d9a39270ca88834a8f0baa50af19a44aae9d5fe3961e25a9a070\n\n# tcId = 11\n# length of sequence contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 4b09bdf2e03a21c695d457aaff214b4736034dca0fb9cf76763d623d16f49f2735fe831f9990f9b84171ebc39f5d533130a9b8b04adf332078b48a7aef60355683bafff862da9e30852e1e3a323bc09838679b687a6615df4b9a71dce533aec693345c1ceefdba7246eeb49b64848359b060fd08be04d4446241573d3445abd6bfdea24d490a14690e50920948998cfff43ba080dc20691841a739f6f134285eeb6c87f4e1b67", + "0f2556b83b99ff76d873033fcc3953cdc9857a7352d3766217d987b03fa8fe6f90a4b7cf8bd55ab44d800a0c245ab25e91b54c0dcde0b3adf40e3f2bc8776f501fd419713a5445ddc0cd0e9c414ff30f8987071857050a12837\n\n# tcId = 12\n# length of sequence contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 756305930024f3b1e17696ca04fdf72445291c2c4737277f9cbbd6c8e2036c3705e1630d47a6a4b5fe2cb1fd071303e4c70ec49378530cd811ee2dfb5f1da6aa66cb57d62e9a96d88c6628e23e1daf8ce536da9acca8d1068e1e430e43b469a55e311fe794767131f53e250ea99e5eb6a5f09e37a0d886ec92e0dd635ae4eb1bdecfc9a4b45b8fcc16245fbc5fee4e876944cf663a56bcc68f3e6cb79d96571eec6057922dd0841aaa126c6db7daf00c373ffe23d8dc7f14c2a294ff0704e5d7636c9108b05ebee13574b63362b547e4173ad37328241fa5cebb7ddb6a99dc52a4be44d3f2e0cbb823f02352fbbe31a3646e0b3988ef0f77445f4e5cea12434e\n\n# tcId = 13\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 8f9c83a3a017383a5cab106589fe076c15802729be880120b956dd69d36b822022f58f6486cbc9009fceadb83b92883b281e3bd998115e522a1a3199b5773845aeb54331bed863baca87d6de45f387629bf6f328e8f3b0698fe2e96e4faa95d61d7afe105c15f6c3d11ab561bdefdeca453f87e75945ab1746fcc559fedad0be2a494b7b9b9c0089e131f86eb6a0a422da225390ada5559bc64d1990f94ffbe77d00aa19cf1a1676a2362596b32187229180e5e8944173606f54a627ae4457e748c481c3cbfa7416f381157684eabf87490ea96a8a032b1c0c316f99eb18b9c30192094fc8606bb86bf5445c10fc5e9025737fd52b779a008ae60e504b92c3c2\n\n# tcId = 14\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3adba4b8e5c7ab81ff38544b299ee14cdbdc7d44aa4592fd32295a0e20ebf23d20cde4d26e752e3fc02a67bbd3b7fe927d2388d27f8d9d399ebdbceca97df4b5f1a4d5cc27fa5af84a8e39a32511f36707e8b23b6e38cec3526a15e557719aba13237620222b205992907f1e0b7a52cefcdd63d7f9d951ba528e707d179be671728708c1730096743494fb0bfe319fea4b8f02595c70dd831690c3e692c7b4f18f77e20e063d9d634b966cf14f4d110af8d7db642ad1f952c498d78f27838b84bfe0a9f89fea32cc243ac65e0cef7be743330a19c51a13a747e81d341d17a9204d167cb4006210cd8c7d6cb43d347cf80351041f98efe1379cfba9654d4a3e54\n\n# tcId = 15\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = bdca4de4dd3bba08516ed45291cac24222f7978f0cad43c92cc3e11b3812ec5ccc196a59af3eea5217d66527776f630cc648d01803767bf1d97e341d6e89f2a4c0bb4ddf4bbec6e68b0e608119d3b41a2fd41da75e157bc3d7f76fbd29d9a6e60e1c383995dedecca3e5095d20978e7be11789137f940ddc8d3bf06eaa2013334530ed945cc3970e83d66f0f181e18c5bbe2440e0f04f472d1b259ad7af78ce7d670292a2894591d5055d5a0339e3321471f48043d92990fb6c3fbe41a3fe92597202e0ec85d0ecf6bfd88db54711cddee648540dc7f2cf1bfa9e0d96773c6c03884285d28fcba88e93e9238bbea7d07dcd36d251e39345c28bddfe365e04f12\n\n# tcId = 16\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 648eed9f390fe7fc14589904bd72247c3a81dfbb0e84ca13796fbf4d248dd45763b2dbc687ae99a8594101260fd0b3a398ff2b6ec9bbd82099b5b44201a5bbbe8421a686bab7423663d45cea77321e16a155612af9443b94c7c287f73c6c5d3e0139823c081b91f4302da9a75f0e79633fca4175c2fe9f6d4657467ba38eefa1700b94f4f7882892e60954fada4483c99ae0b05d0ba46f774832a7e9fc8b35c81ef4a7fa073ad62fa2ea25143367c4d4df39090d34b40d48ec28f58073339b8677455bec559fc011320a53303c7484bdb3f7f2858262a6420412396f68c3a9f826d5e889d2c8599acbfa6705a7d22f1aef07560932e742a831a23f53d93d20bc\n\n# tcId = 17\n# uint32 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 28a0905a6461f258c617cbd3cfa963ab3b137fc270296a7b5541c0e01aaa856a348383617dc987011ea42b58e19c49268b1f527ca54acce5e928ff5f122d0366f2e6f656765a73aa7ded1f2d0053015fc6e2d68155c6cd8819e7a6e51c485fc0a620f1c2c2973b21ad463603dee7954fb8fe83ad4ec7d4d860309d498e8d8c3f429df3defa7ec5ded39fee1d5a9aa75ae8ec9dd4b66e52f711e2bed712c43b5fd06e0fdbfbcfac5878d989102dae62307dabd0214f184fe768583e06311d8e8b30738703e11d52919fc72625e418749043df757d01b405cbb01eb2458c09d21b2c472015aec4fba7f88146cd72a2d0a3d80ae1adcb5c29416f538ead8249fb87\n\n# tcId = 18\n# uint32 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 0167ceab6b14960f1160f13ecbdc8efa965049c1db8acfc8b487b363b7ae7a95b34c51bb54c69ff8a08f7b98fcf63eb200d2dceb5834487b843e9312e75940317d4b507501e46cb23000a12f7042548b8934315b247d4cb443485b39f208487110cf08a1f95a90869c63cc8c52fda64f86a37cd9c562be1e8a813906da82a5dfd72c96c8770b08959d5a7ce72bed149c2d74db3f57c3d67c1e2fc31cd2f2eba59348bca4111176ae050d8ba565a71ccc131d92f9ebe95a32a4f37512bc43edc02a9d65d45a59ae431163a5e4e2b237c0023ebf6aca27af938d3fe855543cf61c5e17e0bfff32c2da92b54a3ab8b196479a66a2962fba50cbb8365879b8618662\n\n# tcId = 19\n# uint64 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 4b0a379baccf3147b547ffbb3c6023332620a2722e373b8261abbfa31165224fc85c1e41fc495e197f921a8db2d51282325bda21acd2b2fae56b4dd48da9dfe85b7c2f83e75972c22275f8af6c2c8edc544983cf5a783e74793978cb9717c39271613937505814f1862c4dbe2fb7ec577e4bd41e3fa6740319f15042eb4655aacf1b4a45473090910c179fa942e1a0876162f162f44b17bf554e65b291e7ef1eecc0377004c871f74628e2c069ef85d942da5cbe319a2489a5f6d16c421765451615c987f6d84acbd919013ded88bdf1408ed2c0ac1fd701fcc1df6da43a6a802368c11965c62aaa798efcdb699dc715e5f10bee9355d14afb732f270559fab5\n\n# tcId = 20\n# uint64 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 6dbe87fa8707ec43fb4a4c51f6ca422ddd0051726dac648e1985b5146f54cffc78a2b0335b5d621f3a4f3eb5add994e1e68a4223e9e79616eb06eb421183729f4fedeab5fa291aaab3e83af7fa021b56aa02384752bfdb73ebcd540953695127d8adad2914426f5e9ac30ab4f5feb36e4ec9d7c7cf0a9f50c33979cdca2f7952ac8fccc4180c8beda3772250d6c5a5ef2ca99b9eeeb90a81e2346b465d24a8a8c47dad4a67d4e6a28a46a3ffe432af8c7ffc85c1eaaaa26f1ebf495474d96ec04b5fcdf09a25d8cdf45d8f348805b9558abe525f2c95d3cd97900e62aca25b744b779b14195f53d555808d3c15c0c3aabfdd50801356310deb29346a445d5a93\n\n# tcId = 21\n# length of sequence = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 49b6dde9c7ccceaf49528a6f74c41d83fc3473ada4896eb0bc239c62efca50b33bea31e500b48ebabab16a35182651c38f72803654e1440e30215b0c54738772dad70b8883ebe60680103fb328d1a990547269cc470e9b06e208268220ab46c39411b7f2b5d3eb20ad723978d13d0970ea57a96237242e9892381c02674f349b0211b03bef1ab568abdb1fa28cd913fbda24d94af8ef79efb7d76bede1b43db2f45b9a522368cb9027a6d1f2c40581647b85a99334f05400e95e2ad4a414e032a560dd2321387f3f2deca9d3a4a34d40be2dad57650ae12390f28d2e4cb0ee8bad7ddcb9d7f8850c75c99c6cc4e154d4c8b741e972cedb373b9ca64eadc0e5db\n\n# tcId = 22\n# length of sequence = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = befa74da01ad7d06b1464c2684576dffc25bdeaaa766683710934a8ac4aa2282320fcecb5f512e94dfc84289b2da3fc73afbe9239540f1066bec52bc8baafaa5830e85a5c8f31cf89a8e548604169d7e43d94fafb67b3d031b994af3f3741fb0aa02db1aa12e674e1e7fd0662fe06c8ee641029bf9fea3e997c15a7308fd65661a10be4ee1c8a4510b27794a3f5870bc83c6db63cefd008ccdf4206ad7ab6686c8047a52cf913adfe5d17b4d3b38a7e1e4f21bab174f2afa9268dfec1e6c9a611bba07273b4f65a33db419b18304f3ca920a4b1c655a76b5a5eb920b9123a1160b4855ce807a62c8bea9a9b8c38f592284afcfbb550d79ef085f1fc9edfacca1\n\n# tcId = 23\n# length of sequence = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 814446f1d99803bae8290074bfa3b562eeb7fc2bdb5ae95524a8f31694e166163f89d2a22d37636b320867abb881467f0426fe948a774e349b72564a3215e117e7c14e54a7da4eaf67363723afa19886ba47998389f8069b3a752a2cb9e7e688ca273b260312562ffc124fb6529906dd397028762ca34a8313c99b648c25822191ca6ee3e956d98ab813ded5bc298ea65a9bf949f0a229fbe0000eadd2429ea40ff66238201a2f54e93b560e36e8a207a7f4624c782359437e5139d8ccd2a366a9d948780148daec600de8a0c516f0f93303067d12dcd8d5ba0b484d7c87cae1e63e4868c0c829cb4efa8650fba081c649014b3ada38dcc1c1471f93def8f7b4\n\n# tcId = 24\n# length of sequence = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = c68048e66a376c5ac3c6a5eca4f1a73fef1cc0a1db91fa078d5334b80db31f339dd74ea3e975893c4dc26290bce8053a928321280ae60ffed3437072a562dd30442e5d3a5b046d1f4f3bce820604999b087d3d02130ec4bcf6cdc19df28ca9c61d44b9bf11b8d7d48b6d535dcdb52316da25dab87f747082a83118d7d1cb515641177f2453e2391345b893367f6bd8063a24d78d041e9eafd6543c9d4acc3f4e7ccd45bdada5b7b046a86b1bb0954397afd12650dc1d6bde119d7bc681c3c6cb1122cd2c523bf27f017faaaa1f5aee8f010f4c562f81d67a04e817d4fdd32bc032b8978864a9a6cde55958c0c6863690f2f3507aa53fcf7e3f932e460b09668b\n\n# tcId = 25\n# length of sequence = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = bb7545df9dd8b0c768d7989248106c242e0e441dc1de681b22fd50b576a3afe9c6c19d52c77976343a529cd6bd95783a7c24", + "4ff0d3fc701eb18297b52a3c0a6f7fdc3f991c1c2d47a413263ff67f83e042bc98991620ee16f08b9f9fbe47ce37a90062848a0d0ad96a54d4f8077e41d03953a10fbbe15a8366a88fc12f82f2cc1ed63fb5c295c4b0b3f7c87e95a2b76d649fe839979b1352fea3b0dc112d46c7fa72623932f1d3197b0da93d0b87f40a8ff1575dbf53dcc69c800d2f616cc7b80e942c6b3501858a6ebca6972fa3d4f3c16bbc165ac91f61b679fa33f2b2f909b63fa88bca231297145968bbf1c74814fd691249705140dd89dd32a49116aa9d\n\n# tcId = 26\n# length of sequence = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = c5514a3811c53e0f8372a945ef0e3641acbb60f6321f67d9dbddb04e1287f1b42d97eaaeb7957e22de05abcd9f85d829b43ac766c9907271a1157c811d429d5c7c8cc36d19ac2dd24a036a16be2b6368da44cdc80bf21ffac73c0224b6f176218f70f0cb70e864224df7aea9724b61943dac5a0d0def579c342ff1fe0810b6edde9be8f9bf3d36cd75edad327d60c5dcdaa0f410ad7e74760bf56b93e0d5b9caac25ba319aefc510d26d44e57cd8e89a7355eb3c6d5ded4be863ab4c60e6c754fbcbd086fcb3ec64a1d4f40d3c1d00b65e93f2d09ed45eaa295a5c8b09268aa292096a5c41b86618e493d2f683682b10b25ac9032448e9e0b76bcb6f6664042c\n\n# tcId = 27\n# length of sequence = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 6acd858e30ee15fc5c1e8d73f0ef784690e047b0152938993e3e0db02c61f04f21ecbb7cd154b98aaccece5d4948e26260e0b19f759a5107cd4c365bb2ff6e5be93274ff6fafa1df4f26ca73d995f5604e847d635de7d6631e23397d95246310d884c7082893baacb46b6426f08884b0eb4b0bddcd01ee97b8182c55ab80b67f73ee0507206a5563f79167e9045a7ba9a8c9d6a1ebb85f53922d4a5514f4bb13a5f69154a2db4287e8aa95612fd7cb7addefc7516609c1b93844f254d630a2924cbd7b7ce0b623812fe4edc7edacaaa449ea949aefebb2e4b924b5ab893d5bcca76fd20dcfbdd04ebc6bdbb1d7407f710bcb2f23c7d50a4fd49eb6acc7d4ab97\n\n# tcId = 28\n# length of sequence = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 4df3f6eb5fb1049fd74877577a1ef69216df191af5858a661ff8edf68c8ffb5554d2c0e3b7adbc7d10da656c1c788e381d43e9eba5b0a84a92431df56eb81d7b19fe0e87404d16608f387e4b961dc13d336fab669195f357291e1287f9bff838f4b2c79b75536e6af0b5adbd750135ec166377c6c8ef6a9f80c575b1ae95da834a2d129313c096faafb641b46bd093cd1464c20821f4ced6b4dbf5922c44297fab04dcc286b68ab98bdf03de215c4b8ee1b46ea93d8f910e1c8976f3f040972f62901fa1fb24c59bebe201d3e5ac0615da8106c6b28310382fcb6c6acac7ca3255eb3d529863d939cd876d88741944ef06fd8ff9939184bc417200d361d1f1ee\n\n# tcId = 29\n# incorrect length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 55e7afb895f743e418302ce73e8fd49aadbd0a4c27a9469406e0a801753d5a4cb96fffa47ce3af3a3f2dc0d816e6ec61a764455f2427cfcefbfb9452ed8401671607c8cea3bf105fda04abfbba07ebcccd141306c129b36f9014b4970f4e8ad6cf3f7b66c21ba1b56ec96ffc6b6500f8f38c00b7c4aaa0a0515272fdd0fffb43a4c4e8eecff7922b0891457df27029eba35c86191cd7d9775cc7223354d89118ce1b92490558b2f3a151fa1b8f9371db8f8fa0f156134f5d78d7897849d60414a7d0565535f271fc9172ed6c3eef2ff62e638da46ed4f507ae3c63a6d308a20ecad814232e39eeb7bdab898b18e37b57c10b19905c0d3d01fd8e7c390be1b218\n\n# tcId = 30\n# incorrect length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 89c7b4912157be3be42558074cf23b8693d38dca6205289c9fd347369dd92534d2d2ec8e9d6fdb0a2ccb7e398c90deb5566763e4802e747e9dc593237d5a5e1d52bc3c43d89ac484445e3798a16a00bfd498f42d88a4110cb7e4745c5f1e6359ee8b6e81b42e85dea2e00e80f1c17dba13d586c6f6f9d3e24f5523bf9a0f21d82f150a227a718123c5f7c934c2040628e2660c6392fb4db3f7ce09e1c403d479e4858adaa6d798c34c4af771994129386594f0b9aa687706bd463a92d47ece2d4dea43192f8971ed7786ca2b6dbda7c449c2c2d428178d8de5c3a10bbc7533296ddf9fcae3019e85a22d9fe9fa23942912187bdb11365bd37114fafc9e88d4e1\n\n# tcId = 31\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 2f64360a55c3d64c3a5391d6c3ded718786ee654c97b6910f4741315fd7d9ab021999638b88b4751736a13faefa6a18339371e2f892f68913dbd426415cd34f499b755b10376fe11896694f1ed703d840a5e6faae1e6f75c7d6dbbfcd3dfd8e818499ad7d03878f8148d85e325e7d2aadd6f9ca675d7f0b8813112e83d3235bf5f9a33b14bccc774aef67517529593439397413e322d02ab7259b98ae549fee758b02adb6116e563d2fc8347dc5b5bb07d573d51024de583baaf8e982b3a8c742f03d7d739ae804e8de6198c75a556318fb372e2d1e6187bece98a5f39640ad28fe014e823a380c83fef85cee7bd788941bd04284d32961bf3582c4c3ae488cb\n\n# tcId = 32\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 325cb004062247e5f293ceede0066fdaa89f37f2b73464a14fdddc045f5395e7ab3710a9ad3eab03e9c2fb15818b551b1d8755f454dfb5fb6ddac75dad79563d9824a213ffd5865bcdb9e82a1bde2b94756a7877b91be30d58d48700dcdab15210fb17613bb9dc4f7cd95e1b33f4de328b4d166f78c992121e7e409acc1fc893771265ce9b01b5e21aba04278bab10be21dddf8a9375bf4ea0dd4a608a186f0889b9c0d132b022de4e903786789d0a5a960edd05b63ac4c08ffe57f6c5afab772bbc7e77f82ecb119022f96a6f42c5a5b958b88d0d6b17d3314adb050bf863a88782aa78a8efc50434c21e1077ccdca9b9c7676369bb8972f290bd5a7d85a635\n\n# tcId = 33\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 4b043dfcb768599364cd876ee5f6456b8a270dcafa679ae2199793578b26c42b30ef14fd8cc4ab045dabb55b938bb8c8af337386de8ea009a3a19ff74b6ab8ff038d6685b17e7dc5089ebd1c8565f48dc699770b48a6ab5d9353e26472b3a57dc74634435bb7b04681bb69dd3e7396adb569d6cc8ad07aae13387a17ff862b40af23be43bd74c9fa24f07d3c0afa47a063412eaa2016647b84a95b67f0d18efe75c2c9be7240d748c2bea9f25921233010079028e608a85362cccf7fe1bef5a71a5142f1dbc72224f5d983d7fb3b0d1a6303f017d9ab77b5d6ec4281a5df521d3528c6caf9508d65f07a6676d8d4cc9fc796efc6c5dc2aef6ff516ae55212671\n\n# tcId = 34\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 2f7659bd4b043c5e74d9e3a6bb3841351335881091ccc4d0e2de1efa168ba11ec04ccc71a0cdbf84d88a54a9b5e8e5e0ddac7fdc7c221e87bdf70969f98857ff91bd6d4c9f8afe28f5394660c959ebc8e4a09ec3e0d9ee0d6c9831dc0f31807bb8ebac2c9e74fbbd38d0dcdcdddca714b771aa73abf3d2c3174553ae3b30597604e4b33f8a6adcbc42c4e49e04a6bb0e6d5dd36b519d5de172c5513f8317c16cf39c89ceeb5cb698ff18cb8e149b8350815cd8c619aaff2ae5302cc683863e3c5e5588607237fac82a01c028e572fa77b30e60bb5a2874715065a2596af49cbad2926bdef2c81b5d031a46113a178a92f4d69c97f9ef311ecc7a2f058ec7be42\n\n# tcId = 35\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 241cebed86cc3a251f62e6dac6a4cdc7ade20ed6f879942e18185c85729f6874d4b0c0d8eabaaf1ba722891d35ebabf4b549278d14815db39f9e3c3dc7856ad29f60292318c808675079e2ec94984bdf0966a33590f47ed05058fdb91b6fe11456e592c9df76e4ff56df480a83fd2890b088e14dd59e7d6bd0fa1f009affdbc07161f091947b9b9b8342684a0bcc746d853cc52164740f08c364c2855455b82aaccbb80488143f59614be4b6a1c4f70cd1e006c775498df75cb0d700b8fdf164d0cf97e860bc8e153c85fdb6f5834b79efdd0902e02ddbde4b515afa360aa25632c19fe7349247bb528e617d34333120014eca9b549fcb1b541d3ef6fb5e1010\n\n# tcId = 36\n# removing sequence\nmsg = 313233343030\nresult = invalid\nsig = 8e694aaee29d01d26ca0fecbb8cb2bb49cc8ac8e1a01e327ca9dad1ed741032dad845602b2752f8637ca9152d36f120e81f37b6f4d6e5b5468158be2ca3acd469e3f532d9731eb6e7247f97d28366a652d747b21b732c875fe22867adeb88e42729eac1077fe7e6255cd643fd33050ed087b01e07df5efa7c182d266ae8b33a667fe88e5dc95e1751787de699be68857470cd4b0ab989ba7483f9ae375c693aca41ffa9faedbc669a9f4a0856a809d7406207f4ba4ecdf882993a2d774ae4f35a12d5f24c79aff5c00e89b7fe99a8d93fce6b1305e91a3d553ff0433f1bb989fe8923e1296f775118b17bbb3ac22d4744815e647547cfa03a515c20a33b431ce\n\n# tcId = 37\n# removing sequence\nmsg = 313233343030\nresult = invalid\nsig = 4abd84f5455855d18a88df8808a009b6a470964a82604d5e562200b4ee22a6537b31ed57bfc60151922715eac7804f1aa4501721e242bf553509eefd5e34fbb1f4b6fb6d6e3caad4c1b7d12db028e42f4a52efefc88bcda58c567c24fbafd2b3165d768947ed7fe69f0bc55b9add57638bdf7b44c0aef8bd104fdc80f32084466ff0dc97d37cde2499a498b77cedd01d389a5a4063d9efcf6a2ea6b4ec3d28768297865220dfdf379ecb3546949ccf7687beec862c72c3faf80a944d71f888821f079bde045fbf1f11e4e813bbf81b102cc5417af8dc93f24a7c3200395c824b9c4a2b643fbce4af95cf22afe146f8b66ce38d76bd8821a3aed81ed05039a097\n\n# tcId = 38\n# lonely sequence tag\nmsg = 313233343030\nresult = invalid\nsig = c9dc8b821879fbad44e3b5827c1d0f096dadd16908d3d7f3b6a63052f897e2728a855ebbc04d2af9c2cc1cf87f0d67f2599f134358626f52f2fe0dfca954c4e7445e604f347e3f5442e0ecff1e81f4593d2ce920c94bda5a3c75022c303df0930be672a7648f68294dd62d4299bf750eda9af0322a17f66de12ce87876e51b4c6141c2e09f7369b76c51ae9a200bcf110ccb938d789f3265f8766ec8c40f1fde02e64937724156d367b1a7761eff40f301d1b610f4f1720b38191ec71c8753064291cf3446723b8a7a9c0a188a7cc9e09538b8ac54a04b9082a299131e49ba733eea7f86eba7ca0ccdcd8edeb6575181b78fe", + "a6b08d97b756d65481b65e89074\n\n# tcId = 39\n# lonely sequence tag\nmsg = 313233343030\nresult = invalid\nsig = 5edcdfe5b80c46f8a5dd42d09cc513436d16281b0ddd6ba1527a335d2edbc1ce7eaa3fadf2301c0af5a507d0fd148125299256687febf81bb31cdcd609a3961844d4f569de6f720876a2780f5abf5bb9f8a63a3cfb0d2198528bc7b12e7b7f6575c331c13c2dcd27cc481ff8b58200be43fc2470697eab33a9ea1dbcdb6603a33e877fea578d50fd5624adcfc2237d0f7171c378f1fc06c93233f56055d72099f5c69a85c248c8c5316cd679188382ed476ca7a4d6474d7bc033bd3a8c09e75793fe94e72fda8ab864092bb263ad1a9cc24bd3b5615c36c560d2ca438e3d113307935b0f89b466c92ec3d9a654aa99481840496cc88ea22ac9955a07477a9702\n\n# tcId = 40\n# appending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 1d37a4d8669859074eb9ab3a3a9040745e78fd131d024f80d2e4fc2ee894a4be034ce39a3ad6999b4e980a7fc34dbacbd8b1ad980dcf2b7286aff77fc420d875156adaba3929fcf316b7957d18b99eaa1427ce7b5c31b59430f253ceaaa806cce501bbf6ead832eec64dd97c13313fda9815a77335d394d7474714b7365e1020e1534a3468b6d611bbb67046c265f96d57cfed5bd4cb4302462474986352063a6437fd9581ee000f936cd0a706e0c9de243ee2bcbbbb033ea3cbf5a54613a741d0977d4e81d6faaf4342e8591c61b218856e631377b1cec9b3e7dbce72a812ba55294f32ff65ffad2b0407643ed6eca28fdc2c4e6da9bc5d4793bafebc5b666c\n\n# tcId = 41\n# appending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = bc8046bc0e23da370c9a4c8ad737f6fd84f0cde3b0d2cbc376bf1d8b590879aad48337b5f2aa36e4f4e6276fb996623f9f4b5f2e427d3a482716d274192661d448d3c3174bcdfef5bc049d5d1b28024535984d99c9186bd357e48fdda54022c76ef0ccaf6d1671537fdb825a7c28f0cc55cb621083ee0d7f3335c095482cb3abbdfc4ca37f303b8c13a46d9f8bc5ee309796146ae4a07314041e8a2c52f36579151598e354e1ce5def6a2d99eb50bad9ea1152f8ed7055969d5c2b80949cd4811cb5dd0312f97b2cc8f851be73de6db1b02a755b1e3e33ff529d29357ebfa04d4f1e7b80dc4d7f18784b538a18ba9e732d31e4b3f494f8ac7ac0a9e16a6f81f1\n\n# tcId = 42\n# prepending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 56888249daacbc6a72ae53fc99d3fc1dafb2d011ea1132aa60078556bcde81c31d1f3af3c5f500280c910547453f6486bd11c1a4b5ca0504e6bfec394070eb4c2cef1c847ab3ca3c9f79f3861ee1f54519e9b25a3512ce3d545a418785e98b8610ff0611b8dca271ebff0ad91010d4d34edb2aa824d6703d0701159845b30f369a8097d9fb0f904870573c87dc5e84a6b575c751565852c3d95d3b6caf751bad936829e02a19ec359070b3caa82004af31eb7f7ab10ab99b2c6207ed6fafe5dc790809bdb40ef02239e70c5881e2a0827ac5c2064a6e0ef1b794e2a252ffbb6ad9edbdc87254dab94509f4c0e7690099f206ba530ff6bb8206b7a7462e633ec0\n\n# tcId = 43\n# prepending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 4b1ab0878c518109ee48c7aa6f5b71e2562c094f348060a202c07646bd4de3ec5561ded7f38beafa8ae990b40a0dbcbe3bdbe3c33395f9a1002297129c4c2dc746ff54e882f5a630365f5d212da58e1521edabd51b76603ec7e0c69a79c59807ba073bd19241d7b4d3fd4a84429fe8aaa8a7ff897307a66219492e9b6abb41af5c8efcdd5f73fb3325ed5ad7fff49c185d31fe79fe3238bcb20f6255a22edd06e610029d6c8b49b81e8f364a34574145a0bcd8c81f4d8f3d91342db4237d0c183d718048ed528e71b252928f75d0c067bb9f10bb72f2b87515d53e44f77370d4b8abbd187340b1ac8e96fd9b7b40a6519a00ca496c263713fb74ee011c1ca91d\n\n# tcId = 44\n# appending unused 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 7bda24a481d2c6d5aec6ca0311b77e857fe8dc0029b2954f65ac08f13975b89faeb5935f0db40d03b5cb307a8ccd34a3308cf042b271c8f97092418934e00852d437b5578170ba0851ed761c2b99516a232abf2248bc2319385295e53dadd6f98daa346a2531962fcd8f6b45b3135876556df04c9bc64d435106d4b9138663542984a2ce8f9157f2e79b171e3dd9eb3a7fff8d3198dbd8d94f430d7f07d291a4137a1631f5fc89b4f2dcbcca7e1c83c9835f41f9a553fc6b41a07cfbfb4fb24c620e718a74e6f0a0059848309afce2c8c4f2ff6d58853f73f7b16ea9ff0499bfd3faaf58f3872fe2f26500873559ef3c1506038f8170d303701f9d72764c2024\n\n# tcId = 45\n# appending unused 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 2242c90d1db4c749500e81b191160c08c4e477c5fa91a6a9017b32e233d34ff5141b53185c65f00dd054bf17dd8908e69b3604decce4bc30ae968a1ed374ceb15ccbaf350fc9006a0789fa42eca7ffffac814cfa53cab7b73a9631b5a1db808da2d20603aa058621a8d8ab8f1b9790a8efa4b733a12e3d1cca3af91f64670aa289fffa13c48f8e01c20dd66c5714ef48ab69623490a3186670cbfde414e93d0a69f15264679ed013c767511da02255d8eab937e59dc929bd3b9cb70fb2cc157d01d6b42c0c298acf95e1d1415aab37dc0f0620e175e341f184ebc6e5780c46942aa8d033839fa5632fc699a5d772bd204a37bd241ff17663bdef1998f685ca3c\n\n# tcId = 46\n# appending null value to sequence\nmsg = 313233343030\nresult = invalid\nsig = 6c5d69cbf6b8b72811a52d3d81e8727106cbe69527f19819c183a5988bf054cdf4093f8f09ba3494bfdb014b835026a86fbe5334699ac38d92595766e0007e94a51b2bbcdeca8f4ba0b07fc336b9e67c55ed9660d764ea90cdda765640d1ad7a267859f617b17f813edbf29e78f3eb1cecab99032c76f465fc72333066c1ca265a36f142f956702739fd5b4c5ef27057b6d0ed624282a3690dde409160235834f6ff0f71e17728e74cea66ce41fa60cf990f46444947849f20530ccf6daaa0f50304453b59860133994d8bd835e76deef7743ffeaa61775c0cbe462dfc533ebaed072c99d116f55f473fcfe34506f4700f512ccf29b582b6c71809ced31349eb\n\n# tcId = 47\n# appending null value to sequence\nmsg = 313233343030\nresult = invalid\nsig = 5a0c01bd1248217d51d3826aaf58969c9558527f942e798af77ec9c89ae07d3afac0de80db442011ce38020f2381b26322d4eb4beefa9f2898cc3453c9501e957151098a4a26c5d9a0efa1a4db7edd9946201c58605b9fcc586e4f988440667e8da1f68e2cdc473472e1fc9001922dd3c3c5eaff1d1e1576e5c12365597c9a78b7834b6bd29e0512bda68c29ea0ac45e1c38cb6d6371791a7172cf0b1a7a14de16334ffe66e2f037d53d866511799a47fcaf2bca3bea985b1376fd6d66505a4dd86ba03d45293016ce4c698d72252788c78e1d18c256b42b9ced956aa205becdac7372539dff32c26544284d6725703c8095642ee43b5736bac42880e0494d4f\n\n# tcId = 48\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 924175981a53ebc96d53ca5cd6bb9645e267aca81c4aa800e65751a0fe2088e89d39697b062e525726997adb78ab554c07981c240cb779ac9d7d4f73b47c4428df6f3b7b118e39a0ee83b43334cbeb8b29e0d8264db01ae731625543a75d6a90634b0b4927bf3126fe0693b55061e5125c7b964f97412af7ee730a1b758a3e31ff5e1d7ebc0d681516f50a8c18b8399a96ae01406db49b390f6e3f6bb0286100b6c282a06d428fa090827451d671053be5c6e91e328fdc0260eafaf5f9a8408b033595dc259db296a47fe683f4277fd5cafccc8eb0705898860dfad589f90d750eca6a1cf157dc1a708cd9d63d23beb6bb556d200a63d625558d328fbbf2a2c7\n\n# tcId = 49\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 2a8f73ad97454d8c5fadd199e89efccff7e48f3c525724d53e1d9a088f40184f8f2798f2065fb2fbe8c90a7238ab3952875d0ef27c24ea400d1afaf62f2d71e9efa85ee9f3830cbdb07f4ecb90a5e27c234facc29c4a85164f22e354aab5c6d421fefc2e16ef2de1919316f011e41baeac7333b6d147b1594117b5dc3fa3d29bd5d38f4a8ae3d2ead32f197bcb6231bd890ba017f434fa38740f458bf0ac72e5495eadd6d521ed27cdc4bc3815123757edf72013e5728bbee8a6497772d91e1720480c635671f087e0cfa2b8b75cd7db3fdf0d15a41cb0cacb8e9d5709ce035f55568268de8fa316f8617f6f4acfffbfeb7f737c62622f24481f56a5f72d824a\n\n# tcId = 50\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 0837fa28973142a87e540db789ce0d53b9dbc39cbbc6bd5a0ae75963289bea751edd6403bdbfbad2aa79df84b835e16289ac833595108ccee7a3730deb7491ca0a061a8c87fbf003c3ae78a955fa1e42ae09818a385f842e17ae19087e31009a0f204cea5d7d89ba4f12c36f336d8d020c33334840ae9a408a667f52125783d1c299f673cfecc69a026e01736e809e7bec2e53f022a82f946cb3b893a4cab359f8fa0dd7882f4037803df05e058745c454e5235bc43b8f0a3d7ea53df07f1c100fb2ea2c74c5bc1ea79707f11ea2a5bb7c3c1fa41ddce95f60e81646a233cb3edd45484d32504086e87fc3bafd0fed328cd2cb542e9292675927dea0a22ae691\n\n# tcId = 51\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 7e2886c37e1c0ff6e53fb6769e6c3fb7efead34e2ea3d9ec94e130ff418e70302cf947219c4c8f3f128a75fa2928c78a06e7b73c17f5753e24596d485eaf0d178f909b95a958fde1219afa53ab428454afa65cc7fe6de247e3d2c9830a123b93e9673eb6b0b847c676a4156e562ddfcb3714c63a5489c08f605ac8692d61586981396b6c061742f9356c82b4c84389d91d0607b148e237573882caf89cbbd024606829ba2e57298e868a752669f17a4d6b01a02dba9274c5ab2b54ccc439419a3b28e249c3b1cbd1f9429b10b15ab972e47dacb29f739fafbb12c8f1786629863f3015c672dbb7fd0622b926bb04fa61e0c924d6a377e89f1e1079bffe4b018a\n\n# tcId = 52\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = c959fc87c48efa6c66f7e823d317a37bc6b2c6001738e638f75c5cec510887ad651edb8e4bd91d069a67e932216a012cebc75ffc538f0ade2fa214d76ad046f7025dcdbdfb54a6d18e2393005824759e70eebda48d3ed11224d3b20dcc185400ad01970b05091627cfb0db0f9fb156705b5605e76330ef9c8ab7162dd5741e62c9d87b8b635efa2ed3059c0394487abcda18b2fd22fa2cec9b722d1f4620d815b9b5b7d946b42e9018d0b99f02080", + "28e63443224390a4a1326009cd54c13e96eb0884742f6a4fa58146e0600e673f950501013048abcda6c5d4bb4fb027ef32ae8966f3764f0def64ad883d3d3d3affd9437c386640ed4917da3822a0a18471a\n\n# tcId = 53\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 9586a20b0369fd231800686b923dda8f1b1f04ca4d3fe5f3298347c542c7f043dea35d54511b3995fb2c44ace8fb2b93b39a859f5b4ae09d1cc7e4daa7b4a057a22986e6b3f5f4a5e95b6c346c491f2dd162e3bafafbde6c4835556ed6fc29d0d99c0b345efa19f87fdebdf008c8b4670d5eb844f8cba58efe1af41bb1007644484eb857e9b78b7021751e51ec7b3d4701cd56e870a47f5fa06856560e112fe951762612f674e5ef0e1d80025e5401fa7ac8d558338d26c811f40f3227e068ec8364ed9cf846659b4fe3569e5e1dcfbfa8c4139404a73c8ec41fa9388df28af8634143560544511f6fa417e43a26ed40d0057f5b316d75c533fa1d9729dd4a60\n\n# tcId = 54\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 272f638a88e8035ae72ab2574220bf41e1ce3e9f6131386b7e8e042c62fb1a6ae545051948d0708e8b33085da1992d0122f7309a6a4b3d64b82ced0263d2fbf0d4c4625dfa697372776bee389142adc1297d32f227f903e476fbb4c6487c0500277d0225a0261a0d50f7987ba93cbb044626f403124da8d9c9689f644a5ee368bdbd8390cb75806bd6e38e4aefc2301d9b33f39d90088665d1b12cc0d5ce5514a24fd6049d70a1a977f05043e955dfa799bcbdb3a970c81288801761fbf2f40b34899d1072c3c34237116c46aedeb67147962901c7c7926ba566953d5f597cb94cb1f64e4987e84a8ea59bac61a16b04c66962985c59bdde1aa42448222f2f39\n\n# tcId = 55\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 0184d649a1416dfb0f81f5a4b6bf88b44af0f7d9e74955295ed80f94b81187004f7f359deeaf9cf80a6e9791af9481f1c162ff859eec2aa610afa47eb9aeb3c98165da7f089baee35e75827005cfe10f550aca6c7bdbc6af67b2cadc09d94390e9abbac5f81429edf2d920150997022f7c859852cfa0f4b91c6825961da518577e48232629ff5438a30df87636673164f8fa3a3aa5191118206b16b9aae6a5a498ce918e7f384f8409b584f5668ba41fdc4941f60c3b6c33544416d964bf600cd88b914d7fbb8f2069ecbbacb31f5891a28717060d2b5fef7385de6e0a2510ec7ee22e4d1915ceaf57240aced94de0fffec14790ddeb0f5244f69c746891b176\n\n# tcId = 56\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 6802121a0611871cace7d5ccee1d5c400347d96fbf8b24e0e34ebbcda4fd52fd69ae768ae1f646bbb4b9a749502ebf67d004c34d297a3e3ce5625d631bcbd5de91638550c1255f0e2278aa84b68437bf90921c3bc4ba34e755cea66ba653fe6bc5d93b77becc8448405483b3503bb44e183ea0b2d092130100ff4189d885fc26f23cd070ac7c611fa7e57ab0cfa26efa1a32e1244d35d0e18091a0d82ea4317375223408e071105b7c9d54810c50a08ea98f113bfacc3437d1b8ccc3ea4e080cab5474921669b226a97b6234ac7195fa76bd1bc8fe8363af664b40fd402a8ea150cbcf0bebc3f279f51bea7688e6389689f92461174636b91facaaa0d86b26f2\n\n# tcId = 57\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 53472879d38cc459f5d6dc018b3c032c39e597d264efeb0863d7736577694a6f98c61a36495489e3a6f078248bece5dfc5ea3ea9e5d97c69eefb4f7e498de5b89d33a46aa871406036b1d8490aad465e92e40cb78788281091ad7eeba14047dc08441353beb732a07295aa3baca1401f3725686ecce5117c43c425cbfca2c4d283a0e7d3cd8f5fa46fbe374e0b6f4357fa3f09eac4344604fb120cb4f24cb044d68026a5f4a67ba1eb97e07b355145f7ea4ce41efc1254a93ca17eb62d50f793269095d8e803ed16abe0abc1d5279202978ce9212692c50bb426b4e8eb5b35d1505c58d006608776e63c8f7c4bcf5cb078ecffa90c57dce7b37ebd6382d947dc\n\n# tcId = 58\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = a6939ed78db66031197cebca770294883c50031a5f7f3c43700976bc4332e9a5c6542c651a52aa55176b7dd9cbb235545d6091ea79831783f25d5c044bc7a78ddefdb86b3c8272895a1ae7995baed96bbee63bdc8795469ea2004ddb7e79e237d5eaa2910f0816812db93a9a84e1b2019b650e5c7ef54504a54c40017ffd0b2edaf7f1dda8efd6d7bdee3dc840962d1bed9a4580cf19127b9e6c62483e32141aa7965a4321fdba5298202e92bfc922861d7ffb2f50af93103a58ea78076042225b3645f76346316c801cb3f6c80ac2dd1d2f613d515a8d1ca08c27d2c6dd8c191781adcd0c259526bb7509291914aec1a94d045b1f101a7cfa6780e05e4786b6\n\n# tcId = 59\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 4caa90066560af60f3927e11e366e1dcdc5a70c65a342590908a34e38012677ac8bd5931c7a43cf3c2c537b985a58407eff426f314cdfd056de9c2c856c1a46f705bb6c493fef4568bafb1e797f489f3b7c3167b6ace3f70ed69357afa0bfbc527b7d50e26ae00ed24973c1218caab5d6d777a401133e6d58cb8f87d7d4f11a6c9fff2473dd5efc59b4411aec6c69129a0b815bedfe28aa4b95c4d6ef5bba7e853c6385c87c6beddc1d5924cac7a0281190e740a9fca8612887dd7c3bb68fdcf6c90658343bd28139f1dd96a2865a4b695eca31c3ffaa28c585b4fc608ce55fdd4539a1c45e779fc4b7c7b1a7a0c289dbacdee12ac1ce5625bcfe2a490dd5b45\n\n# tcId = 60\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 2bf02b2c6d3976b5bbecad1fa0a0c7280642b06c5e1ae1c7b213859914189cbf4f0d882e83377369cd692a2aa48760446a3efc31b35b28ba21b8aab13c4502d496158f4a932273a46cd8a07e464412a2fee064d3bd74ab1fb966179d3649e8dc10e341d445d06d6893a74bf75447c2bce2f9e39915ea656a41d2df5ccb3384bdf414300d3f05fbf2f18261c129d84df7dbe1eaa26b49fd70013988ab8d9b8b75dd883e773b2929d3782484f67400c03aeb51715270badfc8c19c0bd9f21a401e7bc4f4d05771bd8d98c2b4321d6807da92871d8aa67744c72acf7b9c57fb2211994cce0cab04bc262592cd5c71a0f01d8ba90614bc776dd936e7e96787468aa2\n\n# tcId = 61\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 81de03b054e9e9cc6d4429ac83c56328f67dcfd501d4de90b610063135ff65f01490c80103be0ca82dc25d05e2b3d3ca16863e32d0e7390ef8b3a5c564940d488ee1abdee73c89a0bdbaa2c70fa99a74c41247991a85e17fc43ce3d3eacdc5fafe948d1b3d1f479494d40bcc29fda605b619034f9e75077494c3756ab6afc2971c24212777146ddd2a758449b176ee595c86f223a52c770eba2ef8bd3c795d167292e47c24351c3e4380cb80dd94dae76ee353bdc77de87af436c883a09a9e7151d54d117cc928f24cfde16559d85b649b5e5538632d5c45ab83cad762f1047a877420a8ffc6a937d56afad203a136fa78b54b988b9e9502f0ba61f94c5f72c6\n\n# tcId = 62\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 223616d7571dc53da3e22f301d052e014eab29e12de34996e376844f63c851fa67c81d65e172824b68dfcfb8e5d6b1f1f0bbbf09da1e9892c9d0737b652729d5a57b51cab6e8144c4ca8d1df598468fa0a02189450262d9331b146d847e1d463bd53ac6735251bbfb42b28579cf228acaad700162d2e2e834e8df46b6a59e1f5c087016225e1347a574e92fc9a4bae8268258c94f255e4e4f679e972e059eea9bf9f48783a15e93373604f075c5784245d79d39ab135f35effb80ea535b6e589cd944959e7b287ea34b93f7163ef092738a4d27e91461b86761546950ea475a93b4558242a932fa9d7726940d886ad3e06854e64d9e7ad5cd4e3e921ec7f223d\n\n# tcId = 63\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 79bd74ec9fd2ec407f0014a183e0cd0d82312a4d3c6c710ae8c7c83f600361cab4bd974da6d20a24f19a42a38e3246c76a8e58a764a65f8163d0b39134b9a3e3f5f5ac9ad95265efedd6097443c58ddcfb0682e35878db6cd96dc8cb4aa1c5a4a00196ef88ece2532944b9432eded311c2140c01ad889d526717f9b6df04bec233122ef44ebd0ee948e7178d6f12b798a1d08f4be92b9d084f7fbed4ffc0a510c085f4ce62ddbdfbfeb1c4297615a01d8ced0e1f5d9e5612218332def85c2f50fe8e00a75f630e73df363607d8419cf9f7e512eaae76beed22097e9ef51928402958c7c7566bd7391ca7140c3a75a159ac14b30dd7c861440de36961ceb84be2\n\n# tcId = 64\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 3c616f2f36d444158706919f76b715e54a55a8d840f14da84f7c69967be7724b71df330f3db697ab15ac4113173bc15d419ed1fb657bed48b660881eb97b7215f837760ef3d979955456ca79be5a8024fc6e17fe9d17795e28fdef0c6f439bf65c66a14e1b501ac51080cc31880e6c40daec5d199e778937b10fcc37bb553ea42fd24991f75072064e88d029195d8246e4e5398762c2f2bcb4a584db08b8d5a665e983438090b42a8b039d07eed40b5e6ba1b416d684026ca7dbcfaf4d1d3bae7e1a62d5ebf5e8376f49fd9efa53474312d7c72154227220cd37e4f4fc9f82b24e5ed6ebd0b87510e860cfc8c516c67f57b7b82428b553a4f23aed4cdedafc4a\n\n# tcId = 65\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 5b07c09462163b655e7d8ce49c69b9bd0a8dcd6865b74530537060ff8d3b5de012435ade02b7cb078109b10f27f83eb6fa3d61ce0f28199219e7dea7db64405bf451e1fb0dcc59cb014f41e95ec3f7b25b41c6cf88ade3cf7488acfff381bc4dfce527a7f7c69544b7e7d9ff8e3538e3499a453ad64482e5cf3ad5c6aa57eb27ceef1d5233bf7fbc21ce3998ce85552b37e6a8a1508835de1816b877d1a03e6f727ee74ec9a7e04503f706d1f39d1b97e0d89567401d796a710c3cdcede6939f9e810f41fcb143bd6f5a8fbcf5743620d754f4ae780c9f76b8a6b719b36dd68747ecf027889017fdadad899d84a30561b1ca03c7900adbb673f9ed1562877938\n\n# tcId = 66\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = c45b1e66738887caf46645520a550934e2bac206a32878a866858be4c4f1377371863c92dabd7326cdf937cfad5d74ece76d70468c85e4f14d25e036e207b199c7b56e6957ab7751bcc39dbf87d3bb164273dff004ea8a4ffacdca7b026afd4cae3929e60a70785109678bdde2a6eb605beee71cd88ca445df5750190594183ae6a8d49eebbdd643948e55ebf", + "56b5a29bfab211f9d4a2b1d18169a336141cc7d5c5a1d71f08f4437340ca692862a82912cea2a0e613af52a7a4af77d114af74adee9e2465c3d5fe02ac8fb638a6c50b4878237642dd090a6f8c9982cb61b876e43b08f91ae34e15ff472fbbc4e24676a9d5f5321bfa1ab74cb1439d7c6f6cc08\n\n# tcId = 67\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = b3dcb29f68dfd06f808fc589549deda516164cbd2b0d610574e2d5eb5ba2633b2e65a1da22e6b311d5762be2425a7cc6f7b63913a0681b96da1ec341011c2554aea7be4fe589ebbc46717b9c6b9f2776da5aeb52e4bb071f9c0e9937c6ce2bac7682086f2d9e234b43dd9fae240266e788f7fc591e0c0aa73b5d30208b41f84b49cda5ece81c3de00cc9e5d7d21793933f9977a7567d1a9515768a8ac16fd2d4d11eb898ea33030491c127504504d2e15d86976c74b891bbe87e569f240eff9f3fbc49ba183a36d80623dea8a3b5d396df3f81691643bb1fcda5a8cb7fc2e369dd116be9909bc21c67759a898324992b56b3abdd0ad668f10e39c74216b9c8ad\n\n# tcId = 68\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 9b7ace146c4d6f18616e5d08f02e163bb9c9601eb5f0538da1ed460c2378522afbaf74ba1fbab2f38b363df5d37f672700814a1c117fc355ad0641547dbcf79bfd40f7f650fa225fe12328d236d1b5fa31594d0d42cfacbdf4a17b4c0c99ff595abbe4eb8187444fed074e6ad1042eb250190873388a1ab7260627931cc584f44aa19374ef39df3f90ea9ee11df87afe539547650367e2fa21f7c29d5c55324ce2d4d8f964527d8373cca90e64ef23d0d0ae792a562aa48a0e0b5fdb6125f9fdade491496a5c63405880456d979a88107738fe021c16c11dff70436f07d780a15f49464c831cdb3cbcd8f9455ff867b1e5d54d00bb599b81dc744c6406fd8125\n\n# tcId = 69\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 98139e8a125fec0ce94483344a06c457bb3b90ec7855ac9c15b98790edc2b2ea1c7b30a17bae8b39cd46b342c97339edeb440fd2f86325c3a9244d9999c938d31415365f5a78c5c265e18f0a4bfcf1d4db655c25c8dc112b980d3c3d16d2d38c079f9c5e4371e8966ba3c71972c0f820c18604aeecffe626d8c0721bfae0fbd979476b7efb739efec51f3d4b98ea15553ee44cd209e0cf394374ba52cdffe21b0d36bb0d23665fad56c37df375266fe32488add3ec3b3978773e3232a39aa9d5481eab3343db2a5c5570f03e432a9db709f6d42ae214df25014ae02b54b957e5e0939c0f97c2fe0c85feca538130019ec9af83cf53ad29d81da26068ff199748\n\n# tcId = 70\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 41912916238ce7571313483bbba8ba916a0665fcaa4fd8809b583a8a672d3aa22e75425892ed2fa86ea4a85bcd833af391febc3f6fda508e092a970f314faf3c71e9426fb0a818b70962ee0d3cf53048dc02457a3efadc0b6e750f56ad910841885efe7f6944cc1befa46497911dfb9ae25dde319d740d645c53ced9eeaf70cf0bc8daccedaa79e4a3b3de0f17681877fd69c45806bbacdaa01191a194ed84e54a9abbb0a38c2a06a798248151242816b38980f6a741f100eb911feb57f355567140940c5cb363210331c9cb4116cc9db3bab4773e0a82bc29c5cb3a72153083970b8835942411e89772c8713d2cebc9f5e9c15622bbaaaea6865710565f3099\n\n# tcId = 71\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = be11e3c61158a256711d0cdf54982d7c76c025918e29fbda4fe4f65363bafc494e57eef24c4571ddd277664c48838e88add3ef9daca684033981f3be31ee492b73a7841109c1061f19a500b284984ff82cc4510e4337b068af676782a44daf7e450e4eb60550c1b568ab3003ce65d3785c0bbb654ea66a7e1da20a7fcac054484f22336c7e88827d5e2d7d6f7acb7fb28801a19da4701da89a5ae37554a89fd6c47c08a37a86a8487c3a38ea30d829535c929c35af32c33a57a4faf4665c1595302b807e48a2025a6c7ce2e62cce29eb589b02afdd1c57db155a7227462e8a0ea56be1f1b54d5dfe0e91f54a2ade3ff42136176d5499b2dc26245a12719c1d99\n\n# tcId = 72\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 36870d60e29723c287ebeff349a70995c12da19fd4743cabe3672a093d67ea3c842a4539344848d572a295806cd0e94191deecf58078bc08c7262a57c6735103c27e2af9bba24d317b318fb22563a34543faa65a0e066e6900166ada0e296ce7ec10441cf4bdfcc158ad35bd9d33ab251aa0e71fd1194a62fb92bd879cbe7e893ab1454dbc96336aa6307d8f18a68648e83b6537c66b85d1d9db7d184ecafc85f80eb790f8b22ddb94f31b960b44f0d9741439a7a1208c3cc3ba3a3abe57c8a591cb0c7e43addff0121b213c8158def18c386f8d3f550dca07854233a69704d300fe32a7f5b49cb31837c1a567940ec6784e73675b6dfc67e128fd05a7415d9a\n\n# tcId = 73\n# truncated length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 6955b0357367868764cbfc9bfa4a199669e7cae1d50623fb7b5051745f4b7314f49b155ea1257631b613afef2aacc310407777a4f634e0c83816735fb25486b90eccd4112be94287d88548b0b557e63afa05b3fdc087f0bd78247ebea1d39efde119bd32bf6bfb9a0b8d23c46f4c05c2a7725b48f89e57cfb42ee24fda6d96d2702a20bb4535ac39448dfea082272325879c6048064f89d607e28536d7c91ec7b6c5fb2eab17b90abf5e90231795b34ebae04beb2e55e2cd95650020be20ab86fe181e6895248e5be081f1cf56c5e9d8f3d09343942d45167651b27d892399f1b2fa2953b2dfcd7ffeb8c22f1b94a1e1179719fa2273569698a7979af6d42bea\n\n# tcId = 74\n# truncated length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 0a322d5fabcc7db50a69bb20124f79c7cd177c04ba2c788d694b95af2d7ab2fce5ea22171fb8d7c8a4041608eb3ac69472e52f1cd43ea15d911daceda8ac03f6d28a9569a17b1608f46f576fca04738b4b0cb0a9eba921d70fe3a952673840d0a7eb366cf44cc2f4bbb1e251a27208a64fcb23394358c90276ddaf83a1a861bb624035273e5effeb30f193bb7ebd916eb6b878e7538c0bd03a273df3f404ef519fdaa3fd09e93aac0f67d4b2a3a999e29400037ec42fed904a83adb3f4464ccde14dc0b9b9e28fe15d1a43cdddabfcb356c0f46fc05bc06e35797449cbd9e4018959557cf3d285297cb0e6c454f20cc2b72698ef52a8da77fc576d9995544d4f\n\n# tcId = 75\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 515e66684a467276772add2a9dc4ec8ee8ea0107e3443cfdd62d04eb8a4788bc48c8ebb9c0399f72ad280b6f370085c4461dffcb6656b407f2f9e050d84ec6830c961ae9973733c446fd17c89f0500e07ab8a94d7cf9ce2bb2f2d965c68b7ec9278ab7155b21ff96cdf6a9524057e00e57e3f4e8c7cc1a2b21428cbb48b2eb54896d6352438204e768c81ecfa1f435f779ce0369b5dcd817fe232ec288d87bd9d0344484fb25737686e44a408ac71aba41731657b24d940f5e3b921d9324f83878242be3701ad88a55d74dd78034da63c1e0b91be43dc83f7442c0d290b5c08dee9ddf0c00150e041f71423a927c376062d88654211cf374256ea72e1a4e5a27\n\n# tcId = 76\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 8666aab5c3b817e15f3df3ae71c28179d4b5e29b891a82b031ac30503962c6b177815cb5c2150f4b79ad1f094d29599de873f92aae777865d39306aa67864b793199084b2a83f922133a78f7531c5fe5a55055b0f7422a3b304130b0d661bff1e7aa0ad38bc9d8f17249971cc9b2d1452fc63cd6b071d98f1576448f1b3db6801a415df971a2ee4462508e57fb3d83a2109b1694df05152de9ebdb699a0e18d095010901c832aa4c1fc19fc95ca555e1ad55631a3b1c8ad265e2a240321bb156aa57b73a66a95dd5fe68543c4b0fe2558367c2a5930997a1fb0d3bf71250e529dc17aefd5de8353ecdddfda06fc80f76268b734294a60c95c853961636fbfce4\n\n# tcId = 77\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 019ef45cc6563077eb21b53e276697f0eb074ba5d6f150f6a8844a7933724aaff94c0830ead33a47a4e66cefb1d26ad38f1be5ea42db9bc2d0db280224ef7fd76beadd2c297645cdcad42d045677c60d79a2b23eb257396e33c7ff198df2f55f2d3235bd7bb2c9cd6fe0f82f041ba5bf0efed42d637f5f71780fdd17de5c89c81974dfad4b80128954cda09f3217eec9eb7773ac9bf508ddeeeafb36e7fe27d6d8674a4b5ce4fe3b2bbca9f514d8dc24e697f4a429a363c87f88098afd652f906e42f35281f778a282fd7d3b15d7b244f50495944f47ffd5204e299ed8113f725b4a117b4ae9da5e27ffcc1f4b464747ab6351232ae5f18cc66552f333760f06\n\n# tcId = 78\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 1d8be49c0b9764bec221f490b748de4347ee8e7f55e046261bea4401084e16c113e951094e2480ca8459640e9f35f3f60d0328294287437bee3aaa70608000617017b9933431c8edeac3602aaaaedcb080d6ffe4540afb4c93e00f760e68a1fb0f767e5901d01e6768c8e2812fd3612fad0a9409e14cca7b28353edcb116355166dd83ec264cd1ac5c1e602fac637efc36bfe7f28b86bbb65c85afa67d3ccc6a15099afae5e42690a6131ff58d8e83d201b9841bcbcc6e52778bd41b1430fc91076ee85cd4f6d3b2c1740449c4248850164217d4c631d1ceae8c970a52bc66cd0d15534e36c461b29136fd05726f569ec0532925da25bcfadc60d4dd558ba028\n\n# tcId = 79\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 06cf945a6ff49d0e0cf62480645b66e1c948ee305c68d785bfa7bf42b13d7e0afcf16cad0e7bf9230dfd18260fb3b4f3cfbd0d41915d05d1971664d40412c7a673db6edee00fa54db584b3a569a33afc46461226fca210c6123e6553de2cf7346fda791db011908a852c31b5231f2a9cb4d64a5fd26d55a67f2b46acc3853eb2958e9d46cad3c8c5ae4ebdbc22ade2076c5b1fdd939122a16f84c03f3688015e697cc37556a76565d99b81a46f799cd2ebf504353271f15c5c99963dee0004da53dfa62aa2ad09794d8e2201df4c311fe88d1e09f56fe8dbb31d212fc559d84c1fc8d7a1b9287d8b86e93319bcfd1e584615553b06ad1436dc9c44e0dbf4fe29\n\n# tcId = 80\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 3d5767163395135c06d3c13fa30c6c7e72e57d2b7162f64", + "19d2fe3a779ec76383dbe8dff52550d17f6072d98caf7bc52d64260ce526922624223d1fb4745eb287faa3bb495bfe3af605acf2a1d285f251cfb1f12edc6fa27a3a2f0dfd50bba0d535b192be4bf61de4c46e738ee26e29ae8594af9b2ac8efcc6fe2094411c6f241a286fac72abc971d358757ae41071ed0d97f1c151aa967b484a10e5ffd7d64215709e51a386dc9a0068024e5a6686aba0eddc00cbd31cefcf4fc909e82b6bb6445baf0f1c7903cacac5f380677564f0e75bafddc7fe0e6943551b6eaba903cdd7287edffe727ae9c3d2f01f9f0d624b04b70bdd7df81216d4297bd8fcacb2bd\n\n# tcId = 81\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 14d59221398d46999f85f2dfa13357d961d3aa543519ca0b5633541d451977c222c07f6e86f67c48eb0d318c8553b2b5335b43a1e66cabb6e32a4644a5870d15ad588eddf92d7ce01c924453425af6acdffbd2b1a6eaf40bd5e820d1e0f12ba64511deec04430cff2fecc09925c3f21ff7c6ff8bfd3048ebc13f4ef9ac3ede05b9627ebfdc15f871537484b6970dcbd801be42b5b6190e21295b839371216b1b725cbc45d9cd922bd028069546a425b219496b3ee9529c4450a4c69bed7dd9cec20cc672f1583267fe266d84966090760b04348573f51b3cd5023539e3e52b95e0a70912d75151e027751f70876c602db33d3dfdb9fc128d1086400d8cad89f4\n\n# tcId = 82\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 86b785bcdb48f290fe8ab85c6edc25ed429f7b1f89d9202b828687468870e2f1e7774a35937ea128f615928779e30acae33336f7ec3e3d098dd3c6a81177449e347ff991b37502f34aa9dec89bde524a79c6db7b1e72c412a88904e2b2796173f5529220bbdd96615a5088087e21dc32429785cee19a6eea0a2203829b00d3b2feaecbd5e9c01be264e8170e4db10060654dce2b60e080048e45244b4a8d35204fa09c40bbd788eba9a6cc14ddff3fdc5c5dbf3f4a113cb399db8e094ba126acd56ddd2ddf1d7b2d7b7fb17eacf1938459eebb3cd68082cd56e827acf9848d003c9e610fd688659d85e5481e35b9ada0818b23b926229da3d915e8f43c5ac502\n\n# tcId = 83\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 32439a388e0b4c6896ebb7e82edd928283479e9c18e2401d7b6c8a0cd83d3cbecc226832f804c84a87226db49ff3722a215e6f496e4db097ee465b363eadc4b0f4280bc00710ab393f3b9560c0e4f5d5774e1aad7f4ad4e12e323d73d5174457fc831964a13eb533ab3916f866291929bc35e8a8847f334847d13925040b759f73c037f3387a3c3e042a617a9b1364187023dd291ab5133aca58c68d4e0a89da58165338f6b1ff72a8ab045cb6bdc7d3660954e78473498fc5fa0e15d61797958596fc12b8667ba96ccb7beaac8640d05fdf3d2218817abc8c49875d540b698ccb12baffa1bec899131d2a901c912ed898fe61e3222714f837558eeddafdc04e\n\n# tcId = 84\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = b97efcb9fd44880345ee6d3da1ec769ef30cae441a66e265942dc06dcc4c7f83240a69bb8f71d8b46e741b9e5c4e04f544d6acaa8bbfcf2b7a1c0885a2bae953be9f8c65c0adca369d38d38c55186578450c327cabc2b7cdafc6ac81b684e4be0b551f4f28ed64fe168d7dd9f093d61f6ba0425023db543f423bec57c19fd23f1a06e466da0f37dd2bc0e40f956146dc413b2f70be0869a46e98880e9ca35fee6f217c0e8baaeedaa72a4b6e56b418b68653c8d5d7c4343561a92f9d10209848c027a68057f2b95d782867dafb5976a246e05665bb24bd0fd80d8163d3b21b85057995e841278167c0119fcc2a573c7429b03b41b9123a24cc14e985e3252fff\n\n# tcId = 85\n# Replacing sequence with NULL\nmsg = 313233343030\nresult = invalid\nsig = 25982671d48a929364dbfeb05687bb49294c09750169d2488b12800e3472c66ff6add20b39e78191b463ceabb0a99f5c7c7d50686aab34cee4d89691bd199eaf0b5fa44e05a000dcff189308be16598387e703849f9b3abdfe76db86a9d585e53e0aa2098260c5904ecfbbe2247ad2d3db10ca7d2fb89b6aa13ef1b0788bdd5d7acb3e8f04b9ba1f5830d7321ade28297ac6dab8dd93a5d31c8c97055bbd3b2501ce14aabd5641f5a24cfbdf8f0aeb0bb647048f5b6d50eee76e4c69a33252fcd7bb5ceb259edd16e05c7df3839c94d9e847985721d54e70ecf8ccc478e8b752b2d4732cb5f3826ddda48656ab1acda9241ff7e086c1dd05df22893e751080d5\n\n# tcId = 86\n# Replacing sequence with NULL\nmsg = 313233343030\nresult = invalid\nsig = b3293b16efea3754fd133e9f0306f25a57d038043752d988dd7c64ba892cbed5ed0eebf613388cd5ab76e4bc6d1e4ae8df39de88f7b390a1aa4e005182111eafd6900f36e6e9fbe52787874190de9761196305c37462175fa119f134adcb875eacf53b368e9b359b445846fb969938fbbbfc1cd44f616738cd75bca4d400a400febaa4cc806b846a127cf771fa2a1c430dc3d7d41bb916c4ee703797338f1f097788f1112a90a35c13b2f6c90cdcdfbf9eac9861511ed65df92bb219caaf22b51e020ba55f38ed2fd99264fe6e7fb3dfba8ad546c726ae24f55886ddd008bec82fda0fceb277c214290163666da0154a8655ff2dfed63e9df5f4b42731286fd3\n\n# tcId = 87\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3034216d6b5111f1f5c265b7cb92ee9f677f7b19c612da92e6fc971f99643b692e540198275d798030854cf47ab6921403a1ab84c55760f46aad6d143a5537d2f2bfa7ee0c5dc63477f3ee663c29118729195faa6f99235183454fac13d68b78e9f41c576acb6897c56f0a5dfde4ec6219b059eec46904974532ea1eda9c12e4e8b4da740b528ed0ec95271af740a576e49155551c87b5091859ba4cfdf70d2b339b4edf909f9ea575878b8846ab4be3964ede928f366aeb6f08a6eb44177150ced1e6c28ce3d82fd2b5237af2b0f4fb155000f0127e1eb997c073079d97b0fbecd74d81e1975cb06ba4f931788f991e39d04da6502bc93fc3412b8163743f3b\n\n# tcId = 88\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 6d3796e0e3832cbda1e0366bb1326556cca7fa8096a2ea856f6960e3eb9e3a1acb4e4b75ab69c999fc8d03ab242d6cd9f1e15ea5fc7ee1cf15d9ee259c2c78b387d9aae6d3d6c1f73f4e539af8f7500ee740cf7b29d89569defcd49ec6f784e81b0bc4b12c0e3c8dc5ef48e4d3e42962b55396ac9f0eba18026eb9aa812273070093d0093b60c8527b9223159190a0b8aea9f8d478540ca9cc2e5590e0608574f58fca25269793dbe42094af262a010861deefbf984fa9a93cba3b031c6acb1134aee074151e29941266de21f24deac9d34b42f77de53efc67e926ecfe03f5220f299d9e00b715ac5798a8039f53b431f1cd3955f5a3fac9d07840223bde7d43\n\n# tcId = 89\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 37eb891d215b391350327939bd9c922f11cb40fcc9a68ea933c4b86e3a2ca0ac94d80015f73ecfa1acd6d7969579eeb154deade07125b2bf42adf9bcbda556b2fa105caaeb645800731a1f04152d481965da98fcea4c42b19cab22507797c602c4a8903179a614d2cfe81c3c49afa87492546912ac286fac82284619b396b1f406a0859bbd3fa2cb5744e1087b057087974c97af5d7df8043bc883d18ede94a099a34b428ac934c91e14e73e328f0fe4d016dcc95ae751d270ff817f72ffadb4ec41c3b8e696e8e4fb3096847a68667e9047d96d03b980f7723767a24d79299cbaa6e4c1ff2756d988f36208e80aed3186f3ad87fd921e0b5ddc4a029bf07b40\n\n# tcId = 90\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = cade4d820ed0b583b06140ad8ebda6e3ba802b005d62b00321b147d2a5e0291090234d8c023a937acdf269b073d8295e6252773497f89b7490a9e0f5a76c0552f4d4c283d6b35d58411810fe6fc1da959486571c7a40d44dc37f27c9896f53160716291757f14a2b5cb601ff65cfd2a478b3d8fa20333dbd1c067ea910ce99eeadaee1a3424d5877b3840afd59b7bd1e063a9a92e89ccea7c7f913874f635d22ca8f4545a2bef2420fb006d3d387a5ac6288138f1589443472a1d59ffa08c9494f2bc7e9e1ae9678979f910b0990271d0d45d5deb61ca3f4aebc9f9045bc354b65bb1c1440d2b5db491fc78a5417e90cd3629acb6f22fde793c8b772d34d6ae0\n\n# tcId = 91\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 1a2e92ea0bf379ec2d3931015bb547c408229b235b43411aae19b53f8f622326bd262dfc49f76adc486950acb19590d6d1a7be16f97ab6c37dca120e6c2df141fdb985faccb249330e415861521f909a8402298052c176454a37dc6e2f3116e254d522c152cce91bcbc8e47e6ba230255505c0aa2222b708efbea0a15164df17f9d3b23a89abee1a67ded1114e7d2cc00d937773d8416971974b7266a7334cba41ed4238cb6b41dcc7160accd5214a6cd0b34f9d885ed00d8d1939a06148f0e1b47703607fe916b96520a2776c27067de2deb24440f005c7dcfc03399da62fe3d6b00fca9cf0002e00e76d4c8de72d78b62f43c5e4ed142a01676c723ddf9c6b\n\n# tcId = 92\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 5714fcd88ac9f0369bd6d0d9478f2a94cd76a53f8a8aba492b467ba824476f3f66d91023fed8f34743ab4ed0e66f8004227081d4660942bcf1fea86756d2a8f97b38583b06241474a1f253976cd13c6482224e77978b14f3b708260445f8e51dfc0f46c31d15a9e37bc69d095d8e0afbde7cbed7ae0bb294cf3998a71e4ba8dac4f73b6030be531d2dd1fdd41e10ff03250012e80eacc439cf8db4f8ecea50b22cab2587650224bf35eadbe213ec3553113c7215e6280065df3b5efed6895abe4f6e7a8ee602c79a1c5eae0cc2a18a9d18c9718f90faab9aeb22f8b585105a8760c8e036b812332934f9f7e53f9aa2bb992cc6efed3857d63a901369126da197\n\n# tcId = 93\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = c8a017f13ffaabc7c7bdfca95ba2035f59d9300ab228b23ff1b4804b02bf0de71b0f4f830fbc6f76fe471e1c49cd794f1278b131773ca2861b4a3520e7e303de781cd96552e74ae1308f2fa1b39155ce86064b61c21acbc81e2ac5c980b7be90302f70e1c18b9604a493b56291025191449d77e4f15f7debf5fc710d84625800cfccb9350d722088cc7a2d9db148842c3480b28ecc2a683391525c395886d03bc4859867201547c930a344667ab201c3ef995f1abdd110110cb5be9b0b15721b53f88372cc15d763c44ca9654513ff802f661f", + "11d97df65e74030a78707c3067875d5c3a00ff96dd94b46e5cf51e0b6568936a2f4986defa345514789b37e02b\n\n# tcId = 94\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = cb359c59eb113f6bcb7dfdddd1152c4292c7d1fc25341b473100846729abba798fb09819687294f173cabbbc6fe9db252375a8b1202d826cb89a5bb937577d70e4eaac761fc95651d17afeb1eb07bd7b948d41d3dc4dc1bd0646e61cc036502e0606d9abf64e4ded36f2e1e52f5fe7f7342b5b3589b9a66b60cc6421d498d9236b6ff187cf494740c507b552cc836494f53820f3d87e0265f52583c02354c171d619cab1d34e27d528d0abf13b05497c5907fb0c111e805649b221ab50963c00f652488c7e9bbdc6c1cd1cfa06a7c7d021e3b55e00d6f7ef2b686e79703137cd1291932d592e6069201fb1cc6e35af21fb8135e3c1790e8445e250e6d0ca6d75\n\n# tcId = 95\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 05ada827a4a19d8215494f01efab4061580775395f21db84b8e2b64b0681fe0025b53e9cd6fdc7742055ad4d307e513163bebec155f8cc20b020a875c64e9ab8895da3ae5d971d8b7e4570b75299509c70e28de4d15bfac44cfc4417888605a0c7cfd62be3e69bb5dd5c410e1dacd78d198f13793cec80bb7a9c85018a470734c2d837e537771e3bae6552a27ca8c707859118b8ac7a1bc09530b3ecd5c5bfcec96c48173d41f8a22bb54d44d63dd386e43039e71de623fed5af9332426cf1bb40e556e1e197938ebecedfdd47a0dcf377fb9d7e841ef4b9d9b8184ed80dd67baac8799ad859e81db28e944cd1f1c709bf993c8726dc1a190143516b37b59d29\n\n# tcId = 96\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 75fa983332db76bbe79b6823e580677cc03347f703d4a1cadb49d2245cc0d21c130c6945e1df1487002e4737d89fa022197927bc7db86f3e6080d2e26ddaf0f37adb4500c4a91d4d6d5b9c46b834a2f877c204cbea225ade81c628285c788dd9181aa695c47703200c5c267eda59319f5a54fb72b24f99199313e47156b0509f47a06b3fd39e57f0c810bc53bfc8f44f0785674c8dfc47d6698abe852958252c9e3f189302f686e580ec17623e34137ebba67319f2808f043b1f65901caf5a752683086d96785afa202b3c64dbd06867092f50246d5474354f83804071690981396f6ae724c39ccf735b4dd7434379ceb8ff668e42a07835462bf14d4960aa64\n\n# tcId = 97\n# dropping value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 57bd5678dc5adbee761fd843b8c96ef7bf5eb0c4719ab1cfa3f68d282eb20f87b5f840527451aa6ddeefdc430a4b4ec39448cfc228f967b1677269dda16ad39a6c4dbf4e29158a0443b70bcd50b9dd343842ccffb4535c9bfc0f91fefdd6be0ff7329c88b0318903c43b69471891af657c4ad05d94ea2aab5941fe18c2ba4affaeff14a2415b5224d97e9e6a928b26be6be0b166db1f5d238684d771011abd91c919b2f4057c2e6984a72c348c53d14457664e586e440d50d67547340235709cd4c61ad2a47b838832f56e0c4da4121dfccb24d0be397010a1a33be0a1fef8289ba04240aa38ccc92be6a1bca24c0972e89a5a7ab9b5ae57e5f82ce4ebfb0ca0\n\n# tcId = 98\n# dropping value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3451be4229f5b37b25aa33555aef36d67c692fad8810fae0f0763058a6c23f6ef659a322b36ae0162ced9855ac56e1a216a0e4806c48000c4c01fd75e73852a157c58348939df553de427b02a0a907f629d41f1c2d63bca132b9abc39edf4e313cec60e8b51c5a5ce44056b49f5372498f6a25cfd1bd36356609fd93d388a184fa4ad483592f27bfb36ea1f1c50943c08313927fac2ecb4db5e512d9c14f419373461e1097164a329f2f7d9febfcfd38392ea4b15a0580570c9cb974f347a6e7f28d5d9e420308fc90966d9e8bccd657d5f854415d2282ca4056d9674d405b5f4626e43d24ab8041f06f8a1784db8518c5d509fc3ea63fc1da095b4b9a2f7bba\n\n# tcId = 99\n# using composition for sequence\nmsg = 313233343030\nresult = invalid\nsig = 2167425cab3ee4536d87ee3d4ec59624a0f8201bc2e80dd626aa4971e34e001b9a511ff8069c302695aed83d82805c915964861f142fc629654b4f864464314cab4f669c60dafebcda0a5de40bf7316b6ddb80dc450497d12be8ef4c03cadaba0785517a1bc5fe8cd426137e55387da8eed05953e7c237f2d22cbcd8cc96c4f985b7815aa6f96f766edd73b8a8475df50cf702739d1921cbceccff437d833510c54f067d773f4e796c36a4cb07c4b8ac0736438d465922dbd4ede8ae66b0a7e1a97ba971fddbfbe698585f302637bebeb82ed3576d3e2e102c1aa5363fca6854c0e980ac1c1511eee034d6484aa3aac575aa9355233108aa2820ead95518fd6d\n\n# tcId = 100\n# using composition for sequence\nmsg = 313233343030\nresult = invalid\nsig = be3a05f0cfc1fa572a6b54997a7d827b66848a28f11323391c90ca81067a73d99c958cc01eb373c7afea800ccdbfefc1269dffe16a3d88640a33d7fbdba7961eb1c61ae50b70a9c885fc0e127171cd0405fc2eaffa199f71511bf4db1e9fe665dec1edab0f4ec95f03c4387e5830a1d0f9da5a8db55ba609b70ddf1ec18ff54ec5f885305858890a96e1056749c1d97db37951362ee1cb64537a742017045946dbe70cc21d7fa424ede6959581d4e927253defaf901588bac92accf04b898ecef2fbe350c8220c115ddeb6cfd9695e9e868fe790c8a8c803099b9b0b980d2fb5312ad1fcf7972f403f62a3a76d00941823deea35e22f11dfdf5d2d45682c6cc3\n\n# tcId = 101\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = a81eeb92109e7cecf7b53571c8c2713328df15c7770556cc39257a081fa1d4ca7676a61f34bf53c178265aadfa1731bcedbe495d95c74ca18e681b3590848e92f244872e59b3a2a729a2dd01628fe1e3e71ccca730a35c50d691d6c220755f13942dd6c73774d06b0121b8edfc178c62b8c02b6c6fbba7a4741badbd7a4c2393a8ba7173ee6d48e8e8890f633f2bc5d95dca0bf266424f6088e12ff9497d9adea31d2ff92ab18fc8570379baea386e42596a211d5a1c644b61f1fdabfd7867f9632baf2ce83953ef8dfb6a834aadea8e16c122040a011eda52e79b0f4813e061ec40f39b0f437234fd99431d0a7a983e097b5a7a39859b35bbd97639e8c9e28a\n\n# tcId = 102\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 0a29a84bea46462c60784fd78c3d48fc86c582abae789e838032af05d6db8d2e8c4a17aec7cde389ce716c7a28c6367a6851912a69188e83d094a63e88cf99c4550b890e0b0b2781c3e0f859cc3e066427002dc4628eb754dd75f9ec842d57cb1cb4f67aad3bbf6227f50fcaebe6c89991e2137539ff75990d278c22c933438d5cbf81f24984e491607b81901cc89d4b2268d734060e7512a89e107c534bd430cc7ca867a0c57a103428f8b66f7690927ae5c2715b3210fdf1659f6775b49cb2fddd14c999ed2b35795615945456a9945ce70e80649393b278430bb027302029fd5323b7c99bd690b70579ce76977bc692a4ad5babb360b8c8fc614330889b4e\n\n# tcId = 103\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 9bf509a9472d5e3d1004d55496699ace2d00ba5a8f73e9a13741efb47e1b6595beb4fb733bd48f48904f9831bcc51595aecba451798331f6062b1857d5038d30f73b203f0bb90e30444fb0087492ef41e5924eacbdbb3f2b3be9cd9d1b795a1c7c8893223e6bdd7876c175fb608bb88b51fd34e438d7d4d81fdb83b5129b8e5312cb3cb65fa1d36d94d5b7476d0716ba8fe6c24280082763a687feeab79feed1f1b1325a715a168f70d636260725a54b9335d973475b9048a7c8e80e44d3c02742f3457a36f79fe0f6d3c5f8d127657bb80426980e531b41f81ba4abbeab671e2f4141078cf4913f3771af9a2d65596de96e0d902b21530dedfa19ab3421648f\n\n# tcId = 104\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 5b2ba41ef7f8b67a78d06b95692c3dddc1ec72de45490218e4fbb752a384c0e6edec0ff17cbe705a4d8a88edc9492e30ff333ab2c42b2cddd11eb891c445b5c92bde01b8f04f0285ef6875234e888d5ab89fb82e87d4e15b48462edf22f6b4456dd96ce95ecd7cb4e7111f06380ab525dd7e8394204d2998568b2145dd5b69947854c5a571be5c728cb7ef3cafd9ada62ac6e8d492f20f82b571f5713953f52eb1fa14d703529b15e83697d8fb4f4e01438ca3c8a443111fe16167c34eb87ad635ec056558e7690660fd5eb39ee884c8f30143d90aed4193af09d25abc0c57af603f13fcc3547d1dc5a8303300c2b413862127494df8f24e4f75f12effc1ad2f\n\n# tcId = 105\n# indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 5407f8d7fdbad61526ee472638d55f324f991314cbbcbc9050ad1421c8c86aaa40e597ad11fc8e70af0a62a8218bacfce4818929184fd16dbf9023425fdba9c3c3ee85f46a59b2b7c7757b4fc565519c091b81f3c79ba113c6d76faabf28bef3216cfab8d1187c6fb097acae283119aa57c35fc3d771db3482e52e6c58fda3475082a414d8d332808e089f1ec5aa516ee80795c9ea2235341543f802687394afe89f34467d3cd1dc14204c293734beca19fb4008d1d44983ce039752a0625687fde6d68c30a94d12e2ff2f7b26261044cd1c2a3b5d5fd3bdf53dc2a0ff2377a9d3122a9434713e18303844fb5dd7989ce034c0e2ba69cb758b371fb4404c0e42\n\n# tcId = 106\n# indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 022187aee485090ae701c8de7847b65b217eb269a754ac57d34737a4d934bdb2b8f8974dc13241a23f3c910ae5cbd693c3da38cdf0a4e628d6f3da2521dd1a376182bd11b1404645b91a0c908e2dcb8daee6d361da2e847d64605744de19238495fd8add47b509f2bac0883f711032b549103665c6d7c67a3b7a0506706960fc9c1a104d9a7a3c8cc8532a3cdef1ea0510a6b39bb1f6179e3ed1a0b13617082704302f07cd839a96c27fc55ff8d78d14c865af15fbb6c6494f79a0d248675b7ed33e70442182745dbab1b8090eac72e498e3aa9c3df7e593a975a53ba900659c67eadda2f94a979376b2bf145feb2046136fad77a0c5f79f08df8055552f010e\n\n# tcId = 107\n# indefinite length with truncated delimiter\nmsg = 313233343030\nresult = invalid\nsig = ada586824cb7f29d820319c18f6de5b3e7fcd363b030e36f077bb6fc4580e5b225bcc87ee0d69bf5d55ddc85e01d7044b4e64e9fa678676b87df06c0b995248bb713665d308032220e327a372b2785d561d9df922863392057ec947131c820a993c302976e86a8a1155e18449a52a50796369f178656b2ce1ace9e267d6f58475ab2f3", + "519892bdf354ecc74c8185aca0fe53f7c5fbd1c69d61f50f80d9c4d37dcb801195c3fc226282efdfc1102686b93f06394205ae9d9f203a6a6ba4d5443cb760304ad7869b48417ec224d5d039d5ec1430b8e1064d83f2abb7a052e8256c281daf7d230e475b7a1508e05761abeb03c367ef86e8ed6ff89fe0619c2c8aba\n\n# tcId = 108\n# indefinite length with truncated delimiter\nmsg = 313233343030\nresult = invalid\nsig = 18550383f0fcbaa1133739219314695665aef19ea2e77554e961d88b1a4716391d56c75a5e904b9d793756777a9704c6d9cf5ca90f93b5ea673ea3e69d493cbc2c2d2b0f90c7a07f2b3d1897220e3e9a1d169127859630dfbaf2e67ec56f170bffde383cf0967b927c0453d36e31575757dd3a779ba5509fdce73a32e72162917d7c7b301fc5092befa92ccfebfb9787b05591caa008eedbfa4da84c2ef8035e90efa01fbba43c9f1abcf39abd8beb06dbfb4bfa1a8aab8c55dd0d4c1c88cb151f5178ca96f0391875f3c8d1efbae9daa47658da28f30209fedfe12707263b5c62c7321423fc1fd6f835d8ede374a6236e6306bb3d2afc9b38dfe445dfa80058\n\n# tcId = 109\n# indefinite length with additional element\nmsg = 313233343030\nresult = invalid\nsig = 9228fa494de3c8e376bde392e9afffddb85402d73885e0b32a9c98b8426aa4fc3ae7a1fde93650c1ef47f3c82651e63bf02cf11983900efa569dc78d8344f7da3c3c170733436fc9830c3d185aa47782bf3c4f3e01008672f29220668d97ec664cf5a591279783e248987f01186bf3c6bdc21a9f76a85dae40267418bb912281de09bd342aaef886593287d2b6d5bd1184d5beed3968ec370dba5d80f251a1278246b374248e30db98bc60bf5bd90328d46c70bd3046dca70aec994a3b5ec05e8058e581dc9aa3750503c991228c2c35dcb08bf1b8d447bc5ce2ea970a4a35581c6ed0f0801ed8692f01171764ec858c86a79e15848747ac715f892412aaf935\n\n# tcId = 110\n# indefinite length with additional element\nmsg = 313233343030\nresult = invalid\nsig = 36c4dcaf9327cdcbebacc2d46a54483255d6a3833ae0524cfcc85a8f5418c1de595a66eb6e71eca1bd5c72628433b11f04d6d68949f5cc693771b5aaf01798305dd1e123fffbeb7d0254a1c6b37441b8a8eb29829b97ec99fde20f62858b7cc990c1c61322efc8a2e1217eeea6c85705dd59e1e80eb76d31ad9f9f4490dae284b039adb117dcccdf5da86751de5f79203f2b2a25ca4e82cb5ed9aee813909db9875dc2c0f8391d34dfd475e8cb69687be798a3b041796f91bf85f7a8de673fb05b96476b0b501d75417bd66eb53cc4c829e619bd0444935d22a5ed5dd9e7bbffda856bb81c8566e58939dc65a1ac4a07c75fd80747acbd08465ec98afdf96ad9\n\n# tcId = 111\n# indefinite length with truncated element\nmsg = 313233343030\nresult = invalid\nsig = 33ace84b69defcd8b54d67a6317b955534f47b6e993d531e056080498562772dc482bd19fd1a259aa38ce96d89680ed03e1c90907a48df1d6325fe63ea012e92059e29348d717b0812a46ea3597372db8fe031882d734536fb65d97d375a3ab3251740374958cd0e79ff35d17f6dc50c8001b2a6f2c3f3ceae9a6c81dc4f4eeb2e29be67b151511424fb22253388c12dcb2040380afdd10b45f4660a479942f3e8514a2243397f959119b92a6d3359aff3731610896ed157f9e02ae5b0e37737c92d0e07509dfa38e1d6cc752dc903f92e81108641113b9b085766becdc05ebdb0d1bac35e4f9ce2f1078b1c94d53aff1f31dee828ce246df8bb88b25b459fcf\n\n# tcId = 112\n# indefinite length with truncated element\nmsg = 313233343030\nresult = invalid\nsig = 0cf79af9d40badad2cadcc2a310a67d01c5def46f2cda6f38dd03bce0ae6aa272213f7dcc1a522aa317cdd61736ac80000b1547715d52a9ee1b5475f6fba95e4eaf8cda1a77d33700e40b0c78eb108d75861c3cda19f4dbdb0e0ecd95d1956b1ac0a259f2296b8d76c744c1fd0c32b0c8673fd2a558297a212be00952c014a79915675cb2807ce309000eb6df7811869c45d99b6a2cbb05dcd73f3080f39352bb2492721453f3a957dfd2c397c82974c279698808b9a536c7addc4e2921f4490306e4f7f563b983c77fd377263a5fd1f65465bcc505e2ff31adbe9d365cc21df340eedadf25be258cdbad99dcdb6ed335216c03f2cd4d6f1e22edad45f154543\n\n# tcId = 113\n# indefinite length with garbage\nmsg = 313233343030\nresult = invalid\nsig = b0a01591483e3ee4d5918ee5c7d9308fa03a4228bb395e36801d009c15562a9e8169fcc5e57612666156819be8081e23335ec83f9f40195c9b164088a391dc7c2dbe96731dcf049dfc1c422fed5033516733a8511bc8694cbf68758d0ae897e2ec2dfa202ef3cfb5931399683c4d70d2a3e624837f72d92fc7d3f40f59c4356e304b770ab3773874c817c0f3326f11ee8f0bc70d1c9aa8e7212e07d236c320239ed31310979b333a13fe63fb0fe8ceaed517a83baf03c76702d1a11036d16fa9ef4968db2a728f630793c312ce76db3f8315f6e147a37c83a94ad76b0a657bfe76e75fab00519c7f0058948609f28816a5511ad09893cbf3f8b7ab439e57404f\n\n# tcId = 114\n# indefinite length with garbage\nmsg = 313233343030\nresult = invalid\nsig = 1c582fbf5ce5d5592b17a3f7c0cd981d8f254b55cbe4874f1f6e15e9b9024f1160e588af4e32b787a66984cd20d21da22e490e0e72cc309906a3634fdc7a32c5be07258fd2da1fb3f416185ab1aca3e41fa9faf5e2252df6c70c11d75db96b4cf5f7386f02b3a1c20ea54b56c9fcf3bfdc5c6e187c2cd064378e4d05ba2d1c92d4cd463d274a05bbc681f6f1e24aa268a25d997e78bff642d6ab0109f709827b6bc3e1d12ce8ccddebd22d722be1b77a5099e0d4a66f56e4e1bf11040cc50db0a4600cbc869d9392ff71a8a280353523663c2f93544a4f7f032cd8b3d3e783d1591225fe7f402234ae8a444aee3de34472c49ce06d29e09900ee3579fc990816\n\n# tcId = 115\n# indefinite length with nonempty EOC\nmsg = 313233343030\nresult = invalid\nsig = 4a42d8803a2aac418038951d24505add471ecdad24baa193f09b386e1f494de4f36d502f68a5c6da7834619e41c294d406117ed1f117be68dc81c7dbd52151dcae56c2e676030ea371d88fdf2f1ab54ea63d89697c248dd3c2fef0b4b2717b119e47f1b3c695f082ab2f765e8af9f08f25f25bbf7827fddd0cf01c5e201260f87483c19ce4d59d6faab6c4fe06b9d98e2b7c6f48c85fb3aebef1f8cbc01ccccada7543514e2c9509ce192d61ce90c898e50d8dde11d6fcd4387a7e5f66b439af13a137420a94bcbdd259c02f8c74c6b5eb1a6aeb23e2c07fef1884424dc4fae793938cd1cd440edc2260005c65125930599d2bf8313d449c7af7d691ccd48fbe\n\n# tcId = 116\n# indefinite length with nonempty EOC\nmsg = 313233343030\nresult = invalid\nsig = 731899116bb6aaa41c9869b6374c44874bedff493de631c222f8be42e8c71b30e308093e113cd3d9f208ccbda38de8c803eeb30b99e43535117ad655a9067d4d4cef98cacdb555222f3fa3fd6dacfa22555876ec5380ef8699b8ec4e489954a57412c37aa0ba41eff64b73b7b553257fd3648e9bc6dfa5a60156e3f87d9d44330144a58c1ce85a1e441a1fc675f80d3930026cedd0a78ab0bbf5169a7f71b2bc242868595e2b737c34f4c70cd8dfb8650a30a4c1c108d1c0e8a6a2de9d0ebf6ff712599739f33efcc675f91488e0a9e006ab1f51d0ed89c74f1b6001e925ed51e46dc4e23566b30105c36b5fa976c80fa0973d79c5185f58233b5949b22d6697\n\n# tcId = 117\n# prepend empty sequence\nmsg = 313233343030\nresult = invalid\nsig = bd23a5fa2e2f62538900629449f30ada4a1751021df9611fb528d424dab32560bcc33c4214a4a27804b62bae2182ba7eacca55700e88568d5b686a39562abf7f24a620cf32a70c8b1dc0d89b54824d7678ff7d1e94581b38e9f531d9fa6d18854e1b01d9fee81c0c046fd7394c3a87fe63e75788b70215063d75307be8b308cb655713ccb8e1416ac36150514ebb6d15b1617e84e7aa9ebd8a81890aeabfb2636446af8e4138b49cc85ff3019e40aee01afe6650870cdc633de081225731ea7ba0b446655d9bdac6bc0ef8991c0bac7d6fc9916ff89b2808e3ec1e266419c11ed5004c96cb27f992d58f32e38a765c1243c4be20942e1e1674d4b5dd5b8a0ea3\n\n# tcId = 118\n# prepend empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 389e8eceef337c7f1c956871f87c6ca0d8882fc2004ea5b487104a11af47dc0642f827eb893d95db66a4b9d7ad319c10bacf2d3cc853e301df6dd047044f6fb5ecc4d20b892c384d88e5c6e4a98305fd8c635bdbb245366853683642b37922dddf12fdbd9d6da582533a4ef5525090c7e6a1e1078b3004ca054608516c88685ef6ce16c034415cf861057b1d2d773c6624a769e9c129d0ebc3d1ca905a16ca3603d00afa4a85776b62a40e34e3798173b4f6a6ee40283e0403be7203433072f37570cab0d824254fd3fa0fef00f28f89087664db6f5153a12a7251157333b3523fc21f7361eee6b6c30ee4b88ca211c3fc867548ef112fcd9e352abb5248e4bf\n\n# tcId = 119\n# append empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 29ca8ec17d25a457668fff26917a33c7698c4d85e76fb2372d9d0b76142a8725b774e65fd68ce261784cd8317b6967ab787ffc5eee6fc64f7784b8ee1c20796aa8c5f6caaccd410829274c4f50e0ce318cb47180ec4044ad1f5549d2543bb3f9bdd9b5a5677e81d6b58daa0ff1ad9d03e7c7e68fbde0f2984b15fad6056ac96ef1faeb8f3cc77b406b51f57e2a6120ef733b244ae2ffd5d8f644cdf1595edc644ef678e81a27fafa278314b9903b5b61d5bc64bf4a3d19941a10f452efadc34be8305118ad3d699fab185e3c064d3a2d1faf7ad0c5713910df199e1e3b39597809daabea1ad8853cb412f51642935562b09378ec82bebd34191f0516b73ad1a0\n\n# tcId = 120\n# append empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 848cfbcdbc5441eee9c26d755b80d63134a9b85c5c0379edfe19879c17fe9d85620b06ef41191b5496968be05e5a3ea7e85bc1d463096b0e3305948bebc79b9f298fb1b6e68f8ce1503d297ae73760f5969de48840961b65881d21513ba2537f63bc9fcd4817471ba6bbb2cde3bc4991507da727a19af05a1c15548f79c74e1f35f15724cf0244f23ecde7af3a225e174e8d510de8f6d79ecbdc05bc1173cbb5c85c6ffebcdd27787ad9cb571c130d83ebbab558fd5bde3a406b8ebb2087717eda605c8afcb2e6477867311a065e859b094b92d9dc4f1db0aada764750b2c7d9811846fbd2cbf94e9349ed67130fc8999694c5fe57970e8597b87351896ee52a\n\n# tcId = 121\n# append garbage with high tag number\nmsg = 313233343030\nresult = inval", + "id\nsig = 03a6e768923ea2eebd5498845d970b29a7c4457088fb3b8a6c787478274514e48fdb18370c4b89b2ea67eb00f31604c18e2b3e75d792f64a15fa001ba9224eb36673547b9008a2fb3f07646814e776a7ff4dd5a955429d683be0702c934061d52491d8e02b12a7fecb11c7dc3e11aaa0ff9beecfef3281371d3301db400cf7882188d847d5e60fff86d9b8461ee896507b8fb3de601cc31bbe0fe7b529937dce5c07edde203d9f7e75816d5149e5dd7503d6966a40a4311c5f5358a90ddc0b81f14a8fa0933f60c96965dad9741195677e1f0c7192834745f961f2ed5d7955f8dc50c84ae30a2d32da9f61d10ebcb4bbf53357965065128ea33ed353c423619a\n\n# tcId = 122\n# append garbage with high tag number\nmsg = 313233343030\nresult = invalid\nsig = 2d36f4b2c603adf665b949bf8d1fac4ce42a78b06899950d17b7a44bc4e8b3be7395ba1bf7a7e1f11bee63e07dc6cb2eec5d30f471dc3d193383179c189935bbc54b3cf0e50b39f31e588949e1c8a2beaeacbe4003dc0ec454bc94b042fbde20c5087ca9fe0031b6296814b9389afea985cf76992c33b76b213aeb8d57777e88b4a43b822fc7ad5a768f395f0c166662717f3dfc25593ef7f8d14b5ec25956554949ee2dee3d699f067c2146e47d3c10c05d9d023c74d5f2d4b91d98ab63088e3f049cb978462b635f5771e316a88c5577a9af6cb0f887668dff729fbf0201cd8bd26f8165bc3072958ebbb24fa78e1d385d1ba9f62467f5a1a510d66108ed69\n\n# tcId = 123\n# sequence of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3067abe38926665352858a03b40f4855f4a7a02246e5743ed8a940ccb46987370cfe5994293feb16dd1fb67b60fd20398b7e807cdb5cd3cb617db93d40fb15c648a536c9e5f067ef31f453cba781e5b21cb0978cbd1e8a7d4a448c008a709863038085aa3d07bb9ad0c1fcfd018275169bc7f61b2ec885985243fc0832e892a67c6bffc2327521f03ca52db160ab6ee749090efec9d4f32c37337b6abc6bfc7c372d11715f2768b154ce53148ab5e303e2f7d1e096d981a3d9bfc38e4f6819293850b0ceb3e8f846e123209a0e62d27414045acde134440cf8fa9d8567a6468dce3591b9ea9464d3067ca093b916397a193bfe99fc477d0de046f4e27eb0adee\n\n# tcId = 124\n# sequence of sequence\nmsg = 313233343030\nresult = invalid\nsig = 772147f2242c1b2e1dc0c0237a976d8f872c4244eae1fea3c711bdf21d5e3a1a62a2b0caa65b22920c50d77ad5d9a0d052a9cb096549d8516c81ea2e5b20b6fd61582d31c08bb67213c5810726dd5ab8b6ee858045fe59a706f793e6c49c2b25d1ee4b7ce353dd0caa8fe87c162cf0b06faa2298d745161ff1cd950398c1b36305dd03a8d52f65ba95f1b64e6edb9a5042ba1d0f74d725c937c3f8136b35ff8de06499a2e0fdb4ee4826f886dc65bb876a59069d8aa7db3600a1cf064f5484cb7ac9997f597cb3a49c8f2aabfca953ab070255aa013071ecdd722944633e1ef218af418ad9fd06b861212880097463e66ce0f37e28d712690db43f88c5e90130\n\n# tcId = 125\n# truncated sequence: removed last 1 elements\nmsg = 313233343030\nresult = invalid\nsig = 4d669d1d6545081c5ce5972f539b6ab71bf7aac14f5c8d852b71339c76d2579c5ca9f6200b0bbc0287cdda61cd1ee20298227fa7076bcefe927dc9ff570ac41a69faa5af2812bf199f56f81e43390ac95370fed20f1aa67c286c3752b24842ea27affc6aa826c9e59bfa790498062f242c4ec07c77854ccb1e500845b2b654c4c59b60d1be598f016df41fdc9a20f4fccabcfcde28a08fc87b0b52875184a2d6267bde1e3a2d6a045755102fa994f57f2de147337bcb044258fbc04860a3c7bc8c1f49bc7773e368d4c4ddf677caf23107480538eb3d71ce80055f62afce25143a52dd822efa8b1a1bb1a14eed9e150f32a9e9a550defeae331ec31b35c99f56\n\n# tcId = 126\n# repeating element in sequence\nmsg = 313233343030\nresult = invalid\nsig = 90d4fa1a743289741d363634ca6b0ada064d3a5430271053a0f5ab8ebf7423d790da1c7fbfdf0d088d70707780f7d7a1038d5491a71243382ae77083270210703e0d9cb7ec8e94306be784ab81b63747e28036286079b052549ba5e30b3a38046aa7f1afc27dac3986fa53aede72cf226c96e120c52d1031a082355aa71a1b582fe0f8530e41e5d7684c781a142e4661efb3607fb2784983f054ddf3445fa10ded1a2898e065d732c73de5eef0c4a8a742d437136cfd269e82c7c17473b4adde9fd5877c8f2bd571e6597fe1424569922346c626c6cce8b16eec052fc13f93c3007a45b76927a0fb7b7b47089cd707c600d68b97be5c4208a531d62538264691\n\n# tcId = 127\n# long form encoding of length of oid\nmsg = 313233343030\nresult = invalid\nsig = 825de069a685ee2342da6864b49e06ad4491133c13a3afc046128442e76f96baaccaeeb9f03503b3665883342cff5cc6d1f770776f94834dea58260442a4f3d6d2f9c2866228c724df937a27b275d5058c3dfa87a97a19c852c322b0f89fb4d909837e81761d2a969e0491ffd9f8a2b583cd0b94e8a7754534e7e4a6ee55dfce992920749644a369184325d2285ba0d542cdcac255a10b6f439672821b937ea199114555edab6a0faa55460bcb8485fbcd955ee87325f235cd609f9d42dc9f2c810cf418d5ee89b76b078e0def2edef994162fd7a3abc0de9f09d537b5f0c332d714d53b7da12a212194b8abf5e55dcc5ac01e19ce5c58edafe367ab74b89bf1\n\n# tcId = 128\n# length of oid contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 25b34c2e795257536b7064ec7564f71e25b230a80c82e49303a5db49af56277638b569c4a0fa72ecb38de137275fbe1c07375a4d044dd6d27a05166ff4e12f6a851f35b65f10c37017fc18eeee7d62d6a2b56dc2aff034682dadeaaa0b98773e7e3feb6f46fbebc5da59754860839f01580ffd86c6f600a2ae206cf1fc59520d7e4f048fa31157244c78fe022d8a9a57273240e0d5b6aa1cb77c410f3ac0a57e4ecc7f20f228081fdebae3eca917e16ab1ec5940ab5b10791a1094e46d0c244cd1fc2650ca1efbf0c5309080bd488e433ba0423451ba68c27223df02b3056f9d64f9310a8c2a71136ba0c0de6e151f0f84b933a7bcbebc0170d88d2c380c284d\n\n# tcId = 129\n# wrong length of oid\nmsg = 313233343030\nresult = invalid\nsig = 9aaa857bc84ee4ead6ec3921e00838e5b6e42c6cce5e57721fb87d0702730f4d4646407afaec4091f8a0d178601e227fda7f3870f1f08c10910f8a8374e22c1997392c8e807be0e1682f04fd3dde9c9277689306d9553a9f77d3076e75c11a3656da3275ff2c73bfafbb51d00fda238f370eef25b037dc299129578953f03e4ad9098d99d6e5b839f742eb8695dd10892da363adc2df295114bfa21990385b0724d2d8c03a872dd781c97336f630fd8eab784354340986c9ad0b85c94876acf3a4684c8ad31517461f6a2404e990b001be94e7b4f2eddf621ba3b38fb9207dd341f4ba64cc26d87eb5fa795fdf8ca0dbc2d90089ddeda90cf3aeb6d5c50ad9a6\n\n# tcId = 130\n# wrong length of oid\nmsg = 313233343030\nresult = invalid\nsig = 3214a13f2906f11141de81f0aa4df0af15598d6ba369d22d538a060a86d4a9b5b304dc146ebc8f5484601a71e2774bdb28213c3c2369994096346e64a8294e4a9147bd8494efacd6071b9ea2976dc4378a963192b8478446cf292586ec2f1e9693be2e136cb71ca00e1e358ab94e6335384b8dcc307bd4b06a304a27ab7e3d2fb4c62e903cc0673f720715ef389032150d341788e895922e78b835813c534a7c798d5d3411ceed6cb030e6f26cf074e39604ba51f4ef2c570424b4e3b64cf1b2bd96a4f50300094487f16c589f68ac2fb8a454f6ac14a75067b53537b290919304a7251601d8399c5106e528548e8d290e7a8b93ee9b711d6e75bac4505fc613\n\n# tcId = 131\n# uint32 overflow in length of oid\nmsg = 313233343030\nresult = invalid\nsig = 9040b3d077756b975a4152cd3cffbba8a607287390b7442f5be9a1962688cc8d59fae56886a713ad692766767deaf42d56dc9e5b82d04de243a9667db08b853bd83c69dcb6634ed3a3b41cb445d268f017375951ff14d962ab0d5fe0ab21561e009212222b66ef2f41ed74da72ffac275899a7c53ffcfdba65a7e153078a083bce6520885441349425b7b5d8e36a14b59153e56a701dffaecc05fc24f6b26899665e8bcd21e54b537eb738160c4674f589a319ebf16185e7beaa94ffa5727bd2239d8e97c9c5a700b463bd3da646c7615651a3469d1bcccce7cbdc5d6fd9fc08fb4465e94a81e60d6080c75c2514cf25c6ace920f9343697732139430ba4e79a\n\n# tcId = 132\n# uint64 overflow in length of oid\nmsg = 313233343030\nresult = invalid\nsig = 473f078276387fd47e73094ccdf297a08ee76192a9037ee222b21705748e4a43b275c318429dd49bb4287966f7e6f25d54383ab92e6fe2f524359486f5e5fe992633d496f245acce20ca913c81ff773bb82b104d85767b0318269aee9e8638dac6b6ef38cfd47c14993558e49cf1ceecc4cb4e290eab489f523bd9d3b317b9d8c7abe94db5b294840beb4e00fd5b5de9d469394441a41874cc2418eb5c7374554bae9bdf7043205cb2856aea9728db60994458e5a638cff09e4826f894d09a408f47c0b5a40c9fa2f9355c8d63c38ccb82f10c11aa37157583e2323ad46b8955510a0393bdd0586f27dec9ad1f4c0b66674235f22ed76144acdea78c62dfa0fd\n\n# tcId = 133\n# length of oid = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 86df04c72c84618f98459543662f343149a83741ac29f529e2e9f3cd770a647904b892df7b8c8ee183e893ec6e50a4107d958c3ecebedce2cc64b5761c415d75c658e185bffe27fc4608f76370fb30e91909b1429ae439f335e222f4e0d1bb9336dd37a43d151ef8735aad876c5a7a0ea2b952d8d90ae57d54cecd4aa2d94a953aeb0b9e2e26e4d856d3f9c664c07ff10356c4f071774f9e038980a04191289e323675f8436d49f989e91985e9c7f542835f8d9bf3b54273e886599ecc276d21b20362da10d486152972fdc086e89255846d263f9001d0de4215b694b35d9a30b7e7d6aebd171ba6f29575b10dfedfa746a998871dfbdf044453eda30088ca6e\n\n# tcId = 134\n# length of oid = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 43d36330d40291f18232c83119c692b92b70feaf4ad8739ed41c151259b53b76861af2cdd326383f31d51a6128e2196ce86bf6ba46c590f413c752e1e7249ef0d46ea00493c9dad0d02c65b780cd36f80abd0c3506dabbb07fdd321170c9ad345b3a522623d4a163207192eb0449c3f5776fbc4925cbdd041dbd5a32734e2d294cab33d66d7241c7870da2ed442c1b869c643f2783851d08877bedc5622bb4a1ed5ad7fc76e918790204ccc9b8fb5752d48aaba50ef8966c8ab7866967a58", + "cba44b9fefd0e3108103f6789a27df37e36b4f166f8ccb184b3d9fb379f449025bf5aff87466be512e89f2691f618e23470bcb7ebf487e0cbb10a8afbe0e33012c8\n\n# tcId = 135\n# length of oid = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 72791849c8d418b40b3355a76d99da6a6c19ad63b4e4580905876435fe896d511fc017cb515a14aed320eaecc169403431c663d2c2d1e82d8cad304c796a87be085b7f539604f0e35ff0c9e8e992d624bf29eee9b13f77063a67b2ad90a4e7495da4f43e1a3264f5433c404d3feac8efa6548cc2e747d9aaeb17efb8b3db0fb2243402d9fd07804990e64a15581493798a905feb1d6de2a7925f5c65658817888114d74299ac53a4364d947ae2f51c4292e5c9f9c53ded12aeb2b4f28a547579c1d5bd71bed3189108ca4d04e6836104a668a474b07f84c0ef6a165e32d64af083365127683c8a4dabcf94e69eda0aef0428afcd3a1e46db77151db747836289\n\n# tcId = 136\n# length of oid = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 4d758418e4b714e083924c625c09ed9855a6744ae56f7238f4c582a5e6568359ce4327de12a2a531186174d4385aa8772c3953d48a9e15f421397f073261f1d5d3e0ca8100a0d5110a004099d82fd691ed0a8aeb0d38f5d0f47d7867965b46ad3b6074eea0795603baeb71de81a64d6f744183b2707efdf959e1eff56b416f94b16340c70db18b5947ee5b382fcc6534fc55d3fd11881786c4af20f2bbb464e67c790fc3442d23d5bcf6bfd9f19ba07affad8d4bb6a0b1140bb387cdf78f06919147aaab149cf5493a18966d809b8a10bcb2590135aeda04617d4bf107f9322e5aed821ae412f5cb6085e549f967da0fb8f04980e5b0844f481ed1c4ad1e6274\n\n# tcId = 137\n# incorrect length of oid\nmsg = 313233343030\nresult = invalid\nsig = be284a4580761d30c6ff98ae37fde3d2296b1d43ed5edc698684fb57b9fbc558a4ff1fdd102c457cf7ef1c63b535c318b751c0833cd4e2ea712b46e0f8d4c174ac47c876918da8eafc2a117e0457733a994e2b51aae9641292df7a7a834710c196b55a4ef61287e350be24b8b80548090abdd904b94ccb4ef0ab5a1e50a665f8633f11eb9a7dfa112ae6a2e4cb0ab2d6235ce9abbd9d8ec2497ab4f2e48ef3b3f599b89a925c09ae83cf556b4f88e3a1387fc3cdc5dd2b51707edb07092524381acaa536f03dd0b84f3e81cca0b2615062b1b4c7b9d771e8ae6825d90e4b8ff59aa712029fcce72c71c6da889bda3b1b296fd6dfc0af61be421db66a3ee56969\n\n# tcId = 138\n# removing oid\nmsg = 313233343030\nresult = invalid\nsig = a8f6d6515174225491d4046a511493c1158fdb4590f5e8cff5a35a20aaedba28a7ad4f9cf7f5e5cfa8523e3eb7280984232937fa4e0e9e5e020c2080470cf86092f65a9fa47fbe4ba369917c6b9280d63ea0aa88cdb1b301182f3c69c501065e9537f071b5b3395867948c85b6f630863654742f701ec0a01dbe15f3855e1b112187af2aa6e28202dd4da53c404160ce82df5d74ad6948a8f76049b0f5933cc7c99c5ad40721af70275a2bb3b0442e6a438c78a28e611aedc1b3778d25d36c4772e1499231098ae3cc9e34e83fbcfb5f1db56acd2091aa13e0fc61b55e553347b79a479fa1499d35b1db37f52ba5c0ebdeffc4af547b21131cff55b8eb7faefa\n\n# tcId = 139\n# lonely oid tag\nmsg = 313233343030\nresult = invalid\nsig = 1553f0c13ef8ebea5eb02471f270d826d327fbbe639d97476faeb3033e00aa95ea222ace93081a6403a10ad39da25cb72620624427d16c42cfdc53ffbcf2c8268493dcb72b9ab20447998677ac6bbcd4c487cb0810810292bdd5dfeccfe10331b37d6183841815286660ef6c392ec12a25e26348786c6ccdf297dcd832327141038a8d705cf82851033ea65b16782ae911e8b876186ed93eefbab77e6d4958a903b6594d0f35cb5f7467272294e62c2b6b4cd22f91c1188513391884fa720b309d76687dcebe8c36fcc1a7788f26fb31e2ab3286ede0ae5bdfdae25883be3fca05289151d3977f8c3526625df5f785ffde1e31c5a7390e6e24d60e35948319b1\n\n# tcId = 140\n# appending 0's to oid\nmsg = 313233343030\nresult = invalid\nsig = b36916d94322d69a5fedddfa1929a5648a64591d95926d2c85278c87b36d15e99f457cc872d1363467cc46e23cd1adbbf09762d7bff2ec5a9b0ab5c95a4997749d0978332b8e5ab757025146c214c6cb98ca28b8a97a037046504a6b0ee78a74d516bccb40c4e988206b91e767a9684104a28b717bed58eff819d3743954abf18d4450a610219e84b78c05a0d7bbcea9f23fcb8cd3b604adb632122254d28f0bdb299c08f85048fdd12aa10045d5c8462d38b06f3dc89cc6f2e414ca4036deea5c59ec4a4999bb13fc951ae68344ebae5212ea6520f89e52399f7c50c2386707ad0b04d6fe136b441d25df7afe3d0d22cfe55a8ba87448c387616ad935f29690\n\n# tcId = 141\n# prepending 0's to oid\nmsg = 313233343030\nresult = invalid\nsig = c2c5d3a468d2a26d5e6385d450f91edb195d66f4a3a78608312af4d7080cc1007db9d43a7bc3d3322cd3e07db8b9f1cc541f30739d6101cd6c9f4bb19315f68d970f80ba6008b23d6153377f88213ca26924bc277f7cb676136451dda0ec7cb9c44172a12f496a0f435402e3fb913d9d750116acd38cb222d3f1421dd68cddea192150204d01f9471203d6d14b4c6bcd044368a4bfbcd80ee25013af07255f0f207e242524de386b32fc88dd17458527016320a55509245e7a779169396d09408875bfdabdc71d6dbb85ac66416eed4a213d02bdca1be3ed1c1731c24325baf64781ed6910048105dd86b0d7d954496c4d7a117c616e1f7478b3f4bdbac723a8\n\n# tcId = 142\n# appending unused 0's to oid\nmsg = 313233343030\nresult = invalid\nsig = 736505743e80d60bf7bd7b80a24336fafb539ccd6a8f0ff201c7a62d17f692da0e1bb72b1765f4f5df75e9e25b158cbf0ff5b3eabec042dfe66a72e32eb43e474ac12d34a5a5eea4b5d1bd26723c77ec381ed59cf6248aa4e60c2520606c7e9855e5d534a3b650a6727477a37a928943e4145b7a14e0c65741f2cf2a237f9490add06be54b4c449e6b41a1d9d9cff6295dfac4489259baae1707e9ca3979430a693c0e57098a1e3413f75973534b04eff018ee04ca58a3ec65f8b6b4603f40a4e616ff0835f3f4efb65dd38a4b4a53d7f2a6934402342341d38fc29884cd59cbdef1528d2e4a26cb39711fdbb218fdfe5e7aa0f3b913e9d4841475abde3060e6\n\n# tcId = 143\n# appending null value to oid\nmsg = 313233343030\nresult = invalid\nsig = 9add0858ed06740d16b87b5099b3beb48fa900e5541a1072bff69812d89665eccb0498a58730edffab8db6e505607fd457a58cff056db9c045030fd21dd52425ba00014c8fad2ae3f6174931419381ae5c438f92068a31e06c0d6b6417eab9478a666203acba89e2a7071a8bce08b354a17802a440a6db408e732c3514ea08a10505fe7429c953613f38223a560cea74c2be65768cbcdb385bf93d55bd0f3cbf1767ea44f7da233157e01b3d10cb7b65615fb8248e9ab55f397ea5318dec6e793de450e83cce3fa00ae2137ae6245dd518f21d77d2e229137be861f6187d36dcf6d339f07a555cc752e5c8caf0576bd3568853f6865df5b7c02cf06a48594474\n\n# tcId = 144\n# truncated length of oid\nmsg = 313233343030\nresult = invalid\nsig = 64148b25121e13cc247d6567c4e7f37ac4981fbbc3b3f3fff167268b462ba0c54e85c828b011b8ccadf4fb37c317fb3c12d1fe7a53f358ccb60f59ed02882606b61d34f0199531c693da5a22cf3987106308ee39df81946b246a49e00dda8fafa019b1e9f3bcfcaa248d7ce4273f994603e88d641a30b2cbee835af6d5e4744fc994285efc7f46ed3d70d501960f71a927f6358e7b662ff644c10f4d57c3cd624db6d23a6caa0157ff4ef8c3bebce167d0a3418f5d73bf395c202679ba8d3373c072a8a07b5dc4050f566174c3bc5a786cb86c67103436cbff9e248a3117532746a1bc1adb90ed571473a9fac310b903cb4b2f9f6fc5ca968244bbafd7bae997\n\n# tcId = 145\n# Replacing oid with NULL\nmsg = 313233343030\nresult = invalid\nsig = 093015430d2f6c4320f1630319524c7fcb3bd22a1d2964cac97e61362ff455e2d99abd4ee4b466b8a613d292f2c17e97d2690291d41a3e3e8f0cde315487c4101c1192bd6fb6ca7fa2265c4d0b80443738f332c3d0aa6f189b368799cc47e8d04de4429bb6e46ebc47a7ecde586441f055b36db5e7f15260403c61f1310d421ffc44a28a2548f9a625e94424eba9520ac31d406b8a144e93441a08795e5e6ff64f0619085df187a6fea65861a251167e7f79f5c1d0566825b8f7b320a929dadf4958b541fc27b5b5f421d0b8a4e1ef75fcd2991d7aecb19f89da0e175b046d47d7f7b797a447363c3c3cb61902935a2fa48bfec3e30720a990273d794fcec4ef\n\n# tcId = 146\n# changing tag value of oid\nmsg = 313233343030\nresult = invalid\nsig = 1fb3f000ff48405238ec0f4641a9e468d94d4363c2a35c27599119336ea7b7c6d8ddb037458e80cccce7f402db03985a4faf0eae6d9eb7577b6fafe7978a883172170a44c2b35d3a7cf0851cd2ef6df774a590f23a4c19404f5662d310603376a089e98f5ee659454b3db92cc528aa2d3461a7aa9fde64ad2e3023850b5406a5769e7e7cfd799ef4e4ebfca4f5ddf56bb35140f406aa7820195b002fc48424f0f330641051a5d67f15f854466d216b2623e23bb96ad5c86ac4b135b91a24df28584d94b64b471a0e970ae37e4297c73244b425a03f58a3c26fb3d3e51e33d516e7af7da8d9b386a353afe9ac1b6391690fa14981d30eb9859dad45b9fb4d7da8\n\n# tcId = 147\n# changing tag value of oid\nmsg = 313233343030\nresult = invalid\nsig = a65b77dab3ffd2f8c4de17bdf03edbed663cbdc75f2d1896d48bd331e7efa43a71f3f64669b0529ae3e033258f0b518bf967081db14bc5607b640bcc409bd50b2ca548ea4ddcb24d3a220967e9cd5f5e86e167c8e793cc9b7b5b505c27dbb1e63dd151c8a5112d2e8af5453463ab7b141c33b75bee6e5cb8d8bef9402f47402c6a0a86d64ff98a3fdd24f401dee22fb6bf35412fe5255dc23955304e86deafab0df002d2a27b45000c6f85ab9439182219652bd4b305362e3135e271b6cf31e0f2c6cca8ecd717880ffdb28cf1f2b2672f7a7bd51e2ded1fa19522c5ecacd8a0e0fa2f82da56e321a595a4e5f6a24fe55a2e0527a847455f9b568d9f0acbb042\n\n# tcId = 148\n# changing tag value of oid\nmsg = 313233343030\nresult = invalid\nsig = 8d30ea13beb88de3f3b0683cfbe2ab295d159f8cfd5f5619fe00c0ead3c5f31e2f3e34fadb993ed2e001bb780257edbe26c9eecf8f11fcd6c40923ed98b6b65b43fecfbe14d65e678bc62edaf01b14fed4ec1674cfbdf7aee91d6dc5bf371e45f7392515c98fcf6b73bea54e627bd8effc69be2fa6552b6183d9df1441", + "af1881046184715211c3f10b8d5704609f70a2e80b0c681baa48db2ce8757a4daa962b1a99360b4c2c7c9129ade112f007cd25e856b2f502ff3aeeb1bd2e64c1f7b61c067f5760a509688b87fb9529f305d1d857a78d70bdb0d48ab067f4119dd2c4726b68ce55c27aa090e7b022b7dd007143632746a757515ec47ef168a35cbaf17a\n\n# tcId = 149\n# changing tag value of oid\nmsg = 313233343030\nresult = invalid\nsig = 24941990c451972477c48a1e01ce29a70674cff6a6f7e1b9e5969c9edf6fd5abc29f01553e3001f0db24d219347b85326ba1b145dc38d63c8d05438cef2843823d7d6b519572c881719e9fe4aa2da7b89d07fced3833afc11cad6e4557c9cb7845afd032beeee940c2d8db10419fdde7463ed0656d213945ef8ba53602c3ff057230180cee9623ae0a1d641b49efbd38f1be0dce4c0eff7de3e80466260c10da6e8edd0ef91cc7b80d8fad43088bfb0b84f1bdb69939a5c237e78c67f474d87a19e8c5e4d517923a5e471fa9f60c954d4a8264f38f069117537f7a1afb7408951a8a26fca667b3ae60d33a2c4057c653ab74bc204aa96f0ee0ef3e48f9948012\n\n# tcId = 150\n# changing tag value of oid\nmsg = 313233343030\nresult = invalid\nsig = 66ca05bf14b498f2784e9416a0bd86bd34642ab138ac4ba1e3a39a773b88356043805cd4fef374c66d947ea32651e14d308123f6bb51c3415fecd9d36722d01e0eeaa996526b44f07e5cf844e543dc6f52dd8944f34fdc6c150f00c64cecd0352330f918ea219493149bbcf8c2a0586cc8779ed0efa32bdc33447f0cb0635fde4b14be2e54a2685b6dbfd485dced0b9725e134f06f89b44984290f5b98e8733efde30c9e9c3b2658769384dae324aea46cc8cd841d97a371e896642414d4a976fda185fa28b8c7ada8af3dd515632b89f13e3153518016f758908997341fe172ed6970697145858ed2df10b4e807f8548e907954dd8bb8c7c80da48a3418d94d\n\n# tcId = 151\n# dropping value of oid\nmsg = 313233343030\nresult = invalid\nsig = 6e2ae3b01ee8db55d4062495a28bc39e5eb30c68b1e80621d8ce3893ff548ac9bfa0c48d756739413c496e9dec0ccdc17f5d33b8f076fc62a4291a9ac3e2a6e69400a856bcdcb20fff75eeb29f61966fa4a5be190e1b1152ee9cc6e5884b1fce01b1d6a9a4c0d9b70f1e457d565bfca01e86cf4c96f0748e14114b1b80b646446b7d926f96b3c09663abde0ff12551a97df3250808e9ae2a20b02a2e22ab9715f7ceaaf7e652fa1b39f433e0f9bad58c62f7270e8b48f44301fa2f99222ec2d8c553f1bfce4e457f412b833045a3e68e2d4abe2ae79f6356ee12bde7e403d4c2cb5aec74adbf692b13b23e035da0c5648a26f1219ae6b25855e375d683d7d17e\n\n# tcId = 152\n# using composition for oid\nmsg = 313233343030\nresult = invalid\nsig = 21d85de13122c0c1914f774fa4110c9cc825cb726098736e7786e0a2e9ab5fbf92a196a3e5aa5ee61774ee43e74ec542513cd94c535b96e69c81e2ad671af17a84b9a4bfe8c1cdea2aac5e46848ad7f179c305783668a3a3def11c4aeddbf32def93ca743a7a2bc2621c6bac454f6c452db55e2f146d424fd64feb7ded950f4bf9d8a784468ad7ed59082cfcbd6c41d797943ec8b54791ac53eb82b82a7045e4be5a6317a0cda8e91acb734f4e14b3192737f04a0a1b9069c5a0c128491a2e4489d19aee8eba7e8e12b2a51948fc3f600a19e372931cfdc1b3162a45de86e36e35e42ad909ef27242cb264ab0df3da6d327da447add6f567745995d2638a3c6a\n\n# tcId = 153\n# modify first byte of oid\nmsg = 313233343030\nresult = invalid\nsig = 8c9cbb00a9882a86ad2b6cff14c07e9bfa055b44a5256ba46f88dcd1ef295de245f5c6116bfc23f2c9227fd0843fae7a66256057be74f95b7c388b09a4fb44bfb2f92002241ad29558913a30c06299346d22d8e81cc9520f9f675c55c21cf1ca9735982e359b43cc053f63d66e435f1a117eab2ee3060a3ef0c5d5a3b7fa3d329e86299498a565e6aae728eca14cb55b9df92effccdf99869ff62b149ac807b288d252347175df66560fd2afc2384606973130058ef2b33b8a1c6fdb0e1d6e59978d3d16ba835c9dd684e4d901526bb3eecfc57a9b463e4e5ec77472ed8b869ef81400e4936ea5181763c5a30c525e84d2822d652a1560640c868233aa3a7fb3\n\n# tcId = 154\n# modify last byte of oid\nmsg = 313233343030\nresult = invalid\nsig = 889440aee2637bfb10978f2031538732d32e30aa41608245cf81da1fa64ac6c36a2f8d7ae39126ce0c672f9e39f09f6938a136b89bc057b5f32c9d2af28bdb16e8431d93e9b485e1f42a600ca31ab6809dd61cdd42ff37bb161da6685b557ccfb409d0030dcd2ae25a77654d8eae6cd4018d925b5f78785339e05b14a5d2825a11c9627486407ddcefbeca4c8d0bc036ec05e1a04fa503cf1ab175dc74e6af031b2f4e138b1ad55792f942a9c49a9964def61c51c3054f4a4cc2ccdc203f15b4a196731588ad0f6259570e6b01a07e62068e874ab3e6aa661b7e04e0dd4b8f9092883508146193b44d52a76540119fbcb577341e3af284c14f2528e9525f8b7a\n\n# tcId = 155\n# truncated oid\nmsg = 313233343030\nresult = invalid\nsig = 147f6e9c4a52afe867ff9f4c2f0f03e5f4f8fb68a9b5b420bb3bd62125df8fb1285db08edcd43b78ea7ddbe4ec9eeba101d0c85c66cca2897766afb8e1ea4f0c90667056a0acf08ed0b3ee197c380e469bfc3328348b4ba7c19c4d729a893db6b73b2eb0288b4a2f2cbf3aa47d1723bde5bb7bdc7d156ae1217647577635c8426963a5e32eabd0bb7ef583a0577e5d5df0407f1b4159d97c4f564c8f9879c84d77a26463e8e4e277f8c3334cbde725536721e5fa6b11ab39e1070da3f67e0c42fe92e4683b249311c034ae04f0d227da46d6c0022c7dbb501a6ef2da96131e220b5c99bb7b0f19873dfaa3b19579beb7fd4fd6a59bc23d563cc39bcdc224117c\n\n# tcId = 156\n# truncated oid\nmsg = 313233343030\nresult = invalid\nsig = 6c0868af8ec94913809f0c7cb10c27c639ad35ca7c6438213e96eb5cf90eb20a35fe2fb96c690903708f638b9b02d2e37ae9a3a6b0a9bb8d015828c8adc30f225b0e290b8e6f2361224b86639650aa34e4b8d41c72dd73443c80a04394bdde558e859c635f0591cda750d5c4827cea9e0562701a43296d99ca727676f2b41197fe6568308e9f96b355499ff6aad6355da1095f2bbc12b050969f0b2e8c91243133355c3f07f4465aa3f0927ec7980631fce30dc36dd3d742806b6b17ce82dc1abbcbd6344aaa9b1d93ac0223396facb913a2a26824faef50319e7223fe6f4fbdfacd9034b3e5bbcebfe548240dde63de3916ea8fcdb5326ea3320e833cf816e8\n\n# tcId = 157\n# wrong oid\nmsg = 313233343030\nresult = invalid\nsig = 919c27ae9c2c52861aa8defbb67ce33f9f1fc8e684b5166e4ff43db6e3fa1c9a817101d11a79ebab67509dac1b59fa28c0198d1d181080626e1f24345ad4dc1b58c89dfb3dacb119114ae7f8563db2f0d03118582b94400dea1cdcfbf331341a802c47e4343b3776d23e4f3602f6a1f6a8709f8f5ff33e4d6e5cdbef812ff6108c194a7e269dd510d7f6a4f1993a315caf64db2e34dc6c47b3c37358a80db891f3fd10f459d1f34eca0ae12689de3485e7508f66dc1941a17d8f917d22e9356a157494ad36b6034404d2cbda779fa7038a565daccde7e849578327a8d246cb08e943710d9d8c001211296a5b7a9f706b40c5096ebd3500126ccfbb418799368f\n\n# tcId = 158\n# wrong oid\nmsg = 313233343030\nresult = invalid\nsig = 3eaaad835bf220eaed0b232b2e99e4498f166a97fa1f4ecc9403a89cdea28ea3598bab4c2fcf343462440bee6b406dcf56eec6933279784d65472c10ccfe98a97c1b87cfabeb24f53044a699e31144f6bea5954fceffbd5f78c3d662f8c68d47b5dd412206daad756a3b6e5376f4e2def40550fc3c1c75afa428c2fc8721048cf6aa157f993054edad9fa607e1275aeb2a954884e43b713898d485463d15e13682c7f72908fe84a7ad17357380b8009dbdf6ce6283f7896336f5fe59e5a1662e3f36226099b47604606da81cbec13549fa7b30782c50c09a488d735fc0a96d3d05b71d963bc398037f422947bd572e3acbed2e4ea84a8d2ca6b809477ecd16c3\n\n# tcId = 159\n# longer oid\nmsg = 313233343030\nresult = invalid\nsig = bea2841e394815379fcd8b1c8522c4f7ff23aa4a9ab2f9e8680b8ca41a8a719e532e9fed82b7f4867555d4faddd1b25594b7f3c0d4e69a1a2f0d0fef080df98a1a5a7dfe8c0c8865324177f5b0ae85c5e10da64c5cf9890887f73b0a853ee934ca5815e9c89e99c1c500c58dd7fd90803672333702d891324215390a25ac08e2aa4a93d0cc814f9c81d216c546aaa1e6e5334d9110aad233b60d7efbd7276ee6a8968f7b5f1c22499e925f90557dce6cf8beb1304b40428fba8084fdc2cc8557c0840263a288fc686dcfdd7cf02c39b5f2be5e5914e0bec6b9004fbbd687602fcb93958ca38cc2d2ed14d490f0e7f3b459846e034d73b517f5c43c1c9b2bdd7b\n\n# tcId = 160\n# oid with modified node\nmsg = 313233343030\nresult = invalid\nsig = 26ccff0fcc5016d566864a01f55a157552eb4c354e89adffb0250c7094e8627efc3b771217d65fefcd720cfcf567a266260dcf621fb4bfa3c82ef58a1195d69ecc87aa17933eb8758124712e163e613cb0d0f64a11689016facfb9a4aee48e1ef4c65655400503de4e06917d62265d4799378562d1c70d8fbf8eac4838b95469457ce6a70d534e0f801a313d305ea49a8cfa45258ff989aa33e2504cd02e5f1ff7a35174a0f5717028f9da0e71706d111afb2ee013167ed06d6b915572a4e9083e57a891c2226dc0034a52c2cd2d04f0c0293a398e10cae4ca985a424a3f868a96ff9b540960460605dca90d76045507a99c89eef5e2ec7618f9b6cbc796b1e0\n\n# tcId = 161\n# oid with modified node\nmsg = 313233343030\nresult = invalid\nsig = b8dca88b5fe5c82210822f56f267084de6f797a8a3608107b685751f6bbed48ade470bdc2c9db4c363b15e7ac25066c5a92f571415c8f1737872ac845f37fef93617339e9113e12b4e0a569383afb0abb8c397177d617d0309f6112f2bb9989088a2a60837b299a510c1156d8404d30c37ca3078d9b28e188be6bd029ceadf62c246837169b6c9f900878a5b6d14302855a4eb343c87437c686b156fbdd1eca2ff54d872251591d0bba7fb444c5c5202280fa6141cbd8d8351f5a95a17b7e7fbfa015e730029eba5bde41260bc02928740f4003fced727c6eee551cf6a95c65a9c1e11b91ae509ac961876af433bc17513077d1133efc1f71763a89f34e56b1a\n\n# tcId = 162\n# large integer in oid\nmsg = 313233343030\nresult = invalid\nsig = 22cd30820e1de6be04fc0be7352814fc7f0f27ca4f14bce7f15dd5b73d543137cb99b9b2fcd26b750a7cd63c31d05486b081b93394df486d93d8709ed3739bcb44f1731970d1a41c3d2794a1ee973002b60abdd03bd8a", + "2ea0bb1a265975d7f194b9629b56ba2afffd0a717ea0cc9ac24d136b2ceed4e8cac6c142764b103952f1858c7c8a294d44ea2d3d9378b56c2590ca902acd846391f0aedd4c65ca0e1cfe126f72eeac044fbef69fe04a6fc2babb5be884c4fa57e0f622b5e2847c5bafcb462573edd46a4cac95c02d0441e9c8c2479831e4dd9c49c1535d499fb030795da70f51639e9adc5fbcc6504de889350f5521a64e63636428793ecc1b9195a58\n\n# tcId = 163\n# oid with invalid node\nmsg = 313233343030\nresult = invalid\nsig = 799fe49c5eb9d2efa4b71a13f5aefa24bf87db843095510cb8e08274a583b03eaca85f62303a36d15eefc3106067ae86d414b52905ae43aa2c0332b75ccb4473d540d50c067819e913b3bf636c653df0bfd9b3223a0dd55f38f1025ad7ea8f68c716bfc307516a4d60eed1adab40ef47cee1dadfacfe41b107d7924d2a549339d39482f5c046757ca90381782a1db1fe3cc919c1ff49c88b40ebabeb8827bf19f92a05519289b21e1f7be101a33a87a5cc5b6a0851febc0768d31439d59cf6fe0f75c5ec060c7569ecc131a3fd16806bf53939d36a860a4eaeda718008c1b762e8628e0744ddb3bbc700aaec43be43af1a060cb4bf562ab6a32cb624e8b971b1\n\n# tcId = 164\n# oid with invalid node\nmsg = 313233343030\nresult = invalid\nsig = 9de3caf47329431d39d853f831aa161e131c8b8e98022909f715689ebc570703a8695dac67c459b93d1d96f44916df1e3c8686c21f926568133ec765dc7b02787ba9a0b4316576e0174cd6eb5da5af5ac1c8f90783ae2a1c1b0955669cecd0e8322faf932b6512e22b6c6e33ab91c367403e2d429cf593130266440f088e70e2e595ad7550f0b006414bdc2dcf0142292bcd0f284d840445be73b46288c643caadbc15d31e64e6e97ffae1a6f996ac2fdc4d4ea654292319397396efbd5d6015195ebc0a531db4720390a8743fb5fb639eaa03a8020e095c309b4a1b03723a10811f4cd83fedfc9610091cec32da0d2aa276e08fca42ae232143df9fb5a13157\n\n# tcId = 165\n# long form encoding of length of null\nmsg = 313233343030\nresult = invalid\nsig = 6b1d032cae6cf4f2900131eb383731a2844a8c22670e11986273e7439a82be7073e2240006f77534bb88a5061734244f22a045b6a56ce5125a1a975332ec92d09638cad1d04791c76344145fd4bd2ef85fb65be532645270853c1d7aa385150b28a31a882e5a7588ffc15c4510e7e19d50bdc6f236f55f7200a8cfe8e06771d4315e0d56035ca3f1b619d321a59f1e36e87dd0247e4ebeaf53853567a0f6786e5b67472ada13e51a2be103b72be934c6bf5edea9d2b61c96467bcce225f93d78c50635c47a7b396be01349ccdff41cee2e0d96f5b004453204998f017392a87902256821b5b534eedaff75c532a4371ee3d1539893c4e7fd1cfcdc2233c03f23\n\n# tcId = 166\n# length of null contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 62a1aa76c9f78c76a655893d344b676ef54f49068ae7883010efa0635345c9c9352b7b27ba717a7d4a2334fe71a90a98068858d7bcddf5c30f60bde7d9582d88cca5b4f2d62e5346ecc551a078bbf0defa0457ffb4fe69f5cf1fdc4360e6f83004b8bf397dfa60bfbef693f4038419d3c55b29e7c8c01ed6beb5db3ed3fdcc494e3a6952ea582a10bd3170ad187a2d31ef15c39c2b4ce49ef6e339bb3c3619b571ef10e60484ebd0cc8195332c86213e5248d5627ca2723415cfa6775adb4648c580b29443993f169e1e07b2c1478fe465785065e0b38749079be7f4e0d7522551746410676d194539f85299c54bdf16e8f9541f17af40dd9c696cf1b0533e6c\n\n# tcId = 167\n# wrong length of null\nmsg = 313233343030\nresult = invalid\nsig = 275377f7bc1bdec250bc4490b2863baac3d346362c02c83bec4b1d8859411c86d44b0c105f67e2474a2a4165d6d0d677c09b9fa54b1ff185d254bd629aebe701468cc366c9cd204cd3694e91ee9e1d4aadafb5da57e3611adf26597eb50b57d7452defb03b4c693dbe3f2dd45cbca4e9efb5b963c290cfd95eaf51cb2f03ad97fa0a387d96dbff1da45921c1545f027a01259db8342d73001d1b96c3903e99b25d174f9b726b7cfa7d12daffe3e56fd9089244fa60571eaed4901e5a3cd52868c0c421295ea521acfb7bad17c127640016dd3c8e3cf9f5c506a876c7007539f796b91726fa4a69bc830d63a96d1efd92bfdf03dd5a3e2cacb06c1a65f4700b31\n\n# tcId = 168\n# uint32 overflow in length of null\nmsg = 313233343030\nresult = invalid\nsig = 5e7916eee9b35665d2c769de1997a77e2e2405dcb0e2986d31205958e3c0b4b41afe1173fe0575a7568a631fc9e07cc85f2c454a34b86159d9d68ff6bf4fd2105862498e27c9067b276568ce71ec915987afdaee52ef8d332975cfed5d5a60b62046118fcd94cc8670cde844674fb7a22e9ebdf73a3336c5efff10f457a528217e816ac1600dfd180c71c693d0d089c0526fec6546df971b7479f5f74254eefc0b5d435e7010026d48117165e0233e6ac83ac5aa25ab7f4c87555a820acc2ffe64fc4c10ca417035e7d673a384babdaa374da2c51d50c70c89af184ed678fb8ba3a768ca916fd70050d77850ab8e64cfdb0ace0532f9508480c51e39d39a126c\n\n# tcId = 169\n# uint64 overflow in length of null\nmsg = 313233343030\nresult = invalid\nsig = 428fbdd8a24e18b30ca15216fbc71b1fabfc876a3e9faad7952e6f5687507a468c26505ffea1b3b554ca00e2ca3b2749a65b2e1547c9598ce971596108f89dfba6ac07d414434aafb7c9128f76022c8aed82d627b6798a0e1f2cf9b6e79923c4ffe2e77edf667a7f03a8f4bf158375f38b08350e0f443b85a8215af8b88e8434b357285ec05e1a061737cc4f8173702ece950c499e36f3ff9825aa600903fa44550c0df7356ef9390e222942cb272df87190c3452279c0e4cd85cc3bd27310515173322cbb31ed841ebe7542bf0c746f6c8895bc028f767856ee3c6900fb38d40ebaac8a5aaf8d60d147872e69da9b2e94085f4e4ee8f80eb46fd5a15884340f\n\n# tcId = 170\n# length of null = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 9d188843a069b61299d5a59c582d9047e134d0e52a7a324ff160082fce0888bdf141dd15c75031cc8d761116329c20476cb23220d21434a88834c39a20014611c4e18cc5102a1f9de3744bab79d5c040e8dea55ff88c726be0ef34dd88646b23a26b84d061439a390c806ae0dcf31eae74dc077e472b15d257fe57c4636474c2fdc84c22f26e7837df411e0c3ab4882de435497d10bb46d2823e37b8d56d53b50dacd77097e30c2981021efe9f7538924cd59ba525fd90994acfedc364a9d9927e9b4ac9b74e8d7b1520f3abceb6603f7dd49d07900af3c0d6ad2e7fc0b8279a30db4f7f7611e9479907817ffddea650ea108a424727d0cce30593e1435bea2f\n\n# tcId = 171\n# length of null = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 524c8237993df005f97afa6a830de97521a079cc2fd10adfa7942bff9a66449ea36d1ff686e0dd112622c543063e896e5599db7c7b5b09298d7351d4bfe58b62d141e3dbd49deafb6f9244c45d3e6f591e4de04c934a05246a4da67af4b61e2d3a05b0b84d958e6afe5f2634d8f86da479231916955da9136a350b70a36e697bc76f3db6853691d3b489a43d7ce52a7ca82461e03bef0fc23442a58da0a5f5c8d7c1613620a9af5cce674ff7c5cd4a17f358aadc18eb42bf84a3cf8e556f44081dfe0274229ff313aee0021f481c7a5f6ac57ed1395baf8e62fbea83b905686f5f53bb853c2cb97cc7ebbfa7267670d25ab5265cff6a97540a846562d6a988b1\n\n# tcId = 172\n# length of null = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 4aba43ca040afe65df9dff1f856b187e920e53b9e7355a452c8c33114976dc828d097060fb6d1aad461a8ddcfc84fed67410762450b73299984e5b2703e3d0eb9359122589d533e87ae72f6be80dd59fbb14685580281ed2608f6825b28e4d3a1936eb908031c5a57d147b50ed1f115a998043bc15e6353a49a37ece48df5fd5e49440752d18102b2a8f936c7054a7198cfaa1ca4ecf6229c9dc84b12ea560367469a39c3138ca6deea0b9a91d238004b75e1751042f0cdac004b0eba0d4dad3f893960dd368a7e9250aae66719dbf808aad6f30eb81c76cccfa1c58370b6c612c574e8c59d2b38a74191796a17d95555b4dbc8dfa7dbcf6fac5c7dd10b2e2fa\n\n# tcId = 173\n# length of null = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 21b8375a400fa4141162646bd88bc64526085f590a7ef9e1d25e3dc491148cac463f63190c777237f5751d46713f5c58ee70641fc2ab2c8c9f696c8d9190ba0bc3670e3fed063c53a7d10c42dca053970fb56dadf34d81aa1c53923003dca035c35afbefef104d7040392b2bb933229871d82e6ca83eaae8e71f27129158098f6d68a0d63dd906ca41e7993480d0884d5f0661fef3f5a5c1220a7566292ee66521ca8d401ef8581b8d7500248915ab986314bc257c2fe99ea4c6a02db4fa343ce83b4e9ec979ca36bbcf81766a4d86b730cc7f8c4a9e7904a2b5874b63aecaa3c730cddc57561a3755791f27c3d75c54396b260a8e73bc7cd4d6f1b06111d309\n\n# tcId = 174\n# incorrect length of null\nmsg = 313233343030\nresult = invalid\nsig = 06bb3755bbcdabdf65e7801470229b467828dd20a8fd96381670acfbe4e5321844b681d6af6073a6f043f653479bf8522a11a34f0bb1464377201f7da0ec69578fe121b89eff58ccd879e776463858d9a48f7e1a821f6e3030b7ebf20b9c7403f6c91474e500c9b779cbe8fb6efaff22317e9f3437db1d7c26959c6acb3181f3f628e8aa00f9b7daaa5712eaf2f8eea47c25506810b7da2ee795157eac985f5948bf943c4b0598ca404a2e67391e0acaf4e5b461845789d99c57cd2139c6f8df8750926b2ed0f820ad656432c7417e8ee51b4176cb24b195e4a5c261c091be1c2dce4b9ff1e4272f8a4bcb6fc01f8071f6fc39dd7ea27ffac923e333c0044408\n\n# tcId = 175\n# appending 0's to null\nmsg = 313233343030\nresult = invalid\nsig = 895791f81541f21d18315e6e1b10aab06ffc2494f1f6dc6b8e5cddcf4ddea807b2a13c1f22841c725f2dcd6bf14401dd56777187b8012f65c2122ffd3ae77f4e2cb5bab8b074777511dd7405d84634c4bf9b5122f59a4ba890f5c477a370e807aca35842f30f7c81de8ba45407181e13f3af8eafed1c21ba55fb37929cbbe1db0f25f0b34da680985f6495fb49108343e8b1e66e441a644590feddfd6aa51862b34adbaf283117d116ddcd845323c5589fa5c29edfd116909cca708d5dcc49b32559fe27e8104aa2d73f7b35250b36edd5213a2cb1b51b7e2e6268e6ff94f8d3112331b507a82d8a167d08264a1da6883ebed5f41ba988f9ed64f9f76b461403\n\n# tcId = 176\n# appending null value to null\nmsg = 313233343030\nresult", + " = invalid\nsig = ab3c0febd45a9143d8aa7bdc77571d8ff5da9d9451fe86ba4a0249f2a23f3cdc45f407a6a8400c0f6f40e6963204c8064917f19aa3e9e9cd653d4fcc63361ba3590a68219a213cb1615cebd2564f7f396b52aa58b100974873546c82bc647002af5ed7e2404222b98a995a23a0075115ee916d0607ac7a172b05d8818f5d73ed1d9ca0b3b435e6676fefccc448654c88823843fc1a22730f561027d457904a65507eb5f5cc81e35b9b682d434ea0e8128d1adb04fb9d1dee89dc73b1f1f7b571ccba17230c61f55642365142e920d5b45724a9b0fbf5769a4430b1845626337762b40719e2a7b49bc722df7266a1640c204bbce848a8fd6219418e1cc02eb37c\n\n# tcId = 177\n# truncated length of null\nmsg = 313233343030\nresult = invalid\nsig = 1ac5ca0d90b308fa1bd99dad5567455377a79ff6e99af3da419784ba48708d5dd4416873871277fa5ba447252dbbcaaba7376155659f521f4813814f6ab9fc9e824ef512dcbe6f6cf04be52036bfb5e3e93af2d000344542e42061b25d617832416ae2487907ffd8d05ecd33d826faff8e4cacd33efa3e5f4c15902c8a4cf3e210a182e347389bb5e83cf9ff6a41f4551efc44078940a80075bd7e7ce434df72756ae3c93c98bb453eee879017e7a2d566545ddb5158557171439eae4af018e82c383c153a1d818735cfc066cff5badd14ee2c60591f670540aaf469d8adc97774943ad8c8fa69f74e00ac1d11d13dbfe80024735c4beb5b2d472389a3d00d48\n\n# tcId = 178\n# changing tag value of null\nmsg = 313233343030\nresult = invalid\nsig = 24e70d3f6f9c59957c923e6dd276058b8ffc3fc9083126aa57abdb2ca842a263b86494dfe9ce93647d5da4eaa4f14fcbc5a01243f9f7ba4dd3688a8f4b300208295a40575d64eb05d116cb26f56c77de03fd1888e2b5d72e6b1aaab3c5268832f128119c0588cda847642ecd552f7a71209021a11bf969452be75647cc08a3e5d27a9f2b1d739893437fcdf27c3e5c6d54730dc7dc6efcaa242138085db04ac7a0666c05042fdd817476bae00d7845cc513860cd59bb7feb84cf5e5f60002e364af4e10e5ea4719120be270dee9733caeea1d812cc2675d6d4c59194b5ff1be0bca0614a06b35e345070aaf76a8f8ce43ff2a6bf0717133a4089c9d0b64eb735\n\n# tcId = 179\n# changing tag value of null\nmsg = 313233343030\nresult = invalid\nsig = 1c211c0bde357de65dd732972f012a69fbfdb6bed9eb0986e6949e053a50165a384e4cb80194899ebcdfe7f1560fee1cfedad14c55061a6add078e337d533121ff8c057bdcc7cdfe4dbe9a4f3a2add04bbb0a9071085437460dac46358c627b87eb68cf1dcf0a68b4e386bc9e168a22a98d0c45e4b81f1a171192eef41e3b7678770dd1aeca9fbfd3b525a1cbe0ab63404ee569a197e4c8e4b0f956e496011c5c849cba84c679581383a0f573fcb0c8bde4469653c2279b136fe4a27ac54eabbc2195f8b0948328c147aaa5461afb52ee5b451c76295b869b36b8af5c6666333a1966969c9967dbac02fd01cc8f65ba685d062dfb3e96901b30f0ca0da9ce066\n\n# tcId = 180\n# changing tag value of null\nmsg = 313233343030\nresult = invalid\nsig = 8acef922676a3715668f60042b9956f225cfde7d1ff03d7f820df3943f614526a70b3831ac30d8b0ad92f9f6742b41f19d2da13abaf8e8c8ca1285c4e13193a244c12fd93100b81af9e82e8bfe17ddedec53b078ca790a2bad5a69da6654a7189bef1c1c90024daf05d977e98244e772095018cf7ecbc085a37af3c6b83c6a3d02507b9a48acd539911a01113005f8b4d3c97bbf797cffbed3fd3a0508df129a4d8e8da4b82df7145069a3438bc1cc156063fe16bdc35e21cccc12ad02b22018e2e2ff021b2a28e8e1d71d3b1825fb28dfc8e54b42fdb17fd2eb43a82e26a3a566343b8b7fda70fa051363313e7a7536ae2f7fe1f0432e081c5a41986b56972c\n\n# tcId = 181\n# changing tag value of null\nmsg = 313233343030\nresult = invalid\nsig = 853417424b03c7545069de2632460aead059268385a40ecc270c68a2550453856f4bde29fb5cf47e8fe83fb917954f8bde4b1f0a1cb1ccdf717ab5302fa01a335749e9239f23f9a25b2dc48e77e6c45f9a8f715dd6e085b07b293172232df5b08f46b9f0b50901fb6b5af1642f70013bd24f73d5f1598c44a0b536e94990ac2280b4f4e485c02fe7404d7c397e684236982b72fbc4b215ed038f90eea3854edb7ac92af7db44b5bdbb6b538b1cd5cc48e49a34d5fd8d488e84f731f7c1aaa9e79059bde1e0412e5649914402cddf16798a765eb89099ae000403d31c1dc904c82299bbbd808f173c8c1f5ff9b5985349cb8c5bd829937dabbaa8b51fe7e92835\n\n# tcId = 182\n# changing tag value of null\nmsg = 313233343030\nresult = invalid\nsig = a2db9c788d5bd6d374dd3e18c576f537d765c6810141b3f3bcb0a425229f0f54a4671dcd7c1a8e7f85166eb0d5aa904bda479da5a6bb8aef63fad9f3e71e0eed5c1f9a32f9ea2a9125e635649c8d935fdf6cad23a10253028e57b199c16b95d52de316beeb8b478193ce6162dfbdea2b0fb8744bad88314d87fc4887ecb121841ea799a535b9ddfc1490500709f2f0b750af525cb54d2bb07eec95b9968b0f3b46285001c1d1eeeef96dbe1b31c346e49d139aa31f6b5108178ecc91217886f1f1567a0ebcd0861e222948673a1114d2e8208ced1b6ec146b1af8706edfff71edb11317fe1a35147614c68150246a49bd9c2d024393c44e0c6b19406d6d0aea2\n\n# tcId = 183\n# composed null\nmsg = 313233343030\nresult = invalid\nsig = 4b05160ca328008c61781e2f419e3bc2cfe79d4a3d4a37d5251645b1999ee3b10aa5dda1fd687ae24896de91132f285fd0ca7dab0a01531827200b22d47419b109282059d261b96c4ae4d70b82e8f6f9220c5d513a120af590a4706ba3574b0ed83e98758d7ca03a5a3192f8f6aaa48f02d270711e80697309b57344289caf861df868fd77fb3e3f4e492b9823c7b6a6a8db559a0811634a1d3e3a2238024b550b65d9b03a5f6badfab07ed9558c1f736c6204807fc9c4ae8d26a6c3d722263395faeeb75947d388f7946e173ae84fe9b51ae297870e39c81f663b1beafe500b9aa56266da86127f20ba7ab2da9731cede2cde3dd1be68d20ea020633dff3a69\n\n# tcId = 184\n# incorrect null\nmsg = 313233343030\nresult = invalid\nsig = 18b8213f8c51236673e657114a23234bc98cdef86b80633a2446b69d411f1cbd6b7c33616a4002918aeb94455e8d8722cc8e6e84cba23cb42586dbf8fb1d0fbf62a8542c519bd6e0df8bc79abad2425f5ab20be4dd46ef7c70da6a0a22ffeaeb2e243ba26083381ae49b70acf506de5b36d0d00617e969b422b878a0a83d185b69bc07e7f7745eb50894ee041ec56d76be00236f4c3693e9e6ea8bf4abee3adc1ceab57626a2001400d5f14273a20494cc2067ca03ba10975bc1c4ea30099d97175076aa59cac375eff55211f6807af092b47d2183feb3efd4eb9d2edd006c7a33b1d321ba070f7cbd83984dace44f6c98c59d655d5d6b33c5d11236c5df9435\n\n# tcId = 185\n# long form encoding of length of digest\nmsg = 313233343030\nresult = invalid\nsig = 4ff429218c127e704a7349def6c9619ddecdd30853fd0b4a00ec9d080525fe9ee72683cfb7cd92b41a19b62dc4af73b8312e355d802a2a1f806d31c3cadc6655fca225de48fc73c9f97ce2083d59c2e636908023becfbbb1b88c44ee8585fae11ae136df2850422451b38493a5f8c2ba4b9b35b789d6670bd9a528a94597dc556b8e7ec26055480e3f5c0dc68f4772562a3b2ccc31dbea6b387f78b1da790f3074dc06721af2f365cadf1ebb80b0a1308c272fa29341a8bab40b89c41e0b88806f6bacc36f03cddcaeba9a2e5d38b9a510efa1bb3fccf971a480b93e2f650c6606c1745b362f67e12e46969f115070942d919ed80106f02a28dfe3fec59a8f45\n\n# tcId = 186\n# length of digest contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 7e4b2c079793bbb6e35b2d0bbe99bd46cdf32a059291824c2ccbb74ca8b4cfe398c6fd88780495e5df58236b9ab22f3112dde293bf7f18909dc3a0b2a8b6dceaffaa93c5f543faa6cfeb4537e647c0258cafc26c11cf8f5f978ffa4e8e3919d7c585d0239272bcf60d61ceb3078d8718972d42005fad8d8018f0d13c59eaea4bd000dfa97b787d3fc4a8c6c353dc4b8e1eedb3e4f19063e49f8c2385573c1f5cd197be520b39a6606dba37e87db0b0d9dde0197d523bc841a8359901b36d462891098c4d51425a5482bde71a1d4b1f1091c9820337e1ab1d8a7bb2bf2450cc11cb6850f115dcc7625cef16fb7d967e5ee9060747f20ae1285595dbaedd725c17\n\n# tcId = 187\n# wrong length of digest\nmsg = 313233343030\nresult = invalid\nsig = 3e7b2b0f8c923ba2e4addc3c648557cc07af085b06b57059d6a4901f6c08ff4934c6ce9bf94b9f28aae9e13f067f49885ca529f28546c4f7381ccbb450a3269d2d58dba6ad64440ee7702daf0c278b9b016e3a3a83a13f12e48973d9dd3cfc148356337f064afade9da643a9f46a3200a206ce88969a7c177dcd1e404f768a729c7b6548acec14d4ea358365683441f1d8bbd1b77c560f63a95af08220184da7cb58c85cfaa92fad64a67f2db7ff42256a6b210efb3a1cb4e523dd3642f087563e4c3e63b92553187ec71a3faaa37afa1dfcd445f5dc8d1ba56319f39e6d3ec09ce34639ca88c9ef9610df08a68351cd8acd23700f999dd233c41829d15e0d7d\n\n# tcId = 188\n# wrong length of digest\nmsg = 313233343030\nresult = invalid\nsig = c9114c522381d994ab42120d2e577d7e106c9055436bbac6ca7c2cd7235f974b39715b320abfc9d716c3d5422130a75a14fec089d3c07c86579e5b139b46a30fb063cee71676b29532dd7db968d46edc30ff19b14428355a504e5b514564966a336a9ce7aa824c306f5f3bbaedb6eb2ce46914c20b2cdfd404d715c81e48bc7cee68da08e00d7719a2a0ed98e91bacb56af63d9b875eb411b4aae1221e988f69b02afc5f79683db5dd3c60235c2c4f0eec1e5ae6d32de970c218e55c0439b5aab5e020c03ec2a223b82527996a63a4f4adae8105d8b030c8d3bd26d71d9920199cfeed0afaeb607c8f8fdd69fd9c5052eb73ffebce1887f32075b08933912b03\n\n# tcId = 189\n# uint32 overflow in length of digest\nmsg = 313233343030\nresult = invalid\nsig = 4ad0a3ebfdfafc97e631811d5d6f13f4c4f28a32cfa18a0598af9188241752a77f2125ea36e48080f3d61e4a147f0359ea625d066b22a6a9b655ef13e7bd3e382c3e72aa18516a9174137fecd771206e68100abd1dd7d4aaea497d80b45e56b3e3b8862bf65d82e3b2175be1e83ca5be773aa6a3339295d40f9bb3d860ac3b0e88639590f309b2e8fa13142274946126eb4c3edb663a05c6b80fe3c2a65545bc9d0026311d0b472e231201df5d841522f4e3b6434dcf7ad2e3d2830275a07733d79c348150d80890c9438f", + "135bb9c6556e0a8fc4374258d2e3319912895e44a56016cc8d7656643136f1648d128d8b1e87bf5b7969959776478d21de3961b1f2\n\n# tcId = 190\n# uint64 overflow in length of digest\nmsg = 313233343030\nresult = invalid\nsig = 00e698b0a7ffdc4c3751f3301e747ce32863ef3e0788b4c05c1f33671e40eafab23b4726cc71de0ee1e79afaaa64b31ae0a8ea363e83c41bb0f134b23c008faeeda18a151932af60e3e4135b34b8e445de3ccb18dbdd4d2d0b1db8709a4edb6fe7d36483c6530727c77b2ee957b1e001c3f03298085f90461b4e4aeadb25a65721d63bc501b5d77246a2e73a71a0db2dc054ea01edc588a849e6cd88a66e6618e3dd0d5e62f0e4a0971ea7956c73008035bc034a2175bbc2942539ce4cddd3d0134dd3d7c4bb10d600c53e39be1e0b8fbc82e4526696bc366db755d0c1e9a6bfdedb2ffb8c8e41e885c3eb769bed9e004bf67cb0c8e359813e8eaa5e9c56ef3e\n\n# tcId = 191\n# length of digest = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 56cd9fbe50fbebd5bea806cabf8c7889890e93bd746fd984f668043a256d0967831b3b097863a6da88e76e55b3363179b483e90f15a0af6921f4a5cdc4b78ce5657b801da09166553273f894dd17677a9089c302bf516fa1b5feb6e8400c370a95de211fe07cea01daf051405806f73f53891594db9a576c5c700b3b082a858cde398c0daabe42c8c264317fbbb31d3e3da77d9c9b3e83c5e81cca51959c40571d6951678b9adff6c805310fc7d801fe5634b2ac0db4c695bcf86411a81ba0e64523e734cf610c6b6c9dd46bb601f3a10717a5b92201d40ba523f9f66e3535a5482127fb7550f62aa4b4dde3cb039533b57aa8c332c255ab68eb1b9dd94673b0\n\n# tcId = 192\n# length of digest = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 311161af14ab4a8947952e2b6a9d9a95b32a4bdf3575ea0d6bbdeb015760b191c6d2e7c5ac516db821e36639c8413d89863a34bfac44d4c76d2f2b3cafe5787cede0b61e0e27e5242333925dca99d9408ed039454823859b896a252287f30f727d43ab44e7e2fd9d65408332b197d490b2cd7be7feb6130b7192d0afd16200fb17fa5c430cb12968306d7650196db72f694818e34ab19f96d6102d0441365d42ed7ca8d39b563db1dba57307e258d9577c95e7e46784116d20488e73de790783da32d7cd9259dfe1ce0ee2a5f67f27003488a6b9c9d661771ca74c538d7c36ebec5714095daf7b15db103d2903ed79b767f51e48169c4cb0874fe8f670f7f874\n\n# tcId = 193\n# length of digest = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 9cc40aef38d6098eab578f4d9adadb97db9b03e0b102ce86191a81d1ec27a2f9136878729520cba5a816a3563cccffa7b814ee24a3b72f5b677d5957442779ccc120a686fba13e1cb4b9bd9b695e70c3dd6ba3182f4300be45e0e4f6782fe3927fc1ceb741b65636e85e0e7c8e9f3169920a2947b530c25dc98d5790bff7755205b8aca51ab4c817b97d7b28d8f0ed7a5cd227878a0cb6738b9982428e1d278ca95f7813cd308d5e18effbe6ea7f1f79576b20539a1992e8353144f6f4f95864a14b00b00649e35661656e64f0dc7072a3dcf287aa837a42fa8eaf5be23f0164410a5a9da33773a2839eba2418e0454c4b0353bef213950501e80eca20f3b33a\n\n# tcId = 194\n# length of digest = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 68bb4025b24da5cc31f626ffc067ffc6b9c990bce417a037394cf508db061221931d212abc165c42dcee671a0807e93e225f5afae6d9b5bbda8f4410e944c3045c45d85d0fb25676b2e9bc09943d1a4f9fed5e379d704237a8a4355b7f57e714b8ac78422efd88c20214afa65d74f81028e16bafeb33b9fe990e2d1e94d3b06de1bfc7ab729a1349979cb90b3f962438acf88c73a47df80b66026a617900dc6e512b9dff32f63eb5fd2199b1b04a2bf9e2de20d4434e69511784b26be0be2d01d864836b6397bc1e496b59b91b5d9de8be0377fb3b7e91997abdd59635622397ddf8a2894348d015405b32f681be0743d1866cf02e8e75973f784ce2b5eb45cc\n\n# tcId = 195\n# incorrect length of digest\nmsg = 313233343030\nresult = invalid\nsig = 5694e5ff4aa0ee436c5562c4c4250fee88d075f639007b7e96102eeec8bf26a71a67967403524ef7947ca648e85d0259cafb797fe197be368c1522067f4e74a1c7211e9d5d51bc9922f231ee6f5f3d0a64eb5d909347744a62a5531fec7ffe839705a70096c8137b7bbbbf4e1f97a5fecfaf7f14f84f2e78d38e4d3dea05bd0f0a968bb6efae8384142267e00e656a9b2e0354c85c04723bdba7d46e8ab9d5b231a6b27f860ef0289de3f19fdf299ba7d8fe5ff374826d835475758da1146a988e738a9645620a4eb61979e72037477f3ae1109c1a0271afd6462d39bec5bd0018217eb19cb80540461171540bc1bb43e3494a5715e8eecfdffe382f0ce226c7\n\n# tcId = 196\n# lonely octet string tag\nmsg = 313233343030\nresult = invalid\nsig = a58c06106828793e4b06429a1a9a731ba65f3d2d6a2438310a00e6168db367a8addad439c29b5c214e95b4d8c68f7e5410082471ac15285c2bff2a61e7e79ec3e2536e6632442fc813aea3ea684422a68f0819074612aa1c91e88634c8365dd553a714d724472bb24060b3066ae07033358c1b7155e284f9f509f7a35b74699511dfda48194673e425b6def1949f5862b04647c2dffcc3313abbd135e34dede206265d939f812f07375cfa2718d6ae3605803db16a832bca51de2dc786adeb6ddb3dfd9e3dffac3173966665f687908efe2ccba0586830bc99958f2bbfd4e2ec9bfd763e7c2ee0cbcaf950f81bd20c481e1d5ee66c6ffbca902f742f02a7554a\n\n# tcId = 197\n# appending 0's to digest\nmsg = 313233343030\nresult = invalid\nsig = 90652f9b56a91cf16207d37783a06e98a8b07d2f105afbbb77259b0e5d1cb8a8d5b4df4ba34a4208b7e55362c7434d21971867355b6c1b747c9c9c5585e93c500a7071b6160965844b9c94499fe53e20e2b85a30588963e4c9394a5d9c6ccec8d8fb02d243a63616c55c50d608ff8319a2c019719c5a2fddc59bad37baeb9ba65ce3ec4c805ee77777f9c20a09cf399eacb1c138bf394000232c3f7eacd85028a0a4ebd9db73287934e38da3e1134ef597dd599d9232377f803b4485cb89b3d59d080a2528aad2e1125750e7f4b401e0ae6c139ee3b62a583874c0634b28507be3bb73f21de3feaf31876b4f8f0bd6e3992c946ef9da18ca6a8b72827128bdc6\n\n# tcId = 198\n# prepending 0's to digest\nmsg = 313233343030\nresult = invalid\nsig = 85f3863770c3ba8142f67230bfbf14e5a1c5644bca57bcfed9ff0c3b5c55b850d7b4b743eed5723c25213b6e67b3bfe20bf1e644cbbff172d870e621765590f98668a94d53bb967c48c5b00bc56409690299ab36cbe7e216e9768353a329b5f1730372c6fc9b5a9f5e61cdf1c6d44921e9afcfc505bea1752fa0f84de20860c2c5cf530ed9c35e58fa8a172e54725cd735b19b42a29afb1860510d955705de7f3fcc61e68017229615f40a2bdcd02efa2d5970b34c52501d92f36f138dda54a7dc8aa3dd58deec460853141d19cbf39af3a6911e67c68f791666537128dead190af54fb1e82c8fa8232745277fca794db499e3c20a56745c63108cd1188a55d7\n\n# tcId = 199\n# appending null value to digest\nmsg = 313233343030\nresult = invalid\nsig = 911e85f3ff244d87f563e7db570be41664a3cb10f10fe23c3f32fabef06a1d58812d849e46341769b0fd45ed6f53c0add4088f4e97997dee6edd7562c09745b79a69193a263efc83acb68c797174279220b8c6c19f9344ce9874095ed335e80c053c5d15b8cf82dad580616c7ec2b54a04d7db990be316305c783156ca4dd9d28dbb901d4c62e4d8cecd4867a2643e21501d18a310d67f1d0c5c3feacc73282e27834e8b5c6e2e0628c7171a8a66aa4d71208e10b1833d72c672b84c162dfdc54f92c5593bb7f316a6147741a9e517bc9ab82b9646a6d8f637b7b3abaa1c4f8b9169c20a43bf42bca891606d43ad03f00febcd50d4e65b896397d549e84cab5d\n\n# tcId = 200\n# truncated length of digest\nmsg = 313233343030\nresult = invalid\nsig = b822d06360e6588b79ae00929703ce051320f743ed3957a64a25599232b109d147c525f6934814b9fc7c940e2048b1f4901b93e52ef797e954726f0c25f92a5a93504503461d2883c343934fdc3ba4b229e8f89a18add85f8ee741b65dc836375e4f59c568df322be875765bbb28ffd74ead83b9b4a7217227c2b02531b4424b0b2915b6cee999736d599e3ee9fa01d22002d0be15796a8f0efa254930ad4884a9f41c8b73e1a5f9c32de11ed8ff46e8957b59bcbc37a3a1cfa1c12bca8fe2454c02fcc0b74848f19a4e69d80feea8c8a217d978f601dae193cdb08cfe06b7676a2ccc380d17d7e083e893574cac8b66c9f52d557b731d067e348611fb05709c\n\n# tcId = 201\n# Replacing digest with NULL\nmsg = 313233343030\nresult = invalid\nsig = 84550f7e87c20bc055ee532eba23d897df92001b3755a06d505fab174d58b33dc7e677ad2259a27ffb77dc1d913d5b240f8bec372d6bf156f12736df36b170ff26f9441b8e299fb481a065ec3f11b1c474131a7ad52d5b3a3378f28a73812c9115b26c3007dc1ffb59a0aeb6a754e30a6b0ea5f33a23f7c92b8b89cb258546def8f59559ded13d1ce64f6840d47cf4ebc9a81ff9b339fc2a5edd6b6d798ea1a9b861c8711a64c0459c31cd2facfa73ca47eff6972eaedc65e099f84cc756dd11747cf101148f3f549001046cf86e539592b2acbab994d44d1b0708e7daee96a4a46b250f8b1e17b120168736340c43e74ee3894177e43aad55631a3532105c65\n\n# tcId = 202\n# changing tag value of digest\nmsg = 313233343030\nresult = invalid\nsig = 0c41d7989a2cf877d897f6443b8c908f77b5ff4aead7959a8997f63203baee230942e2f8fd60e847290937185f5e64089ed9beebeea1adb6e4290ba6dce5835df03a4bdf14ce7fe2ed10f09733ceb323961ab61508003356ed16df4b4f2cd76257f3c7d42670af3110db3e4b2eb180a0617c50b0f3175a0d375652a356e65946fa957cb9925feaa82aaee55d8ad6133c780fe5ee1632e9a97da869261f9d3df249c438ea04c224b48ba40c446b435cf5cb62ee35bf734f38d099178f171d010ba2a42fa0344a3414740092f05cc3d2fe48ca79fc52d581fedcc384b8e43c3962c13e7c4f7858ed21fada6d4c3b8ab171d2b2b244292a51e470016155788dad10\n\n# tcId = 203\n# changing tag value of digest\nmsg = 313233343030\nresult = invalid\nsig = 9bc68e023f39b492a2a6eb1a8199b4878a5cf73bacd944f408a2fde913c98975afac1face2b9246b3d25f8abdee2b7d2e9c0dde0ee8f21810f42289432e37296c5ab11a073508137b202a521eed83aee7069f2cdd056219a43bf98d49b5941480f79af70b4222f405", + "7cefd84bf05d9a37a842d693fc528af6b091410e90c3ddaae9970d9b555d1b89b05c1d3ff73f8446d289a3b8508689b8929dad719a1ae54e18372a697cb5573b262a6bff1906dc240746efa4cac2486acb4f7ca1dd401577c70c39fdf4d92c01f63ae6d00ea225f87bcd618ea3ebf5e642c9dae5276579f828537ba6cf9697f3254cf5bcd7788c247d0cfe1b1e4f3e5b83e0b78d3f26116\n\n# tcId = 204\n# changing tag value of digest\nmsg = 313233343030\nresult = invalid\nsig = 99adbcd29bbb267c7ed5725e6bde25ab2ace3d75376fccbc06303bb7320b8b3974500055a14d22febed880d8315daada0fa8a42302a4cfddbf1c9e8b56cefdada345a662b9e61d1b23375f93d00c96b8366ca0493883db29fd106b6ff4d5e8ded8ae550dfcee36987cfa26fb8ed2e68f9b0f278fce3130b07f6c0a73eb9f81b93fa1cf2e5eb4f41911dce50631208d21a7dd2d2ebce2a07197db5f5ff2221a041eb8449a0fa7c0eea251f2fe1598c6c7765cd88d970a948842e3af9744d0c3f8793254f3016fcc1ec1f30e7509ed6431ca15cc5d1a50dfe8306ce5be3999be5db80d0b23342c373bc8dd7833c79693f9b0066e84572a4c3f138990c28b727e21\n\n# tcId = 205\n# changing tag value of digest\nmsg = 313233343030\nresult = invalid\nsig = 3c0a2696f07af388db25630bb5818970c6e1f3a35d3a9524ca8b683fb1eea8c2e419de25287465fa930cb5bb2200ce1ef895323aa05c5c1b03721783eca4a34858da5da818f911293945a617b6d799357dcbcb31b1b878aa6ef5012a549cf7d48b888ea29014ce0e636833f32bc4e6cc762c252b048c86edd3aa3bb32366bb02bf86e1babe3a526a652e0feaf45b36727b37244fe02a41f61adde5a81fd53635e3495c3c1ff8cceeff90e2ef3ca1eb50a607760ebeade37b9ff03df720e912d2f9f3c5b0624bc468398b82692fedc5279fbff0b69c86a6bccd0e360c9cbd8cd05357c3a0ada43ca25823a122ca3d181bd7e9d3cf6c56b6030d4c3555cef5fb8e\n\n# tcId = 206\n# changing tag value of digest\nmsg = 313233343030\nresult = invalid\nsig = ac2fda61a9cab54e5dd010e4434bd1914ac955fce49c20a81f70fc4ae81ef4d5b09a95ccdebefb01c1459d17da869cb60336661445d708369df691394b0f65280a886aa7c08ff6c2e264e7b3b79f94061b0ba21547125069532403b065adde771dcf2c623f3bae29e10cdc2f6bbfb1aa9805c17d7726ffbcbf0809468d53189352c10ec4922342ce5c446c63cd511cd073dd709c0cb43e49999bd2baea003877cce903255d6604e903d079475ca32506459e73e66f23743272465bec3decf48c404c0050256b05fff216f8c5ac0ed87dabbb94ac4c032bc767c3a53eebd1d2e2ad98120c1be02fc712b5d9ef3d899fe7f16ef76d95e5b28839318724a08de25d\n\n# tcId = 207\n# dropping value of digest\nmsg = 313233343030\nresult = invalid\nsig = 46949e87f59d539fa055c5379ecc71c6b9cc488489c2bbb595209e9965dea9253053c3b086fdb4642e1ef28a49b9761b870f9b7cc6a7b991e59aaf686a62dff1e6f2654eccc42a47507cc977eb89ef05c1674f0cf18c3dd918958e2986c963ca90cc18d0728437a8f8ee67d9736c7f6fc2b61000fc865996f3c918d25dd8ca86c6d3c8f26f4d6a6ea8d426078ad2de8dc17afc2910355228cc03b88c15565a5a107500ec6d87ccbd4fe45a149799dffa8b24f088a23ebcaf4721b6caf2ab96d3a6f181b89f6a70c9a8962e4aa20f83e7084bb015ff3da5ce1cf853f8d2de2a549fdb5977368ed25204117deda378a185b780e5d6cb29f9ec6c8d80094b0242e2\n\n# tcId = 208\n# using composition for digest\nmsg = 313233343030\nresult = invalid\nsig = 2f97a06d605630820aeb8412c75a6bac2e01752e30d69f30fd59ca967748b608c9f05f17f95a6ee2410c9db151c98b09bf11fd1bf178d8de15110fffd468940d344f89d503afc6e69992f8c0ebb889314f5e9e78d78371022c9213084c1f666d1882e48e8ed33caaabb50e06bdb1ca39e7938b2a18524222c7bd91d5bc7df8faa63db5e48526ebf1333d496c18ed6f162c411e73655d90292637aff4afc165dd014ec5bdccee60aab2c01e4864fd0859700bed5f3b5c803980835f0f166fdda5dd2c82c8cf2b5851643428d6d229dd0e76821de73b7055cf579b3dcdd79def8dac9b8afc356111363856703a9dbce3668a547cd2f75b9b24f209c4109acef6ff\n\n# tcId = 209\n# modify first byte of digest\nmsg = 313233343030\nresult = invalid\nsig = 78d23ac2e2d666d264f9fbafca531a4a7730d0cb469e6453459c1e272f7f847888d3d12ee561bdb07a9bbc39b3e3166212e4cca386c30e40130cb5b4e26156695b5482fc5dcb2f3b4f18f30304d1761b48d407943bc9342178b1f2ebf213801682e03ffce08f9a26eaec3f764d1b09c20e6788a62bdc449172c896c507a00e31a24d1ded0090fbcc54f18765a083f1ba3e49d56aaf8a244efa9b11cb154d6656a8f8534cf455239db9503a78d06b0dd814be867f1673e16cbb7e2e25694f251ae5242915aa6e7d7193fd32677a1a1af62a66f3378dc5b0966297df2b394c5556cf7c816e07ca1675dba3e7f7dbc3d1e5971cd9b489db6ee97664f9f679a76d33\n\n# tcId = 210\n# modify last byte of digest\nmsg = 313233343030\nresult = invalid\nsig = bb08fbc402f355d23793b120118c38239def4c6ab901bcee7de18f55d8410780fee421fcbd81a43f847ff6d3bdc9f129e882abbfefa7c72fd81270389bf4602b5a850337df6542a5d5bd0809aff5a2eb6a7d7fdf50e14b9d0a28776b6c910894d24e9eb06a2f2d5f3c0bfdc3841852037dd71fb1253fea81da7b0ab1df43de76d948c7a7984922e560420b3b531e7e34cd0a39ea5f1744826fd93e5557d546832c2f27e253dff2547e44d06f1d8cf0fce735a1c3327da791d100f52ca87ab40de5abb8edb997ae215700c67abebe94d62e717d803bc064a5773f0b17f7396c074cc1673d3540253afb661ab3bd76f31ade9e4940e11138ec5e6c6e39a06938da\n\n# tcId = 211\n# truncated digest\nmsg = 313233343030\nresult = invalid\nsig = 47593c15e618f6e366caa1c6ce9d9428819eda907a15029d10b3a74948a5a8ed138c4f53f2422db0fc57b3231c7fcac4f32013328d07a8a8ea01e3e104e1cb1bae67d308bf2d7ecf74225e195c2c22d5271f3667d140f2f328d01bc91c1660f84c6d4e779590cf445e620402c2fc6a452f7442ed53da44461da862b15de7ac1f263144a4ca7f758d499e938585cdc5d2c6a81cdccef408d3a02c2da0478f34b1bd3c7aa3c074d2b3fdb68cc1c7ec9fcdaa08c07a992796a5453664eeae4a25fff0c3dd6eec745cd9c49de6fa507c305c3c098245b169c7b4ba742682789b72c5d5590cd84c9af1da2e9db86ac060dad02d669dd823e5c49d1469971a925889fd\n\n# tcId = 212\n# truncated digest\nmsg = 313233343030\nresult = invalid\nsig = 8bf28fc789ca5af86177bbeb771fc544300dc23c3be737a12cd9feb74760efbc51b0f8ac30966d7165d61bcc73a7643fb9f0a7fcc4bd6f0b062e9306dd768412cf5fd0700d0d201045156926d20d64f37d35a52138df70ca3601e9d7159935fbe64ad922b935f677645b177798df4b1940c9c157e17e702045c8217b7e52a94987b8e54c5dde1ea215b3d2c4a9212d59dfe84b8f730604f0e7d396b490b9bce7fdebce76a26ea57d021a4f131b668b12c66677c92445cf7f204d6210c7d1a25a4713b75e1faa99f971f9814e284b5961d2508ba3ca33a5a2ddc2ba20d9332110ba9abbe202a6c7ccd35d41d7a6bfcdb0b0cc9fe0ed8941916a538064d4fd3e51\n\n# tcId = 213\n# wrong hash in padding\nmsg = 313233343030\nresult = invalid\nsig = 6f3ddf150253e805519b99c3e41ebafbcc81d39b328ba9dd388107ef1e7136c6242cccf61d3ecc213345fd8b216c3cbc1ae77cd8747d75c60cc648622d25a35538558296f3ad3df183ef41c3c80c4d5659186f9a34830ca2b4db950051a99b7d23018ae6492ed396eb85b665456b482e81b3f60ff565b3b01f51268c0b4eb8c455627e618ee559a74678d0338cb25411fa0f1123fa9ab38f666068c092c168b33a971664a6ed4359c1e1e2d8c777217d510fca6367cc06b8677e02bb6574a218ee48aeacea51405531d81758df68d2eb7ab640fdced07029437a611c1a05ee3d2defe2bc2d35e06226c16141fdba4810b14733e8c7aca430bca49257f86c9f54\n\n# tcId = 214\n# wrong hash in padding\nmsg = 313233343030\nresult = invalid\nsig = 5a791de95e163c86912d6ee662ca82a3e93e2a82aaa94f75def7aff0dcfb6d990618b8688caf7360a08fd513df5b4414e5e604a2bac126fbc1e93fa0fef726e2ae74ba63bb7b4f3adb453912c01ec5f906dc14c9dba75f3e0f6ef8e648fbfd0b5c4f166b806514293430c72712d389ce8cdabff1826d9cde88cfa0863d01b1b8176a8bf30e077fce691ca5d1b34f0e1052c9112c2252c445494176ac5a6d277f9b7c8dd3a912d8eb42ca7d76304028c3e51f475065b8a3db1fec6314f6eb78115030d237b91bfe70f5b84d1cf9a879145528ae3ecc6d8c180a2e70740df10fc0671dbf9606598a2c88e43af588f74f890e8f9d3bfab157854bfdc1784d1b29d4\n\n# tcId = 215\n# wrong hash in padding\nmsg = 313233343030\nresult = invalid\nsig = 86ae51d56a520d4cbabac1a460ba543ce3eff99c2eeccd54f823821f894eacb30c2f1dcdd6db6e6db4b265ea54c4310f0e599256516843323e2c39df9f0001f2ae6f5ce2659c1b6a41ab5fef8ab823258923be1dbe3c0db4705094c669db4960da4ab9aae2ac8ee860c069acda23f8c8cf864c9c37582126c6f918e04a869b8aed52c8d0394c591ea16de6506c265e482e2b19e1f9ad529bbefb099a24c8d53a8991730fa35b76f60796ccdf0a8b7d027ea1a50e89b7bcbeab8be4bd52bb3b701b42dba4ad1b0056f8d9f499a305780f742831b0bcf2377dd986f143118ac531e880be5e59a3a022e2d50a4c4043a04de9d2208117f34beba0bdd3338e6d0899\n\n# tcId = 216\n# wrong hash in padding\nmsg = 313233343030\nresult = invalid\nsig = 75e3e0b1df032c53890bf0d394201638a779d335d0e359f6e88fa547ea30080a90d34b9605c57f798a8d8cf76655b1f5d023f0f7cdbab9e40ba01480d5c60b74394509baa6e2f38453a0e9ee62c6fbe8dc03360af4d3dd11e6e5b964ea2c59b3b4bcb0fccb4f40777f4a998e738ab2720a74c5e7f2b9d8f28ae20bd26447cc4bb6ec9164b07bbddd314706c79ff9c0ee7158b30d46751151eb29e84c13674026301c4f61aeb3d956606af22bc2680c4adda348813f25e171a699339614f0935d4046cb88cfaf3952b765b3baaca5a62217b922a81b3823ff588cb18494c01a32bcd1a669e87cc9fc8036b4d0130acc57e97546be7b8af622bbbc50b5ac157099\n\n# tcId = 217\n# wrong hash in padding\nmsg = 313233343030\nresult = invalid\nsig = 19a82c1a8baad64a96feeebd38e0f1d401a289c0b5087b3da57a3a996ffd0b748a4", + "526e481184d3003a973e5de86bc1c3b9d1d003afd229b8cb4e94ff69c4ff75bf8220c69343cda68972a0ba4ec88804fb42c9048faaa9a84d9ced011f7de491d0a00771e393239ffb8734121cb56ef1d905ddfdf34aa3f746914351f005688bad24b8f37c64269e1049d7a6d2aefc370849bf891faca398fb4a367e4e0ca8449e7d40da55788ad2a1eb4bc2403a1f37195fd816ceaa303522c6f57fe704b0be40f3693d0172382c420676f8e7ff28909d67145c98f5a224c2511d9e1996de58786ec87142795706578396f8da212870694bbe3214e2c506d2161b4c5ea65be\n\n# tcId = 218\n# wrong hash in padding\nmsg = 313233343030\nresult = invalid\nsig = 3acb0bb95b7fbcb9ded94b8f6a3aa1b8c4780a0e62f0dcff0befeb17ef17a41228921cfb610c58140870f26f87dd0899b20dd15ef90aa1d1bfac714a86e874959afa6ac288713d0439c0999063f1c52c823e89183e62b92bb48372cc09266c2657daad449bc937ae8e427fe588080205629a4b0116497214dbd818f51ef2c86a28df626a6d11ebef52ce40bef9a05c78f4f5104acf0cc1724a899d372292a21c7021a4fd7d25b390b8f3d18dd5592802705ac47e561218330de96530cf08e81a705bae7f4a44927ed073ed48ad751a26ffde9b3026c07795970c77734bf7ac7795f8ff440e8d122fa2a3d7ef9861ace40a0608adc2d675aed6b5cf9d1149667f\n\n# tcId = 219\n# wrong hash in padding\nmsg = 313233343030\nresult = invalid\nsig = 90be5311188e6796fd1d6ac1b437c6b8ff950d18cbede72832d602f23983a67cfa8f74a632d93d9f05e146bed503c4c336c32f83fe2f510282078a2946ec4433e2fb0b6ee9033db3dcbfdd84ef6c9e45aeefa5102a73e27cdb9b31d16de42cbb3fa392e4d947e38a1143ffcbd0ed5b99711c5652e8ba85cdd68c385e1d00aab42a8e3b7c6bd9f13a3c553686c00dee411a022ad19bf8bf79e7da4d40ce731d07e75b1b8dda2a4af34c3635a7a784240db61e19a56e287997379da9f845ceafd08d2fd06281c943eefd30912e0d8c70d8ca36caaa2a529d6d5fa3c2aa8f30609996513417f0e274dec8e92821bfc25801a17789cd9f570ef2d08c447c8b28dce6\n\n# tcId = 220\n# wrong hash in padding\nmsg = 313233343030\nresult = invalid\nsig = cacbd8b8da45addc759e8f0742aba0aaedcd8effcbdb44f7a6bba1722c93ec460924d4b3d1c6e068f248c5a85d4e2aeb4be097d793bcf2ebf421abe9d7a80c95b29434641c0d1bfe67348973f48503cc658ff40e6fe6fa8651237cb5b1f630f47e0e2af1a5623977808f0f9db52445de82ec3115cc29337b6e3af60e9213ae71cdff695b61322cd5a40014794b98cde97cb883c6fc9d8dcf36936b9042ca217c5fda65c667cb146928523f2c5c66eb74b2ba235f631deb440e94405642a4173abe41ba7ddfb40f2154fcd0098cf38f1ed3059cfdcd90180d7eeb68f072b7bff8d2c264296073b66aa751ac8d676935872506bba9d78d59d8e9c2330afcae146b\n\n# tcId = 221\n# wrong hash in padding\nmsg = 313233343030\nresult = invalid\nsig = 0492235b90728c9c26efde341123d4dfa06af0a6649799eeb96b3e021d83e629a6dc48372f51b7ba4b4c671ac8bbc1b04edf82bfd34f671888581584a9e874c68cf0588dc60aa4dc2a6530505799c3924c81817c458d4fd213a34c9c3c7237face791df8f41cfb7604655f58920e5f72c17cae980d4e0a44bc694177cb957fa492cdd370cfa5939240240a271e44698849581b308d554f1ab33055b11d94850b11a9f082310ff40d871381a314443d11dc07aa4d9445fe7d34e140efd93b8cc897770e3d250987b5e9feb7968b35c82c9be7d1f9b7fca70d44d23d4e5060faae1fa6ba7f8a13a3d519d38be5c34b4f79acaf54fa20a7de00883bf91f1f42d5ef\n\n# tcId = 222\n# wrong hash in signature: MD5\nmsg = 313233343030\nresult = invalid\nsig = ad4148c33d3e46dbe71be2268485d23c763e5943aad735c421100db1311e0836234f1f19619a17aaa1122ff94769e5f7e93453c183d97f4f3e5ea35dc180061ced95bf6b9818d427886ff1c1743ba6c73d61b967f99d54b566e8f56bf5437184a15d62549c0cdde5dc903c200027299049deab8fe68510ced79915f3ecce5da54571f2ffc2d24ce44c679394cc0810b7858fbabf75416c6495460b9fe331cdd0bf007ca138c78589664350d18e58e3460d015cb2202cb4f2f342ea1ca81b534e0084a94918a62e058d2d195285c34b269be0705338ef98696ad53d4751efefb6937c99da703cbd2c097428a0e2d0c9cc5d1cb897aa817fde9af8b72295ad0625\n\n# tcId = 223\n# wrong hash in signature: SHA-1\nmsg = 313233343030\nresult = invalid\nsig = a0c87a80a092bff005fcd88ac0ecc25ec92ecfda79e6562b3a76d484ff4ea8bb36a842f214448fe5c8b72dc5190e1d609cb1ae1a951599d55d52ecd8e05a5cd05bc4b5c0af4a521f0955e6b7b2b83a86c4e48f65921eb7568f5198ec25bcec50954b1ab5437b2738d8486641cdadb606d418100d99e0f06b65ce24720eee65cf4776197b718a8da721692f2fb6114ba2fca8080005bc9848ea0cfc3ad18648abd013fdc67edaf941933697993e377f9493affac7204e0515d8ad1511df09f43d239c2036fa626ef7c15a44b6c693ea86c2b71e28d3dec6abe30bd8bc40fa641c81a6d60447b18544cab2cb7eb154097cb0113e33b91cfe94560bb0ef03baeca4\n\n# tcId = 224\n# wrong hash in signature: SHA-224\nmsg = 313233343030\nresult = invalid\nsig = 497b13c7784277438d22769de54721438b5a1f17d9d980d1f55e96380eacd01f1a1ff8b016a70dee9a98398e2a7106b4ab6b1ecd7afeb2e2fc9a2ec6506494ecaa40fa2437c3ab0cc4a26bfb952849c947608bb6316375b239dc3e164957b5d40442f58fbfa141c3fc4cfb4a6d9e1988d6c5f10f1170e911171018cf63a7c97c85c2220cc407620bb168bb412e6d12e8e51eb5d81c64cbc075072c0d9de99dea0eced0a43c7f2d82eb31bf96795fca88e9b6fa4e6286511da86cff635f71acb78e5276851e70e3dfa9b6685160c82add5e53a9963fc147a5c7b0da71cfc7aafe37b01a35d7f12760eb3d6aea9621676674b5bc3f5d5aa9c0f71fbe0da82fd3b3\n\n# tcId = 225\n# wrong hash in signature: SHA-256\nmsg = 313233343030\nresult = invalid\nsig = 521e5af2451d73b61b7af2d81eb427bba3911a3f2e61105bf38e15c74196c8e66d52239936aa1a7823606fdb4d243b32dca2c4a95cb3b302fd34a9c0879711095b4d1e75c59d005836c2b9a05ec1daa63148841b285c10bb70f4683994fb0a598b927415ab2004dbdd6405d57804ea142f21600d5bf5487f3f7419ee2c2790a122199cff03be53847cbda28161f37810f046df1c54ffa9e3070ebd1f8b08b3293c6a160ef6593ab497415c2a086cd5242f3509b375f70e12435b01c21bfee65f2156448831050eec3da4df7ddb04acdfd89a5cbd5f9afa75a8e3871378933c1483c28c1bf405c42625b673bd0de4737ca144285af3981fcaa7302534e8c36e9e\n\n# tcId = 226\n# wrong hash in signature: SHA-512\nmsg = 313233343030\nresult = invalid\nsig = 99886332731f9c4045ed269a8c9dd46ca0d4423199040a2840a7ee7eae4b5d70aa80a8aeb0e8fb1c1097f740e8c702006293bdb2fe24ad9f7b10664d2a06cc3d6b1da9c44a51443f2890ca880bd1879e208195a69cfddd317ab5ad2610dc36026156dbb10841d03c91b87e2179a04228f461fc7af38452621cf874e3cfdb8e42230b0c746a8084d6def1e2092ae2d34556f9352f5aaf39bc4d620a7305190d0438345f54e1a34aebc24b2335977a0c8560d3e9cb0165ab919877af989abac6f0b5ecd110df1e5db3371b9755fdf3be6c0307254b445259b2d4fc193e31143d9367f4c03ae132e033ba91b0b1fea496b1d726207df6fa965fd63a32f7aaa31263\n\n# tcId = 227\n# wrong hash in signature: SHA3-224\nmsg = 313233343030\nresult = invalid\nsig = 02094295d59fe72514e4d0a0621d13385c3aff737e2ce7874fff518dfc14a0745d0ce214e4413a7f055a3136f592e36aad1ae110f31766af0ce505d4546406fbeb189d7a0e6eba9769dd80aeeeadee774355f3b67a85cad0b582b27092a35d35a07355390b5e38ca377e91e06199a009dc3c39d8c8875b3688b40c506c950421fdcc1e5f900d4e0b9fde2d8cfde24427e2292e106107b975b57612a989de5db90044919e926830e3a4714ad3ea39fd5d030725776fa93110aee8fcaab761ee54754b6cff58f8e569df981bf161d6580ecfe3d78e3b87d67cd64b23ab6498a341561e2e4600c053fdf5d03a73e58f3581509a483911010c2652197077d78dab4d\n\n# tcId = 228\n# wrong hash in signature: SHA3-256\nmsg = 313233343030\nresult = invalid\nsig = 204ac3fea095bc0b1ebe86150909295afc4b9a63465d0419862cfc985d803822207c498d306232121126da46cd03348c41ad8907b61858d3aacc37cfc481d5eca120a23de03c7863103b5c572c4e2b1fab70fbc0760fad8c1e3cc710aa71c8d0a6571859bf9d2a622747108e741050ea7c011fcfa6ad6432f4b8df0af2824946264de79f5782c215d8903f1497f69f58e586f284b5db98d04d2df14d8bb01ed6f3189c74f9b5f742fa4bf886adbd3e5f2efa23730da4bde05e87e15bf440f37f989ad8dff3fdc4389f77b03dde21d5be131817d498690036537ae789a59f48c8d3d798ad7daa16669ee2d7935d1b384f7617e12ec302007c7ff53a0b1f6a71d0\n\n# tcId = 229\n# wrong hash in signature: SHA3-384\nmsg = 313233343030\nresult = invalid\nsig = b539fc190c1d5e3bbbf9302eeaa7e36140afc6cc42658748109af599e14544b29e0b7cb488636091a48e34ac785d0accdddf761da9abbbead603a6d3a53744fea294fcf105858960f2139e87f09f82dbff7491791c0e79e66aa966a1e0e177a23653d46c36f5176171a44f02091ca4021b3040faa0d4e9119a1bdd3cf42ef3919d8d494b5393d5014b21c5f7223a3374e1de34c9286de91335acfbde51ce833b54a4804c47a2fe805c182fece58a2bd3574269388c7028dcd2d69bf4e10864ad0ce0776b5b0e1e2f5be90c75ae5d46df0ae005e4981124492e33127c278e67d05e38ac17e364dd78ce3e7faef8029f12c9bbc4102d6f5c752b60c637ae1979d5\n\n# tcId = 230\n# wrong hash in signature: SHA3-512\nmsg = 313233343030\nresult = invalid\nsig = 875a4d6b69fe203b43376daf732492751e01cb93a66be6ac272fe21c272bdeb74ba333f3f11989ab5c92fadf704f30b2edfc779e6c9462b3f25ac4b9fd23f4a30bd5cab6d009eac89bb5a4d8d0ecf27e531355dde3363645708c9cc8ea4d2cd6335d50fb768de53845b12d86333481dd2dc447156821c7dbf0e258938681bba2e95514bb762141d9ac3f02badff825990c4e3a07c15901d5c05c3fd433dc500aa24d16add9356e422ef03c9f8b7b478a43fb967a8ad16eaff0bc7b0223c7e1ddbb2aa7fab4c81df742b143450aaf06ae48c3e2d7f4d7cb0a0d2fd1362acc8d9653f84", + "88df0548430ff4f0a8dcfbe466508fd93a138ddb9dee83b9cdafb794ded\n\n# tcId = 231\n# wrong hash in signature: SHA-512/224\nmsg = 313233343030\nresult = invalid\nsig = 1c153e1a94bd76b0c5d51d1c91d38afee4db20a10ccc44bd46bbc4a40974c02180ca0b3a53377d694de9c34d168a7466b0bf5954952a98031104934fb319936185dd8e795bed92ec7f8d1487dd9393ffe476c377e406fcbf65011c96a34ec627b7093cf6c0ad4576506d559c74cffdd73700c83ae8c4b6b8189b4b5d4119bc4b720bfb2a6acbd8a560c2642e25f6e8a4ab5ac6ff0ab19226fdfeb02e6f97943227df82b251e6826028460f33b7c6aad633d663fa06aa048b5e3c7226af2feac31d00bbde8965ceaa0d3ba2d268cb2d6c3fea67ab672c7f16f8775b3b41d573b8b99a71fe60331c6243dcee7438a30a8161099a7dcbd9933562eb40bd7d587383\n\n# tcId = 232\n# wrong hash in signature: SHA-512/256\nmsg = 313233343030\nresult = invalid\nsig = 34e2223e4f00809c5128c2dd2611956e8b3177859bd30ba86765df75b2aac2241c6e6fd836970fe68ed723f1399cf1c7a8f04560d776c572d2e53b2d0edb65fa5dd813915236b278c058f4fca84c6dc75de97fa7d32b30d6f54d6aa8318105e58391508dcdc1d15cf235d238a70b085c8007a65e0df54962dc31b098a9a7d06108f07ece64a70426d5d749c3e329d1779125a7c60207a1c99b892022703229cfe852b426a2a46d9407806f911cbacfd98168e8e4f1322b4572bd1f0634c8337b5160c2150dfc37d30f671bfdb2c3acd89646ac37a0ebfee5e1d2a078fa1b4c980a87f83a6b098bd09c865305bee5bbacd3865e38b4414daf5fcc3bbbb1655157\n\n# tcId = 233\n# message not hashed\nmsg = 313233343030\nresult = invalid\nsig = 4a2bd5ed1e053d5421808f7d2636779c7c1e6e1d94c47ae2520332113333f0c3f229554db384561cc4be4615d2f9b36d7a1cfebb85333c0a070a8379293d5e46af0d5c34d71b4cecfee2a190a9bad3baac34aaa8881d048cd2e9b8a74c67a5be02fc27368e5417b4fb6d928254d645bdc95577fb1ba79bc169a9e24466427db64406a98a8589e3e164a5889d205ab861acd9ea5551cdc06515813e4455d202b08b829463dda47a55729961dfd2130ee03c4ca92a8579b30478c2b479646c242a7e9ff0547c7e774a29469eaa49157d53425e0afe0dca68c88cc71aad8a8a00bbfe8f39c36fa3ecc168f605d7333626b0afeaa7465d78862d4d44ad64a4f7a0cb\n\n# tcId = 234\n# message not hashed\nmsg = 313233343030\nresult = invalid\nsig = 5e47e74f1eaa0c542173139c91fc3684c52a3e0624ebffab2ed2bc007a3c7fea826b4400a9145c7893573d73340789f32c3f6770e1b646e814846690a941846578afd0455e9f016631475149bab5a150469acadc1d0486da5fd766a75f2b6be6e7ee56bd350913acdc08e06806a3db60ecb9c1caf58db36b92f13b3ebad4c67f7be7f16156520691dcc37b10c9c3d0215f3e2c0558cfb8d4944e936816d38ea6e3829b736b68cc6156e86f505236f366b5928572826be1bf0b42885f1ea822ebcf79b7008d14b23a1f76a2730848c077fddc5b8982ceee4768ba7733864a4cc0525640f1fda07c6cfd92c7f32715a6edbfc4366e2b62673fea9116a18e600458\n\n# tcId = 235\n# using PKCS#1 encryption padding: 0002ff...00\nmsg = 313233343030\nresult = invalid\nsig = c1d45424fc88ebc3de2cb0f6fef91042822f857835b014e6362b986496d1d0dbf3ef50d71ee2dff5567027dd00fad1e826216bb34c95954ba3a9ee3fe646f9f690484c2586b96946efff54d6591024d251cfed885d6e8d36baa14757d7621e75ad521adea55a217ba7e6ea0a8294651d688ed395920975d52f607d542126db2283f00d9ebf48e395bb83901350843cd7812072b67472d16cbdc2cef414ed57e33bc725d53c5d78bb3282116bd3ee672842191e9a5794d78d4f2bb9cf600d6ef8f3d538881c9efb80c7f4318f62c091b0a3d13f485923bd0561bacfd7e08f75c26a60c8116b37524f4e4b40cf488035a796bd19d3ae5cba8bcee923e021a78183\n\n# tcId = 236\n# using PKCS#1 encryption padding: 0002ff...00\nmsg = 313233343030\nresult = invalid\nsig = 20835e06ad227e3e7868ba812b0361062e5e7204e2a0febf12eb0efcc5cec87328a0c0c39539c177f3f81e50f8f731c6651c03d865cb1ae667c2083132841ea3bd9749a54fed4a9d04b9f4a36ecc11c31202b79f5c7e2bbe0499eadbbc7781e22c6b182d5eedca6591af8e4a7665883666e30a927959ce67a149a7d03c7a863c16eaa980e7ffacf844daf83b5958c50c502d742e638f97067be25eb0c0c1f26ae9da1e65924bbc3a963dfcaae959300bae2240881d9f528d14a9f025a7feeadde1301096479d8ef77bf722dda463ff63dbdb4d7e5fefb4a0428544e2a8e9b1622b9971f71671cf32b0c066a26372c46294a66796d80a498282f6da546ab095e6\n\n# tcId = 237\n# invalid PKCS#1 signature padding: 0001ff...ee00\nmsg = 313233343030\nresult = invalid\nsig = b386c91fe71bfe594a2de2b2a0db0eb097178076afca8fec5913337edee509eb6b470eab1e4553b3b346d85c8f2fb31b6afc301d4a545cd3fa2b7c4157d501207518728819579b51d15d59318e8eeac0b903cf3e770660dd7350336ea6431057ff68e47c9cd471d616f25043d099c8a1aa11a9588e5b9275e3b1b93c71746307c277b74dc429d9ca2ec87145636778a95707296d980cd8c430e5cf1faea6b62a66b2362c9aa74d6391ba7bfca88aac9747cb4b29df1ea6bb22e5cff500c746e26a95ba0b442b468d1663bbcbd9d0162aabe84c02d002e760e77f766938880776e903ab5e09844829296515d89bc68f8c3ccc748c35dd285676c13877f44f2ece\n\n# tcId = 238\n# PKCS#1 padding too short: 000001ff...\nmsg = 313233343030\nresult = invalid\nsig = bbde1e1373cb938add41e6ceeee683908f3c575c6a15e38481ce6e83a5d95fa3d2a4b0b6e95e1abf165cdfd5ba308497640f58cc4642298100e9ff639951446951e67aec55ab8e7b9f05abd8870ed3bba86ab875e03d935803d13236fd66887069a72d14375a4f17e9fc274cbeedfdfa7c8b77c0b62fc570dc5bd30dd6f9f23f309ca58e004495472f2c4e5095202c47f24ee8a10474144e1d101ae173c387dc92647a93618d779ff040ae424d75b22262146f457e704240cdad3bff67d086d82b4dba7f8308e1e392691065b28be33e52dcc20787997817104d2d23bb67469d21d5e3cb84c035a1d75e6b699cfe363db10d52b9c0b4c82573cb1de5a5cd6cfe\n\n# tcId = 239\n# empty padding: 000001ff...ff\nmsg = 313233343030\nresult = invalid\nsig = 27e5a5c4d9f86f7de7d7220a783c26afc2a6614bbe8e2685171481f928b230abcff5b37f3ef2e384db521187566c70b09d75399385bf2358204fd38c1dfa1fb84fa78c1d5d5e5a869063d544ea812a3f1db8a1f0224fe7e21c5ee25e75a0cf2ae5d6db16172455bad2418c81235bcfe2319def91de16a7e3de8dffd74122bed90dc53e7fef8f77e832f30b2a33efbb35522fb620ea326455339fe22a81fed5b58d9a5b103188bd530439c4855e2db8cd9f98a8129c76a335cd45923ab67100dc2b02f31e0e5282fe526f9cba163715026071b61a2aeb93a5a58b4a8499b3c078cfa303ef0a107bca6d2922ac8220fff175e2b4e87a7a9669a1560aafe3ae99b5\n\n# tcId = 240\n# CVE-2017-11185: signature=n\nmsg = 313233343030\nresult = invalid\nsig = cda6fa5ca76bfe0492ec57e0a3bfff7272dc8d1e25ad1fb338aa050f02c104e63133d6b5b7c4985ebbae9ac036a5b9c03074d60aec8e25baf392a0c430ff05b88e948805d3dd74511d8885250a7b574215ada015c559076686e253ccc96c0815b1291ee787cc3363b4f77d930eb998d7c582b24cea9ce21de9722791989863a27ebc80a00de5bd2f9228775e5a4ceb054d58c9be36a054336971a13642dd9510dd696aa268db3aab2299d5d88f8e562434d1427094d3df8e72d1ef69b4ed34d12bac375223b2a25cf227f735f816e85e17239304769a6082154cd15899fc1eaefb69b748a3e5ed24d38372597de3e4e2a27b951d6ac7db182d6809d8ff511b7f\n\n# tcId = 241\n# the signature is 2 bytes too long\nmsg = 313233343030\nresult = invalid\nsig = cda6fa5ca76bfe0492ec57e0a3bfff7272dc8d1e25ad1fb338aa050f02c104e63133d6b5b7c4985ebbae9ac036a5b9c03074d60aec8e25baf392a0c430ff05b88e948805d3dd74511d8885250a7b574215ada015c559076686e253ccc96c0815b1291ee787cc3363b4f77d930eb998d7c582b24cea9ce21de9722791989863a27ebc80a00de5bd2f9228775e5a4ceb054d58c9be36a054336971a13642dd9510dd696aa268db3aab2299d5d88f8e562434d1427094d3df8e72d1ef69b4ed34d12bac375223b2a25cf227f735f816e85e17239304769a6082154cd15899fc1eaefb69b748a3e5ed24d38372597de3e4e2a27b951d6ac7db182d6809d8ff511b7f0000\n\n# tcId = 242\n# the signature is empty\nmsg = 313233343030\nresult = invalid\nsig = \n\n# tcId = 243\n# the signature has value 0\nmsg = 313233343030\nresult = invalid\nsig = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 244\n# the signature has value 1\nmsg = 313233343030\nresult = invalid\nsig = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\n\n# tcId = 245\n# the signature has value 2\nmsg = 313233343030\nresult = invalid\nsig = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002\n\n# tcId = 246\n# the signature has value n-1\nmsg = 313233343030\nresult = invalid\nsig = cda6fa5ca76bfe0492ec57e0a3bfff7272dc8d1e25ad1fb338aa050f02c104e63133d6b5b7c4985ebbae9ac036a5b9c03074d60aec8e25baf392a0c430ff05b88e948805d3dd74511d8885250a7b574215ada015c559076686e253ccc96c0815b1291ee787cc3363b4f77d930eb998d7c582b24cea9ce21de9722791989863a27ebc80a00de5bd2f9228775e5a4ceb054d58c9be36a054336971a13642dd9510dd696aa268db3aab2299d5d88f8e562434d1427094d3df8e72d1ef69b4ed34d12bac375223b2a25cf227f735f816e85e17239304769a6082154cd15899fc1eaefb69b748a3e5ed24d38372597de3e4e2a27b951d6ac7db182d6809d8ff511b7e\n\n# tcId = 247\n# the signature has value n+1\nmsg = 313233343030\nresult = invalid\nsig = cda6fa5ca76bfe0492ec57e0a3bfff7272dc8d1e25ad1fb338aa050f02c104e63133d6b5b7c4985ebbae9ac036a5b9c03074d60aec8e25baf392a0c430ff05b88e948805d3dd74511d8885250a7b574215ada015c559076686e253ccc96c0815b1291ee787cc3363b4f77d930eb998d7c582b24cea9ce21de9722791989863a27ebc80a00de5bd2f9228775e5a4ceb054d58c9be36a054336971a13642dd9510dd696aa268db3aab2299d5d88f8e562434d1427094d3df8e72d1ef69b4ed34d12bac375223b2a25cf227f735f816e85e17239304769a6082154cd15899fc1eaefb69b748a3e5ed24d38372597de3e4e2a27b951d6ac7db182d6809d8ff511b80\n\n# tcId = 248\n# the signature has value -1\nmsg = 313233343030\nresult = invalid\nsig = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n\n# tcId = 249\n# RSASSA-PSS signature\nmsg = 313233343030\nresult = invalid\nsig = 69a1af712699465ff84ed85dbb35323df339f7627310b2b3cf2b8b9fd4fa5cb0f536680d7bf905347a642c1960c3e17495770bf939b7b3d426ed2209b5e47a6029af076a8e95f9a7fc959041d2e221d433f3836e37b6075a8388a2a6aed1785528cc79348d4dead276988f7f49d827c0ebbbfe7aae9d946f16c7a3598da587710a8d9fc72ca537534959c76a35c91ea90989dd0fce6bbb0d0f8c439188e51e0c82debfab4ac1dd7df3c3e48627039a9d3829a7f08432da36b6ca6d9ba0f9a15f6a61afa09c1ad305c3182e0a88e128192d8d064af7037950574cfd21b1ddb5f562ceecefed4e62c6d12f82135aab2c0a6dba9a181945f56943b4a81faa42fff0\n\n# tcId = 250\n# RSASSA-PSS signature\nmsg = 313233343030\nresult = invalid\nsig = 8c8001352b612c2a8ce94e15aabcf7e077a4135a6cb9f128870ce3f7ed11b74df002a93e9c7929b504f9c33d6bb1c8193dfaab4a808057380c3a142cdad876290bd68472ab37133d50d3805b6037c855d145d75151c42b6fe5121ccb44c7a624e897b298694566698f49289ae0ea09795450ab9d17dd30170b27fa65d54ca4a07835b3d772dc27ca21e8049dc5751522530169aed63009013091fa7621583d6487029c45eaffcf0c9e7e9fea1cee27da0f623b3e4cb8f73db62ef1a818244a4d00165e4328cb2b1af117eb8daa5cd808fe06e6e2058b7db69569e7db51b072381fa6acb7683e4ad9164b2e29bb3c72e99e0f585787a77c69f8a58084eec664e9\n\n# tcId = 251\n# RSASSA-PSS signature\nmsg = 313233343030\nresult = invalid\nsig = 5bec85b7d892bd8bf5452d477c53eab4c930828493ee9092e4abf42f905580413a6ad458f82e78a839a47016b2c6131899abffa563f54d49b07c3f56ba5e4975d216be7a591c6466e472ae46edf2a15c72b649f7089f4f1147cdfbdd1334b07303320a95c6bf8426cb9e6452d3f8695b4e376058db6805a7ad304462ede8d89543a5360749e83ff7cdaa6379941d28a44a60bc36353cf8ed7cf1e3db091d136372d489602ebb1c4a41a6a15663a809e2fd3905a6e62f49a4df64594e0b13737de6c7e38bc16b349c9a71fa9d8c519b6aed9cbad2984e13a0d75a6d24854823e6c8d64d891cbd64cfbbbab9157f4a015bcf9b6bd1465e5badfc462e51fdaaf698\n\n# tcId = 252\n# RSASSA-PSS signature\nmsg = 313233343030\nresult = invalid\nsig = 9bc2fc58e6db83a04d327571189b835a63df65aa3a41918aebd7f97c069cd499978370e4a4e46b1c27165b51f703beb3beb1c0a3a83ed6613dc840b58612a996dee3a10e1907bbceb5960e4f7a0fa9cce69a3ac34cbbf10b404b685763ae3fbafb42f125a060626e1136742d4ccdb469b3a6b58fbb4cacd3f5fe88da8838e2d2645d11618067edc8eb6bf6f96e1055122cff85c423d113cb4e9e1303c268dd5ceca5a201bc17d582a84ffc14f7f5e654a25a89486d54991f85bd24a6112849f38ccff768d1ca3c44e3e6e6a23e177426d26bb1173cba60a7938bde64b02432db83fab73c3fd4f10578f826ac3cea04172aaf43d60455c2632ae06c7665ef4537\n\n", +}; +static const size_t kLen152 = 146586; + +static const char *kData152[] = { + "# Imported from Wycheproof's rsa_signature_2048_sha512_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSASSA-PKCS1-v1_5\n# Generator version: 0.8r12\n\n[e = 010001]\n[keyAsn = 3082010a0282010100c2c4a860236d3c9096a076d6ba5107e0f7bd81e1ba916f7375724bd2b0b0b63956813715a3457ab0458b71fb35a45b27f9ef7ac3e579dea45dfbfd07819ed6b7021aa5336c58442aadd96ca9ee9d32473e9d9278562b4d10258ade6a98fb1c7cfdc3b3716ef5dec58cf73b359f389599b4b5865a9863519eb001c324387da755450db341309360e3807c0565b8e2c44fbd5e6e8d04d006d7ee768b8e8436082a90fa0e837f32f46087ab4a0d9be28aa7da1794ceb0172a7f50ed20f6df641efbcbfd2aac89775c761a7310093c671c977fa18b0d6e01fb25f7a432b42c65359784c689205719c1cf6e3a65dae2da434c326dde81bb6ffffbdbf6de5c16bba7490203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100c2c4a860236d3c9096a076d6ba5107e0f7bd81e1ba916f7375724bd2b0b0b63956813715a3457ab0458b71fb35a45b27f9ef7ac3e579dea45dfbfd07819ed6b7021aa5336c58442aadd96ca9ee9d32473e9d9278562b4d10258ade6a98fb1c7cfdc3b3716ef5dec58cf73b359f389599b4b5865a9863519eb001c324387da755450db341309360e3807c0565b8e2c44fbd5e6e8d04d006d7ee768b8e8436082a90fa0e837f32f46087ab4a0d9be28aa7da1794ceb0172a7f50ed20f6df641efbcbfd2aac89775c761a7310093c671c977fa18b0d6e01fb25f7a432b42c65359784c689205719c1cf6e3a65dae2da434c326dde81bb6ffffbdbf6de5c16bba7490203010001]\n[keysize = 2048]\n[n = 00c2c4a860236d3c9096a076d6ba5107e0f7bd81e1ba916f7375724bd2b0b0b63956813715a3457ab0458b71fb35a45b27f9ef7ac3e579dea45dfbfd07819ed6b7021aa5336c58442aadd96ca9ee9d32473e9d9278562b4d10258ade6a98fb1c7cfdc3b3716ef5dec58cf73b359f389599b4b5865a9863519eb001c324387da755450db341309360e3807c0565b8e2c44fbd5e6e8d04d006d7ee768b8e8436082a90fa0e837f32f46087ab4a0d9be28aa7da1794ceb0172a7f50ed20f6df641efbcbfd2aac89775c761a7310093c671c977fa18b0d6e01fb25f7a432b42c65359784c689205719c1cf6e3a65dae2da434c326dde81bb6ffffbdbf6de5c16bba749]\n[sha = SHA-512]\n\n# tcId = 1\nmsg = \nresult = valid\nsig = b03dd72dc84b305ea811267a489aba10a1dc54b59f92e58546a2f0b6883f543512d621951352ef12abafe4bd6e10c2e5b0eabbbbf1d081b66e535fc9b8ad379040c3c71ec8f2b4f5d319f5d2a0240a767ddb4de1fbc878b2c5e8e1e260217bbd70971789fedb8c677fc8193f67e4637239607c7b9d3511868ccc0df372374abc685c9b4b74b2c5f11758f809b19bb3b5c464db870fea61ddfa5e18be2c4106f3e165fe85a7f8241db2806d0fc3c45d8a7f1eb4ca411a46ac411b81c04fd8c4ced5eff497da6bcb8e2fbe1f95cf4c3e761fc3037c82276f7ebfb7e6cc8534cb4fd34192074f580c6e31008df4f1404ae8dbcb111503d4bdfe6e7107a1ab5cd8c6\n\n# tcId = 2\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 4de4dbf82607b36a5c6778ae6351d83b7ef5b4af64c3788889eb10ef1838822847ceb531914392360b92dee055796f73e3cdb8b3d50910a537dd2244fd7f922780356ea3f01e99e5bebcb1b6ef398d2399bd02472a871417daec3bbe6f89f45f1af0bf819a446dcbbb75c56958d34ba27c8120cee6ff97242921ccf58de9216995fa0c49cb3e6d60e46411b2df3b01b78fa81ca145ce8be594ee009031eda672eb097ba5ed6687a703b154ef616757f94237f4275f54738cb59d36b20a9c84ae133bd715747952f0222573a91faf740e4b7eb4e88abaa91004e72a1709b401616b2edb2784e491f671fcf5ebe326b669facaa5d8a0f6f8469ea995c4db772f06\n\n# tcId = 3\nmsg = 54657374\nresult = valid\nsig = a0f46582cde6be215351bb7b29e8ff24398816fad9e7e2ed6ccf1d0b5296bad827316c18b1565253291fa1c0baea9a735357cff8920e1024ae5707dd2f0cfcc9e6cc81402217d9b4f51e10def2bc2f4924e7d22c022fc87d6c3e772f4952050d027b003ab4267ff227a15cc7c884cdb46bbc7eb38852d0e6d8a12f485ccb0312157097687debb6feaf2b6dac998224c6047c1d5727195bb8ce05a59669034e88de0e4815af00c65def5b9748d017455056cc1ac6d3a77e31fcea4e726eda6be7bd33e509696e54d1d1858a1165fa9ece5d62e493c1a33ab3c94d294838a19f367fb799d6b69161bd9532a6ef317deb919923d78e33309f14a97b68023d600b4d\n\n# tcId = 4\nmsg = 313233343030\nresult = valid\nsig = 9922f7bd01d7ba6b2de255b91209631af92e5537a4554b3b7a50e39f2fe9b6085a7e418084213d445794ebc19be43782d9f80df1daa7498a1c67d935ec00dac6b7a194033a14431320acd1d7f3d4c2b7b5b1649dd93931c49f538c94e34f44fdcb8dac9d31539f87e6720dc887c6605284a6a0408e244325e35917b1e1ccdf5959ca87091827c8157bdaa31239e2103ca8a112cc76a8e7e90f352fb8cb3a3381e52cedf4d4188bf881054b80387605e7041ab149cccea1ac2bb6560b45000601c33ebc31cebdd499c0b8fdafa7c1691d6dcc48edc98519d55d126a757b2a753eda4f2bf35cb191face371c9c34b2ab57242053b9ecddc91e4b621e650432adc8\n\n# tcId = 5\nmsg = 4d657373616765\nresult = valid\nsig = 99996fc01a53bca03382b96e9ad83a3139bfacc5d37b180a099fb5d515a7b78a5c21a339ae6bd2bee8e0f503ba2bf892c1885ad5f4940a99d8d49df6f4623da16c337a011fb895c006100286aed82977be3fda054d1e935a872939b704750c3e2871c33768946e65a737184efa50060c6898247a6472854884fdbfc2533c936fe9c922d881bd5f093851b46693cf633e25f27efd6db65da3ad96f2e8154ac39f2a9859f15c919a92c8cd22285c1f9e87444e61769f6833bd0d56106f87825e472e59caaca1fedd8d4065fad9dbbc252a84c196bf5d6c40bd8660600bc6c825bc7470aaf4ad118c6c139a5c6fefd5223ef490d4afa6c06269ea8c0054aa1f368d\n\n# tcId = 6\nmsg = 61\nresult = valid\nsig = 7930ceed4b191365ccac54cc8a5bd38498c0d0c1fa5a862b6c0744edf9bf1969ec4f3c7c42aec737438acc797b8301aa8b30be2a4a4c1323be0427411dc8be84881036e9062a55fa2334176049305a44b97f90ed0b3becf56f8c9f164ef0bb45729f9fab1d459f690c58f07ef5ef89f21b15da14a235f3012e6f83a7f226e118d3b7fdc9356c39667e1cea5c667b54ec5ca6a0d58ad933484f447c670e5bd3647361c81831dc710360a90692eb7e4a57ad225b2516d9c3bcc77323a9354d1b92d0b3f5ade911f5faac4e4bdbead32f3349840ee66f4010789a84f0934182c2b0cb7d6e72e2b2a6839d03d7c9f681bb7148449161ed50b4466d60002cdb7492fa\n\n# tcId = 7\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\nsig = 16b5ecefcd0167682fbb3601a016bfa8bce9dd5855bf305ff00b45d97e50fecd27716997c37ebf8efd8b269558385b3ecaf2b6e38313508a7a14546107b75afb450b1a0e39cd0760151b666451bab43d7fdbd93771e9d98152ac889bf1abbe1c3f62049c4735602ebd6a90a0361dfa08417ba03c55fc6b7bfabb136851ab01eacf528abb1129bef47f2b04e2aa24c0341720f728bc9fe12cfa5d4248976aaf7035d19c18302fb9ae2443286a71198b500034d48113b705c83e64561762c583dc013cc099c7e5bfecbfaa7b971c8f1a4d3868fe0a4ad518372ca68c65bdefbb726b1fd92ad92ab739d2bd1af97724dc076ba011a9f32db3979ca4cf94c5370b77\n\n# tcId = 8\n# Legacy:missing NULL\nmsg = 313233343030\nresult = acceptable\nsig = b73d6d97834d8d14bb4536b050dbe47db349dcf6847586f80624425065e10360f9ce491c38ae5e48f6640bd3a314eb097f08c859625d3b7e8198b0b9dda03920ce5fc4937adf8c16af3dea2cc3137c2c200cb8538baba5bf36c9913784e079d8cde826f615313cad093d53110ed616591e5c38f32e2873225634ab10fbc7393dcabe742ebae9ea3802031ffdd6356a30aee51d126064584db555657f11cf742b8ee1ee41119b5c2e65c740219bfc36e6f65fe8db8d16684ba4cd7a12b5bf22551192fa75362b142b95a0b0d786eb26c07547e73ee3f3a3f0b2f2f37ba562f61e86c4bb25e7e059ea504f0ea8f5883382d7b17c95c5297a934479b4d40b632e99\nflags = MissingNull\n\n# tcId = 9\n# long form encoding of length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 93611a697f527bb2d6e4193ea34e079e0b8ec8e4a516962a74cc91c157528bcf4654beb487f5eac5ed445f858fcf8461e63fc657a57bd8226d980b212fb5e61111e0c654e0a6aa0c959f20001f6345a60ab14b8ef5631a81cdc552a04ad3f17eef287b011ce401be17900e79b4b045c12a90412a852131a1b9ae7c31051e8fe6f066b4f7e1d8e9997aef10a8c516fa3d782c9aed73dcbaa1d9794de7300c607c17607740f091c2dde354b58c0ed9d4b8fdc43e249847b494821bc9560fbc3c57f363e5d2bfcc488c041f123fc379c7bc80a9ea6ae98b7fb76058f9260c0f5fa1000a7f865e5a63d1d279fc7f452775186608cae1f3b640594d4b3fd8af4a5a4c\n\n# tcId = 10\n# long form encoding of length of sequence\nmsg = 313233343030\nresult = invalid\nsig = a98a9744f1f1893343ba5b702d7d431e40900a3e3948d3e6630fdc0a8f391eabe2f4b5521a2bb03a16053e87a15015d5bfbfb0e7ea4877a05f491bb8df5893c867070256e8bc348f896ca2c8ce4e0ab6a9adf10ab98412e4ab6a4fb8440243fd34749596855cc14745d7096842c48db0647fbd71361ebba7fc263a2d191d719d23e727b1ce36e543cccd521b540cc42e01120994a06a95f43cb83ea51f73dcdb9d5a90683f627a070ba8afe67f9e29b003800479b6b8ecaeb6f2e68bf19f1eb568b170e56d70a8ae41d2524a0e76bfd0f4d27ac8cde9b00900b49577c55384e948c6c6dce081d277c3623b1e749748488e648d9349b9f17cbf072d7083c377ed\n\n# tcId = 11\n# length of sequence contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 1075928172057bdc681a626808436b13f556883057c93b452326c7f51316939cef89fe3072c6f1365120eceabaa0c12ce4ce05762843a09debccfa01ccb9a85f8b0f1f7f030ed2a0c1514ef1c25cce22557d30627cecbac23f9f1fb645776883fbdf502894cc373e18ac6bf47d655894b528369a341ec1e56c2801a30f4c93e5219a24f727b5d41c0789d01b868742dc9225f5bf3b588e5836aed54bb009e44b9598a96bb36df4", + "bf3521cdfd792c2bf9647b01f77e80f8063299ee26a9a36aae9594536b7b3d3ab2fa8df3dfd7e4380eabec23ea09b046d9bd07a11f084107bb6caeaf32559685611791912513f50b0fca6bbc37f93b4c0048a41758228539e0\n\n# tcId = 12\n# length of sequence contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 7a21f13f8af98f47bd62b03985a2e91ffb3c7c3a5af6ec75c2269e3ab11d859cd45a214b48310c7fd7983c8577d839cf63d3c3815302ea649a17f813d6cdc75803a6caf2195fe17a5e84d8a59eac0651232dc793d9b7554eb1123e3594e1f6a57a72e2bfa6b1ed9f1f9a6168aaa83ba2d8b408f3c709354a278b991751207075e7e5548f0c0f764d58775db3143191a210e702b69dfa8d8946b1a65d67b3da6f3451f70a65d29314ce5b7ff13b95cf7ae68854f586140d97a0e9de4ede07be81fe20a5b6330bd9c63f15a3d4904b3a4596951ef5c591007ee2f6ff94fa90abd1093d4dec45a9904eb656713a110faaeec429fea9d1b8c47133787ff6aad3f938\n\n# tcId = 13\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = a7db33f68fd972b3e122e2dc8c749561d14e513e7df9b03f285422015879de35021689bccca37b31aa7d156f39399063a06fc9590c58cee25d83e1debe90037a8713eb0c58194e7b54ddaa86baa0e9f83b604afb5585aa1e1a45fe24f38576e644eedbbb86f57031cb43f3ef1428a33998c1decf44011b63763e47d2b2fbdaa90deae270455607b928645b3f5ac39553feab8f5115c9e2f26497155076c13d76d95af3ef342bd1828e382949a63c54cd0d4c4c53cb00ff4b8e285034e78ee0f7dccf9017839c189ccb3bb8b92f515beb63345c9973e77dfb388b373b8076578e41aa3bf3e86bbd4e1875996ad19c8d618c8d69f4eb06b4103cceb2b8ccbd8a58\n\n# tcId = 14\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 72eeb72c3c87040a35b98244d6d93cd309b65bcc793bf9b10d5f7501bcc4dd8030eea73c4670de7ed9605b3210dee4e53e758fe7741c6410dcdda4769df6351ee82380b5b2387c1cc8935a60d58408fa1a51b485949e0a4d4a82a27e8b2265ee634815b8fbe3778a00fcdef0201179bc4999ae16e1849027ecf92d53f53ae3e04c9d7a39e71f9be774036d40d38777fd6e115d0bb7d8b538e57cbf16bb4d5748ffac01e1b20347bd688b0b45448fb5028fdeaa190e3c288df6dae55ad078b50cd64adc36d471f0c31b574fe86680afac6a61ea7c2fa5942687e1a4027833655f88a123b50e7ccafb7cbb73c8ebcee7f915258b8ebc47a792832242176e2713ca\n\n# tcId = 15\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = c280a6067d62ed84b0f9f44bfb322bad0ed92fd26f5c8ec7e91d9a115eec2dd6f5a589c124b50b732bc5f4e382ad344a3498ba280d70a8e7beb9759972fe31da8ba57b29a13c17004e4336207109385a5e27d53f12abd5bb6059fa917afbd45ca8a4322928cccc776cfbdefd7559eaa86326c21cdd6ae4c40c40b1659016520e5d34b1b63b7cf744a37bb795ffb86d853dec82a7c2c57ec5b14f68535c12279841fccacb94b35049a5feed59496db1ed372f968a4de1d70dd98c64e3e17e541d0fcc971a735cc610b9504680cb615301440cb211a73b6bb9355a677be77de6330dbdebcf6abf3ca83d457dbb951f3189d017022c354d08fd7a5d0f8f63aac308\n\n# tcId = 16\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = bb7d11eff4ebfc47082969640c3883ae3b2a95efc08f0a4c4cd59c61fa5f15e1235a3e53a9653186f09c21e11757a016a671db51ab597959a437f26dd1f864ab7c67306fbc578dcf614c304f8ebf6b745967c71b8093485f74348f81865bcbadb39075497e1ed9de3f9e21209d21ce609d2d11c3fe837dc7381ef8aebf4680e680276cfcca5506d3c1eb5fce1655b566ed63cfa69e4e186140580ec9c7a51aab286a54fb674cbc1b527ef6d778ad228109a93ec4a7dd39c30c5879e2517a540ce7c0f4989b7a930899c1ff51143e7d2d3802c2328000331b9c6e9c887fe8242d2dfbff5f828f604050268c450d74779f8a512dd0632b90c9b5870c541b45d163\n\n# tcId = 17\n# uint32 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 4988c316c1057404e4b0b1aa3d0aa039e0b4dee3917449c0cb816c7d738db50c5e62275770f2ac0372fa84e88a20a23b9c36970c6065c599ab4c23b5b28d260e95b7f020d760e7b7e00f0e7f7bba51ba104ef62205fafc6226c95c0f483486980eb163497d7c33aa1b856ff77bc1dcf94c57442edd91923417afa48fe718285f358a24bc7bba48707155e41145d16d9e37a12b8821ff29c581dbb2f3fb64172633c6d7c1ff6b78debd5fa8faa4623fa3fa93352834c7948f7b68311fd8f2189e54420d73dd5190ab34dc3a8efc9bb7787603f6030f0ea2eca2aa7e87c4373c9b0b3c8d9fe16afa3922639501b62459c34012313c160c8707f740330870ac2273\n\n# tcId = 18\n# uint32 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 8f9a07ec03306424540f913dfd03eff0567cd419dbc5be4a28b3dfae5de126a01d1fe4c6147aa4f1a2f57fd50be2566ef8ef52ad8ff816abb114060d6efcfa64abb0864e613907ee142a4f96d965b3aeacc6c870bdfc316c72d43a5c9172fd2a5ba0de6c521fd82023c511c40700f7b7651e8e98a0a20d84f7be365ee540a403c9afc6087dd5ae8473006fe4203a790db4723520be38fa3b9247075c93e6b5499fe8ab997c7267e495d1a99d5865333acda265c02569040787d5aed0bd4e492e3f76605120bd41840473da0e4fe1a388cadca7b4d543f5beec4be9c3fbccd0442dd0b11f9d79c6e910177aa1c997028d675980c439e61571011ff9b26818a69c\n\n# tcId = 19\n# uint64 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 22f3151da8a6c4d0b32ed9d6fc8fe090e218f18289b5a7d780b9cd78618f57415b49ed7a2ad1064cbeb8a20dcca021cff65e5d51a6d662f947dd2286e4734ea6923ff40acd41cbe4e6b33e4661966a8de0673e59958f71fdc191b24a9ca7b08a78bc318de1330ec7025f526cc6704faa7923c042e561f83719a7edcae9a3cc6ecd91d86a94416d2ef60ab3e74e1f587c0b5c26fbc4e2f67983d4845f907e58866936c80b3159d352383d1deffbb9bbd67a2eabdcc43450ebfda73495618c6b5b8093d49e1c0c32445f5e945227de1e8ce1cec611cbee43cd6956944d6554b5e120ff63899755836df131feba79d7fb06fc3a3b0feda121243ee00cf8965d4acf\n\n# tcId = 20\n# uint64 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = ae0ea39ab7ce7af3075d67f8edd5862508eff6170b43c02e4f592c9101a7da1dd7ef2e4be53ba3449dd6c2a6c1837884f12fa29dbe8e9d40c677d1edb6122f61205b203ab0f342f21ef8cd45839b9fe9f61738e7ed0915ff398a679a983124009fd37fd5bc9891d33f4830aa6f89cf30b59dc3d84cf955ef960a0980f524c686cc8123dcff7bb9dc7e7e1bfb3585bec3aafacd5a0c7ba63f6af332dcd1b5215f95f06d2307cd75dbafff2ac5cdcf4587a68eab0d3d277ac6e999ede44a551a0d266f9358074715931a7787f4ca26a94ece1c963a96f6558a6c8611fef31a5d459635bc2781ecb35e75837829864001074dd585d70b7e5fa6abe2a6e28b67d48a\n\n# tcId = 21\n# length of sequence = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = ae177278bf000f22063be4bbe62c28840bf0d293096cdbda95eb2794930c96544817c7af9e92f22dc81ef2b64f43fc50243ac91a99ff41d05a5e38005a32c519473de62f05a5250643412d6339b44fcc3ff2eb671da073ef72832cd9a4e892fa67c59f8dbdb1b5564f1c8b93ec9e9a1080670e649450b006afac18937a62142e2041cc5394f87325e723fee67bea8385eb8847058fc56bad33419314e4097852994286c2094e4d0360870aee0a6fa2a3823d27eb3650e727845df9dc1af0e475a8325cb9a39f0a9ebb2104a3b66214a7cc02b2ad3be12f91fa434553927dac42aec55b8fe2b5230b0951d738b42b73063b97eb6cf1fbebf76f5f7f5619c730c1\n\n# tcId = 22\n# length of sequence = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 1037912266d26bbb66bc872403272075ebc3c0352ee5201b189db701f64ef193dc2facec45af460a38b8d2a71d1ccb17dd0f8532bd87e5d7f6b8e1414367b5128e3f6035b26054d3331ece1f926c2685f5c286ad0befce4be76df6c26bae8a6df520ad073a058eedaff3d5fc6906e8e1c864d5b989ce9319e87fb121623a27432e2c06e936d151b7657d6500a08e8a3c71a0b491cd3908811b18d00add825f848d6a0290f4c0ee2e289274cbac8c8ee00168631d43e7e637609444c18aa4cc0a887bc104d6ec9f699119840a99a9e6b7ee3dec0d0b4a1f6a1e022a44721066b0fbd6a7c6b4f51401036e755924845bc94de315f494c5c19901b23e62e9db6aef\n\n# tcId = 23\n# length of sequence = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 47fc62936a9113548699f3133f7252e4d2b060969d2a992e4e83e2cc6330f4d3c9e5cc2005ab49f26cebe2834b7febf478cd01d0338a56f262955f61c70bf662a55ecb8848374f38bbb16b0b25bc012197e2b92d62b5c38bc7b2b570b376f6aaab95a134cf6d0805f3e5823bfbc5f57b69cd84fc103d7f3fd7f87186a08dade4522cd32a7cca292d25c02c90ea0a44f6c38c13eb58b71a54b58e42f17245f1881087d32df31be3e83a2716ff9487e3b389e2398d79ed80c0cb355322358bd908d397b7365185ec4f55a50a5879bfa87e248d31a6ff51617b282dd2c07e228510790babe57b466e5d7e7ea6491dd720e98c77124354b3e544d064895ac845c35f\n\n# tcId = 24\n# length of sequence = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 389f60a3f7e33801cc6067cae353b16263aa75279d0cfed16c122b4ed81350538039fe7f43859a1f76bff62b613bc8abbac257ee6eb3e5088e6ec33815281d6f6702f05ff75f2c6260c8791e43dc168f69eedf1d33d42fa5da0ddc9d2f071ab3f9dc0654ff1a3db8c855cdd9941e6c6609aa29d69f6b1b1254c3437196fa871f443fed2b2beb113257da4bde8aa7bf232fd9c0ae7e7419bf977f14c4f2c4d128e5f79f6f5c63939e7fcec231ba64145f8fcf6f43b821b41776811a848d613b5da4cb8418a1a95402c3ee5bd7195666e8d5b13f12b08cbd730938c7ddea9d65ca45683e9de28d618af1b618aa0bc88e3d1db4521dd069be105b3145e54004eccc\n\n# tcId = 25\n# length of sequence = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 7528546f84b9a056e49a848644d876452449b0e228681cf1a83c82aed6d1d68da0da6b880e31d71eeadd4ff2f59cd55340d63", + "0c6c548b4b9c600de0cc4b18d0e6144a5a294216e4c9901250ec8a6897eb39517212fcb0ba823ed763427e477308194927c7ceef49c440c690f5ed33375cf29d697da0fec04e4bcb0d2bd0f52a3bcd209218605eec678ad665e8adc2ba55caf883d14fc6cedb87634a36b0fb6019849693fe47b0e5ab62bfee78b415397887cc3ab293b170b5cb4217f912e13ffaa27f8ae6bdd4210dffa0179d723a53ecf6d4996992ea0ac9ed6b10064bc793256bfb4ac5aab69858d9ec4cf9bcf13c1bca969831639fe8bc372ca67b7603fd4\n\n# tcId = 26\n# length of sequence = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = a736d77611787cfc46ef5e49ca0d39f9a1249326fa77b50e024c657c791da09ea1d363657fb7b9d5978dd9b75a2b7593528e3c19e6e41abbe0e71273cda50382921ec6b366b07f0edc0aedb048484d51b603d062aaa18c404d6bdbd61a7bdbcb32e917a79bd95799cdf43a992ee3d93193f9a20fd113cbe168df7f884067825b79fa73c72b9168f7b83002096fdaf613919ecc40422317fd14b5ef8d2561639a3bcab462c3ef8e0f59929c43e23cf21911be969afe3548c1b449baeab90a8f6b52be5f6cfe47b941a625d4020785e8180eed315b7a6840986b33b6ad6d519c53179a2c3cb180583808dbd3ab5acd90e4ee01687d0946578ed9d7558ab8de8a8c\n\n# tcId = 27\n# length of sequence = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = bea793e3475943e123a0f811de9b3066d85d6cf394e1e8494741d8449ec11eed7b3d796ac69a5a3ee4279362f4a69decdcb1dbf397c7e0e46b9b855feb3b125f3ee8c735f79282a9efd6fb25bef533a9f3641f47d1ee3bd647e4b8e0c1bcb48ca35468302cbb32ece10135a63b4d4e14300d0a30b3eed9412b24139134c84cc2231dcaf505a15ebbb8cdffb96ba06b24f8e85e4274588f20454175752d94b0c71aa8d50a776ad13662c8badce5ba74f4d086aab60f12cfed831ee562d3b9d9bbf4cab8b53071dae0ce35644b425202595f155eed25a8d651349a2dc734130e0bff2f09b12750977fec65c79449b95957e3602104b4b0936d8e41d5fdfd1e2c72\n\n# tcId = 28\n# length of sequence = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 9740ab49e35c355c40c6eb4839c47c85a27231b2b96133015267e10a7b0f786130308be8255c68584aa3f6d4c1ac2c304130b5bced81ce26cf6a0a0bac293f23b31e2f04f5f91d98ff17750b299dc521cfc946134cfc76ab629f9abf5275739befee3fcc9c217e6e7c81a71dae3cf3407e5362ca0c0db20386ea943466d59ffb9e512022df97d666cb15c35b0d1a0cc532e408727e8f76cf9955587bfc1e327dd5f58d1f7edab6fbc7232d1d2afb9616fb5a5de1795cf6e93896a55285f793edec78ded83560b34b4102f505c4f2ab8f15f603a7fc73b75cbbad2bff29c374fbbd9e1d1a6a1dc10a09140bf0cd5aad2ba8a0926b29b3d830959e6c45e8d8fe32\n\n# tcId = 29\n# incorrect length of sequence\nmsg = 313233343030\nresult = invalid\nsig = b5f76f1fd7a6e786981f7a4fa8430dddd9a27ac86f683d4c7abc383932e57e5b15a30d6efc79cd266acac752fa73ff06e3f2169807133d3f9813932cdb7c83de7e57ee196f1785c12341142cc3af2048ea81b4b265ad16408a764b412b7ad96dd29fbf899d8343b01e74b63faba19c36ec825102941acfdb55f8388e7d429a89a5d10e96e2e612e231f8cd857127f6b19c7766e6d0f79d54e9ef54bcf5bcdb457509154eb5cb0640de286e2d4fcdc6941aa4d97f67fa99a1213deda89c78e5373e40a0fce38e71e57da2030575271012c4fe96eae29f65462ce293943952db34a93abb2719226592cd3c651d3d4ee6a36f8082a3f325290869bc3ca5f02de629\n\n# tcId = 30\n# incorrect length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 1c41cc918d7f45458e0bcf5a8e4ba5eecf39beffac05fc670adfca933f8e997061fb546a2faacf4cbc92f7b6da6b7ec97bc142b41f38476458836df716b9b7597072f11848bffaf7ade3871435f2b06fa0baeb08d3be31466d6c10409e3871c92df4a6a5346b5d7c3e82b90539033d170e4950320169c7d9db5159201bb5457e9b3c02c9aa6fbf2b5359f4b657702d37f34bb0ea2841e46c73f6d30ac546c1cc8a83c72319bcabf4ac741a542f2c45fbdbde6f4d8be88906a24efa7f62cd5e7697ef02a76c3fc827c1d2969d8c4ef05658ac4de9ea06dac8c6c0a65bc3d05ae3517428883a0c219084486c8793e2d546be6c8cffe00e07eb7b82a07449c726c4\n\n# tcId = 31\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 1b80690c323802241d2b9fd1b024571fce1ba770566018753d6434d0927336d9d4441a845d629ca275502d14bf818ae7a58ff7af427c3b8ec88997473537cc564267270bb2be0030e0cd934c417f814091831fcf776331daa9e73b7e426f73f0ca9c1733d015f37cce5893723f1ce9fb2fa0bfc3df6fe7ac28549983fed2f05b70eae4648011da36855f892dc65c06c909ffa179a8950501f4e650fc6a1b05ab988edd59aef685d5b05224445d9603d5b816f1ea3b3743fde547de72f15ca60c305c6f493310d22e84523b036bd71b1fc3e38164ef7b954b0bec028fba60c4720710356d080917c1c5abce6d27d3ff35d63baaf685db37dc76568e3b35147d54\n\n# tcId = 32\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 596d8e9730030342f72f0a850fa5ef746f63b89a1e0c48b67a817f775ac937454936cd8400653f4d1f82e315597b9e5146ff3fe4f9412f81cf6f8516d9d440c9c01c6a8e0a56838e2a206216b2f3e419e5fcfeaacc7c9be4fffc7586ec21d8bca6b49a2efe44d66266f298a3b70c4310eb22e64366bbd5f324a1c9c667cf0d970ecb37190bf7c98977f180100d3d6c63e3dbfe382e406128eadcbb99e45407a858dc6a443bdfef2c9531bd2461186ce21ed34cf5715b764c5bb4d4cca9fb59c7f90d9f71f43eafbb256906095edc27679b8c752b6232ad374c668d4ef2c55bc6fad362f8538b553ecea8658adf73fbee8c6c47289d9ac5c4471f74847697ed26\n\n# tcId = 33\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 766027246bf7d6eb5d4a137dfc5d537fe2446156834428d928f6c2c927f8e911fd57db474d55b4e8007a0cc65d40e7f3b13c16ab4c106550e5a89059862a86d95b2de4dae32d29f7fa0ab67bccdb74f90708153e5c726614ac33d61b3ff90c90a2c8b7277dc33e677647cfdd303462ed192c145264f253cfc403bd55a48855ea683b3e0d39b866c9408f149f76beee227a9b22720cb5eafe4ccab94dcda783ce5a15c29905c2d932b57eaf359e1e066ee4e41f97ee2338bd61f01bc0516463a6189cbddbd083e61f82e6ed918942242ca178de8ec45d9c3abbe0d6a621fd395114ec2f53683cfce25c5d5c5758f81bda5f2323c4f5897e7bdb5e0b1c9a2691cd\n\n# tcId = 34\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 7465093e55ef94f127a95582587d4096c69391e5fd935f9679cd2423d5e4e2edb53e1c6106f12e57fb372f0ad6f0795fc9619651568834be5f78d4614498b79615f894058d5e9be91138895fc5f38f4dea435ee9d8f9a43cf3bd98778b1c6d17ad4285338b26ac1288b97c4b2fd1ad27d02c152f38e2cab73677de734e56e6d48f1cb5c8bb5cdce8597952fb63ab5801d60acde502e5583825173646d4ad4a7f47dfe060eb7eaf34e44a45f621a57c6afe57a4fa2bf785b09f0ccaa2d6179f4169b65bd8d71b1ddb3ec92807708354cb10d10a4f198dcd1eaf8210079b12ec50a0b759e0f32103f46d256156e8635c99c973a03f70f31e32ed7c441dd4d7e36d\n\n# tcId = 35\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 7925db05fc296b0d369a6695038c4196ef66d47f0a389ea05f0904eb9c048eeb464516de247437b2c8aba8fa6f95b563c982d21f5141505d2676b7691454a5f0c9c9d07d19b81c901b01f9c1cf5bd9b0d5e0b2e244b8475a1931efd5676bc18f84a8bf97031e2fadea1160ed8437c2dfd9a8f7fa918e93dc8803de821a067b0eeda6a6ba7c0a74f403b3fde78b182c7a22b6ca779513e0955a8fcc69d9a6d7d1e7960c032539f17322cc40e8698c146df8448ec2a430203dbe53421f2cf19158bfaba36840a5336a775200395dd1feb4363a4df2d115b6508fb2a52a7e1896a85fc778af2e014d485bd270de8727640d7e878fee0ca41b552241a83c1531fcff\n\n# tcId = 36\n# removing sequence\nmsg = 313233343030\nresult = invalid\nsig = 7255b2ff2dcd7241daf5c0973f37f460e2ac85bd20d4310c2797f2e263f4f8df1a70eed714bf5fb19ccecd66391abf0d3d6266313cf28b828694ceeb9846e9adaace75f691f9af5818e05fdccb2e2dc0c9cbef64aee2e058a0954ec3ac9d5146073796fee6f1fbaca676a5cb70b00bd0023b7d171e4f79d22d16fa3d6886f7695ebf19ef51d0d6e193ca73939c620c632881a26d61a354184e00e805e20326173fc14f1e0ad0e85c74272138f58345c365e4e46623c624995bda7eb6be14be0d276d6b6ab770b1d1e424aeba562e80bec509fe3c3646f455ad9f3ce1db8f8b923aed9ac89a72505e608f3ec9e58be7bd130e81c1e7d3b0bcfd20bdcda9e0945f\n\n# tcId = 37\n# removing sequence\nmsg = 313233343030\nresult = invalid\nsig = 9cfcb1b8abbfd5ca02379491ae39e3982ac9fe8bdf9577957ae39cc3b7c82815063a179822657aee3670e4b37436d47d7c24b79f5ac06d14a9ef51d5d48be524d09d1b8068b1af518ec4c80e2da596d9cc5f0fcd261a366ddfb191d0767e02371184ebe7b5999879ca805a79c428315ebc350ebe3d832fa0bca87248be57b1c1ce72df271cd7826888c43dbc4f187640ee5cde3ee3f004b530bfcddfc0eec7884998255351c7cfb7ae5d8356fbce910df9ec471ecfd15c3666b7943ddbbf3c688289ce3375bfa8a0fbf3f6078376c5f310690872c7e608b87b680be66d91630c8f3a71e44906c75560855ef3f341bd8cfcc1e49cbf77b58222ee1288b6979ad5\n\n# tcId = 38\n# lonely sequence tag\nmsg = 313233343030\nresult = invalid\nsig = 67c3f8293b514637ca21417422cad5f3c5f39fa97cffafd617ac72649a9026047e6d8ad968e48a9523d0883666dcf1d7745e2bca246f01dc285c34b87c10bae061e8e9e9b27c673e43c311bd23531443960f132d78e667ea8d22e118ada4efeb34a84d147b9206a5c462f89c49c34785416575e7ec1d61c0cddcb4aaca309b44cd5a5d0a0266e7dd71171e160b761dc3f12024b2508196caaba0102ae74c7dd1cf1c1f45127cf532f274489e9af63c02b2d5664375faaf1b7ba2b556d46b145c28a8d123b5c88c0151698f7771b790c00c17e75bd63d48406b4b245827364fcafd4fadf605bc5f68a78323d362189ce601a791", + "9e7927e3c62c2149c99025d5b3\n\n# tcId = 39\n# lonely sequence tag\nmsg = 313233343030\nresult = invalid\nsig = 584ff1c5a6668279b29b0e4a49fd2eb654c7b6466e76501a79cf204540da66e98d74abb67a990140e2c580cc17cb0eb9a0eca5d92f05c742eff0a037e841f22baa1144e2908df2c2dfffd0574eddf71eefa0a6d9eab16d29acba2af2ea9c6b28f9e577cf24e8fd68b160047d01601a407c048a62af4380b2bd300277f3f95531e0c4648567cd043207e8c80fe93a763214ded5c6706fa2617d8e0e6cb27cb2727b966122ee5031197c1c6f3f84ad1139d867f8c770c3dc0de731ed67e3fbed068ff86e39cba44201a309fc75b2f7c7f99e4282f8e1c7376a70198fc8d3564f7d015c7930658456a94f594abfb6eb6c87f41ab340029c57c761f415f5e5faf6b0\n\n# tcId = 40\n# appending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 19ab49725adeffce9e1be9623d1188d5449e62403909441891a6179d5803dc61e3c647858d8db24ab61aa8f1160db289e7ea0787565d28b097ac975e5602f4052b703de1211f112380aa9264180ca1ac117fd21db9c2fe6b32dfa4b9e6fc42a94e5be8700577401b0958888adc4ce5d2720ea79b1e869b42b22e885224fff14de367bd9765e1e426bea325c7ee7982d7d234209e9f07115363fceb459572fb14c9b2c1477d36d687dfb2413fbff70a7edebf86a7bbdb99b1b6de454544597d499b240867d2fb2b5efaeeaa1107ef4fd62f5684c44d1aee075e52b467187c3312e46889edcc39f3e0bd9b57490c98022c89e5f61a2dd5931685e5d5e8fa1cfcce\n\n# tcId = 41\n# appending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 7bac3340b1498d463629f91de4401adc8794d07610b10b81ef8b936e4a1dd4e7753ff7befb08394ec3d2213a969adb00492ef61247fcd77e1bdcc4f5bff41aaf904ac021b194b1b53e8763be5331e71f7d0f30a70b12c5e1f11678767704f925827e90097d8116e3268a67b77ba40b2ce3f29a8027e06d3072accb1638a08d119819350135d7e3713f7366becbba4797b294e7745476b57504a9464cff1d43bd6ac7b9eb17c9017e951684d1d851737a4e0785be8f50e9981af883baef33dd4bfb293d6e86a8ec34582a5508dbf1860ec5906ec9b18b2dd05ec3df360a5a756cd0328d2001e752674cfdb5080371a9bc62a56b3247f900eff0c98b426cd5aab1\n\n# tcId = 42\n# prepending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 2fdcf46433528f55e55c59db36b48325fb1450446cdf238c5af6edf60d96eab9e0b7e0dd7df8978e61afbbbf98eea261eb18d05c008eb994ad3a4b819d3cdc530bc26cb7e20ae25784fe3b1ec655370bfa5ae8fe9e9a52d4e0d1ea59f579f774df7fcdbb1bb0a46ca9f793bf4955aef584d361c412f488cc4cef9306574dc9c6ab9fd39846b823b4baefa37ed955c882755656c415a4d9c30ffca9da196563154c0935ce0b4445328bd814b2df982312a688faab1b6db92fd6b37d5a55e0af70db5d5cf3e35e5dd626341f53fb3c28514c9c6812f725d5671d9221dce918c397d7484f0a87d884bdb623003bde8eecdcb87aad7227df07b6e738c3db1e46c932\n\n# tcId = 43\n# prepending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 671db30f2d644b954f940763486a3153300b841d03f3879e18d4b146c850a998e8bf284ad997b5c1bc91b053be869a93ddc439c1360ac22e54247c770fdead309dc2b8ee1fc192528751ca97c5cba6cd833e65047e1b136b9e16c89d339d1c4611deed08d78a24573506729df3a67ab6273d653341875cb15c4aab9e32685cccd6d73461605f2d397cc7d8249cb374ef065aed42378c939b3875f64f16fd5b59db0158569e6075aadd5206ce7650a0095d3c11312c3e5f21dab98917b59aa5218b69339853e29fd50949fa24302c6475ff232929562f03980606412ba6b58bfe4baacaeeabd8f6cbe807006c5a527f368cc7719788bba8f5e3de908f40d2fb4e\n\n# tcId = 44\n# appending unused 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 02889387aedced02dda2786e1b3229958823fe9784b81f0c19bc61920ba00e34aa392409c582fc9f18dd2db125bd47e25820665a91b4832373588a0d2fecc4dc2921da9860e148896efd00c7525c64fc8defcf53551ef8970662b43cdaf14710055d490c031df27206adbed6b4d2cc5e65200eb3e37eb7b3fe5c8897a2d8f1f1546459f1888752cbab6657bb9931c5dd6cd106c114e9f15aad0898c72eee9209db93e8a3f4ff595778fd0f70e205c1e21cc37f64e741dcc5240d9709115781a17ce1b9474bd96e6bf30e320f95d9cd4f234bbcc7d23f493acb5d0a58dd84e1fb1622c08940fea7f6d1c842a948ebb5f4f478b02e8282dc55e69cf014509fd770\n\n# tcId = 45\n# appending unused 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 2b9fe93da30f53e330a798d543fb4e7fa92130388c55091d28e80ca9ef40061026a0138264c8063187e1fa37baf41ae159d1d3899ec9f22a6a37325e807ac8df2486dbee7f287a896e9124df0872a941fa85138333fad7619f010533e817c23dca7e86c7e99c191e3aba443d80e4c80fc45fc0fe53a6e01df3ae620bc6a7121c533091344c52fe496c349eaeadfa63ba22c58a9070f8d4e705dfff90acb355b789115e3c79e8b146587b06b2167a852be4622354152d24a625bd0a176ea2d3a98fecd4f455fc9f2ad3b4b20ed21bfdeeb498d18fded0d4383a9731b9ed2613dfd13aa2e603e9680dcddc3fb5727fd63dc34da27d3a355079adf6ae74f37767a8\n\n# tcId = 46\n# appending null value to sequence\nmsg = 313233343030\nresult = invalid\nsig = 6461025c5ec1eedde863cae192d8a34596d7d620ac1e14abf94d68ceeab229af5c0b966e70e54cb0257a8e26d60cbfb4f40d3ea675e7aba2ce18f2754a8130a0f38018b6e0349afcf63ad02b7bf75cb370b63f2905f2b5326be8bf74707b69487293fb206d4dff1ee0be775c259bee1d862e821c10afa60c3f6e9c610af5c84cded299daa97652a1614f649a90c188622b501dbcdb3ca4d13e19221899e49579a6c6f36238cb3f3d67d87d2df3b824e64724f8c3b8c2755e7384ba0b7cf31bd1e5ff16cbde4e00e5c5b866702467502ab5c1f226f7e2caca913d993755eeb6289af7b75c9548a28f9d51941c5d62ba37b1c76dceabb705fe0254d1d603f40015\n\n# tcId = 47\n# appending null value to sequence\nmsg = 313233343030\nresult = invalid\nsig = 3047b4b63cd0273a80b6162fe1d13a5b92c1f93ea91bae6a3573975e98016c13299e73d8f996f86573e389a8554de79a9dc873bbef1c849b9643f6f75537fdac9e76f07e94f3777f97c2872b351096a67d0ccfb3dd6b415480d55caad089fabfd3a3de04aafb83948734eb9b56ee5aedb66bd539619d9b5e5ab4fd6c94f74ac3d1980ed1e126a7452b4dad5e0caebfbd7d107dd0c3c0ac654fa5808c2e33aa50598334ea2e1743f45ec1f8a037c869d69b8d6aa86d27720ff214b0a6ec8cf5c775fc2ba8148489700db930de18e0fe5d9e7fd8786d604cb7c85cbffe32ea16a749eb31a6ddd24aaef9ae0edda02b0e8f6bbd1124e3befd7ce56351c4f5632e82\n\n# tcId = 48\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = b45aa577e7ee5a6e0b230fb3a2676e47c064c14007ff5d3a56db38ae488e66f260e9c1e9a49d771cdf507ce9cccaf1d5e864f761134444cff79b78ecebb91f60884828df831c38090e718276fb7a57189c978bea9df2e8bf1e9c20dd402ad88e1e08dcd2036821cf47efb29ae10a7507c9d4d6c6bb902230ff99619e9ee4058bc360143db9da02c08a6fcc9e4fa2e068ae4184a166a64f817e1c5e6ef786ce0eee5712dec4c604588d6f907b4fe8a43a7c0a01257566f93b461c8fc5ffa4d55913185979e93fbea0263cbf99d6af7e4873a57da09803fc435cb233aad7b2b1491fc9a123be89378b4fbeed3f55071f96fd9aea7286625769b18a982c8c3a3887\n\n# tcId = 49\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 090dad9560cbeaaef4a311285473f5cfaa4a264bb685d583f50c4b2c13025ac22959e81fb3b253a0e20199e8ec0c50a554675df9846ee579de3e40e72fc4dacff0f847d26155e2c0c42dac136c2ff5f427c63228342c56cc4f56e588dc4d676fbda7d15f59b30197e21feceea75b205d01c29e691a840e884a2a6b6d2042367932c2f71b42ac28f685bfe80868956fba265bdb96a6c8bd101886f7bc6b92111e2d5942b25f3660cdcd0254f09920ea4fae54e40862d7a71be42a2922f8dfc708c1ad4734e6d3452c902da9ff7c9b653ff5ee152fbe0b039f3b1f1a4b125f4a1162d12ae067d614f6b6cb46504dfaa78535c1f5705b4094176a1f968b4f4726be\n\n# tcId = 50\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3327d0e8a13c15a84b8e77bb0b6aaa8c437a7b52bb793d00a992612fdbf9dd30721884fa7d96d614266d5667cd4f04e665b2d9fdc07c74aa239d523c01397043176ee4fd4fe542198c4ca9575922a629f6ee6f5d23fe57a7dbc060ef98425e2d0c7a368d2dc3126410233a77f2e9aeb8e0ecd99149bb55b4fbba4b49d968d266aae48d88539cbf64ed738c834b682b1960a13640afda6b760076dc84f059f4f4416aeb62b5311dfb900ff945d7f4b597657d6fd0ff16741031bb36c892e403831d99c250c66f54ac34db3f548029ef2443469209e9f36d7fe6f79af249cbd56b30b767ce09dee699cc5903bce7905878db7e62cf9cb0a0e889152e8589e24d3e\n\n# tcId = 51\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 54cacd037a775ea0004e41ccbe0779d22926403ac988d1490dee91bcccfa442d509eeaa6f620e09bf9088f42a3d32b7b726be3b4d5e8e9562314ba96a95564ba1684ea4d132f81c14ee67d4383eac8d6ee984ac539030919f81806be095831db118b6821cdf61591517b38e45daba68fe2d1403bbc79ba77d721a9cb45192e28c4292f7ddb61fa3860ed3bbfc53cf5acf6bf9dc01238bee8083a25d93f7959ad931d1f47390d26c3a417eac4b73c48e6536662f41aa8986a65015532d094d85879051611337474abc9e3eaf1c97850e204d298c8c38296d6a5a0058e6114023af7e28ca7fc94eb70a42d37c1ee69775501642bedacb5dde8f7b75ef096fba3e0\n\n# tcId = 52\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 87493eb1ca944ed8d38710e5231adbc2d21664a963aee4df2fc2573b3839a6daa9269dad4d1eff34ab00931d2e4cc939004ddc429b0c780ba2eaa3e937641468fc3455490906c5c0ecb3c488d3f69a5e2ddb29076a2e2abe36a9542e9b9920db662dea73c1818a71b9299f8e26504a8e2e81e87e713100feb5c75c3b222090987fbe851d53595648fff3490cf6e1b978753ed6250dcb3aabb5498708c2555db98ea4adce3b2a0cff130f38839669eb", + "acc6bf86a177804bbd93155c71f6a754e41e731bc67142488cff417aa2d4d5232eec0e55590e6fb4dd9b22d23803941b922e31b70f2d9a29a1dea5e356719b9fe15adb9bcea46cd935133e2bacdc635e4f\n\n# tcId = 53\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 6dbbb9ae8b55d0dd42bfd45c8086bb09950143d0c0c10b26d1d3d9005fb48830fcd0d720054638b501a2cd7311db9cf664e6c587688193e0fb62f897b295b051c95dae9054770c5d165e2f37ffe4d2cb7e7763381a69ce7d3e0cf8a1ef95d26da58d03341d7ec73c4f843c4b225531996463986f275f9fa7fc18036f69e4e3c3ae3d122c6f035f9a36b7e36e5a6ec811d4791fe7bb603fea4cfcc13044c484431954fcc61c2d103b302698c6470d6a8ae181060d02ee36c7104b6984288718eabceb2c52c36992503fa035c7bf4e37c468fc5783b33d1bcfadfdfd2b04d4db985a4159f7bf08d3a50fe23c1bd4bccecc79ecabd3e0271574531e93f11ae38ef2\n\n# tcId = 54\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 4aeb1e493470a207c0ba34de3a752639557db9d7e86424a3852c927d5ec5f384591c0440b55ae33db33b1c3380c96f72d94a93760155a259abc7ac068d86c44285cf3280f75087c5bab487539c002b933638a7851fa491366e89e8c33d27a6ba8c3bd2af0269bafe24abad6d57c86c5c70f61ed0b3a35594a73322997c49ac194eae12e00e7f5a332146786992c431203f836b3ffb1cbd02cea793fb6a133354436d78503e41055714c7cb74351c4d2e51839f42bbfa391ecef0b252e9040454452aafe63b57d4f8c6620cfff49005718454830976fd6dee6cdac55212a4f91082b64f5968f05d405398881e1c27b1d9fab81e63b21725369f1ab7bf29cd3dc9\n\n# tcId = 55\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 5e005e27f9c909819bca7e39bcb9b83725426ee28521807cdd06c42265a4d0eb4a71f8173edf095969e3aaddfb8c431120fb50d5c5edb9c0b136957245593aa255f06ee0119f301f9ebddad5a826c74c6faa8b2807cce226aefa07d0df0e0ebc92f34d42cb2a0e5c44f150bc78c822b2cb3715f9f2f59e3104e199597abd4c54f473e5a5260da3b826e769b2b0ea0f086c397fab96c727a22bd2758ac1e180e1ce18d0be398e640994b144504f4910f2f437eeb52e597abd1106ebd80cccda505066f884bfe991200b88b6816a80d8a5dd1feced5622c73e1f3964b0148a17bf0e326719d71c8f15189ff676ac154b5c41f787a11443de0e2a953e0a0cc1e937\n\n# tcId = 56\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 7e9e9ae62b8e55e530a179b44e1dc4b2c8ecf08c8f7461bacf03fd78aaccf5ec7168220785969614bb84b44fe5464bccd6ed1073785c8a51d3bb61fe0161d335119ee807298ed0eafe9e248adfdd90ed3e5b5b107db429765da0246c669f65f283c81ca959caee80624deaf312702f407dbc7b4c856b6b28e64f9cd385c5150ceab551f1f17b245915d25795592c2b2486ef2e0095b71413ad195c10c76cb816cd96fd091327821dc40c9ad0b4190c7ba912514d51b8c1191b8b81b7a318d435bd97e50c9c0e459a874230e99c66ec5fd5d9f4af360c744463ca2925df12a47fd76592927d55eaf60014d652527649749509ed6ae24d554cf31b0c3fec8f944a\n\n# tcId = 57\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 45ac5b2611957ad7f3949c0f86abe649e3b6b08aebf3ead9df022741b87c09ab969bff2827fc96ab1f569463e889e2c42e37718b9ccef9670ed736d90a6b07915070f60bba52c53a1c8e4b56940ffcf628184d410da6e413ff905dba8f38813dda5de7d7aaac84794edd80bb597106f239d1f976203c704abc66bcfe04518bc759c8d40a6866c41f56d17a29c81871968ed7e591f0b0deab4570d2c8c12d6bf815acc3f4e281280e2251195b85d2e8713ab632018b1991e381dbd9c750f6938062460f79bb88793e7ac132219c426d39dd6cc691f5c081d705f13e66df9a4b51862d83e1a5add751dd85ef883db58fe7ddf8a501b4449fd5cbc9c6c1b14b102c\n\n# tcId = 58\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 22fa9a0051d15ecc5bece4d6ebed89856e69d8142ffe9a5f033dbb1ad51be298d41706fcf15cae260262f41c847e8685126d300a7da7346c6a27f96f4a72f55fd49d71291ebdf56b3bd6c89ee3cc2583f6e437edea19858eb9c086e248c6ccd5f2ad5eeefd907900047152ed760a5a6f4427cb7c3348c62a4aff532836545a9f98eca5862afe03e1bc4ba9ee7134c8cbe30471331f90da43955b3d25db691268afdf18bbe76030e276128b94e6937e1a14b8af87f4e9de84fd0a38a19d86fda4bb952b7b8b11421c2fe700fc58902a8938d6918f5fb5936889891ffc88a8e6996d39af02c21c4ba9b75c8c0ed1b38596c0a8c271d1b598248c15cb27a31f9402\n\n# tcId = 59\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 97628cf0b4a0b2d52849a51742d35739731c3572082681d8f4a6a5e3db87a9c5af93fac70109aba06f9befed48f069e1db2bf39e5b5645860875ac5c1c09e4beab0793f40c3072634a1f0ebf121d957e4ebeb92b5cb2b42c387b6d2a31612570c902fccd03c47d7ea38062905c2f8ec457d989833d6fc506785a3d86f6b077ef9ea454fa1dc2f8f6ebab997aeeb5c5a275fad733e28fd5f43c44c46658a7193bba88d1e2bc515740c1c9804524296be7321768fdb0879c6564885b628cf3b7288caffb1d038d446b6e8384b94f6fc14e5d7d51f07468d4356a9ed16c7f7fa1ee899ba579f09d65ad7c5e77311287912d9069ff93eb05297f8d24d7a7e37194c5\n\n# tcId = 60\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 6e31f57bd445e460399878f65fd7ded779319a738c1577248bd2a35e3c6e527a51cf920fc367beda727bd540beab689f0d1f82982f6d5c22a44bedcd1fdd0bd8980a09e4673110dc4ccb696973110a428c978f9f73a96ae984d8a3546e0acdf68bf6cbba4d8436717c5c4f136f8640a2ebc5b0596d2ffd677bd80df4fae538ba27c838b76e4eebd2449bbaed35bc66e2dbbd9dc591086af4ec86d66cc2185ec871e9964ecdbfcc4dcac7ac23642f688dc67ce1391174e7158b06afb5f4b86e0b86ba9dea277840b1076e9a71ed9385af6edfa71cdf8c24a960d5d3e0938b75f15a68bc5110b2c6d2785c1eef49e1308d47d70daf8df22838fc4adec798a322b8\n\n# tcId = 61\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = a6038ff3fc350ac0c54bf0a0724734565afa24e28f119245df0fd0d64780d9a814461629f41c8df83bbd3d1a2af15ea3a6a80999a10482478ec77f141a97a6fae9c58b0984683e7695a6a0353a5ffa8cd1ed4c6f5a0ba56d1351f9b26c943f63043ee71323124de90d2cccfa39d14dc269fbfce545188489c4a15bede668855a81caf4e2ec544f27862633d1e5275e012ce91d80289988d6fa7792011a20e1081d994f21986d8aa72d2514f5c9baa1b8fec3b543e4e2b32d95203f274740e7ef56c3721884897af0b41116dc06ae3d7bcfe7656b333995158797091e20453eaf8da37f20fa52e234ebac3567b736053b211cbc73c8f4e753f000c823c84742ef\n\n# tcId = 62\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 1c2a1a28043403ab356f34272b37838011442562695e66e8af127ee75b71ac0f3dd40d60f0a62331e8454f3a422090c24209201a954227cd06eabc05d605f7d6e44a97044e61b9aa40aade2e37611dbe470a043f0df3ebf6c54f715b89dcd88c63adb710386a839308fa1f71abfafa56a9fe678c7d2652e4aac60884cf54b14376d3be85aeb8212888f372d5800f5f25c1bd894aa460905b5151cc712bb3792a0d1b1b85519234b169354f2ed16b3e1beaa7a9da7dd574e1b28a993b4f9d3bf32854ca4881bb1379b11473268bab5919ea3323ed95104049197d9095947433e9356ab2d4800e20fd54999185ae51cb25a50dfd799b9ec575e73d411f373d96e2\n\n# tcId = 63\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 6efa13c513d0ad3fd5e633e565837e59ae8355453697efbf04256bc76010a09fd257488df9d8cef8d78b2e5819182119092fd483e601a8c4d984cb5e8817b798bc70031bd7325be8a7e0b44508a9350ee179a4792b351d370259724e565e60df9b72186ce2800c4e79511767f66aa84cdcf70e646065c942c9fa2dffb16b0d819dc861cb16a52ef1d5f36833a8a9312189898b142426bace8bc631b1b74c96d03669eb92f1ae83fde6bd1f7db7e94a93d117e21f1368539c3348165a0126fe08a60b8f170455d67cae0c1c5e651a635392ad1818d51412a6b6f958a5a80553f8cdb4be940f78a3366e360cb3edef88419571f0b5ec1f1b5829e5584c2c3d6195\n\n# tcId = 64\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 647d39715b34361190bd842b775e7b53052b72f9e85a0de8be0436a2a61ab402237cbb85de1466e702562ed04084366d662db011aac0dbace307078ffbba1b3a37495fe6e604fb5bde54ee9afb15f45308a9a3af51f6c8e79ba69935635360cafec26986d339ab8641a1bff1f1af0c1196919ad4d0c9bfc7ae3e43296c04fd5e353ea5f754149cd618172558263d3f17cb6182befe4c40816be06045e5428da0ec1c3aeb71460802485b390b350b37b8ae1264ceaba74b21c052c295e36068e685cf9601673baa2d935ad3e323000b3397bddf91e64ace3669dce6c704e65142773a27c5a07eaf74e850bd72b9cc464dfc5daa8b6c396d0add2937bce611beb0\n\n# tcId = 65\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 7f8f298c1628a3d42d4a60d93d269d2bdd2aec2b894aff12cb2cc2edef41b4b814622e0afb0f893327e157bca9ac0edfd1b76eedeeda70c0a0c2e8eb85f2098bf9808a0a4e9ae4c738c8f721ce33452c68d0d06ab22184af90bbca42000a90dcf5e3228722db3a206bf2cc6e31c90f1ef233898acc957433760f380137586415056467d43900a7c21d25fa20253b37d7288eb88a9348343b985409843d6491a9e12ee6907233cd83cf8b5b6b45fd22f4b5bbbbbeb152b44e22c3e03c8c18dc608cb5ec6643c17f9165eec5b8135d14bc16a0e70edb5daa70a2d50991040de1f0cf4382ecbded2e6adf8ea5acea034ab00c33b1eaf0f6ab10f62dd30406d83667\n\n# tcId = 66\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = b0b831b5ee661f4eb43b906a2f9ee652f7f0a4346a9e4049555d8bda185e195d8af881f2e36304c8b66abf5f8f030cc0b7ffcfcfd67fefd5e7efdfcd8caeb1daf441f834004a610f091ca2f8c974d51a0b7ca76563927f19d0e120a90393ddd6f999dddd766d2435ca3e526247cb2b649d4ca13d43d898369730c6fa7fba937a274721d21e2e0578f4af4824d0", + "cdb377e292c6d142c26494cc0474a9da3f57c60eb2bc8900347b4e619bae96eee6489dae5e2b94cef512c9f2e8a17d277e02ed744c71215e21e6d95896a5e10a982b0f35621036308ce9f556726d9a83fbdd3ba6df047e56b4793ecbcfd57db1f08e6323b3d9ffe3111f7bbcebb46eb33694fe\n\n# tcId = 67\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = c16723c96cb88b871f9ec6edf3b008e2d003a8e90b93cb0a1927adbe736a8109cc7bc70f9bc3dfbd656db4fe779167306d97782981d0639252d3b498408357d4ff5828dadf89f4f602462330d4c6fd61d02ba17c39d072a87ab23e926abaae6528c2817faea5c8c02befe96d93bfeb86c5fc0b5ce1c24e3a4986a512f9b935625107165179b53a137b013b0717fd203df902631ebe4331fba1631214f1eac855f50c6a5a59eb8aea944b138dc6c1e92da8cfa514b254aab63395880ec4cb8117779c6a46faf28917fe77c399863598284dc3a5d8671c0d2856dba7791c84b207a2ba18be5d685dfa1b3f9b5582afe9904b2d273113e015b1f4194d3ab070e095\n\n# tcId = 68\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 4f0248aea56b71437bfcc7bb572c198a4f9f120a8ceb9a0b2fc2e61af786bc447b49b99bab96d009cc6bb8ece7d66f08765439e5fdb4ecb771193bb8b99e20af4435446844252d29e054c0c75fb0baa20760929885575998045dc6840554212ea6d240af67eda477923499f7f5e7d9c3d95d9fc35e40c17e7d5fe22824ec3bcaddfd71744865f775cd7eca63bd615d718518b0ca6c127ed6288b7768445ef8ab6eebf0a3bd0fb5a18e94d28f09e45031c3e3e8c4bc0bd230140de3882959115af01bc6b9efc05554318f733da51f6f9b66c899324eb2a3f21cbfe64e4772889dc5f52dac755d640182a1ead5e0203dfcf1746b64d6d4f4337228698ec757e0f9\n\n# tcId = 69\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 43a674e2a0fe1adbc05065c7a098244c05581303352a797e003c39309b09d4f4303d1757aae29cb2ef361992c28d955af3e293b98c0c977744971c6996c1dd93f2da8bd46c771885a4634952d0538789406723048454ba3e88d78ff44126eebb0a7d850223a02a64285f678d961b4ea77142bbdb1b708db912425c6f4049de3b75b046463638a6abfc463265494ded66db720adca38aea8f5f03a930ddb784a3731124209ece721904fc66d4983a36f6a4d5adbc109a4d66c7b861ba92fa57f846a811a9a4f56187b507488bd49265cd017ef1721e4decb3b2c66666977b2af010ab1985bb6b8b8322ba564b60052ddde7f106777da138cf0013dae91887d71d\n\n# tcId = 70\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 91c7ca442c95b09a08ffceccaec1ad24609a1593c2a89dbba9f30de5650ee6d534a9c476251c7a601482ff44531350e87bd070bf8d8d3f716c3dfbd635a0719c5bc2a5f042baa13646266d640b414349f008256aa70a8c4ae0fdb34be64684547548a6794d4cc1677fbaa50eaad7cd5ded53c07a601c65358060423498801ac9d2ea1d227f5467f15accd6efd3662e344a724a5728e651b199fc20cd62c4144e60781b458c06bb1521161527179d8fddf3a2087757a0920dcd2e75f88d831e95b246784c765cd21c6ad698bd059d96aac722a70669a13fd3681da3acc784c79924b9b0e6ef4bce2d9d2dcb994c41443b932bf8e5d15797f846b39924ee6c0658\n\n# tcId = 71\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 2447976e684d4f5d35e1c33ec207f921ff9767732e8864cfbac5da51db7533b11d27c07e96f278979da3a6d3bce53807bbc2449390f5ed40bbb81c7517bebfbdfc3f1c15a3b22a8b2c08cd7efccc90e39c2e001bcf2a58a4e29d38426baf2ee533f1cae67c8c1f4ce24d6505ed9a118cbfb192fc4e378a9b5187615e69296e1bcddab1cf88127f05c29f43606d00ebe259868668708de9f5a9bc51ef0dca83e8d73f0a762015100553a440688feacca6364c4c68226582028eabd275692e133054d2f70d8c4b3cbd2ee69e17a571d6a3473cbb2c3fd8450262981180cd1c81194f09bc7cb3a2f7a949d8c56cf69e13af7d981f170073f2ba8ca55c9d1c9a9343\n\n# tcId = 72\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 10b900848ec8daf64fc40c57765d01462225893d6e5d46c21a1b7de405fd6fb505b678427a274d1e8954f866f3abc6c7d5ebe78af88de6ad8ae31f42827dc7792b160b70dc4d177e7e4925ba24b75fb19c131d443b0d4f0ef73daba868ac342b79209e313b439d5a18e07e9858fc6ca913fbcd1256397456b47db9d987227d84eccd0df2fc2f4ae8ede958382200dc867731a426c80e83f3eae20134f8ae7254c815b1ed75ef2807938b57993f5597f42a0b6542efaba2f5d3ae6c5035ffdfc9adcac7384e53ec601e8624e3471aa6066796bde6241f9d9fc40af340f6bc6a82e15c338706ac25ea7fcddedbfc0a77a852d1becce0ac8fd7a7ac3f376d2e0b56\n\n# tcId = 73\n# truncated length of sequence\nmsg = 313233343030\nresult = invalid\nsig = bf524f0f24998c53749025f33201b8270e4800b6798ef21d84f363597299657c49dd6ac74e0500c343b5f5f14d31a422ff44342001f79067ab9d0b0d69b461c687bd4deac90e4300c1bf1f2a809b55fb870d0f52b751c32f0d824e73b82f8186b604af5d5847fb95a4bf4563c65e460ca61913081398d57ad37fd81e652dc13083e9debf8389cdfd564b00398c965ed85cb4f5dc8fd4661215b3a8f7ccfed76eff03085884f08faf20c971032e13483df6ddf78e1bc0c50e77ca69dd678f5e69ef376f206410d9f8336b3789091679e302353362964650593cd1049cd0186dc3ff30cf62f66e3b37f2768e0e5b66d5c7b858e4aac6b53fa727cf42779e0d4ddd\n\n# tcId = 74\n# truncated length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 5d0891ba0fa3e7dd890ca0ba77fdf832819d40b84cc8c90940605893e44aa22aa7780aaa3c7f7696bc3f5a7286c270a6b0cf1b0e370b6ee868cc1139ff412ab28877991d541d227092465e034bec6e3fbce0d763de2e0eb045dff2e52c6bd42b4920f13fccee1cfb25e2f54a8221bd733db7e2577e88477973ebf8d3e3e23b0fa4ca2ee182cf65e2bfd3826d2ac3f34ce5142f949d400ea9f3989f54bc852ac2c37ac4e4bfe934c552ef428925b92d5ea23ee5be3cedf0145735203d4aa28d6fec3889f83482e57d16c15e100f35e9697af561dca27c435ab99c99407eaadf200fb7e8172a85b5ca9e080f290408ff81d79f318540d1ee4138adbe3079fc5c1f\n\n# tcId = 75\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 7097201c4ea62b8711bb9c5fc1f2f360faa2c1e975622570225cee8df555b46645c4f23de2f6a0a8b018123beb401b0baacdd4f1aaaf8736054ea781ecaabb237d7ed6f0bbbb2da8b8df63f8009440f4829312bb167e035bfbeb39cba467edc1c1bff6d390849046bf89636a87201fab64d04092e13db975bba25736ad560ea297752ed97f67f760acad3e01e5902ed1c768578dcb57c61a17ec1582493ecc6f41c97a439e3fc46ed0954b9b799b88d4f58219f4a1b6515b08c7b5584a0f304f2aab4292dd06f1f616c5a5cd132be50f4519d7d51f0b87e0e0fee39e3ef0e984e9fe489816286108315fd0c19e9fcf2334e00da5334bb7afded2892ff43c04ae\n\n# tcId = 76\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 2e58069359c7e48521bc0bda40aa98647b81840e82cbe107ef66f1ff6daa1ed22d15c01bd80a39f3bf9f191f5698e1f1dfa43f8c71a4913db2c5186dfa76c405ba83bdfe5011736b6478f598f0f0620987f323b52ff9ea56ca6953a039f44ee0f61c8bbea923978ef1fe2e81ff8066f4dde848035d377f192b5e856539ea875c76df009e1b4c9c3c78ce31b997fe842aa34ff2105ffd54266092f1e8a6c33e4087071072c3f3a19156e1fffb2295fbc741a958559439bf84085bf8641936573576804626734ddd89c889e9ca373c498d84de52bb7a830b4f1c6ba54e66f0869bda2449eba214df065738e823249c0fca1a88236cbcb4381f1cb1930c04f59187\n\n# tcId = 77\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 7fc58ab285b6bff2af7f3ff1036f4d2fe8483d4c36b89e78b0a39f76719eac94c1a7cd1c44447dd408e201726fc7300459122cbb5ccef288b57d42d6efda841945892bec222a10da5d92854b1a7d86fd1ea6fd25f097a9810e3237d8cd615a3acb7a800876f473f6ff570c41a62bfea8d24b7fd4e2c46c0d4904496e536b0cefa340eafc1828d2a0c872788a1046fbc6150ed9e2d15fac878730d9c5666bdef5d1799d43985e711dae99e19996a199e33766ff4469d6cee3687b6703a4f9a3e70515c0761822efb22bb45292b84e8908103cad9c6bb83437088a137db76ddbec9b5c8c80d68024cdd22f16d3deedefb9da927c478f0755d042b662bb34ffb5a4\n\n# tcId = 78\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 648115f0266f9c2e9e891088aa19d63b52d0834c367d525b1f904c675e2c20c84c687465119fe51493a0059377239edd310bcdd2265834025ddd7b9299d733dd071b682c301ad304743c2c18fe4b94708917ab131a4900939218715f4d3db8fc9dcb4c7c0af77310cc296502a7682a050d6a8285fcafbc62a8cc28f7f6d404eabe263f9732a4a01060a2c669a3e0b7e17e6da44ab7df25876852de52e43daa09d9438988cf3c5b410dd24f1b72e557f01cd4ff15af5b3ede5d6be6de21b19a945b563ad0b6f169e02ca11a4ca96a80e7d49222f0e4103d19c1862c27a79593e54f97011e67205c5c6b9bf5119b9031d4003be3c17bcd4ad9eaa499f053d92e20\n\n# tcId = 79\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 0f4df0a0623c2513a39adae1d5719ce01052d7b72cce3f70373d8bfdd0bbd37ad89e512f78a3fe5ed907b77c14db1bf7ce65d5ebd04d48fcb5a3b475d3343bd7b56cb61a7e437d1532bf4b904b874369459327bd0e9150c709421e7bd54fad085324bed49b3da6fd5bafdfccceaa39ddda0c737b5c3e284c2fb2dd31ebc770b257aee15e926280132e698acc60aa2352bb2d27424707c05ec66905a6294cdf70487aab1798179c125381274850a40c118d65acef6fe7f6d561b2a1723d7ee3c20970948452f308a07cf9a7fae33badafc576387fc993cf37e17726b05dc619e35a6a587a81613dd0aac82d9ea503688f9df225253158a629d674f90412285ee9\n\n# tcId = 80\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 37b22230608119fa91a6c8b10d573e0e9719570cd0e209ab", + "cce67a3b23751617b28518a681ce66ac24f6ef1fcf1f66f3d0e477b85302b0b19852ed3459333511bfe3e589bd567d77e58e411769bbb2ff52c56969cbcddec971520d7461746d1ef920786e099477c33d7584d23334ed21186cc9bcef7edee82790ea1a20f91bc1dd531a9de124437f9f20e6660994b8d0c1b6d60bb7b261dd3d23da6c38115b95af518d12fb24bb930cf2a0378e89bb620c02364f6dd3c0db53526cdc401fcf28975fb4327bd36b1b985d1d8444b7cb63146b907f74a19c96cd3bde356bfee145f25eae40e1b07dadc5b03b3ef7bac252e1197fe64a378de32158bf1abb1b52e0\n\n# tcId = 81\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 325aa2dfab66503c6bfd45e770465b03ef7492c3f43f4d5169d907fb85b5e6e00947b11c6ba28d1e45ccbd74fdea67552f2e0362035aab025cf583d274377dd837293178c69c97c9f31b61c128fb19f333f72bbe13643cc389d239c393c91bba05dfa0bec8ea8e13deeea943d5fc91e06da014ea5a7b76ff62f9b53d62e6041b0a53c0ae7796dd42666dbe65c12b1b4143b33004cafe7d69ae76a73943c5d41604f0e9185f758021ec71495034711d37d9bcb5cb3aa302b03d36d79e9fe9a8785df1524c2ecbecda6fb7221c8cc89e896db301d572e6cee253beb7311b0b1fcddc33b2bd84d7ce77af9c702b8ea1ab2d405213f08af17f53a95571e95d14b1c0\n\n# tcId = 82\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = bad07932d5e267ceeabaf78b85715044b99e7a85afaebaf15d2a60c6082c22b1080c663be9544f44f3d70ebb32780465b7a35a3537267f09c65072c1046784c93d90ecba33ddd0399024bc93837e4aa214fa11d258d35c7ac30ce0ec6802554ccaf52b86e20efa055f4c1010ebc3a6cb0b8fc3ad5bda2558554031a7ea9f549b53545b36b658bb3367e93ee619bdfe88e9299fb4f7c6eef5d822c48a227b839f05d23061b2d49481a4a9f164ad3fbbfe2b20806fdaa9e16a465b3e721001002cebb9b9939c605841c831ce785c9c65e866e6c00606518ec08e5598c8b789923c3fdf4ce05524588d3b0b5d9eb56c5de1f20333cfbc7d8e7d43e46f9eef13d6c5\n\n# tcId = 83\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 66ff77a8056aba526746d6fc1d6962795512f6cecbaaac2197374426b0983eaf78e00dc9a895f202ffe467f9705564acba03d8a5c2722a2d9cb27a59e0ede7f71614b3a03f32bcb4f10ed094d258e7e2c49dbd0aae647c0578bb4071017acd187a684392297dd8b422b5c0e66ca9c6cfc4c3fb52b9a66efee32c1e2c0a217bec3eb030bbe97297f01389ed3b884d7623dbea779d5570327630f4d863071e3d2dc50b5dfd192bffe5b866c3ed7d3442ba282b8d3040654c97d0f89b436576288599845b3801be28b19d27f2052c0cb792104d58f79eb87c43b626ba46ccc9b288bd8a0e09ed974b2eaa6ac148cc97e5154feacb03937db217a1c3e3e8117b5d92\n\n# tcId = 84\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = b55443ab3d8eeaed33a73c1b2f7874782dba51df091d3a6879b050493c43ef8feaada78c06fb4842c690456f5aae3a81871b6961a097dbbe04f63fda2c5581902a1671fdd82ab35efc35d07af64f9791f99cd31239f070c96b34efdc68bb311ae5398271378d12892d40a54c15d7286dd5ea618567f24bec646afa89dc04a1ea5ee770cea923dbff457d7f2f93f602a287ed7180c0ce6e70cb7f02d1c11fc8f9266980a97e00454f9b93c6a06b8132ed7f6d2255214678f22fa2c0a3719a8ca8e685b4b0bdbe59a890c2e11e5608bd049041834a450f4b6eafc1411536f12adbac2712c048ec11ea556a3bb5c98c1ff72c540fe9a9160b4bb0dbba8c50a38523\n\n# tcId = 85\n# Replacing sequence with NULL\nmsg = 313233343030\nresult = invalid\nsig = 0e063ec0ba113694f86e107a61b79867edb6e40ba1053fb5132fae6a665c042f371b76a24cc37437bedb0835b44ed8f7e910303a565ab6985c3233dfdb59bd29fcd514577243ba437add9a584a22b704086857b92da088ff72f13e4ae29a94ec9c6276967075a8dd7a51cfbca1a70c3d7d624a6f1f9703092740b3d552cca1e3c69850e88b25d0a830cf5ddeab64e8f856daf921ba8692e3e34c362208c4661d171ee9456fd8be4bdf7354cd6ed703366ce369a81a8c445a62641a1e57fc1de6d3cfe2184eeef69473ddfaa556de0270583a84a60ebdff77cd31f73cfdee04362fbabb3320b7e18ac00e298fa9c502236040423a31ede48601df77f26c7f0090\n\n# tcId = 86\n# Replacing sequence with NULL\nmsg = 313233343030\nresult = invalid\nsig = 8b00079190ec5ddfecf3394edcee7c2c7fcf394ecd185c29509d6818bb7c401040c7ebbbe806c20f2c414b72026dd058a12aaa1a90c6d4254ce2e26f98747778786057086663e3a50397d02887af11694718091b0aaaae6ab79740c8285513f92fab0ae112cc25e739fbf7438e2e48a37a1cc86c4443e5ff53c49258878c2d9f08f322651bbf9030a8563a2993d3e2e663b0d7d8ac2cf871fb67a7a5d9ebafb35dff6329c1929e14a66ec62ef92c3490c1daec8fff67c763b1686fae7c4c79993f9c51659436e989338430f4f772aeeade41f4711802f7b5110379b3f0104ad2c897f182cc148d403955d3212b226e99cb6b4bb9cdf89f43198898b5453a4a91\n\n# tcId = 87\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 02b469c37056f5f17eef3cd2f3e2bf0c37f0c917f3fd0f5341f610cfc5ebbf425a4950dbc42fa3d2d6499f44c31012b8c8f4d26b6aa20905fc198c9ab2642d8208861a3f363470ee499328521749ac7556c3c9b1604fc17f37f72a732b26c9a7fdd5984ed38065a93954b57238a3a6c3e0fcf8c75f6010c1929a8de5e1fcf4729b9ca804251c0a04f364f4f47a042146d13b1e016b43fbf7bc1193307a864df078dbb60449acc1e9621d14057f579141905c323ee6198e3b63f40d75a78e7adecc4b14e0ba346061bda490258298606bc28e8ef33fa041ee2b0f69080651ec7717ad1ff14f1cdd8435d70abe5363d5e4f320339285916bd84a2ce88f890ad8b9\n\n# tcId = 88\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 0de9009bcfadfba4e031565e32ba542c22d890329905cfd7dc4c46d86d87b992bfe4c91962c96354c5369ae60e1960a9925671d2c41e5da0fee8fac65ae4c72b1d2d3dc8b33aabb5dd656c1652c04faa17af753e9ba332f74e0996666dbf8a0a4e2634f640c9f2b7da64941f6c81aaf9b6fee9434ebdefa89694b378278a5ed71524c20f85e33ba37c15984d5663f0a5733e65be9fab5655bf80d7b92b231dcb4743dde798cbce8a3ff059f70abaed958719f06ea8f55f18f71bbac78447f3e4e775a7ae02676a3cd11b1493ca8715bce0687959b0cd1a9ca8b6a3792f9f6377ed1f488ec8e3ed95f87aa932f79a6412e2cf5a241b24107590a1f1cf3e7c8545\n\n# tcId = 89\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 6a505dc2ab0dd4292cfc68fbff91c28f49d079d02c842db9e9c2078092bbbddac03e8c32efe8b239a5c8570268b86ca1de0dc96c8b550c14f2326c779ab44906c1dae63c3b1c9fc0fbcb03afd7360ea6297b10cdd098131b35ad271aa3b2e39c828ebbdafe97b3dcf12b0c41bfc577fdaa37dad459ffea653dd5bea70abc624fddd856ca9f023116af3eedc18f2747b2e96032253dc194e2e40a4a3257e5c6e210441d31bb826dd70423d12acbac290849ff45dc4ecdcdb07fa9e7f9c3ffacef0800e63979fe70daf04566250860a974eb2297c46d7478108f419055c0223915e8a4d95aa58440e2af3a6ec6d44c157579ad851a53413351c4b8bd5d9201395a\n\n# tcId = 90\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 60f2f9b066a7329fa2c0e01bfc7d0ce06a77f08fda918703fc56c43e8a4ab058a81a13225af87d7469380fedc9ca5966a29d6631b88b3c1d0b9802f13c4a8c5e3049ec3b3ef4b79b7e03846f96536638a82997d2e55f1c5c3cf5b93685dede69aab95c3ad10ef59f878a69b96ba71421598157048705826c96f6edd6231b4165767d94dd85e68beee6502f0f91a3803e247c22030945ffa665fcc5946d022f938e8973e231be9c81bce34fab30edc9167288bb2bac0fc13f46e3f03d0d76a501b7f4adbee6300c66a13d1918d4fca30e62ebcc16ce97bffa3470929ab65889aabd4b18daece2ede653b85fc070f309cc381365486a36db4b2e85f27c74471507\n\n# tcId = 91\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 25a236f8161ea633d5e093cddd5fcd0905bc8714e1fd26ac00ba021a8af1612b0f678a9a5e985b32abd3fd7dd711f4eb49dca5421cb728736d074fcda041608ba79efa9fed40ed6d4c0dd0ef4ae6eda4334e374966f079453c755149c7099ede7c54f595c53a83fca7e4f74a546c7259a7f0c62c82005d60cb49a4c0b43f119070aff6429e1f6cb5a7ad9ac34a0863340f8eab186bf4b923d2481c1e830c18933ce28b8b2a847b1d5f515e412bc3e71030d1beb5cb12879c0f7ced790234a3059e3e964b9b17d7129a6c83398f4fbd8c04db7c33879f1475e3d5dfe1d891f1f7134108375c0ade5627c53fc9fafd8a66d2e204fd3ddfdcdcebb6a6d5d6191db4\n\n# tcId = 92\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 7e0fcc77e2df20a7c6d81aa9a8368d017203dcbe8c66169c10db0548f0f0fb3d17889cd4fca9952347dfd9bf9ddac6627dcf4c47856a47f4aa1593e4a4483abed71449ab1cb0475b1d039ce7aacdc803a6f271e89c47adf14a1b14250b4552176ba2d6fb18332ec320725bde4df6c347f3e41a81ac581fe519ee95dee3680a0c638694eab145ac5d463f48876996e4e650c0b677fd926cc093a274506fbefd3fa70423f7e5c970437588c228cf9f0906ed05d707596244d8b85424eda776018dff56ab788c8fce1c1ef1f4507805cf6cb37be6da10904cd24ef8fd658c1b98840ab4d24d6e8cc3c282fb9245b76557a6d5258d8c9f1d973b10e350577a675a3b\n\n# tcId = 93\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 7fced2a61a55dfbcd398dd25ec813c30f176fee22fa5aa0cf832afcb8547c4a73dbb40eb723cc3e8248d3f0d9e395d79dbd82af8be5d7dfea1110394528ab9fe031677bf914225de7b325ea136921eb48c206f681942a5f15287658146b5ec959bf86a4244ce34df1436f900a36ebbf4bd0abc28b1b20d5d560e34b634812f54360316a066c4a4e284bf615e6280251a194eecab697e2d0eb8decaebe574a3e222576d394c0fbaa7f4dd97e1016a3c0ea05efaa50c768310d7e2a375b28d526dfabf2ac989e4693bd5a61ac7bfd53704b8538b1", + "d85fed950ee46adbacf820163e03f71329f4285f74ea05777c53c51a91e1c69f1d3e6f0b34b64df73b1b46005\n\n# tcId = 94\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 89e1130ad970c6e236c2dc4152c7879aef47c1bfc3ae6401342900cc53f2e1854734194509bf92e5a533724b27d076049d701300e5fd2747d4c7b90b55cfc7110bea516e380f37d9aba8007d942fa504365181a4c9cbbc6ff7fa0c9f7423414b5454e57c225cd4a15f93f1259a8de85d9deba1c722eda75192a080214e1a039d272eb0ae0be72d45b35ff5d61b316a62606a58490d86ab5c1bce3a27a10a5a0fb6d74f169fd0a21d1f841dd564ec0bee3ff6b8be891b91adf4622aaa926a60de08c002d71312a5d2d4d1a7ef45ac892bf0a6fe496fcf3b223bca3de0cdfe52b0885ebe288fe5bbad0c84542cd0ce0446615b604d47ea3b2506030f986d057035\n\n# tcId = 95\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3a8075727fce3bc85d1b454a9f53f0e6353bc206b8ea30ef8e1354c4420abebb103ad6999184937c412a037c24c84267b198238fd25d55b5a3c27ac7ca221736786b2c4c18139bef13f9ae28792d5f439e9bba6f710e074d16f589f0e2cad2e319a6054fd91de2cbaa657a7c22a34db8561e7d4919e2263f18fb3d176178d711f7f1ed5e0945b5d36456400b7ae43ea4c379916e549221e43a1746424d1dedb0303fdf074c3209d172167a7af1b0a4ec6305decaba57fdb9aedfece4328ae51c2691f578d7e9d2a1c8f4f0fc4626d37a4a1d507766b82f7688f997b991ee4e27dea8631e36d9bdfb24eb5b326b73b793c82e9a0c7f974eeb34843304f000f02d\n\n# tcId = 96\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 247f0836500c49f74256360eadfa3c00b7220ea7e306a7fc1f5d0fc5a214d47d5c0a03e72a510847516e7c32a72a899b7a0a840094aa557bf0671c6607cb0793d15586004ef95a90f076c27b4c5d9eed04ea3c4a833e05529311189387df81b2d9a17ef5387ec87d6acfaf8c2d2bce866fe324d6cdd9905eda3d63d1083ef75f29d72b005cb073aaf68fee0c9cf1d8c5b639658c49f65d5cf6f9d0b8c485d641ecb4374449bc823d3bea8c3509eb7884ecc275a3e95c72f3ef5dda3b47438a554878c96048d0278c5c44d8fcae61cf69630645aa595636fed3015fa8617dd22a5d36c37f9605c5a4f386cd194942391ce99177e42afc52350656501e8fd08133\n\n# tcId = 97\n# dropping value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 2874dc4e08a70a652af91e419c2379bd874a74ac75e6488653c99f332825dd111d3cb498a34054ea1cfb5588df892a3c34dd04f29665a0c939526591493d536c6f5ab9e72518f3965c6d595cab132060faa67c031c3c5dc16765ccd2e7fbfe5aed4a019500c7d3c06c31b6605e658e6f88b126d2866d78db75917d168836222f7402097bf2349b5c11ee4b7338e97041b168cd2b0a30e7ded7980b7dfc95e55cac2be1f2371d2c69ea025e59d21292903501caf243b30aa30b13e3c65f8f439d63676e5486e1d9c4827bcbadb73bb40810ff8eb6fe8ff5635cf5038a52fb84112806708746041c52f7d27a6bc7ab5f6ec54ce042ed7e6c258df7fce2d00bf3f6\n\n# tcId = 98\n# dropping value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 7ad94d2bb7b43fc3312c4932adb8ac70870be57207411e39174d5b1a8618e94d3369802c8e24ee87e5f0e340bff584f05a4b622835cc75e0ca7a02caaffaa3a7bfc2e6bbf7be33d55807d01c00ce0b3998a1fefa86814651b97399564a862216c57fddda297bfea87aa609dc878e527ba84ef82784f07b37eb7c16b2abb6ed3e7784def03f1623d553697f24b049cb1edbabdf67347983eea902ab3d2cae2d88cdaa98f35dd179d2a6f2617bac5b9694f889cb9a2ac0891db284fe346b5f845adcfd69b76ae7c69d2ff26fedb982815bcbae92a65a5db9dbec68c6ded7dcebea20acb0ade92ad148a66bb2a568bdfb299726f1392345c7138a5629d52a0aced2\n\n# tcId = 99\n# using composition for sequence\nmsg = 313233343030\nresult = invalid\nsig = b46f1ad5f9c3ee1d131cbf92373916b4c45201c02d631be04444bb6892d25371e6c78ff82286e340d1844c0db3ac2bf32f1cddba51096fb6e515eb466fdcfe47ae84b6d5a080e992f1b3149c23bf875b694e9ab0bab8e3c855825c55f8986e58f8d856a0b153145a1b378482b008af81b30ebd73d20cef495f97e548b5367e25d4ae335233b98c051a4531a65dbb2d18241e702643053113810a1a56b9c7e4c7b8e10fde8aa95c0f1bd5088b39b5c45e3393c2cac01365b78a8b455b436805290f1e43ed94873b5e1aed3e6a38dc7459e82a9de9e0095b67af779b5473fdb12dd95491ea7912b5d7271c88ff6fd5a887efb8fff685900d8dcddc031fad7c15ac\n\n# tcId = 100\n# using composition for sequence\nmsg = 313233343030\nresult = invalid\nsig = 10791ebd2e8a04cf4d99da2cc43d296e7d2276787d8c0b1cd2628abc74e54c2b88543dc9f1885f2c232be41d8182867a2011e8f28a2d2ebcfb053a31b94eda6974eabb6e8bcb8c273394978a3771bddc8cd21fefe814d32459848ba06672f46c83bba26ce69101c865989d85e5b04d8ca180e1a67ea816594eb71d6536bc57eee88b9ba17b7c3f7b85f905ee1f1dccdd57b1ee6424da71b7e466181befc1e3763d1a367d99a7f2c59939d30a552110f7395750a591b1237e1bfa1845a685aaff44ea7bee45bfbfdfdee6d2e6277a77793e3ef9c5874b5e13ffa9e1725560d5538211fa7bd658f359f085466cd6720093bfa3faecdd137ea0cd0155bf73741044\n\n# tcId = 101\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = b2a06b54e578326e41c2c7f7071dd8458b5fe9bbc42be12b068fc10ae51dc9daa35ac85239e11c30c5a714c5951d09dcb99cf7b400f7a81274ab4409262b3c9362e735cc1dbaf3f4e7afe32b73894cd3191936339e5cdd78b56eb84d48c78a714af0e710d60ea72199955c5f8e9ee9acbc1492e3c1bc2187ca9f77cebff25444622c28c900f213e97100a0653cf8f6307729ff8ecdca410f30aa8928533a7c6190dfae16f63df83a0461bd72aea5f4200c9a831ceb5b0333f1e5c42805155abbc387b271fc4df2dcd4e0e597f616cdee14d364d9a6dbaf5d145581171367b1db517b9aeda83dd731d36a83b1444ab412d8f0c871f72d01f941c7c68b32006307\n\n# tcId = 102\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 086b546296bb96a5254a28190b345df408924354f6ebc521e1fbc82cc113e6f2b9a03c1cecda71988665220c65cd269b40a36d452ff08ea2c5f31914a45c038810c0e47171682e53b93996ee958c091eabc84c95530a8707765c1a5a783b3c022648879bd8caa4392139bd7975a2dccf6445c8a2c2ab084e72e87bde250091677522cbe71f9121b80dfb365962f97e6108c4c8449fed8cb87561c9f6178a0b96fc7bbeb105122ffb75ce2fb234919d86bff858abf1ba37c9a3ec886cd0cd228afa01b83857116eab734c46031dc485e503abc1a9f9bfd126c887c528379205aa1c8910c94c0c3a1e4f1fb4a637184aa5d36c474791d37e01981678cc63ec8ab3\n\n# tcId = 103\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = a4b495fdd1120556d60b01459a7935c6eba0642474447fc76cf0bd691a1cc0170c409a969e3d69907d39c9a67e27acb13fe875136a1f466ea10b6b1d2d5d1b97916359851156d085e785128b0d5bf1484c3a44c0c18cc0799e5e22e1f87f33ef78b89d7a21064dbe26974dce5451e60c5d885806c8126d539b1bfe668600394efdff7b840f07a2c3ef8d15dd2c0624bb6919f1862ad606399c8b94b9a19a5404c9857e029a4c76dc1c02655c037c004885c2c16fc727954d8811ccd726a1a4d9f14b2f5d11feb2169aefb7c32af559fd62220fc652f1fad3c5dfcd0679adfcac20ca484d9847b4f9413b0664b19151e6cb42a1cd7ca54c1e5d8a8ba024a3ae91\n\n# tcId = 104\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 7ea7ac9d5851bd2e33a6f39ffa512c37eb07944de484f5e000db07e609ff86eb759573949440cdaf4846ed2787137977ba05a17b06761ca658b931089afeacfef78e4e2607a9043253d0c6e9b5a8ea2b176fd3aa835927d4eca9dd2b470296499b8194908c505459d988d492d1290de9a9125d5b73962aa9c139fd18696fc5695d5d852d8afc03ea536f3f77988afa16b44ef9d679bc27e1da7e0673d5d7365a46a3e87bfac629069f820100a13d22aaa88ec010a0b931c9221cbb329b1bf14103ab6623ff7e198d7287c0b11eafdf3bc0aedac23e37f4d97830a0ee3d47cc19c21f13b55d7928ca3baf0c66520069db293f569ff0722fffc9032d4be928bb24\n\n# tcId = 105\n# indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 1342c8de4e6534e10fd55b7a7dbd447d55c79c6318bca69d9f2b30b7bbcee67ba796bd4c38199835c9e0ce6afc0c649c1523a2a14ed9d50f512c4b64eddafd9ecc73b96ad03672feb599b879c4cdc4da4b53606405177aace48dec044f32aa18d23ab3277ee0a99bb87879115832e45eff8d6a653542f879a1c6a79e96eab719b7fcdc19669395ca95df933242ef299942965e2b943c8c5754c6f136535ef76f4b679a693554e8e3bc45af26a4f5ee9f6682734ffb5ef822b62a5e448803b97b7563a0893ec098c0501691b7fe6a9f367cd6cfa9cc8494fe6647f7eefa941f56d14470e5315c9081f3d7a2f5e688ef43d14d1ffc0c189045754d1ec4913a462f\n\n# tcId = 106\n# indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 5bb15e1401b13223187ec4b9069edc1b7c822f300e09b2c49c8b3a76d6520a0361689e2d5535311beb55fcedd905fa834474dac5d4f8ac7f64ed76e864100dc262abf43c47912f6e1233e8d0a327467ee31c580b42e36c81e6dcde10a5acad83ddc4c72e95bc8ff5d6b3ddfcb06e43cb673c00d855da419d97dc72ac9dc5ba84e59c566925649380c98dc03bdfd94b2178aa5088e4f3a87ab9a9cdd3f6e880329b66940a13336b83746ecc122f711eeb816b460927381bf72367bc4c07529802e083c589ee2d53f84163847cc3da94cbe807b1fc12105f9f1d3e7ade0fbfb86b6e68bb1f67d124aa9c93c76fa6fb95438464173fc154db866e35437f6668f8ec\n\n# tcId = 107\n# indefinite length with truncated delimiter\nmsg = 313233343030\nresult = invalid\nsig = ad644f64d1d3da05772de46bf9e93aa88ba29b1caea1805f4c74335ac9cb8113dfa53fa4e254e6932a3bdee5024f3e4522d0d6354a84b11d8a7dc2d1263009a3ce0b1631229c62c3ec537cf819b052feb88f5aa3cd4901488e1ee51db8332a15eeec5797d450afd5f49bd625e425678c95eccdbf91c24d9824f28258d8edfb4d7af2f3b", + "71d4dd9cc14374069e5d28168c985e1a5485ec7720992fa5cd6c1b8e370ce6c583bd4475304bc2a70e8ffeef40a445cbe9f0d506c3d73814075c9156ae44ef62f2e40a319f5e09e9b39c754325ad59bd81e00bca12efea07c6ce5dda532b9b5c0390db56ff096b73547935f00ac056166f19743a24239b6bd4dc5d38e\n\n# tcId = 108\n# indefinite length with truncated delimiter\nmsg = 313233343030\nresult = invalid\nsig = 5666334ec38779802e7c1c18e9b7be98daa86bdbb44b12bcbda7348469fd8a38b18ce25fc6a2e12f84274c23d7d7a4cb9f7b75e17afc5d3221c4224a49e6e32e2079a95e36302ffda163c3eada3aceea77bd75bf57e5cf87071d2b5568204ace66aa58e12bb127b11e9e78fa2a79c7ec738483df8d102db54e9d16ca6de170a5b5adeb9340c5dac1c9c846bb173e056fd5f224619eb043f4916ca1667a11be65811da6c0be2ca2722e858b2ae14c79616e2a558416e1b6de240f8f5dafac00d28f94aac8bbb8661f0f648c5dc001e10488afc6b5cd8604b028faabefbb26fb3813a5f2dcb7adcf01d946bbb17adbebec64ded62962e98fc3931f61ffffbb8258\n\n# tcId = 109\n# indefinite length with additional element\nmsg = 313233343030\nresult = invalid\nsig = 3d24d14d20e9adbcac72a678f082bb084fdc4bcd099d8bf85ec7b2cd90ba8d89a056fcfbcfd9e1fd8f4123fd44b8d4074e52ee5ebf3f8b9a016b68743cce84606c09e63ae5106e9e246b54f4e02d0aa3215ba37dbb7e72784215919d24a74d8f057a4d5bcb1df671c898933f32e9cc475401179ea2231c12582ea13a6acca83bce09815ba8f783c80d49d75d610e3584058e67c581cc8c9d268f3b331fc150a436965f5cb4bb9808de727473131aa442c08fa98594441aa3409ef0df3e108a02dfc70f06b9cc89578a0ba0e5cf4bfc65f5778a95bec0d60864c92b8716eeb308077922f7f659b706beb27a0f3b82395c5d4ba8335d67dfca8a186c0563dc37b3\n\n# tcId = 110\n# indefinite length with additional element\nmsg = 313233343030\nresult = invalid\nsig = 202277c26e39060d39753e47c8e93266d73b7af28a7b527c4140258164ccc368de4ed91c5e6dc2a84811da2b9fc76f353bc508740d93f9d81987e3e54d4a42c4389b15a0365dd907f07cd44df04d51fe14d60320cebddd3f68b3eb4b2618b222f6c9afe51646a9992247d74fa5313b5e332802ebe3544ba551af2b89c6860718d97a0d36c9fe132410d6215ee90d28b8ec272fdb332c188eae4ca666090dae19d97784601a4ed1f7390864762693f2e3c68465125340921e6f64319c2aa54d0565b6b34ee935f10e69b77c439ca70b087f8f91d6fc656c8a43f05d9319132a67d26d3dc9db37e78cbb4b92bd6165cf83b94a876b6711aa9e430848b257ad192e\n\n# tcId = 111\n# indefinite length with truncated element\nmsg = 313233343030\nresult = invalid\nsig = 38600d6c91ceae4c31e08d7bd27e99f5da851a023eb838266841c2d173eaee4e7f59f1729d11491397bac90137631c14fa8da9f7bbb84e6ee70823b6746dee0eba41e80c25860b62201e1f58bfd4a941f26c8997a1237ad12fb7e3d5f21b65a739f3955a04c76be2352458e3a7b7bb622b135238bb09305e75a068dcc4f5cbbd15690e484176cb07a74333cb401b0975fefe772bb80332025861aff08aae24fe6f58d1f59e02e6af68b0532c7f471ba0e4b5e25ec4b35a38e09dd0202d19512e7e56628377d8fdb45f23694d6846b1d5594c1b8ae858683f3641e4eace65b3996b893b324e8b73ac16f4a9c518ff833848d19aef8d3819835a222112e051436e\n\n# tcId = 112\n# indefinite length with truncated element\nmsg = 313233343030\nresult = invalid\nsig = 4416f75cc33c479c6115de4fb437ed353bdfdb231aacd1f4f13b229d7b25f904aa0ead240dca564d9674c6a979ad28244fbf274abc8998461b572901f21e8ab60a6c61ae6d0ea0d5de35a1859a123e8485548aef1833863ca8228aa40ceb202cfee1cb67152a31e4ec8be5d8a24b83846e6f2c05c819d0bc37bffec2933fab9601d072eda2d6f704d80b235ae5b91bb3f4a7173c92e53e144df171e021c4b13889ae0d7d99ae80809c5a6ad173137b21aa545a902f9e5b08e5c09c9bff264c32ea0151eb8a5498a8f582215217c7cfbcaba9ec0f8a3ab1821e0b6cae644d7b487947f33a72d4f050da5f31cd9ee6d18aab50a9abc8a34cc2a6b45e5c23fbd9da\n\n# tcId = 113\n# indefinite length with garbage\nmsg = 313233343030\nresult = invalid\nsig = 911dbd150f8ebe9eed71419dc8f6bf2a09590efebacae72f7e6bfd912280b1dfaa2fa7461502368de5f4c609bc992ab8421c86bed775befea591ddfd9701f6bf46b03c2472a2b802e609bc02707d33105d7a00f3f079c4b3b542b06b6d5cbbef6521fa56119a39e1b0e1b3dd86c0050092275dfdaf13fb3a453332888afeda4c376722d45b71e2dc8ad12610dc1a11cea80cb95855dbe120fde8bfc9d1c13b38684db78d62019a9536932c61f441d9d292f5277f00f7e97fc0a37cc4cc8050318475b0ed5ffddbfcdafbc951da39f317d39284c338be3586e352ca1e382b527e21b08f5ed9ae812af902ff0037f9709c5c792f5f0be243aa89b0fe467a04d72a\n\n# tcId = 114\n# indefinite length with garbage\nmsg = 313233343030\nresult = invalid\nsig = 5d2788622abed2c9d557aa4b66cb8cdb7289f3dadbd6dac50317c9a6103447cc0c333ea9f950a9ace342d82e05f4c88d7eea7dfce425160ec95fe95befedfd8d24b274a887073909272482bd9426ff10805a9d54792dce629f48e1c7f7446b1c1d542180df758dcc2668fe9ba94fe9d347c897725142083f44efe8f41c210ec809e5c96e00848c12e16a1bd792360624028185e597a62f4685e53d831063e4bd6cf50b2600870ee835d9d6067a5d81205cc88d02ebafdb014a80a06d517295b238c13bb0ae31f2fa5f68d14c4bca9015aa122f81d82b9aaccb0cbccca3751ddc8f4cf971190b765ae246bbc10bab538cea8123e81b68d417bb04233eb2b66668\n\n# tcId = 115\n# indefinite length with nonempty EOC\nmsg = 313233343030\nresult = invalid\nsig = 1779b32fdaf19771df92f2e365fff5f5c2f432af48f660014ef09b9c01913e5902bc0be92938019502178ca736b46fba68a513a884961ad19ebaee84a977ce11ee4f2fd13d72b611be3e30fa9926d1bab6fdda62aa031d79f18a09b9b3a3bb26a8a368ee42846edc1f85f9023c2190d844042a6cc9e5a1b274fcd075d58ad132fad05fd5e2713d0255625ba0e56ec0d64fa66d5e78fb242af25f12d41180cf2d651ab9c812f683262274426b4a539fc36602860e4b7543878c582ebd641ae31dc2e8ff5de9576e24d878350243120ccf800e608d9bbae41d10b8a1a6c3957529b263c6e80d7c8b54c32b15e3ffcfe85fdfc0df5698fe9d6afc677bafc1e55bd0\n\n# tcId = 116\n# indefinite length with nonempty EOC\nmsg = 313233343030\nresult = invalid\nsig = 1a2fe05ff3073be36aeb55e736b7489447f42482f91c7539b9d8ffb27f7dd6d58d1e6274861490f30773b6be750acfbec31e5cab7be070630feaaae2ea35b0cca36c67b544d709fa17de1145489236bbc69fcf3637b1c4c50399e34a5866ccfcc7c572143cad581184eb78fb1e84b9af4075da358ecded93288a609b2d5bf9c159a542fae376e438bb947c8139def481eb308f568345e1a902b433a5766c266b89749bfc4dccafd6b53a8b6c5df1af7eceedcaccd9809d94bacfd82c82a0de376971b6454dcf0dd70a2d94364c73f579b78242967b28bb6e4e08bb1efc47281ced3d0b2d771820336bacbba1388bf73edaf9b140c4eafc18cc16856b78599b63\n\n# tcId = 117\n# prepend empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 551797652916d3e62a0cd534f4a0e6bd1552d7aa38e94ff522e8b4fb39b6dff8e1698ecef6100b4a2e3d7063ef5abd42ccc0e5c49d26e353a903cd06f8ad3297bcd60a8597afb2d7aaf8b70896f1f3bb1d2953fa76ba3059559cac7e5378fd129ba8bfce5851600abe78aecbbcad2516747c7706bba3c835319b1761e237ff593d8165b5a1f58bfe2d437f1b8230f5bbfe61b3c9eb56c60a19f70816dd3c86e28805823106b3f1798feb36b903e6e52340d559721679bb95700d9969367c50997d6786aa10e7614eee58bd98dad66f81c7084068946b391f08fcf3ed67ff4208080d8b093be71d023fd0d66d7e2af5895f5369ff76493f51ba67712ddb085d42\n\n# tcId = 118\n# prepend empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 6a9a4de61a2a54615656280ec94cef9204224fc0b4d0ffe5a25177030d7ed597cbe199c18b18667d54830872fa0b2ae363ddd44dd07941268d5760b8808ff87c942287a4e719f7034d223d1baa21f6d88b2fa52fde4cb7abbb84e1e07417792206f70c208bb1c1d767b13b9d675c5756455bc27852c76c1ce924d7e981f2af4e770969ab86e5f01aa3820ffecad848c7be52e85ee19769acf17e0b5117a8a14885a85eebfb63d4294e87a24fc710e8e560d998da812c7de3fa0f531f2af7553f153cfc2780db420c7a17312266eeebb7ec04c0fcaca815f092156cc3bb65bb7d7e1db3b5db955851b3b3415f60ceb487bf74696cca2eba09f2ec9636ca59e390\n\n# tcId = 119\n# append empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 3ec47c244218719cd70bcad5ba1deef15fed2dcbcf4073ac3f05cc32750842bb74d6ffd506224b8543d562b2584e944cf4ab855da0e4f3336c97cc4636bddc2eacd66b3398ef48f5fa74054035475526733ed14bfcaedf421c3165e3a40a5abc098136e687bd7c7ea7e935f5940868cbde5efe0b51c99d15d4a64c7e4ae65c16dbeee1322f7cb3bacb4bf2c7c8a2f5bb03e264824de55eb3510338494dcb1513557120adc5150afac38bef002bdddda43b5c14891d4aab66ba50c20e229c2c3e1a10d5f194900abd3c217a7f5e82b9e77d0571589a51e9f56384d67b4865a7031f57a250d765cf19018dcbb335b856e2376c15c1a78f5ab9bb8836b820ec2e4e\n\n# tcId = 120\n# append empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 68f20b149aa70ca60748e1c95b10147093aa384a28148b31799839fd0d087121b236503057fcaf6d1f390cb8ac6fa92a18768c6fd04844db995f073e893f08a86a86d003d508262bf01fca7de1e082ffce53308e6ed5b462211013f151c16a375a342b0c1d2fa607a720242558fa82a403b8443360fc0f1b64e4b7bbbe74b10ebaa715087d71fb4539cd1f5b3a72edeb89235c56018a57e04c5ffa5291cd1346cd7cc0feee2b99a3770031aa4319af0a365ba77978c486ac174009a2d3d97d3a113952eea3a8691dcb4b716460365341256b2dd5c846184656135162f38acdbaf70a4c527ee751f384d91d09ca7b618231edb72cc725a942211b00c58d4ea7e0\n\n# tcId = 121\n# append garbage with high tag number\nmsg = 313233343030\nresult = invali", + "d\nsig = 33eb8006069a2d3d63afe5a1eff9118fac6e3556d34bf97431db5518176ffa1d35d61c6010c25980c6df9d9cb0be5a9878c4e79503367bed31ae8a4244562a46f49e6ba7fd780c69b33f776d130f19b609116aab8c917c798024fbe5ffabb33b2048a16a6a72bf189f7dc6a94edc66c82931e02907113fc4e254fe6009ae9a716ae2e5f7d60b1eb2bc8107efada0f3b2a325a6574603f30c2a87b5661e007f07298f0ee74d4f4eb85a0d421fbcd0ad1a33bc5589dd72730df896fc3c3fa8f55353c9e88d58cb258404c28b350acbd17a569418e350436a83cca0a2597aaf6592d5169ba927ba1d687ac70cd225f0c652e10c75ee4cfcb3a03b9d4b205f7c7b4e\n\n# tcId = 122\n# append garbage with high tag number\nmsg = 313233343030\nresult = invalid\nsig = a1c66b956d58196cfbbf706b8c9df9d9ee4d36a7df18017dc132943ef52dece5d48f83ec06ff011a6917434893c6c112a1ca203eab0b64bc027a390921e1ca8f553352847437b26e3be6dc8a0b9febcb93dc4185c687a2fde4302012b6da58163ed67a842118d6eaf85661702729f3aebdb9641b5f913bc687d0d7f5b1291e137673e88ce5280fc04b993d45cb731e88400f8e5cb1a40e25285881a7b877f75feb17d68218aa5ca4ffdb2318d5e01e3fe8606982fc40fce771f034578bc67972c5ad392e7d3c046d28273696f737320038fb33a7417e6744f17a153b4ec8112838fac3c18ed4fd14159a408befa2a0a39ede900a4952bc2bb163ad90ed961f84\n\n# tcId = 123\n# sequence of sequence\nmsg = 313233343030\nresult = invalid\nsig = 13b9208bef3ecc8a4d327a3b6da582c2ca2326f84d233cc41e962333612edd7d2973305619186247279bad6d849d7dc7426477dbb35635b0b843e977cd8540b078dae1dd156644c4b24bb75fa8a8d247f95842483d9ad0274d5d9f7aa29002f93313bbc277b01f1cd0cdbcc9462f8b984ccad2c05e95b50e1dadf8e6c9c26574151e720abb9747e899812bcbc6e43b40a233804a91a6f50420b309d4291e2c2e1250094625d59079fd264fc1930f72fffae6fb2e3378bdf30543985690e61dc4f1262c762881061e59024b2069f53391ca16b215371e6cfaeaff1815fdc6bc1a8b7b53be114e157b6edd2930e0a7bfdb242c8f7a83013ecbb6c583f0a041723a\n\n# tcId = 124\n# sequence of sequence\nmsg = 313233343030\nresult = invalid\nsig = 4eee2b16048f104753e25236a051720c2d73ef183d70c084e792ad6ed52b0a2535a99c0adee80c59577f2d25d257f790830221711fde591ef71beccd654431a2de33887cb2e2dd4aaf3958806740691448351e5fa44fe869af58bbf15d2f489994c5c3d6b8916c5725b4457a2c7e4764a9043d9455325de8118f9dd60f7988abb3e52c48b40b94d2752f79e203bb75178fad51a0220563d98e798825fdae83f698b8504634c380081179b64042a44f146712203843c7291bce264b64fb3b8ec44854e046c8c4cf5ed786701e2be6bfe8d015826ccc430e79b63e718c8c0ba6ec1cbcdbaa014d5bcb51fe9d74e01890dcf827780a337f495537385311262e9a71\n\n# tcId = 125\n# truncated sequence: removed last 1 elements\nmsg = 313233343030\nresult = invalid\nsig = 459cdcf7a5a6ceb515027f05f54d2457c862d780cb64e502da7a2c4b9eaee3f19391494771811b1d1c60b7aa3343474d16648b85cf30af69203b6ec09f9dbec5942559c8fecfcb08624438415772dc439c62ab785ed2b246644b8f5050a3629a1280de7e5cab55a0b1c22d79cd1a851bff929d393ef521a3bad2f76a8d12435c6c5b83a0bd977d4fcfe3afac7f359cc2e45472adb0fee40aaabc6ffd060963453d96f3f34afd24e95c17cbd222865eec529518746c2815ce6126ec6bd3730e43dc701a26e0c903c51fb5166db09aeb812288ab932cd1ddf42ec17ca2364561267ea4b136198564d768e4da6b19d51f3ca3936451c25e6da102f8c4f10c6ed283\n\n# tcId = 126\n# repeating element in sequence\nmsg = 313233343030\nresult = invalid\nsig = 308be7470d0c265794934b0f211ce54f7d67936b6a1760154d585a1ec6b05da313d942847fd3a1133acb8fb9c5eac471e342755268bfb7f2c762b7d25c4b53855e9bffde4f68460683d2dde2723b0aa5e9705c4cb25bad26bdcea726c9315c2c9341515daa6e12e714c6011eb152a050c903d024ae8e06742c3c8c86612d207f5288093830a83761ee40729ebb2c5dbb0e6e98b785040b1cb3bae9d1463f43e39d752b212aaee52753fdccd6de71eecb17dfe486b296d6c455a17e5718fffaad9e82f999723c8a66d0fd2457c3cf3f1b3df127bd73662651fefdce95f91f1a6ebd370fb2163bca19c9759e7f5901bf177464ffecb8dcd911a4d5ed5d5e7402fb\n\n# tcId = 127\n# long form encoding of length of oid\nmsg = 313233343030\nresult = invalid\nsig = 13e9948a6ff7595299ccf4fee8f9bc52ca20d8899844c1fcfffebb64052063bef5d4c03460495a475144a252fbf30f00cf58723dc1d4ea48f6d961bdd20d0fb20ded4c90fa9b0384c0de08a2fd4b7f94c6f66a8f3123fffb296cc430ac962001d0bc7d211a80dda72be7e73b84c8b40dcbb8e84722f19ec21aae93924bd2f5dae584d0082ae6c4c52994a7431ad2ab3c80710b089cb79a884d8b40f7452a1874c9fd2f22cf46fbdaeaf5894efd3b0d96bef147b9d600cd0400412b2b8a5fd939e14516e9c2574e02c6f7e4e8f2a5cb0194a34d64a4c5160c55ff1750c5912107805d2c5767a260be1223bdfdb509f59782570c7ec093d7f19f5cbbaa64cf88ff\n\n# tcId = 128\n# length of oid contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 608ee7dbc573b80a6fe241bfe38854451a25de5ec32bc17b067f9cc9679382c8ebaa5607bd4b9f540046129ff555cc203728551001fd45487edde84a80f6c4b035051553b683881c17ed34bbd1e071f28e73cafb9e679489e5c73b02be7698c733d5a6316735c57a4c38a820987d934c463556183ad25f0d2a69e882acd7ac32cc3fc229e0ff80a1c5002095c417a559f84278dd75098b75370e89ae1c6ba708c453322f9be79e74530b062a098956dc6727a515a5e06c3d528f1a8f46318c561ad68060aa459dbaad3b8d8502fcf8109400dc3f1ab6e2bcd0e03c11d6c659f28953d70a9403c12ab154b054d860e534ac5c322f38685239cd20b367ea6b5c77\n\n# tcId = 129\n# wrong length of oid\nmsg = 313233343030\nresult = invalid\nsig = 423e0dd97d9ce8afc746250cdc9d4cae42ec240e53f08a32bdf9028bc5be2d6848ce48e13655f009e719d19a150923c145891fd2ceb63d2ba5540b658c18514f660831cd9fac648a487cf74075116ef2daf99e8c65c5b3acaeac974769dcf693b535377d69e55162b3c77c8bd92e21d874174e44f6e129d217c0aed09894f4cd75c7d370516cff3a588d4c89da64e60ee89abb4cf28ece616335ed3efe4c9d6f1fe5ade4dc1bab24410f48a9eac864699f4d3dd80bdb34c600cb53a4505613245df1e0edddc9a09a4d7dd540c661a5cde0a32ae22ae5dd63bbffd6fdb91f4bda8443cb8f8dc5ddc40d62859e5cf5911c2f843dd62b82f0c1f39e0bf3e8edf094\n\n# tcId = 130\n# wrong length of oid\nmsg = 313233343030\nresult = invalid\nsig = 16526d1cb139aedad31a0e397aa3fab0232b3d6432dc7fe1bf223246ea35ca6576c224afdabc95571a57108bcad87faf73136bc694f16f44bac788982382d6c46ab751683a13575f917acfc9830585c9961a61de138bab17171b6c8466fc35065e08a9bc6dcef84e46c37507306d60d855e661db7c41dbe59f3737547063796c618b5c9983726dad445edd1a89a5960758b99058e3fd0159b739649e40e9bf57f39e66f7bf23ef72252079d1527e9099b0f2be56b36c350468202562e33489d1531bc5188640c2d3f4f2745cdd190dd96e3e9e0a578da8132cfaa12ac736c4b5f9a4d6398195a88626f5c38b16016c9e97c2246175f8a1ae5660629e109cf60c\n\n# tcId = 131\n# uint32 overflow in length of oid\nmsg = 313233343030\nresult = invalid\nsig = c1cd6bdf82c00f4d1ac1bd38ee4ff5929c7651095587293d97f4afe324dfad1c3aa111abafd30cbd4d9d61b68430e9a88e016a85866ae40ac542c2803e0b0959d3a3f1e66b8e79dfc73f69ddfac4c86892c2da5fa2c991ff20cb2630cdd0a8a38d1c4dd3fa623c219ef50430798faad662bc15caed462513ccee3a1aa358d6e55790357fb34221a32796e0c6988dfe18320b3dea14f3423aefe12bc4bf1f78fbcc70a1cc15e8653d6a591bbd662859d81df47bca498e5649c07cebf9cb26d4bffc1ed0aea7059767a6b47dcad293dcd24855afecfdce49e8bc885511e61e754fbb8a6278582bdeca1c04fac5465f15a14d28cae2241a0be7cd662ea87680525d\n\n# tcId = 132\n# uint64 overflow in length of oid\nmsg = 313233343030\nresult = invalid\nsig = 7be6a7fbe11828cbdde67e5e0f2580b09adfe1b81a564875bb522eb59ffef9c3541208e520b4e73b597a30a526dd954272cf936033cf88891b551d1eb9bfa033a1cdcfd0ab8f51cb8503995d18a0acfb644d5ac892f828166ff25b48dc4ebef7acb8aaac10baa402c8db37698f048cf407df57bf27383db2663ae3e208b320f9634af208c23cc23aed64b7a6f3078f4b873113e75457e3f6baf23d3f49ac6cd64a11c90469a6b6fc9837634c72763f0cf35505b88fae96e149a0b87a0c71820c5696fc7a6100138f07e65c40b2384dacb0c8557837d0a5082773a09fb0ea369e7c296cd75a5e8a4dda61de1f923d31e4d8e48783c39d5eced7c7e82a6e36a1e0\n\n# tcId = 133\n# length of oid = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 70a231ac8da499eca0f1f4abf682accffd04f7a611dd850cf5241f13759592877b8d43682a1f84fd01c86247f5fd9fcec98cda26d9845026f15923a16fc6ae438e718159ffe1180df97fd66babacc4b97b156ec6ec500030b0fcb62c52a208cf1ab803a2d8c52be242075cf4f6c84abae285ce2259acd437e7764da25588bc6dd254456158e2ccb9c5f0e89bd899d97621e9c2a6049a60c978428fdbfd7869e3b12aede869d7daf7e3fcff841ad88b6c2be36b7765e3fc24d996e83c592c32fd1c45bfad63acf0bedefd30529dc6f57877ca0c72424474dc7eed3d4f502a45299f14d64f79f3394e00d160c4dc0a05f57664d2cef729b93d37654df8f1cc010c\n\n# tcId = 134\n# length of oid = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 2dbcfbd059d95582e3c0bc4b91163fedf41dc471aa1fdaee288eb6aea12cfdc6445ad75dc1906397516180884219116bb4415cbc1a45d08ec53b06f3c823cab4f633ad62d3035a66155a706f36f5899c9ec33ce22cc18028311c121000ccb23f34c4a071a8d296466452453787e7a955c5f83dcb3e0c8adcd58806e4d0fc5c90a18f6b570d007c7b5f6200cc96ee8b78c457fb3be09146ebbf7812a747d7d2aaee76085f6f6a14aa7aa7757b17e1eaac0885b0cb4532f46a4b0d5278966db8", + "4f5d7513cee0e269d32254e9c041bdf77bc4c2a08020f015f19fc4ecc74ddeb0e58c2693e42c554a7aa9c83a97e8851aa408a39725f123b10f47c4a30cddce2fe9\n\n# tcId = 135\n# length of oid = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 2675d35e89ae0383be3c9c622c1dff2963444bb319ab7ac8dbda22abb32296c6a5d09419e054a2c8740f79728ed0b1fad7d6213bb7fda21ca739996d97a3d5a21205f13692c4985e360a8297a011432e09c7c4b39816158337319b1704f503b96f3b9b3e270f41a840deda4c869036e456849b8185e03c2d88b6795a397559af36f479d6a5f95b93cf3a87a21307e8bd08b3bab11d0a3fc8342589b0c55093d366af08a3cbc6c0b7d324f09c21670dc50cf1ec1222e41fb114ab4312ec2cd74662a96bd79fba6d6cc9c677f19dca6fdd22d8ea7009fb330844496138f0d119211d9c4dd54f416c6ea0db267ad5077fa1b5aa4fbac15f7f4584922494365b2df9\n\n# tcId = 136\n# length of oid = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3008e12d14734a49882eacf2cf0b9dd3b4c9d3f40ce7e2fa02ec0577e473171b2a54bdcb8b2ce3569bf95034cd27487d8d90f0ec428876dbcc1bc858a97f521a61149bb8009d5a4eddf55c67e268a53fbd381e0b918455ce7b71a0a8663bc16d8fe2812a3951389db9a114339b16a13d54c88fed79a8c83042e3a436bb4488ad1ab501cb878dddf09a2b5a76a5d065b6f2353bd264c12692aa1dcc463afabf760e55f499110352f527fa98c30feea6d5b0591f4c6639716c0134855df6ada769fbbdba68354d364c2c19bad500c00dd53d5950d0344df58f5dae54ac532b5cdbc78cd5b25243378a903b7b5c9c2f03a7aa9e7b3cf5df2a5a0040d0ad993a0e9e\n\n# tcId = 137\n# incorrect length of oid\nmsg = 313233343030\nresult = invalid\nsig = c098a958a53b531cf766bcd77119b565fd9e943eceda96bbd5e9a3178bd8b01f71169660ccdaa440d0523c03a455af18b27ec331756281618f9e23c29b088d2d2ffe0854d665279d3cf305d7b1bb5e5d50341460c483831f1712801496371d1b406a14b6317d495a4042c326e21d578bcbad406589a2bdc3fc0b4fd02dcc41c3379513b370b7c3ddf84614ecc4c3bd9e623153447f1b0dfad67f783f30a2e8c0dded1b085530412cb33b785de9b919f7d7971463bc89dd390aa46970df198d2a25d718c8af793cbb28dc0468190e04f0958145a76ab170400fc2ea35f05b20d2f96fe0f4c68031516fad5d850daa1d2dd2ac89a0eababc037619884e87379904\n\n# tcId = 138\n# removing oid\nmsg = 313233343030\nresult = invalid\nsig = 64a7a262c21daacd9a5650b5d86e0bdc07ed09fc4a89e4d3fb260cf5f6e2e4ad529982a0e677b37d8d945c0c98a802f10770f6148ec47bda1b59f63229bc81424e3c53ebda28adbeff58b0c59c9f96721c187be69a6c38ae4bbe664c185c297c150ca49a51812720429438e293a646895e4d30bd152097fae13f05a3b63fae91ea15fb556cece63dd9616e9550af7c2f9e9732ac288fd42258c34a48cd22ae389b9f38a9e16528c7d8deca2b11b609af2259393fb28b353f082ee9346a5aa55111c3362cc245bc671704746955f496f58b574fc193be8581a5aa0a7ee333b6d9f049011b306afe9f99d2ad01545f278aa0fe20502077529849c0eac95ad99fb3\n\n# tcId = 139\n# lonely oid tag\nmsg = 313233343030\nresult = invalid\nsig = b5ee078736ce4de46ba4afed67454a5d3133044607ce2a5efc69a20cda031e4418b15de0765c6bdfec1e27577624a8d188d3c6a2942a6e9c77afc4d851ef1c489fd400f19b1da93bccd00c43753638944436b0598efe8aea545bd11391062599e4733ec4fd99cb59b16a57b07d7c63e245b9eaee1aa637195a04c51d8b40b33d00a08419365a69b2611e60430352c4f81eb423670b76c556bf3fafa602a4cf97caa580f646bfe6d795d35c547509705fef5c5198b878c467eddb9552051d9c9eb0e86a28d2e5896adc3048a97c0681048c5654081160b0ce2118570a76c648344dc1948a644b7fb745ee47df6344b22c8969d08442885e101efd5e66a9de17a6\n\n# tcId = 140\n# appending 0's to oid\nmsg = 313233343030\nresult = invalid\nsig = 7ee548d37ad707c16067c91cd1b3f2d9c212d13c5b228c04b904446aa5d5ec13718c8fb36a698a644437dc0ddf1fa2519deec3316b3703edf450df964242b467b01f4162f555de37b10748dbb26f1424ad671b7aec5821b5a9e14a1c7e321924157beefed43d2effd1128416e93f9a4c676e7c564169ce161cccb4a6bfd000d40ca317beb66905fe2a5d0ceb9b65918070c18cb338dfd2718ffedb160d2dd3f321c025ac8bd8b31fb87408ee0c1100b7ae72c731cf3625601e13d23e6ecac8bd5bd475a37b32fd4e8548a268d7d0df133a4e2c417d124572f6b9e741c4df1dc2c2cd6f660663495d93e1c506310af8dd3cee5c0116702c5d2484ad281c78e7ef\n\n# tcId = 141\n# prepending 0's to oid\nmsg = 313233343030\nresult = invalid\nsig = 00369a147162e880067ff3543d2c4b2572ea1e79629851141e1e1ea5a023bebf1032177cbf07df027b655d617b752075f12276bb40ce958c43c5ff61ad88d6f057b1f38b0a5692b4c8711d886e4608ca76a7e4e30492c37a2590ce8b23a9c78fda60d8254fb4d5dc3356a0c6385fb045e78467c6caa333af9c683504a1c5c40ac7affc005bfa3cf75c4cf9f6dc281e701d18554ec757cd62b5afc3a260ccf19d9047f09044c63bac9d3e90164208b3d69d1862c555fe8bbc916b3410584131ea5f575bb9ce15f17dbeb243764f62288d3f92fb3213d94218c84bef34c97ae2eed3a454a4fec5a69852ab12beee94acf0979a1549d2e975bf176f7bb07494f4a1\n\n# tcId = 142\n# appending unused 0's to oid\nmsg = 313233343030\nresult = invalid\nsig = 1e31c9be7dd863bcf2c486c18f350c7caf4a46fd87fec097c492aa0630760a3f8c9aa729cf2d16d1f234090f194f03009bfaf5294006a840f9e6ffb33f3c7c8bd5397dfd1ebdc8d0b755a0699c8cca65fe6127bc0176cb64f658d9ef653c245da12b83669625a585a0afca004bc8450c4e8be8cadc0f7cff7b7a793a4eea7d9334778b6326d404cfe6437dcad120e2a801cb408032e0b617f95cd7af90df1641285b082547c6a55c77b8006c6f575c555ba9445246fd5d9b1fe351deb9be539ee221bfe8a0e1813186f19e420766251cf73028cb70bab2965ccfd67c9a9d8b137045230bd976b666df73489f2af2b5bd1d5e39b1f063a8a93f39ffce0fe69113\n\n# tcId = 143\n# appending null value to oid\nmsg = 313233343030\nresult = invalid\nsig = b6ca1d31f2ebf35e1410304bfb2841bb600d24f234f163cbf2dc907088f43cacdbeabd0ceb585432286947e02edb6b5d04af456b214023c79d22ab7056e674bf6f124653e1adf12be8805158bcbb4aeeaaeac13ca909d89121e278931ab590d7279e1c720809db409bc484b6bd388f759e9581dca851a97767fe4b017534c1986d8066386c8cd49dca14ad0f00a01db076c79414261a97a353f824a7e07a8eea966bfd87b58dfb93ceecc02d159659b9fc035a29391292571ce4defe1e54f4cb37257401b54f560a4601a5fe39c6898a193547eea558bc6e4cc1d675d46b86b38fdf2f629df7d40bf36eb7e4a46e025c298fc582252b2c17ed7300e0ff4b1673\n\n# tcId = 144\n# truncated length of oid\nmsg = 313233343030\nresult = invalid\nsig = 6522df9e982d2032265bf683bd586618b9b392d81fde606d9b5f629c170279967455c46e4024b0afe305f245a62cd0460871a6d470bdfbcf0f5296e59ceda6a5444606d7c38491d1ae76ef0f2c26398bbb1850138c8830d1e2baebcb8ae05b81302f490ab08252f2dcb13466437f2b196b4570ea78f34bcf9cb464e5f43dc2e28c3819ef744e5a541254be84f9fda3bf688c7b2181fc5943be1e484f01ce80ec01474e09f55fe6ba54fe92b57613fef41d5d67d4e740229842449e5314125328b6bda2eb3baafb623951ea12b1c4827b2d395b5c470ae83da4af41840dbcf2d0b3eca0403995d0f5644f0f6d9ce5e18338fd097bd0793d60d749dcc431ee429b\n\n# tcId = 145\n# Replacing oid with NULL\nmsg = 313233343030\nresult = invalid\nsig = 258f8575c6a1fb31f6979bcbef23df0d12da874a5f12c6d59225dc388582571f30e0585abe7970b0c57b7c4bbf5e41141f9a484a8c01eafcb1b87d612fce7be6a45d7c126e186fcdd108e9b2a55a6f00684c561d486644eaa9653b0f580f05a9876b9d7e7727d82a3e89f9b5bc790939d5546f1404bc34756caca7ca873a9f64fb8ea553dc6c31a61e302bbaa731982b6faf0f44e5fcc1a7aa81a302597901d772bc3b012b2e10eaa3c6f1668d7dc67ac2d0035155c3e32e4db79af54db3ff78683facb523054dc8274f01c0e52f658f62c62a42ee7c05b9426b5a0255689c579aa10875eea16cb14a529bc0e37a17314c37ee81eb99c11f2497e270a9e187fb\n\n# tcId = 146\n# changing tag value of oid\nmsg = 313233343030\nresult = invalid\nsig = 0e5a02eefe35f7cc3b99aaafe148aa6e904a832f61debe61ab99961df933ba6bfae5010db70671fadf05d7596fbc3a42ba443aca4c046e9dcd46680b16eadb024e822b1c973bffa4a6147c6907e7e5cb5108ed9b710f3a27ad57cd2c69f8c246786d0255159207ea83ec93bd84cdfec3b9d7ad6bbdf3fd35ce4c59f040df0b9f549c03c37e8c9a4a77fa63dc8f0fecae5a4482e766e3e8e7b4509ed700ff3248ed7e2db11c04c8423cbbe86008a194dfd6703c4e172b4eadaf7d179b266e33378809ed389d9cb879d22d9b881442051cbaa5bbb264a3746a15889649af13d3fda9f59ba28aa569bf2a8e79b69881a6abe310d49967edc12207a98431a9c14ab3\n\n# tcId = 147\n# changing tag value of oid\nmsg = 313233343030\nresult = invalid\nsig = 7d3451b9055c5922fb6956a1296b243f2ab1c3b689fb1619ed07a812414bafe3e41c2b71ccf90ec30a7b7c6cd6499611c3517e0d91cfd832cdeaaf016056fac2b3f458046fb8af03d521d07fc8649ba62331e6ad894d760c78b95c7369c84f68bb573660de2a08500faa131261a81f123de87abc839a8a6720b0ef0edd98113592818e0f027a0e0e5f1d9b6d924949073d5d061296504f4480029cb2422e6505aa119a5006b6b37e68ce866b758366e4ee8b00231f61030e5d221fe26f5ef30084e04c62a7a965cc1903ed0945dffd830607ad579446bb3292d9a84a1c0172486b4554677b64e21bb9a00bb33df7664dedf10b06d7f691ed5b0e9683ec6fe899\n\n# tcId = 148\n# changing tag value of oid\nmsg = 313233343030\nresult = invalid\nsig = 4a3c11a32aec24532f92b8a4cfa5390ccf67caca60d6d1a5512225b80aa811bc4fba8f323c5d71dc1941a2fe02e97bcee6c7a936ac1f95e7817378eb78a257a25dc9ec3a446503a046fa008df571c53301e8bfca9dd4bb9ccad909a1f1899e4e012246824859306011c9a48d678ebef2398712df229988826cbe91a4580", + "77f6e4f7b9af84d2ae5901d73e7ca778f8e9635b37f57386f146202be3e95f42909840a4348757085c8de8431e4e1c91aa667466d899b1e41e691745d73d1e2fb9968ab197ef1aa97b70dc49c25bcf62bc0746bbd5a97921fe851d96dee01753fdf6272cdd86ae5b7c4b3f9817994f898e2ef39738b52e62e788bc878fb446f1f0f80\n\n# tcId = 149\n# changing tag value of oid\nmsg = 313233343030\nresult = invalid\nsig = 1753bd81f2bccdd8ee330df96e0c03345951b813c551e72dc7d101f16245723df7105b3e815f0e23fd08254158f60a9bff84c8cf5be766d7c150639ed017264d30e568f182c74a7e0d6f6c7d32ebc41d4cff8c09265fe60e8d52f204e6128a57e54a18fb90a587897ed16c50c0b901072f175ebfb20ba3670a5422908043f4e416b5622e02fdcf8d1e632d769d2d1764a537803088921175cc1a7337df11eb006d946576cd08934caab187d71c2184f0502e3827db97976f7485bc34760bee949346d3b3de8ff48642a4ee0ae7f9dd97084ea6f70118e0dc3148a428cdb662b03941f6a505da8a77e00be2013ce2762703c72105885ef2507f9146df1ae15341\n\n# tcId = 150\n# changing tag value of oid\nmsg = 313233343030\nresult = invalid\nsig = 1ef6f0daf2eada9eb09ae8b7aadf70dd9c511eb427d5edf04c62b6584f851e47228f0e7ed71cb7a0a1729b62885380f132f63d54782b4c5981593bb4a270b43b2a93e7cb727e11acb1eb649d8f77d9615751d1de6f9b596071b61c19cea2d3941bbe66ec7bfb2718a16110f90f9b852d0d69ddc67923a9861e51fcd22d9faa859b94feaea5b3339817c9e6c7a6d8b4a907787279e0f82174947db7d110690e0bec1ebd7d4d36dd0c8c67dbd54e95e78d150ef635e7c7b6ebdb443aba2eaed29c1b6cce426dbd86dcca2ad0c217fd4d22b2806176f45bf7873839d4051bb15cf0a3bd29d4e80ab39b3b92a1b2e058cbf3d3bed89a8c688f37812497d37aefbd23\n\n# tcId = 151\n# dropping value of oid\nmsg = 313233343030\nresult = invalid\nsig = 3ca8aca6df10b57108c39833e880401c593d24594f3f0b176df9bc948171b84b3d1b80fe11770cc3340cd9d77cf61836f5f3e4ff05b4da313e41fc2dae072adb596d43da649280a85933c7f4044954222f06ef58979e2ad172b8bf4a77729dfa7780adc59a52a255e664a85b1f0412246b0e85721275524197c77e03f7beac12b9a43f3ff633d4458baedc4e6f37ed566ce67cfb4fe392411e086746122e8680e3be330c9ccb2acff91ed8eabec3fc84008d8d3e9a3f8a379f1e5d1923a39ce3ecd69231dda661bad8779ab04dd93872bc3a706408fb5e23a4d375af4637da1dd0437ed9398367e3418972f711021db80ca9eef88823c35ec31cdc1509f8d222\n\n# tcId = 152\n# using composition for oid\nmsg = 313233343030\nresult = invalid\nsig = 0230849ceb04f40b8a6e42546816fbf497fdef532670ca9828fa9f12b127d7a97c5c2c56f95048c11b0c4c0ffdb1bc5af25dabbb09379b707c7b9902f0a730013437e8c5b20690c58a131f77a57320a8258b3df073c63ba75576a552f65f3834bdb7dcc802b4a92dcc81b1e6091cf0f1403fd376cd53ddf62737af6ea847978cd8edf36650ac25cd741c02cc0d1bd503af90ce0b8da6708e8e83ba5cefb28a033b04602999d38acbf03ba0ce675e3ea4833e67ddbed6eea332b6bad6e92973a359e2228cd3020ab4fbfe9056d18470e15a52de034f7b441cbaa5484a6a5882d706ca49a4621a9c159cad90d2b3adabd71df4bc9c63ebc631ad5cf6e5e2e1729a\n\n# tcId = 153\n# modify first byte of oid\nmsg = 313233343030\nresult = invalid\nsig = 61bdae14771e75b523505ed9d9f4f276f72769b723ef6de8f0be6bd482b89a55af6cbb6448474c58ab53f25e0680d8a37a0cd6e6d7c1cf87e6d94e88e405c9044aeeda7380504ace1fe5fd1b8241e74708d513f3396fbfdde9a81a814e82413aae10920610a7e4ed2b00d51b54886a811b63b18e6ffff58549111d7fb5dd0331831ed3be62dd4ae704e140014dc83b57298323af840b53fad3ade4d19086243b433fa39375d32536f42747700914c688bd74244d8393fcbaa6a321abbdefc711485dc17bcdf73fa259fcfac4a5a37111145cd2934ca80cd786117073ac7d42b2b8d9761c6130aab683bf5549f79f95a342717679e67700221ab4b021e5855644\n\n# tcId = 154\n# modify last byte of oid\nmsg = 313233343030\nresult = invalid\nsig = 6598c1239a83d0c0723b68fe38250516ab689a11a2f61c027f8c0d23877cfac192b03d3beb50c4d6525195383f01ab4a696885bf0f7221f2a4481654019db4a8c463033a8ce16a7e05fd9c93f931e1430be94d8e9d05a62d2d0c3aaf6c4d559b1811b82aa9d37f82d194b86e593c94bac6450ccebb8a6929217b534c00e3e287cd30eafdba3279c97a614153e187be4c2da60167da375c736bfa51239f34690071e0f1f8a73b631553799d1174f36e0c7b7785cc768812f597a69ae74b8f6973084bb272b5fbb6ca56a21a7e0370f08489dc306b0854fc9f9e5aab570d4100d90404f4d9b5c7781fc791759fda49815782b38ec9f58adcd18cb70b2a651a18eb\n\n# tcId = 155\n# truncated oid\nmsg = 313233343030\nresult = invalid\nsig = 0ac9696f7b0b311a6814d3e5d63c48a445d03c89df77884af972961f49812506ec8456747ec53e288937286f14c2e41a8f74fa421f4e14996de675d9751200f42604dec63a68c45430a575da116d77bbd38d60577206c743208fcd843578b575908e569514cf93f597075ab0afae8a09200a1743bfe3610736b70b259becdc38b67bf73721814c0134da8e484ff272cb9326bbf2bb769740132f0b2e44812fb54fbfc5ab96123c0d13eb62bbe115cdfe33222591e0286a09a963e20bb0afc0cd7bd2de7aa36251ba7cac6997a52186cf28dbf31ae3f571f9c86bf26a05412cf1e1a4114db0d5c8ea4e6b07ee215e3189afbc0b430d9fd8a5d2d138ffc0ecd984\n\n# tcId = 156\n# truncated oid\nmsg = 313233343030\nresult = invalid\nsig = b29d1a63166fc63e249b9375636e95d9c054dddadd20e0ae1a3da348feefcca44a27bb23164136a8ca5964afaca45fd0543657801b1ba129c7afb554172abd19ee9edd058018e4dae4968372dea904afc553414f45bfbc26a92172437a699d3040389f0f507ffc9399f5c36956a11aab1e97aba595fb424abcca14ce28928bbac4c4e275fbc96854189509eadde522457e12b22c4fea0aa6a5cc751c87ba30ba3270bb0b6aa1ab580b663e46090104d55c5e9bafbe5d347ec7116676d1fc9100a2eb7c0710f5225885a1796965c923dcb7be7c25ca95458dcf3e48f42373fc3fc55353a029f9dc40050288ee419054203e840ea14fae81fd81ec55797993f076\n\n# tcId = 157\n# wrong oid\nmsg = 313233343030\nresult = invalid\nsig = ba75b94a31f9d4cd88ef2cd76ffd0778bee027436f66e9daae2859c331fc57f0ebf6d8843e5897dcd8c94cc775a1546b84ab6e1847584f418539356e50e59863ab15e56a7ccc96bd96400e0b6a6453bebb6d7f9db6e23c59048cee4cb6ca099cb4a67d0df948822195379d01c7b5e3349c4affc78c402a02572ae152904ccb1997b96f030f68362de99a381c6079e4e3b6b0707d17227e3e2b4baa1ee2b35c434295deed6f30501e5a068400684416e5bb0966b4ab74c1bd139cf8b7fe09c2572639c5b87794a89cabf9cc47f35ddc6ed5a86933c564eee6e6fb4590ea20fa012133ea6178780a2f009af14b9e5fd6c298f986f61430b279e933d6d234d3f41a\n\n# tcId = 158\n# wrong oid\nmsg = 313233343030\nresult = invalid\nsig = 61a425423adecb5f5f407ab11b80b32f8ad08ac6a1a16cde833f2d8ddbe6bb311ac30fc71935337a54af6d1509ef70a01b7fac6db659c8de7c5839a700e98e0f6ff4a2fa9b60fe3ae1b09dab7e8f56ea96e326d2116bbf65016b7ed600339bc43c4cdbd05dcd20d8d46dd324833f2c3b39c85aa7cad40313c8523a5926e6bd7dd2335136f518c44e745a178e92b71199fd6c7395462bd9328313d7ab45b3fc45a91ebe4f000b3c84394713a52ad986496bb2714232d6edb11c8cc43257553526b908838ac81f2b566bf5bb193d7ce7b77109c9bc71f70b04e52d0e6d106dc148b61b6c758b79c7259099b09615d43532c8845cc136e1ffdadcce785bd406b785\n\n# tcId = 159\n# longer oid\nmsg = 313233343030\nresult = invalid\nsig = 334c93438cf92f60e2f92cdbfb57dfdbcf2a7e1369c0dbca628b9f8ebad0f679a82a43809d61602784fbde2af8b8a203eeddb543f32f7891d1a1293465da2ecf88b3cb6c4025b3661101e2c621d06835f63b7d007aeeebf0265c6221c296278bf32039707613950702b49208b734d9835f283ca349630595ce39a283baadb9cbc7e950b258a527c72bc62508a3be68988f0749051b6bf7f3d303a5350f6bb28edd4359afd34ef1bec01af29b199c36f0c3cbbe1dbedaea37a8324082dc084b7c532c0912fb681b371680829e504d4fbf03001a2e674762edad44f99f15f69378c373a430a8fc23177536e2b6ac38cb962276e885375d7b3351c8c98453b9c222\n\n# tcId = 160\n# oid with modified node\nmsg = 313233343030\nresult = invalid\nsig = 25f9f878dff4b8a2632f808cca5cf03836b85446b99a0377c3f462eb512d7e338f4fe3645b2b075a5616c24f46917617bcade97f8863a59cebe7554316bb6b7eb46f2bee9c4a986c1e58d1189ad3075e5c1fe30d6f760b0037ad5c71148095155db297b11026a0064c11545469acc7b607dac606e8d1b9d83c059b0982065f30619b72c64af721b424328df3e18da905e2dd61a5f60c5876c9ce617b05be80827c2d27c21d2a55c751ecae400e4a45b52dfba39ab6986a1475f87f217b30837bcf10f4c564615b9e9e77fbfb45be9788eff010ea6dde7bde2668c6b5f0dea060b85588be2e00d26fc807d2c8c83f965f58d3ad3a8ac55a069853834d992edf79\n\n# tcId = 161\n# oid with modified node\nmsg = 313233343030\nresult = invalid\nsig = 2ef2f37b36dd7d580ee5bd4e5fda40edb669ac2c994a0d3bc593fed96d30f08214c83fb5df338f34816c004b1fd1a977e3802bb6834ebd1e4238e9038e467a63dd4ca53bafb8bce7f1ac85107516ac4b0c350d2871efaff0cfcf6e8102e8ca8217ab414ca4059a4eab19bf2080cea23f305da8df8b0435120b98c7c1c68136ed477b6c9506b570fe7cdb7f49657e426fd0b0bd9908a1b05fb87aec53fa2a2cda540e99593a91c5f3205271d6b4b4f1eca1d5653535d21c2795422f757ea1a483c0aa9749f74dd78d5fe0cc9fe04e5adb35ddcaad79f9ef49de4b818b2c1705dfa295384bf17585968d19d8f8d96f5a367a2f493f4a72b6c93c33b90535d968cf\n\n# tcId = 162\n# large integer in oid\nmsg = 313233343030\nresult = invalid\nsig = 5ceb75f65f2b9f4b326ad50291182de132776b4a4e0fc6f583377940727dfc33cddeca6b045d12486a3bfaff336f9b0746b3e9adc1a03651c4632e343f9988bf9db8098afb6e17a1e000e925f6fdaf6b5bd96d7cc1c7ca", + "491105794b0ac064dbf9d78eb9627b3c2cf8fb5f1847d1fcb98ebe759d18f9d11f4b014240b3b1d88aeacd2c2ed6d23ffcd1927a0bb6dfc144d791dd447c2801c4f01b6f4e5b0124cb76732dcff0c582a8158896ec059dd041a06962102fe6bbaee1f1288910a7adbe8c3a2dcdb48a7c255b70fab8d015decef2a3990a0be9b94ecd2a1056b28fe3f96ac29f14ca26bc5de7a5b251e332d17aa00b1ac5f8eb3bc30bbe85d46b37ee3e\n\n# tcId = 163\n# oid with invalid node\nmsg = 313233343030\nresult = invalid\nsig = 2e029166647b30902b520354746d37fac3c2a5f9d20e693305220609c3ae8ea0c2e52caa1fceec761b17ffc6c8bd28f41bff155fe3c7256e3315a66b93da4c97240f67b1687b259c0e227806c2466dc720a57aae407cefc34dde814260ba824433d1c65025b57dd866e2fe5abacada1a4bd0e0c71835cf798910cfdc1997eed34dae12b3812b1e7c97aa07432d4fd728b8935ff8ca523ad209531ecd8aabb2ae741f8c27bfeecca7aacf940356c025412d9cf969ce1dbc75af6796b9b2b1b5a20a8b9e363c310ba1707adcd4172c5973a9c758af292300b9458a8c0278a7e95053a3b9c2ab8dc206f6c8b68a47c24b2b9b09184df993c931655d1d9c232bb81f\n\n# tcId = 164\n# oid with invalid node\nmsg = 313233343030\nresult = invalid\nsig = aa0665f8b14da337f7212640e270e75a75436ada44375e45e6e976b1549bcb6d5a1d4042f160d5b4a3e7ae6cc8c5485450f94cda3c8c52fc071b4b5db3289cd68a4c48045375b7896cb6e8456c33b5bc4238f92ee242628baba30bce1a8856bcaeab25076414d4468d72d26914b9216bd23ccb77e1e5863481acd26bd2d1706c5f9c65ee84c536bf674eaa9d480d631de47bb6c422232e544f977af1eba39741561b2932f286a22681fad7faf5bff4d3f2d9fb22e9fafda6a677ab7eaa005dda5a67228dbda74b043f80d2fccfb0955124db86112cbffeb1db382218151f4baa2837c0f1692ef9a08529f09792ed0b2324157dd39daf63fe972748810c97ce0e\n\n# tcId = 165\n# long form encoding of length of null\nmsg = 313233343030\nresult = invalid\nsig = 81752aca9fd0847f603186aad9e57149bc9971f24d1e11b7d12361f989c9ae6e221ff02ad4f907c8cc31b55278ff51d900de8b1635ef5b7bee09b41ce099709e63078d7c0ef58a2dc5c2b5aeb7fe27a283087b9e148c97b29cfdb3a4ff4debd22e60989cecca3fb85c6b5da660bf7d00b4d88d65c0c74ff879edc8ae2848d1e2055856832d05b3f4effdb1c057bd1788e67dfff3d96cd1a4a8b04fe3c82c4fdfef4f91b352b6afc47d5f843b898908c361511ac3980ad1b83994b69400b7702c1bace5e344dd0c5eba651466c2a76c5a8bbefca2fd2bc258dbf424a5465f33bf0a410c606fa3de882cfa5c8038495e3f1ed5e919e18cb107505771a346bef3f9\n\n# tcId = 166\n# length of null contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = b06f06dd6e71e4cfd3191fff49312e1e89c9ff09b502f8d81c6710bc25480e34519b70f1282f56c70ff540b507f729702dd6b25a33a3b96848ca94974ffabbe7ef753ed5a6b08459a1229e163777313f7208e7d4bc30eb8221e832efee50fe22ee7f915e6000aa8d38a96bdd1bc87e432fa10da0a1cb70116c62d894d05130aa2994796a4b514531b749405f56aa84874da4c25b4743814e0de174401d28d822f0485b267fd77511eb936011bce790fe8742677622c97f6ee8f749c57b254291deb8cdc759bafd8b8e0e95eb26d2e25097beb24e7b752090549a5f12c276ca182f911b095afcd87942504a026bb2ba3511bf4d32ac7fbaa8e44dafa39a47cb03\n\n# tcId = 167\n# wrong length of null\nmsg = 313233343030\nresult = invalid\nsig = 27e34f147a216612af33b2d780da400926ebabd939b41b6d6acf64765087231c6ee9c32398921641dc586048fb2e5a6750bea7d99b1c5d0ebce67fdbe7474fcdb67d9154971556b7dcdd304a28181123b05fac0b738d8ae21dc84c0c7fc6c152c06628579e708d4d7531eade2baf0539ec0b3985cc03f9e5325c093a46f2f53a4a0cd9a4209ab4d7100a06cb446444715c746c4619d3f32a7516c8c13638ecba66242222d3b636a3c609fe2618e080484ca741bcb755d217b50fe2e560d6983b8f708597adf4bcd0b948766f4390d0c1409cbfd87f8e1e1208561a849d79826cc60f380255dc4949af3c4857ae626e2e0dbf4dd5fa4de585a9c0ddff5decc465\n\n# tcId = 168\n# uint32 overflow in length of null\nmsg = 313233343030\nresult = invalid\nsig = b8291b35c54446e9295655967a687ae59a795e96885dfbaa83cf52095d2ee55646cd939ccd8473a5f1fdbc8c10a77e87e65b6741ef2f854229f0cc7f8771ba6ce56391061aafebdc7b4d65d798b4492cb5d58b106c2e9fa5705016e22067b9cbdb6820159e390b8ec4bf41661a224581b774b61bee9238d5a8663217f6bd57e7e3405447126fa0dc3cae2734da94b2d848b9602b4a313c5283a5a5306ada0387589d1a5e6ba004c949dfc1c07350ded30494829d46578251c8a777867486483c0af6f6fb96a137573a72b81872162d051603362e873e5923ede5f418626f917a53ff66cf0d5e35a8fa2b800b8fd2fe68e07492da3bbbea36dfc282f05f243271\n\n# tcId = 169\n# uint64 overflow in length of null\nmsg = 313233343030\nresult = invalid\nsig = 8c03145d0ab288cb35d62df31d4d9d3f7e8f3bea809f5fd2b02722a1783ec778bd38b861bdb5b5d1d3d283493a7f75a7e458b165df40bc6b370ff901e12b5193187d85860f391594f75276596155b802e497a7b7c0bfae298f8a7627f70924e5008a0c5b2da24eb33346f80d85c7c5851b67e1aeab3124ce64f0c3298c2cc8d3c7ad46ddb945be4b2cb9ee37d08b252372731b0321b617ee2873d187898e9079cad56a9953f38def6f318e6e9f30eb79060dcb82f3013b16444cb10fd84051b9c9c954d9af65ce4f6607063a02e179dbd67cc0a98cfa50a78c75d7e7ab53f5bfef34e0a0afcb782ff74f8846faabf24f3073110e4b1f72b050644adb386c0c84\n\n# tcId = 170\n# length of null = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 6ac40fedc37ad7d9529d4327f81b3d223adcc7050ed1a6cf060a48035f01fbb19f8f90f17b1a5474ba1b362d7d826d2a62bb6cf0a6c41987cd624f887cb259e3a5d7606b479842b4a3dd69421355111df9d1230c2ac9e082cad89619a34d6eca3f317992fc3933b3cc29bb36787102b077d8b87911bc8376e68ee1e5b405adbf62e5ca46d8f500223a386553c45d5d085cfda0b68428eeec08ab0fecac33da41c30062fa4e7c89da57224522343df9c42d55b5b806d02e6ba11b8b434f8f4a638a3d78f4e7a295f17063e6bd8fefe1e452b6a7ebdefd82aa399637b804722849e6a3950df8abcac54e7faa656e52678ebffc9b69e2e8d3b77590ae592bad00e2\n\n# tcId = 171\n# length of null = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 0f6a1d4ba914e27eb6df8dabb7d9e042ceec17d40b54171bfcd150278c64d64d4fda06ed0895920a141696a1fbdfcbb4df8ba357b81a8053de2ed74d423ad46220f6af244815b02d44fbd45b31cc2dd26145de9100063e3b1f24cb0e001837c0ec82fe739fa46ac8e75deae417e4ea7b2cf63a1c6d013b2a17bcdcce9a740149e70dd890acbbeabaeed4fb85b2c2c4037593c68769ee060e270d086755f16a2c4efdb84aa690c2dc105d47d0661f794f9a5c2d8bfa01228eb97ed79105dfe80b3bf8c06cf0c54749e9dd94ea26463d3155a268676123cb4562473a7cb6b3292d57fbf65c1e77537f43ea13d4429c76e0efb922b6954aaf481a85cb12d242beff\n\n# tcId = 172\n# length of null = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = a8872892622d1126133c7de0a0a87f9f31ec8dc37969b81f93f9e43434d305d2bb1d1d990fd3f8ec7068cde599634b42b67529c5ec3585ad9897b45d6f791413d160de78171506cb7f2edcd530ec217b62bf47bbcc4a56cf11ee5f8f736a3a14198784534882b85f2e5533d80add216c9e5d0bb7696f318761f2c0ad788f2894d5aa70f2161b1f9a26cfed2922ee04d05a4bf11ef7800c5fbdf880fc1083ea7482e50133bfd3f514a44ff1d34cebc78c4a3db2d2a244585a23a587b38deac25fd15299deaf9b0e1d8df689876867687f98e60c250b5a0a35ea60763b0d842ebc5c8e3e572f72c8b9c678d17cd65322e1a9288c6b41190b2c39bea774dd02060b\n\n# tcId = 173\n# length of null = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = bbecd925ad43825c692249dfaf8d329e195611162f5f92a9041aad022b32d3f557c5492ac4b3909a61d4cb140d66290c5237c19989dbb97f38ca1c3db2cbbe557c23ac33768ffdd28edae33452c84d555aec763752322d285de31ecb8da49d8308aeb978d0e64614411a28b21a848b864ed36665f7490a277f885ac3adef86cba6e09161947f7555d875ed8c09c1d0d2b7abb8305b30211b7cbb5a948ba7f4b4f1b8a3d95112b13738aa7a8d76a65c35af1f4ecf908bc2cff1201e165be270b029ba6e47b9420cbab4bf354cd2e5e617b031c53c4d3d9b4e47084e25007e6dffcd23a4e3372bb52ad7ccae4dd5dc856fe0b1f6540048644290468132e3466c9f\n\n# tcId = 174\n# incorrect length of null\nmsg = 313233343030\nresult = invalid\nsig = a347a01df709ed197c3b2d2cb37ba7b47b77c04ac8f2c8b210536635ca7204ee94715a8eaccf53ec5d0ec2de0491f9ed35f5b8f380e0d4fc97f380381312dabf7bbbe2b8916ede4b6172b084a46ed834ac7c6fe891eb165d606dff803ac345595e2c7123b827d16a3f0aa3ba10a33a8d92b30840a53a4bbdff30f093b2cb0d77fb4905458cf56313d4e13efa8c4322f75eb0247ca91a3c440c367de13808624c6accb006aef61812217aa2821ec82503f93d22b56029ea0c995982c82aa5036fe63663591165c6be4d5aa357a98cc8f70fd2d7a68aec6c5e2273933f954d7198f073c2cc3263a38d6b4af0079b5f3a5475152feb2d90c1bfa2c859ce909f452c\n\n# tcId = 175\n# appending 0's to null\nmsg = 313233343030\nresult = invalid\nsig = 54bb859f5b913bff81a26bd83526899cfa36ab1f5d0d3f582aa414ad08629d279d694e4d585646dd59ad3fa116e1b7e6ca7548bb8dc81c69b76058b57a4cea6f8db185a02a4fea5a173768faa26c8537a68558cdf8b4fa82b4384a04fe598b1612a7ec357be733546c618466da5175162ca99d9323dc89e9b7fc0c99dacc3c7779fcc1222c23f7375d4926d2f1970f4359cb3083321216169cae055686364c77ee32c339d89ce1884d815cb61702b738436b3f0f9ac3e774c6f74993bf1c7bfd54741476ccf111791e353a991d707f77cd5a52d470a187d6550a17bfa13c33c7dee5da8a07a201ad5a1afdc33e863c7bd80382989fe9a14f6b6314af53cfb71e\n\n# tcId = 176\n# appending null value to null\nmsg = 313233343030\nresult ", + "= invalid\nsig = 450f42cab5828ed1719c100259528c39c2ea655b86f1c45fb8491914f48ea1dfd82b368b09a6b53793b7cd65e1c363a886dd0482360c366a04ac626c6e24717df9ebe0fede2e50b2b2fb5cf715942670ce7ca417f213f6500429ce3953cbea17d1adf4422d56d1598fb194026c40b71499462f240bd778de1162946f3af9c6f72b9daac8562c897d32339e40ac858fda5e5dc9abd6caf4af1b01ab5bf4d99cc86d9d39d12e5d85cd4892bc149da4eea5aea46d37641f3b1c4c15e9bbc9498649e5ff00f329514b890e14bfbea31ea811330b3a3587a556ae2ae53c46e3ebe915d3f3885e6c75f3285c539b95a9dca59513adc89369dda1ef18b064bd74aaa2dc\n\n# tcId = 177\n# truncated length of null\nmsg = 313233343030\nresult = invalid\nsig = 816256d2f65d1e78a763c2eaf69a6923d2c6bebc46278ac9f4f005b40fecad7f9f0d2a06ec69b08195b76b6651d4873f5acaea9a122b99d381b35fc08a790c8d88ea63c102e4fddf6f923fd5d0b048598fc19bd35e62ff0b41ab729d167e2bb33ad8dee0b3e33ad8e7ef647f51b4e255f677b99e491460f26ac488cd35fc73147d6a18199839b747c53f15a25f14ea56ed0a5e381a774ef69c69d976a0a2847a6ed865a6f402c9eabdab4a8c03956213c19a9783aa8bc153301aca3acb538eece52c43bd7c208452681b877e05c66c914a8811eef729185db3630ae24f0d2a7b46da2b2ee12a0de676df07bf3a84195d5ec354f6bdc5287d8b2349eed31487ec\n\n# tcId = 178\n# changing tag value of null\nmsg = 313233343030\nresult = invalid\nsig = 840b053b40a9778db629e725103848e7bc13aa540929c6df42a55c186e2f0330d8894d5247c203c0659301f6fe8784e165ed253a7bbebd35723917c329fefdb439e784ae7aa13411b9de20cd1695ff3a084824b39c25fc6e3187dec94f28f9335b6e03458bf9e0b7099314dee2ed29228c4bc78d1ba0ee0eb9bb340242b083416afd193a93632a9bd761faf1b78444fab6c8a43f159f486605808ff35af1fa0dbe17a093d1d5f47fd8c1eb2e6789f66d7a4dc74145c8ef43b8cb3715d3c7d6f745273b0b1a7c92a6134ba9bf6d0b6670465fef1c176476d53f26613987b5f363c38fd3972e802d5114904fa6c8614fc789b5a40bbfa5cf5d4fb37e2f8049a136\n\n# tcId = 179\n# changing tag value of null\nmsg = 313233343030\nresult = invalid\nsig = b889dd445907633a178a31b9784e0fc57598a6062bdff35cf0fabcec275138fae388cdafe2ce748b89334b54f0dea56f6bfadc1b35f1d81e19c7b633ba0065d3d04855eeae5c175d984d1da2182589e09dd1228a7bcfc118d884346fa9d2f95692f7e10b8848d90ce20f6401a092bb10145ff817b7be159506246267886becd34cdf14aea0af2da54de8f888a5ca1d71ed8a2c213a2c2f963f368a3bbf0cec495f161925418ac5eb5cea816160da64e992670bb900b9bcc1f9fc57a3506410e7e53554f3a8f06701693fe0c3df9fb4a45c1f567cf787d478c409ec97c55f0aa8c9b5b688fb2786bc0a3a20bfe5a57632cdecd75e5eb350f4ae2fc28c9c287268\n\n# tcId = 180\n# changing tag value of null\nmsg = 313233343030\nresult = invalid\nsig = 538f60dbb84589f86b608a0457fb1f0019d9058b58c6c9578f7d49ad4c9f312c58b868ab5832e6c0f6ecf1e52582dafcfd6ff46f3fceff1a56ebae05adc421a52b33f8f93893ec760a1b52ce9b5b04570be56fe92eec59ce950441a06ed3d7ce83a17f8cad57f8eedc380e771878e8d8191b14ca783242ce005717acf9c9e05bbec4d9fc0d1007bc0aa2975ceeef98e97750e7f6ed9e91200062ddfb7fa7bb070f7b6539e4590d2c5d92b7ace0367608b9b7b879d592c9f2d0152d3f0184c2ca9e50f14f9f3edffcae85f1122cf579787cd0bd2ed2d98826250654e96fa5aff5d00bae6705fe3d95cbda5cb0dceeee98c17eb2a434a18184cd15b08804a9e5aa\n\n# tcId = 181\n# changing tag value of null\nmsg = 313233343030\nresult = invalid\nsig = 1229188a8f890df59c2f8b9a7ea411329f0f2c968d7efd14e7534a9b2c902300a48ae6d5a32b16fe7056bc697cb3a32b1bebb9a459922b37723740f0169def4228787b3817af52d441e59a548995955cb09938d83230be08cb2ee8ea0ac97d8bc354021589a20f7f5a483d29f72646e0d2cb344f915152c18c99ec04512fc5caea03220a48fe91dca9a53004b118af8b940f62a40b6d9f1876149c65ef2e8cc9a8eaeaced66e415f8de62df25d8e5e94e1ca1e52ea71c926df99e97e967cdcf5e1bcb48aed57bf66a34baabc9e773d5048cb436d9ea196829ff0d8b9f843a6eeed72f393aef10a45b5fb9d9ca99acec4744f6edc2d926d665cdd5fa97b29c003\n\n# tcId = 182\n# changing tag value of null\nmsg = 313233343030\nresult = invalid\nsig = 19ef5e467b218a8f5dda1f5d3ab6c5c6c275d73292f3da402d41359fb61212309877fac2effb0734dddf6fe6772942d046f89eefac510a5ea511fe8ee690cdff7df4c6590ca9393bd53484630f744ec48c310379994f381608ab1ab356ed5ea1f3077e44107b5967c4a4794cf26b389d92d01b40071f023ba0051e4cb210e31972d12a3a678fb43975a8107d1bb5b883774723fa019a2197e48edc35bcb42781dbfff8cb368e27f6f0d82457ac25713e38340ac5a31cbd4a560d6a762251605badb9f818162e338393ae9fbdf19824de991f459e96b167194c50b223849f9def538507f61daa21c457a4560d7880b6996668024211639ed9fbc4fafe7aaf4b38\n\n# tcId = 183\n# composed null\nmsg = 313233343030\nresult = invalid\nsig = bac08a201a27e4c05af0ab67c097a77dfab297546f2283c6d8179fffe4116d26c3d9068315594640046ced0248c157ac27e8d2afa2819817e1854f7f8b712bfe9da5eeac951477340b1fb59c85eef525d46e8cf20a0b9e1cf8b799ba18d9ec8cae60d6663c5a921b97d195d1dae5967b288b4a1268a66c5bd22606416bec803c426c406c25d96bb2aa7f58c3041341031368286af25bf96fbac021036321dc4418aa33a49194faefc68dafd7d2239a1d1800451d4906de61eaaf29a61f860f82fd6ed8b5bf4461e8821e91e67fd8a73513014b7625869bc5572a98c048e6d7fba0a22f4eb4a92532aec16c7b6eb762188bb40619f7ef28b77906dafe01852b00\n\n# tcId = 184\n# incorrect null\nmsg = 313233343030\nresult = invalid\nsig = 92b1eb5b26c69592b669ecf0f64d7bb2cb12343e687a6a8b8acc1440b8028272d49837a5d5be49dab02f92ce28679c22409e2fe6c39440787412a70d12336c1376b8d6303b9dd877442ca9dcbfe753a3582c277184bc32a9ae9f3906c1adae1724a6a479be5f56b438424d59a620369ad649b4ddaaaf53343e3c1a9bfdb222e9fb66520326633fde1b43f461bec60f6456b02f417d6075d553c4157d5712f06e68690db5f5a07a85590911f06be76ea0b7af608e8792c7c53075ed8f4b11eb0d4be557623d5d68172bdab3b64908b7b4203cd6429d2d783347f8044f37bdb5fad865a490ebc9c4e7a3587fc472adcdc3c5d4ce5685a9cdac5a43eb86b36fff6f\n\n# tcId = 185\n# long form encoding of length of digest\nmsg = 313233343030\nresult = invalid\nsig = 73c5fb16bf8b5da488f290b61eed03b17bac3cdc98b0951e610580392a74f6300961dd15670f8e388ee9659aafccf9dcc1fb97596b9bd39dbb60fe5cc62efb463dfd29f491751b3204e10dfe9845e5c111d335a201c7515e33ce30c4bcc72a6618a9bfb79322b00b675191d763c4299f2a771c9e7e26c0bf0d6fab1f96d0ab60170cb88a101616dbad060ab079dc4ac6f91bb49776642d7b47c3b898fc2cd2d68ff477adcbfb1de10b782c554f1f963fdeead16c2fe5b4e584c6ed8c81725169f27ff371282305d4b1428b89a7a25f057763c417f73ad013e62df8afce855a38dc6f20ed68f4e37a9a4bc7395b9f3a4aa8c54252505de3f9b3e0301316bb376a\n\n# tcId = 186\n# length of digest contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 7520c52e90e539f8d2014f1bc44b0c328df96d9f93e6d12fc56c895945993b73ef01834db08369da066eda44e585c56e675b2b96801442e6978d041d0e263a706ff384abc1e9b7b0c0ac4a3602db96694608a83c799a2bb679fdaf6771f2d170827fa284acf4d8ea77b5837794ba74540f52c2db801ed02f040e38043d6447c1aa6db5a76d8cf425d7e6b85bbba2515d9de7063b8acb3bf0d44d364d69fb4a20e0b6ead6fab8c8b17e7c0fbeaf352e5cbd34b2a58decd81dcf452acddc6875b079cde93b10661b254fd04262918a705a1b28926388b069e0184ae4f7349afb33aebd1dc37296e04f116c691b14e5728cdaea04462610bc64b300e8b5b903f912\n\n# tcId = 187\n# wrong length of digest\nmsg = 313233343030\nresult = invalid\nsig = 8de2a7328634e513526db5c50c132c3e955c22a6022a904b4fb66d72a2d2aadcb250a6cfb838c9780ea047048b8a6d1650062ba0348a251f61247c0f1babbf1fc6fa5a4da9e01cdd7a80a6e3d8a566f56599eec09903e6b4b14d3b16153bc43fbdb1261bb5328056c9f95cbbe7f7072c93011f6ab837d6f3a38129ffd14c65e1f666f64c6455654748cac6d18c08b1d45481720a7834580452d1f62aec30245aa84ed8a7aeb686d46c2c512fa4e0f3f423c62f5db51a3e74a6e1c6f1450d61bd43c172dfcc355f56bf283421d3d60b2676c39122a99a6e397250c319419bc1c8febcefd04eb40ab336554c870b6dc719c4fae74929ce79807eb712828c85b482\n\n# tcId = 188\n# wrong length of digest\nmsg = 313233343030\nresult = invalid\nsig = 71d7a71edbc49fe622c9fe146967b2e4dc3ce1e3b49e022216b7c64eec7ac9294185a9309f0e2b78c1a828893f0ec1c09a4d7eddcaa60010807cc9878094fd18b179b41cbe73b4ecc03a7a9900eaebe560bdc7b92c22fe7a20fbceeb388d0bc1d440b265166524c7183f577bfcdf2d183257bb9699b529794568756b388f34a987bfadd2344f331092ac1199d7d8688dede96b1ecf279b1f2b027105439224133b43a95d2a31196edb0ba7bb5f72df9d986f0d55466fc37cebef4eb9f5b942e274eddc8f7d51beb95afc8210d88fd1578b28ed31947ce64cbea9c4e7c6a9fa2bfc3ff07f90f0b0e10a1010cac8c6768ca3ba9321c3da03640eb4909f5dc75bf6\n\n# tcId = 189\n# uint32 overflow in length of digest\nmsg = 313233343030\nresult = invalid\nsig = 207d9fc28178464713a14c9076366375fee88f884707b3e30d1542be03db648007de08890e60e1a0226927853e13f48908dca2201221deee23c1ec02b8b62da8f5fe6d603ecc8e4fa50b45f65953b418a81ba9783ecc53c45d3c027d7e891c5c9ddfd4e71809370e353904d5a65d31dc083b37c3316a7e59fdcbcd9fccf65132a6736d2143e55c786d73e3c10971d1783ff46fb9d782e8849d2edcda14d9b1587117ddc0defdc612f532bee3bfe12eacab5ad7f7f4961d5a7cafe691409495517c3579b5e9afb1286f8e877", + "b6c92180d892345569f694a779dc45ae91c7181142bc18352f7bf21e62f3c25b486690baae34759fe0d7b5bd5f85c2f6bdead0fa0\n\n# tcId = 190\n# uint64 overflow in length of digest\nmsg = 313233343030\nresult = invalid\nsig = 3ee1be0f2f1033fc034979a6de92c97f9cf26737f8143859b49341bfdd8263f1bfc65e246bd2bb655984b8e98add8bfd43632964a36fa47be4b567bfdb51f10817a34085c4f391717bfc7132736d05ca587bb090b9d2db16b90ae951524f30bcca9aec60f8cde84a373b06050b231ab7a1fbea4c7d1dd8102c2235437d1ccb89571678ff1cab3659061829f867787e6f70b8aee07a0f63345723bef4d26915401862449918e00f9de0594c77fb2ca13259404be5f787bb7bdc49005f2da4a6a2e5beae1623340e7af7fcdeeb7df228d3f7f5cafea8bd8d06bcffc80708e4703f64d874f702533c5642878f408db3ec7f1bf573e92080fe532dd7f68c96679ef9\n\n# tcId = 191\n# length of digest = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 7f6acb039833635053f8746feb3a6df4e3e98d9c253dbed7dcb01b3fa729aa93f7656048d094ecff6b7f283daef8af14bd328422a90c838754c92f79fbdd923c6975ea16ac4b02b9a4e9b67ba729228a35dd94e0272c759ef7d48f75f9e329a0a14e29f925675f9deb1885c1de7f61b9b95dd2067b1305149928093c3c99776c00d4facdbde91b5f975b2a4931ec369efc7f50252d58219a3c7ecefa70410e78b6cdccb96b14384809c257462434e146501cc042eb014eb3c7e0b712c88facaeb8d8bcd7274a0fed55c01d9bf6c7b9262166ab0d52c320a15c1dab52ae3199ba043c50843eb6ffa66fe147b2f1cf33f836017c3652b79f8384b34f68c7daeb8a\n\n# tcId = 192\n# length of digest = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 099e3cefadbac010305b80308665c50dc8513e75ab7a19a64ef0c25f1d5336c73b7d50a0798b2b44cc7bfa00eda29077c52b303f1402a90ef4a6bd8c68a6304c30e94a082335d73f064e67e61a95b0ce9507b3b5c04b51380da72d15e22c4bda161b28c9cf73af37737c1d6eb155cb2325160f006aa9920f11253b03fe3a9b1dbf601d29ee89ba7bfea43d7258c91e706c0650091c7169692d1713b6cfb0a4533a8195d67ef679ddbfffd13148c22035583eaac176704179dcf899c86524611ba58640fc7c91b8f477ff0ad39d897aece17bc4248337dc1547fe8eaed37d16cf829a7a77e3d7f3b6438a37ae15c16ab1debabf6117151ba19e5be7bca1477a62\n\n# tcId = 193\n# length of digest = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 2c2bc9f2b9b0ab9a5f4a02b2b02fc0ebbde33c53fde074a0899597d9a4a93e64c008584e89b281828fadc8cf6c7a6a99870a881bfc854cfe02ae508be21e63fab8c6cf6d910e0515532d695789b2faffa1209596bfd37828ca2b4c687f8affbe13e3ca76fc421f0d76283e6ee2fb60e5460449be80bdd740a14a0cbf98845e373a0e3b0cadacff00d3803d8228d96f75d025071d71056724fa9b2c77af66656a4f71de0c38cbd382a883a92ece692c54f255c2c8552f573605d25486fcbb06aa5da4cac4acbc5831b7f68756fddd48d7fbafae05990e2bba2539a37e534e4f57fdff95ed5ce3e11baddfb4415fbae94db41647b9801fe62c9d8a1585ddf25dce\n\n# tcId = 194\n# length of digest = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = b3fc99e3edc4f81ae19855341b8625b2367e92e5c4b989cd28fa3a78d2f9b6254f314c6e31f6f5cf2ce2c6d835518b7e9a180127e3ce31dd31f896f5f910ff347a98dafc4b441d6046f433c694d300ade547ac6a509cc8a089141f32b1b58e8f87653d382bd58a258a7495d0e0b3737e20e6edff09b314ac7a44f33e83cc524d81b95ed0a2b9969d73b3cb256a0ad207c8c622c557db0c9871eccc36752433aae2393f06bceef3be7ad0d5f9875e24b3d7db00a905aa7066da5317aede4a0964dac144f556dd16f3e626cdaeb78262bd526101ad98e064f42aa9497c37eaafd4a0a2b0252de2556e20f201df34fd1bb52829cf544959f13fd380c435fbe39e8e\n\n# tcId = 195\n# incorrect length of digest\nmsg = 313233343030\nresult = invalid\nsig = 376929ad5fc3c2b1692d36a18402752ee5c18aecbfabe02f09e604b5f6203222eee92f58bc3eb387744b07c55c5e8da5db88501dba16f0c2d75bfc49d0e8ddacc31de46b478916dd4ac26c98302761bada412621287a4d2a72881e97b955cbdfd4ab5093835f6247c5132a5310b5482044704fba3128f3ae14b8b4fb14a347d9f96836a7ce51346d9405f65ddb674f99c4325eafb9044c8e3e1c817cd47c3ea8ff0807a4c863398f4d9658ef729391ad36831ebe616f6fd9505741a93009748f24e849a737aeb4872f267ca94ffb2c6663d0006f22637c27eaa44dc597dfefc2235766f5f001bcfa8db334d88348ef0894732c8b8dede9b8e6801a0b28071f6a\n\n# tcId = 196\n# lonely octet string tag\nmsg = 313233343030\nresult = invalid\nsig = 535f91dbcb5b924f6979f1bdb9dcd1d59fdcdaf2fba34db7ec68c0d5e334149931ab4dde9b5e711ba06adcba7b529d7dbda571cf53d7988bd31f6f9804799c8ab3e193b712bef52bbe4c2561bc27ae4a0f267cf7636eaf7afb11000e6cfd311ad5a3cbf746bba29cec9a83f73ca3db339a7d570c025e20e4416d2a4c1ac0eaf23812444f1ac0fb7cd96f62da9cdbb8febe3e77a04c09c3e64e48c0ae2868e93d42c2cfc97f1aadde8fae28bf942074cdb55e9a04d23090de87913e36407d98a93fa0785e2eff28d7fdc9f80a457bad3a780cc128439b36cf2ed021e357cfab5ab08da906e1b2337c42f18c01cab7754bb085f5857f2ccb19b055756ae7dac41d\n\n# tcId = 197\n# appending 0's to digest\nmsg = 313233343030\nresult = invalid\nsig = 21d0dc541ca6f3766392be26516c1ff06add55fb6341641c884814511af5ad230d036ed7a547da9ea054cd509006f7fd11c39e97364b265d3606a06e44971cf80a1426ad76e699f68937be16cd256ccafb94ff31053d9e01fead1f71c838e05eec5c98fa91607bbb3fd17766dd56daabd826c7aec83ae56f1d60c74b06885aa8cd94ae1e105dc96d13b7927dd08f07daf784155fdaf54a42851c7873ad77b4b2508180cebbf75e0c30aeb82988a20301071f338846e8fd6981c11baa11626aefb15c2e83ea87f0b5353ed2a3fae1cd8a5c9e61a5d387aaa989093e1c58960c759d6699de374cef8ff56e42deb6517f552459a1fe84ea1a8e4da9562d3f567c69\n\n# tcId = 198\n# prepending 0's to digest\nmsg = 313233343030\nresult = invalid\nsig = 5a6b7dacbc1dc464698f2406e9991dcca63bae465a872f62bd9c0626e98386c3ecf7935cb1a6598fe167b61c1c0a8c0b3cbc3c1c911ed56b82bb443838174babb6f7ecead6afb94b371de70328143f367402a55e15e0f390964933e0553ba892bd03f0d42f88e1a67d47b7d9e218aaaa0caac46ad88e76a2f887439406feb886800788469a27c2b911fafec28a23a9a4781018fe491b1876fb514e6c73cbb166ea4c1f1d878b56d2029f277b3471557ca546db6ddfce9f367583c28d14491f82f31e50c11f078801317bc29f6bdd5ad6986e7c0a33d2944f2d4469243fae4d7e3bdbcf6a8b5a01bd5c094b1cc27d772d6f7e5bfd67b83269a60df11cef3b6b10\n\n# tcId = 199\n# appending null value to digest\nmsg = 313233343030\nresult = invalid\nsig = 842978d43a61145541fd3421315fcef1e95ca32896bebd6dbaa0a0e856eb0c47d1ff7fb2eb981c26fb8f7d6f1964cdc05f856ec994517f1eee6165786eb12c44ddc60083eaaf02778400acba6702e54f891c7b5865bc0c735e5443043b4d6dd43f8c9554a524b808be58893e18762b68d893a970638d2de3e677ecf3b6c0889bb1816e910f243dd1c4978ae2cb1aac745d06b2a8add4b6f18b71e016ffdd930c4d5490257f9d0e9969900e1b49796f3e3fb3a110b0fe1a00236191d34dcb5b7c2c75a042f9a50449dc403403af09cda51926d8f32875c8c0e5903700e41c7f93a585f6a6336fe48174d1939e029f6bc30800c269fbf85997424bd2624e5c76ca\n\n# tcId = 200\n# truncated length of digest\nmsg = 313233343030\nresult = invalid\nsig = 5b85cd70c97ddf46244456e8d4f303239b7e401674fd96f96bfb8e28271abeff96f07776090731acddba70fb758571e6d3b015bb20d5e88981a9b9940dcf1d77a4a61954b56a86c22870c8ed4de7d6d991d3421c08179c03cb4d2625f2255491223c66fcf14635a97b8734c4f823adf99d7e04fe44c2206bad08c82868a25685cba38e275559fc1a8fb9f81673210ff766131e05bb727cdf45a39e1e4352f29dfd9f49ef21528a202da5f2c9ca4abf5a2041dfba41843109c22d89d6295229aeb9cd0a4352c5cd8694389e8d43dd6eee8258e57f085e9f0d39c0ba17a35b0bc036c3d568aa901f1b6a3597c43f00d330a92a39cbc4eadcb73e5e9f39b3762496\n\n# tcId = 201\n# Replacing digest with NULL\nmsg = 313233343030\nresult = invalid\nsig = 17116ceb9e397e3070704a060eac2b5dba73e325e5841e13209d2c3e836a081839a153d3afa6b336f9c077d9c6f4ce7e1ba77a91241e41a836d12783239d6bdbc12b1c6cc3a0959fad86d1528ecd4f18ac95b2aa0bca0bd1d7473694ce57e72a30b93088541002b92592165d516cb2797f34f686276a80880f18a24fe18204dbac867c646ab6c8b59e007da8ca119b8a0a7fffb127e7b017dafe6d21aeb112219920ca14ff16bf5a88550a7261e20cce9626191c817991d99b671f60ca8e9466868d58e3588be2254f2a1a69b810987eb27231ff5a0046ed4215433c9d8631375d02db3774f3429de73480a16af9819bf8403cd5794292aaa2fa4ae0a28c8092\n\n# tcId = 202\n# changing tag value of digest\nmsg = 313233343030\nresult = invalid\nsig = 53394fe68d3b43c6037d8bc922be22587d2ef728300b3ec7bd0da9fcb8e7f6a3b68e849a18a7720a9ecb2d93b84f913955ee7be59bfbb9f5981844ce107052a1348533ac30cd421c548f2479b978404b984867f48436256db3de8cc7f76912a796418745d42cfa6aecf5e137431eac95c956f543ac092ee53d439a249fb439b2e1e629d86ceb8139b1229355e203ed3d887a340a97748ab9b7884cca8e7a2ca99ebc7bf0d365456e2203d0b983674ebb87a8d9adde73595790e7aca88100b13fe3355d43322d84e5c41cc50824878c8418562a4bed7a0cb65f9e3c6751fb3b7fc79807c78bf57b0ed12a9341be7f5f39823d02f7a3bef0f86fb1a57569760dc9\n\n# tcId = 203\n# changing tag value of digest\nmsg = 313233343030\nresult = invalid\nsig = c0dbf6f41b307c2eb228f72ab5f763323cc30ac5c3a5f027172e735160627afbe1b5e05dddef7f1cb0bd145d16d128d1a35c03803a01bb2e12f05ee21d05089b9b7070fcfe107194088ce841725433d1b59f3501796930ae4cfa3c20c9176927ce3223dd434f8dc2be", + "9bf706020583f58e73c25d7008783bb30a26fb273efce258e802c509dd319938fef1e5f6a951649a3f461b99488dd3acf45c254eef2ce742d176a58179f720a6578f5101d89f74026bfe2710d150275cbc3b5087e63dbf37c0e7692d18fb53f5b62ab67f51eddff22bbc62dfb864a58047b0d5b83a94c44b1c0aec94f8c0e32b00f3367e505a5390a3d3dd40237ff6f148c6974bba31a6\n\n# tcId = 204\n# changing tag value of digest\nmsg = 313233343030\nresult = invalid\nsig = 8300a625836213ab8267dd9b2d5a785bdcfc56c56af0d97d648c2ac1e40855581daf13af70ad1f37111e72faf7bdedd1083cbf05de550ee7f43aba0869d254a0c3a6a2ce2d2a801a9170aaaf452b7e5ededbd685f6cf2c52f3f5842a737d56fc9ee99c4ee9d0c3199957ab9a7a584792c9fc22173744b3eb7076a556505751d6e08414b5e7f4b8779ce8d5a2a30d58960cd94c051c0ef6716d0697fff2d9fc79e362b9c03a2f6c07d27024a2a61424a80c331da1fc321b42834759b5de5dc280248f02d80e85704e754fe29ddf0b680672ee27a65accb8233db3775a81eb1a6126d9ee657d74c878be876f6983521a13310ed3035d8069186c2824dfd8b7623d\n\n# tcId = 205\n# changing tag value of digest\nmsg = 313233343030\nresult = invalid\nsig = be0398b3e6d268582b4de2a05342d5c72131beae600bdab1f3f13d1e21b42d0b4b60d89589bed32dc00b230102f553df95b2960e451f1a240206330d0eaa69c11d50363bfaf360312aad5d3e9356733201ebc3a69a5ae731e20426263591fad1cfe31e0e87d2fb4027de3c57fe32b15c275b9c8f7ec166ae688d625674dd4efc8b5931a41bbb922e2ef1bf7dd9bbea8e98f1556f8aeb99baf2fb848e5e1fefdbbf73d61013171f46ec4f09849d7e7a2388f7ec05491556eba3a3df18edcc9a8db46e10b13593fe37beaf1646138da87e61a98b02b33297cc0f4d7a91d6ecbac28a159d410af25a8b8e653a093a45c3ed19e617cda1709e8b1854cc1028cf886e\n\n# tcId = 206\n# changing tag value of digest\nmsg = 313233343030\nresult = invalid\nsig = 6bab815040a7ba6cc82af2d5449931628126eaacedbafbd28673003fe9f5bfb2b53de6700081477f769d9e5456b109250c9409ef998e334e44e132a88efd33d41c8395fa0ebe58c871b289bbf20391db3919f2b51189b2d51f900829df95f5543bdc62be8f94272ccb620a841a4ee4373212b853cdf1d079ee5256c188d3fa17f91d651ebd522b60b5f3eaeb97b302a70ed9cdd05bf1212f9ceafaae5309303e16f18c4477badc580383c13a2333910f6665fd08dca1597f216096614b2b7956142735fa800f5d74a422cb4f568ad9182e0b96e49614e129679d46b387825820017faa81087568e87ef13c89474420c613bb071b5c295ffb9487805d147c7cea\n\n# tcId = 207\n# dropping value of digest\nmsg = 313233343030\nresult = invalid\nsig = 87007220bbef1a21ab37ea2b757caa112233a61688a0c0ef1d454b86843c434a98f43f451d6eba7da2e8a82e52a93d44dc82d2a0734c69a1e9a77265fe9315984ea2971e729abafe4f7adf4b0bbc750fa4f59fdefa59339bc838d5f6cb9556aa4498f8e596c2d50516fb540bb4ba98b2d04ad3803eddf55767ac7b121b909c9d435d49dc6ed03a9ea0a16d251e63459be47056e2341c239ad4f532fbf4cff50ad3029da8962ff09b4c5e47ae29c28692a53d492361af254ff86e99468e53887708ff9f805894896ede5f7d04530c0eaf6a2159d390a63ee154062789215c160895cc9b8c4a6afcd31b1d474b51bbf157f95e9f2be6675844cd3ac9c4acfd40e1\n\n# tcId = 208\n# using composition for digest\nmsg = 313233343030\nresult = invalid\nsig = 185d46fd6c9c3728852a39c11a39b1e8117da5d2be36ee12d7f87c262983690189775eba623251e1d28304bdd7e94d7e9bac6114e4969ad2ccc3fc45b94cdc5904bf3f1aa62cfd8685b2a7b49aeeab673ca2de7b73dce357fa38e1d6c7bfe79329ba7f579d205b4f3c29559baac344adb2db1d5f90ceb542943740901193997c31dc1c5101fdc354b47d8ad37540bc1058ce57a8afb76cac731e03903ebe880ebff1c299d61ca2d3d48204e4c37cce0d80b7458fcf552ceb225e2bdc55c58b3497339ce1662e7064fc59c342d0ca6e6798cfc7b6457e7284ecb5684ef9b68ebc257532a8da54cc830aca53d091fa60d9e1af166aac5da8bc56b79eb9f8433020\n\n# tcId = 209\n# modify first byte of digest\nmsg = 313233343030\nresult = invalid\nsig = 1e28082a4d00e25231308b793dbdec873d93340a3e85bf0b1af485c4be16514322761d6e80bd848a97d394e76b647b79bf25b23c44cc208650b7877435498cb4e7494145fcb43506e58f15b83fd2a25b3b93232c1f9cfb748b8f83cc961de3fb3dd2856a36d63af7ea488272ebc0174982a7e1f1873ff86bb219dd87e25509f11e47b1cfebb895d9c6745354dbaeb8c5842377b1e9326c28a489285fadac25912f9fd971a8ab4b4bbeb07364dfd998f774633269b516f889633d49351f05008766dd0556aeac57987f3b18db2ca056042068f1ea4fa87bd90fb06c6331ede38ed6ac3c77c3431e30f4c3b977c0e3ef635fe59b0d884495c95d2342eedb3d2266\n\n# tcId = 210\n# modify last byte of digest\nmsg = 313233343030\nresult = invalid\nsig = 1dc7a0aa238280e0fc150a9177a3e4ea9579d6383991210c524db4c07871edc5b89d3c8aa45a27351581366d887bf1060393a1fe62870938805e97bf4aa055199fcccab3523131469ddfc4e7436844fdfe3c2421f1c2e4853d891edeafdcdec7b3e27b71b41e1b055893fa40624dee585898b194942ada5a143bdf2a8d04fe06c449e21093c8be5986e3409c9730b0630c4f8d2b759f50f92be0a13876f0be20e8132f2134e221b9abc03cbca36b3a47cc865bb24806fcbf9b3c862f35610e240634bf97c28b459978f7da007d29e0159fc1f3435a8c4c5c232d4382c9d2d16e168eaf10e1cf0db41fff58807c979f5102925aa50dd27567272303bb4cc8e70a\n\n# tcId = 211\n# truncated digest\nmsg = 313233343030\nresult = invalid\nsig = 04784d6cfdd749438e88a2e61defac5f50002bb0607ec2b696e94c2d9a012e12a8a6de60a08fba0bf4e372416cea84a8e93fee36276eced5fff257747e3a535608b446cc716887d6ab64859ada40222b86dbac347e5528e65b70a2287319c57addee766427ecb491113014389409214e87029cf5a219108dda4f1cec11637c7290d3096267ef7a5c433f93cfae6b54d4af4da4568f4d88775da1bd94f93ffbddf19e0cfaaf2e200b71c68df04188678ec392fa718d89497feda1342a2100cc8dc7c9a616981e2447b0235241bcb48c0d384dd6e6c4f24f3a1e2754e7ef8348160ae27ae207c72c74866023c35685e1566a4df12d92fd5e7b44188f56e3c00f9f\n\n# tcId = 212\n# truncated digest\nmsg = 313233343030\nresult = invalid\nsig = 65acbb86ca80e6a03047a2ced4c4a461835bdeb42b27845fcef96711bc0e7d3d3b8ee95a87dffa2287132e01d9ad7e07c230fd6d2c1871aa7f113c42174dcfc2a78f2442355f0f10e68749b0ea097a6158795ca0b236f9c73b0b1af7de9be110b244bf8552105f35c761dad993323bb33a03b89ff26c312042073f1eff9807791449ec52a50a8799d0604fd35ea1d10f316843c1ca780cfd4af1b695daa0282d6dc743331d239a087f725fa67980c7ba1515326cb82faa07711df1675c9deb9960955bdde07c8e1f57884cf71ab4bed2b1080be4f4558c3f5484c578530695bbb2ac3405804aa7b5df4a301713c18d4db2c1f9378d32bd5a94a0cca2ceb4518a\n\n# tcId = 213\n# wrong hash in padding\nmsg = 313233343030\nresult = invalid\nsig = 735758c0d252c3d7eb0d5f7d9b1fce3f3bfaac9c27ab9c64d9dbe53d5a20354a1bab7d7b1da1818852f9d8f3fd24afbd7fd94709672106d7b389c1c07f7347b025e49ed058406bc4e0cbdaca5f550e57f4ea07cf924c371ad89dd72a4b5bbfe95e172436b5ddf10b564662a36c1762a88cf94cc164ec65b538ff8c8d527dbb09aa2ab60972856f1b4fbba5fbe4d82ba53cc8450feac18a276938a3d175095cb7bb923589f54e721b836cec671f7672548392196e1b907afa5fa22f8817d628c922cc1de6c9ff2dbaf691bcc7a53b30d5b39ca8acdbebe6992aff3c28ebc00bb6a91d3714e6cacd42d99653cb9eb3f148a44fd2cbaab35336776e73657b756955\n\n# tcId = 214\n# wrong hash in padding\nmsg = 313233343030\nresult = invalid\nsig = 409aa4fae8fe1e807391b23ac3a34f9b83554a4765526b3e508bd0d51c054ea3542e6f7853c74ca5ba675833b7b7ac1611e3f4b6d5a88c8b045d45690eb7713d491bb1961be5f7a788c602fcaa558aae928a3afeec262d54cabcafb77ff9cbd7ebda3e0d8af1bfd2ea6a441b99306601a7f456f50a693e0c2489470277572051c0d443b34126cd8fb46e53fceed29101a82b5c0de4efb4dd48cc45bd383c6c208903ab4640de5e6ae7d2c7ec80590d979150775c167e7f2399c9df892c929d8c71c8f084338fac7798742cde063c51926dacd683c2435e3d6c75967b732d2040d89ec3903da1ca5a057bc2987a0cfabdea681a6cbb564b96f320170d9885220e\n\n# tcId = 215\n# wrong hash in signature\nmsg = 313233343030\nresult = invalid\nsig = 697ba35bc32c2ed66e4231a7c98a947b99b67484bbc3eccdbdbdfe8c926b38c484a216bf12250a425004ddb4cbbc1e47112dbec6393bf5d19ee6a9d46cdd618cec2ac8ef12518c6147e524910e8b0c53026b44359f003aaafef681b0ac4137618c3e571ff247b67daf347058fd7d3c145c8e70f7bb5018ace902923dfb002b08922f0584f120f39d94e7f132ca30787b5663c40fcfc93fc1920496f80a4f47b37f0e668cc7a6ddf39ce502badfbebdf5db6dafff8c8abddfdb272eeef478c09a70f4c286c127832d98044e549e20901c968e3f327cef80ce581487438e76ed86d384985137f081ba7995fab6ae8bf9a8efdc8a08f0fc19dba8882ae716472a03\n\n# tcId = 216\n# wrong hash in signature\nmsg = 313233343030\nresult = invalid\nsig = 5d71198021ef4a0c0ed77cda6f1e7989f023f62fefd5ba81c70d31e1a6a1c0301e4004c2ced7acd9e98938b7faa1d20cdb12b9cf6ac59c9501d8f733b3bc543669440e74cf63be3d41d8b377c2a222cf1ba40cae4c24fec5033bf2ab6860d9d0312413ea8a3446e6040c6166c06ff5bd1070b5cc5f8693cbcf90c1e7ffe562240885ca18c181c86cad85971c743b1f70a4882e0cfef08ecf8a3dee55273bb06bec7dc19263d13a3ac887cbb27510d4e45cc4f183ceec9117f4b0c7ad4af6a89fd9e85bae9da3474d0be8fc42dc9fc1e7a6b98ca1864037d76adde226ff72a609495ab76c2242aa2391b21a3e8e3164e98ab6f1adaa5fb3848eeb687472699508\n\n# tcId = 217\n# wrong hash in signature\nmsg = 313233343030\nresult = invalid\nsig = aec1eca91968d08b4bf15b9c5fddd9e7a6a20be74486502380faade04d84d9", + "a5916a6c0ef2dccfd5ac7397e76a301096732584e8442f20ae80627588961cdf97e344e131d79e6894be6fd51b72122bc2654d00f943683a8db630d35c6874ea56f908eea64902f18c0a548905b3c13114e3526f3d6ed39061724c8e9df498545ac7f455c37d2e05beecd47c15181161873925049bfb4a671e4d1901a75099c7edd6499268229353073a598174fc937f856fe85f950e9059496348d0a1d9f98aa94208d66ff3f58792ab0afe27075b241a636f1b5835f4a4b330c6f9e032a736119a1d8feb99f6c22f3490a82a65710abc3767e81ad70a230ac4b1db9a327ede40\n\n# tcId = 218\n# wrong hash in signature\nmsg = 313233343030\nresult = invalid\nsig = 60899366735cff786b22572d67c50af5f644bcdfd50c559d989018efb91cc888398ce3b556d8ed134627827e7af0ffd5106795ddf96f988e581d8498ac2c2ac9ac5195d7c15bca548ccaa070924c6bc8de828fc08f5e74b8eb7cf94477310436b9d139e54e97a9764d0750182867e00f0f9e5b4b6122137bbb65271bda16add4bfb9bddb3d8ebc063296d9ca073c377e56993cd5f3f1bf229e0f40ad3efee00fde0a9ef1604f01a24c20d67fee04fe8848cd245a5b0e69d619dffea08fe1afb6cf075c2594d00cc6a21353656b1aed51af47159ef88b61891842a6eed6c3d294c1d226009d457e4c54108f8ebf4305d0dcacb07e60b51976c35d9dd5aa10b9a1\n\n# tcId = 219\n# message not hashed\nmsg = 313233343030\nresult = invalid\nsig = bfa56d1f9db006144a2714fd66a633ac3d27e7033ad9d59967f816ee45277095689203f3b257c8fb64b3b1d16b6e424f1347076b6009ae56ae193075b82d5ece6e643f0e645b1675fa0b7998c6f5414511d2acedfcecd0324543f92a462b9f9f79223931e7ead2c2915a1dcccafaccbd374669caf1e2f50d45aa986e4511674fa9a5bebeac29760bb055acff67026ba83a977aee4d6bcc7b247a76bb77a345ceb97996750b77fcf979adcffb71e734c461adf3e23b708591f4987d59ca8983e0d10ff5a78199a02f02ee171c26b373160efbb51a23451bd326a7a6dcb66e4d9bd02ad30acb4719478b0908831d5cdf4012efe94aa8d87290f9e94d430e9095f0\n\n# tcId = 220\n# message not hashed\nmsg = 313233343030\nresult = invalid\nsig = 7859342f4b0977d970fd2c30ca94e898545f8dc398e37949a58146a203d191a6124cc2e0de5d3311587b4a54a83e5855486aeebe867584d7fe2d6b559f5bf2bdcf990062c2f04db9705f06fec4a3aa3db300cf080d1493a60c63df1ffb98e1c82440b8143b816244403c7d806bec0481264219fa263c62852ad9315db8f03b255e7e329caa6288beaf7a34ce3273ff39e8c8ba449a979253b60e48b66124cce678112cdb13d28d805c6b3a5fe55cab2df194287fc060442fade432473aaf96fa331fd16544c0fb801c30f63b0864ccf559432f98d1fe42215c050bc71616145b1fbb33a4842bd3222bad53bfba487101147c3119071513a49ba753c8b2307fd4\n\n# tcId = 221\n# using PKCS#1 encryption padding: 0002ff...00\nmsg = 313233343030\nresult = invalid\nsig = a5521057430948701805207688507441e3ee85b3e8ef9334922c8ae9a9a8485f95f5747778b2f7db8ed3df6655e57b03022bc1244d04961d6ee57e62c762040b581bacefe7e5beee3fd1613a142baa6ad106e720206cb119c1884f41b90e3acca402b18deb5593c3f2d9d841e23b2f9443c13d450463b4e272a08fded7f00d26029f7c0478af557d41e7285c48d9a0ae3719a95a14bf8b9e25351c7513a5ddd86a2e6c124a54be07f29660bb09da8fa8e484c0c930833fd727b429ddd2b8a6e1626d05f6265bd88eb88e9783123a7720068f590d566d16bf19b474d58ab5ca9f718eb5d432d11f6c65e9325a2378c6588c5c6ee89edf7ac708c93bb9b04a1f80\n\n# tcId = 222\n# using PKCS#1 encryption padding: 0002ff...00\nmsg = 313233343030\nresult = invalid\nsig = 9c0eb700b26efe50ee6aafb76f0a996890ea71533c374286ded0c21a567afc5bb212e81cf80cfd6f2d26a3b27fd7f17a4c976f093b240fac274a2a22969d119ebcb26f81ae0bf5641dcef96510757de9b0e7b02db74efc1ae55c55e8135320156ee9152dd05c922066aa895319708bda1c7a9db1890ef7cdfe7de3925f4c9852a8679f4d71714cabf8fe834ff442794ba96c2f1df73641eef076b172ea846d7649e9a42bded0a7da4647e07ed4ad8c1f2d7858f416fdba4d63b7ad80241d8fd60012b3a77e7e0a759091274d350f688c8a73334a6c0f2cece789042cbc16585cc84150278bc3465b3df701533674d272c33d06ac852cc4ce6648e35cfe60da60\n\n# tcId = 223\n# using PKCS#1 encryption padding: 0002ff...00\nmsg = 313233343030\nresult = invalid\nsig = 4ca9a8f3f2a187234daaa149e463d1e27d78edb054e999ed19e63024e41e267a51bafc7c863b4f2802b09f1aa0dd3d6a42fb0306ac38fedfa3cc642eebb6f4748e55ab41d86e3fdc392b1a9f9b01c55215543b39e96d8603d80e223700521bf4b3030fe4f2a53dbace1d668d99cc4e57098732a05b99dfdd3326a218a11c195af7f09b829ef806ef71f3b139d1c2ab00d488cdc75576e7ccf75fad3ce9724495aca667dc41df1efa59974cb52b040fe7d578c7a4f2e71384ae347fd7dbc6f6076a86797198e989fc87878ce926fa39d23175de35b1d09862a62512fb58eacc669e11fee9aa0c08f351f4da30170a6e3bb47929edcb81ac0132bc6ca77b3f09f8\n\n# tcId = 224\n# using PKCS#1 encryption padding: 0002ff...00\nmsg = 313233343030\nresult = invalid\nsig = 89c5da365d5d2c22a961187ac62c26bd5b88cccebe46285c654dfc31f44b7268f38d9e2902424b09f35b7094a39ee937ab6140895acd30e63bb927f3a0e017e68a2fde529af3e1a2359ad2ca5df7c94e9e91843160922ecac8ba64d38ba0fbeed8e8fc7f2ff86888e0657805fdab834a6cef5920ff70929d66676eba288233427ab5ce9e44462e03f71225d9ba2e1b4898e56fb7949e6f788fc0b76c0b738366ebd32c58731e8d551f8f52b433bf45d6fd668548e59c41943684203697bfc0cf2c53274836aff5f346eb7ca753b3856ab4d9128efb0db77ca05274b393579ba78624fb356cb3360ea05bd5f9f9d642b74211f258fed6bb940577dddb2d807eee\n\n# tcId = 225\n# invalid PKCS#1 signature padding: 0001ff...ee00\nmsg = 313233343030\nresult = invalid\nsig = 084fc83861c80ca0f3c7d5f063916b2de3a1b3f93d11a5289ceb608ed3246bdf1fd79b7bbe22bf40ca7462d6689f1f50a53c0fff60b4899cbf86825f8e834171aad934a06687787c7c833cb4c6a2172002445389583edee72ba4d31a6c5cd09b1bcc18c3358faf548369af125a915d47affcfcd30f934b739a62ce37ee0060e568211ac255ed9481f6a3a871812ca2e86417b807e6d352b0aa0ca078c75319a64bdf4323a34f379dc2699201b1d6ab1599ad02c2e103499dd7cdfe0545716e73e400ea298005481288d384b76f1bff69dab1486921622fcabf0733c0bb392c3a9876d168e0a0ed453d0e020bcdc0432aa00ebcdab36538d616d93cd01ab3a63e\n\n# tcId = 226\n# PKCS#1 padding too short: 000001ff...\nmsg = 313233343030\nresult = invalid\nsig = 471eccd41ca3c301cc79447afec99925611ea09e5701fbba0ea0458be7d77b35e798452fd19865903b33e2121d4f21cbd0a2df7e2d10e8d20ddad3b9f0194cdac071a3c4f4f879ccd88fd03d761d4cf0770abeecc946a3dcac65e1f4152b833d4a43b65777bb146099800ae324479d98f623c5321cf9d0aca42ea93cd9df23f5bf27cc128f20ff41d9a5f4048357397ea45463f04ee665bf4e10630a006f57833ddae1b3704a6f50f5e2766b3f0c700c21160b24e0666c54eb3661f13cad3fac33b0d63860262e6759632204f0f87a3e1e039e38c15359c99cf89942cea589d78fd3710a83b5e9ab09f1630fd7f9d7a8857efd763d361e158bed5cc85b3776e6\n\n# tcId = 227\n# CVE-2017-11185: signature=n\nmsg = 313233343030\nresult = invalid\nsig = c2c4a860236d3c9096a076d6ba5107e0f7bd81e1ba916f7375724bd2b0b0b63956813715a3457ab0458b71fb35a45b27f9ef7ac3e579dea45dfbfd07819ed6b7021aa5336c58442aadd96ca9ee9d32473e9d9278562b4d10258ade6a98fb1c7cfdc3b3716ef5dec58cf73b359f389599b4b5865a9863519eb001c324387da755450db341309360e3807c0565b8e2c44fbd5e6e8d04d006d7ee768b8e8436082a90fa0e837f32f46087ab4a0d9be28aa7da1794ceb0172a7f50ed20f6df641efbcbfd2aac89775c761a7310093c671c977fa18b0d6e01fb25f7a432b42c65359784c689205719c1cf6e3a65dae2da434c326dde81bb6ffffbdbf6de5c16bba749\n\n# tcId = 228\n# the signature is 2 bytes too long\nmsg = 313233343030\nresult = invalid\nsig = c2c4a860236d3c9096a076d6ba5107e0f7bd81e1ba916f7375724bd2b0b0b63956813715a3457ab0458b71fb35a45b27f9ef7ac3e579dea45dfbfd07819ed6b7021aa5336c58442aadd96ca9ee9d32473e9d9278562b4d10258ade6a98fb1c7cfdc3b3716ef5dec58cf73b359f389599b4b5865a9863519eb001c324387da755450db341309360e3807c0565b8e2c44fbd5e6e8d04d006d7ee768b8e8436082a90fa0e837f32f46087ab4a0d9be28aa7da1794ceb0172a7f50ed20f6df641efbcbfd2aac89775c761a7310093c671c977fa18b0d6e01fb25f7a432b42c65359784c689205719c1cf6e3a65dae2da434c326dde81bb6ffffbdbf6de5c16bba7490000\n\n# tcId = 229\n# the signature is empty\nmsg = 313233343030\nresult = invalid\nsig = \n\n# tcId = 230\n# the signature has value 0\nmsg = 313233343030\nresult = invalid\nsig = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 231\n# the signature has value 1\nmsg = 313233343030\nresult = invalid\nsig = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\n\n# tcId = 232\n# the signature has value 2\nmsg = 313233343030\nresult = invalid\nsig = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002\n\n# tcId = 233\n# the signature has value n-1\nmsg = 313233343030\nresult = invalid\nsig = c2c4a860236d3c9096a076d6ba5107e0f7bd81e1ba916f7375724bd2b0b0b63956813715a3457ab0458b71fb35a45b27f9ef7ac3e579dea45dfbfd07819ed6b7021aa5336c58442aadd96ca9ee9d32473e9d9278562b4d10258ade6a98fb1c7cfdc3b3716ef5dec58cf73b359f389599b4b5865a9863519eb001c324387da755450db341309360e3807c0565b8e2c44fbd5e6e8d04d006d7ee768b8e8436082a90fa0e837f32f46087ab4a0d9be28aa7da1794ceb0172a7f50ed20f6df641efbcbfd2aac89775c761a7310093c671c977fa18b0d6e01fb25f7a432b42c65359784c689205719c1cf6e3a65dae2da434c326dde81bb6ffffbdbf6de5c16bba748\n\n# tcId = 234\n# the signature has value n+1\nmsg = 313233343030\nresult = invalid\nsig = c2c4a860236d3c9096a076d6ba5107e0f7bd81e1ba916f7375724bd2b0b0b63956813715a3457ab0458b71fb35a45b27f9ef7ac3e579dea45dfbfd07819ed6b7021aa5336c58442aadd96ca9ee9d32473e9d9278562b4d10258ade6a98fb1c7cfdc3b3716ef5dec58cf73b359f389599b4b5865a9863519eb001c324387da755450db341309360e3807c0565b8e2c44fbd5e6e8d04d006d7ee768b8e8436082a90fa0e837f32f46087ab4a0d9be28aa7da1794ceb0172a7f50ed20f6df641efbcbfd2aac89775c761a7310093c671c977fa18b0d6e01fb25f7a432b42c65359784c689205719c1cf6e3a65dae2da434c326dde81bb6ffffbdbf6de5c16bba74a\n\n# tcId = 235\n# the signature has value -1\nmsg = 313233343030\nresult = invalid\nsig = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n\n# tcId = 236\n# RSASSA-PSS signature\nmsg = 313233343030\nresult = invalid\nsig = b6e6752a6f99a6dbc43817850a139bf61d3b983821b022758da22187af9cc02a33cc4e7b59586fa829582374031a34d8d7f3ead4d9f7e42d3e50ffa74ea085b4cd884bf637039152d05de1fb6611c66b26bb4f4543eb4680dba24249aa0e31ba17b6fb4a26994b85bb1b79bd77c59ed18bcd4d4da04e45655c0d981af616a8ef5c193135a58c9a61857e1fd4c6afa60b23d214f58a968d31486c57d483dfcf7a59d49039bca4d0a7b3469eb47cb2db77dd9fcaec9d906bd206fad6533efe9b06a39e61dc1e901fe552fa086fde96f03e58cf3d6b65bf1c4eb9a8b48b218189ff4b0008c99aed899a787cc0d4ad447093db347161ce79d1de880d653b1380b4ff\n\n# tcId = 237\n# RSASSA-PSS signature\nmsg = 313233343030\nresult = invalid\nsig = 58c3e57605deefef20c57f260b790664b8b215b3dc82d33177b8054e5a990df72fb27c3e7554f76ca5e42ee8b2eee410a6a6c8eea3634a527232d6c8098056bdbdf90feab1d123e22f8fea82f42f9b4c8d65f5febd38fb8357b295586d63c3fe689f89695638679ec3807c76e097a76be05720320a525c3911602704382854c0222e2a51384a08b98df7eed637a5dfcbb8c49156848cfa4b8b36f00562f4ceb5d7e7c6237d9d0c1dcffe3847605d1607c1665e956666b4a28df99fd7342336ba119556c6c7b162208f160ce950e7ff41c6452bedcfd5eede9bd34da77749b8df8c6925e24ebb04175611f0027253e7ceb028c6fcc82d87fbee1e2017ea43b6a3\n\n# tcId = 238\n# RSASSA-PSS signature\nmsg = 313233343030\nresult = invalid\nsig = 8ddfa621e73504de33ee75ca1498cd7daa0fa625b7dea0756392f2421cc84ce10f0032632bd7d2b74c60d55fd2278bb86185af3c187953ebf6415f643974e53d34d8cfafecafd20dc4767001fccbd197a38222dcb1dba53ac8fea54427bbfc25a858e52b1b2f8a778b1034318c5f76d0f81b91267a4e37ee7014e50753956740c33796f8161fa72899c00643c010314440f026bed963bc3b5362124f2e31221151dd6273a28b21c3955ef6bfbe48eeca51f454173d01f7d4dded623fd2ee69442affbad43a648c82c99e8bd05affcd805814dc1e1f96f301421ed9ef6a3ec2c6bd6af61d5cdbae31acd48218badc1da7d14c07f018edaec3537d4462999550ef\n\n# tcId = 239\n# RSASSA-PSS signature\nmsg = 313233343030\nresult = invalid\nsig = 53385d184121d3b7cb41d86ae31d9945bf8057e126c847b69d2799eaffc133877a51cf8196ed85e3d22e37c1f7df932f796753798abe3d3b08b03b5574ea201eb6caab2dd1a6e112fc75c92285243bc3ffc7bb20e8b1bd872c55c6f1e4935582b2653cfb7e1cd343429d693589b516c8381b324e27d16ea1569930295fbcd94c8a75f2d0d380006f0ba9702b2089394d678065540de715c7219dc16897201d61cc0ddeb2148ae691e92348c91e9c45118ce9a3d5d10edbc2081918e879c7234be129b480d5c46b5490eaef51d3e38403a36baa961d4d0e4dc9a045342488abaad93666a41bbf90039ab189b6b9cdabdd00e11fe0bdc9d52cfff469aba22080a7\n\n[e = 03]\n[keyAsn = 308201080282010100f2ed0e93228f37c2ce1c215e00cce4ef00e2c08a004a39c4170dc73e5fbd9b91e7c55e596579ec9c60b9bd341e83029b1934e6493eb60099b6cfbb9804d4179c983099e19102bba49eaa28fa505efacc5a9d5374499c0c5775778317ed370de1919f38aff22d5aee8c8af36a86d036029e761f243dff3c205a11e9bce9ac1d6baf81e79ad4146b119abb13903f8562e8f3e6a918f48223465bc93d5e7d5abe3d08503ec42998fe087a1f935d1b8673c495f005dfa7453daf977e1608a8c276da2a4cd0567e4af4d18cba05fdbedcde74493ccabd9060c27d35a02f35c760b12a4deae1359f649f273fa408626fb789c916434a642d528f41db868ff93b7f889f020103]\n[keyDer = 30820120300d06092a864886f70d01010105000382010d00308201080282010100f2ed0e93228f37c2ce1c215e00cce4ef00e2c08a004a39c4170dc73e5fbd9b91e7c55e596579ec9c60b9bd341e83029b1934e6493eb60099b6cfbb9804d4179c983099e19102bba49eaa28fa505efacc5a9d5374499c0c5775778317ed370de1919f38aff22d5aee8c8af36a86d036029e761f243dff3c205a11e9bce9ac1d6baf81e79ad4146b119abb13903f8562e8f3e6a918f48223465bc93d5e7d5abe3d08503ec42998fe087a1f935d1b8673c495f005dfa7453daf977e1608a8c276da2a4cd0567e4af4d18cba05fdbedcde74493ccabd9060c27d35a02f35c760b12a4deae1359f649f273fa408626fb789c916434a642d528f41db868ff93b7f889f020103]\n[keysize = 2048]\n[n = 00f2ed0e93228f37c2ce1c215e00cce4ef00e2c08a004a39c4170dc73e5fbd9b91e7c55e596579ec9c60b9bd341e83029b1934e6493eb60099b6cfbb9804d4179c983099e19102bba49eaa28fa505efacc5a9d5374499c0c5775778317ed370de1919f38aff22d5aee8c8af36a86d036029e761f243dff3c205a11e9bce9ac1d6baf81e79ad4146b119abb13903f8562e8f3e6a918f48223465bc93d5e7d5abe3d08503ec42998fe087a1f935d1b8673c495f005dfa7453daf977e1608a8c276da2a4cd0567e4af4d18cba05fdbedcde74493ccabd9060c27d35a02f35c760b12a4deae1359f649f273fa408626fb789c916434a642d528f41db868ff93b7f889f]\n[sha = SHA-512]\n\n# tcId = 240\n# short signature\nmsg = 38343432\nresult = acceptable\nsig = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009e7a1269086f0bbc0778ded8d7108ff4edcc2313425088117b2d5c53e9d9971950a5fe8b2b67d2bcd1be74f6b557a3f90650a96d7e4dbd63c05b94f73337eea682417c058d66ce523e4461065ac8ba990c4ecd04932\nflags = SmallPublicKey\n\n", +}; +static const size_t kLen153 = 208470; + +static const char *kData153[] = { + "# Imported from Wycheproof's rsa_signature_3072_sha256_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSASSA-PKCS1-v1_5\n# Generator version: 0.8r12\n\n[e = 010001]\n[keyAsn = 3082018a0282018100c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b12030203010001]\n[keyDer = 308201a2300d06092a864886f70d01010105000382018f003082018a0282018100c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b12030203010001]\n[keysize = 3072]\n[n = 00c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b1203]\n[sha = SHA-256]\n\n# tcId = 1\nmsg = \nresult = valid\nsig = 157ffb942b1363b5989ec4beb93fb0187ef016de4ce055620825d13c3dafd4fff621c71920e884ba28c5e98b328baac29ad4bfc4d2cae2f0ecb9d1b6c9fbdfc385aa565aaf6c5b3150e085e0316e21d7d440a873074e5d2700d961114ed420478647a4769d832691f7a004d934a89dc249c9343341902d5d0c3d1a623001265634216beacd5f756821f21c3b58111790657690918a2eafa9e85ab1ee44edd3d8bb89e892acf411ba9eaaeef88eca37dffbda72751c117364fd1b38c840d7b42318fcd011a4449aeffc2de32836d3a4f704d4c8ad4e078315d0d1758f098f2ea749ccce62aac592ac4041b5e733ba0431b88332a39a2af7f68f9bb1f469a793b280b964f285ce5cd1ff3adcd7dbd464a7c9414ed45791073f08415be2dd9f01dc2fec8c3a26fe97d9778e2b2fccf71a1ea5e9ce017d2d46778d7e37bb832ebd5825b3257a7852db5cb6c132bcf9ba3522a670b0e866585444ed3601fd32a922818ef6611626eee3ea99cfcfeeaa4c370567cc65e0479bd35e091b772d7445cade\n\n# tcId = 2\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 631cb4bed6b79dcd3827879f6d64de3ae17e0fdb022be013e733bbfe0031cf204f0508ab87a2e2bbdfaa16cf24acc96b3fd2e72bc4a224428e515d6f1e0ea6927eba6ed7282a959e5df5e52eb3be9a39cfe139ea2fa45c21eb81b3197eff655b918f7c5fff6abab33945557a922063f9600a372ae7701db686f7e1fe4a6e804a0f624331fbb59536733bed3710dcacd22ec74b1a1386d045372853cac91130703ecafad7f6f42ec1aade5cb865339743c83e882f248b0db0855f487a6d3b55442f67773611a11813ff46a58c762b1bd70b5e870c3095507f23758e90b3c84526f47a825f0ae787acfd3ed349ca6786a2e84ec500c6042a9027a994c328c7a6868e6a81481b294383edda62773fd224af46e782ea3f00468515f6100486d94e818afca1bdb81851e62b3bf4f9236f061afafb3e399b93e6f6a295ae200c9bba5ff5aabcac8361c84f2e69aff8a8a21720b900d52ea4bddcfbaba3a231bb9b0dd48f0a4ef1cdd255b3524ca0633d04907ab672314c5e3173108313ff4a97df3772\n\n# tcId = 3\nmsg = 54657374\nresult = valid\nsig = 5819a699691c01a7f35f0bb1831a1cb65631ef693f7c9ef89f1e8460ee2ec312f6fd38fe382b3bf4db8f5d208146c32c5ed2d3b13105743767a73529bfddb5753c8cc13148d41db97f69ea1dee0ef1e1de990ff565f633bd3cfd315a7dafc70aa7f27d4f6486a2f1e2711e7919c5c73c518069338c0ac984d75f58b00fb0eee0f7da6c9c84d97955137417df8f20c02b7893b5cd929ba37f6b3278a1bd35748e14086c5f7100abf2edebeab5f767bb83d999a61cc27531bb67e44a92004fba9944b9c5f770bc66671d2efc74e01fbbd2885c5175a1fd72b91937c324b8d99d3592bfb73efb9641b87949266de441b61d180e141de510ae0cdefc2160df918c08c53799f050ca4eeb3a8b6b5ed35b8b59d3acd13a600a8a137eb1b8c1abbf55f3e99cf52d7092d1e3acc08583b04aa25a052668bc982abf060ffb17c1782daf76fbd69e7fc9510c5c6a68bd525719be5b81d0f2a8b961f1aeac7dc13aeeeef9986c7a47b34f8b96167d79f7ec458fef7345c1c31bba599d09b3fe33e738bc7da1\n\n# tcId = 4\nmsg = 313233343030\nresult = valid\nsig = 636d31d8d5dfe0fc6ab01ef2ccd4602dfea62d386b002c429e7e846e7a98d0cb1d448d25be039d5158887ab46a9dd49c41537a89036a065fc10329df051e5f2e5c1d4436e84790ff6db4d3f31575e5f0fbdfcaee625722c5492fceaa3fb29d0a865200dec06e117b04753ca9450a7ca7f7d1a1176cc38ecab721864413a0d7a22d8fc1595b6cd0032fbf154fbbb31b56d3bf963761ce8ec9fb38bba3419716d0d39e976857e79b1faefd5f5a2ce0ebd94968da1ec3a387804694d90f37b34033c7f70ccfb26beffaafb7bf56c1b8385d489217458e0a68b5d680f9fa45382fd1c227ff3c11e3ec82426ec648a564f0e886e5b12e695dd2fc8465bd9d08731fb140084c79be64d915bcb4ba10f1edb4c37e35231753be2d9f339d37d7b5f22c91584a68a973f9cc469a23d3b5800157dbd72a8405fef4e444ff01f7fd23efa143c1887504e81773743843d8a73209a1deb66c5f305df539bc30e871332e82330e5b66fa6ea253b2b64b4c9781011d20e80ddd8cb83916834eb8fa696b0a4b6bcd\n\n# tcId = 5\nmsg = 4d657373616765\nresult = valid\nsig = 08e0ae3dc0d16c927c423f12a87313afd1d66fbd5d09f48a4dd1a8b52102bbdd208284cdd692932869803a5c7f041a4492ac2e664bb6dd981c370e0c79ee3f7c5c6dd37018986fc2cc618139fe3eb85c0616f0673403c4afe7cbca49c1eff27bbf6d7e541b285ffff20b80bf61dcebcc4250068e25ef5a8e7c3306e49fcc2a1ee0f500a3ec603b472082f12ce4a6a12a6ac66cd4da8b6efac0796e9dcdc66c095a6282ae9a32ad274efe63f43e725410e6ed4c480828ed876b76b71b1cb8c142d0c7a51dc202af796d7bb55cf544dbde2f564f31994911ec7307015b0da2c51abe265a04a74b9afd0791a68e725cd7d8b473296c5d948157c10bc4682f74d843ce72e9ee8719a7a49d9de2f982c5d4490451eaed62c305eae3d0f9cb3493bff056a0dbca8579b7b41dc8deb1becfd5abb455634569d58c5b5535ff1356ccfaddd14e0f9f7f69a7ae9cb9f4c0c9f661fde349facd21f0021423d3a9ee5031855dd242f27009090ff0c15d1655317383231799b18c01fad231385aa5020990f41e\n\n# tcId = 6\nmsg = 61\nresult = valid\nsig = 9858e2557c6b99fbd84bc7eac3e31283a4efb351ff019343760a1e282368938e29ad902d3eb6cb29b35a036dfbcc7e06d2f1d15548df59ced35326295375bacd7a9d28a01b4e8acfb676d80b6295e19c6b7a259df56456e1df72f6a746e9cd31fed9b79b35d7a30a7aa257e9e8ac60ea886042b9194e7a383d1c9f71c84511faf6c96f7ae0e690112b26bb60cf7bb10f684e4fbe2a3a1b1c0caa9b1bdc79fde23fb758c2ba57880a4de461ecd2bc696689438183e2b9724fa68258f461bb4405425620a4d95c87ddd83e04be381bc743b05d26ede2ceff8a858636baadf56ef1dab54080da0f516307c579833717def053c8906d4f102448ab22693e7f52d5850193a40ccf0d68d1303953771a73924e4bcddd8486e1477d96250bf6b480a5f4b822822183694c52a2edacb331564444f0335d3b17d511ece59889b6d961767a3192d7f081caf7e671addb3757451776d4bd3b03f7b689843dcd59019ae4f292dba54738a88b86cc6ce3b123c61a446f4878b627a7f3585d8ab7bca9b258f10b\n\n# tcId = 7\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\nsig = 1294490626bdb36a31c93fa7853d93152d920b022f1b473bde3083a99e11aeba8c03218fa07d6c4a5f8b2504d2cb54505c40130fef5a2412f7a5ddfec5e2c8b5058f7cbde7ace0ac01c7ba8a1bd897e8974d991ad2b95c2f03100a34ff408a788c70ab5ec73b5356a4e3c7beb44fcb9e2f3f25d1c974ed962b148167684351dc2a223a174c9744b092071d58dfd39c38364f47d292651e7806ad7962bbedb64739d7ea298f0254244790e3971c15b861c95f00f65532aa1c77fba5c04ad078525128e92ed2b4f1269ae744547e3efd4ebb63e9df844df152a098c47fa492bfe0f1917ec973867c7491f64c1", + "72cf3ea1bc3f97b42a397e6ad88d12e150d3dbe360071a3285d6a68ee6e736eb4d7d637c649c2f545259ecd430b25b38a1618d69a4602ca8a2a151066f12c3807f5dc7cbd06bf095711e4483cb0a89c26dd9e4b0b03e05beca349f601c894f9a245aca3204584a9bd844772dd87b83d481c8df18b615307eaf643cbe856488c160e077458e899755301749d2d27bc190d68a5da11\n\n# tcId = 8\n# Legacy:missing NULL\nmsg = 313233343030\nresult = acceptable\nsig = 8b889902d581f3be759dab7e53cf3419d5dcfc825d203c736a374f37ac5570da2b87239c938bd299691a46387fb47ca656bb9ab639f6736207e19680ad1a0c7a7818f2498ec98e4693c51bfe414fcecff4bae7afc6db0d72cb9dc447e2ce4ce9ff435b9daa98cb125d77b7c7d2fe2e39ba15122da11bf19d341b9878de33d3cc134bcb77b9963d19a3037a67458b17eec462eb0d7eb7ce69b71f41287d3b104b45757c76440f370dedb720a0c721c08c055c5b815650737fa478898246d36f7722e913c0913612e753908400bf6b456f269538102b778257af0c7c14339d0ae1ddcbaa357369a065c0b3627cade311a627e1e3179514cd3761463eab7f9485f6651793cdff282daba9b16c2f79adbd24ba54ce4890a9685ca78d73e8785d722825c9fd22ff327b97f38d5e0b95f449928114ee9756aef5213eb95cc40774fa1733fd02bf37cf5243e7ca76f88e7e3fa8d28a754b5adaedf31a91e6911688a6149ecb52eab8024e72e1bc3a98579d9eb242e08fc42bd491e3b0924b03fb95bd1d\nflags = MissingNull\n\n# tcId = 9\n# long form encoding of length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 46da0267738cab66df530dbea6fbbebbe904ad3d6ea7e7a06e39a3b5f3e38bf5856624185080fc756941b226a52c8e6126d07714deb781f6f7944f47147c680aeb0dce310c7d6f429429ac73e562510678c23042b635116174a2c2f4e8e8becfee1e4ba3cfbf4e2ee541c7f7c27b1916a2aa165cdeeaafb9f81c84e9754d196c3a9bdc777fc55d86b6bbd16270bc4d3cc75c2960f2a7a661105184b436a31de2cefad722a14abc1cd2f2c75738b2c81580fecff78d7d385b20d1a03d4aa2c21a168e13da18fd628e34be16d821b48136b6dcf7594ab3e1243c0a2a9e785fe40436cc6fc460879b673b068cd35a9114b59c2dc61fb875310e103610b74aa5e3620c51a257dcc3b9b0adbe774426ede0f779ea9d370f18a19d8844ed9f5d90ebfc4e0607a467645711da2b500840d4851e3de63723283bda8d08acc51a012699df0e8f5aabe269206f93ba4ca6597e17cdc01d2ead46b5dd2433b82237da01518ee3168b133b6a42e9a73194fcf9162b71d08528254c34b20d692e141c657c969d\n\n# tcId = 10\n# long form encoding of length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 39c1fd7fd0bc4578c3370787ea5a133e8a34ec9702dc1456c1ca7f8c3cda7bdcb8beed72e4098de5ab3e467f325141a324ff55af1390ff6f3d0cdf680f4319378f099604c9044025e04ed1af1ba5c74805265d8963684c7555cb835e8b1bfc162812698679e47b96744809002c805b75bcc5233f378fdfdf3e56593bfd6b0228f416f58b4c32ec0c2d32fe113cf7f3c347425b69e8bda1a2c5bbc3cfd0c1bbc609086d91175fab0adf050a8b3e904fc4a700d747500433fb72c55cdc25bd283d1bfa1db93604f18b8960127e9b7080227235e6ce234880de8e3c49d5edfa205140b8ea383e546e0bbd4c5dc59d0c058670ed91a02a3bee241ccceac20d434a442bf35ec6d5922196d78b080b1c14aca63b827434679d7b6e666db10dd9a85b2da60c6b47fc97979974f11b6051fe9378d96c78328ccf4e5cf5c120c2641b3f6b7abdfd0832fbcf59fd3787100032ae65aef2b076631788e7be1019feed9b863f39759525be659f3ec50dd7e9724bf6d09d8b771bc60e8a8e788ced8d945c89ab\n\n# tcId = 11\n# length of sequence contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 530bfb86fd2a4b31587767d5809e5ec2002cbdd9121e135391392c242354844a9b4c8993ae61bd85810a0ed240203cc4be48ded5997832570875a7b775206460067b30df7c3b7f7af9d98e436f0007ce0d6360de0c1a4e75912b885d1154ebc25df90465ecb5f07a6cc477e44d3579f3a629bb49b7a19a619f44e6b630b684f3ac4daee5eb386dea0386593be825a696656e130ec0e4a4bd5411c45ade6ddb4a6284f343b0a746bbaeaf03cef31120f19f2845dd9a7fb818406b0cba91598ece880836e0b17e6f375b8941381d0b301d0ed1bf746c992649b40899d2ed2b39d488981970cea6da2453b5fc85f23c8d671a3c7544f4a7133fb500f5448da44d4c405bb70e85aa3aa399204148c01d1a79de3f784dc5a9141dcb41872461e62deca48dc567b984ee80097a099290e413e575411faa54f7f3387cd7759f71b8013ddcf9ff2079503ef802c54fb731e3131316c93182dead523f41551bdd3a96a4261bf6c3dc72a952ed4b7cc95d116741c653494b5ba8ed9aa565ee57ad22a4dc83\n\n# tcId = 12\n# length of sequence contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 94e0075930de07ea37f0eca5023be15c472a674513654d837befcf17765225c73d17e93ac4c69d855027747c7ab81c6bfb3080ccd5b6dbdd41e2ea4871fe30131bf2dbc143ddad0292dd4156c60cfe5172fd9703729daf99b2067334af23a2aaffd0f74d574955c406ef8ccb1796189c140d1a45701c993737b9de11e44112c4df9a5b2c7ac827c9329c5f63f4bd740f3f1baf69a8fb6b69ddf500272beccfc2f24902c592b91de99783242fbe9767f3809b38368f04b02d973c761fd999b0c69eab43a2187d6de4fe5455e070e20bec5bcb8ffa5e439b04e3883804a5dbeeae652260a405ef5e2e6b9b7bf7e8018065a900cd831b05674a093650644c42341c3f5429d59fa3aa93737a6b525a80e0748518cfe19e6a4de792d3bf842e2a864f04da31a8ecd0b191ea656f1c2987a1973ba1b10e16b09524a3cd07c96814b395b29ae1a434e76bde8e0b6e4e29ea3c6871ca447fddf077f53a4c2c3499c7e96dc6de112cf28ba83d8d274ec03fcd1d570b74e22ddddece554b7645380a2a7483\n\n# tcId = 13\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3e65342b3d9322ee9b0473f54f0c3be5a17f56f2cfa5a8168bcf3001ca1256be867d3a575b07c3d7d020037590aa10d75dd764a1d57a123976116286ced29b68e3b625c3ce0c235a629e27e4f8011afe4b383117a8bfc927a7718bd81ec4a156ef6ec5cb206c2f23941b595ab3e8e4a3eed825c8e2af444cc7b0ae0e303c8f109cc149fed6e8a2679c55a2f483dc64642170d0f62f0f20a5387a80c5ee3e72d275a8c3e18c65de6f9af8a7ce886b83d84cd0270bddbca64db5d6de42619ab0f37ec18594a09a80c0183d44dd3ec6b46ca4846daab73effe1d5e2d8ce302db26708ae9223369ba5c488bd11ad27751abbf994e2bd18cc999dfff0f65e8c6d6d04e229252a5d6704483458d7d094dfdc96cd5a7b0573a2e0b50fc14a8d291fc856e63d82343534b75b25298c6ab7af401ce1215cebedf87635ec80d0cc228831d26c40efa5997105fe4b3786d0a44c17be443a67181d35a5ee56da18b7e97db573879686a406c3bf340851d12d8ed57c0530433d655aea85eb3211bb7f128c91c0\n\n# tcId = 14\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = a7ecbb2fac0916fc1bc793f4503d496cf2683d1529632eaeeee4fc89bb8174e7797a8d78faa95a52da0c4c887585d61c680fc4d1224e02d3a0dd2b33031120a14be8ad16e267656c683c179d261f6aa6089a14122168748a4bfccb59ecb086c0b7edd342bc61d2a9a2f5aab2f4558d458971ca04672e513d3db5784db83fdb93816bf8f1b443470973d96ed20a7d85adf93bcb497ae07022db0f939028b9387a1d448b3fab2408c2754478621640cae0ee6af76fb6e653e4d418e83d431f7967e435b748e8c7a26384addf77115e0dbbf7cb5be6ec0d11b183edd6def81d0554a2e7fffe692e3cdaa6c138cd73bff960f047c0226ff0ce1abf9d16ecca4c3b998ae8ab1fd1e35f80b04979ecf0338497d1df5cea3108bdcb1d0bbb6636ae234cd81e6f2df123d263ae38924783a2a11c85b7605808e84433dfd72d9ae5b9d82fc6a8cf385b0994d32afabf3ba62e8578ffac2073d81d69c808a2c9f46b1115ce7f26885d1be3052ca23e2cfd05e92469795bbb274c4cca1b992612d0610c27f0\n\n# tcId = 15\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 7c2c6b135814accef0caafe8a22b8cbdb832a30c997edfd33e01a9578e309988322f08c64704080dbec0469274fcbfb131b4388cc1181ae2004a63cfec1080087dbd3b9e7409fc0f960ca721d456755f1bce99bc91ba36c65e747e4cb693ec4253f0ca37d8b9d64d5f7d0526ab809a4f476e6537263adc00f20d4261d78e5b6f22896706c665e885d5283716dd959400d2a7cb35974a3a3adb1a4bf3bf36e9773ca539787c0f6a05d17b75837452e247f065803513eb8c6c995e989a52a5d48bec77930a91cdfc1f373c58b344cb1700b7707a1801a758246267c8ce932035f8a93241f57e9ea8c4d2dab3ff4c5fe06caf37e5c996e60e7bcc4f3a6176a69e61df24f8cc080b7489bfd8395d30b6a4cde92ede49a26a0a03c766cef25ca6bf982fc3126ed7b1b1b2bf4a7ad9ddbe1a3a456a6720953460cebe6e1bd5c333b9ab2812f9b47452b2759436137424832753d8a97fd456603c5585620342fa1dd056be6247297d5758529c152d24fa2644e613244dbb66815278385be78cfa4224b5\n\n# tcId = 16\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 27b9f6f0a34cfa0a71fe15c15c910b7c8f2096225213e7021649aa3689ccccd5e2041578ab5be9d110a05456fdc516c5675561dc82a23fca94cd66df6dbd4b0805ab85b57734f5dd2d6efcb1a0bd8c3da6f8ae7a68f54e015a324212b916a0eae4095975f76f509ea383edc4fd888217abb893693f821f4a3c72dff39dfb0fa7abace8c16151d01bb81be374122f0e479748df2c82ec87b443325ba908bd00b2cab985e64c7f6a1edc62787c64b84410d93ffaf6d9a33bf3164e4348d7e1afeb6cc7d3e8a51d723ba6ff27ff5ef1358001ffb8eaf651cf48ca5534bf5d86650e73b540226fc2a2c1a7c52e6003d89a108a65e1c9df183b47d1753ea697f05e77b3a13cbeba8daf25683a6bd423b2b7acefa66eb5e6d08ac1984007aedb7df5d4fa1da1aa3c6ea5f383571aebfa42ae1d42060d996cd9dcbcbfa605f002dd7ae653e7c295eb3c3d03c9f6c479068456a8b0087f0c61492ff7c125e3bffe30cc45a136d72c75b047b246dba18ebb41f3fb9ad0216a09d888885b4402200291e6f1\n\n# tcId = 17\n# uint32 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 39c7a8c06ac4835655fa719be214556e0adc5a00ab466d88d33e694c30882e7c41", + "d7fdefde724fb8255a44ec4bdbbd03d1ed528b4ea980bde20717349c0f2eb78141ed6f4490173e62cb2c48b76357c7816d1b0eb5f85391143d04cf6a100ed6917c46ec661a35860b3210ebf71bd7e6b8e4b8909914226ebe925c99a7a5a66f1d02c876f25d80ad4482899193d9a444a8a1d0ad8d5afa912b53995dc36ea89599f4f181241a6f4fbe698de8c7c794a82f1f576c255e701751d3815f5b6fe93efe9a678d2422ec9a4a5d090beef2e552db07a4d146f90bb4cdf1ea6fb844ffa1948542bdaaece102fa3359d2bd23c6447ddd64dfd7e4c94c801c2b6ae17b07b07a4dc79bd69ce5ec46aca637845a0185a372feb8adb7d60996133b9c37c32a9ad869ff5534f39aad8701e3487e1e6c8fb9ddaf71a1c34374a09ffb85fe44790ddea79439bae8eb51ce12e5abed6af335ad1ddbda07a8507b6df0d0f3ce80dec487968d29d92a139eb1d5ede5c28240320c5ad9cd0edefb69fd156f0626f6d45d\n\n# tcId = 18\n# uint32 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 4c8a79462d5c62f418c83b35e67899db78b04883afddd506855ba23e7ef8c5336c1492faeaf1d57444d1049bd008c317fe7249d5decc09fb4f39d7858edd097c3949c53bca1a439674a61b355ff5a9388a60b7d5c7255961af7079e72c07fade552d0b77c36ea3d2f0c7c9985b8ce478df8658de208dbf4690299db7f1d32660585b918af94bbedbbde7ae9444972abcca2f6b3c4004e3c87940793f1a625d932ba14e715dc1b5f9231e0f34956b2920eaced888b3a320ec8376b059fd48ff369beb1ebfd32b9e9c9623d28b54856919b3af12239df425a055cf43e448541af94b88a223a90580977a72782b831ba0a88877cad65f8fb49c68d5e3b2f6224637e61f4b356fda8b8ab916cc31b18e6f92d33e0e27971a480491fde857715cc55388b281e7d313ebb0abe3337f7d4544ef9d144e402f49c2b71eed30f8ffe8e600c31de5960947bb07fcc4e15ac0d7bf00bee0920c9f092c8bed16ad9ab7d752433a96dbe49ac2cf33445257a51dd347dd77dd5ae0d08b223c457db3b57d727f52\n\n# tcId = 19\n# uint64 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 93391857ce1fae6df31b1ad972189803a1fc3ae91b89a264ff86246d6efbdc599003bb7c35814a4215dfdd3932834d4064b497f464fa93054363f1fa5e365825d1b87881e125a50deaf22d75aae32fc0fe1e8f3115f7cab6af0c2aca54d6f21f5a72fa77a0731c9f8ea82ac2e31155fe56a7950f61fc1b22c274203ea91b28a4bba0a925ecaaa017b9258e1d0f492c24336334e328054a12df916e1e4108d0b7e5d8b2bdb3d4a10282cc1653b9df2a24a7ecbd753cc7677c88c2acb7f741e3d56d670c226a827fd6b19aefa445bd277eed60dd13619427a048616dd26770ce76a3031bf5856b50f0ceacc7bbef257d86f6e9fae62aa6af550c9d526a6076d1de77a9097acc15728cbab9fedd1428c33a89e07c0a49dc89822558da1da6db6f8f738ae309fec8f033ceda8773ed3eb5bf6203fed189c3b7a774cc5f44073dd0db9e4a614bf7c8005d5c6e022fda36b82dcfe66f4679eea23269ff39213851798e63e42c1ec5be20b3cb5e20787597b43248d4fadd1c10cc94d066639736b7781e\n\n# tcId = 20\n# uint64 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 1d9a1575ce2cd06e5f160063d03199cac5e912cea51439f738d98ede05aaf7b821d8b26082ecaf4d12fd01d0f64be9ea2e1831388cdb5e7c7564b73146de8f9b5314ad6738d98e1053ad0d7d594425043ece575c75128888d0d7b090ba5d5e008be46abadbea23c9b7741a023151ef281d99fdfd684408992a8aa9f2c85376a40e53d9d223ef4ced563fca832ef03bef29a47bf381eb6728830ba37c69a99568494efc85370e8e9c3fcaace1a59d6c98afd03a0e8bd5da2f5c909df5710e385ceac35ab0fab92a6cd918ca8d32cd5d4bfee5dd644e0adb3d188a5d0e7a20a305bda34ec10bb65c922a0c074e8427cec78a590c095a0c670cea6d34bc7a88b2f1f06b00b368b8009cbfe6a14b18bdf2b01caab7041d46e6b76fbb1f63e9b309f60fdb4f1a6033a11dd7dc1eb15d7faf922b3fdde28796c44e226633813a969ae1fc54388525d0a125414060862718bd0ee1337de2133fc773d06bf83987a22e4d2e883765e3affe55ff8d92771da79ea0898258f0d7e858fa3937ff24f122669d\n\n# tcId = 21\n# length of sequence = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = c0177318feee842e802480dbe0dcfc6215d75431a30bb8492cfb1cb84f7ebc73dc37f56cd0dbca1f6a6516c6eee3de3addbcbd569bbc79d533a4f5955d95babc717cd4c8f5039ce49ce7dd20aa44bdb96a394f8499172079f8ed20c4ed780ffbe11cb00d04aeab80c882eac517c153993892549f2d4203d8e3fdc719fd745b06103b49f54ad51b6dfd0f4c94b08b7059875073ac11701e16af0b73d7b305d9a420fcb560b490d01c4afcc52b9b21a467e95bce62da8f559527066116c602bbcc29a434ca04ea3227a25a07d733f1b867040ad1c85b001904c749505166635c217d8858e637cbd74ebd1b86a400961f2713cd00e64947c2b5d2b97a4ef795822eae56328bc4bf8e8c9c8bb8d759a3743cbe9d368d985299d8338796ad6e24df7eb7db18147450d2db91000c8667681b47aa9f0f2e08b48aebadaeeca32976dd03ba94ae72950803a07f566e091670c83c8ad01cf1a2a921467010c20975e1b9653a7b56d2137799eee863a576a2275c33320445307670bc62fa039c7cdc8094c1\n\n# tcId = 22\n# length of sequence = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 5675e16b96e961dd428de891451ed0d23706165d65392d277eaf846e24f0c4388536b2b52e519c07d0e10686a164bed5a05314249a77f77d140dd16d42fba947bbed204ef4c8a958e49f3aa4e62438ee333812d6a9719ff166839e467080d8762a4268fb575a33070209013741ae8ea0c757bb44d12450579ac8e22870569c6892edf1fdd0bc12a7823b695c4c90e93c3cea57c2fa004eb3306d13ba60cfa7aa3f1465a232c3f4cbb765a82bd59551d0f130137829871bd35cea7c59cfa12f188c91dfc214d8102810a7deccce40f204562993633ba4669f4d7d02418d5a66db59af8ad001884969b8e00951492bd846ad7db619d623b3466cfa062ae9282a1cddf150e761c90a3413e92f2f1fb2b5b62d410cdaf6bd8885d635f05f20331416fc3808fccd342764b7c244c1aaf78fa7a1166b1b204058a16ab750ac3fafbafdb2610f52164f75e7cff8a4c3cb899ebd5fbe1834682ee94e6cd810a4015ed7f0fea7f1494c5a477b572d172056629320307e8ece3f72de5dc0652e688d79d154\n\n# tcId = 23\n# length of sequence = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 562cb29e3b27d68a9f8741a57006296a943bee15c1e0cff97e8748ad822a321234a15fb3b89f4e07c1756d693507461172981189e9191e0175c71accbc258d3e79bbc627365c95f19fa416aaabf223bf22fbfd46cb8022a88600fdaf84aee70e9c8939e24de4e8a5fb2536c4fda5e3e3d71adc377708c1f4d7982c0c2267265d4f85d9e27f689de2c216a21239d6d4f95dd30ce102da43ec1b3e72ee5696db8c63cf06d94b8ccba75e197b2d26350d35336475f66de615daf8c1900ba37d7699ea881c0f7af84e936c402c08e15d3923733aad0894b4e78216225911ceae7f4c770a17d90fd7178a196050bef7218d7e0fe7fd22eb5c3854c806a5cd179e3a82b59d9b4e9e2dd1d4cd998ed32ffbf19a91cb19149c948b74861fd0e92174c2f35c82c9232a8413adeee723fe489dffc8aded50c7716403c02549802e083f16584b05e3f67a4e726dd8ec6d4adcfedc0695a47ab75e6d0b0486e946b6485f89162349eeeb88f20dc3095ec5f45bae1c2b7af4352138e864e6fec18b9bbe98fbf4\n\n# tcId = 24\n# length of sequence = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 2302f69cbfe30dbdfb830918913fb556f2634e268210efcd0afff8bc527fe30ea1dc36833b01fc1b7b1d8781913a5004a24c2412b9e0713b84f228b6b08349eaec2ac6908861157576c89bcf472572be53c0075e48534d335b954f46aa456c90653912e07137a418f8eb59329996e86fbcab8e585d80b7a8f97e7aacad3d08d24dbe30a76ef8f47788d36926e74c0f24df942f73fbdfd649ffe9a952acddf3fd8ed9aad055c3a950e749dfce25d0c45114f40dae0a449f23d7915dea8ee1f6f163849affa4b7b8105badbbffc5690190fce192f4a647b81b14101b4fd9b1f0379b08379901f0908ccb48d5c88e8a3d0b6563bf01117ebcecbd84dd61e6bf05b77dd2a3c63d9c36a394843df28b8184de81cde4f381eea84822002008938d3549550cdeafe31606fcc282ef2c2a4ab90b437d0975a6d576fb705e26131bd07add5bcd34887496b653f3e9c2a7760eb367935cc8052ea896c6f2023f0d2a5bf3267835cb4adb079019b8974426953ef1447069a79cdb51fe8c32fff14a9bb8f78e\n\n# tcId = 25\n# length of sequence = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 92218f94fc3552f215e98d21758992429cb17fc3313f780feea3f482d0e32cf97fc8832205e74286e69a1fa35062b984635687692d15e6050376afd8e8501b4a07e8c61006a2fa6eb27e2a4c310f54b907808027eaf9cb0530f8ade781c4fa9095a41bb6630c1e0973783eab65cb0849f9c8e89f3c997ea3ab930b4fc629028dda3d5e0e7dcd99b2951282c31b8e3739b6724a414dbc254802e63a1a6a268e7fc6a91934cbb27d9cf0ec994fd02334a7451c3658e7ab13aa5dd27e81736c9cb316679eb9a3d3f87c3739ca07a7be08a0402ab2883d860867a4eccd2476c8d9e37e2ec214d6895664bdda7ce7344c95622791cdfaca32508c8b7388391846b720659de2aea7bbb84520fae9edea66638270e735677f175f115c582f8d76185e8edb3d105e3d6c0f490ec486f7ba41f750add6d50997ec85ed351a2b14a4c328a41faf70ff3e50fd4ddfae6f9c74fd72a7c1bc0df045e31fd72f04b6a797e0cced07bf2fce788d75ef6d783cd6e4eff98c49e99487c76ccd4e08ea26d36c29aae1\n\n# tcId = 26\n# length of sequence = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 55a36002b43d9b5a2f99ba0acf767cb04b54b7849fc2443d123bae5b6c6b6fb666d7ffb96e09580462df5fc560cbe9744c166f8f43be98b7b61ab71b86323d771eb6aed87ca4261b4e4d76af84813173c01cd82a87fda653c47f3700fc2110a852def8c785da96dbc779615335ec871a31ac3590562e8f50972b5e217d45089a217e8b0b1905693e7dcd121542d11c0083b967b04a8927211ce89262329ba2f7875412b8785ebe47693b8f3b76f98192bdadd3f4359999d48d751290e87264a5f2e53ef5814225931b253b451a3246f22ee3fc7295806ead7992bee92e74b19dba84b1228a8fcec6fc0729f4840d2b467956f86a916129c57025c7465fbfd760e0ddfb480f74", + "8c422c08a98fd0f73a5ef04b28fac58355e6d9bbeafe84d0b24e6ba19ed317bba9dd6b9f0008d5d150b3a27b839ec2bd72205c345211c99c8bd92db11c1bc16415b082f0e6f23bfdf9fb00b80a6921a023cd2d8565d2c98c60b5d44b2593126f6ebea96c6529e54d3f2a503262bff664c955d6435185247b32b9\n\n# tcId = 27\n# length of sequence = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 79ae98a76ace727161e1ce51f127445bad0f3aa45443a099d246b3e04057097bdf2c99e744fee3a55a6feb7f386e89b3b4efca1cd4bda07c0fb4a06c3130c9d23550f56899480f4dac7b74af496e74271eb23f96236d61e12d5fb616b3bab8c53845816efde0d33a8f041fd0b8b01391e99811bc4723941a0b5cef0974eeeb2d4726b51e9a8687709788abc5376374af650724ba6aaca36b854afd09fe978de357de3ff1cbaba28b8afc24887742656fbf6007f61715e9102aee9c1544d8e7300196f5ed3d86d3e665db7b8f98d16d249f92f34b0faf3025387c31b5aa572404b8d3338ead9d7e4a9891f0796cd6866ae0b34ac57592ead287b984794d6ce7da2c89ab5b352b79ea94f8c0a47e03eb11fcb7cb55d2d00a88a09e22b9b8d5040003e4a8b9b5d411b21673ecaa59424bbc59a2e564d7d7fd8a3730c09eeed6b6f3f1a6af60b9e96b2021e27df6893a8c9c7bfd394c7aa02bcf2af96a392497ef1587cc271755b84db15957d30064fa1be2bfd8bb46de4285640e551bb8cbb843ed\n\n# tcId = 28\n# length of sequence = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3894bf87b1af9047d10bbf45a65671c8f96c5603ec84ac2edb97684354cc7e1ce2050afdce800626c238b3de0b7d94e59f03c1926fee2ff49b52b11fe64c8825eedfb9fedc4b58fb53b9bed5d5f0447514e6e5af4dba869632bf92051e268835883d16f08ed8ebbc9ce5decfba43acafb72f8776a2cfcfea0d2b43e17d4185782cefbbc27a3a249275cf47456c1486fdb57396d5ac0321c6676432d25ffd946ccc781d521c67995493ca3e6fb05e46a1b906cb0e48096611383a072d5a2b0fa58c003e5c58311267922bdb4217a19f9405b79d0fec5a177de5247f1f939d5b9201378d09328aa98d1e5a7e1efb63ac9bcee721208cabee3e488a4551e444d47236f89a6846d1459abdbbc2096cd7dc1fe69bc3cad5ec7ddd02359c6b96398b455a39022129ca179e1da702fe7019f9d73b8a8bc25fdec727bb70dc1e69e57faae10c8fe6a71fc903b1c2272901a94fc2721fdd8642a61666211f8557bf5f184e524ce64978596e8477ec4ef9abfd9ebd170ccb632b76da9d015d3d7f3306a0aa\n\n# tcId = 29\n# incorrect length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 4bce06246b965920ba5768f11973b7773576c8ca811031d091fbf88f0aeeef793859aeee2220a543df5dcb0a6932ab7eda80ca2d9a45687d00c570c0494deb6960424d936a21664108047a4b4f0a3f120d337c7e010e56098e9b707319b1e306a499843d53ae351db6eac5538a4cef9d49660345bcb5bb18900381850b371ad17a47ac57860d1ade90b839402c6bdd8479c79e27fc9cc3fbbb8ded4348da6d70ceb8b6c95d9c8efdc6fc0a51f952ba0e7dcd21f28dfbd39362f2a817c4045b1a3cd6da4c2bfce76516bc918a11dafb9f0c4776bf3f23802b38be8d03cfdc6b3551998842a028ee1585a6c232409469a869b3b144d5d02debfefe09a8e14d0e915dfcc722fccdb87e055929140257428de416d6caeb2437857d585ee6c3a4eb64a5d8f51df2050f28286e3e1987c6e3e3b22131597ed1c83410a2569c8d7cb04a80ef8f37bd043230502987013f560d7ba865759a01f588611d9a9783753093d87e3da0827c7903851ae9601d1d0e7766ba645a0a386d49ae2c5eccac6667f449\n\n# tcId = 30\n# incorrect length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 7af993a700d939dc8e6b16384c311e092883680d4825c26cea5c25d4b738365473b0dbd01e944d84af0f658993b35c1dbf8a657cbedcb1e4b003694aa401c8e568b4e65c9646cc861d689c02f4f1b176acb79aa8eb9006f0f68da78f41eecd4869ecc576f849e9a20e6c1132f9af34eb92da154a459b5a3034abc8ab4c5b26d8721b89ae1099f88c971a9cd58c28369a9274bc7e2df4eb2dec049fea944ba505f61f3d6c4d65e643fa15ed99e915471d2631840ba05e7e05c714b84f102c8fcd94fae291ab216f0845bbee06a5452ed71d9e429bdbd50d11710890673c28de3cd07448a68c92ae052256837429590176c160e7eb42371753e778a6728a40dcec33d58d46ae03ba97fe2f337288a7ef67d71a42ff3944c1a0ff29b8d59820e5b3429342ac74f2978bcb4b56d455ed7b0f035237863f0dbb249f570c591d46a67ef2ec54bc9fca010d9b6c018c415fb4eaa81bb6fad502c273e72bae7acf4b4e3497c9d42bcdbf731c0bcd04604d85171fedc4b750b63d31fdcca389b6ff7e6dcb\n\n# tcId = 31\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 1123e2e0acbc7c8816b6dbe2af9359a2e0b6c10dd522bb3fdfae93855ba73a95961290ed808b3ff8eee8a9f58f3a77f05d03ea1c09d849080c415b3d4214a706692fc72692a75c07b6bc21b9ba4e79f842519b1a5c67259f028995d34c993d0ee0d71262892e3e76d677e838a308a2b4bac5fe20a6ec073148b1a420d5eb5bc4f2c9a45b10ca993d51be5146ca9ad4597ac6ef522e0441e2977fa6470545b086d434d69871561033419e8540299d92f5425e91f82ec902a2d2f5ae8f9017131644107d120786802f30746a116cc67f85ee9676d1738dbca0b360ef257588879f2f6a441d66d5aaa20a98ed3f57a73c3b96e4ced07b8129b50865efe1b8e20f0b81ea5cea294dc99f67cb515a25c646b749b2cc3cf18a41f1e3e66d77710b1854c3af1938a74c991a7e7a93971acc3fc3de3dbab92a84b498d711718106c98c3fb39d3c6eaf5c3621af25d3872e0de8d7588f742183918267458e5975bf5cf0f6c43846ccba256f76529580ff9913776600d1538002690dce5bfb8cc3356d96d7\n\n# tcId = 32\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 194494470fb927c96faff5627eaba83b85cfec16ad38d166a5d7858d6c77580a4a8bb94c16eabf9b22e7653b7957aaed312695df9bade2b4722dab393a286fc2b734cf6f7876083d42f238d0af3082eaeb85e61158e9dc352bf151de4f1329e7c379b40aeb312fe331df8c460c423ce08bcb6290d7e772a75ba6679eaf4be77227c296246eaadc05fe3451203479eebc0fa86ae86ba9d3b42160f0f58ec0652805000ee8e520fd58f80421ee5e78436ce64a58a8273d512bffd3794b04b37a3f83e7b5805d19595f61d07f7a4790bbffb57565b27e8edba4273339ca62fa711c22ef459e78429e9c1f06f6cf8c6c8d5e0aec1bb88bd29a516f6bc1789fc790188c26c484231a78696bbcb181f608b08084426e49daef7d7cd080ff0a82f9c70605748bcba1fd4ec4976319de01a44b76097f86e627c37c37e92ba35bdd51027651b47f9e87e8490f7ce2d2ef8e1566da7f3bfa880e98564bbe2f80c642d30949391081801af2bd79e4a9de3116658216b9bd7949752661d7ccb7ca3ed5918288\n\n# tcId = 33\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 9f6c7acabb5676d40357d7f58dc188aa11da3b032e0fec24d1d377e9dc4aa71d52945873bd82a6b1540b07f6bfa3158a11beb46513446cfd8af28118e693a4f700ce677988221f2cb0f308e29b42feb8c5ce768e34a9ce889fe5429b6b1d9dd5cce537c311228bc524a983ec83d5326cf1141cceabec8170a8ef00d3e003a86962ac760d6de2f906499e60ddf6cdaa394ff2880c4cbd7d658e02c3babdc8c39707e4ab59ece61eebe3e6266d635e0d594e1cb114b699022149b2105157d20c0d4e289c8558348820250a03931033b2cafd400cf62c21a617b16e83cf9c4a79a1df59101eaa180d8b61e5ac2c387f190bc5d01c0766641c8e796afdddaea9a8f625a7eccef21cf8c9bbb391f13fcab5f253f598b880e0391c2e34a64d1aeb028fcd84a3158f692466cd953334db71f4512030534f31a21eb65b459969a00307e9b2ab828f6e4966fbcadec694a394a8b89f94ce1eedd3d2731fc01395d30794ac2abdb0b60dfd14a46b533727d137168fd5b42183cbcb79d38b9259b725fd2485\n\n# tcId = 34\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 315f909380797c58724f05150a19becb372342fc5fb8f0073633808be07fa49be3cccd3892417c925674707c1e36e7188d5f1313eadf99a9907d6b0ba2093ddaa28c3e030d64448d935e2a56b7d989475a7a7e577f2329c6e8e2b2ece2a553679ec90a15089b494028c914d883c460eacaee1eac472f000076a4642136ffd2558c5b7033d71cee3a592899fcdaa05ec41de962f19060a32ec686b34f85b105a413f3baa819bc6cdea0f00fdd07900a8b041fde463d7e44cc6c45c48f7a1974e76e0fd67eb495b6448d739fe091a99eaa79f8436839daf485085253ced9ae1d5ea2dd5135fb5caa44d51d728c4e70479c6f0c239fa585fa557e08062edd07141754543c5af6e554afe5b54e7be52d886c83c7ce6ca9f3fcb3e8329816cc6c0d046bb1daeafb271ad6ed3da795a1b8fbaa3a056d407aedafb457045b6e067582be605a7abcd4643bdc2fa492df1e0fd43cc3e8cbac05ae240392ea02db489e6a5561895dfd14f47cb5ec6ac594427642eac91cafec05182f3415dbdfd12a348c3d\n\n# tcId = 35\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 2bff6effa697277d05bb0a7c6a7f714a0c2f23f9870f51c6b2a678d3b06f5c892d75f377f24fbb14c3c9aba52ae06d3741ebe3e116c0d49dc4e651251367fc63720c8553646bd7465298ccb7b4bf765607dd05052fe5a660c84e0e516aa67540af1ca35befb2250602742a53d4cd97cbd98b9136049336e553c3e7dc64eb39f3d96be6fb1146c16f2180992d0f16fdb9a4c9012753901fb7b293e6af23187c76d9ef55a6956b299bf9e9c9c27c9a4fd524360a4a6988ca1168f35f8bd2038869d77f117ce6d20e710a78b363973a08a5eb091a5ae7332e83617deca9911a2b241aca731624905b91ae63a87045bb2c356c934c70a6cc22bcecd7eb26adb6f98b1c1d727582d7329235a438e1161dcc01f82f760833bfd8d54f8d856ec475ef342072c3d6066425cd0309c4bed7a0861afd7e64b92cdf969ca4d2655a2ee47679134fc2ed39b41cd1cf2665eaaf1e21e8bb9fe6f19b16a057d8277d68ea7a240c95978deedff766e84ef46490720a3809e3ce2a9994af4a04de2059c5a393cf3a\n\n# tcId = 36\n# removing sequence\nmsg = 313233343030\nresult = invalid\nsig = 6e8ac44ae4bfe2af008414861bcdba58127d547d3b4ba6516ab18875ca3dd015dfe303d54b50b2fa8c001951d16e64aa9c2b14da674b4547317f14d2921f1f22", + "ff72f1529dc8074725872720f3799bb9364e27add3c4eed2da587a6a8fa45387a80a68b879b309447874b8d81b74c69486c53aee543ec53c02433c9d405b86d0bca97b34f38db3e7536b838a87c2e007cdb675b7c93be81d1b102ef60672b740f3a9c8124885b6228bb3aae713b69224c5278cf9d4b23028d8fe0890f9897b215929e110265d93b66b98357bbdcd7efd51598012c313b120233911001a8519a9d98b742650296f8c5a67ff0fd0446b3006ac254cf8085036bf6074da96230fb0ccd02fcd95fe4b1e8dc7cdadfa2677da92a80efe36081333c557a4704422c3780a00beb6670a7ca95a30c9ecd78d46c88e30a081d0445142761ffa4e8c8682610395d2de0602043e6567a6d62a77cd6c697fcd362b13aee3fa92946036086ca3b002f1eef8dd5550a4aec137a6f60f7d943c9522f55cdc14dfe58639b17350a3\n\n# tcId = 37\n# removing sequence\nmsg = 313233343030\nresult = invalid\nsig = 83dc093ac399d896efeaf13a4e5b9f5404592c7740af42186b01f2147e3de7f3f46ba323dfa3dec885e10d92c4f5871f50861dad583794b25e3ca2b68eb1458ac3640c7d13711d3338dc509f10df2c52620e0b7c2e2a72608fb52b981b6191765ffe4e675c6a7896c0f026598a3b156f1777b781b6ee688ccced77b95b61ff54b1bf492cf732b9c7a8212b18b5c899929acadc622069c6b4b905add8de54a2332436b5e6f6e16d572ffe46fbb76067e1c67c7bf58d449d2cecfebba5cd7f8246d6511cac17b106e7421c6c65e704a2496773fe86b937265cf27e81a37a3f4f5b21e47fe214e84a9163cc89781468b3e5868ac3414dc112f0fe159d909fd312382a8b76fe194c32bab360d9d694fae4a1c9639103556a7d283252bc922d889c0d5eb6cc657373bbb02119cc8527e6aff051d555ed12806f7b22a5df8bf13c5fd35d5095ac6af7e106b02d4b18dc4400d2404a3221e1f1c8027e722ebcea1d6271cb878d0e6b825f4e3a692fe7eca65c4287a63a3586810c3865cbd7fddf450f99\n\n# tcId = 38\n# lonely sequence tag\nmsg = 313233343030\nresult = invalid\nsig = 6823574bd9fdd7e59ced33e5660e9b5cdc90417fc350cb4535d78dda72c07ce81ac1aee37b90a85ae15f8f59be9461e846a45bdaf3e5f5868b83d1c9465b080d5bffeb933aa9341b6d508b059cfd2e62dad31f35d7fe9058bbe65024d0f73d43a3450eaa707957fc452a69ab9a8ecbb8ba002c870950ebefb06fbd9399bd08d64f72dfb4b2d3dbf662daf7c2c1dd8c3c445e1402e2009b47fd92c3a23864a495037b7f2fbc3adf19355f171e2a9f65f5a3a2c45b131e5398c434ac6daff018e5b5e44b9cf1564cdbab39f407a334fe1f05ecf84f49cfee88836d1068012b4fac6b50f85f8b1a8c37a333028e38f719ee6445a9fcdf7bc0fabaeff32dea7e45d6e1c12003cec8dc5680be584ef2cb478b9988fd7484e8d374d825a95efa5163309eebaf962d0b8ead00b4b9e4791dd5c6bd26c085c96462f2e4d19cfef3a0a97cfdbceb8c6ac2b45aac1df4be4e6c775021c6730e88f86babd96bddeb0e36d0fc573c9ea9346d6a93bd096c8fce248b93dbb0ad00596788cfa6fc0635fc0d0778\n\n# tcId = 39\n# lonely sequence tag\nmsg = 313233343030\nresult = invalid\nsig = 90954e5cdd1888a510092205c3f66fa1cc9ebe82b14e80e0353ffd417876c69701801153402aaba503e98fe9020f54f717b0af8968fc2524a3081e709974ca8001dd93e52fe0d1782e3eba03a51d260582e4222937252e454ae7d5ac8ede7a4888ff826547350c594186126efac622a44e9731620a57cb73de7e29bbfd727c2dabb6a5f6cf3eb0dbe072990a8b8ead67b8a719e5734d7f4d96fd674c404491becb4b3ecddab7f872afa3326b7e18d47d3332f654793323e13b4d9d2f77871c7ab50ac4d76f57fce635da6656b1e09b3571b8e841835023b2226a4ba8cd0b95588b0827bdd4b6f45fd183100d327777c2bdc0a0d55f0e4e1760cdfa7a2b701f06c0c5800fb49bd48d57a077ac90f1726ce2ead834fa1bdf735b13fc234a07685537a5eb01ec44ff8dcf086d2de02007981bd2338bb2b455a1379d72ca8a552bab119692b9ae1f2851ae5e838c33d1d2255114cb3223edc18512cd41057b71c4185022c4765049089836d62020905faf3eb92ba80dd91db64e51a75dd4f206c140\n\n# tcId = 40\n# appending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 058742fca1521993d7e3bf04b3369a8cbdd505da63f7684ba9279dc8db6841342664a5d780dab0b87cde7b2dea6a0fe77ec1b723a47592ea932f895faf2d1e8dd8ab16228942a217db65d51c5cd29c05590ce9ddbf6f19111c9092e60e48ac5ff720e0f76cce93c6de41023033a902be28cd5c0203d06f589e7b63431dd741a3e227709e73793d0e2bbe0fd22dfbbbc1bfd8343dbdb8ec3614d771f1c58e107b567b81105546a3b2b54d3b56f8c5785d50f3cac892e03f7f879f22c80c4cef3faceb1038234e6bcdf2382d8565d3ef3ed668b05c64e08e0c7bec759ad77c6178161652b95142ff1bb1b3ef0d1738e444082f113a448e4aa7d3bd182ef8caaf6e2d07448ef5ca7cf7933690040d6d41b5d19378f41bb9cc7e659251bb63444c3983377bb01a176828dae9b255885bc0d872d33a0a257940f3b30b352986f201646efeec10796c6bc43031813f33634b6450a2d9a9d3d96ea95a6660caba876a0f311e4b083b25e2fa9f69e405e59fe81d337ef0b27996e76c816bfa84929b8a73\n\n# tcId = 41\n# appending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = bcf07d322c37a507d2288f6a079b037a6cfb1b5bbbe07de90c9a13b00d400f94a03c8101a2f9a4ea258e3d8ce167fd40e48e5ac42be2095302071f23596474e22d2b9fc20800c2cfceb3b92ba847717eeeb030e4304a5e1138976166ffd83467ae7790bcc4d0e1d093ff09b41b62cd389a612ff3b9204af9a24efee6ced39de96bffb1ad3636d7aba49f8deda056735afc848381546d9c2aeb0a72ed2602b4a619ab9a534186f8bbf5924618b49cbc35bb021e575c68ce5ccd886ad2d0c968292f2dcdd411826470b34717fc2853f52e10307136add9b68f7c79c56d992a08b461418781ce66311f8bc37abbb1dbd3551f924be3b1edfa7340267303cb48de616e7cfde59111dd1f91592f268b20581fd1936d8b3ace85cdf3e0d4cf55e170ac99de5bf5df69b851024858f8f3bcebf3f45d7831ccf72016877ac59ef49ed5d81112a2fbd9f97e40ff1e6f4cb42511dc246a75af9fff33bcde3ba9dfa3249a8df3c8429e700c1b3d701914802b5edebe909ef86b8f57b556da3b1f4e675711d9\n\n# tcId = 42\n# prepending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 7c6c491e6fe9fd16192b3baf32127f4f9f7dc21b1d2950e67006453f472cf4ba3fd7bcd7cf6f4fbff726b4d757bba414e1a848df8759a0ed67ac8275962c5e812a0e5ee123fc87a0bfbd9428e9f5fb0b484bc0e28b507606a71a5df14a02e968bef67e1a55f66bf54260e5563f8cb14d98ee2567a7653ab93050bc443f6cd857ad4e26e129350cf283ff7c6141ed0a5c5f9034c5e3a4a740ec1e80017c9f2806e87eb946fe7c2e322091632746788d9763a2c11563f871cdf0917ffbcaefa858e03503ea4ac73c6491ae12e9e32f67f217f903f6cff2b3f1beaea6d2fe4aa82dba43d07fc1cadf48f4891acdaf8e622edb0c8d7e0eb745e02f39e69efd6803105fc8413f16e891113272b1c3800b336867a1a303cf8b80527611fa2328c444d293287b226ca32172af6aa79f191811dcce404f5cfda1084e8b8cc8f26c875213ee3ff2d758f58db2e7eac571ab62d4095283083e5287e61623ea9b01be7b2ad31e887146f73ef3a1d70e86428b33db66de0a0e12d9b6960c00d9048b266958ac\n\n# tcId = 43\n# prepending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 43d99d627869bb5cb798be4db332583afc162875ef4200b10b0f019cb186a44894b511fb674ee02f4adb6e2d529ed86812e559797a7d60512747cc6a135dd708bc12f1acc01aaa6f6584a8f9c02351e23b77bdd2999b79660ee956e9bac5b98647068c0c6e1c5c5907f712b6993050abc872a217699ad5468cb420b90f5d74812e9d9af4e5a200212c01469799de9669f28d7b6e9726518a2c4fbe5fd1ec5ad66a1d472e8710fc5559b9e75d3aa625825886e9045c2c8019be254d2f11d3a55b9a3fb87f083a009a7a6634198fb9f4e6521d2706e3192e3e669fe201e60bd80574b5e8f66e8ea08740f3b0f0f3cb78ad90ddc95843e42bf4baac25adb2b57f667618ba7bd1c10b00c5ec14dfc3ff1f8f5c036ca7aa149f71e7560f1b1490baefb2b7d656fd6ed6e9115b9b59167a304ab7383e091c57f57e3bcf1ff57e3a4b99192b91f4297abbe9a5d94b6bac7fbc9a5bdb64657949ff0040ad276e2d9de21df2c02d68929a6c366ba3d0514b8b50ebb3224ca32ff88511d35e5ac6e51a28ca\n\n# tcId = 44\n# appending unused 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 544f8bc68d5fe49ca8188815dabf1c434ac7379a3796c5c78fea5fd2a9e36a71d50a194724f65cdd9c9562fbebd44f5ae3a690946fb6e528554f51353ccdc899c0c3f635bd83afd3429ea7cccef96f69cd6de7ff58ba4d22ba032bd0a113dbebaa780f149a47203a65973c27f0bf00c168382f2311de1e900253418c77d521d5c5838d4fedf6c3255d8c05051c396f0f6705cd511a94b19a96b043e3c4f95422cdce64c34767ff6373199ae1d3168b62ebc353b8c7e044f4a1ac36b1f692183729f8865d24966101ef047422c284cd9dae44f968b209cb1dc11c60cbe2880c3745862bc1c64899480ffd3229a551fa6e765f4c01731a978a1e2722f1fa0d7f235ef114523756848816cba51a561744355d5d484119faffb953f5ee9b32be692a09ae40bdd8860687197544c39535b196766e69ac8a05dc40c733a0d906d0f7735014810621a6d83a9e6234e6d2d9dc7b1417f8ff782c8f7c44c713dc9fe30757ff95cbcbd159f80fdfb86eae00bb8565d497aedbf3c4233c616ea852b60b199e\n\n# tcId = 45\n# appending unused 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 866c67760ebdc192e302d47ddb40a927392833cf3a3a3b9c33923600fa08443da118b47db980ea74bb73518382723e375fcd9baa773f3b022d37a4b0fdfc817edf2a4d9e71987e034cb5cd80caeb97881abc45e8e6b965941dab478d17039d98c989178daa541507b84df445655f1171431da75bbac810729f973cf8f3606529c89b036e046ad7265e4e15c7f18b319a3c870cbfb7953e069794978aeabd9c20d3b8a3b9a44b68b620196eb1817d70162b22078fc4a63921a7f35c5500de7ec0aefa27d93282ce80d2ccd42c2d3ef1212c10a833582b42be78c6e866e887b8ee329b883cb08f3e374ec5064f7d1b760b717976761a44eed64d12021e2fd58c9640398e616ad96ab2e56ac95e32421f7c577e00c35b1fc95f1825a0214cb49047ede981a0db76c18e7ef8a9628702ddb4e9d5dcfe55da36857c497b44d182761a7c185fff68f13684", + "6c698b5dc0753956209c2c0e0d247b815d711d49683e9386387e82f6b4ca232b653c365485efafa988e799ce681f3c7c37275391e56a3233\n\n# tcId = 46\n# appending null value to sequence\nmsg = 313233343030\nresult = invalid\nsig = 0767adfd75befa190f623ce2a00fd6c0dd2a8f1e53456489f8329a2ff6dfae00ec4dbd3156cb278c41c197bc80b260c9b8332d5f0d39fdeed33c772c45c17d3594bc37349a31a9ae58b4426860036680546c66d10d3d539ab377c2fd3ae25de99476f94187b895ef9384c7515aaf9b8d580eed7ed9273354eaba4ab57e4bc9b7b48529072dc691fd7e1a51a4164a795e2a3ccb2520cab25b8e78fa7ecfb057b05e8c056fbd407895e83cad14b6840ca773d6e6c8f2c3e7e34d77e3f746351562829a81e04450076c144176bf52c42189336313a71924964bdd34b207c9e69c424030e15e9f2daa50b4f162d2c872828606b12d71cc845e38149d76ce72cd11c33c46e837094b73905534cbe6ea9d9f84f74e9125a07c23dc32ff7535177eed47f979e7d98f62864ced2545a5e994eccce3c9ebab7c746f9a79eca3fa8523cafbe69b5fcadeafe8ccd00d91c1b0f12fc2868aeb19ba57863bea62391235eb35fa7924ba74b73bbd0929aa33862419982fae0389352840833e4c8442449a392105\n\n# tcId = 47\n# appending null value to sequence\nmsg = 313233343030\nresult = invalid\nsig = 1baf2ccfd98c3c37b60101bc5c8f3ef871937f3e4cd7a21fd765023f03437c3179e6fc9715d6ae00425c7838e5a5eaaf1effe9f7b591f588667a596c539326e8b7d8765d78bec33e057a25067209dd26e7a9d149b0e0a3ba13d7af57c436ab9bebd871a2cf4f88b26da4ac30d6aeed5e67b871eca23c2dc34d0685a7bb9ece53ec9e99228c0561578f39c269cdf19e8c98cbaa2731ba1faa1008fce7df30a1e5f26beabf6cf0716faafb81d1de203a1aae8f6ebab2b123697838b3c0896786fee11e2953667900a7ebd359bb81b340c0b9e4353af1091b008b5d5f8ecb64d75c574193aaf772be64ed106b374cb842ad62adf9c98461327f254f866bc28290b425a3ec9d8e17e126fe930d58fab0a5985d7844d85ada69803bc29026e5be9c9a9bfba5e4ae00c91afcd2901bfa399e459ba87bdef0577366b6a546b91a8bd858e33a3ead31ee07405199b9638f09848af52b21092a5690719c75b28f12b983712b2c79035eb727e928e81df39fec2d939510927e749c4833c02c12139f19447e\n\n# tcId = 48\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = c5dba54644047fe0d229d54710c0ed4f226380e4d1ac8aa865f3e8060ff6c5b3decff0836898d75b59d6e7a6bff092ced3782a8d46af8f3861eee72045a297b25edb181d1ef69c3ae0e69da6c04fc9286e2f919a531c44af2b2cab59a815f3c02f67a1a2d0b5ac5dc1d8a1fc7f6fd07ef6e3e5415987523d06a9a6a46a6e71f8892756fb18ad6307c22cf97075f6e3abe18992b55925d26dd2fd8227f34f992358736f22ec94ddf9b1401e901931e035fabe04abde7fc3e1b3aae5ea51d5e8c1e4cd6ae0adae1f0840a2c990109bd1fd39d6ad66cdf56b9759067c10d743f39ddf608c8fc7792c753cbadcf5ae6088bcb485c851025c5d7d0f28b099977d619b5b78c3ac9ae15c1fec85ce2ade0743c11bf7709e6e48823a9371e380a9fd0c06f2f7abf6177ebe017ae8d9c1008f04b93a8588848dc963cdcdc26ff6275a7680dc0e5039414d746decb067d058f767291cd1a0ea62850496460f75540ddda51171db09e45098833e2d67e53bb6f3ff7da92b48191c0d7b4b3161bec990359001\n\n# tcId = 49\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 1a9716b7cd0e7d9b2c348076459a9384544de7d52a597fda1d6227247028e21b910472a11e6f3924118a364936c895eb4c3ff4cc4064c43175a78f0b4de4464fa32c14c3593af96f262ddf302abcf7e6756b2a79b821dbb195640e8d30ce57d216b178a4a34415dad08f4cca150e39a901aa478d3f5fe4d4ab351d41a66df0e0677780f84becb4ba59655e211ee6f421685cd42616fbba2c7cc8cef92508b022e525195476fcff4357b79f292ef7e4fc754de490400364ff0969946c9c76366f17cc985aabe0fe6011e734d9dbfe6501a13dbb60daa4c78673a25d84565a1e13b7e981157576b8bd3e33ba750c9bb7b5eccc8f8fffc4ed817e2444425bb5b5d42a5d702d8b0cc093a57336d4becafcee90a65a35ef4800e0e0a5fab2018b1bb5ea153ca23ec59ba40d05b8a3df4cf807d934483fb0d8a2e7c174eb8c3f2efa7f82ac8a047d0b700134eac76a469d6f40e87d2ca2408642218f47e4359e697c62355813e7df722ef622659784406eb5ea26c1fe3c5b3e917b13a12363b20c5d17\n\n# tcId = 50\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 191593fff20301e6587a3e57b9228b77260edae7e376416eb8fd4d80b31a4e7326d0e59f3ad3e178e84936c66501a8fafe8f2f4c9e4ba138cd63991342eb5be66c4b6231e995d6dab798efe105f7133db0cfdebe8862b21c447a2acfa9626e4307a0c7ae0fc7f4de3c78f9ec480dc3756c4d2b8c2d748bce4a7865fcdfa5753d72f2b84b609af4c0039425a0b80ee4ebac04bece2e11725f9f766f93917f3822c94c8a186f4ff7855ed54da3a959ccbab54b7ec2a3f41073d5254a06ddd8a240a997e391b06b083dc4d9b3fe7feef65453f356c84492d3842e957ab113897ed874ae9c5ce061be8fac4da3228c0fddb7cabc89c8a2edbb3a1b3f78a8cb41810863f9b1ab8e0e2a6a2782045002d4bd07cbf0c6ce589dddac5878599be97cec0c04dc42594e2366493919c6306d1b2abb1c1279daaf85c90be4904b93064acc73a7d59eff8191e3d4d9e3a763dfdcbaea492741e2e17707285a9ab8d9aaf8d2d95cb4ee0bf1402297917ab025cbae8a201099c4c06ea7eaf0c6808d142057797b\n\n# tcId = 51\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 105aa4e5e08da8705bd94fda6efaecf22363716f59ec83d0d4fe1a40160276a6cbbaf1fbf3501ae445be06c9c04b541caf22b58357404eeed16093e3d295391732dbbc3eec7589f80c02a5f01dd2b371197b46ec2e45723f086d6e4a72efa11a609c7e528b04a519afee2d01453d8504fe4e039dea8f5fc1035918829b59940eb97f428910186d6569af61371736f3c3aa65913b4b0a585494d386cf83bf6eef442f9e763fa1f205e49a80c35c7906264d5d07012147b557d0f8f5728d1d533b578d0a8294defe7174c3838289ff2505dda63ca7a1d261b754555572fae41db05ea1f3994d4469d490fd9d251d4b53df0a7ee9f091657a717368c4275e3c3e1a2cfb05cb64cf22d1e7d9bcabd4c91da37aa73a05a2f2092b218c081217456aa69962d5660cda5393408cdf1d2c7fd1968bd1d3232bc5fb90041dbe707b63f082c8ee743cf3102792d4b1cc9650d5d9f6004a31b3b32e9613d3fabd94395b1a01026a33fe3a42db19100d3c0eda29b849ce420e4ac0c71fb9a610c730f27bb026\n\n# tcId = 52\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 396b9f59618e6b824e1ebc57b8f18a133b49d96bd3fa39c66bc4a206e79ee7984013a324dc41d00bc469285e8d255dacd178f106c9a37f11344e21a24275417ac29f2dbe14377d0feac8061fc24d5b178762700c60d6cb0a9d3896961daadddd11712c2c006eecf154b5b0a9fa5786106e8c12cea3e3968c42a165f640fa0bcd5bbb3734c55f57d14506169d7f805a4ec4e055f5ab2f1c0b0968b396119e2d64d8eb81cd0ab78e09790e33ae752e21b1b64dd5aca05259aba1c2014b390e84ff25f2dae3cc198a7ba5d9e4b104ac6a5466e1270a1631e6ffe777860eb63120f1fe8b3422a467a083463a133ba9db8bd18978ec559676f969e5e466ff2a8f0998bab5bde97bd4b759eb3b14b8171f0f5c19a2d590a344284b69d0b08729ed67824665701c360fabc9a48cca7591e8bc3b2300f1c76e4c6c13002f53b2fd5d45da382a63c1073cc6f4c43fd06bfd4d70104c4d5e2c74ae18a5dea531f5a6c2e9e23c381b1fb0fa1fab4fc94d662db842ff202d55f8cb0732628c6f15f824aab121\n\n# tcId = 53\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 82d26da118ac4ce272ad266f402323cfc25d45c885d8a8880e04a6ef52d7de7971b00ea0adb51768b31348f590bda5e41a8fff36939b59cd0012eccf474552ccbe2308db3b3910ea4856a290babe54fbdb1f482f524d3fe81d1037cccb5dfb6a570c898680f19af007abec62fa233f9396279d0c6f9e8f9bf87f7a7e088f9193febca5316f0f10e139fd010de1a37173ee90d2b35467b768625dc59ac028505b885934e55c2bda0a97f3def80a2e26f14a4f2f9ea4fffab807eb2670aedfc85c2f95f9898f7a07dc2295c4f91ce2b96134e92aa9e053dfc2cc012513e39788a6f0af4e14ca6eded4e8e7befa85d69e9c45b98ef9bf0a067e9fe8ba29314b2be334f4a5438ae4bae6ee85b6b9086bd3bc13838ad27f033208c834ddd3f48fcd9c556bd6a6ebd6ca625372ef84f6bd44dd0c24c0184b3815e893952bbc42fb790b472e89beb93338dfc23198551ac7257ccf7ad1ddd776c7eb620dd6e6d341dd0693dcd91cef175f1b3165cd7d99a2623c7607dec9d0eacc0b6c487ee1f90e4236\n\n# tcId = 54\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 02cfa2d1774246a4fa94a7f9142ac84270792fba20b09a47f0ddf702a41e671dda6690451937b0063ce2797c2146eb68d2e84c87211cd3f9e8d169579e88e522c98469ba814c5a0ee2f0f42386d44e07c8d447b77b04fe3799db3f2d7d20843027408a4f1f08a0eebdfec3c3ef81e8d9b4fec722a5782b2e2e920cb60b0cb8a28e7ab9b8c82ebf6dc25d439bdce586f4dbf41b01a2f777ddefb13fcd0e268aed975d5aa986cfff0403b0bc260bdbba4db2b51bf1f0dd88c54b0a7a6bcbf3ebc8840e751c6dbe405d6cbf94f12820c536700ba940a70a4ca8aea4c7690e33ab09c0d1fab7a962167e5a8fc51e4b07c82312b0c97e07d42bb2e2abdbb57442e9a8520b0085af7f3168077a842195a4e19c7fca15f2e7471caebfa80f949528d81b619632fb3345bb7bbccc825ae8bd20fe34474b70b7420fdc17317f711495040cbaf5ae21d7cb70b47a2997b794de3d9bf805d1dcb8104b50ea69429f3861e61b1a0dbeff7a03432f98a8d537a03b37ac38d9838a7c6a7ed0977f29f96b858ad0\n\n# tcId = 55\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 5efc66fac14f6c109e9a2e219bd3852b28cfaca26f3c26fc8777959dfea55c738c5c086e819377f8f4baceb66b4980de412c63fd5a1e329d13a14ffcfeaed1d89047dab579e243b3fd6b85f87069997aa7d07f71ef40250ae307b280f0db1c30a4a7c2411ef723746eab7045f973277a174068bb8bbbe69c0773ae9977a7f20e971d405bfa5f0f975b5acc17237e7341f0ead535ba863c61c155377c47d4bca280c6312c0fdcd76f52eabbca08b442e0eb629a44a0169c6c63e5e1c52c", + "f7e2c61dd29abb9142fa7c83439306c2c1f6cdc3257ad63d0a57ee0d5f41341acc7f452519353aed51d739ea9153bea1f6f029bc4eca33ae0511db90df1bcc780b3ceb6edf3213b0b2e20530d26bb6ba112aa6e1363da049d669266a956fa36e890464399fbc43baf7c8fd3d47ec6db5e1029bf6e603b8e1cf5ed9ddf6536bd8d6a7648af7fde533bd51cd8f9a6cc28779163947dbfecbd6f50917839b900e3fa37274d97a2049daede1525c145bfd1660d4577caad7888f5c84867c6fff30ee8356de\n\n# tcId = 56\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = a4e7378d2aba9bc6cebe5c8e5603fac9bce6e3c193c1675df95ab30904a149ac3f3d7a1312429cd63eec085f7392051a2bb883c0e078af0bdf29464bac2268a8139074ec53330722e1482b935fb57956214c7445d8a778686b624944bbeee7a608dd15ed277ba378f4e2dea04b33103e437f94404a09517f4327c80530a1f183e046756c166e526aeef53565cfe34122ec23312bfaed429369ccf08f52c2351e102f439751f26ebbd5423f9efb3da3d3da0edfcfee3b9607fd77dbbcd7546ca4df84905fdfafb469bcbd78d6cfe6e420993740b64e0846b5c0026990224cf3b5e1c325326376c5d6f3d1971365ff31498089482c7df06dd92f7952e0472bfd81a52b0fcb2058f5abdc70bd7d55e2d843821083bf6e8d13b3c11cb4fa420fc90721f226526ee677a8eff890b664e2a5aa5735db7e752b6c06218a1fac315d6f1cd6120a30fc46e8ac220a1bf2e6e4cea5f352ceca4ed4c5675ebfe68ab15da158a22fd044459a4aa9673a5fc078e7851170faf652c9791b665ebf62e16891b54a\n\n# tcId = 57\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 616a47c86dc9e2423c5678dc0ddb74cd9555f63c219caaf182f82cc0b47fc5505afb0405a693c4b45ed670e009908b6316d22692d89798521b477d45c913cd31042b8a0a52626e1727bc36878d1303c52ead0cd69c0e9711e8c5693ca3fcadd48e2641cd73e40eaa26fb7de1aa89f54228fe67cef381f52a571c054ec1b815e37d071054b08280e940735569f452dfea10d86e742ee8db6c52c696699b99b730bcae337f093418598bc4b648276b6a7f65130bf8bfa1b2b2c7893e408a6eadee77bab6c28aecaa0e3a200da9fd4a7d06ab00c38e7c0cd7e41f64dc43526fa28e5d9779730b41e90b6366fa7fd10055d76c95cb694d07c3dda1776fcc774c2b42eced3c82c9327d6865ce3c76b6666770b625eb49d6b7df9fb1eaa4867a8b13ec1d15af66bb5c37ad8ffcb7b059ebd9f198fa9388d706efbb20d7bd6f1a2d6a192e55c5adbca41fbf1f27c9afe7f94775c123cfb7f1b13a980e86b812f5a8a848b9bc76472c52f31f556c02eeb4b71e388c7cdde33b22bf4a5ebe1e9e10a08afe\n\n# tcId = 58\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = a158c783c6141376270cf0ab8f4c08e5a4534b576786e0249fee264afee8d92558a2cc1224422a5b33f1d0661fbd2891f72edf381f9b52aad268dfe82effc96bbca66f4eecc7abf2449aa3fb858ef5606299af5d477242cf91e54edbe042a766cf108731ad6b7b038f28a3534360906272027d2a83ae32cc0ef53c1a89e1372c50edf86b2f9f09f06e49e1072a5260cba1528e8607b8336286fee545e325f34568bb2867f3344a7fd53729da935589671d6ce956462b4729f8a1c97aad3380852760f1c16dc0f9fe9b9f64e7e0317e242cd777ecba0bcda61c19d6e21ce54f007da49e2ef35c10a0bf42ed8c522e6bebab94eeb5557df840c23739751e7cd05f02c52306827c71e14b6f8771e2d3af07670a7956eef491cc26a512a32c3a21a547925406184fe55882303c17c8bc2392cd44a77f3723dfb4c24936dc66b66da9c72a3ed5346ac14d31f5efd227b87faee10e5cd88a1ac73f67e5e6527752d55a12490afee5f500c4b12a28e2ab4ecb8928aa5c889f8aa9696e9d5116f748da8f\n\n# tcId = 59\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 0f442a9b1d7aaebd50a48a9f81623bed9a6e57a9aafb22f8cb6e56f28086ab3609a8c13f9f676451271325d453f9e3b31c0310a38e71f91ae90899ff610bbf474138a9e610cbdeaa52985446d873695e35d1de1c777efe02eab419d8f0fd5184c850112bfc8a271307f2a9997155383a85b80ac99f6031d94639a6603fa842f731c4920c7841228441136cc0b07ae11c4a07c28b3305ad2cf6a8594ddb6fa357f17a9fd7a72635323265a9a5eab8029215d21f2b3d2ea41350d031c93bf8d3ecc314d6ed13ed0517e12df45ade2f7a3cbdf0b17b220e83031ee06f4a670b47c7d5bda77c0da7f3df5278882049582faa073667a6270467d8b4c28b5930856ff55400aa1c7f7fb52d838d5e9508b8fd4211e130dced03a6996b9afb860c066a56a6d3e1f1f7fde8179adebaeffb2b8bb91b83b7c1c56a6dada297497b8d8de0069e31ea452c0fc4f820d769c12a744d22ed110fd99476a4524caeba7f766e1fd0e0ee01e91825bb5913c0e2f87497427d2687d776e2ca91055e38fcb6be3f843b\n\n# tcId = 60\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 6e317cb8fc092da3e09b63590743ba17426826083697bdd526f85d1ebf0270afc0fd89ad67762836567f36d2bfb52252a2a54ef9f753a4afbfe520e857a503385ab6c16df6d4e3494954912ecb31c514f6427b676a1c61c83ed38009693ebc39add66a1af1ac1834381df1144fe5f0444fc955334a2cff4aee6f3cdd3abe5dc54cc4ec25c5c66286e91d29a5c498872e7edbf3f4235bebb402dec4b91e629123e841dea66643f224c472f75caf31fbaf18943e7bbd09fdfa8dd908ae92631129b404f7414037d42b5914b532e7ff5a618876a550fdfb80289c5d635adbbc60e41ab577c59bb6895e2c4f02140b95a47dc327d5f414293b3577acb277427285f82dbfca53a4acbbe4497141efd0afea149a7c12b6c702fb9e48dc7dcb0d4ff1f96cb238d34e35fece1436b14592d3eee800641800dd9df1b9541435cb2ce933a0150498f9416446c95172a2116ffb58cf5f397f0d0af2e025e2951444d204291b1c04281c9242058b937b5d01f74b6cfa2d55d975c6622198c6cb271f289110d2\n\n# tcId = 61\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 41a99f4e616d19dbfec0e1e5ab8ab605ebd218c107176b2d90c58e41e01cd6f6950fe4a71c3b0ce81dcfd6f88b57e7345dcd466e43e3b5dce645ead38d0f5df81d307dc89ae059b3738b7900eda146f0ad965e67e760231ba58fe7e33d3f14fba66978e3eb7bc5dd6960b24ba2d59332760492961b5b81af6e37fc3065105915a4505fd239c79e6fa6cd8ba4bb585fe937d5d87955f659cbebd6bd9f0d0030e8a52341591fbd1624cd2236352e9e6bd91d7c121357a4af1184efd102fa911a7eb8d7dce098fbc02e34ec92d14ae333e502ab8bad7ffc275dc770913eee42a316b1fac871863e0f10899d72d0802bea9c07bf21b91050850547d6c8ff99ef52b1bddbd655352ef0fc4748c44d4bc4a4dc4ad3110b367e63620cf76139fff563a7c76a9b3a24cab86bede3568ef1524d476f8e39b9df374d1d2161167af5a00c61e0aea1bee56ae05ff1759e0826c4bb0b2058b5dc92a5c4dc865110bfa05506121ae58583179bd981100f42d1d89fd604db4f13db7ee6c49ecd381a546813b284\n\n# tcId = 62\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 9e64f806c7528a1cd1c8dd5b67ab67335b8f9a1ef1fba99afe67e9fb2cb11263c79dc422d51a68728464422307a0a445ac823d10021ab7789e6f701182f632786f77c23806b81324b5cd78e462c35e495532c2330a08e0e9ab7b44bc6dc5d99c70e052752a4718fff47d00c9b82c4dca22fe3302cec11026564288eda51b692f36fc23ab6b3a9091c332378be3582aa551c8471a9df5f9451291a1da952019788f461fc5262e822bf5d5e11f80b91fd8748bcd2d856e0bf7ee29333b627d6c44ec0ead86c0ab18f93ae9f29dc3a91562387a703b42a17cc4b7b310b6b6fc7d9bd7bdd907520dec948d2048d556dd6db3b0e5e95788d88d0d643c6336604d0b81fc996bb85d2b4993036635a15acab8dc486e061c8e2eab891daee57bf08563bc018401087ba854f300a97b9c5fd6c5a3915ffb240a577e7ed23c76fda89407be57aa7869db4c6e72fb69ae2af877f189992d99dc17a071894a2c6293ebc9e205ee3792c4da94de734b77c47b21c7a6572759126bdda03f4984bfeec0afd744d3\n\n# tcId = 63\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 71555a4df579d3970cc515fab9cd2775782e87a7eeb0cdf0fb9614db00ae74a78d495110577e29ba7d7ed8c2f71b8f476a87bc569aba9926c75811241b2a3525e6dbf3c339363b9d85511a89726ade496fb45fb476e0fbbd7bed7ac1fdc9e8948f622b2f2532cdc139fbd500f2807022739cc396023e09833f513caae70374296f6324e31f27b1f00978ad68a65a87f63e868f66589becdd34dcf732f7fb85a79a28975fad578cec2ff9f2b89fa7c03b03fcb14a0cf2cdc4d989b6131fd3ee11907f9405ded3963c2efb6c1bf79cd42335cfa143e108b8b9c2aa8f7d1e417c0fc7891456fd7ef72fc1d0d50affe882d0a31139df99a6366e7b5ca2cf5c11e7f50e2c52f91a36543c554e2e467185e0bb4fe29dda115c214c306dd450bd9c261aaa2844091796c2e8bec02b40c7876495b7b4d327c6ab19e1a0a90dce923ce8f8cd7cff7b6ddf59a011d821f2c86207b356d0badac5c1028b3b3727933f4fdad43c923495af16a23e913ccb998ba0975863dea15a42ddffff3f0b4f04a153372a\n\n# tcId = 64\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = a9ffef059db6395dcf691eff9ab53fdb762000fefdc58b964af85ddddbed15049cc8bb2eaed4aef8974bd3c9e65386f3a11effadc26a9f85f648bae5334d08ce23db566fcc8a6ddafb127dc95d4c3ba0d7b71546e1c010085d0e5c9e7f6d1f396b50c9fe712ca30e78dca2ffb58ac5fa5816702caea67b932f4b8669f2cd3a61a412c685d15678b2fcd982f3b8853ffc2efd841d59136501ba65707e9488fc0078bc03c318356968e7478ee3eba9aa0b186660f08b055cf025866db2d7162cf152c6caf4a3d68b5010ad9e9fb346e47cee9c95ca4dd5455211d0897ce239ab92a495cf2db2df2e1a3d8cd1039351984277ace1888b0194dde50d53cb9b05b28bd51939d95683160a9d7d36df412632ce7cd693fa89bace61a6a36347339d6e068f8a7d99f76b470f381553a1f901e5de43bdc8ebe32807670abed2d1d7cbfb212ce10fd5bd3769eea5c175f006aff33677b20383e61433f5b63da31404ae940675d3fc1c3cd39f56aa2cbb30efa646427614c2d61ee19e7d5b8ec5686a071b8b\n\n# tcId = 65\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = c3ee2d5e72370734429ea8efb80d949ad0f0281909af720183edc0f10c83699f8549fa7820631d084c812d37e17e37d656f2749721b90", + "db083ac0334b56a413399a92977b73fe292822433c1c97b2a176722259e9d19e28618dc7a42aa8585e9665b55f3ce00dfd28c7861eea80583fa99d68c8dbd5accddbfd8dc2f74b9205059637a5a09952b03ea2ec0bc2bdf8ad211e8cd6bd410337eae3331715f92391b631b5f1e2c339dba0cd6ccf9cbaf17c30346987236366ae14882046dacc32b676d84f4378c3f605eb81529c398882450f833969c8849c489934e0225cdb54ad6539f81e276f16004761361ac114581ab1fcb94bd05854687c8117c590683d7a49f7b5d2b80287cf47e001a7c11c74583ef2dcdd096bca5a38326f87e67d4ca1b5e36f88f0f0914ef5405d49349febbfea2ffd44932b7e5b12c7eb0b78c4de0accd9aac30612f6de12e710ca0d5c1db70cadd03e88198c07731995e4b5627dab808d82e2fb47a538323a65327f236c1fb192967fcea14f88c03beea4c31319fc2\n\n# tcId = 66\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = c67ba5369bf9eab5141829d0ba753245c885cf33ec6e9ce6751f2abfa172beb3db01ed0513f3b936b48619c64d6cf58cf8fb1a6b85e0771dd9450e3b4535740e7078a06c7a9afa4cc28ed0ffc695a0f9bc532594f0410987d5a308cd2a8607f231186247a89e8babbc6a2adcb71827535d11a95228c38790236ad2fc4de9fbee03c2b2d1ea809f60ac8ee770209e39b3260796bcd63187ded4e70efdbfd89606e9e85b13c26396261b3c907954bb0d7d8cfe2dfaf9a94ba6d54d98c082fba79d254592bbdc3e190c8dffd24d84e03da96eb0d291f5cedc2a9aec051be76dcc9841e6a2201323f79d9f18ddc42fd45bb64d62151a30d1111782a9ac4b8b5893145285eddc0eeda0768e1218a693a863ae2ee5a959e4249ed995f85f1a9f8692e19ab609fccb0a93e986786bd548f0bd70022b61bff520d19aeb97597f98034a5b78d6454e55e8f4caf4eb019d6aa00ff736f9a3105f9e75ced7a5e30882bb5945f71a7c8a401cfed0c07f0347d46cbdce7bc1e931c6b0d5c1488206e39dca2512\n\n# tcId = 67\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 004c3e2c6d82ddb5af78bbced9b7d3543f69deef0d7b0acc29652b13fbc2b0a256a733f8201b334918dc8354b3817d2cff4a2ca7d00b329ca88217f28087020528c6c30a75a1f82e0c3ef3e49d8335c1c354c31b31562dcc2f98e6b960e52452d0a37cef4ac21c41110070eed657f2ff30839976c98f38151fa55aae5780ab72fe2f5a254b4f83c8493001a598f2b57197fb3d5eaf439671b4d4a596f7c4a4537d5ba3937c9baa57623aeacf54cfdb708dff8aaf09a23d285ee0ae6aad50ada1f51c1ff5c5a6468f791cdd7619138c06855675da115043795517395716cc8c0d282f5aa5c46b92a2d1cf20c50ff7f69749277611a36f18271d2ad91ca371ab2e87aba74f83c37523b50419e5debd36e56452b39059a32823e3ac57929452052ceebbcf517a8733300ef3500ef4b08e4d2f6533ff3193e866dbfcfb2e841dfc133163ad3d7b605efb3a8c7715f0dcf1aaf848c4721f9c5de2c49e31e92cca767b0fd34d34c1bd1db1dde2edb1eedb119079a4cd25b0862a4b2447dba751e3f3cf\n\n# tcId = 68\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 80fc40a92375cf58a2730a709f08395c7f7a7577ef00c7c4730781b806afd5f69cc0c990012c62ac76cd4f860ecbd8b6f96c4e9a7828595bcb56861cac5a0a1d39040d96637a8628431641115a1f298c144e3e2bdb3b43f8edbf943ca9b1378f256da835a560b35fabb3d0bdfed894643daca246a6e22cd6089bcfe033329a3d18f5a27194cb8c915ba5763b44e51e5380ec4096f7cf5296db6c7ed57ef8b8812edaa10d9f12adca6dd83bec5bab1561e174226896a46d104c134b3c17c876856d54eed489d64c2121d68e48cb1da6357d9ab3128e25f16b1809288c35ae38c901ed6bd1b80961853c1d4e9a60273cc39656078abb4ca9e8afa057df58a5fa851a4dfaacac3631e2065fa8e2e423b4692dfc96a73faa7c2af3d89cf1e98dcf3e69c35dcf38847fad526eb56706ff4f9edc068be609417e60d169ede36e4a9301cdb58a408bd12eb37457f05af1f96e431241354e181f92f1199d2bb45681caf56ddd13542994fab6bdc2027775564b782cfa2cc31d305e7e70692a96182a71aa\n\n# tcId = 69\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 756428ea39f0895138538845d40ff1a8957b5c3e913e7b475198268e40efc604cfdfa189619f60f9dde5694932fe5419b666b10abd4adf096d6af10360e1c6937f3c0ef1e37e2af4faf064831ec44d1f581398121c29c1a4b3a056b20cad0fdcc99ad6f68a51e12717f72d2981038ba2b860f7347a435a69ff01cbacf8d4c66ef98959049bf90f6c78d2215e66b8453fd7de0c2d6ffef90fb003192d053046872fbef084fb1b104a37980c2604d61db8340254b37c8f4df3d5c1ddf6745a00274e7b826398e756d5ebaf19aca16a137a6a38e51612b580ca3fcfbc4d7eef58a743c8c7862135eed1926b4592071ceebb6133eadfd8ae270e1367f705f19b44e0232db2173a261dadb3c61aeeb9ab05dded16d95b6b0ac7815e9aef31314003949e19cd76ed5d7e57509057e6031cda36d17b1988479c2bf217e21a4865743452695415b70e905f836561f08e8df78c593e5a64efbb19b42929c4fc9d875a8769895f21b887b1780dc38937d0dc2efd10a14030e43ed63554b1ffac50b801de08\n\n# tcId = 70\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 579bb79622238ac1cbc0af03c3c0d1ccbaadbb29ad974f67b76d752b960df0928d364e33eb04fae281992aaa01fafcc0669eaf87791cb8a7142b597050afa58571f9fe78a93c647307ea0db9017e0c41a0ba712dc8871063bac01da6a3dae7d0c5bb5a40f633b45cd35213fdfccd296221a0275f3b552e56ef8c856f5bd96722ee3cd9799abf956dbcc0bde6bf65b1b2641658f04e063298cdab2029c8c0af0566878822737fa9d6cc48c175fccaf7e866d80e1e478d7568a3e67d39c3a14508711fadd84c3e7be8cc226a23368e9982138128628bbe97a3c572ee68606bf6427ee5b9862bebeaa4f6b08325241da15c9f223bd18b797e1d6e88b2b08a4cf95baadf4d684c8fcb7cd44711aaf203862ec79bd5f071247636623b88709f6686d6ef3178fcee04e2de0d661d92444f5cbf3216b07a5f6cdde0657b2d4596ed148255957b0a23e8f262b1ff628cbd7ec7e88267d100809ab5eea908aa05e11d823e794a0d1e4cfb82c76b0cf9affce1fa0fe370503accaaedcaec65d1ef3a696df0\n\n# tcId = 71\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 9a32e4a06f502fc0991ba84079044501b140af892bc3a3c46f9c41fa75c47745292de23fa60443adbd2e705ff47ebd1338771b157741c019c2187a2c8a08e06583a5e4d83aefb3146a6eae37ff79c499646116f2e457b9baff4543d2cb0c266fe0a6f75218a0f565c78904777fd63e1958320f084c9abd89056d118a269c11e00f199782353950c005316cd87058ed794235fb0997fccd6c17c7cf9d5784cf8cdbbbafb96d6111824e658c3bf574d123f6dfaa1ddf77f093ded9e636f5b921ba9b205667e3914932407aac17813457ba75e9f4380ba08eebb8abf5ebd281fcf5b2e5d138585651f25c1ca7194edead3507d6e69467013512b679dcd9ce400c66c1f3c0a600c9d0f6c33a56c366e56c1e413433f904eab089075ee9396650849d70faa450c1695400b2f88d42818ac212a13fd9bc2f6926e2ce92d7394f8627b4ebd27b8d45e179ad927099e3bb5e71cfe6ce275b65db98ec4fcdea0b43e2dcde6601f0a1c54de549ebb03d98d1b361be9239fe8dba8dae94cf9d1bae5c51007b\n\n# tcId = 72\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = b5efca28b066937c2cab27c339106a0f40139a1e1a5b6d66ec3a76abb62824c06a3e4dff6bc0dd204610fdf386e1ce13c87159f4aa0e88f1c29d07b1320217347c52e58c57ccff23c01c2039c2a385625072f974b690aed9cc5f6341c33dcd2aaca6c260d5945d49c5963c4fec651423c765c973e457ea2ef33eb57b4b4eb88f0ffb66789303c725e3db8b76e4eecec73c5a466b25745ebc00dc347d33a71f787e7723358270d0e258719093736f72182ef5cf2c4f513fe648531d755d6e945b3c44843978ab009b0b6809bb0db6794a4bb2311991b1493fc15226c15739e2b3d621cbbeeb891286d747dbc71a7c9cf06b51442c8086d839f52d73a072647832309b59edb37522dc61a97a31b7bf3c63980060304fc647c5743687c15389f4d996e38c83bd9e631c3bae53c1ac35486e9348b730f066069bce7e840f1b83d5215a52284972f2258576e608c35c4521d87e9e52cc1f4f284674f1269730bafd4f5727ac61d9d179302c99ccdd4d9e024578803ae6e9fb76ab5f74c23d234313c5\n\n# tcId = 73\n# truncated length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 0e5130e5c5145ff0822edeead396c87963494102b8a4a0e38d9f55c1e698d677e5fca1375cf5e027024966ee4fa8e2d8b4f25cc2ae8cbe49050bd675f39be5931ddcce426e1977576f60c6b79174a763f57395890026d762df6c8db0f79f02227196606256ef9af7f6a211b38cb1aa0c2af9be830e8bfa9d30169381a22b74f138939081a5261f3b277f01aabffc2dd3af713b3cf11bf772d69d157d7ed34c2ee7682745129cc7c45881e00a235c5103c09ab3719bf56f22cf29c4e962cf7bf4f633e01dd3e49fbdbb019cf2b56475fca8007fca63202e02dda6866bad778538e459e7df0bcd234abf919b5e6713a68a9981227f8d3ad204d077bf2d70117ac606e03caaeab26d8ff04c3583967a77c63a3a7cbf3d820d650d56c76d31c71173e9577d238f1ec9bff8faa48f3ca49f531b38eea21b192435e0b0138f83b54635e07c12ad6d7f06b5ef51bf5c21083e9170e86189a47f9907a9622201cf3c689b62373f94c540206c8600ba48a049210f1ecf93757d22a70c88402a17ca6a94ea\n\n# tcId = 74\n# truncated length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 00eff78b2945917f92e9ba0847516157ed33cc85c64bd1f5bcdcbd62c3906c5b77b247c892536b115e6bb03ae3e692bfe94c9d6b58ae0627bb96bcc53a85975d2929bc930cda5308f8dc797d0b0d6a5f4ab5a36e096fa4e934a7854355c1562553738099640c3ba675399a9d386b6a9c61854d00f7b6fa5998bcd05191a9001987f9621d1469c9b094d72590d76dfdfaf9b9f52f4f8d28315ee6fc22550e5feeba3a41f223dc9284d26955247fbebede5a3d643b4308843165f658ea0887a9661b26a707d22f5a827f33b2a60eecac67e9c730983810952247fb903e62317d835d9cf6140559941c3cc5ee7333ebc4bf43d036983d0cd3a3dc2330062f22933c295b05e6680ad053e8f64898151c72680f4ce8af1583fbd2f730f7d63e6d00a3e6991f809909b6cc8843ffb25016701fafbd6393e65289106cca59f73b", + "ba012b0bfe29aefb4a2f458b52d4736add4c2732c7ab1264a33b9074153b5699dc5e9566882a29efad79309fab974fc32b96750f411e62ef0acde9f9bdfbc8ae78ceb8\n\n# tcId = 75\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 8d636450d02664f8fd18ca58d208b87ae5efab968fee42eb399f09ef0f3e6dc0ffa4217fa262d1c2cb488ef9625895018abb27feabca718268ff274a84358336375949bfadb21584dd59410c48968ed76b0f5b60e01adb37048416f1360f997d99477f0a18b367f91d68117aa9a0fc229cbf0198ee2f69493330dde8156a265e660f9169d874df428bbce40f00a366a5d6df2bfba9fd6f78da60155af0a5f72bb971fbcd64e144146e037bfeab5692b740bd61c28ccb5fb330bf5f10e595692608881ec857bfef1fdb94a1c4ba63e50ae0dcaf2de94bf50c7fc5d8efe099a51785aa42638d07cc0c23f796bf55d6032fa3027afa5b8d6072aebbb56546f15addebd36495830d7c08ce99533343e182e7d08031b95e50f729f5dde2d276a1be47e93d66ae45547fcd6e90c9a5141439c5a5d3b4000ce58e38ba4809657a622d9d659de3eaac858b6e8e34d16997a2fceaf43a9a733dc67f272f3bcbe560a75542784b7a16cebde20bbd90218466b5501b1f7299de1d9874f682fa0bfd41d6d54f\n\n# tcId = 76\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 633e28886ac6e7c2c36a69e3c1d6d46caec4d115e852c8030ece2c5ae1489fbd795affa8478b23f484b22baac6d1571f6f2f33f36fd28c66cf9b2c963f051cbbbcf5c33764bf54867a757f6c74bf6574e3b7778eae92b55495bde44a9def4d1a31fc8dc783d60cc23d1e6ca973ec0832d6979e56a42269d6fecb6bffc3eefa36e2c340f89311a89902b40d2179e25df9c841993f245fd644b0bb65e5394beb84b1544fe878b165f2f6bf49b77f8ca4337c60be4a89bf7840dc642da1937f9a933276320d0488bb6cf4535e68cc4a558c95fddf04c65400500fa580b476dc53d60fc33ebd06191ce23ac289c7850a9f6c96caeb68732bbb028f10c496364e673236e55d54eb6b187d6905c9b894b7222b68d90b82da7bf29d1c0ff5a2aa552ca13dd49a9f50d7e69ad40cee65ec7ad140642002e75c3c6cd55d5892528d2503b33debd4be946a3c48d7ba46abc96ce2e79396116c329ce4e967ca28ebd56712fd6a9de4ce1a5ed00df621d18713d508f6f1fb959e2ce8ca9f8eec2e3a5a80c771\n\n# tcId = 77\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 4f7025ce36f71e0b1c0a4659ddd25396a83e4911287700bf27f72ee19f8990235af6d6f33f3b3d3f7d400370a914de2ff23af964e4eef9c8a1b15a63d38935698ff70b7c2d2d2d34cb8bc82133d70fc1fc3c19d9f47f0fe463393b60a61fc19d49f84385836278bffd710a7ae72005821718d42b2f195b6a3bb5b1b6862443a84d6a4ae04449b6bb6b4347fa14fbb4ed802cfba5dd00aba3e5e1fff2143db0acd4e50bb9951460b1e6ae5608ab642780706522e971aa350b13390df5aec8585c3b4c2bff9b64c5950357fa6c91f88e981882c52a8d93f156718af5c91c7009b3f57ffaf98d9e280ed51148d5b2d0b57495276fdd8a5fe0885ce37426760789e671b4cbf64e2e21b6fe4a1fd3f538675fbbffe51d8cce7b74c9bb9c25e9caa84b88161630a8afa49265d172e68ad42836f6b9b619fe32a1b84734ae58f09a0d8c8a5f3181a5130a503306bcc2535b0cb325c060afe57e29c7346a5489f9dee3206d8eea75e07514ca3ec547c816d88a4e5ce4b7e4a61b3488d2c13eaf62204766\n\n# tcId = 78\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 90db572ad2c25dd02aee6f8e0ddd5d42f5434b9b59f0bc7057abda8924c2a061404f345b9ed3e2fd0486fe34e2be725bd9446f031071c4ec13772fe468ab4961623d16469a5b9577683f20035caf524d557291b700a6903dd6c472b50cd09455779289b990e86ed6f7135af290b320957c93db1a34bd66289b5304828a71d2928fdbbc3a90af3884fa2f710455d2e909422e66aaa1c01565fb67367223f2bf30661ac72b9c6a84fbf977927a86611514c0c387371cd94bb703f2325e3a11cf83cbc6727b5bd49f6fb31b7238c1a464b22ef6c5db0dd2d5039ab3d5a4a7b1ea01cae494c5dafa48b73a411c982389abe5fb2de35d6abd5d9dc33e7703f67d58feda3a17fb6e9ce3200f44fc614638f7931099f13bc175164d9d68e2a4d38f2c12224fe136fba4e7fca1fbfe3344afd2f52d8812624a1af39c4f128e1c9c1eeccc0ada519f27b694fd982ffb6467f791461a2b803cbd298a4467cecaf274f855583ddcf470092f642edc79b23eecdf4067169a2ee72ae95c93e3ee5d23ec407185\n\n# tcId = 79\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = a2f7d989b2b509b4d774f5de9acf12e5eaab05684edeae1eb42dc090356e58b8e15a32d8fa313252633a8356476327d32915c52449aac56fefc012929988fa5cfbda0d04d81392eb35ea340dfe449511f5fdab774f7e659ca0a8c91911a255d828e00d93d64638f805d63cc926c17804cf1d857c40be5d10318fe06bc311a66329128bd1102756da5da819afaed6ec6864287c44952244e4a8fbf98a90ada98bc1b5519cb81173b64357ce82f29ff16e5d76a929d4b7db51d9f3a7f4c91491dbc6a0550bcaf5fd37646bd8f71ef459540ae8eba668723a81b941939540d92c4a7f9cb0543dba1cb7969c4d644c8f15bfc13aae4a778a81b27b82903dd223ba4d5d5c157a35371ea1443788d973d953318b204f232cd5c53a9a2517d571cafb62d3378655dcde55f46597295c89bf882041ba6f4352a88dd7c1748761728a2d8dd628433855364024d42a0097346443459b840415b5a56934ea476c5f9de84419d564e493c594a9049352ea82700b1767d75244ef84ae2c8a3d5b1853a0ad08a4\n\n# tcId = 80\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 5c662670149791048df0ad6c95a119bfae057011d7155851087c0085b901dcd6e95252391f9661159f909def924cc165b140f02db3863ebaeca40b57ad68cd77459ad258b892c090de55b93cb48bed9a96b5ef294e9c73325e4aa595431e780058a392c0b9d512e3731509fd537df0378caba38c3e20d17e3f8c4047181becf3a505acfca94a961cc6d952b387175e8e4274b81acb168f63df180210752fcc72dce93ee2e23333e547f4561ffaac06597757712ba8ce776f0a2c714c40be54b562ad693d631aa1c3a840c8749c833401e73dd05a9592a477dc43e52d140af0b2841a14b945a10bbc5e4d4f47dfda159646ef1d49d39054550dfd188203585d0201c33a42afae62aebccb463e3d2dd8748b8db65a3f5aa3ce7a1b227139041bc805b7a71144510abadff548318f9a76d8a7f64eb9d269f7739319e9a3da728d001e29628ee1366f53b752f7354055ae2e511a6d9fff4c9b1caacba36be1bde8fbfd0a4274145ef6f122cc203fcad66d8f51e97b0f8f25a08ea8c9860849940fe4\n\n# tcId = 81\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 30596e00b2ad31f266f2b47b598029146aba9d0cf372b4eccdc5fc9f475c36567e6a159a454b417c77b7bc576721c52f64a31204279d524409434b73de9ae4d819390c3124ccffa5b4aafa135fa753e71c1b3b3f05ead6e6899277d0e994ce6111f61f2464155f539b8871ad0167a30c234e0541b1f39def8deb531ed476d81418218c682dbbbc0f4c3cdfd674c5e7a7bd057eee05a9f1b8b796260380e38631303d227cd9df7e76fe9cc161f8db2d9db7306834b67ecc33ff91b3c59f35f789a65b6f1433f1cffd69545a146fcddbd047a847f55acf4adc9be2f2595faeadcfe39127edeaa9a1144a5a726edeb7b1a48fa900881b157f7f3516f47dc0c108630cfc9304a2acf821a93a867b063217db60c0514143eb53557ec8f86eb8a83a83219f8c3310baa122b79d49d48bff90492acd83de8c3b9d5f07cb2d061b243d813cb1be42c658e2ed52a9b31ef07360df5945406e7c81a80337169fedf5ea76b25a69a1900a673b648831745f3b04815df9ed7d71acde44fe36aec0a85a7d6ec5\n\n# tcId = 82\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 23bbc7627ae0069673b6de161c79fc721fa169d7719400aaf7d60d53773649bbe5cbeb4ec3b553dbab1b0cfe63142d21ad3a46ee475b7b50ee617e6f58aeb6942b0793b94ea0dee9347ba233b05895b457d478449787cab04fd0c4b01e025088884272bf060a82405172d8da5e0b4e070c61af641d311885519215b0fbc4947097c765e87ee46a4a642bc44b7212bb8b64a2cffaec496ae139c248f6b00f203de256adb345be3f46c11bed0811bab43961e9d78646cf14be18b891552998782a413b6adf9829bc47926178ca118ae0722af0aaf6694d5aa64bf970d530f71e309319dc43f2077fc66afa48365d90061c0e1696ecd2ec29a15007bbb47278641b27e10a28b60e4e7405fbe5a05e5ffb8c0a52472ed51330f169440dd10d828f1830a23dade9fef0c4a2373eae849977e1cd15054e4ff004b9daf6ce8fe8010f9102d09bb4b18ed4e30cc9c3dae2629650e00f139eb433138fb49e2a896dea8a13253282d8e42c1dc42d490b719373b3c723b8c991566474257e96fcd0027808a5\n\n# tcId = 83\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 37a98cbe608f10cdefb4d787a23681902d7a3a02837438ffcc778091a12dc473aa6cd38d7abe75c362a877456e4b29db13659b4f3d9bb1ef73e0cab33ec2b11d06782ae4ca0a13d15f8856223abe0131f5ec5437b2b001e4f5903a78afd4c46d6a47af171271f3a4cf267b0afec0a1f368a789f4c03193e2f365fe6c0b8dcce1b2f1e6f1e0cbd7c6f1a98a8ab747bbd27485aa61ac84e837a95a178efba0b23725c53f00c94b3cee6831f4d000ecfe84af2a63f341e7bfc2cef7f5654d253654139245c4205c0b2418e8de35da690a8884507134a0b2f0bb9d20eb8f39fb134adbf171f1a8edb4e1489671005f8474708708d1a627d22c76b8ed0993a9c16a6b635fc090e3b38b96f37b28ec44089b17173647eae6ac4439bac2019ae8b928d094665aed8ba0ff89c308097b1e7ba74fd2579f1c21f63296712cf4f5405cf0f3eb60ae1600a5b8d717a09ed23034368c9739ef2f880c659bbfe855f809adbe231ef20d0eb6300f2b6ff02e9f3666876971a9d41f8f0f8fe954f00bf52c0ce013\n\n# tcId = 84\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 2c269aac4605a5e25a660071fba9f97d4b9e4c0f0d2e567459e5620884f889cbfb33ea6094feb6d2817747859f8c203c548d5bda97821c3b6744711ed3f0bf02954ef75ad6b9afcb6872273f1c164ba168db9a8bd72d715bef221420491ab6b67d5f", + "4847743770ed4136280bda363c1fcc2f35ddadd1be3093eede6922cb95e3e206d02d98e91194a7fd39c304c848c1731e1f90e8a9433db71d94e7d76d7b5f2fdabfe20e8e1ac7deb56f81331fedd7a7e9ace76887dba2fcd72ebd2017f5bb85de1cd309b3b7f7fbb9d8901f61bf8992fd9a63f861e8054c9d4fc1472786d6efec3cf4bd1543116e2bf36698de85a6a3c17c200c73001b3218e72b8bd515f9f96d9ced500a1c6da4c0173f35ba24ee746e51cfc3ef00ce60441031bdcc2742d981833006bc05a513f1cf67d6a9e59ad4acc029995608fd05b744d48be829148552e13c7c76450f30b5acd4fab819a71c158c82d587fa7e839c3959a8150395f567387024f7b786006ec0b1f6960d3b5de347742eda16bc76e3359becd2e184\n\n# tcId = 85\n# Replacing sequence with NULL\nmsg = 313233343030\nresult = invalid\nsig = a2009e307ff24560348c7d796e1d69c5726c8389eb26423ce21cdb701623343a25d2a4841f994f3933fa82242f9d525464e3b6c770584567dd8bff3ae75f22f94139a9ba2612063e8117a23adbf72fb8c425aec994219c16d42299682eeffce61f4a0663d173980066009d542f09fe1186a28698109e0d5ec28ee2848e0a91185b492e53f67123c3f6d81826a943c60cd888e7d332310838f306913e3321c5ca89794f27a0ed36c697abcf665be1253637cf2226d7591884a9e7636b8f49972df71dabb14b6a4cfc4b4689e3c37869043bc0d802fb906a902a24b4445ada3b51f7661cff461c4b7b5a59c1974a8fda528039006f1a860eef799f15f606ec8fc23a20d4b80c01a639d34b9de0eaaef84855082e443f9a85964766473326d6ab6bf49f198c62269356e28eb920f858f3695cdcd77f3fb513121470c64c25f305a00977d0d61ab75143bac7eb57d9c99c8d51ddeefc41e3929f35da3dd544f55d878a9abdc0ead983a08d3d35d54b2afd653f61ddecfbbd936dc6d9721a959aac0c\n\n# tcId = 86\n# Replacing sequence with NULL\nmsg = 313233343030\nresult = invalid\nsig = 8431b3c74190f8c0086d779639fed56544ad0fc422dabb1b5dbb600a7021a2e25fd9e69ef305d0a3da9af97e24ecefc11f515412edcc6a6685b3c4e8c251386a7728e3add07ccee395a851e5c1330fdd05c033269fe7a52df15a1e81764facb46718ddf598a83943d35716e3fe1f216b2e17075fde3751148290040a56535eba7e5d05ce7738d2fc7f6e8450bec68a0a35a5cbe8aa3ca0adca3886bcde8649fe491c4629be8a1b8eca64cdb226eb6a0e32397a7e0dffca2fe7b27b99754a428ba300cd62d0ee228e925d96418e75138f56d7219198d04dd7713c8e8d606d7a9bfa9f1b9d731ab9e0ec8553d1515a32994ef29f2d2e9c1ce8a32ebf8d970121655810b1afcb96fbfa0495c39b759921624498acdfc8d9abe95a0693e04ff6eaf8939e4961c32b86f3a5af479d294d6dbd01f90437cf6f830db644ad9466262333829fc2243ed32ca9fb08b9b56633bacc450d86af6b4733034ab987db01a118c5c41b9b792a83be1b4e068216cb642b11075a43efe7e3a81f0872c4481ad696eb\n\n# tcId = 87\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 421b2b4795661bf967bf5e679f69d06c0fb9a02192d839a440d364533de5c3f620f8531a68603119ec4045391c8f3ed297ba295bc1215d4c4f0f315a73b338f31547c110d4fa1e3deb385eeccc2d57e03c0f6309f6c3c28e4d837d22787bc0b6d626201da55b605f4e8522ef75b92dd1d6dfa0a177b0e666f04fd211b713fce8b2fdd96bfd4c07e64e4b8253289e400da12fd99c2c0620395208b7f2d04a2eb696f9992b0b0485e3147c5b18aba35c8a90d10b0429f3fec71e59d019f270a5e0cb0fe0b5eef004461b5c6286f33ccda3ef358d99784500084cfb5c9d3ed8e1c5327c4ce81eb1ca34390ff613807f5a24e0428eb48c97900fe9c3dd68d201a1d2a55a20174adbed47e53a0d0f032acd4d65978c8afb55487af30439bb2f151e343a47b2ca3b5e082ea741e375885377a2e3769c712f4d4144d80c2a6f2b1f0fe41e9fdf9bb43d7370332ca51bb2f1325f4d1aefcb5dbc42614f9cf11a4ac72eaa350a9c2222a6e2d82f6aa29df12b33979fff1ea265fc2a5055600b9f96c8688f\n\n# tcId = 88\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 365aaed072b2d0e5135c82f25944292872f60ed39152eb19045b209140a4a74fb2074037dce30d674e0fbc8e98011ac681204429d9a5ebb8fc3bf20ec70e6b53cfa45b259d4f1312354dd5a00bc2ecf4e99b4434212f92bff2b99c94a08a1327fb45dd3367779a12d8dba9ca846b85c6216add315fe0b17240fb021bf61970446339dc93ed53cf1c57242eb4aaf798a1b8010e9471f78b6f0cfd7a628ace627bc64a4c6d853af0d7ff00500b8c682238eb37f59972ff87a9be9eccf69115475ff45ed6daf9d462e09ccba899315b5dd59a3cd5c3ebface31f99854e0475fd76cc7c191ec3f13ed7933663b3902b0cf7ce7696cc9ec28c13df6b9cbe9182980f7dbf7ebb603274a56871de960a52bb5835f4db71558876202b8d9c4edaa35df599f1c6dd105dffcb077a7ad8f7748c58d6131546694bfdf97a645ecbe3829dbd2da1263556a3d29e92a810337c8c1050686ae880314b3e808abad278c48655708bcd2d711cd93f446911a2b323881c98ac389582fe0a9601096911a8ab0dd8669\n\n# tcId = 89\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 24a95969a4ff4982bfa2021ee1ee009d2e4ce995e6938fb48ce35041842bb516ce21f5630264f3f7140e3135ea5d01eb0ea6aa6c3b85ea5f64f1de1de246bd6dbafac9cb0a8a0003c02e5eb68714d569c8036bd604aa7bc604999a85cd3caa209ccb12dee3b89dde2c9bb74f0dac1458399cacc7e4ce538dc3a5b54c5bf7d3132430110089d5b4731dc91c2711dbe0b46b97ad7ecc948cf5881c1473f5b6540ac62963357680f1b12a09a21a957b512126c7457b0635c185d36090696c313e8cdbdb92ddea8b8621d1a640bb2636be15180595e6373c04ec38f981f05c6e255a327d9abc3b3bc04680e277e593b04d8d89963bbf83574a5fb63b4aa1d06de63e4077e8f9242e886014109c3360be74dbdff64af766224aabbec9c0c0a2ca79ce12765cc8334bebdd1355164ff636e24432c042443371f9d7a4ac66658dcbcb001934ea8b896c0bfcd7e5ce140ae265d253180c72fc9fd05b4dce2b6b664b1c9852bf84eac06ce5d237f242fd2cc6d61a870691df8e9b5b0cbde491edf3c8861e\n\n# tcId = 90\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 2bde28ddbc4e84009a9c98c71f5e2b7ef6622d0283889c94a31b25074e8fc2068aa26e4ff0057de239b4588d0421b8351f8473eb2e66c4a2ea28a4ef81613b5216059b35c2aa990c7cd398f1edb7c93723a3ab489f7a91242977969c19a2e9bd421ce79eff960a06c52f05c251d1e8a1d4e3c799ed70948a6ea35f396f6d83dcf8e1c59604730e0d90c2704a9aaa2dbcad25c9c3c559a73b7092a016e6761a65d41b878a5c717ba63344cb1adc247a92d377345cdfc24b652516de0123232d3b0092cd3f5d540b66bcdc024a728d781536ceb7e41fd80622441feebe4fcaa6931c54d67dd28dc664df83e3ea2eed769e24ef7b7ee9f95f36b31984924318d506635f31efd096aebc8a3c04d6d09aecec36484012b5a5793a2405458a250897d246a5829ed7d99bf1638fb5225cea2d0a351fe08aaaa8ee724a824f2b6ddcd69221f4a992ea5edaab8969369f869810b4973cf65adf4529f68d1c0fbab24fd1e80a03b71ddf702418d3452a27b95752a0f86053d29b63b1880911f657e4fab978\n\n# tcId = 91\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 88258637f7eb07cce4e8cd05cf23340e796bc7e067ec5e74bd031a7b870e87a40597be7ffa8eb135297f6c4e4e19dbfbccc49a23b5a7903d1c8cf979a4e0b181cef1c48a7ecc5adb8fb614415f9cc727d2985b0eccd51f72b714f2ee8a1632b36791a29e68b88a8f482b24e0596ee8c9d4c504aef0820cce5f5a71ee3c236931aea720ed6917ea7b41d13b50f909fa21f07e9cd9f79454a3a1996cd5a35bb92b4a1b1537afa65c9bb67091f340b47f3726407b95e68ebe8d4aae735c7802b559179c64da8385e72628f29aa4e4634777e6b7138f6206c79765dfcc066c034977118255f8c82c66425b5cbec3cf65f952f0f4daedfc2acc204df23a707a77e479d33da4db067608f075e29e4fcc3600819881463f071c0b879251c0b83ea5938761d7d63688006e2597eea88997aef9aaad009ab9cf54b4390eb808b09047a759224835e7c282b301b09007a15ed23e93a33e25079b5079089428607453ed25ec639a513311320dcdfbcbda5fd0f47f6035f0c995a7ce980ea7b2e74a4ea3b9d4\n\n# tcId = 92\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 7bcd19e6ea965e860485b4a886d032b2d79971241ca2c512b781822dba95d8db8ad9ff4586e9f238c885e464d8e67f291263ab6481e93544904da7abe00cf7d312077447c7b0e5026114bb732191a06beeaff6a05986a02919264396b8f0ed1eb9bdff5f2888d63d3d66515f30665c9963e13e914feabd50923f674c31091d71b2d01328c07af2d9c4da3d41942020e179420f3d6d8265ca1555db51aaaf281ea92b0b5b9f8deb982723825cae17a877e6f0544d4fe48f8fe3db3a7018691bdc39ea7021ce4d2c052265b33a1a0cefe72392a52086f673a10dfa7240d88001a4053bf376bef41881c27510edb203ca07d8fde2955eff7bec85e9a44794c0fa757e385c376e6be063eb90c23a526f4fe4b5a3caff01ec148bd725ac6ccd8cbacd0b336185c3d98804bbf06626bed831afbaf3c106a847fb72a60e39b192940c898020137a291c656219c322cadfee3100cc988b98da6d203be161945e4d95d455cf73b28eccf5d6f9c36516b1b8a1dd57531d8bb943f3b50d04970b0c114a2a86\n\n# tcId = 93\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 43f62292e9039df3d1160af93dbfbb2963efa6dc905aa967bc765415a74fe4a95612b53866c56c6ba42eeb76aec0a5afaefb24ac7a4eae23cf439918750b2496579c33806d9f60bdec575473371c96ac56de3b1df2d00036ea9166341720d4e164a9bbad13eac4f9364882772a20630e2b067f7d12ae3b02385a638ee562570d4b4913cf6d1f9ec6c36f724c545ffe7e0964d57531925a9de4a58511674f6ce271cbae8fe4d2502bcf5feeebe44aa6a6a6757eb3709b139569b40c019dbf0667d0e23d7a4f93075ea68a303df9aa58b02302d753089fcf6628c318a80815dd3034e5c67cfb88cf678ba1134e7aa722452c0da20328aedf3520939afe9dec999691dc3411f75815f568e3b03b8f8e3c08d99b958fc6e463fc512c44e583f869c9154d630ededfc507dccd68401ed8b37dc3f8c529936d5ce94e6e6ee06115c3d39ccd85e86ec0c27087a82774f05a031677bd5f8", + "d5440dde337b860f00deb788bc9e81531bf7a9492ec4af8ce04f3c94c6746f8fabaf9b7be9e089ba956779d9d\n\n# tcId = 94\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 73d4d40da6efbc72e01d95c3504c95737fc2e401ea73dcbc56b2f1f784b54d0c4587877137abdc84d67383ab0453f69381df09fde92edbb90fdac2b54451d76f00b5c553949ce6e39b86cd5a5fb555f231a1dabf895ef9b7c905ed9b92e333c0af57437662ede62093dbf6c43a8482706853c0025fc724ee13d17d6f052564550140c52cd5f52d98622e02da82ebca62423270dfe18333a9f202b9f6aeaa84bce014c8ff323be51327ba1a7897911df7172b819307bcf09069a3fc1559335e7fdf06f082dffbac70a973d70e5f4210c91744083d5113b510fe721650b3be52bd003b30372d56fd3268bf6aa0461af41c05cbec350f771eae198ef315c60c08dae19b0f31d3ddeaa144cf9940265660c34cc579b4b825616aa3d234d600248645d778a789d7275166cae5cbccc14c3d81c26596e5b236838ce6cf701b106e584d96b1bf40a75398763128d0a748e8f0548ad1d810a00e961a88db49898baeff2ccce4d56d3b0f059ec5727d03ae56499f811705bbf6ab41a1a3683e3debc5a6f7\n\n# tcId = 95\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = bf8c782edff2de8dbc7f480a9b29f1292a5f1ac96ebc92670aadfd369ec83ad35987bfc0ab3915dd388a504ca34ef43f0ff55d52e891aef35c47c81493fe6ef53a4cf5de1e415278e63339110722c444c6c2eb26becfd6589f18f2925dba814d5e63a098bfe8882a3bc73a9a184e8eec0c8b7db26b4524a7b3eb3975f63fd16bb461b42e0aef58b7953fa3ae09f5c8c38c4528fc48199fb652b27bffa9c85ebb162a0943af6c1e2ca954e44594157e053f35be8d40ee161dd30929576a2cbabc7dd0cb6bc3305f41dfb77644f32c67d8f04e7d68822def40d341f3963a12a1acc16338d3d8229ff500fbf6849b2507b4dcb68ac7c8e06a076450b3da320ed8673d86e7bf7c91f8379007ba05303489eb9537bf33c275845c923d3881b4a80998e7aad5b6a9f113bf157b3aa96b45791937d9038f94569f1fa753ec9ad612f75bc89fc79fa5d26711d39aacac5c05b06baa5efc40d9081fa39c2ab8de2bab3ee5023a0b668e17d21e470cd1efaf5e7087d440cbdd7b447f5fcd9046fd9197acfa\n\n# tcId = 96\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 18c76a48b8a07eb2d64933e6d369bd7c03cdcdf1fb3bb15367ace58ab1539c3798c1afba510f46b1f621c5374343d55e11cf82fa1da003409702635c013481fd785b32e495dbc0400502ac60b82269bb6e3b9a405f6794c34fb801f920413d7e243ab31c1e7e2bb25619e66a016c948a24d3fcd24a63d45f30f0cc41f7c963ced75755a11222095b3451726708b3d255d60c47746633b822ae2ca83ee50d7dbb5bedb2ca666a80a24766ff121b6495a26cb9ac14e0f11b5a17367fa2ee7a3063717e4511a7588c2325e5c9a479db77fc799b42a9cf0962d9fad45ed2cc750bd30e34a088049ca942ee1a83807151986df4b2e70afa7533691171dabfc861baa5ddabdae2db6a3f07086fd539fcefd4694fd9764af7d5d38a75c3a47ebce1820d1a15cf9791da6c194a4d1e3d9484773c256d48989cf800a83c2aa82fd88fe5fbf945856abbaf0a8b843422bf30f933de51739d583ab7870e0402c1c0d8fb95668a35027bc40a2164ea3938e7891fa052b353d87939724bc6e78c3950cd25c3d8\n\n# tcId = 97\n# dropping value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 89f4d0a739849f213436c9575620dec5f5c2d6a7e4f83cbab2a57b3876663af38a0456a1106efe9937f5ad6d8a8952ac24883918e91a9d19c07b5fb67ee7dbd1716c86ef7f45c651e74a41233eb01d0ec29c7739bc93877fa5a880f5e27dd28e3e58f2c034c6bd512b9034625cfa60fa1b1b966ddef324eaba49f07fde57dd751b22a132cfb50a2f37c69f773feb8637be2296680a1b1511e76f5f31154e6227f748dd101fb7ce4dc4d78aea619ac06a4419c23e2c7a6025f3084c65ee4e2d898f3b8da4b180f592a3e85a3fcd04d788fbd55e7543789c177076918fbbfd0b9bbd69106ecfaf980154b008f86418285623bef88173d6e21de37fc433163f719d1a5b59a69a7b3af6e2c5e8425135c9cb402db577bc0d57bf9e4a2ea6792e59f22149be5280f19f087f99a5a645e7058ced09552f7e324d1d786c939490177c6c882e53332fc64c24b95866131c0e78daf801a8d94e59e1b339529e59fdef88bd1440b9f4928b1c68b57ee8ba22191dd423c32fed56bdc01ad0c14850061d080b\n\n# tcId = 98\n# dropping value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 75fa1d30a796ea7e6f6225bfc9001a3d48ee2b66985772624f51f74a4eac8fbf0e126a8a21e7904a4668c37257a2566f6d5398703e160c76fee8cf4510ec4b4fa38af5139a117a40cccdf5b2376da59ccc1030ffb37ecb65e7cea239eab5369c4b20ddaded7b4eb5ed79b3d878844217f4094a536d824b2d1b9960b8f9aae9dc42fc5c9266e0e15a503702096fb725fff3bfe4eefa8bbb232ba28542bcd23f434dc3b3c8b827ebea88bd1e5058763260c45ce83915d7f998b3b557a94a41f2d6e10d5c6c0881c5080f51a20c8def82ecdf795ca5682a4a4b451f627e26f1a0f4c01b0c4215d335c753908ec16f55290fdbccf0855047280c1f0e226199897300e456ecb74ee14bb1b68ed54408c5a3932eb0bea33ffb2f495577f37bfa6daabb8971bc227cbe817efbcc618f7365f5ae49b51280cce5d90a085fcb2568c7381943a93caede03f492869a768c7178abd6d8c051501a81eac5bd87da6bb0424655356d5cc86f0b04a598d83df52680cb20a49aec6f9966e03feed8de78c1e06b2d\n\n# tcId = 99\n# using composition for sequence\nmsg = 313233343030\nresult = invalid\nsig = afa99ed41a02fdc5677826e51db78440e7336159a829d315401f799bcda6eb283c2c442706e8ede5c9641a50f735247795fa823d257cb8342315603904fcb7f3fb94c1d885917b938bb57dd8114effb76f0ffe53474b3b6ac909b8ed94a1ef4886b8101727038f2d3ae6daf82a3e985ba5e005998c31f888c3c53aed0246b99dbf17d12c59c02befbaf580ae4b54bf6cf4098840d86ebb406df68b871ce3c6a6452fb936c975efa9b6b40b2414017eeb8cbcc58fe3547ebb16f95efc24cceedc374744cb102ba6c2de6b6e53d561c5a6be9525df8faa7756a2e7af39950013289d08ea48dfea7e6fb0e7f228a8ed0c19e229f1929fbac0e183aeb196c46a5c0130233d78568736e6cf377e26e3155576982e3d65e08aa4def25b1a1a5a225cf884145c187818e71a989e0745eb6fbf1768d6aa5f0ee20d8d534e1f4f17cfbc78181858d1e887848f359a92b44a8344abbf720e9a0a195003e6bd881d248a80982201f97d524ccc159d0d0a371cb5d913429cd43d4416d9d572d49dd140c00a80\n\n# tcId = 100\n# using composition for sequence\nmsg = 313233343030\nresult = invalid\nsig = b5eb805ad3344e51dfc3b5aaf0aee47a8114587e54079d1717ca04e3e0786681fb9a77aba6a915369573714638b408c4574f8951bf38ce7ae055bc95a078dd6c68af56f33d6c8e39e61c386b8d5d148e94fcb64b2ee4826004509f6c033978b75f403b8710b16d4e0029321e340c03dc4ee0cb2e4dc112c1199a9de821a0d73fe5ea361a453175596e0c945ff0812b5b4c92bdf3cb628637b4fca898b09be06188183f37a59dd33398b786c8ed44a0f36a3a99a597071a17b432c76420d5a68d683351d85c6860572e5213f45bb7440febcc4ba6908b3920079021d03c0befbfc0169d987d5e19cd81267aba56684be25b8b94e3f1229c5757966938b63c66ffdf0f07684214d415d73bed838212612d3cd4071a53ec43cbbc5d71bbbb60f51fe310c26054318876a5862033fc21eac0c1ad91f7d7eea9318398b2344dbf3c2f04574a5c3db3121971273244ec876a63363054aee10ee276e8cca376e60189645e3f67517ef820b35c930485479403d697b2a72689fc238f09f60e3b598ba562\n\n# tcId = 101\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 0f058dadf6bd5ccdb3c9a70a4223439936ac81daa5928d09c182995503d72b8077dc01ee268658e8ec4da9097cba57c19d005243ccbd98454ec42bae8f7b7ff9fff4af6b2382a271931e7ecc15cedbf52d1426cef27e033d58d8e153341265552edbebc46bca1d8e88bbb9c0f82600d29c02283fb295caf4a743fd66f096b3ac12d8f301a1a1464a511f1e5da7e46f722919836ed985bdefe7587391443b7e9f6dc7193e51f0de9e0be451ee335a39b875be4fb6e54ec38d59aedd2000f6149dc1e07bcbc6f674baa3d9170759a2db41d6a1691086da82baba102cd85d97476beec17ba3c10e82c213ec0d09afb4fa70775097df3e9c911a2b8a8e3d70f55e4236447c0a539e499bb4f442d218096ad35b104270205d6677f37f7d96266bc180936c1fcd7a34f13976efa47110b86cc4f5b0e94af73887d31d37fc38f84db3ff7b06bf151f16c0077921179fdb52ee89414dce82c0248a97b88eb2aece5227078877148879f96777fbe7fdb1aba00d9c7340f7a66812a080ad1da514fb1d7855\n\n# tcId = 102\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 93f7909a8a46597be65fe76b5c724bad99e5b2692e4a6a8e9a7adcb38a39bdd7f4048a00edab88fe9316f532b13be7283bde8f7c4ffc4a822575e992cb8ae46848015c0ee56817aabe22ffc2f25c80e04a0664a7e9a82dad7b001e21b5c33f08965d80a1c4bfff52efbaffacb74b0a9c10acc384cc707b5c5295fdd3fad5fb3b89271f8cfe0059c0317836b2a42640e4c0b3969aac4050bcbc756b5350dcb61cac15d045151e412b6aa94d082266e7f4c7dbc83b2adbe817476eb6bf5a07cc7f76fe80b4135e0ec5bc05b57cc823a0b993b7b3e4f3a6803879754220d7a6ddef0f5c6944b352ac5064b9d836a2565eb0e2049c9208b797de75b141a5f6d89bd6dbae167f8b1c7fa9a316d10d33d96fad6e2692b98d42fb6fb3d79a32a7a5eea23f421c5e1dcf09047b77b253217c3674b97b85afa0162d818e569d6c6438235f404e8fe9e3b3b7e38878b5bd296f88758b917b7d7cb650e6ddfcee085e52fa5143429b678a3fbed73b588b6b4cebc72d3e23266f8478d52629cdf1a80ba37550\n\n# tcId = 103\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 2c40ce5377f098678cb1a3f6177c8e290b691cbafb4195a6244d148ec48be99792f6cebd4c40614d9250bb3d6f6287171ffb713a0814a6746e2c4126c82f7bde8b40518ac506cc73ee8e0516a0d0257ef153fa2464e17cd17dd6ae5343d43eadf67c4bc629082b484985dbfce3cd941c1b69dd4a52b0f177f641945ae0037c79fd0b975ba955b2c1901883f2c5320fa7b43df6c673eba7c76c0dbfc03a470bbaa2a6083892af527d0f592", + "1d2e20080804db8db936d02f53cae19d010a113f080e0f7baca77c70fab4819c2481f6f505b5459b59a2a482c6b8803a26610cf54418a931d48b8b3a2f0a5e82cae0ff81bec4ee9cc93e8fba9350b5cafc6c020b484847d1e590eb1484caa4afbb7d3cbcff85789ff47401d69de6554ae7ea679b69e115ebc0fb3f89ce9d104e4a27a3ce5098da2c4a840f496e1b2395a8725dee67259bbc71e89aa18c35a9c0db3d092e02bccdd93fd6d4fe51eebf17f5cff0e990215537cc0cefcd69eae4a596d8a95a9ec40ef651ea7da397630fafd26494da0be\n\n# tcId = 104\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 28d3351a970732d5ac3bb69fdd6d85f8923a20f7f7d72985d6df68e41f972dcabb638534d163eb8cf8baada3e1debb7249da4efab8e1ee782dfbd3b1add9e77253ce048c8d0a350936806ad473304f1dd0a0318ad10a11085f2cafc20114ab1f724ae5ffeadaad0bb17bf66277c499876d5ce17026d6d30964dc43e9f68e271d5b6c81b9953090f70bd9b9c05e3219942bae623faf06c6f21952427a5a1a40f05c0c5159ff6e9b94fe4aeb8310b0de9e69ac5f0f4787b6d489d1040ad63ffb1cf0fb924239d5417cbbd7afce71ac0841a0fe2b6d6a5742649fa60433c55fa2cd99e1e173b67528784dd0f55488f7a9939b46137f9aa33bd62e477a77d5fbcf0820a10a499aba3ca383210778e7d84dece64f121acd8d74a761219c6359d2dcf9aeab782c58dea8bfdbdedd4490bbef8fd514f90cc5a33992c4d3609e300797fe0d5dd203fa71f4ef0a47624e5e51455b74ef87e49b9d122264ebdec7fee7bc0249f02ba60159aa0aa8585ce19633cbce48e6e4765b0fe7b4f1da4a8417092873\n\n# tcId = 105\n# indefinite length\nmsg = 313233343030\nresult = invalid\nsig = c4a4057d4d2eb4e64dc163add62d9ad01b24bff92fe0607c0cd39e3dd05e5661aa1a2c9dcdc7ae8a034b93e502a4eebc0384519a2589afa113a0dfd45b122fe16bb655b6a034b668d7d400dc250b25d7dd4511298c1185c3d02b82ec63f3f406da0c72d204881ef5ef43e63cc64b799044a6cbabb533d862efa9c3f483eea43b26859b134a2f321ba5ad09ac8dd3f740c0ebabbf35ad3736b093097769a635283c20c1b88ea0a115d59a692552ad8f70050d586532cd3b65bd9e281781d09712b1f1287350a20e40f11af5df580a98b258fd7431daf19f92546d5b997df560a3237e8a2e83e925e45effd4cbf2c1cc439d0d3e658d836d6b93513c41c87bfefc85579257cb8273dd0bd4b7ca21c9e2675ab60de22289b31f5f96f708b76ec72b0209c8846ac6e32f1d28996829ebeb949b2358cd2332178bdce80804e4650b84a46ba4f3bdf2aca0edcb7d4138e97dc14d30ba34352d62f547caf117856a745e1e99eec18cc2fbf223f4548755fa3ef8d9d7c0274a9a7411dfbde3bf53d9d84c\n\n# tcId = 106\n# indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 9a86cbb68e9a4449be3ea6d69e5cb21af81647a8a0105db03c54176fc83991c2b9ea548fa8eb3b248c72c391cd23dd675e865ffa561cda1abbbd58a85fe4fd108bafb213a8c79eeaad5bb3410c7d6e85a237d1e2f9c8e0b8b8fdb472732bd4bbfaf58f57600996a49a742a6ecfaf55319bf939eece50d1b93df931a144b07e075f8486b5dd65071bf43812a27351402b849872c849878634cb01483df78690ce0dbdc5d45d225ca87614ed1afcd084223c86fc9bc9c891996c096f9296b9d91a564465197857fd6769977c8acdf0acf2ffb1b24d311a8d0a46109594f1fc4dd5b139c180c6f02b88e72e155626a748ae9da4eb6a1195126f084b012f72405f027bd22baea81d765f435efd2b97fed2df6e38ea603ddf8f3ae969f9690ac22d8072211d1337125a3e88388fbeff1b0c7cc7677998ee5f7ac31d8e268ca900b72c98889721e18e8dd74f4b43b083998b28eda3895cbaaa607b9a05f90e36d1e172a95617e9b102bc0717dd2a1e807b11d72a8a15288ca4643c791694dce30808aa\n\n# tcId = 107\n# indefinite length with truncated delimiter\nmsg = 313233343030\nresult = invalid\nsig = 71399eff1c82b67a7d5da71df51de813631f51679ba441b0532997ada04711a2c874e56ffe4d9289ebdfda910988e1c210507a450031592268385fb9c08102c1961d33bb789522d97fcd86b7e27b59d3c369280c7367286f46c1e815851349fc16e1bb2fa76af8ab168acb634a22a8d60d7c6d2a81f4db77e65c621bbb4d0e5628ee2320b042bb4c83e55e2137ddea75c3547f3a6b93f1b0a0bd29c729835edcbf5129b33112ad000458f4a8db1149d514db7ee70e4b58c11b37809dc32020dd81fd1e3b0bf1354154e7dc0da0403ec944fc5a855026473112c88f072a8fc39b984db2c97d085783d4f8d96c87f4b826f39414ba05f72c7a22e25ded75eff8f00e53401aafd0ec08b255b5d03b2f2cbb9603a2def9e5a754b33953d3c03ab8cc7f8db33ddf6184150f5680f7401dad6b6c38ef848c00b08a70ecead088f895acf5f25c9e21c87089fab3e3edb7ee3bf3570145041808ca738a46c8de389b5c2f84f98f76941fbe2a9a159525994781137cdc00951d4229f8df099b44930a7a72\n\n# tcId = 108\n# indefinite length with truncated delimiter\nmsg = 313233343030\nresult = invalid\nsig = 661c8fc20646446cdf579d0a78003666c8fd9fdbe9845c02823b8e3b780f532d2891fec3a554c743e87fe898300ee17639077fcd0936c13eae51a40d98c329c3ff525f65568bf74fc84fa112b3036610d49faf17f3426309805636b9502c3dd81994465594333e2263969da1509168f1228ded2ab8ce0ca53c8d638db26899558ccbcf52af7b7017d68ba5d7bc79657d72f87a14ad8224f40d1eeb1925b51f8330b221ceddd530a73bb814216fd6afda33983a74f7da5cd733729df22ff78e027eff2cfde27a76ab1abc97e08375f670eed1beed74a9b9205ba2497faa1c46f0038f098ff5950be17d4dd8a3ef2bb0811a8945188d635a977de685435dc128184948c53f43abb70c053b9c6298b7dabf1df91116cfcf8945e78c7e3de5bfbdf19b6893e733cbe65cd33950c77132b7816dd47d9ecfef2f15b4290cc1a4cc5d327800215a49e679b640b0ad1aa1593a730eca633ae17bca48e9efafa0471a6591535c94c4d123cb2ffe33014302f3109712c279834871d9b18982ca413d131126\n\n# tcId = 109\n# indefinite length with additional element\nmsg = 313233343030\nresult = invalid\nsig = 2b0d588982c68cc0b39c00ad80c19ac645e038d3bcaa384909d94cf6c8ecfc886a83084d19843f2878879e60f5a46af4ed8d62f533cda8ed04ad8aeede3e3c823913d62b28bcc20d9836f6ddd9ebc3eab3fa52e37638ecf897d7cc027bb05facd153090a78220c10ab177f1bf19b2c6ef6ce94611d466ef758eda71f4d496c420dd88e712c6dff77149f4bdb50d1585db27fde0f2fe37e04edf63e56eb9cb72106a9a821a670110d69683f32acf5972efcdc34ed5f8ea4a40f4f6329479499d584c4db4df7122a2c7f34e866564e68552ce12fc30c2a6f24ba7c7d9dddd7fc166ba8ab0b8b7c1cdcc8af880d6f1f2b621286ed722edae310891e3b2b81addfda316225965ddfcf0568486921b125cec003a7b48af9dfc95b0a9b94c53535bd4dd977f2a4aecafe2fb08b5bfeb997d22f6fa5fc946481838a32273b6c7a89817dbca3d2730bdffe63e096d3e88a7b9785e7ecc30cc5c847f193268ed761e05231e3009cf3ee58d2a4f03ab73f5053b0bc1e57960ed3ab43ab5b1493d5a73f6faf\n\n# tcId = 110\n# indefinite length with additional element\nmsg = 313233343030\nresult = invalid\nsig = a60239ae28daef9b18bc56ca81d0c6161762a66e8bcba6f387f71433464361450a6a08912bdbd86da34ea4954ad0c6548131d6a4de7f60615560524ac5644d69e14f4bd11a29b8ad20753e2c74db5529ae90a6c733032e2e365f9f57cdcd5adf5c66979870d8eb9c5eaef244973376f4872c323bc8ec32e5e92713527b6545aa85bfb7c31325000e6ac6dafd5b48db8286bacd05bb4a9de30d81a0eb8e4a2a888a71152e68c0ac99c74adc697ef9f34c9f61dd00514a8285eec30364e96652c49a32afb7b88f60e98a4f0d2382d795d026d8428818633cd5d62d97074839362fdd2508633da09ba491ba0ba0136056e7cc0c25a0367f637e90ccad93c60c5f735fc198810a01e2f1394f5bbeab64cb0eb87c83f0487b353c7fac6434805476f65292a72aad28b1bd7cfc5764a3a6457d05434814e7f669fee063e9a171a7e0dc627221b540bd360fb64ea870a03239eddb4cb582a0fddd6ce73e272c12901af1c9865d30f11a461fa1d7280eddcf12b8531fc1e5b6d6a771b9917fc3cce20188\n\n# tcId = 111\n# indefinite length with truncated element\nmsg = 313233343030\nresult = invalid\nsig = 1acfcdc7d861cd9b8e26fd8dfbf13517caabeff310a2f5df45941cb6c4ff23fdd500fd1ea35a8ed95060496aab0273091dd9725ec98b14a71f214e7e9f9d8bf77e62c2f1b844d9ffdbcda7c11cae4a463f9e525acb924336a5c93a5331c2f7e167bae20464cdc68fd08f515f21bc897efb732c61219f8a741e867c3faee19dcd9443a8b1f192fa00df56a1de690e0670cbb0149bfe8bb5b95ebe64accf43a80f5d262666da65cba48937ff81b78b489482aa6a59951b1f56817d288d3942cd79ab7eed0b934f6ce092fe775eb0cb7ea9858e6810d3720751361b903706b50f17de49f10616f9d7d8053775b00f6a3d6e77a868045a85ad43c15dead74f5f86e46e2a455961b7f6092317e87d93b50a247c11b8c27087e3ecb3a680551e3bc3874a34cfba1f19f69a708762d1ede6bd560095f31b56863efe7913947132caf74e50c64b94ec8ce28a0ac1b4044f23b89e9fe5c706647ac8ef0305a0402a84d21a3c546cf7a7ab63aaa6577aeec89c8c260124cef46f587bb4ce940e0f963141b9\n\n# tcId = 112\n# indefinite length with truncated element\nmsg = 313233343030\nresult = invalid\nsig = 478e30fd62bc07a0ea6fcb4fd9875241139b012c921c448821356f29bfa331a1d44a03870a9c79482bed3ac275e0c2a15f731044133b5f6e1491af217180c7a5133ed781665265bd6fd9cbf3d65111d39c6c4314231f745291c70b6aa3d6ed696157612967a283003f982135520f959d24df7247d0aca3a81f7af80062d4d2b2c4fba1d1982bbfa37d5f9175747f6010391c78bf6445f553a5a77251f4607cac9eb17904680536c2965b5db4431619363245960dc8643c83b914479ef0162c70713b985241d2b271facab79253369b37fae70888db2003cf87677e915888d1f580e1d9fc7360ffc8a36c15fdc1f27eac143081612c004b81d4ed63bade76f04b0c9acdd5a79457c5be90ab26ba7c11ccb3945c05196b7ff9e29c713f6de873cadf6efac0879139d2bf25171474eb4b754762352bc77efcb50d4328e940ab4aabb8907043a4e24fc2eb0fd7da3f31bba14e1b91624212eee638ec4051f1cccab861b8aa6948326bcbcdddcaab5f2d0b38737ca7722d8cbb310585f01787007a9f\n\n# tcId = 113\n", + "# indefinite length with garbage\nmsg = 313233343030\nresult = invalid\nsig = 1e035257b6ec35b3ceab42c5ce7a5fc87fe655a55802b7f8dad54bb048d92ac7b22982bf1910a810d0a3c5aa26c5eb9fe3e2692a272ea063a31607b0765bc3cd4365f75db38ac761651f9dce99c3400099fe37a76c9201fdc4f97b83094734dbb64d6ab62e5ac6b581412943285083e2f8ce252596f8bc0e0894d4685de91e248c62d68bf7665028d06b9a28a231243f9022c66c02ca8c47c711bcaae628baddd685f0a4001a23a11e4a898de0c0247373e0a5282e2214f7eda51513a903c810a70dce11a95c808dab26129af2555679d8ba048585a3134c0197ade27eafe7f4a777ae835f509301bae94e9c6d40ffe5ce60a43b96a55efc5abac62f747d5fb3a1c0b3dae4b9bcd8148eefcf7de3bf1731aab7bd21946d58beb2203da98397bf4c1479b1072a01782f8f08367754a1e25a93a096baab9e88475108b4032e473d005a9c91eb3043ed1774cfd36aad18446485f138da61dd9872364d35aa7e10e116c70773547ec1625c9861f0e6c92a9243379604271ba88904fa0d247459a6f0\n\n# tcId = 114\n# indefinite length with garbage\nmsg = 313233343030\nresult = invalid\nsig = 6a245aa2bff7783e93fdf6f5014a01934272c88d6ca19ce53708237bd15ba9431d0ed81a6e81ccf78eb2d6e1d9ed5c46d39f818e1a1dbc7634fa1e2a1ec207335bc838932efd7eb85bc62fbfac07b0710740a9f0b0621bb212762c891f04e0846ec594922e917f5cc0509787603c9dac04d98407b967e463a0d912bfca979b92b12e756051e7bf023c9f0fe061c0d67a87b79d8ebde7f60ef4d2399964b8071e6a1a9c63a8f316a174e33edb1023fa0a0bf272800a9620db648d061eadb9d180c576817c759483f85ce359685598f15c9b8f00d75f4a8a1cb260f666fbff559da3a4f075e7915b284febf8bf21eb668012dcf31692123b94b4e44e3ef17c942644437d59c49b437398bcdc68b5110523fcb48241c60a8f4fdbc0ec45e80acf259e61cf8414f4dc9e9adefdebf94427b2794009b1377d64059977307059828342d605545e0b776cca88dd0db753b5d8aff63051f9ea49da13821ccd4cd11c2174f5cd179eb95c6998eac5b66a19b8f6a3b4c6b00d744ea14ef64599ebdf94f859\n\n# tcId = 115\n# indefinite length with nonempty EOC\nmsg = 313233343030\nresult = invalid\nsig = bc870ef5ce9468f85274cabad18feb0c0cdf2053f0becab52a3668d7ddf0239197eb2365f29e60edc36e673dc7b0f89f605ed6f3e9670b7bbdea42770957ccb11f8421a9982f38f2764f75f31fecfb1267a9b1e85cbef52c2d3e54aaf304d54edca0e2464a71946442970ee0ccc545946ad7cfe08363c87dd89cddd1d7d579c22ec49525fd9d83760909209c1e79a24f14750f0d0501d517909dbe852ba777415075a797a0f410289fce04c31db77a97f1eb1e8f978713d2b6bf9595c03f6376bfe9b9a5a8943408170d69272d3a5ad2b98b73d1213bfe97fdbed1b29b7b5a01bfff20122974b023251a2825512a2e99031777491fab2c1f41517953c10145b0b606171c22e06fcd78d6f51c02a25bb93edd7bba6fc3d606ca802f8ec4f82c56d1aeafbf6b7617c604ea53c736ba6cdd755df7b03bf3d00266645e68763a2bc53c7692bac8f57d14675d6131bca1319f251eb589c9cd71062d3792a3a359476038dd1f55784754bdd59b91fb7a9fbf9f2274705abf67b26a227e7ad1eba201a4\n\n# tcId = 116\n# indefinite length with nonempty EOC\nmsg = 313233343030\nresult = invalid\nsig = 92780052295fc37894ca6c4ff5f6d68e21f8b907a5ef5411edc4fae49b615503e6b2beeb1501c0cbb0005c4c29bb918eced60c62fb21154d11d02659ec1cc2a41786c813fe80e8fef35594255b11a6f6903b93411b1db9697d69f2ce115954b095d5e56cb7d202c1d4f6fbc795d4966980255098f4929ef28cf80a2dbd5fe2701ca358c6acdd55cc801a0f8fdbee2be57c6b6bd168e90c39cc20adbaf6bf083e3b53332482a411da3983f054557ce976149d82e6ac3613cd95b876c450a474823d03ca31c1be5c7049a5b554fc2b658705f16e24eb9fa4bed22847eefa71ee4a253c52675fa82cd22c924e33467803faec7e4ff7fc81c40e3c8d102cc4d54ac8b5c06b8416041a50cbbc53723373bf13a7f5b2a062552ac843cbe18b3d5238a8bacc5592dd3af26bea3d8cf6db91d9b54f8e61d62f46b39bb9d918ce5d77370341e5c3ea5ce4f46a44bdab383ff1a5afc5ea96dde6094273606e4ce4ae545bce61549e1248011d6e2bea5dd6d219d9d8edc621db13631d17067765827c50aa96\n\n# tcId = 117\n# prepend empty sequence\nmsg = 313233343030\nresult = invalid\nsig = abfa120284e8ecbc3ef8eb997e304c657bf2b7e78dbbc7b5d910e10f02a1be9ba1305c1ba831da12e5bf7ceb70a6bbe94cf2c422b2e56ddce696b0ae637f910a7032fa26c8b0489cd57b3af8b3eb09ceb24853e95315db7b6e468c2feb5287f4338d5b301efeb79815a981c8fb5112d16fa5ca1a6f243af9bb57c09e3c0c68a1cea5ce25cae53609295eff951bf030db144d3871580f1b9285f6e58b7d7a0b23dcaf5dbd2d96b81674bc9e4b748073aafcbe476808e7dae536971015891efe25ef14b00e37a63300ae82b6413d31d2453e55b3808670ed8e76fa733d24e346922d93c7d340a820151686f00c4781c08419caa56c950b9674406cce2c1f2658eff3413ed6be5ead69b6a46939120e1b03889c6045805a1f302339c544f32bf0ca56c7b49b2a24078093d2747c4eccb77b2db148df83e4e2094683716abff5599dc5ae6d4b132c2202aaafd8a5770827ea93a15a361a13eaac22edd47e0154164ae88022f6e5da9dd158a3a25f5fa02638b1522180293dc0e06aa0150b98e7903b\n\n# tcId = 118\n# prepend empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 6874b0d4afa491d22ea00d77f521010641dc45ab6081c939770c8a74553ae414fbdd1a2686f346eb5e50eec2b75be6b4d6e3c1574d36fe32968a5683dcec662480ec526136fb119ce78b7983875fed59989b24a2082b7dee49b00cbf3e18d6677ac640f723719362ea64fafcca71c4e5925159bfb36b7634acac6cdfd6eae269ad7a3c2880eaa5be35efb72d42ba30bc5fdcdc0a642e8d4aa2a6c1c7faf4464ee49284142cadb7851e9ee832a367558b1f3f06d4d55f50c8814ec6c2aa4a3284cdf3d471bc07506c4a5f061a441e44b87912612f1e4c576f4207348b40db8bc173002ff3437555b724684bc01e8490e34af10aaef0aa9d509840e5ff8a6cc92b2877d1ca108590d7a382d6a45ed0eea4c0e0abd5ff7675476b253f06a25f21c6e658634878ba318a3858737ad875d3bd1c1cd1128a094d778791e6163970e78909d4bc1f5b62d912bc643afe9218ac9dc29df522909d394a5178b285df3669fb321f0d7b6c7b50791b6ebedcb3740fd7f382410394f5853724970dfe75bf6ad9\n\n# tcId = 119\n# append empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 7fafe1dca84d820316780965987a135054f498e3a9f70341dcd4cdc992789dc412b68440806faabde11f00c0b6499d84d5962ad1dc9586fbcb57ff05d57c907d74bded8fc8d990c71336d814f5b732d0fc3f441d44b29e1187102664fa71e047f0bcecbd57d9d6e36d9085c37add3a9c110be47b3ad2b34c5b8e94c6065a56a638fc073199b16e17efec87cc482a192f56f8d0fc0c84e211d1dc658fb222582be550439615803be1384ff8d2ade2ce1aa46bd6544141246ca74b86efefc8c7cb169484c122f2269fda56cd87cb257f7b31ced8516d01423c1ba7edc1ffb5de565979cb45326274f160a67f90a4fc6e66306cb833b914fb31b2070b3f60316aa1b2ad5cb5580be9aa47c3e2223fd9427dbd6f35d83e7a890a8054f71dd4d1b11d2597c47385d3a6123cab406dc61c562ef40d626e7561fb81fd3eb1ab72af94122a40a4f0649022e0ed52fcad209ae22613c5956215f0e3b4bf3d2ca6b45c5bd5c71138ebebecba05d0ff12ef257d5e8706a628876c958e238a3e4a8b3806bd4a\n\n# tcId = 120\n# append empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 5015c5a03cba54943ebdb80e79fba8a8bd61085c0febd1a675aa2d0712cca98b1f0f43cd3e239c890af58dfcb40baef28692e81163bd87b5121d67c588cfe972ee8d560621ca1e9325161bd13014625ec02e433cc97f7025544a935e0f8cdd728f7fedf90a8a8e57d5e12d9c22306fbae77c092e13a3bbc9d98bcdb18714d62f3f24e65e74768c0a9e9b8600e87443eae345919ed7fe4c8581dc00f1bc0c2764cde2108e21d34cbb8f0ae4293a4f7d4ef938e8765bc862302379d979207d4f7e294f6bafaa309aa4013877588192ec5c669eda7f41427f81d75176480c85e3d122072d96174a57d77bd1e637254282c840db3d2a1f7f05de9f47422c32f0854a9703c668515b5b4030a5d26611e452306d8d239589458b8bf17f56f3447969c783496ceebe16a163a06f17bed06d4505b8e0d809e351e59883cc3ed15faa22683beb684e04323f146dfabd03e836f08382f5d00dd2d1e9ca17946446c306a2b97875faa042e3a4002fead6d15a07b7b4cc9a2a6b5b436fd03e231cb100a43fd1\n\n# tcId = 121\n# append garbage with high tag number\nmsg = 313233343030\nresult = invalid\nsig = 872518041aaac17a061bac385b6e03b44e0e7ac1d1d269e166cf4e4518bff2e3f70656e7741555941032359b110530518955870acde003ceb4a528b9abf2a18c375083af2554e57c5614e82bcc012b4677def5ff7cc63d4faed4166097160891a0d0869cb1117427712861fb57b2c545db08427f121533bf1f3df1d04c20fa2150c18d4e966951801c8fcc7ba6f02801365906373d239942be633d392376d1cfea3857da770ed5c3dc4bd35b7c5abdb036e829c50ebcfd31a55c4baa2cd63d5b54cf92402c00f3e18097affe9be39294c4eb04f033ebc926ccc040f37fc1a81c132d971fc1724c1c00377d1157fe08385b3b12c6a7d44314803b1a2c72f7a8836c72346bbf428b67b86bbdf37638949d81ff4153c81d5fa1b8fe3f8a94701945d225e598876f2457adc2c58424908d70e3a61e7bcdc909993c75ae0c24a111c204ac28aedcd7a0cef5adb278de2fd395c97ba15c9208e32d709a314f17504ab83f583e811845e6f7143e9f6b9437ccfd699d663e1749d71b5639009d3e5cce02\n\n# tcId = 122\n# append garbage with high tag number\nmsg = 313233343030\nresult = invalid\nsig = 745f043935ef3cd29118668cb2115b671af0e3ea44e9fd20b18dfe1667c926f9d4ab7e281345f47a2b06e7141cb69ee1328822cd04c8835c42bec9c19e30e6401bb6e27c20c53b69429e2bf5641c7398338f080fca064fde6eaf77451cc57d8449046becee9b87d6f797711d20fedee58d0f162f71fc8e736229753101eda5121f332afce03b334a3b4baee7c97e0b6991b5a1da18a7499a99f8b6983cea9046ac22b52f7319d0d1588c2105c35773c3937f256b40ed8f4127832385c9575295941572909fee56fd9a457835f", + "049afea39a22792f012ea2d38d0da75fb22e3f0ce7f628a1488e6d30f58bcdce40dde4146b472227a666d3d4902374c283f9aadd499604b45511cd120abace789075c8bd232cce717824c551f8d8d03ceca6009e6db55c6bf5d0c9615ad738681ac94681ac2aed6501278eb882436cd134c9398ebad449cc2c430ab9b8513b557dc4c345ba90b5dcdcabb01992cb9cd851266d1520762213d2c2676b4c2b80301d59887bebcf8a09b012f8907f04f7521175238\n\n# tcId = 123\n# sequence of sequence\nmsg = 313233343030\nresult = invalid\nsig = 5a29dc4f6d3138febf9978266c319c1bc69cb33dc63eee578ae1bd2a4736d28dd9d99a24926a2a6a5a2404f4b5a15112a7d0c00a24a427a0af817df199a4aebd77e6b2ecbc958d30179e00d8ecf9cb1500a91d5f7f4380e2469cbbe61d91b26573b2f7726e5af49af963e22578c08ff74644cf93c547c64965d708574b4e5496e3923d1d0414499220a6a9349a0116ff8d843c8a563865eacec1c284cab41c3d6aa813b0c5cca1add5e7d2edf36d8845499586b5118618e1a616d91ebc3349f5ee3ee1088d9323e79967929a7273910b389fe94882c28044b8978f5137a4b2d8537eeef53600e5c93734de279717141ac470b8b7c40eb0a3b0ac6cfe4e66fa2e50b44e8fb6ffb9db12c7ceefafc75a89c21d767f8d704aecc416f5771daad4310aef485f0b9c150a4a7fe6c38d81e352fcf0e49cb036aa02ea10c2e6222c4f0cc27bbffb7e89d1556457d73cd6333bec31f9acc6b7d927895e96f1e2c87aae21f8b1bf35d173b57820739c7f170c1be4b67a4db347bdbdee1baf477d7de4b9fb\n\n# tcId = 124\n# sequence of sequence\nmsg = 313233343030\nresult = invalid\nsig = b16e24d20ff575be4f5b0322b0fe67f02b7f2734a7e350f078c401a4f1170111b00e68524b566c7d191e48731d03e3f8e4b2ef90f8c9f798c57ceaa26411836f7969e234ef5e4da1ddbe2f6993efb4c4abd566115727831cee57a7511022c33e47716fd796f2263907c54dcfa7ebffb1912da68bb5572080274a664372822ad2b4516cb54dec43185fdaa0022c84856a178f69483bb743976f3d1f1ea4e2eb77d1c55800b7b405cc4967d3ef72ca6310ea6719617255c95a2e31231e6c8b6603aa82fab5d95009e908986d105296fc1f81eb3709ba27a68edb771e3e887903913e72c6386e3194dfba12defcb6e9764e07dba19a06504faeaf9a2313e345797cc4543c6f38a656c4c1032120ad6e83d65fe51275099c9c6d3619a491c5cd8995c42726f8f7f72644957e87b51b698ee443f81a24ba0564260fc2a776316f3f470ff3e1a3e3d071521351b11c6f4aad061c6ee81da1bfb2f40ed306ebf42f4779432bb79d7f0d20372c55aed8bc9df38bfb64fb016675ed3ac83520900113e1c4\n\n# tcId = 125\n# truncated sequence: removed last 1 elements\nmsg = 313233343030\nresult = invalid\nsig = 3531e3180f6385e8235d402ef40db775cf88d115fe8c3426adba5a4b36d05063130bc2e711d5e71f4fef4cd2d7c21a7e2fe76a4dc02b961a6edd3658a96c78e3f7971649fc913ce8c9c4ec9ebd8be9209cb90073702b97ff94e96471c42dce887732d93f89f7376a1ee0190d7c646d56393f42c60a6db3724a734ef986380e934fc8cb92428851a6ff74f1a3feb94f7f6d3a331d4d61846026477b7d7b77077a8213555d4a7339ceec0c71d65492d2eadb9dc3fcc7b3c0f08ce2d09c97c14351dbe8d2745aeae9882b252ddfcfec719c312b789ba36430d81db2d1e88c29f0ccbe410789e0cc27eddb2b4b6d5d0b980f67700c05cf9e64ba96e5e50ec4e59067cebb580a6983acba34ec260f5ebc6abec53a899483d266b53a0cb24f81c9ca144772ecd622ca3cd0f502c5cfe6efec13574d51acc023f277c3a7efe128fac202e41033ccc4bc78b550a1663fd0d836bfa31c435badd977f38cce70a5fc353449a3357bec99a87b19f92f81c99e1a6d23ba23b5940355b078d05b2554e5885fd8\n\n# tcId = 126\n# repeating element in sequence\nmsg = 313233343030\nresult = invalid\nsig = 885adf1a5e86d463e8f6750b49a3c3a91a2e8bf90e4c19873e19dde041bdfcd08494a9d25ffaa679c3c4c6d5addf99256f75498f3cc6c09c45bc056daae88a509aed0c4b46df5c1a6a1b5b4f2c5d5d008bdabe5f22a0ba1f34e604fa0fc8c647709e82eddf9889241571a07e9dc91b4eca9af390f63ac20a7e526d945df9541fa43caae141ea3feba0d0fcac7c50f7b03d4172daecca84515448f3d8bdecd2513aea8565227c2da298a4e2cc8f5fe5603c30c220c2e96c3a4d802b87815b1d94e06f717030bb2d173339ec3ba700828bc7a02495a1042b644fcaa02fd9e67a26600718d056a050800eb546eea65fe9fda8258cf629cd48dba7393b5569112f156032d5d4e7a989605423d27945401ae7db0a9469375ecc8ccfcc3f2573570056027303a556115b0f98958fef8917e1861de6a59843842d269c8412da05cd2a12b9e2ae75d177ecefdd5af79cf4499488037fd2d592bcb2828b9ddf9cf7fbe309822a9f0f54368ec2a6e67550da715307eed5e1d80bc9baced4fef132b2f59cfa\n\n# tcId = 127\n# long form encoding of length of oid\nmsg = 313233343030\nresult = invalid\nsig = c0fc6e5e9e1398d0cf6575806d6ce8c10f63d414d3ffb7d9945b986362d9da16d61e9e662ce133ad6672964adb4bac861abc4693286f826e4e77cfd72825a4d6dd03c8befc8a9712c12b0a4c2e0f3128878bd9fea55b629abf7029cb7e9cc381fe6b0eebfc05e8a8666c661641fd247ffb6e3c25bf435283a21b2b785b9d4b0b552ab3538e310bae7f36af1d2c6697df7821bd469a10dc53f007c7a240910f9f137c6d59060390c41a32edaa8f49a5b28484f0f69d2f8ac99bc04ef06d7d8cc6e850376c9e66875d00282805df54398bbc5bd8e8216943f845c89e59fd6bbd6a8e2cdbf148c656982440bf2ae364becac976cd8e40a6159b366d8d0522617f422531bfb83ac8bbac33f6b5c8c75bfc107fdd17d3cc4d54c66cf5bfca36cb1e3ccf4383080f18883b890af744b05279111095d6aa0238a86a6f3433185c3ef37203c9bf46ef7bbf3cdad39072e970a1e6dad6983e8bafa6e50a10a6ab7a316a6104e1361bab2837d51735fec2b81cc79ae415051bef115231f6e526201d0cc6ed\n\n# tcId = 128\n# length of oid contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 92f154acb89d20388e78100191d964c992a2360f2d205a5f008091439f454f865d3d5ae276adfe4b552afae3859a71acaf151eb04696b6222a07e1274d6ac314a60090bc928164596e2de56e77e2cee607080a293b71cc8403bb2466519f0f14d26009ae7f09fd9a41447cf8d26fccf9a564cf3849be92d9e4bd2b3d7095087d43e462873ba0534ae512fa8edb2884d9e1613a1ad3522ad9d449f78cdb8331c35502851e8354829a78c56df4fc9ebebbc7bbc468f2219e93e4c524b3b8a55d7c997bf3151848ce10bfefa6f21207f2ccb2fe9526a0bfc417c239a8362282af93124a0ed209534dd540bdc8a1a08613587a1d62baf3530ba0297aebe6e03c2889942658d50f80f33c6ba0d021f9703933b2ba4a24665bb23103f0498e68a0f5094a9b9a7ac146bcd5842039dfe55191f06a70f103bed094f7adc3c3f3b4a12f2cd76db1e9ca7ad3c9d8ff41811da6adf3a9450cab6170e74270755021fa6f4dbe3b1226de09a334ee82617ab44ce93c6420168f6a75224456910b907ec2de68bc\n\n# tcId = 129\n# wrong length of oid\nmsg = 313233343030\nresult = invalid\nsig = 9094c58ae7096b725fc29065eb17648925b972e5fd176a546cdf03b50d3df72e84650e99960c783c54558a44166cc67b0e6a9c8cbb0095b984440995e17e6e7b5c3f561f3a8a0fac06b973076c16c31e11cde1ed0716c41074afbd94695953a7d075acfa529f89e98f406ad028dd48602884b7f1c04d60a2317ce10a4c3574800f05b83eb8f170ee6c6d084fc68d2db32d0a430184719dd0c0141798fe608ba150f5336079c4a712d62a2f58a88d6f6bf334bac46d1be0e6341695995aff0b05e152a4d75898d713cb2cc6a01ba4df3e4b45914a2fe7f2380f94b71facdc6c50b1c61485e3acfabb986cff365df2436e50c44afb7711a53655b250c3336bcc12c251e1f0e7788c71c5f80dd02fe4cc03b1103691b45820038cc094553f8fb2a5b829a230eae9a97ef4b6c7850fb7e1bc99852dd0b7027fe8ffc5e2c1a50bf5b4e42c249e55c7955ffa4f4336a60ce0d8423f349abe3434e3eb9f3425661e0686fec79ac14e435c1f6c3df4982c7392ddb8ed77f3f65a5c9210ab81e40ef3eb76\n\n# tcId = 130\n# wrong length of oid\nmsg = 313233343030\nresult = invalid\nsig = 59e8c182b8d7c58cba812204a8132fa02af9bb2af8ea16dc10907a14ea29a224a80e0eb6c1e12e16a3144bf01b539133f53a4c2007f15787cf61560c6bf8fb6eaee9ae65b924c5f852f622d8e9bd0b67a46dc8fcf551d577a916c9a0af9ddb50c05dd27e716c4c9e75f3ddc3585cf739986de48d9add7d39bb113234459637f159e7b95245e59546aba7f07f4a40a1d6ca1c6d1cd946e8a2afda98cf663e0ff6e9bf1a05fcb0c46486976e2d9a2a35e43f4b79dba5087fa4af8ca4cff44340b3a60d153b5dd3c9bed8b5dfc684454adada547c1f428dcbb70566b86ad87310aaddd9e935dc5a6c68456b3c2ff98d3484e471e586271c06259cb754cedbd0913981bd5afb5e49dac1e8cd86cc8bb53863f87d11e6feaf489670ba07ffd133ea14a7c60f9263f986b1d13e1e67eb0a72f67db108852f97e424d455633336f3c4388898efcfe500bd45cccadd505c481b5c89729bd1451bd790bad68d2572ff09f8c19bcba18a1b6c9ff260562d1f1ac35373449da2467082b288a4edb76c475795\n\n# tcId = 131\n# uint32 overflow in length of oid\nmsg = 313233343030\nresult = invalid\nsig = b7f073c6413f4f710af62ab1b9f023215fa39db9f47e3156df5d0dffbfe4afe1aa9dd72dd7c681b3ec542ef926bedf01608bf7bf0874fc68fd90d12e0b26b2a049ed75968b77c8a24c626a5c706fedd36336c58b8158a9f1fda4bc3f6e01f2fc19544378756c48a3283e4c8c3dcedac07b71b6610e3a10aa19996efd006b970ce00afd9256fafac4e831cf598ed29d27e6d3238b7e799e1d0d96bf78cc9f50584d6702661ca93a887010d16c711ff138f8b07dc2c4616c5204344f402067527e2eddc0fa70a48fe929e6a195e27159b35121612eb116ce2bac85e9230895044755a4c56f83b45fb3ad795728579719a68bb739bad1e3b1f0f79985a65c43758b29497f99785dfbf985cc6524d9a97739fedff3b1d6af5a7c23957807a5cc2de62110b59a0a5e47aaf33247644beeeda8b1a4bf2ec3c1260701b4c1c052276eae49994b6f8b2f8008cd5e637a9025d364ebb27c908b7f7d803dde6591a543524aac3ea330445b9e7a3090ac3c9c63c964ed6e1e6698d5481704a495f8e9ffb1a8\n\n# tcId = 132\n# uint64 overflow in length of oid\nmsg = 313233343030\nresult = invalid\nsig = 43bcfef9e1c31f739cf7273b1a83fc38c319d4ef", + "394b28147e99566d60d58459482054f2b8ec88db88fa4033132c03eda101406873c76703be2bf0d0703083e9420a917233fc1baf2ccfb8b725efc7d302b474195d54d4d3c7cbcc0573c5fa0f2b07a6ecede1b445ee59d8fe101e8b0b97f9b521963b0933efe4d10bcad18219bd2d33bd2dbc81431bc6a3ae6a827c7be7d3b0a1d1718225670cf25a405ba12e9c7550612a866efc6edf994c155f24f069574d3f73bd09c74eb44326af7846f22687b84b8caf54b4052364f107ce5295bafb2d91ce6f4efd667e6ca40db672385163d1b7a27ad1d57723dbbf00571cfe56a1ee02d6b6503da2ef3f78003d3fc07f778926f16ebcb05762fb72fa50b75f78c2d97f174bae392065db2699b00ea80649ffa470ca92e57631db263aefa225bc1bdaf14093ea1323071f7fd614b475f5fd6ca0ab5df4f03624fafbf5cb3a49a92651d9a6aad2e405a7f76d9eb76644dc6b77d5f3846942ae662fd5a11707feb5dc67912c1285913ae2f54527ef39ff\n\n# tcId = 133\n# length of oid = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 0ec454d968f05e44953e179199eeacffe08757e89401d89f0c34875f81363aa99334615de41513ff604ec742730911b75138d3dc489094fea7ee75de8dd72f70af216817b5fabc521e391d5a0a870f2c089cd76105f96730ac1e33a2ad07896efe98b4237e8a937635f8d1dffd7fc77dd23b3e6959fa450e48b70611878727874df80d4f7949e14133a3135e422fb6fc7dffa6d6cae3ff75df25458c53f859a8ff34e1756b8da403aacf3b7b12980eb8e69f786c4433d92a5971d615251381185ae436d9d8fb04c6bd7264ca6b65b4d6dfdde13668f27fa81cc78115a07cc88f68462a15763041b3f44fe9d6fad4afeb2cd99258df774995b03a567d85553210111d7f0eeecac6a065f3cefef4ecbc607d49972aeb8be6042cddd844149275696cadf5778629c36d524f8b99b2445a8358afbad1c0d549312d6f5d0928fdd563e286ebdfa2e7db8acc4fbab128557ff6dbd03d123bbe525d0cf37cf9624f06821e422bf0f0ca8e27baab590a50d1e563098c920be15c0e8e965a2994d5916af1\n\n# tcId = 134\n# length of oid = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 69a1305c5eed4c40a1799a68e0bcd73f2fddf4cdc750d24c1035eb256eadc6e59c13a7784b22b09f4ef0c34b772ebe608f9306bf5fd7a463ce0f96ad0e3a2df6e1dfa8ac846ddf54b1b10dd9583724a96a0500d5aa6184052d553266d6b69b14bc76e82e15386d3b961323b326d75886fa61efe31244f5b79f83eb4ba8eb5d19d066e1844c11ba8ef225ad6817d6b560c0ef551fab8589366ecd74b93a944aa53becaf4c8e77b13e2da12fe5543c2680ad76291f08a146ed42e0273592bedd08e493121843f1f544c766017aaf581bd1645614edada2f90d4dfa5f80c1ce9e21efe901b8ab5687fad0c022b52e154abf2bb1d0c02e7cf934519c0d934ec995c79c244eb3e5462fa86dc7b13feb69abbba73610a70f69dac24e6e5ee98cc7376102f5f3b58240f13e0eef2ad0cbf1b33e828345d17d7940732886a20e05c00f2f400d2f45ab68778f3ec85246e0a2851e44fa77cb6079addf354a37512035643ec785bdc9a011e6d0788208c1e14c02aae32c3ff764f6455c8f8ac4e5017a5d5c\n\n# tcId = 135\n# length of oid = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 8475c42278f3ecfb53a8b19904c4cb40ab5eac50077bf85b8cc71f6faff06321110aa240f9a7e8d3e99b813f29c4bf35acc8caecff0873511c9bb9f87e0228a5ccb82601dcec8b8b99acf08683e70981af9f7f2ab570023156471d77d9e944f221bdff3e666f87dffabd079606a4fc139af85031e1de8664590340e39e2c117054c8b48b20763b7b5fca7b5fffa645f93d4a9d6f3336e229f9ddbaa4e1490235c0e7f516b2e995d5abf602803c9e7286fae0fdc7cbed07a69f5b1b11cec32062330fac3b85cc4b549450ee358b859a10b2e8a33d988e52ac6921d5503f95f47d4ca26d04b4d850235f78aef513258b627d27d47edd8374828a1dfc26e4f1c2009372110c729c01dd9a65464bb1ad4be056318a0c0beee9458962e727852374dcc27f437c6c550be2333d014767d1ba0aabaed99297a544ecdb27098cd2acec886ef4aaca14a030d07ee42dc0194c1f867b77aa8b7187358a5d185ebecb24097b00a136d39553cc508ca82dc088f359cd836497b3e87276437e132096b03db97e\n\n# tcId = 136\n# length of oid = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = ab5bdea7d6018c803966227c8bf584a231fec444b6bc1e53fd3f240b30c7a3d84ff099899902ab9a11f1f2876dbebe6514f190838af546a249f3ce4353831a20effbe944b97b523c3857eec96785dd117ac188ffa41b7c8374ac37b03bd14afb828641b0c0bb2b47c1913ccaa5c1428258461ea57a72678e1ee41fb2ce9b5a1c3bcf3d44b8fed062de9a3600e940949b7478b452af12c97412cbf8f0bf1d95cb2bd4c3581d1ada8a0efdc2055e52a16ed7c2adc36e5f26d5367582b475a61bafd28d92c589cddcf99d3b94c64254a9ec0ea409fb5f480cd3a6e18728b68637b563467c48370286457012f92106278375b018a2cce2a4b274a4971725254049065198ff18e0c6a2f216a3df4accceb0077ba4b8d5492d7078d093e442b24588bdf9076d727b3a17f17172c8240294938b45ce0d695d637f11c8b9a4d71eefa0237828a6ff62d9b0c88fcd4d8a97f71b09df62274f51daad2036ae7765a03036ed637f3de571f4f8af7522e41acbe84d305f43d74f878365ba3fc0f2dd3fce2335\n\n# tcId = 137\n# incorrect length of oid\nmsg = 313233343030\nresult = invalid\nsig = 32329315f2d1bde7c6d3ff918ff3101084385adfc2216c0bbbb22b1e3dde65dafcf76864189d3ace3695e51a40ae844ac6e9fc72f1fbb04a047c58b0b6a86df0f2f73726eeb8ea2a428f1588a222bc95bd550083da397add4a6d37a14358f105e85d270b14fc3ed99c35e75ecb818889a065e9afba8918a8f0590d292b507fe36cc4f416e9168cda8ec687ae7cbe2018a585f4c9d76323656ff4d554744c516128eeca1eb6c77c5f566b1ad66665cfc81632cf47f76c2d366f3b5fa0818ccc39e1a95ae9a5a018e8b9defb060482a5e38b4037cf50d23bfbaae13f096491a811a633ce2aad8317376a087bc46f12154e2fd14b2a008698b0acd3485d326dfbafb1c36a1dbf5d7da8119f3f456a4c0db555aacd48905646ad6d65b64deda1b248e133f251ab7db6bc8449cdec4ccb5f45b1a3452e25c3a04f5881ad19c0c241e10f18ea4aa41e1856123e2694dd701edb7310e651b3d7d295bd193f800000931eaed32e4c4c52e339e939de6612ec6bd10d384ee228d2d14498fd1ee4ad3b46bb\n\n# tcId = 138\n# removing oid\nmsg = 313233343030\nresult = invalid\nsig = 6f4c5d8e23801e4dd6617c4670d2434af72844a997379dd7f877179bd7405bf407247e77a9b0e76956b0b3d61ac2592c7005fa85bf3cb53a231603070a83880c0202e6a2f5e4149ae05d5333f5daf142a8ee7b649cbc97d465b2354e68a192b1c63c51a1166feb428afb215d89e51bbb076eb0fb7f02a0bf512ef352561da2ea1a2265eae0dec4c7f2eeb232208965427c81c596cfc7f18ca9510bd34e83e5a51473e6e138b75368191d6b1b2b605430d9989e9ca4dcd2daa8f11e0ad05b20f3b0eae07795ef85385cb29df224769038f89599990d0ed75eb122e2cf6c0aa80f185c535bc328ae21e53376095ab9ef9f15ec663df2339fde30c480944026304d553b0a2f270f4ff999a0f39391a80a73c22644d53e1e6bb1820826f4aae6f126831b195c2d137b919b5d20d918b3fd3d85a83cca759850b27ca101460d1be3cd417dc16fff5912331118a4d514fa3634f67f72b31056cc65d8f6a11d1fe10618b88fc2754830eae79e12f4f302776137a772489e3488f37cbe0a1139848fd288\n\n# tcId = 139\n# lonely oid tag\nmsg = 313233343030\nresult = invalid\nsig = 70f10afb809a64ab2407f0c3ddaa0f2f38f981b19536f3f5ac44a6fc85e5535e04795a16bb6c435528ad255402200b02f203bf3f539df42f0ce3cace96456728814df95772560057648867897603ddb96a92f3c7652ec24ba86af4fb7c1a8ddad03409e1bf982d01b63190661dddb932018cadba66a43cb5c4694233541c56d9d03e659e074fd6aaa18976856b8ca27342cdd3a516d587d5d46c9c845be535ad1a923c2242137d0f3dcc112190a807ca112c069fade7af53f17f2f74e2f11fda2b75f9a48250a4e9e8b34920fd20783b179399425b19e7ea99f395cd3bd7d37729a287d423623a33542100d13eb61d7f77439f4e3aed7265d7a08a7d9eb0477aaca23261e4d06d25ecf1219b87610e89af4c1b427f7a9432624dcc6f78454376d215a6fd8f6e5f1211a18334395ffa710c8730abd64de0daf686a45e979547c46f684fc130f8cd9c4ec6252408a87e29e38a8552a4a908ed86f3f83d42a9d7dba1574a2453dbf2613f8c9aa5b7fffd61f222c122e39d86bb01fce55acac1901c\n\n# tcId = 140\n# appending 0's to oid\nmsg = 313233343030\nresult = invalid\nsig = 36343b89eabc3dcaa053b5be3ed7faa79c143ec18800be18ddd3747ecd557f09998203325f89d3badb3eed7fbc20823680d38eb44dc368abbe180474f494431c04d936d7b5886ab3aa2306c0b03750df05c4e7fcc2dbab79736e2ec9b0e27e277d130060abb4ade70cb924ab950e95ab1c2335578c5cc40dc429e397691542edfaa8f4d408918beb9b0cc0668b6f1cfd9692b32f63c9fa4d482beac2745d5777b6da28ed7665bbaca9999f65309ee46841a8e3998fcc6670edebabc4515a438375ba820380138aa7f2e32b8f74d29db86cb85dc2b556f4a307c02237f18fdc5634811653ec2a440a53f8647c495b76221c058268713191a9bdcebc148a60d2159f28d92f79dc5f3b5f0c09e62bcb68f7003bf71bea00d25c4d7777a28103ea43e92951d10be77ed7c73cbea573f7e46f924e4d12cf9df8faa53560153c8fea87365b90ad3f0e6a50b41612fd191c8abc3a5d8f98bf4006e1ae31907afda4b20d7632829bcac43c100ff3f10f0032e1bffd3b207eea2d6a87027577e5458ab81e\n\n# tcId = 141\n# prepending 0's to oid\nmsg = 313233343030\nresult = invalid\nsig = 750133d796053811558b21dbcae35e267b2fa467a9dee49755d45599a6774682e40e00cc46cbdd412e6233070dda3a59814d6238f474d04d9102301bc281816bdef246f80bd3ad06646cca4c9a662527385d3c473d03ec4d021db74c7a1ba6ecd1cac005d58163644b993aea62060a25470083006a6515ed45b1e54601b9e5914b8d5e3a630f29bd88036f5b708d2036e4ce7832a239699b2879b6089048e33c05d3672c0e5c573699264de531a0f6c2c703335fa32cab0003d25f9bb8e0fac2fed05a82c45fdcffdfa0c2be8e5501212007eecfcad720310a8ff44ab7dd52e69900344996ff0dbb7c39d2398769987402a7e1d9a6378721f5aad9faffecfc4fee8c4092207e849715c56ffdd5c42875d170467799e0f8a08ad5edbec4b939cda099d30293bb76", + "086c5315de60e967267f3ec113f7fac4bfa9af68c4288c69d5b0073848aa722124a9f53654544923b5556eab31bc22ecb6cfd8b18e665fb345e8b5e48cb63ae37c7ab8125a1f3e5d6c4bdbdb9778d8e27f91883aac99a69a26\n\n# tcId = 142\n# appending unused 0's to oid\nmsg = 313233343030\nresult = invalid\nsig = 4e9272dced0bf87a8a3b6ce118532d1ffba529ee783857ea0ca7510f4dead7406f10c48725092eb41561d067c1ddbe0c111ff24aebe1655edec615adc123839cd77c1a3de8baef7217911adece72b3a6b617c69e8c31464e2bc021ddd2dbdb99ad28042133a6a02df2be394d5004c6ca2d7520af46227171a5ec22870fc8a7dd8d6f4e137393261db00c57fae4fede6ddc7078f7c9fbc2235147da239979fff0dac3c5f0ad10fb3de6ad70e12ca6c3de49b8a36383649da69b62de49c967301cd36d439a6c1729bff6ea0e664a6fcc95898b190cee2492fc6535b7552b5f04d71b4be2dc0471dbeda5ddac313c9cd4e90109f04bb09515e54f6463450bcb6fe06a5cf80e7644f422cb83b123b94184c9d81fd0bd4357b60aa92bbf35a9a7251c515bdbd6016b81ed361837eb6021393daebe302c4c204ad3fe724b4f5b8e52f9590ea33e02ae1ec2863df83c33fb6b21ee051f489668adbccf04883d6aa972b77dcd42c03de0be2ec9e63a717d3713a2c7d31163da70bf53dd3ec342183e9696\n\n# tcId = 143\n# appending null value to oid\nmsg = 313233343030\nresult = invalid\nsig = bee3e72ab46b5bb4cc6138dbef0aa19effb5067358d98252ff739aba22d21d7ada25aa395aedc0c29224ca5b88169072fa6d5da902130ce97f42072b86103e1b93313452fa6285c3f963689cf15c0aea60ebefa1058603b5c9f905d5849e496ab4036ee73e5ac612b364c84b34887cd0141ebc114e240eb8885b0ee82f31a9548fbcdb6faedc1c27e0fb1fb4037124133088d5edb6d34476e1bb93e6da177197b6463a0e1042581b965e9d0e7797c13cc841263b991af9af21f8ccd44f4ff161b6545296346ef54792dd5392d26b8bc2c5a9dcca41ccc6adaa1971cbbc5e676f0c6633ece739b57a24a6bc54fa75bd6c4f2d1e554d7d7e78a57e012f5a86121e6b11daef66a0004fd514e3b688770566f4f98db5d368f1e4ca9ae583c245e30e485d4b71cd3a624eb1157716d6532c866ccdb6c5ddf3e9a6e05952f7c2c6f37c50871b21258a2e9cb152bb877971aec6827fdfb4fcee828324ed2decada3692e3c4483dff53bbfa12b633544f04866b3c7c15f713786feec165502eb895382c6\n\n# tcId = 144\n# truncated length of oid\nmsg = 313233343030\nresult = invalid\nsig = 2cb338f3b3e9ca09f101b5ff3169edc180c1ed936f2e4a5f6ee7befe1e005eaa450c1ef3e78739d142dde992cf73b2349a617208f6979220c85f7c5286c3126816e47cf0946a17de1fdd80657ce79254881079da225d3b10898b1e5eadd04489f486a14ad530fa6a444c19d875c0be51875303abf214bcc6fedb1e7e43a257a3375f0ff7ef64e5369b1ac071ef8a64336f5660ff9c5e8fb389a6029a8ff853d4a8e565ba17b0f7302d4eeb5416598421858ae2ab65c2411ac92db844bb430a745470f402b13c9575b171fe9e64f71d6ac40e6ac65c5ee08160864c89df2d9567c13dbd6ab1cc6a767892f0fbcbf2d734424875e9775c2020deb25ad8e93472e1ea1235bcd06301ac181bb20a700050e08548a5cc00234a44e42134591ed70dd4933f4d6c6dac7abad2e6da8417fe42945ced787495fbeb99f2d4648b9382d253e0806d988b1f3a64edbb28904092941c834b63243d583303f6081067d1fabc5afcb818ba8a2edc31890ec28c204eb767e749950c18be17950bbe9df4ffd2bb97\n\n# tcId = 145\n# Replacing oid with NULL\nmsg = 313233343030\nresult = invalid\nsig = 85825bd4521c433e916152fc89c06d11ca2de44afe406108ba3cf299ca02d0c7165e41ffdac6279d0fe5b915f0aab62de6277e381fb8eda73a89e880fe546fa425f6698b89e47d457a349ac8cf0c38f255981b902f6e22ab9d90ecba5682da95b72ea32b243082d564466abb5e9abe6a66c5cb9f7977eb3b827a1b98af236340991db4b6fb957c4b055c23e13766061aae849a2a8edcd3ba1521f1201cec81c6ad2cc7c20123f8e1c13d1431e6dfcd3481b085e32ee4d935311f5341e3a0c594c709523bfbe9b4a0374967ba42390e9b9a1cda573fa6008b9a0a96250e9ccea74e5bbb019f1b870268a48df9d39b422a9064d923cbed7063d8423b020f07c57e4e33122705b523c845bbbf764e5d505d42940194699143188c7e694059416070f4da019eed7663af0f007d79433a091fab6cef6bd0f3d7021ae7e82ff956b37f9c88c2c82e57fd834abadd012286f1af916819bc9e91085eedcbda6b5cc44feb83018688da4b97c9dcdc1700d015b71597e96c0d6951f04873852a0dc3397f88\n\n# tcId = 146\n# changing tag value of oid\nmsg = 313233343030\nresult = invalid\nsig = 8204c6b2d4027f7d93ff89c36eadeda03a5b5464deb495e5bd4fe066c0d9778042b8fa130396c1652949f0fd577ca23f988dadc525a820cf82756992ff81c4a7562ac1017ea01f8f9cd0cfc787dca972f27103a4d92bf215eab991e6970e409d431e6bc2be4f0586f5b98b4ba708d9761905aab265aacb9d495469b1863f5938549175f30b30561c998e081c41b039918a6fab4eb2519e6cac910cc4d931c6c81e899655f06c8a26f7b9433992ff923f27d982c1bfd0dcf62e5ca4c3e035961aacb99f831bc0e42a668c01256cb830b7aba0f22314b548c0b85d84c61c9b4a8ef331bd7c98010c9a65bdb7bc4f0f09b87d0c8b8a1bd96b6bc2035b43348dea48f1f4a4ed6e393040500a12d7a2ce1e08ee8934218630ecedbf2fc7fb5c6748ee3118421967e8685488fba058f312ae41f7d386905646ee334e294662a97ce70486b450a64dbf8ad7c1ba50f0c56295cb2dbaad3833d3922566802c80175526e24b188e18574292e225bb958305dc2749ddd4b46685925c0ae9deab2671e1e799\n\n# tcId = 147\n# changing tag value of oid\nmsg = 313233343030\nresult = invalid\nsig = 6593928f8e0a2a486c9af0b6af6ad78865c215f64ba3b72bf3a103788a352d216fe5a2a3382220f037fc2d8a2d25b42f48cda3337cc831e4746266121181bce964abbc7eb6378b8c59b9ff59de336989d58003534458a47cf18fcb0d0397333045f0f0d826445b62487217df62131ac0d84a38a02ab39eb7fb1451c7ab10f47d7e62c06d0d1b8ad35268ce58573432b1f4a9515bbc9bca4428bba426a3ae8ef8695bae7a2a3629177fe00edafad675811c90959ccd7800e4ca1e22b16910170b9d697b25af45b9d2febbec6b57d550b7854b425fece239155f068c6873e314ed3c97a46f7a61c8b82af22191feda559b7e93483350652354f005a78dc62bea279a888b4a6eff708eeb4d93ffa0f5c6381a9f6570746387f0e116376e4625a01ba34d68d39b6b793565dddd357493e8d45c8e676026e93b26abcec1b4ebf467f3f069dbddd63f30b6be3b93525618ce903463ae5cd091c39263327b40b76e4be0403f6686b0ae74213a5208bfffc360d3de49253b85585b181133e55bb38aac6a\n\n# tcId = 148\n# changing tag value of oid\nmsg = 313233343030\nresult = invalid\nsig = c138f33d241e4e88846f66b4c8f6d27c89c08297b8acb8e23f6026b4857f1bba758f5c15f4266b8d66aec30a5a46b32839f8863b3e2a909ff37c97322ca4a9eaafb2124171b52dfd63465e147b8e32c99cee9a60672b70163e747a238402477dce31497b2339f638d5907e43e3b794ed8f1521490957a57cb9bc82c0b066c20c826237c205bd47d1e6ba57eb5e37364bb5fdcfa8155c8015ca06562f7f0c9882cbfcbfefbd2f5ccfd2f78c684a9bd76c659bcef3de3622995ba63913120be5e0ab72d16d11cc1ddbf23d28abbb8a5831bd0f00a8286122a117d55578e58e0da5b7dbfb48aad8ebdac7e8615ccb9c21a1d877dc84f1d89aabb0976f59d038b9657c636b762801f214953b0d0cd55ba1bedb4701c5e2c3872f364585bd675927a56a3a0fa0b962a7170f925ee921c9fbb9d0d8a19057337ae74940cb86fd3103b232314385cbb59011506f94c14d18850f13556cd7f03cafdf9229030963f325b15c701c60668e6a167f9b3256bca99e05f4f5c2c3dbff30f3ecd36d79bd0db54f\n\n# tcId = 149\n# changing tag value of oid\nmsg = 313233343030\nresult = invalid\nsig = 8c174bf6650026302423faa9b90c71e66c2e54e65ef77da93795f04dc8fe0cc05f992cf00c41486268252f52d17a4b5eeac356866162c031e55d3ba7d0ccce982fb42457aaa2a92aea50f9cede6c19fc0e1052a4dd85d8039bc3f96dc19d8f2faef835267b6d235c25feaef590c5035c2dcce1ceb6172b693a63d3ae5815f5972bba516a096bf45e006dcda300806eba09ebe7629a939800b7eba88e7f82467d4d65889ab65f8fd37ddb27e62bf4738748d9e429eeeb41bf2a4573baff6890cbec660fa0e1e0c38cfb8a1e086c432562fb14b28c74495689e356ebac1a701deb7328ea31d30227aa9ace477cf76ccc375519995788f90b41bc7f6fd4af812ddde49be65a2c7f9fa1108376701099ce79d640ca5ddf1d34634513a76eac0b3ae02d06a2195263d79e9dd6edfe9b5bc24819fd5ade71b1d1afc3f5302156b97bc3c4fd3386f0a9c00c449eb05b1d742c75f02ff4529ff1a0c0b34ce4cb91a5f8b700d9c38ce6402bbefbbbb3e158aae035074a6e0c91484ef8b65590e6870be30c\n\n# tcId = 150\n# changing tag value of oid\nmsg = 313233343030\nresult = invalid\nsig = 39681cfed3cb5ce9fe0bf719a1e92aa3af1302f6b6d0c93cb22795e0ac581317796a79ffe29b5f88fd38b572cffd06fbd2426372efc6f2ec01b2267f8c225cb6c6d911c87e7dd756ca3828383eb5bd9c56d74261e62550c88e39e7642604529ba45c81c6adbbd4104788df8e00f04239e8d4c0b43ad15b497ec04d7cad30dc0082d586b1d88d121e5e5ec1396b207410a3bebbc065ea25b97ecad9bcb9594b749a6fa8f33dc11a64c48494201ea0efb73a203cf10ec68dc052bcb68d336e31535bb0f667001dc2da63358e37bd421fc88a3009c698230c057983968d61c31462363bd93c200ce4f5add74f20d877564e88c20982713da42a1b279caa845b486b090d5fe6c154800feb14e67498cf6d3176a707b2b1c82fc6773cf65befd64c9446a7b62482777b1c77c8dfc644798a3b21533c63e0fbd39e07b127b051ea2cd85b42c0592c27bd988781ef3a405dad25e9659d9ba5cf1b3c3110b59117c322491d55a9c93c8a45635b5b0d378addd082453a6d190b8fa0a89a59867d85dd4d07\n\n# tcId = 151\n# dropping value of oid\nmsg = 313233343030\nresult = invalid\nsig = 7206322956aec277538b8bf09edf980c88df3eb0dc0689f834581b94f801883b384ac4fc218bad411d44e49c03a6d0ab123a19a4f0c7a8e72092acaf5162b0e30a2927f53543b31fca0b0b3c1abe56268f442e6f856018622584205dd898e2f98766b0def32894a508cf7c824ecc26750082b80408cf7a3fb752172afd53afd6", + "ffb1f0b96b9d0c705574eb0f1dc1f291ad5af8c5d1f539757e19e19ad600013bfd2d1fc8b668d0e56a138381389a7fbeee5a7ac363fb4ad95006e3b3e16a3b9abd450aa3f16db19facca9f45cfea2fd52034e7a1835f6e10d40be16e44a0ce5d798a8bb9451488f78edcd203455fa6dc1253505fa83140d610eab8cac65fdb2c669667a75bded33bbd4ded3b0691de5e30c0eed12e01e9c78e56fdfa485481fe671fed3cf558730acb382f24c1810c674e5459ffe449eb82840bde95fd2f23b8438b844ca019882778edcb7d5b6f4d2ba16c5ab439556accadd3029173604e5ba40373d491779a049d0106dec560e084ca942eb6293bd3d88a6b4627332a615f\n\n# tcId = 152\n# using composition for oid\nmsg = 313233343030\nresult = invalid\nsig = 2130fc5f94a8a359b90ba546795e788328f09c45903823452fd44c5a0703033c7ceaa0bd956c20b12eccc052c2f535400e0f2d0e90aa0fd1066e400d6e81ee19fc2b7827b48537129b54938d324680966cb39850f755b71d967b50fd7d699ce3fe956a150c17088a4d29740905d4d1a6b5e013c4450302bb3c125e90748c3eca09e39d7c6e1da6d65ad02328865e2c0efc0eda5de61153ae757b33965a95da80e23f531286a3288fd61694298e68dd21dac3816aa0b80c08aa57f16cc24c641164c67bd98b2c5a895926e1025d3d699ab7cb9e4f0b43e31f68bbe2fbd3655a705b28d4266807e236c4fecac9ea470dc9aa55690e428a1b353696314e5c62d9e5895ede07b7c584f65d63935865211fbdd78cd7b0090bfc169dd000342d14b068c6adb65068cf708c4e3c3be72302bbff056087fed642480b9bf2064fb3f0f0356b7875025a4641fe5af22b98432dd708872412144cc9706dea53d9d8f96ee55ed821715124bc824b408092e5eec66eb574f069be3b5d88a8f152ab73fd160b4d\n\n# tcId = 153\n# modify first byte of oid\nmsg = 313233343030\nresult = invalid\nsig = 575ef9ef6335f748555a176d35ef3edd9428abcc6c00850723b926fd84c0937361b662320866f555f6e1062e1844aed72754da4f50b1c960b8522ac932cb263c40d301d232dcda65ced16d0e8272c2a23d2130db57cc2d39b0b1fa03ba4c7fbf03c6dcce9b474583538f48075793c26df725bb88113738e674f7fb4490ca61e56b350650e8039beb39a97b6b55b5693cb7f4106a26ceba9322ff889b0fccb2e35b8309a25bd91bf0b8f5c2459cf81bd9e8c2ded35a9e87ef701e26d82207348624aa596e4e1847b111c518d881da598e1ab6e635af91c802ab35f5cda75833217517e84159bbed67bba55f51d62dac8d14c2f9e1a8d1b1649e367ebe7611af0331424ed6784a5497f80ba4617a580270a69cb2ce8b0f63a73d5ab34c8d7e3fa966f465788efe41f57a99914ebd708922d570d1334a81bd6812882f0a3b3f41f88a25bd48de158c4da84c784235593c00280cce586b5d388e4ccf92ffcbbf69dccc8171a7b4bbc8d68d1f00d8628b725f08c194fa18f064ecd2f3c1bfea173cd1\n\n# tcId = 154\n# modify last byte of oid\nmsg = 313233343030\nresult = invalid\nsig = a947601ade4bdd5adbb13779e2d0893eef5de17b6f217deaa8e005fcb9a5863e1e84d1258889dbda768ec247848e7c4c8bccd8fa10a322d05fad461ead9b51180070e5b263c5ca4bf471fe2711ca4d34312cc3741148ce2a0ae9ee7735984533606aee498481281cfc398f852ed82020e0c9f5036b38b31f9812f9bfee954411d7db1653c19194710b42d726ea0844022a2e0b5eda0bc205dd94e271883bf91458bcacd093fc40546bb71ab2ef72073e278d46baad57f744b4b31b100288ad6e25fe8a582263428f83b92646579d18438eadd89e59baa4de8da0d91fae6c3667be486fb7bd5891808930ed3c0f6b4d7a6b5e8898215ab479769f040380ed6636751dd19ba27c8284bc8661d7ab86c5242f6b012c48491966925c3f780b35a0286e1b389bfc134a60969d3345b4ce1d0bc23885fbb3883da50d1b470e1bca3e7df62e5872d7855072be216faa971684d632135858303c6de156dc89be01548ed69967b3265d208a62f5887c46e3b395847f8177debf3c572ef212dbabb8573799\n\n# tcId = 155\n# truncated oid\nmsg = 313233343030\nresult = invalid\nsig = 4c2912d0f4de569d7db9cc1a407a01874ab8e0bba81f38c370ba55920f64b41c21e6a3b67e5e0271f8d9400374f11396388966e2434aa0ebd4723042c92a876b635b8cfdab85dd25fba5f88236fff2f7caf23602c479c95b5ea6cd3e4f653cb3639e75ac1cb39d268a035e744453ce706caf3f53eafd89ec676baf74f2e6c9cf8ea4c288ddb1198f15a77ce07e7335671168eb1cbd8c607087dbb17b263c9ef83e650ce9a48ef2fb5fd37a13aab9e8239bae823c048cff16a7e1897f5f7e06cd685a829a85859695fe6956179cacdce7181d045419e69903f987b35acdad97a7dd2e7713060c67b8f447a02afc218484cb1948071eb64e77cc4e48d0bfc635340cedda460a1201b3eddec7ae5a008aada21bed3060fb17c8028eb2bb767d1d4c948bb5ff9e9a2192256e59ce48241f5dce29dde5ab2de0ba8240a992239b7a2a546ec66ef7ae549c8a15fca6a70cc1474c90945795e876d609d5bbed72b8f001673fd53b9540be4d187a484ed33506464f402160bb1f18a3dcdd47582cc74488\n\n# tcId = 156\n# truncated oid\nmsg = 313233343030\nresult = invalid\nsig = 357ed432befdd0d673605a705dad0d8d2f100da229e979b1ffac404596d777269d9469dc1b9a4a389015faeb44639d2962a635c3aba4ecd7f38870980e87b2af9c7afcddf2fd379160cd415f261215a5d46ce5c0c9512f543a8b1ed961d2a75415c9f32db7892f1188bba23c6d5f2fb40aaf4fbb003ae6edb74cd0844f7461b3ee029029595b6b8d299e392d4763d3f6b31b222bac5777f87bf9e0beba302ee87da8be3dc5a0434b8482c165087d60532c52c811fe6389c7c2728cba5912d26d8089635fb01cb8d78aa5cb41cd274309d97cc10dc2a43461cf951647b110a65bf47b8c137a8363455155332287867e4c0765ce691cbb750e5e141aa6fe61fcf4e4b707420238e05d955e5dce215168b4d1742dff70ee87d4e24bc0fd9b73835d8cb359a28040935b4c64907a7623d11118e2997fb2282cfc73b2fa27d6e58ba9f5b317f35a14363c78f82466d7c9cfb8b07210289817cef53ad672f10892b0458f0004b68e74796bcd98e51f2e2635d494c615f6f087a293ea4d225b3cf4b0d6\n\n# tcId = 157\n# wrong oid\nmsg = 313233343030\nresult = invalid\nsig = 5c87e321dbed16d59c49867ca35cbeed697be4f279027879604f1686dfe246dead0694eec5b2f516702b36702d7b11297075b489d9087bcbc0eb1fe5e756b5824a13d06bcf90d298592ddb6e13ef362ae9eecf0c36380159ec511abf3d071ca89b05a56d709c3350de5be1926007ab5830098cf61e677bb4c9d2b79ddf11d9115905bd862b4cd708a069c79cd276b73aefa05f920ffd6a8fb778131ffe4c8a5ca2d81256d43f60e123564bebf9bf14d04cb6d3109865f6f44b21a8896c294c50f62ece38798ebed8276ea7e40e1d1fac611cb511295c03199491af3e0c3d8baccd4d30b2c9d4d47067073f074f29c079f239871dd62e16f53352914d89cd4c126d0e38370f42a902f007fca4c1557b2d6b420936d1beb484c28e392b4502bac5cc5441cbb59daa3bbde3644836682a45ebf4d683f11bd12082b4e46610847cbc42eda82b80a20c4d847963fbddf016232a6c7bf12409108eb395f66c6335fcb6d1b15f54f825f15c7b2cdd2afcb797c129140626e32c8031caaa007acdbec381\n\n# tcId = 158\n# longer oid\nmsg = 313233343030\nresult = invalid\nsig = 5e5a6bc0a9b6f5beb342a99156da240d4ada680d83939e62a8f9d5fc19649e9c381ced323c26e642d034b67c9b01f2378ba0c17a853d9c2d73d087ff3b011959f02c2fdfc880d5c82179da86277fbc23a84ebd397fe22f775214ffb8d38359fa141758ff4b84836541dfc5c4e19337147935cdbc7dcf52c91f647ff6e7ceb82f1601e4eef9b2f799b57d0c1e3bffb63bdd6467b9e385db30f56b46ac06f03cfec3cf6805a0539029080b3b95f7efbbb3728d2cac0b98bc61bee10b4a890b818fb0989083ad828f87fb79813199c9de7af666291d153406b8d09bba99ec7675cb93ccbdc2a62b3e89a6b01ff66fd69ed667515f46388dc57da04c022f12ceb2093f755e32281ec105011ce7179243f5c399c219192be4667826d009fb38c7cb2f212d8ca046c00deab4dd9c3c48d4935a7736a835c2a4aec58a240cc66b50df20f21f4987641d5c6ba78799eb792c7973cb01e963c2865a76c1121bbc34c9ae40e55694f56b196429fbe0b89628b3a08ac7289a55b365e1402fb61ab96410fed2\n\n# tcId = 159\n# oid with modified node\nmsg = 313233343030\nresult = invalid\nsig = b69fe03530859d30589af21cb06ef78702dd9778aeae7062204740b36b79257951bd30e4aff739dc8118a5a97961b68304ab277fbb0e0abdd7bd53b7782812ed2bcd26fd60521bfc17e543ecbd485f9b7da6da75fa558ced68cb49d819561339ddd271d2f484694d83ffbb707e731fc9972ff1c132ff648451ecf6fa2525c3ab696a635c3df648de67344f8e6eafda31d94dc32aff88537374b0562d887f437f59da19e18464bd06659785cb99f4f979be6e59b0a3a0a336019af8d324fb3889c40aff31810fe8c6f5f3d61b79238ecf5a62505cab45c18f8e0f52f18a67085b8dadfb1076de0c48631f3d200abf42c07581b3e6c670d71da5f407c7e3e31a7d46209f95a2f14aa8c595bce7e6a371405ab886874ce8740259dcff6377b73634eab9f50e83ce6629faf96c470bcac6cedbf991ca7eaf15c95167cf086303b43a88c56da11983584fdff05f6fafb3343ad4e32c534a9ca4b59f79e80f2ad191855703454f1353989efd6c075627408b61cd7c4b804c8815911c3a6d2976cf35c0\n\n# tcId = 160\n# oid with modified node\nmsg = 313233343030\nresult = invalid\nsig = 589f370ab31921a95b6bf0220d0bda22ded0719e0979e42f205b2ef3480bca5f09a75123350edb164d1144136cf15c0ced65f2be5356b7f74b8c0595a4b14338c83e501aaaf9192fd80b987d5cf6a0920a96ec8c535edf5c114daacc7275cb6e6d1a224a43aef54978c78a5c91374ab5f60e089d8e80e540134c4e7ca936bdacc5a67e21c91af79ff05fecea9c07e8926f8d1a82478f4da3facf8f7f83e27f0907abb4ab1b82ba451a39837d508b2c1402c64e0455c4fb8b4f97905f2e168bf5eb0f1ac62d205db2f0739130908b05c6f2fbe853df8ff40aedce176114fc1787bdc45cc2426f7db44716b604623a856e1907fcd788d17073abfd3b7d68f80747785d896328158e5c597b03e312f0890968d482fa8cba3ba0dffdf05a71f872410db469d43c9d7bb9e4429e57e56efd9ce3263eb0d86e032480c3101be930f1d313eb605a694b6744395d1b9fc21cb5e7dda9ce05a87dac83d7b8ac5291ac987dcfba1b1b5d237cbdfb65b573db9cb4281469b1cd267c40c867750a1cd5c74ec6\n\n# tcId = 161\n# large integer in oid\nmsg = 313233343030\nresult = i", + "nvalid\nsig = 9398d3106cb77d329abf72abdea2bc68e64a35faaef9e32ba9612e43322f6252bbca89915cd5e529e8eb976ce97e0f3e620cf3e8ee84d92fea7882d90ce02e24bd7f3997ca7bc2d2d615a183a5ef4777376668068f6cee91e72d6a5d714188c1e02196fe6cdc65681c07e1c92c55c2bc56caa074953612db3d6a401d5754e32e79c6b773e0404105dc19a125f41d819623854467e5192c537f9c6bbefa0b7fad645955ab95ce487f1337095647ab728fbe1ba21cc6164dd41c7707def39713a09e945cb67882d0f60231d190e6b872d81b80caa1b36fccab7bf8bf4e7c88a05c5b41933dafcf3d44e60bebaaf8fc7f63f88b970c2a66454bdafe41760f1395eea1e9c43012f1ba6dced5695e2229c2e1a8e77fb8339920029a8b9b389ab32028acba61a4763421bc705a0e4e674e6ecae2f92f65d14144731badcccf6dfd2b545ada88721f2357e3c224ba12e420b82eb9e455c833031938135fa71d2607e204e3fa78e6bbbfcb3f633bedbf076509e1bab749c6853faea658e39652b8cecaf8\n\n# tcId = 162\n# oid with invalid node\nmsg = 313233343030\nresult = invalid\nsig = b089a7ba334bec3cd96ec5c28cc8179dc54933a443ceb64b087a55363d0553da24b37647820f3ce8b530c3b1601f7b1976c2cfbf5b4ec2797896c52264474feb1711c3efdd883fbaf35e5f3f22ec02ae5aea2625fcee030bbb3eb08cd423457b8f92125224a7ca0fe4fa10748769ea6060b5085722efd14399c55b3197668b1b2282476b845f4c1dad4dc94c265e40cba7ff2fe8bce5c5b4e51b274d49654bb087e3abef3f45879b28765e666b7be4136d0cee5b3d2c859056e55b1846fb3199bf7dc209e603fc2c5c5420756f5298490a7e2747f283b44564d7dd1b0829ff74b894517aec399ae18e20a0f13ac96578477513a61611e25a024f8344ff83626f68c62a16a15dbfeddc060c2db00a024bc3c02d62bbc614ecce1118d88853feeee755f9e28c2c943daf7e237e524bef4f86ac761a5d9eeea47f05a9a16cdae78a59acca4729e7720db6396563cf3ab9456058fac2aa05e7c5ae484a6a1e8d9b5461046d944d8d34b42b9bf35f068994cef3b477de9685b9365cbc7b4facccf55a\n\n# tcId = 163\n# oid with invalid node\nmsg = 313233343030\nresult = invalid\nsig = 4a8db880aec3d9cf1e3b778b4f1616e1b16ab80ad3410eb847f4319d35b5ed5b63ea0f96260434e5281f6242807f1e776a9a5f6dffbd65c8de10b8ba7addd44289e30b46ff327f7db6c34b09250c22a1ff96044942bb029dcb2ad0022117aeec3c0fe89421e9a873d049e3f1f5884f3f1056974f2df6351960fa5090aedf544bcef4d59dedd3ea170c6bddf6bd5558d8d2ba5212fae3138406a112d0261128284c05178dbed5a25b589d3f1bf90e28ba9ce363f53605016248a7cce838f7ca2f20fe43298637de5327a9c67eb0aa10e6e92c0fe3f55fb299caf302ba1e87c1a3c50142a27947028f60b9baa272f662f443d78ae446f1aadbba4099496c8ed49d9b097d67ba2babe41b62f0feb8a11261f5c4bc86cd9a55baf5b83154116c1f344cb71f9d2d7ff6a8072ff5a9ba0d6e1817a798693be738f9c9b0563e40d7c8737f0f38c73229d00b57be895a75e2c1e5708d39d4a9447de6412be8d5983f5c1bec5a67f941e844c2ab8da51628edd6a03a8d2d9f5bce86a441b5981f7e6c0946\n\n# tcId = 164\n# long form encoding of length of null\nmsg = 313233343030\nresult = invalid\nsig = 33e76286146ec82e95494f798a413f2569722f1dfdbba39e7daca5d654fd9bed5b25272fd3083d493ccb228b9429f672f5f6aecaccc3b6b66e6cfe2748c55c772c7becd12844369fa7283a95aaefc7b7e6b444ef9ea0151655bbd358ba6a42a4b2b9f9c8ee8dd805724bd8fa4d29e322d56e997ee1dced90e10b80a4e2d007985214be77a1807935b75a2df81b9c87b177515bce12722b1ed2ba8295df7342a707fc02f4ac1b17b9413a1f61015c4ba998ae75fda119f20aac84e921bc5d2232f7bc9c6eb29d8de3c57f4bd62cf73fc20fb6759db4f9c47988155bf73d4102bd78b09cb88905dd0be0b8e613f076cab8cf89711670a1ccac6c1b9fd775b05ea6bbe25ff038bda5fe828b561d7be73d68d881fa7b2c3c3cc513da9e19105cc99a02fb3791becf89e7419d2f430713de41ba3c439e6fbd4531aa0949e1fe8f3e910183e75b706083ad11cf3aca16bcf8dfc606ce28c2466dcc111312f3578bd41af4e190436f5c382cc14728c7b7e3f836662acbf7286e621dc5e121d5f5bf8af7\n\n# tcId = 165\n# length of null contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 2f2fe9ae01a02e6d91f4fd785c4cebe581cb323898e110062c1808801f822cb2e255f9b2bcaf2691e931df9e15c7f876082e569b3448cdb88f44b2a1e0665fce0ddf27c84ce4d9586da28d401e76a54e9e65f7270b0c34e64a7eaf720bfaceb063f984359f38816876d3253770512c5beb06326a62c86b7f05f394b28d09d389cef7644f03acefbbace66c7b1e3de93d39d831b2d27d3998190063adad46335dee71194793739780678056d7a7dce03e2352cb9b22fdd4922cedd5430a3f56d96f9b2cf22669bccb70aea9108fb81d7266d838bafdf7b707da06eaca841996abbc3637a9c246ea52776455b80fad6810eb01916242b3069d333e541b78778bb0e92faa4fbe4ef7feaffce181be52eeb5b6807610f060a93ed663028bea60de1de63b6f69a106d61a93929b6da73f41de02c58572083dacd98e0b11f57c16bc5f0e3ba1a95faebac48c42912a791488fd96322e52bd022d686582eb88fe85a48348bed36d95947f39fcb17ed2512974804c467c9a4ee5e3fe586bc54a22d65c85\n\n# tcId = 166\n# wrong length of null\nmsg = 313233343030\nresult = invalid\nsig = 4c7d25a7c86329b2dee76f6972d27481bd4eadfe1c901371d27406bcdda5c447d35b5b4cde6eff94fd5bf2e83ef8f1bab37bbf04307dad6d38b96a2ff6464970673b0c05c04c1c07e0e28d1fa228510d9b2bc9f5b4461330e348ff61a1eb533df887c6b3719c85d3ed4d75f36b85ee8540048600f4b4b70fef885e90c4e3c8d924cc0a53c44047cba805d15bf88366a50d8b60d5dfaae09e20e5efb186ed49f005011bdaaecfd97074a8cbcf87e3c810d9e698eb2a6f8b77e3868377af16ce42496a8f19b9ef8809dc35364d35d614f1309a3765e3da35b06ebefd522b688b86337a9f578e69a2640cea2ebb5634665ed7fcc7faf124ae7ac70c298e0b3493abd22ecddfe23e595355d5deb305ca5040246bc3aa450faa3a5bb2cd2eafa2433e4a40d1d602422c8d41f02d5a3a7d4908190e065fa5b18f0160298a52d7eaa828440bec7eb234b2c506172e46068823f6084058e511a8fb59fb722577005552346c04f85c841487285b6b2a469e68a374005d8404aaedb57d3c962c186ee7c27a\n\n# tcId = 167\n# uint32 overflow in length of null\nmsg = 313233343030\nresult = invalid\nsig = 4ef8d630c4ba8a424ae7dbc197dc7cab463ff00f93fb6db064d9987f224f2a589fdbc40e7d3c9043f1cbaafb47475cc9dcffd85a41a0b50614a206c5720d1151229d1d988dd6b8f56cc538b8cf0d55d1dc7003f51b87dffc178b3a63160b759c88e829afa2dfcda4b4cdc9e228a7a81f301e2edbb10da5bbd8ae9dc93ae8eb98d47e760012d990ef53ffbfbddcb8a7633b3cdd8695a75ca6b196f9e2709ae9b30b4f7b606eaba508bfe8f46de14dee5c0d663d01718ddd053dbe204475d5c1dac048f6d628019c8b4126003e4364e90121aa0d9472149590537e35858e9bcecadb9a1f2504ec78ea8d09772c992a7a12e31a8850510ca726ea3c1231f778b51d8818b8694be37f4656bd6f3896f6c19f5e9aef74f55d6b44071bdf1ed9dbe9b26e0b124f28db5d32dc877fbdc63d1b51f62997b83877e46785051df7cf4230c82b1007251cd4f3ccdf204103f99b27c5cd48b3ed529702d89e78cdca05cf52d0d99b99c9e9f479c537a578e47194c9912e7df890f15ec671f7ebb6d304d3e834\n\n# tcId = 168\n# uint64 overflow in length of null\nmsg = 313233343030\nresult = invalid\nsig = 8c1a2b91e9d9fbe87865fc4e6b478290d1e4b189866912508402aa311b953f7d4340fdcafe8f78d76c4a3d6fdd7a387fb38cc507ba6bf383743c8f6aa404d97007d60911622a8b96971cb3956a1be3f3c5e49501048cff335130c9184b78e3913d47ba8a69ce8b457910c69369a1b4ee05ccbb0bb17070efdccb94ea8ffa4f683356b1656485f73b19f7b6d1669b55bc28bbc37b7b0eaf88cacc8c019aad99778c032858ce1da532ce2b039294c8ed0660d20b6bf2019bb864e43623d600b83a1fe09ec5d7a6c434ff42fb3f2c08eda52c1ea033dd757db02159188f1b6383f93e1ccddc027bcaf77ed85303fa86644b2164bf99ebb394e0d25298b28e98da79303621d0b188bb2dc65aa19cd14ddbe0edc1b288fb46daac7db10d49bbafe28acb9e1188331978562fba048badc2f72b942d54c23cddb895250dd590df62f4cd184df7ed6ee88ee82b01eceadc939d822c176cd16f21b9cee6efe6cc4cd7b3b62fcefc83cf4a546c69a81668622e51a11a5b728b7689f4e16692e5d2c7e5b70d\n\n# tcId = 169\n# length of null = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = b42bcbbd1403e77665fd47c2199d5d962ec7b224c00a30367d482f3f5beda989f72ba20822a46f5c28e9b5524de1ed6f3efb390a4c0fc222047f3a238a1b53ce6c4f2debf4fb4d92a8e1ede0895c39545c7a3fe07148c8c5944ba76a57315fc814f0c2a08d8627af126c467f281643d648128183379e90f99e97bbdb0acf2ed03f4ed38c61df3ced83a195b92ae786f2a81ed2bd6d1f33a7b1233c5ab13380621950fb27fbcaf63ecdc703bed0b1a58b1d36f84914be476e857a861bad98d35b248fba6afe10e410b93435e5854530f07d5d0c375fa6ee5cb8b306c2e40ce5eeadc16ba8fe40d7bbf31ff9ae2f70b458a8db46f4faf6373ee3cb0e5398b5db53b65bc8b0e4b336dd22de54c7e8e3b09eda2d33bbe53daf8626e63d16808427359cfc8076f07259772f00cfed32a6c1466b1fa1847bd9e7bbcd68b6ca9e8ea8b577985bd107bf1752353390656784f92003d43fb585ef2a4137c7f83cdad4bf3fe1eeed2cf76c79c0bf2cc322950f6ff0a98a3c68f83d7a9dff5d87420295c18c\n\n# tcId = 170\n# length of null = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 8a8634d606e5c507f60bc6f932db58af00b8b057132eb1148b278ad00be6e595893982b2f248a3b098dc58dc751bf42094ac236874bcb4b40f95e56f07f1267e559d2bdcf316af97dbb6c9b2356fd7eccf47698190dbe3a116a24ed7a09eb2d51314c8272127f9a5960158ad8c771489aac374b9ed43cc4d85737b808f49fbfaba2fcfe044a526fa067401bf6c4e8b3d89a527dd2340983ec0fe0301a00857726ba5144b8fe1bb6d995c82455b04ddb6dca1c02e1e3cf0086f95e6d51420891231f5422bd16cc84f41705451d5dac7725029e9a4e4a1d1a7d0dec7126e1bdba68dc32fcf5a2ba9d2893d2732847b42", + "659c68da741c3eba87bfc6f127edfaa1ec5c05ffab1ea2d9f412600f0016540f07387b4146c1774a9a0230c23b1ecc8c14ddff0ac8b12bf47b64fe9c7c3c2bc0ae59d1c22d1e1790d88edb1c6d31d90c7996dccca9b91e3da10cf185cd36a35267acd92e13909cae9ae19440f142fb270496396b983c79963a07013a3bf089fad02334c1f76bea4a8dd8578db9174b22d0\n\n# tcId = 171\n# length of null = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 4efcc5b2b023e2347dd71bd948cb661534e1bfd77fa55e768b9ec3edf20709786ce113b6c9026448e97808d098d33590488028c098b0d7f5719dc39c2cca636d9cf888230a803c75c1a9a4a2c884ebf19d7bbbe21e62f0b3ea8dba5706c98027b3fdc0a6429578fc2ed02625f9bb9c9d3f193ba98b78c510fe7e7beb42513e76d84b72b49abce43d33e23aa25d8038bdadbc3b115dae29d4b4e4616108c9c1727f14bbaee73ca32f8bf4511cf45959c2ad217bceb544f9ad7fc69344a6305680723dc1f18de7d81f2fe49c2d058f9de6b76dd8ae7d94dbb0fa0a54d253d51ad4b7ceb939a239eedd455e9c6645988530ba59fa7311b3ab26eba68d5cca744f57a5cad7fea64a6fd323e93e92cfcf4504b4174f3fe7fa93d68abd98b1128ca909a03fbe82bfbec0dc4017675d3fb54a39ded1e00f93fff69b9374c280bf124ae1a0928ec39bc2a650c345a9192221c172f2a3d22301db276e32e78dcf75dbb3569f9ca45b9c5db35d766910bb8d644a1a3ef02609e42a586e2c9096fdf3fa9d73\n\n# tcId = 172\n# length of null = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 70e063e00143ae6836b44a35a084218baea5bcc469be89df6a63cd58de6b40f4718d6b7517afba52a459ce12dddd06cf9e3ff41533e7df2300119af7fb5fe943b133d548695860c4598fb418b278899e4e0e5084d785f468b6cfd9945af926ad6509e7b6cc0482dc0d2b8d1201cbabb619fa8aef07d9700ed0e97062604574aae8bdd9ae2eaead2a22be6aca035f56b25f419ea378dc4bf6cdce24906c62facbe2617804b54c83d35c651d14d5f93e4416a4ad9ffb0784e292f7813af00dffc5971c1f6ef6725754ca06aa116a92cde6088f95ccc8c5ae19a821fce9c316b2c74f07baf29511f3f608e3e8a2c276043e2631a1fc651d622754384ffc10045883b93675c7e4aa8453692b0e984b12c213f31a225c77d28fdac426aefc523f8c5e55512c3a44f4e75b9bc04da2befdae590f09463a0d0fc417a4ae8eb31aaa5820324450b0dddcf8a9b06bb066ccb333a4bf445dbd10c025333154752ac0e919f714deb58ec58f38742fd3379754336ce9944674573cafa81bfcbd71e49beb5ecd\n\n# tcId = 173\n# incorrect length of null\nmsg = 313233343030\nresult = invalid\nsig = 889989d3df5ae514b1bc95c5231248b30e38d08e48b88ee8270db52c2cf65427b3f7c59ffb718965849e774e40370587dc37fe4de5eafe74865e8c84ecc7a64fd3ffd657c309db28516100f7b57e70c557302e49f612f185f11540d1cee57f643ed976fcef5c71e0c1db38d12c621b8c80e7cb2a02406ffd728cb3029c23d402343f3040d4fbc0cd2439392a93d0492fd90a89176cd72e6b8a434cef5ac4511ca14d4b7d2dee0937bbf5daadee6a1bafecfad41c000f06f72f73c6426fd540d59b0153934fd059e2dec7a6dcb29f64133b856c3b18ee5531998870f3cec2c375c44060778adc1b159e9411bf43f391f0eb82c20e8ea6c6ffc60c4a0bf27fa82e5f79857ac58de7107472670292c66337781070e562da9bbe023d2396d5f75b852551d721f8aa1a737918db641520809e0be68f5aae43994d6666d31805431b9fa146251424600fa08466622e970f520b4bf5a903e329f21c1c74945cd6898f2f8464eb6b48da5af543bf1937395adb0e4e6b4ec0f11c9ffaf0071a453db37d6e\n\n# tcId = 174\n# appending 0's to null\nmsg = 313233343030\nresult = invalid\nsig = b81df2a5f0d8b8d3c5cd1c644f3e110597fd1d1abfc186f4c8012a6247c8102cae07155a7ad2edccf8e6c505e7a4ff0d29e34c8a5ff25aa25e7be34306844f49bb6d90e0d8a7ae3191dac814f00a2c41f6e2eb8122c199d38189770721b4dd0737286ca4456cc771709f23b198c936802c40f8061e6c971963878bde111f3c1f3e1a6503c5e58ddebd395966eb100e6882e71aee84b589e23278f838251092da897ba9ca862cf9c4d20cb20bd0094273f9cdb28164ba3229bb121b3965a02597919b7c75a93ca7e54c2a1a436a7172be4197d6819ecb4b71eab5b37d58600280951d6bb813f7cc5df3929d5b02860f024995311097e42554bb7083e613ba519517abb87ffdc39a0e5f4e4d4dc2d89e3c1b37f98166e80bff7be83f9477211b4ec8f45d8fa99b0dc836101c5cfb385072793698394310ba85772827c4c0774ad917b40fed0418864bff70be1b63fe4f401c411de9e4b57be72baeba53cffb807a7a9eb9c2b4f91049114823ad1abb83787b5d160787cf5d57d97dcfe95c44189f\n\n# tcId = 175\n# appending null value to null\nmsg = 313233343030\nresult = invalid\nsig = 0d6eb76e1cc70a4a16d760c0a518defa2bb0987e2d43d8d294a55c9d60507a62236be3a6ae0098a0b28bf7030b373242ccccb88e4f5d4ce3567d8c6ebbf726ebcecb4ef0b26a696b68e59596e104864e5c7c985342e93bb40faa0bb1cde596556951431af93258664c1c1a0dd44e620b2ce0bed8a37014c460c829e0ca104e66cc5a5566394b3a43e21661e5d5fc0497f52d0d8a1c6ae3a57cb689d75e6d94be30c756e9b4d6b7f497a60a897b83c289f6abccd133b63837cee0c2ddba2b2092c29d96831fb14175dc84dd1c5dd1cf42338225d3be6379dc2f0b51b140f5407baac7177bad2de991ca6ed246b53c94381aaca8a299569fd664234d4fe928086383fd50c2af8b91909bf74a5fcf2e2ef30959b7fc0ccfa5d41953e2f1d3886f77ea6f145550b99b0efa3212d2a927db2b3f133a9c45ff5038cf5321fba0dfdbcb8a6abfbc65a2484692c1a89f49a39d00844fc2b4c6d488dc78da5045be8b560228c1e9c93f8f3613555d15e7e39bb5f4160d6e8463ad6b2cedb4174c4813c8d0\n\n# tcId = 176\n# truncated length of null\nmsg = 313233343030\nresult = invalid\nsig = 3bf6856f73f6ef422be2e247ca197d3d7ea3c8aac7c12af4e26ab047eb7f8997a97a3b6afbea78dce4ad26aef24568640643293f338dc2a0b867ffd71b9e9a30e9286aaf10281df870d2413b20737eb8673ebe3479685459ebac4c30c123291d9eda00cfd580eea9e77c88087185b72fe6b3b0ea201d9b770f74e24595fc02d40db9356ae20d226f9fc09e59e3f7f760cc3aa855da72d510fbb8ce1e6586588f3e79a64bbfb2ce1983d813fa1ffb5890a5e59c8066842f1bde986b7f1af334cdc1db4d97b793d631d1dc67fd13207198106f58bf80dc1188fe571507b80cf4ca18ba4cf7b7953e937884344d4d8f525db151cd5f2bbd856bd3543fd5cf71bc7e5a45e10553dd1ae47d0cf5947e8dfdc8fa174f6642dfd5e3f4ed300d7571ea31c28f14bcb37dfc6e98ee6b1162d72ee1eab9ad21f4e976510178b6ded5d637b1245fdc48458f6928088d4fd792532144f737a9d9fb157fd22225a98e0a38e8197d4c7af95e2eadad8235ee0800a5ce584257035a6759ee0d70e7216c06b6ad51\n\n# tcId = 177\n# changing tag value of null\nmsg = 313233343030\nresult = invalid\nsig = 3428832b0a12ef303ea4510428a001d6c54d3c3cb4008cd07f57a3b73acd1fcbcef9d29f84a4ca1b70701bbd193598aad70e7d64d187da76bac023ff909b338ca75cc5fa7de2eadff33e377814de682aaff232975a1fb1c36e401fc40c4ea61941d7e6d36af36ae0bf30127f2d05fdbf95c8f0e80a27300373c055e3f5aeddb48b57936dedfa58a3712a2041580abfed8d214ee35e08a5c2d06e9bd9487112ea9862c56eb2eed3f5ef166bfb67bb76ddbb1ab56fa60e7e16a34f8d2dae992a255ba12a154130eb07c8cfa6c2d23331c043332c287528239b7b138f7787db620c3c908ba150dfbbf712a51d5e56bd139824ce046c598ba323ed3669021308b76d70925fdc7461059eaabb4c6776280bf985c34f1bc035e65024629f47c2026ec2c9242d840b037aa4c634659bbef8283c39785ccb596185689abec72e7ed527fce49264487cb40423fea92fec60bb547695abba011b862db538684fff0c77823b0df95ef1396dd93a5189c158c7a845682848455b73b8822a9c27b8a3e789c98c\n\n# tcId = 178\n# changing tag value of null\nmsg = 313233343030\nresult = invalid\nsig = 264ab320b777d6c33b56c4a61d1beec9d4191024268a32d3ec83c247bd34bf55aa60660adf5d7480d1082237ee5515692e6002051900b87ed499ed879d7970028d308aab51496864f2d87d3ce95559b24646be209921dd147546203bbc38fb13f38120c4fa5cbdf5b9e39cebe2034588329dd0e2e393caf14d17135ce467397ff71db128316a7220561c6714e0abaa088dac39f98cfec71f14f6b3bb11848a4809240839eafb0b9695967ed8e9ea0b7b2fea9ad6a60c38005e3ce36aa38a4d2fb974e57a6482ea47a22b31cbf9ecd73ea7d63a4d5321dabdb1d9a1b66baa754805322040807982cc4a0fcaa1b30b13e3b8b1675e190c76e7613db3e57f199964d85ef6b8a169b0d70304355fa1633097407eb30e5c5ec6bb2e356b79d74e8d7a516e1cfa1e105c4e9409dc87ca041840b639668ba9819f3150929d2114ab54fed418fc940edd030c481292c90070542cacb0a7efce531f69ba818447fbced8c622524b2e6fe57c466345c2b74e7c6effe9d9a092e0c5a6b1b7f36b11bd2afb58\n\n# tcId = 179\n# changing tag value of null\nmsg = 313233343030\nresult = invalid\nsig = b6921141cacd717d45fba03ff01be38cccfab166c66121177ba660551efc193ab187baa767d12936d1b07fa736240b24e8c7f6bc02b10d82eda0c20b80c591ded6d27abc97f0640147e7c7bf8dca3bb250c993efd3de1f1f58b3e6d5baeb0652472af89d3a08dd8ff39bb4550eb2bf370d6c4f79d0f093c8e3d99953414a5f92593e00448130bf6b2466212d108cc0cd01621658c401cc55700a4e51da8d02ca634cc2560dec5210f28bfae4bcbcc62ffa10569491ad79e9a1b383b55291b8e9b431c51b0afad99eb5cddf015c7d91930c99dd7c47708f1e254ea1c8c09c10c796514478634a9a5c8ad87f6244903c59ca5cc374fb52b244c002dcf39f675caef15bd1329f6180006106111a1e91d4d9c7ae56d065d36fb9843d74b7f4fa8a789cebae586c072359002fb0c3698bfb74439d561f093587fcbc09759b60964578c3150fbfc1823c76804d6e643d2d67c0ec6fd1408d3a7e0ff92527d8c857a92f3ae4400b4312db163ac889b0634f424ee4fa55781e46219ea25b1bc08ddfd959\n\n# tcId = 180\n# changing tag value of null\nmsg = 313233343030\nresult = invalid\nsig = 6467d159f5a3bcf671e1c4442e5f1455533866ec8053a788b7e15a0fdaa7d62dc93e66a5d9d9c85c11bd6bcef389174caa3aa9d54ad3978963bf69b5ab503e6243ebb515a", + "dc2bc45bdd6126446095d0c0bfd7632bcd8168147b141007592b1f1fdc8e6fb826094858685f627bf321457a8cd9df9c7290baaee6480841a5f2c6092a084a52f0abb5edc8a4cf750494b8d494f69b3efa970378ebe6846fb83ec22ce56ae8c2146ece552925d2f3eecea726d02f56ffc23c6010b52b5240119ea326349bbbfca1c799dbc5c24125f2c41fa21718dc5549906c6bccb748e10189d6ce73bf89158b47e6e44f20f95d3684cc710859e61d878e540a53de45388e98fa1a1acc92283ba3790d7b52b22e9ed671c5b661ae33ffcc924825efb90962b430e91f468b9ffae07e0bca510441b73db302296a170d64e8e024170bfd0f5396a369080c4ae8e7a3d23a91b021e100e33a2a1c1f303252e63c62b59aa797f5e61b453c45dcbd69ea14f9e8eea4346d7c4957740d868860d7ca554ab88bc47b0058b\n\n# tcId = 181\n# changing tag value of null\nmsg = 313233343030\nresult = invalid\nsig = 16669d358f0681b0f7f54c5840192dbfc462bbda4e2e13ebcb23cfd554f1454f616d156a28fe5a2ad2690897a1d6f44b4579407eb7486fd19b5f643a599eaade6bb6197627f38b7fc18eb6e42fdedf030cd4cfa30587e3100302aa37e6840196e1d48be48da0f51e9f92ead2cfa8693b38cb2a732a3fcbb27d2aac903a594c567c2ec8249c97ebc89747047a5315f8b5493c732859e5793672548eaf0161156ff0e96fa7a6d4085aec19c4a218958686746eb0a40d9a6336809ea435e6b45c4ea97b771db37b514415b86d57900c59ceaf4541e0b53f786332ec055bfecc1e14ffe67dcf41e9350802416f31b3ec0654b87db474bd4c3143418de724eaeb74b95312cfc6bb64659a2e537c544673f9ede21dd5e343c15ca7a74478d06951d010acf69a6befbb224262c95c4ae70760d396958fc3ececf8a8c3c42944575e4f4cea5d94dfc1c93abf18aa8a9ff50b96615e8aa8c8649efbfb69e0d1401c0fad73376a589790aca696ee8f92cdf8680a9a5b9a1fdea7260392d9c7c85262af7fd2\n\n# tcId = 182\n# composed null\nmsg = 313233343030\nresult = invalid\nsig = 33eeef2f8424d783c321bf75d1b30a57454cf54d5a9c43256db187a70bd58d0a807d807c48ef1f15bbb06d7e908f2160cf36f14411360de927b86bbfa9c726fb859ba05fbcf1614f3f26039815b8663fa715c842ea5613e1322164b37a9e7dd521b1dc3b4cdcdf2787b4aed9853bd1425e951bb16cef49d34fac2c792184255eab68e8c23118baa26a7084ac59b0ca699cf2476689e0bf28dc7b5c7fee4538c0926cc394579e8d20caa0de2548ce9f909abbe6a99cdf4e2ddd7ba91becb620b16262609b07cc2dd9dc7e9594ada4c899de7808633955a40eb3cbe7cebfc503e0a4aa9e89a738ab86033724f5cac153d4fb851b73b6857bfb569cee78c849bf5905cbe09e3bbbeaa5db4b2f13b911706aa350403b6288b53b570ea1223e875343f3f1e4ad2da3755007dcb7cea413dd7d3f8b5a995039152ebaf5617d6e40d01424834c6cbc352b2f76a6b763d8be63013f87741232f6b4c4c67f23fdfef08a4362bb16531dbefd3c7ca514e78ef0b8b7837e5614558c28dfd6fa8c4ad6f11a2b\n\n# tcId = 183\n# incorrect null\nmsg = 313233343030\nresult = invalid\nsig = 671cd766a3875e4734591173bfde1e2865b532f48ceb2d8af037335cf1808c53259b3302c883083c52a28d35126969f71f3fa354c1228627046323664a5cce06d58b7b9a947dfd0cc0c44f4f0e26ccace7fa1b7c3b219101a022c6cc4b6b7579cfb7b187d1d56c7d6060c39b248205403b8f64f67a8521934ffd53fe80fd92be28b87ec4bfb602edf08534eb69c77c0dcef1a9912a684e685e610e58d58b03b000bc7f82253ec251edf239b88bbd43884192607f947c66cfbc3b43b10f0e6d1586998b86834f39522ca9fb30232ce9a7715045cb02bb2bf232d5615afd8af0fc5e3c4253f912a7015428246dcf73f1e416860570c3484c561730c852db31f9dd3f3515c315cfee97026e80115cd238b11208772077f3c8e45d49f0d19765268e12d0b17c077a937a3606dada3077f4789a85b29000cc45c6591e44e73174d4ef47bd417fc67ab658f9ae179d2403495cd50e488d679cb062cf5b193093bc6dd101bc31334fc5abd8ad3fe8383f5ed14f9b148e6c4f7d390ae38920da2e10f070\n\n# tcId = 184\n# long form encoding of length of digest\nmsg = 313233343030\nresult = invalid\nsig = 0679679d5be320641d3f545816d0b04741dcecbe8a6c0d1af3ed2faf80449ed184edc4d1b58c54173a5b26f27ce50d8e6562d9dfa425cd732fc08f47eab900060dfa975b2b4a7b30403557950cbbad3414e61cd7fc004ab1ad7658840d9eb5d001d82fa8ab862ccac8eb2a96fea79fb58cdb05a0e8d601e95fdaaed3c4362d1d6a4e8a396668f9a5d119ca32e4a1c926563231e39bb8d3966f2d986d8ecec22f361c7430636bba2031c60a8eab06ae56d3c491a301a3a5be0e0e0a1daca0f0c90945c2b81d0c873e4eae4b1790c61720f0f7df2d56b9c3a21216d604ce550c547e75bc59c401ef1ea588aaf43b7a17bccbceaa47cc62090df5a7d5a0e908c25d589d54be59b2800a5f6ad29599a01a51b82426528f311824e801babe52f2ca2fb058006f61c7e50b621fd44d4d0fe5e4cf92b48afbf6c37254b82100685c6f57b0ff32ad9a17240788366586a5c3a9458bb5169026cde4f703373c7895b3c86173ea9f24ac89e7a218bea90c1092aebf4cfe7387fcd61fd1f13f3230193a009d\n\n# tcId = 185\n# length of digest contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 5af6ce6cd7d8cba3c9be3478cb3ffb94b16c6e6880a2667790cfb8818ac081edd53d49cae910f9e3461b18087504525fe0a97f8d6536829eeb16b0311bc0a07b8ffb061b8d749894b0ac1628a9d8bbe62f69fd1b19222483980145ef76be38f6b497fc1749387f99da7fb5cd0ab7e1a6a186a199ca9f86902c08fb495b5458198bbfa57637cf86fb4b12f7b8e59e0af3336e2fbb2f82cf36193a7c06601b010387e86ef6eeaa5aaf7be0a1b9bcb4a23cfff0fec5f3ab645cf9ae47569cd15b55811fb65be2fb83f4c2f376419fbc6d8a2e4c7901a97c660a05cc9beb925a7dacd91bc97eaab1a13f3728187779635c6b9f706e59a1589ca2974fd1195cc07528a024aa07624aec1b0fa39851e77fa67d36cc11552f4c3c91dad62aba44b989baa54a4dab606559b637b6fae9eab10af9ab5aa156b2bbb169a3a8df4bf546aebcbfb87b620e3aa4530e29b9a4a2e18d859db2c6ac8378ea9b36c3c83d292dd6db85a3e7a5f2580d2615027db3731d80c43c917c2771667f2f8fc2a105223fdcbb\n\n# tcId = 186\n# wrong length of digest\nmsg = 313233343030\nresult = invalid\nsig = 369197d34d2131d501babcfb49f789ef8ead12e732279f06d99e87336d840294a40ba22f7f303a4dd2738744e22779ef753ae9eb7bb996c1a10f5e70702d4688334319ed10f9d5159db9f4f58b3a7ad43ec531cfa9238e3e68b63551f4809f6619bded70a38d70b7fe62e892172d1994be13dde2b2c4ac86fe2ef5897412cd665ebb9e26d7d450b05bffa1d201c460fe38ec76b80c7a3671be4847535226ac9b8d8cbd3ff0df537eadde670444cc61c88724178cb4513df04e10c5f0e5ae6d123bf8f966d7cf777eb4140a3d10146ee687d460414f6c883184292a9e3bf052526433d9053957818188a2ee0a6ed8a0f2a4db321123a367d2424960ac462bcf109f65861cb62451066b7aefb5283a6ae50bef219d151d9f23df8f66fc0a8128219770fbaad551b4c7b02c6b3e20380f1e65182c2db933fc5152da8f22b3372dd97f454230b3fabe4edda79562147df5403824d6f44ba5ba00f8649db460fdd29c9b67d32b0d88d56af66f06272a401bf872ec639d5c79acbc020e930095d52f4c\n\n# tcId = 187\n# wrong length of digest\nmsg = 313233343030\nresult = invalid\nsig = 935c94aff85633cf56d8e3dc3f58edf03cc95c14e721d2f311f944999b8b5c413f37a5ab1f3ef809683a436d3efe95a679828b8bf6f2d40b17b553cbfa7f32d3d9cbb6a99f8f41efa09a4bd2d17111277be2121c2d85da600bc7ea8f26572bd70d9b66c02a89748f0d8e14520c0696b7f0d18521a632dc9620c19d411278b6a13eaeab0aa84275aea8f548a8ca25b8d59775e61ea2cd4eacaab836337cd3656629c6d896ed289a14c109a4019b8897c9b6996ff7b20a2a1db2a58ce5728a49806d2630b8b64d985be2c2ef14c8b791269bc387355f646ddc19db25cf64d2b2b6eba30bb007959cfed2cac0292dbd207126adc90b8758a65094068fdbec21ff2db53aaf969692e7d0ae22ac850f853b2892290ba6f198aa6754e713f549172d154220fcd6996deefdbb14c9329b015448060aa0152a08b4d1a5e32d6fc5bb60a411ba8b206fecbedafa9883a3bd5d9fa905119656563df1d2d08c24cca881a6ab2222440b64bc12a859a9d20c7f9ea02322c436003c55723cf8678dbc8303f97c\n\n# tcId = 188\n# uint32 overflow in length of digest\nmsg = 313233343030\nresult = invalid\nsig = 71601b43bc8ce6f6ea74985843de5a2c9f71ffa37bde9aac20c59abb025b0dbec4cd8d3623b515f0d098803cfa01564a2d319c93d3acbb5e3603f53e019ce2cd2975905f9faed64ea4756254bd064985e5245d051ba7756d4b1eedf928f9552e9854b0626639702d3ec0c40c2346af7572e86c128d1aea0ca218e63c3bdeccf290ea995bc2a0bc7eb1229395ebc6b9f8f9b14f3d5c1191bb6738ca1d250965cc80c73b3fbcef29d08767038c5c9ab006b100bbfac35e15f35698f6f8c6a1ff3c9039bf4ac984e2429540818632bd02015552e9757f363e8317fcf8998a55154f6161b67e00910cbc736daf7fe738443a3ace0763fd6505cfcaf11368dbe5d585206ca41d76e39feb68519d309dd92a54dfec5791311f5c00bd0bdc7fc5f2f47d558f51a5f3cc2c86c33958d118dfeefb8b531fd4142892e28ccbb2c574b6c115169981af4c3ce6e019fa27c2efe4aa34c0ef104e16c7f02a3b7bd46390039c7d4ccc6b27deb5f6796714d67af88456a8da6395e670b513f45b62ba0aac65579f\n\n# tcId = 189\n# uint64 overflow in length of digest\nmsg = 313233343030\nresult = invalid\nsig = 241332a0e34ec700cdf2297c8994ee0cfb848e6f5d6f31216524bd3d40b1539ee5d4955d405497fbf19f9b3681306408a4ef5eba87e75799dae8e86ab050b7e78ebbe9a2be1e02f9cec519a51e7880a7f653a8327275bf9a2a298678493df013d3c3a191372f5f84aeed7abf72697ade3e02d521655d2d79003932b92e26ec22a9260606954ed32c536015a8d5306de8354fec6d51b48a0f258e5742eeff0d2c76b86bdec0b42a6606ae043e86b2de8f4242be7ef65b9ce60fe4f798a8aa19f947aea9ef40fb4a467d7c5413d526aa9491ac9a98f9e6342a154a99264ef601293cd2d4a979ffb5dbb5fcf79ee727f87f9cf7cc6570dd88d60816232eaa57dd75a7f0ffc8160f65715fc12508fbf00134964968d33dd30742e93107eb74c3721cf6615fff5ba1566844ad6859e028ce769823f037a6205edadce32f3d38bf7", + "78d47c36eaa67a36cb53f572b1beb90622e5217b0833de3e6f8000adea76d4543c803aa707932105724706ca4db008c644336a89b3ae8f196b7f2b3ae306e18176c\n\n# tcId = 190\n# length of digest = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 60aa59b8254b47199db7b29de45c02247610f3cf9cadc3f46c969aaf36ea1ecfd7aa2c6cf626a5ca11c275485818b2a433e9648c3dd8f6e100d530b215e107bda795ea13bdd3aed87b5edda40a5bb0105ef3731b44341b6a3300409db7b1bf2dea3b84507bd5fa0d7a11709ddb106df8fddf1a9625c64552b875ea96d5ab33820b9acc94a30f37e8817ba1d757c1555795cc82a26c6adea36676eac2934dd3d54e1bb0fca770f6051c108de1e8cc04c15306d94b088a0ebfafeb93bce91e283ef6b4ef88ee8abbfe549eaf2491f23e3ae13d3319c73330237e06d2d00989cbd9d9c8a095e82534e14845caaa66599d996df6b583c22c3e73f747c5e597b6263efd3d484fa75e227873f50c993eff26e14bca16e2df14098854167f0de73a157df996d0beb2aeb6750b5743b0a9f4d685ee8cfa5df01a4b924a679d14919d2753f8935b82ba4e2e4670097cf11bcd59a613b5f34a2963dc56f59f25f2b8b91e9a00a2cecee8b488d860044dc7e10f82037030d62d48e028022e7c3774bf3c25ca\n\n# tcId = 191\n# length of digest = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 0d814684d79c28bc169da20859fef117d2d6c98a9c7d52b788d972fc098db62d46f52ba2b5083cc7de5cff0658d4266c113a8b35cb3bf04061d4c6ba6b7b4cd67eeb48d56101555e4fb556a6e90d513ebe468eed8ef0202118998b2a1c0d9879b14367f21d9b4889b9f2b41cd260d95f540dd8489b78ddec27999ba507da902f60fe1dca5f7fef00a85829166a1839162b8e61436bf6723a136d765581963b812b0005b4cbda844cd76c1054c87f69641d5268abe4991afa2fd98dead30ba26d747aedebf45a96bd1002aa3b8c86cbbadd86124817595f123a39f9cf3fd26543afe54c6fcfe170060af7aa096ee2aa16e206303f8579554b7bb1f412062eecd486219c94798737e9ff75ca2c1f34cd03182c9431382f0e12cc7efa13b1c5ad367f34ae84af42b4614a7eac8ac7f1ca10695b88bf6ef17006f06975dfb4fd02731d5cd8a6e429515c4730d0aec054b3533d5d429150fc9714665e3881c25f5850fcfb3e8dae79c364d58aeaf2bcb0ee5d899af92adc93d632eacfe529ff57a0f2\n\n# tcId = 192\n# length of digest = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 550ce3e78b5e1301a0b375e5c6bb6ceff056689221188d00c6116eba6920eb8c6aafab5bcc11e52984e05f68920d44be9dc2356617d3e7ada79d51865885262defae63a4d34b8c003ef5ff324b59ed6657dba99765ae425ed2c9bdcf11f41ae0164a44c1c41d98cafc66ff4e916390c42c82244196887d18121eae27b6e21c57354b0d37e160f324b95e790956a5093a9283dfe9a72922cdfde37d15bc317bd05909ed8d1c8dbcbf600fda9d26c810da486a865887191e1bfbb21a68c17c217fc3f8aa2efde650fc8ccd3fe5f6d7270231ab0a97e3d5f3b63981e09d0b8201ceb649505346ab22f664b9b6a63ab088bf4ea01fa26142ea3795161f933164bfc4e2412a2961bc09ae13257df7171cedfd2fb48e5a61034a2494b3bf70dc51a3577de4a948bc0bf35036b0496cf79c9b4d1bae0e9184068260189a6b5531715dd47b9e4f011622306ae7cccd7743eb42b4748fdf46bc5e3285373b385b5e38185d9990dec73133a9b88bd3d7ef0cda141f2c6704ae967af791056ff249c3ddb7ae\n\n# tcId = 193\n# length of digest = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3b2eb94128068de15497d0fb6d8612fa6b900a7c8d38512eea2c579b9f62c45d1bd198ecbc5b2facd875bc0291b6df8de78fc3367529d2e36996f14017f3ef71883d3b95f2525f62ae32d294a170f664d3ce1cf5a5cfed4df8b5c658e45ed65a606b238349cf1cd53d6f74278dd8e0d898c1375f007b8d2777889a104735ab7306df6751d9539447e86bc106e83ce6ed856505e5ca3d9eb58d8f4caafe13a07e2d3670b3934f5a08d1c76f723bf2b2130fb8a99393338912bfb06fc6974bb0493a43e14549927215c4cd0aa76ca99754fcaab897f2cc7a149caf0d2692a82e91c5ff0bc9d33e2f6620544b7fb0734b304df20a1e4389f1da4d8b1f40f019060708a5a05582606970a30ef75606a1cc46609615404b7689520db0dd22434052d6348c01cf8d7a2bf80e19b1799e70d049cdca517f262f754e71f000bc0f83bf9fc59fe3865a4e75f275d514cced20cacf10bdba843b824bbc1c9c9c22e4a8e234be197cf90575f132e1c53cac7d87979a84c612b6ea0c2f0f1cd1da0559661e73\n\n# tcId = 194\n# incorrect length of digest\nmsg = 313233343030\nresult = invalid\nsig = 6496f96674d13a493992dcf6193b557680962c4152826f35b82befb713a5e86b09ac350b36a4b27a730112b91faffd84eef3e032628e5a06e98600e49665c9755b2f48161edafbc9ce527e3403ca919e1614708a7ab697a20a398233fa23f32ca77a9c81e16bddcc4058015518258bd48b955fa81cafa34282bb5e6d42bbd1c82fc30ad3a7aeb1d4381cb2ef951da28941c4b9617be518dd3616a0472669c25ed43acfb5f55e58a87fa6181337efc97256635e7c678f099c2d62f78aff5b54663061c0cb3c6c330c43e8a4c4a50a8229839ef6ca0c5943e87e9216da644aedc80c698f9eaafdf81046548bdfd119cfaf95667bebec6ce029ca0a4c96c9a17c8ef735d43af9c81bc82a9317046eb8444a765cd4cd848e61370b3014af893ef92faba5a14b4217f076872d187d8de12381ddb7e30e40abc6caffb5b267067c411f9d104dcfd1e395e2b73c67b1d884690a6a4ab58aba1e7c720c187604864440b6dd87d85188e94b0c6fd99038f299d44e161de8ca7fdbae62c3a8b6ee003afed3\n\n# tcId = 195\n# lonely octet string tag\nmsg = 313233343030\nresult = invalid\nsig = 04b2a5ace2b1f16c675b02da8a8532511a25d59b2f37031baac48b4b83bb434df89ec93799ca6e3a9125049c051a0f9ba89dec99931cab9786c2bac52b2a06a6250ddec383e3290f423ba899869b4eaab192793d15156b13cee7f7d618ba7a6acf49c992d381b59be6f020812d5a0f90d12814ebffed3a02994a91eb3f2c079f03145576869878f641ccdadfa2eb946c84c122bc198e3d343f0bbd6b041701e7a20db8460a2ca79d35923497028b6abb3d72a5a6fc4b3e9092c2118e248140ed2526ea7b5ea56a2ef04bd40ff27436c7ceb1b3b29a887988d009167dbf2b0ef5ed2191d14ad2eb2d763a7f03e0d733c1f2c27e4634063c39bbb0234189d72bc7b08695e4b0f5b88d5a16f02914c74dcdbe55e7f8a773c9a7b9c9780a2d2ff0b0ba4f9adb0bf263afdddcf2fef8046c605d9e0ceb8b3ee793c41b4b320d7c71f9835dd6a604d5216f55c9a83f67b8f5bd28de1c7b499b7ccf8640c78538c88e00edc66b2d6bcb24bc4018d1d731c05d250d4f3c7b722b38c74bae05c1bae4976a\n\n# tcId = 196\n# appending 0's to digest\nmsg = 313233343030\nresult = invalid\nsig = 050789f05b63424da4d9bfb1bb9a6e816f2b77eadd4e127b2e0b2b5d16e0a85b9af3a7e42ec2b862f477261787e4b65d849254839d88165033edf953e954deb1ad3bc6a0b8e45b97ed267f8104e69ef0db1c740e5e587a4cc17f48e10fe240dee9666a4e71d7c58e54518a5b1d04cfcb9b67e76374e7974c44c88b9b4bcd7f8e5a10132745f398e3588b6dba5a4d680ea8af0311f9a3c78ecfae00217706a7d7acb187caa7883b73058015a2b9c3a663488e1a42ef143337acd5a2563feb38faba0c1c0be567481107402715ed56707d7d0015f9cdc38a9098d4aa9806f790ef826dce67bb766c3ea6547d987a00d5ea252e52d9f536ed2b7fcd39abdf93b43bb5110d3c472cc5df4da021e82ea132cee2646a302f6e5c9952c56eca12bf31d29e32bf810c9ff5c0535a9ea3264223874e1406ccd372e05c0cfd95b97cfc991a13c63178bb5ec5223e3b25e055188c77bf05d1c337617b83da328804ede26b599a76bada43cca9c3b271db2dccd7be1259cf3edbb020a4cda776084508081a24\n\n# tcId = 197\n# prepending 0's to digest\nmsg = 313233343030\nresult = invalid\nsig = 9bdb19ee8de8003f29924535f141da242c069d7d5efec9c46044071834d2d7858e794591e277b87e1fdfa6b3108ec8b615fe76f3d374381562ce3624e35802730a4bfc2c54385da6eaba8903aaa8475dcadd67ace389724b59a10e7ba3bab6f332f44357c95e2e84a2741337a253bf85efb10cd9e69cc656cde704aa20681f993f2324ff323582c1feaca59ddfa26d696ae43b09832d2d34d126c40be89959dd2a353a2f3722e2e0c1cc070cc1dd0cc5e3dba9e9a7cae5a7e7bb20a58b37366c624180b2b1d77344351508a47ac5cb46277892f0a88db74daaea7a03ad8ac60a0e212ac5e18d01cc81af472d7bd905474c7596c374b6521579ecf115575eb90721c78c741bb48d4081d914b2cc9eaf9e7ff6c898b5c6d70117b2c8870713b4298bb88d7cecc3446dd4e10208c09cbe89738078f573ebac694d6da770b56900ac7e4dca41b7dafd8e3c96a63e79a28d9727a831b05169bb1debd17fab657d8b52d8f915590b3a67963ce5c5896fe6569ce4c90859cef89c79d1c9b8e48a46ee4e\n\n# tcId = 198\n# appending null value to digest\nmsg = 313233343030\nresult = invalid\nsig = b252d9c77e84f1274ac8019d0993427574d63a80a26c6e93b786fcc8ec699bb64306a9e425fc7fad43acf8a4fb40cc7c54bb29312430a67c0c23c79d34f2ccbbd3d196363901316bcb1fb1a7b6edbe4e457be1f9e92e272bdfd7b35310048212b8e8059d4dfcee86bedb0d7bb7bb0383d0187ae56b56851cee1f6740cad320af9fc25517d729c09ce30dfcf477a0f5fcc71c7342e99b17d831707150be963057a203b133e30adbe10c73df9079cc0d0b5b535c7a2f1e545352ac80473545143251bcc77ea46ab72f3c4be6ab4d5770020b765e900f33512ebcab8de4b9bae9ad68002abebae75773efcd84748ffe4be93ddbb736bc3cc3e5a81b5221ad4405adf4dd3f5fa9ffd5975116b56a0150fb715d22abe24e81af90455cf617d290873d14cc1b368f0fd969ad622b9bd299efb40f640507dac6bd6d4c8cc144014db6f74f71e751e7349176e549d694f68d4007ca6c51f6f58fc5a6822a3005478d5d890e1919990118ab5eb61535383c6aeebe1f514a793adae3c1a91f90dc3261279b\n\n# tcId = 199\n# truncated length of digest\nmsg = 313233343030\nresult = invalid\nsig = 73c5e90d38f0fda07b0dd538fddff64534db7e4e7f0be09b62ed828c49c616663bcf565b2cca9ea19a77a5135d3dabd86bfc831c2b03d81817aae22f4991422e228e315934e993fb134905e1aa03b3539100d9293b8f68177f4326867bd71de9fa47c8e9f37ef46e1b9f3adcc2711892ce1f1dd9f238ee8e1cf2ee0c30408179cc290dc895cd46e2d717552f0a4db", + "c890fb85dea92554553c50f7f93b34f52625060b290860734cee378783b32453eea66b5bdb3de41839ea69d873346c710a114848eb0e53b26715bd143fe3ea67c3303d1d238be8032242f622a030571bf4726162788004541d642de9ebf1d4ad7ae7dd84fac1c3bd5215a18d65e982bca38342df82463cf606d7c30ea3a5bca3971f78328d0e55cb0bd99594dec125e73547aa6bf4fe22edb30fbe4ac4298752673b2a4bfd592a75db98a5a6d73e26ad1de4b63ac83ba1e29215125e74908bcc888ce8590925cab290711732e4638443a6dc60e705f3c54706b5cf23a654001de4e0f0c40a0078bd6b071cffc2f9f728351\n\n# tcId = 200\n# Replacing digest with NULL\nmsg = 313233343030\nresult = invalid\nsig = 6495b6ed3efb642c89767686ca55fc7f0296bda99a2c04cf03f269f7823de1f8da9f67d0ea773c03a9aeb41d8c56e4f0919c4f228f60d1be84dcc68f0448d95e3028c230ab5b7cd807ad8c939ac83ec77ab5ff44203a6b7ccb6e69a6ef0c902f1e70f31d480737e418b3a73b9b0bb5ab551e86ff80c3e4e9dbff385a49718d7f00b5063c4f7deabc566494314fb5297968538771e0b3a5b27a56f11f6c9f0b9f6ec644a3ebd9b6e7acf668a1e64dbd3ff84b860f91c3d4965e657804e6c5c92bf5921e10bb405f0d11740aa4f7b46a82224e0305e312cd4e17a30757eee88667f2372cb4ac971b774ef78edf1bd299cb172867352c574cfbf23a321faaef28774d65bb22b45647b9a526b7c4245b6c06f2225151401a77ecdde12e767066935c0f9cc94320d6afce02afc71d30a45344c79ea22c72a247a1be6989e27d59ae06295fc69898d5f3d2877e166b9227fc1a0172ac8e367828ba3f6db8ba29fb963a205e897fd2fe1273a6406551d9b2eb4aaf88a7178da423cdb4eda07b2e309892\n\n# tcId = 201\n# changing tag value of digest\nmsg = 313233343030\nresult = invalid\nsig = 4cb5a50291ed1e9d2514f4b5c8d005d81608ec004b035336991259fa908d5977ba8c75ab7f0fe0b31dc7127f9e81441e11b1fb94ba034459622b301cfc6918d49648b74680c0dfe79e455fd7c0bbe2d9cd0cdf8d28c71b949feb817575e01e3fef84f463acbeec12f1a5eb6b5af59d021413fded81f12e792ef3b4e29d3787f561a20884dfc296fa4490c40a790db98bec78be02d6d83907385a6ae8c15f9ce8b30315e9c0d1593b0a5efe03d25745f00f507aad0e607e5c81ed05838c3b4cee63405ac6b6a6034051479cb9f40f2a6cbb0c82913277e32d5d1c9c55c63aea1110cf6ec03fd7d908083a9aeda83db8bbe72f787af3914408d82ddf9d38e80ebfc152b36ebca127f7d82cba622684d44c150d46149dd452ce322820316bfc207a3b44a614dcb0f9ceed843a8f95bc7cd540df590dcc9a451c39d8d0a9770dcd7950b339990ec5100723bf07da131bd384d6141e98e18600dd44156750db66826d65faa991180866c752858536992a16cc0c89e56dc6cbc7c0972827e586757476\n\n# tcId = 202\n# changing tag value of digest\nmsg = 313233343030\nresult = invalid\nsig = 82cc73f7a3bd65b0910b012bb8a90593f78230d0b9cc0e3ad3895271492acf1d520c231aee97e20084edde67572b4f3f4d6f42f2e9b9d262c15479a0bd176c0767b1c89fb8e7776f18ebb210d353c870e4fd2ba3c42ce8949ec0c8a5899a3b841bd4f8de8b549e6736b1f3242ddf959b637d1be3aafc4ba7c46f2cae3a16228180e33796ce759aebbcca47a64ff2cebae8bd1dee8e5cd46b602360386620fe6d4704c16e61cd4801abef4f6832c1400e99c14a7024a46ee43e3f729241ae677c128d9b5c548066a8d765afbb42fcd3b491b480e2496c5ca5cbfc1b93f4f85fc5eb3dd81d882b86376cb800398efc25389750704986e5b79d1f6a22793cfa3519e519e0cfed2ff9e4ed454f87367239cd24cce8fb5b1bb35f9ff286ed565ccb1bd41c2c98094cafec4960e59e5c75e4f03794b7ff913e848c1ff0fc5e19d61b0cecf65cd37c95658e371a8629b091ba05135ef05cf57e7ec508be6f978787d9fc7fbc109132c2fe0efb8c3fff622b600b3d3fcbe46b79db032052e2c082257a05\n\n# tcId = 203\n# changing tag value of digest\nmsg = 313233343030\nresult = invalid\nsig = 943d197f031094c5f4938c130e3b9778c44ac5708e2b1346a77a9fad73948505d9630ba4cf537e9c17bae76033c7c6687ff256967c51d4241489440041a2956efeaf7ece62c3baf68057cf72b576258c79793ba81a1f726158867ea20cf1fcb9632c7eaefa0fdfc728c193d08e57a29855f2c4577c566f48cc1e45a6b0af10c0d68dabe814574a131b8ba167e1c7495955edf33f90043c9fa5cfb312b8d55d08689ea68e2c27d1c65188bd35475053196e05cad0ce63b9432bd40770c1b1dfce8ca497a352030c1178c6865b6615103b3634562b7ab1ccb1a08204761574aed2da75478f432add1b2888e21ab9da9ce2c00259f6a4b541388bb19a48daf91135aa9b540bd362a8ce1c986bb609056f19d12e4c56b2031a3c149ceeaa767f57939cbbabf1221d486c66ab5209f29480f63b367c8619d90f5e7eb3116cb87930ffb1ad45717480f00a01c6e69541523b998835c5d81633be9b4b82d492b1d54b2e6b14da2cb33b3fae8210611fcf15009fd7ecda3e135113baac619e8b74d70b17\n\n# tcId = 204\n# changing tag value of digest\nmsg = 313233343030\nresult = invalid\nsig = 1301f1131b35def827e8d8560f56d7dffcacdaf65df2200e054ab7717ca7a9f7f19a3628d8774cfaaba6a377e8b854613a4ba7c6237ab989976b0d1398753b7b66a724c91abba885fb77e908a2c6a3ad8d837f75d872eea76d7fe0d75363098a4c7af8bd831de55da3254b85dd199173c2708b191670cc659cd491eea567d633fc256134c2b47e1d1d28db03a5e8294f20a536cd7280e4fe86f750d99d41cbe5687217a55ccf7bae966caaea313258333d07fbb0b00859e5d9e21d71f190e4079ccb0026f074e7e4a984e8f478b298680470ce6338a2b25ff1da6f0aca3247c743c384d82406e44701a46a4c2e50312c11088567788d5743cd3165e3536b693e54f4c6ccc4586e462cbe4796eca57baa70b6296013d9c1c6f4e2e02a75bc6265900bd382892f4135a13ab600c764c546fea14febd51bc378bd1145c2282c94228db5e97d6ce7f29a505e46e373779b50b3856556d8907f07b61c2745ee4051d0f274947fe06eac7d4b091fd5476d6b7c54924018ad7acbdd252f1024080dd681\n\n# tcId = 205\n# changing tag value of digest\nmsg = 313233343030\nresult = invalid\nsig = 742a5c3575b6379d7166188aa6c9fe5406b157db778ee0900429d6c427fc530c4c0144a189265dc78ca14715a5a0e69995ff914fe0316e504802be88d5325af9344cc54db76e1d75030b3c41a27c8e9eef0c82d05ca92488475a109c878624133db6154799b4c2820997207389c610204f17d8c2b8d7cf61e49cef4b2a44ea88bf9c3026e29934be4afb3cff846482c5e76d0b581ce2851e4ebecf04f537e89c42f9ff29e0d8c94fa6741ec0a81fe7d3394ebef89d0cbf2824a374283a4e142ac6d7338ca1d6467df4bd97f9f6471c4e772995fceb7e34df6c7b583c73a6502677f23760369472b89e0051d6813bdb16bdfbfd1b9a49f474b29257883d218381a674fe9c245f3c419d0e0aa796e0c37c146469dc23f655a287370727da3a42e99f05595fa3f76165c6e5dbd0f0349daa60086fa30299f5e811c5ed4e957d4f52ffdc902a15fa97d2709f95f680ada1df9ac17ae1703471d00d2958f6f5642635570ec77fa1cf70c17e12d3a1202ff4106bfb7d51819f381b3c8f0d40b3a2f345\n\n# tcId = 206\n# dropping value of digest\nmsg = 313233343030\nresult = invalid\nsig = 7c5f79bf21ab84e634160b5b201ef9fb0b2aa17713ce440c58e681c91ae777ad63d7ebdd1c77dbf90ce483160ed3451921df200e3eebff4a25a903e0db6c21a2e921a1423a2a23141a841444213524f36fe99386ef68ce319b9093162c475cda89a55487d975fac01318756ee64b70fc4bae1af18fc806acea41e74986716bc47a73293c5d3c55d267310744999e533904e73395f2c77fea30268f83318c6ecc657a4f4e87b239404c72798976258af3b444afa2049763e96072880f3d2a647e586ba284f0a50425a1deb8bbc0e52241d6ad589f5c20f09a2899fae574a4bd29e57b604a2214afd024a54951461af01d4f0a12f497136124bd3806244e8d8633336dd908c68ecf08435f0a97553d2943d060873411ca5ca62fe8337c526dc8146c60a0a1cbef0cf7b5818d6a2e96df207729276ced557b1fce70dde2be3a2012a6f6f20a9f94926504a593fe8dc6b04efbf559a362ec8a401772828d277d8f1abd9588441d575cf166752f57c1b50251cccb0282c75f0145df04e68da9f408b1\n\n# tcId = 207\n# using composition for digest\nmsg = 313233343030\nresult = invalid\nsig = 3743ed858c007e5f535e567a2cb63ebd669283a40d369a06df23068afd1bf91ff4521455e45ab94b0751c4c1e648166c7ea571b415faa4311a1598c5ec0ea75472040040994ae32209ef33393f040e05646b0ab14ca0309e1bae24c0bb8ef467edd7ef74bcae2e8ac7e22f5bea0a8537a907f42ab3f6bbe61e24084642f3de68b73c979645a3d43956e7c738ae3621df707638f8b0ab0fdb854eed46e8e307c653b894393479dd1d0dc9f7317bfcc736d51af55aa036e83752a6d6433a6538c5b31900401944288fbe8209728ad1f5394ea66718161511beb70a20bb3e67a464204bd34da479617c8bea4e878c842519655dce03627d833f9b9add861d5ea89e85fc6a56e623719a163159302dc041c7c0c7c493131e09e631c297cfd00388f9bbbcd9a216a8aef364ecd579719bdd5ad40f2dfdcaa3756f574045eaf4f8b05b4b78a7294b77b420cd317f1b74e40afb649209c769d82e434842397749fc5f80b89a1cfba4d532045459179259e37d3506265fbb1b54b0e0d55a036746447dba\n\n# tcId = 208\n# modify first byte of digest\nmsg = 313233343030\nresult = invalid\nsig = 7f63d99bd8bbd79dc7916069e234578e8966e7bfd0ed9b8dfa181fe5c340c7cbaa50251d4cf253346f4c4333567f754fb828e8e19399ea645e97a7006536d76198f42af8f57a03ddff688b83d481a222cd6e7f5bce75015783749a34fa5f20b2d0e17610e2c4526dfa780bca5c8d50d08b85e5377820ea657823599a32cc55d2966702e8b3f199f5dce42a2dcab5d372f6f30005e72aba34b149c89ddb14c7c7f5466902c0de4cfa2a6fcf2d297f76d9300e76ac7070091c9ff6a56bd80b9f09be64638db7c200dc455f0437009d3549f543364b03a2178bade56b1b33751752cf7cc744f2e69be572d56801e23e91e8a6f9d3260ad4d42c66cdbaa0b2252785f35500fbc7a61df87b09eaaaa4adf08cb42ed7414928f085baab1991fdbd73aa0afdf7623e14751ae28df8824711cd68c608bf6cf4829c2cc7db1159797ded24d017b9db6d284b5fa2ec7c4e22f56630b3b8779816ef0c77d6be4b3fe40cc0b286284a8773975327f535811278ebeea8530137385a8957964b33cb3489ac683b\n\n# tcId = 2", + "09\n# modify last byte of digest\nmsg = 313233343030\nresult = invalid\nsig = 661b1580ea4a54570440ff74a751624926471469166304117da3cf7c9ef2784c547f29d9c18cc3f0de876b259110180e12570868ec164492b7df971eb6640a0b8d99dfa4e40d1c0b0e10e6945428b2e7e4ab3cac129f34165bfc1e5f370390c865ee44e2e1eb011ee448cd547c6c42ced8b776c9d3e4bcc32106cf112f5ae94e01d8a662e350bd76aeae070b9ef3fdd0b8a9ba01277fd9a5b512e4e3c1a0509b725581959abb340422a0953e79002efd49b72354ed8e75999b633d399c7b7f4e6726850f05d655a600b99f0cef7716ca11a8ca98c40322a1edd15c6e090748994e967f381265705971f9d397fce9a6cb7ce5d3669ddf6c08481a1322fea8c3f030d53514927b269a49cdef8fa287985c3d6f877cdfdc221fbec2bd1f38b4c3d01fddb4ff33e872cfaee30b588102f8ebd97ecca29b695e528ab0ac4c01afa1262dd4275d8de4712a2017dbb085b24b99bfa0b1f94b3d24abd8bc91eec4ed21958602d01c85eb34c2f09c0823dc523b01098c3167de5746fdf6f2661e3c2b541c\n\n# tcId = 210\n# truncated digest\nmsg = 313233343030\nresult = invalid\nsig = 3e124cdc65f1d8fa0ef490cb7c23f812f28175af02b82f168e59d25e80c27678db0a49a1c4884368856a71a4b1b2f82eb6e3141d20c1afeb2f1c3ed827041c7d4e37d6a2869192f9534158813b0acb938610624de4cd410b49dca8a99ba03cbdb5095bee0f6f9b7925e7fc75d3173e19632ffcf0a9800cf75c2676fa614c8218ee996c2914d2205809a7b5bc3cfa6f90613ed68691927aa46a026bd7b2eb59d6512092d87e613cc0f0e76225ac3496051cec1e2d0c390235f814bffab11f67bceb3fcffcd03804ee6da2adf173c1abcb6d1c55960b3d4caa45be02d668ff29a063831bed22985cf74a640420beca4c08d2ba803b847ff696c364aa9610b9eed9a39581f382e76cae1fbcdcd80372499292e302f662e19b36224cab65378dadb6859d9daa4fccc239a61df8e7e288d7f4f4d6332764ffd3790fef9eb64b8c0c14c781f65507570ad29d7afb4689919d3cd674a119bd703cb46e9c95617aac644d71827707f11ce9886ec67211a68869bbfe8ef7b5bfb6af446e75d87aa6d12dcf\n\n# tcId = 211\n# truncated digest\nmsg = 313233343030\nresult = invalid\nsig = 67a7cf917c469d5b4e5c5a6ad0665feaddba9246cf577e4feb2cee49eb971cd41e50386520c3c22e351caeb8d23103f61af2a6abe15753ce14ffc8afa3a66618617b8c2397bb1b14d3c2c39037260e55b1f3f837b193bf39fa8036ff74f9a7adbe5e6d1cc39d368cadb823ac1f969ccfeae89808eb383c89d514ca122f96a7d56f578a3f10e4725b152ec06002eae7bc2acda9728a3fe455dc5f639c42c09bc6517f92dc223f1f08b3367840506c80894edc65d5163fd73d20048136f10f2583c6048c7ed8e82f44d0cdfed868197884dba5ccb4ca532907eed31d3678ce82a0163f10de20e4d5b581b67cc10f7d6030d2477d17e29baf828903b25cf2f77c17d028de6df352674b288aa60a3437834d70c57d40c853df98ef1e38e6456a7cba3d8082c5c212ce08216f604a997d632e7d0f21b1b462df01bea08dd484e0a9e150574ecbf31dae214a8013c2e640a3b01b0945cfb4d0deb5c83a24438156602058b1bd6c30aace6742264f8ff7682e18529010f25c93980a5214a90d0d32dcaf\n\n# tcId = 212\n# wrong hash in padding\nmsg = 313233343030\nresult = invalid\nsig = a7f03b3383a083af9fe06879d4200e5315d5ab86056dd87ed326fbf48589f95da6b5465158e1b33099c26a962b7b5eccb81fc2962188181a167c6552f1c33ec35ef6eed346ac46b4ce31be3a1726b87387a7e5e7780900f7c0a909e6fa3a8299f5629bd8d2da3e6339c181f45d794879ed812974e5203f1cb745a1da6b34bf886928d6fef9111cea3bf64bb57057c885d8dbba5951a23781993c1670b75404b990a01d4eba230b15a65623ff2b2556077fb91d846b098e16eacf85b541cc23039e9516b465b07e2b06783019dff98420fe15caa3546e823e423c5262af7f54b6d9ed3dd854e41bd1ac9aa4dd951784714e5365d76c096395d76a647090f2348dfaed99b4ded7152beb3798da4bcb533813b653efa5789b9ba863cfe1522e5ed0de68e53b0382aee6b2b888e33482463962a3f9d817a2dbc26a070212046d5e6b80e49767cd85bac25ce2aa0d02c5ebfd4c75ab733d87408c8ef5d21baff4dbd409a4e6d5fa7c55cd4b63796ab79fbdab7587bf234f0690d8e9cd45baf4857ab0\n\n# tcId = 213\n# wrong hash in padding\nmsg = 313233343030\nresult = invalid\nsig = 995096c669017cf835c7be99440523256d5e7c11c06af56032d785d521b68272771ccbd2b403d7ad18d73905a63758ae3a5a5edf49ecac57299ae74987f79417b9880e66a0d9893e29f31d609ab1622cb357a8d19d95d037f5d19c41dcb586111355e7fe91dd51959beca4dc689b36a7f39684753e9284102afb229d50b022427925c2bd4dfb15fde2d2a18f7df3069fb97605e02a341e325b0bf163fd6eef8f7013b4aba1e6f3a311631f5cae20bd48fdc3246e63215838136c402894bcdf1179c05e11a76adb92686e3afecea8ede7456d05f62b7a04983c46fae7d2718515e875a11a261d54d30ea4e8f4db75600a1af0c884635164aa72bc129c1ce543dcaedfe62f7ffd72804db58066613c2235fb4095869975196c1d5f423207c8de777673832aac6e129f7532e2fc16d7034a1255f378c504ab10d149e8d2e79232b01f6261fe8cd73f9f89c277aaf38ddb71ca92194fcd569802a65f4325a4f6aa5e56e0bc5cf2156c04ec0aa9dc63278ae48de9a1657dbb62153c1392e96d551630\n\n# tcId = 214\n# wrong hash in padding\nmsg = 313233343030\nresult = invalid\nsig = 4205aa36ca11b03b644339d978e1b02228e2ad387aabba21fc649a8c75fd9a1a4f29e91b4e607b4b5e3b86794cf9242dec5509bb30e456e4f5dcc57e83028c60b461f748b1d7e79c8fa4f934ab117114956da7a2693a4023d349a68a4cfa0257486d42a0b6c348a9f77b2eb5d8822569e3dea0cb95c66d68b7c955e98a9df4e921bb2731855f35f0327142029f8ef4306d42481406de9deba401b31481597653cca1234cd20d6cf0341292362a4402dad4ee4807b38728b265ed0d10d7707c8562f14b6eb890c5a1d427725d39f10802c7e865638772a9e0709641a22809633b9ae19bcf052b40fbed8a00531e869761a6312216d69fad97a7f58bb20be27cfe75a776a45e207b6cf1a10215da2c6ef89f540006a2177c840493c83fdf616ac8c9cd647a415532ada9cefe067a81393df8bb94a3449ef74bdaaae0b120165f4a64703d7daa14e8dd13fe779b794699ad57b593ffdec9202f9852c33a4336cbc0223e2117b37118bf9fc4fa6204a7e584db27cb009b800915b4618548d24b3b30\n\n# tcId = 215\n# wrong hash in signature\nmsg = 313233343030\nresult = invalid\nsig = 8100d8da45f6b2d77ee4c5c5b6fc8c617d85867eefcb861206a991f50638b0a582908846c8c10eab4b694850b6e440d85fc256fdde3fc4092c262041b28e1daf88a54f48c0bcb5c17d9e76ebf5f86c87e3b89478d679bfef8135cad5394a8e6211c64614f6ffc813707273b4d9496276dfe6d566582eead31eff06769b4c6ca3de97c0a622fb282c646cf3de6fcf8a12317255d724f099f1efb4a7379f47d4f13aa11d87e778cdc79784d6a6b5a2d68b9e4ea52bd507a7036c575485c8c377b8db9cf662e6eb973053b3630a94aea288191d9f26ee5fef5f10be3468c5a721421a07d9b25d5604a190d842fb3b92e70f247bb339295da253ecf1c9011d8d49d68552e192eabfa012fdacd63b9756ffd508c04e28039df08867e5d5298da5e72bfc1f0483129581b25ad3bc69204f2822fa5a34e3af4f9eedc0bb68b66a0268532cdcdf5365eb5162d05cb5619041a2f9dde7fe444fea5e9b3c524e3760ce1c633758ced22d5b98f0e1ccac9af15cf825cbe9464a5a5d45a8d1ea426f9499db8a\n\n# tcId = 216\n# wrong hash in signature\nmsg = 313233343030\nresult = invalid\nsig = 118bb4ed79ee68eba200bfaf9909e1af3216904d9dad25815b2052da7d6e057c1fd8afd0929e82ec945e9dc17740790f791a1eb546dfe8d382aff418b094244382b97b8b7dc67400c99aaa5c68ecacbcb429a151ad0a77d0ebfcea781cd3093c312758c7478d4b50682702ee37f69df129f0eb6f19d80e88982700cd9bc81786fadf5f7d9d37cb07aa4ec7c863ab706c42133dbb79e34a22cce78617d86806ace0b4fb28525a1b0e8dfb8da4de2b5792531709e1632e36d8b80c5bed87e559819b5aee7613f1841e9f4b1a3caa77736eb71c9c2b190a6c6ebfe97c922b7bf3c1ebff0accf555d447812a1677d576f3a41a8bb3e8062c49481222c8c53bc00ac821c1cea8b909031f23cd1647f685260d31641177b29096f426816337b70bec98cc0d911b0f926a5c2782466af2a8cc8e8ae78243c916986bddec9169eee2f7d84a9d070ef02878a3b15204aced6dbab3c0fb6f35d07bb2514755c318e92e48010cb4ea5e7b9c073fed05a2a5dfacc4a94b0d78ab89fbc5f8746ff440dbb229a2\n\n# tcId = 217\n# wrong hash in signature\nmsg = 313233343030\nresult = invalid\nsig = 1613ed80cdf3d91d6705bcb079fd15ccc29373b03f84510edb0d74b5651b91967e60738258a03ad3dafff8d83f3c18feadfb08e9a94f9f131d3038288976ef35b9c8dc41beac539dfb0fa1e9772524f512a2054e73467c8443abc599c8a58b46ec2340fc4b26f831af6e09b8d5b876596008aad2c4045fc09bdef06f445f54e36f591c73d798a6905a993177b094dfb345a55aacde1304b05cbe652a62e9f6654b24153a7cff6daae42a55272fc72a8250acdadc59f74dabefb9d321e80050ac1f211ff7946e56d14619355544058b714a000d8b4b096f56338201f22114c81370543b392725b735017a550c7f685b675263f8f9b43c1f8e8f8064764dcc34c0d581efea1647dbdff9a296f1501a1614fe9d53d52ed278a8b017215503c1e648a706c5e6c3a4eb26f5eeae804ff5ad0116fb9d2d246723eaf6533ec71d126bfe7d08273e587a025c97c4d2a55a1d850a730495af8998ed35558866bc580d7c51212e63841f33829156ca9a938aeebf3a38bf67495b686d484b02c4a151bb2661\n\n# tcId = 218\n# wrong hash in signature\nmsg = 313233343030\nresult = invalid\nsig = 906ed74270c0bdbdcf086ef69dccb51c524331e79d6186a8ad18f86c11657d77d752763141153dbbffe125f9e26c30f1d58808bb8628bd1e931262e872fb6503bc0c919b2586c4c5dc6dd53cb122086536a87541d61dc33ac6d437ea1b9a9e3f4476f7e7c3926e6985f3b8df8d7144f6a81568a04a6eae2977ecefe2664806fe144d9a174d53734be7deafc737d0a3e6e54891d85acd0fedfebb55d069cd3d3b2d6a1594ddf65cb433291ca4f2283c21a5aa4811bda25fa9a8b41ca9c5670cacf721bfd0dfbf388f683a7f87c39654d6a8c2f85196e23c915219e92189aa07f60dd6db16afa97cfbdc9413ec33f3bb9", + "8020ad58d4895f4959646727521ce4c2c0df3360fa3db123c455b65f4f0b0aa88caac6da5877b1da3c49a4fd587b3bcbf7fa0d107d69fc415842abc860c19f32dfefc8695b863468b112f0f886c8a249496c355740e07291493bb08ce9c941cd624b638b3466a4c2c51863410bd22488c5b7e00ff636f6dcde4ce7ae66614f8a283709b07f80a42739a0b2d7092031261\n\n# tcId = 219\n# message not hashed\nmsg = 313233343030\nresult = invalid\nsig = a761a8c3db6207c8385574f6ab3d42103e5c9dc941c02ffbe0dc1369900360155cb591b32ac8725b01a1d9686ab442af899751d9c4d3a8cec2cdc6725eaff56e8a13571506690cb2f26a0530dd49aa380fab93f4f0dfa7a1e6b1c8e392cb8bffcce1f5ffab5f82ba45d7dd922f082340acd1738a685abbfd598772fd4d0a03a44c9166d807364437464bc3b186733a4aca3d746ccf84a9cf512fa66f2cd73f029ea837ac15c71b2319d1adc9fe9b8e430a428c8f3f2c4b4ac525f94d56620e3c6aec7c87de0afefacd6fe8d817f25ab990ca16d4b3339f15d0fe2de6a0488901e4aa2844e42a8d63b46eced84ce33a346ace4ba03daa4f5f978df6bbd956d1d9bce89a5964da8eb72d9e3b10de99e9ba54f6d24d59d31ecccc213aaaf2d902fc8dfb2059eb2ecb3e17fcef97f8ff01aa59e4c615bcd4811afc10db1d1c04de71d0556ddca363b8a34f48d97d540b045fd0026655cf0c37c4c694fcf2423e0116165d4bbc7395d72f00f6650a787d6e36357077630974d375c2ce292ceeb568fc\n\n# tcId = 220\n# message not hashed\nmsg = 313233343030\nresult = invalid\nsig = 7c3599d8539a560502121ff97bedb8a1c16d10818a49408f6152ba9d914b6a852710088e5c48826a099ecbfd5cb244ba16c04a71f96663930854a64fc5ae461677dba9744fffa624e64b9919814383ed0fd947e355bd1e651c0027697c8edf76d804394f30e6598a8c805e4bd80641c81f2c78e9a7255535451186c00e963edf2ca4fc7d57dcede17b18a1a22e2241da6b71bfaf24c9abddf9a4542feca1905dd9048491a5469da8fc22e46785e534a53623fb550072472b46d0c9e6f762bb80947573e269d785f6580180bc977efcb3b9af90a974433ff7aa56674af989eff32ed8963c7b202d3332cdc0285f67bdaacb0a41c5b59da507af942d9bf59c504aed323bc22d8e214546820fb32df77e52ae9d458b1d2994006c12f31701bc09b448198956618f89eec20a2e0c916d40c26406258becab6907bcc348b46e7195734d29ba4846ff63aee05e604bc2df75cd3cdb3005f9d2573838a792e68e3cc5f2e6d447cff1c2d0324ab8819031e9eae8923478c0908b0cd2e9b80bcec076c2a0\n\n# tcId = 221\n# using PKCS#1 encryption padding: 0002ff...00\nmsg = 313233343030\nresult = invalid\nsig = 0b5d0e26ab8bef0ea2a577c3ba6fd712e5863c3008e85f46122809262efcd65658ee490c85c7945ae06b6fa342d7dfe01aa5faa9bae877e9bb0bc0cd608670b54bf4ab8593720304e2aa0d2bd62c568cfa6bb2eef302e15769e5054e95bf7a954e8d2997c06bebfb9bb25ac6f52b7b4e79c872b425be6b731a4fb9bea7c408703c768a30f9cb455994bc42a200ef17c64f4d4d6d7269f29bffed1ba755fe4ba3233a7ad464932abf831eef5245a18bc61dfb399c7b2da6455b6e023342833b5e5c7b255c8e06fafc78266856db13317af40b6df8990f8ff37344029e731a51c937a1ca4abd66e0fe90ece58be527dda10b3e34ac0bb661135eb04fac8b90b0756bb47d2453be8ff80d05a6596a1b27c0a33f24fc79260e9dc0a6e099f6a95a22a4e083a5acb201cc654d2fc6e21cfeece62eee3270e6c6211c2025d738953e4a8d1ec7e4cee254a8d2eb446429aac5d8ac480c4305b32e566b5a017348fbe2422246f0696c9895c2a72db471e058fe15207c40ae84a46cc7ecbdbbe9cb9100c0\n\n# tcId = 222\n# using PKCS#1 encryption padding: 0002ff...00\nmsg = 313233343030\nresult = invalid\nsig = 37540f8ec9398571bbb6f153c1ff17055c96373b7e75e41f75d959c0b937d635baac3ab200f7907af63bab90b7d0128d603353d5628653bd067caf644cbd4b4319adc964869e2d7933a3c4b873bd2a4b3f8c0659943058293e42963906424a2cece6504fb8cdf76c21e772ab7a0359b191177d2c2231c4e4a5453a8af346db0e91e057fbd6b70dd486caf9516fa7d6f408d10b55fefb03a5795311b0722ee2a5d40a11e29316bd6fa5ab8eb34ef1a0375c87489a8821d0ae554c91bb051b03e8b3c3f301927d8478bbd62f3f37213c734099730c582bf19095e39ece2703ad09a7af236f175706714a80be282e262e7c903c59795754e589007648b550f93d4c7bfa17d116497b258014a86fb00403f05598ad588010eaaeebc2e81f936c5a9524446323a890c69ee99fbfc6917ffde3e04a591957279c334e76dc0dbd4e37a493de9ccd9fae9f3962e5342816901771890a22437f56bc201616359ba68c041ba1daca49e4c7bed3849f9c3758b47b7f90a9e2d03a2fb116b594e28bf74eb1a2\n\n# tcId = 223\n# using PKCS#1 encryption padding: 0002ff...00\nmsg = 313233343030\nresult = invalid\nsig = 7e851fc3f8f1a61a6b0c121f6a59c098c88f71ea2797445ff1db5cf27b1594e14b795160d174bcadf3abdae48d901a39a177608892b4f421576064f2d07da9c5edeb90ba607062e950c2e2a89addbc46a55985d6c7aeb9be9e58a0dbe9b72e408162a87710008cbea6c28bbbf7efce153b2777b171c8fc06e293dd0d1b08cbd2bd09d7fd9d316fba544dde143955e90f22f2f65f1c81b99bee7efc8724ea97873d18bca62496c708e88d5b3cb0ce64b6308e568b5e03d80564b2b182b428e7e08b4a50ce12652027572110946c8804ffe5230c9a063eb74b7f64c792c3de430d0ec5abb89e6f1176eec2aae6f0740f1ac24db0ab779217c5bdf25f1509f21b50cc2ca1cf0895874e68e4564cc82cb270111d524e948ea627538f6d9db2e41c8cdfa7c2c505eab96085400437ffdbae4097e059b41d4a8c577a33e192c4a73f8ae51a9e7f5f8f1dc3c297b0abe204813a704b7eaf2ffcfba0d44055146c4beb9120d832e86a57a816d7c016d48dc69e6e5ef5dc55c43025967a6c6218788dda6a\n\n# tcId = 224\n# using PKCS#1 encryption padding: 0002ff...00\nmsg = 313233343030\nresult = invalid\nsig = 481a84b65f97038ccbc2f835c37f207e72edf255c5c5e3d0d14c581568a1606422da5f51e73974a01ae95f13c1763699267b0842a2be727217e53cbb486cb524c04392e4eea943df6c92898c9631bb88ff52c2ddec1df6a1a4daf50b9cb0676ce16acd8f173eb0663192d2057d5360caef3e122d05414cd95f84be4fede970649f00a93567d36059c4fdd0eea32a22d18b96433f0cbde398b0de36c0ded21dab5eac71b6fb167dba28a79a191c3447cecf0944937bd6a58a511c058a681be19ec373ffb9f0cf7f47676253afd605c1e7be41a6b7428cd0510e9a7ea2249c5e0b643af6fff232e8fb99ff9ac728b32932889c8c96be9e6985ba6556a05fab4760ab0f3df599401a41e0d7f3bdc24a0188fc4ad5b7eadf65f32dd4d1c826b76b5f04a62e3f7722f10528771b1d6c78dfc559b4bce32257a4cd56754a167547f56bf985e328c02f4e65c3312d480fbf165c6b266ea1081db095a1df32d7d0a29f98ce5beb4dad78ae09774805ec58ca0eeaa9c17541dab93302c49d27bd4a1f6090\n\n# tcId = 225\n# invalid PKCS#1 signature padding: 0001ff...ee00\nmsg = 313233343030\nresult = invalid\nsig = 4c548eb5ab00b32b5cc200edb95a1f617fc9a2b82623da511a092c6cd7d428621016ec0e8be4ca66993a079125a4af990df598d5202f73822a5768de5c79af28487218d0f6a23960db9ea8f050b4da444a44bf116179c2d01c4e7b438ee298bb5769a8efca3bfd4492ef4f45494e1540ba279056354f5eb554193269627bca912f0e770e230d5e3671292059515d163cb52c181c160ae8b29de3e90c069cdd757d4adfd5014db2aaf8371a390d0ec6fdc19f37d78776b00b55db4d6e04e0f047ed08a3896cf69bd155e1a95f33fcff2918a58ed0b377cc46d1a09825d06799812309f6473b2a378ffdcb4e6a6d774009085f4cbeff43b542e2bee3aede395f3e0b5c878c303b6667c34c2ee6440657941638b8356318a9ab5d4a072ca83f7482ad764793add9f100377d750bce70b9d063d26ea3d8f29576de1a3795fe2be290623c119beedce6ecedc86804f73f3c210550bd582a98f6a7e86662b6461efbf0e518bf28d9100c09e44c8c78b5158197ed2ed1675291600a6442cf2c8c038fd7\n\n# tcId = 226\n# PKCS#1 padding too short: 000001ff...\nmsg = 313233343030\nresult = invalid\nsig = 7175635076412325c1aafb617fc38754d4a33800c55f307216233b6824fc26dae7bf8e4906c98ee4a22d527ba46e8161df8383e87018a12735d2036600b79217e61f6b76bf4cc6c50cdec487c28ca9fbd5cfddbd8f3021cbfda8d238c61d848eeb9fea97cb3e0cd6a56bd42f565a1b635f960d786dc229e5f58fd0c4465e32e39e5f10e21ead60641adb04d88f920d0458dd9cbe15214070dd74b1c288d8a1ad83e526bebd0ca0c35375b84ca1e05d9db0992c6453307b8c4d64e02fda6af6a56a8f53196e8bd8c1ac8fcfd699542d6f9ada11fde6a2c25ce3727118f05456ac7cce967726bf1beaa1093d8021b4dfef6cc765696de57d5abd4407ee2d96bc7439cd9385cb89a9a06b2f4cfa8715777b421d9c26e35d314a242c844157f61888b4a57c169407c180392e21ceee821a82d9ca8da77051d7efb1e1ad08c8824c7aad904ccdcc0884272d118bc7200fb112a709c4094884336304f6ac062eacec72ccf143c6dbe181e61c3efed13bb9cd0c7c2901589fad8fdfc880e24d9efe23e9\n\n# tcId = 227\n# CVE-2017-11185: signature=n\nmsg = 313233343030\nresult = invalid\nsig = c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b1203\n\n# tcId = 228\n# the signature is 2 bytes too long\nmsg = 313233343030\nresult = invalid\nsig = c6", + "fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b12030000\n\n# tcId = 229\n# the signature is empty\nmsg = 313233343030\nresult = invalid\nsig = \n\n# tcId = 230\n# the signature has value 0\nmsg = 313233343030\nresult = invalid\nsig = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 231\n# the signature has value 1\nmsg = 313233343030\nresult = invalid\nsig = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\n\n# tcId = 232\n# the signature has value 2\nmsg = 313233343030\nresult = invalid\nsig = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002\n\n# tcId = 233\n# the signature has value n-1\nmsg = 313233343030\nresult = invalid\nsig = c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b1202\n\n# tcId = 234\n# the signature has value n+1\nmsg = 313233343030\nresult = invalid\nsig = c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b1204\n\n# tcId = 235\n# the signature has value -1\nmsg = 313233343030\nresult = invalid\nsig = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n\n# tcId = 236\n# RSASSA-PSS signature\nmsg = 313233343030\nresult = invalid\nsig = 4e28f546283f9ac74cc99c6bca79bc208e47220cfb0717aabc521ac55119ec6bbcac880bed0007c04eef92a24b091d9a09ee5d3b5be790abdb2c98a07313d505fc876adcbb1089026940e03dfc10fb46a0c2a764ebe86e51ecc2ab489f56daf38764fc0a36a9cb4529367c9880bfd7631c340fb7fbac0edd2e1def00d65bd52e597e2eba1be1e41bd89a00f5c66fbc18b93e9cc1b5be962780f6d7a9c6d375a28556114f37a8a3606dcd68c8128bf7a7e5f1205778bcf3048bd4f7c10cbdb4ae759954c4e4db0a9fe4df270c41bb86885dbdd8cb7e72a33322238a2d29615a2f01e9fc59c230c2cce58ad096c2de5071e020f76c8c39874f1de677dd5d2f96ab4dc145098d25b740b5279f05713daff54ba695f950039882059cfc2f86c35a0501b8d0914aa59a806e8d1403fb2eef163ba1d6e3d1e18dc99c622f8c2d360bfab2c9e8fd9d74a027e466fbcf4fa56777ee0fea7e04ae1901e65b5361f97146d7f4a550adf77539fabb7135967dc16f8ca99e8283dd69627cf27cb9d2df20bbbb\n\n# tcId = 237\n# RSASSA-PSS signature\nmsg = 313233343030\nresult = invalid\nsig = 78d3509284dc06b54583e11ddf2507d9e50bdbf079fc319d107bc2527c1b742f4c759320fa22435d74e94253feb4a379128e7f33c5f3462fbfb92ff40c10b23f8bdc5890114757364207768014380fc16ebeaf22a7b1a9366f3fbbbb912347f1ef595d742a976b69377533e7b61d3237c3693cf43b34f92773497b8df7ac0660f67439aaa66fe179b34d9dd4d013e8fab958fbe2a27ce84b6d1c3c2998a50d41b6b38000191673c23792db2fe47e4ddd3b5396c65dc44812e55298b8b50b5a2a01d508b9d215986113b099717c3a4ee930f479308c20c26630aa5419c2589c8cbbafa7eaebd71fca9e751793629d767be8709fef9177d6631a48731f5e59fc7e98cd466375e8775ba935f12b45575819ecef4d78d85b6e984d90d41c93bb03c832fe415fb567a1d951f7dbdf407beef8caa3a741ca7c7729c8d8ba98896dbe52d9785feb49332e646771e7d84b75476aafa0a54512806339cb54ec1c70943beb508966741eba4d39c2fe535aa82a9cb92eec99d38540efa3e39fbc02d757ad74\n\n# tcId = 238\n# RSASSA-PSS signature\nmsg = 313233343030\nresult = invalid\nsig = 8f9ac1354af4161d0e55b5674821d02823b3a6b3f79cefb98cbc77f9ac2d91cc6345f989a7828132f73f3630a247a936b6a057b3e5a2fda0c5999ea7721ee8880960c24cd2377e869cca1799747142d57ad6a8d83ec9254d89f591add11a758e1ea1e29bd08f624d0e28cea52ed5eed7c0f5f49d3533eb1cdbb2af837dc42942f9a86b5f4e2d5ce506697ef067a344949bdd89afcc25978af4d50c300bcd0ffc9d93cc559e3ae1a13215a1d3f6030827340c6591061a5ab7e65153b1df8b25e1421f924d39c7e6f76243c1bb9ae4063d9a475cd2ece45f4e288fe0720", + "074e87868d70a5584a9ac2b47a56417cc76f15154315545a3ed6704b365f15d34320804469c3b09ed211cbc9e9e767b6f21fa16f8641d8b78b8dff8062a25b5bd3b6a38cb4706c42c1fbbe66db1c05cb57531132eb94fe1569735c33ec491c318a686c837ac810be4afff605f92bb390e7ab3cd24c0cd997cf13f112e5aa01746f43902432639e1eefcbd37b413c586f057bcba40a8f1251251e84cb7c87c53c1d1d558\n\n[e = 03]\n[keyAsn = 308201880282018100ab54a4f2560b9f65faa2f83bcf77d41803c080e4e5c3eab3534210982bba8a5d7e513ba50ba1ece33555c5457c41ba58f3f605a04369408f586c26dfda464c7b300a01f1616893264c7606daad4ced14df9a894a1f34586181294297e3ceb9580b0c785c056d5c566467f6f227f3084918d1cd17ed156e7f9fcce4757c5794f92770771ea5cf3101ca0425c846775f56938c1d1cad4401f4df2f5e0d3a3b2770f99e3c1cb4d9d4896c7ca89287b45831218b099add4bdf1dab6e2fb55d2775429386c85dff32c07a6dda504a9627529dd82c943554aaf23c5a5f6cea9c301b4b1f066b86bbef2e4bae9dc5b5e82e1fa03c29ff8bf38556729b356d5ba41d37a069fcc8fc23ac715bbea04c1972a2d50c57cc0159a46b5919fb670fb2a502d5ab66f0aa99e51016b83a406943ce9bdf0ab9b9e946574a5b32ce95d97ac8b1fbb48f0bf7e3c0d4b7a00d131966d009997a166a6630dee4a74c141cde0114aa423351b1dfdd3893a856fc632b6d90dbc79c8a61a9f9e31702ba69fb222860e60a83020103]\n[keyDer = 308201a0300d06092a864886f70d01010105000382018d00308201880282018100ab54a4f2560b9f65faa2f83bcf77d41803c080e4e5c3eab3534210982bba8a5d7e513ba50ba1ece33555c5457c41ba58f3f605a04369408f586c26dfda464c7b300a01f1616893264c7606daad4ced14df9a894a1f34586181294297e3ceb9580b0c785c056d5c566467f6f227f3084918d1cd17ed156e7f9fcce4757c5794f92770771ea5cf3101ca0425c846775f56938c1d1cad4401f4df2f5e0d3a3b2770f99e3c1cb4d9d4896c7ca89287b45831218b099add4bdf1dab6e2fb55d2775429386c85dff32c07a6dda504a9627529dd82c943554aaf23c5a5f6cea9c301b4b1f066b86bbef2e4bae9dc5b5e82e1fa03c29ff8bf38556729b356d5ba41d37a069fcc8fc23ac715bbea04c1972a2d50c57cc0159a46b5919fb670fb2a502d5ab66f0aa99e51016b83a406943ce9bdf0ab9b9e946574a5b32ce95d97ac8b1fbb48f0bf7e3c0d4b7a00d131966d009997a166a6630dee4a74c141cde0114aa423351b1dfdd3893a856fc632b6d90dbc79c8a61a9f9e31702ba69fb222860e60a83020103]\n[keysize = 3072]\n[n = 00ab54a4f2560b9f65faa2f83bcf77d41803c080e4e5c3eab3534210982bba8a5d7e513ba50ba1ece33555c5457c41ba58f3f605a04369408f586c26dfda464c7b300a01f1616893264c7606daad4ced14df9a894a1f34586181294297e3ceb9580b0c785c056d5c566467f6f227f3084918d1cd17ed156e7f9fcce4757c5794f92770771ea5cf3101ca0425c846775f56938c1d1cad4401f4df2f5e0d3a3b2770f99e3c1cb4d9d4896c7ca89287b45831218b099add4bdf1dab6e2fb55d2775429386c85dff32c07a6dda504a9627529dd82c943554aaf23c5a5f6cea9c301b4b1f066b86bbef2e4bae9dc5b5e82e1fa03c29ff8bf38556729b356d5ba41d37a069fcc8fc23ac715bbea04c1972a2d50c57cc0159a46b5919fb670fb2a502d5ab66f0aa99e51016b83a406943ce9bdf0ab9b9e946574a5b32ce95d97ac8b1fbb48f0bf7e3c0d4b7a00d131966d009997a166a6630dee4a74c141cde0114aa423351b1dfdd3893a856fc632b6d90dbc79c8a61a9f9e31702ba69fb222860e60a83]\n[sha = SHA-256]\n\n# tcId = 239\n# short signature\nmsg = 34333630\nresult = acceptable\nsig = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011a21abeac8409398319e65c8656f8f72e179dd1e99358c7531fddc037e47c1e688cd70eafd6eea01c823516bc79f89d7e52ee1eb4ffdeaad1d550dc0a47185bc9c42e47fce5503c3370a60510f834b4691152ef668deca633cf3873ce6613951784aa7dafde118f37f1cdf1a687ac236d5c956bced564b73cf202e3bace59667\nflags = SmallPublicKey\n\n", +}; +static const size_t kLen154 = 205965; + +static const char *kData154[] = { + "# Imported from Wycheproof's rsa_signature_3072_sha384_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSASSA-PKCS1-v1_5\n# Generator version: 0.8r12\n\n[e = 010001]\n[keyAsn = 3082018a0282018100a07887f373378196b0b748cdf31c14735ccfa0f117acafdaa21fde4b6e7559390b834e7b92e9e1cc9d49fc0fe6cfb60429652b4bf9a7768f71fc4271ca6fef4e431192ebdc98630bfb94c5baf18b4cf7881d84483e4c44c22db15a9627705a0b42a26d6f3d6009aee0d2a71bedf4d4b0ee6b6fec2f16e1277ecaa3bdedba406473a476d1688df0fad1da795526c7e641981b4812b05b692d60c60b2bfa424c8b620f40dc9dba59e2c710e7ee750b3e134c1f71f43210688aff17aaa41cdb5668753f0006b1cf951bc5951f4d89a31196985ea55c0966c3662bcfe4e4cd34f12e4afd7e5c4a130739b1017d6a583882fd72db1a67418702c8b01353ccf75b7b93faec0e0be36211d5f2bd910e1552323711bbeb73858f899cc1ec063ef67d88e0c699d5a689c52106f06e960f09d2a3cf84f53bbea2a473edf2e6e0176801d3fa1c2d358e1e5a26f646ac93796ec1fadc6991c0ec19c9dd90b25a2dd3bf73d2cf1eea8867f96caa5a2df54973acb2a2da0a1367ec74afbb968f517765238d17690203010001]\n[keyDer = 308201a2300d06092a864886f70d01010105000382018f003082018a0282018100a07887f373378196b0b748cdf31c14735ccfa0f117acafdaa21fde4b6e7559390b834e7b92e9e1cc9d49fc0fe6cfb60429652b4bf9a7768f71fc4271ca6fef4e431192ebdc98630bfb94c5baf18b4cf7881d84483e4c44c22db15a9627705a0b42a26d6f3d6009aee0d2a71bedf4d4b0ee6b6fec2f16e1277ecaa3bdedba406473a476d1688df0fad1da795526c7e641981b4812b05b692d60c60b2bfa424c8b620f40dc9dba59e2c710e7ee750b3e134c1f71f43210688aff17aaa41cdb5668753f0006b1cf951bc5951f4d89a31196985ea55c0966c3662bcfe4e4cd34f12e4afd7e5c4a130739b1017d6a583882fd72db1a67418702c8b01353ccf75b7b93faec0e0be36211d5f2bd910e1552323711bbeb73858f899cc1ec063ef67d88e0c699d5a689c52106f06e960f09d2a3cf84f53bbea2a473edf2e6e0176801d3fa1c2d358e1e5a26f646ac93796ec1fadc6991c0ec19c9dd90b25a2dd3bf73d2cf1eea8867f96caa5a2df54973acb2a2da0a1367ec74afbb968f517765238d17690203010001]\n[keysize = 3072]\n[n = 00a07887f373378196b0b748cdf31c14735ccfa0f117acafdaa21fde4b6e7559390b834e7b92e9e1cc9d49fc0fe6cfb60429652b4bf9a7768f71fc4271ca6fef4e431192ebdc98630bfb94c5baf18b4cf7881d84483e4c44c22db15a9627705a0b42a26d6f3d6009aee0d2a71bedf4d4b0ee6b6fec2f16e1277ecaa3bdedba406473a476d1688df0fad1da795526c7e641981b4812b05b692d60c60b2bfa424c8b620f40dc9dba59e2c710e7ee750b3e134c1f71f43210688aff17aaa41cdb5668753f0006b1cf951bc5951f4d89a31196985ea55c0966c3662bcfe4e4cd34f12e4afd7e5c4a130739b1017d6a583882fd72db1a67418702c8b01353ccf75b7b93faec0e0be36211d5f2bd910e1552323711bbeb73858f899cc1ec063ef67d88e0c699d5a689c52106f06e960f09d2a3cf84f53bbea2a473edf2e6e0176801d3fa1c2d358e1e5a26f646ac93796ec1fadc6991c0ec19c9dd90b25a2dd3bf73d2cf1eea8867f96caa5a2df54973acb2a2da0a1367ec74afbb968f517765238d1769]\n[sha = SHA-384]\n\n# tcId = 1\nmsg = \nresult = valid\nsig = 473432cf11b6f96b1dd41e1742ace21cd10e8dad89a3e00ec68f3b45411059d0bbc6c8a3f077bfb4b12da60aca86dd856934061aa8e4c3221a019b7ed3d4e70ed8bf53fa140d3c31877a135a6ae140e021bea9408ee61fe7f32e60cd18932282b1aef1019f9a39789cb48991e535568b55eb26cf96e9bab35d03121f6be9f0d65079b064cff923edb5639cf08f48ecaec0670ab37b03e4cc2e604582e1cccef79f262c8b3d146887303c542ae7c455b0f68e882c5e2259ecd9f76cd3706e9894766089b267ed3bdec29df5b57e6a6f8deff21e093ce611724ba1012cf63aa2c62e7267af4b1df5ef030e6cba7b217d46fe43fab255f41ce086bec5e4f604718c95acdbd5c56bf8b68541ac0dde0a5e0f2336ea608864abdc5324b29b9f7bd35c514373efde38bb593b8d4b249535984662bf4b397b2a584ca15624416537320fdef81133d6038edd99ee19af9567c9fa536474effa925555c9c2fcea525fe2da935b791ec1d7d3bde33a58f80dd1e587e1c433239c65332e94d66d3c79bfd190\n\n# tcId = 2\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 69d89aee9a1b9827228c40c3f3bdb9479ed36bedd2c77b3f5dca19917a5cde9636b9f6ede29718a391224ab58f464c9052b5e6786178194a90ec04d2d2b7513b19df2799b0e7a2d6d1ef2c49ec6870fb8cae45ee1103692da8d211bf61f656d304f69adf68c0227c7af5ceb8c2db4a3668bb6a1b8cc3a437b9df79bc0dd650d6e3a42295b4a6e23d40b3a9b7548f3760e0faf69200df230d2c143807b2f35fa449cfa73792844dff5d2ae50adc272c0dbacacd60eb0b7964012a5c1981cb2f358ff53509f90b0ec41259fef321e9a306a08363ed194e51ab6dbc00ceee576c048c02704a19f8f357250adc70cdd2819157d71af04ab0cc63ac9c6fa4b5799eae521e275f26ce53302017510826f96c4a2889deaef19fdedacc70a6598aa89e2bcf373239bed98d1f2267fa7c2436add13df68d9ea296fab52fed0f5ee46874f48735fe32c61ed2b1c977ff1862ccce093bdf7d84a6b03c3007c4c926d1e52d81dcc0bc2a553a12be363b764f6a322e41a8318ea7408c18e33c260aa05d039625\n\n# tcId = 3\nmsg = 54657374\nresult = valid\nsig = 259332bd5a274bc347ffa3e8a31c8b27f216cc865d32c917a5d7e4c06abd44b6c024f44eba997862c812d8ebaf7caccbb234293178e44b2532478e8bebf6af5f83318ebe398e0850e929a89cda860cd18ec94554e4e0d45a9ec2d9acd83fbef2b5d31dd7b2f3c12e791afd3e39a9437fda7724c9426194bcfdc6bd52036f62aeea7853db2c8c498103eb60180281170aa0fae8139417974d917090dba8f9061665e92d953827dff4d450f5566d2c5b753b65c9b522a0c4da868629569a666b7c292b22060e92acf4ed65e51245403a4f162c8b504b85a810906ecaca2956d395c163a7f6f23573156968ecf62ef46b72b9ce39303681e354e91c5d7944cd3288b2a84a1ea28e7e6f260bc5f8d92be419ad649a8f55a2195ca46130922d82759f9bc030c8b122211d952c3ee7851f09f30c2fecd1070656c69c2598584b55cbe6567dd2719305dc52dfda03ea289a5db920fc2c777e7081cfd92864316d3fca9aaf8e2218ed8a5235e746e5cd9bcc856b0c615b901dc610f0193171869202e845\n\n# tcId = 4\nmsg = 313233343030\nresult = valid\nsig = 1f32b36eb43f87b18e569fcfe7021763bea0ca576cd273c0b20352906ed8484428d250241709c825704518ff9e97103bb70cd26f437f87754bd40407034a9653d00e868a759a190f3067ce5efce9ab17c8b46000d88e2d9e68b8dae0a0eaa4a31d3bb51c8c8d0fc839b0b273c83dad57016b1b5c1d8eccff1c753e5c6d189ed07b801f0a54a1144c142011fd3226451faea43d52597b003f9256cedb0d7d7f56d86dfeef50179a794f0b0de97da1926e9491f025bb3c3e8e031661e0ead860c8914f0b294bf8cfea2d5ccc726ad0743e192510732dc84301eee15eca3c6a5213ba66d0871789315f8537a44b727bd8a10d6e54636b345715fc0b6f5b5116f22557b0af9f948558b0ff4a3b0faf1de7da1965b977aaaf039c5b7b09b4f03efeeab3189d2a09fddc3983e4815df35ddd1c2198b695cffc35aa6662839f82468cb676b677d53ee4857ab9be7bd99e1749c811e2d6584427cbce14d2ca15df061165e85502420602666993463733b43c1c1ebae8d37780470b8cf5cae31cd7427799\n\n# tcId = 5\nmsg = 4d657373616765\nresult = valid\nsig = 7e3165358b5d09ab1ad1599935bbdab27abc32486910382a0ae630f725b5dca5ffaa9e606e2e555122c1e0f3409d7d915ea00d8784b814a6721d0dd117297c951c8d225a484a549e488fb80f996ad65490a09defb0b46f9cfca2e952b04dfd5418da920dfb2968e48dba8f0729b16fa32a832fd8b789bfebc63f01a1190813cfd55ace949d802afffbe9a1ec1e6a5df196e5ffb241c918d712e466f30c66c0bddd48b57ba4d0baa0c2ba9bcf519c3a26140df6aa5efbdd5ac9beff48613f92d247b35efbd6014f3d714705933e47d582f4a5da05b15a79bcacba1aa15a5fd6ddb228bbe4c5236f9ac607f41a492e6b1c92bd68ce30659eb5b27a5b2f76a5867dafbf85a9dfddfdd476c383fd03e38e81f2e1434553643e652cc006e5df7313272335f122a7fd9cae6f2f5a7da65865698d6d08d688000a730c90919e1826bfa1db85d5607ff9d76cb100ea1649442cefc4251a8cc1d823215e0ad1abfb2976bc4a6b2bbd793ebf9c7770957dba1e2a8583d9a82a072386d0957789b450993c77\n\n# tcId = 6\nmsg = 61\nresult = valid\nsig = 8bc948c5c16603ab63e75e18bc7f062ea4c675ebf98dcacc1a9826b0eeab0004e2592b07525fca53bd288bb56b5961aea93b548771068f5b0cef467c387e2d62c91e045872922b516dd6c5b8ac3615c986a9c8b5211a05f63e82387175e8749709951273cd9d8b2eccf678284761c72285be5c189c4400629c26f87bf18ebfe5e56f2057fd91fc9209ec48a872d6d23bc330f1c81ede7fc5a0e2b09c3a4735eff9c8adf73152b3406a62656897c1eef075c4fb02244ecd93912dd36fbe0d358a71e02d2b302dbebd28ba50860e4a963071f0a890a2e400c18f530cf9440a897eb2781ceb17bbc58f61828a6456b93c86df972c42d082b913c4d8807b7563aafb7b330ec39dc988674a5c3b36f6bbdd096201f1c7c25ca9ea8f28e923ba46dbe93910268d6e35cfb605b92ecf98699ae9b09dd4634d1280586c5e6bb0b1a4b5e5e22b225453f5c66f9a7ed7fff83ecb201eb157c76c9beff95227b495c8516bbc7118f011cf9237b6e794bd7a9ba19e35d0a650dbf7c06a0c9ddc95f108a78246\n\n# tcId = 7\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\nsig = 09ee821221ce7bbeb4d66ea3ec88387bb5c5bfb055b8beb36ccba4c2ce9666b1a09935689db1cc2312d797ac8b6f62643de736f38269a81f969308eb616cf41960341fa8edd3501f4edf73736806b6fc1387df4ef3e1e26c03249f3db6471ed580699e8ac77d0fd9a78972347e8657b6cdfe172fda324eea00d60d38b47e066c4a6fc0e33f75d1d4ecdf46efd966ca9aef80d22e43dfc2cd0af37fa70d6df7c637c3c18a219bf58dc1e7bfc941a235bfe81ee7101530a2c264527608d7148dd91325b7895817ae50d774e8dcd2def8a476a9592d55be743c62c1192f0ad69981fdc8651c1db828097ff8088", + "b720c637c60c771b5091f9d9e174bc823115a1f7dbf086f9ad36a403c2d710c47af4753fe6e43c675c30219abc2b8560bd18c25aac719546ce7a74080fcf22bd4e6cffc270e57baedcf2739c5cf4fc5fac18f5dd023301caac1b1faf4dcc65327255ccf54f5fbd3cf82801a8685c2eef3c5e7f608cf6f747b8307f617fce148347b76facf0e1f7895aeeb11e3225e3a6066a244ca\n\n# tcId = 8\n# Legacy:missing NULL\nmsg = 313233343030\nresult = acceptable\nsig = 3b1a01f69afa77d96c1b7bfdff94d58e346746f3712b2bf2705d771b6ee082c7dd9d2c8a87de6a684177edd8038ea1b9bfdd6722a1453d68204e4d6effa584a1b9520561982f0181f102de2d62108418778b4976b4933a79c6a981bd48f84711a3f7cc26ddbf06c59aa669d56d60a741407f86e6a645dbdb1f7927dbc0acf996736899dd9aa367ec7bb157ed121da15f25bb21807293ccf6d3a66e18713d80763cd153cdef58b1e6e31b348cc514b8f2d357d14af7cbaae39993d7871bbd0cb9c136936b292dd368ef1d826000d3ca13ab48b659d231c95c02163d2e11e33152e69f6f3f08694918d89f9a04ad6a01c0887309654a4ea8a848422dc924f990cb65ba2550ce166b6a001cce4767a3f1cce74649876624d2a1111436a9a6b06dfdbafeaf329886d5e7482ce3e81a33b69a9fa7d82981aabd81c2650c3c2b34778f99efa2d3843b386c24377fe17483c490a63c6896212f8beeeee04a3959eeef47a00fec8061845d84fe7d7afa206074b41ff001be315a7e32c2cfabdc861eec45\nflags = MissingNull\n\n# tcId = 9\n# long form encoding of length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 7835e135188e97973f3cd0a05a102e888fa51ce232062c9856d134b30ff32b513093e07b7571b251f5b3618364b830b1af01169b0a19c203e079083c4ef85827f1a4095f0a6cfb9ea0c6ea4ad1bcbe27188f90b8c66a9ba0258d3baa49b97d0f8150370bbe9926e1471772f1f37dd85b37a5b9a4e15d32c02b427313407fa9ed693e0f444fc6f10dc1564072c360f9e5433fe985fa699860d6c9fc528aa82cd7b503854a975524b132eeed5f94015ed1b2d85d9dfc6b10b529e140bd611d316cb54f31f9d7d06b6deef9b63519c14ffe3d9694077bd0bbb3482b09a490b10ca2c6b510532f38dc2bfce51cfbf2ff8a43181fe2852e6876b760558129c3066a4f2f6e0f2f4e95c85f40ccdd81e795d5d2987c92013d542d99764bd0cac97024adacefc81ce89b36311ec4ee304b2307cf1e10d1f171f0ce7413cc03d5bd2c2233e0f80d98034e91d8b575e1ecab76d708c0899f27bfa1fee102e9a5f393ad18293d3ba93c7af3bb62e17311e79e02214dc9b62a85e6fe270be98a72391ba14e18\n\n# tcId = 10\n# long form encoding of length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 0e0e316e9d6d1e5f7333789d42f3761598bbb76da7847d5b75c376ad884ac2b61a0394bb2f65e1dbb986c26fa3837f905bda324dc65545fcc6d949ca4b8bd49f9ef7cc5b1c0c593bc34e02a56a0b2fcde4ced168a504ebd4ef1565cfb400cec0d86275af35afb01a5ed32263bc264a2c8a45a84f348c2ab7c7f74711e4e295323e2b9b76a7ba7475d8f8d72943b10ba64eb084c832ac9b2a984e1a2ce1bfb50b97f64bb754bf5d5832499479a198baef88d9dd21240cc95568c64664a704a359eb56534e241b106cd8d301b047448c9e83d0e3d9632da4641581ce53c8829e49701ed297d815c46f85528d2fc531a7813eeae45c0d249eea00dc69da92550ddd9e04787a1cbb76d7c6f4bf35b7d8582ce2f2e4c1184f79d3d7473d7637f42215ad4b9bebf143f958f3d0295b529d3b3db192dcdf4419d42ae219bd81a716f7d6472a6a86328e2728c5ed4c08cfc6f9c3277e42df22d15d7d46c442af610a45668de66d735e09abcbb638ac39cda905dab0cd802f5a542951df3233aa8732111d\n\n# tcId = 11\n# length of sequence contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 02e31b3b6f1200f93fbe8426cf433575cf01030fa1284ab8bf74428acef25759df587be26a5260789cde2aae7b133d249783b1cae14796658d4b6a4aa24321f5afe684788efaae848b693846a457737694d1a7af6985890ffa7384769864064eca91ece6c03298f5ebfa7a18bf731ec9a7cb23025b7072ad4c06bbbfe33655654422cd4b97a9be3aff016000a6c7303ccfc73cbd908e82c930dd410c3ab2ace258bcd05e91e94e4a616a6ded7a4c64b00dc5cf202689a0ef3583a31e066337b1971cdd909c20a1ffc7c006944b81a89a5c96cf43a6def4d745134056becdb9c9275b2f2a97cfe0163bea5ac8dc32d0fa7b24dda4ec0c88f61cae77fac4c19a67c46fd26a03b990c5737ebeebde402879a02cde56728688394d577e5fc7c347a8cf66702b3b255084eb224436ca5c861b6886db60590a783c2d32beacbcecdfacfe6b6e520586856596b25cd918d586642db9acda72986078511bceddbea5239f229f1aee80cfb9d851ef9e84056141d026ff50abe0c83d2eba6288722457f916\n\n# tcId = 12\n# length of sequence contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 0ea7aa33781b897d17e849f3967ff8f99b2f027a2f3d46bb979e5d4e58398f2b6798b6c6ff4e83df0a320cc964dfbd6542c0441668156e108d2eb5c7cd4947b4c310456fbe342a00ad7ec2be365d0e6c71abeba20f701b0b55c833e52e30ea9cde21bb1d23372b9ebf920e1c163703a484960872c2b5ec4e4840843447d108cc76a37474a9b7f2ba09e406ae26722b424f3de7a0c9b68ecd71fb1cbf3e87163dc780fbb8f0a16f06e05cd31a0b6de0c79912df07296bd059ff327fb5f860ddde50c3a28ccef959e89808120cb1298ca5f6f7bcb7366564981bf90161453df0bd8268e8cb34209c969bb5c7028476eb212baa30990526fd57b36c66b71c59180ccd26b02990906e0de5fb386bce5ac1b3d2d23e1893220f698b5d075ec0bd871843f473555df877bed9bb22cbe69cd7004d9eae7feec60808ec74db9f257ccdde2d20ff5eea9a4a8c3b89bd281286864d62e4997db92df8ae0d2a1fc3dfd9aebce9f7093c129c426b5b74e5dabb7fa2bbf8a59fa2e4b1aef9d69ff7ad653c2546\n\n# tcId = 13\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 556a31f90b1879a1374cc4f2922dd41cb2313a61fc526e889fc9a20868458ad5cd26d6b3d3a0106193d44be3a22d1384084a949e5d1388f1e671f638da0dd1ab90d9d316ce66a25840a332bc2ca312dd9fde87ba57ca718f99f1851b36be9e023e24b9984062828211a581127b0d81e4b1bf5977f23d1c70da7887c09830c0e3c5a4cb66bc8035da055596ee7cbc1ed4ea76d7712708330385e5a9359fa8e3a0f6e63a569e5d2db4e867812b40da15d3015dcf31ffa887fa7faf478a0cfad3125fad16d38a57fac2262e01217d6d7adc50a3af804d8881e61dedb535001d999b82e2d9250ebaac07c4e695e946b5f42c86b546ff18f1a16a946963c9234d56d44a78c4b0ba0adea30b17528ae91fc326f1f976891de26e9320bdbca32f3709f731009da45b0b09ed5ee788278f18baa5a97d039448785a4751b77a7b061489adb289eb85459e663d85f3bb300be43a185283bbb94336c41e08f50ef7ba378e525e48a844e3a165bd484b882db08284e5a51b392727d54f913d4bb9b7c153b884\n\n# tcId = 14\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3e5d3c3c140ee9a1443428aa0612506da862e56b1add3a86b13f4a014b65ab0be390c5b6be0aa14caa77c0e0a9116c543f3ae0ecb927924833838993d02cde56819fb5293b84b9a00ee84233c42cf993ca79a9af5dc7fb1d0074b9a9f895bf48f8d9f79f5d8535748196734790ded7f5e1cff092ba949bb70756835d1ff2472c82069aecb50ef4eb2078e59877ee8ebe42d90d8629580813f3ee4b9fe08960615c7b4c59acd071df543fdeb7440499ad473621dfcae3c14a2971f85e233925215ab08f7f2ee3cf70427e94be6c895cc11e2a3ba569d7a530d36e33f00cf76bb7f60b4fe7349cad86f09225a5ce0092b8fa2162b3ed556a7eba89e48461d32a241c4fc7016ed77a097ffb289ed34b88bc471d35a931a75b0309021dcfde235169d8b3f18de671444cc5a86acaccdaf62945fd39f71c833a58521f591c5ba04af3287444d6975d128f090c1030ae4de3100094c24e262481de1ff346da67ea73c410b80758273dcbd83e127524eb93a703bb982930644297545ea36000df500e7d\n\n# tcId = 15\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 79184f204ed24bea8e2e768a55ced92dbc0b5d59ff9013db7d8b6828d9c631f47e1fea91d383b7c00a64a3a3e553e7953288cfdaa78affed5e7acd78f48878b507b02e85479c9fc529879e9c8c252a0e559543d78f0cde0e3b797d87fdfdbf960a8ec3bd49adf6ea370a10ee8caba7f8edaa44d36430163f1be74bb06a6e6b689aac34ec48c3dad3f95d21d5a453ea55d472331d56e2272765747a06909d8cba8d1543488cba40015af45608cd11dee21c22e76670693498ed7943732fc3bd4c3f5b78821f1d3481a1ecb73c878b190094b5b5094c54f68a017918768d9162c15e1e15e2623019e7773e6815bd6cfdc37560336619980829a61e950d34e87fcca3b5143ca26d55d6b9c896a28eaafd1d77320e18c46ea1933f681d32828486d2703903079633a61d2a828fadff6c617bcec466570da7d9d0a447e50d49beacb46a4488b65743fe8200cf6a0b44bc675ef6c6acb7c96fbaffb7b8ab0ffb6bee5d3d5bf94b6aaee4346307bc65be6e96de1fc84c52e8ccf2b81f65785f097f9bb9\n\n# tcId = 16\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 11ad49205eb560672ca173d10d16e9f196ae3ae43350069549b74ff6c8c4aa71b31e017ba2abb0d8b6e8154652fe186a83fc34844beff934852a9c278286bf60166b6f99a30081a344e11c655a0fb51e1fc7a3ad700676ebaeb0557a2c8140686d5a803bc8e5ccc80f688bd0550bee603ea5f59705cf3add97712642f0b65e517a183b4637da5c7ac78665cc5ec07515fc4cd84c885ca673c35f33b01b9727342ddf269f4be73686b05d8fdbf83a149232f5c7e674d4079b8021dc314afcf3c5561915e03fef780f51eb5acb78ae14e84c82a1efe444330ac4638e3f9918ddc97b89ccfff94538d0031807ea147e068e5df45e7fa3592fec60fbb15a88094d491bf94394e0201a865b40516e1669695bc32813a443aa868de58f60b60617230f871f9923c2aabb9106c39b88650f150ac935485a246f559437a9f687104785630a6b18d5544a1eadeb259228e0a047ef829d9fc5c9ce907a344a89c5afc51408f8f23438be6885ac746a334e797213fb6f854e58dfb58baabaf05a4f2070244a\n\n# tcId = 17\n# uint32 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 135943bd12689bfe04cc1c0a8860d7c18f13b4bf0a82c334b44ada2c5e82fc32b0", + "ae99c048c94e3508f59855c53e6b42bcc041c219fd6465d21582f4f99cba4b88ec1844ae5a89f3215caf458547f0d147c0fa1db67453465e593ad2bfbac8ea9238d672368d32ccb681663fd8b023115c4f41345551d5f2bfd387117830323a4d061fcbb6aa13f2dc0c5a317e6b7339f6cce5c543291154ed7b118fb8c55e8942d0ee9acba4ec3c9106278c982a8cda67a2f3cf74eef8a37fef7a256e27ab43f5b6f6a5645544bc7d766e4aeb439d255d144330fea4c10438d2b801b477da861f6f13eeaf61bf5ad0b79669dd1c795e03bb826627fc3797846005aa975553343c91deac0c777ba9e253da8f3b925abf5cbb0c317fc2ea6f8d750bdce9cf149ebf623314de480daab1139f882af161750d3b74ca437df8bd7c9570c23d0d896d4a70aa4e464d0a836c7bbc22306aae10058d1dfd81303dfe07b9231c651fe30e0ceb328570802e30dfb5910cbb0739c6f74c6088b2ff20088b7b91fdbbe96068\n\n# tcId = 18\n# uint32 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 5513c16ec53402c0546785ed2febd651c1370352c121289d2a1fc9d4db74f99041af22d59c407d60769174e5976159ad64e84a3dd841c04a16b6f740067b50385cd31956d917372187d04bc169ac0d55555dda949bd422d39ca03e40817a3388a4ae03668af3148dd08e6faf1eaa170d4d8d9d1fd607ebc4f72c3eac163024dd2f86afdcd6b448c7c5d09f2594e95ef97b5fe6a38a265c06c12dda0665393ecbf64770be7cba42563293626c305eb840b54387d40fb371047014a058ed0082be31f59259971a27dc4de18a403bc26c7b4279e390844bfc13215365375fdec2f3c3873b1ff8f87f60506c55b7ccf03f3b3ca2534a4f686145536f65bd1f11bf7eca54f327c6bc120192fe4975657f54b962f0da0444c6650984213ea2b531b0b8432525a416e2de1790efb83a224d29d5d8153279d45f990e36c839ab7ef3cebab0dbae382b096a87075b5fe000a4369bae1335b22edccced1085f7c1fdc7f71c6ec16afc96df26df65bcab54321d91d59f7024ca5d65e4791f8a1589f094b797\n\n# tcId = 19\n# uint64 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 62b1fd9511766e69a94d61d38e4b02f1c6b39a3c28e8e390175cd61df62001b189a0e44e7726cd8de44b0518dadd7aa360ebbffcf293c5ff749230066a63cc5e393ac443e73a345d79e4b54637ab3d1625a3d1e7d3d0c5bbcedb65be1c85317035cea9f73b282554f355350513a7f8564d5c2ebf93723f943d579878c89b63d25be92293538bb9d80793505b20c958da5ffde894c71c392453c506649b3891be55d69c607b6e4179d5a91a332f84a44ed32767bb189fdb7145bc13f128a0790b333be81288d4b52493cefb118d770aa5622a4318f5d37ba40cbea11d2433bf51d10d6f0d48f856ac1a87376c6a008ad9507d64103cf2e12d4f903f9dc7bd08c1c6e56a5710c01040a30575e755b8dabbdd83abbf53c9c0e53f184680a5d95526252f9ec04b03ba99731ff15e07d8566366ec78d3eea0f723c6df1cc32e0f906cf33b1967077f61ed045058f040746e4d414584d0c231cde7c28a108e15ccbf5e89744e3ba1f7bd3ec92934101be8af0bc0705690043261e98692ef737ed78e5b\n\n# tcId = 20\n# uint64 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 1b035a14cae3a8c4311b879f4ed000debbe72f9847fa91cffe371d2cc3e5e5853542eeec362006e7bb8fe2528d325071a8d8564ec9d60eea7655ff33bcb698d65cc30753084f773ddc3347e934942afcff23da35628dcb2751337afddf1fd900e2d83f528a96d4a5ebd4636aa7ce0f20b181176973c440b014d203b24b03a92531a79c7fc802cd10b7f633fc238e9ff3e184bbae1db31a8e70a69dbbebf925467e5684218e5651fdcb9ab2379b2cbb398363c410192c1ff0397e9e23eddd8e3cb473ed39dd9ad142a7806c2e753310efb1254edb928d781e70211d0483bcef6b7c43b52d04b96ed56de631343e29c99f4c115d11c0b74880c4d6a1235c55d0601b07b23530c9f619ce12289bc1b3efd4f0a5d1d2f7f46f9d58f0b93f659420cea287532e0f3b6c92d65084c5e188c998857989d5a2056bb973a7cec9f8a25b260963bcc2d4f74f8701aeb9ca92fe7551c006b21dbca74f481b8ca1640e251b98ffa768ef2ec7924cd708931b15752858d6f7dc0890fae266181b52ccedc87446\n\n# tcId = 21\n# length of sequence = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 0d6c8e033994b6ecedf22c5f544f2e3b688db8b2235a00dfc8f1b2bfd1391faf649be65815533d6ee94098a4382072beddc2a2f439837dc6df0c9826ec49c3c529b71e9cad2ce717fa047cebf81e0788ea71f8005a0c7ad1a8d59c27efc334c826b40c3f4ec0354633e7e6d71654509460e7d5eef7a44f4894f07e652d9d7860c78ba7facd161b65e5b8c47fd3df85816ee5af4ed35c03f9bf08c2d95d56bce82954f17da0195e95558dfc49d7d545ba004afc59e8f17236cb6f0d8d7d288f8bfc41122ac5e803ef855b3d02d11dd214a7f1e90617435b2840583acdee0feb145a37a8b8c9f5feef750d9a950a605b59841370a47f59a3aeaad2753f6b1ef1c4327133fd59895b627b7da0dcf5f9bb7660cb9002692ab94711db9c15d3bc5fb4cb0e62b36beff03bda7746a0161b4199366d3e2a3a9c7a762b6bf15ec1fa27585aa22d428e7c7ae7dfe8b8010a7df9f07a060d9115d235287ace863596e1e01fbf3551d9995e5442de650953cd2951c561317d331df010d1c6fcace9f8b05145\n\n# tcId = 22\n# length of sequence = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 7bbba09b554cdbeb72016995325649ab9c9d0a9bdecb5fc44ff0057bf619df2ca2bbd0c3b13dec3126a0545dc4936c043f200d7df11d87c390dfa1b0dd4e20c19877f283f62d6e20e0ff2f0d561589a683034bffb5fb2be9ce2be2a3f9f86667b53cb0901cdf40c23ee67746a49ba1ac576b2075bf1ff7f48941dd8bb9604d5369c9077d766776f265baa4db5dc3fe7a2643fc644a01f14c40a7a96d95713927b7cae6fd55faa5c802added32c5ff6f7026adef607a2f2abf59f2f0a8edd35547db4ace0b8d81961480412b02b5d51f1e7f0420086fb506b7d617605414a59db8d7f1374398efe6d38dfa39a0568a53fb58e1b71ced8e3c126db99b02c0a7b3e27a4d1493f2c077f51f5b9ae73bc89399b18c270e6e5766b69577283e084ce3b2522a77a994fe0e4a192eb997cb5b4bbd7592d24ec4fb1977809440c7e0dea07c384169e9cccb23c1fdca7773afee4ed804f63aa556492b7a4063a0699ddffe2b583230b826a320e1e26677adfc11d185a1992d38e4946631053330a542fe594\n\n# tcId = 23\n# length of sequence = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 7e13964d767f2f286807be50118481f2651e9da08d93d850bba4297890e79673480d7dc10f5435b5e0e318adc9af3dd5d99e0339f9bbfe21891f2bee35b9462b442ddd764fc278f77e7c17d017779888fd552537f8d7a9bee63dbddc10903c665e975cbb01cc1ddd0349afa100f325e3dad303b707f22ad2c120083e4e304eb1d12abdcee41f6d1cb276f58eb09cba643444697e43a899c5bd3b1d10ac939e618db4bc12ce6d822a29c205ad748d3f632b147a7232f799c14678ebaa0124a9ec16168e32df41d21fc31a2d87c3b6008b2cd90f51230e1dec00311faff09c2fc07acd78b57e39271a8912a0c5b76e3cdfd5915c6362f1559c28c95479750b72c4f0b79ef5f9a25d9022051eb1d9de1ac764fe683958ca8a6980098939b473d2ba58a4041ba3db8b5a6cd19b4a2212744e1e2179d6c94ddcfb770d55abe3e5d7a81032809767dda95683f1ea60054d19b61779f17346b7642a92b57da96c5d5421bd77b49c0cc75e6294354e307453718335f5c1d87f5179c9fc74f0b10de00f9e\n\n# tcId = 24\n# length of sequence = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 31140fb3b755d517fa660fdc5b940ba6c8fcb667ea633605c730fa47a3b52c0641829f275d2f8d9b8ccfa16e546146561d53a4d16a88bfc7ebf5fc3f81882e9e563346e19944727ccdf53b2f71c30a108ef2a43dba5be533fb0f05ba0ff302cf18e77d2df46d903476a9f7fabfb0a4e8a23e040359326612fdd9411910899900c3987a4b59d2e8ada6d6db45ef7f420b8e8faac28c6b9b55806dcf44f0b2137084035be8475ac6e5c6bbac67069530a36892e1d6bff9c594dad9b7e9bb604200c9320abffedc8ed3a568acb8e83411e6d28e0561848776c18f8822a150c68aa8279b90422f39432b44a9f843a843d4b970ca608b15f54c42057e17b406f939db847113fc6949090b203b35bfe53e3f414837dc0e2dcd58d5f7b829adfbbc60e41a8c9ed4a9fd15f31a7795c4fb93d88f640b20842281e966098060eef25b2ea3df4d8da8b8dbd9454022bed7f33539761303b46bf810b33253ef1a5887a9e4175cff852772101b27d1bc266e8b2924fb37917aaba4a1ffcc9fc444ccad469260\n\n# tcId = 25\n# length of sequence = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 7b4bbdd6a446be7d5ff306171d91aad0f94e7996c01b12f2e402ef415b06ea2483a39fc4db755f3e7667f474bfa282dfb8af30c26a561f499b506a9ac15500d8b994e6ec5dd7c0b6963dea7f0bf1e5df5ede5740e41b8f71ba6ff56fea051e44b441df0264d730514e3cb74e8e0ac5d4e0be7e3621be53a41a12c12d0966ce64c524c16f4e1dd04dff3077b50ef54f2f4bb1da42fe79aa81d1604ef346e24321a7d9355c7e3e64d83aedfdcc02038ee483d6c46fc9a2290a8d75c87ac56e04da09e661df1f6adbb1ddc19087a3d7a96896cb803068c496ed93ab184d8377cb277032d627cb5f89aefc574d799445232292382d70e13234e4342825ce75dc08501878f4d3d219442cec45c5c6bcda2a70047d671aac7593c746850d8491a4fc9f17ff16fda341ed97ce8fc9d3d8cfd889dd752eef198914c4dbb78646674a5c88da0f6dbc3083dd5453a520a68ef79a97b580b87ddc7b7761277108eebab138b7eb73fb6d73e8827f0d7b7f4411136cae3ee2f172adad6b5f3fe3acb478cf7ec2\n\n# tcId = 26\n# length of sequence = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 56edf756f30417735f334309157c56b1918947f55978e684fc98f2b1a528e45f162ea4dc2463bc3dea7e31e0ae19a8114689ac76464efb2ff7e3a2258ed9dc074d5bfc47d6d0f95b71efbe8dbdfbb0cf6a9f3f96978597b6e2ed5c5cfd365ab5607419c529dd315302a753939c920351e2d1501f63ac2b8e1e3064eb7571cc4fd2d6af08c6a6e54eac092f80304ace2d717d9cc75efcdb714d7c86460f73f962ff221a76a9345aa92a17afb7faf5ee30a9351259a304f8430dc6c063de9547774f1df890756e4a797bbd1faae7f2145940ad316dfdeee42bdc5ffea9bcb19dd329b4f84c48318d63476f09f8de7b88db07634289ed42c546b2998b583e19912092b1895a086a", + "7d050dfe693f3676e3fdf26000ff156827a6bc94ff483e531a52d84bd0f3ba9a8d3c52052c12fb7330b318da34da565f14b37144a0196000ad96629483e4371effed018452e69ffa4c73b0270b6a3bce0c76bb594200f992b035ea653d54ed65b2b4e70bb6d6f51ef37c3a2efb337694e3c54637858d828c57da\n\n# tcId = 27\n# length of sequence = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 9e374703a9e94e6d708fab0d94cba375bd294aee74b8b63ed6e0e8396c1908a0284bf0b79b87189dda35b1851578b8026caaaaeebf879e0142ad1574d31f3f9bde867f25f4b3cddb65a273242e08ec77698c8bd1d095f92a87f7777fb865703de7b11f92ddcf8d56a330e43e2bd575cce35aea05f7a17d6b2e7e420a7cb2f6f969076a6a96068b4611e1e2a04c17be333afa6216e7a68f9314307fe49a3faf890f64122c04df658af93e05261b537344baa336cbc0aab6ff1a73eb540eff4922cdf6e0114161efee8178b5875c77f0c87ab5894d71d579f52044e13383d4747829744f3d899fc2278f2ab1d946969790bf62f3d55f015a0e8c47a3ed27dce9a4fae0d8523dee7eaf1703d1f2b1b5daa2bdf13a74fe6cceddab1c7e639df7883b5787579af5429b358a8453a325a3ab5746190b7abeec6babc198d0c6121bc420bc4192ec3cd79faccbf02a2b188d71a5fff9fff899be8101861193d2fd41d9fa253ae243a6de65d25ff86de236ab674e13f5f5ebc795f95ca4415a30cd3a48e0\n\n# tcId = 28\n# length of sequence = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 7e1af37a290175e7191640d8c497c126714cc3d90e788a96c70fd2206485c783c3bcac949e09db18d4639ce1d26bb7acb76c3fd7922addfaa370c11d8c96138fff55936c62bef61bb5dc43660467f43039fb5d69a8964e023745ebce424b314df76ce9e5999a7fd8cd33c2d2ca7f62e2d1cb8ee0b349674fa5476949a002fb6be10e21f241b422e5b7a8ad8889d7e52451c261f9b83f9356ea4e37dca86dec14d371a23fc7c9a99e8f81542e5caa691873c57948a3b9b31c8a203ea46e353f4dad30f112ae545e985759b2272664266d8df7cddb889251c8fca0061a27d3682341a789b6626340b9c9a4bd7c063e96d08081b0ab1437283ad8e4d95c5ca48167d4a410565294b657cafc56e75acaf553d609fe02056a20374d3c06bb7484373adca95bdad39d5c5f204f56e9f4a689628a7f0364bcc0fc42f71a8769669764c0244c7956100fae4526c82bc62dcbe47bb6f37dffc59e9dbfdf50225eb8c583b8b161e8aa3c30f70e71181f412758ec9561feac3f51ea5d1960c541ba19795590\n\n# tcId = 29\n# incorrect length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 9d86754511daeeef9ff6b5a1828200670a1a1a9f7c60889644a24cb0664cb01fef5318237a568781c26f49cf9d0c094ae79df3baa9ea53486bd9910a57b3ffe7165f9208bddfe0476a16eee73cd85fb41fd072708eb3484e295ae6dd1cfacf2d63ac269e1dc6afd34d022030a85861d24d8fc73ecc5d9d6f510c2488bf00b311d114f2c73f18d4244bb4ef868c2315734605f8ce5022d74200bf520cd040d899dfa193367f07151ba0de412dbdcecf5cca924ae675631818a68c2b92a8a58d53d168e12f84e5f1cbb087e974590689df361cb3f0243d5a3f325bdbf4456a4d5991d245ff5ccf8d15c346f1f15eb8e6ae7ce4e427553982ba38005711443b4acb99c595f7d3b7f465f4e3642a016b4fa5d1d4108f6fd7aeac9d12afffe7f90619f56162e289a2646760c803f4246bf57bdfebe39aa7c563b8c25e68e35996a8a068fcd3e32ac4d34995cf8623e6d016c0d2ad22460f7a0e3ee8f608b027623e926c36a5b3502f38af59484b71ce68143755e1f2bcfb5b6ce7fc060fe48013a4a9\n\n# tcId = 30\n# incorrect length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 1be236c819d1e7078aa99ab03c5334ba84c4bb30ed75a05d4dcce54b0c3048720b20f69f703880f9f1ef38b65143f838478aff456fafcd7c7c56618f0a5f689e09d86abde3d4aaf248abe6c4632058cc519517a1cfd3d7c219aa4a53aa2cedb164e9387f789a4099b94fc23451f855e0eb759c522becb8d3b9ba9e73613e7c1a168c378eaed5ffda4e6062184d40b3409ff42dd7f1d1cb20a557122fa82292ef5513da40a16db1d45b0121656831b0f7213650478e835f43c5e103bf663bbce02ef5e34050ca38ffef5574d21dd212b57f65e59336142ecb64cc58a6c51bbf1acac55c8aa30a77c9b5d94416ac2d9c895760045f21901b19db9026aac3da725f90af498e108f3b0f3383ff197dd130ea425254d7a85b5d1d843609d925e09d9a0d0ca6fddd0d7af909134054480fd8f78ea8e106484dfabee2a7260205da8ce2a95ea2a42cdc9de07b0c94fd4682a574ff22ca14c033a18905f7155cfcca994c22c4321915afd0149843b3f2be74d28d3ae0b3017e8eeab4ffc531c382a1dabc\n\n# tcId = 31\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 5ecbd91f09531622a73bb696711c450ab91af58c953139dc81fd527875be35b8ac7e377b5bdfc6f2cc502c0b6d3b1efbd5b74f2fcb49779a3c9ed716431aa0ecbf349b1dee3e7285cdd3774db949d27dbed08ed18ecf12ac24f04865b7e11719b9618bd77085106eb05cd994e769fe1f261f8b755d1d4702115638c060c1c5c430790250ca71bdcf10b3105dc3ed84be09ed12fe124495692b2ed841429dbe1382bb513416a488fb4aa7956734ace455695a641dd99719bc2530cffd6e02bdb4f8e0b391e70ab339b153653d9688f2beeb9046ea2ca41a11654978dd81552386827b8dc8e35d5d401f79c3ca2bf2e1188c35b27aaf78a36e2f3c0245a3b5dd1e0ab4bf60a3e5c18e883b4d8110914e08777e463932cdc5d01a4db721a27a99a3c2cfb7a497609243887eb244f6fa276a0a28d53a77d28bb818706e72f9bf91ebd99d3598761b3c38fb0ed0c4c5bb32831277574996fb1f46af34cf173c711fb81e0aec055dcf19a594a4cf5f667ff64166180ec8783d0e82716e57619a45f6ca\n\n# tcId = 32\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 479f622eba6551b6f975f419bfd3fe5fc357d32199d85ae27d5c64a9a832f2f33dd93ff1fa0f3e9487d3f292b1a60ac1239ccc568998f5a5e2fdae7da0187ccfb7a91d754b23c98c34a810015b050f8fef78fe50f2c9a99e16bc936898a5355b0642ee15286f8a0851a7b91d3988875917e3905a0c265bcc7f5fff020c709fd11049e908eb42e4aa13bb6f7bcaab2a3256cdb2f58500717c7ba28464552901440bdf4ca6f4cb9c9faec372f557cb83d4258bf853808af35b81da76c937af62c926f7f963aa68735f6ea4ec1c487193cd4de17fd679a9fbd8ed18527cfb7bb8266635f4aa66c03f310b19aee57fd3977a76a858b7e7c405051fcbdce4ad4073d8993a1b5ee16b10f5bb3702ac8728c0f3c0c8b723e30287fdd5697fbf5f08c030f17e1ff988ab71e0ea8539fa68c30e2fa760f1998e5bde95a65013c686057a50105c9aa058b44a6982104deec31dd1f393a8223a25828130db01641660f07a5f9531babd71df640871806880f33a2b13db44ef9fb0d03b36ef58a2c554510515\n\n# tcId = 33\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 76760f4face7373dcd66f3f89a1cf93344c0ad0ef083ef769a8e26013e0551641c5ef00397eda16e9100be6ce21259eada475b0ffcb2d70ffc561250503c59280c63f5ee5a58cb5c11d27ba88bf1c219e4975f3eb4e02eb88191b3f4081e308b0455ca3d729adf5e9177f837e5b6279e84ce247f6f95164109f5151ac4bab08f5e1a2875e4ef16c0ae9121cd4b1a2601fd52a4f1d742ab6420161904816e4368fb7e64bc8f240651da39c28ae81f20699f6dd71c4c2a3dbfd2109ee973bf4df6fbd48379485e2e7ef6602e6b480a7f894d3385c80d9453191737516034bdc8cd93b35017a2f97356d670f424bcf4e6643b4d29ece738851fb57eb8561fb7260ca1919ec5c9f90c6cd4a5d60796aecd2d28907412ef986cb08157e15e5ae5ea98ea8dfdecf0cf624e65c762a00a78fe1453a070b6df6e89d7b51285379cd8bf4f3ee69a1a233d0caa324ef72a1ef19e5b5376403487b8c6f0d54cd5c2351d082907b045333cb34b56f9bfb3142b889a5cfc3b9e667e8971129a21b4a2e5d1b39d\n\n# tcId = 34\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 9893a1f80a5399db63def36a1801903e04c68a22974c37b4c77e610acba1067f8faa6f54f47da6ac680d2f94b6167c71b6f626679d4099294914c53f00fc77263c42ffa995d3777bfda44477ca1b790685fb27997ab80db50e1a99ad4b77dc0aa8b05479ff2ac1589440476b13fcdd5712aebfd188b6e6d11af31718411dd09e55275656467220be8e0ab93ff03796321d72e9ccd32cca553c2dafbd35280e8d2aabfa8aa3c111a7a34da57785de990e1ca0ee13f2118b2277683105ff09fe5800fb0be608729393f2ef495cbcc4ec30bf18e7f23b8e81cb3d5e4973ea3451fa64ed7d2d6bf99245775c6d8c33d62368d5c90d73b9ea292043efaf7564129355e69787e618a199ebdf75ea53bf7b19b3783276f068cf01e744e7c13f99afb3796b6c1f18c8a961f02ce2b1280c66b31d7c2c43c563782359c0dcf67f1c23cebc4caa9f3d129fdd0dac6f0a7917eac5187f01c708b3a6d539e133d6486596c16ad6a2d32730c8593ddcc30e66ce41345e67a92b95b7e876cc6c48930b817d5cc6\n\n# tcId = 35\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 21db7c79c85f32090e2a0087d5558298c700c40f39a6f9e08f70860bbc042ddc1e98c290007f0d426b0cff6d6f32eaef0792f10ad12ab892858bb2ab510d9d5d8d2a2bd0a0c737602c9949d15e0c67d5c54dd85a4cce003582f892317869d34709696620fbcf0bb572d665316d11d14958a58e11ddfb75309c7bddb87fb851d8970ffc2ecef3d7f57cab94045158c01ea3a97843ebb542494b8f883686fbb83fbc89a2aeee590573bb41788824ca49da882f475f415d7bb64b113e046714dd67dbe0cec72416b9be30476d197ed0675deac614be24ed8b4511c41017dde5be0d09e1e4201e8ed9f43327da18ddf40fbce03c477f8a3831bc1d22b7ec72be3b4927c905d77066069962f6ac8a929f810044dc1cbfddafb763df8596d7a8197e8e70b4a818f4c2163a16907bead72940bf94f64f4ced5a5141dc2757d6b93a1c6e5034d47a5ee512f960f37fb269d1b0102b8801ac67eca3ec27a6938544415540f55b1c5919560778c6cfc8c6f9bb21d2438d2c65b95554420d038b1905e02d09\n\n# tcId = 36\n# removing sequence\nmsg = 313233343030\nresult = invalid\nsig = 169a1d69376ce5e37f7ddb7996c66a6a0bcaefac6e41193cf6b1c15308ac9fcdbb68bce602aabb18d94b458302c7f96110eddad9c61844428513f10d5b82fa8a", + "685b756bd2ae1e2c7a94da573f4bbdbcc49c965748bebbbd94fb0ee74944cd272da81ee3af6f747095d92562c0cb37eeeaeb24ccaab9bac22302c46c7846891f5de1286a16a1bdf4dcf78b4f94795890ab84b5a232e5a21b74e72d5d8897858897201d3db3a7f5a0c3da6eb6465975da790a8271619ecf2f8b14fe5ed986441fc8c26e506f408699b8d100bb2d9dc7515c114d9845e6f29a306800307b50fb4931a249f47dae58756e132684ae1ed6198f88179c5c97d3edfcf76d87931cc9012b23d9efd4d2f330d549eb7b30ac7e00b67f39c8e35268df5f12f163e3f7c45941fdf746a653144a3dc2fab365d527b2b270c185e020545eea07efc6baf00049addcd83874787a3fc986a571c0c11a4c7232b54a438be0332589ecb598348d0a1dc13fc931122cbfd8eb4d286beda183291e713ca1b872d8b831909fbc033b77\n\n# tcId = 37\n# removing sequence\nmsg = 313233343030\nresult = invalid\nsig = 3a975ff773526672d671380dab20add0000035d47c04ccceae78ffa2975a90647945b467c4e30365cff5f3a769b053b5ed05e0c87934893881d896da2c714023394a1fbc08a09538cfc89ad3481bb0383472aced4e7d1947c40e65a06d6adc0d1d47493199aa981a7bde828a9c45349ce85ceeb00b3978a12c73ead5a65f17df8aa85de1ea87ebb0beb5eb9d96d6aeb242917b777a739bf805ce49e2d0f2f4d5115d621bc7839640d7f5aec3a4546958f62b94841a1e8e53e53ea820eda668f643354b1bdd771fb228f20ec3e968a6dd53db38f0fe847c45dc68aeffb96dca441b85180d9ab348a8a428cfe2d74f238fdf727d02e4eb6f52e740da85ffef408eb500a27ac9fb1461b7daf684f56af3a58e803792cbe2bc7018a2525fd3e4313f42112558ac821cd1274c0656b65a2ee2e9ee7c21d47c211a3018caef798eda6814a9c0a14c039cfeb29e495ca272f0471cf32517bdfd6bc36fa47890ce49fc6a48afa13c84cf7652f8ee1b6d91b0348e90f3801cd19f3dff1ad24ea5fd8b62ef\n\n# tcId = 38\n# lonely sequence tag\nmsg = 313233343030\nresult = invalid\nsig = 5c102bb519d831ec8b3777861d8da6e59708411d6e278b264e97c0e4963b6e4471175671fe27c64b00511d00fa7c8594405cdd0e8fd5c6fdc997a3f7867d5d6df13376955aa2cbe93120cbbec3f3121ec340d0c52b0b9ccc110d194dcc0154d8ee0a3eb056633a1bb14593afae4c461928b2209013b7ff516c9f8b548490fc1695b57361fdbb806962342652df898f297676b0a0bddc98ee4d35f2ed855205ae00a3bae11bdc7dec322e69e629e7342008b6242199e5a90f550107957e2dd5e037776f3b679e479b8f3842efd6a35a32da5f20ea59ea209b3e4d9e52fef6c3721fdf7caf5c8a52737b573b8e7222842c6b97623e38378d61dc46442ddd056cef1e62528c7f586832a86b39f02c516b766ada35efd6a7a88567e618546ffb027ca826343a9020491572b1b96ddbcc6aa3c34309a254adbf1112774b6ca0ba480f4e9375185d2a12b428943c8d0aad7420857e7e9c8f364a7215b5f3f89c4b345ca24ed6a4535867c7b8b5eed03e4ef02c3ad949522529c7893d4ca2d5e5cd52b9\n\n# tcId = 39\n# lonely sequence tag\nmsg = 313233343030\nresult = invalid\nsig = 4c8832f10a7fb51141c4f802bda680a69220ced808e5037933911b97f017ad739191d5f15514e9f42ad7adbfb62da4eef5564ed39806522fc7c7e09429fbafb7f48c23bcfb6ace666fd764747e2b1bb8b3a408ad80983ca0b794a25a2ec4e967b4d1f5cda3c7e708f1f90efeb068df2ab53b1ae279ae3850d8882a38ec2c92772a7a27d7411d50f768b3b99b8329339c5fb375ad513d24cf2ac0b300c4a901b486ae6606293d622fc6e76083a296d0eca5c0863301659d67714c95b48b93631e7e6aa6561d8dd14c0195d382d7bb60e0511fd98b21040cac16f5788ce09671b49f7a0d9397d96969ef3edb12b957430a5325013aeb9fd73adfaf5ccf5d610e5fb31d78a272583523adc899b24dabf8cf15b5c042a59fd87307914e61729eb72c6c1611d4a99cb80cd43eb72fc4f5339be227d4afd682f9666468edcf8f6e7d2ba57979289bc91bf8e2a5e114c7df98ff36d0e3c557917bfd9365f661fa417fc6a75889f8ae639c8ca4f31d5f3d87e1f1711f7f3698f5107146cbcca4f58bd689\n\n# tcId = 40\n# appending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 91cfec5f96441f0a05179b85502d8dfa2c41966cbf31694e258add869511d24f1846bee404179747dd17b6e6a9524ce397fdcd078bdc93e8b4c75f56699332b8ab06f3cbb868f1e6b2b410e4049cbd31c538e246c4f14f76e12bf230da74692ae55bc019d24eb8cf445eded9a14d5aa2aba24592072ff3b9c801961b0c7cbf8037290755879f2b5158fe133dc7023fd21ba4e21a39da7992b724ade2a52921385b6c359d9814b62b0494e5b1d436b17bf3d2fcc1e95b5f9556fcaee7d8088e808c3ba5d5a92cc1518f82ca24e9659e0435a362d4a1f1d033fecf855a3e6f05b6791b2322d81f1298af5ccb4588d9a6c6d4f1a425c72f9d034f7c35d8f8103ee2ca0ae7d4daee2d2929ce6f3f4ae04d8183427ea0b20f07870ac471503f5b94692ed809c5c6df9b95330baa3d13ae8a3ed21e7480f1f2a2bae1df9fec082ac154276f1f142627bdbaf1abb64703c67d9761a02f88f0e18e9bffbcb7d4bed3db5bae8e6421d9c04fbc88e43a822495cb49d2d6244508f3102a732bfa4cc0bb970f\n\n# tcId = 41\n# appending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 4d13b9eb5da323a7e1877e36b830fe6a84ebfb35a618ca53e43378fa307c9990038520df453c951016ab4f918e94c1a1ce53327e0f9af6410d3e0fc20a22ede95cc21a8b81a55edcc8f64a497c579d5107ffaa0bff5fbe64be77f25d4763d546a3451633f5930dabfdcbc84c5c29f0937efc47fffb25930a7f737632e485176b78a575536cc7522efa7d90817ade8e6a2993e53796ae54f746c4d9e19f55f6cee53109d669d35f0711cb1eb0b835e8257bf4672aaeec2eaba4a0d5611d7573019ed66c3a5064210f187f64e5bd6f345737e76b12e3db4913a752dd7d1ca0a80276b38029f412079545c54997c1890f9f269040f7ce9b13660cb6c348caecaeff3dc9a3bd8f542deb50771a44a17564c992a163be49151654961fdd9975b77b47c2c4b5a731d78416936f0af467116c56dc5987b42ebec4e926184888eb053170b8808dbaf8b58e53b329ea24af08edb82c48f66d58c4b59117a711564b4a886d38e01dd83230d20c2d248594c28a4e16a6910d39ec05d4c46b549cdaba7c8ff1\n\n# tcId = 42\n# prepending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 79f7076614b968d30136234124eb002100185aa41603b85530a87e56723e363e866ec18b2bf7cd69750eac12aaed2f5d3cd8a174037d1b11e0fddbae8248b6958047f4fb0836eacc7f63af9fe05c772b7fd84b6580f4160ab78239468aa9b7638272eb3bd03135780cffe958085fe571cf872cd3e063faeac687d85c440fd8f9f1b0284a4749ce22406f3d779318b0cf9820a226c54dc2387601a7b0ac8c4c7579821fccb8e8caffb1c506ec3c3390b4308fa5f0d3ea4d0f596b258c4c414c47f6ed143272df118d0759f707b50f4df9ccfac60f72a1eebe484bce46de29ab8450f35852ff06ff860cac57caf20dc81b9f0e8c7cf31667e993c0c502a54f91287fc4d20dcd3cdae22c4fd73c957be77a065a8ff04098b6e7ae166bdb42594cdd9c902e2d031d4ad421da7c4a7d89ff85aec4a05759fa207446f55408386ac9c3c74a52bbd9bf73c094b7a5434dcfd3822ac554a852d3be1ceb966fa5923b917ee4235aaf4624928d568d80f2155c2443c2138b0bfa5c63b7314c2073a72e7d3c\n\n# tcId = 43\n# prepending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 823f727d76fa08e6124b857e24fa0e4d9308c18b5a750f26b8035d924ed56e2ff9226e0747ccdcee6b5df5812e432d952a93be3037ed9194f987bad87498810b4072f9874693b35690bf6a95759b0ad9613aba0b36ec8565d384c345669931366d19480376d79733edb09629791d9b3f7bd4ead3ff37966c3b9b78931e2933a0a9672904ef917c8098cecf30b0f7a11f41dc00c128e64fa52cb5681491fb0813519ee60add3b8750eff8a51faae4f96a5bbac731eedad4c11b81c9f116f2a8c9e7d727b84e90f9f89c37fed569ab6ca9e1bb80529a6361428a6f3e87b83a9122085ff0f9a81faa5e57070fca49daa38b1d590216ff1d38e1977a53fc89440a29e945e6182154aec7e43aa1f59070715be2dd0eef8e3772a2c7f2c44b57ee2a0491ae6fcb312838fddffbdf0e9bc21a52d9473ffaaf4fe9816a277c3c2200528e830ac2d7fa349e50550acb177a0a3621924b202fb44a542e551ec6cb7ba7b66db86ce0767094e89dca1eeea5ea2a732ec009958b7ac55c42001bb5de07d899f4\n\n# tcId = 44\n# appending unused 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 53785168755db72bcd3b7528e9ab4247f85c2425ee652334859ce25e1abdb26277150db9aa3641cdacb950d8cb430b638ad16f9249f2a0db6a58d0d832e6901becdf4e749bce08fece01d6c4ea7fe4293a66ae4ae39ceee5d0d12cc37b8481939735f7a55524250a0618d39afb3645e1af91fbea02145f1431ca225f6d1c4a562fb4bfc8c59e64887370e548fd973d4c0b7fc0d8d3281ebf3054fe3584dee13564a8818c6df1cd78838f4da2cbc2f447d673dead6a55b27bc8b028c8a9b212f9473f361cd38e8b24be043cfd2a18b42f5b4446a71d4c74dce7b7371658c5337126741eb70783512d2f91b9df8893e9f903183487353008495363e68a357108fc41634830c67d69989d25b5d3b24273542ce78ca72dfda0373598e103b54962dfd29a823fa5c0149e9f2c2f80eadd02b2436b7872cc5f3834437d22a26717964dda44cca259769bf852b378caa879a09718f36e352866f4e76346305319789d86263de746f87c8789f44be6493648789fd7864c30bb089f6bf66ec669da8ccfe9\n\n# tcId = 45\n# appending unused 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 5fb58effb5d46a67b88b52ceb30ecf285e264eb8f179f633c7d3c87f0401574ed7365ae5a02fad1437e3c6ce1bfa03986f0f93024bdf3cf0e04f08741f5c8032091d58ca8ac92785a31af964d499eed535d5cd14aefb61508146321e45fa0ac74a4c3bb4cd1a5b921f3368a65eb8df5d887ae303fa7a4531a07e522a7065618d1da75cda66564dec3320280a769a673015870c3f04a52c01eb6e31d74250339613bb3b39e67bc33edd45130b5005918f31dca231cde2a7e5e27d84f189898b537d78becc983f1e00126b21f3f947daab9102623e32639c9e7c66c6099ca1c69b4a4d24a0c56798baf8616c8d4245cbf7b2d7b212b9fb7c7bfd4a49b5bc1cf03dda5f69c7490a8e80473288c7adae02789ab4966ae3b4cdfbfe3a0db1989d1e392d90dbddb52c619b54e3e2855a1507f2c314e5f269f3934308f3aef49ba61e16f0abff6d3d1817af", + "b82c097c9bef22cd439e717480bdf85d7de75e903b3a22060adc88dbdd9b854ed727b6d86f01e203c98d99a1a22dad91842a444f7f81a894\n\n# tcId = 46\n# appending null value to sequence\nmsg = 313233343030\nresult = invalid\nsig = 7a87067db25b9b113b66ebde982d6fb68cb5972a2354061a649fbfa6898ba6e39ed2a206ef0901a5fd2d04ac250e0b1182c0b4820a7d36cae82a17d849b6b483c563192be8e3be5cded937b4a8ed348cad8b1612176f166fd64c4f9ad337494e0602c6707bb9fb0d8bc98b12f4fc07dce28e1c9c3f797d1873f091d3244ff2d8019f04dc5826aae36b3f146916fa1b4adff2c342c285108df07a92b2539fdbc568fb01b3110c465774bf1e7db1420fea6c2c59d9e1142a9ce2a3f14e36f30376dd25ec55a66a16aa53e0410dca324de691728bd9a532e7a73d4466c45c5a3f2b4cc9e79ba5965478f0519050422737703a54252da1c90e6344dad1b1f1100756b421765cac73da14d84d857cf1130796bb97bacc57442ea2f25070b0bafce234b86a5bc69f2ec29bee767a8afdb6e596eb2560b141fe29ecd7a111248662cbffdef2500b9e9c10ed4226811d99648e3a3f8ab0c9f2ef6f79fbe61d9f23cb2fe81e79043344808872e50d81d1bd1de211d431326fbcbcf5a36145f626e2ab021d\n\n# tcId = 47\n# appending null value to sequence\nmsg = 313233343030\nresult = invalid\nsig = 3710891c1bc609d7d31a58dd5094f70b434d5ff1d37d3aafa3ce31395cd0819d94d744eb0d79d942f0c65da6606be2a89a238954622f5e6d0e993a80ff623708b5186cecbe9a21ec4ab593a95fe46cf73547f25b0a2c8953c1dfef3a1e50c37a725216be9eec50895a62f536fbc9cf448112656cc775506b79a7e26dd6bf90e5f1e53e0d7c1a3f22e2c086bf916aa72f3455dec6c99b720d56b2f80cfe55b4a3e7944f56853910698e6cd974c19468df0fc0e1a4408a2c1ecfe239672a7e104a95b8f7a9dbfbfe4d538ae24b1c76cfbcdeeb31c27c49eb55d6d5d3247fd2411efa66d8e0a53d9d00b76541265a00b9ee0d71e89a38f63ff9b3169dca65158602efb4fa70419b3c7e1617a33df13adeecb46b114c8a96ff8e70eb2231ce8f50c785f0b3a3fb4fba97eeb25eab23115f71a65018a22c0eddc3bf7d31b7598574ffdf0d2baf9c23c660494243907b93eccb3f335bee80334f4572c3d5e57ec1753fd10c764cf4a6d1b5abd99c4ec844fb1ac16fb84501bb0f8cdb75296773523821\n\n# tcId = 48\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 044d5b6a176c87f3b605e222bd9e2af0635396f73cd2db7560e842b28b5c956eb74dd2aa46cdd9476acf3ff6edd02e0d1801a3e97f89c0611a3bed7732217ed7c8fd890a8319be159dc1038b2df28997cc31edb08f64d9c5ff84e4cd63100859afa5d6c54ada3d39363864e53ed16ebaa0d95df1a8af19c11b236420775bfd0c1c63f25d71b08dd97a023469e84d265d17ce17caf143459f35e3d8f1801f64ba8c97cdab77556c1f34ac570f1947a375f62fc6c4c3ddb04363c6455ff50717f8cbdeff55087c836eca9edc79976d1f14c40b3c4c5dac0c579a64c40a26092d062e1a8c2b4fc63a03d21abcacae6a0faf274db6a1d82ffa55eb272354b7507e0028eeb0bef2fadaae03b82d488ab450e1a7389de4b1f73fbe321d8de48c9118689507ba3bdf6581907523222f7820b85f601cfbe6b6b29771146dae34dee3d7a7bd6c78461c544c81dc1e962c7d78fe50df998de3308a4c2cfe68e3bf78083291f044349bc1220a7b969e7a2e773a9bc57e359d0826d15ce8ec09ad22f03bf2c8\n\n# tcId = 49\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 320e2b1791735625a7846cc56050ef8258ec4baef5e5ae8e69bebbeb4a777407780a9be356687aa13c9f5c04f67044c5a5b10ffb17c9574360c697b72fd2f647a33b0f55867fcbbed311bc5d76be998a92696f37e6b99f27ee448d10e0dd17ffe6f5f7f07262f12a84bb8f539f63a85fbf530cfe1cd9b1be1c98da296e77bbafad6cff34dd559e083a40ed12ff4839e7a118b8d3f1a2a884437272bd9472c56f07fa8cc29f3e14d906c03622b55b0e9ccd7cf8dcfab4dc5ab2bfb158fc1667bb82354c19883808dde6c72e995321413663dbd01b2fcce0f4ed1638aff672aeaf2c82d37eca0dc5a4ec70c324952b71d37d08c7ef30f884c364c1c85524647010aae11b6887e5f2c86aafc7a6c23432eb4c8f57e35f529eef806ad10c39a32f65019a25e04252be1f795d174878cc9afcc4dcaedd73f8080dc3b812516b49a76d7b6c5b2960ee44c6dd4e8ecdb0f15f999d9c457f6bca0083f38aad6a80a7af2f46d89cf125e7f55c75511e4cd9d462d6c4a8c8248a03bb14a5f53987c1c9335b\n\n# tcId = 50\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 08a48199ef7c23be30287fa4c8b6c63ef19365b4529f2079ec10303f8baa719af016532593336401f93b922a17a760798b11364abb463a9273936b4a0005b9ecb9658630e8847c5e4ef785c44ff2ce0832c4ca25e1595a54eea621178c7dda27032ffebf3dc9ee27759a0a01400e36b87249b58c854395ea5bf831c08d42b69a57abbffbabea943c5d450dfaa05222f9a82062b103277ca751e99352c8561e7edf01654bf57ebefd8a5a4deeafa9e2aa0055d02d73c3ce43b1c8694513e98b490ece9181e83da0fa9ae2c32e71e27dc95f6df5f5cb78d1ae297bc044b7315d2b03d1df786ab0ac55022fae5c51bdefcd97efd4d5f0ccaa14c3f429d164077c23320da2c47d936a0841f401eee0aa18d3677abc1970905edaa6845de62d8b51166fea8c149634c64b7e552e4304392921492d83b624d917f6da7441ec650c76d8404a6851ba16cc691928b642354e91535ca5be6a636d524594abe1d53268652164a0752fb6bd855ff0e2f16f073f948dfe1d687150cefccd17df8065bf1264e9\n\n# tcId = 51\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 498641a4096cd12ee4d68ab9f5c0b0bdec3588558fb12a4b4adabf30bd5ce8d757343078fe1f64f83f73d9039d75c8f37a1977cfc7bb8fdbcd94fda1edaa382b4a0e9b142e8ef9e4a101837dd96a9e3448be292d4b4ec59681076ae3f6de3bdbd55ddf2d80b54a9d82152ffeed01043c2a5c0e355ae368dcd0bc666eb46872a0a14a56e56345bdbcdc9592c84ed73ca6189e340a85c11f8e6eee064cd9e0e2a1cc4566e2d142f3f7beaac2f73b9a055c718d53ead553ec52372bc671254b00f6dd8b24cf6d25a965b742968e5013421b71434ec62fbbdcfd86f85db4a4fe1997379f21a89b7b1aa5cdbc13cc27be299d4e9488e938ce7d12a2b5c443047d3388748a3b955e31713ee3acf9a2767acadea54f1f7a728d0f3cf730be1e0a0ec7c6ae8a61fa4a8a3d1560f97ab882a23d20e6ea7beca62d91d00b825a2929bc036fc4b57bdfca3a6cbfc02ab7845a55128f27fe1c0ff385b5c03fd42aff8f8e88480c8c4f4c9123219abce84cce7c936b0016fa8116ba4e6268721e5dfd9118ccff\n\n# tcId = 52\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 33b201d3b0f66d29e5fac85bcb1430c570a7563d39d591dc8bf7cba5566a6d7106d52a682cdb135e52080df174d476d0b733e9fd376e34581a8ff71e7de7a89c09e03f1294384f3920dd5281d139a5d939902c5d201e975e06173b06e0f02dbbc69db16963a67f6f4dae9a80fd5a4b0796f53fb6d65f39fc9cad68059783491e37928b477c0db578d10a159ab5b0156a49f301e023e85776362e1c3149cc9c5513adf9505259bf92273c8922994810bc2c247838b4672b872792c617109bf46bfc14768e0bb7db4ceefda9997b253e79472605c048cfeaa2bf743e4b10a121810c2a595f1b51780b31484c7e81b2324fc42082240e1f8869932baba91803f633b2afed7f8402fb758cdf928fb1c8f9a5421662e4e086838100ab3fabb8e833999ee40f61e9d8e7b8f02e3207930a131f4c6fa1b890b40c27e1814b5a606f3198902aeef55fd19f327841d1873c0666db2e33ba4653470215773d89ed6bdd5ac8a4889d730f3bcb7e5c57eeb0d48d3f5b620fd02f837ea32629c1b5d747f38b4c\n\n# tcId = 53\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 588f82aab413ba5b03748fe9587d34b9364c41936c8511a02b6e31d72ce7b0f62844252a98b2ef2beab1806b01225c938fcd5a878778b348d45085aefa02335153bcaaebd59071d99098db83a0d603410b45e8f3b56b4900fd23e733367370be2b0adc3eaf3cb0b9a8dfd362fac10c80f059cf3fb471b908d05806ea512ee95ad61d90f0536699a70fe3016244d328ff3dacd5b773b18288648f85c6cb395736dae2b7a52c43589f9e43ccc76c61a6d1c03610249808094e0a45de1b90daa1c4c9f779bd109cf4300e4ca9263565be44e338daa9266f9366a19adab638060937b9da317170ec633b8f8f3a53e283f67ac35def4b18679e84e59f9d262743c72bc7469a10cf8b953f7c10fc62ae8e095a65964841b4f53a152e2511089c83a16960ad1f12f52cd5867775e2e80d1c30be0f7492ad98328c22c8cf5b6aa84985ea0c1e724d3a7ec551f3f5144323948bbaba8f1a360d279c5db5bf85b640ad76e731963bf9daab653af6be27e1fbde4144fc312350e521208e884dce18436bd2be\n\n# tcId = 54\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 37130972f89d2c3ee87b9504938a624485bedabc3dba04dc37efb278b9c052c80bb8e601c189ba2b16ce016fec3e4b53bf57350df00f9b52894ef2d076b1b34e43aff4d7b2d09fef66bbf73b9ffbcd98659afd4eb7b96bea4ef99a1e303ce550e2842522f512aa2c3316747b1c4a13750a0c984675746278ec157bc3a4839b4d81584d9c03d77d907f4734492f0680eefb998bc917c38934105164abb65cdaab868b3b299b36bca62ca0e5e36c7a88171f6f8dea5de32e5d127331df9a06edaeff600a4780273b58e6eebcb9d5c391f62b908dcd1399264d2bf428df9d861d5bc4955a817d1762c9c70f4558a14a97897c71079c76e737723c3443e90f44b5b5e7b41ec0e8bed64edcce80c56aa3c0a1a5205f40cd4fea68707ebde9e961eefb0ed47a5ab1e21fd7954da403fe6e71369adb3ae2f2f8ab9c20a91b298209c1296af302091ceaba1373b142a22fc323f588757524884c5c3267e1c2f59ed4a01d0964298147f73b7cebdda37edf4643dce2f5b55f14e2c418621419fbe4c16320\n\n# tcId = 55\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 503bbf0800d6a11442e561278589ea651334def227b19cd636292a6c627d692c52a36a1c526f5810e296831e4c04246cd9d5122e47940a6af708c2e36d7403c5c2b4aff9793daf4ddc6ca12239660477feed36a3cce855c37b46b1c18659cb0f39df01a32ab7f7c4b0a8a2d1f5d2c9bae738a5cf3e1c9399f4e4d9008e87cb143930cf229dfd0f6198787f9cdc80e02d68f34ef7e9e5936aea035f1c3ae67e11f941f70371670039b5a3da37df56ef87e25a3838ad29e9919f1efb2da4", + "34628e80c5f95d5c39e781c3bd4063834aa1ee99c13d09927459cab25cd5020a304d0b3364e9848ba5ce852a841029d42ff4d64208a8a3b65b81ce86f3ad60be21d66c75121d51471a4271e34637cbb2a25e13221a310c376465e6dadcce806429f36564d1b86d6c5cde5611e9257a9ee98c6ec54f09d11e16562cd3dd7316f4e13124e3757d45dafa902a01bf04f9303cb9cf86f23517ede1350832c3768bb94232fd93b5c8c38c4bc61c0ddaaa24c3568c352964a6545c6614d0ffcef6faf658fd0c\n\n# tcId = 56\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 07585dd3e14468f327f3da7d401e5ad2fed4bc17d3abaed7a88194f3e9a8f3f95e49852baffe3e8f65192d4d946fced70ca2bfaec7e50469678251e08480f32856e60a46bc0bcc974ce01251c555a7553d9f83a3b19cf94bbd7d9ff39fae54bb4fe552adc92c47141aad66fcb0e65ea290022290f8d7944d54c63502c088a0c97acca122cde48305585f162478d44f42ab093f38280d62d29eddfda75c94d1ead34f240e1e2f3cbb747449518ef6d2338d2f65d95df4753652f1ee2cc55ae10cffd2646ab823cd583a7964e1bf5f9830a3b02abf00d314343154823e536d617774ec605db2cccaacde5fb9bbc3d68abef54c6a95a33fbdcd76b5b43638cb2e30cc2131d1fbd5d69461469d33697c034e1795e6eed75fde1b20f7265dccd4dc7ba90df3fed735660cf84142040ceb2887b662aa260e287fbc968d348858c23fa8908c6cb049906ac9065fcf3a755f905e91f2dd08d5af033084c73f705bd0e46fc864c16da6a8746c75e2a53d96830e8861a975458233dae0eaf43084b6da5205\n\n# tcId = 57\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 31710db409943c4cdef364b0e8f51267d701170ec680130f959713b7d148656733e4276656ff870a9280b594f3ee50e45eef2a023b3ff2d75373000a4ac77daa789cfc438167d17d9007ed6c67ff3fa047f165a561982ef0924bdc2131a84995e9d039935ee53fe58fe226ca21f6f51e62d01e257165a647c475a069db568f8aebc164f87f97036e2d5925dc763a20e4cb3bde4e8af2cf411a9d4ef5d716c4ae2077c3038ac6d59bee603266b877fc7011d3a95535f0c2691687e62f0d82587d8abfda276294685a583bb98895ca62c59be501ab11c914361fc538ea24333d25a30e6e57d07dad4161a459e5fa1fd2c9b08d2d288b3dc5cc44f0eccb736d4e47766df8a124959fe2827457ec8777d8f98852db813c4612afd211ddf37e6e224abed61323718153b1b18f00a046ce99d4545a575461310cec3805edcfe8e72f916d4147a8f5b27115c2585dbba558ce0282feb8c6a5b051d9639b2f21fc061d205b28ee11016aae87e42f0672f85a0fb1acb3ecdec0c271ad4ed895a4f05599d5\n\n# tcId = 58\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 9fcc612583b8a8b1098cb09d1421c725907044804e7d05606b788abecf34e80ec77ea0eebdec6970a947fd56931812357d649dedca5111dd8e1c1ca21545c41cc8c969eab26158001957e7e7f848cb61882ff7182e30f1826600f7aa121ac139fdd4980772707fd912a008cc72c002378b22f72b38bea4fcc309bae438858c5a270a81d31633b3a149093510b0bb885407be1bfa128256faccef43b584390b8db4dadf8c3ee2332abc5c82f1a44aab8a632a13a3b047cc90f4cded328afabce21a61f9c74d3ae209e35fc8a5eacf59495ba4dcd599bc4f282e25527cc3515ca3c6925fbf3e83f8afe37b5f496cee762ff1d5ab58cb06c549a76c181a1c75b60330dac711403e40f5cb934c33d4e2a2ad1944041a2fc6bf9f06a4080f7a4d1b9aadd4579c89657bf4ec6f8cfd74a286b48675e574cc2acbf562312fc9db4561699e45741fa6227576b2fa79031a96a8e5651fdb5685878b715ba913f59abe22ece33a224794d7876b2898910e89d4ffbf2ff95385ad41db3cffcc60bce4019f62\n\n# tcId = 59\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3bc6b4ddbc152df7fe32559a8327f5de5530046fbc14fee2ad4ff942ddd347719a830983ccdcb93f63e72849330a5cb4f1b0de74f56278ee78ba1fc1891a0f572c7694d3c30bf538deccc7c33c2dc863645927cc3dfcb3709cfedcd00454e26deab05d36a3b410df47f73c24c1e3271114b442f5497515b0b32739cf8fcff86c2ce01e0d79202ce6d36ded2047d007088e1500b1941ff72f00547e15ac52db8b03f4f90582c19fb17360a0355305507003abc367675983fbc522a1bd787b3e3cf3e44683099b7f04cfce3e5af53d87b6a9945ba970a0cd243ac4ae93edae84facab15fa3e3fe0e49a771305851c51f677002fec126ed7801c42bd4b32c4c410bf3be1ff439c6c0659a1faf8264b652f3418ac0dc6adfbf67b2c1725aa4ab3bd36f358a2249b4a1784fc965caf1f9743da75550108c1193c9b7e7650c1ba2ee0497ebc8a44283f1589bce15a5b85c87ff3eab980bbe18ed814d6ee8bb6126dc6eb4166637178836c6d2ec63aa332f6d4494855361b3d51f450452168e4b30808c\n\n# tcId = 60\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 64cebd7488052ce28e0a3161ac93beb58e73b9f054019095d268681a42acc2c4579cc0bd628a786b052787485243a763c1f880fc19ae41ccfd70f5e7b1b107244e878c318b1142633bb4fe109996273163c093c34e33c9db45d61a9a38dcff55c4375544018f555b4d3b65ce764c449e1056b288c5979475a6ac48a21718385d1704275dc7bd95535c0b351e60b06b6949feaf7e615a41ca111fd390fcc3dd172cd1a3642f3929a61c228f8a35aef4bd9f4fdbadcd1e61aca7c0d2f0acf4003c504d979aa065be42f769810d9bbb515e9f5ed524d388ca22e80a30085a38bfcccc7348f786b04e8d12ddadd51c1a450b11a3a5345363ca789e061068436cdd0e9aa480d1f9fc143f6bfe22a594068399746c49440e958a434e33136a4a120a314f8f617c3d0c856dc442b3ca53809fec686652becfcb803ccea9a216d5109c208c834f31529d051b4c51559ebea0b5305321895789f3d9d0c80e46ea13e5d0979487a3b75ae6d3034c424ed94a609c8eeddbf11e91d8c012459badf75bbdb3fd\n\n# tcId = 61\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 9b38a8f73ceb8ba6700fc87f64ef24e6ab775695508988b773169039dfd35171e8e11619c460f431816a75b7f69fa6938919a773b489c53cad243185cd0e09b5e89caaef999c93d0767c05adc26034da9e45ef4390861ddfae45bc41ce54a6f51759079356db05352c7f217920026f0545e872710ca24c1f7167d9d660ba1188eb42648ba07b88b5a9e7983d49819de25817b0fc8b95c6e3dd639e80dd9f5ecf303b7d9d6f3dc751246c8d9719d537a072ecb581867a7b90c92f91e5b46405040eae38696e84495b1283756e769ee5884fa58bdb2325cb4099354a59e191144810a24f7f2f29bed9277b7a03fac6b22ab9d87bab62aa076ada1bdd762e00d1fa2535ffc3e29e8b15f07c56d7e70d65fd4b8b761cf7dac6850cd25c4e8fc8209dff390186257f0e522a7c4cce9fc2a80147f2af9a99eb860073087566a698d8e74b17a9a197dec5acdfdacde6265d6443adf53aad6774d233e08145f7c9821a0a869bfae87b2e39e392c31cb47351982c1f69d54166d550d251be7e368af8f5f9\n\n# tcId = 62\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 640765ae60fcdc6e9b81d4846d0aa21779091e45c59e04d5627525926ed5b0a5ed16838903c23c4c53ccdd44f93ddb43ce1a82646c3014bdd5410c155fe72edad7dad7f6b172d4859ceb1774df11064fb60b6c37cadba8cd6744fd69f043fde4680521c82f78af1350ad9f2cb79d5bfd54d39e50e370d3ec2299226e4e86851dd19edd2a3ac1b6f90942219ea805fda80955923265f9abaf086a49a7a242d33fc43c3148eaace6276dc67b5ad428bd3dc5760d2fb2a33ad41fe568c09a89037ce48e91436963504b4fdf1092e3727c4eeb631d1096eec5cbe2ff502577d801e8c363b6c4c51e5c14e263e52ec937f66ca47a38e91ad2a8696cb2d4dddbb1512c6a262f80d95a3c7944a523bf66a5a0e06073b86c47f142a1f632122212b9451aba0e12c987bc5cb891b33719c1272d1c03db0294e09c0ac2cdaba018b7c36b033d96e6a95e9133341efefb4876cdb458f365fc2f8e7ff22b2ac8ee03c27232d405e65070fe0a03b2e1d6a040e78fb872c086a168b6099c26e2f32e88e2ce5875\n\n# tcId = 63\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 47eed8ea933bc0b1d22529cef51b0fde6c44ca18073b83165a81e417a16fc6742e886ac977a37bc6dd26c8b9a45e86c424881096d34308f3d406260da35b178619cf327d920ffc891740f14882652f922d8501d9b0c0309aef765a769d98536458e0a0e64b4a7b85d4403b66ece5a9778724c12d3d5701a73fa75e61d54ee7f2d92595a626d7041342836b264a6ebcbdbcc30c4a74dd142d5d4b76609ca20e10feb8348880f3848d72a9beeb02cbf9cc11c443ebe2a7dd786f4866e246f0b8b8de911a5581637f11498e4b05b21195520ca1bfb3b08d1ac0a5bec68d4f63c2afde1e31753f038954452145b6d27103d2f3e3852d4b1895e1c567557ec679bff15530638188853d4f0e48794544028d053294999a2068a81e408606373a8c77296a9cc3606c9b8a6fb7b598310371465668d1dd8c1eed0ce5a1b40058ef9b11a40e269168b5b403417c1e1a550dcfb466dee395d00b1e4d8eedbac1a01ee1653cd60ef96e0b31d721a9d035d63708a5a88dd311a73c07fc03b5897c694297d9e1\n\n# tcId = 64\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 586641b89ba4d44381eba31bd2031fb648175c94f47e7421df974b668875814978e764555f025481bc3df71b736842e13ed75667ab10eff46d60f9168fe4301b08132fbc847b9fa1b77a547b7e0740675b68e6a383b315ab11f6247f7b734be09addd1f209e80b6d98dc60d72f832a0b15a68aa05a03eab165069d6d477db4c2e752faac8c8e54a9d42bc81d22498fbf7b7b41e8c7eb24e9a64cecb444a37ba6b0bb1220220d201ebdcb2f146688d2f82dc9eef5d89cdc861d7bbaf56d296e91d8efa220484c0f54ed1818cf2b63911d5b2b21c5f9beb190c442d1737141bf2096554a289fca342513217a7219ab04b007aefdcc9a03064d01a57e2e955105aff31921fa6bcc02fae9f50fd88efc581917cc9bd7c8e90850dd2bce26ee7a2b60cf3995e71b3943f591d54b47e759ed5a452262a938b8f5b1f57b484f576b6b6c4b0777c7cd742e7561030f4e0c84ad700fcdf40543fcaa560935cf973eb26b54cda6b28e293c987349164adc847d3876a42e8b61bfd6e9fe5c22069de4a8c665\n\n# tcId = 65\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 6b873d87039fe496cd375aa3aa3901632a1efc96c527948f6d3f083ec041af9183da0fb6d0934337be26fbf947d4fd986d2d0216f02bd", + "994a1b2b052ea00f3d762a1516efe2b0b8c171c647c12b1d0de86f249f94462bb96ac3363e3a791fe68eaf1f385e15260a391a8ba8764c411aac0f7d4f2f71a8856c04f10e5be31be758c0456a1dfa90c9f7bdb5fb03faa5bc128c81af05a56d25a2e8b0589b49823fafb775f8b846921f41f48d0cfaffc2ee5b039cb3f7f3c666bf1353ac34f77def48a33bb8eccb12b4d79bc5479836b17b47e251eb3d8f73eab0dc015d3d26bddd3f2bc1433ba3e136a98f4354dee37a11c47d14ee1c3bb45b2000d4f937282eb0d849c78ae16d5079472991791fefbe99d0aa47b2bcce6ed14d336acbd461dd39a3cd2733352cbf120547b9fdca8418c3ad8a309989c3fa506d486d2dd076251065fd54876268c851d41cd72f28b1446c11b34043d5fe1478a63884a0b013c51c53adfa4a274a162c50d33d33bd58bb99cc978f69e0476a51577fd69678ea209d5\n\n# tcId = 66\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 7731633ff4bbbfbb7f02024abb12c43197d6992c1c1202ed39d755177524c529fde5d9512a49c150e024d1ec334587ef004caa06381ab7d1bd4015c477da5e07098162cc1f756d0b5fe65d6b80343bfb8d710afa69dfb136971b09a7ccee6443001b834bbd94cbe1c5dd94787fb385687e744b5dc99879d5ed75a8925dfdc0014a480c64d1bf3732fdb1495e1af335c1f8141d03f9dd859a455607ae691a0a9f3232191b7a369c1b5fe634dcda20296c0029931d865004eab1a39bd931a54c934dc4b6c3874362b00bbff2e6b30c5c513e8c20ed63b9e96606994f5219f46ca9af1ee30e9b5c2b4ed74b20b926ca84427fd910ffa0c5368b3bf9a4a4c278b9e335e8c43d1a181af5cd928aca703afc24cee23fd87dc787d73dfee0e80765ec6faa7958ff3b35e70f1fa1812d99c1f23ced1a8c2403eca1e960f317bcb7bbdf8752be3a758df32c403213bd70ed4998174439bcaae4766260f1bbff2af9617af8419a9598738599289b7ce2f5a27c57b5f6a40a29956aae95b5bb45ba08caffe0\n\n# tcId = 67\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 73f9a2aca0b9fdcbf0a69a3e6c2e802e0fc6b0a32494989e7d1ebdbde6254317edb92a7c975da8e76a6cf4005de7f572eafd48eccfd8109b44ccc5899695517c274f982f1d41160b18caf2a6767ea9e3ccedf1373f37d2256f682ef8900a6df21cd5aab8de2f9fc9db9681246f34019c0a6b98292215156e685b0a65d2d1bc8555b8a27d31209a26236068bb29b7241b660e3f679daf6b25bf98c9746151e13339a20e5d1dbc11b7007971843fdbba12b9fb4c6423b0dd09265f6da03ad01197bb50937e709c21b4a751b60ce3bb5cdf4537b5127f8cf0ac7e6d3007b5f5a96e482f7d7000c83284998656bdb17b63b29f30676c7dbac14d47b507bc3fe7436f52a6f28f468e8c1ec1a751e7e9b9415fc8a2582da5d2c37294b59559860e69afb59ec0868d33f4632ba7cfd32b5bf66761b2abe326c87ac9543d5b63ac081ae92245a840c0f2e474cfb0c5bb6416b288f65ab5c50ec3a49ff1dcb66f68221c4101698757e7cd7e28c017e71896fc73b67a6e5656a2354ccb1f35fc99b8f6636b\n\n# tcId = 68\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 4469822cdb3c1fe53433001d64fb72128c477e7376e1e6baaa324fe275fd7c8bbedd186b57cc4e8f48d7453086e911c284a69623100524ad3d2104a25fe226845a45e5b9a0c986e443d89cc2458cacd9de6598087e07cd2bce47d8aaf4ff656ba439d7a680da2fe3464300a6eeeca1b9a8dfb6ff55408690e06b5a148485f50ecc1b2eb629c22831e19ccb6c074d78cab3d073ef4823d9a2ac492ed05af14ec9466f58ebc4be5e43769a6118ed2922c45c17b92df13fe872f046061d0a841f8baff6186fb9500fb7663c1597e5345b857ca8e9218cc1fc6ef40ee2a0297c5dd757a9967bbf2ed97dad0611aa3f88006b4c26323730b258bcb5cc401ac8ae52c304d340d6e32944aa65a4714655d930c038a03ef94eda4aeed3d5485c4059c014ef90029d1674edb6805a20c8fb68e55aacea705d06d8d88aa747d8e3d14b9ce72c00e760fda4f5f34640a43f331d0366ad61364a98c1a897d32c087ae038aee593bc3ba74f474e06af53109b2ed750c9049782af970e77f0478174b6c8e7e259\n\n# tcId = 69\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 04416f1cc2f441bdc8f3b4ac16e1ca9fd8d36776bca1d5c8981123e0e76d6a6bb3db4592935ad661755931c23f6330411d592c51054aa898862adcae51ed87499acec4ab1a98f3d37c456c8eb02f8847c25cf31b68b135c33d051440d405e76df02bfdf20539f29134ea09659eba51971fd3d5e0b602592c37e4250e0a7633ce07233f3e2dba369e1ca82d001c309b641d6307f696bdf685666581c1ca92f416471f029d46744c2ddccc3fc7585600cb819a7386fe23b6a18b77dd59c7c2335594c8b2b0d707766658573b3bb056777f6e06c1e8feae6b83345b03db9183de96d08f085c429cfe3ba2ff6a8eb0b025bb4e316ca3985686eb8e6295b3306a62eff35f29c0324e582592b8f29f9797f5d4a26342c103f9f61968cc283210efa221c7d590a4863a84d3befc1e4c991a19d00b2a4e49241af116ffe1ae3bf7401abf0e0321307d9c3b0fbacd28c22d8ff2fb51d5f526e982b975f0ba3b8c7944f13dff530533c09c66e66fda505d90d24b77c2d302eabce7e921a80ec3c3405331f5\n\n# tcId = 70\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 1e7c69c23f692e22292cfb817c0a0bb60bd7550b6aff981e6aeb6ef7b2338646a3a1ab91917a590fbcd0cb142f724c638c5ba91dff9ae358823a749054f147b1045c53eff9190e2f945963b6783c729d7eb0fb9a9b06d18d04fc5695501a93627eabc5d04383456469aef45b634ec3694824d69816e6653a13a0503f6489dc42210396738e4c500c841fa08a7df20eeb18be5e05f18fe23a78813f190ebb921bdccdfda37477cbfe54f574f922ad7db9f566d0fb7cb3686e335b4d70f246dae458848a41a72f7aa702f54b54dd2612b21946d63c398e7024c3a23e8010b3c22dac1d610b1ec0a76f7d9cd87369b0ac768db470ae002835cf48040e659467e340c2363d345ef4153cfaa9d5ebdb5d60be138d34fd7a36aad4ca7da5b46f7821a47114031688fa3658e08c64cb670a58c0fae36b8a19a1a3e8dbc88b5532cbbb044ef90fe24b842eacb5ef1895c1a92cf1fbb5afaa63a62010e939f72b56c6006eb977627ef62542f5085d15c53b1a235b420ce4eaa85f7fc6656d5474ff87fe99\n\n# tcId = 71\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 6ffa54da77609087fd60bb517346a1813954bfc9fa43d1d9543613d02eec6ea3b64bbde3fa067271e56d96a9699b00d9da06f0a71e678b54801be474c15f717fcb42c53eae17ecc84bdb07bc286c37549b06530a145aca253347d39b01953f483329ede5a309e41ae39ab881052944bce75fdaf1c54605a9bb2de43d323cf59f029dc95f2f931e8a86bac79979e5eac2b41279b06c697f81d9a56858a5999e97c228b37622ff0ff20a8a0a4ad83c0fda687ac3a88f71c1deb17bddf789e491f7ca0462693cee4a6ad0f5fe53cd51d257d10aeb66741fd5e4f306d0a886dc63a524bb4ceb1dc99b4e356dd7123c0100abd8382e659ce4bed568e122052b7c78ad4d3c7f2863b5d7fc91dd099b824df381090dd9b401494a939a1bb7a6c718a36916fa0f2f3d27a998a9324547f64e68688ba6d3b948fb1f310908eabb9385fdd7d3a9a0d57a5801863100a5a01a3cd6b09955f6fc67867a8eaec817c3ce7f892a5d6af0015abb4946d3880e9e14b550ae87e3716c9c01ceae5ec20ba252809e63\n\n# tcId = 72\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 3290aa822208aaf760449fa0c88ee9b6135d65ab391b97354f95682052df59a4c3f2187d6e15b563db2b8ad1c48c29945603d7a7b44fefefd642f51aab0034ce6f0ff1cbdd8ced3236bcc149b84132666982d83ddd23cfb5cd21891e927a523b21ab655b8b7d041482a16e7f722246a77542543a11e5b4abfffe8080e67a6f1b4e716ca8a9acdf67d499296d7d7c2193ee7003a9e563bce01f9e363dbe33a1a8dc45cfe37e0eb454809e52f84b682a736b8fc24bbe64f3828c88379a0ed639fb2b650d38321d3db534265b3cf32f8d8475296e0ab33a01c914f294af103be99a102c16c460fd79ad8abe689903f945325f1560b252693f52eb6f6f4a09685d9579b1dc99cbc2eaaf8b039176699337d6e2e4dc2ce1d34a29f71cf01744f74c7ffd0765663bb3e9dd95860618350376d3f39c805e577d01107f06b4efd2e399b261b555789507a7e4b11f26a19bac5d2d723dcf409f9f0c44be400d250235549ebf266fd02c699d45847614848ab73f4851f3c57181392212448c022f6e0303b8\n\n# tcId = 73\n# truncated length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 7aba2179e63901af10b592252fd681f0df0d83a6a09f727c0446a642a25c4920041395e49886c8c78ff324c3476c7cd052315b91a16d24fed9016f829ba00e0b075158edb164ee03cc691b21d18467776ce0b2353240676cbb72643801cd2c87b0d45b6516a795ac72f4dc93116a5433cc0a2dc5d08e4993eb67fb937d5febe9a7cdad58b9cb57627d9a2b038445a9c8e6f79bfaf35ee057e7c113003e9b54913e4152b1b7513feed12be9d84e87ed9a5ebc1a18e60f63241803856eaca8bf0b648d9c1732573fec56c0e9f11bf0650ab0b3773519f248150419e6184f049841cf736205cd44cb0b2bdaa0421c9287bf5b60b1a703b8519ffb408c25f3f2ff0f6665abfc5d1d5541895fe453f5c29245e7ba58bbe11bf440ec4ed7b7298a2ba12fdaaaa775c34562fb640a6a63b36c74d8fa69adce790e12c2ec4285dadd029bbabf1117b425eee862330a3d52d8a362186644b31bfba6d7d322a49014744e466911578a5cc602c0066419d418a8d057fa280e2798d5f651e4e982068105adcc\n\n# tcId = 74\n# truncated length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 555fc83ce658ccdcfe3751aaca06e58ca3860e2bb9d9bf9e1a6a83da94c9a83103afe196d421acabc488a0a296747d73e492cebd68d719a7c56cec53fcd1a21737adcbfddc0447c553aa5d3998bd9f58155c4857036808a9144f12d1fae029d541ec44722eb7dcfd544eb71aec72309b9671606502c183d12c452f37c906419664d2f96ecabbcf389e1ff1ddf5bc9233426e20a42188a4ee8d6f86e9085bc6c36178ec958bcaaa0ba07281be4c9c450570794104848d5b5f529492cc663b7255018e6debf6e6f5962ba6498ac2f3eb5cf5bda84e36979ef079c2bbcdb614bfb5ca9ce86a2a0449f2abc4d4c30ce432382711e621b00e85da71987e04359a879bbc2731a20268d15aabf3537bad25a2e2f0614955b6a689f6fecc1ec846466e24f33b59d3eb9da06f4e90a20c798f11d53b19255cf749a92af0e6ea0783", + "48fd5ff795c04c3a1768f8f6f9f00877424ce0887eb8572dd992e6b57e00b144f59b46ab1b364e76ad69a6ba0b3fe4a22986a185fb7ea704e613763935c6958ffea4cc\n\n# tcId = 75\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 44b0b41e209070c6f8a19505c7f5bd4c99d86d37de28a95edf8b430dd851eaf9d282f206d14a6a7fd29d3ca953e1a9b45a72ea871b02b2c055a1e6c845719c9530d3ff644065876340408de2aec8b0444c4f9c1115a1a8533f202f918322e01a180abd0d5f679b2b31622fb3972b480ba1aff7d01bd4ee6a44d4ae860c6f36710819f17b622c62c3557913900ea3d681c76e58ef7af7df34d498a4917ef66a6c04b4c0e09b6c70148c1dc083546969a8b4a62f8123f8ec83cb2f359e5ccc7dd4d5fff790d1940196c5495c9d3bba3bc320b14dcb7870b3b8972777eb96ef621f7c30e66225006eda4c5c438bcb996d0de3aef122a6130ed9257f3c7bdd2c048c8741f21583aa1ee0fe3f9338864a91a726988d6d0cff2b2923e8ea0d06fff6c813bb6d5202a90f287b5aa9cdccadf3135ceeb94c02146b6c6a852c67ef91dfe1c2fcb1ef08953bf911866185ff402604c976a0a8af052816a4c8570cfd3794bc273495b5b2bfa27c629084fa6bbab06ed87204a5bd22530ca947098e58738a01\n\n# tcId = 76\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 93829d94d3153fae20e23e9c5543b64382c3b88fafefda8ecf55fa4dfa4003848bd543f49e7fbfc5ac9b76b347af44774c350776ef02ab3ad9e0f42849cd457b840e0c7b3e9ba419d3ef71961daf4bb637bf8393cd965588019e9ad73fa8c4d2478470c21e5a199196842c15891abfae4fe0296681f5ddca70838f01003ac380d5d8d6db2b5871b14bd20937bf7919dd7ff24a4e4ce14ceef989309de1c53b94ab89feaa567e140005bea8bc411bc24924c486a6819b45ca681e48148beb8997409049e3f1c09ba6fee22fdaadb25044a3bf360f0d29656ebbcddebc0f97129d02d7a155d27c077929dba148efbaec4f2cb776aa8daa14de00b3310922f668fa8881d28e6078299a40770a014157dbb74f242ff0a4dac31da3bffdf850eb7beaba2ec8116d978ffedc2330ba41e8c489e18e1702a3c3845f7a308f43033f1fc7549ddc30509f768be92540372b423a73793890d99b1eda8ca6e6cf4eba1229ed264368a7bbc4ac9412d9b07ce3ea6577e8e44fba010ac863d6d58927757badd9\n\n# tcId = 77\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 226bb0ee3730072becec171cd12aef240c91ed58e9c2d23b325738575627d5296826403f1f789a7f9d9f285f4372ece003c3bc7e9c31c75e74192e95c1a71b1d67881a8c425b641fd510fd67e522e2588e6b7ded5a454234b8032291345199431f0c08c630e8bc524a352700f2a19d7e25f1229cf4c1e59f2a225e977497678d0594f693009ed970acef791be7181fc67a5b3817ac82448c064f2afd9654fcb8606b4a94099ef11ddbd9705622159f90d165accd894e753cfc134fdcc22004f3d6c271c44ae4958de5d3d0232c08acf03ff543368cb192326ded21b52ec0118e394921fdb335d37121d5c4a33c2370804f5795c26f7bcbb970bc4f5ec740c10f13247181d7ea339cd391318e548a73135979f07a7449acf5184126779a625540eb9220c4126a9561ca3389d5ac2378620674228c7587dc78e7aa6c9fa2ecd1e5eaa37e43a2d79073a20de7c0b21517350b4a1b459372d2fb6acb0504616da893c4a4cd8737c9c7881ed963b36e7e6e2318b9c5f18964308f8932dc7b1ac65436\n\n# tcId = 78\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 37496eaba06154a08cecd1a768808dfa1516c02105a4317e1e941d967b7160cf9bbe7912b2046db71a0cabe8629f8ed197f17814418d62e616cb10705e662d81775208aa7c272ce40b598c9a846c698532ac967d9aeb610e0033c2ea9d3185b3a549260c1a4a0ed56b10bb7da328c68c70ea058c821e29532bfe3031258d7c61b3ead7ffe4e1c4265dd6ad337e68ec7954c329c3285c80921fe067d072bc8e821dfb6e6d1a7d4354abbaf006eff47d9ab1325a4594d077c9ff20134383c4399e9d99c71b6a00f604d0b2c116cac0fbef037dea83ecc0a3168213b8d6b50a140a55d9d2be409989f7bf29bffdfbb6ee659fe1435438d48978b83529212d706a923d4f194c52c6fe54866fbaf0e8063bc9cdcb283ba9a1269d26010d155085d3fe82734de844a8873212ddf2f5369838aaec95fc7903b788190091c45d90393d929fdfb2eb83cd7300d5f89dfc605aca329a616650760eff74cbf697f6333acff478177c8c38264b4ff0a7f335f9beac0b47d3ae42b2d8be49c0cbb75eb4e39cb3\n\n# tcId = 79\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 27c9de67db99c0490f34b5af2a0494c4888c8b02963fcf931be580faf9a01253c0da3bad70560f7b08eb3ad52989792fc0dcbe0d07ed0849f8a4bb424343997ae049a7552c3719e2f64d2c708df63ee1556b5b8c47b4109f5d534668a2e77b0437c673dae230b3b96129aaba91980f56daf496b2c64b4c11e890af9874e70c497ff2bda8bd70066423536a1044dd84f5d7f842bed546c03ec38fe20eddec53796ee8826de6db5e10dec144ea04893433b7c5387a413709676288b2219befd64bde0539ac32dcace2fff8dd5545c99ec4be8ebbd1e7520020c4c22107c39a13db2b5f692482456250b061d8d82943e0f73ccdb7728c26142540aaebdac04df32c65e6a823de3700d959ea54c5204951b9ba8908c18977b7f15bc89c9596d2eb5265ae1df05cdeca220f5d1b3936f5c346291e37a0b3c68d9867190f7484beb04c2c4c121f53fafbc567e88e99509fe11352cda2569001c8af02bd68b801e745711a3d7dc132e331b24398dbb08e1103a1a7d8b970227434eca6adb5400aa58305\n\n# tcId = 80\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 0fdc88f00e546f7cc63269cb15743bbfc025b9321c258df25e605a8a69a133a3a765bbeb6481de0bef05a39d071a425b0332fb06ffbc5724ffccdc3bb44e63e91752e96448f4eda2f3c5efb60a0d33602486aa34e6fb0fc92ea5d97b8840f93e688ab20f12f16b14071c0d87fbf83a5f10518ebb6da3b0a5041a6686f73a696ae6db2f1ac1321929497287aa281721f290d9d612e5d68b7ec5941f46802fa504bd810eeb3178081e0826b88177014a4f80df92a5b766d940c1ad9f3d0c79ed0587c0a97e59d0a3c2ee3cc573251c744f343638795c2181d9dce5b9c47fc1df0f784691d115639362aa49033b337aa2debc909f64dbf975a4a12f14ad52be2fdb4815b04cfbca6f47de56caca0ba3c4e7b211dfcece5a96570109b8a303786ae4b8d400a3fee11a05bc3de55256635d66cb314512331cd2c3d63a6ae7f9a0b1a9e5517265e8e536a6086c9270609afcb48459c75976063cadefe87e0bc02aa84473373ea4c369145631f510640f21c0a105e26216b06917820530100b59ca9c1f\n\n# tcId = 81\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 213fe8704eb681efd4bcb42bbede075c4f60f65a48eef3740abe24ca170115c0d7a653bef8d1f9be11d32623825b77aaea42595d97355b31e8a993452a16b3873e8ca426a45968d637ceaea264f3ccc2baa93bfda5745aaa03da3e2fbaa99b2b9460a413bc55d18365ceb29b3b0457bf272587c561f1ceee33cc44a968bcbb7a0ef2ef88f843d6a9414c0555c44fb4fc035f59dfd65be5ce81f5d532f817bca2294fd750ce47b656694241146ed5d82f3cadccaaaa6b0dfedf761519234f7c80bd9197a8ed4b209343fcf7765ec922637c7de6fabcd92cb2a0b4f8563f75c83fa0f6097e4794e377def3166976212a8b49fc021c0a66358e7a0c1f4158dc74247bc81ed4edd048af0c44538a9efb548010f612263f716dd6e0405cc1d1e3b9b18db849f5fd2f1c1386e687daa5b091b595861d81694af3cd62343a32ade113c935aaa57041ed137d7c677ce8ed2954eb3c55812e3a2b1948e1a435c46e0233c77d80813f23649ac1d904ea3c050252c5c62deeb462c6571efd5f08e041004197\n\n# tcId = 82\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 012ce6406d457b7b55c0f77d140d4318abb425d13f285cb5f50f43690dd6a8afbf4b876a751fab263d0935d78f2dc01d885562050239d9cb849b497dc95a576810f930af1bcaf92ca6020de27d8cf4faf1e54dfb6a5ec666ae542a1583526b2d58c59bbbe042f3397d97021ed8fad1df1dcf7f6f9978a3f0645a02fef83edb42a7ec85beca2217c323a001e13d845332a272a5e00eed1a9b0ac29b45c5734e57c016c34e52b8695d32289b993581e4aa4c4254c6340b8311dbfd85486745c62394d929c15e990ae334175de99480ebc6b9e395842df806699ed326aab550ca47af93fa9133f4c4aba0d605e6f8ebc271f672b23c8934c15ae54d8e74a02e0be90e221dff74a9c17b3f013f8c0980b62747f120c046d69b3a43660f2a5798423e02b047795b07ed44f5d71e3bdddc2a1e7d7fec3d745b6a14092276d2253f92c48433f8f628e2cba8c626f3a4d7d51e4ff049d5e4fc3b27b8dfcfe75d38b95e5a88c2d7a0daf192688e5c0d97f795ca446f81496d29317b4dc5968548a106effe\n\n# tcId = 83\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 4f93bd8130c780bbc695c07e7c83c7131d4ad16cbb1efb1cfffff1c934dee9b2261ce189ee19bc0b94bd22ab01a21194512ca5ed4ad50f53fb6e577560889909fb5668bb70433466542b4509510d5f7c01b31f18e233aed157011643dadb205abcb5e82b79be7d66925c15b5a6fc0ea40145eebcb0a0fdb233a3f8d56a846cad59af29026aecb8dc7e36a5e7de648801921cb0b498fd76640494f396f07ef5d1ea8eaf3bc1ea6b92e5f92b931e7bd9fcbc9b46376f06f3bfa44fc12a5a1a62e23a2ef921638653074b8ce58845e18dbb5780e51a7eaaa14acf05e92f8c5b7b2e2a0f640db1662b0b4992171a5d69d0bc0dd9a2c8a317b268ec4672f2c6a46c4300be051b424fa904b3165cadeb5a443c54513f759a0530b04b955e81d6ddbc8a972e4e2d9092eed025a6d25226f0445e693ce9c5d21f9f53b411c07d68d6614cded03b8df580ec128fb600fc66760538c55a023b2f89f59d0f56c6e716a7289f268e2794527edadab8bf359e6c00bae5f8f0ff61712fa33afdb4bc0c964054c7\n\n# tcId = 84\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 1a19d23e9e200924e751b01b520ba6321b3f2301647ea667d1adfca563334038136d2779120cdb2301df3165c508c4a64c8407cc6792e0f3332d0b4ff4b1f9c905fdee8b0c0ab6f5fb4f67d3cca6cd90a0fa0d54071efb45f6ef1f155e232a2aa67c", + "de2d7d392e05cc5d2fb49b6ce9d628722a16d2f5aed54e50ec01cbdb75cbf0c9923954ba1d3dfba1bcfe5428345321001ef0ca32d2cf70194a752c092c5d1095f90868ddc389c28938726e1a0000b4d1d8aba7b1ed78475c486f7e1e08cad2e5cda63f25ae05380902ed81ad172c01f01538b5e1e3aca49bf3abb7e3408736036ef14a2273edeba019c20fe5c6af066810debb8b76d98283e717b91caaa5db49917880518523e1ab7272afdcaa24ae4a03019bd4d9885fe1844079c7c55a44a2f06e40d87283a5677cec08f384c47e138edf434f1c52edde198230c3b64011de7482fa1f938ff6c4e1a66fbfbf13565e876ee1563a5862ffc13a1885e20bdc3ce6e34bf8331bfe17773f331b708dce7ed74d96fcf94dac411de53220951a\n\n# tcId = 85\n# Replacing sequence with NULL\nmsg = 313233343030\nresult = invalid\nsig = 04f1bd2b132945662836f27a7236f15c357db02f39db46d902c1c9378a43f9a07c01e23304710d531aeb762070d80c64720801f86f5a2354d146d9b64927f95e541a530b5d20dcf94d6fea56a9646fc610741575cc87e68f43220566003baee8c6fe0ad8cb1bd1c3257d18c39ee05bce7f30750996486ec0069127e49f6aca963bab8892932607507059c444ad917e74ef7fb55c50d6e379b698bde71d116a5bb43f039edf944479122dd660d88187418db1c09c5ebd7e6e35ee78f32f863a19fdcd6245d6d3fbf9a13d9fca7593826715555030f67fbed499b400012852db9c1f4e12e0d88e781c114551d2261b016fd5c920c89ba83f76ae89f92f7693e2e25f625168ee4a153660373d2a29ce7d38139d1f6fb31a93aa4d887801fb44d4a2f586533844bb3abb5761e68f5922ba371d2d9c6db28d36dca63f549730ba90f19eabe8d4f57014af0b0063a340785ccbff6860d1794422ca6d83857f7f3c067d26b2d24a493bd3c13ef0970872941e6ae2c3ef79f4463087dd25a9baa57e3f03\n\n# tcId = 86\n# Replacing sequence with NULL\nmsg = 313233343030\nresult = invalid\nsig = 279b3950ec796bfdd55acc8eb0d9c0ef9f209a61ac6c72a3adfc5c11264d84fdac10572e040cc7d694e50c73f8fa5e3ea6edd9b4d181fade7b5fcaf654947bf67ec5922e90f309597763a8901c3ac5ca4f474bf846d5f0887e4a069b6888f00b8ab10fd606c14d4e7f56e3184d171b8848d0c03f9cc0e33e05bbd1e0f40f15a750a802009192b9e3fdd72b1a242194e80110b5ad6f444c2022a5ca2afe8892a152c71cdecef6d33539913956c8ed85580b7bd077072bf0042f5a9ef6544781ad9d4ecdbe5c5d3220ae270826d355efcd13d4221dccb26bc458ccf8321fbc5b9997cd6dbe3b1d8712a262f9e8b15ecbcf1e2243ee3415a9eb7f6126bcf8f7c821b42f9e6a8dbcd7775fbe854b9bdc831f0b416ff0cdd9170774bf4b9b7c17002273fa72d9cae5144c348a86aec7583f81b222a1d8f17cd2e21f9aa4a29c7e8905330b63043594e62fa06f4c6708efa56ad5929eab8599505dc3daa2b55bc6a1b1ec25d6c5b01b277f98d6c7d65cd5450a68ae83ec79fcc519264eba6e69916103\n\n# tcId = 87\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 960dda2c209de569a1740bd07a71e20476bf66eb192c6207f36a6188f4149da7d47624fb8ea0cc7eec4e9529a479f2822051551c9155670dcc3c8f889c2f3111373f562ac55131ad9e61dc4471ac96ec8f43184ada3112cb1f9e42cb734d85291b282b64c87bcdee549a3efbc79fbce13543b9b8da93883c4d997ec037ca10c5299225d8fc4e3d6e8f91015403d29ead6dab703635f7d82784f89ff5c55e873e5bc11c7579205c0ee6cd6b3cb644075c71738cb5ae2f19673c15f6d17163905df998d659492a40ebfc9b29583281705acf93eaec006f01feba6de073512af10428c2f0c53533129b37068004278503449dee77414d1c52f81f8c39b7100e86b51ca57d03566121885be87dea6b35c9dd5e165c3d10b59e3d5dce19b9c284df33a6431a87d844580b9c39d5c8c777f76ef36428ae34d019ad1b545b323c643e7c0f46529c241fb34ae7e116d62a194c18bd02c2a44229409a48cf8ef99da2bea86788d00360a3ddc3244995ef21cd7c32c6756a5d301f817c189dff3b9c47e351\n\n# tcId = 88\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 592b9218b580bf8a8d697769c588567157e106d59a8309fcc6efa858733e38bc3f45d6b762022c5463da73366f2f6cc333b6de44e807c2acb3c69dc3d1c739adea3fefa81ebdaa8a276a0d03f55416eb69ab32642434b55ef1854c183889d4f17c952c507308be7a8bc27af3333736b28842538e55a2cba66369a80fe12a8072ee99e398f2c3b23a4a161977c56c4947cf36d2067572373f85f0de625978700d9eef1fbdb6c79889bc2d90a5a97432da51cac57d69b142e8566584e914f74b74237f06e0b94ac00d76120818b0898800c182720bdbc11ef55e753276fbeb10a7dcff7f2115ef204a2ce606f093b924996a245f939ee2c971e02559eaba64191e25a0ff74e7a96a787c9b60021b02de75ed1ed3adcc9ea24c4ecf9ae0010a7d91db406c48992be7c6bd694e75fca42c58ed76d084e4574cd03f87cce4c399bfc0516abf7443842e53900f828ae660a527045c81da0b067a3507f74d6ff4b140ee992340d3db3eb2020f5af3ccf0455a1c54188b4edf55a14e678e7e12adf054a6\n\n# tcId = 89\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 82a8b93a19af90591e212559a93b99a591663f81c1d800d646db7b4a001bd569b06b05556057615629984b7f48009d955d84dfb9c0c4a7ae90c001310a0309b6f9d370add6ef038ef150cdfa6524043748d16d17866c9bd9b1eb58a70cebeb86a5a2ba7337dcbb88023becb7b526f82c5f6abfbc822c68ab0f049c54aee4c49fedcd03b10b4dc708b67ee70d476150c85f3af05f45170e9645cbbf3d5722612cb3424652a2f9ed1157ebae2ab627dc71dab539a5d3d4cfbbc7bcafbf71ac4535de96a47ea33553b76482f7bd7520f12dc9f5bc161759885a8ce244cdd01eddf328c518849c3cb5d8748dc4e9b9983b7c1fa4338c8097be273daae2b6fbd5c713930005bab58ab8c8527438ed21612f75e088bd97b5eadfaefc68a4f12a99165d7c6f61e4de6f3c22ddf84e50643ed41e99e5414c37a696c0a5fcefb3d8c03d9437402e5d6fb6b9631569dd2ced972a69e710b3b6e18419c9a4af401a242705f23d66cb61ea1e275eeaa2bf5700147142a0bf099d5ca426a7ea65399cd5bdf2a8\n\n# tcId = 90\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 1423b1ab0964b6dd977c227648fcfc29a9c2f3c06909319b0629c6234ab9aa5cad3500b24a71405e7d8c299fa0f6d55aa709e321c712ad1eb6e32e7991f29be7dd116b0054ab4ccc29bac302b24e904c9a13a64dd95edde18edecc7fe60445595424b765cacd8d8071a01d45b6d38d5bd8321b14bcb2e9a3243815a9e6b23d24bb78c3bedf88b93af23c5b70d5ffd9d4e92578018196dc6447b1fea1a6752eb2dbe0d5b42313b7f5a3695078eb2ab251367eccb4ab64181621cadf7c92f8630a5d62500c306e2f9d213926bf75343179e2faaaadbd18c6c3e7856cbe4644337ef412b190819b33c1ec01e7ea371c0dbb03884436a45077b9e05f6d5dc260b9aae341d96820073dce8d02924c2395e0bb977f3245aa019650744f1fb16dff1986d43f99a27411013da06b425da98184ca8dd86b5ac83b8b1aaf71c0769722f1a1e8e49ee664271317c840fc8068eb5ecbffeed99199ec89a1c459aa923170b0dc0a9102a991859100a4cd3b9b7c73cf86303516379ef5221af13f3f1651b4d9a6\n\n# tcId = 91\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 4c5409386930fa979633663e2e623dd687cfb608a3d2bd764df29540793ecc9362dbeedbf143bbdaea63ebb01ddedbba5c25c35bb55b74ce422a308f4ca7b76988eb781be4f9229bb4601800f99733098a1143e37de19fe0e4b6874c3c7e534ab1d62df42bd48bf6ce75c59400fc31c0d305c1217a3b225f0013bd46d34cba9982700fe7e1c1683c2177fa0f687b5f8d2a7283e122fb1aa0ee1bef057355a7aee117dda07ce79ea8604577473b64ad5e3ed093833fd0c7c496b67a2933edc5aaa550452bbee14d4f6c5c6e6f254faff6ab5bb96a06de99151936df691593c964d91ce1679fa3b55e26be7ea52993a25f67a4595c75c952174d1a6e79cf9f3e0625b7173481b840a8368a9bf45ea16a8f2320ae3b65dd6c654905cff5be15c390cdcad6c142e537f356ed6a5374a3e5b1d17f802f3dee2c1a9cd9230c72160ad5d9c376dfad8c5d39a52ebbbf5161b9cb1e70009a107fd214631c324148ec85ef6d438b98e3df7135ae1a7b052ab02c94a261af7155441751aef19bdd3c1c32ea\n\n# tcId = 92\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 2aba17783c5e5ac85a1ecf3a76d74435aa6a686c2ceb34517452aa4436c7e961da24aac9e45d8c45ec7edde6e6ab05f1b5496c81ec5c0c47de5d3e490317381cc3619af4b6361c74ecfe9bf8ccb0a717cff26abfa5ec032ae46e6b358761b48993a90c56216c5b6ee91399e29bc1f5b605576f7420505b3beeb7c519a0cf5cb1e198b5de6d737093e12a826707ac009fa4585e777509f11d677f7bf069bebf0f0e555f47a1cd0baf36263bc1fc7e28dda83cbbb640573ea4b0762765180eb861ec6505317025895a89f1e1e4511ef8bcc46bf34974e083b251e2716ec298026cbaba3a2f392bc35b17c8415592c1f496844b20bc505ccdd3d4cbe2fdbc3730f3e54cff67653dc4318790208d825dc45394267e4ffc01f0e071615caae13349889b35e1a8d7dcb83b6402f69f9f1577b8687c2d4bea97240cee41b0b90349d19466fcf752032d395cca317380c6fe665595c4073951f1b0b42d8b50c91269bede7787c30b79e80cbe1740321a6abd8c0480394511e57a619ee80c132b7da6ce9a\n\n# tcId = 93\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 960143a34171a7d6d303878c23aac9d7ccd8b9218a5d84edf0c0956c22d1263debdb5a08cf890e341836f94760135cce793b0b8fcf7c062ddb8661befee62cd790294e345efdffde7c26ddd9dc6d3a3adb0c6efecbfddd9e382c1d788ea9b00c5d2d0f8964c241657bd1c9f82fdf3e4b15452df6e2f7e46faeb34272573936934703dd1583efb419e6c03ff4f5d6ea1d7f1827528604729f1de24721900f3d3ec07237f4cde6846c12ce1b54a06624a3fc90254e3cf72ad26e8223159177376688d1e1e79f800b2f1de811b29c90cacbcbbae8421a34c74c4b0de29ab1e3b6f76e1188d700d8a55a490386073ad1b57898775442e53a78b1e4c9faeb9c15cfd0b735d97d459b11fd11916f6840c86a9eb446c3f4f1f41f62370a7eb9a1bbbfbc0e6098eedeaabb8bea2791a4aeba2443bde74a2bd10de0bbdcda4ffd062c2cd346376d33e540d1667f90b378ef663b5a84c927e", + "3ee41b01aa2c133ca07cf43eccc33058cf4c0e2a66ae9129e14c57f01f254c40470dd6751304641730f9aa3d1\n\n# tcId = 94\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 089a64c082a7db8c5768ca9daa426c446cb5015da417f98de000b4112e0b71a4641071759e96f1a0cf35d60d0c5e7a6190f288233acf9637c0dbf95da1b9a0fc9a6b7d602cb60e82fb03f67e8114d1d596ce637d78a33e176ddcd2a1376104b3dffe09abfd71acfdda66d590c1ef862f35afdb840efb79e8b976c5459a2d8b43cbed8262efd19d2e287a14bdfc5a28a221e94056eaf1b7e1ce382046723d08c4cb761f4ecab57ebe3e24ea1f8d099f67e5a3d57369520e2b1ba993ebe3bc0ec28e68b7d15694b5454953cb5aaf99c835a01a0c5307bb57fb95a2938c54fbc3e7f8ec687f049744fc5f9022e9a93f80f0be2eede75fb7a62d9440df8b5b803e94c9bda66d0a44d7c832fddfb41158128c001c37db31248d6dae5393599ac5297eb13f63ee10ca6e575294589f805c5eadfe16e5da1da78806016c11534ce510a8f7b76c0eb98bb87b90f5ad94e4a9b452e092d9491a0714fa02711fc7b6740d4d7fd49e51dfac1095d300736696d462bc0d796f6d0a837cd7e515e0c631781297\n\n# tcId = 95\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 519a4136764dd2a4d09b18e665b233a48a2aa306abb87fb5df1c6020e3cfe8cd85782b9244bbcd436a05eb9f1652fca28b1c8838625b978b6b22e1b86119ce80dec263bada9bd56dd9b7d7227b88511ad83042ba30f1be7159b157ec95b01531bbefbc6c392406ca6b6ea79480072443d921d71dd5e1d583cb86763efeede98d4a46eab1418c64ef929e37b410003bcfae882d66a6e97db80844747bc632cbcb0d38d2a6970b6272db4141cb8c8ebe3236e947848b276530cd76a56ae44279311ae2c0fac018e2b2d930c563068ab154e90f438899510b98d17a256b0411aec17352b137437176c7331b0b315a7eb764fbb7ccf7614b4185907d24063d1fdce8936c1a1ac13101ff7144280784b361eabbcc37f69252010c5c6310f70cde6e3ea89bcb4d7fd0e79018414e5fd3aa00f2c8e6e9febbbc4c02a0c6d794ba6f15038a66771cae6dc876add5dd2338b806d82a18d9ac1f6ae57c5b748ec3111fb56d6cd992b4c80e128434f8b8fc9025b2a21d062dcefa75566c242118b2b0619fce\n\n# tcId = 96\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 08e480b9d4324d10ea855e1a0b2a4446370a7a1f3d6565697f8c5b2a5ddb360deab67b0a5c75cf9dd491fb0ba6402b702afb22ff9c4f7daf26fa413323259e15f392393c24fbd2fb9f3008e64a775838d6ff66c68dbce260ee2d0b78b29a0da9d0d6d547193c88c6b04c6059223a68e35329e585911c5a2d7bd6fc4cd89945eede5e3be3f6fd54799e217e1708745634ad06cd103f24fb2cabd07a1d66545e0f641301d8503af94e4b176908254d1fac4cfbf6c227a518f13818e22ff7d5f12f03be7531ee3060f47377f2f0db528d69e6ba436d08a4c034fb23084cf71dd819ac199a4b159aba6a3f3f74733f5e9fdfa9f5af5b7746863ba70ff63a83dd4ad80573747b70173b32d67cfe3d6c44fd3b1071175c77c0353586760c8d6d7d0cd60cca68ca049ae1321d39735be3a71e7654841191bb8953ca6f6677a7a864520402e5ecadce5f0a20f615dfca01786b01e7e81a0a3987f4d1204a8b619867546b41069195f22a9fc0659543bc705ec08e011f5852852eb0a07c670b2b638c19a8\n\n# tcId = 97\n# dropping value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 7c63c21d6e29a08a6f0edb1958f53b593a26124bcc2d57803bafd7a60404eed22efcda07a7bd8cba1946a488fd7078e807f68d2cf780b5c96ac7fe65c3e975b9274bb9bc1a79205d84d9cc96edad9641a58861efc058d425e07810b721c3106d055084f0711f2fdee8d1b18a8692d13583e502f74b65c909917b4684e4cc6a633e635b24c8be249716f8b86570b5ddeeb98e872c5403917b0ee18d27455ff0c5206bca624ca4b610294cbfdb438279929c4761df942f73dc1d544a7ed8bc2df10ca44d0c7802e3249127a086a209b2c5cc10bccf52a447feb24cb37c4bb332bb414e62e1acc0ba043e160bde9d8e3ad8167d89d1dceed4156fc0c0093f06f4c7f782a78f58328b2f86e8e04ffa94f9fcd90757fca13782bd08a6d3cde56476cd3ca431169534fd855fd9553455385abbd5559a47c1e4c86acf455ca21756a4a5310fef5e2cceff9fd637c0f03bf409788073285c8c0f56acd4f1635b0e21b84e32ba7abf95d3296d52bcbaee4ef4a43437227ebc694d462ca06eb886e7251893\n\n# tcId = 98\n# dropping value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 03ed6a107120a2655098e12efaf80bbabb69ecb43632a42fbabe0bfc44d1f0f35b7058da628909fd2427781e470eb1b14c94355fda9bf5bfb47671706a41e5174c6547a266e7741f1ab9618035f3ca8f5e1af4abe191c0b62b47d09cbbfb25a1bfff54dc369096d3602cac21cf42fe206dddf762798621ce14c855b3b2f74f38b2e6801e20ed5b53ee90eadd6f9efc6a087265ce9065a6f525e4508a70322752409a0e5ddac1ccc105150b92e011b832f6c8de408ef1957c1d9621961dd01b4a425ae7244cfc6ed611966d10fff9d2598494bee39ac7020f45785a64be36094af7f26fc93d8ab3f79a83f1cf5ec0e3e9725d2c1059414af44917e19e33416e1d04a4934cb812530d2a0153b33ae02babe12f99599c52dc50801289469a5cd0b3467b988b39a7f43ee9c3ad5f903faae1ee387f7ea9482842780c61503ce50dc72e20300597d759b7c785cda11a45508b51e661efddd4b08af26854a293150085ebc954ce7f5e32e979fbb6ff9d18c38ff6d8287636e9b7268f7ae6bb36fe9514\n\n# tcId = 99\n# using composition for sequence\nmsg = 313233343030\nresult = invalid\nsig = 09a748174eac93823247630e59fb5a50bfe1730cb49795ab6ea39b603332419b499f2b75415c45e70464213998ef403ffe533adc65f78aa37399fb81178e56653e973f4e317e2359e6c48c90c173bbdaee564268b45eb62554e8e4bf60bef2da4e261bc1948c7da9249cf97206ab23496b5857a8b0bb09896e16c7f8f5c3d620a2bc455fa5bf600ca5bf76241a512fc3b61148d62054fbdb897035e20aa320890b57dc852fcf8e31ce6e191851c7b11ed692215eb9ce8a508033ea2b7ce08be48e28c29dceb69fbb4a2a2320cbfb914c98edc3a2c1df94cb631ede7ef6ecce1173951e1b962d3f1dfd736cb7af994c7e7856439c9efee52f791b0a49058de7fbc67b630be2341030c88046802434e2a0fcb2e2ac70d5cdbe033eef49dcb872cb839a5696e60e438b718ddf2b79b1fbb4973c35595430567426aef7a641e876d08abf61b3b9535c9c0356492b4aa27adb21364071ebf8ec5cd0dd34e46a9283e997bab627b817e84bf52b09ac08eedf20383f238a573b39ca94b42d31b0a6222a\n\n# tcId = 100\n# using composition for sequence\nmsg = 313233343030\nresult = invalid\nsig = 6e702dd62b88ab9265d4ddd71b091eea6a2825d9a64023676488c1e6f467ee9a8893063612cd38da889520941a59f3cd7133b7cb31cc410dbd109566995bbc5146f648f7a014b641d20629ae8d8c75ca4342fd12f374247cc46e154faadbd593d8f9e404adebf925b1c9b0e7f20c01a91908b835cdc2d455d82cde8bbc6cccb0ef311d76dee3c1e832d8a59efbe0367540fbf2fa21cbee2cf345fdf8b9782947436ef7d5285647b1c8c57909d3511cdfde07723eb666599cbda596b08b6164272c8ac4711238615edd19f9dea06a87467d3b8fe2f87f45e8a3a1e5d0d3e15fe0c1802754064debb772e539bb9528f4cdef77e75faebcc6938964cf45d32c7e24d9c9b699b9d927744b2e4324462c38c09ee70a587a8c26fa7fe287f2a8f552aeb5b71836c2e92b6f0cf1ae21178234b8a25ee23c65384eb332d6113a9d48fab1073162806c5671b9f2783f913bc85aad9b3a08ad960a4817e1b4c4e7c63c344b22f6db60e05c3f2c2c025561723be9f9ae007c3e8a1d6c22b0b3957af4c942ad\n\n# tcId = 101\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 28d3b6aca52dac1cb97ac1893cc5940b8fad22ab50918c78500436546a1cdea65e9000aee44fddb0ac6925421de0209711a51c9c8802636f990adcd17cb1f0889a5cb09ceea430547e8a32679f97dc644874543bb45da2ce442eccdc7f73bff6b8f09d51906e2ec1eaa16c17383ca65f43a76d054f1ee65a1629b7f9d5fdc44c71671bf10ae75a22d7ba9a11acbeda960a47e5732ad838197100fb89e782940f0ebead4bf9b10b7a5d48811a3a8330363e863bc3b56f6e54b70f0fac33a88348c5c49c9359519622d6c79eb1a6433bd68a624b1757a9dca7c7be1bfacdef1f38936f2a35486cf7cee85d801089d6daffa572c25b4f5a70378970a8e4fb48840c74c1be3cbac84798bf9281e29b93a631f23742b93261c96913479598bafede637ff5f4a7761a28c70ef860a4b33abe7fdeb49e9efa9fa9dfb17702be1661789decb6e30a989e00bc6f42a901d1a4345c47ab87d8168e6cfcfb339739f7105de5f68bf011fee5c90f5fca7b2b163ac77e34995d309715e70bcd35ea557a843e27\n\n# tcId = 102\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 07ea7ef7fb61a021c1b5c26a1ebeb8d8fc943b4a2e91d0cbd9b023e8a786e2d521ddd43dd4e75bbf9583213405db98bc3d7aa6b1f0baea1b13f18aaa769ca4234d35fedec6b4017db591f27b9e996c21d7d510d81e3331cb76b320a1338ed2d740e2802fd4a3159e1a47eb0f2e82c442c9f138a630b507f14c277d83df4818054ec8adcfaf170adbfd560d69bb88fb9f7de2a294efb61ae18bb8159ece5da31a4d9a6094cb956d1d9e85ab13755f4e95a9a8dbe9130fe5eafe0f5832cd82b972f2f0f65c60e72e5df412b3f9280cadfd11ecbc28bb1e6655f1c12decba70cd75d90cb1ae494b416c5ad6bc83d0f9eeccd7a0a9686c28e903883e7fd1bcbe4e9dbe3ce1a3226d71dd6df459f72e8415697cb16fc3d2ffff38376a8b1b07397d2e6e2ff65ed7b2b0009faa20a5b425157c847481de2593366d7b7bded304d133fc59a7887513cf5067c1e9713366a533b2ee72324589c46ef9a05d08ca8055c47f0c12c541a854e0dddea4171e6f1f08d091fd681cf90df86c7bdea044013f0485\n\n# tcId = 103\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 22d60fa58e7b904fc1a8e3dd73855a727153e58a798c0b566c1b72d23a4ffa29363472557b01ebdca870189c024af76aa9560f538bb32e2e76909607e23bf9450912d0cae66cd4c2b168f28b479a5a4606710ee8067462c396773b18f0e1568341728120b718ec8677902b556c89b33690252684684aec96a12e5f9beba0f8fa10fd7809c6940ba7389f152ef6cb39160157fba99acbd5e80e48e54bb5e7b7134dbceec62d73d8d1b3dd0", + "c0a27555d49f622bbe157e3e731ff4628a988ec060271184cf8d4407f95dc5839a55297521694bfe8978cac511d4fabfb9072a79b205bfbaf3cbd1e18c1b877b2ee9dd89d126072bc1e63579d17780d8551dc463ed9ac655b849ed9630ad18cb40e54fc60e56417fa0a89ade99169571c9859dc801139b395b62fdf49ed4748c6b2e21e129c9a5bbf346fc46ff408dd7e10f7ad1abc7f374635e292994de9f3094167d34a1d104f4459b7f48cd05b7e150ad7e3bd69a7e619bb081763a4fb6f284c3d330c4df63d42e0dbf2856044ae1c17ad4e8112\n\n# tcId = 104\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 48dc5549c7d0d689396d966a08e69dd6a9ae38b32f6c726ffad684953204b9f74eb843a7abd788ca7e95acabf44e0b00e1dcfd77919c3de38a77b8f2947461a29e7038290473a95913cdf57c7bf4de826289850281433aab7c8754eeea7e0ae6152b58792d02a8b762550d2c7433d2542e4356f5b8a8db524f9a044e0261c1d2c08387b6257daa1d9974bd7cdf46eabc6eb8168a535e590fa5df0998436c08d6574bf7611443dd9d4aa48c038ad1847e9e661fada41b6a52a95264ec82bd0e497b3ff28fb2e401e7a03cb1ec823cc3ee4efceb31c09ea2dca2d20518cb8af93524ee83a6ec4090685c974f61110eadfaf4943de93ed0eda4d513cfb91f3bad5bc54a4a15742b3b5c06da7a73d43dd9eef9d4df4c2022fc62b1d93b285efbc2a823d3e15ca90ff6b00540d878143ce06f51c996d628e7a5ec185de7c5d37a9ed30a5daa7bda64057174bd1a415aa9c6800b82ed5c0892f174422c51e8592bfdb2f3ba51056012345e92e6319604ded5488636dfcea8139ad8411b13ff5bb89580\n\n# tcId = 105\n# indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 9cc09df45e13b4d33ee31c545026be5f9a63d393a9b43da7f42722eabd1ca783cadc21e3bc1f7e9e8f70c3bb8ec4e2fefa82db9cfdc106eeb41f49207d6654ac374b07301604abfc28066fb524c97b24e64c2f62ec98307588e4de3b239130123d3f8d0a71582b123612b100be12393d878658e8e122161b1f4848ff2d3cad68edde6406fec0a60f5327120a6d9a4a13746542642d6f918a99892565b7c4ff10b2b7f2344a4506648b5ed8f0dd1ff31687ab535ea991e55f5321f376fb93925f8a0e155092427ad5eff03efb1a712e347f0afb7df9446409d443a839d5d28713cb4064c9c4ff527587d730be3f989c66084ab7270e46e38e4fd2f26686b0f9eb222391a25bb702022d3bb7d7452451efde5b8d1053662015ccbaf80afa51f075ed9fb3ad5ec4ad3ff19a976585e82d55dddf8b1989d44c21d73f1b19e6f259fcbe81807a115690bee1c6a50ae16521358d2ef8c1fbb9b9bc989ed64d9e19e7ac4de2124e3d8efaf09d70a6dfea102c7654924fb6ed944b447c65d81e4d8bbe45\n\n# tcId = 106\n# indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 60a14686f2e72eb198741efebb65831d2f3b7a51dffda9b39a9dcafbaf496a483e8136c20fb5cf3b9da4d71b256061cf3abf680a2e904bc40916edef0ecfc2bf6f50ab2fc9667cf307b9f236006f2983019c16c25711106ec766217745852f76b5178ea8d0c7c04550a97f38ec0feb9e43193a83c9ef3024d2b86a86142fa0f4c05449f24ce673bfc11d5e36d4d843bbaf0e36a322efadcea13a0081a8a4144ec9dcad0a90aa17cbb9c772957ab950176d1b320dd0651d3450bf3df68b6a39fa0c856109f9d42b058e0a222593e375669cabe963f1daed0fdb449d7b8bcbc2c4c70af474e6486a19ead5e8c3af3dffa613aece85d8e9ffc7e11146aef075ce0001a018f9e7859b3b9d0d5e8a77e229b892f008bba10ad0dddae63952845c0b6a4a1a296ca9e6d99605c923c5d96cd8f8976d2e3e340b637849f22013c99d5e866434189e9117031df332e853fb86174ea30380aecb8c6a11451273f19a352461393b9e941ccff8d4a080d068941984024e3f85c9656769b4d206bbd2f75dd325\n\n# tcId = 107\n# indefinite length with truncated delimiter\nmsg = 313233343030\nresult = invalid\nsig = 78d137671fb0c788b1401f11e26055c2b5672891c513713e53d17d1633235437e6205c0a42c40f78d37d940119ab028d0a67e1e61b83c97d41514c943b12c4d9f09797949c3f910e49b4a47a2d0f08996ee581233b30041dd88e599267e4f0da21303a6d0593bf7552e0288974bb198fa84d93b5c38e4ea6450b8d070e3153808ab6aa750fd02c359df30f9cf413ea59246a7e79ac78d8f89ae831b635dad8601344892cf194e6251ef72ffc813646016c25ee0d510dbae75b6a84df12879495a78a29d910e81c59b57c66e055d44720e6adf0e40324c930297ccd6a09a3c05423342c23008370826e9f55b3df4aa2f0f2aa6205d7dfe69c6b6bb70235fabb82651fee69d6b47da6bfd5b47bd4ef8fa475fd8f2202f0a5399b9441eade3a01292754e5b1b2ee88ccdb5b4c735df37632d3cadd6aced32c9657d2c5af50a605a04d4315aba0f7f55b361ac82548b51dd1103e6f9eb423489dbea07ba46ebd27773ef32317e6df26ad95be3e200f4d55e1b7a1c78939b3936053a94f56368e606d\n\n# tcId = 108\n# indefinite length with truncated delimiter\nmsg = 313233343030\nresult = invalid\nsig = 390a771c1be9f6d6f4a2682209f9dfe2f565cc191484ff3a178e32272db6863681311a7b406472bb476c1beb597c8f0e9921aa45cd4a8a01e2143ee86a32f71acc84cfc213a1757acd21d81862115400c5cd1408ba65a4f126734efa77be071404a611ed75f08ae28045e014c02c2c79c59c736fca3ec865943d46ec2a6148be8924e4942b79c68e408c60b57c0aaadb234d2bb6eae34f57257a426bdc5aa665230eec4c9aea2af275f0ba15f76655dfbe4e915191c8b804b392f5a9d04efb1a3f4c870850d65244dc9e431249aa906d206f1497b0a1d6deb4d691b61ab9a1e61f72a924cefcd0f6fb566f77a69067b1f6baaf23d1d7ec7c134b9959bf78ff79eb750be286a3f03b769c199ad49e769e913db72317f12f12aa340265060218f0cb28de4be5550dc56151a628061f50599094ea68177d5a9d5a97ccb3a69c53fe5ea36af5974c57dc95b6ef3b067c204eb98249e6a213300e3f28ff7eafa1a1a61ab95bca729d17f849d1fd2857ed00777f7cac3b05ff98e7e75fdcb3a13ace16\n\n# tcId = 109\n# indefinite length with additional element\nmsg = 313233343030\nresult = invalid\nsig = 7fc48d42f239de51b276d1aca92ff54dfe57a3948992f676c2036df0aac90df4f25e47c713c552f104839452b5c38a0529fdc2b21dcacca0470c82c7a42c80837e293ce4afd3c1ec3e086b961db8209d073c7851eb1345d6f6f372dd358795f0c02761a26df1d0a84901a8ca63e1a705e841a81e849032f8fefb0e3943c45b08e4789841f9e39737f86b9ed88339864da9922e05202cc1f73fc321aa317ad027ad5533fe586b46f92b56e7a32daeed3bd5e56765750c7ff84459c0c0d5fb1d17f0a0b9782b203b5519aad78a872a80bd7b0aefbbcb8b8d1c5e93e7f28506caa8267a575f064f4e6d4df3965760829266d225e1343552fa657850871afef79d2fb25bbad1c84a47a62e2be3d5826a49ab476f386785642ad1186894cc542fb91308a64d1000678a9864578398f02b84ed1f0027c4ee28a5ca5fc97d5e2b27107f6d3a9a68e6d5eebaf6194d22edbbde652b496fc4fdcd65bbc10c292df7c3e8a1df8c6ccb2f70b4e679a820dd250692926adfbff5d127f29a0465bd8c8719a7ae\n\n# tcId = 110\n# indefinite length with additional element\nmsg = 313233343030\nresult = invalid\nsig = 1950963873afaef51578241b79a6035b4b5b51d950c550aa00957e8eff6ec72e8e7c5c9439eb531f2f050c3e3638e946bc7231b10ea14e47bff11247bb83d984c56d9aee11ffb0772ca915cf80b9e6f5d7768fca787e5051c315007de4cf8c0b697a44a955de4f56999861a3d8a01c897d212ef32c7f79fd986f8ed09955617a3f5bdcc0ae016a414cee5a4df402965e9cd46884449237ddd304e90f7c6856d48ca7c7c9d1a0cf4d2f21ccddba6e7153ddf65de5230a0b21562a9569bd643fb926f14f0d26a8e14ac3df3a2051711307b7dd260e54d1f89c26b02f0f1cd378a09b2116d308979c997e42fbde1facbeb69f0c788e39d09b8f8797bb65f9f2a4c73dd95d028059bbb6807fe7f1a710b453ed16bfd9548fca623fe650da8a701c92579e4a82361b42ed3a22c60276547c7843813f99848dc60aa3178f4c01f8763b0b5d3dd6843213b5dcfaf73a64c5628a3553eaa1f955ee97b8e7a837d69413de9f61f89c2b8efe6b9b6c7fef421a249f4a8be71c2a9cf900e21219080b2651c5\n\n# tcId = 111\n# indefinite length with truncated element\nmsg = 313233343030\nresult = invalid\nsig = 7795eee4bdd138a4baeb5159c60b56caf396313af6a46ba5375b8dbb88e8bf37935185de5c8ea773b6ab2f6f7872538b6b0ddf35ddaa06afe519ca5c8110985c710b8e8ae876753bc9653764a810bebd29524c362844f106e3489722756af1164fd8cdd96069139a779aab6ae283a95a17da7c79aa43ac43e2512f9eeea845b99f4d284b46aea6596e43f3dc3d1581d9f9943eab06c2ad8aa506ba1c778a1128a1adfcb97372647bae1cf12357fe0e44c307e97374d2167bc864def4ec7a24d35fdb4542c6f3d330c2a630a6f300a1e571cdc4eb76b13e0c5de6b06e2099dadc5f5e8a23958492634cc1cdad8b52629415d779d60b76299e45223a40728f375382492ca0abf45ab23b5fd9f5a45c5e71e1380b47ba32a60b0ab7568c651e6e997e7e8ad401510d30bb32427f9a2a43ce9f58fd1687d86c171910aeab8be986999ab7391e854e2f6e8a815def90eec3bcd2d800deaa63c6dff88aa52c1da9698fd8f1b16a705f4b3de7dd0b228eff75c5f48d3408170d39626c7e9d3ebe437bc0\n\n# tcId = 112\n# indefinite length with truncated element\nmsg = 313233343030\nresult = invalid\nsig = 23887a22776bba317c2488243d77916cf706275e3b8ecbba526c0164a11e7b5369b491bbd8e4b413567289c386b922fc111f149c5c1168d49e1255e8d18f28b173acf1b0f0ade32801d0c95627ebf063626bfcbe3ec117c40331ed2757a2cb2b6cf99e0059260cb97627203b7e69dffcfad099ef43728f6311240aa1edd5d4055108098108a23d3c4ae74ae3b6bffc4f97aaa50a41a3d5b22ebe767fe0e1749a3cdbe3ff40e982d9d34878160102afc14a10a3921dea6b89dd813dfd6802f26eb76f223186fc3454b599b2f4528d676efd18b7b28e25b5d9040fb8ef0af2c36491478b10bca1a16741e6276fe2482e63e3b5df6a38a774cf0e2469a5f3d6c63f3a68b562bd63c791a711e1d9379cc919ddf8590310b04a99d8af9508f0a66738fe2d0519ce2a58bdce05e8691afb095c4c60bbe0ff18f2c732e91190b3dbcbd54c5337b12144d98aa918b463c3b3a961121218b70cd032272b0bbb1c545bf7a7b9feaa6eb77d179c13541860a9c78bb7d763227f5a14533fa8434c63e5e05caa\n\n# tcId = 113\n", + "# indefinite length with garbage\nmsg = 313233343030\nresult = invalid\nsig = 01d1a157da33355d97b6f363f2cea4f98b31ec1adfc2d4523b40d8fa293f2ed93ea5784a6d133a4d88584ee57d2510162fa16c069961ea904b32446fc1a46692657e0fdc2ee070195ac398359ffd9d338c40d727524176714f550d95f0e6e988a9bb8460d569eafa252ea35c398feb120cb068c9c8b9ce892110a1a4672bdfe4166bbafe667200f5de03493e74e8960b9afa800fe5b3b1a3b8ec857be750d7aac89ca95c03744d3e67ea599e08cae7facfff1eb316d0ed2664c1f15c3559f3a7000eaf89c9d12ab2c4cd212be64a86e80ccab6b23c4ecf2eff3efb84d84bc20bb371717bf1ba83bdd4346c332212f31e82c9f9d89b7b5d44f3628504614fa0b78ed4db11e3fac5041521e8e9e4da9f4a768843e1dafe6e4669f2f6539e947efe24de701c425e1a63f6aafdea19df24c37c23abb2089c0a499a9ddc2f16e4e92de19831db2988b1e53b711bcfbdb3519352a7bf3dd556735f83ef9f438c7d92fc2a561354b19cd028c9b9e92ae420372c4676b7d681a4a1ceadfc11444dbfbba0\n\n# tcId = 114\n# indefinite length with garbage\nmsg = 313233343030\nresult = invalid\nsig = 0ff8a7a6f38dc29d0ab58605dc1172c32e052e26957b7d3532f7087352b21ae4917824218d79d7c2efefd18284d82b8ae18974949c627cd5d7f75870ff94ecc4b4746b23d8499807286d20fd53215fb33deaa2367d818514744c3aaa877365d23aaac52890a6a14b2737f906997d5bea4ad2c0e6ffe95f28494760dfbe0d21e392a357fac9ba126af9dc1b079757aeadad0631738ac38734064d22ef3f52126f666c10ed05d2b5db78f6725f5de1a7f357437f3208ef4f8426c2824309a6e0e7e82a264da5782151646e711e4968886c4662f87c357bb9311155dc2ccba00642c862120de0c79024a2855dfd97509b15159a2e4eec467b7ac2778fc35d2e941cf3c5d46a931c23752fa69344b6ecf183693806b85f48992e7d1f208be3119a37dc9eecf131fac71f9e55b6a5f5a21d62a7c2422e11b2c5002ef953a6f34e1c1391162e50099865fb24b6297ed528cfe1949999e48b28d0e927f03ac8c256f9711aadfd0d97e98acd12e9c7a2331ff060128a93508d13b019b1219df4f2cf5465\n\n# tcId = 115\n# indefinite length with nonempty EOC\nmsg = 313233343030\nresult = invalid\nsig = 404a71bbc91ced5b6079d94ca7a0e4c601c3b12c7c1e89c0bce718ab0899cd25a1c3399858480cdd0774a1d24ab72141f5072f6fc85202ea6c45fdedb196133560ec9de18964e0e16cc49959c290b69e5b80f7d0cea34075ab24220f12a324fab92ede089f645cf4c30c18275c3d5224af53e3703ff7b6a8413aaeb41a1e39e29d41986698a7aa7793a40f3f7f389e33860c7d97fd1f158a8a0effc48d08ca9d8c54fd4ec80d4a210e2eb5d09c9afae6fb5788cab46c8251e42285879a872f1b48b847172234e79120047ead865abaf31682c1a2d104f40a2cbcb329404f9502ed7e9f9ba7e1eda6b94a36a8b28ffd4a2b8730b86f9013b5369063615671a58ec601bcc9703f3df6d0427522aff488e57d23a90daf79b894babee8a73e2c18b55a3d5c8bb16ae47eccedf1aef80dc1b84dd9c25c2af6bd39dabd0ddf396c44c22cb15641dd9cc409b1538d6728111b2101f99647e69b9228f522aad40e3f9812f9cc4f506beb5b666242466dda4e7e8e90a4c9d1394df23b93e74eca2393a42a\n\n# tcId = 116\n# indefinite length with nonempty EOC\nmsg = 313233343030\nresult = invalid\nsig = 64f873578fbdfb0543e7412d585ec60f95919216529d93ce7a16afcdfa577bd2f1aa6eb660a5f2ab3b79827de197177a461e6afcc444909d955f30e6524e4fa5c9a5962c7a824a8938543c397c2556471f6c0a030fb79f0cf147ee29532aaad54c67aeeaa8e6db4bdaa869711fe9f02143f9b8532c99e58c3a6629c5e17b9ae02b18695fb1c4c9e61cfac678c75fa27a744a8126e86e0d1d420c3a125f3a705bfe6a7bff256747bcf047cab3842cda6efba927a687d7d9641b2e8cd53404b8510b273717dc3466476888337c37c427f977db09848b8d1faaaa7c163b8ff4608ff90e8d8676703ebba1cefca44c25c732654ea6d45ec0cc58bd00214a217c055aeac7f2dcef5dcadb314454a2e1e5724a1d7621f07c2a77b08d540b74e363244d879bcc1584d0b179ae1144c1e3d8f9769230b936bda8d38be450a223a19d780ec93f5fe678e8d9e6d1d81a4920320f8733b37cdd04766c1adab1feff63136578ac1053adbaa1aaeffd2559d0269e7dc01adff4eb8d8c9902bc42549ad7675f14\n\n# tcId = 117\n# prepend empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 00f67052a70789e75039f18cc6aaaf9b1db8f77e5c2e1c496d2274b5c1d5ca097ff6bf9ec8d8ae5bba13bf2c12098afca25bcf2c26eb5716ece3286c6a7d64f56a473e3116c4e6885fef7ed2685760fc8864613b635fad956b65100bed60477575e5e7bba50bc26e623f4370068870843da5925f7f123403d38d4cb30457e14c3eed2a0268bb9b97d377fa2e47fd5238ac643cf22793b3fce62da501fc0c287e5ae960b78f7acae20ce81866b9b703f85d2c9ae2057cdd2077959356e51903a03fe2757eecf47acd33ac4992522ddda22c8de751ae373a5970a466d8c80c68d435856cac74d2a85c6c0f8474f6a1b89139e15ed9ec8689b1cbe4b97f7eb9ad978d4992bb38e2ba57fa4890166ab792cece41284f97cbd6e892b32d49ed63b0fbab25670c27399627911751427faa6e5a0a475adbc01192be2fe2eb2d323d25ea5210256247f8186db87314bd484dfaeced367256d0807f8e981caf86d42b3bb13639598001d0e57baebf222fccbc5ecebf35bba31238991ac68edeb4e70681f0\n\n# tcId = 118\n# prepend empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 42bf86f17a82ea6cab7eb84215779691819019ed827c485faa11855947183a49f52fb0f6c591de616d2ec5de5480a8017fb1bc3f785ec5e5648c5db9101b087a31b3fd7d3155aad77b69ae3dcfcdd6e32031f670143436bff324566f727a9408bab195a0ab61e79e884dc2fa66b00da52c0c683f1e9fb16016439f6e90c7c3efed53dce7eee9dbf05287c92b23d3d970b745a34b801dfdf9e846da2b4afc086c58daf3eb1132833a9799216da6ce730b94ad7e01ebeeee17794e295f9ade0a7ed8b1b597023e95d67e238e978eff2940c0829e7cf0c1ea885b17803b3730c226b97ea1ab161e862c0183789a729c31232b596afcd9b192d69a429ed2371fddf2bcad11973bd27b2f6cf355f8beb3dca268852930e7c8b194bc999b92ec059e7122bf05b849c0647c399daedaf79998881da3b86a3a5ec08d7ec47ad37012d1a87e6aa4477009ef91176aa61f73dcc040e1063b2003fa2b84635e6b4a206ba4721d0b7882a1a3e360de362f1b01db6afec1cd01424013f66faf2c503eb84b3929\n\n# tcId = 119\n# append empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 8bacaebd990eccd128ea06c8e135e50d3f9b00c4b31a58f960458c9256031c832c501cda67ae4f1aad98cb1103d145caad9121113a1a365ac19f4135341763155cb448bed3cbc3185fc8ca63d2bc8b6f0784b37a6df4486bed7978b490fe36aa4d72738e3337e4827806c5970ffc4313966e5246e05804951868fa45d4d417438fd8ea8cb57f4a75717a3012900b19f261d8aad8d48b1e4132604a3273e17fe3bfca080083509b90315013d677e2932e029ba89e9a8e2c3be96dde760f9d3ed422c11bf8d6c9f5c4aac79ca910c0f06a0b0d757f6233ea821c1e2c123c82d32e9638dc6c84cb85dc94ca83026af301d0390d1d3186422ed8a544b675b5267369e4a276743fb88d926b9ccade5ab4d31a7ecfa23fb271f47e14ffeb795fe65adbabd7bcb9fd606003bb8b0cc818162937b36eebe1da0685907cec64e6ea0cb71e01001bb99d19dd205bb264199ad87a07ec20912770c0b6107ee73b094607d31558c5b1c31a1a8c79d22e5c77ae34da98e2a14d3365b7eee4d7789781c8515797\n\n# tcId = 120\n# append empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 62aa9127d8f3d53285814d9b3e66fe3f75644ad1ca071a6a895ecd148d7fb7df9605ad182fbbced4f9e078563f909398b4324d4d192d2f7abb828445aed783d4c9c76a82ead7fedf109310a6d65852aaeeff87e66303354478085474f60873f0c677b1ad9138dee0de2589235a121b6bbefd6b7d8ebd3d296c2ca091c3445b346ac39f52addf12489955fc4ff0ad218f5f5db5ab808587fc42bbb2052f9782001f828b8294ba1ebf4c6a67ebaaebeef386b56e23555df9231cc22b5a49ecdee35649714040715387f1313b7d8e2ce6e60d20b4aa394d180ea7dc1c70a71e738ce06048ed9f1f6ea1c262c3f77f613968bd86490bc91c43f7e9302a2c9c3f934de2f368d516d0693910b420a9f32689852cb6a3184fe815ed00048e2ca87cf9b4ee53c178cff7bf3398dcd444136a55b6753e0af951cc8e7c53712dd9814d67ed1ef1828b3d827eaf53da05529bdd2d0d24dc1ad64be7bd689f3aeaedfe31a8ef74c46453953b1f1f3466020dff6c690d3e06d5ed9f51c3f28fd3239d1634b93d\n\n# tcId = 121\n# append garbage with high tag number\nmsg = 313233343030\nresult = invalid\nsig = 539826889a8aff731ae9e731083c7744872141c8ed3e4d04013152288ed1deeda0d42dc07a70aef3c053a4b55099edcfd92b5df8b73346a62bf3e5be2c326ed3b2579972b1830313ba51126998855c42786745f2b71e38cd522e4015f2f8928c8ace48161e1cb092858cacc061e7b99e3b44e85a50a7fafd184ca739e6ddf0e9f5cb04093f7f2b2307061fd99e1da6691ac694e4756ae46517af6d3a968109670e317a99e5197192cdf4ff083c7e044f46be530885cafedea06c657f1d6b902458e102811fa3cb59b02bb1f04f0240b5a1471520dc4ebaf70ea0cc31dfb1736144d615c7c77a4bf732e7775aaf03b5623278b96faa022d670e9a043575bfcdc277ba50f5932a05d4007761cc97e37e0a986ced116b3bbb68d77a0f6e32464c2773a965e414fdd9bf19a1cfb0451aabbd96b3b3e27320ce2391343d441aa404bcc7cc107550bdb3e19eb3a954a5054fdaca39a14ef4a1efa1459aaa72c8f68ba026400495a76bc8120600ab53eaa095cb2dfa3996de36298ac4ead407c5cb73ed\n\n# tcId = 122\n# append garbage with high tag number\nmsg = 313233343030\nresult = invalid\nsig = 6ed76b0cf22de889ae6089d2fc739cbb2db9c348c035c1b1c2b400342c879c73a2b834737ac33863eabf61e452c332421ef4b1692643ce6ee5d08f2395fb3eb7b6d20e60c6fe2eee0ba64d9dda3bb95e7b6b5bee64dabf9f1c2c450c118b0f3b82bbb9d3851c6e9bb1aa138ef5d94cd8a9765f7aa2b0e76fc16d697a8c10ce6f9001c005064bb0740bf5eaea3f49f277b01bfa395376f1e33d3e2ae99424575ed5d1536dc7773acc94619692431be858fc941cd53f56a6841632215cdffda41de67cc102ab9115140b4f97a22", + "a6ce4f2aaefaa035166977f404cf956cf0a25d6945c8d8f5580e48d77ee2ada4963d139cb4478357114851e39abccfa77c7bb70b6d8f4ace53b9f6500d9d9c2c1b28489f88da9162b4cfea89a38795702dbce4775d5d5d7409bffa693422332275ef5f82ce8f7b88300eec2e40967f5d1724ec295ed8124ddf6828a94f8ba8b7c084d18687c96d1c639ff88da2b42af7db2fb8e2e504885233deaa713af829ec3f624e03dae24ab138931e70384ee76c9b35a01\n\n# tcId = 123\n# sequence of sequence\nmsg = 313233343030\nresult = invalid\nsig = 772227d41321eda0b8e0625f87cb555befb7a6969df63d03924108c5bd89974bff3c69d8dc963f315f6911cc49d76b2f575bc15ccd6682929661b659b2436b3945d158f2a95721ec1eb8ea4038f5af4cf85266a987b77d318b6c1631999574bfcbc28280dc0b656b33467eeddf75c57129657ee5b77d671118d4b57a55c468bcd91a0f71799433beb7afb8558ac0e70ff91ed48564d93aa55ac79b35c468af57cb64ddd62a4ad56c29f74bbe829b586ccb9bf1b0ac56fb9761b278d1546d2d9d8c8c54822f71ca47929ef6d988895527f6a364bfbd0587f24b8bd1790fdca3eff36339979165a5948ef17125ac8e8d3f3e2aab868013569b57417a53303d5acffbd11e65e5638fc4f9d9b23c16779e82ab38c353ab282eb8035fd1712e15f9f441be8773251e53629fbe9a4d8eaba7607b0d4263df29e425b47345ddbab4da5cd6b66a616729c967c6f28a29e8a8057d7c2bec54d854c8935437ba2205c8a615501d0938a18d10f3ad9ae3f298840eaf87b41e42ad811eb8ba48d915962ff5ee\n\n# tcId = 124\n# sequence of sequence\nmsg = 313233343030\nresult = invalid\nsig = 2ceafd49de62fcfd29d10308a37e84e7b88d990ddfd5787d4d4d945c4309febac385a13c285555161bc14f83ff5ff326da0b6d6278bda7bda7bcb7acd7178f8d71e0c297eb3c98e80b97ec6eea564cf64933ea75d3458fcc4d8cd56254d91efed6152953beff778032ef384925b1e45c91ab30ab6adc979e9ad02c01b1eadfc96311b4ce98745b0576e90f5cf471cf9c75cf3473ddcb0a674d0b3d03787e8446ff1702c4fa588520738cdc48fbce72cd7867ad1ff5a35615b51dd5d42cea9f721cbb12d887f1ed58ae5d3269d781f764e51c1bcd93da5ab32369afad9f6b67218f9bf8dbc0fc1374e67ec360b183594740b63d29d86340d2187c2291d280d3509ef7ccd3b2cbfd45ff6a5f67bf1f92135be0f4b7cc29400cade412e1522d81a138d5e27619993865f8c3d73fc24bc2eb7147a7906b25d8965a4480c4bb46b4c7df348fd0d83119b599619a7c4fd985aaaa1040641679a8ae69aaa2a3a315557595806de350f33dc169ff2905c1b432de34443ccfc3809ff5ec7462ac0fb2a5f2\n\n# tcId = 125\n# truncated sequence: removed last 1 elements\nmsg = 313233343030\nresult = invalid\nsig = 4fc3980f88d8da1814ded92a3f4a4bd66e524e2c6dd98d80b2ae56b59b0006a332c0ebef85b7632b63ec85528aeccee7cf09016ec2465c00cf012c324d21db80be0839b87f631c051d7d152e251f6203c5e937b8f756176f2356f13e947e47619548751c4ebb96b6532f22510ee1ebf946851cd20c098504429dd7ee7472d7ad9b93d9ba415e7547773608834848bf4f80fefdfa233a95fa9a535bde32dbee28a0ce38650bf022bbdcaba39c436d7f7e2d1bc74079fca8dfb9c3affb7f58faf90837aa8d770382f270e815764b52a2eb3f9c2c315e290007df5e881b041b4bee65b6ddc7c549948734ac8e1a8d27f205a30c68b0eb36b63aaee373e0e4fe303d37988cc179ae169552af975d69cc663d82e1159fdd8b1aa14efa3cf465421401d301fec71def2fa1b1c185bb6e9217267b34dc2e13b21a5ed68640e6981820f349b7d35816a2eeaeb5881d12300e0022a15477de159ac9015012bacefe4bc1749fd96d1fb1bd2273f86e6a733688632ccee551ec71cd68f7f204554ca48d345b\n\n# tcId = 126\n# repeating element in sequence\nmsg = 313233343030\nresult = invalid\nsig = 9e9547adfb919109a3a7291bb041f8a431ec229a922c0cf256c16a5c422c860292ffc626ed00f09ae1faa7230f5721807c0a99134091c6ab0b726762592cd61eaa4c58ef2046912c9881119c517c84315096fa0b729ec201a804ca4c4a4b34d4768e97ff099053f6a628eeeb6f3052efb26a61e45f65ea46b6a08f446f239ece38775eddf57eff5f2cd8ffb9d4fae4348c7a4e94a08ebb9aade57cdcab2d39285cdbcf964e5c5b175ef41b4fda46b63d8a810044d93a04d344e072ff348ef8c58f77dd0b46369904f174b144ffee62ad8b1d44a67025a527a7261b78a831b3f91f399ec3dfd5bb38e599a485e9b63cda14f8ab06c1df236b210bda7382df6b1ad8904ffe44f70b893d990d321246d541b4090debe02f2969e04244144a345e4e89f1ee5a51c6a3d83a8b1866152cba055866eea6417ae60cf72b688c5e7b1a1919cd4813afded685f3c78f8edafe6bd642af232daf2e12a4097008a8e7a1aa7d3d4e5583cc922246a4fd051bda5c1e76b5f89c28abe88d606f86b9c26512a6d5\n\n# tcId = 127\n# long form encoding of length of oid\nmsg = 313233343030\nresult = invalid\nsig = 409bac0f385c5d75fcc9ec8a63cef1b00b2aa0b49583ac56c9ea697d704ef5347236a351007dfd7420134dfb8c860bc47d0bd6e303265cc5db8bf2d462744cae06bfd9b92a082ef0911bc8287dc202b2e4893ac15217acb2c29859cfca05769e90e8bd1010b67da6a2b0bda4c310174a9780492b802927f458da53da9d69efe8ac436c5a0ebe06c4d0c62d4421f018f468759b36ce050c8b242e4070d5ae9534406871aea1a7d65736763a27bd97d90828f0f217a745fcf454640dde39030432e8b3cf92686c367fa6affae3bd5fddc57803898a880ea28978c5e7e76bde18f451ea3b2a89d688cd5dcd5f19d1600ff222875f84100ebe2e97c2d98abdfe9cbbb733a0f257bc187a171326268cfbdef12acaa28125062fdf3e9edd756ad8ed9e695b61cbc9adb94046480693e6acd5b415dca69551dbea6883f8611b994ab57d736557b6c2d7a861393a0c8e9daa4be0fb3ba13201f41a56701f1953c3fcf54e2615a20b15a2fb73622d1f5272a9c1150dc975887f032a0bcf1681041a21c527\n\n# tcId = 128\n# length of oid contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 506d8fa1f4dd3222ef4d1db80d747562ccda3abfc129426610901780241300ad2c52e8cd5ee44b499928d7d42dbd37d0a0ddc0ac2e583a68c763cc3fd8e71cb80288c4a5d0c4fb8ff91abf99cadeba3691982a2f31838096d0d9e1b9e65d8030718aa11924d22f49d6cfc0406ec6af05dbc9ec4d1e8ab13918343f6a973fd23d5ed7bd05603685c5930bdd93c313c290ce678ff25d815c2e469dd6cccf914bcad6e8bd5121baf589dacda9f04a22cbe8b1d041e3c8eb6f902aef22859066ea22feecc33c898a7fc254ca1f84d66cf141d7b1bd1199070749f8f584eb7ec0ab819373a4770916e65acc0be006c301af2c0ca72ccfbf40dae37e316193555bac56fa982c0034a2c7c9785f58cc40945fec7c0ad145c03babc16a9bab02562afa4dfeaeced32cc409d344ec143730c290791fe78a3d6f8ef2fbb163cec5ed548e631f43d3e117258ab8c15f6f62ead7aaf3d590f9fd5c73e947661781fa1f56c3efc9596756c6bdbe4b3e3c8a05bf66220ca234e6043c900e9939d689b7ef4aceff\n\n# tcId = 129\n# wrong length of oid\nmsg = 313233343030\nresult = invalid\nsig = 8812df05afb4bdb86568cfdd2345a77baabfefa7fafd393c79044c3576fa7b4537e834676ea22501604835cc685030fa596bb5d6ec4e8f75d65d0c69949fcf28f1b6711155bcf19512188dfc8afcc3521b7d875cdbbaa7cc4d993c67e3ada4f554f22a4d6c2ac033e7e2eef68cf1ca89a3267b18911e82c0aa72f452bfca7b296173f4e25842624942345416906576587b97f59a11717bac58cce7337812b9f7c224ad04a6b3c2236ef12983975979fc40719cfec7aa3f4a169156b03ce7952e3bf7af7c3cdf9ab5643c2e43aa1501306cdbf20f7f2ca3af47a4be5d9d668c503ce4406d2a95a209a79e081507edd4609aa5673737f48b04342be20aa1b46969986aa66156fda91b00220bab2e4c9585c3a35a1606aae9e577612f34fe18ef0cec1877c49665c34b17c2e6bc2062798c1f1d38602c7420c414ea3deb098eccb858f22ad5877be24c1c44c7025f934f68b5015a3d9ee0d3991a96d4870f0e7b46926248872cc46a74d7c272faed56f90981a30ad55c8996f38429628afdfeb414\n\n# tcId = 130\n# wrong length of oid\nmsg = 313233343030\nresult = invalid\nsig = 7131f9f2ef70ceef69d90adacc74dddf5b82c7f0ba6add6e4d53be487861fd8f5b13fd2d9bb4b862336cefbfd369ffec5b7b37d77f5e6d54d4efdcc55c75cfef5500ac39aae0597bfbf6b2c4523a9cb97e539e4f0383dcb3aea4c705015d1748a4e11dbed9979c05eb5f7579a60b625240ade316cefb9c056647927e174241491c87a0ed01128d089e50d878403a4a2946d315ca034003b0899f4bb95613509832c76cccbed4ce3f794aeba83e8f59244e8230bd9f7c5352d12d9bafbb45b11e6d59398d6849920b1876082ab058e682e7fec79c1e0ec7ba6a95b72b9650516d2a25d28470d31e9232002799353c1cc2c921372cb4e38840466501b58629ceb51b1dbd17643be4acb59fc3cdb44de24caa49faced215faccd8d52f437c8aa5e529436facbe9c1efd85c871b65fff075d6d6faec3a7e7bd25f5eafea62bea007c45cfdbb8bc189835088c0691488f4ca2b0d6a6250b5e1fc76eb40aa415d9eeefcf665a41ee0bb53d421a27c2580aa89c6e25ddbda69e963d92145591bef8b910\n\n# tcId = 131\n# uint32 overflow in length of oid\nmsg = 313233343030\nresult = invalid\nsig = 2c478e7fe2835ce5363122c379ecee4e7cad31173dc248134a942a724c336200d91013935fbf80a8f5a81f40971ccc491ba5650cc3725e2869b76e06a30feca80d09b48c89696954bb91a41744082ab3a69f3a5b8a122a927fd9e7f41e6e53a26582d6625be1e1b8cabf3ffa5af3500cf9d21319ad5fc6edd85ee7935562fa29cfb2cb3fbcac9aaba5f7e5d2e252f6d30efc20d2176236fa670d4b0134efa570a9bf5fae8bb88da4536f4776f5bfb5304830ab8cb9cf8df3f90665b082ee7ecc03e9f36706cad9d7fb293c2e467800442ab39c0150304b668cef6f84b2afde87728f429802858e6988f8b6ced894dbe24353e5e2e53310acbcc291b688e76c0627152ac92d9d5579bcc73b38b275807569e7ff375cb93c977e52b1f21eac9334b9e1a5e68ab5fb1930b810f5636cfb386448413ea80a8174a616b10b9cfa321dbc648f9d1f8b8ac8087cec959d8245f2bd0ec1bbacdb96afe60abb5c7db43d98790cc3c3f196a1bf23aa1616231ada13a55ff6b345b90198588e3d44eb742ece\n\n# tcId = 132\n# uint64 overflow in length of oid\nmsg = 313233343030\nresult = invalid\nsig = 6319debd263a0921f9d935f8b033a65f6e9fd9be", + "bfa7a383e6dc2c0aae9969a2d29b6f8ba9c9d467f311f9de3d0af75230bcd662b7681f4967ab1dd4afcea3abcf12a7c4b89b3e31e22d112aaee76e114b98b81093684e5172b26f18deb45d47772957d4f68cd5f39e0d7015d983edd534b0ba59afa0f1ecc0cfce748ba42ff9c3c6f54fc447a343c24a3b5e244d18d15cd43a37e3ccf4e0a34a0b6361b650f27cd90ce9241f307975ddee05945430262c68f0bf08afe60c87fa6f2aa8cf0b26e67226cd962e1ca0e3affce55182e26dc5f29e0ebc48a1d9ae837041cbba28461accb677ac793b3bdae610c7f5cfd3ad221317c81d6a2b18415d2d00c25d2759b509cbe5e1a99ee9cca1a1d15f8ec1fb642b2a8772e61861bafd8c67c93a835134e9acf03f7630e1e2c99a1fe9ac08bdfcc31a6c88845d9a0e552a3fac84fa1202bea4ad2868fbd8a08b0368b9a1da078d3576625eb72b7f676b9e67bdaf687e867a66d70147f09b009200bebd4a866202b9de7dc97298b916dd8fadf817ce2a\n\n# tcId = 133\n# length of oid = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 17a45efa88058bdfc012587998e163266a1b5e29f474b77fce1d699aeeffed91d2586c0fb65d20572bab41e678500e3e03fd7202f89f8bcc363d4feb40be4877ad51c2b31f23a4c9967e84e0310d35a831f1f4caab9cad13f7df6394a52375bcdda97c4c8df483eed1735ceacc9bb1270acd2f8e2b71dfedbd60b2c20bfa732053473ddf2e397a6a8c1edd01e1d37eec26a6d4eb858071cb95104368b9457096c0b4f1e8c51e7e51a2b9007f9f88b63aa83173ddf62e0c1e41472015220893f7c7947fdbc5759eb1b05f100440ee7ec166834a33388d0ac0d6b32d81c83853f46ef85e8db63b1eb8432f7f1d33d961426eaeba4156977436ae4e3539a687a02c08d6d6201f57244c83d11f5fe0031548e0267c9bec125cbe5ea2eb2da72986b477274698455d94a9a69267851682ece2da32aeec1aeb666cf969caed281dcd1d3cd9729cd5621883975776b5da8bf1a42c634bcf316c5f1466bdb89c78ef6f68336364cb9e2e29dadd72d19c9155039eb4b259914c0d21ce07145f833c638dbf\n\n# tcId = 134\n# length of oid = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3d092c08b138223b594da83fcffe06d090dff3087daa313d9f691ff91572694acd79618016a21128d5ec266ffe6ffd45a55d9e21cc2d32680d12d46b0cfa332d7eb676dabdc9271325ed26d9a9e46dd3d4a2348724661a50c51827ffcd1123e43b09ad646838aad5372ceaf7a5d8e9d0a9daf1c1144c087331c1dffc3a4afb6402285902c0c0a1cddcd39c17d59e26ba87574f9d19e3dea6a907409a8ce60a1a343f99c03fd3c8c2304c4da3f856d2983cea2e212998adefbb4a3c11e11df734b625265b49f580ad733666e420d640fff98967666b9f135d842906e54a20eb922503e0bf0b829237404c376b9fa766ef0a1f9211fd268eeec297833f1a2b6a5f8d058b3b7f4cf06546307dac9a8f8983b423c5e4e35bd6015ddf1a9a118087ca9e836260a449152163438a027c294948b4b72d85e8fd9a8296615d17e370864b8f0fc99c3c177d78889240b47dd6f429fb5517203e45eee832aca712dfbce12ee112dde8613b285ca9cc62aab75eb9ee23a2e9adf7a1cf8d36ef55bca263c18a\n\n# tcId = 135\n# length of oid = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 405cd9478ad54df415faee76b02ce44a8ea555e9feb13657fe0fd0eb7e99a7195ccf80aea8094df48fad59f4fd7e8b383d1ace0956709cd2cc4a6018e5e364dc0867fe81f19b18a770fc82519848cf338139ccdfed78c5b699652ee4aedd5d529d51ca41aaae623469848b033bba3bb898e9e73a4d6b709f9697ce3c889d2bf2b100fc79feee0e5bb4ca9895d67adfd313fce9bf58a3dea9b6139a7ef7133e07f357c1081747e6093fa10f725bffcefb3ea79e80e66c8870e5cc933c479a64e682f9bcc459459581e483eac41a27af198023aca806b7833b1737912796546dd936dfc1e4c7e3e7b5d584c078d75930c26b6d53d5bc086ed1b5916a02409b6254a296bb0fddeda31c3b26b5865f1655c34654b4b46afc61cabfbc439dc5f5a282107dfb73e16c40e96236101dd998ce8311355529c79822ca442eb1bf089b6f32befb4a430cd3b38c015c2b7c5e74b2e6716ea6d893f8830a20092db85510e721eb5810a3bc7a531cb5e263ea4b1c851ec78da530c694226d6c5cd018f1def21e\n\n# tcId = 136\n# length of oid = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 1309305b47cf2c6293581a498ec0d9c0baaf682822c1e93c1738519b3845c535afc95d098cc5130e513aea85889f382eedb92447046b762c2ba76eeb89f4c974cfb8c16b0e258178c8ab06b6aabc37669984c4db5ec2eec7cd7785e0fac258ce4ec0145dc4401ff46a33c8e84dd8347327799281ec475a998cc92ea60bb1430954f174f8628eb84f46383514837a33a4b29e46130ad9d181277c4fd2405c9a41f796cb57b7da262255da243e76b1315234c241363abf5877d1ebbcd453b17a3cd2577579ebc0e2b7457b965e33491afc42083cac8526d6f44446425b13da09217fb2cfb3ab5fb5a2d84b837195eea58d412a83726cb67def7bc5f349c4b25fec9c512bbb3b34ba06d33e6fce13b991b9ea76976b2c641641e9d46a1ed19444deb9f20f98ec1fd1f7cab025e2394c5e659abb9968470804212c2bc526a3ed3ae38c5341bbee3b236441c40566bf980efcd1b3319d536876403a9962f8d84d2bfb65bbcbc7f5e7448f2f81418811eda1b758031951c2c7ce7e0e375d7709446c11\n\n# tcId = 137\n# incorrect length of oid\nmsg = 313233343030\nresult = invalid\nsig = 1d7af7303b7480a2d492f87928ee58e4b30e5a47cde37cc368963d539661b503202a13db3d08ac507d9f98634f869acf6d7824f65fcecf03f7faff5d51732e23f03a20a784808a4f89f1c418a59a7ca7d1a5ddd726bed532bfa498942a6fb4dcb8a331641a261b94f60b43c0a857578fb3122b682d8a3bf9f97c5d98231e091d6a6f35d3b3aa3b2d2397c15138c4c91ce7d8f96b54a0befab5662442b4ff30db1a0d06970e9c1831798c65471e60a5f0e76cc5607fc12db3ec479044fa2ac9b0d36a2794931a644afe754b43716989b4db2a462a8be69b8c7cc2fbd78afb681816b21feb7ba71156eab4ad4dd196ace3908ebcca00d7487327e865769e9b877e4d1c172d4ae77a183bfbeca34e0b27f3d1f50f6739faf982e46340e66c89bced5046764d3dd9b02c6e18db151ceaf9d2789d5a923675e72e89c9e01aa2270f24a31386a7cc64897f4c79d58020634922c2926b72b0d00d1ea28099116465bb5120c64947c9821ba840c0fcb1906dfa88aed9431151f6071fd82e388330009e87\n\n# tcId = 138\n# removing oid\nmsg = 313233343030\nresult = invalid\nsig = 13931038753dc1a3f632966d301340bc8d6e63038ac4e9e5bfd3a899c3faa8bc37009313f116e038e55e82087cf593a978d4f56caeb9f8e686887ae351b8c70c06525e0850ae1534fd96887fab5661bcf9ac8ad51a209832e6076ff8a1514c1d229dd77e1e7b10c44769cd3626126cb6231f4a18d9bcbf20e613ebd2b08a855a88adb61f1fc66a134f5e37fe991a1d794ecce4d745c713ee65c293643f418d35ae2335f76dc2683364674c675d93a6e09eb850a703657c0b30faf2268bec61e8cf1294696da8bdc8a13905169c2dcfbe67e3e88e025cc1096a8d02910dda6074be914a2543506aa61af23cc2ebb36af18e4fd5fb13f891ab12a76f3c274143232a8b9ae989cb06db3678a189488fea9e1f5580d35542108cb127c056e923081867d39f3e00cd17dbe18ebea1f2370e1156880eea6a9d649f06250cf60e72bc05879c61a7953c5881966c01751944716bfdf196332478f883c8c1621f9698c975b6adf3d3642cb2cbfd83ca7c8a5eccd4596e19677f42be162dd19731a1e4d6a3\n\n# tcId = 139\n# lonely oid tag\nmsg = 313233343030\nresult = invalid\nsig = 20089ce845c5a3c8a28e3901c74386f1f73babe62b639b636d6d307729dd5c92d8a73c970a880ad5ea79a4b68d0d8e9f672c5441be95f9db740101f99e5076e7572e248a93504167b0ef7c47a54ca159b13856d6648c049ff2cc132bea493ebbbfde6348706c4c2104a53e8c9098a90d59c97928cf5588c8237222470849dcdeb66ebfa6bee33733e16d50efa8f79ac4c5a6c6d1b9851782f0fe5145ba998edecf378e999e91d8d29007ac4431c62de576b953556f9bedbcc6b415b7b29fadf6524a41a4abcf01bd367793eeb841ba934c571c92c52cf76642f6f1e931a8d076540bed56ece9421dbf5f965a828db11627ec062590869d290c27020d5aaf3d626cab8700f20d672f6ca0941e059739744ed192d4dcf4e835b61c74e4537b3c3a80586c68b47dfea8ee429dc1cd4491659eaf7a87a9fde116dac9eb4254aeb265f4f0ddd33549a63ed9096d81f17792b3e4eea06db19cd87b00947ce2fa1584b89b26cc7eec9bc48b6b77c0e0d306a0bc5ac2f8823c464702d491da90fd48e7c0\n\n# tcId = 140\n# appending 0's to oid\nmsg = 313233343030\nresult = invalid\nsig = 4471378418fe3baf5389f910f1765862b44f4529f7fdeed9ade8f22506152e070f80ec9dc9a55547db688762874fe06be1c1145070b4e91805c23285eb5c1a2e2e0d53a3431516a051d6b880bae3dbcc6adec3934d323910eedcf1ebad0193e75ad17cc6fae778a92e5c6c3460235f1689a9d6af96471b6b4962c10db9a83e72e2614e2cbbd788735a9ed5955c5a0a8a609b5b0adc7d01e49f97bbc33a33c1a47d0fd522e1af333c7a79e4d3cb68a356afb812d44d4bd575791960e375a0ea44e65d0f5b207ecce201c6484ff06c2292bedab8d05e81fdfb14679e80ce22173e21f48aa626b7eb2b92b37df875a1431ce3b09ff97d6cdcf7558c5e745c2453dcd02b3cbdb78e8f4fd804dbdfd9cc9c24ef9334df3f965ba999e556745f717a325346f7a53e3a257972069da572d40b07528ecfb01271fa04d7ac1490ca4c6f2d4c70de47866d8d39e698fb90fab53c072928415a784f5efd2d9222494f089607dd1b61ca6edc86ad3c26b1cd831ebf0bf0c25d85d1f54ae0cff0aef177bebfe5\n\n# tcId = 141\n# prepending 0's to oid\nmsg = 313233343030\nresult = invalid\nsig = 24619e4465d1f0ef48a66a18a6c76a11fc9383be6cb9d19ec4fc0928959c6d96f9e45665949a0bdcc9a2609329185851b3a35377b84831f7b4f8f6168d77d25169ffd1f747303c93de0d939c912efc5a16439d1512def8213694c79efe59d85351e466ca148b1ce43b74692f1661e95373bb5077c6591bd0a867d317ffd5b98f2283503e4ee9ce57913adb02def14f0302389317f163301a3f1bb177bc1e91bb5d88a7d2306f54362a1a5138a9bc1653da0bb0a9c0f13c1f3affce6bb0a28e0b4287f5cff033d8055a915e39ad29cdf9d08973d81df34d5a032e53466804859176eec8a52f12134c887282955566cf590385f22d4b9178c1fd11120e8800f19c10e5b3dd432da78b317d54305f76579fd38753961fb66c61f7e81d8a369da1b1ede47bc0ddee63", + "505c53570b2c79516319f2afa05467cc3a3939c9ed5e0ddc8290ca76be90d557553fb146d419e751a4c9631db00491bbcabedfca3605d569647f5543cb196687360927417387bc27b774b1486c7f7668c1665e76d1dbb03b19\n\n# tcId = 142\n# appending unused 0's to oid\nmsg = 313233343030\nresult = invalid\nsig = 0796e1ac938aa24c995a03fb2c35a39a5206140c7c2919978f7a84a1e2b5ec93efe70045e213912b6e1e77e65a62df6032925cfcf2f5cade306f4debad6c2e1c6a84a221acb86f8d10769f66cc3e1ad66bb52e9611c3d8eb50de8e21a850d394e2ec690494264269c75c65217e2df1fd4b88e13eb4747a04437434a536b96bd2dd251c49123e1341b7c7ebdf0ba3c7307270be47b0b10d6a52a834a7404ae7725cc0c7e0f7c8c10d525c642965df7b821fdc5d0f7945d94bbb2f8d4cf14f91eda9720b8f345d35a326866ea7040cc3dec32aea044646e9b52c36b8a30218d1c2f1b64ca9dd16d588b6f4a22634c551c22fde9e6c8c0e42e0a29640dd2bb85e734541a974c6f89b44b615e39741899ef9f1e4f3771830aea67de978f9386eea5520aea35dd3820bef1fc90a955edd30c8a299941c623158fed97f08f51d5354c512686778f7ccdfdc396f9de48aaf9ac894e65424e2e31ace4c5c1db28ac809ce6a3f7fff4ae55bf1b96dbc4b5da5beed795281bbd6a0ab75f6660deee3081e36\n\n# tcId = 143\n# appending null value to oid\nmsg = 313233343030\nresult = invalid\nsig = 12dac1bca4777d2cb7e7f072e61e87f1a526afb4278d10f498f5a936e4386073b8e262442895c553c4453ccefda23a24a18601f765a3d7a39c5bfadadb80b631a708ba4571d19013be451832ca64952e9cd985059d55d37eab94e3c8fb1cf7565cc1be2ff6b45a7f1b1785d8a0775442b1b96ead3707f9bd712f75c8470f985773ada0433e720af3b8b7389919505fc626733fc90bdb1064cf6cc9ef41c2752c6fb6fbb44043dfc97bb3d31463ac0d8bae9e19658b723d9c74371da9dfd74cbbd7cc8041e2437aa6249651805f8cdf2af2b256142c53073e3c9ac6059b65a8ed25f00d9e31561af1bbf9d27023693803fda4f511af523416337b208430815f09b3aa78c35be8ee439343bc79186702351c9182ad1f5ecf4260e9929d0acfe883a6052397de9e49b51ba7044c751aa6e4eba622e1d9f7db431f3b7048137e17c5d6d28cf31a7995b46cdc5b454eb3593e622a54a96f2b10193ce41608dbaa7a16b7f1e96f627b0b1a2ed2f0714687214372127265d091834b55247e951ed83869\n\n# tcId = 144\n# truncated length of oid\nmsg = 313233343030\nresult = invalid\nsig = 890d8b035cf1d2938593150aa00c3f4242098c6250aff9c3c33044e1b9247c81049be88addb57cc68a2cb98b30919c25bbe4931423771e5ae6fa9b15275d058fe931985d896ccb26dc495ca9003fce602d63161c4f00399d7aa46e6616181a06a0cc78906afbd80e65fd0165c7303551b9d0b1d4cb3efdbfc3138da4d1a6cccc43f8cd8613932d9d092cd2936f95b1775ca485f4c2e9a7c0d559a0112a60ed2f1fbaf49e3b514c598de80e0ddc072dc84ae8fdb565ea91c655e5c989d5b0a7bcb241fabf0705c6fcafbfe27abcafb25b26165c2822f9c2b681a86b97cfbce75150fc58a3f9ad92ce9a14c29bf087c2d9813c0e5fa59066dd260ba6e06668b0d305a8612d6d0224b7418c6308b8140f7735bdfde3f0f645eaf20bc0c5e6a4c8e6402e6d1c8016a0cb276e2001b63d2b7de52bed4e0f99b511f060773e5d2d67446e15a9ebf5ba4cdd995891301f08b2892e275a47a5a566d405507f6ec51225a02f8416758c4b35586863cdfc8fe57424b8e35fdc558fa5b3ad84743c5869e405\n\n# tcId = 145\n# Replacing oid with NULL\nmsg = 313233343030\nresult = invalid\nsig = 99bb35ff27e19ea04dd2ec367ac90d6043e8c205b50af1061f9ad89013aef6257edef5c865d04cf7a17406b910d3c493fd0cca41edf36ef2f7fc3eb1d4ea842ec044ee89f6d192c69564b2377952b450627af4066c5ff2ee53981797493150094362cabd68f8b52763086654606019c7c293d752ec65dc3d76dbfba6a3675e02041aeb86758d4a53e4d5c938219c101cbba5b5a61890c2ec16e569d8d11a2fe0a838aa0beb5a555145f23411c209124449dd9d19636403018b8e382d5956bcc81f47c5c29348730809b3f3eba2934a39bc954c7787c5a86e5cca144fa93abe1d8a34e65de29151e08f70951acd62b96cb1a8bd9566ea136ce75b83214f8132d5af2cbcf4d159065d22588b3a78d4eb9d86eaab23a35b451719f6ad16635b35bc01705f03a5d8ee71080e69e2a1de5ba2687f458f30b8a5af7596fe65f964645d871d4d7855a372e9c9d4ba6571516d8dde5d9b5c5704c4cc727f9022e2a4ffec77cc8668f320db0aa4211862da93a03e5348f1090e54df3ec9de50c093a79cf3\n\n# tcId = 146\n# changing tag value of oid\nmsg = 313233343030\nresult = invalid\nsig = 731e25011da87b990f38e7fcf08faae045402472756be9874d764933f7f1ef54edbb79e2b9660f40d7c9e05f34253fd3a7b8a12edbf9ae5218a203ba82bff1cbb5fa691020615ee59bf69deb02338f0ba879a7b5c6601798a3ae30352404ccd7f84e1c12d021e32871105e8ac34c2c1ec7fde8248e4913e07ce69b5ee9984f0a4e20c2f434dbc9b6fc466e49fbd1d13b7f15922184edc6a985c64b76675d46485263da1251b4ab0030df8cf0ae3a8c92c19ee9ebaf1e803288e209268b13e83127cc3a424fdece29afc03e2990026d710940018e61a2ad90ecc1f25f3e21f174697ad2bf3294888fe3902d240ab35f4dc68ce04401cac82b27ffecece9894c6e83cbb5f42bae62d5a62300afe225d68f54d2b57f70683b6ada55e70cc9802401c761832ab09b40af2a939564dc4ff7265ddac1feb099d22bd7fa4d2b776914be0305e1080f1b1c524b83c13b945f499c2ac043f4832371168853ebb17569eb6d53423447a2044471c36168f78b4145160a8842d4d5b9ce8868da533f6760db2a\n\n# tcId = 147\n# changing tag value of oid\nmsg = 313233343030\nresult = invalid\nsig = 07df55e096e6d4fcab3214546aec5cbb90fa6ec621ddbb3256692f8ee683e3e828aea4299c720bc4d2b8b63ea25d53afd91573a2ff9b88ce09176f7b8a73bb8b95cd35fadb4f68d916ab7448cd845b5f1af10809b9e7f359511afef75147b5f5681b346313846461b9133662ab0ec38175e1a9c767659d0dfd9c298d229550403991f74cff05cddb723e5c7edbe9d69bcc6053c1c15592a6be6297dcffac0b4d9d3a49e74a2042480ae831f4c62986635462b39e244a3758cd22dde75b023daa5856e0867892d57d8fd805cebd21fe0862278a63ff39a11e0450999d9d0b01c8f1a045c3474a059617ea21eefb46947a44625e4f017af73d20faa4bf0210c9663c18b203b02a2f0399552c31531cae621bb7717b5550a12fbb896f4c0e30e5fdf9c8e9a6763eb815bfaad226ca947f1da6ba84455986c33aae2ff741905bf1910eec450bb746cfda374cefd6489fa0854d4e4411f439f31ffd7cc0351af22eb0b3ad044636c241e3101265cd7b285d7b6faed192c8015d8a6090b175f1092797\n\n# tcId = 148\n# changing tag value of oid\nmsg = 313233343030\nresult = invalid\nsig = 353b37a0e4860de2b2142667988cb7dc30e29d86da33b4b27984aef1803db66edfe116f0ed7d13b98ca30f7e6cd0fb98b02bd86dcbd7988d2db68c611ffe67a11531d83c8216133aaf53f601631fe2f3c900788b568c9d4f6a72ea87ae99af32228638154319c5974ee1e804954dd1aea7a0d4cefbf4442bf69bc67ef002761ce7a5c67a3316f71b2317236866ec3c3e4ed0e902fc2153278cbdc0d2ad2c36a4ba2562f098e71f7fb6b06208bb64031bbe5f95c824c8da862324aec7fd436065986fb704ea44f4d543cc578da5f44ea0f3adcbafb28ea189ca16adfde1dc0f852954cd492289959707afa1423e3ceaf064f3dc3075ea81a51f85717fa7e8b38cf989a47c77a3b9649caaab04a2384befa92e4fd4d2de8b00699d6ffd87c6507cd3b9a81f162b94e60c30fc4a9e70d52406b4d75400457e4c9c8ad900e8fee456de975ff075c08ef378bdcba69e7b1719f5ad6d91434c74b1ee577f016da9229769ec9a3d3e91e7466663212b7bb51182fc245e914446c31810e444923196b972\n\n# tcId = 149\n# changing tag value of oid\nmsg = 313233343030\nresult = invalid\nsig = 98ff7ebb8489bcc3c8eafdd75225b744da3ac4bba8ccc6c0157e07294dd2687b50c9e24b206b4e1ba2f9326b8e30ac6561ad0a9642508b0b865dbd89d61930257ec26ffb7bb32ee6754edd09e610ce47a47db0ab0428c4c503daad78201a2006632a06e690d001f345dd4e9534bb64171c49fa2ea250f435475111b4a12460b40e74b14283af18fb4ba2af0c64a76455b2dc31c423817dcd50c0df0e55651bbfee48536f04f3d413ff1be6392dc9f3f3027ef20c58db18ef86bb4834705c1ca368afbf174575f480ec79b0df0efcf24a1651c1c9e260980dc5f6b0ab9bd98a248d9f8a6d2adf44fc501fdafb565ac47c227cd19f4a45618fad2686c765254f6f1fc92162460f7a9d32a91ce21257357988d86a25d6395be70c73c027b53edcb32e5ed58c36b9273495f027b7872c5a24ed39f5e6f07b1d0e21ec97ac3b17cafc4954c0184b01fd44c49fe3fa97698828df8b6f1e4ea27f3225b23263f1e72efaf9a6322e66826fe5b5d087119a5bfbda327cc7a610835230806c9233cbc966bb\n\n# tcId = 150\n# changing tag value of oid\nmsg = 313233343030\nresult = invalid\nsig = 103c3122f6ec082438b704ece029f2426e2667411cac998014bd2d8d1fee917ba75753b9907ff4fbc65bef274aa4f863834a0ce45f97458f77862c426ad786a418d8fa3358145bc46cb6cc4ae3de6879127efe9c6fb135edba0bf96f7f2c7cbf3cf8a23799fdfb22d46d18842d3e5eb9f17423a4edd39432323625ce5559a50a602cb80431abc162ad80a4e7323d59467a3b6c2dacf386c38cd82c22658c4f954f2bb5fb8d8c4fb5d3523639b7872ec4b2e431778b41ddc20fea06869f661e6aa2c1092af421f38f52555244e5585b42723179b85c222af2ccb35deb93e5a1fe065b862c857ca096dec9009a17608e421202c227fad739764b064583db1c71af9a018800ceaee556c9f7deff6522d14a4881430fa10273e43fdeb992adc825c1b4472e1f7c298f11dd9ad2c6ce4103509b6c7f591c10cddf306b36bfc63140fd65223cdfbb06af12577353467b6774be789b7c5dd59db10f38451e0582c159246ed9eb2d05285ef3db4980199f52a7893b40ded3e65275617037cf04d054c4bc\n\n# tcId = 151\n# dropping value of oid\nmsg = 313233343030\nresult = invalid\nsig = 0f626f9cc1d12cd197864bdbe12c188613385960d9ff9aad3c5b8d835e4a3eab6087bae290883b45796f436755583f017b2d1293fde26e9493b484cc6634a928d2630b0d76f3b2d26d9d81e9039fd187a1f94963d871280e451938c7223e83f34784e4fa1ef83b20b41975ff514e7624ba82da566b9fa30ddb6ebfca7130b705", + "54720b120d094c731636fc5d938b8adde4c7a49e822d633313fffbdd4ea7d4797713896ea2c213f99399ce8c76e916361f883e1b76760a45de8a08971a2d3741e57079df4c93dc2801077f44395b59a816e55b5c5438b0372d7ccde0623f424442befd7b8db2c05bda177a5e6b6544762a5591989fd2dc3670e0174e12dca4c83f2b5c327b5f3db53897895594980ad4a99a4d3a41e586b27f2c44f30ced8d1779fbefd86e965e7642d4d74efb94b3751cd658ba80f3a6cf90d014582b51f39f41be6c53b5475a0bc1340f583f9491b8c91c9d673ca326af5cf66943a88aa04c04750a83fe8f429ee45c355d9bed7bdcdf886b5b9a8dcd57a99728f005bf7ac5\n\n# tcId = 152\n# using composition for oid\nmsg = 313233343030\nresult = invalid\nsig = 568437f4510335fb3cc818d177747da061ae597dcf21e84216f3223c28438d1157df0db8ed06d429c73366a76beddf207dc03b5f6fb3a911a042280e1943319a1cf8c0041611d1633f3e4c53387baa750d94a0c1ddac1e416590ac57a037d40076e276891e70508a1ee7886fbb5c838e34b620e288093b9bafbcd2bbacd4ad365cbe57f3487467de7804239dbfb837d65defa8ab1023b79492c4301419eff396e561224abce40a58d0025d7aec67c941c788b585d7f47913d8bfa8449a4854af5a3806bd3ccf6c2336993500297491304685277822e66e2e56f624c8ebe6a5a675123f488540ffb1c81771a222c3dcdebbebfe180259de8045ae2ef2b44a3e17e27e2a58590dc709b3990c1a1607514693c95f97dee5d1cb527c28e708560eec57b07a6718b2b2ee782ed7490172d08ab71c043434b302ebf297766e8213d8efa959b05cce5e29b85267c3ff8f1850b107b7358e5d1ceb51edc2906c26911bc2fcb3004ddf68ed35cbb5505c4f6ba8ef36cfe7a37e53781e29b57073cd01602f\n\n# tcId = 153\n# modify first byte of oid\nmsg = 313233343030\nresult = invalid\nsig = 0a4d3aa01f80aff978c8dd9fb0e0a8605c8882a5e9936371ff9906f7feceb4ce5c981f41834c9ef6ae34afe6567bd1ccd499135a844e6dc1695b6a1fa7ac58f4ba73714fd3d4681b10e86302d271e44eb685146202daad33d0e3a7b25902a915fcd5c10e45677672581a7e12d7f51a4cbf6197ad013fa83d2b473238963e727af3cb1fe2054d85813a70c8139b795db3e514c9051671f993c9e5096a235665df2a7c0c435171c5012413ef95b2384cf910730ab52a5029b7f328d74f24bd33d41f431dccdc775717cd28ce611af50564da46a17ab2c0e64f5259e67b895631879a831bbdd02f97fdbafa37f92633b9a5925b2930e4060192e2e74832e1ecb280ed8e0aa0d85a025f32a38f9f43ac7fd2203db7424d14263576fe4cd4246949f4b225a42b1a282ce364d0dbc9b0a1119baa2d310a17de8b8e969a93e8a08c1f8a0f6c5baaa50ab9b0368dd9350561e492cec6188f56b0f53795d5303bb0eb6cbee53b09eeb63591314e52f62ed135c772219a9303abaec273bd62b1383471b128\n\n# tcId = 154\n# modify last byte of oid\nmsg = 313233343030\nresult = invalid\nsig = 0da333e509d78d8eccbedd7f9c40eda31131033bf765e895666b71f7efe54177117f10397ae3173e486dc475b9a894301d2670612824575fad6220d55b391b25af6d8779367f85d4302d56669251a08cf0b1a34b3ca7ae7f4740b63156042c040a5e0762df8677007ed3019cb2871064f884ba00b7f20b7aaf2fccd38e8d8c47555c9164a32bbb40458902fd8e086037190e25d57f810ae4ebcc42de13664f4f5c27c7068657f637256faf28f664dde1588f3a649f7bd5b60b9dfaceb29d6dac857fcb3b4bcf2b2c6d448c0fc1c710986825e3550a98312bf3d571ea2cb68e082cb0732d75a665128e56b6b0beaccd476030679cef73b3d07eb56774be3001c5ad89fc77f82743696f0505a6ae454199941d56f6002054ef651e6fade757531afc2bcab05397db8f322dd09d90d4a9a058bee0a16f73b1da816f86864259bea012e58ea7dbe6ffe5ef1c82fcfb97eea91adff47a0c755eae9f25fd5fd732e5bddda3519a6933ed696f81391350b9f3022c549cb6986ea16ee87175d0ba422bd6\n\n# tcId = 155\n# truncated oid\nmsg = 313233343030\nresult = invalid\nsig = 8ed8750078ff5a635d6ddf42dac288d6d0268d080ab53d2eb859b8f11352a3a148eec6c6bf888cda29bd80e2708cb5ebded4041f8b01b63cdad1d4342a6cc1bffdf81a3bfc2ec3d123f7d7ce5d6d8d455b1f823bee0c0acf6a9da03d053a0ba314b2dea1d4ae4dad8eb73a4d493d2ce9ed23c3b2678cf764b9b500838b9eea9b551600afbb3cc03b348b4ebba2f6a41ee3e5db39ef2a652994bb0534c8efe2962027609ef4a56203ade8bccb50c7554a22ecda3b80d02653f4e9d0398ca300e9f4d92ec3ba4a1b15565af56cb357f7373331ee795a19d2eef0060eeeae2dbeaea9e283245236b939bf4626581672ec7d0630068250072e86ec9ad1b51f264384a543a52f2ce42471a1505169ba30b608bdab23b9ccaa710bdc3cfcd47864710651873f2411ae7c1abf65d36ef2a2401b8d974d60ba951a023beb7689c099b0816b831a6f2a5364a92331d3fd0dc416d734e0581347108a4ebcfdc9dae2ed7a8b0cd93d2cf5605a9259bed2219478dec3bd38767fd5aa88643f61cbbb69a234b0\n\n# tcId = 156\n# truncated oid\nmsg = 313233343030\nresult = invalid\nsig = 4723279e6ffac2a5184ff10943720498c2352ea2e155fc802263e10b17801a030622f5f684adaea8eafc5087e971efda34a69420ceb4fcf3d6aa0c1d8ab3e9f009b9085518921cb684deb50517b57356caa3915d3d12348152b40a8a8693213d9a19c4499cfd42d09d4accd879f1bc2987cfad5278505f90cbd6b981500dadfda23582d2dc159bb9899ef0aa9f1154a4606a95be18a347aa1a77716fec9f84fcdd1b23a8b1d832de858d2f5ae88a5c32cda762d9619796f52a9959aaa86fe527d04e4bf7b19b184657450ca611c24b0c55577ca32b1dc6f6863e2ca5c27058d6803c3b13564dd416d1e9e6f695b4c51e74f2dc280ae3eb89bfbc8cf92d608bf3b2220b26fb60ed78c2d579255820e23eb15c3b3149d76f0ecccdb2dc7f0bea9a346fcaed75f6078bb9d7bcf9e677a15ba92ede667d60c3ad0e5d9097d4423bef4929a79d8bb953ca4dcd85fa1f6a65b578d31d3787402cf7b1d515cfab71fbc489b1f121643a9c048ca55364ce1e770c839311e9c3b8892612c829513d4167ae\n\n# tcId = 157\n# wrong oid\nmsg = 313233343030\nresult = invalid\nsig = 3b40bd88f99c9e37b01472b6efc413c20eb223ec850fe20ef5e9d3d81f266b11225eaf207f3b712d792ee681b1d9d8657af67c995559c602b8f772da2794daccc93f9d7aa8cc50060928b078a1d934dd32f10d62aa492fc2a909ea6ad3dc10593fcbe42009e67dc7c83d7b42c2ed085c5a0b622bd1eaaba07065d8753ee99e323a18e4c31aac3a559268d2dc5ed7460c50accc9a70be784aed2bd4794d18a9a6fece6fa252bd0b5f6e285fc9c9f9f0190b8492f2209077f7215d26c31ebcdfdedffb4bdd1e407d7d2713d6439214d3077549ea5aee7f69ef52f26381bd822294ea22189a87a0aeea85e9b9a85f102c37d81074784ffca6ace2e44f8432bc7e2ce1babec1ab0bb8a17339d2017d254a39a0719957bb2c73f4ea67aadf8fbfac3958e845996caa02934b7064b4646c6368733b73289d5c1bef743893b3a5f570fa900b3328e076a4222e5fd56a9032c305231204a83cd021366b7bf2f1b1c55eb1cce8c11d5bf0804e8f6a29f601a89c3e92849c45fb013296c6658a9e09e6b8e3\n\n# tcId = 158\n# wrong oid\nmsg = 313233343030\nresult = invalid\nsig = 113568a33ad2fb84007606720847b90f48f852950d4b6b39eade1c7304bf701e37eb0944f767a67bdbdfacd9af781727de044509ad7d094fde06fea6d0c6990a834eddbb47c1bdcc8fe39545f0f660dbd50c7aa3ecfe72909fc32dc183309365bbe478175f1be144b1012ea3d849baaf4e6172dc747d220eea7a5ee63120ba8764ce75c8fc1104ed54813b945668da1e73a8c3a802be6ee7d91c3536a49e7c8a39c563bbe3753086a261d19ebe1d5124e815f0624aa16129776750e521928c6578d8ad24bb14f24fc3d94e335b9293b01a6a02d1b75b80d357bc93c1e69d6f8aa51aa781ebc0eef18b7437f7926af3cd86957050e9b759b681462fd2e49daae518a5fdb2c7ce38a6399593b44f4ef32f7bde907ecd7bdc68b761365856603ae781fc0000dfbac9ff956a71c94c32f902d470572feb513b8cce6afa1bcaef04ed4995fec70395976f33feb4a878d27996b422118681d8b51948ee497d8c3bf6ed53500913f985e2f3589fccccaadd81c6fc08423c5643f6ba3ec4bab2b51b82f6\n\n# tcId = 159\n# longer oid\nmsg = 313233343030\nresult = invalid\nsig = 6e94314f6bf2c893d1e8a847452457fbf88992840d7fdfb560d9867c1dc6cc49697681cf5f992d4f480105a0fe988b4ae3c2054321589efec66c2b00db7abe242c9864a8ab81d12bea0a72c8551055c354a2cc6613b40a223bf6c6130f705c2546856060cb7aaf893a155e1adc3a6031b11460865c682160d407d60af73f24b9173049a6cba4a00873e4d01b438426f05668b660cc2e7c5bda3029bfecf1c08b5f4142dc4bdb82eb3ba0dd87cd6f22812f60b81c7858420df8e8be6930d34df3543752a20e5b1327c5b31ade28e22f36e7dcdf353d343be41bd1a822af8db3346ea0994e7661f1df427a36984aa6194fb6cd2e0cfaf2b48d5f1f38c3d4caa191ea0147c84ed83e90c61659445873e3e8724827fc644f84a6d0b7aa8c3c8ccacb9536bd0763f8f13a25452c4499edcf1c1d83920ea7c537134847feefdfed0a035a712620b17d822a732dcbc307bc288f81a80b2563d5a64aecad38cc96c4fbf894aa5f8c186edba2844baac59362cba9e8a6a47b5b982f07afd4120cfee5423f\n\n# tcId = 160\n# oid with modified node\nmsg = 313233343030\nresult = invalid\nsig = 8235fd61e07cafed235d6bb2cf32a61c46cc64214c3713513156a143725c56389bbc055efce63391b9de9cf068ce8552aff3b10133df8b96a699e1c5f55532cbd8fd0b537f1701a5ca3cb8805b8b0fb4321645f9263eefc7f2e0f624adb5851b26d443fd9ea63a9777ead460d541794a3ed501785b7004617afc8f4a2fa25ef031c58accf42007d69f11d1ea5bc60a0ad7601ddfbd3886855965203d923f9fe55ba4659f619e93698d95ce6ba2381fb00b65b27afd9d78f7d2345e3de0288eda47426b3fb53274961431da5f276ef0b7b1e89bb892f608c1d868c9fff005349e1707d9a0b3db43c7cd6c58fe6010dbd2740e19bb516aaf6a7439552e76c9a4f47f70473c2ec46cb6984298f79732f1269886dc35aa9fdc24c53dfb85d86bd2f8d4014e08dbe20ed386251f1483c9731246572a5d7812d3187f3f9b035b9d435eaef7bc04b640f7de3bee24c0eaec19c83b62e77f27e07d747dd9d12b2c6c981d7c782fb946b4dc670c58aba775e691fc5c87029740d533ec8ef655f9dc07e062\n\n# tcId = 161\n# oid with modified node\nmsg = 313233343030\nresult = invalid\nsig ", + "= 327ba5921f996b8a88b73aaab9e1c84a0277f7ff6b321a1146b074f9b90bb4728e652dd676fcc11ccf7c1ef1eceba019f60bc18b2ed1a6a5baeebe9c570bcc9875692e9c72fcdaf4cc60e095cd09e2070fbe074d74ec30cfc9d07876994478583f8f4066e05bd6c022f5328315b114ffe50809b0add2169d12e97dd426be82f258f39b348aae9eb1dbc978ab192a0b66f6844249a1025d87872bdf0ce704f585ba31e129c405e12de222696b48848e08cbedbff7cb6b5f206b26c9d0222edfce7bf4d8feb90ae7e88c65f95fed9d21f4820bbffc2b7e872b65658a2698480741aa4cfe9d99f40d6c956cb8d8c984071d2acb5116e23f7e89c2b2a770262aef9c2b5d606729baaf9ea42175907f34e7017fa587c8bc86e0383eda2bf3029914f54f70b8464562a446d845bcdfbb027a08265ab9d2db601f4b8dce68379de6c9af6a795a4dc53306e51ceab07bf26f3955513a6211bb86dac338b17f40bfbcf5eae1530b856c729bb930bac2d669d59b23320f5d8a39f116aef427ed6c67d3f087\n\n# tcId = 162\n# large integer in oid\nmsg = 313233343030\nresult = invalid\nsig = 4a0c5ee82e9057632d20711f56fca5b845f70fa0b167fe7bcd5aa374d5ccca74a40d92c525f7abef1aa29e7c3bef696a2481c8aac22f46a9b733a85fcfb38c765fb56e8b45224ed3ca6ddd0e8d8c35281fbe42c9fc635eb6534d5d42ddbb2556628ee942bea2c0d0fce65c2f4d3a51b8c0e0e972c9f2dd84796616b1ef48f4c32177a0fdbfb9bb2b1a7c80d4d3a75052b767f794c4251a40fbaa14ef8a700fa0b0d3d974e80ddb31d03daef42cf3ba1329211f60f84025f87db6eb67f794d3a31a6cfc3ff7a5edad3ebb20fd13891d0446a44c60b6bb2aae96eb8c85c7406113ed7c13ec6dae94266d1581f8af06c511f0c0d27d174c0dadb7784cc290102106182ab28c041a47204aedcc15419ec9189126f4c27bf700a0e7827a1ebc13a379d5a31366f72379f544513b846fa7d6597e48a325a1b5cf853483ab51288735eb55e7ede668fde6a73ce3f47a6eb17de256a77f0f62ec3f5f339b0e3ac1e9000de07d92ca5e119987198c7a8b450bb0afcbd4ca3a711f2507d989abfd08dd18fe\n\n# tcId = 163\n# oid with invalid node\nmsg = 313233343030\nresult = invalid\nsig = 7319ccf9d0cd1548f31726f12c5f42f5c934d4ca8f87073c05f0cd028f5c7683b2f36d446261858dea9bb137ab65f9b29ef29a9c161ad244b67fe481810cb59999513dd9e8199eb3e5d17a5c431e8f4a3b8dc45bc13c7afe5108e8cdeb4608ad14767b1a6c3c9b2e53c229d0f6adfe28b249c196ec8906c1b326b05524c18405d8c1e26d035631bf22630e242ebb6c19a979552f6a7ad6dce9836306a7439d8d5deb8c5abf3238bdddf4cca7b3710e7fabc23abb6eb39c6476798efc2d95a8720dc034390831c87a19daf8c3c7df0bc0b07e931226502699d109f4bc8d2e3b880a9849c730f30522e818fbd71d3f438becf1aa055eed37ec3bc102be32eff7ec2af6b60404ad3cea825a4c2a46fe94193009eb940984d830008c92587e8d36733e5aece691d4a003a15b0fdb9026e3cc3f4b69d071789fa7392d0bf640c10b68facffc8656c4662fcd894b22da6c4e685c01130539018ee19b72c7964a200a06a7714baab1068ae55fa310b77c3b7890bb828831da3dc93ac7753e0bea12c5f0\n\n# tcId = 164\n# oid with invalid node\nmsg = 313233343030\nresult = invalid\nsig = 1ba3c4136fc31f48fea41a53aa08809c560738e63fe4c80a30b2976f4626d37e488048bc696276e8656ca071f7bd3aae45ce8911e3e49056d3ea54575aa93c58eeaf489039d7596f9e632a586aec5993de8939ed26b6363d5e888dd70c392b96d933b158570fd0917b76b46442964cd4e2692eb2d69b19e4c1c6e6b208a9a5ccfefada5e1ff54fe3fca74211ef01a6097dbae787a65062b00971eea93b8b3eed2a558ac75cfbde9698cca5d1484a2436fb7f54040ec0adf34299e66e3c5062179745618c2868092593dbc1e59236f7d55dd2ea1f5607cca607c00328d63d8e049beb97ee0f92a05927ed2639f68ec742774d6f69afc81e1d288c887f6c4eefb41529f846b49e0ac3c48871bfea4cc84cef08e08f2eb647146286bdca275621bffa048dc11012ed50ad9defc8107bf5344109548a02de126df0d694fb7be6a4db0f8444684e68eacad2af46658084fe9c4546b0df6917771bbfb05125ca4de8585c03584c916b458ad243692f7870b70e93c0cd031700451215df39cbbdf61aaa\n\n# tcId = 165\n# long form encoding of length of null\nmsg = 313233343030\nresult = invalid\nsig = 91f445878bb1b9ff36555ea7342648119f303694c7ecac4e9aba585dc16b36fe7b3dbff9706e1e2c30e1daa8ffdf57214b05c795163d43f6368757ea73a30637a7a7e892499fe8e9510be9e6bcd790ba887e66c6e1132ec553d306d6aa2c4b5a743a1535bbaab8f3e6eff467ae7f403c566d99a598d877860b66f5afb5d468cb94b8ee89a0d67a1e163d2debf7d381c571d8c5c334ee34583856e0ab56dfde8682508eed44afcbeadd60022db7c1446adbcaf6d7fde9b31f028ddf4cf0455849d9d219bc04629989918577b7f460ca46464494479cb4b6bccfd9e1d1a2ee53f16210f5dcc7390cede73b04354bd5bdf6c2e7cd4d4c056c013c0383ca053b15d2412271c7a384901e791e3d5702a9929a540cfc11b80dcd980fa64916dad7aaa9d73048cbb864641398f33775fe50ca590ea490abc0419c78fe0309fc0334312835a0076f1cf34a47623d10704f22e3ef86f1a0989565da39d0d3a0859488e48f057230159787c9443ccc7e8ab93a53bae722613e6c55c1371403b9ca48761e90\n\n# tcId = 166\n# length of null contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 804c6e1a8afee9f6201560676b65502a9fd4e17d390821a79c18dd7036f4d7a6f4efdc8a20b9c573b4f1bda1c3c281634bc1c1583ffea03e5dd84a5d3a0728935970c37380b97f81c89a3a2316a909da68946a35f77427e70767d6ccdfcd3ada7e503336b4d9dd1d269c7530994663a4d93f9e5e3d3208dd8f4f2622a2d3bfdc2bc79badb2541e6c04b40f98b5d3a7caca89fb793ef78b5aa0d71c1cff54a6a7548cecb7ae6ebff52aa3f79eccc0fa60dceda2fea8598ef135bd3b1703e072e6b07b9495ee8a48af86d7ee9d6f00fc11fd0cd5af343cfd69eff9c08299baa364de7b999714ab9b31b40efb7980563a6873480d1512dadc7495c105915f18eda472cf4a524a3bc3f7a163c11aec456226615221b321b7dffbf23d4e1e281aaa51203c966d440d4edf3d0c26eb03c0f36486f252680d2b48df239b5cdb7d4c77331fe8d771b999be67bf00a50a0fb806bf9bdcb91d74b6ac9e124f73d696ccd9766df1a8f2911dd27608c50b2a4a0706071a81d26d7e9fc6fbca395fb7f190330b\n\n# tcId = 167\n# wrong length of null\nmsg = 313233343030\nresult = invalid\nsig = 4544c2ea627bface1242eb30cd981b03220a44587112127ec34b3cec6625f785b89d5466154db2dd8ae2cfcd529508652d4b8d4c3738270411c3fec03dcaac18c363d8ac77778925bfdde9b079b53c1cfa5a952c95895843668fe8a9f34c60f62b1cca341b2cc2ecd7b1b74fa1b8165963cf94c3080f920ac969ff945236eb47062c1f616f1a70ed08439a0ce48f65b7238afce44f51ff22bd2f4954e6c9ca56406d8cbf3a463c41399d958633dd93ce4604d3cf99d7c46cb0b70a5c3abcc7fad329c6ede9a2e2f38accbd55bbbf0562a2539a6258e16a583961564229e21a1b125389b058778ba2ec5e2571c0bdc6ec2740ca4e2c961bac55963b3884132b9dad7c0b172ef8c5abf07ca6f4ee8101d49f9ff9b7c634a713c4f58e8c543e26134564ee6ca5f89e690a92b9c4c195182ebde4898e62ba3ed1471ea6497777658e0cf6e1c079e021695960bd946d04c5fdfba915b2798e79809459b6544f828ff3f7b841581082b8820832f15b39045611059e408424878ec882941195e1e05fc2\n\n# tcId = 168\n# uint32 overflow in length of null\nmsg = 313233343030\nresult = invalid\nsig = 6fa51fe3afa18272aa61fc9eb46e730dc62e41e1305962bfd52ffb1008373fb74127743707dc8a44cac5767bdadf5f9db8130369b2051017d27c4af5e00192d708a74f915128ab7b58bbaca311456cebc65a0b3281c67c13594ed75c478a3b943ba9f6a13e6e5eba3b313e9b48c052e1158e0579a61251694b378aa50d3c3881291758ee38328c6af167be0e13267cfc285d0e155655ef25f73f0e9008cfce46dcd35df1f11731816cc54f62ef292063c74eb13306253e341cb1095c1c87c0759b8362eda2f3b81bbb4254c91d6487fccb247516f5b2eaf075b9c1c8ec64a32541edab4f1d6d828f69762798bf141ab0e6c0a193ff85331ad051f8266392de58b949d3481b9681b2e0313bdbf723e69e9bcb033bca68f6727281b0f827266544023dc4b35a14d418dae7b0ab718326aa9008bed6df1b28fc76efb24ce0fe85a0ce44607f3679621819afef73051d49248f55778844731eb532e6cf476a0818ddad1f12f4a1c2a5950ac7c128c9f492013ed82e11da4b5fa3a281e2f35058bdb3\n\n# tcId = 169\n# uint64 overflow in length of null\nmsg = 313233343030\nresult = invalid\nsig = 35ac34aed37bedc84ba18695c867d9766905a967cf406b765801be0890c3d52aeb3070f053a407085209bcfb99f5f45860206fdffd3badec9a4e8f19ec2d3f8206e6a4e767c4b52cbd8e262e30c52529a4568692ab8738f03e5b1ee15b64b74c39a57de8882aa512c1eca1e6be516ffa67465aac6472ce80a69985a8f107546b0d9a6086976de8d8b30ca46a76a8620ab64e2504824568b4bd9a5ea8819b454aea310531bff8c0884c52c80543660f2b7dc78fa15d8fcbaa9204f6496df560d66996fe3f022f4cfa36b6d4e427282f840b23c4983819bfb19139512949928d1b1806759c94b6482e9d7e521c42b1775644b885e6e179c20fe78e02b97a01a91f38d61c17d5ca676cb38b3f4313f9fe8520844c1a965897df0f04542552b5a30f37a20fb149b1064007d91ae0ab1e74f1b29d9b612947c6a5b5a3ea7181d216c77bca94ee8aac070022a4cd3aca6b740eb520fdab50e07135f4d157eee0416283ffdeea746e5a625a0a67d321ff0e2ae3a5dd4adbb3f5639f0b412ab047a1b5e9\n\n# tcId = 170\n# length of null = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 1157d82d3d7d64537c3d71d45c613730c35a2270b75664aa03745bd1145c61030825fc82cebb47b32b483dfd11188dcbeefc33a5a23cd394c8fb496bd46fc37c27f3b2a614f93b83216bb0dc5ed2ab4825e8cbd6146ad90023aee3a17b74567a6219f703d4d298b53adda7efa6e90e94597654eb9f0bdf605402b7e2970ef87d5c9cc361607d40e7dc57df65a021599fddfc33417d58a8747772a4bb2a50b02921de042acc8a7bb86659c29999159f5e528b167f3fc68fb0d6c62738e37a5108e14e80169c4a7aefdc4a6d7e5f8e04c46a99c55c8f3041e01ee25e0ea55e6fb61ab094628bdaf434ca2002abe822d83dcb6199198e28a59", + "6e31ca9a1d652279c1f583b0f4d8f62f6d3572cccd7972415fbf3320d53eb402545e5c680094e1d43fddfff9a7c6fc54d99d5bbd89b43b01f495312853897a9293341c66321dde1586afc9a87dc0ee6b96e9522c8e0d3c0d26efc8b8a1e72e920dde2cecf9abb0fc262fe6ed3cc433d1902e668b456da663977b1036666b1efd7609d2fba6c5ff809\n\n# tcId = 171\n# length of null = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 13d10858e9dd83b88c6d06fda2b433637b55c611a9cffc566d10246e966eac2b404a7ebc5f1d382e1000bd07bcb3b47236eef93449cfce8902902dd1a963c69762420125ebd083dedadd93b6a4fe453492da1897f76f11cf161a8b7b54e70ea9fc5e4c8a3909a537eff2f1c693a86685f249be1e8b0a9db591a4d69502574fb161bc00746b1da9d0b697914a8f8032b45d61a3912b50228d6eacdbfaae960876c115034d8caebb4a6b426c3d8813a48eec5221feb6a11f9a4d426f5b142d099efdea1db072f7d776164080e2e42ea973c7b86215d980b1238f80fa0dd03187d1f42e4a6c1b5f99c57a83f0a7297e4f8df41a71637ddd82e6eec3750d226b43144b0595682fdfe29885f330f72ce3a4ac65cbf9abe8030776c224e1a77f818a625288a144ced77173f7d89686d5330831d0f49bb9121f8bd36476522011779a0dfb10dffdac7ef3a6ba5ca9a189a9d599c6dd9a0caa36ddf1a9260360f1d682f56b1bee11fe605dd46a22523d0cfeb6b410697a76aa1a96cbf9b397270eda3352\n\n# tcId = 172\n# length of null = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 73d83c49b2f9f21266520b5fc02405ab30fc11097f3531e5ed891897b2111f6980ff87dc9e71037616af49dc7b95ffde6a409694ea5091287d5fb89890286cf018a0355066485ba92ecae9c6197003b8b42178352988cff33de298d6365e0b726a0b6050d2fee7967e79fc8da939a9e6d24930ca674906bd7a5c95a625ca320f28aafca85367f20f8bf4493543bb8a7c7534b28fda975c66d7b40e3997b0145900751b329658ce5d4f5246e96155207b8399ad9e920157b4149a2138915bbf5c8e4aab38c113e1375c6c9bcbd53c2280eec2885b1c9a826f2c938f6d42eb478fc32d27933ef3e0239f50989603366c98999dcbe73301f26a55e2028bd721f1e765225fee1ec13d42106127c826a810b3a0747ae5f70256d6dbefd92843797c708b4b6998c34e57c72d7bee5a1a720df1417a1e50ec274cc4579456c7f72c59803058c6ac5f9d6e97f3ac67b19388fbe2565e421347faf326ea2ab98795025408899cefad1db9f6e9c59fbb6b4ce50034aa26f52374d83e350f765c52e2571126\n\n# tcId = 173\n# length of null = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 3f9364cc60c899ec9941174efd85467eaa08d1a61a9013431d28dda61586470415f36218d43ece41d4226e5b2ad325d31bf1c94872a6d491e342fa44cdd6bb14b6a9e33a72374d43cf8c671f1ab01df01be49b07478cf05eb936e551eae53f5bb3ec778116325faee9aaff2861ef3e9eaee8260c85ee1bd53c402df08477537cdc4d15fc577ce7bfe9ef3877dc3b2e27533654e18d62c02322b2d2c9f1dc65a552dfe4ec4f3e5fbcd474bdd9cf4b0ebeeff8adef924c2224265a7e31beffce81bc5e78a4ecf0d116ce73de9844dc025fde2d83db233ee965b08616fefb229a9ab4688d726177082ee11f745a68bd9f73f68f0049b4fd1d6eb6409a465b11ffc9aa9282724a9501e21e00e5d8e182ef35e8d60cf775c852969ef01df5a00455826d6811b4d71f45ad09709ff21ecd7d0162dee3332b0ef5af75a89d50a04fb0637fa89795c883bb156635231b11387b6393940bcddf0dee2511656d019bfc7752ffac5cc7a715b41526418f031e29721d8defedd0df3c360aae5f0615cc2fbf71\n\n# tcId = 174\n# incorrect length of null\nmsg = 313233343030\nresult = invalid\nsig = 5531e7e612176c77975c1af25bded7a9dd232fcd51f3a8a447d4716e91161bfb7997ae973d20a5e555c84950757ca7709d840f0954be1c42b19a7d34178136872828b41e57d3b33b98fa61aa31c90d6bae10bf0a9c74b41900cb6b90cf88158018043c7ab996399904c212ce2b15f096657a24f697f27acd04f3997880a4a021b500a64b6894493130db373904f736de03abe71bb675ddde97885f0c73a770ccfdb8b25b5bfea0fbf5c98d6bf19d3cd2247c11b02cd0bec4476b9da97fe1d4a684158ae235274a1a93a03780b4929b8549128d8cba3af070978688dca296d81facce004d0e15f787c617008ffe3dc145d11d985a264f3ba2caf7a7f5a3bf99eac806af06611e106f2daa06ec6da6b72d8047c454c83ae79bfc44b8053d4be351b46e73cef389a9ecfd82881ce691a87972b3f7eb01881ab5670d6190cfef9e034fba0adb4015835f480d6464a07aeadb0fac199e4524dc6ee850c8aa2799e24128d00b402963549620313b87518a9d003f2babe91ffce92897f3999677553d97\n\n# tcId = 175\n# appending 0's to null\nmsg = 313233343030\nresult = invalid\nsig = 530df212c308fa97d4e8539a62894771f63de58fb1ef7ff423b42991964f147de2daefadd9414a40059bb3f7b683ba887ccd96db3b9e887b99132a21ef8fb6c2032fc31fcec6b5c9c1de10624438d86e7edaca6baf4a9daae468bc27d985d8cb9f554f05769ca74886a72a42c51cd45ec2b2b6002ee01e52572aa1b17660ecab8c04119f3e5fee56fb54b0367b135d39a905594e3a43e91f24fbd178323d69839bfa2cfffdb7982d6da2f01e60974d905ce75164cb355c43d0057eebccc4451de40b923aa69e0d8339d5ca56e95c0e2e3e7942bf1c53ad40686950a7a7d266a716edace18b30675aa0d531e9c380cc479601136b37e4c902e6cd63b77a29d7d2cee1c044dc347a21043f3b10efdf48b3af769c399993f9de432941fab419b0883a8c5b137d00c5fd827aa803970b207a9ad28c0ea283a2f7c08d273daedd3e73b2dcbd154341a1b0607dc9208a4e0780a4575a1ca541b647033d6947386032b4f2b1ef3dda52fda5460f9e145beedce6d0a030825de385b997b3a61b5a8c8b72\n\n# tcId = 176\n# appending null value to null\nmsg = 313233343030\nresult = invalid\nsig = 36bed7e07cc416a7d5ac19b50b56eccddcb530d6739a9fb7aa0ea151fccf65ce872fd48a1d90c816e2b9887276ba07e21d95a8904c300602d5450d6ee996e8ce930fc11015563f6e5e5d8b6066b2cdfc94e5964311d9c7aeb76520cc19c1ec5182f942f93f22e1d1f5eed5572f3f0f90bb7b33f91070d4afc23ee49b36060e46b29a1b7a536809c5578a13ebbc04ab52019a017f946521770fc23be1f3adb1e84ba9abcafd44892d396914f51fa4a7acc0cee3f5d064571a654cbfe1dfd17d2bf3c64875abb62468f2a9b56253e478693a11d0e4e884457090eb3d9c8cb79c83eb64adab19023a6f6e003a74142fabb5b984a92695ecf0df02538c6d5da9fc0753ec36d8a02fbfaee8de74b297b8ecf08a28ddef5531f21fa9cdfb0791f809db1b0cf6cde4a538eaae02a6a459c76cb118d0b6bc06f401e2acdbf3e6baf7ff7b5d34b9113ebed0156fd639d80e51c7b41615096e4f954a300ad7ac98f6d3f1a5d45fd567a33d086532c7e56b55a89785f0eea0c28511d76effabb56e2b96f5d1\n\n# tcId = 177\n# truncated length of null\nmsg = 313233343030\nresult = invalid\nsig = 94d4378d1c8c763f825fbb1d1a24fb4c62e923483a9728abd4e12519ad2602d3b676987e9ebd3989531f6306d963300f91a0c4498c16afc2dc82a8a97ec08e7c11861a6cd6f037ee90a967612996b78a738ca9ec51f853da12c53c78879afa15ec2e79944cdd036929ca7e6ed28ee9f2f556c1341f3002c9b621e3a5bd4f14965ebbac93979999934dcc7e4d30bbef77b80d7b4abbc0bfa027dfff28a8d16ccb9c47cd9298612a827d060de18c92a18fd92ba4ce86fa360df20b801c93c41e753bcbe3d00341a3cb602d94494bc44a86d6cd970492936d5cbe8c03689cefff2e91955489505ad98617ecd6b440b02167a98357fc4e4c3b5d70ad710fabfe91f244f36a488046097d339598da00c84e7cebf24a82f7bb85404d47b55b91eb1fcf4920aa93d43ca6050bfb2f8cee8625e523f3c620d1d3a85651ba5d0fcfa833dee73540f88b44c1eaddbbeb119ca4de7b163210f0a85591577e7488ff35a0dd52c752055a551d517b7afee521edf4ff60fb00b305fafb6ea47b0084abee01acbc\n\n# tcId = 178\n# changing tag value of null\nmsg = 313233343030\nresult = invalid\nsig = 6570b72bc1a3047758f7aff566764bfe3d4a7ae9c6a9ce4778ac3fc05dbc2fa0e3b1713a6fb93dc4d3ff1a8c305652c3478403a995f90065bd48bf3cc82e79382d22e62cf328a92d5191e0bbed42f3f852c984889a908784bf172f46c7f40cee2970429db36229199d2bcc28796628896eb75d86069419c019638cf21defdccd00443232f3ea44edaaa55b044763302f52e92c23ed715f40f7f2ec049719b74670b8b59cb44387acf01bd406e9806f3460bec87e5cc55c5401a3410dfcb0d9dacba84f841239d3416e1234cfbf81f5e88212748c60f5759ab93430b17e92bc8e6d80b5e892c7694f119c285348e77855affa6e24f9bc16a8da2aa245069cc18a3901201c881eb8bd805b49e8720efb24fc0746239b0e4e4521db23ce597cf3b3d7372253214542bc4c40eb5fe1a90b2cf8c75ded44b172e79ea61abdcccd9f27829c91c29d574e828d416e5261cd2d7de42e50ca351597f72795a8bd4fc0eb721437fc848b363fa9d3bff447879f1ddd1c1927d679b0215794c9256b546e1685\n\n# tcId = 179\n# changing tag value of null\nmsg = 313233343030\nresult = invalid\nsig = 1bbe8fb3a0c107374a27858866d3c9e18861908439f631d6aa55e1f7eb8a62945284efa9f0f8390f7dbb662672b7b447a0bd5abe5aa170686288045227e2d036cb9361b9847516181b1b84dfb59adfb318af3796f54bce608bf9063898dc9ef5c5b806aaf9d1f49d093c3c1ac3a1a8adeb3cbfdc2a88e9a8b657f7a0cd3668f94a68eb6d89c016793777af6d046e9e7a4c51a8401a0f0b043f1b9aa5bcf3b64b25388c0a41f99c0cc15028ba58d9f8c137db4280213e4d4d4126d71e9ca2da4d0c56d215bf1b12efd03e3063b30ebc994b7a47c0101bb5ace808a5a9f0e595abec4f2a5ec8040c35728e6730a3ae79737f495ea9aefa232cd86a2fb728987f11c97ff47d6e65a155e0754d57161a6d427e54e6823e72f368ef02e0af0b38b893035acc60cb9ad8da2da0aedb61d554298c2d7fa855746f6c85cec85e61a287f2fa1ae382e6ebdf5e9574fbbec9be671c96ced4d8547e9b4fa3999dcccb0985b18e9094225a713632883530611bc854a92877e4237233ac8466394bd65145f232\n\n# tcId = 180\n# changing tag value of null\nmsg = 313233343030\nresult = invalid\nsig = 3a98d7d9fab0680448b1386441fb373c0768bb59fd72484c0038e3e0448ee6d1ae727a1cea451e881f204d429e6bff49b52ea3e16a71c7265ead31d70c4282975c854f7a08f205aaf0cee4040a", + "13a2b4cae71caf16b1f9a307ae029bde33a4659cc92fa632f9fb724717d0a0c126ea256978255358b6c3bd975d0454b974cba17f6455dd240604866c0b45d06b1ec1ea8d590c481dbb9e2806e556d4fb5e40f4f37641570cc2a9de98b26f0346b6fd5dc39e076aa0d836b0a3fe2824ca44e959215468d5ae09ddc8f48b4f1bf8a4eec683ba9d45863b9a544cc0d535b62451822fac336462c67ed0bfef1619d516af66fb147f0061d18b9a8f6790ef30274ab7fefb9ed89d4f2ca6d30c6c1c7fb990149f16af8163d0eba3e59ce59fc1a822a38cb1802d2be4af05c7e452f0674cd1409bca1abd9636ce54b98f1fc4ad22a482cf1e50e9609ae09741d6fd0b1ffec9b8782cbfcb706c41dfd52fd6c600330dc1cc42a4b86e0a85f26e0a269ab8fa76e3bf2fa79f4fd02e5a471961f67c3a7a94\n\n# tcId = 181\n# changing tag value of null\nmsg = 313233343030\nresult = invalid\nsig = 33538b31ce7c5e24d7dc087d73265c61c312399e8920b8fdf521d3dfc590657f00fdfcadca3fd53d21314e7cc35129cd6e170c06b8dcc25476a47892a689ed5c8afbddf4191b9cd557d4cd29f59333201def168fbbf00253a942eb6c5e543ce01fe3c4a1940edc138cb95e249a32ab7b90fd1d98343d3ddf6062ded626f8b049ffc73a9f69264baa0ebb0b7e8fea0470ed08c2d4140c2d492eeb12e4749a7581835cd81306294737351ea302c9069132d19b0f7eb280760941cb59ead82e665bb138faf7093f45090ebf6beb5754293a1e4f0feaecc7678d5fd56413bdfd7014938f3031a912cbc57fa3211b02ad34139fd9c11f6fc27a8b6ae0ba22f64d4c9e2dc1ad991e3d89f5978d9c87d1fb052a68dfbc0b090abd1b31915ee07a0a481a9437dfc8163f84586d0f3cc3879fb6b4a4203bb44d84f5f5859f5b294bbdadf34eb2343de2d16e7aa005bee959beaa38482b6c0d0f7817f4a556f377cb2b388f609c377921d5e20f08d0fbeadb1a3e63a11fea5b7b7531c94c152a083221d238\n\n# tcId = 182\n# changing tag value of null\nmsg = 313233343030\nresult = invalid\nsig = 206a841a7c9c2b0af1149a40a5ea82658730ac50bcd20bdd0762afb9e4e5debb745e9943153c8cf4ee1fc0e22c730a66ddcd52204cbe83c05149ccbb6fc60b9d641168af9a78e6d741a0a405731acd459a45b942581632111f9f447a27f1787cba1b3fac01f66e3c6756f63ffc18d550313f579d47ba847e9b3bf5a1f4a138697b938c04e547d22d3343d9ed1b2143f85109ad5a08b835802732a796f1f15698e46b47658648554706521252d265eb353231695eef004b913ba0ce9887eaeaae752a3b7d7db70a97c610c3e212c5336e2e865895291a70a1efb2a593b76b60950727dca1330d1215775f41f5614a094daf94c9a6c5ff04f699cdccc48b6d7953fde80621c796285bfcc56d1cb7ce0d14e555083ffed66d3abef9a9c2ce76c22cc57ca08793c6080cf0b74c21443c5d7338b5be15204b45628844f68b1ec3629e53f55137ff9a0ec9827bf41ef935c6e6cf67b2d5074a8fec929ab4b1b3663e6e755e748988e9d4a5310d3055c3269ad74fbe78354ecf97bdd404db93e8a42d7f\n\n# tcId = 183\n# composed null\nmsg = 313233343030\nresult = invalid\nsig = 72434ecd0f59044f64be219f197dd2ab79c91b2bf5d3ced002bcffdb28e3c59ae04f4d87bd9a439f406a21174fcc5b75f2565bee2f36a83e5b89e22ce6e6e26e68cef6c6e7973e27502c3091e57448015f148f0847a805a33be8322127383f0a869d21aed276e9863ce3128ea240b63b6caea2df217644fbee930add2d0145d21f2f799a317c123aaedb1d71f40ade4e76637c9112c4e8f327bb2f6eb050078c9b802d3a2e18defe0c32f436021a6a894b03de5f68d6a677ca57bca8845385d5bda6b0f320325043008fb8be25c97a8499e6545dc99f27d7e2ea222541ae91941dfe812a8ed73f848b692aaba2317dc2eb84900605e0b8328c9e47170c4bb6a90fcbc0ddfe3314677ed4255b6582048846d2a8a738c4e6e60f3619ae722619df0f940660e8988abbc3fd6852a8f6b6b947cccd1cdddbcc676b35eedc5619aba1bf8adb0a74f2fabb31f4affe1555be5ef478f6c5c3936000c575acbd3bf6bdc1faf69276b3753e76331ff6130eb50fa9552c87d7ae047a2fc28a3e211d308765\n\n# tcId = 184\n# incorrect null\nmsg = 313233343030\nresult = invalid\nsig = 91fb96a01453a15bd07987b6a072a04c3a1f71de0949acdf89883a749fa967d5721d6962f4b313c5d6036dd2c9db051fb77d91d9e72996dc040b97f513eb256677c554ef56a847d5e3cd9943bfbf749b67166c52bfa2add4c399d662d38bb6ecb812bf3052f676edbfe084b62823a1631a0d22f992ae73b92b0e116ccc45cfe4bf2d913ca60fc2224480d32dfe75cb50ef14561ba2d425988dd504ccf632cff1276aa592ebcf725ea61b1af4b7f2fe53bbcbe014e19711dbbe7e42df0c73e93480e37d8d42d5e605370116b13012921f5f14cc1dfbb97e06f7eff77fbf4e5d127239d8b44cc907033cbaf3881cca67eb1a2299c6e586c51142001f475c3179ee1e009867bfe61614089a060d8f9d611e519eed0149d8376f65ce3f0b038ff338e6ccb247ce0cd2cd7dd24d3d5a48c3628523e1f7edfcf46102360aa00460dc828113f46e2399b2ef77f86d2601cb4eb4c2a6345422ae40e8fba2a14d00452517c6fee431682438962a02e424db0144987ae403eda88c5ab9e0654afdd13ab1e8\n\n# tcId = 185\n# long form encoding of length of digest\nmsg = 313233343030\nresult = invalid\nsig = 033c248bbc3ff5231e75cb44bff8b3225d20f0252ee528ff24be672328fe66f413a4ff0259b3a22b6ca788b6f4bcb4315ac99f59434e097ef066c0e5821cac2ce1f50e4510d3709bd030a613ef05a818414c9a5580d51fd4e6d5b4b7b146f808af2fed1ea5f23c12a370e526fb1133f06f3acc4d7f1ae5891eed82dcfce4dc46ad947858a228d6e47cbb658176032290ad7b4cc76d219c41a358d64e1989faa294cd6f11b5f9d94fafe133b725cbe482e82ec6594313e0ae9b6baab9733e4ee01a88093ed171bbb8384780d1c26930d409bc98c36989a9db93fdaed7852ffc003e981c6969e3a21f1c1ec80552f3ddfd76f16ef8b04533799a298690c6a76a2e034119faa92d458089df4df5cfc3e5a2ac5fb7496835a4dce6b8522ccf5049e4d294216cc24392ad0b6bc7250f7d319c1352f58123377fc7ff9bd34d2e2f4f504fc272c9ebc41d11f83abe60495daa36c0ce6c2a26b985cb1f30873f7b9d6566bfe6963dc2154c128eee636a815e69ef32d75105f91f1597ffce0fb34b2b89e7\n\n# tcId = 186\n# length of digest contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 6e64189255c0d7b2a93f30bf771d9c0850f57a173f93f5dafcd599b801b997eba3f76e4f1d78d478c79adfe14ca8191aeadd81848aa769d65b50bc96f3e18654c2096e16eeac3b0246c8d40ce09acbeffcd5edd87815dbac35ec555925f33766a40f330675fee4a68b8b8f54d3550dd0e6a60d3fc9f971685ad1dcff49b17bf7a933a13153dc4b154ff5f56e1e72c8775366b6435b175ba420e6fd09dddb6466f6e87ce2075b2fcd75c99e4df5f2a854d9afb60a38df49452a20f46bc604f92af5c9f155884e3ac1b2319ddd4525c118b32130b7dab2fc18967181a4d5879dbee8b9094ce02683f30d44e5756420137037df7dc4e21efe99721b013098fd895a3593ee8661855644bb8729c36aeb16f230c4e8fb0ac4587e2392a26be95ddc57b19705018771a6160206dce2e6feb02b298dea43e732167cbf7bc96a5bffaf27e3a3b04eb07a77ef482d77b87e028f6cd0be364d9cd606f73ccb0a6ee19d927ee221f3c724e7a3d80c8a715617aa06db021a4e1b956f17e29b462a6daa6bde9f\n\n# tcId = 187\n# wrong length of digest\nmsg = 313233343030\nresult = invalid\nsig = 55b771a10f9d7f1dae6650f5a5898c7132e288e98e052732780be3a22bc5a06f00af59831aadebbe5dad715b1e2c80ca27160a126b372c6a02fbc597c9b132d147e5ac72b0ba81cfda442921bb65bc31b55f2cc9eb5ef9fa04553cf814155be4944138a79d053f0adcc8cc2fa0fe5a97ea6129593ffd1d3364cdc1da0d3a8ca2aeeeb96f4cd529919d155b09b35b6ef30790fd928dd623a3143091ae74b298d9e67135939194d6cdeca366f6f17b202ae5a9b291b810a165cfa6581aa42aa49138a8548267cd20bea61d90b208cd4549d9b1f4486ef933fa276fc71eadf7a0c332bd0ffb2c7a7a41239cdd2451b45a5f74db7177cc127edb752a8d38f543b0632bf8e92dc0aff15ce036ac68722e3013f219b6a3fb8b9f9d75e0ea71fd4178aafe16ba575e5fb7bef9d06f294658246b53314a0d05c5dfb36977a8d3f37a7095ad9cbf50bf4d45d7e8291faa72eeb83db4acbc12cf1c9abbe9108b4ab97f2313a9d0767786a13a0f8611c43627e23d0d180c10207db9d366165d5d6a6c183353\n\n# tcId = 188\n# wrong length of digest\nmsg = 313233343030\nresult = invalid\nsig = 6551feb2b444f0fac650da3445c113ff927c26a1d4c8ef0f4b150b335635ec50ff1844f469ad6b3da8828705e0abb44270f86e92472b21170ee6e68dc49a46d1bd242c0e15974a863b3fa0f0489391e8791164347c56b87bf0258bd1fe04f6f11d14f7cafc1e50568b871a2bda206dde850f6edd46cfc484bb26e4bc8c9b7e5b5aa694ddf0dc217a8b85f8371e6e00cabda39b22fdef4fc6a7531c18bf03943b3af40f5d49ce4c45488f24a564eaabc4a54fabf3bc4848b309de0f5452415607c431805785d8d440a4d5b36f71d64c49c966001978159e60ad48199c45ab88333e329b65d5780be2650875ec0cca3f31463568e840e5420e387cb1788c614fb95e0392a97c0392d79594155ed58d45546d6ab7ed08be75f959d5232bcf08e77403185dbf5eb9398ce8b9a4fe3535ecb2e54b15965b9cabc427164ab23e284bb72d4f7d12b7b66335686ba988a26aa12617a267ede320e75c8b399a8dca3338613aac83f99bfed281523712fbe32a7046b85af27163e14193ece3bbef93361ed3\n\n# tcId = 189\n# uint32 overflow in length of digest\nmsg = 313233343030\nresult = invalid\nsig = 16c1b7c4625d3ab8b9a7595bda96e1bb7c70dd7b43bc143aab817524d3fcf281ae9cd5df2c1e1949d6a7d4fede269b6308614c1ecad6db2ee71250deb38a955c07e76f70272a261bfb2b31ba3155b38cd3705bfddd2148f2e3e0976760c4f0051a1f251aec74942dff3fe78bdc36e9c8d41457f42903bded23e05683045c131cdd4e343831a2a1d2e418355e2028d2b3ec94688d3acd7e3a5ef4c0e53f4d722acd328cb9c3ca3f0497f6f5c54711eec8693c67fe9c235e45ea9f27b93901f7ae98e77edc295a697d8a17a91b954ea910900069b43908024b35b7aba822e3ca57af412916f1a5df213e47608e65d2d903ef762755ae60c241b1c36bfeeac202b8a35086dd961b06534ccc5a2a4f23a39131a915ee1d1caf8c5b50834b224cfef8ba8b752b7e030b5e955361a463a6b908f8c8d0cc513af925696614624d12c4eba4ad72b2a7727b5a2928b83", + "35fe870bb17adf089d30116d7c9f0a6cbdfb53e5f5ab7f056af622ca5e77b797118f7add95a7115049e4ac31ef5d7858edf5186c4\n\n# tcId = 190\n# uint64 overflow in length of digest\nmsg = 313233343030\nresult = invalid\nsig = 440d17b009f689abd5301d2728eb6238342ae5b63134681b24d61c18443209a18d8a9ff32ecfd231e77783a00be559152fe28807c0c32c8ef1287be6bd0fc3e70d0fb8741bbe2d30bc39a898569b845b1acbeb1688c82a34732f278257fae502db21238a504dc1157cc3298c6bf6137d6700ca6ce03e5a1dc7293271d43f5863e024595e63e2b98eecf3ed14afc2bd08bcabe0fb882d9df837f274077e79d08e1a46326cf5f3b4806945405c84a7e7bea28b6e84305058832c189039038b5e2ad54df21139e47acabd93cc53e91a8e4988a633a63fb8a7db32cc6580acf8467934969cb64fffe3da2744e7518140cbfb1af3f3183be3fcc951d79173d40bec9b5987cf9ada82a48c7734073fdd15296ed07fcf50b270e3f38cf227300138f742c00e02e8d636d6bc46c15eeb631ae0b25f649a1ba9a19a8d35ef313c769aee5e996526bb6a1d205998d366ede6abea912dcf8f39349a0cd0e235aa24d9a4f71b9de18db66d89c8f7a53485343e8ddef174653a454a3c856a3436e2f9872aa25f\n\n# tcId = 191\n# length of digest = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 746e41c7844904f729d879917081761ea0020aea2372ee8568f6ccd91e5efc532f9cb12f08da3b98877f2b93851ad627db7411429367f9a7af703a16ba34f2689518f468581879bbcd311c171c781f0f75fe522d038ae5bedbba455ef8bf92d92f53f3d8bb06b6a9fd185d917d01a327224978ee898ab1c0af1105c65d27265b60912f84a3dab3720ed229869523abd565ceec086ddcd48a2404471e70f22e214b80c062f0d2a43c3d0f8c0fa12e449ca1b2174ed1d6f0e7940f1ec35cc74fd0545db764bcccac5483720d25acda5c3bcb9c99f4b60e7717836b8d3520c3a8e7db48fb68571dc9e304b3a3914eb2407c8cf3e8f17bb38495f3397ec850fef614117440aebfedfc40515abb112bccf09fa4b38301ddca73892f4f780c574bd52a913ddb74fb9f56dec6c54e0c8e910eaa95f2f1a9172cf673ffac01c2cc3572b80e93a325373c1770cf69c09fced6be76193c83c740f5e4cd468fc20ba9ba145939e052d2a58b3bcac19541e2f0bc408a2ed547117db7aa6ac3522c6409d8e06f\n\n# tcId = 192\n# length of digest = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 4468ae2dafefe85b8a52539cc8c9847d94e01161e01d377f6ea384bb1799ffd763e4a4210a39e937993311b355850a895286b47b26c251997c9a9f18964e793eff80fc652fbfb7ce1f7f052b39323970c4cf427d32a07708f3859f9d101c4c75899a145da0590da8f07738043e4264e0d3d3e3a2987636018823647e4dd7ec3bc3cf7d65fbfafe365859e6a5fd907d37e0db2345e67ec00d7dc0b75defcf88f50603ab55b1e99e0f788cded4751bb49522dfb4f9eee8b2bea813ac50be538916ce07e3513b1fbbeb9b2f83c4c2e004d42a49d31fe63dc9da6b55e9dd60d705fa367d2cea478466a9257231a53940164d4dcba5dffc17dff7ff023e8a95da9e9ae126cb894a06e0341aa3c3c83a52d83065bd18c36a9edf3d4410f8dfd46cefca3db9b64d6020f9b964c6e4d9b5630b465396790525e55d33b6bdecdb7ff4a085516dda3e5c0fa3a7bb57252f4c79fd56ffb350669ecf1075112c5e90268bd773ab912e1dedf36a859c415f774aafab370883981d3e54ce780097b0797403d610\n\n# tcId = 193\n# length of digest = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 77d8cec49108b8a6ba4315c2947dac12d8143248447b443d3c189267727ead92e054f8dc591df862eda32e447fbebaf5354f67dac043fbb254331481afb6c4da45b233e4a5449da2ba07b993ecd07de6e5c21f8a2dc8c06a6222eec1cb82043e23ed72bbd9995379672a3a6d700870db6b7e33c459f073b92bbc052935fa967ab7caa04eeea6461db6ddd7cc061d38d8db9de581151d8b38c25e8dd79f8a4e2cd147412bbe90452bcad114a7cbe8d6b6130659aa38be2feed6c96efb1a3b8231d2f8b290356e77d3fcf9230cd75a87a84479a34ddde67a826f09b41340f1372a5dc07acaa0c7db898d49251a95c88731eb93cb35423c0715713e248ca2c7a850a2bbc7816d7bf3d82bab216189dc15d9413e23d77a9fdd11ce16d48f3ffb2643cd611ce15389966656251e5adb08033baca6e69b289f4a03cf88ff493e648785210b30484ff9125d25217348af874cb97b23c8d07258f95997e14f31f646f70d2f94f00db8e2958506cdd8403f110602e92ba7bb0ed0cf8be74ecdc85a131982\n\n# tcId = 194\n# length of digest = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 4ab6b85a2c2b64135217709b6ef5d267dc8e9f61e65c539fc92993b84900f9f2e6a035592751f5ca54001174c12599466ffbcf7f86b4e7e39a94214a8b84bb2baabedce3f526103e3e951728b35312a4a617a031167acb20e28f2bb7c175076f8556dc5b37e8bdcdb0320ef434821ab5f4b2a312342c7a64cd0fef8981b52d99dc7af0f27e506c7e099eca75109204394d5b50d26ae3770a1416aa73003461a750fb189acb23e5a6802d098f8b33c1397c44d6a4f3c0e6ef4956dbd285868d3f2fcca8280ff7a9afbe4927f444a394e0d62c3bb8e255396f22d14a2148732d80b6fae6de4ee6e4747764dfeb4c60da9a7b2828ffcaa670a136bb22ffdf997e1c8ba1f5a372facfb467d7e7378a64c38f447d45edba202e233f8ee06ba56e7c8a151c4c4b8dafe541de59a7b530a35bbae4cf7a885cd6ec1f2ee6d14930ec20b53893eb4457ec36df22a5ad015300d4d1034286471f72a05e395598f3b09c390e0a0594b7d36b4d9c1758ce3d2832ab64db2a4ca65211dc4e5b4e69b72b21b5e9\n\n# tcId = 195\n# incorrect length of digest\nmsg = 313233343030\nresult = invalid\nsig = 131d9d72773f3a6b9026f55edb23b348ccb4e34f6735ccc204592a69ff19663551d73d340cdebe9f1d26ca192ac58764b02989cea4e8253863a6d9376a49a2dd6ab53dceb678c3ea74e7f0b4ff97563dc168e2020bde4a56c21c988f88e379fe647b3a39651c1c561ba444eeb677d7130f9b9d5a9a4cd9b09fc879c2539f2c423bd15458ef32bb1c71d5b518a20dd50f4a9acec57648bebfc4df7964fb6d60d0d37116d594864be9f826ca53533b77317090a3bd1024bb7a39ca67f43a96f5e52aa5d73d69288ca3f2de548641579f54e484aba2e4676d91ce01a50a90996acdd32c2124a3cea110cadfa46338374c87fb52460087a9caea824fb83673796e28e2d00d5785b1e820b8d35ca1ad0523b724a310b606a4bfa6515a2b7af231dc203308e9a9d0a39bc10c2be68651860344661a73cd1e81b61cc3b39b2035c15f6feaf4d6821a38898e3e920f0e707ba72a20213d86b2642873dbc30ada5b5cfc30895f1cab0393383f61a7aac1e442f3a5ebd01d16d5c4b745e56b87b19522f649\n\n# tcId = 196\n# lonely octet string tag\nmsg = 313233343030\nresult = invalid\nsig = 09cc7ed5357f2eb7449514215b7d4bc94c3d0e3b9403a138683444f12a24fb4f1bffda8037602b19053727c2f1422f540d5c6c2ee0c0205a3e8d19e4ee968640ba857c04cebcfdcf7538e3a11b32226f57714ef6ac47045e94026748fdf05ee975cf8b47d790121a0bef0e86a2fc9e7444f28ebf54e2cc06f7adb7c14c1077f99f434b4f4b23d0e308c3af0809393639f40435b190175fab570b6acda0b2b94dd331cf75edd594aa7d49836620a720cf715643a73704f1f5d7136b3072d6e9058cae72c0cd3fe15394b4438731c37e6fe78971d8280630679131657b64edd132910aa1263ea2bbca36eddb34de0b4d9a42258c6e2727b71a41c28bdc07c3e367f194f0418a4fc7b5ff7e531db5f0e4e5dcd9ba332c0fb6c4fa73e10ada4840f7aa2c310856e2a453ed595e9b7bb0e0c729375eb0607694c4d44ac2203f797f701a13c0a4be1fbf5a90c6c680a78d871e3637637200e4d38ef6cf2c2db5c2a5e55c1105637bd97831c9f39e9ded20be2f381b96157decfa0e648696e5241f3794\n\n# tcId = 197\n# appending 0's to digest\nmsg = 313233343030\nresult = invalid\nsig = 8889ba3a0556d7d65a08bedcf40c2862409cf65c5deb821b7d12e6d1961859b8ac91177b7d50ff8168cf80fe88266e574c6fd719980705bd7c488d768e15d2f871f13904ae2280e21c7fe65da19988f2f62d84c87a32ada15fa3a0591e8f7bac5da67e7339966c94c0d864e670cea00c810a01ed78c0552562b37c11a04427c100cda4c6511f2986e577814e48ff565d3f8370e79321e612c371fd4e1b9cf93d53636844fc6c392e547f5c309fa3b89cf62d1912f0774c82c567989bc14399d1fa0b1d87d67ef15ae9c4d577f78c913f58c48cd28dab95d6358b49410926816242edbbca97dfe9fa9f44649fe02fc8c620fe86767708a1619606ab6c873e970c9bba1bb8083a71e2888a7a4917ae8767b3051ce324c8babbca7efa4509f8186264976109c3b0b2b453e1bb1b7468567be2844de295098a8d849602c0261f6c3284613517f79e84008de8ebc151b98a9c19a3833a8c322cd021af09422e09938db0b09cddad47db0beeccba5ea56d2b033e2d90e327359f056d22692cb7aeb2c6\n\n# tcId = 198\n# prepending 0's to digest\nmsg = 313233343030\nresult = invalid\nsig = 252594c934192b66a349e58332c9ff111026c512a439f886df1859f327d875836f529e9c462a95d5b0e8ee6b407ed6f7a7512b70e42612c1479e856388da8dcace91780be2f56da99c4a76251f86f2efe2e214404ccfbe26728b6766f9a28f8787ae318d3fed0fa585b68bd76ab238e28739ef19afab1247ed1bb119fa50f1fcce4bb946047510bc683ae499730cf316eab96f14d654ab311786121ff7f2ac09ce146b98ec0302775c0b9f06be0240b28695894f53ec1a92ed985d5c6cd55d9ca5d64891842673d2dbe8f4d6a678da4929eca8450887884229a3edab3305b691f242da7b7043f0d759d6c36361664e4566aa419e26944195ab8746a05d56385943d971a1ebad627c2a9e6c429253a1142abcab5ab71bcb35b7c6dc89ff5795aae1fa0d7d8ae5fe327b3959d3c7c373c7a98cf382819f21e6fc1d29ae15897887728033b6c05c293c28bd9670b7bd7fe70051f1d30bc3e9b4f20d6caac77d331c3c864c61733cecb5cf5756a9c3e485b58f936261487ef2b8054b5a1f95c4295b\n\n# tcId = 199\n# appending null value to digest\nmsg = 313233343030\nresult = invalid\nsig = 0fe6555340685f83444fd844ae5e7d11a5ab36922f3c63803432ccb84b3643f060fa7abdc6865891a1672b66b921867ab08fc62a4dc48104b9eb8e4bd89c26b821c490e843c3517fcdc249be66680ca40f2c3b7500228cbdd0323cf6b6a7c18a1846c042676f50be45802ba4f1917a84058382b9f0a1401b1656b494a325a9f151edc49fe2cc919d84e3a027d8c83afbb8ed5a72f68155", + "86ada30fd7b6fb3c95b063ce9ee8fea2b134ae42ab8bf08110301a8838c42498f4d6b449e1dcc65454f81af0ad2f6c146f0b3ff0ebc761b53b7f855323cc4c16956607a89e238b376bd76415648a26c8a473709ef02b27a2cf626450c92ed1238ee95df90f4b9cb8ff1d6d092bfb79c0e0114efdb0ab989cef4280b8a8089b4d65460edc9f93d89aab6ad072afc903c74fcc889a1e06ac8bab8e61bceae5e325af68d1357cf0747bd10c103fa04f69d563fb270a06f3821305de3f02ac1617700f07ecaa6dd525ef9e54b9449e2974a94e7e7b8307659495d700181f09f8680064375ca19cafeb5b81\n\n# tcId = 200\n# truncated length of digest\nmsg = 313233343030\nresult = invalid\nsig = 1c0849644c72821f89775e8240949fd317e66ad216beb2876865daf067103d51fc428bc9e19dea39b16df3cf55fe9af9941ed456a9b398b373ec7de6ca9c176352d7d2b2e2635529c37715c1139b36a105f7def4aae688266feeccf22a076d19d519aca76b88b71364fda8b5fd52c0832ed2483d3a379316e370b7e10c8e6209debf2172446741aff676da31d7761b7497f2e55bf78954cb3352e51c8f8686cf9949c53d03d6af5258cd3ccf442a6e773a687ec95a07d2fd3c37ad0c7c729a832f0ae3689d1f3bb272a1f901a1b2f9e161432b57c37fa3abfb509e7dd91607895df45cf2b7720f5ca34a9b74cdbf82c9637adb391ad70f53e47131a22f82709fed31c99054a2aaed935e9791a1a6190b724a16e5df74ca14d1d15726ccf96edfea8bf5dfe9f48747f45153056ec068429ed080eb5ec57f0f7ac9c81ce6b1dccc1defd5528088661e0a050322e1a2f315fd65a4decee9ef9f3021a34af2b1f6c365d680f00c0ce9d19ba12b5dfb515c129b7a63c34c5033edf9d876c03e1f3594\n\n# tcId = 201\n# Replacing digest with NULL\nmsg = 313233343030\nresult = invalid\nsig = 5681ec35b49708b8f8962a579a33e9689947e9883246a8df999a35d8bc24271ec1460668999ec74192b4f5dcd0d49f22b31c77afda748e3bec58ed52e96dd45b23f66b7b2c2c703add64e6794867e9be72bd3a4f80431ad6d76b9a502b9b81f04d126f65c18e9fe3953af2023c5519fae6958bc7a392ab5413b2cbcd2136491b5f25c02958a844d700468c2bca431d2b998cc1ec6b31856234f67d50872aeb12e9d401f597180d396e74db862db073fd157ff4c2cf0b73c86cfe5266d99ef969d986236960d710853c5540f62f12df09f0a81a7b0acb657179abb0442ade44463ce729540f31b3c2df9687151f142b5df3913d036604636fdf51306c329738fecc711d57713e5f2630e769662bee450bb5fc8c87e0da8a2bfc25902e5c52a5c2fcd46bf027550ae7976f8ed008cdf4b6b53d32bda37dfef9c98a3cb68200c3e06b0a10dd73d02da9c43928e14c7455140e7d4afbc972c089977e0bd69524a721acf48a4fb45dee76b0473db4ac1907ffd586c54c643d6e0ddf04d3821439f3e4\n\n# tcId = 202\n# changing tag value of digest\nmsg = 313233343030\nresult = invalid\nsig = 349e9fb23a4eb3c943d840912a447870aaa91c3d494c05b1f801bc5384fc0b7e9b0b0d6899462bcd0b357eb7094ce09e817a091f10cc34ba793fb7952759ccfc8ebda5bdc4b7b8932db3cd18f5cb0d3ccc07e1cd5a6537a701f06c07ee01433d50a16c5331a2a913a82dd3c8ca95e66b481237bd38bc76e213af3d32489a325ae448358bd68509d3541a94ca89c898acf6f6bd67cd66c8522222a1ebafc5f47df1b0b10c08b84dbb81926e9e7104c02e7bd5a77a19ebbfac4fb423f5ef0956a9ca3ef49ddec1f7591d851f66834868908cc8a8f569921ec7a9a1248d0f2aa68c380f194e80580e3113427cf6ebb695db18ce345845bf22c75f62bf91cca1c3eb393814a38f4bea08c0f35f03b9b77cc65140a382b4376af27c653e1b7a7c0bf801fdd3d18c5aa3759eeb25c158c1ed8c9865f8c1cf0b6438e412680667a94e4c390ad3d916b3b9c47a50a6ba460b1ff05a3df1f7f0f58596005d28af75eb457aed85ab6475a73172e8eb987af41558028c8cdada1a754229db1c35699d717982\n\n# tcId = 203\n# changing tag value of digest\nmsg = 313233343030\nresult = invalid\nsig = 419ad0e31cde95cb53d3b3a86b8a8fb605a0dd08bb4904cffec0d129ab7b20cba91fddedd019897fb486856fd779947702efbe929a006860417354b4932582084b75e3076498259fdc783b34441529c25381cc57d1016e196768dbc01879d768d158c299325cbb0f84a3712a0c9178e57c592e7da5e95ddf35a1adb1c7d217ed13a2f1f53f76344236ea93bea71f113a61c2677e3ed5c406a4e70eddd76439804b6860337452da8cbcef80af7b144ce9dbd7cee010268c9dc68a4145adf2bdfd05f64fe495a3c4c6996358e1833e07f6a189ee3b41952042696d4b9888e6ccf0940b4443adb78b787b29f6c1982e6f86b099a3a6bd0661a4259d4b968cc83467433632d86ff18c2cfc920dba2bfabe852e283525a15fbf2fe7a965b328f8e34514b3430182d426a7e3b392024d8bfe20e1baadcb484eac0ea97812ccc92a4044f60d446d2003080a6f2cbba47afb74fe3d48fc9d599c50227b30df75a941c8f19d6fd6ed66b9d3ded89947ed19bcac7db4fab8097a2d6ee652da61163a7b5a31\n\n# tcId = 204\n# changing tag value of digest\nmsg = 313233343030\nresult = invalid\nsig = 9555d56a5edad3ca7f1c40700ee2a072673159193586b08713362995898ba384aacb76f7ef3cbce1e94fb79a77f72bac5be73aeafd9cd3b60546b63abf575741a5824f5b0a621905aff6c7085531936504da15110edf31887be9c90b96950babdfbd6f5b0ccfe99c4c300f730408bd07bd7b9d035d7b829cfd7045150b1c9e89b4600d6f09baffaa4dba48611c8c3f745fb954a52fab6944b6df7f8cc4266c3042bd0e6d7b31a40640f726567c44d456dda93eadb7e2016d4fa10a0376e8acc4e4ed01d0849da3c178a6c75c0d7a8b695a8cfc84d0d8cf29619b3eedfacac2165c31fcc3c3a6f062fd5542c305460cf55858d372267bf95f58817f37ac7b90c19c69f17d9cdeb4504ed7c278dc10c12a86273a919e03419eeb25313d976d927fcaddbe08e4357f7bbbad0f273f0bb0302847e04bc89c850a8605f1b8ff0afe9fe9a00fd05c8235ced766ccb0f2d8590d9fd6c20c4fe16c5a60e056414eca6fe888ed5fa338e7b7e27240bdbc6c708e13a316c113c3af024b4e7dc5360aea3483\n\n# tcId = 205\n# changing tag value of digest\nmsg = 313233343030\nresult = invalid\nsig = 8829061808ea7aef2b338ebbcfbea99dcfcde31958420193326e26fa5aadbc9eafba2f49b38bd629f5bf1c2d3e92000050d5d89360896a8a29d147aaa2add622e5913da439451a951c0286863cbfee3083585af883909ea498314f5874282944546de32a80a9309fa9465ebf324d482aa8283c8589ee90757ac52de8f6654ee708b44f588c578f0833a820c8a56bd575552360adfcb95c39616a488f2c95fd94e083c305d5dec38a158eb94c40c018e6b4002efed29e28f78980cc9eae7456c6b68b04f5a0dc0c2a33b71b0911e058bf1e629b8dfc8187319d78285953d53a38bff1a994a23b017a74b6d18b86d37e09271cff51e5d113d9d947abeb188c074182cf281fdc879930685023a5703594820a4cb1dc22c7007083aebe9ec8525a044cdf67d58e775e525ec2d954f2eea316cc12701ea8a32627b8db02152cca9dde87a6bf5dd5eb4bcda3b34d35171d9152560f94ac2dc43bed33f3e0f026f1a578bee46c311e3b14d444428482952184e5a9b05c9cca0cba37b6b4d30844aad78a\n\n# tcId = 206\n# changing tag value of digest\nmsg = 313233343030\nresult = invalid\nsig = 9f8ea25a407acb845c6be6e4cb263be64cc2fca7d573536b3076c75ae9d38cb70156873eb2fffa3587c3650a81ce19a254e2ede3410b0c10f8a2f4b8972c75dfc690ed29ed1b41a44c149dfc36d5f07213101cd4d2c6bd3a9b367279af08f8a02fc346437452bb40c46d705db078efd49c0ac0fa6be275e3b2db60ab17204d87e35201a426c4c1b30340ffdc6667c2e0ba82dcccd11340e1c7ccfcd18c6b34ac1545e18e3034e296c2cb482e5b8aa923b68597667abd02af54af7cea95cb2fd923dc90ace6ff906989cdb98d36acb40f5663cfd6c68976e502e79b845b592aba02b43ab16699dbcad74c0f00decd1e26af1963c49dbbc6baeb585c9cbc8230827267c0f6330269317af01ba0ee928b04e83ad94fd871cbbd3a1d4da58acdcc40327042762930995083c10cdbb2d9543cfc6b5478e61ae544f66bb65332a061d4f07fae41f3b25130849aa9ee4ae9497bafb0143def8d0a2fa0e19f87b153fe34f817a46cb00348d39ab1507708e2c2defc388486724e9371148761da04d995e8\n\n# tcId = 207\n# dropping value of digest\nmsg = 313233343030\nresult = invalid\nsig = 6d675527594f79cc5e66c9f795573bb7374f66eb396f97c1feed0772c86dbd1a3b36167f557285eae066567118670a787d4ff113a7a7ef575de05875c3bceada7af2c86aba621352f0b1ec1aa3a5937bfa830e859e836b3a0a62841feeb7d2460a266fd6d9305cf18421a1744d93183aa68e17ce1d61bc55eebe21a23fa8bf1b94045b10580f57e393a0c72081aa1c83bf9020e3d4c3e761456a18a1fead5e00157029b656797dfc321c754fd1b09cb2111303d1bd603c2c3e650951516c34bfe9650e03446071cc19ff9529505e1c6f69e2fd3f61a71398ca8b55310843033ad0c75578a11db3e83ad802fd335dcb71e83ecb4edf47faafd0b1bccfb89f3172f957eadfe61d9b097185150ba582d23f75387caa248d11413d143c38627be244bdb442ef4756236cf321288264a892856ba0b5784f91326e58fefe80e32f583aeb56f6204a54062119e87758ccd4ef0996ab51579240384149e1f19bcf54e270937b3f915060b989c026b5fda38919bb9fba6bf983091c2c6f338fabbe971c96\n\n# tcId = 208\n# using composition for digest\nmsg = 313233343030\nresult = invalid\nsig = 28ac59fd8a65c69dbd4c66e3aab2d1bcbd93d54e4710b3c3003bd8e1a85ffe6e21ffe6ba6526f3ccdcb563295db756f7ef29daf5c3210a36c34fa42fa13c6a557b4f7fae965147420adccd0e1013cf2100963dff6ca27371a34fc7ce72f7de62a1b6992b6bfe287046f01611c0fb65872fa3f988075295b73731ebf149df9b30016f305e950c46bef57cc40cc0daececdc3ca1979da134102e47319b0500cb32b337182d053c0f17ba9b9a7866a3852855d1e5f914a21b83548093d4a6c4f8f635f8c9d7b6625aad390a202c6d3cfc24b2b8a9d195135bde6ced5f57368d2ecba166e7f17e05d29598627d8ce6b49d3e681827e6185272200416502a1b9e1afcb4f9bd454fa39622c3eb839bc55f021ad006a90c4b2d9f9a933a92df7b2d997868352cd011f8ec17aac6619af0be4ece5747b9265a41185ebc6519dc43b1ba9ae20cf8929f54df6e4ce02f87e649b975d1e69c8610cdfc9b6364a148b2176cf1bde486aa141da819f639f58789eba896e9946896fe1995609fdec089e75fd742\n\n# tcId = 209\n# modify first ", + "byte of digest\nmsg = 313233343030\nresult = invalid\nsig = 6d05e2f726e9a367b65f841b01844e615280364465071c86b3f4a527debbd7cd46f5732d6203727b868889438d569b821957762c45145951ddb8ff76fda97f5f8a279eb840f9f1f521f804c8e65168233f85adb863824a748b5a5b1395979335a14fbdd160e555ba064b79fa3b6d0b31692753fdf2e088eff549f7f6fcc4256444778ad1ae5112a59ce4e9962214bf0d4e7b4e85c93ca9ccaf55b55302ee3ad0795ea4f4da90af896caf2615aba2d3fb21499c4ff813f696c54d0b955b0fb34b4eea874bf9342193226c6d6b2967543b9d381f33f7370f5d7ff5f89dd79f388b5841e64f1b785d9e29fe235c7d509fd23a08d473ef3b75fb8a7e8ba78274d5538fcedd23886ed916cf20c0054dc43438060da6b685607219410a08245f214779acd278619689ba7e621d0257f54a2583a3508b0d69a968516b5745be891ee0731989a16187216d47600bab7000ab9d34d41d515d909d97419dc4d63ff014e9db91e6f3d5ee83a22d1009327586f451fbada7577f6540954a760a414cef0fe42b\n\n# tcId = 210\n# modify last byte of digest\nmsg = 313233343030\nresult = invalid\nsig = 3b07c83eb71633cce02d709bfe927baab8139776565c90ef4f363b9dfe24b5197f4f457a4d5515b18b5833a9732a87ca0ca0f6572767efdc79e29a7429b8f95e5d91236ba88e03041f35188fcf305699a45a10f43d16991a9c4157f259d4c92a9f555468680cd17da5ec93bfb0f8f2fd1edb0646763466af4704ef46123c232ce230aadf0803e89cefa40e8bc00ff53bd6d46466b058b12ede7f6ddac04baf420b0373990cd3c69e277c1da421288ef85f7174793118ded6e65944c666bbc6ad80d2fc17e5fa0255812dd1f227cb9f62f1d8e8e727f77ee76110694f0217b3d1dfe5206c53a2d9908508bc902e0aadf318d8cce51a4dee027db4af891eb495fb69ee8f63e19bdbc7e79f636ecba4e73bc4cbc77cfc38f72349827cbe4ea7d416fd66bbfece0d8089e26917e6b3d16a466139974e5f5837938bdc7e5adb19abdf0c9601ae44895911d26ae0aed08dfdf0ed13a6070da51a7b346794fd4ffd1bb0e4b0eda4118dae388e738aa6d451fb8433b8a1ca4b04e5b36d8ff3dcd537498e\n\n# tcId = 211\n# truncated digest\nmsg = 313233343030\nresult = invalid\nsig = 2ef1b57d4bae68d33603719c33a1d408f1edbf0262d7f11cf1fe1271206d3004ab581a11e870e7aedd9d48f4ced6d17920d46260331e3b6936be3976c0195d75f1ae0a31531885dafcbcfdab108f830ca811dc5465063b4b0be364e284cc759fac4a6e21aa156f6916654a9f46f850d714d245dd0c0542e61292101839c63c3598d58f56bb9b1efa44be5d6a2adc5548c4c672413d551ffdf239550140e91eb763c54256613c910d4e1c951a1a9b280049e368dfcd7a66448787ae0ac7638f4cc68bfddb0a837b124306b4e864d7a89eed62c20c6c650e1c24064c7c779726d5655e7c7c0f29b3298ee6518f44b316eb0e67fe1ff883acd0bf3e8f43d666db819f50ca3c765148d3552bfed9875ab76506c5ab8008ce19163264d5792caf479fd126f9ed8ccc234f3e696e62a8e6c5addfa0558d9a23bc09f4dee3bf03dc7f997111dd0f1fcc331c6c115ad299c0837cc4b52933d843faeb85ef80971ba4e6c358d29061a35632bf794ace4b85513db058e54f81fdb43a20d5e7c0bffc3f9cb8\n\n# tcId = 212\n# truncated digest\nmsg = 313233343030\nresult = invalid\nsig = 2415c061a50da3a1ec6636857127378eeb1117194d9db2147ec4f11e5d6b4a9137e8159e51ef125bf397782fe3dcf15a110c1994f1ecd006c2030be5de0d94e0e09e55581cd830eafb14bfb473f29a2f11d7bb0b7ea7b7a7156147f7d6e13f3541f8dfd10a4d867b7f82e550bc7c553a43866b295b5430faaf7d5ff4220e8fe1b538837e92eac811fc713a83533241b31e1004627f583fe349ee5c7dfd334fd9b4494dae6809029c12b8dba865734ad7868288aa6d1bda45f37639d2d0feef3f3b1a742720faa0c628dfe016ea413a48032a1eccfc5c54f667c86d14e8c6ad5b9f7a44fc0a85e1aa768bf7fd778d71459a92cf07374d2cc9e6ed2660330f4e8b62e2c7117edca9d16d9b10d833b2c12309a7a2e9d96fb6eba760a4c3528e71ab3a8beb1b11039897443bbe8c85b708613c214a7ab7a7b81c86b493b75fc5b1196caa2b1138b239b0c455f17338ccb6caa35a420455d3ddcee6ddd01847632aad44ea88573cd50e6588e586f0ad6365e7aa3a8fa941e0b6089b9716e5832eb659\n\n# tcId = 213\n# wrong hash in padding\nmsg = 313233343030\nresult = invalid\nsig = 542afc8d3d3cce9687949f8c540f90232f008e8d2018fbef274870e99b6ce10ca6bd4eb9b47ffe547bcc1e7eadd9643f61be60f86f884dd8a66e1b152550b397d7bbac9cc4296c4af5e14bee66b04bc88a8ca1d35189ca4cd0fc7d0ae73c52086148ba26429709830c339c3dc89cb8dba0e182e3df9b95fb10e5150f18b81ee3023504a4b1daa8f85ca2236f62108fff221936203e9c5ab08d42bbb208bc318aed4869686e844c1b94d94cc3ba6dad5725b343dab9b01553ff5011e59496c8bd3173a1d2b2faba3793030433953ce1085c4b8a8b995cf5cfed340f24a2917af535a26d1c0c5f3a3bb106c300849fc8fe26203d14efcb3b1d9214a565493f5d07e084f3675c971ecc8fb6cbb1f7c4e07352b1b3ff9e4286d258e7b12e844c76ff9eb18e11304cadb7c781661c98bbeb8b8e28b760c66ed71890f3fca7bfdaa15c04fe7eb53622096a8666de2444095e03f016f094800848de29268982466ea0401eeb4c5b8a1853d4b6a33e7176fb3f6a31bdd6d573cbe857ba00c5d5371ee81c\n\n# tcId = 214\n# wrong hash in padding\nmsg = 313233343030\nresult = invalid\nsig = 31690fd711236dd6ca3acf585195ac53cbd636069684f40426ca86e1b2d7b033f6b9033fa75b36ed9a848e2c9f94e5b8dd05b9396c11514ddfae18e8de5a3d5116bf81aab21c2e564b19197fe5e83dbc87f4fc1afdc3a0a6617f3fdee4d63e89b07ccc30aafff4c192cc0164a81c032585cd92c997d852a0ab35a330030e59dd49fe113b889acef34d278eabc985b70b312e6bb62ba278d7d2cb557aa38c88b9a0a4f4ebb51b87306602619a9361d8daf8bc8289e232665f92a244ec0e8b041510c6c1015c01c05bfb0d36999de4a57fb3127258e1ab265365fe2b4c051633254b429131a330750422074803b6dece155bb3af508df4706fa6b465e3be280942e26d82830caab376db6a5c95caddca809a246f05fe1fb9336a433a49b1eb31b26fce820117914f6d7d489c3c79b8d67af29c815a2883470f5384f6516088ba1d999d0d4ad1c7a5d006df523ca69229d20ab6774ff7ad8d80c6f3912671475cfec977827bfee540c09c4be1e3fa1ae5516aeb54773b522621faff15024b20b447\n\n# tcId = 215\n# wrong hash in signature\nmsg = 313233343030\nresult = invalid\nsig = 12c17d7c5ae90aef671b6593279ed2c76219f9fa6b7a01e620b45906582d85611f95c8d5b4224fcadcad8d57e1d6ab7aef928c2a3608ac6d94442afec80945a8d2d25a04376e9a41ac77a76e572819cdafaa788a036a405d9eeb1ee3e3c956d53dbcea9e62adfc921ca0bbb651307818cfbf67000b8089416d09f04fab15382263fc9b2455a8a3472e8cd685be2d36bf6b9f073c0b37e76c3e74a09c968bffae2032b0708e8dcac6e5d539eb22c6e105031fc03a309e23f78fc7ad042196db84b877eda3a234368f982ad458442d998000f413b8a442c7188c9139284989d727d0effd09b6dae707758de61b8a1d6ee2b4873b9f38e87570842c150e7df520445e66565b7ced7bb610878884d08d6438f860c1911e2d07894dc706b14b1f83988c2968fcad0c0bd3f61aeb775a909c40bf4983175c690b910ce3dc402a2f8ab53a093a67f544d652703c82c55b49016d238953b0b31e0f9a9dc32c134032820c17a0275cf3e6bcad0b4adc864407482c9eb34406b7be6c16633fe9c2ed24de2e\n\n# tcId = 216\n# wrong hash in signature\nmsg = 313233343030\nresult = invalid\nsig = 0797dca79b5a166961da39e28bbec6ebf0d9c32d61881067f667423f584148fe8a22d432fc00d7b560930b9874dd66d731749015af00e518c7105d4d40d48bd824e69b77e92a2e302f14b00af7935fae839c7402ad58e24ced541dcc2e0a95188504e652a7f051781718f741f205a6b7d814b39fa066dc0b300cb2ea8c9c7fb90f0b1a057e64239a97f0bbac7995c60ab8099b272d2e0dffd34a82e6a443211e13daa5ffc5eb28f4e6890a7841e88234495138f6d2b497dc2165c65cc8177651375fbc0e6d0f0815b9e5f49b53f67850249bad66703e84c2291095ba66ec33ff078f40ae5cd66fe3950514820c87c42e5866997a35baf0f721793b08bc50403598058526c0111f91bc46b387cdb212d3f6d144f27d3eb6a32ced5b5022e1775a74e4e2c52638a0d8dc4410718a7330f8d15ed5e1b321fc0cf7e3b209b49f1a61cd71560434068d1759529898f1a6a280d7e31b7cf498bca168208d1335bd35312bb4cb307d7aba823a9ce8767d4c29d9636b85a0cd077e552e59c552c201e495\n\n# tcId = 217\n# wrong hash in signature\nmsg = 313233343030\nresult = invalid\nsig = 56709e7ac1d1b37f162bebb32a9cb9f86c8f9473e5ebeeff4ce5506642688f0256b5f1fb06108b0c3bd89bf7956e07ac22a4154ee4bb2cf5672592852f24d1eb46211f3a9dc55c515fa87db83d5a747aba9a0b8b3e07e1be26bdb462a3dabe7312350e6814cc857a1cac7ec6e1789f69df392d13fefc49acfb3463ca61dc59f619f34d75de7c7532a1c29228a57337a139a08bcb376ebeea36fe92d098107cc57c1ab328226195844a8cbc292dbe31523a842c5e222271d1ff98ca8ef5985bdd7f8c0c6f9f1a582e07ad46fa64306cafd2ee768baea1e2cb5aa42443920a6ec40e168e5de50dd2a94243f717dcebc9b4ee47a5128369b41fbee068f848b8a9069350dce0b83e6d5a9a9ec66521b11b735ce4ea3d8c7b4ecd8695cd87221d1d7484c9a893cddcbcb304fd203e7c2120ea5104c0d3e8fec59a6e0d1c44abec68d98f6409be5da8aa8800a93f457ad6b085cff25f7a51602691f8465391276e71d7068977130668aac2a533444bd6cdf93d8808aa44f3b79c9930e276bceb33dedf\n\n# tcId = 218\n# wrong hash in signature\nmsg = 313233343030\nresult = invalid\nsig = 26f1c4ba5c1a316e6fc50e47e080740e2ed6869adec3e427d3e85b41e706c92a263924aad99df90d5dd1a7f778486f2bbfa649668b8b8be51f69906ce866b11e3ad2fe85e36bca16ab3b19c3f9662f5e58fa2adb25d706c2a1abf94dfbbdb19d44ee2aca040585c8b83c01d60dc0d6c21914521d5b4d9edf1dfd6301fe24b4a1b27276e61348686b743d3c16cf5ad590667fa231c0e8ccf96b4c30cfff37061a33b01258a6b3133c5087f3d4f90238d0d7689b46444f15cdae75c9f52d934230d5a9c8274c7d78f7b56cf1575ab30976bf4057a4db00080449318395d3453ed40a851ae93d44f0637a743a52dfcefeef2aab70546a7", + "e23db718137c2476b29b9a96a6f144afa4780633562d14018806c5b1e156a0322eaf70aa574e2fecd1df95d22e91b45bf0c8e8a440542d1d70dbf2edc08c408bdb18d70d950286c20e6332cc4c715037e54388c8ca225618c94154241129e642c00fd7accaabdb63222d0e84820f861419b14e3e8cee4b814b1fefc626ba51c2f1097c6a4ebcb8c0ff9f1\n\n# tcId = 219\n# message not hashed\nmsg = 313233343030\nresult = invalid\nsig = 87cb3f4338f3778724de29879c04dae6f26bdaef62bedbd3bd90c7beffadc29855a32763aef0a270f5144e39dbe71c9f965242e00e2683161814f82fd88035bcd4b088e4eaebff0e10ee66b1ad1958dc8df27793eee2b115bdc1756f82728967d54f09c6ca0c5aaad6e19a5fdf2de1e7fa92274ebd8bf42f66a63a066264b5c63ac6a96105ce01c820fe7c75c0570d9aca4ba7e16a57aeda4ff63e32d672ce47739fe6f599f2ac420ee4776e5849dfe3c0a1888b4f6efd76f34a5e91ff429b553a9929e73731e2619d512bbaabf3d188cf2478d026dfa0f3abae77906780db2e1d4ea81379f6b609fb0b244a44ead1936b406b4c9c60b1f1861d3c456214244760e77fdb3b5282220afa345fc9dda3e91aed17d6ce6c4920fddd2667f4e074cfea65a06291da9a7c447a7eb5a531dedfa675ef4893e615aa21a5487de867c5e353e94037ba5cf369f49f661f1d0b1dd06eb8e15d02a046bd627e21dbbc8429d49db65bc5f1407b54a609985005878a126e1506de27aff74ef59d077f16090ce8\n\n# tcId = 220\n# message not hashed\nmsg = 313233343030\nresult = invalid\nsig = 57e351ad1911613910c6dc91b55738ba621e299aa13d29a85bbc5b1815b8befabfd5f01f50be542ffe12e75637be6cfcd53dd908986bf158129eac99d21da34f8febcac49eea9c0af87866739e82afcd91e8fba7aecbadc5463ea8a8d758f904c9c5c02dff1b265a7017918554b1e4af660971c2189b9d11b064cdae1a442a0627b0e9d01c57931dbbcd55ff2f130524f7502b234cf6fabd4da24ec8dc8b26189bd3b0edb5556f24d355739266fabf8b666726306f396cf679a95e2f976d25a6ae13501093eca990c35aac9ef4cc7a7b7022eaa8a1c241637c8d3caa8c87513544e955bb1cc9dfa58232a476bf92bcf9f7d01d0bc7a394d435574362f5067a616ca94f80def4325510c99fdbcde99bacd1f6ba1aa510c6dd0cc7ea6e540b1ef6ca03721f166e3a34ed794402dd81af0b6a7683acbfa83e60905f013e65037fc2a3e98cdd8d2a7882d96af02747c2e940bc049cf7d21f889767096f177f2bef6cbef65c5a11f5ed481352ab92888da8c081725b573c68745eed31581d649218ca\n\n# tcId = 221\n# using PKCS#1 encryption padding: 0002ff...00\nmsg = 313233343030\nresult = invalid\nsig = 48e9fa9c8e311a1e30a12356c5edbee8a6f426e2afd213bc404618c4a050f00e9029006fb0f285759bd643b03dc4683fc76810b8fa2eed9f559383d9ff58d7f4f67fa6b3f81d702c798b499f300caf17b7d590df9db39b890b5b4d15e33cbefaf4601fffe0d0628aafd028e9252beb0799e2f8dab8245476d141f0f40716145a4f4b7000e66cb388ea037d678f0b867964468467850a7ad6ce57f0662821259b0b937cfe072a587e562f9ea0d04fd5f646727305b1e164578ffdbfcec538ab4b55977f49e9f4643ef5fc91482cd50941ee3389583bed58ee57fabba1755a2994317d903b4933dc5e1b950d2023a1ec8647e47aa718cb3387d2f57c428363c1b96bc21b636bbfe02d329d68d5f2b8a55184997f9f250fe744099a28808b487c2387825d9eef46b898b16a6786391e2bbf651e50d172e6f1581ec3979434cfa313a19006bddab314f5de431da84b377b0b51e01af31c22046e5a08cf01c853e742116ae20722d9d6be74b3659a3a3dc3f72bc4808f6cb205953d8c36381031fa08\n\n# tcId = 222\n# using PKCS#1 encryption padding: 0002ff...00\nmsg = 313233343030\nresult = invalid\nsig = 40be445399dc0f5bbfc80b5114d463155ced7f80afdd048763f3f1c42f7ba0421c30b3f433d4ddc34592985529514eaee3725a6da772328746ca6d0e8e600f18c27c91e3ae86f084144384816fb13083870ef06fae11569c2bf22303331fcd0b4c905c5dbf3f1fb844bb003a96cc8ad2ff8d13d814f8304aef179dbe53141a1b92c28e05a2acff47b0113cec3bd16d0d1d2844c95daecd2103dd8e1801b78bef6ac2bb4e9584956247235d186eba8dbc5ae278a7992ce58f4bd9f0cf79bedcc8c90238bdff6f2c9671ccf355154773dcf425df02d1beaf04ba79b466f036837e26e35ce55a6071b54a92f4e0bad91b8e1e0e7e57277a16b2d66377866371222f8fc747bc2ce1a4baa6ce6eb1289c25b1834377d52c693d90d63cebf7fdad96b22796bdbeec6dea78ec6f2d886c3b7c27b850e4ab9750c9a71e28a29e93db8b980908ae8f485155bb434e4925305ee06f08ca8be63691cdb60d32d28ebd50ccbac1c48e8f91a06fabddd51fb6ca26421ffda5b6bf30e38aff88cc24715f97cf51\n\n# tcId = 223\n# using PKCS#1 encryption padding: 0002ff...00\nmsg = 313233343030\nresult = invalid\nsig = 1665825cb4c077450250b5c3ec8bc34ec3fcbfe9681e3e2636d6487ee6edde37eb62ac5a715ab8135083ce2ecc89240d5c5c716dd3823d90e211f94d308d4c8815369f9a5e316782c71ade45e48ccb0c657a5d6174e7397d59ccf9455044ab87b97b61bd0844fbc9b5783e7333a190ee70dea29a8518b46f8052e06f956cd356cfeb1b5b7e701d8269c3d900a72d4b78af7fd046244a5e9b1abd300f6b37ea5a91d26c9cb0502e9485d607298cb62f2ca730d4cbc082f3bf7ad21cc250772b75c188ea6845e8a776aa6dd071731ca4dad85d0ba3ec2d9b027071ccc5761241191444f7bc98fed8989c0dcf10cf207412ca8484d3354b1669087da44e0e1c182dcd0755bf9f6439741a5781695cd90db51e42848997ddaca2b924b82ebf78b3c6769bca88389694e79ad6ee438c010ffb93a10bb839141f8dfdcf6acbb59a634dc6ace2b7dbd734ce1bbf5724cdefa0d25cf897379b037907fedded7d240c2649a99d813a850aef75b18d7fe6f1829caca136081a3502d7091eb90555017a53a3\n\n# tcId = 224\n# using PKCS#1 encryption padding: 0002ff...00\nmsg = 313233343030\nresult = invalid\nsig = 3da7c427a128077200cd057541357cff5e95f1eb1ec4a370372ba4b62ee2c25c5e1559351cc4d4437c0de4f96ffed108d7455b1e76590de406513e143ac6de990673ac0c1b35e9ae3190b9651467058715ae20172968faf81c2f5984bdc6351146282c4492c6a7d9c8cf878aa86c29523b74a15dc18f0fd427f09a65458bd17acdabdbe90263d5b247c7b9cccb429be3d5467b6b919765bc31598dc684c01c00437096904ed3f9217774ac514ed9861fe0d402069489ae91ae26eb79a5a5f1d45927101fffe6b3c55b9cfc0f7bc4764019dfcffdd05d13da1ebfc0ba99f344b1e481a59476ab6d422c872abfa133095fff2683ffdeb0935a5c779bc97a59d929084d77325fa05fab2e40c50d140ebda7710678ca77df62762a7c3cb0a35546657e332f38e0fe51cb285cfa9b2ae838d23d6bb9f3e962d55c06f3298e96ec4f77a3f2a53016202dc2cd8b423ea2e7c96a7be55cfebf57537f6f8cac6e5c50d4ad9b533f50d399057a5bba03f87cedc2de59aea08079cfbe90b966be102a5fc4ba\n\n# tcId = 225\n# invalid PKCS#1 signature padding: 0001ff...ee00\nmsg = 313233343030\nresult = invalid\nsig = 98f649a766413ae1348a8e601a78000f7b284eb9077f2b4a202609c6540502d6b8e54a5ddde7634d4e0e8d5bda0a5673a042c659d5fd0366937f222582b0a41305cc382dedee14234f86015e9673defd1133d133b0daa87aa1e5eeebd3af545cd59effe44cc8a581791f874f491a10030837e619fc089c7671eb0551f17ffb8237c2085e0d5c90348b22317efc1ed53893e06242ec60a5d438195bf3c70b0a11b78a7f0edc6d4287129b412d9477b020937882a6bddb9cf7ae963e7bd44ea61fb671ce6fba1a2f085afbf781971359eeea082312f3618c199657653b37f07c46a43ddf6709ab3433d799158ff6671246aac560a7f7e26010d9937ee61537a6a06101163883b68b0e4dbdeabf22a0e9a5a0da15d33427440b48918d620c8947387f92377d3a236942758167aa459fffe96fb5ca7304742a3e4e049a2cca570da8f05c21bd7f797216f01f5f5cf844c05dd74d6a5fd10ea7396b2704c07d44d7d06ecaf18d2d3aeb716599c8013e78dd2812380e15d28272ac1a378fe4dcad9085\n\n# tcId = 226\n# PKCS#1 padding too short: 000001ff...\nmsg = 313233343030\nresult = invalid\nsig = 9f59ea3f9dee7d9336ed2f86adb180cd2872c032ad3324cdbbf68e26d579bc7580cf9cc28bca27ee4630c3cd69670840e1f8922018023c3ea0b2e85b86a518348b46e103237ada4b5d0edde8a0ff0a54656a156010b16d86dba3c2c1468318325710b8fab1479349739c02729472fd497a92a1a23f8e5b6717292596da69c3faea3e9cc836cd21043569ac64b3b88e394b8bd450538e63b0e1b507ec79969e6e4aaf9e893374103a01297422a6be9991882a48665cc955b6d55bff8c762637f82a181ea8ebbdf6ea25ffb793c09e69842a919881fd0a2f90636b88ea1a3dbf27305cafd0c7233fee01c4f4a4444bcbbc6585efa94a8c298966dd8cf2ea17981f6726c854560c1a908ef78bfa2ebce522072eb5f4b741b45c6365b8d5da492c067c25b4f467b6c34832032a0e2446f5aaad149b298b3b6711dbfeb360cf6149b0ca998a94afd9c835504c6ec97ef49a5b8427e577996bfc921d2da6be89957912f6183b289212279f6fefa768ce8ef4386abcf1dc8c7b6ada1dbde45b7e7624af\n\n# tcId = 227\n# CVE-2017-11185: signature=n\nmsg = 313233343030\nresult = invalid\nsig = a07887f373378196b0b748cdf31c14735ccfa0f117acafdaa21fde4b6e7559390b834e7b92e9e1cc9d49fc0fe6cfb60429652b4bf9a7768f71fc4271ca6fef4e431192ebdc98630bfb94c5baf18b4cf7881d84483e4c44c22db15a9627705a0b42a26d6f3d6009aee0d2a71bedf4d4b0ee6b6fec2f16e1277ecaa3bdedba406473a476d1688df0fad1da795526c7e641981b4812b05b692d60c60b2bfa424c8b620f40dc9dba59e2c710e7ee750b3e134c1f71f43210688aff17aaa41cdb5668753f0006b1cf951bc5951f4d89a31196985ea55c0966c3662bcfe4e4cd34f12e4afd7e5c4a130739b1017d6a583882fd72db1a67418702c8b01353ccf75b7b93faec0e0be36211d5f2bd910e1552323711bbeb73858f899cc1ec063ef67d88e0c699d5a689c52106f06e960f09d2a3cf84f53bbea2a473edf2e6e0176801d3fa1c2d358e1e5a26f646ac93796ec1fadc6991c0ec19c9dd90b25a2dd3bf73d2cf1eea8867f96caa5a2df54973acb2a2da0a1367ec74afbb968f517765238d1769\n\n# tcId = 228\n# the signature is 2 bytes too long\nmsg = 313233343030\nresult = invalid\nsig = a07887f3733781", + "96b0b748cdf31c14735ccfa0f117acafdaa21fde4b6e7559390b834e7b92e9e1cc9d49fc0fe6cfb60429652b4bf9a7768f71fc4271ca6fef4e431192ebdc98630bfb94c5baf18b4cf7881d84483e4c44c22db15a9627705a0b42a26d6f3d6009aee0d2a71bedf4d4b0ee6b6fec2f16e1277ecaa3bdedba406473a476d1688df0fad1da795526c7e641981b4812b05b692d60c60b2bfa424c8b620f40dc9dba59e2c710e7ee750b3e134c1f71f43210688aff17aaa41cdb5668753f0006b1cf951bc5951f4d89a31196985ea55c0966c3662bcfe4e4cd34f12e4afd7e5c4a130739b1017d6a583882fd72db1a67418702c8b01353ccf75b7b93faec0e0be36211d5f2bd910e1552323711bbeb73858f899cc1ec063ef67d88e0c699d5a689c52106f06e960f09d2a3cf84f53bbea2a473edf2e6e0176801d3fa1c2d358e1e5a26f646ac93796ec1fadc6991c0ec19c9dd90b25a2dd3bf73d2cf1eea8867f96caa5a2df54973acb2a2da0a1367ec74afbb968f517765238d17690000\n\n# tcId = 229\n# the signature is empty\nmsg = 313233343030\nresult = invalid\nsig = \n\n# tcId = 230\n# the signature has value 0\nmsg = 313233343030\nresult = invalid\nsig = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 231\n# the signature has value 1\nmsg = 313233343030\nresult = invalid\nsig = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\n\n# tcId = 232\n# the signature has value 2\nmsg = 313233343030\nresult = invalid\nsig = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002\n\n# tcId = 233\n# the signature has value n-1\nmsg = 313233343030\nresult = invalid\nsig = a07887f373378196b0b748cdf31c14735ccfa0f117acafdaa21fde4b6e7559390b834e7b92e9e1cc9d49fc0fe6cfb60429652b4bf9a7768f71fc4271ca6fef4e431192ebdc98630bfb94c5baf18b4cf7881d84483e4c44c22db15a9627705a0b42a26d6f3d6009aee0d2a71bedf4d4b0ee6b6fec2f16e1277ecaa3bdedba406473a476d1688df0fad1da795526c7e641981b4812b05b692d60c60b2bfa424c8b620f40dc9dba59e2c710e7ee750b3e134c1f71f43210688aff17aaa41cdb5668753f0006b1cf951bc5951f4d89a31196985ea55c0966c3662bcfe4e4cd34f12e4afd7e5c4a130739b1017d6a583882fd72db1a67418702c8b01353ccf75b7b93faec0e0be36211d5f2bd910e1552323711bbeb73858f899cc1ec063ef67d88e0c699d5a689c52106f06e960f09d2a3cf84f53bbea2a473edf2e6e0176801d3fa1c2d358e1e5a26f646ac93796ec1fadc6991c0ec19c9dd90b25a2dd3bf73d2cf1eea8867f96caa5a2df54973acb2a2da0a1367ec74afbb968f517765238d1768\n\n# tcId = 234\n# the signature has value n+1\nmsg = 313233343030\nresult = invalid\nsig = a07887f373378196b0b748cdf31c14735ccfa0f117acafdaa21fde4b6e7559390b834e7b92e9e1cc9d49fc0fe6cfb60429652b4bf9a7768f71fc4271ca6fef4e431192ebdc98630bfb94c5baf18b4cf7881d84483e4c44c22db15a9627705a0b42a26d6f3d6009aee0d2a71bedf4d4b0ee6b6fec2f16e1277ecaa3bdedba406473a476d1688df0fad1da795526c7e641981b4812b05b692d60c60b2bfa424c8b620f40dc9dba59e2c710e7ee750b3e134c1f71f43210688aff17aaa41cdb5668753f0006b1cf951bc5951f4d89a31196985ea55c0966c3662bcfe4e4cd34f12e4afd7e5c4a130739b1017d6a583882fd72db1a67418702c8b01353ccf75b7b93faec0e0be36211d5f2bd910e1552323711bbeb73858f899cc1ec063ef67d88e0c699d5a689c52106f06e960f09d2a3cf84f53bbea2a473edf2e6e0176801d3fa1c2d358e1e5a26f646ac93796ec1fadc6991c0ec19c9dd90b25a2dd3bf73d2cf1eea8867f96caa5a2df54973acb2a2da0a1367ec74afbb968f517765238d176a\n\n# tcId = 235\n# the signature has value -1\nmsg = 313233343030\nresult = invalid\nsig = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n\n# tcId = 236\n# RSASSA-PSS signature\nmsg = 313233343030\nresult = invalid\nsig = 627e76d9ab46ec144d942afcb5fe8f677eb9b1a51c047f7b8974f1a6697c5f4ed1c616ce304bef814ce307d4d6a8ad96a704e71c2bbe7fea47db502e59ec985a69405d9a606ca5ee7bc1e131783452cbd7afebebc6cc4ecdaf119ff16986f561ee4405a0bba05707da66de70f25c1b6e7bdde656eafb70d3ecbe2ff3bee66e3f0663a55feed8c501827a34f5916d0dff22fd7baccb87db47a472a21625c1af097264b5964d05368a19004ac9c5e11bd3129327f476b66abbe5b59e7df1cdad9660c52bd13c86b5a721de476f6662cbcc64db4c6e93c8ad7561326947192501050d4cf6e62adc42e5f3c0c605e3a1b1a1cb8486dbbb6fb070426013e9e1a5a2d1d8b0481ffcc9235a99d154e1991e8f15cd453e609be6bd008187b1f3066fb8d5348f08b2784f8fff31306dbfca2c59e1f48d40d70f7db16b89cc8506cf0137e2a617e27d529450f25ad8a7c502d197cf146e85fcbdf6e57e4703408754817a06fc8a60008560890d1e72a6751a43903c0f00a47ad383a28ec7bb469b178d5ecc\n\n# tcId = 237\n# RSASSA-PSS signature\nmsg = 313233343030\nresult = invalid\nsig = 4b417241f14720559c1e8cfcadb9e0d6b7de849b16c80dfdbc867fc33e4b81d56915190fcaaecbb8f6481c177cc68e26813d8a93ff45ccc41b795714c7d486ff3b929800f88063cdac7b7100d917c2288094cecbe5d6f2ee20edf36dc646464958cb1cfcdabed57f329561ec6a8a00ea2011d2f9215f65ff6afa8ac692aba8328a04c9f9fc59c8d8f22e309d403fe04acf5a31de007a5f0f402efdb2c83c0c5aa57379163b14429146f9521ace54189c5445f80076b2d43214035c2b0e175ae0c463253796ec66477e1571bb6ac57722105b58fb507922974ed770eb898bd584d00a2267d8bcfc66055e7cd7eb7e7497149076e1d287b31671298076f1aa6d3f1ae1e3fd62eb8714f9fc38bc6413b2a15064da7b6b589ca5ca539d0d01a58f999935f1a8e6a0d89d440a510ba9cb71a87be0cb81cb1e05b73f8402d684c768ad86c98cd3bc904a59ec88c385835fb46b4ab46e3e026eae14e54a00f0e55b5cc26920682f9713d48c7946e1b0ab22a6fd6cd3e833666cdda12e31c05240a94c80\n\n# tcId = 238\n# RSASSA-PSS signature\nmsg = 313233343030\nresult = invalid\nsig = 338c3b8b3ca15e0fd12433c5b18347d79d344871aeca17dc93389f3c5fc123ac9f9fe95c97dca7583e3fe3c2a319d0cb409367aa7573c7ad75b118ede506631f52aa861c2b0e31a9d8c435416e8e67059dfb4ceff533c214c4243f5451f449ba7b75667acdbeae22afe959287fd9f0ad3e4e7709de5c90a6e23996a7ad643ef0c3aae54934c31d79619c04b4cb85fa5069fc9b90231debe3e59da0ffa2873dcf9e53b8481e215b585b1115c02f63bfa6143e2b900a0ac71773a0439bb5d86a78b4ddaa5e2b9e44f7192d9451a6bb8e4635948212b17173b0695d4f518189714dc0b51", + "ace3b9068f5fedda3b4ba4e24baf901b313366f64cd54fc2fa3db8bb8f1e81e06effd580fc4974a3cdae688297b4ac423d81dbd342b3067e6b4d7558ac8f4fd1c1d8f5fc94854adfb0ef8a69ec43b375ea724932b391ca5c04e7e75fdb952d671c315a7f86a28ba954db126cda3a39ef213b5f9531a8a159dd9e5698ac7ec8fe7df2a2316798742b2fb5271fabad932542bc98af6e99d231a1b5fbb09eb\n\n# tcId = 239\n# RSASSA-PSS signature\nmsg = 313233343030\nresult = invalid\nsig = 7bf4d4739c1ce0e13aabe610a110ffe79dc689db3f9fdcbe29b56212f7ec0b3cdb96ea7052a277327107a992d40c5c5d03ee11476f328a83d2c3a1bcad5c9d9ea2928fda571850a2a9988a0078429631f6097b2fa9a85aaa1ed9ac0934a5b9d00fe6fc106342e2b03d4123e09e2ac61c1343f88047daff5f511c8fa3d66f76406b79b8f4f0475ab14313968e56ca9d2e8672d3bec27a5d536cef54220cf44a4a698fb7cbb8035eb5516ae4b44aec19da40fc788f2546d5da54b7e1110d13d3e3ae97671cdba93a6f5946b2cee22c4318b7343a0c6b0a32000c6ecd08c6913901b79dc2bf38707fdf14261581b656af1fc4e1d5d6234f9a5578869cc8b920d7020fffeb95977bc3d154b1127f454bae63f7b1ca377c3ef42b0ceb75c96b3f54ab8a5831d59ee8ebf4457f540550a6113584ca4782a53d7b62bd5c5decf44e005d2c46cf3e0691963730708ccd6bdfb29e7c099f1e91494a14a938b3f5fb08ac40bf93a10cbcef007fb6a99b432472ce3bc883714eecc76e002bace4b0394041e7\n\n", +}; +static const size_t kLen155 = 209306; + +static const char *kData155[] = { + "# Imported from Wycheproof's rsa_signature_3072_sha512_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSASSA-PKCS1-v1_5\n# Generator version: 0.8r12\n\n[e = 010001]\n[keyAsn = 3082018a0282018100fae12363cc51e266de7d74b989085f10fc08f44363fab4ea7fcc56101d116616c43de313b70569cb27de134ecf35fcbcc448a81082678ee1ae427c48f459ab2c42c9085911a3d81c914f047ba46ef1a52a4983eba1113bdf0ee95e85cd23224cf832fe3e916d3bffa6ddcfee0926938b2c51c8904bec4739afc4f07979cbeabd514be5a2b87abec71c7a2b39c736d776442ea9e95e97ddfcad4c4c3b41fe856f81cce539b5057abfc6fb1aa153316ea4f8e76b8dc8804ee10303fc2dc182f7ce5d907e78729679333b3b012574b4c7c613c020ce1388ad37ffc0f6b2330cc5edf7ce9ba80eb984b6da2ac59aabaa3a29172ed2937920f47c17447e6185119b9b38a9935658997b487735a8184caff10a8f555d034552fd57471b293f813f19aa6c2139877992436fd1949ebe2259528c91716414aa72ff90bb5142d2fd5e7ba12d8df1ac995408e7fb645a9ab7b6f695e4050500a9042253833b055182657915246589f8362203b5517b2f7117d2aca015fce3cc41c6b1bcb2e672db142d52450203010001]\n[keyDer = 308201a2300d06092a864886f70d01010105000382018f003082018a0282018100fae12363cc51e266de7d74b989085f10fc08f44363fab4ea7fcc56101d116616c43de313b70569cb27de134ecf35fcbcc448a81082678ee1ae427c48f459ab2c42c9085911a3d81c914f047ba46ef1a52a4983eba1113bdf0ee95e85cd23224cf832fe3e916d3bffa6ddcfee0926938b2c51c8904bec4739afc4f07979cbeabd514be5a2b87abec71c7a2b39c736d776442ea9e95e97ddfcad4c4c3b41fe856f81cce539b5057abfc6fb1aa153316ea4f8e76b8dc8804ee10303fc2dc182f7ce5d907e78729679333b3b012574b4c7c613c020ce1388ad37ffc0f6b2330cc5edf7ce9ba80eb984b6da2ac59aabaa3a29172ed2937920f47c17447e6185119b9b38a9935658997b487735a8184caff10a8f555d034552fd57471b293f813f19aa6c2139877992436fd1949ebe2259528c91716414aa72ff90bb5142d2fd5e7ba12d8df1ac995408e7fb645a9ab7b6f695e4050500a9042253833b055182657915246589f8362203b5517b2f7117d2aca015fce3cc41c6b1bcb2e672db142d52450203010001]\n[keysize = 3072]\n[n = 00fae12363cc51e266de7d74b989085f10fc08f44363fab4ea7fcc56101d116616c43de313b70569cb27de134ecf35fcbcc448a81082678ee1ae427c48f459ab2c42c9085911a3d81c914f047ba46ef1a52a4983eba1113bdf0ee95e85cd23224cf832fe3e916d3bffa6ddcfee0926938b2c51c8904bec4739afc4f07979cbeabd514be5a2b87abec71c7a2b39c736d776442ea9e95e97ddfcad4c4c3b41fe856f81cce539b5057abfc6fb1aa153316ea4f8e76b8dc8804ee10303fc2dc182f7ce5d907e78729679333b3b012574b4c7c613c020ce1388ad37ffc0f6b2330cc5edf7ce9ba80eb984b6da2ac59aabaa3a29172ed2937920f47c17447e6185119b9b38a9935658997b487735a8184caff10a8f555d034552fd57471b293f813f19aa6c2139877992436fd1949ebe2259528c91716414aa72ff90bb5142d2fd5e7ba12d8df1ac995408e7fb645a9ab7b6f695e4050500a9042253833b055182657915246589f8362203b5517b2f7117d2aca015fce3cc41c6b1bcb2e672db142d5245]\n[sha = SHA-512]\n\n# tcId = 1\nmsg = \nresult = valid\nsig = ebf3c64e4c19fcb0fd920e65554a552cc1e652312c2e0e51cdb3b92c94b2b41ee201f61f434a6aa4703e87416388f4661c04fdc2e459e199af3ea208c61b99d746f4b00d82105caf4f0196f1305e806bc13b4c6e6bf581962862dcb0eb15a0ffcb0fe6b36502320011b540799e1432baf2a56a428fad64811afb57d210d859a1201ec057dd8d2a68784b48dd07357162f21e4c82f8d5e385b1f72834dd4c0d85ffd333410f08ff28fdb7365e408a60af177c80298726940bf4c40efcddceee3945b1d921b9d04080dfb12d3ae61863ad2e3e302370f5a8858a1213dfcd500269ebef76f4ebf0982a751d8ade1aeed95f41d4560084711362774b11b6240c0ba6ee4ca634ba8298f6e63ef560a39047481b9eaa546178e69e4daf5651c66c6235ba97c231241c63ad16efe59b7b5505d9c3f1818368b9462cda71849e431648be9757620c15f99ca78f4e250afc41ffdcdc52693a1fd43506274c431caf34a4d37321f5ccf04971a25c5010b9ada07596bf9a20bf307db9d5e86146226081b25f\n\n# tcId = 2\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = b9bb1751f2336ef5126508541b949d40f1719bd23c2f0fed64a7b73ebe1819377e6e4262f8440a3a3cd456f5eec0b1c0956bf6989add2c3d1c7ba4acf7a617d198179dd974051fa7a14ecd8093ad572d7e233daa2a9a46fe59bcf7e01c6ad8d68c0afa89a58247ce257566edcedd799173e2babadac15405e2812ad12ad900ad997035966a05a02988e11133c21e111a8e06d7ce509de1e0c11de55379482cfa072348fb41c05083529c2db86aebee92095e7450a75d97fce7b3103ef1f8598459651dcb9b6e90f299c9efc95d7ced2f6e91526ab3788238e2b5e109d3ea984189ea13939d58fd4ab896c76bca4f6a92fd3bc124dddfabef1f286583a1415d1fdb8c80de8e7583fd6d52836a22c3926f69723301904532b9fac2a37d0cedccd4b3d0ddf3550377191f813d4f92a5c126ae91e03fbffbcf59637ebbf1f30acba1dfcb0f93285381cec6da60bbcc62074075c71300f8424e0f964422dfac19d205251f227614bc13568f408284b6b53bebd7dc4adfb7e242953564763292d9c01a\n\n# tcId = 3\nmsg = 54657374\nresult = valid\nsig = 1cc02717a3321a83da62deb3ed0b9706cf7ca9fdf3674617fcdc3364a697825b910d54b891b5f8eba197049047cf0048ffba6425d47374ec24a84f1f7f04716b7ec54daccd04aff858e2e7c8830e4420b5f99df756018083abe46d3fbce2da6e8ce6c893fc11ce5967a5f367159f9ad38d957078dbfbd32e818a26b49ae00151350044d22b58a4a61a35fadef67e3f8247f407f026eb17b8dd4ab29d388bfb271a1ec606e141cef3fe57e2e55ae8b40fb076a06f5898362b695545124e9c185c50647cc5b83f09f406e780f626ec60462fb50caf8560aa72fbe174111142029b19f2d681f771a774afedfe2500fd8b1bdd437fc41709253ffdedc302f47afa774f5ad23777a57fe44067182f4b35a28923edc82255cce11d2fbe91acbce29289b4e0e8f5e99e906e6607637b05eab4028d85e91d060fc1fee052a09baeea759917b34855e09b8e5b67ad60f45851e991cf01dd528b100327961eefd0c29f1d1d8771bbf3bb1e7f048d9c2e1dc5e652e6ac4f6a2aef86245b83f611700bedd07a\n\n# tcId = 4\nmsg = 313233343030\nresult = valid\nsig = a0de9c2df76523499c6c344173d944b8e02ee1520f90759fa3c27ce284091f80215a9a26c9fcebc125171da556bb732a0645cd64b05c7cbcd8c187d3995e3c86cd59468118e9278ecdb8e791badca8785e56f33478ba03eca721591930db01bc1a5da5e193b2dc9022e98948644a406138a4c7971ad8ade585a3d72e6c9de50320b9fca1ac0e054835005cd39c96400c491e1b706eca22ae2e9f1b844284226fdcdab1f2cc942a8280f7786e0f2cd069b9ae99f04aae424a6d24eb023e064513931b2e4f7629151af6bf83f4c5c58616960f080c6f96eeab07a87b6d7cef3fe6b071e49ed340b48867a5bea30dee332cb89e1a54d9e3a9a8bbb87179c6ad206fd48dab07104b1f887a02160b59f9ddac6d1f8801c1a8df507ec199e970e02058c749475b7636ba2def322160b11b21773fdf904cc665eb5eda887ecb6d9be245d3dbd85cde107d082cc6d8492a087166e23835a379ac69f5a996ad9032cc41e205078c5ec9c50f85c396822c057b25595a35471a2fc3bdd3f75eb8ecf2d1189d\n\n# tcId = 5\nmsg = 4d657373616765\nresult = valid\nsig = ddad8eeace34f1eb1b0dd28db89ba710ee68aabb54b0a826c2d69355f63acf0f2f2e0dcb96f388d44d0940774d7d55fe81ba6a8a880aeee8ce842101c7e8837fbf2704971341d38bf3289dfc61a6b3b557588db93eef2789d3735000c8e2d830a32070626d079e710c943082a8bd1c0cfb64b2dd911eea76001f8e08cdc01cb072f027fbd9c72331b857d07c1c2f3090eca53accef8b3b015438942e8d2fd3406cbc54c7ec3797a163b13878881f7b4ef5ca45056e16e0c2a76c3d5108c6f0f48803d27eb4b0d55e90b19b6fe372dceaa61270b9efe2800bb259dbead955635ca44ff979bb054b5cdf86d4914ee553d7d5b1a49fb8e49f3f761224802858458f702aa4428964a32a45bed5738224517489f2be075f9ec7234a019005be922b8265bd78abdeb1d1633fe7e5aeb37b61d36b1a03a06847a812e50ed551853d3cdebffaba8b056b788a1bc452ebdb5a3f043a116e5a3d262c745fc15897ad4ad955595292a79eb85373d552d6079ad77e469f7d3a60330702125127b1ee770225cd\n\n# tcId = 6\nmsg = 61\nresult = valid\nsig = 2ecc537edc397ae5c3c789638204ba3393bff5cd9c1f0552db515a8258a311b6bdc88325f9072d2ae67bcf132a92c0b4d01ef0f2916349adc6d8f1b415c86bce6b5afcf4cf2d3137897d0f8a33063a0ff69965a5d2ef00dc3e010094ec8214c95c064313c8e90bd84e34c86b2e19b056539bdb3c83eec23722b3e380a53826bbb31cc97ebb8ca77cfd96d3e6a2da59baaace3883c652a92e79653941c5615bd30c77aa38ad74c49d36ceb9f76544835d57f0cd14999c2c0cf3debbee17a8aba6d777ebd9ffd44b09e093f1a894a8aee80301c3a5a59626a79e445254cb1df1174450bee22a7518afeeb15495d663af289dbb09216543bccd136abf2646bac573551cfd04e6a35b5cdf9729c8b14d34c06660a42b3ab365a42ffe470b69062d0f305c733c43844565b0b94d49d2019933de9686088d219d57b256170c137a21475d03f2a7e0783af11426fc6e64895fb92da117702e4487558e8bd21db82f263c4bdc64065c4f66d87c87889ec5aa9cee02c95d001b08636dc3420f817c228dc7\n\n# tcId = 7\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\nsig = b9b492d4796fa2cb7066069a00e36aab8b8755f9dc8294401137efb3e2681c9b57930c0ba87b45c9d70e214979cca91a06562f710a2427660547006ead7b3e619cf4652131fd84999c5ff1c9a1cf057363b8ac62501bbfb1fae840cc963a95169c658add96c6c969d415c10bec5e2457a5c3fa4fe81e7de1afdec6f4e59e3fea185c7cd1bee4b8a42d2f22c7bad7d4933621a0cfacf0136abffc3ac54ea37c63af719425084cade944999aca3f43c7625d22af10149f39acef32ed7c92f781809aaa945b2f446a03e66150a524c7d88b7bec587ba7d6fe2db4ebb7a8c3bd46e7fa1cae291ff502acf33f003", + "dfd1417fc60674501728e52490476d813f0079f56a9456909ccee3b76b30aca26fd4487527f4ee6283bdb2e72393d661ec0c35b2d1675f679f823fd28e044fed090721ba4c6be46da3eab26e5eb356d17d04fc3ac31425a6f6a50474e2725bd4dc30da74fd3767a122ced21671e47b1fb33bb7018349f7cbc916c6c7f4ca7334735a0e0ec18e01735107bd2ff02cd9508fa5832dd\n\n# tcId = 8\n# Legacy:missing NULL\nmsg = 313233343030\nresult = acceptable\nsig = 7d550b35998d60a62393379e47dc02b1a4530bf60c892c4e559acf9b9a61208dd9ec054c865018aa2fcd11a88493b54935039d0fdf5371436da96ccc342bc1440afdc46eb7bfb6595303b013037537e695787324cf9593dc156881bd0dffe8d2d22d4e90c1bcc801c9bcf12cba9efb7979a293dc2ed17ef787515e2bac8011286c939c418234df353ff9a5e0617615acfd7bccf9aa31c6681950947df67690e36369c3c3bf6c466e9748da0582acc76bf15760e8ceead43b5c2e98d87eb502d5a823ca69702b6936cbe36295b5714fed51b35fad66c819cf1191b3708f398fbe8274f1ce219e8cc77690f30bb7643f9ea472811e6216253c58fbba5d19ab738d6fecad309999a4d814c19620c4ae998a5f0061fa616ec0ab96e3760dc5d3450ec376a1a0292899212828768bbec07a0e1ffdaf4d6e5fd1ef5a2e0567341b2fc0a4944fe8bca36369fdc0177885d5169747103418e2af807c4715d94c2bef45f5eefabe8980f90a11acc01ffe0453e1fed8a7986b07d8f6daae2fdf0cd266c587\nflags = MissingNull\n\n# tcId = 9\n# long form encoding of length of sequence\nmsg = 313233343030\nresult = invalid\nsig = a31ac04a54a8b6ff7e56a0fd57b356d1f854de8e0f9001cb216b859819279bd80d8584bf603999215ba8debd1e9e93fba985427be8e2169924a3954a43b58521e0c79e7a858a77081439beda623bb7b96ea46176fdd040682da77916fbeb77290e7c93b2e8a1d3722587a70ba56b8de3b2e9599bea708568ed88d2f09d7b9d0ebf9be2345b81d9b343c7392701d35d1f3400f343763af8d9233e40228aaff22ace45920af56956e07cd010af64e01e1f8f63a9dcc3b7b205de730199fad3e3b2f139c556748d704876af986b98785fa5686d5d2410cdd95f1c80a8ab8e24c23f06d5c40ea5f2be6f980db62b6d9b22cf7aed0ec00125e1900e50db95269148f6165f563b8ccc0d35c9867412c21f627ed436769842662c856392d3d0daef99bc47ba8f2738b4ea9d068b20c249d43dc01a067aaa8c249d43e110ce40de060c7c68866639bdd3c6d7b7b635b7ba71b44b71e7f68651b203ee07b914d65a2165791cf2f6d5dcbeddef7bdd7f786f812d9c5515f846eed933248b4f40a00b7735fb\n\n# tcId = 10\n# long form encoding of length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 693fb14d0d6089db3aae22e292e43627af0cbd67234983ddc1b077b4baaadc45bcf0ea0f36ffdaf970f99ec5ed8ae8a58b7e94db9028963e14c2f624bed16bf24bbc5aafd472915d643e690f6e981287ee7856fd0f14ace63a790676457ac09692bafca0014b2866c870227a976fff547812641a70993da32acb962a3ea050845dc533390175900c668a5f36ffd495ab7917b768c68407f4cfe1d20bedfaca38f9f609e74d9e432829da2487f957069dcc290da513d8a453cca27c8253bebba2653f82f676e663db0248af2a310b254b00219c5969f05d04fbdb9ea0cfbd746050ab25cd10de42a02a0ddf223d40e233c6a6597992576f2d105b72cfd77b2f319fe3525da8a8f084c305b14e090e3bea5c5eedac3360d366c47fe9cd60c6bdeba472d408a79031343bce42bb1ef5d6f4e0e63cb7ad0cd22e4270392ce711d7c8efbf0feb888c74793f2dd903e3ce894ec758d69644f654c5a75378b0e5c63a5f9ae05e0f4818e2aea7286416aff545c1048eb4d359ce1bcd0b26a28f55695b56\n\n# tcId = 11\n# length of sequence contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 0783d81e403f352d1140b99d6cbdf63f413a55ef9a64fe1fe019adfe807b5fa59a18e63d455e0f8fd61edbeccd392a01e09dedfe28600d1c7507b1d81bc814d1e835a95219cefaf7525fc0d03bf211bc99397bc8fcce685445263a3db61184a8e44edfe7ee48e2a7a5e3c8c7f28158a308db3fc35d822ef6cc00e8df43ab1b0a7ec2c92e3fb7fccf8f8b35e68ff6d31657aafd756782996785bee97d3ca5c37d22b44f8a1a44ed6afe5b80b9659336f3a39870b5de2385630f3fe7ce3c91bb269ecef7b3fa999a79518aa3a06fb626a5a1e48db98199c1c4d7a139497ed8e9682cdcf343dd03b4a5a056edda9e7101d2da5ed8d5b953e765bd6585cab5a27030a8c909ef69e61c0ffe9cefd2ffbc6f7cb26f64de674ec5f4395f7627adc72203fd6362c17bb1f262c430e502a258edf86076336499fa89efe7e1298c7c932b0893088430a30d7309282cc4a58c5ff05fa3f1dd664b00139c309831b8084e9f3065816844fc3074d7e8bbaa638dfc2fc0aaa74380a1282e65c7934be1cb7cdffe\n\n# tcId = 12\n# length of sequence contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 162e2eb2457e28016b961ece8cd8aa9d4d2f4b06a9ab069cb79238f5870075de2a9755fadc5c78c28c82441c474718ee905a8d7700ff2601d7c56d7eb5a9d7019e92db6897c823925cfa75b5608c7a79e24af37abc09c89008be7b2ceb70170c6d1404a892d0804cf9abde53f9aedd13815459c3c6a1b37f7dbfee6e4b9e25143d9c64a6a817550337d0c74bb5cb6c7b5db2bbb770c67037729341cf25aa880b14d39d71e66cba9b62e1ff89c348eaf4efc79c0de4734171406295e346e9ce7562be7a5462834f1a00da1d4d54d7fd7fb12430b4096610fc96ff1bdfb88609d6a961338bae78991b05f2c80d2a131de5eb3477946d0d6f5f500a0fd93d57e0be3518b60e5688d8ba5b25c2343e894326129173b86dc315fa183a0d96845464f24cc020dfbc341f4623d6732ef699b3af9274fb504422bdbcb491c8cfc63f6cf6adbafd4f2bb671b92b6f4316ea456d9d87b8f3b2228e37b0f34f2d1ff70cfb0ed16d14ad3ab5e89985d4e30e51e4eafe69c0cf6ee5cd1ddae25b5585622a8b45\n\n# tcId = 13\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = b17c7e6b49469e75e489f9647112354316bf3ce3a58aa9ae41544f73c8e1e56c284667381eda58b3466d3ef16962a2619d718f93edab9aa12e5be05f73cbfd4d8e546bc936ff9043d5c048f93794d68c9f8d99805f85665797a27b84a3e97883e74ea14c180aa2e5c0785af69275d484e14dffb50a4ccee742e809a03da229e70ce529d0166439cad74ec6457016b92df8e53f8ed68cc71229a1e1732b15175aff54ee34de4e908e9b6f9e720417d1a619ba9c1ed70a55e4f5d9bd940532b2f58700f404cee86c8ad9c72ad7731b8c2a063efbdb96c7b35d641d5027d55e8cf6c317613373dc303cf84a469b54df3c2ecf5cc8d1bb3882dda48e41b9e5a3dae95ded93f230959c547ef59131fed18c269a0d5c2be16891071299cf1bf77573fde1535836cec1daaf7cbcc50c563d08a79725d66d3720ecbbe1db7edf85ed3c4a9160350fe94326e3f0440619df346e33aab6333c1e38b9f34139a26778d0b0e64b8c4746e5879fc56eaa4c4641171f79f4f3fa711b9b0548cffdbc39929b4ae3\n\n# tcId = 14\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 38f8952c63cb832a35b8808ca9255ab12fb5c27573f29d585cc30b94b050fc9e179f87821a2cf8d23f10d3ed6f2a8f461bd098eb5f6ab98923647f87594e2cec18a776af433cdf2b77dce0cd853651b50700c9812d2fec7a9760388f4c26da6bee3b768574644c4069775ce21e81446a9e7aa2c97865f4b953daf7acfaac13e75e079800bc5ffc94090ed6842960e03e95753be39e94dafbeea1745fa7a4fefe777ff5d278a8444c07e3c8526e80960f6e2146900ea86720fe35c881a61e3f23a32a6bbfbddf049084d9a6d1b32b9c2492161d1aec9479a8891c7b651d13e34e784e5a8d3cb2f5412d322689591a98b41ef9b010190e732a5ed0d28b695f6ab06870ebd23fee44845cc64d4ba39017047c7eadbc16a1e35788a9d2c2ff02b48badb7bc4605225b7b631913b19683b6f90e634582ed64c25bb6157f28102c4560945b6baa91dcc551b4a6bf2b5cd2adb8a0aa87e29c502b5b70bc4cce2e197479f9923c3ca35e5437c849d5264dc18cdd3f6bc7b88fd9182bed11f0cba3cc68b5\n\n# tcId = 15\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = b24733b208d83a92b4a7c6d64209fa2ac1dbf615954eb99704ba9b6eed2a545aad13253234d88e0afa81277321a8662a1c9c59a7ff932c6b2889e44ee47e25e730427665a98f02b8897b24ee3036febef294a8ba02ce60b9fcd6aeb592f32daa1a79afe2a48f5097971f3a72ed3680433d93da0e3f19aa7d37082880b0c3745b86be89d184162287bb6354158ced89bbef14faac68649d995a4ba8576266bf5464106a82cafc07e4ae4dfb4ff3f6f0e8c713d3fb73673e75deb3fd04098c7c939f91594e45323432f30029122afd4e812475f69ec05248d6e2deec18e7dd02c7e9cf89cfdfca8b3412410b1e271023725272ef0d9fc72f35a94a484bdb0c1167c282dfda53a86b72922506d51adfab81df9dd257787aa5fb6033bd7fe61a577a7abe5b48174a3b2f7bf276ad6a6735593440867739851c91bb30fb2f6d279f35aced179d231dd9c5267cffd6b184bcd710a365b29957eb98aa81f10db84deb3448e2bd8ab50dcab06fdb3a2b1290eac0e60dbc4114243540585ec78473fe9297\n\n# tcId = 16\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = a336c6c475b3ddb4f9e58bda547d867c25b155b19d14746f8fe9b22cafabc05aca001d019352e8e96cb0afbadb7bf16998e5052b834a0045e861f646fcfc07347079822e64dfd5e72c2f996f0d5ae5d31596b93c77fee310b046d9c461ae9637ca21020e48c6745feb9b7a8f7e98e47be68214405b55d81d190d0bcdce483b2915544108bc8daaac9563483399a69c19c644d4cc36be4333fa9e9221f17b0ebd2885e57e84d31bd615e438aaa7a1742f0d6f3779c55ea3dedce1940e819cc140cf887edde8506b4c919edf3fb6505293921889c3d6704ca6aef24e620d87d6073c0e9f8a8c43f98fbba9e84fc9c445bff081acf6f6559dc0a49c9acd49c1adeb11ac31e38fe8319389541144dabfff498addb55d974082988503adc422d78f3e6c1764baf174c451eccb13e0e2f9791512e9a949478109176671f56cb3b8b841fb55207bdb7dfee0b7d76ae95a76de6f6ba4e953ad0431bbd23311ef17da7f4272a7ec4a34c08501d01965c4ab325420f6464dfdf471fba6f59ee78bedc28524\n\n# tcId = 17\n# uint32 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 84d3cf49f14eb7e6d625614743859b9c1ef5a79c23d3c16e25c492c85df8c3d8f5", + "ed0a6e548c042a71135bfac1d209cf434700e8a6247f8d9bd3f1527ae63a5b797880edd6b3112928b9878a890cb1d0aec6e84cd5da2d3191d590a57a82577c8db2cc51e8eff17c64a6f445ba202c9f13af6b20d5974c88f88bcac534ee80eae451d72bac360511ed77d9a09952937129790dbaebcc92014bde155de59c13ce95784ccec3b4e9ff0a08281fd30f5180f62667f3a2575e67550281c2f3ee42af8b9cd94721713cc95841311f81cfd5d50883d063425b8a307f8bab6bc19441eb5eb256b6cee8126586707eec75465bf8fed4bf010f00633f2d2a216af178f3439fe0857921a92a642b83c7edf45b8b7f0e280cb362fef1e6b77144465aa06968971861a03c8f6e6b0cc77f713a1417ee76934d441784fe9df0e65aa5f439a0cf9889c9366a213fa2f9302d8a70b4d9cf7707687cd2214d720eddf7a61eb0edbe679df5fdef79f2a8df50e90f26be5e156ccad330a3f81b998df0b610383fce24\n\n# tcId = 18\n# uint32 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = f3d8e162aa3662eb0648048acd70eada84b12a7d15476e58e47f7720bca89a0f467f7bc2c6cfb17273d0ee66c82c2e82c7cb184d073af6a601cfa7c8df3c7eff348fd32973f8b3502d5257639016ebb24cb6011deb8ed816ffc44f262f03799b122a0c3bd7d69df064a34b166d7f138982fcb4bc2332384207117986d92bae3a5afafb0836a892a6c9403cf7054bf02a82851b35768ea77498b4d12a6e85018aa59623644e18fd9ebb4cf3490e8577994836a84ce6bca85ed3fce977e0fdac1eedc81e4aef60b9de47900b9dfd1b67a0c89b0be88ae67a5307576ff84a7f99f3f030e2133a51bf7af75142f59330e2492973373e64f34a05ba7f2262ebb91f144a89cd82906358e5a8bfdb5e7da91c2ca95d0e45cd2bca9912b27af36f45d4cc5535b0aa95e75d330cb01bcb01e23438d0bcc4207a2a7fbed4d762d6a81822993bdb42baab84a3b9cdec3dec31729c831cc28dec111605924ae0ce6d6c16ea9a605171a82cb11102bcab108229271e2167ba6ae715500038d1186204ae2fe685\n\n# tcId = 19\n# uint64 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = bbb3dba33bbc56a859bfe0cab3ef7ee4fd1b9b8196f5bf02f55c3fa70ab8eca32d5e2d95e3166d5137b7136d21ee17fe5d790b37f51b030521fba37b0e1aaaf5bffd62db0421bc82798e58f6b94046519adbe859675acdc9efd050792a3ececaccc3dbd774a9cf426c5e58527021cbe8212c9158baf67a8d3ca0361364d0fd486f0402e8b5a94894b3af023ecc6b9c0ec8c9b717736dab8ae1da1c1913df84b6a5b7e6019e3e53efba2bead981e49316f671816b7222deeb8f3f4875cca353351d810f271d3c2a6663e34a8ee083d80a861338e22ff97e542878760ec0fcb8dbb390834409754b95f902210be72d7104abbe1a87979c0460dcccd2cfa5a13470855ead59d0d7554eb6b5a12611c5c1ec9db3ec7d3dd795acce3a2c4c71bd55c15986562689e808683442ddbc8ccb048eb2b154a66e6e19af41c233d6196155912bb1a020fabd6e803f04fab88fc677162b0d98c42500977c002774341c3fa455b6092d8848958c94de4641a43a269cc6903e512ceea3512351a05c52bcc2ac18\n\n# tcId = 20\n# uint64 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 4ff317feb7f29b39f43c6dfe386347e057a97c5063007322c8ccea1761e5285a14a25cc84af041407130fde5e7e94d5196cefefc485d1c793432e62a8063557a0764305b40a7619b8e9aa9b395acd64a1c1321fed36e2187ade19b9a25e52373666cea888f5c699da92a59f2b2db76fa29b8e9d9b78e6fe42fe9d722c524a59a3ac8d7551ad5c5838c4ea92685ec6dbb23b6b69eb07e8a187ab78af4ea81c2d14977be336faf8169cc189eaac340c9578dc6d98148a14844c220ac1085a80c5e3e4c6f04a472cf1a4b893aad0f3370d56468ee1cef675b5fb77da481f128ce8aea30c67fdaad92f26db2df4c45000ef581e1a0f323ffb69e45981a6c1c8e45ffde22b4cfc0045fcb60e127820f4f1b2568797dc34ae29e916030ddc55d78629534f926a230c4144543d383aba05fd3fd1787bd70bb9fb8046d26c4d7034546452a682de60bac900337e5a27978e5b709475f4e01a1d57a00190b5e829d81e82f38450d3a21b5b6eb83ec0c491cd17cc91b6c0553d857a55fac7e8dbe378c95e5\n\n# tcId = 21\n# length of sequence = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = c3d7c56f39e387328b551f8e33f1a8f6ebcd8375bf8a4ab92df72c732e73919778388f0a3aceec9f6753133626887c3a5793cfa2e8340466e8c0d602663cfc169643a46eccd913085dd1dd1efff1046dd441b1dd071a558c629573ba36631105ad76d89561f284c6321c9f35b1c4d5e588cc93be7c62b2db5b8c52526c8815c9dc5b755431de7abf8b2ae5750dea20823de561f92ec3630f80606a0638a18a7aa71d24a6e19f6ac3fa16eb77f769da4b27ca1b2bde187d10e297f6c8ae8c5aebd84e75948942bb64504ca0230a6801e58b23a7aeb2ae1458b5750a894cf6c5dbf3c60b86ee988bcef8e30f21afa7197e4103fa6f4f1a87680eec6173f480c94e11f8db980597e38c71f36e3c68215d810504ead6ff1b1291ffa5d178708ed3b0e5b9f5651fd1df9c18b21deaf20b1a8bc6de73de6e7337315bfd428156fac738542b38d03bcf1403ec210f67753e5b73db07d363ee85a595c205bf25827231df2bd576167e84c659e9276c7611a92fcc1e06af925543c4b11bac35df7ad14f34\n\n# tcId = 22\n# length of sequence = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = b2b73525c8a556fac8a98c717231601636d1ef1f6d52265bdf3da2236b35d6e673277bfa2b2b1222d6a90b50a30877447573210c87fd85a48469185198af8bfef4393e0b46b416ac0cb7fff2be11860209c340e470bd59d84dfa598b3635a5bdefebeb35feb4251157ec940a0c0fc6fd5ab97493c3e9c663dc943bfee7854f2da6f9b91a9dfacfb88bd21c15a488bf2b08bd00e311de4bb2aff850de3dbd9be9e73b9ae4af9a2dd0a7a3cea94f1badd56ae6679f5cb87cd3eb7ee6ddf7ff426686e551d846eb8399124e23d6b87897bcbbc0242cfaf48f8e08e9d5957b30bbb4dc942bced416ef50388b25208c5f4824ca875c4ee75eb1a705c1b5b693dac65e447e06f41251b295e05d4c5137bb7c0f451a19adb61bcf1282ce729b3ad581596d99c5876db7cd4a614112bc9d5557187b824a266434276c3ba8bd30c7f1541844a262ae8d4c09419c6e21881a3f4b0a8c3d958abd7ac0a9d0e7f1770d229177ad8afba36e324d254d36119d13cf1a47c93f0bedfb7d1776acca7c9f14cd56e3\n\n# tcId = 23\n# length of sequence = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 32506bd08dd88da1d3a3172ed17a6d1393f40413bbf2a7fa4f9393314b7d158a905c1e528d4f0b0c47417d20234f55e58fb9fd87344773b311fe4a77137a829d3a80dc77dac5170e32be53c212404d2802e1cdf982cf57261ae64d402790a7ed8efa42d9d807698884d23187c3f239beb3007b014e324e9f5f070cc225ede15115d07da064665f8dcf5a439cd6ab2aaa86cb4b7bd0f8d97c1c9a1eb3b416702b534ffdad74f447428c04073335bfc96b6f0528b0ba541ddc7aca70e37ba0b9acdb8acc1410bf82d5e6a8effc291f5701565d468c1578025f529be0cc7a2ae473eba843dd72ea8a6f9b3022c79d05e52964287ec9c2156745d4a14b304ad7d52da8a45a854becb8095917a4c7196afb2d73d35a7ef65748138a46c69253f0f67970daa38e0d435fd8f8763e9eca8d3be5ac96618629e30d285db481f23906e8a145f70fc8eaa71e451421501c579446c9545a1d7d033bd9ddf62e587b97ad7925b60a5a69ef383405126e4e0061b0349f9cf292641bb2050a86fbb505a68d321e\n\n# tcId = 24\n# length of sequence = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = c0eb720b105f53c191b4e62f76d6e49a1c2319c89f4223f1849b0ce95872363e782531d8a1a5a45e4422ce872327a49651df41705ea48087d797e68c1fefe0b25cfc01b457361ac2f98f2b6d675c04a62aa32f18aef7c488205cd1d82c6bbd14708125d86fba57f2c54a667a31a32af54d8df6906c07595d2dd3147fe4ed42da82377c88f44b7d29c8c1daec6230fed36b4e57191d950ac98c78fcbc6e9405645b3c5fdd69111f9e3badb199888d0dfeb69ebef4a4a39465cf9fbc784c59c2fcee8e367387554148ee6318b8a23d3526266206de788c7ec4d93e60e537bc3a13a99add8087f5a33e6c8904050a9b9e2ed7efac91db3e4672a192b6d11f38ffa57f5420043da23c4c1fcaf46adf4f7ee4efaa5f72ab4560953a1e9435f93b00a8dd4b5865d714ce5d026a0ebe9dd56ba7d4b35f33fd764c04850c5dfa91fd6cad03d71d41845eda65f9c36c7117497e82988aa49f553a510e812ac475a0c510eb03e0d5d531edcee01c475b7cfe94a77bf45a22e06307a9f6c6953d0117e3892d\n\n# tcId = 25\n# length of sequence = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = a90662e02c0b8f5452f56d7343ba207ac0a8141977c46b74923a68f9dc155abd0230dadf771262b1c02db06de7bf78dc40904834e01b7b8bd07d48cb1f0dc9adc5dd140234b7ea8eb51ae64b84ce799b3948a8c7e3601328c3ff520b712fbe037d4ca78353d8b518660a0c0f61d3141f7b6a010e2f7b644665a2038a63174156d67f00fcddff3315d76dba6daee07d8315e518a376b3d4f695576670546656e538d7eb8851497c6e8428dfa0a5a10e3e7834a23968021c7cf17d2610254d411d2a9996fc8052c38c322004fb359bec00b4a781e4dfb66eb842054fa7ada84797010f1dff65a0729554266086e4767dbe7c174b8540f5da25578a3865caea12915e4cacf0284495c208dcc5096f861997d45ed89e534207c79737bf420dd5c9d6a6e81a5064c72c3cfcdd25d8a3dcaf2a9968aa97f8189a37db4a228ac26894f3218c1466343ad41d6b292621e795289bbcb5e80740ff91283012a7f747e0220ab94a8ce96fb54c417e0ff6fb1795f078ef6039939c24b9dd32d31c4b68069537\n\n# tcId = 26\n# length of sequence = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = d8436c155e096de5d22e627bff7f42869fb228581273e9eadc0c3f35be02077b3d37c8c6e4fb39300a1093af1fe0cb42440caa0564f7a78295bd1f8946a218051f7257323aeb227d80f3430576da12a54687c96dda4c2ef7e359d5fd17b7d77a2fffb09480d17a60c80f30c4e06724783706b210212ec11cdaaf91cb1a7648b3d197a4c2f4b79380f356a06f026358a5381a4c975eefab6e9546619cf4df87ec106066448644a415820af3136deb86d34b61337b4b0e3a53ec136ce8b26f949a6741bf067ad69da068af1291451b0b882544ba72b74248f6f7df5186ac7da1946c4faf1e1e0f08ccafa7bae6c9224d1ccb6a5fdb778ac4e55ae414be393de1da87424b59de23", + "d245da78bd714ac7d91103c296d4407ec50b61f1173248e9aed1b19ae50d416d9d2cc0464261ca9caf17060a0190baf5e1e3acb9992da2258c8338813b2a14dfb1da5947e694a44e9aa5ad75eddaebed2f837a2b3cb5827ace240f754a9542e94f9734d8ebf895a3175e978731726c24922daebb40ddf75aa1d1\n\n# tcId = 27\n# length of sequence = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 385dccec5af89ab079eb126efacaf253d560d2f0807fbdb510f7b1afd9bf99bbd2f37e1a35c6d60517774be91f5f182726ae5bb031dd5013addbce8601b17e36ef790c99221dcec94a5f78d4d04deb3cac59db4dc87b0fa48e6e1e846c8efa86af95f13f28b3eb32b0b5afc71e7a74a713bc9f675629c77325527212e3a033f11722314f16b6f5597910a26aa71042ff8ae271d6adf3a294eb2af5dabb0406ede91a9f14fbd8835f83e50ab2f47756e287fd4f0fe09c73ba13b84ef6510a40a0aaecbc3e2d3451024ce5e08617e8b88cda10d3ae277636c13b61c2f81dbb1ffbdcdc4b681f4cea0ae6f9d30858b9576e5c4659aa89a5a32410f07fc6fd4ffde8f7cfcfe04a9b8b9bbc70863360b71ebd1b0c9c04889a2c45c24c9fa259e51deea5c313a9e18e8e44ba8c892b7e3cc1c3877cd7531b4886dfd7eb0104ff2af8e5a886774ea7114c24cb6fd617398c4096355df008ec9a27b7bbf6220618ecd71edf86ab2eac7506de4bcb2151605f767e3d7663dab57df275136299af1e59a5fe\n\n# tcId = 28\n# length of sequence = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 475af5abd6944b6985018ac37700f22f00ea36a9e1d6072450c5e8cc95ae37f13864b55ebbed41785a4222648e70841d3e5e702efb39cc58fbad00ef9629af8b9390b994ac91e366fc85518dce5a777553019604896d8b9130664cd5f40afcf455caa40d684ed09c3c968779b06a196b8a65966ddebd3bff289b6031bc1ef8ef64d69b9f98f47ebd8b28d5b761f7950942a714f487020a9fd23cafa893391712328a275a2656076e1ffac7ca816268e17e0ee5e71636c8757816d1f7cc199850c09cecef27db8b854023b174b8e266ff1694a05f78dfa84952399ed48102fe170929bb050f8d4b1fd2e5150a010b77e270c50c65585c36e9e6c860b20df609bbae4340070435f7a8c7acced87dec7f8bc4e2232098632794f2858f5ac5e13aad50c4c187bea9d4d7463530bfe565543079748d9f1fe794bbf7a7fd525a907d7d533e3cd2d6a8e40b26773084f0ab15aaff91c29a7c094b88d45ea39b37c14204682f9416226d11fd577dffc543066c5e954c1565c400fe07985cbcd982332e1e\n\n# tcId = 29\n# incorrect length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 201e55e5d00bed299bbf003fda2ff30383c34b8db32828a0737b499f7b19297fe05c4ee5f50f404d1fd347c4042754f327e0aa634a832d098dc8c4a2019114569a48087dccf8e30dbebcde638c8f1d1c7c61ef9f15c478c8bea4d9ae0d5629f2a420e9d1cab335d3237ee9675ed06790865b901cbf29de2b730b77d8319ff9273aab3e041656226c129048040784edf4d13ee1def8fe4d52beb55394b34817c9fc5b64bf6702df68211b637e3f4211afecf8884867f614cdb0eab49a70d5e1e61947f7a2d71416dd72b826968592bf88feada316812301b82694feedaf8cc6f3e2542ae0a3c4023d3e8a9aaf615b8947355da990855538f256927325d65d4f0799039e911cf1e0e9e940a88f771a0e4ffeeccf91588a321e26a48ff2da5d921a0666deba235f7decbe1a3f6b929202227724032af86872ed2e436aa11712173cc0a926b31bead6ad31ecfacdbf98ffe30e1505a42036ccbc76c60f216486ff7d7286324107e95e935a9eba9a4edfdf8f6d76d49a9a9db3aa86f7439609a1a0bd\n\n# tcId = 30\n# incorrect length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 6419ec844dfdf0475c7db66d008c87e999d7ba56b4e567c344c2c6c06d8b07191f0ad831843db5cc931a96bfe30211447f639781c3563ff9d1991cc0e1ec9c7e4312440f801dda8ff5016ad5e1cd12cf69fb34f4b45118ea3baa18502fe291522b5c7f5016c4d770312d64f18401586904f1a96ae8f99c539026a3aa71967af53dfb88e68de1007b063a581d88720f7f5c7c52c32617b1f5f2cf3d4a2964456f6bc97ba97c11f7fd24f8a632a458d1cad6bf78389053c74eac14221a0adb1b813e957b3ff9a65d143b9ae9ebc8a5def0b0e8db934bc04eb7c91c62df274b50c955c374b5081af628af9f7b86486197688b7a72bb634d849be226cf8960b5cd9d1c5ddaef21c919e755ed17b4dc4aac8292d433ecd6b97826d338b785903e6d059d3a7d051d774183c4344c9119b93cdc5fa50ffeb644c09090fdf0083bfa9ef37d01081bb69e28f6d3e4cf2d8ccfe176d961e67f2ac58dd865d77bb52594aaa87be0b2979c3b569055f59ddcb5926303b3b9109c372d79850af1adf1538a5779\n\n# tcId = 31\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 7c70ee1645524561876a1b311f389b53bbc5350bb4554e02b427224bb121ce8211b51ce67caece664fc45fad2df211c579e888ab20ad3b86e13b9adf5468bc161589778767486cc620822e1aaba416da06082f48b7331ab9b2c1dc32dc03fd9243b658c9d701f53fe46afaff90463ef6fab2e2467edeaeb01468f1b348d23106bee3637428482f2e8f65466dd9f9a79b892d45e17e7ebe1e0e4e0a227094aabdca782eea92fb78ca38d1e2f9eedded60f91388136f61c450ece1fa08f5fecf50c3e195ec6ab609cf5c20ef8fe342d90e21090a97eefdbd1a69432e2de36d8932b580a0e9fc7ccd027e73d8b5a580fa37a02cc0e304c895cc9f2527a864b48f531d64983e830cec0aaaa9895dd5ddc80a86529dcce89bbb69b6b8b03774e5c03f2412796dc07b5353c52420eab2664dd3ad216fb69c2a74f3bc2a1aeb8efe29602bbcfce10c077ee5768c6f26bfbe0d52ca169275fe87b26af1f2115d5ca592a1c8e63198c4c5d088f2b49aa6aa58c5c0bdf6e836c2cef0b34f7e3effde1ab9ed\n\n# tcId = 32\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 71e837b50fbaebc31fd94343e5d6e5f8bc45c563e6d263fab9383256fd5ac1f2bac07f6c0d8d90474a1e985ecc5a62481d372ff8b37a867209db1f4389fe80895890607b01f0b44601206a06348813a7457b7a97c7fdcb1b21b2b4ab79731f351a515e2410f93646f889fd391d398a7fa5a0d21b1ce57f6d8c438262e81160dd0c8fd43325ebb6820cab91da203a988c2595268294388049df95b900cfad08fa4b8c5e7d2d4023d0c71d18604388a422af8e8307c6451cc2f206a70669ac7177fb8ef3532b0b3cd4231d350a315b340b9e6603b9b9c7831ef885a72f0f4ebe16ec9a7de4a90ad926b1a4843546f830d50b66d3652b9deeae9d9cc744d3d4f2152d3949b3e71fb0a9336fc8ece6fc733d63c0fa1141b63639048167e1d138a5e4b50ca77382996e7af183cbd330843d378371758be58a657a286c12cb6d555874f38981059a895b2c5f0e77ec0e53c97dd42d64060882bcf5d1239c007166376c0c12e9740b2ec3bb6416a23ff4794a525680d3ebb2c77fd697807044ad720554\n\n# tcId = 33\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 376ac86131ed100ff9dcc808553ca9467e94b564faf47c37a9c383e5dde02516975884fcbcae65b294483f74a585c2d61977174f86df067f826f60c8820f6b99fc78eb830106ec1c9ff4e5706b0de93829ebda0d18924503e92dbe58f68be94fa8dbd16ee7b962c58a1eefafc0a2fcb63e086754ae66e5e3366f8c739b589cadab242649e737a983bdfe88bfe239002afdec11dce52597358d79cfaa72820a37cab83b03e23863108920f435340f450ee66bb97b000cd12347febda1b4e55bac1f4835be2a77fb164dca4c1800099bb42f20fcc0a9f36a7bbadfe979861dc1767dc3c58000fc4b4d25c6d4f929333256c5aca2f7bbed9c9499785fc623ca1686915e7f46d66a888f331dc6d1a2b34a09a526908e9b2c19fa2dfb66fa4adda319023ebae533dc57f3fe9895e523ab67125e0d296271587774642e44a9c034ddd876f67c2c1cf7599c31581b57ec97df1841b5716406fb88ee991abab2a34f5bd06017947a1b43cebe448daa1d98c47a56e813e74a42b3ad05c3172cfc394d5304\n\n# tcId = 34\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 9f71ed0cb9f065dc961b8ce1a397f5c3eed98aacf7366be7a6c62ed2c770bbb675081565e57d0805547d36b8166acef4468a2e122f92504263a716342db40b86515a34ce3b99505af3668b1e94e6d9be2ac4cf8b565c4fdad32e575a84e0118113e74875ab59a627b18f01b3d85d91b679de5d18adbad1391233fdff71fd1b08a639ff8d86a28b75f161ca0c711a11ce506ddac3fa450de7f0225c801b1a1a4438137ffa669c2d51d8ebec054aec406f890ba4baf52ab45d7e32f1b32d828d3c6d5cdd673dad9d67d192ce1a66c0b0f46725cc4499b8ce302e693a388b69d10ea58fb87c76adb1ec8e7a998f430380a703160b55b62bfeb0b66ecd0190435c387f6dcc0297603b68b4059d88bd671ceb59d34534f7780292c25f0227a7ac84b471714b74be44104817591c981dc4f795f7162beb8c5af79b267552965aea4cc97ce44524f3f812d455bb7b25cbd24f432751c20557fc16a763430f7541b97c4249a12a7891b67c964e0afc6c205e4d6ea5c531b6cb542d64d655341c61af014d\n\n# tcId = 35\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 938394f2a86941956721d808ccc01920c59f3d99370036e22c8a1d381a83feb1b4bf59de0dd2cbdd74c69f284a52e3c27196706c84ebd8dd7d08f4024609114d3fcbefe06ff94df832a37c8a8a756580b5fa5dd72e315bcae7fc0f94f5aa592f0b171c9771d5c4345edfb625967467b3534cfe958a76adc1337786c634db7074126570c080839f7cf8682f14cf8e62c8fcfe86d2c6fbb5cb32ba7982c924f2a0833db59495067cb20455e573d60af2ba687ccfa5ea0b0004b8ff7f49eddac928b61df4c865377438700faa2db63142cc64378fea33289478361ed704f9d419415c6b91d310bb41921b0b09789062be03ced9fbed5587414a6c0fbdf91c98001c8d479683cb3bc3c6cfe2ea222d3b58fe49bdb1520548d193333eb37ab695a99c9b98d2f8ad2de7e8ea12dd4740e11bf1a66fa33d3183790624dec2e25f20ac79ca1e605afb4c7feaa7c15fbc8bfce4835e4e2bb60b3d4691f9c792c954cac2a432254b8e293166e90d20e5ff6de6026cc696e5849f9b1b427212241b15791f9b\n\n# tcId = 36\n# removing sequence\nmsg = 313233343030\nresult = invalid\nsig = d7cac36637ee8e4851c5ea7d95d46092937c85e34d6a69c88a0beabe329013ae2ff61c4753a1670cb08d7b407b28161ac50f50f30865b563e684b90b652daff6", + "b6babd850bf208969466accc03f5a48375f7de56853dac4679f1cad8da476b306b7d007f61a1dc169d1450a9bd25959b1d2b0ba5d043e4ec05e897613a5aed53fdfb528057140202d90bcfbbb47de8dfa7e95f5696ad245f2a2061e90ce825366c1e9b90996bf24c73a5dac95751bb9520b4294a76217c6cc3e0ad4e3d37ce4ba67ba09d7fd597536d90d3e65b391d589d0d4092ca44113da696250a6981dd26f4197db7c2135c0206a0120b9b42c08a1ec6730694e95cf73723dad6d40fd1871bed3fcb86678934dfc459131c84f5418b76d1786b55513938eb069e2f788460fef763ceebff1191daaa8e7bd811fa6b44d6b7eec52bd2f62b8eff81fa3b5459ced8e8a8b02d2c6d67e20117eb6bc3cce5d77488f9fa11363e8bf99129a5de92b49e23066e5fb6da9d352cd9ff6e0050a340fed391cdcf23d416d443a86878a9\n\n# tcId = 37\n# removing sequence\nmsg = 313233343030\nresult = invalid\nsig = e7b23269693fae38ea2261ea5acb4fd147c47a71a67272d1b1e2ea49b6a82d6abfe840cb8f2f756922eb6d12dfb9a3c95f9b1acda189df076f6e127e5a88bf3c745813ed9d858ea25eceec8393c0dae2acbc6531df80cf591b2f0bb758c1404be3e5e61e26dd194406ac42ec7b925142b40888b4a8331ab04932a184a586260861aa7eb597d873e21a2a36066c7c7490379b01b6b378a013b965c0e0f77d7cc6ae56e5c143811fc6fcf1eaf16bdda1d110e27527bb49b98efcde70bc742b307478dab7c693c543615fccefffff2410453ebaf289a9440920d230e556766902f9f4feb6e950f88ed1b4a08320f6ba997171f56dce8789a462be0ea6ef38d0195ef98fd79d51d1943be9e1649b221f5d087f96a4dcbcdf086161f1de31e46e3f65e1b63a2176eba38fad5ab259bf375d73b6d7227da661181c3b4a13d7ed2dcab26b71c0e1554bfe57318809e32f5b09eb3dab4f5d385495a1be1899548bd4cf4d5d6ec5b88eb1b69d6c5bf20a539af5d6be5bebf29c2813f1db6830258b3eebb6\n\n# tcId = 38\n# lonely sequence tag\nmsg = 313233343030\nresult = invalid\nsig = 0d2c03a46e39606fd20a39650049b00f2c218a92a590d887e26f33953e9cf8174004c3bde1676d9b3c17ffb7097670fde1c99a378c49d1134c67b82867440a4b2857237ce10a947333503a63b571beef37a59b3511ac6709fa3ea5d814d457af1a864ad365bbdaa383c862c38af292068d839728bcfc1dd5cb7b310baadf1d70419159191b33c6124d2d9750b88eed87c71e811a7f65a5946ae5ab6ebc8375c6d7fdd1e425d4f48b149d2f48fae14e6b3b97f53639c17a68365cb5b270b52bae1c24042776144b9e5d54932524cc83af8eb4a710f2d301276c215477f7192f82502970d5a332f912c0a9ceb7c4104eb0c104da8fbdb3c624d7e87de20b770dcd568f097cba0dc9c1b2ceb9ed4a9d73f7f805e6aa6f0c59868fbd8a6251598617b157ee31bdc119b0444b60451af8fa90e4c0991d91d2d08189283bba14e6153ee671e83ac12d1c8474a08374e47f0687b6fcbd0b844bc435735645657fac76507a7113fb5f4140c01070ec5b27523effcb47eb426bc3231d4e4dc874c4a16ee4\n\n# tcId = 39\n# lonely sequence tag\nmsg = 313233343030\nresult = invalid\nsig = e383e41e1322976da40c9e5ce64c7dbb0571ed9ade7262251f7ea21ff94c75002f39edb73f0a9f86a2070b5fb143d078b14d908045135fbc930fb79a59920a90bf0aba0d8d7abb46f619cc95654a6aa675ff822d43e22b63b06c3060fbff2873f3e9aa728d663b64f0b0b561da9c3e98b865ddecbabb990463bbac0810b5703f5196384f0c8c4ad6ad55297cca2267db1ed3830e064aa52422d614340af68a361db77de375b7bb1c63997ca85319738c4d0d7519e0a8ecd8cf098075b9bba602f31d06451f83691dfeba27503f969f70767885c4c659e5aa1957259ddfd8676f58dd5d3fcdf951bbcc9009d029d17b0eb650184bf9a2b2df5e7ec8caf3a52f1223611f1c44bc529019a1e38db9c309ce3dfa8d5658ca89eb071a7fdc13fe666a09c7b22650f07eaa5e3943568780a2ac282fdb387d917639b9327237e7d74bb88b19f53719845d0646bb548fa5cfb945550cf1fb5187c142924f11a7043493c53841da19ffe27521dd472108e75980ed1f1ea80325a8aafb272939226284b7c5\n\n# tcId = 40\n# appending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 01892d88434a5f51ab9502d5f3c41c3dea7d6f8eff6a14aa90077e495a0289e9ade4e9b1a103c5436ee2778ffccccf2c99ca4b844609cd95dbc1aba6353929d8d5b0cce922c8afd3da22bafd6f067e2444cc060c22e207f593832604fd94ba6a0c91431cbc5dffc9a272876cfa4fa83ebf1de5e2d889212818a7283433963ec9a15b3ffe486b69c6c3748b03823485182739b5e1eac0b90e6ee62aadd808160dc1ca47e2b345ade0245f1e03983942fa480a38c53c2dfd3666e2f81198cb85424224394efc0d915d7b4819c92316c26219c46c85e3e29adbcd6102a82159dc5227f9392b28b657b08fccab9233ce668646826a0611855547be04eba7dd469ba2110aafa398ec6f61eda59b620f7f95caee46b8a598830d851aca7b7f15fe35fc8e4bca694a0ae9af7567724ba45633ea12a6736dda8c014a0a00b9789905a6c1b2a38b1b270619d79532e07c8ed940af69cd7c4553d6b5938f9b6b4201b495e44358a09ba92f2c487325f9bf3a1311a47e1b55aada4c994496970f80bc2c4558\n\n# tcId = 41\n# appending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 2cd3566990157944c036d72097a0a275da39b5aea4c5b091112cf8376cc1f1cee1b06eb2000b3a2f6d5f8f952e95ad92250227b1f790b23e394a97a9037762d5e1149ffcd952348932e56811caf717ace174c3ee096bb877eea046ae40478c14f81aba9d3c7e47a988204ae7d29f482923047c85b14ac51997b6a5166bca2c73d1b669d842fb16fae98c4dac5edb48fbc7cd38e120f8a70814592cc70dae5f8a7fa8c53bcdcdadf025f674e51abcc03bd9883f15eacdd0801afdc976e61c664a250b6fb211a4a69e0547906914247008beecdd3f513ca600ee3a466b8a78d86d0c5341035acc64c354f2b68830ff8d176272cf1ff541d1609ff3799f0c3a9e6e448e0b713ece48a14db4a58df585e2d13fa739d4314b98ec75c6cdc74d68481662c48988f48d1e8d98814395340e454085e1153f6bc9c20e4a411e2c610f424040b011f66a6c5579fae1b9fb53b673da0cb5a02ded3fb37e5dc117e4e71302b360a23bd300143f7efa1a5f2d0052d692c18bb4895d52c0bdebafa0b625e13134\n\n# tcId = 42\n# prepending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = d59ac64e907bfcf38d4bc3fa50b6f2799483d29879a006bc352620e31f395d8e8ee32f0689a1b145246316d27487fcf3f729eb644d9c44703aff5e57df0567035c18c3af96db6e86fab4aa0ccc0c6fb203a50941767dd17158fc4dfdc34151bae10269bd68e0777f23ea0ca8a332f7f9e77e5d95bb00cd6b8d3a0279da3078c1bdf4824c433f13117e4755eb3fde5f9bec4006a8ff9076ec5fe5247554a8e76ace12f27e819143819bdc6112af4be9b25b896b01608b0ffd11ddc87cb00f826458a5357a78e1308e5b5b961b53e8a19b33789c0f4984fb1e6d9315f9780f81e6196f908fd00da1d2fb6b61b67380bd2d2e579829edc44002111418f9ac624a6165cc538ed0ede4d7363b7f716c84e1e9213ed70f02b5de44ada49cd7c83ed819604433aaeca68d52de440183d878b0315388a884824371aaea41290221820cff49e405544cf3545e4eaa4e7697cfdee0a48eb87a73ff47f4d5d8dd3a4f8b09ed8cd2223ee83edf2d41b7ca572aba38b64e987e668bec1ce88d24fc499c92d0c7\n\n# tcId = 43\n# prepending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = f294d22fcc6f9cce7bec0e44a9d7eae443ad7b750a72be5dbb41e3694f48720dc2c1256e030ae1ae06ba65cbb59e8d180b222430a8fb10ed7abcd69c869ad1c8070f33d0f262085414f7985c47d33d0b398da9d272f996cb701bc6f84eaa0861deb5b7cd7226d2b8a969b48d6272a98ab9a9e3b761231e892f4d8e9100a7d1bbf820d9102a62d7d41d92b3d9d55ff386cdfa066afac04c50bb2e1da0e1b9af62de2a7475bf403dd2a4a50f80f6a0f0eb9eef38e00f19861aee8d78a13328469475cf42e0a675f2d6f086115a14243a59f3ecbb6a47d25cd1011d0bb6e1ffc152060465b354ef2c66305165426ec72625d6fcdfc3e830a6f352383e05556f4e14f5ab739f6ba331d3ae8ebffb49157ce3c597eb9718635493e8a0254410bc75755c5d854a316a40845e97da60412eb028cd97d206d05afce20a3221f13ffb7389c400da0047c6690116de9b987c02f09db67313b163b9df54d2437b1f857832fb982666c19b832f6928db60f8c695a4d95571825b7f87bb9601003f95db54a813\n\n# tcId = 44\n# appending unused 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 3d8b8f962091c0abfb446c89b26af8dcf6b607ecfc052c4d240742f5bf9568a7f27cbd016ab734220e8c532412fd3608c8dd3b2437ac93071b2e523356194f3d19cef8ec8c6a477fd9c78a67b5e844af28afd7a7c0e4e995020e5a33db394d24dee4577c41d040cb9f78fe31027eff68090b9841a66a83c4af2cb5d076d853d9de73e2059234ad3d62d56b23d80bf9de926bc251a5530dfbd564db9ded9edd75db0c96dca8f7e704d1ecaf2cc66f12ccd9e537e0ba4d64ca3718c439ddd8bc305367da8d11037275fa2589451fdbe2bdc9951af42034521a58f8743d4dc1164dcf83e6ddbf2cfca80ad5e6346e52b805e27702e382da44602cfa4fa98e7c084492fbe4569bcffd7ef3885a05e5b091112c3e39a7e3ee6917d33367a12f087653317ffc156bec46768403e80a8bf59721249c7b909642751ddaf3a7851ae65146d6b44104215218a5f2bd8c4170bbc5dd69afabcd13a5742909a41965f80e191c8bf21f2be9973c8f656bfc46812c3d64e14b52480c31806dcc2fff05ed7b82e0\n\n# tcId = 45\n# appending unused 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 04dcf055ea6c80a04a302f8b6c7c66e3ac796c4c8c112edaf75531ffa903c5a4c749947b51bb4f74a95b05572cf7f99505c7882dc8c9fb836930a7b78c48e282c287cd64c1ea36c494c1fd7b1597a727c9c0bdbefdac06a752aa5527400f8cf5d881c4364b4ce0dace6c619de1b11ad1461cb9fbc2ce9ccd3e2be901c3204cd613d0e77d7c740bab1ef2634aaa4ffb6f1f25f9982adc8f6c3246267e33de63e7e346f1e22b45ef4438b1f0a8324da5db56e749dd3879fbb5a6fdfde802ed618b15d3abb8fa237bf4623b66a55365b6d771489d8c60f34f83f30092df049c667e86421807561f78bd7075569cc302e3ea72b0559f9f9267463205dee24963c7d56236e433d6d944d4f3708da6fd12173555201df31a52694f0266a4a417b6866e5e33943847020936bdf843fdca5894fb984b6784b1d506360556f1afae4419021c74c6d77f2838b6", + "e4b7d2d040bf6dac3ca591d60a3db50896162913665f7b8ed3ba1027fe246efe41c59c7b5e952aab011e2f8cf72ce3a1bc57c02e9bacbd73\n\n# tcId = 46\n# appending null value to sequence\nmsg = 313233343030\nresult = invalid\nsig = 97ba0c5448dd06846b1383a32d9e5fac291036802c4f2bb5499d09dda2215eeedb381dc755a8ba1eacf01d30d60f7850e0d86880cfb11f181933afcb6c9101c97db5fc943e89f0185eb7505b8b0d905690dc1d9d042ec098fecf5443b98c61fec2131b86357cd34efe4f65071bb1a645aa1596795cadf69e14df98b511297f17330c7dc5b9403070f3840d8fa3740e997b4671b7a1baadef2d289e66fb01c43755cbab218c57b871071529e203dc5e884d6f86b45f28e37d80c77d81b3d69347ba7e476d521e17159e875ef7f49ae685ab56e100ec475ab67d10d9337294a1bc1ced1413a1ebd8bef58364b1a1a5ec1482447649ee27c4548f70f12f5c32d8555047834f5841f30a1556e409489826c0d2a03334a63da4957e7ec9608b5ed18e1193af87cb75ae32432021c8094b80a71ac283fe93855033e2cca47d5d362a37607fca51291957efb05711a53ccf7184d8e2a6b79e2da051781582f3a37c28c7ad095f53680088308d8faeca5b75e2a27d3b62c40c6eaeab9ab8a2d6234eb8b6\n\n# tcId = 47\n# appending null value to sequence\nmsg = 313233343030\nresult = invalid\nsig = be57eeddc0bea94257eb26456a6a4a6d9e9c8fee1ae2e0121ce8e64806cba6692643186eb10ebf43c0cb032c641736401ec189adc48ef6b222f19a43b09b6d81a1626d93a49055e50968e295b78f883cbe0df94251d1f0c8c067d2a5d5ef7eb33b01289f9d666e1f691762b7ecbac496d0ce3dd2e40307131152068307f28f8d2d38b427e03843a7097c7af5628991b8a752bc1eedccf8cb2e4a7507d4d03ef6f18ddc6e757acf87444ca67d7292b273893b41c1ff4a2070043d5ba76f4284e4f16d75721da32f2120ef666d677b0a6a04e4fc8ea5e5d64552cdc872bc860dd5dfd9939143c271c7886505d696be9d7e7864eb586e396c0270d923574dd2dee855ea3d7f6cf57f834a7942ff2f5ccf88d312d4edfd08fd6615407059604a359548af4d92794ffd1a610d82f04d6453bcf35bd8ab523b06a6875e05dbfbb9c2196e2730c324ac51e8c9ff36930b3025bb2a081ead30f887e4eff6464f784ffccad644b9d7354b071101478fd6ed7c64167b90e16d066ff599c5591a943a5f4533\n\n# tcId = 48\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = ecc5b9067a93fb90cda4b45f1c21d2c5503bea7fe7ab592922cbf90b38892741ef75667da1f0435a25588e22645dbaed66ea912db9951fe9adeb357ebbc25b5f524de9c366d657948c2efcd008decbc69cbf085f094cacbf7bbdc9b863cd5d9174dd35176f587ff4f7878817f31c3a9a669bf53aa38ccc782e98f7232b267045252a8cf3ae1bbefbb2030573bdc7cc9222550f5fda9923dcb6412ca0b21e17d464bf334fdbc9ae61887f1a4a96eb4ffdc1dcf29d6c2d7aab07fe96db30289970d5d8200ac95ecef8efcdd60f8fe4991a22427fcad68de1d94c757a764990acf5a76ff33da928a46ee007367b4e90449cdaa4d7bb222babaf1e2ea5a46aa9ba1a1f3999c6a55c2a36d083dca472d30a46dd312cc123b830ee39283a6fb11de58bdff24df169e716d3f2487f05dafb73cf3815a616e59afc78c177a1bc85ff89b431e988f5f7a43359dc9ab7063baafbce30dc245b5ff3ecaeef5a1d518a09a6426a6edf9bf9dc0a5f79860003ec1704b5c756d522dbd93c183dfea819c9758e5c\n\n# tcId = 49\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = e495b2c030b082cd0d58097aa1d1d5f4021215109048db0e4725d3018de3d71dad07d0fd5d94df5f79bebb7678bc85ffc09d39574e7e495d17621c59bff6bc9cab066d5aeafaca13e02a79b3c1a5bd5d8540c4f3937cd4413e9ce6f2e3b7f5f8c7b2d15465435df005304db81181de6d496cb45ff03cfe84e75c5b1d4c4bfa4f055c9da0582ce73dc0974ab5132221a61e7bcbe1e3804937bd007d293861f419bf8ea9a72a142db387b148041f34c5b9cc3e034a0d3cc93cf3bd1e1a5b1bc63233fe8bd1e1d73f16386a70533113b48029a251bbd99106ea7ac9313e93e362a9c6956dac668aa316ed8130376912926ba9e9d2a8a9e808a3833614ffe0e22d7e1ccb49adee5445b1526af4e596eb675e12eb89751ffe5b031a106dc282c6e4f06a233291ae7fffad2b1607ab7d0fc06082de63f7e48ddede5122e3186dee3f797888c804b2aa0322564f39f9041d71b238a816b751216aaf83bfe407f4cd28ca2d319e3dbf873f13329c1ea8064bad9d43f00837cca98080b65fae383c17f2a2\n\n# tcId = 50\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 9ac18b311711323d7962279e8c6d693744db2c8500878326bce11a9beda2084a6552b89ff425c21a22598c09b538a194d177c3aa647cf43648e2b17b9675616f81896949bf455edbd0b0f5713ac950b57397c66281a63b96f7af4bad5c697b293387570926ef7ef85056dd11890c8765223b2569b4115bd36f5e17ad7cc8953a9b6c9a45627cff4addd96dc397051f759635ba3de256fa461a2c56848c924d81dd2a9a59cb921ab4a1b9b4657eb6c1709114ebe99b0acb8c598847a650fd7216690cef68bda445a3710fdbf8540378323d32168af666fa0524150ab850e68e1dea1ec00d2e5e63b65ba6943fcb92217acc16955f2d06731e0684a490ca9721183b2cb72633997e3dceb6fadec188da2d7ecc0ddd82ae7d828c640a89696e66ba7d33a64034100a1299c26ed90fb59efa80a88ac8057adea1378eb7d156b2ed30874eca2a0a5917953c0f865034f53de703893419fc650a0f9dc211f0828343bfcd76f16699abd468e863fd8696a52705d3b49268e76514ab6999b98d8eb942f6\n\n# tcId = 51\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 700ba7745d6c9c146b6026d854f958d4ac00816dfeed7ee9beb4580abdbd491156bfff67215a7cc23dc0dcdbcdcbc79009c86dcd4bbdb54745a8dd85f7c74b96394ae1cf9bc88cebe88eca84776f263434958617b9817339d756e5f301548a1ca4dae92ce9489c5573b9e5f3841358e339e056eb75b105292d9a1897091218a9a95be4a76d2f22a7797a3853bd156a91f0889898a63cfeb764e643e6f4a5987e6de15fa334502aa74dd99fdf9c074e45e463083d434ca0a31424423257d1aebb68375b27fa1a79d721bd3b1cedf744b7afe62ed03cc4b7e6765c50497bf685392d9e95dd1cc11e0e7be8731ebb689d321eb1c67621d87fb1144d56cec866a308a0b3ceb941559f7d157e87f0daf107e82dc18d3c90c67307664415838dfa2969ef1790c4e99017a1f25977b1f787d6504e10693fa1b79f23b42ea1c5318ae79e46ccef01174a752efcbbaebebf24577fa859b6ba87b540f2e46903c3aff0df72b4f8d10b34630bdb22282d7fc1c4f3d7db661865ab5089d221a1f7c24f30230d\n\n# tcId = 52\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = f0edfb2e764945f6e6585bdc28b421dd735036a4d109d27bd1d79f8cab0ae46f5018e7290775f5a273459fc9992d217dee7051a9cc86670fc82f3377861193ae3cbf9ed4d9f51b9496233f8f01c9f88c43348f64dc64f2e5fe98f3208ece156aee90baf7c200fb8018d715185808e0efd0c570f5af1f0369ad01e18a3200a5e04319b779266b33d70604265c4c95ebf53cf43518988b7501bdec23c9abecc498d98b5195830b2883b261752b4afbe7dd7cdfa21bdf593dad93b106b91fcedddada864df066cb5f5727afe6ed1567ff21336e6b02abfe8ae391b3fad73a4de05728577d7cd4e0c639db381ea446e1b7c35e891bf7258b53fc356e714ea4bb2856ba037b50035b611f070d42445c9263e968e8c803aa040eda540c23d62a48b9884a9b9eb58bdc621a5369ddcb007e52be1da996f020d8c1a0cde9ce41749f33b9a65e5ad33386587b93723ac6eecf3adad996f5affa7a9772336db2ecb9607dae06cbc3a8d1a55cfcce20a43e9323c7fa7a11b83b0198dafb6f0ba860103a54af\n\n# tcId = 53\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 350190cd72b31328cf1fac929b03c45900eb1dbdaae14c3553b40b53773324bc17b13fe11282d70b38771b5ceb0ff87f8517a787b0e06e97b83b71fc7b680cd5d61d616c15d6c1bc98cf93b058a5be99ce09f9936eb55c4f92751f00c4b403d9771994acc556d7e69f5682223807b2e7229e3bb5360125e4366052c9629cd1427f8dba9582348e10ea4f4d768d84dba73db5442eecfc90d38116b002dd4bb34ed8c346ffff883444248ec236c738959154decac717c041dcf3df5492f2c9a509c272d825a49149c84718a9835b40a38de6cfa7d6102042150039510ba401fbe53fdc7ed3b422848f75a9821c0cb0c7a0e4ae6219f305507ece7b84be1cc8c1ebda663fbce724ebe7a2f6793271e8098351991389546cbce7297c8a18c8d202227b7dd574b1c1778058947840ff0c601a7d65f035f7f66081dec7f3cfafd042aa15edbee6b37da61ccd4938e7517dc48ce272ed78cdb4f33cd000217ad142f01b967d7ec4e8fbb43db890ff4ec8fce37a00c88ad9407a6aabf4bfad3ccccba48d\n\n# tcId = 54\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 2a32d279cb8e0f44a196a1f83fa8dd5bda36f2f857664f4155b2859d9f940e8fecd466b3a7589254b3a04846721b8ba3fbda7a85a6a00ae24abb2098d3a1e8cc853dbf693d12a1f02ef490594606990dc8aa7916ff6911254039f4a0565068af5620a3caea7f76b775b96a8d8456ffa7bc6dc9fe98832acc512a709ed83e06c72166512e3243e9e30487dc6cf3d288ef5406858b6bd60177b01f466cb8d963a987bf7ac242da9fb78563c2a8c9891b213544855d3fa92c62a8d3219db0dbe7229eda4178a540f7b103c0886d1a1a4ef2c6bf5388228e64d6caf6e65424b0683d0c6f2ecad03355cc7f5efd8f3a18a991e391bc06b0a645586316ca61e101fc0c262b7f67d7979cb0aa1bffeebd3bbee757d257ef9f84418d2b4f9cfc6b09e5efdc2328f7edbd02b1d9e13ea7ae86d044622773c50a8f0c53908079939ca60a08e652c2a6856397814304def15aec6e636eb6679ecc8619b820a655070fdf7fe2f204bba57a92d894cbe2d7328cf6d73fcab07ba83b020c3b2f0951bcdfab8ec1\n\n# tcId = 55\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 1d95d2affd3c347ea5848aac974bf4c7ff675a876f0944d73785594e2c8d59a9671d8ce8ad1b7c6d0d51f818cce5ab1cbd7b6e3b69f1a1961c4446ae147d64b3794c6a8255386b96f062e022658e0898892b3e54493c7b6c1686d687ee72f5faeff077e6fdb9398b271b6c038d54c3cb0674717a7aa7e75ea3cadfe87b72aa1cf19c799ed2102264eeb646271a81eccf9dcafdab5aabd586fc03e279cb8500203b44fa7178a9d846a85f2cb6492e8175b2a7b04ce24f4df04e0cbac76b", + "d15907ecaa7c07683e20dbeb1cf9f6f03fdcb0e31b55d77c8180f27780df7b253a2422f0f319a081781ac295bc89de4da40708eba17217a6ef42114bb46695cda20b27590565592e4575098ac1ff27af296245005a0ff49d6a697ab4bd70c6758a1897b0a1c09f32293d7d1b2856730658d43853362569bbad81389e85b3a27b316786de7cd0798c628344954ccd1b90c58495fd112dfd246fc623118c7cbba762535038e10885d7d8b96edc600ee03b1430628df94ea65da17b1376719f3ffb739ba2\n\n# tcId = 56\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = c1bd919721819b72b389c27f0345d7506829b38a7973f7d4184184de56a0d78a800b99dbd8a0216f60bd2d423ce18a9fbd45f6e0d171e34689e06d9d155f3f3a0c9af594bcd4dc476dad915d17a4973af9a5d480f622bae2dbffa125e83d9995e81112d633daf225848c8e7ba17cb030a469748dbcbefea29e93f464fe16ec1b1456cc823efa3135d49d94e740146de75c44f380ae4e5a6260e64be7f0c3d29ce97c29c9a76e280f50d88557e52292ae9fd1e783643756f6b8fa867deac05c21793056992ddcad2ce5ad1698470cab4ea16d5e1784dd449bbaba725ec74c6480d0d39319bdfd24f55591ecf92e4352706483f96f75d63714fb1a288ef09ea8f6b7f5ace9c2dc659d95689786c5cf734972b5ef08f78eba8d7e18545dfbc1173a561e597b0412739ffa0fe4448d08f2d307baf85d9ecc5c2a57c008f490ba867f5fffbd21091f77eedf1c6cbc563613a443fcb987d776f05e8cd1307018439bd0ac729a7ca05a968d4f012200293a1740adff9ddb877b054c4d11ad42e1456bdd\n\n# tcId = 57\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = a6df51d80d2902569a0245422e5b5e8261903fcada8f01c2c2d4d9897be35c64b7286ac79fa73cf39db3d9e3135af2f00a888138df5d6ede7cac535767e17206f585c57149760ba379d8791126b699230b678bea9762e73a2f0abcbec943db9ac74ffbea3824ddf22c36fdbfe77960149d07da6d5acd80a7378675b3e65d4563d60b1937347a4db25d6a1592917e06bb1564542beae5330a8abf9ff854912efb0ec3d93f25c8c4e19fd8716f22ea63d8deafdbf9b9be61c9d98fa2fd4d2a9605de2fe2d0c1273f64b31675c440ee267f02a981c7efe142bf63a09af9693ce07f6807f389fbca151db87589b82a833daa3b104ad472f69b1a966f6b853c20c9a5a5c10657de941803588b1fa77398f18752c175fc3808441d9abdb5bd84c654706c20969c9f97e24806d64aeb9832540de12232838f257345b58dd4532830c531f7e0f42ce2a032bdaa3fce44cbf1bf2eb30277e2babfe3ad12937dcde9ca6d2bbb2093b7da5cd33446355ff0dcae75863f8da2c54872067a717aa07f1eda8853\n\n# tcId = 58\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = f5e4ddb832cb5ae5314ed853498d9415027ede84e7280fbd802fa3a10a3a74f4b13303362f1c7dc1630d22712167dcc2869dda4c20b90a5f3b6e9b81f456be5a63691a2db758fd64e9adc4cb761e907cbc112353905858f6c1f0f95aa0526332245713ab02e374439446d8325898f169453933364739505ec6813ab53d6bca1362bf7448e9ef30780d2db73fd68d444490263ae2e3aa1d0f500a9f648e188795347f773d18076572d95d1971f02d781ed4d64b8b928777d9d2e59a1947b067c797596ca573dfb0ba69da0d3f0db71ad1e9b07b31c7fca0eeee3582c3c96a7ac4178e01756d5db8c458350527c9405f4c20b4fa1b30c9c7aefa2b7598bcdddf494ed1159ccf6fa3f36e1523cb6412d8d641c80122a6e2b21253a1268b11b8c80dd98b1011c54bfbaed8c7a9e67a96f0e6c8cd90481f1f7c18a98bfd665ddb512cb2a30ad417bb6186e5e3b3993310b3ae79c1064e353cca881478ad49c8c59696de17859e66b0b0877c711f433e38283092cb80c319b9e663a1ff99cf4e583b1f\n\n# tcId = 59\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 452a4d8ecbf65423cee481918f6c9b7b4ba369fe652eb1346496553b58012fb7334f9a7c4797b3f3df594938181ccefd3984fc9a8fddbe740d7686e610af25b09a04336cf49458b724e92832e820ad5dbec08098e27431eaf02d81dcd319f585b99e75c311ddfd6cc157e17ae1b33c5fbb4bce28bd919771a27c48bc21b08d45cc4110061f4fe04dab8107b543569d58be18efa572df128c74fdf4193fd73c3bc4e71b772d58e094ba552b8a80c7ec5080d596ef50c7b0727857194f2e1b5ebe7900ede34121a115f4fdf716fc569ec4c6645f06dceda6972bfe2793bb1455b5bca72635aa8599bb67f601ca6485e6ab3b6dd304623ed5e8b3d7a2d07fb6b733fc32491795833f7bd97c313e0865c842c7ce6fac9a304c868e1af99fa686bf842f6c2118ff957b822aac3af68ff6451e1bbc23cb7b9a3234b63d227ce67d61763f9116860d31dccc7f984b1ec9d90377249e73af5dac9759dc82d46e07519f39c2bf21645c68ca6088cd8e28d1afa688cc9d9519e9a29812854f3304475371dd\n\n# tcId = 60\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = a55c1c5b119675dcf844f31e349edeac5d79f87909481eb394ff5c4aabaca507dd0770eb7c7e08d565adf49d236c1b9f05ec9994e1ed01a8cb2e6ac628adcf316614f70d7b2fb813d8862f0c912e7459b23794029ccafb11d74727e5813267b1e423058ab13fc76504466d87cc80bd0a3e00e77a3777ec5202101ef44840c61aeb27ec38bac175980046ea39a13169613166ca401ef40a107fe1c03a05dcfdd6252bbd6a35b1fa4a54523d0efce0d45d194612e1cd6a51cc6d0be11078ecfe5691a43e58f1bbfcce28e09f97d8dd1c6163df9fe1e89bd894fec88676801c5f6567a8250331a3982d90be9be7ee5deb682d44b97a0335c20a9aeb851dd7c02eb7eb47354a02c13c3ce678de820d0e7f67fb2340d79f94754d21e6b61d95d1f14d63f27e47d823117df4f4c84812693193efad890dff16b5119dd78ec95653bf167f740346db8fc3cba757f2a43f9f53bee8e61eeb513790f379ca9cb2d074506c9ecad8843e4c450b26d34153164bee5730e0b6f2a7210953f46cc9d5cacfe30a\n\n# tcId = 61\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 5d379e24ce1388e6ff8bd565b3455ab74f213581ba2e3422aa02d94596844b94c123f3289fe9edff9897cb913a957c4499bfae6d4fb2700187807dc9adb30f568ae5bdb978f1dc1761a465ec87000a4a7b24372d76699ecec070982f66d261788060f86bb0f087343fa9f25beae52436769714d572bdc4f4ab97ae7d47c8d314b53470dba0a3b340bd211d562687832e7d58e521600f69b8b60c10aa2948c1fe5342fd11bb3e218337bd77ced154146d527d493492ddb2e6cd2255be8967863ef0be88040e674a7b599f6388894c04e41d831b42dd9de2ca9c7314c4464801ad2c72e8c7637f320c2fe5c0dec3e4cf3f7eaff761a0a1760d1144b1186507224daf05067623513b045dda51872ff566dba379451e6aa53eb6af12132c4c4d77a90746b56a0a98147f1e98f2b16941b4cd5ff9936f9bbcb72d427a8b8ace967f5dffd6b5d6f345b4b99e86db01790cae49fac889a0f58387a795dc0bfea7f1c2ff3b8615debf9e7440e22de113ed0a76cc38d84386d2859b59460d7a8242f8d324\n\n# tcId = 62\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 0e5c7194c9e30a8e07631b3a6474041c85700a0d1dcd9701b3bec1d45bf2837312d2eebf25018229c86ed492d83a72c6fe2726ff15b44cbd5c3b6676b67e1e1360bf5725effcf5153d2b2e820b90848d36a5e00c2e0c2d8daa3f31cfe7aadddb4babf5b8bf2158611821df7435e2f73b1a130e8cc6151fef3ee51abde04c2bf0b0c1a6922638b115aee943a6153fc07f6dcc4c4bc132f3676d3de947bfc3f446323bda136055192e4f1550702d9f9716edff703570a5f736f0a8ce220a1de0746f557e2c81d1723cd484bc78e7fccc6d802bdb67b94d6be1d48450e4c719063ff07d6d2e01f4669f9739da38f62bfc01145739e291992052f17bcc59114cd5d2c12eea3324e7f9bfdfb1e0bda3e8b71a89dd351f9ac5e246d309a87092e06b7c32f67d5971b89482862ac89cbc168eed944106f647e33c33f27e52ed9b57173207ab0a2ff14e7cae22755025818090fa0b4e6827194c2561a7d43094eb6212b65395647349b4b7bac27a5c17c7903ca941fce3d7ee57b689b2bdc8b547aa5bf8\n\n# tcId = 63\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 686131d0f3fb2b615ab435793456826776a9de40afd11e3a6c4e583beb7df00d6de5bba618ee35e25f9199e47f15c0f5807a10bfbd38bd0b9bfee3ca22b0f9ba07aad708cbdc5545d05448ad09d90742e1e61ceb6b7bb498ea77d3476fd283cc4d379b4cd2e29f1b468f733ee920d16a06f6689643fc611449e4375ac7f9275d553db3f5fe2a858dffe4c9126595e69366698d27efd6e304a92f43d0b43be5c05998e91ef6a73e34931914a3e29ad2f82a3cedc795a430dc877ab5a5bd0816cba7e8cc5cfd5ce8a3bad76bbf77dc66d92652a42eccd7452bc7104a1f208cb0e4252648c3036affbd527a7130edc3da5735229511228abd4cff1dacc1297155cd3a877be79e78020587d80ebe481af9036b83e4108b9f7a89da26ad50ae65d9008fe2374564e133cd6ae1e595a332d08bfbf3612ab7c8b96a735648173691eb124fcb36899df3a5c173dfc1f37fe6f43b7234cae9e373a212484d134f8fb45a34e02b6d9e59d3eeb7d07e4fc69209e30d2d6c1bb763b032ae342bdd6a4226b29a\n\n# tcId = 64\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = edad8c2d141137677b864afb778cab75c44ee960390398b25bca129b61763fd6ad2e9d24fe3a66b8098982b40081b7520a99e622f80d1f456cf5ae5a000e943966460e83f22c80d32f74cd38111517db3711f78126c0cfed6e5b528615804908b3428367ae7a2d68e5e41ff3826e4882c6996c26b6e879d298bd4fe7d917eda57d56e03392b112e0f940ed408124a5bbbbe4bd1fe4e12392494b155e5acfeb7c0c02305ff8bb17f291dd9adab088275691b217f8f805baab6d5c8ec656dbc67f1921f12b1c3670171e81135f16846e831f57f67ae700f6bfcb4d619d3b9348740bfb3ed9e9bab3c718c4fa9ca34d9814b96fd3c775d83ea7729ce0a04b84014552174968fd4be92f281d764a8bbef9f1b6c04e843ef7fc5618a945cb435891e0ae9332af46af185a91747194cce9f3fefef1bd0e6f1c72096053546d72cdce8c764b27baaa01c3530eb115780f2a9eb1555949f6838be7b53f282606a82ad8c56374b3dbc4d50870bccd1b5e2c50f6d32c0abb92d784de41fe54368e9c8f4ef1\n\n# tcId = 65\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 9702fab86b0f4cb3594c237ee0dbec79b169a6c9ba83ad6eb3d4af38825fd04a938080429c1409e48e764cbdb56112e217b56f7fc2ab0", + "cdc5b745e078b1cbecbac1dd0fa05f987bdd817c4289ca3418592a1ce84a6357e9943f49fa978a06f0c5cbca2e60a3f159719626e150c27b741481fb0f8e9987b93d72d40f709096fdab57bc3a0939e688136fa819d9729cb7417c18bb7aeead2ee533da70df0571c2798079f663a51aa94e89c8656a6e87171dc3707253b24fbc4342681b51be9418f34a5a443a8760d92bd36c6fafad5fba11ba24fa1a529b583f637d6b251d1f0eb9a650a020aee27f9e5dfe882c1da9caacde3671fb6be4b3af424f8312f1f92eac1cadc65fa1bb146e4d3df14534a320702e22addc9426344ccaeba51dc2d0d3d59a029328b059c7f76dd6a7bcd518530fba8ddc7cd83411b772fce1ed464d13a25385b5537a053e3431fbc958f04d1a539401f6660e5c7019f9617e6c4e5608c409e70d8b16c392e6b3b77860c3d45aa3824dff4b30372a061609f1ae1c88cd0\n\n# tcId = 66\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 0eed6d489bde718f00aa338eb64e156e44ca165f4bd09e59ac893e02db61db21aa1a475731bf1ad7a907c94b1b080d33f6081e00dffe5025720b9d828523a4afd2fdf644dbba202d7ee2018ed999de038ea4fc5d96119ab65f0b2c9d889a47aaccd9c42dc5373c8b64f27d2a2521c7dcb8085b8a51c8a5bc08296b2ec2ae980c98bc8d00936b8c96805eff7c09d3835c1479f62a8b77057d8e8381a412c32cac8aaf295bf851a2711466113cedadc5e90c8d0fd1321e6a9015b798eaa66a41fb27a53b0dc80525c87663eb805e76a3853961c12a9fa6520c4902d4d69649b5543b48fb3bc8516f35d4029dc4a140886396f9a69529e8e1b7147e0bcf5819dad1a5340cba0ef530da999325572916bd4c1181cb90aae0be3e4124e08663ff26c8749032ed664115cd20d4f92d92adf2cbc704ce99e389aa0e3f0cd8c1ab905d1ea565701d1075863671618a94a47ae8bb2a2099ae390056beb9dfb1449e363cc86e5e662a176769d1434f249a21a8cf84a69e8a9d2df87b343352fba9260f88db\n\n# tcId = 67\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = e764485606b1b477efa3ca4765d452e2b8fd97c8a1c54c51d0235bd1360280cf9c1f21c9a1c148c2a8e560ed6a75d5c324b36d0148aaf20fb2db59c5f461f3399b112cc4bb4766de8d9789b8241c7689a5d296f091658284ee8b429bd3c3c4164f9a67bea9901c2fe89853d6c616921f304a93cc3cb4b38ef80b147866e0f7777cef50f2dc63ad61adb3fd522ec0b9feb3fc9781e97a0a0f1f6b1baca125d9d006de6d3befd9f823bdb307563cfe63ff49d767d68079386c30a03c373fb3cec92c66846b6b87bca60235e0ed1993598947aabd1fb284b0ffd3a4b4a69c5c79483d507d790bde13a6a9019c918736d511cfc4793f75f201405b62b256528d377411217eaa2789b2e839a8cda14d1ea408a3a8bfad6f6acfb33f0d9ea4aed34715501c807541d8dd5da9160b11c7c0ac8ce49fed32fb60a54b1e031f203872a6d8e5b4536fb25ca2e577a8cdcf8843e3715b97983fe935db972e6a8cebfd42c7f348a02aab0fd873ba03d8829d88dc2d0058a9315c6fc5f035ebee4c97a1d5ada7\n\n# tcId = 68\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = e220c5504ae996d68892965dbcf9d158739387c655c4c44b8695f3f5a00350044e6a3ced79ac812a78ded031c406ebba2d3df4223639747ece73d69e2a5788de752d58a581f2b02dfed499620248b48da2776fe349897d848b8121837714cf29e3a929c34113a05457e5914cd9c14bd683c9025e1491b9ab4865ec25b281ab9696a9bee80d2b32e9ed3e73c162420800c2997819eff42caefc5d193bc3107c567f7f364f3f1b8cc6c8e07b15d00eaa698fdcfeadda11149bbbf0d2ce84162b5f2fdb1763c0108e540c9536318b1eb67dca7cf603921333864a6eae20724ee53495bda6ef5e81a563584edd6a705a434948f0150f711be95d763627c0ba132b8592e9022b18542ff2c314acf0d597fdfc3f9ee3ed617b78cca7bef4cf259329a9ad95ef5dc636b86434e9e7f9f719a9f6022ae913c19737b81bcf1b4281f8561e981bcaf2c38f2265f44755cd9b2311b3ca157d317d98ee273b3a477dcd7954b5f0a6fcc629bbe3338d06773a92e07a8cfb32a96a28cd356acff3a6d060f20bff\n\n# tcId = 69\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 48334ecde4d3717bde04a2257e8aaa94f5383fd49a8e7e6933f60958916d223bfb32c8324b50916e72d4ba62b715e1298946efb8c669e3331c4aba5b4b5d885e513bfe694de8594b0c268a44e1916e1d9460aa419d7e8fa8e5a69b96aa0078a3072f40ccf87685a0e4efd1f88822e2a1491dafb2bf34ac5c7d7c93ec0311e4531f65a8b35f763e9ead78d708e1cd3a45a70d84705e9684b00cdde81b265dc1222a608eb090a5ca0aa0803945a8e5fad9fd13bf9199119051d0fda7a0ce3a8cc186a6d9b4f880bd8d7191c9eb0ead9eee5ecf3160f9457aa9e0e1913a9a18cee98a5fc8c74825f916a002da58e47a85c98e2de0da9ab39d6ec326d5b795586251b8d42866ea5e40d9738d21132fe7163dd90814a7f0f308ba9883f24ec123c9711f1911160034c9d3404466c5f21941129127477baf8aa5e171d573b568a11175451f6fdbf081e976eba6c5f79af5ca99d73dfa2c468e0fbd7ac0f3acdc4755795e09c2363c0b145d23c33e2a0739c953d7bab1bb748062b2129e4eba15c5b6f2\n\n# tcId = 70\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 2b1fe31339301988be9b729b9a14ba96cf9a6a549ff66a9ba6948af2fb8b2651baadc2fe1fa5ec7d466687553cdd06349c6d76b702aa2ccb6b76658685c7e1c4abc6cc2902d79ff82d3d6da0525be5198d07388b62b1173f88695b03108129e2915822910f25007a6229db142c8923880427645437c9f180765464a317fc882b877ef66d913e6dbbc6701ae7e7e1cf0003d681135a76f59fc9a035b8b6396c66f2fc94a4bd524a816ec028cb43da0e611d3ef20572e0a6f2fd33659cc85f2a4256a4badcb8d519aa780a290867f1a0f671d7de122a3b7c2ee474837dab5a6309f3f90ea42eac6ff768cb82290eff6fe0229333c5c252a650f4bce41f3353799e093a2193f9d6da2e3127db550877c32192b1dcf144b7981259c3e3a5724c993b5077cfe4d5ce3c76de5230d116a556e6272cae5e1ac6a2fcd4478668fd1fc4ef71226dd1ee36516b8b6933236119d4ec7e85d67f2e2684089dd4843cfb4fa0436a1b0195d0f28c52c35236f6f563e3e937e1df08c33a40d2981ac9fba210a670\n\n# tcId = 71\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = aae38ac4dd42a1a038aae4121f0bed8a401fb8861e06cb96c4be4ff803dfaad82084113998081fbabc649238655f2bac523d0109c344bcaf3c2a5613ff8151f94dc4178cc56ed45b31c9935a4d35be965619335b9db9d6ed312d29c4c38aeed6893031fc0f0c9d86b4155cec28541ae7b17eae83243140f8d0df248ed9f921a3184aa944c3c1462495524f25b0fa00124710b36bf03aa80cd7cc549f62578031c6f01cc3b182af18d5f29bcac956e6ba549afef1f5d65e1361f4bce878bfddd526110d6b683a64a522cf56b8f22c2d6c8d181ff4de2b40fb2345badd8335e09cfad9f1e9db86d319f0f510c73a706f8191f7e5022497633867fe9d0d850d39107bf63e6c42513501affd5e253e329ba1145a650101384e40a804944f9347fcc3fed072832a4f2688588340bb2f53475bcf16a8cdfcd4fcb8d2ce874d912459a631c1f00a8e7648382c9f485c6bd86fe02087cb899c334ef7b5fc485f30548d0924d8fa68fefef46b96433d2e806b58b13e0a4dc1ceb92e61120ad5c2734f227f\n\n# tcId = 72\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = adbf4896d40ee3a9e30c01cd0392d508d3dffdfc36fa624e8040fbd578b1c40258e8e42ede92830cc9492e323166fe56cc93f440e57be3be96c6e6ed8d9d9540e5a68942d8df8adbabbd4962ce4238674e5d7702a7bb4dc83e0289a1b3d57019e278505fe66bd2b8901f832f9f563624cdb465b59e95f1fef1432b728f0af67b3d171b6c4a9b98a582a12c627405aba6e5a9f43a8abc90fa341b56c39afc84392756aaed1659b4c08b70588e65d9e4e245c598a14737bce01ae0c0c16c9da5cfa7c868c264ec46c7f297982f6e009093f93275e2da5e74cbb02cc73b6462a581534fa53cdae39ce37a1c66c27e162ca559aba518a8509bfc827fe4ffdeb2232bc01fb1c92ea8f23b1ec780933cfa0c8df707baa2a796e0190e93a9f90b05c3fe5e5128864b08cf0e27296ed862900e227bde557ff47eb9d7f97762baa59ff5d22b6461af29dd2f02b1e1e20e432b7dd362e8510998549a23857f083a44ac2036a925b92310d9749d8e85c59dcb5fb1aea5cf1cce6cb714dbd77510ee81015bd3\n\n# tcId = 73\n# truncated length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 38981944b5a9536f7eec9ff78d3b7c1203e94f50313b30a654694397f597695141c3e86f0881923e0de58e0220428fe362c9feabd088d49c0ad93bf52e322b8ff4215b122ebed895a29ea72c8e7896d37f0fe49ad6c9433d4ff16258161ce21204a908869254f0fd1fffa383d8a23451b5c6dab2e9f5481f9cb1b427ea867c05abee1a76a130026908396f2b5facd6426b2a45e26ba6d623e6b56e4a0bcd6f88bf67c116853eac6f29355d3b68a074eecf7ce4daceb68892d078afd70d0f0fd906a592871356145e3227615d50302192dc498c61e79acbe2d2b9b1e61c2c18cae80155cdfe85aa110a6554871f7ee0e64ab3bf61a94c8c42369465d40679cd348928ffa582e678a618c6e8661b51c23368794e85ca699edbdb08d73b83bf66e945c18c7732b6ad85ea0c89ad880dae3de5d09f4ac32fd820360f197fa4ac548d73e44732d9984e46067d16a271469035f3084db2fac481d1f14b61d8273ac320e54e87c9627d3bd2428539c00366e4fdb8a367784e75460e35b50e111aa22b6d\n\n# tcId = 74\n# truncated length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 6c773036cb6a6e2cefe921c155dba50e1ca1aab3596aeadda218b05b5cdbe99174f5e6932df80b349f557481e51dd8c3b01777d85dce5ac2d88466646d0a6db82ed261c5a8fe0eacd8913dc941f39d54209410a2f4c4dd4903e1a334aa5adec17e21b274c327c1c8c577fae3572e1acf88cc0567f60930fe7d3582e06ba1cee542985766fd2a5bd324beec1a0d7bb09f6e29f548e936c1966d75607275428dfb33e293d49ca216caf2074f4c8c698f9a02dd3191abf0df2750e56808e89718897eacc64fb6a1186512342cb041b55858867bc42e81bf67e94390f6c628863a6f5d1ae6c28caf921eac0a9738e35799573b862ddb80698c313543e256c0b939152436b8c617f9c0a6db58a1be76d24741d3dcec36a1dec76ac23e31ecca745c93423816b6197671ef8e905a18356494881baeee6c37df47277c9c978b97", + "8251929d5dd23acef7e83306b41d9831750cc0af3d67ac10d741f7f78dbb48be0e55641af08bc6566d332aba39710ae2e9d080daf44444f4886bd8b493d6885ff6fe00\n\n# tcId = 75\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 6620fea7f9ace7ac74c838dec6ad523e77af793103ba27faf2b6ee464984fe04cffc2e5cb822a10fbe3ab4abc82d96d7090d1fe468ab048bdd341550dbf19828f96654e3db78df2edc8cc09e2281829d70ef84d2f9d9ccbd860bdd61212eded03643cd68075c35ba391dc07dfa422b446bbc834f5382fdbb9c6b23ba8f7f501fc7b52c6e18ebbb42ed7d3e43d7e72911a2f24557b81b685644df9777308ba2a63d0baa7c4d744db45b4dbb756dbb5945ef978c3e140ff851c7128bc43ab48ef297f664ebc33a3490ff0f95899dfc7c06561e55ecfae73406e7b0bd9dee29a4bf9538d42c74ae0f9759ea2fe7ec65566d637e23fe645675e6ba8fd0ea50fe6b617e211bb79a471188030dbefd16c115c67c8ae6854487f68c5b8c196d046425d34e91da1937df0e48df892ee3291e2532fd2f7b0633fcfb8e9f59d03289653b36e93eac77f00c3ca751dc601f4ab7bb1581cd7f1785fa959d85b87d7fb44d83b6742728f8a6311096f6d73f282091745b56eec604fccc0dfaf019eb96abe37e17\n\n# tcId = 76\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = aaff23fd935dba2da87b10702f80d722c19a81a05b675f7e0e19f6e006e37eeec3ce3b05f11b6a5e493712369a768346c948c657939b3f1aa9857a1d17775eb0c20c2c2b95514c5f158cda935de07e076a0b7e8e69b0a896e9e5757510f94c4cbb0952c804d882d36870497c0981ba9fe7419062852c3a3c3ddaeef9d5b59387474dd4717342d30981289d81689cc101a5bc60de467b19759b7cefe2ddd717ad13e65bfd0158e394721ef2c1ca0ba98af14e5c1d88ba05cbc012c1e944f7d06c4181940c46f64f70debdc474b3e46a37c25f8a6435aaae4081bf883eda779b48abd4abacf394fb5148f4b3f0b7e89ca8c0cdb3c1ab007f5b48f02628a48e67ac51c5dc74976705febdc1f32ab75fe8f683becb6de0f9b81fc76445d8ca68bfecea6e5ded79f92abbef664dad11e508d54c3a0508287c42b687b304687e609dd764f800855ddb1e6dab4b219938d0f890412f74742d6c1734c078ff1fae54bd43014611eba7e7c0c9dc399e638d160410e081c98694d82b747838514223980495\n\n# tcId = 77\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = e880fa8476ba3b887d5eaedcbbc8c0147c9695d719e65242dea3364820908965088d9e89dfce9faaa94cd847282778e0629ab7ad20051656ffdd59020d5b3deb36dd680c5c77ed74e0f2c7bb364fc9b4affa04aa5a1f606ac0ea58928e0e88853acdb6a6883374c28833927386dceda7d5e99a97304c07a75977c859f5e5d8bf7a77130036c449c0a9781eb0909d9c791a1cd7e542a25d44cb11c53c065773392746f19678bfb93a0c5e1347b919c3199570884dc78d2c04924993fcffbdab41d3bc811e965f16742ba802b49946e1e9499db4014e1e9c5a22662ac5e437f0525fe124dd02e2e850e266478fe903325b1a0392662e7b0843391f93df870ef870b543aaf6a5a70d87474d8b013463a10924faee91750fd64e4d18310512756caaf970202401fb878de10eec97c4502581bf2c50d5d339392ee2e41375ee3d5cda64a291fd9ba853bdc7f8ca158d53d2d59c0d049dbc73179fc6252670ab2dd2ba1a30c9b96646bf5543fa2ca4e02d6e0547ff201c831262cf656e5a4c1ccdf693\n\n# tcId = 78\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 1b42ad089c3b4de1ad32dbd8f46fcc88abcd7f7099d3a95d1903e80f96e582fddfd94f56069385717fa3da22a281eb35d00ecf4392c00c1b518a1e54ca7d9971643d6c0a75b15518ecc46a73b1108026c2e89bf1fe153798e70420364e447f8dca5096a1b7bea16df4e38ebe6bdb7d758d839c3c61a7ed7dde193cbccf4f77ba555cf65c248313116a4d549c314b62fc5bcf1bbc649d336f46fab6a28dda4cb29dba704459a9a25160d05595a0be63d1fef5ecf3c1167c06868f3dfd3cadc5f61e1aaa2ef6cef1916ee215a2347fbc26078037e4c1c7fe9dc40a0e151daed6a5a30b6b09a29733599bff959885a1e88482da0e7ff8186f924ebc6aeb391c93883a682b6d66b3884ad51b8f1f7c664bd31fc01b966b68d26d6062bbc52f66f020edd561d38417a780f53ad9d8a1219df6be31913e7006f15648d96c3eca2b54c4258b78a27ede8a4a8f24eb4a04df289db6fdffac936437fdebff11f38cb1c958a2aaf68092564f5d9d995394869d9b45e8bffd28d60224a6c7f30f32792755ab\n\n# tcId = 79\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = dbaea130782f159f2e7dbbc5d61d7404deab0c7e604a245a73a7cd1df1b48a32b7caea2180a2e3fc4d66f706aba4aec414662fda761c9b56d8c8ec100708d7fb3cb04a1e82385eb5645a4663d7b59d3fc2ef2de527e4c5998cf5ab064ae1833c8bbd714268034e7e269b2eeada1665298b468915342681e811d93ca0b21a847f49876b9a44b62c5e7be7ec16bd40676d31da7ca5cf3be55092b9dd5aefad9dd4711199ee6a806e4fb971f767277302bf5dd5a1b85208ec5a89faca3374854799baf8771e4fc3f98ffc0f71825e895a48c9be2f7697053a906a41fd9a4d853799029a7e4cb05d3d4764419dc3ea3077c9575f47929402090a0eac0b3a004a64f31bfefdf315f8080a0e532698bc704aa9530f7095aed9cddecdc4747ccdd2fdc9e3eb3a40eb7d3b432f00bfa237a082d8a0892f04bc11bacbb81c7c7729da186f6c9cf5d0840c3b79f89829fb061a6d0e1a983e7e99866564e8ae682a73c1e6e1e5a9b2b4d3e308ce8a7b7bf1987da5ddde05b34a92f25eb720c90335375c6742\n\n# tcId = 80\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 8e22755f152bed807d5a31f9072dca0f388e761e24a0208475b07764e7da9fe76b1653cfedc0575889eae4adef5cde93e36538d2702808b4056ff59123797fce02442d08a4f4e4b957e7e597d732a51d81dcda3f5158a3dc7239b3e0d0598c923affd7f06e31608f950a96eda03222772ca14a3d02eb00c2b6bde5de36904bbf4b81a3401a5aca49a2c0fe0962d8443a3b3351309f8df1e83e64e3f4ed20c1a883cd61a32904208ad46eaeaf960c4e3c2c39af4c21be815f9ab2118af1574f3746e8d740784fa97a583133eff38c3e2b558d8d7c2e0276be9e01b6cb22e25defe0c52c0f68b929cbd62a034ee2c7a63ba81144207f6f804bf18543e8dd487977aa13835e359423db151a3c5347dfdc89ab7bbebcab001aaf78f39af10b923ec24cf795e86569cdd10a3a459e8cc30ecc496996b871d5c425387a986d3dc93e7cc6a5c058974af46be2b617ccddeb85ee101bac2dea07674943579896ddabc9533c560ca5f14da5ff031cac5b1ea587751710674e2f023211566a5536b9a7d8e5\n\n# tcId = 81\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = ee8fe865ef88da82301e8724da2ebbf270a8be48d7e6e6d32bd57cc03841cdb6acf470ee716eadc23f155371c4b6b0183062ea44c6931922f2e26241cddbb6bd4c13cd7d74fd8bedc9d072c040508785042b218b55a42af61f0b52b17ebd694c12cf9fadb6854179b3ab8ac7cfd5b6167777f001554abae331b09f996afb5babf3292ff8fe9a380fa6d7bfede2f7b73aaf4684b3fb8a7753602096e17b05c0bfe531579a303eed596b6c7e583646e5746cb917ae3dfd1be2f2b04de3db7c32571c9d45c829df0fb59e9a0a3217498067fd121ec63b249566113aeb2a1733f0c47586144d35ebdceb79375fb86343e5034af795e6d197e09e21cfb9d3c2c3448dcc7e9eec34eb3f009575dacdcc25db9ed33974e279958229e46516efbb77e6274c20e6d86b712114c46da84b581e1a95428795563316b0f42667d2524098ba270f58e60c977136b89715419515d2d53be0fd22c54291d161521551006e3e413a006c8964b4734636e40c06c81171df51c534986d90665bd60d10f34b770ece5d\n\n# tcId = 82\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 03e3a6d8ddaa0dc539796b84822e3e3f59ce2ee733246e891db71f1a3550b0fe17016382a429c7eeec8fbe2444c9bf4a8de7883ad7bba6a527e15cfbcab2f5bbd6dc6d8474bffe41688b6b73ebd8874b6db8a2d025ea9af4000059599660296f890d70d8cb61ca077e463e1fe3c3cb81d0378a603b2fe4405b28c92a5f70e06ca283f32d2650d7d04e252ce08152721b5c6852526b14828159bfc199467c901e658edeaaaa6272e8829cf1fd2f802f4aa565396310a19ff95b93e6291d2dcef36bd90eb3edda917f4fc1e999e335275748203ca0078ef37d0f7d4293c4f5fa3d90f02a92d8bb77922d5f7d02176a329fc1d587f80fa1c247cdc2bb654d2610b2a8a3c04abaa04ab2ee9533294290adc8a12b312449b2e5deb703b086c7ea4887cd8b197f1310aa32694516accf4701ace7a51b5264ae45d7d007294f141387b1761a0568b7ca36dc23694eddfbb7658f5836a353b1029898cea2e647f5e14b2adb01e8d1fa462daf26280ea94f14a252ef5607ce31d910ce1122b323e9a25273\n\n# tcId = 83\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = aed52b6e5941a4d7225768a427189ec37a5640f8083827f922bbe563b4e96ddd039e2774e4e790a55bd0986936de6c64c08b1637a1c6bee932f24adf58613d378db73a947e5ad20afe1549ff6e02b6a7f089a97e42ffb2ad5fcd05c4d49a2d82b9437bc34043ec6213f0ac593e42a9c9d0faa96534dc30cff56c8692bd71d376d591b10c450daf3c31b60b5377b0b4639dfbdd6e2ebd5c4e0c344c02dac5ceee2b661b97ac670564604a0d2bf74db73923089fd3a1adf60799289cbe6dd63883818550233e45698d3e7e4a9b0cc2078373beec13e8523d0b118e15705abdc804b785a7c2e8a8ba7106260a5dc860d8a59b717c47817d40be37c392f5fe11662bbd16cb15584f6bf9b5bc577cebc08ec6230e0480483dff16a56ab2ababa26acce9566a10bbf0998b78e1b4ef2379d8a2bbb28da302e6f43d2ea509846c9d079f723966c969e5c1dc383de47fa2571d9e515aa343010b1f8f1ec1d588ad51bb6742f354a5547e5b80151a70d6320c93ee66951b6d44472ab3664f03a3cf309d88\n\n# tcId = 84\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 6cf1b3bab7cba1717d2a31fbcf7a2218e4f0186fc7488c3054c2193a97d3824dd15d2e15a7268676a2740dd428fc55572748c8a0b65ceed42ff18ed42439f25664d7ccae0c2b72e2578cac39c69c55d5ab852a34570eaef54db1f91dcfb938fe7d82", + "2e581a3a5eeacb836358216ddc7d0d8e56d9aecf1698079f59c7faf4bec74fad37352a1c80c737712dfcdc8f0b8240d478ebee8fc626cdea531365279ecca43f45096f878b18eb71cb924d7454e41bf8c7fbf0d117e082a7310dbf883b439c315e366c98ae886158d276c05e2bd732ecb32e1c5ea05d2cc8d4585c7d3af5b7cf72a02c0d91eac7edaac95ca47efb9c0cb9f2a519c139bf9a6c9ac59de0cdd35f5b6a17cf7f66b822e62aa568ed3046c399e834fc741420200d942fcdc648fecdf186f46a920e87e1313458a312424da15417286ef53fd08a9e38d18a97a819100dbc7b8b43fea385d15f9227332dbe606d795127d95e5f5b9794b81be57d49e48abf11d35fe52edd54e8dd0300588a0ba62047f562a5abf47f0a645f0d10\n\n# tcId = 85\n# Replacing sequence with NULL\nmsg = 313233343030\nresult = invalid\nsig = 5898c8ed989e4c4a3780a2868ff1b4801909ed8e0336b75cd32801f169cd81aa16c34dd21fdc78aff996da124f9edaf3542247e00a4cc5e47eb9a837d07984fc5d2f0814d22e274851643963d349a43167a0659549970c053b3cb4293769dc748c6f9d15ccf683714b5df003fd7601f9c62c2c31f5245ef0676585cdc008ad087b8237dd17cb8d5720c98256c9a46daea423fee19abc659b670574ea145d5057ac3837002166ebcc14ccd990388d533fd12cfe7e900c6e80334b9bdc89164dc4c255ca346775944337b6e9c4472a2b90abee876b3f743842ac46e3028815be18af5e405a8f8d4a5d9d890716c6bdb49d365edfed199b2d91aab958d839feeb62895dedcdb75447d741f1be266fb66f915af337716950a4078aacfbe3b744dc44b7d991330f92e2015de7a3ecc6024cdf4fb8106ace7d521f67973a7ec7cef27d66e359989009c68b08d1f0baaa8270ea0323602cda40c9721d7cf667c1f319542fc5eb74b85455b182539497672dc1e20a375f1ba75aa6297ec615d8ecd0ff6e\n\n# tcId = 86\n# Replacing sequence with NULL\nmsg = 313233343030\nresult = invalid\nsig = c353da6e54821c2bbca7bb85317ca50c0ea5486225dae8033c39385dcf3a2fc440ec6aa7dfdee90209cda40ae07d20f7a161df4d17020f620e3040c376f5bb952a7d250d9ed76c3c6fb53d99e2a7d606ee1893b8a62c403e2deba0db6fc27ed8f3300bb2a57618dd0665aad48a9a36ee0259f74b084fe9dc90a1c82d198ce0bef8f3ee44c83795f85e254027ba64487f546e475caf2e03fb563779e8ab3fa7e3f5740d2d3e97892d8d786f0a502f71e3e9e8d418cca8cf1d1ddedec0a5737a8c3e5d07388bccf27fe332b8a3c6965c777f3c6a7b8f6539942c791a78c9d78083dce7ee6b60bbc98dc36cc925d42cd2983176a9fc88d67f8ca1a325febd59086b10c3add5a6573f76154173763813f219e29fe466f0346a7dd9b6c952fb8ff6bd7a0b19baaeb9427fc554fab64d520c1b81a00887be9b50d34507d47dd347331e3948e633ec0738a83deb5c379bacd7623ef2b89c994db4825cdc1ec39113431166e4e240e73cd6635d9a9af25f72623fce4ae4167adf48d24ca19dca1dfc7993\n\n# tcId = 87\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = aaaec870a8223d256457cb14183889938abb00b21366b90e36b3b51fed1e170c0b3a8944f5cba54b8d233879fda1076a2303309ebc04bf66ee4295030ffc6753f4eed4a138af850139defe1544d5eed4e7e8b75c6c39d66fc68e72921b98cba19f5dde1302e91336aa81e21654892dffb0032b82fee80bbfde4382f22e71281a808b81d58b4f335cfdd6b170fe0998e775181d0304e1195d6c2fb333bf9684b16b10a06dddf8c43032c8870739b39be55e87b0a66bc7d3d65751083ba92086a7750f965eb2952c745747d619ef4ccacc99ede9e2bdf25d62028da81afba377438222a053ee6945ecca2ba227c6da44397951c5b0e28e7362ac5c980295083dc0bb7c9783b0bada0f2ad61e232be626eab91b0c52f8774cc3331f6196b4c16d21e76a3eae64ac85c525c90c670fa422df1a23827a93563044c36af04c7b7c96ae7eb9833dac917e097a1f6a5951de61adc1f6fa3b6aed4edd4fe0d3bb796a88aee0588b8d15bbcfa572a6e697b7d23087d61f6db7740d307f5edca795188dce0f\n\n# tcId = 88\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 41d3df075cb50c135e1d07a11d9239a9102dd3672169ccd072ff78e7e955f61c40d2971e10a4825205d067f37eed21f3487b9a512d0c80f09d58b6cac1689cb25133dc840c11a94372332aba692d5f6157a1559e28469ef8a57628b17204b2d81a8e21c0d91e0cd15633f7e612a127f98d64909b71bf3984b24aeb1ae3daa86ea44337e22a91e63b7e1273275e51dae473b0ce61a2e3ecf650d38fdea9e05bd0e83a564dc95869bf1fe1d19b5be985424f55581208b09f6e26397c0bbd51af1b22198f24d483a2e234f2f90ced3b780f7323f29b404dbfd517b4e53bf1fb40d29408812254177dbd7939347d0fd763d2f18fa7e83f0effa7e539a3061a3b7fe77d9b5df5d50600cf39055116f235a60f298512b783e22fd83935083185f565c9fafcd0f038e55ad23246ac5b1e9b6cd777dc36c889d4adce69494d45d5e15848f4ba57169df4a28599648f62e9919861f6d5d8c4e1de4e5601f9e41fde562fae0638c0988bb0c0ee63d24d002b67ba4986d1519694a41ce36cbf20c907d62d53\n\n# tcId = 89\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 7bcccc5b52d6a7360dbca47a47c6a360eb5f2f09bc402edc26e696fdc1eee72ed38b9bd3c9472e0e4336ce74dde05b4e94c6933c2763e95e64ab0a1d45256d129ec8cd5bc0a283f2ca0fabd18ef0ba2a6b66dbfac9feb7ff95fe76d443d0aa5caa7095a38619d44f07f5152c44df6acc766859134c5f9c9b8932c10931002e16564b074b28e2588faf7f127c02958a6ecbb04b3830ee05553c83ca8a6d5b1c6f31f2804276cd42e6489693975dfb1f17c09fb5ba41d9ffe597710a8f4d0b64907b2aca89d6d5beb26cc78125e4a4cb3565aee24da8c210dae2dbeefd2d468d006420127f49f5d8e45eb768f9af9eb54a130fe327bb0ea12771d4a6e36e89fe2367e1b373f7c46b34a67c42b165873bea2b763473ecaf60b3894f76bcbd78302bcb1bdbc9f8f42ab9f15c0a2175234074441aaa8da806a5a86880ddbedcae3be07e86fa1700c2437e63c5ac263d98833ed989249cd3e7db8f75323b828034fc4c7dbbf02eb8e3049010ceee24ffd64bbdc294fc1090c5998ccf40098c09650418\n\n# tcId = 90\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 291f4b35a4dd89e9ed5278e18d322d473e435c7b9b611bd62bef17e6ba619c9e811a295b5da39dd291b7c29303f0cae07ece61b8f3849644f34e0e3dd291df0de5e7225aaafeafd3d07e8e1846b53e0ca61121f91b293a3786fe6a23fbdf15c5adbfb8dbc43540721367d7e9db32588d7651b329985ed3602fa70b3554ef00718155054cbc9f3985ee0c731b05f4552bb64759f398bd36b2984afe66b50c51aa4bfe8ea8a223b827d24904e8781bb1abd5667f731009d315f37bd8b3400573eb96d738be26b0a13c98b147e3f99941ee3608b1f38720c55ffaedd8fef9f815c3e1c48b40134de9553f38a8f8945707d9bd0ce4edf51d626b15c522fb29852ac5f45e8c8fda54bdc81be05088372b2934d7ba9b73c081ceab58505f9080dc3c3941cf3121f5705cd42d9122958148b60740aff97e3e55eaba7d093e1fab65caaa065537dbefc75a3067375694e3f8b7b585718de51829d13e6233613d199c1dfb3f5d16bc056f768253739282bfc248b1870b5c098664714e3219d3d3a433c5ed\n\n# tcId = 91\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = d43971650646e5535fe0b97a8fc8dc2bbc93140b750641ac2f4302f5fcea941cde611894d856b7c19806bfc7c7708c100254b2e4caaa56f6a3a5ff4e105058679e07b291eac95d8bccfa91811d6c167205f49acffdf0fde91c15e6d3ed37dca02d28ef25c7f11a910c67a91e996fcf397b814cb1537da377955d651d6baccd662e9d5c5264516e4e0c6d396fd5aaecd9a093bfbe8d0e8f9b64a2c84f8a2874b1a788cd94d307658740dc0358535fa1fb545df3125b7ae19f8761a3ecb1ddfc24c1ef754d166239df5bbfc5f4666c588b6a07927e3152a2cf5008a2f718499440066c59dd23c7258bd762c8b06bb12a89dccba58eb8c9851455148296462a2afbb2d392cde73e38d2a1e01ed5b47a85ee3033ea02f1f4a4898c3ebdd5967b88811727fe5431c52c8ef4e58c2e001059e8fb6967d37f819a2586bfc8c715f842334054d70d26882026b410c251a17b89f052ea23dbb9407bec32e2e61994bffb04ba11674c15bade539faa05d84d73aac4966dc075ca968bba6e5dbd8e16a66082\n\n# tcId = 92\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 75cc5277b4df2add60a44bc66ee8cd4b62e19f1fcbb7b502e139b26c9b7f16c59a82041a1668d530522131e0b602fea4f5206a59bf793657bc51d320594f504afd7f681627115f49e50e2f3fc4e745b0d7c412d1a37f8b8cf1fc53c25a65b0bb18ea45667caef3a8ed608896741b57d7bf305740e238cc71e930b99be530e866227e0ef26a82f5be083d4dd58b21a3c5f01f29c72d265afce64f56e66f85373939185d312aa83e58d82ab01ece9a4ba5e4295af10d2e563ff571f8a32e68ae78d667af19e17cc1f954620184ec228d8e8982f19c0e4f7a10cc1bac881967371be184b78af4116ed00c7d4d1fcc3b2aa66d28461eac5422716d0a7bfb5d31d79fb4d6b2fb5799d7c86295cd4bfbfa6bfd6c8c35463885fdadc5e5edc2f5135323253d717d7d1e091be6413cdb898800ad96b36e8d2b7c1ccfbbe6a97f516eaf9fe08ef3ec6c902ceb54a9593d65d0976c7015e3a7e6780f238738d3ee725a16a94041b09484acfa8d010d37b78febd3d7a8a4e95d90118dc1897609be0854274f\n\n# tcId = 93\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 9b13eeb9c2d90c05aea36362cf7c99df17dbee7174efa2c2ebbe097211def94cc16943636cfa0ce56fe72254ef79558e4edf20de56edd93501853d63b009b00d40778fe0a46f3a220d0681cf1dc54e3c3f9578f69e9c14055c73a6ca4e2a2cf00e33499879a3c4f6c4ad928535b40220e6cc49a55d2f809181ebdb6ae6c439a235cdd36aa223e56de9d53054bdddfd9514a038b4edc4cc8145a5e37037b3b4bff7e664d87ca6221d7e22b1acd8b54a9a5c6da5da7574d2470476cab1785afc7d7598d4ecc7201ad0aecc09a8615f50ce839c75d224a1771cc29e8a429516529105ea9f8331d1b0a2d1a52d11663295fcd24245eb9ea04fef04d5d17dc3a77602ba98491bef151276a0d6e37e31fdd3b0a463aceb0b03dce495c9fdd85449c305f933dbc1b3fa71ac2853ca04a67727acacb77c48217446854de289e704eeb4279cbdb1d4abfb3e06a2b7d66e0eea608aa5f5843", + "bb957c44902fd1a8d1121811ee891adb63a8fdf6538569a2564d7181c7aa4d4f02cf78f6ba928b00ad6544da9\n\n# tcId = 94\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 577f6e42fd397449565db814762df3efc12973529b0b9f825bdceb5c9c569d8f57da7e97f0007c23d8f8a88f79ad079644dccb2a20bcc56675267cb8d6ebc18d74dc9ab58b1bb508f3b30557ab6a09842d0c02b58d0bc23b6225c551364ba6fe15154ac2c279a2cfeeb7dfe5e4226f24802df3571b72f71b52f99cd2488008eea573aee351508ef0af9d8849621e5603158601444732b6f62185adf4134621e519444e4844d551eaa0779df03f1feb2633f6fd293fc1d3fe2ac1ade85e6b0f6104bd537f67fc09a21ab6f32cd98ec916a0e5e60d385cd4a55644b42707f6e4ab1558209521beac521960c1b3960d4cfd132e5454b18efbbaff1485858a1258de95b871eafe07211601b7f116d3b970fe36cac65c445c62e8473c544dbe9dd03f51d20645fdcae8c918c28ee42d46b8370787ffde9d3820bde2e13cb48d555eceb1db30b1c686d2f01ee83c44a07bfbbad044b786d6d02530f6a101f7a1904cfb3d4e3cbd2bd07accf88bb35c104412f1fa0994ac8d57af6b70caee6186cc44b2\n\n# tcId = 95\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = c2bda4a6569e430e701b1181abec2424faf9215a0a72790873f36a0fd935892b43b221596e840b062e7fd05b284b354e8d420efcb9027f1f4722a41c83813f6bc8917baf7046e4491a1291e606fbfdfdf8a18093d1a521d2ccc6a3444d9006c8d16721dce5fc82ff9da22b3eaa841e445ba58a40ea0e96cfa07d067a3a0e83f897fa941da57eff9ab5e0a9b6693dc36d471dd43bdc5b71fbc8d1fb8c22bfa91ea846b4d228e474ad999c2a5eff17ec85678b60a2de1430286f24bfa7ca744041c1c54bf08c9afad6d7387d318cc3980f2022dfe6abc6c15e1321dd835e684f61855546a4e6e74ebc40607e0878d61eed6c287b5ebc3c1b17b2b7b81bb91fcef3572bc8049dd7857614b97eb393bb432ead46679bb77b146a9b27b22e3961f47a8fa38f6370849630ad2caa216ce4645a13e518ff3d3e10bb6d390df6c280482f0d053e08292a9f4152b8bfc6e285ce0b4cce29430aed9956b6c43a40983c2140fa3a64b2d54ca29c52bc63bd67e22270f0bd76ead8e86c2b8fd6f42cf2628c54\n\n# tcId = 96\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 121c2499b559e438e8e0ef2e2c1584967c83691610dbf91c9f7422c92a6010bed4d247aab8c20135811193b27239d65fefaf8da30baa8d9d366da8c264a34d61abdcf731b2d4af79abaec9ed4b5dada3c1e982d99b617d42a4f632dd8725e51c937f7c45650aff47a36641d245d0060207908bcc4bf5491954dcb9ac27d1662afe0718a2caf7d451a4a17d68f67190afd4395c4be53eaae6f096d89cd0af20364c1f6f921de4ff75e77aebeaf048b71c4acbd61e13ea90daf65946d2fd7e38c2f50c71e2b9a17ee81017f99925016b0af93100a1d8ba576b07f3479de16d561b83fffd8aebc5ba373d2b28dd5feacae9c0f3deae0a60f3af071dbb3fe07d4142ef2f1836c8944d250ad5f162e92827e64a8593b7df3c932d72b8bb3b416f825c495fd29ef3c3c67efe917e53ec9a71d0ccd29ce5717326aed80665df34c038d6d6faf52ec0e4201acd4dedf6b9774c97b4c806ffdf6f45fe4a2b62433c1de34ccbd14386db40a2d85956fa062b26d232ca83325c38cb5b006ff509c32e50981d\n\n# tcId = 97\n# dropping value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 0dadbb9332b072d1ad255e22a641abfbd36f4e1aeff311e8e2f81b4612769c285ce708e635549111c9d1b125de03da3adf921964d74299900ee85a379f63b2513e36f5e6eb8b57fe7c0b09244a4e592c6518bb498e5eecb43280d801ffba42bae65eae9bcd7067eeb3353d7914c2dada87e7035f4027b25e27ad6172d231fb27d661c3a7d1c99dc5b402d85ee471dbe0f85b9631a6f9314d99debd84f537cdb789249966265b0ef3269a876c2ff247566855a5570528be74cdef53c596cbb7f01beec17ce61b9f5032db0365673a5b48727617f8c4cb90afa4136e4ca511b80b4fae57afbd1834386014f2f352fb43d5d7119b5b61de629dae681f956bbea009ac2bb52f9ee4c33946ee84252dabe5ae3bcbd9e1a28c60f90a222b6fd97b499c024671f038a9aa7c8b7641dbe1443d3aec968d360ace3f9910984042d5256288260d754648f366574304437f2097e55c4a31787075f0b7af2a212969474848459ced0e3d2178c322b6d8edfc957350995145bea5e9ad81d4b3bef38af862f320\n\n# tcId = 98\n# dropping value of sequence\nmsg = 313233343030\nresult = invalid\nsig = c2719fcf01676eb69173e5b862b3a2ff1f1e71ddfa0f393749deaec8a427ee39757d90dd21e9ff74d142ce9df67cc38e2feec46b74957b287d2767380b53b654507ebe96dc43dba78021d71ea7ce9d48c769d0bee0dee2ee99ecd9cdc9e7ce9f1ace832376316ae1d0755db466a521212747cc1aa94301bb99446a3d5c1e33dbbc60fb73bdb2a9e561ceb2d6ecd6d5c92ddcaf2b2eea8e12222a7050a8dedf44e55350a2c4d2cb0016fd95c2298d0ce805c140f75b4af6912fb3940dd610856671b9e354b767eb28a4f4dff3458f78c7add72617420a287ef3e5486b28307d88ef7bab3a737528cabce0d934fb722606c6fcc942c82ca993c9afa54b71b72056de2437ce393704da59413d419ea8439c3b1ac341e3121a03ad66dca6bc3caedf46cb7c43d33c5f79b40a25a922c640cd943fcaa1c2d8dd6c6dc645ec66c2a5e3873add5cddadb21ae51fa14115534fef8abdd153e2b944892a627cfda3faa71508fe489a28b5bd0d285117794239d4717bbd31b41803475e18b022eb458cb170\n\n# tcId = 99\n# using composition for sequence\nmsg = 313233343030\nresult = invalid\nsig = 238a0867ac39812214e7293b9734b0cf70ddbd96c20f27b29abcd7fcb037534d8480fc9d9186227fd919ba35602573d55f1cedb9f307680ccdd850ef7b92a663b5907a83e9e786af8ffdd3181752f839e45649e346cbb0d539b1de62981620c12245079b46d2703e968fcd9d55816fcd3c48eba0a54d321c3d8c341004b45e90ac3013897d4816e007886799439525223607c5100f2d8d48d80b1fee6dd6b25664662460f64b9858f5809845010a6e962f2101606a6b52fa5e154e9e060fe8a4518943385a6cc9af1fb57e388544921d849e2dd72b65f8ec955093cb4c7f18783b347ea19b0325573d92ad4cc0518b6aefcaa156fd4ecada18fd68ca00ca70f8390adcd22aca5fbb5506e8719590d9b74c3a325cbe18b96c2e18d57be8d9907f76d156c8b3d265d12733025d568366879d233a9463e26509bd1a26f141c98946af0162fd5595c83821caeb253be2db73b3752d6dd2bf597064d6ccf6809d02ae0756df341e530697bea1deb37fb34840077cd3032ef1ca38cc302b19d26c3ec7\n\n# tcId = 100\n# using composition for sequence\nmsg = 313233343030\nresult = invalid\nsig = abf57269b9d9d1f2bd1b8df08ab37e56648ea96d30ec02804505fd303213f0313a789e62949281a30e171176b17132b41e3b2163d98fba58e878d48927ea2fafb830f1c4ee6de870289f3513b2afd005f6b0adda15b6b9abe616416deaa9f9e720d246b4d19907514417744d3180d119a93b9b353d7da0913ecb83d01dbbcb8b44571a00bc46c656fca80ad9df6b2e4fb2cd8cfa9a8fbf6883a9c2dd213cbcf0a3e104c27274276bff2be215229756a4a58052e0ae3132ce018f4406210713ea9391ffe1580d8c0c937fc63bc514ab69bb556010802c5a53eab522ac151fd22417b0101f6dd3e020f8f271b8eb2f6086275422d42fa896a8fc3df69c17ce9bad8893ca2b8578bb1866c7673a3e8775dd776e28709225be821f6fccbd7926d1e18605520b90aafdb6a81554d97216f97697cf52bbd9ef55807de827b94a1e54aa2bfe8c778299b1753738e475aad93392dcf99c607c89c43e90e4c524f0a4754281e442c78fb1264e70a43f1d97df8bcabcef359a232cd1eaa36f4761f459ab76\n\n# tcId = 101\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 312fcaa24bb029f9178c3a2fd5ee46aaa41ba1270fd166a097679d632984e57e71e4b1eb7cbcbadb29cfff24b91ce2dfb7fb3020e889b3bfa81647c26a0d7b8f1555b947bf869d551e7a7aae3b38d3146e22c49dd358a62ce634028b42f45ada608c64e8dd548815a42f77ab3a2e52f99c034ad0337470b4ef68bdda89eac668cf12b54bdcbb95ac18d56ae75d530d44ad400571f8af25bf4c4656d862697143cc02b5b40b489e7279a52185dd88b54fb1af807ea2d1691638ab84360fca0e8ae40652c5f58b962fef9ccaa4c6a2dab76cc0c0a0b9096308807def0db94e472f1c97bd29f25ffdf5fae8bbd53053d304f4ec214f79514cfe34623c745e3bcf8eab336c41ce7e299da2868ac955f64c738de975fb970dbbe450e528fbe7d3dfdec8b6f174edf706d12c128d0e846c8bebb23b09c53b693b031395df1cfb8835ab7739f29eeb9758e904e93d10499ccf64fec6942305962b4a78023007fb9c7548017448c028dad3ed092c961b81a6b23f9e14de6f9f78c0f559955d1af00e34f4\n\n# tcId = 102\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = d726ef3a63208fdda04a5fa68889a77a717ac64fa4a32e51906916ed7dcce303fb0f8a620cc9f49d481b9aa09745d4d2accab1f8ab2e2e60123ce73622709ba8585f6076742dc03071b52c17faee18f6675159c5a842c98a270923c212a1dca4137297f81c9775245afb4f08b8b201635ae7eb5466782a6717bb57f78254198c16326279744823cb381014e4fea28cd3a962d19a194e72fb067689c972a9d3b9af7a14fa63a8ad1b2aba076dc4f750396ef9ab952ab42a1f14d65d9390f75cb7d48a5ac4d0eafda58096924cd6acab19c2acbe1ab0a39a6a0231ca234b4c00beaabb78dfddeb81363594aba0a2a6cf238f2adbe898d5adefbfb74cf9e3e183df5d4bcdf59f87d43f55da0de74884392fc3ec335bf23568946afafe3e1fdb0d2444e878bc38a18a27d4695a2e98f80b001212dc309c3ff24a7faeb24800314761c0024049f7ef55bbf02ac49997bd4b623856553dc813eed9ad8453c83ef51cd7cd2799474559cea86a896607e5976515879760fb245a34e500800860280e5ec7\n\n# tcId = 103\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 625b90b5decd25d50b44caaff4f911e53e2886383e13df40fa812ca6dcda7186ee306c87685d2992e2a5355e5be06d6174ab25ecdf299d0fb5a282874a19bd31bba308c7cfaa10896ff1f5ba679f20b76d7e59b28bebae065fec99ef94e0e3eb7261ce1493f66955f957cba49375def2de39bbe4402b5b673179a86872a5a41568c8d9e4212e7943084fe97d6409ace3e07aac64247e1132072f6512bf2608084f5f79af1120ea04de9c9", + "505877bb81553544fabadcd0278a4e4913ede9c0eb0530a11ad6e6d507debdd37e40bd6ef9252bf4130644abfdcaa59d29edb2a56e0664e36686f261c6c6bc6f09cef1b840de2e7c1ffb5eb202b1acdf40c0359742a267333c1cec0c4b931efd05d7c2c6500e8e2039622d66ccf0aaaed914b479b677dabd08ec13f14a0e6b2760a1997918a186b84e33efdabbb899f8e2bfafa15077bbb73d85a5df756636acf87dac49300ed0f0e6c6c0dd518874fc84bb097ea4a80ddd500a413e42440c2442b8fe42afe39c9fcfa6d1d2415da85a8ad903bb741\n\n# tcId = 104\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = d78b84dbacffe53f9f7b058109251835cfbd56a206a677974a45b7616d66c33c0ddf8c5fab8f6da081339fb9132421933c0f0356354474ea2f440df9d2716583e3755c807a73d4eb383ca677043b30d9828d0392817b64168429787f2845bbb638af68d77590c82d6d7890333cc1a5e31fd140be91a1cf1678806b6eeb65cce02b88d5a69abbf31a16ed3108392467b476f7c2eee9b6fab75cf43358cf353bb2c626062bcf92a8819ac4b2f73d3b00e1e18b7dfb60c2189a79939a390c0815756613f13a7d13d9a79b2182152a29cd498b973b8b00b13ec11af697924fcf0f193aa316a9e4c02cf44cdbed2fbfefb7a01348d72099166945105ec08b3db71b1da6741fb20b5e7206db870bbbf422ac577340ece1d1a93ee439dec9da18c0edf6c89f16a0db8812f187473c8d1c27c65361f5145cc9fb0b3931c45669c0cf8ffbf1721baf92a2876fb9e681762c994dc04806b1103e06d72b852d168ac5b715f0c940e4adccd7a747f7c79b9978eab6c090f938e035d4edc80177b537989daeb0\n\n# tcId = 105\n# indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 654d3d6433b71add296e323b4bd6f1dbbdc60d5f7befb1c7509133e79d30e98ed9432d85a8d123a13ed78a1855d1c9d9c854c516d028e401bfea1d8e58be0e8031e8ce582f7d334421ab504c317263ef33bf743202b3e140654a7c9b1487f0d9454922a919efcf2142f2b9d0e3ab3ce803be110fa7613db80d1da8de04b808a7effd729b751c896c8affdb1172418ffc3bca52cbc1563a5c183f86497195410b57acb7ffe18c2e31dffcdb927a3544caedc5c4f640289317635e5e0ec56e62f68831a717f2810d43265718dbfbf6d2942a5d4245d0a86e3dc17462f42fbdcb9e5ae57b28279f0a394b1e188fe98f3f514642b22d1c26218b2b43aad98a0c8ea73480dcefc02fccad043af277c6dc2a39013a51a24918fc78388327198ca5689c346aeaa2556eeacc63f745dd94d6c8b9b54681cc057fa3abb725c8faea599b685cf30d948b58a228d77fbcc1b18e050c6dc810f7ecb5a0c3501fb8f9bf69689d997637612883752c8a29e51e7b92040f3686d2a3ca020a50ab04361c69fddae8\n\n# tcId = 106\n# indefinite length\nmsg = 313233343030\nresult = invalid\nsig = dc8b26af772ad6eba277bab5d97f4335c95f56a1ee5f1e248fc71b409a76883d29b2ebd65a1bd85e3a365284f632672be93bede2000ba6c3cf5e100b4bd9a699af2519f8917631d7563f4f1aaa2ddfb729118c96a01722ab5b74c93e36bb706c8edba0e43225ed825c41b8203e128c45827f43f98cad8e8ea862ca7538e19737dac5b54631cf68b65624845a25f5106a92a111af43bffde1f215395a1d9ea2c08296db9bf97e2c7bd0d6a37a21f97c7bba3ab7544400e2fdd2ca001115928086c177ba9387fc268770652213012b2bb917edae3416217fc4fe58a916d20c9507f11a9404d36e26e1e2f962168f06d5e3ec254dc8b554db9a33ef99775f246974c3d43461ec9229dab0cdfa876bc86a661f783ac2a313691f9e919363b2aa4d7691f59152e331c18c7f1b0f2d39408d937cbb1e669c78d509dc99d10521ad0e6c4a34dc30b792bcf56024aee4c8b9370aa73269ad7c7142886ecc7c29a6d79890922c2c81aa2f5f0ee316cfbdceae3ffa0010de32607efae35ca5f906b04205a8\n\n# tcId = 107\n# indefinite length with truncated delimiter\nmsg = 313233343030\nresult = invalid\nsig = 6d19c9ab9e470c402578e0fa8f5d82fe57b3103b94ad551a9174e9e8a4533b9571188ebfb096aef7c1103ceb2a93f592c0f55279a2fa36a0ab77592b110ae7d61a5948f5c9b7bb941963a0acf4ceba0767c52bd62ea4e5d22251e2cb366e61940f11bccce40b35bf4137b9c6447a29dcf0f73ceb1954ce81f37043fda74d38dd7b45edfe3bdbbbd87b74aa71c7384cec2ccbac628271ffc4edd8e9578057aa130b683c25bd286fd652c12522fc7f85b4b55ba4d1cbcab096b19a04d81c2fe0599581237ed6cbd2a28b789dc3edc6f39746cc0375a35b86d09c02f4f996849f0333b76ffa77713787ca0845bfada29a27b66647b6e22cdaef29e8094cf11dde792ccb6f4ff3e33d2bab0215bc7438f34c96765216adce5b053240eb815ae2230173cc4601dbeee51bd3192d4af32c573b7698497dc8b9fc6fae53730e85ceea2cc3d9a15fd00eabfeb99f487367f971d4d0c27babb071df80bcf2398a3e0666a04c9d41c39f72235f125332f54d4ba27b48f0bd580fab9ba74be16594f17b241e\n\n# tcId = 108\n# indefinite length with truncated delimiter\nmsg = 313233343030\nresult = invalid\nsig = d58dfb5abaeb00f79173846f172df4da2b6fd056fb23ea48a4b1c04fbaacf74aac490f49f5bb437018e68260c5fea5ff4bd263f9093394e256a85e5ec8b783da1b296937a155a14cb2a027db233957013c00ea573744b4cfcf58cc51d6787cee3b4ed6f0b23511efb5cf8f553985999dbc54baef408bc5b3ce1eaaf7be828742c30870bd586a63d8c02cbb2517812101759eb290f70c45250f5a197da3cc6620611853ba6130d59cd70f3a4d519e5b49e7b7cb474223dd8a5bebe3f4edb9cc44840f829843c024a7a269673c84677729c4f6a24d40914d8feb182c5eafa02bb45d2d4afcc57751ca5f6b39b6c550876daa5fcc32ec9d4f5d9b6c49a3e6fab053104e344bc7041c2e6b7ead33116cb8ec7c5e59cd4349cf23bc96b1e7b2dbc9f160efab95d3d2ee495f8fb91ab4d53949c946419f36c62eb0363c46bec6d77dab0258eff8910a3df789ab28681a059a9785039529a292c55d431cb6f97525c5d181d113fc24ebee04376b2c22a5faaea5f9431fa48688d014d8a3e22819d4205b\n\n# tcId = 109\n# indefinite length with additional element\nmsg = 313233343030\nresult = invalid\nsig = 9c7c0260a14cbc98d93b0db2c40028fcbc672b4a213f2e284bdf0078b3f9fca950aa43c870ad59a15d21fa0a16cfb292ab54a093ca93e51f32a325edddef0885d1efa35cfd019b4f5d34f8126a1a65e7e2586fcb5c3c5a4e70153477115830024a2400136ed195982e8c3aa76409c38cd63cd8315751d26af0183c2a6a7919939ab1a626b66106d2cc6e884b7f9cda3555ecc16f96a261b74aca59c28dd84ecc668f1e4dcbaacf394ee62d995f3357e387824086f1da4cd35931390f1542c35251ef713a965cc9a58d74a257a6b8d2f7cff0c6155b88f7d201d90acd9e4127dec43ea842f41647891779581feae92a67c184546737960654fe4d74783b13ddc02f4e5c964ed6e1ccef71621a8b75c47b6c7fb98ae24831e72800484b8c38cab8620b0a7a2719d846792f8a04cc338f462e81c52328f8f6a0e5031334803129ed6c96ef8a5e53ff7ee461daa44595c9da95bad9475ccef8fb0839b78b95ca3be577afc9e4b7b63d357b0613aa4d46a0239c7ddacffe6b43fed020c5e4c7fea9b9\n\n# tcId = 110\n# indefinite length with additional element\nmsg = 313233343030\nresult = invalid\nsig = edfa8852cbeeb5310de2778612b2f7c1dd18227aec6af8b28d267a6cd481f08c0e9ef807188a7b4db9fb2b315e5a6211a4a46cb4321ea9c9cbd5b61cd3a3011094b82d55d561e3fc1d8830ab99355a8c72266ea6070197f79f191931a13d560a5ffcec16f0fec99a0232851c63397b3cf0f561d9c13d6c54b0840387dd7be3ac7e365baeee631eea26c8ef8a09331acae63a49f8f52026447f403be950184cd5c3dc25acdc1c7468a33b672a71b474131853cbe020f33b7699dd5960a5a817c960de36eaa99805f5a2a56b30113b98bd30b38a12652815dd7b972545be39b1c6573781c6907e0d510f0dc876fa404bef9f36ae895d34008078cd49053b4e4e49483fe8198dacdb68b5e864a491c4435dc7a86deac9ed959a6ea6267d9e3120ac2a091cd5d63950f0c91b3be9954252872620dbdd11c7bae1729652061c2e12ba1b9306eb8822863f479970767f231954a863973916ff5f08e9adf1e486403da4b78b654dd5927481b28af50ecb846073a7e7f95b552935993a7d660452fe89b3\n\n# tcId = 111\n# indefinite length with truncated element\nmsg = 313233343030\nresult = invalid\nsig = b66681b04e8b3faee9bac3c52d9c6b6e62c5454f744a19df0c91d94f30c8faaa5769437e02cf4ee4f5e3cfa78901213b54476f8ef2d6e619e6ba6e73205eae6a573eaf34abda20e45fa23d9fdc7d474b8a70809c0e9aa233da83e0eaee1abc14858f519076159eefb770c6c3479cd70dd3ce4aab574a15cabf8d9ed64854f52f928310715d7633f3210e5a3595157c1b39e8e9f939c406318d1af7138faf6cf2d755c213aafb0784ac126e71c4d2d0b1f054c28e80cff43af8fc41c51efcb2c620c4600907061e075efcf1cdfb25cb886b64451e07e20e16bd10b223453a7d32c116c2b34b6419534f64964c95ea3bbc08337526fdc66b5ff7f90ad29615c550f74869c03afb91c97934f89d4aee124f3b280b335605d733e395f2a1bcae5454701397f02896a647aa070db7d36112b427d3ffc344281917dd27592c530b6669c0bc3f191ca578486e036f99abdc5ad3e72ae325bfd6a7651de9b965ee56a6965bb3a0b1b6f1288b17a196f4d7d57a31fc9008e665058b299fb988b64be31a91\n\n# tcId = 112\n# indefinite length with truncated element\nmsg = 313233343030\nresult = invalid\nsig = 65b6b1cead06a1ef0d9b593e58429e3cecb4be8f3654fcf6f1cf5240c5e1f617520a79c69f1a759889a60a2739107d694e2a21ee8ccbfdda25fd30f46b441f1a524dd0b7f4180705aaa70533e56cd15b73f807fc6d0119eb7f7acfed7ef96a917469b9c74898de4f28f2f8b207221ef062c8c9722ce3480ae352e99d43982b784faf9cb3b98b037a0e6cd994a4cd68cef59277daa3dddf4a0c492eb2e2f354504b5cba4759cb7e1bad9cb73389aa07f48e8410ecf7d46e3617824ba279a96811ae89d15335606da6afc5d68f3dbb71141203646bff8408827a76e7264fe4d47399fe74112b9909f3322f726fe20fdacff5b78492db20198432e497b4a73d0c9bc9a5aba64529a6bf70c9de78741c588b97487d9b13ff552c95e0fb47ca0201d47eb609c712762e23ff39b89827b89ddadd9888a5464bdadf5c168d28d976d9c8d8885ea2495f7221f317dc3d6dc5462eb5af6bd2b02a2e540b3286196abbb9bc36b684e141e4fdca882890b3b79ad57e2584ed8ab361b4a4f5725a7cdad0c1d9\n\n# tcId = 113\n", + "# indefinite length with garbage\nmsg = 313233343030\nresult = invalid\nsig = b5df4fdfaf1665d89a83242e493c8b2a44550228eeb00bf71688b664c1c133eea9f4c0a1adf9a784f7db87fc7bbabeeaab8ef424f9f12aac640be61aab8f5dc6dbf229cd685bab1981a27cb1c63c138f1476393faeda6710b2c6c1c9948f7815f4f488dc9b70ffdfa9c6ed8fea3de1f71c140a6d14ee5643ded186b9c2d94745e105dc0072b3653294e7ab3f89894d2eee9c09f01db2d36fbfcb58192d77b81f05c6a6e9d025b612f055369fb0b67e78ef476f88303f31a7d35917f00b5e4e6fd33af9e01c61e4eb1a2c1b79d126052313b9d9c2b2e257b3ca3294a46ede05727c8a0d1b55c95ab142cc385ee5e724107829371128f17280ac39b47e18215d775255c53b5e19b76507d5009bab76df1a413218b409273b7aefcd20ad38375c648fc85654d87509888b93714c18cb9394840e86fd71e704ff3eecb9a764a19cab975e7441015fd4a2da3299840df025944e69ac79b2e5eb51d894bff04c1787e5fb1841672ae799a3d27fe1c5661074eb2b321def70785b1422b34c7a428f8597\n\n# tcId = 114\n# indefinite length with garbage\nmsg = 313233343030\nresult = invalid\nsig = 99436e45ec2e733ae7ed9b14664cc0d87b9d70d288cbfab5e903665a140365e6ab8aafe81be94b9707441c588d726c7be562efce80b0d1e6f74466d5520031707759ccef779e06e3a7ab6ae7288f348e111b219d53121ab60e4528455d42aeca72bac0c64632f402f6b8edf76ac7e13cb676fbe0082b32185d13b4acc61933f4707c43942ecd48e71160559d9eaef30342d3e3f362f4c028d0136acbce15897ccda53691ca89db559adf125ff0cb47027fdc7c6376c5b304e004e848f82c6a681235c02d3ca98fcbfce53000450cdd5a48378d7fffe86793520a0ed9bc9091de51cbfc6b88bfd2af75cfc558af37c41c969473a54051f741071e06a4bf42f78f21c4d7de13f6669e9203c77e09de584dbee7dbb5874f1330511a7666275cece3de7ab667cdc43b7a782a42b8e2be8bb983c7744c82fdd0454aba5e1725dd4cd39065bbb86c39239d4a7c56c1939fe37a94966e0433f6211e93e0d9fc9477258239df1292f4e74225547fd6ba68f8af30f5fdb6f2820423b8e8b17b614c91c41e\n\n# tcId = 115\n# indefinite length with nonempty EOC\nmsg = 313233343030\nresult = invalid\nsig = b49672bf48881d9397d81b4d962d23b6f4d0da5733c4b4488981de8d61e6aed4083fe15d3e788149f8cab9ea0bda6156db278b4c66887a5aca6e511f0e51319476d329eea509b4a1e3ffa915b3dd39cfc8401164185fece011a6d82d71cf9171612450e24a3d06df84b80298cbbdfaad02ad4d49a178b3e16b4d2b69020f9bafe6c58d577ba4a933531ac3d2d525222073c3dc883c6958b36e7954162031d9559a497187d497e0c1eb6ae55c7050f701df233c4d6b98e45d5eae45b36339d9c619b474c3daf9a5651b1bf9ea5776765148b8e439f8466414247f898f6cdb75f222636ee965dfd9acff0321c1da6f1c3b0b528c75f5f63c4894f746db01f7edb34b1005ea99fb9f82f82e1cd9943e8ba336334c9b2edba2343d09b082629869aa03fe50937d9aa30060dbb4cde14c3f1bc225042a556e0c64ce0df4b3d0486d611bec3c7efdd3b2be977124d0891915bd68e41980389762e01c631af2f70e904a0b7041ee1a2c32c0f59903dadd8ce5cc335b761108c1c176d243fe2140adf792\n\n# tcId = 116\n# indefinite length with nonempty EOC\nmsg = 313233343030\nresult = invalid\nsig = 781a3d96f3bfe9b6f0aabc4f4b6a0c5dd942a76b099f67732f82b6e342016082e6a2c1f584070585c7f2b67c9ec6edbd94e9cdc8693d7d7f3e15084bb02ac7f8d079d2f8a5d4d998c90d242f0a0cf786f99da2104d8b035abc069c763f8abcaecb6194ad78fd433114e61742820cc77d8e0eace89ec7a19b861166967cf22a608175360ff947febf804436ef129c45e86fed9ece9cd16e9756369c638eb6a9f1848eea24e2b9710092e31fadbcc72c82dde582069c2fba3b021bfb8e81bff479687098fd9ac9c7abfede1f1a2811684f745b8e10710fe469ad8f3128694694bb4b333fa59bbacf00c3665402ad486d5609b57f957bf9c964231002bbf190121813f0bd159a6c879edc44200c7e30caa5921d2b0994257d78e0ecaf7c13e67c07bb16b419f48943a956f47f87c839898875a106319a8f860b3d2d140b0bfe6163e2ae5e2b11da259c0c4ffa6d25cb20822049c72d2a142e051b760bc9fd128563e5ba714c01514530f76d50657e4a3ecab74229d773e08347c35e39352db85d3c\n\n# tcId = 117\n# prepend empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 04c8fad7b52391e832af68e62e8cec1cfc2256d560db597138f1aecacf4fe31ee1515fcb1400ca18c56a1e0aad984709b962223a3d7cdaa59bbbcde52ddf9ded9b8ba38e182cb090fc0fb421eedd787a6c987cc693db6cc645c51c41b91a41afbf007f6c3dc291d036688ee41193f49758cc1dbc3c4809f0ef528d00f3ea2da7e8c74016b20de55a6a481e6279978fc851c692eff78886269e45259ff8607a2efab66e7a18d247ebd2826d5c9f7b9f75862d5da206954488ae1cf1c4f28630b46d8f60232ba8bd3cbefcf8b7cbc06fa7e84c06fca1be837d521f1dbd67e7feea7034d6539ed126316ca4401ed1d1ab23623e2ff91ab762809147b9437b46239044a69ed1fa737c896af9d611c1e8062f4a3faf4220d0afb1d8851a4205d34c6a0ffda9d5b114ed46d66c2f20be4611c0f8b73d69918d2079a6da90bb27828e5605cbbe7e3983c2850334750da49361821cdcf0af965f383519f326fe32456615cd8c72bb6ce7106cbbb4cf3627438ec5de18a4f4ccd967b7259585f5e35f050c\n\n# tcId = 118\n# prepend empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 6899934d13c7b6133be112f7f63e2a58de2503fdd0c9055921f94b4db0e1aa8475f5804213e79369f87007f70021382644239b4dbec4f8630c325a79a9c2f1e026a1792c1c43b64a57564fcbcbfc9702aa3a9f497f9f5b236495ed80347613170e5f18c81df504283a04f20381ff60cd11255fcd1fcd255ab4eca0b00c4aeb4d6b66a31d05c3b7d7cc329476a8d5e523af06b7542970bc174a6965bdfc42dc76f9efa2abbc61794eb208c48e33c293620f1b348e2048d82832cf293961844ccc6958ebace14ed3de52d57c0c166def97f602b486b75faa47ee8ff7fed50424ab5f2422d61a5c7bd2c64cd9e12a3750686f30ee965c4f672069796a75db2c106606ff7b9594741ac4ce3e9a29b43759b6c09601ad8fdc22c8ec8be269ab634064f6248cf5ce5c34d100a08ced73296055fbdbb8254cd50a799126970e07a5b42dd7939cc8342e82ea8d4f3037dc16abaeca4b8b97696d42ce51eb5241acfd21711d17e55f0cc31b8be6690bda116ffefd8837249a5efce51445740098148f5f31\n\n# tcId = 119\n# append empty sequence\nmsg = 313233343030\nresult = invalid\nsig = b763fbc33cc69215b354605de6cc21eca3c8e6a8b3378f86107a09476694d31c4d5db179183b0d0923f86c4177149e6143089bded2274b4a7e328f3e45c540421cef31972556c9d81332bd32edee010bca4e77c2113bdf2971800c6b61766a95a2eadfef6901bb1d79237b3af3a817bceb69e564d1de2853f016395bba5a436634dcc1b37f4f1c2f2da979892802046505b20dc28294c3ec9d6517b144c43caa77a3f4f9469295f7d4e0f566b2b10394d8a4e8ef50d06078ed7e614dcc1db9dc3e6f7c9ea8413413fa93d54a0e30785dcdf1cfe5509bf0be80c5ab8ac74579d695cd3ec471def759727470191d057e6d5f32c2c8ead53310890c932de3e6dfd0f3d485a3efb6d733c21d454d032b4d1388fc8f5469de8669e9ee610b725ff46bc08cef304204471ab14fdc585ee02e07191e1e9bb2a2327fee3b23a714cc5d1ea59a13528d97cf75b24357e1e232942aa54db19a980b3e7f64c672743395a9d470d11c32597d1763e62fafcbea2f480c14bef7774f74e2619b1062b84786d5c4\n\n# tcId = 120\n# append empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 3dbbbfed1a149832c71a1293c20b81b1c8d35c4b75181f66c9f7e6aeaef04066cb6edf1241e9d87ddc842880b7978f18af9d2a33fdf7fd1a5e8c10dd547a5d334233ceeda2bab410d5dea9464f623961c98195b411bb187e981e107b6bf67be5865a059a6daaff8e2da602e91f4176f47c53c9f53b22605b748b68fe98ad9c5936957b074fe844567e7dd1b07d930929d3dcd46e84ba6f9121fe1f49dee955e1ad5a329cc0441d524a20215a9f7304e977df5097546a4d3ed5022765b5cda292f1819b55334e6b95119fb0825756d7fdc8dfe173a391b62e970e51729bf89eba61be3ac1f3a5835aa1f6676ef807395440e984b13e3711ad316b7fd61d0fdd9dd3fab9b75545882fc1a2fe1f0d9dc7c72385b0b445ec411877de83e38fb7111d5b935167f469cbd4f37fe1313b2beff0fd6ac4bcbd4e98e55e787a8e16967d8110b8c33ced213fd792e1741e4824e41be24dc6cdb947361cb9ad8c742b5ec01f5e71fa4eaa452801fdb6524b5c6d1cbe97b10d36bd53c9456977f662b6a1c85b\n\n# tcId = 121\n# append garbage with high tag number\nmsg = 313233343030\nresult = invalid\nsig = fa9bf918807d4a55847c191051e8faeaa3bc7b51ca1969477cef9fd13d310c2b75e7e72784465d2116df32925b772904ee9a185c15c5c740b98bcbe18342b6c8d513c89866bff83cd42f0124d9b47e289568f298c190a185671e6c32e7d4efc86a732c4250b5f9dbf5c084f5efb468766626c06bfb4263e0cda509b269ce9942614d580f700eeb1137e2abf520166485b841eb2a0f2d3deb17e67304ce500df3535a75ad5ae64e2658e5bca43e552a83ae94e81575fc8994c20222ee3dc49f5c8f25fd6a5c8523624dbf9fa035020845557020f5e3c4b988645faa436eeead00af9135d3dd84970545e7aabab9cb7239a42f1b7953055eca1ab75971b067d69d37f2a9d1485aef32230d97fec2ac2f82b3790fdb360495ad96fcb0659029a78358f344155e54cf52495c6409dd4066ec6d44a7a3f05ea3d87794d8dfcf79152895c35085db4cf14dfe44bdf79d313be0b6e75b62d003547f7a30075dae09ec28b8225e08ea374ed8f442e216fd0b9ea5021fc72c76d42163ef3049e2c0b3a059\n\n# tcId = 122\n# append garbage with high tag number\nmsg = 313233343030\nresult = invalid\nsig = 106870b720b4fca4cb9c6cff814c6118b003f627a8675865f15b4b5e4488395e0dbfcbe127fa684a48c4446bc684054b97717d83396335631e59b1c7739cf647049e92ccb8405f4a6160b9c588560830bf3259abfac4c827194a7e19bea56fcd03a37e66b2e58d71d92dbd694c00316079fa2874d27b3f533d09185e4b11aca79b5225fba9b5b20f05ed38d24a202ca9744f40a7b81dc4e27fb56cafe2bbb4a80322f009adbf19697cd055ae8acf38f38e9f2f33c0d0683646778cd52dfde268cc81cc6708f090d04a16cac31", + "708e2a2418024e53a87f11589507fdf65656d3056a7fea52467c27b1f90e1bf1896a1092a575994bdfb1b2acdb3df59fee8248e74a0be80c2ab0c04aa4eb0c1aed69c1c1aaed052e25d46c391947d2b97c36b707f82e907ce991a5eee9bbac578b5ae83134771f9370f1d3b9154d898ef6504ade6e17d96262cc2d32bea12981219e52b9738cc097b18eb54de0856f1fb89c82b1634cef2e7acde0ed2a09280e2cfa534f3520ca1d9b1d7e5bc90205d2bf7332e\n\n# tcId = 123\n# sequence of sequence\nmsg = 313233343030\nresult = invalid\nsig = dda96df9b188652fae7ca14a1d3a44e26359ad9f2778f0dba63b5e4aba7c30b55439f74ede96c56d48df4254f4b0a6f308859904f2f69f47ebf438ea87232f84e61c3e376daa2da8c0ab2391a5c8d478e42cdb2b70ba430db5dc3aaaefc9c7c6ee39e2b1393f024a75c4b91843d52a49bb2ebc9aedebec09d2bc5c200bff6556e689e48a3442b216bd7c1927946a41733e8ecce2589d0973ef8dd2a3a88dd9d4ea2d1d0babfa60239632dd2c23124165ab11c625b95c3a0c2141301aa0bed4228a1b87964ae14691b4dd02b34e38d538ea1e02a7fb20eedcc90176e8c57833adecbcff87df4c04f19a77f223976c41723f36cfdcecdafbb72f2fb944d4ffda0eb0796c3c0f1e3d19046c3824137260094bc6eb3b735153e9bd683cd741fb394f75dc7510ac4f6f3dae980b56db7ec4bd15cb193f13df1f03ff8a1b62aa9587df8d6ada3e8cb849cf923575bc5bc4bae87c93393f7894a16da39989305a6ecc77a1a3739ae253679bcea0d7ac472cd5fffc62c64220347765eb4ce21549654f41\n\n# tcId = 124\n# sequence of sequence\nmsg = 313233343030\nresult = invalid\nsig = 80403d3a020d83681ea576847d5d1367e0210401b81413f948ff106e1e341be57b4f39f2d8509586cc477b0b8934c0ba78a3a97ba425c9d123ca3bc64bc26538c1da92b24adc50095c209b522dcb4f0892815064580ea87c208d7477b50d7330bf8d463bbd4ec66003576ca520a1d04f836d1e2abcdad2b0ada71bdbacc9623da2276c718a36825020dd20d6747c9b7616488c7ce0df20ab150d649c4417df73718f3c363927884bfa6134c636402b6e6c231d04b3bdc4ed6b29f479c8c35e0e02af932e59f800e46a14c0647c2f0c31748d56995f346fc6bbbd90e55be49767a16a6934798be43fca5d8ab10853cd20556634df53b13a1bd4c047d7d52b1102796611b016517a28b277510c87d398b4fabad78d11b0a6a094efadb7c21464129636c75eaf06a5c1fcc1a9cef40b9488f24279c6fedf93b576f5314800709929c54cfee383140fa71bdad7552b0db467e39caba1adc70e1ef22f62e81c5d4a50884d5a359de3c7bfaab1c00c31de9fffbbd4f8a4e8e8ae7e39eb29abe0612554\n\n# tcId = 125\n# truncated sequence: removed last 1 elements\nmsg = 313233343030\nresult = invalid\nsig = e3f92ba88bdc4136cda2e5a248325c98972c8a42872fb5779c46c406dc8a7f117d5fcf3c2ece96f3c2c0f5061547ee233f20e17fab48c4316441367e445d7100a173bda80b9d6d4411188a942c3be703f0779829dbefffadfe6cd95625fe4c5c1bd3f22b8221b2b69d3c20ea407c6d5ebdb5f5c137d056899859cc5faf5bdc87c223508a662e5b56b08ba3c8d2d344b6df040193e36263c11123a39d7b222377a131fe3c36bea8467390ec53e46946c54bafff4bb61a0bafc09c838081e4e66231957752fb8a49cf1904d70b024dbf470f17ae3c50e7407ed5342dc8ff9e556564fe37a6d922d2fd867da8d92be27b20deb8c7597a1bef71edcb402b2bbb986fce5324f4c02af643f5e3daf623f370c9ab7d3a55e1ec92a5a37f2148979c9bdf8488a49d2f6a31a8e99f1da98ffb5c635173a43b94248a8c5037dd385d16ceca4b4e769a8a5762d4ab952ec99f3fc9ac6115666e0f5f94ad59f23c3ef1798093807cad7e08dc86f3b4b85ed6a34abe354d50c772152c9844b9a34e9097688368\n\n# tcId = 126\n# repeating element in sequence\nmsg = 313233343030\nresult = invalid\nsig = 8085ebfe55c20755b6f1375ad924b868867d5c878c41943e61a9eeacbc68c7ee9dfb61f54b8ad22dcbe04c506814711ca1d36c2226a7d906f095ee1e0f6bb61ab8eb6344d727b13a7252543c842bc7fab0fcda70ae328abdc8ca3542a805c6ad30cacb432ad05918a65862f7f2d59d0821eb1e73ef8b7b2c24ceb1232b7b3b5a3ce06e7e5f214722a4fa4675217e09daac6764fc20b3a87d21589b8d2220a56b94eb71acc6ee4c400d47f415507d01207777ca6f3b2baf3cf27e75a6cdbe1eb0089f6b5c3825edc6a223a61c9d256006d30a6f0fcb2c5624ee8b49814f1f560260dececd9d11f697ef417bdad561a9b63236dc2e62d8914382bb92e98a1c39393815cf0915308cbf212c04bfb4a8e9dabfb5ecf957d0b6a3e4f7b0b13233d27998a1c447cd845cf926144370f754494e2c1b845646028e4e26b87888e8866c89e35a00da8f3ff3ff519a813d9016b8c31b861f4a292f7b25180447aeafd03439c543b6e7c94c03eb837d013fcd2151c17155e24127134cfe6f5d88d9515e3590\n\n# tcId = 127\n# long form encoding of length of oid\nmsg = 313233343030\nresult = invalid\nsig = 618987b90f8071495d4276c5dbbf43c8a7a2b952d5f81a30feec15f3201243c92628b64da8c347a9877499c28e1bbdf63398485c1f88913f803789538d3011469cda13483841bf15dcee6b896aee07bc90e9f7245b016c41fa03944b1676a7fe392bef538ea1a97b71be9d50fae8c6783ad35470d45668634f91187ea61d2cfe959a869034d333bd6616c738f0a99bb4e7bc66040421c833d5e3e1c39fb9a92df063ba851b5cd149d1eb0ea903241297fab62cc15901e82d2eb105e9e037202655a6904f6c051bc79af16b2b9e043d32872ee85bf9592039822835bbb7dfe426a6200e0f0b56b0867ead9c1cd5b8e966ad72ae287da6e84c001d29a9982521d9fc193337f2ce4dec94a9eda41d17a45a60bdbcdc85e6ea034bd696396bcfc40614ae6ffab3e8d78d525163ea55be5d4f1f3bad866cf59089ff727f58e5fdfc5b77f43a3fc0e5507035c875577f247d4d00f5dd6f5a9a8ebd6fffb620e803060fd0e742d7cfcd3ff408ce53b1003a351516ea42a47fad8a62313b8ea03c889754\n\n# tcId = 128\n# length of oid contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 9547ae982686e6c57123cc12864b93c8e55488e90ef6c2b6779538036dee01392b62066077be8102cfd3d82f46920bfc29b6aec0f29bd56e71bc1dea1f287cf48b65707b5c950f60313efdc537a5ebf6d8fa51ab448c70e9e8726cd368c615c75218465f41446fb8e21beea8a0322f443f125b09ac9d4f4e1978fe93f9eb9ce2fa924a384a922e98a023f20c6fda672082d5f8904429a54d0bd60309d6059f76d66de8d02eb6bea880472f8e569ffa06c0ed88065f9b93f1c124ea881c0cba4d1d2b13564c5c1b221e6295b74840623d9d014e179343936bf583b8391e89ce5e913a6cc3db1e510f63a951bde0d83758a4670f0be237c80f9d5ca851ab835c5330463cabb8d31f4b8e188a3a226d2553668b773c8ded433df5de155c0653bde5d06223c31e39055273e485c78366bc84d013a277dc0ae44b48d3ced278506f2f07e81f74524b0a1353ed6b6c798a1f8e9a421dd8248b81eb25891916b2183580cb8cccbda2d5f45f69451575780d0bf3063f937931367f28d15d3b49ce1626ce\n\n# tcId = 129\n# wrong length of oid\nmsg = 313233343030\nresult = invalid\nsig = a2d71c57b8e78998da1d98c13757bfd9e0977c5f17ba07e47bfb3afbbeb3a377f8c4c78c8d82890b57a311035e2225942adba57859490e004f8c9c69b71ba818fd1ee4c396215d90580818ec2d5f71bb3006596724541eadc981dca096fa4540be86465274f19a6d47836692d7d0ce80e934ffadaa70f110b08974a32f145d2df260436b0524571b3710bb4c7726d093c90fe333a0fb73af084795e7800a036445ac90a1f3ae08803053cbd06b9dc19ad70d775bfc52c9f2cd7096b4405ef62eb5f330ac6110d5af0872182471f3d9c2ddd65888f902ed0bda98c8a3faef74e50e39841266be25698d28705a577ba3c2f14f59b14e91f70bab478995155ba08c7e5a819b0310121845e9669d45095ce1452f426285e2159230e0dc8c4098cf01ceb3db982a88aaf7940d9f3c59a4bf9cf42c06c11ce61c21bebb92169a04ac0b2f13972c63a7a42d64dd67a6b8eb2d707bf059d831485fc7a73784621b559058f5fadb945f4228e9e01876dcb903448eee5e560539af7354fe5a4e4cd0ee586b\n\n# tcId = 130\n# wrong length of oid\nmsg = 313233343030\nresult = invalid\nsig = dd00c9e4579457cf35a1de0cfa01a1b96eb3395deaa2ef1dcb8a1f1a0671a28794db39b0432f00ae28435e5a0055d89ed6d9a20cb1be6aebdfa1a78db7a1ff13bc35040019729f9cf0d344cf1978bcc224e5c184dfe1d7c64a38e9ab3af3703180f8045bb55498e3b797e2c7dd8f23a8341c8b49d8f8eb4d08d96f109ed96b42783251a10365bb6b8a6f0941e1063be9977512462e84b42371b31217945b12c9c9762fdafa7b450386339d0f25c6bb8c9251c09cd58a414e95150d84834657d06bc8d2bbe5b36a18ccd04719c598374299c33e795ababf0eb2a23a053b3635646ac57b88a13b519b8734b1ed17d570dd167b9f95a98d67f0e36b9400e8e6bd61208be53d335b24f14cfe07d32011db038ad0dfe99277fa970a208572f805bba501399d66c7751db984272c89d4d8633af03872f45ba89026aa45e3b63ea861c104e9827d1e233127a79796f1c9ae60d6196c3f299dad4741184121617f9d6ac7bdce2d480e783568955193b0cc2d2272f3e5ee468d4ba84a89519d25926112a7\n\n# tcId = 131\n# uint32 overflow in length of oid\nmsg = 313233343030\nresult = invalid\nsig = 2c425edd6db32c3a52db746211cd9394a47a93dddc932e3c563c9a6a556c5fb4655009fd1d9a2645999304eb0972edea50155e6e1db3ee990eebf35a5a078397c284ec71205c0fc2fd09e20716f82c8dea46ba80f86b837c63809c2df1e51a05a8c9300f2140796fc3f22a851d98e96cc7d70a868c47dbb6364dadcb6f92f1af23c42685fe28c0cf5935d1a0d22be4dba0719644caa84eef15660aed1a32ecfa5dd5bfeba5c84375e5b92735d48d017162660149f8577837297c52522217a2c1adfc42c6853003a75adc7c011d695f3cd17d4266d73bb07553e146d4a944dd072124d339785e7b03382e36e2ee72c844686abba9d273eebd06e202b583fcf74bef871e1f2e15bc99366cf290eb87519cdbf9328da495e392f2ba47d05465f0f555ee915c4a28ddd14ecc82a26e88a2b74e4eed0c0e78aa8465345067c2fbbbd3e53b2c9c7fe69e30bf1c6500f9cdb1c953193d5c334db68318b753d8477ae8cba456a60b1641fbb6343cd0511adf3b836401ca20f01ff2dbc332a91396495102\n\n# tcId = 132\n# uint64 overflow in length of oid\nmsg = 313233343030\nresult = invalid\nsig = 80a9e92817a9edbf2862f1ecbd3029cd1ba0dbc7", + "abae4ea0ddfe44f49c177319a37b646c41e7caa8153e7d88b174e720fd911e7bb09d595c2c46f59168ba2a6a8cbee8a5cb86e2440e4bd7579b6de5ecc56777ab3b0184f77d3d1757ee0e9c9d08d8296eabb488c4b91a14555178ae86f863756ed3a8beba4f59ef90dc75dc3f9d5faf6d4221dd13a6ab4e353a97b59d431042e72956cfacaf8fd95772c8c66ed91c8dc901436e508bae2db4ed99230ec54d0a13436baaac811b78d01050444bf488d507749e242086d11f147b385882d1046b855d335c3ee5e35ebbf7ff4e712e8bf76d4733e6e0f7b84c5e59fd792b89ab1cc456a89dc866bd6b0ac4b2aba3ac7218ecaccc96cc59ac357e1d9705fd848a94fea3d2034b657fc816466c376a55b98299790874988d078330cb19d8e354193066da3fb1aacce6ca61960d115aa3985f02a7948531102b1e473f73303925d8ef988ccd780c55eb0a3ffd35b71d098dd39d42841f19b0de234f18ce8303a4016fd09b73c911ee9609165382ae34\n\n# tcId = 133\n# length of oid = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 4c8c062374efddac383db9c6c0fb53e6687c202caff3378e5499196496956785134abb5cf8c9b1ba586852e2fc5da928643fd375515930fa101371cb855611bebe46e374b8a5b4b2ff7b19e39fe09d8fd72be6183a564570f1fb7b488870d1941f9291d183f323bf9ec606c4388409205377d1a59723d67079689d4ffb138656e30ab4cfff33a0824ef98721f83498bdc7f98565ece6c627aa71844d9557ac6088f1ef2dfe81260c57b84b96d96afbf87e3c18c86a0f3b77bfd99f3680be9c022486c964c4c1de8d777486fe9dadf8d3c865f56069c947d634055304623ff789d5833c73ee381fc4c68ebda227593eef7ad9cad4ce4e165b82273d8bf8dc2c33004ec3c2be3419ec50ae20e8db48c2dcfc7ebd769ec0b04a4c3932707bd355e9d5980670408e9da32a5c90308f8ddfaf9c55b3b7be081a30c2d9cc155f2453a2004d3686041fe31f3473f2dcf04010469e2c3552c52d722e6d0e09947ff575edfb7b780ec77c6868e196229159fa197299008ceb4c8872877c692bc372ee5c4f\n\n# tcId = 134\n# length of oid = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = f6c8f078a23885c0028b37ffcd85c2bf29a853c4e07a65ff76299a9b9ff9dd4fec9553188fd352addd5e0d0a968b8c58b0b8d501cde7dff6efb40a08420e1ebbedd9d1afe0caf03392e8b1bc075e89f269867d5a04486c6fd64247c0cf2fcc5c6574013bc353264b0fd396380e563137a5c360f13e41a73c44fe6b5726a0787197bcc4048ba50c553e0e7ca2ebfc153e72c57f3a94d8e0ae1f48b5565883579ebb50e3cebbd289e378a284bf6b8c6ede76edb0285516a799b346bda815b860c913182ece4fc3afda940b9b027014bc08e0aa05be909204d624e0dd07d2a883271683936eb8bf2266f1f41073c77718fd675299f4c250222c031f24b0d1aa6d86c5aa54098324efa8704aba7d32e4b9242b3c440e82a4116c20bd1b055d64d9b4b2460764751f92c901706c6865e201da551e8213d979f6997853feed3bfa973e6948a20f7b3ad4d0c5f8e767b6071f0c095712c36ec226a36e030e8d5b9efabf2b626c3eb673ba8c14e099dd22f256b90321c74b4666eb6dd86037e1bb80dccd\n\n# tcId = 135\n# length of oid = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = beaf12b6741d14ca48fe9824bf8e47c9d08e0fdf9f5538151dd92c85a039bc8d402e942bd74de61f4c1b7bb3dca3e41afb93cbe35db66bf58d5770cdea919cbf0cfd61febb4ace8d7469ba67bf4f7882f0bb756bc766995c458c11406b31adabe63b33c6203c461579e4c79b406bd626156549b9b222122b1a2d22f6a8d58d0f79bf212a61ca58ed6ce036785f7ea78aceb5490044b05fca41561d4e42802770ba24bb1e7cdc299f9c3cdce99a4b22c80a6086484048132933f0b8c5f42d840ab1ff22d0e7d182571555fd503215685626f4806e07b811f560ecb0387a4f63c525c84c3b1640be6f8c4f7a7562ef232dc10723b7008ab6463f7f5019499499c17c19852d7c60d284889ddbe376e5a4df0505e6cc7dcb69f04685d8d0cbe6aaf127a49bc61278d35d7b9eda9533939cbcaf0f8f8f85f5972ae842920dfea6e14fd5b1416c9303388bd14c4092e6fa86c127e6e8d7859a590cf16a792c3b03f71a72a49e563b7e787aa2982e76031e63c9b81e07c6a2cfecfe3573bfec21a8e9c2\n\n# tcId = 136\n# length of oid = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = f50372a93313b5a19689d40356e10d2f6829b9e46d14e613ee1ec8fc44d488b875ba440508c8b20d40124163fc5d7e98c8cf85943909b2c224196c08abfc2cbbaf24f779c672ef8f9410a7e8fcc9a9e01427155194433ed9078aa46deb3e4a1dc8d68fbdd3ac1280210fa3ebc917947a5672d58568ff54e85ae740e4f53f1c00a664efcde4937fdf3f6fa3a0ad5aeacc68108810e6e436f6fe8b3ae31bcfcebd3b7b679cb74d57c7eb78d81ae9b78e2de3716bb971316f6e2c0d1b474f74370400109bbf297efda08602efb86feb7e047bbaf92eb73332419275d9175943ec0d1a70ed8ad3d63f9696981b83b0003c93dac1d2d8b9fde2978993b42939c9e30c3b3d2da67988a89b8e1cfc22847baf8b390a0d3befb92ce103264f9fd91d1a9577b300a9ae5f9f0a77c41cf799fcdb2e188f9afc8029a5a88e76ad3b4688af5b272100e522b294af1fd093ddbb3f82e5f617e0371faddfbb8dfc605e2b9b89ad65c2e5df4d315d5dd4a16c8ae6b96ea289a6774fbb06d666f6e5039003824674\n\n# tcId = 137\n# incorrect length of oid\nmsg = 313233343030\nresult = invalid\nsig = df8d82d8bc8e14d29f72c862238c5c350ee2f08b70898fccf17d57fbf082d3e1a7b4755ba68d971190dac33dc1053be648ede6014a272ec7f7a1cde09315f90d931ba1df8d580542569dbe7e28772a7b11ecfb904d519a73efea0277209b596141a1a86f455e6036f869005d434fda24a0375eabaaf9b0e2a7c0ebce38a18336c411af96f31147b611132ba2b1ece8ad8996a4b604b4ddc3a87d85c8e58f0406b0f7fdc82bb6e1441030cc9ab2f610f084c2352b296444340a1d12b49e3cbbc065ef2e24e17516e181feb60789c45b181a3639c395471cbf9e013dfa56c6d5651fa0c1021fd8a2158764e2d8b4a0340e964360389aab5446e8617ed15ec3989881e2ebe086c0d992a7c56d5b38dcab7a6f92de59736d6547eac156ab76ff68a079b8ca062cfdcf1ca8c6f0b7ed1d70c3fe04a143a88870a7bfbf1a5cb7914db766bd91381f31b0dda66ae2c778cd751c676d725d3b8798d9793992bd4ebb0181af7c4b6533ece8251e524aac8466e025ef6d31397aeb15e4bd92a02e20d1e51c\n\n# tcId = 138\n# removing oid\nmsg = 313233343030\nresult = invalid\nsig = e75d3f7a4fa5564a8ec1bfde667c1a2e9d55645c1ec35c81a427584c8b31c014297106d8b6741cdd11d6f27afd040ea5509d626b54fc601640297adeb3e04878fa5ec4f553d0eb2f49281c0db547933a50e18aa1bf3f5e6cdaa6e452d9bc8dd1d60e7e1c21ea00fed3f70481ce9cba7c2ddee00c1eb3641654e41b92ccfa278874907788f934c1807909f2c9ac7a25157b7b7551e4955fb52a2b7d9a9e30706a1f39704deccda7a156af9da41b874298e78291b31c28fc958170015170454d154759eaaafb9b0800d7c4a7c9351c6e25e1395105a95af889a80340110f132edd2830fa313ec7714100dbca65e427f850c65adbbc94e6208faf33f26098a3d61c17a0b6dc8902eadff5c19c6887eed60a63b9b09753b250fe586f5c34e204fb0e3e4bb431ff1a78c4849fd78e7e6ec1736914d3b1cc6a5503707dd96fd9bb5e8777bd233dd421a6ed0b5dde9f11ff0d1fa9ed8ade754aa1816465a23845727f585d63f1977becacd3a0923b310464432237d2662e61622a00c1d310ece4ce145c\n\n# tcId = 139\n# lonely oid tag\nmsg = 313233343030\nresult = invalid\nsig = d358d09d7362c351759cff1a38cf5ed30d46ef8cfa4891e1de3f51b0b03f318a00ded0e1fc646b9a98bbcfb1107cd1ea1cd9fd5654814d6a417e0564d28e0e7b35751bde792c55b9ec4e3dbde0b791a04d996450abb85e4d3d60ea2bc0e623f04438948cc7a03e0f11933cc857ff37cf47d3878e6bbfe26310a754ec51bc034785cfcd906dd7f0a97fd5ea3171f333444df812ef93249711b649b46e557f38dfa43e03358363a99610088ed415bd6bb5ff7db644670637a509e8ae3dea48828e178d4cd28049f3c6dab0f2c5a3bbda7d2663742f5b68195e1ea4b14c2c4d8f66e89c6ca1dd51b9f5af289893b57142325f1ac2126db44b10784f12ddf1aed5db309ebdbbe31c99a3191a22a044db2022ec611ffeb0ee3944cc51324240e4d54ee5aca8ca8d3016939e3d4215e9b87a20775f28e7d477b4b9d3526d0dd128d0b97d7530d18dab5ca1d1de165e5638bc236efa62f87ac1c90a0858b41c08f9cb0db85765cc7fdb968e7f6f50546ee914fb7784e94107bc7bb348096bccf3de13ba\n\n# tcId = 140\n# appending 0's to oid\nmsg = 313233343030\nresult = invalid\nsig = 446145c6c678d35f859a08fe02d4e58a1b8be1cfd2f85754ae1f1576ce7e8c63a8333cc90880b3845c969505d27d4d7de731fb5bc2eba43acefe986891813008d737e200ef1af95a4fd2979c01abd7b06cb52bcbe514da42c5a5fe1bd0de6ef28f078c94101bc65bb187476237d992bb80479ea9470a9a9350b93830fa97b726e858034bdb02f1237771b94c71db8d16bfdfb8eff439e44c9f4b950b9cdf31258d36e6c170aed157bbab1563317499276259c87bfe92f6a73c02bdec02885d8c6cb06be332e87d3f3eda0ea2fb24761333f014e1aac01b076ffbc39322462dc82427b8b6af01ef5bf5bce0ab4d222ee660f3fd661766fc2c402879910cc59d743ef0ed1432ed120754ac0ae1de6239989f013dc17ba66353e1a39878d45333422e53187721b8257848ae5edb451cb1c6967f248e15e92392e5b9553ebae45a9afa0df9c5deca3c9d527c373f83abbec734f2b469e22a391866299fad635766812a339c30cfbc51f22cd6f1139cd76e6798e3e24d40ccbe39b7ea4f7d22c6c87a\n\n# tcId = 141\n# prepending 0's to oid\nmsg = 313233343030\nresult = invalid\nsig = 85af3a618063afd989a7e1747191e02e93c5fc39230acc8265c575558ea2f5b2dbdcebf00f7007be38c1e5182ccf643cb7e821a26b5824c2c3cdcca308ab157ff8038781d1e89de77ee4832e015fa490ccf6390e9111b7573188d9fe401bb1d32556de05b0cdfa27b5b9930c8d7e044a0470b4fcc03913c018932c700ab61d0a86c28ae4bdb0a9dbfd90eb8922fdf237f2a37a5e4e3ee50c784268048190e5da77588c5a351498113a60f29247f812c457c5183ee1bc6de62720b0383aba38461b6d0da451c55ea383527ed9c4844e5c86c41143f815a9c94eedf4f0ff8fb8b9b33ab1085d9c8103c7df6312cf00b1d094cf5bf2a3410b2c480a201d2db601fd3c906b96db716f7acd73cccec7b6189c9a0e0f11afac74c74d5e8f59ad403ed8cf63e220ddd026", + "4fe4e7d9e038a7bb371221e670cbabf5e99dfe344642c68307ec55bb0a9e61de7b1c8a9b19d317a3a024bac9e5f81d9078817cba296a7977c1f300b01878abd4991e3acd3895c463bcd7b3cfe98c8a5b2aa36579cf9c4d698f\n\n# tcId = 142\n# appending unused 0's to oid\nmsg = 313233343030\nresult = invalid\nsig = 32d2095dfac746fa0f63271819bc652ebc1f5a32f16c041fe8e7783e4696ad79e3d2736c1481d81cb5c3a992854de7824e55e62406a44a6576430c86e48e0245da194065a58ca28259bc6294dfb71c30171b4a9b97ec6d7343e8e7e2726d1be0f75295da4f7bfda68a44d8fa78427409c3cb4fa7164da212848e8406ed37f9fe87b1ccf155d46efe2a6391c58f78d8697c1b9965d7f1050c720f10519ab1b42cbb0ff05ee58eff40fb5d0bddbc6b36f42a321d60589b46acb83c07373bfb8636e091d744e3ea643cd28e5bd3bc8ed8262515f6d27a573d38d121c474e132be3a66c35f4fe35ff378883caa731e1cc5cbcd63e4b37ddbb3d20adda51dda12de2c12bc8de468969ed06476139ed99eaa3a21557cbf082768c829bc2d14c7a9c7fdc76eb2a1d7c037330eb3a4f11017a29b7ae47c92a4cb69f932dfdfa4d9d91e2424cc47bc6bc259ce03bfaa7cc43f991e8056df2a6ba27db209c73a27c4e6c2dc2b81d7fe6c7df701631fb9a62f76e74354b74ab2f188a456fca5f241c655e829\n\n# tcId = 143\n# appending null value to oid\nmsg = 313233343030\nresult = invalid\nsig = 94cf74fa31189732accb5392f396fbafe4e0d99d4dd19fb9e91d85aef619e859aae3e27546e3ba5a70739c9d6972afe1383bc4ce501251b427a50f0a5327a55a0f3ffe847d454528e5eca7cfeb122be2bf48e537ee5f692d20f778f7dd9e332631ca7a869a760f6880c9af59e9a1cec96b268fd9bcd675636df91db986422fa04042090aef9b25a2285df8cb5e6c90e5f915679d9da3fed5b39702ab36911b03aeceb3be040e80bdfb4234675863249a5a49987f242282ca3a71197f9d412b71d1c08b70a9c396a832a62e57a56cd6dcf421605c326a95eedbfa85afc9e2e2dbd41e3c675ada6e3315202eb3d15c57e9c08b503093aaa51c2051c35578ce6cd34c40428fae9e9d13caca5877864fa9089979b385ce24c52a9fb807476a2b87856ed06483cd8d471ff3063830c1b6ad8328bf6ff01be02deb7ce5ccf8d38b650582173ba19cab73340e4d3b136d154bf98f5607a4738dfffd87381007701987f88f8fda3093e8b83c64a10d6d71e81cafe1cb33cada4bdab87ad6483e9af9cbd7\n\n# tcId = 144\n# truncated length of oid\nmsg = 313233343030\nresult = invalid\nsig = 49fc18b547fa4c7d19cb46197707422c411d53a2ed9bc8e0f9351acb69c86e258043130c44b86a0d7dc0590d04422700a230d8b7f0cac824288381d0dd9b310975c5855b7192dfcb5675a2782db475f3fa2ded14894c036cbb343ccd5308316735776e4a8b9b75ed133de1389e0fef59643cf2918974b14f315cdfdbbd6f4e0cdaa46eba5e8de283bcc8b3b5250c8b4b9336e9ae5dd96c375fd16c2d30e50473478ec50803e9f278746c4e6b912b37ac9707b4961484546366fd800bd8cf8d7616cfdcc22a7cfd24237da437ceb0e8016c3016446abd2daf313c325e951da8c01fe964487d3b6e4549af9de5dbc9a30462ecfbb028fce3ee470cad39fff62610fa5526dcae39de93e6909620319b214c2e0ef984a543245c441a3732cc281cf18b63bf7546a659ae226825a0ca5025d73c4c1a1be069edc16e80cc66a7ac0309f5cf4dc3740fe6894e8da2ce75b93a43ae0942bfe0602dbc90315baff355d7574e31a9cafa7c367e2a68fe040f419fb6e71317c30eb7f472e0239790a18825e5\n\n# tcId = 145\n# Replacing oid with NULL\nmsg = 313233343030\nresult = invalid\nsig = dd3ebe40edeec32720d32486b48ee2cf966c87602e5fa879917b9de79d1e4617e882336565dac061769085c9f4f53ca9392de1aad42656f23c4cc3637ec1e4efd2090d6f41d38aa587119451e15ccecd6b3dddf2bac8686776cd0207c0ddff44d10debfeb08cedfe56524a35e95d45ce733b9b86f62aee14c3202fa122dddb017e797f2714df68e72ead5b0a782e66dec732fc706f4c9308af889611128cece803c2efaf07c261a13486bf7d7a21aedd4449266ddcbfcdb5bd171ce4255de460a975badb19a5531dafc97e553058d21fc1643999f209719a0a17e3802ebdde28d261859d4858c30fa6c9defe34f7a7d7b0604363266e538e117a414a0a4af8b68a94d18f4ff8b731a4ee33ae8f2f81ae22d8758cce3c34d2f62786d45c8b0c69724c78984bea20b55c560dc831a674210158298a1e7c90984fcbd994febd83478e8121fdf7abe1f14f2f9764daa70615463ac1aa5e61e0bf457e1cc9ae83b44700ad2dc592943aaa948d9028e59e9999fce4c3374880c7f9b1aa2dbb9ed70eba\n\n# tcId = 146\n# changing tag value of oid\nmsg = 313233343030\nresult = invalid\nsig = db0c7c8bceb36078e3ec67ccce2f56cd9de9dc4a8225554d13bfa5dbb2add120240c0ce7c369d4f4a9ac99614b9b44005bc18ea526fd1c00885a88c437debf5d557d8a19ca2e58f58852863d185ecd35a5e4c0fe5abfeb55a1febd9ca107646395f07c1543b9c19b02277368a45adb3c947919972ce4df484a64bf2ad5f16fd76b00b64c8ef9736c14afc99ca5e0160d5ecf33d623a47a053c6e0081a09a6b819eee701616aee79c4b8cb04c556117d738ec9064b92ad716c3ec11cbe6878b51716ebdc75d95cd463fb29f2630eb8ff61f7cf282e639caacec00359e971dd41853f39bced011b2db23c262f950004c2d6ae9476a8e66b4752b376bb549c63b36ae9e9f81c13d05f192c41676bce2823947dfb77d03978854187d3ca94c2dc98f10496a8f8b8bee690217648ef55af1721d73edf4f0a023a0b7e5a5b74f3caf81097a7def0a585ec3adf04df86bda63aca30b3b36d18584f103c8b310fc923f84bd4b9914869e8add86bb8f24af20e790beb984daca7956e85321ac772d1b034f\n\n# tcId = 147\n# changing tag value of oid\nmsg = 313233343030\nresult = invalid\nsig = fa714130cb868439d5d3a57505d6300731c9ded56175570cd5b843b2c6289e70450070e5bf30691dad249ad3acdc0f5fab7fb16d72a5a8d38b4481eddd2b3f8a390e3833997dd01cc953b6b9184285254395c24a911e7b65643582eabeee2f048b366bb50782732d155b70c98e67a89a330257313fc2ed9822c088b55bb7d645f348581f0ef4b89d44c93cb00b7d750e9fa195b87e4d9cffef99be38922da21188481eeedea4a174b25be42b6aa44f9186ac9228b0354896d362a394c1049e31b6db064fceb3a8d4d381e334efa494d6f22fa4c35bb61cf2c9e84090cc8da3083358e7306f2d21727230c7e2741e6175056ffa9ea3c85157fa8dbc76dab85999960739f126bf020c8c38d1b96b2b9e1b850a4be1e861b6505af251ab38f5bfa12022634038ad2ac93f9acc334dcbdfa9c5de36b9dd502ab08435852adaaf7d0f73c7c7133c7aa9f5a057f96b9d370e02c4bc39ff6e3b6bd011a25ff002538d2f238f673514362a98878a518ca98ba3b9e9c2bb454a52a3bec4290544c887a7e5\n\n# tcId = 148\n# changing tag value of oid\nmsg = 313233343030\nresult = invalid\nsig = 218562beb53937237244c9185c62743e986519ea1fed36be7a6b6a44e5b88f9c5ea316d33ed5b9126148b5d6699114f804f4d3d698d24d85f0fe6691d5e804305c4b7d76fa7a238b4642035d2f2486dd575980aa2eb36c89e732c420c389d391de20eaaf1f8e23096d4ed73bdfa2feb710a444bfa6557c82c53cd15a2007f7a3f8159e01fd6c890dd9574226c39ede68bd57e3a1c5a70a77b586fb49703d52458a6b587244c39d5852cb2416a391a6bd0b58c99b32f1217209b4349caa0d7fa9397add65a9f494ec1d95deaa4e7257f03c3a08244889a6f682cfa4a6ceec13991b5f832cd7fb8f8349ecedb75ff2795ca33d73ecee7a42553966a1df438f65ddaf6000cf30011c064a3da0c87a66c212a5fd157c40dbe3d748477acd67ffa65ff7049e46da3da0f7bbc041f76173f4fc0acd6a1fa690e1d034aafae009912682f3800111a15a22709cde9ce00fde3b3f5f90cd55b4c5ce224f0c31b62315b5738461bc4606abb9805704312d2716455aac4fef649079ec2e62b901b289321dcc\n\n# tcId = 149\n# changing tag value of oid\nmsg = 313233343030\nresult = invalid\nsig = 3652f7be92a00c508d7b1185eb8ff9e15b586d21ea715bd1c85425d4cf9e6a753114d766318f3f1d457a4d71d7464687cecba92df12c5f14236b4a52b52f58e9e3a0ef3bf500d292bc9680f99f016a01ba8923cff14723274c609a83b2e3e9ff2b029998defafa05d2067f8aa4726057e73a4b46eb5cc996c44474f977b550890e557eb83b6df446e620b836a09ca15ce7ee961a30193bd7f1c3b31be510043a38104fc3fa97f93edc51dc26468cad87eebb6be074eaa881aa40fff2c2054a136d2acb58d04f775266aba1f23d5a45afdac8b0a2de37c97d8506ebdf2345a36649a3a243c572afb900627fa89ec84fcacc7a9275024b9ab55af240e1c6f99135b3c78a08da3f23d2e3e81f3bc9c84a03760c415b74c7d00a0e228621c21ecab749292a30e5defe6363b29c590abfd91c1f8d1a819b52ce4deabd219a320f2ed0c9b47bb40ab7e9261b3a4a4987fd5bfb0f18f1a0ed76b44157c2e9093a8767fadba09665b20653965b04e211119f2d78b8c24ddce9cad69827ba4b453330b4cc\n\n# tcId = 150\n# changing tag value of oid\nmsg = 313233343030\nresult = invalid\nsig = f87286ceb7dab7a8faf1c8d68cacf38e576ad5e0999b9e136aca42dcec65dae729a9a94e0631bca93124804ced75e3d8e1ac0a7bc91e626d74a80ed3f20defa5d73283f6fe0b5f1655d49ad7b2c91e170e18ba90d4a0a701e4e7c0fb0178b3f58618a6cfc9cfb31ac94acac92072eb683d1bb5250926a57d6333b297264fa27f114db8e28fac4f65f5c899267b455b91267ab98e6b75c6c3b34efa76ac0c9d78079b037d7f151a7cfb70e52765f3a0d16012ad23b61b75a7cada0137d0a87fc7b82a69682593a77bd31d8b4d74c3d781016c04a1e2a5a1e1bc8afc9f039428555321c73c42a1dc7c60786f0c3d1941e65ad31e16c789be7672325bed8a5b9e779316ab8480dc0a8def681ab80d9902e25e6103844e848831f709ecfcd2403adf595d56a26b3562dcc2d0bc8a7970a5d0a4681686840a864f8e85185255a2ba1c43276353e36cc9b2c0d2d2d2cae1ce4b0d99b17774879192e4fcde186ce1b3d5ac8a33ad60ddacb15692ba4d5a49831a83deab5261bf303e30a0a0266790a204\n\n# tcId = 151\n# dropping value of oid\nmsg = 313233343030\nresult = invalid\nsig = 1f6bd67b020e7d210af1a4aa1bd4bf52cabfa3e2cdfcdd07150ca9b6d27f07f1fc1359da727c45e0cb26445a661f1e170312c77c97e03ee3f1c3ca89a633c95c0cc19a486ad09dc95e3b4b8b0dbc64e85ef05ef979ef0f3a7419dfceb1211197701c8dbd6adccd756cd06c98b755fc1cbc438a54d5ccb9c70e5378ef0ae11123", + "0865a06114d6e6b8b847417f627ec5b0189858573948147018afd58bf618f5cb2a06be8df46e433b6c42851cc323bca2ff8e286752f9c928efec8ab6212d2fb6ba85050615dd8a956472cc25fb45f7613b5caa1b5f262048ee646c9fd01692f029417fbec9429e5a697837b022d38bed59a5e892c6f9dcaa17d119b9428821d82be7ba0ebe3901078e1bcb98ee0c411911a2efab418e2288f5177e0c889319733a2fb9977b9855da4f6fded7c1684fd5900324075069804db29818c30f1a346446646a3b22dc0a19ae4fbfceb841226d754551597789493470d072d8d1af8f6631b4609521fca978faa56707ce5b18ffae93be4e1a7d27d1fb4cf6423401d50f\n\n# tcId = 152\n# using composition for oid\nmsg = 313233343030\nresult = invalid\nsig = 97491372bea1be6c54b767009bfa9e1b5d8fddaa2cbf04551584c15b61f30ee48ab25b6e14a2db402fcab453601ffe63cc5311484e9d39f6f0b3aac09875d31d98e8a30fbaed37c1bb68a6185e26d6e35e0daee8fd0cf9c3b8c46e5c97ccae80eff6cb18e6ac9ef15f61d9fa6b983d7f98eb38c8d862aaea96864a7cb2e500bd91ebb291fd852ca16b18897d70ca2d8a22f936b95e9fadda9a6e9595fa1942a942c3e690f5531e029aa5c38407391709dd0121f9820726767e1ab8501eb4641fd8ef3ab37a9918bfd5dca32bae1cf9c5e8f1129c2951804811a126ebf932009f4a30680d1ad9aac7f6c865398c8df5100fd963b91a5115c9cb84b31a1fa94f8ef4930be13f3157d0985a01c9562fb3aa7ae894f11bc54a1e46fec8f78d03c64dae8c8c4f2283175b9903771ab151fb482d64adc97bb371b8263eca46206d8ee8767f61815de44e0c034a433c383fa93d8fb278ffa345395f3399a3f178a3baefd2adf26a2aa998efd1fb7aa14a9fba4737f03b34893c1f2062ffbd4015555c12\n\n# tcId = 153\n# modify first byte of oid\nmsg = 313233343030\nresult = invalid\nsig = 2eaa7958a6efc137e84c5c719a95d613b1b34e334f172eb97a8cbbd3dc7f568100f3b606ccb4942979be06eb02ce2cf5d4450423bf0e21ca8cf3af401d1d4447dd85ac73eb052ef71ba998c843b96c39509e9b15782f6be475dc5491e2f63837e7136d2b8df7571f47c07e4653a6869a6832e1e6c0498994dd94e05a86ed999474b9556f458cec1406a224f61377e97dbbbf578f34160eecb5a04941cc4e8d2211b2ee804e1d351e70352a5f94f1c50ff5ac1cee8916201c26de237386d91d0263ec95039dec97c8b21643ec619bff0a320c21c283809b4e1b7ae82808df8dc1bc87b4144d4486da7f9b0d50495c44d9e858ad5fb5c071c20082b9a50db8bb6a5fd3d23ab112922af6fe6968a568d8da6efa814bea870593a9c46b0d18c00466c8fe31669708d5b2b397f7bcf136c51521feeacdd196af91743f0b79da90dbebcb61094942bca654be2e2230c2094abec7424b5618cac15a7cadacb8d6d05779335a18f3434e1686c54d5d25d8c58ce55f6ffd39b3716ddeb35d0eb6b186c9d9\n\n# tcId = 154\n# modify last byte of oid\nmsg = 313233343030\nresult = invalid\nsig = e542315fc8ff4adb3c52637e051c40b8bb911602c21bf3c73072f9d3386fbcca97375f79f17f7f72f7009da6791a4e7d4dfe3c1374d4ff766c6204dd4dac88058c977baae7bd667392c7a3af0fee933caea4e463f2ad0c9c235bf31e526f3f4582b7836c8a0681949996d596b6ba0a5097193e984b7fc77e42fe99585ab21c18f1eb494226f354410805ab4ea02d79234bba5b958dc6bc1afe94810bc583b04e81f1c0ee71d60caa239d18cafe4299f0afddb71c3019f9569a7a4fbe1163cfd23b1b6f4e73d5b9771aa708e2a90e57d9e4875a4a110a960735dd114ecb112e691cbf622cb89d7776b0e98e6b9a5c5643795144f91ec73abb5d8877b80ae697035daeeafddb12993f3d0c8152dba01f074f13c545ff7c3c6f6fd1f1afac35bd3c8a6edfbc9d028e9788af2134cff12708cc65bf53b9120f52bcf5e780652dbc6bb841bcf63fb5106c6b3b3ec2fdde8df1e6bbc88d2e6e6a63e92fe9bb5335d48885d43f7070382f88aee394a714bb8657c120f38306cf9583f24fdf6a80fa6d08\n\n# tcId = 155\n# truncated oid\nmsg = 313233343030\nresult = invalid\nsig = 6399a29b7292371f30ce9c2b61ff030ef5accc4503ec987194a53c9b5738ccfa4a9b3f3e0f59cedf8e55f6ab99bb27d21653b4dd12e277d98c32ce0b551234bae38226c32415f4bacfe80420185821f8a3c7441dd9cabe2bd334bcefcb96e117945f10fb9c2a3a9c3175299e6de82bb24ea3756d8db8a946cde1b5ae01f12d5ecdd114cd6279ca2237c26689580ef5fbd11ba4686b1e102c72d3152ce90d4a4c41835ff19afe2387b24af290bcd3ca9955b7d9a6f616d247f6ee2c52156b7953c9b13bd2840b962936f6cebd5be7549a4a33d16198b64c908224ba29dbdbed40f2c819511c10dc59b36be961a8b1301e5817455cb20fa328221cf04477bcfd244bd2951ff15a6fe9e7e41f1f704273e8d62ef51fc37e1bbc70f08339d0414687164fa6321e00c80115a4c6f1544d88305fe338b95767df72e3b33e7f334bfa50ff26f83e44ee92d63acfe6bdd17db240082b158bfae84ed0ac748c81699fe7a70d8797b5705533e6c6baa72cc5059fa9d856ae7068595113eff5e2625490560a\n\n# tcId = 156\n# truncated oid\nmsg = 313233343030\nresult = invalid\nsig = a3b266f266eb5f6dad2c4bbfbc4fd2db1e9514645efcd1e5465e9fd762d614db5c3d044c7c84c77143471c0d981359a974d6609319764d499823f356b1a0b6a3ebcce63dcd08be24c63a664338f64d1fd775139c0efa67cda0928309bf8815757b936fafdf85d27a17c059ff12ab185cce6fec640291f9089559b87d20bd9c1a0b890a9fc88280682594e97703adeebc0e6739df8388a2f4335e545e9597dd9fb57c2d1a7874b772a9493a3ea34d161a17d176bc2c197c561f0c7e80065a421f77f1f241178c9c70d392997cfedc94e4b1adcbe7a6bcfab7eb6a60cbda6000919973e9b1382e20da6032f86562115fe45ebe67e102e25d423bb6a99b47899da09dadb9f990c905c67559d4d78364eb6be40cff03cf60ceb023dad22082a7b73996640aa3c3e87c3ee8b4229b0ee70023ec7a39231202bd651dca6de076b683e894b845d8f3ad289c3b7c0da4e86eccb2f1b7b053ea4816ea376df01f001a978f9650d8124e3cf7c4d30a5e5369b1260e132b4b3ec838accc3a639580bf4ea4d0\n\n# tcId = 157\n# wrong oid\nmsg = 313233343030\nresult = invalid\nsig = 002de47f8004371d52e2cea646c3d30c24c7067ccfe134c4195e79f3c1d5e1c515ae7f09b04184a0d2cf9c829388c11960824150ee619bfc8d55bfef47a58b2a662e62d692f531376cfc887d91f54223007ddd06a2205b4e35419897d0b332c10c3c9bd9cbfdabf44af4b3c9da04a76b2d4fb1e3aab5ae020116bf97623b71c6422656a3f4e9ac1eab2f7de9e0d048782dd312e0dfed774d87e454e5d593bc0f267093420e8047b4246f1561bdf500f1c70a7a96d0f037bbabfb2deece7618fd1453e88f26b6ccd24a8a0bf74450df11c9cfb5f6f9ccfa3ee2aaa8b254750987a14087418815bd7409f21a286bd5a2774e79fb5d6b36cf5259acaf04b8910bc2f6b072d0a4d02dcfbb0fc892043e3b73b1e76598bf95abe447cf995a638309ab1e21b987db52273d592267215b9af4de075821583b409607bd0e3618b2c0f93f5421ad53bbff8cb10be209c1f01a62b8f255f2ab51c1ad583386a6c34b7f60130f7a9112caa79e9e8f47da71be9626d4d68b2b8e3327673f8bbae6815107af7e\n\n# tcId = 158\n# wrong oid\nmsg = 313233343030\nresult = invalid\nsig = d6b8ec6312bde1ecbd8e3a0bec28319c6778eb1642c1f1d62777c259002cd90ee9f4fe1e84de43c399721f7a954bf59279f53345e9c03160f5797ac477db9fd84866d02ed8ce4433de49885618cf0cac5ad01970aa72922fe658cd0766fefff0dd99a6ce3c10ef2967cacef6cf5af8a662ea35313166a77142ea6bedb2fa730e584211f3703126b3f79b883dd8c1ba23627b51f06b760ce38f01e5d658775db23b83a31236d52e347050172bfdc36ba3234d7d6bd918a48176bcb64d9450dc777288c98d89330dfea1ffdfffbf8a0d16acf4fc1f0acc92d6eefe9b2f56af13516b39be2af12838508db11175c761d77fe647aaf4f06c0a3d5700d04420d74f34f95ee992991b54b579cde870cf5c6a79c60fa1a89740e271dfa80784a3ad722681dfb0ea7c30c85ca57b392cd8fa322a94d2efb5deabb67326900c20f3366cebaf97891696d24b708d81993261b55969f8ac8b808325357a0bdd51f5902cd228e71a71693d3feda96a239bf10fb51f32994dcc439f43cf11185d23652a9ee5b4\n\n# tcId = 159\n# longer oid\nmsg = 313233343030\nresult = invalid\nsig = 636e6fc0bd6201914ea8c43ef33e937e95e859e1ae3d4901aaa20e1965e66ae40b7b9df0bf27815a6226b48e0c5d87fdc6bd0b02ec1df5a871c3ed3087abdac427f2e4ffca3692fd6e6ef67701f5550fa32c9cd09f872116c9183b56a762a934a7475c13f9c7171d3fd93bbbbba105429d11a8661b8c41a69d53f0280c201f83a1730d4c77cbd50d4dfdf3a65c923658964aee0c8bcd6aff618ff84af2b12fca58d0a1fbbeedd5c7c5c17045684e27804089f05bc41a104f674d015c65ce677d9532f214e5a8a2e9584e4154aff80c19321345f24e961d0410f48e1d2360d562484dd2154e5d3d20404f51955095cb98f45cd0577724a7ff30e00e9c63a6b046442ab55877e94646826dd57a0fa2384715b08fa0f327c7bae7c95c3aaad23a3c4c0fd70bb2747fb9f834e62402a981f5edb7037fec2033e9884fca1f8b2ff022eb50b04da9341fde9e6132ff11335e62cb7cf4090f702a56ea04bd1572fe711c47d940c58d147f02d5ccb5876b7efd7939c3107ffa51bf4cb0397333cc0fdb8a\n\n# tcId = 160\n# oid with modified node\nmsg = 313233343030\nresult = invalid\nsig = 768d19af59bddb4a7071b66ab18e4e90a381fc928172c0ff280166f8dc9c7a95a6734f2b01f2c9d14679373a359315d3a7e0cd693433c1fc1841f58c33f4658c0e5400570cfeb86087f19deb1ada0bff7e926bf9b191c10d2c76236bfec95362659c0ef1154aa1075f421fb2bd6a1b115363496e9e83ea65eecb443859d2499fcc3d1337068feec26c8aefcfeadb6f559dde8cd14f1200752af3327a9222d0df0e5643bf51c0b6bb0a95555fc17e2cb4512b7d0d3a6ca824f70b3a33e9a8b3a8db8a7b5e3bed7b7126e56255c640f8eaa7a9533aeadaedd015958ad773865bcdb08c3db29c0be1371fa3e66f89d2e9e30e428f839293fdd43ba200b42c8618934cf47c38536c709115dfd17e09f140641341177a9a9e75e168b547f4a1975be5f3c2c00e8fd32a1b8639661350c9b114d3ac17c8106afef86afb8c61b29b29543a8151b3ad41a5d8eb13602cb91b7998e5d0b31415de1e7b6ba0cfc5a789eda8371b2e1b6e276d549b57527ef38a2221636ba9335b5174bf23ba2efe5d9929cb\n\n# tcId = 161\n# oid with modified node\nmsg = 313233343030\nresult = invalid\nsig ", + "= 0af8cc9feca0de495fa42286649599f71e6f079dcc53ec31b325955b75b79b9444dc693de48b26e98d57d5aaf78a808f000b7546ea755ce8afce86f15b44e684cb12bdd8731b501e59117e0ff575280c44ab9b0ea62bc4a156814f9dee5e70694f31239eed16bce55c0c12a150ca88390d1615c2efae6a9db448be3339b359e2ddba1842e8ded4059c5e4b0c2071d4821a59cb7654a005a3b397ce8979a2eb9e03473e481065ebd65d77ce66b116ad4d6a356833e437a4eb1ca8ce48565ac720a4830c2e31d42875ef35b6c779ab7020925ecabe831dc09e03b0993dedf76ab459af76f4122155f5a3c96cf4526d43af5b800a9dcd691195ba5746520a1f6baad2c77a802a0e44b4842b5460264146bf2f9b0dea5f7abad267c7ed0dce3c9c8cedd8deb8b98f51e30aeeacf539c3bdea00031553bf569af6dc50f70a0569e50e837d66782cef3dff29a849cac54d06e4715ee507bab8bbfdb8838c53b5d3f51b486c07160e26f2435b14fd30dfd1251ddf0e7874d2b47fc1da47efc4ed358795\n\n# tcId = 162\n# large integer in oid\nmsg = 313233343030\nresult = invalid\nsig = d97ee70fdec656a7e68437c142e0f5ff1a49b441f068cc35dc42d35a6218bd98b54c77f79e625803459a187a8b37384bc4b4d93bb56434986f06f1d8ee401c88c9886e5988caac78cd85341f736011916be55db9710402d62e644bf2cc5e8887a12d9e8be72a2300e784d807a5922de477cf540f36bbe9a66142eab6f258ef71c2d47a299d9adba7ef285ecc80ca5ec262256666347184ad773c2142d1b4fe7581b9bfb8091ebffa8cea525f0c76a2b3104813ccec6d8ffe492cd0e7c74683b082d607fe04fb9d5132f0113f7dc3a9266e653d51d188ba1b4be8d4de089aabc01a20d66bbba74a218b0372365eedafac02349c7329d781848a3acc9dd89bb8afe9c7e729fbfbd9cb996b37687d3c9709b1d14404b8ed59d9a2d3b393f1c5c25a68276a2437e7bd690daf8559e7f3fbed16212fb1d94fa53509a067783359f5a7f5db56407c0418f9b61dabbb9f8973eb900709dd172beb258821f2282e76e02ccf39ebfd7a1f40b2bd07348620fff37f2788cc9fc7118a1141085ce330518d09\n\n# tcId = 163\n# oid with invalid node\nmsg = 313233343030\nresult = invalid\nsig = d119504d49b56b24caf3ca43bc873940aba210db68e6783ee300220df953a1a2cec7cb2e03a2837d0ae06c486e761f5f4d692b58f0651c5a6949a4d51a3b6c0c830a9930615b7820e0d21eef7edc87454748fa0e642a7a4b9c9c96b9f7b52b5f85ede8724cc07aeb4d253694ce2f5ec543bc13f9c06cd91f56997b6301af98edde34f2bf18854e512dbf068f700e54063f6ebf82a4303f403a2af7159276857152c7762655819f83b43e4c4c0140e5f4630f8314d7dd252b03cec48dcffbecde66f1928a307267c0a607572d80907408b8418e7198b993d40f5656af68d679b07ee702d5f4325c749d932261559d7220b869f4d5108f959edf71da62b8592616f92d6514441480d2219ca5339bbc8f83aa2748146b55e2346c77dd1bfe2e350072a52509e78edc7545acbc792cbd7339afcca77ca895e8d4ecce7c41115560253c4445552fac2ee56d2e6148176556166dac7a316c64aa72ba97836391b979fd50194f8629a810d965be0941228d2b4582af14c7055e6222a60a06904211e058\n\n# tcId = 164\n# oid with invalid node\nmsg = 313233343030\nresult = invalid\nsig = 4345f8620ca6fc5f73a6f412c1cb6fea5c3be84044ac8a7a1ff72057db52ba841529e0796af2715389e83eade82dc9cb525591c44c100ae2bbcf0ded3a19252c486099d85bd7ab24b0fbc6c9e6ee7470ba1a2dd69c3f78c106e12de4842c42a1e0686d85e2ca3e30f015c76df87ad374c444774e4209369708d8eac9c02815f6d75989d993c31cc2ec1d963f4a149d9616b36d90783c3adc448977139ab34985a52f9b96c60c1a5933d8a9db99a23c91ccd41695cbf42638c44932a31a49874b1539d849b2735499680b5d04b1ec31034085be0bb59c651792667b21b2001fe1e4b26e3cc2c72a2037b551aebc304b51fc1deef2a5cc5eab705cc681e7a3d0b14435c9c3a73db06417e3dafe4188530719ccf5611e275e4ed690f657482bc90d87c3c27c95ee03e39eba957a4a7e27e9635c9e833366eb833927d96608f9f98bbd83be20a2be6ae6d7460310c6517d511dab2153eb5aa96e8d4980c2acdf25ccba234309343e85ba68ad6095fb139a30155ff6bbab46009db306f04c5781fe43\n\n# tcId = 165\n# long form encoding of length of null\nmsg = 313233343030\nresult = invalid\nsig = d7212634520ae65f540677f72d8f230d9b40c37c9307638b1a8321ff6e45924680a68b89ba73b2400db38719906448bec9c35d5c2da337a9e39c82adfbf658507a74799ad647248ab9f21d2725d565ba015327d3a9a4d0aec2c4d2a34425d3feda996851e7547271e5f14543008c556a69341338d7ba9ccb34f42a71fcde9e410395e5c69e6b2c082246075e519096c0745786cc275e2d3fe65c6cca95d97a1f22410f8a2e0d2bdb36a61431b67c6b98f5a34a4592bdbac008dacd7acf7b7a244d5b3edd63e631a4e21f9b9809d832b76dbe82b9acc4531798b1f4a0ad9d84ce23d39652cb5d0fa522e98d442ff39656ac129c5a2611268a534089fa7c58c665fd276790c067e0b799be17975b0388ca2f455b8ee54758a184d25738d97ab9bccb4fc884d59df610809ec7ff9a8e52c5c8e93fa53e69b502975dd595d30496d9ae18fa8daf48d66292998e5a9a815c224ac0a21f6920f08f9f70fa60363cb67f386ff02223ae48300871a84e6a9e2e76e715fbe9fc156078a79f0a5f369a7e34\n\n# tcId = 166\n# length of null contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = e2d20b15707ec4522a15239977be889b2f72a23f6531c14a14da66c59d5cd647a90441c100985055cf46e4e3d48b00ab99f2f280e5678918af9a7299783b35a1ec63251228d369f61635a6f6c6b228b3a83ef26ea1f899ddc009eabd33d36c325bbcb193fbe1bec12ed756ed02dc21d56d3e7934f3672a3591c655102f766a371a34983d40ab34d8b9476e927c7e23f094af98c9c0ee30df46641f8abe5241d9790af6cc61a6de8248f2e7039510d1ab92b52dd17d8dcba345befd58da2fac4794ebe3e7a41a1e704f9b8fb900b505df8d46a0484d7197beff7c081505616b8a5ab8c6cd25b7dc3c0bcc500bd1a2577c1f499e83cd228c48a0f40164f4716c4ea7dd74b8971cb21a25ea17e3d07c77106cc18652f82d8abbb2ede781e0e85ab668ee1d8769829b8be77d457991287c8308258d9ea2a3ad327f9dcae03fb5f6a71c419fa37416fcebfa3422ddec93c451a7f93b0f970df21be18af1399abab90c7667c1e9174e193efac179239db64a44590c50e52278f460785c6a399102e0b1\n\n# tcId = 167\n# wrong length of null\nmsg = 313233343030\nresult = invalid\nsig = 985830e50116006b97961dbbfa9939ee492284b10771fe3d3910275072e1e2b3d1f4b00a3ccdcaf310e04f10d4ddc2deb544dab03236d3263ca743e8b40c1ae24d025b2524bcda651e7e128344a6c009a148d48504f2c8fc4bdd7dcfc6fb3c66755f35e4e775fa498c1197f0cc1d538afacc3d087a3638220d7ae845ec79e255ecdb8917440026e9f8686c18b1e8dff0d897112bc19b087089abac233b274827d4d4c88f99be595974de26c79917a94772485c94391465e19588836205138cce5d19f7f62ae8fabdccb724c8f84a2d60c03425346189f97613f79ae652dc6b16e0b889b7f310361e52d134633f8cc15da56aa6a560de0c895fedf6de4dcfdcbff3cca6f10d2631119d7d75e0223ae73ad6f79b2f9bc32e4d28776e9a5ce4f733d824c3c7aa0162ce77a438df92a1f53d1878bcc4848f41dd0b0e8c88775d98039a05b91ecd7465186f6dd067db053f3557bba24cf4cf6a372b26162b228a8183484cfffdc7da2f9cc15972746cdef2e07e6c203209ccb7b925373d9f36250120\n\n# tcId = 168\n# uint32 overflow in length of null\nmsg = 313233343030\nresult = invalid\nsig = 809455aeb2529962f94c2a7a214c7c449df1186c7a568d808acd7f21a898ecc63e23e859243702a7279a873109727d67a915ba48df76694cfa2370e5243386cc7751e2b0b40ff511fcbc08b8fd523fc094648c42907d3c30d21b6a3ab74cbf6787001a1dee5366a37a524b831be807c3776fec00575d3d723d4d4edac2cb8875f59c03f843bb9b379e833383e42bb841308a78fa1200f727bfeb3c418a7cecb03814dceaa65d21f8fee9707c198e3ba77b66a9dcee4af4662ba97e3fa83ac7c92694dd3bbf6360016923f0e6bbfbe050bc1b1a073ba08d0d567aed49ab215bced50d2eff95159810de874e174f614751eea978690aa868219b12449ccf74c6ff79e018428d8d41b1ddda2c4abf7609ab48fabda5800a0b97c0d88f546a5674cb507b909bb2c380d1c7f34d65f05a42a872456feb2e2b97e9071d1f17152e2cfe9d208353bd887eb36659d9468d7ec809058523347472d5bff81c44102c9b1db841ab6376d4d16c251bbc9885eb11b7b3187687d15635fb51d9ee918efe40dfa0\n\n# tcId = 169\n# uint64 overflow in length of null\nmsg = 313233343030\nresult = invalid\nsig = 5936466b943bb0b11015c946373444d97e2af61ba6e67e8a4004c77ac6818aa8bfb5bef619d1267fce4f49fd40e6bf85690ef69d821afb75d6660d0a023fb67b7139f7316f7fde0ddf9d75c3073f1f2683dd02fe0c7a2a2d8551cb88cf3a4c1f4f73ffbdcc29e0fa0f148c7e6649b6f8e7453b708d7f019473103465a24d3b8dcfa98e44883b3bb6a24ee0152a4263b8315ddf52acd3d2f3509fa5c6ca0428aeab323ab77f0612e5e74710b515ea8ce35266540ea31361b1bffd59fa9139ec39962bf5507c0eb77161945e71270dad21ec30d54d9e97f088b829950bb236c0874f4c2ed134b565e7b0e5b63555a57d82ce6973e11f5b737077e336905c87504a24b03846f38a9fea414d7c7a7b902fbf34be86a0087d78935fb0302011a51c778a766751c1f0b11d014f5c33b5a1816eb86430d163c5e3f75ec28ad8f315db53294b5f52ecae24fbf8b1714711ad60766b3952e459b7ec9fd589ce2605bb1c11595e4580434cff6f748c00bf176738b21d2dfef0c44338a1c05660edb59f24f1\n\n# tcId = 170\n# length of null = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 98baea66be8166939f2fcf1cc35963c154776a65fd7e58405e1fce04e2f9d7c25bd8a56be3b0f937b8c521f7e2a9df4c98297fc2aa696864696194c7e742a9769fad227db26af96f0e50d613e02ab24ad142e1642c779ba4ad4d4bde46ac19deba7a694e21659048468bb4da16f8436bf9def4dd148c9b1ffb92a5ce9263a65ce6d729ae9976c59d5de757548b11899704c62a47703fed0451944a82b3e2d592785038edc11a5da29975a5432a2742233b9e9f76969cfd9ce031dd16d1120e2f8dd1965f99d3c5d4a2b6486cf952fdc01f227716b4311154bd8a25939ecefb416e0cfd169a89f3acaec236f3dddb13d417748216fca0e32", + "434ebe953cbbed454c263afa1ffa23ef047c9b06114f2a56109bb77ef58d92b9bc01bed5eeedd7f181628b90df2fab3a7d6615b01d41b9dd1a01d7c467fe1acb42cf7c7111341cbb0fe7f673230148b972ee2cfa781ce2ccbcdc467b8a6aa1c20196ca4479bc88ff06d8a2f0c19ee272997a0f43f2d0a02a0a6a8a1032ee8396574fbf79636970735\n\n# tcId = 171\n# length of null = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = c2caaf308875c6fc7942adce507dc24fab21899905efdfebf24e4d189cb46734eef0547eb68b1fa0e9d3be5e8714f404c0ed1f98d31896f2149e34ec077d493849e369aca2047efb7b4e8accfed92678d41fe8551bdec8bc6073e467a26648b91b885df097c25dcfcd8477301eae038cd41c90d51496412be9ed858dfc111a3b45d9f1b3d84c0449b7f18af43064e703e3724cb73d49db2f92cf7b45ba16608ed332b7ee57c05edc283f7eb572d9fc18ae1d50de26655c06a55fbe09e3d68d61953fefd0b0d42fa470c6751282e190fa42eec5c2a0bfbc58df41198a7e52af01cf456fd5a50375b54edba81902aa21ea0b96919b95a4d605ed6022460e6e811ab23a6d2b889738aeccc2480519e8d3c07e10a9f79b6fe4c9feafd6d62b5ee68f8cf840059050ac40530a8b09f1767dcd6c6daa488fae26fd9daebfbedc42e851427b738129019ba4aaa0075710363c5f3f798865acf910d9be639468bb084c6293d218c1089440c3dbe3ecd4560af4ebfba79b680d944af3aba9205c73a2e7ce\n\n# tcId = 172\n# length of null = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = b89b0c1f2bd605ee42adcb8ec138f8953395f21dbf983ae6f86296a561d8bad404de8999478d7bc39e9272366b37457a968e68a15d585ab00ce110c58345f290c53432f066c77a027cc8b5fc1509ab3c52e7b095d58e9d245fdba75d206274a01121521f6e6560300fd2331e9a5e8b03a139bc7a6b636e5e519cc7950205bfc03a0ba272ec010b96129407e8a6eade7a3520b56e1d68bd2edb4e0ac3d97e6cb5ebef9a0c9acc9df7fcaf0572935063b2e6912b1bebc4563ed36c295ea3ea27495a11e41ae83fd8d7fe0437947346950b87a44af579713ce590d4fac398aa961590c1fe013cc93b96ef404fd2203313d472a05d8f0fb20822d54a8c3d75939015749523897ac13f18d36c5641f5436eacf5dc02c659a4df5583a8e86b2d812d05da32d0ad9cd5a82e045fdcd558bb4e5106de858bef6b6b5f225f7512cb3d3cd7a23652deb7325328ed59e0fe922c94d5890ec582056eb7f282b48c9c1054dec9c3fd27f4c30609aea52e89e50a6b5408e910a18ba5111c545423fe23e043e0d3\n\n# tcId = 173\n# length of null = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 22dda4b8c0af2d3038074ef87060d100822ccb58195fad6c084bc1fd81ca7bfaf3ad5bb766d265c48eccd4c3dc0f16e846e9ca36c5b49d716d64ad0710ad327d6478552267d5b5b9f6afb1e0cead454fc48f52b5e414626fc235d9097939f7e68f4df1076032eb024ea336ff34c2aa046252d42ec38b4001d0e1991fdb64b41cc69cf3385c9b32f0b45d56680e987df8f7616ff25f320f8ed22407ed24715ec190233dc4bd2fcc9ead1b91dc17fc807bbe8a7d47df0f9970c36d8a89d22ec623492fe028de0382b32d56b91af5954f515a76323cffe09052f68c35955ebc158b8d069e25b63e70933c2bf914d6d41e23cec30a50b2e35d0a80ed378cf9d43e7542fa656f4417c510abc6a62aa71916d0f010edd19403163d0e022ff41db48a7a1f343ae8589c86b7aa46ea554df5b5e9786ddf0ca3c2ee976e5314650f39c6cca280b09dd787257fac847d9051136b641d3f9d4c26856149540d6bc8d6cffc4c4446851a832c3c65854d341ff040921e9d282ad5790a27c46407e9c8bdac5e73\n\n# tcId = 174\n# incorrect length of null\nmsg = 313233343030\nresult = invalid\nsig = e070274d94d99f502616ae11eab00aeb6f676b5bdeaf3f6e1f5b9c406ec6f56b8ee90d077f26ac42c0886b24213d38eb102745787eadd5b99ae24b4a986c24f624702902c2f43ed8f6592504328d939800a336d3fb742263d7b907074070673b24f5c5e8a9b402529590895d06c823c3fb9d5c933942c5a18878820243ad8c210b2f98b9163146b75a85ae1127ec1b9f80bdda356eead3c79e5d03a4dba63e382be85786c8c2fc28a26d028a440bb8057f3ab64d13a25ebc772de177e3d755e9866fae37ffb69aaf686d48b4ff07632bdfb3dcb21f666f5458465601e5793744c8a3af675b31f777d4fe7d59787d880939b2ef17156e293da74d5024e3715b866f567423e9e0a307c88397001e1dafa88855c314e5a5ce4e635bc9d3308996b8a1d82a5fb3356c0c37e41e5752e679988521c04278ef37dc112d999bfa1ec29be16a20ff9b8585ce900c234bcd064b1d7993d273982a3c02b026a58501fc5241a9b64ce34f388777d6085594faa5ef3b7f0b992648f2e050397cc30edbf3a841\n\n# tcId = 175\n# appending 0's to null\nmsg = 313233343030\nresult = invalid\nsig = d466b8d8b4fcb2a566b4f2203d786b81e63afd5be21ce8228f40a183a9de52c992e27a85bc7f61cf69ed0aa559880c79016731b5fb667795fd1b37fa0cb2c86dd3bfdc20caaba24d3254bbdd063e6ce1aafca2ba04fb90f58f7d9fbb5be9679e30676b80f7c7cb1af50eab77e77bb01b166d23648c3d36a4fc228d6210e9d64bb3759c1979c014703b85c4aa7a5fe0f9f014819d96c4414920c6b57de2aca8ab12f7067895b13fdef4bdf39c5d863a671d66112d1f841b5610c9065fe14b1b98103c45247c2078f8cda5bec1cb99890dabacf08086bd0d73af4df0a9113e704ce0781ce631d4e39683ffb9c8d21b65d999fd687301ca1f0f9e7744474af65089d9a29c805c3257b32c95eda56426efcc856bdba116a08a5241792b1c282479fedbd8421d746718e859434d3e0b093f9d2de02adcf86697520f05023caaac8740df9ed28fff20e97aa45de9e68075a73b09b2ffe7fe5398e971d69d296dfde0541757248bf0c3876f292373418724fbba47bbf16a6eff8228a8d73da863d882ee\n\n# tcId = 176\n# appending null value to null\nmsg = 313233343030\nresult = invalid\nsig = 539d5ebdebf1057648e82a961ec142f82a979d34b37cd90a48624cc0cd63c15f835935c3fd7ce618f383a3997e841a0bf5476f4532dfc73e76f2cfe912d42a57c2f38b90a497aee58b280da0a8f2e9bd1776938540d630ac1681997e66e30cde7d5364f88465d43f0bf23b4b2a7476813be3a8b49535366441e126608a3e699023543ee7967b9c99bcada9325d87cf3c4a5ed333ae50d74554f863a05defbdab379d5a43367fddc240ae760fb257e51adf8ee4aa2451425b9e0f1aa6963f43da61714ccdcdb4986f0cb835eb064a112d5ce4ef5e9123f79f21d500b9b87e7ae11bc08af6082b5a284cc04aa9f58972af28ee70a4cb78913746f3184b76fa6e248f827e342338935c0301a18fbac9ac9a97fafb0f80e5c88c4eb9a1c850a118f32dbcf357a1ee8079c0efb912594617b44f1268ca7f256309f60250f7e0b0b7de5077d5c900f4581635e67e5b9f3d80dc8917b995e4ac1a3801a45a1b88ad0ff16f33141824a9769e9ea3359dd88668a9a64ff75201ac2b171d3c85a1dfd9f99b\n\n# tcId = 177\n# truncated length of null\nmsg = 313233343030\nresult = invalid\nsig = 094cd24b3a601b80b54a60040199c6c0f3ac766f4e7ad56354c9ac551af0cf22d6df1612f81b0a195e4e471eeda3efc95656b87645e05c3f224187c85b8e0fc01f118aec78c5d2533d22951261bdae5346d6d158ad56cb305fe0ff5ebd6b8d0e947f1262e56329479564c1d4a77e03f81ec7c520cfe10a3abaeb77ea602bbf8309a0726051e4313be579d50f2b9113b21e581c2225e5fe3ec435fd80d013ab24b6cae83c0047dd81328a4a3b9d7f5d342c34254ef3618d8cf822ebd738bc4aca8c3a2df349fb7421463e363ea77b78836f825bf023cc6ab9a6bb6528ea925789e577920d9cd1bb402e5cfe192a1cd6c2254e16080ff247f54e9a02c7cfee876583c276d736bda542be218cab897b50ee5d36c3673ca20e02c07e922bc49b054351c921b1d65c23a6d967619901f09ae048d4c09646567c3367ea86b86dc9e353c14f65e7dc6926ea5d70b36e23c66db53786444654d70d910764842689b96cb87ed85668d608d58b31c3632ed985b9051aa288f0005cab9ea1d4a278b3a68fc7\n\n# tcId = 178\n# changing tag value of null\nmsg = 313233343030\nresult = invalid\nsig = 06a763017fdada141ed44353e39b0d6a3038c903f059cf8132d7bfb05d49db22f978b86ce942568fcdc9c50354356ba4a1e43bb91172e898abee5b5acb9b0505f3873fa6ddff9f08413074fadfd1c6b977ff1e5cf5f7176726d99204de1031213f7d6c3ce956a93b29b898c197043aeb27db5f914ebf86de7d26e17fc0cbccacc8bfb4dcc7729306cb5aa6f8bd9320ce501aefddd1ff0de105806dbaf06c9c70e10b2a6193903d6e387e7eae612f9ff280614f86da8766c966e70548d255c9fa0e9945d0dbac5a0f0405132bdadd8da67bcbde0f5963f1e0fe9fefc0e238f5abb0030a87793eb952be375501636d86f68c5093b147ec0999987d6e830e90fd3606f1486dbc909ba0e8c6cef23eb4995a9b1264c696bfdf0f4cd969edebf03c5ce8a07258be91566722f0ebe3c736123aee981d1c1fab2a115b0814f584f8c59936974fcfeba4fa7cfebde8e9410494ef3110b6b2d419c3128884799d7ffb2ef99af6c272ccac1d8022fbd110a6fc12d13192e4a9fde1e7a3d8bf3ae53f6d8e3f\n\n# tcId = 179\n# changing tag value of null\nmsg = 313233343030\nresult = invalid\nsig = 7b0dbc9f51cbee3ed57cec73dabd268141d15afa82eb378d7c6bde7dcf0650554eae79a2489340b9eb81d54cd677c2d351e36642f1bc5699b5645ff9c4e8ef6c68bf5e337064f78f6eeb19dfd4e5e9e70b3600f4360938cb9336e12361f75f39ebf44994de531bebd230bfdaccc02e0f3452976f73055d24d673a55e58618dea96718d180e7bda5372df8f2adfe8f984de3c5711abfe75cdeb81771fa105f00be7de76e5b0a8838dbdd8d22226518fed7383e2a101f62ba3e79f59538ce3c9f368d6442063ef8591cdde03907fab38c79e5fa326bd67f6c0d017cdb01d39eab8fd3d7a901065986db241e30c80b977a7c5723ccf15c9494b08a39371afb9ea0e51f4cc35f515ed88a8e5b702b9108917061d2b75e9dd55a89a387aa2e4e0d5b9faead4ce10e8622553966c1324e92f8dece4b3d7cb981524ddcb65760aed7cbc32d47585afe5f48eacd24ed570334814121197c48505d790402b85a45a5937b0aa7cff371588e0a04030fe0ec1b8fec9516becac30911f689015b16a44f348a4\n\n# tcId = 180\n# changing tag value of null\nmsg = 313233343030\nresult = invalid\nsig = 654e9bcb87ac0bddabb2a877a1127cf9c306c9ce5da052f8ec732b1a98ea14c335ed82ab6f62d174651349407f1d91189bda73182ef8073e2dcffb39c21c2204081b36fa6c5d66c3fc97eb2ef3", + "416ed16cd3e6a4e5e10c2decda13c3a08268893769b212f2932c954c121c01944c51dd5c2305cebd54ef65bb6ea48cb05a37acdffa34395e5e6f540fa87492adfb9ee1fed9d7b47841f75da0a890a0f2914b21aaa0a78781af9790dafa4dd23e511f9d9eb76adb25e85c6cdde568fa14145d821f8602e67569f869d6e73e396e247ace4b84d20522e45a066825450586e428e806a2672525b90d316a5b13dae5d215cca466e064e541f549b0b298b42ece5634c6cc48ce938611aa06ffb120c205955f537fb21cfa7c5db92908cc278f7e003ad2eef936343a70a2d6460a149eb930793fd45ee737776adcd04635aa87a3f7a12e4184689a88dbcf3e9d9f6d829e0fad1f08596768774fd149813fd9e03a42faae20f02ae026647d68f3c74651a7f469da2359758be1d697101135d6ca0da131\n\n# tcId = 181\n# changing tag value of null\nmsg = 313233343030\nresult = invalid\nsig = 5be6f89e6f531c41e248f0d72c37cae7b2a466886bd4c1059d966b5c973d127be3c75c7dcbd57a767bb13be20d9402a780a5e58faabb571399d7dfdf3c8f649c825d99309f84140db70d4bed2e160b22e49958e7e35aa444d4fc49aa24a02b2c170859fa621d14c3692a2353249118c7b01e018ba5d82354173afe122a71368e4342d88fe2bebf6a0255f719b985d5b57f720b0d4767f67b13ecd815ce40fab2b610c4af1054734934eae5fc232891f29fba6d364e4c0f2b26bf600836fb1ec9530d5aa14b90103e675efcbc92f6e88afa351369c694892e949da6d90e74f2ae853f5d8aa70d5fc132d9b41e20520baa8aa74b77c60daccf4da758b9d22745e50cd7ea118dc14926b9dfe0fe26600cba5b447e9e2a14d1d8a5e7af01ca143b6af298e031d2560d99aa090ee2d7180ec695dd553847175ce66084fae7b30ce6b5a3b1164757043dfe053853c84bdc9fd66708b029fbd44a2c2fbd8e5ac7c009f8cbf53ec2e285f2c365d823d31772bbfa710e70eba58d71787763bf0dc09ec5c1\n\n# tcId = 182\n# changing tag value of null\nmsg = 313233343030\nresult = invalid\nsig = 3d7186aa38d431642aac2fa01101224d652e468ca9e420652606d050f109825b4c2943f57d943a48e8559898f9b6ee174eb0748a9c84e9cb874c50c760d2b1656374703bf82b2e4012d4a4b642a20c2e5e9edac54f6b152c7d79ca5591d50bf9194bf36c8604dd8f31d9c40250909172346331bb73cda23c6ae481ca91dee49a2298df8cd40e5b7f6d497a183499d2a0950f2e440614ab5b4279c887e2b228c27700013ce15841937e319deae2f7350a2f76c43c6e02e5937686f4004369e478f61aa7dcbd38d50d93ce74a9aa8a13cbb1a8f92cdd382fb2c35cf292a9d45e404cb1cdc14608f5ed3e2c490c22862cadf0c6c63116c81b7ca3e8ab6594e55f10bc78769c3e4cbb5b44e5a1c2ab3341714a1a40702926bd5e4facf3b55dc978a2768166a48285c06722d5436bda3add1a7adef76fd317ef06f7286b47566a38720232bb58954efc44f2207de71c2f3661a3140ce5a94145df9d4bc4cce0a16144fe0205a1da7f57409fc8da45a5062b2ee39119c639436ed128983e1c7fc4976c\n\n# tcId = 183\n# composed null\nmsg = 313233343030\nresult = invalid\nsig = 9f32c9b659775417abb7219278e0ef2eb30ba487d42581fc22fbb18dc11f5ab081a40621b4b925fd40ee62ed792e853cc26f3589aa9bed4e04aaa7773a08b24cee1ca2b83331487f889d7d1770a55cfdf1654c4ce320542ceff8b0d62cd6c59c8bdbe923431d9308fce911b25dfd1206b9c97c0cbcc46b36faef1aee9f88e4e353a57fa48d44f88a76b3e67cfe276315305f71d0f3656f3b086d787031dd4c716cc906f9384b765a7d2a648ef497b7f89b8fb72d63351bfd0f019979d859407e30d7ac22f0eefdc92edd7ce8033b11d266d66eb19228f75d7ef300848927c9543e6e7f195bfc9448ed5cdf2963676e1644d09729115ba95878324573d4bfeb74c7713b405304155bf7abcf7f76bc3fbd96c6839e81624d96dc9f45f69af43c46e8720d1b488aa647c0a7f56dd36619c1c6dd5bc93b3fc00a00dfd49a19a2da23de40c3de197ec6cb55ed47062ef17ff15112a78728a8b5f3344d0a7168726b0d8d223037a52a2562dfe6c943cf09d82b9d777c3c2f1a2d2e2112388b324088de\n\n# tcId = 184\n# incorrect null\nmsg = 313233343030\nresult = invalid\nsig = 409f9dc527da49214994cf1ffba569f2e3ccb12b626a685367c48185e06e972d3826df52b54aeb5426977c4fa91ad5e55cfbbb86dcdd8da68e83ba5f25779d87b2e9035f7591a20d8d6845215d3a4ffccd0a01cb4fdf0b835a05686f64a8f43153a461d78649e8a635ac52d6e001068f8c18163b40b3860691117cdb0bb15a35364d6b4ca264a24938a68982beb8c5e4c5b9c90480777005d4906f2007e337875201718acf464c44db8d2c0e7222583088577759384fbb7bb8bc409a790b987fedd1d09bf5aea2a0e444c0648f7adbf32145df8c2d21dbafc408f8f8ea05f26a99b182fae3d3c12f6e7d9e4404dbc20063a1a00127677d97c20a78dcc7572ef5b3693aba44a9ffb1d8c7322596658b0ee24ac61f8bf66f83ed32a953569a2f0037c634a9314905cbc8a37722eb5fabf3a5630463cc28f233953b57c0d5d2f6ef281cb3f843a7c640d6e566809cec0eda548cc1f9efe08b4b8d3604183469c34d1194bcf6a0126fc072c4c97aafac748bfd4e21b5f0347b1977e5baea1849e92d\n\n# tcId = 185\n# long form encoding of length of digest\nmsg = 313233343030\nresult = invalid\nsig = d28388441dcd3adb103515a74be1afffeb250255ca7528e955b94e7b8ce826c97df3f371da7e7f399477c1bb033d50f4bdbfa982e3d5eddb6bf45e08dfa41d5bbd976fed018d1b8bbda013e79fd80c020ddf5379e96929cc70868f025dce41e6f3dbc220b3cc6fe70d7a4bd0659c60fba376d672016599a44f89b62aff469e7e91b24bfe645d63cb0cb03902e8ce8448b41b5886d55ebf054ddbc21c23d571a4e6a353a5f880ec2478d206a2a08d431714de562bf2aa6a5885e0bffab51bce4ed9e243eeaa5d1b2297dff1bd844b440e9cb270b6ce40b76fd79c7591d3f38a719190a5992664f24b8bce0f4d050e8072ae4a27c51b2e284304af4e2ee2dda546a8ff91affe20882c119ec1caebe406ae2b04eec9bed107cb3b66420a730ecc797c028bd97f9dff631512342355b6efb3fffa49d55a9a5d5ad45182e16f7c378ca36135a520732bdbff39d525c89c0a3118c68a779bf2f2f43cd560b4d11c606fbd089b046fae8f01447d661bc374d2b6a0e094e7b40abc240856404d2aa7364b\n\n# tcId = 186\n# length of digest contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 473f662190fa09abd247533dd2d4cbd1880ad6419cc3b3b1dee6059d5672b28e768560c604260a181c41b6c33d9fd902163bd956f67011de608b5a7a0059e2e0be3699119afc8771c44f7f681ded984d0674754b0813fa906ff8d9db40e1e48fa25af65ac49dfebaa30c957e7ed0e06d2bfd04ca564f881dd8cb075a6a708eda0b47174c66386a5fa1b4bd2f8f2d1661d2eae0065c95560da197ef5644c7f317da9a8dce7f42f84bfd099e9cb20bbf1fcad1c4307903e18c9c5595ca8a0bf2f4b2c3c562561df21de86329a7bc5059209d05699b888848723488b111c0e72a0d84978b50242d94ee47e2df4a0c953947d846e56c9c9aaca0543ea13671e6e8b9e3c3799cef6582bdec5579f2edb171fded9e04a900c61c429cbe09768b93a417f1c59b92381682bd66d0018e94cc75dbdc0d37acd85877fa229db0eaaccd9b1e4275a9dfc2bdc60ccd7ad5a597e85c443ac95f878378d88453074b83d152d9ce4f583b57be32cc13971504d713c3ccd719e79303b0c1a866e21426e1049ce3bb\n\n# tcId = 187\n# wrong length of digest\nmsg = 313233343030\nresult = invalid\nsig = c67de527c6b72c804a52df6e44b4fe2e408a9f048948ac16db55b664b5da6044ba9b2498a14f66a83ad76f1b2363f393d85b4470d318114247c6f33c4110e24801ca915800adc98e8b3f88da6fd84be3db00d09f027dedd60e68cb0b467c04d6bc4c629c168f6ca46988b6165347aa885cb954cb4a0d2ff2851b7dbe4cb55eb89ec48ce45064f34d6907ba62d0b5468b316753ed36b1ec8b8f36a05adbd59cc03f1aca50001bf59156b9065cdbbca855c54fc3dae251a0fd1c130f545b3e2d51a632f778999bb2a6693fbed677206b65d9ef04c4dde2e5fabab0ce9668135915389dc498d1641c2a504bcf62c94339d3111d64c5fbb476d7cbde4dc72dc2f1745d02e5da12fc92f9949aa672e9a567ee4dc760610fb3f280a9612b24fb0a367a6b041e5f9075d20cf27f33c34c7a005cb2024468f2ba51de56829cfe25182fe9c7ba95c6314276852b2739c4d7da4514c58a53db655d0a7cd442e3f5728e472b8d0bda4e275c3a3a7d9734a35409ac8b6bee2def19f1507e8b21e278cbad13a4\n\n# tcId = 188\n# wrong length of digest\nmsg = 313233343030\nresult = invalid\nsig = b41adc2e291efe76182d118257243abc0f8e46353ae3acc7f22b1474ed255be6fef75c620e362c04c875c27a6e93d0beada311c01143a249b160b92753687192fe4875cbabcb09ac137db95eeeb06d9b220da294968bbfba6c0ac2e3e0089fa8038b0a501d90ec64f5270ffaf0bd135980ea84d18f7ebfb7417397c35d4cc09f7099ec5f9c5877b01b95056196d726089689189bdbd828f82ba621ee6c51e14f46de40529fb75550cc92b51887c7746eacff279ace83426de329484e2b3e366366a9570019a8e87802c8bc8d1188e1839837c3e2d108448bd9b78cd9f4d4ef7d2e038ebccdca08365115b68d08e39babcf87919918ee6d84afa8f2acf89e4ebc0847833a18b28330f6228ce6e42a1dce0144772a306e8e6abddc9970769c96ebc0e4c4ebfac7d02e9e87516396ef8134f182b4fedead9ddd8e5a14ad15a395009d58b1839b3543c9c30c01255a56ff93075b7cae3f6cc0717d8b932ba4ccb186a9af42c0df16e4af298280dd6d19eb9b806c05a9d08f2dfb436a9a4d8eb6d60d\n\n# tcId = 189\n# uint32 overflow in length of digest\nmsg = 313233343030\nresult = invalid\nsig = 8dd51dc50f3f37d9c4f4ce243a23ead21eb389c27478e295d95abbce83bfa439b29433b550c4e04832f16f59ceb29a7c8c38546a8b5070d37033229cae1ba097b18c05bc590c483d9e4653ce0d8d10734cbf74f35346c6d09867d5e54453c701b9ac228225900272fc916f1207e791c9cda36965935ed16a51ac1f38f773194744eaf00d6d26999ab50256553be60f7679c7001d33415ae3bc4a1cef1dfa720a65e4da6fbb87dcbe1820518b2aefc544a27a627073d6dc5e1db59991f70fccddfa909d7c1a261c355993408229fd78ec8cd889e3f7c686f5db7d66f0aecc750ac49b3fd5e4cfd7702fd2c8181a2540cc7c6ba944e2928eb547b8cb77430b1aeab5d6d1d374515106084abcc8753d3e92370bf2af7685c1fd4dd93f4a04a1dacf15109617f8652758d1fc9ddd78cfbdc44db85a5e233afa29ed6d6c239deadc93a105f47da8a77b34a6bd4dd", + "fc302a3eba565184f3ebe4e086437edadcff4dbb0aa17fdc50401651de60ce7738d3fc0d5c51144be50b4d36b62a33dbe7a55fbc0\n\n# tcId = 190\n# uint64 overflow in length of digest\nmsg = 313233343030\nresult = invalid\nsig = 471a17bf9d8a875f1206e9c139877b50389e96d0fb6c15e2f5208ca8a35a6a11cab06ef4b2b8ecd7518f2a546b792897747f9ba849550aec6bcdc268cab059b63dd69e459e317ef3eae7b508bd9e33f4c58578b45a47364e7cac4629d43cfb9d6c4585bb2d8a2f8caf342c4004e933ed6baf652d178538b8a0cebbed2447906f83261df3edad17440e0eea7eca270cd7f2b5a404d6e72565764dcbf57888df3a0b8a6dcb52405b6819af81bcdf36d5c3e7ca8b73224929cafb9d1e98bb1be32f2cdcdaabede8255687d8228efc0713bc901855fb63757b9e755033cbbf09941824762bd0ad53c724d3c6fd01877424c2107e5ca9c1f7e84f1f9dea83a9f802e22d3c2f10833c475a3dbbb5b6544fe48bbcd25248da0357502e9c5f4c00914dc41171038e800082767c62a9c9ca6ff06561f7cd35d9626535fdcce5beae3c9505efbad478915936dfc3947f86776a25c5fbbdaae42922db2607809033ad2296d602fbf47f0fac1c0a281807c6c9fbd68f4d45be8b1d1a0818b0310558f7c81558\n\n# tcId = 191\n# length of digest = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = c8443c63bafb0f500af4dd195734765d5177e2b81016fbb647a64642f08701cf00cca3a15b76ae0f60ca9d1469d3e226d5fbcbd33ed9b249def58f54ef90000df2ef35394f454aa232e3629bd95d021b393c7c5d7fd32a5ea7cc1f5eeddc14ae8d80c7af0d781ce0609993c52943e71e01659b51cd4726f9c7d9f8c23ecd6f946dbe5991f4d064a7e7ad92278a00efd19c87a1ceb5ec1506b14860e12db6817556e279b65504a97ade4aedf84e2f44256d88b7db263be75013b3b4e19cdf4f43d1861936eba689cf9f33e1bd514f294fcf4a37c42c2b64d6d40d3acba6b437abd74ff30f2ef733829fa5c5fd00dd5b9aecfc39ba72191130944347360fb721a8d47085aaa33e35b6f5ea43cfe37d71da69ac628cb496bfec81d0ec6663436117b58d5923c09b345d399425d8176f072eac65d3fe6823473c5491c4cdaddf004243ccac1fbb5133e14d8aa59dc936cb9ca1db1716f2c8a631a751b494ad67d3c2cbf8cde2c609bdb4e847a4e318ec19ba5bc804fb92e8552eaa74e7d6a5abf16b\n\n# tcId = 192\n# length of digest = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 448f9991dcb8b062ab546671a097260dcaaf68163440840eb0232ff8a2bfc326d53dc49fe1e0aa84d190522b3020166adc2820fe7fb51529bb9b52caa6a50bea343e1e2169f44476bf3b38ed93206d7f3285df546b674a570fae67f1f55ec3cf3023827dad09b19efb3ad90fb462438a93e3c6f555c8c9fe235c35211aefde711a2b81a805b96c5b5a27f1fe1b16afcb95cd0cf4337d20ffc20b8f505a633972bae62274f15128ccb061822667a6a14c6011193df2d43d3366b79e8d5d9f49bfb8cde25771979fc3dc58b1d5ed9b2952b885340eacf1bdc88a9a83be6ccada327b967310c9653c08985975e15eb7852ef9b815b5530d60217c9b3e2acf38c2618fbb893fd03ab47011e7a17b2acefa5c5e7d09deb4bbe283f5c8a0193ee8273f826afd3ee5e035be329ab04a2acfa6e4f8ec6f90e4e9c8954e1cb4fd2b5846643be5ec81ebbde608deb60a9448e53f7b2d592dadd0734b99cf150dc7b1dc32b0b1dbd68074a2ead3c4d885b404e81162639a34d065626bbc98a46066f6887318\n\n# tcId = 193\n# length of digest = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = e447af5561678214e302bf3cc4f4023df4d5ac8b27ad8e1586290bf074858cde3dcf624f6ddc6733ebad8ce49bb87dc04e6c492aa0df5b2726260de41353507cc15428e257e8f1068b79972d1f55fcb4100686dcf2cdba809d4ec70bbb22a9c4bf89e338bc63ee180ee4d65cda949c25c2137ef92bc33063ef5580cdde56f72ca206e38db6ab8825e895f5cc3d02508ce7345b16375892f3fa16b11ffd6076cb12e54c9abeb095abf01b4da32ffc977be357a6fcb4c4ba7cab3e60bc5772a83903285fa0183ca87a7bdc31b5deccd55909fb0a6a4d82af45e42a0d47c57a7541344d864c8732ac3d1f1f23cccb3f196f20edc6e1412a3b15e645a5582a9489ed697f4f46bc9a487154fb609dfdee41c424cf09719aad6c85d3ea1c122e29a8e46e0af8e7052fbb100788007d98b4a325dfcc3c4bb1eebf4d0c3c0812b7937713e8702be35a725ca5a0891f78a854188cf46ec97bdc5b44bad949359dc59e9d3e55bdd891b9850402c5ee055197065ee05d702d54f3ef7ebd7a32d44602e73383\n\n# tcId = 194\n# length of digest = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 557241eaacf5e190018db935feecf28d81ba14e2f91ce295a12ac5f48a9d7c7933bc886856b0a4556243b418b1f7ca3d37e3ac730e869f1b9ba119ea6c1b7d1ee906ed1e7fc31be8276b18902cfe59333b891dd864367e268404875452162ef0246be23a46acdd17234569778c887430f17f16ed1a565e97cb7e1dc2f84b68a3821df2177d4c1967b631362fbb128cbb6706b6128960169c3db606fa1b6e31e5b21c7ec1d8ef29a0138c62f902bea7b64bef7971fcd036164d4416884a97e79f641d10d302533790405f248cb502080b666e75041a6164b0cafa293f4d6793e5c4a42cb4041233d7185898daed6aa0044f1ddcc9c3ff57cfada82142cb54cb06868ee9c13b305a92f6efc4af8b8e8a569c57b3ebccb8bdc19e76ab85adb59e7075afd878356269c63812443c84d13f70c22f1c98dfa05faf85904423bb476b325244de80f8cbc874a5311a106a5b977d2d7c1c053cb2c9220d8ee34fba15757175e7c3ef5a139df245a44d08ddb8fb4525f978073c034c9001bd6fbc11786cde\n\n# tcId = 195\n# incorrect length of digest\nmsg = 313233343030\nresult = invalid\nsig = 5693dd850f0170bac3e3530bffb8a9bb80b1717376b7736a9e13a343e3bb97211a4ddf47da7edfe019ae1f411bc29d5b70db962a8f36f85010c276b1141b14d42342485d81ebbc291238d1470687ae5f4d564c3f9e5d56eef63f6206c545a80cc59929d16b1916bf36de340552585db477cfe531c5621ced4ed2e450e9b995d8381294a0ae0188bbb7ae0e4501e590eaac173bed94ffc6c92cd7f95f759615b7f7152191aba74d62d10c22d7be5abc8490f659c337f612e21f26252c0da5455d5badf164b135164fc648053ab29fd73a5966af21f33c427ee121ceb563690254a33b764c6239021d83e25a0ae2d2f9b0b162907a548c28c34eead5b4226bac554789f95b7a7486c5160e345780c28912a7c5510bf661b00d7bf09d2a709b30e66fabc369a436cc1f24051e010d5e66115724d4e216cb2c2d5480a72ceeb694e7adafe963deb72e2d32f6a39b2bebd0bc9fcd9e32ec1d58d238b385fd967db3ee485ab5d6938f36e0cb475a61d2c93250e30172946157ffd67be345fb9d8a1930\n\n# tcId = 196\n# lonely octet string tag\nmsg = 313233343030\nresult = invalid\nsig = d562cad64efe72291dffbc533a218789806229690495e470c0f1fa92ac7388d8c9cd28185c30d302c1c12dc0a8a275a3038e90a8e1b4c0dd2cbcb1122b25fefdf3a3b5bc95c51151c7ec4f2c6dd91a1fdb4f1c95394291ce477a9bc6c374010d073b6d2699a302e10eac34432bde58b2ea64ffa5a165bbe9361221314e46fe63cd668c33f91c995e0ce090525d86509a34b8edfe333c5fc2f15c0bb823d0ce5cf407b38663bc9dd20b9520f9912d8c792771220adc083478a08884423c6f13852e356adea36476f5b7a6da5e127788958fd42a746d854a8aa2834445fc7caf534fe6a07e45330eeeac8c042f1cc528d39a8ef016c5bb88d9bde9fd8502642ccb9d120756cc6eefb34fd379ed20d6f3fd391b54a31dc758a8780935d52881082f23f0b5c9460e83369b9fe030d30be208f8a4686b9f74dc6dda9f29957eb02bc8238ccc3444af8e160f6511633c96b683a5e4f94499a9a944374283e76891072b5cb6216594d87581c2b00c884b07785dd58b954f4f850417f8bfdf6fef77f99f\n\n# tcId = 197\n# appending 0's to digest\nmsg = 313233343030\nresult = invalid\nsig = 25b461d95013af14d316948ff8776927113814cb3acc23b7f241799838d9081481e7f27fe1c57a40cb6303f4bdabe3c732c350abec0330164da650eafcd62cc44fd545b8ed7b2247573e4b8c7fc0a0f07a4b4cd685fa64cc9c27dbf7bbf35be98de52249a80e9610f91c724e09e657e3b95d2ad71478f8dd379c73c193fe503245ac003c238045c6e799b3bfd805e55096f86ee9a46e27fc2353fb59439bb7a01bc58956f052543c6da133c5902a053ed5e0c5ec074f35757bddaecef424a7705437e217224b5265445e11110a8dee8cc8881ee03653e9f68ea9ec5dd77810b9eb9cd68ae153531426f208b9e669be6a5013438283f00a1f9e827522178b9730ab72b9ffff5af9bd5dfa87632794d17913467ff0aea511a8aba2774d638a6bf8bc5a5c6589dc9e72df8c6ce28762a2094746e708bccfb4ec975f3676e3729d452542996dfa9dc4263e743afebff649a0b12c214efae176fa22e5342c8f66b10d012f6852136a82ad8da72d2a174b510aa99184df188be760743704d42900d155\n\n# tcId = 198\n# prepending 0's to digest\nmsg = 313233343030\nresult = invalid\nsig = 07de84b9faf2ae81955fb71df5e5e0b432f1ff72bab8b80a3305416d854e4bcc0c33db78d0ea4e51b63ff3c9ed9b7e428fa72a27f9124fe7f7810cf83b830c5993b8fdb85fd7738e8965d48807b087d58d322efa3cc1006abb273f32dc52d6e98ca411fac77617467297750d0413f0af18a39b7429045a0b6122c7cd601b4bb04611a38f6c82117389981f1270f81a4a6f81782ee8ade72559cc7008f86065d697ff5721f34cdca3f7ead956d25bc1387ede5b5e1bc84fc47a31dab45920817c6b86f15fadeab17c22123e6bd4162733ac5a97d58d2e2b9c1fac6cdf682436d719a7940210c546c74c7ed3d64d76d7af06d7eb1eb3d0a5b31dd2322fc8fa3147592ca4f35863c05c60431870c91cb537846dd9028e82f3e014dd8456603cbeba7e48ca89d75ddf053dad7c89fa6ee2d315d1e57841540004251372777e6feb350b6f8e04934b4e623d631a76b2ed78fe67d55ddee2750fc3fc56ddac7141640ccf2b4bbe4e23faf4c9de76b50980a1388afb4b342e6f94bcf6e37988ab523b71\n\n# tcId = 199\n# appending null value to digest\nmsg = 313233343030\nresult = invalid\nsig = 4e3712c19853d5431f8211843b51a56f8f09e182c52c21c8ec8af0b4b01330d3d82618048240eb27b7595b99532676b45f338453cbeb5bf089a2fe6c5a9f2766696254546b2579efa6020324ef17516192b8897f6b5f8e9567bb05b449a0749e2aef992454aeec0a44a4a49b9b2ee6e231428166720c178226f29e48b0dee66c7089aeee7a60ac9001a3dc7873717a4c25e11c3b15a2e6", + "88a740d3463f3d4d22c66ae7b749a4a17beb8bdd15fb64a20538edeb2bb5eca7837f4bfeafd0858e910ae943b3073847f68c08186cbbaa1c35e33262077fca3be60e2a8bc051553eefd08d23eca5665837d0a604ecbdfbc16560079a0f7bd1f0659b7ac251a1fcbc18870164996a9601d9882685f359a0ceefd9b476a297ec4e482496da0fe41a081c43bf9e05b4657ee76cec9f50410e190a814cc5ad6125b2c1dae0d07c3aab98839f78a77a20ac238b106289082c695275d989e77eb45f0b63db84546f6c63ba2c0247f73a340bfc55fdefdf02e5de4cb9047a2fc41747a661eed538d980ceface\n\n# tcId = 200\n# truncated length of digest\nmsg = 313233343030\nresult = invalid\nsig = 1d0050b90e5eb30d6f772999383dbf06b89f5752b461b05dc62cf9daea0340a1f43424ffc567c54a9be58a688315618734f2098005552a07d6916221c0f24f539ea57454907d5648670e50a7907a5c7a7156d9576689a3b72e7c78c892a0eb2f4a241484bda80916899fc8ba6080431f47a78a17a0467722ce8b7e66c1502eeafa5963857a1791aa61c355d1d56f1f9c76b4e1c05b2a669fcc22a305baa6754245477aa6c02947cfa15930807884014d3a5d784ed291b5e3261d4e4079a7bf5f07ede12d6a9ea4e0f05909dbd46fdf7f504132963a7aba86f23b0691bd69161e81bebce5bd8b5d545bca66c430e6a05ee7f7d1d9c3b6498c534d1bea91b127d432d45976b29de017523547b936d163d8d8d75d4ad549a502ec441180ef6f06b41ab827a57530499fff99fa4a8c308ecd9bca6764a0846eea97e15cdd19a028fb3ccb1d33f407ed8bf04d8b73b7e004e17ac8e5fc44be897d46e1420b5c57566c114ddc25a05ae8e8525b92ae9b28b2e313658b4f941a6989b46db6ddd8c371f3\n\n# tcId = 201\n# Replacing digest with NULL\nmsg = 313233343030\nresult = invalid\nsig = 9a0d31e7f932b616c73ff612e42dd74c9d6f7566a40fae8e6677cf6d54fb6f2e579b28d0d2d8670a33b3fcb3ebc57d7ffc202b801aade2229540e9c45327ede92354bda2dab08190ef6985d824d03af59709f022ab33cd8559b48745f1dfa158e100a68e6acef782407fb0ef4b96b4bf2fd7e40695191845aa88738e66cffd7267d04536e4979508312fed2894db446220014c3cfa8db1fece66e484b56f105755e6d65706bca5b8b4e0b615d56986f1d0ed35b5357d17f54a32f4d5063ff61ea4c853f0fa99d77efbcfd21081589fe63441324a0fedcb6cb31c91f6579b2b8b8ccd288a0f0fb9f907b474686d41c4ed25bfd07acb864118825ce56814babdf6dc8ffaf5a5cd6a30941f7760d9276e00d91e9ac5ba4fd0b3900d54539be2879bc95c6c58e6b8443cd8d561919ac2431528bb8b5f67cde0d05f2e5b4e22aa902771596b5389b662ee847f077f9b8cc35f0c8192576af7aeec1d2c719bf7183f072bf3bab37897aecd785078a4bdb06d0bc2367df36ade0583449ab25e8d035ce2\n\n# tcId = 202\n# changing tag value of digest\nmsg = 313233343030\nresult = invalid\nsig = 3495cf0c5cbf064fdfa088be1d7e57982a798c17933513d404197aff77c0513cae184df56e0bbbfe6b8311a281d8e2cbb42157a156938381f4b0b1aebbe408d6b0365fc20e8f00c39020fe740332b14d69fb3ec734984e92bf406f1449603164adf2c3c77675b30d25cd5f403acc5f104aa754f755626f1e5bc9fc0c570ef3bb9e7dd2633ec9163f056cddf73debc548d52bec6214af9b4c6b5860d54c2a08b6f81af40f8fbba9902a65e388a121402ea276cd89e0076315d4e12e045497236473dbf6eff14ef21f7875daaab03a81b5070394c127bba13e9fc4480ad245cf4ca8bee343028db6a808a2876b7130bf1f0b4d1de1f1a7f841609db96b50a28ad4e263a76b78ac2fdf3996cc5b67b6fd71f16bbed1067c0f9e71f399990b9223bbd8628614a7fad5a45970c4ffe174120a538ace6969fe0cffc9508929606e4a30ea28d555124206063f2ba7856c6beb0367012176bc258a6688647b161ab2382f9b3c926d33dffc12ec15049c2df248a46f961ba92a94b9e36083d0c229c406ce\n\n# tcId = 203\n# changing tag value of digest\nmsg = 313233343030\nresult = invalid\nsig = 330ed439b3750e35bca2cbef5bc0470799c56b206256b543d026dc11a34d15d73c696e03340c8f0751b0dd204b53af0cebc32a1cf1f33b20b5755bc4f2b9f2c8bc91939f880e62a0d8f54fdba12e602ea37af779a2afb9258e19fdcd51d4e767733ff9827432adad2f0781a46991d3d1dd9a8e5a700860e7defb0fdd3b4097aa101f95814b848abc0cb5cbb260e61c42673e0e836eb31f97a0a50ae9aa1df72ef603f0e78c91459e690363042113335b2e1050eaee0b83ae5f6ceb50a4c88956d5b01451d56e72a7755c28768004b258d86c2d790ddbbd66cd0a7f5d017bb62b957fb0b6e6253a88eb94dd5d3cf90c92dc2563b728f46928b83b1a29ecd8100e7efe254c7e043f215933f7e9873fd0cea1221f03e31f43649cc2c1bb42d7f040bd5fb401a1f3381e5c4a4fc1f973b67460b5bd2c7c99d29dc14490922138b8a3b9a2a415f50206f50d254fdea8702cf2e4057ea77cea8f18c5da655416a1f7eea84667789f78faa98a871b0a6837babab974b60ed54cc7d287d538f140e7fd6a\n\n# tcId = 204\n# changing tag value of digest\nmsg = 313233343030\nresult = invalid\nsig = 6818ee1c57e9ef40da6b1aafb3d3cfc9376eff56c2913b8b2e0891dc7ffe4450fb25f2a8d1b379c13b6b8f45993219112adac050f43ac612e7957c9484a3bafef2e550d15a8dd88faf9525a2fbec8c702d0721a408b1261b3af2be9c817e0e1dfe8b6c58c569539d66f6346fe0813762caf0ea857895e1fe90d50e1e0bf1fcea7d2cae0d5bd2eae197b0eb6ea15eaac077dd81e10c07e71f948382db1c5dd6ee4d86b0144aa648c38eea0d8253eb988205a71af95e1afb33dd20fe8315c16ced59d6185acc43e8dddf968875c331c5ac31af14a9e55023ed03f503487229be4f772eef970f3f132d1fdf334737848994d939074c4ccd448e6d2b9065088003d76d9ef38e8c713a5d8a010c9ea6dbb0bc07d32a515ad1437029bad8eeaabbe92f1b173bc8c92af832e18fe0b60a006818ebf75622ffcea489cb3f165c905c18a52a04188bcf132db833d7416858d81bbaeb8a62f80c1b328133647b36db5e4b37ef16713a16223fb24e8ae93c9d687c62c77f4ecca256e30b3ff88cd8ca3c0c68\n\n# tcId = 205\n# changing tag value of digest\nmsg = 313233343030\nresult = invalid\nsig = 947f2927355398312e17781d59a713a6ecdccd4ee315049c041b788ca52c691a7037bb489f71ecac2776dd1171853483eb453d4b93f136d51318cf32469b3d56d04bbe6dfee2721abdda3f40551beacb3f2348dbf0a8056bc4bef013a4e9819e20e2b045c3bf77f79c116993c8064c46cef8895f874438c30e555a59258d1a01596fdaabb22fed93c51c2a4881c08bd09c3219e5fa2979a32775c00f61af935c839f7f0f54a74677b194749ea1831c44e61113474396e398e4d821d65e41b3cd55cbab2b703435073a3b0c2705622cf802f67f346babfde288ebd26bd909813d8bf51fa2b07946ac0e523c802173fe6a42f41568281944f4dee91077a12e41d37e53a4704d367c2b5b013c90f73b7f24d703cfb006c8d0b399f498ef2b62f08834835108dacf637959c5506a26bc3ef5e30e1100b093707fd3b5190b597d0a6f270b21eea9aeed5b1e77acbdc01c8875724744b37554791631cb60a96ed9d7b985c2d6a2c09a33a17475e2ba47b3f56f9a33072a0fa920eb88ca0d9bd195bdde\n\n# tcId = 206\n# changing tag value of digest\nmsg = 313233343030\nresult = invalid\nsig = d054b2a5ae9bb9ded9a28528b59530dbd6ac220d761652fa44ace78743c5432a517024900c9b24574e096b6d1b295ee5251d2923a928e7852820c455c43b76e1d522ca82f98852d7cbdcfe0f85ff1f3de2cf383ed6172574b12af7fb03c58023644100effe836bfbf8e7362378541f0569606d1842fabfa288dae9ef271079023eaaafb6e6b4957e0ef96bb18b968d73de32707296e805691532925e18a709d036bd798a6ea0ee61c18aab41322a7063dc372bb1f0b9991d2314c94e370a8966a2187a8940d81b6db830931c101ecc47d13c0b9f91b3a07ad0268d0f3693684df91a8720463fd1442f01e5eaf6741d2c2391a8b4d55150728825dd9e922d89823051948c99921b7280675641e9a94c3a9d3de31332545cb6e88fe54d38a111a1f125241333ffc58bbbc4e759b3986d73a3a8f7f4fd81c1c634b65854d12dca87f1d40fa5624079426a53be23a1649252ef027605f3e82333861de641319b8418b963d2d043ff789406c3e34cdecccf111343632c1bad9deb525783676c36119e\n\n# tcId = 207\n# dropping value of digest\nmsg = 313233343030\nresult = invalid\nsig = 28cad6c07a93289cdc0ffce1c1beb709c6d344883e0e175feee78cd6c9a9700cc89d51cbb214e7b8e6e84a3039ad2eb2be4aac0c968b9081af46ca68fa1155554b923eae4f4129cafe12c44891656b5433d4e048fcc1468710bd9a3447e917a35d6333d4b5c7118996f61e0730af44fe2c663e980b301d8c7c33279da81adbdf33c8e90b04011665c6263fecdc45716015e11b5d9ce3077d894f4168159f37f2ab3296e66f2669f766029f8772835d7b887aef0d597a537f1db4e84e1ee45bd8293b4bb6f302904021522cb9eec833fcec2ba008fad69a6372470cb67207f29bbddb4a22470d91cd58c09e37d54a0751613ae8e0f29007a409d31c4e61dd6ab8d181d14474b56eef68995f2ab50622c998fd49656c9f6507f583927209253886f60de38c294f1fb95cd0f5fe3bb8d9f1462730c599093aa9418429c3ed45d595fc43198094ce216acc729abc9d7d5c2a95014d8b02fd50a7bdf69a3c3bfbbdbf3e29de2217825fda34799f231fd7d3ff80d1fbf82f82ccc189598590a051c23a\n\n# tcId = 208\n# using composition for digest\nmsg = 313233343030\nresult = invalid\nsig = d266da27670c18b97ccd0fe8beb45f2f83a0969258449fabbedc12d7bfe078ba741daca1c3fe504631b221eb1c899aa6c3a89d3a3904f48ebeeddbdca91b1bb9400eb1bb4d9f4ec903000ce239bb0a807de2c3b916336dc196ec87832774b701115796c4ffc66a6e344c9dd1ba9cd8517e93694f4d4502b20c72cb87426f250373113ab5b4f73c0b93de792ad714225eb70b9b44ee154719d89ad6c5c2c78917d3dcceddcdeea90bdaf0b35f2d77bd08f099a245cb39af8cf70d9dac0efeea156aaf83b5316b5f05c6fd9a3b6de3e82c9d02fdc5df5e25888c200219dc324c856d7a0b5687e3463a13accfb1b13b25f3b35ec84e551b2fd3738a1924dfb931b4d264e9515c508782c6ca04e2f66c30ec54873d39c0501459f0749aafc652531aca65d1fbf9b4d3f1272d8e87ed5dc680456d8e7771790a64b628ab05addd1078e99c0e197f9bd648db9caeca4e7160563496a18606e57bf5cd1c21bbfbca5a138852fc471eb09cd5a9e900409dcb2e0b733c54903a70d04e58cd64ee441d9ada\n\n# tcId = 209\n# modify first ", + "byte of digest\nmsg = 313233343030\nresult = invalid\nsig = bb94c13e6a00776c615fc879f33bde87218a3ba010138d8e239d6480db2431a67499a86d86558e3c16c8292ac5e5324981684894c8c7408f741de4bb4580ba6250f81ca6d0e8927f01de76b48f5e176634e0627342ec7d941fc25926d4b3efa0d94d9e53379c0f07f0d7a68f3fb26ec2073d257a6fed96393707e09e4f7eb247d106720e91911637bf43866d7ac90128159bd2381a5799a03b5658f2ec5956214383f3bf7b11837621dc4dd2a38fa4bf979bdbed9752ab6fb5c5af684304220faa3a5329bd106275900633488f25fcdb7bfb13db8435a53050f00866705c1a6c51507304a7c09c166e15bab7e808032da23405e8d2d25f64066c07a5acec27554782d2fee6d71a52f588268dc6fc928bffce6fc5eff2f53fb9d923f0e036df832c2e834b738646f1726c4016df56cef624d017a8755a9d9c8a885f53774af71ee69b34b7ab5eba4270a19f979909cf8331d64b32f759504ef35e6e1e839c66b000dfe24893a7a55a3d422c2be8c51417c266288fdd5cc98f8af150e579b42e96\n\n# tcId = 210\n# modify last byte of digest\nmsg = 313233343030\nresult = invalid\nsig = 4f66ac4021d9aa29b43caf068b45c62300884232650b1809cc5c1eb9feb5834c9177d5281d53af9b9a868471936fe7911d5a1455fe101a394182c1c21d5aa7cf203eecbd02507797c8f9d1a7d69c53f639f61ef112ad99e87e65d02a15dc48e90acba7b09be2366eafb45a1d2dd4b2caab7fe07b0e3ba94e160a58df743c15d286bf8966447d4305c1b2d27d23203e1eae1a7e2ed7da7b7962c4f6e95e9bdb30e02dc1206039e84aaf495ab6c04628a661f06e7592c4a9f5ad9019e2c4f090fe05282f00b43ca98a8ab1a0b38db98a7ec36c1d1afc61a9839796fcfbcb0560aca2d11a8bfa7dcc46e76b69678184b8ded0d49efc601ec69266164f8e5ad7f7ed416a92c6bf62fff7fea732add959723247c2b688f60a7aa1cea5ebf913caee52cc70f7a850fe1c8b006e4e244cf2d4f948f040e28e90a57a80f2e4fedf6650d59683af70678f52e79b9c60a93536814fc6d669be8092703bee6f2d842518fb7a031d6562c740ec018918aac1ba9192b4b552a3cc620251bdd62670a834627bdd\n\n# tcId = 211\n# truncated digest\nmsg = 313233343030\nresult = invalid\nsig = ed93465874a3d62afda94f71718914dff11e99e0793d9a4ba45440f475eff498951cdf6f435f163d78f610a0dd06393e99dd2e7f5139db0c4ddc43a932ecd1b498fd8bf5443c7d62e53230869e631e5ff8a85e379b34c152d662afde843f205b99d15c2258ddf6fe286ae58005d21d4c24d016e2e084d78e684b7344302409e050dd759a5f5168a587a8189c2781f7ce784780c0a6a0ac4978a4a7f95b457b4cf2757246d73e14a957ed061edb0d0c8f345cce741dd7a1c79af84a81fcac9c4badf490ca28c8b8a4b90d2214299f8a6a092012346f8fd0d679439a0dea2e196cdbe8a9a9434982a5fa20af9cc19df2deecbb86dd4772297db08e407d78bd6d0d95aeb4c987a21007ef00276eff17ff24db4f51f5dda13a75cb7b09375e99b6965ca73f423dcc1d5e9aeaf20fd09cdfca37082b92a9a582781da5eed90eaae7b0a6c7684abd0f0417c3c1e8225dfbbb432176304754d82c96dee504fd36d4c1ec0c750d4276180a52c2fc93580192084f270925ba138c52b52a95ab16be998cbd\n\n# tcId = 212\n# truncated digest\nmsg = 313233343030\nresult = invalid\nsig = eeab3ec4df4e69668f23a6de6d071be7ff5e01613dbfeccefc722997ded7114f680f0fea889a070ea1e1fccd513b1b23059d0eb99d41f4cb08f2b8a1af16584b34f29341722355eae5a8a223c391cb392193e9367b81cdb46b8d897916f5f054a7a02aae0af18fb553050c88ad94ad406e574a52dbb167997dba36d2e8707ae43df0ae089d663c93daca1c354ba9fad356ad788068c7a82a7fe82445f732908e2dfce7d16eea2212945a918d6eae80b8ae93f9fbc4babdddd4b09a040cc355200149ae4d82ae968db6d7693192adba439f33be49143266bbe157baf4291eb8f75328ef0c76fd5cafb554aa843fba336d4f9862f2a2223035fb9e37a43c7cbae811980bed620768d5690a9fb087d050b0f8a09867caaf23ddbeff490497f7d26cca6d69d0beaacbec5a7e4af606a1eef4c4316ac4084b9b51663b438f97e507b54b86e5579409e13de979d749f365e50dbff67b0ee7994ed38e96ac897135c6a249855dbfc10b4628025b7177c3cb0107b1eb66cef39bca2ae00afaae2bb236c1\n\n# tcId = 213\n# wrong hash in padding\nmsg = 313233343030\nresult = invalid\nsig = 2c5c3cc5f8cec4eac19265eb456fed4be0c582d3324407bdc6aab5002534fa32dccf93ef7f1ac30bdc5f5c2c4964a0483bdff24ea5694224edf98f808c847ceffba864c3cd8b2260626129bfc59ee0117b53bfab63f437c96af170c0caaa68d8d8ed84261cd472b1edf699483fe7b794d07eee92b637dc1c49aa7c1a6aa2dce34abffccb37db3647d3ab877fa11475d0ac2647b4d4e439185a11619cd956f9dbf9f73a33faa321f2f5c501114528817e932ee71be313b4507741ae81ce6b1ab3610f2a65ead30268cc1c5ce3189a37e8218459d717dab5c09f991fff3e07ee309b1bb607144dd0d477cd18b7147b065f9e09b8ecf282dcfa2745154a75cde6097329a9782968b118bb23f3d2b36aa3a023da114dc648fd740250e76cb952d7edc0ddcfe96573ce196cbb9ee3b309b88de6213d1b220a24a95d753cece91e12b211832968fa450cf8f752fd983e64baf9d0707dd708670d614105a574523d49e492d77647717d653c4ce6f997560c3c35e63342a903385d17a1e2174ac8ff4db4\n\n# tcId = 214\n# wrong hash in padding\nmsg = 313233343030\nresult = invalid\nsig = d789585d72ef27eab443d409250ff15e4e188ed3bf497198167fee8c3476bfa2b7f3ed644fee7aeed40bf02df57ec28596fb0a5df4db780fdf78ec97e709c43ab7b805c381d32948f8e43ea2663a8e2fa6f817b99ae897a483bc37d4315f95e8fdd0735d742b9da61ffd7d468855f2aabb2c5d5d5f96c9f5458a4ec612b911a41618160e0a9bf0ac98f723e73a947e8826b1e05b7a293188f3ccec45aa8e8a225f386275287dfd5d6896a716532f876797749d3ac3a60b6dd016fc6fe11007419b605777d3e4d88a1d413bfdfd9698cc67e717e110c386e0c0fef2939648eaa0b0f83e1121a70c0c93dfdc3a92c6fa60f98355e8da8f368302defc9d5f3813de9de57dd493559460383413ac1adf3eccf8ba749e492c7d98da5356565a1eafccbfab2534e405ffb4c89a9548a162445d1027ed93ea6dcfbe4825af3b629dd8f0454cf54f54944986518be2f9bf6c68314c2e98bc10afede065d7c767f1c4ee11ec7121182722afd0f0e3ab65190fd35b227d86daf3f8f740d6164ea5310895a7\n\n# tcId = 215\n# wrong hash in signature\nmsg = 313233343030\nresult = invalid\nsig = 068b2f62d5a72b3d9c1cb75c55699e539c9a9f97c5eb4137aaa30da1c9c2e6438aafca227f6bb87c02194646aafbebfda1f43f361c0fb0ec53ef07f86c9ed3db7ed39fcf08fd3fd0212ec51eddf3059104516ddd1cb0bd9ea329c793772aaf7003e3b0387c03a79eea56695f415c3aa0029238d0baaf619ce5aee8fa73aac1e79949048c330e7b33f55fa4e8822d926394c958045ab6a97859eee5f39f614711a11d5057b5a467802651bff2645d897fb8b95207a968babec7b7604bbfeeafed44e3000dfd4241ebdd87e29103af5184399c65620c9075a91fd2ae5a40c614e4f07cf2c94bb868f0b99ff284a4f4bc1f14834d26ed45349c959c30e8cedbcead87fa7adfb898f998118332a06404ac36d7a897595b64adccf9169865b0d412c204c5f776bfce6959230e29574111e50189dbf0f967856643f135a2c51c8e90f467cd55fac3e8bfe4314d23f46e8f28f399e626f9d576997b21b4be2d9b7e50fc150661a25032d9f150c97a9b4031dd646e411d09054765068e73c1da7fa9f9af\n\n# tcId = 216\n# wrong hash in signature\nmsg = 313233343030\nresult = invalid\nsig = 1b9c7a5fdba8b0c84a6f98b1c419c6088a478346c75049822877b2402a5d28a0bd6759a1a579e6adb33a59c1bdbe1f829f2d3a4cce9f54ac7c1932a6d7e8c750e538e70a1a2e0af1481096687235d7b598c3ee9fdb3a6ea46b50fae66dfae54a1bb475ec742598dbce5febfce6de99f00176ac8cfde273a0eea6ebf0479f2dc676087873cd204bbf9cc49872571c4965b8d57c511328cd72811f89a6b216a28b9906c12b1dc38282b3cc7f2cbc52803123cb8cc0ac1a58397a7ce85656a17dc19e432fb124b607ac13879a4477dbc099d3826c3d92aa6af39f80fc4934816dde6b50a932cbf902f2f11125c8ec68b56aff6ac545601472380b1f3a19238ca8ee8e8f9e2ca3d3913c4a7f0d6e959590a739028a240d30813260e63e25132e572e7705acb241716aadbd0b9a051df5c5a7ac9a98304d13bdd518a84ddf589ae2d7f122aab5c1db9a7bcdd4688faf3209e80cd9aec91971121f1e5c799d55915b88dee9deb835ae74ad898293988e54662c29559535adea863ef606ceb559d9e236\n\n# tcId = 217\n# wrong hash in signature\nmsg = 313233343030\nresult = invalid\nsig = a7ace057a106782b546816f8dcc81cf41216c18e587d8a5753ffa780fc51007196f37a816beac993023b41d192ac88cd30e2e9719309aedc367defd2893d767dae6c6148dbbe6fd4ce3636bed48b746982795dd206d11e603f77fb46fd56ac9e51a88f26c9c9512d3cf851afbfecb061bb6ffe7510bc4a8f4c17b8a6135f9b80557149834d18f4bb23822c1384a48a62ef3e3b723fdbd250d25d25177355ed361d54f372a78798cc111d6374d40062c5d4c5e43e8df75af841cab36bb15c5d4031afef9ae76670059a760e7aa610df8517deedcc6d616366473b8193fea07b3226bb67c3989778a868997371cc4f1242c77e85c2fab1c342ac49131937f16f4f0cb4342874374232ea1aabc7e3681aca47bdf358845f668a8844a7732a48075caaad959354592f5f3ec413cdddf337c64d0263b4096762a7eeb495bc7bf9868c9be5334697f7118c8c1274cdf300937955e36babc895745d02c22f1874159a33abe0cff3da62b76b3921b24573514dff80505c10c530a78b379da653dbc2947b\n\n# tcId = 218\n# wrong hash in signature\nmsg = 313233343030\nresult = invalid\nsig = 7beb0b9c393a8514932ce399ecbcc86d4725fc7c64840d24a45564548eb5c01774f89a75d3365e653fe39be83484b5243d3fd894191ff011f7a16195c1c6b4c9f474bb7abb45981077f49f696b5faae60e45755cc58e4f006a5fe1b02fbdba5e37f0d7a9d930bc2e68cca8f345713a9d0604ac8dd4c53e435631993f3b1aa9a2986dbd0aa9bda6e0789652387fb60aac6183b815743efdc4180917a30fe6f4fbc97cfd2c181855f4571408707fe61c5ead6bf36ebd4d13f4acae41b77160a4fa2ab8895ea7a36e6c8e48a4ab47be8addf9d1f1b9317b94889087a7c459fa89aa7bce959417674765b58554233e561bb03e7265afc15", + "d7078fb18053445e865f5ba637d282406f7634e2d1ecb022b98569203b56c55c2d493b1414684984db401464559b339e37c6c6a147d3d5c05b56fb0eeeddd917a121ee1338ccd33f80fd0cac3cd7d9ff92ab080ed5f9bf350b39580fae2ef3046d03e67fb7cf0ae32872ed0515d27899409b34f842c8eac6a8c7f840fca270725b354500d1b1a904d06c5\n\n# tcId = 219\n# message not hashed\nmsg = 313233343030\nresult = invalid\nsig = 1a2ab1f73bcefdc551b574a99ef47e7d21aa4ed547f8428d219e6e3eb94a366d0979a43aa3b8579b600ae6d98fe5a61adcc06c04534a1e1409f46247e87111fe508fa38efb61e72d8b46bcd75aee82e601e025cc6a7fa90d807b9b1457d9f1b7253f3aef066bc2833140d215438f9eb288ea9bc4d18c3cddb2dc593732f08e34ba91174131a1d71e29468c46bd2a16020e1d8119394e77291427a22f2e8254b402073cb05c00776f849cce648bb0c38dd11f23efab69d5e68a689cde892fdda408146234021503b6aff7abda2539068b366f61f3115767104df1d423cbfa4fae159abfe1d2bbb10a4efc2aff19893bfab58b42c9dfb7faf3ee962b298bd600d2af0f7b87f354f4b2092ef45e18625942f1ff7aca0033789bafbf98b49c9f845e3d9cafc0e89c5fdfbfebcbc4714136308e80f575b96877c28bb4b3cdca7d6212f6b52217bc16203c7fc37f2ed48c61d5d5b2a957770abb1457792004d177dca34115bff7dc10789e44c8d491496f310c313b1265d57463a02b7acb6690569d86\n\n# tcId = 220\n# message not hashed\nmsg = 313233343030\nresult = invalid\nsig = bb7481d11b26b392b392fb12e7b2035f6053511e9c00bf926a556f04597a663c953c9315138ddf3ffdae4f97f3f296718348d6bc80b389b1a2a8672cb2e410f1a18d2a376c527f8361fb85e7d9fd3371c9ac5cb26c96679e28104dbb33d423df039706d4a058751a52bb138176e0d72d765ab99398aeb0e22707e97a61ac65fedf8e6fbd401a9122c73f4e15b2d9754661515a3a9033b4e9d8da4e9cdfc6f747bdf2d44b06c296db646b5f668d60f622c65b23f2713f4ebe47c154d74d5a1d5bbfef08606a8ebe3e8a4e3fd26fdcf1ea9969382363122148744364c7e0e1f98b3d5c3d09fac98f3b065d67efba87d709f4a4fa54a9b07974e5e8194926f219a9f9fb548a6afb363032255d06c84e43a8983a20227ce298ef9b3f677569291096444f19d01b629b90dc09dd80a550db66aca16552a521df07ffdb0cbb4ac14f5b2b990e84129cd15bf79e210560b3e9d9a57f11a8ba8752441b3cc98d65628fdf329a0e51a77c9c15f29e2c5cb3c76c9a00c36900eb97f1ac3f65bd0fc051c177\n\n# tcId = 221\n# using PKCS#1 encryption padding: 0002ff...00\nmsg = 313233343030\nresult = invalid\nsig = d4328711d786df1aa78d2bd8f93921d208862d596d92273d861ae5296c0909a6a3bef5a5a49728896a9430e6d8ef9903fecc910c66cf0a9366fb1be322b7760ea0b02768a339d177a392de3efc44216c0a80b68212dfa2d43f95d2b3e4730c770979d67db173ff0f29e00b1abcdfa78afe2f20673f84d75c4b4ebbc0c4499d69c7fb5253bea5c06ba37d6fcbc384e69dda6ad7ae18a220b3f7dd548ff2ae547502567a6cd34456576fdcdd813b491d7f77117288d10ab91de9bc8342407b53d70dd83f4b94b00eee3ef7cd13e9147870382efee58563007b96dd910a7a83cb1246ea39a492e596190511dd313aebcb3ff5f8dd9bd0d9e29b01f75dd9a6a0c62f008f1b24769c0cfb9f56d05f2a102976985e7bf84f75ab3611ca40068ad9c4b1a3db684cd816bc605b22192ed3e0beb5ea42d4242e0ae939e6fdc3acf35755249af5bc8d44b34836463627220d388ba9a356525f77bb636106d961d5ddc069e2301e454f486d478e06becb8574860dc24b617f5709c6f3d981817703a13fcc46\n\n# tcId = 222\n# using PKCS#1 encryption padding: 0002ff...00\nmsg = 313233343030\nresult = invalid\nsig = 2b938542a768f5d8733e373f6b21cdde86bec1a6693d4cb150527491a3707588026527c8bd3b5ce9495068eff3b828844d80b65aa86e0376a487776f648e8bebf487bb02f8b2a6a9703223975f540e7447f14fcbc9dea14463fe42a998934fa8d4516afd7144f199b9b8cc3026217b981649ef89b19c508c6f6880585749787274a7d91e3cee34d69eb52930dd52ecb034ba6f3d482b36446fcbde1e96d45fe36ac1f17c43a2a7b7028113f063ff4cd61b82cb61f4cca8a407848333ffcef570e6e4c39ae0731445e8430f474a1bf48ef138f5188d0e16334139bc40fae60a3cb8cab659cfa992f913bf91541823e38db370d30fcccb260f1dba1e859d7097c4456beb16d5c7674b3dea4a892710b1afb98d43482376fc323abbde6e421d43bc9be112969c5924fc831c43870c2f5e2459fcaaae3038f75028e998251877284506c1a1a231b322572a93fc42c3d8fe23bf03c1ff060100bccc616d92865db402f03f5d7632857156b71322492bd5c9676d8444267d28eddf9023ae84a96eecb4\n\n# tcId = 223\n# using PKCS#1 encryption padding: 0002ff...00\nmsg = 313233343030\nresult = invalid\nsig = 4069c3930a7eddeca877e379c2fd9216142086e8934a0dbba227707397cbb967607640834803f7da65e7722316e465dc43234ad802ff957b7d15b4dd196e7f5db9ab0b6a977cee1b70980e3d6731ba6250b5b44693d28105759a47050504f073bee6e50fccd4fca13d53424dd43c83770cb06a40df71c650450bbd44730c6af16fdf00fbb12b482730b4743e7a2babce66f2494d63ee89ba419d3d46000b58c70f7907ba16796db39c5802d70c85ad82706dc63e927d6acbfc7436df4135b8f9d4953d330321015c232e63c5c68554081b2b1adfdf70e5e7321f537a3f0659d8701739c86bd16c17ee4843da23109e716cb2437bf6a45dfde5fc1b76967625c725233aef7af252c81687113c754c7a533e8c6ccde6abe8044d9f3a15e9c0059dcd3ebf892638d27ee9e9246dee80b9674f2b1a5395ed0ec22df3e6497207f858282684f8def8c97a13631ec21d622d9ef6d4882d49659aa2d2bdf37708d380739a43c797616021cd47eeab66e5ec7532655e43cebc83e5c045fefd322c08c995\n\n# tcId = 224\n# using PKCS#1 encryption padding: 0002ff...00\nmsg = 313233343030\nresult = invalid\nsig = 939e8efca0177e51ea7c3134efebd3d229f6eb6426ac33530c9db86024c166f50e13706ec423e8196c8fe21157b252c15ff692ed4cc6ca8cb0501c443c63bc0e9dd167f8db8b05e06f7655934a4b446b4435b6d1e00cb50028d83961d7f153c4942a87310ed2dea6fe626b8755a5f14fc5f6383ef3455819984d9dc4e6351db56a1a2f17da21ba3515f75032b62d5553b06a00d00de77920a94beeb1a48400865b7f97e7d9a9c518a2d8112b356291f1e60234cad3515f7fec3a3209b8b76c9fb59d0083844c2475c973fd223027d1c10562d129dd2afb904823bcbeb85bc45b62a42a8ad91ed3f0e62d722ce2dcadf1898588ba468510327ac59ee7333a6a137a0f3a061b5c5cafe2b5f57f1575184fd19491d95b8829f9845fc32fcc18cf2f1297de0b1d8426bbd313618edd5ae94fb982468847403e46061d38caf242285a9ad2ba55287748e14b67fc333e485b6ae29fe7dba582f56e208cbf5ac281fc853c57cd68e4e45d38a42bbeab4211e87168efdf337f8b44f14fa69e1a7f1e46a6\n\n# tcId = 225\n# invalid PKCS#1 signature padding: 0001ff...ee00\nmsg = 313233343030\nresult = invalid\nsig = 08317cd804400c88a2cf3055bdb9add4ff6c5844cf5d521e05a59dd32d30397688a1abe7212b385ba4eb82cbf091dde7bdcf16e706675b6687f2765447f2647cb9b626abb96173baaf4f9c24a0ae0a25f2d337312cb58cb7a3487489c91d12390213fb6cc32459369b410e8f87c7013bec907fa0980a31afc213842501498068d3207b48405e13c9cc2e24587aa5621b4c76898ec8219d05043aa2c347805fa2141ced11126850d62b6cf63f05c568cffa1d58c25ebf9771fe0fcac49d1c9b7c6f04d1730f8ccb25722741a64f13f7627d2ed7c89187bb704a6b461e315f36342ad6d7cb270940286af3be4083a5f1d5c1441528b21d0b02af7791a6ca5b72f962d3b7a6f8892dafb35f91425fd7b921179a1280c056f3cf283c8294bf29da404f80e62a9c0a76a0359d8dc6c01159e369ef2d2a29dbb655dfede14f6e3b4fc0d4dc9dbd52501bc6b3fe747bcf8753379791204e4138bae4daf1d6db65e0f9dfd053d90237e12a044e331a6b6bb451ed26405c8534760d00e7d46a0c47b09537\n\n# tcId = 226\n# PKCS#1 padding too short: 000001ff...\nmsg = 313233343030\nresult = invalid\nsig = 6e35d7e838f318735a6050fb3faea4beede2e0c3e5bd007b096f4d2bf855af1c29909ee6859e3012f3509372f8975be33ba4cf4111f25e7cf91ab9cd23df7bb27e7246f6d03449dae81f93e141044b95365777e1127ef2df2f33c0a43cf1cb28a9b3e877ecc0979983bab8d2da8be009706b5636ec753828aa51c01f48b57c9e2bdd7f23330c47a27d556638ca0d8f92b8d1d5273e7d936500ba5ac79470a669da9ae334256d34dac2d3b241baa61d8127735bd42f43bbc928ef9881996d72012f940e7b8c81ff6d37b5b0f6c3b116d53d816273f33112008ae256352401dcacc12d27f5c912456b5a72334437ee0d4a04ef5c6e77c29d190563c1c500a558b2dee8a432c9aebc53a1f07ffb597d25c832f4df2a4415fb4c142dcd2d8b03020340976f33d58cd8f27b757e6936200f297027a67beef36b50ea79a88c39b0eb5cdb3de55fd8650dd3f480104f418bf7a8e6ed2304db3168beb1d060a00069180f4d820894566bc9237b12b0d87dc5266c07928de63258e3ab532b700cd7cde84b\n\n# tcId = 227\n# CVE-2017-11185: signature=n\nmsg = 313233343030\nresult = invalid\nsig = fae12363cc51e266de7d74b989085f10fc08f44363fab4ea7fcc56101d116616c43de313b70569cb27de134ecf35fcbcc448a81082678ee1ae427c48f459ab2c42c9085911a3d81c914f047ba46ef1a52a4983eba1113bdf0ee95e85cd23224cf832fe3e916d3bffa6ddcfee0926938b2c51c8904bec4739afc4f07979cbeabd514be5a2b87abec71c7a2b39c736d776442ea9e95e97ddfcad4c4c3b41fe856f81cce539b5057abfc6fb1aa153316ea4f8e76b8dc8804ee10303fc2dc182f7ce5d907e78729679333b3b012574b4c7c613c020ce1388ad37ffc0f6b2330cc5edf7ce9ba80eb984b6da2ac59aabaa3a29172ed2937920f47c17447e6185119b9b38a9935658997b487735a8184caff10a8f555d034552fd57471b293f813f19aa6c2139877992436fd1949ebe2259528c91716414aa72ff90bb5142d2fd5e7ba12d8df1ac995408e7fb645a9ab7b6f695e4050500a9042253833b055182657915246589f8362203b5517b2f7117d2aca015fce3cc41c6b1bcb2e672db142d5245\n\n# tcId = 228\n# the signature is 2 bytes too long\nmsg = 313233343030\nresult = invalid\nsig = fae12363cc51e2", + "66de7d74b989085f10fc08f44363fab4ea7fcc56101d116616c43de313b70569cb27de134ecf35fcbcc448a81082678ee1ae427c48f459ab2c42c9085911a3d81c914f047ba46ef1a52a4983eba1113bdf0ee95e85cd23224cf832fe3e916d3bffa6ddcfee0926938b2c51c8904bec4739afc4f07979cbeabd514be5a2b87abec71c7a2b39c736d776442ea9e95e97ddfcad4c4c3b41fe856f81cce539b5057abfc6fb1aa153316ea4f8e76b8dc8804ee10303fc2dc182f7ce5d907e78729679333b3b012574b4c7c613c020ce1388ad37ffc0f6b2330cc5edf7ce9ba80eb984b6da2ac59aabaa3a29172ed2937920f47c17447e6185119b9b38a9935658997b487735a8184caff10a8f555d034552fd57471b293f813f19aa6c2139877992436fd1949ebe2259528c91716414aa72ff90bb5142d2fd5e7ba12d8df1ac995408e7fb645a9ab7b6f695e4050500a9042253833b055182657915246589f8362203b5517b2f7117d2aca015fce3cc41c6b1bcb2e672db142d52450000\n\n# tcId = 229\n# the signature is empty\nmsg = 313233343030\nresult = invalid\nsig = \n\n# tcId = 230\n# the signature has value 0\nmsg = 313233343030\nresult = invalid\nsig = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 231\n# the signature has value 1\nmsg = 313233343030\nresult = invalid\nsig = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\n\n# tcId = 232\n# the signature has value 2\nmsg = 313233343030\nresult = invalid\nsig = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002\n\n# tcId = 233\n# the signature has value n-1\nmsg = 313233343030\nresult = invalid\nsig = fae12363cc51e266de7d74b989085f10fc08f44363fab4ea7fcc56101d116616c43de313b70569cb27de134ecf35fcbcc448a81082678ee1ae427c48f459ab2c42c9085911a3d81c914f047ba46ef1a52a4983eba1113bdf0ee95e85cd23224cf832fe3e916d3bffa6ddcfee0926938b2c51c8904bec4739afc4f07979cbeabd514be5a2b87abec71c7a2b39c736d776442ea9e95e97ddfcad4c4c3b41fe856f81cce539b5057abfc6fb1aa153316ea4f8e76b8dc8804ee10303fc2dc182f7ce5d907e78729679333b3b012574b4c7c613c020ce1388ad37ffc0f6b2330cc5edf7ce9ba80eb984b6da2ac59aabaa3a29172ed2937920f47c17447e6185119b9b38a9935658997b487735a8184caff10a8f555d034552fd57471b293f813f19aa6c2139877992436fd1949ebe2259528c91716414aa72ff90bb5142d2fd5e7ba12d8df1ac995408e7fb645a9ab7b6f695e4050500a9042253833b055182657915246589f8362203b5517b2f7117d2aca015fce3cc41c6b1bcb2e672db142d5244\n\n# tcId = 234\n# the signature has value n+1\nmsg = 313233343030\nresult = invalid\nsig = fae12363cc51e266de7d74b989085f10fc08f44363fab4ea7fcc56101d116616c43de313b70569cb27de134ecf35fcbcc448a81082678ee1ae427c48f459ab2c42c9085911a3d81c914f047ba46ef1a52a4983eba1113bdf0ee95e85cd23224cf832fe3e916d3bffa6ddcfee0926938b2c51c8904bec4739afc4f07979cbeabd514be5a2b87abec71c7a2b39c736d776442ea9e95e97ddfcad4c4c3b41fe856f81cce539b5057abfc6fb1aa153316ea4f8e76b8dc8804ee10303fc2dc182f7ce5d907e78729679333b3b012574b4c7c613c020ce1388ad37ffc0f6b2330cc5edf7ce9ba80eb984b6da2ac59aabaa3a29172ed2937920f47c17447e6185119b9b38a9935658997b487735a8184caff10a8f555d034552fd57471b293f813f19aa6c2139877992436fd1949ebe2259528c91716414aa72ff90bb5142d2fd5e7ba12d8df1ac995408e7fb645a9ab7b6f695e4050500a9042253833b055182657915246589f8362203b5517b2f7117d2aca015fce3cc41c6b1bcb2e672db142d5246\n\n# tcId = 235\n# the signature has value -1\nmsg = 313233343030\nresult = invalid\nsig = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n\n# tcId = 236\n# RSASSA-PSS signature\nmsg = 313233343030\nresult = invalid\nsig = 78caf448aa52e0fe470ef9082842a2f99079164744e63b4d3637e5ff0760088ff4f3f0e047475bfd023ad8b50f0f3d83d0fafbbb5db1e5edabbbd72253e2b696cb35705567079eadfb5ee3b442a7d13ffd92976c7bbc64e91d924c87e409e8dbe460e0808a5f31737c4a379b27b42c01e2b85fb703cb326e4b7a76d9446a17c406ecb2bffb48a501bc9e98646e94394edf7ac02a4c141c76bdef99cf52d4680e0c23296684ee7d0e935fbdfdac76299afb3f7a221fe45a07be79396631b8db97e358a0f4c4b29163d19f76c771d9fc7ebb68547e40f95f10f93ed199da7cc776f23c29b44a749bf6bcc8d4e3d50ac3aa6a9d13064caf8d81a526055faa2926324f46eb1ea5d1aca239f2d41523292bfeba89db64bb20e3681820f03b5b0f7c4ae5ebf7657c626debe58a8615b95a873c7bf306ad6e9ad18b6337f0f24d89384556eaf59c1eaab679c7299fcd80edb656cb3bbcee67e43e230f30f704f4a3e25aff07bb636865ab9fdfd830df834609d07719cff33ea0528497947ccf398b4a09\n\n# tcId = 237\n# RSASSA-PSS signature\nmsg = 313233343030\nresult = invalid\nsig = f2e40f94959e63e5cf5722139fc63dbac2712e0485718b153041e8c24af9ff96025b7da26810c78c4601fe6d3576ea33f3c041c911e8c7384ac86f062b0c77ddd03cf5cf91b35448326e04d65ab01102dff37c5a2158c5390febb0338c1c4ccdbd2510243f2f4ed3b762cc6f1430b7e0edf7da7b582bd963daf4d11416756309fba9ebca7eed8def4c538e081c966b11d1f2a3a7c52a9b134e92622397549e53a882f4e641071683633217cf7b0bbd4305559c40a3c5f3785c555705e6b67acbf7887d919c69b165b56e301367825e8394a54520a99c7742356ffb2fec914f968cf9c80af3beb72263f843aaeb5b32f476915ca6369984246ea453fa0d57c3dfffc76f8a072404b9aa5de9f8a5a60389f539d3de4c9e095f7fa97c1ba4253b7a3f0e61715774df20a73dd5acf30abccc2a05b3e418caf1b96baab1234a187c5c80ddd0ca0e35ae4f5afb7f9c56c7bbef028c79158d0d57c1dde1fd4c8e0252c372f684aa438a33669f4e18d087ac0fb36c780404ad22153d6de4f46f9081cecb\n\n# tcId = 238\n# RSASSA-PSS signature\nmsg = 313233343030\nresult = invalid\nsig = 7acc8cc66f2c221df076ca4fa898f98c46bb0809a612920c0a7b9e2beee738e4403ffd34b35911ff20a9a23def8d0067b34177d1ebf02486dc699133e4fdd0a58b7bb29a971cda32617b4b234a10ffeb5e154adbcd83c478a00b9fa657b264dcc998d01abac58829c208120aa5f78beb0594ec507b9f7ac5657ca6596662b018cbb582277af76b9630b30e6fcffffb32ada6d256bba86077802db41f2424421b18bb906c18fc081ec6066dcbfc5805a729994d839601741e7ccb7a5b6564be1033824fdd5172aa4621c6cce3af870ab7ea9d538f5ec3f7f2adf54d1f56468be03689c", + "715cfcbd8457f3b477490a55733d582ac7df3f087461112bd91c859d327f0cbbda4ba399fc7fcba66fc99f58e01fc6fdc7e77f6b10b7a624155b24fe2e1d9679400217ec9092ff6a037b1de3aabf66d3c997e46eb062fe64ab88433bcc3b471df2fe600e48b3056bdcd61be1ec01385402b33ae9ac55d8108b4b9ee1b15eae4f9f6471079d34daa33c24fabc5dafd18b86ce365003dad36c043bb56d5a7\n\n# tcId = 239\n# RSASSA-PSS signature\nmsg = 313233343030\nresult = invalid\nsig = dcd190da293f545fb08432ae90fd77e4974e5817ba8e7e858d95df30f90296bcd3e4ba1ba7a8e5b2fda5613b22cbf03681753eddb9dc975971ebf211c46196630501c5ef582a0cdbb58b8091ef5c4af1df4df49942d1077dfba75c73f4920231507b1b55ec73d1f1cb87accb52e46a0842199234f66b6489f050bd5b0a4da862801446242697802f23a221f352908e4a1d400f7f066f4560c8201c8854bc0ddaee5b45a1f1165dc8053e2527623c9321a412dab7c9e2f35db2b7f3a8f59f7bd4818e03598625be2033ddc81835308005f64d240d7253c1eea264426e49d4170acfbbd95abc48174d6c13959e3d8fea723eaf0623e4785ef6cf7621a4c65865605f1cab622a1a1add8d7f11266a7084f24c9fa1073b5607b90df4b786a9279eae72e300d1eeeb72700de66765d81f997d3635cc031eb8a962355efdc3937fd7fe3349994c5ed289d3656d50dd3844b24c3787785bd06527bc0d958850aa86c2a3a16eb41bb7de9ac214fe351f9424e3aaab67f5fd680622e690bb25ba967b311d\n\n[e = 03]\n[keyAsn = 3082018802820181008733b9c2bc754216fac899159abb71c5ca84be37153720040f33f291f5f7861bc122cafde3091b5211bc81ee03e280e3c6c2902ec49afb8432c3273536edce7116048513e9b33e2fcfe56f9597c81bc9be81a1b1d46e863ca11db2c33ac1bdebf7c552332067e2e588497e7d9e0738caa57a73dd28157e88fc202b31bbe3b9993548399a0b0df9b72dfeece75ecd78376227e9cd21c8d24ca4aa64fa50a59ee8e7621158e7bac2420fc0d77064d3959afab664ecda0decb8c979eb402795b9a562f2de310aa7fc6864469ac88867788c57ee96f6dc32dbdbe3aa7d3ff47ae4b78e1106e1bc80350b2383dae54140a4605f4130d7e5d3f7818262a27c76a51e4c6db4ab4590b4766b8c50ec1bfed53f0d716b5c7d9dc971399246c75ce27745147151f2e7629039f0b2efed99c7f17cda8f3c3df764dfb40cc0c2ad7bf2b6c72829df93329a4bad6be8635953dd10840888784eea738c763be9f5dc3ba47a9e9d800e21b4ffcc18193e591e8a5283192426e8867331c72bdda06a0eb49367bb01020103]\n[keyDer = 308201a0300d06092a864886f70d01010105000382018d003082018802820181008733b9c2bc754216fac899159abb71c5ca84be37153720040f33f291f5f7861bc122cafde3091b5211bc81ee03e280e3c6c2902ec49afb8432c3273536edce7116048513e9b33e2fcfe56f9597c81bc9be81a1b1d46e863ca11db2c33ac1bdebf7c552332067e2e588497e7d9e0738caa57a73dd28157e88fc202b31bbe3b9993548399a0b0df9b72dfeece75ecd78376227e9cd21c8d24ca4aa64fa50a59ee8e7621158e7bac2420fc0d77064d3959afab664ecda0decb8c979eb402795b9a562f2de310aa7fc6864469ac88867788c57ee96f6dc32dbdbe3aa7d3ff47ae4b78e1106e1bc80350b2383dae54140a4605f4130d7e5d3f7818262a27c76a51e4c6db4ab4590b4766b8c50ec1bfed53f0d716b5c7d9dc971399246c75ce27745147151f2e7629039f0b2efed99c7f17cda8f3c3df764dfb40cc0c2ad7bf2b6c72829df93329a4bad6be8635953dd10840888784eea738c763be9f5dc3ba47a9e9d800e21b4ffcc18193e591e8a5283192426e8867331c72bdda06a0eb49367bb01020103]\n[keysize = 3072]\n[n = 008733b9c2bc754216fac899159abb71c5ca84be37153720040f33f291f5f7861bc122cafde3091b5211bc81ee03e280e3c6c2902ec49afb8432c3273536edce7116048513e9b33e2fcfe56f9597c81bc9be81a1b1d46e863ca11db2c33ac1bdebf7c552332067e2e588497e7d9e0738caa57a73dd28157e88fc202b31bbe3b9993548399a0b0df9b72dfeece75ecd78376227e9cd21c8d24ca4aa64fa50a59ee8e7621158e7bac2420fc0d77064d3959afab664ecda0decb8c979eb402795b9a562f2de310aa7fc6864469ac88867788c57ee96f6dc32dbdbe3aa7d3ff47ae4b78e1106e1bc80350b2383dae54140a4605f4130d7e5d3f7818262a27c76a51e4c6db4ab4590b4766b8c50ec1bfed53f0d716b5c7d9dc971399246c75ce27745147151f2e7629039f0b2efed99c7f17cda8f3c3df764dfb40cc0c2ad7bf2b6c72829df93329a4bad6be8635953dd10840888784eea738c763be9f5dc3ba47a9e9d800e21b4ffcc18193e591e8a5283192426e8867331c72bdda06a0eb49367bb01]\n[sha = SHA-512]\n\n# tcId = 240\n# short signature\nmsg = 36313237\nresult = acceptable\nsig = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001bdd0c9e451b5b3e5513a94492dbee1ada9ea87e65a8cd95cceb4d304294ce34bf09a212f14908f5b865c7a34a72e68e389794a2d1c5767ba17829e2044108ac7842b6bfe0a5663b433d656f4e38522c5a5a23c460b898833828d257350e5814291b54cf13089080f84998edcacf0fe5fca0c1f8b176b172c5f9989491a039bef\nflags = SmallPublicKey\n\n", +}; +static const size_t kLen156 = 267661; + +static const char *kData156[] = { + "# Imported from Wycheproof's rsa_signature_4096_sha384_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSASSA-PKCS1-v1_5\n# Generator version: 0.8r12\n\n[e = 010001]\n[keyAsn = 3082020a0282020100e3ae7de5bf44de7d357e238c8dff063ca713470777ab786b495884e7a9ba1dde65de7d2b5be3f2b7d1830cf6ca8ed5c05d3f094aaaeb1dd2e4b2ede08613109a9ba34c7e2bf8450225974374459f16da2c14192c637985febebbef01f0381e78d0fd63b76038f5e3d35dc7d2243963366af5d7685f1bcfc99dcb91e94c93019068353122edd03cc3e615e17c1bf1dd7c43dae86f47a40238fb594041cebdba25f3fe9593a6c329b7f7c476eab7625d17ba7be7886936b733f8dce6e6c937f588da1315c1117abd29c83895d95988d17f9fd7623960d8e433d7c6841507ff2faac36e0e19a41eb2cccdb2a2c0fae966719a99d203c924349bc0eea1374efd3e23099b2d187922016fd014087520a67363687322b90d7a890d8f4464a8c794d2a3f2070ccd3b0ebbca2b42bbf8eba6f2c0bf8008b5616ee7b81629ebff97a93a5b861989daa10da7c8e3bc7b0cdb095f6ce1185cf8fd3dca035eb3e505cbe022d81d93945a144806b9fe0ba07f3ab9c70e72b5fb77ac6e4c7e03aa2dce7c5ef227aba1acd48c1d93e0e26f01e8f1e43aa97880d15d6c924b060d1face21d03a796c86301f4a74339e472b2f96cd0755741cb9df3535077381ada84d1bc0846a6c44c8a8d3cfe1b7a9913d1f3d7af2c5ea4e67ce0a7ed3c0058206fd13ad9ccad5a8212f3ecd788368a6b6148178c7c5ea8d6d385227f2c76a047216e5e206b1ed10203010001]\n[keyDer = 30820222300d06092a864886f70d01010105000382020f003082020a0282020100e3ae7de5bf44de7d357e238c8dff063ca713470777ab786b495884e7a9ba1dde65de7d2b5be3f2b7d1830cf6ca8ed5c05d3f094aaaeb1dd2e4b2ede08613109a9ba34c7e2bf8450225974374459f16da2c14192c637985febebbef01f0381e78d0fd63b76038f5e3d35dc7d2243963366af5d7685f1bcfc99dcb91e94c93019068353122edd03cc3e615e17c1bf1dd7c43dae86f47a40238fb594041cebdba25f3fe9593a6c329b7f7c476eab7625d17ba7be7886936b733f8dce6e6c937f588da1315c1117abd29c83895d95988d17f9fd7623960d8e433d7c6841507ff2faac36e0e19a41eb2cccdb2a2c0fae966719a99d203c924349bc0eea1374efd3e23099b2d187922016fd014087520a67363687322b90d7a890d8f4464a8c794d2a3f2070ccd3b0ebbca2b42bbf8eba6f2c0bf8008b5616ee7b81629ebff97a93a5b861989daa10da7c8e3bc7b0cdb095f6ce1185cf8fd3dca035eb3e505cbe022d81d93945a144806b9fe0ba07f3ab9c70e72b5fb77ac6e4c7e03aa2dce7c5ef227aba1acd48c1d93e0e26f01e8f1e43aa97880d15d6c924b060d1face21d03a796c86301f4a74339e472b2f96cd0755741cb9df3535077381ada84d1bc0846a6c44c8a8d3cfe1b7a9913d1f3d7af2c5ea4e67ce0a7ed3c0058206fd13ad9ccad5a8212f3ecd788368a6b6148178c7c5ea8d6d385227f2c76a047216e5e206b1ed10203010001]\n[keysize = 4096]\n[n = 00e3ae7de5bf44de7d357e238c8dff063ca713470777ab786b495884e7a9ba1dde65de7d2b5be3f2b7d1830cf6ca8ed5c05d3f094aaaeb1dd2e4b2ede08613109a9ba34c7e2bf8450225974374459f16da2c14192c637985febebbef01f0381e78d0fd63b76038f5e3d35dc7d2243963366af5d7685f1bcfc99dcb91e94c93019068353122edd03cc3e615e17c1bf1dd7c43dae86f47a40238fb594041cebdba25f3fe9593a6c329b7f7c476eab7625d17ba7be7886936b733f8dce6e6c937f588da1315c1117abd29c83895d95988d17f9fd7623960d8e433d7c6841507ff2faac36e0e19a41eb2cccdb2a2c0fae966719a99d203c924349bc0eea1374efd3e23099b2d187922016fd014087520a67363687322b90d7a890d8f4464a8c794d2a3f2070ccd3b0ebbca2b42bbf8eba6f2c0bf8008b5616ee7b81629ebff97a93a5b861989daa10da7c8e3bc7b0cdb095f6ce1185cf8fd3dca035eb3e505cbe022d81d93945a144806b9fe0ba07f3ab9c70e72b5fb77ac6e4c7e03aa2dce7c5ef227aba1acd48c1d93e0e26f01e8f1e43aa97880d15d6c924b060d1face21d03a796c86301f4a74339e472b2f96cd0755741cb9df3535077381ada84d1bc0846a6c44c8a8d3cfe1b7a9913d1f3d7af2c5ea4e67ce0a7ed3c0058206fd13ad9ccad5a8212f3ecd788368a6b6148178c7c5ea8d6d385227f2c76a047216e5e206b1ed1]\n[sha = SHA-384]\n\n# tcId = 1\nmsg = \nresult = valid\nsig = a454390b04bfdd69c4be2ad1bad96ec901639f0bb60df268415b4a93b4cd53510fe64f394b319e66ca8605d7d5f7a05dae5eff827060013503d857a977c09ef742525e43b7e69d3802a58206e696848a87ee17b2b9de6829044349036554c659c8f8866c401fe85869c0a5ea90739c4983a1561a84e4f0bceb00015a671f5283f41f0bb8599774829b6a2de24f14d83351c96e35ae1475c8b4bcd2cf66889237a206d147b0e949f2b2028ead379c74203017904ac09a5561a8ec343be22cf46c3bc2a87b12cf9cf6e8fb22de884bdd9677626b757a005d3745f387d296347d3852ddc2c4258cf572dc40df3ff6a8a5f9d8b1b410c54739b9ae182611ec01805c80b445d058ce2afc4bd58d87c03fc9500fba237bcbedb0960a1a02efef52b97cddac63b5eb0481c0c0991375735338ac84c0505415ad2bf8e7a819ad269460668ba8f8c879f521ec9dc709e406de023fc0f9129a3a94eb1f3af08d33eed6273e5166f31110097f5558d8d9028ff558e627c9c0db2454b134a82a9dacca5b4032bc0e27c4d41cf55e9d89cf51528bb4f08c6ee5ce651af3772f008a44863c851933a57cac8e29a84756c9fa7f80435b3b78486f9908512902d5461964918239c76b6790b780e09d2f1d3db1c59b275d20bb24fa4f518b25af3254b61d34ed8b444d3ca736ceffdddaf767bdc92b4543f68b25421cb8c1328f2f253e446be46d10\n\n# tcId = 2\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 909c1f13b544933ccf3bc73ff5053a8a65a8f01b447d4b40f109cbde29d866368aaebf46c19051092063993862b32fd166006bdd4d988794d4e9a77821fc9e684fab1366a2d988eaca60e4fa8ea947dbc4b8438a9fc036691107d3d0be52c46c61342ef8fb7e08032921c1b455c55de28d58c77c1eaea03f13c26c4cea73d14acfa8ac2907f6a775273e7686ecf4b882b88a42cba11cd1efa5b985cf5a227654e54cdc9e2d283b80d250cce553fda636279336ba13f7f3659d70b5b2995a2ac7b60f329c62790d8eed1c3dacccd0df468a91e767c190be41a028d4efc1c5ed5e6f3a77930f50217fde9ce9ccb66b75731957959834839fa3bdc1a769fabebab03d3f0e605a12aa9fccb2a9421591a7427d82068623582de592935904b59a42e59b50419cd12d71da871862149a6500ec6870d989423346879551e506fada7c0c01b328244ac5f2e2c5bcbf4b5b09a4512a0edc90fee4d4dd9eb88582bfe37b49b8d8189051b32cccbc4d300284f9e523674a601b1a725722695d5ef438b770b575b6d0955edc761250bcc6a30e8d5c7287093236f223c2da8d9ab7d6b58e5d0e9167f2e8c58255ed16b63789ea16046bd0f987b156e9898076d444cc7a4aadc76699a2e3a442d63ca4c3f92da9f3b2c4ae13edf9d4e28ad206ed0cbd2df2a46920e298abd1904877b75c1a9ff80c5bf05bc5d1ab94d379d064fad894918ce326\n\n# tcId = 3\nmsg = 54657374\nresult = valid\nsig = 65956121a818b842d861d0dbcbdef22aa05c7e94ce5d748308663e142881feadb85dc4421d9d01833b8b4c2713842c77949cee8b853286107c655de7778a5acca11afbf1d9dad429eb6a281c1e8ae1cfd37cdf530fd4f2b765c352bcea26ce44e2165c36553318d89b1e06ffd8a210cb988cbfc916a9401fbdaa56a1a2a4cb66ef00a3176182d33dec5f3625b760c37c82cf618cd2875079a36015af21d060dffeb5c9e1f4255d7fea64386d8d860c6868cd79ef6d7a87927753a78bdb63c4845306de1d73c5d7dccbb6cca9b65aef19a7b9e53d9c02a4a2bd6910e076959f9f40c30eaa0a6ef783c0b73f05566e4492e16b832729e03fc939e54bf0336d376a3b4cda534bee446dad3fe51d20bb8a135103e7e12220484bbe02e99c5803282ab90d11063e5243297f80d3f24ab08fe8f2fb62702b0543f0203972d35287ba64facbc635cb438a888c83c7028a325555f07521c3095bc4e38bd0f60eb90828319777fea2276e0bc76f2c13ebf92f802a08844209ccddd2aac1f2700e8a5107e86426e6ab76288fa01de18b8a63551fbe8705824d16e5190c559c7bbe8a17031e7d352a681b0418cb36423632ec48a8d3861136b250ad2fc72388e771b41849893cdbffe04aac4037209944ff3174f86f7a88414b1666727c960b1e54a2cdb82e39cf9f2661f4ad6e22f330b350eae7f588a623524617b1846486fe9f04abbf5e\n\n# tcId = 4\nmsg = 313233343030\nresult = valid\nsig = 3b35a042a4791dc1ac1561ad1038750bb9a575a7ff72db2ee60ba027f8994bcbabe41fed36417bd139a286ed0aa6c3ef2868a7251442d060c1cc67d4470c3ab7c307acb0c0641218a45b9cdde05546653850c2168a59f1788cd55dacd40afe38eb941ff08ffa8bbe609f2aa795c73c0368f482d53d691980891ba43b69f5791c2e6f70e17a996a299e60ce1c9d44ebb9f29e700e9ae216df749149f6c222d1e1733953553a792745c382d44f52ff404ed5ee04c41ac8acc97c250f9a5e3cc6d70902d51e8ac000d05e36279d83491dfe6a40f222bc1dfcfa7fa5e0197cf47528f77719e007b65ca39dae17bd0f323b00ee63b66401e2ec5f8917ef600a41c3a61571a4d922c0b0ad0a290ee054ad15e63f1a0cafb749f80cae6cbeb06be62e1608b502182d247bc6a37abe5fd750ead8b7216a35e74b969005309b14be36a31c5e6c2266701d5afdb5ca2314e2f32ae17387d8284ad2c7225fa63ed47e7245a65b74f53a5bd22654b3878ed09b1e5e070bc20eefac6c95b006b8f3e613b19f518c48ee6781a12bd08ad36ba384d03d3ea3c4e0b1facc39741f9ec73d0335d2ee735355955ed12cf8b999d155d389b1a3caebdfbba32c883ef7d0e112d86e6149a3328b63b9385c68fe8a7b679e8436aef7466067a8e8bb49e31675729b3f448e7dd3c048973d2a5f8f7173c4428f3982a99361fa691d1588e39cd4485c450158\n\n# tcId = 5\nmsg = 4d657373616765\nresult = valid\nsig = 09d8512c4667994623530a2317bbda738eb8917bc80c84b64793351463da171bccc88b95049a57ccd917a4687da3be63db21b0ad0972ed9ed182f4ecc8e06647675340192a57e6591eacbf15d2f5fbdcab568b16ed86e668144d9e676e55ec4df1dce61f672de9f53d1743b72993a5d21ffeb7ab58e0f83e297cccbf25ed68c70dd8441c119afb6c07fb1d83edd9bc1ac34046733c8b827d002c3b6072d74a6c2cf7f1d968e9f7b0873de8ee5adf902dc68fbc93171", + "f763c425964ea6e3af6691f1a303ff7837adb07a09f728de3377fff74adb34c959d363db650fa5c3035febfe8c62a0cde3d006a9d34d51c5b2c4a1dd4f2423c532c6b5fddf03e0a05fdf8d857f98787d6f55f0ce1d0ca95a37177657035ee48bd4f39f7d520ccc48ee999777868b4c3876e2242f59b725798bca28ae66c267c507cd65fde612c1fdc9362994ee31134d5561ad7c3f523858f43611c249cca3c134d00ed966a82b800da11add213731b58caf232fb2094e9dd42ceaffc7002f1592e79b85eb6e39ed5de8484f5509e0f54166426095e8522f88363fd0dd7bf64414011a710c7834958c0aa308189819cd4488588b84729dafe163e79856b913ef55afed55e83ee5b812579b87cdb80d5bc9ffa02ec32a0d97b0a56bfaead58a438cee53d40dd197fa2eeef4aff98eb5590163e68b5f3de443909769080c8a6bf87e3808bf265a41a3b79f8\n\n# tcId = 6\nmsg = 61\nresult = valid\nsig = 798f597e9ad4ba8b3d00a9527f4e785af5c55994e2953046a1b9062945e8dfa35eedb1e31af3daf1955d7b0afe74fbc53739b1aa02fa2dba629c31b211cd513e2248ed847dd579406ab603d3369de3bb07143a581734fd8b1ca0358c4fda639045be1f192b233efb8848bb2c544e4e188e0c7ce311bb4841077d15051c6f6b31998ddd8a7bd30d75b7b3c824358bccb35f8ffa8c0fc5ac37ed71cdd48ed3c0269a638317756bdc9287043be1b4f3c6ef6423f1d0d38857c195e7be81c3778648ab889474109ff3c7be0fec790d3f5f50b966e3df40c566f572f8f252d09e97d4c90442badf820c7db74d6fbb004bd7eb53c0b1a871bb9f480821bbb48b363c85c9866bf8a86de9c6732a3136f2c80e88a29540a9036b72fb8f4c898e7b487c41d0f693c91309bb3bc06f1e3b2fa9918c31ba2a4b82a37a927784a7c7d2aadc3301524ce2708774c3e2189ca188b3d85a33348d28ed6f080a06452bf8316d483e6a5e28b831797f85a8ca5ca922bcd94b9045f588ea9e15f2a20dd26817eeb80b3421c5de72db98843dc719cfb1aff1f927ee1df1bb718732159bec70d5b6d0f98a3fd5d42c31ecf4124cb1759f183838d676eca2cadb4d57f2d6a52cd0115ffec0fd79c99aa78df8c6b54797a590bfefd4c34e4c3f39750ba47f4d8002a131b870ff8e65c6c37b75e5c54c8a2bc2fdacedb41f30ed8bc9029819b7064b6514a1\n\n# tcId = 7\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\nsig = 41fa907da9f78e107b58ff6c4ac0e92a9bbc7f5b510260572fce4ef047c73cab3fb0d00b353b4cb9256dddad432c5815652bd83c78e657075781140de56189ecfbe1601f24bdce05c63f511a3d04673d24c4e943695d7812aad66f374a74a906177dc729090070cb5d6d518e7045f4cdece06ce2ae42e1177c46856a8425e60bb06040400c8ba0efb8d4f395a4377d4c2c128c68e6b30e358a73d9904d7aa1e517ef396526cb64d39b3b36ed7204b3bab1d91b23ca95b2ca1da3eee91c7d27b4e4e658fbf5060a79cce69be1d95252b0d7d7220797a53982dc371372969d4e06556507e7e7870a9efd9e03766702f217be1c8f7f80006c08d13e175040cf28b215deac6a1ebf3520a3ad9e91f9072dfe50c69d1aa5a0df73ad63f72831b055f2367ea35cfe676a4f7970bc85e2b58917d1bd449ed3d274ac40f7a515e261df3d067a277ae610e4ee4cf68b3a947ae8c8339c818ed10e73b6480577b2a13722023cbb09d3b378cfb71f6c86bd481ee09a1fcbb807338e968aa5af993697eab562aa4975562eea6b1169e86c75ef13e877cfcd4608994eadedea3eba55af19a7a55b19e92b974450a593cde717bf0d7ddbf0bbe8fef90816fecf86ec522a2d06a04ebbc50a1eafd67aa461a8a9cd705ece0bbb46cf773689cc19cd69607594fd2ebde06aaa1e34ebec001edf318fa22245876461fc46126172db41ae9ecd74700e\n\n# tcId = 8\n# Legacy:missing NULL\nmsg = 313233343030\nresult = acceptable\nsig = 174f3644f5380c9d804287d8b58435cf141283eebfeb4e376493b401b812b525dca70833fdf626b043e70a71a9a54974be4b77b8fac0c8cd8b5141eb4c8a906cb16584b385124f2d339035906572e446d230cb60a0604e53454d8d0cfc588c0491190e2c26f46234bce081aab2c2cf15cd1d764baf46fd8b154e75e8be85d54c0b9062ee266e2ec781f7dbbe8764eccd13da5c107b46829590f6f28f595ef4de3744050fa2f721c3fbe1afe8250069d815c63273cfceb77505fec5844c21ad8e60a73149e5d7c3018895967abe471d7cc0800030c70760bd0d3d48d61e7eb12a0a27a91677216d0095a2a95a37f3c86942c1981dde4f7897a4190a270e962e2ba427b4e630e3187ab42cbb3f9aacc9c0f2eac9a8c44f6d73f96eab34b74dbba066c9dd56d32ba7df087dba9e479582bf73d5941cc107cad55c6596d4e25e39a7ee3704228ef978307605f2872eae23d8f2fc5d8c088b482e15adeda22a7cab9d00578d143d53af27b04416a1c3841aa88de6dc4f16b8dd320897d1498e4effb58a6d87b8ddcdcfaeee75ecb9ef64e3db62c232965f556ee3f74d73d2b19993e9a9b8d6ba56cc87fbbe3b7fb7ddcb35184ee2b881d55e55a7803ab2dcddcd3572cb8921bedf958185ee7046b12ef4e6190a314012006f8003aca93f430d121df1ada316ffe0b1ef85706e36ad2164cd1e40389b2f36cf10735e68e15022097884\nflags = MissingNull\n\n# tcId = 9\n# long form encoding of length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 34e01ccf88b7b25ed56f5fafc89ddcb9b6fade81ed2446b0c133f6949e73a1d68134973f59a551582bb3c28651b34fff77f97e91d947a96f269baef355697e15f4999d3b8b173c66c86eaa546b44f1aa42251df45584a938b40c6f1b5e1f8c58ff74f96257a044b10a70bc5075f9769c3c949dcde889e3b9c6d32d4eee6e312dfa2c74318954770556677d1937265e896bf044b3c0a03ac6ef1d82888a5a010787dc4a65a855368532b092a5f6c985dd720966fcd407d465b33426cd6e56ac30feff073bd4c55115bdbaef71c14f180fb559fa4860d7bc94b52aac8d121d0c0ae4c2a64ee32d1a1086efdb4264f4f93f4e8db096724f52d608bc686eb55f3e2820abc4384af6e4e4a8f9eca4cb3e52c43a67e673f2610ded69df520fec76d3aa50b9a6556fcec204cb959a0ebfa6dfb868068f583338e57cdcc2d2603acedc48c59500453522bfa8165c8e2c63e4ac97b3d4d70075c857beffb5db8df58247ec4842fda08a093df5ddae1cad03e374a350a87961408bf4fa99e5511ba42a9059a0ed73c1c9618ae0a300399347ee194003fb81f6e905f0286e1467fc0eef2c5691c0d05a480e52ec578f77d2616503061530de1346d1a424facd2cbb9a7c8da38d870e5f4b8cd406d41421c959101c6eeee60e092b2a5dc717f2caf292c8622d903856a266e31c7c342bbf09f8bc37f67f576a3e8b963b88ebda9aa31d093fd9\n\n# tcId = 10\n# long form encoding of length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 5da09302fd2e6eb0695f2d027893f42d71476bd0ad8e1783f3015fda3d1b5d4fac1b56fbf133144bf82f874160a3a248e2c6a4da691a7db2110e4bd095d536e72fbde3b47ce0bdcca2fc9050aaaf2395686f98b8da83a7ad152b2f517125843b8306828a0d5ef8d4b3abb874373644e81755e7a929a33e98069c4d4d0a732b65c5b836c2b7ffc6a914ce02c2ac0d4bd5e67f7a395da04d8f24031d1bdad73eed9d08982216aac5a067d90311bffc2b109f9dc3ab4ee2c051e23880a675fab15a3ceebf15f114d79523ea5780d62a0785caddd3d345697b8a1a785b1488eaecbb863f8ba22a307bc835f3c832ce37de47a416136b8c2e559b38fe8d2b94c4cd376fbe209130206b53271f69789bd0f2596b85d9ccb000a15e3f2e7c50e8820dabdb36b1dfac83cf0a307ee46eca142eb747dd72972f0e824e9107f318036e83274ade55d53fb47069cc49cc51460f982cb712074082559bef436c501c968e1b73fae4adae5f2d7111a1741d1299869b5f5d6c831c69c4ab323c4e04227e435cf3cbfba1a3a9e6e6a64368027d5c385acbab0012f385ffa331db5decd358d44afe4d7d047ca4ec9b8f888930c1c6ca1a01106c8f7482ed80cecf0e244ee76e28527d8464f41395e949eda74e233282f50b6fcceddd3478be8b7825ac05f0f1f09617f31f79eacf10d90be50711b8d2c0a4e1f2062a3d6d4ab9ed05c0f6678f94e7\n\n# tcId = 11\n# length of sequence contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 10877ae7a63a66b8249e34557c24145c4a5bbce1b2d7191ed8a6b194b5a14c6f0c75e157772c90553632c4a58636aec356e50bb15035b7409084ba68e91d09cfa3d090e1b4e17c08c56a3d20fbebd483df984b5f800c7724c52c19339db62ff9b13b2cb38b1187c5927ffe5728b8c7a66d3f209db3e2a490b115e6e854bb8b5fb6e390aedb5ac7fc93921399824120a24c6dfe8b084845e4921c5bdc04f0d3f9dcd7896632252b69727996b325e99a07fddaf055328685035b629c001078c8182e4bc79155405aac2324790497ca082e0d9e6b2707a011a9530fed0fb0e2568a05ab26e3cd1e613d6cf4f10ee619f97bebff59df634427584e26fa81cf8efe07c40eb910a7cbe463eb568cbc0cb1992146fbd7280064a8189d22ee23283f661b9e980d2403e70753c1bca7505ec92c1d688200fe001d597874968d14a8f3d8edbe436a6f7328218b69957b1526d22eea70992ed14526a0415e12534af443a1d8100578be888bad5e2fa18638d77dc5eb177fbb12045d6bb2fc70bd4ac3d9f3a202503611ef6b55b005f6a39cf45e3a896c5a726f8eec1ad5b68624347be0b4561df68afcbbd665935b4b5219d75af0252849ae4bdc9ae89636f7d0bd9533b0a18f94fa2ec5b4c4fcb63a0880619a887b710cb92b3376a407fbc6fbc43d5794dd243c7d235a14e8cc3e4f786c3bd57f391393d05c283bd9c62104fe04cef29c75\n\n# tcId = 12\n# length of sequence contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = bd9586f52f2e14b0694a447fc111086141f8864f0d2464ed83adeeb0b702cc0dc501b899f0c1ba5acb0c0163191dc8f46e26631fa236289902949c087ef4968585a9daddac00fdf4430561fd81605f7f3568222da3c4cdddb9047dd529527a5d370c343dd2058d3dd3885157e4594d7af160e2443297a3c87c4214ae3ae2fb3c13a8ff39e1e804fbb39f3097b097a7d2dd568d885a5abdc3d1bb012349758e96b608050285ad3c80132390ae5fc9eddac40ca98d6db6463b8f10f79e4c4a98d2aa91b7d8d6b9c2536d8131a3d447a9622467e7170c66c72495df3f8cec11951db3cc6407ce75ef398581677753773bceb6aece44f40292d8de15e020523644acf0afc79e1381875b6a67168bf566665c4a4aab1a8c6a2a384437f4cd2b242acc8d8385cb39764dab2c73e2476200c2136e4904f8ba0479e5a6ece38ac8b4e99b6be4a2f12310b265a8470628f9d198d897cace6efd9cc2b8bd299696654ae205e1470521ec7ec74d2cfffd058a1bd1f84d72a5e13d2bf4", + "4aa8306d78319569635d492c639397d886222d5de46f82dcc5bd9736d401ba2920577bc71e7cee77b9395732317b849d22ea98bd5c6ee461d8275df4fa8a9acaadc3db528d7c53e8b7e797e6647ddf9e2259af83b4c56d63bca901e1f0ce5414b5609fc1edcd2a6a7121b41a2f3082a7ba6fcc630fbc7fff4bc2535920d6e8345e0aa8d6240a5f04f1\n\n# tcId = 13\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 23da245bc1defff09dc4a0adc58347ce419109e3002fd1300331a8dfbde68f4b17d7e65b8ecaaa69abc14134422b76036f4917b7d991e0f51d168074722a2f1ccd1b30bbd6f3139f147d29ef11a0da1204d4ad115df67a66d4d10509abeafd2502a6b671a40746861751e7e5912e23db05d0b3ebfa95f0f3fff8876b6f01af3dc3d5e94ccc7582536def9d40facb2c6d91e0eaef3ef7753fa8830c71e6e583fa21d423cdac47189337f8cca61044e492b073caee975cd3cd33ebd548eee68d7220fce78ba2db17ef8ae487d2ff06e94d3d4ae67e3ff9d3d78256403744dfc18c5649d529f3283b51edd7817cc3ee9a3d417d4e2e583f13a36bddc93f078cdfbdfba1c8cc486b50e8104f4dc862d4cfffc7c9209143d43fd7d55918d326f022db836d6d3ae155897aa4a12af78846c94e1bb42025a796d594920011945aa7d7f41eac8c0a42252286267433c0409371d20e312423062dea435283d3857a56d1b47248190b73b358ecbc998e7dfaa4f4b89acd10b05b58a172fa58fd37f07b707a978aa4e26d471726240edce522d4083477db37e4e230031cf06096d373d65e4e7fda47d421e4d000b722da6326d9e8fa5f09f2685f6af3a51f5649e99a67010bfb695f3f5bd8a6027ab1eb759ef0a022f5bd6775e5fe96aa22d9d76b375377e2b556199c940f0567f09899874e02e8b972940fc7d7fd632efa97a617c1d4767e\n\n# tcId = 14\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = bec4ecc1e9935d26a8a448266a6d450ef1926d3e0353bb61f7d84934d7c66d66b4441d21b54abaf9200257fca89ad352fb0247b5b65fc952f4d75fdfd2c04a8b440817cf351c4c09493191ede4d73ca55d4142f1c8abd1982278c60c2f9f5f2adf4a0d1e0ad8ea2e3aa1778a846a91bcf4ba4b9637e4a2ae49ed91379c2127dce0fe03048e78dc9c37b700089ab84b84cff7872fe08d0d773818e158b896bbd6075af6df1a751909dd1e5dad968ecc91bc6219c613a4ab902de6b0acc46748a30fef9fb33a335820d737fdb353f9e8e5378e9ceced5b8809906ddb710038c6f2c4e3c80158f5ea4ab1e2357bee7f01e2dd2dc81e9912d8b260ef4ad38e181d7f2d5b07287659e03351e4cee0f0cd4e4ca477415504a8e59168937958e3eadda0a9e366fc370c308ad78505a8faca416e94b7f27f60f40709959fe26c1c6ab985a1141537d1fa110cce115ae45a10a3498591800e81102097ff514551819abfab67d876df37e1d04557ca98ac6d9c14cde0bd2e0f9ccfd6e2571750b3a69519ff2630c5f1a08f22767e9500727433126a7da85d992cd14d4d946aafeb596f7aa8ea2239d1d5fc0556584669a8fe968c7d1ec9f35a601afc7d8c5e2620af5bb95fd922dfb3b8d013f5b87c3cb1da4b3349ab13135a13d45de49b4991eefe8c6f6b1bd409b2f827288986e986cf08c643420b160a642dc47afb7af321d9eee89af7\n\n# tcId = 15\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 6e5a44b4fe52c8104eb60e7d96e697c2fb0c7610fe17fe8c6d10fabc509cd3cb16bb4428935ec58fac84db83542ba166991f923a9889ee78088f0886deee107c1d0852ebcb295561c3977b2d69aa069e1c15e41d5ac47050b2221962413f9b5111a536a0a6c1762d04dd8ad96318964e34b8230564509e62d63b4bfd0dccafefc31bc44a0086daae5da89baf990e454f390343f1755f7db2bceaef0a310d07b7817a29371485d5abce1cb9b1e556b830e15b35de0b0aa977aeb1b6a54117bd787f7f9a64452123a3f29fc2e87256395102b6ac86bfde21c05a5aebd4862008be79eae34faaf324db09b5bc57e7e2650ba2d5a11851ef8c864dc5c04c58b132c208b7c579673b7419557d4bbdb47b2281129c72072d906e0e63f4e6dd55f3d3b2fc386a81a7b746a991a751d49d91a76fa4876b3c93c4b8e6bd9326957994354ce4d93dc93df5c5a8d115897d263857c702f2a95ff4a714d402c88b07caa43d4876ae5c37780a7a22a01e8f5a89ee1b50185a27318120a6d3dad156811ee818fa2d7b051d57c5a4f9b93a99dbe9630b3e301e94b04ff6bfd4361abcd95d86fc89046f66da80e29073365fcbbef0e7f29ea799e33302ee3a29792742f4a078f6cf86494c97e8b1dc2018d4a65ffaca21af43675a6461a4a8519e95f4320e2ce904f88ee8bfcc5d10a980684a2038b3dc8b34b5131995c684c89d01095b41b713be\n\n# tcId = 16\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 856accc6420e940cb6ae49009afc46bc43ce4853098a25631d172c30b2d94b71268949c8ecb721a24f1d9b1dd0448f2825268c3f62c39a97d40bbb36cc93f36f9e78c1e87ae7e217a3f0f3b96c20b99c96d10d8a06b40dab75e7045f484bd6537610f423345df4b9235be70874c3754dc9131ad5041da7ce7c61ede789d87adac85dc9318b82985c83143ea1194c07386ecf2e3af4c1a72722c19649875378b43e85b8251e769e42405f70ae26d94e7b7492dc761accf9d793f5b9e3619a8192d8166ecc53679dc2bd1b8ff609d698bf92c75ac92895653c650ab205a9233237c5ef111d71cd13ae2cabe6c71f5164e896e9659afe547ed1321a6cf84734bccc19b9b93d796b54ee6f3f5355bf1a8f681854ada63ca8beaf9695c5da9adb1705ef06b3bfcf2d35be7793c48c8d8d32a1e2273714c314670447c51065619558c8ae80ef286048ced7e53d3c7b5293d1145b337a0ec34b21dbd3e2bac4897bc657737044c9ebf8c9d8ce82a33a56785a2f21c296b18435895005d1a5bef8c496a36c4608b9f7dff13bc7a741217b54b8293e8b754e1f1d98f9ad74bd3334f381726f405130509b815bcb09f34b3c34b3340870e7702b54dfab81fe68c20e1d6ec9f64ddbb73ef0768f3ed80babbfca7eafe69ccbe1bc8db50ed35614f1b883e702c04612af87fe3cf48063068abc42f3dfbe6499b8faa57ab75384bbc47c0a83bb\n\n# tcId = 17\n# uint32 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 7658eabf44cbf5777f121c459c87744aee55b520f3163f9753d7c21d6487dabccbdd6a54bd8186cc5cd68fde76e6eaba46443ec0a750a1824e7f8e7581f7b57949cc6c44b5a6bc08d61178617c4ee99ec700053562efee3d8c7d532082cea526f6e0949b686399f15658771949cf6ea8eb455587fd328de1315180df149bf764ce52536c82b2d1e924e7b7cdc09d11f7e8e8e1279cfebd39b8dd64902206e3fe437697b0cde2620da6f3252d09e2ceb52a6bb1a63b407d3ef1a0ec2d6dfe7a413dd8e899b8da238032241514b44add07e2a3cf37cee9cbd50bbdecd386226b08020652bb651e292fb4ddf6a0cf8c3acf9ba13ad90e74055418d6cf0ec2dee44fba207a2052474c6e397a7eb30a021d2e44b343624657d4753706df893b031395d0cfd831eae47775b2a4ee21bb36f294f26a1ba1011d16d5a889edfdf0f69e3bcc10d85dd89f54318aa6403ffa0dd3711516a0d13771f04a23c7679a2fead20c57f067e9feb5f43729bf6351ee3bda720d5f01d56688ec2bd5f760977beab14b22bb72885e2b7f43572c0bfda433eb65e8f8c7da81414f96454fde33ceb6775ae73ee119e25a8f54a9cf33922fb06def12c6c6e3cdf01134a62a81412acb67b7e63778d675d110d8fbeef33db054737c9c99b86041e96a13bf064264d3abbde65af598cd60aa827f4f7416d3f3b0c622c038c7fb63ea7c10691e4900f0505a05\n\n# tcId = 18\n# uint32 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 5bdf25b34b0452928d5616140daed62cb7916283165722a98f344e2fb86028f4a5a6459227502f558ab0e6d0591f28bbafc7fbab5a5411167acd7183936d072c3192d73aaf5f02ad4d31d0afec686a6c6c73cb0426c4320b57b73cf6dccc2a376d0cdaa2b0f86f9aac6bdc3700e5df7a75fe69881e3e0573167f3b8faba3d7be21635e7dd10ce82c7cb74e97611415f7e283bdac4b186f7b0c4e9e803a9f19220f686657300e4ec312229ff8cf69fb780964d14c3654df79903fae9969058533a7d0fc29f417f98c1c62aee7eb260a318404e64164699d18a16bdb934e5beaad513d6bb7bdf1f30c89eebc2cc02e623aa7f52532f2e89122f50ad8be9cd3d6476d815e721b789f148be254731e4d5236a678a5894b939de88067a8f70c3ff5355b7a10c2a624d09fadffe29c97e6c2b655b22cbc8f99a1912539d034537f29c343e94d762496ed93072940bc2d56bc419dc584e0f984bcdb4681920d650eac7bac0cf2ad14457566dcb2c4165813aee4d2891adf8979bf38e6d7a3b80073ba04c35b2d161575edba17520fa709e2f1ad8ee43ff5327fb8f40935b7563c0a1487701e964b282c3e5e294b5d5cb570d18108c2d8fb9f9e2419bc154e1f865b2512bcff2424a690afb6d0f582f4b84a41e4a211fe57ac406db5908ac95a5a26d7de6c3d7b4b27d4a7919c8362293e8c8dfe21675e800794d31cb96d9a400c15df4b\n\n# tcId = 19\n# uint64 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 20dc09d6978139edbfb570a17a39704a662b77fe4047037275064346e761f2e198046a42ba19087fbf5f44977615a8c3d26950acb99ef1aabb32a99a5a069ba7008a0f8594c4fbd7010ddcdd71c2f5bd2ac972d4f2434cc662443e280f2e241f0c36ed47c276563763d09591c80d1c77fb1fd2ca278448f3d183fdc16f1d9acdbdf94c7a2408ebb7bd3883767ffd5f7a392ba1945c2ab9b03da850e745432f0a09c7c02e7065c8b55c3ff86b171b78b13c3ab933ea1a76c332a2690c852f4bc39e7e8cbff8d71f1d2e614c611e4ac5b9f6340fad1db3a3484fb7a295f9e7673bbaa8ed675da4915eaaf0b3cb882e9b9055ae4bb8ca513762c73a78f12f42bf3cc42c8e37eec06f7caf1da5cad92cda284d07de75aae9681cc4cc9974e2683d4a56a6af6c792f26a281e72df45ee3b2beeb7667e2b254405c3af92889e6add37aacd2e6f1ddb106d1e7de901f285ec7097b15898443d8f368a0756c2c937ef1ec177736e94043689d6ab04abcd7829d58e888335fc64d19783ef08544fae0ef5cda771e481217c09ebbc12e41981f56b68c4c9078172f575928c7003606f69c3d75ef2b397dddb856ad5625035c274b5bfdd6ee91045eb8aef15004160b98846c817cbbe8e608fb1426daff941e9f0d358abef9d8b52b59d3d25ff41a44cd1168e6ac32f09e86569adf3dd11c632ad14c43a4545575f4461bcc29122cbfaf5440\n\n# tcId = 20\n# uint64 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 380c5334185962bef9ee8ad0672b4b997f", + "a0d1be3fad6300732dede2697e5900230c64f93ec093263e62aeea76754223acc93faaced53e558a7147b560bc19638642ddd82d1b240a7983bf2d7c70b986be5cf85abaf28b51599e8d3d50d49abaede889ad06644982aa010d86f3f9e9332443bcee685dd90d2b88a26b41a4bb3675b6242836a168917d22a5eebda2800d65c33da791c3befbb2bc72a17976c027686f967632ad94bddcac0559e82fce6918588f814dcf65cc3137344dd84ae82c00469308ec62e9dcbafa501fd6091e05888a28180b8401a5a2098702e5bc3c8a218f608586c1252cb5ef81bfec154198f0e2af6993e4ad57edd8f74f1212f70509b459b1058584463b96925723c1e9537086356887b450db8525d04f4e53a874b0919e663fc9bf8bd2848986054d56f3766fbeaac550565c8736b65c8b21cd68c3497852bfbc6f9c83f48e787fcf2be244017bef9de6c633d2906bc3a2907ebbc177aeb685e2ffb25be2933c39e426ed28046eb06dd9f02fbf133887fc930b44ceb52a7e45011d1cec76d4937399cf5f5310cc09f847c04efae92aa80543be893dab2b05c30c9b46dd8f075d4d03a8f5c6c07f059c740fd557a406f5147573a9d92c0a832ee25959239760ca0453ec1aea8a1c6a2b332d2a9700236b975b697640082c6974047cb2d3d39968761202701420486e1e271c5ee495eeb7967bfcd6\n\n# tcId = 21\n# length of sequence = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = b32024e88a28fefc022e4d54eb5e820b5ce205d4eaabc87d3c8dd1877cd163b1bbfb3d3d29c3da78b98d31f2478e8cf31e5238a1d2849b39d4f074ec3ca96bbce4c7364f9a14c83e363ac17a36e42ddbf61fb6638a0307f3feb468ef526b0b1e1d23030fc6eb323f405c3e34cf211e5967c8d84ac436d1ef722650117eb5f74d4ec6e168bbfda7e372c1ad828160937067cf0bed8939b8af2289583f459e6a2e43aa942a78ab811c5f720cdb92cf6357f995dc3c176be981ce4e86be3b63bcd5ca84382031f16440c8cdbaf4327d914166af22321ecdaa02da8faa12a5522de776f23ff9024b60446bca0da45e5e348ecfebb7c85ee4952cf6b543019b5cfc9108d9edabed761b8522e49354fecfddb24fe08154250b2524dae76128f3364f78008a414d0c01bce320b32e8fd8bc820d4598e5a818014cf8ceb119e991722c95e2e4380f66d3e7a2e96b49cfe06dba26b3c6eb4d67f2c61a9864c40230df50b784145be40ad067c0acbbfcfc0d706b87137020317d5d5cedc0bbaaec40c16b5900541eb2c2dee9227f69a006db0554b7eabbd6f5789bddbfbc0d729bc36759cb23c47cb9b0428246351d254735d92816f8f1cc1bb2e3030fb8dec028af473a643997d621b06aab75d8261e9d6e17a7f1c222ea7b4f5c4204a1ffbf60a7a1989fcd0e9accfe8f53ed03dc6ec04ee4ffdc1ab63b581137abac5995afc7c52b11b7\n\n# tcId = 22\n# length of sequence = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 0a95093021bc15ab7be12947e892fc72f12f5cb76600ee3adc0e536dccbdd235110658ff7d1d63b242b9e41ce4d6d8d20ffeacb59a86dab7f5729328d3f5d9d886e88d344788ccd8ac4daced3d4c7eefb5727037d5c073b3abd221c95207f2f7344ef4ff95ffd65a97f4c60a3a75901a616c9af07571bbbc25a9ea3f5caf40bc2790c824b6b31685fc92438b735226c1a2f730eb8596954be137182ee9bf0ba68606006c262d7b24360cb4c08dd5e0d144f8f0cae94d691aec91e0efc1c92d0128ed99ea7ddae3bbbcdbb1669485593a5313ac42f273525fd8dd6337037635571f05898baa6db86fb576054c2f62f9ee695f7bdb54e8224cdd914ce9ec073253917563f9353164b373a7e3d65f3d7860c9692ad5ecbd58ba4fb1c0db705aa2e707332df7573c704569ac92942fc8d7f0c49e973a71a7f7792ea8af8fef8055db774ec12579c9f32809101ab0ad92ffb5157f26a18343c3594a3183d2a92c293db280fc4e4dcfba02b4441048498e3ba8ec1cf92b2f54157349161c90f7259e2aee6572218587b99dccfed4bbcb6fcb2cb9fb2da566d5ce7075e5a8e2932ba467fd027b63cb7bdcad671c1c84b7647598506ff0a572c1762f5a3d9d84860bbae6022e4578d300c507219185446dcef47300dc156fff1b1806e2322b46390b4f38d65c8124baa8af2439ae0d04534cf0d53f8ca768e8c5341254885cce7410a06e\n\n# tcId = 23\n# length of sequence = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = d5b62dafa940c5f752457503a90e75696688f04e3723f25ee50765f7061e44a4a02de87395f70f0f13c163fc6b458d3df6bc4ba862be1299858f065373d2bbb5d61c8e43c522cc92ac612c6d508593fc5bdd0e025458094689298a1e8acd76f2cc777d86a430c431c7b1b119c619399ae89a789d99a070e2abff83b93c2a79b8a066a9561021771be167777589612053b3810c12a58ae994ef56917cfac3fadbf9e0c5538301ccbeb566c3736717e32d358e705be486b19a66533d1898fc4771e87929fc25ed6e76f16cf4b9e8801a6846fcc1e63c700e809ac2e4347735a17abf9ac04f6a88fd12a14d36370dafe73e63c802b917b474c6b1bf9e39a052b4193027c4893757f92f6ea8a5bbb7abd4219d561dd0b765408833a84ef118d50340676f8e108024220968416c71372b74c5fd678183e632e814f286f329555a192d2d0d996d47a7de6ee27ba68540adc9b1318fdeb6e2eac326db64cbe4ec7b6e0b019c5171757600eddf9ce00a30591e0fba2fe9037e14d8db08be53de4c89b14849d09022e1b2e914045d9900c80db8af2985c19957c693430ce47f1492c1df5e43bf22800a56be0551dcac39c493db50fc4d47109c93b058c487689c41c5523eaf98e88b792740353ca54dad3f7fb0e143b85f90493716faf91a43ec5a640784e2ab58c5b268ee44ffff1a41b57373b2a6f605067e1323a6892a0f0fb73f4249\n\n# tcId = 24\n# length of sequence = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 7a4af45432969bd549b2425cfed92f2632f12a13d73f742dba27c886f2ed487ab7aff7acff1dfebb3f3c56b5ca804c3604c49fc328e680c3e1490e1abe753de6f798b7a4472dae1b7d992aef93aa1712fd2b016ddeab87557c5309056aad97a77a63c9668067560fe99973e78571c60e0c41f91dd9b6a6029cd911fa7f9d6145d34c4f49a46fdf0966b2994eec3707a84fc3a473d6d0279de1e8c02a50cdcc9a2784aa956d76a1aa11aceee7032a196cb03b1d374403700757c55363000553c18eed69a31658c77604792b2b9cef101d63c9a16db88d5572be93af8e1b683801bf058456dd033c12a7f4058bb9e55a8d318e4af0c3c62dc045b6c247c80a018485c27d107f6ff8d83bb234f902568085079a6c68042b724577ad18d82b470bec73af855d0b51cccc505fe3199bb7ebd332e7363f50743710a4812240114eeb1184a2bc79a33fcf69f29a61677ee15785d3b419f3d0a82fa32272b05b85495bf1ce2d2e4560aa0983a393b94b247350fac856b28799b84822567957a49fca2d4da6488c7216fff1d4895fcc8e62658643974b8c299bb05fcd46158f929446a536f8564a806e6b37b3058b2465881faa8157b7ec838998fec9fc251cb33630b1c5378d39960f3835b10aefa611bfc1ad0d11f736b9e56a434d2891bafafe8b42049626a8a39325b307c992ebd46f8e0a2a6a9f00f3d7e103fc18e7e6e624760735\n\n# tcId = 25\n# length of sequence = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 591963c2164e2ef706cf711051010a9bb0e6f3bbe51e77b211431fb7b818873b0f4b62da58f970aa0f397dc65ab9c5a2cd3cb1cd1bb7b10a14d56af37814955db4e5bafaeb5e22956f2adb8b37d7db4753414a7551c287d618967bcd138c79ce2a8f590687285c14ceff93e7acd18005e64221cbe671f2dea1ece956227893031e2b4241a7f7bad418579bbd261913be9033102a03cdc1e3f509cc1597863c7a685921ca005011ec59c22382dede35f94acc06a19660f812e633d730b6ce73468508baf78a072a6b8428bb83f6c5d11df4fe14000fb0d8ecb12f8bf4fc811c1218d2522930972fbb33e0bf4927f51f5921d58ae4a63ed7499761937f482a22ad45efbe0d64e6304be819296a551f958454efe0685b921931a0e5742c94b8fa23ef472d0b718ef96476f27aa87a18562041ba1223ea3401df10ac43b433ebb8f434dbbfd1cdc509956df61c49bf6205a61b36b0df718ae108bd41e91724048c8b73fabdaecae53429ab2b57c7e13bae23a148b39639ef331e0c77ddb4068b1699dcfad43c7170e41c2446011e58ce1722b8276cd69365f798e0bfefafef766e41b3d0b59c8af8ef8f073ac6f540a2ddd6a1aa8628ae5100f0a2d9e2db9eb449e3d5a1c7f01e7cd52bc341b38cab3b26676103e19800391569f73d896fe4440bf3e97cec301fae4260fecbe9a0cc720f5b8c5cd1263456186d77e5c2052870db42\n\n# tcId = 26\n# length of sequence = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 8e09ddeb3998ab05c2e49d3b184db86d9d4a19680e38fc4ee1116ab488b2d51d7bc13c45af9611aaff2e2b2278439606cef737361c2a44f705f4797da447154ab72eddecbdf6c0120597728983736a90ffb0bdec5787de559a58b187422143fbe160dbc1ab03cceab3ad8053812a68e9dc87df1610bb68b3dfebd7ec7fed78d7dba4563e5b1a30bbadce6886fcefeecd3f6e3314087a315c1adb893362a32831097b099429efdd2815085b78814a73ed1a99e803f7d10b522f540a2b3d02c6c5ae70f29fc35ec1ff6ec8a0779b6bfcf91c509d423118efd7d9c91fd011e678f6d7adfce905555c06bbfc4bf7e2f5b8e8bad468bcd1f2b3db9a346f68063032c57d0715c7352c48f1171d32943840f5ada9142c50f202f7671b5b4a12b6b516bcccd488c1717dc49025f49c59879a6494c19e2e27445cbe9bb2b3743ac8dabe1139465b8b81939f9e2fcc90b6432b1021a377f8ce728c2bee156d3127163f96be29af1a149e69a9d3834c60e7ad12069933e11e7d6ccb1f36c442ff51250b6c10502b37071dece766b5ed55a068e2b7329ea29b7dfc8f841a7cece5319a14749967b42931e27eb832ec749b9ad8b3ae0802608eaa1fbe4223993471f72ddb90704fa645cd0d9a25da15f2e4d79f949d0e6ead887c309c8cdeff60c5d1990f358ab933077dcf5e6c04db4388da1e93bc3302ae6b7e6efba0f8d3eab4d735513630\n\n# tcId = 27\n# length of sequence = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 4dfe3bd4db47837f8c4903e0db204c2d14c0977691f66b21b0036bb849c4688f1472587fc7e1eb6752e41ac492fb40ff14914565998ec30ec3d9963c24167002e1934ad79e9f772622a5d74eecce81fc5e3c02790771c3e44b9ba3eb82f3dae44910a2a5ccb3b4bdfe05d7d0789bbf79412fc27df50b3e7ed7e3016c804705dd24e060a60b0599714dfa46c4e229fc3380129b9e540cbff28fd367f6f0fee13ff47dd2f77c04f18ff123d8f0b02dc8979c9b7035ab1533a890e49b2e19a6122e98ae4fb08978af7486e3e589cb9924cd79026a3262284f8c8fa", + "13c8f29bfb2869a3ce1daa6f2513f939e1e9dd5c2ec8a8c3fc47f0620b38af8bf37059c24d6fe922ec1c9141a8e4804389e328607ff918fbb5e3de846479e71be55ccb4793365b985e4a2ac8b78ec2a40bb1f09ad5bf08bcd6fbcc3fc1eae8dbbc3f6f819e7e4b8f592e8e212eba13fed31483631e0bfea788de85ccccb45307e3a873f5088a3d5e6781eb5223d0e49dde2379b413ba1fce0197734a2a4f12204b16988d576a3d2de4b8f570bcbf5c5e008a9697e89ed47e837428d413a5faa1e98a73d92dae13da9802f615a37415d74e0622f30fb5f637890b28876da30cca8f36f63b755a8aa3f9f5a0490c250258200937d0d8371cc9fcf0cf8e22206a7086fc1e9335d496265a3ff0376f87724f7ff763f24c63c630a8da0ec4d762da5c4db57c5bd4bbd\n\n# tcId = 28\n# length of sequence = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 42b9b53d0b6a1013f99a911e61b527fdb2c617ca3df908c74c36ee5a8e856a4b803bd39823bf093e191712c7f6c6fd2e08b0ee793f681ea52205d0c28d8d9cc09d7eb42a5227de646665ffac349718bacb75db619f5b04e920ccb44d45d6386cd697024193e68f39ca2b66906fb5575e9f0ab9d30462a8ab6daa8da2af3403584faf6c5d90801a599f9f6ad6aa8e0b05f9dcbd5da4a816b0e2bf89999bf462f3da047c26c623f3f00c928a1599afd4b7b902716d81e37c82e37e85a6c2e2cd6945dadcd3b0b4ab038b2d4b864358615d4c2d131cd734581f4542dd9c66318828247bff3a5ac977bfa6b6e279a5f01c339ff3d77ab1e35ff268f0be286a0d8a613410be65079062dcf700e262f469295d3392c747226c2a696e4c1b84dff4c8b77149fb9ee79a5f423952df41613715c021354c7ae88f4637d5209f5bfc5d9079fa578425e6b29341c12f7776a6b6386900a2422f950acfebfe4750e60fbdd26f3a9be8db57948e40d340b9ff6834b0893a6f4cc5da6adad48096348cbba72204215cdeb1ad26f772c7bf78ff1bf6eacad8da89262a6a5df69e7532f80f665285cb93b9f69a2aa506d652eb08e6f2592113619e32e9463dcb76d2b21cc298a130379dc0b368596e3b039a5bad86a88b0054225d608aa3e3ba729d3fef1fb9720c9ec19fec34f8002651ed2467764617b0a25c368747853760c3b31096f65538b1\n\n# tcId = 29\n# incorrect length of sequence\nmsg = 313233343030\nresult = invalid\nsig = dce897567a75219cd59c02c7adef6038f5e937aecf7f1abb14163503e7a37a958b6fd815d088421610b669c47dfb96283c4e843dd6552598d5a10b16f4b638ee97005e13943efe09764f5eaa29227799477e4e10010d11dd09b9964d32d2c0dc5812c282c24d6fa3a2322f90a27d56f8d7d457b2c0965f17768a8c95c109bc73a0130c56fc1c8a2275e0216409b79dfb3c83055b1335006f76bf2eb629d6b2512d022c1683d0ef13af008df0db74cae1a415570ad0bef58bbf6f41ec3d69ef7f53f098b04c477a082bf27a3c4f913c88f5210618873f8deeb12ed59b758364ddfd3d1b19882f085a982feea5fb71594e78a61b0600ff8d460b29af6d155246c77de5e65866dd60b02de47722a898e1948d3e7f083968c9fc9ed995239525af099a51eb44fb95f0fd6f33045e38113ca5e8f38b7fbb2cb3002ee816fb88f4855c97ffc9170e5678d9693a246dad58e22ef4a28f98e235c80e26d1d5f8abd063535852f4c11b74b899a485dd262ce07ec03032179d14226a9b3ccc46bce3add8fb4df08c4678f252e55a972553514403e1804ce5f1e2fce2cc3fd2e7ff72b09d0a1fac8a51e8b4d7391936567ddeff3d1da45ae4c022a57318957f2a46ae8dba2b12623e8d681cfcef63829df00a50983666dbf4b7aa5bbd597579520f20aafa8ee0f7dc2383ca0717d22fb35ed75c9dd65535fdfe95684c9ad076a8dfa96f67b5\n\n# tcId = 30\n# incorrect length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 7996321602d0a9b5aa742393e774cae9e747a4315dcfd17077cbde30abf1bbbef88d208ff462cfaddd092242f6d0eabeb30638f50157bd844b80e02fb00ebf79b3d67f83534be4f0a65f244bd21b947c379c71cd3d75e83f26ddaa7e643c5ba00ecf7bf18a8ba71a5d200c53d70beb1781e4ed3a1421b0a5aa52333763ba5c739287a1d8f0814258b292e3de344030fa099af0ef5986145da163bf7a85473704daa88116b3a079cb8e4685dddefcf3f8cb39987200a94bd82012a95f5b564cb958aaefdf6f0e84eac82b93004ddbf4ac434357605141e0d03566ed55596c0a4f5e2fee6ca57aa85d454cc11b3f002521b3f59c7e2ecdf0e55f5152625f7f829c3172d278d7a7ec2fbc31ac6b09d983f73bf8fd8413555d91a99ba1c95ddd8c614e7595efe71136f69dc6903f28914b1127e6d6eaf473d56870221abf63977669d215dd7681e8b95fe6cfbf6592a089e69dc9779187fb88536f7ce15fb820018a4b05b0843a18490c03ba611bb07f02d1150ce2d5a2c87bfcdf83b196564379413b899912baca97e1d19c5af7deb1eb3991ca2733604995a2e8c801a1d813b4a65569238b961655e19143610bfeda30f0a6c0526774a622a15bf6d91d5ff7a3bd87ad81a85c20183e9e7290d49f0a5c2e080453906a5f1e67952d6e0e5097c58720519cc5b8b52bc4f63aa9bdaad6d8052fc9e53d670df191d89c5dbc2d7359f1\n\n# tcId = 31\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 7892f12ddbd48d20aba080f3b7c92cb5c918c416a2f71999c89e790e92802968f683602929f8c37acaf2e0a7337e85b5f0bcb9e2e9a1208921d578b24eadf3bc8e130571648dadc144e07f6decff4ffe18a944b8feb38474d9df08db28b65ec155d168f37371708af138316be70103e8f4a8b372ac0d3a9ddeb3144db05120899f8759a37ccc93d0c0907c83e401f0f3118a76ddb2ef14c62a304f618318e2fbee1d5459e48437ed45f5c5efcd8a85e420d350f3c24dcb5f0feb1491019438e4d8f49317f3ec670eedae0d22fa6be70ff190057bd7c9df6411e2ae7cc0f35bec1066bc23d7f2be90b779e017f3b9499b32ce12547a98cb50403620eaaec33757bfad20c55c680fc8e5b0a9d8d9958b1fc377fd34739369cb9118b8ed40db29864975f4451abc2f0c9513ba1d6821ce65c05a4f7d0af7feb9267c5c890aff779b39e6782c3918521ed4a51ff049b8fe9e5d8f5cd9efd9e3b37dc3a0c61769fe25a3e75402121329ae5077b6e71f39ed32d6c6c3c26bda4cfda757bc42e5da1c9f6a99359fc3b3c15bae37528f1df374347ddf4684a5acacdc8de4aa5d7273cd91e29e84c75e197ea168004bed8038ad5b42343e88cbdd073baeb3b1fb7c8df155fb73b1f722f4454d649f939dad2b7ec93b309cc10eeee6634bf96b63aa14434e96dd714a72ffe2d581bad37ba0c73dae1dd23ee6d6743f457232ceb309b25860\n\n# tcId = 32\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = c0a94ed1c9b55121960dc8d128d4dd62753d5198120db43451504287097c746d74b6be35cab6db103c1ae88189d91ec2028b71b05ee1361eff41b3eb191c08488bbcdde888f91d296ffe68b5a881611a104db77b8d3f7dec932e542eea14de6b0946cb8450455e40623cc9869b92142beabe3bf1e50a6312dea264402e079c5bb78e2f01dcecefbe19958a13078492535600fb052860f673c4046178a7f14f4f316f476b595447ae6acd2ab098f6c9a468b5909a8ff758faed6f457831583e52be6577ac693f3b51984888d3977e5f1d70f46e49e72d0cf46cdfa99047a9b684a2317c9b45cfd450e7a470d147677ac0dfbc6447b6d1dd288ea5769b7a6d6d38b536d952d256a1f5055d058eb5d7d8da33c35e2af92814384ab67241422c2124b30c8289fe7c506ef960f6fd65248b80638060421d1f274d12b5537a2b99030eaa05571dae32857fdae6482a6c989e987aa874a2ce5286d16fea05ca099cce49538ee82e2bd3991ac9aef37cbd9f5498e86c742abfe6778aaba7514ad826a3f53772e9e740df5fa8c3e8f88e836f3f74f743023dc31a49897c6236b37101279aa77f605d6f3b0b4b4ada7d2116ef95ec2ea3d93115112f4542a5d1309df787a78295a0b2572fdcb3f0e1eff6c53537488ef7622d980d9a8a2e33a9d69232dba00a6496da1ceecf055b78f196d3f67c80cc6931fb7c83934d1d44a3749cb19e77\n\n# tcId = 33\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = c46b6e7c4963cf7d9b40d58052d59a10d3a4636dc71164158099e3d3071b7dc4c706bf3b2d8763ce7f31e7829092aa74d2b800c0274e4d8f203d33953a4b7a5624ad8b8742a2835c030bdb022a96354f930b8ab6608e8c83c889ac5df6c27823e0050c3cead92db5f3d9624d7b4af915e4215bd25cc2e3138ffa07021e5460a036f6c249ca842e8ae704a7c252c7de2291ce101ea28665ee436e80b5678fc84bf12c4bc81f35d813fac8e71dbbab0320c0997170b07e5f06426e66ad7e09afee86c17224671455cfe893c2966b1fe4ff0ba3db1e4ccf541567d7966e29b132290da4705e9769e76e7be4d9caddca5d2c1aad3d0ff87fbc136468e0a32583949b92a395d36d856002f16c251693f147dee1dbf90f05838b25aa43712c2d85dad962362976423edf11631c4099b4b5c4421d9686480765c87e0bb046b2502dc85a71af6cf5264e7959d5beb6e797de18c3fabc79dd4d5b5e6d8f5dbd852463b7abe49c8602eee12b8b0d4a7bc329722c79d57504239f331d27a62e63ad1a9050d2dc3940badda9c55631dab5ad2bc9e6bbbc8d920274d54879220989ebb6d5db5ed6bd2fa36e1510a76a17447d7b1d8d2e9787c3a98e9684622152eb4f65c04cef55670556d747db203aa62562903d5f2293ce38c2920afb41a0cd94c87cd5c75ba84cd5b4ad841c97f32489562a8571cb282b9047d93ef285fcb867be3cf7a878\n\n# tcId = 34\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 48821832360f4c8fc6a5bd036c58e36074e0404cbab3edf5f78e9a9a939b732bdbe5909d09d084fc47de1b6ea7bd1ee82d45167fa49934fa17fe2986bfd540b954990e8db0513872844da0b0b1aab4e7caac1ccbe6ca1a58d2364eb0fa52664082e92d7e05e9fb95b0f27f1a8c1202fd4d5a1b97eb61f4fc80afe72c38e5792f3376c32a01db7ade6704725c3697c65e4700e4b4c94017d2c169603b65388792de2ba38af6c758bf6456d61877ea3af8364e8634621e1fd8167c6af3255a44dc56e4915d4ee2fa77b0e1d3cdc3e1a0b2038095a6462b07c55fdaf5f75862d69dbec7db8d6e63b2df7d99f8b4a98093fdcdeeb680bd1631f89fd7fc667b2f7fa70d3794edd7dc70d3848fcbf47d29132fc344d52b058e99d9146ccdb0fa16b81abb1f1144659eb79bc0d3cdc159dfbe64658d78c0a591f50f88fdeefbfb89716d0c8b7ae983cf00cc0eb8c14ec18f5f7317393dfbefd81774f89171bc1b46e6eb0a9f575c8d31b3694184f8f121188f10560324a67c755ccf816632d143679661c0be62869b20c8b99d752255b67bf8d3f78185592185", + "52d34267e82f805c0a6381e7b82fa862b1af81f96e7fde3d59d1b1f883822131f35a3a7f8607a492066d4958a46a339640533f431951c84662604896f04be007578b8fa0be96ae61946ff4d3853c021eee29541aba68f08c8ec32146058745ef14fc1fbef93bf601afc1\n\n# tcId = 35\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 130eccf66275d0518cbf167b6f922525de36f21d9d9ad74483a34acc65da996d1a98825e1b39281415e8724533b5ddfacacc7afeff1aa28e1cfa8d079483d35debe4ffbdd9cfcf06ea244266ce7444ad91e66fcb1d4fe7bab93d29e69726f6fe45df1aa684304e160c2db01b39628b4a69a1ca48305628d3e5a82d7890a0bc44354f3b640473c8d8f82a313ebe86b07935a94e6ca4ca06170227984ce2f8d20afc9858246048b96ba4d7b62f7247bac17c8d130046fe50e7abac7e8acee2e02cf68d6f8853ac58522751853e89eb36470d8255f43924138640d7566d0d2d66d07d49d2056d3b09bca497ec882c6b6010829f88ff48bb526d7215bcc5613c5b89d4cb12cd9d41761e16756b7164b237cddf0937797bff6020a5158bc3364afb634d0c292df068ed29f5e3501c1aa6961566c61d2641bd3f9012c2e3e346537502c50688ace379155910d98104205f1bded745f40ffb766a45dd90d085eda384fb3f112100ad27f437e56cbf4e47180ae2d6424172664c11136986ed53e5aefef07b927b5c46be8c5849843472bf07e6c49f2f68eb6d619460bf183f424e383b5c858e36c2f287f5c034c9e60ef9a92ed861abba9c057227fdf2daceeec04faf1680751285615cf03734a8b07aadd81f5762776a235258ad5962af2db8c206552e9ff77dafe457572e464a0dc324d597f35d89e0cefb8d0192a749c8ab8856754d\n\n# tcId = 36\n# removing sequence\nmsg = 313233343030\nresult = invalid\nsig = 4afffe50d1173d25bbc0f2b430589925e1cc85a5370b32b3dd4cf051fa80185552ce457146372792abe9238bebf6727e8da06c652ecae75d1a33b254a9440b54cdc0c2f1fa5f82fda4826ed0e0bf230690a451f14e1c9fea3939a141d354e2240a7d49d57d40556a84ea0b1e27f1914f7acf67865c68e52f406228a0be9d5619dbbd0b090928ebfd87a357d43218a0d63fb5e87cd85f4673b0cfa45d578e608476d6e6e7fb632399e5ac7bb65aee1bc43e86919d5f283ac30ad1b21bff19c5176b24a3c5991f098decc122c35e2f809b6afbf9128395d126350e2a9ef50130064c74e30e34ba97d33192069a286214e4d723e1464a1eeb804d68dc5408252f1c420b98ae118fb50e290b919abbbc379aa5a1a2cec88982feec6029a7018e2b6353b7ff5961dd6e44dc72ca97318806e24dde46dc0f1434c506e070e31b76f4b731661141604047e93018ce7a2cbf3c38b8234a30498d81d0120fa70eadf890ced155ad5d486aa4f1790bf59bd9731cee686b5d4d115bdc1245079defa9092e839ab567a6e741c8760f342ff0f004d6f71dae463d04053b98d5019407f0a885778f7c38d1f6fe80b743354fd1d4c5f7234821a41f6fee658500242763e339a6ea362db1e9cdbc7177733f17331abd97ac4a148c8e2c6dc7e6776853d37308f3a3fc1a5f2724ed1e6793651da7b6fe9e8e8198e58d8f8137a36ec5275622f1018a\n\n# tcId = 37\n# removing sequence\nmsg = 313233343030\nresult = invalid\nsig = d90cc3b01cda923057562eb11c013ec3cf77da6c325655a8965eb426fad34786b9b47c3849906135d4a7e9116ce1aa3dbd489345686fb7983947c03ae82ad06faa44c95b7df8a8bad4628a95b8164f75f59f21ae26ac70a3c60009a8d7fbc7f59650d96f19232f8c101ba3ed1127e89f2f8d10c4a8550b0ee5a163b3968c9e252f13a835faddb090d357386a96a0354ab84b119d8eeecd973129edade6450a95f3b8bd4ee32f20eefa54275c5f522bbde6906664d5e612c15b5b7d55beb1a36880bceeb0ec63e62c8f007a836f28759247f606f7c03ac934d1285fd8886540054ac8212f9fb55c01b2aa7d3726c4de0fb9df4eb3e883fc479e51640602b0d306c117f0fc48d71efbcdb898a2b553b39333d31893ac9d7fc2ba13f4334baba4f9f4147aa072912c317f229f04571e56f771873bedbaf8c7641213b06509e1d38e5191573842690bd17d3d16faa0e4263cd3576ae8e25da20037e4701afebbb0e3c5ba8baf2eba91c7a63601577406f7fead119d4c3f0a216f4fda7fa6b869edaff2683b52122cc60edeb5b5536c8583c39df7d1e0c61f7a5ee19ce7c879440258a6b07483210e3b50827d118d0386cb511ceff59afe6d6914de84d7a5ed447288e046440264dbb48dc9249226c92786b5210feac2318e2db91661d96542a6192e3fcdbef679be33a8bff8d31e66ea41cdae65d0aa18c3c460ce9731b14d967abe\n\n# tcId = 38\n# lonely sequence tag\nmsg = 313233343030\nresult = invalid\nsig = 7b6a7e872b1845f321814af7b20fa9879ba28e1e1433b718a6fe0e521fc8725e57e4ab0cde1d53b0dbedc5a0cacf06237b2eb795e89b8d2fbd0aa22711ad30849b71fd57d67f6eb6a2a8893d8ed68552c163811722b405330040917affbe2a746b4d13428198111ac3e4d63368ea2ee2e3db0a22fa04552d847a0ed9b43efa3dbd0b71e297c4baf9e30f94b06b3f1ec0553713460af77cfc71e537ea1f794aecb1105b57620042e75b248189364c27980f0e4b382fc54cb4b7b2028ee73d04aafc71e77e19e751b1106b3afbff80876da433e13e4607a84bd4e2de85cccfa94337d818d2100d8ab3818f7a973d7164831e9e21f1c9510ccebb4d4cdfe93212757ef97b40b947a10dc846fe5e7d5d4f492acb3284a318a11c12aa9c2828013d08c68f854d0ad9278ae1e88ba8d6849fff026126c04f4dd633e6d35a74585cb4cab87848391fd3fcc77412676ea5c85fca75d5247c283ab168b48173b7753bcd6c20607645fb51e21f43ad1cf5c1968c73e4da07933ec68829d569c5cc270cafcc83015fcb6ae48e6ba4b4542ac802f398428d969e1b2ba5261e9d7ecec0f559b54a6bf1b12727dc640c8dc70d71f2876227f5f1b2b8bb068e94140eb1edddfd4cec54e9b93e0d60ef2d36cf4fba069a72599a7f856f9b12de77ceb658ea7ab615ff3606804805de196309015e4d4f3c73e091e8fe24d9f49d0f7107bc719e816e\n\n# tcId = 39\n# lonely sequence tag\nmsg = 313233343030\nresult = invalid\nsig = 5a6bb1b516d2406cbb398deafa93858bf9f4e3d0229bf1b36baf7534265b53aec5c039c371d1fdd6af2ee2a5d6e2af244415fd630443cea8ba4d796f48212ee3fca5815712be72ae6a68f36b5124bb0d5721fa04da44e3a49f02d14a468340000e0394a8f2c7ac78801cde387dda6ddfcd653fa50534e204cd44c679be66f2aee499fecd63946c5b4885baa597ba16ce2cfe9af382879d68ff06139fb5e7d1ea68ba5bf4f3570a1912fba89d6dc5271b588e1684c8f0b9f20e7cb24916e87be1c4600d2e434b22d924260c1b934d630df3adb64b79662925b09ac8c66f8e74a49868f8a7ff23280f5a4d75c9711e59cdb24b3021c02e3dc993161ecc3b3fdebf48581b2984e87ced238cc797e8a173ed0df1b9a8461bb56348f272a43b2c8a065b83ff9fd80e78ab7aa6efefe603a3c6f7d1558c4e5eeb3a89673250a9e15a3257abca309774728813ebab2ae0f4d4cc4d703310a8df68fb7e0fbf58dc280c139cdc14be97cd9bdd8cfa2cbf14ce7cf94f9191b1077909882ae4a181b0dce8aba69c69beb752c80c7fa19025e3d3908108431b10e270cdc7ac75ab040a8f0522e890f1a95b6c1746b9ef2200400821dc4d85ce9efddbd51b1580377b36326ac6b0d88e0a7263c3815605a517cee5cb89bb118fc783ad3ed56700ac82412255469c38c6352b354a0e8d7a0d0a3ebb98791c18aee99962c0d3fee3d49180128f1a\n\n# tcId = 40\n# appending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = a6f508b757f7a2299a0f259e025b53eaadb72cb0132983fac955cdee1706bb1321463634f707ccadf80291a45663c1676b7e7a24fd7a195d3ae8b1f3aa42ec55b5bf8102c1691a9f6feb4d6462e66219a9aa1a9c85c33a3ed123a6c563de615027becf2722bfb00b9427a641b6acca929caf2201630636f000e252246d979d027c566de5815c19a06edfba163cf0f78e2a73b926ed59e1874848d91a03e579289cd9dcdae852cfc61db8fe0153ce966609cccfac151157643aba1677749e140a81c5d4883e68d8a582c7519c9a0fd3600b1f813afe06b3f5039ac608f5b189bc1c5b0fc2fd2b3d91e936298b312bcda6554a51cda97aa9f22f7118f565017f5690fd500ab90176cac20c0251c5f82d691c0695ca35c7a550e3dda3a20c7e1d34870d04a01e9ecd9f0391143021a1328c74bedf8394530d5868e0fea177c02074e1d732fae99e5ef67de614753889d00c11acc07bbe61c5081659e2d9994f81b1510098a7f2d59a73569c689c1881e0370e00eb9826cc95b74569a7bcacce467701e11424f5d800b910606c453c7e908d8357f0333b829b10d2621832b5067cef0780c8ef9a369ff32569ed2ea2054ed1e25f2afaf34b110dec648533f0cfb4ae8ef327d8341ac054501655235b7dd0e8aea8c93dd656d289e24bc80e90bec472e876a0f1d508c09f1c8444be6e1030848ed6a891bfdb97677d30b8f5f5fe2aa6\n\n# tcId = 41\n# appending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = e26e48dace9b39bb74735c99152cbb6703468744f52c44b21be6e3e2f9633842ef01ae9c38974b4aec38890f7cd3bd865a791eb47553b939c71979f16fe3b9d60c68545839b6089bccfbecc16abc2b9abfede4618d6913ec2cd7848dcd3dfd4c85ddbceadfd2277997e25239f66a3271036912d5974328d439b8935a10f84b04e29dc56e8f6cd851a52c69d658c369a2b5cee465b997c31320f3d9f8d578a25d28a43cf383064eea022780a28f4ad9f0962b1352ba441aca836189d2b01ac3094a68c18cb49edea1dd348aa32374e5d5ca329184d0139ad64a433e8899d41a448bab67f0350460f3bc081e32b18be25643634f3f5769e8c8c79589ea49a471ef9239086a814d4d8bcf53f1b9c9f327305d0d4e5879bb7702cf351d31e436888c63ad64ea53894c5c260dc7bcba2fc138c01b9320656a5cc9e9fabad0cc0f1e68609edd51538babcb4855e90debe0e57077860c4d310891405aab95c51c87d48d2ef276e1edba36048935f1883b69e6b09e84ebca727e6392d94d2325ff943e2d83800127290a6aef55c2f04faa862c17448952c7a18e6d4998d128459fddd24aa8298561e8af09d94f7ac58db509d376132c1133570a211604701a52c233896f20783b86d581474dad71aeb2a560d325d55e74abe17432143f7bae58d7948b2c743910fe3557731d75486f38bdc942dd1aeed216476ebe9e3b8833ef2ba97bcf\n\n# tcId = 42\n# prepending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 3e1148fa9bebf37e875a51c52dc509a08497b6adfbda1a63565fb63c0f2df6f463be90cdbebca587114bf1ab32cf3516049d3c6530ce8dc7b7dfc6a8c4a6dda8221bbf6fdddc8965820a36ceb33", + "fb98f37b0490caa2a9e5c3a1af0113d92ea9c6df0ea256ffcbf97dbac6316c6b5fc1969b5a3c390fcfdba370b4d802b2c3e53d9ddbddbc888bec7384322fdf550523e1492326434b77e26fa51e213c49606020e3547fe10b7949f6e734bb4ace65d1fc45b4a98b643cd0917aae9315833fc7114a154882bbaac999a86e9ca1e1f29ff2e4d3bf44aa91bee7ee18647a3ff9e033df28a9d34e1f3eea40c5848a39c29bd8b36fcf0264a58ee6586cb3e351eae22848e15a482e9288582c1505a917064db22909b81ea3718ff66c2551bf0bb72d210ae2c3568b71fa654993f75620a1e414fda3eba16406a6a74137752e0da1f9e264df5a025807547c72364682fdcca79dc040fd013b4b4ed3f83f5b2d729640f393a47ba0b4ecac45692ee7245809246b9f010896da355f4078ae0788a007d7fada58b9254e0b5eabe4e4749684c481b940a58a00db7d4e5296f4a5fcbf8a9c8f7ba51712ac64fb3f51fed9b866e86c5354b297796e66d54f3ada43948b5c0605b34ccd39f7c39112ea54d951c88b166c5d7190070e4022cf232161211dc13668f37f0b61602e51aaddbfa9c92f43ae42e057d89d94c41b0e93e27fd8dc8202a\n\n# tcId = 43\n# prepending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = b99fe6f7e3d7a622bc628c60f1a8772309c2ae74e906aa7e0d7c332f991629859edf934f7a38d65a586a646462fff53fb764c7eb9d74a599c7561834c7edbb186c95341d7f2832234537d8c7d16d3722da8de0c4ccbd7f68fa41e0cd0259ec3cd70f25993931690d467351b6d6e89eb59e36ee9a2c871b704800941f2dfca80e4ef46bbdaabbe3ab74ddaa413b6d8b0a9122112e925f193e0335071fd9fbb80486cb29683180a672bfef9e22bd992d46f996b5de54bdf8b3772282dc9adfe3b05b9365359223cf2673b701cf681bf97d9aea8f1425cbb8bb0474db547024220b3592294c2c08998061ab5f788ec9c1b6f9245e621bc68560446306d6579698350132a89dc650f77b334c2d720d5437b1e455627d2726d88aa683b93a17fc8884d0481d00765c7708105321d57f18d64c8268058c94787acecf693da8c7cde204feac0993af053f5a91e78ebee07072a4638eb27a660eed29c4b4183639c51b700eb11e7316750426da74c9bea545051959b122753be9c709ede76d5e0bbc21427f95f8ecdcaad7e9076d1230b363a492bd162441fe22210280982138bb1e9ada871ed719b7f9f7a36e4ff69a2ec2c07d7adb421dec61864e608613bbc539c1666bdd6c2daff21c170d692fe923651f2aee28a88a97b3ee0e707dab503337716cf1c447fbd181f71bb521c1cb10ff2c64d23f1d64c8e1cc8c0b963839dd1cc2ee\n\n# tcId = 44\n# appending unused 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = d9907f701a9e5696add73ff7055d62ade27bc2f945327aa20f2e36cb9e67666293eae511e11db7de1602493f321a8eb295ab9808c1eb2d0b10eaf78002bdd6a7e65c2d279280b0374feea4b9ec1772edd57b3d0bee6c2c43a9f6edb9c6cd4cf15781ea859eee86e1a354c277549960e05dad60b83348f43a2a8c16fa2735e8562a811bda1ac318102c2f349fda3827b6176918bb8d19aff195d9a7f15d3397bfc437869b322cadd8582945ddaa4ee0741614b62ee2d322015b32da2ae6f3bfb4a4bc63680eabdc8ecddcfa13d56932073f7f96aa5944831a0bee75dfba553e6bfae8cc67ca893116acf8e7a9920eae393fbc40eb34120ce135659d95ae285aa00f8a77431a9a8f83e48f0840bc9fdf891130bf71e2dcaf090b6a87d427816931c5a77ca04b8431c4c96e9b9240dd1b89335653de84615208b9980ce33588c8a145b373f4dae0bf1c722a90f4a21939f9d400f4adcee397a3fb49bfbd3c745936985400eb9125126c5c4d76dedb75c11b1c2a4388d45e1dceac5d467a8eed5cefddbc663ef3c8d853ab1e09022e89218b042752955ebfad1447bc113e21c0abe32fff54bcb2b68d8f18f7a7189d5267c662a7831512b5c419dc34d452b2120642c31c0ffec828251a464be1af84e18768697e88ebbad72fd3a656b1eab86efe5223f521867359aa9202ce7a3cd29e2e20763e660d3bf49d602fa15cb2411def61\n\n# tcId = 45\n# appending unused 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 8c1e88b818fe8bbd9d82efbe963b9057e1a9758a6d3c22c9724ef766c3dccdca775bed485ae98d8da9a1fea495b5146ab3106e41e6c73e79290be5dc0d2345af061a8c9143ab809ad84e42564e6484b9711317823af7cd16a88669881227ec2879d8db30f19ce2e8eabccf6d4274809c6ff9fa778db591937406e3221650c3f44e676e3a9df7a6e405bd55e756e3cf19c0b7b2796eca70d836327e10f490d26fd6cebb73c45048c9451c9490c3ff4966a2c48e5c41c35ff982d6bc6c97b5c99dd8fffcd8c3fcfacd65e9c4e7a3b3043134891457649770a622384e9f2c8414d40609f7c3644020492fb84ffc71819713867d45ce5611cb35925b5e1fce8274457ec3608cc7b0f13ba8dbb65d3ce6a3451b5f22d3a62340f0b16669c5d128ed1c93af2dc2c466267d7a09bf73961d14e597d221ef853f036878c3f3b66ecb34a519bee3ff8711207a0fb7816d2d9cf0d5c752c0fec89a08a6e724600f5401e0712296e8c6e4e7f585f72549cf54bbbd3e28d3499310390e644e89f509162e005187b9e52244acda342884dc7964a880d59e5174363bb3e84310fc78d7d2d2b6cd70dd6e01ffb9fea6567231a0f7114d5aaf8741500f834bb03e43e74a1e6515e64475bfe96b8ac855a107dff12d4b4f6f24fd7dc5d5fe254bce1d946522c50387be15c5d6660ffe3fb9ae1237538c5e8f3fadc3c7b984907dc0b7c3b902b5d570\n\n# tcId = 46\n# appending null value to sequence\nmsg = 313233343030\nresult = invalid\nsig = 568b017c1093af7eff04290be0619378435477999ece4008f8a4829fc668d0f75dc7c30a3822decc8df78da28ed12d1780c4dab154887609e2ecbed4e64b22970ec500567c6dcda59979d284f7944bcdbd511fb0e0f3850869e523c778ba53832e1c0806bf737340f7731c5126874f99ba0ddb38f3c2ae5ef879ee0728ef2a9bee6e08fc2d949de4b96ea8a6974b03804ea2574c210f06db4fff6e435c5b7400abe6baf9df97d56432d1082d46f98a302f2ad7ee19cf60d46103eaa1a303819233c62dd76fbcb0ebb1b48fcdbe462fe3dcc9d56b7ee57cbf07988bb6afd1a77f5795c16c261702fe6eadc228df8b4ac3dd371e10fef69f261b4b7460d174724fe9b676c91e24d62a996e7a877b7674d9b0cb01083077ebece7087004377a4450f3eb28abf73bfc3be41ca03691727b1a50409aa5321139826cd5ea3d830617bd1f8e40fe68b5f3e2c7d43dc5ef59482df795a7115a20dd58851c2bb42877507c099dd7a5cd29931ed4153970d4d1d29b36df95d1460f06396757657e3b4ee7b981c810f870702d48ed10cbc11f06595bf72386394c953da2e187a6db74b673967b1e71cc7f69d89747c3f7ccda9eb4f2e7df3b780bbd73ee75e873e5dc486991385c33b25a6ee5fb492bd51db6960e3c9452eb559413ba43140ee14d7fdd5fab8267320e255ef0d55e52680c5c518349d242c2ac2d7d0e3933addfac80e613f4\n\n# tcId = 47\n# appending null value to sequence\nmsg = 313233343030\nresult = invalid\nsig = 8770c11ccdf5fd9459f0361718db0e130720d2eaa098e8d8229c44d348b8c219c6af4515d33c86f620c81d8aa2bc8aeb4a6c40df8b8bc4a68dee303a0a1d67e6dfd8a69ec38ae7b09dcb4d513a2600e1107f55eccd5f5f1b95ab3c5d31bb56b3be465c3ae323b681d95be15ad1b048bbba2f5325a030098f2e0d54db13760f635acbcb1fa73dbfc695f62720a5ff534631108cb49b20ba3fbe339fdf1df7e14bc583b2166104dd053117a5b2b35b97a0f241cf4dcc6933d25bdad9f3bb5ae606d69dfc33b042f755c725296b942edcf87ebeb4aaecec9aaeee73c9bf04354d76130606f6e56729a459bc950e5cda8a147ce4f578796e3ce1b35d544d2536dddf97628e9acb3c2bca83acbd90bf6613d2bfc31c6895868c360de56b6087c1015be043a166fd67bf7f7865ad46184d68e500ce2d919ee4972c257c2f09ba1bfcf97a712488dee5db462e4fc964a7c7d7d99536f62c4b7ab2c18e8648deff7f2b21fd79a91b1d9eae5105d1dbc5cafba92ed803aa94fac2a7443787f2c22dd65bf1be7e40822dbc8897df8fd97668f997f716b460d0ca19360281886be8769da08cacf41deb7c497aba4e55ff2ab3e012a559420ad9e7730e9c218feec1ce64abe1f76702923eedc2b3b21c171af98e4540548102c586616e3ff5f97ae843e909d07b5b81a198b16d8a8b1b55ac21a35fc657e52bc6ea549eda09e53fd9e8c4f080\n\n# tcId = 48\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 0edea314cdcac3303b62b333b886360c775d9170e35dbb92d5b113e151828f8c244bf9ef45c607f3b84fdbe2d6775afc74cd8584dcb7b36c5c8deb47af8839c0cd4f1eb319bc88ab0a233f7ba897f96e60b506e83c42b8c35da4c1796bd33930c38490925b13d6ac1800e76a0ec011fea9a6b97cfc36628e519ca8e8422645f61bd26efb3e963f7a3eaa661487bebd9abf377ad9e9700adb2ea6fc60dc7186644afafa6abc6aac644d24efc726147a99d0a745c93ac5ac0d17a0c51308b3d4ad430339543cfc3728902268d024e35c14deb8454d39fffd638289862c7547653346a14760ca700350137cf900964ef4497cf10eda0035dac8d6cd9c1e8dd2410698b5fe3899c2d62bf8d7812c538512fb9ba593ec583643ee162174d7e2095575ea66df5dc6f970fe1add50a001a9c4f8b7f730ceae488d5d5b8fa8a08779a7ead3b49c6082790e35e229fc5532519ab6dfeaa190de89671ee7ff2cc2c06f0a1e056a86bf6c1aaeb02c3c50a534757cf3eeaf899a4866d67c31ff3c480cdafc2042bedc67d26de464032778e9db384df0664246d2514d72e1ba29b0003d051814c1c40c1ace9d4b2ab2d38415dfc6d2ce822de2fa3fa95b3f507130d7664d304f6b1d6efd67f817eff71163d9cc46c0b0069834b60e17948ee101d19311734ae77151c49f283417168518bca3d5ca2d94b4ed525276c363dc35fb45c06a0f14c1\n\n# tcId = 49\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3adb1ea98e1c3eb5412c117762e5b5e98fdfd21e7b51e4eadb5a59704615c2b2d0290a14385bf3daa87c13d374628850a2ac4fd9a1980a015f1a2cc9743d6b6c0e8190e7d9620f7aa6dd7171823a3fe92733921ad95004eff8a3485535fc9ed6bf2e3ff99628d1fca044bdbdf9315e6fdff6d176165b2520b44dba7c17c4f833228ca442bc76f96c957e13c4cd1e3c3bf83d983e92654a55c56dfcee9ce354ee4064a1ad3aad03741825b7b8b155f4ee164890ccf470266468898f8822c964a3f00e3576a4d82e680e0bf9498b291cec1c55c963f2bf6354ea30d17f26c755bee0030b2f97b8c0d6e04f17295df8652a1df84639ef453fd9aab01f1659de48368c5761813ee64e9ad7acd06e5a1f47a26c8fa9adc6af2868dba525b01fc4173fb2", + "4e918a1982974cbe2b341ba4056d412cc9b24f06bd5055bbd2da558223c3b0cf7a6dfe97b10c96f669280d69d6ca0fd72d3730b9a9ca6451bbf10ccb6ea80a0ee9896d1102f5a6364e54b4c3f7539c5b185bf90debc8403e060fda58cbadc305ec6055b221651af2cb18b2d1eea8f34e6b5f7bf3a4eca8cc172eaa0498528083913bd42514c832daecc0ce11c5da1fd7665c741f232cdf01024c83b4140be2f34b2f550511b5d7676710941d5363a2bc837f55bb6df390e95929e2ba1f4f305823c9751aad2aa6307ebb9980794c0daa95362430290d6b1e50161c3445bb7a\n\n# tcId = 50\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 86404f1a251b770891f3fbe1a6b57add1a0d6ab6137efebe6405cf37a00b26f0a5acbf61d0fd46524780d554cdc4d6c6f5dd100e3a2a90c3de522c5491fd433c559726e06da3a0ed73613099fb17c7b4d3234b152ce4e0e6d26220d49f5ebf9aa65d34a83ac664f47ad1e247c9a1f2916ee6e519c2b4a3eef4afb1049c5f9351e15e43ad8d66d0512edaae3dca0e43dce60cb523e22ec14597c6c1da3d571142b1369d2dcc7c829845f1c59d23d29389cff0f6ddedc4b18241d266de5658da7b49118623b212e69b891b3698dfd0f63112d7a63af1be9a8f8ba88d78e3eeb5d846f71c0d5f6ec192f70a686088953e6c4ee1e6463e6576fb18806209225da46eb55cd888812d563f8d0dd403cc8faa2ec984fb0000a8a847f9572f3a0447a2575feb220cb928abb019e8f624d3fa1a6aed2c46406dcd9b13857f08a69cb59a9ec936295f67632a04d68230da4452a4adda23c12af159f0b5fd5afa282b454365cb5e47c696a00e1102b1bd7d478d6dd35cc68a91680e6f7ebfe8b98086f1cfa0ba89391d95733888093878be7d83ed58a0d758c64077fc42089dddb2f4ab25b312ff2e4cd545a507b0ba5e98372c9f61c8f8e854cd455d03382f5d95a985a45e17b5cff6ad3e759e4c00fbbfcc73e1b2f695f9c103f879b05f0d2d7a8b89070ba578a56bbb4f072cf81db13bdb2cf4dfbc744677b1a175373d075533fc99078a\n\n# tcId = 51\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = b6f794713172695ae6a9b6c10489f3ad19fbd363329919ea81824c7e394c38f1498a9bed26e7edbe1974feb098d184af43cfe6e2ec6c3cf9b79451f96e0bd49a09a6779a351826461c17167f47370325599a30aa61365084ccd505e90128ea8f98dc54f08d0e2531fb03c109360c3fadb01d597ec51e98df1739737c6e477ba5f4de2d20025602fc5858900cb721da6818b12b6d9ec854dc5b0a4d472f20a7dc6a1ba15b55c4f5c6ec284c9cdc723e208a31c4a3a0ad5316af8a83839060dfdbe9e80e7048d4cf4c6c70ae1db30597d460ac727b41088e21a967e43974048482feac3b76d3fe25cc61626ad48929f83a3b17052d5ca36025095ee06e7a767ce2ebf40e0882191942ed7f1180cb0c449d8dd35306e3c3e6d03881568bbf4adac1274f354e345804e65bddfa54c0fc340fee750672f9a262ab2b54ea3d4c17b6f7a0853624507b320fa94af2a162f401a6898b2cdda7a2595057934656863945e8e3a11c4897fce95133fc4dfea279e94464889c58e7483116559909c405d4754dbca59c65082e9094d116bb7a6d457f9d6efd095882cf412f6aeb9c04fce6508ca47512fc9b802a57c8c9880f66c9092894217a681f636d284109f2ba1ecc6fc62103eed28c93832c9f5ec04cbe535ff9ac489667d48a1e78def8680c0cb81174bd51dae40df4106d65239935455863389026e123165348f46a1ec846c1043fa9\n\n# tcId = 52\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = dc886629819f93db9aa51ff96f33a3ed76a83f8aef11178e596785c068195b1ca53a951896558786b2cb3933ac12cad77197a94adcc77542acf2f0d9bb733ec6464c14dde15f4b1dd281e6256a9886fdc8bbf4d07cbf314e84692fc3571e2f26a2b7fc44f51bedb668d109a7b7181b2be96663e9bcfca0e8b73e79381bfd95e9ed7a1622cf1934fd18d0f1bbb81b000218a6ecc7e26b20cc9a8ea96c9c34742cb7243fc8135c89a8b7e793bbc433ef09f9e3c8e3a813b0831717ac076a5e1cc58f5055745c96d25422b0f435844bec0504022931b3cff27a4673cd687d071b0442eaef44dc01ce9cc24e239da85963a5ff50d16d74ae9b45418c5306895bb597bf64e0cd0a06bcdb2f08bb35e672841a092ea9723ed665129aeeb40fdeee7d843895a575e2dd757165247652b76ee39dd379b8a3c39db7f7c8946503f8b1e498fd97dc12f847f2f4ef269eb37e1d602b2df249ddf3f5c4a99ce5d0d4c131d89053e8ae848a2a6f281f7555fa2a61782cdbfdb6367a5fec9c61f5c4e2ee32003529c33c8a4f70e30997cc4a74c69e107aa658122c32ab864e1b33f7bd9bb0c5329e0d3195bff711972fc11a10580e16c0f4049b22a955872172f8fd4cc406485af45c34beeba96a23e78183a400bdd3a9d3328d5d2b3b9eb2da2f6f6b95f04b6da502d0b4b1af9704644309ce39378951cc86a0c277fc2a76f1e2c39a8a95e447\n\n# tcId = 53\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 5a8c242268d4abca2915e7ac989fcc7e14cdff7982763487ead667bfcefab1022daae19f137a8921e24e1326db1618757c3210cd67c72a893c09e112915446587367f7a7469d0cfc1f95e40fd19fbf653ae1ad505a71d12dadede3a15721d3c917d7822a8365c5724acb43f45283511a3e8ff6e5958974eadd1a46296a7737802d04291f32bb7bffeafa8dd1325173faec9e3932b45496f0aa7fde91b1586d695684c23536068f1017b837ad2b21238d7ede902808f2e756db620bf145ae62fb9de07fa748d9f0d98599358eba3ac24571d015e44dbe3f4227c369e551005662ca42711877cee27c02a341005bfd393eb42a1384088ec42b4ca574ff548bdec9e1125c67b396da765944d35654776043baab5dc6af360d799cd70a6255a5691cd5d02f6cfacfd6d8747c735750b1b5a6746cafc8237d33ad1d13037884a21b7ba5c897405c34e4ddd4ddffafde442ebf0e34e88b101844bdb1542ebe432ed438ac7cf7f6a1798e8f81c0c296e266a710e83128c6de317df95a01fd60fe899bca898569c14e89edbad7b847675e511429bf22bb6da4f7f01f832916eb8c92e53913b433ada43e2ae909bbb13a05c174bd8827cc181984066ec687801c325e1b694b8fc2ac14066053c20ab52f9e34c3bc4b11584ce3e5350522f1eccc7846541b9f4857a20a13caaffa99b7c0c7c7575ce63143222fd9bf24ee8193d087823a1c\n\n# tcId = 54\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 3ae7c74e597df065e162d4c2a183a7dac48f6281c50f5e9ed4382e6ad0df3256a29c9423038c5642c17d2d28b733c0cc89eabe1889847f3e883889f4c37cf61a812573f983fdb0c8907c4ec15a46efbfc66a3174e0d7f718ad28cb86bcd3de32912321882f342b47bed73b243d9c01003ed17389b08101775ba979f7c15dc2e27fd7c67249b38b68211373592c59c541b324c88271c21144e924e78b37a40da423f9b61c59d1af0727ffa6e90719c73230feef6462571986185b47dac3dcc73818e84155c9c93075e454c3739c084d952edf1a6ce208cbbd60595fc18ac560c095522639646cb6787930ca76b09fe40a13a2987c997f45dfa9ee981af3437e4fe92cb1e909716335142cb98b73428d0f86630d08b5b48b9264a869cc68c0c25f30774d145c5067646a43d161313d0bdcd2e4602cfcc1ce8ebfc91873643542adcea5806c7c52895d77e365a2665ef6bd2a49ea86a96833786ba349f2ed6eeef4fc5ad45af3f12fbd57bccba0db235ac56594d9b9671f9b8e5a5e94ca19d84ebf68c3d588b16f14dc8806cdbbf7968f67cd25674ba28e051f35dab89690834111a1bd2fc8c20c12a0b517fe059e2318d22882e6942de196d52cd1a63b1594355fc1f4937798060472eed1c7919d304e6acb8ac022fb56a32a0b48da89e09ef8578a53f150ac4796124e101c531f5aed8bf2a010638c90eebaef8b9d4cd6871c95\n\n# tcId = 55\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = b489aef0ea7a3c7171468a91132d30bba759e3506289023b8d414e5b42829e81ec7257392fad82d2d54cbc2626df4f906ad3e899f202df6df5428ab992c4e2c33d3b4812c3f9eba9d210be1845b37363698d6bb3713003277abb0363b26989a30c151a65a0589bb25c053760219bd2e68c4b5e0a999b64cf7959e05dc427a799ea7f80835b44aef449c4ced5d708a9e12f82d3f4340f98eb9836d1471d76975188dae04bbcb34bbf5b65ece044397d3f05ca734ff978cf3aecd6ef8f2d7569e7d7828abee068445314b9ab143edd70c347863909393d217d7cc35a2e3c12285bea6d848bf0cac7530e306adf3f128044b83e3e2a0cfb2d22feb0af4c1e93ab79b706c903cc0a13cf6bf17a7e23ddbd0e92b68957dd1cf80bcb83a76a9001136712956ceec4523d9be19c71f4455f2c6aaf2f6dbe187b50cdf25855b3d86242404c5544919aed5129f07e2e24511c794aaa75112597a792fea352e1c8230e7ebdb6d48089efd8b85e09fda8d8f317d88792fc7ec2e9693edee4dff1d12acd568c91239b2fca4b6d5fb7bb8fea899976a33fb0e72162b1c9737bf84992d210f6374010187afc02fc27a97e07cf6604d8ee70277189ae97da0a865f93307c8029358ebe4ba1b04a5e06833ac0e468cf1ddf04490884c7fd5b776d578dcf73ffc813ef78d18361c0f4ddaa45afdbd02f5c4e7082ade911b2c69d0bc64d6238cbbbf9\n\n# tcId = 56\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = cf90ee6813db19fd26a6fcde2185d2bfedf5dbe16a87f7b3e04379845855450091675187bb43cb4c8394a38577b88b750b3659da84c6de73c59c63baae39077123192fde07b630dbeb1df55462541a0286ad6029f93f61e954d9f3aabe15732d0130e530ebfc1dff8d846b37904ea72781ab7b8d88e31ca5b35940e738e6594f9c801ebacb2aa227f483f63d52d2200d42ca1261e21cae1424cde46b0f58973a3d73eba6f372637b3679aa31336321501f1c0b28e735829f841de63177c3772020cd446482a76c0700403859d9506e32c99afb0cf674a23c5275529467e65f0dd6e9b838493a94a0af4ee21719270ba83b19f93eeb7705dad959b837f2eb9a6c6aca8d6edeaabaa43175477d644fa4b2b3f5a8a243b19868ddbd4a199f0521f4f00b91399fedd7f7a45df6ef145d54e2019ed8dc56f207e1a4d116a2dec57aaf68b2b8b847524cc1fd208063e74d508bfe648dd8c3d909b3cee1b675ba8fc660cbd1010bb4cd7df3825c3b2279321a9015a1c88022c941db129684e1a7d2817e8b362e5d9aafac8e675923ab8e76aff8aac56e8a682a789487501076f664e16afb5ce76f550bcbcb0e4250791000585ce762594c2f48701654691b0d7b09770d7c9d4b24729d4138995654fed704c47bf1b3341552e1143788630be88d44e7833e3e76f68f3cc81695d1514daadc12349e5e4cac57453e262cccde41238396dd\n\n# tcId = 57\n# including garbage\nmsg = 313233", + "343030\nresult = invalid\nsig = 45c53db9a2345c4d808d6b309de82bb90b71431fb3cd7952a48d3aa90abcc9bb7801cdcc1ce324d9cc9314137219511dbd7d5f6195bfb78c85586ae9940ed29ed74ec036f94d440c9cb6750fa3e1389e3cf86acf77671e31c9b6876f80225d75bf18c2b52d96ba2274c91e1c6a0f18c952800f0a975a09e5b17aee54d6cc05438086bb71123bd403b4ae9e0523962cd1e0e5a36bb0411f429657ab0715269b6581c788cda17e806bfdcea6c244d156c01728446e12116e34d3739227817be078406660d8b84881150845aedc295cbf1e83bd3bd0bb7f2b397a3623ec49de587a4d2577e28d288931170a7a119a74ea9a1ad37e06f2913b5884cf563f4b367efa900edeb6948fd81a24877a429636dbb68d94d6a2a73514bdc4f198348f72acd57d022e295ba9829bedf756003818b722cde1e3e65595b28df3b95bc98a59dc3377d0bed0804221cacbb1f5a4f3f8d3eccd8837078447be684afffadcef59c240747172b30881cd960705d88c364cd022e438a1c200b98ad602246d5802ea71a0fbacbe62502ab0f1ed31da96ab5293c9ab6fa9b52674619d3525a4fc5a9d5ae32814f8f0e284a16d0b7917a578692b934bf3d62eabfb2f155328489f89f90dba95b2780419a410fc637b953a9d77549a877ee896977e166e3aa11123d9bd25ff54728453c4b42a5b493dfc88a3ea188d59bf48b8d75a608b8d97d198692483d4\n\n# tcId = 58\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 87f22dd5dae36089e206d23ffa45fa5f0b05ceed7b35b24558d9fde749403d1a90929a5a34f25b6ddb44c5e40f2084b77393edd5ad8cdc3bc2853a1054524838bc1a4f70f2e043d4397c339aaa8a8bbf918ba192b225e758576e9f3a0b20a8d3ce79506223a4b926fa1bc302b98d37a53382b04d8e76e4739689b0094812d82e29148e297b217173790751036cc7c800b4a80614a18fee9b4885ca841a69ab44aeadcb81ced8612ec11596aa136a2ef0457b2e2c4924eb87dbcfe51ccfb4d229db275d8b9956c4cdd572b0255d08b8efd9368c056f8f147d28690f1831ecf26d70c66533c87616ad1dbc074cd0d3b058e93a0b6df107f8d713161fa38d916821bbc12bb654d7d23c59175a38694a040d1ab03592153d2ef7423bd4f8eca5741f91ac6ad4f25e7fd47d1f41ce63a886affffbcf71ec1bef39dc6ef09f1928c35a4d126a75332a31bc9ff8219f16c1226b872a95f89d03388084a7e2b55f9c04211ec1fb59966fae3446f9390a4a3607e6fb23c366401131296bdd961c76e5f1f19eb25ff8d887cf5f0e28b2a95bd8da627cf4673ac32b368cf62fd3e7bc9e5d1ca78ee406b71c5e965251d8567d9abb05b16dba5cead301c77a4771f08e3b290ee778ea4d7c43666a388efbe5b1a163e3d14417c4b318539344e86592e46374c1ca1b1423fabbe6bebe276067ecc25fc453180e0b1975d01bbc037342cebdeb5e\n\n# tcId = 59\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 8d3e95a6d3e758dff6cf320702f6865ab1baba3c7bc01e5e6e1bf501e3766e9efc7a3e2c73d1ae06dbc4025219ea6275a92a4b361eab888d100536e620cce007ba3aa7a917f6e715e29cbeecb28308b873d5e3dd4b619c484b9a3d80567570e426b15942c30e9d39879099d2b6e483af3752397342b7d0fc4e556bc8348af4ad280a3d1b1ed25f18b866a8bfbed243cc5257e1b1e5b5a4527f26c99691f2be8bd6e6ef75928672458bc4cd4bd04220b81ee70bd0111041d612f66d57d8b33c251e2ef69d693777cc9fa8d5c9299d2643f7cf95f6992db44ac5524ac9f3193cd4d1bbd1bca5309a830d023c129bffab5441c406572fa40b22fedd76fd23b04f3c6871baee621cbd5dae7e6580a6930105f842f9b213580485b11a01b9788b0c27926f6094851345dfb47f5ef90abd14412173694b8a14609bcd35bb93f9c8d5abccf1697a1c81093afbd83b972d5424195ae6aee02a7c91dcb198440e305b265b1a6e11c1d2eab3bf7d2d4bf17a1da5694701501674838d4e5d79c3b005a4cf08a6bdf8cef2ae75b7e054ee6d15ab0ee04897560060dd514d073d9352d50141e2444c9eda715e68b8a6c24f1e717dd53852fcb5bcfd0d2957f83cc67a7c5f6ad9235ed8355363e02111925faabf8f78f33879b7205695217b780fbae9f69ecf48dd3cde100267a914a81ecd021ad0fdaf2a0d047df68a0a1bf73c18a8cee865de\n\n# tcId = 60\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 5d1c5c91033b1025d81faea8acd768139c112a3669ce1ebb101151ae257f299ba5138b7ea2ce123e927bfdcd8865dc09154fb2adf40ed7ba82d8e757ddf8363063259e8d30d24b169d4d5e98b911ced54d88353c7767922c502db33bd9b4f4dccfb6f5335a0e1839c31405f4c960b9d7a60d7827a405f3bab6296acfaca844392a2f3bb824029c209747e35961a9eea605b12a93134d0b24fd6778dc10699bfc160ab12e39455c027df447bb4d9c915ecfba78d6e66e904c5bae25a9fcd78b84690902dbadc14f636acae14effd84aa28112252e0706262106fc02ec191e891807be31046134ff7922f07e88737ffa9bd34732f87f3d459a53e5e061febc44daf18d0df04cf125ea93064acc3f257652ff1eb9aae4aea921dd89fc28fd7dcb2aafe5d9366e0f6a11a7bd0f67afb62d12efdb537298d787c328390951da3d778d107413b238ea66c766c1a1c3cc364679f8f99098a1cd2b7f9505e7626c6906c837deb1b1587e2c4b680c5a8133782b863fd4baa6b879a292312abe76492cfee03c20790e5ff7c768f206d0b4e3138d46cc515a25bae0d2cd9219f78b9b932a2671097ea651f709477c1649ab3c8c9875e76efac70bdc70671217aa15c6be247c367354443c7e527065fd1874d6edf1826600663eab61097bd007478396be2a2d837d44bba28766048aa02b3860b46cc71915798787ed59e06d836f46ec0c31c0\n\n# tcId = 61\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 2b5eecfb4064a56748b56fcef79277e05ec827298359df48c41c75a65355c23c678d616bf25f08f44761ae7dbc7d161543b4394c5687d762c85fadb0eaa6e098ade6bb80dfe922b88231fc296e269411bd40ad3f18c6afff66a4bb2599628aa6fac25e4eb996cdeabdf6700327f73f26905ba5923a98908ea13f326538e1423805b75d6637262029c345cb0fdc7c6acf0897f138eb3f7b7976fe129587d4485cbeacadc16fc31dcaffbaeb7bb51c49a4f8bdb15e14a3d0ba958f330ee3d7e805db7474c4a7bfdc7f26a47cf82ae35a589559ff7b39a60564a3fc3b9e4e759bfce76e1e2844368d6d92e0e8ccbe74045cb3caf0ffbc470fbac748f72b5455b9ee38a615bfc5009923890802042a4d273fbd51bb1b00d78904ba06b0d5c425333616af7de7fffc8942a3d42f79ea6b3c5c0696f810e6033b0504ae3db2c6df83982bea64c1d8043573ac3310ffc17e210ddce4b61abf164a5e447591e072b67d01537b525c5388afe87636011ca70a0f2e75f3afa289a1d9de2894e7f8377baddf252019f4770eb1d99d4a473e92f9792066c4ac9019c2e0915a74acbfa9cc8882a4ad243a07767e77246c58618169578ba6a24af4ef24fc0059124668ff988e58aa4f654afd81383ccf9c80e2efd7b7f65aac3369d4cab253d1725a414c169d5c25d08bdd809af264ddf0a0c0d95f1b3acc71a1db00bd3efff553ea78703e54f1\n\n# tcId = 62\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 68c8e6796c0cab6fb142bd411354b642469102ae094ef94e1157b704ab4be36e1580adf1ceab32e1c94a2bac154b11c0d80a84284a87d5e5a48ed09f08639be9c7349e2c8b6d52190a241b0afa60a4993981b12a59a38f2ff89e14cd8c765ffe7a07fd6aab3e66aec6b15ba042dd6576ba9526d8a53816a8dec33a81b4fc8b5e6c4447f4db261842c12cd76a3f145269c6a488f6c1baf116624e697270f10f8eec462febc798bfbdf095593271cdf47db347da18f4c470472638b711da67654a6ff54147ed86aeab70f6d85ca62c4a374cf56d0aada38e75c8611343b3bbbb7a5a49bfa8ac327c70cf0a16bf8a700c95fc761a0caea994b9a51089dd90d4c3570717102f965cf78d2015bb6eb19711d51613220be1c9a964319eda9bd767d8d42c6390b19f053e759e027cef3f18431dca9ec303c175356a597bca8807e72e20c71f5d18285e96eaa66ff632a1378d1a38a76c1cd7120c5887a8b2583d64ceb3f5dbb9a0ea3151e8c9e86140b8bbbc5e00b8f1467b1f7dcee49204cc435ba129dfc3c714f144f9b6322bba7184961b496039fb5f015af34b55e2eb2f8eae26c63a99e7b4a04b43efd61b69b670afc39f5e7d5806320f9a6f8c85babefb617df537e2228f85696dfe2e2cca3c057995cb838eb0f39a390f257241de5f1afdbdfb33df3cc1098db7383bc9b47a3c3c68c3f66b8f2028d4176c00556479a9d32d96\n\n# tcId = 63\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 523c906493b202dd0ce8893f31ad828c81f07140fdc071f030e6f44afea4fb067dfc44b80edad16a26a1a2ee1c048e1479924f114eebfef6976d595baa77cebce5f955eb34c9f0a6d4d2a0518deef00b8a3fd673508907b7c46e8326bb874f593ea3562489dc03315a5e29f58223a110be55c37bb88509369f84e218d538439f13d46ea315367696299f3966560d282a2c835a9479709242ca2f49d90a341192b32aea1ffe69a2d2444eacf3ab92c083e8593f6ba06cfcb7a0e843d6b830c7b2cb9e9bab1249348ec7b97accc6415c86353fdb158b2008a27baa12e08980f216a724bee7632c9c49595c47e61e565448645fb3b349699ea3a8023256f76e8df613f59364aef561cc970bbf94545518012d5898ec4106af592c5fee551861c7e96659e47f133b6c4e7b63631105367fdabeb3ce38c033d5a965a4dbbed1aff66104df32d237c0264e44cd938d4335fe5c67db6e8be9ca79373dec2631985854fa010cb5be92922a1695d6e47e013a0d7728f3a0dfd519b54e0cdabdc290f4b6eb2c4e3b102055aa1d9005520f00532a8ef3e76d6e6b2470f270aa2456c5bea1db924b863b9749e4b09dcd186a0e0fbca8b3b2f7b98cb64e3682659b3de80e3ad723344269e908c393e8f9b72db5776d51262e9a59f275e56e612c106182745d0e5e8d5299860e631f97b0a5356534a7724c5412ddcf52c85628ae591f40780149\n\n# tcId = 64\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 30b0c596ab84978dc1e37e88cc7af788047ce46c06f804c749322c0ad6bf2bc5608cf8a7aca3bf695a922e826eb5c3e64b46079d23457c9fb0b98aa6acb470de05fa612e9dfafcc492bead178ad8cac673420f5da5d609b518f1d0b9c0faac154b9310ed12652988fbcd7d5ce757d0704a5aa0b5144345f85cfcb5ee3138dc86cbc291713e50908718faa9badfeebcb73cef9a687db4b811d996ad92c1a9af7e44d875842cef14ee59d6a1f335d4cbb9e41b6155dbb694e15a1487d664e5c8e6c37956ad1292958502a1f4dd75e08efdb1ad4276fbc5c31804937cb175bce6e0", + "f734aaad59ef27c77ec6cc6267bd250455027581565cf91bcec27f62ca5e9a1e1b8b48fb47f91a086ed300c09bdf5e0a4cc36e7f4fa4f431cc5b00c7f7212dc321e9d483770397bdd8e1b22ded6d01ad2d12ea4253ae223c786b474f5751a046357d7caf4322e61ad55c2279ab06dadcff635fae5edd2dbb6d429759a173cfbbc8d3d537eb6cda911b290c0b0396b4b04bcc9a59a73b985b45f2a91612df57fc760a7eeba04ab1d8e728c7e2fc461553eafe21d2af3882b1cf95381c759714603e426748977294038ad528d82e8338f7403c78d78cd4d0fec8f6b0f8cbdc1fbc33f6d70f1cf792cb7066540768a44c4351319512ea70b20831b70682b96c1784316a1be737826e8f4022bd4fa84396f8dcd3ee4ba71542b6c6bf3b3ea9edf150\n\n# tcId = 65\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 824ca998fad6a19067dec5785be1397c8e8b341c82b70c02960ce64284cda341bb38a5f1f86a428bcdd7085e939157ca627a18a823b8e3acf152391a8bc1f527cdbea011e44e8450749f0bd28b4568a30ed276d3866d2ed3bcf48e1e1cc8d9687e12736c0de3a1c0693913e39152d636210a3a50788fa9dcd5f747505f48f86b9a406927321a62e006b5a0eed073266efd9fe8d942bc64d1cf32e525e7dd9a036fc4e7229ec141ecd24e0ec67aa0e23f242c04212649b7fb8daaee515737c0d0a1b24a69ce324fc690d6ea0195ffe3f6f8969e19eb7505a56661243035edf27007b6e63bd5cb3abfd755726662a09199ef1a84b3a759cd86c469c5a7bc672cd4e9987154486614688fa3c7763d608f09ef07fda12b257f2550dcdf77617147d0c6ac25751aaa9b8e68210f94c7b2022a7a2659160e74d9bda4d6549a2bcd0930106879365ad7b807bff9971c6083147bb10b89bfd8611a2e363d0e0b77193ee746203faf89acdfd0e85e9efced46c0bf1f7d61c7778a7b8c091da878b5309ed503e9986984a56c857783501237326644b35bad0c50cab3f238b60d6fc63bf23176ae9a6d61e640e5b01aa20469fe5a75613e9da7131c97ca654377ff4f08d32048c99eea9414bf5e60f5d69d9f8c8787e12a4d526febc52b585764df437aa13b50f471fb9bd5cd6d265fde61fe159c4cc709bd27dcb3f18e333fb28265e9db86\n\n# tcId = 66\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 844dadc18f1bd4b8bfcd206b0eb2163a3ac64e5fdabc81d17058fd97fb5c883af60bebb6f5a42e0dbf02cd66d3bc6c46787f581549bd22176d8e9b75eee0c10f64052af5ab3c02dd64fa87613b59293900fc5d2ed715d6a022ddd1572449233972a6b39b7c80ef408dd083e4f69ffe1ac2e7ec58153ddc52743c0a4caa9f58bdf44b4cf6890bfc99db817702bb44637a88f13ba92408d53145d693970ce81154124da6bd88cd96d731d0f248f76554ccdb34adf41fffb3c99c660ebe4ce501ab96ad52d184802ed4a66823d44b0374034841e4485909a7c7c888e01742d04f85bf9fabd39fdffacba9e97b3b6cfc3e27bb2530739275f3cd02ca0b4cc0a5b9485546bab8c101511b3d7f1ef335327b10b618cd7bf40a043ed02ee667d5e23277eff4b5d4fb51c92a82fdce10e412e03100c2667c084f54f3769b21dcf6fac728ef47fcb7f3fdf52b6243c155162fa63a832fdc4b48e650cdf17e887d0d37786061c5263a7f61e966a546584e454b61d2ae0b5365ba3fbdff4739ab388c082883ecc9385682c74c3057755ac90cbcac7dc296f795224a902bba9428fbac5cf197d36ada194a221cc6b36d9a93ec508dbeb9abc740cc736023c5298300f0dd3bf6edf0db417af44727807ee26020d33ceeec49efe751671bc06b5f4da2706bca7a0916445d11777725895f741a3e2d137349f43079a89f049f78b680c2e9cb5bdb\n\n# tcId = 67\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = c7ea4cf1dedb76167a8c96f7e42346822c6785c94be056d0aef3918c89c243d9a64adef8a7f42f736a19c3688c8ee5d013bc633fee0696408d28c38b9548d998677b3289c7cd8061751e0a7bed4c1ce74d85f66715eb31974f28640e82190bddc7048dc84f747bcb8f74f3567753da72e888e29c6dba6efbf4fd87940d3c707064fce7e600d38318dd1c742b154002a164eebe1e57418f30292f61ba4b2c4bde76699a0f0f069ab3949c2a97116636c6a21603d6e8a419099bcb19eaec3f8d6ac0c76c5b9512f7a0962297aa631e564aedce4d41f36485f3112e2ddc08145c0b02a87067ecdf6e256f70a34b483065c9d15dc294d1e7372c4bf45991a0ef9247d14c8de0acab93ea0b87892b103fb8c1823002c977a7d390b3a3d392c67b72ceec6af72b9f500dc92050327a286b8b9df09a68186c03a6fad8210184a551f6f2545cf86562d978e8a6f2aa697e059c1f37181769058ba7b199150f165edaae00f85a51670c2ef79e2bf4e8c4cc0cbfc5b430b763205e2f208b460b3b70ae504e08b5237c890bbc7312e61823aed4b6998abecf0835f6bab7c6fbd729143f833c1e5cbcebdaa7ead5b5a135b16eeca9255cce98983f3a9cedfa7a01d1c2fd179172a56cd661b642b52ef26a51e98f957c8cf4cd96bcab7b216a48267e661bb6acb328454d376cd3a2367bd47069b2daa01abc3e45dca349710dd174ca55ebe747\n\n# tcId = 68\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 19728d28c3d3ab395d47846577799244469fe195b59730a81e7bc3e02416a86a496d634d704d0a59dbe865a92090b9e37e3a5a0a76a18216f5641eee2a1a8e58a25d3c96500db282fbe476758bcd0bae998732332e42efd1c06db3d3d0dcdc63fa8955c06c7bcbfa968272d4c9f618d2cf211a156b19656acfeffc8749838fbdbbb033d6560bb2df8a07f99db7f18f850fd28aa5d89d1bdebd60fdba1f8b6044c946ab0e53a239e449674c5b9836d5f5a3a9eb1ffac8cb5b0a8714a8fe2e15b6e988b371e434b82891e7896de752216426e0769b11eb59c826856df058992654db6cf4e8999ad4c57d67bcf505fdd3b843d2daf0fc11016d64c554b17713ff838ca03ec5896ee6f26f90fad63cd44f78bb717ebd2c839b655fc5adf0e78018c5ebfc9422bb7efc669e4dd7ab1c306d328cd18e69d16a86b63f0b832e08144980c2e1d7a8c96636d4f4907f365959af5b5604408192d11311199f468ddecdd71e80d0e86f31f36df3576dc0823ee82a0bcaab62afff548201f054f7fbc2272c3dc347363e5b0fd78658db5c91475acf7d02a425ac53cdefa130e2686769daf742d05e06f79d0320617433e0f48980cf09354425d96334a724c1a3628e5fe437b486113bc5ddf70ad93322057e7cfac773fff134591e5133c18fcd49d5ba053ce021ca13744ab764b30c0233546d67b43bc253efbfec35f97d881c3e4c38fc4528\n\n# tcId = 69\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = ba6fe199b2287df8633e89b1a7f38d651092d2fbbdf6cdf6d852590557497bfe731ae99c71b145ea009b6cd17313ced406f0188f773a4e8bf0e351decac56c0ce582ba1924d2d305ca3eb1f10ad87c869bc232a83fd6aa4d9ca4ab22b83dc5964f9dc4a1510032bc409c037e2367ee5a7f6dadf02e54137fe04e84468c424a050e722848c594d3ec59325842ab1ffa0fa25c107251e6d86233e5d43e9d6cc2bb3006bc1b5cd53417a23e1a880045995abe2c6ce8e54bcacee477e6c99e04bc3740b1bbaa246217770b553eec19c61e3267f9db9e68ae8a2ef216c253a668905398e073ddff62075a7aa7ae9530e588f40c18ac294e1d5c1771997887e27d2f07d20ea76989cd12785015cee5194e2db5fb736c2582cfd0486316ff3d3f26f19a348af147b77cf6cdc6264a38761ac270c2ec5d857785abc53a3a5d6d8a05236366180eb7df08765297b384a8e267994b847751b25398671453aab2770e1dd2448d1285e078ae5a561bd233a0ecfa2a4a9264a132beb83eaab5de5c29d9b0d2aacd3b125279e81336700f2ba8e76e756f4411c4f76cfa7580622ea86fab035acda5dffa60dbfea9df2b03b9540a1b89076559cf5606aa96987a5b9c46039593726b6c19c70515db21760817fbf588cd159b7bc56803f1c275533fb59e4913ae2b7973a7dbf034d58b6948a4910b5dbe688b2a2e48354d19259edff55c49527412\n\n# tcId = 70\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 82c99abbb7e54f234ff2f2645d4267ba80f4b4cc7e65a52702f1f735bbaad8861c3d57052d8da51c478e2863d2e806f9ebbaee76625d07be4c49a0fd6e3f8c56f186a43d994bad73eb09ccc7bc3ecd47d05defbe45b5615cfaa2630a1da049f7000f4fc398ca1a969c9debe2bc244f7eca92374a3d57794d5a1b7727b74a9ac3e0343724e6e23cc3645795bb464e505888ba01a87b089659724e52a4fd308ed0452254395eec76cc759b0b352bb5481f721fdc21d4cd31548d11c31541628ff58d6978cb0f8ca0659b53312229e79c17183b727a60f482dd8afe7b212254dfe425cf54c48aad515cedcd0e1184ed757f7d5df9fa7664f1dc2b950de557af0a7ac06782487e40e85b2864c9bce8134ea2ce6112173ccddee031bd53bdb63491d596d43b8b1767018fddb26703f0e5d84fad73c8f8f6fab38234ac60a96c0b6a12619b9570f54491cf86ff7c00fc0414e6bff2ba0c1d79ec42de7cbf5a3237c890dd6626ba6f0b94ece47d616da769b66670cf0e787606903eee99f74f30d453ee0f03a5d5fbe16b1f4954e37af07880e779a913aca04a084e234feca996362a6267304b2133619f91a1cd5dbc87320f46fb3d13637eaade44846fa6dceab8ae8cf591a9119fe50cff61ef789dc2b3fd7996e82d0846a5db6dcd0cfab96bff1dbe14047b213ad6da8229cd281f47abec5c1eb24238eef1006770e5730ff270d168\n\n# tcId = 71\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = a735f661613e78684ccee436e49d78af41a89c325a5d2cc8fefd734c76938ada09ff8ebaa3bbb1f35546fba76e74782076d56cda9a43363c3ec58bdb12183abaa5c50f5ae337ea53af2dff1148ae87825461d294fe433711c9891011f64b2433a643ee850d2227e59a1322a318ea66e3516a8a5844ef87fc4ed961eb55c146b6f98a389455b97304158283ccf03df52471e25d35a9c4693eb51e326ca0a2ae719af93388119365dd06ce0d942a810895e1ed0427960148a6f9e9d65173933482d1babbbfc2f3053d6ead274529254a69a903d7f2d15fe3a347e9e737fcfaf724b7a7cc21d02048dac0e0607aa7f6a7a8e5de4edb2f81c25c7973f632bfd522dad78eb6c628775e12484fc72d97e6bc35b8daf68f48456537682797cb66d4252d01c798606e440142f25859c4dec2e916b3f006c14c329ad67e6fe4f13bb0522145ad1583aa49239cc596cf276ca2e5894e448275a474c9353d2e7e7095cdaa1cee50d967e459b0619d5e48e32c328e0148381ea3f4b5a8afbf3e33ab58b98209d5fe152cf43af042efd5dab4224380e6f209f151642290513affb63961864f35ac85eeaccb8804da6a10aba85eda5438f9aa184f96412a0e205b6b8baf5", + "52e0e89a338cacf85eabc390af745694c51e26c877cd0c9c0e38f83436219eabf9dd23be5604a06c2411a08dec7e15cc6eaa99899c56c8c9fc151b838b998e8aebe58\n\n# tcId = 72\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 0d7d84cec3b897703850d770826b1ac6f74ed87d4c5139a1121aeeab20ba0ad83447d7e767f2394ef5b8b28cc431ca907ab64d57d9419028471cae8d6c6dd76ad031f06b462d44f3c82052825bfbc4924e31ef5a89166d90402e082a01ae289d5a92b66ab26a9dad5f279dd39694f291f6113abb9337efdfaccb8a94cb49bed18e2a79865882d24074bd096a3525a6606ed00a3378f867a2ac2e81c4303d59a83871e77d4098f8fafdbf2db9a0e00006e9305dddbf9774d4c55ff925127df721679a0d701aeb8e987b6e061874b5a48a315a3758d398ef265fd7a14d76cbc8a2681bbb3f3cc3ef7ded37f99bf9862205b333d644945dff50fc6b20288b27591a204a415d79c9c1e1a088f9234edc4ecbe49e7951e08350ca64163d27d838433183086f8f5492d7a4c7e018006e82610dd7fc9b744419d3bca768709533e70ad77189a7190f5d1de2e55e31e68efe3724239b61dc8114060b69a0ef2a720eee08162901b05a005036752844caa02b69537efbf24dc522010c7eb53af96ee8bdb033678ec96829f4fbc33c94112c87d945ebdc3334f5b0fcb399b3733fdec76ec4c1d87b5706eb8294ef3f06877a33f311d5533180addae563c57fc939cb791404eba064c8f0009828eb2315b46c266d7352c563a41d6ff038258c94b51a710985ae678fba0a4731d4303b553085162d35440c453eb223d2d8cdb58cd4c348655d\n\n# tcId = 73\n# truncated length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 673e324d7cd249bddfd4cc0fecfbc59fc92528386045c2c8df3ab0673e631d675a321752134e30947ed7d5cd2124b2870f8777c32ef7e5e8c76b51d262acd2e0b30904140979ee18dc5d6e7e3d4e97bb75825ada5631a1036e8aedfb194de2aefefe38827c13d528752d5337a752d3938ccb492793c99e7a726683ab7dcd9fcbe3fdd2908fffac6d866b13c9617d272b16b35c73bafa10bbcb216f44a543a9c75e88ac85e06c45cdcdfc2b0cbb900dabc11de036fe22ea06d33bf844d1371681c2a511e1c8a475debd0701c67b6ddd907818c300f32fed341ac4fcd7a356d30542cf096bf369dc95e35b59aef2a7c0a3b91e7ed4267e059398e282caa40d4cfd407001af2e85c78199ce9065944d8effcb1a330ea5cf5ccaca9fc448d967ac3e7bfbe1f2499700aafd222fe743377cc91302235e6446cdcde822ab441d074adbd175135b0777588d5a08c6e4a752f46b7e1d24b5179efc3c0e12068567b5c187d327a44de9f8cf2d4346a309bf91995faad1fa7b62270665bfc9d7ab4e5e0a0bf8d86901e5c904170fbc818d2db67f7a341bcf44a13b063d53c81fd7f7c5b83ad2554e5e624b6edb708d0bf1a0b45b0c9a087bc711dab3018615b5f41d164330d5f95dafe67bc482dc4183e70d3e16a4e4d438a728825d30831eb95f59cc65649b4ee89c01db4c013d96265bc85a55ee62fb3360e4cbc08e9dd1986840e8acd3\n\n# tcId = 74\n# truncated length of sequence\nmsg = 313233343030\nresult = invalid\nsig = b01220c67ddd48e204e77994ffae3d6f96790f57837b141deece461202e89f15a4487990e4f5a703c1b24110aae87a8378b7bc5bc8896d51df2d10020ed3a3a3ec74d17db4024c2b23b7b7db958b4f8373cd3800f2acda5848c7d8ab163e54d49336fabc6c3b5d190a8fc78614b4b8ab12dda7846e4094b28decf8fe91f6f6133e2c10c6a8c27338f820416745d2be921d92b1ec557a40e2153bfb6f39e2ed4c462e8d6cea5108a715a857c3e0cbe905b6c9c71858a92aaad5dc8ee34123a8a58fed92edfc68053ad492d29197601994bf8edd7d1f1f86123f0ec55f8b8d15e1e0a9fdd78543f16a7b79a48dd9476466d57d2f0bf43ea4a153c093e2144e53e2fba6c41415c5f40b8a032e753995ba93082e66ab11e1e01321a66fcf65af2d270444f48f1e54f14bb271f4a5d206469ad1fcc6d2416d989c8a42c5f42abd525aec9736bab919ab5dd5bc6314e64d4c0770b963425dd021f90d9043192326974250ba86bf362c566a7012078087dad8c4a17b81466985baa51a306bf675e348c24d27d90a56aecbe7276d214f088313340dcfcf5e5f4400d6f3ffc1497c3eea09ebbd77ed8cfaea82764f2f9478715afa737b079aaa03cfb3dee6ee6fd219d1df49d4c8c7b57f24c8899804aea9f1c1a379616c04ab4b5810543c45f30ba1a660f1325cdd8592069b95196fbdc79c32da7976ed399ddc4948c0cb1994d2c8f109\n\n# tcId = 75\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 0922a02d38b254cfc1b02965be4db3b6db137a3fcc7414737ee34b1a204c575ee12a6860e84d8f204dbc67c6613e75ade8450364c05cd7945641dc920f49f92e0aacb59d04d7e302da6f030009305674cfd724946ef5bf661763585addc7081876fc4efbdbbadfd5d77a65221bfe2960b3c7f43842544cc97f3710ef90ce508096921a2e2c32cd55983b2685b2f5fdd7c0da5a2293ab6e7d47a61301222c40f5d64bc66386febd37c375efd2ee8e43abe68afb34ff2ea1236e3f1d01959625aee0e05fa40f95583c455322f8ccf7dbff80d5212bd8cfbc54a12cb6a689f8f4eb4977fc5bdb287ce02f7c5a714abccdf50efd2e5302a89e5654993fa09ff5e45086dace58eabc0f078ce2fce724bbc96b6de36ad9d0e5c4993f2c2fc416ea196b93ac63619f5eab707777a376d8d0a51d79a5c586b4469a54beffa8fe56b0ebfaba579b47844859202e5ff8bcc8660e132c37e46c3fe801aa614d50c9953025b338dc4d8cc2ddebc1d07745a7cec01bd9414d82892a3f4818c634d51c486b7065288e57ae9d1520cf02c397cc0296c674aa05cf671760f2f018b6dcb8db73f79f6e95ea2111c0645be64927c9f802f8277922bdf94a6bdd7023531247baaac95ab10d7fcbfc8354bb44616a859a83fb080ff895528076a5c328f89516e62694b2803600305d10a8513cf705866f459f362f764eec706f77b325bd7cd40255fe08\n\n# tcId = 76\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = cefdcf39902d003e18d802fe6069039ec65e16a3d14e8e81d5d7187db2eae04a36b3636a0e0ceb37439ba21b0dc127ae57c8d07557d16903ae33d1b3523bf3b93c65e079e5dd7d3d6f467f8c065edade7704b62c3a4d422cd14c0e17220038b1df0e039542758b42a60603411494adca0fe357a33d140c2e53a43b756c0a2444618044fbd2b1844bbe0bac59bf10e527e2b9694887135a29ddec1c68af681547f38fb203bcde4f8b0cadb1930fb63e344067ea1c104f71562c55c5a2fddb1babc7f0de0c3c28a32931d0970f6e42aae2105332e04a36c3b9618bca0a91999c426e32c26a1277fb1338df1b194478d2fa30dffda105007a461b954c1b8bbf843b36964abc21e6b43bed000e19753060f795b9bc1f238a59328a24e7cb3bac9f1a4fdddf01577d8b8ba92523fbcc26e3fabc9dd17ef950d10d61832a269a09a1cd5123eb76c4be680b633d0f6cd58d87833aaab542bcc380971561a5a8d82a49dbb24e48ce5f90f84afb2ac8a32b8e60604650247df0aa9c8e6aeddb84b55446fb8334baaba4b08884d7db20c4abc1fd819cc1a39b1fe63d7a74d272eb4ae5ae25a6d854fefe0d089535a4c3cce02d247dd81f1504c983d8765f3dfa1b1778d2c5d7d90dd1b3ab07dd1bb21841bffeeaf2beb323403a7cbfee9f4fc9e83d3f90af100ea4f892626355bb6c0a9b14c6937cd5974b951afd7221545f1d4ab6cf710e\n\n# tcId = 77\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = c7bb6a8acdbb237c80d697ae06513c4cbfcc6d823440eb42519a29fb17a7a71a02a8f07f9077057ab2e9664933d0b1905971ed0d8746b11f7036ca7d6fc6328911342c65412716316e6124d074b6a59c2e5c43f4d3d1663bb53882940b34bb34fbb871e0d56bcb590069e6fbdef4601331ae13f6d3a4aeca9ad2143c68e46af7d4114d48a9b33452e072be7a88188f729525e9c72f804402fa6070b24d4c2cd87b498031aa87909ee73d53d3ecc07e9e4766f45dcf8f02ffb289ff6e1507e913e55a9d68bc8c35589b0665ec498237341597f85b1d3e8e7c764ba7da01901f90e9eef54ae72f319ed17a608c256d78a615c16cd430d94af5c0d89777166b048d52fd54f81b548358b1ba94d65d677599ddd7c3b74f1002b2d084334713a39eb5499f5d5163aa2f56cad7d7e18bc42ee1edcc76d921896f0ff7b3b06906b7d074aac730909504b10678a83ead711cdc4c984748228ecd6f92729abd000e38e1755ef159ab0001abbb8af20315ce10fae39d92d2b692e6fb7a2e2200722bf8715b6a3a0bf4a8312b01c20aa1affbbcd49ccf7d6312c5ee3fdd443dc2b7639c417488c63722cf02710432c623854504ee0b6e1183bc3c940876d58f3a507a306c0018982f1cb1630c97c649bb645ef3d1b875189437da270f25f0b5e5fcd1576ad4cf38710bdef5f09131bfe35c82aa0c841e09a14837a5db728a1f377283f95262\n\n# tcId = 78\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = ab9dd3b3177b8f9fe49bf693b7d6eb8562fa2e0d04905de5bb2d8c27c9504af20cc90052e041880635f454045717779ebd2359a0d25c5d237f5279daf46d016fdba37d271622158b6b1f7defa08ecee01620b0b6e398feac0b3a14b84ebe004a2063d8248f9614b3a469c426f68df38e11c29d88563fa791604adec416b771ecfec6d4c7125b1a1a4c36a617bfb46ff11625914a09d6e72b411a35dfd7b805793ad7458892f7847d5f8d0185285aea27fa43020334e8b5c970f0ac306abcc33b179b2a1c22322543fff1b4031816b62f648490f96c8658752b96e12b222488e0e6bdb170c83d2697c0e97931c26895c9574998d67a2c9a2fe7309e498a22acc7977509e2a7c44764d10ac1f0f269812b0faf98273da99996e0d16816ab33c3c6a2dc8209ab39fe5fe0b121c4e07b3e3bcc5e2fdc46d01cac7dc1c9be8f4b1fb4434ea63d204313101b01aca2f6479d24ac2937c1f80a231de5a263f9faa5c36c1e0af380c550606a92b0b632bc486dc5d496c59c32665d13d8c19b2dcd2af6affc7cae03f7df5547fad63771023114fe8e68628b1bac81231a359b0a27ba86f5ee07e8a1f68c76a9862cbec38150c02c6cd01805d90d249ef0f6616ecca9e844fd9c9c10f4952534e95f0bd0abf66a24a6276dba332bc4dff19e17601da8007bbb2b0ed1e4517b2111e751506461a85271b7651d891d303eada229a311267311\n\n# tcId = 79\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = c68d78d710aa7934f4ea6dbea0e50ea99fabd2ecf5bfbd51974aee80c574509f2bde952d4580b8fecca78a1034aa8b483dfc6a7a4413cc71c4f836f765fb86686ee68f46cf0", + "eb2191f9e887b930544d3fcf20d98a2ec29b652eb77ef6d994dbc9d2bdb0e901b5bb6aac49ccedac770ab1a7a3fb95e33f0b5f42285886c52a65196061f53a308cd43e089fa9d17d14a5ea0fcc39dd837aafc6f556c3b5afff72d76d8a707e6766841baa75640cdc0d9e8c0b01b8d1f0a3a67d91bc12fc500f3a0fcb1c3342e27a6ff48dea24f24cace5494afcf3382d950279a07d175bb10f942fa57d3a28d5bfea906f2311b6432012a42ec25997ff35396c76e48767d6f0d0063b07222de97f1619ab8f4471f092694ef7c3822ac88206b3f491bc0cb92a343bd2912ae54b74330ce8eeb1f2749c99df30667f8c7b39e7c623d0c12aae78feb8ed47578f347eb9e6d9e330de8c1f29745b23e657403367ffc5064d6b62833a3944f4f7e41ff82f8a49a3f08395e5a8101b83621bc479a208236a6c32731206c5363997d5b12efa54fc7946d1cc1c6eb4c955183d9ebc0e16dc4bfd1c11701fc987c5abb11a48fe5c786325a7396f88a155f95a04790590927846d16a62574d2c5f3c716fd4966d9dd4d9c90019b864b23c81794482940400501b224ba9f4e61f690eda2b3359b1a24c63816c3b65d5274e21be2c7482a19865168bc2cc1cc0b\n\n# tcId = 80\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 894190558157e1924961175fb40c7d937b9087ebebf38f4456960ead945187ab3692a7990e51302577603487298ec75044aba599d46ff8dd7f97300f8797da644dd2f8299e3e4193e43c41197a9ac3bcc8ead4713a189c7ebac962b2e4a38c85ca94743998e6b078f936b9a53ec2f1afef70df7df96a6a40d03cd13218b884f4060bf2abe465db3e7ecabe9108fb4da987f1983bc0f79e2a2fdf86ee8272c5b8087bb595168c1ea59d32ea3a6538b9b13ace08ab09f75b4eb7c7aa6b23dc4bab318ac58b01758799e3459db3c19964c676d50d3b8196fbfacdc628d6e534061ed6e14a7b0d41c9856966df9c74f2ae82deac7148a9f786797ef4cebec6d431a2e1240727a793882dd3213edd4f22b1f94afea6fba4bcfdb4b41b4d3dc46400cb37bfe61d4236c518db4be052720e774351c7fb2cc7beed192e28a56d3353632ea4c807f688b368660db57b92afde5defa61c4cbc9b6ad1fb012b13b34d545065e448c614835b4bf88042039eb5ef3cfbe93361628635854c37487468e82f946e01da78c3648f04fa903704996a6b8feb98a6d1a393db42443bbeaf266d4fae1ab2c41cf9e974039e4aabe028e40acb4be89c6d7cd8be7b4f4ff743e12b9e3b29ec4b1508a059064c93020d2b8dca8a5488df4219d2e91db5542ca7483609ab8e881c202ed3a48aa6596c7f62cb73c9f0c433f563e49abcefed5c02e307954a7d\n\n# tcId = 81\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 2be0a2ea43b8a3a0568411d79a73aa29e74f3e7ab88d8e47426bbe6b6c8730b465f017fb8977caf1cb898300cd86cc873d514253fcaf2398980d89851215dce7f61b3106faff71655b218e2528897a4516014337dcd40867ac81ecc0ab0497908396237f3265be06c005b110b6eeb69dea0c1458ede4fe8b9161427723f0603f8a19cb90a221c5ee9f868f4ad29fe64721e202ab3985f6d93aefc7975380260ad0af2e77fbb9ea4c4326e31307879850d016ee12b239d1fcfa42383dd3e5ac4c11e8aaf3fc8c7b50c650ebcbbcee41c82326830c473e718dbe58adb20b5ae9374ccf3ad9eefaa9e015829ece498f5827326286e2f4c07ea5dc7618d8e56e4f09f0bfa53cd6895f3d6a37871fceeaaae9ad8996007a83a8ff070718e9014fc61c4cb9a4d9cd762b4f1df1883de6efcadd6849a0bdbf3095f4281ffecc278b20e56a978d23e2d2b0f0ff929dd4e11f0f93479f9e09fbcfc50bc3ee345784ed9354ef1dc384316d5a901a87d141238dcc25e90f739bc2d0f61cb5829a6fb298d01527726ffd63030fcfaed120f17836d1c1177f6dc5f10b228d38a3bd3bbc997f33925079e421e2b1e904ff34337f087b609b62f6ce4cc484d2bcad953d7436b4bd0f22036150be04ee75bed7eec5c9f282dd686037178b6c517402431809d60db3eb69fcae0f949131183cb532364fe2a54deb5663070666a6913ba2ddf7ad7007\n\n# tcId = 82\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = daed6d077ca0d4725797747d0bad8e617b24c4d6bc22d6d6743a01e0b8f9e689c92567b13e68139235e0f0759a7ad4ee967b482828f85cdaacd9070850cedafd2b2fd33f1c5affdc826109e0bf68a0f8b655599c578650326674ba2570abff0ecfec37bd133fb795cccc83162bb84aa93fa4c928a943db51f7ee30c5002e92b8efae476c55560572a2f47a7ba04c9f85018402a4ad8cf2b21388a5276d9a31afa6d3e0f85e45406c54dfcecd1e01e8ff6e0f12f23b95cde387c3ebf6a86a9ead7631d775a39880225107cdff549ca8aa5474885c21a3db2129036b474abfd0abcc134d0866c05e043d16d49eea0109b621c51fd441850013cb2d17a5302f62646efe2dd383f4464eccf727b28f83a2dbbf8febe8472eaa975f6dc34f82571a5e4e1f21d65d19664aec694c1f54dbeed9bd3d6855b19892b4a9d2dc4e54451d2866311770bb2d3da6e091ae83cc261fa14a710511c103eac2fa7bc06c6b1c048133d1479d323ec79adf85908a81f106a20470eed3d1d60b8750a508d8da17164a952a170a2f2aadbdf611ea312b25d93fa10e202ea30edf8f584c3ebd3d7113d5e4ae618a63755b7103e5f5887ed8d33bea287b17162e6497aeca3632076b81e17fa03597f9336f279492899b8f04255a9a8dbd3adfb6ec17adb305dd0fc7a214402963342b33bf1eae98f5bdbc0ff7ca3f6b94cab3e93cf8af64d39d294ec6c0\n\n# tcId = 83\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 77d2bd2f55b37cd6812038cd8285b7e6dfb491c52b65a7f3465b35a198cdb694d44e8d6613f9061cf5ccbc6c8616317cab78c94a6560e1f64c25dbae259a47b753d9b1f95c62720462043ddc6a1390fda9e151848bfada7f74f523a9e729daf508f2053977f73fcf1a97dd5c227c5cfc03595ef82b36a99be50891aaa1d516eea29c094c4eee18d61e9a53e200b6fdaa4e48d6d954e9d6557f8b4154ece19c745ce348bc5886aa75f753086a1cc613b8b3bd8df209751aa6d7d7ad141eeb19463a44d836e36b1b88b22cbae08d87a713d8308c9af96679122986a2411cad90d4919be3284857a297c3fa4fa950ba0b74e9bf8570171bbd01672a5a0ad6e465090ab74fe6cf7d7d9ea6c5e2f621d52e86b69672e8bdda174f4f1efe745f040ab2745be06254dc94d92022ecd89feac48fe3eb181338bf679df7c06b8c6dd6e8badb7208c609e15ec6e38cbecccf2492b925d245cac1e50376801867d229f8fb92d49a9892645b6d7564647361ad047874f85c202e624128ebdea6e96794f4e941918015ded3b9b7566538f057bdd38866176f004b3639f680f63195a18e8020e042642fefac3edd45a2e746280bcd180e54ea4e8c9c7d196a919d0db1d30d3d5339747dba152bae5cb6eb7b53b85f00b8720f6d4de2109537804c1b1d65293b385c8d97660c1b9b84c46eddee1d2d97b810879ef95c1e83ee250574a9823639d8\n\n# tcId = 84\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 141921b1c1b1dfd44caab5b9439bcf12f1a5c7fa273da49e7ba8b9aa6cffb8474817a7fd799022c762defa18bc64e704aa3defd44de0ac97833f1fcae8a52b58f9ccdb93bc3aa68132584301852534aab75bf2da3da07f4abc46d8591ebbb9fd1f826fd55a9a9bce55c897dedf40379ec289b83ce2842c5953365ddf43b09c9d59dc70e8552ba34d57c8a4ce108c28bb6282439be010211c637980aeb30bb8c01d9b0839cd85e1a3642f3ccda4040cb6037de2f59cbf0af15fac420ca0393589d2d77336dc08a86255a4b9999e2db9195ff3ed79cb80c9ecdae380d684dc07ee1fbafa977dd248e342c12c04808d2fc89dacde84b701364671f5a44952598d2c6fd0e45d53b0e518f1dabe34701b69279253d99b8dba6798ef23648a06c4bf08b8061a956ecbaaeafb6df6d320acb71b6ac0a6a104624f1f54664d688e1853316e000e28e27e5f248085b17265fbcac4311b27b90756eebb3a8001d920c086f517c2aebfcc6a70b89b9130d826b927aa119dd10a15de8c90156efc7df8f684597b62ca9c79869a5157ebeb74d66f6fa6c92dabebe18d652548ae951c8ba659956b263bc2b08ced50176e5a4b2cf265a81511529f961338078fdf0652194da4ae51cd28480c952ee7722d04c5d69383ae8d06fd67e19ec8e6df47d192a9cc605d400b5fbead890e3841005e150ef8d0e1d3fd4e1e8d64faa452c4ffd55cda557c\n\n# tcId = 85\n# Replacing sequence with NULL\nmsg = 313233343030\nresult = invalid\nsig = 077e1d74012e8d54b2583056d0eb8895fdbc56e0a6612b8a38c985d402788c3f0d47cee7bfd3a138dc8f08670fa045de7f1949cd1621bd0963bbd6bbfe8cb35289e998f07f08e101a5de1748acfc0d65bebdf6162ad23ff706b759a0ddad1c10b7685d510cff228c098cefff1cc12f2f9b6c1cbc4ac76cfdf79b49230264dc6a515f58fbbe035016a240df9d7a223501c10bf740332aafff301072d572fa5c6791d45e8cc87f03101ccfefa358afb598e822da5268fdaad0682f7219e6f4bd4ea8b1a138bc9b28e42580fdff4de74b75a10feb9e78b122f8699f5383cac12e8d0efd3e88c5d6d0f4c4c9702303fdcdfe115d662abda6bae43473494051ee74d6289996c4d54beed7e5b2de6453b0cef1f4f42a1fd057362f935d466b48c6873c8737af9a5e62d8c832c1546087f459999658f3ff1a6f7cdb56c2b834eafeb992791316ff9d52b1918da4fb3d091861c7b66f7db4474b501ad83da0b4ff1c4e3be7931949a7bbee7c9a48f01f5f83459ebf93b0cd34b7e8b6bdd35cfdf6815d747fd6f6ce405b9264ce4ab26a458ecb0269d5a849b10393ca441f7e80d90977ac0276599188f8cca39f059185267cb7d60c7d6f2c643343d1161175e39aee85be4f3e87c464bff1088c20edbe4a543e8b54a05c4f1cdcbf1ee887d14c09496b306bfbe70654d0bd19d266952d3d9c9d0b17342f8aeb73aac7f827e53da2585c72\n\n# tcId = 86\n# Replacing sequence with NULL\nmsg = 313233343030\nresult = invalid\nsig = 994dd64cdb6233b09ff4b2a5126f50c3dc01880d0d8ac3e9d5c2d34bbc02c674583ddb9a520de643ac81f1ad407855da715e807f200a9310fc1a134f0d6e3cda9ebf541e8437199961c96a5f617e075fdf3e37788ab62c393c2808061e6ed92f72c25916ec8ed846d76adb3114d15ff77a323bbb22463bca4d7d7d95a8c9cdabee3c1b236641a6166d083eb7f772cba93d0945197bf6b9a8a54a24c5f12e6ed520eac3ee9aa244e8374ec4cfe95fab470cc09ead7999f054cdd6b90ff95bc6df33d34d765547fcb6c120c042f1deef402f764d494aeffbd9f8b59d012671ebcf08409e90b40d19fbccb29e105fa087eb1a1cbe6dabfccf41b7e33fb0508116de4548609c1b57d24bc74404", + "1362cebd3fe201944c4e4455290f950ca68f5efca364c985a5531957edf5857645fdff619f5dd013b3f751a7a9feac4c971323b730f3ac4663a6b36b21749e6643ef43ebbb3b81c601f23d159c9df3acf6bb3fe63cc86e53b6a846960337afa595ae25694d7a67145c1227c8c693e133131e2c622926e9b363e4445e6dcd89bb65dd74a4f766fbc8570f954513dddc8b5b16e3c200afd47413ce9318a3c08f8b092e0c527be4a6bcf7557264593b803f652652e59712ed718954353197ffd6f19853d8be525e1dd999284fee98ea3ca49dd39a1329cdc1b10ff336bb1b34be9f2334529176792666ed4b924f884a49bbedf0f430ae\n\n# tcId = 87\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = d292f30cf75b901051216a9579ab9108ca9cdda91d618c08ff9b8ceb455ba0a197ae8b6f60c1722b1d212cda0048144f0147e1b61ec2fb65573e76746be9b237031e95af76d6c726185855436cdfe4051fd56ff929cbcf4ca2e2dd8014d8957c1b821100dd186776dbf463a46a884969bc6e2153b76805a0ced2230b9233fe9a30445d8a5aade694241e6ddaf6a1765a1719c4187e6b8e9a9722fb8b18b3fefc746d32927dce857b2083ac43ece35968b616090157db2b09e2dfdf378f5b593b03c2569e941084eabb29dee9cf6a6706800b274bab9526fa57c1e1fd6ff4195ae377c64a01e8842463ebc41312ac8ba9e72126fc6e31439314145991085a7e876793885511318b2e435461890d588286e8c938d63534da7bb734df3962069b62d1c84acebc0b2d0ecd349126e44da37e04f1cdf42a30941b0622735ad6c13e4757a3d48b96d51d2720ff9b0d02f5df213b26e75facea01a5a2452d3a3a041c4ebea57364bc5f9fb4612998acce1f4f774f8479e488e6efff6c21f68e9a6af70bd7fbe7798b75bf76fc2dc1280d109a8c5fb1ce23c02b1398556d5355f0673e84378cc26ffb27418109c24d30ecf4c4957f30ced867b6cff4f71e832ab81e61573a5ddd4c4091e26ddd0f0d0a85cfc369f8685aee93a225ec7bb23225cdc47ab102d699636be2521694c5aae2be6d282b3222f2e3da965fd0cbd583aeff86b658\n\n# tcId = 88\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 7018fd12137bb5fac9fe8cbd2eb3e9d1d08de4546e8af48342160cc305d954b8f9460a12bf0bbcc47e6f93bfab80754fbe2ce64af899a71bd93ef5868e1ce15438843da5d1519d1833d75fc7b7beccdf159bdb175883f3cd71c7590526fd581bef307e21edac07d97c80a274418b7a5a1d5b5aa4de53f478c1d8dbe886d53ab82020869e4ea390d4ff87adea84a2949e2cd29c214ad0f15f041b8cdf427a3c26ec6f51af64142aa40892fe3692d2020eb4b9f3f2285a20ef0144e581e98a4844b4c495fb6213c00112ca114f9450b8abbb727dfee8d1a29b56b847ccef1dac8eca4dda740504a4ac172a8a422bf7f074dae49b5b8269375ffff4d150f07f605d97a3dac62625c25a81f3f5436d36f2386a541a5cbd3768f2fe97dbfcc9d30010401a4d6e679ee3aa7545aba2f0f096f81b579950724539e7538dd175011eb1e47b7e358db13e7785981ce36ed13f979d4bd720728f2d37bec72573aabcf8bf2990932c8e478598a72cdb34efb20f66b3b530a479c679620bf893b3ff0e33e85a3a6db1d72d7c87f9306977f18a8746179ba4948e51fa996d5dbcc27bb4f1c789feba3b1925b9c0af744d294de1375ef8f52ba8753444d798363a76a5f84a1fa542e431f8440df957cc731b7bec4e4ab6e52f092219374a525ec222029dae6448a41702a7cc8920058821a9790a3fa8c88ed06283b43c8ce15fec4138713cfbfd\n\n# tcId = 89\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 491a44b18097d9d62e0d3eb41b3f0172f3647d65d9ffcbedc31ee68f03f52795fdc5fa753fc8bd77a21dccafac57924c4051eb89ffd17c0c703fb9d968c0d18b2762ac02faf72d8ab448a5d0161a15eb4ab923f28f82dd6e97ef61fe4eefdb63066a140ed5ac486da016071bde06b617889ebfec7c71ee3f66f35cfeee2ef49e5491021c26d73ed920c8e3913514f65ea49d5453876b85885d51bf0265983578ffd05dc8df8efc0d915e90a4cef181cd0898befeba7300855de21a42600a4fb2d2eb7fed5bb3f940af3d1cf7404f9f6bb3da863fbde246f4d3931278fb7485d59c4af8a6f5354ff4e05153280f6fd6015a13fa15439b9b4ea1c20ce681acf92aac4f60a86fad5f6a636a7e1581b3f8fc1c90ff058c40b5d0e64b7d82056a5bd1fa661610382c92967bedea57af5eaf52d7304e774e4f85daf09d9cc5c039d5bdab649703044047828ef2291777061de497de6d3abe1d2b7d0c5244a6cd7d317327f6e596b1aaa552b2d3048bbd26eee31757aadab0e439460f530fa90b92665856201e4675e99c6c2173fee1828954f2f9cfd324ff1f9b77d6eb0d48f1745dc01fb4761a00d1d29de9c034d502658b2926f6f3c283f82dacc85b8e306f9881a75a71c2bb03f36b5ddc44de525cc3af0c72b1af01c4445e305058af24fde5569594e656ce85192f9409c6bb7f5fa08622dc00102ba4f8fe7f7762ac3050aac0f0\n\n# tcId = 90\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = c9667d958f9646740576ce18ce3085fbaf6f3392524423be838d71af5c576f2d12ece21c30da0e209921beae756b9ab6a8b04c3cc10c06dcd785a118f45b59cc50be3f3e62ec01e70d0e9d5859e098fb4eb172ce430e32a5ee1d11a94f749bbc0d444e9e03bb2632bc611a70a1e6a4cacfc9118247ecd374f628d3acc5cca79572e45bf4a94bc1da631a59e4b781b88368979f3a909a01cc7c4fc543fd165b67c82d8f82b7961989dfec8e9c4fa6077c89438a6667e42be64aa56944ac43c7eff8e4b9a9fa2b968da2a1f3f03bf7a80e884d22b6d3ff4564444fa5dbefbe62361bfd46c32ab42a27c3f819cd56016479a40ad138b3288560e6a1f3831bdac5c3e850c3f2ce500f766843549f5af32e002941b50cd88ce822a46183f4938d58c12cf17e1ab29da94c0df368d3910318582624cd66f1bf08c7ef9c29a7489ade8086b750f432e1699676a6483099e9ddcd3fa9771b0ed58dbfdb3f61f882799e20114de7c6e0384785a9ee6b22266b2816d485ae09ed2d71d4f8bb0013c932c477745eea36bffed3abf8eabad517118088fe7d6c22c018e0bbcff07ab814f541ff1e4a58042cbea1bf9d5d6f6950691bc61cb918296e05b9747d2303085a8e9057add2b109a661490e357ebd10a8888c7ffc7fe788ca3da7bbba52a8c6b056754d88cc2dc2aecc1a7dd770d19d0a9412860d1a3d7cdf905ab92fd37d559e4e5679\n\n# tcId = 91\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 0139a6c57398ec02a29cbd47a11129f51c07b61659d0d83fa68a16564795a669bb164e4162d19f852129ad135586a4227b91c54ccbb1e6a02e0a4b1d1e741291d508ac2e9f74bbd27a2d3d4a810ff016fbbd545a479fbe27a37ccd462a9cb22cbcd5d99ea7f99ce4a3e3ce3bba2db87d4343b22304436c60752f6baf33d3cf4d110f7b1b964110fdfa2e0058158325e78b5b4010801aa8ca59986f629912781cecebc33f7d9edb6f6ed529fee06f54ec2e62c6f4b72bddc8ab6ea30db83574bc931c0155db26d3a5bb830b1840c544b155788c66a42e6c8161f05a03e05b7271578d8380946c72b7d322bcc84b1be714cb97cc7851d06e1cb892ff39d88f821a5bebc043135326addaf480c4c99b21c26af904d41a014d5611f42481769228054729973b248ade31a4ea963a626770c5f9277782328ea0635e3a5f6013501e6275b419f145cb60ca2fbb3a7c4bcad7449c47a9336d658bc4a9a3c06b2f84ee9d8a8209ff7ed0505144311df3342d7fb25616c31566f29dd6139aac391e7832fcd0a6bb69cee74cc6a39a2cb29fead82bd23ec272e62bc87656eba34a5a44f443d69de2a572b3d7e9d5435ee69f6c281362c9fab99ef72c7e04bb8d4ff34497b2a80f5cb750462d131cac6da0907b8fc04cdc45a69c22c13c77606a6d6cbb7b27ec65fdbf496b123a3323b0370b031ce839d63e2e1ef59b0d95e646cae94bedc4\n\n# tcId = 92\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 1d6813c5fa766d4437e3fcf8c38e7cf829f02eba0cbcfb369b7b087bcefc6c5f65156d0e947d9f537cd885d4dc6050083aeb26f413ac082989b1df5efe7cfd7cca2a9acdea4b8f673ed943f6591ca2e603094fbe5dc4587ce41828b3ea08255ecca5ec6595f326d29616e9c47cd889d063ad8b90326163fff3010a5205883ae86c6cc95d90e449566d771873e5d3ca7584972f824015ec5bbe9330135a7ed18e58581b89d5a26ae0d13ac0b9272df6452d4d3c1761c2b6c5affbd7ac4a2f7d9b5ed2aba0edd11a068d58fcfeedbbd44011bc0b1e64435bf35c49a5411478239d7382d42c53c6fa972a20023da69daf44f091f1da06967809e4976fa851eab901c85514cf410f99c3686ae21c778b075fe73edac13173a13cb08f37ccbca2fab56329832dc0b7b8725bb8f95eb0fe811703dc2047eba3c23a1571c5c7312b38fdaf79e43dc00e82e63d8acef305c12d190b5abdcad1a82e2621b20c8484f56b1c84e55880c0ad9b03920c44a080d436181a7e742580be80602695ffbaa20c22c6b484adcc63cc2b417bd45ac6826764aaebc918a1fbe7ba4400cec0c9728c1c18f943069463a5747052d387f63890be573634f8f122efd0a75969b1aaefe14ae3d3fb3cedf5248df995415095a22dbb3c9d95cc4aa792c05116b727d60a7a9ce4086d00b963c177e3a661caacde70196f4541cbfd1b8909d1f7ff18da9f221b02\n\n# tcId = 93\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 7370d0c5dcd81ebe6544bcea2a73c187a5001c360c8a82c7cfa7b26eb703b73990e6f742c87008e0a2c676d2209d00f069dcfe8ec1dd7f21459236247061a6367bbc4dd02cd88d0bf6505b624c1530e6b730ef29c12da0a664c5e56bc0ed2928e1e2635c3bb82502d3f71d88e2108074664801fa4ee16d49e2de3cc638ba3f6f152b4b4289f715f48a26985c7ade2af50d8f0c1bfc92325863c64b864ee14dc8203be4ec8bf798bde95fc7da29d0a8d6ef2dc428e7e73df45f206646bd0242a49f673847b5d0cdc1da20a1ebc3f04c0e99b2aefb6a0dae2a9421fbc9f26f8f9601b9477145a0526db84440b0ea125182a9c1938c48fff51ea366e4bc2c499ea06d8056ed77e292f5a91a532c0ea68666687d2966249379f5476c35cb28b3242b546dce34c506b9a9991ebccd8fa9285b76b32a9c76d1afb431a040b4bbb5b7a3451ac80866075d776ef12cceecfd48f8202aa2444c44135cfe0b9f57de378326bc1eaae7b656b7dd8a5140c057b6cecb3e9941aeccb2ea87040aa980d06630ac8147282af6160fd36e003586d47b5ad5ba5df676c16c8abd90dfe2f5462d12498bbd2626cdb6fe419d4e98be24049b203288207298167a05e4f9d5c3f96ba3ac6dc14b3e1e6bce3b80ff46d5f370495dfac4636", + "b2c9006299c2056129836b32e0e4d4c79fc300f9c7c59f973b48929f56c299893828343a2875e70e33617f0b8\n\n# tcId = 94\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 2e171b383d528aac51817ba667915906775f6ba446878617d1d4d659d41607ed671f78083488103c0fafa3bb445fb908d548f41314237d36df3840ad82394d23ff9be4a5e45ae6a3bad3e6555ad4362c46ce6f583109ba2a2c2463f98364e1e596db59be7fafa8fe9ee1876dc306a3780900c7cda8f90dd727480bfe707ad46a0321a3cd1e679bdb16f1570ec3b2335665b0c77548c905debe1894a29431f9ebd19222fbabb379521006bf0c490bdbb6e700c06c2ced743c5953b5756641d4105bdb0448ac0daff3fd2e75932ef6f0b4514d483b026d2a6ab9b617f52da83e062d80ca7fa80146023d5fb3f57be6752b8256622364d1c0b793ff070e1b30824bce0b6a1d8115cc13127700072d42b719c849404e7e9c49e71dc5987414aebfde54ebee2238c0568dc5e386f384043967740a231e6290fd42d6dc2b8e2c59fb373a30adaa57eaed796677b9b7b849256c6dff0ca6739206fd30fa6f43692a9d1d3e43c003e5a7f021f691b6f61dfef0f803def665303d95d2e51c7fa4d33ec4efe33de2f6f8ec8de4542500df75fb1b8c0936c992fea43a53a7e22b483a2743fb1fd1f7fc057b1712c8f61af638abbb14fd872ad3df465e81d3036eba7b52587344b9cb25960ebc68e62f9187c1b564136f599746233ab299be16be2d13960d3fe3217733026aa88e3be09510ca181bef04b17d5c198120e5b56ab3e13a2bee61\n\n# tcId = 95\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 6be3d15693608f669ebb88cbdde4159a52412b2cb4d839af0f4d2d0c000bb1f6b651be8ae44405276456abd5fe78951c8d24105e2218734a1fbaf7997d1aeadbbf7c5f92c5652b4d447538205d9cfa5c20094bc992358f4c08776b9807d4d32e9b40bf54b717f2f691be337d881f1187b32393522ecaeb30a14de104fa9e229f276f3416675b7b39e92e1987e3d82e2765e35354f4238879bcdbd31a54aee464188b8750d64d2dd5317806b0c32888e0c8cd78264ab0da873ff9e8c9d833c4b00fb51b63155a122f880471f9b163fb63636d94710de21caa3017ce31986ed4e7e46a6e8d5ed7a7ca8df681bfad29cd7566e9e9e2716d37494aa0bf97e412f8e7ffc0056fa0d2000ae151e6a746290e8ef0a2adb8bc9189b8dccbc9b7ca59ded3fb7b1135c261de2a863dae5673cf7934148daa94d1da8e576b9f561af962e2411c5d0f3db0c5410adb7dfd9c25366ed7289389d3859afc92d385fbdf00153164f5f16d9470002c669500988e4a0e413d5b5308a7a3006eafdbc7f3e6710f84d8e76d43f0cbc09a686d7b023aad028bb91a72a4af271ba741d5eb853bded8e82c11297ca0853861c18f89002f76928f5af4db3edb79f91b70e4c5e98203011150488adecdec2e20f4ec6e8dea8a411a45363df881d1ca32a8bee6f2711fdd75c5cc8b27a04509e0e3a832fb83090d32b520db60c7867cf2c4426def622c120d4a\n\n# tcId = 96\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 8f89981a56c9e66d4bcf301c57c57a0c2ee2ad2ba19f497f553b898c4ff883fefbd4cdb7da8464cef028cdf35397b440d9367915c47c493f61da7bfa2a33eb62a4a421aebb5183287392f122e28a4963e45566e25fef1816071341b28daa7f586bd6a90fe3f6b9d786d0e57dfc5e4b3e300d5dce337784ca5f967488fcab93c9664a4efff22a213d127ae3918513e4824b5b0471a02d188a1da97cf94e828b2badea31e81dc14ae197c108d822cce7eefb5f4fad27b2e0fbba8d8e25db7b26b6411a87cf01c631675ff3cd0651ba67a419c29a4b9fc01dcd273bda9714a1028f55f926a7b469e4dbf01bd8276a9c04df24f653955c9671f37f001b254334d535e1659fcd4de185f21515c8b0072f6a9b6e93fe0195cb5480d81571270cac23e05a32809f204930ca25f554b22980b0f0ecf99f414fb8fa72cd9530dbbc7dd5ce46490c7c910f9ea229ad88a476ff9cfecd83dc1e9c68ed0a7024e841a81484ab7103c6e6695ddf4ede558e9c48cfa3d7eeae2bebca78ed5b0e3f6879d0cb4c59059e1710eb3142771e63514307cf4151a89875ea5af2c5bb0873a0114c7c1b43f47aeda2aeec62b0c6234793ff1421a36a46f0805fe5fe5b8daf234d48a3664b5f387c92e1a4ca67cc3d4d1783456d4b1a918eb833d14a0cb6f26920e843ee5d648d1332624a21e91a7d23a62dfcd3fee72380d59d78041a52d7e314192fb3d8\n\n# tcId = 97\n# dropping value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 9ca87049dbcaef6dbbf981c211100fc02b92a79380e2fc0c4c59e320b1f559ad83ed653d77fa0b5ba3aa005182b4359158ffb0c072e6c7d02ae32d19567de28e4fb035be09471b07ff6e72a10f1ab173e46f770d94f78e21ab0ec4d4c11b568f394ad3bf3fef14610afa6a8c8347c99116cacc8833affe119d913a6596e8a2ae4d09bd9816e2c1cf8fc2519ec6319f8f219e36cdc5eace1a4dedd47b09519d64586282674571972eb578cf1e640e58463930fc0b08b1b297c5760303b799b7f24faa760c2442f0adc7d83cddc56a99692cada6ba8ea3fa5aba200719ae43d0770b178ad9cf574ba5b0ce847dde18df9cac32d0adaf7b3cfb460f14db0c542413d5f528b6046e9ba47ce986cb134011efb55064f9eb2163b0cdb264a6eb9793f12203ea5ce9d48896f2c448926615d2dab2dc51a0fbdc6f5c2dfd474f455d0b0d421e3711326ed522d1840c0d0e93bdbeb3781c066b7c050e299a2e450640ab46af4fc1bf4291953372134340d4ced304430efe82ab7c9f391f28c238806249258b7e8cba2db75f62ba910b815db2f889326f3fd724f93adc45b031e08bdbbefb8b2a48d0a861f07390a9f041a0255eb9016157c526e52edd7d714bff40473eb36d0d381e7ec2277dcc3f145d2efa02cd63e5acc5f05632723d5c5e016d5dd5ee267ebb2eb39909c0ce31db4ba0cce2f404f0c42c44d0826b24e0778880067b5e\n\n# tcId = 98\n# dropping value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 29835fc87200783df0affe15fbf9e7850b21180cc9033c9918520e4fed3efbd8f41a5f8c558b377782d5c6b4cf038dbc7d084ccee88d3bbbf33a7d0addb95f0e149b39c4a4bcb4ee918c7196fad1d591a166b369effe1d6f3e42bb64597fb7a152d51d18d45f45f9a0593adafd36e522a1e1f777647b225104dbbac31f1e08ca476dd61526e18c4c6a8de4ce4374e139326377d11122fa685dee074ff5541c88d6652af1e5a1b8fb42e5f591c7101d12f5172b6bc5c0002889d5e74653d5e0a86e4fac756ce20eaf5a20cab51e5b6b5dc99e1c481144ea22745d2d7e6c98b7ea4edbfe0161169fea2400d326c53cc5bcd60bb2df345a91333e076ee31c003505c19df7bc96365014a413adc07edc86bbef255c26a46cbdfc381f23192de7c768976dc8e75155ae8d07beba0af122f8a5dd8edc4d425825710bf6845da8008dbf6ab6bb7a5bca8ee7037c9682f8b4e2a5954290d49bf2b0a9e7aee22d63136b7cc2fd7e6cc48b4c88e8c60520d4ddb793c69cb1c677d01770756e58e5846bbf868e0a5996c2ff7faeb2dba19440acba41fa514f84283e66547c5d9e4df8165df402033298759c906c9afa8dd15933573183d5269b4a9a2c63d5636f8b2e0839919897fbe6f87dd2a8cdeefa559cb7071ed2ec18d79fe068cf8f6bbc4dd0dad7f6f7cc869eabd1eba5775901cd248cb500d23110eac0ed206a1649453b81b583b6\n\n# tcId = 99\n# using composition for sequence\nmsg = 313233343030\nresult = invalid\nsig = 4bb15135ffc32d2a7e59a5c536d0788ec37633b9b1e5c94adb9f5b01c845dbfab129194b8a5361f352682de8f5a92f0a691df77e06a147c2aa759eb5bb72ca96ebca33367360e22d19f0d4d90c25c3e2ca3785a5cf26fb80e1993ffc08dc9f3d4c1554e5e90a46a21f8f00a2cb376ac4efdbe72e0ab1308bbcfa83b9b484f43fbcb3311a6ee4927e07c568f977545e7d5b8179e6612c2311d5b10c72681c9655b2529017f245639195e416fe0c2800853ffa387bb0934aa977adaea2a13fb87d2f8903cb362c1ae1f4e84fe13d29bcffe4dd92f856db6c5f1e9622268da090a8cf85481036c15d6d9bc97687a09bcbd92e73ac9008d22988893bf78ec3ef87620ee27633faf1fbf3caa3b79323c999932a728b40294ace55c6c7c73ed0fc03151a56c7a87962dee757a29892811dd4ced9500b8bdc905946575ad9521758856780fb4b6192eb6b52a81e9a1ee9c6e563a5682b867511093a14f735f5f20bd6e2ca1d01e4c6598ea6347bbc61dac6a69d05914e716ff1d53ef0b8259e3dafc203c24166f32067201e11c241ad4c107179b93b3e254defb5c67f2d88b732abe96ea5ce09cb360298f1a34b87a8860c32079d5c80ce3f4629ae27f4731293294fc2ab7cd9f2fc101ad87dd489e7a2b0edcca37910d51b8aefe80874088ec53c0d56548ad4761ef14a988739a02ce08fcf81935da7f65c375787740b94d48d8168f1\n\n# tcId = 100\n# using composition for sequence\nmsg = 313233343030\nresult = invalid\nsig = 9298b6ef7eec73665c848e50e2c221a013b951888a85d1f7465be1a306f9bc239b206fc3a85ccd438b8e45ac4892478c4945df6849e6148c62a81f8c58f8c78ca4be32806a3d8b16c1a258534f1a5d9694e364c27490ef31e8b45b96c88a10829d902aa48396fb1646fb5a50496780ea455a2f918a914c8408165d11651b2d490874d870b2c2d6c0c73cf654c3522007b8fbd4f1ac59906cf719228d1795cc479c9df3a7baa81f5cb71d8c73d154b90e4d33d208f311150e08f486e76fc1786bee3f287a8b07a768f91ae9d65c3529601568265780031e359273f93ff7df610f47c8d0b025d017e1dd088a676fcec39099f78b25192fcbda0a34c79fbaa6a5abb554e3babe386e7e2246d4f68f0bd60d6036133ea451a12e7c3ed1382e539a01fb3c21e1d21be7ed9372b943937ae4857adb7aff2721a5f5acec2580f2e7620d7fc8cc20fb315ddb42461abe93e8b8911613d06e0fc1947a6376c430837562f8ee8348c1f2086acbd60f8de959355ffd5cb4f58efd9291538f9574fd94e75c7a7710a119f7ee75c4ac0ed49e45b703b2f5e34db04fb71478cbef4292f59b2a76ed18b51992f164b88903da966a0ca3fdb98458979ef79ef83122a6bc2194ed0f737b75c02bd713c670e26aa19883327481597a980475405e8dc4f4eebcfb35e7cb73a05524c92c1599950f0226c11f2721e658673ba9abdf8bb39fe3be76e1a7\n\n# tcId = 101\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 10b4e879f27b553ff426c209658d787219ebeec9bdba09afadf14362022bc1f6e35be08895bda1c67465c74f8c225de02d49878f460515831f1fb1dcd42b2547558ba805b85a97e17ced0a1f1bcb6aa5ac390129916fa79726452af274fe65a963074be70710c59463e3b90e69e1fe40dc8105f2fdc7f863c", + "c9d808c6878480431b847f372e9cf6418203e9c9a267bc6cb1a1377c394b0f2d69911d48650717644c79fd02b355c4790610ee930c2e9cf1fa1fed72b111f3f4183a2ced3d3aded6b8b5ff3b80b4ed00e97aa6a1e947e95fdad77d91e36472fc9326f745c7127b231eca5b2dca161d5429c0d4c4fb15f43e066d80dc84cfa50949f4dfe3f3a1c9af6aefacef20604fd4d884b4656931c0d3bc02a70e37c810fc7758639e4710a229348e134b5a67443dc36853fdddf632b7688e7622247be4d47b39d8f8dd639f9a32db3bdaf3e45441a8807017a9f078baf89eb46e44e2484e22586842658d1ae39bcb4b6be3e5518079fb10fac9cf6ea9d1e98a3986148ec834cf2d00e365ef8b45af8e7b4f8ef1c36fc675aa704269d5c1cc34e63f4362e527c3c42bcf38c2b1262bc350373941a50102b5f2f1175ba09d9d5235a6c90d3db2875545b7330cc64d44ab5543ede211e9736124ba88db37680574e225deb86e40b1c2943eea5b8351486c75cd7536d6da8dad82334cde6f3cc55033d09c387d6abda7d98398e47\n\n# tcId = 102\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = a62486e6b5c6dbb918e6de18664bf6f2a8c8de6bc0b3b323fdb736faf48d9cca2792f842b3a5e80548a243ab59725c1dd6b2dce185b060008b623be218a9997131106b47eb2bda88fe9479ac8d539698b6f3b3e14eecb3c3a7f8c9e39d5398de8d1c5e9fcfd52bc8fb4e73319a8248f9c99592aaa9ba8c7f44142f63bd851f218a9a73845812f865b921faeed8bdfd8b61b98ea26fab09cc90f78e1e714b3ea6948f1647e1258f2fb965a407d1582f28663b76e187197b71e209bdcf3b7223c1596b9aa2df1e2736ceaf4fb830459415556aa52f47cb26e3e22e4ddbbab3904a7b1968e83661f5c8a02bb50b33200be928cdf1babd794e58e79890435f4e6f3af79b7015a7dd7d996f25d61d6b29bd0034445ab6d8b664667ca7bb4537f19edb9ab1f58ecaae3dd8c56a07b57d9cb60725bda9057e3d9c52cf17caa1d435f8022149901d27e3b152898e3865dcfb0580281838a72fef458328cc1130e59d4f69e58db5fd4552938c182128fe967a42c8413928008581bd41865e0c747b7d5be7df50435adcc707e00c7837a45da8a6e7a6c7ab5f5d3494f36d9f98bc2f422f3bf4c1ff0918529eeff3d4e8e5817ec22021f57a2c66078b8622ff4eedeab8bb61362488e215760dd82ff3a58ac5df2dd0d38073ec574084dce82aa9a056328fe5eab9e637aa71b9d6ba317fabb96944c65eaa00399d2793252a4a7140e1780d6b\n\n# tcId = 103\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = b48e469d7a411e1521244f8817cf17566517969357f4a8e71297d48d736886793186dd648946bef8f9d74f87b0d0490e6eb58dcfcf7c3504adce0fb2886c174e04e5ee0544465607441a08a93a3d8ef41bde863c05a3825d083e48575175b897792ba547e79b38ab25b89c0067e28dc8014e51486c8cd5c17a190dff2375f3a920fa1c3879ecb7fe387edd215cac72f490cd7018ee17d46a0f4d5fad0b69a74b64ab3363415c6d5edb5b69aa9831984d24ba5f4d1cb192c19cdc4c095375dd5e5a562b17dad8dde34741c865772eb2451afcfb45aaa6023e5932a4d5fe0edbd4d1dd37276755938a47aa3392611013c491962b717744107d2f756f9808a2a2551079277483ab680b1289f2f42655ffe770c78b8f21cfbe461a9f2e8429837f7f15be891797dfc58ab59262e697a03b9ef351e08ab943fbacc7d8c0d23c7351e93a11b614dd8c9024a0a2fbfa91ec04be611b4c5a282278c33c5aa1500d31cf6b7daa8f27158bf28121684f24e8d79e706beb696452ffb71c4ec2c2b9904612e300f61fe9746eb370b3719fc7964e3459f8e61c98d5b1e9ece929381d6bd19ffad5a0ff36e6214d27a0259729a8358fe4ded419576d94de0a27e0828f95d60b0b25a567e397a6d2a45e92a161ad6bdaf503a1b6711d18a2f4aeda01b790f3187d6cb74ed23cea60716105ef65c9c01476c846a0e7f73c01ffe7e9774e74bdd0dd\n\n# tcId = 104\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 414f44654349ab1ee5933470957247bfcbed3bda71bfaf9688523ff3b198500b5e37a62634cba22a0fe2f8b8be9498fc916c704e1070d3940005d889e1618374d0035bd9198dcef4a6b5b7bbdcc1714dce5e21658f107be2d90e10ec048d5f2734f04d58cbf384b4282c839e3c587fdd8657c8201309178dbdfae5a2e0f2f163474cd7dbaaedac90782ac187b493f4f36040b8a9321253335de7a84402ea2bb4a64664030080c69c058426c952bd483de6691760de0b8d13b94ac72c8fe57fbaeee54832b7511113bde450158ffc96821493e37cfb6d21156b3bc038ec64f4e4b3e1e5d01b40982f52041214c55800f9129c2b9c76060f9317285e79a666fe3452d4f13fe1bd1f0ca3254d7dbf0ca5d740ada8db916a1a8305d6969567f39a2ff2662f3642612deecf0a99149420947e7984172bb54efe8dd72f7cae439947c8ca79436209d6de5b65f42542f24c33728e5b3192a76bc9ea51dc1d248f41381d898cca441dcea3c515e9cf15729dcfdaad5c249110254fe2f6738632b5c2a4090b76cbfd4b23378138e21b25ace3635ef68f3d679447cc744ef6d880fd5329058b2ea9cca1eaaf8bb31c8e0bab1342975d268eb4e8fcefa1f702ce1636ac04dbfa772fd2e778ad89c4caa9accb6e3a6324be7e5213790d80b4e217f362b34ce1ede12677ef547e8dd7ba229fc808ce31491764bcf85593f932096556b7d404a1\n\n# tcId = 105\n# indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 1332f011b204562cc83d5f2a84606cc9afe8a6a374041192e02d13f425e75f9b6db68bf4004158fa11bd591ec7b63b568e18f19191b5b9c67cb2defb5faec6140f240c0014396e9d6e8fd5a0f84dda87f4a46c3b933c34bff55883adaa70c5cd3d69b93326fdeec53e7d1c8897494855f6d83c21470f0bd2248b0f731d45003b7f5897be4bc3993865a6a530952a6505cf49ef6c6e319a581f73a61b20cc678af45d53fa33e8be9988aec097bbaa22bb9544985a23c55df8a2a9776eaaa682bb706003f93d16695646330c8a0475f84900305b40f9b2e54d522ec0372aacb5109079d9db19c03595ad70350aaeefdac12009a4b9898ab4259cc5a29524f2000772440d3d0526cfc7f2d780888832b7527a3fc7b5df763d4d4d774712c31441269aadbe75378be716bf0b4f5cf3164707c8a8d300957564c5c1258119d988b59cf222950de826246f4fb5de111e8b72d6a7b038c9d03ac3b2d061a07c7d6d3b574860cce8d958ccf676324599b33e8ff0d24e24f25e4341fdbd872725c84bb666e604cd6e7521cb478aa80ec831279aea590654a8480ad545df96d89728c0de9e46718a6dcd74758ac354b47c772f23cad609ef6357266c4d21787528c16be7e2b74e23db435e9281029b6b941bf87c9ef9ecc222c2bf7d9feb05fd82aad572d03fb392445517e93ab6231ae9ff9354ddab4d49afa0291563e283e6ec3a7bec33\n\n# tcId = 106\n# indefinite length\nmsg = 313233343030\nresult = invalid\nsig = bf2d6fc105da6e9b202864ec36961da33148c02b3ef01919b54252458c48d9c47e8e6c44f68df073be76057a4ce99f7f39a42685522a1d3cb9f4a1a16cdacb079fc3f5947726478d403cec4f6d8547f8113ff42ab2c2a048cebb7f8d989d6b8690b52c19494f7dbb4e9f54b03233f05cf068f715006b0ba22d027b2b026c50690de6bdefb68e36ce3774ba496b4fd6eb9b4dc75756f492e91a7eff34df34739ee4c9d4c70e28cf0d101ef7ae131c602d3ad17adfa6fa6b2d9e290bd3133545d8f86fd9719068bf6466916b1fee375506f4759360dc67394eb5f2eb8229b4f25cf257d5ac798494f936b458f45e97bbb0e555c7ff0a83eb4cabffaf0acb62a5baf3eb76a571aa5c6fee066d9dcf4ee8e114f9b1a67b89de311c2d4e6305330224c10aaa8050c30f7eb611b544c74c3e76f38ecc193bffd82a2fb5538763db40a58d86c5d308d3fc40f7e9d2fc760ab91ec17872907be2b5b59cf8b63c5cb677e0471005eabce70776361e2cc91e98bb925d5576d5e9307b91e30d63cfbd1b77bcbe30541dc2e6367b75bfde9cbecbdedc7b6e83e201716434fc159705ae334e74417e35d5e08540f59061855cdceb1bff124810d6b44c673803257b8fb0d1d381a370d55f3bf59d8364299b7fe2f3ce0e0c8573be935c930a7cf301d5cad10601b5cefbf060e75642c9f6110df8739346c26ab3e7d4eeb8573aba901cdd7f5bc4\n\n# tcId = 107\n# indefinite length with truncated delimiter\nmsg = 313233343030\nresult = invalid\nsig = 5924a0a489677abc21003678c30202453cbdbceb80a0730c318745baf67b9ce438861e71076bb3981849310aedd78866d23b493ba42c37ece84044404f43664dd2648fd0e2ccec96acddb8d7ac1a73efd782d994c257b367dc9e84433b09ad4283b87cd6ef27c64b73a33fff9bc80314712adf54abdca29b61722cf38e509de1a7a86100605bd602f4ef5511105c50b1b49c51fb974e9efdde71e6b83858df47228e2e6de6eed91946f03c4b8429dc91d76f449fdc4caa251adb6b55840540b3ea379ba6220a6ea75fc1a716d91fab436bef8894501ec2fec9ca25b4013ca066e4a6f093bf3f2c0fef2965b14acd44c032f28af20d142feeb35eed9f3b7e3339d39a2d20069654df27f6b2577720b3291c7f65dc78601e6088e6c81d9ddfc207d47472b4fe0b4c633640f43c8fa0ed860e9624335d6c8c873b8a57c55c319975c96cb7e1c2c91ba4a4bec588d91837d7698de14ffd27ca6a1407e6cb58657b9a9ea050bede8d3e15d8a1ae9fd5bbe6f544ac0a56e95f5819025e392167db36abff9dc7e22fa1ed8f4034f77b89bcdd472855b918d241608f5d48a0ddf72b97fccb8d5cbbfbd43176d0949c48553ad6d56412244c763deaecf92ae8e09432c871eb2e62c1fe0f385e3590fe9c39264f00bc10d9280d385d88e28a522199a9108bd6d76f7d0d12585c8f6671074ea8405d2b396da5a86d11152d7ed86935e84adc\n\n# tcId = 108\n# indefinite length with truncated delimiter\nmsg = 313233343030\nresult = invalid\nsig = 18ac3a1210812bcad60da4018b757ed3494d9f41e8458fec434aea32dd9497ebe4872c19643ad7692ceb186179c168f9e21a58f65531c494f18cdebf315cfc2ab7e423fa0e3872bd1c81dac4f85ff2192c9efaebd2a5f2162a72d13dac495557853cb10f0fc0f06155a808a21202f5743ed6df409f3e8e563feba4b0b11f3fbdd9646a2af4ae47f375dcaf2880ff199f56f1c528868f0bb4ce21434be80ab0e4b8d8f0ad76002542d2fb1d582dca46cdac63192a1b1a23b28807ef569da9a4dd9abf31f6a7b6bcd1cf19cbcd3df50abac097b33ef20dc1f9f372c070c9cf96b8adcde790e02bec4e26204460090fcf13b9cfbb71122c29bf22c2fc1500fb9bce140abf739f84822b4f7c8b8a115f5050993cca0589c5f762bb290643b13d39673238f43219af66b2fe0fa426cd05a774c29e3f6174b210f1eec5b12d879890dbc4b3cc3c43c17ce6d5d4964e3592475ca", + "2aad44b0528f83835c328788d3adc68050b20e399efb422879bab8e5bdec8744c2376fac385abf5f68cae5239a1662da8d56cc048d1b1f55646dced4d1b5d79365d29b330abe412217eccadef0f18e37a2a6b7693271c67143a65adb96dbb561dcfd4fdac0ff9d2ad3579f9d692716ca28008294724709756df98fc53af3a24505294b74d8b43f5ceff8556f021cda4bca401b21f2aa9af455da7f8ad45b1c0c31291ff00e55620480de1fc33f2c96f\n\n# tcId = 109\n# indefinite length with additional element\nmsg = 313233343030\nresult = invalid\nsig = ac914ad805a436102bc7f16f93f17600f5f37d53ca361b03273540f838e5b216cab3ae38652a1b23b25db59483f2fff00a369a80cf99d3d0b39d40a66cbc5491213c47f5ea013583653c68eeb5ccdc701a6ffd79f189dd6d6cbe0dee4ee7f537ca3d0399c7ed4171bbb27619c008745227ed2a45535a7f70684d2934cba5f35f60530a27ef9df9a122cda908c357c86ed656993eb8f700b375d050a7c5308cce03f86efdebaddd0ad10e14272047e504bc12145dbedc7fd0b4eae560a1db0688ff1000b4da2645c129b714ef72117505e458bced44cbeeb331399841296ff1ee9dc926edd04f95979653307a5c359b420face9f3b6d8504195bcef9911fb25db0bb3418e87370541a160c53c5db901dc397fe15f9b86f68dac53c9119a6a51ae60005756477fda826c4e0013b272fb2b029eaa8f87375c20ea9626e250927d9649f69ae9e554b6f993ad0976810c3c1b1db5275e1994e8f066c998190fe116bde212b6f11a7efa6c76695f324697cde80faabaa97a9e26bc4c0cfb2c42be2021406156971a74ec6b16ca9954c3ceec6f39c07e9b3c8d60a4c57311d5ea1e66bfcf3df18e3c0cef0e7a791db286e9fdddd143644fc6dde22854d3081fa0a5acbb4e50c14aaec6da1ef6698a20e1d2c1ea6a9f67e4d4658e63f7550e84769cf9d7a1f29ebf28b72ab2d35f7f079ead71abfcec576f862dbd32f6906334384660bf\n\n# tcId = 110\n# indefinite length with additional element\nmsg = 313233343030\nresult = invalid\nsig = 94d625e64194e4ddf817475a9b0c6ba31804290ff703f39c0f806f54c200be4522cee5c0c37a350546115b28b3bd503f3b9ce17cb485e4c2875a48dbb5b664a280b971f5f7e3f33e09ff9818cb32f14e62eaad82bf7af60c84dde0be79b51c0764fca7b2eb6b3c193738cdc94a3177af0fc6e5fb2ad97e3777c423429e52b7fb937bb4d3b9e0851484501a1c77d0e0bc3b9766bdfcf58a7a909eecd6fd2984f5934e0616f56c1db1b4e72992796b00d7386890d6906170c8349e0a313599024ffb3ae5b7f7a857f9cf91b7b90460be3c975156ce3590ff8bef6eefa4d65e2966e5bd510467d864213367d3ac6db3607b4c6b773078620905d7cc19094e0407f4c92753971227e9888005d1cb12a855563552e610537385ce80ac1eb543ac67331394047c12f4c1f29578e62062b078bcafef26ac9c6a0a306b68cf0a717b99641ea7eaf5677d8effaacc6b6d71ad713c120426b225842accaf4921b9a96151bc9334c545e936462b5eaeac25ae02df0a2c4e76167a4091182d2159ea3d1b2dbfa45fe521fb25aaa56b8e7c5cb0746ef9c984d31dfbc95e40357051ee2182e3a949337e3eea4074ad2d9c0d578584f1a01923393ead31338f23dc48e6f9743f4ea9afa98354ea3c6f657305b4c35eebc391f1601a88e0022601de01a5caf66ed3fc7107c4cd37961cbb953547484efdc4807bbfc8574ee0d895f1bef46437b1ce\n\n# tcId = 111\n# indefinite length with truncated element\nmsg = 313233343030\nresult = invalid\nsig = 10158b081c00409582fa82d751e779cdb9501972d673a5702d7df6268c8b6c6d76ae8e98ebf558e93c4460f9be3bef7edcd4f78cb3a8bb5893cd055e884d72525b0f249e2418308c7e81b73cd72fdb5f0710b01878917677019fb21165fb819451b807c5b6caa23123e7ff0b889ffbc3484690ff2484acaf8030b6c8221a0f933b82e0b2f92f3b3d17105e4a52dde787ca4e37252ccc060bcb04d9ad752b03e85de89d2eb5d455a91363d189c4f8c0730cd165f4773089896b460584d4048837d9a18941aeb2ef5172ca71d44c72769f34272f612a89691702047ac079c0c52e77229a1baa744620d3b551a26a3b9ac18feb2cfe17abcfe3b9699b2474478ba586b7fa19f8f582f9f57a96a414d81dec30027e2784e031e52a3913de59fd5b5a6645fc71e162b73f0bf37dea30278a50bfff343f4c9f511f1880dab8c53871faa5683c219877d6cb29da4ce3d22ccdd3079f74953fc64262be53ae4dacdde65bac77dc39634e3955c00d817e8321427b6643dbf9f8bc83b85e61c959539e18af5efc22d4c22a18fafddd36b4f18d6285cdf37452d4f6fdbe4da2d478d11c8b5d1ef5435b3c9955a488e76b049dad19f2407871349093020f7879a950536a0a6c0f07c3e7eec951c8ab42dd150405fafc93abf43fbd895686ff662efacf9e3d13aec7ec8a8f318750715b45074c277d25a6ca71142dd15920d7047a4bb4363a10\n\n# tcId = 112\n# indefinite length with truncated element\nmsg = 313233343030\nresult = invalid\nsig = 5eb6e05dbd5ef027479a4685b3dbb29ab9be86fe8951a6d6908643a94d8a6ffda59fdeed42df9d400f8b89c1341024560ce5c48646981d6454d2301bf4f1df70be0af6c6dfa2b312eedad88d4a86af49e4c8d8a795b9433c42d77c84fe58035b4ceab914c1a9a19b37f18c85a47fc4449bb403eb1f2de3bc55a1cec6ff7de41bdbcc708b8af6b3776464e9eea900f910e807acd7ba886a7c2b76cc2ae5a6d372c39a6a89035da6934a09be6bf632392289cedcaa1785f6c008f332a887be0b148381f39b5d6da18b1be87920cb5b598eaf87dee65eef6b51f985d02cf5e2658d2847aa05776a81ff06f84bf9445b02cfa5bea1529e216f903b75216b794f3536ab3791eea6b38da91e732d784a870eab2fbf96ba60685db8d618a6dccee306bbbb3fa2c3c755d8a629099593faad78014c9f10ff9b949ee0aeba8bd3b16ad55bd19f18d14820c3a99ed87e1c21da8409786be4cb1b5c48e11fae272d8fa65f53f0bc2b79223f657d19a37931a73b4204573049b96d2e60d6e01e5ece0df14776121efceba7252dbb90c3d889fb7dcb7c43dfae6cdbc5c83416252d3304a82836b1e379046d73317598e6cbdc13bd7a2e89de3e92aa844f41a343e5e682692eb4ed102b3fc29e89567d789cf226811f08fc6d7ca3af31a363087c9cbed0201a2083225062710110395ffb2a2e446784b5c124f6597aa787acf303a0f20fa336f1\n\n# tcId = 113\n# indefinite length with garbage\nmsg = 313233343030\nresult = invalid\nsig = d42e9d65ad28358b663b241dcd920f1390247f086f8cb360e6eafbefc46d8cd3e58ec96f691d39981ffa2c6f1951f4466d71bba2cdfdaffd85646456146121295e672ec14b5ace16b2dbbfca9d8d2c9d9c37aea8598cccc56edec2aa30a592abf542e18febbb8e075b11661676e0099002251faeeae23557efef2d8ec21d713c2fd85f4d194318f9763b81521c270828db050e12248dd6cc60b36752d17d0d3355080370cbcebe4d7323d022b4cd463de54bef641027f4d1bdffcb23f6b0ca3bef588122e35989629c209337bcac8129054d1cf05c057c9ed266ef389791cefbe3b38697c87b8362a7f16bc2fefcd107a99ba1b776dcf83177e5034999cd56fd184ef93320a88f40c0eed889b3ba77a5378938f6c8f0b822e7f4afcef619823e789565de67a7a3daae4b4b9d561fd7361ed000fec8236b94cefe60095c0516f3ee3712b9d3dc8684843c0683881d0ff690bd82dd29e15349817fa12db6f8017374568e127db29115dd9217ffc11c2ea85a563065b3b21372a2173dc0d21a0f8008b73ecb36b605cc17f1603f0d7ba3b1ce95593b77b572ecccd6c4297c60bf260ce5fe07729b75005a9ccade5ee19a04e68549fd926ef629f8cf2f956436f47bed5636afef7cbabcb4fc9c94a190cbeea82c79512b5938f9a746b1d651bd6e1944b3f88289d9c377bdc463457e3e1fcddf8dce6637d88cafc53fa6a3e2078018\n\n# tcId = 114\n# indefinite length with garbage\nmsg = 313233343030\nresult = invalid\nsig = 0ea22f253fe76780dad6680542ea0f0b559ba604c7f5e16f1f248c773092f6fce860792b7c0a691f3b854d8554f098519084df3cccfa3db83ce1a172edfc672aab5e8d13ea73b15457b0d497f268a5816f842d9d787485dcf1655f6b73378c8e85372485054ddf409a5ce8ed8e8e2769fbcf58648863f0463d4361aa7c32aeb1e2dd3742106a49c684f89cf9f0871c33991ea99f488b81b042721f346400382deaed4dca657ce8ac17a68af64cbf9326088b00913e41885cfab0a551f097b59e2e192101148634bc063a8b2301acc3e5e0088dd1d47a37880c28883f87164b4d667eb96733ab93198c854658a4380b28e5ace8decade9ac82da2d889ec0092d361e34ce2664cfd9c52a0b49a45aee3e65ad4b545fb8c2a9bf2478b7c3ad969f916ab44cfa26f90bc802400435488512c63c83a7a46a1482f89777b629f913ea11a9b7c723c672b7f3f0396239ed75b329b94e1aa33df30523fe904204983db25d80396937c439709e443ece935e51e2d018b6159dc33c064598db728f7199f53fd659df0f6e6cac74e97812920becfb20bfb71d31fb0624a14e521c7a88086830016bb22c43a4efc3fc2a7ceba4291301c5bbb4aa0858823b65b0d90f0baa680809546f0dca13b4dd62f76cad902b522106ac4468c601218896a73da1971d7364e0dd1b6bfbb6f372dcc3ebb4a3f75063b20d389f4ebc5a9938c66c278b5a710\n\n# tcId = 115\n# indefinite length with nonempty EOC\nmsg = 313233343030\nresult = invalid\nsig = 22b60129d2653639fbe477cba3f07e1c8a6f05a5eeced1d0e1d534acee45949c41c0059a2c24dde635b3b4c11b5f2126eb67d9deeba2067b17546421c970b6f6c72b66fb0fc992d8ea1c871b1256a99cfbfcbf75b2fbe130e2e8ffb0dc1b57d19c2a8ad3f944e27cb3a14eb444c84b2227da621610d3569907fffe581708ac09dcc10d0d4893bf46f18de5be2a5dddfcab4edec6965ca6259c700edf114bdc86444dd2a891ed114c52471a7409f81da490509502ffde2af5ffaea6cbc9c6a37aa18918012a4ce9edec18adde61b8b4f7612e312f466aa00ddf0b27851420f61901d94efc0473cb1f5ce22090735ead3fe18e7e72234ef758fc0a6dadcab006ba54166724099aa8942d7f3ad90f7e0031d4d3ecd79817cee7a0808400deb50c1f0f30589dde23af0990683d5463fd2d3a661edbc9cc79681098c79d61291d1c225bfe2a1d53111d35164e23f3e1cf176f41d292cc08e36a70552ff0114cd8b8ea7a8fe0615b0df6113d2e300a142803132bf296630f331190a33f040d5e8d22ecd8b2aa044d280d72e59a98286e72583521d075be2c39d2d5c35c97b626d571cfe214eb4ddb9ae4353352f6634e0a80e31d1eed3adc698d9652041461e1dbe63ab3cbb992b8dc32ca0ab5e8e280b19585df23317924b888b18416f131adb1ffc30c7e43b330a5ddadcf930ee026a228c2faaebf5678ee5a78677dba739fd7", + "e799\n\n# tcId = 116\n# indefinite length with nonempty EOC\nmsg = 313233343030\nresult = invalid\nsig = c31a07c948030712faaa219622fb7c5d0b617ac39b9a2c64e944dad71fe7d4c5ac41ac5b03b4d2ef702f86a80da37124c396efb3cb49a699a290a2aad3d94042e51448fa160305403559814627d6f6b71f4869382da10d58e3f3d9b960f3bc6d96b2c228ea08eb37d65099b18ccadba626b79d3feacf1735999e35999dd0925d3384b621d97958533eaad9787159843a431e984e12d502314450336511cbf28a21c313a6308ac7769147caaf7bfe1acb28d819250ba87679a52692f9b1c2f833fbeb68986081fe36d8a9c91bbb939b999d6b4535e796368dad07ab86efaff9cf03dc56f91532e802433c7adff70b18a60c402ce53a3c7077884a3f405014c59fd2efc9fd1c2c008120bb97831b9ef1df8088e80fdfbebc7f0136c9f77e7ffd5123eda1e5d4e40fbec8149f227c5752b0c23035b0a5711b666db60a3ffb1a9e7e704f9704fc735b07d2347c6389c207c9aa17f414712bad469fea9fe6230825955c3bc54949aa3838131c3012cf9e0863cab77d95a96d37e021efd83dae21b9b16f75d3a97d72e8096cffd2f267992c27511b8e1db80c45efd0d95d55b6aff706aa37d7b142193d1ea74b7c359d4f6c8af3aa0bc439f35649d7161cd2ce79041eb268957cda759602d1e197adc6a2fd7421f0ea74a401bf5b947c4b39e6d39c19b18652eb04398e03c9f33d47acc6e3cd4744911bb8ebe5f3b9fa2ef62ad2eecf\n\n# tcId = 117\n# prepend empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 0ef4e9c1a2dea678cfb6b58581e01ae001e67e8310244ccdd6b83dd34d3246fee465fe61853c2fe02fa9857becafa74fdbe59aa21166c210b11730c0699ed35e36a274d0952a88f52e5b60e948d6bc2684146c74cfb255f346a3fac2d7ba3435923877648803976112b19cd9fe347955d0100146d7b8279a3d48b4c55813a60411915388f40ddd87175fb09c0b4aca6b68dad94c811385680c0a54799cabe22d9f376eb73105749dc2408c033f20d21ce0082d6197b2e62ca2fad78f221d971c432445a9330fd06cab0cffbce8046ebe419bfb354a4c935be8d72e75f7f932fa45bc2fae7f6614d59936b669b6a81b15275d8ba7c9e181a99e7d82bae1e152c02b2d3f3406cc98fe85da5dbab2cd6f1f379c302dbfe80e82e0a368c43d4d45907dbbf3c58b2c5eced793e8863dccdfd4c503af9b69355069f1b5254a349ab7350a2584ec044af3ca4c2246bf4ab174bd0477b11d6bdbfed1a9d48f1693c761e340348583ee522d51c89f427dc5c74771f0dd33538b90249db9c67b879d65b65dc818c1b016c51e055be80e8ed68841001c396d19c3caae57bea782dfc1596dbc26a3642b5661dfac202210ab4c85d5a516c2479cbb546915fcc809c14e0db9e6b4c6ca0fbb3c1b5b1f00fb8036cebaa357e05c796b546fe31bb1bf461ab2b65885b48109fec7b215fec0df1459774c96bfa8624f0f4202cdc907ec63162dafbf\n\n# tcId = 118\n# prepend empty sequence\nmsg = 313233343030\nresult = invalid\nsig = ac7d5e195ed9531de7ab8c86b4ae02c6e0c8d4845d2adfe0580ef3331db8d3267f83d0920cb5384735e1d70b053613e3cedfa84ec606fb2de2de471f40657e05493a05ccd0618a0a1edbbcbb997db604b122b50e12171888cd0af9c5e87614b7a4b91a714e45b1108340127442010b50f135f2e00119d25b32277923ef98c7863c678ae2eb44e8078f60bb2f43aacedd95af37d8d7e773e6405493093c20d358cca6206c4f76c7835bc8b62cbd98962587646ceccf57ffd3a29e1df1ed3e2fc7c69dc1a5c9bf13cedb130e685622807fc1f5ea48de9921f8e53979654b819114fbb475ec43467250dc3ce9fac210924d29d09e16594edfe9b5ecbeb90c14e56ade3bcb0f99fbcec5d0b44089ac0f006b3bc7e51c04420b6b2cbfdc850602c461672d4d1f19bc94e016fb756d59b0818356f07fa9396703adf698a0f29c6709ceb2789d698896ccbf8aadc965596d9072327e84418a733f3ada1b9fe3a7b50319f66a948fad2554644cae7347dc184137ad4fee0d63aa1766f935187d842d4c7a4f51d752c2c22916a2abe41bd1cabd1e155e1637915bec41a5e792ae8ce41917a8041d169b036f705daab59f48d7e4b8e7a4c63b992a4bdbf7fefb14cc76d14936ddd7682363a2b5e9782a0d2a0b3d1cb2d2e4974e4f7edf4e50ac02c1613c33018d1d85b35b7bb435ec957f37b693d736f89769adccf85872818943a67c93a8\n\n# tcId = 119\n# append empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 6fcdaa3bdd2851153a88d3ee180d531ffdb082b548f0ad27b1dbeaab932401c62bc47a6cc41a551f6babae17fcf81e8b1d290350d6c827a6219819e9796f1cdec2bbc8a2c75b59953d9003bc0e5d1e9633563e4120ce608c758ba03a779bc54022303fd59bf1f0238fde26748ee60c2d87411bf0c93fb67adc1bec65833bf5d3e80b7a34c8c652b67f73a36e8dd3e450e16b8edbe9623fc895692018899437e14136b72633cccd14703ff9845166793773562f5df070496f5e0b721534b35a5305699cb5dbf56cfd62c1a8527f7d06604bcbd74d0a8f8fce4dc8733bd8ca3aa08fd85a05e2044933702d90897e407b274a6cda2397b58abf12f9cdd377368131e435096915b1031fe900d308196de742c12f156c26e49d7d95c44f4cebb16de3741ce6ce97a4c932a3baa286f4b0521afac0ff081976f028f8e6cf3c14bc16d905818f8c6c5fa8befbe4f753da2c335181e99c92ad106de82aa152fafd8507bc0032d68f22949ff03e3dbc829c513d5c6b4fd003f76516cb2b23859b07b77131fddb427886329db959e4e3553eb8d049ef6e33e42090611fea717ab3b42d56a1f678b0e70dffe70125f5c924d8d0154a3efb75a555b970bde79c1c6c64af6ce2b803e46b8bc94d7db826eab51d9fd441affd173031c0b28447aa6c2dd666ad32814c753fea22f3d816da523f3565e438d73175d508a1cb24bbd2a892d87df509\n\n# tcId = 120\n# append empty sequence\nmsg = 313233343030\nresult = invalid\nsig = a5a73b52429e9596e8dc30c0960699a9a39cac3a14404c0e79db0a4e3c81aeb8391ced2ac1fb2808f6d45a8e84432053e9cbc8bd12a3bb862b067697c6d8e602db8c79524ab379fb68da90aa27fdc54617cd4e27433253dab56fa380fbac707a8626129e20a49b207cf0674633e29801eb034354a5252acff7ffeba3d64b29bfc69c54480fdee04d7686b392bdbd489da711de0656b7b86aa174dd78a80e6ddc424e0de16a01c25624f200a19178054835ceaac2c20b183199e62668f3c8141c0c7e4048ebe7623e8b511573dc12cb03ff1023d41484262a0f8f57a73a6ea1e00b3237404dad1ce60c0d7f40faefed4f97f56aae395c6b28f6d2038a769cbd4ee32507c17b4bd17075e855367053b5c2eabe33727c1f54e0a96d188da41220d57575efac1ef2ff9784e0dd5be65bca24e918570c52aff4419d7b0571466091a9f68e3d55a59216f8f69357faaafef2b0627e85ffb6f8cf2338d427952c49e7430a427a5099d22bbee55e8afaf266e10e4fac632769619501c35f48789373f155f3f12adc0047444413a9ebf490e6fb68f8f75a575971333a14ac669f6056f1ca0196761df6a19d237e1b60895386feec829fc7ee1d74c4830f9435562568f858a75dbfa512782d9a3f817cb40d6a496a7e6161e066c8529f1d925eb215ed88b2984a0f98dd8e28886865945ff1be0789677012ec93b88c9593c4cca14d5a4a09\n\n# tcId = 121\n# append garbage with high tag number\nmsg = 313233343030\nresult = invalid\nsig = bef5816fa3b15f171af504f2ea184e57d3f99474ea62911aaa3255a3335293e1fd2006f814c81130a763c9c65cfe3bd040e831f350ec7b4c513f4499899c052638d15baabc13c9e8fc3e7b312f869ad557ee4367c38072a2c9886250c1433c44c4ce88fe65f56622ad336729d1627af94119a81f50f0449d025f8401ee17cc1eebb697c65a97caec4fd3e6e1b5af854f1763a8afe5ab1893541c1f3105ca5f1e36124ae1a9a2b21a252f3d7f4de6fbe07707746b303ed98418d5694c9e67d2f546ba7e6fe71620ce3793edacd477948ad09aa8d640ef91c87e81b43c1d581a1ed662ab5345143ee572462d4b88293748964f49943385faab3bd2d067c7368522ea9daa137016fe060e7c5b561a6e4e0e6e63396c44bfb93ba917d873bd2ce382470763935afbeb086071268669c82edd9048aa96d8f4f9f329d8a27fa247716e60d122536f3b9455897c0694950a9f60e53f88380ca5cca2339faa3398a766621132671f7c9693cd2f02d21e7abd33244d63622fdc156321ab6c7fc7ca7efc56e28ec52148470d8addeed698fcf0ff8bd01bd64b5b5bcff96e82dbd84161d4ef4c3339cbe7b82c36b529078ccd6fe42918029ec5d7b6a69f5c82a50364e040dff69ee5a7b015e604ab43aa46691ddad543dbfbac3785fecb209817d0348482d5671198fa124d5a45a29ecae1670a11c6c7da496cb10dec64cfe80761f76b74a4\n\n# tcId = 122\n# append garbage with high tag number\nmsg = 313233343030\nresult = invalid\nsig = 7b74df1019573cce85ac1fb8b57e46c725c06c4f44f515a653b26f50e677600b5cad055508d54c7f73c50d7df2822916716221df94bb6a87b0abe955ebf1216949a8827e380fd05b4e59c86c4d821e244a26ebb0d5221dd461d9287d0cb2e9c27f9fe5c53c3c243b45b816902b5d2ff3a5650ecd749cee7d69e3fd517e56986739f66d82fa54412ffbdce94cda4b9523fa177a09a275634a014d594efc16eb52c52376e9a1c7a52a6b01f4ec609dd276eb40bb3149d8d2e1d7ab7c1e7e391770e0f821495dc9d574ab859567b0a1d32c255b398d38a6d75d8798f8c1edb9ef2fa47b0f27b9f6ab5cd3599d5786ba01616a41a385158f92f551bffadf72a68d53748d67f909b85a653e04f39722ebb2f628447e7eb83f75657ea547af3b722bac597fc2efe61e540e4ecd5de24d3e739c6fd219220a37a230834d8d0238a09c4b16fcc1efd85e074f5acd71daaa4ee42a144c9bc5a117a9854f07b62a0aeda7887c13f56f98f73d555f0b9ac5bf933887639ae6bdad38d3c0222ab54bdfdbf5bcb407d27b8c20f8f45713905c1d6d9bd98160db03f7fab8186dcface315c27e361456b7fe8c47e25a7a1044b6def6c6a88ec91af7a841d18e5efa9d301a35817e1c43465c273ad19df89ed7d5ebf8f0a6ad808459084dd6124726491abafff6f95e0c1fdc8640d5e6a7db52916493792514ea858679ed9d660cb73d7d84f6c09b\n\n# tcId = 123\n# sequence of sequence\nmsg = 313233343030\nresult = invalid\nsig = db24a033b6f1f1fb4e43ff98b0612b93c5d19957914cb21ca78c4cc6b3ad5242c13f575302ca531697c1b73cb06f1b7d29d017224a1f2e3fef14c97aee8290d86c00922af0b2e82f7d8010ed993fa983ca77c5dba14d491b32d7db94c56bdc1159e743f4812d73b1103badb4739f2f8a1d4b65d4b6c43fc7b83f35c0f30f0d9177219c133b9be10873c2bb0909c6a3658e5e1b3eff12b0a98c39b7a6b0121b24068511374", + "6834eabe950d61e0080ccca319dfe0d7fe33b28ac7d7628691be5211f2e1ae02b394aa9c88b1ad93ed64af0eb8af3898daa98d384e6751767b61687a5a54f6adb4c2fa76319565a5236253faf0497a625a62df92734799e192464f792ddfbb8f64ae65fa1fea3e3d0c4da249c28711db543a588493c5d20f42baf8812b3b41b059c7bba828700e0c032e55ef1c60a1a4d59dfdc2d9f10f9e72e24477256dc956ecc69af456409c700805ae0f04e9fd42c840382708e59214ddcd888e03cb96f2d22d594ec199c54162eabb5b65cec08473590f9c2ac034302391e1b2e9ddb78263bea393992a43ea1bdb3571075d56e2b77f874fffca00e291efbea0efdcb813a5083e4b74b1066ccff5e7a77fa4168dbd14ddec94d523816ac0289f5285b63ece4e5aa48854705a03dfcc6e41982139fac18f7e4fc0893954841be37c18c4f9b1f891c2b8811a60b12ee62b3085509754d9f33c30ba808581168f8\n\n# tcId = 124\n# sequence of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3ec8c8209450d96ed0cb462e1908c450926e7092378c8afec5f70636b8574e85c67635697b95b3fa3ecc024e5629c68435736d1412ca8665b77670afe1a48bd79d636855e2f85ad049385846d275f75b6e77bb69251112352f2d438a5b0db1b71f9f3c8e2d46744a4176ac3a7880a36e0afb157de03e5d59e01fc929c672c144a448c77bde4dda5d5a9dd74ea5e53e07d07e5db63d845fd1a18114548a5098665aa644601d6e696bd5d2f81f1f71d9f2e55e456042d7ff36d813b19ca420d608c8704efa0519e2e147f155c5f85b6430275b5c1fa913f94d78911e0f081f8749f5bf7dfbf21a21fe50312ec40b8f8c9d1c1d955d0a49e668b51fec3a52d268dcc826bd77fd5e0af4f2c447a51dee40fc15faad7f797e0db9072faeb1fecf7cf312814c7d854ff3ce000fb0680028c110e608ca25b8902709faf64d0ea53201abbaac6025b87992d961a455a2778ff556015becb6ca41b477733c22d991cff0416b842ec3d86c5404b2d9ed3f47efddb6fa1f0725385d1733a44bf75b51a6a6fbe25af3ce0840a95f86da227e7f93f30ad47c033660c45013be292820f33d9c9e5d4f68b5e05755e18a1bce10003b7d2ee97932af123f636295bd8a13e07577ee3f3bc46ae6e471fbfee565a3b461bab9af67f18e244bbef312c8a59cf1eac8e88d4ee1b7e085260c0507945dd907ed6797041a594b88bfb1f338669f06984a70\n\n# tcId = 125\n# truncated sequence: removed last 1 elements\nmsg = 313233343030\nresult = invalid\nsig = 4d54e56f587d6fcaf2e43ee1a8eff33e833f83d91ca092d0b536d0fff80ad67bbd9926e7fae8b2b2215babc678e6abb916dd19b35c8bacf99b397c8ef364b9d75b595a4dc9f07d3d4a59c52fa4fbfea7815a2196b7971867c8bf931705be8f106d150e71bd7f7d652686ede684addb0a29987a224627cfad213064c1d1d6cfac92f88fd9fd0703a74741a71d43c8029804fcac4d14f5d8591b15eeb3dff5ba654b521c31cecf2ed7a70014c748f9beca3f1b69baa4fbef8400888c5b354a8f6c80587675435927699f0894e109b21aed4ea54ff60fb2c8298425b2f017db44fce14f6eb4fb95759d79d805f113493f7d40722fa37cf797e03b6937179db4438a7895e74263a93ba212e7410e17251d5fb49fabf05c142c9f4649d44617652a5869496345cd48245a3fbb6dead2ace71b7fc3965de6e70be503b2fa953bd9fc76f5be70c0f7d987a323f8a221b875c805282b6eb58a6e4343eb3caab62b902c9310e56ad50fb4adfdc68f11e9bf94d76410bdcf4ebf05dd90d341f025ab182bb8ea0e36579288f6274d47c6c25ea8650424c2e12682ae58078f6bf5b0772d932aa77d837c2ccbb0856efcc564a28a03fe57e9c674889bda54b452388ba8373cbcc26c74e7e93edb9cdf6b91d22fedd014f1151f8a5935ac64e28bf90bf71d92d8415af15127dbfdeb98ef80e841254015641596f331cf5214edb7d8b3dec1f8b0\n\n# tcId = 126\n# repeating element in sequence\nmsg = 313233343030\nresult = invalid\nsig = 3393a6451aa65fb86560a8d01c75c99485be4cf363e43f829a74ccadf02aaaaa85553853ed1cf0115ed5358580eed986a3de779a1feb8e4e1e312cded0824a0e1b5669422d00ade2d77da369cf2280a99b9cf42b6c2a7f3038aff49599555cd9549064d806625c077a85468c5d36fc8ea42078a16181ffa5f75db72f0eb19d2bbefb5ed86aa80a821078dc42bcaa0f206bf9712ced9f18853a6b24e80b418a0dfafc6f3d25f7ac4f20b305fd959c8972eac20fc1dd962c0e504ed23d2231425ffa5a8ce0a43216f07a3cce90cb503ace3a4dc6e43f4eb9a93a68a0eccacfc5300ce94a48f96cedd1179b294918bf6b1c6989ef4804bd62d820a8e9ffc04025b7657290f74fe6f02f2f6c6e0a5638d2b806aeb27110629ab78f1d4bfb22224e8ca09e47b118c972bbd3038024214e0d2a8d939ce06e0f13ad60d753fd62b26a83f9b2c28a10ab6b8e5112d3e52b03258edf0fb204ddbbe1270e41eae54c7f92c2f65cd287aad76e6dc7724711ec03b338e3f6ccb9c8c859f878c281dc0bc61a990d244154b39cacfe47b92d7f8752334e859b5796951ab3b3a09bb269de282b8530a018e5d4f15481400c0f3fa5e60d0d14ff4546598ced7f73a28468639cda085efd5099c12378b12fa4067c1678c16d0954f4b5954a48c2deabb4f694c171d69e7efdccfd18887e79207fdfd0e879824ab991aace5dbfcab0826ee8f44efb54\n\n# tcId = 127\n# long form encoding of length of oid\nmsg = 313233343030\nresult = invalid\nsig = d7084e9d50f340dd41618f6236c0dd09f86ee1858c77e29fcf82cf88431111edd025d3ccfb90039f5b6315e1eaf2adad3f591f3cd4a0ee492061a73da45668485dffbec020947e3f4a07f82b3a5b4797623867ff4d928bd58c19096f604656f60d8e3eca9e218fab21d3470453634838bb52444ae1e2bbbc553b112ec3a3c0785bb3051183fa28ff255584d75b445102521c9376ed9114e84f7a22de4021c334e7da873aef6db293903a8d03cdeec3150bc1890d493b418ed23ee4df2631347247d418f201c04ffadbabfea441684621e78425b9f5e6dfe89977e7d5da88720595850b5e4586337c22c1a4eaf35d5a40b47791925d8ddb9471de7c8756b5bfbe1a440685d3c99fc91f73a334aa2d2b7071f5b5cffa643a40b9a8544b725a1e9f2c2bc62a4ed42dd4db24cdf80f1cfb8e9e5b5b86d200b5b950de96dbae50266f5ee7ec6e4e2cb2a635f4930e0b38d1028f878bfea22b56acc9526af21296a08849bc1c3a9b9f90686d4a0426dd8904fb44e3401fcd6fa3a625a8523184d2e03fd6d341e3bc365bb549c5307dd928cf1e409e7d60a1f3bfec1a95501d32eb79b38cb50cd5202f12de07d466531d85e0c668a70cee060cc3c46983cb488b8f79ca5311c91f2b90c8446fcd2a58d5617709b79ebcfd5234c7103489c4d2fc3d7b3387904e03bfa9f8c5ccb9d5b3f78eb05943273dc8a940ec0f74c5910dc93da81c\n\n# tcId = 128\n# length of oid contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = c08f38df11975c781af71a9a75b80f89ca790240533b40de0363b19584977b411adbb2a69921f53d0aafe040ce96d6356b879e0e4f24eb0dc04eb8b3a19ef578033514c63ce08a01e5b3cade4d25ae36e7c105450c7c1e2f2b4077b492a3b23961c9c40616617eb081b8a5616a741c30ddef99e6fcd0934c4af56b99cb48d4419dcb5c0d0db5cabb1a3dd11eb8ebed9a6303efe4b9ba9d00014b72a03b0589cbf604a9a13f224d6540a2881c180370ab9e2c90c93e5c9bb5e58a0926b6ab75cc18c12431c4a173e8c3388170a8cb7100193a8c644ff27495d98fca0a5f0d49cafe618c769cd5831707c8baeadaf32df0713063820173803c58dba9ce292b8e318b93fea3b40d75ba0a0570512e148d9e84b5535ea70eca59e450aa053782ff8e5ffcca140dea1dbfcd37ad8ba3ba24e6087275e947c17a64cbdd8488bd6f98f9388549b00b3389d256ed0c6043785de6932f25c18bed5c0527ba46652f56df24d3ee969e109d9bf23ccc9359603648d8e7b064043c9973931ef78fd107a9df7128362b0ad4cfa449c86fc613c47d99222f9500a95584c746b91dd729a987bc5de7c6bb926d52081945a9b42ae061347c16e71d91a6553109018d159fa7fc13a8d0ac9a57b132bcf7947f19e0444148173728397afcde410416b1360ad1e37cba2762f7e15ff2fffeee2e09d03b83ace24e9395e3aa6a0fe97d035e213164d1c8\n\n# tcId = 129\n# wrong length of oid\nmsg = 313233343030\nresult = invalid\nsig = 21aedb00191da333a649ecba6a9d715d4b5d379a854f27c6d27c2ce892d6d664664ecb53351ec7f1bf7573336b3bcccf7fb25ffdc3a6feb3b95483717c08eabdb8d9e3a9f91937f495a965028a1c89dbcea8390032d737289298d6124197090f10611e418d7f6d2b36542549de777fb8d0a257f7ede55a9b63a9b0d7bebdc21b4b8c845e43faa271d55d87781ab76bab9b57a2e2237c466bfcdd8e2b23f8f65582c2105aa37aef7687ffb514df3629a367bc2d3fd183199699cf93c687611fc8f190efdcb02dd6b9e228361c7a72c2ebdd5077e09ef866e304dfce2b4b80fe99b42a0ce9f47b8ded420fc0e7e462a46a82307d42e5f139198556c3bd74f7b0215d8d1552c079c895efca2f9de22bdabc46efcadc355d13cb8ad6262f7468b85eb1b1d5c13a9aec97884421914b474d9c5031f8963b5d635cfb8dabde4ba9550978d0bda9c6ea0e28a7f78b1a6ca82185acf4412770cef4189b491c16f77357df7b6b848f4722c098e20cb7c249f3883c029e76ff184f657ac4b38995b428d7acf40239b101787e5c798c683afee7fe19fcada3ce41d45e63d06afcc6baacdf4287e70f03d38ece2b523f57c3a74f89d23c9490f0771cc4259b1d6382f1f0d6ce95e7aa6002104c2571d08f201f57cc8058628677dfc7c9dd631f648327c9478671291acac13cdb02d54c0e7a7ba5899b8757796d976e97ca64b18af462047226\n\n# tcId = 130\n# wrong length of oid\nmsg = 313233343030\nresult = invalid\nsig = 372a2b118adb8ad8f08f5a1d9ad3688c8507591aef9122fb295c7aced53d3ccd26854a348624757e008de36dcdd1367cff7bfbc94776e762a5c1fe61d1dd2ef8d25e714cc68c2651456bfe310b2c61d170bce07d2d6a574eb6a4fcf0606956d6c18a25406ff80c0e153fd8d78dec66d319a31080906150a8fbd3a6b5a42fc8345be0bd28335baffcdeb458150327591770697bf785cdc1774a34ec740b9ed76f386d941a81e0bf8902f403526797ec5bd5058700131bd42c9c1a42a7f883a85592679f1e81647f7a60981fb5d0975ce03366d4bc5a3cda125e6dde4173b4b99f674e5feb0b94ac15e4226f1817a43761b7871a82a8d0b5a22b30c3969eef469127bb01c3f8be5e35de49c41b3713ca204d750e191a5a303f03ccd67a3d3fc1162b197cdda6cf604b5d7b36c25930f5ca5029f071438fde1f940a27055cdb0a902f3da6f57f28ae670ea2d3d5554c99c967024386835b604b0fd3f148ab081c8e79da6ea467ca16f14c938691eeb83157", + "4dd35eee97a8ace57afacd1f5c564db178ca057f596f5f667fe7a6b938075c9ce3b110bd12ec2ba3b82c5eae0d12b6bf1962496bc7e13e4ce04de5a1639c261f9562aecf8f87211821010b0a32b28a4cd6b8c1818b3ea248b5f11ac9ea9372121f30bdde55f28013c9713761a2c85fe563c58c418c08081fecfc178fd6b64c6ba93a9cbd2e7d81bb971132156b03105d\n\n# tcId = 131\n# uint32 overflow in length of oid\nmsg = 313233343030\nresult = invalid\nsig = 6c6f4014c6ea5c64e868215a495fb2e805065458db2bf01987d4457589d5735582c61ae5648d93ec37e3423f721311b9514ba7d59cad19fe731740af194225523889c451eddb5ee1af9b6f3e8da6a439f49052ea041010d0143f2abec804b0d6b1bd1a0336e8e1bf3aa74b817c212712f649862c68667abf57e0aac47b6d03de3b7099c7384669afd0b5dacbae4bc5c4d6b3bf52dfdc23c465d5904d6b6333ff685edbef1f9cdbe5912b4fcdec6c6be4ea77f3d913f47b09123a9d3afa48c231453063ec9c800130efaafe7beb7f7cce2ca5e3ea43529e68d85f93b11392e9912c9ee4b6df257c76d01a18aa6e6cd9d021d7d0d0309cb18b9f1e5a2f30972e57c5c3e12a4f5c37680bc1d1bf68911dbfa79553d993d7a9b197360ea9ea9ef6e7667b23b6eb1067d8bdba19a87d302c7cc627a4beb504860f17b89ff4e3fa7600d9ab651bf71bfabd89166033cfb5585cb6b2356391bdb06cfd034a9fbf467355ee91e19f25a9cd66b45456b50c8133e495e22075374374fcab1d373dbc52d57c1f38224b1aee50c8f0ffb34a7182220d1adfb780548289d7690ca5c2f0414c80e318ce0c62a3b74b793c34b708f1dfa1f87fed6d0ee5ae1813a7e881ef99b0f3c0df8616bde1aaad8571e106497b56c8515ac53bd24879489d7017f7f9dd182b5acb49bd3b76bac12ba7920b1c2e4f0b705a99e29c93963ca897d152329fa097\n\n# tcId = 132\n# uint64 overflow in length of oid\nmsg = 313233343030\nresult = invalid\nsig = df88a9d6ac58442587b86def97fc8b0bd5934b841c15f3f1bb78d684060ad8d58991bacdd86880be01e1921d2a0701834dec7b5eab1ce4d6f11c314d4cd28fc7ea6fb63d4bf49c78deea16ec7ad3d807e57dcce387f21b643c7efbbcb36ca23d22ffbfcc27ae5c019a9974fe1543ca1bc894abf08aef39e25f4634eb04f4573862a73aff683ba42a8bf344f8840070dfed0bae179a314d235a6930079c62b22ed6a0d945d237832afe911ebab772ba0ab6f8ce703e28adf589edb836b120f370eb2c78c34a9f5d6258b133f350d211d2ee2955a64d0c7bdf53e957ab1ca4499684ff828aa51b844015bf527f89daf8e54f315144d0ca426fb67ba965a92fe77aaf42290609eb6ee7d9c098b4c396337a4e667baa50ecfc21d53d43270efae88206f4afbb58e94f43ba42ff3bf43ff665e84e7b2c6707d51b71155a734a8cee902d55927e1bc020e72154c06bfae645177142b0d331b480221c5c33555b9ed83057543219528d118b7e66365d9df9eb381d2e31da9b0f6d8dfcf30edaa7da7c3dd2150d9f5c52735c05723995d348c7bfd9f6b38000848ce4ecd8e91b445300a3744e453bf36247df120e5df0f9686d99fb9a5847fbea8b09c2b64003daf243c46e017190ba5a7f7cc8a3c8d3af7f348a757e814f673a8680311769b39288582c9d33de02b2f20cef728cbc9de9629b6002dd71f8e6516eb1f000e17158e9d407\n\n# tcId = 133\n# length of oid = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 6f6718083ec44daacefd671314a9b2740e6fe164384d24642bdd71f6233d5de5bdbb6045ff38a86974822016f221d7b3d1c0035ebd7bcbc3f1d4e82bea0346f979242e5d279b41d05e30040d4994d8bfba56724a734298dcc01e7104814253f12ef0f1f677365a27173bb95aaf805e31a305e81d382142447d8c63a424a8cd5b130266659969cbf65f7ddf6b547d4e1bb752a96c6186bf29ffd52a9d8cebd61ceeebce3353b3d9797c6d1f15ab1db5d83b56b7c0b5dcfb10d68c963a7b819e2090645cb3b2be0c85919b114aafc7e08db4c5f05662a74beec2ce7f33a020987743e9fd7f580c6b17399178aa77c230bf1b0afde4ca9b8d5cb18442441f4ea54e5923adb44284cb0478965b5f7f50bf0f3d36eaf9210a5fbaac8deebebcf842d70f2386bde916c04120376c876e671f8df173bb12cc11746cb1b3a7bffac5576fd2fd670b95750b803c8edbf761f1f321251110994027bdfc300a0920ce03a18884d28b4878a1dc6ffe6a4710b37b9ec252b40f69902b737267f0cafceb3c8587c5e484f79abc607bd28135f88ceea3adf84153013afe1b415fea01a6e95793eda64b9f6f701e9b6a51d0f96a04f74a5fae2b19db2ad72d8cc358367cd8b6391e12a852f8963b559f863ae850777b2cbb602bd6a9da58b25464aa24315ecc78c104947b608c41d3589798dcf910fe5279c128c99d6c5467d7ddcfbe35e766c9ac\n\n# tcId = 134\n# length of oid = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 0c7b971b62c6a539a0f1c217fdf2796fe862e091e98390e752972fee87adf3a541d3c656962aa30f641a28972bd01f2074133f2077477e474f413b5694b872622a1798c776d001d76a2268b7b00020236e95b47f6dcc83e46074643d69545d4f80978c4b127be5eeec5dc87d3e5820432a23b717d276e86ab42eb9c87bea82f602b5036d6b28cba431460bdf475f2c74104d1155cf8004f083dd257aed7048428085a7c345f6e8359bf19a0e6e7d6ee100bbf706e3c7819d427d76920f0ded8d8d1a24c35f182198eb7f3d53bd4f85a011175d2bbe62918e3e021a1273a808bbd3639bebf3792ca0f6c4b541244775976815d5a1f989ffd93e5deb1cceb61dfd10a13eb2ad6b22ae6eaa8ba8c25bf64525dfb440813c5b7486c33651add322f833483e34e16527c5cf5cd881a5dc8f75e369610a301c6565605dcf0c631994bff502872ce62ed85a86412fe40af2289064a551ff8f5e22a79049398933a6d5dfbd4d525ac67781fdc680c9c22e40c0b92a8d25842c076570a983b852957dff31361fcfee297548bbff92be123361d6253adbdd0c0d8bb9d38546c79d59c1f9a09d711bc1728e68ebce398d94fb8244f1c959d54f071c321ec9a69a255e10a69c521d9a1a7128f61169a9621845cf4bfa700729e31edfb9cb9a01cec36882a1d31f8448b63be4d98affc9e5132f171b93604c83f8a688dfdbbae596d563211c36\n\n# tcId = 135\n# length of oid = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = df87b7a14a7127daff816395b61a9d9b8f6055460f79962c9561a94ee33f766f8fcf52879859f11df95018eb83abf3fd08331fc0bdb902104c7a931946a638aed114b0e1141c669d31516497945e2ccdbe386e1cc48fa19d9a3b4fea902f8fc62b8977bfd468fdf0e6b7cc2ae4219ee8b42b1ff5b22d72a0c60aea95cae3f7fc542469b3a4811925ce493bd9763a4cea8b87e3e4372d855ca61779a88a51832f72d8f96a31b5b0ce2c312c94cc477febc69d1afbf9c32258e88291d745442b153b4ad31ac376287e9fc20ee27442736d187e396f089f6ec80ec38461bd28af88165bcc5676fc0a09be3c0a322b07ebadc1e90152a50131719ff676efe3624056c03a2484e1745754c58d78a38802969eabbb9a750de6684543086c3b42a1d58c04ab222a465578af09c644e1c7a25bca4f3b5110ec89b5b8c6bc055706f0b4af09e772bd05c5f5dfd8b4e2241778d8d5b6ae3275208a016e53891618d6f6145cf5a6ca613bdacec5b75e183864c61c8354c9ec6939795c818353b8b99b043a2afad1e7b6bd2e91cdc5230169fb551754bfd2dca793124c3c863e7be8a7387ddea9409b745d952b53fca4a20cc29b6bed8bcdf5b2f51ed34721c59e0c630d08d19abbd7d95f6d12892aef338f0c57fdae3b67194c9906d09ffafb5588fb6925ce4a2580e7af10831efbe8f56e24c3e7171239af5e6be3303331c59574cc910edb\n\n# tcId = 136\n# length of oid = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 9c5700b7d722a8f1f83fd11359fde32aad1606d20834a7b7b84b22bf34b18f5c383a34f229b65c56f70e1347632ab59a75821ea623d0ebc09c4005c0f32a86e1bc873689ace2b73c7c84b91fe270f457fea200051e041eff72af27e7b773769d37d5569c02de5a101467bbb014b065bdfec7780823e83199a32064cb2149c8ea388162f7a2e3604c7c33e14e5cbfb54e3597704026ded5670f5efd979dcb80a0b5beca42e5f49ee80aee7a81348de4616e3b3d723dd4fa5e73c1f56bd9b3276f85ad8ace654fcd46d7b6160d8ecd640e823432a074d4bef0ab0b58a0dd14943e710b7f6d7d23abff0cc855b7e932a14c9a6a0d550dd28a7dcce4605391b0ad128bf78ef8b550187c4042ae89570670587b8f1f422b12b3cb20d095788a8b31a388efafe616dd1841cb458de9d45829fd1597e55ee0c24e5f6cc71d194fe02930dc371f1243ffa4260a03129f00281e8000069cbdc8701f4693f94d6679807e28944b40317ce760b8ac170390233ab0d00f4e42f1e514950c7699215e2e2cb0a70075a22e554b0821083ad45d63eb8adb54cd0063665c4cb10f679ea3caa647fd5488bb3af879a2f2facc56efb97880a168a3c656c4d100826936934253c47f87a26490e51843845722862b55daeeacf70b7da98e76b497627de060ab3ba712dd8bf9e1a9e15dab3d4674dc32d2ff4caf9b30f81c82e4c302f7288b762b205ce0\n\n# tcId = 137\n# incorrect length of oid\nmsg = 313233343030\nresult = invalid\nsig = 84dc441ed215a1b7afa0815ea15f403da0b53709b327a8ad26677bdd79910bc931e84f6e0a9a0617af72c5bf284ee1c05aa0029d4bd5f7204404d58378b5150746097d2f650456bcea0eff70ee1d1371a8b3d14564252bcf655d539a666343883941b3023b095001cd1b05ab45aeb3057bb40f8fc1100108d9c1ba4fccbb776965ba45a5a9cc6eb0ecfd230b0a2c4da0d8ded54f12f290f681878ccfb02ce97c8055f29032497b87efec10e225c204315adc30921de222e4f2fe2a92f995152693f9048700aa127ad651e4fa8f6aace224953a436fdba27470f239c7f9a59bee180e2c114b7e435a634f9cb4ddf49717ec10e95db84fbeec6bc6fb09a10f613c6d8ae9ec315db947fdf8f116256235b02687f0bea2c706637ebfc309895be00264bb462348d524903cc8b134ce52f407aa8c871a829ba7cc568a03b80336603af5ef3d55e54f4bb1aad3353df4645ea9229b3a84c83092df72b0ad5a6ca0972c54f9c1dd7b05f3b8d45e2f5161bc5c32fce2cf9a35bb55e818ca267c0aac225a2e3b63587d9391094596365b3132eed6ce24299f365495cc6029480c2b9e3562d8b7be8ff01ab487c39df67f09ed69fe586eb1875ac71a7a2b696db2362037b8ec4f5f71872119fc975bcebe0247a8bc15cb61bfba478a6f178c1ee9b2936dfbdc0b408ab056d04e9848a7c95c8bd9b00013eb8a045f32a9ae4017557a23400c\n\n# tcId = 138\n# removing oid\nmsg = 313233343030\nresult = invalid\nsig = 747cbc58a4e2564523c46358d210af9490c1dd2679ce66d26704351d1", + "9fa8ccbb3f66e32a066deb11de7dc910a37f46e250e0f9256dfc8df5c72cbde63a2b2ab561b1d79ea94d51e84d0a022552a7ed8e457822e8c17c30c723ad5c4e333e087211566cfaae130e79bb0103bbe093b30f1819f908c5691f4b4f0ace3d8cbca25654ebbb506560683fad45d8a4914b242b72b99a223a2c0a3ab20486d2cd1b0ac60b438d8cca5ec2f7bb8384690ec4ee9fbb005b3d2ea21749ab86ce9d64414e9a87827fc9177f1a5af6cd97fb823874ba82e9ff53093fa2c05566c63e4c7f5dbbad75d8263594cba2949113341fac7c83fa13350ca06d73177241b3793f78027d61a20c37c56e9f34fffda7258004b0202a12969f718c278854b136a110dfd65fddea97486786bd5785fa2596bfd6e78e353b4d28ee6434df0844af14de10efe2d6f088b2b3ec0a7cf6f9e4a5830d7b0123caed7857d0b71fe9c56e72c29a908bba3cb99482178d64a4e27972179e4da6058c97e648c830e0cb96ba71eddc1cdf41d38f852a16554f3d9821aec57ec8506f0bc1df2a630b58fb082c84dee5e7bf3b645c9887e650098508ea288370f9f2cd32fc3f74784c82fc42bc2a09aef3b8c5fcaf538c50e12adc672200739cb2dbb343b1559bf70b00b2f83ed3139b106ce717f906b6de178c0d9da66966782cad3f7727da3e32950af437f33cf14e868\n\n# tcId = 139\n# lonely oid tag\nmsg = 313233343030\nresult = invalid\nsig = e168ece53793eaa84954f43707e9db53e1541394540472d502a676f12c5b4c1f1844d1e4a4fbbc3117c1cc503aa49a63138565aa366288fae712542b11b35026a027d3679c5a35f1957cb6c5942b5d86464e3b9dd6463ab9cfb9931136da744370f6b3307ff01e1180a5e79569e73e5ef9de4ea5c9f0d5a3b124714c1b645c8f0c1cc2ab4e1845969654ae9b0c565f4d17a844ed066366c17dca17f22ce69aa56e48937aa1c9f39fc85435770fbcb4d9f05048215664184ee40a4ff77ad44ae9b1d9dbcd9f9f013080b751ac9e2f05aa8f546575562194730f6cf1ea52f0d365d0dfc3fcef820c51d9a5263a2d1dc4ca97be6ef69bb2ebcddc3f8f4ea2f4e12c187949d95c3667f4c2dcbd65e06937fc788b5585b742eb5b99ccad8252be7dd0b4d38460340cccf82c5d2d58c29f87f0fd6f78a90ac7a113d0e5427aa56a42438c3c6fd98fdaaebb3dff5d8d3025cb408da8a6764988bef9d171c7c3a51d187aa1bab3f2a58425dfb82730488e83d97fc54070e2240c2f9083e6f6a4f49c50077067a4fc7d27e40bbf30f8fa90624d7be0e6f8c43ac1ce42760512aadd27f2cabdce2c6fbf7adeae0221e2e82cf22d2941ac56a3e10cf0f0c22242b4d7fcae009081eff5d23b6dbcb7387eb59922e5bf757c02143e1140b2831478a2a5785d056978e07dae02aa804141805acb7a5343acc17206c949d8b9f8fd5df0a36e7755\n\n# tcId = 140\n# appending 0's to oid\nmsg = 313233343030\nresult = invalid\nsig = 5a23159bb4948c16c9c31f7b3be4e2fd147717b755d13f5f86933302f7356f31003bce391de69f54ff602dacb1522b908fa1fb7156fa555f3f38bddccef9f85f22a53e4f53757f81d6455998169743a4a2306906a375235e548aece0715f94d83377e06faf758a36fc8758a586cadd368b1db26ee3861b79d6b69c0f3639c9ed0a24bf530625319125c301f5c10d12084b2f9917ab404a65a5bfd2bbc78fdd6bd1e583cfe87c0cbb4d41c710c137a7b330247b881af9aac5b2c5075c66ea33910a3b07d55c461940a54cb7579aaadc9e8f567d60d0548d6c2d3628e7bde8b631335f2ed00122e07f942f7005afbb0d2f0340c5c9270b27be30d10333b9ed5edb90ad6216b95594f6ad595abed26576a7b1d807530e7c5556a8698de56b481e5717683404f6b9ecc35bfb6ccc48a381a51537143abff51a717581f2c44df1a1f058c1b793be004b1a837f7acfd764644921b3472906e90a5bd265a0f0fda5e16be4db391e07f8daa84349fdf7a134aa138767441759b74a4913a4790f0e599691df06acd4f80cf5b64767052ff470617c93ab420d90b1838c0bc891bbd2581769bf203dbc8df0073bb826114e71fadea586d7cf6f06cf4d04bfedda455e043439937d330ce0a03ff97d420fc623163afbcc3e7de7025d0689f9441580308d1280e9235d8f5988ef12447067df3ec846c3e3319eee29c2b8cc713c979156d3e3f8\n\n# tcId = 141\n# prepending 0's to oid\nmsg = 313233343030\nresult = invalid\nsig = 819926a1c7a0e283aa3ef42cea08dc3893fc71d7295924d7e8909f46ced6724bf38d137541224982f072e39a80cb277dab8dd848ca85fe1ce6a102e8adaaa55f2e9169d8094f10280829c3332d24507a54452a026a541446fb388a7663eec512a0ddf7402efde859fa1662108c704afeac80daf6f8279e5ab5bd552dbb5a0a5d0f35fa5431e8ac36daf25a5e36e09699ba25f00fa69ed7fb527a49fb25908ef400ab9c080b73c5f4d41d965ab1faa1472f76c63d9cc359f7964d854d8f8db382c304572ea6498a6f7e39f6f6064aea336949eb157a2346975f1a71e1c18a77abcd0c7bc2f1ab6a0e9297d121bf13f42cca5662667947d70fbc026fd2a03c1353e34cec608dc2fba202163201cadb6341cf80f49048f55333db9754c5fe95b01219eeb608ca3e8b890df71501dbc579332c7ca6479c6fc3c34f31561c15d500ca81f25204e2f848f87c472cf030b5b40e499e3f034be87041dd5756173f1f2795d1f62bd74aa817f72ca8a131b0a5b7fea3fded32baf493871f0be8251970fb2b3031122c328e7809139d044d8f49e6bd31fa938b732a5ddc0039a723eb7e40491d7533092f1b7b7d8ae68add6001178ed1624fd3b660f0af184fb70c709c78e83b1dbf156b2c8848cb986160db4de954c12a29d88496283a3cf37acd0e7a63d86135376d43bde517c40e9b5e538999a86e55319eebd9a87149a81aea225a8128\n\n# tcId = 142\n# appending unused 0's to oid\nmsg = 313233343030\nresult = invalid\nsig = dbbc34b6ead6c85534784953c2f6ffa36b018f95e15e0c28b214ca2f80bd9694e2f091d8bc3e25aad3c4c9e11edcd73b6785384693e4ccb183553eeee251c5587150bac7bb2d7c717fd6453a72803443c8372260a096596da4a0b7c32750fb264ed58acdc736c86c83396b705fd3acc0f3d7d3135dd4b576729d68664cb1e11966438f08d417c0db8bc37b0201cc9ac0daf9ef60b9b600cefb79c25104d2fd5480c2e2ac100e9500729a4676ab97e09078736696dd2f51cf90ff963a6ee99b765e4e0f7cf52094507294de601c0d46b87e8072e37b88621f9dcaad28cec7d4544ae2d1b5828bc1ac9e5258058209944ab8e924fd228a047dca03ffe2f28e88f49def895401ba3f05c305beaa10928b7a390eca9b61b73e864c93559a3295703c9bd82664b226bca0ecc90d2b27dff22dbe635f3f0a347c49239104080c5b8195eb4d750055889d5853be4cc984f215bb491e2a8c7b0017016dcbea3b9951ee935e967d1515e659ba295f76be48feac1c3aee2e35d309ac71877ae59f024dc9aaa9e2053e4d4223e482ec3fb1d7f9cae98c18db9dcfe307ea6916f137dece096398a0a62a594dce4048588f87e1741cceddec314d5960fbecaae8cf48afb09d3eeadbf5a77ea1c27905f7ae47dcf066207e621e892e7d780bcc9bae3ab62cbe2a4cb43b6621c47f904dcdcbe7036461ee2563de1f6061c22f33a5e4997adf9e63\n\n# tcId = 143\n# appending null value to oid\nmsg = 313233343030\nresult = invalid\nsig = ae10acef7e1ff0d50705a425f623225fecd0ef91890696ff1636123023a6009b971a0fc20c50144ba4c42a6d45fbb9f48dce8a52514574cb41b71bf6c7cb255903aa9dae232c1c1ba567ef505cd040a910c2809be37a0f1d3aa8e6345ff77d0f95502fd6cb88d894d961b987c4c2ff6a11c279eab2c0759024e90ff7332e028391eaa1a9e5d50bf3e7d2a223b52619143afe8066faf3841c28e8b057f4326c0a5eda878226583d1d06e491ed2bccc20dc8ca7340f3582a7e9f313c90759f1fd076054ed464a10971c1f1e837d0dd7539bcc29ae9923691169f6f1b6a3f40eb09605fd987b75f4d035605f9fbb33a4d58f912b76089cdbed34f14d1c26cad0d400fc4f7d048990ab37749dd00b22f1b3b9bb31ec35a51cc336d3a7bfdace0ce5c916784a40c7cc76a8a2ec396939487b62516182b19830aafbfa6bb9c7947e7b1302f1e344100975c1d1ae523bcbdbb9a5a0dccf800447a7917b2a7c40e7b983e98ce15ca2516ed660975f1db031116196d4a52f8bd3ed40e904509506f8fa63daf1dbfce32b817dafd452c03e5502a36b8cf7391a3a7d9d303a9d5c5684dcd17634a80a73eb8a46855318239bc585eb2b1341bbd842baf93373e4b8e611dbd6c24767f1a8d620f5f4b97c8e00c67e77b13315abf9e5a98a08e56630b3d3049ea354ab3e69d5a5ba6c09d1ded3cc61d0006949a140b66b80ac31755c856be989b\n\n# tcId = 144\n# truncated length of oid\nmsg = 313233343030\nresult = invalid\nsig = d9acf55c9c01cb10d9acf6dc61e7c7be67340ac52414cab198b8feab214a561b1e20ee5f6c5f169f0339836efbe99044ea672d41aba73cc40ee7eb47f9262eea426cb560232bce5dd11aff64d9af3bcca961207f8ae559fce24b3335789c8ec32e6f4732ef0136f59ca560f91aaa1fe6d53902822fe559d2dea8d3a318a94ce4d6fbd2fc399c7a78c0f14d70e44de3bac04f3668237f7d45d2cdf53782879a6dce950a33314122654fdce0158c46de33d991b9097b24fd11a2718f60156affb27ace6a880f04689ccde83eb365543406fb7e7826986f2529f0678441ada0b0be5870ce5d1c22d0c6684b5f897ebeeb9ff5833505ce2fd352b5286a3dc9209a490483f3607dd907006e1895b3cf887fd657058d9918e8170f4031f6dea28b73b83f59a94efeac01716a0128807a767860ea417ae681f5f2bc627c3c9de61584f30496d28fcb8f9a18276eb488144f9adc33df6727871d3570ad5f69085073a3622dd8bf4634881d7defaaac0ea73b3a40e98b0ef1214e895c1d449c05137b0440f581641c7f9be0c7c718a08c3c8a6537fca80ab3c5f026644435b873af6b098a792dd4dad914f60e3f0de666df582b0c2279c786a82d44f2bf2328b9dca6a92da5b8a5bbfccc6b9cdbdc741560e9918ca6228629437ce593080b2952af34d28f72fbee2af5347fbcea9c51798ada5e09a8d8b3db7096175b5a44e7005689b49d\n\n# tcId = 145\n# Replacing oid with NULL\nmsg = 313233343030\nresult = invalid\nsig = 5e82a192a85eb098c1413968d3a0e58d0084210b641355a74a1b59e8651914017920e905a2909c89cf7b3b097ffebc34c06457bb9647ac394b8a0db5dc33af5f4e95248c45cf22c53ab1906bf5516dd3344c0cb02073e99ebe267e5b36586f3b20cf090f3c9512bf1bff2e3aeebabb3b9c328c971039aef1da8608f0d05ef9128038c35002889af2f463df56d028eb0ffb5309474e7f7e6101ac9aaa854d56f1a120588201f4fa8362515a26201d6249b02f554e7c2a885b520b4ec352387b40a7baef56c3828432feed464c1265225c8183e781869455f36159259297006cdf368c2dc82a93a286941c136c6293b5aa753a053757a8cbdb59ddff5c8b", + "2d7122327d89802b711ec638c6b7c4f8830f160b2aabc128d9f4104b5d794ecc35d5d7773baa976e0efc795e5272fe0b6dedebf3137e9d04085b19912d011cb7e746b10cad9eaf5063cf9e1c1e37c6957a72bacc261fb1c777795d16badee7dc0bdf3bc12672f4d8819eb111bbd2b3ac7b4658d97901ef0c44ecaae7b21d9b04ceced25e50044c69600573c24541608f1ed52c6b2f5feb0684d0b1bda858467f2de0b7c405490bc985817d1bb53d55f99ccc85e6f4dfe3729b43dc6e39ddb6f470e52221447dfc336fad0abce1ef06a4c0741ff70e52fe94af1088fbe6f7ca22bcb0a097e32f3dc6407f757d80fe345bca163f0def954e0b58211b2509a647bd238d08\n\n# tcId = 146\n# changing tag value of oid\nmsg = 313233343030\nresult = invalid\nsig = 15f0e55d2c991f709600d78d4e4a2ad19496adb55b99c5f6bd92f460112957c54474afde1f3e75908a5694883b9ce7dc956c28f89aa692b6ebbbd2873836b8ae596c914c11cab73e6333f2aac5d92778d95361110f9f4a23f09a37350c20a8850db12b522a8493cd085714b79906254c14ee5760c7bd41d605ccc106a94794988b2faa823e39b49c828a2a03bae06c57ddb675f0fad16f085a0d720ae8971395e8a317770b5da937b73ffb2a1d86dc6000f0d39be03c1dc0198f5f3121321c1ba0fc480c4280852cb315198ee86a3b295e37160aa2c5e8705b22ad9631a51a76789ffcb753c3cb4802fd7563da76b8ae740bd7546d8dc6b12c318dfdfed2d3f353bc94b0ab8a1c9111531a21c1af6d8422eb61d6fcfc77f983aa87ef8577a737bc095fc766a7a37025d1743969768c3f4389219f4660f9930f4cc45d62d181cd35d118b75ab3b013433b529234204f52bd0dade8609786ae30b97c0152e05ab1b119c3f8862c1eb1756dffccd5f1ad89c93cd946384e615e2c712fdbb0bf16ceb5c233b88e2ebc2b461e27bfe44b35ae09ecf6b726236f45e8b1a8f56fa23f0dd889a5d132448c04ce225d7c83695a891b93639f3214b7ab76418b0a252a595ae3f4e6dbd4e0d729bab70ffd3a31e6e8d8142df6f76a7d5ec60fccc8f04d3f790bd373bdce92e0f92af5bc90b5b7da24a18a38c8fee8f3a20dd303b540dd64a4\n\n# tcId = 147\n# changing tag value of oid\nmsg = 313233343030\nresult = invalid\nsig = d156c8f72fd7bb5413c822f35cb58dc39bf8960f0171b2bf045a46db932d402e63c24e954a466fdaba36689fedd624a0c44c02225866921414909b99aed97925736028ae48bf2ddc5cdc6f57257afaa46b6224a5e9675849493c097542bd778c5da2bc3406bbea398180549027d6602906e25233c078b7ea06b4af69cfa5860ca69eb0070ecc5273db8cc0445eb4caf565af68467a4a24d8a5c31f714ef82c7efaba313ab44f4cd4f6dddc78f604e2dd42802ab9f6d828e43da3dcdf67dc2e5e139bb5aa5c944589f6f57b1e0841c86fce76158b1d3683bdc0c8f85c361f0312dc4b0ed456ff9c670072520f1a139c49d70d21932a50783064d7775adbbb638f36c25b2c5d75af8fa67ab53440508860d1de242a815d0eb87f2692f5c8ecba455380b61dc8653130e2a85110532df6aa39bbe134da1f3a14adcc48a8e7f282e142ed34b1feb119c0189079e81ee35a86472245789d193bf6f5717b5fda552e4eb547b3518b292925f50d51afdc352469796e2c9d28791a7428a68925afd1eea528aa5e85b00edeb34daa09f7da65c49f31d8e12052fa22be651918a797edef66fc5946d5926f21318d8abf21dc15163bf7f630037ca055e83d31cb4cd47d6d44ce81491f318252c8b2d80aea4f5f060643812be02196df31e73c354f91f0dd2cacbfc73501b1d8d5cfd81d6574cc5be05dcbf7603819b81f6fd1b11dd0d3198c\n\n# tcId = 148\n# changing tag value of oid\nmsg = 313233343030\nresult = invalid\nsig = 2ebdece5ba8e494f3810c98f49cc05c16369ba336ae0351123ab6f1f80f3fde76b98bcd9f79643993bcf0bee4e05ad6d9350729c4ef61597b454bbd716a85022aa9c9a0ee2471bfdc22e87c327086cbf76e36ae4f55fbf7fe3ddbabf50e744facaeed389aad2f58e8d11d355b2639f382404936d88db825b6de87aeaa3789eec51746db3cf7db9998ff8961a3f499079112c4f59535b8896a30b4deddf1ff6a52e370dcf3dff8b7f3b3164ce78b579469d823292304886cd596c512a1ee5f189e40eb9629095653d45f05683b53404ab2cb5ae55f64bbea4cdcd003ef80c3cec9f24e8842f83a992f8010cb996955a91a5362c6fd2c6e57a81f5dda1fdb931ca43997e51ffedb235d843b590a253d5bf395f6db9ff233af68a1a54349dd7cb37351a1cb3e5ee25cc79f19403ecb41e41eddc02d4eeaab64202b8696ca7149456ff00a563e8a2fc9f90a5d25ad754722763d8a04bd7336dd7884b5b577d88017b2cc66214b9d0d569267b43b0d3b7446f31cffe4b37161ba027e24353d2d63a339c8fb5bd495ac341e0eb864bc8ec25874f65fb627553031a58c932de9e99330a28e65a4066ceaf4120d1036f46b5cff421061796f245ca59a89715e86343a8b52f94eace323ee7578f0cd7ac8b2b6c9d53f1a979cfc863538c1d8a87bf21d07d7104975ec7a62afa2a551b5206d2729cdabf3f7c39396bba123a207a03c6686a\n\n# tcId = 149\n# changing tag value of oid\nmsg = 313233343030\nresult = invalid\nsig = 5d02decff78b7129151a66d93a53d501ff3cac82d92694dac78b6833b088a3889daaadc9f1021b02b6d2ee77a2095745a84048f606810b980f715d18f15027ebe9f59279895d668b86d14cd1c056d3de0e1e7da6472349de57b10cbcfa2c71cec7bdcf966ae6407bcc90b3aaa3df2802dd70be459da4e7612be94598dbb67026d61bf3f88fdd014fd6f180b32b785037a396970279fc26c0e689cf47f2b006908251dc1448caf42e71e19bfa0668d7bc4436d11e694add08d86cc10316f07bf64c54508ff058ffd70c24074abe83797157e057465a1129b0712ebc2d3311a7d6bc8226411a824c28d8ce81b21a26eee3cf5de86bae79f8206abdc93698850d141fc54b22d7f8165aeedfefa8a34f78bda9baee9c2ffbe249c33ea2040fe31651a4ab3977a71f36d13f912fac5cda4c1ed36750a6f16bb2e097535de4f019489a18634c4036ec73a3a944fa45bd1ebe073e0d3c36c536340538ca349ffa780e408a4f10da0aa6c01c3bfdc41d4001dabd379d50184c1a78d27944a1bcd25dc17b36ecc89babd03665029bdacc3aaa8c86709e91f656ce7176a25a67622642a5013a7e4d6906f8c3c49f998e9d566b62409b016d7befb6a87ac983b1784e9a1963d7500159912ba514f82966bda58e2aa5ca13c8244c464508c3eb11e9469497a06f1f96b3c459055f6d2e56a73609b5adf94d0587a31e3d85f643b9bc6ce2df28\n\n# tcId = 150\n# changing tag value of oid\nmsg = 313233343030\nresult = invalid\nsig = 39ea92860d76b373c6eaee74fb97f8439067c02e26e0da5a1a85e466aa9df4bbc1f2b644cabe5452b2692b4aa396d298e7a9e563d03ce3bb65a64272f903968e5ddba1d0e3322c90c80827beec9935094fe07681f41241bcafade0a2a7fa69f15f852ec457763427075ad4a3e129c229d75fc288b462a1713c8dee10d2a271168e109cacbb2b7f14e625007409aba3436d1ecc074c914b93fbcea73c5132591cf5037814ed9bf7100b48d0caa41f415ed7317072091d72036871a2d32107d02480bbc1f3c2cfaf407d0eb218d003dbd3a53c0a4ceacaf9466eecc741ba7763c912a594ceeebaeb3491ad7603cb74f5772567ff5c978c9dd1a3f5317d957492618b824a445155d1f7fdc25dc93b5d17c696796b21070af78c6bb4ef055b0e44f319af4235daa79b864fda2cf40030c04c1230e721565043e6ff907f17d7b1fe34961e9c8603461dc15c9969d62f17ea9e9ea8783459b135bd8943a8e1825bfcf7eae8437567280f6303abf5a9158bae430b1585c21b2be5ae189ecb5ec59ea66b97dc1d8247641e200c1b5b8ce905d6b095c0a0022efa707017378573eb309fb204c1d85baa39ccf3ac6841673e1aa8caa1954a3a3fd2d8d8bbef94541bcb593172a87b8e5a27f94272a053ba5fc940d905731977c20e050fc5864d2dabdc9b07c9a1512982b6fcfb1bd9ae4a4bf8be086e6c9f8904e1d0da3fe81f756852e982\n\n# tcId = 151\n# dropping value of oid\nmsg = 313233343030\nresult = invalid\nsig = a3d32a7d13de642496d925d37624c62ccefc1019fb614d289e74e71a71c98381f39dd0a041a364243687ec4d235bf07909fc862a1f9bcf122e73e53ca83433e0588988ae9e3cfd743f2d68404b3fb3b7ddddbf38f202094752f868caf1a234d984c2f80b26a69e39282b3e5dcd7c0a425e16788c1980497aa77aff1d545c95e1ba03b3a22933cbe79f047abdeaa29f9529c871702d59aad3e206579bcf9c1bd05f0986333031b0262734b3ce2c1e11f22408c751917832be4d9fa83e255249775bc9611e5966d08bd2813cd41cb2224d952e6f3d465ba97af6db4d957d72cd82505b6d814ffe92ffdaf742a1e0852b9899a512b02197ba58788513cb5eab15c87e45154dd11095758b7954f2bd10a363557d92e07071b2176230df060a2a6e026eec784bf65664d903a4bda0a6ca37c2463a5347e404cc49d48c1c006f43259441535d53ced7ef3451c705f90f33bcd7e770065c2bdf5af1b407548c79564ea766dea5a4c59a1c07a64b72a9421eb42a9b59107700aa94f9a674c3e948f476da18abc459f8cab734d2742d6557c4c6003d08f8bcb217e7a5aae2dac2c25a5b547d842271203862bf2b351a9848ca7e5b86de87fd1c58d05d801bf648a0b9233560f9704f4eafc35735dfc975d701492d453cc02fba018ff51874185c2d64898e3cf26138aade6e5d99e7d6fb3d1ad8eee11b366d000f1552acf5a4d261ade6f8\n\n# tcId = 152\n# using composition for oid\nmsg = 313233343030\nresult = invalid\nsig = 8675ddacec059c224f46442ca3f2c506800fe11dd2444a6a341689fad88cb74047890df144bd1f4589fdd732b92b39a1c654dd33031f4541aa888295887362ac0db4eb7bcde0b2028e8674ed15eff004fda1e7ad4071d4b7eadb9e4a0106b90c92ce3621d9e12ead9917c5ee72b373cf4657dfe69da410fe30fd8ed72ca220c9e471195bae3face29e184c0f33a05b48b2737ba1ce2960a0ccb0ddc4760b5f88c463bb4a349446cf1c56ef332e50f1d6a6369cb3ecd7e2af504de42c075670438e7c58c5ef52e23804167b6db30022e1272f8b698ae457981a18d239c228f78e128a01c7c0c4fe62ab91dcfecf7b6a4e89e9be784d043b4b35fdaf8e81ef0ae534ad448a6650f496b15899abc5f61df6793c97cbed05cc1eadb227ac204bad3edfff32150c73c369a74ec0d84093fac2af59f53ca0d7d8723ea6d5c84a8349ee4936df5b71a3f162c2dbf6f5704a7465702acc00c91c247337d2ffd54f51194530be506660f21916c24305d1d4bded04e39a249a584178fcd2235f5e4997989febb486009e52f9da43b705732895b42c3c4428612aaf8bb966d8274d0b75afe0d0139d55e987211651c4d82cae3ee493c4cdbc7322489bd5d4ff12cf38e31241a817618a18cb5dceced2a5bbf2d32889912a6652cc8", + "d4a4b6e05d9d7bfff47008eda7a0f9e292c360a2cf5d2dd5af567b703718bd4c4c040db4847e30124a29a\n\n# tcId = 153\n# modify first byte of oid\nmsg = 313233343030\nresult = invalid\nsig = 3636498fdb54663dde2c0d06599bcc1ef3a10ef4ed2519c6da19893f3ed970c7f64ac516e14506243846d84e26d53f903e74acfab638a2c62c6aca740a83927561fa27d05296b6459088aa8d21ffaeaeb4e62330c49238b217146c60a777aa25ac96b701a561dfbdde859041d2fa0a116d14e5653a117e5988b2e7bf2bb5835a92e316903113fce30d23e1f55179b2049bb65241acad621d315187c1f0656efe345c7fbae6cc7c4de1e8f060f78acf2022fe6e7373966f5f10e525f0eba8b08a5a167108d3f5323a752577ee05529a5303262edaa6adbec6b7729e282f1f7d9722caa9eb21e856275979785e178b1c19b9b3a60ba678ed34994563b7caef22f13c6f6aedefb827a1afce0c899f72bdf27bdf9bd035ac37c071bc9f131c665e2adae13a14bb9b6d22ae96efa383b783c4d2fc8f5fd8c70688fb70173688f298208429465a7eb7b2e2a9a7531aed6a26d35c856bc099cc212460c0cddddde87440e552386e85ccccddd86aaff940ebf7cea462bda33579515ce1643323ef2d0c37290f3387355240404fc7b4ea610474b026616a4b4a837d78e4c9bda61320892e7cc1124357c08ebc5aad0ef5459ad0036884139ae05f3fd7fb23faaac48995474fa2d9c12f5dda1e3d68de42bf0578e4959bddd26d1ee79479cdf543605407c4ea2c24d84156210a278a8abb93969b519ae9978f8692fa16fd4921d8ae3dabc0\n\n# tcId = 154\n# modify last byte of oid\nmsg = 313233343030\nresult = invalid\nsig = 1d8f7364a550c1e7d07ea18b511aa9314f5bdb758301473b4f2ce4360e0489a8afeb09064f2071c1939b154799160d8cd205866624baac546edd3d8edaba18aa42c0cc9e8316fb8fc69f35d965ef5b7fe18f32d8f12b8180756c9322723b2c97546a2ae62f25b6f3ff7fa2c060f40e6ddb04d18b32fd6c51cf14ea7c2df2b0f2ffab5f0a9f6d1db361fb6d216847d5edb91bee9827eae208ddf18122c9c296020b82c7521c5ed6e30c6ff0b3f0a587f45ff6e993b855cfed925734b5ce86459d3fcbefc0458a6697e933e4d311d09b9bf896c1e2e7be6f739bfb2d5923ac0e69465becbd2e8b90ef3e73c06da041eead456fb5075daf8dfe3e48ab5e23b669fe4958f2b08e518df7eebf9cd8e0653400159c095667e204e1e122e889d87dd1898b27bcb1a40956f9a451cff052dd1c252e384d61e1c7f7015c79714d70a766fb14d2936b01f1d84af1a10f40a53897e6a938caf4c736289a4362fc4cc454f71650a78c1335b4199ff318de908bc098f685d0560abd8168aa0da4022a50b5b5249ceb4a9e52097bc60c254798deca930a5ea160950535a4583fcefe6a61b7d847302408eaf52dfc93478fa99e031d0623a9f5d353cdd735a0a4ca347e81f8d75c1939f5acccdb34f5a0624354b701f74a793d550e33b58b972ae1e7761f03b7a1db88c3dcc451441b89845fd6af4d9328092597f0541253c3bb695a0261dacd08\n\n# tcId = 155\n# truncated oid\nmsg = 313233343030\nresult = invalid\nsig = b0bcd77729a5eb38cb5327a725f93c4d5aac39e8fb1ef6325b8625a37c01a00fbce9cb5f150005a147ab5ccff9c0f347257746d05085e14bea6c016fd56e798517ee93cf9911af32d87b92df6122cb4f21b75d898e5c57255344f8759380c44a06af52d91794044f1cbe022c59fcea76f9d4f692895a8aaed98e7834aa00f0496594b056b1b800271b653d1fc07bd81885f8ad2b4aa60300d30fb29b416020fdc890af547090d307c2034283fedef2edc4ff450457ceb7a3d14442c4c1640a5cb1b67a7db7d6e227258409b36ae1fd52d126f59b0599da776cc1cc960387beb5b0f57cece021f8402ac56d87eba3c2867e4046a8acd9769b9d8164c0d0f5b628d9ffd3c495381f34bd81b73c38bc94441bb62e5716091fe09d40a3ca9a71897f610a501ab173714ba801b22069d20e4edcbb980024a5862e19a600f9bb0657fa3b10be05710817e5bb8388517d8d7597ef5053af84a856c1f3ff403d8e2f028f7dbe110f1ef406b2a78e8afa220a8ff444481eccd1e79fa4c9c38e45d9942fca714fba026d9da0fa3c047abfef6e090e39b973e97990cb8527460edb5c49ce61d3669f27d90cc411b16c8eaddcadecd586d55d237661823bc4eba7078631ddc49960cceb6f6ade3cbdea8e43661d28fff86eed6999f6fed8b76a614f9f5e0a1df9d3bb4ce5b6838d7fbecc3778025cf50698abb0c4249e9aef98720f8ba3c54a\n\n# tcId = 156\n# truncated oid\nmsg = 313233343030\nresult = invalid\nsig = 052f44e3f7c5fb805564627c973b591454211db2446e10486a68c3c49847e6bdef7a0530f2db906a93f8e37c8f77bc1be341a96570a4807cc74e72e222bd8cdcbd406ff198df61ea9787d9fad51901a6931bcf67195509055e01b7095527f45e9cffdd4aa2f75fbcb039d011f5c2dcd87233cd74d496c53f95a8d90d1ce1063d9a9384d4bcd0013682974de3deaae49c44a08daf8a8ba770dba97b6fb1ca270535fd777c7b732a5852f48c1f52bf343a3215017af69bd6eb55ca379d556816859ea79f35a2d8e272fa0d8672da61aa10c100f2273772cc459349c015234ce17fd41d6a8cdb516f5e26aeaef9d98e4b41fdf748aef9e40ee2063761e32b919d1051285b3df90063fec355601f0e65e8e4b23579252adbbc3592c1d5479a9f5b8eeaaca95aad9c887540a950c9f83a03a44336672026d911fe40b137fdbfcb28e312a3f1aff09e2140055e89c8d3db97cd69e4f3512c211fab4b2997882d5e4a16b699c64ff73418126a10f63c83b922f1bd145739275aaa7e5d6446e8cf295e7e65244fea145a8d87d3f305a0d6b9dcc912cba677028a21cd1892737c4bcdaf925f2f56a6fdc9e0721fa8eaa1bfc4ef8f678dccd65bcd5726ddccb395eab8a82221d59190514ff08d6ca2043a73484b93fe5b5f6b5519d0973d4ca62e715d61f64d823825bb08161157477686f44ebd157f231d187e8907ddbaf77db58c90a390\n\n# tcId = 157\n# wrong oid\nmsg = 313233343030\nresult = invalid\nsig = 6dd73d8eb7f7af0e6f0bfdcd84a107a4cd6edaee3cbc50b137426e21e2608ff446a2ff5badb2dfd517cfb47c60d832c00f86e14292c79872633c26f92008f2664672a24e8f9347c3b37940ce86f64ac698a5038afd97d6545969a7a5c03e81a29cff5dfcd1c0915df288766c6483bf32b980e60b07208479be18046acc3050fe0f25def3cd63cd5c77f86d2bd0f41925dc7881e19b74bab0323b2bfef61da8948d77dac968eca8f66a10d384735d57badeb0cf738d90652f48512d05bf39bfb0c239de3c0573519c1067f08feccf48d928e8e36633e48025dbfea49efe70dae118f0cfdd2cf5978cb8f63df6ab89f39e13ce05e6d27eb1091d803b5a621ed95758fe45d1fb249811735e7e1a5f2fb6d4e413dffd6c4b95cf106f7f7629b0525a77c70dc78822cfdadda44681652e4d1baf883114bc558b4eac1d43c2701365d5863429f1ac71684e08bf3e5bbafedc5b419b148b2d5161e763a96b634f29b32f2b43dabc68b3a51136576df5e2bbc40f319332971c8fdf673e2b65c6a09fb981182701eaf5afd6bbbc17073c49d6a6de3a539c5429f48eccfe9359db691b06f122ee22864176bfa5dbf6fc6b4d6bb1ccb2f10d58ffb941474bf5d5be955f4b2d45edf7c4c5bcb0605186ad3776a2308852144ce69df2ad216eb5db72b904e50c7b9e25a8c3e7c14243e3fa9a91069561c77d0c51d3f84008f512032949926433\n\n# tcId = 158\n# wrong oid\nmsg = 313233343030\nresult = invalid\nsig = 4ed5e27ff4a7733f60af2f99d2515c155f29854768664dc309f14b8040496645fe6a3e2c7d868f8c4aa8ff6152f38f3646b0b00e9fc8b60f9c893c2941ea6ea031d9d2fe212ed3f6c0b50e6c09b23bf1016d5f2ddb1d72f96a4a67a2c425795c96e4b9ccd22d3c1cba00a1b1c6e6f07acf1ecd730827c5a7ac0718a8f0617e7612e85c56b4359bab844753e2c8f7d15c853bc1a60fc58096036641ef7cd3d6ff8d3865b730194867022ed6a9a8c3955d95860dcfec490d6639c264a42807ff4978247498ede2dcd993c7d70fdfad848093f76710b8528ff8cdc6850eec48f0e59c278cab5da3fb35c26852f52c0672b87112332980a1910927561aad6fde18edc05f0eb607a976da88cd78e9c19e356ed79591736839a78ade95e098c04135e87b4062a6064913d079cf682a6799dfd41cc35a44cf8b04c5666e74b6cf4c1ef76dfb777eb8b071a42a1032450ff4dd198d0d429659948685854b4a4f97f4a281279d364760442475ea124f0f5f0d6c4a48ec7f8224e068dd640331138e8fbab4da96f757c09d96ade27c6a3f4c85192ab63c3c61ffbe21643c0e261d60791f59628fe128245f49b64227ddf357c0ea1b63ffeb48c1bacf088b63bcf6d3958cba85bfb081d3208eef0562f2df3d9d0b939d2aee3bc841e337d69243ed1ff627ece41fbb9fcebdbaaa9687f2a18fc43e571c8a1af885907d1a751d0253e918d04f\n\n# tcId = 159\n# longer oid\nmsg = 313233343030\nresult = invalid\nsig = ad5cde7fbdeaf524f09092d828341d2c5a7a7b715993a79df40f4c2dd5a53a06f906cdde4657b8097f6772fcc368503519cbaf2477f727ce7a12de5e6eb9f1ddb771e4857db185650acf11da2e92c393b26dc26e6230358c0f165206dc6547d444fbeb135c3f2d73e78ce4edb564d67556cfe82d6e10c18b69d9beb3332ea4f775d4356425ae59b225b793cfe91662e6ca62687f6734b2f53d5c8944d7d921203041bc96cd4a897a85c845c1e11f43810d14b2f19e75af5faed56664298d034d38552acaf1228c5b317b16dea8dbe138942f95adb517ecbc947348a460e322a6ed5f64bdb9614b060eb5f676c7151e89d10d2af6453dd0563160c1418f1f0a833fc54e85be8e1a689b5da312089a4dd4b2ee575edcd8ccb2d5ea69c549bebf836e8f069727a579207594cee3c2c20bf8b11297f7ed9d5b04d845cfcda01c01002a827666fd88da3ba4d9677aa547efdce532780aa2b672cd05f233d4ab0e38ad9733596b2e638de75e95ff52899d73a26b225d129a7209125219f34ba5c55f239f2e8df97760a17873870e711538727be4ed0e1c24b89c640689e1ea6d741a6c72b843c7a06131aea6c095e03c2cc434372d533bcb48e805ddfce858d1925081b1355bce6dae7a682c4451ba8d2b5db814a7a8e8846a1d5cda686417a94e3a3f82a583c9686db6df6ed086a25cd5efecbfc7899b75798086aaa75be71cb038de\n\n# tcId = 160\n# oid with modified node\nmsg = 313233343030\nresult = invalid\nsig = 98cbc5bd47668e1af5ff51e5c810cddca50aa42caa602f0000cef1b8952f8aa145a2232faa528f9625ee8eed12a5d1b373b0f6b42834c45d21d77f824b46042079ad384b98bc6a8e303052a3ab4af757b45747297b02347130dfdee575bc9ee37796c82b877ca0d617b861d0fbae1fd075cb7250cccb12aa2d2d881f185a8fe9b0c914fe1ec55d7ca897efc582cf12c6b624e684aa12de2ad411e5fd4b2f95cfc66650db95d921e6", + "6bdc9106086c064ccf7164d8bae42a7c3a0481980f4172c38824c2381a457a78ae0d85622d6dd623165c881fa2f29376d584c87179509373a87a38b782f2ef95142ac641b9f4675f8e32b0204d0bfcfda43d2a04e4db4676e104b6545ed8fb7c93292beb6158ae998081ea8dade67a26f8ba454f1604c30f9d904e8653530262d47739ff615ddf8080f3a7c52beca6c1b0c81708de9e587a523dd15e2af8e58d691794513f82206bd8a382163c992bdf0c5cedc62aae520836b149d4f1a41c911447ae921ea55ee06a970d0fcda1db4b7343f7c2a0d0d5e34eaac0857c75a308ab881593183b598e0efff36e9cbc5953aafc83c7d205623169d12dc6ade35be76cc4b8f3c16a392b9a375f5d0c152de93a858f253692bc2c6a2c0cd9dfc14d6ca750df5afdd9877c1e8596689743f26bb0f293173b978828a3f528719515b663c2636dc4dae3c657e4afc2a1065b53c97a985dc96abc8b6e\n\n# tcId = 161\n# oid with modified node\nmsg = 313233343030\nresult = invalid\nsig = 097b1032f9a51a68af7fe8d75308784844f6b4391ee1b166ebd7333a60eaf923391b3e6a5c453dd0a5c6db19df38cc1c65e1e2bf183492f71b2b47e7b6442c780553104132c7bdba8067158265b773735310640fa9efd6eae33241937a92772e9e0cf3c0ac9f1bef801d57da950ea35c83bb9b412881eda9c80ac51bd089ba6c3b9ec33ec71ad17bf5ccd1434528a48b624d0c0a88ca9d531975489bce7008909ef295eaafdc239d482539d2a4c7801ced4bd773013412b67f97b43cf855a9705c442b35a4bf7728fb08a76fc8d20b60cfba5447ad50c16a79bdf5a03091be50415a79294ea5d372fe2cf033fa046e63ec3609831626dd21f9492f968f79786aa7f4a7f56df4edc0a355e488db1b348f6decf73f467c106ef0a1d693e59843de66651a59e714fe59fb41ff93dd3c54d188596887bcfe914096230030261d258f0348dea3af6469927c3532c4e00c15b9a3c0795eb8bd5611c8701c318b716a3bed53092107d792e9537dca6d7cf5a00b297a6ab61822d5149f4e8a95e78b0a97d1b808110e08a06918385062ec3a8944492ca3ce1f5686e776223a3e9878a4e53eb52668dc7740278aeee9794c718f3ff5efcc69cba7eec07fcb5143303abcb30c05f9c7ab5ceeb00bb848a5a6a6d41750fc49f695c6ed346e5c7f79a06e50fd2531c2bf8bdc92b82bb3105bb985e0a1eea524f7a045c4a91475661c0b8b578d\n\n# tcId = 162\n# large integer in oid\nmsg = 313233343030\nresult = invalid\nsig = 402ba3eeb6fe3e781e285b0cf4f659c240adc5f87c2d84e6d1043abde97a690df747aecb5fab8809a62bf86ef8400faba680b5511a193bc963e01dab7ab087b1ca0651c0fae04bb4928067981155d8450082b2d04ff7f1c6ac7ca1eb2c044aa7af472c511f3cb061de3766865258e363ffa2dd5e6d96c5fe32254c6c08b4e075643ec3bbdcafcb67455466bd005ed9874d8d439a37ab3ffb4694cfa58cca05058445ae70d02b30a67fd0d378c9ae9eed9b02c60f9ab54a8649b6201682685ea2ac8aa244da31066b1ff41f92a255840158fd8e5a4f17b6e55395331c823183d252dcec7833ebac21c4a716606815a5af641400e17f90644f5c6cde79edf34730ed6b3d58795d02f1dedc6be721ecbae2e5938cd8ba745c58230bfe1b60ec655e4d7f86667ea057be02c54a12f0feda686112caf921f67afe3744155d28db55f2e340d66c82b3cfa6266b19accf889624c0e8eac6fba05d97b1ede3472c2d4e90698a7d12cb0cf025922f4afb511b9dd69f335c79a4c6266ce0c8f5e003452f6abd178fabc1e027e22eb36afd610582c1904581af8b165e1bbecb48a85cfec8bb96550bb6874b1a4aa8d2433b309a8fa68074a941de7980a1ed4800d1d3ce5ac7d41152f6c99439f48796cea0b1597adefbfd034b6fc94787982fe960e074e74ecdf7c919d3c1309ec539e5a63529a042fd50b86049e44931a4bef4984acf5137\n\n# tcId = 163\n# oid with invalid node\nmsg = 313233343030\nresult = invalid\nsig = 5dcc4f5a91b4b4b2bd189cbc3e865d035b34a0f413d4dbf3a3bfad18250f50d0bc7460a715821eac2af824f3161fb3d197a8e9dd5c0ee462e1e04ce1d0f3a8101aba2acc64e120f247c269aa3cb110f28b5ac9ef4ceb8669b7141e2226f73d0c274b238da7ad59b5d86ba731b02ce34b095c936891354507cf02ca2b8c64a7a1ba742a813752863254438f7193e852fd192e493f2f910a95de6af02aeab7e623d7ca86b8914d40fc95632997dc8b4155026afcc94f19370fa0ab1ab0f87c8fe0681cdeee71faac3f6eb37f7ed15e795d21d38062669e2b2be8ee9a1212645d3c0dab97ea6682ead7d2255f6d23a79d0e895102de75d07927b44d1408c085f2738af994f82ad9b7810b10aa161ddc90cd22ad6f60d3a61db98ded42e20a3e1787c65d9d9804b4aa0d5d73cd8e09800000575171b4e57b3d0e92830dddca0cc268a547e9a0fa0488c12d82f9379ad4b26f2472e489dc8062ee4439b4c0c5ec63b10a466a0ed2e591828377a44b87efb412c776170f9f66f374993316f24c2a0264aa87008912e082729a7b723ddaef1d6abdf10a23d55ead4c27d68e64933f8739931f48861d5c5c55b62c7b7d7c925fba2b88e23409b914c9b38bd42fbe559752b4a08ec2aaf374b81fecda420330e0ed832fe4579959f66bfbfe3cfebcbe3155058c34e4a709f389110fe874cf262dbffef835e17ffba41d700c4f36f6f721cd\n\n# tcId = 164\n# oid with invalid node\nmsg = 313233343030\nresult = invalid\nsig = a8008cf08682a5bda70df5f1cb05178be6f1f073095cd92e609f8babf0c45938a2cb8f025755b173af0181e87ee79f8a73e60133f4183ee172dc60d6ea0f6d30ab60bc816bd239b0bc70cd2f95e2d6d280bc7401d27cc536dac23cebedb38202a7f4a1709728b3d32dcb67b2e4081153c652ec0f53c13c856ddfc0c57088c4a6acaa4fef18aaea1abb902f8bca7147c54bb13d430f792c48e4d3050a705922d73b2a19f3074857841338521fb996810602683ab0c8299bbab9c598754a34947a2983dd63c76cf74b06f81c02a78d448d228eca205a88cac0877723835afb46869cf38a28b46962269f8fab5695423ac3b37f88d5dd95127c280a1a4018e47755b9bf5c54ba7c470c1ef5ce78dc49d9a175a07352edb26fa36b65c53163c261cdff35e9e2955c5e3a793a00a14cf7c90cb4c43a2009d8e3c896101e5226e65f096804f26f644ae1311f4247a972a60dc6b22062edb565540ce4f3f4cccfeb57ea2a2cc9205a592e7f522a8867fce5681f292c5f2035859fb40790572b319e748fae1b7cd8fcf87421e0ddf8a20b3ae9c02244c6523eeb350f70a19542587eaa9e9798f104136c8ab673c7f3bcf199532d14f17ab532f957cd6afc5b5e57f15064d8b39ef444ff513d7de02ccae382b14aeb2cac0028e5fdb8c1fc33615ae4d93534f3044c97126816a1732d814ced6bd043045b918a4f5b97c8e652b16130f205\n\n# tcId = 165\n# long form encoding of length of null\nmsg = 313233343030\nresult = invalid\nsig = 47e7664b1dfd6e4711f4de90fd311c1db87659ea992382d5e18aa9fe5a2429eec9cb7abc063e3fe3371e175ec9a51fe4a629d851355c38072743c37352674f6a113dbd79286994c5c6ad37f621283443e30cae094f834585e7ab2580f6d4d8a09310eb56be9105e0f44ce7ea9cf0da7766c2b9bedbf732113a4db1bc0bc7f2569cb71093eb50c0cb88668a78c040860cb54e19a3ceafd7dca8860c4920db6376dc37149e5b18d434853d36eb5977e4012c744faa739832d5f11e33151da54403746678456e3e70a7ac2b3802c719b0892207f2babaca7a3c763fe3399fe109846273e010bb69d15e09d7d9193b2ef00ff0dfb65c983a2c88becf232fc5bd246f441e9dc61a23d0e4c25cfbb527ebd64ec503ac7b4d501cd397e372bdb104aa2004b255a4e11424aac978c32c9e2b61978b1b2818caf2795542ae1a7808f47ff8af16e458f0771bdea370d31b1cfae0f0d73e14d99dd3872c4d9bedb3caf630ddc6ff49d98df360c9c6c4a61e0c94d5af3e5239ac443aa8ef1caecb1d22b148874669c263c325e6b7008a404e5374a9dc10214d412d5d00da814a6f9af0c83c40794e3fea7331f3d3e5736b176c8d6ee13a28efe25239addd4ce4d4ccbf9d79ede0f2cd53f575a4c47a46c14924178f2d4afc2d93d0722d85cb7d3e609d4cf270950e5300c1a75dd2fc10be6421a0c016db3d2d6863f644fb68a5ddf1354c6075\n\n# tcId = 166\n# length of null contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 4cf36bf17238f5fb54ca2c60abf1f66db89d674ba3598a19ae16b59c69b818bdebcd1c07848eb8d9bf1ac76d40c7f8277289f8399add2462993f41fe6b5e0cc93d82b691e38c2ff7dc7e0a2ad2676c6ce15b69e322a76cb05ddc6a6cd547b2d126549d6e7a62b37dc9121b68b52a156c0134c8679d553803ad2668551d62bda3d16fd3a12489c7e0edc87fa4da8965627e55256d441e005335cc212a7bdb42e62c7d23139344041b8eb0113bd0f5c64027ff6c5c0bd08a042a287b2ac5d45a002a92a69a7e8325a5456334219f79c174b959afe78c794df1a8aeff180e94ec3d2c1d25b8ad5d1c083c372b2cf3ceb569a5768518877d21105167eb89cf3793362fdc591066e26fbbb028e6f21da34a3ab13f26d8c3d0a3e8bdce05a301924837989cfef516ff4c18cf5e74b0ceb59c375f585bc5b9f99bb1c02968bebb18f7e16f632c33c79f341974f0f8f9d6243d59932e21b278760883f89724e996d5ed7d179afa967ceb37d0a4a4abdd694a386b6c36f7214dd339fd87e2771a36517fd049c04090827db6a0759178464bd013258fcc4f23335ec1398c285697b2f410777c8a9aa2c7c8995ffa16bf71da60fe56e0782a1fc6a58522e1bc000e5e9839e5b812ff220fc884fe35ff2769b4debe516ead552efc4f956a5ef9fa31d0f13523d6c4818d64d4b157c6a2f044dc68c85371a0f23dde353fa086de804cf1f8f916\n\n# tcId = 167\n# wrong length of null\nmsg = 313233343030\nresult = invalid\nsig = 5ac94a9a7fad561012e21c69abeefd2e31e79c2978f2512eb8a3d59c50430c0ba3ba47ebf001b7cd0f6b38455255c3bf241beeb1b4ffe47c8a32919ff9e7aefab02352d4a95f2508d35409dbf0883f2b9d6ba8963c13d8a403096cac6be6a61e52c6a62e416b98036104f4375666a9566e78d3be53708a41f0407d4912a7da03c28d0edf69e6dac1653f8edf05d081a637e3e179d30d595f35f7e75ff418e84991deafec863e100e758de855ce51c1d047fd2c52242ea4f36b0d5a7690b784bcc99eb09eb3a0d434e12aedc829cd9b43fa6d4d2dd6566e12295b25c9a204b0c50a65f3aa69ca20f8f1f2036067891a4927bf3fe00ba892ec904a6e64d01eda8c224765fd3ce14103cf4d4b6261e4dc4d0dd3ab112707f2ba113baf69a56324370689302a956f9d1b1042a9e2baae8d7ae38582f597ab86bfec08f99e8970df218772bda2076ae24f2265fa1a2d197d78143c3daced75e66604098d0587258eed61509cce845410a18a81ff44fe8b46de83909eb0ff18f7c99abb1e3763bc09d", + "e54d07500626bd5f11f21f0ca62d1b8cda6297d7ba833934c5a94c60f6a3cb8868a8f7cadd01a154f028d42c00097161253f223b14d7b3656405728804519fd6b903658eb0a56ada5c08348c2263d30b3b476bdbee5810f0dfc131527a5669a4194cfef11c045336c4d60a9966e9117b1b5c0331f9eb9b1669752b0b259bf2972\n\n# tcId = 168\n# uint32 overflow in length of null\nmsg = 313233343030\nresult = invalid\nsig = 8808740c5b391010d78d9daf18b3108f4c94a0efedd9294f73c977a25d6fb372535d5cb7a4a72455f1c540097f8763dc93748307c3cd75852a572d07030c1727dafc70674470e7aef12df09fee2eb53ba1f526de8e15599010a5bebf18d7711a82400b757186e55972ffc4f6493c1a984df0cce9aa53419d4caea1c4f4947081ef3ec9e7888b5b40e4ee943b2b2047ece7b7c63be08660408d8cb061fffd6b43b36d01d0617232c3a6770ce2a6ba1e5e0aba86c77af3e60c74677ea7e458719aaac0b26bc57c3e115db330603f2ff5aa523bd6530b6afc32e014b69a4a929cd83384aaba6ff6220d43bfbde5cab82f572b8d8fd9e1a57b8ec184f48fa174974ae43d5e7d1034301e1f656554929891d61929b43f77023c389bd651dcf5f2278bd9c99ef7ef61a46c1a1ea589beed36e80efc821e8865412a9c22aefe14940ab17e68055d79f328eb5ebff9d43bab4e829c51e9dddc5e8900c1b82381c9e5a3fc56f922a95e3b56c5d2e9cf2797bd394c0fb62a47a5c54f19c76428ecf0bd2e5e3b845a1a14f14660932a446c9617f1b7418a642212bd3465cd812592c0cbcda5c88c8820c514f0702a20c59380ae782190f0e2e4f5f6dbbd296729d7f81ff365f7d8f273f49d27e0e1224930b48f86085a702a45cadb1aefbc07eb0dfb56c2628313953befb3988b20f9bdfbc6481f1816a05344c5a776ce20404897571df934\n\n# tcId = 169\n# uint64 overflow in length of null\nmsg = 313233343030\nresult = invalid\nsig = 62b367fd98766786960949acd2db1e084830ecad8dd52370500e54357ad5cd1f250274fd3108540bb54101981e326949b5a671f582ac3d05a4aa959be04754f1fcc20f3fc43ac910455a217579cb05f50abbc9091fa8cd76fd7cda030c899cad2eb7cd76ea3a3749d524cf08ad4898382e48faf9d34113628280b306e0180a1f9b8122bf8a69bb53ed19200c45fef52c8a41db390839696c4de65d287f0b90afb92d830b7b96a84f122c70df93db43a52876aa58d16c1ada28fffad42995075b41f0117d661f145f11b8bb18982708ef779e27d0d2303930752badd2b73f5720812c5626b38a1cf9b6a759c474d8256b668d50050e00f99ffdaa111cb3f4d96f8f6890ac908dfc56acd0076a6aea13de904acdcae17dcc8d3aabfc90f8f7a51e9f430e56ca8fb0ee3bdec82d2709f514ed037255ec7fafc22e7a396014ff7c479e9333455ab1707e0b65870ccbfd0a3f17b8a33c2fa3e06d9d2b47a77c3ea25dfc95519f2f28e54ed7308157965caa26caff01f64db282a7ac0f51fdeb3d6913939f1c8686f4434a2f4aabb0692ac2b09e269d74a83d8b5c917d1275481dda53a9b040f533b7307e2eba6d6fe582f5a594945182df5b1a7d855f36bd4fa9a47be0912c1be5aea36ca346c6f092157111c89fe825ffbd7bc9d9a5bd778b8c257c90c6677caf72c176efe2645f413acf5616fffc9dc9fff34d4d312a0647ccc296\n\n# tcId = 170\n# length of null = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = ad84f260175f9a0153420722e2d76c6de0d2bb38edccf510041f35818a1802b679b8b1ba3688ea486da1c58a0a22177c500d92e5eb880e6ea0edb543c30f11733e55167ef90bb3d91e0ae27ca2617f3ddf5cf2257335458ad65959eb6552df443de1dd3128475ba5db130524093007b5d4b7c6ff85186107152523b37aa1981e4fc995c1045a018e3559be52ab580eab73424f0d344612be29197b4bd571fc34287c987f090c639099db693f9b85368b61b6a506a283116df3cf651880959d0c98cf0e0372f4467f30b57eef683ebd057d6dc8a9b363bc9589c10edce9c522f2f6df7408e9453eb9439050c9a01eeb95f9a54a64c12bc8cbc883f23a4885c81b0d2fd01459cab54060721ac7245ab1b4cdc6b4c1c9bb4414a3d4a92d273b5edce9f947b9c5c238c10fc383461e3eaf11da8677e65236e70ff18db3966aa07cf596814ead0dca523081b47798dfcc07415720705a888b21d62316c675a8a3abf97deee7641ef7418da715ffdd00de54706de1bb458763142eca28aad1ffa928a06b5bfcb28a1629f1a606cdb6d9af8c0f93425e57cc1dd6b00b0bfbedb8f2bbf7f462cf677dd4483e3178558a0d6ef3cb4ad55f5a302b8d3b4d83ebed4accec1dee8a97c308f86197c4a9a2149531739ac00d3a832cc7f9cead2e8c3fc7c8563040503923090afad5b37266c297452b527211526230bca293bcafda4423983799\n\n# tcId = 171\n# length of null = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 24e1fadf0da791af63242170a1ed87c2dd8c9f66dc7c5584b953fa27cdacb3e2eb0175086b34b402bbf7da96f9e5cf6726a06d6472b818701b963530b9fdc8538cc229f0c05d883664de6dc58e0ef822c984bc83db6266f62f6ef6b661e360a1feace84ac3070ca90ee424e19afbbb6123e4ea1094078fafcdadd6a0e7c5b3a10ac38fa6456927021e5e201d5dbb32779e962252950bd3262f5951bf6a2d092e61e3610fd9f8f888a091fe95d0e29a6b519eb1808906458780afc51e476dc9c94d4d15385a0048304beee75ac739d698abd2372f59b107bf31c9af2d6a3476081c7a9a2b1faa1b7b414090f971491205d887dee30ed56e5cf43bf5ba160d6f4909d8cc35015533de2dc7948f51947e268ea29694fc44bc20582ac31184975ef043345b3296c7776999d2b65a5ed429826f658c79db5da04d511b01c2dde23cd0af17fbb95a99bfd0cebc94598adfc0c6aa58f3c6f24a2535849e094d8e87a860e232acbd4bbec060daccafa3fa1fa8b7dd68fa0374ae4feb71f7afd9e9911183db449ec67c89202d9ca3eb6319286b7377733abe0c8b215acb640352267530ab307f94f0a70fc86431e7f1920e97a2f67ec663418350a820ed5bc2df6dfcb05601d24128720eadc5068ccfe7d1df0391cf0427c5555b611f4c9a5f3748e525bb7d1de2bdfa37b8787917fc6f72877e2b9e970068982db3accdded9b533402a0a\n\n# tcId = 172\n# length of null = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 4e29d514bab9cdc8821f688fd7c846daab154661b0fc6404b45a0e2b487b6ea8a66eb6bb7822e10e3ee4ce601207e64237b29f1e7080fa059c4caa7531ada59cd7d8d9355f382737ac4629273138912392120d5da6ab617e810cce32c67c0cd459ef2a95f8a153167a285f21b67a312a01c150ca94cd9cb6c204b1f98a45705ea48566bceb45a7200f162d30abfff33c97b7ecdf3abec66407d69c0d9bc8964aa8d5cc183b0ee0873bd3bd62d0d29838b1ae51655d2f0af2ff818730f5b26dba1570d569d271c874395e8bfcecc34035c0a216881f7c5ff6bbf715397c2d64119252598357fa9dbe2fcbd3bf76d34a35b9abb7ce42e336b00f7cd1e0369f296d0425fa40102120f76684def5c4d2cb1f82a9cbb35e0b0c62901c676959aeb8a469c07c21cf672c9878efeedea12fe48a10a938253730d2aa5df7277e401bcba1d83a6da09f06769d9d15d4c744ec39ea01135a645b89419197af49d0c7c71f8d40f578282d81f6f3001a8ee6c3b9353b458b2b3db4e66a2969940d3a2404b4c4cdeeba15648cb98989f9eed34dfdadfaa107b9d089d38153099fbb8447a7825ef41511af710eef6c227b1ce034c10a62945f40ecd388cbacf547fb44b8d533acfbbdbf13e078979aa2189aa533decb86f23b7fdae67c48075917b32457b4f67ba84b00e657bea303e23dce601f74a0aca78f6c5ef039d766678770111ff90ec8\n\n# tcId = 173\n# length of null = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 9e61a779b2a12e128f87cbc3097c4c4f76fc0d0276cf1e7a1cb4eced9fcc0fd4f545e247c6cd6bdfb93835582f153161403efac0ff2b604420855c668691b067a12e1088faa1b0570b6b33821b454b405ccccfa60a9d240beda3ea295c750f45a80e316b4c416a901594b7406decb58ce6aa412a9040807fcd50a100b7fcd882246d1d6924e587a6a625a0fd6789def10a77379ffb653c96eca0ebbb72a5b300c5477ea534e6f853f1a2865f5713a2379835b348ef0e6e79c23812d6231214237c9b19dcf92ed8b474bd5dda450aba3f998854f123710d282878681b92134b851458b071e92863f0305d959bcd7689e597d03ef48ecadceeb74f7ddb5546b8e21a9d3e49505d16520bf67ad8a02b1ed660e6fd9288da454e43d4d45d32ad2f4f087c24a899bf74f0163af4f7d058d14e733a2078001bd619875e0d603614a95b76d4650b338f6cd244b1fe2cf70230f453f84db1abeabb1e8f70cf2650bb3762e3119a156fbb8c5c1dadba6fcf94bd607192bfab2dcea15a6184e71b31d038baf93998e72135af1ee22c5701019f4ae4244b39242a603e983b919efa61c221ab85254d43235ee337b064131a52ddfbcb298d50079c1a9e84700c688f14cfb1c673f347becb6dd337c310f57b800d12a476c2e014efa85245cb5c587d69c3fec4f59bf2bd9482233f9d7a8fa3290dc075df31339447d44577a27682111a9c41c0\n\n# tcId = 174\n# incorrect length of null\nmsg = 313233343030\nresult = invalid\nsig = 034db01968cfcc19d6a59c9a15214fa3a7f57ea39a17de71a1b92e4210b48c9299964ec353a6a64bb185e545aa039b7967bab630ac4773fce449ab1a6eaaae89842589d6c92e0047fce4e7adc71190f554ad592c4975cdf6c5b0ce78b3738040d35fa0515479a0967482052ec9a0bf7d00ad2398eb5fcc07ea88682e158da47df3bfb0d895749b1d613160542b1ab30493344a279bd1e9fd4222951adea977cef7ea3458e16360f00ac44bfd8e6fc09e3f4ba5929e1bfb0a33909c180346385461d4b619e0cd2d2b7c30f94cf3192f72ca397901a0d385754b7f80393bcdd5bfb00931ae15194d0c83a8e6d4a3ce682c9f34e2d8f0df0941aecc2aa2d632e6b5a6053171fe54ee84318f305aa2e06280feb10dbcb98b0070b0db8b06209558b6404960f809d51085035b0d032cda67256d747925688f17f98d3f30895a435314c76f6f6936fc6f93b53d117fa0a99fa3953ffd614899ae2dda61bf695935c5fc408a1322ff8678c1a239d8733ac9b65173d4b04a24fdc3236901431fa195b2adb767990f6a9e1bc515e6971b5e34ab9f426b501df7c6fad19db554121a7d955e7fc3e9c3d33abe0198b2c8ff870decc2e3eb31af4d43d895147961278de29e9c11a67a5abf83b0ce89aeeca6e7085ea8ae30595e0f11e0eb65d0252e0cf682c813054b8f05fdb9d77cbf85207e4eeb3c48b9ca07df13d771218fbded402b7121\n\n# tcId = 175\n# appending 0's to null\nmsg = 313233343030\nresult = invalid\nsig = 4985a583b2e7cc653a5343d6bffa4f349e115441d35f594332b753ae0069b66ed24e65a9", + "3bbeab94b25d992ca871b64f18974fc65ea52dcef1dd95e46b2b758a847a7c66082cabbc1d08df1e3b4d69dd5e351af6e1dc1edf2db8851ee9ebf24135ad62ca44547bcb954ae58602f7d8eb35a55e8835926726fc31360fe822fb12dc3e08a03ca6e3c19299682feb785ddadce89486ee1175763b52ea96267e5e90cca8b49724c77c27102a2502f1b898353220a0894bee75278539eec5d19431f81ed9b2fa3ddf17955d41ba0b86cf5dc1e78828a8561187d87140ae1a8dfc22646b23df51ba756f0af64a806be81a652cfece86a47e5077f560b89e11758eaf8b01559be0376ea02f40cbeddc9735681b83450f10696f2306d06f98bf2879b3d35b05b75cdf316d62ed6cdcd7a64455c0642f44b1c603d35c1042aad35262db291383400797ab4a0875addda08cbff48811c925df7482e468a3076bc8cc89e8b4b76f7c9202acd554fbeaee95be3ee8d59207ffe2a5461fc3019607ec8da4c267be29ae4646aed386aea72b47e2abf1be5ea4c2ca0107aecf9813da0ba6b3db42c3d48816e35c3432a0db42f433b121b80b461e4b93bfbe26479eac726d5e70643aa2a0cb2c2e4dea03a57ab8e8158c6aa96fa0a70d050969e4ec40ba064bd9abe59d5f35cb7cca552a745d9306f05eb1a16945d5f20477f203f2a4cc69a06a52\n\n# tcId = 176\n# appending null value to null\nmsg = 313233343030\nresult = invalid\nsig = 8f4b449309fbf4b460d841593ba66bf21a11565e948d155c9989410e0a112bd38c950e245cbf3010b34218d48c47318116a5f6161c5ac19c9b7d65c6c51ffffe852ee655d33e9dc5b1b92b83efccc1e68376c8e29665a8acbf56837c3fd12ade872b248021e701a64ad8f99ee2d26367b3463bda23654fd736c64dcf737f12b372e146ef652c1d468cdbb669aeb50ddb966da6907d2cf7456d29c3e2b1334147327cf6fcd254c536dd4607f3a2a8b197d5c5f44570d88ebe5fe821f656a6b254fd0fa034f7a56cd1e51724b6bfbbf5fe301223512c6b30a08eb4f8d37f1000ceca973ff43d409a1b7c37586524aaba49d86cf5187dfecc24d8e8fdc2386dc18d519d3125f753b672fa2baf48c8f8fc883f01de016b9d264b31862870340721c8fe35e254689b1ef3beaeb8b9d0dcd6a28bea69ede8f2997206ac30e9999ebeeb15936e24b0964a2198f97f9efbdf45377b064c62aaa68f67d68b181859e2f9022cb2253eebab8c39090fc8828ed6b2a44a9465d4e3068f15bd41c7fa7160e0cf5565180ad3053499628e4d91c27bbf7416429d7e2763ef30719fe639f72e851c305f0ea4c6de7ecb7a010357c17e0a3a4ce3ae784a78b3eabdb524133ecb59b94c3afc1fff696d7d89b03928d0ff480ed32f8610dc36d941665a2880c4af94fd8aed67e70542ce3caeef19bb34517e62aa566c81f1b0f232c9adcfa07c8291ca\n\n# tcId = 177\n# truncated length of null\nmsg = 313233343030\nresult = invalid\nsig = 1a23f908899cfd37778dc29a4944afea6494b2c3356480113316ed761fbec243ed42fd6f0e7a1bd51c6c432013cb8feb8c4e5203065a8bc5866d2159869d9e4b47f0b8749e606e371f9204dc6b8d1315b9e356cf4d361da1a9054a30620e48f668387b1d825f53752fde9f15fc187f64409df1da8fa8409f09951f445abaaa15c5f370975cd38a0051168779ac77a798a9956fc678acd6c43df3381558ca7b3bb30d3d2a77bf391cc55f057e25e2203c719bfeab7dd434a7bebc8427f70b239497bf1267e053901e161e8be2d461ab0006f151392c598ab08c189ab5797a349b3c06f87b82c894f7b1d6301338e10a960353a6306cd0f3997de6d4a9f31de9cf2da9517935ce7eb91900d517e45a664cefe494ab8c247e0ec7c76f201b6a3b619c286bd84759b5f1055d4a353d7e4feb71185b8e2b00ba3a06f180109941017fa849c10bd9cd187cba1154e64c4a9856f563c6af807d6fb914fbb2a843193c234c3f933e442fd6de4e2f2fba5b228dc0dc53ffc413f5b8eced36d9f19b890ad0aaf77b8e08fef44bcc53d2e7b277578632cb30180e642297d24e9975476236f46cd0fafcd93dccb47097fe91aed1a05dfe855b62768ab2bd65574e6974777d54a1e6620f31e3fe757a4f24e43817ae45538aed83c22ebe904b453bc89796998b3c43661d5b638670a9d46beed06e2208ebe9892da5bdac7127029e1a621731ef\n\n# tcId = 178\n# changing tag value of null\nmsg = 313233343030\nresult = invalid\nsig = 3cfa2d610f8884246aad5616c1ce4c5212b2cde20d26b7fb8809e988d6fff65ac322dd443df32ff4008d0f6a9f30a990da3b4c9b3830a9b6f9616e1be9194dcb6f05e634bcf8b8f1241991ec8e922f5b3db8c5f81cd1b4b92f5248b9ae87f00117375c9bb02ff436ee6d078c9f86f1d5635b1100c5c41daa43c9781b414fa2a065b906630259976891e1ba4b97848f10c3425bbddc1e94d7f3e88f8c5e35851cdb1f070fca63a0e49114afede07cb02f2688c2337e632849cef8b5266f1e1e752f4f038bb15c7c08de3bbffe8671280c50e389e2ada8dc33ef777f3b4bc62594061cae12c21a0997e1be807dc9a78de7a8b39d35458a385beaa10cce743cc5cbe105ea2b2f36fda69f7314edfcf14c906ba89fc7bd118a3fa2c874cf72fd50bdbb5519e9fa054b24a86117b1b6cff2674d62d744dcefaadde620970f626a69d9d1db151134f3dae14a02878001e0e4a7eff328255e9e06cd1cf1817fac0cf9e7644177a3b46f417d9845060a8c62e2002dbc6702af1f3eb78822edd87fdc9ed01eeb8d6fa3bbd434ce5b089dc3922c0f0a7d56ffcf874421ffcc843c2675f882de1ce707b9797e73e4144a1ec5324b6b367c2b1c2ab7a3ebec71ce88825192e1959fc1d4e45c7c8c6cc117420c8ac15143c7a4e129b99c61c07db1f01951c3936f5307566df63ae81208ab3bcd7a6a67990d36bfd18b4af41c64d8ee36500d22\n\n# tcId = 179\n# changing tag value of null\nmsg = 313233343030\nresult = invalid\nsig = a85de4a779b4d0a339959eba0f9517f408ed878472054e215d066760722aa54f18977e8a58c7b5fd36a5f06220d75b2e6bd6e46a471e6b58df82205b25458c13a7a36f7789bd52e960244403f1a495dfb4feb44e0b0d745b9908de3a7832f5941335a59bf9f4ce32d5b8fab88db64a6fbb043f084bfae5b3d388d38c3e22c893491db8d7995a9206fc89ae29806093e1c0056a80534d20f41ac99473eb3c50695ab5c98deeae78458a00366e620efb890bde973201d0bd2dc5e8c23a5a4d49f94d09e89667f029c68c7a64f46831a718da5f160edf9c85e7e990c6557a3dc6fd3f1f4ee05b6d135abb1c1b338e101061d9197ed6f291900cde627e3bf34757e65d670f3834c2e991c27cee515d36f306369f32b1136553245242d8ce4dda06d6cc1f6f59bf784cf6aae50d2345bab804a934bac9d3bda14ce8f0e658464e42f0fade2d6b464fce88496f7a876aa519f334f2084d83323a4310ca2db6ba79ed24efe8e1349963d3fc7dfbb56adf0752427dc057e88fb250780962df439a6fba2ce35ebb4a6668278555500d32759697ba383b2b6ac70b9307d9497065a4f940196b384a371fc90195de37080c7129f584e57c893b1d45ea1a9b87b1c22dc8e3ba79e2a91765cea094932fb6544c0365960ec87ae9d1ce42c7612c3e66be8595e5c48ec96c2cbd3db29f0ba770836a1ee01069fade93625b4222dd22f4690d21e1\n\n# tcId = 180\n# changing tag value of null\nmsg = 313233343030\nresult = invalid\nsig = 90cf98fdad0342a96065e493823ccade9b64ba7d55854ea54d5427b5982193727e12382e5626e1c2129551d389b613c4ccf7d29ef7c1b7af895b1081760eab34d354180c22e64a6c4e9e5daa00a13a7d8046478503d3121a02c9ffe35c3bd2b881815f388497d66ea3985bac4eb92f783b53b4e8f9b51e54c7a115aa3412688e3b8a5261d20035945b91cee01839cdb8abe51d96a850bf506466bdca087dbafda1d7eff29170c4c977b18bf218d29212e2dfc170918cee6cdfb6fce32991b71a1103e7df86ee31900509e519e59ecbcc74c99800a241db9fe9f7900cc48f54a3b29366696b65f15a057b2b5299ce92b975c0c0438a2b785d933b131f6ed2ae8506cbfafc0057afb142857d90264c07dedd9707a866ba150a1c54fa76fa3ca46627ba438cf261991e1efa73204f8f6ca7ae1ef041dd52888667bce336641b955161c7c718756c4a4cee7fab6cb9d5b98a96e5417902b30f518328e6f8c405615e5ef53b1ee685081c3d4758da7872395fa7b7010727b873d38f2d9164f254ee8382261f8ca4e7221261082ce9d913362933a2e5f1b3ff1736147782b0a18e17e913353f10d9a8cbf643a73743a37b085b608f2d9579be7a985c1dee58172c5b50bc4315fb2cc32bd62f9876ae4826ad75548573d4b7ce1c0aaf816b91a9b71e4e7e134e4042b219b6ea185814b5a265383f70b9311ee33965f16020d259d34aba\n\n# tcId = 181\n# changing tag value of null\nmsg = 313233343030\nresult = invalid\nsig = 26bc51a5ca916c06954c53f78cf9cb9828bebffcf0a8a665e3f57b21b1d5448d44d2013cd44df286080125c4996395384de92a32e301369f22c36d554b7fafef65aabde06577edcef85f432691064a07fd71244bd642973d5267e07b6d224b1af31f0f7922c35192f3011e32fd64cf57f9eee9af506136b50d0a8957e9a701b1a0ae2e3115c6a95ff437fe17db195f85db8cea850a6eeae99cfaf496ac1ce023b909127ec2f3d79817348790fb88d36d5777384e0c2ff36f5616a6f805b74078e501a1e8d61b29fb92e95f14624ff9fb56de3a24d28fbe10a111589ff33b28455980410b36c636bf159f94ef30b9f18ca3e6ed69a0d593e06a79bb1a0b066d718064956ea884c7fe13f7bc80f9960efee39ccdd45d36686be74c43ca4106e94dc1be24d799610efbd2fb5002e2549183362ca0eff49bd9971855c29fc4ac31a759a57b2de8db0b1e226d924b4aa0e04f035a3cf7c0ccdd118e577a0eebae4d984f0230287c666d989d4ace41e02da8c704c3b5a2aa95dfa1d18f47dc1532a9fcce3cec6a49ca16e47288857d7553d3526916a976f0eaa238a9e3a2d37714ddacce0b40e260f56e1ccd9073466230b7d328fa69caaf79030a84a1aaca741cc196ee2ac9a44d9ad4788856e9fb510c34b9ccd61aab89a725870171b8a8ebbca35ea0968efb441346c2f04e4fffc19428e54ef96b3cf96593c579a33336e6cc1cd2\n\n# tcId = 182\n# changing tag value of null\nmsg = 313233343030\nresult = invalid\nsig = ac0c2beed1984df4bc57b6ac738f12723f8bdba28d7c9a6b4494cd26ca118bf50490d366a1029443bd7754cc507ea785ae55e726762b11bf5ad687342f64b1e48ee2ed52a53f1dff4d5a939c585f2ddd1ce4cb15c460f5b48ac9fb8ee6f0f8e308237319cf7445c6d4c4fe7eecd5edb127eae01496b470aaab8a06488e9bb6473366ab21448855237f1f622a3c419093236cb2b6fdb672ede809f23afb675f15e7723facbe7d542950856e4b104109d6e647d80e29876c698f80dba9fccb279c2bcfbb289252e78477b776bf30b98c2405b9fbaa5ef53d5d846edf70215a99ed6bfa578a613a9cd0cdc5827269311efdc8cb9e907ffcf0", + "e66161fab2c4eb4e3aae73a21a159b341a38d92755a3094854588b1e5e8a427fd310f24a0d5422fd8967d36fa0c54efdf471dd230cc2d0bb837989fc197d193786fc84158649c914e69322c1d831ef10fbd8d26a6cf5a78e86b6ff5958b492201abdd3c3c00f3508eed16c2d243d15b4a41becf2692b45ad351b388550c04520361349df518001e5b0a5df31afd63e67440ce02d72880df09b6a3556200f68dee0eb665e287d197975c998f13272cd02e0a6b41b6d3d4994360abb26b35579d2dfc256b99d110e8328cec738062b1b04aff46aa43f7ff3db2cb6f702a45c23a18949f4e63427c9a6aaf4e44bb6917ec578653eac975b80d9bd8e4f04a2dd518ac74c626022b9214e22\n\n# tcId = 183\n# composed null\nmsg = 313233343030\nresult = invalid\nsig = 5e315a5a02fbce14aaec84d260b755cdafc00a9c0108766839d1b0a412eb9825f684118b78d8361fa3e51ce358654f6d179ae660aaab17f75f7f787f9447e7771e559593b0621bb7d169ae936e4e8c85e1a46a2e74364a3b3c965b263259fbd836ebf944eb2d81cacb367562323588745358511512aeb969e6ad5865c6065353daf9d14da626166228f0e9b16381d2717b686d37a3ab02c02ee673042df9ad204c260f35d5ef14fa74d903e6b759d0c558c698470267bfbbbc3181c7be95f9098d21a084bc3210828bfb32618f3c3345f7d54dc97ae69d256ad1e8ee4c7338290cdfaf90d35364ed3e2e9e212345f119571e59bb0fa867a93a2573145c9e943e6ece0e0b88c011ce15c69f143d4054b06897a5681503ca8882154044b003395195f25d32918b380339d13ed673fb434e3a94e104314a79589d53079179552d43de2a18d1e849696d4702d8c905f9cf29f0f805bf28a79ee8ba6557aa96d01a5ee4c8f3d7583a2daf1c5338490fff7dc276669aabe88d851026b3bf6818b7c17299e23412f4bd084a52a1604c00389b629d2310c932cb8606c6dafa16f357565b96d8af78bbeb6b2e10fa2f57cbdde3cec2b3e78d3f853bedaf58fb33d455387ce6aaf6e9d9681d74a88b767acf5f99cb83afe65e167c61b6fedae893b19bd9ebba8c9d1f791ec162aec15eb7301c881bf3bbdcacd1ab4d9bcf032a2472cd98fc\n\n# tcId = 184\n# incorrect null\nmsg = 313233343030\nresult = invalid\nsig = 52187afc616f1372de47c41592fd7d19bf2989accac116b8fb4e5c6b19452f733bd89001169f13cda52f0c38c7d842b0217326145b02a02a7bf41f3229cffa9fd696a152072fe2fdeac9c2829528dee6168f08712b9f4879f4da627fc1ba176a6049f68e00ea00e8f2dcb70f36bdca4dfdc7a33d43f4500f4dc774efb5f228690a87e78553ad97c2d402ee92648391310ece59ceecbd25b5ce630abc5e063d0b1946bc44639f22af8d3a5b6b5e9f322cbbeafa0d8ce850b933eb67534c7a240e272b1f117b63a59d122a16c2d45c7a891b62ab2e49ecf0f71e702ac02212d01187a201239c8f54a6f114574a78e663c948166942bd05ff8ddc2a62615dcb30a9c58086027ba2c39cea67f4440c41c7145337832dcad97d91af4f3fa7540e184e5c30c35e2458b6e4cf713d5152094d567217ac032b5aa7418c598511ae46152338b525f30ca9bacdd80e6e4eb242d61217afecdb5f7988ba5a6440cdb821f6c2bdc46b731f66fac51152427b7269a91c1ea2b35de0b9f690a5cfe29abe7e125bb1ae45ed78b1ef7ea961055154f52fbeb638cf72b8fed371211b774f712da5ebacf0b7311461fdfd86e16015e0b85af0d38079a8070d83043c437e3270658c023ebe1319536eada54a815191ab769e41ef3795247e4670ccb7a347878e373f4541893aee9745761eb8d1c582ac305e899e8bdae24bf2eeec7e4a18c5fd22ea06\n\n# tcId = 185\n# long form encoding of length of digest\nmsg = 313233343030\nresult = invalid\nsig = 913842cc62a41a3e105873bac488ab6e5e5971f24f38fb6d99fecb1b99d47519704bce498791e29ebabdefa89b02a516e92afbdea73d39c801a05ebc7b9988b732103d09064fb8137d96383b1c261b52614c8e531684ea0f1a29c043419ab9eb8610e2b5cda1ab9515b5ee19bae627bf622c8c802d6e97565e50a7fd6715ef3e921bdb3e0c82ba1e369541ac3037c056f911d5d434b3ff1185d33e2095a3627134bd6e0bf7e10d2a7a46712c9de87120daeb6b13eaec78d4c577a5f7d33f5a17e5fbe48ca4de7990df00e403cf2871050fe49d49e7b3121f48482d35600f5cf9a836554ee0f80abae1d6379b16833a64b8c354f80be5794fb6d6bac6e1b567917fb903237c79900146bd6120dc49cd1cd48cae7b84de5588d0c4a76fc4cb5b0f6bb3b1a13e7e6bc395d8f6f0723470d300d4529eac1ad6e1b2ed62d6903bd6f92475d585508d242c2b720fa694b09a7b66ec83317596ee62122324b0169cba1564d6c12345ff106472af605f732fb635646c9b608d6e8dce4951b8e72e56ef25eda9b8e81a4a6b40294fd8754340d9ca752274ad72ae3e4cbb5dcc85bdff3903016fdfdf1823134e1c10398d1ede0fa0dff7ab631db5a1bcd943bf6a2a73a03f97a4f504e5e8832df7f58c9ba99c54e843a4420b977a6602d555fdb4ed29e5237347be3707621a43cf809e3ec3b6b1c0e0c8ce7768ef96c7f4735c0632956e83\n\n# tcId = 186\n# length of digest contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = b188bf6d0ef7001eda21409538960de8ce6765f52a39a886d5fe4e5d7854f56888ef04b8f005439ce3db47572166b13717de4c58ad31683e380bf23ac98d5c541aa558fec78b27c0e315fccc960f6b6445f8d732a144dac80980eccb6b6efb7dac2aa3c44c70ffad0d38f50c92acb71d799fa31b7efce919e9a7e7593c864e1eb19e1873a4359b4cee15f941fb70e4ed1c180fceee643c55f35e0a0ea45eda985ed5e104b696f6db37a21df74693c75311ac31b2213babfa473fab2c5eaff5b003264d8a1fae68b701879d8bf7d18af7f2380e513744b7eebe1ee83f6490cac6fb47962d59b2d304a920d7dac88b05260229a178f6196bc0977305a6f9de8aa58f6275df14ea42d3aa74d06760a712a257b2e1e7a83e0f41bd9c1da4f76d7634f8a9c2ea66ca1f16d82d27b55d55586399838c3cbc523c2f588e1de72b0f08ad782c5aa6f28f5eaf5eb04dcbe5b74fb5b3fecc99877330cea7c8bc9f2d99006c0f44f8908716ec8eb3c3273104418dc5b0d90593ddf8d73bfdc883dfa5f3abfa977861147fdeded55d4ce67a27bc8f68fe407cb86f5565879888b207576e05534dd0c6e5ef30a9f7d49dfb2d5023e318c6512a1c91d6a38961ae9681fe98aacb81802ab2415ff7889763329eac8a630245f0acbd2d29d18a5f5b7261e0379bf335e750c6a497d0725f2def9e4f0250e40dd11c62a4f4bee3cad2eaa361afcf06\n\n# tcId = 187\n# wrong length of digest\nmsg = 313233343030\nresult = invalid\nsig = 88ea7c7ebd2b87ad0909f3c32cd4a460d33a96fb7e5c2fa353245e2f26ab1a6240c895ce28c94af7289d359836ff59dc634556bbac9689d33bb9515cecd733487a3e3b5440187bdbd524853d5102c500975db75252b96806350d875ef933f64ccab351143128ad81e3a02571e5b4048ec58b5a8f774ea5663f13f3e80f9452d67804c142b05ff2bc11de1d2ba0ec0b2e5e0f330006febe1fb470c93a424a05e14029834787d85f3b9d2a0a508a90d00c93ae76ec0a9009344f37c433ee15ec4831a0f14c5222928c2f4af0e6f581a77b3c8caccf5f61e46fc564fd2ef8c29f6ce07257499d70c2861247e3fe037cb986a782536b4bf05ca186e02fa5a5467b11a16f81e6d5eb9502e5d74fb207306c1bca443480b7fb69222152543892f8d4521e18a63690d392dec80db59f9e391f1b1eb733062268f9e5d9df7271b29ffaeb58563bf1eaede746788198afdacfd5443dec21e638e1eaf32341c2dee6a2a46b1a22d20b1c2ec698fefb5bbbeb3950e1f16e75578fbefcf5ce2a65a248d7dbaebf6c5ac23207ef7bf1ab0f52cf0daed998022efc6dd3132439e69b9208abb16dfe4d75a0b87edcd433a62b2be284a68d91ce0e987d5b79bec6924fd24cc030b2720a87fbff09baf20690dcedce53ba70a24fccaf89fe7bd6e70a94c957a910044d434b8326c4cd3cf85d2ac2cc41a4a86f336975ddb73229ea1c46c1637a3279\n\n# tcId = 188\n# wrong length of digest\nmsg = 313233343030\nresult = invalid\nsig = 35f9b145c1ebe1e46ade2d5c23d421f944fc093ebd2de01e4a394954b55331c916101ce35eeeb6894e1aa41de098e076b18e258f24a9614581176ba9a5520993d9f4ceefa40943b192be0b39e27b6cb6dc972434d99150ef0737a8f2ceda8353013f0e74455dece6e0364168661b1f394c33f5543d77005feeebf72dbd5e553dc24af1d6f22042adb7ff5aec1ca4d808b490ded1fa867d15909b723cc0d82c45e0d4dbac745901d6f98c73b0fc64bd012d4ec94bb3537b4099655f3e37ba3fd9afa0f27951f57c88dac0658e73e9622fac5826fbf9386bda7ac59c36ca1350a5639215c6c5dd9c22221a8f47f413583a08b6e7d348db552db19dfb245276566df9698fa3685549ed93b95788c918dc4d3b37eb6c79a3020bb61cdc770242325d18b21081507968ae90298986903a55d7f3e4fd79b21bb1e669662a9c3e53f8d43aa201e65aa2dde0778744b2496ea2d9cef2099b68b4090b8dd73171ef95aaed07c4094ba842ebd4155e2d016ee872593bda7f020c59f3911a91d9f4b52dba9a47583bbe57fbf6603c7275de7f49a416440579ca93fedd626d52ce9faa51edc5502a9f28bae780e75cb92fc2a9453e7299d7783745d7bed7b3d1e54224f22f26668ff129ee7b64f4f065ac95b4caaeddb428035be9578ab51202bce32163a5f2b14802698f689216d9cc018ff1f33311f0758d99223a0fcfb3d5e6b451ef782c\n\n# tcId = 189\n# uint32 overflow in length of digest\nmsg = 313233343030\nresult = invalid\nsig = c03269d89ef851b1471facf40576a4e6eac16ac9d530f70b1b8af39a3d885b263c893536c943a1449396c38389ffcbeaa8bae8622fb327a2191eac27c1dd682c40ecfbbd977f7988509255a57879940b1e70f8f0252335e128f092b50157aaec86b46b0cb15dc1da05a593124a19a96889df23b6f5c6e2925057e0438aa79acd8fe8f02fe9bf6042668e9e8db2b2eaa67892e61852533e556ab5680db3db94a098c65e5b45526bea26c2809c406871bc32db868630890206c3ad3ac83ede31d8911724af0cd645a7cf99701c44f25d4e717de38e8a6972c9956ca14d17f66484a6e09c294911e5ca70fd29cc3099639f37e832e9baae0031b7f0e2825514683b6a0b38060354c6edef6d990f22ca88154b2a1faad0ff249a7b6e6ffa5d5a1b76534f4c8bfc305bb22872cb762d081485832ce74e9954fb4f6991e3b9adea0d728893d5511ea80a74562d126cb91e1d059621df2e61f59ef08b8f1dbf61ef5a983b168148b3cff5bd8fcc73630055fb50ec800de1a1b758daa39d79f17aae7790ff92c760d4286af58a8eef669e582d44d772bff4fa36d998b1a70f3a57c530d3b1416c1457903ed760f83a2b211c69cfd99d2a19cb604bc6831ef52338985fbf6f0ed657034bdc5cb528f57", + "6aeac77500717ff7cae5aebd6e8e5b6e7707babc79e0ff101f72727424bba8a9b50304dbf3843c63d4a4700d544d55e1b8634d75a\n\n# tcId = 190\n# uint64 overflow in length of digest\nmsg = 313233343030\nresult = invalid\nsig = ce821022807ab70f29ff8ad554934d4ee6dbbc97073bafd17b16a72d43ee3691788048afd16a781fc8c48e6c4fe164a50ffed9acabc313531b77a4e3fbdb2bfe73016b3f58da588a98b8670b94db5f21f29ac475c4246c1b7bb06d136250f5e70cd3efd0ade5a107eff64d6c0269949935e4779161e0e0047c5ff6191bb3a7ae9c0188a1928807d694e0e5d60e6e04ab6ec025d958f97e9fd2ff9bc1068600dcd227bf02ec37811e48c2c6963276a157c0ba580b5347d44726626f59db6db03d2470b402325c1173939a96dccb438c81278a7a9ecec51637d2003ea74d66262a389b0937d5586dc4d8d86175625bcee7211ba6b2a037a156f45eb450073f813d4cd5bd7ed02e55cbaf112cc1221da9a0e133733561884ea82e295f8778603e9c438159eefeeaa7e6176c1287a887d97ed394cd37832db837c336bde154d525ea5190d0803fe2b89f12ac8d0744dc02b688915064fa260931fc0d46c2c630b4eec48df59e8eed49aa81f903a8fa9a35b83dc70ab658e8cf9c9b5dd0b12ec4b4187ff7168dd5f5878d1ace1c5d101f9cad3012600b3193c2968cc29a6fb123c640a556c568867f8a18b367a45cfa339615c93a170ddbe5978af9c35a20ed7329de82cac130442813c404c2165bd32437fdbcf6eacf2b07df7cdd637f63cb0ca0fd427ef66292559cb5aae38e4f33400b89d1adeb7a0f40f4dd0f2ae79702c0fdb8\n\n# tcId = 191\n# length of digest = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 056b0422a3c52fed3b4245e6d75557810d0605df9630c1c82c2b2e2bfdd3321a5e5d27a5c09e5babca9c489f104c17d1b185d6e2e471940869c65312c8c5fc3bccdf97b83a0307847c81bc775a2086327c825f063cc5ae421cecafd00651eb9b4404e8714ff87d753e264d91ef350c41f9d78bf48082fe70de64b29da11b139bb4fc3057d7d956c0863a1ef4e73dfdef88c7746175298a27ad247d6433f3328d4dcd81674cc58005b2383d175700798a55b08d4036066f8a42e021a455a753911a26a0d289f7fe0e2e47bff5e9ea690a5db22e78945fd08337314278b39c0c793cfb1756724f29a730355c969ceae1b2f5f128375f2557bb9f77c4d4a0dd5b375435afb0ba57e9a8535e8b18639ad594c38ed77f53e441cdc6b09827ed9cfd2eee3d8bea950f36d707eed98f4dcedab58ef866e61fbfa5fa12a42e776cec9319e578a3ec6878bfcecb073140b0c1cd3a3b57b7341f743a38cb203136a49cb037eeae34dddbd0fe2b495a508567514f9ed2f663325aa751dc689db7e4fbf94a4a42ece4b7fec7ba1b32c384cb5b083e3d3dadadf1ed303a4f3b6536f648b64915eba1287823834ce0fe9e7726e8714adfca53493ed5828449f1737e3d0b33427e4a1b34341272a8a9ebce78402abe4416292d7aa7e342402f92ca5284369fc8850bcad65e38af3848a5dceeb8b3c2337355e104a6f8892079fc4d140b165aece0\n\n# tcId = 192\n# length of digest = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = db414598d4c4387f225934fd5e4c72084ff10722cc898dc51c2c1d45294b29ce712a53a09b710108811a46b33898e0fcbab281e029152fce0b5c29a83665252c7f205993e1f13d9f66e81e6e9394b82f107871cbbd72a44f04bcd433ed44e05c33029b0b5ad1e1d0e0c9e318c2c9b67078b14b75222c162193635f6dfa120429b1e0a4903d9edc3b503909403f2087f3f1eee09628ee7b74489a99abe3b7c7f6d76dcea609035f594194ee3c370e91d6f23d5d397235b07478a61bf983617b999a39baf9b008f34b615ecc2a6bf1936546dedab2b6082066ebf3713f6ba3bfd13733964a8daca273fb2cc11f09658ed20de09095655eac231c5141553d5ff7cf1fb90b4af73e12635b190270db4612a0e3e728d2f3e9495beecb5f05b2d3b235dfb823e1c4dbd5b6944d05f10987a6eeaa1471307483fa0f089b1af4f162eed20567c71eae78f4a409442f05e8465fe796fce7b2ba6ff729d5688d04d4af0f6730836abc1516c3cbc60c29e9883ef270591e98588da2b164afa4540e7707bf162163b5656254136b02bf1343f75b03a28e57d1cdabd20d0a3b0043d80671235e8f617748d4c5e2e574376f6b4af3d4d9222b0f660b0fa24ec53d5532daf334b9da6e5da51b07249579346b987d19481ba501237d82b0da87bb8f69615478bc9faf40f26d190b5dd160ca75226842db370080c0e861a944f97fcaee673db1dff2\n\n# tcId = 193\n# length of digest = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 11283dbc06396d4c41d44796ffa79ef35040703def2dd15b591abca401e0929ea0eed828b8c495e63c13ea6eb39b646c91a57368d93f6d3546e875b573d05d538fe9bc1cf568488aa150913ac5d0434989e7bdcd86363ea056d7d95f41d8de4926861c9252b345de78986fdcf62940fc53badde36ac81618336e345cc27117533a2e6d92a31b8fdebd5d3d439f09f868d4a0dbc0946516bd833806f722698b1d6b3e7357605d2d1754f4b88371c84fc45ac9dbaa83c1f490f1c5a86ea4154665adbf9dae438984f1c7b2357d6dc51bb7da5f4962f7bdb11f3cd1eb502dae227c61123d9d62fe8ee90346601a0cdff03743576fabb6e93ffb5882d40e4acd41d8dd40819021432d035ad981de1e816a528e31c6f0670d59cee80c0f51687c27e600bddff43f4e15577745d34685c636ebf17c1917c02716bab26596800a43b80e6a46bfde3346945baf12283ac9c03fd0a8b693ad8da48576169132b730f608ed60390efc1af09e6759d9bac49a9b5baa262f071f21f701ff0cebb032b2a755c6ab5495e96c5bd28c8c3956b93eb353eea6fc832cb6d9a3da3b19abb6bdfdf8430de973dfa02006c110a8bacd705b2cf0293783728fcef3faf3bf691975ace772ad4f39c6372d8fee7760bc8867e6b2cecf2e80667ad52ff1d51dc8ef361204e66c1737b1a2ed42883b01ac665177dedc96d436b8780a14bd69b1398c2c27bbc6\n\n# tcId = 194\n# length of digest = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = df34b1f8f45bf7f30425d81e8bf759ab02605330d5ca334ed2358b7098320c8cd2cb393b8fcdcf3e34b5979e8da7a39b9319f75d8ccb7fca4e67e92a8d19d4597bcceff395a9f27b9b97074e45ba7f041d464e543017a608b6abcefb4d4573eb864278dfcefa71d609ba6f806c95172bb7262f6f3fe586d819b6d6474909b8c03866c43d4fc06a028f30d574aba042cfd53f33a6c5f17ceb642018d4f65f429c4f1993c43c052a796297a5374a77485de537a3d3f94a84913367a90a1b25e9918aae8a1af92fcc6a166e90fba579934b04cc3f77b9f00a85f7c9ec0bfdce253a73599107567e73dd0f7eaceefa468f6444be09e8f598b197de5d81db3c54ed18bf6378145b31842473389c9c818ac5732af3085f44f2d273bcc4e9fe39dac188658f94f02af5f80a19233b5f210fea84d6864709ffd726d9e6d75ce653b2b2c628a355d0abede74a39a2fffcc9738a37bab90d4fd0a5b625e695fc36d289385e2125b55a4d3776eb42f38c18e9eb2231ddcdcca400b366d712aa140a1d9ca6af3744fab95cef9079c9b7b9abe8b93d64b0ad7da07ac6198a497fc4f827e300a98d6b572c89e397b3fc6c443168b23feda2986915d27fc857924cc5ae39ff3ddd357178cc1fe4e57ddc1bbf1548912a0d64e970ee4169b04e24c21fdd8b9046a6c07fdcf191d16691aa091d8547717c40374de170686076275d9231e90743604d\n\n# tcId = 195\n# incorrect length of digest\nmsg = 313233343030\nresult = invalid\nsig = 27c4e3f4b1afadcf0fcf455f2973f0c261934f3e4876020d91106a1b2909e5e7765ae76909f33a3fb40788b50330ec983764d2692d09f63cfb0fb109a32c799cad3c1f6cef40959a47eb988c364c85a70f6debc4adbfc9cf5e322b4466a6cf3272f897f072626c61e9d80b5e8f605c71db0a5df837949b023d9cd084b74f09a047c97822f2d9ca140b4a1f7636d49e0ab72d3e06935d67baaeba7eaa7e2c04216020ce84b3b8f424a46f615f1547051af2d9c0eb37a5967b77bd3455f32b029c1377bdb8bc24b9715a4ed04901d117ac3c2e243ad01074eff35c72f23b158b04e0eb5143417e611a5933f085161e9f99eace1c06eb0a12f0aa0e18222c3f9faa53651b587d48c1b455ee41b57b6fb592744b331c0b61962fe2f8e011dc891486bc1f93cab761d48b28635585217ed652cc22b7edd433226a62685405e086df7cba2942b728ee21cd3defa180865fc1da04edaafd86546f84e4569f763ccd70f560f838dcad56868967da89a6271d8e5daecc9b81d2848f8da7223628d016f6a8c8b7debc6fc7f457f31fd8d7e8dc81a9aa826b15569e9e28f9b2d807288f18f08f24ecab89e5d829c64a7a2f304a4b44e1e84966934b86e6d81b2489efa05a72fc8706460b305406e7340130132a7e16d5830dea332c78b8d8da73557052b22e59389a17f9ba3677a78d685ed435e96eed10c073f450a0c720ad3375946e19d3\n\n# tcId = 196\n# lonely octet string tag\nmsg = 313233343030\nresult = invalid\nsig = bade6f04bccb08b16c76f8905a7b8487705e1c1298d0b9b3883014015457e65638e4ac31d5c2c88895c3435a5add7e2f107551f035fc823f1f9492e7f62629357cf03d899c90f09ce6f055a703c0a65dcbab879058975d9cf7c9036e1558278a085c9acd7a0e37ddf5f2395d51cc6312205717b981806add1ca8da8bfa3ab963245f534711b1a5223013270427a7f4282c42008a1d68280a2a9dcc2b61742013aeb6bba22406deb2b01894e4117e90093f2456bb5909320d579b2bcd35b48e5256d91f6c2f45eb0ec97d5238b427bb1995c5d396f1c1f6fcc5b51d80ed61961b1e031d4677415e9a1f7c3b11864426d967f7ffe89d58d6de00cea2933dd2efd018d7f42c8325921c09bb4c7639379cbb22d82ccd6e8b6ce8f309d7ac3b4ce836b7a3c2e10a22235b4b6af855069bfc2be8c509a05c501cbdd5bb76781f6a21bbe54124dd45e9419a7f6ecca95559340b111d7879b55b20a9b66ccb0efb0ac280a0af5a5087548b6dd57513d475f99d2309e1d813303b0317f509b270e016cf598eda54018c04dd9b5931c66ed751a38096bb7d0d37989a9c329a3e614c1feb2a45ed99c2cd32258351b98a3283a489c06bb5a7658dc09d7d50c9eb9a9779f43472c46a48071aad0c93bc08fbc422a4b2130f31099a7a8b6aa53915c448c6e1062008a6b3db1396ed9721fea2232c29b77668f590ff91a6a9171b45fc498a80d0\n\n# tcId = 197\n# appending 0's to digest\nmsg = 313233343030\nresult = invalid\nsig = e0fe1aaa2e1f3a9fad69dfc47b59fc4b7a62fe809d601b7e1898eb1d4757af2272064446583468db4c0579c2312ae2dbcb8f53e3e775e00b6c422f17aead765cfc7bac9bd9a1ac95ce174716631f1436f418f87d4a0c22a239ddfd6fca4100a7ff5dac5a0aca2d445bdf8a0e0367", + "612d8ca4b666bfd8ec11cc1a5974bc39cceb3023e26ed582089ff4c9e121104fe5e54a15013643eee10fdd063f7ec8a0617d69b880a50c4c53759b75bb7364e8505a630e0ec85855453f0669051d95c14636005f5884dfffedc042b68171b335ca8c1a0d9138bc48b3fbdc72b22a79f05acba1d1a95a4c7508cf2a0e7291575da7f0ed3bcdbf85ac0e5c9f717811a367045f13f6c46401184738d138e310b7b62180ed71d4df05181c6636374667d4c08a954845fe8fd7fb1cfc04eb673e5f76c9a15991986d3cbb0afee88124a705bbdc0875d5fd037eeeb16e84296da65db616fbf53ff57b0379be4902b26e8ad9f6d8e49a88987ba658673bf24bda358554842a6172b1656fed2dcb7d37ced7f25db9eb6f1e07ee6a313143c7acfcaf466034cbf7d2e6598dea6a4ddadb5ff6b3c595e9924df35942c53afb4894669de7af0a4d0ba2bb045f0969016596590a3233c13afe8af5a4f03e47a3e4b1310257ab6d42bb78527e7f36314d0bf37e6d35234ff8be9791694a4e018672678483859f4fe484718e324e1d753d90e95dbcf0273855\n\n# tcId = 198\n# prepending 0's to digest\nmsg = 313233343030\nresult = invalid\nsig = d2fc4f1a9c2d8ec2900a5f3fd171e869bd10a9e1be8b0ceae5581ad77b2e3ed42c0e1c1f64e2c813d0aa650cab443039fc9096b36ac2014d8ba3a4ca0f16f64c1b61b14b7d0247836228b3c4c9520666b6971e969096dd431d8467414d1afdcb9df197a8e1985693de6c8933049644dcbf2ad818600b16d77203648cd3be96393f8fbdc2cf885df2cbeefe27b8cb487eeaf75a2c05a18f0e8067c60dcbed330dd08c3e37708db2e2f0647de8f9370db07b4725b594aa23e4c5d991a99d5a889798e5974e783c87df5cc025b0e66d718c76b2977c7fb734b31628b102d280854046923cc31277e01a5567df6811ffedc36b5131c14d49ecb6b07bb10262dc24cc830ba47ff8037d95dd0db3e75b7c0bcace8012c12132889d5bfc68728ab7573fcfc7c0dca0a49f6e3603f911fb0c3865afe52a2e1f45ad880b8bd7d86dc549fc4c697462d0e4e017a307732351accd9f36b4e151554c6ffc300b0cc1a9ae9b517bcba3f2183fbc257fef21de1aac5d88c7cad1145bd20d09e12d757bd3c9f9666ff9f458ce7ea06272d898b8e8689105f699d2f63444ce1e10e901134b200f81424a3b01aec402632118fa103b36ba67a6a42cac9769db9f0013511a436d64ca2bb4f77db3c74ee45d1a745ca9b6080badbf6fe2c37fb8161405fbc7904a348ccd388afb23601099c59bc819231eae98c1c9a393780ea89a5381a65ec61ea3c6\n\n# tcId = 199\n# appending null value to digest\nmsg = 313233343030\nresult = invalid\nsig = 89ddcabd561a4f806194b8946c8ee5763c45805019564cf69c69884f5139e7be9abb0a6c2bbf57f6ddb5dd4caca478bcbba0e47afa0d811a91a0948f96901fe6343c59769718c517f971c954d9b0a81026b6391839da3cf7deda8425454ca099f4f772de94306b75e92f97070a16d5cfff1446617ac6331de218c2bce80e4146ee109a4344bcf9e0f3a4b487954681d2f55a3a1f6fa6cc4a8cc535a62aa14f8cdb6649dc1323ed62871191bff0c29b2e17593a4ffcd3f453fde02cfa252926d800d4a5c76198f9d178bb5b0ea1142a89eafd52070b4a073667aa5c9bc2cd0b13ed22e3f5eebed02893828feb90db44d0fbd9cd0b7eeed1b46f465b131073b1a2f1e7fbbbcb3fb681b1d22acaeddc6783407dd349a593cba891f5caa2328e5812abe370a017436e25f28db1617bbc66cac26f5722f0b9d78ebf59aa416f41f44da46035ae02e2817ff53d4b9f53e34d81795e4d2fd1cbdf3993942938a323f2a8c05760d9c3eae60698a1a38852bcd8206d5a47c3bb62fe027ff0b699c33b031ebcf275dc31f90b780633db0aceafcf28b25e618c3b3993794f4dd2a6407295d80e9fefea100af06b00815662855a9d5b1bba952417f1787480b4e22dd3f9fbec04fd8b83e9ef6590f6d7387f3e991ab3b98cc88e9b3c625c78c806752a7cec21aa06334bacae39392d009f54e4f5d3a12b6e8a934506273c2059632bbd57dd17\n\n# tcId = 200\n# truncated length of digest\nmsg = 313233343030\nresult = invalid\nsig = afdb8b4cfb240b4ef8bc1b202c038ca85119be1c48ff7ae6039ff1a6d46e26286708ec8bfc3a9726304f944bd82b67201d7becce9a147441ba8eb9ceea369e004f702c29b59faeb1e5efc72d5ba3f989672b170cc1afdf77511a9a2178b6e14a008a2b347b5c8c47efe68c6b44d86c65b9dbd997bf42d143fcbcb90048c92860448e6ae8939add23fbe5ccae562a02df9f9681be016d2d90a96c77fb241c838b1f54526a1adcaff0a6fe50254c9b5c6b3dfd00906849ded5fb6ab06c22473f471288c745b591195568a5ca52f25f7893eb95b17a081763ce66e8490ddbb588fe23b8c9d339348df81b7699631fdb20756b8d915e7cfa3a20bb5a643c90a2dbbc97142a4ca091589a0222c459b8738efde499dfa10e729f863aa42b10a199f4395bf0d131c13891050147db51c8333fa6f2d021a263df37dd10e4b264df144657e9c8bf23175079ef4c9a24b561806d9304a0f342ae4ffa69925b629bf65948e53056ba8891def8b1b827f86a1da69945907bdb365b627bb47f3432616318164a751ee85691ef0a20fd7a3e61c1acc4c2d08bda5b9a23a7119b8b1933af56497d06af4627eb63ed4fa8cabacd70c42e9a2e638863de1138f332d1ddc8a24b4369d4605dacd4df96b1075235d10ddec93e13a20488ba9b649bea15d69a30c716f962119f31927bf4ad5741a739cbb794b68e4103bc05fe30877d5404976c5de0b9\n\n# tcId = 201\n# Replacing digest with NULL\nmsg = 313233343030\nresult = invalid\nsig = e34288ff196d90eed5925c81a8a0127abfd0f0de550948f63be0f60896ed6ed7c474b544a62a96c0f82197e67a34bd53de8cbca4cbbc28b6d65593a154521ffe4331bc7f8459a4326413e838828c0709aa794e62f7518b028d811ab400ee7c875671992ab6553dab38e94a897be099ca7633e790ddd330b50325ae29d8b9f57c498156ba0b74c310e40dd10c1cf8d3ebd1dd40dddecebad7a3f2cb9551e7d384eac9d23bdff84726ea3e14d785994f3ebe7cc1c0cd336f95ccb8b0d6d8ad787ffc2ef008a1112b0315457c631df1641929675f2aa126f66dc88c5ae1b887e417619a1fb853cdc27182d35d1c2db526830540e2e96e9f16f15a0156d6ca4a418c911c2635338e366847b2bf0c48625f3b7c56ab5b19ddc5e1e1fa638a76f562b9d7d26bb4017895b84399317f110159f5710a00b3d9993b1a4d5fd3ab1d79b3aa75597e7ec07db221c84ed88ee9996f510c88ee0bcdc79e13dba8c503e1ae2bf2ea9c0fb7afd67eb2ec7d73823cba3e3bfa84d151b7720c235b13907e2dc5c2c90be719bfceb230448e7ac52b8e0da096182871e2485b96c90c56c9ec69ae4106803af433b50c787c24ad04836d959f9a624c1ef04de3b0f0261fd05720b462c3d6c946b11d337edffb2d44d806ed25f3a9038cb94bc5706e54a81a16fdea228be8356ec86305e7cae97200e8593b47caf69c81b673fc334f7bdcb637872340f2\n\n# tcId = 202\n# changing tag value of digest\nmsg = 313233343030\nresult = invalid\nsig = 4ff661f10890ed75355d79a70ed18965ceb4a7114154ff3ecde025523853d4efe1d0b80047b5017f4c929aed05d28bc71271ef2dad01142aa2d45a8b82fad9536034799519d51532ed4f1821490fefe3b4e8b305e1c852e0bb1a0231a969236e9abaec94bd62a4b9a7e2e4da50c43a6d284d5a6d596a8b7855a4ca8aef9a1f6b16386f29d161d2f5a7fca600da02fdae9d15f61b1336019e0f280065877f7ba130fd7fa4fa0e97d22ef3d36fba4595bb0f944a6c8da0c5c9be5359067c191ccd486f6475af452f808cffe772dca4726fee3e86bba959633ee16c507c06c35e8c8942a20c1fc6ca323f843414d7fc5022bb24271bed6843244dcea15f5374095d66b4b48fb2ef94684a82826461907705dffee887be660578cca4eb06a6aa53a73a3608bc4206e585b6003d1c67b9964c82611067930612f60a8432486cf11a0b210bf45561f0a97addbd2d6a83d7173c109bdec2ff97e94bf1333b5b09950cf53144ff8b7ae2dc0afe647234f47471655b4c8b0e95ae4ddaa5487c2edfcecc5bb604e2dce7ced405ace964f49d3e3bddd7a18d9d6196df422b6c31c475aa4a055855cadc2d76a644f747823b79f7a10814473ac020f5f776181aa8c202ff00333dbde525a8c312fa2f1b8b739ffc6093dd3f40d604f10c6aac5caab4bbacbcbbd171e44664a4506f6f877f0f043dc25a21ccf6a366974423942187a90b6e915c\n\n# tcId = 203\n# changing tag value of digest\nmsg = 313233343030\nresult = invalid\nsig = 1d2ea8aef61828d7421eb7a118de2a98a2cd0d629657d1a3ce68dd6d101347ada185feafb8b90ba2184d90c232636a25a450cda95a9fb0ac7d4aebecbed14f672a3acf8d9fc3f942ad993446bb6955c5dc821eba7a333970a00d8d50bf8b95ce31da018bd9ae5739acff8e06498247e6b3f2a86658f4b5aba6d2a4594b17429b160f6a57510b89eb0e9960aae2b41f516ad10d9caf4c0f2ba014d365620933aef5de42ac831ba096b7ae17ddf6c9ab72507302a8c32d132752c19b173df21efaba1c875548fd2e3f7400e410c7921db0929a1614de61725b26e84d2919d53ffee6579e99d4630b2fe6414f329f1998a771a85ee265a1686d5f89943a48bf817fbf0750255d4648f835e12ca37a990aaa8d676a8f085269a2943fc244477cbcda6c57226fab8de4ab60f6ee6f87aad20f675521624bce16d3f172190d86fbbb0d71ef72ea0f05b45baef86e5a482d613248e07fd2eb6eaf61d0def5e0fc3ac457d2e232a1eabf31908d22f1539002c115a7d9a5eac4aa63e3b1fd7bd2dae0abd001f7caa0c5b20bb45f269a7eb117621f82b508960f2a0cbbff2b52935b93f213a8cfdb1822989fa9605c8b828296e3d3a5ca31b27ad87f10d92c13e783e7e0c1edafa0904f3cbacd4e0841498653dbca0983a3b7d173a51f4de2cc23cda295a96efd310fd119cbcd163bf7bb66e9aea8116ade1a9348cfc703e51fd98eb1b0e1\n\n# tcId = 204\n# changing tag value of digest\nmsg = 313233343030\nresult = invalid\nsig = d3290f4a3b1c0505d4c9b5152ef833339e71aaa0cd14bd0b2d03a521036f28e650619432759d127c2f20fda5abb7e88fbcb907892df94d67e6dd2d4a92a6a047e7e953596741cfd29b53f663527acec8d0504cc88c8e1f156e1ee45b51f98a4c8bbbc466af0722622140ee525aa03e11c3d62f4110eed8678b503a0cae1c65b89a4e97a1770aec47a0a6bac5ef72dc3377796c043c04ec25f697fdcce652e63fabaae912750342cd57231316539e28e99eae207fb457271f01ddf51790761c647cb8f7491105444f26b5cd2c1a03effc43689cd9b71a92965f250adcc1222ab43b0d3b1c1c3934247b50f96e847aaa0f0acb93124bc9bdc7beb4b9a3254df7a53eab2440228fc7c2c2dbdf3c629b7c8645d31ad4a0d229a5fc872230d35c058ad05b6d285eadb405f29913cc139b9e308de6360e07ac50811fc91edde0", + "a74a6b7f2ce95854401faf3eb8befc1e1cc55022ef6d347997787c30c302d82137a634a74d9318c34788233731bf071a2ea9babc4e44006401222ea35fb82a7bb4d53daa757b7429a992b88d817488a785506feafd638af45b66b52198f53f9d6ca41650bcce8bcb8139f246342b964552ab4672dffba1c9d1272ae2c2619a4b58eece51e1a00fdae1df59fc32528a7e77f6095792e84c62b00be673c1772023a8890fa8d6032d4c145e5a48854b78784583a191e851e4698454e2b047ee1723c2e721\n\n# tcId = 205\n# changing tag value of digest\nmsg = 313233343030\nresult = invalid\nsig = a4fb0c8c9ac70f9ef42b996437e16e4b5c7d17b821a5b38b5b0c648cf67967193b09e2fcb3ecfd6a9cc8b758bbbdc105b69a1384ebeef13bcdecafa1a6bf90a45100ad0689e71664f4244f814c8996bba8e11ba864938c256dbfba387b946d6ee631accb6b3758cf7db7255916b0e58862aa9d8a193479dcd2f72402d2f77e5f9084c013eac518820295177d46e99b5407da65eef2785fab0391f294678dde09781a5047666c6a49312498d888fcba2c7e614222dbb0065703535993946cd86f13f98b36411a6cd02c9071a0d5a3d45a96b73f728e8158ee16525bd3efb0f3f99a622f77e07dd54a9cbf158d20084e8a426c5f55f2d34714ba0057dbe37992292236dde94bd9dfaa686ae06a4519a5760f8e7eaae57eef705b4f508321f759362340216b0f8d652212c7688f39b3559807054af2b318125214b30c22f5f0f1526bfeb14feb388c441611130ce8923115f199d111de1710a81c578ab551b59c1cacc7b642fae437ded45d04dfbd2a18a8d79ee2fd7a4056e74aa2d15fe9c2d1abaa6c16ad412b96b8026c662b3f23abd8b7f15469684cae9b6fa2c720f3a79ffec8df5790a57454b70580f70eeeb2f34267c33ba0d5d9ea23bb807ceac9dcc3e028409c938a558daf691b63b426026308d3d9083c8093e6e78c35a3e281eb0745520deb51b68d4b1952d69b426f4a0204571fe96439083b0c5d0059d7447a1821\n\n# tcId = 206\n# changing tag value of digest\nmsg = 313233343030\nresult = invalid\nsig = 58422b206a09e3565c35b4f267dfd0ce1adfdc43ec9a055794338ef4416126e8e19f2cc560e2181a0bb06123b67eb5f4064fab203e21b53b3c9c947951a8c847ef8b93e737e8af6ce491cc6bb9c551eb396190cebccce7d5e4a635317ee177a703c558d5747a67c44d11a6bb4975f7ea5638f6250bef9a54afc6cce0845644e12f0eef92cd5d6257eaf866154c23b29e40963d9377450942e730f613c8514d2907a5ba5923c2c0aa953f78fbf735b7f92d5803384deb562d108b12e37509538d95f98a8fc19b4d3ebeea086b6798c6bd10eae7b3c2dd49da6f20a9f4f5d2a10d12cf42b7b00b5e1abe973df0d87efba3fd9ab3e1e8679dd8bf9ff242fce530806190b48d2bb0fc45190894402213420b170fac5485eeebfafa1067211853f7b90b627e52e40b50b7a1ffcba5cf658bd77812170cc0ab620d3989f5da77474d5026fe48776bb3868baab780fb67ea8ee8c91d414a82904b37b59cde4b9f07e7099ad493cc32933e5c809a00fe5f7455b1e086681e7b15c3dd3fb8ad56fe2b3d78751231cc5b8a006b3ca2c6b3485a7974a85d80ef23824d25588ab7298a3425806620ed51ebdfb58e36c7b8bce12ce956734c6c4776b4c62ffad9083c59648b56efd64d9646763fd49d67302fcc6ea850c7f0a8c95c2e507a73f4818c8683261bb6c5f53b82aec1d969b396d93517113482902903adc8751fac1b6f788ab21f68\n\n# tcId = 207\n# dropping value of digest\nmsg = 313233343030\nresult = invalid\nsig = 42efdb22fe5240c1d2865936d0f9c6d1bf192c9f8cf4c4784876af753b45bb619b2417ca65d9cb24d1d1302c7ed5262c8b78baa6e167e96a4d612fec50bb7fb3a25dd1007ca0da4c83451515462594f38a1092a480a0e5a267ad312a556bff53f2fe02f9b011a97c48c8748d57340bc77ba12a1d6ac1f63a1751b945c7c1ca5521d6e66ac524ac6d5d8a8e02a7688384d39598034c76a1571a65f6f2246aa24773a032353ccfc764515fe1f2466ff95b2d49889b511f6518fcdd83843777968b2fc8317ae488daf8c66153da7339774180444f9498646f9533e7b7dedb87037891941001e92490cef687949087f1de9f96e0f5fc53aba7b4054aeb58c0b53e3357e1a201dc588470cb93b8ec631ea3590c1edd06de087725e9d11d474a730c3558303f9b3f333527acdc77db186883e821db8ee8517535c5bd17b20ba5025b92996237c7eb57d15e87c8bfd5f705646b3f9138f24d85a955a78d757939454d4715309d31c267e4f2914d2f4ea22a0b8c3acedc88812d4341fe0af38a84d3dbccd5b46326f8dd05d54d310449165bcb33e701600f5b65a543c96dc50e4035a5ebc11391db62ffe56d8359f64544edfe08f7426605d5d2c13f77c09330c6a400daf9aa9f406c3a4d25f589b37ca298a2bd5a53320ede5ce4af3d66737173840e875705d77a6835d0ae1896a696683cdfc2d57a07227bcf56d52faa9c7c7f3e3e7a\n\n# tcId = 208\n# using composition for digest\nmsg = 313233343030\nresult = invalid\nsig = 6f7a76a5951ecbab674440063d1e84141cb042487a12d45d262fd84731b2c17be86ff70cb498838d27ac9a9578ce66eeed034afc5f7701bdc94d7ae2232add9959dd810ad38ef28b49b5b86ccc48f4635c05a5f79a0915efed17cabee46c7bb4f01a73995e076f1b603005ac8337c616e933ff925db88ac61a674dca81c4adbc9c5c7b998cc2d517243da348212cd335c63b789777b1c10a3b0c37004ef7020d0738dfa6c16f4f8d8653f90d166468ca5b9afccc19a62e53b9c8a8e5aacec116996c253b801bdafd66894850d89e0af4a82af11aa8a2fbfa9ecefd8e91265eb3d10b745a018b7bbe7598682dd48aa9221d135c2b8151e611e09deeb145d600583f7158ec5f5cb79d626286b3e9c371339d52eec29a4ab31685f4363d6b14da452c0e1c07744dc831982792f417536186d8aa200f916ab14a462296f78461b104af201499682ef3c2e9500de916d18ec7bc6d4405a0fa54614e637e8847de309bead8750601876b2e0fb0fb86b59aa2176aa07b46e5d4e9c06faf6fc8aea873ce81e78d7dba87e6064e61c2ed382e940fa6804661f34dea0030d518c9b927da7043d13e1ca5c5d2e398c5c11c91930d262ed604a3f43f192e447beef0c6a3ce0c484704ae2cc36f16c88da090f856b802e93ac47b9d5c8a1ad6dba286ec1e2dcdfc8db758f0690d40a02cc02b552f4c9fc337943a2b32f75932a6b88797faebad\n\n# tcId = 209\n# modify first byte of digest\nmsg = 313233343030\nresult = invalid\nsig = 90500ce4cddabd94c38fc4428e7a4d024ff698e05bd46c654e0f8e0d56c1816e9842124e30f8dc4307c67956759339248ffab63bc8a89b440d071d8dd513cf144fd8bdfbd9329a895945acca6515d2775458690baa1f91636b29057f322654c15d8d777e6e065892d2e2880b23ba740f3206b04f2be0ded63bd9797f314f6dcd127bd39322f08c12099f7bb6553f71696101244f34ad21d246e125c8e9581099888cb5b71becf9813e500cf54d6d07db780695d92cce8353bb4e8d78dd46512450508ec7da0192e8967675b572960e9bbcacea5958d56db1c8b3ac3ce5dc36da6e200c388194a51dc7f6edd86ceb9c4907d3150f9392298ff2e4058077ec9e61e13ebb45abf8eb51137bca51a8193e5e153894aa3beb7f6b5846da01acf0936858784598750b1c0494625bb6aff4af8b08e4198378677eb230282ccf57cf3dc82315107191fcd19b695bc3b7289b3c2f03d64fdcf62f06aa2eebeb09583659d3ee473f61381809c9ca3c268fc75ace4d69675fe50db2b8381935bda99b69f777fb9b26feee35aedd39725ea93ae945a9403478cb708a4054e3efd4e57eae8122b4b7632e0947452d5f417f08ded0ba479be8e05389b37d0b8e6875b0d4820cb5ea874dd7fe872c2e031ca2717f04bd592e7b8c2edd54b284cf8a713f13a46c4b7a501e1545ecdedfaab179d08aa6af51352f1510a61458b71dd18f46dd255140\n\n# tcId = 210\n# modify last byte of digest\nmsg = 313233343030\nresult = invalid\nsig = 990e1338bb87618092594f64a8b924b5891fc8300b3544c6a35e56f9d526576ba80ad84479ee270364d7a56ce6d1ad3babe976c85866971ea1e4a579e178c457a2862c62d48d38fd6e019895b44a9945ec481291e1a8b4da0e14ac656db4932ad54f31493b7888881a70b263b1494fb842b3d7b28b2782c95902e3dc41979cab7019331437b4d1bb30fbc1e1d36bf282fbe7d3f63804ab61ba14f3d4249401694ea5263334010d22ac8466d4748916e5463a3e3ea330dee97363bbef5146f2f1b0a29767fa674ce724744ff67bfb583699dbecc3c12795b3d5b4e39d6318d4efd0610b1bf9cddc06feb587b7c67978968558173ab5e96c8518b694cec5806c21446b9acd975cde187dd30242afc3eaed7b841749b1df8372c3d5701b6bf9ae0d81d8cbf19a45089fb71843a6b8e933482fc862c80b5eb3193ecfff870f9fb58f5fd5d2463691193dd71b13553adbc54486c24557299b48436a75068baa9220d9537a52dcc20429f7356f1daac52a6077760aedfd82093996793cd506b3a08d50ca7e9972da658dfff8df88e635b6fd8ad576096ad274ce36313f662dd46b52a2d5e822eaded67fa51f74c4bc7ae66ea44dbc3c6f3b5dde792cc0176d780e34efd7174ab64a3249e530f5f75b0e3723deca0b1447d0256a2d3638b4b0d0f26afc1887c4dbbd73cff676e7bc67fb114fbbf791e9483a27cdbb6f24177ebe7d8d08\n\n# tcId = 211\n# truncated digest\nmsg = 313233343030\nresult = invalid\nsig = 7e6e6f4d815794ba19f8a3d48d051c33d2a46e34d4239ebec18df040695d1712bf978993a142d7ef283f020d75dfc7ec1bf3576f1af6d844b091a2cf9533f3cbe0b408c079327b67bbcc161689cd3754108378c4d88995245069df43ce3328c91b0e7ef50454ce344147761e600d3f4ea33f18da72d0c4f5c2cf6f16d4935fbccbf57369f81d057341eb38023bc14a72f7b6284bd68281a1f43a3e10c00dfa09215e12cb5f091884bbb1c09dcc05f400a41f3a38090716ac1166374d42ca4b90cebfe78e886128b58a3d123d4a31102c0e9e7b3219201fed4fd1a690bcefe17aa37f534ea37391595da40e381f58a4323666d64691d4506721568e96a82376bf7b058e224d8dc977065895e1adecc31e68c469ec0199377fc59e3c9f65b8702fd7da1bc6f6e4840b902eee1fe4b77b847b407402c68295274b748b3ff93c505127a64ca61ef8a2c9e2615b60d559d1d03e06bec92bd54f671f115b2f17f81aa68b55535f3624d3ca940939578f54cd9e570db55e07c4a192d5086c534c4b499ca7d5ab240ddc1c6ce63364f39d2cb9e6489f2fce8941a20556da30f419ce039920bb266a38ad00fe8cecbdfe430066f9656b5a85d8984e9950e78f5cd1918adcc0c8dca978616e17734ec911985e08223a6175492d1aa8fe98db769fdd0c2ea375e085889a7c366ca471717f676ab2873c0f31bf9e9ae9a820f5985f37295259\n\n# tcId = 212\n# truncated digest\nmsg", + " = 313233343030\nresult = invalid\nsig = 79e0a3e4c04ca817128b73f11c4286e6c39a25b6a979deea45f0ee0a6cc0b5b9bc67b206da977f628c8db3b242b451fc0faa8ba3e522f0ec09776801cd78129230e121d2e2c9d302a1ffc5489052eae15ba9152738d1e0fae879a324bde029546082da97f88f67bc40e3431425b9599d6d097c452059fac41839a6e8194e0e539a5ac1a94af4708fe29dee4df1e21f0085016aec68f3c4fcbf7e64b7820885bef35ed4cd6b5d8775d691d2553b61afb596eee499666b7dbcd043d928ccd8d0be5754c73bbf36226017bb62b27cdf64bcb900ded9452eee442fc0341211f58cf15fb6164cfbd0a187c3ac90c05c4620394ef3e4b93841191a299c763e24f5695a230d1c03b1edff006d774cf400d2ec2fa2d4c397a5aeed9394699553c7102839267ae8379a3d7311d8d7bcc2547773e8acbb5a7fa2a9d2724597304f865bd8ff38e975afead121e2456f669b54a442fd6312aaa3c9bf1320eaac7a9fddd82abf70c2c0d252bf9d74432f9595e9d19ceb1b89a416c1c10bc62e031215f579fd5049f6e2ef5c34717f192c28f34aed00bfd8314adad692bcf2e5af5e68bbf31ed2923949df8c28bd77be6f4ecc00f5c1ce725da9fca12b884ff5a8576db58b174fbb11822202a8b015dc6d1b3ccdd5d306b64dcf4e4df138e44e8ddb264326fa35e969dad71eae521697a1ee02b101ccf76e794eb252acc5472ea00d8366d4e2ad\n\n# tcId = 213\n# wrong hash in padding\nmsg = 313233343030\nresult = invalid\nsig = 388f02de647e67bc729a241dca57c75fc55d876559d697587b302bddef18222d1d0f53a9c5f6d9459d457c2f8b22db872078fa3ee73407be9be6ec15785f9721400d414fbe908aced1af9453092e241a41d9506944ee4c7f0ba79ca3d05195408cbed131a6cf4ee28167959ad35cffcaef2b88903213a7a9f7270278cfecc9c61077517e3b7c9fb72bee572bea2817e8c0a774040b5eb508bfb280e3bbc878ecaf8cacb91fbec22d130a1a123b8dd6451c3744de779dddfc7516e483fc01554f16ada990016ed6e4ee81470688b0d91b36199a8e7e0b8aa3f3e12161f53ca859b2accf0667a1a306bc10cf9e66e5562410c183c5322b1024f0eac7cfa4a5e633ff99412d769d52a0dc2c585b7b6a5706c7351b7d04b26d7b9061d4455a97f89b0824023ceabfde9837d743a06a36ec974ed0c1a626fca20c95e5dd1e1a3a59e15632bc6b556c8394ccf4733c85a9b9008c8dcef89693ca34f8cd32847816eb75f303c96b627ecc8801c3a25b612983f0d8b098c0833316b427f5dfd66834afbd9222110c31e81c61eb2eaacfa39b5082d2207b547eccc25c03a825648cde875a09a03d2205080b4352c5cd6b47c32a5257f9b77b6b4d25b606f87e353ca096ea5b63fb0ae5e51e0ade201ac4452d3cc457a49be9aac9068e584ca9f056fd5908aba626b5fb12fad165fdb1687a358a010adf42020d6aa17152676a11a6a060df\n\n# tcId = 214\n# wrong hash in padding\nmsg = 313233343030\nresult = invalid\nsig = 365c5a432cd3eec15aa93df76917c577a947c5442ffa98373c70f19199dea96ffd8faae8233f46963ca70052348123d394796f596102506e4e09e6717493aeb257d9dda41316afc0499678ad11df91104afffc1e20beefd94f0d57500fac2dd7b71b3ca0366f3187452f3c202bd4441862ea4ff715c12af53b68f01001e5054ef851aceef138b094461abb7796a5dc84bf53f7c4e7006effbd9ff91e1edc498e867e754854c59213c0116a8dde9ea694210731eb366c53729cb2b6a9d9038b153ba2879b0de5b5c9088b79a84a9552f3f6f2021213010dc915b041713eb9350f7a1858e338fee7063cee43aa0f195fc70639479b5fa9e6539e69033c8d3f12acd78eff73c3ac110025f6f7c7dce6d472a240f5e6aea2beec9b7d8bc413e27df4a0cc5be5e73e887ac265fb258ddf5c94ec90c0a4909c73a58bfd4beebcfd9f23602ee10f78a8a8b395aa17ccff5e737a0de2a061394355b1bc5e3c688ed06ba65e8b57967a429a2c352a2437a448fdbf8fe52ec1da0934b8eaa2b7c230e507341efa2625bc4e015c21a7f9aa4e050b26d3aac6e474ac7f2dcd709984643700a0521b0d840cf93c29a276c12e6ff32978d92adbf36690d2fe8bcc9e12a42f42c26119f1f432a7304b1350c3d584a04b14cc6f31e4566f72786ec1e24d5ae1fcb8b66ed7d8e28619a02cbb8f217b1d8a3ab2938aa0b92e5b3cd8d3d0fbfb77f5c5\n\n# tcId = 215\n# wrong hash in signature\nmsg = 313233343030\nresult = invalid\nsig = 64d797c9a480a0af29bc1d0fab877feb031e12d211621d1780f0e6c7d1e121fff78490dacb450c84ca886124336160b381c49e2985f90148b86015e32adb5d090f3a5b09e3cc46fddeb0905f92c3efb94e2ee887d160008d5a6221a637411ffecd725df8e92baaa8249f07c452439750c40b0afb88654585bd287bafe4a61de4509721eb4bd71d992f62d1f49ef96695c155055138fef906cf2846a2abf8c51d70a333206bd7a19ec8b0c9ea182a7b4d76c33c21196aa72d158a0ca7fb3dd44a39e4191fa47d061e2fe283dbb98dbb0914859a73d5fc199c297080f71a1c91547730b219a365646b5fdbbc0b397ed2b4eeb3055ea7ac38fa2e27ac236ef055965456bc2ea396acc1ea2802e367ed1b465d4706ff7e1ed810620247378abcf6545cfb3793a695a0abaf924333b291a6ba8e1714db4986a5b485f7a0618b731b9ad4b03b3d07ea3f8d7be90114f9d66211ff8b30febb2def245e6a561108264c237f8fc8c35e52b20953b9c49e620146beab9c3912f9a012cc5d421ef8ba5fdbbec3a142098ce9861c6750498cf7ad05d9d5e5cb557a2bc386960274d9d0bd091478bbe20c086d3321cf44c8f8466755dcece0078a0a5ec83d206d0c3f70744f234bbfe0130c3f6bb455f175a038db19ed336306ba77d1c4646a578d229fc94ad2dbabdaf773c49452bfa06ad01b8fc8aa6b63a4d4d8144c3270018bbc122f87c2\n\n# tcId = 216\n# wrong hash in signature\nmsg = 313233343030\nresult = invalid\nsig = 26864e54d84f29b53367ac7073df84ce5d885c7b67320e09f3bd3a8468de72f8ee21253f1157e74680190a14c895897535e04d8861a7460039970e10bd1f1c7f4690a2b7e2422f33c4eb2c18fbefaf72a85b552a26dac27bcf5e66aa97a4763a1a32a8681b2627409c8a71c4a6e35b5d845e35a3ef67b976ef02940fe0a4e479535a0b6239e4d1eec727e4a214cc7bd7f3029b3c36aca191ce5bec40f0927cf16a38542a46453764ba94ecf0651946978df3396f6bf12dec23c3f33c78376df770842f28aff8d752f25308c2ecc74e588bf16cef324cc0f9aa156b0f52c93b1590056f3f5e01248c589f55e415ec387bdee72f96790b1cdf01f07a48f57f058d1eae9730dfffe05eefc8882952f88a4a193e76ea79c03a32941e051f750c49b39e5f42083664f8e56a1a09854ec7f11931f9b59b880dd19ec698e4fd299b155427e209614bad115f277812b1dfcbe81375342d8336096012ff6d5b819c0a3d3592ff31994c2e6734c11fe3aa9767f2e07ca61e5fcc1b38fb0284bcccb80eb4763aaaea78ae33483d0aa73e5109182913347ede34ecea4cd1571efba8086cf7a4532a85c872e27f39375f736aed8cd56348aef209544efb5c433b013b912a71e25e832bf7d8f657b8885062dfbdf092085e34eba9b60cd4523a118405985e85370ba59735ca3c8805616158eee9b2431fb135e061d2c9b7af6f1a1e100a77da79\n\n# tcId = 217\n# wrong hash in signature\nmsg = 313233343030\nresult = invalid\nsig = 05efbba03b90bda7ba280c6aa2bc8af655c884de2401c9ff9dd59e0d82c8502dca3d90879694692ea2b3e77c6dd3fb0e1f180777b237e462bae0a8b35cc21497c36818a1dc89dfa64bca89cb07babc10ddb98538aee10a4e59b4040c366c8413326e79bc015ca2ebe0a53ee6a4c49f5d9a87bac550e4b6a8173fb49188aeefd28457b594420cf2d77bbc044f6f4f6a7d7ba52d657f5dc6b631ad914bb05bcbf2901293e5eb5a17a88dad2326b508624b698b31d1fa08d00a001db8cba4a9f42bebb0eaba07e87235a883bc719513aa217a36ee016832b12cc4ca0d628598212d5da416af6342855da7d77ba153e5435ed7ea5d04b2459d68c721adeba8c071e979bf89c04a3c8219d67eb514a79b3a2f6926650c55e724b62f800b4f9060110479442e4f8b82ead56330e2374cde8b335552dcfdc3d0f940186192fa9fa6daa8156b1e55005896fe74a3b7164520823e7b7f21611421c281242b37da0ded476903f4b44be8ea35b594a2d97cb0c98a7d2a50123be606c3e3c11b4984c5a55ed01b1848fc54b83f681ceec448dbc4d35d15c389283b26de66c713f05a0d31993ad3e6e1b3aaff06b6f046ab075d93a8ca75c3e5558f8f2a445cf10d5eb813bd6f2754c502c93e81b904d845fb55c9e0810ca7259a012840cb0c85056b0a7e141e8d3a7fa5849da50e157c46164c9c02ffc099f42cffb71368f0ac3dac77b2ceb6\n\n# tcId = 218\n# wrong hash in signature\nmsg = 313233343030\nresult = invalid\nsig = 182a3c3009c88b744220bb4740f2e7a3fbaff9f691ad27dd572ef3678c908fc22897accadbd6900c8b754b47a5f680784303978971fd9ccc90364a19a13e2b681c980bd71be1b45280d57febc33da4d1cb6201bdb2f7efb61b2c48dee4b395738e6814fb228d41203a6cb99c5b6affd6e11a0327fb0a920db90319b0b8578399ed7461f0575acd25157153bf483793f047d02cc02466201fbf6383478b05e61c49683bdc610ad3b0e77e95d9adc991e7214f26db5e685d0ca7ccdd3ea77c5069085d421633c1d7b894c8253da0cf5905bb16e412ff92c5dd91bf0a88e9ebfd34cb65b2f0347e4f2148741e8f660c39e3a156700548a8f5e847903011af1c1821fc5b4139bf306449d77f0acb5a8703687063a16bbed3fde1c5ea05bb8c7ccf9201f44634fcf08af88540a005f590eb5f91421a14d96431be124655dc3dc11bd7dc9922c35699c8b5c9244bd3286dc2514df3b034c973db50a4289e49eb179b7424ecaff6c3ddb7c3f7038e63474a270adde2d5a347e6138dd9f1c5deb7b5bd3a0c5a3720d960314c6f6e47b1508c38fbabb63466e0029157c34f3b67517e9044b5c0c4473c0b88a845e314a4b0193e0057d460384c62cfbd7ec5ba725114635baf28fd44f35ab0f9023d59019c2bd3bf48a9d8b223931e1587057633749590c19c8e96175c8384c3a525d35575429d9b4e89d01585ea15caea456a6d947964df\n\n# tcId = 219\n# message not hashed\nmsg = 313233343030\nresult = invalid\nsig = 4c620417c3aad58d966f762754b64e22c3e37d9d504f4b96edd44944120918782e604c7bc62db1c5f69ff862e51ba876f562de42b75376249286020a14120fb5a9c6223063f992eee6badb230bb2f0e3ad8a9a59dc7247e211f6aa97515050d5ccb8142f2501b9440b9a782cd8e9d392bb584a5a27ecda09f2ef1dc3ebb6e01cc433cb59f788ff823abed3845393812c846167229d92934e0f74d1471ce270f5286106b25422a358715a7b558fc791c26e803cfce57116362634b511cebff74468f2bd30532f6cb78a355f454b6f3", + "a23e208150850fa5f6f487da771fb261d84f2c7ef0f669f9338e18d92797d3dbd8aff0f7d5a8f96c3e46e3d7744b10e9d3eccf93a74ed5b21bc1c1c7e866c6ac2b5b3daf764a4bf3bd4e62e60af84b2a47c6ec2b2b8d7ad2e1efb8dd94eb986aa2ebc26df9c45c845e5c098012958a7f51183aaf3462088f2d626db468e1a02a3e0a0eb2d6e0c4dbe8f7828a2391f0ef7872e2eeb653c98670bd0d9334b115df7b32896cec3a7fbb5331942951fd95d4d1a4bd2946d73e42bf59f2c6b847876761ade9fa866ca3c494b805d6618c4e7815129465f9b91dc5cc81d27690728f48058cc7786bbf7fc11855b1a0c0b169bc7eaf023e2ad9393da18d543829cb41aa7f5d693e665576d1915b5fc4c78c7ca35d4346c57f018ac85d8ec58c8637ac7189a83540d32706a2df8f0e9b5a9e64e36ef\n\n# tcId = 220\n# message not hashed\nmsg = 313233343030\nresult = invalid\nsig = 91417ceb9001aa48641c92d1eeb3df7459f91eb93e379f3eadcb1b33164c02f619cf5d626d9cc594701a87d5c3d51f8bce6f00da86a07bcd1853984def2ac42fe273c3ad4d63c50064c532c9cdbdb1cd507035be54f5e0e34406676d1f7d9a5ec8d11abe9552ddde103e31a2fa23d8f9009372748b9d485bc77e17bfd70389d3c74231b3650ec6fe74acc8be6651e019af2f299b6e2d8183cf9ce2012d1a722e3aa91f9b8a9bcc05ec52537923c791bd43b2c7ef34567209a54d200adcbc61fc4d32498abc58add9b75842f5ef244117a658159351b44b29b8b57854e5e4052228dfaadb925ad3d33cd1559ac1134675369c17748744728b71d823f8d55fd8f57c4617e22a942622deb926e40ae90699d98d754941b34d2771680e51278314b382aa496abd01d2438e7cd047280be29600df056e23cc2e2667cdeff32464a8a834881180847b28d949bda9f9d7df75ff4365e009f114d5bf46b2f7f67df85d00068f347f201cf86821b9becd752c4ff0ef24ab3725c173eee2d9971bc5fb84559f9731d9f10ae84ae950e20d52ddf3338818b2ddd8c687e051ea8d21c935d58debde2e7325796756ca4c83a7271ed91b14040646cf7e6fc01174874bb1144f8506b5bb464ef71cf748de2c9069409836d9458e8f0e8105e19ec4a93d63782057de994f337850cd605e07b022a73d3e2e1487eedc35b2abc547f1c099ae0db128\n\n# tcId = 221\n# using PKCS#1 encryption padding: 0002ff...00\nmsg = 313233343030\nresult = invalid\nsig = 86ebb86cc898d04b302d9dad510e9fc5e0018d685eb334c9fab116ae9187b9593b5e2b9690c9f32cb8219bbfc3317a9c2906a811415c7ff339531b554031248d668e29ce59e4f641cb1bfdc36bf12be43e86dc91ef095b18e8f60d671b20f06f1b0021e4e6e723abcd55ed4ddef563f837d8da6af8d078bf22492d4b00b0a4ebee2dcaddc918c585dedabfc69a9a98d553056e37f2888f2357d7e1292d4513db3cf8090af30b2c22057ffceefe98b9437f2ec751f8003f012aa4647b34bf230ba7e8128dd5b5628defc43a40d9107e4f36a4fdbe319d6dd210f0fc8c608db79956537deace1483ff2987327839fede77b1aca4ae0bdee7376e01df2f7ec6ee4735e9e573606dcf46038226273184b8dd1752d3c7fa989c32000fab98127ece022df538de31c65ed5b59d94bfaf1313618714c7d92c08137a35b3724dae445a088d209920a5867dce2e67338daf329d9516bc7fbc0a883fa96a9886a2d0c5a4671a1189013e07abd5dcd114929e5c3e7aa42d151696a467f58e4da1ae7ed623fa311eb16f67c3fac14bc9431f66146b3d015caf46205f2e70fe5d922c18be1f655e43a6f660752e388481ff2f8099c077ab7f816ea7dfe18f9fe2056af94a5dafc0565286e6fc2a7fde0d0beab06781c00b2253a30eba3407e2b6469aa3ea896e70780cfa00afaf73f441e1b726c1cc5be9fc69c0e62759893379c39f81be64e6\n\n# tcId = 222\n# using PKCS#1 encryption padding: 0002ff...00\nmsg = 313233343030\nresult = invalid\nsig = 12053524fc1eabdd9eb1f39912999cb88339b12f53eb2817e50acaaf6ec0ba9b28a554e4037fdfdfafb6533fdff27be0e74dbbd53e95b66746ce22fd5c155d4f7f6898b3d82b3a917c300fa95a3471819be51199fde252ec77c4747d7feae66108197f7fefb8f5a2a78bb9f6adaf927839ef696cb5d5b0524cd3482313827821d56537a1af7c72ba4b68463d033b5af9c4aa9dbc7c69008a19793e60053259385947ec3672780704a772ac4b2481ea5252f5229d8aac50143c7049d2ae9e90a0205f1da466fb8d3fce4111bef81e856b8b362aa98826142f98b5d08fd36bda2b3d2b79f277beb942a6f28da26db50910646bbc78d06a0db015a8371bc75d29a75bdf91bf29adc2aa6e0f255093ab1e27ba31a9659fa7b4f5fd6d997f23150e3eca7e0abed2faa0d9069b37a95f4803fbd76dd3f4e4a657b8d7fa8e1cfc1c0f1734baf1559f49173da13b7783fdd0df41f9e73bd19bd6a93f3a43291faa740e95f7452c53c6ed05b4c1d25729842d461e2907aacd6a5e2aa84d9226d809d4b3bae8f8729fa08bbc93e10072d7920515479baf691a34b2ba7f71ec6d3b3a1630b4de74865b9c7ad4f1c3d3d73205caa67b18149b87f913701fe9c6fb9644bfc9efbe715223f3d0f75f5fbe1b6988c1d623cd4c3e2afa419cc950dd48b09dc8a4048163f899165b990eea24e9b1b43b946f5800c614e37c813aa9490e3d74fbaa35\n\n# tcId = 223\n# using PKCS#1 encryption padding: 0002ff...00\nmsg = 313233343030\nresult = invalid\nsig = 3d5a97db9a79e12e3752b1da642f25aed193d95c9a347e044eb824850cd4ec2357e5e45dc7437ce328d225d9b90893d170275ddf4f4045e57edbcc596883fe71587b65e9012ec7148f74f7219eaf6ed8d2b3abe6967e3fb1b8a588cf95bbbfb89497c65210b34db653258a34b04c48365f7485f686e7c3950e5aecd41786e18cd316ce73609c4a07da70c022798836aab39f562d39967586554d2a53636b8eac532496b883da2cabc8b34b796a3606e56f7cab66476c76112d7c96af7e2b72fd400b33010edcd4ad7635b6cdcb0c5aecbdef9deac2df1fb416750b06be3d6f3bb88ffc331b19540cb101cd6b27cafe8482b71b8104629d5f8d2f513730ca5d0f01e9880dd8654c65fa79ca007784daed25f7e51bdadabf64cde053a7549c4c7f64d3c0c9fef50a1eb401ba72d33accc12e4a3c99c8b0ef8a606597e90edb36166fa38eed51f89990c8b52dca73caf77bfacb75d05ea52286ec27f0010f4834d21747a833611e3fc5ba9274e103c8acc36c6eb41ba9cba83c493c4503ed81d4c65b00e8a0188508fa35141d6594da2b2c64dbab5c16a9b5c06d16e030a11ddd958a1fd9348ea4bc4389e22cd82904a195ac04402aba46e03a8cc94eb16b9622313a6a258f6f35ef751fa44ce8dc2961c94a525800fe6bfcbdc1a7bba17b3ebce54b57c440913b8ac367b3c3f78ad066ef2da86bb75958340cfa1b5d38b56ab89b\n\n# tcId = 224\n# using PKCS#1 encryption padding: 0002ff...00\nmsg = 313233343030\nresult = invalid\nsig = 58656a4fcf2a67dc8141c00a0a311627be548f804f5223ddbdb223fe213b111b0e67d4b128225e114d836bed2addcdd45938559fb8c03a884c6cfa2a85f162f0dcc0242e51a917dafcf76248d0c4c31ebbdfdb89e856c189ab030c74cd984c59e5c786abbf0d9a3c3fc638d8dcaa3438dd996582aa54e8dc52ab0b4bb5229734b7282038ac089dbddaedb1022aa27c7d3aed4facaad1ac2bdeb5ecf952cd7aa7fff61e13c5041ddc8ea0516eddabeea1ac5353372976e80b81dcb4769f07bac84e878bcb71f42c8a414f4e1a07bdd0c1f042807cf521dd1bc8aba6055e89c76c4dec3e41845d556b3d0b9194a39441ea70ced40f4896fbcd057358e04e2179ea844414049c577cc80bc6395afdc4ff7634c31a14f161ad32027a03aabf0d8d3ca08a882df363bb4cabef6cf9c76e213114eb242ea331d05ba14a49edea73ab3137ab3449c94e3754adab289949c4d346978ebb2af046c8ad7a9aa87be5def8617553a1d062d0ff21beb3c51305911dec33f0d4ece2f985dfe8dca9b98163d4f3d2c4336650639374eb1e7480d4b30f955be3d1a90cf82aa5fefede08be815e230f779fc754b45a5e64fc0b1d07665cc6fa4b5c83181745f0efc97f1f0554d88e4acdc605e065ca1733eb296038667130a0fb424bf13349897cf3de9d16314ca1e43e0f641ad5059e86877dca746d814fb9a3e8b4d3a9f330954b5befac7aa700\n\n# tcId = 225\n# invalid PKCS#1 signature padding: 0001ff...ee00\nmsg = 313233343030\nresult = invalid\nsig = 78fbe68519b106475e9407f0ec83652a9ee79bc60c3eddacc3419860190237ae947b21ccbfdee04db09e7ee4383f2b5b1019aed8c7ce14d4832d48153316499f21f4348bb87126ede5f8976e0d31a712200ca85cc484b114bdb7c32990e067a15ece647d637405ce8cca20db1a0b5918a8b7e51c29c9e323582c78de565de12b828bad378a3e13c85d7771790f6bd89186c991560d8d83c405c212ca195d765d6a8e3eddbc77471a077ab4e239f75a147919d817cb8da78fc35c907624900aef916dc0a81c394e9f8124103a5096b8d737e395c1d5a8ea70f79f416e6e7277c28c041e02c7bd4b1b4b07841cf35701da7184abf8943430fb443e81f7844f2f85fb9fdc349620c8bcff4d7c8d1bf0f38e4b2476c27afd74977ebfeeb301f58e6982ff78b1442376fb5a60cbf26d9df59dee940ae42fc2071ceb4ca78aeed44214546aadd6b34774a1e487c0b383d02d458bb7d76b799244ed1bcde685d8d913a785803166440a9147af47de0500a65b8166568f5a1d9bd0b8a5a805ed3c665dd95d6b8241ab9c81bfdc0ca1da068839c46babe1b344ccf2a9b8abe3d4421ab7debad0be0102ccbabbed438a384f5fd131d2e3b85d3a733f9a625e55be79010c44d386a2df6d7d96e896b2db0d06e3fe9c2eca9970c3abe79e1d413db294515eb54e479fb3c718cdef7b47c6a89287e48f246177207b8e75b75f47a2a348062b5a\n\n# tcId = 226\n# PKCS#1 padding too short: 000001ff...\nmsg = 313233343030\nresult = invalid\nsig = 8fad4280452da19d7cb9c1ebc9098733b6d337ee8dab0ee913163d8632620a15e7f27aa9ae1539907916993e0cfcb6577747fdf5934897ccb36ade1b495286fc66d78226df5d8ebcf1552dc2d7ce495444241b7f4e53f0e53572df653678ca5a102857943ffd446ae261850026b2ccf8689df7a72f3fb024483527251ba84c2c334d0395f47365bfab6ebde0791a8c9c3e9dec028e2d5af58525a43181f91c69a5acc78b3672b67e09803c6343cef3aa0869613a74ba59ce4f1967ac2d87e56227ae9f7e24cf4e25b32a82753bd50fde846fbd3618a6985fb05326b91e6003e614466bde4713766551fe6838b3789302ec084e0700c37e9c62ee98fbf711d31b7b1173e77a104dee21b393dfb3fd2e4ba506db1d9c2d99bda0c3744d04e11a1374cce40e1bb0c1c3e4e1680c1199c5e9a71119cc4cb4e4d7482c365f6a4b950e0ef06092b330e94bcd310ee9c12dc08c62ac1166474101944165d26c7a9aaa9328", + "935914f2a6d79090a79465c69239eef14adf66a32117709528fec892619c26f59e234b5755530d1c10c59973b40a55c289b85f5e5f34c5e147af44c84460e2ee834f0a4798f49aa61a16148c8a36fad5fc255bd02621b5f51212908d73089b10936d778b6882c031eda9e26c7fc8bdbbc4eb808e318090e89cd6daabb75c1d55d638d603b60d51d3f3a82ac56663a0e4df5d9cbf323e1ee7b1531e97a2129f\n\n# tcId = 227\n# CVE-2017-11185: signature=n\nmsg = 313233343030\nresult = invalid\nsig = e3ae7de5bf44de7d357e238c8dff063ca713470777ab786b495884e7a9ba1dde65de7d2b5be3f2b7d1830cf6ca8ed5c05d3f094aaaeb1dd2e4b2ede08613109a9ba34c7e2bf8450225974374459f16da2c14192c637985febebbef01f0381e78d0fd63b76038f5e3d35dc7d2243963366af5d7685f1bcfc99dcb91e94c93019068353122edd03cc3e615e17c1bf1dd7c43dae86f47a40238fb594041cebdba25f3fe9593a6c329b7f7c476eab7625d17ba7be7886936b733f8dce6e6c937f588da1315c1117abd29c83895d95988d17f9fd7623960d8e433d7c6841507ff2faac36e0e19a41eb2cccdb2a2c0fae966719a99d203c924349bc0eea1374efd3e23099b2d187922016fd014087520a67363687322b90d7a890d8f4464a8c794d2a3f2070ccd3b0ebbca2b42bbf8eba6f2c0bf8008b5616ee7b81629ebff97a93a5b861989daa10da7c8e3bc7b0cdb095f6ce1185cf8fd3dca035eb3e505cbe022d81d93945a144806b9fe0ba07f3ab9c70e72b5fb77ac6e4c7e03aa2dce7c5ef227aba1acd48c1d93e0e26f01e8f1e43aa97880d15d6c924b060d1face21d03a796c86301f4a74339e472b2f96cd0755741cb9df3535077381ada84d1bc0846a6c44c8a8d3cfe1b7a9913d1f3d7af2c5ea4e67ce0a7ed3c0058206fd13ad9ccad5a8212f3ecd788368a6b6148178c7c5ea8d6d385227f2c76a047216e5e206b1ed1\n\n# tcId = 228\n# the signature is 2 bytes too long\nmsg = 313233343030\nresult = invalid\nsig = e3ae7de5bf44de7d357e238c8dff063ca713470777ab786b495884e7a9ba1dde65de7d2b5be3f2b7d1830cf6ca8ed5c05d3f094aaaeb1dd2e4b2ede08613109a9ba34c7e2bf8450225974374459f16da2c14192c637985febebbef01f0381e78d0fd63b76038f5e3d35dc7d2243963366af5d7685f1bcfc99dcb91e94c93019068353122edd03cc3e615e17c1bf1dd7c43dae86f47a40238fb594041cebdba25f3fe9593a6c329b7f7c476eab7625d17ba7be7886936b733f8dce6e6c937f588da1315c1117abd29c83895d95988d17f9fd7623960d8e433d7c6841507ff2faac36e0e19a41eb2cccdb2a2c0fae966719a99d203c924349bc0eea1374efd3e23099b2d187922016fd014087520a67363687322b90d7a890d8f4464a8c794d2a3f2070ccd3b0ebbca2b42bbf8eba6f2c0bf8008b5616ee7b81629ebff97a93a5b861989daa10da7c8e3bc7b0cdb095f6ce1185cf8fd3dca035eb3e505cbe022d81d93945a144806b9fe0ba07f3ab9c70e72b5fb77ac6e4c7e03aa2dce7c5ef227aba1acd48c1d93e0e26f01e8f1e43aa97880d15d6c924b060d1face21d03a796c86301f4a74339e472b2f96cd0755741cb9df3535077381ada84d1bc0846a6c44c8a8d3cfe1b7a9913d1f3d7af2c5ea4e67ce0a7ed3c0058206fd13ad9ccad5a8212f3ecd788368a6b6148178c7c5ea8d6d385227f2c76a047216e5e206b1ed10000\n\n# tcId = 229\n# the signature is empty\nmsg = 313233343030\nresult = invalid\nsig = \n\n# tcId = 230\n# the signature has value 0\nmsg = 313233343030\nresult = invalid\nsig = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 231\n# the signature has value 1\nmsg = 313233343030\nresult = invalid\nsig = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\n\n# tcId = 232\n# the signature has value 2\nmsg = 313233343030\nresult = invalid\nsig = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002\n\n# tcId = 233\n# the signature has value n-1\nmsg = 313233343030\nresult = invalid\nsig = e3ae7de5bf44de7d357e238c8dff063ca713470777ab786b495884e7a9ba1dde65de7d2b5be3f2b7d1830cf6ca8ed5c05d3f094aaaeb1dd2e4b2ede08613109a9ba34c7e2bf8450225974374459f16da2c14192c637985febebbef01f0381e78d0fd63b76038f5e3d35dc7d2243963366af5d7685f1bcfc99dcb91e94c93019068353122edd03cc3e615e17c1bf1dd7c43dae86f47a40238fb594041cebdba25f3fe9593a6c329b7f7c476eab7625d17ba7be7886936b733f8dce6e6c937f588da1315c1117abd29c83895d95988d17f9fd7623960d8e433d7c6841507ff2faac36e0e19a41eb2cccdb2a2c0fae966719a99d203c924349bc0eea1374efd3e23099b2d187922016fd014087520a67363687322b90d7a890d8f4464a8c794d2a3f2070ccd3b0ebbca2b42bbf8eba6f2c0bf8008b5616ee7b81629ebff97a93a5b861989daa10da7c8e3bc7b0cdb095f6ce1185cf8fd3dca035eb3e505cbe022d81d93945a144806b9fe0ba07f3ab9c70e72b5fb77ac6e4c7e03aa2dce7c5ef227aba1acd48c1d93e0e26f01e8f1e43aa97880d15d6c924b060d1face21d03a796c86301f4a74339e472b2f96cd0755741cb9df3535077381ada84d1bc0846a6c44c8a8d3cfe1b7a9913d1f3d7af2c5ea4e67ce0a7ed3c0058206fd13ad9ccad5a8212f3ecd788368a6b6148178c7c5ea8d6d385227f2c76a047216e5e206b1ed0\n\n# tcId = 234\n# the signature has value n+1\nmsg = 313233343030\nresult = invalid\nsig = e3ae7de5bf44de7d357e238c8dff063ca713470777ab786b495884e7a9ba1dde65de7d2b5be3f2b7d1830cf6ca8ed5c05d3f094aaaeb1dd2e4b2ede08613109a9ba34c7e2bf8450225974374459f16da2c14192c637985febebbef01f0381e78d0fd63b76038f5e3d35dc7d2243963366af5d7685f1bcfc99dcb91e94c93019068353122edd03cc3e615e17c1bf1dd7c43dae86f47a40238fb594041cebdba25f3fe9593a6c329b7f7c476eab7625d17ba7be7886936b733f8dce6e6c937f588da1315c1117abd29c83895d95988d17f9fd7623960d8e433d7c6841507ff2faac36e0e19a41eb2cccdb2a2c0fae966719a99d203c924349bc0eea1374efd3e23099b2d187922016fd014087520a67363687322b90d7a890d8f4464a8c794d2a3f2070ccd3b0ebbca2b42bbf8eba6f2c0bf8008b5616ee7b81629ebff97a93a5b861989daa10da7c8e3bc7b0cdb095f6ce1185cf8fd3dca035eb3e505cbe022d81d93945a144806b9fe0ba07f3ab9c70e72b5fb77ac6e4c7e03aa2dce7c5ef227aba1acd48c1d93e0e26f01e8f1e43aa97880d15d6c924b060d1face21d03a796c86301f4a74339e472b2f96cd0755741cb9df3535077381ada84d1bc0846a6c44c8a8d3cfe1b7a9913d1f3d7af2c5ea4e67ce0a7ed3c0058206fd13ad9ccad5a8212f3ecd788368a6b6148178c7c5ea8d6d385227f2c76a047216e5e206b1ed2\n\n# tcId = ", + "235\n# the signature has value -1\nmsg = 313233343030\nresult = invalid\nsig = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n\n# tcId = 236\n# RSASSA-PSS signature\nmsg = 313233343030\nresult = invalid\nsig = 556bb026d73b4d8949c94db2740b6cfbb17137b69cf269ba5f1be736ab6eb0746cb7ffbc5d7d11995b2053227013d5102b9484c59f521853d99f961e46611974f47f3932a8e1f82a3f5eb047cf7c7bfc63b5dcf86effae34ba216287fa23d5d79e7ea2439aad07fd751e190111308d9b49a524db7c3b0c939d9012f9c2f3edd9534176ab2096d4e3d1195566d072e3deef214539bd70223f712ec45f8a28060604e29ccf6e5031432c9623190dd194a79bea16a1b51745f2fc33f2d4229cd543a1d197813525c655b34def9990fcf75deabf65b325815f80d544528a0639383cbad12d18d4103abfb634a7b9dd68d416600aa4bee19bbedff26f81ed91e119bdcde3ca52792e2a5eb20a4c927f96b238bb478ab31230901eb99f856d0c92915fba339393d1acd7f29270b728d3f26614c6c894c11693d2d52a89da376530f3356cda798f1ff98277e8f469895e66fdcd8e685d663e9a4b9b25874626ccec38e1acdf1762e20852727854cdfda4682951000c6b412a1d0344aa4f7a13ac1a6af8d34bd7881c8449e645940df870292dc70493149f609db2624ad3ec293d8666bd8e6d8deb62b16fb88e662ca32f99ab3a7a99247f9baf9ebaa3cb2dd05b110d5288550042ddacf603388efca1493da1c9bb92cac856f5eacb8c7fb5650e9288635b6c44a47b5d6fd36c41637a6de1eceb135871e747318c27fd341fd5d3ebab70\n\n# tcId = 237\n# RSASSA-PSS signature\nmsg = 313233343030\nresult = invalid\nsig = af875eda2f4243accd942bf9abf7eb89260c365d64e610997961b3278914c330e607ca8342847b02c9ca916b1f51c2afdd95229c9c3e1d33dcdba370f472060a3f7ee1d74c8667bb8945b6f10bdecec96a9699895f2fc58f21e235d54f2988cf78d27b65037b7b46552412d30ea2b4e1d96167b9f720f4704bff09e3bf6e2ba899445debdb09cc9e06078f4dbf1794813662d522c25c0e3346132c53e31b02723cd0252ac0932e0171ecf11cef73ecf8eee9ce23f3ce66fa6301050c8e8ea96ad136968926753fbd09a4da0176e8e3d9f572d4857962d04aaf33145fd4613329fc4b3b50c28f4d43d54317752f983dea5432ca88efd035ce839d09867e0d84ed57e331eb7ed2de74ddcd625d13f3bb586bb4dbdbfba34eb0d72130a62ac10079807cdafb40c6383f08af4109472d2ee6430c3c301bd6bc1a983ddced8618b08db2fd4ddca07c9f48b668c9d6f2cb2755a29e19ca0c8d037d3db7919450900d217fe426f054443aaad6be22285faa923cf719350cdaedc8733ece6d62264bf4a0dc1bb88646f157686a4053111aafdefd412d3d7f59a2544829ed429038f1452ff36d4e8b297d0b43148090a995944b4225bdf519a6315d62df555d2337f7ef07975f0fddecef82ef0ca5bb41444d89860405fc06a8dc6c93bd23663a977c68ff8890bcd20988efc44df6891b9daea3af083137a21f3776f2e85443b359ed13e7\n\n# tcId = 238\n# RSASSA-PSS signature\nmsg = 313233343030\nresult = invalid\nsig = cfbad304e05807af505f5590a49eca630fc43df9950e5f43b2128a45d7271f2ddc86d8374af08bb478bc2ee3873f883ca0dd41f5aa853bc442dcf5b6fb1fed395d8d7d71f19a47e27cdc790e63f4bb6d17faad0f58efff1a36044448db8883325b290308caf5272255be1d15276fba4039206762ffa3b63cfd07c82ecbe0f8b68345f748c42729ef05ee87d7d5d83bf6f708658d7c45a7f457c3187f76e2e2e69bc74e60bb729acbd1bfac5b79ecd895ada4b2c9ba433ee513b651168fc23709bc75f27ac8f79336543d44af3910ccf66fff78113b103de9d3d0665157ebc14355e9048e04cba51882db9d70f41505e5343dd82894ff277417fc6b9524904b32655ff0dbd8899671b64b8f4e6b3878553d21da3ab842c12c0cc4cd88bc131bee41896d0337ea887dc729874922f4cf5b242296787db9709b237cf0b9a7712ca722ecc6842c11612dd79dba6b3fda11597baacd44a00519bf864fbdd3b4eebb923b7eee29aaa968d074cb45efb3304cb923b247867f819bb6145186cbf779b5c4d8b95add1b649b38ce306479e8684beda55cf68b2aa23359a9034c6b37e54262bf54e6cc3c959f3c7b8906ea15864c488e33bbec8b5d465054602798359eedb80c9dff2463fb16d153b0200aa01222fb3b2dd844f915efb05612a8f1f0371b2d668a68768a168d507af7765ae805ba3edc1f81e0dfc495d824212d1cb00012a7\n\n# tcId = 239\n# RSASSA-PSS signature\nmsg = 313233343030\nresult = invalid\nsig = 92528f459c1bd0775d8c4655fb2fd5e8040f3265bb57fe1ee553c48f34738f3d5ad2ae40d6037f02a23989669e0ee9835f3fc7444213558f2eda9bb9485c3b81d99fe1ae4e26b22cd5ea7268d489d291d4f5e47f5cac8fad31027cc56138d5b55b3e45b05cc858afd6ed92bec181e1176b84ec33f134801aba8620b294b2238165b8182dd30c1831307ec35944e1611469a458ed3eeec14805562f88eba7e952beb9c19a8ec9c6a0c7e2418d0ade519c1675ee3b029bfad20c434ecf2b1105e76592bfb0341380adc413d566e62c9308f59d6ee717d25c5a2887af1c8341127b690156186a7d265fecb99a08421c89c8da829c6e242f561876919b229e73cea2f0694d8bff282231ad9b010e4d1c65483c2acfe70e0d840ab25e5d181ed7ff884f45d48c45934a60ffa6cbeefcff85d4bb3b6187a7d1454a2c08c5fa222715bbfbf707a492ac8fa2a709686acf466966823473d82a7d7366e253a41372fa2200cd4f3cc4d78a4bc2c425a53d1580f0e3ecc17b48bc55a8185688f3362a5ef7cb547ef4524606ad3e317f0d1027059bea88a0ed7fdf44515838e3a03fe059a804534b482801e5b1cc35ee6bbdcd4c6af53899cc97457224b8470cb72c4c41cb180ca639e18d45a9cdb38d27d9a82c04157c70d5ac18b623e79eeb9ff747289b8580257356e7a2488f0811509190aff1c7dfe3e28019f5f861543af0004f897ee7\n\n", +}; +static const size_t kLen157 = 267661; + +static const char *kData157[] = { + "# Imported from Wycheproof's rsa_signature_4096_sha512_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSASSA-PKCS1-v1_5\n# Generator version: 0.8r12\n\n[e = 010001]\n[keyAsn = 3082020a0282020100c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d30203010001]\n[keyDer = 30820222300d06092a864886f70d01010105000382020f003082020a0282020100c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d30203010001]\n[keysize = 4096]\n[n = 00c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d3]\n[sha = SHA-512]\n\n# tcId = 1\nmsg = \nresult = valid\nsig = 9cd28bf41b99fa4df2852d86536257fe111f63f01815146c057dc3bda9b6633e49495d38822392b6b901e6ac69c4f09623a524e49246c3710c85a1957943d89c8399b0c2a649938bb07340f14c6981a0da0fd35163bc7eedac80ad1cbf06a4c32a4a08523554256eb221395c76e1f79a5e3c5b9636673db3ba27eebf8315468888671f8441324e092124df31d396ad8367eb7c9d0afa44dae85d56208ba21ec7c1f0ed6a3678f5d97ba7089422c662d86cd514fe853f38481632197c1ba07e4d92735eef3b75afc25ffa900769c74ba34f2d157e74bbab64cf413bc858cf6c393e8afe24f9e71168e97db96717d0081d88a27257d8c692dd0e001f3fdc2090512550ad38725c10a201fc50f8dc89ecf363b4d21a7d815eb78557d42e657cb44bfc785203e8de00f9e18af1c8e12953a33b0717af215d9b04b71fc320bdf4d558faf55d03d30844237551e35ed6606bc706ca43a47e6c493e14719049065eb8e00760283ee72c1ae3ce019ce3263a90b8340d1a47b49b78d5cae9602539b379186e5c1e847b69c75152036c8d9ef3c77ecd151bdae7ff36a459d0bbc1dfa33ce3dcd94ee2cf6ee08a77485746306ed987eebaae2baa544b543b5afe143e4122ade5adfa4fd463a246f29482dce7a51573aa18fce87f7edde842e7f21ff9e40c4101b922616ee4c14ea1af3c4d417fe8876af381027d837fc40dc684e81b9eecd4\n\n# tcId = 2\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 659ffcbf6b22f5d201fa4114077aa7df32b513a1fa5948ee01f6e21c1862a2b91863f7aa53d1aadcab9347955210a91829a5f7c86b3e2850bd1f76b3c4f4333615ceb22830a7a9d7a13436683a48995bfd62f528ef4959d30b6ddcc8ed2a431c06c337250f8274417f6369b7a08b927885df52bd7370d3675094bf1bd32a7f5b0ca9a399a59f868cfb78f87b8647ab37d0d7a58d6f4a58f3e3df7ae88ddfa6470050229754f4ccfa265cec0635f0360c485d8f81974c6b8a11adce3775dd01936b82db37641ecf5f43cb8538055a053d4085c38a8a1c4e0c8af961448a779288c5efaab1eb4401c8f388c0b729e42243d935df1ad3705c1c5a7ffb6ea8ce77a69481a3b930f95ff118cd0fdb17393a37139b3b5a9c275c6bbbc819e18f49c369153bf1f7807b450e54fc28065a6ab6d5b0ee91d0a9302ebc0bccd35c2fb2fefc341a954b67e91f6d8f3f7b62c5fbe504508594f357b1ed951fcac7043a082b9bbf41ccf609881861e2de15ee99d373c0e99027ff240c0b6fa52be2e199967860baffbe25b3254fcd375da7152bb94ce8dd01465290fbcdea0838a69576e97e63cb636db79c2799a26f94a9fb044e3bf66c520895b4683bd799e6b04ab62f621dc00f20a4adb131606f127b84025269466c760181d7dd9ffd0aa5381180b541e5e933e1841d6386ec55a63bd9d8674a775526d30dbe34e4db87067a9326c6dba0\n\n# tcId = 3\nmsg = 54657374\nresult = valid\nsig = 46eaa4624a4d2c1f1043eb3d17b48d977819a8796f48f20174c50da624c657e64d3154dcfa2a5b1d8c6d2ed07cf1f1c19aaa611d6466f7e7ec73df5ee786573adc5a9e3c1d0a25559dad282db26e889807764115a05a23959acf48d23b3b33a93d8b6c7de3ee446f113eef96055d285fdfd27888e569c50f022d5e8abafc874dd5a61df6258e85268bff66cc5643107f7d9097496caedc185b37311ab6979f273e5670f143146b68e44b49389554772c1ca7bb7a12fcf67d67a1fd0c245bb4cbb924276ae756098599392cde076a1c0edc8096d9125e5a5d30c2a93d00fe2e0362e98592c8fd31ab5b4c3b34e65d38ca0c25874eb394e04969982b70932616b75ee2912c6a07f20ec70e52be630ebe024c0622aed125e00bc84980416b80cba7752eb90af2b8215c4b559880d2e1c577b7374531038083725d23d02d4fa5d8b5a4c68e9ea5e11fe2d9e03c1b8a4db0b053097b5a175b1131e8beef5d559bcc3f17ed2e6f6304c0e4650a2bb675aa8de44af8a2e301734584eea145c4b389f6180e6395412ae70e57f488ed15d45895be580bd87cd916b8f20e46ad2fff0367dda54266778bb444c6e4fdd45fa62cae3aeb54b6a7a6b4d8068e3a4d0730f0260340a6c32c3c5d33f514612c941bb63d730df5584933e12546500495b5ed3ba3631a3db871d17353d4c16676a0332ba4c4c4c68cdb6ff21ff737ee249be153c1d9\n\n# tcId = 4\nmsg = 313233343030\nresult = valid\nsig = 12813153b37fa6c0fd755a1c7c409bb8169c5a39d045dff2da02b2f8e8897b0cdc6c2d40e6945b97006f18e1b26983f77b70bf2961b5e5f2759241daee8c56fca7c53c81f69d3a0341720d9761a4f7be8c068464e881c85a2c39e0ac6f74f6f5cb42df8c3713f66a282d7fba85b7a09a6af83a068b78bfe83ab25841e4bc67c9e40cf2a0974f8875fb81cc6a115b91f922419c44ea82b33187521a7e1f46c0ab9459b4e97a3f4a1d9e92403a37168826fa0ee914232afb6c4d7dd082d0c58885e356d0efb8aa9ae33d045f24b4b3182d5c54556f5838c449d31a49a3ac4ba568c248ed72c111b5ffabd991ebf5c48efbca33cb38996d584992c4abdcc7b93700ca03619412a355b41b000a32f6cc4935f942209b56a23cfb7b788dceb692343995f77daffa25e44d672f8bc451f776560b415d0d1bfe9925af1c2567a8e9bd15b8554d93377c62b0addabd27e8d9e0859f498ba8e03094e1d86d41e69f7606d9f1fac04744c3b7b8fc4942a846e2a3649bd9416d500b9895455fb6741ed8ed4f426f20ab40d8ab2e6cf6c63f5c290fc011768b317bde49753efbdfd12583f1ca79287225f9c3d3ed0c4530815e4f5e7ed78d14aec0d04142d0ac0fa3bb5d73b4bfda2fe7103a2ab40672abf08ef4d9e537b9f856d32450e2e41d9277be62ad0675d1a530709f2747f51f17aba10381fdc70c626bab45d51166b6f6ad978d2dee\n\n# tcId = 5\nmsg = 4d657373616765\nresult = valid\nsig = 27a042625f50673fe9edab9aa2fb4c60dcae0be2e8b75662bdddec7b1d698065510a193e17981bb0b1c32e46d237e15915afe2e2d4890c09907e1866095c19763524b6c8d2dbb7814ac5047f0a082f7fed4109741f4719e12ebb91f27a3cda71e80ec8a7f6c882ea5b3de3c9f156cff033a0d3cf787f9a8a833a29d0c96f0b68ccf55ffc62098e21f0df1832b70878dc94ef1a3260ec2fa56dd3c4fece5d855644d26012f56d2af85a0771d61367b7e266577e44c44", + "4347970908ab6cfae42069e2ceedf63679c2bd03697957e287d156b2717a416f0e4ad96868e1c7b80eb84e99778f670ca39c15e1f901def1efd824ea5f7bbe127dce8c8f53d849fe1172a1254caec13b10b0612e72d3f8e7206eee2620e8e3c0ea176deb4b1fdf5d8d37b57af553cf7628ead74443f98655b5166cdc08190d7e3b134d71c21bfacde3e4673529e6d8a9c7a8b419451e7ecc6c16a44b8e1b3f2c9d1c822df8f2b51d8fd027074ab2d1c52d16aab0a266c7d9ec03df7e631052e67a28963bf8560e89326168bb7c8f5a152f7ac54a46e88190c62a938628950df881a4be4136a55bad4f608d39ff37907a6f99bdee065e5ccd2921f8f1a2ebafcb336fc6ca96a207a5a0a7873420a2ea383a5f1c604c93b6c0ac69244f05d54cab184c6592e9bc4069df60d3cbcbf16729dc2f3f3540474890abef29e1b21dee8af0386ab61784d7af8d79c\n\n# tcId = 6\nmsg = 61\nresult = valid\nsig = 2e642b8a5208890b52187729c43a1a308cf6b846ba1c2fff152ff4a1b051753f14ab035c2f3f732d5a9df7c2cb732d09f8147509bf02df8ad26924eeb04dded8467b66c5e3eae384568f624e55c81cfd8e3204422677ab62d919a176471b1fa8bae44bcc8d4d116a6afe5ea2773ac52a24186d6a4374171ce0516bba8733c59f38d622b7b6b7ca7ed2123f7f46b6c06b02f4c7506c46327d7cd908ddd503fd42be3cc896008eb9202bbd7af08b9908121a8b27fa44747217ef72a8c549444232e9209ca1345ee017010409527faf0722e3f13641ede5730639bf560c8a655e2f96cbba7b2811da8a1fc3e5125c92754ea7b823f394998b8890602b1713c2a4d352066e01f55ea86fe3da71f9119300d84874b667a6538a90ab24aec2bdfd9ba9a5f0c3072d549653b16f4a4319ca398147e6753f9a048b5b250c64d599115bb717ce85c8370df62c93da7e10fe705a12482e6f25e6ef1f4851a305aa4dc21b08791885867fc10c5503a769a6d6794ab5a9cc5da68cfc3546b0e848ed8629ecded620ee3fa6dc1236b59874916c45f9c409c9889bb85d7b289ee5f45f6d33262dea83b32c071417d3759cf650b9d43468ff0c2e922632e8d73feb4c55fe4233dc1f0cc6f6e522fbc9e9362f1d69441d56ee5f3252dc0559339335901f539ba274cc3640ec776a12c5c7e5c1cfeddedccce36884ea01071c2bcfae7ebfb5b874e6\n\n# tcId = 7\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\nsig = 811dec041124d3ed9d5eaa9c760ca5756e42525687d4af701231671e8f7f4448ea9b9eaacbd9c99659ee3c175277d30cdede73e1b332ffe41b8b737150ce1f1c67aa6b22ff801077c4241a6ff4af8f4db9462c70c13e1da86edec4042a70be9d08384d932681dae48fdb83149170472564a5bc68cbe952c76e476b99c8a5a1ecaae809690a014b28224ddb9c9dce0d4f6a77fa2888a71f3aa9b5deda0af40ad0464d9adbd26fde242523c096106124048bafe824f733b0af480056de2314f5e27db5aa3fd15705777e14efd2ac43beb12f8f496d09103ab377971cdd45e9afee8baa874c23d3942ee3a505bbc3901dd4cf55ea8a30fac0cb754793fb2d8f4edc29afd51b99140a8d03aa0614169428205fcd66c1047d3366fb32f1c2b1bcfed8ae23580ed254c3dcb127daf16aec1892714ee05a1ceb4e561a1e9c8fd4118ef8cc9e063bd86c55d28b8acc9d5b4c589583e7c6b78fd518d8ca85b88517f10c27aca2f0bcfa54ba5bb94ed5b005e3d871b68b86e96adf12588037adc97cbef59c05f0d2162db2e4cce41227df11eab5449d612be56ef6fc522452573340d4d68af0178d4f19db6a0ded521f1a982bc5567dbde2036f74d6d67b806ccc7c7f70d3092c22c9c1acf307b751d994fa5259a5046668a047afe4c3302e908bf70bc6b55c39726bf24ceca809357c623b89fbf0eaf8b5d18823337e7e0245d865574cb9\n\n# tcId = 8\n# Legacy:missing NULL\nmsg = 313233343030\nresult = acceptable\nsig = 47dd8953f9fef033d428958a32a4b30983d7eb9950c3d9acd167d50d9445cafe2bd02f44db5f7c5f6f999d3e1cae5b7458cd3220034132a3195481fbe5ba6b878d85c6f8ec53769f28245dacf66b562bec12399919265b3ce99c5f2217c3f5b33228a7300a0e87174675b379ffcd8a048467f04df2b5b7a7b8e3b8ffeb2dcd408a9363891518988a2a09453e98f7cd73aee8be03acb0bc8d67f7f944b62a717a7a5dc9869ac3d30e7fdf68cef439eabb8220c6923016f00b353ce5209ace5d387a7f50dbe09a7d2e521f1ce57251c48883229dfcea220e31810aff68da93744715f0720d49d8a5f3df2ce56d8fa42c02300729e8099df6e8d39bcfed502a5ef910b024e09031e141266e5493e64202a77c661da8c363f713b78247d8962b271e6ce968810775b6e76b577f01c24daeb7f765e9aa0118168103a51870dacbb4144389cb0e221e6529f9692005a2828e68936c339c96f7bcb4ae61494d03a3ff46adde34aec671b5aaff2fb61dc6011f53f9dd9a19bb6f0180ed90a4ed44ec0ecf97fc50c15607d1c6e42d35e36526f3a39278a7afa2601ba7610292bd6f04bff85f8c4f32f32b42379085b461eaee65de85ef2fbdce1d0dc39120f5670ee2ba5b12902878d2eae39290909dc55d64d1d6b03cfb4b144dab9e7bd8cbfe8500576e1a9f300818abce002ffedb4e8f2f0f58eab36f5c81929b50578d4ca3626b87fe\nflags = MissingNull\n\n# tcId = 9\n# long form encoding of length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 17ac14ac21d38aaa857542a9d871f7d81a829c39aa26cbe7db722f68e4397a7c758b11a0154edd42e1cc6b64047238ce4177558a0caac2a6c66136c8347ba058d6aadfa3630b4c44fa7205e0b8a9582eb5d904cdc7d25e5b9fc83bb4fc5723b3171834c07d59876f9ac771ee66ee17dae152dcfd86095fcd908697008ec1776536724d9e4322b6f7cfa59949a0b9be7990ada56722e6536b8e1442e0f0d8799ebb36e7881ccd52ddcd8a8033cfaf6d3e2a5f2d5aaa04291ab11e48e745c4de3fcad3120261d01eca03f502b69ea1d5d6f5556e9a198d663b05b7d631dc975cb7368b8f34fac47c621e60163914144b2e98e2f993606f1961d2f176a1b1eb17e119d48fd2249889a89be68ac78a415a8752f0425f1baa1cc5de9a4e0b51bed081ebdb538a70be96cf7519eeda55bccfa7ec5fc82acf88036af913cd8b30f182646d9f7f02daa27306f0ea2fdf436a40bace578ec2166a4080c7cef4a862804820020d9bdccfb2289c99ae61ee3fb3b3a9d3f6df672c4690e8c943f2fe23b5718a199439c5b2dc65b63d37e00440fbba51660242550484c94c8b6f504b0bb4e2579f1f560042b721db7d2ec2ea175401c14899062f9022fc0d8e4775c8d10c63cef61e9c649f771351b94620a3305f2d4b681c11089b5fddfbbdd291ccf9e1a997c1b2e6ab3cb1e1bdb428590ced534cd4da5a9548f3d8a6edc20139115d459853\n\n# tcId = 10\n# long form encoding of length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 15850012d1a5af88b5d1105aa0aacf404c2417de3dec04484cac687f6bec531cd569074e5c44ba15b27ebd131d018c2a4b463ae029bef8295e89c594c23ac9878e6d7a03276cb7c0b5231e887fa7e0fc3529c11e2580e329e65c669c346998d687fbf7e76b3539605753c3cd708dc19a072331d77290d810311b23a76137ddb50737436fa31f078852bc0d546364a28456c4048bae337ccc0fd8713c02713a987f89f9868cb64658ab1b8298846bd36b8efbbca088b6489d69a674aef11191c3409ea5b6428c2d847833db1563c77727706d2657ae8f249a75e23a1782024f23383330d11f1b91ca7b0ebfbe3f4a5fc6b2d37210b16049a2aa61030ed1c15b5d2ebd1a0ece36de2f53b36323a0eb25d4f77ea3582591e13f00e836a87a1fd2fd432f074fdca1a27e97dfb62f1666277bef1404958601d4e6b8b24125b4a86c9dfb260c3eb84750ba00930a1f7772510fdc0b265efeafb5de8c2525f5706fdf52a6e813bdd18cf683dbe94a6df2464366707bec34cfebb097b2f025011a0c4b5f263d30fc0c67c6e5a65f2281b463988ceb9b072718802a0a80a52f90af1aeadc8fb290bcdfea333a90b55c1a73839665df30f5b42f3e795ff1f57cdd7edfdee1dcbc81155bc3be1e264084ee3d7af4fe8d9a5be9cb2692674f1f608139b9707dc4c4b5b6968d4081236946f4c6ed2c8836769a03f9e87efd1c555f4ac1013882\n\n# tcId = 11\n# length of sequence contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = b053f20b91837472425746c5cb3c26f4aa24bb58482556b418aad3aa6df71b9f67fb66855b83ee57e7a62aba93167d9a0aadb514c7d9f4c6e0000fea8525aee39ebcd59017fe5e58ba751c89daa976c158d9de60192230c0ce85f832882fb3db671ae091c886559dce66ad1d6ac0a5d1b2ebf2e1c30d88c46d43f9ffce192ad1cef57a7f0c437f6d25db071b74b49faee3b9732e9e0c7fef58e5b9971277411fff636aa2393ddc82202319f2aa5b2d14024609310f9c4fb6b8641504151f07ec1db8f729ecbbadd5a1d21969cdca6d4c9e7995de673ef79e95384f83900303c157ac79bcb681d2601e9b2f97a9438cef3a8ccb72a740750a2cdecd1b1b0df4a313e912701e82d76d4af9c8e18ad175345ef59968ea8c5dc62a8afb39f52515d6e8527902a03dab09419208636a3b0eeda8148d2ddce169ad3389776e10ac3a88b1e57f0f5da8e12bb1339f1cbfd367b221fc2754c185fd52897deacfadfa401eba9d55521592311ca3441c4228896a09c080443f78144e3e5d8068a946fa0d30b2187cea28085913ac86051e77f84873ff2b150455fc2486edad521ccd0b58a9055b049664d1156f4eb4ed393bf73a5d3d09cf7d163b4ef5df618dc6a57d2983024b779eb6a3331cbca72094052a8621d24d76db741a9f57dc42f41712b474cd8ad90fb348a2646f456c6ffd8a30657e344e57bcf890bd0a2d199bec9e2d5be5\n\n# tcId = 12\n# length of sequence contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 4d8feae269696ba5aa750a49b64e7346de9e11ce331a3c7bf917c5467bb077099150b760541fce35521073fc68a5c638a5884fff577e97f0d78faab8161ca4c766ee4cd89e26d8b747671d84bba1865fd133e51a7e81e8986f0c95400ecb58c8b0af8aabc9ab352a675041e7bccd972c2be01080ad175c76e431ff670780e4b63d34aa69e3227696d8736a6d6fc2e20015180a680117a6f04f8f56836d907fd9efe10a7fb5a0f57f6461fb527494e9678568e168a83ad61b8c5cc9872f27a80e159f8547849186ebc43a54c41bd49c0dbc48fa2ce3781cec1d6623017035cf7425d7fd8a8562d3ab36c9e605738f82b5a77fc65afd217963e710a1e3a4e30862c8a8f18c97b095f68ae0878ce3cf1d062dd440764e19868c5b98f08575d65e0b944ce83b35028da466051d082ba66c2650eaca9ea9d83804f41437a3ea43932ddc217fee2c59765b5e862e85bed19e9ba0de41d64e518dd1c7c2f2f0b4bf44b40b26eeae0911d0c63b1b2cbbf3cb8e24a1ec6ddd70b9d4", + "42313e47fd36d1f1624d071de53d76384aeeedde697c206dd27cb1d54e513621351444a4d139cee2fd04ff760d08d6aa949fe9f2c2ebcecda4f8478900503eaf172a63d4d6deeac67b3b880cf20f8472394451caad83af1e8de2e29c0bf904f288d74b73fb330fb3a50b63ecafee8ad9701361db09a1026146bbd0ffc4f0375488e5a178af304b6301\n\n# tcId = 13\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 5113288772030fec77b5bcea9a599a9502d8dc6b2b13832ae23c34e4be89eeefc4cdce3311fc6520ef8164ac409e9c2a8f6b3f7ae54788bd652f73cb8902be3f0f95c64b7135a231d8b0ac9dbb82441408eae432106aecd8167e0d3ff56fedfdd0facdaf1478183fc35a522e34933ec07844f21dcf76ed0eef71559769ee6b5a6bfb14f654528e6e24cd3f331634e88862f2b37e25cd61549a7ce207aabf6550292c21b187a30707eb0a463be2bc8ca7532f1b00f7bf3e7b561f685c91f6492c5b728ff2fa26865e6f1bc85ad84d44728fb549fc9d1ef6cc0fce603c3fd94ba8bf795fdf1b347a9f5ac58f1d922bc7cc3754cf427287a8458d075a148f6a336a0fde617f771789cdaf7223a2dab71448cfe2c2ffabd43eb839c5eca84538785e3c6f1cb0a19e532b5efebbdab5b98260f26190a359c378983548497cd746d4ee0021f148a6c7b5ae97e96d72565521b9d9ea066a3bbfba1427d40099ca367e378b227616d3d679ab5832b2dc93d2eb4993ade501059cfa8b916158aa8238bd5e1cd83e4a2ee676dfcb85051906f94a8861f5e2679912df5b48ba309b90fb383e213a70ebba0964b00f7df451c6d60ec38350e260861f5b5e86af8fadfd09d66d8d1c4955fc8dabba82b937ddea4003f9c39d4e7b152c4d13fd2e54fc95cd3c3e1bf20a065fb6a78d161e80bc4bc00c5bd93acfac027c94d21accbc423c2932db\n\n# tcId = 14\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 78e1817f4671f8c737dd45ca7d069a572d73010927e5957dd6f05ecede34487e8b4168e666305a80ead3f6f5701d350397ee730ffb6a320161c9743db09cdfa272683383271287908eb5a61b0e72cb783b4b0f341f042973247e525330201eed0b0ad881582de9ca70aa66e5171fc08ae22a89a6d5bf61f056ec02fb5207a82ca0270da42d44afb79f299782da7fc8156320e837269c9170dec5a767451edf0543361c5e5ef4f6a165cde8b0f6c6b6c62ceddd73bbab815d08340046579482e39a216d2dc8069fea722937ba5333cd47905497e512b904db8731a88006aa6b650841f636cb75c1b6d0be32b955389eb1f6ab5df19bdeb9ec19f090d7a46b1d45063126037b9f8f025816bc79d33b983cb576392ae135bcef786665522b65a6afcae3e345c06d551d5a122b305b413144cda4a58012d539bc7f9326f1a80ff70b5cde353622577dd23d10f75d206839274c771f2c6e4da1eb7b93c3c0640ebf7d3d8010e22a2d58281b8f811cf8f99725542fc9059228fd7e01113b9c3c8956badeb798d89606f481e99c222ea1918a26aca49a9ce98bd4fd658ded3c5a2c946643ff312d418b7b0da0e8d96ce91da8cc037c16280632083ee0032ef65532ecdc45589dddac1fab52f8ed55e35c261425701d9778ae53caf595d7b32510f7dfa8a7c86af4e358fe08b8efc19835e0e9c40dda2f1ac05613a26520f0ca5a126e95\n\n# tcId = 15\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 246873df5e978483ab6bde2bf90219bfce3d2b6dd6db3a32d5f3da3808e5ad945f1dcdf1186f066ef8860c8854cc80ea794758a84dcf399c9ecfc54f184de1397d48b2a15432422c60d50ae42ca8203be687f4a51fb27f46ae5c8ffe354b708d9e7007af22b42a2662a61ce1001761f3935cd6649efcf5049e4ecc0dadf8424dc3be83a299902ec387e42a79207170bea5db24c729d811b6ae9480065809aa0956760d40fe0759024af27620c12a9ce2f842b429d005848857a904ed62cca6752cb5be1935c6562c3319d42efddd490705eaff46c822f81a28c6dc44dc9e08893ffda5e044217a6e01fcb0f6e55ef1a6393ced7049657d4c37b3dca55f5ed8ca383a4a72c3a6ea6f096d1cdb63c767d0c5f4900006ced15e0d39a1a6c2d36f69af25b2a324fe6568e4665b4ca9730f50aea9ac98bb2a8aca25132e614a70c20533cc0b78c1092988482dd42cd13e4a3adabf45f811d638915214b184692ea09b83975a5e0c3384c9b37db667cf321f3d297c0f4fea1c80ed2fdc218c0b7db9cf8da370cec25549f2a0e5be001df317f0d1f6f36b4dbbe4a499e5e5c004a51bc88435872e4c4e34115619659b94bacada61e7d3283bf5a23e6c548bd089a6553524e430285e2ee278768242952b041732fc7091260537b0801d50e01891cdadab05c671a39dd46db4d9988e03593f7b4002b3ed4b0ce1b0e6d5253c423f59bf6e\n\n# tcId = 16\n# wrong length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 0d93eb247bbcf1003b3360fd8ab063378baf9ca43df1ed46aac03429ad1d817071522cc56dfe61e96db6ee747a5ebfcbe2ae6ca7571b17b9e8e2a3f5fd8879f167d3f9c20fed72058c00801a4058446122ef04d8685a16804ff91c0073efa697ba4d6639fd789a3fef6a53fa5eb062c82c974bf8206dcd5617ed1851f537643ae16b58e368456636b56f4fcda9c81041def1cfc854203af0a5ad581ea126bee84a4452c58602a2eed0ee082ef19f4ac75f8a7ba52d927f35a3bdcfc64183238adf1174dddc29c49ae4e1e3388fb08d28d9cbb379dd6c83903f096f395ad3bef4fa245e6aa7af5533ab6bedff2775649e5cbe89513a18b00ba726954ef0ed94865a7d9aad1e845415cbc19e039b3f7a7e4fb8a0b47edffd9c6eb2834331f0b636fb5eca42925b5dab4ba08078a71a6e44896abd06276f6f2e41f122848b94e2a22baf2d262a06498e0084f700ed1d23faa7b2ba9f7a71673f4f8c2a9a00e611f53c2095c43d9e78c1a9dd73cdcf0b74aadb47127a990ce7dc335ee26f4c13fee45a1eb44b99b2325fdc30e33fd675fb991d487efd478ac79c8d7a57dd210c5cb9c6fcc7be1a7e4a86f2ddde1ec8e4ac687b61231646d9457b4bac5dd5eba2eecfadcc5852dd2f1f7b9a14a0d346c6effce2549c9fe552bf1f21b99e5a013d41b5693059fb905bc30eb40b075ea8da092fab2024e6c03c4630f53e31b8e78be253\n\n# tcId = 17\n# uint32 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 3fe3db1dfbb41a675e4768562c60dc2c2ed3c43022b54f4c9fa8e99de6a93ce650984c6c27b7bc5524c0b032c9115fae2cd23ac7b03e496c6f4785e7045b24d226b2ac535b7eb605cf8b56906ab95ab0e2e6cb3e2b3df71b714c66685a2433244ed153a8f526bad60a530c97ea9a238fca6fc5aac295a257b32fa6fdc68f9216d8118907f282df1fb2085644cd8c51d1be9f6dfa9f3eaaa57acc75d1bd29c3a59f167215c90603e790c5658b2d7887254ff80630122ab5578083556351edf1cffb7e42775a5ef79b2ff6cad7a1b8f32a7704bdaad7d63844b7cb7a295155fd8643044c3a83f867d427511e352079f578f00fa55575445e4af5c6e42500d0e4ffeb718e13076d9531195bcc36333960060830496256702c20df4759c74cba389ad73001f166a3b6c2d9e69d2b3bf86a5f929c79d17483164d76cb43f8723cda7648cd37e5d9d3aaa5cf9d077a6f3a1135e3e62feac9d0a0d8c15d6cade7ed6d2b568f89f74d6892d645c89bbf1429cce33e525c4d151a0a4e9192fb6737f151d5b460c4915ba57e3fec3b537aed97ca425f58a81beb3144b5898e27905ae56539c97b9994cffdb9e4bd91a600dd02c2ab3c9d8c668ee077a2f1f58c8ab7d0db0333190c59d37ad615dc3029faed93f31a4334a1ea29bf7b53f3d9415b8b760891a4a649a92781eb0568d5442b65e574193f040af56e5d33d2e6a47da09b7bb8c2\n\n# tcId = 18\n# uint32 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 34e1788aadfc237f7896f530426725bf06a553fad96003cf7f6dc90dc6ecf745ea1c6ed5facf0fed6a0b88f9eaea6895b6bdd4a6e79f114a75a01be620eb5eb782431bb58feef95956cfea2b5fbfcbca452f65ea049663639e996e35ef37c27987015ed3af600598543f1faef183199ceaecf01ef86b026e974721a94a549aff6545f42197df772729797f4b6c6dc7f500106a793993216d5a356104a72c880f8e55343bc4593f13f988834c03c45101a4c1b27ef8ade0b56c4df4592654c32289a706d7afd7095e7f8a7846d2607d12a409c67fff8a3997e4d6963abb979d51dba6c5be5e58b105738744acbffb6ebf7428ae4599318948767b40c831ea810f5d11cd3de09a066093205e852ebc663b0b970497c64081d1ac6a418289f7ac2eb755cad07390c553bdd82ff5dacd2937bedec7d84f820e054a3ec16ba447a8c25325c0f1cf1b8df93443c56947f5c9c8ba2eed73d379583fd6c57ecf4f70e1b899cdbff6c6d80834e8e88440cc8bb2596cb26df266544326c5a15b4e6fcd6f3296994ff3887898d95a0d32f92d179c3d1dedac8e2eab8e097770a0b35e886c2fe65fbf9766e397b746a2819d1e1d4f8eec4f7354e504310241bf6becf0b84d21a2b41ac6fa5ada51cde86b8151c409d642bde0307fc732de16476995628f79bf02295929e220e2a16dc17c6b271be629cbdd43823e0ac5a25c4596400b0b2f2a\n\n# tcId = 19\n# uint64 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = a79151876e4e870920cd837bdf756398cf9929bc47dd5d082916cb622c05b52f2d02406960c2eccbd387b722303d5de1edb4f0a2ec2ac82fe2842dc6b321bb1ac772270997594460bb14d9ac27c3fa7c17ffc987035a30784e0817b4a90fdbcbecddfcbdda814b2296b2fa976199c2cfe8e2567a56b100aeadc571b8172f05eabfe8e10b302fb3dca6079c387914430e64f32c5267dd41782fda4e134e691eb4455656f740048640e3bb1226d47f04c973236a2c0a864cb1bf0dd354f47df45486c60ee8fd931328d8298aa77dc561c394dc337b418d4c41040fc3f15fe72d3b6ef9d3c582c939b6a33692b8032ef32e025683b015c276161e526c19c3e4223e71460918c03c31496e8eae68fa97850b051208e2a989a8e53beff882484992fe9b5c47a4f72849aa8d7896adf4592736e31940c714f8198101d123b72c2715a18e8d58d2c3d7d0d3a36c303f62ffa1abb5f8ca057aa5c4030af66b931fc6bf80389d84dfc1af44dd69e73bfe22f76ae6c0da7f936f06f652a9432697a94bdc2f869f8ce2338cc938cbc2c7809a4000666002bc351ffbce64a860d7e00bfb1083c47a2cde7ba67ba5829769b0bd63d0f2277f000faec93e225234e3cdf1a3c41c8a327f67d41eacea3a7ba3dac55072429f47226d95c235857739027b85a9462e7a9906d8908e5c7f25f0efe596ee4c05a22b611a33580054686f6dc17e930a41\n\n# tcId = 20\n# uint64 overflow in length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 18318a9ed077357126cea3c22f6dddd974", + "374e2615a3b964804e3169121d24d7b3ad9aee6a697e6de7e85c76e40a0c4cec8c00b679530706408ca48ec12eec40291480e42638bd948fd55c0540eacdca1bb95dbd596455d48782a291ec35c2dbad742b46f84ac5a4bf6cc2ee23a8ca421477292a64598089a96739f905581f77d1ffac1288ebdc9daa41cdcafb517ab8b44d22799706903d9ef4d9e43756a7e0b146fee94fd6a899ebb6f46039c52c95ee5fbe3aaaca76f604f013749baa2d25127df4f358f0f8b8a0b90706925ff62deb6c30fd871bda0e40121f59ae0a683062dcf3afd85af83ee06a059f3c74c62c13e250f9ac7fbee4efd083d897db98b2f69a3241d10331c00eebf1c6bddcde26b45407f925fbb499bb52be2659cf2b6df5921f96f5d6d97a1ff80b4360135cd5e0660f08c3f4391d84cbadb483415a3e60730ebe52936a66edb549430de1549941d9442f0cb465081328a80bac3b4b68ed504e41af0ee6b2ceb087db8e6e497ddda5b0692b1d527b3ab9f5906098e62bbcbf39cf897b06df78c059b766f2fb17ff0434af9aa3d9a3b3b9ce8c0a2bcce33fc8ffd0bf06e4209050ebd175e292d2e9e4a36c702d6e7712d951cbbc516c2421b65b1cd9359629b7f772e410f1cab7a2c675d7c7e5082b09f9ed92f1d417523281a61d37d19b0f1e77d58a6956148ac20b5dbe28d8afec6ecc4e789ac08c52\n\n# tcId = 21\n# length of sequence = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 15948a4c114544bcb6ede3a68bf71cc062eb718dd9ba2818136084e79852026a4241918ed4ff81739356e960493f83da7cb4ea536c2a77ca574b94b44cc9fcfe3a35d442a2d43e91fb74c426e94d9b5381ae2853a1f1f06f9c9fb23ce3974d7184b3a3981e0e30a88f8614c305fb6d98b6af1175f39457c02a8c61364238382cb5a4cd861b9a406526c0308fded92dde543e1b26ca3fa2ecc6ddb6a5641760ec774b6f43c40880d57c504ceac48d550288617012f54d803b21aabaeccd041f6eae3beede1ee7146e91ca544721ad3de98e7118e1787f8b3fbce518b2c238f9ab8c10c1c1f391388759015c25365ea57fe6cf01188cd262ab3795b9f00aea6b333a64e505afc9fab75fb7df290668a5d60b5c2d3c18228b9ffbc5a56ee04edb24cbfd4a0a1ba42928342c25b9415e37f564672e7c83ba1824066c21ff578a081381b62f7fc8d2776fd6bdaa7cc68bb6e9ccccce8296334ee42dc33cfb6f2e56e01c9df06fd5dc43e868eed33635a291cc509c707638cd2f09cc595561d3007ff0bb49cdf9fc7c2d61d464878cb0abce6afea05f2806e65c7914ef33f8bbda8a2e7766750b79d60c00803dfa636339093f72ee4fd062508cfddaac7a1e3e0c1a0601000e69eb09ca3445893109adb13312b9e4f604d85aee88378993420f6d88da3763dac4844d01ad76c9030a60178444652d3e0f0c1fbe43ec2d558e0871f640\n\n# tcId = 22\n# length of sequence = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = bd94dbe35a23ac704c874dff24aab7514d82b17cb8eaa8a3654539d2a658307b4a4457259d985db4601beedd8e48036efb05a7f7131f18380a21117fe644c6363de327b73f424f45a98022315a02cd61988e359f1728984bd06545f04bdceae8bf8bda39cd67331ba88a88e9f24e6924e51deb29db461fe9c3bc6ad0d3d3093c2fb873ef9749b93fcad251f20d851e111f61c835c99b259130f4d08669d636506d1049081e4ebba38cf616628929c6c16bf0a5714eb91270aa3e28b9884de986075e308d84ddcdd4f44d47ee9cdcc95bf77ca9d2a862c5866d57b14b0a4e4adba7a520f0257340ce255abc2237810e5005e2194bbbb116f6c4d078f4fb2240f4daa732d5bc22347d897e517beccdda073b35ca8aa6f822a5a6b4acd20cebc2eb34b97e6c298e4264634017fda05db8efb65bf7cdf11ecd774124834f9edf6291a885e456f075b681e892ce86397e95b3a7c39edd39b8424b42f1d40210840d5768b39dbbb96ef0e5debf2c4bb8ad0c9a6e4b23799d5aee4115ee6a393a362d790c6b18eac3c32e37a0aa33b37cf986aa1c23f0ad49f44c303cfe304d799cd7448517d4ddc6b4605ce92ec5e15d76fcd2a50ba005e52925218dcfb22bca9cd988c3c703fd1f5de578d2d3b003a8c5b42506ac72ff19c553aac8e73183dbddecb88b75c78b2b56cd86b5de592b88279bd4608b38124bcbbca35fcdce44f8743e26\n\n# tcId = 23\n# length of sequence = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 5fed965c75ed7cb7051779c004ea0cac049734ad8579394d660565337bc0f248057b24f89a7e52d3bae2a3defa4a4c8359c074cfe96bb29c63d7f183c2d5959cd7a5f5728611fed9d511ad078b7fd6c6661aa269fced9216bd094664602f537c77871d8cba65f149c600007d5e57804d2540d4a5b0fb109c1811fc86775a19f716174c5331e693ad53bb893a950afa1b5821c97dd70f7a2ced3cc2e9b1b5f40a7dec2d44b17c8df9f9f2d956d5bed00c2718e7d3b724af758ee6e1577a2f4bae9c4d47053418b49c4fdf3f94e5835774a432598e456e1e9a474d9c39434d741450b02143d365bc28699cb470cef886e5a92a60c66b1a11934127aab6b36e93c7635fa42d8ec014ee26e679ea7e3470e7836f3948bfee3505e0434504884508ba66aaa79b32be94e2545881f47da2132bfa380aaf5380b7d45e76893b628deaee0336cadf927e64c3acddaedc182b92280bbb505ef6e70eb53717feb00c9c29b035f2e4e1431409ff809678188b400d70227c540fbce9b17eb5532645e762a26e00d532fc326f589a831f5fae74addc916942cc1e5025f55b8500fe55f44199a625514e017551ee8b4ab0cedea5fd1c7f6f66bb03f031ddcb572a4178f3feedd1174d91fa2a43b82972a14cf5a207c021595176bad8b6fa4b76544d42457410a140dc871ceb0617b36b9ba8cf4ad10111f5206279dafc6685bd7f56c6b19b1a77\n\n# tcId = 24\n# length of sequence = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = b14d10f659dd8ee3065e57bca4e4c0ea28531de697385355944e72a7e877ecef2760764e1451d88276b6223f5a973d3b706443ae1645b0ecdb019063d176589aeacb7886893bb0ac1289a5e99496892e5010fc5e3625de66c3f0c3394e9485a405e6b2b448a3c07ecf6d27e784c5b271bba20af97e86fe909d84e4b9ebc8e80ddf8f4f55df28aac9d332dcdf547849167767ca496883bb6c546447753e7f35aa0f9daa9a4a293ad172b8b5c383189478301574d8d2f0033a982013bf39d8f041c510df0fab7dbca86d092409af5c75d43b39a83e52962c576e891b00fe1bf9a26dfc75299e61aedf4ee27b35d024e6d5f00f9ee58a5aae97b65b98a900b489800c59a94ad91b2e99a5dda868c46be99154b874e85621f683543f70c5433c06e76b0921abcb5431e1e7094e4fa4c9bfcfdc6a29eba44a28fbe44c082d510dee9db21b002521754b47f072fd9e074025a2cb928abadefc045a925926cf53cb9702c059ed8cc48e37f5a4a639cb7aa1152e6099e183a63baab5252129897f92e388d819a1067c3c870e3630ba599f2445b92c04830b24c3067cb8ec39eba5a06de0cb9da04f1914d817b5fd56d2ff1e2e37aa588272a665afb3474a0709293412bfb6a94c185d8bd66a7de0720e9a66ea8f6652cbe172c0f3af0b48c6d349c73f654477460acc5cd10d757cbba8a8d9bf7bf8627ce7f76a99b9223fd5de3f59f3e3\n\n# tcId = 25\n# length of sequence = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 183f3c9853c987fe83123605574c6317a7b6779047cba4e661a0b8b48a8d8b94a1a1fa9f3fd2b6c2d7d133d778d34bc2d9234c122e81019756f8ce88fb07a4ae0af3b532facfed257532e6f148b85111a5b8a005000e63f44e31113748ca045db35b85af307d5c5b6928c88395801d2983c198952985811ea64258ef4087c604b71570a54f9881c2c7139323d682e6e4c137cf391d9b91b1dd5370ae0d0cdbb24a8c0c376d6528381d1a63599e46e145ddf81ad18086ea2146969f16b21075cd89fb18f695ec6461e4d572be485838aca6d0e76ab0ea3c33484defa48522fe5069d2040260f55cb7ad9750a4ba94375b660ac25a7d71443ff8d3ef54d58e2a05709e3b679dbd4b9104763d386edaf807996ab84fe8006b33313c16958885f2fc22aefdbb28c34d6835225f03a7b18324a99a2175b83f198547e210d56b68a1d85315779df7957bf19c62aec044236a4bbe63a7d8e982b4572b386d3c85b18357f44d807ac218a8b8f75697db20800650a543f57a151c23288d0f5c9df00b780857f43596da4cbadd531f47017476cbedcc551fb1beb70f9f922d72a3cae9a467cd02258cf4cfb673c0cdcae118ae56c2d3b3892f1cdcf5087fa421588c09c9031056d297ba9e0bf443072fca124e53023e1d8db5b60d7aeba0bb1958002a72f54cbcefb740340c8f4fefb82b4e5dd57d6ac7bcf85f9f9d57ca4c1a60bfac4b25\n\n# tcId = 26\n# length of sequence = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = bdeb05d5e66c9bf5f9771a973872e05adb613d2bcbb6748193a8d21105cfeb4e8ab5242e9f2a1bb2bc2e48ecd8669ee7d66f1a1a93ca824b1daf21b52b416bbba48c667facc86a10d0d54c9c08f2bb002b22499b5537351f5490b397bbf0533a34b3b7d058a50dafa7765b1ccd5afb89e4b354d538b89f42a5b5fb5eef7b4e5d8ca9ae40d46fb3c83e36fdae9dd08d282f1ecf5664d319f07f430ace3e321d215af9ac8cbec02275f7b26d89505e3a0d2668c8c06f30d57cbc09733d45bec55f2e877cfef31db7782b5de2f1d8d2a7f03b1f3e6c5fd517dab5c0145a8e36578a86eea7ecf9f3dfd6081042023f3025d6124ee9b2ac7b40a6dec3b5c2d29d46d834d2c47b9837d377c0a2e965ac248a84dddc9fcfd11ad448788b2b9a2aac2eb8cb25932eaf1d7c36529c6f6892980b4cef6759dcdfcfdc2aab28b10df46f39a1724824918669f0df2a9e7af87c3ef0602a56d09bad330f1cbf71b146fbdd3a5e45f16b701744e28c8821adc2397171554e0c6713355155065591e0b6fed94c17ecd47a9beba3da0c7a6d17bd5145f0fb438cc4fb4b53b08b16d239bf839b33a321fb030df77c7534c0cc0664cc0f485fb54745111891e92ea2bc1c3596bcbc3ad40034d6e511b7e9a3a7eba426bfde56926d05af2f98ba15cc3ddc26686d5ed5a3611ddd0ee774094111bfab88dbf5ad99c1b3f6edba85285e7478465d351755\n\n# tcId = 27\n# length of sequence = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 4df5e7aadd429163a756b8b9d9035bcf3d61151fb765688dbb4c238a2b0199ee7d520bf3d593ec42660f28ecb6825f72e5a124d6858a33514fd43e1485cc06b7813c7659c68273e05a615d1f7f51873e1e2c7582882faa2564c0ecebd364fc7d6a63c0f2abb4dcd15a2688ea5450d9b5ad445abe6035758aed19604e46ed2cf7b3627278c86c218a5d3dbf9446d94a53f59e46d540db4a0f714defd10b310042a63f07132d36fb13ea731d1124ce3c6138d3423b44f7b7680ac8c78f4d89ae98a6c226d5c4e3a1f5d69513199c629dd008cd4a2d272b429060f", + "136931c41b58384f5297e88f6a72d7b10d982c93c4757e4f86cb888e8472417091e9fc5f3bfdcb673063c15d108a01b04819c53962ced6bc98894de71ffcb211a4d5032731b98cce5854efae284e247d224b71de20cb680ab64f32e18a2165986ef45717b710f3b23b3265c547980044455f9bff029de7b9a750645975f04ac7992d66393645aef61896e372d4df1c40685e5abb8db4a788d65e0ead96d6c13713eb2c5197f0c561a4889a0052380166936ef096637717ac8650b1b821164e2ebfa6efb6a0443079c2c8b04f2dfd2410cde6049c511a46ccbd4001fca328160f2f499380f03b17ec2d98ac3c9fbb38ae18309328a3a3230d0d85d55e9159b710d357100b4673f7c1b73ca66e08359dbb260bd0c72d6e95e293f1c6b7b754729c90f5a5102ed99\n\n# tcId = 28\n# length of sequence = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 737fa672e21c243bad70363eb698965a67083b4abcc3576c66353ee8204e36d260b00e5efc8bcc2bf5d9667468f99c6353b06c4eafbf49414f4bc80213907ba5a455e65fad522a00e08ddf44137e417f8d4fcf61ac7f1b826bb38322a403e8f6d2eb4e76ddb4badec8c4d50944615930d86194d7954c686caf822dbe253e72a184ade53fd494873d38344ed2f41c09b3941813d5e3cc4827626d02d420ba50c46619914fd0e3b8ba5639b1bccfc12bc2017fb9aa679e5ba5f3f7fa898a977d2660a06339df5341ac63bd4595d327fd9f651e478f701d58312c5ef36cacbe9fd3b8f8c726a580639267c6d2f3aec161a6dab89169c50e68e116549da431b50c1b18d157f48c3a28d9f5c8bbe6e5ed535356843cb12fa06680d117d9c663c84e512c9500ea876a547f5b60286388bd13bafe446aad7420d67cd2a7925a0b46720ff5aaf5e9c2e7f8cbb8141892d2d27c7e0976913db329213f277a08d9a9c99317a14e92bf48f01443298901e57c287488dc4d4126aaf560c9423239e21052f1a0485d80f86b74f2748c0f192f416ce236a79e7c0e6d77d08a2869f49c3a5e73210745699cb677372e3afb14d64767c1f7f31932720c3ad0b08348233d757cd02a39025a9460c83e8daf8be59b6d9240263bf9cafce0f3656fd4f4b0f9f8ebfaea86ccef25b93a8c893789e6eea2d588815639c09abee232812b8b379b3248f39b\n\n# tcId = 29\n# incorrect length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 52fa2c3025e2673fb95953747fc989615f634d32362d365dcabe6dd1c37370e0c582fe0cd54245fb2b7a892f9b45fdd6ce6bfa5e630eae4163f83c4ea2ca9a43a3f21e8a8b803d50d0345ba48155d1af3f419d8b0f2e8da897f7a36f88f0420bf53d89f3c2618852a858be2ab5d49d5a79b1d7866dff1421deea7143f75c27d9caee5372b1fe36c8ac8f3b5b06f4f71525c88be369b7743a7f5e84abad148492c23f6dc57f4218289a0be3ba1db5cc4468173b5fffe7455f94f5c2ca6c8acae8701dc393b9e5c2c5ab8633a67e4094ffbe2ced9700af85c8b3c0a31878696b53510a991b35f00e1f7c8d17106615b32e8649aaee855e25305c6864bdcea7ff583687ace773a9d56c67df5b462995444bf414b17ad7d5801c60340bec5bbffd49bb69ef97eb10156a490fdee3c3695fc8055cccf2cbf217587f5570efa8baaa384fe2053530791434610e4da67d075f6b8c5613e862e743bd42dbc1766dea5e67f2dc6117791ba42c737e56b108d6e8845b08a33f905416726b02354c6c2c17b296fb58d90fb2d87902e87a80ebe83f72380c9d8c7c5c74dbba510d658dc84976b2122b3216eb3b1cf7bbf868b844fd5559a4ea0c8a8a67219634fc9e4ceb637e6afaba347f7cbcaa562d21fa7e9364251aa9600a50b22694e4b532638d56ff3cce3a232d76b756bb2b7b21e8102841731f923ed410b04b4efb414454aaeb8120\n\n# tcId = 30\n# incorrect length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 1a79e14f144c0b349987f2d2bf07b860848a6cb5abb07b3229796960a81adce08c7eebc1b935c58db8ac1b9a0998236cb726f704005b128e9da87cda8b47e43881a67d9fefaf081cd1597a8095c935e5eb3625940b1ad60d071a5085bafd3b662a2e7dd23205fd4d5af060c52ce23a9e8566977f696cd1d941508db5af70d6b065c3ec1ea08ecdd5c1d2591bbec6d48aef425d91b65761e1cbc38ef4c0792ca3a52c62b6a812db9d6c4ceebabbdb2e1c125e419912b12ba64ac1c89563eb5e10e55798513f8b6068235fffe66ea13815021f2e4cff34d0501aa4a8023a6c1e2aad933f69be3229b161da5902979bf0e71fbde0fedd73b2674eec7f478628d45e2ed59b5b1321b9c68d8c0ec79fb7422f3ef9cda93e97212412c1210c2d1c02a2e5ee1b653b923fd5b350ca17196c821095e5e71fbf32577e2720593b5f8a7786907b2d460489bf25ae961fdffb3aff6cbad48b067811f192e20971204085b2c297f8c4a1f64e0847d267ba11486f2304b03cf72880c78d92dc33ae458f436b266749f0b472ed0371c5a7ddd0701dd2a70578064986ffae40fb6bcd9d9c268821c0eeba083405318c43b9ffdd1053e717c938ae7ca2df8bfb4a69fad029c6de8993fff2f4be3fa051fcf4404362341e831e37be5f48081a9a439f07382c1706956f3088da20806b5cb56daed9247a9c414e08748f44681f84bea5d835af6e2f3e\n\n# tcId = 31\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 0a8e2386caa1122470b2b1c28bc9ff5e752726b52ec4a2205a45e8bdf28081cc12527d06ea5ea752de377078e2d0419b8e8da0ca5379b7d798c198e3bddfbc847fcf97baa52b2e8f03a03ca394d6e551b441d48a9a6cd005ec3c306c86b72feaa859dbc3076960cb5e43ec88092f2d0c69d2c6d55b0b8e955c514a420bd8c3d3cba6168f2c3ce212c8a04b534c8f2cf1b4cf5d5032ff5d23f74b332064a70e4fb9ca814269e0dd93d7bf7164361726d48fcb20820e3fddcbb480010b7589adcf19722d60097c2aa40ddeec5f02997e496c07b094f66f21288b1b6c634efc647301b76333c6bfe1934a038a5e83f0135d49156fa50bea7db362fe67bdf081f32de8418216717f63bb8ceca3664953aad3c0fc0629798635cbc193830551988fb7aee0b78dce22addfa3f4a830947a29fbe19464d0d0a74fb76237ed128e42b192fbd428e8d72c4b9ed37b07f800cc368e9c6aded9f1b1d45cb10978432990197ef5982290cb64e422a844e69a5fa9d96b854be009d3d9c223dfa4fadfb13a6e4c060308619c2d3682ce48c9b7ce29d2f0e56e5c95129f12f97b8857e0fc1d85480de20fea1db5f66a9a3eee6c085e1288c8a12fd0cda67ce1637d307a3852207184bca56b478fbfc07fa83b427f61320c6723bd877e1a34a38773f71df65b07619b94028001be0ddaaf43bb1f738c6cf728617bbb466161450a4ea79ac83d353b\n\n# tcId = 32\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 78fa766502eccb06f5d328dd19237803a09beab4470437f46eecb745950c6bbb6e8c28213c1a108f472098f9b955449d29d33444103ec65861116dfacbb0d52e2fbb5fd3ecfa4658d34622e88d11fd1d1d2be67ca63e26e022de9cd14a0a1b20598b1cc0d0733015ea386fe92645e15d23360f9a654c1fec8da3982bc16d2848a62494fe24fe8c3aaffbbb0e017e42de8a886617d6716aca701a706344bb00ed486dd6c4976ce5e95edfe2616154975259ff539081f8b71dae6333b1bdd181cfc93bb15fe656a5a4eb964df55d1519a66fc8023dfabf02a59af4554e77fc2e391e9645909a70684f0beae65fc39b260ea86f63da19482a8286e8c7ee3bfc93fb7e0a09fda6f8a2ac59f7642e5e88373f93e242bfb2c1665186cc1223101df4843752cd9ceaf73157eee67a93d14ad939dcbc88d9c4e13a7328d9df5b6529c9db604770764355081f703030279a9f997dc9cb9af61e0c4d53e89005d664be47d07eb6bb4c4b5e79453f7afa2192bdc5491d34d9b5b34cd9c08c18a3cf9cd9cf3f9d13e229c8611a2fc583d22b0f3737f4f1a74ceb6944c0198c88c4b693a43cdfe353778a5f5fd792c4d165811b388fcc3e65dca3565131c522cf19e848fb2a38f1be44ae4f9b3c2840ed539d8add6f11a549d30255544e3e25a8b7db849ac3de562f8d7477f0fc58e26c89b6dca486b5bbef305ea1dfe91bf790124102e14dc5\n\n# tcId = 33\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 481b7bdecb34d4cfc817f217c883dea3248f2cfe0e004d830b0a5e6002af4d94a52a7ef208df247747bc26f958aa82dde17152612005bf5924c79557b3039105238a66b1754e0dddeff2b399182827a5f24fbab5dcef1d8134193db2b7358269fd02bc11ad83ca74114e7d0f36e700eaefbce93509ebfc6483b177b58292646d16e1c66a31deed0c041884456f3577757917b045b9db6ca5a93c54258255716e022916fe656883e350d90bc59e11d0f3687ad073e3a4f9430dbdf7209fedf051b7b2b6ef4decc1c8bd56e3b6f38e0343567909282908449ceac2fd162bf019175eaaeb9c74eff24180e04747537a8e6464acedf96e557ed956104453c03a191830ee9fa23d5d8eed138d1e498a9fdfb0603456df099b1650d78ff836d13cf1bf068c8d6c9ca828b234b9076439f6ab2b4b778a1ab529d8a6d6011becb7cdddf11ac5cf2f24af50425d26db425815d7913e6f76b804890b13e5c01faca314a8d79cbfff018b4f8c69005b4db1f4dd5a2706f17d5f7558e52368aedd61117b8f3b3e8f08615396c6427deb4a53d3b0237946a4d25bc47e3f5ea0aaa5c569e37f755a9e0cf172212920cbeb31eb00a1fbf2fd55d400fd5785c5d15a52865ce512ade691bcbc27459465bc4e65a9cfb07ae397c80e0df579635ee74d0cd38fdb58bb9bd506269023d3dc8c8c5f58a3d1151171ba92b35cc7cddde54e383dfed063ac\n\n# tcId = 34\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = 27ab14c45501ca20e57d171479b224267f159104fdc8a76db33244e25be46d2555280c20e6adda573133dbfa5a3be591483f2dfefe52fba5e524106c7565642ba5c035723f00202b278e3c0c4c0ac4c2f71271ca3d55a41ffa111b9b16b38bfdf64a7fbd3e4b747c44802775168358110ad9df1b50608a1576078c13f71ddb9ef1654d433ead4dad38de9ef07bbc0ecc9f157a73414eaee1ce395141c9595aa51781dbd81fbf024ac7a0fac3efe0086d22e1372179532660ea51a593f24ef7cab63f2493f994e8836c47a340d45b04acc0efefad4eb839e537b0f9b30589adb7923a06464714dcdba351553926e78846e3662b0f8326c02efbb93b11b739e1993f4302695850b1d09b558ff35392fb6006c6cec3382c192da7ba5cbf5e233520b13b56c2dc231a607aaaddb3449c0673428bb5e43fd27b5ffa6c6b2e073d7192962d81289f3b6727095e5e7b3527c8c27dc1b5958a87f3d073880c25e022ac4e4986f2fb5f176f964722f62115e15406464270d6f3aa15dffd1203ad732c42d91b3979fb182bb4a5f0a8d1142847cadbadeedf2a8365", + "981137b87237f3699c0f0b114fcb41f83855b2af879bbca68001147af3f226fe82a2329ff7db263972730521e405c9bf408f36a1017950ed2f609a41164985634330615811b5005261fa3774166eb5a79bdda9b3e6c5528f54589ac294dbc6cc2cb0c8a76822a1deddeb\n\n# tcId = 35\n# indefinite length without termination\nmsg = 313233343030\nresult = invalid\nsig = b01aebed848724596b962d0d628a4420f25d12814e4d5ae253b3a67ea1c9638b540c678a8ae83622c0d755206fe423c29bb3f46cc52ab963ad9e8078240cb96c36becfd2e69b60644b1e4f2183ec24e53938fe2720c4c78252b2919e178b9a53db4168a5a65534cc149e56b3e93153bcb7bb96be3429583da9b5ab2ae7bd2546cd5ef2def209872ce619a2c1d1f98bd4d720d90cbf9396441db92e41a045b874061a6d2d196d3dbe19e871c60cad31460cabb88b0c35873939ce29e70e8c11cb35ddf80b5c82a47a399890cc20eb32181f732755d4f3e761c070e88b6b1d3dc38224349d26a7c77945073bf70037cb184ddb893f29f06b6864323f0963def7652692957d2ae6dfa25979f516763ce7cea66f21e2a774a8cd1e077af88c3927f181ee599239c76ca063631a53f419497efeabc48d4b31124fc986586760224621f46826e3e7acf1e83c33a09e4a6ec9d36ed286c37c27629725bb318525ba2f0332743227aef14b42c86696a44400c496ada4270cdee164a67eacdf5a1252e3066c0775d7d1bdce5bd42dcb429bf355428acfc7e3d9d0e88878054da4b5b0dfde7f31454488ac214f0b484b2eb95419395d7936d0ff3c6f2cd2e0ec1485a7c741a766656b3275533abeec8d598648d3527feefb378749e622f97b9e5c068e222fcbca164bd1a5cae13e0a5e9d0b32e8b64bad7ad7cd17967b06d18b8b5e6e8706\n\n# tcId = 36\n# removing sequence\nmsg = 313233343030\nresult = invalid\nsig = bb673cbe9c34aa4e50653b50f151d67ed2c1297ecd20ae73a53df4fbb4987d51c3c229b0cc6063b220a0b3afcf5afaeb1881f1307da10a41af9588276b4649b0d023621ad0ee4df1fca2b4e7d1f605c587c52b8bdc566097a72f99c29cb8d29d6167731441429ce6f8931a331b44d33b691d044a7efbe97a31cfa22129ad3df7633a78f3859ee5d4a970f404be87b5f486e8006562d3312f3b13a934dcc48894dea5985505a917dc6976151f17a9818f6ca4ffcd2b020fe9cedf53945ba1b5b840a7291f449f1b42c56da6d229e9d48b0e51764cdcd1e1709ef7a9e2def7306e32b6e8355140220b4a5c53f38aba8d505fce60541a47eea7c7e3d8f2dfae74e1cd1725b4ed477a8771f55f51a50be57bb97f40329fde3a2acc3ec8d13f51428320a8d184240bb0af9ea0b67eb7d441ab63782f7e75e11aab72a7ac87e3fa6143c969b4ac80877bbb21e0b0c66be69db1eb46fe475cf6a1d5d46786cdd11ab88a99957f451cfc743a0928dfc5ba41764ab9154a8783edccad25f8336599ca5659758bb55f77d0b2ec2ef6f627047b7a15a82065dff9fb436fcfce4e747c2a0c52d30fdd3507835b49ef4158d77ad86cdc51293399aa7424369d2fc11bc93ca0c66d3d7a75f82cd2b0002b28c28cf3c91ca89b5115bfaca6d04a0daa82fc3d4dbeec6e87db394b67026b6a595b5965db12cdd8ab2ca1519fc19d326056fec39ad5\n\n# tcId = 37\n# removing sequence\nmsg = 313233343030\nresult = invalid\nsig = 94b660539810d7595c69b95cc2a59e20ad68292d1f381f639bb38f2f24f3ffeb81cebdabe27a56e33e7cbdf954bc00930de4afbebc7dc798a911efd3f62b2f6b8a3fbb71b94aab913d50a5f48250ec509a8a2fa3cc22cce006aec45697ef50672d44b574262422071424fa1e7a33b81df9a74ded09018072c9941d261e2751e173c6f32ffaa184fb51ad3b020b812a890fd650987d5fd374531535dd1c89dc52215c1660f71833060945a5e1a0b530a87b34a542549c1730989b9d25b0cda122e590f0304bcd3d08bd65b4f19df84d3755e993ac5a80f169797e16760d1bb4f714a762103895283b403b55271b4fdf0a8e486651a4a955cdc8e23f7287aa6f75f8c01e365d38fc4e783de00f05081399294b1be143af43904afd6d211d49ade9b78307281ffac4eef7a5624b9f867e113c30a686472f1af4663085eb8f65394f623dc029a0b5adf0140147900ecb0320bac5fe856baccd42eec8b5c9a5e69d2d6a42b00f0e60a6b9619b111ddfca6f94e845a1b8bfbcb4f6b13e52259852ea8475fb168bd8deba00a6424b6e54e1225542493a535e7a6cf01479da324f98c34403ee944a8e37f36596779b895d829b9f35f063723ec8ff2a423c1e78328de60a03bc61095d037e8a3e246e34e2e3df1b07f243daa208240edc73ff3d9b89a1db8086b1cc7fd0adbca26510723791afb390877222434982b8b19d566cb2f300d9\n\n# tcId = 38\n# lonely sequence tag\nmsg = 313233343030\nresult = invalid\nsig = 3f529f9eecfc1e50f2407c70f82ab4c0a62d7ac9401e6c239063d575b0e198449dfd14b8fd732a9dc562b7ba83d9bf6df2295927dc8293c8502f1db4049ad46fcf9996b9b3746a0264517b909e7415a9f7d97d0754b83de36d16e85e201666321df84177a862634f3667fa8f780c404178e744cf73a923f470e02411d452991822d6b509a786b48a89480eb559c5ca7a351c9a383c76f2895ff80bfad92b57c80aa621bf67963dc1924a3014982ed5f30dfdaa4429e65767bca3521b450c4f9c8a1c36b91a9652598ce31b3cd531cefe675299d171112d2e591357c12fee6be0c52b192baa95e951fd563c4471de85bb6cdfdcc2fe7e7219b8d0963a4d6d4d72a3e94f724756c198ca340c1e09bc418b72ce9954c625c1547589e45563ee79cde1211e0169e94514f9f27c3eb3f19ef78ec78d50638150b41b59d369ff44c1f5e54dc00961a05600c5491f558e698d316eb0b21074422cccc11f80ca7c6f6ea8942e198ffbe9375f1fa55103717b765ab0fde89c58cedd0933785565bbfb0ced42133ff4726b5d42afff53686da3348572eb3a24f6e7b119906d30f24b5d007900d7095e4be80097f509e89d630a931582e112eabfaed2f562e4cce3c121167c454f9043ffabd95cd8dfc1ceb2c10a5e58faca8a23f32c86aed077fef810c32cd7266080a8b0238607a107cd036414a2185ef4b0328c6b1023c178d4fab5de38\n\n# tcId = 39\n# lonely sequence tag\nmsg = 313233343030\nresult = invalid\nsig = 2cae83310a2b413f44e68ca488b6d13ecaca8289e797786076bc63b00b583e373c48128d8500924bcf95b1d67fcd6961f2429aaad0e07a3a8273d164b8c9031d7b90bbda134ada626562d45c693c92847fa180af4f67dd87b31485b4a3e11aa188a69cec24f7603548fdb523c064cbaaee173cf45c82824c0bf5398b6339f55e07b66d0377ddc4282e3bf0bea5e987c556ed138bb66e3976288e0255701223cf93d11f415066d405aac2c330eeeabd84e7c7d022d6805dc854ab29f1ea6528762e40abcb4710503b44801b23473bc8f15a58f5f3cb69a0589acd129aebd2480cbd1c90018ecf36c4e2ecf82ef8076d8c8747db8cff0e0799840305d11ea2ebb36e4874d689622c223e3744356aff9e9817b9a8c0af82956bb11546382747d7cf8a9eb861b1ec6cfba56678b5a1581213898c63454db21714e2da0fc3eaf897f8f21ef84e8ee207b6c90a9821d4689f603e27827c0859a497abd9d0af6e7c070671c407bc3f864e600c43107a0270bc06585a6a14fcc7547978296f7b51dd8ecd43303ec204b6c83dfd4e731e3486014987ae821d69446b3578fc9862f13384f66afd807ce69037c5d6a388ebfa3e5ea5b9602f5e48abf21472838682e23826179b9c60ed6c5724db772c087e4f4a5109cb8eb90a70ee95779e89909ff47b7ca553b8f35ddb2e6d57049ede2879408fee0cd28a3444790544f5d9688e54199a97\n\n# tcId = 40\n# appending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 40dbf72ca7d7f8067728e9c31e118d8899d71bb6a5e57253462a107521babbf81943428ffaaf03bab926e41a12da79961fec9233150d0af2d2a384d75f0c83ba607bfa485f6614d2d08879906fdb8ac9ceaf98bb2015af14e36fbbf3b381dff6c033dcb157f46da42fd89aa3d95208b917ebc387313013b3c550a906c0ffc27ca7b6fb8dba26b7696b36886800148d7cbc2ef6cedcd938a97a4792ee150cfcddb7d405d5c7670852b1e40b8d3bf3b4b74e208210378c5caa2071149d5a0ed6f2f8b69ebd8922e5f6232369fa2774dafb6b69254083517465aabad8657e550d7c36c2e2ae7788f1f2fe475c17e910e796a0e84f36eed6dfb8a3650d80b91d77f0442075c8009bc76f84a289b45768307f00f583bc3d98bb92e2cafa4703d52d6164ba44940c393e06e9b5d7bc91a11bc9396c910763aeec359d1a98259605edb643b0bee6ccd8f830daf123bf802fa0424cff97218ca54e5be6fa49f1c1e4a021d4e8981fede024c87b7f1ca2f3edbd3b9510bd8ccc90178449689eb261521f88d3a6a4e9cfd5b3a74d139297eaa0fb5b0fe39b0034881a11b2da1679e266cc636c8066fb7891863d885bf0ab06403066e2e00692148c9980a143517a1044e04709d38efea7fc7825fea19379356055ee0831d2dc0ced31070514fdb2c0bfe4a1ac1c5001166bd9b3939cb213d43b28e0825a503abfd138db3ea9d170e02f0236\n\n# tcId = 41\n# appending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 4d8f1f1511d2c2f4ba2572e057ee0f73377ac09fca0eba99e32a346ef406c504ac40ccc3b8f89fc566b9ad43e62d1d389aebb2ec4ac35edf65b71a4d05d8b712176ffd3d0025636785a01f7710105d13155bffe7f2c128ee9580248655aebcb98bbf1410ad652e73089fb570b33038e91b1b898451cf8cd4e65eef5ff25e94e19acf1593ec99240bf3d839c1c01538705dc62f93709dc1e59d00c4f9ee1879d3454e68a205a83165a7726d13a8e47a84fc88ae0a9a74389bf1d73b89fc2fcfcfc2780c1e2773b38d3688b82e03c2298c3f584968afd0181b5dd6221ef2b0d2813c6dfb95b763bbaa68771029b1b19c77c75acd36dcef0b5754dd85109d4c86f593df46d2adc57238abfd2ac3a9ad14bc443a0c4ec6f3d2aa4133b1598e77a5990d456309245268ec6b48f876b1fbad84d3c20c928fc2695197bb5893023582e0403e06954c03a3748b1d96df7abcfe77d59b97451499aa8fb02a181ab68fe5a5d6380fb7a7bfc16e186f119b6ecd18c4a4007b72be18efa2ebb005430a405ea0cc1f2740c1b07ac0775f3b1bb25637a2142416588e043747a4303b7f7265a8ae34aefb7ec0cc912a81ac7b975b16651426fc0392b8850d78af728503a9ccb687249388d05045733cc2abb27929287cbb8963e5cc4a18fd64d167922decf900f39d1a9d745d995568bbc56a80ac21940a991e6211beb5fbb4a7857a4fb151ee92\n\n# tcId = 42\n# prepending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 6918ed68ef3e63fb6a020a6af0504fa7caf68d21bd87306ae1161bb6b6658c2e6d42277c9eeec6676d6273fbe9c215d9dab12e3aec042d663ec40c2a6ba3a1847d4f81e6631f40e1f1de474b793", + "18a6ee72e39943ebfe8217c4f6be9fedf801ea50d7532319f82f0c43d0bb80031f589364b0cf93553dbbcbada10ca0983f03a35801af10e373459673b1bff8d1154069828762778ac146efb4f2653ac1d42243a76036d0faf8040945b41cdd1cfa4994d4e9120b8dea24cc862ff4c6fc7b3da4f6a1867368165a5e4e7d786f85ad850193baf614cecd9dd1035105ede78d16daeb015f1c7ea44bcd2a75318652bc91895b40d9538568cf033a590106d370c778c0566c0881609cf0f6235296bba81fa78c59eaf76ecc275904947aa74ec1692e6d35e715cd09c4a57bf8ef2fea478a30c9ca8b773f2aa7ba49af33260f9d37d72eca27f67abc14d51cd8f644a163d2996b9e92ba424ef1cc7f657dc7591d4947fb5a19ac5cf8372c0b6ea64616873a2b8bc2cbeb6eb0d58e106984a3691a588dca0e0d6fbfc071cd3c5e4c00c3b0b3c245c685cd1932c58770cef8bc916ac11781994a9fb61f490fc707ede0e90ef1f700800c59d113ca7a347a61791100c60f3eb5aacb168bce7a7535d57f29ce61be9ed75f2f02cae48e3637eab25e1e26c432ae7d94e40a5ac8b6c9117f12fc1ca3df21aee1160df775e201c9d32c33393\n\n# tcId = 43\n# prepending 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 5c3930a672c7bb3370704c2118883d71eec08d0373c386eafaae8ad29f6e34cd9052f2c532bdc2dde0d33dcbc4e00b54984f80844462bd222a886abb303fd4e78735c34eed7d9e72039c01d8a6ab7b8ad0d5c161d6d6a50e67a72b1bbb58fa03656f6860bacc01d1e79d99818e26793100573a3a86441100dffe2b1bec0028c320e271801d9e29427c7e48277568775fcdb84199451ea0cabf17b44474dfb632552f03118338100118495dc62df9fbb2d623bf8f09de14a03a18c0d5895844bd08c7c982fa966af224bea611bf7fa7a38e7d0bb788827ed66413ec962a8c49a30c2b01697b0246f812d484afee38fc3f49e34770be2e7ae6dfb0a92c70ed84bb516b1f5e26a04ef51a00f22c894507fbde0c35563e2c1ffb33e2847d16fa1c713cfd7f25245df18062c8c8a6d30c4244b01dd243481a65ab0685ba3cc6be4aabcebd7c8af3e5bcc7ea0c75e2f7955bc834d4f4280c31dd3ccf30dc0ae5ffb2862c8e42fbd86919e4f449f0513587a346a714699c4d1c99a28d17f4b1cfddc3a6c032113608e36cf0dcba19d743189f40a4374b66499b737d7f53bfc86cf334ab9ef9dc9e178098751e32471e9edbc00251988cc18fbd9e786290e523ca54907d3e3c6ed78c8217708f06a5bcda4e048d698453d1e0deb0d79b3200c1a7380289ab047bbc99e05dd897f48526d7fbff7cd0cfc244c991c1f962b6570c83e409b7\n\n# tcId = 44\n# appending unused 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 5179f20c7125d575420c85b0954d96a0fa73100b265113f301d91457cc901e04876f86603f7b5edfd2578fa64c1ca58ea48bdb7de0f7831f4f331f25548b35915167cbbfafa56ece7fae60f814c3faabd5101d82f04c80f53e3d1ae1a3ebc6e764e26676ea8ac34c64cc3f1d81a6343ce1622dde7b80f7d01f5906b1b05e6bb013f1c9ec9f60fd9a0b6220ad1ed6daf7b4a81371f3d80ee3a5f80bab868a70462b6414d700f60df20185bace77576a106594d2d5ce4b1eed154b85d779329d92b9187e181b321619e7fbe9aa711d98594b434f3e013eb64ee56cfeb7a70e0ca586e177540460512e61698035ed1e1537a635857c09e01c762809a8fc348278060b7b751c3009ffb9181703671546797a604b435625f21196b49d3cab7a4450c8bd339e2aee3a1ad8ef61e6643ec1037b593f66f9632a6fdd92cfc7edf472e62e386a3b5434a45f742461372ceb097d23b7b4f5d153d4cb4e7b692a736925e5110ad1a8ee42f992b96d4fc39ab47e14854913b7e9aa41536dba61de7f084e25609a08cda63f1b8677396778a0016445333ae370a3f26de61c607da3b1bc52dc3ef8c2b96b9a9d7261c4081449da088c6f02cd6f97222191a828dceb8d3c257ad60aed903d689123982b6d3af0b03ff17613a4b77d0bbe6f671c6cc04978714899714106892cb91fa91d912b1fd570665264508dfc1117b5d60e066ecdc494d7b3\n\n# tcId = 45\n# appending unused 0's to sequence\nmsg = 313233343030\nresult = invalid\nsig = 2b822c97ee5998744c50488a0c2b47422c2ca0e13c8a07aeec7e42e0ef813077212ad5046b522898fd5d5f4a4662f25ebaa6403260ab5966599159c45e66e21e62b94f8dbd41cb760424cb8dedea67405e14bdf327065b2ee3844da82f7ae8a2ff4641b9a83ed6abe51cfdeb0c84022ef42570ca51f1f4a59956e43e3a59f132afaa4e872b1534fadd8568cfae195f6faf0fd4a405d5b2e8840df0db18ed8dbc2030ba57d2d49d364544dddac038628296b9937ff4eb97123bbba35fe7a32c676bc0292901b16fec329536eff1922a565b91b2b8ffc0985563a6ea245a20ac0fd096b227b0f3fc610f627a9e306336e42012ec55797a67a5c411c647e7d4f3422b3914ad8be283f33d654debafc3bedbd84bcac4fc16f70467c34461355396d59afdd13420a5cd5b290adb9c5d05e5ef3c9360c3ccebff652221dfe6076104e9acd92715344cbbec2b174c024ac06f7dadd34ca1d24750cb248bafae221e7d88750d3daf842717d567a7add339ef54b1b218d634caaca3a729b15561ac75f1f38a00ed34bc322e854f9bd5fb69b3e82062696e40602203f9e534295ce2ba8245afdd0c6028d1b02719962ff054d2e575cf33aa5076c75244d07fac155c3515a4ea9eafd6af33ad2d7536322f0e9ef91a28bf82e98feef675b50b223da27331425029a6c30d9ced424992b75d10c1657c0ec5c133f168304e34dedb4cda80128c\n\n# tcId = 46\n# appending null value to sequence\nmsg = 313233343030\nresult = invalid\nsig = 5294afb7d060306ba815a17ba743aa671114bb97487289a092183bd41373e5e3a0df7244688781af07d118e9f18818468a837e83f2c58252da523f8b25e61c96fa6ac97434ee553ce58fded689ee82ceab47b38f845e725504b2ddd61753bb9e334a607fc45616ef66b347aec5cd44b8a78968abc6bcc0a2a19c36324937fd1eb11554516806dede4075c86b86835a35c60f4bb482204d0b0855bbaf67228d6936dd1886335e85a59ea445084735368f76be5b7fa3aeaebdbe87591451d9499cdad26f82ec680a46587d5b1008b78bd99575650af8975797bdea912932ac9398ba35ac95a615ef6b51b141f18eea88a1aac53dc13542eecab714285f5bf2ea75d9385425784fcffb33128bbe3646e5be152b2000020bdd0d00e008e674d5012170b2ded848ae57bdaf25877e333fa1c112acee9fa1498cef6b353e5b3c6da68bf49f302372bab5946065fe20b68ffda400f57f82f9e0bb024e06da7370d8ff47c8cc0098cb365ae97bba0608d14565f83a73008a454f028eb818dc8f5ff2897ffc964530990dceebcbe3acf46151b1f1111d79f99d988e89481144c39ae4902effebba8799ca9ff6d51994d94c70eacf33fd5e8a5c38c72d2f1e282688d2699a76a99f123dbca741d83aa222cbb11c85ca1019da80950c0e00a31922aabd37f6685150df7ef26587feb3cd825d5b4801a46b056b2d9dc491790249fff549bae0\n\n# tcId = 47\n# appending null value to sequence\nmsg = 313233343030\nresult = invalid\nsig = 15347a7617d234e8c94d0fecb9960972c2c99ccb33d384967fb821d9138debad76fa5dbaa4af3672c773cd95c9f0349251a90e813acced8b37d99255cb6190b5beb3083c176a6e30a5371fb32e8e1b8345dc60bb4b642aee31179e81107bfe71389bb4c821357f01c2fa352368f4d03f88e4b6ffbb82228681b1d8bbc40bad39ee532f35e747c7962a2a2b8b862939c017fd16f1f9e1cb68ffa78b491af152559376397f59ea0d13fa47a101c57fec26152ef46809244a7a1518d9a921a2f07b76e5b0269a504bd7add87de023a323eb4fb32a2d36b05d3edc840be4b93300cfce30db29d3b7e2ccdac422423e6027a8de9cdf5d998bd04feb953cd455d1b87e7cace1d5ef40cf41857e2611cb046bdcf6670d548e76015f2ffc48f482ee68aa9c963d81196ac8e99bde7e0959107e5646de07a1c44e99fd5ee6e2633b541c40579779baa2dd0448ef4e1169dbc7f328e59f618e8084212f07869d323510e88d19e0eee65784fe6b4eeaa584db42db2587740a6a89e746bac566fbe8ede6aa3e494db5143c5834454c70a1da8a66cc7382292f04102713132cf74f992e4690efea72dce8cc0345c0ce368671deb564515a43925d858f4e04d99c681195ca77e0731dc73ab14c1994a32703f7f30859a542e949cc5b07398246a2e428fb04cff95d4fe48a525384c9f03dec4d4a3220e17d55e6a2b2c241e83c76363a327d8483\n\n# tcId = 48\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 81d45dd2ed7bdeb122eded3c9d8e2a9c0aed1857483764f86e8d9453ca398e159886710558cfd82594b82726c95806e364c857aac2309f249c3f9272e2842f19f381ba9f062ba12163cec808a9d2f75f01d3760937e3c795d3028223b29ebc6b23898205ce286fc2c7345e67644db5b5fafc539a4a07f8da447815204827e53421431e978e86f61c07e413ccdad6bd8353cb0b6929cab0b309f88891ad9306046835eb04e6295536bc39f95d4023d326b93896217f4f5966d7c297dc58940652c46af565871fa0af03d9445357cc1e62ee9019a3cf0709b395db776d69063a028c04ca1a1430cc85dcced8d05b42698304f674238394febf532e3aa281ea66248b5539a33c7320e6c080bde47ee1107b107761170ee18c094a45385dde9def358360114c7ff9b561901646f2872825d63547ea3dcefa9a07be2b96ac269e4065cdddea77b8462478c981d0ef19c0bc856e00680e728e9189674fee43e2ab98b8b43f822b0d3194ca8e7df40ca9b8c795848c9f4a7e7a7ad8011e07a1ad88322c84af0cc1b979efb2c53bda8877c0bf7620128dabb993c4df1f6a6b254aab3425b9ccef47eb04c20112d04d6089ab2bf67b1fa9e4beabca33f882a9075dab810dbcde8dca885c897983159aa6074e022a2e2e4e3b679452ffc04bcef7f267111df2e7ea57c7bb593454924c3640c37487b0d3a967e56748400c856c6530df8ca4\n\n# tcId = 49\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 63bfae421bea1bc841c4c55761d3b902663c575777e3a4ef2231406600c6055f138a97d8e52a67b1edf7d47384e32c56ca0e9addb1f33e425613a4449ab1d511ec58f9b03cf8ddde8113b943148ae6456590a81746382d4622f260adeaf217434315e1ed44f52ee89e705b292a641a72e25d6393599af2d77524f720996c233540751d9d300ffd467acf58eeb1b3af0ea9805d5ebc8e6f70ed6bab6c5350088ab1d279b4ecbccb41a34a3d7f366df89f1c477981876ae70f019b9716e8c45519fed27f1599d469c93ac32ab0aeaedd37a067b6d460eb7de710e7a25c7c2e02f2d2a79a2299c6d4745af60e44cd30d804fb958e9c8851c191575b9cba358200f413e97dc435a8de7b996a935b87192a1fb9c892be426786c2a26e38ce1b61ed0600", + "aa73b142498952ec8bafe3e261c5a51d70cfcd8f179216386f71956b017fae883697fd626798dc3ffea15fd689e59fd5c9143cae2f150e54243839fb48dced3c70c4061a88fb77d971420b858ffc221f3ad6577848117970d062af3f255e197ed358a5eb7efb063b54fb6c21073ae1187659099682fb1583a0242947bb804665912471e4121381e4a7ac9b33d9a1d82b48a12c8b98e434e97eed912a41363bb66b78d92fc52dfb7c153449a06a095f29798101577fafa4d9125775621853644e2fac9b2de281c0dcd8665cef3d1d6bbef61c2c091dfa931cc6ef40ee9d5b80\n\n# tcId = 50\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 921897122fe95da7b369055a24438e31977ae5ecebec0e6a969efc589fddf69237fe8ae0761a4ea886fcf52cf3c40a8432cc462815fe34480488b094d5e156df992564afcb2808939dee01a8d9398b7dac996a76a207f7538b382e4da8eaf403d470e8ec98b9ce939ec7c9d97a8a9eadc2b7ed4d01b088b57483b9840570ef35d404f5bc47be1ee7db3a19d9359f5433b7ba5d5770a1c2c319c0e4574e7068dc0481c6446a47291f8a658ccdc974842d85658106d75a3d2979baad2c90b597b036814535b3d437fdfdcd0977f72a66c51c27ddb846ad7181930ece42056be4c1b7f4d62f081f60befadfd4493b1400c749c9d343b15356a0c4b863b9dfe92baae0a6784e4cd25ee1d352c55d257c16c7ecda76954fbfdaf79c3ae8ba81a940264bc75203a1ce4090f1e09ac54eada3b84a06a13fa5253f38f61dd5bf8fccc8b4645756f08e66f44499c4cf3a235acf0aa156a24f6070e9496ac4ee0211068fecbc5e6c7ee19455351c1037561deb2e86ad855dfc8c02d73b109a4e775a9a104c0f389dfaced039127b93c8a6edd943f8aad35c7e074a918b599a9d305b31f32c52e1a5a735f71635abb0d7833e449d16247e4d1bc1dbffceeed7c92c4b1805460aec4e2442513ad391671ac87b9b089b8482eebc80efb9eb389c4e87a85f5f53f7882bd66b42bd09b0275e60e76b4208384e6fd864ff99a4d72b39f401962e72\n\n# tcId = 51\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 37aa38b4532bc3cbba962bdd106979b4bd0d06963490f0a7c4bb0b1bbee5772fd976902c077799e6d24d21613e1aaf364687521ec8c75c763e27b94734c25a5595a1359e9f2a72641e473e70aff36ba14cd79495fdc0055c2f22cde8a0dc36bd0c4eb8d12f67ea9fbc05c282b57834b94f8704e8c229207b82bc379d959ca4284da7ea2bf6cf08c189439d765db056144f4e0f65db91128f506664fb1c136c7649c92b38bce90a4f8ab6e08290cbcc4d924c01b1178ad2993c971d055969b5253cbf98cdeab6a87cfa9983c7201ba7ff3522a292eac3a08c7f463fff16ffef3271175ea4eba206a634844fbd4b130a683a93785b7893e9ef8bd3ae73c513cee3bb1ed8da9be1a9c39b20ff0c6aad6f1f178ba75d3ebb71140f6d75f7aa71d258069a14e1d42934bdb8ddc3ddfff75b78c1cd8e1fedf0bb0fe66e2e817db92f98f7f73417ce821415a0c1b06a7ac5d1e4586545129d02a6fb171209446c7adceff80198dfd010f84241f3e18b0b99458092319f967b7064f3915d171875a2b63a30b45ae60dd1ed8af936bb48d8254e823f167a40e89bbfa2ff40ae2d48dae05989552cf8ab5bf7f571e5ffa7f9a1808723fc27555ee7595b09dbbdb3f35181da4b794995b5a07b96cfadf38d60204a8e0172fd92e0d3c8902fdb0c161f3ea3053bae2e21a9c478aea7bea42f8ab082e6e3777ee58ad797b0bfb7e7c79e0e371c\n\n# tcId = 52\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 15796dfe18c6eedb2488e75f4501f350c1c35b6af637f09460d94f3c61d4e119039c4779b88994006c3f62cb7f34f39e8ed8757f28dfafb55ca2ba207147960a71c29d1089550778b7b187a4953610e856adadcec93e166bb718cbb2e5e7fd09a2c0d978652eb89b698f2f629d71da55c2b2caa24d4069b82f4074dfad02d78ded1e1058f67117def7ceaeeab37bd48da1ba887bee751bef68ef4028c7cf4577f883f463eb56a5fe9145be0b2cc5455a9b3096d41af9f0f500da9489d00b6082689706fa01f40ecd0dc554c8e8bf6021139978bdcc25b73e11c3fdf6a74d3e1ec6260eaadf40c0cd86db81de9287b25e5cfbcb754a713eedba9e8253f65a7f02eab00851e2c189b3cf47f1d60a1c3f058f93aa644def56afa071677eff0d9f60eae8f3bfecccfb63724c618558e51d3455b7ed103ed1bab225dac9a675d56c960757cfe3609f178a13ba299ebca3468d7ed0ae53a5854134bcb3d875642224d330e4af4680fc951801392cf2c43bb8b299ba348cb91c890886f7db8ad8113b5e84215ca1be49199396be27553f8d3c1c4e281d4f911e39048229e4761197d2147276fb9d88565135d1a2767f8c8817ccb76b835dcd2b598c5567efdadde869d4ed4a3446f01f271f324c7cc943a194a4e6e1a9d56658419eaec73b0557f823a946c2f6f4dfb8505cb2620192df8f110fbbcdc4fd6b2298f124cd53041b0913e6\n\n# tcId = 53\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = c699a76b8f2743d7fbe4c47d6052887a8cb6cec90f7eb95f39256fa677093c71f604645c9d01b6cf177e6b30f825f63a0ff805337e1eb4f64d5d894de4d2bb3d0aa3c39cf309580a3fbd5415710b4d9aa015edbe4e3189ace28cad4477f2a73af8cfeaac7637cb18bb5aca78fdd2914281d6c0cda03ea136ceec5920fb258da99e6816074dff6fe625873d3bfde7818c756329f84f398a52e7a7ac886169f77acd790dbffe66f01c3820d93dd487eb3c0e222c4f0c246b99b13b5038a81120d8035c5d023e1296fc25d09a64a1782ea557df44219748c0572df48cf8eb285f7c2231e1aa8706f58e5dfd6723c779f71d87b8af852895564f869031c6696838f9a00164e78069ea87c9106d439c43d7c050ff1dcccc17a83b05cfd2b59c7c267ad5c32ac6e467496650d6fdba12ede1cda8e15e03091e628149e6c43183fd95d4bcabe8d179096879551e1259c59d6fbf9f19838c6283936b6402039928c8a428ccbe97ab523f79e70adc17e324315a740b00be8ae82c2adfdc0aeb60a840beeab03c6e690f54d4103858bca95dc507333892c15536d62b1f6b32e3f50f6faac5cf29833186fada7deba7604b1229a8c832d1685323f0a45e67d32a447db8ebe1c1d5083fd84510a5c92e839573dabbb97c240cb1d53909e1d304807c79a859228a3dc5756eba16b9545940c077133e876c6c280f08c5dde9eff0498bd5187a7a\n\n# tcId = 54\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = c4c8233dcbfc7d176ff4d31081ed91fe02a64cd00f66e830a97dfdc3ce1a7952fcac2696da6a95a54b76c14115ff9337ddf7c74bd36932e0d0abf5535b1d030ad6848f8f0184d62784d0d378d150fa8be447f00570492b6f540f88eba62917796cf9a76e7338f27779144ce3ec7196bba1f6cfb2b47541741ec454a97fc465cfbf1aeb681618837c481fb76074ecbcecf18f9ced503b5203fd3bb4c18a6a2d6858020c39d641063d28dd5d4903fe7437e914114e2fd8898b5170d3d50dfe856bd72ec1c676015a5335832892d015e39ac498e90c8d179967d425fd59663b8270fdbcff3b433fc2468f88f3126a4f3a5636ca92af919d6ab566598498130d777ebf8ca73705cc4e4dd6507f28baabebd462ca47ca24e2ad4a1a0ab930eea27053aeebeea63d32d6096fc0469adce1649132081acf55b80eeab28743bf7da9deea58d3ca0a96e4784397f459f6cbb040dfb9a6f813be0d55b1dbc1c3a0ed32e2e11ee01b4c6854cb4b3332027cbca24d0af9c2f9eaf61ea809831d44c4e194a0b142b49897496f56f933aee0e2fdbf4e542e0a05dbfc077d4cf1e4c41f8464f6ca18a9f958d859a6a6326230800e88eb6163d8056e0103b68987aaf0a601bbe5b9c50f6dda156315e84913cef48007933d4b52f100c763b7e1b78daeb2cfe7d6c92d32307039db8ab24889dadb7657ce0d36377f9e646da539747b266d849bb92f\n\n# tcId = 55\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 42d49b58398a0600e337a94146eb805b9419d7424189ced4a3cbdb49fdb82f47aceafcada6b120f6ab678496ba35be664598cc35e230491f474475d5ac55638d02c5a1ff93287a684ade443b5ef6a4715ee19680d9466db8a85d152251a54afd2d102eeb546d61ad80552353ffbf93ce5c38850c60a627df67d57fec100cd70a51558dac111972df1a1f6923644cc53d0b32c8236f0d30fabe027767c81e429e77cf2f0c21c979939133eb3063b447f12c6df48d82aaf3294d6b2fd1ed44a9ee123c7a6ba68b278c412b673787f6f6161553604d7bccaa4178bca05eb4b650dd94d73f55c7b2a2859310d406f6ea36f1400230113b3c4c6a9cf2b5b79b7906a184d9bdf2445330e5d869693537897ff45dc8e9dff48a78626e7da181ae439068f80f2bf460e9274a42d9be27115a456f28593bbcee4f2b1e8c33da85cbb0d4a25f551340b2a6dc6cbc26802457a720b053ff39d70b164a019643ba9e61172b5792cf4f90a277637ffdd9eec290d1ca9717cfae6285ae504120db2a081368e06bee71dbf5ee70b63037044b1b3f20e5dbe1749832566bf2c5788826df2983c38049b806e06e568d18637a4209cfca714626a433dfd4f4954a6e348fc373f95c59d2aa29b9d3dd435630f500d50ab424cb8c7b795de92d14c7fed75f0e2181b7ea901286dc9fc61cd887c6289a357d633c7c0ddcec38461784cb59be0fc7430e03\n\n# tcId = 56\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 28abe06eabb02be52b20e50de761f97fa5f454f4ce892484ca7df812c4dbcbab2d7163a20c0544ee454e43d1c96fbdfafcfee7d9c5114a5c6b324157e77bc283c3b0202e7067e252289f6feffd3bc287d6670f85175bac90d4d842cd902ecbc489c881abd113273cf3802ab3c4e347572394a8517763d7a2985214add76e757ade4994bdf23f7b9fe3d936eac96ebf11f13b3f09deb71e13705fb2a2c52311162eef035523902874989cd63e688ad53fb35bd5f0ead9dab6112db19c2ee186009c83455a57f6eceb4e6e5c2f46435d21d3d9f7d6e53583c35d859f42da569d0113322d7d0f91468d9c7c05b4a648b45b15ec638e210436ccc59acd2b223fd98255dce7cf75dea03cce9e8f80ebbb09b13fd2c0adc7c039ef0c5b369031600c29636a7ed8dbab4eac60a9940547e3591b48d97c329c47d86eff1b0a3f28f3b6cb213fc35bf35098e394c7f9f84277859fda51ac25a3e75dad7fdec12c29ea441612213c56d24b4cbb8529b8ea80d1c95690d540819ec36332d05ad922d71782fa48a2268fe149b6a77ea4b4f941b537c170607ad1a453550cb62e81ec6cfe8c0eac8fff6fef5e5b148c7ac5bdb5317a44c17bd9ece2a41305845ed3693911b3243b94f8a5f8cbd06cd1fbee782fff542f3dbb8367263eb1f79474d1419c6351923d861a347c53f298f2a959f6ea29015a99bf76034ba9ff91cd79a43402172080\n\n# tcId = 57\n# including garbage\nmsg = 313233", + "343030\nresult = invalid\nsig = 606368a102b687b3f77b23add45ce84f5ba81f69c55f327ab98c8a2af52a89d332e202bb3531a31394d683c691cfe3dd1087dc7001bbd58aa6eed9b22933c4e84ae303b449f38017dce2fe034a2cedc6ed4b2d29c8ba95dbabbd7337dd797429ddb2defa3410479bdf13b120f1ab1663f01fe13cebde75545ff950f374bee071a35d0078e0d11e56f4a73738a205431b10bc54e935f097c10559c7f8cd0fae3f60dced2ae9cfb90f641ef79c627a0eefeaf04f1c5d03c1a3e2dea991c7e18be5db6bd821b07297b630e33b58cd8e1d964935cc330921f89d97b3b14960d59d8a228fd1c7ded2728e7159a5121cac987c8afe63b58616b8b8db82942558f997be8853b3b152bebc39f251223fde61e05b6da00e273e54b29cfdebc54b2faf84280b09881def19f25ef3d36a13ee4a30dd30f517f9e738123f090e69a87f98b51b9a3100802e4be126b36f02dc999b1a1d83481a8903e6e87bec9c85182a6573747dd00d61c9daa35954cfa76196a1cbedb50b9491e41c28b2fd3cf69c262fc52307f97870fad0b16ad013ac7ad6f9ce9155d9c67d0f5e197aed564fee6a12b0c8c7fe3adc5e354397d80d7ce9afc2516b101f67b061cf0ca4842be2dc535fe51bd073103fd57b3872ccebed778cc2901abb454fbc77594e85c5d02e4d0d388e1e3ce0e3ab5b99a321de242f6631b70b44bb32a004d167ec248e6e0a9c55bc01b6\n\n# tcId = 58\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 578e32b1a21efd13040da60f84b4b23177693f91f0655042a485aa72bbd8ab5c9404ddbfd679586e11ed1115784c1d0a052345106b8beab6073258d01758fbfe4dc6c6990c0eaabf24fccb77ca7bf85e7b18ad25817adeb6ddad6d85b7d7cb3214281676ebc2adf0a4e6bbc9a64e1301c31d0c0c55dccc050a798568525bc01e99fac22fb44dd636ea08f388f3ac0c515f92242cde081077e88ac47b13920206834ba3e27ff6fb4ecb7c364d8c70f66cd6df9f0e3a4742f72a8ece5a4578d7f6d54eb7ef24f6a693ff684d0358802d0d842f7ae8b29d934ab657265cc8af115da8b8049ebd8767192db1a876f9412d021ffc7b8e91e2495090d556a35ca16cd850c521b65a28468cd130f0f23fabad041385b3232583d70a904cb3d7b6d7f1781b4267bbe27e40d91b2cb2c18a8da23aa3dd6f82b3fd6e9325dfde9958a284845958f5cebb0bba2ca1f34e96c010251286fe440e6e395117b6e2c7d9b007f13dbfc4d5d512fe66464264e6f5c502bd6af825bd502f8bcf21d1f213ae69cfa68f16449634505a6e965bd68e959d5dd247e0944ec26e4f1bc857f1b46f55ffc4cfb85df6130cdefb147a65025fa6b12f313e0b893815876ab575c0f9647bf69f45f538bf0ecb8593dd6a39aa12ad3420187d291cab553cf3a4c801e282a5db349b54ba15fbfb1054e9aafec5b45ee83634dadb7d7a50af029291428f6556280b09\n\n# tcId = 59\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 9759ffc461e0e342fc0ccab8bf5f71a528e12e368d45c371dbfd709e7a16d146c3b847b2a9a00d54b2eb91ffa080b072a630c0645f2c8c6de2f4f815702a754971651914ba24a9c35d895e747745dabaaf21ac9b908116e56a8043702b151555a9f90b33356cb46b6989a4a900b8b7911c2704440173321293ca6382b2289f859bedc8ba6d160355b029a4b3f30d4205b33416b41e97c2cb5848acfac5d52006ef8d93638d48a2e0fab5dd6d6009e1945463e7ab53809ef6aa7ebb297b5b72ed9f55c43df18d85596bada1b014a5576a195a99c9e6c729ccba224fd46da6f0ad1ce90422318b0a2edeb135b12fd61d0ed2b56be2cda4b4d9819d537bb10079cba8d44eb401498c194d1e9eed31604cf79ffed10f8675ee31d57dd2443afd43d07d55b7971ae50c38b2b00dda28f7b99d14d3f885b70762ed54eeaa899aa62c738035a972d0b6ad1574bfbaf0e8d2fbaefda5dfd7c64e44e5a81f1feaa3c9305013ccbb10af2268c6001d0c2b3d0edbf558c2eaa22d3a840e1cf678de90c341d310de3d7a3eeff1f275fc92119c7e13e9c7f8230da11c9acfc1ce44d1dbf3766cb83e1a335d9b2a51dd2d7c5e9316db24a8d1f9fece9b3e19abee6a54694a0b622120840629710eec4da9b1a1125f0a8d68a3a4e95e8d5de298a308857563add33499e50aa09dfed1ec34c103dbcbe400daeacd8d0d1a526b922afefd2e421c54\n\n# tcId = 60\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 55c9f8533f91e175b2faef772dfc8452afdd8af6558e62d854688457772785a37fb25c9bdd54c94374ce39f25d08ae61d32e42389a01c7ebfe19ad81f85b2680b157ba885f77bc651da4744f06fa06219f791c19e6c65a443d6f8ee989e0112a9b2c7a50f7180474861ccff6bef6f4d625e06d072b987ab6d5f4e49397a1d6ab5de81fa17790af6c20d6cc173b7afd8a986e885db4596d784196a1aa6aa16566e4fd95ea1acca6abf75e76d23bb5bcb9ff77703924c6cf0841bfe20a9210c6b039837765fd88621ac40966a7fff636d8c08d6e01aae0e6cbbe6d939273b41fded42cef520723689533b9c9ef880cec7165b51d2b2661abbaeec93655075e8ba0966387770ee4bf6dc0b5c64f700a1627ddb6444331d3d84a5f049e4313ed3408b3235f906cf1f71cb8a659cbb9d2d21bdb570a890a84b4eda357f5798e491306a146f9e48548567c21ed146082cc827c298cc03c7e9948ce0aade3c663ac1ba599a0aa4794f80507c5948f68c72ec45815b714cbd5efc5cc44b9b8143a00dab66bbf96d8caa34d89508b05de17282fcf4cbc16232123634efda9dd797f38d54cba71f4d0c4d610368f7687dc0d042dc85088f8f8da3ef01583613b2a3093b9f0f67c29120a6de03c92de3fa40078d5145d9331c69ca03e4978bee78418ecfc85410a19092d2eadcea18edb79849b838dd991026fe3bfaac57ffb0fa4992e41af\n\n# tcId = 61\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 622bc03c975ecbcf270d4fd0a81e245d2d2bb967211995550d2599b1ff72b0106fb155b2683ff4b3a61aeefaa4b9933a5177d45374eda2994c3b5394106a021ba370247559fa1217fb401b6a57c0c7f7af1dbfbb73ea8c1a8f60b23a65c1bbaaef01f35c0c950e70f430ebbce87ca13c2429b8e7a99bfc2fd9d563e60c68b0852da2db0acf752a1fe73f577fbd62a6c06f479e8bcbe0f6eece671644d0f650254b0131381b3b5e55529dda85fbb96ca8e7668d55acd5dc08dfbcba9962ebcf9e82469a11e38377d47aa6ac47e9a8985d35f0a23296da33457e3c95dbfeb57378dede44d8be3df8c88eb953ee82aebabd5ad5e632f5f89aef6aa7519a07fc52ed7314703cd8778672968ab6b31e5b371859fcac5267fc568c1339234eef70b22590dcfbb3678f8e91483fb2fda6c62b2dc38c7db4538d3c4673b7ab32806f8251b41be88226def56d05e031b1ae47b7375dd348081bfc34b655ad5181f83f4c7866510e947580c9f79d7cec9a2284ad169dc5c12a135df8f8aceb2bbb853246f9bed7ba175dec9c5f4aadac16c9b3ce74383260c9c71e88ad54161edbda05cda6922d906be8567d1dd5a78191a96c164976c0f6078d36468acc911f4c5782841273f7181be5781ad330d4b371e2b1888f53c26824ac4321efabe3a63a70775ba2a6b123d82365aa08aa01434fb973feee939ddba69d1d9ea0a4cf5c8750ecfb98\n\n# tcId = 62\n# including garbage\nmsg = 313233343030\nresult = invalid\nsig = 48ebe9de8e53729f8eda91b65096655ced00e42b9e60135730e26f454fa2ccfb75ca69fe5d199b049200d5eb092052df1e49c7788f0dae5b1e1fd0b90ce71be65c3078adc9f2ca1690dea7c8c742070449f5f2e381711f64960a3c8af07492a7211c6c4c130b51cc02eb4705cfcc5de189e59a4ff1f118bcd05a99ba5bda03d789f573aa859df0f6fe2e09acb2b48f3f2205d9a1b1a576d10a3506344c82dcf636013ae464dd694c299f6bf3035a230ddc08b9bab222ac4ab8eedfd75cd00ff7574fd351d3908f9c625188916a44a57c3da0233043fc4c20d2cb2d2a02f134764982a9a0004324ac2e8cc68ce7d22cc50fa792923c5582321ec980231bf00be12fe58c942584689d2174260558c2ba96366185de989149b4bea1b45811ca835f98293f6da83325f9f7fc24a67652e2629e8b429ffcfdfb1f5f8835d4e5fedb6f37b0646c3593fc2085d6166202535d16da6eb67bf63c5de8972224356424e230e54710c25d0077927564c35f7898766a6f9c4aace37037c438a6d795e575bed7df883e8ec673dd7b40e801ca1fa943ca8794f3edb528acae6f083985f5fd05b2d8eaecb3db23304d6ca405507b0aa3ea0ce5dc3db24e1d4ed5567659a51aa2f0c32d5653a78a9a3664109b47c2ca8667a190dd5879377e2a9749f45b115dd6a89bd98befe252178f4a202479e6bf1ec5efa3ca4381e66cb2e69d56d68a5f9039\n\n# tcId = 63\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 584e9969bb4b1cafaa2378ffd159216abc171a48487e7ff85533efbb00c31b133eaf6b61d1bc392c0eac00711c2c0a5815319b8e12f0a50c3f357d9fa419df1f1c81e1746ca5f4fb0d304f269f07d4041ebb0906de301a6ab99f8a792ffdcb26ed2fe000f8a719a4987425628e49559cccdaa74f56b3029b23ee6be01da127bb6c7c47067b281ad8dd47ab02ad93c87941a01e3369c7d21086279d45f2cde90faf493933539ed526eaebd254b03a5c5b69af634f81dbf30ec8b9cd2ee5d5638e7b9bb9051e9dbaed1895afd992db9cec16b30a440c640660bffe55621ade0ac1ee1f61823389577de5b76a0b52319a42b80c31f457aa9bf483a9d61820d418d90ab9a578560cf4b8d27ef68c338b2c5a6c7b92efa493ebf792b24218911b5acabf2d4101a62b90bc0d860c66dd871a9a748a4adcf8307f676bb49da703cbc24ca190a2641ddcf7e590f8b93b12ebcedbada2020ffcd25492f1683909e8f63a2139acbae12b9b077f2e327a990503b7ec079d288b23dc1ec70df44f821869e106d1717d384e8d8e55e29143042f91d98fd14f403740d0885f353519f2be192b172d4a0ae3399324ae7620514029bf60d1f80d4d228f3378b6d093729aab9af1defc2731929037b6f36495f764ad7b023517edbba0f9deb31e82456c98f7d1b7aa0a308af1350c17295208515b6055a6d2bf41e9a98f193a5568e9719523b6dc7e\n\n# tcId = 64\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 2eebba04c692db87e21982dab4776e0ea15be89e1ea2b7096225bb3d4c7ff8eb5a35c0ede28f57b052eeee4718a1215d4767b8d31931d52e9afb52e48b493a451f32e1a90564db40bc81ab8a1885b049609abe7d0f2e4ed8afce0f7b7d6fff141dd76a3004c2bd9dc8cd903a2bafb77e8b9524f38a4aee393a07b787c9527cc7f39d2254f10f1c834416ae9cc689dc71dad489051bec16469552714601fd5c059fd076c2f011a37b1ab0acf7fd4729e232e68dfd79ec0b6ee87413ba94ab4b53b1619d760c8473fad0d5d6b6921cc0838810c911e891d3492c2eeb008a1124c2", + "5a2a68c48c72064f4171c114a16effb23e351614cf6bf87e63df60bb59a77acf769924ecc1a7a6cbaa9cb29d69a7ee5721f1e3dfe8820120265195b8650a4c3f5c3fff2c66658a79c3f9e1e9b83985e09b42b0907791f65ff0c46bb10dceb0c16d0aa49c8d1b9b5f094eae440e62b938c842bdbfb0d52340e8b77da5c728574f0a090dd3e5eaa97a2c3fa7c1402768a693c7635ca722d81f101ebf1ad853ed6a3a2fda270c49e9afedeba199cc6dac0a329eaf47a35ca0a304286c5e9269d6d82cf9bc3aa49feb6b775e82a1e474d6bf5b40ddcf8f976f5017018ad1471ad50fa1237d1af971c153339cbdf9b6ac5bd4f348838c94c5d68183bbf81c87f3a362a795a714396c0e2c458bdd86c3ada3b8049b175d540d36b5ff48ea6f51cfd0b0\n\n# tcId = 65\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 72e0dbe8885928b6f14fbb06089957a13e57a87fb1e1de0edcf859b35bcae036a4986c939cd93a67525e960a3863ef32a4eeecd5544f151e6838305cb7cfac7ff9a5040c078fa09b5b6b3e1297fdccf34ee22c69079e912a67acdff40ed543def23bf6185fe12c91b29f73f68baf91144d4298c6200941f7fa381cb70f02d951f261bf1e42543eb82a93e94c50c955e90d4fa70317b1d0d6d6ab771a6a4663a08a6b22248f855eb064364fb7f96d755ea62debc5f6b6f08e6024c221eb599465ffae9ddbb0db1f9a81f6e140b24a36bf16d4c02908af25478d1d5e8f35c2fb088343cb51a9280dfa5d0795957cf62ca1d4c51289e64c7b14ce178ca6ce0baab676c629f363d4a6ff8fb8395a1fbfe85d3de190252d058e2be5f1dc3f8a9929d5cee2320cf0945a82be5e649b83e8ede3a3b01a18259a5b5afc377c36a2b038e5fe5904651619e470a083da069efbd2dca6725c92f34f574d7f5d467453f1802b970211f041caf78139a41f671d7500b1e6659894b4cd7d1af04e6d7a3fc6359430d4680260cdbfcfc49d46d8ff1801eb6f28b32c1cc4278750529328d10adedd792e6397209bd0ce6db0c965df029eb835bcd3b5661b083a4b46b9616525da7f5783793ac5e22c0a58f343aa7b11c05c4ed039e19a072549e31bcbc6bb5f6889d3c28ece7f091b6abe7fa5a2d952d9ac2408127bc46b773b4dedeb78e76bdcfd\n\n# tcId = 66\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 1bd88eaedfb86d2f11d9db39d011b4c001a20a726545cca555df9b3ba46f032dff5a259fab7ccab203a50faade4db09302a5dd3bb1f0d854d96baa47e74e59d42e54b94409a2cb63aac19aa2c601d49821c7a0cfe5f612fc00b5ac3963b19298bd4a00eb3eb8169d06b2c4ab7cef1e3e3504ab4750da995019cfe760ed976f7c996df4a353fb1177121a7b3d6165d08f6fdfe75716c031f49572c2b2981a770180723a62bd337d6a8916447cc25718c19e61122b32ada40a3948d1dc12b8a2940cb16245330e721e251955f3d48c7ffb8d0dba29c552270f5d5971fbc304729b7b0ce405ecef1e38d42a3823ea27cb177e85e8da196d8a07ca9a105f4e6ffc4a857d9a3a03cacfa097d3de68b2948dc29b19cffb847d0f1ebed4752d4f31697fa3adacef16eca901fa058efdc7a70338bd1541e851009916cf49b79b593010986e4042f7855b0c5a4a3fa331209e46aa2c7e6f1f180ec4e1ea6a81fcec25bb2c7f212ac4a7ab23ccdacaf81ac854d7826ab51cc991a1cb602f13e0039abacdce2e565c8709f4ee23ea3b3b23186af7560050676e905590fa9f6b40f0b874fbeaff6a467163a50cc1339e16f79bdcbf0b1670feb1dffc3cf867312861053a2908ed92be30edbd1ac1b3376c5fe7f05e27f56d72b08e7813c597d58ce3681cfbf943ce086db930f82cf0cb6b131169cdb8c57bee130d30eca2deec14dc0cf3b174\n\n# tcId = 67\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 57b03e4921cdc73982de748d94eb594090e998ce4ae520cb801b881a5b6ff9830a28b4419e7b3059e919bc0b27a5d020506f2db02c504b7029aa21a8be8a225ca9acc9472912d00348313fe856ed032dfa2814d88d7925c1f9e955e8ff4fd175b96e8fac7a5c6d749bb68073df1db6dd4b54b9cf87958379e327ea95c2b68a3fa8bd3aea08c34d82d82ac4e425fac275620d29704d3d636a5f6153b4b10695af831e694dd11bb17f72dcf6e72d807d7b876bcba57e49040297a417183f92827c449fc1ab162fc76520a74f03c979516f2ce46e2e25d07744ed93848a2bdebe55edcd978ac7249d0a61cebff1af4611a163b810c29140c93f05781b613fb046d87302ab6bb9ec68612c6e61481984f09eb3b57a80866e7085deb66130d24aa74bc9d9b44d7bd93e979c50265baa9a2528e98cd42668084f0c6d94d3740aaf55b66183d2b899808d418eb18e1490c7fa1224c870d9236e68ee071191dffc084a6590ebfaf7d54bcd2c7f14660f73fdd57e8339af64cacf159081bb4ba2a158b0c2e4795ea140383e4a0edaf6126721670919bba3fb41b4eff070608d364c0fcdf17c983938624d2eb7244a438a605a87a45374ddc6a5886a5550e5e2430a29b956aa24f2a217937ac96caf55488d9bff9956f41dfc00f017b9b53ff2ac77e69447ff53d0211745f0e9f91951e6f0b148f0488f88f70906c4606b47a6e6490be868\n\n# tcId = 68\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = b67f4a92151f8959f87b8c02ef7dfcab2a34f0d185432b277587e06fd14d00f580f66453ff4bf9e82cfa4fd399fef899f868d573b4dfc75b1b537a3d899e8064811417b5df57e02f8909b6fa45aaf40793a7b3ea3bc7941e785cd47e38c941d3b5976fcae196e6448646eb7d3110bdde27193dce9a199137b33374390bb6619096d219713981cbc199eb427de73a715f1e63e59c512c74d386b60ca716bb96646526445364205dbd102e05ef53d552ff293603554de2199e470e9c5db18aa885efc16771be1b4af38ef6a1d08282554afd5fca4f7282dbb07174843778aef52c70503a97b8f29acc72ca9becda1bf35ef6888c50905cc49d9747cc244eb3f023d822e977eef43e4cbea91993a0f9c9698ab45b21f2cc6408a55aa370662cc0e6238a2c18f77cb3db699828bce9b7a782b5448fdd0c1f9cd18544386f863ad07531385b9a2b5619672f706f22ee3dc9a20658178347135e9d22f141c0b759c3926ad8dcd9283a19c77791324a94f9200d53e0e7de40fff54494803559b0d72f5bb8f8a7903c8586c8e179a1787c8653bc54a3d1fef1dfbcc8e6f7efd460e5b255e759551b21dd72d4c68a73be8f7e5e7eb94cf3790d0aa5a2406e53e67b4cd32bca5d57b463821441b7d4feffa4894a2b1a1db26567256051d2f195b5f8e7ac676706788093b222e5617455a4ab45f291ed2382f12918a4044a502598d23b166d\n\n# tcId = 69\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = c69503be9745fead30b4fc7dce08d8c6a0178754a15f805dae455ffe8f33262105017502235f8ab25c13d63b42703d9fdc272beaf4f9553f62832203dc1d45915d64032496749eed244b798580e3c2594c0cf3d100e9c600912dad5d777708b0a883490b28e5922c6061458f57730eea9c6b61c6c6325a7c46435b3626cc9d7d33142ef75551a12e644b50115c4feca83d69406482b0d7d4e5ade8cc8345575d61cd7cb4e9bdd2efa07d2c998e2a1c205b54445ccda6d54a885eeae9fea3fe6fdeab8c9ad58412cbdd2a3ae4b8290bc792bf64a7f36f8574f22ac8839a7c4fa68c23d7bec8638c08cc7b501ff0652b272442b89692a5ab724050add8cbf9b229f50e75ffb88b07c29f3193d1c90bf4973ba336f70b06830202ea0dc69fa965f4bb05bfcf9c1e896dc832c8d4fdc98242ef26ec72df311d011a7aebf850efe276fafc7ebe3b7de020863e9ca1a3bce423302f47487b17e24ce9305d98bd2222d27404ea8a2d25c688c85d0640d96c05a1c2b49ce27abbb7ff0895b3fa75a3d649a2e14872a2919004f6a1a833b8a15ca91db08d5a6261f63fc3c0cd8e95aaf78c328d60409bdbcad741c9858924a844ae55a80e1ece9e9505ab8f301d9b8ab6a5d49f90fc46c09eea0d3b0ef7586536712dc695b2b1053880bf6282344098d6658a94f9d2c81d931cd1d35441e57f1c24d85150ac37b2280033f16bcda1c4f86c\n\n# tcId = 70\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 727998d4a172ced0ec2cb6d2d49f766837c1dfceff9fbd35dfe9e357a4b9b143c4d53a8214a39000467bc8c88bb3582633d471fdecc58c033bf3f66a29b893cf4f6777f58841e467b84c15c2c5007e0c322b0a51779490bad134e905e83bb90c13a2f0425331b97197d6485f2c4c534e3262f78dbda5a5adae63901504fae86d25ab579aa8b1a3f2451d1b8a02c2d81f425689c34cc9abb8d035c0acad50f2d166c58d1fcb75c251615e48741a38831da8124d821b2a369ebbf7c06cc5fa2c78950640274675d1ac38530814c4b0642fbc895f966bd7bc1648f526a611a979df403672b29d37786281311d9d537a9faf74020b8af03df4bea590463f31aa9b5aad6c602642d012b65eb70122a40e93ac059d25c6f7ade43ca1257bbfd17b29b1cac1ab46aca85213c9399e9f3c2bce25b9709ca52d9be29890a409090e8d4356aeb85751c3a8d85a6f49e498aa63e48f6fa08754711ae2e849dda0a784b29ed39fbc92cc54c2027b2912572da0242d480c2df0a347ca68f4435405c14fde7e07ab61860924fc9e2f0b123a7d1dc9505cf9219ee2e5fc0e3a40240cb9398fd5583b48971842e57227adf50927c7b2ce06fc52007920582a7fecf2a5848e8aaf44be1fdf01b39e833fe2e6874109154d321a00218c37e368c2cdaf2bf743fbc724b2d4ddf772b7dcb5c0f50aeaecca9e0351b93be126ff4f8653df60a21765c71c\n\n# tcId = 71\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 0a0cf5f50cbdfd0571c75579da50bbe83c0f92f154534ad5682a5e4b5ea7da1f0b6967ccc0e228d03a0232901493954451713c76daf5b7a550c42ad6e9dcaedd42c6212c20065b09b2be9bbb6d8479bac00393ae00c82313efc6fd3de3e3e48355e232be62c89ac74077cac1fb83dc7315723d879c9282056ef53b2ebd2570b517c498f587eb23b7c1d84cfa7aaffe4839d8ca39acaf2156425ea49134b41d4824347bbcdf7798f7d56009e8def5450f9519e3520e956357f11abf364077c287ec249e54810757300bd9b5c4b525a998b19247d41301bfe3f01ef89356a7322d0b3effa08c7b6c996194ae6b154ab33a97b9b35523314e5f5c8bc130fe2504fe08316449f46dec845395edd389ee5672b5e8e3360bc54a6c45d02b04150e86f695afb6537e6d1000f8e7c65cc0a2fa1fdcd8f823e5d8d972a99fad864b9a7423d06e8d4f5421e439d54e3d250e807fdddecdb65705d98e0200026e1d46ae9461534361ca41f6c68e126992b177d9692ecc7c77a68df09fc74159d382e9943ba85a62825f700ea3c8010c385e1fb2f4c2d1755c54cafba826055c0a4d2a2bdb2093e0b8f6fd009d448b09806ba4a3714937c39a23370e99f96bd293af486", + "674d746faaae76bddf56e43f1a0218ca64891d0cb1ad8130ea80156a32c0873bda12f372ae58cdc2766bed53dc27d81e7f16487ebea46893818b434c7c9ad4e1a60dd\n\n# tcId = 72\n# including undefined tags\nmsg = 313233343030\nresult = invalid\nsig = 5aa65a18332c2b515bb70c97059bde6c6cfef26b9c7d874575dc2fdabbd1176199b208c3ccec06bf52324a0cf13222add3b65011bf54338e139b91602fafde29d01df109540c057786a20a211283bd87b051cd0c226cc6d5539048a9622105379db015326cbbc1353da1ee4575b5635784c67dd9fe2e464a949f84f9926f7102f92b2a3109a77785a05416ac162179ab3ea4425755c61c5fe04cfbf735318415cb17f45c90f86b3ac7112698a0efe9e903fc816ff08817e62d645437359781098efa9b34c0246b3bf43e10233d55b334ced1d9a590fddd1190b9eaa56855f464d8152a71eea9dc4e9a82f021472b84f34b48fb418a941995ded70529149acc84d50880a8370e00f7c9817b86ca8d58991fd517e3d1123cd46e459c13fa1b07d42c64e32e1855225739b4a29d28e0c550db2080d1e41451fb1eaa55cb69c7d7ee0677201bff841ce0d59277b09daa91aaae042ca730d2e835371d6e1551c72fdde0466188278a651178c769769c4c5e83f7b492bc01c94dea2906dcefe48473da6e00b47823ee1440af77f058b0b3c53787f26ac1879ca0ea0fd5fb4dde72cc47f22fa0897b8ebb0d594163201b6d1e565c6a9070abb42567f65f5d252b1ba537c496b2688e1dc864cffb8863727e5311daaa0ec54397d725b6fd88c5f10c76dd4878a8981d864358d16764d82915064c1df1d14edfc0217ff13a367d8c9634ef\n\n# tcId = 73\n# truncated length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 8901dfd3f87f0a88bd64a6dca03f9b9143c12558838d7c4e8e8e7683f0a5fe4d89a6e92898ae653d7d54ff54f388f1fe6b3d7199619993fffbbf239a46bbd76573752a20fe645abd67856980c541ac70cab0f61bf08d35230d1c3dac05d2a109ca3695bac4525fda535baf36263856fd5060f95c9fdbd84c23f37fc8f00d9c545d491e33c056b1844b68cafb3d380563a9d24bfb85cfb871c81522cf70afe2d872d5cf98fd857abb68e14144651afcb52d3aed6cafbcf8473d63aa37732c3d6ac04439e0bdeb8708758dbbaef40726733c65a0714583ae97e9d61c7d59fc03cd5a8ee0201bf1e20c75c4d3a55f7c959b6e6b37168a5ed527d50d7ab4312ab3b4b20a57e8d4e1393abb77bd898bfe43385477850580a461a663f5ff587c67b33f2c7510833de38c2cf6188e52e6414884d10131fe66c0576cd0f786a07ec47590d777a9ccca9b542aedb4995da75878c7e56605396538972abf182148acc26f7b2f7b9812c09efcc7150f31e661aad6136a6148757a2a06661821848b2ee0bbdcc158fe0d7063a7cd7e65a519a0e97950c9cfe2a2550aa1a568b0cea62e16a9f96d75d49e4b0db0a9e6041de753dcebb1152f51b8140bc3e567c1fac0a5b37fd9ba91ccde9bb8c9d6da2b82f22d10137e78de24fd2ebb7a720d55cdf5e8375e3cf903aee907ba530d953c52f236b55411c082fc956b16a31a321d714a67e82a19\n\n# tcId = 74\n# truncated length of sequence\nmsg = 313233343030\nresult = invalid\nsig = 977e0e6d0d2153c34a30178af3fb99efb9edb76799ff0b1669bd0eea5b5e87150e84e5313a921e074108cc2ae6cbccc6ef0e0219af4f226a3e9e57f0a162ed209feffd5a89e65716486bcf5d6a79bf926edfacda0bf4091746345fdfa7d688aff90d9b3570185f664d94e5216bbe0de6143480d7051a36306ed99599631efb6a916e61cf49a03d10aae2317f758f1c4d1c46097e161a4ccf7d1029b4778645d5cf5e8d022681db62ff15c3854349727d7f65df9cd24f5cace6fc0fb131571144d24866be5509332fc77c3823779340c95637a003a549b3a8e1e90d8a3502e42cc355391371b09946a2274861a558d90dcfa12e1021cc1b98e96796264f7bbae5f6a3080ddc498a8e810e112ce6b6bacfafc8326e92956618886e2d3d4081a54339c895805d9242b7146f635af6c1f17ae1955f7fe49f45b148b65fa7c616cf48b5627de9f08c609575ec4581f0062f1476076b359145857325d19c0c22c30ceccf055dbdde9b562a1adcbaceef8429a44f62fb8f24a512d6ee70499bc3921f70831b57a15d7a3c023b18b6febde581d7ed5d3f2d587a4af0a3ed1f87be027a1cb7cc171756b170a65ae7a1fa4da832dffcf7efbd37cbd4d98750d437377cae209c51c049fbc166e381d4f879cc50a5dc3b31bf7d693c0d613171eeaf9e2572267236b08b655e4a068826300d7d92d370bc348124e63f8b871fbab0b2d85303b3\n\n# tcId = 75\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = a91c56df4ca300b638c505771bf7b9ac3ef866ef9b16979ea0e5f691f5c91b886bb4e3540be2eb3c5dfa7a6ec11c513a62036766dccf50a36c058a9d06dbee640c0830bef3e50747ad7de9dda9810309856bcb634043b0907b7dd70f50f49b8fa35e2181c4a7d386742639f049a758b05e8a66b5f41756909d8d7afc31f63eb4b03a346e3a79d3ec22ffcea5c01632641e469c441951765eaf41c09f5c7dec10f7aa0eea85cb991428c496b67880b3ebaf13397878af0264a4276b08d85eae131553c6eacda05c5cce34ede7e5248427e390af8434e567a8941aaec4ed57049df79996de2cf3355b7b16531e0bef7ab3a3d715eaef6fb19d5e03c755cbf9dcd1a1d8ea756c6c75df8080963a9bfbdcdb551a53a7f4ae14d9469d93f92a8a509a687e96ec567176bf2c0766f03a9947545302b750d8901beb87acc83b6eb358fc1b82138741b5d33aaa7b6186a96f78f28d1e83aab719b6f383fa2e56062dcc50aafdbac7877ce8c2cd794e72d07e6b10555e06ecdeb03ad3de8f45a65b4a654ea3dda0c8bedab17ff55768ea45b17cf66ed9c00c8156ba86c5ce0228d4e5996b0268f3e19c75f14c34a3327808015e46cb347e892e88429fffea65b295eefd007ee77b533fa2be245af0bee8f175b6170c3b9d85cab02c40d15c6aeb7651c325caeba8fb17bf177b38d0a06abbda7030fff4969c11bae68d0027a79bdae1f340\n\n# tcId = 76\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 563ccc0f74bc3c6bd12af3bfa0a290244bc017a3b6c452eb9531906f5ab092222dc5eedfb06b129ccf1eeff16d5f3a241be62b671098393661ddf88d1ef751e5cc46d90118334961eb989b8c6f1c38f806fe636c1f8c1961604b9cb3f4275d520b7f037b4c6c78cc3162d6cf3caa589af31f77a8edae1489ba86a2b36652a84a861e34f480783ff10bb3c9d1bd0794abcb77b785a9d214eae906a51e2d65fd30ef722bbc687fe8eb43df347f9ede204ceca53f7ee9525b5498d04233df06631706acf65338a88cdcb9201607ae6f71f830653d6e3d320a362248617ebab100c6450dd88cbb01c6e3bdc183b8851e2cd2780ebdace96eb88d2c5672b28d9e77ddf9146b6ca17caeeacb472840d0e965a038e08e437b0f8a1402356bd6305aaaa9cfb8fea1282feb103cf3e2014259513f1f43316a5610d767398eca18cf3bcffbb1ae179df35ad4342d89bad741db6cf2f0fbcb08ad857a738d306c651e6f7eda3f9d0eeed6e6d11df2c0398b2d3e0cba596fa1891872021c7fbe6c99e0ed545f147b093397b2727756f1a0260a50fccab5ac17cba2926ceb3495a11db8f1537ba3530d0d428644ae8721c67baf87bd2788fbde87c7c907860c277030d3141a65c57df025551ecf385c12da746ec7b594305bed042104922751eede193dfc9e1c9fb4785bfc622328bdfc5607dd21a6817abe4c941f2ffb63657f8797e3c84973\n\n# tcId = 77\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 2a7439f30d8d4600ba553f9100b26a2c5861d5d5106410b369b94801c262d124a262fb17b448bc14114f1dd5c24c36e0d5528c4d617093df934e0523f4adaa4e262c2fa1cfe59db2f51336c627bc2e2a11b3022bdffc649de8690aa22fb6b96f90f7573d0fe23ff65d95c81274543a01ea654728c57b64c717f0767b800734aa84af805fdaf2d04946303c80286a487b48638b8972e49d412d351b9101bc435dac70f28c78dc1d79986e9a8dd64bcb11c8fb3e90d2c036c5b74d22157be15ee1ba291b97606057a5926b84eee13fffb3c8ba245f153d47b48d836828d71a5bcc02ffb12fa7ca66b576d2d76f38643502c4e529605f833b1d0af3bc7a58f20b5fabe63de399693b728b3b35db26ddd52f62bf6268c502cdffe883e8485f4a7c60e438e1bb84070c7adbe021a6380989a76b72faba576d20c4333879700e5142522589dd2c49e539b7d49f1293634b18f594d3f8106687049cd4093f442d34654e82f20bb8c4b252287cda4d9e69223e22e95a717aa5008bfd232ec5e2b85c92ec093c6ec16a7b043aa5a86c136a38dc9d1c7fabaee3af9f1b77fa4f4517c596b129d8fea402c856f041af5f98d235ecf2e6894798a857fa3e295a4a63c4d5d7d5a5d3fd6452775cf512ab4bbe7355f71be5c07449e0a8345bd6c3960a999c3c3ce6681071f5078f331619a9f5283e01d184782b7e1393c8291d0c409094d45b84\n\n# tcId = 78\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 5276a6fab88bd401b451eff5d1a669c405225e90450584c5d6d2e4c05f715249900d10679fd58d736deaec1cc26b1000d6d0e60afe374981790dc850af0ce22d1e51946605783e37e8a2e899a607fa2551fa76ea9b20780b92e9b263be76e8b1da9a725e58b20a34e5013ede41c8601b466a7d693ea2b903295f0768fadef5c0ec3f0c83f659fa2db43fba1986bf3c6c7bb8bbb851905e62c4bf9b0b8f9029edf9f737ac3060f252cfe8c46b4bc4dd58f2ad8bb55a89a0989d9f2d684ee4934c1bb6859d17f8077275ec229e8bea6ce9e2d9383c2b89109380ac6335a46017bcfc57d500e5833cc404fb81b25f0b3ba28d71996a345ac8c9869167521daf8af6c89e130bbc27d55869717e5b7e3eb67f1c6912c6e9cf262544ac8d7b76ffa24bbd078c12c09f0b26e4f87aa227820aeaf17102180d272291d7c65dc40914f42c026cfdd5bc330b8d0d5c948e0c93f4beff299872f65da8790a9ad33e7a3232220b684cb8ea87d6855aa4c053c98fd20830dc89f66dbd1046f816405490884f97b9dc0ba5b5c2e9c8c0cd5dc13a156edb25ac384ab16bd5921008e823050b166b3f727efbd7f65d3e4fe741dec24d7e95f6ba707d5315c71749fdbaccd16b6e98a0cfdc456257878a2138ac754ecd96b76b9b63644c3c40a31f5553a0dfb5ce7c02ac8b9875a0a24b0f9b655502af4d5c5a8d714fe708f0e1dc188369a07f927a\n\n# tcId = 79\n# using composition with indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 8e96d28c66d90a67a5f09894c5b2db57b24cc18480fac7132ccff9b0b0da5f3cde652a919a7d20270083bf5da9635cb1c1e4927b8a2238e00c7e828c9fc251c8a5d326fd8e4", + "6f08ff6c36ce4b0a8b368806612e3172bff7534b2a28b365e4f74fced400efc93c1d4adc7483cc270b9d1f30afc7d25430b36e2abe82e3220f040e221483447f6d5b153eeaf137d4b2f5102a07e4cfa336e53e71a624236e3def136b479190072a55ed97d15be64bd92006623009b34cbd5197a3d57318c9754b90b105b3fef38db1acc0b8c3325581a1521371500bea1c1f5212d95f3def741d96e3d5387c4aab64b0a0f584b33fc00039e58c526280cf1aabb380c66d3b191ba11ce20b73944d76a50e8547fdad2d3486918a104c4622a78493eb1cec2ae748701ea5329d67814f581c8576149034e655c9d230dc72d93df0d37a0a4b23178220ec2a22dfa95f99ffa650d55d73c09ffd95fbed23407cfb5042e93a2baf9074ff85cb0efd306e5ec0813df08677dcb75e0c067559760d310a17c7ac0249c5193ed1823821b210e100b130909c2296b2cb1feff4e58f58065e8321515f99295d93400c133e528e44e659530e17b8b92156f151e49574774ff3e05038a31d6ba247efec4feb0a1efec266d5a90d0643fac6e390b37b26ff6e83c5f5aee67bb9c229b8362b50f4a10bf37d47df247841a28dd20d6d10934f6204c8681df0cfb1816\n\n# tcId = 80\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 685f47587011d1f43cf865c9ef73b28f633f3a93aabc67ec69b6f3556b78c86e6b64409652b936d327bb1dd2bf96ece912d27b08899d11aa7dc9a27988d8dfa61f6ccb87084e22425a35dd57a43be80d508c04bc8fd18bd0348c790b1b33b6b84d9ddbec598ef50b739e4ecf1127457410ab2410e3164f313fc185f1d07dfecebc543eb5a9ac30cffbdd56d183c63efb7e288677492aebf212241a492ee1a736dc2d9e31c0200630d00a42b808d812c660ae2b4700958bc7f2f8223dc5ab0d32c788be311170608dff9378336dd152f4705ec687e75d4beec24c9495d801c3dce72fd604c3ebd50f0b7b6095f54cbd6c9b7a167a76649fdf98d627ed94d1307463430e4ddd99d4f79221fd0af76f42d94f5f472daf0faf63d9bd8649cb998f7be39388b85b5e0af9a3cf71fc8e72360f7efcd3e96af14601fcbc2d019bf4cb62fc9d892b070e191d7d68553a01fe04a3a46fce2ac45220e40f4033c07ba794bcdf31d90ebfeaf2da93f2bb7f51e58e884ac453e2274da963c60db990fed394f181f9578f7165b852ae2a9bf51415c89787b440f358e7774e6c8f2ae0a52588f13334cafa9f71c4262016e6995a76c98d5afe3e62bc8d23bbf62d3f2a3ed019165004a05a16c074a021b1064909c591e84c4a547c90de53e2bdfff68ef170660526708fe788e4b1b98d136295113112ec13f87ee3ec3f2590bcea4c34dbfa6561\n\n# tcId = 81\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 1b68c793bbbc11aaaebe1b09036cdbb4b754b5d18858127699a1091714e6d07687b5d9ea9ceb4d937c8c09db1f919f33a319bbbf62efb506aeb085387632b9a1a016061f0ab9aa2b717c4602c5996b42e312f04854ee21852ad9fc9bcba137f59c981864b608d82fcd26964df05832983991cbe6bf74d09d851f95d13650994f56e8fa3204bc8685f16a0e7006918230a30f025547834145774758cec92d25c1b75fd143e4166c255aecf9af8189b90bacb4d08655d861b0ce2d58894f00b6eae3395a1d692cf7091f43885ce8220c5a4ea8d312625b650377238dac43da5b8ffac7420991d00b70453fcf633b844fe630e798b8ded1f27bc170ba0e7565a85299158bfd9249bc5d006f3ae97969f18334290b00c284c8a61ebdb1bc8c78f913f724f308c6f34d1b36ffef06f09a2ff5efe4e0f1cc6b16db8690ef0dd07cef88cd2b56c25cbc76d6ef2a0c1c7bbb5145eeec4ead730faea578f98c6fb30a4751fa15dca5a09d353c7afce7d572b8c725a8cf82386a3fe49c4ae31227c165a93fb821a93b47636170a2e1379ff57bd4ec495293eff1e0162ab6926c787005723fc58fbf3f4b23f466eebc1916c3d2a7e99a1416a06a3753284f02f4066cafdb9f6cd739fe8f34e49737b2989b37c4a01ee133fb41fefea2d437f4814f5a3ff433396800221428e420692c8d70271755234bfca374c43b331c20e3d8c77d11863b\n\n# tcId = 82\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 530e5a01bd59e922ae4ac02a57974759da8bd978d6331bf58a522460a4cea7cd3e78c76987ed9bf39f5e6e0a0127d950c3de95e3603fd9dfa9d2f8daecc8f84ede2dbf99f29fae1a73da64c6ea602a90a529d9da1d8b1c2c1575667a7ffdffb8347dba3d13174f63c387966b3661429fcfe8da1f3e3287769b5826be0ebc0f6bf04b47cf5f0e6d9f494f6073ff7533131d17d7ce859febda32f8c639b9e2a7aabf0e82a3da62aac20864738d215a862c984343a639d4caf91fde8e4289bc23c65321dc387d8dac38765e4a3bfb1b7feb6360fabb62b97efe71c9fe789347187562ae4a6bc35c6f842f7e8f1bda9ea31b39f58340b352ed31745306c4cb5dd24fe308bafbf1e654bb8898333ab6b2fc96ccee80a50c44bf8af4f77f2c146ad5f552b893c2a036e3e7e64b1e6f8ed152ed1ac66390b1b828ea9c43645d7f36723c111cc56a4f7c973c0ff99c460e3f82169fe2cb3d30e518a38f1c1e2bf4bd113b85a30d26d9ab03a803ed4cdc59fc7f16f095a84d663eae4a3b1c3aaafad19c2458528cbf37ffc46d5b1595422210c9378bad7ecfdd222260f12a304baf3113e0a20d40a1202de6a2f5b8d23a8bb2fa12aecfab4d8c6c402ac417f6ddbd27e17f4fc3f5349b97f5363c9f74b5200d8e96e1d38e08dbba1a68b8d09f115d0bd277c39bc02ecb13ec6ee590d0ba1ca3effb97021a4802e2d1ea47d58cc494a68f8c\n\n# tcId = 83\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 26bc4df6a3ac430e14349156fa87159cfe3be489c4f4a3bb3ab1e9fb6a24224bc08c8fc68d31c2dfa7bb1eee34486c189cde443569fcb046837278b85c2a3dd5d79a32ab234d962d9c3397901dc2cb9a9f2a4efa607b2d664974fc0ed8b21d83b6fc26fbec342aa000e798b398da25aec7f3036b4bf5b996268ca306497d49f94c29612fda4013e51bbd5f8ebd7ed6d3cb9651810f1953a0a0d91f21d23d2193d9124eb7b993b92c3f39b4b2ed75b9a6998899a0e627685244d692c9bbfbf57a32d2075066e26693b66c2d6abcaa06349610a30b9e365bcb40563232f5a618975d70b9ef3d2e370ebcf371e840400bc59cdb8ed8816e21295378668349f9b6872ed38cceed565b37d67f7cc53ef3048b4dae2ff6e6ef05c54f08da2b25af6ff8971b1e9b56eaf59312a82e074fd03ff310d2d063fd604807c2e1c9d8d10f1f63ade7df27f0894daef9cf713bc1900b8e9697bbd19c8ccbb6f7e608cd751f6befce4d1672190beac40e81feaea5987e8be14ef53f95af53a766c864e1e20922d745ad3db7fbc03b0889525a00ae2e748a9675628439b5967ee7dc3f3babc24f4497744940448806af9143b552a304a25f9112aefaf7dd32ba9cac33bc8c3e77f7133ad325cc83a10a2890c5ebe73cab87e756e16d7f17721af90c927ddc53d448adec90932dfbfd28c031e497953f1b75d16fc59f44f232eda3c6d9a05d601b05\n\n# tcId = 84\n# using composition with wrong tag\nmsg = 313233343030\nresult = invalid\nsig = 62f48629c7a24179701c9c7dd3ad6573b147a46ad95364fe9b061f1a7a53f22ca9c94b628fb114ae94219eb443ce43847a948c04b9c9e865d06a508eaa53ea6e95bd06c0d678a99c68eb5d637e1348669853ed27aaf9eac212e10e63db88ee4ae572d71bcbaa9559ee698af1464e8c7e06a6089fac21e0f44673b59ad886870556b6aad683457ec4c8000a7213544de10d493f70a67bf768472c06a4d8d013d246cb6301c05d251d06e396297510bbd802adfb16c44d5667d49784f390cdd51a989227db8a0547b70139cee85fb98405157566f48df9bd99fc93f05164a3806a7a73225b0369b66b1a5b297184ebea4bf6e6d003458da70655aa78f936236dcf096d1bf2afae7552b42cbfa127343ef081a8a63cc65f2075b33f01ebde0c4c80306b36a70657becca450f3d720f5c0855a827e4d43fc2a12512f5f19301ba404ec46814e1bbfdf81e41dc03154283df7a10e6c38a89d2e1d1c43a71cf19edd6e4fad846ede85d42faaaa84c1b5380be55933200ec463f149915d65321cbd21ffd57c3afcfb84832c9b81e654f9a402d9c5b305fd3bd042e99a33dfbb4e3d6f441ad9646bbfb8473c9c01707ac4cff91e7ba9d5996ed795a1d562a174cf117b22ecce7e679e474e1f7e2e305818058aa85a80f87efa5c2877db870e4d784a3446802339b9f8e1f09e6eda2aea8c447794ca16a814bdcb1877c29a5a0e99243f70\n\n# tcId = 85\n# Replacing sequence with NULL\nmsg = 313233343030\nresult = invalid\nsig = 1f40a467924354f3025b37a3c5569518bfcc634350ce3f82ba8ba961d2dc9ba4206cf8b99ac3838e24c1ad80a8a967a7224ac47d3b3b141bae6b6ac34e2d5e1c65305038ac88f83e63e1d59cfd3db23ebdd8e3d32ac2a8c57b16c367540e2eadf9ae41a9fe284e3b0a9514557d468d17883cd55f741fa03f4ad166cc9b40b96eae4ce3546264582281562357d66942d09aad87d739dcfe6510295d08189562276a0cb11b38a32acd0b4372fbcb8ab19ada423416a99173205aecda49447d0d000cfbccaa8ed870416a1ba8401ad61cd94d4e99a98c4789f7af5afb24685fca9ba12bd7052f69517b3024c3b1fbeac62ac04a4746731cfe00948acb95aee3ea746776a90c7a4a54411432adbecd6bc239e7f629f02faa24e55f42bc15ca566d7214494577611d173746ffb3d59adc68fb3dce801993f779a2b6cdc0c10cdbfe5af0c99a2edaa23dca3152585221cc17ddded8474dc77954a6c96c5f903d179bc00603c6e0c9b809ff31bf31bc4d91c1973d29a0931c8dbdbb70ed09730f6c8274cc43adb64004bba369b1f6a9c7be6a49ce36a50121c342b1ac60ee51e89b73afa1afbe52bc86667a89536eba90d5cf036849bc2c26e7c45cbb7f919d3c7d139a3c7c249c0b8943ddb1da3bd875e5aeb917a9730cd20c58994e965f7dc35f26d35642e08210a82024343289a724709c9eca3a468b5825f6a13eb2e22da584634e\n\n# tcId = 86\n# Replacing sequence with NULL\nmsg = 313233343030\nresult = invalid\nsig = c3f770ae10c10780d0ba92c89a1fcfabc248c0c4f8cccc3c6fe3e2887b543661e946c0ddb982d5b7cd89ae430058cba9fd40a321641646e590df3a2cf86b9645e347fb368c6ef5695ca8d2e9a9a327fdc75ae0d54010f594a050c9be6c5c0f60a4ee41f29191f7570f6dfb2d17d6b0933a22bf7822f520b3cba26419de1a91e39fbb12a84bab08ce9b1deb10b56e576e7be5dd9b746118ca8c8d991255bbcc34f9c7ba317f5e1190637c585f5a4f10dd037a498176b7d84d33a0370da7f834d443dbcfe1e5f502f09a0ca946eb4e6373dce383c9ae8714a5ae45ff555ba407405057d60dbbedb0b9782608a92f0710547330e842ff95533537e01272898f7a4dad71d4099b372a504a0e02", + "770efc85190e0987fa7bc49a3ae482905f47d23260a698842c1d94123c79320d042c8f39f5ab91c241bc7ca834aae345548660617d0d886d89cc91780e070ac36d67dd28bd48109dfd69f7229077dbf490467ff14b6b57dcc05c3e46fd8a2688f248011b539d2fd5dc2b217a0b41d57fe667b936158be8c91c0044c688e752566a383db0525b9a72d9059b9d2793cda58dc9980ba8f4c3557304d991d190c935e76a9eccf50953d04d561b5fef7e62b1368fbcff1797c6cd6768885c9bb98e6876d556b29a54e7e535df63be53a4f509f5454d492bc92be81d1bb68516e35dac89aad54fb10e286b012a0d41a04f75860c7e03113b\n\n# tcId = 87\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 339ef221a9520ce055fc25955bcca1c6565b3f889fa1c2b2f078923905e9b6e950af0977e5d81bba0d8e39a5efc6a21ab6e6c942ea872d2311fab297d550d8444848ab12f920affb56ff2f70d750c3fcc4d5e0e8653b9f8cd1bc1a44985cd6c62b43d2b59e1f08e6a807e376295fde08fa32fc6ab25e8668a8bbe72c8e0332f83ba64e635f1cbecb0e06d548f24821a673a8b4600d45506a2e84fcbb57bacb0c47204a4006b0a5ac3d5e2677b01ec4b1461e4e862232010559dcbd177ca1c327cc2179b8c62f4b84c2bd77b8115b221ca83a1664daa100c060caf945dbce345b1f16c4c95f3fd8fdda21c1fd274b548862e751641d0152fe2be7f14e168c911c0400c589a6ba879995d017a31535a0dea22d29d6df8ad7d3f7e98c5f3c9a6c1a29f4dfa50002e59d39c9a46e03350dd2eada66f087e517dade0f72fe33ebd6af0859fb16d945aba9571d8e263127f633d14c68a61da09cec82dd75226388ba86c3b9499e6e5ab1fd34797a1f9f4a054d9636665e7e54442b24edf93c3b9e59119e15e0bc9e6d390aa42f3fba32b3c2dee6e66499ef065c0a0001b489e56ccf082264f9ebdb9ce1fc0c2de37c9fe81ca2c8071ea4e79d0cf70bbaa64e4b07af3a57a54ed85bcbc21cac3ab32ff623f38cbca65df1afc17ab5f6c7e7e54d67f8fb768a8c4f32d1a69b7b0ffd2ebf811a72219a9b0d26778ffce5da7cfa53655d57\n\n# tcId = 88\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 1ac7cb7cc3dace7b4cb1f0900ad3e3d0b246d19095bb39c2afa0965995d5ebd42a4dfb6bf8931f8f641adc2eb34dd714b1da21c3c64bece5d77b3e2e5a7757fdf885ae0a92afc7da4965cc4cbd83cb5ae15d7d104d92eec701fe676a61347f11d0afc1bd4ff3cccec0ba5bcf47615ec6f4ff6dc5d036ea64aef6dabe6d47c2252095f45f9f9165ee591498328131a379cea3548f0e403d4f859dc083124b67171256cb54d6d328c206056bd00e3168b1184a8c21704ee9a4b990221c37a524579d0ce74703be382858d921a8d8afa1915d6cdad89c753d828bb8afebd22eaa0298470221260fb7ad9d3267fdf6840e4efe266a26e591b55bdc742a8605debe986ef689f5bc9a0c131317f06daa631712c5c33a604f5af4f6e023bae233a74dded177d6cfe42bcbad3a82468fdb7f60da8f4e11b61fe1c635e0a9ea0eeaa8265344a75e34d66d42ec85c817d86686d0d0c19d8419ecbb119d023b603ff48f22e39bbfdfbab66314f8f0e3f22e750b873336c37a1612c075fe7959b28dd39362749062afa4f57e08ec8dd8781f878fd5ca8707b07417adb72cfbf8fab72b21faddb8a1be9356227f4738f56f03212f4198c2e5ad0888d6cff60796be3e77d85425f666c7ad8a2c684257b922aaa6f1574d469a6a7f9840f4851454f5772161c8509877c6f3b6ac748a56a63b0e4d8e07942efeae3fd88d239cc5341261defbd83d\n\n# tcId = 89\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 272f90a1f74f89ecd56326849a40d81bcb2ceb3cbbc7f961dd3c2a86fa187137b913b034012546e518e8cf9c5b07ce126435675f1f9f543e49f470a9d75f129d089c6c8aff33d19e51101502ea903f7b271817a58abe086dd8a2f41ad3aea277f17e26d3932c0fc0bfc506cdd19cd86cb41670d202bff6d55f413036c94520a197c12b58c3cbea1e9599e2ee80e361dad7ca71439a5e000720d8b0c979aa7f37e5637800f23fcfc736f8a9f687e2cdeca40936caadaac563a1a66c61b6e65ea3a251446ff0c38050516396aecef1762eb1d821b5c3d1a8dffefb29a77a8f680d240dfa98daea7d514216fb9dd5a9aa4e47795e6885c876b446df905a690044a85e30bd19aac5a32aab889e12663e5d68c2af656c12815c27ca62d28cadd5a08ef7c745a8dc0271799362da62dadc289243cfd8cdb422a348d23cbc5f3de64d2183d3d7e30677a665c656f60a40c0bfeab92442291ad1d15d9ee46e437df9391600af277bb2bd4000547dc4fedea3b0dcec337dc6db5bf2a18ff8561bf1952eda654fbdb865b7c06ec316a9244708c3466ca5b67356cdc702e1713d8a1591a4407e0f8eb6185437c2eb3b599c4b530aef6ec5a700f49ac3720f0761e69b97b71921212a75bf9c29ecd97ccbffa7f636860e12f54899ce4608cb774f2fb99b23c43e7f12dc262e593ee941a1b987936c16ade689e43d56ae9ca02fbaa0d4d7e9d3\n\n# tcId = 90\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 90fceda255c8612798fe325acdca9c8dff227bb9564768155bae0187bf834cc4c03bf14ccc9a58516389da715e70376272dd4112150d678983878b5a3af8784d1302a04f7f3dd7dbc47e2deda258051fbcd018be39605f34aa0af4bdfc3015de49afa72e966d1667630992c31aea0747ddc925ced69407c64352bfc65c6aa48b0236cb0f9e7869f4a408ad90f2ee7ffe5ffceaaa9db1c778b568a3c6a1844d1af2051c81c618d3327c6085b18beea8ced2168921f63bdeb67dfee4ddc481f247237cd3a6e7ed0e4b6b0f2a332899ec6726cf90eb317b54375122d975868d785d2a99e42a3914798a0378ee293f6b12ea6de0370ba30dc8bd33d4f0c81459a21a729556fb02456a2abed752b3e0c666704b1b3195d269ee43a9de6dc224b69b2def19fe10d247d0554182eb998b49833fa874c6ce3a2148c9addba17db473c09cee1b910316be921cbb19b18b1c2aab1ce08ec1753080aeb17af2b4aa88a2b76474481bfe347c744dced8e7c627b4c99c490d6f8a24d049b7fab93a134a485127cb58b817ffa2123497bd4961722a1e23c5f9a275d9de6fcb0d0e94992e7903d4856a92c85696fdac207d4716896afabe0cb9e500650632088f1d1a13414aaae61ea0a13b756b71e88711c5a810b2729b7320cd58698cf08bf9d6d1304154a06f9d8c6f2e8362fc4ccfb9e261ebc3a600450f30d09cabd456eba321f21e2e9a60\n\n# tcId = 91\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = af7c386df1cba24f753c589d9756266b6473ca3513b51cc50c888103636e9cc1e0f2ae4f74220004ab02c9f734ffa96b6db34556fdd27a0a6ced6bd0f695f4550d941064f509185e4b3dc2e71de6512725fbe167083650e7deba3035a5d7bab68050d2a0bb1f3ac6e13dffb43db0f6355cff1809e0450f629a99975e9368213853a1bc49538ece8aa64aeb1dfd837ea7e7ef54845bccbb8c9a409f262004f55c5e0a807ba3cbd6f3c43cf498852765f740c2c3e8ca8b3fc4c43bd7d28f6ec2d29bcb0ffa8e484b4d9f6f26c75add460a3b98c0e911a3ace448a66d8a313afc2c1abff8e4f7cbb30bd7660659da17b4c7e7c42764363899881d43c3fb306cc0cfb17c7b4d2c1de8aba3a43a5bc16431d8630bdc1338421c12d65b2909a87b7f82b9e8a3af44a28cc762f5b62b58737e07ed34ef550d553b0447f994405287a2542befed0b2eefdc552a6fb94e42e354928eec6c8e93e0b24ae6719da20dfc2d6a4a79086379fdbe5dfbd3c35e4ab219481f8a64d33ab84a94f4b8b57a174788dfaf9e558798a98c4fdb52ebaefc0f1f5617652de0aec1724e015381ef7145a15245917de42cdde83188dd12afba47cef5b1fcb064a3a6945fa4d7c6ef37ea582d4036d6cfb6621335747fb6473306b27fec80afffc4deb77578644637c9c3f2cee11a0eb641b491c84e9201fb2829d80e7fb0418ee0b44b76b7c2940edf29a4a7\n\n# tcId = 92\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = b986dd481be76a98b5a23ee494a8264f9cf2b37e2ce40caf5a7ceaa1b2a5cced5827a652c998e1c26d03b48b77c440733d1be048a651ea93ee60695c34b4642a88d848897d89bc4f285081345f54516fb9705c9a90589115ddd0587544ec6a1984a4a72c1b6d36f2a57218b647b57315177834169b29d0b57326b3f4cd1df7914b088f48573b6b32efdaa678118e85aa6aa319ffd85cdfc4ca054a0f04822d934af73a7aa4d5f51d93b443e4d8473831b31bcd9aee22fcf4a6234f0fd6e27125905bc0bed0d7274f0734bb1f51414a5151fe60e4510e158e98004f9203c7a711bb2057d0e6aa7066469f900bfad93c7f9b1eb87459900b915da4d1a59aed8393088d5f23ea4614551607d8cd0c0dd0aea75734ae23a75e93e50c09bfeb7303fb704f3c976ae573f363553e89391d6f65035c613831abbb5f266cf40ad5ec1ef2a4871d798575216606ad76a1634d78abe9f16d6b2cc4ae3e99d1d43ec25e93b52c547be4a30a98e5d6c180e44a7c2db4eb0247b2b42993552e691cd9eb22547ff3bc4ee6cb2033549b883a58d3f50e121a70d51070b0d37647cfb6227764ad2703e0fe5ea61108f4e7e3d3318fc87a9ff59b005e7a6d232243ae16d4420e9e024d3904a6e54b30815a5bc1f1619b4416c2baa464a61cefd7a6fe1442d4552238414d5b2ecfe531bec9045e811fea37f8cd2e7a8345bb309cf17654cee8884c1b\n\n# tcId = 93\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 5b3aac4ec4a0db836f2686221ab82071979fc1f09facbdaec056ad60e952c91ac77efef520fcd6627f5510b04b8651fe73c364e5fed835b412c37e5dbd81db1bb86838bf1cd865132fbffda55ecb18b2c7801be854a06aad0e1c2f0b4cafc8612ce40cba4865c3ddee40aa43782833f5ce775f2fc1be9a4097b1dd0fd5c7ea1afbeae7577fd70cd2c019642b74e2c94a259b26c34bcdebcd68982fd745127d0974a6397b92e9a3bd56ef74fbcf89a84546daf1b97b85be46106e6a6c91488694e25f9ed88ed136629ef0409a0686745c94322787dbb0df7f78d9e3424f5f47b24c6bd455d7bc1d89ce95e0229041bc985a6dc49695719878c28f821cd1aaf3cff0e23855890452bb92de37f04e9bb756fe62e9e4529e5f01b7b6a4374cd504cf7882c7377a82dbff7b4b87184709166e52238792368392c25d9b28218bf8730e6549cc9087e28fdc7bbcb0b6fc4c752b0482ab3b1c7c62d64b53fce9cfd558fcbba96c39c6a3d50708c0c5947dfc62a764f30feb857688e004d2e4e2c21523231dfa4cfaabb982b449ef516f93c81b53ff1a8dec51a441c50cc8a20ee5e2a19fa120b992e58e3cd5ca57a30f17c7ae47c6e579a572a1d667128e4285390f2906b69923fba414c6c92fadc58b87dae9378d2be30", + "ad3240a27226530cb8afc70292eed5af4037ae6c0c28684fe964d049ddad06305ea30ddae64d0a86094339a6f\n\n# tcId = 94\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 4c53c7b94b6eaacda889c647202d90dfecaa05e75a1b78041a08526869cf299a48b306577c1a1d1efebc7dd694e45155dc434e11627a7e7246aa0703a1592b00898ce4cb40e672d35ffe4aee140a6bc1df6d40c560da214aaa637d94b665763a7cb34e1db10d0f6772debc15d05bd0e1af359b53a521fd359c7e67e28d87c903254bba1f0c48f95a8e4dfdf09ac7afa2fd37a836e85b10c2cc6e0e0986a526dff679d3bd9da38e24e1a8a91adbe57f40ec7fc713792294da7682008be9cda6652254f0af7128c5c5ada8f7d5530ca4659b19b3a2b4b900776a9e06fd7fbf96a80320f9cf52d16936038e151e1b4928a0232c7d0d69d7c16839cc975ccba76bf435f50521e1905548e68302e35ba6642cabd84facdb0e9e5964ea683e1f09a12939abf306564bd97bf95f2fd266ca17326c6bf4e2a3f52a32fee4acb963872893f502e7a12ed4e97080816d34a112f3b5d184f7e0c7f4fa06e716fefa909ddb8d04a07c13f23b9ac919e10231e8bccd43a91d71ef02dce87ba6728e32e6dd92b1cfd96e9f3997e56aeb57ebed6b5f9b33ef1b6e4fec0410053339a5e7eaf956f262bb0ee6e828204627755a4c7bfd29e0485cf9d38f459b36f4783a6888639e0117b5fb72505184a727e2f3c7d7117d0cd4ccf621c670b33b709d165b68374dbd1eae9ac58da2826336fa01fea00f2a09ddd7a32ec83ba4ce0cdf4108241a7ac5\n\n# tcId = 95\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 7c757f1a1ca4ddc9e1b4cac3b2166c6b8185de0b1214c48cf1cbafecb58147d5649e741af62736cb3945afc90e720b3d0d4dae820fe84169b2857e0bed0119593520f6f6d0103490526b9952e62ab19544509c174de8d2683722f83a332b4b2ec736eb85dc08faa8c76ce48b0ce51521a967a559fac7f39767ec4544f5a4901fc4b3c7fec298a843eda287a152d48ef75d1ed2464de565da4b82fcdb872633509b67c6b15be1ae709539261595fda30b6f46423aa74b4e12f505c2f160082b4cde448f59a70137aefa4fa4ff3f146a25a91a657c639e4855fc97c98d2f21b52376a881554d39a23acb938ba15f7f63f849b20465e1583c27bdb32952635e497d8f7321a2d45678cb8d5d3317f8c8a593c84aa0b767ec5472a0cfa6f7f4b6c32cb48dd11eaeafa25b1e195545a602f3b3cd18ac318a48743e9adc8ee1ee4134787d9de88b796340c46862d7c7ca97f142a28e915985308e3f703df70d88d72bc22404aba08d6bde21e2540a3d58d49517bf48cc0b3138d1ac08aa427876630199e11460cd6bb04bb9bb29210d9880bdd05b95ac9d769f00da72cc2f7ee20d3cc10fbb20490957022837656a69fefa83c5f0873aac068481921fe82482c05943a6607ae92c38806f5396387617c26b9f330c52384bc0e818c66465ff3650c1d3414d95bb528a768c82a7c076fa4050b353fa614a830bfb0c603a5d44a01d4d0e72\n\n# tcId = 96\n# changing tag value of sequence\nmsg = 313233343030\nresult = invalid\nsig = ba1157f9b6c0d31a4c928e0c3dae7df2e13853eba781fd40605da2d2e71edbe65adac0f982bd940f52cd816f791232ae056d2553f5c82027616a65501a2ad1239d5c7b2b7511aae7c385d72f63944d1f1fcd9613ce5ccd192e674d22280a79817ab3308c3dff66c0fadbe9c0434f5318fcb9e1da396f11b4ba9e961de9f18e5b2ba3716d917e38de29027de43cda232f50d6ad948368a0faaf96f28fc4bea690d347f80e3ce21aa0aa49f445d3a4a1ebe5640f9f16e0b3d8b24405b1afae7d7eae6339ceabfa538a7ebdb66a4da5716dd3aafe0305c928c12175c648384ccc85e425b202e4cb34410f602a6bea3be79038ccf90af5357ae8ae842fd46359225d56371b05146798f04e92869c33c4166acef5bdf5b433c191a31eb4d4ef8827cd9bfe40345789d07f685f5d6fea483ace17fc8bddd120b245e7362a4516cfe4c192f3922bb9638cedd5e6958a6d2cb5da85fbae98ed6db16208336baa6950265adcba00b0203b669b62494bb56dcf3a417fe0f7d568c1e0ad1c11137d5b5736d344d0e5b3451721653c4bc9278284d9881ddf0e0fee8fcbb3f54db82747a0d8ea828229e09ce7d5459dfa590e4ad6ea2ac31dc72e68768a702546f0a98687a3dd45f2783e1fca8617d391598a6f9aaba7c829dc8f6e824cc5f9a7df39e209d12264205609d49c9958da2a3a59e4706ff9b119bfde600cb3a1127a75c77c77e586\n\n# tcId = 97\n# dropping value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 4614ec70586ef4c0e772106102b65652fd9e90aea637b0c808e6d28ed8aeab18ab750d5b7b5d34f918ce863eee94fae4cb67d8d30951db4bfadf62070436630a495e108f22c383c08107fbf7e363d5e7f7b610c134617c527027490aa2582ed0d8769853f9447afb7444aca2034a7e0258585c49aab54e6124ecb9f95daa507e86d7dde366c9fb2eb0430b7a990f1f055df4b3b6c2cb7e353b394723a1672301a43579028a34a92235cc26d2a15d5c7b9935c5b98a99c752badd0836e7902cde06abfad9ee917052814fb9d8a775516b948450c06d3e33b612e848c0f7dd7322e8b264d17bb67ef21177a93b13e9fd54b70cf5737a6aa870caa9a082595e70e6df68fab028e9cbb7f72e9d48c2f2106a98a8298dfddf575afb3fe266729c3346f567dbd3cf2fbafb82ae5851ca031c6e8259d822ea8623a3b63dd1de7c266c89278b3bbe2d3384ebd94c7557c63d08d290508cb77ed80ad97663540b7209ac3f7e9608be2db31b837154f1accfed92e0124fcd1c626d0d24db9e9c5a316d3e9fedf2c62fa55483ceea4c9c1c9a540d3eb8116422ac4229f3be8ddf8dbca64151590b3eef0411aaeb2b25ca03ccdb5309b28153515e9d343d5def471d5c67ac2ce59b62db6291b8753b0ec15038b8ba5ed0fd17050cbafebde18d78cda92f21e162ed72758f68fd50ad4b84b4a2318dd06279937db705d535d516fdb0757241a2\n\n# tcId = 98\n# dropping value of sequence\nmsg = 313233343030\nresult = invalid\nsig = 904acef8f764eda821c39c4c75443f43cc00e0ab0cdcc6ac9a3ecbf21c38999d04c15a9b11d7ca9de9c221b2ad3a233f988423868f5aff0ace189a48c4452c41d3cfd0bdfa29d6652cca3685062fd6d59122a37cded790122d1f4ddecdacfa50605658f23c2013c31814c23230ca2adef7ca10239fa9d56a141cfd6c4f48eb87b08d7fbf12e9e62d27a86f82f229cdad78ec31d1146d339aa6fe06261823f899f418d19a3bdf817f086077d7dfc8fa1b9f96586f0854279795e9b72596f25872f88a0e00e91ed18545823f8e427b2b4dde5dcc110381b77d4e5c397ad9cda2052062123b32293a1d73f7b32dd98761b9eac5cca2d397489469216eed8e4f359471c7025f66e7affd79c8b34c611233a197a96642ed5d7ae4d4a8155679f174386c5a90c8265f7c73faf1d9c510173dd52a00877bd7afc995f6399145816a764e68838afcc54dcebe67181290505d3a274be28c9b2a4db3924a98c3c13121239fe46b76685bedf1b89fa2c055f01d4a44679231dd9b9a2c24fcd0b7c95254c36de5251e496db67372c1f76422a687267186b3ebbb6b4fdb7a93ab5ca9eb0e0e45cab2b2b9ca8d5c8e19aad48776e45b92e1baa1b4275d7a8355911693e5f791793bd6cc01fba821d4b4e6150cbb4958cd1abf7e3c9e11e19254e74d441903791c8db111fc40b9cbe780ed3175596c98546073e918daffba9f87a92e397b61b8a3\n\n# tcId = 99\n# using composition for sequence\nmsg = 313233343030\nresult = invalid\nsig = b6b03138199eb4e399d472be6d3504666820c52260150bd3ed24fac67d346de3dfc5b94f8683704de5dce5e5e4fc2fc3dcd77a3f60ec393d4b7b183e3d609d2ada0e6b2107cc84089acf9209183607b22dfb9739f40557192292f51723b8a261bbf1f1184cbbea65f6da8118634abca9b8c23fccecd74f14c49fc0c83bf2e6c8a6ce20d8c50bdac4c52cc0053480626b01b3b468160fc47147ebf8edf75860a5a500455347630983ada520e7317e91824fdec6a0d17a9001b9d2322c39c8eafe67ec484efeceecae83c875589d6625b20f494e390fc79816cb80f8f305018143a68b46572252ce0ae5240fd55e40ad76d36993cdeec6bd6733ddfe71ea6be95998ce53a601dfe87e35ca08f6aef11a247cea520ee7f3a8c703053ecc85f9b041af3e68254b4c3cc28d10714cd9e1b6cb08b0f9a9e0a6f902a0bbaacc98db90caade714a1ede7f132593794e25a469243d7cbac76f852d822fc823515419e6f0ac8a85abae42abadf274abc5a9c4127a375cfaefe6cad2be69d14dd29829b62c9f748a2f64c632bfeedba192d7b0d686bcedb29be3ff0589866dae5ac16058e0227fc98eae32da566851c023ae67f5de3d2eea56a15effdb615d4aa217681216fd42d50b255ddcb9ddec8a81b2e7e881bacd3cc0f1a5212dd3f66dc52994555a67ac5df0607cdfd279adb3cb0983c05a0117daa86b2da84b5ce146c1dd58115a4\n\n# tcId = 100\n# using composition for sequence\nmsg = 313233343030\nresult = invalid\nsig = a6cbc4959b1df49d751233e534513fba0efb1d4670e72f76ceb2b0aa90c1caad8430ba7067e4e9f4d0a274762a78c6a4c24c4039ea668e6e51ed4df98be132804078ffff469d00acad620fae3be3a9b46d89824a4f8a4a34d0c837dd6e612c05477c39623429fc34504524d6cdfee03104c6cd05ab2e01f2e4cccab8b08e905cae05d7f858a67a149e8eefbee4e7c01c851215a1c303666ec39272b5ba9870c0d3824546b3d314bf0407e33bbd8e7c04ac77c935f90b4679e8b14f724601a25bbd3c61e304028eb9ed0f974daacd5fc9f6feaf36237bbd413e16aaf188c65def2ab73353c9f17a5fa0d490598f27f3c7ec41bc2399436e7ba6a10b8f2cd6639c932c5f1f8512e3e25bd40d6e2776633828c2556f0661bb80ae7a5fd22eb50d8b617916b64df8e4927d07d61685a0c31b168bbd3f89dca636864735b3d6851ab6d4cefe983d7e765a251d26ab98c530d19de0213c7625a7904604acd68633d0284d83e6a559cdeee27f1dc308dbf23521a22a42739d5db8119dbc5d34220d1f30e62bcdd97808f00920f990edea9c3cd73ab659cc443e6c38a7209669176f8530699dc22ec02bf01feb4b2f58674c4838663fdb37c8aed415bfd2b79b7779384ad4555c62670d271c553cc00e46537e4d25fec955ca504351b7c7786993ad92335e19bfbcbb8f4441714523f28755b8cfba031c719d1521ac05e399092ad4d51c\n\n# tcId = 101\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 95313651a554ffad8c251bddb24dac0c4fab3544e82d62f7445cc6be99be3a5eb2b7f6b7db3f26b91795210a56907af9ae5306b73d6b8993eda74c44184385c4c0368b9d4314e05ba0f519dfb3959376554989f4e850d5e25cc0c091ffaf3388cfdbe94688d54e5ed4954e00f74d1f719d8f9615d4406882b", + "f37f0c1cf8c1c0f2a6c7a82aab3a820f9fb241971cf51d15bd26f8df90cd3597d9ee31e258c53372c1949b2728559e174ae34726ff176d38055ec1bda06cfa96d07c4934f4fcebeb9d4a4c03080cee9d611cdf6af64f051c5cbcdb97d91fa2de5b92bbb9b01bd874e1e9ed2964982bdf4dc9140ea84b2700693f804e4ab9c6bccfe251964fca579879e2c015e6537c4889743da609fa78b155fc02548f353db6f470358b9c6e72b1c40cc41a5c3da88581663e721f02d443f22c9d8db056925d805f505c77c270f37c448b15c0ecdb2396cd790c434c1b9cf8cb889c272c0524c44351abb64b3b65194eb7b76241d971d2505c21af85588aa98b4c020e3da106275d6ad92ac77b383b463f712c70ad7085c49f4515402264cfe1fdd70a220b3a0552d71be2c8f1caa3f6f7e53b9147b42d4971d7b0314da97a20dac44795849a155a48f40dd10d2025189d5a2a6a176e44aed266e79a52713d8820a52893efd32b3d2f22509c813245a6df5fb9076a9340352167f2aba0e5d9af38569feb6edf485cb106dde284b\n\n# tcId = 102\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = a057eeff7fb0d83799344e85b08e98410e2a85f6bd08bcb9c15a1662b0d4ccc9d7cbbadd7494b8ad390b58e5c48c9fead61091df7b3b59c721b82438265b7ba6e3cfaf3912bd3eee3a8f0ea64cb8696a393dbaf55959d7e516e16785d184847daac958445a79013a4884e434ee756de7533853cd219b0f5a4faa1133ff09d43c00c49fe37dffe0e3fac850c2d9c8e0264e64955eb3f78fa17795dd595c38324742ed77b85560e3dee3867ba4a793dcaf8f08faa612530355bd377c8009a08687999a76b5e4c74b36385a074e7316392457486a8679b226a1ecfa53f3666977af37e860e2c074e817b11b9dd4965d660074ae3c5016029a3fc210823f3f849a1c8fbeace5688a7ae7fd3358bdd6ee47d96c0ae6090360ba5601fa21cd60e71594438fb4d99b3276d49e506575d86fca9749d2db9639df69e15c89c3d555f1bb0c74e4f1ba3297b8affe1fa70d8fe5a19649a1f0d7f06804b0e021598c881b696d8a0b9396cecb61abe0e14ec200cde80fbf23cf521e110934ee7f33abd6355dca78f543d71a2b05327e0dbd88c9becb1817feb07f18df694e9312c3b4e24bbccedafef4d0bd99a268dfaba389f6462471eb9133a3bb49379bba80389105c5200b899b53b4f504d4dcaac174f99dd742ef574be0350d8c4f2db3a896e162e3058af5b919f40249349c0c3e780f685b113d01a1f4405cdf8ed4bd865adb2d1c3140\n\n# tcId = 103\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 04050d0ef42a4d145e63322e2b20da48aec3bd58dc95a4658e69be740b655bc94ba3af9c5f9af76f023eb6051d9e2956ec963fdf64cfef1862bf15b4e896d37e884a0a23b60754140aac87d15583b0cb84d8f9083555ca64530c64984e3d322b4233b0a318ce33c57857829986dcfd1d23dfed79d3c59ffc6ba44052fe9f74232348b9e4e2d704070449b4852d6985609b3d4f5b1ee55d99612d23db06f5d2fdcabc0b1f5cb2f47187aec2fad8f385a438a5ad5d6212574c5b61f500a0d192d253968282c393c42855fbe46fd1e85627c154e4df999ed95d905e89278c23eeb79c581c9bd2f9252c265e3368951fa3270b6582c99d80f7e2b58a6ea278d98b295273abda89f0dda0caeb3fc7819673d5116ad16991563f08db0c5639e1fadcf0ca122a2d1286a2f994f646fe98efd35a83999915df0170094add1271f2e3bb193d5605d8e410d0fd0bb3e73f64295dec54093626f92a227498b6af7aaabd88ae1f057d30b61d5da0778d67cf45c65a3bee3a172039efe97e25f3b3145c47cb824b02b393d15f7b67e2167da3f2c740eb591f6a4a6afdee0eaf602fc963af1792cadc6fcf805432cfe005e2d4484df25c999eb484ffe618b03ee9bfd373418ef12af89b73ba49021b2721d18f5f9a024497dfadf201b7f6fb7415f255fd8534b62b2e2cf1e337a2270d6c286ffbadd063fc09f0f8e9880820a6dc7d03d2bcdf5b\n\n# tcId = 104\n# truncated sequence\nmsg = 313233343030\nresult = invalid\nsig = 25f364b8aed878c58caf9b40fabf09d3a9517f297dbe4e101eb1fd840a82e57ebe9ec185206756fc76a53d9f045eca0a4d819e87e81fb0569804c3b9f62a54ace4163c9695849878ade09dfae4f50fca5c68dd201e6a1bc2cb0cf970cdeab3630915556b79a9aed7903a526288b66b00a30f565e53875f448ce0b3b5b05e3b6cf71df9fbdf248fc1843eeb11955570136bcb4f8214c39e8c12ce59aba1f96062d7ba5e63ee178a9210f8cc53965b62fc4b0dfbcec2cb35933c7cc1bf5d5e26aa63aafe3c53e2b8d06bde785db99dd8ccc981435cc9a5c3d69a75de2c6ad22a87fb9262099563a6a149ed96012f25e0c87ea90885734332d21a66381b5c7c6a306ee571905a21d95a2e6374a3bb84aed9af3cecb5724a5afe5126541ceebae4cecf2a91802f18ab4c6f421c9ac31fec7fb6b883a576e1d26b1671663df442810ea405bb3d311b795dd8292b093e5650196189f83ae963623196ce850130f018eecf9a933c442f4f0f3b8067e24a50d363e4d10e2f254571b3acd5c318209c93f002436fdc0484373ba47b18b6ea50e9a9726dad987ff09b2bcd00bccd56e7572a75e321d1da85f0da1be719b893a06a40c3813ece6623dc70d0115946297ee0bc62d733aac3f1065e6f7b79d7b2a6f2be33e3264828e911b09e38582b56f0c1bb46c014506aa9c8293926401e0c6b4c1aabc2d70e739498f723605b7dce4eabf7\n\n# tcId = 105\n# indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 6dc8ab655d1a764a219c97ef4053addff2957e3d350b50f85d8c51c26e34d923a080ebb7a7ebf2feffa328b6d39109b821c241741ede029a55c83ed08c861f677470b8455ca048a0e329e67ec921943c1a6b5121ad714c3f7207a8b2ea1e7b100c3f95a8033afa5c0abf37f7f6120454466c019581bbf2fa26eb456f7f773cd5a60a6b1db90d9a26c652df8ef63e2de5b55b2fc14689e1a88df9cb95e11e5ce4944e1b9ad036d02cd25fa46ae08fddae96f5aa78539b062ba705af779a566209805190b57abf5698c129f149200ecd1260dd14dd59cb27160ead13c2f6d0494356a556295f6cbf5d237318e16b3ef9b0485c13a193e59f0adefba176d1f27ca5dbceed9ca6cbe8e112de56084ff3bd80d27a2d5e9306d6f56764feb4be5871930ad278c09bb444e213a7ec5f1fa6665a1f39c6fb4f4fc5aa8bec99141c4c559fdf9760ab4074780e191a9d3d1581ed411d502846748fa2956f75f779a2d0172c8011611da0a2e77e2fdf94aff98dfb549ca04227283d63224fe97d01bc3b80e08efab42b381013afdd1de26fe343acfe0d9981f0a432888c7e93afda0b4618d513663658556902c2396156ccfc4a8ea7bd650627a8228e51c4252b7df0ffd0f5b25df547c2691d6c4cae45081bd66e3e18ffe8eb37d378abef362024b4b73340cef4cceb36b38d78d816a2489be479244bf5fd25416a277535b350a90eb799c7\n\n# tcId = 106\n# indefinite length\nmsg = 313233343030\nresult = invalid\nsig = 6f1c83e54cd4810755b1ab483607f44f5437b82d8fefd1428e4831a825ec7d2182fe4e0910a596413d425aea53665a58622f66bf3b2fd42b04d4fc0212a5bf06c6093c8fc87c3fdcd59ddfb4672e3e78a289e74f7715865035cb1d66dc82d70b4565594e368e02afce093f12106407f47c2a21fca84259fccda46fcd1de83b697d48123946b1cfcdd58415d3e8bb5603981b0ae3367f7a65fb80b8545104fbf8a7a1df79d2b9c5c2775c9e25d5675c8dea5beec01ddc6e404e1b13dba3cd00ee19f59e5fc69bb82aa31a26f7e5ebbc8884783ea3fbfb8a56558a487d12f2b54f6a79758f2f9c803475979c0ae53ef9f808a0ad08abc836cd87134cd956e76a440454e4b9632d38f67afc1fed63d142e58fe5b61fee453ad4fc180498f91d47ef3481622e390c81bb4ad16e641d2c6223aea9b99ac4a8c39aaa8048e2fe34fe938c0b2fd5f097df6f15280c6a8af7517e4f94b0d081582892937efd56aeae6dfd8e410c08527395fe58b7520c7557e3166a863c4c29c79172f164c4c99f084b7bcf661a2612851ae04656bfe640413b45e0597c05c221def5109be11c28038323d5fc183f0b8c487551696d800bc157303e06dcbb8ec86a7423bab242cf24fde4d08fc640735a0158865dfb338c23ce90a9f4976836860fb737d504e5ca6d3d733a4865d9aa9e97e9cc8d923d31b8088da0e575cbe4bf9c78410452704cf5a2e0\n\n# tcId = 107\n# indefinite length with truncated delimiter\nmsg = 313233343030\nresult = invalid\nsig = 92b2c003636f38616d66d59c6288063f36e8c81b57a64fbb4225fa0bce3d058dc3821098d60d44efe8c925c34d3c607bc79eb6a8b667bc99800843bcded44846a974dd0eccae8db6a5a6bf66bf8df83306ccd785e3d16b21bbebc9be03ee86f107dd9a99fb227d7c95aceafaaf2945b653df862269d16aa9eead9449d77c55dd998316f9f9f6f8de1b2fdbd9eac1791541e3b725902284e6ea5e29ab66bb00bde4b0f702891205363328f0a185527826a1cf3db16d016b34fa511234d672830606747f4b06c251cb153707207c22e76f1b85841db5a282554e6d35bdb540709fa1ff4a22d429ba582049766aa5b9a9767a37adef399ca976f086e7b8e0cdd61d8ec24258056921b487d2eb51ebeeb612d26d5678f51cf187be515a4dc642674c9c797ef0696ad4b6bffb3d958aa95b76b2320cc2383155e6ba45ec6546d57925c8ee96f212c46af7a3ad6f8bc833f3e3b416f5be85a1ff7cf77d112e7836ec085ae65c183b1fcc598e9f3af8bd032b0aaf83cdef8109bdf4c3c4a418c966fa459e1bbeb8ef48be950543a784016e84cb67d26f5755e499bf93e8047d16e954796d5522b28df0a20ba9f27b2141c9f20ee1a2421d13822fc35d50e1d6cc9ad4bb197b19b6b9613cf7f4d56501fe9188bd87a17f6ca070c95ec64c76f8637fd952188737895a327d3c90513f47cc9a76d7dbf74b554367882b934545ae2d030f3a\n\n# tcId = 108\n# indefinite length with truncated delimiter\nmsg = 313233343030\nresult = invalid\nsig = 4e04d028ddc31ef77e19b3638cce03719a814aa2749b04c73be1d5d2235799185625bc17f1116b386bc70bff5caba577cfdd09270a7d1ba05de0770dd727f94c5a7a73a5beb611c68a765bfce90983e6f1948168b3921ee8fe338ae19d4af386b8c17dec3edf4ab7aa9cd98a3c8c6740b760de0b07bc7e5855c5c2ff196930d0af0674712f4b4b6c8043de8284d3175daef39756d8afe3bf5ae868045553ed7bd8233e087ddd4ff276246f16aa9676d8e8bd2d2499459c927c164c9faa9e9a0f12879c13fe204c422a4256fda1f67eeedfee97fd67c726ae522d2a67e56932588439aa6fa190b3cced40daca91f7f27e22c36dd17e4260e4e85cd1d005356863eee5fb09653054192003fce49dc211102513107f01cf0a86ff85ad0e9808a195f721ddc38405bd13b26603293b0edbe508f3df5da640270b33a7f4bd40558467ef1945087e57e387fc3864bcdff5de224", + "6c86b11e1a5ec56161d11dc10cb116f099e9700060a0daa45c96930aaf58b440a5c78c58057cd93508558dc363c332bc9a825f0c0650e49053e69c6d3798e127236bb0397a4bbe0d7fada7b5caa28fd7ce9c86fe57c00eee1a7c0cf2e218519dc529455cf650ea19c6a446edddd04733376cd9423f3f64fd3dd9cd2ef9e79f1c905be8e1e2f1c95e6e0289cd57c281f715a283258e3887d853db97677e8f3f3a7fae06cd9eb29012ffec0ee3347b3ba\n\n# tcId = 109\n# indefinite length with additional element\nmsg = 313233343030\nresult = invalid\nsig = 968d675e64da18df5f5a42aeff479ecfc8cca4c2e95d3f75df51328496dadb3b33b9a0c0606fcc8c709e9bba0327f8caaa1f5bbe11fdfe89b9e34e5e3411cd3a64e08b268689386b2a83b0e05a997083befc86a74fd3db92c0445f9f253466807cbcacc80592c5befa2441aad8b3ca3c561522eb0571556d6a71e1cbbef325183fe70e92af1bb2d0011b0f56ac2688d7d24364e324bd76a8f86a3274647197c4ae625c44f24891365e62bdfd0e50d13b3a883ce21c1a563620a4023f228078e56a75ec884e376b09a6f03729b28e515b3ebf7179e21017d0c129832a19f9762cba6af38a2ee230f2c2d3e07258ea3f50a92f39f13050578ee0b5523f05a5be71ab0f84d13b0b63eef3632ebd7139de37b37056982d202141582b086ff099aa4f919ce2a346e43f252289bb21d0005c97175764cb9ce717aec0e8ee1b81de516014ee5885d442b2bfbdd6e40c69ac74e149612b21a017e6d0dec38513e4c4049f47fd01c23b56274eb074292a1c40bf5c0725ff83ca0fa1e32c7ed454ab6cbe57507a1929530462531560f8b075d363948dc3ef4c3f48f44853d395999aae8d8efb4aee9e83e490d6a3e76a91aa2569551e8b82b760029c5f38713af907bdaeb0c36079ab3e16dd678762e67c7bf3239deee05de9b11d5ac35dbba0affa55b0682f20bdd42f5f37a6022d962720dbdaf9c7e0f751070489c850349fbd9f9ff486\n\n# tcId = 110\n# indefinite length with additional element\nmsg = 313233343030\nresult = invalid\nsig = 99c99292436a3f1b088154826d134aa10426f2a1d3a359a316eecaba5537f4f655e99e268d66e146250da025b82a3265d8ba2994f7eec9c9dd87c1232225cd985a40def354a42c4ed35c428743def6871d2c3381bf8586634558c28f5eec0e5020993359037fac4d1ecffc2468e75c88ed996c7bec2fb9c7893a6114381662be9e476653973f9e93d12ba4c738a51e67f813ad34d625c75f99acf5acb3cbf9997c86c52da8b41aa2012f2d492e30e898ae5f79af10db51bb492ea3b25f4bff2f4bc00b35af3aea5666289cb2685917d3c67b32c3eabeabfc79b1fa2722157b8e1d36e503314017d022f6d188a62c6f9aa05ab53ee7851e911dce4ee74c555c3534660271e3fbad5d398e5d0472651079ac2d79d5ce759ef71e0b38f2d2f023c4d9e7126a02773c41c996940b84193fededb07651ccd5b411e5f44d0e14614978842fa7a38c127d781a59b9c1a9f76b50ada3c4835c3ba2691556ec3b90ca5ffc93890ed1a6fdff6b2e40dcb747d1c2f7112e4ae75e79e4061823f330c6931663c4540d4898ed2004209fdda0f65eb06436bc562546d0d49f8181f7aadb15995d2e3468e41bdbe96fb42079dff14133f05175ffc5c6547e76ee232de0887713d9aed4daf1f72b6e131002821b5ad30a0afae478de9b3e4a559bdc8db9fa523b1aa402cb00a55320bc3d1e7bb2bc7cd1a3fe9f367203926a5da28a745d3741b368\n\n# tcId = 111\n# indefinite length with truncated element\nmsg = 313233343030\nresult = invalid\nsig = a79dac666f7dd5d498b2e84b9b5eb5a88138bdb68e3d2377d85dd1608ccf2eb73cfbacab4f0ecc390c773e8676b88512fa3831093dc88264768a46a7914220b511f64155012df7927eac52a5367a8060e91259d169eedcc6be788dc39bee42b55e1c98f1c8597e5bc5ffe014cf2502dede3899e91ef7284689f726ee9ab4cb405d729452359e210d71219c236e1c66c694d69d36f85374d7f64d9ad4168a45e8e50309944b8bcec31f8131252ce42dcc840431a27a8b2d881bad3cafac25f653e65a182c8ed5afe75c82fb056ef7d6bc22e82c47f3bd0d389873c4decbc0b94313902331595c933bf445feeb6a9908fd2abe26f5744b963fcf6cb225d28612e609c1f443984f2ac84f1c49a8c814b21113d95dffd0307019b675f5b91e65c2d0756782ea1969e9afdba85d18ba0f7b4b5bc24bc06458cb3adb431af2be297387a28bac89f2266bd7dde35c9483183f8239bf7bb253df1305ca218d1d4ff7015f74df1ca7e1b29f7a66844f59e7ed96ed28b4bf53a3e6bc21b348fbcf144d26d4003d3e15ea5e51dfbb40bbf7eda7f5f0ed515532bdff3943f98fcebcf17c1d6cc73825f093a4fa261550417314ff9d53658c9f9aab00839394e91c1d07bce42a816f1a80f0192b76c482affa5c0e85d359e926d43bc595d0e74b44c3c6195bc5fcd3ac29734db6882e344bdb56c0dd367b9478880935bff82381f546d5182965\n\n# tcId = 112\n# indefinite length with truncated element\nmsg = 313233343030\nresult = invalid\nsig = 5a6d798ed5ea0d324429c38276b8f78bd3dd300f80b5700df516a4ef353587029bccac953861455cec0fd8cafc06dc18d1bf4883c76ba7c52a55213b7b57cae878e6ffa29890c4ee9b1f9f402f81168ca1f8fccdaaa1d3b712c6426e67690b868391d32e11e238c8edba7ac67e52ce364c9dd3302972a14405e43b93e212ed0063474b1227ce409d4e4b9b6c6d100d96670e464272b3db6e2688bf3d3214b766218d14cb2d33c53cfcb70cb955bc8ccac2fe2943e9209fdf046d03bd3d278898aafaf4ce87bcff6fc9ca1145e66fc35534cfe5e9323ac1ca62665e71912d50b3d0510c2f831c5829a33d5b86ed5d67270f21d514745e4a1b1413157c4c059bb43340fd30552a0b2443b3a005f824a3fb3ba930f836c3346553c50fdc4c344e8ba0ebed8c5a095c9fcf3f6725c49738740cbc450fc6a6e07accf91ebdc8d73fe70be3ead564823e4dc86a6cf2766b1d528ad04dd6578f4cd582b23faa2a2da787882012a8239d28ee4a072265eec50637b753c9f03ac890767df638c37834a266251f57a7283efa8ad9f9eab2f636608a7708d41d06c94382c1dd19c057f163e4d1363e93fec15c4739c41e1428ee3e013354739a6321d7149c51740c23e03a3e31ed1856c04fd35aa3f5e974e5900c29257c5033db7930e8e1c3b0c08de956cd89ffd1adde36f330584b533891505df523481c41945842b3136a13fc183b9d0d\n\n# tcId = 113\n# indefinite length with garbage\nmsg = 313233343030\nresult = invalid\nsig = c16831c84203186d55d5391ca48c31c4a7ea17f4c83a773041af8fdbf4f98511ce7122decf06b7ed3a0b3e3a3fd3aa9927984c3a5e59661ae35366b2330caea6c2a33f01134d30fc210529c599e9f4dd0b12142acefef6b218ed6723dd06fe88a55d3e9f3cee052b83044a46e84d39a80eb1ebdbb0db8a0a7caa5231ea82a9738b1393e77965092377723f9a6b8f2d6a35deea4023d87c6e6a46fe9cde5fcec17ce55960a784df02dbfaa300f8e939d9afdc509e7805e253bdd64da9dc3e17cda39a4fa1e183c4e81f6fda5a79df2a4b9cd388509e350c47d5cc039514a25a37ec758ffe196afdaa8174578ba0e91d435580f17270847731123f0a9fe98a7586e6c82da1b9b59b43b283c03ace8da8eb56a3c4b6231893622100b3e277cdc0eeb13897ce9c676c0c1413b6751b220cc6394494962b4fc09aff620eb82d59f823afe1be2341908b3972eb0d17280a67de0156ea3430b498201e5bc38301928983a61473ba28fb8984daf6d1a551489c26d69b9f8761f2d5537e514e453d5d06ba960d298f25a16aeeb2dda3be6072535c336c8c8e96d99105a7b3dd93a310073e520e7cca1b3ca34bbcfd247c981685e7a0b141de1895c555d2feb883bdada9f070edf8cbfe32bcbc9d00a64e636c776fe7dc4ffb271ab92b673b396c90cf3774beeb7fc568dff65b46e73764c3c291c92ee2910604d75d3d890a90ef57461a2b\n\n# tcId = 114\n# indefinite length with garbage\nmsg = 313233343030\nresult = invalid\nsig = 8cfbbab87567c1c9444563c93fbbc9900e197b42e47db8e082aee99df5eb7457e50282b28479c59a49a939ae6819eaec9f6e20b3631e4d1a86a23ae7eb5f7d7daa28ee3b5ee22b6ec7baa6541795d5785fd432d9586ea69951c0e2ab370ecda5836ce161abd44d2bf811c9145c40aa0d79eb3b26d2969b9e80d408c8a15f468989b0cd65af62445321c901309a18791eb87bd114dbd7f9a67d9ce717d3ee72c6604813593e885d52a7d6214c286c8b1160a50c816140ceba231b9b16e05f73006b90f63916941916b987d732138c6e8bab399f2ff0ef3e48aba6cbda52eba31555a89dca745c8e20c1dc4711189c49d58f212ab314159294aef96d6f3c3fddbcab72355d8d3b4cf26334543fd9f4e1b7e78314db152de2824f5001c1ec25fdb1cc9ad7a7ad753f4da458e70517e152b17961f27fd33b16222e974add27e34ff67f31da5bcb05c489d7b0bb163e0043d63d2e064a4f626f8d9917a9ac0a6ae79d94630773dee440af99562a7a918d77cac2d3c82e43cbf02a4cc00e4e7dbd149151b78b1aff4de3959b857fb8cf73f8c0da2d683101d4d3bfce02d234c343116836cf47aec0f593ce76f0ad9ce206194b4d830be1008937f5dd6418adbcd58f36c772e3ac456bb7d675f7027b692d3e759cbeb5f6fc57fd1ec70d459dc6153be6f056fa5c0b660cd37c0d3c73a8fe6a368e81c4f50a43d6147ffc057e6642000e\n\n# tcId = 115\n# indefinite length with nonempty EOC\nmsg = 313233343030\nresult = invalid\nsig = 06d7c10ab9db50ccadcab75474b8d9ac17dd43f24c5fb37ddac738e3e102150975e6b37c63bbcdd987b9675d6f96c1ffe35e74da3c13fcf689a5e0c33ad11db44e87fa3db110e19bb25a6c8abe573a52f0b35e718a2c3365dda52f566c62785e61a47f87f56d870f148ead3571a1569f2e58fc46a8f5f8b7bf03a6494d9bbba960da1ff465815dc697480c8c4d4ac08e960d9f17511aa2bb6347c0d95f33e7e9c444c302019100cba7aeb93eb4dab84d80764559ea3cd3e17ddc8606a279d7bd54f7f2d2e9eeee1ff28427cb8fc1d4d4c552b8c6a52940841a3409f0cdc28eefb5eccbb9e12f604bbc8ca24d02d706f633810810d9bdad9ee77cd4971c6c5c6aaf3718440c7a8191fd1e5b334435152552c34181aabad626384e68329b32b4abc53b157a255b8e077dbd950e9e6cba24cbdc59e54ef056139b5899ee90fcb0113909b0df2ca447ecc860c416c025f9d65f7f17afacb7075c3378660a9432f4e4582d5db2009c5180567522c5a58eb72efb1ab9b4799111f351fb5b0a8326559467ca4363094ce9de5ff622fe15ba857d5b24a091a39cf1bfc0a1f5ca167f3a61ef57bbecb827638abe183f8ff1bdd6231e262a98469a8dd2afa0b436d9c47e121ca9c9bf318ffa0020490e89684662eb540b4eca22282695f422aee1520f290e10c6a66cb7e2153bbd3bb90965784b46711cf93750907b632cd816fa9398", + "614a\n\n# tcId = 116\n# indefinite length with nonempty EOC\nmsg = 313233343030\nresult = invalid\nsig = 8bdd32c9ebc98617e93f5c81c5f9b2e65183486cd249dc4efdbe1a91aa9e3aae668f8008db7f2a09c42435766ecf436dc73bcc496e6908a17697129ad1594ea8d169b89198d632907e050340583a7e9580328cadc4c6cce0686eca1cf7cc5445b84846a4042648120de621104f05fea2f5f12ca2a856bb90654dbbe1ab3a15337deb7ef4798fae6eb3b9664d7afdcac73e1972e5abf2f16c8d1672e54c97e321f41d5ace05eaeb9513e2d18cbc2d7a1ad856aaf18bc84cc6cd6d7273279191315970e55838922b3d10fc4d99eedb22bca24e20e586258928343620a8361239b919d03a2ab2a537f2224376576eaa4a67e0e06cf79e335aa39b928e1c4d7a2a7c87ca4401d188715a6063802408582fb486c8890dab132276665f5f173a587fb2c4d3b1e9d50fb62e7ac6c548ca6da19d1a0c22a79d4c190550e109fd3a85a0adde9f00b22a9331eb72bedb1b564a788a5df7b5516388f37f8fb7b534adbd8ab7eb7be5e66963c6fd00bea58fdf570ed9b5b0aa7cebfb17b477e28ecd78461ab8b0cc026d2bde97fe1d1643a971670081ac495396e61d234b591ed07c58081fe938d0ec534eae561cef1999bc5cdb1f20cafe4dc4223ed015a41ceacbeef2e886bb0d3e5e70925f02c8e9f59afb86c5937598fd69d61e69054d5670c484ddd5b2b54a2e39633e611dbef4e4c72a8be0b7fd163ab5686e09030abcf373fe86138f\n\n# tcId = 117\n# prepend empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 9188914ee2bbab207120e12f280d6176cd8e12276eaa94f9c7b7dc66d886879b5641f12ab8b232982db86ad14145191f13ef8909f63108806c49ed9998824845730ab86db5fb3a4b4ab100f79da8af5c10d0372fbd2c9a2448ad5f3b10365fa316762c3031218b4a874b66d14be5ecada07c9e772283a9a678450b60d56fe71a6c2ebb4936c5c89b66dd2b68ba4a5cb1dc2866cc3792e710bf6548e24565ed2b15eb02fea87d239ec8802f802a31bb62591b72f59bfb4a63403d89663d9ab2aaf87d37400aee9c44de5f246571bb2fbf0557ae04a35cb515d42232b0a311fecd31319830ee6d2e505e6b315aedaeb68e7efff3015da5d390521782d32edc15386e102247f81d0607bda75cb15e06bc7bf25bf3063207c36c85a4d1cb3da5b96b638df3c80fa40579209834a1bd980e28da8f1916f62d9bf567e0afae734afc2bb2ca8288487164a3a7941b64af1a86efcd630aff21587ae9d2927faf1534d23765f7e88432a8e2fea53f385540fb992a8ce42e89176c07e66656e03fc875f81b897e002783bdea0eb92d1f1e6a95b676f616c6a03cd1c952477f3744c5473d4e2132e7945c290239428c6f140f79907ee082bfb7e6b96a3f314956acca345e8b832a8f97057a33c70416d2382c5e695173365261fd1f32039215db4bffa1a08a0991ff2bd09b31ee4642f090fb029a95bc1edb6e310cbd50cacff508ec1d2040\n\n# tcId = 118\n# prepend empty sequence\nmsg = 313233343030\nresult = invalid\nsig = bb7c6dd59e12462ac9895137d99e3c8d96772e6cce695c0c75abada842cb602c1a2a74d048e1ab581b237cca9dc909e6012bec30f40742375af7a0f6a00e85176c22ad0abb49cabfe3b15c90376898357e6b1faf61428cff699046a2b3b534b4c0abca5c1c5494c6549475a468a33e139edaa09ce1f59d58e51b80cb7c7e268b90338735bc3019c289cc610a9dabb6dd8751d00f7a90148db42d812aa53aee5223b76a19cdd0f41697aecbc2860f52aeaad6ea9927bfb1e7eb5b66c44c717c4378150c8df156a8dc9f42b9859a7905d79af61e7ab5e9aa7dacf2177c12c6cbb43c70815cbef1b4d4d7421564b1e6587553b64577961ed23b2da0113ca0b6a86f78d98ad3c91569992b1e1efec5a7accddafa8d806543f0705b0808fc52923575b068cfb227ca0bb8ddd65c421456c1d7028ecaecf56e2f42dab6b02c6b6df257263d941e7540c67cd09db507d1b63c59047ac7859f0d7d311419ce3016af5c2b74f68c3cefc073d5740aff573696c5f6c3e0c5f099f9d25d9ece981961a0591077e2ff0e07e1849bb75874350b68e368c48a1d9648a91904c53dda47b0071577a2217db4ed9edfa33aa44a250664d0a7c7c8defd05cd0c56d029f3c3213d1115cb44a109367617ff6cda8409e8e3eaf7042e49a9391e972b70024877ebae686909bb339d3f7c225256e1735d3b11028bff3ec7ac928f8469c60bc84c58fe7f41\n\n# tcId = 119\n# append empty sequence\nmsg = 313233343030\nresult = invalid\nsig = a292fadf0c5839f4b4c282a8871f366351d2f5889daf595e2d309f750fe7d05961004a614f398ad47138a63a9eb493f4232e8073b30f48245c12d700a7ca19a95af5f128a5203f80709e7ca612a8d3924dcfe28d626351553287de2bba75a6aeab85988566555b22e4b13f8bfa5a81e6e8b66f51758b2de5639bb7bfef99df264d0e0d5f4e475b73ad5533c9862fce2ac8c28463f9a2d9ad6ba7db7d94a387c309c92da156c46a7413bb6fbea0dcc14492f1b8fce4009daadefd6304e864559a1b27e473df7a8a7166054d9eef10511c90ea6c69cc19389529101f917c2562de3a1681fa1b41c789cae6ccdd82f93a9dbdc4775274783d37a8b975945ec05a0d7362941a041e4fe7ba87624a586586010444ac79ffea8d58057d808d3b8c1f2c705b8f77ed5e3907a16ed8685eba933d34f1dae99743a11a6cc6a47c6c168441ccdac81c0a9006ffe79473385d2c9f74ddd55d593af03b209df03eca844a26068c2da0967b7d0f2f4f2f2caca2decdb2ed3b33bab1250a0be60a2b0722cd481921518eb025f4aad96ac49e408b74ec6e372ef7c4921622b250a73de56b2a1721b5db919182eb3a5cad4e0f383d9ec82dd588e544741035be958e9bf14f7f029eec8828d98f8e2efc943efdac302e78e424779dda31d29ecdbfcb583e9573f0a3eb348d9f63d683d9e190f8f7a51c1fc7db924f70cbcdf8c70ac1ecd2176d38f6\n\n# tcId = 120\n# append empty sequence\nmsg = 313233343030\nresult = invalid\nsig = 22e0569ccd3187cbe2091997452e48c5a91308a4f9c944f58afc3ba1f9b4c155121b4ebbcbcb90a548bdf98c8e713ba6ca20c701363af4fff2b0784af10414077f5a0747eb60d0f1a38a03d90aa952f3da3d908eb8d0de98d4dadee03d4fd2ddc4ada4389d21da9d8a2cd4ba752ace8be606c0c088e10e7b411c90eaa342c5e8425f5733d0668c586ccbece1482d0ee5855b3a5d93c5105d631df7a1d13c0597d5530b32c13ad5bc7ef5c578e442322267a48b427bc201d30c2010fc6c3e27c40bd924e897e9e4d932467c1389c3465c71374e8a289720332da4a0ec29d7aafdc115515edab8064cfb35c653b99cf651c2fb004dc898a0c4b66af1eb370b1556b3d28814cdce5b7fff88981e6b7707d95eece4b9b75d624b3c6efffc10222e742090dc030542b7c2918bb2c73e20139aa9c383be690e8be74f3ea9eb8881c6c0ab27c16ddf10867a4a7dce3496b1a0a2295357d49b498ff1ea0a27bc7ea182a7a89a7cc53859fe2ac8d876e30d1e810bbefc5a48bee8be7b3e12e83c1dff218814bd6ea42228faa6b69195121f0d079cd887d1da9c1be4e3b3ffa9e4d23a1884d19845e6c76e74d9319884bd31622e09525ae8507c4d4b66e93ab55d57e1dee708542e1ec9ba7baa2fbab8c41c8be4101bb7c75ff7f3178169f93899c0c0b4550276cf166962194091c177179481c620a50290fb85feb83665a399f0afe6d961\n\n# tcId = 121\n# append garbage with high tag number\nmsg = 313233343030\nresult = invalid\nsig = 1839350788eb5904ca9deb1c30ebfad0c8938522d127135e5dcf4f5cacf2f24e32f056ce74da93b68517acf3abf45b55bfd19f25adce4aed72e2fe8496376f8299f06e55c4e6fbcb516ba1c475751c2e8a848d6604d866c7a391505623265d7ac9b6397444f4d229f0b82cbfe673c1eb7e0f3f6528e2b662a5b50f94db86d53abf341bf927e70bfe6a25f6da50e1383c9e6892b3cc148aca796ec1d957c7933eb82ca92eddb7da4a488e0768e1bd980e61312cd614149a3420c6e5fc1e5f987d07ca223cf39319b03877de14e6766a191bd45d5905b1f92530e60c093e106b2575b254cc0965244c5fcdb788a82d3c54afdb41e009c401913109e068d5599c3fa599cd69034164ea03e4409a29c259410f460ce9743ed98ba3a9bfe9c513635610280b9505c331be4674613504bef0c45ea16030e1d917199c69ea701bae06cfcd6143981b1608c8662e7ea0d97aa0cd6a2c9a81cc5d5ef472c83c03d2b3649ec3b0a49aa32ced70f716af4f25b5d788b711dad4dbc3738651a29b080e7dd13f18292c5c31a18a769f6f1d7c5970a2693c1e38e9665673cb48ad316a3af9c4217d98fb69d7cc4fb0eefe950564d6666aac6804b4dd476568d86b1a0fef91cbbca49c4bdd7f845d8c7adc5bbf3eff13dc014cb29d8c7f1c6d033922d00eb4a14566af2850d76cec15a4e9ab5d5811577cd4dae6ec7e6792c23c4becb949e12212\n\n# tcId = 122\n# append garbage with high tag number\nmsg = 313233343030\nresult = invalid\nsig = af85d132381c07e90840669e177f93ed7c511b434145021a0be225287a5d97a9c1399ce025a73b3c3e15af034e8a568f5463d4f5c89fe39b28f0cba99191b8de71bee60621db19804b2401c6f6375b0adac5cd99b52927973f695660fe6b53eeecbf288cfa69cdc891c70be7c04a38453d9e81928f4799c9599b1e7f6f0f56319d30e98d16d7787075fc633bc3ac955ac6fd5b8c12f7e07272cba3d3af1506a77c5357e7c17b6883d1498d7465a675f015420da08f4029900dade8b94cad5e5ee3445c9b159b3acb81de430a39996e3d1abc7389e8ca34ef1a105437c543bb88995b02ebc01b97a86ee1520d15400dbc4c32a0b769ee2a9c71251e100634dea5c7771c7c7cc6ee8b9c5e2fad1c746f9be63394c1a36171828966ecc528f501e7a7f54f0a74d761c0a0fed6bd775047608350208c88a222b6b4e097285ff39a57620b579bd42d00f0adf09988c1e9ba8386806b79347d31460b8d1b96e0f26a9616ebdc8008a1ca46f60b294ba39e8c4080258d897a45a3c310cde1d71046f44f981c8de07b72c16dbacc53115555d19de38fa169414294caf0e90f7766d1e2cc3acddffb84d8b1770ec501fc32c22c7a2c5707f724590a73e96a30b243c8611c4342e2b5f1c94b67cd5fed0f10811ab82b28c16c38ef2aff795cf40babb92c19e62822bdb1b2d02333d14efeb3be8206165d3e75171d5666be0c92e96235ef2c\n\n# tcId = 123\n# sequence of sequence\nmsg = 313233343030\nresult = invalid\nsig = 57f36d681dbd16ac7cc447a9bd77b3f71ec31ae19853de2d9899d8acf7a95002f8e838efe479f56995d56e9822e5928d261017e1ff0042d00c9aa8b2adc00ea72778279e9665a394cba187af5b9ea3c9772cf0721528ca14d1cb6bcf0b13a71e455202641838f6bc353563204147960a5cadd5e370929cbed21150c85df76dfc907d4aa372e66e891adec59aab2460a97f473f0bc1f6480d2bffc94d0662d5a35c6771aaa", + "cd07e096f9802116b9b2440bd2c4b85c57556f4fe2d0765fef9c77b2428c39a1117fc26ef7f15fec08da0be03c0fd4617b32038d692aa3999f81bff85d1783a48a6f0973bbb7df191da707b797419c856e589a5acdff0a934b0646bc3e42fcf6f0568f233096209466f0aabb90d9e1ee5945820f46fc4d7d63f12048a542d3d4df4aaf21f43fd7ed74183971b458da1162864fe8c85187868a3916ba95e80cb130cd89116ce3ffac1b9d3090b8d90be18f48d61ac56635fda18498b4bc9a6ac1d41e5cc7f73b67f28dd03572f1efc3a73438652c3e49a6be79c9325439005be0d2d87d9fef65129bd6c9186a01fbc3812738b006e8952c500f4b271694f3cbc7b9dc648be76592fde4fd757f68f79d659ea3edb6b3434a73a125303e1bbe6d24bcd8e0e4b36e70b3e386b181ce8291492eca83fe7633901423ba5d273e1ce2bbb8da9b6afa8ca6870ce99cec7e5d470eee11d1835012fb228ca1c50\n\n# tcId = 124\n# sequence of sequence\nmsg = 313233343030\nresult = invalid\nsig = 342ec794c9b7ca5d17ac049f38b6528a847ca8b9a56cbcf05d106b4f3ed1459b3d99df85f2f5c55f1c78aff72007ec8a04a7d484865120907cc4afc8cca65bbab407f60d7548e189ae03bbe3084a5eddb27412d63e2475b2bdd6f7e432e3715222dd21ab3311b70d1199fcf3a1577f94ddfa9ce19029b7d7e9bab354fb471188f03956773b839d4c2e2527d912fc13daefef311e023657e17f2accf7f76056e3ebb24ba42881ea916d88ee494eac687ce75c6af7bc5206a25ccf3988a6c39aadbefacf496ae5864a1176a1f556f70fa9885b4e0fc263d70f11463d1409f6dca8a3fabd5898a8b93add7cad8d46f122173a0b764328e649251ea1184c4d13d7236fd420c8dcdfd821df19e1ffbb082dac30220d3fb7e16bf9711917707842aeab180c3ee05ff2529a3c5be2677768be4ce7aed70c64c8dcb8c7b22fee404fbd9651a7a02d514c62e7dcd8038deeeb8adede607209fa263bdae4a5ac37b8e7f3c6e8c3a9c63ebd250c5846c331638c147e39f3f8ecb6356e9238b779e75da7b94f4924d63211796e88ca11343455a5d1b1f6c3918c311ece01e5fd65f766046452c644319cf4e495e67ae1c108e5b7c50fe5e3fbe3fa75c25ed71c013f81ab53a77dfb8014f357afe68a42da2e41e5f689ecdda7445e3c5996ccf16eb2dbc2b5f4c4601aa4094929986a776def1da70a530bd21d71d3ef62d559eb2727216f0f30\n\n# tcId = 125\n# truncated sequence: removed last 1 elements\nmsg = 313233343030\nresult = invalid\nsig = 770f83107ea496e0b6104c4d507008ad00b37608d30426b960d834c64614b5ed556771cb945f69af00cf2b055a08c1e2292dbfef0135e913164732348607873891269417b291fa737bdf689a11f48638e55a5242b55698b1c19080fd01fb4b3d2409ec9cc3b8a06c0c6c3244ccfd38ee9af027e84a2ab0cc1a90bc9af780579dbac88ef61a5aad1a8cf6e625eb8b18df7413d4363d68171430088897f02c5751a321d5c44a2de28c4739e974a881a46bb3c7d33021dc40c6baee2b85baa12bc9a54047834ce19f2ac97859b1e3818cb9179fa04f339d0c348f3681f40eb775b0d5ae6df0a653b2816d98f6a3554846f007c357f1f357d4cfecc4177097b0eb88dc4d132d70872f3f51f18617781e6a4f7a3ed74fb653c7946ee6600392a113d446d5a957fec8b797313ecff115eabe61cc7f01af93fa1af6dedb962f26f10d703d4b984e5bc33e74de3c04289bb9a96db7180823bf74245b4ca80262438cea1cf2b552289976b026301fc1570d94fb8767def547f086d91609f5b133755631611b81b3bdf1d63e163c3457b2ff144bd2a98805ebfc29b75ccc605e2a98b75f66ccd4182be191f8558c4b5aaf3446b86ccc1fe74758b85b555a268eba91acec4473bf96729a423f22d3222b042aca2d7838348bcca7563df0659ac6625f1678454e7eeb35ae0a63873f0e0c2632a4ce990826e66b943d70bba0bf562db8a289fe\n\n# tcId = 126\n# repeating element in sequence\nmsg = 313233343030\nresult = invalid\nsig = bda7b5ffedb9d0072c3dd8fb9ca35213dfb68e61eb9e3ac88e2647e3a7dbfc28de193485f97561b7c72e899416bcb191798cdcff2f50630aea4b296943a970dfb983acd47ec990d55b1ec8c16329ad94320fb1c2c3b896a19619dc204523aca890324f022b41a20bff7ca4356314bc4e952313edf91cbebfe55a65d27ea92290b975adeaf952c5fbc4415e7d8d3bd6e6319b578de5a66fd0a2197736b88d06bbd0a58ca65e1ba649759c70ffc914ab4b88bb81a1c7e6a2d4327944c967019ee63e34adadd5c1c77c2c733d02f93503e532af0a5178be79777a75a30bc2b4a5a374ca61f35f9d166d9bd3eb0aec8cc31b4c7e89bb751d1e38a16df5860e393c7c7ce995a315fb7c9a3d5c7eb38ffdcd3a9888c5b80b19cf35885f2ca26ce78a00d05654ee97c5dca4624f5c763bdac9fa45e8a0f53c3a18859f544421f746d00021aecde92466e5be57731900e57711e49868f826286ccf44133411b566b5300d9205aaa3231d02caa8434043e30b891b4e47969db9cf85ae95617db31e9a9d8834f816552c239649dd0962414cc683a39089144f3c1ee8c622c41c7b9b740a840ccd7f24275618a3f1e68c50f37c8fa073bfce35629c5512de29e50e74cfd66600564469de2500572a3e1867f549590bdd99f20487276246742dd114eca02905ebaade0a3895ee0f3d5fc70249f28612550f1f7a9a0356d4fed33020125b21c7\n\n# tcId = 127\n# long form encoding of length of oid\nmsg = 313233343030\nresult = invalid\nsig = 4f7ebe74a37d53164e8aad17079b798dce589d4b27878e57789093081e1fd6333871fca7943ad1444010f8a181c2cc6fb35b0729830fbbe3313551d51dd443011fda09370cf7aff65c448e5270781e1483291efc6f6fedfec81ada2f141fd436f685d28acfd7e2a01ad2e87030e076d8a93c497bd986654409c427c4f58ff7bfb9937cc068230804fa78977fc7649f31202437db9475db9def4e9b8409438c0724b9c05f3ad9f5ed9908ae3211367d465442de238edc8c2ca8d0e109cabed865fe37f6a4994651bbcb4d0af61e466808be729cc6978d1c08a1332a21f04aef0ee77e62becf11590b096704ba67219147b0881a000fd06baecb87db7549a74e08c17f2c1b54d93cbd43adadcd94fd116f7aa45d6e595d9ceac28d5ea23847ae6424bebe2d856f1c5605f8c88ba0ede58b90382e3eacf64c1c153174732061f4c80d071bf985946fcbaa362049fa86e59a72a93781a26c0f52f93a80e42d4a01fa4d292911325fe2cd70fa48d7e02ae80ae50bd37a2b23010cb8805b26a6415c4c6d265b3e28196c54d65cb67736378b00551a44da7d2f9f345f697175e4d5628f61998429312045f2baa16579a8511d9b4656979bb89babdf101ca9b81d49dbe0e329c9104ff76e290f6182e96e729884cb8dc3c5d43818508a19f462f0b7e4c790ba7601ae40d41cc6678a8a6eeb694d7e2c374397dca9ebc6a49ff79ca5463d\n\n# tcId = 128\n# length of oid contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 8023460b5fd886c16f15c0a31d2ec5a0cf43fecfb5a5bf4c9ca5a13e4c076cd55483398a20920138d821f1ddea3706ce3ea84df82a1542e9905f89322462e818fbd22873176ef1112d5bc2d8be0363b84dafc4dfdd4f09a694469d0c60133e2f4563a8718f0666f3d137456c2a1b644e963100e43b038b0896bca1775567d9ea6f0dc112918c2a5049c00823652222109eb6de7ea784e1f620666d61ba1127b4b2efcbd184a2300365d04b4724fa89a915d59c62903e93e8aa2b5cd04f6e1713de76335ae34ab98e2ab7c8b2da8009da54124685b2ec2688c4cd324e0b550c521274c848799a24fc901cc8f4cdac2a83d702e8ae0dbd1cafb69cb5ef4980e39d6683ef62454b47d0234bcefd2a9d93a482492a1bf80da22c8f43c0315b81f845b9597f855288370dce9f3d4256573e867d9fab46e5fcbf419f7f87c8ead3beaf9ddb345970648a0ceb2a94b487aebfecf020ca6b2950619da60af583abecd0c3f35fd449f20de3c6ae3ced3d348019c60295d324d68ca6be1071d336658e98d6882468ea8086af6ec66777076425bd708a046c259a391d90c1c89fcd4a8012de03872630368419d5d71dc1d77d0624fc6c29202c60cfd4904a1455955874c8fea2ebd940215d8978c5d23cd40cac7e99575b9b536eceb3351dee111e7a724798039a9c0bf8b5e671060e1e497877788967fb482ca6569472b6a4fd195dd1f9a7\n\n# tcId = 129\n# wrong length of oid\nmsg = 313233343030\nresult = invalid\nsig = 6e936a844e70aacab2a52b08c722035c1fece44e7da375047c8a0131072d4cd34598250ce2d953f1bcd3b9f010f6e73da16b5956b26017831e4937e3331c74f67de02623a0553e236e2f2c6c37b5ea6f9e88f2ccb33b6aa92823e23407998fca861bd2474c266070d32433b2d2d880dee2969b483b7b4701fc2eadaefb0954d17a2ab9ea94b050e84a71e32f319cb517f1c84a2df48cf8792fd4fe41ce53f71fcbef77a2aeb4b5f1214564e9bc238f92fddb7a231d154b65b1d02441e45a44c68fb775ecbad29b6b6afe0bcf37f7b28b9c2d0bf2aea540eb1a0035552147b25354f695070decab791e6a6f4524ed7d5991bb47b055fe4110a55dbff10c8d906c3b05bf012297cba96001c175130316a6080e9ef61f0afc653e9b0f82b7a5f07734865754753993c80b1aed172b2fc097d9cc1bb0eed9ecacab4f1954f454954db7bac959828a1b2e3e60f9a72280237d54653daf3561f65aacfb930774dabd34b52955d7f44cb81071bba7843ee327847e6f9190a6898f0907435595deb3ae9ea6bd6a11d1834f663fb9af3676f76a5e12762e893700eb9e65f4679dd2357b093285a96af7654cde9378919b5459c92f9d439b88cb3d9599204543a5ed89f24457c5f43f0afd36e774a23642c4359d1dda581cd27aec0fad4fb2554058d37cd5f517e3f0e9f71d9e80454f8c201144d966a626afeb31aa36126c115a33496461\n\n# tcId = 130\n# wrong length of oid\nmsg = 313233343030\nresult = invalid\nsig = 89d47254637f19d578cbbf89ab9f8dd5d658411d763501e10dc13a73b1898421be0b28352e2c505c3957cb65d745aa6dec6227954e7d7f9b6be8ccb98ff67f5733efa8b10d2041b862d2123a055291bc3038f9abfd340eac2e2ce9e4a6ede56feaf504903e7e8a2b1534bbf774cf56db230ec03be0da2299cd316af26c3e2058d3551ea3319b38a2ed142c8d806a0fe308a752277e8061aed64fe252464d94d60e1ddba421ba48262073b114566b3c9837cf643b8d168342624282dc20272dd5d92fa3de55fb1edc0079f4c2f63f2bad399323c3d3697e48eb5497289bedfcde9303e1e8de42f45e6ae9bbe94ce1cdbc1e92755ede9dcec33f49e711d0120df200c0dd6747801ef42e08e6d32902876bfd9a946ce2167a6575d4f9ff6ead1c320c2234482aead7fa90720b8115932cf243f49d3545e16e70afbec4c27b12dbab36954899ec927833a81087abb75d9bd854a4fe4daa1c3c6d466ffaf15fc2371789d64abef79ba05036b671311944179b", + "ce2fd6e707e4987ef9201a2a20531ab0dd163501892696166c47fc00e1060f5eddc64d79dcaf85551afe31ba3d87aad9c302e7c22bff0d7a5aae109f9a1bd95e02ac5c41bb3177a0bbaf4a1efef0dd9efa6e09d4cc3900c5a0164f6d391fdab7720c577b7fa1f6e3699457c72bd7ffc0bc32198e7ecc87a26946090c0199252a340acaf9dc5ed063b0b2ead7350ce5ce\n\n# tcId = 131\n# uint32 overflow in length of oid\nmsg = 313233343030\nresult = invalid\nsig = 40a14c4df726ed0f62b294f62573994e821d855a28d990fe600b7efad50219b2b2fa584ac37aacaf50428a36194ae2674ca2d6775290eda47cd40bc7b15a43f1f14293ede4f90c29c3a5bdd4081328d03d19511663d1e83dae82a791fda6a97d70ce80a977e4cf6b68ec832c24e4cfab0b0bcc9730d95395630bf4ae205c54cd45a1b818c83b6f9e457644671370753036920d62c2d6f64ded5f8249c79badb8bd6c2a1664069979ec38a739a92fd81114abf1a143a51af4a8895912e83b5c08a5206931feaed126374e870bf73e36203c9ed70028bcfb8965f2fdd115538d3cd603e2b172555c11347ab15caf65cc535bc09429fd0e5ff2ee9ddea121b18caf4d6436c24c56c4d97de567d4dee96daeadd310c808358cb1fbbf7bacd2b87eadd063e9bd10d6969b9cfcbbb7287162eb2a5fc904d53408b64cfd346a507f39ba6d8bab3dc01a12ebd753a7113fe3bce02ddbb47e2d4ded5e342758cb9e9113f0f287da337594fa3da4ec03b167b606f1f5cb42aa205f275e5187d166d8769d0d210f88fd956580ffae30c6fc637bbf16204146309569fda24fd38ef7a7ca5bd0f74ca8197d2bb9b2ef82f58d5e541a54190d1198a1a3d88a4e0331f1900f8edf2d31d6d8c74f0662ad92ec598a7fa27ff41de4951fdc4c353cb90caee871e725bda215068e41ed1df37f6287157deaab3f6e30c68cdb71e3257165cdd4c1489b\n\n# tcId = 132\n# uint64 overflow in length of oid\nmsg = 313233343030\nresult = invalid\nsig = 80c01d6f05ac1f8cea15e6adb85916192c365af6860d9760082ee6c15bfe56139b7bbe81865e9bccd775c0e805df4d82449dac42b29dcb7d404d5cb0532842572677fdfc834cd5fcdb0eb4be798a50d583b8d4ba730712e3f2d7c18c430aa7622b8239851441021fb08a9f98d51213ce81d0fb8e07ef990090610be6bd930367d76cd06835fb32cdff607d27f55a84b8ad7b8cdbab417cbc3072adaac5694c55a2e63a59a67585b925a56a4d9f47f0e9012935979ac75af96f7a40306363fe3bfdb428e9998adb3f2695e68cde1310212439abfcb5f78b56c5bd3db7b48caf897537d29c9433221359d080af9f8139d946d87ad5561741508f4ef400da92cebac640572c62ebd1d047a0f575fea856eefa057fac1fa3fc641dc8c1db63aa9074afec472feaf0082497cb37fe86fd84303b501f3e0346148635caa1ae2dc76f9fd7fc606529d5ffdc7a74d0ad667386aba017d510b11ee624adbc397e01b24ac8511bb1f3d1f74953a28114b5f26f0bd175f13949bdacaf9e69afc712f711d51c54c04db4da3c598c055ed786381c449265433719c26ebe442880f0797a254b165d0142527aef085a025b53c422e5ed4c4f8ad66455360e1344070c9ed3276979bcd210db43598033e60bfa302a02f77c30bb18487482d2c9b26447527d6cec876139379cc6b2a5df9f3ed91ddfd19a9ee6952ad4ffdece266203bb77a136a6de\n\n# tcId = 133\n# length of oid = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = b260371786cab481593ce95cd03a0ae66ed3a9b9e15f0a5a928a94a44f26e0c965c0035901ca12d09b5acfcd95ae770c7598f49e9f67eb7cf5d62722242cb0da595e2b5ac350140dac4eb36df1fdcf2298365527f876e1f798396b141f083b5de06f4a37741da6d8a6b227a8ffa1437d9afb73bc5eac196d846e3d7b209e61ef8122809fd21571e22876c8229e3a6ba49501784199ad8836838d2c28b90f86c570e25edc8aa8ebdc2bc2c08e8b24a0fa61b57fcfaf9427e6899b8fd10f2c263e3d2eb6981537bf461c3bc0f13748b937fe6ca7dad710c1706fbea0df183efb1efaa5ea2a73a61be57acea6dc6480db146a0798c2d50a310bf538da086305efdcde7735da2bd5e4efe5f1546602abbb378b1e8cca85507e6af865914b07f271305cacab66ebbcdaa4f9a21c66bae144b97e80aef5b75150613d46a2da399f3a51d4abe8d5959f96819820594ac4b8e37672552f58e3339b259cbefb000ab82c3c00839c265c032bacd25fd5c0c7816e65539eb4598d669834e2771f0fc416c4527e0c904e96ba50dd6786f6296b4d0de93ddfee864f8f8cd1a38c82ff4f46494aed49bf928721945b5e7c881549dd31b603391f1eab6d67ed5065d19d78159766a807fe05083d13986949b5fa004bae48252878c98aeddb884b079dc55b3771a67e294bc3aed666d25dfc865c7302bb012ffca4f146abeabc1eb1268d88a6faa2\n\n# tcId = 134\n# length of oid = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 84b69d46718915c6e9fb582d7209f64d7d05927985b47f60903584f73d1652d571ec61243051dafa5d440d9ba7ee59813c5ed847386952769b0c0ebb9633b302597a3eef713499129440a20e9f4c33d982261d68b87c5fec638475c41982e84229b6ce7e4d2fc957e66084dfe57702d94a7e8f31599c49e1baf6bcff00cf1a422e833c29233a71db631f125b1efd05c472d78f1244a2bdb1707d6c9f9b4fc7022b47a9a6de1530966e49a67e0b6346afb05bbf77e3fc415a696509b7ee4ca8e7b0a9b8cf7325f7f5d4cc37ebcdfa009d33d285e4064a554f0bf8010528db507d9dd12172236e02616a4e8693f064cc08e733eb1b975956d1db53b4d267fd0567e5a913f083df1dc3053e2377f0f2e063b69c4a741b51a2cc430a2539c13e831a7f35ce971587b08bd90ac0c3d801e22ece2a673ba1e224d4bed142f8a6fbdb6bc2a573bbd0674a05958868d994cc9c91165bddb67d6f2008a6b78896a77bbda1d14ca1f9c49dd34ae43f1e85585396b56223c2535b49df276e7e25bd6d75f137c9f3bc6411690c0dcf9b9d0882996df8ba5a36a5178e0975e8eea0007ca4b54bb7f6914172370226033f9780614236c21aa2864306da344876fce8f24a055caf66809648b608107ab0ce1881398ee5b14c2cdc6f49521317b9cb68fc877b3b52b4909be1d599a835903832bd243fd0dab75b43a02eabf7c7c61efdf59a2ce2ec\n\n# tcId = 135\n# length of oid = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = 7755314b6e33091c4217c503165e7465cf272fa856ade2cd36ff9a5db7b8e846f15a39418ab5e681d038fbe89ab6c7f7dc8ff7bc57040844b0ca6905a9019e592ac6a523b0edda7d3f11e224da2535338e371b05f736b7593c37ff156f73003b1ff335271649beccd87c02d5308b339ffd5b909b005274a2a09c8a0ac425e7d51599158407fe05de1d41e11008143dfca497f70c0e283faf9554025fc0ecdb1ff83b1cfafcb6ca8f0cc6e97e3a3a7b62b00d61cc4c1401dfeae2408622e19d5c06e69fe7fc1feb4570d58a7049de874751309af9ee0fc7ca3b50fa6493d03368405db1d483b61486bf06e640985c3adffe3540883716c3f78281347de09dc3de044a5c60c33caf0608fbb685d21fae3213fa280ba68aab5f822b9f1f5afcd51832b59466a1212c92063d657441b55fc39cdbf16801137cb531fd23de3fea0ff01d5cc68a6804fb7115a7deb35952d9a0dff4d3e31d52af4b68104f85654619908d08b16881c68a52b9b52b4807c3b44425b0987c08ab934c1342bb5469646ec0480798453d5c4d471f1c2b59fd4e4e363e1b01e1f05e19157e2508e57b615a1016269effd29890148867f5cc4159dc409a3320f9b2124997da6fce481be241ad7d4f780786eddd5ea0ee7a0b52fe419148059aadf0b90cf81825719abe73d6f9110b01b96fcd5640f945870404afda9550926db3611d89b22b73d05976adb679\n\n# tcId = 136\n# length of oid = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 51729b157cf61f9dc88245a3d0caed291c33d738c416ddc9f4aa73fc17a2a9b39500a361cd0db72243e02faf129acc8378f689842db2cff07ad43ee7cbf3948902d847ee2d43773e8a86fcc3016cc879d238ba4d7f19e097e331225146dfc915ae1c19184f81be47a3cace37327b134999c497425671a8f62e6678530114665f1861df49e8ef9a924e40424daf847b6ae1297d4c554ddf327f3b22b58488d83712fc5d736bb11e807bfb83297484902e100fa9abd4f36dae6195239d4ba9da11dd685574565df0b2cd9b4cd60dba42f646d76315d2eff56b24f7ad5744e109148d608a0a130b278974047992d7c508216a134cf0dc73931c85fa130ada08905d0046c2c5d05125db1fbac0af81c3c465bbec62fe0d93f7971639335013e7daebe749c1369764e9ca158bd27624fd1ed440046bdc49a6c4319ebc41a813f5859983fa023f781b0f99ffa62aa22d77363970f4e9085e2d5e928ce0dca2122df17dbcb3db72c73f68f7b507356ad1c7b3c47500408aaa4aa8b9070affa7c7fde7cbf29c3c93d29ac2283543e0912795d71e21e4c722d6db948ba8c30844879b151fa7e1543c0dddca62c34461ac3220a57e7efa9b01d48f8c41c13612c74e47feccae95fd8e1bf41b6e4c5946c32a5edaca3b6a89793ce34f3579fae2a765fc21c3521d5c3d5b3d80d7fc29f92bf94127ca0e509112aa579d66eb9a015c001be1d4\n\n# tcId = 137\n# incorrect length of oid\nmsg = 313233343030\nresult = invalid\nsig = b39a0d5cfcdf3534ffd2b1f7f025b33dd949164a50acba28b30499c7c6a5ced79dc278df30aa2e1e8086377b9b958a79751f32c4804a435f237c74fcdcac84c6fc635723446196b46d44356771eb5e276f2c8a2e359b2cdf052c0ad7fb629fef23fc22c82c375ee52601f858cae79643646f77e4c84fcc31f50455a48095c1eb72a54b4c0dd36ea3199a762a885d20694e0875ea2d2237053086dd7d34982ae10971b6bb478a85193d1114aea5ceae7821cfca3f521d62c57e7c97b55dd5fc1369602f15874925745503ccdf131345815bfd16b386de391f32cffd30a529e9f210cb3b9efe865f07b50c26810fc7220089b193e51003c819197e0d4a4044c5eeac1e87288a091db026886e09ecc386cfc378b775f42d403d6cccab2e473f1936eccb4cd41d5b246870ebe32785d8f9abc503db5ac269554ac3b6286b3b63434de33aee9df97b817050b0b857906d6cd4cd4d07b11df2058bcf924405ce020c42d01ffe04bb3919deab04b190d1eb4906378288a6feb1a1ce01e8256cf5b5f8888d6ce18b093151ae18bacbe81c42058fd35d6fcd1f6385d9d7a01a164cbfeb6882c7d094d2f058a5686d64708c928967dc8c7115ea940f994416563115d847e1c3e15f63618d42af12b47ed76b2ec0a96634b409c80241abcf3a68b0e255b9da7985a966ffe8098f1af6c7fe9da64be053c7db9addeb142f97a3ee6a90fe2329\n\n# tcId = 138\n# removing oid\nmsg = 313233343030\nresult = invalid\nsig = 1747d4961c28d37c225f944ffbd967ae2fcb8f5dbd3ec217cfed16b1e", + "d602f3d00b16007f94369a754f240ccfbf089f13a086d7e5cb5c39b4205d24c1b1838ab13618c8e6607d9fa52d08243d09c2ada538ee032fbf4bde8fd0b80ad97a557f6d3deb365481e6895525db6664c10f909a87915091608764707a7afc42a64a5c8a8effd4855485de4457d74765aa82a744614d35c83a21ea8f6b5591eec74a31476f39fce293328f9d3865070942308d64599d704aebaa707e406f3ab55945b7f9165392c13d069527011d813d20638d80eca7fafbdb548161e7f6c8ed25c0e8ed1d0faa3179dd18e75f0132ae11bc1904f7b195a345ea2b78025f0de6d81e05c01bb1734c766eb23e4032febfd5a3617ed3641ba7e18a16cb46ba9cf89dd406f8ed55748e0e9e868578a6575470b1066e336b4bf8fa42fc687d0590c8055866c3bb33d272f435258fcc2208a161d300267e7014b2a6bc95a42638daccff3cdad1570bc3e92746108d56d5ecb4a5fbf7d43062b5906571f41e09a3f7d2c5858b80cc25f9fe54774874539ffeefb485e25f2330893a16a0754b681ef34672eb8b881adb6700f5e19251259a3d20f42fd8b9bf3d9bce3b7b53639564171ae6bf78943009583bb1eca73809b1703f1ddbefc678e3f435c356676803a6072bbd0711d367f28f70338414895bdead3c97688c1e070f77697eef691a8cc609660e4f6bd\n\n# tcId = 139\n# lonely oid tag\nmsg = 313233343030\nresult = invalid\nsig = bc565c386b1056d48bf0bdfeaba954dca19874a51159f3ed835f2ed3d9023e3752171e70cdaa1f8ad1bb47cc921daab303f371759a5eb35a20722119921f2b3b866d2a806c4ce9ec9ea458b26c3e4d1e1c146b4e5cc855fffe27e4409a4fbf1c847ee6894a74a25a28e1dbdc4c3cc58c645e3b81be590aef4ea038add13779c29dc7c25710750cf516551d53e8a50f42f5117b9c6e139b2e8f1ab64331886a959136f55a03614d230b2f2b076c5d76df5dfe1a3ecdd38718cc6cf9c4d92f63df73b6672591760e46ed7e99ad65a800f15df2b88baed34d70242ae8f1a966f1289fd7beda15105bcafffa314f899016ad723a3e8fe067a7fb7763e019845caf1259b8f82cbf4dfb8682c7ac98d9293be1f0e697dd1c2c5bedac5a8f4c84e7a27f5fa5122007991c34a415ca7c8ea7cb15b16b2d85783e703e6b95ee7e2920fb5ca35b1f0e06b7f3107255e8b3d6041c5c105d225fd3eebd2799fc6677454a8a72d9086f741e0d83b4bf4a4c8051e5f02194328089182de71ad70c083287150c42eb48c613ced2aa51c713fffacf451c7bb03bed05280d3b30c2fb702e9efd31b7e79a3c27e419243da148024186afb40213a5c9b9325987c3abcc40187971b8590f6f4c3f945a63044851390ebb6ea99fc56e682c2c0c1b969f1fd265a7d6d11a38ec96f9ca517ee9849634bdd0cdfee2ecf0af21303ddc97b93e9c12e0a136fb\n\n# tcId = 140\n# appending 0's to oid\nmsg = 313233343030\nresult = invalid\nsig = 3d8f557eb9f275a861327edb49e64aab8f27f15b0503ef64543cb50003c8e8198d1a21b220ae7fa8f2b9a82d150a6c07777d68ddb51e2ce4954f96936bf62f4f8b0417138a28cdce24f760368cf8a2d316dbe30597fe6060da1ee0a6a8a79774431d63c425a70eccc0ba2e6edd5e6708183f556689235736610049a2ca48e3ea3f4e15966eb95401581d159f89128614af8ba09cb380b814a0e0798ca89413a7ac4dd882b051c95599e6997ea029667103433c8f899b97807ea5e08bfc96e2cf7b1f76bfebd1ee3bdec90b6ecdfec135f97ccdae19d9c2a8f27fd63bd4ebd8f081df8db0e467a6f8ccffc09525edf345558446a919ef25acb69d419264af84cf45ac9756af252d8108cb10fc63fe8d0f15d8ce8c3ba4aaa9131bee157b99821e2fbc479092a9bfaae7b816046826e104b9f89eb2472b1d604ca09d4d530dfbb5ce8ed2cb4caaa0b0bb0c7694b37e64ad1f7bc26a976bf69467c671561270b38b224f0817e0380be488f2a86d1eb753c1470de56eb72a18380979e7d2f4b6a39778b4546f8b4782b19b5cfa41544171ff640a90a418a8f3fbee0e0c7a5e3a30c7fc2beb63a6bb51a071d6fdb3ca6ffbfe9d49890529a4c47452cf34f828e46c2d14437c47fa7a0ed16a1024752b5a9112692ebec7fd4f81d443d52c94849d3a1de7880ca30886f1b7497a18ecb3da314e66b6ac35996b609682307e1846d1efdf\n\n# tcId = 141\n# prepending 0's to oid\nmsg = 313233343030\nresult = invalid\nsig = 7d26b01b6f272a51683167a0a345b132e2a259b1d2d255d839844bc1587837a366b9313c33a76a8e2c3b0dde023d4b4b45090fa8ee80ee3bc1ccbaa7a69aba4ca0dafaf412aa618b4ade92260a34b60792ab817a199d6a4efb8edbd1a6b1f9a2b9b100eca45f2566f29c9f3af891442804e7f9784ffe9cff2d8c78485640668ff7c0228acb147d66f8e42e72ac8961dd6f1102ed68d9812457c24e87708e4225ac098b4d604f1863fa90a45a6adbb67390d715a393e1229e1736bbc8a7a5cf7b7bf8a5d132122bc94f6056a47dd3f4ab0fb395adc96ea6f1ed3f96d0907e14b80d539abc99d5a5ecd1f7cfe310adf519a15c2cfa0447190c70982c07b35ca89c5717b8cc7bae01cdc7725af43fcd4ccea4175564b1a673c464d83f8c43dba42d0e2785245dffcc104f2e717782886dcddd29ca2a7ba5ee630ecd2ad185ae29647b728aed38924001ef055077ec01fb0333d5a687425a8385e7ec274635e780e0e4ed50dae9602b133111a08ffbd266945cb6e798b45820bfdece8b9ea7ac10253fa822e45071b8cfbe1387b0b7b70ca0a071cb20c5f0487c2ed022123606dd6a9228cbc892ff0c39e4816e8e1974942cc094cfa324e9074d55fc66acf160fb8577b04fa213a4010133211d59714fc1bc284a9d96d9a7351ac644d48e0ef6518142f06efdd702652638ac9725cb769b8c8faad1ac0c0edc344d17483f4f1dc073\n\n# tcId = 142\n# appending unused 0's to oid\nmsg = 313233343030\nresult = invalid\nsig = 19f9103e7ea9ba79c0e880bf8724136202b5ad3328108384813ebffa98e1c84c7f335c99473cb72207371222e86a6c6f601bbf017a1bc50a42749730a03bf6722c24a928156b86bccc97906be1ee6abde357a2ec4850719d8507a567cea7d1581c1bfd35b78aee7e44edcdecf768d636a257ad39f9def79e0459bc33aca63d97287e3bb37e41482bcdc0bc41071af3a01a33560db1a150ee744206dc5ea20da2bf75e5d2b7656d85e83d9bf63250d97998e3cbeee6eb3e112f590017c5d0883af97b7d3ed36ec7f8fce6bc84c7cccbcd7f69b205f9ffbe2aa940f929be01e25861efc0bc0701f366a5197e50da18f8d79cd277c48086d1373ed67b983dab817fe44fc1b85411c3205a46f4e209474a8b23c0da698f8c4130ec8e032714a05bb38dab60c79feacaac3907c4a353f21c40f00d3df123fa4327d686576606af1e380472712f65ff064f31ead17c79c87daaa0be792f8074099ce70bae1016a62f941aa124811b1316a6a584401ed8b3c5c58583cb43afb29140c90422c9557b8033413604cbf425a1f3d61e7d8aeb9f989a2b4d2549602f2db514b44b82e7850388cc396f5be16ac1a5d4e919724239c5c784e16d6439589e832031c1a133741ed373a1ea5a7ca08916b7a305ec97dd8f2ec080a051c60f4e7aee36ff5ec62ef81365806ce48a3eaf77ccdf4263b38207fe922ae4beb49621aa396376357b03dc88\n\n# tcId = 143\n# appending null value to oid\nmsg = 313233343030\nresult = invalid\nsig = a5c5c5ceb2d575014100aa459cee7136fa14894260c42d89da8b5d63e100ff5b504c25103319366e169a99516de7d0e14d37c590b586b5eec989a9cce06141f6e130e377285e4c64bdf57f2821f6aca81db1bb95539016956039d74f7c3f47fd689eed707f5e6defddf68f0d5185debd03d67bd84172481df01a83bfa45787585be655f7a064f8cd86d03fa2537f061edcbf8a141caec80c6a745a77c5fa8a00821582e7975e0f61a5ef0cc5ec2ce48fb793dd28dfd076b67424fd2498ee01a7e6721ce868474bcae0f29ede3a3afc7d6dae8bc35790ddf1e61f170d6609bb9634ed6bcf2482870c700dafa2af9769ddeb7bc98fef19fc04ce1663006d44f388c93cd6f4e4cc56825f341c09073a6252f142404b1521c83b42272899b19b7853d238e50784a9d5424290d1763a441a7709d02e49bec7c7837fffecf13ac1a8fc21764b5d88e333172a660c816ec8472a921dee5782d1037f32f9b938da205411c05f8ba0e869fed9efb7b898558d0a5480ae0092f836279bf4bea3f20d202bd8a2cde9cd118c84cad909be76a5aafccd602158052bf7d2ad765526e26648eab3526a5d5e8d198231e88f487641c8232a9e15e6acb1e72b550c6d60ff47f3247a558e94b2838032b2a43ebcea66e47e554ab8783308c75713d58e57bac17ffd472bbb8ace21cd8aa3dd60e712c76d81b7bec09b23d3db48549dbaa7dcb42e5e9e\n\n# tcId = 144\n# truncated length of oid\nmsg = 313233343030\nresult = invalid\nsig = 959e078e58b4daeeb3cf822627f6603bf94ecc5bb5d06afe4755fb188b6d7f96223cbf39211a8a37929dfa8c429544723de33d8fc7082625ea483abd525551a0be89a2d3c80d810e7a66b86129675c87cbe54b3b5b636c057a3858a4151890fa45652b673399ccb0fbd66856c43452407adbf856deaa851b3e3fe39df38ce388bf8d368252d3ae1f6290328a3db8b924870eff43e61469aaf2f3a82a5afbd4ffcbff173bab81de4534bbda85f92571021975e06ceda4232b821e8c1fbc8fd897086ebd5a364a212ad0fae314767ff535632abae2e11d2012d40b4f7d4657fa6df28fd0105e6075414cbc05fa139adbd0f777d280ca6cb84c46b819293f165fb288a96a19fe58bb4ce835e0f2fc8827dac483bbd60c5d7398a9723646644c20edd068efa8ee85806a0db06f761bd325fefd07566a34d9f5e61897c39af9d7b953c3deb5817bf01084bfa3f8b1783e2f545abe8ac76f1d1e32ddc5ac66695d976f111e05dd921f4413063b014167e45228eb070a390dcb44443ea6ec44794c86804a64368a9ed51dab5d95b34de8719c602727dbe1952d7a6107a43a54877871ec9a82dca237eaf7ae007a3c35f33f3f39401fa4e134623ef69feee6c2ddca8e25cb8a07f8a696a0b344d046cf3f83d3580b1ae75af0a033a000ed490204ee19c0338e5eac9906dc3d66f5edd402baf5576c7df56eea17070dffe047997851e0a7\n\n# tcId = 145\n# Replacing oid with NULL\nmsg = 313233343030\nresult = invalid\nsig = 62f4be8408c6b8884e73392b37df67e92bc0efc3ac3f8d75a226d0d4955177b71d63d25b25353f34d4ecc9b9389958129d3467b57448e75820fc6630cd595c58263a582027dca51a7e84767c2e619fda7746f230e9f0679ba4407e1d2719774e8a4476afed55cd636df12391a55e4f94a37b81747abbbac5d95891e4971c705402e8a9e6d0d9c4a028f36ff2db53a12624086ed6d4deca25801d849d82d79e95d09eebea8d783b2461d1af6ef4ba880aadc1b25c7ab8dfe474f8eff200ee551fb261c620499b7cc36de32f20bdde7891eb0e7683893f3bd9aedf0af9cb06fb090628d0b83ce6cc3f7a22bf337a30e9b3c77e112ded280a391e5c66774d", + "a01b282ae7444247f90a4ef58eca6983fa271442b8706f881b3f1ca7c338bd5316f16bc8e7f5887e54f39f1858d2496f724ad49cbf9d1c53bcfa4ceebc9327d977d844ce25cc3ee109a54f33c7fb5ed72149f454b39da42aa64a96227965936e70c79b3d1e0aaa670179e5293e601e30cf18632b00480592403b915408a054cbe42c81a9812e9722fb19d96d9838ce9b5f83e953305278e34ed676f520c49814fe45ff07d85085fcc262f93b622fa26af2adcb5996b241d137aed2af656db1d00b55f16935b04bf6f56961f093632f3876cc1285cf48262b3d5431932d1ab7c509681b98714fe34c59ea8ff235118155d1ca81ec1f7467cbeec0baab014b84d26d62f4\n\n# tcId = 146\n# changing tag value of oid\nmsg = 313233343030\nresult = invalid\nsig = 93d462a876e26c401e4efed28a56ff2f4328d4b66d26ba4fe5679c334d7466d3b9907d4b4f78e933f91aa5fc18e36b751a6e40fb1221ba375dd55805fc0623834355d39985253dfcffa3802e8719db3a213fd3500506127fd9a3b856f06f1ba54c720458b1a40a7c349df52515615e61c7bb93ebf7871d7f781df46467e4cf37004fbbb87915fbea73368b5108de32ea25954d3ecc1777d1d6f818ed3ebc2b86b7c431df48974c5efccab71c44f8ee7882f9ef8057e87e1c48aeba10952b48f75ae296943988460bd489688a9179d27eca11e3878f7422177ab6f451ebc48d30ea79609b36c4fb16d35f43b0ac1bd2e765841f571413cd2474fef28d695a7daae3a42dbecfb4ccd3c3200b69bf39f725a15d749fca56eeee1b6c43bf59e490ae15237992561c8d7994592b4d911e8d26aa95b131ec228c5da95367e3a4a0ce74f73cf3a83d9ba31eac9673e73361ecc504ee52d943470db9668aaf8263bee6457338c19439cfc1d24a4f8fe20df2270fc32b145ef974d13e666124ddab7c5d879a2255cadcbcc78167e5a6afe692d2711450ed29f5459ca4a65168a090f17e82323b0ed5abd8558509071ec5b90acb7353a6bf5001bafd690c8c35cde3376e104a9c46b3c4d3302dbb00cfcf252d788a003c5cc50dd0e4cdb6a4038e4b7cf347ebaa49a9270c2b846d032b5dfced84571a1cf365c6a83a3f3eae71b97566a6c2\n\n# tcId = 147\n# changing tag value of oid\nmsg = 313233343030\nresult = invalid\nsig = 1b1c3f45878014d91b5c757bdab09dc48b38af3068ea80e1c2d412b8518c6b3382d067bbb2308d3e5c109bee3e483c90717d7c6d71554812acbeae40566f205393c4873e63bfae5acfa95ee73559d152595b78f11ab33112fbaf0296b335e6efc4aff2dba640abc0cc76c69cdc0f4748aa1ab1c4ae9792e2801a852b63f297f0d6126fd57df87a628a12cd1b33f9fcfbacf140fd393282cb9c3c7d04a93d3c7e00ddd691095530643260973134504911d98aeffb49d04e8594a261b813995ba19ada639de090bccc10b87ed1f2304a16d2a4b5c0c868b376789d03f291ae8c0bb9ec336d89c5865536bb725fb94a73dcb830f03d49d4567a444b1ddcd1c575fbc27adcaea7b1d98949890acbb554b49bf92924ead8f616c83563ca93874317048a48d71ec0aada0a7b8d05daf073e8095bc9c6fc280c6e35ffe414d75b059efebcb67ce51c3f6efe0967bff90ff5b1ec7cf818d9485f1dc8baa5e8e30119e055448f0d12b0005a0581c4a296e8490ca032bd4ea05ee8d7bc3bcf290cebe11ea116609e13f5fb7b9f2caae9c5fd233c88b8f5ed90b5c8a167187c9510e6e902eb927aa7b315dac3ce141aaa61a3238f29c19a2af0d76c9ee5944257644d81a4e8a3a5ebd4aba0001c4fe6eea68d01a0b0fe715f591e07d7b39f560a91f3559542a8fe9be39424fd852f5dea99524cddecd1c7127be1f6524d5de2acd10c01da74\n\n# tcId = 148\n# changing tag value of oid\nmsg = 313233343030\nresult = invalid\nsig = 9de0c820290da7fede3b34f8936c27812fd7c039c23a49117215ee99e2c17ee43c48727b6cf75a404936d393c1c592ef014682d49144263cec28708c1909cd4aec3270ccdc81de872f30b62fc6379ccb5fcf7056c100b2db6e57f4d2dc217a0ec9a3d6e912776c401b11d75b193e4b5d0104a92b0110d8af03740860d1824c5569451183c0f9a8bbbb84b64d2acc0595ff5c68ee203e0a0b148fae4115298ae9efda89aed3c7a5185f8e26b9b846bfee61d98da9bf0bb6cd5e4029dbb10f96e9f30815316399807ab31aaca8b3127ad35e2de8c01f2f63082898ff7913e3b8cbbe9191ca94074c3c99ead0b363d35d64df211462f42a30b280f4933d17b0f9df9ecbf424c07c733fef868c1a42cc380421df8a6c2ad49059d0cf7aa585c2a3314e1a0930a340d30cb4d4dbcb0514a7e8fbbe93a6071352ca91e9bfbce906189b8a319a4f44fbd4aae52477f90b75f82578adbf1310c6c62011279f1bc8c71519428b8b9be578a5532125a47900e9167f33d18307ce54b140778b5502b5a22198d1300ce03d16ebb95c4a927a69b9dafafcebb4435cab780851ce586b746f1bb46186bcffc2e78c58211087948546eb9260742ae938b3f04f10d194a4c937f9affd573be9942945e0720c5d3b4740f6a498259195243e51127a581cd6728f0d8ef67261320737906816810324089d9e535b111355d4bc1b1a1d082fe44820774e\n\n# tcId = 149\n# changing tag value of oid\nmsg = 313233343030\nresult = invalid\nsig = 1a14143280cfd555bd05a13d9d546a94f5fc0e7994eba32475ea07f73aaef2f5e914c6018db12835b3168fd8e39cd580918a52ae09df03b93afc2335f05caf5ed944f9210af9223108b50bc49a48627487f7131a12d35d338d840c74961a55b41c099b152d052371ed15a7849dfb37f65a980f628f4033803decab3db64c80cb39cfefd94a38e21c9c650d7734a40262200c1b9265c823b006a3c4d95e1ac3cdd493015e4616b70bf73ff0cdffe5c5c05de8e5007c8d58613fb4280e70e51ccf2680098fd89eec6aa1d860d03a8b2cb722208a68d721713ca6c2c5c514db6e296087a8aa4a65e0be3f721a9abf46aa4767677a0016e27e16fd12d00ea0b9bd30b8f44e698d659aedff34fee6f563ead88fd2d53f2c5260f23d299a4bea1829b85ae898b47d76fe64e6294c1a7629702e5807f9ae131a8ac34c694c8284065e986a4134401675ee4124fecbfb772ef057a5a2602b24e1842b7a4a160bf0ec6b599e9ec7ed6f4bb6be0c27c0c6505aff4b3ab889a3e8b9c24bd329d39a362b8446a9b01827330782323c455466855f5de197463fe4d9810d69490b12cb92023b4a02a01429d8e03f22dfe9f614aa326f0a7a0d153cc6f4f7c9b5d3916fbbf115839c7250657f03e17931269d043f16612be118f3d64b0a8a85fd57ac7fbc02ba7a5212c5e71813a3f711245c68a3b28db4723462af16e1a3db94e79c344b7614b4\n\n# tcId = 150\n# changing tag value of oid\nmsg = 313233343030\nresult = invalid\nsig = 76afacb11b73f2de01c01482b3b9c0e0be0a814bd0f9dbfe73e5acc49d4089d7702dcd9cc4bb3a4efb3036c8ff062fd816b41ce2b144c6f7fccc9c6edec44609d13d052011ba6994c74c30c5e17670ba07868aeeeff18a65a70408fa422428bba9131b8586c2a4ac2af0aac2c2a0a2a56f3126d1b76dd2608a3d9512b9396559491a98c761226ed435ac657172664b865fc5a038747f3ee225694de434838e0b87d14fed71a9046fb36434104051a17a658d76b129bffd25a11098137f561cc4f2e3a72cc66619658848dafc5fabce6707acf3c919ca2f88fd4117eb3b9805d2a00dc65da7ae9656e77d671872d73dcc43e72a0c94846061cd7ab361f0e3d33e03d72732e39545e6283da8b50726c6ccaec0ff96c5a3504da85b11e61e167a7965ed18b828bce7606f1aabaf66701c2d7c23a6c7dabbe8e087ce5302d16b2bdfc372be4f7002e7d3204b5d410edab015995dbc4258205a76d9ba1981dac70aaff4059c87255ba196140a0a2b8e484edbaf242dd3e14780c499c78c5c809cb11fa0329e17d47d890b4011838aee545b4312517527eb59fff5e52a125ce8dbb9dae5f72f3577344cd4f2330f09758e36b50dfd38006382767393c308c0acf9f4bb0c580bee3eb619b8d94a30568eb5a67b32e602370f7023c363c7b6d8ac38cc2666914ebfbe0b190a032405d73c7c2a8cfd1349e4fecb90d7e50575e3d3f5be4a\n\n# tcId = 151\n# dropping value of oid\nmsg = 313233343030\nresult = invalid\nsig = a08cc360ffd7fa1cdf82be1d2ee5a39b9dfa9d34eec9a7e5125444a080ce3ef49061d8f188facd751b06abf4ab4360ae343c245244bee8f6517c894491c2dbfd94cffca8344066009a4be1275dcbf3932d58566e8d71be2365d3ac081350726d429cc0a4edeec41713a3496ffcc476451862190142d895449851f07a79bdd3387697dc0b76a1476ecfe9cb05675b49a12f3552d0c3d90239899921fb41bd26774e00ab270296300c7dfc577f854d7868600f8ac69d7efa5cf331095ac1300d410c6f25ad48894474e9008c91cdfeb187feaf47c6f4cab4e4cf83b300b19a566abdd957677eb63d30c53c4feafd3bf37e2bd4680f2c4e473a1ceb44dd7ff18e99dca6c506feac0785255f91a03267a3268603e4d39ccf16880a436c2c87c79e075dd4e712577cb9dbe0dec4f42328cd1f369478ab43ed516bdb45d91fb237194149ee89dc656e0814f951ad30f75ea04a0ecdf8e3d4657d47290502d67bd1fe18b9530765e4db10211da2e1470849d7021a39cd4e7b954464296595064883374cd3ad5ac417fa48fb2816d5896bd7f0b588be9e483246c48afd9898b49889d13af851d064cdcbb4ce35747b15d1c7a050aaf494ba7e79687f59f326acae771742ac7f7b0f1a680321d0356f97164203260e187d661fe9387b9d20f8f26e3871eb0ae331b4962599490743e1ed509c50d55721be351ab7662f2d9e039699ebaa52\n\n# tcId = 152\n# using composition for oid\nmsg = 313233343030\nresult = invalid\nsig = bb59b5832cc0b4cb649cf9bd8548cc025f6596fe73c3315684ccce1b79b453093328336edfd8562045a4ba413aec0ae63678fef9402cb0aadeceb20f9419a654d81c83ef0e4183797a054091dd8fb06d8614ab0d266cbef3b871bdb5643dbe7a93fb0a733166a556993a60809083ef5a4bc70b525c5c0de3ef220d725059561436ec2162c3beb9793f4e9849e7b89e0a26c44446e52c514e8000c9f206676fd6a034d54a77c31ca73c2396f58048d6c90148fd6d2924bf125e3b126edd1f17fdf31498ba04b7b86da5f1c4a6843a7bf6394d021b1692acc641d0956ff3bd6b7663a4759eafe920eb28a363ad12cfbbf654343aca9f670ce6757ee12f21446c23ea32ac46b79d10a3bb55683caa97450607b5473920cf10c7059b5719430102dc511b039f9a55b9e1824332c9b0e29608666c0f1ca37c8c299a9c1c5ecb25e2b9695903f8d406c98c0ca3d74052f09d16cd2f4a607d70732b8d877285c9089ae59dac80e031e563283270dffc024dbd8e70120d44b0fd36c643c135a811dc042fa376eaddf2e3c1fd5f2a23c0b7f481f5a053da7a4971d911db3acc6d4a3e60b63b291debff77fb55acc5b7081dc75c651706986e90e9f77edc2dcf721ead020f86bbb1ba439ffd165d127e51063b0916f36ca292eae", + "26962cf9a59f68ef8d200652d42d13c80ce7f0b5817fa9c701600a4ec3fe770a4b42aa8e6016cd16d8dab\n\n# tcId = 153\n# modify first byte of oid\nmsg = 313233343030\nresult = invalid\nsig = 557a0cbd9b8b16b5c9603b2d36e541313d22a1904f446dbd308308679a096c2fc3110d4e98a474e0f5a7e04628f066b4480697dd29d63df810ef7f1890d5b16c3a7172200dbf7eff2862bbe6eea017cb8c98097bec1f342a985ed7d9e462a55da249f9a523c80b1cb5def853ce94cf43d22243c028c84201a993d2eb48a876722f939aaa81a9e92e65b07e541894e5bc23d8cc901b121dcb6f543a12272a81c8274bcf996bb010188d99efbbe07403c708085e5e7b24ac09e96b2fbe561c2d4ad49ab3f9d45ed7c2bfecdd26f089b9bbb3361c848607fb50ebb00fdcd8bc9dea6cd311ea49be89b1fc59063ef2da7a9b03c5b8aff5478e7d8a7aab8b271215d4f26afb0d6b71b4520eedb4687c72e26680e79c20ac06f7a245b0257567d3f325c186f891289513848c7066acb96241b1efc2bf2a2908f39576c9976131d89e4d1f7c71f0a4b97238d05e7e46cd207c0c864df8b8df368160fd766efb98cccd879afe48cf448eea4f660b069be0b15a6bbd561671997c5d92d0e1c0d24a52b5ac82aeceebe419b6e092ecc02b8f151a33108150301bffaacd8de624e4c50ef1e392063b9249ac6d2b7e747e5899619df886e41f92571d3015a1eccf1d1de6bf469bc54442161ecaa56d447c99ee5224e1d049e626faa95cd1b099151fe6091660fdd2dc9aae83b4c2228447b36a440c639bde2cf65a14fe778aaedb21fda83a1d\n\n# tcId = 154\n# modify last byte of oid\nmsg = 313233343030\nresult = invalid\nsig = 857a7a9076c1d8345142a6f66d251882cd958629e8e4a101f22d75bf0080a964916c5224484f4ac8de771c2ae210567b09bf49e8842e08370c874bec3cb4472cbf597f4877571f9a89e01e2d7247229103a7d9086cdd86c488dd51065ad8dfed3b30c9505881f4daed5f86ee6e8ee2eebc995b8da2e8b3f44f768bad620192f5e798b31b6eae9abad0b6db18366958b5e6c04894af47deaa57dc443d03391adcd5fcaba34dafe33dc8bea6042fad8d5313cf8b5b7079bc3a3a7b68c36777ab2e6f6b72cdcd93ce0297509f3db4fbe69a628696b13f705622e679a0dcc64037aecdc5b3b379692c048162fb8290ac71f017e82a85a8e6550f53872ada3efad72da3632514e50e709f4ca60c1f079deb46e70724f7db31f1c47fbfafebe5be9e78168ee135a629b2daffecf3077b8456ff91dc520b344461bf2c8be7de3f9889a67d0811695efc5799853c23640cdf5f60d837019ea6a536e27ea9c16ab5a7014e1c4fb6005d74a74bf1921a6d7ec725e336d10e1d649f4731b4ec2be54ff6e61ccec57e07f6a90a80085897f584b371db73b27d0e8ca29dc7fc35a809f9c69d7a3bef3740c93b0aeb3938b59b018009a4580e35337599dd56b8d06c63025fd12952fa1f292e053adee0a8cfea8cc8b5ee5d01ed4f141356e294bf6056eb712248a0884508075f40d0facddeebba5d73e6a9dabddd829aead07c7e473859e479b3\n\n# tcId = 155\n# truncated oid\nmsg = 313233343030\nresult = invalid\nsig = 3722ef91b2465c53451d59972adbbe6b7f65bf07c91677858924b5b5b4ec59422d6d57ec065fc652357963d616593862e74dda3b43d2f93fafb8366d4a7c708e3d0ec1098c6f92a53b7067bf73054662385957ed8efaa09675436154fe3b069614a0c61f58e78ee5e18dbf8daa2cc43a3bf46e4a71bc3db0a80c719cdcb7e009fe6f0757861a8d6e3c59a5596c428bb1767e5648cf682d03f5d0794061bebb57ef1b817956e697bc5ff3746510f29242eb7a4ccfdcab6b9a9daa343f4d86763f498fb71cfd842f9f8d1f7ddd766959099066a2adf21170288b2dec74ceff77728cb1f3a75c5897c0ff781564f628286e61f21b25dd5b36f8c8682f596b783a29d84d7b450c910c2b6b20434f377c304d08983af0b12e16a700f063b370882ad64ef9310f5716ec50402f33b336ee84a6cc96f115982ddd3d35a9494ed3d347d70f61cc699fdc7a7a1fe8808cad7f13e52dabf86ad417bb76614c0cee7e63a53f5f5e5b7e7bf04e94ed42d5db1d1e70455ffee317ee167f041b2619b6549dc6627c954f65b4b06171889429a21bf286cc6b80cc18db089fbc00ec827e3360fa1ce1f4224ada5f778c7e433863afe19350a248bb78b7c5aa6ecba8c2f8b9936980611c4260ac3cbf4d821a22a3d886f598085c3efc8818a95336ee6a748d0c811b7256f3ab8eee183597956f793a44e85be9f87e92b6b197baf7cf2f7a08c5f9c3\n\n# tcId = 156\n# truncated oid\nmsg = 313233343030\nresult = invalid\nsig = 8d1a54e2472f14039f1a2e1019fc6ae4159ad89f6480d141b78ebd8cd4837246a94c5938a67f2d2e05b5d5d196ae055d26e1b4fda469d6b8068163bef5bed0be6d098deb84e7007c06b3b6eaf14a07130b44dd01c14d7cd0d3fc2579c220f2822628edb9adb9aa5509858c14d242bf1d77d56a10e379e370c892d1ff2becf19aebbef2302aba66763c853e575c29421ed66f842b859c222ac2c0636078057adc1a185511085111d279b520cb2fe43b011554e8e7e37baf2a9a51003630759a9b6f6d2f18074751327ed739f39ad69f5275f340bfa985a4adcf865478278430eaca43d99cfe865bfe279ce417c10cff0f8cdf4d73a5e5ce77c95a0e306f3500b19055aba5b389de3d7809498725469f4396f05c2eb89a09f55cbfa087202d7c9b1f25fcca58f3908199a9e733f57aabdd3ca42bf2ddcc5612c81cd8619bce0c3b339ba8e9010535513d2aae38953b573800a4924a3e26a5739af64fb0667370038ec0e2f09b053e1c32312c72583ae40b78846c7fc128fb17b5f5cf88b276eaab83c54ce2db2b8d6ffb6cb8f6d0dea42f6c4b8a01999285a55c2e48aab2a29ee15d6101b699bd7d361436a6547788b68d40b340af8e61ed6caa189e1d095fe735bf98dd4fa8730c204f67dce1faa021238a1dcd34b14869d8ecf8bc283f964cfb7c8f01e4d1ed92204316b5f3eb5355adfc8f04ba97a2b9f0f221ba103551458e\n\n# tcId = 157\n# wrong oid\nmsg = 313233343030\nresult = invalid\nsig = 37a5fb4d5ba5c2177b7fe767e59ed949992e0bb6b0c9e5d1cd2b777bd1f57f60e79799b42cea9eef4b0415d6d1825199f44d703b80298c93f4cf5a46b33c891a93f9b54b9462f0286e6504f0877e32160d098fa7b8f593010c5a315399660567adcba7fcaeaf557feb6b0b743d09866cf92abb2586560c70897d2d1d5c7958cba4bd8fa33814091acf3e36260b44158faeed33510f1de9a6c8ca38f3182328576ca98ee18531b24c8699e4f975cdfadce528f87914aa1e9fedc573634534b2f080ff4458f64e1e02d71b2490a0db3595797b5ddcf213238d4b91d04c44bda997740e4d1a73b150f82e874cd6d062955f2993fbdf3523f2132d6cfd6ffb1e33ca1fca9dc53f2f767d604aea78a3f2751df2a21ef92b408d10549234490172c26168e293acc3b862e5537f9e6975476246e91a72e38b5554405e130caf094ffead06e397e885d79994dd3d7eefd7decce7e93621e93867d33c68ed87ed11ffa4ca700ee3c36cf06ad467f339fcbc35da52bad2c8e3cc65e9a89e6046ab0142095f0502f6ddab68f341f5b71c39d57629cd66bb7b0b4fdd507105cb12ec3810361430a78ccd1f0aedd96fac40f8f31823d6c3c11534ab3dc6978838ef91e2526362ae869fdfc52a6166bb5611a43f4783867649db78fda04954cb6a52f43d81048934519429de8de14a75a87f1802625c391138d79a96775b87ceff69d0f8d2b729\n\n# tcId = 158\n# wrong oid\nmsg = 313233343030\nresult = invalid\nsig = 0139c2571d73ed85895ed7e78bc4fd1eb47b9883d5feb7b17cf7b571ab4d9731e3210c4d4c3eb6c6f1f833f59e01e9487afb35a0ac558f8c337a1261f2c6bbb21de0a54d2f8740d452477ddb8ca734ac9fdbc508e77f266b6ea3291bd26b1617c7f2737fea1b154c035ecd0ec7c796955a66d23a799f755c64e28b0996ce26c529a11d876423df3aabe0f2cb7d8b5a7688b4b1a0563ec3ec9265171bd766f226e855567348df48da3e7c5b12bb6cd6b3773eff51d82f0de2fcea359d88b664dfa9b33c5aa079a9e0d874553a9ecaf76c0e1358c7e1f4cf2d0b8943555740a827b98d141e760c27f7c673c54d562d28ef86770b3673dfd205222e6ff0b03f394e89ce5e04825b4696c4c88e92dc3242746872a8a409e5e01b07ff64ef1e9554c35cd1630a842125516c6f4073b455217640711d80d6352e263ea0439cb67dfe9d9e169c5a9f0a34d21de64d63e67b4474e1004af8a251200e21ff01acc9290e6afcd02da6bd5f18c2af4ac01414eed63211b14af38ce103d190061ee6eb54edb69b4e443708703125883647466784e45ecdb6ff15a9be7281491bbd1e557445c77ef7d5de6d50f8b03ae9bbf670edc8d87b7ce3d39fb57fa245ea98b54c4da97ff4928206368841257880198236b308ac230a18b20e5b89ffaaa58be66fb748a2971794a88f36c7c3b81e389ca5cd993a0fe6d911838ae07480925d4899e38e83\n\n# tcId = 159\n# longer oid\nmsg = 313233343030\nresult = invalid\nsig = 65f98b901b21fca824a5c3c0175f305a09c7d99aaf15df12801c7b4a8decd14e99bf1e2a378aa29ad3544a15f281347812a6d02f80711139effb6fb0a916b15e56f87a3ab7c099ed807738b644722b0df4f9676bb039c4417ab9668244abfe10b660481832b515c3e756cb7726165a50281bd4655fa41e5df37ab0c870a334ab4377fa9861b0a7ce70dd8ad88fd7cc8f8cdf970784501e3ee3e62fb10ffa3da02ec33b723a79fdfab282baae9af35cba5656b6a568ca41a60d0bbe24f4d3405ace896b6267abbaa84666361b969ad8f64423cda7301e931830363cae6b98cf11f73fb9002780518d71f2f222cccd07965bf315c85625aaa3a47e319ac26f35ecd011282f1085dc1d84266153718b2b87b7736d4c0e175ce2a0759b57a3b412039ec5150ba3c2d84f6dee05006978437b65dc68fcdab6371a0e84c5db21697436fb4a74fe24219f077dce31a1377117807375774d4533f28b8710369c14d569806ab6026e0dad1f39a0a30a766d5f435da01b072ce6dd0649b23d25f9d16dd80645c0ddf93e80ac8d7d6ff552656ec048ad7c31a52047cddc86daf9ec2904358930b0f082187b104cf7fb866915caac8522e060141c8b580d602ff7f4bc60deb6c29db8cde03705e9d3ae4a6e84e95728e1584f3d00c58afa45136c38e482fa7c7bdffa39da749e78ae7e2a5e3013422ae9f9576933ddaad4afe500ba1104ddb3\n\n# tcId = 160\n# oid with modified node\nmsg = 313233343030\nresult = invalid\nsig = 30a4511b14bd347031dbff60a60f69a111a19445c3369ee8d9fb20d3ba93114df68ceebfa1a1b28030a43dd8505518e9a4a04dfe14a828dd49005832e57fdf0890661eeb5717441b2e27a42624fecedaa2f3035d0de3ee48f1f86d1bfb4a57e17814940348e57fe704e44b7cc7ba5f7b8891ed9c11731f7744303439168e9ffbbd5c8705426cb33a6d52dc9127bfed861dd2e85edce5c0f848b99db2546ca10bd65f5b0c36f30367", + "ada3d400aa9cbee083dc2c3d99fd1dff71d779faada417cda34f1df080e2c8c0200f545131e385457a8a0236099c61a28ae737cfe6e200198dce46d1e3b1c97b09b359e86b9909187e42eff1abf90fa53e8caf1e17d32544bb78fbc0160586b0e615cf0980314d1e13bbe66a1ff97c0675d72b7853c441874ad4979e8c22f726961b077d3e99cf92f4e6ed28c8fb0d4f79fb2414f62a07e8f55cd79bc55d2662822aa17220c53888588d89229bc596d1e07883dc713c2595d026957f4fa61ad2a00ddf1d4dad8080a39fad12242793b18ae23ca6106daf717afde60705d59aae2fc10ddfe7231969fccdd91a347b6fc127eb52de6b92e4887736004abf2b62a3f23446ad8a0e73cf75ad7067bb2724e16e7219d7b294af79cac1961b15e4d1c647f6a107c6745fbfc322025fdb386c5553dd986bfd0647d8496a71f264b9c70343fff829016a94ed4acad561b59bff1e94bf6a0ac86bf748\n\n# tcId = 161\n# oid with modified node\nmsg = 313233343030\nresult = invalid\nsig = 1402744b6a6c94923bea2f48d4aca69150de1c4d4e04ed7e64e6cd2bc97bd7892ec94d70173cff6985c736b6bd5a698c41bc5987353109ee10c2df36a681b6c81e81dd0e391254100b9f219c49563dc7b871f797d025ed06906264906d2923ffa931a0309ff9e072ce756d0b4785328c12d630169cd34956ddd7a0e73078e7c738e8128c9d319686197e53b92cef17d8b10d5c8cebf5003d4d2c38c63c6cc230d3af7450766e7759ae4e854efc1945f855ef2e098d8199b6b024d43aa9f7793ad93dcd99ddda78e9f9be8da8e34d4796280d5a6816b6bb7565755659afcde89b5c12f9a90f5919c15ccc3de585d8543693ec44a63cadd1fa09a827880a406cae0b51568ff0e622efc2b7c65f4a17b1de728c68f3a9293d904ec1bd33e327ecf880efedcd0dab78e2e11fbac7da503bcb7ed989d0f8c534b1296587cb21dfb049b83bee34033a4a414b27dae3e7f6124622e90a58803d8e85a43a692b675f3bddb0fd2aa46687f41482e13edd65aaa6fa5b40c349c45db18039355612239b15bc13eabab538be3b56bff80d3e142f69109852c46420dc156e11babf02fb0a68246dfba0af8aea918e5e2ccfbe420ec162784ebf7520230680ba64d17fce66dcfad87affea0b5cd2c892e5f147a497dba031f4465d98d588dc925a93305425cda853d0eeafee04babcf0acf849ce36b511d90fa8a7510939b20ed11f7917ee37bb\n\n# tcId = 162\n# large integer in oid\nmsg = 313233343030\nresult = invalid\nsig = 2ec964d15d88d1bc2cefc93b2d5eb3f2c06f686bf4acd04ed7e27ec045597b571204092038d1b3c236cb18f1f4496bc48d1760f6276bb094b3fc8d3a1bccc51c3319597e8f4436cb3bf676751257ce3d33cad4e831b57f7979d7cdc3ba9d39b4fa4c7f599b5023de8c9e97fa4b263f6c715b2e6ce138eccd550c5741510c059cdbb6f16df84c47bc697384cc9c52e7a5cf35e9265fe4a7673817d5ee5d88ea643c155af4350d8503a4af044da8fa87b64f151b8c579deb09768a6f3a0862a3bdc8f23ea5c22f9862e24795bdbdf01e8446e93771b131beb46230440afa4aa5665083d373359b76c8b4d91e860b45699cc1c3714732889dac71319afca09a0b769c18810ab0a72b8c3aee35188e5758473230840972b1b55a0895894ea360c3be19d13f8ff89660971ee9c6c27da97dc3f09ba6291b19e2868a0c6e7132f5123b53152ba33caf41c7d941d3cd0908255a530cdabc356beea4169c996a6e9b317d28eee79ce021b714f54f398fb8554b24fac28993f8c40415241039a9176227735d4392ba15eae47d89c0281018df2edec17c5daf17ef4d2fb7cb0d849397d8cc5ed20b52fc4d222e3510c3d75c24ac4964053bff5d15476caa86218ed5988b92db01ff999e74846e5218595f9a67b604efa7e771ddfbc2367749ac8172d8504846ac64816e317e40c0c7ec59668981c7d91d39582d4e5ea1041136645a23ad37\n\n# tcId = 163\n# oid with invalid node\nmsg = 313233343030\nresult = invalid\nsig = b82c24a2768b4dd4852565218795876793aad9712b4343afe30ecbd03a9112d47378859a1445a0a13f47c306e453541228e8a9273829aad0653d54a2126ba0658a2c0b730eaa1f8d5353386f16019a258ee69058a30912cbdc5e50cb84ed47f6df681713603dbfb51fa46b3d31a9f5e9cf937b348022db4f6f512c1aa60974bebc6b125a049894c2bd4def0b55af5ddb6d8a228ea02b9eac2c46c835ad00e94ef5952997b7626c37d899bf2609a224e54c2dd27c09c178a681a5a810d594f2ddb93fbdf44eba21b0e092ba99b8a7e9aca3306372e552293b51b6b17646bbd06a3fbac254f7549e544a4d1e3822adafbc46c299f9f2450b0ae267ff4ed4717e3f4c2fef81633f9a1499f90dc436ab2f0a598e5390a6978f56ad0dfd6c8d9a9f8c7f4d5370699d1b8a86c779488b6b6a9170d1a82e6de47833774ad76f06a05f19105c9936146e98c8a3a6b5dad4f6e6e5daa01dc0b803fb4cfe455f20c677ff501eccccb1c5fffdb111645835183cc06c3763beba5d753a6ede04aca03f5f96155de6ad93b211b2eb2a70d72e3c257ae4f1a0cbae5642b9fd4881e36c69bc9e4655fa9008cfd7821fd72391209241f604bb2b00ea99d8f545c9bbad6258a11a0fc22618cb44e713adbe4176edd9c30685f0bf76e4de97862d47c0c1abb80b47b6323b69b77451d59bbf274619374cb3745725d5ad2c828fee88829286a352714e\n\n# tcId = 164\n# oid with invalid node\nmsg = 313233343030\nresult = invalid\nsig = 43f736eaeec5b5ae03b1c68c460e115d20a6c1b456f5847599aed9af2900c6316bc090729d466a83b6879834108dda0325770913f14b248a71707a52fa2982db368f86b4eab52dcca31c07cc5e7ef1634c6a1b25e273fb35d3f802571278f79b8c27a6cf2a170205c493fc457248170ecbca4ebd0b42bc3d03198489680fcb5e58bb31c2b22d2aa1b99d8c8c3ccf42fb784c878f3c7632a656781ef638381c3604b0f4d84fc7086c0000664fb6bab33e55105dfd5dfbef634905dafbc12da2a25df3bd8530440fa636812da39c5faf26e76261a4ff947795156e9d159d6bd5b0c9c9b86ee1818d31dac3f541a4bb6b25a02df82057be4f9320c8be9764e989aaeab72d8559dd35bb1bfc221940624db06f46e467936bbeb1b97018b7e632d770447bdf7553d9f696b6ef56f2b737aa6171791d756c0809b3d50c5cde737492b87a9c5517c6607df77ca126e08e34139664137b6bd30ce2e6d97a9e2b8c4d4d4441c71697697bc3ff75fcd980d6e65e8ad8a0b3d29bc952e07c19a5bc0f5f09357cb664dc8b79ef7279f047ff1a7592b5ac8b1bc98b99a426da08a2178f76d96624ce84e1996e3b4af9e978e041c5e326f3c9e0db0fdd7787e2c138063db4415182e9af87c74cd36fef96761703e5843aca4c3963f484b90b1b800d189ff727debaa2773e08c8ca70c6f762bbc935687f4bb103b53805495cc0bd6caedee834eb\n\n# tcId = 165\n# long form encoding of length of null\nmsg = 313233343030\nresult = invalid\nsig = a9e80f11d11c6a1c07319788837939fcc55b76cae1c7338e5858e56aa250343b3a3b2c898e0e47623f4f3cc1fa6499ff7f12bdd8d43b4c811c067ba6739958dcba6c849a7f1dd924b12a6442a6bfe5ea60876452b86589a904d71b7b997a1dc4486bc1b4f2a9776948e0c3d1da887c20be126db414566425a409577eef6969836bb84afb715ff8e7f434505503193ba9e398bb7a15df0b132bcabe98d64e05aef8007b9acc87b1792283468ba77fa8173585411da87308f3715d0caf957f44b05f5fae579551a111288bfc8e3a2c2bd41db3dd741ae3c70bcd9f01504174d9117dae1bfae2f38b0391a377d230a6dc246c552b4fe41c7bc4e797daaf5dc5b421d1b5e7d88c69c5d5d7b4dcdad3a2a854935c01fc7e44fbcce85e6419511bd3191c973c6590e024dd21e46c0a5144e71b4f7166f4bb69455f59c6e617ee457d0fd1aabc9f77b56a05397cceae6c4a7dfda5758e52f6c94a8949d426e6f554b2aa86767d32ace6885f4c63767775ea2bc925325d9fdf665dbc941d6cebcc0385f590ba36100e6848e309d3d2e2cd0523fa7ab95fa871d78510a978a988c34e10204f1d669a4f78858fb49672c13e9f489fca236b913fdf075a7167d1e27e45a6b3614e55f7817f191cb2e09fa3c98a6a77ad0330385af0c875c471010e33a8c1633a23badc03f7046a6c2634054892d60d5b3da0aeb3f14282749e7e5e62c9760d\n\n# tcId = 166\n# length of null contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = c0886e882249dcd81dd653f46d96e5db093c4216c375e4e7cf7317254f978c846c11d34220b4460ab2062309d059c6314563b5c128a68c46da172fc9f07f569d5043b328e48a18ef5a59ae15b8368820891fa36b883ca71ea14632985e61181491e71b607962f2574f95e9bf95eb22370babf73361b704cac83c814c5c0597bd45658fedeadd0d5d87671c7f67f6825d0d18618f337e4d5e55062f474b242a08fcb1831916d46648ba55c857c897f3cb8868b19c3b6179966fb79f0586020e3b6abe68621f48004df422c9e9a69534542ad1b5585ec2f052768a67471357c0350323f3ce372609621692c4714a672b42138f274cef4a6d47047218576e9fecc506f5bcaa2339383972aaaeadf7f1efa3e4ecf1ae300735d27cb919c1366eed82f2eda833154c96eba7a5f9eb7e45504dff0320c0a12181244f47303b774b925fc3887259003cf5db9adaeb956d3748aaeeaf18e0d67b000076210470af70074bc7633b20d06ed6d3b9f9cf5868fee480ec2f80fb5ad0d115515249b4a72e256ae6caea187a89db3691de3d63bf4c6eec37ef2a4df99b9da6c47cc4546ce39111eec9983b8d352f7d34e7a975893beafee92e0c5b50f40f91e15be4f8af8c4fea1cc8c176be238bde66e9cc0778ea0d8b55e4cabe379e002904e1b5ee757bfe632b4f0858f42e0789d57deacef432fa528045336437ea1752730c72c9345eb3f7\n\n# tcId = 167\n# wrong length of null\nmsg = 313233343030\nresult = invalid\nsig = 9a4fe22826f1c64e9c88e178efd07f4ef95991c6c3e9c1cb10bfcf0a0c9d028cf05207e93edf3ac302b72d2961073cd1113ea5c8b3ba05a0e3c913535839884eb595ab189ee81c5e67763268f47fa7e313951e65a84165fb096edc7f1a8318e66d740c61d8bd9031d78189120262d2b9e50bf639a7bd70881e9e598f8f7d83de56793cf960971b60dbb24f3b6e8209d87464776e55d4cd6291cf8fa578a2d943fe03251898aabd477b748dbf12712f30b4cc5732826318b76bd638788d2bab9b178e12d28433e52856b7f466a155e3fea2e45e7d3e570074eb6c2227b0fa3ce6a3372f448f7791f2c7471a0cfcb098060bdeb700729a53e5236b5e35eafe765d672627014c94450289a8f62b90c4f928768372ace3658bd158f02a7953863597f0f0774a463125e0b5eea643f2d1049514e5c6590cfe2c28ec9ddced3c6185d5cb2656cea16506a302b65070eba32f8a873a873164bda838744a0d5a315e37739ee4c66b511d036661114d4a0443b2fb8ebd433abbd045d219423ece0a2d6d7", + "f3f2e24b8a5dd88988eaa96fcf879eda5f01c26a19728f9ed917a6741448f9e3dd64b02c8eb059c13bebec0d6df85a44be3887b8b25797941d2252f8605dcc3f0e7d3aed45bd110b6c79acd65adc8d6d8551345ca8b277de67279f2315c0a19240bd57466bb6263ddfea47474420b1be82a37e2f65bec7f973c15c961d5dbbf55\n\n# tcId = 168\n# uint32 overflow in length of null\nmsg = 313233343030\nresult = invalid\nsig = 2446322c0bcfed72abd95c57f8e7d815ada2a5a1d15f98c567f568cd033c0aec84af602fe7376a885166f611d4139dd9f78bb581b3f1ec373c474947c7751e67acd90c7c66bdb233811da04d5ddf9dbed9c6b560f144f6ced47c810142325103bbda47fcb5659688ae56e678c117f33fe01ec8b01de1faf0ff40a27c57f851e4ef399d8108c229471205a5d3a08a41069af72764842314887d3c141d1899926bdb6d825a0616a0d635c4ecabc4324c0f56418e7db0de1a7f94a9861ce9148f9da47e034157b522d60bec3387a659bba7d14a63d31fba5865d7a7b061d75f87be4bc830617c84445d7eefa53c5c4f77a730f7e06335b3fa4f5ae201834caa5bb73a14916dc4e6c577a0357039c8fcee155ac51f47b0c19ca692b73ec194d7db0134065e59bf784ddedb87233859e639fb675ea80ea4458b7f783b6c2de5bad3313844b4a7cbde66521597cf964e48ecd8f9ce97fe7e40dd2f3247192a382694f3d0ba5dc95d64028f8c0a11afa8708651cbf9d80438a0426424182f9b19f064ae7294d54baabe358255e258ea129cc81133032b73398942430657b796655a6d4a21e284425fca023f7d8609f80ff564e34d4919c1168b48322a32c6f3808eb977c7e696fe7f0709e5e1001ceb17233b5452fcf1f4b5939b4f0302ca90897073170f0a6efc3a5379905af1a813b384f3c850a69d700f0375fabc0e43680d847e53\n\n# tcId = 169\n# uint64 overflow in length of null\nmsg = 313233343030\nresult = invalid\nsig = 7531710ce5187fb75a63038aeca4e24e4c64b6746320b231ecd1073fe8c8d002a2f8fa7debecb3a7a156cc9485dbb452d0c39922e6ec9fe0ddba0f068d8a3615a459c8c2787e5224034094ec18a744508590723523492be0c307f0a241549f5c12c8bf9ef2561c402fb2c4b1989c351c9746133e75bb3b0edefbd81d334c46dc9c18208f2ea55614edac9f01ffe02688e3f5831de580ae2e02b70e3925ae2f791af72e992abd82c5c79122d81e32db603b2ab19e484e5ba13e1c319cb14ad23e746e90fb2091165822a88289c45095d9f823196d9c62c4d0222c53aeb192b5f69aaff7997d88e76c923942e1ad889e80ae7aaf33a225acf23e14c41b649df7c94ceba04bb9eb53f19220835c998cc9c55be022f4037a027c0e25ed2ead758d8a305c35fc3e94f2c410a1e7d49d75e0c34cd01c7924cfe4f7dd76d44c22ff53e3f8433f8c18486c99ba7e25afe3dd2eb2484bf01af23c24e61d92cc0a31d1f3a60952020269e640e9b22788df23c28e8132fba1655bae5df03da2cbfa87a416d2dec19ec427a733f3284cf9aebe2b915113e0976caf6110577687e73d0882d6d6653844a22b82ccae942dfda37c669eb81aff068b724d2f21c7b0b1b44a6ffe1b7dcf0272b1fc3555956a5dd97f2ee460e500d011067cb2fa8f2b43e15f66ad48e63c1a26f00516f9914c05b45d0daa854ac7f5a3be7829f6cbceae7fbd558cfa\n\n# tcId = 170\n# length of null = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 6e737db7a2273a789f038e94bace3aedcf7ef5e889b6859e1cc75a4a8854773368f32a500e9bfabf732548a3b3f4feaf62d0c20a0b5f4f7731f2dfec63dd1561fccccf0d9c91af47eb064c15e7883a41c9b49cbff3ee59f612a1b639617be841ac2e0fbfc5ea482a4ed9a245f8ac8a0a2e624ab1a4482eeea3e5f1e13f120c23829ee33ae2b6e2d5b90dec3b6f68eac069ac50634ce52b7f4f8653f48e3e92d3874172eb7d721d57d782475e8915b44476415260bd69eed4f15c2d99e2cdcfc2b1ef5d9cef4b105d00efbadfabf26392b1bf7b4f0634ba970a87eab426025d71191ac78e28abacded9d2fb99cfdd3d2dbebd6807da96c540e704b1396188c0778c022b9d0ce92dd9f70bd2c96eab2b47dfcbaa2f2a6546764fafd16ade9dd9c6ac65fbbccb7906138ad28beeb4ad74d87d1e477ef60763eb312954f8c1b3eacf0353f39b0cfe7da589d672a7403fa5ecd0c83ccf8879087639cf704edb09459abad3322b0b6d5c01138f4b19adefe1a02ab86f49cd964ff463e839f2334a39b44bb3661e80a55cd15343adae57e0e8f958ce50ee1693b40c4a61c48e119d05da98016dc6f29d85940a64d7a5b605f51313a586fc1ef9930073ad616011ad6662ef43c85c99857ed8a5fd0f6f7df8b180fb1c07a41374ca7c0fbb8334159243f630b63e76f068da81c6ce07c8b9f6fa543e1047418c126451f528e5ce8f495039\n\n# tcId = 171\n# length of null = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 9fb8c68e27ac09ce37068c09d56d3a4c354d5710945253078aa47f31c1e709cd2dd6d53be85eb45535c2aa0ce139d0dcecb093749193bb55d08d8af62f142db9a07dd178022b303ed05d49eb61e1094798f33ecdac79ae6f5726306dec7f652c58be5fb196c2b9479f0806b19adea15448d359987e9377f3706290e1e75237657310555d5cdbbbcef83dcfc90cafb1c98aaffd0c277c6b73c6e0023ec66136e60a6be3375e1140d87ebcbc11a753aaa679b8e4b2ab8d686d4954b0b85365f070a35d600f18b34151460227ee3b49d2770e07bedcff1cb69ccfddfbdc6541f3273990b6f3c708c0eb40863fbb691cf5cf8e19b87746270cf7cb827cb64984cc3be7b9357c66b00d8a90063d2af51c34bc3da3857f07eef270989fca58b09435d4b15335722fb5b214965494edd8a9dd0ac0abe5523ec62367d8c119a5ed637a97a507286705d06520e7df4077de24dce5e087bff576eae20f9bcc4b651a8630eb025edc7ea28ad2df19305658e20db4abbeb18b38aceab9c611da6ccf127429ca4d0c448aff54342431b3d99fc69010945cefefb905a4dc63def5c2adabf71bc9f02691b35bf9367408f4408c315ca0f8a0f28466f8b5a7b069ed76cf9180c0125e56df8b515cf590c1bd6d61f443fcbe584e0695b68c9b097c21e12c1d06f1ad0177252822474bbbb2c29b6f4810e749f71b18b306812525c42e727f92f1b949\n\n# tcId = 172\n# length of null = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = bf7d4aacb76f4174b6787a710da30bcbc9115857b5170f6f98d4aa4e9f74888fcd341824e5da12c26d05612b591d4aec64c008db58c2710f450eddb1fc71fcef26ca5f3cbac2bfe53f611f7f0b4f3909fd763481cf4aa76e25d755e33c3e7a2e3d7a2ab8cf9d49d2ebe952f02637cd901e8784556ee49407a5901d9a1b6cc777b5f036650de693440dbec5b466efb84053d73c7932aaf18350f9c6acba1cfee21f874ec779f0e5d756afe936644459edc592e217fad93d799c9bff84921a2159eaefb9a978021e8bc1673f8e1a809797d317bc8c3d4ce1c38ae1e995cdc37c50457a16d553cfcaa2cd58e36bb43557ef70e1588bc0f6a4fc59604f921abdde57a2b05375c4ddecf23c5ac0cfd3465a364a6387327844aae68e9732b776e04330744296429200be89136aced6bc329e4715de6be8db047d4810c62bc19c8c2ded5e34e6cf8ccf000563b342b6ac2df2833232d12be0bedf219dddc187ecf1a61f994225f04eadf96e330c2f8dd42fb7035d6785328f8f2a575513eff22390ecfb93bbf9a57b97a4458e95bfde6c676a9b8fca765ead93cdfe9927e2330cc17061da5f2860a0291513361dab4ee5bd7bfa91af6857d1afc47faab730066ac9777b69804f491f0e2106361161fdc83f1e89ad18e61a1cea4fb128dfa681d1126bb3fb11610a7071965c9f706347b2c521f63c6e59dde524cf107403205e905d0eba\n\n# tcId = 173\n# length of null = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = 5b652650b3d26f1c5b3451483c4dd8072de76b639b34ed959f13328df20289042264a64d76d711a7b33dfc0b6e65a8d8a1ee8a747b7e4e1511c53200742b1b54bade56fea7895eca7557a45da92aca71daefde3e56cddc12667a06acaa609bef750ff1efda81490ecfec3838583c1a4d6453cfac3de7958dc0ee4fb650d50d36ed7724c53819a53de3e1498a8fd1cab183a567417c217a10f028edbfd4c35b339c4b5aafd0c8e04a474b7671681b80e95c3474702b2608478ae3ed0a8b0cef33d8265c98db5758a2c5c2166833cb560a0b88b9d2b5eb0f38392685cf8591eee3d38d66aab0a33b88e00dcca04f0a2a5b47d367d93390305e1fc0a49e70ec117836e6fad4d7cd5492379a612b2b0634f66195529a40293b1c08b87deb03ced33210721a63bc534e7e00761789d49a27cb348b2e89dfa1c238d733dbecec88d9e962bd32fbed47dbc134fc79990d0fac4dbeb7484b149a9b08169ee9ab46f1c9297fa19504f8f7060858bb57852386063c04d5e0a1c4e0545d57bda9d0f342574f02c7e3a2ef88842872461513bd524457856b24e4c25ab3f16527e9c90ff98ae9ec263358d6e8c192257c0269db714803cf2ef8a3e6c0d203c939adbdbdef1e7d37633c54873ba6b6ac5a26e8100f17f8b4be1e64ff884c40befef7c40e7e810cb03b1e738e6628ff424c20d2ca064df9b92a1f337b9905a918bb948fb9e03e52\n\n# tcId = 174\n# incorrect length of null\nmsg = 313233343030\nresult = invalid\nsig = 8de0ebcefe961be81df5cfbf212c86481071c93b89c876272597e9a1e069deb3677a8cc273c2f29233ee063611cf7a9d42af04e9e1d4a8c148f0152e7b7b73e5b6feb87e964b6bd71d7666cc25f96947442844a915425af387a876623c40f9760edd28bf2f6a51251db8b8139266a04b13258a6294dbd08bd1e9eb5154265d691afeaafc4fd1a386d09fb71f8c2241163fb84b9ac18f6294c3d3ffd10515532ec501998c2f73790e8e15075645061e9ac3109cee0b3b23e49ee7db31512cd251aecbd536aefa435b54980d6d2668812fed9516ae8e3e0f7e235e338f40d4fb192d126e19d709eb892c2e54f55e15d43e08373f0358f7ffe874d23596b63ef34511f59b692a20e386f410c2238f46b7d5d546619329790c8dcdf825e9bcd7a5251c650f25f8cad5eb4ac50735a04dda2fd03ad759eb1c5e1cb61f4befbe96f3bd432a4ac7882fe3f7a8aaec56a0d9d0ed4ef29b1332ad3c0155d3069de4b6fc6dd299c319ba67d1156549f2ff6403a087f21559d084ad4a0e6e99c55a9fe1efbb6cb1eba926673d182ca112a2d42ae8c402f24d54c4f8ecf0c2d5140850b3dcd676754d7cfb423c5c4da1fba0c1ee257eb22864b6481bab3228d8e42e8068993a87af19e78bde89cf7afc0643121880177d817f04523dc9e792b987bfc96ee4d5aaf4d18465a0e6d28f50e9701dc84c347302b7cee5fe7d048d07be8ee620a34c\n\n# tcId = 175\n# appending 0's to null\nmsg = 313233343030\nresult = invalid\nsig = 2fcc3280d48b7b6d5e9bcaa5d4dcbe70cad1bae22b1c4f407591021f4afab50c0a1f4543", + "29f8ba4cdfa69f4a7bb6fbec6744e32c78d9bdc6d585f30160e17117fa364638215531afbef6822ebdaa6ed89708343e14c843a24a6c152820b9e130b1a1a406270f50db5b0f2eb63204dfdc8e4230738ab9f43bb982a2435988e1e44ca08b77dade0c55e57b35db27e4cb9af9a35d634a69f6869110b219b2d8d231ce92aa5c1c2d8bfa78d67cac339e4af01a238e6cbf5dfbd58b92765d7818963f68e107db5388fd2b430b1541f2560c79a861288c17bd066d51672866ae8f9796ac5385ea4b4c165f2860dbb950435d830cf9d920f79a42507af93ee82876c02dc097b6c47c56a6bf3b1b165b98bd34c4335ab212b66c99c43894f67ae20e3e5730fb1fc1af38333f46f4aa8c745ed0f58b5d2f5b48a98fad75e922864eeb43e339b9ff8768f71f92a3bfc5806e34e02f2f3769c6d36f3a4d9bc13d939944bbbe1449735f9d848d2a4681e0dfd426115397bca1df86ea5739871722b0191dda8dbf93be29a8b8ecc154ef4810022500533425891991c3c8fd5540263a69a13fae3cdcc72c337d7e37571e9a3a590e82ce6a05daa260ea38f7fda25737716ac5a3b558bbcb5055e473f0d87cc8a171a4766432e66ab84177f924eec6e8504f658571ef737f466407717f30c7276306995831487ed1c6031bfa8929b68e51fb341f\n\n# tcId = 176\n# appending null value to null\nmsg = 313233343030\nresult = invalid\nsig = 6f76a4e433c0c2702e0bef87379cb827927b9350f9a6537aa67bc7812457c4406de7684ba9614e09e75ab4a54ae09717c7147c69ac0ce8b9b962f5842eed73aba82ba2db71c39337948fb4a2fa00ac018b5cf19e0dd9824f5b836ea9c04ac875abd8b8efdcffe7e6e17e75782b4c93ce0bc186a99e8567d9fe089dda051aa77b82f329dce58ff7228fde880d5e86342e3d049118f8e4c9034f2d586f3376851ead317eb691e9975f08f1767bdf8c5db321428fa7899e23ebbe11e2b5e7575805319a3b18a1e0fb7e763f6390434df2ec5062f4a4223b353bd12760d09636829a740cb3b6761536c1aa7f50f36711180ed2925d1aaa6bdd38d5d5c45b9b5f9c09de47751449ad6962cffccc6eb9a4939f7551a18f3cfb3dcfe13f1c160eef9de768b23faf85b480a2342216238ce93c59d202d861dabb693639695cbbd8009151ff64e5e3eab3bcb5e6a539bdd8d4bb5434f30a12a12ea92ae5d21dfacecbf559a2ce1dc9e5082e2217cea6c122b3468f01c737f0be0391723c8448f3372d88c9dc46cd40041e11a592606f6409c1fd831fd51fd6adc8cced49e62e9466cba70d177adb0a295019011d463b153c5e05a6c1177548c3dfac3ac1b2e8978e39ce1923244cf10dab652d250b2cd6abae03df960add94e9519dd801f4dcf2242cd5c22e287b34091fc42f6644e83006402dfce2b82bf8acebd4b65a9738642963bf82\n\n# tcId = 177\n# truncated length of null\nmsg = 313233343030\nresult = invalid\nsig = b1cb3df9c5d8e04a90cbaf83a03e1e976535db1d66372c4efa3370948e546cc310d827fad9227a7e35923d8b2fc56dfa1039d25968f984e5f22614cb2dd0e5dec8e1719fc7bd7018843889e3fca0c9e9ffa6de47fdf67c266398de961c51e7831475b0b8021a0c587617d62eef417b93e675630ca26d8f41111b20d944c39f47adaff1b636d7fa1ee000fca852038b3ccbb05d99a2fd664a50129e5062b8e5ab04a65476aa60dfc872345be0139f4e30f107f7e1d40a7a01a7889592c5ab40c2bfb188f345d3086af7e725b5a209420798e30084561fd5ac1626e93ccbc42e9c1f283073bf91232cb48f571c32c71e4b47c2575295726340cfb69112877501618575748da81e7f8fc6f898003ab89a11a8d7e3647c72f4389d30b265020e99814ea8bf0406bd75292aa55e69c5a168f5915bb1e9df30be1bfc1f097bcfe78d6f7ea963f8f0482f2a122d1b3d3c66465b6d7d035ac5249d4a3a2c54fdae260a9d50f29c84cc39defd53b616c785da76a862fc60a619e25903bef207cf1c93e8c765a13f87027c9bd7736fc044ef4f6dd3cf3752beda24b3d2890f09ed85e5f45c02fdcc474ecbac108d63f4bb0266f5f08d4a4cc09e5217793ed16532d0796bc22f05607f6f265d967e424e47d73a3c486532efbc91d8f7bd970cc9412fbf1650cdaceb99635885b78abe2b8047d3e04b07573018a5c8b9518d26f25fc6b64ff6\n\n# tcId = 178\n# changing tag value of null\nmsg = 313233343030\nresult = invalid\nsig = b4fb9d923c57a13fd71e27c25cf0edf872de5a7345f04c2d5e002a9a42445f823e976f078fcd9b24014d74b31c2380f953007afd3da3ffa66e89f03425faed2befeb11cdc7725e9a031277be6e2c6216b0f2d0a53bb8242f055b80fc4709292b1c56a18101f2c2abaeb9bc5ddcc6ad3184e6ae8562c30216e22b43c889ce27cdf1469fd996ed90ac09050f31264cd93051507aae73eab22c64a63a28150de06b43b3b4099aeda795811cdd47e2b73515c2cad2609b9d8adfa543ed2ab122285a12bfb7df219151f0eddfdb4be45a5624621e1d45ec511e7b505c92516b70bc7981ad61ac6b8b1037b5e00aabe9851e3577d4e335244f32de627a7fcf9e937715bf31414bf432d339c65ab8ceea49bfac6f5ddaa4ed0a9d2bd7f5d2abb29819ffdd7ddea9c71c3bd575eb18c4d69f50d98c4955373408651ae19bd2ad839ab1fcb43f5881fd290ac2109df9c16fc6c14a86a614fc5509b7329e7dfd8197bbf659966701a1395a5f498988c485025a25822423efb7775c9b44ad3f3c7c79efb329735b21339611e7756a532dfe00d2c426b2b41942d65c48be63f9188f0b851348405dda0ce3de333fb82ea80e3dccb7f4f2453415ab86bf5a5cf8512c6f5bc1846961fdeba1955b96a5145cf447aa34d6fa22b226bc6696db29a50e3455474754db86155065dd596f9412cac880a0132b1e1fec5ed015b1c8dc8b682ba771021c\n\n# tcId = 179\n# changing tag value of null\nmsg = 313233343030\nresult = invalid\nsig = 98a116f889aa8209366a0ff461bc3a2283c37f78b990622ee49e7046af1dfb8d5b56c2c669e71e4a0fa1f1cc5024d387d6f9f5d981e8fdf09142da58d760c1cf10ce4ce8f2b467f054a9c26eecf4abee45d3b582f9f881e77d626b3b30054507efcfa2d4444dca8a3075780d306f5780de76f70db07a57e0a49f80883bf0d9e838ca5770f07ced784ea09e4eee412d02e20411ee5ec48aa85330c5e2c7a93ade0ec3383ac0f821e086871c207144472a47ae36e15b5b6eb5c564031b1581afe321de00be20e5125cf4fa01d2cb7e510f85eb690c32bbcbf79de19d6f162805c4b630d2f0122176222799b9e5ec6729bc150e360ff7e5ad28741626577926efaf8541336a9bc1adb4d1205e0b2e7eee73740357ce21599ff5414082d228f089f2e218f413109fcc20bd61dac6218d84f90c2926a6dee012edf069adf4007465a8e3574033c4be54bedb51abda9bb2cec081d1ee2aa616178aa08cb0fe4836ec7536649cebd2a29b9056510b4a6fabc6b91c72fca3c46572f397749486e4b118df5237703be3de3b5efbbf31033905300c50efce2aaa7f0a819b819ace881984707bb1ec6680b9ab97186b0696e9cf1043ae43acb3fd9cac9fba305d756c4406418e5dd148034f6b3b87e207fb9d1ac3ac24bcbd5f681645773177d09c73e8c14874bca763c79f873a2853e742aeef70b4c74f88e2b2c8b094dead8ed088dca294\n\n# tcId = 180\n# changing tag value of null\nmsg = 313233343030\nresult = invalid\nsig = aa4cd5424b77ce7dbe0654a7609ce273d77cb2b2b0a2262a093f4ee53cd4fcc4bb01e16fb50a13b20023fe6f3003ac635d1fc7148318745b52e4df0a88a72a20ba60334fb5b445f9e67f31dcbc08b0933d10d320cc48b0ab426ccdbe5658d6dc66159d622a0b3550a970e4b90de79e76f1bb5e5f073f7802a627493dcdf5e8c22f3bd3cc6b48b1ee4077527b75fb38a23e0ab2ffb302f7c50a85215cbac99a49357ad13cbc12496c2495fb70608c242118e3bf01ebd0a63dc259e605c5421cb83e1003643a6ffa96e385bbff3f49a17de6846f54631c95d4534f3a9069069c578a40ca248be0e5915e6e499a42cf11f2652bd9b81719750f0e0a9707ba30753771af12726afe23a9c4e38b03e34c0bd18eb0cc93770a6f00543966d1709b659780a35af82b32c259d46f19efe26cb51f062d142f897cc99940bef767805c32ac8a1bda03d5e20c7f60385720e2d47544f8dd5999fdc766afd8c988751111521381422dfcc8816b862c422372e9b86a5d9859be32d8dfc02bd6f5e61f6bbba6cf7f4531ed7b12341c91533133d90402d0668552fc17470c21bb843cb36b8a4fa6a3db24b0d4254b3e16b92515d31baf6f76b988ccec2a420d0f0e9591962de92fdedd1b619711417af45702d7e1d5ce0daf2ef0154bfc46c6460492a8855d87e9a5046071a990d6e7fb0ca63c03b15b12c42c1ad5b0a20cc0472dc5e0028c642a\n\n# tcId = 181\n# changing tag value of null\nmsg = 313233343030\nresult = invalid\nsig = 5f9515d56d86e65d565634ad95002b9595f25ecfbaf4dc44897a7d468d3c71278131444d48b1cbf19e6409b6756fe753eb6c3ac1c73fd6391d4cd6e1e7be9f0fc044cd124db1a3db575046698d140d477a4c6d95a5eb06de11d8bbbc8b2e6c04f8184008cb2388574fef51aecb8f188ab2206da09333cf536d004dfd33890cb24be2af682d02bbbac68fb1fcfa6a5cafd3266ef4b09a758c667ccbded9affc37c13ee29daa9d0db2c1afde3f6e7b070e2a9b5a9b3b7d75e0871e4e60d868d8ce38fee726c40a27fc4f54287fa7872e5f719198f20b7887ba524262feda06d751a670dc1827374cd2fd25330a180e21bca4cf8dffef445acdee58eaa8c6aea3cfe55ec6ed963c05b7d492e7984f976d6ee4831c4ea1e65b840a1d190f1c49b3cd7f8d289c3a2751c4885cd6368f17bfd0da533bb2ffdeeeef4281a1efa93667b9fb07042e0ce3d17c7c94d39fdf81c348bb3a9caa17b96b028fd04f89bbdaaba37ca3c867b5b06f913b6c3bd6f7c1dabc82be3cdbd4a184b1ee30dddd28b00b4f015765cc95db18c74847839ccd3ac02f3997ce47f63f26c9f20d02dc1aea57dbc768778534a8460f88554ded387a64fc65209c0413fcbfa81dc24a9b8a081e14509fd1c2cbc05aaa90e202acb0688da67cebcd3eb0eb867eaadba412cb6c88f0fe9c780b2f61b33f47ce2d70060b8146a6cc5ae825b1edc492a88b4e397f5c05\n\n# tcId = 182\n# changing tag value of null\nmsg = 313233343030\nresult = invalid\nsig = 550fbcf50804c11a93debfbf269fbb6437b171fe00b9e93076ca7fc7db88e91765ee439bccc417d647d145943ed7994324b514a2d4a70527d8f857ff5933f4a47168b49f5920641c49ca5f287b0497ce878857f64c51afcf36f5f115b4a8e8491286e972f54deec16ffdc4b8b602b5eb76d8a729d35fa964fd685813bb7ef3ae6529d6610af6efcc825eb234e4561973956c0b0ce4f93c4bdbbc6787418a6a738b7771547deec774c404589efa676bc800019a9ec8a68f4f479d0c03b7cc7e7f04444fbcde9f8b1180db9a7e60a7fc82ef7f4e7ca2130833c5f5683ab06e244ca904e791dfd01be0a96cbd55b69cfb31d640f4bcdb72de", + "ac2cec6fcb045f3c259ff598e82c52b34b96a6e0f3e2558b6e84e8b90591ebec10c66f809c37738349cc6e2691f02d69e95a2db99510cc17e76993a5d860d7f19f21593f6be3907a3a56aee4e79eb2d5f61d9c8732796e3894002bc09a8550e682d9acc92fa3fbad21503b117c6a6382651d08eab777cc87dc06266709625d7f162739532ef1b8e25fa0254a71ac1dfb00c77ea5b593267b142fd60f565c6825985812e1a8c1e47353ecb743a2ea52f165c330a5f0a25a0a2edc515ccfda97dcaf40b774140e1306e68911932170e103aed2ffe108efd2197a05188f9f18b1f59bf59c6571f27ef20d12bd1f0b12d513243d0e117630b0f521e29e401cda904a0484eeed9ecf1d049c\n\n# tcId = 183\n# composed null\nmsg = 313233343030\nresult = invalid\nsig = 78c6bcc6e22b2051f5dcba26edd20d680536ea15aa5d5ed438db92b3b2ecce0eb59dd46c2496dafeac3e49911dbc72f895ca0cf6679f36c770847646e99ea102648b8fcc3d6e41466c5fbfb0a343d985fc95f4582b671650d991768403e4f75d852856a450804ee29e0203c076736076ae79929a88d307c07efa0992e45fe49205f67061f7ae2adc2caa37cdd4ae3e4b9157983834055bd521124360e8e03021f703ab4b245ba30b4e421505cb3263d955c6d315fbcfd08dba056e2eb96daba28abfda149084b0052a9f0013593692a35d52f3843a76ed35ce3f0c8e8aa3418a53bceb9d5cef61b84c766648563bf00ff3def6a71d02a03acbe3458679ad8b710225544af5c4f7142bcf0289e54f76b4ab0d2273a651ddaf4f565ad76f231eed8c80b5d98481eb6dd507da55396c6fec6571d81c3008081c7cb4792c47025ef33f89332a4f28f03bced3111c895c5f48fdb64faba97dedd1c18d86335be0b66a334113a0149c67dcad53040d8ad2325fd6c11b40350a92f03fce0d991034e25272ef3665d2bcffc8f52b7c08a23d821fb824713d04196075b05e82d3138c06319759e859c7973ce15c3aaf1baa2bf90ebed260f87a413ef0a17fa654c35aedfccb4e496612b947235522eca5b10e195f7341951cabe3e0db663532a8fb6cd8eea06a3667e1fcc4002a0a0bbbcb4d7b7e20bb635a4934f58213775693ed2c64f8\n\n# tcId = 184\n# incorrect null\nmsg = 313233343030\nresult = invalid\nsig = 1ecc71fd2e34fccc01158a46f68fe41ac963dd9f4a5279ea5ca87e81195b05241a8f4799a862fbbc3250ab7e86bc508f8fe32a1ee65007f90d0b319dae0e226b9f3ceadf362a5488afbd3a4c22d9a5917856f5f7edf02f61ddcaee6e25720406c3fada9af24eb2f9b1e7826890f621bc26837a82bff1532448fee49185c6535b3c1561f845aca7bd7d934c6511f1513428b928ee0465157a829284e89639b76f514ffa1cede07fc6d88cc9ca9f8dc09f17ec65b1fa6b08820b895f408194fdfc17b98d29b6acd5b36504ec8c616b0476143622e513f0a8ad331792499bb18271ec3ad794677cfabdb22d192924ee982f74bbd062acffdc8eb70bd2f3161dd8bd0e0b130d8e63f940620b89010f76e4e6ef039b7fc8f2fca7db563f5f5b80da69662735eb47eb2def9730eaddb164db61445bb254e22a8bf71942e5b2cfddcad5d8d1c119e7c8c2663db3b526dc8a265d03454fb35b18923af4c8da19faf08c6f770e3ddfc38c5c3988a4e302fd9c8c92ad5cbeb0d18b1de43cb8bbea6d76e1b0e57a49af3d3a2e242fd1f390f71bde968b6ce91230d10401d466fe7b6fd2fa1ae8ca58999b808670ffb76488882a880f4b9eafd414acbb8a2abc3e2dbc79362cdf67a28242e8ebc393f065dab6659c3006854f577e34d876bbe0afa97484af0ebe454e44bca989d7e38f8c42e009d4b9aa118f8e2c560d7320074a777fafb9a6\n\n# tcId = 185\n# long form encoding of length of digest\nmsg = 313233343030\nresult = invalid\nsig = 8abfb449d903f408a10718ce5c72d6160d662b03cfffabfe52cda027247d2af8ac9d870446a8b657b496fbf8d74d9d8e36d396f2e0d85d3948404788fdcc02f5462be06329efd901f711c77e83014ff3a02751ba8f3dd28cb2f30ccfe3a958ef2945c0f8a3c6d331e38a5c6534e71612c3f0b45dc81396410e4d55c7d31401ae7c7a1549104c718bbacbc9623637705a2342f261c37bbe35ed30c64d87be17ac10a263a2cdf82947b73144d145f8711693edbb51e707f1bc75a63ec875572f6f1913469bd9e8ce4f7dcb542ed3c5a61e82f671a39f69895f0c360233b0613c73ad683bb4d2b7771c7b7a24ffec537d8e9382c0b1a274d96eecc6a541e6a7a8115cb07767d7ff40bf1266df4b22bbaf49c8f1d103a3b9d3aab33bfb05dfced5b1e04a842add8f18a462c47363793d707f4fd5fce6fd1d2be48faf532523955adbd22d7294dd66e5c586e90a59be612777b3e66139a72fcb608329c297cb84134f20e55622d6f56e9653877042b1532c143a2d9c00004a5bb4355eb290695524c38a45f97a0d67eb4d1bb487d3967349e25fd4dd5b1823a545478dad20ee4dee931c6637ffca4f88549ead5f36d86e799ee757cc555f910835077f273f5c38c9508e8d1a932169618daf6269e2c85676c515f3a190dcdabb0bf1c748a385fef8bf108cd716ec09cf2251916ba42c20d67f178fd0853d40a90327053cabd5d8997f\n\n# tcId = 186\n# length of digest contains leading 0\nmsg = 313233343030\nresult = invalid\nsig = 33ebb328fe4a82206ee3db40d58d9e3081b53aa51ef33625afc2d778c8ef56c174bf40ad2a20d3524675269efc92579bccc332b1b1af5ae33092a3579d21ac756a232ca4c18f6a5e73ebb1fd0547e18b6bca99cd8dc715f715fc262461f587b2ebf4c2f7bf41c9a21cd45455d492d5dfbeba588cbdc2ad00183a3dfcdba9ebac02bed5425ba71d0890efa95d0caddd9c871cf414f2357ae97a28b48b656b27b3ce1efee9b29114ec551c2afb28c4057451d52c8ca1050444bccc8863c0b8ea65f45c985264022a767d245d3fb2d677b7bc56007d55ccc85dd572d2cf669855e38b41ea69b75f2a6f405a55c495daffd75ade0f086ecff34e3b89dd80627041165a91be8d92b58a44664c32bb7baeb5b3906a475e5efd680a85a0a3bc0aace9bcda1b5f83239d88f1d8f085149c3bf9b4dd972444d3885f266d4b30bb5ff239b05f2addf7e2e8b6588fe46ae137ab7fb9e795a37bea74766f79938b0d56d2df81bd3c7ff79c387909463dddfe36029275ba18c7fc7d2f50a042b4e2a65ecbee8b89f99cc2a5e45d34e1d4d42855f2d36a2a8e2459ad564ac9bd83b87a5d73e499cafff57c3742c652fa8651ceb10456b3673eaa564e4d72352e7f4f24e15a16ba94e7673f9c584cd9a12670cbf0f1fbd6764e15544a179e9e1cdada1c42ce8ea189d0d4bb9a275bc3102a180f440b09dfefb355a56f0c74ad80ab8954c6e35767\n\n# tcId = 187\n# wrong length of digest\nmsg = 313233343030\nresult = invalid\nsig = 9f80040b3371cf9b2bcbacc068f03645a114b73c73313b3e146d2c20e8c6d4bcad24f0893bfd320febd6991379ec8ea796faefa3384b9289f3023eb4a188439c79ad5c501cdc0807630ee7f9617a4ffb0e00fda1674972eadbf57692f516f52b3ca7c4146694cad95d54257d76abd3a93b6e2a30114217d2439959d9df1d218b95eefe36e4a01456aae9311932bbbaa34aeb12ed21039d643524462c7e0bfdd647576a3ced6b2a28558230ce33dec63a5123666d1522f9b2e624574fee22827ecd7314bd2e2ba28cb5b0fffb0e78798da8a61b1b752753f6053b67def7b19936e35fd9a0671a12cc54d099a7db5c4429b39eb4df20ba325ebf478675e5532cf79b9e534a96129dc71225e9cd337207fc1a060734c132843317b05c8b0b2a253366dd340a7d65e61f825a8b96af263b351a13c312141c7f70794a048c704294b152a918e21c1546b0e50694c12fa1feb5e999b2076dde418f2b3a8d4c906824a9735f80f0914e94740366fdad81a02911cd40e1a590a587dbdc31d15196698b8f1d658262a5d88752a0c102208f4c24c0e61a66561175cb71b3dafcb599ac327ecdb72bfc4794568e3ca5696e1d0b64039caaf2d2808d9f528d9740243d781359f9b4b9b68244a381ea74023f8b5c7eb770ef189b1c2638fa1234ecf74037ad0f6f03d62bcaf10df7755846d8d1ff31223d20b0543f39092e40d5aac96e3c5f58\n\n# tcId = 188\n# wrong length of digest\nmsg = 313233343030\nresult = invalid\nsig = 7216b71f801c5c4976a9db1cdba4262f4158e424644b9c9f9dadfb3de7648175ed1b4f57f2ffa25f6b5977153d059366e80bb07619ec5d9ba865cdb004bffee65b066fc285a4829891d17e502337991baac032138d85c6f0b3398e3029343010fb7ddfa6d9e444022cd4992918a55e5df7bf0604120d9adf25b30eba21725105077cbb6b142e00ae97f03a7ea943f6107e4e7ac8c639fce407f3a335cae69a960dd423a511802e8d1fb25f7e736a49d8ebfc4cdccdee4168726eba22246f9f21ce0483e6f07499d6375158a7761ffefe81948b59d47f0e9a45a8bf104b19536535d5b315fa325341c4c199b3dceed592b3b06d10f5b8223644e7e85287038f71cff7302ef5ea1cac02511e47aadff53010e8bf433ac804df5f0c80f71e580f1cfba783ba758b8fd1f62a6278eac81a798ccde4b15e3ce1909ddea724ce9ccc674320e3e023fa0c35bb5a705bf17875ba623e4c30feef0e6ffdd34f4c303e042d551f5a83ff18120f9f44c104cf8a604fa9cd0e300daec6298581cf6426b9f89f4b7fbeb7de681c638a2873c27e73528362c32332b9cf7bb03560f30558d1fa0c3b1ad8b3478911ae41bf1c939b59852570529eee9f7615109f1ca228a5ec78258e57276bfba2ff77f6ea715c2bd0113bf28e7bbc152dec211d14ccd8fb30e72149bd8c097ea8b6dd82d49481dc8794b120164ee0d9cbf9a2778216abaecbf4fa\n\n# tcId = 189\n# uint32 overflow in length of digest\nmsg = 313233343030\nresult = invalid\nsig = c11a64adfcc6711c6b80549a729c311ecf30d66ca2c7d31eaa2e7f7e867b3c3b5101146f4161aa11f6e44756215ec09859602051c7cf6238dc49cf3afcfea22683c4cef0cdddab1ee87365d9999445c083c5fa28234597bdb19b90789a84393c72aef4b7767694b3e0c09e62b4a2a864525e43e858e1e9a1424d7ea29a44f24038bfa2cac74501156e3fdb7d7956cae230f5d3efe726d817988351e893b3727643a3a78a484d91103a5c50fb80efdb8fd5852e9d63019c8d80a1ecfa043783c918d45e356c552b0957ac92841f3acaf38e725fd2cff798e941ca9a63d53c94a578c9e936140c2c0ea7f261c8cfe6376fd20bc3171b30fb386d9cad48a24fbf17896781d0c56d7635d9e61348673defc7ff1ddcd2530dd3b7d6a8b09c0c94a44ae450652b0954671ee78c93a0c5213b0e97dcef53b738fee913215684e4858a6f3bd6533591ac8988b91f1b60dcda60f17ed3f0de1388656589ddd78c5d61e40ab2280e7c4ccf83a0a6c0c0845b3036d55b48be0100f0945a86a3bd539f4d2421cd93a722eea084a839f70b21790a503a5c5c5ee89dddaec3fbe4f35ceb6fde832f281b8e2eba35d9dcdb0fddab11a7c6fc6c365cbc0eb59607e3dcb37ee8e15cf473f5118ba8727ebd70561", + "3a7a2ce2df80f21af23522c585d499a2503f11614a0fb7f2949f8e7882cac49e0fa077b6d5435c9a49e3f0714dd118709f95a27e5\n\n# tcId = 190\n# uint64 overflow in length of digest\nmsg = 313233343030\nresult = invalid\nsig = 197247a515fb4a12e874a4d4c9be95cee53782ef475577df61e0e70e3c3bcd5bd4e9867c0e5c9ee5decdedc53603f5aaa5b783d756279f4f74cdeb36a93aa51bf6ae3db9d1647ee62f6a079286391c0f691d2aedc1378e83de154572db611b61b8f06a84e93b94a868b7e6f2d1346acfe7e154986e49afe19f906b69f3e8f420b57774deb244d26b515e88fc133eee717786da42a166de47d7ba2736bda6227ec63d089a37064130d95e1605c848407b38ae9d35850a3b4988a22b867078a01fa038281c5f7a5abd947a9ed12a2121a74e3da6b2b50a7d8c24009fecdd7018335a1de8d86677a2a2ce9c57241b4805310608fe7a5e7ed9d29d46f99f63f89f1c4a5012f41ca1696383d9b2b4d19bf92b7d0302639797b4dc5576a059278badf1da475fc4731bea6d6277117d03f4939ed50f989095286d5dfc484e535f7929cf0191c5e006f8876527169a49f3ccfb8b9b21a9fa48a371da5960ff7b399ac3cf89a1cc0dd0315b23207ebfff886cf03422a01405dd8c7098ca926f65db7bdc8f32ad9146ac2cd81f743568207ddd52b04420a6fdb861938790234b3ae923e2f483bc6905ddc5a084e6265b39a443178aba79079e33e7d18315a86a0ac42d6ec513e3a88c0619e09cb25195aea856355bb3df00820a856e1730a61196bae28b89fc1914cda5ce0f97447c5817798516b48c0dd437953ae7ca17a1c84502b31198\n\n# tcId = 191\n# length of digest = 2**31 - 1\nmsg = 313233343030\nresult = invalid\nsig = 568e9fe5954b9d77643aff10e698d24ca734bb988a6591bcbd38659638e58e8ba7d5b03a9114c9dc8cd4c91613a5e90e21a83ecdb08844a6b42639e1c4a2929754eef740b7dd21626d2a3d0f93d1a78e6402361ea406652d98db84e235858c6c35aa4ae83133fdd08807fba77825668c0f6e36af5adbb5422db4b5bde2c9669fd6973e56dc12866d48e132be7393a95aee49613df83a042c6ec389d51fdf2e38ac4f9e816eb3fa5467f50d5939481ede71c94577095d2f94fa1f09fcb2529e86ee0e9548b455eeb7d435b14764fd9936b0b000b6157cdfb1940ebcc4f4ab2470913fa9af408042f4cd09a6e32bea3301a1ab093ea930413c230dcc72360391b95e9819e4e245529b0a1e75511cab8f2d4d3c10c37f2bd1c2548ca688f3db84c274d66ef934d6ae55a48ea68e8b9b37214cfda51036a526f33744bf2ba5a63b7d8be0a4e6f503949d38bcef9dfb8137984ad9c87c44e7e79c00a0a82d00c5757823d2c49f4ac73f05589a9ac3f97bddafa208a5e07171f9b2e5dbb692bec4aa4c7122a72084346ea665b87da227e31d8773f49e086c6ba1d2cfeadfb356419b3c695a3634693f2eb023eba301d6218685993c201eda426a377310f853afe4f5eb0171d772089c63faef2e7341145408d7a32ce5cf2d1212408446c8e04bb5a2ff58badae4019a56a99d64c95daff600d8ece037f98d7c763f9b699136106feab5\n\n# tcId = 192\n# length of digest = 2**32 - 1\nmsg = 313233343030\nresult = invalid\nsig = 9d5698c424b9c2d5980a5913afc9fa988a5115e0e689b9684ac6a1f894749561467804d11fda1fd2e6fb7b983727f42229be82938ecba0e9c446bcae9f213d722baef08fe2386e490712104d795fe939ee7cefa78bdac9e63d23bc9a27f5a93f3577517b7607b432cd0b045babaf241c9fb6f2bc4abb0f710b7b707aee58249837fac16d3a0b8745713611082d50327daad96b57e8f9b256e72e0a32c11e439abaa21d1693de7e03016bfce396b3591d27d069616a8e0bdc340df8340048b0073a4b24dffc83f0d662a58ecf549b1821cf71f4acac30c1566c95f14f02f7dc3e7ab75f91827284c5417b47e3a513bfba2a8a34e15c253c5c4ecd87a4d470cffd49cccb44f1b94e0e43738e526e2fbde7a75d7984d317d2f7d0e3dff24d5c0edda477ce1ecde8e1ba73b84575fbf77d9dbe50112b9e130581f8587dc7a2dead3e2e52cd9ae558bb74243aea20fbec26c9323e45b30dd9cc6c68f1d0febd890920d89aa0fa1eab29b8658c7331d65790da9e12c4a92945ee54b38cb9b12795d74b5cb9bce70633b007a6051516d48018d0157a946a1b8297d5417d8fd54084ac611bac2ef2df20600c3bd1b6056d2a29c9d4369890958ba030eb25cfd33ea00455c682bd2c36bfd24b02a8862060feb3da9f437ced7faff2afbe5a157fa0ade435e94116fa17f67424faf3d01c22763f95c9486e03ca0c46527769393d47ba2daa\n\n# tcId = 193\n# length of digest = 2**40 - 1\nmsg = 313233343030\nresult = invalid\nsig = a63a208ccc6becc02fc5c8b433d34b4e380e232e4a03a0b95b8df2ca86d6a5c402852d3a9e3ca48f65af6733ebadbf99226b3522db6a7c851873822f859ebe6c12014ee9d792bacaa7b917c0b8408ff1eb328bbe31a36832b0729344a38a60ee140f3ff708b64e1af538d888345b5afd7015163f5749d2d025bcc9fde2da10a3a193447ffbb6b9f110da2cfabefb9b4e00bd151ae7855c35d3da37f03a17490e02416ea7b8075431f3280afa904df88fb8c5e4d3bb0a7f2a52c67134d8c81756540921c9ec8273983079c4bbba69e11ae24240725c6a4ed90cd8ce1311b7531908b2cb2a58ad8b49eaa208a5bbc67c4293d97d34f507b120971aba0f1bc9c539aaeec3dbe1f9a252e203e48b05eef955e0a2aec652d330a4766705a73f6c4edacd9da5b4fb5cbc20d39e9ed1954e2c80ac15f59abfbe6d8f5fffa95862f4c151132a2b11c4d1a7b615cd6f5c1b2658593c43124ad3d5da14c3d3923fc11dd0e797decae73ce25b58966c5d00e48fad63afc4204c52b27985f4b15012ababd9c901dc81d7f63797fdd350e748862e56228f7fc0516a93f3e95ad15c1d2401eccabe185a533d42630e94b7cbec2a200a59405350a5a9399d83c58dcc3a64429c6d9fea31cb1917aa6b312416bd19b9c6c6113b9f44d812d7e83690d5a9120d4bcf3caec2c7d1e629a840a50143da2c242b2a761193fdfa3d33707dcac7d09563da\n\n# tcId = 194\n# length of digest = 2**64 - 1\nmsg = 313233343030\nresult = invalid\nsig = b6302a6dc2c5c9e13b4b3931769ba271d97f0df7e54b7b636e3275ef69f06b521563bc5f5ca1cc3170705fb1800500e67c97dfce5d4986514f4e8dcc67c8318fde5794e1ed138f9f50f748a66ffdefc9eb0c227cb8bdb6b003fe63558c6698cbfcb12cd53b5f986ce977eda7be54e62ac9ea523fc38ca255998b744c8ff907a99dd8bfdb0305e0b1d8e79c8313ea0c78d47d6b76a25ded0da248502800ccb44b1665d1793de207e20fecd09152eef0dadc99d24fc013e55c983e9a4b3097895d41c38cc6e9c7034b225de5a03fe11bfaf4aa2f2cc290ba0765732adcb24796ac9a7c3e2ad159856750cc9417427ca013e26fe911d2a31ba8746da30ae717dfe866446b6b6ada2fe9a5b9137ab9e65e2ab8fd79d8ea8f55d5f7215e234fd5ead6c334ef3405c567999e0b3a540e9467ad17ad20dba6ac7de39c11545e86e2d973c39f0a83e15a62d22b628b4b88903015ccc5c2ed12818c9f22fc97a9ebe1d32f426acbae9723f71b86f7ac7b6fdaf7075b9fb14620486a218da4ed75578aabe4600f2a394cc6865ab2f5c35913cdcb7d7580285ec08389ed9d8eca93a7490098c89c720bf1af7e1f37889fb85ca6b4bec4d552784fff6fce0be5c62a79e6ccf05f048bbcd033e6c7210c1311c48876d3e739827ced4e8344b7477ce5cbe5f561ca32a61b1927d0af1419e75f383a5ea01b117bf4ea4c9e0c64052f2367af8b4a\n\n# tcId = 195\n# incorrect length of digest\nmsg = 313233343030\nresult = invalid\nsig = 56c674dd1819d11b4546be728e25e19c23ff0529c927013e81d637a082b2d0ae13e2f6f9f48727f3b9e318d6f15d4e737eee63a7e0104ae6c115539cd26c4133ba386bf5265d2d9fc91997d3f262b53c311f2b54e75ffc716844d806ee30a5ab463d1bbd635f882e188b67b06210c2afca567bc47af50c76d1bcf703397512d30b67c198af319c2afabe343fd0366ca8099b4e8bf925bb01f39ddfda97c1f0f3bb7f62b8285ad6dbd427889bb4d29bee788ff4b46b29dd8ff4c5e5af919e61e5cbd4242a0e46a1af6a26ad99d8de39a1864501f3724e348b62445673a9d71b997afe2348bf8cc6f9ca262e81b955e5109b0258502ad9ac8a24c5e220536b99be690851169c3ea56a125eee7b2b374daf9f6b95eeedaf97f8151f618f1499256656afcedb8fefd1a524128068ce65c98162f9b5467fe3e41f73b2039d056745544d927ed63f8a588c820a8b45ad7bbf4cde144fdea2f241560199eb8ce45b1868498385677a13ba3f3db9f2ecaf8b55985a398a8c95ec2e02dae95d4e4c0cf864aff3fac920c1f12d7685961bb6e681b31e944d58ca22d64d38322d66d28e2d7db1bbe640df42a108daa275ddf2050ca93cadee433f3a65e88e7e52733d4a352dab1449baf69c9efa736427443c26b587bb0e359de5ddb75253615654b33246f1a035a23eeedb2f150704589e986a52cb8354697f33ea874079cb828be00d56ca\n\n# tcId = 196\n# lonely octet string tag\nmsg = 313233343030\nresult = invalid\nsig = 876d9d2c9fe40b3d3c9b3589ac75cd8876b5e3b65fd15d39cf61daa157dabfb659ac0d411e5da5a4fc69edbd33f3f2dc2bdd12b5e2a497c7a0d6486cdccef0ca8ee1f654aafae800ed764670a34d2f2d6491a97724e6d8c933a318726bf91765baf06bac71788178e565ad8caf12c4c1003ed4f724d7fb83ab09cf05cebf660daa44fe8918b6bc6525e7361ce4190625c52442bc99ac3657f25a0ace3890b90eb947d8229adccf191f7b7362ebda5f62794de03589b7437d85991c91fd55f0123b6c489e18514c0a977a798ba90453f4bf4521f438b6c096f2cf76352e2d48737a28cbc26fcf1515ee54e6bda99524b9c2fb454abbcaa9835f36f73509ed7fdf1b367be380283f0d391a1ff6a9819bffe629e7144ae5fbe03fd5fa9bb9acb9bfc0c2906aba09f8d797c38046c996f458a2e55f1451dcac20e082257d6ebb13f6966b0c2cbee4b8df9e75d31b457205a8b534efecdbbfd8706aa8258b2a85669641fe9ee8132e6fb356ddfca16344329f9245b856aefd263fa4a74fec495e28eacc50eebb822792c400b2b3c0741013da880d5f739bfc5ed23b0f523c719588f3a1f4c45b8f3058794013ee49cd604888a1477b3227c9de0230210479dbeddb1fdd6b94573141200db3da79a6caae2b0118fa8ef28b924b7116b304d2f2b469db8757fb463a05c495baac6d63a76119ed4a8c4910048eb7813fdc86eb9b9db1de\n\n# tcId = 197\n# appending 0's to digest\nmsg = 313233343030\nresult = invalid\nsig = b0f76eeff1462f8ee6e73c524c8fc6792547774d17c00f38df8533546d802c0d8ebe192d23a5f1472eaf562423c423d3646c12574f69f7c85fed1aed0083532d1e52050053a8a111e3cf4e24a24b0944f0f14afbd70fe53615764524a9715e3336bfabad476c12faaeca1df21c01", + "62b7ed9a5c91ea64b2b8ddfbe5d7d1b50149b31523d396e6c96ea7c5f9c2fd20fbbdcb699a6d75fa00adc390ff6ab95de2b405c314a1ae7398087f4d54f37b6805318fc8088a49ba46b2b1f7dcd6dd16881a641d922aae80e3cd0baa82cf1bc1da9b0d3af24d4b04bbfb1d1570b2385c848cad1902083f9e7823fd8f6afe84051ba54c76db9d7313238959791fe2b0947cef28b2954234a56ea3823433ff5fcfbeb37dd8d18f6a04d202c7757d2f0c0e91d6384a9037104041dabd72ca429a3b649315c5e700c51d35c16a585b0e9b6b9e019ab36c9168a17170fcc38b4c8dbfaf413b148b3217efee713e0a44540498f92cb33e8439ec585d03fb9c5ddb443253914b0ac90ff97c6c9093003bf10cb05652ac59cc2a4fb54e92ff6438f3985e7cedcc0fc7ff18e2e2683d5bc41eafb8bd267b3bb50b6370b164fd84f053acacd8dd38a26c08a3ca1ae85284249b5b9419080a6dea945191421504a1eaf3230ef8d1a8b353fa68452aff1423f5021e3b9b6c7d290c9eeb03101909f96a3b02d87a1239663e3460c6ca0453f5b2c17bc2f08a\n\n# tcId = 198\n# prepending 0's to digest\nmsg = 313233343030\nresult = invalid\nsig = 9ab76d318d79a840c7d81a15fb67baf380901dda026d6ad392eee9cad2520a7d87a659a49b65d5dee773b30c0d319dc57f31818902247868a55874f210b1e0b8629f4d565626837ee063deee65d95c8b569f3c38673172c48ad68cbacaee2d8c69fc3e22523f95ab75f587af15d5be529d95835f72c163b54af9d92831ae8f3fff0cf7920d57c28a88a23084649cb20a68216458ae67b6d99d54387fc00d845174e2f3e930c1a0e089cda56273ea4f673af196b56b55924b57aa0b91adee03b69e98438b12ef9d3c3a65f7ba06d7c58e5fc10eaec8253cb6fcdaeed5c31f177291945bf0c69e7bfa273d30504cc6e94f7b7d60754135117411ad5b25b6003ea86b808ad80efed199a559f9c84f473fa1f554eea985e7111dcb2df4c4bee1aae22e58fe0216c4a0c937aa08d62b9222833fde32d991e4f8eca619d0353c2770e61ba3abe08e9b71de29fbb71c10ee6d8220f0ac6289c9c425f4981fc290f9faffe65ef6d207572055a5cd5a33caf6a61f4eeb6205c76887accff381591c51499a32a310a50ac479b45ec1a3f05c1bffe4d38d1f083926a208d9ef6e8b9e852a6261cb4a9224d35b0eab8bced1a3e0946736e6d49edb2885325a01bc0e7f89a58ceb57f88cd7047c5b002104fb180415094251e49bed59112eeccb7ddf99977d1a25544cdba5b10516d7f6f95c9e9275b484fad64b7e2e25d995a541d28448329d\n\n# tcId = 199\n# appending null value to digest\nmsg = 313233343030\nresult = invalid\nsig = 1d21743f51fa1fe1038b8126f6ed9e62f99a0fccc2a8b645fd90b996de8ee8d76e0752c83ec965e342a87c02c248b96665413de03aa7cd413ca67b17f74bf9886c9fd8223cd94dd71c98f874476667ee96c311fb40e17f8e7446624a41c02791726e62c0489accdcebffcbde06bbe3ccae1d669667f0f6157b463eefe4474ee89f2e9c6ef07b6d63c1582c4570f8473e07b2d7d0be72ee7446633b7ca5f7838e92b977558444580f0d305dba8ac74e3542b0277c6c21d51491c1a5fc6abf3ece671675e48a41c254f78e1d2a58c2d5a0294ed4720e511985e03502458108200fb47ba00ce379da0f429877b62d6d60133f231debae91a29b940c8e8dd278f7551bb5df882a833a3205d2058958a0f11685b3bc0df0dfd5b8b2badb8e02c4449f1144fd744ebdc2452522ab32de4bba59a3abee73c9baa120a74474d79a5b414645ed827ed3b19842a78e9bb83f03ce2a985cd5ecebf6e773594af60e285638a7ab6fa5db555015460f03fe3fe2e4e815792108d5a39f2fc5fe620145e7899001cb722b1c1524c0c409d8207e48e7341ad209ffc2552e4fa4eb09c749c320f9568cf9fe1f4c0f1a04c20ebb522fa77a1d2016305a75dab806ff3f5dfa49a191bed0468fc5bcd680e0f5f4c730123571408d6e3c3d466fb5adb838e9be035d8588f1fc9055473200cfa569454bdc5a31531d9af5e7861f035119b1584356c7f505\n\n# tcId = 200\n# truncated length of digest\nmsg = 313233343030\nresult = invalid\nsig = 807554d5b4af18450ab5584c0d81a98da3c2cd417048399c060fdc8d45d8fe3f621a06f7ebf08953c091157014bb9c555673aa6bafdfcff69bf27b62992af6694b1426236cff69fdad373f11044d2352259144ad73f37025bd23b2a9fb9b9d310eedef1c875c269194584c9672f229af762274bbff201e9cc0faf3a8ea4b0ac0605666aa358b87c63ad12c4fd644113fc049f98daf2b076abe82670f85853ca2ba8058480b124461057be13f690057a9cf68cff0cab120de21c6d18b7b6a099a0a3cd60c9bb40fc683c19a4def659ad9d806dfa876a2860c6f63bc48c96bb75d0e3bebc1fe6da96251703264b9657d4a3c355f692b27608ef72d5cc88b0415273c3717f5a3809fd1bab1be928881efe8ac5968050494030fbb332bca315a6b2b31ddb433cfeb1dcfd4a8aabb50d3db62f33822cc6d68d96f1e600fc83edb4b8784930c0b9c9b7ebb22b12218840fc65c6467703ce961b19d7a64aef4cd4c2acd350779df4ddb1050429a0858570ab155b174c928e168b818dfcd311e0d2d2135c7d2d639ef5e66c2b806ffba10edc6e789f3816b7de76bcf84e0db5e7509babe5c2cc057d835428aea81f13a5de5e38d5a4a34dd657c72874c21065c02b4f0bd841bcf58e1c35ae3f1214d719f8790f1c873ba3f0d7a70d18622382d94d0468c2f5b1834b57abcd33d1ecd71ff9cc18ff398a0c14a88a2ef0738d866c767d8b1\n\n# tcId = 201\n# Replacing digest with NULL\nmsg = 313233343030\nresult = invalid\nsig = 7bc68409ccab429900777ef7996b067cf577eb5c5005f8244e0aebc2d09f35dae9f555c6b3c103fc01df943d90d6d57ff6594d47f080dc486607df002fcbf308cdf2a0291f702c23127d7856e9e442ab0cadfaa393dd6a0cba3c07c66e864f8fd488ec6b309267a18bd3099be8f38c31eb016a7ba00d2a74103a78e7877365da66f3c16a7fb2165a9de1e8b81d7e2ba33f3d687298545af611ca205912b79a5c63425f8c9659ff27d0041ade0ef02a1cb204588000a37733de3b2099d6eb7addb0baf2cbd6c9c92ea36b39c38943d6550d13adccd447aac93c664efc2100f48a0a6f9cd490e2668de46299347d04090f39b01de69032cd527e2b961cfe90f888053cc177fe98eaadb3ebb1b8eb44a1b232aa0e286d6f7ffebb7ac0a4aaea6711c1f0b95db88ec6dd10e2b84e83c672e4015edca760899d69f0f7801eb95a50d6673220968db8d7459ea74982ef3e907caf08ed42343a48d60f529fa64011ea457f69d2fcf693013ed6da6eaea5e80965d4d218fdf3b3d46445ed081d47e9b148ac2aa7669b3f1ada4f5b110ccb4bab9c869f849bd1947aad30cadab36b69ee0de614765315b7926055d3704aa0ada17b9d109111e538ebe431ddb745c6a4910dfe276eda05629126422d70dc3d9490cb79cd25625cbb96b300e11c0ed68a2ac10f87322129494468999ac29a7b2f1871a6d06fa4029903bdc441c7bc6af879fa\n\n# tcId = 202\n# changing tag value of digest\nmsg = 313233343030\nresult = invalid\nsig = 3fd9709bd5e962443646b263ec4869daa6faeec59433cce2f237fdd1a1c6c4373bb770bc4172cb2374d937abadcd12abde5287705ba3b7c76aaa36e92c73e44b0dc629514ba6c24ce82daf867c21300d573970877b588c1292e2dfa8e9eb6dda466bd64c1f484e0a40fa25885f8cd3685de748df58e2fe3203451421b3aa0cedd45559e2c723747fb4d63c42ff078479b52ef98db0ad558def856f23ed9093ff8e7a36b475c66993ee13ca6ec2ab8d27d9021b5195cfe57c0d48fc51bf9237a7876d693bbb27cfd1668306bf5aaac676aa6a4095c8691d77b75a3e98725d2cf80a3136f64d2b7d11c26735f98b3f49000a67cbb37ed39a985cc3cb3af3ffe4ef43820b4bc9db22d2c5d7ec74b52b7b2ac1dcedca614265dddf30066fccc217043dcb37c1d40a370e6039a1490f41830be87766415dc6f0423e3b979e90f4ec0cc738ec11c03cec9bfe7cb1bca84c9086e0824cdcb55fcde0df40ba1fa4acaa51d2c548a58cffa69b14fc71f34f36c457989da718f9ab2ed5f428337bcd7211ea982879593724b8ad8a347bf1a8b260bf56dfe0994e2104c00d5cc1f6fadcff927b4e12ce53a2b784430a5b55ad52a1927c6a6c949fad1fa121b0061fc838e6923ec22734c94758b3d1ed033ca1f5c3235fbf79fddb61618b620b76bacd320ffc20e0110c8e106ef1fc8ba46f4cd42786a689c1ed80df66dde2c8f76716c5cbf7\n\n# tcId = 203\n# changing tag value of digest\nmsg = 313233343030\nresult = invalid\nsig = 0e698f7add604508b556c6f9a02cb65d3c8b494e68d440fdce02375781c264e4b0120bb5a417c1f1b47e355dc68821a5d2a72bd3bd5424e1f9671a1267c7672a411e1e6412998a1ef45f80d96a11e50a6585696389250f8f84dfcd8c9e357fc35edc022084ba99eae2af55885fb145db13636a81a5f7ea52eef79c9268cf98cdf43f1a47674daee33cb1df5f7a09f875c65f7f9978442827bbc156ced42e564070ab44d551bebc7d218617a9d1ec4a5f48619e5987629060700bc188ef8b90a48137f5b31eef4710d5ee7561691832a0af77df933bbaff392be3b2b598b57acb38240a5b204ff9b28b0a52972f278919a8c14d01deb6447fc78e9659c32ac9e68706c1b16f8db3303290ee0c94b5c33db127e741f6980d1868a91571ac2d72e3a174dd3eb417f3739ad61c68110b0ce8ec78cae6b20cc59a6e7a07a8ca7cb37214105f1cd04447127144882dc3cc7b86fbce2827b9b756deac3f911e11a35599db509cca6f41e2b718a850befb7401772a5b3453dfdcf99b1781f9f41411e1f67d22dccf2ac2e0db7b524feac72ea2029cc8ae2ff834ae17031d4e052652ad957593ca6a042501dab1a8b000d6499d7a79741b0b73ebbf497023e6854753cce30a43fd01cb3db662c9e06da25e17122733987cc156cebeae44d67f3c0c5abe680fe105d2b8b501960f75bfb2397130f1d3ac0c5c13aee841f3e5c0aca621300e\n\n# tcId = 204\n# changing tag value of digest\nmsg = 313233343030\nresult = invalid\nsig = 06956b9875fd5b4f7e0bc252a1fb560303d1d5eab0b676b6aa555b0bfa9be63100357c74a05624f9babbbe980a94b5e68b37202082d6ae713b4dfd0a7689ad5ed3ff70e9aafba45f7e905ac6b9aa9e4717969065d51c003d23bad8f2c821e709746ef58a9fffee3a99dc782811b8af30501d28d6865d0f52899df3c08b2254b199faa6402ff9cbab16b168c801bda906e537f01d9a541bebd77f112947480f1d7d470add94411e0598e7f0895b1ede3ba2f1b907ed04b10ed415fc3880043871677624ca0b74ade7f18f6e01bedc0d1931986e29e7eb0e7e2514742f828879cc8668d110f4bb940d1f7573835a504ba6021d6075cecbb5a1e4e908a418f56b1cc7edc77957305521534fe00e919d6cd03ff0a3b9416e44fdf31cedbe02b47932a6d95b702418ec6fe6e3e69ce5cbab745bec15a6122b5e74dc32bf7ad2", + "b984f25bf4018d4b62fe92b1010558024b28009a72cc4f72412a559d84559b97d12c549cc569f2ce4ec25a31567930cf85caa4cdd34117e775f48750b6b5c70d819b9e6e5579009179eb8fdf779bb8b898686f03617501d9293ecaa5df479b046819706d73a9b3afa0ed6292aa30504b65ab73aba5c1acf8485472bceea7256540a00e6c4624623286c9e4847172881b091f40e520e0a6d1280cba14abd774eb0db338f76a0d86ceaa5df7ce4fed554b890fec7f32874798265d1838a590be8634c217\n\n# tcId = 205\n# changing tag value of digest\nmsg = 313233343030\nresult = invalid\nsig = 7afebee544075bd481ae14685a0fd2c391eca22ac5dc5379a2dfcf9cfaa21ff2cbc334c7ee489572c9cf30f34fef16457dd60f391f85c304779482bfe2ddfe8573345fb16860f60e3489f4314f971d169e8a4ebb910e05013965384830750e6d82e4dda7b366ee11372e638de2dbbab1c1cbb3439f45e57a8863bd7abe7c53d61f050c0a52b63bacf5e92fe47e3e7448f16ddf73d2576bd222ec6466572a134e54921ba1a7c29b6c6e7049ca08172e1d55cda0bcaabc7f6a38e17033d92b5d81e5c6c45fe117230fbdcb11541f019afca47ee5132d9368903ac946e5522b636fbd302c9013f0e5cd2acae07cf7e806fe7e96ed3390f214769ffe7a78fb76879820990ccf7799991695286944b5416aaa09e85fce29ac1360f055e7ff698a11c40de0be6c5d5d39b8e969552da090274fb2f996a0b7baf57d75e63669efd5113667f732a91aefe57c9fc18022ec83d1865f858c74a397806588c3849a30235749bdd7dbdd3f3d8debaa92d4c91cbde08fbd929073bc9d9d5855614415eb54ca518dc2b91ed1b90c0d2ec27a149d18f6ea006abca2cbccf1fdd9c03d46dab827e9cf420ffdc9109dd8505a0db745312d19bc3bb6896f99cd9ca124bc4ed4edfcfb972abd98b1fe606662ccd77471a35b8ae3f405d688cc8c6b2e27399fdc89d189b8aeb67031138c7168afdef50b9b2bf9c23191fd19203ba4e9d0b4629e5a0dd4\n\n# tcId = 206\n# changing tag value of digest\nmsg = 313233343030\nresult = invalid\nsig = 806cbf33b9b7c058714403ea504babd8ac78416b0a3e77b4f821e6fe2161f86104703f2ecf9e747be60512aae660fe8f7c1dbacdde77b421172b5e68aec78d7646ae8e849fdc878b8dee55947e58deb80235f1d79999dedfb2967e52b2554350ed7954b21710c96537d58ee2ffb4f3310e77d8663fd6b1ff92efb0fbd5658d757c887b92c84f8d79c17bcc498543a38e97219029343f59eb0d67b0f16e80bf74d50361798999b7783f92575d3ae4fe8ad6efb51346fea20e6c0beaeea2f56af5d073dc45878e6e975bbab9632d38f84da8296165320652c4fdeaaeb8cf17e5a3ba72aea4e46d91008de112144d770ad7ce78ee230b296cb2df5b4a1585c6346566ba8963648750c3744a17de3dad45fad71702bc0f0396969cd6ffe6368b6274418d23b56de452f14894db50720f657bf2e3700635cd1e1fd80fc61de45297fb7f180d02d4563edd24e757c461987a06ec07638bda0f362a5b3ca2ca1d7272d6039d4cf161e2cadbbc755ba3d19157d4fbf320845e9c7242265807add4b18f5952229e4dad0d1eaa5d225d4d1aea144e83254e6c9690272e3312995ab337d673a285707fee499e72701a5283e0cf5802c49d07a113383d65e3496de37b3dbbfdec2b90df48490bd9e9dc21ae294144759434a7183c9c8767e0d8efcae2a6bd1bc794781f8df000431664256b0d1e3413824317eac6db977937e47f2e401a7c70\n\n# tcId = 207\n# dropping value of digest\nmsg = 313233343030\nresult = invalid\nsig = 4c9e5d015a27bbbdffff3fefa717015004f1daa497060fa5d67660621ae82c148dd128cf2c3b6a2212ee74303ede9736327d56b79bd967dbe4593ec445d551582f0094e4d6573f1425325778b1a9720949d4a67ad98019839314daac19044472fbb463e576f5164ea0815b013773ab8abaf57d895316e6b7baa4fea6168b2d5f622f88ea37612b75417016ed92defab4de906951df472ad10700b11ea13f8f43ebe8bc27a944572ac4435e8f03772ac427bb794bffc52cb26bd7f058750a991d2bfcb5eaa205a1ed321487e7a2d80157f6d394ea1fb4f51ae546b8f8189c41415cd6a983fc363422ee0cd1bc9c6b0e3f5171fac51406af6b93f47a9449c0ba274584c8332d6253aa967690e59671591f9cc783d045f8cd2e53ae695d2b43c6dbef08398f17cb53faffa1ee45475879bd6b1763c361af445175723c6fc55f1dd2f108d51f9e2249e6b1c0b11e8a1134dc4aa348942ca2818df11a84be7ef9056b57d0701e41373909b0b7f2acbbec997c20f9c4c5b6fb373396608f8e2cbf4d246b5ab7bef83eac4061caef51895ad856839c8b776522ad217f8cdf54311720c28da64ab5d9a339ca82d43ba98eac57b8532c5606dc6d1a9c7fcb20dab617ec74984246b326ddf2596326267dd90cddd41586ec2279a25c2798fafb68684df90036f3bbab85ccef8d50209fb317af04825ea69c844b613d0f8388db9c2cef819c\n\n# tcId = 208\n# using composition for digest\nmsg = 313233343030\nresult = invalid\nsig = 1b4fa86e9437a740396f01dfc719b300bc30013ef20702a886018f73ff6009e20b0aea169d6c8d3f8e5b39938edb137e2118fadf6c6b66a352880d08fd59d0db8e5682214fd2344a67ce6dce96e4e7d0bca67211498b3cb2688dc312c97b051bfdcb6e950c19edad779d41df34888a89ab67e9ed352890a8e29a9c9009d0c22facf3f18351faa3ebbbc617be26ed26787208e8c6028534155fe983e8a856addecde394e7eb182177e32179582f3eefa06f8db14915f65053e7e5a17575551774be4848c00c8d781984e6e421df5d2e2cf6a59fd7049c2a2a299bf1fbbe1aec676ecc30e2e20656410d98eacabaa9de1c216f16363097e81b49bb0783a611ab32dd19eaf4dea1f97c4ba1204cef5f6dc1f1b20ec8ae246c3ebcce57d61d0dcd13ac4765ff8f0f36c0f2e7249b85b9178ccb454a4aaef2c9a5d05bee8e1464404036f4e17fa1c6dc31aa622f4e130ee6c447ee85d78852b424bbfe55330265d2f013915edf736da1a3871d3c62df5a1b0007306706286fa6c3897eea636fb2de3f4cb6a0f3c23294a4831d388b4ddd0fdff21461a8cd27b84da0a12d1e35405e2726071c7a0ac8523d19254a15296737a8a08630a767aabe2ea6eeac27271479e1fca1ca2b13ebfe8341c52411abd3056d00947f68b2434d94129a0f604b3fc76734d32e5ea65078af02330543d4e7f728988506095925a9c215f1b8ee0e734ec4\n\n# tcId = 209\n# modify first byte of digest\nmsg = 313233343030\nresult = invalid\nsig = 5b2d1405cd372618413fccf1492dda7ddd2aba5e48f1f0396cd56e4f51a8728c67d3e127839b8fd44871165e2b0ef25f31e612fee9614f5ad6a1112f20e9283ca7906eb93cbe75290d015bc90957e570324689e466ff8822863178fccd491e5aaf34b0e16bf00986abd15e2117523643761f45eecbd7beed4d59fc8be32473872f2cbc91b17410a35d55badc3bfb746cea5f725863dcbc6aedd0228f56e94f5021ccfbd522c5d25f6b8ec86ba5c15f784b4d819e91ac622edc774cb4863844ae120c35e5fe78ec777bd815b07df996ceb679d74141684358aa50f96c47940157aed461e465d6aafd16b1e22c85e93336f93cbecfa9cd113e72af41012374a8bc143f95004705925b35f1724369000ccc3c07ec572dbcfe36a0d29cfe99b9fb5d6fc620864a717b8556c931e05d32ee93674c092025cf01f37e36ec21d34b9631b3ce3fa40893376abfdaa2f7aad26a60817106651660948b8ca568128348534c82778af0c91bc6204ce6b6bcba682146244903d0c6ec12130005c97d390977f71ed0a3acb9fe5c69b62db6ecc0baa94d608a4c95a62f98ca67f9d4583cc96c98cedff1f563ce9254d4e4cc88d127d74b7f9e6e59bd83a03ad3c720cc687e102cde5bdff8bfa0b4969bf037126b2eabeaf4d67bbd8f19449ac1af10442c5976f0d99e57070d6fafd0c64a25ec8fbc380cb71ef952f120530f3940227d0de6c8c1\n\n# tcId = 210\n# modify last byte of digest\nmsg = 313233343030\nresult = invalid\nsig = 0ecfdc9e8f66eb0091fd4ba2c702c3be35664feb4a8f2cb6612b3aa6585180c8dd1cb81956b0ff84dd7463a00d007bd26bd4132f29fc540b8f6fd2a29806fcebb167ce31cfe9d307558deb60db8e68f6c22fc153ad979686e0bc82bc199500a1a71ceae7b3cced4141c95dfd54fe0d8af15c0fa93e416525892d30ea6890ea451c0425db2ad2437f6dd77d0487fafb966f2d82f6752456f8604a66ea9367c7fd5e7dae8e4a8237da2cbadc97814fe05be3fb8da7a8263151451300e8f6ac051d1f2757920d59d5138181c41649b786f8957246a3459a299177f5e895d47d1156bdb2dde021b20a1e6153aff898fbdbb17824036cb0c0965ab508f1a323044fcaa8bb7955ca9188aa42ba3807c595ad27632b7b381a219cf162d0a80d56f58c7b5089a167dd0766e6cd77f5a1af2945a1930752b46a3c729233f6d849a6aea1dd13ed3a2e7a91ee0b8bd00bcf4c5888542fea02792367d42a9a675d3b3c973c8f1497811d6fe27a8bd82bbe5b8b4abfb39cac4c2265da619a01fb5847e5a4fd423674b2d3949d262095805555597e4930a2895bac40b8e18c711223ae7b2ce23dd556ac179c0124a6f1ac327807e8540b1497e1c72499757468b1ea8c39e8e9b9a5058db4340846c410ccb4dd6c477484ef3c96b183b6586fa79054b06ff22475dd6fa7aa08bb6bc3451dff8de4457523a4c0fd832007396ecff76b16ad19017b\n\n# tcId = 211\n# truncated digest\nmsg = 313233343030\nresult = invalid\nsig = 97b76bef18ef7d36234435eb59cb4e7c93d3820b825122b19c2e0824f255cca6486aff6ed6f2cba7603e81e17c5839678b6e498e41c0959ec95415ecc8795a091655790cdd335ac12fc7be271587433ae2b8cec08d2375c16a02afca54b4a68fdb63e3645678977ecb5f05696fa668ee06a2e390e48057999f018e98ef9fad938b124d86bd4a4739282f5273d198339faadf0d6488e4b6a968ac25d7a0ca88ea7cf8aff0de54509970fee9bf9914773bf247b622f7471d0df722ee5e7fdafd18c33ad92c6673d464c9e1f0de460c106d4a54be1c7538248f65004eb7ca94aabffc4f37cce9f4e628fde81a3d8300e0ee486b52555c94d4182e5e7cd1eb6328f872f9b1528d0e1337d20bc96cae3b5744ae88db90bd9f3a5cb3ba6d64e949e9b64d84c47ec5f5b7af02b08fd06a820b4df22b808203d0f9e327ab64a54282a30ad12abddd03b9beb83b8647897c52a889e7039632fc63b40c3cd5a8554f0dc96e3727fa24948d97cf0ea2644f888129cc6a450840cc526b9bc9446430393d571e4081a10e6fae856e15ea97b5852ccb253517bd8db2ceedf23e50e51c1b3500919e0e4c915a3ef3b75c862290bc0b6dfd88129195ef4fb4b16837a0064c60513246f1d4ac068754aca0f59aa847ab5c7086ef65d371075ed4caf0345bb22a69163089d683465d48d27cff4d5a200a1cc93e54bea0033b6082d52cdec5726c9bb9\n\n# tcId = 212\n# truncated digest\nmsg", + " = 313233343030\nresult = invalid\nsig = 50bd7b6ee4aea6da1a7e92a2439817dd3e521030d55ffb99889681a9e938f9ff0fc50c4a329ce439f862b8c12744fd565f0f18063bc27357faee33bcaf24887a72f15851de6c014664501954ad7e27cadfa2a1c852bbdf212928807be0185ef51d11175195e8621dabf5d29a58cfa28d96a1aac79a60bf83dbf6508fe891177f521388e13ffef6e870614a35c60253c5717020d6e91f860c3f447f038d65891cd783d06095b615bf1016b0d73183bf417521bb05d007f6fc23ee5c46e9e43307b0e2ef35bab3d7c86601c54cdd7cf9d495a4a514a0e804e084f53235ba8b7050fcea6c858eb67c17f45f1baa9f4afb7d7cc0c0df4fff8301ff4cc3a5754ac6a9c2956e78ec3ed3faba10994621b8474982809418124f8392a123abf92d8bdb717b94e8dbe87fa620c1c8f597401ee7f3087cd1765d9bc008db8bc017fa151860c9280984db887cc74c9429b503413b6c2d29765a3bb04c70dad254d598104becffc37173c892048c490df48addf5970193f748eb51c5536692e61c21f6f33f5a4728455ca916e3d707053b6d781535ac3c75bd33a1f6048d3632b092fced4f4214a6e060aaf0e6fcb5153f1f65cd3e62d65842e8587b378c0310d9fa6197f1981adcefb5b33936763945704df6b871d7026a3a2d011e43aec8651020b01902168c216ccfe367edb111184ac012abff7dc1a188fdfe5d8e865db27fd9ce4a4af5\n\n# tcId = 213\n# wrong hash in padding\nmsg = 313233343030\nresult = invalid\nsig = 8aa39e382cd8607c148606cb9693ec37591bf4f663b0ac40892656050e57dd9442cbfbf34d1b45d6e6b2ba24fb5910c6521627c45a580af8b26bc2c4dc411794a0115d11588fe7c24324661ad04023e8700f0958bd700e7319685e5e349497037a9dff809d5d8a2b89b62bb1e7530f35f5024ea927a4ad4c40ae09736fccdd967d0e59dba17af33d803061e4349e19066d92ecfc327cd660fd7dbf2863a1fb6685b5a7b9386c232fb7df96fee7244f37a5df24e4a039931a41cee3763919544bb1bb6d14e2adfb88607ab80fc0e434553a5e4c2186064a9c0d844571644977da31d6e5bb70d1ea319a6cd270983d22d73e226f65a5a5bc0c804272ebbc4553cf9666bd0985a97ddf676788d09889b2d323241c6fac07e13b7440554734d2c0aee1f3b882085f3a266b452ed2fb69d518304c5289b2c2a6484ab93f8a540e6d1f423aef15a8441485e5768cd0e9f47cbebdb85d7dcf045a5d2714f0d422fa2ff6a77325d5fddfe194eff9f03fb02a3914096a9078d0d954e981e7542c975fcf43503d2aa806bce49b2c6cdc971b290b3b2fe45b3e0b6c106cd6fe0e7003103fd2324665f800068f0a8ce635b6aa3de021ae52b2cf33cefd54b9e874a0665ef31fb8584ef80df6eeca5e1c323feeb36d804266cf2193c9a660efc6c791d9f571c22de39296deed36f10f59acb93b1558a15d5da024574a1a5c190ea80de8d9cc97\n\n# tcId = 214\n# wrong hash in padding\nmsg = 313233343030\nresult = invalid\nsig = bde28951ec3257efc054f48bb34c43fa230009131244f0a909bbbb387527e8251d9594d22e435db30fa55c01c43421dd51ab38dcbc23cee280180d74b6a9c1c30fdcbca02070ce3e0868419d9f28b04dcb1013734bfe9678f7c16f156f382596d9561fc32fa8b9de8b7b1bbc0047a4a2deac7add9a0736f0b0546956291d231d39b53d19e533d99924c8237df0ff91bd74a5131f4f361d7e541083dd4f3d711ce4ec9aa869a082e4d93ac9cec840cd00690629d7aa30454991a18d8d342fd582d8054eb66c6bc41df3e7c98b47b50ef7d1955215d5ca27f80d2b919a75c25f6c18bf427caaf3431d64e27969b6002cf125758316378fe05a26e3b2cd0da2f86016a5a9a8587577463592ae0c02f95c0b099f2bb0ac2143a13b9131ba86af8b32414d33c63d4cc281d5b1b442a68033dbdb445591ab88d33d184b4d87e84ea09fc047261f6cdef18462ea8392ef9f8593b71acbcea15f81fa68c9418ef37720c8077d7384f9544f85a519614a6e900f178f57535761cb388f60fd15eff8ab321f49bc152626c2749bc3033f46bdc20e853e2b5d98297c4f74d9b0b632d0bd1b6b64346cb6704afcb8afe94979caba4f56713c4c966ceee9bc0d7d1f248bb55dca1c58b55fd04422c8f2c390238c1fa4778d6f31b54a3ffe7654fadd8bcb14540333ca3aee93184ea1022b355a902373d7de9b60f3785465668bb0ab7a2542bd86\n\n# tcId = 215\n# wrong hash in signature\nmsg = 313233343030\nresult = invalid\nsig = c996f9bc755208b9231ff74c7eb386572fae494aa1ef14d906947d8e392a8c9729df0875788716010cc0b65c2e7fc445425a3e0f3f268a981886ea82fa6638eeb399b13e382c699c9c2120190315dfbcabd96c64cc65251cadc8eaa344fd48bfb139a7f3b84d0b9ba2e8ba730807e8f39035672f4fcc6e16959e77b33457881af75f658ad3493dc8cc10e8ebeee25f6ab0c435b6608fa1754ce3610a729a8f620ab5007fe95866feeab912deaca144b8dcfc682bafd0d766372d37ca4f78ce57bdb180079f577ba2a8b38754d7849179df6fb76c26fb6e744d2ae5bc1ec622eadc77dc58789e691160f369e02c1490316a3236dd8938bb17627e9a2e0a6450ba6617b65d068ca22c3e2fd32c94a1edf25d05231dfa1848a79959f327ca2eb2a5945f3c6520f6fbee14f4271e22b47c53879f1e968979f08232619aaa82e5477692edf1df76ce5c7588bfcecd32986360ee77ff918d34b7fa81df9d9630cfbbe9e789382679ab360c9623a414cb8472ea1bb85184099a66e53074d35d8c6bfd8a7e2ab60fde351d253a69f5f75c103a43457024f2500c0175f09af86694e278f6d7c967445195c1094d93b5bc1d3871a673ba4038e59ab4e4a3e034b1ce2385ede252e6ca5d8b40785fe3c0f9fc02071db80e97deff27dff9d9b96679ef5c25e8e68d1ad5c17b1e35ee054d7a3e7e9bc8fb97b68918979741f8d73bf75ba910f0\n\n# tcId = 216\n# wrong hash in signature\nmsg = 313233343030\nresult = invalid\nsig = b5fdeed7f0f69e4c0c2aeb07d36e868c827d2e7eccf409a77ee8bdb810d2dedf337dfbbf723bcf9411c5357650f8e92ca9189ed821dd2baddab466084d348b0580b19acb9dc7346739a314846aaa59d5c28e3120621b961b5d0b0c1d4de49739cd95eed627738cc1e4512881568e41ee94a77b9b0ae19c7c4f07bda6900c010a5e10ac9f8d110f2edf368669002d2585b1394aff0687e98ebb7e88a8fb1d950bd563e77c8c9852faaf941e17405c1d7f12a51e8ac338f5c0d6a605ed2445814c14ee949a781c65d318cf2e46064ed0eb8cfe68fbb0970115aace71722b6c5649017125685a79ea175c30d1d0ada039d453a56c59f4d01333948e769580db290c271c15e5800706db6b5ab775822b293be7c62c647f42feb2effc270d50accf866dc1b19616e7b2d7c5c91e298df86044df61f00ac48ebe2957258ad7d9f4d69266627a0aa7acce8350bcdd2d139a0e8a641d38b85070ee7a909ea71d3d10f9108324a5ba8288137b322367d973e5a6a8a8a12c2442eb93879bb4b3b3495960a4b704f7dab9690c44528d2bd442cf2d597c1ed9681f9352077bfe6177b3ecb157177cc572db7081113e45750d8850314a49e7fc38c31b4cd79709161b87d1f31280f496f07d39804d8b638819d250a5755b00440c91be15114e1244bdd8e5a783a61da98688af5781cff347fea61445580103bcd75422d43bcd77177c7ea0b554\n\n# tcId = 217\n# wrong hash in signature\nmsg = 313233343030\nresult = invalid\nsig = 8682d5bac51bb32bf283b8cab1172d6e8054dbfc672de6f35f33a9f7b3f0662fe19ec01a74d5cbe6d90351843e2b129d0ce30884fdbdcfc962d2721fec5b3b7f6a9db4a95b13def111c737cfae72d13aef4d0ea9c29181891505a0d28c5c8853ce5c37476654703ea2e7c68ed52591c182bc051b5d837ef3be064901be454967be52f9c7d406b7409e93308b74a826d3d1e6aedd8aba3f5f971824784167df53d042781b7c2d3cac29428c7da1fbc451680cc211517f9175ff1b2c00f819916d6d25581542c8f05479aacfc245e5894763db8e79849d3e2dd8d7178a38cd4cb7b03436c150c467540dfcdd001d6c8994b2f8b332705b2b5ae0c841708c83dadc7d647ae15e547403d689a00a6bd4de8602633443e0b7edf060bb7b529e0afeb1b4171f70a943a14f69c59720b4b5ae59313325685c102d992645fd23af12f3b8f8de79399cc6c80f9a0c006c316ff7a6963a1f8ef58a67d107e5b49fd8d7079bd45f23ef67f6a83127da157f54fef9dc01415a6cf7a957f5ffa15457a1a8bf831273f48f927ba8bde79da623a8a2784e7d8950c5fcbeef5868311acbb793cdfa54c702209073ad8599c4c74b31ce3b662399789febb36d922d77cddf63c1de3a6aba21d6d8ed54a1b48f48955602d0f6a4f5eb5546131561809236f0c71b8374290106b893ab70f6fec1fbc3bb6ef5e6c0263a7c8cd90c289968671744e853d7\n\n# tcId = 218\n# wrong hash in signature\nmsg = 313233343030\nresult = invalid\nsig = 088bef646bbe07ef0c2d8b191ba0b36420a35ca1a85f222bd9622af778497ec8e489fe00f0b7b236e7a594ac83963d8f07079e97397b8b973402225215d2fab8ddfbc11ab3de487fbf9fb704a5e0cd1191acfdd61031e72ab931407029a9fdf519de6fd39e61f89c6f8773b588b1645ba193de9c44cf9e237c4aab05767ac6b13b125b39b9e303d175f38952d536cd1f0a4aa92872fe6bbf630414bee94a824f063dac6238f846ff829ea4dac1ac46037ab115aad3fe76c58c28bfd15a0f43b445e0d2ca02f7a886ca123fb19ee6b9685b4a704796e35c2e05c3bdd7106efde0a2fc3f478fb734b39e1f6fe6507d8804d8067dc57a02f6687a5efa85168131db331b1b426a0f86a6c2581cb3101b1baa35e24c2fc5d8127ad8c749cfcb62e94f0bd1c68341cc9c680aa2a067d242b1085cc6724d5411e1e71fd0747b2a17408371740b2c95f6956385936ab4322c977d95d03dc320629bd8ac9326169c073c2c1a87f4e36bda5546766c2d8a1f6599e20aac010d447458b84f5160e186861096f035f28c44cfa6e6a4565ee25b8f1a2868fdc079e1e93beeaa0c2da15adbea1af2f4de54b4015218420e309c330476bca71e303bb2910edec339ffe7f9048d16d98c0e3e6f4c582c50fdcc85c54e11b72542ca7b1fe4507095b0fba9cabfe5ff9596ade9efddafe266d7a542ea8549bba6c52910a76ccdf5ce296271380ef6b3\n\n# tcId = 219\n# message not hashed\nmsg = 313233343030\nresult = invalid\nsig = b363ab557c443634934971ec7a90537c3243f1c40aa765b76f02883c4bff89d32bd27565e4a34ad1fcc36ad6d657df085c19f3ea0c428dbbbb0def2762312e4e3917d658d7a7e0fc7ed4b073df80ac671fd4106bce4ddd34939b2c23c205e9838123c95a0fc6d3ed72918c09d15b93aa856b3d1a736fab56ce548f947d99634834049e6f9594e705ba037efcb6dfa46f738f49ef631678f8366897b261edbecd29feb13ebdb27dbeb95d432218dadaea3c313547fc5f938c3ddcd6216d6250441e0d89d1a58a0d736ea9ea33b63bb", + "70ae6745a33f8923e6c7c4c665f324030ace94af922e1eaada9b641091799e04cb3b9a3a7f235ea915a955ca0be2679a00cc539580ff76fd66272e8d2fe4f9bf2f32fced7538edf0c703a0ac09c8ca909c5bb2585130326a44a172dae07e21cf10b2358f1cef04bc4a7aff332493fbe409e634a9b370423368eb2de662258d1f74ea79c7962e450377236c3f5a4031c0a8856b533608dc23fdfa65ead64a90c1e0e00c2900bcb4df00b0305a8ef7f244e4a1a8e6283225b26cd6a537de85d0b634937926b4ee5cd4b41ef67f3c6a91e60a7eb319c163c6d48cae6c32ad6015eebc85dfac2e34748b184d930d6dca11058eecb01c64f741d53e1955c1e4d8eaf8671f88b0b2b52c1b6b9571be73c8d8e42e38e5c665cc832ff9b321ccf63db49e6026db0837789e355a4aebecd473df6344b\n\n# tcId = 220\n# message not hashed\nmsg = 313233343030\nresult = invalid\nsig = 7af72677251061769f1084ad9ae01faaf771b1287ac350f1f11fa2ad41a416e464cbc415825852aad2717f92481b2027ffd72a8c5de6e0fbb682d386d19f74305ff18ea65c8b46f46d4a1ec0df6dac7b73896072efd7b9ccf83d54d367dc27379e058aafa16bc42b734b0257cef0b2443f5820743d855130cb62a0fb81955cd477354ad5093bf370e22c083c28c4dee5ec0001d83f05ebe069e1de81703c8837dc34638ebfbc9111c60716f83b9603f60a9041782b360cbcbfdeaeeda3459072ec76206305fcc8182c30c76a1dd2376be109d3e95c0a37db6fe76c4f777f3e674e8fafdef17685832db568728cc1cb16acebe584d19d86317706144f92bd9a3557dbcc020c0582916d4d26d5464f4bbbb14e2cbd828700249d9439ce634bc3e73f483027a37d26fd01aff3e5a7eaa7f109be43cf008f74f7517b96620c1a2e490bb950485af2f9f215c05ec3c3dd8f8b40646a5e47691cca0185f3923f1e836a8db77155164a335a8cb4bd9cfdbac013b895e7de340419c4ca884e6c39eecc2fc420babfdddb06669f511559ef64ad9a1f54198b82810a9e35c30bc3e9b7ea1594e372d1c29584cb6af71444b07d4099d027bfeb42dda594790dade61f47b00019f78f6fe1408088018c5ff3a6d3334173379dc918f3939330de53de5272e6db98f15eb5d78d33c2ddf485c27e34279732ff82ed2230be48de068046fc25d56b\n\n# tcId = 221\n# using PKCS#1 encryption padding: 0002ff...00\nmsg = 313233343030\nresult = invalid\nsig = 6364ba6ae98bc935690023d9df5f4bcda28e09e344719597ee429ae66f4271dc0420c366c2ee339a1964d9794cf5f5c8f1b823639088a0a7a1bc553edb8db695ac74e8498de5cd34a1d95248b05de56da0878d23f646072ebc37075a4c625f721149104578213dea116b26bf726ed2550b451fb893fb90bfd6963f3298f6c10629d42584dff7c8dc7d5060b52f93492c8dffb71cd3b55756b93ac27569acb2602dbff71a95ce74cafe6ef5759dcb85949c142384b4f15b059070dbc0511734ed977ad70bbe1dc2a45dc724e8d709559c975a731b619e5ff9737db0c7fa1c77fde76a63334e8fda761531d35d292428b199a5f2e08cd4ea2a37d5b2bf47b68fc18f0ea0c6b5f903f10e597f4c768124668ed832f9d6a8fd17c8bbfd352685196cf7b7a8f6b6c55aa4b1fb0fc516bf9b618ba23661d49fb70a4e0827b9439f7786fc29132752e258261ed8f6e2a06a869d85e2e48489114b636558edefeb1ad6de98a21125e1f2401cb20e76496037d801d7cdaff0fb5cd3c817efc7a67a30fab316593e9a6d487115a82ff32ca64eb79483ca337dac18e8b17f6f998bcc5bfafef937fb1233fcc06a2f151982a27ac27b3005569251ea6d1995dafe4f82f592dcce808882621ba245619b0a7ff4fb1a445b598a3ccd7acc072864729c5572d8a4c8c207dd7eafc9385a44e6a6e07b5a744795c74a1a789e1a3520e43eaf06640e\n\n# tcId = 222\n# using PKCS#1 encryption padding: 0002ff...00\nmsg = 313233343030\nresult = invalid\nsig = 7104011b21345d72d2c8b9264b8841db3db436ed2b1d4943596a756144626de1663a5ff4f294c3bdadff4998a127c29522c63c44d8ae7af49a0e6715551a2a7da73bf69866ffe55bd20a9b2620b813b21d404be5d2a8ec857a95d160adca91f15bb8d95f5d53aca7a2a32611b113ebfa69a3ea903fdaf5d33488394dd574ac6d1359dbc584b00218c2bf3415baec27c2286054770ac75de56936d6a0429d1b46fd9ac35dfba0ff2d23e935b970874c128970876ae0e60326d2f7f117a72e2f205bbb63d9f33bf624aedef361b5d60d295cba044a43cffc079451158812a794b516aac6f4f086059e1a1adb94504cad7b3e4f6296c14a162655e54fd68f95576782700afa51357144485cd4959cf2cbb9c2be718f39210261d90b963f8e6cc9bd94442a13f98d2bc7178ae460e749d72cb648dbb7d9966b9700efbb908f039487abc607bf88fd4e7df9a4f045f998810972e68811c1c3961556e0ec85808d3ea4093ff0e0b10bd1d066f5adb9deb852a726690bc6294fa10f83d9281edc380c0cfe5e70e6ea344ddfdc2d071c37247821ea5a290f72b2ce509406968853d6fa4b2ceb635a612486cc903c01bb76d34c19d4bc75b39150de67fbc125e7022b3774d01260c0d62e6bc6eaaa189ebb70a00b1bb9a8ba25564afe00498d541010dbcdef82a597ad313871357115f8af3de78f366c3f0d9439acdc79556c8a3be6604b\n\n# tcId = 223\n# using PKCS#1 encryption padding: 0002ff...00\nmsg = 313233343030\nresult = invalid\nsig = 705f11c3f722c49b395a58285d37c52a902ec2bc72cdc0b9e62204ec960792e3948b177a869b22c7cb78c9d3cad1ff44f6dc36e6838579ec83d1af74e64fa2ac19c169860782b698845fbc670aa5af00d0fac6a9026b16c908d8c8315267f273d629551dd83327f1502036cc06767bf9a8b58ab59e88e6e3fe0ba333b3fa0125d1f6ad98b7ac9c4a3743d79382384c6e3635be841e0edf973d45d1b5431d6d71dca1a7e190e0420a423525da056872842ef724d6b33d638274c7955f4c7d873fd95e5f8d4592d70e8df33774eff3da79d70e75e1e7a72d421d2f4cc487f62bddc4679e2b55cfadf269dd04ec021bbe4ff23620c89be3083975d8879e178a375ca564aee4868a22ff1eecbe1d91d2604ed0e3bcafba52402f07799d08452edb13af44d3109c2c3f85751ea38316755adf3b2f185c6d1ae9042009fcd4de3f14db8f867ee8614c652496cbc39c309dd4fca06ee6958dba3b95ffb9381634efbcff3beb66e61cc2327e56d39cbfe158cda5039563cc263ace1c684521b2d19efa3007a3bf26e6e92f175e521165ea5eee4fbef3809d649a9959fbaa7a5a1f7ee14bef47385f45aae72a44b5282d8c993cc6a7c07cbaff3712e87b23fa0157fb40dc067f9340b1be8ca26225ec74bd5b1b224dd0662ecf70369f807b2169c6022a34e0ac09190bcb31faebd4a586ddee007e7f7a1ec41736707c1a25069068ead480\n\n# tcId = 224\n# using PKCS#1 encryption padding: 0002ff...00\nmsg = 313233343030\nresult = invalid\nsig = 89bd9b3797499c01328b4c3fa56e8690d2ed46c15333ed54ddf78ce11ea1864cd68c1b6443bb299bd9f33f9ae05807c55065d09c31c79c8757772bc3febc2c6ea61521a5bbb8c7311407240461f28bffbf9bf1a7c8bf0f60df94885c92160363a8d0846f93af95790ae8f20074d1af828ee638bffdc7570ba85bfe9592d82dcfff270d233dd8478437a78546884841aa46407f97e811fefc3a097469abc3ec1185dbb4ffd7f49005ce9ba89c127de5dfc41931078696f6763f208de4db2d28fec3e0d006aa2ae1d4ab92b09d2757a4f32c966609125bd423636c4d4c547d8ef6da446fa48e108ff881dcb78a06b3868ac544df71622c5e2810f2c0b63e866c1bdbb740da83846c1c82e2126d3e5354d589837a369fd547d954925af390981c6fd54083c6e4161147884e948516b777e9c3a5656f17252c104230a54bfa58e33333f16c829d1ba73a8c3df2e6920036f1f834dc0f65846a411cb2997e8f2cbc3c2efb9e03258c52539dbc4b678742465290b271ca321c9d7198cd6269ffbfea5dcfbc7c604a377415ec29ab57b5abdc5fd3050e056d3909f935bee8c8706eb7dd362401acfb3597f20542e462257d6cd9bd76d8c87fb8e5fd1607e0fc96e8f97703e5a175ef7e7813db24d3d866b5c844cb020ee39e291993627f8a7edf1325d7f033f527c937bf3d22e28afc861b75bd94bd8b769ce96236090c0b8d5666eb76\n\n# tcId = 225\n# invalid PKCS#1 signature padding: 0001ff...ee00\nmsg = 313233343030\nresult = invalid\nsig = 6048d8149c4c3744c35b315117e983d47ac0719c8417b41e7d001af0b9dcf465db93631d7ecfd4994086409d39cfbb2b2cb08a30c69bd45ad74d63007e0853f763dd5006d1f1f9b457d5fde60fb86904b669e0f3d5379eef168dd74f0d33989c308a80fcb26b61002a81a1ddd619d5c9bbb4f9fbd7c4f99eb2d4df27e37d0d4984ec2853475cfb533b5cacce9c31d65f06d7fb06613530d942696ff427150e112be4fd06517d643e50c59ee0e5f8fc28ad2f8a220399bdaa66569492dbc1a817bf76dfd07d9d99fcd2c290a6a289e4f5030508ef4d07c77fa1f61084cd14bc3041b20d1672b3948a4de3005e3709e126c46eb1ec1f63dff00785cdb4c16cd02645a7acc1bab969625977d2037a7ad910185c4c8109dd72294d553ef8b73998c12a118c4feeb40c27fa8ff4fac98da8ecb7b5883f22e09487db871351b89d484d113d58dab0dfabe42c06fd46547588c53f5cf11088025d54f61f724623275b18d4c361ec021379f2fa50df7d2bea9efaf028d13aa5f6a024dcd93454b278790844bc42cd39af896c23a46c37f5dbbd7fb791bd8e5378d5df68ef053264710c224fe80a197c9a9338a4433f174be73c37e25af31158c5bffd71fc480514560db478553adedde31fbb65ed5d28201e3bf15750f328834e5a963d0fc2daa4949df041f54a6a196ebcb789f023084e48433820815ed7e5c5359d3a0fffdaae8b34f4\n\n# tcId = 226\n# PKCS#1 padding too short: 000001ff...\nmsg = 313233343030\nresult = invalid\nsig = 81fd5d22e36e8bce36644c47467559bf83c2aae87a22032922f6e0aef582e4c799b2a12ec8534183c982ff1cd97ec7410e7203c3ad426ed6a97efa158261c7d9486effed3640c469a6444a5b1e43ebf7c359b04aa37135bc51de5750519231f682c0ed6fc715d78c34bf52df4e3ccd28edd0cce4828042d3894381fb99429aa306b326bf59f030b752535914d324284ebb5073c14ce3cc1000e0d65ca90f068ddde05e2d7b22ba575b409aefbe37d110f92aeb4afb58d4d03d140f74fe04b6772b52c960bb1120d359b270f0bc926bbc21d0a42d7d8bc56c5756dbddd0b32af7fde1e8930e195874f590001fcf63968caa75bf9acf3067f22a64370ea68302bb36fcfe35b1c39f7e69bc69328ab6af1b5b67fe3f86c06dc823e34f8652a0f5e38f6965f930e3ec4abaea3e9ab3b81132a14b61357aae48bba795f585a4f87a81bcaa612ca564fffe043e663dd8469ccaa4a8f388fbf5dc498bccb23f72cbfda7a8", + "53c9c132c0ff27435a6baf40d77b7a52ad8e8ee7ed6f0d6524cdf060e3e843b538e586facd8a5f5f3dd97712ef426f229d803ac6d6ee6567ebd0ccc467b2301f567c92e1c4731a4134c18edc00c55779d7a34a6c155823320914157fe9d7226907a7750bb78f7b6b61b134c18133de7dd4357a7763f88fd3886d95d47449a6385243cde3bfb975738e96078cf8759d516b31268c0052045635ce50f8805ff0\n\n# tcId = 227\n# CVE-2017-11185: signature=n\nmsg = 313233343030\nresult = invalid\nsig = c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d3\n\n# tcId = 228\n# the signature is 2 bytes too long\nmsg = 313233343030\nresult = invalid\nsig = c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d30000\n\n# tcId = 229\n# the signature is empty\nmsg = 313233343030\nresult = invalid\nsig = \n\n# tcId = 230\n# the signature has value 0\nmsg = 313233343030\nresult = invalid\nsig = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 231\n# the signature has value 1\nmsg = 313233343030\nresult = invalid\nsig = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\n\n# tcId = 232\n# the signature has value 2\nmsg = 313233343030\nresult = invalid\nsig = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002\n\n# tcId = 233\n# the signature has value n-1\nmsg = 313233343030\nresult = invalid\nsig = c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d2\n\n# tcId = 234\n# the signature has value n+1\nmsg = 313233343030\nresult = invalid\nsig = c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d4\n\n# tcId = ", + "235\n# the signature has value -1\nmsg = 313233343030\nresult = invalid\nsig = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n\n# tcId = 236\n# RSASSA-PSS signature\nmsg = 313233343030\nresult = invalid\nsig = 9e591980e9ec3d62e2edc3163ac8206fc09fe026a2f7e622dc5a6d02976d30ecf141295335008d91a223ee98a143541494ccf7cb06a1aa61de524fb5bb4b379a67ed2ced447c7b395c57a625f835dec6844c3b67a85aaae10e273d3902f5f30539711f98d73f86beccd798b98541a84a03ccb3379e8eff88c19c88aac7b7ea99758194ffa6660153d4f22c1252dd1b7b574e19b3492f28cc097d3ee3f30f6b88576bc6299512f9f8749e0b297295bc275ca59f8056decfca9f3980e6f8d6e07b73e1a8ae8b3847556cd67ab77b96618979ed37744be2d6bc9f2b671615f1d4c4c1b419f05036148182ad4c6375f9e3c7cb37bb75d16c4486e97c0ac5685995cd8e5d76452934b26105be9074b2f8daeb1add13c9b127dca2858e5c80e686791a6f98cd98e540bdf27d21b2dc9fc84e09561df968d73c190b3081293d666be7d991761f4722450ac249a6eb4bcdf190c214630c85243a6c5970184e257c00c5a2a18bcd20195fd041887f001e06d4a6049e210cce62356f99853f3da2522d3d63739fbb2ff315e68ab4a05ba1e29e5b93808df51aeaced52539d7b956db2f229999ac09a6d4c2ef8714ef9d4783f538559f29af9d850bf71b001f231270874fb8dc60f1d1554f60fa69cd657112530e22563fcde26c3c86137e476a2fc1d8ba4a15dda42d4d8a20fbbad7586f472b716d6ea2ee30f1c111bdbb3db8e5e2d933a8\n\n# tcId = 237\n# RSASSA-PSS signature\nmsg = 313233343030\nresult = invalid\nsig = 23e198d582d048874ce4e6e69f5a81234ca08be1fc9cf0f7be05454997fad87da8f05c2faf7285a7a9ca7aa50f772b8175479b7bec85919162b8a7eb7cd4c1b8f0aaa64a8f371e23ec2c3428d7d83411f24bbd4b80762a75fa0e5de468a71dbe9bac382b4072241e3c7085ed2b9e72ec3779c1f70bbd0f246834f3e81ebffee13312d133e1ddaeb58b84d1ac1b441f311ee1e2c9693e300862cdf5b4a5d820dfde870da22746be0b12dfb943780c0ba928c657c54bea0d84db37fe50f0965ceab905f2ec3ff177421b11c30e846ad93212485e7f6e52d7d51af1c96f31fef174ab38cfb1b1fb5961cfadac518a6a4991ff2d561a7d8dadc5ad430c94b40c04a297012f81e6e84ca02879fd82b73744c4372ec02f141ae6c4ce75595559f3f4cc9e4b7a7a6d93636487e34938082b3fd5f09366a062484d1820586a720a9618ec18d980c969a28d74c81fe4fe7bb61986769a89716c965a7f056aff60e9175527778210eae23e53e244b973b2452f40ab375222621a89e1f5f2abfe5039708f2a659553582f760f0d264f854840d069e8c4db0246738af1697b05980c1f53a1ba4eef8e08583781c13a93d03eb19db75e71bdd0602b91908a885b41f0b8d9588d6e05796c8a6f8d220922ef9bcdb026af9bb328ac7d96d4078205ba1abf00eea45b9c260e3b55da036864bf5bc0cc2d3944fdbcc7e64539a45238bb2061210514\n\n# tcId = 238\n# RSASSA-PSS signature\nmsg = 313233343030\nresult = invalid\nsig = 4a80cafbe2a6095f8e8663f6289878514d7ee7daba0c1b0a077cefb333cacdf7c116ab89b0a01cab3161c68cac92a08aae7d117c9a3416d67365621da3380a85ff34a7a3b512846048acd1ec5957af942721c241a180a5dc5d8f6f6fe54d4d9fcb3709cde37081e2233b4fffa201d2029241932da170a5bad0d927a803a7f6289fc9f7b1d41cc1a6c94cbf588d5492b363920d0c98404f5da9eb9457648e2a4e9a034b2e2328c7f8c0e794771641a981df765887b5ba19b769156b375535911e1a2da68bb6a37eaa0ef8dded4ce3eac5caff4e8dc357703f0409d00baeedf3fbcbd6895dd3938e1f03dd9f131f9c979e22e4fcbea0c58721bc72d1f4976e93fc1a7649a23745c0310181031ac34b2200dfb4e8fe9bd4cdb52a23c31416745521aa4861eaea7dec4ea2c18ae9f75fa9d36c9b61bdc4185e434f8cb091cd731607b749a3990585cbbea2b1c0e0fff4f589a547d320bc7923b8a6b594c5866095df9c914cca80cd6c0e9aa3d691e2607f9de64322031ccfed04d9c805226cb476d3246d6caa1b04c63372a77668d5edf06365827b80391a6abd66010e8e1b873bd83db4dcc99444e109efa2414c6e5319f30a718eb43a1256b2142afa2382316e37aebde32da5bfec93e89d2adc39f62aca25a2289933a7cd8234d72a9b3c6a001d27560f8c8a2d9a233bac0b519b34f4f79288ea2cb08a87242953ac24ea144143\n\n# tcId = 239\n# RSASSA-PSS signature\nmsg = 313233343030\nresult = invalid\nsig = 727f107d20a02c2a2e530a78fdcc8ee88816badea1204d4c6a3b116776217f86f6fce6612cacb44aa288991146675cc0907094b5f90a06f0e940c886c07b5157605102c670aa9927fd0f2222b737890d1cb905f0fe4b47e67d254e6fef0f2004be64c94ba630839199b3656abe2c6eb59e84584bb652a181a64895d52d46aaebcb46bdd5eca4655eee4c340649a49a5eed60a2d3c95762bf825f622bc48d05fd6813393d39021c0db5b2104186f5cd00b203b43ca839c192755b40a8d946d1db6b0d2d7df6ec6929e5655396d935ce9d45bd7364b1e8e2bbc316918d33caf6a08ff1c8404fb66cc679f03f9ed6c5997f72e52da5df41af58893129bccf2fe3f2ab7173fa227f24c30438e064c0c1e99d3ab9bcc929391893187b9683cc1026546b6d21c02fed28fe1c43bf1eb679faa560375d445af434fdc2794ea44fea6445a8e89ed6c14379f756070227b20cc2c0add3a6709be39680eee5efac9697f45d2122a51ee64f9ae310c6a9b85d0b300528b858581d59e59c7755a0764c59cb81d355396042cf8150c91376660bc737d33144fa7b6d7231fbd43c16a79d06de0fd18a53415acb352065cf169e82abf94a3337e6b525ddc3d25eb6516208e9f832168faf3c3a224612c9791369ba2ab85a701e8332b738bf2942cd20975d2edac2ece8568d101ab8602d58fbdf652580b5008b499aa06062bb99697c41ce8e34bb\n\n", +}; +static const size_t kLen158 = 275879; + +static const char *kData158[] = { + "# Imported from Wycheproof's rsa_signature_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: RSASSA-PKCS1-v1_5\n# Generator version: 0.8r12\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]\n[keysize = 2048]\n[n = 00bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]\n[sha = SHA-256]\n\n# tcId = 1\nmsg = \nresult = valid\nsig = 9f420516e9d063e5e2961accd80e3eb0198b10f4d64e749b5bd39a80f7356d2ca0fdbbfe5f5b2bba92da7616a83912b449e69f8ce6e35a27e9e553279d6a9317a1d07d897dddd9a8291321359c6a8a31a4ad7dbb54432bebaffbe8940e40cc875d941ecaa10196e1aa68b83e0db67e34f3937dc1dd11cc0e5b40cdb0b90ecdcad793d7279dc5b5f6cb356b805e6357baa1b3659dbbdfc9a0f042131760fe1b78202f289699e04b5c55f3ec26fa25460ce3de5aeff0b1f5c435e022e1168f9fb86147e7a8b0f11cd988d59c81c3fe74116b350e0396b1cdb2b4e0326b5c90dc384529c7f794c4c2f40958f97ea203d76a75076d5360228e7ddf166842b9165e8e\n\n# tcId = 2\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = b4e0a273bbf6e942cb22ae5ccbfd9d843400ba451c5e086fce9b3b1f90bd892fadc54ac45b61f3b3b37aca67d835fda1b37d5bec427382be2348062716d4592c7eb5c9107cf391e1cec01c74d64dfa5cb7052f2f8e442a09d21c22ef5484cb045c25a05b3057b266335f619ea8dc43b72e9abf38c19b5d71c21b9bf2eb8b63f2fe0fa868f7dbc9deae9745adb1fc26027bf5e2770b2d250c7507faf2fa63fabc67eeada9f2ed8f724dbd99d43294e5ec11d1575101d32af1a308abb56f7f15f544204b533fbd96fd3fe9174db3bc2af67c35401cc4003bbce360a7898dc831011ff0582c0658663a8c2e7c0e7a0df7f3c8ef95175bc136c3b49eb7a65023b08f\n\n# tcId = 3\nmsg = 54657374\nresult = valid\nsig = 9f74957ef2ec67062c5064143d096610d04af16f23189bf010f560d49bd793d619f70125dbef4edb4d4c923f8447e48a744428d8b463745d84a718d3c5592cdf6f611a735c7e04fe3f89920cc61e0113df20b93c719df7cf62013a2db3b497c033704352519dd51975eb156ee733d7bb342093bf494e6d7c8e92537adaf8b9170c0a2f0d76af847f716ecc87e8cd3545151387cafe062d5a2db83c5463b84d13b1ede8656efb3ae9509b449f4676084042b7c9091fb75476c8a866bbdbe57e125d7c64f2f7f1d4f732666bc7ac09c8e767d145f22243dd1f10943aa61b75e85256c52c522426c1dafde98af977c8538f7441ccdbb4eabff1990304c087070b12\n\n# tcId = 4\nmsg = 313233343030\nresult = valid\nsig = 257d5214d02f48bf63a6a1f2604824bef64108af97a6032d9eab48b7964642e104f13c462289fa889109274360dfedaec2ace0f5f190d2e9ba0d2d522dc763dd60fcee52d513bf9ca7c0b29de279ca8b401bc2016c10d837cca56498dd644e4d350315819767e2908c1c33b71acecd0143e2913f9eec1978a900a3326bd8bb7574521c39efa2e987327c9343b9da06b304d1e4688ef80e6c285a6dfb64b57ffbfc786f69a2a1c0948ee6781dae288089a5dcb7fcb1e53a74b828b34867b8d7fb5a0151e43076772bd53a537937f8ad6e44adcf96a18181b460b63e530edc56a773fa3adb252cfc8bb664ca560a054f374c2a03d7532ac8986377b76ad0a4f1d6\n\n# tcId = 5\nmsg = 4d657373616765\nresult = valid\nsig = 339b527aeec23ed9319d5c5ee671e8e92fde09932648734b1ded4eeae420e113a7ff1119686aef90c0bea5248ee1d50f5081515fba7a68a7ac8e2ba9828ebd58237d211c8212267f2a82363ffe790e3ad5282bef3842ead902cd98194d440cd1a53cc34121862034670dffd82aff9bda7f867a3893c2ba2d60cd3d5a3ae1c446c718e99bda195e8b19af734786c62908e1e18b155dbf791283c1bf3e02ce009e08415444d56f5defe78200557d513c8d93414228c4b746a10262cc4dc573da6801f624c5d99c200bd5731142e49d69f9cc9d6d914be18d09bcff4411f62bf028223ea559a41c71a970f5e0010ae487db94461a662d56e124d7b275e8266e55f0\n\n# tcId = 6\nmsg = 61\nresult = valid\nsig = 6ea7297a28c575e4348878b928d6e938a2e3d77dc46a785611a64817fa0e9c8ec71728bc7e8f9eb3268aae0f3bfa23dcb73d503e0147432b4003400167ddf2f9fc8d09464e0b91a44de12c1efc8c38732e1ed87f91cebae036610c43a3b8bcd5bb4beac4f9fb5e39f193cfd4bc00d4c7a3a98d00c4efcd1bd64f260a2a957fc730df6dba68d622441901c51f5788d6c3636299ed3eaf0bc23000650ca97ed62d367a844f23649bdc23efd0349dc8d58cdbcf655aad1f9d3a21afa02930d68a2c2db68e364b0966b005c460b682717035fd43f0cb0e7008a3d841a90c0449de8d154082703313cd9abdcc836e6c1ae5b1887f75d2e4b6387e7971128790a62c00\n\n# tcId = 7\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\nsig = 5a7186589cda0f9fb081dad864032ffd26a775fb33c7dae0ac080aebdd4ab53bc3ed37cc09f0a1b1edee78f0790ce0d1b656e4a788172db08900bb1474159937ad29a7899d6bbc87c743945c798307e61141ac21542af06bc2f435a47b505b2aad2619800a97396392f141772cfa97d762c42ee8afdef27617dc8056fe75b23ede6c8f4e9abe31c8344edd2c73e5304621283021ae7003cd760c3e34caec5b4b5cc6d291cff1ea80e5b9b68c5b7b045c04714d3dc73e150eb770d3d3ed788a4ed039117881ed5cd03eb3db6e4084679e09078110630aa6895029e7a6dd19d5b77952bbb06de26c2179fb06c64d184caee0079287c7b18f5ae7843e3cd01eae28\n\n# tcId = 8\n# Legacy:missing NULL\nmsg = 54657374\nresult = acceptable\nsig = 38e80b028443d96685ed76d4574b36c43cf9722e5fbcf08bc974385454316dee326a308c935a6e612ed26ef4e470e5f3f19a223e2866a2f1c805f74c804e2184f5620c1e84f894b890be7d46420178a2a5ad97b4bd3d31db24828281587207041a96792d8ee57889c666719c769f759c2175361434b18f188de387c8c13f6fb3a7e96f1abbb6124e94fbb4c6bc1d88caf54136b8f01c9eedfd614bc35375f33277d2e71a4dc5f65254179bbe75634e9dfe05aff9e1f1d792f4e6caf88e4299ed90d212d3d7ac9bfc71a8ac85ffbf2f49f77b41d36a64bccd3fe8948054cbad480451b0ca5f7fe35b0f6c772d64b70346f469808dc0057ba1c25c6ae7ac8450e9\nflags = MissingNull\n\n# tcId = 9\n# long form encoding of length of sequence\nmsg = 54657374\nresult = invalid\nsig = 33a82ebc17f79f56f79073afbe0ff3f984f868684c529ecfffb3bfffaf52a99bfc057b196c3faeae3cf722c386c224ac235f781d9025ff8c9dcf10c4cc7f93c1f1aa5e1db9b166a71ac7350134ae1a1e5537a67f846f8c6970c269c4b91bc59ec783b7710afbd763ae42b1125eb9d0fc28b4045071c72320448a474006eefb256bb403b30a67c253028a2a0af7e4e36e85aa70ea73541ee2694d2bbe1415b37d2210def5ec77ba23c6f5cbe31ee21e072b49313e6e18bc6d6f2ffbd6b28267a5cdda24a62edd2151bff87ea6858db5b863c13a8e2a6445d8d31fd6b3ce8fa5a31060f97545f1e04df6819648a1933b1bcfa2470bb14844963f53175f1b26b612\n\n# tcId = 10\n# long form encoding of length of sequence\nmsg = 54657374\nresult = invalid\nsig = 37c62aaa10e8cb4bcce5fe466ac8688431e8ad2105dc12c6b7a0dfe8657ef3dbd027d04847c7d708c2099d7d38ca2b21aa5146ec0ffc7fd1a44c91c24689fa37475013e5b30c92c3565e3d53afa73fcf269dcf3b2bfc48a2ff026130bc008a724cd29ffc546d1aea5aeefc8cd13779b3b821d78bc7b7664fc7a89ce0273a8eed1e4a683c739005640c2edb756ea95f48d9c91d1ae9f57f24f6ce3193cedbcc52d05eb0dc8a9634a0ca8e12a446e9ac3378cfabc37b498aa4a1a9d1d3a6fb308411566f9c68063c0bc8e78621fed3a22073260aa87c76c5768c3db7f674f84d8826381fc3491f46d417a73ab88587d905d1c090e37913c99cfe29dae491841d31\n\n# tcId = 11\n# length of sequence contains leading 0\nmsg = 54657374\nresult = invalid\nsig = ac3c440334308e0eef1b3c3afb42dd050c77f1bfe9f3c3c83d466a46bf708502f1866f423d52866147554a5c9f86f10c079d2bd47192dce0968e8aefd5f43a2892ad21b0bdb92be45bc380c11565ac7c01be00cb1e294048a1efb4cbb19be44fa4b542e0bbf9a47549d09e456f58ff377adafbd68ef8d86dc2d7d56c5d3be08ec6cf12c0d04bb7c64c13f08f75377ba896bece7f409d50809521b7f6496c992c90ce15a70a8f8096f8f2cbd3e575acb618c87f5632", + "4885cea1a6ded33d2f09d684f8d5a98c78f94853d74b9e6ab503918fea323e5534d3e45d51b3097e082c5da614d03a5ac422e5dcc3b764bbc02aa633a517bbe391d2662d71ab851e4eb3f5\n\n# tcId = 12\n# length of sequence contains leading 0\nmsg = 54657374\nresult = invalid\nsig = 65fa4957fe03c0eb8a6680ede12f009178d3ce357927c8586ae056f209e0ab0c110871fdf0b95a2ff684748beb4e5a6a73ca3c657b23bfa06d362a300f260f4d60d459a066c9f5311d634bf96ac7ee4c80ffec2fca27eca7dbd37025bae76122a1fed1914da70f2bfb6bf2e1bf3a624acf2a6377606fbf06044a21a39ccd55b2cc1f0ff184d9df95bd73942a190f30028e770139d38ef3156f64fc3eec68ed5170c41f09f110f5a0fd195cd42c4dd8e394f32d195c159c7c2b69943ea966039b20c7ca17cec610be60aaf7ecdf3511590a662b74a181fb89135604d84cf9c4d6cb6cc0b4c24f4b5e7e9e9cd969855cdb92e3b399f32cb31319ac81701d056e84\n\n# tcId = 13\n# wrong length of sequence\nmsg = 54657374\nresult = invalid\nsig = 36f62f546a36d5215548e6a770a14fc6edd4a9353ff8ed6231369cbb6598d25d86018b8cea9f1a87c150fda18c7e89b2c907f0ce485c8c321be467a97febc05dce335db88cabdb99ebc4c187a04fdc8e879487f03c2aeccb6ddaf006f0613d32b197c79b2a8cfae015909e02746fecb9ae9da3f07ee91ba70c0356984dd15d078cd0b93dd9e3c1cc03d6f255c1383e6e949e529ca4408f0f453e7e94c17e9b47f841f73dd62e5be047c44e1d9d7eee0d9f2a56bab13d4397494812793a49e8dc0d237242bf134aaead8f303226e532afd0c2e9748be08d7b7fd74f6f1806cfc4092af39d6eada4e0b6d7aa6f06592f6cd7dd26c1fcc84fdff1bf3086e8e2c81b\n\n# tcId = 14\n# wrong length of sequence\nmsg = 54657374\nresult = invalid\nsig = 6e18d86059eb2f05c0c1277abcd8d2380ea39ea0c4587ae140d2f709363eaa2b0b7f801a75fbe15aa329129c4abe43ec0fd84f552a3aff7e4de40a5943ef13cc3b2d02a1ad90309e8091d5c2c6fe3b6dc2472c94116cd9adf367e575720906a9fe41068a86c15214e3dae39ac41b84f5fb824dbf5c911c8c640254cd19910e15a6488c2a59179f271dbde468d540cb33dd5add9a864780e27a3e55c87402d9e2c0e12d70c9a41681bda6f9f337e7a26dd2ec06580e6fd9cd4db40a62002feaf5a4c93dfe05dc392b63809d4caebdcdac74a7a240260a6eb8db8dcbf25527d4297e4c6145decb0a888817b4f949fb66ee63e5cb2c2477a9373d1e30b4d71cd7c1\n\n# tcId = 15\n# wrong length of sequence\nmsg = 54657374\nresult = invalid\nsig = 61a6e5ea6b3c5241d75dbf0cb397da7cd9d5b2c23ffefa183ddd1d34b6cf116b127045f4681877fd58907c1209528a6b45266cfd5bf4e95361b9036c77fd6cc7891cb2417d081ed897ab97588dfcf975992ac9c0239aa9fc19dcf6d6d0f3e4bf72da5ab09cdd4b205b41a27e6b36dff608a638925d13e3ad7143b1ea9a2758c787a2f33790ad423749c1b79b3239d1f96fc4690b19a0b8edbeff446b148fbf39a890ed8e4a18ea09d5e50c25855e1a4a4c28c5437c906d1a9c371569936c858c29bd16e98af749edf2f048933d706068928e81ac7e219fc923f6dee8a411f40ede593468ada31e5c647d4a576ddb68a335bd50cdf7446dc722ee711b5c71ae93\n\n# tcId = 16\n# wrong length of sequence\nmsg = 54657374\nresult = invalid\nsig = 6494a47f97d18199ce0948b2ddf81e408e2d4acd58705059454b728b1be79842ca8b9e197a29347bfc02a6830aa7189ccd84469e696daed24fd3e45a403af6d38a2bf3e5e8005b9535a00a5b1520a9665676aa51a1b274a3c0270a20b86a5168e08000fc4cc60673604564f8620e9a2a2374ae148ec6fdbf7e880fb8be7bd85131a3b2cc08e85ff3270a4b433a6f58583a16e5b18eb2a093e6249e0e5e27c13e1cfc3fb8e078ede70034f52f4540f5fc69dc9124671200c5dc6961aee740d39bb5b6ea9f9325f2dc9eb85be46b998b29ed3dd9c7169d58e33efc212c9cc0b09e356e65463b9becc52e7654cb22a374832ad6d4e219e0fc5eddec8debf779031f\n\n# tcId = 17\n# uint32 overflow in length of sequence\nmsg = 54657374\nresult = invalid\nsig = 55d1cee3129381d3c8526661a5f2c9b59bef9972a8d3ecbddd3cd859db06be0971a181d9deb7a7333b3f40eab2e93a67342da7880961fa3b931b3ee94cfa5eb7cc76ca8f6f013bda5b1dff7a7d8ec7afa76fc6acb7809b411e8d77e97fd11f4d13af1033a04b949ce35efdc52e125394759df4f7658fb4c807823f80c01b74c5424744a39193c901a8b7238f77c330f0c37877cdfb493228a600dbb5694ccaf9521b0e2921cf84fb0a778d6616ea76f79d89ddb344834bb34a033f2399289c35ba4b5b70b1aa6d504db3f15cd1be6215678f01f3df03a3a38cd2f6e9d18755c484b4b4ee514c976a7a3edb9d93f475c4fcfa6fec43e6f815095d4dda75a5ec81\n\n# tcId = 18\n# uint32 overflow in length of sequence\nmsg = 54657374\nresult = invalid\nsig = 759135e8b8f94d853d92e75bed21033eaa80c88e1cfa202aeaeee96fc9dd8f5430da9baa436062c843e2a6d06801e4397c93a7643b52e4e33c298638f546be9f8b2961c0da08a172ab2a9185eec9b9b859a8b46cb240317e66469882269a53b34c9db60ba080e1831942db3ad65d3779c7205aaa366c00b6372496d71fd5cebc14b885303fb7c9e968f7d4f9f0511bac5f273608c8803db4ce582eddb0c672d579b4d1d67cb5aaa4fcaa14d744acb8124f3715bb82417ca020cb1b2a597f149364f859d5f1dc17dde4181628b96438df017e9b96b87f45d40383badf6b6a89620adf601c9c4fee15b1a868f8bf7ed6f59d1f9a960fcc1d961c8d010002e238f3\n\n# tcId = 19\n# uint64 overflow in length of sequence\nmsg = 54657374\nresult = invalid\nsig = 8fcf0a72c6fd0f9b505effcd2c074051f1d25840f8803a68f1c149dc43af6b94a114efa7ce2b399a91aba823470b9f32a70fb6631dfef593dd312801062c7f64d7c7b8724bcd36b05df16838f9e2ef209c2dfa180717d9d1bb59c10d30bdf6a0c0041ff395d4eee8a1c60af17b8152906a58786ab39840909508f7a8f3a05096e92eb57b31c07e79500091f119698bf31bd14399e122e16c3f0083d0a9a6f6413a8427dd27dd5473a9060450349f51ac265030778dbb04d4a35aa98dd72ea38a548be905717b46a1e31cc0b2c9247b7a64d26c027b7d09fdc5f2c6f3f625ecc3a5e07e37d2623b099aa776c48c66d62764def44896651c6b0ab10f1db7105f8c\n\n# tcId = 20\n# uint64 overflow in length of sequence\nmsg = 54657374\nresult = invalid\nsig = a34534b9e1b82be8c7a70d643c85664cb3919ced9c6b6cbf470f4aa8c62194d3e287077d3dc03e9e49d9069b69a4fc2caa5c9fc0ff1f08cb9b8370d044baa4be1b5918174997d74579c791a4c9d53f0348d33b6dd9151ec11823fa765a04cf03791f9d8f89048bd702f03247e3d9ea4e9882d9c768166e60b2db47a1bd76dd8cde45933dd1e4c3fd2bd46bbb8b2fbd6a2630f9db7e09dc342a3e279927a68f3da34192d0a283e2df7530b06a42ad1680b4a33c8b4bed2a8e799ff39ce4c5853a2f9d016610e58ce819771cd0ca5cc286134fafdcf36eb6c0f198e312e0e2cf722c47487a43cf4630c0703e65f5cc23972d5c16012b0e338aa6bbaa9a6110bb7b\n\n# tcId = 21\n# length of sequence = 2**31 - 1\nmsg = 54657374\nresult = invalid\nsig = 87bff62986cb2cd250de8d56fb4674c65cafd441da9dd4e42b1e7e14231519b63fa59608cd70d3ad761fdba810993ab3da3ba5d182dabefdce2c383e153df2b21c4cd4b58ea94e353d8c02bcfef4d565cda92975610207c9c30754cbe22bfe0f7cebaad0b6fe1d470d9119090adde8587d15cf27965f525d92ccb2c8778261f9d126ffdd8b90bd00acbe648979567a3ecb1fb5ceae06bbfb1df595e2155889ce62b3b47bce372a7527fd59ab5dca37378d0a90f4487690385acadea3766fa407d277ce4e76416daaeeba1591aa31dc601efd0d9e29b50ccc68d1511581b00f75de4c05d145b7ce0f74ccc509748fb1f8c636e1a56c9c412142d5c9a95efd0b8d\n\n# tcId = 22\n# length of sequence = 2**31 - 1\nmsg = 54657374\nresult = invalid\nsig = 2fadb8a429803ec2956ae6012289f15f7ed8d535c07412994204ade72d2e7a5548024390e1356d432b7e68c1a8738382f5aef3cc7739f926b44f9b9905222323a97fe7b303c130eb4147a5a4c69a031bd0c459779f7c3bc00bd5ad616421d14aa90ff3f5f4f700efd19826d89c80c6c4ab4ec81ec05498bb543be74acb3f61e6e1bef48e61646ab962da08502fb092961c5fb324026a52abfd1c47b9ea76187f5134916c5dbfc18668933c2a562a02c102b6efb9ca2df40869e920e84f8e73668a73c1cea83bc8600f7dbadeb5babfa74b99a3d02794b924b01dbf087da3d8d579514647633d8d6922a59a3f5625687a4b1c3b5cc67858e9b78ebbc7adc20aa7\n\n# tcId = 23\n# length of sequence = 2**32 - 1\nmsg = 54657374\nresult = invalid\nsig = 85ec33234ac05061985a24bd9e5e13de3fc8e8c246f75d85abf8021cd993f97c38ec6b73d713c6417effc7a751530feff849a5591ca0c4e6dc5bf6bf97c34bace7faa2e448bbc81e3d8551d4f82f7ed095ecdb19e91498e357909f090fd8c215f830b2741a4a4af518341c312bd6f7fef9c1b563cd4284f785430c538234f6bd3fceb2b49ab872cb481447b2d45a37d45dafad4d6de26246634b99b926e37832a8302d24b35e315f0b971cf52c60ac486460d7678152beff5369441c84ed54f16177f5ae560eacac13d7f94f14764ecd42adeaa0599a1a47e7f500e6b14e0a3b198aaa18fdc6d9141932bb28b20e71f69c173c2b841fa042a3fa0a388e164fd3\n\n# tcId = 24\n# length of sequence = 2**32 - 1\nmsg = 54657374\nresult = invalid\nsig = 4d28f0c7915b1eb63badbd931675ecf29f8d69b4b2e1b1fad776fa5adbccdc17bde98029059d46b197de49e061ec57cce2cb77a63deec3c75c2cc14fc9bb4a2ac29d5f4a05e6b4ff97ecbcc26a0dce39760423740141e675b52878a83aa044f68e84d9abd0ea6bfc5e6fc3acd971af258b7b9a01079010e68e70bd7bd31a9f9bdbb70598758ba274fb8feeb8ff46a4b2331a4da03330cf55910e6ce940c1a95b6bee9adec351354774139e3b213627a6d7e8381656362b4c6f83e97f93630939d22763f0850f1b4d38a8e3ed213d2febeeb125ec03854a4b276fb59087904ffabe83cfa66c1af413af6ecde5efcbc5241d5b958425b66ccd31500ceb9b80d793\n\n# tcId = 25\n# length of sequence = 2**40 - 1\nmsg = 54657374\nresult = invalid\nsig = 02d431509bae6e097fffb5e719b16a296b81fcfc9fc6a64b85b337c88049fed54971ef61e635388c2653554685e652059c769c5947af49858439d9c388a40703a016f73cf231726853f498f94a0a9a98e14e0cf8f0c8284b4d992f00c", + "bb8dde41b07679c7bb7a2b4b7b307f2edda65fe3e002c7235eb85dd2ba41483b26131c997793ed64fe92a9fa9198eead1e8506385db0c3c4dfb93b87e2cfc09d9d3b00937cfc0a35bc211cc8efa4de83745c5eb0bb28ae52a22ae4ec8712be72bcf420476fdada50b618f0e9576e3e7ad8df5a0ebab78b1bfcdcef594cb7ff56a895b5ab5e0a30f82453880d394bad6ddb92231e44aa275f945ba6220d9f226da4d0aaf\n\n# tcId = 26\n# length of sequence = 2**40 - 1\nmsg = 54657374\nresult = invalid\nsig = 665e80a08c78f4c8a2768d1ba374bdd5e5101e61a594300a18a071d7c98c68cdb73acf32831ea077734e2486f1b13f76cd779a80fedbd76716fd022006a6faee19cb9789359e5b7013a59cd671a2a91c8328f4a1697e14a085c897eb45692d0bec074b400ded2820c6a5dbee2feac84cb6a37baece0ce763dfa7ca3b3fd4a82863a0eb35fcff709ca401c0bbb73f27f251b627cc442dd43eea634942bcd8bd72f1e8f192ae8dec1b7275c7739db254ced8b57332407f8a85285a190c94ea7f1c9318b7fcf67369ed23243c2454dd2ffa153ef12074a842878b38695336e8acfebf2d56d3560e43cdb039c27b207ae35f7a527b05baffc73fe76e57813b484f00\n\n# tcId = 27\n# length of sequence = 2**64 - 1\nmsg = 54657374\nresult = invalid\nsig = 58bb9a11f29ec8bc8ec7bba4c056e09087fcc881d8fe8e5dc58fa74d979676a20e00468e16238d8e2a53e40b4952ae47cc857807558b12224b3ab06ae355fbbd35180e555d7d468c23c6466ae74c8003d2b1591fbd529cc479e7469f5645787b8d7baaedb089efacf7f4395cc1382a3068770530ae97729089100960f22a13d73883a3a5ce6867c77a9e833d60f8f3c79fc2f36e63cbde5a02cdb7e226f387588456b9161814abb84c638aafb44f293e19f1bd5093e36d68386e365a5ab076b64275880823bb77502924d26bf443e94e45921866c68edaf5e66b24df38155b6faa25e531eb1af900780413cf5d5d903146a9cfe9350a3a1509beb679d7b75cd6\n\n# tcId = 28\n# length of sequence = 2**64 - 1\nmsg = 54657374\nresult = invalid\nsig = ab35fb3939affc42b2ac00248105dbd3da37b59db5d489d1ab1962418e6bec3b6fb4dbc03fb47c2a64cd09fee70acd723a50402b47cc2a3411c716a1f380138511d693751e37a0bf23751488293a68382a909202b7d18dc3721521f9c8fa3554dac15b20ce5ff9638edeba6ae89afaa100cfc92f51326b82e8fea27ca216b8b953afe00d0a02c0df5ec76ac494c1ed3398144a2654570d8daebfb27dc698bb5fc3a69e7b3759c1f1c7d5e807f509185a17b642f8b24934b5efef55287dff737fe633f19e0d1af46a0b4675b300583f96a3670b1e50f1c27441b5e601b8c4cee015854d680ab544900e65f4e205e2666ac0087586012d8ae52711a9cda02ee520\n\n# tcId = 29\n# incorrect length of sequence\nmsg = 54657374\nresult = invalid\nsig = 3f9ed26d39ea6b13377ba941923d1c55544c4ef8c9187dc6430eb1e7c8b86292e528fbc74b7876016ff3cf8014da3d85f37e975810c0a7a8996c91533567e40b0c8464de887b18c9adf84571f7703147cee96c81e5eaa61cb3c40840d21cc0a280991173d5fb1cce01514003bec10e28420ba01819ff003d9ca8658f41a6e02c3295a53613adac27ddbe959d90faa58e33c3326c4b5b6a5a015955541531fc62ea216a4dc54878b65e6a12e0fd548046e103d8dd4516bcebf008ae4d5b971e9e2eecc8379356ebf76b69943b6f0d87ccdc19036007f7c79f363ace8e85bb97c40f7b59bbeacba0325decf642cc8cb8e51efb55a7296bb23bb12a3a1b334f5ca8\n\n# tcId = 30\n# incorrect length of sequence\nmsg = 54657374\nresult = invalid\nsig = 748e7f86340f83dfe05a19e73449b7814398c6951a649029509c3072b6ce053e6176453d9046677e4996ea9a490fd602d8a735042b29d2a17f997817c6d9600bea2d5f7d7129a361bac6b7f76df520f4971790d250fbf89df5c22bb9e7a510bb6fcbd18251fcc5b77d61128f27adb3784c9c363eedd2c0acf9fbff65c9b4c67d631c98ec6ad6ce56389420a9f7e78973e3b55c90b3c3a6b37ffaa74ced4889cf306eb75e87d4b34519a349d1b7842f81eb588c3137e80895fbb98d67fda3621c7510815a5d5ae512e6566088dc333107a3a6f4309d6dda5417bfa795c72d4e70253775afeda3940d4bedb9a094502e1bd90084cae6f66c5f0369d3ca6a00d4f0\n\n# tcId = 31\n# indefinite length without termination\nmsg = 54657374\nresult = invalid\nsig = 672bf0ea5541b809287c9e2b6a584da21271f24d58eb68cf2dca42f604bf3d62fa9d5a52ea20e234002ceda5bd919ee8ff344c8f84e2cf4d8efc511560e03f930b6533cce2ebaf14203401317fa8b0fd17807389b3c5449ba24a8a1f16d143ad06c1dc62c5c40facabe64faf0a9816d51a831b648ae9c99b465535b342085ebb1aa44ad23c08bf4dd9e0838209d4805f48cb16d9bca302d161ec3f6e66ac734f001e232c3133558c4b89c00eba40bd53c37c5b03ff6fb3f323d0b79510592141946a7a7b16abfa78ab81d886d7c4d4090bdcb782efbf0c4a76b47abb18e1fc9259cee098929a1843a04ba52704bc9be25a2b96779a2b647d3ba7c11e2a8dfe48\n\n# tcId = 32\n# indefinite length without termination\nmsg = 54657374\nresult = invalid\nsig = 94818574cddac115d352d1740c4e5581ce36f1eac658a7cc9c0fa26a1d6f5f43279c9f2af313b3e0df805ac1e24976d58aee16e2a4616cbe421e46f5263ce46e301d8c295cb8a807a9c65610b176c61ae03229fc6601cfcffcf90d53edcfe869a1bc692dcdf88ce84f23b34733f9c8046d1cb7df77f1eb29cddcd4b420dcc8761169f3c7dab4f04e2eccbc046b0b26007406dec7505a38273e3bab522a81a054241afea6b6576cb1fdab2569cfa605c0cfcea0f4665f489273b92d2fcaae21be8f2d37dc40a38d847c56c3df5a2d5cab476753c91bb4e2dfbf2bd9ded2010e202976055c78de4fb2ec3f2a6a44d6816c7cbb829c83646156941418b4f060e196\n\n# tcId = 33\n# indefinite length without termination\nmsg = 54657374\nresult = invalid\nsig = 5c54c39c0a079e7a842c8b7f5c6bc63f4b90873e1379132fc1a52fb78fe6eb46aece7f5ebeeaf2df8862622442f0a470d2a8ae252c5c5d71702033c6b5e6e983cf44ac0e818d9453b86b91b5d99a1af0fa5ed8aff718d49864c093e4cd5be4db1fd44b6ed38e58df96e70cab32fae1889e091be25eb9f15c07ad2c304e0ccb881cdbb1e45ba993b95e169358a169c70e7d0915ba34955bf20fe1df2c7aae78fb78c893d184c85a56524643dfdfc41e62539da005751409a18fb4e59d2877c6cc45a4b832fbfa8ad2880775d9fe92b6516f8458bb52cd5820710bc16ca32cd7bb3998af0299778a2dab50d62d73415294a857d92bc5bad97248e70cdacd50dd5d\n\n# tcId = 34\n# indefinite length without termination\nmsg = 54657374\nresult = invalid\nsig = 9b91890eb53272fe7542c2067a4e9295b8c7b8ddf1c9ece6a75fcde79c9af2cbcbcef38d342032b85ccff9d6c82d3cfd68a7b27a38eaa45c78a17741c230391b3df0bd79dcc3447c8717b7207fa1fd04e917b5282e3a7dad48e8f2f6d1360f6c720f9eaf1d1d59f061d71daac1548538c0a06fa65b2ac87abc9e6fed3a6e15f48422bd9c4c681fa98a27c873d7efc5c100e708d58141b60e5a691747df4036162456bb11f92f2a391170233ca1c03e1786a32fe9ab8a94246dc643a884ad59edc40e2eb873713e84816e4a7f7857126da3f063cb9a3dda0547207c426f7cc985b5a3b6374cfff51d0d542ce9f82ffc07ad24c106363ffaed12c97526394a84ff\n\n# tcId = 35\n# indefinite length without termination\nmsg = 54657374\nresult = invalid\nsig = 0f07dc8786a46a7ae2fe2bd534715044f46ad17b836b00370996258aa90bddf563b5f3e7eb1500ed0604f9380491a5a6c6c004b560b0f280a2de30d191928bf5aa0378fd6beda830beb1db8b6b1c8846079b6013cf586e384be0e1163c62b526fbf8e26992afba6ef5e5f15755ec7b5287a149b19e577e79bff6526d72616e28d921661752e8cd0e4b950d7ee9f2414e45b3069a80a2e089e46d0b3da5cc0352c07305f8dfef2e1e928e85bb76c5a0f1516383143184f66f31c69adc0b8219f11809501927744fa37d1c8cc1e2a6712d54ed66dd177714b7cbd005e6a6f83db92041b595dd934b0b19fce5db369e504fb45c9df1e645e81bef62cd4da3497e9d\n\n# tcId = 36\n# removing sequence\nmsg = 54657374\nresult = invalid\nsig = 70f9515388762b320cf84e90eb571b27eee58a43ebd4773573bffbce8b162bf17e6c0317636b211b2bc56aafa99b968ec950466ae5cd7b10d94c993dabace14b94bed501dacc0b40feb8a89586eb1a792e92115ba5430ce1183ffc6f538ca657fed3ea684a1b9d998c0d9ff004e150a0a32d20455176e8db3d96b5063a60106a7bf6c9d0baa8879ddb77d9a3037400348ed1ee4b88f8256e8e632b15b0dc2611da3a9faab929a0bd4881418d7fd8fc7760c523e1ca4cd3f25c8243b8bcdcd51e96a3840de589744bb8d655851b9cdbd8b7f2d47a57144d9c2a7ea07d49c0d141cf918a4eb1507f8a7b11cbaa28c1a35745209a5fad2bd1e66f7929fe0223d505\n\n# tcId = 37\n# removing sequence\nmsg = 54657374\nresult = invalid\nsig = 8804d661bb17ffa73e371d134984ee95e426d7c12af978d9ad00ce746db4a3bad36546709f029d2c9ed13e6d27123cb7a1954f1f65f3fa46eeb56f449ba6b5e0736e5dd2586d642711d98aa19595d9da1c4ec20953009e2711738263170b487072566558de1301e0d0253f8fc14d12c8cfb4644b50aeb3d3a9fe1a26fd3bccd72986cbaff34fc4fa38ce52e65821f169d54b78037b8ddcba141ffc72797023c802564989a20b07b9a2ba6a256647e937b1c16df2081cb61bc6e6a2ec6ca9939db91ec2ae62c4b2d0d7f61a0bf0c693165175c91b100c195f3611c3ecb797c531439655ace9aae18e53a69e66698fb593f48084117ba288a134fd0389ee0f7544\n\n# tcId = 38\n# lonely sequence tag\nmsg = 54657374\nresult = invalid\nsig = 47004cf187bd2a34c6ed89f6f8eb9f67a401a40d66a95c8cddd98fa0faa829bbfc9e62a854788e4d23015a68f098a77cc5daac7e23c6ba56167518753187a8ead68edc686c393940f77255fc8092c4c65a01aa6901c0af96830c05747791e511c8c01da4358feb38bf5507543184fe887c5821c4af048c5082bed56c7934985d86de2402b37e16a6f3e23d5a1e838992bef2a46d4fa87971f0cb01a470e185654a6b174d9bba81117e8df24b19a7be0d1f8e3906d3029b5ad4f0d8c152375dfc4fa490f9fa3a5b52fb929a7d41a84d61bbf60d80162b16334b4958ec879bbc0098962d5d3220169c8ccb338d31c664c23144cc85bc371b2d9da61a69f0b4b658\n\n# tcId = 39\n# lonely sequence tag\nmsg = 54657374\nresult = invalid\nsig = 24bc364503e9aa28177f9fe7ebda884cbe94", + "94a6b589b0db875541174cb1ceb60f514b74838a0df3bfa8e59b06e4ff83e4a4e336b41761da705b5ff9c0fb36e522cd50ead114067f58b100d6868581b69ead695a5c4b15198c5ae35d67e5181335590ec176af6eea69dce2a69e87d9f4a03f351bdad1c0c80dd1d27b75cc7bfb6acc7c25bdd87d0233ae4ab186f1b11ede86139954d9e886b910c3030d372f8900645b8e17b08e61cd64e520b882203b57723f00e96a6698fd65e7d99664351cb797ed2ed67901475169d47cd64fedfcfb6b67df5fa5d7c5ba53d65dd86d26d899df5aa6811c53a3a28fecb72df39e0eef50053d674d521acedbf6cd17ac2108\n\n# tcId = 40\n# appending 0's to sequence\nmsg = 54657374\nresult = invalid\nsig = b6a1d94b0ebd824f6b5a95f6697af65995eb388f3ae12c87399accdc639cf5b7e71bcf436feaaf8bac9f3234d0f429ab1b0c081f71340ecd727d9b94c66fad1fa070c4b80350eeb55878ba427e4acc5762597039fe1ef92ce29aa9919607045ed76326744b0e361cefa24a24725af612b40febc4f8293d4ca9faae0d19f1f2dbb5c4f0d27f92eba41457b39f9cb2c75695834992c326d5e39f56adfbdafad08589a5d4aed79f0abd8af3e056558afca803e6d75da2379a0cc52168f88e88a2c14abff048ee8174c0e2f31854d6687b7097d0f3352fea3a02dcfcccbece2819d4b5e1c97f93857151aaef70cde099a7226fa39f89a8c92e08de354fa80744dbae\n\n# tcId = 41\n# appending 0's to sequence\nmsg = 54657374\nresult = invalid\nsig = 32fdb9a7898c2281cf10104e74adf455a4553ba47e96bcaca5671c9ed13180140cc8556d7a429319079622e352f5f364193ce54528a3d3906628fa8945b9050f1365e99a58dfbe50572dea466cd9dc96d2c773cf35c5f1e51a6d2da23a5631bf4aeff50019e1542cac38e71ad2a1580c24865c8f65217e330415df95f83f1a29a41e4a20f63ee1f06a3ab10ed2f10994291f8d7c80032adca004094dad4b2d33203c09b134dfd5ce9ae577f8b7edc7637046d5c59036362ffc283a7c297641d6d7a36a95843661266289365e021a393d80459e5c63cb71e504661c814d8cdaef3d5cdc0ea2f95be650a0e14af9fd560acee1728fc46f5253557e8eda487e4659\n\n# tcId = 42\n# prepending 0's to sequence\nmsg = 54657374\nresult = invalid\nsig = 6dde567bbdcef450502b9c76daa040d2ab0cbbbc79533c5576287ceaf79aeaf587c58ce90974d555f4d7bd099abb90d61a25a6c064b58826fad6eafde247457564f8183ce79f7881bb2ceecc830c8891c35704ec66694574838c14287024eec643d7dcca4c4990b616c8fa98b0f97f914230e786a102a4e2ecb926ec89f40c69b39b54ed8890fc08edbe50f338c909b7b6c816a44010addbe65b527734e0502c59aaf8bb7e108999c540a023b60a9227ec052348b01bb1bd5ce7b7580b18f40b5f39b556bcb560ced438c84b2e8e67eeadf4837340d7c913afb7e0ed7fdbb2c58e3d9a71ccc59ebd8a63a80a8049bd9df49b164219fd87f345e1da34a929546c\n\n# tcId = 43\n# prepending 0's to sequence\nmsg = 54657374\nresult = invalid\nsig = 97c4a36c30fc317a6c1f712fccbd699f3de5a7420efdabf17edfefd790b90e20afc914d7e0aa34dbabf736db460eb697abc285f029d784b2b394d689e1a383af8a51f153b4bb77e199441ce622e6d146a842244f35d5eb3d410dc78c2c85dc73c570f848063de0445871e7210207b02144f461b7105b3a74ea3caf25412eb92d1058f18e9afac51006e859da988c733293d1e64164b733936d563c4edd8e81f57b4c463934ede932cc93237bd26fa0f86c5745d804722f8b837b19e50d415889d58fbc78bfd4eb35ea5dece233638689c11d212c47a1e1bc0b733eff107ec9dcc90a7a7395e06785e75973e0d4a20dc0c562405886c9603daaa20f6763fb9f7f\n\n# tcId = 44\n# appending unused 0's to sequence\nmsg = 54657374\nresult = invalid\nsig = 2fbc69383978c97e1075a9d8f9ad1e01dfc6fdef216b381ae5349f005617c739e086f45ffd2cdb45318321bbe77e5a2d67fb1c6b209c81eaa2388c38b036f66575590447219b7771a92bd6c594d8190339dafaffdf2a5a8b73e0382eddb2b2f95a42fe0235042965bd530584fa9db7fafc8c14a417c84b1421c63419610ebd67d20966e1ce9406c4e938784e967ca37b9499d9df4dded8b74c55b08c6244ea8285b17d55a6c51367562563524e6a45ff7956e656a1bd46229db68398f8a0011ded00f30f6bb46c5599ea3fbffb30746b56d83b17d461b20dde2bab7303f92ad9a322e41ea9962065b9ed683f56e31a58be7177505dc35a10e6703c4628933a01\n\n# tcId = 45\n# appending unused 0's to sequence\nmsg = 54657374\nresult = invalid\nsig = 94087e73e94662f9f925abc756bdac96a520ee6d5c8baba1c8947ff9d7a22fe43aac67e91986890b83eac61de630aca7813578e65a2268d78dd25982b89aa7a9d693bd868acf156c9cbb70779bde1cf7fd304b040c428d7aa48f972f0ff0c24f4d2aa88b622e801a1e2011804f331e80d17b3d15f8410b8cb301c7ef4da7eef69089fbbb4aa05433d16e673171d881357f304cb4ba929a7ccb6690bbd6911f6f5fb7d570345719fc55a5129dc8e870a7083457cbaeb86c3cf51f0c5f605645fe40410055942bbe957d9911d84a1d423978b37ffc91eadba802443cae32f48f7d987eca24719f0e77d568f56726e24e3d85b1a1d13a0bcf0c72f0424650ce50c7\n\n# tcId = 46\n# appending null value to sequence\nmsg = 54657374\nresult = invalid\nsig = 46ebaddd8f38c7acc4f2874a34dbabf6596e42b8f62313d12f9e01d16cca9968d0b73a5407ac15cb3ffb232b925acad2d5b29b7ac1907e294cba0107d9b0fe46f728695f3be72df258e504771ae356ca180cae5bfce3e67b2de72f8d7d13c63772810162132a2d512c041fdfd49b2bed59942ad0aa9c11d192292f945a36f6ff267c5ddba7dbef67645efaa8e8455957dcf6723e4d1df6e5e3fd60a43bff3d1549d0c89906b4ece2a1cda030c7ad644748610182f92ae01b65e2ea9b006af277ae685c4690827091346e1f2169a7dd93a520fe4123612e8960fbfe3367583b50be4f3acaa5f07ad9705a48640e828f797d37e58fccfbc9c39b9989e7b5a5f827\n\n# tcId = 47\n# appending null value to sequence\nmsg = 54657374\nresult = invalid\nsig = a4782205277bafd94e1b611942552b9d6171a15b171f75c3d13459c6d813302941d1ff03536b76508f333ea3736dff38a0ef61dea1e83cd81433c683ad4568365617f603a13e1fcc2813b08915eb681140bf52d4f10ca4e9d95811494ff3f2ce5c27d3a6f43f21375a8bf5b70291b57b24b18a99b38132cc002cfe5396e7d3ce5bcde6fd82ccea835e1ced230effa174a1b8b02544222d9e3ef6ea13433c2f2847bce7c4c55320c849fe9a21f558d3c2205a550b4d04b3bc49f79e4f471c44d4d8a34eb674cbf5762089494ca4d7d8528d61098ddd543bdeb9556247e3821d91954bf493edd6888c1dd23a9d06c44d0faea21f146d0f1a310a8700d66b4093e5\n\n# tcId = 48\n# including garbage\nmsg = 54657374\nresult = invalid\nsig = 67fcd94d1573d0712a7da64cb211d9049b3dd043b2b17cd97662f837226379c1c94022bbd5d82d1c67597f510f15959033b63bad63fde6c6f972b60337f52aa45e34f826da9a9040ecc6c268179dd1d10794edbf5690bf834a6a26d07023ad99794e71b675a8c6b202234ae9fcdf43b04dc9c933aed66222154ba7c2fb324b6a6bf9c4eb0535807eff2016b44002a3557564559141a34719b142245fcfb3737166ed7f83227d257f5accc579d20f4fd0debbd2ebf7fe4c8680847aaf17514dea444caf74dd0fc67dd07b9067ec16093d7b21db72a82a35af2b71b0c214136af03ac411b14bdb5a9ab2b3b603becb1fd808dc36a9065c744faae07f18b8d71195\n\n# tcId = 49\n# including garbage\nmsg = 54657374\nresult = invalid\nsig = 6895daf9824474538545d9e1c7288bbc938bfa56cd6ebcd639a897f45624ea7f409c2fedb2ad09cc98143c461262f22f9646e26aad9325af0063024e29bf63b2807c41d615ea8902de10357c747b37e8264d55f48bfe8cefdfe19ac93d251634453c4a0c00dd9a0795c3195d047256abcfec964cdeb3ebd663ad29c457c307e0d05bad643a160e343b516da6a015193cbd2b28b7eeebac2f1a2156c2e62d85f4883ddef31011628d680d4d608e5074574459d6dce4bb623d059ffd39e6956f7243382165fda42cf1064a1bbad91ef5d0a0906785cb8c78ee641a3a4c9afc2030ee4188b32ef2dba42dd6ef5c86e43a9e413303c5ae978b41e74f646ae5185c35\n\n# tcId = 50\n# including garbage\nmsg = 54657374\nresult = invalid\nsig = a6a996451e9217ea6c0ea0aa0cb6442620847d85a8c2e9e8464d929e91b5e8fae333cdb81678fb7f90285f8a4e77f6e249ba2c342cf5603df2224df31bd9fd74a244f51b639c5f0ddb85c51eae877426ea611cd8e01082e783604c38c7dfa882d3c5b4c4ae59237a9bdba51f1627dae88e9773ccb94abc6113217163ae11e6590abb26038f651335cc6dacd5db4436b1550a37dda9258919cec2c72b78c9bd4205fb3776e7e785f85518b4d2e0529903b39a49486aed55b6622465d4ca581a71c86c40ec96e2300fcd438ebd5dacaf8c585411d8978ddb8d040f4cedf48969791ed638eb5666cf9a77b0b27e1a572447e3b0005337af99d2e5dbeb96bbe06971\n\n# tcId = 51\n# including garbage\nmsg = 54657374\nresult = invalid\nsig = 4e1280bb478bb46f4e9f49a455bfa382b4231eba33ab8d7861d852d2a0aab225f08635b73c3602021c0d5aba603b09b13c4b1ecc53f702d21e225da737e87b5820d628277254ae6d244c02068f2bb0dc532e7ed04e72296340d2241f0cf508f7a96f3683614478dad9923610f9cd285d2bbfa98ba86e2aefe49a52dad162a36fa2a763ca4a09c1afd3ab86de4986ad0e29150f070dc9f5330c62d1da6c2b494f2d8d97caefdb508fd468d121a7ed36ca9c1d7612d386e2974fc12f3f701577cee82b13098410cf65fd9619151f2f69e0cbdac7d3838d94345b5d3059fdda42e527dcc2200193789b347f90a273b06106abd0f6fa79de26086751d0289ce4766d\n\n# tcId = 52\n# including garbage\nmsg = 54657374\nresult = invalid\nsig = 09691e7bb6a322e91962d6868e380fe98ced520bf556cd085fb8e8d41efe7ba220a67a13bd72c7fefed3e1d4500e055398b29dec57d0a4eaee6e1016ff7c65b837fee29962fda0d65186bd317dad959dbef96ed34e2c89ac2b5841995b2d78d14945ecf01e632c19325dc77fb879988c7ec2f6924abc8eb0a6933bf091617add696c186aff6bb811042862cabba547ee91b8000e92fcaba7edfdbd1bd03b3d6bf5c2b5d7fc77f2c0adbc398de8995e8bd1c4040a73e5490372bf75a33f111666ce9d69b0f61c9a01cc541b4c0e6a902988ae3f876c0a0029d2f0741523a49c12034d572c6dae9b5d170208f0ffee12be344288a3c53519388dbc20d86066f5f4\n\n# tcId = 53\n# including garb", + "age\nmsg = 54657374\nresult = invalid\nsig = 128bf8c66a90e5267f7aa9c89b8713ce22c118845c5cb9b579d29287ce720c747608b68fbfca40747178e1dda3cdc3921fed5ccbfae5d976d286e9382fbcef3026eb988d537bfc9a67470094f8ae30e4da19fca114e6626811c3b355d104ab1f921c3ed8abff6148e817f5c9f21d270b2ac8983c6acdbf789ad54f32aaf9773f0b2570e810058b0f9f12b523cc763975884d13902580cd4f9981ccfbc84fb18f6a9670876c3a120b6907211b003b035a1846cedcd7a414dee37cd77b16c89ad22035c3754b098049ba72b78259c333bf88609184571955c74974083dfcf5d70d940bfd64a6c575fc52b3b8ed5571519961f2356b7bff6a127128103ba24c5142\n\n# tcId = 54\n# including garbage\nmsg = 54657374\nresult = invalid\nsig = 1901af3da39f5eaa20edd6002255b5977d3285f99a2bad2c4d7a57899e8b19d89da3bc5e418b39b744138a0a60dacd84542922f208b0e7fb0e1ab7b47891aa9b95921a46d2de54687cb2a79b3a7f3a640c2b21a139ad7f8a456faa22c16f27308ef95ffc92fa9b70e5feb0e317de4bb5b0a1558af98d177c097dffd7ab42eb8520935fa87512fd6f0172645631cee29187227fe01bd49dd0f6a28d2033276d696e0631ec2da88f7f1128a7a9acffda408ab10c26cfd6a3bfdbe4e9afc93001deea66d443137936d65bf31ca0a940e25c72b2f8c3cb7f3bce957539136cc7af0e6e5a4f9d8dc0b5fc656952d225ac9612072d037c07f9909261c02934caf542b8\n\n# tcId = 55\n# including garbage\nmsg = 54657374\nresult = invalid\nsig = 1ba99c4dffe02d72a6a5abc06d7aeeb7478aa057d8752ba59f72165e12e740160931f6419b1cd5a0cce4871ea974453f821cc43a0bbd7f541f4320fded5ed89c1abcf32806c13aabbad83c09173a2f8dd1fc15fdea66e9ecae0f92c376ea6ff1c2ffaaba304f74425e3f2df4a6436b5b1bb15035cc44466c240a2a2fb41d275ea8751136686d69adc53373a0eda516148aded67f8fb22d0985f92b6fcf236e7782687ac95cf5ff0104ee3de37523cf6faa1c5b428489e11a115f502fcf56567ba18e3e39830c6653bd29abf86b3b842bd1f24928277f1b3fca68a525243fe1bfe085307802803378d9854cc0f90318c79b79a4e939de2730a08269077fafe57f\n\n# tcId = 56\n# including garbage\nmsg = 54657374\nresult = invalid\nsig = 89476619f367778d5252add21e8a22395c44e2bbcd5a743fcea07655c3ad3a7f4c8c2d4e871a1c0c3787763128fe21d2d270c07c8ef0aa607dc2e9697d9ffb8263b3e0c82851e0a5a884b23fc4842d60ae0eef01670f988bbce5055cd8d7e613ec8294b9ed61459486907e37ed816e7c795bab8dceca60e476d01cad4dbb1c00336003319273f85b57808b6f1c8d8d8d1f119faa4eedccf3c98cbeafff20e54e3b101c094dbed77d33c54f63932ae49f8c584d66ab61373eecb541fcb89e788a5e43f99c67f4921d63bc54a2cfef49cf4ade494d32449db5c8e0960bff24e8ffdcdd5e4a71bafd1e3753786bcf8a8388fc9b9c53f95622763394f1ef88cfee85\n\n# tcId = 57\n# including garbage\nmsg = 54657374\nresult = invalid\nsig = 8227c6081b51017a528a59ab9a2d5275ad7769fb418a2514965a9e2acb1acf807685e57fcc438187a01bb5d592bfdfcf68ea2ae3182ce349c5bc5445131e8693bcc63d6abb96881e112b0e0a9b3d85c0ba5a463e6d6035ba18cc395176ade7fdcea30abd725d6ed4ce5c3905e0d12d0cbc7622e44ee8c3d343a3e6ef046c4310ed7d12e7639436176e2a1b7faf54e1bd97d77fcbac40368013c8a2491f2c9e084ad110dff1a2621d704c8f5e8ab1654220e959fb665e6e6770da6c23a66035571d844a1dd2eae68001169bb95253d7e18dcf5c376b5a31e9ccdf7918715d281fbc027d0b2510184f2a4c454805b73aae89370cfd80b345c8ed878ad1c314a7a4\n\n# tcId = 58\n# including garbage\nmsg = 54657374\nresult = invalid\nsig = 4360d9bfd89ed3c5c40290142efb667b2afff6fcf53256660409959a06c24d858b3999b2b1fbb8d9c7da7958a5a4ad9c2d9ea617c5f7edecb7ad302b0004957a979d6eba0d56fc378946fb5145429dddb6d12dc2245d4a071fe162947b67546fddd5efb1f277c9e0ffe4281572c3f6ccc9ca5d19c8c1284a5b2816b529a54c02e9acad68fcc71a5d274cad33cee0c2826d0491eadb1e4d0f05776aa02f00fc702b50927d333c2cd9ba753b3e70c26461a0c6d374a20fa6a006ef77a630ffaef2bba01f4bab3314f7f110c4b9c56aac18ce9fac6ffcef3fc140afcc0adda45473e241d592fbae6014f701fc58bbf655b519d2315630c4827e6e16d9f24e9f9407\n\n# tcId = 59\n# including garbage\nmsg = 54657374\nresult = invalid\nsig = b0939c12151b60d2302513c5901647b0800a5fdd45ee42009828610a83b017a32ce042db7257f17f5504b3347c7b482499d3547282cab6d35360b88b88bf57f0b6f7051452f309a324be5792ff00c0057fe3936a9d584ddbf64b8590ee3dbd04961aeb0fc11598a4bdbb92453b3c646e55bfba321d1d21b5ff883a8e7b22afbd66de6a273cd3e4bc5d857af6c55198358f22a54fff26a903e9fbc3af78ee158dbf9a546dee4b5c77c33980619eabf13dfc72007acd263ea2cfa3f4a89f97b48ca684a1be77925e051184387fb0b8d7ac4063aa84d63b8846932d220f5052eb91debde89aeb6533903fcd01a53e12048990b506773239c83e891667dfcfda3076\n\n# tcId = 60\n# including garbage\nmsg = 54657374\nresult = invalid\nsig = 8a439878c5c694fb16b51bf584c67cea27287e51e5b259efcd62e8ef1c7441555e788e66bbaf0f508440370cf04e87b9474cf0aefd15a7150fadb809ab4bd981036d906cd3bd6eafada91632123de1c38aa486c9d6117e6a1b57099a8fbd78848c7ea47be3125c866151a8d46a3bc0d8020b34915ba17f3d835e641bd797b1e55ff44fffef98a4820063434229315035165196377dff2c5f50b7475c835729bdce9b63d120bfe27d5606fb051c7c946a0512092e08ca7e800abc734e0d8234262ab56037ffb2e8ab3099d1fc11a202bdaf4c7e322995ccdd5efc18c234e1b6139d84d0193dd27751e0db9d077aec1bc23f978d2127fde875e1ed7c992a82d051\n\n# tcId = 61\n# including garbage\nmsg = 54657374\nresult = invalid\nsig = b95dd2dafad0610015fcfe7d8b5c83c34a76dcefe627c513011d953cb2238ef20273feb8b8672475fbda75112c85340e7ab08fac809b6e2b4d314110866e61abe8d15d02f64952036525b0069f2cbf61042a39810d37b7860fb6eb1c423aac7311fe7bc98d6880954055a9ba7d7a1bfb4e45255f4cb68babe6bfcee6da47ba18d95b4954c3374176782f841b85fa6e773f58c5d56fa85f85a4d8c7b8c6412ae83e26b3fae582c3090a9fc6d2394d1a02e3864111cee49ada14e5e625da3650608bde5a5bbc0b99a46095fbd7c01d87dd6c83819c13825bff3a62cf893af31d03f44875388a4f8e83b7a7f360227182b26dce8b310b389e2c672016a166f71557\n\n# tcId = 62\n# including garbage\nmsg = 54657374\nresult = invalid\nsig = b4fbe49100d4f15bea29586e58d27cdea5270a035432d89b245e7a323cfc19f77afb4f2652caa2afb3acf712746710e837ee932e9d315ae21732c164835fcd77f8498109ef05704b081df7f0a5566f8c176e5031b184ea6aa7c590b0eddc6037d642f463f41f61c00f4b12d0b4bb7924b9caef831961857854ba53521f2b9da0210cb38132b46892ec7d44bca599c5efa9029eca8f1663ec301fd064df65f9fc35f14ffae2a3794a3e1519ab077cc761368014acd84989e690449b95c5c8c59e4fbfe260c64ff044be245c33b4fdf2f44c87ecc6510b524927a296a1f32cf57024f07a8609ebd164139ebc129b5eabcb0a84f24048673b7c9ecf89e24099121f\n\n# tcId = 63\n# including undefined tags\nmsg = 54657374\nresult = invalid\nsig = 963142f737aa6b8eac11c6e52dc02b3ea881f4a1a29dc672b8392f4eabf487d9296c0cfb3acbc6d56c1b4eb4378b6f118e6e754d2a16ebf20e9b66f7961d7af4e1a8deb9e4d089d540496c0ea89cb2cfff8220bc7c5bc7ffb8a002d549900d773d00a7cfbfb9499523f353a1dfbfdc9e28054bdb69c64d2bce0e172b586f6ba615e1af9c822280324b1b9db915a50fd0658083eff495f1721eab30d3be3ee276d33c3177aec8fd5dbfd9689195e7a944108ec8e734d524a27e9bc67fd8ade717c234627e2fa25279bb216fecf1f79e1d724e65b10614f334c161f2a2cc50db7113f9dc1c73bca1c67c41f6f77f80c3950d4d4e1252b64300264473cc904b0e61\n\n# tcId = 64\n# including undefined tags\nmsg = 54657374\nresult = invalid\nsig = 3d1ba856ee722aafa5bb68d8b2901c95dd1ddf22559f05b70aa3e92afdac040e08819db5417cb8f551cfea76e622a2aabde7863c183d41c23f4690da5983c29db4e0d603d349086aced24d33695a788c617348ada9f68baee069c0dcc43d671382158c70f0f91134aa4d2bca45e1e5a106710025240d496d79c3e6bd70e15f5a4d732b37d53f400aeaa0dd49cfb24fb7af9811cfceb185c697d70c61ff454672128a0fefc6dd776befb87ff0c7f248373a17f8d2a08f138aaaa986182c084178103897fa8ad0e921ffaedd7e650637cc0c09a185eec68413e75a6f80c9fa2cba46f328b00d2f3e414f670be8056a77810240eebba03e923c01c096fadef1cfaa\n\n# tcId = 65\n# including undefined tags\nmsg = 54657374\nresult = invalid\nsig = 582b5c38000b069573bec33ebe6d4cdd9e250affdc8b4c17937afa464d107f41bf3ea182b86ec8143c9ce977ba2caa3d5656323d4744556f7bc85ed4054d2ca170d35e8958bbd299aed1bd983a7ceeadb2454bf3f5c19d1e3d98785d644585a1ad3a914cd40401d587f18da2c05bf2a9394902254914ddd4d2ec216bf791d87a8e8cfe6518d9e7520d080376cc35cf5b8cc92995f1e825bd5260f19b0185fa9340f1b15d6c7e0d0533268f8e269295de143449ffe15cf03a0036b17899bd18cc48ac7f18bf270f0949b659dbcea7651634da97e27a2ee1da78b10ca674e5c38475a7ecd654e051161c95fea16c5bd8aca95773bbf18f7f2abff4912bfa46e388\n\n# tcId = 66\n# including undefined tags\nmsg = 54657374\nresult = invalid\nsig = 3ae33c56969f5a2b11e0a29698e60962db13458531739d56a4d30379aca857b0d33d48a111865a010a6a6942a64bfb2df5dc3f859f2134b7ca6a9b48093187f3554047a95d22c5d013ee4f5a65ece677229b6bb830d5e33d8bcd749c63d5ff41c1d48e6de89c4ef43048d8be79ab7b547ce1e5731a4a5fa0f71df485e514978dc34cc297a34215e519b944b59d3762b71a5c885fda79481a886b5b587bff0e604d2cc1a02f506f1e9353d3811b154506586af833bb42192ddaf4c78a1f01f65999ea602f79de8f55e987c5bd63f01f27de24361df86173f3d4a2020b440f32fbded2dc62bafb7f77c5b1bddf4b774a820d45d98076bc456aadab3e6b55a50568\n\n# tcId = 67\n# in", + "cluding undefined tags\nmsg = 54657374\nresult = invalid\nsig = 86cc2f6da999d54a27f1d573b192e01350cee91adec8f9a02b67b1528dfab632160fa962bcba95594dc342840cb4fdccc3698cd4e186c005c68d342432e5e7ea8019469becdb33a76f806504c26e619a17d8de1b79474f669e91e0bd07b31444e53cbb525b0f47ec438391a3587912805c485dd2909e14d8289310312a7616cbd3465c2922a00c5afe88a89d3807c614bac7c5b9697e8902bec0a2fd9e466eeb932b668f6e643a8109292ef8bdfbca19459715dc569f3f12b90faf1f31d7f8506cad98bc4742b47ff0f8f1de840e10e62afb66e93df34d43a2dfeb3346fb3e0e19402235e00c4805bf6f5dc6bb10a1406d8eaaaccdfd118cce8d1a62eaa4a97e\n\n# tcId = 68\n# including undefined tags\nmsg = 54657374\nresult = invalid\nsig = 18d77b56276d2a2960630b730edde16b0a26b6c65b28fa20ad7982b8b48d1de6038a940f8c543d7fb71181ea2feb85592f608b20bb93ac7c06ce725026f39c645c7f964a14d68ea53de398cb64cd0a26262ed6fd5091332f8b437b71e98ec59122abeb7a27259130b203a81da5577fb0590e2d6842e22e943256c0093d143f58c023e719df92454a979bd76d08c550de11dbf7085afce1581c31a2214752548af5913485c00b7466a1cdfc60e7d857a913694fbc2fca13d77fc5b775f7adaa79668a5afe0b743f13bed6078006e6b7b16ee6ec576554aa2e864f77b43e4e61786780085edf3c6e8deebfcdc057a1de8d8d7d8a6b188a8c771e347365d25240f6\n\n# tcId = 69\n# including undefined tags\nmsg = 54657374\nresult = invalid\nsig = a2066d53103e4d5ed9c08d7dbc8be145d932bac9d6363a146784fbe172ad2e02216cabce279b3599b5f3858e7179561e3c489b87f47f33d266cb019b747ec49d3dc1069cb078419f6dbe7dbf640500cd110a93e54f2bad919e60cda6401f7d88e52b9017b7675f082ac349e4fa4e49b0a0c6006d2821382fdd00fa0b9d4e948db23c1a4d3d658ea857ad829aa7a3474e0f8f86520970edbdb3035ed195f039c807f8613cf333a13a14c22f1a5e4b77ebb0db9c98c35f33b19c914801f4aa4459af043a39ec5e016af1602bb795bf2c3655c9f9e30ee2f49c6e059d0d616eb7bf7c9650581ab0f29d1e2d1fb06b4d78dbd06f0d3155494a6f3d7730f55a03c1a6\n\n# tcId = 70\n# including undefined tags\nmsg = 54657374\nresult = invalid\nsig = b1f2b2ceac435cb3c650e8214ed70a87ea039da7c6730ea29958c375c85d88459065a8987dcf66b93e732ae5b92af964e7341eceac3c252b93c62b2474b54a9477053491179986eea94820ed6ea58edc7e758177c1d150aca2531651963272231f98daaf1b90e7b61a02c7e61b25f9b7c33d7f57d846284699a924d11c45995c9b85bc3192f349af5e669d893eda953272516c1a86764f46ccc17569880ccee30bcd607a21c306f84abf4b6a5fe6839ba00b73b2df062b1d9d7285c4f3b7412b8ab5f68130000c95761a587818811e4632d209f34c4a8c9e13e78358a37b696cb444ff022bb1508c299a6eddce1f8961bee97c5eaf29267d6ff4f6ef9e30061d\n\n# tcId = 71\n# including undefined tags\nmsg = 54657374\nresult = invalid\nsig = 012e5e56d0e1bc77798b42190ac5a15665cd5f2fc1257c66553d8d00acbe85cd2b42e56f344099da06024c5578851c3463d86d00f7c43c4c959569e2a0657840305b655f4607bde3e44ee1ade5a40162544c9e81a94612d600c069f3073c3e9710cb4006aa5e4a8b9083c4cc4f18fb2fbc3343075c8eb8f7d8b7595532d52301944cc79054512141bdce292d339f85008161af499002dee163d01eb8211e6115e637b7d3ad074507e8492f1a524e39e1a5151802b44b74e1c78dce275825a67d3945e80e73c605ea44328d10a16a99f4960e8f83ca5c01c277beb245f4d0758bbafe969dcb497915d787d760673c86755c1ac38e06e530d24e54b4dc90b67e25\n\n# tcId = 72\n# including undefined tags\nmsg = 54657374\nresult = invalid\nsig = 51f6196459dff03d29f6fd4c7477faaa392cdb0b2541056b94484fb8a266c1490e97d90050843010629f7eb61c3671daf8fb5344eca91dada6c2408d3ae9d6a66fd74c725ded0a4470027d13a09402f0d965a6177ebbf0c24ce66cc463892ad282ae07c0231b394725ba8f14705f4cb860495b2df5bbf143e3e48bebfa3503f6bd2bb56f4b5b589e5be883a0fc2249b6b59d6dca99e13b14868df7aa7fde62b4ef75bc6f2e90c18685922be7335d4d3f55eb629e2873d66305e434180701b805f832be5f5757117543ae00141d49d094d37e66091fa4a0b06c630156f99bf2a42d7f9315b9e4e2bc66883b9a83e1bd83fe9904642f66b19b40ac0c0a9ad27aef\n\n# tcId = 73\n# truncated length of sequence\nmsg = 54657374\nresult = invalid\nsig = 7f8104fe5b383a7745e52b6eb6cd2404abd1d6e5ec4255424fe802ebe76b70594c3f5e8a38959ae9e72076de7ee5a485636cd59e51e9270ad5ee38af4c5b295855d86efebb2678a66b6fd0328479b1b75461b9eac59e71ed9441cf972af074f20320d5c01d93feb037cd212f5c9774ba65754a003f1380ee0c77d3f7fdaf753adc1f7912ecbaf801959d2a70ebb5c24a68ff725ff8f9901a712ec338d3a798294ea0f10fefbce5a99bebfbef2ed91f6668d8e25b676731d9595d679b8a7e8c35c918ff0bc6b080f0f0a187f526b55b450d069bc0d4b47c59f7bbc58ac3af21180ebd6707d7237c967454e459b696842d41841d02b4c34fc964677b0116a22879\n\n# tcId = 74\n# truncated length of sequence\nmsg = 54657374\nresult = invalid\nsig = 9bf8795b877ed9a89e70af142e44cffdc770cd2ddee32ecf32b962840dc26406b1449f03ab16c7c9c72e41e2ab24bbd163d2b7213ff7ea8ccff463cd41ab87a39232383a6405911fc9bf33ea82fa9fee0954912afad0b50d80a70a52cb043f5d8fef8f80249f4d2a8a1f47d524bbfe9678ffd3a3c9d307d9c61a909478cf87d45001d66f5786a7d22d8069884c3248a3e5f223d6988e6c595009cfe24947a564f43964a1ac7d4319a446e7491230a3814bfdb80ab2227a2029a36b13da4a584c7cfccb337bdac86b5f727169596bf6a53467c06eb94b7d168624847df7679f27877f43954c4593cc4e28951dfbaf4727e3728cc9b9a59efa92c3249a4e796f33\n\n# tcId = 75\n# using composition with indefinite length\nmsg = 54657374\nresult = invalid\nsig = 48e200aab82c1d2798b90dc2ddc522ad5d638699b2349b26596a58aaaf7d14f90f52f44a320fc424ae2ef781dbe5ac12de05b85a02866895329f36b1f2e8c78b5a8161ccde69de9c112682331363398659f832544c7848806a3f2076a3127a9b4813e6d5c8ef31bf7a102b136fd5f9b3675c5e8ea7df25bd9b8df6cc46e9134b5aa185c13e40c935add77fbe1c1853ca8dd28fbb53942e7965a44d9694b96dba9ddcd8396d7b191c7b385629e6c391242ec76a916cf038cad4f5239a4c17816a39deefb43ceecd31fae33d3afe50edd8086dd501f6b72ef43f21ea1858dd46ad56ed63402bb92ab06b85a0d17fed8d9028b22f528a9544b8827dced2c778d082\n\n# tcId = 76\n# using composition with indefinite length\nmsg = 54657374\nresult = invalid\nsig = 4323f6998549f0c6d79dd67cbdbea827da1ed45026bc16ee020d42b1d448a66810677b3f0278c20213a3949b204a773b533e5e203f2eb48b936b01ce5b151c32be13f89c1f56b20b44d5987e1d7220c67d07578f8af642b6d504e1fb11bf1657203eef4f9882488f68ef830be437a3ef948def0a6b34715056926504439262cd5e971a91ec5b2948498fcdd5fcb1e4b4f5ba04ee2631546a5454f28304a07c5c14d01a75322bbd764cc452aa9042bb03a466b0c62a8bf945b85c63b6726f378a72555108d27029268706976de496f7098d093a3a542db8fd5aeb805ef3b547267234271124e9e267f27a9525bf224e3f5d33b67a64436d65cdcee729bbf28897\n\n# tcId = 77\n# using composition with indefinite length\nmsg = 54657374\nresult = invalid\nsig = 225c4bec4924b6aec5e2524258edc63007b35b37faf9c735959c9f932f982f5d5434fe0f11deed690f9a023337a20dbedd42921f2a019ad6ff033ffd297e8225269bb6a83bc2fe8e08b7d0b9af492917bd3d0cc7e3c7bc213e0be8401ddd2e4b5c1687ab6da434ca3870f0ed3c2c1b08a00b9f52715d2efe0f4e4097510395a087b5bf389471bbce2e85814a43f10d68d8d77398b3b3fbf196cfc35f6eee8b21117fd6c0d317674a6f89b2f7635c7b5a91301b6e64578fbbfa327fefd9d8e4c992bb88a23f8561298c60a075c4f29fd737387349037c1cc360238dfe4e2c3bb6da805da25feb9466923e00242dacae167b40c4c4d5f4473e22adb0851162f7d4\n\n# tcId = 78\n# using composition with indefinite length\nmsg = 54657374\nresult = invalid\nsig = 1e416fa2194a2297866cd7df7d4db6477bd71e2b2159313204dcdfbfc69ec84f826f01e35e4ce6bbf43c8377f34e7d4bc9c339d20307ba6391c2091698885480a776628addb3ad0f5a7fbcf944ef41fc2ea9ab078ed8ea62ef4ddd1067d8863d61c1b52534d51b2473a11208d260460008da01f8c88540a594b3eb6c2145472efc20770342f2e17bd2a0025fa2b8d820b8d5fb41eb6025ff990b054f741a8f716f354b18064902e208648b9e3eb312f2917782c0db5c8ef49ac0707a82f71182e8a21daa75d36e0d4938cee289742a3463133082faec3fca8979372957486d5410b90de7e232818b839882b513da01b4cb9fc59c0da62b70ac5a4de1ebbee89b\n\n# tcId = 79\n# using composition with indefinite length\nmsg = 54657374\nresult = invalid\nsig = 9801706c663bfa15fe7877c8d09f58d4664d3619471c27d333ca869536a6c4f4e816c905b2596c71a4ab3bcf07b550ccee0e8ffd5f7a9fab3afb5b8bf76f8e118b7d07170ab6f82e7e33db4a81f2f9ef1f86d04a1b2fc141768d9b4e44792ff9ed882032ad5578560d51c7ab2fa96128fd147bc260d05074ef42846db7c8feb7ea71ec6755efc554e46ad4c9dc77c259aa834fea03ccb9b931c7d3c8b0316e30d25346b682df91a6bf68c6266723ffc77576abf8a732ce1a7368b71d740677c28029d2854797fd515278d884f4eb0806f21752207b103de1e19d357e480021d3e28ba9461b6895b777f1b6a9e08bd4cf713cc41f4e9a5bd7071921a614f0c3fb\n\n# tcId = 80\n# using composition with wrong tag\nmsg = 54657374\nresult = invalid\nsig = 71c756c9def03a24fed38e597b1925905783f0b25c974602d982c1e7413e7bd82c78466df5decf09100b924ff254ef01b2bd425b2e0ade75ee4ec58aec4f3da80030eff25601f3ebfec46452e01cf51ecc6c0d2268f754795486f7886b8dc181c96f6fe4dda05a2b54e6fba77869fe347c2eea5b42081d2140cb9fa7a6bf023a6b9f806bef65038aa680fa6ab6263d756d3cc7acdbb93ab3952998b2cb37aab72a50657e276d70dbac6be84526c17c5c", + "1790f0a1eb0dc0644e6c47510d3704fbe9e10c8509419f6c49656e06f7bdc4637891afebd376f1e1be139a87b2eec9063dcd815a17a08f63e2a4e9f9da822cd0cb5539c4623da6d279ffece0b8e58f86\n\n# tcId = 81\n# using composition with wrong tag\nmsg = 54657374\nresult = invalid\nsig = 50d70adc01b502dee439ae57f59ec78608d05820f858a6f0e9271a4372b47042613aef6ec2f36da7dea07dfae4c84f57435980b4982348e2d33c4df6c3384accd7c7e3892184a3778943ef50477b906c2890b5c93322c065315b960be0ead30bfa496960d53a4dcc08c8df158ac5090c10c395d18cb33c8faadb7b8d6bab8fb9997e017d5c12789c1ef0b285761d2e43fbd5b4313726cfc85061f9ae33e3da0addbd86e267fef72b966ad5286220b2da94bc1b667016bece0111dbd2ee4943d9d0fd041b666d93bb3dab53e16995d6b10d1a3b4aa07be08dcae8f0f5cc03c6b9c3419d5ff8268103a850c2f2043842637f54468aed58aea06d6f2dbb965a3208\n\n# tcId = 82\n# using composition with wrong tag\nmsg = 54657374\nresult = invalid\nsig = b96e8894734529229c0830d77834f5a07060c22186c2cbc7c0fdbaf405b466fb9727694a527acf3ad0a35223254efe854789375311ffb6ea35d1335216d7b8fb215241cd3dbbc90dd569c0ae8979d9c0a2dfede3988c85e18756835734d45974dd50aaf649c1b9635f0c53dae4e44b0d2315897ee248998f6efaaeafe72a41f2f13a1271500bd6f9be8ef84421f443e68488a3eb40604cd4f28f7e9cefb539c8c5e87de966017d9ab0a3f01275fe25677c0049c0fcd7ff5799b4b96cc0490bc4199da554daaed28ae235dbd3104f9f2462468facc932da3bf2e5822a8159d6e8e8d9ea96ac200113a60a57f3253b8e05f3f0e8e040fe3a55b1a8ba749d5d5ef3\n\n# tcId = 83\n# using composition with wrong tag\nmsg = 54657374\nresult = invalid\nsig = 1b640c511649dcb0d23df1fd808a340415cb87bf3b15ff5e19cb6ced922fcfb4ee376d6dee61df8aaca7e108c8a0868c8a2e99db2c0e769c80b7e5adc3bb4cd4da70f7fa68933470aa61d50a793702a49d3dc635670fa77f2dc282e28f4a74aaf5a76c9383b093e529ffde33e3f8f947719c5aa2680b1ed4a4c07a72189e03cc0528a814a6ccc7cbcb4148667c9170c882ecd4bd6cc8dee957b9f334e8e5316fc4041ccd6b422cf658ca6cca6f27972f818ab2f0defdf35ff5e4dd87de52d6a1d2cbda5f7649a13d83f989d208d95b076a1984b548b71232325469d111a8dd0b508e4affeb2f6dd42c90f4cd1e10dfc4e896e483bd9e96c3e951a51519a19486\n\n# tcId = 84\n# using composition with wrong tag\nmsg = 54657374\nresult = invalid\nsig = 8dfc2c2577dc3f36d36430f25f76fc01ffb2af51e1f5aa8fdafe6d42f57a0934a106d88254f834999177b204a5388543a49d638af70d52edde954fc9a6a2a0b99bc3d3e2c148058a72e2a50c1c3774dd83f151e8fecab64e1bbc6095cccafd0d1774b8b4ccd8d4b995af3e1ba9c9430fd8fff39bac43b0c6bfd051c5d20758900c9e79e11c7918af1a38523090454b2c14f01d1aa16b6d3c2d94bf4724a37c471e3bbdd710ad1f268030ad3b3fceb83e808c1cbb1d3b4d3a4de84f0a4f6f1d7765b324ebb81e1bcd08ace01a4713c6b376069114b8f0cd236f7bbbf3bea3bc583412617d97d508a511c54eb32f166dcd7f80d53a5c0c881030de35266a30dae0\n\n# tcId = 85\n# Replacing sequence with NULL\nmsg = 54657374\nresult = invalid\nsig = a43fe7407fbd017415df9e194db645a0a5744bccc05dcc89044e7b978a97090833589251d57ac70f0591ef9a787788360602624dbf50209fdf21f578f0839b9b27c9aab1bd58d2a17ab1da720fb686420fdc17f2756edbd8eed82502a1e66c3b2b90c08dd4150f6f6d0b569cdb14f7cad5f7925d9c8a1fc3f0a6092219ab6902599e018f88247f2e4edebf9050104a387de07db955bad9cd01f2b189d9a6a2ee9369bf1f6ba272449e26d4a67712a3a22947ab67de53b1a416f38e304011dd477eb33c8191d46101b17d9e835d9816f76dbc540a2d6a0ced2562325b9a21ee7c90f010c22fe7723ab4fb16197af8fcd507f61387dad1ce8ecd7a39fc84eb8da0\n\n# tcId = 86\n# Replacing sequence with NULL\nmsg = 54657374\nresult = invalid\nsig = 852f74fc801faff2486afa44197fec789d36c1a40ea41b55d46b6fb6a5c994a9943c6d9b3d46165ab2023124271ed5fb34ea0299b205197e4d8432c1dabb40236a095c05587e885e6f8ed0e08611c2c7573c928c6ba6159541fbe6751c04486ebbe2f20ccbe8410ff39d7db6649eb46c6f0ba552f0dffcd183628e863ce2ef8f44faadf3fd94659f98517a5e8b5969aca73c32ae22c433887315ba8631f4f10cbd7a0c3204e377e7366c136986d505f1e8855f80c5f8f97b9ec76a69e9290734e80906701372e1f9fff6f22d15508e4393539dddfbc78471fd2326e7fbfcb5fde066f437171329905fc90c95eb174e9bcca53ba46b5c42b5f3f47f1e0fa4df04\n\n# tcId = 87\n# changing tag value of sequence\nmsg = 54657374\nresult = invalid\nsig = 6ae97ba33d02719f5e4a809f5b44054331d0ec1b61c34067c6c8996d126c972df2eb48f2decf74623116e4b54401bbfc05023501e00245eb98d86aec6357697e67cdc78e0eb37c53b3ce06cd078af9bbde0206ac5d63e8a842726d4bff489e6695c6539de3bef40a4fbfc500bf932c35db6d8185ed3ae713ef6f7931b8e4a76834a6cb59c4114c230dcdefaf3b4460775650e03d3461deb3a229511bc97636341c0bbb1aad24f477c3a1658155c338d37aca1d6b5ba039f3a486535a2e2dda68e4bf1998b8931a52781e465d32596c6781612af4a6f495974c023b68a0f537fee00a32c3e499da4f8b2e4ee677b68b058f99a104dde579ac31e6ff966679cd47\n\n# tcId = 88\n# changing tag value of sequence\nmsg = 54657374\nresult = invalid\nsig = b00ec164825f457f144e3208dd887c0b69762a2877f62d8795ac3eca14e49988f898d3c939613caa5094e21ea361c804c8ea0c5f6a0e09e118e183441b5719ae308eb95d705046218e7dab336e53fb30a7c1ddc59cba08785ce9bda385743526e6b7bd15b3cde6bfa10f8ad4f6f20534c388d7f61dd04f34009dc4d6266f7363fcc59853f24e0ea5f9ee100f0004adf75767d95c12b30473594f67bcd5ca63cb76a4b837509901dcf0bbf5f2d109700bf04e2169cdb47ba4de1019fd595665acb114039bc75a62cc07624646fd1ac2bd71625974567a9508c512b0576ecda69a59e950802331002662dfebe08d2548968ea8939364a27e202184380cefc1796d\n\n# tcId = 89\n# changing tag value of sequence\nmsg = 54657374\nresult = invalid\nsig = 1778c178579119618a407ba834a7de8ff244d4da6ed2f979c54684dc459257e70240691ee844f745d72e64633200b800be5da738484c0258405e7319800c8128d023db5227fc2e348c426a026c3f84060a4548f0ddc2dc92be1dd42bf7a819a9e892d318eac58919a01f1ce3da9c17528af6022b2cd088144fe44c3dbba60ccc83970199b758fd49c2226f5b742668d6685dee1a5feee173aa8f4428118a18701ac503600e0704410595e8fd7208e22c161c81e108056b52da131f1f806c3bc118f934cc78b8e047c0b181ee7386d9c283a3dd251ca30a81a9b6f562b3364815ec3d247e5cab8ccdd78e0653e2067c6148b76191bb797e800f0d6e9e282409d9\n\n# tcId = 90\n# changing tag value of sequence\nmsg = 54657374\nresult = invalid\nsig = 13b647d93816de9c2fef162f8dc37956690dd40d2124b0b7b724ddbe5c62b1242369f82851b24cf98b1b462f6f5fa40c248c02d778ed28d3ec8d2eeb1668081c691f6a3939f72345f0eb58fa02737ab0334693c6333b9e4593eacd3dcb71586623d11b5230eb624034561f3c6c7b151c1f18d3311f359a166500d78995d6ede43421058a571c639f228a804e33deb8aa06e646c7aa425a8d0ea245e4b2c2a5d48413c6ada61d195e2302577cd517876eea82b043c6741aba882242d9c97fcf7edf0d0a3ba6cf3723f5d3006790d22dcd8ec6bca701568cecc2420284e140c84d94e4bcc72861bb31d61a9dccd53857060f7f6bde1503580f2d52424afd1c0794\n\n# tcId = 91\n# changing tag value of sequence\nmsg = 54657374\nresult = invalid\nsig = ac52288eb0ae64f6897a5b383e9e4d734b45685fe3a75e2f5c65ad8235311a6a2fdcb5a8aec47b430a7a84efe10bac9da10786badd033089243526a4d9ea57a9e7103ca9e7dc889a9d1a4e4b86deb34ebd3a5b454d0afa940af71422a4c4dae4e1a5bd1e4270ad32a486e2a1334db7a511f3251834d112b9696979dcb0abf8ca83f304e4e8cc6892c4dc5188e416428570f0e3e56e4b171a3ee741787384f9375019fee5cda1e161d4876e9ebb349fc1f33ded8a733bc5c7b719c0367ee44ca8212c517eaede6689e1caae2b5cfd347378efbeab78114435986f95add85e48d433074288e0cace49de21c0fec2414bed9b01274a8e8f6959fdc29648bfceee70\n\n# tcId = 92\n# changing tag value of sequence\nmsg = 54657374\nresult = invalid\nsig = 6b31d3f3d9c007718c2a7f9bf201ffc003581b3fca2371fc15aeba38214e51d6f72ddc632a7632ba95f79c868230c56851231a8fa178cf6cde67fc25cea8c8a811d33e451844b86fdc11c1a75b03de5084a9642490d5e9b49de50d51c93c765bb36388f1b3506a098a8a9d58f509d48e76477bdeb4ae2fdfe410c17cce011da703b47035fe2041fb82d82a158480fdc25d8e868209aec6f788e575635a7df9fa58a95919356d52a38e678a8268f3baa2af7a6efbe3af72e23eed354bd43472ef7c7a877842efbf3d9f08ef45cd562ca3ed4f903d7d4a571bdda531a00458387135e09d276729ef230297c289d9a0010d6db66c40b96d91929e685742946a4c05\n\n# tcId = 93\n# changing tag value of sequence\nmsg = 54657374\nresult = invalid\nsig = b72975609463db5cfa161a7f29ca78c1e8ec6083eb055bda72fa7245d71d565af2855f175ed29dbe881e2106f90a84f3abbf7d229db8cb7be2a7d5d29cddfb16468d9f142e07d2e5f4780ab52354504743ef0cb4e32d3cc1c2e612245324afe6604004518d8fad3ea2884104ebac9eaa95e14180e86c54cb801ba9b8510bee1e2df90fc49a005b1a26ade197c63de5f1cdf8ac8a84f6c67768c0adb54ae853388de71d1643e07d8bb083166efd077251cbcea5905fc035f01919bd143fa8d5b600cc9062d8b61eb86d118c0ce9f98a3622f90084236124ed6a5024b0b7a61bf7641cbc7647008099decf493b56c59458a1a9dfa19c13ba96c0e050d3df512491\n\n# tcId = 94\n# changing tag value of sequence\nmsg = 54657374\nresult = invalid\nsig = 6afd7245b1521c942c1d38b8dc0b9a3bbe124833ee97de0b50ea9e537973e3d199376f1de834ec239318389e479a89c97b5df2bb08d3fc565c33903aab595f4005461c833bcbb5c04d90a21aa7c251e1342e2d8db768ca1c23ca47", + "3adc011f40eef9faeb783cca57657b6fc4200fd54694ad457db2942c8a9271b61e3cc1aea81f97052c3c4ce968b5c6b56710d5733615d960e29a636bb959a4fe3644c41f7cb85987b9112df1204f81c69d193f10b5ac2aa9d8f223c77641ade87567469c07b82918d1b44df6d047a0ed9291e489abd7050cf7ba1adb85cc5fd079cde65e8168c2480121ee7145bb094dc846517b6490250648f9b58398130a69dba9ceee10\n\n# tcId = 95\n# changing tag value of sequence\nmsg = 54657374\nresult = invalid\nsig = 582dd05a81d329fb7c4c1bcb5716eddd21334fd2f7763aba0de67eff550838dc7f4284ea5e4b94bfd0ea823aed8bac214e3c9adb0144c7ea34ad98cacb583e8f5e2ceecfaddda67031de748b3edea986dd13906ffe06695b7fbbdc455e350b64a459a8cb260ee87b0004433d5dfcab404da5bd9a116168d8453071dcbc13af9abdfd009704721e65df950984b564b957984108afbfcf1b6f14ff50425a16da4f1d043778a50b91ff340d94e04d9cf9e7e3b35a7482cd2096370b189844542b2976713466cac44b356581411db0bad42a5b0898d05e5b19d062e04d4d22e3170001d46499a20ad125779ae95d3477cf2ec3d39634ad787ce1ed0136bc432cc813\n\n# tcId = 96\n# changing tag value of sequence\nmsg = 54657374\nresult = invalid\nsig = 666430efff090b85acbd66acc054f29a8c05720e140a599c211fd699955c8857ff68dd8ebe56517a1d4b10ec5cc175b17488161d8de9c07c3263e5c3c73a9c649d85e8b4cca02035f6ed9b8ec80e0fb1e102a06ba60e30a2d2d2026b1efa283b6744c1f2a9b5bfb2aa054fc061626bb7c5d18cde129e1a188b62f440abb78ff3eec10943b60c168c2aebddec92191d04c2d06fe1af82e9f6551834f2c6142b7e81bbd4b4b501986056530602489d59a338694b08f56b83089c76ebbd0d2700ab2b1489cdf43913586b426b22574d20bfecfa1efb0a72b72d7374ba235c8708eb68feeefa9dfeb71c94bbf999b952b2bb5d6f47bf3404427f931360e94c8087d1\n\n# tcId = 97\n# dropping value of sequence\nmsg = 54657374\nresult = invalid\nsig = 4f1b6b6f44242c393d6047cc0c52f5f11e53ee6f67cda2ee9995ef5d85846e35bd501adda9e0e274147b3898b56d80a78127569ef977872f46bf6f996ee398a489843d51216b90dac9bf173ee966cde1903c072f3da2551b47930d0d4c8c74836e2027ae33a34056c40a9bb7d811956463dd01aaa305899130d180e61532a604910d0eb25cb14a6e46ebce99914f820e64ca685a33a2409b3df75796cee1e0ea4e907265d4478327cea93d2779d607854d3f327125e4fc641f6f87da99b9138afc90965dcd95f95e54729618cf0785a115a0e7d9534fdf4442646602b9cc305eb48457f692ed6740ce315ab8a6facfddc36077a8bcf0ebd2a4cc41565c71bee8\n\n# tcId = 98\n# dropping value of sequence\nmsg = 54657374\nresult = invalid\nsig = 0ff1386eda5e2e274e20fc68a2f2e04e0b299b99ef4c3c043761992e669da54a51d9ee1c1626674ad35b95e7c9cdd72312616f461bd933bd281f3ed79b532b54a39f1ad84602edd80767ce0e89dafa6841fdc9c4b2339ad0a28aee8ac5859881e23b4ff38e2ffc9648489b5fb61f64c6201c0558858f01ad97ec7fd40965567d7aa98c03ac0b3615c2d17d1c7695df50e03c362506f2a7e0a3c95e1e5be6e382a86bc66c4f1fd4d0972af088a3fa7f9dd439ca4b44cdf40cc84370d087ac198af66e6a99415c3b4954cb6893d1cdef0f7329ba339e01fea4ee4096b94bda9c4d0c74351009678a723402524976dc01e70f81bce36c4d39ace0d12111733ec1bb\n\n# tcId = 99\n# using composition for sequence\nmsg = 54657374\nresult = invalid\nsig = 1a183748037cc7201b866108573e83611953f72b96a56a33eb7052399614834d04daaf3892bcfb194aa1ca19df3a149720a0ea970fe9aae1bdd09c0548071ad50d806d8a6e40a8036fdc5803de61bdc14ac155d26dee61e1c23dde867c16f28cde28dc6a357010ed1714a0d8c6fbc5a1894d1dea159c3a8f4c5251233ac2cb1ee715d42b15360bd045a38be1fae6f5b5c5b5f8eb97cc537e18d71f506790b35e69faeb43b30a80ce6c291dd2ee4b0fdf6dd97dc197df9b125c59809cfec7045698ecb700cf99f3feb6099f7516dbbe17665ed515ab41e7154dab04e568e1fbd1b419d9d261ba35f05512f181f87d23143f0649ff5711cc4c66d4e7b702903fcb\n\n# tcId = 100\n# using composition for sequence\nmsg = 54657374\nresult = invalid\nsig = 3134086af9ed8e92e0dd74f4a83807bf263b3bd5ca32fc975391091016dd632b980c1df91854508164088e61c8af8ab1cf2149a8e8b2fd7d223e67da5d524cd6dfd3052bd307c991761bd8047c2403fc84871430978a0099954bc4befa89c7281ae62b10972a06b5dc8f4cd6d7e1ba42d19b486392fc2f1658ac31fbe9f0bd6d7b7738ed9f7e7f51649989de4817c7e4a613e357e9d4d0cccd5fe365ca4505f99ecdee8b0f9ad3d76deae39de4a815493611128919e344ffef0776b917541aad6709487f4605f1aab878c3a62d881085cb1ff1cb55bd6436bbfc4347c0ebfdfdfc6482581bb1402bcb787e9c6fbd3c96d9dcd16245f1935279116223aaacd83a\n\n# tcId = 101\n# truncated sequence\nmsg = 54657374\nresult = invalid\nsig = 39963c8d72f4b87502bddf258c441e3b7928c0e99f5f4c7c66e45db5cab0aff14102cc66de1555e6053e7285e53cbe1c4645883768d4e3e6bb18dd87eba514f1fce3177854b7f58adc573d2f14ba065f0cc36d62e62988a85ffc4b1ed6e7e7f3f5c18d185495f2ddb1fe32ac0dcf2404cdd3078ea5986e293e2cc28b36f4be1c654f8cf86d0b8fea5be318bceb08d62594255273b420ed9f6aafc9a639fa384259c636132d8297d92cd9bb4e8f2eb77785005683905409978b50b97685c39274299cb9da6098ad02a66971943f0e7c6df90622e39f2e8582770f252fce3f1659ad742e68dbe4dbc6562c065f82f5cf7c85f8967b9de92dacd2b05cc5d1ff0457\n\n# tcId = 102\n# truncated sequence\nmsg = 54657374\nresult = invalid\nsig = 10da62f2d21b08fa1f0a9c6be729d60939340de884ee9ddf15e37944517b9c1e692193029e3aee69bfe92fbdf91bb7018deaf025e75944952b379e85c35d079cbdc1da17f97d844c78b0f0849b7e81e284bda48f0e354daf99fe5ad35f3b782beae791966d2d6cc7d6ec262a86089c385fd56d1e8e21ad69b85d305b43a271fa410c65f2ea088941ece8fd98063d50d6bb07e50119f0c4cd9c27775bcd40803124c85fa7dc2c555bced956e131a473a0e3d357a8287c0aedc6bba5239d3c8e92421918b137c08c08b424040e26a559b8cdee5daca596e7506109515e822d3de3d826284140b935683483185f8ad5684b0ed648a2cbc9e549fc4b0294d7384684\n\n# tcId = 103\n# truncated sequence\nmsg = 54657374\nresult = invalid\nsig = 48751b8bf25b88354852664446a3133204880e38e9bb4e34ee79beef8b464f138c83a45ecab05ea954038ffe6a2fc2f90dfd76f2d2a6c3a2acd36f63c43569999d54aef4b9550fb2406344779d695c773b9605d189d42a825ee489e4b69d5f1538e4853132cb9fc97a56bd9180a0ec32c2fdf6beb855d62ef6b18ea45354d49bfa225145ca639e57e10248a3e947c84d35502f6b40a64c44f813aa34ce502edd4dea72ceb11d453e66d1175d9ccd5d925e087aba6e8e34ee641eb7e76cde594409969752061847630c7d7f8d87d3fd019ffdf5cb3fb0ae5c51a8e66b03fb1f6a8601c1cf79a3596c4ee9c66331e159779f7e7c78bf0462bbaee953c31ab6be6e\n\n# tcId = 104\n# truncated sequence\nmsg = 54657374\nresult = invalid\nsig = 17ce85f7b037ff2f5902e3df389932e95b3814547414bcfef491ca0aa9f6ad8eed3bff73f240352410bd67caa01c77994543af721d1c93beb57a6b5ab348ab51b75d75cc4b5addfab9479ec0f852984b81ad6eb0ac7005b24ddcc43723b37e24f509dce252e5cbc3dd5ba4fa43385f773b9d8a49ab07735db9a7aec91fcdef0fbff7a6c3dd8c8e7ca1710f90ac3ab1594a20e4421491cae9abce372b2bd703808363e26feef7ae93d40c298865de766a4de885f2e9efd2ad0b465d569893b15b194d2d8c9ef66b5557df770ea009d1520b87078b7339a53c84a3dd477c185c2f7e3e0370346df5951dce75d4b9e49092deaf020e0651d409d7ff17a5b5439286\n\n# tcId = 105\n# indefinite length\nmsg = 54657374\nresult = invalid\nsig = 299a19ce5d0226447644ee011e1633135feebb8765072c33c18c7786b93797c6ff66f182a698d291f50f60bb20d244721a3e1304e425e4caf5d893690fe555c45f2eef068fc829d313499c0e2301c127c032caafeecaba6e339a96b5654d8dd61dad1d31e594fb538042a7c14c2953ed843207d628cde26453241edea643a2a50eb6a9446ae1d266550f558a5c8caac34ab4e812a2afc751e0033a16a1bc09eac9118ac7bfd39440926da48867dd1baf0cafe46a2f3d588a01fedefb7e8b0fbb294d9beb78229dc2a1ee2b045517e25b2c521c0b6431dd490376b7e3874da096535ff2cbadcd7507d048c82e550b2da59cdf3435dd6c15d00b81072d0b0cdebb\n\n# tcId = 106\n# indefinite length\nmsg = 54657374\nresult = invalid\nsig = 5047ce51895b102150c34f652bb0e6f683189dc2b4c5baf7787d01438f0b24a4fd3120f6fe958dea1aeb126ea1c93745fe8d0d0f9280d701a00bb4ba9eaf35a4694345b9d38f724f0dfec600e379477999ffad9122980ce111ad4492cb4349ade4aeb85f3de7e71be992a42240a78ec9355d3a2bdc44525a93d66a41cc18a6910f43e11a528d67237901a4196383f64fe6ce5f246ed02ee2b5f5ffa86bf16044a20540d2313384cca1317cf3d18bf9269f3b539b78a6c84cb4df1e9f2cdd4d9a9b53b11f329ff7db8248d23ff3dd53e805242ecb307bcf2cfe23d90de16c68cb3d33a5e461b3a6db28eb1ee25bae53076df190e6f9cd23a4880514264356f02d\n\n# tcId = 107\n# indefinite length with truncated delimiter\nmsg = 54657374\nresult = invalid\nsig = 47e9373136f0034afd98de6e5519770af7ed2bfb4926ede7b6b774cce7d8df94fd56de9b5c8a2d0d3a23c2a49b171e62e9233bfdd88a48d66ef3b1007cf7425b46d5823b3e11a4527716f4cfa9bb4b9ee0fed76c00a6f5e1093ceb2117eee845b1daff24f8da60456d429a94d180ff40600e29088d1c181a60a233dda2c01fc3bd24f248f8d55d12c9b818ce608d8ef9194ec2379ead30addf1d88a4b9879f5217419753d036fe39e88cb0461b5856af8f2cf0b5e6e74ee8c0d052b851029ca7ad23c2eede49a3d916d5ca5a0190a92ff3b2f9cc4e41dac240620afa6efa358a9f1539abcb1073fd7a5fd18552437bc01cf5149506359e822cc405f5b474510a\n\n# tcId = 108\n# indefinite length with truncated delimiter\nmsg = 54657374\nresult = invalid\nsig = 9de821d4fcecd5c3ec6ebe88582c61390c5d471724a7c9aad4d4eac2576aaf133", + "d92e5c53e45d43bd707ad80a5d3bcff1d45599e048ea27899f27a873151392afbdf287aaeeb7020491c835050c7d7fa3a905eb529fe2760e55bcf994bdd25f4bbeaaa26653660802b4131cda45e1a51fda7f6ae42f38ff688c8be59a70b7ad805e30186177e094ea2ead3b1dac4c24a42accb112155abaa12fe452bac975485fd8a40a549b484fda7d078bc6e443ddcc0289aab9f99061b083676fb00492aaca801cae31578247487fbaed775a74fadac298be953e0a108533211088290b3ed8af563186a18976ccc04e24097e4642d0e2d5242a28ec13ba321df4b8705624b\n\n# tcId = 109\n# indefinite length with additional element\nmsg = 54657374\nresult = invalid\nsig = 7c566a9339a3bff1a30d14b7ce5b4f2b1037907657106945a1159ec0daa86d687fc3db4b0f434bf6f5797f3870fc935f0aa1a67cafdd57b3e260a5ca95f17fe9e745a8aae891860e98600b835c0e18d119f41053612bfaffb9c780318d8628a965449b38a508bc2ed5e9ca208f44189ee72ccf5b28208eb27968fb5613bf070686d638e48d8f2dbd3b8ede717f350c41e1d97e9dd4d3a82bd0fa7ba4c49ddb50ebb1d522355f0307297e7d833e11125efd6d4201e6ed7fca9f0db1813c634af35d780769dc08738bfefe32fcef60014d5049ad739aaf7d2b885c2dbe97c726c269333d592d0c35d0a1b448b972346dcf849cbe370854ef33270e49b17c93ce7d\n\n# tcId = 110\n# indefinite length with additional element\nmsg = 54657374\nresult = invalid\nsig = 92996c9f61dc7e216d111ad097ddbee4cc15ae29b37b944ecdb2976b440c5e94ab693d118d2c129f10b327c46ee8225099750df108ec8f412796dfe607c2f0535ef8a4a66394bd3d72e242e8182c3b1f9e8b2e29420aa6f1dc4c6268d982931f1ffd177293223de1e6c8bf65e1593876a6865ac228a898f475510ff938ca9f1568b0a90560cfc79dc4f05734013cc0aa65602aae3015dd83a7566937808b1e7d8d64fc0db46a47e35185ecdb9c086f4b857007ac3649a7e773b04dd8b6775adca21611b819e4b90f9315d4769771cfc674c41c054fe8493149eed9c84747b067e5efdf289a798368298aa12628a4ed8021c0827b0893c3458eae2f8104c12999\n\n# tcId = 111\n# indefinite length with truncated element\nmsg = 54657374\nresult = invalid\nsig = 3abd11508528361765b79ca41cdf3a114305b9c481b11eb71b742694d5f9ba59f3010c066971df5b80f969fe1971449550031ed1348de43ce3bd9fba4d1b93e1f7d1e4e0f79e98466ad37cf0e5ce9fc01b7e08a9a540d458f546bf53fd6f2bc215366cdafb9572600c0b85e9f3bbe0dc287b6630d7fd10114ff692fe2799959f6777daa709fe7b42d70161cfdc86c03a9cc815e51febbce992104020da3f7abb3c800f4c8ad7f7bb56d0c82689a32764a3029210913a1f78ac54c50af92fbd5df563dba505235deabc0a6e6a39c4f8b211747151e3a677eb93026b513f0a121fbcf4b533afa41c13378634536173b1838fb3d436ffab58cedb48bf2562d59554\n\n# tcId = 112\n# indefinite length with truncated element\nmsg = 54657374\nresult = invalid\nsig = 70f8af936746d605b1527960344f07f63c2933c32f43cfb0509f4461b897bf09fc7c37e1828b4f63c55b9be11cc9642c2c1b6d44e388857207676e6914aef480ea49645296f5c0c01c63e1269ebc0c27544042ac036af2dbefa2eaea0be474d534e34995871c4efb9ae6f85b0f0c724ec191b3fe46554094a39d785441dda07713e51f6f9af8116689f65296e40ab21919c7f9a67c33be44dda122771c2fa1c5bce89e07dc739f671754a99ca273e256bd2a6c0812b9f3f3e76c2ff7ed972be9836a8a926cc680df79361dc94b948da882021ea1e1f5cb6848b2ddfa285c5daec97606c029c33c1fa312b409794c8e701a414f3cfe987b08f37b635d1c68ec8d\n\n# tcId = 113\n# indefinite length with garbage\nmsg = 54657374\nresult = invalid\nsig = 53dea4ade112b2919cac494c1bb1bb9027ed7a70685451c21d3618ae862502bc052ed40a0000471085792a636ab95093b73f4eb4505ce6896fad47a27322a245cceb730dd53365659cb4467308bd001773b20cc7a850f48e78a0100eac31052857ca323dee8ae643241dcc33dbd2ac098aa5a6c87624483d7ff51b1d1d2f2409ab2d1d0aafd29002bff4640f8dd0d24375f7e0d5789bf71035ebab7b6ccd23cd0597103ff93882e58c0a5ae2899bbbac9df615331a9142c0d39a46d57a57c94ceaaddba6beb5ec6027b096ef3f8786d498db1baea9bf8e23996c8ccc17d6bd5b8f4a616ac31b0f5ea1181a092fe3e5b960d309497792eb5046c4ded68a460fc3\n\n# tcId = 114\n# indefinite length with garbage\nmsg = 54657374\nresult = invalid\nsig = 97b5788236de2f816fd21cc21cc39b04be38d51c39805d98c59ef4647523a5fba15f08c7a2076fd63b71282ba90d14656c696f312626a17db5d74e0ed8234704238ff0dcb7539a846adb85795d0ecb407457404df35fcc04d41ce92379c08896eef2cd5547158431e71ee1cdeea4e1e42e41abfa6fb13dce3bf2955f8ecda8bc4fc7e413a21988d189794eb5ceecc722203b9154bae7b14c3c6f7e51081d7898eaee4d4cc84665909ebbf31d7c3dfa216e854c305c7ea42e502af50d6045ca3baf89a836c7f11242aef492586d77b4e6d96bbb7f428bd38e583768fa67ce9622a8e0c8d77c6af211eef2e2bc1418141dcb8401f67b8321095d623e00a3d65bde\n\n# tcId = 115\n# indefinite length with nonempty EOC\nmsg = 54657374\nresult = invalid\nsig = 41ea411be09bb58c61d4ef960c124d68e9c2e594c9e2f460b1fc2259b20678418e2d0a7fb556464c3cbb0df01e1eb304c64a9815c992640679559fa3b2652553072575804fdee685121efdf4b49d8174ad1441c9a563ce0d02ee15e0e418ebe86aa1bc75cbb91bf910f8bd7dc1544319d0c1babfdd331fe6de6b6999c31890421a3803a99679f70b9b628c7ddff98f57cf2d4660feecf3deb76c35862e90a3dde6ad0a7e09d38485cbdc6c0a86e68bd913e09478f2bae177d51650f9dc630775f9b91d81c149a1e1db0367fa321488501493a715a8a70b406bfdec8b1a79843a63d6c5db1dcbcc7244f3576556081432930f152f466495612315479a5c2ab3ba\n\n# tcId = 116\n# indefinite length with nonempty EOC\nmsg = 54657374\nresult = invalid\nsig = 4ad9f71529be0829b7a89c58aec8bd34e251f6df8e50aa5c51c57ed1611d72faf1cb114a8ff12dde0ab838583541a2abb38109f82e248ca8522cf7c4b385153badf5140bf84bccebf88f549aab8ce6fc438dad7ddc87eb2797cb8e7cf3d46e7bce4c853edcb7f0ca2e7dbe94444a3fe45d01818197ddcc20803d91793cfc34f34eb07bdae151fb987f164bb27b5cdb7c6867f2340ef14b900af51c335e68185997174534acced5d97db67835c03ec2bea14c3806810155a1ce916ebd80ec112515baf25f600ceababd9e06069176619b4c1bcfe7f9c151fcad91b018dd9c5ca6536ec999a7387519c42bf71f3b088d915f5150d4b388349b310644a5dc834cf7\n\n# tcId = 117\n# prepend empty sequence\nmsg = 54657374\nresult = invalid\nsig = 72ae997b4a0bf2841fc14c64a0c44580607eda384aea73eaab998708b2b79b44815ceb2c907ee4c49c1f083574e3476fe1e3dcd2c581596af38ccff0676c2cb24df91535b22e49e8f0723238555c748675e80e4907261b943b167ece76e9d767b64585a1ff6054f09dd5e22dfc7f743d691704698e778b8c031df4464004f2ba03e642654051165c9bb7fc2a1c5ce3054a8579cfbc710bda13b7b2bb2f23e6eb7221fb51ef2404483e914075cc4a9f8eb91f247a600675a9411a6cdc516e5f8b9b4c9900086a3733ef932255235c4e5b4484f49bf9f5937d3d9e1d0ffad627ec0ff0aabe08a0b0197d430abe67929bc6bb1a96b907c34b2498bad0664b1eeda6\n\n# tcId = 118\n# prepend empty sequence\nmsg = 54657374\nresult = invalid\nsig = 8d6ac89a1e6e7d09e463eff106d8817d50ac80e101df01329d64f6001c7b713ffb4a96159f4cafa5ffa0cea9bc6b1a25dcf6f01572666382e546c0da556da811b5fac121a200825964cc2e90e8147c846ed3a4cb4b25151e1c832e3fab42d140bcab9f17a247d1ef819db5e6decea280f44cb4db5ff24e56515317847b4849acb6e58c16beed80200b65305270859eef3c5bb2677dc318e5841092c21dde882a02b16071a5c951a7edab12e3df75f4c842bbc48f876eed02a7f3b878e13a213c18fb54bea46fe8e9e397817794ad24033188b1268c7ed4255376f7807f9491c6370a3eff6021861840ebeee2bf7dfc8bff45ec9b04db5099a586d44ca71d8876\n\n# tcId = 119\n# append empty sequence\nmsg = 54657374\nresult = invalid\nsig = a613eb54af4df4410229cfd628f646ef26dfb7d610682d1187e9696d35fe5849cd9ec3d48f0b5b239628a08cebfe9c539c6828995beee9788f6aedfba31dae0c7b32221b4220cf5b0d53acf5d8de4d80cfdbd2366203a68b43a72bdfbfae12b96314fef915d1b6fcc645ca935385d23d66418d47d60fd4c7395afccac61c4a02df3b0edd3152c2e398556785e9c982f8bf55e2417e614ef694c17082e556b4a48ff9e7155021747b952011abb053dc09e487450cc7a8a02b7af672b776ea8561504b8b08e2e219919ba8cc7e24e605cd7ef856cf25f3d3391311415ee67dc369b52d676f425c773d72baf572b3f5829fc76925e3386cb770adaada942dc0a4ef\n\n# tcId = 120\n# append empty sequence\nmsg = 54657374\nresult = invalid\nsig = 7104a754fb3341262f603e5695d700b35eee82e4ce5b5f82010f7b8d788cbe44230aa11289d739ab6478b7336772fe869eb5e702a6275a7c385b7488cafff3d7d8f6843229674a53bb6be30c84b3bf58c7591c7374fdfdf1f5fe8c948f7d472007e6c327d9f67f44622af44c55592946243275e5cae5f8ea8590d6efad7820a06181e8180cb2b9f5f0480fbb4e7ca32ae5265e019acc39b46d02e77e0f09426a2b211ca4420a970c805e61fde998d39b14a9ecddfc852efc8d52e669aa80405647330e284f87206e97d4db2e5f798f77a83043dcdbe76a9c876bbe7a14528bff82c35418a6fa6d93beda59bebf2ebc050adf7091df4a20b03ccf9cb335875868\n\n# tcId = 121\n# append garbage with high tag number\nmsg = 54657374\nresult = invalid\nsig = 3a8591323375e715c95eac00397c45ae7728b9a4175f8d065e402c136e6b555c6ec86917f8d5406e620f8a9906fa244e472cdf2118e4667cc43a6b1c34c18347f2e8ff1a1b5c0d8151b3d9d43f973151fa320dd8b9535d4cde39aaa1924bf57cdc7fa5d4244fbf36689f54db18691700dd0be2e5a50e57b1627cd91e59666a60b40abc0cac8e784e361b35a2496b3e5edc88792044e271ad7784e22fdcf7f2e08a6b686eef758ad9c0848a2dfaaa7e7a28a33cdd43405ecc61c013fe6c84192d88798a1499c4a6c370bf8cf297164f4be0c42dea8a0ddb4742773975c6059d7ab59ab13d25c6", + "850d2b55f86568721c777072ceada29685066e4f60e3066fdd6e\n\n# tcId = 122\n# append garbage with high tag number\nmsg = 54657374\nresult = invalid\nsig = 9736632040b7f03af98df385f0288f74a3f9ffe45a390853e3f1d1f413b95be56d5d979189790d954a22759a4c10dc9acc8f4fbcf67031d002bb8877071a579df75d34e5803fb8f084911487ff650d1449eddfb60d66cc1c3a0c8271c32f4b3b3f7e72dde31d52ff876dec63c5051fc89b257084a8830cc7e388deb38cf6de7f04413ceb274068374040d4091e8a72ccfeecef67fca6ea0bd652b273a883ca1d5637bbf25133cc09a3d9c992f5cba12bc132fbd9adb6ad1f89e9ad11178bbc7b08d0dd6d6329319eddc643fec21a5b17595296d69ca6ef8702b62d60b92bfddb7eb01bb23b204ec0fb27ae39794893681796fb16f47249493dcf199c8a2d74f4\n\n# tcId = 123\n# sequence of sequence\nmsg = 54657374\nresult = invalid\nsig = 7c26f8b91b43be4d09cf5ee7490a27ce7bedad4575fff6980a07bcef5cf783eeb57aa1863ade6ede8dc95d07c1a3d0841652b357be04556a549fd8234ede8f5e5083a3d4af273e3023f610029a0b3cf85a8a2f276e4f57251e2a6338d2ca0305a685dcb240f36c966dd0da783176313ef7c93ae6d13008099f846438ad2c9dcc0ec9f8c343cb3377d5d14ad23bb25b11c19a5bc460592591697e92ea088160f87c0418b0903bca2c7567dc76da84da000233c391f93b05e9e8f01b78639bf95bb21f74b7fe1c00b64ebace8458d292bef3acdbff89276702c547171d8aebd56dc24f98d832feaea03cd16e977b99382040f2ecc1ac45885c4f07dfbf9fe61d35\n\n# tcId = 124\n# sequence of sequence\nmsg = 54657374\nresult = invalid\nsig = 4a4b7998d9282ad4b458b6b041da104e98f8252b711bd07b7900d4acd3cbc7b1c90cf78eba718c87b9b6ad94fb35566560d6d6be59e801862505e908ef42c934d085ea82fe47de6ae3efbbe1dfcbaf99005ef250ed6fb74c09095a031a30fd33e52a7e7d0b73736f3f7516ee96a08f61e3df85e174650bae50b4dc632698f6e7f1efd2bbf10464153ed4dba71757d2fc1966d3c80e0c555d252d9e9dcdf59534175feb7db6d9d17f30c82678d6ea680876c2ed71447f127dc3c75852dc0fdf0e1c17fd1bc38bcd25501f07a5c0dfcfe295f0be27cfe18a5c596960407623097cdad148e5043433bd4567951ded89d0bdd8528497b8525212b8affbcc976a50f6\n\n# tcId = 125\n# truncated sequence: removed last 1 elements\nmsg = 54657374\nresult = invalid\nsig = 6fb0241a3961a03138b8473f8bd3ec202979a98f07d325909a2e85a52167fc379ab164c4a03986edba638abf1f8817c1cb89f297387f2d5938e707aaa53eee6bbd6a9a7fe8b70a31373e675f443c902dc1d0dfcdfe4b3ea83cd575bffb04071220f1094b9a3e7cd04fabd70c0b8761231abebd3f4eda11f74f83d77a1a44e28432d05da33998419e5cafba0e81960963209379a51fa9c5c27649ec89f8a528ef0a885f055edf3f66ab1d4baf07a405b87678ed6d170ab890ded0e8ee90ca1ec0e9f6e5ac247e01009d6eb7101da6eded84339ca191bd6194e3b6bd8b094da788c1ae068d8ce7322fc7e22189e6cea7655b1ae690da05a0aae46466800ddd6f26\n\n# tcId = 126\n# repeating element in sequence\nmsg = 54657374\nresult = invalid\nsig = 9300a86600b600330a19b750ceedca9da6c96a99bbf65ab7dda6a5924d22a5fc9a2162e3375172fb38f62aa52a9fec71af1007ebdc5ce29b02163d9c55ead2141959eaea28f13c482be046d676770e02b71268d54d52839ddd929117e4857c9a6a17f92915d0acfef9bca2c40819ef58130eec1bd60359bb8f47ce67f0663086caf2281136b6076b20310203a9ac1b293c511a53e10ff880ffcb7184be60fad58586bc9a11fb51d7dcff71b401e42c1c7e92cacae3c50b62dfbea390c285c5feea91c288fb845401417fb01a09b3b6f0a1621df5c172632d40fb2936a7c2b62e989b848a06c098e69a333759d9ba2d270853f65daee1f7a81bdaf64af2347517\n\n# tcId = 127\n# long form encoding of length of oid\nmsg = 54657374\nresult = invalid\nsig = 875b9204a6603968f50d6e4dc13d3192077a286c3475165b0bd160ff3df39fec5859a512886fc1e06916c2025e01ae2f7ab3b341b6372f819a625a42c22cdafce031d9635f95dd962a8f202b52f9925f07bc0c94434a2091d861729551e37d7c6019e16a47ce87f3f4051b8e9adf62444b522f522918c391d82940418cb3976f0c30634bc5dff2c4c3f36a4489d00c5ae65021b3bcf5abbef9257e3c976e5fd305fb30ccfe13c43fed64c371f8532dddc70a1f411cae257f37b6743da2d9567f9dc3513b267ee26e2da1a6ef005526fd90b6ecdfaed9a8d9e2bbdfae25b0adb81004501ff32fe1e7b7acfa18de5a1ab876705784181b1336288aefdc91186c3e\n\n# tcId = 128\n# length of oid contains leading 0\nmsg = 54657374\nresult = invalid\nsig = 305b0cb38db7ba5dd11c1d82195313b522f57ceb7b4045249dcf5977b99315f6708e9d8eaef6a89da0c11fa6f8dff3aa9050369cd520dd6e957226144fb68c846255b923a49ce896fed8828f8956d0d7aa5193123940ad0a5225e921ca0dc0852aae48507c7e22ca007f403bf0fcb6553d0af0bcce6be17eb53b0e8401349c8d144eb1ddbbf8215fc0e06d6adef096acf52d71978b1bffe95ffd21899256dc944fa9cfd4d7a25e62843f965d55515f6c45b22a825288773e25410582f62b9f1fdc1e0c6d4c941b90de7d8c3b18cd3eaf5319862d7ee160a5edba133cbc67024771817c7eda526c92d146e3b38b801025d01871c3efc2591a32ffaeb7b20e7dbc\n\n# tcId = 129\n# wrong length of oid\nmsg = 54657374\nresult = invalid\nsig = 99647015158993892da3dcecb4fd837d0111d7ac81efac2e1bae2242e6605182ff1ed43e41b81b85448367815c6549e363a635b946ada99ca0118cc35f37872aca53b024aab1d809909d27bd664f32be9501c3d4b7e3539c2ef10bfc340a89c23cd2c25e51425e2e7f989076bb716057078c968632e0d47ec81192f37dd5dc4d8a0ffb5e9b828b08b47b350801bb4d358e91165444e8ce8bf5d59d4dae17202919f67c7ec8b78105e255d1714ead968b9c075c11e69b5478c3595756858a98e39f321957b6ddd63b37c69d34891beadfded732f0ba587fba6ca62b0e932acddb5c5a75ac316974dc3b5a27cefd81d799a8a6244a9a78fcbc403e6fb41e4f157c\n\n# tcId = 130\n# wrong length of oid\nmsg = 54657374\nresult = invalid\nsig = 629e5afc04cc1f4c602f030755deeedb0a5f5c271b3d52556e81c44911296bcdad7f5d223cb6d72cf9740554bdde2936a7e3cbfad72a7704d27343240f68e2f598892911e50340c2c29a41c0d10ebb996c7e92a94fcd23a03507488be345ffd63db338b19e95d47a1095cb6894079865d299ac8101a443e6b5a9557acb9113552932108565d1d3409aa30b6c013c54bc571a08fe9f39c6a3ddaad948656bf77e7407cee8d74a037ca6860a466ad06082c39f9266f7ea16b62b5fc149a7d23093b5f7c48f81673574c8a68b75503c15ae7565775160e16d0e4035489179735c0c9736e52654d4c84c1a785f8b5a9ec2f42aecf88cd925dd274ceeec7e1d31ce4f\n\n# tcId = 131\n# uint32 overflow in length of oid\nmsg = 54657374\nresult = invalid\nsig = 829207379fc900183437b9794d8f7fe9ce67bf4dfb66b04c5e841575ff2ca607766acd6def23b5e22d25be703c0126be641d72f245bcdd60ca0fa8ace694fb8866ded8d5b572852ab899b5ed8808789167ffc699c242c7a6124f6aa6754b2b8c7e654f14aca2446a40f64030b0d836562ea9fd44adb75d235f1b7ea86048b4094aef96f0cd76c31ce25788aa9fae68c1062ae48c9a6b9130652b50be2f98ba64c89a987c0e566ba74bd3616f79567bbdd867f0081e97d0fbc948b6819f46561281061a413b4f3f43d5eb4174052055745d950caa95c320c4c7fc5e02f604071bcc361c20d72dd5509aa496a9bf1d497b61a064893880e052957353b2fab31476\n\n# tcId = 132\n# uint64 overflow in length of oid\nmsg = 54657374\nresult = invalid\nsig = 615fd599966ab4eb5d30e60eb0fd82ceff2eb244b4888442ed7f6a1f32005ec8818cfbe3e6f4ed7bf9d51775635307e281ece422219059736e938931dcb7fa1c0aed81808d39ec396acf70766e918f017fd41209972ccc55c1e31c84eb217a2d82dfd84499c4499cf0362ea60c40439c3d47e8a05128fcb5f445f08f5d92a29df6824d7c8bc735941ce54f464e44f2bcc6eb3619248bb52d04da149a5f9cbd9cf617257dc95a152681656f537a2e2053170cb2114dff07737872703914144acfa7f26b148c59258ef72e2061dea6c035853a6be96063dc05109ec7f2176a4d601c41caa637eebe907b248922c6fda83bb7e9481ea500576144355dbc98779944\n\n# tcId = 133\n# length of oid = 2**31 - 1\nmsg = 54657374\nresult = invalid\nsig = 249c65c65a3334eb4be16dcc3db0732547ded2ce4ae6c10b1e1a0f474298b2ce230c59e7e746ffa173d5dad3b16dd4325e5469daf6ffec2af4ea23db279601b014b54fbcfb3578b078a8ec53121038ad666ac9408d65e8ff4570aa3b5747041f4c3a45a0e9856f2ed04b3c2060925a5c77314f7bfb5c85a71155df5b23f694a9caaac2fb11dc6612bac680d7494ee19bd4945ee82c5d1f5acdf6b5ab46e937a90bc4d6d3f301373026edeee725da4ba5202e1896b716bd8c69ddb95fb364d697fc596709b0ec48bc66041df7127aed311110545c4aafd228ff55986781780455241830397f8fb6764e33d0262aa65814521ec71890700a093f50db4659cc5e2c\n\n# tcId = 134\n# length of oid = 2**32 - 1\nmsg = 54657374\nresult = invalid\nsig = 2c59c0f5bf7fa3b6bda22a75dfc3ba14c26ff3e7ad24c1527ee7ab7c032dbfda6ea5171d88df2de56c1ad6d955dc41bcb8395e83518e40b840c062cfe982c0e42065d7e2a9bcbf91dee53949bb6f67c99d1e1fc44cda982a3df171f9c35424efb2f6c0cc169a44b6e5015df5150796a9c669515aaae57076bb1fbc9480a8ca6954990612eb0314da7efea7d14223081618f2225ce3ce43770d457e84b54a80cb3a35f14c511a2fa2a4d295afa6ed3996d47b5a0c6b1d7c11ab14bbff13af67b7475ac543307626598d69557255bb3a92c07e36c3e9d1530b21284b3d5c2066057035bc753894c01e0f33764b51ca3319ef32d4288d11c7a1767ed7ed89433216\n\n# tcId = 135\n# length of oid = 2**40 - 1\nmsg = 54657374\nresult = invalid\nsig = 31e48e30de0cf259d0273991b633da6228289d540d84c527d5f12a13d2d6fd489b1ee282ff5261eeffb8e1c716572b207eb59c1dcf04bf9d4a9ca92feccf318254aba5fbe1df1dc6e3101f2ccd0cf329d23cfd9fa19c2acfc98c319be1c4d9831e86343513769e4dded967f512d5371ee845e47544c303d52ebeaae15e139eb2606989268b1ab641c44efd8b1ee3a5fea73907cafd4322c00d666", + "d3d0e11ebebae763b0bc4948acb034eeec91ba2b90cb40218f8c8f4653338eef0a4d31e3dbd29a3d90b9a11c8fd8e613ccbec221799fc2d98625215ad28ed9b7c38eff27c44fc5cfd408a6ef1c7af90465cd4b5aa424c48604e2d72bc10d9ddfafc30129a42\n\n# tcId = 136\n# length of oid = 2**64 - 1\nmsg = 54657374\nresult = invalid\nsig = 300282f3e571048e6a298d3b1d979961d17e5f460510227aecd83d7e8b3e21c76a1a304bf464dcbaaaa3e134bc5b25ecb745b78829fe5d7590c1c799bd613ccb8e1e55ed89abc0fc663599e77ea87515c2446091cffa063d6b2df5e3c623da69bcdfd9da5176356f76b05c98413d762cbe0f47ab6d470eaa8dac88dd55890a8c386d5ba195bba8751af133a24d204b7e7077e7a9268cb9dd7021d9348f12dcb46f145a19f0b408e2563d5487281db1c2807908ddd125db751b735adaed2f8e8cb55ea470a45383e2991b80ae0126f93555908a9154c1633c820e8942d4c37c807ac6a94507a3b9e1f95ae5a712cb7740180eb4e56c15d4e1829fbee2bb1e642a\n\n# tcId = 137\n# incorrect length of oid\nmsg = 54657374\nresult = invalid\nsig = 7705d76a011d696708921967a9e86166528d77c656946a5ab0e157a78073f4b2f2785a1feef6efd8d337a22a8ef59c6e710e984844498f0ae0c1f61b5d7057d09e3fed79922d492302e28c0c0401100049ccb68fab95feceff0acc24a913840290b27477b295f942ba232e6ec76d112632c9f02f9d40505323d81f4ff1bea14f42d6743a3c2867df273f80274fefbb20346c3f1cf0c2f87b55e8de277a8b2f4ab8006346dc8ceaaaf0d4af382337952e3c55cadab336da343723bda0ec0272ad6251995d58764679135c1a20098e9c3df54f161bb16bce5a600a075b36022f224ad5b4c7dda09bd94bc7eda7a853d96b5100e5af8fa2dc1a6964e4e1fdceb826\n\n# tcId = 138\n# removing oid\nmsg = 54657374\nresult = invalid\nsig = 1d35c1575269b1ca4e071f2fa19ae31388f4cfbc7875449b2027984d2b363bb2c77c80819725e03ce9f3db97cf939b07895c55b93cfbb204a3b036dcb69470e9e99a5584195ac3dd24214758a82f354338e50c69f3a5de6cc0920b845550fcf104b397ab4b4add6659efd34f64b9b673e73662ef5fced6e7737147e41b48e36410eece6db65f5803b16d33c25cde6bcaeda8930e7635656d9174d179c74f5df33b08d5b90e866624180f0a03fc6a94a8c40731658a5d90a071c6f77e460c6ae1e6d6350869db442219bf3730cdf3e74ee102d6579fab4892e8e410f06bd4cc19d776c47ffe667071fa437c80452950df7e12d909e0d2f7494a8500e1bba86435\n\n# tcId = 139\n# lonely oid tag\nmsg = 54657374\nresult = invalid\nsig = 5cf9db664d1baa241293db08ee7c8d4cb7cfd374d9c4e0a4fe3c81fee279be9f0452e6545a01ad3adace3d0843ccc26826d446c9bbcde6dfce30fcdcdfcae415b6771cce7f1d7505c07969a8abafb200828aff641d0c07cdc4a9621c6d0ac607f950ee0652c138b4b48f724a632c8345b2919abc24fce3d815f82b99026f258a6d2cae1fb767a3d20591aab866640b4fe821e010e19db0d696a513db246ba42603b302c64f17c0296414dbc14a41726254d333f1dfcf29f55fe22a576eb6bdc65c7d0204d22001e858abb48069f65f7c1d8e8e84365429c01c048d4319765de14c48e68a4f7c898598597677b294d71fa2b5278a0a9eb52bb627c118a5bf2163\n\n# tcId = 140\n# appending 0's to oid\nmsg = 54657374\nresult = invalid\nsig = a15fd53bf93274aba318e4f37dfabd414a47c27631f0c779bc8cc1223621730380817ccf1147a18b778481c64c48edad0815988e6942199d0b0599a1e33636f7e83e6addd65d87e53d734357b5d2111231cafd3a4e40845073ae50d4506f37d671b184246ce15a77f36f554607f016e7f7806e5099cb2a69ab4127c893f28cd8fb8989863e787151cdbdfc9e0be0b3235b1057a39e656ea482aae6d7c3aa08bd06fd38bc0f9b21240233624ba5c767b5f3f48c7fe365ea1552c5a9e64934869974ed2555ae81f9d5cd20f48579f238de1e150fdac4b321a05938638b81f0b7292a61e12528b077949f7ab3e6f8e1f78be81da0602fb30b47f569f7290cef3366\n\n# tcId = 141\n# prepending 0's to oid\nmsg = 54657374\nresult = invalid\nsig = 8db939e248a2140b770acfdbe16ea6153d968ef51c56b024dd1ec56cd600ad79172a14f6253d0a9bdffe9ad10b6ebf57eab8528474fa96a06c9284e5fe08c48dad5520730cd182dcf1bac660ce3411c7cb68686b3b91c5a55b8627130f0e31cf340298117b3a0b358a42e9deaba700f8d2dbc934236cf81c0c4d15017602e82545e1eaf9d31e4e8ee51d35054f3b05b7a7cd121854a0661ca19706ae95cdb0582cde723e389d58579d02c679f8d287a2d0ea51f442df0641682458ac6590b3df77230273eb779ae4b827c09075c7163b993eae72ec0596c2adafc8e20201e21eda1f4a13c27dd9ca7b3bdae47707b362912979357aa587ea2d86c9c2c2587ac7\n\n# tcId = 142\n# appending unused 0's to oid\nmsg = 54657374\nresult = invalid\nsig = 0c985f857ac4219bbf98f767f42c7e0ba886889a0a7612a3e7d7c8bad581250aa7ec8a71567490d0c509a6b927b8ad714107e7248ecd5f1ead25828707072c87913e7cb765fce62d175c4335d09d764bc5322648e53a73eea7f55371a9a73a5283500e0d1bea254d217fcccf917d5e0f28b987e9a16d11361dde37d699edc524714122333d897279eefd79274c095c2d6c9683673318e7f3536296c6be23837d69e7222683004d7e52b017e61a27c5ff3c8bd4ccd8622a52de0d24baaff3c43116e4f043ab30cf8549dcccab4905f458ab7761792e7655c6a66eba7668e4b731c62ecfabefbc31a1cc8b3e8f1a69cdf9c8f7825ef266d9c7e34710f6af936670\n\n# tcId = 143\n# appending null value to oid\nmsg = 54657374\nresult = invalid\nsig = 9957846928b38e0fb520a2786df5307373a096bdee5c5605500791321564ab48283a682cac388bebab9212a6429f9e03519f4f830719df9b313d62f2c46b78eb936b3ad13f3e6ce3429181678359ef6392e68bab0aaaf925721c6f991d989fe1a6edac5be9faad908b0ffb9b0b0b5e32cb6080bc9007a5da47fee8e343803bcccd4352f284df0e418bf6c8317b6ffcd7b4d9e82a911d654f0344b28f39f55ba9f1955d7976ca153059d5de7bad54e21d49bcddf8051a53e4ae496759504eda1ea3ca3bca7f6d47821440850bf44b2ac43d4afc1620b150b77f288af03b41c4d32977f726a91c80cb5c37177bddcd5fc5e206c4284537d8eb740f3285ef1a62de\n\n# tcId = 144\n# truncated length of oid\nmsg = 54657374\nresult = invalid\nsig = 2d99760b2853ce20a37f51045006ed11d83b250d54da4122e200179a564a296292479116406d69b858cf15b8575bfe9df9832e484ca8fe4f0a24bf62aa350194ed642c68bb074e70790d7e18209b23dbdef6756f037a3391e6bf841f7b6dc763547565fee7e9416e62504df61cbc00cc2ba5907261e4e39bf9337e7a15594732f08ce136f37752a585e286c001424351f30a9bd585e3c2e2d99a6c91f3ff3081194b24f6bed3864b36b14d1ff3a05b584e06a994df9dceda839ac788d08d608009681db0aa23931d8f4a3aa1b1f93b6851a7899723e858eedeae4d25394bb7954bdffb975a3a1e4d46339a0e25f8e85958b006cc5f0d5b60c9fad1a829e81342\n\n# tcId = 145\n# Replacing oid with NULL\nmsg = 54657374\nresult = invalid\nsig = 3e0270e701eebc757862ec646322ab99511bd27d1351bbc3ab0584e218dbed9952a9074ebb7c5fb8f846a0f5d90dc1040e2c45914c86ae0b722f1fb95f7621b986136d7656a2a4300df494c0235166e51e3c9e9fb98bfb4604d4838adecd5c55300332ae0e141eebb328524f1fd95adfcb9ff7fabd203e89775f94a2e84ecc5efc0d9626920ca8a13154dd0e97f2527d6d518e6d460299cca0db870b0834d5b99e464760c390768e97c091708887244833117afa89baea5c1641b88d45bb9d711bdbd559af73bbc8eb91ef377a0140cd639fb7e8024dd3c48ddad6e37e31ed0a3fbc47a6c28b5fa3df0f38a912a4fa2895c2e25f0cab70bc5e660f725fe22da2\n\n# tcId = 146\n# changing tag value of oid\nmsg = 54657374\nresult = invalid\nsig = a781bb3225276cce1858b9f9316f6dc40abdabda8119931faddc5a871b5ae9c7c68fb1151d9cf477a66e4a13a6c3f114087bbbf219beb524e308a91fa88411d450053605f9f00bf28a146c10b825ac3205174ec57675035c8cc2c9f411fa1df596d1e33a7da0afce271c6b456c665c430cb619c971d60754afcbab103ca02aae079b3803492109ce37c800051ead6d47a4e0c30b8cc147c66d5eac20399249af4082e70c7d5556d2b0d46508e2e1fb805b6ded365c2f0d20f33315a8d49f62896ade6e0ac9187e186a73e5146cf8da9821c2e5fc5ad4ff0b28347322c09da2dbb196120762093ce33fdb53d8a9579c13fef218a62a834d5fabf53e1ca8a751b6\n\n# tcId = 147\n# changing tag value of oid\nmsg = 54657374\nresult = invalid\nsig = 5032da548bf0168a4b3b3f99c144e3e13ce14b7d539e397f37847ffa8db34a0dfc0d73d30e6e3f2a23f0ac92bc5643af1adaddf9dea73c688ea98364c1e610835b62f1ea602589fd44a8a2cc73b00cebc75c212228b508634137c1eed7a942c18bc6ed4bd0ffd39961f54bd4455155c08a304c2e05d78950e42e92275b2f02df29ec2b2523bf97511a0ea3126c1012ce9683e175a45f7ee24a721707b7b7534ba8441633faf9953cf120dd6a13c8d88cce5e0b374ad2a3366f1e96f823128bfe6b830345e94d611e1d923620a57db4ae51e5d17b5d8a0eb4acea8377cac9b35553b7464e40190f40cfabef9bfd393d0f87e6e5bb08775d9d4768e8f2f0cc4a24\n\n# tcId = 148\n# changing tag value of oid\nmsg = 54657374\nresult = invalid\nsig = 489a6107f0052ef49f97222aa666c8025f2a30eb4bda5f47c888d256dc742094b2b03aea0b087d3f27e6df02fda958780626512441910fb83a7e4412a3aaac388933798922f6a4dbd48b851680d1f3f84e39fd30716921f99b87945001d26955ad33ff1047b5771869a6f1519906e461a7a50d8fd08d67a9f9fc272699e7cbc30a12aa8601fbab4884878a371b3c1b00054e9e585df1e2a084ff3f6a3be5f3e32cc6295939c1cdcd9b3aba7e58ec73dedf0caf5d3f5618c6909435823140b29635ccc13f658f1339fb2a3b21e1919be181c15edaf1cb6feb142464e6eb4dd18b9633f55fcf370b6c0643d6710b875df63a6220ce340a97987e577aad0fab4eeb\n\n# tcId = 149\n# changing tag value of oid\nmsg = 54657374\nresult = invalid\nsig = 41858f3edb8f7fde81575c399fd90c01162e6017d0c03b5c68167fcb668790d054b40d4d2438daa0411034ddbea901ab1924248185dfee64d5944486530fb407cf967d171110ba8acf00d1dfcc6c7a330f5f828fea17a9168e083f8e118857d29baa32351dd284a2efa0672ccc3d0e917818663cdd", + "a0e5dac638ae150c308b8737a50cc9f17a595800ae925930319cfbff91c02535d3d35d3256591094a38b3dd10af4f51c2eaee0f8bce27aff7819e22a2191019e419f4e45fba1272d104e0c278654ff6a21b9506ea4317832e7767f46d97c64e0041c767ac1ef88f3ded74fca09bcba82b519fa7716a9f7c4a2b78931f6805b4f914f6e6bd0a3adbde2a88f\n\n# tcId = 150\n# changing tag value of oid\nmsg = 54657374\nresult = invalid\nsig = b1771079fca7ad8ba3698a9cdf7bb5309d55ec40500fc83424f1469c9fb77ed08082b5ad1e66890b51465763d1deeadecfaf9c8efaabadae7f7fec17589271ac920cfd1cb32135fca21ead942ba15f09a38414a796f67a5cb29f877caa6ff8e1c71755fedc58485dd9d4d62455c7a8b2ca2d1906e8045e60f681c39a0a162dfd63a9fdab5954352515a926324dfe252aa1a1e576b4dab1588b08344aa40f406f6352317055a8feb9292b9611c90d417b0bd42fa7e4a4b82c63885423283ae4b2467fba84c34c391339a5a3154d70d9543401cd260e9db236b1f96e705fd9704fe557a53397ff99d74d9d97847247e15ed410aecc0f74bd7bdebded30e34d3412\n\n# tcId = 151\n# dropping value of oid\nmsg = 54657374\nresult = invalid\nsig = 9464a738ad70b16f8621a806e95d4d2cb1866383dd6c0d61ee85bda1ac8b56c3833373257daff4d360b1c366c10938929a8ca0819ff929311346501c67aac447500b2fe5b812d7cbf93db5e5631cbff3c498461fb446eb0f25c881043b2339b13c373012d7546b9b194d45b9aff2283d7074f6119420bb6442af9116236b91ef37f5abca8aa9eab2b0ebd44d3bd302ab51a67e1d9433dedeb1bca87edce75d02ef149dc5784e1772c9ce846c17e4f7ccebbc908c46cd062e0e4bca76a033125a407919f7862a6ecef7f6bdc279fe65ab938be35858c98956c95c396b15d2a17c1c2ac996b5bf0fc345321fff7dfc44fa4b0b858db0f556de1d477a85a19f1856\n\n# tcId = 152\n# using composition for oid\nmsg = 54657374\nresult = invalid\nsig = 06d0a8d9247e6e39a8e09e7f8db128c23225d88e831068cb3187a6cf657d709710c129f688c3b1560448986e1f9e83a56e9053e7e7ec86f61c597d3713ba8326f7ac0098fb51a49ee64e306c249a09533f464a59f2e5ebb3fc85da8be6a60ad076e8091774cdce2742d5f9112d8089fa8e3071283e2bb7b6869f3c44d6dd9803ce6e467bcc8122d1e96832d05033f7ccdbd6bbd0666bbcf41ee1aa077454d0e136b725e7fe0057b2e5bca0d9a645cb50a67ea0b98e7c0c60a91c5b5098638a3027bba417ddf5ef968ab5d1695fe3c2b1fcc664624a783cb5ed2c6261e0627a26f351d8d2eb055098a2b8540791c2e763ef27086b1f7cee54837514790defed29\n\n# tcId = 153\n# modify first byte of oid\nmsg = 54657374\nresult = invalid\nsig = b06563b316ee2d9a41adc5a99748b373538f15a44c3c9227e46ec05f99bcb14f4316110b1d1a82709dfa57e6a81dff1f3f692d27a96ca51f44e7b9fac9d2d87eebadab0a2d4b8d90427af8797ec5819dd451787ea741023f2e208ebe8542dd95f4b24cd86937bba642ce66851a782588fb2bb9e2d8fc9cbcd20b79f758537799740fde8e1a8ac4888abc363feb341758160f0d21498eb754e5189fc556448621a4dc095a47ba5b2759315beb9430ccab5deaee086cc87ade1cb243a8f4d9c63bc80f200dfdbfba9624e6084046e05dbbbb836ef5e4b0a06a8a26578faf21eb155cf0adca6b72817dac6c3c992a80c708137422b015196169bed668cbe78a9792\n\n# tcId = 154\n# modify last byte of oid\nmsg = 54657374\nresult = invalid\nsig = 8848be6a99395116fcb45143dabbf7f8a95b800c269af5a986430190d9834502a37839afb083b66a96713159ec17e66cdee5e4110d0f9c9c17697f38af177b93b17c0fead88ff2dc53a0b5c502f96c4f3d402c623dd81408b06426bf6ff7d602ccc8eb21db91c6c0d614d108703ed32026de99e1a5c411edd7c6a66976faa57cf022a34111d791f0e469080c7eeb84999e0e9040def04df707fcc937095993f1a8bfa889c45127feb9de274bbf08a805d32f4830b4c5078b65a9340bcb9b74b9368c02af63d2b3481da5f57eda94ac2e5255d3b72bd1a19e45edcab46a119736d7e2508111a0838d1e6fd5bba4eb67ef697976f3cce044d29c6d8d76c2d92e1d\n\n# tcId = 155\n# truncated oid\nmsg = 54657374\nresult = invalid\nsig = 0baac664f223ae40e336ad610b804b5997397b46a4a2905de1287481aa43a5bf059271b6a3ec648faec7345823aacf1bcbf09189b9dd349bfdaa979df8fa78fb199fb7c69fe824f83f83d566ff49e2ea28c704de66f187e3a42e90663423bdd0c8b67dad4e92cbba14a1ccc1810a43d116347ee7ec21ff9a8324a4c110e661092426769a443627ddaf25ea4d144427993a2e82e0b15f20936dfc2405da8ab5a6232b9552f175331e220337f22008033910dde7bdfe87b2f7f3b4847e665da5e03dbdb866b05d92c5ba490bf5a75903aaff4f657bf734d284081f52d81e6bfb040dfd6811bae2b73831ca3709b6044134200c700f2946f234f946a69886be2bb3\n\n# tcId = 156\n# truncated oid\nmsg = 54657374\nresult = invalid\nsig = 2394109f99286c6d9cf82b46d1015a086f826e3725998819ef5e1d99e504df76a7dca903360567cc58d6bc327e90d7555d646f42f7c452777071b3e6be8ef1a97c0b33fa50709806d83fb3b8acf656067050708ee080af5a85aa2ca3f871324759d06d9a019b8314c66c15cb0c314d807026515d46e2163a19e89a7808af30a71acea51f92dc5e39d237eabdcfd46abe7cb8af5a47bd352cd5b1d0dda6fbc6fa5dd19b3051ad13ebe75462080bb3b7f23b013085e6f6010819494b5b303c279c2cafd1595831daa558624ef42a46a4621b6374cdb2113ec5d8e8a3661e19814b60b5394d9305c7d02073a7d930ba9bd912cf72efac5feabb8e69f34b74ef7775\n\n# tcId = 157\n# wrong oid\nmsg = 54657374\nresult = invalid\nsig = 4469b8e895fb4340328360414352059a4b701d2c21cc2125d91f5025b7b22ae7ba840123ef45ba9c8c27a8a34a74f010a4fdd6be9474ac270501bd96a602afb05df7becdcaefb29df9be5d090af6869a4311fe94b70bcc0c5633d69169ca038b2fcb2a4abe60c0b542b308527781d184d06966632d7404da5e3494d76bc72e9f87d006950e7a4388334f99e212d5f253c11fa8361179be7bc927d9437ed11b7685529e832162e41a72ba3106b9af7acf5fef70178fd83ce3598683ad61c27cd1d69b437dfdf93ac43a1876d594e0eb8523a0ef8f75ccf1ab079d4538bbb726d04f45ec864b04f57c18cd6984f1a3a08a7c3944c6946c3c3e090f9d833c5d3d81\n\n# tcId = 158\n# longer oid\nmsg = 54657374\nresult = invalid\nsig = 50a22bcb4b87ca221a77a31b676101cdf3ac4fdb41a6c17fcfaf62352e036bc7cc7e19e07f929da6529ba390d4c71d0eb8ae6cb64651156120c4886b34a146a47311897a2544e6ad96feefcd21edd7deaf2ed45ffd433b2704bac651140cec87c9fdce69e1b21ad75288af67e3e82ebfc38f750f68d76f79b4103c897a26d64e2153ad19a3b26d1d726203985de4b685b7987ca9748fdc1394fb57af67f261166cdf9ae2df7a85a7e486f67424db68292de83bfe9823c84e22ed29ff05b56955dd15adf223927f71a9443163facd531c1e9cdfe0e5ca1f13e6ba50f7070f4725e58ec76b53f0fe18d89c6042885b0ac441977158c4fd9d956cf3ed1a39661c45\n\n# tcId = 159\n# oid with modified node\nmsg = 54657374\nresult = invalid\nsig = 6e3aaa1f1d8c661f02cb5ddf2c213dd3dd1781752a11528dca806f23d8652da37aaca30adae3b8baa57abc9f9080c8be53c851c47e0597e04a63b8ea246d83cebfc668ac8b817acf442e2183855d7732fc5a57534c64e4e5eabdf7f3ab347b33930ec815968932a22753b5283bc055bf1e8e4660235879bf907a80ea6e610ddf907f24d4977722a77fb56023046beabfc196863ba3d194a0ad65a84d716acf1ca301365f47f68c81fa70b58d2a581ac2ca7f2093b4d5d5bf328c2c3903261692fab8c537a50644b28363d1d9b295a89d3d5a175c81ea1d94faa9e0b32da62bd6a9727c2399fb5fb4a8be239163e8aa129467870ad54c305780b76f60fe43aa56\n\n# tcId = 160\n# oid with modified node\nmsg = 54657374\nresult = invalid\nsig = 26fa8cf7af569c2822cabe48f61d0a725c677520f049f3bb6545983b0393380c6d797f47bbe586371757b12ad2edf066455b6d669fafbffeca4f8976e01c3635241bb31a091f608df69e7a4fda3919bd38e2b4d2497d7e3ff55563a2c18d39019cb85a5a3ff1113c083cbcfa1fc59c6585ce7e8d40f5b2b79831285f7ac420ac2a9155aa15403f33c10b5a4f9449b1b7e8fbc7fe7d4fb647c19c312273026543b88f6bf6e8712ee5d757f9446f012551f6b9c5d9d20900fb84ff2d19c45e36a2823855e5ba4eec814f8405179606a2c152107eb9f0a655252f28d500fb1a2c60c2ee9bca94a7b121f96caa59e7feb3b4cdf6ff89d8d616f50fb2971ebec970b5\n\n# tcId = 161\n# large integer in oid\nmsg = 54657374\nresult = invalid\nsig = 64ed62db69a8e5d33630cd6006d25bde415234199f7d069dde904949c952fa0a83b49892703b6fa68143e0a7d115cbca5d3aacc0272c1bb54ba657b4d5d7c48cb5f204439cd677f2f3721acd1cb721738a47c5c88536dde522a42f7a4153b36f98583cd3ddd5189f317fc670b19fba8fb785e8522b898fa3c95de60990c5ed3c773ad51f73d9b2ea9e57f99f3009fd6e428ac5e790f06b9a2c14f63b3e7e251a8e4866e9225c1407b66d52753fe7f1a2517d7a4725727ea02241605321d2d6021b3bcc16ecc7abf7b6e74a3ddcd92f943b343eddd77a3b7530f451ffd7e2a112876c20bc250da515157ce5b037b68b7f610983d77c1e042ac9cce0712954a885\n\n# tcId = 162\n# oid with invalid node\nmsg = 54657374\nresult = invalid\nsig = ad31e316059ef9533f8f6a5aee91fc316fd7de2ac1b3670fd5d97af17948aaa934a4f0678ae85f82a74c9ef459675ce352183b4daa3a49462af116509f120fbe02e14c2de7d0f790fd211228e491b8f06f0d0d1978036bd75c573037c43935991cd75c8518825d64bc309014a36a5497abda965ea1b1fb67bfe672f0e0de983bb1e83054d089f3fe5a1f531c497ad89eaa03bcbc7566d2c64d4929e24a3b4227acb540c9065454b842957b8db45e52f4f29292ed7185ad32a1a8ba420ee21987262b83e06d62ff2d3a21c20cfbe629c68ba2f6691181b4200d2f960dada8fd309a7363f1958873d16a87767049bed08e465450ecb234547b9a4e570b7eda81ff\n\n# tcId = 163\n# oid with invalid node\nmsg = 54657374\nresult = invalid\nsig = a38dcc4e8070333703ce26a8b1eaa28d242bd5ff4854fad67959caae66db5e6654aaabf81eaf31441b8c5e7419a3ea5b04efdea91fd1910b5e5c6f02ff77b7cf42b2efc55b03407363069b8dd031c56d6d0ac54838760d7ecf9f3dc03828b27a73b827f394700", + "558f160c196503855c255332efea838098e637cd1c7eea9e687fc552b5422a62f6c6b49fb16ad56509dca5a9148ed9883f1d76453f8d607d9fdb7589f4b07eecdecca950e58ccfb9e7784db9592b6406691a413caef5e994ca06f21fe61f0986644be041878429d721e403ba6ad8dd8629eb78cf4fcac5cc42ec03d51ab64c051cba22b5cd4b160aaef28646b5776a19605cbed694e0d6310c5\n\n# tcId = 164\n# long form encoding of length of null\nmsg = 54657374\nresult = invalid\nsig = 3cba108ad11cc9c6cfb4b849b1533c37557dd1ef2e201a78da42e164458ac54a29f0b11b1931e72f57266264584c13e910267e52bbcf15883e109a45ce14a86ac8e700cb04ea0ccccb55b01ce699275190b98c77981d2734d35d8ad41f94edc6481cc831a44d38a617a32855df03fcc44914e55b88271015c971bbf051d878b3ae7a8f53582ac8e2ab5d10e5023e67599725e9122b8ec42a96b40410edac51b26bec597b727404a6b1b24807e3df2fca8847de8b7517061edb009a40c8b3aa82cb22de080d3f7921c504965d5a23887ddb54100bc81894991c1ace0ee2afd1c38c554fd00ade0240c2067f01977326916d1708af027453f734b0a22331bc9453\n\n# tcId = 165\n# length of null contains leading 0\nmsg = 54657374\nresult = invalid\nsig = 69c99cb5b397c6f9fa0f38b0d311f8b64eca97b578302912208bdae5c04244da7cae594e59a6bc0935b8878b7a55b90acbe73ed2adfabbe561cf104d2a60aae3c4fb58cb69a11ed739dea095c224c98bb0fcbddd44d4e1e4b71a8681730c4605d93a93e40e27e6b1182c57fe5f4332898872add7e2e7c3b39e0b45d07ad7cf3c90ea5bdad70902533ce78130c74ded898cad1d1830414951f33ecc0119ae785722d1d4320781178f393ca1fd11dd96da6f44bc586fb4b5a911fdfbb87b7d88833a9a1e036405e205013e2bea23e663dbb2fa813f1d8420f1c57b25dc5bc09fd7dcf99d0dd4a5b3bba8ff2cfddf2f9aa9ea78b8f4132cf0f373157b97097fdffc\n\n# tcId = 166\n# wrong length of null\nmsg = 54657374\nresult = invalid\nsig = 278b61e00fe4e47bfde76cf6c436bfa0e7fed104493a2457ba41ba5fa430cd417ba2ffd345b27d739f6fe7b414e9498e1e44a0a5af8af2f9091f4b42470da0cf09fd1d3542f8a991f4a3be0ac6fb499290889a0e5ba595ca1ed9d97f4407dee17867ca650a49e42c701e3429a34a8bd8e934aa8d107f1761a6fe774c70a974c4ba30990b55a082c87f39266b526c13c4021918196797336e49de36844c908234def2f66aa82e84715834019cbb906011d8bdb29afcbb31dc7503ede0bc39124ac7fe054536d4d79d99186542454253f94a604559a6e992116230c7c9ce4137308b8a091f31843a87e39e29c4ce1520803beeff3fc668741cf504754bc870908d\n\n# tcId = 167\n# uint32 overflow in length of null\nmsg = 54657374\nresult = invalid\nsig = 8daf99c4f0ddc3b0eaa50d674076e2806d744bda24522938c6e4ee2970a5079586d866f0c1abe824b16d40bfe0239aebbecbf67a9155b2855da4656a15d23fc3f1d3518567deec75587d7ea77d3b510b9dd2b1672c8d4774860535f8690a286ea8da3636a1b65f38689b25e9e9b0ddadfb52a0c60ac90b376af968fc654387b5d712f93cfcad8f571ae550072d42b77e439cf28ab0b5857646b4bf2f7b57af7f0443944943828ad174780e1ac0d182fa92cf992991f8fcf2a9d5fcf72eff4ec1847c30f268092b87825fd5931e5306955fe0457e1b9f7162683218f6a9abe5213442a7f8f6a5f4dfbc6084b1bc01f11558fb314a0f07b86b0c6538cd3c7d2fb9\n\n# tcId = 168\n# uint64 overflow in length of null\nmsg = 54657374\nresult = invalid\nsig = a9648dacee46c926af22555c2d4784f01f3565949f177f5cfd4c31659186645d115d4a24dfbca04b583ce8f0c1e452a953fb081fddfd61b9ad9e59df2d52be9a6ac1ecfb58c211a8182f93093ff4f14f5e729e15dc0690aa612a09dee2ec44ec05f75ddfbc0b5a88e93e098cb8b0f7b74a3dd07ec559f964962f83fdb95ed913f2603ee50b36482e8a379522d12c620af2b0ac7537a95417df11430a72f72c0ab16babd7396e0c348f033026dc7239e2a61fe75b8ad4ba4ed154bf05cbfec5260f1e4f2cc0bf5f39542e12a3cc8e490c20a554d3b9afe73ac65c0a4c22bd9349ac39ee25d0feac57b6d5e065d82a757fd1fea928a4e741aa8ca724269415c1e9\n\n# tcId = 169\n# length of null = 2**31 - 1\nmsg = 54657374\nresult = invalid\nsig = 7d2652c6ffce45a2fc4d740db90e1e87795e38dd5f58d3905b9fd41a2a49f3b6c3c14db49f8378fac35cb67b3593a0991ed4c2439cb7890ef727b94833e455edb94b11c2b0cd7bf5c11f8a206e62f540928f873fc6c6b0ea4e520e85f01140d21ff2ed65945e602e09d6880c275fb9cb0cb9cf7a85dfec032f29d5bbb4303256c0cd02a99a3433186558b0ee9bbd93e5e2a89c9ac2b8f74b94e0d9b02438d1bb54dde5424893683f5e74d9acd1424456a55f74d0654b20f55d199d17d5b3184930d5f95068f61c6d1ca4b0e75f01d56fddeb13a9fc07e185b514ec05bc657f97e1ed7c25670a1ed4e16172ed2c19c7521914dd3001d23219c8b578c566eb2c1b\n\n# tcId = 170\n# length of null = 2**32 - 1\nmsg = 54657374\nresult = invalid\nsig = 6bbfb1ef162a8cc8c140dbcc73e922e1b25c0a5f29e59b879315e5336697f86dcffa1f26c435ef3f38657a501e1a3dca7dea9226ae179eb6e7b4604c4a984da95421676c0a1d5b5ceeedcb02def8ca2e90f657b257695e7f87aa948c7d54570540657f8b79f3622347d4c3aaeb8c8c72abb45a156b7facb3ec3c4abaaed5491b84263ec9614a08dd4ad2fc81682e11d834c328ab21bf6af4f25cf26b81032ef1aac9edbd1879b64e04a24f36f6bbd1b317a58fbfe6657a4450deb0b07386be1e4c9f692d6e96740e300905fe7ab3f48ffa279b581b98afeed03243779127fe57d97d7313ee6b2ffbb5ec7e2bfe5d1509b9e8a794cc3cf45ef488874c3e494214\n\n# tcId = 171\n# length of null = 2**40 - 1\nmsg = 54657374\nresult = invalid\nsig = 681e2eb5134130900a52086c86aa16e20c7b95e7cfde30607e84e467fc67797d01674240cdb189aee160f8574f773095200c66c96507524f612e0d00adc1b4edf4c5f6c3e499a0bcb892e917c01c2c0ab9bafb6ad219ecf4030f6aac5253cfde1c1e71f1a7c1de03e65f9751d3ecdc09e4b499a96f9fb22da50a8ee8f4d62c9b67281848824d787c40fed31dc0036577e17c2d9a43cf7170c52ae92311725599d51957364da73424464d63c0edb55e79361f7798dd61d0c4068e4d0821ce80e27054459e9ec3fc0f202e9a30f4ad01747c6ee854b1f3615059d4bcce267a857287e7a9cc6058836af04d9f8d9b4adde905bb455901418e2aea9659c65aca0cf8\n\n# tcId = 172\n# length of null = 2**64 - 1\nmsg = 54657374\nresult = invalid\nsig = 2021ef89c0db9b47dde3df73014ec88ad9d33575e64ff6cbd46201b45811b15f197594de8e35c26139be07132600cd48459e0439b93c2fe734337c914fa87c3913887275ab41aae8a70d60c1690ddacab4711ca0f1949fec70a7173c39116992c051c5802d1c1f005cda7f5b1dd61a8ebabb27563313f6d25347654c64437165590e29e78dc0bfd5491d02d6ed45a0f2ad58c46367670876050ab385f7af6e9f9bb06b279e360519d047296ca055429935b0a96d6b1d6ad1e77c130bd99db29531b0bb6a6abf3bbe1156217a94d137a76736cad06e5d53b9671204a49d54bf5371b8a3d7bbaaffe7871dc8c4ae8165c70bf14dc6ffce5ad74450a564f21f59af\n\n# tcId = 173\n# incorrect length of null\nmsg = 54657374\nresult = invalid\nsig = b298cddbcc889842ade9fc8a116492416b2fbb01b3f414e0dacb2a17d386dc26b1c046192f70ebcba7475445c7794e137afbf0c252077272b645a91b9cfd8312a83d75a696c777b762d832272c544ae96be8e28ae5a639e7581b1bb1c395e693c0cbfdb0f2706e2b93134aaeba76de19674c6a0317eed9b06119fd3025a3141e06211047468e9a59fb8932dee92db824b4f3a8a11ef4bd0b3a015d861ebae48f842203a79a66395da42a4b2f943b51c8824eadc11cbbfb34c4a82c553f83341cdffd8256871ee06f160852ec6b0e7a79c1f06aeaa474efe6309f7caeb4a26fb33364737496f233ee6fafa5e13dde525fa414078271cc439fe5ad0a52fa6401ee\n\n# tcId = 174\n# appending 0's to null\nmsg = 54657374\nresult = invalid\nsig = 202c2fa04697b4c4f5b9889e67c90e597c403fc7b97bf43f3b7fd9bf648bc13db56f02aa517cc5b8b79ff90529528304c877a081a634de4007cafd341cdc19152f5d117a422b5e2df3f4368f0aeaeba2e242823422e3a3e896474edbc636b491baf44e032d5f671f45f599761530b18efa0300d56f0f141b22f0ba9a8187dc771b1575ddac950948cbc7d043c1686e4ae22d093ce4650a99d88752a2748285e935d46ea3a69e84338e1afd57fadc2fabc1dded35706759af7ff32b9f75664f50ffe23700dc46eadece6c5ce271208326f9342e7a63c852463a156edfca011df3a1889ce94fe8be66b125c80540de3aade0dc8bc1baa3f33a892cdd6099560562\n\n# tcId = 175\n# appending null value to null\nmsg = 54657374\nresult = invalid\nsig = 49a336a5a98444fb1617e4dbbec502ca47a888aa84ca700c5909da12a4ae44f8831d2e42fe711c5909533885837ef60be1f37acc7a9a2023d63f0f5252473568aca337f672983058c35df36c4880b17ad15b5e2c1b289ca30e9af9566b5844a30685d59430f4f399188a22fbdd9a892415a7c169cedb52ff274b5eeb25a0f1f33e327a077a98342ace7227710a3db891f579315cf772dfaa142612f5bdb612fc31d940cbe338e6fbdee76ee31fb6471215f176d2f3c884bdb5f55444adf0fa6ad4015b25f494fbdb5a2bd7622b2b9f77b84c7e37e5df8ee553db37cd07e1f0c8003184e3f6404efe27341f41ee9c44f5acb09606ea686fd79108c9d6970ff80a\n\n# tcId = 176\n# truncated length of null\nmsg = 54657374\nresult = invalid\nsig = ae3857a0e8604a5e8bf4e70aa110a9973da8d78853525b265e9189e7a495ddd200c9773c2b733a50f2e748224966ea27c2b87d9d15355a9b65ad02cd04539cf92f257030ba50e63269c5586a6103ca8abbc3c30fa9d232737d42af86a598ce4c8c591c70c3af322a29397a17c7dea43fb7354f8bad1c14e63b9e84909dec485e17e4331921d091bfe604d5aaf14b014ccec2ef23ba477cd8cda620d1c44f5d9c2e67f96f0a9920ea866cba0661f75a687e4d08e731a6e7bc52a79e08210bb03a33ff72e2b791c3baaf760dab4abe08c8d2f6775b03a3e7024cad124b5bc77312777bf24633683cfd033b459ca0115503a886c76e0af975f93a553616f3636154\n\n# tcId = 177\n# changing tag value of null\nmsg = 54657374\nresult = invalid\nsig = b9965f3c8202794e341e140f1801c29966c67c758f01caf07c0433821f803f6", + "f3bc932043a5c42d0d1a90c9687908c428c3bdce32b2756652862c647c4884af0ee00d55bddb5a56fb9c06ba0e29a3c4b61febe6eb09df43c607f8138d7d0ad2fd49398e69d6baf9764cae101a6933c430a9b45f981769257fe3e342f8835ae8a1129787069dc008dd40eb039cb0e8e1ce0965a98959b7e69001437567d0f336666cb6c8e5826b12bd5f195a18833428dbbcb1733642d129be808159eee346dae44e3f5468859c34af260d2bae45b92e04ec1b5ddaf950b774333c4b433c797ae1ad53f4d5d4508805d663920c2d9b78517dade0d3eb6fc17bfe08d0b2e314c97\n\n# tcId = 178\n# changing tag value of null\nmsg = 54657374\nresult = invalid\nsig = 4421d6cdcacef33e31663941531d1253765b01cecc92c741fd5a4c254f088b0d95a478f2ac913f408862b107f82c09c11867e3f27e34a0c1ea72010224c199a942383f4f6205884751091c9f4b190fceb7eff09110fa0a1546a857b091b930326a1f774a0185332a57185df89196ad4f56a0f8394fd6a49a635ebde48bc8ff23c925f846100ada2c3bd40f7d1a92fc31c1327af4d40933de0ab0c4a94d0d47c4d53e956716ec96cffdf0669e81bfe9552df8dd72a687f670896d7279b4ea5c9bfc26e93cbe50449776ce78753738cc9de7ab7aa02130efda3599ca0377346ab3b71bc31d56a8eab581ed70967e9e05463e19ff372130c5a1d9c2217f0f5a3f58\n\n# tcId = 179\n# changing tag value of null\nmsg = 54657374\nresult = invalid\nsig = a71e400721490c8e2baae3b0c49e3c3af9bfb341db3626cb22d2137c5989081402e440cc7e0445a447e5371920a9637ea696a482c0ecbd8eb93a16ab1ba991359e5bea0f6ce0c0ecf927bf8dbb543e307dc17840a0ecc17eeb23caae349e1f12f95abe10fb85695da43e8688855bbbfa842b4a73543fa61ea8076ca3a63505430e7723b39f4859e1cee10e558f2e54a671ee2f040f1eac7d5464bb8482dae2690bed114a6e56f4816e7413ad6ad05cc803446f65c5bdb596a6eb63491709789ddefdb51d461abc777a6a0306dd8a83a6a7792c42559fbf426fa881e55d45a4d346b302efba670443570bda58b9963abec39e6e49d2a17ce572c16446564ae339\n\n# tcId = 180\n# changing tag value of null\nmsg = 54657374\nresult = invalid\nsig = 0bfda5d7880717ef40cce0a8437efa8404ac1ead0472a7d4cf54934f8f3432db4db9ed4c8d98cb606229902b383112dfd4fbef54a28e7cac91338b1f591e2de4addc08943596058132b3a75442f44ad4d18b663b1c1be67c00aaab52e92d87759dbd89b386666dbb4b67429267d25c1ec12ce5cf03e4438dedcdd591c442459eeb86d6e74a937bd7c470ef90dcf8cfd497911413c4a817e7dbf826858807059f8426710ac582ca9d7c657d22a07289fc6c1bb37bcbe27ac755dfc50a54232c16eadf3b1694827ce435aca9061d21699029edbcbe05524d6bb35a866c78122f06f45b8a3615ff38c9bad24b9127287e5c46b73b7435a7bec837c4336f61e9fd01\n\n# tcId = 181\n# changing tag value of null\nmsg = 54657374\nresult = invalid\nsig = 05f2928db82cd2f734f233d59897fe873f57714e5f5abf5132b33d924038a9d0616b62aa25b9353e69dfa17528945043da1d38c96bb6161a34c2529bb32d83fad6b65c0d186105afd1f27f92626860ecf18c7c865a02c3bc16a89c38fa9449d6e23cd389b6083e245b894c52507d07adc123c131998e8dd768b72c08a94bb709ba773d0216c9ffaeff15755ce005b8dfb03d1edbe75780cf3c493767d00b679facf4b188394e3218118d39bac152516dc36c4cc5f88ea9066bf3252670a5714fd5021688ac6b94491012666f0a41463ab265ed62939320a7e3c91298c82ab31f84a3afc62fef61ccb03c011c0317a93728b896f6f8da1ff4e6a04df5cdc14097\n\n# tcId = 182\n# composed null\nmsg = 54657374\nresult = invalid\nsig = 1b02fa06a93da1fe5b74c877eba5629fa9469b01e9919016717eb8cd627f05fcbedcbe2fee00cbf2c954fa7f9d6f001312026b96209fe551b736a4c25e9203be7a706ffde8df35dc7db4add2ae9aa3ce76bc055b5fcdb057139d521fd94a241b2571fd8b73d7e07502819291b226f560b01c0aee7210bca486f623b3f7f84b098bc7bfe9a1a46ff2b6d114373ef988cbcf8d87b3eb7b8374b13b85650b9b894183e589d1ae1646c144a3e6054f7387c548632870f14842683830ba1ab80789e3f8b3e65cf86684ef73cef5dada6a93b6dde8b836ffbb79703b39c3e7179055ebe2071d19a49a8b85af694d9d3cdc0a054073a579e054c76c74d851cc08a95a2c\n\n# tcId = 183\n# incorrect null\nmsg = 54657374\nresult = invalid\nsig = 5b7ee2a4176836b60e6445dbed8ee5bf54f1eed2362d7830a1546c057ab9db845d21e05d9a46ac1fb3b7e247688ac4eec604100ca32bcdb1d5c2eaa4fea773fe5a0823817bf1b3e062b2c94b79d872b235e1bb4d6e42fbb3210032d071022074a897204a06d4c3dbc7287864d2c27f622f7e052c2a8ac88c693f503ae34e8e1f08495435e2439a2363dfed31d6276c5ebf2def17380d28a28ef8964abceed94050112734a6d5235316f7519c1df4c377b65e2f8755f4a3f48de8cc1d67dcc5edc05c1493e4099f83b2fcca14e727c9e3aa15a4847548683ee0f188b83b7613ef9ef40966771f2dba53927715327cdcc9cbf9dfe5597b4af4765a9a35445989f4\n\n# tcId = 184\n# long form encoding of length of digest\nmsg = 54657374\nresult = invalid\nsig = 50c6c70b2cf065c62b8b69884ae779e08b376574fe9307e2dc4ad58a50c5b2a8b74c1e8929b190045dec835e5f26c73824ddcf1a4b63f54b9f90c5f80c36f6a0cb616fb8b63926cca91c90761f960b83381cbbed3f8ee83eee92324fd9697b7f2cc0e784c956354b58e9243495800235156ca1698c407dd9b6332281bb5de1ff180dae7bb3393016e6396cbc7a02ca159b5eccee507a36ccb9338623e050d217be8d9826d0683d59c0acbaa190ba91da6b8579b6086d86d32edfa0f6f17ea5a58d3b8bb9e06ac1517eb66a8fb38094ee19e22b3d6d3cf8c1d001635e3c7e18823b69b9026d81975cb209024b8ebbdd88accbd9c5279c7a2fcd824697907223ef\n\n# tcId = 185\n# length of digest contains leading 0\nmsg = 54657374\nresult = invalid\nsig = 29a239412587861ba02da5cbeae093ff6217ca4b1c80eee56baba352290d6cf721260021b3779a009a3050c2e5fbf19e1e717f906a7f62e52d626c4a31e259c8324796e63ac75bd04081cf2d1f22a5687ee9464cd47ce491eb7ccace2b6bda1ad3c99de2b4dae26021d08dc270a2e84d4467f7a6a2cc59888f3b74cb107311c62ccf5f327c75adc5bdc830c2bee5303a1c43cdf80e00374fd3601f122b19ca4b2f36476abbdd0633561eb3f05265282b4d637647a1e8a2be47b4ea40e4248c3e2541950ef2eb98a487569a35d3c8d8fad28d42ba57e3134f828aa1222c4d13b6fba906086cf8f07f5f3ad539cff8c0cefaf42d89a884444e62e408e36236e70c\n\n# tcId = 186\n# wrong length of digest\nmsg = 54657374\nresult = invalid\nsig = b9709d62db65f1584a5f0dad0602cf2d1ad02447289312f59d001fac696d5b52ac9311e0e5266dc04f5a382405259f6568274a8aca4782d5017b97c765742c6a3bec33c8f3cde398d55bf7ee0b2d3fa768b416c0b1a58e70b865c39057bf6ccea37112ba2d277159ccdbaca928fb4fbf5970296462df7b8ea7715f76c14bf1ac7e4a48a6086e7ffe71653e4246aadcf97a9999782596c87ee5098d788a1a82c2c52bda65ff5c417f9583537aa52c5d8151b3dad189dc0f93758c9e3d45a216359f9952388dfa3eb7b5727774815647b17f6feb39d963340aec6b37507a349eca6c677fdec97d9a5d21a87e999573be5c90d71cbb1b58946036f3f4e6c26dcedb\n\n# tcId = 187\n# wrong length of digest\nmsg = 54657374\nresult = invalid\nsig = 7cc584726f5874d041a892993bcac52a34e71ba6fe4c3db4d48960b1abae664549656af526b59b3018fbfe7447c4c6730f0e93cb148c0f0fda55fa0a93aebab07519123805ee1d551f19c4c69c09549ae56455710cf7b5468206b820672a0d7221fc7972e958e241d4ad164ef1f90cbf769a1ccb466081cc60877d28a05c91f90eabe57d9ff8d097a3a1f59fa69761f0f3b356c2ce1fa7af8bfc70a1c4753af9c715387a5b3249cb792532d1cba87be23624836eb33f0074e927122479a9d71f1962ee6e7e7be1ead8a514bfed9abfd4cbe33ac2d3adf438bb86ec47734961292bae4b61224e957e331b794c22066cde9e51847dad897e7c65d35c98803830f0\n\n# tcId = 188\n# uint32 overflow in length of digest\nmsg = 54657374\nresult = invalid\nsig = 0b93779478f1ebd8d0b018e0db874d2f639834d48d2440cf5215c9b914acc3a7eb9111b5f77d605903a40c7020ec8a4be9cced3714df84586d5f9e0fe44fc1c61a0ac529e9fda9863086b77555e68e290ef716b9add9455b2349d9e14d7d2825af2ed0f619636c50599616508c79badc2dc2c47489028c5bd793022d189058f559dc272a01ddffddb8fee9d83c259cabecd93398d48591d7acc2787e1b8598cb0218b007440ee11733100ec3a3a9749ed81b3b62d4b9c32dddde30740c4875e451e3cf89fe5a970bb92f4065aa7d43fc6e08eefa416aba932a7bde5a10df11b433527bafb2854439b463f6a0a13ae66265dfabaeb4d8de6eeeba4de45e0be421\n\n# tcId = 189\n# uint64 overflow in length of digest\nmsg = 54657374\nresult = invalid\nsig = 174cf250f8b41af4e2bcde276dabe55d193d51d80db308ee072cba6d7823e49ea26b32631a18316f48a8c933ff9660352917d5f197d44afbaf89808fdd16853786e3cb3a348009d58056e3ed84388ac73789732105e0c57fef0362b38ad103aa7eaaff599fcb07520ccaf39aae20ee0e1bda9a604e76646c72c9b4156efc0fc4a2fc733a5c080f50d9a5bed24a35ec863bbc7297c2a7ffdee9c7b3fd614da2466b9e77a72af6d2dba40bab35235e14e520278df7260b588528f0b32072aa532d09471f4e1992c8ff3534e6d0723c1664e8c6ec141eee2f7439cd57cf167f1b6dc681aac0a6ddfceeee9a81c53845ab87c145452627547a0961e0fc89b17ef70f\n\n# tcId = 190\n# length of digest = 2**31 - 1\nmsg = 54657374\nresult = invalid\nsig = a47037577d6a1480d07bda7574648d9b4d613a6d112f7027e873cca188cc41ad35cb8c931928d2765b60c21af9756b6f0acbbfe0b44b4eb63abded9d8547fb1a37706ab562b448b47f29a81673e27345c156e0fa29a353b90c3262a8a48b0f002dab41aadcd0edbb016973fd85ca98e53116cc3a3cda5754c76ac8c8e44e31aac06d1e248137ba096237d14119538f55a1cff1c7a93e1095eb40918233e5b33e092741f658962355541af6eef3bf3b84e9b87fac775f53e7bade8581804139b765090051474b08c82555daa5407fbbe998f29fa337d21b24b6917d4cb315d035dd397a84c47b6b806bd1e7812795d653073cf349c57193397c542f3fdd512bcd\n\n# tcId = 19", + "1\n# length of digest = 2**32 - 1\nmsg = 54657374\nresult = invalid\nsig = 790911646b9fc46991a8c1fdd0c7a5a8b45a078305d71eafad2dae2ecfeb5f7122d1ba2c77faecd5bab50b05b355740f93c6cde64c42ddb3be48362a741fe29173d58d950b2c242753ba3db6f4dd576c2240f490f53ccf9b6e781fc610966b80cd9700f41c8bffc87790a01a45f3623a82167ac42e52c5ab5ef539b29f5d19449e9fb0b6749a559010daaaa19d15f3fc53b58b1a912db79a46caf10fdd5ea81256842acb1e06282ee66c0bccbd69131b532b3cf7ef72fb725c910338e24cdf2653d443f209efbd03573b54536f98fb002e57a27f62fbb117cca57d9d6a2ac04cb0211e227682988c64421a5f8ad6dd3916d0d84b441847324c03451a4ba24fd0\n\n# tcId = 192\n# length of digest = 2**40 - 1\nmsg = 54657374\nresult = invalid\nsig = 876fea7a5f814cb533109f000830bf5d8776d57b502a86f1df6e4dc50125a18e08f267edb7abe0afe44a5e75e8f4fd5e11fb2691fb73735617bdc5dc270e2b51adb064f5a560a4557c0b925e6af7852a110ac3f8c33150d3dd1d5253b7fc69d11949a8e80aa2e240cb3eed5a44afd0ed7a651ff6205bb80333cd060a2d2dbe5e37de3fe38c342c1635d553a7bab6be1b6ec1bbe9524944ec967200d35bfea076846b8460333d17cc90be7c6862695fab2cb5d02beebd6b1b86229e48d64f391ae3e506a7d252ecef54b61d4c186ab9fc8f2b32e006d07d9958292b6f4735a4c4d8e63713c212558f73de273647dc37bead249379831979c8062c0768148bcdda\n\n# tcId = 193\n# length of digest = 2**64 - 1\nmsg = 54657374\nresult = invalid\nsig = 4b06f62bb29091d0ae2dc52c2443bac02e9bebc68f84bd0186e0e565483db3fdb2ee8c3bf17e2fc256f7df3810c5c597fd03dd65d9726f4699734a89fb5dd88176ded8f2caba4c1a869ba85ecee2ad4ed782006bb5d1f6e9a8ced64a9a74298a9c512b27cdd93b7f3fb4845bf2d95af41acc95a43fda8784424d3ff5ce18292abb0d43ad644c28ed076011947a317a5543fc48becb1836a8f57a1dbebd5dad249a00e01c102b98a799b05c2a08565c5778e629264727a9cb8fb4ecd71f8f3db26e3ebbe59812462d6c2e042a4f92456df56cb9caf959ce3181aaa1956109a0dfb8524ef802891e80dffcc2132ee1cf380641c7da5d1e3ef1a3b37c8b9a7d4c05\n\n# tcId = 194\n# incorrect length of digest\nmsg = 54657374\nresult = invalid\nsig = 8b15577f817c9f63a94b9633fdd36af378d9f5f471636c7b518d467a37aacb5013a3640d4ad384286c68dec71ac5d6a4ba2578fe2c61d1db0922108bc777703c8f09f251cbec3a6d2a0e26d7e4f271efcc3458e96c710cb8b120eb7d5d8a5a535e823b42d6c3d59f8647bb244eaedea2b91e3b4e3e4fb9f2b0fd4d877d4fc10f135c54ed5f6228a48605016c7348ac4d7c00246be44d9e8660616bfafdaaccda021c33bbc564a5594ec98472b0f559dc45ea57b254a6397685643d1fbc1e074fcbcfcbc5de4f5833a7dcfddef6a1af5bafc6687ac8664d9920f9be8d8bf9e3b404db41b1d3ac1c87e9627a4b69a2b04c0ac751eaced3b7fa618bd7c0dceee17b\n\n# tcId = 195\n# lonely octet string tag\nmsg = 54657374\nresult = invalid\nsig = abddf6c8fceec1026b0fe6799db56b01e0b2eb066f9e5d0821f6a954462b71e1d22ea111f1b69bb86c1e4e77b6cf035573b9f6e0894ca4bc0990f9986ca209ee41bae1a48a764c5c464ca4e5de36c8fbc47dd8865775f9771ad6c6bb82f6b2802bd045c1f2d4a1845798b7dc16ff37866c90a613f1d019e53602fe2c99ec4650360ab69eccefaef07f9156f58a1f5f65fa00bcc2a544feceb70adc74e6710ea01e9ef4829a8165d7ce24647e6a8770eb8247bfa87de15ac560b6dcddcd112c24bf9c694090060bd9f0b5e50a59ff65c135f0bcc527c8793f4c84769b7461e9e2d755f99aa13b4c938f8fb7816e9d9f7f91159779b9d7749489b549aa263d8d92\n\n# tcId = 196\n# appending 0's to digest\nmsg = 54657374\nresult = invalid\nsig = 35446aacce869a91a157aefc5e3d4660a7de0272debbee1ff6253f74e38e8d54637cbba4412c0c211589a477eefd3dd0106cd878c46870cebba6e053a990f3341647736b00b5691d6b83dccb6684ee35063e2da6a6b1e8daeb5739d96291522d7c9fa54aa7d9208b1d73828c9a0f657ff39ebd09c709a8913b04a83c7b610fba815c222db8a2f00b089768cb4ae9ef93441c1463a43a6a691b407b4c1266e0ad4e146b0f8d06ccff215d48b513528f7cdb53a3be1be8031a48d092751e195b09a65b26d63795020c2a887eb4af5f002944b878962cf87a08c676946290164c667a3817fd8ad48e508d4a1e4811ff85b5844ce0af7937eb48fb99e8cf7e154c4e\n\n# tcId = 197\n# prepending 0's to digest\nmsg = 54657374\nresult = invalid\nsig = b0fec4f0f9b06a684c9816bc221f888860c1e5ceb40e67bd440bfb322c6026120b28af4905183d0ada4043b4f4a0df4710b20f37cc5ac9c5ad391e379f12784135cbab2cd7e3770fe1bc68fbf5e0e07c4fa07a5597d5f5c3f682e57cbf047cc5d8de859e3e7f997fa91c4a16026f43bac22a7afebcf56c804f656ad510dd03e6c4cff8be628a9a3fcce0034105152ebdb148100203f17eb37b7165b03661e5526f4fe1bcefea270e74a2bd9afc7fc00e52c9256548f36db3486b7cdf6fa9bea4d558d592fc6ed7869b8a59ce26608d21328a0e5001c273c8d29e3350c9d69d3b4a57d5574f1b18686c66598ac6de82d50af4589d53f1c5fba9e103ec787283d3\n\n# tcId = 198\n# appending null value to digest\nmsg = 54657374\nresult = invalid\nsig = b21fb36d1ba5ac09f4bc9c9bb1c3b08ef4b5e39d5a13bb27de6d949022262723fc6f96e1d0f76bf95e1f90eca04fb20bc65262233f6335d8a0b8211f0e2481819607354700ede1ff85c8e53413685ac5d31db4fa5f807aaf6818b9531baf1555db3e062a3e74ad677e9f378bc6020a73673decc9f6176f4c2dcb02859932b7a7a9d12da602b668a14846eb8acd2abfa0952fe5ec78a67a8f6d751ba3b420464c10cdfde93b96847b9bd05504b1ca49121cc92db8f2b7a33fac17535fefe32028d0c1484f1aee86b4260b668d9dfba6cf27a7faf2bbe0df47267108a84bd5cf595f522f9a2ae52e4c4b7c9c08b39200683bd33043f14b562d37b910dd438f714f\n\n# tcId = 199\n# truncated length of digest\nmsg = 54657374\nresult = invalid\nsig = 1d582d82ca0b3db426ca8adf9465e46531e60d71b2cd7276f0d764e629a767e61171e1667a22c1a1404adf7e87b2617268c56e792d9f9653466666a09bc82d4c1c2c04fb9b8fd6c532f169196009598b6efc8feb2850f4ba8adb75d37705fe07bfc2e67356231f1845556ed8f3f8793f4c7e58572fe849ec0148a840e442968c1df6910152a5a4c0be18e3a7891ce2e16e53414366e8d92c1de75073818da1dde1c3c3f8f5c4d31d13da73bb507947e986915cbf3d9edf92a6bd17775eeadd9d5b363adaf1a33ccabd441267a476b314aeb86a91837b5c9a5d969001259fdc5a2b69982ca41405685379e758c255fcf35267dc2f1075ccb57ba0c339dacd7feb\n\n# tcId = 200\n# Replacing digest with NULL\nmsg = 54657374\nresult = invalid\nsig = 096a7f2148458f37e9c6589c25e4e90626468575849037e8f62534a01e08dbdb34332da17528bcd83683e1d05a6b159a8a629225e9067f20b0c7484bddf978178107128855f63a29c727d2a49ddfb650954e5c9131b98fd188858b595a2be7196921fa872ac945336a47224a4f572c85469ed34303bb23a5822b1fa87f5b5fa0a4bfbcd9927c32c32c349c0689600ab4f616f31dc19ba9b5e6f45ac64bdc8070863358949e10a46f2af51a071db4de3d7ce5a9b2d76ec66eae8d1e106edccf72d27159a113d888d2f3c73cbb738bd096fad53a7bd3ead255f928b7915b137152bda12b3365a1fb7f9c4f53cef8484b5bd59c5c34c692f6ad20e129651a7cab69\n\n# tcId = 201\n# changing tag value of digest\nmsg = 54657374\nresult = invalid\nsig = 5ac9934544425ddb9678fcfd28245b7f5568eb1de108e7d3e99e2d3810ee261b877073d32ae8abce7279f2177d6b11f36234ae2d9d03e4fa51907677a950ca4c644e64399ceed4395b18dd89a152f62a16520ee8ef27867387b3082db40e6462baa7ae6148c9e3e7d069d00431dff74b38556b31f3622b79b3714bfcfb6c662c6e92b3332f7e029debfe21430ea04fbd7cf75e410d1be0712fb5f754a9610f24f34efef2bf4690a589d387001dc652226775fb81b726b3c036fdce3a52ec7131d1fcfbfc2d6bb8434699d9905d9d7992d7977ce0a599309040ff4cffbff2028c9d6ebe7d0f9de0d17876f2da3a497b2a36170618c82e3f169e0ea0708557f1bd\n\n# tcId = 202\n# changing tag value of digest\nmsg = 54657374\nresult = invalid\nsig = 13731f7476ca8813b66d36cd6cdb93a48eb42742cca037b828774ff5971c173bd08e88542f2c39f53ae8700a56be54755b64e1e81a00097cad58ad21b2ebc59518ab6bc345db326572bc0b39572590c90b2b72894b33cb2fcc37fbe549405a7fc656dee567df49bcd93fc4d2c235e2d14c2107952de0e635ee93cfcd167d4dc5e3ea1dd0cf79973bc96cfe43a738be7e1304d4c1e318eb32612cf3d6784e1f842b8780dc5e3a8ec369eb8226ffdf9be69b54867f2461c810c74187d72cefec60a646c4a576d8ab977d4daea3422007454a306e5acbf3f7043d5d3bda70752e4979d1657918fbb863d4eb8eb58ba6f2a372636871b75af84e645a7f49e99eb300\n\n# tcId = 203\n# changing tag value of digest\nmsg = 54657374\nresult = invalid\nsig = 0cbf884a755f8ea52d3da21e3e88fbcbe2562d35440d1fa0f8c3dbd4f27aabb5603e6d1b172af543c6739c8b644a4f438df55be7ad17a82c69a03d08c628c8fdbb7d1ff9202a7fb7bd7d4f4c400fbcaef8aa463f1e0ec72b1df8834e07cd4f465a97f7129fe9221ed3205043d2ea4597b857088fc27e95da84900e87ce9578d8bcb120b23096b1f143ced492cc966e2ef60ffe9055f5d225cad682c12fff248347f234713970565c532cc2302965bc69af16acaa3ac8b59b9f8698261a1a6074e3a3bc2a6e87dd01f2c0f13a628c134aaf65500681f1a002d921725b362d94c5dacaa8726c0a029749f9ebb699028b48e59d22dac2aa27ffdc35648a57c57f70\n\n# tcId = 204\n# changing tag value of digest\nmsg = 54657374\nresult = invalid\nsig = 711f73de0bbe41e3296a1473121f47a735d093a06c9c7be63559987d98f5fc52c6dee6de2a3fa565e9dc6c75308652978350e5dc407560474ddefb45f8bdadc8dc89b5640aa8552117161d8da703b52948b08596b92dfb4d343320aff80af3507d11a27ca6d2db3e2f028cc1d53adde20ae164f602ee146bbadec7a22b36eaf08849e35425a88bc1d6c8f1434a82f31998f980579c287bef989607c0e09977c52932c9d1b1a7437a3c87d09d9ce521c59fc44c51a279d9d3c94c88405ad38c3122e2e99", + "3348360490e1698d4ab126b05066fbf764f259c69fbc7d875eb69a78bcdad95e3ff1eef50183791acec694449e6c944bf2bebc01e5f1cc62d60b83966\n\n# tcId = 205\n# changing tag value of digest\nmsg = 54657374\nresult = invalid\nsig = 3e85dff099a3f6cef0b15f86f749cfd21c5ca4a6d7ecdfb075a9dfce9e11240599be07f5200431771763469e1d13eedb3914c2d991fc49f32769ceca68e3de4ca53c1fee5f27b54c05ccc69d4cf0ad3ba62202bf7f1c6fd5cfebc7a8ed29e489f6350372f439f606d0b1e879438463b400704ccc2a323acc70ac4f46a621f0dcb49dad6d72cc8f4225dcd9e228f0611e28847745d0f24514506a91ab2a85b4f8f0fd02850c37e2e923ec14c2099ba90b9cf72ced38180d94cbe313215e19dbe46923e2d573115443f3e98bdb96305dac90564c4e667cf3430d174cd077c5533ecbf3f8ba08e7ac56c0b03c4d2dd0caa9d13c968f6a4e968418e42ef4f52aaf77\n\n# tcId = 206\n# dropping value of digest\nmsg = 54657374\nresult = invalid\nsig = b9861f3d1a03cdd4f49e90947a21e5da9fc1281a816a9f5b520a7de27740504d43333f5facf65dec5bb06699c37aa1aa911bd4e8acd7aaeeb6dbe50e577731b4babd4587504821be0ec4798b14124e9adcdc2831d8822e7768302338953584147af1e323a9982ad01cc79f46e239c804b6c119a022e1850f4445d98dc27e83f808f33f8c0c81bbe16d5f04ff0128e34d03ff6a65260a7ee6e10dcd08d09d9db7912fbfebe0304b00135ab184e063a884992ccfa5d64953ae98f050c751817629fd5491eabaa52b0e52626bfd025c926dbdc25af5727d92bad2acc5ed59f5f597606c9752579c57ed0e015440ac194228323a71f708fb92d5cf36c841e8a07366\n\n# tcId = 207\n# using composition for digest\nmsg = 54657374\nresult = invalid\nsig = 8729c630297b010164e90d0e99fc65eaaaf2bbbdf309f20bb48037bbd40e59ebd8d6fb7e23911051731b5ba5a8423bb3d0ab44bcaea5eb03f56eb8f3ead1c3fd252197fea478fb4b9b9b4e0649503d4f45922ebb72a4cc1716f914b3e8dd8fb111c9300e946c0eae83a2e6c40093fd1f55c684e4c4b2b0f09ecf03ef71a01449eb0cc2c4a274cfdd55efee7ff136a28626eb86af9d88c25bd0ba012d8a0218d43bb02d9b6b1273d3d2414789aaa076da4dcbde9444a151fba9c25ce225876b63b09e17b16e0e115a7db6860afd08c48ad37aa64a54d8b0230314354f1c943fdcebc1607e66121fdb7390f131ba6bbf8f88375497505d7d3ba4dd9761d842e937\n\n# tcId = 208\n# modify first byte of digest\nmsg = 54657374\nresult = invalid\nsig = 6385c6d4dbca9ee08e1f525a8b7915831a732854c7b26cf42681bc90dd49078873025b62e1830ba193445e129fd419ee12cde859032eefc5758c6c12ffeed3ed049322609d2665b5e1eead21af5f354acf336629e62cfc4a740bf9a51fd66e6b72287ed5558261252f50dc925417c1e48a4552589a7099ab0a3371cdb1c209573f7f5ac9436d298fda9606f9582e8c873420e7c4edbf5ead17e3c93fa3209208b91728c208b3fd10b27045be1cfbf242c5d34cadda97608271326444ad35d309d47f4add6bfc5ad95710db6d65f82a06a04bd7c71e335c2b86cf6a466c311f7e735b8ff8c2912269c3b1f2007f7d1369a55440a5abd98a46a4389756f73782ef\n\n# tcId = 209\n# modify last byte of digest\nmsg = 54657374\nresult = invalid\nsig = 1eff927cfa95030c95547b3f3403636ed63fe85c99e21e64bdd8593f56119329fd7d75f876e13317aafe540b79964cdf62330cf98be66ee41ec92d7ab9ba7988e8bf6eba3dc95ffedffe09b382a9ff566f07c61c06944de3b68dca4c4a3b2076e778286b50c6ece0dc066c29dae7d824969fecc6d5f8bbc2731e875ed9780428d53591d2f2021aa7864baac55d276cbb14098e9af5869e18c29c89d8732503fcf8e65a384454785ed39dbc516eba130e2add655a8e7df260a668ff9214194681033fd8b57202fdf627270fe4f63a49fbaffbce1520562ce53c9ecef6da5e942ad06c8ce3e673524b84c19da4f071d9d0ef9e24d4c8b0dd64627ccae7468372bc\n\n# tcId = 210\n# truncated digest\nmsg = 54657374\nresult = invalid\nsig = ae443b008918b477cc8f80c54afc175ea0935ad53bbb2784fb1948ed4186f0374b760302dd2346c3797e79a080461c802c39cd72bfc9101b408ddf8ac4e449e2f2f0f03cc1fa5dd77e72becd52a36da64150edcd290df30fdff2a4701c7e923756eb4700184af4e06078517385f9f52d650a46eb94393b37761444fa1d3fc925579133c85e63b25a7a7d1587dc43fc500e54a70ead1cf872e47b33f34ce7971331007e5e74aafe18895f4e5b1faf925437af5dd7d5ac520eee778752130ecdba9d33a792e189e9c8d95770a4d5ecfd71647c99470604b269f14921b1fa50ba063b47bc6c490e9926e4065d5602555e51c9cf6669ee53b7cc7cd0da607478a5a0\n\n# tcId = 211\n# truncated digest\nmsg = 54657374\nresult = invalid\nsig = 5189a516b2ff014f527ffde7cfd65cca11f0b907160ff901a51511d4b94317e86f3065600728ad0c43e68a6f1f7017708bb8dbbc84e388f43a9c83acb98eaa6b4532cc68c4c6a44f649989b5d254f89fec6de1fea45e3e5b83e562608a7867f0919a2320a120c871421eb164895ed4bae27d34227b1e8cfb600292d208cd15cd62068aff9d692ae8088c9c08a51202694faec5d6c78e995e5e013f931b8a6cdd726357d0d5c6e9a83dc634810fe383ea1a89adc42c2bc675f075e571ecd3fff8581a0df3f83b1959a5e64b5eb1cb9bfb5c4c4c17d47a24a2ab3da66ba62d54b74624555c19c56ffa94203cf78101d181ffeafe8e8fed9e0897b27a88419aa540\n\n# tcId = 212\n# wrong hash in padding\nmsg = 54657374\nresult = invalid\nsig = 8b009088b814c2e2a306b4cfd72d87db4ca1ebf6ad5f37e7aa29777b77d93c005922168e3634be085c9e4b147194046e38b7d32fe6814652672cc6eb724742a0a22fae278a9953e665e7351281c42e98d4fca8237be482080b9fbc471b9854ee75ece636868c6b3270dfc7dbb32cfd2e28901ff6ac699dd74d8bf096bfe89c22c228522474df25d13e5b7c1148edd5df5fbc06fe165729418221c610a8fbac579955b8625eeaa8e00aea009b42b2456c9316c5c005688bc060e61bf302418740f0be9b5a30df845608a9008804e89d1a5233d34b6fa84c3698451e472fedd9f4aa6ffbc9f4491256df7181334ff181cd66dce7dc66ef9d3c511ae5e6e3c88083\n\n# tcId = 213\n# wrong hash in padding\nmsg = 54657374\nresult = invalid\nsig = 68a90a62da7b0ac09e26ca8786723164c0e6535e82f28839d12c08348aacccdf0218d3470290665e6d6fbb59cafda63c9e50d596442b02f4ec7b55753b13b82b217e32fc5f3818e3fee1a6b89855f5902dcdba3eccffddb7491317961af36dc74f5b6a4477f57aeb28d57658fcb8e77f8e223d2870b730d53ca1aadeafb389d3f934ba609689ce50bf82b08f31dc2578d7f076d26be5b267e87d2ca4df8d57c112831f45c46b9078c3ec13b01f0b5d67e82579243408e4eb29a154314cd5c68cad6b7198a02c522d87aad93e17aaf8fea49d38e39314c12c816e73d997c0fd10cb12d47aa7af0e82fa4b939f1209085c01a88f5cecd533901d5b1ab2866e753f\n\n# tcId = 214\n# wrong hash in padding\nmsg = 54657374\nresult = invalid\nsig = a1060a690b31b1b2feba5f0b8ede1c8f025da644da1f1d66a6cb218226ea6751a7f391ad063d80b63035cdb991e6a549d85c9f569f7677a40becf0326cb93297e23ed49dce7a5c1a4866d788aec24d23cf9c9cf15783ff5692a579db8f11b7e1ee8d28aea15f358b4d01e127dc438f5edf53346744594c3f946492a39aeaa17352a6791a52d4812637c8612323a50af3b7dd4216100020df91b653e5e4772bca49750ab9844c8cf13d651541d2a1aa7c74a673e645971df9acee059fa981ad39e8011b06bb39a86cdbba9fa544b8f2460188ca04354a95effed4e7c5905d5bf25973589809360d5e154e7a3613c27f4c5c920e71996063c2f86c44b7ad12a376\n\n# tcId = 215\n# wrong hash in signature\nmsg = 54657374\nresult = invalid\nsig = 49cea19f5adb723c41e895337a24ced9e685736ec060f2aeef35bbdcf37741056d5f3ace051b0f6099585d82f576591da0c1139a590685b3e35ff9053bc6c3e381cba077700558328fa785128f78f5cfa481e6bf581bc9424f101cd8c2efeb4f8f00684776416c309d217df1dfde8f1e4643aad23207541fafeb5b7d263fb560cfade4792d716f68e7809cf8478cc4dc6a4c14e4e5df4f137d7a05270c6b0ca1f73e77eac07f5e7b60c8574b5c7487db4aa334173fbe03d93805bba291194f02f77ec0eeae2373ec9fc467a621feb77afc7d3757ca98b4f3fedbdc391f99df24663233f7394935b14eb81cf5b24d169cafa7506bcbcc2a4166fcf8fdbd5f7f3e\n\n# tcId = 216\n# wrong hash in signature\nmsg = 54657374\nresult = invalid\nsig = b1e5095d61e4a986fe3425a08401ca726bafcb778dc818254e7ea5d299a9ee3e8c303a51ce19644b60a7f6156850b3325f4ada0958ce9a0a8cfe2a7ca085538b9b9abcfaaaf7413c810d6b2c03b5a3bbf98faef5374053cbff979815e5f1a38980087b291e1cf1683febc32da71b9040bedeb014de01cbc794ee40c12e7d44cbd01336ee92884d60d20bb0c9a5fe4d7dbc93478dab044bb6f04050ee4a3c8d2577c0e8443781f1ba5d8e763ed7f879f0bd970045299d2e2bc00ae47598e822fdf2461343c5c5f2111b099823c35b7ec4f07d337e52729c19e1df28c4bab6e7fbd1abd9cd3052920875e59ad251970e98c7a944ee6ba71787f65eda75e84cd048\n\n# tcId = 217\n# wrong hash in signature\nmsg = 54657374\nresult = invalid\nsig = ba0ac1ff39b108015703583afcea5c777ec70df6ad11f561f23ca84eeacc73b7d93375f5e44c6c84e16273d442f93e36d474c7190184a0766e5b2bfe9896f0f0906a7a0c08dd78f0a9702cf3f706040893885f1e1da9cd01aca80de8c0c8197bb6e5e34562c37ff3256fbc6e99d1e9a7459a2cb1f49eb371a9e3cb1e87a460880664adb76e6bc3f2652010a7a1dde552dd4aadcf30366b0de3964e85d76bf79e20ced2aef87c9d31b4f2756cea23d9cef75ce07cea41204b42260a25ded448df639a0493d24262e1c411b7c294cabb56b95126c44d333385a63dbbf9219f22499812ae99772ba6c30d881c4bfdb3d074cc8f6090810546e64b1dfff6847a21f1\n\n# tcId = 218\n# wrong hash in signature\nmsg = 54657374\nresult = invalid\nsig = 4ab504da964bee491512b40b79fe9befa7e5960b142b619db35569cc9387265cc8fa8d4505b3b7cde5e884853bbea5d47ce7d60aa7e4c81853f0ee3f6b357dda5efe13119fc42f464b0cfb9d3506024c2c884eb57373e16611a6ec1eb803a61300bd248587594d081b501d5a141d2ea38d9ef69a87a3ee9d8d83aba410b8d30765c81f997d71457dc8ff1d9c3ed83f06f0156826105bc0a6fef0260", + "ba6fb24578de5f58e7b0a64d5da1512f525f41e987a27e4d59c7d4917fb60586535341bf1644f6bf6a7e3cfba1c225a66bd65cc90b1eaed3696eaecbbc24a318a2e2ad711af85b02ee730940aa3dcb2d87aa8dadac182b5eefebaa3e729204d04e8ebf09b\n\n# tcId = 219\n# message not hashed\nmsg = 54657374\nresult = invalid\nsig = 81c337ab36822c157502b85c88307bada36c39c4054e1be4b0f9b847e1cfc6d2c7dfe08df6a3a80ef3aaf6ccd0bbd43df5e2329e89378bce30503d3a619acf865df1c43c793776ccfa43f51e6135de762d0cbf05bdb63f664b6730baba492e0ecac1906a5e5200a9af1ffbe2fd57c70b98a608ee05c7ea9660983ebd090b77c7300de733adb5b0405cf4ef5c0131bb2452a0d10762fdb7ab83786ba3b3f70face9dc7477f3444c985bd9f0b0fbb011f855ddf9ac4815624c140bfa0fc898bff63699f4b4c87256c4782cecba69191d03d4feb158887fd7def30286950f352863069001431cef136a23b2ed2d886f2dfa36ec7834d94f690f66713cb49f84c941\n\n# tcId = 220\n# message not hashed\nmsg = 54657374\nresult = invalid\nsig = 50d0f2063c472a07d98a8a9a607c0c1b154b30622839fd571a3c4cb9916df86e9bda0ac79e266428cc3e709d9dc3bbeb0f1993f836fff5ea421d59f2f469a1b4d992e8d0065ac375dd192c1425da17ab9936bd3df49853b2ece3ddd00cfd5cc57c5629276f7ecafadf3e68057e384b2f89cbbe7d053add2ab8b979553e9cdf409fbadff045e6e0a5087566a8036bf430724b14b1b55836311a2670816b0561dee07edfc6ffe8d6167afb1be54fbd3c4f17ecc68efabc1edead2a1bbcca4bd6f9eb839ae45269d8c7554cd71e5ca9823c120ed78492f28b7fa2fa2031b2f61697b0f62e486d16f06051769a55cdbac2d39388d985797ac8a62a67967d3226f98b\n\n# tcId = 221\n# using PKCS#1 encryption padding: 0002ff...00\nmsg = 54657374\nresult = invalid\nsig = a5280543fcf9276baba49a297f0803ca4782cc05d35c53a7bd692b0356991d1ef6211efd591ef2eaa5d39b00bc193f3a5f175dd55de90f04396874b799374625a8af5ac162f9af79eb5f3615dac8a33c8d41182c6183db82b9e509ddcf4de0231e419d0e07487fbbb42d84ffc9b4f4c3ecdf6efe2efbfc64f3f665978ab6d210febb690d05a4c9252f97ddca64884df93fbcfc6356954ea7c4f486f2c201e6988400802904f61c02acf066698ff5af6fc8eaba4f81ec93d886a47e4652aad5df2ecf463db049b923a657ca629ba91ac0090be3a1381432ca2c3abccfb85b3c251776b910bd7ec4283d7493e309d251e07404324de24d65a3dfb8e3c5cb8a5a83\n\n# tcId = 222\n# using PKCS#1 encryption padding: 0002ff...00\nmsg = 54657374\nresult = invalid\nsig = 4f2688932d7bf6ec48e50c69933006d28b055aa97621fbebf3ca336536b8dc61172c8ad52e453c4ec203dbb2904557012dcf43da92f55d62baa56961701bef821240a5fd2d1735ae14be136ea92ee10adc650eff7ef6b5cb08c3f4a9dc17bcfc66cf50616f305908719f467af5abb45beea1835f95544f53cf2813394767959ff3440da42757bd135806be3ed2698ea3d903e0f2447916c94deacbda484cb1e074114dcf3b41bf60383153b838f018f8b2e35e3af68eefd202a2b3d7ddc1ec134fff746f1ce9548f9e53a3cc41faf2e991ea1b5860c55f5c000bff72f5524bed9cb8f9e8dc34713f3ce443d202c8ed3df13dec385e8c19871508804c3267b67b\n\n# tcId = 223\n# using PKCS#1 encryption padding: 0002ff...00\nmsg = 54657374\nresult = invalid\nsig = 89fc7f47e30072d2f485e598ea816be5a407427210fd3ecd491ad1a63bde51f49ffdc1969fbdeabc4b36a440ed4fa01b16cccf32fb87478646570e5f65ab386430ecdec93964ec2a5def2b0b9caec71b39d03be76f54f7eb665af9d675c24f9aeb390dc9276198d289806c0ad114f113f0ad97fffce9e673e793dd19b989b8dd2242be5061c5877698325b2d704f6c67c66b1b17c92ada00ef0ba306a8fb6c4bae61197dec2d7bcb7ac7215ac260d608eb6c7235f407e38776632638c431d5fd546b42003705fc309ac484dc99c46962b789452a595eaff3c0c9b7e661190ca0d5037251b58d0df2dea1209cebb95ced5e87f2088d021fd0ef0aea0e7bf61290\n\n# tcId = 224\n# using PKCS#1 encryption padding: 0002ff...00\nmsg = 54657374\nresult = invalid\nsig = a49994410ec70f260d83d20f5e6f281273dc9df9aba560c8859677a0a756b31fafd7aee913d2301cb66a0b78e0d7aee11ef2ec11757387a32b8ce66b57daed49a75b572e82ad23a26815261af3fb5b4d1d59e7a99483e068ec508a2ab915e7c17722e1d88ab92c0df59daf94da36f611232f40077b373af44179df00e69f3e8ad3e5d9945e586611434f8b7be9fed67f97d004c65b8dfeb91efdfb26bd0a5b3fdb4e4ce6d1accf5a6fe37b085c3694e79a858ce64224beec9f2220338ac5417a2925fa3c72cbcbef630926299f974882d2f3c87d136e90b8c9c0599a3e8d38a9a77e7b0aa9be7deec3bbe962422bfb05377f2f6b3f4e7909776c5bf3db6b4cdd\n\n# tcId = 225\n# invalid PKCS#1 signature padding: 0001ff...ee00\nmsg = 54657374\nresult = invalid\nsig = 412f631c6df4c4402f70528635f4ed69094f33b198499980ff880e8e5fbdd22236c7836cc65ce18c1b3f183b69a47c27f3699fe7477462fa8d17e8a247e6ee9e994037ade036583ecf4497c083f78db36a15bebc291f164568655c27752f2ad27efa13a7fb897e658cd9f6aa1515bd14a4793fedb7722fb148c3a0e48cae63d14ad939a99a90f1dd7a7c09d478c9217e31f083c12dd3395332af68a4231a15069b1f43765584f6aa094645596ecb4923c59430e6ba76ae7ac4aa724b0fa9b5e2df9d9254857df70423f9323bdee97d74d662793ac72a0d089a79038b8b85e4c0d3a6f616fadca300a77bbd53ec69287a1f0f6fab0560ed90a28262bc310c14b1\n\n# tcId = 226\n# PKCS#1 padding too short: 000001ff...\nmsg = 54657374\nresult = invalid\nsig = 77dc98b3302f80235104cb8810d290be782529da8d49c7ed804c59f6435464668dc2d1fc3040ff31d7da3e31a472e218e7f8bf20b626673cecd2a56d7c15af20b42f3b1e155cb5bd3cc0f15c71152a64a6f15fa3e12f6060c2539f6f635c56a0192be82925c277f5f317b6531f1d5618ca95d038b4df9c1a99df4d09e6f5eb8940f8c5919051180822ccccd49c88da70c9c0bc1f206fe8a6d8e5678c02097f821b1d53a26e5542d9287442e9f74780fdb40f10fcd06aef31bc8f14de73eeb437555c4510762fe6bded19a21eb5e94ce51445ca10a6569f2a92bf70caf2e442975611c6f02b3e2875f911260bebfd5131956c98c5932461831313e3cdd9e7ef0c\n\n# tcId = 227\n# CVE-2017-11185: signature=n\nmsg = 54657374\nresult = invalid\nsig = bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7\n\n# tcId = 228\n# the signature is 2 bytes too long\nmsg = 54657374\nresult = invalid\nsig = bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70000\n\n# tcId = 229\n# the signature is empty\nmsg = 54657374\nresult = invalid\nsig = \n\n# tcId = 230\n# the signature has value 0\nmsg = 54657374\nresult = invalid\nsig = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 231\n# the signature has value 1\nmsg = 54657374\nresult = invalid\nsig = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\n\n# tcId = 232\n# the signature has value 2\nmsg = 54657374\nresult = invalid\nsig = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002\n\n# tcId = 233\n# the signature has value n-1\nmsg = 54657374\nr", + "esult = invalid\nsig = bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a6\n\n# tcId = 234\n# the signature has value n+1\nmsg = 54657374\nresult = invalid\nsig = bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a8\n\n# tcId = 235\n# the signature has value -1\nmsg = 54657374\nresult = invalid\nsig = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n\n# tcId = 236\n# RSASSA-PSS signature\nmsg = 54657374\nresult = invalid\nsig = 73094b0ac0f0ab2aaee54cc43107896080ed245251f290aa87afc0bf5e7d27e08836f8f1219ce138fdeec02fe70c2ef698139f296028947be751e46d2f7282f9585494a7cd9c88d70834f85f995d7ae249d35224dfa04995f2bf697c25571f1282a92fd32d5b0b83ff158c1420c221f477a2bfae9ef8b7fb4add58fcd6844e9b4230e48ae1be1e7719b6bae5b81b1fef2a29b4c5f29ba447cf9870d9bf7be7554958cf86f523fc12f1abfb41b77171a7751e0d0f93e94fb88656f39561e2a7cceb9bfc3215fc1cbc22f5998c40436225f2c31b161c0acea0936d5d70bff12e1c8ea2e302dd5fae16d2490b58b0cbca91324c01f3ceeceb892923edca9239be0b\n\n# tcId = 237\n# RSASSA-PSS signature\nmsg = 54657374\nresult = invalid\nsig = 30723b607da1b977dd09924f74553e35fa7934c5cbb2ccfc3f799fb52ae3fcbabcd469be9fda10a12477f9dc052499f132fe3c42d9d387ed806725a359d1292ffcad82a35ea24c22f0f5d5ec95c1e5002d47fed010083b699cdef90e39a67d37524371312490b2033a2c3a52b1ecc526d287f27a894b9538f106519928f7814fdb21cb9cead15d3d1d615ca1fcd11534238c779ed7daa4f94fad8d354b1ee5dac1fbe270c804ed449dc59fed498ebaf8153d2dbbea44a8394c051fc5f8128d4503237c3475dde2043298af520d81f47589da19f604618b5313de07a7493514f124740f95f20b547bbded3f731a64e6dd832d50634e2c9ae9ed633103494ecd24\n\n# tcId = 238\n# RSASSA-PSS signature\nmsg = 54657374\nresult = invalid\nsig = 759257fa448e399c70b46320cf0678c33fc4be0bd1f9b197c03be6174bf3b3f1f64cb27387736dec92dbc318af3c97134e0334ca49e01de1b10ce797ace008f1f61a2f559e2c51d8030fc54bd999bb6cb9fef02b110f37d659da2267872671132cc454e6ede85dc3bafae81e60645402c59a8c39db3efcc14174eb467cc90d1ad3e248acefb9d6f7e048a4c800389a6d2a49744b2ca0d8de6ea4890d32380300ad8e5bed3783e51095f9fa278ee7aa0f8a14b890e218bd29508eaeaceb366436530b484d61e599df8ec78b1d78110056aefe2604a2e60285373689e482dab077f6a5837e5d4e6fca4e6b45259654900359475cf83a92b9ef97316f2cbba83ea9\n\n[e = 010001]\n[keyAsn = 30818902818100d0941e63a980fa92fb25ed4c7b3307f827023034ae7f1a7491f0699ca7607285e62ad8e994bac21b8b6e305e334f4874067d28e304230dca7f0e85f7ce595770b6e054c9f844ba86c0696eeba0769d8d4a347e8fe85c724ac1c44994af18a39e719f721f1bc50c46a39e6c075fcd1649f01f22608ce7dc6955502258336987d90203010001]\n[keyDer = 30819f300d06092a864886f70d010101050003818d0030818902818100d0941e63a980fa92fb25ed4c7b3307f827023034ae7f1a7491f0699ca7607285e62ad8e994bac21b8b6e305e334f4874067d28e304230dca7f0e85f7ce595770b6e054c9f844ba86c0696eeba0769d8d4a347e8fe85c724ac1c44994af18a39e719f721f1bc50c46a39e6c075fcd1649f01f22608ce7dc6955502258336987d90203010001]\n[keysize = 1024]\n[n = 00d0941e63a980fa92fb25ed4c7b3307f827023034ae7f1a7491f0699ca7607285e62ad8e994bac21b8b6e305e334f4874067d28e304230dca7f0e85f7ce595770b6e054c9f844ba86c0696eeba0769d8d4a347e8fe85c724ac1c44994af18a39e719f721f1bc50c46a39e6c075fcd1649f01f22608ce7dc6955502258336987d9]\n[sha = SHA-256]\n\n# tcId = 239\nmsg = \nresult = acceptable\nsig = 132fbab52813cd4404e16812639221c6886bd0122af16b814b331a4ce18146ea9071ad0b298d952900d6fb7e1255cc2d619b207f1fd9a48a3838275fe1bf3400726713175fa92d784778790c214a26491f596481414afee858ebf394da0c18a005f76c56b454a95ff555341a8667848f23ee65ee2814e2d7b673fce167ba5618\nflags = SmallModulus\n\n# tcId = 240\nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nsig = 54107d4ec803c8cab6a0e74103ca3cea53919e484be4be88e6299aea3245289c6e3e5368137600a15694937b830b8d4739f69fe8d3bf8b8a6b4cac119548528ae69367f42f569bf7e2663745a69191312a2404a183d6a849d9d112f8ce18709386bc5c8cfa823061d37ec0275b5a9e4eb11cb6cc82b12465c1482e0b528bc099\nflags = SmallModulus\n\n# tcId = 241\nmsg = 54657374\nresult = acceptable\nsig = a168c57dff281db4be76f1840bc8b1976f34c6976ce0391be8f7807165ca1b537fdebf00852bc5a7f46b58625148af5b6dd68a4b3e845737655068776ce64d8002cfc914e24178ff9d86268c6b0c97d49853a9cde82d7d8b1fe6215a78905adee1c3a19f01bb3763d504ef3ba11d0003970cec91ff0d608b6535fe3c032fd293\nflags = SmallModulus\n\n# tcId = 242\nmsg = 313233343030\nresult = acceptable\nsig = 89865c4a0e924376ba619c1b0cd28c0d1a5ddf02cea1302cd31e92aa71b7224fd03d5780162a594c2124ecc8f64ddabbdcbe404030636eebe94e63875abd414f1e8dc754dd43869761300569de975adbde0b1ecf9c2b5e1c5e806aac8047ebec99e8e20308ece862d92b40366ecff58fab7a25795a52b6a8d523c640f822bbd0\nflags = SmallModulus\n\n# tcId = 243\nmsg = 4d657373616765\nresult = acceptable\nsig = 8c356d84e4156d2ad565be16b1980b5789e97430fad26ff38aa8533f282b9189ccec1be64fa2d7b516abfdcdc4a3870415af68a1efcb19d676db0704cae192bedbfafd00135958ff920062f57b7f4870ff0cfe7116ccbce9afb0c3bb9c841bb6e6d09c455b36b78ba22f82161f08490ed2cf1f3c0008aeff27fef40c43801b1d\nflags = SmallModulus\n\n# tcId = 244\nmsg = 61\nresult = acceptable\nsig = 4d9654e213734adb2bb5c914e7b24b7f8fa8cb019349bccc331517fdd7c63420f6dda59542bfbbc7b1f251691425c166753792797aa7c16474ec79a0b844a080fb951a27d8b0b9d5000e54b0e928bb3cc3588290016392a802d846c5872107c8c355c962d78f7993e95c25a26bd2d84a868abdca42c7b967a8fe67307c5295ab\nflags = SmallModulus\n\n# tcId = 245\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nsig = 8bfbc9545d3c8dd90c3de13107a64494b092c2c9456aa3f2aa5e2bade6a71c4b1df78cd3fbebbec441c01b4640fa8380390692aa2ff90de7e3af89c456ad84403413d05c29b0266175893eb3afb7cd7d691e1ba3e5a54a1a13e5e3fd6578087aebe77c527de65dea0b8801570a3dd2a708f8d0d1edb43e3a4bf60436b9f88466\nflags = SmallModulus\n\n[e = 010001]\n[keyAsn = 30818902818100dfbe6f882c8b0c42c3229f29cd858bead25c213b5c0346c3052f844b045ac792c81c1df5ad6a66e9d4f3f7c11096f069f5fc0d1d7da555c6e685cf672ab2a6599f01605f50c93a91d6882f5884e4cf3e9c41a790b0c44247150777f95acf69312b0ed68f3c82693e6b67f0e1ea5927c0eeab3554c2c157181f4634e77bcb088b0203010001]\n[keyDer = 30819f300d06092a864886f70d010101050003818d0030818902818100dfbe6f882c8b0c42c3229f29cd858bead25c213b5c0346c3052f844b045ac792c81c1df5ad6a66e9d4f3f7c11096f069f5fc0d1d7da555c6e685cf672ab2a6599f01605f50c93a91d6882f5884e4cf3e9c41a790b0c44247150777f95acf69312b0ed68f3c82693e6b67f0e1ea5927c0eeab3554c2c157181f4634e77bcb088b0203010001]\n[keysize = 1024]\n[n = 00dfbe6f882c8b0c42c3229f29cd858bead25c213b5c0346c3052f844b045ac792c81c1df5ad6a66e9d4f3f7c11096f069f5fc0d1d7da555c6e685cf672ab2a6599f01605f50c93a91d6882f5884e4cf3e9c41a790b0c44247150777f95acf69312b0ed68f3c82693e6b67f0e1ea5927c0eeab3554c2c157181f4634e77bcb088b]\n[sha = SHA-256]\n\n# tcId = 246\nmsg = \nresult = acceptable\nsig = da3e78febfe4c72621259738abf6db041d526db7a942443e94383e21673c9818afeb3a40b28b6dc190e7a3eed97e821de37800d20bf15815a07c9bf6f305bb68df96579f5df1d0396a45a190e425782259ee5673b5aa13f89036f129c03f51f2735037170144acd22b09dcb409b9ca2bd27b53bebf384bb647ffda195beb3a97\nflags = SmallModulus\n\n# tcId = 247\nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nsig", + " = d65f87b5905594493a1d1ada8566d6fef74193b2e66b1d8c72f7dbac2574cb07d07178ea6c0dcbce03a32dbfabe4c9d9009eb54ac9b7c024a4ac85ac5b8986470bb11c39d1b51e953c4ba99bbd91382962e877a8f33ed8168b342552493c41cd3d01f4125459dd4f05d9def1000ed58b5c99c9652d882d4c3ddbf258b3aaf749\nflags = SmallModulus\n\n# tcId = 248\nmsg = 54657374\nresult = acceptable\nsig = 4c8ad93ed06934da7cf3f399c2f62eebc654a4f4952f19d3c6b857ded2fa13a09ed78180167d62c16f0c893ed900a33ff22dfa5f04f571ed23247c58cd247cff7ae8c1d8266ee2e563f3dd53768d51c2c571115c15aa422b39d90ee13ac245b6c866a76edc0ad9b96ca07cded873aa70e26a8537de7372c6d24acb5af466bd46\nflags = SmallModulus\n\n# tcId = 249\nmsg = 313233343030\nresult = acceptable\nsig = ba37f892bb52616d65cff715943dc7d53a5d4a0ffb787bded58cf5ddd2edaaf049de7b80db185e12f25790d157d26a636bd1aed5964a5d887f5d2c5f133dc00014a245f7ab6f28c8281740119e2f822507ff8aba9532f41d1ddeb1d16bc363254673343ed3e587ccfba7b72556685ceb87df3b0a6bad26ca7c7a4f3d84fd3b8e\nflags = SmallModulus\n\n# tcId = 250\nmsg = 4d657373616765\nresult = acceptable\nsig = 0f973bd8aba9171348a1371b82db74b7e584a9243d85b3a07759253f18e9df44bdfe3bae725f0e0153836e94a9f6dcc234c9e80832a80049e29c7a359eeb5281ab092c50c60ad2c9e2656e2f0b34843b6aebadefa3d6c2b0d62a310688fabdbb01416bfefcbf2bb62e778f23abb22c994acf427d41d15373a30d0c64f6223ebb\nflags = SmallModulus\n\n# tcId = 251\nmsg = 61\nresult = acceptable\nsig = a566ee4a974be5e9181a98c09b9c84e0cb717655643fb8326540b22d884e70eff104a8313e0977e5a9efdbfe913c672ce91621dad54bcfb30cb5200f705238c76ea31b062e3364ea855c88c10acf658355c9cd9b598ebb7905e68a3dce23dde6dd77d50c00bd8148160f423c8c563f0c5b52e5aac784850ffaa5a181055d64e8\nflags = SmallModulus\n\n# tcId = 252\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nsig = d821f083507540839086dc8dbe171a119f7605ee6dc81d480a273f725c1d4cd134c143194f615e710baa82e52010ba1716ae0cface42b4d6edf68d9f5c90bd9b7d338bd8af0cf25911ca9169aa5b442c36f854c6c65370db4645ce3552e93487aac3cfa7239a1abd9ec9ca2e965c02f280920e846b4945d74df9a99f81518f4b\nflags = SmallModulus\n\n[e = 010001]\n[keyAsn = 30818902818100ac9048a7a4f560af91b4fcaf62a14595cb9ca9ec12000fc845e48572113cab2890adb011a919575a40760d1f23fe92509c8a5810b6d05990b909dd0f4c6014f2b31b6abd805bace99816e2eda41fd7b95405db7c5c8f4cf6babb14f550d5d0dd5179b54951fff6aa9686f30f478db649b7c7044cc202dccad00343468eaacfbf0203010001]\n[keyDer = 30819f300d06092a864886f70d010101050003818d0030818902818100ac9048a7a4f560af91b4fcaf62a14595cb9ca9ec12000fc845e48572113cab2890adb011a919575a40760d1f23fe92509c8a5810b6d05990b909dd0f4c6014f2b31b6abd805bace99816e2eda41fd7b95405db7c5c8f4cf6babb14f550d5d0dd5179b54951fff6aa9686f30f478db649b7c7044cc202dccad00343468eaacfbf0203010001]\n[keysize = 1024]\n[n = 00ac9048a7a4f560af91b4fcaf62a14595cb9ca9ec12000fc845e48572113cab2890adb011a919575a40760d1f23fe92509c8a5810b6d05990b909dd0f4c6014f2b31b6abd805bace99816e2eda41fd7b95405db7c5c8f4cf6babb14f550d5d0dd5179b54951fff6aa9686f30f478db649b7c7044cc202dccad00343468eaacfbf]\n[sha = SHA-256]\n\n# tcId = 253\nmsg = \nresult = acceptable\nsig = a0abd165a5ef8733ba111fa0fa092630222d809d8ae811f24f8bead4968b7533af31019663713ba134e7dd345c38e7166a037025eb34adcd6891c9ec941d2e3eb1e4bded1d269272b602cb9b53568b992ddb5103914e6424c75505701a37996c8318b0b6f8640cb6b6e770ac44314b866a7c683a6903f7bba07b6f197ec554fc\nflags = SmallModulus\n\n# tcId = 254\nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nsig = 41339884a9b3940e8488d666bb158063c6a2a2717cae7f564834a876fcbf7098ecf3acbfabf37d38a8e6127b1e313744f1f896e165efdaea0b2e7673867842b9e94db0868ed9a92bcdcb370a4e20ff275c82595e4400a8b9e9f12482f014846b48216f321266ae6ae6338dbcdc41b711e483e6e3e728772e7f9f5ef95c30196b\nflags = SmallModulus\n\n# tcId = 255\nmsg = 54657374\nresult = acceptable\nsig = 8883676becdc27878ccdff53dda011e5e2f886e31e1e88d520bb161cd63aa001fded9f0656109c1507bd1ba5d3bb3e725029a236b4c3c0420a1fcfffe348c5277d6aa51bf75d9af26fdc15fc49d637b078a8b0478b5b0a9c428756d260068e5e622f193b9f9a2c1d979e3322d7f3edc32053541c6efa2485e42e99a804f94388\nflags = SmallModulus\n\n# tcId = 256\nmsg = 313233343030\nresult = acceptable\nsig = 9f2e01b92bc9dd32dcf24aee91467797396649a3255bac943dd0e03c9ef416f349c0cbb728704730f3c7a7c244066a94b229a6e86bde7753c8940129626307b542cc7f596583932b4fe6ea9384d5353e08654e966a64b63bd6745503f7e4383dcef74ad4516ac25c8790db6702ac5b8b057a8fae75669b6a9e689e9211a337b9\nflags = SmallModulus\n\n# tcId = 257\nmsg = 4d657373616765\nresult = acceptable\nsig = 3cb9557d9fe49b889319e0d41efc00cba34277caeed2b2c54fc89772c669200dd63f02f340cb6ed579a379a3fd6a568ca9d4bce206655ae4586850638ee6bffaae2bed7c7afe7353d22418d7e4f6b15e198c85b649d3e5a67f00702dd9fefed7dc72136bb4440fac58e64453e4ee63a81de4270446571b192f414116e165efc0\nflags = SmallModulus\n\n# tcId = 258\nmsg = 61\nresult = acceptable\nsig = 06e6fb568e366fa20d48704be40e991a291d47a464296a49c37718c1153b0fea17ac18a01ff97b32a92d07635dfb9143d011d003c9153020f5ef7fd3ef258cfe92a7a2120718fcc85c73acd34cbd50670c2e044dc3b82fca29b1017912b65d8a844515655308367d8797ae5b7fb91042df573f32de69c1842a128ac88937c0e9\nflags = SmallModulus\n\n# tcId = 259\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nsig = 327238fd701dc4a829827550aad98f9bcd75e9f3831c3679998c869c1dd8381bc6b74b721e9d3377034e059d6637690ba3a184ffd98af951d43a22105a51838f72cf592d658af01adeedf721cf2eb2bb2c90c68311cb267f0cfacca903c1a2a73f7228badb5d86976f5d3371fe9b00cca048a7a0b0fc4b03da11c5a098045e07\nflags = SmallModulus\n\n[e = 010001]\n[keyAsn = 30818902818100a1d3912e65d994e0ba51135f78844d9a3ea5161e5450d16a8cf0173a0a309a1ee94e94385dffc5e27dea6692a1713516af86df2283c8e327e60ee26a7b7cfccb0af3f4b5efec358651996b97d5b25da933b063490cf7b67073d399b04ad55c0a89f8ec36d7f5cae757dbd3d6d0f5b77f7c94e28878397cb45cfd178f3f07ed010203010001]\n[keyDer = 30819f300d06092a864886f70d010101050003818d0030818902818100a1d3912e65d994e0ba51135f78844d9a3ea5161e5450d16a8cf0173a0a309a1ee94e94385dffc5e27dea6692a1713516af86df2283c8e327e60ee26a7b7cfccb0af3f4b5efec358651996b97d5b25da933b063490cf7b67073d399b04ad55c0a89f8ec36d7f5cae757dbd3d6d0f5b77f7c94e28878397cb45cfd178f3f07ed010203010001]\n[keysize = 1024]\n[n = 00a1d3912e65d994e0ba51135f78844d9a3ea5161e5450d16a8cf0173a0a309a1ee94e94385dffc5e27dea6692a1713516af86df2283c8e327e60ee26a7b7cfccb0af3f4b5efec358651996b97d5b25da933b063490cf7b67073d399b04ad55c0a89f8ec36d7f5cae757dbd3d6d0f5b77f7c94e28878397cb45cfd178f3f07ed01]\n[sha = SHA-256]\n\n# tcId = 260\nmsg = \nresult = acceptable\nsig = 0aeda7c92b470df777748f299de6f4b2e9ac2cbe74b5488f15e6e1e38e5a625b292b293d5ac04bf60a51f47f89741f38723fdebcda4943850cfa333bdf9a80689aaac240e23d5f7cd9f3b264eeff491e391a0b8931a705ccb2d9207d5a39edcdbe739fc8c367910070f314e225de55079c5ca963b404bb7ac72358c578e9135d\nflags = SmallModulus\n\n# tcId = 261\nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nsig = 6d20db04efb28fbe87622aad88b51d9294d33b55e7dea653eca9266caf461ff6aaa344f84671b8e06ae3cff54b315b3d3bdfaf762e168eaeb62b71d11dd371ffe141e9effa0e294f7d663302d1f7b260516682de975bf9bd873a9ae4f6f1562f9a24de696305f2f4127174d762b59692a1b4245169237b6f3899bbb1dc8afddd\nflags = SmallModulus\n\n# tcId = 262\nmsg = 54657374\nresult = acceptable\nsig = 0428bad54ff7c7a35f094d44543a9045da24feb3da97e7fbc600667faa4eec1b28c8ef3b1fed8bc247ce85779c7dec0197c901f7874b3ff0b4d02156346511799d22c5182f0f93b531138e0ac2c5645747670a5e9e2c76dbcd1b961bb6d54a99c1838bf872e28735e778051563e139c278f22ca071a7cec0ed95c29d94d51d1d\nflags = SmallModulus\n\n# tcId = 263\nmsg = 313233343030\nresult = acceptable\nsig = 4bc7a3a501e418fbfb5687425fbb59d02e4197f1de865631ed82e8188ff3d854e25d64e8b770cb40bc8902a80e26349e82b63096705e900d235ac3dc44744d29c0acd1cec3988a04cd341a76dd1aceeaa56b6e02fa53a53a6437d208dda2faeb46f70e4910651b0cf9b31049e1efb20955f223957906df66a48bde48766e6fe4\nflags = SmallModulus\n\n# tcId = 264\nmsg = 4d657373616765\nresult = acceptable\nsig = 6cb2195bbae362faa881a5e3ea3f8921784f81f64ce2d9e578030920234d0ef020a0a22bda4285d74ba416a06bdf1c4d2a4740ffef857958eeb0a5ea32dc52a9b01cf0bce3b5afcaa356bb0258befe8eebceadf0d6123453b195ecdf078f684047abe49c9691bc0ecb81ab466616811378d80271ca3c598ba75484a7b11c8a08\nflags = SmallModulus\n\n# tcId = 265\nmsg = 61\nresult = acceptable\nsig = 6f2d903eaaa24f3c5971551682bbe3e76fc041d418309bb2519de7bc3b78ac9ebc07048a901ab213ffefdcd39eb7bb640e298000665e5be765f886c320b5afbed99564f8e3bf60b", + "ee38ea747105d375e7e8c10f5b932847978bf6fabbc9ea2b253ca2f46a44a50a06a6980dc7a2f653840c777e5c81da1691e521cfaf588b088\nflags = SmallModulus\n\n# tcId = 266\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nsig = 57ba5067e97774fb26e7ea9ef0f4dae8afc5ec455d47e6e8a8d4f476d338cf2e697d938282fefa5d1eadba220f3fab2e0ed33d2494663ad0764c05f0acaf28465f5d2fea34bdc46d89a266a5ee36c4c9e9bcf497b5c975ba200f0d8c8549d073bddccd5a1474e409e3c8e4cd211ae1388d9ace40b0384359dc9295cf3e81372c\nflags = SmallModulus\n\n[e = 010001]\n[keyAsn = 3081c90281c100b8be129638e9c805359e6169b263265e2a8ec4b849101f2a321ce523665e399954ac3865ee8c85d14f3d3f24fbd583664bf09394cbc7f7ffc98aadc94eda35ca4b9614fd2d773c782086a1ea9ca23f357cb2cdc465fb85100172845d6b2906dc9315a542d204bcc4dce68d90484198e2350cd682eef9313a13df3607669aa4dd186f563ba0ae3ee054f857a92985f2694a54e1a87ed7327acbfda3e61ecbfecfdd1b7b2d08dd306122fd44268f08463306760f40dfb7634e71d7a72f1224e6110203010001]\n[keyDer = 3081df300d06092a864886f70d01010105000381cd003081c90281c100b8be129638e9c805359e6169b263265e2a8ec4b849101f2a321ce523665e399954ac3865ee8c85d14f3d3f24fbd583664bf09394cbc7f7ffc98aadc94eda35ca4b9614fd2d773c782086a1ea9ca23f357cb2cdc465fb85100172845d6b2906dc9315a542d204bcc4dce68d90484198e2350cd682eef9313a13df3607669aa4dd186f563ba0ae3ee054f857a92985f2694a54e1a87ed7327acbfda3e61ecbfecfdd1b7b2d08dd306122fd44268f08463306760f40dfb7634e71d7a72f1224e6110203010001]\n[keysize = 1536]\n[n = 00b8be129638e9c805359e6169b263265e2a8ec4b849101f2a321ce523665e399954ac3865ee8c85d14f3d3f24fbd583664bf09394cbc7f7ffc98aadc94eda35ca4b9614fd2d773c782086a1ea9ca23f357cb2cdc465fb85100172845d6b2906dc9315a542d204bcc4dce68d90484198e2350cd682eef9313a13df3607669aa4dd186f563ba0ae3ee054f857a92985f2694a54e1a87ed7327acbfda3e61ecbfecfdd1b7b2d08dd306122fd44268f08463306760f40dfb7634e71d7a72f1224e611]\n[sha = SHA-256]\n\n# tcId = 267\nmsg = \nresult = acceptable\nsig = 39272b0e30fb83671b02d1986e9ea30ce3c7d9dffbf495192235f408e2f28ea8f42aaa25c94bb808b8c9c4c886146136ba1afa92dec2479e46943d8b7c96b0b6983baaff7421a5ba44f8a26c7b2ff8940c647c7068cf521266b9a2b088b6271f3af48d6f4fa6ae94f1c9267947ce625881bfbe886b86625289ade51dfb677a042250797a6ab4f829341bcc2385ea0e2552bb9427f9391647cb23bef53877c69aa0143c8496e9eaf2475ab49746c290c73d484e06ce483df0e60e47b1bb4c66b4\nflags = SmallModulus\n\n# tcId = 268\nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nsig = 8d0ad645dc973828bf3d7dccf94edea7b31440ea5f5ad27686bbd34293d7fd36b524d20f27956bfbc0aaf947e9d822e5b5a9d26c502c4b1cff5e3cbabdc27c77719abe74027a589b38137ebf435ffda08f846feafac434530b25f9e96b718480c49179d13eba9e20f986ac3314e416e2770d01dab69b2c21ceaa0ebf353a28ab60b2cd3708a37b091ee0cb5e7fc5cc654a8096d5aae1803fb648dbadea2a9481847be11c2fd60c6fdede268b24af4ee8f47b33cfee135b7a7f89d9421b220806\nflags = SmallModulus\n\n# tcId = 269\nmsg = 54657374\nresult = acceptable\nsig = 1b0461cf5fcc7efae2dbd53011bf319389047852324c5637985db3e7d28c0d40a2caf87f4aba79bfc9b9e44719daf1068492f57a27ceaf26bd7a4b16145ec5e7136ba970dc231b5aabbe93244137e5706d8053c94aeee2a022a5eccd25f695dde5d649b6f19456173d39aaf6757fd46527182b0f37964ed49f42e5cb7c02494d38aaa99c8c627a03ad8f054a272cef14be6f6d7b14d37499cf4c928b86a307873d6a71645ef2c49fcb46b01fcd1b7c16536b96f8ef8b0b1dac30aebf352b5ea3\nflags = SmallModulus\n\n# tcId = 270\nmsg = 313233343030\nresult = acceptable\nsig = 57be7f2aa961911f31cb34e9c6c0c65117fc1ba53b60b77bbc60b1ac7607fc299a79d62020bb420ce55ffff7c7b9c07035beaee2d9d2082ee9060ea6481fd8ede27975b66a7b5c66db873540393f703ba32005925ecab11e6241a5c7e8da39b43e238a2446495df902156df3aa23a8394009f501699aaa3400c294b1227ac6dd5ef70e22a6ccfa61119f0e29346f10b659ae8194e262ccfe390c2ddb4738cc945f7b0bc1203b43df76831fea24b1234f193c3d9a9541e72be5b593df2b0dbc7e\nflags = SmallModulus\n\n# tcId = 271\nmsg = 4d657373616765\nresult = acceptable\nsig = 79ff385f6073b2574f21d3b28282b5e822bb3f26d51c5654142b6d5c718a4ca0d7129a142676ec4c833d281b8403253271e1f254f71f0e131352f860fcab9800fedd7f1aecb560950d6b15e1c4beb99287205318b308a12e38ea4e112f8ff45a84c12ccfe11ee6741da9a79d539e697ea9b083bf6bc06aa97d8029093c42d0666f601813a014ecbfa988b44adce9ebccad311b170b446156a91776dd8edbe92578b79edcddf11403aeccba696764ac33b75b70ceec71997085e5d858d01d04b7\nflags = SmallModulus\n\n# tcId = 272\nmsg = 61\nresult = acceptable\nsig = 2ad9a66e8407294555000e5125054c323f93098c33b38fbe7aef4c4350ee76147ff6ccf80ac41d5620ad7b452d5f98d197b277c53db82a1ad757c913a2c4e685fb6e942d1a0c2db092aef8f80e99c76ad02e9d0a2aa82bcba1305d2590db790f8c138143db1545887db744b2c3e2bf5308c1fa1b9948553538801a95a113b282623ef26e19eaab22b8f31126692d650e945b9c195e2e57cc60607fc3136a79816b2d9d5bfa0d8515280d4e1619e81eaa17ab5d9db4625094fb6f6eabb94271d6\nflags = SmallModulus\n\n# tcId = 273\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nsig = 13a5d04406300725b9c7ef91961257d094d08d8f40e4133fa182f476a209bfa57082f231e87c87f8286d0ee7158182be811ae5a045295d5955f2e73314476566ddea15e35c02de35abaf83fcf405e913e5f27fac0d288b7959a9612d1f75c81763690f869826352b3d1d6f02b4a8e48347a256a46c71396ae6fcf436bf59cbb83164eda84455d357a046576d58b72a5b4e7d4c9a008bd2d6006d17529b9c4b2b3d20de77805d41718e26865264b80cacb16c577782f1d4eecdc303a03f1f7eb7\nflags = SmallModulus\n\n[e = 010001]\n[keyAsn = 3081c90281c100eb477c90d46bd1896cf4930cf2615140e029a743f0649ae586eb04d51f21ac5241744b5872ccebc87b401487a9c859176c9fc8200b2054875e2c811a56b5d9468e6d3a99c058b1c89547f55a3d7b1d08852f673d3288544aab906e57364cac817728dcea18bc1193e62269e04112c19451702cfaa46fcaf716db14f2e1c9b8d312bdb15dde506945395bdb0865f22ac0553f827a27719c2c703a83c6cbfd949d06d4eb560a8fddff052fd6f0a20f6cdeb2909211b75f8182e58590d069a2a2710203010001]\n[keyDer = 3081df300d06092a864886f70d01010105000381cd003081c90281c100eb477c90d46bd1896cf4930cf2615140e029a743f0649ae586eb04d51f21ac5241744b5872ccebc87b401487a9c859176c9fc8200b2054875e2c811a56b5d9468e6d3a99c058b1c89547f55a3d7b1d08852f673d3288544aab906e57364cac817728dcea18bc1193e62269e04112c19451702cfaa46fcaf716db14f2e1c9b8d312bdb15dde506945395bdb0865f22ac0553f827a27719c2c703a83c6cbfd949d06d4eb560a8fddff052fd6f0a20f6cdeb2909211b75f8182e58590d069a2a2710203010001]\n[keysize = 1536]\n[n = 00eb477c90d46bd1896cf4930cf2615140e029a743f0649ae586eb04d51f21ac5241744b5872ccebc87b401487a9c859176c9fc8200b2054875e2c811a56b5d9468e6d3a99c058b1c89547f55a3d7b1d08852f673d3288544aab906e57364cac817728dcea18bc1193e62269e04112c19451702cfaa46fcaf716db14f2e1c9b8d312bdb15dde506945395bdb0865f22ac0553f827a27719c2c703a83c6cbfd949d06d4eb560a8fddff052fd6f0a20f6cdeb2909211b75f8182e58590d069a2a271]\n[sha = SHA-256]\n\n# tcId = 274\nmsg = \nresult = acceptable\nsig = e4f7f0076b4bddb632c470881bbffe95a148573a75c014689eda7acf5e57a546327d4bead01da0b093b2c4eb5b048fd707d27a4baf85d610e4ff8861feca57e1ea88ff0c4b803c4b0d62ae0cb89012b0ff041b438e49a79680f2cb30722a5a2a3aa9b516ff2a02947ebe27186aa9ffdb35e15328c0f49f172af51f764258e909651469ebc6a59cd98c996fa3417008252e3386b9a2d059d3c67983ce62ae2d052733c55732320679eae156d0e4b89da1022bd052340819cfcdd7366c34b65a01\nflags = SmallModulus\n\n# tcId = 275\nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nsig = 8d2611d4c79f6b2087ae8bc76610905c361b9fe0a6629388197b4293f9e14ecbeb377206e4c1db35cdc0ab163dc5c51e8a7370a059e9ee8014d18ef0937f7936879d7825c792180a4f10a0d46e0a954f093d703b82bd076dcec0b8a66fc3be9bdf79ce4550c453015dc1c7397ec1bfceed040a4d777915546b9cbcf1eeb13eb71ac49c235e69cb07c315d529442f4863d61b7d5caa5ce07820edf649a9342211a26f8280dab9c5dd11af0752168326f8e8d5e834ddba3bce063f011eccc8f46d\nflags = SmallModulus\n\n# tcId = 276\nmsg = 54657374\nresult = acceptable\nsig = e12e3540e7f20fb5533772e91b708151c12d8440ba9bc994791f5916d521726b53969063f9e13114ab89de0b0adf119cfaf19dd74a65b5eee32f39e69ab6776dba721adb2a8dea1495c51d5984b6aa2b5d216eb48459103907442f725410f53ddd5d006762dd3167c2da3bdb19f07d27e3fda712f444c093f4c8126d40ca7c381ab1d3875294df84055239ebac5039490b597366b58c2806e52f1f259c9ed16f829f41851b6ce7e390ea73251395bf940997d47bc323657160ede973f2342b91\nflags = SmallModulus\n\n# tcId = 277\nmsg = 313233343030\nresult = acceptable\nsig = 90ea80b14758fa12319e54c446e70bf5bede38f5d8d8e978531e6c54c567b63a0fb7b870ab963f979c4015c27714dc9292a48123c0a1f13896055f6628687040459488bca149f410cdae4249ef918f10329e902f1344a666fdf96085b7bbfb086ee2f4e5891904f945d867a50289da018c245be31b684bebb8d", + "c367d43d53448865dc005ffd58e2f76f1ae8ac51fa7ad723db9bf3b78b82bc5b0e209ed216575009c27a6d46bfd1d9ba35fd50eaf4a39afd7b3dfdbd2f437d0d97b5b08e1870b\nflags = SmallModulus\n\n# tcId = 278\nmsg = 4d657373616765\nresult = acceptable\nsig = 3ebfdd69af2a561bdf4315d015d397b8af75f6c17a3e6e1c6b52bd6e812bd9112e1920f6cabd82b996b1b48be3aa40e447d29689be7dc64b8548ce5414318c4288a6ccee97f55c523661e629d3cb124b97a042c1e77a9b039a8631815c535c8216912ea47684a7220a63c198ef2b80568882e153be8fe92ae4c786a5fd56a1e64fdb235663f3a242c121e59df3a19c29282e647a5123583378577925f399560f6ad3b2a4c2b18ca2547aab5e3ed4030c6585fd2abd1d65fc720bb30354c966d9\nflags = SmallModulus\n\n# tcId = 279\nmsg = 61\nresult = acceptable\nsig = 7fbb42d2bc1c3e5a0f66fedd581e5ce3e555f6f1c736db24b6e963d2ba72118cc989e2969c21bede87ff3f4209f2b009263b7ca3716a9d3e7115dfe65bad1ea2a1013304696248dd2b1d70764dae248bd1e9d49623826f2c6640247cbe8bcda47d882e298f30bcf3db1f496c26b738848e9876e4b70f0ca8259760e919e5c5c0a2ce3d05b5804a94b67f4c719fdeb3ce23657a26635f867af0271736ba20abb7fff18bda006c48d9c3ed774365d00aa0340a04906fc07f00b18a572c96f986f5\nflags = SmallModulus\n\n# tcId = 280\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nsig = b9b478f6ddabce2b1ffb306e2135132df09585be16eaa5182b8476796c10b0eecaff9b91100882f5872e00e3d1df2df40969ca4d00596b6d6c9c13d3a956dd8d91decbd3a48728aea05b8f7707414a8a5de3bf0becbc20ae0ba852ee7c4f2c177f3d95a4a8375ac50e11fd2be4da1f94608786fc84747117604138d06956387924e5d7baa2c97e25d1b0125122c0a13981559db80ac2d6848f4db163027c4484a51ac5095f5653b12059440dac69970b5680e017a7eb2861c857a607446b9420\nflags = SmallModulus\n\n[e = 010001]\n[keyAsn = 3081c90281c100d1060fe7c6d185f09c3c1865cf6beaf5dc9306f2f3646bbccf19e47fadf98cfda7716c797d15afe506d573f19163ae2ab0ed9964c7b125dad7841125d38dd9f430b30fe5ea0d24083cb9b09f241b0700821cb5e40dc781e72ed95a2a8cfd33da065c58db8b8166aaec385a5db04f473198fa3b27d4de0a3267b11769af1178d284fb9ca6ac2ffd03b940509dbf2383838d39e0d5c93fe29a6802e12716431e25965f5b7b146663f4e5567ac4c3edf8824913d26ff2dd03830c8a0645adb04d7f0203010001]\n[keyDer = 3081df300d06092a864886f70d01010105000381cd003081c90281c100d1060fe7c6d185f09c3c1865cf6beaf5dc9306f2f3646bbccf19e47fadf98cfda7716c797d15afe506d573f19163ae2ab0ed9964c7b125dad7841125d38dd9f430b30fe5ea0d24083cb9b09f241b0700821cb5e40dc781e72ed95a2a8cfd33da065c58db8b8166aaec385a5db04f473198fa3b27d4de0a3267b11769af1178d284fb9ca6ac2ffd03b940509dbf2383838d39e0d5c93fe29a6802e12716431e25965f5b7b146663f4e5567ac4c3edf8824913d26ff2dd03830c8a0645adb04d7f0203010001]\n[keysize = 1536]\n[n = 00d1060fe7c6d185f09c3c1865cf6beaf5dc9306f2f3646bbccf19e47fadf98cfda7716c797d15afe506d573f19163ae2ab0ed9964c7b125dad7841125d38dd9f430b30fe5ea0d24083cb9b09f241b0700821cb5e40dc781e72ed95a2a8cfd33da065c58db8b8166aaec385a5db04f473198fa3b27d4de0a3267b11769af1178d284fb9ca6ac2ffd03b940509dbf2383838d39e0d5c93fe29a6802e12716431e25965f5b7b146663f4e5567ac4c3edf8824913d26ff2dd03830c8a0645adb04d7f]\n[sha = SHA-256]\n\n# tcId = 281\nmsg = \nresult = acceptable\nsig = 6ad0dd65817b10486fe56f76f21a6440359e267eaed42efd149363768eafb8744b23d5041b9b8a38d62ed614217c034dd6021b56bbf6591fef3f3fe94b8459bea1f4de143fe8a8df26ce11e979629ee0b8708253dbb30efb17bf5697874767fa6076147419305e9d2b8fd708fc7d2ca97faeaf7d555dc65337766b1150dd3020391e7901c5b170d3b2311cef2f849f5a6e7a0b513f4f9cadf8be86ca9976772ecec71065660974e923eecdb273408bbb438dd16e92c3a50521d44b146d5a4e9f\nflags = SmallModulus\n\n# tcId = 282\nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nsig = 3abc0bb585283d073261513c0fd160724f18cb6754d09cee83fd3e2f7f75b5f30219df05302708aab7ccf88457afcedbc0bf822a9aeb81280cad4c3077e352ec05b2146edf2a5e60d4019552d56ad9db03775b7ce532d7a75a5edeaa45193a91984d129e420b4c660bc735204654ed332951ec701cfa6093772608c448caca2362351cfe02178c2e10c1f4889b42c30b807370589d30dba7d0f1fbf19f9379a37377193e59fe18949be88b7fb7454bfdfd70d4431d02455451ab041643349d38\nflags = SmallModulus\n\n# tcId = 283\nmsg = 54657374\nresult = acceptable\nsig = bc3fb8fe3e7a878f63a2773776be6d7ea625036ba977abe44e4734d9d69b34c6d988f02db4de9786e12167c6a8879cd17f960b1cd30241c37c28a6517a44c14c9cf720ae5669bcf00ef562e0e8f7187173d804586d715412e3b96fb6e2a4544521e7a8c88c626d7b9e5a2e860df0e73e1e7aea674d6b24b0738c87636fab9a871ee163e911b7ff6fa056b730c9d6d6b3c22616bd14bdd7440e3958b07f462ce1aff8e0e774964e33e2ac34ec9cc018b6e487dd4258113a2797916e50e80a607f\nflags = SmallModulus\n\n# tcId = 284\nmsg = 313233343030\nresult = acceptable\nsig = 8de0a726953328ca953cf5c947a7c9f8bf1388e8caadf5c3d7dd8aa7ef69ad57fc481f9ae9edcbd2c5d9d5eccea94736cf5be8eaa401588ab14a5e73277525ce3944a4e27172775af0d386b9ea00f7016cae8537b32bfa74d454ad7008db5f82c9986cd9e6312803dc60285fbe38a4cc40a6b9304f75968891a95a9e0b45e589f2a7f20e177f275d5ffa064e629b4df7fbfc9e004dcdc27ae17994a9bfc1db7c6eaa44842fc7916d93182a9b573bb6b70c593c4a77087c2f6ca4ec851f964450\nflags = SmallModulus\n\n# tcId = 285\nmsg = 4d657373616765\nresult = acceptable\nsig = b1f009cf8cbd1cd2466b157f0dd94bf389fc43202fb8d4028d9a22152e9f20bc24d7b5864a1e0ba93f21f153993fe03ea40f208473200f9abe72fae78cbc23866c47937e6133ba36753f5c86f6e98868a45897c9782779b5118b5d15f83c9029b570406d86ba4cb64f4724de0ec073c63b5b7cbd3b551a31f260d70d1b83150d5481298df0be246d055aced5eb952c4f63c10b1c73aeaad9088cb295c2ccf67b85dee5884255caf9d43edb8da9240d0f81a77422edce7ef3de6275cdefcf3e99\nflags = SmallModulus\n\n# tcId = 286\nmsg = 61\nresult = acceptable\nsig = a1c38eda275127dfcc0fff930a922fae94ade9dd62c5a06e7c31cd1744d39432419cf980631f49470b6e252a920a9227ec92ca4c49a922eff890095f9898f11b3ef51e50f1c44db53ad3cfa58d2406377e6f7999f18b2d5f8a0b99531580fa8b83e542e196ef779825d3c1213a6c0400270a34c9ef8de104705c093b8dcc256374ca532db77eecaa5c7c6cdbdade86756a1c771c4176e5e1fbcd59de5cfcb506217d66bf5e7ae5f67955261a4032cebb1fd31bf1a48e6fed6ec287bcbd8244e6\nflags = SmallModulus\n\n# tcId = 287\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nsig = 9bcb95b7ac8607d7b468fa68640c9b03fc66e39970b96789b61e2dda56ea42b0c105e75e8fa3bc57e975381a348d6bed64bd3d0ad7d3c4ed608324751a6e4c3b66fe755763c8ae38f00d8558519512ef089284efb144d8cb9f28f597b1ea6f5a270a615ab6575e857dec62d66a398c03284160cc910f6f1c44a6497a9ed7c0d8d99bf3f35dd09b836f5a3c552068eca9b7eda3721cef01b9b861e3eca2fe20341272090004779e5db2da98d61ef1c306e7b7966abccd01fd611ea6931955d226\nflags = SmallModulus\n\n[e = 010001]\n[keyAsn = 3081c90281c100d1f33c4d0c3b127cfd4c711aef054e291cb9a9b7b769d6dfcea5ba02d99f0807ffb63f097ed7b5c5e2ad09578c749863a96a2bedc3e72738fe887a4a1fae6ca8c8e722c8dedc065a4df9f5c38e950175a7e0de9008f3a9a67e3413f9891e2f8a70b29f55dd21d2cba16f8e2300ef7c35ed1e42ebfbe70645230ddd8c067dae9069ae5f32937a207e0e7896e87fb399e6c93bc5bf6c2504fbdb3ecfc281f8da29115b2ec41eb9acc4176e311fe8dbcac24b57f8d656600e5fb4095eb4bf90b6e90203010001]\n[keyDer = 3081df300d06092a864886f70d01010105000381cd003081c90281c100d1f33c4d0c3b127cfd4c711aef054e291cb9a9b7b769d6dfcea5ba02d99f0807ffb63f097ed7b5c5e2ad09578c749863a96a2bedc3e72738fe887a4a1fae6ca8c8e722c8dedc065a4df9f5c38e950175a7e0de9008f3a9a67e3413f9891e2f8a70b29f55dd21d2cba16f8e2300ef7c35ed1e42ebfbe70645230ddd8c067dae9069ae5f32937a207e0e7896e87fb399e6c93bc5bf6c2504fbdb3ecfc281f8da29115b2ec41eb9acc4176e311fe8dbcac24b57f8d656600e5fb4095eb4bf90b6e90203010001]\n[keysize = 1536]\n[n = 00d1f33c4d0c3b127cfd4c711aef054e291cb9a9b7b769d6dfcea5ba02d99f0807ffb63f097ed7b5c5e2ad09578c749863a96a2bedc3e72738fe887a4a1fae6ca8c8e722c8dedc065a4df9f5c38e950175a7e0de9008f3a9a67e3413f9891e2f8a70b29f55dd21d2cba16f8e2300ef7c35ed1e42ebfbe70645230ddd8c067dae9069ae5f32937a207e0e7896e87fb399e6c93bc5bf6c2504fbdb3ecfc281f8da29115b2ec41eb9acc4176e311fe8dbcac24b57f8d656600e5fb4095eb4bf90b6e9]\n[sha = SHA-256]\n\n# tcId = 288\nmsg = \nresult = acceptable\nsig = 5d8f4485ca79ed8d487eab377326b138b29948f477d3da0ed934d299e2b06b7d9409f5c312b17321fa20b2c66ae8ef9d084fff2e8cc596d6d417887e04e2ef8a2b73dcb1a04400cdec16af177f8017047c3ae546e03e6fe31ad3bc6d89862d94229baa49f6277392b252d4f715c7a41e41a6200a200f7343b50a72e5d7a3ed0f264c03d381963ccd16777e3d9cb4187e7a5a9886680581c9977299df16d06318f5bb94cd157954792a71976a795da8e6fe088802823b6ba69359f08b9e42b891\nflags = SmallModulus\n\n# tcId = 289\nmsg = 0000000000000000000000000000000000000000\nresult = acceptable\nsig = 4d98f3a8d8bb66578c89245b8a095f043edcc4429b0fea86eb673c5f0da52acf3d16e2af500c18b7b53435a9822", + "2d0f9fe299cf4156651f629b24ec525be4c409bb583f371b2803485cf6ae37849a46ebef52895225e9cb671e6c9055f2f3e3f74cbb6fcc222361822552191026d372892a531f05f3f81884213d093b008c988f01941b9a9208c2ffb325f2028e5dd31710610bb7d48f5d0b34f4dd83e26e9a88d7c030c4df0e031ca99ed46975d0d893515eb84d86cf39249dc90bc0e08a7ba\nflags = SmallModulus\n\n# tcId = 290\nmsg = 54657374\nresult = acceptable\nsig = 03173d361263214f6d72afb3dff674613ae3b9712ba4b3f0fca1193843dae58f38ad514cd5f6a46d0a6ffaec4fdac08897d0cffdf6e20c51a961df24ed1982b426e218fc52ba8919f60fa71c156717a5ed9f3030cd864fd810acc9343ad8b8f441863bd0bf3e80e5bf874200896f0abce8af141ce61f2d5e87db31a0f19baa54e41f75c5df29853e1fe678318657a217649c8fa2337c13b0e514fbb916b5747fccf7b6bacbbf0a4d7771a00d3ad88289bf854d5f9db6fb8954332fea68e8e746\nflags = SmallModulus\n\n# tcId = 291\nmsg = 313233343030\nresult = acceptable\nsig = 8f404e26dd9a51485d1546e9bb7f56f68f0927f2f19b8bc0c4db218f3df28e1c9674650ffcf9645e02d1f44d98404c8ddf54438bee61524e2d69091f76a99dfdf796a83499f8870adc182e55712a642922b8e98ca33ef0cf05903ba51f1be648220a19194dab35082559d5f1c087c6702f102f526fc0de1dc98756b29e817f4792e3d0ff40a931002c077e0eaaa5f63a5a1be90de3b9e6800803cf909fed91059e83f4bcde83c6e528808e20c000009bad95f8030ccba058a21073247c3bc3cc\nflags = SmallModulus\n\n# tcId = 292\nmsg = 4d657373616765\nresult = acceptable\nsig = 3b96356882fa7825599f7d5295d9a367158d4729887827522fbad2f7a741fc031a9fd66f70a9ad398eca4054ecafdd7da2d821b5a940d633d2a7540c18ca311e9cbdef6fa5148bca6bd2ddc1a6b4f9e8665b49042baf99de02fa86d68f0c0f4d8bab3f46c7e65b6f9b7447140cebd230a8aaca90d1f6a5725dd3e85874f10a6564b897f83a7b2b3a07cf758ca6cea8383ecbf907a1479fe8510f22b3614b133bd0bcacca8f8daf4016cee0cd2f9f69b628d4d45ebf5d0cb545349f6f94b0e4bc\nflags = SmallModulus\n\n# tcId = 293\nmsg = 61\nresult = acceptable\nsig = ad5baaebabdc825e48072ef1cb22bf8d697f5a86a2cee89bd0313f7edb02cdab90e31b5d83a33322b8987c0c3dc54b110c9a2f0f56429d39ff96f7cfc7fb2570de2efc918f792fbec177a95bf2362429b936b3c65187b13c04304bb660646638cdd3a9be2e4d47a11b1ececcfaa99fc43359e5e4cf435730ec059203f476a06bf997ea7044a0a8b2f55cfc82d24c9542a0a9df9a584a148386d8a03266b71f8ed8114f3fc0dfb534a3b44778c40d5a3e44d04f76eab464659d53204abf97a8b6\nflags = SmallModulus\n\n# tcId = 294\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = acceptable\nsig = 91e47e671a2e9d0e68ac78a8716e02d68ccbfe350677ae53ba1b0bbe085e71e47090653a7b7d18a3d80a67e4023ce56ff59d9565838f9c0c74503addb3c9787977de5286cb6b602dcfe0721fc7a3998ef018b56d4a4e3d578e8021d08599ccc8895df7a9324e8abd2162e81576fe19ea678bdffc86660fd7a180e96ed872710e6ec96132530b16afc47427f91df4ab95300633c028f433ba0c308638992e61ae8c2b6b83af10e622fb1cb269cb453ffa4a67d211f23029e093d4dcb434361356\nflags = SmallModulus\n\n[e = 010001]\n[keyAsn = 3082010a0282010100bd31c7a02691d2d9587ef6a946ff788544ccadd4b2988ad62086792a6bf96c8616b4ad13317d2270b901d0fcd1d880cb8f52fb87304a5258c11b38dfeae8df670aeee7ea1d0d9df8e00e80847e41e5989ed402d44e78b30fef17b5671d3adbf8685e4dc204499ecd1863e1d5aff28a7cf66eadf31fec9236c120add13451522c647c9832a672cd64d328c1c322183f4661d09bda60b8dd5f0328da5420821424afdabb1a80c5d12763a1b0238cd89d0742bfc50b6a2fcb701d824218f9826f4f78a23a2b5aa42ace7f175376fb6cbdb2bad293ba583d4d31c6b8f9029e46b13689249855f505756e00e225a6a45a18769bd8d2b3a4acb9f1c23d3e51882561e50203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bd31c7a02691d2d9587ef6a946ff788544ccadd4b2988ad62086792a6bf96c8616b4ad13317d2270b901d0fcd1d880cb8f52fb87304a5258c11b38dfeae8df670aeee7ea1d0d9df8e00e80847e41e5989ed402d44e78b30fef17b5671d3adbf8685e4dc204499ecd1863e1d5aff28a7cf66eadf31fec9236c120add13451522c647c9832a672cd64d328c1c322183f4661d09bda60b8dd5f0328da5420821424afdabb1a80c5d12763a1b0238cd89d0742bfc50b6a2fcb701d824218f9826f4f78a23a2b5aa42ace7f175376fb6cbdb2bad293ba583d4d31c6b8f9029e46b13689249855f505756e00e225a6a45a18769bd8d2b3a4acb9f1c23d3e51882561e50203010001]\n[keysize = 2048]\n[n = 00bd31c7a02691d2d9587ef6a946ff788544ccadd4b2988ad62086792a6bf96c8616b4ad13317d2270b901d0fcd1d880cb8f52fb87304a5258c11b38dfeae8df670aeee7ea1d0d9df8e00e80847e41e5989ed402d44e78b30fef17b5671d3adbf8685e4dc204499ecd1863e1d5aff28a7cf66eadf31fec9236c120add13451522c647c9832a672cd64d328c1c322183f4661d09bda60b8dd5f0328da5420821424afdabb1a80c5d12763a1b0238cd89d0742bfc50b6a2fcb701d824218f9826f4f78a23a2b5aa42ace7f175376fb6cbdb2bad293ba583d4d31c6b8f9029e46b13689249855f505756e00e225a6a45a18769bd8d2b3a4acb9f1c23d3e51882561e5]\n[sha = SHA-256]\n\n# tcId = 295\nmsg = \nresult = valid\nsig = 00b19d8a2b9227ab7ab63e9c5dab525e1908635115c5133a2d89f56ceb3c7a846e1aa5422f866554561af81200edd66f349516267c5b42b5566b0c5494c9898855d2a55184ba86e36c1f758fb3f573d2c8902e086c5af308df639107433d862f3054825d229afffd2b6c4d66bb424e1f1917219cbf5e2feb2a15009b211f8135c0fc764dc577113bc0815348b14525d9c766f4537b499080747ef28d9525b27f2a5075b37cef52c38a537b3a384ac85ed2813207b126a048f8c034c06e08e7c9a9a5598b447669ac2b2e8febc5c04baeb5c1b073d379e5f6a636c416746d5c04f7b4a3e5f9489de27b65307bda9c082b24873c75024d4599c6fa3b4ded40389a\n\n# tcId = 296\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 1a6752d24112f3faabde6771f96d63409fc8cde9b47325f97ecc3de0d674a0eed7960b8fdeaba2921ea0ffa17ec341f2656d8c748f7bcbed783b5df1cbc7e7174fcd2a9a2062c206e0892ed1cd6fca9cd1b68599c38282c8976aff6539856e99386cffbbac707f71498fb66355d95aa8d2b0ef622bc89a847c5c6c9973f1fb047b32c88aaa8d0e56c9da2d19136f2f0f4ed215d9f1555fa850a713f1dfdf7c988931200b81691c4ff13010674400e53396098355754f9f26cc9f6347c0242282bceeeb304e95233cb4ed21dec228354d0b80e691ce9ef2122a55862f50e7a6b0ae081bf6097e1c2ed1efe3cb78258af85f0139ad9d5050b3f186776ce5871f21\n\n# tcId = 297\nmsg = 54657374\nresult = valid\nsig = 93248b4218cb8d188d3af7f5ebdc9badbbad3dd5540d01124c36242677905c59d4e61a1906555660a934e61536f3df3c1ba1d7deea33889cdb223d848a14337590bb7df6b6060351bf6ca0d831918dc333f150af7a60649585ce2b4f9402bd1790b7e0bf7c8832ca482fec7b26d3f1c754817dd287055360744eefcec54eb80734e3b226ab54f95a057c74e0d3eda41303984faea940b7040cd3e9303b2e22a3fa2e3a0d13f6c2b81d92be3518f9027bc0fd099268d18e3e686ca2eace1f5c371e34c3a4910d8c661efd7e25255b253d9a14607ed22ae0076b2c7012b6c61f7ddb92559b0111e2eed0ea8d0529007cad3fa6d4919e5a00c3d8ffbd2658c6de7a\n\n# tcId = 298\nmsg = 313233343030\nresult = valid\nsig = 201aa402275f3c75bfd46a1f099c0b5613e862461adf57d3d94a95951d44a81c0cddd86ecdfcbeee7c890ab999d05ea0795f4bcf7a62e2a1807599b33d9548a8bdcc6f1d0e8c06243995e64dfd9b2ecb7175d0062660f14d5da369fc56dae52aa9c07e18cf8314989973d3433e15691c469eeebeb05dd3ad30e8c496819af126572b14f73c173620049a512a789f0caa515b04100d49b43b1044d70d7eda9f68d7fd227586897bddbeab4499faec6417d67108c88f27898633028341426774c3b3c3bca8c4d3e18df8c0b07da56e6c00dbd770f3e848777b273e0d7afa5394ef29a54c3a6451e571ed9933b54c2456212c991fe8c5cab8bfcd77a7c7521419fb\n\n# tcId = 299\nmsg = 4d657373616765\nresult = valid\nsig = 253499849e32ae10395edbdc3e54e1c4ec0ff26b607ba3ab4932ab5627b0f26a8384fa91b3949db51a363512dc9a64f40ae9f27305fe397def3c6a17d5b7899580c002efc960bbc6fc005dd9fff3c7a69177c9ae8ec061b352a8fe4a342c6b3258423b8097b26fb743417227babb537ee08f15c3bbfc538af8c1b02dacdaf18d1c62fc8d120ab50d6dfa0d3b63eb316ac375c8d25bdf0c653ca5bcc6939ac7ecd3c648f6d56404be99565b5f0e1e70dd3b440b3d07a4848182c259b471a7ef2f34fdba259933cb58c7828c70537107198e98be174f45ad0b2da87550ced3639abce8c9df2a5a0e73c403d64e0e0326e5313d0e869c3080685c4437f659b241ef\n\n# tcId = 300\nmsg = 61\nresult = valid\nsig = 6143e8b796bffea36e9d58716e3e16c73a792a60c99649f954b0ca7a3b9922def9a115517a56f0f9ee64230914431ce5c2281829eeb245054530e0780605385b6b0876e5f70691c6041f6fc7f8e282998038a20bf8a2c4f4983dcf4fdd4e10523a6bb799951244f385aa2a753e6a9d89588ed03dcd65d16ea605a06b236197345fd9c25a72c5168bda5454a2c933a71005e881fe7495c82b654836873307664480b4e43e842e1a9c616734881e824afedb59a08214af3e15bb557afb8d73f7574ebe294147d5183eff6a53051567825a96cad82095d830f9486ad85601d4348d5ce92b6afb07adc8efc22041ffc30acddb542381fd584584509d37bf49db7957\n\n# tcId = 301\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\nsig = 998a9f7b1870c3b05b22f9bfbd70db2ff671ba7c8cd89a86f180ecd992b790cfca1b4e8569104e233ae605fcc741a8ec62268f39372c3323b0ef7ed91ab271308eca524592cd2637a5f2d77d31961e7f44b101b61360466044e208242a7dee9024eecedf22a8402ac971e5297a94fd96506c090dc695b36c5d798049d9f583660bcd0fbd7c296f5e0b57f001", + "8317697b7926c4bf8e25cda19bc52932de6ad9c7f73e18d73e603c090eaca5d256dd06138c3366e89f3cad37807f456af40923251a1b69fea2ef83b2da1da869417a1b5b5675387c1483141697435933d0c2a1ece2e9308f760052ab6d96858f7f6521844ee9f22aa2f12446a2c3e7a559365be2\n\n[e = 010001]\n[keyAsn = 3082010a0282010100c32cd0e1441fde8a2896ca3a133735be2d1010777cfc739afc77b6daa66f367d4876dccb3021fc22c25450a68d6cfb1191d485cbfba5ec45b49286d7cae2bdae553f47e10b94f867abcc6d0affc733bacc725e5ab4de1aba19a39d748b4c1355d5a6a710a52bd04c0c24e7bc3bdab8f3ce3ae86ecb31c4b45e10b40ddb5fdd40cb2411bcf5b1d392e1eef959cff2709a6e02b20ff3b4343641a6b78599586edc9b673d9f3f5e9d339ceebf96a1a31655876c39fcb00b1c3e571908c9b744765047abb5c23ecc42e551e13755e38cc9a13e1e02bcd5dcec9c301fab75be3e1a8ee9c42981607aba7855f4bbe76c8c160e80468b54bdf9f438b177c33dee30b0f50203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100c32cd0e1441fde8a2896ca3a133735be2d1010777cfc739afc77b6daa66f367d4876dccb3021fc22c25450a68d6cfb1191d485cbfba5ec45b49286d7cae2bdae553f47e10b94f867abcc6d0affc733bacc725e5ab4de1aba19a39d748b4c1355d5a6a710a52bd04c0c24e7bc3bdab8f3ce3ae86ecb31c4b45e10b40ddb5fdd40cb2411bcf5b1d392e1eef959cff2709a6e02b20ff3b4343641a6b78599586edc9b673d9f3f5e9d339ceebf96a1a31655876c39fcb00b1c3e571908c9b744765047abb5c23ecc42e551e13755e38cc9a13e1e02bcd5dcec9c301fab75be3e1a8ee9c42981607aba7855f4bbe76c8c160e80468b54bdf9f438b177c33dee30b0f50203010001]\n[keysize = 2048]\n[n = 00c32cd0e1441fde8a2896ca3a133735be2d1010777cfc739afc77b6daa66f367d4876dccb3021fc22c25450a68d6cfb1191d485cbfba5ec45b49286d7cae2bdae553f47e10b94f867abcc6d0affc733bacc725e5ab4de1aba19a39d748b4c1355d5a6a710a52bd04c0c24e7bc3bdab8f3ce3ae86ecb31c4b45e10b40ddb5fdd40cb2411bcf5b1d392e1eef959cff2709a6e02b20ff3b4343641a6b78599586edc9b673d9f3f5e9d339ceebf96a1a31655876c39fcb00b1c3e571908c9b744765047abb5c23ecc42e551e13755e38cc9a13e1e02bcd5dcec9c301fab75be3e1a8ee9c42981607aba7855f4bbe76c8c160e80468b54bdf9f438b177c33dee30b0f5]\n[sha = SHA-256]\n\n# tcId = 302\nmsg = \nresult = valid\nsig = 6ff210ab793b24026c588295e2e5d1bc475aa24344cf1ef7000a3a24d09f7e16c9b3d8617355d0aae1f233794d7e390dd442eb93c2f8abcd5925698de1347dc5c44ee6744409fd5d4e07e78b477fb3b44506eeb70778efd7397b632a233454abe0559c602173869680ffd7cf0a6b68ffe4b358d8db527649b6bf4e237461459103edd10357379e5312dc10977d631010b23d608c19e1dcc729ac6bcbe3b0c032e38e1036611cc9214c0c2dc9587530eba67b9f6b4ac3b4722efbe62190ed906bcd8f971ac6c072bd30f4b7a93522571a2d427677f052faca80a21aad123e5624f11762b792088ef12c39beee64022ca1911a35882f8e7b5b450b6f2b76bb529e\n\n# tcId = 303\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 0ce0ffadde896697cf5c838393e394eaa6eca678f21a3b048fe1b1713478390ad6295a99bd35c0e9aed5c97382363c1a7bfb587c76fa4acccf4829e7a13dbbdb21811ea6ffe66e23d915c585e655e19b1206d3828b94aad5b58f7c15be783070b381b5f32d42069b55061ed6de7eca89e895422856808798e8479206b3415e597d79a05c93c94db34c5fd4d711768c9a7dd35e18b0e5a23748a97ff6449443c793d674bc94d922d0595514edad1065bdfd39a6954047c5d352f61ea88b266d8c3665e4452a1cb2f5319db49754174230716fc02886b01f795b249e4057aa8b7997af7b26045225384d619b82a57e9ea991c40a902e74948c3e6b8618748d41b7\n\n# tcId = 304\nmsg = 54657374\nresult = valid\nsig = 1ccff85f2458039505056afc45029f153d761e5abf7c46bb8a3646a1007ec218feba50c92b97e1aca8329ee98e0258bc9da0826611d16abe1bfece7dfec2c07e681f0d2480f79164c3306bc3de10b89a9be73cc12b3ab9924a02af9d5932e8ca4abe99c860c6e963db22717da284be6aa6e8a6e2a08ed7b3d9375455bbdf9867d368082a8555d5cf46cd7fb4a10be36a7c683471f499a00d62f9050c6f632ff659535913ae7214c6583e949325a8d7c257caa53752d8561fb1256e19f930d51551ba00fa4c16cba64000c4f67f81883108772696d12a9fb726b883752f23c2493b6c9f9d2f68835c9f787a2eeb98092d526c3d1a8b659e48590dfe42bb52e08d\n\n# tcId = 305\nmsg = 313233343030\nresult = valid\nsig = bac5e1663853e0a4088543eaf4cdf36e8b1ec7b52fef42081d31e3f294dffb31276834807c4719a1cfb8c7ff8db7020b72058d4dc481da66ab60f40db119cb57b66726329194f8a8e2a22499bb53c1346778b9a02f92e015b82b4ef432a13c51f93999fd3bba3723698bb0724b2cc5f91dcda79e29c5eddad80b7d4a08e3c549170952eeb03188dac1c81bf37dde0378f66fb81102aef841a9a69743f4c78a8e31556fadf5af56d81afa825d37d2f6d8516795abb7d5804ebeab2fe2fbafd5ae355dfb9864c996b147bb5f1d8c1b4ccc3040b42876a27c83df2068f1ae264ba557a6f1c5e0436c04fae398ad4200f5d1d5a872f771934d4a22a1c7785d4bf347\n\n# tcId = 306\nmsg = 4d657373616765\nresult = valid\nsig = 5c19e84cd12131e91ef4ad45d57c6a239f127b202bb5703c3c3b410c9738d62e902f637f8a09fa6c6b7380fa4084def5e0c64794892ef6def44f28f448fab60b475f876b55a62ca09e6fd98ced80bbe2f3b697c25c143936609f4af05ecada3fc66c90567606e0d230c3cf7420c4910b41427b721d3213d9509757c855af7cf75a3b96b52054a57ec985ceac719cbda5dc8eada64c5aace659651b4f358f5e2f2c09d75dd0cecd279af7e2367e02c0172a5b8df807d88f75562465c233618039c0c0c109a58e386fd22dfe3259536e37905a5d9f77e4e52ce6d9ac14886d0eb55f52de0d4810ae92583c1eb7fd8d4c42bc03f24de9404697980ee68860044e1c\n\n# tcId = 307\nmsg = 61\nresult = valid\nsig = 51a7039a70e42c6fd2b38e2b0ebd7c28c11c5ed1fdfdf375b18c6f82a7a8865addec5868fc49190d5d92bb1e0a0ba2e5302159e78832e6a4682ad68229eaf6fbbd41897bc38bab84c82d05e0349591d48b8d66831e9951293a45121e0eceb85c29f3a1915abb7480e33c7a7a4f9358d038dbc95b2304bc9e9d1f3bf50d52ceb5d34175c4e14da4ab57e4ad6c670c949b73471c626deb6b726d6ac3e90e6b207805902251fa0f1cd6c9b3d2f42163efca8e15a1ac64beeccb9151df02e244a80ec73b731e7fcaf25eb3812549244292c8a9fc65385225155288e812b9393932a539bb925811196914c86f0be543418d32c187b2ab859afa640e9ecfc05fe9bcef\n\n# tcId = 308\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\nsig = 9ad84538eae75e7400cecd0975aac5da3d05f4240bc480275a9e503b72edf8bd11748d074802c3bfb61d30a2ae5feda7241f5e0d78ceabb7a0995bca46949b357fd863c1f6ba786140ffbb3da07897e58517809a7296e5b7a4f840a75a58064946638f909e5a388056df1852c35fc9f304a6c224fc75fb32a602fe4576f78e6a56b1da650749a87396fc3f607eed5739a24ec085ff16efef54105e02f0bf895f8bba7839b98d051d737e43b7006723737d4f64b7c7b59739793766fe62a659472e1694b8be22135c734071783958dc6555683761e47f6702ab5f0efb1c4923a9e9da8af724257450fd88b7aa83d5a94e141c6cff9772cd1547ae529fff736e89\n\n[e = 010001]\n[keyAsn = 3082010a0282010100a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d50203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d50203010001]\n[keysize = 2048]\n[n = 00a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d5]\n[sha = SHA-256]\n\n# tcId = 309\nmsg = \nresult = valid\nsig = 840f5dac53106dd1f9c57219224cf51289290c42f20466875ba8e830ac5690e541536fcc8ab03b731f82bf66d83f194e7e180b3963ec7a2f3f7904a7ce49aed47da4d4b79421eaf937d301b3e696169297b797c32c076a12be4de0b58e003c5123051a84a10c62f8dac2f42a8640008eb3c7cccd6760ff5b51b689763922582845f048fb8150e5a7a6ca2eccc7bdc85349ad5b26c52137a79fa3fe5c29ab5cd7615013219c1941b6708e9c3c23feff5febaf0c8ebca5750b54e3e6e99a3e876b396f27860b7f3ec4e9191703c6332d944f6f69751167680c79c4f6b57f1cc8755d24", + "b6ec158ccdbacdb23107a33cb6b332516c13274d1f9dccc21dced869e486\n\n# tcId = 310\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 8a1b220cb2ab415dc760eb7f5bb10335a3cca269d7dbbf7d0962ba79f9cf7b43a5fc09c99a1584f07403473d6c189a836897a5b6f8ea9fa22d601e6ba5f7411fe27c638b81b1a22363583a80fce8c7df3e40fb51bd0e60d0a6653f79f3bcb7ec3e9dc14cfb5b31ab1735bca692d50ac03f979dda92747c6430f8045efa3513ba6e0ce3e9e35570e1c30c8ebe589b44192e1344ca83dfa576fc6fdc7bf1cd7cee875b001c8c02ce8d602769e4bd9d241c4857182a0089a8b67644e73eef105c550efa47a40874289395ac0c4e02fd4ba98e130a4c2d1b95521c6af4a002ac3bdc6e52122ae4c08cc3da1c896e059acbddec574ac0432f6103dd97273d8803c102\n\n# tcId = 311\nmsg = 54657374\nresult = valid\nsig = 264491e844c119f14e425c03282139a558dcdaeb82a4628173cd407fd319f9076eaebc0dd87a1c22e4d17839096886d58a9d5b7f7aeb63efec56c45ac7bead4203b6886e1faa90e028ec0ae094d46bf3f97efdd19045cfbc25a1abda2432639f9876405c0d68f8edbf047c12a454f7681d5d5a2b54bd3723d193dbad4338baad753264006e2d08931c4b8bb79aa1c9cad10eb6605f87c5831f6e2b08e002f9c6f21141f5841d92727dd3e1d99c36bc560da3c9067df99fcaf818941f72588be33032bad22caf6704223bb114d575b6d02d9d222b580005d930e8f40cce9f672eebb634a20177d84351627964b83f2053d736a84ab1a005f63bd5ba943de6205c\n\n# tcId = 312\nmsg = 313233343030\nresult = valid\nsig = 1758eb94588e6fc4f50c1be1afcaa41027869f304cad513b1fb12c2f446d63cdc05c4830a7e3e630da7b2da4f7867cc173bf6420f9732277282596de41ded32e21d0cc31441174da8765f57419c7764ea758f55bc17646eb100c435d1ac0eed6fc7ba6de5f832094ee2f479979765e05ac9976788db3c241a9e32a0da864f0019a87646ba623d63f4411af5dee1be9ec488c7e3e1b231479de70b9ac5f78a17b1f4120aece45f26c07e7bb345fdfeb05e14bcaacc614672a465fc523624cb19f66f9c6c3f642b832ca44cb25176d679f0e05606c3fed022cac24c2bf960a406d48818e3eb7ed53b0446032469047dfed95fc18088c92d91d93722c47f88163a8\n\n# tcId = 313\nmsg = 4d657373616765\nresult = valid\nsig = 513a5abde16b5e0ecb8659d3ca0845800adf75cfc4437d42fa34e7aafbbe35fc5984d3560cba938f9a622e932bb6162b7fbb6cd8c1cf8815f28c495995ac18cdbe8fabfdce29c17aa021df192ac02d080d7c5eda6bd4c99154178a9d5e1cf3ff4177106315f4e6d74c991b601069acd60b55b3bb4dbf6316c35096a487d6756181d3394944f1c742a2f4d608ce4f6abbfb72347ad7d342ae15dd6d1049fbd0ff55f4d7c43ab805f81ff1fbe9256b5c78c2de6beb787f4b6d66d290a3d4c4857368aea5f7ebaa1296020c8f9e3670441a08038bb810e853a654e44316a4e52428745123ce2714020d00e55a9eb82f7fb41c73d852a82b003670246c6ca2045fc8\n\n# tcId = 314\nmsg = 61\nresult = valid\nsig = 38c042a00d6f27742a46f1f963a7b2e04f0eac637849631a491b8e4e58fc721c6ce620d5e705dc8e73409c3909c1c68b6bdb2b30f882cf2797e65030b38c4e7daf6fef9d1f115c890086cf54ca3e7c2b21dcbfd1250ed1d925810970f17dbf482d1784f296adee9ace6979075c1e12f5580cfb322e8737db9d127d38e1b99ed87ec49448a18a6fee650d3c27e4a2a86a3d6e3ce4fe64120be60872fa07a3f78a112715c167fb6c900698ba1afd824087a4cf733335c4a6d5120e3b29bc42f3b3d5db79973e4e321e0910a288d18cdba172d060283c4f4c6656e9175a18b756b7d06251e9060bbfcab04978853eec6032850a0e757bc0c61ad38aa4eb6bb6d907\n\n# tcId = 315\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\nsig = 2ae8d95b19cbd64d0e343ff413fffb85d8e6713c06ac8a1ceba7f3924fa740f8d2b3e120fd71f22711e795cd6468c5e263b1a5ba6ac6b8fa9e23d2d6e7243f510592a61d134e68b8ead00612dbf38c5b7302abc3bf33f23e6d4816a6e3ddcea6482566e84f57464f7d56de4cef0b2256ef21874dda4c131a47292ff8ef853f93804483c8e6373d39ca3a22552e75427b812b861de6a310ff4c366f6f6604116efd9770170aa423554c4ebbd2b5c0698950e66bb5b7c5c346285d9f5c35146255736b6e818e8e77983c93b21e7f60b04a7a525598e7fd8049b181000bffc7f3753a504370f6bb70617ac8e914deb05a198a5758a459c9fcd2fce1aede48e8a852\n\n[e = 010001]\n[keyAsn = 3082010a0282010100cda6fa5ca76bfe0492ec57e0a3bfff7272dc8d1e25ad1fb338aa050f02c104e63133d6b5b7c4985ebbae9ac036a5b9c03074d60aec8e25baf392a0c430ff05b88e948805d3dd74511d8885250a7b574215ada015c559076686e253ccc96c0815b1291ee787cc3363b4f77d930eb998d7c582b24cea9ce21de9722791989863a27ebc80a00de5bd2f9228775e5a4ceb054d58c9be36a054336971a13642dd9510dd696aa268db3aab2299d5d88f8e562434d1427094d3df8e72d1ef69b4ed34d12bac375223b2a25cf227f735f816e85e17239304769a6082154cd15899fc1eaefb69b748a3e5ed24d38372597de3e4e2a27b951d6ac7db182d6809d8ff511b7f0203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100cda6fa5ca76bfe0492ec57e0a3bfff7272dc8d1e25ad1fb338aa050f02c104e63133d6b5b7c4985ebbae9ac036a5b9c03074d60aec8e25baf392a0c430ff05b88e948805d3dd74511d8885250a7b574215ada015c559076686e253ccc96c0815b1291ee787cc3363b4f77d930eb998d7c582b24cea9ce21de9722791989863a27ebc80a00de5bd2f9228775e5a4ceb054d58c9be36a054336971a13642dd9510dd696aa268db3aab2299d5d88f8e562434d1427094d3df8e72d1ef69b4ed34d12bac375223b2a25cf227f735f816e85e17239304769a6082154cd15899fc1eaefb69b748a3e5ed24d38372597de3e4e2a27b951d6ac7db182d6809d8ff511b7f0203010001]\n[keysize = 2048]\n[n = 00cda6fa5ca76bfe0492ec57e0a3bfff7272dc8d1e25ad1fb338aa050f02c104e63133d6b5b7c4985ebbae9ac036a5b9c03074d60aec8e25baf392a0c430ff05b88e948805d3dd74511d8885250a7b574215ada015c559076686e253ccc96c0815b1291ee787cc3363b4f77d930eb998d7c582b24cea9ce21de9722791989863a27ebc80a00de5bd2f9228775e5a4ceb054d58c9be36a054336971a13642dd9510dd696aa268db3aab2299d5d88f8e562434d1427094d3df8e72d1ef69b4ed34d12bac375223b2a25cf227f735f816e85e17239304769a6082154cd15899fc1eaefb69b748a3e5ed24d38372597de3e4e2a27b951d6ac7db182d6809d8ff511b7f]\n[sha = SHA-256]\n\n# tcId = 316\nmsg = \nresult = valid\nsig = 761cf7ff1ecb38e7741b946896985d34ac1f0122ab449afe8b086b2310f730056d7c5107355b2a17736e10824046192490e2bbe239b49d38bcc5f34d0b817c192775a40a57887343ee7558d48ae90876b82b6690435dcd9611126a99a27c020c3c0f914ac33a6a36fd7198dbfae23033a2b2435aa7183568c7af6cd7ce30edaa112e44fb88cb1b61ca555b4d5320997a5bd3ef02d6d049e859646bab7cd46c9dc6f3c7bed342ef74aad8eb4dacacba64628a83431d4954f7c8eb2cff220481242aa04167970a33d3eb65462ef4f4c3ad5fd4c8c312ecfa8a17cf01f5e418c26840f6b9bd3e5335740290e6b8c79998933f22632335aed0c56a980feb823d54f0\n\n# tcId = 317\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = ad686a97bb6564e4ee656f12ca9a0b237caadf6c99b869afc7a6bb97115c97e2456d7672ea7a7072f4921f6cf8f73f00222b36a40e8b5eca409136ccf97013a4b0f07a6406b846f6a548d800ac19a07c1d9164b1b04a8606770c8cee4126d23abfa7ae8f1e4ef9bffb3debdab03a650ea4824be759f849199faffca95a94784157dfbb69a7ccf8cd760cbf9c728d2183d1d410687ca35b8fbdb3b6422271408dba8ed3c419ed0f3661897b0a65409b54f0f6a609d0dc48b9c9282837a02517d86e8c3b48174df2f82e06adb5bc6e86e4b75569137209928ff750e83a4bab7fc071fa7b01aade8df75789ee726ac23d6b324b662daddcb2f27b6f486ef3b7db8f\n\n# tcId = 318\nmsg = 54657374\nresult = valid\nsig = 7f5a839a46d78ed9f4f469a5022358a5e43c855946b3409c66b6b982c07571f68c9f3dc5665a93f66b6ae4fdc05ee416a85b2fda6232a76ff3841d7f99c301b3ae0637d985000cd2a7155e3f2d5aa558af2fcfe30fc83fd4df731a200f0b6ffb26cda6447a777f918c9f9fbff1aafd759f6c605c83401e31ce25c8893f1306aaaaf36a702a1fca1c421f284e12a6f81de723e6eb7b04fdf4895e9ba7c7732fbab82c4072450d612d153d6c362938b50774aef8d3b27bab5f3a3809e0e9104ea91b0ddb9bf9c5ef3cc58122982a7c0c79e9c026b7bddf28af2d671ef3ed6407886cda332335ba1034c6b4efe61635010200e1c7c4f2951ae523e37e9df7c86f35\n\n# tcId = 319\nmsg = 313233343030\nresult = valid\nsig = 521e5af2451d73b61b7af2d81eb427bba3911a3f2e61105bf38e15c74196c8e66d52239936aa1a7823606fdb4d243b32dca2c4a95cb3b302fd34a9c0879711095b4d1e75c59d005836c2b9a05ec1daa63148841b285c10bb70f4683994fb0a598b927415ab2004dbdd6405d57804ea142f21600d5bf5487f3f7419ee2c2790a122199cff03be53847cbda28161f37810f046df1c54ffa9e3070ebd1f8b08b3293c6a160ef6593ab497415c2a086cd5242f3509b375f70e12435b01c21bfee65f2156448831050eec3da4df7ddb04acdfd89a5cbd5f9afa75a8e3871378933c1483c28c1bf405c42625b673bd0de4737ca144285af3981fcaa7302534e8c36e9e\n\n# tcId = 320\nmsg = 4d657373616765\nresult = valid\nsig = b731e0b201119fa34f59d4b32590213fc8838b45ff6b207d0efb69dc27c4a418a01525e05bf32de71ae5022c727efec973bc3ba7cb8777efa41fa1a99b917cf316543c192f389f2d67500200ac54d41f691393f1af58832f01cded931818feacf65d87ac0ff5e5e6fe3178f64a3a710db308f3719fb904a9a6499a0886a9766c3eb51e0e9ba2a00057151dbb8bf7bb23b88e29c55e626ede9ae634b9c133ad443999901891d96f90c9c559e783043cd3c9fdc4aa56f65884f2f4ed29be1da21257b2e42bdd0ef5520aa02ebedb347726ea85897bef9b4a7992fce9075dfe56abf35784ce6a7e9905ae56125642e627b2d330adf071afa04a2466df637b8eb706\n\n# tcId = 321\nmsg = 61\nresult = valid\nsig = 2a64d02e8e4abedc4cfd69f9256e0cf15c3997b0e242dab5", + "83de367b2112832717065bbb2b546ff3347d00b5f90da57eec34a6397ba202072bf8d3d2416420a48f5bbbdc299487f45ef01063d520a63f2528d8bb6b1f17b2f7b85d672908c2718ea7ab8bc7144945bf8947b87754b20ae8f5f252a06b71158af7c49e9eeb5477b4dec4d7811e06dd3026943656c6b99d41eac564c3212360d7f123d2f885631b162c086ae1eb03bddb481afea40af58c6d2d822fed48eacd887192b93895d51814ca7fc1323992494a65da4cc36cbcba56fca8fd1a55220922071b7e0f1bd9ad583dd84ae826ea68b2041a2e931f98908fa1b748f211b543f3766ef6ac5f0efc\n\n# tcId = 322\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\nsig = 44b58233a3935a1d488c5d2edd0676cb9fa00be0ec9b0dc9464a6b403268d76dc6ce623b2402ef96e14aa6c124bb9bb3220f5ee4df98e834a1b253ed3ecc3eb08799a9b630412ebabbe825ef0a528c6fa5e837211b940b2f92e4fc8374b1ca63f5e4feef95cf7d4d049976096762c659d99317d900ffa8a1b09c10b2109305effeee8acbc7d50201020c77ce8b2f498324f47bae84a2d5ce4899001f4369c4d6520600537908b6f23ba90ed55f6c07cd22d3bc5f1ac66f7b853847f041c7ec999027db00a99188b79d5e1c9d4e5d79cf92267c106a514f18a9e34a6dabbcc572e3f6ef654023c507bc769a8a9685ac2f85dfcfe57bca2fc0f6a5a149388c0556\n\n[e = 010001]\n[keyAsn = 3082010a0282010100c2c4a860236d3c9096a076d6ba5107e0f7bd81e1ba916f7375724bd2b0b0b63956813715a3457ab0458b71fb35a45b27f9ef7ac3e579dea45dfbfd07819ed6b7021aa5336c58442aadd96ca9ee9d32473e9d9278562b4d10258ade6a98fb1c7cfdc3b3716ef5dec58cf73b359f389599b4b5865a9863519eb001c324387da755450db341309360e3807c0565b8e2c44fbd5e6e8d04d006d7ee768b8e8436082a90fa0e837f32f46087ab4a0d9be28aa7da1794ceb0172a7f50ed20f6df641efbcbfd2aac89775c761a7310093c671c977fa18b0d6e01fb25f7a432b42c65359784c689205719c1cf6e3a65dae2da434c326dde81bb6ffffbdbf6de5c16bba7490203010001]\n[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100c2c4a860236d3c9096a076d6ba5107e0f7bd81e1ba916f7375724bd2b0b0b63956813715a3457ab0458b71fb35a45b27f9ef7ac3e579dea45dfbfd07819ed6b7021aa5336c58442aadd96ca9ee9d32473e9d9278562b4d10258ade6a98fb1c7cfdc3b3716ef5dec58cf73b359f389599b4b5865a9863519eb001c324387da755450db341309360e3807c0565b8e2c44fbd5e6e8d04d006d7ee768b8e8436082a90fa0e837f32f46087ab4a0d9be28aa7da1794ceb0172a7f50ed20f6df641efbcbfd2aac89775c761a7310093c671c977fa18b0d6e01fb25f7a432b42c65359784c689205719c1cf6e3a65dae2da434c326dde81bb6ffffbdbf6de5c16bba7490203010001]\n[keysize = 2048]\n[n = 00c2c4a860236d3c9096a076d6ba5107e0f7bd81e1ba916f7375724bd2b0b0b63956813715a3457ab0458b71fb35a45b27f9ef7ac3e579dea45dfbfd07819ed6b7021aa5336c58442aadd96ca9ee9d32473e9d9278562b4d10258ade6a98fb1c7cfdc3b3716ef5dec58cf73b359f389599b4b5865a9863519eb001c324387da755450db341309360e3807c0565b8e2c44fbd5e6e8d04d006d7ee768b8e8436082a90fa0e837f32f46087ab4a0d9be28aa7da1794ceb0172a7f50ed20f6df641efbcbfd2aac89775c761a7310093c671c977fa18b0d6e01fb25f7a432b42c65359784c689205719c1cf6e3a65dae2da434c326dde81bb6ffffbdbf6de5c16bba749]\n[sha = SHA-256]\n\n# tcId = 323\nmsg = \nresult = valid\nsig = 26f2b1e01e80c01766adcf56263d6c01df403e9669e78521274a37de7a006644fc1957fffc0276d2a93b3e9495b2a0e049a95789cec16989bc6178b0aa8825e83db9dae5852b3fd169d205d58f4fc9eaf71f389148f703e53a96b0d99884724bfb9193bae6b4a597ef303c8f6ff1e17511e23a3b3d91a191f22c08d5c1a52516ba6110e6d19577610ac8acf96fbab7006fbbc6dcd7318656e976a6f7e25b8d3257b85260e14473314ce53906b65f43c544d3020287ffe66a4d9ea82e25504b549329590b9ae74d7fb9b836f83b64b212029bd6fe768610f816fece61fb451250fc24d725bd0ad56f512f282603ca72755783ca70280a7294982a1452d89740e8\n\n# tcId = 324\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 58aa35d98f0a0be06186122b803b2b2bdcc485ac634ab1772af47270830492f2e3967201529c32353edb0eab5b98182bae1e2a99f065f54d5ea0d7f1e286cfdfe68635dece589542e04f6eedc425f268a172920a4212668a06668af463e565d016825f16fb2b31d9183a2c9c6820516f48d3a7f85b64381ef4e8676f0cbf51caa8e436a3e9450874794beffa26a050fcb5c48b98df365effd6c715d78dad2f2596955f87725377a52bf3944ebc02f20dc4888c2ba69cf39446d1e4955ba1bf52f60132cab956d9b3a770a75736ea43016b1005a6580814e6c910d4ced592385b80b81a1bddecafef0db7a53df6725481c181f8c42a71408c1ee4651b70d09093\n\n# tcId = 325\nmsg = 54657374\nresult = valid\nsig = 2432bad850926fa58b1cd04c3e6c31373a6d81f15e69ed8c3dc27c904b625a235956e083f6dc51b66893505ae59d3ebe984e358a457bc1e2e1a368163ddca9252fd0c75702eca0e81009696790f56c94ee329b54bd22a79a5b4b565d397ec97536a4c9b88ef2b275a501a32274c0702f33454c06645400e6a3ee683905790bfaa08d053c39573872542db4e1cbaa6a68b7e40ac20d12384d1f72c082c2326bf42a665a56dc72bb853480603f4e7df014841c48f7b7e2b8cb5bff85aeea3cef2a7245bccfb74699e3d8024f29c635e65e6f74f1322c42408edd92e8d0879cd9adb37b416d95428a760d9c6652f0f211576f05c50245f929447e81e9aa5385845b\n\n# tcId = 326\nmsg = 313233343030\nresult = valid\nsig = aec1eca91968d08b4bf15b9c5fddd9e7a6a20be74486502380faade04d84d9a5916a6c0ef2dccfd5ac7397e76a301096732584e8442f20ae80627588961cdf97e344e131d79e6894be6fd51b72122bc2654d00f943683a8db630d35c6874ea56f908eea64902f18c0a548905b3c13114e3526f3d6ed39061724c8e9df498545ac7f455c37d2e05beecd47c15181161873925049bfb4a671e4d1901a75099c7edd6499268229353073a598174fc937f856fe85f950e9059496348d0a1d9f98aa94208d66ff3f58792ab0afe27075b241a636f1b5835f4a4b330c6f9e032a736119a1d8feb99f6c22f3490a82a65710abc3767e81ad70a230ac4b1db9a327ede40\n\n# tcId = 327\nmsg = 4d657373616765\nresult = valid\nsig = 053313327ff30cbfa78b59ebd4de78cf5b74243bf03a30f74e65b2239fe339f989a90609a04bbb6014af40bfbdb33c5f58b077a25d568747de477709bbb59f16cbe3a3ace7698371025c5af106c8714ae3f923d243b6f75218fdc1c442810c2c90db16288335866dba2fbf195c1c54ef944839fa465388411f94e8a0c9265663f92ea2a9d2b17e803768a39828b4aa7eaf6954feda78d90ec94eb1c6bd7bd1dbd54a3e80185018f18746c2d61f980ebaca6375e5d37b37cbd9e213c52d2a00d146f2f3601d42b1d3e41323338257d854827aca44ed28fa5f3fbd46d4aaebd7b4c39b03ea828f3bf7e40d58316e431b6aa1209448347de678ae6e1d860422eaa7\n\n# tcId = 328\nmsg = 61\nresult = valid\nsig = 60c7a8906d8230d206b22d377cbb35ea97d9ee279dafcc7b60050f160868137afb45e357e8c9f5d8fe8bab6ce8952179848cac9dda57f84fa2c0222e629d2ea265df3b3442ef41fcdd1ce0223def4e3987738b8b56b10255fee391f6f1559004046115a8f5c610cabefdcdd5020a41cb4c1d377f90a0852fb4dfaa0ba25463ef997db4442e47a03836640ef4504e377656b130477a7a4356e67fb48b716de4542599c93334c58b8b00b71dd20746f6e3130fe8c5ff803ff261fa6b862134b421f23e3420a2c4ad2aaac1bbef22d32cf67eb126b8c68fdee9e3a162cad68afc9826c0af273c40511022c9aaf6126ef879f3d27bfacf3d6e0add2098cee47d4b96\n\n# tcId = 329\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\nsig = 2837fabba04e65e8d4f140e2575d557fe41e6ee280cd371bfe3f21b14bcba4c072eb0f156d18f396192a5d4bea5849ce6a4d1a2854395a1b05ce3e7aaab379f65449e080e490dd2a0d17f2e46a5e8c347a4f22abddfeaee4a62127bd0164a16c2319cb5cffb78a34a5d1a6828f25940d11446b689315bbac60a50a372c5b81a755e40306e39ca2f2be403e99d2384fc1d6b761f57a0ea8987a6be50f397082e6446f901add850738e1118ddfc87b0e1af2eeac73d80ea91f68d779f80422ab3716be5fdfad58d935256a7d2a5b7b32ece4e288db9389b3f48bb3956af9a7567aafdf9f8203daf466bc37d62749e36a6b6a3bf1c4bd2db15ccbded7eceb83a4e9\n\n[e = 010001]\n[keyAsn = 3082018a0282018100c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b12030203010001]\n[keyDer = 308201a2300d06092a864886f70d01010105000382018f003082018a0282018100c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c", + "2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b12030203010001]\n[keysize = 3072]\n[n = 00c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b1203]\n[sha = SHA-256]\n\n# tcId = 330\nmsg = \nresult = valid\nsig = 157ffb942b1363b5989ec4beb93fb0187ef016de4ce055620825d13c3dafd4fff621c71920e884ba28c5e98b328baac29ad4bfc4d2cae2f0ecb9d1b6c9fbdfc385aa565aaf6c5b3150e085e0316e21d7d440a873074e5d2700d961114ed420478647a4769d832691f7a004d934a89dc249c9343341902d5d0c3d1a623001265634216beacd5f756821f21c3b58111790657690918a2eafa9e85ab1ee44edd3d8bb89e892acf411ba9eaaeef88eca37dffbda72751c117364fd1b38c840d7b42318fcd011a4449aeffc2de32836d3a4f704d4c8ad4e078315d0d1758f098f2ea749ccce62aac592ac4041b5e733ba0431b88332a39a2af7f68f9bb1f469a793b280b964f285ce5cd1ff3adcd7dbd464a7c9414ed45791073f08415be2dd9f01dc2fec8c3a26fe97d9778e2b2fccf71a1ea5e9ce017d2d46778d7e37bb832ebd5825b3257a7852db5cb6c132bcf9ba3522a670b0e866585444ed3601fd32a922818ef6611626eee3ea99cfcfeeaa4c370567cc65e0479bd35e091b772d7445cade\n\n# tcId = 331\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 631cb4bed6b79dcd3827879f6d64de3ae17e0fdb022be013e733bbfe0031cf204f0508ab87a2e2bbdfaa16cf24acc96b3fd2e72bc4a224428e515d6f1e0ea6927eba6ed7282a959e5df5e52eb3be9a39cfe139ea2fa45c21eb81b3197eff655b918f7c5fff6abab33945557a922063f9600a372ae7701db686f7e1fe4a6e804a0f624331fbb59536733bed3710dcacd22ec74b1a1386d045372853cac91130703ecafad7f6f42ec1aade5cb865339743c83e882f248b0db0855f487a6d3b55442f67773611a11813ff46a58c762b1bd70b5e870c3095507f23758e90b3c84526f47a825f0ae787acfd3ed349ca6786a2e84ec500c6042a9027a994c328c7a6868e6a81481b294383edda62773fd224af46e782ea3f00468515f6100486d94e818afca1bdb81851e62b3bf4f9236f061afafb3e399b93e6f6a295ae200c9bba5ff5aabcac8361c84f2e69aff8a8a21720b900d52ea4bddcfbaba3a231bb9b0dd48f0a4ef1cdd255b3524ca0633d04907ab672314c5e3173108313ff4a97df3772\n\n# tcId = 332\nmsg = 54657374\nresult = valid\nsig = 5819a699691c01a7f35f0bb1831a1cb65631ef693f7c9ef89f1e8460ee2ec312f6fd38fe382b3bf4db8f5d208146c32c5ed2d3b13105743767a73529bfddb5753c8cc13148d41db97f69ea1dee0ef1e1de990ff565f633bd3cfd315a7dafc70aa7f27d4f6486a2f1e2711e7919c5c73c518069338c0ac984d75f58b00fb0eee0f7da6c9c84d97955137417df8f20c02b7893b5cd929ba37f6b3278a1bd35748e14086c5f7100abf2edebeab5f767bb83d999a61cc27531bb67e44a92004fba9944b9c5f770bc66671d2efc74e01fbbd2885c5175a1fd72b91937c324b8d99d3592bfb73efb9641b87949266de441b61d180e141de510ae0cdefc2160df918c08c53799f050ca4eeb3a8b6b5ed35b8b59d3acd13a600a8a137eb1b8c1abbf55f3e99cf52d7092d1e3acc08583b04aa25a052668bc982abf060ffb17c1782daf76fbd69e7fc9510c5c6a68bd525719be5b81d0f2a8b961f1aeac7dc13aeeeef9986c7a47b34f8b96167d79f7ec458fef7345c1c31bba599d09b3fe33e738bc7da1\n\n# tcId = 333\nmsg = 313233343030\nresult = valid\nsig = 636d31d8d5dfe0fc6ab01ef2ccd4602dfea62d386b002c429e7e846e7a98d0cb1d448d25be039d5158887ab46a9dd49c41537a89036a065fc10329df051e5f2e5c1d4436e84790ff6db4d3f31575e5f0fbdfcaee625722c5492fceaa3fb29d0a865200dec06e117b04753ca9450a7ca7f7d1a1176cc38ecab721864413a0d7a22d8fc1595b6cd0032fbf154fbbb31b56d3bf963761ce8ec9fb38bba3419716d0d39e976857e79b1faefd5f5a2ce0ebd94968da1ec3a387804694d90f37b34033c7f70ccfb26beffaafb7bf56c1b8385d489217458e0a68b5d680f9fa45382fd1c227ff3c11e3ec82426ec648a564f0e886e5b12e695dd2fc8465bd9d08731fb140084c79be64d915bcb4ba10f1edb4c37e35231753be2d9f339d37d7b5f22c91584a68a973f9cc469a23d3b5800157dbd72a8405fef4e444ff01f7fd23efa143c1887504e81773743843d8a73209a1deb66c5f305df539bc30e871332e82330e5b66fa6ea253b2b64b4c9781011d20e80ddd8cb83916834eb8fa696b0a4b6bcd\n\n# tcId = 334\nmsg = 4d657373616765\nresult = valid\nsig = 08e0ae3dc0d16c927c423f12a87313afd1d66fbd5d09f48a4dd1a8b52102bbdd208284cdd692932869803a5c7f041a4492ac2e664bb6dd981c370e0c79ee3f7c5c6dd37018986fc2cc618139fe3eb85c0616f0673403c4afe7cbca49c1eff27bbf6d7e541b285ffff20b80bf61dcebcc4250068e25ef5a8e7c3306e49fcc2a1ee0f500a3ec603b472082f12ce4a6a12a6ac66cd4da8b6efac0796e9dcdc66c095a6282ae9a32ad274efe63f43e725410e6ed4c480828ed876b76b71b1cb8c142d0c7a51dc202af796d7bb55cf544dbde2f564f31994911ec7307015b0da2c51abe265a04a74b9afd0791a68e725cd7d8b473296c5d948157c10bc4682f74d843ce72e9ee8719a7a49d9de2f982c5d4490451eaed62c305eae3d0f9cb3493bff056a0dbca8579b7b41dc8deb1becfd5abb455634569d58c5b5535ff1356ccfaddd14e0f9f7f69a7ae9cb9f4c0c9f661fde349facd21f0021423d3a9ee5031855dd242f27009090ff0c15d1655317383231799b18c01fad231385aa5020990f41e\n\n# tcId = 335\nmsg = 61\nresult = valid\nsig = 9858e2557c6b99fbd84bc7eac3e31283a4efb351ff019343760a1e282368938e29ad902d3eb6cb29b35a036dfbcc7e06d2f1d15548df59ced35326295375bacd7a9d28a01b4e8acfb676d80b6295e19c6b7a259df56456e1df72f6a746e9cd31fed9b79b35d7a30a7aa257e9e8ac60ea886042b9194e7a383d1c9f71c84511faf6c96f7ae0e690112b26bb60cf7bb10f684e4fbe2a3a1b1c0caa9b1bdc79fde23fb758c2ba57880a4de461ecd2bc696689438183e2b9724fa68258f461bb4405425620a4d95c87ddd83e04be381bc743b05d26ede2ceff8a858636baadf56ef1dab54080da0f516307c579833717def053c8906d4f102448ab22693e7f52d5850193a40ccf0d68d1303953771a73924e4bcddd8486e1477d96250bf6b480a5f4b822822183694c52a2edacb331564444f0335d3b17d511ece59889b6d961767a3192d7f081caf7e671addb3757451776d4bd3b03f7b689843dcd59019ae4f292dba54738a88b86cc6ce3b123c61a446f4878b627a7f3585d8ab7bca9b258f10b\n\n# tcId = 336\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\nsig = 1294490626bdb36a31c93fa7853d93152d920b022f1b473bde3083a99e11aeba8c03218fa07d6c4a5f8b2504d2cb54505c40130fef5a2412f7a5ddfec5e2c8b5058f7cbde7ace0ac01c7ba8a1bd897e8974d991ad2b95c2f03100a34ff408a788c70ab5ec73b5356a4e3c7beb44fcb9e2f3f25d1c974ed962b148167684351dc2a223a174c9744b092071d58dfd39c38364f47d292651e7806ad7962bbedb64739d7ea298f0254244790e3971c15b861c95f00f65532aa1c77fba5c04ad078525128e92ed2b4f1269ae744547e3efd4ebb63e9df844df152a098c47fa492bfe0f1917ec973867c7491f64c172cf3ea1bc3f97b42a397e6ad88d12e150d3dbe360071a3285d6a68ee6e736eb4d7d637c649c2f545259ecd430b25b38a1618d69a4602ca8a2a151066f12c3807f5dc7cbd06bf095711e4483cb0a89c26dd9e4b0b03e05beca349f601c894f9a245aca3204584a9bd844772dd87b83d481c8df18b615307eaf643cbe856488c160e077458e899755301749d2d27bc190d68a5da11\n\n[e = 010001]\n[keyAsn = 3082018a0282018100a07887f373378196b0b748cdf31c14735ccfa0f117acafdaa21fde4b6e7559390b834e7b92e9e1cc9d49fc0fe6cfb60429652b4bf9a7768f71fc4271ca6fef4e431192ebdc98630bfb94c5baf18b4cf7881d84483e4c44c22db15a9627705a0b42a26d6f3d6009aee0d2a71bedf4d4b0ee6b6fec2f16e1277ecaa3bdedba406473a476d1688df0fad1da795526c7e641981b4812b05b692d60c60b2bfa424c8b620f40dc9dba59e2c710e7ee750b3e134c1f71f43210688aff17aaa41cdb5668753f0006b1cf951bc5951f4d89a31196985ea55c0966c3662bcfe4e4cd34f12e4afd7e5c4a130739b1017d6a583882fd72db1a67418702c8b01353ccf75b7b93faec0e0be36211d5f2bd910e1552323711bbeb73858f899cc1ec063ef67d88e0c699d5a689c52106f06e960f09d2a3cf84f53bbea2a473edf2e6e0176801d3fa1c2d358e1e5a26f646ac93796ec1fadc6991c0ec19c9dd90b25a2dd3bf73d2cf1eea8867f96caa5a2df54973acb2a2da0a1367ec74afbb968f517765238d17690203010001]\n[keyDer = 308201a2300d06092a864886f70d01010105000382018f003082018a0282018100a07887f373378196b0b748cdf31c14735ccfa0f117acafdaa21fde4b6e7559390b834e7b92e9e1cc9d49fc0fe6cfb60429652b4bf9a7768f71fc4271ca6fef4e431192ebdc98630bfb94c5baf18b4cf7881d84483e4c44c22db15a9627705a0b42a26d6f3d6009aee0d2a71bedf4d4b0ee6b6fec2f16e1277ecaa3bdedba406473a476d1688df0fad1da795526c7e641981b4812b05b692d60c60b2bfa424c8b620f40dc9dba59e2c710e7ee750b3e13", + "4c1f71f43210688aff17aaa41cdb5668753f0006b1cf951bc5951f4d89a31196985ea55c0966c3662bcfe4e4cd34f12e4afd7e5c4a130739b1017d6a583882fd72db1a67418702c8b01353ccf75b7b93faec0e0be36211d5f2bd910e1552323711bbeb73858f899cc1ec063ef67d88e0c699d5a689c52106f06e960f09d2a3cf84f53bbea2a473edf2e6e0176801d3fa1c2d358e1e5a26f646ac93796ec1fadc6991c0ec19c9dd90b25a2dd3bf73d2cf1eea8867f96caa5a2df54973acb2a2da0a1367ec74afbb968f517765238d17690203010001]\n[keysize = 3072]\n[n = 00a07887f373378196b0b748cdf31c14735ccfa0f117acafdaa21fde4b6e7559390b834e7b92e9e1cc9d49fc0fe6cfb60429652b4bf9a7768f71fc4271ca6fef4e431192ebdc98630bfb94c5baf18b4cf7881d84483e4c44c22db15a9627705a0b42a26d6f3d6009aee0d2a71bedf4d4b0ee6b6fec2f16e1277ecaa3bdedba406473a476d1688df0fad1da795526c7e641981b4812b05b692d60c60b2bfa424c8b620f40dc9dba59e2c710e7ee750b3e134c1f71f43210688aff17aaa41cdb5668753f0006b1cf951bc5951f4d89a31196985ea55c0966c3662bcfe4e4cd34f12e4afd7e5c4a130739b1017d6a583882fd72db1a67418702c8b01353ccf75b7b93faec0e0be36211d5f2bd910e1552323711bbeb73858f899cc1ec063ef67d88e0c699d5a689c52106f06e960f09d2a3cf84f53bbea2a473edf2e6e0176801d3fa1c2d358e1e5a26f646ac93796ec1fadc6991c0ec19c9dd90b25a2dd3bf73d2cf1eea8867f96caa5a2df54973acb2a2da0a1367ec74afbb968f517765238d1769]\n[sha = SHA-256]\n\n# tcId = 337\nmsg = \nresult = valid\nsig = 7fcd504ffe34ea33ae23471cd6cffe52e3a51a36d9d9b8512cb1d2bcf4a6349ec8d19ec319f21eb089511482a2e449dfb093fd67ece3ecb527e0ffe3bc93db2ac96001c1d5afcb137883b0cffb2962b4a2f0a6ecab110d8a636982b685f6302216673431a9f81cdf68b7e759d95e7bccd5d308a6f06f1095eaa1fe89503c085331c06a5a7aa65a8e672161d3e32147011784eb7cd752211c603adf994aa4db668eddcc1f28e96bf86f1a57d1ddf499a93f7d91821eb6d6b74ae813359a03f3f2b77ef47828032b6a57691a502f78595cec29c88dd7ab0ffbe34d96989e43278915b9051119282e1d9ce4f412a3865e0bcdf46020a225d78d636d8def2759330bc44996826db26fe50bf7b9eb4f5be1fd1d983f90c94a42a24af519732a9f2696b2828d4f28bdc8fdbbe71a92a454058d25c8b755f49126ae238ad0396dc4d4417577ce436472ea3fccd55b96cbc1be2e61d98d2904cfadc2b9917095a71bfbd65ed06187f992581e5b57e8308b10980edb791ffc1513b80221068dc3ce1c3d59\n\n# tcId = 338\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 5ed2cd31c2cd198f7d9bb1340818a1f832f734f0962759ddf8fbcbab7565c0905798281c734a53dcaa6e224a8aa825009e4422bc93578691b266bd0ca257816ea08d4641690f104f93908e0a6dd032cf311bcc1086ea5804bcd91f3638a20164681561242277aed421b3417ba93649a96b768c4f2d297da2a433d0723033bb826865b35d459930eebdecd68afa88c9ecc06cd0d699f8ef3085e0a6deb954258cf54cacaaeefbd1cf64fed248c6e45676b796089b115229645e5dd1078f8c64150b9f4d4d439b6a38c0f4d223a84c545712c0b002a8efdec6f8da91ec60b7b2997c6733ab7257ed0bb19c6bb634f1045c6041fdc59885dc9bc2ca885987c40b18ee9315e0ac7d15d3b7d1aa1bd77322d43759b89a279f144a141a18da647f73f8de1b46912f0bc61686e6e05d12c22130be392f2177eba82bcee7e351967208f0b270d1f68298773c30e4ed01dc16e8d0df24510778f0ba0e8d92caac7ab4e3e7b81a09b9648e696c2c2834e8970fe7159052ce51603c92e30b40a1260bc17067\n\n# tcId = 339\nmsg = 54657374\nresult = valid\nsig = 977e97ab0d16233a711b22b6c0f1295dac753e3228e81e4393caf9a6228c05783cf4a8d9785e8968d3adf84cdae4267bc743fac68dfe3b997e9b6dedf19c8dcb4dd7904612ffc6aa56f5227240152ea3736d62ba18f0ecf5f7b5095fd95819262275340022a498095ae82105275c8a5e977927c681f095142d74e1a103a9df38bf51c81becec8e9c624d537a466447c87d8d91920d42ae281348db81f1c241dfd1ccb0d210017459b03bcb6256376158ee51bd17d366c4c61abd0bdfc13bbd0caa00b8f9d57ca27c7de84e5f381c22dca83b6812dfa71a57e8ac0f9f050f29d102f9a580e79b27826c767071eaf9e6d39119e38d22c6c3854367fe819e6aeea71cd278b317163ed910ee1cbdb27ac4e20935ca7a58333bf023b662ecf3ce50a54d4d20e6b690b4bb1e23a5670b454d011dd1d7640c20dcc4a779dd31bc37966bd6ffa4c88bbb8565924708e4ca2e71d78d531d7d1b81988f2897a5f9ba701ab51f2e9cb860d274eee477c0f06bd8923941419a78b7e019fcaafc3d860dd755ee\n\n# tcId = 340\nmsg = 313233343030\nresult = valid\nsig = 56709e7ac1d1b37f162bebb32a9cb9f86c8f9473e5ebeeff4ce5506642688f0256b5f1fb06108b0c3bd89bf7956e07ac22a4154ee4bb2cf5672592852f24d1eb46211f3a9dc55c515fa87db83d5a747aba9a0b8b3e07e1be26bdb462a3dabe7312350e6814cc857a1cac7ec6e1789f69df392d13fefc49acfb3463ca61dc59f619f34d75de7c7532a1c29228a57337a139a08bcb376ebeea36fe92d098107cc57c1ab328226195844a8cbc292dbe31523a842c5e222271d1ff98ca8ef5985bdd7f8c0c6f9f1a582e07ad46fa64306cafd2ee768baea1e2cb5aa42443920a6ec40e168e5de50dd2a94243f717dcebc9b4ee47a5128369b41fbee068f848b8a9069350dce0b83e6d5a9a9ec66521b11b735ce4ea3d8c7b4ecd8695cd87221d1d7484c9a893cddcbcb304fd203e7c2120ea5104c0d3e8fec59a6e0d1c44abec68d98f6409be5da8aa8800a93f457ad6b085cff25f7a51602691f8465391276e71d7068977130668aac2a533444bd6cdf93d8808aa44f3b79c9930e276bceb33dedf\n\n# tcId = 341\nmsg = 4d657373616765\nresult = valid\nsig = 62918c23b5be627ad47921e80c8e17b16ef869f46950d2dde3edc55e09015af3adf54fdffb81be0c7825eb0d34700a2c0864bdec51267beea4bb0db1a36324f296875422661436915695d83807073cb56f911b81ca98da18d50c55dbfbc9da7aa611a8cefdbe45b634682a2beb9edf69fdef5d8fafc0c07da65c0fd0bd1ea5779f7be630b0cf55b4c68ec9e6709234daf933eafa209795146ca3d3e31d338380e91f38d84bdee51c2d678e826e5ff8d3346ec471405996b4541f711c6c4319bf01c8e5d5c79a54144c3963dbc5b4302ba3c813d7234a684afe2ce3d8002346291af1a53f9629d24df957e6fac061b2f68fe71a5a218876445b3669dde2a7ffb327a7f5fb5664ad6830b5faf57ba9be1a0486ed66f6beb3e48d05cb062142379c610b457002fd96d91b949b4f45491c7effb4c224305392720da3a16d3d1bbdc63cd8f923b7a31363b420e150cfe327e34d57729485f8746769656c247318401ec584df70580380f77c5e4d5afe9e9e8f97edaf19f197d3c49b17087e37e06227\n\n# tcId = 342\nmsg = 61\nresult = valid\nsig = 2aa6beaedf46b42ececf75c0fb62fbc0909397e96022d19bf2e5ba0cf0fb932632c46551287354bbadd0db12f5339f5f316908d9526eb61571fb54644ebd2a5cca792a8a0a09da915e14ca140631d7a5367aa9b15f26b7ff21bbf534c24d2370f0fffe966f827d36763b4f562bd2c05d8f0bb77a0afb23bc97c553b7a71782e5f11ae3c4790479bbd5acb6f5b4748d4de6e42e475565688e30471336527497f90007fe3e2d616061702e8f29805d2a948f1763969e1f9ed261edb81338457d3c824818cbbed75ece77a1a8ad153fecc94ab5c551488da042849ec7aae7113e376f9f143a95a7e9ce4dad15c0207da963328bd6de98cbfbc7f36eeacc92c8c321aa0a86db296139f4e53b77f4fc6f2b084f8b317f80fc3ede7f5f2eccf58fa921c874b43fd21143217474a5d4e7c900a534df99a1ea394d793fd0b8172076d8f8dff24fd23451824c2dbe95ba46b0a1165e464698ad016b7b3308ef540d2e2ff4c747376b7802adb7d409ab0bdfc87b407a7f130f1c8a52281d89859e67e0f883\n\n# tcId = 343\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\nsig = 1e7d1af86754f6434482e5817930d9cabac8903547e184aab1cc156c4c217d9a2b2328577e74df353e0bfc95221dbf18b912adc0587a387ec0aee5b77ff4e1d9d9ff4b0711d37fa21b7866e3aeeb44f7bb4df43aa5cacfcc4be7f2be77f8d2a890e279838455a2cada2fbbb9f6bcff5e39ee1dfd17bdf96bec4f0bb066fe3b529cfa8acf48897c20ae4c622536cdebae92449c761aed868581a17e3d4482d500f25e65ec7cecd77574c86c38dd346ed0887294674d8296315250cb404ca144a10bdccecb0b30fc5c2d5843f350d03a0a99f861b138cf1d754bd7e61d8ee03283c04a74c66b07d8e153a11e8bb47d16710d186704b11b089e5a7cec2fa7b5876fc25df8d58b65b125c3e5ab4088756b4f9c2fe44227c478aaab4db5a17dbbae0a5c548854f0a7801b7d43ffb00940aae99da12b6520b8e53d0c1ded21b209924aec202ec7fc75863203328b66e8ec426f121618e5b5bda0bb9c967321620885c9e1142366d1940389ef9bb1ee57991019b38cb685a5c86f54719d6d5bc9d5a108\n\n[e = 010001]\n[keyAsn = 3082018a0282018100fae12363cc51e266de7d74b989085f10fc08f44363fab4ea7fcc56101d116616c43de313b70569cb27de134ecf35fcbcc448a81082678ee1ae427c48f459ab2c42c9085911a3d81c914f047ba46ef1a52a4983eba1113bdf0ee95e85cd23224cf832fe3e916d3bffa6ddcfee0926938b2c51c8904bec4739afc4f07979cbeabd514be5a2b87abec71c7a2b39c736d776442ea9e95e97ddfcad4c4c3b41fe856f81cce539b5057abfc6fb1aa153316ea4f8e76b8dc8804ee10303fc2dc182f7ce5d907e78729679333b3b012574b4c7c613c020ce1388ad37ffc0f6b2330cc5edf7ce9ba80eb984b6da2ac59aabaa3a29172ed2937920f47c17447e6185119b9b38a9935658997b487735a8184caff10a8f555d034552fd57471b293f813f19aa6c2139877992436fd1949ebe2259528c91716414aa72ff90bb5142d2fd5e7ba12d8df1ac995408e7fb645a9ab7b6f695e4050500a9042253833b055182657915246589f8362203b5517b2f7117d2aca015fce3cc41c6b1bcb2e672db142d52450203010001]\n[keyDer = 308201a2300d06092a864886f70d01010105000382018f003082018a0282018100fae12363cc51e266de7d74b989085f10fc08f44363fab4ea7fcc56101d116616c43de313b70569cb27de134ecf35fcbcc448a81082678ee1ae427c48f459ab2c42c9085911a3d81c914f047ba46ef1a52a4983eba1113bdf0ee95e85cd23224cf832fe3e916d3bffa6ddcfee0926938b2c51c8904bec473", + "9afc4f07979cbeabd514be5a2b87abec71c7a2b39c736d776442ea9e95e97ddfcad4c4c3b41fe856f81cce539b5057abfc6fb1aa153316ea4f8e76b8dc8804ee10303fc2dc182f7ce5d907e78729679333b3b012574b4c7c613c020ce1388ad37ffc0f6b2330cc5edf7ce9ba80eb984b6da2ac59aabaa3a29172ed2937920f47c17447e6185119b9b38a9935658997b487735a8184caff10a8f555d034552fd57471b293f813f19aa6c2139877992436fd1949ebe2259528c91716414aa72ff90bb5142d2fd5e7ba12d8df1ac995408e7fb645a9ab7b6f695e4050500a9042253833b055182657915246589f8362203b5517b2f7117d2aca015fce3cc41c6b1bcb2e672db142d52450203010001]\n[keysize = 3072]\n[n = 00fae12363cc51e266de7d74b989085f10fc08f44363fab4ea7fcc56101d116616c43de313b70569cb27de134ecf35fcbcc448a81082678ee1ae427c48f459ab2c42c9085911a3d81c914f047ba46ef1a52a4983eba1113bdf0ee95e85cd23224cf832fe3e916d3bffa6ddcfee0926938b2c51c8904bec4739afc4f07979cbeabd514be5a2b87abec71c7a2b39c736d776442ea9e95e97ddfcad4c4c3b41fe856f81cce539b5057abfc6fb1aa153316ea4f8e76b8dc8804ee10303fc2dc182f7ce5d907e78729679333b3b012574b4c7c613c020ce1388ad37ffc0f6b2330cc5edf7ce9ba80eb984b6da2ac59aabaa3a29172ed2937920f47c17447e6185119b9b38a9935658997b487735a8184caff10a8f555d034552fd57471b293f813f19aa6c2139877992436fd1949ebe2259528c91716414aa72ff90bb5142d2fd5e7ba12d8df1ac995408e7fb645a9ab7b6f695e4050500a9042253833b055182657915246589f8362203b5517b2f7117d2aca015fce3cc41c6b1bcb2e672db142d5245]\n[sha = SHA-256]\n\n# tcId = 344\nmsg = \nresult = valid\nsig = 16b880609d1cfec88b79e4a1eff78c12413d7a79ea9bfaa8b1552a2b05289d8126002e61e1bfe9e1d4434494c4849c716f57040d62398a64db6b4ea3003e3bfeb8427ecdab11673842bdf900b5a1fa005fddf414ee8c5221ed4b4234394c9296ec4139721b7d229a819abe018b6bb200f2a9aa144bb76be44ef095edd1d26610a9590d88c487bb531b2d88dc0b89216f33dd58d42d2ac045a458ddee2569ddb03923585d7bc0c8dbf442ed5d9a54b637712a712ab162bcfe0da0a9b7b58c158683dc8c457877203f1da3fa736d2572bdea649e7bab22cb5afe8dbf27c50e7aad56223492a02a64e1f3f8b598213004a75fc879ab68face2366c4269d9ee0760a43e7f554d2f314981f7b0936e7e347825405a3e2e29f531429e6f9592461dff49b86ec41b0443095268dc0f5f62d0637b8ff220b5cd53bef406e55f1739ed5513a91912a25bc2c55b2409fe7cd4366802eec3d6cf315323c46e0f1db2d1d327e6b25c85cf079a8675f34af60d6629aa3766ca9e4e25bf64faf9f29f772545905\n\n# tcId = 345\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 6ab1816307e42aef80c2438297bdf63b6992212dd870cbc11edd53b7ebaf9ddbd93daf8d62918ef87337982528962d0c758d1ba50a088cda5878c2f270a1eda033519dd83bbd9643ff61d91316f12c7a5c8609afe703a27671dfa32919da6e578935afef082636324b59d73144c944e27b7253fe4fbc74670d196a93e14e619fa4ec0f5b531237c03333471ca968f5d64c2c87a952984e69a75061a322b14c140eda3cf914e62b08f4fe339d5b72ac93a1146b1a70e8ca6b3a4099046a4835c30a6cdad3254e7944bcaa19bd7577ec3fc5969d247421ff67466691f4638e553be628124e5a6f514ab8054456bc70c756c866a7e208fb3f2239db9a0614d30387e2ec7da2cefa2e99f3cf98d8996d7785325b7dc294703cd44c10de12825be3db147c08a3d8cb0b669368c2a82abdf75d5ff749746aeae430a4b6bf4db159f0ed9cce1a618af515ec5f8711838adee43c30d8573efc49413ebffb87e034e57b1ff29f2a9d8cc4e85cf62ef40ce0c822dedf5f7dfe1078b11d0be95b02f93d7cbc\n\n# tcId = 346\nmsg = 54657374\nresult = valid\nsig = 2565180f58745a8530e5003c6a879355d481c142d191d38fbf33e1f1f6dc65cf488f3691c6969444f54a40c37bd9be3f33ba5c65e5ed8421c228cad22e4962837dbef802105fe1ffd5a76b353d9de43763ed31b4258b131b4956973cd43f212fa899ad8cdbe0d3225abeacfa218758306c97bed7d3960aaef0d513a29721c89f1b533981eba50d98672e99923be57bda4e6818eab39e8634dbc38b33a18acf6b8fcb2014154960d79729f26cfe9628bd5c9af4f7751cc72394fb2be947db13fda1fce8c8120bb55ffceb7cb26086c8efbcf072420dd9b594b74e8352ee339b198a16896fb199957a1d89ee56bc13dcbd9d03eb307265c1861626a6447b3d5bff6305def421a7f59882a272434b54d6f33591f59bbd7c852d5b761f3c4fdd8e8721cb99833ac10ef376b7b7914eb7424a6f6fb3ec024ebdaf630eb2951c0a1841067582dad1bef509c0d55eb82b78ddd042dc937e938339c3aaf19dbd342cbb6d56562f1daf96335610fee3f551cb010748b428197d83a7187f5d85441b6728b2\n\n# tcId = 347\nmsg = 313233343030\nresult = valid\nsig = a7ace057a106782b546816f8dcc81cf41216c18e587d8a5753ffa780fc51007196f37a816beac993023b41d192ac88cd30e2e9719309aedc367defd2893d767dae6c6148dbbe6fd4ce3636bed48b746982795dd206d11e603f77fb46fd56ac9e51a88f26c9c9512d3cf851afbfecb061bb6ffe7510bc4a8f4c17b8a6135f9b80557149834d18f4bb23822c1384a48a62ef3e3b723fdbd250d25d25177355ed361d54f372a78798cc111d6374d40062c5d4c5e43e8df75af841cab36bb15c5d4031afef9ae76670059a760e7aa610df8517deedcc6d616366473b8193fea07b3226bb67c3989778a868997371cc4f1242c77e85c2fab1c342ac49131937f16f4f0cb4342874374232ea1aabc7e3681aca47bdf358845f668a8844a7732a48075caaad959354592f5f3ec413cdddf337c64d0263b4096762a7eeb495bc7bf9868c9be5334697f7118c8c1274cdf300937955e36babc895745d02c22f1874159a33abe0cff3da62b76b3921b24573514dff80505c10c530a78b379da653dbc2947b\n\n# tcId = 348\nmsg = 4d657373616765\nresult = valid\nsig = 5abe9417ab18b390a23ce51345cdf60038dcdebbefc81203722b839434292798b9101604a828b160d3109541aa52f5d95f0539b8e0eab6391e59a5385bb4cf123486add3e10f22d92b042dc3be9c9a8c4f93a0976b352e1503321437129c627354261bbe00bb3941683d81b9cbe6ad0ed570df5b23b64ccb9bb5a29545ef48dcf1876b6c614f6e4aaeef1c95849908f49c041c06e11b4458573f2015c92d5549d4e51bba97e1ed6f8bf3f0440790113da9fcc014e962ffdd8b671156dc60dc197a2082204670da07546b49d3af4792818d9b0960038bd0fb274e1358de3851c0f9d3c1bea37fdfd0b3c277e53063906a4e3397e9f21d040b1965d08f1a2928079672060ffdd153b9af60530c2e567cd19963628a9eddeffa390cb66a1ee9f645387082adcf4c5c25a3823906dcab7d0b416bb7b5a934e6f93af02ea71cde8df71a57cdcf69fe8eb29284bdc4604879ed322cf7fd70e011a231f7a54c44cb99ec1b37dd9746e061806dbc7a05dc8651effae59a1bc4402ac4763ab421620d2d44\n\n# tcId = 349\nmsg = 61\nresult = valid\nsig = 5bdd4aba744fd50793c2710f70c7a5ecc6076aad1b7fe1272726de87d981041c2ea1fe58527a39a62fa991fd5614df1accfab3d20f584030197abcbef1f175d9124a3b512f5baed3fc6124b18d4b3501ccd57ae3cb0187409bc12b19fbb89aeca03420c3c78033bd18bbb31738172757cccfd95955feabf1a3eb552c9f3510d9f3a6e9eb908fe56159040aee44b92ea9691dc2bf6ddc5b3ef876eddb3a34045de54991217247c644aca7238794fa63c8c73206477c3bbabbe15602241f59c4fa6101980646dfb42e8eefe8f2c1070324edfd2a6040db7c769f0c996db474d0f68e2c2f498d61d277615df445a0423ed6eef5fc10fb11882287a6e31b2524572ce219b0c7d3045ed5dc04dbafe7f5cdf18038608d553147940273bb86178b4bb4f58b2c05a45aa62ca5e9c6e13e3fd0857f5956a70b646e5ab4af759edddced019d10914f416f2a95969f3ba29b4f041f91d33e5d78c0488c48e7a85581c8d1479e1c06271e232b4e3dfcd7571783e32e6945d9e3429ba9c476474b5a689656dd\n\n# tcId = 350\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\nsig = a0eff5758088bfd882cd3202ff2b2ed2feadcf2682cf3d5ced11ed73713e870a4baaf6942d0db6f6f7314c3e084135460040d22c29c10ee8033b9355235705db987206b24817b677a9d5ce452340fa56a53eb4d9caedacbe69aab385af2a5e1a70306461c4b7f4d44efefc6c301dc00d9ab8273c6e13e47232e84e58d66c32cdd80ebb7a44374de73bbb72982144f267717797e83d7a702959fb039f33307a6175a3ec22fbfa95e63b22339813b388ef55c98f2654b94e3dc10a791f0100684b1ba10c0174f531c91b42661011c98638a8c8676600381ff82d4dfc2631cdc9ee9fa6baf81c4a942d4105b87a4c83b837b4f42dcfbf34f8ec2ad704aafc769faff594d2ee4650d8d358a49841e0dae3f2a2e35fff3f1b869f024275c25c08b15f222b0ebb555247907b5215ccc65a7aa7818fb2ffa436ee7825233b1b6b03e4091499263ce08faaf0fff49ec56480dc9e307e861f1f9bb0f9113015e4d2c2bd430253a00d54372db2c5c43b6442aa944f0054c3cca95c4861486069a2d7dc9c98\n\n[e = 010001]\n[keyAsn = 3082020a0282020100956353ecb7561945dc5544e4602466078c93f28507701ffd39e2a9813c8ac8740e6ad61c955d484e513b3dcea527e001a018ee2c207c1806a96763280236cd3c820dff79837c9b709cb4b522d3ddbc9192242259c43be75ea244d37ccfa8a4c75024a2cf7cc76e842ea69cc7ca1227405b070047387a5068e4976e4b8ed5f9aadd7b4db024fbb8d7bd8a040d8f6610c1c6eb1d4b606dfd182235d0360880304d5a750603af0c424b8c8e6dbc12c3697d2d609c97547e774e2e362ea96d1690dc9432112c535258b3db2c4c32ad510d6c07ad0788357883869efb8b629298724847925cf42b34386be700f02903db5852276bee2370941f397bdc3905e30964a0b5e73602703340960c3ed6078263b611f197955fecce4b9a32e43cd1d2e5e87c4ceb65edc8853a7ee31d28e16e5adffb8ac7b760fbfc63d5f174f4d0936461dbb12c964a6b6d6cee752e5fca1ab4a9fd238dd3e8860a1d763d2019f9e7b99ed7666d4e038710f90e0093bc566987d6c0092f571376e705b342d066c54e6e2578927b92c1f0928de44e9a6e1f49b907c6aa4f605ec9c398d55df81c67373b03cc8110162fb417f96fd321048647dfcbb392455115cd912ea83351853e6a185284648842adcbd25e67174a3b93b8a64ce2ce9de0e8577b8b662ce32e2565782665dd38e5bb5fcc4fe12e4320", + "dab7773b545a09c6d39d9dbad459f21f3e624ee6ed0203010001]\n[keyDer = 30820222300d06092a864886f70d01010105000382020f003082020a0282020100956353ecb7561945dc5544e4602466078c93f28507701ffd39e2a9813c8ac8740e6ad61c955d484e513b3dcea527e001a018ee2c207c1806a96763280236cd3c820dff79837c9b709cb4b522d3ddbc9192242259c43be75ea244d37ccfa8a4c75024a2cf7cc76e842ea69cc7ca1227405b070047387a5068e4976e4b8ed5f9aadd7b4db024fbb8d7bd8a040d8f6610c1c6eb1d4b606dfd182235d0360880304d5a750603af0c424b8c8e6dbc12c3697d2d609c97547e774e2e362ea96d1690dc9432112c535258b3db2c4c32ad510d6c07ad0788357883869efb8b629298724847925cf42b34386be700f02903db5852276bee2370941f397bdc3905e30964a0b5e73602703340960c3ed6078263b611f197955fecce4b9a32e43cd1d2e5e87c4ceb65edc8853a7ee31d28e16e5adffb8ac7b760fbfc63d5f174f4d0936461dbb12c964a6b6d6cee752e5fca1ab4a9fd238dd3e8860a1d763d2019f9e7b99ed7666d4e038710f90e0093bc566987d6c0092f571376e705b342d066c54e6e2578927b92c1f0928de44e9a6e1f49b907c6aa4f605ec9c398d55df81c67373b03cc8110162fb417f96fd321048647dfcbb392455115cd912ea83351853e6a185284648842adcbd25e67174a3b93b8a64ce2ce9de0e8577b8b662ce32e2565782665dd38e5bb5fcc4fe12e4320dab7773b545a09c6d39d9dbad459f21f3e624ee6ed0203010001]\n[keysize = 4096]\n[n = 00956353ecb7561945dc5544e4602466078c93f28507701ffd39e2a9813c8ac8740e6ad61c955d484e513b3dcea527e001a018ee2c207c1806a96763280236cd3c820dff79837c9b709cb4b522d3ddbc9192242259c43be75ea244d37ccfa8a4c75024a2cf7cc76e842ea69cc7ca1227405b070047387a5068e4976e4b8ed5f9aadd7b4db024fbb8d7bd8a040d8f6610c1c6eb1d4b606dfd182235d0360880304d5a750603af0c424b8c8e6dbc12c3697d2d609c97547e774e2e362ea96d1690dc9432112c535258b3db2c4c32ad510d6c07ad0788357883869efb8b629298724847925cf42b34386be700f02903db5852276bee2370941f397bdc3905e30964a0b5e73602703340960c3ed6078263b611f197955fecce4b9a32e43cd1d2e5e87c4ceb65edc8853a7ee31d28e16e5adffb8ac7b760fbfc63d5f174f4d0936461dbb12c964a6b6d6cee752e5fca1ab4a9fd238dd3e8860a1d763d2019f9e7b99ed7666d4e038710f90e0093bc566987d6c0092f571376e705b342d066c54e6e2578927b92c1f0928de44e9a6e1f49b907c6aa4f605ec9c398d55df81c67373b03cc8110162fb417f96fd321048647dfcbb392455115cd912ea83351853e6a185284648842adcbd25e67174a3b93b8a64ce2ce9de0e8577b8b662ce32e2565782665dd38e5bb5fcc4fe12e4320dab7773b545a09c6d39d9dbad459f21f3e624ee6ed]\n[sha = SHA-256]\n\n# tcId = 351\nmsg = \nresult = valid\nsig = 368105195f0dc82c2cd37e8edc6ddc0c983dc13ddcf6f9db9a24b52921e5280319a1bcf797f774066d643e5c99b811f0ad9df2a3f430f4848a03ddb97e06daa4d01ddd50bf2b638935cd26b19d6ffccba884a4e7cba35830c6cc5ccce38bc0fcc4ea421347e241711a551c67923b3daaf2e9c51635d416cc2393a9a4f108f84f26990c11dbaacea75e39dc6082b539cd2c0c8dda6c78cbad12e14a352b9dd5c92a3702d8538fcce0e92e26489ea83d75c174ab671210fbc6c397be2167864b519b5136d23a4363ef773ebc140e1da4b0a788d7b1f15a300375ee42b27261675fdfc60c29bab7022dc2e624c7d1f31e278ac089c5880e701bec41f63c8f897c0cecc5eff0a801dbc58d7d4df6e860c20e61f31d9ab2d50e8fbec7471070d8ed06c4c9c725cb63afde0cc4475d3dcb7dcad7eabd874ddf7294cd9d2a66b13b6367a14dfe3827da0c6c8b9e734deece80fd79609ce5ce0a16de6610fd04a09b0b2411bae2bc3222ab4c02867838d0c8346c60589e6204b226efb401841fb95da05ff32989ef935425b943d1b5d2f8af5113491a36c60a98c90b6453144f5fe00a0df3de8d02f0f59c7b94ddc7c8895b1dff8d88f69a9a2cfbb55eda0837800950601fc9e230a5514c9674fb576df8391c51ba0febc29c267462ed5337326b6f40d243ad7d81459ecabbd00126b2142e6ba10d9f903a9918d2280c63ee84b47062e1\n\n# tcId = 352\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 46a6c9cd78e38d5567795dbea71872ac16da06725975cee7d8839d2de665ec3b8411277f3e026fd2f9b836d788b48539755858bc8be0804147b59c09354b372713145e5a000ac15744ccd2db5795727e2f4d5f67bcab5e7cb1290824963ae88528aba0e6785989c8adb86084d26dd1faea3ae2a6175739fe978b576eff673832e513419806d206e0984d1ef0e1c8d8981084ee2ee569806b003fb7f08e775998eba1771f1efa070c00a769363c6101d5c5fc6140f102469574cd09746130ed80d14eabcd0a0418a752d5595b5f40ee0fb05f5f9860e600d75fbdd53461f5ea18be5bd807281f9e8fd6cf7eb31985206c9a5033cdea631512bffdd977fee5e692b3153a2ce9c7708a9c7d665d84762740cc9ea374bd32c18c2d76320e4893a2fac374ca7122e01e08011c351bd33725a6adad96becd44e4ec1032fbfb0c8dcf13cae9556eaf419211d0149c574b8d12ffe5bc59468c7c549283be541697258af847e52a9aa8063557dfa40404adbaa95e38ad28eba053aec3c123e98ab1b947bb774841e9040dd5409068a2c8a84c530fc4273897ed845d76dbafbf45af1a8fd2767234fac1e852453d8b7eede02af228d8b5821238a50a321490dab74d687a3400c34f215b85823424c9d966b516cccac38fc7f08769f47d66c57b9b75ea67be82508a513946bcbc809436efc4ee85f139b143c5bc15ff69ad1f3667c3f69bcf\n\n# tcId = 353\nmsg = 54657374\nresult = valid\nsig = 43929c2fb0986fc4570a3ee7f6701b96a78ec9297a997415a142ae539031c0e196add5e4c6ec572de0a2b109cf23a42567ebe98f42cf312d07538e4a32b0f20403b662c652ba9e3d6e38a625d6b5e91cce5c810d7a02262338e144a57db4ac4debfc536e8eaca7fe08022a2f64741d66d25e3010f2fd259d4c6b00582584bbbdcde4266d86eddfd0443ff24b06cf7ade6d733c637a48a398dbb28355ffb9bd21a49de6b345ef635b68d917b5bfcb9016f7c64c444dc0036ecab8f59b0d29098facca02335df44db87d30d02f08553ffd0379b33d13d09a385cae7d63b6db52e9b1eb8fd549e0e1e18210de1d3e9527547e5c72f816eb36288b09d96db772f955ca46fc8cbdb6eea93c841e1075c00c3c45e9442d28095136cc5ce8212ed8c60c9668898ab5d64734d4d0f2311f104cf8a732e6d88fb2064cb57bd54d3cdef7c11c840ecb238466c747289233a317b73785778ff4349949da47c9b4b2dc9f89bd1fe7e98b582500dfc05dba3fa410cca66acd854669940543c22ed1038eac7f0212b9ce4aedba0eb15ea1e75a73c45c1ae03fd241662e9cb89b051939c468db3a0adab822617b5bc669d1e0226cf6b475445d9d5e77ef54ed646cd81f0952b949b7f4f37381ba6427e060966467a76e1d9261a5fe8c68398a89eb5025cc39339885b6c33dde898a159f0af4acc81461fae37f5f4c61de4a888dc4f6b1e2b7336f\n\n# tcId = 354\nmsg = 313233343030\nresult = valid\nsig = 0e207de1295caadb15098f51f5db90f9f000776055b107be58bd24d52a01d4171cb9e47a40790254f86a8a56c8ae38252f909aa3b9bbe7b7e1fed008105690d9afa647067ac122a272d30ac28213d2cd37b45cf81dc48d59e87d9ffaef6e1c9cf6ddf4ea5ff6123523c9cc885344b7e1ef4c8096bb542bc0fa5c47abaabca9a58ca85bcf092924741503a0f3c54c725c48855dc434b09d761f729051fb15af5612bdd387b4cd5019577327bb2e64edb065f713d50ff4285f1d184fe709207f809b9c38d064722897a868f8a09bfe1d33c80be0693e98d7e85600befb643e9f713584c716306731d7f8087dff66be1c4f6dddbc51b6ffe6034845cf0f88749e039ec314887c94648154f7c97235323bf78041ec2c8ee98ea7c553ecfec1f9fe89279c9c91ac6acd12ebe969da4c67fa6534ef9ace4b629c7b1de8c4ce1dc2b0f5bd7d416db6eb512a4dc8eda0322138cb7c65b9a58d712284e4aaf059db80af5785af4d83d391b7d8bdc4071636712410d1dde662478eada1a2f1f35786b78eec77b2788536108e7463d676814a91f81fd5e2084a8c1b1cc33988e73184110c6e6b0ef1de874104602eb33b5276ebbac95d91b943e25de6dfc66b31d8091961c78dcddd358de7f25584d9f74dc6271ff31294bee2cc9b2f97a2583c9b33243600500bc723b05d65839de7442895bd57a1dd508651a20e20f264d8dcb59d485247\n\n# tcId = 355\nmsg = 4d657373616765\nresult = valid\nsig = 0a882c367ff495646c21ef0489ce268d6c4e6cd0176bf9488d4b8edf04e1706f23d121b500b427eb8652099689429a08e73294cfd29694f9b4f33ebc8a7f9d0f9d11f114d0f848114d116ebcab828c7ed4c64d5ddce9958bd0883ae82ee2be0a185d54ae64690accd816971ea5ef80d7d601e72a814b9b61e8d00727a843ac90639f2c83cc7e2a9065ebea3e7aad3b12dd9ed8a1ee03a43e669598571490fd92b699d2941fda3af7271f8864c844f8efcbac20066c7bee682c644da2329db721ff33a7a81869a7bfb7a910fde6008e1bdb4e9ff989ff78fc0a9f43b38399083808fb3f38f0e96d4020bf8a4b329bbf81d59dffb03f5d1ea34276ddcccc2a4319393e1777488c843f9b0aef1fcab7a97e00d50f7f83bbfd30272c8ea4a5b0d7b74e7f7b70a9295d0e942e5b6e627ff8457d0f60c1aac8fe10b7d7ab1b8cd18d3904bfde2a316a83ee2b7633c3dee3141fbd61c8115f88ee7ca4b2b677d1803a1a35361c956c1adcfa8c8e10f0422eb3347b4983eff3c1c79e7da80a2e7c6d55e61f5af74254bd91db0d4bc10c3812513d832bd6a603a6bafd29cd5c062d9e3b74631f873fb3ab47e59791446e5f795d6ef5bbfa267a541d4405dc09e82c8b03f51db4798cc96dda7a7bce7ba9c679d851d5dd2e6b3735aaa2fcff0d558d68959c6af8b283fd383315762767cd0e4ef6e027020148cd3b14833cad4d92c2c9ce15\n\n# tcId = 356\nmsg = 61\nresult = valid\nsig = 374603f5d4728526e6cc7c7bfb6f456bd33bdabf37d942dfa8132a9479f6e4a9c2dfee515d883ace45cf1d660190e442a9ea7590d67aac9bde6951314af90baac21bed537c774148afb7927337d626525e13fa15664cdd78dfa5e3886ee1fe7137ad5f69aadcb098a0d49475b0f76ed1bb86cbd08a0cae9a6ec120eabd55b7e5c4456bfac2b2acc3892110b7f62c0dbe7ec7e491474c5c641453743fd70b15f7a726a0ca44a78bfaf3445a979bd4df362b7f29d4ed9189bfcdee01476cf1b48c2edaf02d226b41f587a8db161bd36e6ea20d64c8773fbe8c0296b9e016ccde333b380161a641d822bc65d3b60417534072263cd461a4f77826cbd0508ea", + "11720081c34b12d80ef0963857624d48c53748f279bf6ad338ba564e35d37d1dea27d19ad5dcb76d6f4aac62e49eededb1121e06b9f78eb285f7d7ee2cd475e791cc04c029cb76e5b33743aca3ac3adf5e317d95aa79a2f0ac3c328e69ea4692661b8107d89eeaaf3be01122544fd9d0c61511e87c6a5507c5701655d35f71586badd55b26363b51f019896c03326c72332de5be8a0f146d630a6e747a906684c7dc59d3bda667c8a92432e879f6a4d91d3cdca89b9840285bd8a22e5e5bebc32011725f64cb5fcbade8a5f5f9ba372a9be7f0a4907e40b4d06feffee3a558fd023514b504308a1d821c41955c305f550ffdf005b9bd5dfce2d16d3d09bf17c156c4a\n\n# tcId = 357\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\nsig = 401bf4e63be4259b54c5909797b2b01fca18a6f74d76fecf75535f2876079ad9ee56c653dafc3513eb02114f5c96efb4025cf58c2cd576d003f688b11458fe3df1657657ed52b2756a99b48c6722708ef11765c8da2f3b061c779f26a64fe13e4be4602d0ca2553793d36c23f3194705e34a75b9b91ff7f4e554c5907b85ecb561a8d22262aa3669cc7be2fc5c21b9170869ff52dcba46b2b1c688e4c04e7a8f099e3a4196863bd1e828fb5ea5443b64b190327622055d44ff4c9999601338e56c175c716abf8d6c2ce6b9ef17930e846745e751f882ffb3f0b1a20e68ce9083d1466295caacdce85bd4a34615d09f2051839ff83650708888db818aca9229c38ddef86848a2c0c88b86a2f5a1079dcf0e888be62e116850b7e8d06785627fca1899f6d7c02eb60c3bae0d538cde8a05ef7281bba7f35757360ffa79fdd08642b6af5aaf8c71a32aecd0e9f3d9a2ef164da1740a5c2dd7943603bafde05e38f2ba78c15c3eef13a5059f3f242f07af2e6044896d1d6d9810ed3fb8203ca4efc116e95d2f53be8c55fc1ce653f02597c0df7d4a7dd88b41c2a65e40bf5dafbef2a97e4dc3bb49445774cac283ae131c08492c9715712f998241e16eb776915f15b7e9544ccf1dc220a9e139defd63cb2951090808395ce56555a7cdab4564d82151ddc0ba00db24454f2174bf0fe7ffe6e2d9d82a92437890bcae1601dbcea29a\n\n[e = 010001]\n[keyAsn = 3082020a0282020100e3ae7de5bf44de7d357e238c8dff063ca713470777ab786b495884e7a9ba1dde65de7d2b5be3f2b7d1830cf6ca8ed5c05d3f094aaaeb1dd2e4b2ede08613109a9ba34c7e2bf8450225974374459f16da2c14192c637985febebbef01f0381e78d0fd63b76038f5e3d35dc7d2243963366af5d7685f1bcfc99dcb91e94c93019068353122edd03cc3e615e17c1bf1dd7c43dae86f47a40238fb594041cebdba25f3fe9593a6c329b7f7c476eab7625d17ba7be7886936b733f8dce6e6c937f588da1315c1117abd29c83895d95988d17f9fd7623960d8e433d7c6841507ff2faac36e0e19a41eb2cccdb2a2c0fae966719a99d203c924349bc0eea1374efd3e23099b2d187922016fd014087520a67363687322b90d7a890d8f4464a8c794d2a3f2070ccd3b0ebbca2b42bbf8eba6f2c0bf8008b5616ee7b81629ebff97a93a5b861989daa10da7c8e3bc7b0cdb095f6ce1185cf8fd3dca035eb3e505cbe022d81d93945a144806b9fe0ba07f3ab9c70e72b5fb77ac6e4c7e03aa2dce7c5ef227aba1acd48c1d93e0e26f01e8f1e43aa97880d15d6c924b060d1face21d03a796c86301f4a74339e472b2f96cd0755741cb9df3535077381ada84d1bc0846a6c44c8a8d3cfe1b7a9913d1f3d7af2c5ea4e67ce0a7ed3c0058206fd13ad9ccad5a8212f3ecd788368a6b6148178c7c5ea8d6d385227f2c76a047216e5e206b1ed10203010001]\n[keyDer = 30820222300d06092a864886f70d01010105000382020f003082020a0282020100e3ae7de5bf44de7d357e238c8dff063ca713470777ab786b495884e7a9ba1dde65de7d2b5be3f2b7d1830cf6ca8ed5c05d3f094aaaeb1dd2e4b2ede08613109a9ba34c7e2bf8450225974374459f16da2c14192c637985febebbef01f0381e78d0fd63b76038f5e3d35dc7d2243963366af5d7685f1bcfc99dcb91e94c93019068353122edd03cc3e615e17c1bf1dd7c43dae86f47a40238fb594041cebdba25f3fe9593a6c329b7f7c476eab7625d17ba7be7886936b733f8dce6e6c937f588da1315c1117abd29c83895d95988d17f9fd7623960d8e433d7c6841507ff2faac36e0e19a41eb2cccdb2a2c0fae966719a99d203c924349bc0eea1374efd3e23099b2d187922016fd014087520a67363687322b90d7a890d8f4464a8c794d2a3f2070ccd3b0ebbca2b42bbf8eba6f2c0bf8008b5616ee7b81629ebff97a93a5b861989daa10da7c8e3bc7b0cdb095f6ce1185cf8fd3dca035eb3e505cbe022d81d93945a144806b9fe0ba07f3ab9c70e72b5fb77ac6e4c7e03aa2dce7c5ef227aba1acd48c1d93e0e26f01e8f1e43aa97880d15d6c924b060d1face21d03a796c86301f4a74339e472b2f96cd0755741cb9df3535077381ada84d1bc0846a6c44c8a8d3cfe1b7a9913d1f3d7af2c5ea4e67ce0a7ed3c0058206fd13ad9ccad5a8212f3ecd788368a6b6148178c7c5ea8d6d385227f2c76a047216e5e206b1ed10203010001]\n[keysize = 4096]\n[n = 00e3ae7de5bf44de7d357e238c8dff063ca713470777ab786b495884e7a9ba1dde65de7d2b5be3f2b7d1830cf6ca8ed5c05d3f094aaaeb1dd2e4b2ede08613109a9ba34c7e2bf8450225974374459f16da2c14192c637985febebbef01f0381e78d0fd63b76038f5e3d35dc7d2243963366af5d7685f1bcfc99dcb91e94c93019068353122edd03cc3e615e17c1bf1dd7c43dae86f47a40238fb594041cebdba25f3fe9593a6c329b7f7c476eab7625d17ba7be7886936b733f8dce6e6c937f588da1315c1117abd29c83895d95988d17f9fd7623960d8e433d7c6841507ff2faac36e0e19a41eb2cccdb2a2c0fae966719a99d203c924349bc0eea1374efd3e23099b2d187922016fd014087520a67363687322b90d7a890d8f4464a8c794d2a3f2070ccd3b0ebbca2b42bbf8eba6f2c0bf8008b5616ee7b81629ebff97a93a5b861989daa10da7c8e3bc7b0cdb095f6ce1185cf8fd3dca035eb3e505cbe022d81d93945a144806b9fe0ba07f3ab9c70e72b5fb77ac6e4c7e03aa2dce7c5ef227aba1acd48c1d93e0e26f01e8f1e43aa97880d15d6c924b060d1face21d03a796c86301f4a74339e472b2f96cd0755741cb9df3535077381ada84d1bc0846a6c44c8a8d3cfe1b7a9913d1f3d7af2c5ea4e67ce0a7ed3c0058206fd13ad9ccad5a8212f3ecd788368a6b6148178c7c5ea8d6d385227f2c76a047216e5e206b1ed1]\n[sha = SHA-256]\n\n# tcId = 358\nmsg = \nresult = valid\nsig = 49159682861cdec7040deaaf7ce2184e53545f7475b0c68fe4daa1dff32ce2d6ef37808866e218bb7ae2f7070ace0d0780a7640bc20dde742e25be8ca2a555f18d9cd5e5881e7e1b43544893eb11e3ce3ba8ba832d531712e0d4f4b41e148636cc8e0f7b18e749ff481abadedb3adf6c42553087fd35b13c68eac45bf09713386f3a2c6fdb1f0d824ee85e1580ad3e1b2363a23cef1add8e2f80659e6aa0bff14231d29e06afb4e7d11465545e8b7349754de170043d9513eeb72f5b3a68a6ba2dec118d52b909d4fb3018536a9af8ab9cb2c840211b06fe0492f77fa2d755d43e6266a381d45600ce5e6e16518b6b23e3810562c91f5feb8e6d8ec067e24723503112aac776600eb22f2c63b9151498a215258c65b86d7c70629028cdbd97133979dc65908657ebcd5e12c9ac4c24d9053613af46e2864929d3e9804c538c87b83f73bb9b71fdd5f8f04790761780256fa25ce6671994ed52f41656148b72f56ef9ee76925807cecc0f54e425594ddb320f0a125e1017e1d782fab6358d6d6207d8079ba94f6de24dcc4d6b1376d4f04382cf449e38d544c7687d73ca6c60a92257cfba3d37a503f49402dc873dea9dc3ce37e3bc5df56c01ab82f2bd5a8d14486e3515dce51154c9467e6925caef87c19a17c4836dc37f9f0f6ee265b195bd5da4b3b284e6aac237ee1871982a02cdbfeaf07073606dde766dc0320d6dd4ca\n\n# tcId = 359\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = b2726a742d6a0c27d3fdc54d8460a9837f86a3f56ec678b182dc4a92a94c9a04d8826e7892e50c3cd2c03f725db8de0ca98b3f81c71489820e8da55753bf0e108746dfe7dbe85cfcab9e40d1d297685e454b819081691e6a3e8722f22228c11fc7a4d424d71c401b2fc3586b3384ee694945a4e9a426dfd0834cf2d8bd6868dd28af317e8ec0562dae6ab30cab28de0f1681019e0714e4ac82604a4118e8e99759a45faab189cef0f8a41ff44e8e83991dc08e8fb88cbba3014c894b4a8c00c8f9993ba4cf28fc2812bd2c1e86c3e0e234887dd681eab04dfba6e61db43c21d35787a4f6718f72c456a618176b84f1330a672e3562c2d87b699757819bc2b74e52f5ef331df5f38a32228968eb37665e36e8fbbd80f8060bf469158225cad2a057289d0a2012bce9a2fda9225f87b40b06792913c1b83d699a0db712989fedfae21523c22002d8282b50e6cb6b9c31cc8dc4171a2d21e11a4f177ab57b0a5045649f367e49b674c6304f0d693d40c296397d0333585891dd2d1a29f9eb101036068e6fde8e517b1ae08a35c4c235ea68328eb15ac40adf11fff1b9f452d9026c33568fefc5a2401f662a46f3c72dece50dbf5aa4e52efc29ad4117732041829ce255474402afcfb4a7e0eba18a31bff64ac2ac9a47e0019649a087d0d8f37c2fa5fd48c0ae0b2993225509c5037ffaacc618ba7b0be252a67eafbe0be70b4700\n\n# tcId = 360\nmsg = 54657374\nresult = valid\nsig = d5abe6a99112b6e2abe236a5716bb3fca53ac1fc312c7ada27873b0296c41db962d03ce69ee55bd37f3df24ac8529284520720170e5f4411ae16eaff06a00a0d7c72f12af5e2e59d2ef57209082d3499f3ae50c9fb0d9463973a5ec51e64526426ccb365c5e1ccde2df0fa5d629d8235121d8cebd875c0372aacfba9c92f11b0d66ca3611fc34bd8274a51ffb68962aa4be24689cf535ceb8cd27767786bab3c67d9d1b4159d46d53866a7fa0565a69f60627a6efabccc4e6e5e6cc6c5622de95a334a21882420689841ae4c08c2c6c8f5a6b9cf023119d7e00f1d4e5e19c5f4e186b4723613b19a9d44bd56751a1154dbb06e534f71aa8c6a94adc076ecddca8d48d8c15a4391947bb9edceab04d14e9f9803ae305aeb7ee72e00d5419d87594a5ca5224e838d40c42326b8e18e7b22deaa2018a6c6570015902e6ed14b99912c6925fd0ea6bd760420ac976bf5c0b96bacf9c3193279dbabc2d01c1d504fd3faf69bdac5a33c70f2221c0d5fa0be395a4495cd3b5b8bc715e7f6350def8b2795edd04c3bf3af49e657d78c44e09482e6951ebf9148d8e4f73c83d8706f21c59c8232ca62c4e302e6fc34a85b3dbc81e2c563314a92e7aab1a7b14f26feb6dabd136a866a214441e37e084ee628476848e6274ec79dfb62e9d3973efa71b2510c0c979d4b5073fcf980420817c15042388ee9146683efc93405f9de5576e657\n\n# tcId = 361\nmsg = 313233343030\nresul", + "t = valid\nsig = 05efbba03b90bda7ba280c6aa2bc8af655c884de2401c9ff9dd59e0d82c8502dca3d90879694692ea2b3e77c6dd3fb0e1f180777b237e462bae0a8b35cc21497c36818a1dc89dfa64bca89cb07babc10ddb98538aee10a4e59b4040c366c8413326e79bc015ca2ebe0a53ee6a4c49f5d9a87bac550e4b6a8173fb49188aeefd28457b594420cf2d77bbc044f6f4f6a7d7ba52d657f5dc6b631ad914bb05bcbf2901293e5eb5a17a88dad2326b508624b698b31d1fa08d00a001db8cba4a9f42bebb0eaba07e87235a883bc719513aa217a36ee016832b12cc4ca0d628598212d5da416af6342855da7d77ba153e5435ed7ea5d04b2459d68c721adeba8c071e979bf89c04a3c8219d67eb514a79b3a2f6926650c55e724b62f800b4f9060110479442e4f8b82ead56330e2374cde8b335552dcfdc3d0f940186192fa9fa6daa8156b1e55005896fe74a3b7164520823e7b7f21611421c281242b37da0ded476903f4b44be8ea35b594a2d97cb0c98a7d2a50123be606c3e3c11b4984c5a55ed01b1848fc54b83f681ceec448dbc4d35d15c389283b26de66c713f05a0d31993ad3e6e1b3aaff06b6f046ab075d93a8ca75c3e5558f8f2a445cf10d5eb813bd6f2754c502c93e81b904d845fb55c9e0810ca7259a012840cb0c85056b0a7e141e8d3a7fa5849da50e157c46164c9c02ffc099f42cffb71368f0ac3dac77b2ceb6\n\n# tcId = 362\nmsg = 4d657373616765\nresult = valid\nsig = 268d2edd3cca14c1dd3a768bf95d392228358f1d10bccf617cf507db1df8505e190035b890eabc94c3557e9117f4f3945fba36b1e06f16bc304b8bbf7472fa35375ede40530a05d43e3e88084bbecc931b69f02e83b0ca317d31a5f909dc7174a0b7fa7fb79b52ce3e8ada833e9c6f5d7cd1cc42d96f32a79f9bd2bb7a8de53faff97735e94c57be1be6fa829d9dd8e0dd06688991a5b07a514038c747c54ffcfebe8b3267049cf4ad335f2f6c52a2e1b0125164ea8dc354c2f092cb0b62b60c5c918059e1ae87e9e95b982d106fc3b1d9a6428a8e235a542565e4f1c9658763ed70b2a2bc7a4779bbe4624835bbe6be0bec348aa43823e87f9de89beb1593bed08cc6012ce054221abf67f7f98b01b12de8b700d6636e1c24332ece065c3ebfb087e6e1d8ca7e5488c1923724422f7a99af55fab29401a3b19aa985601da30db5430be4810a274676fc82cdaf0e145aef7adfaccc6a95cb4769e9f787f4c104a4c929014342474a5369757ad2752a9f7dfe7b37eec46831b9d42518a0cbeb99badd4249b16b32a7c371fa9429921e98887fda911413d8b0f5a5f70a23748e86738e90bf3d62322299fb361e7f10db9b48b818a50d2caa6598adbd9f048d0442e4654e38eb29343715343f951b2309b672ad67033e4588ecb80112438b366a2d5400da81e9687836e8a6967bf75585d95e99ec3412a9394c5faf8639be5387ad\n\n# tcId = 363\nmsg = 61\nresult = valid\nsig = 2575098034bfc7c6e635162041f8c9a2466f3f372411629dd9f9422dfc5d298b7f5e7614069272d712c21904a0294ae3610406037d170a1e103f6cb906a96d5a70d54316d3c5078dbdf0a0980e1789537c551ea0b5afba3bbff9c7d27384e7b51e97ad9a3cc0af134067abfff9250e0bf5d7d682bb8032c56646f92b6d57525fac5c9fe706aca60a8ee20e429db971d8e6204a0fcac0c8ea3664b9710b4d49484a4cb49bb802e356c8c3907939d085014ec9d63df47508244a9eb86c9f47bdf72a6c3a47dff909c7b3d40263d866841451e41e163e1b90a9c520e28ac47b34ceab522e731aa934c8c9e3d7541eafe5dee83e940821e5430ced0ed54f52c2a5f79fa1257640a73aa6b4fb6ca7d74ce81fe4bcdfb5009b7cd0df3a618b492b652574aae9142efa1548f94aa8c97ab152377bc8791611af5d63e4a19834a309ade08ab19767bc979f0dcbd2ed343830b38553850c7cf499ba0a58bb7228b16e539e92e3ecfb7cd3390ed85f92a536e49fee88aaa04827e37b02c9e44c5abf68cf4fbb567dfa8251687f51d01c9f779311c07d405a92afb5df5cb6607749fd5dd99eef66e4588b9708ca4ef8e98ef0c987b9d873f3bf43bb1c557adf494f6022021ef9589e79941db266c8896ece404c8cee5e45d84027505b017db71dc6f021fb1db0a583de25190c5d273e77f38a200774972b0bf2ce14352de01fd4f9bfd0e5bc\n\n# tcId = 364\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\nsig = 1cb417d0ceeac22a7c3c424579176da1b0cd3f348fab09805b73e2fdcc50669c53b63eaab0d256fcbfeb6935bdb6cd1b2b9ec65973c9eb53dde80525df8fe7ef6b5ed54ef005bd7b31e9e9aa0e9f8da5db8aafef60a48b2d3900b7722c24ba48679ddfc11b87582a9fb34af90a0aa4ce57aa1da76b5cf6bda2649ec99b07a87fdc5548f7bf31a5019b97e0fefef7971f96d2551c9b74e164a6f21fc760ca2588b745f5ad51db304b123e6cbada39efc309a65029598d0c559014c6107ea0626b525880fb1eaa00e0a902acc6701df142f18d9ca1b885c92be618888bd7252ec35b1e8e5dd43825a059cd60d5c4edcbd678fe0495971a05aa7fc7bdac584e2a0027068ea4244204a0fa4b66d2ef49860538dddff19f650b54654fd835cfed4d13bb3fde99d866a4ece7cb6dd1c8e02f805f7916e140275248f9d9e7113ebe8b7bcc4e28816eba44df20ebdd08dd7206b8b5d8d9af74dc789651dc172adeb5c6421cb8abf48460ab376845253e62b37026f7e7b9b2cfb6855cb9f3040e4874175fb9cdd6f550c3e0eed89baab7a0b170f334eb9ae56525a0d6c38ea68498137fdd9c2b7b4511fb0a69aafd30f0e4c0b0a0eedbf80bb63e3017539a1cd41e6ff22625e07f0326810e7886d4ac31f621d4b3c1a80c914e79e63b330a7c3c0e5aad840128274b9f34f5653003175962b2f7cddfe11415ade74cee07c61cd2db2022e8\n\n[e = 010001]\n[keyAsn = 3082020a0282020100c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d30203010001]\n[keyDer = 30820222300d06092a864886f70d01010105000382020f003082020a0282020100c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d30203010001]\n[keysize = 4096]\n[n = 00c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d3]\n[sha = SHA-256]\n\n# tcId = 365\nmsg = \nresult = valid\nsig = 89789b9b0a97b90c4ed9a414879e809012bd328faf15b723495d1e0aebbde882639097e0dcb5471b1a0be1217cc6c34122595ffb4ada75e26c362d96c7408525d8da4266b8ffecce06c2a077b383d85df196b7075f2776795a95c6b688cac5f7bcb104e75a1a701f60b0a545df5054ad538a4c76c34336ec532e7f6ee7b999a1fc7fc2d1445e247f71a9302d9dc32a59340ebd6feac843467cb4a9a52e3bf0abb7935a3aa148116513114395bba36142848bf5a04f3718407e4b93fba02290b9287023e6d873a8546df91f5f967b49e85102386e59db91c5e51869b50fdb193879bcb01e6d2b05ec6f0c91b64ca8edf9d5aafa7359e554877cdec6eaafac80da15cc47d1a8addbe466ee100bf8a3fee75f495db722e8853b4fd21b16c4b6", + "2b536415077754e851472ef604b777de4e5c82d1c2f68699db340636f748e3433dda9fc62297463fa0c3a875f3694a79ae325b3cf31dc8f426306e47643d119c1039e77b5fc27cd8d9104f9cdd62e5e42f8dc1db02198797a58133198856cf490c7f2b22f1489e7eca21750f97e949982524ef09ee033d838f3e65ed175078f3569d787d599c4a7e7b63e9a25cdf6303ada48acc637ad023d65b901629bd140b51c69770e9e79ec8dfc21bb1debf3c5bdb7a1ed2aea297677033d681ce288da698e22538cfbefd950dc548c8f199a8b5a3f15d07d538734cd9789ed42317e0c5f656\n\n# tcId = 366\nmsg = 0000000000000000000000000000000000000000\nresult = valid\nsig = 3c8cb7e2f9f2f41e36b1df261388179dbb3bb97830b7d74721cf4c4d297fd126abb9a7211344dc52b36964c666ca72194c0f66cff5d2a3961888c26d394677117fec8babf38252be81fcd79380431647c2ad63bffdcb004e9efb8c49b3d775f1b53456581a5c2c130b5bcb47c2c0157fd27bc167f8897a40e72bd4c425a9114cc1195d15a97965aa59c74f0766f46b641c4229a4dbfbb3cbdfe6d20139cb4e587ac916c22959549ca1bb2986d423f701080b1d6c5f287cadd63edf4ee635304730bd5618c6952ec767a97f33c6b9d712dba4da8e3152c2249a47ac656b8dde87a76f0b22b484903b888b0c287728a0558d4961578693745db407b687bbd9a38d5a1597bb7d33a1d0b8927aba09a9d047b5c9cb3433289b95bd1563071feb622111d2c0ecf23accb4c0253c77a461cb7adcdd55d38e7b1232efe997908fa24054a82e62f113c5d6bae2985f7a3166fba70ea998c80ee4f04f5f18cd9e7ac580c44a6f04d671ad5b002359ded0c27edfe54c62ebf94908a408d370e36cd29eff2c89ea4050b256d4cd9aab0db5e7e29f638a4c81c0bc6130dd72242950fccbbc70aaa63422ba328eb39c87f2f84dbdbf365fc11796e686d9eb4a0ba429aea6798e61b1eda6c17458c5e5b48ae5e11baa6c45c34968ace833ea24ebe657978741cdd2308fb6d4548a289059b56e6d89cc318ab1b089ec5980bc938e33aa77ce02dd\n\n# tcId = 367\nmsg = 54657374\nresult = valid\nsig = 8c34f23e4883beb610394628cf4bfc6df148755e51c34a936e37018e9fdafe4bebd87bd9e423d3b0a746e115e99b6891a248412829fdc0e250611e8b785a7635cd1ccdbd4dda56e2cc27ae87c96ca0781943cda269f10b613995a3dce5c3922dabbbe37dfe87a176503886f4766700e377e47295175783dbd33899b7f1b2003c018221efd5542c6d520efce5ae96ee861f03a80cad2a70419fa52537c8ad5c130c5874adbeafd84320aad9f56b4c4f34ce85e9f3b0ecae803cbae83ab151ea66c163cb334f4460f85466f33a699924f415c067d4cdebd51c43e8fac821f138c00111480e3e3ea4b216d8de08fbaed39824a4e4f86fbd0f9b665f9b216b00a5ab92ca4751e3f8b04d000e3eae18a8cf5a9d655a5a2f6816119219081e7ee2b2ff1f57b226aa096248255bea2b58e0b119295b4e4fe1c572ef8783c2b4e5fe4023cc5934264fd900d53404b7185df382ad6bc07b457dd9d3d201f0644b9b6981a4f146209726a2bef1c7e95b24c93b83364439050d4fa78e808f719ede06244fa6e4b7ca5e404156a65f274cef637c62f67a9bbb69e894a6d34ae94a5a602662f8e7c091c6fd3897992dbd6e3985ed042e4c0d8af87b3f1901308efe60cb243c62c7c89b3ec920ad5ef7aea85ca981f434c102def438794fadd8e44862c1a35ef95d3638bf8185dc10dd5a3c2d8d1eb000018f5e77b1d251c02b83f1f6aec62b1e\n\n# tcId = 368\nmsg = 313233343030\nresult = valid\nsig = 8682d5bac51bb32bf283b8cab1172d6e8054dbfc672de6f35f33a9f7b3f0662fe19ec01a74d5cbe6d90351843e2b129d0ce30884fdbdcfc962d2721fec5b3b7f6a9db4a95b13def111c737cfae72d13aef4d0ea9c29181891505a0d28c5c8853ce5c37476654703ea2e7c68ed52591c182bc051b5d837ef3be064901be454967be52f9c7d406b7409e93308b74a826d3d1e6aedd8aba3f5f971824784167df53d042781b7c2d3cac29428c7da1fbc451680cc211517f9175ff1b2c00f819916d6d25581542c8f05479aacfc245e5894763db8e79849d3e2dd8d7178a38cd4cb7b03436c150c467540dfcdd001d6c8994b2f8b332705b2b5ae0c841708c83dadc7d647ae15e547403d689a00a6bd4de8602633443e0b7edf060bb7b529e0afeb1b4171f70a943a14f69c59720b4b5ae59313325685c102d992645fd23af12f3b8f8de79399cc6c80f9a0c006c316ff7a6963a1f8ef58a67d107e5b49fd8d7079bd45f23ef67f6a83127da157f54fef9dc01415a6cf7a957f5ffa15457a1a8bf831273f48f927ba8bde79da623a8a2784e7d8950c5fcbeef5868311acbb793cdfa54c702209073ad8599c4c74b31ce3b662399789febb36d922d77cddf63c1de3a6aba21d6d8ed54a1b48f48955602d0f6a4f5eb5546131561809236f0c71b8374290106b893ab70f6fec1fbc3bb6ef5e6c0263a7c8cd90c289968671744e853d7\n\n# tcId = 369\nmsg = 4d657373616765\nresult = valid\nsig = 3adcc06e29c9f1f08ff6ff93472eaf9140d4b47f86cfe645c507788ac46d6402a01b19483b48b8274237b08fb944f84bcf33567fa8f5e115e17a5019422cade552d14bb78fe007cd63a566fdd258427cac46bebe1d8c171203d75f8c228c11198a2529012a27ad35d311c3e65b422096e4e1c826959deea5958ccc7844ce1038dc26b8124a354e27624ef022a13ab056054c9f736a3e99d37334c362fcd2c394153a0eeba909a8f46127038832e89c19f912aa82724149940a9c835d7ad3e6f9990b00d7eda6e635c4f342a9a91f301dc3ecb1465413675c5df750603b931ef646590d4abe8685a35223443afcbd8b693313e3560af5107bd8faf822f6410188ab47ff0e56aa43175211a88ca339f99444f589534e49c2f8f971d9c5d9dcd77b4b72323fb0a76f90bc1547fa187abd59c96236c639e5019104a6d3a346f9545fc03f616cfd5997b19b10d5ada0e31847e6dfa28ff9ff28efaa4e52d6a0442308240bb70657993a2acfd9d15509f139c7ee263f3359e08bb987697c914365d9c0154a47e797f4d329f8a6d805228df2995f601c8606d03046a4a8bdfd512beffb4db4d631c254906a1aae0b6f32fad34ab555238262e9deb4acc1d571638c25566f96eec072a43875da82f12bb952584905b2eb88bf400452933eb5bc9cb07e7f138f1581df01d0a71015d361902b90b86f45060754f027ff2c108190832dd869\n\n# tcId = 370\nmsg = 61\nresult = valid\nsig = ac5cefb29cb810e32c82f3e71090e2da0e10300acb638ceb24f49a588c54d84256d50584f87790848623239838865395bd3200969b6886ce38fa9761e823c6a5fb7f500636ece098df395eaec9405ee0ad9bfd6aed2f8503fc08a5a81d9c5644bc053868355af6bf01bbd37490dea174f2e0259340a2956ff00968c5ff5659a5f132537972d05acb491ab148be7849384434f50e584b371ff3f8675892ceb3b928e8bc7d49eab9635538817603591b9175e51b6f06768042e100d02f89d45b62401de9c8076b789266d2a40f0f52e527ac501a13e006afb364b7e5fe58f13e309bbd414a2c7fd3b61e5cae5dc14d81e60116c1743b3a20cc9304db044d73aea74ac49faceb321feec4e8ccb04b9d3e26d643a5badcc7ca0a4de4c7d69aefac5311d3915f9dd31a309cb39e4a861d0c9fe93bb7b010396ea1de18fee6c530a5dda73e8f05b7a7454bb5375ef64fafce7fdd5a65d4dc8b9868ef437c71cc5a27eeb09c7f7e7b7f24d6694125bd474fc07b48185975ece10848ce5321dd27b5598bea4718a21c39b5a6148504dd785f382d46733cad2de79aebc4f6481cfbe214d4cadea18cfb0b5379e669609d1bad7b2bfade7674113644568519ae78b0958c4679014f9138b3b4d5f49520a5485d2e1a2897e6cae04051884405ec873f41d6a8feaf42ebf901f404f2bb39408a47f5cab149cb725da17d418d128a9fb0287b1e\n\n# tcId = 371\nmsg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\nresult = valid\nsig = 32b0c4ebbfe2e84043d48caab328e00671e523ae73505832a6b65349501e485731c8372d54c48026ee0b7f41c8a3df6167394c650ae2d74df1aec9559bb55871915fd7d252fccb059ee4b7b566792cf39ced1c133a3481e36e63d79b443f424ec0314d12fa81e4e6d53c7f9270b31a4df07a22e36f6ea5cfc0fca32188d2a2639a2de48e41b10fb5f5bfb900541d6d560d079f1cf94ce247b29445631272f0260761099eabdc0d44643f2e57062d2b2c020bd32c7861e6e632114857d0695be9573e803de0958432c26179d7311b60ae0ed89893566ff45625892e431dbae0eaebfa787611e3ef41baa7dab31bd3af98a508e1fe0f7e3255d980f40ea4e0c77697f726fd5bbdae9ae6f44915d4875db5c81bdf4cf96584b204613e5fd0f4be664955620f73e13a36781d8f2f6303801b4f8e310c6e2a2c2165f5f8a502fbb543a1c044bfa66010bc9aca960470b497fa9da703d046d266a1e14bc6880d8663c289a03c501d439ba0b4225f04602f0a2f67d6618b45e32e3567869a2727aae298148183c09ddea41b15acee6e9af9959f06ca3486c93efa8f539f404e908c30c8299eefd5014674d42fc084ac1fe1edcb12a26f66495d398abb0b4bfdd4c0206f30b229dc059f6fffd351489c52009c898edc484570e6bc1c6275a02eb26a6379456cd47a4654f2f2cd3b1f20c49cafe4b6998c9d2bb91595ba11cf9d54760f48\n\n[e = 03]\n[keyAsn = 3081870281810089863f6993177d65e5f1b6d41e183ebde1fe8c0f23fa8c99893ba0267416b74d93bcf04cb77f7bbc5015f501c001fe81eed5c339fca8d6804c29523668d57b32e2058b20366c4d66c5e1684b925bd7c71959ba4b022a4ce4a04c7e4ff13fa433f81553999ed9e73dc6f4e0cec5b00452391bb7a742f5b932c0a4eccf802120cf020103]\n[keyDer = 30819d300d06092a864886f70d010101050003818b003081870281810089863f6993177d65e5f1b6d41e183ebde1fe8c0f23fa8c99893ba0267416b74d93bcf04cb77f7bbc5015f501c001fe81eed5c339fca8d6804c29523668d57b32e2058b20366c4d66c5e1684b925bd7c71959ba4b022a4ce4a04c7e4ff13fa433f81553999ed9e73dc6f4e0cec5b00452391bb7a742f5b932c0a4eccf802120cf020103]\n[keysize = 1024]\n[n = 0089863f6993177d65e5f1b6d41e183ebde1fe8c0f23fa8c99893ba0267416b74d93bcf04cb77f7bbc5015f501c001fe81eed5c339fca8d6804c29523668d57b32e2058b20366c4d66c5e1684b925bd7c71959ba4b022a4ce4a04c7e4ff13fa433f81553999ed9e73dc6f4e0cec5b00452391bb7a742f5b932c0a4eccf802120cf]\n[sha = SHA-256]\n\n# tcId = 372\n# short signature\nmsg = 3831\nresult = acceptable\nsig = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c68149efc8a4a913a26c9170590a", + "1ed9064323c12b6ebde15ae8c05a0e5205c91f57f5753815ff39c918\nflags = SmallModulus,SmallPublicKey\n\n[e = 03]\n[keyAsn = 30820108028201010090a5d7aba2c8dc828e616fc1fc45c7c52130c8589dcbe2913da187572f6c23217b89a5186b6f90cbe053abfb0885a91f141dbe106ce6ad303904a5941df26ced10478cb56a7bd6cf1313c4966d9cf7c4509d9dc63566aa323e110af219f3398c04e79bb486de8703793473136f5c9051af24bd2c0208ea1bf9321a3e8f24af00aaca1216842eab248d58cf46ac786c49fd3ca8557e9b53993a4b9718cdc5c474bf1cfe58c07ad97b2c5acb7d86accc0fc7bed147adb2e77b8697d80150948117714b806ff76f9d88147d84e93987b724bf4870429e85a7a7b51486a78d8a88f1688f60e215d43d06221e2b993b5c12a607b80e9e0122472b29945f76b55737c1020103]\n[keyDer = 30820120300d06092a864886f70d01010105000382010d0030820108028201010090a5d7aba2c8dc828e616fc1fc45c7c52130c8589dcbe2913da187572f6c23217b89a5186b6f90cbe053abfb0885a91f141dbe106ce6ad303904a5941df26ced10478cb56a7bd6cf1313c4966d9cf7c4509d9dc63566aa323e110af219f3398c04e79bb486de8703793473136f5c9051af24bd2c0208ea1bf9321a3e8f24af00aaca1216842eab248d58cf46ac786c49fd3ca8557e9b53993a4b9718cdc5c474bf1cfe58c07ad97b2c5acb7d86accc0fc7bed147adb2e77b8697d80150948117714b806ff76f9d88147d84e93987b724bf4870429e85a7a7b51486a78d8a88f1688f60e215d43d06221e2b993b5c12a607b80e9e0122472b29945f76b55737c1020103]\n[keysize = 2048]\n[n = 0090a5d7aba2c8dc828e616fc1fc45c7c52130c8589dcbe2913da187572f6c23217b89a5186b6f90cbe053abfb0885a91f141dbe106ce6ad303904a5941df26ced10478cb56a7bd6cf1313c4966d9cf7c4509d9dc63566aa323e110af219f3398c04e79bb486de8703793473136f5c9051af24bd2c0208ea1bf9321a3e8f24af00aaca1216842eab248d58cf46ac786c49fd3ca8557e9b53993a4b9718cdc5c474bf1cfe58c07ad97b2c5acb7d86accc0fc7bed147adb2e77b8697d80150948117714b806ff76f9d88147d84e93987b724bf4870429e85a7a7b51486a78d8a88f1688f60e215d43d06221e2b993b5c12a607b80e9e0122472b29945f76b55737c1]\n[sha = SHA-256]\n\n# tcId = 373\n# short signature\nmsg = 33363730\nresult = acceptable\nsig = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000989e7ff72e67e680bd21d5f966e4ad8a48c3592dbacc4a2f035b4ef4d17a2f25f8a9fef7e78eb99d76d68629ed02d67c43c4b7ec8c3badc32e3d0a524c326537739b0fde156723b27c23ae2b09895e470c64d700f5c\nflags = SmallPublicKey\n\n[e = 03]\n[keyAsn = 308201080282010100f2ed0e93228f37c2ce1c215e00cce4ef00e2c08a004a39c4170dc73e5fbd9b91e7c55e596579ec9c60b9bd341e83029b1934e6493eb60099b6cfbb9804d4179c983099e19102bba49eaa28fa505efacc5a9d5374499c0c5775778317ed370de1919f38aff22d5aee8c8af36a86d036029e761f243dff3c205a11e9bce9ac1d6baf81e79ad4146b119abb13903f8562e8f3e6a918f48223465bc93d5e7d5abe3d08503ec42998fe087a1f935d1b8673c495f005dfa7453daf977e1608a8c276da2a4cd0567e4af4d18cba05fdbedcde74493ccabd9060c27d35a02f35c760b12a4deae1359f649f273fa408626fb789c916434a642d528f41db868ff93b7f889f020103]\n[keyDer = 30820120300d06092a864886f70d01010105000382010d00308201080282010100f2ed0e93228f37c2ce1c215e00cce4ef00e2c08a004a39c4170dc73e5fbd9b91e7c55e596579ec9c60b9bd341e83029b1934e6493eb60099b6cfbb9804d4179c983099e19102bba49eaa28fa505efacc5a9d5374499c0c5775778317ed370de1919f38aff22d5aee8c8af36a86d036029e761f243dff3c205a11e9bce9ac1d6baf81e79ad4146b119abb13903f8562e8f3e6a918f48223465bc93d5e7d5abe3d08503ec42998fe087a1f935d1b8673c495f005dfa7453daf977e1608a8c276da2a4cd0567e4af4d18cba05fdbedcde74493ccabd9060c27d35a02f35c760b12a4deae1359f649f273fa408626fb789c916434a642d528f41db868ff93b7f889f020103]\n[keysize = 2048]\n[n = 00f2ed0e93228f37c2ce1c215e00cce4ef00e2c08a004a39c4170dc73e5fbd9b91e7c55e596579ec9c60b9bd341e83029b1934e6493eb60099b6cfbb9804d4179c983099e19102bba49eaa28fa505efacc5a9d5374499c0c5775778317ed370de1919f38aff22d5aee8c8af36a86d036029e761f243dff3c205a11e9bce9ac1d6baf81e79ad4146b119abb13903f8562e8f3e6a918f48223465bc93d5e7d5abe3d08503ec42998fe087a1f935d1b8673c495f005dfa7453daf977e1608a8c276da2a4cd0567e4af4d18cba05fdbedcde74493ccabd9060c27d35a02f35c760b12a4deae1359f649f273fa408626fb789c916434a642d528f41db868ff93b7f889f]\n[sha = SHA-512]\n\n# tcId = 374\n# short signature\nmsg = 38343432\nresult = acceptable\nsig = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009e7a1269086f0bbc0778ded8d7108ff4edcc2313425088117b2d5c53e9d9971950a5fe8b2b67d2bcd1be74f6b557a3f90650a96d7e4dbd63c05b94f73337eea682417c058d66ce523e4461065ac8ba990c4ecd04932\nflags = SmallPublicKey\n\n[e = 03]\n[keyAsn = 308201880282018100ab54a4f2560b9f65faa2f83bcf77d41803c080e4e5c3eab3534210982bba8a5d7e513ba50ba1ece33555c5457c41ba58f3f605a04369408f586c26dfda464c7b300a01f1616893264c7606daad4ced14df9a894a1f34586181294297e3ceb9580b0c785c056d5c566467f6f227f3084918d1cd17ed156e7f9fcce4757c5794f92770771ea5cf3101ca0425c846775f56938c1d1cad4401f4df2f5e0d3a3b2770f99e3c1cb4d9d4896c7ca89287b45831218b099add4bdf1dab6e2fb55d2775429386c85dff32c07a6dda504a9627529dd82c943554aaf23c5a5f6cea9c301b4b1f066b86bbef2e4bae9dc5b5e82e1fa03c29ff8bf38556729b356d5ba41d37a069fcc8fc23ac715bbea04c1972a2d50c57cc0159a46b5919fb670fb2a502d5ab66f0aa99e51016b83a406943ce9bdf0ab9b9e946574a5b32ce95d97ac8b1fbb48f0bf7e3c0d4b7a00d131966d009997a166a6630dee4a74c141cde0114aa423351b1dfdd3893a856fc632b6d90dbc79c8a61a9f9e31702ba69fb222860e60a83020103]\n[keyDer = 308201a0300d06092a864886f70d01010105000382018d00308201880282018100ab54a4f2560b9f65faa2f83bcf77d41803c080e4e5c3eab3534210982bba8a5d7e513ba50ba1ece33555c5457c41ba58f3f605a04369408f586c26dfda464c7b300a01f1616893264c7606daad4ced14df9a894a1f34586181294297e3ceb9580b0c785c056d5c566467f6f227f3084918d1cd17ed156e7f9fcce4757c5794f92770771ea5cf3101ca0425c846775f56938c1d1cad4401f4df2f5e0d3a3b2770f99e3c1cb4d9d4896c7ca89287b45831218b099add4bdf1dab6e2fb55d2775429386c85dff32c07a6dda504a9627529dd82c943554aaf23c5a5f6cea9c301b4b1f066b86bbef2e4bae9dc5b5e82e1fa03c29ff8bf38556729b356d5ba41d37a069fcc8fc23ac715bbea04c1972a2d50c57cc0159a46b5919fb670fb2a502d5ab66f0aa99e51016b83a406943ce9bdf0ab9b9e946574a5b32ce95d97ac8b1fbb48f0bf7e3c0d4b7a00d131966d009997a166a6630dee4a74c141cde0114aa423351b1dfdd3893a856fc632b6d90dbc79c8a61a9f9e31702ba69fb222860e60a83020103]\n[keysize = 3072]\n[n = 00ab54a4f2560b9f65faa2f83bcf77d41803c080e4e5c3eab3534210982bba8a5d7e513ba50ba1ece33555c5457c41ba58f3f605a04369408f586c26dfda464c7b300a01f1616893264c7606daad4ced14df9a894a1f34586181294297e3ceb9580b0c785c056d5c566467f6f227f3084918d1cd17ed156e7f9fcce4757c5794f92770771ea5cf3101ca0425c846775f56938c1d1cad4401f4df2f5e0d3a3b2770f99e3c1cb4d9d4896c7ca89287b45831218b099add4bdf1dab6e2fb55d2775429386c85dff32c07a6dda504a9627529dd82c943554aaf23c5a5f6cea9c301b4b1f066b86bbef2e4bae9dc5b5e82e1fa03c29ff8bf38556729b356d5ba41d37a069fcc8fc23ac715bbea04c1972a2d50c57cc0159a46b5919fb670fb2a502d5ab66f0aa99e51016b83a406943ce9bdf0ab9b9e946574a5b32ce95d97ac8b1fbb48f0bf7e3c0d4b7a00d131966d009997a166a6630dee4a74c141cde0114aa423351b1dfdd3893a856fc632b6d90dbc79c8a61a9f9e31702ba69fb222860e60a83]\n[sha = SHA-256]\n\n# tcId = 375\n# short signature\nmsg = 34333630\nresult = acceptable\nsig = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011a21abeac8409398319e65c8656f8f72e179dd1e99358c7531fddc037e47c1e688cd70eafd6eea01c823516bc79f89d7e52ee1eb4ffdeaad1d550dc0a47185bc9c42e47fce5503c3370a60510f834b4691152ef668deca633cf3873ce6613951784aa7dafde118f37f1cdf1a687ac236d5c956bced564b73cf202e3bace59667\nflags = SmallPublicKey\n\n[e = 03]\n[keyAsn = 3082018802820181008733b9c2bc754216fac899159abb71c5ca84be37153720040f33f291f5f7861bc122cafde3091b5211bc81", + "ee03e280e3c6c2902ec49afb8432c3273536edce7116048513e9b33e2fcfe56f9597c81bc9be81a1b1d46e863ca11db2c33ac1bdebf7c552332067e2e588497e7d9e0738caa57a73dd28157e88fc202b31bbe3b9993548399a0b0df9b72dfeece75ecd78376227e9cd21c8d24ca4aa64fa50a59ee8e7621158e7bac2420fc0d77064d3959afab664ecda0decb8c979eb402795b9a562f2de310aa7fc6864469ac88867788c57ee96f6dc32dbdbe3aa7d3ff47ae4b78e1106e1bc80350b2383dae54140a4605f4130d7e5d3f7818262a27c76a51e4c6db4ab4590b4766b8c50ec1bfed53f0d716b5c7d9dc971399246c75ce27745147151f2e7629039f0b2efed99c7f17cda8f3c3df764dfb40cc0c2ad7bf2b6c72829df93329a4bad6be8635953dd10840888784eea738c763be9f5dc3ba47a9e9d800e21b4ffcc18193e591e8a5283192426e8867331c72bdda06a0eb49367bb01020103]\n[keyDer = 308201a0300d06092a864886f70d01010105000382018d003082018802820181008733b9c2bc754216fac899159abb71c5ca84be37153720040f33f291f5f7861bc122cafde3091b5211bc81ee03e280e3c6c2902ec49afb8432c3273536edce7116048513e9b33e2fcfe56f9597c81bc9be81a1b1d46e863ca11db2c33ac1bdebf7c552332067e2e588497e7d9e0738caa57a73dd28157e88fc202b31bbe3b9993548399a0b0df9b72dfeece75ecd78376227e9cd21c8d24ca4aa64fa50a59ee8e7621158e7bac2420fc0d77064d3959afab664ecda0decb8c979eb402795b9a562f2de310aa7fc6864469ac88867788c57ee96f6dc32dbdbe3aa7d3ff47ae4b78e1106e1bc80350b2383dae54140a4605f4130d7e5d3f7818262a27c76a51e4c6db4ab4590b4766b8c50ec1bfed53f0d716b5c7d9dc971399246c75ce27745147151f2e7629039f0b2efed99c7f17cda8f3c3df764dfb40cc0c2ad7bf2b6c72829df93329a4bad6be8635953dd10840888784eea738c763be9f5dc3ba47a9e9d800e21b4ffcc18193e591e8a5283192426e8867331c72bdda06a0eb49367bb01020103]\n[keysize = 3072]\n[n = 008733b9c2bc754216fac899159abb71c5ca84be37153720040f33f291f5f7861bc122cafde3091b5211bc81ee03e280e3c6c2902ec49afb8432c3273536edce7116048513e9b33e2fcfe56f9597c81bc9be81a1b1d46e863ca11db2c33ac1bdebf7c552332067e2e588497e7d9e0738caa57a73dd28157e88fc202b31bbe3b9993548399a0b0df9b72dfeece75ecd78376227e9cd21c8d24ca4aa64fa50a59ee8e7621158e7bac2420fc0d77064d3959afab664ecda0decb8c979eb402795b9a562f2de310aa7fc6864469ac88867788c57ee96f6dc32dbdbe3aa7d3ff47ae4b78e1106e1bc80350b2383dae54140a4605f4130d7e5d3f7818262a27c76a51e4c6db4ab4590b4766b8c50ec1bfed53f0d716b5c7d9dc971399246c75ce27745147151f2e7629039f0b2efed99c7f17cda8f3c3df764dfb40cc0c2ad7bf2b6c72829df93329a4bad6be8635953dd10840888784eea738c763be9f5dc3ba47a9e9d800e21b4ffcc18193e591e8a5283192426e8867331c72bdda06a0eb49367bb01]\n[sha = SHA-512]\n\n# tcId = 376\n# short signature\nmsg = 36313237\nresult = acceptable\nsig = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001bdd0c9e451b5b3e5513a94492dbee1ada9ea87e65a8cd95cceb4d304294ce34bf09a212f14908f5b865c7a34a72e68e389794a2d1c5767ba17829e2044108ac7842b6bfe0a5663b433d656f4e38522c5a5a23c460b898833828d257350e5814291b54cf13089080f84998edcacf0fe5fca0c1f8b176b172c5f9989491a039bef\nflags = SmallPublicKey\n\n[e = 03]\n[keyAsn = 30820108028201010092bf17cdbffb42fa9957ce37826bb451708e7cdec8752b809c81a8d16fe5fe4dab6a9db6d11dbb12086645db7546642b322e8331dd7f29eff68bf40b24f80884f5152b1fda9b9f7ae2fce2721cdee0fc48f85a6e8e64f767ed9727fd2dc597967e276a5e2e768528afdd9df4b6ddda4c174300e4da3c19a3c32299e1e7857934c14dd6203d8c2671289bc392711597155364a59046b2b9f1905fe717ca7efebb4c1969b804118effa240c11ebf97cd68c2aa19c787b3be21e68c0e397c7f04c6ef98950e27e0e19a40da92a3ea10800fe9252b77026d14c2fa1eb4ac102491e5773279f07d856d446f45169b09bf60b8a2695f5e4864eaaf9590aec8c7c2f86d020103]\n[keyDer = 30820120300d06092a864886f70d01010105000382010d0030820108028201010092bf17cdbffb42fa9957ce37826bb451708e7cdec8752b809c81a8d16fe5fe4dab6a9db6d11dbb12086645db7546642b322e8331dd7f29eff68bf40b24f80884f5152b1fda9b9f7ae2fce2721cdee0fc48f85a6e8e64f767ed9727fd2dc597967e276a5e2e768528afdd9df4b6ddda4c174300e4da3c19a3c32299e1e7857934c14dd6203d8c2671289bc392711597155364a59046b2b9f1905fe717ca7efebb4c1969b804118effa240c11ebf97cd68c2aa19c787b3be21e68c0e397c7f04c6ef98950e27e0e19a40da92a3ea10800fe9252b77026d14c2fa1eb4ac102491e5773279f07d856d446f45169b09bf60b8a2695f5e4864eaaf9590aec8c7c2f86d020103]\n[keysize = 2048]\n[n = 0092bf17cdbffb42fa9957ce37826bb451708e7cdec8752b809c81a8d16fe5fe4dab6a9db6d11dbb12086645db7546642b322e8331dd7f29eff68bf40b24f80884f5152b1fda9b9f7ae2fce2721cdee0fc48f85a6e8e64f767ed9727fd2dc597967e276a5e2e768528afdd9df4b6ddda4c174300e4da3c19a3c32299e1e7857934c14dd6203d8c2671289bc392711597155364a59046b2b9f1905fe717ca7efebb4c1969b804118effa240c11ebf97cd68c2aa19c787b3be21e68c0e397c7f04c6ef98950e27e0e19a40da92a3ea10800fe9252b77026d14c2fa1eb4ac102491e5773279f07d856d446f45169b09bf60b8a2695f5e4864eaaf9590aec8c7c2f86d]\n[sha = SHA-256]\n\n# tcId = 377\n# signature is close to n\nmsg = 32353934\nresult = acceptable\nsig = 92bf17cdbffb42fa9957ce37826bb451708e7cdec8752b809c81a8d16fe5fe4dab6a9db6d11dbb12086645db7546642b322e8331dd7f29eff68bf40b24f80884f5152b1fda9b9f7ae2fce2721cdee0fc48f85a6e8e64f767ed9727fd2dc597967e276a5e2e768528afdd9df4b6ddda4c174300e4da3c19a3c32299e1e7857934c14dd6203d8c2671289bc392711597155364a59046b2b9f1905fe717ca7efebb4c1969b804118effa240b8bf4bb1a6d0616fd5be2f081dc9ef741a9a4ae7274418b791432de470c4556463108388e8e8ed5dcebf3558e4650c2ac97c86fa682176f09b5dd8cfbf15d19c3fe4f961f4607c12cb3dfad9b6a0e59c92faa1fc8622\nflags = SmallPublicKey\n\n", +}; +static const size_t kLen159 = 157296; + +static const char *kData159[] = { + "# Imported from Wycheproof's x25519_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: XDH\n# Generator version: 0.8r12\n\n[curve = curve25519]\n\n# tcId = 1\n# normal case\nprivate = c8a9d5a91091ad851c668b0736c1c9a02936c0d3ad62670858088047ba057475\npublic = 504a36999f489cd2fdbc08baff3d88fa00569ba986cba22548ffde80f9806829\nresult = valid\nshared = 436a2c040cf45fea9b29a0cb81b1f41458f863d0d61b453d0a982720d6d61320\n\n# tcId = 2\n# public key on twist\nprivate = d85d8c061a50804ac488ad774ac716c3f5ba714b2712e048491379a500211958\npublic = 63aa40c6e38346c5caf23a6df0a5e6c80889a08647e551b3563449befcfc9733\nresult = acceptable\nshared = 279df67a7c4611db4708a0e8282b195e5ac0ed6f4b2f292c6fbd0acac30d1332\nflags = Twist\n\n# tcId = 3\n# public key on twist\nprivate = c8b45bfd32e55325d9fd648cb302848039000b390e44d521e58aab3b29a6964b\npublic = 0f83c36fded9d32fadf4efa3ae93a90bb5cfa66893bc412c43fa7287dbb99779\nresult = acceptable\nshared = 4bc7e01e7d83d6cf67632bf90033487a5fc29eba5328890ea7b1026d23b9a45f\nflags = Twist\n\n# tcId = 4\n# public key on twist\nprivate = f876e34bcbe1f47fbc0fddfd7c1e1aa53d57bfe0f66d243067b424bb6210be51\npublic = 0b8211a2b6049097f6871c6c052d3c5fc1ba17da9e32ae458403b05bb283092a\nresult = acceptable\nshared = 119d37ed4b109cbd6418b1f28dea83c836c844715cdf98a3a8c362191debd514\nflags = Twist\n\n# tcId = 5\n# public key on twist\nprivate = 006ac1f3a653a4cdb1d37bba94738f8b957a57beb24d646e994dc29a276aad45\npublic = 343ac20a3b9c6a27b1008176509ad30735856ec1c8d8fcae13912d08d152f46c\nresult = acceptable\nshared = cc4873aed3fcee4b3aaea7f0d20716b4276359081f634b7bea4b705bfc8a4d3e\nflags = Twist\n\n# tcId = 6\n# public key on twist\nprivate = 08da77b26d06dff9d9f7fd4c5b3769f8cdd5b30516a5ab806be324ff3eb69e60\npublic = fa695fc7be8d1be5bf704898f388c452bafdd3b8eae805f8681a8d15c2d4e142\nresult = acceptable\nshared = b6f8e2fcb1affc79e2ff798319b2701139b95ad6dd07f05cbac78bd83edfd92e\nflags = Twist\n\n# tcId = 7\n# public key on twist\nprivate = d03edde9f3e7b799045f9ac3793d4a9277dadeadc41bec0290f81f744f73775f\npublic = 0200000000000000000000000000000000000000000000000000000000000000\nresult = acceptable\nshared = b87a1722cc6c1e2feecb54e97abd5a22acc27616f78f6e315fd2b73d9f221e57\nflags = Twist\n\n# tcId = 8\n# public key on twist\nprivate = e09d57a914e3c29036fd9a442ba526b5cdcdf28216153e636c10677acab6bd6a\npublic = 0300000000000000000000000000000000000000000000000000000000000000\nresult = acceptable\nshared = a29d8dad28d590cd3017aa97a4761f851bf1d3672b042a4256a45881e2ad9035\nflags = Twist\n\n# tcId = 9\n# public key on twist\nprivate = e0ed78e6ee02f08bec1c15d66fbbe5b83ffc37ea14e1512cc1bd4b2ea6d8066f\npublic = ff00000000000000000000000000000000000000000000000000000000000000\nresult = acceptable\nshared = e703bc8aa94b7d87ba34e2678353d12cdaaa1a97b5ca3e1b8c060c4636087f07\nflags = Twist\n\n# tcId = 10\n# public key on twist\nprivate = a8a1a2ec9fa9915ae7aace6a37c68591d39e15995c4ef5ebd3561c02f72dda41\npublic = ffff000000000000000000000000000000000000000000000000000000000000\nresult = acceptable\nshared = ff5cf041e924dbe1a64ac9bdba96bdcdfaf7d59d91c7e33e76ed0e4c8c836446\nflags = Twist\n\n# tcId = 11\n# public key on twist\nprivate = a8c9df5820eb399d471dfa3215d96055b3c7d0f4ea49f8ab028d6a6e3194517b\npublic = 0000010000000000000000000000000000000000000000000000000000000000\nresult = acceptable\nshared = a92a96fa029960f9530e6fe37e2429cd113be4d8f3f4431f8546e6c76351475d\nflags = Twist\n\n# tcId = 12\n# public key on twist\nprivate = d0d31c491cbd39271859b4a63a316826507b1db8c701709fd0ffe3eb21c4467c\npublic = ffffff0f00000000000000000000000000000000000000000000000000000000\nresult = acceptable\nshared = 9f8954868158ec62b6b586b8cae1d67d1b9f4c03d5b3ca0393cee71accc9ab65\nflags = Twist\n\n# tcId = 13\n# public key on twist\nprivate = d053e7bf1902619cd61c9c739e09d54c4147f46d190720966f7de1d9cffbbd4e\npublic = ffffffff00000000000000000000000000000000000000000000000000000000\nresult = acceptable\nshared = 6cbf1dc9af97bc148513a18be4a257de1a3b065584df94e8b43c1ab89720b110\nflags = Twist\n\n# tcId = 14\n# public key on twist\nprivate = a021d75009a4596e5a33f12921c10f3670933bc80dde3bba22881b6120582144\npublic = 0000000000001000000000000000000000000000000000000000000000000000\nresult = acceptable\nshared = 38284b7086095a9406028c1f800c071ea106039ad7a1d7f82fe00906fd90594b\nflags = Twist\n\n# tcId = 15\n# public key on twist\nprivate = a89c6687f99bd569a01fd8bd438236160d15ce2c57c1d71ebaa3f2da88233863\npublic = 0000000000000001000000000000000000000000000000000000000000000000\nresult = acceptable\nshared = c721041df0244071794a8db06b9f7eaeec690c257265343666f4416f4166840f\nflags = Twist\n\n# tcId = 16\n# public key on twist\nprivate = 68964bca51465bf0f5ba524b1482ceff0e960a1ed9f48dcc30f1608d0e501a50\npublic = ffffffffffffffff000000000000000000000000000000000000000000000000\nresult = acceptable\nshared = 25ff9a6631b143dbdbdc207b38e38f832ae079a52a618c534322e77345fd9049\nflags = Twist\n\n# tcId = 17\n# public key on twist\nprivate = a8e56bb13a9f2b33b8e6750b4a6e6621dc26ae8c5c624a0992c8f0d5b910f170\npublic = 0000000000000000000000000000000000000000000000000100000000000000\nresult = acceptable\nshared = f294e7922c6cea587aefe72911630d50f2456a2ba7f21207d57f1ecce04f6213\nflags = Twist\n\n# tcId = 18\n# public key on twist\nprivate = e045f55c159451e97814d747050fd7769bd478434a01876a56e553f66384a74c\npublic = ffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000\nresult = acceptable\nshared = ff4715bd8cf847b77c244ce2d9b008b19efaa8e845feb85ce4889b5b2c6a4b4d\nflags = Twist\n\n# tcId = 19\n# public key on twist\nprivate = 105d621e1ef339c3d99245cfb77cd3a5bd0c4427a0e4d8752c3b51f045889b4f\npublic = ffffff030000f8ffff1f0000c0ffffff000000feffff070000f0ffff3f000000\nresult = acceptable\nshared = 61eace52da5f5ecefafa4f199b077ff64f2e3d2a6ece6f8ec0497826b212ef5f\nflags = Twist\n\n# tcId = 20\n# public key on twist\nprivate = d88a441e706f606ae7f630f8b21f3c2554739e3e549f804118c03771f608017b\npublic = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000\nresult = acceptable\nshared = ff1b509a0a1a54726086f1e1c0acf040ab463a2a542e5d54e92c6df8126cf636\nflags = Twist\n\n# tcId = 21\n# public key on twist\nprivate = 80bbad168222276200aafd36f7f25fdc025632d8bf9f6354bb762e06fb63e250\npublic = 0000000000000000000000000000000000000000000000000000000000800000\nresult = acceptable\nshared = f134e6267bf93903085117b99932cc0c7ba26f25fca12102a26d7533d9c4272a\nflags = Twist\n\n# tcId = 22\n# public key on twist\nprivate = 68e134092e94e622c8a0cd18aff55be23dabd994ebdee982d90601f6f0f4b369\npublic = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1f\nresult = acceptable\nshared = 74bfc15e5597e9f5193f941e10a5c008fc89f051392723886a4a8fe5093a7354\nflags = Twist\n\n# tcId = 23\n# public key on twist\nprivate = e8e43fc1ebac0bbc9b99c8035ee1ac59b90f19a16c42c0b90f96adfcc5fdee78\npublic = 0000000000000000000000000000000000000000000000000000000000000020\nresult = acceptable\nshared = 0d41a5b3af770bf2fcd34ff7972243a0e2cf4d34f2046a144581ae1ec68df03b\nflags = Twist\n\n# tcId = 24\n# public key on twist\nprivate = 18bffb16f92680a9e267473e43c464476d5372ddd1f664f3d0678efe7c98bc79\npublic = 000000fcffff070000e0ffff3f000000ffffff010000f8ffff0f0000c0ffff7f\nresult = acceptable\nshared = 5894e0963583ae14a0b80420894167f4b759c8d2eb9b69cb675543f66510f646\nflags = Twist\n\n# tcId = 25\n# public key on twist\nprivate = 300305eb002bf86c71fe9c0b311993727b9dc618d0ce7251d0dfd8552d17905d\npublic = ffffffffffffff00000000000000ffffffffffffff00000000000000ffffff7f\nresult = acceptable\nshared = f8624d6e35e6c548ac47832f2e5d151a8e53b9290363b28d2ab8d84ab7cb6a72\nflags = Twist\n\n# tcId = 26\n# public key on twist\nprivate = 80da9f02842247d4ade5ddbac51dbce55ea7dca2844e7f97ab8987ce7fd8bc71\npublic = 00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffff7f\nresult = acceptable\nshared = bfe183ba3d4157a7b53ef178613db619e27800f85359c0b39a9fd6e32152c208\nflags = Twist\n\n# tcId = 27\n# public key on twist\nprivate = 806e7f26ca3246de8182946cbed09f52b95da626c823c7b50450001a47b7b252\npublic = edfffffffffffffffffffffffffffeffffffffffffffffffffffffffffffff7f\nresult = acceptable\nshared = bca4a0724f5c1feb184078448c898c8620e7caf81f64cca746f557dff2498859\nflags = Twist\n\n# tcId = 28\n# public key on twist\nprivate = 58354fd64bc022cba3a71b2ae64281e4ea7bf6d65fdbaead1440eeb18604fe62\npublic = edfffffffffffffefffffffffffffffffffff", + "fffffffffffffffffffffffff7f\nresult = acceptable\nshared = b3418a52464c15ab0cacbbd43887a1199206d59229ced49202300638d7a40f04\nflags = Twist\n\n# tcId = 29\n# public key on twist\nprivate = f0019cf05159794cc8052b00c2e75b7f46fb6693c4b38c02b12a4fe272e8556a\npublic = edffffffffffefffffffffffffffffffffffffffffffffffffffffffffffff7f\nresult = acceptable\nshared = fcde6e0a3d5fd5b63f10c2d3aad4efa05196f26bc0cb26fd6d9d3bd015eaa74f\nflags = Twist\n\n# tcId = 30\n# public key on twist\nprivate = d0fca64cc5f3a0c8e75c824e8b09d1615aa79aeba139bb7302e2bb2fcbe54b40\npublic = edfeffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\nresult = acceptable\nshared = 7d62f189444c6231a48afab10a0af2eee4a52e431ea05ff781d616af2114672f\nflags = Twist\n\n# tcId = 31\n# public key on twist\nprivate = d02456e456911d3c6cd054933199807732dfdc958642ad1aebe900c793bef24a\npublic = eaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\nresult = acceptable\nshared = 07ba5fcbda21a9a17845c401492b10e6de0a168d5c94b606694c11bac39bea41\nflags = Twist\n\n# tcId = 32\n# public key = 0\nprivate = 88227494038f2bb811d47805bcdf04a2ac585ada7f2f23389bfd4658f9ddd45e\npublic = 0000000000000000000000000000000000000000000000000000000000000000\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\nflags = SmallPublicKey,LowOrderPublic,ZeroSharedSecret\n\n# tcId = 33\n# public key = 1\nprivate = 48232e8972b61c7e61930eb9450b5070eae1c670475685541f0476217e48184f\npublic = 0100000000000000000000000000000000000000000000000000000000000000\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\nflags = SmallPublicKey,LowOrderPublic,ZeroSharedSecret\n\n# tcId = 34\n# edge case public key\nprivate = a8386f7f16c50731d64f82e6a170b142a4e34f31fd7768fcb8902925e7d1e25a\npublic = 0400000000000000000000000000000000000000000000000000000000000000\nresult = valid\nshared = 34b7e4fa53264420d9f943d15513902342b386b172a0b0b7c8b8f2dd3d669f59\n\n# tcId = 35\n# edge case public key\nprivate = d05abd08bf5e62538cb9a5ed105dbedd6de38d07940085072b4311c2678ed77d\npublic = 0001000000000000000000000000000000000000000000000000000000000000\nresult = valid\nshared = 3aa227a30781ed746bd4b3365e5f61461b844d09410c70570abd0d75574dfc77\n\n# tcId = 36\n# edge case public key\nprivate = f0b8b0998c8394364d7dcb25a3885e571374f91615275440db0645ee7c0a6f6b\npublic = 0000001000000000000000000000000000000000000000000000000000000000\nresult = valid\nshared = 97755e7e775789184e176847ffbc2f8ef98799d46a709c6a1c0ffd29081d7039\n\n# tcId = 37\n# edge case public key\nprivate = d00c35dc17460f360bfae7b94647bc4e9a7ad9ce82abeadb50a2f1a0736e2175\npublic = 0000000001000000000000000000000000000000000000000000000000000000\nresult = valid\nshared = c212bfceb91f8588d46cd94684c2c9ee0734087796dc0a9f3404ff534012123d\n\n# tcId = 38\n# edge case public key\nprivate = 385fc8058900a85021dd92425d2fb39a62d4e23aef1d5104c4c2d88712d39e4d\npublic = ffffffffffff0f00000000000000000000000000000000000000000000000000\nresult = valid\nshared = 388faffb4a85d06702ba3e479c6b216a8f33efce0542979bf129d860f93b9f02\n\n# tcId = 39\n# edge case public key\nprivate = e0614b0c408af24d9d24c0a72f9137fbd6b16f02ccc94797ea3971ab16073a7f\npublic = ffffffffffffff00000000000000000000000000000000000000000000000000\nresult = valid\nshared = 877fec0669d8c1a5c866641420eea9f6bd1dfd38d36a5d55a8c0ab2bf3105c68\n\n# tcId = 40\n# edge case public key\nprivate = f004b8fd05d9fffd853cdc6d2266389b737e8dfc296ad00b5a69b2a9dcf72956\npublic = 0000000000000000010000000000000000000000000000000000000000000000\nresult = valid\nshared = 180373ea0f23ea73447e5a90398a97d490b541c69320719d7dd733fb80d5480f\n\n# tcId = 41\n# edge case public key\nprivate = e80bf0e609bf3b035b552f9db7e9ecbc44a04b7910b1493661a524f46c3c2277\npublic = ffffffffffffffffffffffffffff000000000000000000000000000000000000\nresult = valid\nshared = 208142350af938aba52a156dce19d3c27ab1628729683cf4ef2667c3dc60cf38\n\n# tcId = 42\n# edge case public key\nprivate = 48890e95d1b03e603bcb51fdf6f296f1f1d10f5df10e00b8a25c9809f9aa1a54\npublic = 0000000000000000000000000000010000000000000000000000000000000000\nresult = valid\nshared = 1c3263890f7a081cefe50cb92abd496582d90dcc2b9cb858bd286854aa6b0a7e\n\n# tcId = 43\n# edge case public key\nprivate = a806f1e39b742615a7dde3b29415ed827c68f07d4a47a4d9595c40c7fccb9263\npublic = ffffffffffffffffffffffffffffffff00000000000000000000000000000000\nresult = valid\nshared = 56128e78d7c66f48e863e7e6f2caa9c0988fd439deac11d4aac9664083087f7a\n\n# tcId = 44\n# edge case public key\nprivate = 9899d5e265e1fc7c32345227d6699a6d6b5517cf33b43ab156ee20df4878794e\npublic = 0000000000000000000000000000000001000000000000000000000000000000\nresult = valid\nshared = 30eca56f1f1c2e8ff780134e0e9382c5927d305d86b53477e9aeca79fc9ced05\n\n# tcId = 45\n# edge case public key\nprivate = d842316e5476aeaee838204258a06f15de011ba40b9962705e7f6e889fe71f40\npublic = ffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000\nresult = valid\nshared = cb21b7aa3f992ecfc92954849154b3af6b96a01f17bf21c612da748db38eb364\n\n# tcId = 46\n# edge case public key\nprivate = a0933ee30512b25ee4e900aaa07f73e507a8ec53b53a44626e0f589af4e0356c\npublic = ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000\nresult = valid\nshared = c5caf8cabc36f086deaf1ab226434098c222abdf8acd3ce75c75e9debb271524\n\n# tcId = 47\n# edge case public key\nprivate = 38d6403e1377734cdce98285e820f256ad6b769d6b5612bcf42cf2b97945c073\npublic = 0000000000000000000000000000000000000000000000000000000001000000\nresult = valid\nshared = 4d46052c7eabba215df8d91327e0c4610421d2d9129b1486d914c766cf104c27\n\n# tcId = 48\n# edge case public key\nprivate = 182191b7052e9cd630ef08007fc6b43bc7652913be6774e2fd271b71b962a641\npublic = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03\nresult = valid\nshared = a0e0315175788362d4ebe05e6ac76d52d40187bd687492af05abc7ba7c70197d\n\n# tcId = 49\n# edge case public key\nprivate = 106221fe5694a710d6e147696c5d5b93d6887d584f24f228182ebe1b1d2db85d\npublic = ffffff0f000000ffffff0f000000ffffff0f000000ffffff0f000000ffffff0f\nresult = valid\nshared = 5e64924b91873b499a5402fa64337c65d4b2ed54beeb3fa5d7347809e43aef1c\n\n# tcId = 50\n# edge case public key\nprivate = d035de9456080d85a912083b2e3c7ddd7971f786f25a96c5e782cf6f4376e362\npublic = 000000fcffff030000e0ffff1f000000ffffff000000f8ffff070000c0ffff3f\nresult = valid\nshared = c052466f9712d9ec4ef40f276bb7e6441c5434a83efd8e41d20ce83f2dbf5952\n\n# tcId = 51\n# edge case public key\nprivate = a8f37318a4c760f3cb2d894822918735683cb1edacf3e666e15694154978fd6d\npublic = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3f\nresult = valid\nshared = d151b97cba9c25d48e6d576338b97d53dd8b25e84f65f7a2091a17016317c553\n\n# tcId = 52\n# edge case public key\nprivate = 20d4d624cf732f826f09e8088017742f13f2da98f4dcf4b40519adb790cebf64\npublic = edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5f\nresult = valid\nshared = 5716296baf2b1a6b9cd15b23ba86829743d60b0396569be1d5b40014c06b477d\n\n# tcId = 53\n# edge case public key\nprivate = d806a735d138efb3b404683c9d84485ab4af540d0af253b574323d8913003c66\npublic = edffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fff7f\nresult = valid\nshared = ddbd56d0454b794c1d1d4923f023a51f6f34ef3f4868e3d6659307c683c74126\n\n# tcId = 54\n# edge case public key\nprivate = 184198c6228177f3ef41dc9a341258f8181ae365fe9ec98d93639b0bbee1467d\npublic = fffffffffeffff7ffffffffffeffff7ffffffffffeffff7ffffffffffeffff7f\nresult = valid\nshared = 8039eebed1a4f3b811ea92102a6267d4da412370f3f0d6b70f1faaa2e8d5236d\n\n# tcId = 55\n# edge case public key\nprivate = f0a46a7f4b989fe515edc441109346ba746ec1516896ec5b7e4f4d903064b463\npublic = edfffffffffffffffffffffffffffffffffffffffffffffffffffffffeffff7f\nresult = valid\nshared = b69524e3955da23df6ad1a7cd38540047f50860f1c8fded9b1fdfcc9e812a035\n\n# tcId = 56\n# edge case public key\nprivate = 881874fda3a99c0f0216e1172fbd07ab1c7df78602cc6b11264e57aab5f23a49\npublic = edfffffffffffffffffffffffffffffffffffffffffffffffeffffffffffff7f\nresult = valid\nshared = e417bb8854f3b4f70ecea557454c5c4e5f3804ae537960a8097b9f338410d757\n\n# tcId = 57\n# edge case public key\nprivate = b8d0f1ae05a5072831443150e202ac6db00322cdf341f467e9f296588b04db72\npublic = edfffffffffffffffffffffffffffffffeffffffffffffffffffffffffffff7f\nresult = valid\nshared = afca72bb8ef72", + "7b60c530c937a2f7d06bb39c39b903a7f4435b3f5d8fc1ca810\n\n# tcId = 58\n# edge case public key\nprivate = c8619ba988859db7d6f20fbf3ffb8b113418cc278065b4e8bb6d4e5b3e7cb569\npublic = edfffffffffffffffeffffffffffffffffffffffffffffffffffffffffffff7f\nresult = valid\nshared = 7e41c2886fed4af04c1641a59af93802f25af0f9cba7a29ae72e2a92f35a1e5a\n\n# tcId = 59\n# edge case public key\nprivate = f8d4ca1f37a30ec9acd6dbe5a6e150e5bc447d22b355d80ba002c5b05c26935d\npublic = edfffffffeffffffffffffffffffffffffffffffffffffffffffffffffffff7f\nresult = valid\nshared = dd3abd4746bf4f2a0d93c02a7d19f76d921c090d07e6ea5abae7f28848355947\n\n# tcId = 60\n# edge case public key\nprivate = 88037ac8e33c72c2c51037c7c8c5288bba9265c82fd8c31796dd7ea5df9aaa4a\npublic = edffffefffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\nresult = valid\nshared = 8c27b3bff8d3c1f6daf2d3b7b3479cf9ad2056e2002be247992a3b29de13a625\n\n# tcId = 61\n# edge case public key\nprivate = 5034ee7bf83a13d9167df86b0640294f3620f4f4d9030e5e293f9190824ae562\npublic = edfffeffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\nresult = valid\nshared = 8e1d2207b47432f881677448b9d426a30de1a1f3fd38cad6f4b23dbdfe8a2901\n\n# tcId = 62\n# edge case public key\nprivate = 40bd4e1caf39d9def7663823502dad3e7d30eb6eb01e9b89516d4f2f45b7cd7f\npublic = ebffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\nresult = valid\nshared = 2cf6974b0c070e3707bf92e721d3ea9de3db6f61ed810e0a23d72d433365f631\n\n# tcId = 63\n# public key with low order\nprivate = e0f978dfcd3a8f1a5093418de54136a584c20b7b349afdf6c0520886f95b1272\npublic = e0eb7a7c3b41b8ae1656e3faf19fc46ada098deb9c32b1fd866205165f49b800\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\nflags = LowOrderPublic,ZeroSharedSecret\n\n# tcId = 64\n# public key with low order\nprivate = 387355d995616090503aafad49da01fb3dc3eda962704eaee6b86f9e20c92579\npublic = 5f9c95bca3508c24b1d0b1559c83ef5b04445cc4581c8e86d8224eddd09f1157\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\nflags = LowOrderPublic,ZeroSharedSecret\n\n# tcId = 65\n# public key with low order\nprivate = c8fe0df92ae68a03023fc0c9adb9557d31be7feed0d3ab36c558143daf4dbb40\npublic = ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\nflags = LowOrderPublic,Twist,ZeroSharedSecret\n\n# tcId = 66\n# public key with low order\nprivate = c8d74acde5934e64b9895d5ff7afbffd7f704f7dfccff7ac28fa62a1e6410347\npublic = e0eb7a7c3b41b8ae1656e3faf19fc46ada098deb9c32b1fd866205165f49b880\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\nflags = LowOrderPublic,NonCanonicalPublic,Twist,ZeroSharedSecret\n\n# tcId = 67\n# public key with low order\nprivate = b85649d5120e01e8ccaf7b2fb8d81b62e8ad6f3d5c0553fdde1906cb9d79c050\npublic = 5f9c95bca3508c24b1d0b1559c83ef5b04445cc4581c8e86d8224eddd09f11d7\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\nflags = LowOrderPublic,NonCanonicalPublic,Twist,ZeroSharedSecret\n\n# tcId = 68\n# public key with low order\nprivate = 2064b2f4c9dc97ec7cf58932fdfa3265ba6ea4d11f0259b8efc8afb35db88c48\npublic = ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\nflags = LowOrderPublic,NonCanonicalPublic,ZeroSharedSecret\n\n# tcId = 69\n# public key with low order\nprivate = 786a33a4f7af297a20e7642925932bf509e7070fa1bc36986af1eb13f4f50b55\npublic = 0000000000000000000000000000000000000000000000000000000000000000\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\nflags = LowOrderPublic,ZeroSharedSecret\n\n# tcId = 70\n# public key with low order\nprivate = 786a33a4f7af297a20e7642925932bf509e7070fa1bc36986af1eb13f4f50b55\npublic = 0100000000000000000000000000000000000000000000000000000000000000\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\nflags = LowOrderPublic,ZeroSharedSecret\n\n# tcId = 71\n# public key with low order\nprivate = 786a33a4f7af297a20e7642925932bf509e7070fa1bc36986af1eb13f4f50b55\npublic = ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\nflags = LowOrderPublic,ZeroSharedSecret\n\n# tcId = 72\n# public key with low order\nprivate = 786a33a4f7af297a20e7642925932bf509e7070fa1bc36986af1eb13f4f50b55\npublic = 5f9c95bca3508c24b1d0b1559c83ef5b04445cc4581c8e86d8224eddd09f1157\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\nflags = LowOrderPublic,ZeroSharedSecret\n\n# tcId = 73\n# public key with low order\nprivate = 786a33a4f7af297a20e7642925932bf509e7070fa1bc36986af1eb13f4f50b55\npublic = e0eb7a7c3b41b8ae1656e3faf19fc46ada098deb9c32b1fd866205165f49b800\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\nflags = LowOrderPublic,ZeroSharedSecret\n\n# tcId = 74\n# public key with low order\nprivate = 786a33a4f7af297a20e7642925932bf509e7070fa1bc36986af1eb13f4f50b55\npublic = edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\nflags = LowOrderPublic,ZeroSharedSecret\n\n# tcId = 75\n# public key with low order\nprivate = 786a33a4f7af297a20e7642925932bf509e7070fa1bc36986af1eb13f4f50b55\npublic = eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\nflags = LowOrderPublic,ZeroSharedSecret\n\n# tcId = 76\n# public key with low order\nprivate = 786a33a4f7af297a20e7642925932bf509e7070fa1bc36986af1eb13f4f50b55\npublic = 0000000000000000000000000000000000000000000000000000000000000080\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\nflags = LowOrderPublic,ZeroSharedSecret\n\n# tcId = 77\n# public key with low order\nprivate = 786a33a4f7af297a20e7642925932bf509e7070fa1bc36986af1eb13f4f50b55\npublic = 0100000000000000000000000000000000000000000000000000000000000080\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\nflags = LowOrderPublic,ZeroSharedSecret\n\n# tcId = 78\n# public key with low order\nprivate = 786a33a4f7af297a20e7642925932bf509e7070fa1bc36986af1eb13f4f50b55\npublic = ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\nflags = LowOrderPublic,ZeroSharedSecret\n\n# tcId = 79\n# public key with low order\nprivate = 786a33a4f7af297a20e7642925932bf509e7070fa1bc36986af1eb13f4f50b55\npublic = 5f9c95bca3508c24b1d0b1559c83ef5b04445cc4581c8e86d8224eddd09f11d7\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\nflags = LowOrderPublic,ZeroSharedSecret\n\n# tcId = 80\n# public key with low order\nprivate = 786a33a4f7af297a20e7642925932bf509e7070fa1bc36986af1eb13f4f50b55\npublic = e0eb7a7c3b41b8ae1656e3faf19fc46ada098deb9c32b1fd866205165f49b880\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\nflags = LowOrderPublic,ZeroSharedSecret\n\n# tcId = 81\n# public key with low order\nprivate = 786a33a4f7af297a20e7642925932bf509e7070fa1bc36986af1eb13f4f50b55\npublic = edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\nflags = LowOrderPublic,ZeroSharedSecret\n\n# tcId = 82\n# public key with low order\nprivate = 786a33a4f7af297a20e7642925932bf509e7070fa1bc36986af1eb13f4f50b55\npublic = eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\nflags = LowOrderPublic,ZeroSharedSecret\n\n# tcId = 83\n# public key =\n# 57896044618658097711785492504343953926634992332820282019728792003956564819949\nprivate = 40ff586e73d61f0960dc2d763ac19e98225f1194f6fe43d5dd97ad55b3d35961\npublic = edfffffffffffffffffffff", + "fffffffffffffffffffffffffffffffffffffff7f\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\nflags = SmallPublicKey,LowOrderPublic,ZeroSharedSecret\n\n# tcId = 84\n# public key =\n# 57896044618658097711785492504343953926634992332820282019728792003956564819950\nprivate = 584fceaebae944bfe93b2e0d0a575f706ce5ada1da2b1311c3b421f9186c7a6f\npublic = eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\nflags = SmallPublicKey,LowOrderPublic,NonCanonicalPublic,ZeroSharedSecret\n\n# tcId = 85\n# non-canonical public key\nprivate = 0016b62af5cabde8c40938ebf2108e05d27fa0533ed85d70015ad4ad39762d54\npublic = efffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\nresult = acceptable\nshared = b4d10e832714972f96bd3382e4d082a21a8333a16315b3ffb536061d2482360d\nflags = NonCanonicalPublic,Twist\n\n# tcId = 86\n# non-canonical public key\nprivate = d83650ba7cec115881916255e3fa5fa0d6b8dcf968731bd2c9d2aec3f561f649\npublic = f0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\nresult = acceptable\nshared = 515eac8f1ed0b00c70762322c3ef86716cd2c51fe77cec3d31b6388bc6eea336\nflags = NonCanonicalPublic,Twist\n\n# tcId = 87\n# non-canonical public key\nprivate = 88dd14e2711ebd0b0026c651264ca965e7e3da5082789fbab7e24425e7b4377e\npublic = f1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\nresult = acceptable\nshared = 6919992d6a591e77b3f2bacbd74caf3aea4be4802b18b2bc07eb09ade3ad6662\nflags = NonCanonicalPublic\n\n# tcId = 88\n# non-canonical public key\nprivate = 98c2b08cbac14e15953154e3b558d42bb1268a365b0ef2f22725129d8ac5cb7f\npublic = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\nresult = acceptable\nshared = 9c034fcd8d3bf69964958c0105161fcb5d1ea5b8f8abb371491e42a7684c2322\nflags = NonCanonicalPublic\n\n# tcId = 89\n# non-canonical public key\nprivate = c0697b6f05e0f3433b44ea352f20508eb0623098a7770853af5ca09727340c4e\npublic = 0200000000000000000000000000000000000000000000000000000000000080\nresult = acceptable\nshared = ed18b06da512cab63f22d2d51d77d99facd3c4502e4abf4e97b094c20a9ddf10\nflags = NonCanonicalPublic,Twist\n\n# tcId = 90\n# non-canonical public key\nprivate = 18422b58a18e0f4519b7a887b8cfb649e0bfe4b34d75963350a9944e5b7f5b7e\npublic = 0300000000000000000000000000000000000000000000000000000000000080\nresult = acceptable\nshared = 448ce410fffc7e6149c5abec0ad5f3607dfde8a34e2ac3243c3009176168b432\nflags = NonCanonicalPublic,Twist\n\n# tcId = 91\n# non-canonical public key\nprivate = 20620d82487707bedf9ee3549e95cb9390d2618f50cf6acba47ffaa103224a6f\npublic = 0400000000000000000000000000000000000000000000000000000000000080\nresult = acceptable\nshared = 03a633df01480d0d5048d92f51b20dc1d11f73e9515c699429b90a4f6903122a\nflags = NonCanonicalPublic\n\n# tcId = 92\n# non-canonical public key\nprivate = 285a6a7ceeb7122f2c78d99c53b2a902b490892f7dff326f89d12673c3101b53\npublic = daffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nresult = acceptable\nshared = 9b01287717d72f4cfb583ec85f8f936849b17d978dbae7b837db56a62f100a68\nflags = NonCanonicalPublic\n\n# tcId = 93\n# non-canonical public key\nprivate = c8e0330ae9dceeff887fba761225879a4bd2e0db08799244136e4721b2c88970\npublic = dbffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nresult = acceptable\nshared = dfe60831c9f4f96c816e51048804dbdc27795d760eced75ef575cbe3b464054b\nflags = NonCanonicalPublic\n\n# tcId = 94\n# non-canonical public key\nprivate = 10db6210fc1fb13382472fa1787b004b5d11868ab3a79510e0cee30f4a6df26b\npublic = dcffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nresult = acceptable\nshared = 50bfa826ca77036dd2bbfd092c3f78e2e4a1f980d7c8e78f2f14dca3cce5cc3c\nflags = NonCanonicalPublic,Twist\n\n# tcId = 95\n# non-canonical public key\nprivate = 9041c6e044a277df8466275ca8b5ee0da7bc028648054ade5c592add3057474e\npublic = eaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nresult = acceptable\nshared = 13da5695a4c206115409b5277a934782fe985fa050bc902cba5616f9156fe277\nflags = NonCanonicalPublic\n\n# tcId = 96\n# non-canonical public key\nprivate = b8d499041a6713c0f6f876db7406587fdb44582f9542356ae89cfa958a34d266\npublic = ebffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nresult = acceptable\nshared = 63483b5d69236c63cddbed33d8e22baecc2b0ccf886598e863c844d2bf256704\nflags = NonCanonicalPublic\n\n# tcId = 97\n# non-canonical public key\nprivate = c85f08e60c845f82099141a66dc4583d2b1040462c544d33d0453b20b1a6377e\npublic = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nresult = acceptable\nshared = e9db74bc88d0d9bf046ddd13f943bccbe6dbb47d49323f8dfeedc4a694991a3c\nflags = NonCanonicalPublic\n\n# tcId = 98\n# public key =\n# 57896044618658097711785492504343953926634992332820282019728792003956564819968\nprivate = 7887889bac4c629a101d3724f2ed8b98d936fde79e1a1f77d86779626bf8f263\npublic = 0000000000000000000000000000000000000000000000000000000000000080\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\nflags = SmallPublicKey,LowOrderPublic,NonCanonicalPublic,ZeroSharedSecret\n\n# tcId = 99\n# public key =\n# 57896044618658097711785492504343953926634992332820282019728792003956564819969\nprivate = e07971ee820e48b0b266d8be3cdbbb5e900a43f59ee8535c6572418615de4962\npublic = 0100000000000000000000000000000000000000000000000000000000000080\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\nflags = SmallPublicKey,LowOrderPublic,NonCanonicalPublic,Twist,ZeroSharedSecret\n\n# tcId = 100\n# RFC 7748\nprivate = a046e36bf0527c9d3b16154b82465edd62144c0ac1fc5a18506a2244ba449a44\npublic = e6db6867583030db3594c1a424b15f7c726624ec26b3353b10a903a6d0ab1c4c\nresult = valid\nshared = c3da55379de9c6908e94ea4df28d084f32eccf03491c71f754b4075577a28552\n\n# tcId = 101\n# RFC 7748\nprivate = 4866e9d4d1b4673c5ad22691957d6af5c11b6421e0ea01d42ca4169e7918ba4d\npublic = e5210f12786811d3f4b7959d0538ae2c31dbe7106fc03c3efc4cd549c715a413\nresult = valid\nshared = 95cbde9476e8907d7aade45cb4b873f88b595a68799fa152e6f8f7647aac7957\n\n# tcId = 102\n# RFC 8037, Section A.6\nprivate = 77076d0a7318a57d3c16c17251b26645df4c2f87ebc0992ab177fba51db92c2a\npublic = de9edb7d7b7dc1b4d35b61c2ece435373f8343c85b78674dadfc7e146f882b4f\nresult = valid\nshared = 4a5d9d5ba4ce2de1728e3bf480350f25e07e21c947d19e3376f09b3c1e161742\n\n# tcId = 103\n# edge case for shared secret\nprivate = 60a3a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a9767f\npublic = b7b6d39c765cb60c0c8542f4f3952ffb51d3002d4aeb9f8ff988b192043e6d0a\nresult = acceptable\nshared = 0200000000000000000000000000000000000000000000000000000000000000\nflags = Twist\n\n# tcId = 104\n# edge case for shared secret\nprivate = 60a3a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a9767f\npublic = 3b18df1e50b899ebd588c3161cbd3bf98ebcc2c1f7df53b811bd0e91b4d5153d\nresult = valid\nshared = 0900000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 105\n# edge case for shared secret\nprivate = 60a3a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a9767f\npublic = cab6f9e7d8ce00dfcea9bbd8f069ef7fb2ac504abf83b87db601b5ae0a7f7615\nresult = valid\nshared = 1000000000000000000000000000000000000000000000000000000000000000\n\n# tcId = 106\n# edge case for shared secret\nprivate = 60a3a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a9767f\npublic = 4977d0d897e1ba566590f60f2eb0db6f7b24c13d436918ccfd32708dfad7e247\nresult = acceptable\nshared = feffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3f\nflags = Twist\n\n# tcId = 107\n# edge case for shared secret\nprivate = 60a3a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a9767f\npublic = 98730bc03e29e8b057fb1d20ef8c0bffc822485d3db7f45f4e3cc2c3c6d1d14c\nresult = valid\nshared = fcffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3f\n\n# tcId = 108\n# edge case for shared secret\nprivate = 60a3a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a9767f\npublic = 97b4fff682df7f096cd1756569e252db482d45406a3198a1aff282a5da474c49\nresult = acceptable\nshared = f9ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3f\nflags = Twist\n\n# tcId = 109\n# edge case for shared secret\nprivate = 60a3a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a", + "073a9767f\npublic = 317781b0163bae74accc06c0d44ef9a911a22b0d37faf7726621591f9343ea2f\nresult = valid\nshared = f3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3f\n\n# tcId = 110\n# edge case for shared secret\nprivate = 60a3a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a9767f\npublic = 7e26f8f24cb590027f9d1bc49b0e1a242c7d8f43624d3e8fab28ee08e02cb45e\nresult = valid\nshared = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03\n\n# tcId = 111\n# edge case for shared secret\nprivate = 60a3a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a9767f\npublic = e96d2780e5469a74620ab5aa2f62151d140c473320dbe1b028f1a48f8e76f95f\nresult = acceptable\nshared = e5ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\nflags = Twist\n\n# tcId = 112\n# edge case for shared secret\nprivate = 60a3a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a9767f\npublic = 8d612c5831aa64b057300e7e310f3aa332af34066fefcab2b089c9592878f832\nresult = acceptable\nshared = e3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\nflags = Twist\n\n# tcId = 113\n# edge case for shared secret\nprivate = 60a3a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a9767f\npublic = 8d44108d05d940d3dfe5647ea7a87be24d0d036c9f0a95a2386b839e7b7bf145\nresult = valid\nshared = ddffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\n\n# tcId = 114\n# edge case for shared secret\nprivate = 60a3a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a9767f\npublic = 21a35d5db1b6237c739b56345a930aeee373cdcfb4701266782a8ac594913b29\nresult = acceptable\nshared = dbffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\nflags = Twist\n\n# tcId = 115\n# edge case for shared secret\nprivate = 60a3a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a9767f\npublic = 3e5efb63c352ce942762482bc9337a5d35ba55664743ac5e93d11f957336cb10\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000002\nflags = Twist\n\n# tcId = 116\n# edge case for shared secret\nprivate = 60a3a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a9767f\npublic = 8e41f05ea3c76572be104ad8788e970863c6e2ca3daae64d1c2f46decfffa571\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000008000\nflags = Twist\n\n# tcId = 117\n# special case public key\nprivate = c8d07c46bbfb827753b92c70e49583ce8bfa44641a7382258ea903d6a832c96b\npublic = 0000000000000000000000000000000000000000000000000000000000000000\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\nflags = SmallPublicKey,LowOrderPublic,ZeroSharedSecret\n\n# tcId = 118\n# special case public key\nprivate = 90b7ef237a055f348dcb4c4364a59d7d31edc7ab78f2ca254e2c810975c3f543\npublic = 0100000000000000000000000000000000000000000000000000000000000000\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\nflags = SmallPublicKey,LowOrderPublic,ZeroSharedSecret\n\n# tcId = 119\n# special case public key\nprivate = e0a8be63315c4f0f0a3fee607f44d30a55be63f09561d9af93e0a1c9cf0ed751\npublic = 0200000000000000000000000000000000000000000000000000000000000000\nresult = acceptable\nshared = 0c50ac2bfb6815b47d0734c5981379882a24a2de6166853c735329d978baee4d\nflags = Twist\n\n# tcId = 120\n# special case public key\nprivate = 0840a8af5bc4c48da8850e973d7e14220f45c192cea4020d377eecd25c7c3643\npublic = 1200000000000000000000000000000000000000000000000000000000000000\nresult = valid\nshared = 77557137a2a2a651c49627a9b239ac1f2bf78b8a3e72168ccecc10a51fc5ae66\n\n# tcId = 121\n# special case public key\nprivate = 0092229c753a71284d0853909470ad847ab62f439ea51482fb41d30cc3b44743\npublic = 1400000000000000000000000000000000000000000000000000000000000000\nresult = acceptable\nshared = c88e719ae5c2248b5f90da346a92ae214f44a5d129fd4e9c26cf6a0da1efe077\nflags = Twist\n\n# tcId = 122\n# special case public key\nprivate = b8da2bd2d7cf25a3e54e5f87ee15911effb9ff86baec4076d56c8e953670bf5b\npublic = 0000000000000000000000000080000000000000000000000000000000000000\nresult = valid\nshared = 4bf6789c7ea036f973cde0af02d6fdb9b64a0b957022111439570fad7d7a453f\n\n# tcId = 123\n# special case public key\nprivate = 684cd420af41abb3d10c61e773238cf729c2155f941ac27e15f4c37f49b29576\npublic = ffffffffffffffffffffffffffff000000000000000000000000000000000000\nresult = valid\nshared = bcac235ae15cc7148372e11f9315e3bc76ceb904b3d2a8246bd9d9be2082bb62\n\n# tcId = 124\n# special case public key\nprivate = 38cfacaa4460796b4de434bdd6739f0d043671f97fa829517511e6b47aa93474\npublic = 0100000000000000000000000000010000000000000000000000000000000000\nresult = acceptable\nshared = 5dd7d16fff25cc5fdf9e03c3157cb0a235cea17d618f36e6f13461567edeb943\nflags = Twist\n\n# tcId = 125\n# special case public key\nprivate = 30832e8cb627ac195f77b1105258e4bb18b99a5ed944404bfacb3a039fbdb14b\npublic = 0000000000000000000000000000000000000000000000000000004000000000\nresult = valid\nshared = 2816fd031d51d6750f9225ede950625cca47441ca97e43092650396991afcb6d\n\n# tcId = 126\n# special case public key\nprivate = d818fd6971e546447f361d33d3dbb3eadcf02fb28f246f1d5107b9073a93cd4f\npublic = 0000000000000000000000000000000000000000000000000000008000000000\nresult = acceptable\nshared = 7ed8f2d5424e7ebb3edbdf4abe455447e5a48b658e64abd06c218f33bd151f64\nflags = Twist\n\n# tcId = 127\n# special case public key\nprivate = 1021cd8682bdc3f5da9100adff5b2230b3acd836b3a455db8352a2c27e69d17e\npublic = ffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000\nresult = acceptable\nshared = e8620ed5ca89c72c5ea5503e6dcd01131cd5e875c30e13d5dc619ce28ec7d559\nflags = Twist\n\n# tcId = 128\n# special case public key\nprivate = 20e4c9247102292655d6765d7d84c6fce5309b8004045daea6d7d7dcad462871\npublic = 0100000000000000000000000000000000000000000000000000000001000000\nresult = valid\nshared = ceadb264379dcadd6e3bb8ad24dd653d2a609dd703d41da6caf3ad00f001862c\n\n# tcId = 129\n# special case public key\nprivate = 90b150d462de512056d5bd55173074969b496f262fb6916b733f6263a8078971\npublic = a8b9c7372118a53a9de9eaf0868e3b1a3d88e81cb2e407ff7125e9f5c5088715\nresult = acceptable\nshared = f86cc7bf1be49574fc97a074282e9bb5cd238e002bc8e9a7b8552b2d60eccb52\nflags = Twist\n\n# tcId = 130\n# special case public key\nprivate = 9887286b3261c8d857a16f6db21277f75d88d4e861b3ebe7596699047e816668\npublic = aab9c7372118a53a9de9eaf0868e3b1a3d88e81cb2e407ff7125e9f5c5088715\nresult = acceptable\nshared = ccbb8fd9dee165a398b2dbd7c8396f81736c1b3da36b35fbec8f326f38f92767\nflags = Twist\n\n# tcId = 131\n# special case public key\nprivate = 20ca2c85cc8762e96b7047bf15c71c050ffe0ed1616040a953ae32a1297ad871\npublic = 585007a5930d77623cf29756038ca197d3ebfd9e4c80a69585efe0274092c115\nresult = valid\nshared = 46add6f48ffff461777d4f89b6fdf1155aa051a96387d45f3e5e371a236b6e52\n\n# tcId = 132\n# special case public key\nprivate = d027656605b10bf18dea28bc52546f9f1f08cef06cafd200fc84f87dbb4ebe46\npublic = fbffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1f\nresult = valid\nshared = 1adbe32207e21f71e1af53884d2a2276481e298e557f4dacb3720f2458e3082d\n\n# tcId = 133\n# special case public key\nprivate = 4867a83ee9d01b7510840867db1af6a6049bdbb056b74443f70c358e162c8867\npublic = 0000000000000000000000000000000000000000000000000000000000000020\nresult = acceptable\nshared = e12cc58fbeb70a5e35c861c33710be6516a6a92e52376060211b2487db542b4f\nflags = Twist\n\n# tcId = 134\n# special case public key\nprivate = a015970a8add940fca5b1b5d23875397d547d8d494fcb314f2045a67a2d12c4b\npublic = afa00e4a271beec478e42fad0618432fa7d7fb3d99004d2b0bdfc14f8024832b\nresult = valid\nshared = 421bed1b26da1e9adbeada1f32b91a0fb4ced0f1110e0a4a88e735a19ee4571e\n\n# tcId = 135\n# special case public key\nprivate = 4058cb6b9aaba02a338aaa392dbc10039e26e9e444117e758e24c5d8b232ea5e\npublic = b1a00e4a271beec478e42fad0618432fa7d7fb3d99004d2b0bdfc14f8024832b\nresult = valid\nshared = d7b47463e2f4ca9a1a7deea098da8e74ac3b4a109083d997259b12992e7e7e06\n\n# tcId = 136\n# special case public key\nprivate = b876b05daff0530b139d9e11250563418077178246c5fa7005ba00e9b6647763\npublic = fbffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff2f\nresult = acceptable\nshared = 686eb910a937211b9147c8a051a1197906818fdc626668eb5f5d394afd86d41b\nflags = Twist\n\n# tcId = 137\n# special case public key\nprivate = d87fd6aa5d8deef6dee9619a56846a0829620590f2da40835", + "d8e251597e39078\npublic = 22231c64ef73ad62318b8a87bc38e272e1bb8bf1a60d7c00476d0b059d7b3c35\nresult = valid\nshared = 09559733b35bcc6bb8ac574b5abe3a4d8841deff051c294a07487e3eec3c5558\n\n# tcId = 138\n# special case public key\nprivate = 90036321b63751f7622aa93da34d85e59ce81009ac5b9a068921d83bc4715b57\npublic = f6ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3f\nresult = valid\nshared = f7d5cbcf39eb722b01ed20c85563ebb81d076511aead4ccc429027866b9fd270\n\n# tcId = 139\n# special case public key\nprivate = a06781fd4c4a0874e00e72ba131b9dd87a83b2904e294de176e8a9af1f695d67\npublic = f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3f\nresult = acceptable\nshared = e995ad6a1ec6c5ab32922cff9d204721704673143c4a11deaa203f3c81989b3f\nflags = Twist\n\n# tcId = 140\n# special case public key\nprivate = b822d72d8b68bdb4fbf67e56a61d672b2c7747e94479fe5ae4072d0accdd6571\npublic = feffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3f\nresult = acceptable\nshared = 32b6dabe01d13867f3b5b0892fefd80dca666f2edc5afb43cd0baf703c3e6926\nflags = Twist\n\n# tcId = 141\n# special case public key\nprivate = d08ce1237e248d02cdf619d20bea5848ade4f6ffd171b8dee8793fc67c459640\npublic = 0000000000000000000000000000000000000000000000000000000000000040\nresult = valid\nshared = a93d83fc9ea0f6cb0cc8b631da600019b76cbb2ec57222f2e42dd540e3da850b\n\n# tcId = 142\n# special case public key\nprivate = 180ae3c928514cfb9edd06e7dc1d5d066160e967445a5c58e4463b69ed205e6d\npublic = cbdce39b108c529dce74757843c71d8d1e44740e59f283ffb892f4fa6284c34a\nresult = valid\nshared = 017cbfa2b38e9ef3297a339ecce1a917bdcf7e910036086a41d1e22d04241870\n\n# tcId = 143\n# special case public key\nprivate = e881d806a110560cd8fee899d59c0249f1233a4322c41aa369c7a2a99f5b5962\npublic = 3c5ff1b5d8e4113b871bd052f9e7bcd0582804c266ffb2d4f4203eb07fdb7c54\nresult = valid\nshared = 71133905b8a57ea8c38de0ecf213699a75b096c2df21f07f7e9eb03e9fa53f5c\n\n# tcId = 144\n# special case public key\nprivate = 08e410e1d7e8b9411236af4a35d6b62a5d8931478e4c62197cfafb491467b162\npublic = 3e5ff1b5d8e4113b871bd052f9e7bcd0582804c266ffb2d4f4203eb07fdb7c54\nresult = valid\nshared = 3dc7b70e110766b2bf525252ebed98a100b2e532dc69544464da1bbab8625f6d\n\n# tcId = 145\n# special case public key\nprivate = e02fdf7e0ee3d55b4440f01432dd253c949793bc04da44ddece83e54c8c39b40\npublic = f2ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5f\nresult = valid\nshared = e317e5cc438b5f79ead5533ac7c45519a117b31033cc2140b19edf8572011240\n\n# tcId = 146\n# special case public key\nprivate = f05d18f68ef7a5865c14db3a9c255fdf2dabea2aa36581e94f68b727b582867b\npublic = f6ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5f\nresult = valid\nshared = d86810516aeddc18061036f599a9eb84d1c6146b0f543652dd4526743ba42c04\n\n# tcId = 147\n# special case public key\nprivate = 00c103578d5c079d7bcc22c1c31e787c1b15c57fcb493fdafefa20371cfc746b\npublic = 95aff85a6cf2889dc30d68a9fc735e682c140261b37f596a7a101fd8bf6d3e6a\nresult = acceptable\nshared = dfa988a477003be125b95ccbf2223d97729577d25e1d6e89e3da0afabdd0ae71\nflags = Twist\n\n# tcId = 148\n# special case public key\nprivate = 7005bb927485c435642b424a3dde014bcf76345e5be64ae6e9b24db39e1cdb51\npublic = 434638c8dee75ac56216150f7971c4e5c27717e34d1bf8008eda160a3af7786a\nresult = acceptable\nshared = d450af45b8ed5fe140cc5263ffb7b52e66736899a8b872b6e28552129819b25b\nflags = Twist\n\n# tcId = 149\n# special case public key\nprivate = 0822039a5dc13c40fcccf346e2a7769b4fd272052d43260ad626468a50d44162\npublic = 454638c8dee75ac56216150f7971c4e5c27717e34d1bf8008eda160a3af7786a\nresult = valid\nshared = 58002c89bf8bc32ae6fc205b796acd13ef7f8476f6492ae4b2be47f1095e8a4f\n\n# tcId = 150\n# special case public key\nprivate = 40a6349c03f0dc0a42358f6353ca67632af687b14c9dff626c54e211e8fc355a\npublic = ecfffffffffffffffffffffffffffeffffffffffffffffffffffffffffffff7f\nresult = valid\nshared = 7773aad6e72eb1735b65ad51f7dad258c11d7bfff53094424cb103cd6bfb4368\n\n# tcId = 151\n# special case public key\nprivate = 50696d4d05209971d6ba0676ea274262ba639aac74fa75e5df4570768ad8ae74\npublic = eefffffffffffffffffffffffffffeffffffffffffffffffffffffffffffff7f\nresult = valid\nshared = c118ddf6462fbea80f14ef1f2972a1ab12cafa511d1323d4d22d0d426d651b5b\n\n# tcId = 152\n# special case public key\nprivate = 68bb680c853f4e4daa47c586dc886cf4568d7b0383770f6df439a53be4a3236d\npublic = edffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffff7f\nresult = valid\nshared = cc0775bfd970a2706b11c7222a4436a3d17160382c83b76f89b66192c81b4408\n\n# tcId = 153\n# special case public key\nprivate = b0f6c28dbdc647068a76d71805ef770f087cf76b82afdc0d26c45b71ace49768\npublic = ebffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\nresult = valid\nshared = f0097fa0ba70d019126277ab15c56ecc170ca88180b2bf9d80fcda3d7d74552a\n\n# tcId = 154\n# special case public key\nprivate = 18630f93598637c35da623a74559cf944374a559114c7937811041fc8605564a\npublic = ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\nflags = LowOrderPublic,Twist,ZeroSharedSecret\n\n# tcId = 155\n# special case for E in multiplication by 2\nprivate = 581ecbda5a4a228044fefd6e03df234558c3c79152c6e2c5e60b142c4f26a851\npublic = 0000000000000000000008000000000000000000000000000000000000000000\nresult = acceptable\nshared = 59e7b1e6f47065a48bd34913d910176b6792a1372aad22e73cd7df45fcf91a0e\nflags = Twist\n\n# tcId = 156\n# special case for E in multiplication by 2\nprivate = b0561a38000795b7cb537b55e975ea452c2118506295d5eb15fd9c83b67f7a50\npublic = 77af0d3897a715dfe25df5d538cf133bc9ab7ad52df6bd922a2fb75621d59901\nresult = valid\nshared = 179f6b020748acba349133eaa4518f1bd8bab7bfc4fb05fd4c24e7553da1e960\n\n# tcId = 157\n# special case for E in multiplication by 2\nprivate = b00f7df2d47128441c7270b9a87eee45b6056fc64236a57bdf81dbcccf5f5d42\npublic = 4e39866127b6a12a54914e106aab86464af55631f3cb61766d5999aa8d2e070e\nresult = valid\nshared = 43c5ee1451f213ef7624729e595a0fee7c9af7ee5d27eb03278ee9f94c202352\n\n# tcId = 158\n# special case for E in multiplication by 2\nprivate = c8f7a0c0bfb1e9c72576c534f86854fbe4af521d4fa807f67e2440e100ec8852\npublic = adc6799ed8495ed5ab6eb1ef955479b9b50aa9ce0c349e8992a6665572d1f811\nresult = valid\nshared = 2f350bcf0b40784d1d756c9ca3e38ec9dd68ba80faf1f9847de50779c0d4902a\n\n# tcId = 159\n# special case for E in multiplication by 2\nprivate = 58181f581aa37022ff71c56c6e68e6175d967c5c995a249885f66565074ded4d\npublic = 770f4218ef234f5e185466e32442c302bbec21bbb6cd28c979e783fe5013333f\nresult = acceptable\nshared = d5d650dc621072eca952e4344efc7320b2b1459aba48f5e2480db881c50cc650\nflags = Twist\n\n# tcId = 160\n# special case for E in multiplication by 2\nprivate = 301c935cae4357070b0adaf9cd6192830b2c989c153729eed99f589eb45f884b\npublic = 5c6118c4c74cfb842d9a87449f9d8db8b992d46c5a9093ce2fcb7a49b535c451\nresult = acceptable\nshared = 909cc57275d54f20c67b45f9af9484fd67581afb7d887bee1db5461f303ef257\nflags = Twist\n\n# tcId = 161\n# special case for E in multiplication by 2\nprivate = d002292d4359a3d42bc8767f1380009332e7a0df2f3379011ab78f789f6baa54\npublic = 4039866127b6a12a54914e106aab86464af55631f3cb61766d5999aa8d2e076e\nresult = valid\nshared = 4a7e2c5caf1d8180eb1c4f22692f29a14b4cdc9b193bd1d16e2f27438eef1448\n\n# tcId = 162\n# special case for E in multiplication by 2\nprivate = d0c2c49e644ab738270707ff9917065942687e2f12886d961161db46c05b565f\npublic = 078fa523498fb51cba1112d83b20af448b8009d8eea14368564d01b8f9b6086f\nresult = acceptable\nshared = c0ee59d3685fc2c3c803608b5ee39a7f8da30b48e4293ae011f0ea1e5aeb7173\nflags = Twist\n\n# tcId = 163\n# special case for E in multiplication by 2\nprivate = f087d38b274c1dad1bce6eaa36b48e2190b90b9bf8ca59669cc5e00464534342\npublic = 9fc6799ed8495ed5ab6eb1ef955479b9b50aa9ce0c349e8992a6665572d1f871\nresult = valid\nshared = b252bc8eabfaa68c56e54d61b99061a35d11e3a7b9bda417d90f69b1119bcf45\n\n# tcId = 164\n# special case for E in multiplication by 2\nprivate = 48dbcc5a695f1514bbbaa6ad00842b69d9ae5216b1963add07fb2947c97b8447\npublic = 7650f2c76858ea201da2022ac730ecc43654852ad209426dd5d048a9de2a667e\nresult = valid\nshared = fbda33bc930c08df837208e19afdc1cfe3fd0f8f0e3976be34775e58a4a7771f\n\n# tcId = 165\n# D = 0 in multiplication by 2\nprivate = 5891c9272cf9a197735b701e5715268d36d7436b7e351a3e997a0862e4807d4d\npubl", + "ic = e0eb7a7c3b41b8ae1656e3faf19fc46ada098deb9c32b1fd866205165f49b800\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\nflags = LowOrderPublic,ZeroSharedSecret\n\n# tcId = 166\n# D = 0 in multiplication by 2\nprivate = c0f9c60aea73731d92ab5ed9f4cea122f9a6eb2577bda72f94948fea4d4cc65d\npublic = 5f9c95bca3508c24b1d0b1559c83ef5b04445cc4581c8e86d8224eddd09f1157\nresult = acceptable\nshared = 0000000000000000000000000000000000000000000000000000000000000000\nflags = LowOrderPublic,ZeroSharedSecret\n\n# tcId = 167\n# special case for DA - CB in multiplication by 2\nprivate = 0066dd7674fe51f9326c1e239b875f8ac0701aae69a804c25fe43595e8660b45\npublic = b0224e7134cf92d40a31515f2f0e89c2a2777e8ac2fe741db0dc39399fdf2702\nresult = acceptable\nshared = 8dacfe7beaaa62b94bf6e50ee5214d99ad7cda5a431ea0c62f2b20a89d73c62e\nflags = Twist\n\n# tcId = 168\n# special case for DA - CB in multiplication by 2\nprivate = 80067f30f40d61318b420c859fce128c9017ab81b47b76028a57bc30d5856846\npublic = 601e3febb848ec3e57fce64588aad82afc9c2af99bbcdffcc4cd58d4b3d15c07\nresult = valid\nshared = 20f1d3fe90e08bc6f152bf5dacc3ed35899785333f1470e6a62c3b8cbe28d260\n\n# tcId = 169\n# special case for DA - CB in multiplication by 2\nprivate = 584577669d21ce0ae3e30b02c9783ffe97709cbfe396889aa31e8ee43352dc52\npublic = 82a3807bbdec2fa9938fb4141e27dc57456606301f78ff7133cf24f3d13ee117\nresult = acceptable\nshared = 2b28cc5140b816add5ad3a77a81b1c073d67bf51bf95bda2064a14eb12d5f766\nflags = Twist\n\n# tcId = 170\n# special case for DA - CB in multiplication by 2\nprivate = 18e597a4e2ccdb5e8052d57c9009938c2d4c43d6d8c9f93c98727b7311035953\npublic = f329ab2376462e5f3128a2682086253c19222ac1e2bca45692f0c3b528f4c428\nresult = valid\nshared = 8392160083b9af9e0ef44fcfce53ba8ff7282ee7a6c71ab66f8843a55d09cd68\n\n# tcId = 171\n# special case for DA in multiplication by 2\nprivate = 88281cc51d5512d8814ea5249b879dcbad0323d38512dafbdc7ba85bba8c8d5d\npublic = 4fce3bb6c8aaf022dbd100e3cde3941b37d543f00401dba7da9bc143dfc55709\nresult = valid\nshared = 42184e22c535530c457bd3b4f1084cbf5e297f502fe136b8d1daecf5334cc96c\n\n# tcId = 172\n# special case for DA in multiplication by 2\nprivate = d0e795450df0a813c6573496ec5793ca02e1bdbad10ed08df83fdaed68b3385f\npublic = 15c68851c1db844b5a1ef3456a659f188854b1a75fbdb2f68f514c9289ce711f\nresult = valid\nshared = f654d78e5945b24bc63e3e6d790e0ae986e53937764068b1bce920e1d79b756f\n\n# tcId = 173\n# special case for DA in multiplication by 2\nprivate = 30b69a1cc1eb2d0b83ea213846e90a2c922088bdf294a6995bf6e6e77c646c41\npublic = 4200a242434337b8914f49345301ed782b13594f9ede089c41fb1e7ea82c9053\nresult = valid\nshared = cd8a09b04795edcc7061867373981aa748651ebdce5ec218a335b878cefe4872\n\n# tcId = 174\n# special case for DA in multiplication by 2\nprivate = 78b30bb63cd8ade71b7a77d426f4419d05f199ffef349e89faa9d9a5f21f6654\npublic = baabf0174aaaea4de48cc83adfb0401461a741903ea6fb130d7d64b7bf03a966\nresult = valid\nshared = c9f8258f237db1c80702c5c4d9048dfba9dfe259da4aeee90dc2945526961275\n\n# tcId = 175\n# special case for x_2 in multiplication by 2\nprivate = c0b386f4ef0d4698686404977e7b60cb6c1f8b6012a22e29d6224c5947439041\npublic = f12f18bd59c126348f6a7a9f4a5fdd9fcaf581345073a851fba098e5d64b4a0c\nresult = valid\nshared = 6600cbe900616a770a126b8b19156d5e27e1174bd538d0944eb3c0be4899c758\n\n# tcId = 176\n# special case for x_2 in multiplication by 2\nprivate = 9886602e719bacafea092bb75b51ae7258abe1a364c176857f3dc188c03e6759\npublic = bee386527b772490aeb96fc4d23b9304037cb4430f64b228f3d8b3b498319f22\nresult = acceptable\nshared = 3fe710d6344ff0cb342e52349e1c5b57b7a271f2a133bb5249bbe40dc86e1b40\nflags = Twist\n\n# tcId = 177\n# special case for x_2 in multiplication by 2\nprivate = b83960f5d0613cdaac6dda690351666e9f277bba6bd406b0e27a1886bb2d3e46\npublic = cf911ac91b0d944049cec66ae5ef0c4549d1e612e107c68e87263a2fbcf8323f\nresult = valid\nshared = 71373ebe67f39a2c230027c7db4b3b74bab80ed212b232679785ee10f47c304e\n\n# tcId = 178\n# special case for x_2 in multiplication by 2\nprivate = d03b75f09ac807dfd2ee352c04a1f25984720f785ffaa0af88bc5db6ff9c3453\npublic = 1e6ee536e4f26bbfb63139951a10f3bab62e19ed1ef8397178d9c5d04307cd40\nresult = valid\nshared = 238eef43c589822e1d3de41c1cc46dcfec7a93febf37c8546b6625e1a123815d\n\n# tcId = 179\n# special case for x_2 in multiplication by 2\nprivate = d036948c0ec223f0ee577e390dbf87222358ed199f2823345ad154bbc4cbcc47\npublic = 2f1c79ad8488db6f5146903b2dc46cfbfc834bbcf09b4dd70c274c4b67ce605d\nresult = valid\nshared = 87a79c9c231d3b9526b49bf3d683bf38c3c319af7c7c5d1456487398da535010\n\n# tcId = 180\n# special case for x_2 in multiplication by 2\nprivate = d054ded613febf2950ac5c927fcb120c387de0ba61b331cd33024c8b6e737048\npublic = fccfe742a63ed9cb70958560b5a02260350a7ecbaf8c57ae045f671a29b4b573\nresult = valid\nshared = d683ca6194452d878c12d7da35f22833f99728bba89931a51274f61210336a5f\n\n# tcId = 181\n# special case for AA in multiplication by 2\nprivate = e82c480631fb153ba2211fe603032b3e71b162dbd3c11bec03208ffcd510655f\npublic = cb3d4a90f86b3011da3369d9988597c7fff1499273b4a04f84d0e26ed1683c0d\nresult = acceptable\nshared = dbf6203516635840cf69a02db87cf0d95dae315da7fc1ec7ce2b29e1f2db6666\nflags = Twist\n\n# tcId = 182\n# special case for AA in multiplication by 2\nprivate = c0c01d28c1cab01f59700aca5f18d2697658b37fdd54a339ff391c0a1a1b1645\npublic = 101e13f7bc0570fa2638caa20a67c6e0c21dab132f4b456191590264c493d018\nresult = acceptable\nshared = 1fe314744390d525278b1f5fbf108101b8ded587081375ed4ac4ac690d92414f\nflags = Twist\n\n# tcId = 183\n# special case for AA in multiplication by 2\nprivate = c82bde72df36479688c485a8bf442f4a34412e429c02db97704f03daf4dfd542\npublic = dce1ec0843fa8f05d9c7355df598391f3de254ecd0b4ba9e6ea6fd9b3b6c2f67\nresult = acceptable\nshared = ad454395ee392be677be7b9cb914038d57d2d87ec56cc98678dd84f19920912b\nflags = Twist\n\n# tcId = 184\n# special case for AA in multiplication by 2\nprivate = 503f697617fb02a7b8ef00ba34e7fc8ce93f9ec3e1cbfe4bf2c05bcee0cb9757\npublic = 21c2b56f0794cfee25cc9626677a6838000eb66d8c4b5fb07b2f1d912e97c372\nresult = valid\nshared = c6d6499255133398f9dd7f32525db977a538118800bfaf3aad8bcd26f02c3863\n\n# tcId = 185\n# special case for BB in multiplication by 2\nprivate = 58cd4ca1e4331188de2b2889419ce20ec5ef88a0e93af092099065551b904e41\npublic = cc3d4a90f86b3011da3369d9988597c7fff1499273b4a04f84d0e26ed1683c0d\nresult = valid\nshared = 0d74214da1344b111d59dfad3713eb56effe7c560c59cbbb99ec313962dbba58\n\n# tcId = 186\n# special case for BB in multiplication by 2\nprivate = 004ea3448b84ca509efec5fcc24c63ee984def63b29deb9037894709709c0957\npublic = 111e13f7bc0570fa2638caa20a67c6e0c21dab132f4b456191590264c493d018\nresult = acceptable\nshared = 7b9dbf8d6c6d65898b518167bf4011d54ddc265d953c0743d7868e22d9909e67\nflags = Twist\n\n# tcId = 187\n# special case for BB in multiplication by 2\nprivate = c8a6eb00a4d74bbdff239522c3c891ed7ce1904be2a329cd0ae0061a253c9542\npublic = dde1ec0843fa8f05d9c7355df598391f3de254ecd0b4ba9e6ea6fd9b3b6c2f67\nresult = valid\nshared = fb0e0209c5b9d51b401183d7e56a59081d37a62ab1e05753a0667eebd377fd39\n\n# tcId = 188\n# special case for BB in multiplication by 2\nprivate = 50322ff0d0dcdd6b14f307c04dfecefe5b7cdeaf92bffb919e9d62ed27079040\npublic = 22c2b56f0794cfee25cc9626677a6838000eb66d8c4b5fb07b2f1d912e97c372\nresult = valid\nshared = dbe7a1fe3b337c9720123e6fcc02cf96953a17dc9b395a2206cb1bf91d41756e\n\n# tcId = 189\n# special case for D in multiplication by 2\nprivate = e0328c7d188d98faf2ac72d728b7d14f2bbbd7a94d0fbd8e8f79abe0b1fe1055\npublic = e58baccede32bcf33b3b6e3d69c02af8284a9631de74b6af3f046a9369df040f\nresult = valid\nshared = 97bd42093e0d48f973f059dd7ab9f97d13d5b0d5eedffdf6da3c3c432872c549\n\n# tcId = 190\n# special case for D in multiplication by 2\nprivate = 5017679a17bd23adf95ad47e310fc6526f4ba9ca3b0839b53bd0d92839eb5b4f\npublic = c6d5c693fc0a4e2df6b290026860566a166b6d7aebe3c98828d492745c8df936\nresult = valid\nshared = 99bcbc7b9aa5e25580f92bf589e95dae874b83e420225d8a93e18e96dac00b63\n\n# tcId = 191\n# special case for D in multiplication by 2\nprivate = 2864aaf61c146df06cc256b065f66b34985cc015da5b1d647a6ed4e2c76bfc43\npublic = d15f4bf2ef5c7bda4ee95196f3c0df710df5d3d206360fc3174ea75c3aa3a743\nresult = valid\nshared = afa2adb52a670aa9c3ec3020d5fda285474ede5c4f4c30e9238b884a77969443\n\n# tcId = 192\n# special case for D in multiplication by 2\nprivate = 184a6cfbabc", + "bd1507a2ea41f52796583dbdb851b88a85781ee8e3c28782c3349\npublic = 6dffb0a25888bf23cf1ac701bfbdede8a18e323b9d4d3d31e516a05fce7ce872\nresult = acceptable\nshared = e6a2fc8ed93ce3530178fef94bb0056f43118e5be3a6eabee7d2ed384a73800c\nflags = Twist\n\n# tcId = 193\n# special case for D in multiplication by 2\nprivate = c85f954b85bc102aca799671793452176538d077862ee45e0b253619767dff42\npublic = 21f86d123c923a92aaf2563df94b5b5c93874f5b7ab9954aaa53e3d72f0ff67e\nresult = acceptable\nshared = 7fc28781631410c5a6f25c9cfd91ec0a848adb7a9eb40bc5b495d0f4753f2260\nflags = Twist\n\n# tcId = 194\n# special case for D in multiplication by 2\nprivate = 50e3e5a9a19be2ee3548b0964672fb5e3134cb0d2f7adf000e4556d0ffa37643\npublic = 587c347c8cb249564ab77383de358cc2a19fe7370a8476d43091123598941c7f\nresult = valid\nshared = 314d8a2b5c76cc7ee1217df2283b7e6724436e273aeb80628dce0600ab478a63\n\n# tcId = 195\n# special case for DA + CB in multiplication by 2\nprivate = 08ece580bb6ddf96559b81d7a97dd4531def6cc78d448a70cebabdd26caab146\npublic = f5c6311a1dd1b9e0f8cfd034ac6d01bf28d9d0f962a1934ae2cb97cb173dd810\nresult = valid\nshared = 2bfd8e5308c34498eb2b4daf9ed51cf623da3beaeb0efd3d687f2b8becbf3101\n\n# tcId = 196\n# special case for DA + CB in multiplication by 2\nprivate = a886033e9dc2b6a913fffbc2bd402e8c11ec34d49c0dc0fa1429329b694a285f\npublic = 9316c06d27b24abc673ffb5105c5b9a89bdfaa79e81cdbb89556074377c70320\nresult = acceptable\nshared = d53c3d6f538c126b9336785d1d4e6935dc8b21f3d7e9c25bc240a03e39023363\nflags = Twist\n\n# tcId = 197\n# special case for DA + CB in multiplication by 2\nprivate = 98b1cc2020a8ec575d5c46c76024cf7c7ad7628eb909730bc4f460aaf0e6da4b\npublic = 8a4179807b07649e04f711bf9473a79993f84293e4a8b9afee44a22ef1000b21\nresult = acceptable\nshared = 4531881ad9cf011693ddf02842fbdab86d71e27680e9b4b3f93b4cf15e737e50\nflags = Twist\n\n# tcId = 198\n# special case for DA + CB in multiplication by 2\nprivate = c8e193de162aa349a3432c7a0c0521d92cbc5e3bf82615e42955dd67ec12345f\npublic = a773277ae1029f854749137b0f3a02b5b3560b9c4ca4dbdeb3125ec896b81841\nresult = acceptable\nshared = 7ba4d3de697aa11addf3911e93c94b7e943beff3e3b1b56b7de4461f9e48be6b\nflags = Twist\n\n# tcId = 199\n# special case for DA + CB in multiplication by 2\nprivate = 88e01237b336014075676082afbde51d595d47e1fa5214b51a351abbf6491442\npublic = 1eceb2b3763231bc3c99dc62266a09ab5d3661c756524cddc5aabcedee92da61\nresult = acceptable\nshared = bcf0884052f912a63bbab8c5c674b91c4989ae051fa07fcf30cb5317fb1f2e72\nflags = Twist\n\n# tcId = 200\n# special case for DA + CB in multiplication by 2\nprivate = e82313e451a198dce4ae95c6832a8281d847fc87b28db00fe43757c16cc49c4a\npublic = 9a2acbb3b5a386a6102e3728be3a97de03981d5c71fd2d954604bee3d3d0ce62\nresult = acceptable\nshared = e5772a92b103ee696a999705cf07110c460f0545682db3fac5d875d69648bc68\nflags = Twist\n\n# tcId = 201\n# special case for DA + CB in multiplication by 2\nprivate = 2828594d16768e586df39601ecc86d3fad6389d872b53fca3edcaf6fb958f653\npublic = 27430e1c2d3089708bca56d7a5ad03792828d47685b6131e023dd0808716b863\nresult = acceptable\nshared = 378c29e3be97a21b9f81afca0d0f5c242fd4f896114f77a77155d06ce5fbfa5e\nflags = Twist\n\n# tcId = 202\n# special case for z_2 in multiplication by 2\nprivate = a84f488e193139f986b0e5b249635b137d385e420342aef1f194fcde1fe5e850\npublic = 4ef367901aac8ba90a50e0cf86ca4e4a3ff164fb121605be346e2e48d04ac912\nresult = valid\nshared = 7eb48a60b14fb9ea5728f6410aef627d1522fad481b934af64e2c483b64d585f\n\n# tcId = 203\n# special case for z_2 in multiplication by 2\nprivate = 30fd2a781e095c34a483907b3dd2d8bd2736e279617bfa6b8b4e0e1cf90fbd46\npublic = d1de303c4ddd05d57c29df92ad172dd8c8f424e63ec93445beaea44f9d124b17\nresult = valid\nshared = b71bdbed78023a06deed1c182e14c98f7cf46bc627a4a2c102ad23c41cf32454\n\n# tcId = 204\n# special case for z_2 in multiplication by 2\nprivate = 28312e17b47dd32d90561168245187963c7469a31c881e4a5c94384262b71959\npublic = 5bccd739fd7517d9344bf6b2b0f19a1e0c38d9349a25ad1f94af4a2cdcf5e837\nresult = valid\nshared = 5bb56877caf2cdac98611b60367fbb74265984614e5e73996e8ea1bd6f749f1a\n\n# tcId = 205\n# special case for z_2 in multiplication by 2\nprivate = a87640cf8237b473c638b3e9df08644e8607e563b5964363ccc42133b2996742\npublic = 8a7a939310df7ea768454df51bcd0dfbd7be4fcbb2ffc98429d913ec6911f337\nresult = acceptable\nshared = b568ed46d04f6291f8c176dca8aff6d221de4c9cce4b404d5401fbe70a324501\nflags = Twist\n\n# tcId = 206\n# special case for z_2 in multiplication by 2\nprivate = 780c5b882720d85e5ddfaf1033e9a1385df9e21689eeda4dcc7444ad28330a50\npublic = fe3590fc382da7a82e28d07fafe40d4afc91183a4536e3e6b550fee84a4b7b4b\nresult = acceptable\nshared = 11fb44e810bce8536a957eaa56e02d04dd866700298f13b04ebeb48e20d93647\nflags = Twist\n\n# tcId = 207\n# special case for z_2 in multiplication by 2\nprivate = 209e5e0ae1994bd859ce8992b62ec3a66df2eb50232bcc3a3d27b6614f6b014d\npublic = fad9ab3e803b49fc81b27ee69db6fc9fdb82e35453b59ef8fab2a3beb5e1134c\nresult = acceptable\nshared = 85d9db8f182bc68db67de3471f786b45b1619aec0f32b108ace30ee7b2624305\nflags = Twist\n\n# tcId = 208\n# special case for z_2 in multiplication by 2\nprivate = 806d1dee5ff6aea84a848916991a89ef3625583e1bd4ae0b3dd25c2524a4ff46\npublic = 98bed955f1516c7a442751ac590046d7d52ca64f76df82be09d32e5d33b49073\nresult = valid\nshared = 61d4ef71cbe7be3128be829ab26ed3463eb4ab25937c309788e876b23412aa7c\n\n# tcId = 209\n# special case for z_2 in multiplication by 2\nprivate = 00f98b02ae0df5274cc899f526eb1b877289e0963440a57dd97e414cdd2f7c51\npublic = e59be4917b3f05b6fc8748c9b90f1b910273c9c6e17ff96ef415ff3d927d987e\nresult = valid\nshared = 5ba4394ed1a664811b01557944becf7585652a8acbdbf806742911207bd79346\n\n# tcId = 210\n# special case for A in multiplication by 2\nprivate = d86c18f2be396b3bb72f22e6ece22e273af6e1506a1c09ad4d01bdd2f439f843\npublic = 8c9885a26cb334054700a270f7a5f4aac06bad8263b651ebf0712eca1ebb6416\nresult = acceptable\nshared = a5952588613eb7a5cd49dd526f1f20a4f0ffe9423e82cea302c2dd90ce559955\nflags = Twist\n\n# tcId = 211\n# special case for A in multiplication by 2\nprivate = f81aadb9053eb698996d0f781d9cda67f82ddefa3987d276ff5a94ffdf5d255f\npublic = f6135fe9741c2c9de7dcf7627ef08832f351cb325dbb3a26f93a2b48620e1727\nresult = acceptable\nshared = cb6fb623084b6197443ec9ba1050c0923332e5e829ae0194269cfaf920a43601\nflags = Twist\n\n# tcId = 212\n# special case for A in multiplication by 2\nprivate = 305b4db4321b4923fc559bf91df677d0e12c3a31b16ec655cb708b759d7c114d\npublic = f6ffffffffffffffffffffffffffffbfffffffffffffffffffffffffffffff3f\nresult = valid\nshared = 9e526079c2fcf12426ae6c2a54b5ffb70f2ec662e29ea5ce0c8385c3b21cd162\n\n# tcId = 213\n# special case for A in multiplication by 2\nprivate = 900638d1979802db9b52e4dd84fa19579f61cd7bef3c0b62fcccaeaa15fa484d\npublic = f6ffffffffffffffffffffffffffff3f00000000000000000000000000000040\nresult = valid\nshared = 6329c7dc2318ec36153ef4f6f91bc6e7d1e008f5293065d9586ab88abb58f241\n\n# tcId = 214\n# special case for A in multiplication by 2\nprivate = 38575cf7c8691ecc79cd5f8d7d4703aa48592ff6e7f64731c2d98a19aeae514f\npublic = f6eba0168be3d3621823089d810f77cd0cae34cda244c5d906c5d4b79df1e858\nresult = valid\nshared = 603f4fc410081f880944e0e13d56fc542a430eec813fad302b7c5ac380576f1c\n\n# tcId = 215\n# special case for A in multiplication by 2\nprivate = e88bd02c7016547a24f428bc2a9dcccad6c6f880c17bffcf66fc68459627af4e\npublic = 60677a5d934ccbfab8ff5d8f085a0b553f94527d9c49ae140f8ed135e1449b69\nresult = acceptable\nshared = 834bbad5470e1498c4b0148782dfe630e8bfadff1997de802ac8ce302a1bda28\nflags = Twist\n\n# tcId = 216\n# special case for B in multiplication by 2\nprivate = 9036ed7d68f7448ac440dc51216b49840dcabd3d5e32e3b4ffc32a5fe9e96742\npublic = 8d9885a26cb334054700a270f7a5f4aac06bad8263b651ebf0712eca1ebb6416\nresult = acceptable\nshared = ec9070ad3491a5ff50d7d0db6c9c844783dde1c6fbd4fe163e9ade1ce9cd041d\nflags = Twist\n\n# tcId = 217\n# special case for B in multiplication by 2\nprivate = 90c55e77aa0fe4afb1287109fd010f526364dea18d88e2fd870ac01b66e3fa4e\npublic = f7135fe9741c2c9de7dcf7627ef08832f351cb325dbb3a26f93a2b48620e1727\nresult = acceptable\nshared = dc6d05b92edcdb5dc334b1fc3dff58fe5b24a5c5f0b2d4311555d0fc945d7759\nflags = Twist\n\n# tcId = 218\n# special case for B in multiplication by 2\nprivate = a021ba2fd4e3ad57bcbf204d6f6c3e8018d8978552633b6dff1b7447bf529459\npublic = f7ffffffffffffffffffffffffffffbfffffffffffffffffffffffffffffff3f\nresult", + " = valid\nshared = 1b174b189981d81bc6887932083e8488df8bbbed57f9214c9cfa59d59b572359\n\n# tcId = 219\n# special case for B in multiplication by 2\nprivate = 3035083e984837587f6b7346af871bf3fc9581c50eb55c83aefabeed68cee349\npublic = f7ffffffffffffffffffffffffffff3f00000000000000000000000000000040\nresult = valid\nshared = 15a052148abaad1b0f2e7481a34edb61403589439b5bd5e5646cecebe2a1be2b\n\n# tcId = 220\n# special case for B in multiplication by 2\nprivate = 30435ce187f2723f9a3bdea0eef892207e152e4cee8985fa72d2db4147bd2a53\npublic = f7eba0168be3d3621823089d810f77cd0cae34cda244c5d906c5d4b79df1e858\nresult = valid\nshared = 1d048cbe2f8df07c233a8f93706f307d17130c2497fb752eeaa31fe3edfc725a\n\n# tcId = 221\n# special case for B in multiplication by 2\nprivate = 580f0a9bba7281a30fb033490e0f429f22e3f267852caeacefa3e5291f0e614e\npublic = 61677a5d934ccbfab8ff5d8f085a0b553f94527d9c49ae140f8ed135e1449b69\nresult = acceptable\nshared = cb92a98b6aa99ac9e3c5750cea6f0846b0181faa5992845b798923d419e82756\nflags = Twist\n\n# tcId = 222\n# special case for C in multiplication by 2\nprivate = 709098feb2e25c67b4bfd3be0a01af409adb6da52b3fbe3d970642dd2c983856\npublic = c8239b710136fe431fb4d98436157e47c9e78a10f09ff92e98baff159926061c\nresult = acceptable\nshared = f1bd12d9d32c6f4c5b2dcb3a5c52d9fd454d52ca704c2c137956ec8ad9aef107\nflags = Twist\n\n# tcId = 223\n# special case for C in multiplication by 2\nprivate = 185ac62e729f88528950926c0de7c481c924bf9cf26a122f443b861e8b6af640\npublic = b7a2f79e0de9b58147691b5546d9ec463da8325e1440e58bb20aa129d1b97327\nresult = valid\nshared = e6f1c494c9e4bd2325c17183e82d31ab0bbee6c847d4b0e4a99c7c6891117c3f\n\n# tcId = 224\n# special case for C in multiplication by 2\nprivate = f03743eead7c2f7719794324f271072817d1a04cbda42b232f3bee43f397cc40\npublic = 2dc624e1663f42a7b9336350f277541b50b8ddc7ee0d86133ad53273aed4e62e\nresult = valid\nshared = aa2a12edf752d279bdb000fb1405a5df8c5f1d41309b4f2bd41aed7ac1ed0149\n\n# tcId = 225\n# special case for C in multiplication by 2\nprivate = a8fbb4f90da45794981405d59ef310621e3c3b6b7760b5e30308c7822c88ae5f\npublic = 0e5eceee9104a64f82c9093b9bf7b4076ee5bc70815af7ee9f942ef015756176\nresult = valid\nshared = 74d5606ba0b6ad1d8ba36ae6f264d6315f479b3984de573e9b001e0555247c32\n\n# tcId = 226\n# special case for CB in multiplication by 2\nprivate = c887886fd07107c7221f6d9dd36c305ec779ceca132ac933ff77dab2beac6345\npublic = 737d45477e2beb77a6c38b98e2a19b05c395df7da998cb91f6dfab5819614f27\nresult = acceptable\nshared = 8cf4538ae5f445cc6d273df4ad300a45d7bb2f6e373a562440f1b37773904e32\nflags = Twist\n\n# tcId = 227\n# special case for CB in multiplication by 2\nprivate = 58096ee29361978f630ad1fb00c1267c5a901f99c502f9569b933ad0dcce0f50\npublic = 873f8b260ea9d9ddac08b7b030727bf0072315ab54075ecc393a37a975882b7e\nresult = valid\nshared = d5766753211d9968de4ac2559998f22ef44e8aa879f3328cbc46aa858dcb433c\n\n# tcId = 228\n# special case for CB in multiplication by 2\nprivate = 0829a49046dce2c07ab28440dbad146453e128960e85dd2e6a69a1512873dd44\npublic = 75e1587c5eefc83715d71020aa6be5347bb9ec9d91ce5b28a9bbb74c92ef407e\nresult = valid\nshared = 761d8cecf13f93b379a772e5fac5b9ffe996cad9af06152580afe87ff9651c71\n\n# tcId = 229\n# special case for x_2 in multiplication by 3\nprivate = 587ac36b9a23594632679adea1a826f2f62d79738220fb487464039f36ca2372\npublic = f85a06065ea2527238fc5ec1b75ead9262e6b1aed61feff83b91230aeb4b7d01\nresult = acceptable\nshared = f12acd36f6299a4d192c03aa4efeea7df51e2d15d763172e68accf7bc6f5c230\nflags = Twist\n\n# tcId = 230\n# special case for x_2 in multiplication by 3\nprivate = a8a442b7c0a99227b4cb5c75fb9e5a72cea25eba8a0bdf07271bb4a93c2b6665\npublic = 6e0f1d00b1099d2a71f7be86655feb8988bba5577b02f964043a49f00c749613\nresult = valid\nshared = b2bbbd173f41d952d329251da973a9500300628177ad0fb79d01e2e263905b38\n\n# tcId = 231\n# special case for x_2 in multiplication by 3\nprivate = d8f7233e9612c00c9dca2c751ec1d3f5f67bad77c2e714a20e71eb3f220a6671\npublic = 696757ced3097fa960c8390a09e8bd6d390dbde8d1fa170261f3422edc192929\nresult = acceptable\nshared = 45ecfa275f1daa25d3fadf33cdf89a152afea25eae37e68e00b30c367789887a\nflags = Twist\n\n# tcId = 232\n# special case for x_2 in multiplication by 3\nprivate = d80c7c7557c9907e1b11e844bf1369cba669bc38e9b7b253e51f239bda322374\npublic = fd84b3f2fbfa16aebf40c27f46e18d77bafa0c7971bedde4909212e771bd3c35\nresult = acceptable\nshared = 595e144e07bbe65b38e0e4163d02ad75a65e422e74067db35c90dfa6e055d456\nflags = Twist\n\n# tcId = 233\n# special case for x_2 in multiplication by 3\nprivate = 8002a85115ad7b41c50f84f35fac750ee8e19734807102830ff6a306beed4464\npublic = 805485703ccfc4a221ef281267f52b61cebc879f0f13b1e5f521c17352a0784f\nresult = acceptable\nshared = 226e16a279ac81e268437eb3e09e07406324cb72a9d4ee58e4cf009147497201\nflags = Twist\n\n# tcId = 234\n# special case for x_2 in multiplication by 3\nprivate = 782db0c8e3e68f106fe0c56415e0bd13d812dea0e94cbd18bdf6761295613a6d\npublic = 80642a3279da6bf5fc13db14a569c7089db014225cfcae7dff5a0d25ecc9235b\nresult = acceptable\nshared = 790d09b1726d210957ce8f65869ca1ec8fa0b2b06b6bcf9483b3eb55e49e9272\nflags = Twist\n\n# tcId = 235\n# special case for z_2 in multiplication by 3\nprivate = 909fb0bdbf53a69a2fe39c8b2497abd4fa57d2d54e046b5f514595e2c0f33d63\npublic = 84e827f78cae0cf063e4340198f788c284e07430b3a94a3873df38b1f872ce02\nresult = valid\nshared = 684cc83af806bcd9cd251e1858f3c10f0166e0a0cd2be154339a886b13e7c76f\n\n# tcId = 236\n# special case for z_2 in multiplication by 3\nprivate = 78a67909757248665f79371eb014825ab6bd4af3571f140389c636e004bcf46b\npublic = d445e1df0083bb6b8e886e6632251807171d4e88c41816fc684373c09d7e5d6e\nresult = valid\nshared = e426e4a3c54d3e77f4f157301e0ac7d9e12337a2b58df16780041cf6d6198c5a\n\n# tcId = 237\n# special case for z_2 in multiplication by 3\nprivate = 286a302d5b076d2aba7c2a4daf9e7cc9d8539b7c0391307db65a2f4220d30f70\npublic = f26aa6151a4b22390176f6233e742f40f2ecd5137166fb2e1ec9b2f2454ac277\nresult = acceptable\nshared = 862df92e25277bd94f9af2e1dda51f905a6e2a3f6068a92fabfc6c53da21ec11\nflags = Twist\n\n# tcId = 238\n# special case for DA - CB in multiplication by 3\nprivate = a838b70d17161cb38222f7bc69a3c8576032d580275b3b7d63fba08908cb4879\npublic = 2b02db3c82477fe21aa7a94d85df379f571c8449b43cbd0605d0acc53c472f05\nresult = valid\nshared = 3f438dbf03947995c99fd4cb366ca7e00e8cfbce64c3039c26d9fad00fa49c70\n\n# tcId = 239\n# special case for DA - CB in multiplication by 3\nprivate = b0733b4203267ab3c94c506acadb949a76cc600486fcd601478fcdef79c29d6c\npublic = d71dd7db122330c9bbaab5da6cf1f6e1c25345ee6a66b17512b1804ace287359\nresult = acceptable\nshared = 95f3f1849b0a070184e6077c92ae36ba3324bf1441168b89bb4b9167edd67308\nflags = Twist\n\n# tcId = 240\n# special case for BB in multiplication by 3\nprivate = d844a36b58aefdb08b981796029a2766101884b348f70eed947c2541064caf6a\npublic = 737bc07de0729bbcfbee3a08e696f97f3770577e4b01ec108f59caf46406d205\nresult = acceptable\nshared = 6a969af6d236aba08fa83160f699e9ed76fb6355f0662f03dbc5915a3c23063e\nflags = Twist\n\n# tcId = 241\n# special case for BB in multiplication by 3\nprivate = a0b7d312d9b832e124d1bc8cb21db545440e3cf14e7473ee9ccbe9b682f2156c\npublic = 9758061a7b3e2c02fb5c20875ae6b55b11fb6795990a0f4fdcd1147be5521607\nresult = valid\nshared = ab39db4aa29ac4017c7446f1ad0c7daa9a37f1b6b4f2e9d2902ccefb84839d28\n\n# tcId = 242\n# special case for BB in multiplication by 3\nprivate = 787f1ddd78cc6473d3e63949409ad3f35bfe0ce0738f255dee682f2bfbc80f7f\npublic = 37cd65d33036205f3449e8655a50d4b0c86fec02100b4f2db7da92dcf5e3aa0a\nresult = acceptable\nshared = 13de41659e3e308d6e26c94282fcc3e0364ddf0809ddee6c8e7abb5091b02b00\nflags = Twist\n\n# tcId = 243\n# special case for BB in multiplication by 3\nprivate = 4080ae60a85c1fa95aad9beabd98b405e7f28141bf08f2c9a4fdbde1c5680265\npublic = a9b6e8081460383adc587c8f91a02c59a7a35576ca62436ccd1b5fef1b92545d\nresult = acceptable\nshared = 69ed8a0a27812ae6741474bd5c6a4e683a126649f7245aa0f91a3a384bcde25a\nflags = Twist\n\n# tcId = 244\n# special case for E in multiplication by 3\nprivate = 08f9f4a4fac4db413315f74a59818b2452fc7b7685592e26556775f9b86d907f\npublic = fd1a2cd17a93f850deb8c45a2d34539232dfd8a558304209781c6cb58229870e\nresult = valid\nshared = 010218bd67b1b92fee3e7fa4578c13617d73195de10279747e53ba01a254525a\n\n# tcId = 245\n# special case for E in multiplication by 3\nprivate = 1888cfae3085867657b09435c42b74cc762457839451a3659db218d4214fd", + "d63\npublic = b88119e5ae6d9e6b912d52524739e612ef19ab7e5dd3d946cb9bc003c378f81f\nresult = valid\nshared = e6b298de9cb6358fbbb00f11890f5714a3858e8f05a2a8d1cf39fe78cc55dd4e\n\n# tcId = 246\n# special case for E in multiplication by 3\nprivate = 789ce13ed007818d7a5181e629eed944a20a058cfe39669c9831bfa5215a1269\npublic = 7b70e29dce0479cde4a36c7f9786582f104bc0788f046b48af495e67bdb88f36\nresult = valid\nshared = 967bbe298494b4a5f95853cfde9dc85970b2a4b5dd2c92782901e853957f5809\n\n# tcId = 247\n# special case for E in multiplication by 3\nprivate = 00022b43775ab2f4b91bc1cb54c97f78026289eaaf02abeed04ca84f736c686c\npublic = 2a209e2ace0e3d6973ffbf7403f9857ff97a5fdcd27f2c7098b444fc3c166738\nresult = acceptable\nshared = 9f66848681d534e52b659946ea2c92d2fabed43fe6e69032c11153db43dca75b\nflags = Twist\n\n# tcId = 248\n# special case for E in multiplication by 3\nprivate = 8097a52fc562e8a516682f5363cc5e7c88e9c78e308df0deef40497b35cc127d\npublic = f50709aca7f314e8d05b5ff97a427e427bd5e85c4e86712125076a771be21448\nresult = valid\nshared = ea7572e27a9120de1f13b85710ba69a3471b7b3f5d12bc430c12c4bbf8aa3957\n\n# tcId = 249\n# special case for E in multiplication by 3\nprivate = 4028802030d8a8221a7160eebbf1846116c1c253abc467d6e43cb850f1459860\npublic = 0f13955978b93d7b9f9a2e70d96df922850a8ffd8412e236fb074aef99d37d54\nresult = valid\nshared = e23d63a46be67c7443c07b9371ff6a06afcd7a5794bf2537926074b88190307a\n\n# tcId = 250\n# special case for E in multiplication by 3\nprivate = d8515d45c7ab2b9529816543150068b8e4bb614cf2b68a8a99363975af503d74\npublic = 18ffe992a729ce70c3b7cdc55bab55f2210d279134b3082a9f682d3a0b131273\nresult = valid\nshared = 33ccaf24e1e26290ed7e462093e9f77607ef52a0626b2cd2511c41cd24c13849\n\n# tcId = 251\n# special case for AA in multiplication by 3\nprivate = d8815bd144518fa526befdd373f5f9cff254d5d3c4660e8a90ef2a22c6876a74\npublic = c3ba28057728d0533965ec34979fe7bd93cf6cb644e8da038baa87997b8dc20e\nresult = acceptable\nshared = 74f95b4700f0185f33c5b5528ed5012a3363f8bbd6f6a840aa1f0f3bdb7c9650\nflags = Twist\n\n# tcId = 252\n# special case for AA in multiplication by 3\nprivate = a82d996093eefdaf283f4049bba4f5af6ecc2e64894f325ee1f9ca1e156d0567\npublic = 4eb095a86d1e781bb182233075ebf1db109d57135bf91d54fdb18eb371427640\nresult = valid\nshared = e9677b854851c41cc489e03981ae78690be6cbf0054ea9834759de3e27bcf03e\n\n# tcId = 253\n# special case for AA in multiplication by 3\nprivate = c02609df3d5436c123dcd7ee11f23f1da321666c09f379d37914203340510861\npublic = 83f67d7c92b11c8fb072484642a01f43deb022b54d94a4015e39849a2e2e9555\nresult = acceptable\nshared = f148716ebe7269a7076f0cf1f22b6978d3c7e3607b0bcc87a8c7a85b9fd20c2f\nflags = Twist\n\n# tcId = 254\n# special case for AA in multiplication by 3\nprivate = a0e3b78c0f3be2a760b2c916f244df219624fdda2e9e31b15328f4a77690296a\npublic = 20cc75d376d8453b9d049c84f58eafcf61126c08a03661e735f0a8be228fd466\nresult = valid\nshared = 1d5c123e88e9dc7a3b16ec90b60578dfca7e11eab9b88c6eca7bc33d91fde83b\n\n# tcId = 255\n# special case for AA in multiplication by 3\nprivate = 701f130a290584cb28c7d6539506a1a054f926a17ef7c568ae43047c05e10f60\npublic = ef31b43d19c0a5434deb56129c16298a394a7032a2e52cb997476bdeca325b73\nresult = valid\nshared = 2fc065ba8f5040a0a659f6f7330554bd1b9d7c893b91e316e0af90c37af4f135\n\n# tcId = 256\n# special case for AA in multiplication by 3\nprivate = d0e67f68183a4c1aed9c56864b36278bb7bb75d57a78321bc7c24ff61636607a\npublic = d8c8e2c6f33a98525df3767d1d04430dab0bda41f1f904c95bc61cc122caca74\nresult = acceptable\nshared = ef7612c156078dae3a81e50ef33951cab661fb07731d8f419bc0105c4d6d6050\nflags = Twist\n\n# tcId = 257\n# special case for AA in multiplication by 3\nprivate = 88eb7775dacc32b045ceb35f261b3616315efa98b780e08c79d544edadb5467d\npublic = 1833619516b80db0c05b225509e6698df028d83b66ed6bac6f0f6308970d2c7d\nresult = acceptable\nshared = a3cf3d81ec56896a68fca0da6335171d0c622568738c0db26fe117033726a049\nflags = Twist\n\n# tcId = 258\n# special case for AA in multiplication by 3\nprivate = 7055b1c0576e7ab6c89fcc1ce49e79c8c371bf9fc2b22b8f8396a9b64c5ae26d\npublic = e2e989aad2397fc34b6cbe2db27d5ab69b28048383c91d9e8226d548253fab7e\nresult = valid\nshared = e7f45823a45b6a46192b37d73e8609b5bda68cd7cfbdccaa49082080993e640f\n\n# tcId = 259\n# special case for D in multiplication by 4\nprivate = 906a9bfcfd71014d18967680d4509eaa41c666424af98bf9ff7ff49eb1baba41\npublic = b9bd793624d6a7e808486110058853edb25e136bd4d6a795d6d2ef53b25e3804\nresult = acceptable\nshared = 7c6148134c9e8b2ba5daeca41e6a1f3a82d8f75d0b292b23c40fe7f5ce0a2b7a\nflags = Twist\n\n# tcId = 260\n# special case for D in multiplication by 4\nprivate = 28392b1b035a8465aa22aabb571061c6effeed40cc2530b628e4fd40395ae04a\npublic = e3f444e208da9043f3f74c20e28d7f404bb687a346709abcd555156f88607820\nresult = acceptable\nshared = ea5e772bac4693ce69ea3ac761011fa7674037653a433c7f05456e7291cd3c4e\nflags = Twist\n\n# tcId = 261\n# special case for D in multiplication by 4\nprivate = 78cbb35204cc88676c14e0ff18171392e998411b23d905d4c4dceab70511f442\npublic = 87b43f90f76d12fb3a469fa8687c27e369d4a82f95cf95e8dc3970de8f86d92b\nresult = acceptable\nshared = 81c395aed5cc5f5e2a206a8a4cacecd501df5b81e49433835ad8a3779edffb30\nflags = Twist\n\n# tcId = 262\n# special case for D in multiplication by 4\nprivate = a8225b49ef7b7330e3de787cbc40479644db7ab126370295c94189673430d745\npublic = 86441ea06c5cd2a34c6b51261e93a2f30ea7db0f74e14c42f0fc443c6735973c\nresult = acceptable\nshared = 513eba5870dc5187e2552fe3ba8292b516d2af9ecb9a9bdc51eac2ce2de40112\nflags = Twist\n\n# tcId = 263\n# special case for D in multiplication by 4\nprivate = 0841e1a5c7420b94b6cc6991316ebdd608626339c09d0f67b24088588b9d0d49\npublic = 4624aa4ae9d12725bf92b85f93e3e8cea16b7bd83fda0eb18fab2dbe0e8bf742\nresult = acceptable\nshared = 983b7e236ffaddb4b759b7353fe87846f59fb6f28a3ed65c256176b6609b7c6e\nflags = Twist\n\n# tcId = 264\n# special case for D in multiplication by 4\nprivate = 08ecf76e31a23039ea8a15ee474b6251a9d725bff1a5751eb5ecde9d7d4e2f49\npublic = a625a5b7a04cea462d123b485c39ea44a8079aa223c59e9ca97abcd30b500e4b\nresult = valid\nshared = c941369b085c7465d50d23ceaf6717ab06e24638f217a7b8055ce8ebd3ca1225\n\n# tcId = 265\n# special case for D in multiplication by 4\nprivate = 6038fb0a830d1001ca8ea74a613ea98f6ab8512644e55e8d45a29071bd4bef45\npublic = 8a5f2063f259f3317ae3e0b459f82c4677666e49a2eb9bf0369aee663631265b\nresult = acceptable\nshared = a3f7e169db44d0d179c242e66347364ab92744dc6ad80e4775aef7f4ff9d5f34\nflags = Twist\n\n# tcId = 266\n# special case for D in multiplication by 4\nprivate = c04cf129f0b33332e2654f8e45225c042d7fa6cbc793c88bd4c731985289b045\npublic = 54cfb6ad0d03e3115acafee12606397f2bb46a8c5f326a255c494118aead3b62\nresult = acceptable\nshared = 401aabfbb73fe6694c446ecfffb43006427a9d4756e049a1ffc79578d62f1660\nflags = Twist\n\n# tcId = 267\n# special case for E in multiplication by 4\nprivate = 3806b036c92d7bc0771998d24dbda2945b601d42449bd3ec4bbf3757d01b894d\npublic = 0ee3bee8cb3a0afcec22fa2233706e8ec29ccf1af212c0a674745ebba34f9d08\nresult = valid\nshared = 20322dd024fb5a40f327cf7c00da203734c2a279b9666a9ff7d8527c927b675e\n\n# tcId = 268\n# special case for E in multiplication by 4\nprivate = 380d9056b5a2f4b3dffb30e6ceb722ac4684245f1befafb5661bc8c7a9ad4c43\npublic = 797ec7512afbf0ad918d0e4947903be95234f3abf36750a8f854888d117b774e\nresult = valid\nshared = 46152d59c2d2f3ecf03ce652d2b6978d401d5ede4570a6c911771bdcfb37cd41\n\n# tcId = 269\n# special case for E in multiplication by 4\nprivate = 384929a42c8d8df146db9508e2f21a4e8cd4d99c1b1338df17a457e88afb0043\npublic = d570c7810f69e502b355253afa7c667bfa5060d90dc86e358ab445f6381e415d\nresult = valid\nshared = 37567f7ec0449c7b823cf7b0e219e9dd880e56a1464d0417a9e67eff42332866\n\n# tcId = 270\n# special case for E in multiplication by 4\nprivate = 48a986825b2680e2f2547ba75a9599b04ed57f8ed18d98e7099c544efbdf284b\npublic = 2c611cb94448f1c7822425a4cf5356236b90a555b1ed4747820ba7f739c8f57d\nresult = valid\nshared = fbf6587ec181116cf1ace7dcd548029d69c130e50fcf6ad5dfcd25c23ee9f939\n\n# tcId = 271\n# special case for B in multiplication by 4\nprivate = 98452ad7df4e26bc4b3d403f9ebf72bb2d7b6b7d5860dbf6fb9a4f78dc02704a\npublic = e559c417da7fd5851352f508b90031d49b5d2d0aac88a9c8b5fb6e80165ac10b\nresult = acceptable\nshared = c7c6f6d7ce1e4f54c727e5900686c34e6a6953254bd470bbbf0c7c18bbddad73\nflags = Twist\n\n# tcId = 272\n# special case for B in multiplication by 4\nprivate = a8dbc9", + "be5034ed7fe7f469264f2135e9c67cd30f525570d2d841e4bdeac52349\npublic = 746d97e7774292a3d703f604e79d8764c99a6a2fe280eaa9811115f5e038f21a\nresult = acceptable\nshared = cf7d2a66ea4dfed94469b2d343533ff302a576f8402ed2187904437038e54665\nflags = Twist\n\n# tcId = 273\n# special case for B in multiplication by 4\nprivate = f8d26878dff25ced02d3b27ce74002695bb879b3c4328930934315ecae842b47\npublic = 1f354aa8ffc4eae2b40dad2ebf830db3feb07e2a1a2da39e55df87c8c613de1d\nresult = valid\nshared = b204d3bbcbdc624f9f1a743fa3daa8f4c8785ed088d37d08cd13c601170a461b\n\n# tcId = 274\n# special case for B in multiplication by 4\nprivate = d0f5e9c43c95b1ffc36f832b943601d5e17647f7d78e2e7710ace63ff274d447\npublic = 9c3f0023e1a4832586af2483bbec64ce9f06f3ea806d4019a5e4abb1b5627029\nresult = acceptable\nshared = b9f21465615f39dddcc37520ce9b956f7de9883ac93a870d74e388b8e1775463\nflags = Twist\n\n# tcId = 275\n# special case for B in multiplication by 4\nprivate = 700679e8c24df828f2e5212a3263d5e93ea61679988298bab3b480f46f961a48\npublic = d05656aa014d476022dfc55e8d3b4884ed0bdf85209be8b55351394d52be684b\nresult = valid\nshared = 20f1fc613874495f20562c10b7a8be47bfc12c168d829d6321aa2de17060e40d\n\n# tcId = 276\n# special case for B in multiplication by 4\nprivate = d0d077c9461f747e5660be85cc620428b4cefe805de0fd254adaa465ea5e784f\npublic = c4a19b8686e18c29359aa548427f06a368d55a8737483d4893523adac6795a4c\nresult = acceptable\nshared = 652b18ffd41cfb7d1f0b6dc79baa3b2a392ef1617f5cf6259b5b4ff065916a16\nflags = Twist\n\n# tcId = 277\n# special case for B in multiplication by 4\nprivate = 00711ac08ef88c3d43a3cbda67b6fe5f34f54723dbe6d725c8a3569070ab9a4e\npublic = 4989de79853ff35be8c9f92fc94674feef38a0e65788471c521f8e259adf015d\nresult = valid\nshared = 679825c259392d86f8edb15328d4faf52300779d979a503a76e27be3d7a85e03\n\n# tcId = 278\n# special case for B in multiplication by 4\nprivate = 989a75b40451139ec36ca6aa043765c61a18be323a5987fcb025c2dad8d4bd40\npublic = a981483cb0ea4385ffbb552826c3dd110d4ae89ff52ed0cd6018f99d3387987b\nresult = valid\nshared = 9cadc14ac153fa383ef66d1833f589100dff90523272e32b06e2c6f1f4424040\n\n# tcId = 279\n# special case for BB in multiplication by 4\nprivate = 90c3cfedd919a2ccd51fb455649e3ad2da1ef0ff619b59a7f9c55a68a8219645\npublic = 1df3dfdab74ff38177dac294b2da2f49a348bc3b3bc6ce9312bea5ef3ecdd30b\nresult = acceptable\nshared = bcc95fb4890ed311f3fb4f44c2b60866cdddec97db820a7f79f475337e16284a\nflags = Twist\n\n# tcId = 280\n# special case for BB in multiplication by 4\nprivate = e8fef5c9b60f84984e8836d535acb372096ba8159824a0b49a17eccda843bd41\npublic = fc6b718ba8b47d24b1cfd6b5d0dd8b20fd920960fabc302dbe4f93bd2a06e933\nresult = valid\nshared = 06f1b495b04a0010845c9d39b13bf2784ade860d9632c8847618c0b34297c249\n\n# tcId = 281\n# special case for BB in multiplication by 4\nprivate = c0e05bde7727db4e352b5e7f035327b4d86a42d513ca116e22d64a4ede56434a\npublic = b279b6c065f95c7040f148bcb4a3d310e34bdb005931a879be469573deedd041\nresult = acceptable\nshared = cce7bb644df94501421db49d15e821c7b0aaabecdf8837ab989b1f23bac08f35\nflags = Twist\n\n# tcId = 282\n# special case for BB in multiplication by 4\nprivate = d87308bf753573f596ac8330b204014b2152dbdfc9881a0d9975058582bdf646\npublic = 98e2cd4c10554e41b0a3e41082c8b6b61b55447d26c0aa97f9a06baeeb54b55b\nresult = valid\nshared = 71fdd3405c30805701ae4dfad98c493aecfcf2e3b563e7068373c1b19137c268\n\n# tcId = 283\n# special case for BB in multiplication by 4\nprivate = d80059a8a387e16f6ded6e7e980e806d1f78b470bb61103d0ca70623ccee8b4f\npublic = 872897f1bd1885da08b9d03e46811044fbb04186ba30c806f38b94ebdc27186a\nresult = acceptable\nshared = bf280aeecb74ab34e1310aa6fe8dc972f94dc40c7f88b72137ccfe34ed343c13\nflags = Twist\n\n# tcId = 284\n# special case for x_2 in multiplication by 4\nprivate = b0a4fe63515169bd82639b515ff7e5c4ac85bba0a53bbaca80477eb3b4250d44\npublic = c08f72760d9cb4a542aad6e2af777920c44563bd90356168c3608c6b9af2ef0f\nresult = acceptable\nshared = 72566a91ccd2bcf38cf639e4a5fcb296f0b67de192c6091242a62fae467fb635\nflags = Twist\n\n# tcId = 285\n# special case for x_2 in multiplication by 4\nprivate = 984256b12ef154ff6c2e1d030826164cba3614e3df7688d82b59e16201c9114d\npublic = 4f03849c24d584534d74302220cfdc90e1bc360bb5e297c0fd0fd5f8d799e416\nresult = valid\nshared = 24acb4afa63919621df795206c3929b599ec9d253693895d51a0555072e89a34\n\n# tcId = 286\n# special case for x_2 in multiplication by 4\nprivate = 6847141d5d4377af96a2a647c642ee81600fe48d3467e3a70f3ee312bb621742\npublic = 4959771a931e242d5713d5cb76f33310c6a283df16645604289553809cda6518\nresult = acceptable\nshared = 5ba2112a41b5bb381f202446fa9f23c54d2de149f9ad233753417263840ea432\nflags = Twist\n\n# tcId = 287\n# special case for x_2 in multiplication by 4\nprivate = e85f1164e2ab6faf62667c74b03ce529b49a0e2041b1ac0fa242e522d2b7694c\npublic = f6fe690cf547049635bb3a7785537b4379c9ee06b46120493b8bdb152e09c81d\nresult = acceptable\nshared = a87c9fdf40c409b9edab481b2cc69687ee1ab92e340c3db0107d40b5de6e7a20\nflags = Twist\n\n# tcId = 288\n# special case for x_2 in multiplication by 4\nprivate = 281e1bbfa711de69921a64c5d2183c338db5504606ce2b6b4ce1cdd54b41e14a\npublic = b468681a1275850c11d37ec736af939a75a7098514e04cfc1c6ca78239a88426\nresult = acceptable\nshared = 3be98798f01e71639f3cb8fd4a17bf273e10c67f8974dd9802eed59d847d4020\nflags = Twist\n\n# tcId = 289\n# special case for x_2 in multiplication by 4\nprivate = 20aacf1902b3cd609d7ee15cc96453cc22e2899d7d17852680f2a728bac6dc4a\npublic = 2d71e8457099e3f445f9e2a14f18b0f5914bb35f482f9c069b64bf63710d4228\nresult = valid\nshared = 338c9917dbf11a0cabe8ad4a65959229bc00f99c211e752b20b8b49b87756d0b\n\n# tcId = 290\n# special case for x_2 in multiplication by 4\nprivate = 009e8e9fa993804dce94cecb96b1de2568245a97059e4d7ae116ecdb1badd141\npublic = fa8f24e944de5d003746d4630350c0f4f6175a3269c19184824105398fbdd329\nresult = acceptable\nshared = 56e2bfc7f6ab7da8fc734afc515e57d0794d002434f9bc8e18bd0b72c0df3c4a\nflags = Twist\n\n# tcId = 291\n# special case for x_2 in multiplication by 4\nprivate = f01574643f231ffac055bd235ee74dd416b94c8e55a2ab2b4d13a8b788d90148\npublic = ae4e37ef53c79e25e8275a60f2fc1dfc277ebc5d3b88428c6432c3f98494212c\nresult = acceptable\nshared = 17fa1276d9fd5025172736449a1c0ae33512e5037014a18db5903e47bb3bc950\nflags = Twist\n\n# tcId = 292\n# special case for x_2 in multiplication by 4\nprivate = 3800a42659954281ca266d7cf1ea9db6d79891a406a70f9e84c3570a6a12d24e\npublic = 95e56a830792478f7c42504043a9cab8e2eebff5fd90983709e29e03c0a41b64\nresult = valid\nshared = 167a3b2fdce9413c89ee892daf9f839a2eea80ea8044924035db1724a5b0217c\n\n# tcId = 293\n# special case for x_2 in multiplication by 4\nprivate = 70a826b186962218dbafca113319daefb5ddf3cf14e15fe3faadc4c0a2e46648\npublic = 5f16aa7ccabf4da6b686bd28c7460e106bb1b97a823792527765c29a9ad8fc71\nresult = acceptable\nshared = 30a4ba793f2dffe1700c61428b4d84b5fcd0aa99a23b903f84a48eca5cc9fb0a\nflags = Twist\n\n# tcId = 294\n# special case for DA + CB in multiplication by 4\nprivate = a85a5eda0a269500b3ab0b58495fc254c2691028ac533494b5f86d44e9dc654c\npublic = 47fb78111805a11982a3d6c5d83e8e189e7fcc462c9abf805d3625be7a6eac11\nresult = valid\nshared = 2bf9ab750bd58ff6f877b783eda45a71a65cc9b7c037fcfef4cb5f4c8842f529\n\n# tcId = 295\n# special case for DA + CB in multiplication by 4\nprivate = 183f28ec867624ef5eca4827ed0714a5525ef21d5e35038b24d307a3391a2846\npublic = 03b8ca5efd1777d6d625a945db52b81f11214daf015d09fdc9df7d47b9850e31\nresult = valid\nshared = 35e9289234bd5e531da65d161a065a14f785076088d741c9a2d886efd7d17921\n\n# tcId = 296\n# special case for DA + CB in multiplication by 4\nprivate = 888c6444ff5eb482b2b10bd4e8a01bdccb65f32934d8026106f16a91349f484c\npublic = 4eca5f8731b0fa0c106acf578b83a350fa8173a290f1eba803956de34eeb7671\nresult = acceptable\nshared = 833afb867054b8b9ac70d6013c163e8b7676fd45ae49a1325f3acb75975d8c13\nflags = Twist\n\n# tcId = 297\n# special case for A in multiplication by 4\nprivate = c8a85d140ba150f5c6a8d3cb363bcbcb75365e51c61640e974a0725b5e9d5940\npublic = a5562b4ba86b464dff4c2cfae85b384be211771efe8a9697e51d84de47f1eb14\nresult = valid\nshared = 8a914760129575c8ab3270d04b0465fc2f327acaf1676463113803bbb2ec8021\n\n# tcId = 298\n# special case for A in multiplication by 4\nprivate = 90a3aeb1417c3d61c1efef1ac052218fb55d3a59c4fe930b5a33cc5183b48547\npublic = 88ae1631cd08ab54c24a31e1fec860391fe29bc50db23eb66709362ec4264929\nresult = acceptable\nshared = c1988b6e1f020151ec913b4fb", + "2695bae2c21cc553d0f91cf0c668623a3e5a43d\nflags = Twist\n\n# tcId = 299\n# special case for A in multiplication by 4\nprivate = b858d7414bd9ab9a3ebea79064ab87bc050e74407f4d4748f62fa4d9d203b640\npublic = cbc4d55d5bfddd0bc5c5edbe3a04836b2c701d25195b26221cbea19311e55a3d\nresult = valid\nshared = bb24817bd9fff423dc0972908e2c03fddf4dbe100016b459f28fe9594adb3714\n\n# tcId = 300\n# special case for A in multiplication by 4\nprivate = f825edf1f79eddd715a72b3ac267d6b2e97e18bb13bcafdac5940370b85ba64b\npublic = d66a2f9f7577e2df4a56cb51962b3056ff5cc0494c60f39511782e79923edd41\nresult = acceptable\nshared = b3b4513f8a3102e1ae782fbc69888177f2c24c569303a5d01ab1c3c5e285524a\nflags = Twist\n\n# tcId = 301\n# special case for DA - CB in multiplication by 4\nprivate = b0a710b470e324bb56a7d8ff8788d05eb327616129b84972482425ea4ad4f34b\npublic = de0fed2fab6e01492675bc75cbe45d7b45b0306cec8dc67611699811c9aaef16\nresult = valid\nshared = 471ba91a99634f9acf34fd7fd58f72682be97ee1c821486d62ba4e448cbc0417\n\n# tcId = 302\n# special case for DA - CB in multiplication by 4\nprivate = b898f0329794747d33269a3989b67e43a7ab5a55fa1210b0e5dba193f4fa094e\npublic = 6418d49fe440a755c9ff1a3582d35dc9b44c818498f15782c95284fe868a914c\nresult = acceptable\nshared = cdb3ca02d5fdb536dbc7395bab12bdcfd55b1ae771a4176dedb55eb4d755c752\nflags = Twist\n\n# tcId = 303\n# special case for DA - CB in multiplication by 4\nprivate = a0528ed9a8ec22ebe9cc2e32fafc3f467500a9a22f5377382df6604edcdf4f44\npublic = a89bcfa236bbccf07c434b59f8655fb085b6cbe5ed6376281df813afba22b752\nresult = valid\nshared = cd3245403fd9edfcf91c9581ebb2eb7c77ad6837fca372479e78de9faf60a34a\n\n# tcId = 304\n# special case for DA - CB in multiplication by 4\nprivate = f06888bde75d689d056874f6436000497d22d8ad9b95a1c67de1dda4ada3164d\npublic = cdb1f95f6eacc24b6d029c6ed976666dc51794db8e4aa966ba850fd7f5048965\nresult = valid\nshared = ab7c47ecb0c0167156f44f66a527264b958fc992c21ce98cef3ae214d66bd82d\n\n# tcId = 305\n# special case for DA - CB in multiplication by 4\nprivate = e034fcaa3ae40603f9b22af159fd67ef009380946de92cb1d83cc489e8b35041\npublic = 9491a82744f1cb6105b76b0442e54e605ac67f47a1b2b3b552d486f75bd98e6a\nresult = valid\nshared = 1bfa264a7c7229147a20dd021211891e61f5d8c76cd83f0be24bc70e466a815b\n\n# tcId = 306\n# special case for C in multiplication by 4\nprivate = 702a7448c0ed58e1f4e0e332d096a36360beca2f6955c815bc120b3a691d7742\npublic = 4d19e156e084fe582a0eb79b2f12b61d0b03f3f229227e798a933eea5a1b6129\nresult = acceptable\nshared = c46057fcf63088b3a80e0be5ce24c8026dfadd341b5d8215b8afcb2a5a02bb2b\nflags = Twist\n\n# tcId = 307\n# special case for C in multiplication by 4\nprivate = 50025cb508ad4faa06fafd0f4a33b747ccf1b3573885d3426500d51b56300144\npublic = cc4729c4eae292e431ec3a5cf5020e19f9bea50ef3218d9a790034526c3ee14a\nresult = acceptable\nshared = d4361e26127adfbe37c2ed8f42cce4ebab8ab74ed9e74f14c3435d612c1a992a\nflags = Twist\n\n# tcId = 308\n# special case for C in multiplication by 4\nprivate = 7082fc53299a4d30e5d0c383c035935b1eeebd9408fe4d04b93eec24be52eb47\npublic = 4a474249af8f771f0cfb1116f24fda4c42f4136d2afb766d1b291c73c6668d5a\nresult = valid\nshared = 80dfae7a28bb13d9e51ff199267cec2a19dfc8b6f4974e3446b2f62fe9b62470\n\n# tcId = 309\n# special case for C in multiplication by 4\nprivate = 98ff7e711d65cc7fd9d0ac12dfe8b894e0a93602ca9e75bf0eabbf0bfe670148\npublic = 0f2a5cbbe503139531ac0529183da8e624d25286f6e35d1407ab1f4d76ebc260\nresult = valid\nshared = 7a5c373065e339b26ee537cff1cf4597cfcb4bf2dc7c4bcfec9884443281c273\n\n# tcId = 310\n# special case for z_2 in multiplication by 4\nprivate = b080f4ac1e758bbfbfa888a78cb8d624d97b8688002b2017e35f52f3d7c79649\npublic = 2fe11d723dba63559e1b96147893cb7ec862711806316daa86cd4da769d4b22d\nresult = valid\nshared = c5edcc5d447071c08dfa8281414ae6a02de753e2f7bb80af5f6253e56db43422\n\n# tcId = 311\n# special case for z_2 in multiplication by 4\nprivate = e815bf9a967e1208af8e74ce9af6d113dab17c01c90f1ae2bc25e3e2f9e3a44a\npublic = 98e1211dcf6651fa9f2d00eb083ae5855869a2a53e835f2e03b30c0a19ba8051\nresult = valid\nshared = 263a38fe538b50e8e988bf07ae86f33d49886b14c7143efd1d2025c840e36a25\n\n# tcId = 312\n# special case for z_2 in multiplication by 4\nprivate = 4051b01cdf90af38f0a96ffb83f8d4133abe4fb035b6fe6f65276447caa7314f\npublic = 2f1b938b81a4c90e1251135ad7fabe835f6a8bc5e22d4b2ab119f6f677877677\nresult = valid\nshared = 340acf2801de71c18f4c79cfea372bc354e4c8a5eb5c2cce8b45d885df162f45\n\n# tcId = 313\n# special case for CB in multiplication by 4\nprivate = 98c092363184e58ad6ce510bd32b309c9d5a46f8d9ee6f64a69d8180bbc6cb45\npublic = 340b9f613550d14e3c6256caf029b31cad3fe6db588294e2d3af37605a68d837\nresult = acceptable\nshared = 9efe5cd71102d899a333a45ea6d2c089604b926db8c2645ce5ff21492f27a314\nflags = Twist\n\n# tcId = 314\n# special case for CB in multiplication by 4\nprivate = 686e51c00116d1c191aa9d5823b96e5956102e8fe75f5cf2376d99989f6f4342\npublic = edfbd6f09aa32435440b0ca8ba436308319613f8f2d501133c526c3ff55c7b3d\nresult = acceptable\nshared = 196182095bcd2ef46b18f64c63607e0ab162a0869e6265ac8ae35e358c3d8a63\nflags = Twist\n\n# tcId = 315\n# special case for CB in multiplication by 4\nprivate = 208af2c9442b36b521fc3a1ecefe342aac308bd6e6296ee091c196dc02e7ae40\npublic = 9b0538cd618b0a4de09e45420f84d54d74514fbb1a31c1a4aa1e93306f20723f\nresult = acceptable\nshared = a3c6b75168211e8e0a49ca815bfe3f469f29864dc8166152b456e7074afa9b5b\nflags = Twist\n\n# tcId = 316\n# special case for CB in multiplication by 4\nprivate = c0d861a6d5ff91f91e3bd05934161ff0ab0f3ce7e4a2b5b4fcb31ae34b46664f\npublic = ae8cf2fcdde710c2c1184524bc32430874dfa08c125f61d6919daf8e66db415a\nresult = valid\nshared = deaae6c9952844a3a1d01688e7105b0bbeadc160763c2002b6d0bcf35c22d123\n\n# tcId = 317\n# special case for AA in multiplication by 4\nprivate = 70785cad160972b711318659b47b574f6941ef6da1ea06508b2650f57ec9e54a\npublic = 2a59f478402d2829cd3b62e9f7cc01445e8e73a42cb11af00b6b9a9f0e44cb3b\nresult = valid\nshared = c204bd15f01a11a2efdabe2e902b7cd0aa079316f60e911b3ee5d46262e98631\n\n# tcId = 318\n# special case for AA in multiplication by 4\nprivate = 60afc8eb1f87df4b55287f3c4698c5f8b997b28a73c573fc273e9c467fb7e44c\npublic = 836c8e45dd890e658c33e69b6f578a5a774c48b435bc3b91ac693df94a055857\nresult = acceptable\nshared = c5457487e90932f57b94af2e8750403e09c9ac727e2bd213590462b6937b0753\nflags = Twist\n\n# tcId = 319\n# special case for AA in multiplication by 4\nprivate = a83c11b2834136b9aaf0152d90e76e3c27177693a2834e8beda0a3571bce6947\npublic = 59519ead7995a6df89bb54c840d61a8481881098b8a4f83c6a2f6ba800338257\nresult = valid\nshared = 4ed6f8d62932541c6bea16e03835f1f758a5c41722b5c9989c9c7cc08e34e37b\n\n# tcId = 320\n# special case for AA in multiplication by 4\nprivate = b80d8795735806579e71759894939d758853592127efe84fc82eb7cdee45014f\npublic = 32f34da84ab4bfca369c4b884691becf54be7fbed16449dc86969da7ea9abf62\nresult = acceptable\nshared = 521a5b8149a132d155e6b4ed113900506cfc2f76d2a3e14196d69eb85db3c952\nflags = Twist\n\n# tcId = 321\n# special case for AA in multiplication by 4\nprivate = e08ffa45efbe1f96584c76254554adb9177b58ed09609a6ce499e5bd22d35c45\npublic = 82ae48dcf59bc5e469f9a11b18a32d4753ac818692dfae27d675411a2272b363\nresult = valid\nshared = e831d6cee95ca1b4c96bb89457562fff36cb4d08b81da89b810b425ecdbafd78\n\n# tcId = 322\n# special case for AA in multiplication by 4\nprivate = 688e1bbb5114f34e8531c278b2d9714ba07c32a7aea6e627135bd1fc65238045\npublic = b33bd3ad14b66896f971cbdf27785fc3aa3cfb39adc6c29257d22ea4df8cbf63\nresult = valid\nshared = 350e3ab9d0dbff78f3f2157428beba189333be274827c10d59673f21c0c48a24\n\n# tcId = 323\n# special case for AA in multiplication by 4\nprivate = 8036a4e2e93e9ed82d99d71a522aac9289bd9905fe41d01d08a499376a258442\npublic = 18e58df6bfbe184b0e3c7c4bf2a051ed055b793501c0d4fc47bc8a95c4deec7c\nresult = acceptable\nshared = ade71d6460287fe808e947560e67a9d6ff2f96eaa1355d2e9fbbe549e883381b\nflags = Twist\n\n# tcId = 324\n# special case for DA in multiplication by 4\nprivate = 901b20f0cda74076c3d4bf4e02653cd406ed480c355159e22ca44b984f10764f\npublic = 772e31e776e8d4f23b7af2037af28a37e68f61e740b3904f4ec4c90157be1478\nresult = valid\nshared = 91a9bec28cf18c7094e2d80d2764df59ada0cb1946be422864bd7ad0e533b663\n\n# tcId = 325\n# special case for z_2 in multiplication by 5\nprivate = d83eb7affd1bcc1ec0b4823cee5cf0b15b5f57085aa2708ed437a2925329b550\npublic = a8d55d5c1137e9bb626557f9d6eea8d3120e9364f8bcd9b67934260b1a09", + "1801\nresult = valid\nshared = 6c1b8e240edfa5db2abb3dc12bcf9e8ac9ca10dd3507083746f6f36dc035d755\n\n# tcId = 326\n# special case for z_2 in multiplication by 5\nprivate = 989eee317b9c254dc023f9e35eff0224bc2e0bc871996b946a96970e7506a85e\npublic = 33c94be58b0f0e6cf363e1b12a2ebfb93040715be91518f21df2953eeab5fb01\nresult = acceptable\nshared = d4c3b3467714f2d105904a84cc7e81d7f291304e908041682d8906a683c12125\nflags = Twist\n\n# tcId = 327\n# special case for z_2 in multiplication by 5\nprivate = b8355455d358f2dd7c5707b2c6973c9c27b99e7d8ac1650c791e5fdbcbea4957\npublic = a218ae9624b07ce05178b9d0cc1b71dee21f27852a2ceb18610b4052b244f00f\nresult = acceptable\nshared = 1ebe6ca711a649ae487b332747e3dc0306340560cab6bc6029e44f6a7e0ee41c\nflags = Twist\n\n# tcId = 328\n# special case for z_2 in multiplication by 5\nprivate = 8065567ef082b16c20853487f54893012ba4762224e5c59f250dfbf82581e85a\npublic = d7067faeafd3e966e57525f930b3317c9e8b9c9a9ae946e76c1e4602a59a7e33\nresult = acceptable\nshared = 03e7a777e648bdc612189f3cd42d34e35736d3e52e6edc8ac873a58e244a6073\nflags = Twist\n\n# tcId = 329\n# special case for z_2 in multiplication by 5\nprivate = 00b51448139a61fe6c5fbf9395877d53d820ef59da3be856458b5eb90985ba53\npublic = 8df9682cbe8802478a8531377e752cdde54738d528d639bea9eaf47702f8bf3b\nresult = acceptable\nshared = 308ef99dae1064a444fa90775b5dd5b1952d7224a0e5ae031df432640f416208\nflags = Twist\n\n# tcId = 330\n# special case for z_2 in multiplication by 5\nprivate = e8eb9f6f62f93dbc325b833aa763a90f13f0acb2c2c4b8b33decd471ce70c45f\npublic = 7d92706868aa09538638d633c255f333b9da03bc74b49b35941c57820cd3fd47\nresult = valid\nshared = f33e2e86443a2c68823b72a2b59d6a028e0a8e283cfe29fea4f7aa22bd1afe72\n\n# tcId = 331\n# special case for E in multiplication by 5\nprivate = 68a1a7ccc50bab4b01e55e18cbd464aff43131fb0741e68d53cdebfc54f33051\npublic = dfb1ffc176aff84db30182d2378f83728f83dd1b33d79856f3da5459cf9df907\nresult = valid\nshared = 7b535fc31c6c2a3803d8bd45410a1781bd90a09205da28c9df120df23a9fa32d\n\n# tcId = 332\n# special case for E in multiplication by 5\nprivate = e075bcfc165a471b2f76c3003fb0172c82f707137de2fa7082e43a87a255935c\npublic = 12e81e838b21eac96dc130432571216d7a9b4a817f1938721d2267dd150ebf20\nresult = valid\nshared = ca23a781da0911e4115a29a9f56447157c23bee187b0c17369c4f7730d781718\n\n# tcId = 333\n# special case for E in multiplication by 5\nprivate = c0e19634dbf6460e1486930c46e8556b3c16d6de959904600549bb3e08603455\npublic = 832a46aec02240d716fe22dea94ad566a3fafbeedcce35c83e41e58076c99749\nresult = acceptable\nshared = cd0686b32ea4cddb8e13ff20a78d380749a5d4f6a3dc55d72f4813d949a0ea57\nflags = Twist\n\n# tcId = 334\n# special case for E in multiplication by 5\nprivate = b84caa18acc3db37225d32cab4f60e6fba4acab1277e20425d30f94cab2e2c55\npublic = 8c8033432bcc12d479f67d6d876b1c8e89f16a234b9b093322effa9dee94554d\nresult = valid\nshared = a950aa57bb2beb9ed5d3228c7ef448dab69552f3d3b1e466accf41bfb6d5b874\n\n# tcId = 335\n# special case for E in multiplication by 5\nprivate = 2896818cddf572521943e9f0c5e845f530b740427588a0f6de2504bd5bf40c53\npublic = 6df799bba6cdf5f46a57ab227f93fba491dad296a2fdb7e491921d610cce8f5e\nresult = acceptable\nshared = 54f5ae57e676d08c8f8a3cf891e36ddaab751093f92f409060c57e745941700e\nflags = Twist\n\n# tcId = 336\n# special case for AA in multiplication by 5\nprivate = a01f0cad98cf2905b812d3530531bb3ac899391abd1eaf4a3ebed96ac6126f58\npublic = 0c8090e1cfe7f761cfdf08d944d4aeb7a509a07a6101645b9a4c7c9e9c3d4609\nresult = valid\nshared = 2d49b09f81f3f6fab2c67e32f1bcead2ad09ac9e0d642b0873becfb64de2ab23\n\n# tcId = 337\n# special case for AA in multiplication by 5\nprivate = 106b36344cc4a5a389d8168137786806ff03cd4a00f8636bb7e758d456151d59\npublic = 08352936c8afd8543ac95f24bce9a07e3e3235763ea512a584298967b83c070a\nresult = valid\nshared = a199368e683c3036a48f4c5f32b32a547dd39f3d1007ca0a0bebcad0a8ac6f5c\n\n# tcId = 338\n# special case for AA in multiplication by 5\nprivate = 88f9a0d2354adfcbab2d12a0e09b3c7719c944384edfbaa27fe0731cb9c6fc5a\npublic = 73bdeef8cc044f5ad8d6a241273e1995e0007dc9e6579046df86aa6cd97f5d2a\nresult = acceptable\nshared = 5aa750de4207869ec7fddab34c639559b1eb27ef244aaf2a702c84963b6d6e7c\nflags = Twist\n\n# tcId = 339\n# special case for AA in multiplication by 5\nprivate = 0811f2e560a205e96e28bc312bcad45fe8befefb7f6da5faa035311eed80b251\npublic = 7fdd399b6ef4a3f5cade62e74113b29c27db15203f9b8e398d2c6f230051cd2b\nresult = valid\nshared = a6947ee089ff28ce3644ea4c6eb33dbb20c7974fb8d853f4e146e2466177502d\n\n# tcId = 340\n# special case for DA - CB in multiplication by 5\nprivate = 40ad984066a69080fb4a315878e736096cc577dae4c42c40d893d8c2173b785a\npublic = f0173a96273c646fb63d13b0c686b89e37676fcc7178faf4a6f4601f3068150d\nresult = valid\nshared = 230b6aa1f24df90a60839179ba5e9de673cff11cab59e8020b20626c22090b0a\n\n# tcId = 341\n# special case for DA - CB in multiplication by 5\nprivate = 48b10cd45639bbbf83a0b28f0dd3ad0b7b00caf48d05534480556a8278116d59\npublic = 255bbe7230cd2bee90d283f418a474ab30146ce5e801a0f5ed60ee8def3e6558\nresult = valid\nshared = 2299e384958bedd2c3d367759155136d1ff76e4434dc1d9e8212cdca52ea8421\n\n# tcId = 342\n# special case for DA - CB in multiplication by 5\nprivate = e8fad77946e0de4cf4236798490b838948b82cfb29f8e7686001b11e8d961657\npublic = 21accf97b7fee173001ccfcab21637c175ef5186ff0002502b3d52fa8c51e766\nresult = valid\nshared = 97fca065acd3b943c654997c0f125767f9abc4b7c9d8b7246942f12be65d9231\n\n# tcId = 343\n# special case for BB in multiplication by 5\nprivate = d07babed90b27c4eacafdc871703bd036b720a82b5c094dceb4749eeaeb81052\npublic = 5b40777e80ff6efe378b5e81959ccdcbb4ca04b9d77edc6b3006deb99926fa22\nresult = valid\nshared = f482531e523d058d6e3fe3a427fc40dbce6dd6f18defbc097bfd7d0cdd2f710d\n\n# tcId = 344\n# special case for BB in multiplication by 5\nprivate = 68a3049aef8c069b906cf743286d3952a888bf2b9b93bc8775fb5adde06e9f53\npublic = 48d952a2924ff167f037707469ec715da72bb65f49aaf4dce7ec5a17039ddb42\nresult = acceptable\nshared = de88af905d37417d8331105345dabaab9fd2d3cb1ee902911c1c8eae2991d911\nflags = Twist\n\n# tcId = 345\n# special case for BB in multiplication by 5\nprivate = 18d8c3d2a4e366185a85c38698d937e13bbbafdbdab1a0a83dbbe89badf70756\npublic = a5ef265ccbc5c54021d34f82364a4624030f5b9d5ff7e63d7a379e533de5e742\nresult = valid\nshared = 075d18ccc984761b70752279e7f6a757208f6c11e29480c32b40aba128a4d52b\n\n# tcId = 346\n# special case for x_2 in multiplication by 5\nprivate = 18efcd5fe345be4985316695391d2c952eee13b0e1ee7584721fbe8b19d4fc5f\npublic = 9051e55a4050ef4dce0b0c40811f16371e8b16932541da37f069406d848ea424\nresult = acceptable\nshared = 212dbf9bc89b6873a60dfc8731a10be11ab2dca4b172142e6c9f06614cd72852\nflags = Twist\n\n# tcId = 347\n# special case for x_2 in multiplication by 5\nprivate = 28ec7c693e222c72ac0815f1fd36661357e0a8da7bc996daeeeafcd21c013451\npublic = 419adb8b1f2f87de016b0c78d1029a210492eb8cadd164b12cd65b1d57bf3634\nresult = valid\nshared = 379f9221abebf3582681a0e857f3da578a1b0121982b96f14b94de5dc8b24528\n\n# tcId = 348\n# special case for x_2 in multiplication by 5\nprivate = 78b35e7ae549308b6414bb610196c04f2af79d4266c86e8a9ce0c02bbdb88d59\npublic = 13e00dae3b1ccc97ccd649088c4a7f32ca9976214d645667bd082039bbd9ab7a\nresult = valid\nshared = cff2596b7afe36f4cab9c70133d7aa0f9914f9abc6c3b9895472e2a5894a8037\n\n# tcId = 349\n# special case for C in multiplication by 6\nprivate = f0de9c5f8a9372f30c41ca47a55743ce697d46e32e7a9ae26d32503fd5222767\npublic = 441c487a48f0a4989d931cd77a6142a0a13d1aabad82623ba8d94b5c374f4f08\nresult = valid\nshared = d47c46b4329bedcbc1986b3c6d2aa9bcd027d6b68925175d35bbb536b3440801\n\n# tcId = 350\n# special case for C in multiplication by 6\nprivate = 686be5a12b310420f9bfb209381fd459a5ccd55c752b88337ebe89e1921ae765\npublic = 0e67ee5c6b65aa802259810b2605f8d7accf9b49bf14cb4a536928e883172915\nresult = acceptable\nshared = 1d730158da880533dbf1e6c64a8e99f9169611660969b0a84fb42dd8dc2efa3d\nflags = Twist\n\n# tcId = 351\n# special case for C in multiplication by 6\nprivate = a0c0337c5bec5ca24dea2f1d701498ae2bad87b8269ac23be113929fe4eb1963\npublic = dc9d7ef1cb49c191e258663a94e731b9c066c11a17d8b5fdea1987f5d9a00568\nresult = valid\nshared = 07732529a628badeb8d74946775ba457c700bf8390f46bc523fb64e471c86a7e\n\n# tcId = 352\n# special case for C in multiplication by 6\nprivate = b8824cfce5550b5e17b12f74e28459cab34eb49895cc36bf645a0cf00e3d2d67\npublic = 556b3ee7cd0d37979056ecc1f56a5", + "677a4935be6e49ce28e394f8bfb73d13b6a\nresult = valid\nshared = 9e3aae35fa1cc80a359878e212180294ff6608dcb4929e91901abbf976f39c16\n\n# tcId = 353\n# special case for C in multiplication by 6\nprivate = e02dba7335af8fb9168de2fcd310c2e2df4a3e25263e0ab9ada87bfb8258a66b\npublic = 1211be5809605b54f5727d233c783a2a199a3db24ed4499d7b48c7603e4ad371\nresult = valid\nshared = 880f6dc73220307a597670f3282fc366aa66f04a0a9ca30d895fdde337afe825\n\n# tcId = 354\n# special case for CB in multiplication by 6\nprivate = 30ce71f856ceb874fe580039ca67e896e6d08207a73cd55db7059127c1342b67\npublic = 505e7851e2352e311ca9536a1fe6c0d95d648197374ce08e4b8a0fbddf62910b\nresult = valid\nshared = ea62b0eda2d7b249a42417675a2b82b1e6c0d69a4e7cef336448844d2f432251\n\n# tcId = 355\n# special case for CB in multiplication by 6\nprivate = e881f46d4141ea69a671649b93b63e97dc67c12521d445862f087b2626fa2b6f\npublic = ddf4e90503dd82610c3a034b925a880b72dbde30c626009202b358c6eb00f418\nresult = valid\nshared = 302c4f83b5c5bf30c1e3afd9f643f65bfe56ca1628ee042b1ab7393bafe36c06\n\n# tcId = 356\n# special case for CB in multiplication by 6\nprivate = e879752683cd73a834251c65749135e06eb9064d3ae35095d88cde14a02ba366\npublic = 0e9c4431999ef1ce177e900d37ec6ae665e387e2d4fa27cba8e7baebc65c6520\nresult = acceptable\nshared = 8ff2ac65c85ee2fe9452fce460f8c87f9570d769cadddc87fe93ef8b7657c726\nflags = Twist\n\n# tcId = 357\n# special case for CB in multiplication by 6\nprivate = 20576ab456da26c18da5fbf06ec4d16564e111bfae2a92b9f6e1927c15770a62\npublic = 5761d6c08624104d4117ff17c75e9211a591c9ca9aecca3a665a7ed844195225\nresult = acceptable\nshared = 97c91a23c3e4f3ff727d188a352b67ad490b62381566fb3e111cb67aa9e3435c\nflags = Twist\n\n# tcId = 358\n# special case for CB in multiplication by 6\nprivate = a8467418b924c2c003c56e1610a35469356360c29d52aa557a2bb30fb8a9a464\npublic = e92d45b3ec56531266303c5113c46310c41650001065b4d87b02b382fc82662e\nresult = valid\nshared = 24346bb133dd9ae3ff02d2f50510b3a92d9030834d60e5af08b0eebbf1d4dd6f\n\n# tcId = 359\n# special case for CB in multiplication by 6\nprivate = f0f5e162923d7c299388bed781199417ade097475515162d9590976a196fb16f\npublic = f38b63459d05e422ad024c2dcea5029a0a7a6b6c4c1d2093ce556aab331e2540\nresult = valid\nshared = b3453c9c82a2d1d956156de2399cb70dd4e1ec53aea967e035753c1cdae13c39\n\n# tcId = 360\n# special case for CB in multiplication by 6\nprivate = 608fcf787fe789644a09bcab958f0737aa81a9e29d505f51035c78e374b9e46b\npublic = a7ded0eea45a400b8f5637154d42974aa98c92962314d822ef88b01383a9da4d\nresult = valid\nshared = ebeb0c7b7a4165cd02a278f3a222c236eed83266b806d13494c1c3f98a2f3425\n\n# tcId = 361\n# special case for CB in multiplication by 6\nprivate = 58a3396d291eb23571b52d98a31549e514e501e8d0958ad9f25fe5a76c503e69\npublic = 7b0ecb4c72ee147789d74813ced3ebe40f45c3da526ed1272952e453e43b796d\nresult = valid\nshared = 9213a53f22ff0cb5eca87b27b193c773bfdf4c01a193a11f37c157474e15cb07\n\n# tcId = 362\n# special case for x_2 in multiplication by 6\nprivate = d805a7014755dd656f98d2b331f2d2d4912725ef3d03752f26f74dc1ad61666a\npublic = a244413ddc3a205d038d64266833eea1efba51ba62c9c6cdcdbe943be52bb00c\nresult = acceptable\nshared = 66484a4120e0eb0c7e0505e1d2c5d15de9b52b72e094c9bac88634200c557267\nflags = Twist\n\n# tcId = 363\n# special case for x_2 in multiplication by 6\nprivate = 40cb1fe06b08f068f7080ba07c695eda91a2bebeadd4db95c97dd7c91af2566d\npublic = ec3c8b0c10b1fa65dbbd17cf1ba5f86381284765709b07c5f0428e3d5bcd3920\nresult = valid\nshared = 384f2221618e71d456b1551651efdb708a161d7f89f5604b27eb872d4aa93276\n\n# tcId = 364\n# special case for x_2 in multiplication by 6\nprivate = 8021464c64c9d6d3c0c852f6972d11969b04c9e066562fa7f0d5fa0d98ebad62\npublic = 6330d3e28a8b6126ace165a9dfccc6e4bd40dbc9768cfb16330cb7f27f906230\nresult = acceptable\nshared = 8daf5f4b84730144ea8a53ce39cc907e39a89ed09f0202e7be0d3bda38da663b\nflags = Twist\n\n# tcId = 365\n# special case for x_2 in multiplication by 6\nprivate = 707a2d710b32f55c6eba34898020a2fb981d61b1e822fca84c47d9321e279268\npublic = 8678aa29cbc06e78b218d22a3e66c38ec0da8fdb0f2570c585c62517c9704f37\nresult = acceptable\nshared = da8b7eba6f72c3f3ef33d8982093492e06be39bb0db29c465d95a8e52ef64341\nflags = Twist\n\n# tcId = 366\n# special case for x_2 in multiplication by 6\nprivate = 204a43dea79d779577581b8c2a51be66e1effce96425b7422b9ca65bdf1a4867\npublic = 303289c2b1079ea59412faccfeba8c113d2299b9dcfedeabc42697b0829c4658\nresult = acceptable\nshared = 0419a71a08d3fdd574cbc932e8f1605933ddcdd9774f5614269b7ed850c8650e\nflags = Twist\n\n# tcId = 367\n# special case for x_2 in multiplication by 6\nprivate = 58e4741735d2589322151947a1ce2f5829908626886941cb1631d25a8a684169\npublic = 3e6e16e02d44ebd94680832e065aeddcbb74af64fbb7c6d8367e7605be13ff5b\nresult = valid\nshared = 9f2fcd0c756288c1716ecd1f2a74864b93a7717bfaf5248858dcb6fdbea12864\n\n# tcId = 368\n# special case for x_2 in multiplication by 6\nprivate = d0af3428ea5205f6bf8d4f1b4e4903cd76f04236a1c0b3ecfdcaf28b21348e63\npublic = a7c1716a41ed23a8870438714ff9745fb0e46f7a5baeb37c9a2d83fe477d146c\nresult = valid\nshared = 261ab6267c35a9755359e957473870522b7f923fe839f2b155408649cc5e8004\n\n# tcId = 369\n# special case for DA - CB in multiplication by 6\nprivate = c0ea97e442e5dc1c8142bfab7089ecb9bb9c5ae372f9907c2825e678defae567\npublic = dad981552c57541c57ef395ed770ce5edc48f8015461b2ba7aa831ec593ceb15\nresult = valid\nshared = 9093bfa3ed3491d0891f02ae466e5e13c980df229db7404c5b9d34e4ed21c653\n\n# tcId = 370\n# special case for DA - CB in multiplication by 6\nprivate = b0333f09ac1eaacd3cd617eb8832e9de488b458b735cb4b5345f517130c25d6b\npublic = c588dfe6e733d90581cbe112079749d8eb30ab8631134ec29abfb98b32e76522\nresult = acceptable\nshared = 6e88bb6bf75596bbe5f1fbe91e365a527a156f4f1b57c13ac1e3e6db93191239\nflags = Twist\n\n# tcId = 371\n# special case for DA - CB in multiplication by 6\nprivate = 10719099dc63bcc282ef525845c108897ac9fae9590b593e0d505d1cf167c061\npublic = 0670116a435e8d9b7a12ffc4322fd6b149d0b1dc799b5c0957d9d6e42546e824\nresult = valid\nshared = e6de74d2c5cea54094d7a70af03c768afe05d52a038bb72d56dcacf0ba502d74\n\n# tcId = 372\n# special case for DA - CB in multiplication by 6\nprivate = 10e20e4fda57084ca90f7ad572a78aa8e6575c659cd01f30c43c58040c20e860\npublic = 8b200dd226c5c0f7e116e5388ba162438caf1dddf4edc3b6ba838c21b5929737\nresult = valid\nshared = 78c9c3aff9416a538ce3ea8fa553244528d1fbecbcf91695a33ca464ef76b85a\n\n# tcId = 373\n# special case for DA - CB in multiplication by 6\nprivate = a8312df473adfec7171e1635f5bad44f0753a88a6b3174ec5ae762703ae25e60\npublic = 419a076b179f79720096eaabaf03477e8f89d61f885c8d7f58f6eaa4fa77df5f\nresult = acceptable\nshared = c1a96ccba08bdd82d0fc12e8cde4cc1f25cfd5276dce7f18e407ed0e4a898466\nflags = Twist\n\n# tcId = 374\n# special case for DA + CB in multiplication by 6\nprivate = 109697f400210f9a92de80a8bed264097199bc240e22767b54d8bb22050b7a61\npublic = aa34d772e9ace43c4d92f4f85596ab9ccd8c36c4f4cbddc819afe2a33cb8b216\nresult = valid\nshared = 2533b845bb83e3d48cffa8dbd1edd5d601778662d5da03759152a5e0a84b357d\n\n# tcId = 375\n# special case for DA + CB in multiplication by 6\nprivate = d036308a53c11bebcb02e83688ad74fec43f8462ef4d806272676637d99b3765\npublic = 1f06cfe464ccc0e27a5ec5f9edd9bc7bc822ad2ff5068ca5c963d20edd1a2d22\nresult = acceptable\nshared = eb40a3974b1b0310b1597d1f1f4101c08dca727455a9d8224cd061a7aa3cb628\nflags = Twist\n\n# tcId = 376\n# special case for DA + CB in multiplication by 6\nprivate = 786e5a5ff37405c769d0d3788c3c1b05a62a8442c385570e4438bc5f2eaacd67\npublic = 9d4b2ed7817132af5830e899627ea97dc39bd3772e82f2d05769a918273dc02e\nresult = valid\nshared = 9509757e289553cfa2cc71313473c3ff1eebce484ee237eae554fda3d3d22f0e\n\n# tcId = 377\n# special case for DA + CB in multiplication by 6\nprivate = c01f66cb094289d728421dd46c6f9718412e1c546dad70e586851be4da58bf67\npublic = 4e056b317a31dd96f8ec14b48474af587d195efcc2a70f01f052ef882d7b3a45\nresult = valid\nshared = bad9f7b27dac64b0fc980a41f1cefa50c5ca40c714296c0c4042095c2db60e11\n\n# tcId = 378\n# special case for DA + CB in multiplication by 6\nprivate = 3877d9ce25cededeb572604f2d123df685690c26e181f777ed33302b82082966\npublic = 72c60535e9c423f302d6a10796d954d778032cd4dbd40ca0f359e204d67b6f4c\nresult = valid\nshared = 51c359768ab0219003af193e2bdb8e5cc9f8e176b8db49e597afca3e7125e370\n\n# tcId = 379\n# special case for DA + CB in multiplication by 6\nprivate = 50b84618d073c4618f9aa69a3b8518da76dbb2127286", + "214fb43a2b44503b9969\npublic = 5856358ed420047cd084f17ae696bad79a4d26c6d5bb79bfb82bbc6332442d51\nresult = valid\nshared = fa9fb0df4cfbacd0fbf3262d3a1bf8d7aacb45f73bf94671775e509c8043df7d\n\n# tcId = 380\n# special case for DA + CB in multiplication by 6\nprivate = 109acfa638e112f6bbec21e352a74e8fc9b7ffe5d9dc28634eeb516e59830a63\npublic = c31e37b04332abca8315f317171566aef38111f622d8bffa29c23c0151cdad6e\nresult = acceptable\nshared = 91ac72b0ed8d7fc4c8846b8a2530d9fb8f0532064880c00dab100c977697db28\nflags = Twist\n\n# tcId = 381\n# special case for z_2 in multiplication by 6\nprivate = 685c0784aa6d194c1b859bda44c4e27cd1dfdf34776e498dd03d09f87ae68a65\npublic = b775e016b32a97f49971121906763f3a0b41689092b9583b6710cf7dee03a61c\nresult = acceptable\nshared = 11393bb548813e04fb54133edbe0626458e80981885e1fe5f3377e8ebe9afa52\nflags = Twist\n\n# tcId = 382\n# special case for z_2 in multiplication by 6\nprivate = 18e9a05a20436cf0dbc3d5b92dac8d996e62ea11fbb3445f29195fc75a8beb69\npublic = f8bd0e7cf6ec6186f205ab03ab72c8f6b3cde8f6ad9b166916a04d43d1d6d546\nresult = acceptable\nshared = 0a83a224fbfcbc5d0f07f6dd8ebb2e9bbee8134f0fab268002ce837f5495d833\nflags = Twist\n\n# tcId = 383\n# special case for z_2 in multiplication by 6\nprivate = 00e099eb23125dab5ec35a419d455d0ba8c01da160f9354e9fb21e6a55d55c64\npublic = 8dfee48ad8b367488ea4dafcf7086e305356a80901f87c720149a5f522337453\nresult = valid\nshared = 45dc39831f3471d7466bbe29c8142b1a6d6b00c47fea021be2ffc452d9046806\n\n# tcId = 384\n# special case for z_2 in multiplication by 6\nprivate = b0ca251e0dbae7324a6ca0c2c8d6a888edd12d1447d400a47bcba004b648716e\npublic = 8f68bfc57d792c322ebb27f44a37c1c93e7eb15c5d5fcedffc1de850487b3372\nresult = valid\nshared = a29005c6b9dbf1707dc2adce4506b55831e8675b7d2d54b0c1037741e3bc611b\n\n# tcId = 385\n# special case for D in multiplication by 6\nprivate = a8b64b8ed397773b8290425ca5c2f7c3e50fac7a4781bd4a54c133781c9a1360\npublic = ff0f15adeab334afeda3916785ddd38d252dce9876c2357b643b5dc2c06a3b1d\nresult = valid\nshared = 9f04e42c1b2f311d87e1470a4708bba25ac6ffd3f7b486f9b6b502ecbb2c004e\n\n# tcId = 386\n# special case for D in multiplication by 6\nprivate = d0cd0db51ff232afa0919d3106fcb3a8ae581ef12d09c877aa6f31ef74eed068\npublic = 1076fdc827f2550ee95ff9a15d044aedfac65b5e9ba809f62438ccea54637a29\nresult = valid\nshared = 688000bd60af375b4eeac4a7d0e0782c0e6188eabdc608b732f49b4d6ccab44f\n\n# tcId = 387\n# special case for D in multiplication by 6\nprivate = 204a3b5652854ff48e25cd385cabe6360f64ce44fea5621db1fa2f6e219f3063\npublic = ed1c82082b74cc2aaebf3dc772ba09557c0fc14139a8814fc5f9370bb8e98858\nresult = acceptable\nshared = e0a82f313046024b3cea93b98e2f8ecf228cbfab8ae10b10292c32feccff1603\nflags = Twist\n\n# tcId = 388\n# special case for D in multiplication by 6\nprivate = 88109b1d0e7bace44d41a15d5bcbcd36968c5b8b47c0a2c606b57c4a68cc5f66\npublic = 12e1589a34094af5f121c9bd3c1119f2b1f05264c573f667a748683c5633a47e\nresult = acceptable\nshared = 1fcc50333eb90706935f25b02f437bfd22b6b16cc375afff8a1aa7432fb86251\nflags = Twist\n\n# tcId = 389\n# special case for DA in multiplication by 6\nprivate = 5082e497c42979cdbfdd1b3b0653cfea6f2ceb7d07639ebf3541866bb60edb62\npublic = 151f54a8a899711757b3b118fc5501779d621d25227af53d0af00b7583ba8824\nresult = valid\nshared = fac30a74f4ca99f6cf233065e9acd826690cab364bf69320b58095783ed76e11\n\n# tcId = 390\n# special case for DA in multiplication by 6\nprivate = f85a8db44f9e56b11729f51682a9769fc504f93597cbe39444616b224532106e\npublic = a819c667ed466bd9a69ea0b38642ee8e53f40a50377b051eb590142dd27e3431\nresult = acceptable\nshared = 17f6543c4727e7f129ee82477655577635c125a20c3dc8ba206ca3cc4854ca6c\nflags = Twist\n\n# tcId = 391\n# special case for DA in multiplication by 6\nprivate = 505a076641fac398fc7d8c629937f42db559db5e12052ad366d46d7b20e95769\npublic = 40b053d056668982a1f550be95e16348e303945f53a3ac64491a9a56d4095b71\nresult = valid\nshared = 889a8d611e0a7da71475e7c93a2d7f6f7228c787a00ee5cf55474adc376ff762\n\n# tcId = 392\n# special case for DA in multiplication by 6\nprivate = e8db2bf1af5b8907420789c56e71414706aef0d9f6ffaed0c249c3b7ab14bf65\npublic = e7dd0549a765bbef34be2e8da18a1bc1b989a8b0614d358ebf38c12a9ca64079\nresult = acceptable\nshared = 37232fb397af27f5fb5ca493284ff1c5d25786b0d716c73b33aca8d42265f318\nflags = Twist\n\n# tcId = 393\n# special case for z_2 in multiplication by 7\nprivate = c006ab1762720882017d106b9a4675fdd47005657155c90ca61d4cbf7cc4f973\npublic = 1ee1b9a74604ac31c3db83280170e3811504fcc78c7626b5b2c07a99d80daa0a\nresult = valid\nshared = a1b30418436ba1908804ffcce1be2cdcf50c61a8e3938d95c790abdb786b8022\n\n# tcId = 394\n# special case for z_2 in multiplication by 7\nprivate = d071807d607953da432d8574d5f3f420676dafdbc6a285a36e1d737624d77c75\npublic = f226c2d6bd7831eda1b51ee5aec29443a507ef9f7a04e2340f349dbf14933844\nresult = acceptable\nshared = a5976fda89954a81e442107f9e416a2b4b481bbd4654ebc0c7b57a78b45b4979\nflags = Twist\n\n# tcId = 395\n# special case for z_2 in multiplication by 7\nprivate = 304b526f6fe994731980c0975529bca4d061017fbec56f6070d42678d3e11177\npublic = c5197312de3a7a3ee11b29873bae3fc8c85109c66784804f89435db210fcc24b\nresult = acceptable\nshared = 55b5b5eb38b127617ffe00056d84d35a5071d18783e3a82b5f4e131b1538b150\nflags = Twist\n\n# tcId = 396\n# special case for z_2 in multiplication by 7\nprivate = 982ddf2c035789379b8a58917d5c3c6c061b503b19a0028e01894c2eb371d079\npublic = 590ed0b879319c38a19962a5d216ff2bfaf33555518877969c20c054cbe43e56\nresult = acceptable\nshared = 0080e5b9985a960a832133812a7ab9951c6b2c75894deb3e35509190a6bdf457\nflags = Twist\n\n# tcId = 397\n# special case for z_2 in multiplication by 7\nprivate = 78cc3ec0687e3e53d9cec56b79d11bf049d173f127f5b40fae122a6d0016cd76\npublic = 7c5f0143a6682f60ccad16f21150c7bb5bc6f807254d08b353fc96ce07bceb6f\nresult = valid\nshared = 5241222226638c4bbbc98792cdbd74882ca2e08aa2edf313070425031009e925\n\n# tcId = 398\n# special case for BB in multiplication by 7\nprivate = c86fc76650cf3b58837aa0f0633560415241c6c4f8f293ba0222b7d6a3875773\npublic = 010850a0974d3e89c029d252b46f739548294c0f9a23183863f9455b9559c211\nresult = valid\nshared = 63788190b10d7451f5fc2b82c421151db4f3e22782e392da6d8d3aba2c344306\n\n# tcId = 399\n# special case for BB in multiplication by 7\nprivate = 888d51c0a2230369e5b65a814b3213dde2e62f2eb95d0971486b733e4f90c174\npublic = ad1dd82c23d6a0d5fe0f2a4561d1c16733a3e1e6afa6d902dd077dc43a961628\nresult = valid\nshared = e4b40974a166ac49ed831715c071c751752744b891465e6c45001855aacdc362\n\n# tcId = 400\n# special case for BB in multiplication by 7\nprivate = 68bed425d534315584d80f79da6eab9b7e6036b51fe62e1ad933e266640b4673\npublic = d0c0d6393c41f4d7e0d5e850b7716f401eda1e028a4ed4a05bea8bf81acfd930\nresult = valid\nshared = 514a4cd0676f1c3101c8c45c17ad416bd33e20a405544fc1a60449abb22fa104\n\n# tcId = 401\n# special case for E in multiplication by 7\nprivate = 98ff2856ef44b4fa14d86782ea793828bdf6f1ef9b669cac1aae338a7bb69376\npublic = 0f460100d88a1d316dff02d1b22ffb2e42d99d0b92474fc3ec7d62567d0cf112\nresult = acceptable\nshared = ed83e810ce5ff0868f8589623bb13478dec1c22326c92765ae5e48c84bbabb24\nflags = Twist\n\n# tcId = 402\n# special case for E in multiplication by 7\nprivate = b0cdbfdd98bd988d7c6a530455c51c57dd33fd2c7aee3961971bd3a31388fc71\npublic = 13756a411ff3ae0c39222dde0810f08c432463162d81ef061071249a48439e15\nresult = valid\nshared = ff94862117d3c6edc9dd5f4852fa8a589452b924ca8a75cb23b3d68dfed88c4b\n\n# tcId = 403\n# special case for E in multiplication by 7\nprivate = e0677644ed4935f01e052e9967302d0fb78ff22bb92fbae0605f3ee54e2f6878\npublic = 8fc1fae969a6185404db22749ef6d225de86773a4d1bf3857eb8fbbd829a1b47\nresult = valid\nshared = 1c94868bc8acb3137498209b2812feb53501389f5aa37fecbfd5cb54e1358e0e\n\n# tcId = 404\n# special case for E in multiplication by 7\nprivate = 887b61553843ca99ad1ca92253a6fe082b82494752513fd53ff6530f54c40572\npublic = 7bab0891ecb9e72a15771f0a4fff90547024206339c340b1a2fdb53bcfb86b59\nresult = valid\nshared = adbf3b439b16dbc653578f53374ed3a86f9c0bf1f736573349773bc3b8d60734\n\n# tcId = 405\n# special case for AA in multiplication by 7\nprivate = 00615e4697014fc12484ef53a1440206410a8df78caa0bfff82161db83fea574\npublic = 102e95eadca7c3c28e5d52336c857bad99ea246f299b06334f401276f49ca814\nresult = acceptable\nshared = 3952efb93573ae9ce2162d10e4b8c46435859f3f2778db89f72bc579e695cb51\nflags = Twist\n\n# tcId = 406\n# special case for AA in multiplicatio", + "n by 7\nprivate = 58175113550faad56458fb375a6cb3f05df2f6ff3c4ee09d4a6ba643e022d17a\npublic = 3548c16bf31afdcd445ad9bef0e60d7bd6195aa591ca8c82813cd7d446226720\nresult = acceptable\nshared = 96128f929fc03c1269d429f609a1a8acac7a758e3446a125ecf4a359a0e37b73\nflags = Twist\n\n# tcId = 407\n# special case for AA in multiplication by 7\nprivate = 009738e1e6efef9e2cad8b416fe90a098eb5cb0199f2df5218166c7b181ea079\npublic = ba74e766d44855ec93bd441aa41058a4c4ad2be63c639a3f9a87bde51eeaba20\nresult = valid\nshared = fec3e94cb5f316625b090c2c820828ce0f3ee431e8d6e12abccc7ef2bd0be81a\n\n# tcId = 408\n# special case for AA in multiplication by 7\nprivate = c82019159be792747a39f388ea48a8c568594e3383273e51100721b376e8ba73\npublic = 9a5a1d37e5010c356aa80afb347c3d613542ddfa0be7abb8e8cdcd6674411449\nresult = valid\nshared = 96903bac9dc60b6178d734890c25db4bed9ea4dbcf6fcbcdc90e6f5694c8b21c\n\n# tcId = 409\n# special case for AA in multiplication by 7\nprivate = 10ac9f8383262ef280faac1e4da15a7de4f2cb74af33b50e0d82dcb85d8bcb70\npublic = 630847e28274dbae5491210303c85a359074ee742957b0fc3c9ff55d9e019a50\nresult = valid\nshared = 50050d0ab1ddd2dd90c460ab8f09e1f80e37cae57d4231adae10c10a4a2b003e\n\n# tcId = 410\n# special case for AA in multiplication by 7\nprivate = b84c098382f6e37d510cc33e62ddc664e02c8bb6ed9ed0e5fa78cc099a26fe73\npublic = 11749b00a45067af2c7e7d50f8d178d5a9fedb8f1b69b239763885bc611b136c\nresult = valid\nshared = 9170c4c628d5fcfd0ec719cf6e1796dab0a69e46d6379fffa247d444a0056041\n\n# tcId = 411\n# special case for AA in multiplication by 7\nprivate = 78cde8930a1d81aef6601f71409728854987578b0f8349588c04adbe2c1f6e74\npublic = df1021d8f95950afde77c86ba5ee2f5876ef778376a7fdc7efb8dff0e4836e7b\nresult = valid\nshared = d7d2a82953f680cee0c81c4d00fe628ac530ce682eb7fb3b0af24f804a58ef5c\n\n# tcId = 412\n# special case for x_2 in multiplication by 7\nprivate = b0fe7b06b9950600b3a7ce1d7bb2a1d984194cc9d6c8964504c364dd5c875b74\npublic = 2743ba408d5f68c65324a485086a004b6bbf784cc9e8b1a7dbeb8c4b9414b018\nresult = acceptable\nshared = a6b97da989dccf730f122d455152328051c8ed9abc1815c19eec6501d6cfc77c\nflags = Twist\n\n# tcId = 413\n# special case for x_2 in multiplication by 7\nprivate = f0c9c3984854d5bd599d3819738a023eb795e93586dc0e5e29b1c870c612d178\npublic = cc275a2cdd9125e52f20ce2abad41f920afa5a643fb7f276ef416f761d689f1e\nresult = valid\nshared = b210e368729501d9f9b6ebefbebae38f195f91eaf2a5a3a49288bb615ff2216c\n\n# tcId = 414\n# special case for x_2 in multiplication by 7\nprivate = 906c2f12be89702db26fa7ee905ce36525d2dee4e96a879ca07da097a6aa5075\npublic = 4929543101ee7ae239059cd134c35d400e50d0821441351d0fa6c3d54efb342e\nresult = valid\nshared = b9e3796c58701ded4237c52994501cee14e18f2fb02b781a8400923484bd4a6c\n\n# tcId = 415\n# special case for x_2 in multiplication by 7\nprivate = f026031ea373e1d16e6e7e0357bc96bc093f4b6bb76a738cbb54fe6cfd2ea271\npublic = 1324e0368597b3181555bb5b2cc7b7ebba46931aeabb6f05ababd4240f0fb933\nresult = acceptable\nshared = 6dcdf8e86903b0caded124d8a7da18e623430ca869aaf267d31029d93de99e66\nflags = Twist\n\n# tcId = 416\n# special case for x_2 in multiplication by 7\nprivate = 703f4ac8667d77f9536045cf748f18d42345e39ccab10c18dde0f5170d307f73\npublic = c7f3842297d6941cac63d6f1bdaea0709437c82dbc9161fc1bae6c79d668eb44\nresult = acceptable\nshared = 385ddbf2505ebf537bf5e976b61a4b69d190ae965b7e4a81ae4e1c16b7148748\nflags = Twist\n\n# tcId = 417\n# special case for x_2 in multiplication by 7\nprivate = c8a96ae4e77271a0680dd24fcb09f9c5d3ee8316536eec7cc2276597e50fe37f\npublic = 1e4660ba865fb8085afd4692885d74237fa3bca5af4b84ba3de400f16a5ac45c\nresult = valid\nshared = 0fbaea73f9518795e026c1fc1079c3738aeb9ee9c8dc9761d65bbf8f94e30154\n\n# tcId = 418\n# special case for x_2 in multiplication by 7\nprivate = d0dde8eda38c3783442864c0cb46a0e9832dcf784c21268a21bed2cace87cd70\npublic = 2488bb6fadb79d46585ff01c160c5b4172799d92bd168edceb65cededc492762\nresult = acceptable\nshared = 510c64151e5d0737fc324bd15fb5d3966908751cd1a06954b556196655ee5540\nflags = Twist\n\n# tcId = 419\n# special case for x_2 in multiplication by 7\nprivate = c09cd47e1ce53604f14e4e13426c8f08962f556bcd81f8d75375b1507c6fda78\npublic = a0c1087811af1491171bc51691b8ca84716af36c4baa764ec536280cc1983d6d\nresult = acceptable\nshared = 23ef825e1c8e6e64428001a7463e32a9701c81cf78203e6ae753740c91570e6b\nflags = Twist\n\n# tcId = 420\n# special case for x_2 in multiplication by 7\nprivate = e09a5f74f318f02303857aa0208d76913d9e240a80549d12013118bad620597f\npublic = cc5c97934607d8b981bce1d6a232bb3aecc3001f698ae1ae84938fbf2861077b\nresult = acceptable\nshared = 0e55a7ec1a2ddbea1ac5981200812232f7f4c3a60ee3c9ab09f2163bd13da329\nflags = Twist\n\n# tcId = 421\n# special case for DA - CB in multiplication by 7\nprivate = 706cee5f9b357c03b2f1913294f6e4f0ca5a190a87d30268327d0cb6bdd5bc79\npublic = 238de7fcc8a3f194c3554c328efb1215d0640ac674b61a98ef934ec004cfd73b\nresult = acceptable\nshared = 0681036a0d27583ba6f2be7630613171a33fb8a6c8991c53b379999f0f15923b\nflags = Twist\n\n# tcId = 422\n# special case for DA - CB in multiplication by 7\nprivate = 40e300cb1ff260574f85b3f04aac478464a86e6203b3d4656418f4305157877b\npublic = ac9fd80a45da109fa2329390e5a951cfc03065d7bb4a7855826ccb22c3bfeb3d\nresult = valid\nshared = 67b88774f19bd1081d6f23656a135803e34ae1cdcae10818124a78569c299f42\n\n# tcId = 423\n# special case for DA - CB in multiplication by 7\nprivate = 882f78b4558b7faa835904c9235e32f300fc8b5ef0a718406a5c8520ca54d071\npublic = a45ab1dc2fa2c50718fb4985d9791401e8d2d34ffe3cd93cffb4e870cce5e855\nresult = valid\nshared = a512e864bd898a5ba6551adcebd836c6a78e7871728e1b8ee528d483af276104\n\n# tcId = 424\n# special case for DA - CB in multiplication by 7\nprivate = d8649b735590a17d0fc4c378fbf4c2f7d6600569b2e84cbe0ff7bcdbac0b5f71\npublic = 1761d3d50ba46b446655aa6a8d9b8b75aa5bb24a7953208d5b69fcc38f18ec7a\nresult = valid\nshared = 518b778cf5e976c60235abcf6211a18bad2a8e693ab261074c7fab43dbb5da27\n\n# tcId = 425\n# special case for D in multiplication by 8\nprivate = a8edec59ae6ba23813ec54d66df152e0626762b97d4b0c20e0dd8a5695d86e47\npublic = dc99ad0031463e4537c01e16629966d1b962c0b4e4872f067ca3c26ccc957001\nresult = acceptable\nshared = 6cfa935f24b031ff261a7cd3526660fd6b396c5c30e299575f6a322281191e03\nflags = Twist\n\n# tcId = 426\n# special case for D in multiplication by 8\nprivate = 1098723ffe567ea6dcc8d04ecc01efafeea0aee44e1c733be8b1e5d97c8b8041\npublic = b32750fd80d2d7c62c6b8e39670654baea5719a3e072e99507fd5bcb23898264\nresult = valid\nshared = c623e2d2083f18110a525f2b66d89ed82d313b6a2dd082f6b7a6e733134f5a06\n\n# tcId = 427\n# special case for D in multiplication by 8\nprivate = a0f20df98b49218ac832f26fa8c218a0d6872eb7aea07c1d43c9ff699b465b47\npublic = e7b3205777b375f1b1515a50a16a6067953ff221e12b4f416d74fb28c1c85865\nresult = acceptable\nshared = 388ea421650a8d837bad8904018195e99ef494c2d170b93ee721a67d2c108729\nflags = Twist\n\n# tcId = 428\n# special case for DA + CB in multiplication by 8\nprivate = 30473a77a98374f67d5bd43df231ce142916aea0d271e72333fa47dc441a0247\npublic = 21cc338d7869e5863349cc739c8a6946cfc797cb82fbf62dcd2154844b106003\nresult = valid\nshared = b9e5728b37435b1d339988f93267d59f3bd1c517851c5a258e74cb64aea73d2d\n\n# tcId = 429\n# special case for DA + CB in multiplication by 8\nprivate = d8657be3a30fc85fb2f3a68e92ace1b31b26e76e6bdb6727aea507cb7c10dc45\npublic = c34217c02072d7e2bca0454525030780cfb60215d7ca82dbec8f4a59034c5f43\nresult = valid\nshared = 20b67b205e22ce87fd44a8e8fd10a6d8890b9270b60e1c6a68b4aa78e6e37961\n\n# tcId = 430\n# special case for DA + CB in multiplication by 8\nprivate = 882f5578ae4a13d8f5af473bdde1709bf2e059df809ee05b505f34de857c3447\npublic = 8abb8cfd60c6f8a4d84d0750d3b40a4f846b30edf2052fef7df84142cd0d9e47\nresult = acceptable\nshared = 5faba645fc21f9421ebd35c69bdb1d85b46f95e3746ff7f4886bc280a9ab2522\nflags = Twist\n\n# tcId = 431\n# special case for DA + CB in multiplication by 8\nprivate = 98294db7cbf4958bfb3ed21d5d5c91e13cc8dc27b3c716c86f7167a4819f8741\npublic = 9fd7b49a08f206688d72db737df8e517aa7b764f5de7c9a2b1c3fcbaa985f64c\nresult = acceptable\nshared = 9cb8a0f4ad86a27b96ca61242eab198db2767d3862dd323e41368fcdcc5fab68\nflags = Twist\n\n# tcId = 432\n# special case for DA + CB in multiplication by 8\nprivate = 789bc4047ad81b9b6656eef298b766e8763a2f8ea64e374a603dc1fdf2eee146\npublic = c4fefac7acd448e8fd4d6ac4f5dd1bc21f2c67d638444060918fb344aa77e757\nresult = acceptable\nshared = 4b42fc", + "f84b51b2b82f1f70b3cf49bd9dc6ab2672920a8de37e81ba7e99acf734\nflags = Twist\n\n# tcId = 433\n# special case for DA + CB in multiplication by 8\nprivate = 801ffe4e0f6eeb8a50c8fe79663ff585f9d6aebcfbf4b7edc676c693900cb141\npublic = a8341deecc0be6db11401ef7f884ac3ade35650cc21f14b5cdb0a5cf0ee6b15a\nresult = valid\nshared = e55fc931669bd02d1c64689eda62648212b1078c43b5caf97cf9763ff87a3455\n\n# tcId = 434\n# special case for DA + CB in multiplication by 8\nprivate = e04e412383a63b338b70e1be5fd75995350321dee428aa4f3ba62a50a3b0de44\npublic = 55a0e6631a52f29fb90a1777ccbc69ff94547459d541f72e8316e4d616535a67\nresult = valid\nshared = 87f7976a17f3e03a7f1eb74e6db950b8c0994f40b7903495599d227725809e01\n\n# tcId = 435\n# special case for DA + CB in multiplication by 8\nprivate = 382dbe9f10158bfbb7d1d79a35a7809214899a6b8572b35b55875d79bd2f1640\npublic = 7976d520f1a2512d564af41c68313f5351b0156d5118be4817f192798ae9777d\nresult = acceptable\nshared = 3bb3e30105a71901b115065e39bdb3e053d387b39027b12c92cdf4c638adf00d\nflags = Twist\n\n# tcId = 436\n# special case for AA in multiplication by 8\nprivate = 60c9af7f4d03136a6034ae52deadfd9d4f274ad8122812eb92a53169c8354141\npublic = a26a722f7ba71ccfc96ed8e108d7c9f842d17f92051ee7d429ea7fa7908ab907\nresult = valid\nshared = f5cb3a1b76185a29a6360b2142feebb11f3d08f4fd8d73df3a5228624a521c02\n\n# tcId = 437\n# special case for AA in multiplication by 8\nprivate = 283fae8bd8b294de2848056449751965abb5c7fa86ba4c2c5cdc3bb524dad140\npublic = ca3a2d96f5dda482b002324cbbdcf1dacc9815eab797c7151c3a88c75cded621\nresult = valid\nshared = b0b47868e70465ee2dd737f1ba5a6399e09cd813d72da7585ab45c946cc28d4d\n\n# tcId = 438\n# special case for AA in multiplication by 8\nprivate = 401539703ca4980db4ba42c59fc29e83b4189f2ddea53ba54ca966c06898a640\npublic = eebd858850b56febb707f27a7aad5ff5ab4b0e0c73b9c86ec4ca0f42e7f38e75\nresult = acceptable\nshared = 581e4b12b0f39a7cc42dee4513ecfdd20b595f905f17ad8c1fbf1b5cb2068b31\nflags = Twist\n\n# tcId = 439\n# special case for z_2 in multiplication by 8\nprivate = c8eb056286e098e6b2c79e42f007ebc6ab3705346cdbdace949b5de1e8c36743\npublic = c800bf799783275eb93312b43dc032ccdfb00a4b77c8b3772cd2fec8db7e4a09\nresult = valid\nshared = 6bf264532fc70a6a7e459f4579eca6b84f8f76ab85c3264b20bca725a6eb6c40\n\n# tcId = 440\n# special case for z_2 in multiplication by 8\nprivate = 487882956c49c69fd0e2d7277a24fb1dbe4b0365b36a13f63440248bca2fbb42\npublic = 7bbc504e04d134eedc13f06dfdfc69c518257a3f374040a49a8d21dac109110c\nresult = valid\nshared = 690305c9e192cd8a513f705b3f101ecdf3db1ea15a09c4a1bce3a8cdc3a1a93f\n\n# tcId = 441\n# special case for z_2 in multiplication by 8\nprivate = 9876010f4d64c77ffc4d7dccd72b9ac82078deb883609650b8cff8a686719d46\npublic = 132533db62aff4fa06e96314383bf58ebdec5183a19f2e4cb17552ae19a3366e\nresult = valid\nshared = c58591b33e490e4766ff7addff570ce4e89a98338015a55df3d2f232aea3fc4f\n\n# tcId = 442\n# special case for B in multiplication by 8\nprivate = a8a5d4f7894a519537babfac736de36054f508dae434b4fe63cd5633846a2647\npublic = ceb90c56508cf330c7f25bab42b05b5612a8310690107ac63a404c0ade788009\nresult = valid\nshared = 3d145851b6ff2b92b5807ed1df21eb50c9f24c4474d4721db3abb7356df7b764\n\n# tcId = 443\n# special case for B in multiplication by 8\nprivate = f83e4647e82c560aa082c59641e13bf366be8f24dc01d14801e67841160bed47\npublic = 66a09767a0d83bb18d404e1200375a745d1f1f749d5dc6f84a205efa6a11bc65\nresult = acceptable\nshared = 1401829aac4e64bcfa297a7effc60477090d3627a64a35b872ae055d2091785f\nflags = Twist\n\n# tcId = 444\n# special case for B in multiplication by 8\nprivate = 58c6b94bce9b15f64946c2aa6a4e383b0b2d4365b7997eb2310ac4eef1803145\npublic = 39d431316307c85747bd2bcf4f9e0f8892ee45df15f7806ce65147d97f503478\nresult = valid\nshared = a0ebe6908c5472f937769b9aeb313224437fc5d73f4f866fe7ef41f30e359e09\n\n# tcId = 445\n# special case for C in multiplication by 8\nprivate = 786a97207adbd4b0d6bfc9f49b18660ad3606c12e325044b8690b4fa07874641\npublic = 84c92d8ecf3d0cb22dde7d721f04140c2d9c179cc813ce6cf8db2dce6168880d\nresult = acceptable\nshared = 07538f1b6583041c4949fafae3349d62f9dd302d3d86857af0dedc0d5ad6741f\nflags = Twist\n\n# tcId = 446\n# special case for C in multiplication by 8\nprivate = 282310210e575a59393cf19bbe6e24752dc247706f1e0031e5d39b2de4fff745\npublic = a9cedb9e942a47221e4296953220d10007db327d2acb68da6ef3a4f877b8ef1e\nresult = acceptable\nshared = 1223505fbb534c1bc6108e6b98b4f0af29e11158c02d333d6559beecd6d3e558\nflags = Twist\n\n# tcId = 447\n# special case for C in multiplication by 8\nprivate = c8bf2fd4c40d00f1465aada682b12fa92dec10343484ab62b8871337de1d3345\npublic = 64e1c0c5f59405bbc6c7db41a3485cc9f91c183b0f2b7e1894a7abd8fbbeeb23\nresult = acceptable\nshared = ee031868165f456f75907bf39742b820e0f8e6df9f9768d757d408e1cc92ff7b\nflags = Twist\n\n# tcId = 448\n# special case for C in multiplication by 8\nprivate = c06a4a4b70f613136f18c0f88e2245086c3d1a52717210a21ac9d63682f2e740\npublic = a68d2f55e60eac7983926310f4fae13f95b2bbf140be5ea91751884d900ab44d\nresult = acceptable\nshared = c954fa7b042c32943e03191e367d54be0085fa8950ef2bec99620df79ecbea4b\nflags = Twist\n\n# tcId = 449\n# special case for x_2 in multiplication by 8\nprivate = 20596e1dc56596823d37698dfa699c79874aaefde797f863ef92135980fb2043\npublic = 6d3cd623f26a7453fa05a01ae758ba84d3c58d93d60ce32735a15e0d053d5b12\nresult = valid\nshared = 7c3219b3c1fae1f95590ac843efd2084a1f4bd3efa2f592f022032db64ebcd77\n\n# tcId = 450\n# special case for x_2 in multiplication by 8\nprivate = 38141518e8e5efa1d031c6c4d95480239f6c30b8ccd8c751a9e04bd3aec17342\npublic = 8f195547346b3d53b7ea4f742b22f1ef7b3cc01a7d3dcd19aa7c5b03f31bd214\nresult = acceptable\nshared = a31f6b249d64a87c4aed329c6c05c3f2240b3ca938ccdc920ba8016c1aeaeb45\nflags = Twist\n\n# tcId = 451\n# special case for x_2 in multiplication by 8\nprivate = 207147f2b68fef1efc10a04f988f0eb18b273b0b5ed17aa7af32c90480e19b43\npublic = ffc4fe2c2127a309c739565651e9812f834a86dbadbb78776977f786ecdb0217\nresult = acceptable\nshared = 4cff9f53ce82064882329a18ea4e4d0bc6d80a631c87c9e6fdc918f9c1bda34a\nflags = Twist\n\n# tcId = 452\n# special case for x_2 in multiplication by 8\nprivate = 488084537b840f9c93ca57b3ee80491418d44221113e03f56355302604d03547\npublic = 8475babeeab9980d426abd5323dfb335b219e129bddae4d6cebcda50754a6825\nresult = acceptable\nshared = 248d3d1a49b7d173eb080ab716ac8fde6bd1c3ed8e7fd5b448af21bcdc2c1616\nflags = Twist\n\n# tcId = 453\n# special case for x_2 in multiplication by 8\nprivate = 28cfc1d03f5c7428ff3e20b137268b33ccc74db03582d2127c566df4ac99f441\npublic = 81f90a2f6633d30c2b72a25795d2a49463a80b6b0edc5aa68bae4bf738185539\nresult = valid\nshared = 66c6e70cf630be90a2c88fcde7f58cff3868660fa96406e8df4ac677dbd85f50\n\n# tcId = 454\n# special case for x_2 in multiplication by 8\nprivate = c8e37d10f3d03db3f43e467bddf98f595cb529ad253c20d491282d1400b9e740\npublic = 41626e33b3c8f48bd19e49ded307f2b63bde705c4f3cdf9d4f92bf37c48cba42\nresult = valid\nshared = 06283fcf69dc83e99d92e5336f499a1d8fa75ed2c819b5ae6ea8094454324b27\n\n# tcId = 455\n# special case for x_2 in multiplication by 8\nprivate = 00237e91406a7b4db61e780c5976fbb926cdace2fbdfdbcfce65e6dbe7782a42\npublic = ebb32f781c0e89b252e611f9d8f79f8567874c966598314b2f16aa44cfc07843\nresult = valid\nshared = 7d2affb43355f5db1294daff55f59b1f17e7d25bca20746f12484d78e5015517\n\n# tcId = 456\n# special case for x_2 in multiplication by 8\nprivate = 489c4184a23a8f5eec68a31b41aa2c0392cd6fb123f10acdb4de75292b4b9a43\npublic = fa75e6f08ca815b4e42af24a8e057c9e00e828e33d12c0e94d1012a758336744\nresult = valid\nshared = ef8e78cab091d667888489fd3a2ec93fb633427d02eb77b328d556f2b2b0e266\n\n# tcId = 457\n# special case for x_2 in multiplication by 8\nprivate = c05957fbc3a0e2c22a2aef627651ca1e99307b82a0c6170f7950a334f3004941\npublic = 4d96320cdb0ca52655e91118c33f93afe4ae69e9e513ff4506750b8ea784ce46\nresult = acceptable\nshared = c8d85bfa74b4b26461297b350c975183fea9d33ba29c3a4934509c2ecda58a79\nflags = Twist\n\n# tcId = 458\n# special case for x_2 in multiplication by 8\nprivate = 60111c6629f73635985be964b845f87a88ae5652d45bb1451ce8cfd2ea45fe41\npublic = c0ef1b7c20237db370501f24274e4eba91998ae4545f937007e1c4a2eab63365\nresult = acceptable\nshared = 22557e0d8741ed2a63afd5e313aa1579fc0c88c7772e23a676c94b60c89df577\nflags = Twist\n\n# tcId = 459\n# special case for x_2 in multiplication by 8\nprivate = 58785889a216d15456582d4e1e3de9e9ca4a432954416d81caf52b2b434c1746\npublic = d534", + "d8ff4d56a73ef7615e94523b17e35edb3d0fb87e98c68536f63f114a8d6c\nresult = valid\nshared = 54d7fc17bad00296ba50b0f3d5bf8fb83f82d571952a5fdb5a494120cc61446b\n\n# tcId = 460\n# special case for x_2 in multiplication by 8\nprivate = 60bef38a3890ec1ed05c299fceb77db5ead4b88d9e931b0f21d664f77df9b544\npublic = 733a711ba01b6e9b64a0be4cdca8c7cf3c66df2435d5248fb4413fec6ee03f70\nresult = valid\nshared = db6851b12585bc11be9362c96a545c6f2ba55f04009792463b96a38cb9b3f07c\n\n# tcId = 461\n# special case for x_2 in multiplication by 8\nprivate = 5854ee566878ef8b7ebaf5a058306f250edf0c84fd52af2d74b7ce3c1edda746\npublic = 35738dd539d60f69cd1a1cffc8a42b6af68fe7de45392d02831e2a77500ea278\nresult = acceptable\nshared = f6d1a664257fa5de3d4d57f04eda2976bf1e35cc3ac513e1ee84d57d2135ed13\nflags = Twist\n\n# tcId = 462\n# special case for x_2 in multiplication by 8\nprivate = 985b551261fce38ddc8ff3add32f5c26811d271b9a1794e249dd76a38df28446\npublic = ce932b5af4be4721f96f7b79ba1c43b20687d4af49c37b58dc894279e04bb578\nresult = acceptable\nshared = f8f7625ac5bde63f753a9bb4aefbfb9c4647207708af9d774ef08ff1b1e5a354\nflags = Twist\n\n# tcId = 463\n# special case for E in multiplication by 8\nprivate = 8815052344dcad97efd1341e9072a808cf999e46e52cf04e0cfbcd9901e18d43\npublic = e3655448339e4850806eb58abba0c89185511ea72c37c49e9583ee6dd235d213\nresult = acceptable\nshared = 5e10dfbff4443efcae2ccc78c289a41460d5a82f79df726b8824ccbef7146d40\nflags = Twist\n\n# tcId = 464\n# special case for E in multiplication by 8\nprivate = b8e032e9e5ffbaa004390f3a0b900bc7cf5d11238b7ec964afc4bda2aa6c3444\npublic = 4d16965b1637e9d7ae8feb499ed0553962a9aa0022d1620c928072f6501bc41b\nresult = acceptable\nshared = 19d7b44c1847c44e8f37a22ab69c180fd9d787f204123013e1b16800b9cd0f57\nflags = Twist\n\n# tcId = 465\n# special case for E in multiplication by 8\nprivate = 7012852211f6536fca79937e7e316c9149b0e20ea03f951e1bb072895ca0e044\npublic = c6b9e6288737ad40452cec1022871d90af1642d10bd0a97792b1a9c8998e2220\nresult = valid\nshared = db990d979f4f22f766e7826d93554e771b361de461274d6c37baadeb8ef7be4e\n\n# tcId = 466\n# special case for E in multiplication by 8\nprivate = d039c1b9ec4763e0ad8a0ef2b0870297d0f8b487e660595a484105d180e14a47\npublic = d566fab505ac4c7a3dc3b9403ef121392cbbe21216e5bcb8eab2dc9408986e34\nresult = acceptable\nshared = 6d7fc5d4a8f534b1bc0fa5e078104234675c02664736957abdb27df6faf07c00\nflags = Twist\n\n# tcId = 467\n# special case for E in multiplication by 8\nprivate = 58efcbc8777c1b54f09c61a216efd427292eb12312dbb3b32bd45254a6683e47\npublic = 468d35ecfb6d9b7272523276cc5e13760519667f0e1e3888da4c56955fe91151\nresult = valid\nshared = 539c8d629ab51c2f3ea7278fd5f1c31b6c150a82fe3f786b93ffa159fd6d9316\n\n# tcId = 468\n# special case for E in multiplication by 8\nprivate = c8d73446026cd0ea795773c2eb7b16348cd5f228e352dbc77328c2d8b9cde240\npublic = 1929538743977dfea20bf4927ddabb2f3bb15cac2461054508849718854b5568\nresult = valid\nshared = dee3fd19c8f296415448b21af44385ec46727bbe67d4839b93efe2f680e76d34\n\n# tcId = 469\n# special case for E in multiplication by 8\nprivate = 98b559523bc778b0418af53c0c32f6ff5cf771ff5df8ae7cbf7c3b72aedb5b43\npublic = 2d7ab4c6f59865355ee8e9de57db19aadf7708b7c1d1a818487c340623badc6d\nresult = acceptable\nshared = 2a0340aaafa05d00529c09057ed0145f34d2de66a3e149cf084ea97168914f39\nflags = Twist\n\n# tcId = 470\n# special case for E in multiplication by 8\nprivate = 589815027caf82714e96c9f91bace66ec4ba3e92df3fa14b9b8fe503556e4543\npublic = 43839f4a6aa206c82c5a73f49d8c9e573826b3ba7235d312987c17aebee62776\nresult = valid\nshared = 00313717d33e3b41a0865986157582e053502a172b88d01bb7b10831a9fc4e6c\n\n# tcId = 471\n# special case for E in multiplication by 8\nprivate = 80715f67270c99789855ceaea99b9957ccda33326f76bb4474ab52ab1ec37041\npublic = 3c321e7f0b9e555bc264a2cea617e6b2b562ebab21fe0c226c3e487b7df9a27d\nresult = valid\nshared = 9b6be9e6f2fdb5d3321842225d3e91d14828cc53ba6654dabe190b0c3edeb309\n\n# tcId = 472\n# special case for DA - CB in multiplication by 8\nprivate = 101b990bd83d684126ff047d930c27d086a588dd19683d2629f0e34f4374ab41\npublic = 42e5a6b8e9654bb4ad624af3f491877977513cc8775c8fb312ad19dbf3903a28\nresult = acceptable\nshared = 223f1eb552308373026d11c954684ce6db870b638b190b9443e50aae219f4e3e\nflags = Twist\n\n# tcId = 473\n# special case for DA - CB in multiplication by 8\nprivate = 200089b712d9a2050597779d463712fcd223e3d67879c0fb7606f8f5f0efee40\npublic = 0a51dd90ab985f6deaf72f16c45014da26df848697f6582d75688f5223342b51\nresult = acceptable\nshared = fb95ce4a3c1f325638b7d47f4216d39a7c6c5da9a01caa297c37b62816555b2a\nflags = Twist\n\n# tcId = 474\n# special case for DA - CB in multiplication by 8\nprivate = f04f87f4e623af4c31ceca0bb87fac2d5b12517b5a7284902ad75838e65f1e41\npublic = 8842317357bde825ef438a1c53906fb8b04ea360f7ef338c78e668586047936a\nresult = valid\nshared = 488b8341c9cb1bbf124510b9f8dae4faf2e0dca9b84e00e952a63b5aa328a860\n\n# tcId = 475\n# special case for DA - CB in multiplication by 8\nprivate = 383cbd5a3dd0901d09a3cac3d3a77a979cecf15e206a553e4ca3f24b90783945\npublic = c71d92d3c92dbfaed755fb32797b667cc86b0e79362498e2aca38c689713b16e\nresult = valid\nshared = 1129eae97bf75f7314f2e1b403b18737ad830c80429e2ba0d4866b362399855f\n\n# tcId = 476\n# special case for DA - CB in multiplication by 8\nprivate = 701df09e57b98aec375745df147b72949a6b2bb2ca3a34881512ee31e790ad42\npublic = 3a21d1cf7b3744d1ad26197335844982c2a0c6a5aa835492bd03c401a4fe6778\nresult = valid\nshared = 072f51d94727f392d59dc7caff1f4460452352ec39c32a1c9f071e388833da56\n\n# tcId = 477\n# special case for CB in multiplication by 8\nprivate = b0ffa5f4922bb117ad75ff43acac62331efaa45536fe88306e4a4cb58db73a47\npublic = d128ea3e13325ed6ebd6533a9fd3045a55f25ad8b67def30912843504c1aab29\nresult = acceptable\nshared = 30512142d3e3a4cad6726d9d35f2e043fca9dfb750884ae22b2547c840f3587b\nflags = Twist\n\n# tcId = 478\n# special case for CB in multiplication by 8\nprivate = 685e3271d2015741756612a930e858b930acf2018145f382c83d8cced2e22044\npublic = e079c8f8423165c7e0a2c48b4abe90aece4e6d903d7a5a1625fad0410cd55b32\nresult = acceptable\nshared = 5b81b3761a66d199e8ef99d2494bd57a0229d4564a7f6d6055f22aa48681bd3a\nflags = Twist\n\n# tcId = 479\n# special case for BB in multiplication by 8\nprivate = f8e161d69297e017d7c51b1b1ff3ba703d4c4cf8fc2b8ff47f74c3ff8c7d3541\npublic = 65922a06e9be4e8a5e8aceb1a4e08fe90f01e10ef2dd27315427cedfcf95ec32\nresult = valid\nshared = 038de7fdb9cc0030f5c11dda00589f0a95f65658815b06ed013553a02b6c5017\n\n# tcId = 480\n# special case for BB in multiplication by 8\nprivate = 105d7589f8abef0acf0940da84a69e8f2f306fa73c9afd27342287c1dba80044\npublic = d36a240e972dc16e9b97a997ada337f02760d05c46d7f8d7b4e9ea9a635c7c64\nresult = valid\nshared = 22b0dea3b3b7ca55eceeaae6443426548c7c15cc7ddf31780318d1c23879c16a\n\n# tcId = 481\n# special case for BB in multiplication by 8\nprivate = 1893d4388b0e90f0b50208aa8f0cc24f576d03641baf1c3eddb2a3efa69c9d40\npublic = 4f5b8b9892b8a46df08d76a4745b1c58d4e7a394905435875688ca11f1e9d86a\nresult = acceptable\nshared = a25e1306684ad7870a31f0404566e8d28f2d83d4b9497822c57f8781b18fec20\nflags = Twist\n\n# tcId = 482\n# special case for BB in multiplication by 8\nprivate = 0065171301bf6b90fb16efa35509161f1bd6b3b93130d490af9fe224dd155f45\npublic = aa2f02628269139a7a8a16fde95c9bad7da7ffbd5439c396a7d77b6c3213e67f\nresult = acceptable\nshared = bb4431bea7a5871c1be27a2674094627eaaa4425c99cd3fa41bd7e13cbd7bf7e\nflags = Twist\n\n# tcId = 483\n# special case for A in multiplication by 8\nprivate = 10c81a4e78d82145b266e1d74b3869bf1c27427803ebb11c92ff8073d1e4cc46\npublic = d995cb287e9a9c5791f3cae3d494a5b516a1e26cbc930f43e73c8b70b69d783b\nresult = valid\nshared = 330f5d0b5bccc90f7694dfdd9c6449a62d93af8840eaf571e3e0610e0198b03f\n\n# tcId = 484\n# special case for A in multiplication by 8\nprivate = 48b98b4a99eadd73012c07fe5c4a0b9590ac55e821353b41d5f665e17188bc41\npublic = 479afb1e73dc77c3743e51e9ec0bcc61ce66ed084dc10bfa2794b4c3e4953769\nresult = acceptable\nshared = bdef00caa514b2f8ab1fb2241e83787a02601ecdff6cf166c4210f8c1ade4211\nflags = Twist\n\n# tcId = 485\n# special case for DA in multiplication by 8\nprivate = 1897678e38222a61fe105dc6643c1eb5940e8dbc73ed6c00f25a34328f43a641\npublic = 378eda41470b0f238a200f80809ad562ca41e62411a61feb7f7e9b752b554642\nresult = acceptable\nshared = bfd5b5acd2d89f213a26caf54062f9a24e6f6fd8ddd0cd2e5e47b7fea4a9c537\nflags = Twist\n\n# tcId = 486\n# special case for DA i", + "n multiplication by 8\nprivate = a898af8138e11ae45bbcefa737182a571885f92d515c32056c7cb0d7deac4741\npublic = 0cad7545ade2fd93fcae007c97648348f26d85829bdb7223a63eccb84e56d475\nresult = valid\nshared = c8085877800c175e949cdd88e196eb9c4841da2ac446dfed9085bda5bbec265d\n\n# tcId = 487\n# special case for AA in multiplication by 9\nprivate = b0bfef6ec095b5a1f93917d32f16a21d0462c1fde17446f5a590232d9c895f4a\npublic = 60f27ed0a27804ced237cf3c1cc776650fb320bae6d5acb564e97b56cba25210\nresult = valid\nshared = 4c300895827382a9d1079028bd6f694a7a12ddac9c76abac6fdf5d29457a3310\n\n# tcId = 488\n# special case for AA in multiplication by 9\nprivate = 60497d4464ed8823c50fbc6b68620826c4f629c1d9193058df6bf857c6aecc4b\npublic = f93a73270ac19194b8e4ffd02be4b1438525f84a76224688ea89a9dd6a1bd623\nresult = acceptable\nshared = 7285fbb3f76340a979ab6e288727a2113332cf933809b018b8739a796a09d00b\nflags = Twist\n\n# tcId = 489\n# special case for AA in multiplication by 9\nprivate = 08c6cbe03792a3829f06e8ad54c55db113236ac0dcc9ab6a9a6b10eed1041b48\npublic = cf80c30fcbfd535666ca1da499e2e99cc537063e2de19458fcf92f5ee34acf47\nresult = acceptable\nshared = dabc3bd49f19cf7071802e43c863ed0b1d93a841588098b98a0c581bf4fe0a11\nflags = Twist\n\n# tcId = 490\n# special case for AA in multiplication by 9\nprivate = 50044da3315dd082e9dfb6a1994aabb331f53e0d1c12633383b2a3c8678cfe4c\npublic = 698effe0ad42e15ee1f46fde6fc5074ffda183bcf1b2db8647f561ddd191dd60\nresult = valid\nshared = a61a3b150b4770532373676298c9a5da28adcc4365b06fe07c959ca80e477a57\n\n# tcId = 491\n# special case for AA in multiplication by 9\nprivate = 285640da7a48252e35ddce60c14addb73097fbc9ac2f87c8d2772ce89aa6be4d\npublic = bd1565b4a3f8515dff577be6dcb414511d3d4ec2de15e0bd45b28e9cc4caef60\nresult = valid\nshared = 916ab4f3bfc8321e1087d9c5444f8f7a43e9ca6d29e7ba98a19dc05fff34ed4c\n\n# tcId = 492\n# special case for AA in multiplication by 9\nprivate = 783271c21199ba2e94ead92cd9dd79f70aab378b59497455d327a5907dafcb4a\npublic = b8649e13843f80cf5702398e4a9a8c378f29da96dfd6579f1eb4f7ea34df6765\nresult = acceptable\nshared = 844a5dd5139554ca7b41cbe6a4796193912e7aa4e201cc68944ce2a55774a10f\nflags = Twist\n\n# tcId = 493\n# special case for AA in multiplication by 9\nprivate = d0676a0b9a046c62d5b2e740d9cc43fa37965dea93c23254f7bf569f2bebaa4a\npublic = c396938737abdf791e09a97eba577c437d9b67c2dae94e13eab7296ec0fc737e\nresult = valid\nshared = 10780333b2a6170136265bb5ebc6c818817f2e48ae372528c8f34433fdd6215a\n\n# tcId = 494\n# special case for DA - CB in multiplication by 9\nprivate = 608c84d2b76fccda579e974db3d3b2ce39a6bc0dad440599db22411b60467849\npublic = 557b825012d98f065bb95a2ab9b2d2d8b83fd2037912508c263f86d7e36c4f24\nresult = acceptable\nshared = 5ce84842dbae8b795b3d545343558045508f271383bfb3dd3943f4101398c864\nflags = Twist\n\n# tcId = 495\n# special case for z_2 in multiplication by 9\nprivate = 80f233936a8821936d39114c84d929e79760b27680779e5009e1709410dd8e4f\npublic = ae98296d4a2fbcbb40b472f4063231608bb1465c226c8a4a2dff29afd915882a\nresult = valid\nshared = 4f11aa0c313195f96f25cadcbf49f06a932d8b051879ea537d1c6dfee7f36d35\n\n# tcId = 496\n# special case for z_2 in multiplication by 9\nprivate = c8d80b1a34f21194f047a6f0328bb947e2e7aff6a043553aa07f2abf99aaf048\npublic = 8b9d249829fbe81333d85050da88998f63fac665679e27dbbe21b745dd14e145\nresult = valid\nshared = 1d619070bf5626064be10025e74e336c81ef3166b743f99c751fb90587c31d7e\n\n# tcId = 497\n# special case for z_2 in multiplication by 9\nprivate = 9021477b452361580059364c6f94f4981ee94ea3f9b7d37439bc82ae45816f4d\npublic = 61896093e2697c78230afdda12639cbe4342827b8d2b093281f148eb60b9034b\nresult = valid\nshared = 532e797861db56b9d5db8825fb72f8629c2422f8abea721ad2d7b9e77a95b576\n\n# tcId = 498\n# special case for z_2 in multiplication by 9\nprivate = 6079dae04c40a59ea4e0c8c17092e4c85ea9133d143307363487836df4e30349\npublic = ccc1dc186229dba9a9360a0f7ff00247a3732625acaacd18ea13a9a8b40fac4f\nresult = acceptable\nshared = 4f678b64fd1f85cbbd5f7e7f3c8ac95ec7500e102e9006d6d42f48fb2473ab02\nflags = Twist\n\n# tcId = 499\n# special case for z_2 in multiplication by 9\nprivate = 281db6a5ac9a47d4a7b2b91a87f6536ce62d4e5129b8d647b97f9c504014894c\npublic = 69e368c0b7e78eb9f3a53bf458f6e79dc4883bf9458f04a8c12c4ddd94d62151\nresult = valid\nshared = e069fd06702f10f33adb8cf0766880634865b510e2da409241fb5f178050514a\n\n# tcId = 500\n# special case for z_2 in multiplication by 9\nprivate = d830f3c4785829a0f945857e0e85e0ae723702b57783b933cd2a2ad05484fe49\npublic = f21f9badd98dd8a103cc2ab5484fac6c2bfdd2671ee6e674134a86b89cee9160\nresult = valid\nshared = fee218eb1f92864486e83c1731f04bb8c7e6d7143e3915bcbf80fe03ff69dc77\n\n# tcId = 501\n# special case for E in multiplication by 9\nprivate = 10230bd0721f4c8c4b921881dd88c603af501ee80e2102f8acc30cf8b2acd349\npublic = e853062b2d6f38d021d645163ea208d0e193a479f11f99971b98e21188fd0b2c\nresult = acceptable\nshared = 64bdfa0207a174ca17eeba8df74d79b25f54510e6174923034a4d6ee0c167e7b\nflags = Twist\n\n# tcId = 502\n# special case for E in multiplication by 9\nprivate = f0a34d6d76896e17cb8f66feda23115ffb96f246b823bb63dec08335787de74c\npublic = 362eb92dab9fb29f7ed0e03843dcc15797928c2b4e51ec260204179c1c12945f\nresult = valid\nshared = d7f4583ee4fe86af3a3f1dfcb295ba3a3e37bced7b9c6f000a95336530318902\n\n# tcId = 503\n# special case for E in multiplication by 9\nprivate = 9073c1d0a173c7ff02dc966a165993d9c4c9357514f7a6bb7aaa4b0827718948\npublic = ff543f1e81996e88631f030ceba7e603b13033efd205e68bd36b28468134aa73\nresult = acceptable\nshared = c1b5e5f4401c98fa14eba8aafae30a641bfd8fb132be03413f3bf29290d49e0b\nflags = Twist\n\n# tcId = 504\n# special case for x_2 in multiplication by 9\nprivate = b0c1822566e016c12ae35ec035edd09af3cb7a48f55c9028e05e1178a8c3824e\npublic = 90ef70844ead1613f69df7d78c057813f866c0d95e6d22caee4a012b9c1c4b33\nresult = valid\nshared = 9369ebb3d2b744341cba77302719a4b2d63aff612872f86d9877a76bc919ca1c\n\n# tcId = 505\n# special case for x_2 in multiplication by 9\nprivate = e06fe64e2117796f997bbcd3bcad3067cf1291640a3a643fb359809a4016834d\npublic = 88c1ae575ad073dda66c6eacb7b7f436e1f8ad72a0db5c04e5660b7b719e4c4b\nresult = acceptable\nshared = 335394be9c154901c0b4063300001804b1cd01b27fa562e44f3302168837166e\nflags = Twist\n\n# tcId = 506\n# special case for x_2 in multiplication by 9\nprivate = 707ee81f113a244c9d87608b12158c50f9ac1f2c8948d170ad16ab0ad866d74b\npublic = dcffc4c1e1fba5fda9d5c98421d99c257afa90921bc212a046d90f6683e8a467\nresult = acceptable\nshared = 7ecdd54c5e15f7b4061be2c30b5a4884a0256581f87df60d579a3345653eb641\nflags = Twist\n\n# tcId = 507\n# special case for BB in multiplication by 9\nprivate = 7089654baacbb65bd00cd8cb9de4680e748075e8842ca69d448fb50fea85e74e\npublic = 6c0044cd10578c5aff1ff4917b041b76c9a9ae23664eb8cf978bd7aa192cf249\nresult = valid\nshared = 0d8c21fa800ee63ce5e473d4c2975495062d8afa655091122cb41799d374594f\n\n# tcId = 508\n# special case for BB in multiplication by 9\nprivate = 8089784c52cd67e4536e568218c7b7033b28413f942fca24ed69e43496efa14b\npublic = d9089de902e143dcd9107e5a3393a3f7fe05d926c357b47e307a236cb590fd64\nresult = valid\nshared = db6fec44bf118316a6bdfbae9af447baede4d82daa16bed596ea6f05d4a51400\n\n# tcId = 509\n# special case for BB in multiplication by 9\nprivate = 00e73e4e013148b9f05273bad626bb126a40ec4558f5425096b48947e0a9de4a\npublic = 8c4a26aa319c2cc4a4158c2bc69a0d5b340b60628a14cf31bb0ae5ddc38ae866\nresult = valid\nshared = ecc1204bc753c4cec4c9059fd7b504944ebf995ab1b1d49f0b3b325353be3a15\n\n# tcId = 510\n# special case for BB in multiplication by 9\nprivate = 78ed4c9bf9f44db8d93388985191ecf59226b9c1205fe7e762c327581c75884e\npublic = ce7295d1227c9062aab9cf02fc5671fb81632e725367f131d4122824a6132d68\nresult = valid\nshared = 3740de297ff0122067951e8985247123440e0f27171da99e263d5b4450f59f3d\n\n# tcId = 511\n# private key == -1 (mod order)\nprivate = a023cdd083ef5bb82f10d62e59e15a6800000000000000000000000000000050\npublic = 6c05871352a451dbe182ed5e6ba554f2034456ffe041a054ff9cc56b8e946376\nresult = valid\nshared = 6c05871352a451dbe182ed5e6ba554f2034456ffe041a054ff9cc56b8e946376\n\n# tcId = 512\n# private key == 1 (mod order) on twist\nprivate = 58083dd261ad91eff952322ec824c682ffffffffffffffffffffffffffffff5f\npublic = 2eae5ec3dd494e9f2d37d258f873a8e6e9d0dbd1e383ef64d98bb91b3e0be035\nresult = acceptable\nshared = 2eae5ec3dd494e9f2d37d258f873a8e6e9d0dbd1e383ef64d98bb91b3e0be035\nflags = Twist\n\n# tcId = 513\n# special cas", + "e private key\nprivate = 4855555555555555555555555555555555555555555555555555555555555555\npublic = 3e3e7708ef72a6dd78d858025089765b1c30a19715ac19e8d917067d208e0666\nresult = valid\nshared = 63ef7d1c586476ec78bb7f747e321e01102166bf967a9ea9ba9741f49d439510\n\n# tcId = 514\n# special case private key\nprivate = 4855555555555555555555555555555555555555555555555555555555555555\npublic = 9f40bb30f68ab67b1c4b8b664982fdab04ff385cd850deac732f7fb705e6013a\nresult = valid\nshared = 8b98ef4d6bf30df7f88e58d51505d37ed6845a969fe598747c033dcd08014065\n\n# tcId = 515\n# special case private key\nprivate = 4855555555555555555555555555555555555555555555555555555555555555\npublic = be3b3edeffaf83c54ae526379b23dd79f1cb41446e3687fef347eb9b5f0dc308\nresult = valid\nshared = cfa83e098829fe82fd4c14355f70829015219942c01e2b85bdd9ac4889ec2921\n\n# tcId = 516\n# special case private key\nprivate = b8aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa6a\npublic = 3e3e7708ef72a6dd78d858025089765b1c30a19715ac19e8d917067d208e0666\nresult = valid\nshared = 4782036d6b136ca44a2fd7674d8afb0169943230ac8eab5160a212376c06d778\n\n# tcId = 517\n# special case private key\nprivate = b8aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa6a\npublic = 9f40bb30f68ab67b1c4b8b664982fdab04ff385cd850deac732f7fb705e6013a\nresult = valid\nshared = 65fc1e7453a3f8c7ebcd577ade4b8efe1035efc181ab3bdb2fcc7484cbcf1e4e\n\n# tcId = 518\n# special case private key\nprivate = b8aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa6a\npublic = be3b3edeffaf83c54ae526379b23dd79f1cb41446e3687fef347eb9b5f0dc308\nresult = valid\nshared = e3c649beae7cc4a0698d519a0a61932ee5493cbb590dbe14db0274cc8611f914\n\n", +}; +static const size_t kLen160 = 129059; + +static const char *kData160[] = { + "# Imported from Wycheproof's xchacha20_poly1305_test.json.\n# This file is generated by convert_wycheproof.go. Do not edit by hand.\n#\n# Algorithm: XCHACHA20-POLY1305\n# Generator version: 0.8r12\n\n[ivSize = 192]\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 1\n# draft-arciszewski-xchacha-02\naad = 50515253c0c1c2c3c4c5c6c7\nct = bd6d179d3e83d43b9576579493c0e939572a1700252bfaccbed2902c21396cbb731c7f1b0b4aa6440bf3a82f4eda7e39ae64c6708c54c216cb96b72e1213b4522f8c9ba40db5d945b11b69b982c1bb9e3f3fac2bc369488f76b2383565d3fff921f9664c97637da9768812f615c68b13b52e\niv = 404142434445464748494a4b4c4d4e4f5051525354555657\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 4c616469657320616e642047656e746c656d656e206f662074686520636c617373206f66202739393a204966204920636f756c64206f6666657220796f75206f6e6c79206f6e652074697020666f7220746865206675747572652c2073756e73637265656e20776f756c642062652069742e\nresult = valid\ntag = c0875924c1c7987947deafd8780acf49\n\n# tcId = 2\naad = \nct = \niv = 6a5e0c4617e07091b605a4de2c02dde117de2ebd53b23497\nkey = ab1562faea9f47af3ae1c3d6d030e3af230255dff3df583ced6fbbcbf9d606a9\nmsg = \nresult = valid\ntag = e2697ea6877aba39d9555a00e14db041\n\n# tcId = 3\naad = 8780fb400f94c55d\nct = \niv = 3ec3f7c45e687d75a895bf5e71809e7cdac32158bb48ec0d\nkey = d821dce9b890ea37ae1c89e7cb6aeae9371b8179add0d08f5494718322ae0071\nmsg = \nresult = valid\ntag = 966c22d655b9e56326024f028cf887ad\n\n# tcId = 4\naad = \nct = 45\niv = 05188738844ab90a8b11beef38eaec3e100d8f4f85ae7a41\nkey = 303ccb2e1567c3d9f629a5c632dbc62a9a82c525674f67988b31bd1dee990538\nmsg = 62\nresult = valid\ntag = d15734f984d749fa3f0550a70c43dddf\n\n# tcId = 5\naad = 6384f4714ff18c18\nct = b0\niv = cd78f4533c94648feacd5aef0291b00b454ee3dcdb76dcc8\nkey = 697c197c9e0023c8eee42ddf08c12c46718a436561b0c66d998c81879f7cb74c\nmsg = e1\nresult = valid\ntag = e5e35f5332f91bdd2d28e59d68a0b141\n\n# tcId = 6\naad = \nct = 5e03\niv = b60ca1ab736deebe4d9da78bc7cbbab91be14a2f884240b7\nkey = c11213bcff39a88b0e3ecc47b23acf6c3014e4708d80dcca162da7377b316ab3\nmsg = 57f9\nresult = valid\ntag = eed21c2cd3f395538d677602964ed578\n\n# tcId = 7\naad = 322f82a87ee82997\nct = b56a\niv = 4fd76cbf27cb387502a706461564e5a5c14e027d40bc6eef\nkey = b0f51b8227013464943370e926b6ed1c9fb45b5994af829ff3a9f998b77d822c\nmsg = ab8c\nresult = valid\ntag = edcafa2c9032aff695e427fc2a344767\n\n# tcId = 8\naad = \nct = 31a461\niv = 737e3e7699f788c4136938c0f65310684eacbb5f96ecd98d\nkey = 17afb080753f2aa0af0a7f4821f6ab2709a6b2b5b9f2f262910e3b27b82c6c1c\nmsg = 2af96a\nresult = valid\ntag = 2b745098b154bb90903b0240c3bc95e9\n\n# tcId = 9\naad = 9d53316bd2aa3e3d\nct = d41c02\niv = 1436f36466fce5db337a73ec18e269e6e985d91035128183\nkey = b720aea3df85fb3fb00583eddbebc5c545bcdcb7f6f2a94c1087950e16d68278\nmsg = 4799c4\nresult = valid\ntag = 8faa889d7f189cd9473e19200ef03920\n\n# tcId = 10\naad = \nct = a3b405bb\niv = 7c39999d498286d974d266b2f027a26d7fbcd330869d9f93\nkey = d7704e505826124ab02935e7349a4e13391e6dc020fee95cd30654cdc5d5f393\nmsg = c44efab6\nresult = valid\ntag = c50e2ddb97df1ee58561c97a7b746c24\n\n# tcId = 11\naad = 8e0ac97934605052\nct = 9406a621\niv = eb4e36c637d1908db2c2ae9c72cfbae50655cb5f6504c4b6\nkey = c70ef9ee59259019960c918bfc91237ed6786c73f2b62427e4cbd4d8096a1f03\nmsg = 2738c9d0\nresult = valid\ntag = 916b78ee04b20b8cd90f00b81bb8091c\n\n# tcId = 12\naad = \nct = 2a01d08fe2\niv = 49875536d4946af49288f36684e25ff35998d50be6bcfcc2\nkey = 7fac2a879ffddf5e36e04e3edcb8aa6be18a8326b28f76b15623307badc1ece2\nmsg = 2c4c38f435\nresult = valid\ntag = 9cbe5f3e782f57a33a45b1f4aeeeea6e\n\n# tcId = 13\naad = 5cbdd482f3429a27\nct = fb5daf8c6e\niv = 88ccb58d435ea760f19e1fa6172139a071c0c5143959a56c\nkey = 48f1389d9222a80898ca26b5cfef5dc82dfc0af7cf66ea1e01bc5279e7414247\nmsg = 945a1fd040\nresult = valid\ntag = ec1682b61957493c2eb758d7a2b7a179\n\n# tcId = 14\naad = \nct = 856c300cfceb\niv = 89c9806ad153b805f1bf5b50738319011d5fc070bb551ee1\nkey = 737cdaa2ce1e4740e75af4aaf68c0296c1607bde871d2452e628f1456239c753\nmsg = fae858dd3150\nresult = valid\ntag = aaa9875ebd42a11d12cf0aca26021f4a\n\n# tcId = 15\naad = 71b29930f84a572d\nct = 6438fc8f8788\niv = 5cbdc34772b54fb4fba9eca1e2745e0e3704d9d7b5c78fb4\nkey = 9f7cd632bd5eb5f017b898590d645571ef56e521024eda36eff893a6ad04b935\nmsg = 53abb8943ada\nresult = valid\ntag = af05a4def2ad39a195a7b8c222050111\n\n# tcId = 16\naad = \nct = 843f1039531fe1\niv = a020b016d952a5948a3d226bb1b73efc39d46845f3bf0ca5\nkey = ecf60cd2af8c7155c0be848ecdaa5baddad6bd5f254a2d98f47bef83999f60ee\nmsg = ea30907da57d78\nresult = valid\ntag = efd99acdab540690ec91a7ad5697cb33\n\n# tcId = 17\naad = 0c87cc97c49e166a\nct = f99f3fb49ec920\niv = b1f05bb66d29bcddf7412f6a556ff7540aac452457dd69e6\nkey = a9376583c47176728d7b2ed1039f0b12b2c7a97563937f7fe976ce4548f7cb00\nmsg = 4a3d9926dc9757\nresult = valid\ntag = 91c3356ee6601ae7073673d2ef30293b\n\n# tcId = 18\naad = \nct = 5b596bab0890286e\niv = f4f3484cacdce37cf5134a12f57903096acd3553607eb682\nkey = bf9ae8ceceb8d3001da7652c4cec02adda8696294a4ab542b41b5ba86c096a75\nmsg = 6eb5e11b358c0ab1\nresult = valid\ntag = d4474d9520f7178e9811f624209721ea\n\n# tcId = 19\naad = 06947c3afa797e99\nct = 80c8e9ac2cec97ce\niv = cc4781134455e89c836f7433bd0426776f945d82f6358276\nkey = d447796ed4ceb2e43942700e7759e335f67afa8653748db95f924c94488195db\nmsg = 77c46ada19c81849\nresult = valid\ntag = 9b62dcc8076098affcb6e7995aaa99a6\n\n# tcId = 20\naad = \nct = 37d696264f781338c9\niv = 200a30270bc911dd3b8a8ea2a6e6ce75be9cfb0f5431db3d\nkey = 08eb57d7bc113f7fbdda1b32237cdd06cccd52ef4a89a831c5e0564370c885ad\nmsg = 704df23a31893799ee\nresult = valid\ntag = 5fddaf74438159acc3c5667b5e84af13\n\n# tcId = 21\naad = 00fc4f61d9777504\nct = a55cbb308f81e449e9\niv = a613e0b17fafb47c79614d39959b986ba2c97b0215676d41\nkey = 9f093b6bb75f1609ab1e00a4bf4667961d885f01deb6520c5bb16ec21e033766\nmsg = 472578ece9fe828dc6\nresult = valid\ntag = 8174bd595da1be72cc226e74c46a4af5\n\n# tcId = 22\naad = \nct = 8bd51b64fcd244f0b3aa\niv = 21b40036745f64b2aab3e89665cf4dab2b690d88721fe9a3\nkey = e421bb3269130c731d1947e7b5d233c11d195ceed1d08634743db9c252bfefa5\nmsg = 1155c7f0ee3e1faa641e\nresult = valid\ntag = dbdd1558934b83ae4393ade73e9edadb\n\n# tcId = 23\naad = e7c9d1dda90b699e\nct = e5aad5c055dc6df73cf0\niv = 33dfa71a0cb2aca008e4c8e8a72dbda4c407bbadd5d7e1a5\nkey = 8a275c90eb8688c5d9e82b74331cf104a2c8757d6257079b1d8035bb40d6a8d9\nmsg = 3c2da491f244acfbd1dc\nresult = valid\ntag = 96fc30292cc8381c345d5f2964ba5626\n\n# tcId = 24\naad = \nct = 2a41cc14a6a65bbb153758\niv = 5a44801d2baabfe8cbee6da52bb51b5297856065fbf33944\nkey = 2d97a35e4b6617e5f4a0f50dcda7622f321cad936a246d9beada9d75e142ef3d\nmsg = b94df0d444dac848ffcad4\nresult = valid\ntag = 1044cd75f2e61cbecbf3a7a77c13ef01\n\n# tcId = 25\naad = d78dcb5431ef5669\nct = 5b3193405830b6840a4474\niv = 07590877a1e1df3a78fe4d04dd64b6cb79f1df45de17685b\nkey = 70d11ca92903865c6a6d8ba497f5a2d65f23b72198d7fc7fdaeda6c2632f7e46\nmsg = f61bb0dd66e5905f1a7ea1\nresult = valid\ntag = 4b10bef8e8a3c2e6ae87fb8fb2a8bdd5\n\n# tcId = 26\naad = \nct = 528dfb79ea182945f13bafb7\niv = 94f86b0fd8a6ed90d3780eca23a82f4387da82b0894ae317\nkey = 05c7317f07a0e89ce1b5ac41df8064faa9fd569ee1c357cd01a2872076477ac5\nmsg = b63e50c9bcd01406b6f78f86\nresult = valid\ntag = 4fc22f4491449bb4ffe6a1eb266e2a91\n\n# tcId = 27\naad = a67a57310055b193\nct = 2345bfc502f9c62d64ad87f9\niv = 829cb09e40c2cc5f7648adc177e56ef53a58bfa16a859338\nkey = 924aafdb5b8a206b3e49aefe8944918cdcc8ccb5bb4b8c4ee81b847aa6fa52a0\nmsg = 68576b935acaab8b33ab62e3\nresult = valid\ntag = 6736f095a28b887238f80dc562eaa25c\n\n# tcId = 28\naad = \nct = d1f725ace69f7899ef51c11dd3\niv = 016dac89c624a9d425ae377132421c37c4486895bef270f0\nkey = 332b7ec9bf4a983eb02af7efee8ffaf5627b66f29e3e4728f50894fe176788d8\nmsg = 8289397a58921bb3201b29c505\nresult = valid\ntag = 0d2858cc30497107a035929fdf2eb6af\n\n# tcId = 29\naad = 4dc711c827a6f626\nct = 6c0e9d31b8e45591726f4cfc63\niv = e8252b018f9e0c3fbd4a6ad0d06346302b8ed7dcb206c3ad\nkey = b75fd9dd7ecca4f3eab36c36a176530dd3ffc825c202613740311d11cd501804\nmsg = 9800f8b835c4ff490ebd764914\nresult = valid\ntag = 2ce700f1f3dc7d3f60607058ac3b817e\n\n# tcId = 30\naad = \nct = 23a49dbe4b699d481621d9fc2db6\niv = e698d39b3cec2634dbe035a55b8fce3b0041aabe4156f713\nkey = 2bddfb332f74ac31fcf91d652c7b41fbcb26a10f2792ecf8075478e645042f87\nmsg = 813974b924c7618c63070d0247f0\nresult = valid\ntag = ef2cfb8423ae6f9faaec81025e6e274b\n\n# tcId = 31\naad = 0b9df4ffd1c9ccbe\nct = 0596f5709407a62fffce84240346\niv = d025b0", + "188edc9c40a8d6fc807cead97749016c9016d62ea5\nkey = ea029c829c13a580b66aca21133a16933235c11c42905a640104a2ae9bb5cf82\nmsg = a67e672df18cfbe125b212d63ec8\nresult = valid\ntag = 893772def69053b0aaf3bf1c21144ebf\n\n# tcId = 32\naad = \nct = c5aa0caf82b963f1e9b84a789a77d3\niv = 9ce202557c11a57cb14e7e4bd7986f1cf6232196672d25ea\nkey = 1c838d9f68e687fbdddc6dff7f2e44b277bfeb316ae5d11b3e935889b48539d8\nmsg = 37905d98be9839e02923d119a88d56\nresult = valid\ntag = 59c3e2e43cc098ed413ece9d9a6fd47a\n\n# tcId = 33\naad = a2e44e165e7ca5f7\nct = f91d01453f568774115f75b5dad642\niv = ffdca5c51a0852ab18dd484af6664b63ab4097d303450837\nkey = 51a99f0646767fbc01d7736df0340191acfbb5ae0288ed6fff2d34f0ea31470f\nmsg = 93553954f0be4e24185601ce5c3c34\nresult = valid\ntag = 8fc36af6ae5ee3e05b38ed43598bbfcd\n\n# tcId = 34\naad = \nct = 732715c60018fb0ed55c14c1fa9a5273\niv = 25dc279923c1bcdaa7a36e7b884b51f62343abad71986037\nkey = 6a1f808358461e75072a054e2fc4e4c3e7f882c57920dda3278d0c860ca704e3\nmsg = f242209c67698ea32c2152f8785b7d82\nresult = valid\ntag = afe3c4f050bf001e1dfcb2313dd8edd2\n\n# tcId = 35\naad = 8981c7260d514ab6\nct = a7eb11bfaa0d1c2ce457598049399575\niv = c02c8c595064ac303b1be5df6ab43048856e97ae9962fb8f\nkey = 7fb18b56f3f5122585754a3b6c6a4e523036e66793db569c3e8e28032e916eb6\nmsg = 6e8c0bb3361908f5b33e059408651ae3\nresult = valid\ntag = 485a94f61aa5f47a3036e85a57effd2f\n\n# tcId = 36\naad = \nct = 0fd7386b41396e0558495c45cdba029062\niv = 9a61cf35aecbd40a65b35a64b516896f3de7f977b5c9901d\nkey = 3b11469dc670f5dfbe0aad7d15ee4862c92cb07842e5dcc48fa8e5fc817f1749\nmsg = 540731e4ba3e4e2fd623a1a13233736ee7\nresult = valid\ntag = 29f601a11f6a1072342c60b631de6085\n\n# tcId = 37\naad = 23230be73ba2a6fb\nct = 86d0fd1a325d501fe9efe83d3a3f62e346\niv = 6570889af7acab7f555337bdce05499e8eb0d8d3d1a77660\nkey = e6d9fc8a9e3fa6ecadd9faffbb6ff387aa96502e60adadab029a9146ee39de28\nmsg = deec95974eeef6e2b99739bed2f4a74771\nresult = valid\ntag = 1ed9a79616c787a8de2ff5cdac6af0c9\n\n# tcId = 38\naad = \nct = daea40da316b8e78254a737c57063c4ad8b7\niv = f3d84207ab5574e4bc74ae61b17ccaccc7c46eb3471e0e53\nkey = cbaa654cd4ad70ae96d3412680e60522807e9b887ec6dbfcd6e71e917e29ce62\nmsg = f55aaf5a55432c20fb782c552e5ae096eb23\nresult = valid\ntag = e13ff7a7e2c85b1abb5350134dfa7f9b\n\n# tcId = 39\naad = b6bea5c60f288109\nct = eef62d53545698255648a483708c9cc93937\niv = de1e034363b0daec9828159e7996faff33a5f63eb552eb5f\nkey = 5b51ea4943ce173baa53f84a6ef59cb1e25b794768508b8dd8dcbfbc1744c18a\nmsg = 953939dd7601f17071b2bf776e4b1ed629ce\nresult = valid\ntag = 182529b1d07dbcb4bd89b3c5e4c8fac9\n\n# tcId = 40\naad = \nct = 03dfbb3407a55ab0dbc451d0289de44acb5f33\niv = 74533cbe3ff9ec5a66604c88f5dae4d7efe4f604111f79fc\nkey = c5d3917ffb42b0508296cb245d468b04bbaa2c8c8c32e845415a911ea85f95f1\nmsg = 0afab6dbab51f929332d743ccfbb9f34877bc9\nresult = valid\ntag = a050def2e06a9ed3d10be180bafa636d\n\n# tcId = 41\naad = 880ac1004984fb3e\nct = 95a9bd7bf7e9836e5f8a75393c70da0d9b1d97\niv = 562f3b788783bbb72e465c9d04eb555f366c66de32356e7b\nkey = 77cbd62759966c03b4487ce7cb3fca652c30198cdc0de5d447256e979e041c87\nmsg = 0e677082f7dd9c56bd365310c15a18de78df6d\nresult = valid\ntag = f028003066f8902c5d74ca6bc526e346\n\n# tcId = 42\naad = \nct = 4ad85a75f1a975bbf3ee5302b71949036e3a2198\niv = 5fb9a00843c4b192bf6c3bc29451c237f30a607d3c637b85\nkey = 40e231268005ff28c36bd00167ea39131d262f3a591b0d1508c11b00ed04a0b6\nmsg = d34b950a1c4f2ae5c94a1fddd6574c5d9c0ab18f\nresult = valid\ntag = b82c05b09328949aa70bb537e871cd70\n\n# tcId = 43\naad = 043cd9069dbd8cb5\nct = dfca9d845c21093f43348a4f6e72e324e9673129\niv = 7ade1bc01148ac071bfbe9870fe2023a7769b92312f45e0a\nkey = d66e92c86712132b1e3f5ba3a4cd006b9de1fa444246d99ef02e5b190a73089d\nmsg = 1cf9f2a93cb056fa4222c5850872d9989bc8c185\nresult = valid\ntag = 9defc3de90d493be2a1945d11c569095\n\n# tcId = 44\naad = \nct = 74634f111539fac80bb29d76ba656e5af90fd37f8e\niv = 45ccb4a19073c79a4ac1e052d4664d0dd1c730a6a2e87fe8\nkey = 841404f7e07cdebeb48efd25a75444b6de170995cd460e38ff5930dc9cf5eba2\nmsg = 5d583f68421d00cd8d95896a091b9bb10b744c61c4\nresult = valid\ntag = c04ce25d27416ae5f181238acf9508bc\n\n# tcId = 45\naad = 91b46ee1f7a9361b\nct = 0c1afa5419abb32e479b181a6e51cd99eb041bc37d\niv = 89248df60acfa757945d12647a14cc5bc6508bb2b9e4999c\nkey = 77a812cdbce2b7327dbbaecf6f81340b0ac97589676939d1ff0e69c3373326a3\nmsg = 2573f8f0276ce3b2b38fb727575f376a2eeb305758\nresult = valid\ntag = 6c0b51ea2fc63841893216b03eb47be0\n\n# tcId = 46\naad = \nct = 59d9c3f18cbc59a3c04cdc6904cb860aae69a5485147\niv = ec272b052c33c84a611512a483c3fcec40501240eb7a42ee\nkey = f2f9bdba59206e8c31a3338213d6a46a40aee237f631906aff076fe2d29d3b85\nmsg = 408c4cac91b4bd3ce25c8971b1ed8adb20ed667f8393\nresult = valid\ntag = 63e55e220873e295a5b86543334b1715\n\n# tcId = 47\naad = 1bc37fc6729b401d\nct = d5a1f87dae98ab385d5d34626c295cca0ed6931635f4\niv = a131b4b0582be36dcce56beb036ec4fc31147efed7ff4718\nkey = d9aa0213bfac5ee89f9ef2c6f616d8f71c3725dafe7926504e18b141192c33b0\nmsg = 081280932efbce0a5500d76d41c7dd2ddbc3311dc0cd\nresult = valid\ntag = 25f2fa45c86c4cb0f02f99050e9d5ab7\n\n# tcId = 48\naad = \nct = 93034cdc9298d0086b8e8bbf3aea637484454015cf544d\niv = df72b7fe00eb070276ba1b0de6b17a6100fe0d660bf3c6c7\nkey = d7b0b278c5ede48da2db2f6ec6f8b23282d3c940bd1eb59f7102bf69c683298d\nmsg = 0f44c184d297c0a66467d54ac982f922b119d5b4c8b238\nresult = valid\ntag = b1e1dcf03663a995c6c14991b5558159\n\n# tcId = 49\naad = 04e0e991fb5a465e\nct = 83a8bbe26ad18129459f66f6dc771c653a3dbb88a00b11\niv = 0378f12d4891c68477d90f16f2ff59287c81922b73cec608\nkey = bd5040047cd7bd0bd1ca22164058a2901feb383c1ccba5c71c853f186d4e2b9e\nmsg = 29b7080f92c860ca4dd501f18b041c5cbc5c131783a720\nresult = valid\ntag = 791971c0f5ba2c8b7635924267c68f32\n\n# tcId = 50\naad = \nct = 1a0bc208b17fb629200e805da495db70c599ecb3c3b9cc94\niv = c9f5d4dfd5dd2276d68b25c6178d9ef2f38756df4be9d4b3\nkey = 3b96dbe28ee07208cdf703f1488f478134147363da1502249e025e0efe5cb663\nmsg = 8f37fd7e3e2f6563a9883d4adb92b5c37242a56b73a6fb7e\nresult = valid\ntag = 08b9477bc98543019ddaa7ae380f83dd\n\n# tcId = 51\naad = e1b2f309ce5fabe8\nct = e9dd13d48dd7258682311bfec967e1a1ebc562855f224f41\niv = 90b932e3464c8b66d3d2fec2bc9097289f147e05f18a9867\nkey = 53fc679ebe23b70714ab4ce6c8b0de5df656dca27177512654da31f6848dbe6b\nmsg = 8b0b4038c0eebea97fa1f93b7c2f3576898e7cdc9fd702d0\nresult = valid\ntag = d9038207dbfc82a9a9d507fe254d57c2\n\n# tcId = 52\naad = \nct = 666f807a6e5d0253fe1967d45efea42cf1f421789b7f48e0dc\niv = d758776af8d089ef14a075ddf683e6669ed8109fe5681833\nkey = 275ac60ffa734bf86601c951d0bd263b9651181c32f41fce90d59cb8d59da081\nmsg = 1fa3b565515a429f78fb36e93e048425ffb64bc9e9e68336b3\nresult = valid\ntag = 5d423636988dd257e5cbd40ee28ae94e\n\n# tcId = 53\naad = bbcbfa1779f4122c\nct = 369a80f75ad28fd05cb3c944e0a8c8b37ce65bbd1f6d4b355a\niv = 9628e46f25d08b206371449e7321d6bf5d811629e01ef32b\nkey = ec4d4b14860a36fe8afb2861c1376db8004cc2d37eb1ebb609343daf24bc39fb\nmsg = 201ec6c1d0675e818cb7a4e583ea1aa1afde1bbda1f0f549e1\nresult = valid\ntag = 3ca5005eda0b99d6566ac841340ad23a\n\n# tcId = 54\naad = \nct = b6faccf43dabd8965cb231fe96a2bdf2cb51e0b9afb6445c21eb\niv = ec3dae28ec71ceba5b97a933d30b9fb98a40d4c92e6f54ef\nkey = 53f9c2c335c1c5cde744e890f6bd291e4484925aaa036f1e74f0144603322648\nmsg = 00f4f6a8c09ecbff3e6e825ca676a5cb8373d4915ecaf5d317a1\nresult = valid\ntag = ee91b39d01a114f80a7c5e7e1a0b2868\n\n# tcId = 55\naad = a6d7d9034512781c\nct = c97a4ba644788bfdeeb0a5de228948902a57359879c82cf8ead9\niv = a7f4c26140ba7d8a884de794fb23a50c6647627fa85ef9f7\nkey = 9bb8bc991f01fb26df610032e1bf6ed0e2652629a6726aec9c23df4fefbdb594\nmsg = ebcb0777bd1c3385376270e543521e11f4bac00d0f9c0192581e\nresult = valid\ntag = bf51aa205497db895f008d828040150f\n\n# tcId = 56\naad = \nct = 28cf032caf586255ee3f3f70492d33458a7b42473b8e354d983dfd\niv = 7e4c8d0e24ab24f500053964774c92f808bafc42be0f6a34\nkey = 69b8b0846c47226dbb278f83082b75476e89a77444bfa06de69395f16c6eed01\nmsg = 3b406d4c07f2ef751ac701fe944b2392bd59fb0ee4b32e6cbf8958\nresult = valid\ntag = 58896a5d7618837701ed8dda9b18d82c\n\n# tcId = 57\naad = f5fa84749ff438f4\nct = be95d62d6acb3e5344f6b4ddbddfb45fa479c2d1577a42967dc0ad\niv = 26b2165f4b22415df4c052564b87d62c4c2c01df47c82cd8\nkey = aa6d2da8fe7ce3228f15e09ae8c7f3d1b0220679a3e0e13e7523060b5b8d09b6\nmsg = 92763e759a5c0b8c4d40d6398fa9e257900ff4b1f31000dbd9a15e\nresult = valid\ntag = 61ac094fefb1237c9d44ab7f4bbbf5f9\n\n# tcId = 58\naad = \nct = 2248e5332ed42c42fcb6a029e3d8f9f96cbc32d34fa5f302fabf1bf3\niv ", + "= b595d9204461e311915cc17df51a3bbfa55c3a98aafbbaee\nkey = 31b9e848dfd3dd1ec05410975190109f550ee6e5235f040ce6faf6c380fba49d\nmsg = 95272cdea7a15889059b4e1de058c869e1776384159539470b542ed8\nresult = valid\ntag = b777e88479292944c5d6ace1ffd24ac2\n\n# tcId = 59\naad = 96fc6284d7eeb53c\nct = b10f9fbd87f51ebeae1942b9afb59749987b1575babd8008b281a662\niv = bc101b6d01bda7e13d402aa0023f0507ab02aa58758cb6aa\nkey = da132c34b2291a15777d3ebda2ed0078028c215038c2410d822578dcc869ea8d\nmsg = 331f3d53965bfee2edb463c5b21751eb445289287fada2aedae99258\nresult = valid\ntag = 54ad4e664b86333223fca6869c501dc2\n\n# tcId = 60\naad = \nct = ffb587ec97c7d11ca75629f066881f6b2c392fa71b73fc4cb4559a645d\niv = 4adcd5ecf1506fe7a38adf5634b454bf90278c9ebffbac87\nkey = d7e5e9c008af44266c876fa6b02a453854703c1a4fd221573c382c8d512a982d\nmsg = f8b3ae84d6502d353d57c970da5f9bc53de7a5c6262ba7a7b2220d0ee1\nresult = valid\ntag = ec9db510c3bb11831c20684d82e45053\n\n# tcId = 61\naad = cec8c976f2e25979\nct = 5d3ce03a6f43eab32a91b6eb87666af14e5e28d98d23c49c56557497d5\niv = 055776b422138960f6631e3c58f3ba0688082747de4ae5f6\nkey = 1e72be02d7ebf3c78b400efd005f5b6b983ede08443541475808d43e6d30eab8\nmsg = f2654733ca29af4bb29347f7a6508ed87913e0faa885505928ac1ee86e\nresult = valid\ntag = b324b10851d159bd3822705a9d638038\n\n# tcId = 62\naad = \nct = aa6edcb0f49535b2d2fa2e5f0b29343ba0c9c1667c401c78a3a8b8a61ad2\niv = cb52ad5674aff0762ef49fb3bed4722dcef2bcbc4f3c316a\nkey = 98362eff7af1e38d3d77d4a013bb6bf3fb3690568bf897651c578b21572fd37e\nmsg = a40610eaf3a823c06936293473ca36a2952d0eb5e5bbc18be123a07f8bc8\nresult = valid\ntag = 98d5e90a5a64e411c98d7c9e91557f5c\n\n# tcId = 63\naad = f5203e702570c4b1\nct = 3d1add00e51e60b16825272790ff47c0d533bfe65484d105ee7a69896c48\niv = f2f09c3469e2cf73b07620e461d7b1ad999c5f7d54867d21\nkey = 8f0e3dc43b86943ed4b0361fa5aa49999f24bc1e102bf3afb439e44f9ce43504\nmsg = dba4ed2a7938826c43548f6976d8f0ec1838fe71cc535b2a5d56e4d3d5ca\nresult = valid\ntag = a018e2629d5656920f1202e65624b056\n\n# tcId = 64\naad = \nct = 1ca6389e16c2f43e9e89447991d1472c8283a8dd94fdf61c4f5aee746cb537\niv = 17d6ff40ad135ac9df55fa5c0eaf03e5d91cdac63c684e8e\nkey = 16a376d68b3105262a07558e5e448ecdcbe075770cf60e7b7db1420f4fa4e36d\nmsg = bdb5500794edd38a398f18f83de03e16f135ea960d3b8c6578abc541aa1d03\nresult = valid\ntag = 33107bbbc06e563abf48979dbc7c66b6\n\n# tcId = 65\naad = 3fe9ad465d0aa3fa\nct = e8ae311bf2e80d696c543cd272d3e50dc968a0ab47259c461e0dec35f77530\niv = c306b69443bfdbedb5ce9f9bb6088132a88e8a175d3bd769\nkey = 8e1fb8cc57ca60ae091d27e292923272439c37f2dede36b2c2aaee96439d5a31\nmsg = 1d884a83a5f9b00b8951ef81778bd7c991cdc911127eee9dfeff82c48ca937\nresult = valid\ntag = 906de4c31eb2ce283eeb95388b0d83ce\n\n# tcId = 66\naad = \nct = d34c1778d105d0e80d429c86b879d52835cf8aebc5a04a9084cff1f9646e040a\niv = 0140f2791eb81fd4b69edf2d9ba4b2d62eab1d296741583f\nkey = 2ed460a56867ee1a2877a8f3d2d98fb886cfcc8913e31c3d08f42374ba37ebb1\nmsg = 318cc4bf151c3baaee5a783ec091ab618f2ecacf38c962ba9c32c323696cc94c\nresult = valid\ntag = ac8a68605a0567c559442342b764b964\n\n# tcId = 67\naad = 1264b91e71865033\nct = cc24cfa62063d11b2c31cf25ceb7308ca376feb1dd6bc102ed7db8ed46b06759\niv = 97438f178419732feaade58a5d5c21bed14d04c4add50465\nkey = b43328e39cc6f6e94ea601fbebadb4b41cfe6a52c3a4d5eeabaa9853db45ccb1\nmsg = 63cb5c20c9edf36757b795921437d3fd228af1fcdbb329505cbdde12afaf9f84\nresult = valid\ntag = dda7fc160e23f57e8392809f1e3b5ee8\n\n# tcId = 68\naad = \nct = 82be237be008228a8a9ff1a506d5b893cf9dcaa1dd33c0523b13582bcade4629ef\niv = daca1f50a4c0d9b77151c75f2e58ce404847d0aab493086d\nkey = 92b9b40c00480a50ee16a86349a46e37b02d5ba74d2e5a67eaf333e467fa0152\nmsg = c857f3c55da61d72563912a2534e01b6426ba41bf417c15b725086d31a1645c94d\nresult = valid\ntag = 723437af0b684b6e04024352206cbaf9\n\n# tcId = 69\naad = aaefd84240ade0ed\nct = ff98ead89d45d70f09b9e3f31f4ff56ae8b8cad1517294a8af3c962bad24a92efe\niv = ffcaddf85da09293c4352c81cbb5dd82e30b0f9e7623e92a\nkey = 5c271bac09a0454c83d158bcc9ec331ca92e62726903b7bb5799adff47d671ee\nmsg = 7c716a5b6cf0b8b0e1ff825ff9324bb5715b0d40af5338d5337f66de681932d423\nresult = valid\ntag = 4b8a06a1613737d0f8e3fb88184b23e4\n\n# tcId = 70\naad = \nct = d0e84c6450f348d887c49c4b44ac38721d4a1742e72095c330249c7348bade49dc776d449272e0f3dd5422c2a6ab18\niv = 64cc9f3cc334abce364cec9efe8ad54117ff0bbb03e3e8b9\nkey = c28403cce44ff256d055c2cbc84bb2d9773346e0d51bd38e80cebd861b03fa30\nmsg = f9e8f60b70044b03a189c26f1c8fd246239bc23f8adf0f88516f88d73d11c9290882bb6ad49d956b10c9f848180065\nresult = valid\ntag = 28c72dea441cffac2f7811286f8ea5dd\n\n# tcId = 71\naad = 7185f9cbf59d2095\nct = 4093dcbca1555835b78140fe7a3798a77bd97a01b0a7c1f7157fedb27c40d9d16cc3e935f649faf0dcf431636cd539\niv = 7b97c8b1c06b69b99220042ab2ac65b88d8b4294b76b4bd1\nkey = 7c72c748ea0010c90e1dfbde8e91edf6ead2474148cf234e0559dcd881cc3b2b\nmsg = 9a1f6c42a8a0f3032e8dfa36e0f5750479276866c920672a0454c41bfae5dd74fbf0fbcc8e6fbf4843f20d06440837\nresult = valid\ntag = c7c9133ff17a296c987d72885182874d\n\n# tcId = 72\naad = \nct = 764ab84b844b57b0564f63ec70ad12d81dc3a0e65233a9bf06d6b2c653787eb991bc37a885a04509690ab49fd8dedcabe3c346df9036d735de3bf73ab03f5ba7\niv = 8052acef0423bb07a6fbaf8f63039f1eaa2cdefc61b31b18\nkey = 7948151a374363d07dfb12869b7f90502f2de8117d3d72d5133b9b3e3dc78ef7\nmsg = 76e03034be5514561e99c32ab58901eabac0f67b40c366202ac8a08ee3f68c3b283c1adeefee6f5544330d4771e5148c5231ec27b3f3f9d81a3dca52e115e1b5\nresult = valid\ntag = 075248c91d1f246aebaa96c86627d18e\n\n# tcId = 73\naad = dc514d540551b9dc\nct = de03f775aee744e4148e008dfefa7156ce2a23a613d4d9cae99c3164f54a173f895a9466ef046c020179383d70c813e765f207860c79dcf627f17663ea76af20\niv = f357e3b3d3d5e4187e34da08afd4817635adde91b676da1d\nkey = 50a1b2b155150936609d45596e9175f3271be548574405f827593fc5a0578c3a\nmsg = e854b8531ace95c975a5b1497f3dec6d80b29ca673690411abe277bbfd29fa00133ee17570805c1c605452d648581be8db878e782f217b481b1268591593efc0\nresult = valid\ntag = b473a9f1d5312d556bd0b62d84bb0803\n\n# tcId = 74\naad = \nct = 98fc26e0cfd5a75b5bcd9e046e89c6e9dc5aaefdd5e8ea7e4d286dcdaca0fe6ae744d244678f91c9ccf6e294bd5586be671645ae87d3435836a5ab383b253602c25a6cc04353c076725b4fc4aff9b4dc9bd194fe92ef0a920f15d6b8fea9f19065\niv = 6d609141e3e4331f55344c1f5e6fad589b39ec1d12b9fbf0\nkey = 92570a01d2b6123b67055400c8a9b0cb948e32c9b8520758cd1abd73f83c8507\nmsg = e86fc97c194d37a5e1345d139fe82dd669b6350c435cb446fcbdcc90fe5859bb2ef1f69d930e29dc343b57dfd7ff3c382652939bbd1c978a790ed1dbe5ad1fcbe157925ab4335c649c2f80c19d541e9e7eb4feb64e596bc6d7df8aa3476e0a9f7e\nresult = valid\ntag = 03bb49593f116a30a8390f96380a9888\n\n# tcId = 75\naad = e40cb55a18f2885f\nct = 7042beb6e4f08e583752f23048e2f3433e0821423d72a7e531b86684b57b32c5bdcc11164db0b8516d7b463cf7f8b0e3ed8a7d584345934ef184e4f8fee31e126601f08558c725aaa23d38c8017b07adbf1e742128795b03458b581b8cd9100bd9\niv = 1a80def5bd8be8eef5f6643a5c1aed9947c3ee5ca0cb56df\nkey = 4a3bc8f5c4aab87c20772404a291c1d6d68eb12e5f3c82e582564d6300fc28c9\nmsg = 2b0815f7eb0a83b9617e4f0906e9179b600b0c822bfb56c5012103aecb4550a57099dcebae00b6c06f3537fb1550c78b249d00a4007d23b882cb5511fdd53482575554028e9db437b8224368ead730d157a64d5571c706cbd9c0d2b10b3b14c3e2\nresult = valid\ntag = b5e3df83f18cbc0bd99427b9a172bf1b\n\n# tcId = 76\naad = \nct = cf2e17f9d8c6562de6d3e8c8bc30ba2904cf5c3616d15ea77667186ee45f444ea264327dcf210b6735a39005b62529d557480ed0462e49d982cf5962e5ee6d8ccc388d5de102e676a55426ce5a873d2e84a2d841e7b30c7ab19035274886b3c5c979d065bdde9b0b9e466b22559e30a5a5abc4817312e15d2c0dcdd99d867361\niv = 3507ec4cd1a6c2eaf081ec32888e08839481f35b3b0f7872\nkey = 2e89767b15f18b855d04c0b6b47c1f8facc9a058e2194ad2ad901ef940ab54cb\nmsg = eff2e375228756f995b8ab52213177c4b7ca92bc81114f5c23aa64dd7eaff7b86ee2e674984c4b65bf4c5ff402e23902c005e05de25b3c6e8a64323aeafe04ec6cd1f6c851be39e55208d76476d3ed7100042eccb72cf1349ea101253b7a5a4a8677c1d6df5a54e9c24558e2d68c3f50acbd1ebbb4773884b0ff23d95a4ff60d\nresult = valid\ntag = c844d555bb43a83b4aa735b2aa1d566a\n\n# tcId = 77\naad = e2f0d2f16704527e\nct = 4f0e805a2b3f2e1bfe3c06c83f5c77b9c4e562514a78f9f2cbf3206f68f686923656885878087d17da261666e798649d74841753525875f425e82a4795fdf8dfb629a8b1d2faa5594557d62f421f4e6a5dbb9f8336875f2fe2e2a4a1d0084358d9583e6b6662895a07c924c0a7cdba07be8a020e1b8ef3a0b5d007ec47a8e8cf\niv = 0a5914f29abb1cb48dc686159f09480370477f6069018e18\nkey = 6357cd94e2d9503288eaf3abf9604b050d4a483350a828029baaa9cae184f075\nmsg = bb266ddea2f88c2f0fea7f0cf4a1a3336334", + "4fb49672b821f76863a9edaee638d75140d21d848efc475d3814911c8bb34202c4e7ae0de1a57cea6f3af7180be454d7bc6fa5c02a999dc71eba7d5553828c963c1b7c559afa2e30e788ef2d0b479d0da1f24fcda5548773e77abc716f498b08bfe69b1a7e4b6fef27ccc72686d4\nresult = valid\ntag = f130ad7a2b7dad5e8f8715eb5b93e45e\n\n# tcId = 78\naad = f5\nct = fe59e8bf4250dc02843f3be602a7aeaa\niv = 74ef0301cc545539723c78ea9e2d75b851ea8641df1685d5\nkey = 57f37ad4992d336d13c3967c701e60c7842a55195687bbc1f680a33e78e0658a\nmsg = 58fea87518e42b504a9c53035081aabb\nresult = valid\ntag = 012c6e4f5017c78b96247763c8ff5f68\n\n# tcId = 79\naad = b93b\nct = 7b2f702cf01a0007f4bd949230197e78\niv = 4a75dc9936c891cf5385f84e2a6d484c612115b9ce053f86\nkey = aec0407a0cfa59096a489edc29e40cc67843ce71a95afc8deaa409a655aeba3d\nmsg = 8afe8b8b22ed249e21a44247345ede5f\nresult = valid\ntag = 56bddc4fdccf099f128b177b3cc73520\n\n# tcId = 80\naad = d0926a\nct = f95dda4c5457dae8daffdf0ba5439ba7\niv = 91752e5f97bdadb6a9811c2144e27f73baa9458b6c58c9a0\nkey = 9b0400ac1a917c7571430b78eca2c108e1824a078f21eb1995bfeae7fcc51f83\nmsg = 2b512160837e427a04c6bd9105cd2304\nresult = valid\ntag = 3e97e87d976efe3de7d84df933ac980d\n\n# tcId = 81\naad = 6cb8a59b\nct = 9d2527bc8df2e71d20864e7789ce2a84\niv = 95150d436a72c173e502ac22df904f26c0f4edffc29ca98b\nkey = 85b2f31409600b36ba8013f79b6aa84c9509546e218edb75c77d743a781c9bf4\nmsg = 44872f0602c76c1d4d36fd462cc886f0\nresult = valid\ntag = acd61c1b526988ec6105855ebdb7533a\n\n# tcId = 82\naad = 20976ec087\nct = 9d403b239c7497781bfb4468bd930cfe\niv = 383cd40e9aad35c35e3a46021b90acc87d51255be3443a7b\nkey = 76b087aa42ca8bb9a42133eb9279da0d0093b4e5028f4edd1c2183f81e6754b7\nmsg = 671e3615661511a8e668941126908c84\nresult = valid\ntag = 83dc6dfb3ae111ab05ac30116b89d65e\n\n# tcId = 83\naad = 03caf0a03be7\nct = 610417044213e2a64c1b9b2fd1839268\niv = da3fe15576474fe36bc3d2c42fe505617454c23aa1475e80\nkey = 335d796b0dff04636e39bbc408ad6aef0d423fc1772994e61409396c9c1ff1b2\nmsg = f3a55e4591e697a9f1aaac2eda219c59\nresult = valid\ntag = 444c11cdb783c3b432365ebe12378c9a\n\n# tcId = 84\naad = 16317d3050bf51\nct = 25a22c28b26f1712ba56b46e0103c444\niv = c991adee7c6e2bc5aeefd24c11be59a429b3198a3ea372cb\nkey = 0a059d6ed699ffed57c6734b67eed5bd62d508772e0d1edfb5793f805908b035\nmsg = b1ecd5c730695626454e8f89a598ad23\nresult = valid\ntag = ef27336fed160e6bbf257fb0e7770aa8\n\n# tcId = 85\naad = df2f4f832de7a1518e\nct = ceb42438dc40f7a0cc38ca0b9a48091f\niv = b755995c547fdf21a2398d1f4adc6476d1291b1723a331ee\nkey = b992dd885d0499a17268656665fde641be102d2fb642992d97e3107ee9aba20b\nmsg = 5fc0609d86c5bd4e5e9e335cb1954458\nresult = valid\ntag = 7c1045faf49b58415ccdd2a1e2bc4429\n\n# tcId = 86\naad = faa3abe6bc4eeb5316bf\nct = dbb22f3a39c46abe3cee3980c1df88bf\niv = dd62b11c6826d2c53a8be69860f359a703594efaa42411a6\nkey = 58fcfc12acbb234bf13d28b856693a0952245bc0c1d751c52bca708c7a196137\nmsg = 66cc8a0fad0f6b05f0422b53ce8fecb3\nresult = valid\ntag = 81da8bfd8ebbc1eca4870f8196156e3b\n\n# tcId = 87\naad = 9a227709205f1f740ed232\nct = 4905c8641a0ee3ea6687ed7452527903\niv = ca05d9a76be1149bcc4ef529b305854f7990b20aaffec384\nkey = 2765b4d865629fc232d37ca5e240a8532dc9a3e381daa7ca547ff5da5c417e41\nmsg = fe956a36f31adcc13ccd325f7a17f59c\nresult = valid\ntag = 7d574e549b5cd377992de204627de5fa\n\n# tcId = 88\naad = af191751f447cc49efff74f8\nct = 06218a47245edaa15a9f1162ec011d3b\niv = a37403e233f4fed7e00d9bf3a5407eae04fee3d667b65493\nkey = 430878f3ab311fb40d2c9b0f534a4043350f0ff495c80122355ec2b7557cb831\nmsg = 6e775f424e7d9d8e23cdbf14607d3a44\nresult = valid\ntag = 478423cbe48897ce756e3adbd9a1ee9a\n\n# tcId = 89\naad = 455fd94646f6edf9aef71275e0\nct = 27f9bbdc89a079abba54ddc01781f11a\niv = 1ed54a330d347fb9ffcc68cabe540f2ff300cc3ee2691255\nkey = a2c4d1d5ab1dc812200e18ccee9ef797195633d355a873c90f6d051041177cfd\nmsg = cfac1a30be69f203e6efda92a19682c1\nresult = valid\ntag = edce3ba94ea658694368d78878ad9227\n\n# tcId = 90\naad = d5736a239a1e598560a84a81a60b\nct = a712f0a4c9932e6413bf501508693a5c\niv = 6cf744267d87aa512f949e66579c074c6ac371d5228adff3\nkey = 89f5bf87986d39fdfa8debf5a9810d3cf186f277f5fdc3f849ac7dcce6381205\nmsg = 9775a1e1ca33d579075e0a80f2bf1184\nresult = valid\ntag = db8c77d539a6b41b6fc2d32ddd612ba3\n\n# tcId = 91\naad = c3036660fc872e55b0697104be59a2\nct = e2322c9638222677e4b6f7fa474accaa\niv = 7c76e9bd896c75245444f96fcfc419da23cf09b3be3610f8\nkey = 67af73796c9eba6ac7a847825cc56fac92595a8eb17ae2fece4a1f09c9d8c85f\nmsg = 3454b49cf7d10ec416770f76aa73bff7\nresult = valid\ntag = 82712972e906ea74f99dfb642c560db0\n\n# tcId = 92\naad = f15449e7c7810a11609f5da5e33b9085\nct = 7732ee206cd5734558c2f05f5bc1907b\niv = 367a95373b3f2bd4f2bfb03619368639fcc19eccdeccd04f\nkey = 73005bc9d00e9688afcb340ea7cf81113d49e33d628e13b89949920102b1a9c1\nmsg = c47c17dcd3efabfe2de42702f27a840f\nresult = valid\ntag = 4e32369f9ba08950b27b7952c3804fe8\n\n# tcId = 93\naad = 17bc7a713365234f08e703a652816245d6\nct = 8ed2c330b349dac3709bbc8ca2fd6d52\niv = 36213fcb5bff9b54db3c6af8c24a758b29b1143970b44168\nkey = 3a0c554dc2242950ec97b63a7f1de739ce18c247f4ce1f23b539b51feb82bec8\nmsg = c04a2ebfcc30967e691a9ef1c52bcf6b\nresult = valid\ntag = b6c38642002ac48847c715b317b26a86\n\n# tcId = 94\naad = 7f1e1f7fcb831cd7501e9608fda8ccb3c54f537ad601c033fdba7f7dc419\nct = a4fc8309e455d263bc6b4c95e6c79cb4\niv = bd605dba58a18d5a38fcab1f92f6cb406a276d8d0ca7fb30\nkey = 6419d685e6804488ad4f09870db55f2448b82d4715e1d5fefa00ca9e08f21bc8\nmsg = 676d9476348a31c6873016ab196852fe\nresult = valid\ntag = 9a439843444888d056b3e45a718a000d\n\n# tcId = 95\naad = bb044891ccae7f4f9493b8728293b772613c4ef2c088b3922f14466ea32a7a\nct = 1351d5642bfa9eaf78efd34733bc0b5c\niv = 505a1b8d68cc2f77a10ad67cdeea4393a2ea6db590f5be17\nkey = d92d949112061c11471efa77552daeda52b390efcac420c453c5b8499048983d\nmsg = 161dc03e36cee9f246fd3a45481eea46\nresult = valid\ntag = d666424d2d66969944f2b1a9dba68ebc\n\n# tcId = 96\naad = cf8c4a35d879e5051b1cff63ac64580ee80a8d80e9b6c90ff841fab3673aa573\nct = 7454d60539e1738ab6ff8609443a90f5\niv = 972f9e74b0d118734549fe0d237f0c6249c43674ceaa328d\nkey = 2390931b9c99b9ac7e56bbbb86e6794b36ec3175432f731bea2e3a12c83e559b\nmsg = 0a182ff667eeccab0f8054405879dc36\nresult = valid\ntag = dd67f6363f66d20541d0aa24008be6ba\n\n# tcId = 97\naad = c69f4dca85af6c39b5991f9386622f98acdb24f66b785cb3636a212ec13bed601b\nct = bb5efe5a45ea17d63eb75509452daf51\niv = 3654bf38ffe7d4dabab310657322af2da359fcaf79a81044\nkey = f563e70eefbe6cfd7a0b0d167a8b381fd14105ff4426fa326e9c2e4ca059a53e\nmsg = 5133dcb7ed3fa91add15224a4a9d21a9\nresult = valid\ntag = 31502fc74e063f0636bf9799f02c147a\n\n# tcId = 98\naad = 760cd62e1d1123fd7d49b670037adb6dae66e7c8a0ca95ffed67a5965a35ca21c0ad9aa069d4edd48b71d5c93077ad\nct = 5e8d9d12295525439d0a9fde1a585ca4\niv = f2f43b87fbb56938060cc9638d3d61ff2ebf26d037e4564e\nkey = 7c6410343a2938b9cf2d82419ee8c645fc9ed819b3b2ef876af0b1221ac4590a\nmsg = 998c2e5f2900a0ab445b443b14e343e2\nresult = valid\ntag = 5b7be3245ab2cd28d6b8a4b884e7547c\n\n# tcId = 99\naad = 00000000000000000000000000000000\nct = 0000000000000000000000000000000000000000000000000000000000000000\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 60e28a8f89adf230daab792c94dfebe766eda542d7c092d97ccb7501486fc6a3\nresult = valid\ntag = 52ca5edfb3c4fca83d5776154188a08d\n\n# tcId = 100\naad = 00000000000000000000000000000000\nct = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 60e28a8f89adf230daab792c94dfebe766eda542d7c092d97ccb7501486fc6a31ec9568c72a762296f76685b29a5f903cb0198722ad071bde29b48a62d367f3b\nresult = valid\ntag = a7c21e96322a7f8c453961640791f3e6\n\n# tcId = 101\naad = 00000000000000000000000000000000\nct = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 60e28a8f89adf230daab792c94dfebe766eda542d7c092d97ccb7501486fc6a31ec9568c72a762296f76685b29a5f903cb0198722ad071bde29b48a62d367f3b1e90919140f50187df7df42caa37287538c16d", + "481265de62bbf98c235d595c824575acd33c51e271f13844673cb5dafd249dbd394b866c34aecd42c57f2630e5\nresult = valid\ntag = 70b88b3bf88b8f11f7513545b8dbfa63\n\n# tcId = 102\naad = ffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 9f1d757076520dcf255486d36b20141899125abd283f6d2683348afeb790395c\nresult = valid\ntag = c29cd2ef4874d93267c935cd9ffd34f1\n\n# tcId = 103\naad = ffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 9f1d757076520dcf255486d36b20141899125abd283f6d2683348afeb790395ce136a9738d589dd6908997a4d65a06fc34fe678dd52f8e421d64b759d2c980c4\nresult = valid\ntag = 02add84dfa902f0d4a11d3bdc096417e\n\n# tcId = 104\naad = ffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 9f1d757076520dcf255486d36b20141899125abd283f6d2683348afeb790395ce136a9738d589dd6908997a4d65a06fc34fe678dd52f8e421d64b759d2c980c4e16f6e6ebf0afe7820820bd355c8d78ac73e92b7ed9a219d440673dca2a6a37dba8a532cc3ae1d8e0ec7bb98c34a2502db6242c6b47993cb5132bd3a80d9cf1a\nresult = valid\ntag = 82a067b3b3e51cd9d139a5222ea70258\n\n# tcId = 105\naad = 00000080000000800000008000000080\nct = 0000008000000080000000800000008000000080000000800000008000000080\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 60e28a0f89adf2b0daab79ac94dfeb6766eda5c2d7c092597ccb7581486fc623\nresult = valid\ntag = 2bd279a556e3dde6151e698e0496b3aa\n\n# tcId = 106\naad = 00000080000000800000008000000080\nct = 00000080000000800000008000000080000000800000008000000080000000800000008000000080000000800000008000000080000000800000008000000080\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 60e28a0f89adf2b0daab79ac94dfeb6766eda5c2d7c092597ccb7581486fc6231ec9560c72a762a96f7668db29a5f983cb0198f22ad0713de29b48262d367fbb\nresult = valid\ntag = dc37087d3aaa8b97e985152fa9f1ee04\n\n# tcId = 107\naad = 00000080000000800000008000000080\nct = 0000008000000080000000800000008000000080000000800000008000000080000000800000008000000080000000800000008000000080000000800000008000000080000000800000008000000080000000800000008000000080000000800000008000000080000000800000008000000080000000800000008000000080\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 60e28a0f89adf2b0daab79ac94dfeb6766eda5c2d7c092597ccb7581486fc6231ec9560c72a762a96f7668db29a5f983cb0198f22ad0713de29b48262d367fbb1e90911140f50107df7df4acaa3728f538c16dc81265dee2bbf98ca35d595c024575ac533c51e2f1f13844e73cb5da7d249dbdb94b866cb4aecd42457f263065\nresult = valid\ntag = 3b1dbe65bafcd37fdb15b34fafabc07f\n\n# tcId = 108\naad = ffffff7fffffff7fffffff7fffffff7f\nct = ffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7f\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 9f1d75f076520d4f255486536b20149899125a3d283f6da683348a7eb79039dc\nresult = valid\ntag = e994b729a655f8f48e024354dcef21d4\n\n# tcId = 109\naad = ffffff7fffffff7fffffff7fffffff7f\nct = ffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7f\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 9f1d75f076520d4f255486536b20149899125a3d283f6da683348a7eb79039dce136a9f38d589d5690899724d65a067c34fe670dd52f8ec21d64b7d9d2c98044\nresult = valid\ntag = cd37ef66f2102302a6c41ef31e364660\n\n# tcId = 110\naad = ffffff7fffffff7fffffff7fffffff7f\nct = ffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7f\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 9f1d75f076520d4f255486536b20149899125a3d283f6da683348a7eb79039dce136a9f38d589d5690899724d65a067c34fe670dd52f8ec21d64b7d9d2c98044e16f6eeebf0afef820820b5355c8d70ac73e9237ed9a211d4406735ca2a6a3fdba8a53acc3ae1d0e0ec7bb18c34a2582db624246b479934b5132bdba80d9cf9a\nresult = valid\ntag = b73b3589f174d86aed75271837d73c3c\n\n# tcId = 111\naad = 7fffffff7fffffff7fffffff7fffffff\nct = 7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 1f1d7570f6520dcfa55486d3eb20141819125abda83f6d2603348afe3790395c\nresult = valid\ntag = fbf9b30e0b9c1240ee0528ba82e961a8\n\n# tcId = 112\naad = 7fffffff7fffffff7fffffff7fffffff\nct = 7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 1f1d7570f6520dcfa55486d3eb20141819125abda83f6d2603348afe3790395c6136a9730d589dd6108997a4565a06fcb4fe678d552f8e429d64b75952c980c4\nresult = valid\ntag = 1ea55841efece2587f6f72c2a2d1e329\n\n# tcId = 113\naad = 7fffffff7fffffff7fffffff7fffffff\nct = 7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 1f1d7570f6520dcfa55486d3eb20141819125abda83f6d2603348afe3790395c6136a9730d589dd6108997a4565a06fcb4fe678d552f8e429d64b75952c980c4616f6e6e3f0afe78a0820bd3d5c8d78a473e92b76d9a219dc40673dc22a6a37d3a8a532c43ae1d8e8ec7bb98434a25025b6242c6347993cbd132bd3a00d9cf1a\nresult = valid\ntag = 5adef66e4501595bc742d55c126b1896\n\n# tcId = 114\naad = 00000000ffffffff00000000ffffffff\nct = 00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 60e28a8f76520dcfdaab792c6b20141866eda542283f6d267ccb7501b790395c\nresult = valid\ntag = 81682925f4f8a57392d2a9d4157f2c86\n\n# tcId = 115\naad = 00000000ffffffff00000000ffffffff\nct = 00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 60e28a8f76520dcfdaab792c6b20141866eda542283f6d267ccb7501b790395c1ec9568c8d589dd66f76685bd65a06fccb019872d52f8e42e29b48a6d2c980c4\nresult = valid\ntag = 077001742d67566612633a0b3f3f8c99\n\n# tcId = 116\naad = 00000000ffffffff00000000ffffffff\nct = 00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 60e28a8f76520dcfdaab792c6b20141866eda542283f6d267ccb7501b790395c1ec9568c8d589dd66f76685bd65a06fccb019872d52f8e42e29b48a6d2c980c41e909191bf0afe78df7df42c55c8d78a38c16d48ed9a219dbbf98c23a2a6a37d4575acd3c3a", + "e1d8ef1384467c34a2502249dbd39b47993cbaecd42c580d9cf1a\nresult = valid\ntag = 1c0e1d3c611eda884919789540fc27f1\n\n# tcId = 117\naad = ffffffff00000000ffffffff00000000\nct = ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 9f1d757089adf230255486d394dfebe799125abdd7c092d983348afe486fc6a3\nresult = valid\ntag = 93fe07aa08403068124e020ecb06a9f8\n\n# tcId = 118\naad = ffffffff00000000ffffffff00000000\nct = ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 9f1d757089adf230255486d394dfebe799125abdd7c092d983348afe486fc6a3e136a97372a76229908997a429a5f90334fe678d2ad071bd1d64b7592d367f3b\nresult = valid\ntag = a2fff56fff5358337de7f91689e8a8cb\n\n# tcId = 119\naad = ffffffff00000000ffffffff00000000\nct = ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 9f1d757089adf230255486d394dfebe799125abdd7c092d983348afe486fc6a3e136a97372a76229908997a429a5f90334fe678d2ad071bd1d64b7592d367f3be16f6e6e40f5018720820bd3aa372875c73e92b71265de62440673dc5d595c82ba8a532c3c51e2710ec7bb983cb5dafddb6242c64b866c345132bd3a7f2630e5\nresult = valid\ntag = db4ad6b24a53d2617f7262d2a586d5ca\n\n# tcId = 120\n# Flipped bit 0 in tag expected tag:0518b3e73e52c3be2eaba76807b784e1\naad = 000102\nct = \niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = 0418b3e73e52c3be2eaba76807b784e1\n\n# tcId = 121\n# Flipped bit 1 in tag expected tag:0518b3e73e52c3be2eaba76807b784e1\naad = 000102\nct = \niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = 0718b3e73e52c3be2eaba76807b784e1\n\n# tcId = 122\n# Flipped bit 7 in tag expected tag:0518b3e73e52c3be2eaba76807b784e1\naad = 000102\nct = \niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = 8518b3e73e52c3be2eaba76807b784e1\n\n# tcId = 123\n# Flipped bit 8 in tag expected tag:0518b3e73e52c3be2eaba76807b784e1\naad = 000102\nct = \niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = 0519b3e73e52c3be2eaba76807b784e1\n\n# tcId = 124\n# Flipped bit 31 in tag expected tag:0518b3e73e52c3be2eaba76807b784e1\naad = 000102\nct = \niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = 0518b3673e52c3be2eaba76807b784e1\n\n# tcId = 125\n# Flipped bit 32 in tag expected tag:0518b3e73e52c3be2eaba76807b784e1\naad = 000102\nct = \niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = 0518b3e73f52c3be2eaba76807b784e1\n\n# tcId = 126\n# Flipped bit 33 in tag expected tag:0518b3e73e52c3be2eaba76807b784e1\naad = 000102\nct = \niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = 0518b3e73c52c3be2eaba76807b784e1\n\n# tcId = 127\n# Flipped bit 63 in tag expected tag:0518b3e73e52c3be2eaba76807b784e1\naad = 000102\nct = \niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = 0518b3e73e52c33e2eaba76807b784e1\n\n# tcId = 128\n# Flipped bit 64 in tag expected tag:0518b3e73e52c3be2eaba76807b784e1\naad = 000102\nct = \niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = 0518b3e73e52c3be2faba76807b784e1\n\n# tcId = 129\n# Flipped bit 77 in tag expected tag:0518b3e73e52c3be2eaba76807b784e1\naad = 000102\nct = \niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = 0518b3e73e52c3be2e8ba76807b784e1\n\n# tcId = 130\n# Flipped bit 80 in tag expected tag:0518b3e73e52c3be2eaba76807b784e1\naad = 000102\nct = \niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = 0518b3e73e52c3be2eaba66807b784e1\n\n# tcId = 131\n# Flipped bit 96 in tag expected tag:0518b3e73e52c3be2eaba76807b784e1\naad = 000102\nct = \niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = 0518b3e73e52c3be2eaba76806b784e1\n\n# tcId = 132\n# Flipped bit 97 in tag expected tag:0518b3e73e52c3be2eaba76807b784e1\naad = 000102\nct = \niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = 0518b3e73e52c3be2eaba76805b784e1\n\n# tcId = 133\n# Flipped bit 120 in tag expected tag:0518b3e73e52c3be2eaba76807b784e1\naad = 000102\nct = \niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = 0518b3e73e52c3be2eaba76807b784e0\n\n# tcId = 134\n# Flipped bit 121 in tag expected tag:0518b3e73e52c3be2eaba76807b784e1\naad = 000102\nct = \niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = 0518b3e73e52c3be2eaba76807b784e3\n\n# tcId = 135\n# Flipped bit 126 in tag expected tag:0518b3e73e52c3be2eaba76807b784e1\naad = 000102\nct = \niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = 0518b3e73e52c3be2eaba76807b784a1\n\n# tcId = 136\n# Flipped bit 127 in tag expected tag:0518b3e73e52c3be2eaba76807b784e1\naad = 000102\nct = \niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = 0518b3e73e52c3be2eaba76807b78461\n\n# tcId = 137\n# Flipped bit 63 and 127 in tag expected tag:0518b3e73e52c3be2eaba76807b784e1\naad = 000102\nct = \niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = 0518b3e73e52c33e2eaba76807b78461\n\n# tcId = 138\n# Tag changed to all zero expected tag:0518b3e73e52c3be2eaba76807b784e1\naad = 000102\nct = \niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 139\n# tag change to all 1 expected tag:0518b3e73e52c3be2eaba76807b784e1\naad = 000102\nct = \niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 140\n# Flipped bit 0 in tag expected tag:2564a8ce1a360e8352971c8110885031\naad = 000102\nct = b70886f2313d015e1fe741365f5e35f1\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 2464a8ce1a360e8352971c8110885031\n\n# tcId = 141\n# Flipped bit 1 in tag expected tag:2564a8ce1a360e8352971c8110885031\naad = 000102\nct = b70886f2313d015e1fe741365f5e35f1\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102", + "030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 2764a8ce1a360e8352971c8110885031\n\n# tcId = 142\n# Flipped bit 7 in tag expected tag:2564a8ce1a360e8352971c8110885031\naad = 000102\nct = b70886f2313d015e1fe741365f5e35f1\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = a564a8ce1a360e8352971c8110885031\n\n# tcId = 143\n# Flipped bit 8 in tag expected tag:2564a8ce1a360e8352971c8110885031\naad = 000102\nct = b70886f2313d015e1fe741365f5e35f1\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 2565a8ce1a360e8352971c8110885031\n\n# tcId = 144\n# Flipped bit 31 in tag expected tag:2564a8ce1a360e8352971c8110885031\naad = 000102\nct = b70886f2313d015e1fe741365f5e35f1\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 2564a84e1a360e8352971c8110885031\n\n# tcId = 145\n# Flipped bit 32 in tag expected tag:2564a8ce1a360e8352971c8110885031\naad = 000102\nct = b70886f2313d015e1fe741365f5e35f1\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 2564a8ce1b360e8352971c8110885031\n\n# tcId = 146\n# Flipped bit 33 in tag expected tag:2564a8ce1a360e8352971c8110885031\naad = 000102\nct = b70886f2313d015e1fe741365f5e35f1\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 2564a8ce18360e8352971c8110885031\n\n# tcId = 147\n# Flipped bit 63 in tag expected tag:2564a8ce1a360e8352971c8110885031\naad = 000102\nct = b70886f2313d015e1fe741365f5e35f1\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 2564a8ce1a360e0352971c8110885031\n\n# tcId = 148\n# Flipped bit 64 in tag expected tag:2564a8ce1a360e8352971c8110885031\naad = 000102\nct = b70886f2313d015e1fe741365f5e35f1\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 2564a8ce1a360e8353971c8110885031\n\n# tcId = 149\n# Flipped bit 77 in tag expected tag:2564a8ce1a360e8352971c8110885031\naad = 000102\nct = b70886f2313d015e1fe741365f5e35f1\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 2564a8ce1a360e8352b71c8110885031\n\n# tcId = 150\n# Flipped bit 80 in tag expected tag:2564a8ce1a360e8352971c8110885031\naad = 000102\nct = b70886f2313d015e1fe741365f5e35f1\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 2564a8ce1a360e8352971d8110885031\n\n# tcId = 151\n# Flipped bit 96 in tag expected tag:2564a8ce1a360e8352971c8110885031\naad = 000102\nct = b70886f2313d015e1fe741365f5e35f1\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 2564a8ce1a360e8352971c8111885031\n\n# tcId = 152\n# Flipped bit 97 in tag expected tag:2564a8ce1a360e8352971c8110885031\naad = 000102\nct = b70886f2313d015e1fe741365f5e35f1\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 2564a8ce1a360e8352971c8112885031\n\n# tcId = 153\n# Flipped bit 120 in tag expected tag:2564a8ce1a360e8352971c8110885031\naad = 000102\nct = b70886f2313d015e1fe741365f5e35f1\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 2564a8ce1a360e8352971c8110885030\n\n# tcId = 154\n# Flipped bit 121 in tag expected tag:2564a8ce1a360e8352971c8110885031\naad = 000102\nct = b70886f2313d015e1fe741365f5e35f1\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 2564a8ce1a360e8352971c8110885033\n\n# tcId = 155\n# Flipped bit 126 in tag expected tag:2564a8ce1a360e8352971c8110885031\naad = 000102\nct = b70886f2313d015e1fe741365f5e35f1\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 2564a8ce1a360e8352971c8110885071\n\n# tcId = 156\n# Flipped bit 127 in tag expected tag:2564a8ce1a360e8352971c8110885031\naad = 000102\nct = b70886f2313d015e1fe741365f5e35f1\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 2564a8ce1a360e8352971c81108850b1\n\n# tcId = 157\n# Flipped bit 63 and 127 in tag expected tag:2564a8ce1a360e8352971c8110885031\naad = 000102\nct = b70886f2313d015e1fe741365f5e35f1\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 2564a8ce1a360e0352971c81108850b1\n\n# tcId = 158\n# Tag changed to all zero expected tag:2564a8ce1a360e8352971c8110885031\naad = 000102\nct = b70886f2313d015e1fe741365f5e35f1\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 159\n# tag change to all 1 expected tag:2564a8ce1a360e8352971c8110885031\naad = 000102\nct = b70886f2313d015e1fe741365f5e35f1\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 160\n# Flipped bit 0 in tag expected tag:8061d3df064071df8082a0f813417f05\naad = 000102\nct = b70886f2313d015e1fe741365f5e35f1080e0f78ccfb51809417e879689418ef98\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20\nresult = invalid\ntag = 8161d3df064071df8082a0f813417f05\n\n# tcId = 161\n# Flipped bit 1 in tag expected tag:8061d3df064071df8082a0f813417f05\naad = 000102\nct = b70886f2313d015e1fe741365f5e35f1080e0f78ccfb51809417e879689418ef98\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20\nresult = invalid\ntag = 8261d3df064071df8082a0f813417f05\n\n# tcId = 162\n# Flipped bit 7 in tag expected tag:8061d3df064071df8082a0f813417f05\naad = 000102\nct = b70886f2313d015e1fe741365f5e35f1080e0f78ccfb51809417e879689418ef98\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20\nresult = invalid\ntag = 0061d3df064071df8082a0f813417f05\n\n# tcId = 163\n# Flipped bit 8 in tag expected tag:8061d3df064071df8082a0f813417f05\naad = 000102\nct = b70886f2313d015e1fe741365f5e35f1080e0f78ccfb51809417e879689418ef98\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20\nresult = invalid\ntag = 8060d3df064071df8082a0f813417f05\n\n# tcId = 164\n# Flipp", + "ed bit 31 in tag expected tag:8061d3df064071df8082a0f813417f05\naad = 000102\nct = b70886f2313d015e1fe741365f5e35f1080e0f78ccfb51809417e879689418ef98\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20\nresult = invalid\ntag = 8061d35f064071df8082a0f813417f05\n\n# tcId = 165\n# Flipped bit 32 in tag expected tag:8061d3df064071df8082a0f813417f05\naad = 000102\nct = b70886f2313d015e1fe741365f5e35f1080e0f78ccfb51809417e879689418ef98\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20\nresult = invalid\ntag = 8061d3df074071df8082a0f813417f05\n\n# tcId = 166\n# Flipped bit 33 in tag expected tag:8061d3df064071df8082a0f813417f05\naad = 000102\nct = b70886f2313d015e1fe741365f5e35f1080e0f78ccfb51809417e879689418ef98\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20\nresult = invalid\ntag = 8061d3df044071df8082a0f813417f05\n\n# tcId = 167\n# Flipped bit 63 in tag expected tag:8061d3df064071df8082a0f813417f05\naad = 000102\nct = b70886f2313d015e1fe741365f5e35f1080e0f78ccfb51809417e879689418ef98\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20\nresult = invalid\ntag = 8061d3df0640715f8082a0f813417f05\n\n# tcId = 168\n# Flipped bit 64 in tag expected tag:8061d3df064071df8082a0f813417f05\naad = 000102\nct = b70886f2313d015e1fe741365f5e35f1080e0f78ccfb51809417e879689418ef98\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20\nresult = invalid\ntag = 8061d3df064071df8182a0f813417f05\n\n# tcId = 169\n# Flipped bit 77 in tag expected tag:8061d3df064071df8082a0f813417f05\naad = 000102\nct = b70886f2313d015e1fe741365f5e35f1080e0f78ccfb51809417e879689418ef98\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20\nresult = invalid\ntag = 8061d3df064071df80a2a0f813417f05\n\n# tcId = 170\n# Flipped bit 80 in tag expected tag:8061d3df064071df8082a0f813417f05\naad = 000102\nct = b70886f2313d015e1fe741365f5e35f1080e0f78ccfb51809417e879689418ef98\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20\nresult = invalid\ntag = 8061d3df064071df8082a1f813417f05\n\n# tcId = 171\n# Flipped bit 96 in tag expected tag:8061d3df064071df8082a0f813417f05\naad = 000102\nct = b70886f2313d015e1fe741365f5e35f1080e0f78ccfb51809417e879689418ef98\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20\nresult = invalid\ntag = 8061d3df064071df8082a0f812417f05\n\n# tcId = 172\n# Flipped bit 97 in tag expected tag:8061d3df064071df8082a0f813417f05\naad = 000102\nct = b70886f2313d015e1fe741365f5e35f1080e0f78ccfb51809417e879689418ef98\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20\nresult = invalid\ntag = 8061d3df064071df8082a0f811417f05\n\n# tcId = 173\n# Flipped bit 120 in tag expected tag:8061d3df064071df8082a0f813417f05\naad = 000102\nct = b70886f2313d015e1fe741365f5e35f1080e0f78ccfb51809417e879689418ef98\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20\nresult = invalid\ntag = 8061d3df064071df8082a0f813417f04\n\n# tcId = 174\n# Flipped bit 121 in tag expected tag:8061d3df064071df8082a0f813417f05\naad = 000102\nct = b70886f2313d015e1fe741365f5e35f1080e0f78ccfb51809417e879689418ef98\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20\nresult = invalid\ntag = 8061d3df064071df8082a0f813417f07\n\n# tcId = 175\n# Flipped bit 126 in tag expected tag:8061d3df064071df8082a0f813417f05\naad = 000102\nct = b70886f2313d015e1fe741365f5e35f1080e0f78ccfb51809417e879689418ef98\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20\nresult = invalid\ntag = 8061d3df064071df8082a0f813417f45\n\n# tcId = 176\n# Flipped bit 127 in tag expected tag:8061d3df064071df8082a0f813417f05\naad = 000102\nct = b70886f2313d015e1fe741365f5e35f1080e0f78ccfb51809417e879689418ef98\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20\nresult = invalid\ntag = 8061d3df064071df8082a0f813417f85\n\n# tcId = 177\n# Flipped bit 63 and 127 in tag expected tag:8061d3df064071df8082a0f813417f05\naad = 000102\nct = b70886f2313d015e1fe741365f5e35f1080e0f78ccfb51809417e879689418ef98\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20\nresult = invalid\ntag = 8061d3df0640715f8082a0f813417f85\n\n# tcId = 178\n# Tag changed to all zero expected tag:8061d3df064071df8082a0f813417f05\naad = 000102\nct = b70886f2313d015e1fe741365f5e35f1080e0f78ccfb51809417e879689418ef98\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20\nresult = invalid\ntag = 00000000000000000000000000000000\n\n# tcId = 179\n# tag change to all 1 expected tag:8061d3df064071df8082a0f813417f05\naad = 000102\nct = b70886f2313d015e1fe741365f5e35f1080e0f78ccfb51809417e879689418ef98\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20\nresult = invalid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 180\n# edge case for poly1305\n# key:ffffff3f24ac6f2f6436cec230be9ab31d8434bf94e1042d20952749a99cf641\naad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000102030405060708090a0b0c0d0e0f101112133e8775b2\nkey = 606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f\nmsg = 7ee395bd21ada42ed12310d34918a28e596a49ee7a22f623d756b896663f68733e6c71a344f4726ac24e330679f25e492be08603aaa23f1e88c10299047c8e585983332a8b6eadcd9b6061b63fe3b58a2021b38c7cf379fe9a9f6d114f3cfe422f91af78c6fd87d4269af0e3e471abed457ae75c027e134c96cf4d9a4a646288\nresult = valid\ntag = 4921f7c24a2d42f4da7ad9d45e8ec26c\n\n# tcId = 181\n# edge case for poly1305\n# key:bf358f18ffffffbf4b62ed6e1f53790785c4dabdfc72e2a219d377a682c85f38\naad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "ffffffffffffffffffffff\niv = 000102030405060708090a0b0c0d0e0f1011121303e9b9a4\nkey = 606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f\nmsg = af205bda819f7451be0f28667d4b01b59ff2daa8173cab52046c3c9e0d989889c5e021ef7afd06e9ce6cc30e3a6ebab509134ba10d10e570c55587c13eee53e73be54804c8539ffbf23b35922b1ca37b9e9bc24ee204837ca5a294ce05d12600c7eff6aee32270db2feff47dc5a04176169e15850628e6035f78994f9f56035c\nresult = valid\ntag = b86b0a8e9427af3516950efc81d935d5\n\n# tcId = 182\n# edge case for poly1305\n# key:d0b7b3a352a4010ffeffffbfe8cc66dc6e5e7451dc61762c5753174fed88e746\naad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000102030405060708090a0b0c0d0e0f101112130700b982\nkey = 606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f\nmsg = 68c67272036fb652a0182eeb4781358e4704a4a702fd731bf3b3ea994717989e7d9104e0ae81732a8c7e9a82b3d31d541761a366b67c3396f1a6c67e293ddb65a59e42541dda144dc6c78388cfca982e23350958ac5b3d54a1722fd64733577862e1879c9e9445ebdec5315d1706db7ebbedd4c779935e72057e5b0ecde0814d\nresult = valid\ntag = 3661dc6ddd1852221050ff5b8d58c13f\n\n# tcId = 183\n# edge case for poly1305\n# key:7bee33931a4157a8cb701becfeffff4fbe7e69f19cd065313bb49a252628dd3d\naad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000102030405060708090a0b0c0d0e0f10111213019836bb\nkey = 606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f\nmsg = c483b7334ebe2e879b0c3f9db4fcd9f5219062360d6ce44cdae0f94e04c8345ea7e3ae33855118741dcafe0de4ae98c4e43af7b12b04ee8ab175625823ac040e5abac4403f1d45238adcb8c0cf44bd56917f9f5d93974c82b56951986a9c0450bd9047b5a616e814526ad0580e3ecd8189c9fef2cdb979a22ad3a01930fbd15e\nresult = valid\ntag = 02c70e4defe897a47a65063a468db630\n\n# tcId = 184\n# edge case for poly1305\n# key:df39fb3f36d8e58f91abffdff9f5feaf109d0e960edcf2b728446ec175ad4c7b\naad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000102030405060708090a0b0c0d0e0f101112133f1a8eb1\nkey = 606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f\nmsg = 85e40e2106db6aba0fb236d3c980a72e58ce538db7aa3b0326a23d52175c7465c454d8206b4d8aedd51d8cc47424f6124d2586370f4eb51153d215e48347abf8791a6d6d3da4871ab2c0fe5718878c3942365fc75887e6ea6e779911f883fe90b6c0e5870769a860cf619f91c7eeaad69212325404ec4de4d3ab5e7aa89537a4\nresult = valid\ntag = ecccb94178b76a769c91c27d921fcc6c\n\n# tcId = 185\n# edge case for poly1305\n# key:00000090e6e328c242cde5c83e3d8262d467f2bcd53d3755c781f3c6a2cb0648\naad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000102030405060708090a0b0c0d0e0f101112130552a411\nkey = 606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f\nmsg = eaccaa778935ef249e0900149dd889462d2a061486ba102b8caebe465f3959fb3119ebb5689676ffdd6d851a26739e772b54a2f5f473ea9c7e58ccbc4cfc953e8c420b2175d9dd519265630bb79bd87a601b113231a8b16ce54c331347ec04c2b1c9160f38207aa46e96feb06dee883eb422fa14908df300bb1a1ef758c408f5\nresult = valid\ntag = f00ee0097d7dffbd3e4b216c45da89ef\n\n# tcId = 186\n# edge case for poly1305\n# key:9e98d64e000000505a07183c5c68c63c14c9266dd37ff86aafc22ddbdb355617\naad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000102030405060708090a0b0c0d0e0f101112130c807a72\nkey = 606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f\nmsg = a76c330e015060a17e64cb7b6d753f201f75be8759fd7539fb92b22aef54c9d3029dba0c15cbf7c95135888319c6b2e6276da21e0c351fd522b29aabb5883a3291d6f427de773b124390ef6fd96621ffbc42dfbf7a34da272cbc9ccb1a498d078033d1ac3bf7e92715948b06d69d5c5039e9164ba9c3a02219ec5908206b3bd2\nresult = valid\ntag = 8691693787763ec6c7bf957658b51370\n\n# tcId = 187\n# edge case for poly1305\n# key:1048a92e65f5e63102000080d9ae08de4319a7c45fdbe707b9ec1b7e0d635161\naad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000102030405060708090a0b0c0d0e0f101112130397a143\nkey = 606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f\nmsg = 228a7e15bcce13051de9145f77f7f4ff7921828b4f99efc4ff55ee0d9344955b69ec2d4798b0517f0273c4456ae5ffc5929cbe74ddb0da51d4f2b4df7578a31240c88ae922c3c5eca7b97d72d497062050a587447c562b343d5c71921944872f9fd06b8f34b3eb5d4341f5ff8a907dd7c2e1676b81252726ba54814da51eab8c\nresult = valid\ntag = 7fc8d4bb91c543b9bf5dbf1e7277d823\n\n# tcId = 188\n# edge case for poly1305\n# key:01517a2ceb89bbfb5741f7d9000000401a65b132ad661072a00ffe7defbb18a5\naad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000102030405060708090a0b0c0d0e0f1011121308cb0f3f\nkey = 606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f\nmsg = c7d843188ab193dfef5c4daf583f952cd4b195f240fa2e704d021723023c123371a41e87dfc6e6c3874a42f331cf035988a38c72ba2da854b1208f98bf8cc29948169481ab3a402d5fcc7ff78f9e31925576dc3938074b8c5b27960e3afc750ad686563688b7441787288d5256c1301d563b7744843bd1ab4eff5be6f1653d44\nresult = valid\ntag = 834c91a6580bf514dfcb5e2f456efe3c\n\n# tcId = 189\n# edge case for poly1305\n# key:e73c0100fbd50c408e3c06701c3908209a66d9388dd8e29458376300cb04f56a\naad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000102030405060708090a0b0c0d0e0f10111213d580ecf3\nkey = 606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f\nmsg = 56d20c8500203274099502f38d547f3008588f396cb521a2bae1800514f1f797c00386d52c09fd64a28b393431848e13dda47f65536bfc681ca73b55a7fc019a4c8358186e009ad3e22a5f08a59b19ca4b3bf11269fecaa49a9e9aff53a02ce2f235fba061ee95eae6177f1153502a50428122a73c83695f17dff5cfde23fdf9\nresult = valid\ntag = ca3de68e124484e8bb825b069afaa53d\n\n# tcId = 190\n# edge case for tag\naad = abffffffffffffffffffffffffffffff5a20e89e14ed5af85da66b5e4bdbe002\nct = fffffffffffffffffffffffff", + "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f\nmsg = 660336ffb732a4dcda556c2539d3d2de6cdaed0d7d9104593f8ed69bf0db8aa33c0e746482b7dc53d40b8a5331ca33b874639cdc7a787badd436bcd56e798af3\nresult = valid\ntag = 000102030405060708090a0b0c0d0e0f\n\n# tcId = 191\n# edge case for tag\naad = ffffffffffffffffffffffffffffffff7c85b8e5991711f804915250b99cf7a7\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f\nmsg = 660336ffb732a4dcda556c2539d3d2de6cdaed0d7d9104593f8ed69bf0db8aa33c0e746482b7dc53d40b8a5331ca33b874639cdc7a787badd436bcd56e798af3\nresult = valid\ntag = 00000000000000000000000000000000\n\n# tcId = 192\n# edge case for tag\naad = a8ffffffffffffffffffffffffffffff57599fb21558a903b6a3193419537e06\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f\nmsg = 660336ffb732a4dcda556c2539d3d2de6cdaed0d7d9104593f8ed69bf0db8aa33c0e746482b7dc53d40b8a5331ca33b874639cdc7a787badd436bcd56e798af3\nresult = valid\ntag = ffffffffffffffffffffffffffffffff\n\n# tcId = 193\n# edge case for tag\naad = c1fffffffffffffffffffffffffffffffd71560c5091b863662ffaebc0dd2501\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f\nmsg = 660336ffb732a4dcda556c2539d3d2de6cdaed0d7d9104593f8ed69bf0db8aa33c0e746482b7dc53d40b8a5331ca33b874639cdc7a787badd436bcd56e798af3\nresult = valid\ntag = 00000080000000800000008000000080\n\n# tcId = 194\n# edge case for tag\naad = f9ffffffffffffffffffffffffffffff169a825d7ecbf7e107396a2a3dfb4508\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f\nmsg = 660336ffb732a4dcda556c2539d3d2de6cdaed0d7d9104593f8ed69bf0db8aa33c0e746482b7dc53d40b8a5331ca33b874639cdc7a787badd436bcd56e798af3\nresult = valid\ntag = ffffff7fffffff7fffffff7fffffff7f\n\n# tcId = 195\n# edge case for tag\naad = d9ffffffffffffffffffffffffffffffe344f9752a885ccd1a3fa5a9c4187d04\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f\nmsg = 660336ffb732a4dcda556c2539d3d2de6cdaed0d7d9104593f8ed69bf0db8aa33c0e746482b7dc53d40b8a5331ca33b874639cdc7a787badd436bcd56e798af3\nresult = valid\ntag = 01000000010000000100000001000000\n\n# tcId = 196\n# edge case for tag\naad = d7ffffffffffffffffffffffffffffffa6627ce99c9c49deb89855b0f9e3f407\nct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\niv = 000102030405060708090a0b0c0d0e0f1011121314151617\nkey = 404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f\nmsg = 660336ffb732a4dcda556c2539d3d2de6cdaed0d7d9104593f8ed69bf0db8aa33c0e746482b7dc53d40b8a5331ca33b874639cdc7a787badd436bcd56e798af3\nresult = valid\ntag = ffffffff000000000000000000000000\n\n# tcId = 197\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = ffffffffffffffffffffffffffffffff9bf90b74324f392a4f5bacf25b31b293b4ffffffffffffffffffffffffffffff09b73f897139ab1417163ce2e8377d03b4ffffffffffffffffffffffffffffff09b73f897139ab1417163ce2e8377d03\niv = 000102030405060708090a0b0c0d0e0f101112130bc672c3\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = b3df302dcb7dc4ea184e7fe455afac170395c7a18e950fff87e6de1fb6247d63c3df6823c0030e4c987ef266c4a26f1de7226805d43221db305501f8bd70d20c019264f8f28a963bf61e76272e736412a650fa30062629ead26c6ff651361dd1\nresult = valid\ntag = eabfdde61ad23c8f2a380280248e58c3\n\n# tcId = 198\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = 41634e0cbafbedf788226ca92ca0907373fffffffffffffffffffffffffffffff505e2802a430cc2eeab714688e6800373fffffffffffffffffffffffffffffff505e2802a430cc2eeab714688e68003\niv = 000102030405060708090a0b0c0d0e0f101112130bc672c3\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 0d4381de8e79d6e26f93ecb286f0c39beb93332a4325c92a37428d1212ea300f8225755c15bffd71892a7cdfb3bb10e19d6aa8735af47530d8bcc2e5aab850f04068798727366506e74af89e596a1bee\nresult = valid\ntag = 50c4a57ebedcdea7ca65660b209f59a5\n\n# tcId = 199\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = ecb82891988284f2dc41fe2ea0d6d2eb92ffffffffffffffffffffffffffffff2e72794a284d14459977796cee26320092ffffffffffffffffffffffffffffff2e72794a284d14459977796cee263200\niv = 000102030405060708090a0b0c0d0e0f101112130bc672c3\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = a098e743ac00bfe73bf07e350a8681030a93332a4325c92a37428d1212ea300f5952ee9617b1e5f6fef674f5d57ba2e27c6aa8735af47530d8bcc2e5aab850f09b1fe24d25387d819096f0b43faaa9ed\nresult = valid\ntag = e87f0c943e93cad2aa76933330d178b3\n\n# tcId = 200\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = 03a439b72eabc0eb05e9f495b09a25826fffffffffffffffffffffffffffffff39dc0c117f4e3880531dc20078e26e006fffffffffffffffffffffffffffffff39dc0c117f4e3880531dc20078e26e00\niv = 000102030405060708090a0b0c0d0e0f101112130bc672c3\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 4f84f6651a29fbfee258748e1aca766af793332a4325c92a37428d1212ea300f4efc9bcd40b2c933349ccf9943bffee2816aa8735af47530d8bcc2e5aab850f08cb19716723b51445afc4bd8a96ef5ed\nresult = valid\ntag = 66eaccae5e377108c3cbcb65c4cf1fc5\n\n# tcId = 201\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = c5e42462a35a93df82af7d823495ba906affffffffffffffffffffffffffffff636191a673471f49f0d21dc5ebaae4006affffffffffffffffffffffffffffff636191a673471f49f0d21dc5ebaae400\niv = 000102030405060708090a0b0c0d0e0f101112130bc672c3\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 89c4ebb097d8a8ca651efd999ec5e978f293332a4325c92a37428d1212ea300f1441067a4cbbeefa9753105cd0f774e2846aa8735af47530d8bcc2e5aab850f0d60c0aa17e32768df933941d3a267fed\nresult = valid\ntag = 7c10f4defe910369bb3131c06800e6e4\n\n# tcId = 202\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = b1ffffffffffffffffffffffffffffff0bf0a2ad4c581e5406c1f59dd8915d0029ffffffffffffffffffffffffffffff4fb0339e2c5180f6c76853298b59e80029ffffffffffffffffffffffffffffff4fb0339e2c5180f6c76853298b59e800\niv = 000102030405060708090a0b0c0d0e0f101112130bc672c3\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = fddf302dcb7dc4ea184e7fe455afac17939c6e78f0822881ce7c8770358492f05edf6823c0030e4c987ef266c4a26f1da1256412895a0a39e02b6e33de1e470f9c9264f8f28a963bf61e76272e736412e057f6275b4e02080212003d325888d2\nresult = valid\ntag = e269df519b62d7658b8ce3487588f409\n\n# tcId = 203\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = 86ffffffffffffffffffffffffffffffedbfcd3f889324dfaeb340cffcd53502981b5e44b2f390a2e219411d38fa53c3981b5e44b2f390a2e219411d38fa53c3\niv = 000102030405060708090a0b0c0d0e0f101112130bc672c3\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = cadf302dcb7dc4ea184e7fe455afac1775d301ea3449120a660e322211c0faf2ef3bc9988d0f611185984c8403a7c321768e09c817f81a6dc55a7c076dbdfccc\nresult = valid\ntag = a084fcb71338faabb02bb26c1b7c1a55\n\n# tcId = 204\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = 46ffffffffffffffffffffffffffffffd90e7037419d858c864976339c843902f1ffffffffffffffffffffffffffffff99fb0b24d580fd21d48877710fc07a03f1ffffffffffffffffffffffffffffff99fb0b24d580fd21d48877710fc07a03\niv = 000102030405060708090a0b0c0d0e0f10111", + "2130bc672c3\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 0adf302dcb7dc4ea184e7fe455afac174162bce2fd47b3594ef404de7191f6f286df6823c0030e4c987ef266c4a26f1d776e5ca8708b77eef3cb4a6b5a87d50c449264f8f28a963bf61e76272e736412361cce9da29f7fdf11f22465b6c11ad1\nresult = valid\ntag = 8f7f47eb00819694ca25bd8a5cd263cd\n\n# tcId = 205\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = 58ffffffffffffffffffffffffffffff2b4a77d883dddbd6bd5d5eac0e03e0018238eae6ed8aa9acdf81582c906797208238eae6ed8aa9acdf81582c90679720\niv = 000102030405060708090a0b0c0d0e0f101112130bc672c3\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 14df302dcb7dc4ea184e7fe455afac17b326bb0d3f07ed0375e02c41e3162ff1f5187d3ad276581fb80055b5ab3a07c26cadbd6a48812363f8c26536c520382f\nresult = valid\ntag = 6e29bbb07bacd01dde68f7ceba8dcf6c\n\n# tcId = 206\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = 6affffffffffffffffffffffffffffffeccb4900e9540ec1819b5005f396fb006f060b6f93b7f857948b153abd5c3f5f6f060b6f93b7f857948b153abd5c3f5f\niv = 000102030405060708090a0b0c0d0e0f101112130bc672c3\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 26df302dcb7dc4ea184e7fe455afac1774a785d5558e3814492622e81e8334f018269cb3ac4b09e4f30a18a38601afbd81935ce336bc7298b3c82820e81b9050\nresult = valid\ntag = dc8de3adc9cf0095ab93f73b92e38f8e\n\n# tcId = 207\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = 8effffffffffffffffffffffffffffff834129492142abcda1857721bf8b38035e1487784c0fefe6940dd2bf1a1495e05e1487784c0fefe6940dd2bf1a1495e0\niv = 000102030405060708090a0b0c0d0e0f101112130bc672c3\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = c2df302dcb7dc4ea184e7fe455afac171b2de59c9d989d18693805cc529ef7f3293410a473f31e55f38cdf2621490502b081d0f4e9046529b34eefa54f533aef\nresult = valid\ntag = 41da20c0d2480aabf6ec50678325ca55\n\n# tcId = 208\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = 4effffffffffffffffffffffffffffff6f90cb40da4b0c7b791bad855e3a3c03faffffffffffffffffffffffffffffffa878e91f0f31b906495504bfe5ff4500faffffffffffffffffffffffffffffffa878e91f0f31b906495504bfe5ff4500\niv = 000102030405060708090a0b0c0d0e0f101112130bc672c3\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 02df302dcb7dc4ea184e7fe455afac17f7fc079566913aaeb1a6df68b32ff3f38ddf6823c0030e4c987ef266c4a26f1d46edbe93aa3a33c96e1639a5b0b8ea0f4f9264f8f28a963bf61e76272e736412079f2ca6782e3bf88c2f57ab5cfe25d2\nresult = valid\ntag = 30d56bf3bf91a69310e75b85c47b13ce\n\n# tcId = 209\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = f826d2c3616ecf7100aaf6ae252052155bffffffffffffffffffffffffffffffbff427b51284fa40da0a674db8f436025bffffffffffffffffffffffffffffffbff427b51284fa40da0a674db8f43602\niv = 000102030405060708090a0b0c0d0e0f101112130bc672c3\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = b4061d1155ecf464e71b76b58f7001fdc393332a4325c92a37428d1212ea300fc8d4b0692d780bf3bd8b6ad483a9a6e0b56aa8735af47530d8bcc2e5aab850f00a99bcb21ff19384d3ebee956978adef\nresult = valid\ntag = cdfe4b827e5558a497f309fb493d209d\n\n# tcId = 210\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = 35df3d7533e8a7ce04580b0b188e75d990ffffffffffffffffffffffffffffff5a0dbd4e9c2dd65eea6c0a858470e10190ffffffffffffffffffffffffffffff5a0dbd4e9c2dd65eea6c0a858470e101\niv = 000102030405060708090a0b0c0d0e0f101112130bc672c3\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 79fff2a7076a9cdbe3e98b10b2de26310893332a4325c92a37428d1212ea300f2d2d2a92a3d127ed8ded071cbf2d71e37e6aa8735af47530d8bcc2e5aab850f0ef6026499158bf9ae38d835d55fc7aec\nresult = valid\ntag = d168917ea5f3a1aaf11f260b1ad87ba6\n\n# tcId = 211\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = ffffffffffffffffffffffffffffffff10b5ad7f1c954ceea0921b4ae896afa2f2ffffffffffffffffffffffffffffff3839e7eb64c423936009811dd1b1eb02f2ffffffffffffffffffffffffffffff3839e7eb64c423936009811dd1b1eb02\niv = 000102030405060708090a0b0c0d0e0f101112130bc672c3\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = b3df302dcb7dc4ea184e7fe455afac1788d961aaa04f7a3b682f69a70583605285df6823c0030e4c987ef266c4a26f1dd6acb067c1cfa95c474abc0784f6440d479264f8f28a963bf61e76272e73641297de225213dba16da573d20968b08bd0\nresult = valid\ntag = 7c9d1f445000923ba0f6712dcef103f8\n\n# tcId = 212\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = 3bffffffffffffffffffffffffffffff666b7ecba9ae52c8e786831cff46f0009affffffffffffffffffffffffffffffefc4cbe333cdedf206a5d8d087435f029affffffffffffffffffffffffffffffefc4cbe333cdedf206a5d8d087435f02\niv = 000102030405060708090a0b0c0d0e0f101112130bc672c3\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 77df302dcb7dc4ea184e7fe455afac17fe07b21e1574641d2f3bf1f112533ff0eddf6823c0030e4c987ef266c4a26f1d01519c6f96c6673d21e6e5cad204f00d2f9264f8f28a963bf61e76272e73641240230e5a44d26f0cc3df8bc43e423fd0\nresult = valid\ntag = 0eff35568cd1f12e9c87c10f7ac886d9\n\n# tcId = 213\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = ffffffffffffffffffffffffffffffff9cf90b74324f392a4f5bacf25b31b2935bffffffffffffffffffffffffffffff53163f81066b447a8aaf1d30cf3c31035bffffffffffffffffffffffffffffff53163f81066b447a8aaf1d30cf3c3103\niv = 000102030405060708090a0b0c0d0e0f101112130bc672c3\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = b3df302dcb7dc4ea184e7fe455afac170495c7a18e950fff87e6de1fb6247d632cdf6823c0030e4c987ef266c4a26f1dbd83680da360ceb5adec202a9a7b9e0cee9264f8f28a963bf61e76272e736412fcf1fa387174c6844fd54e24763d51d1\nresult = valid\ntag = 972e0ccb273da0e432560bb025a3dafd\n\n# tcId = 214\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = ffffffffffffffffffffffffffffffff9af90b74324f392a4f5bacf25b31b293ffffffffffffffffffffffffffffffff53e827dc9c064b45b437f8203b623635ffffffffffffffffffffffffffffffff53e827dc9c064b45b437f8203b623635\niv = 000102030405060708090a0b0c0d0e0f101112130bc672c3\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = b3df302dcb7dc4ea184e7fe455afac170295c7a18e950fff87e6de1fb6247d6388df6823c0030e4c987ef266c4a26f1dbd7d7050390dc18a9374c53a6e25993a4a9264f8f28a963bf61e76272e736412fc0fe265eb19c9bb714dab34826356e7\nresult = valid\ntag = 3851af020e67d939221af94f2379d688\n\n# tcId = 215\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = 90ffffffffffffffffffffffffffffff5360b535b6b0002afb0316c6e8ed8202afffffffffffffffffffffffffffffff29ada419504d0c9a2e19c785c4736402afffffffffffffffffffffffffffffff29ada419504d0c9a2e19c785c4736402\niv = 000102030405060708090a0b0c0d0e0f101112130bc672c3\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = dcdf302dcb7dc4ea184e7fe455afac17cb0c79e00a6a36ff33be642b05f84df2d8df6823c0030e4c987ef266c4a26f1dc738f395f5468655095afa9f9134cb0d1a9264f8f28a963bf61e76272e736412864a61a027528e64eb6394917d7204d0\nresult = valid\ntag = 41c5ffe07dbb3c988a9e3687296007bd\n\n# tcId = 216\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = 3cf775eaf6d537622d87c19e0b481fb7ffffffffffffffffffffffffffffffffd3dbec750373eb583eefe5c48ec8935cffffffffffffffffffffffffffffffffd3dbec750373eb583eefe5c48ec8935c\niv = 000102030405060708090a0b0c0d0e0f101112130bc672c3\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 70d7ba38c2570c77ca364185a1184c5f6793332a4325c92a37428d1212ea300fa4fb7ba93c8f1aeb596ee85db59503be116aa8735af47530d8bcc2e5aab850f066b677720e06829c370e6c1c5f4408b1\nresult = valid\ntag = a0dcb67a9f930f9d79381e04c38c91a1\n\n# tcId = 217\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = fffffffffffffffffffffffffffffffff69e595ca0b7e269447d052bc354365bffffffffffffffffffffffffffffffff46b3f0de9548e22c936ac526807d56c1ffffffffffffffffffffffffffffffff46b3f0de9548e22c936ac526807d56c1\niv = 000102030405060708090a0b0c0d0e0f101112130bc672c3\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = b3df302dcb7dc4ea184e7fe455afac176ef295891c6dd4bc8cc077c62e41f9ab88df6823c0030e4c987ef266c4a26f1da826a752304368e3b429f83cd53af9ce4a9264f8f28a963bf61e76272e736412e9543567e25760d256109632397c3613\nresult = valid\ntag = a12b34e8828deb913809858245813ac4\n\n# tcId = 218\n# edge ", + "case intermediate sums in poly1305\naad = ffffffff\nct = 9c089cf4276497377e44c5e193c3143bc23a8489250a4f3ecaa9bd1904b194e5c23a8489250a4f3ecaa9bd1904b194e5\niv = 000102030405060708090a0b0c0d0e0f101112130bc672c3\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = d028532613e6ac2299f545fa399347d35a56485c99d079eb0214cff4e9a45b15b51a13551af6be8dad28b0803fec0407\nresult = valid\ntag = 3e5a4dd56980cdc49b3fc7f1a4e5de80\n\n# tcId = 219\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = 98ffffffffffffffffffffffffffffff5828dcc5719663b87aff56f81cb9fa022dd0ba2addabf43c9f3122fba03ea5032dd0ba2addabf43c9f3122fba03ea503\niv = 000102030405060708090a0b0c0d0e0f101112130bc672c3\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = d4df302dcb7dc4ea184e7fe455afac17c0441010cd4c556db2422415f1ac35f25af02df6e257058ff8b02f629b6335e1c345eda678a07ef3b8721fe1f5790a0c\nresult = valid\ntag = 693df6c4750d80c9c6db9b8290908856\n\n# tcId = 220\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = ffffffffffffffffffffffffffffffff840efb4d9c26fd3026b4b58b4b6d5ffdd7fffffffffffffffffffffffffffffffe4cacc21a3887d95c70f34d5f7c4003d7fffffffffffffffffffffffffffffffe4cacc21a3887d95c70f34d5f7c4003\niv = 000102030405060708090a0b0c0d0e0f101112130bc672c3\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = b3df302dcb7dc4ea184e7fe455afac171c62379820fccbe5ee09c766a678900da0df6823c0030e4c987ef266c4a26f1d10d9fb4ebf330d167b33ce570a3bef0c629264f8f28a963bf61e76272e73641251ab697b6d270527990aa059e67d20d1\nresult = valid\ntag = 6c551dccfa2d965912e3c94d908fb1b1\n\n# tcId = 221\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = 46ffffffffffffffffffffffffffffff6ac8a4b01e66a9ecf91f6c532a6fc402f5ffffffffffffffffffffffffffffff1d689d91b82f4a673f80067e49897903f5ffffffffffffffffffffffffffffff1d689d91b82f4a673f80067e49897903\niv = 000102030405060708090a0b0c0d0e0f101112130bc672c3\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 0adf302dcb7dc4ea184e7fe455afac17f2a46865a2bc9f3931a21ebec77a0bf282df6823c0030e4c987ef266c4a26f1df3fdca1d1d24c0a818c33b641cced60c409264f8f28a963bf61e76272e736412b28f5828cf30c899fafa556af08819d1\nresult = valid\ntag = 041184e17ae48184f2f3f675a0c1d0bf\n\n# tcId = 222\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = 59ffffffffffffffffffffffffffffffe3c813237eb6a34838ddcd5141f63d0241ffffffffffffffffffffffffffffff2b3c5a7bdafb518fdb1afd2bdacf640341ffffffffffffffffffffffffffffff2b3c5a7bdafb518fdb1afd2bdacf6403\niv = 000102030405060708090a0b0c0d0e0f101112130bc672c3\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 15df302dcb7dc4ea184e7fe455afac177ba4dff6c26c959df060bfbcace3f2f236df6823c0030e4c987ef266c4a26f1dc5a90df77ff0db40fc59c0318f88cb0cf49264f8f28a963bf61e76272e73641284db9fc2ade4d3711e60ae3f63ce04d1\nresult = valid\ntag = 3932ed921c20c30f251e2495cafcee7d\n\n# tcId = 223\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = ffffffffffffffffffffffffffffffff26f5224c72421352b628e4af3fe63fd6fffffffffffffffffffffffffffffffff853a71e2e53808ce0bcf98ef3c6237ffffffffffffffffffffffffffffffffff853a71e2e53808ce0bcf98ef3c6237f\niv = 000102030405060708090a0b0c0d0e0f101112130bc672c3\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = b3df302dcb7dc4ea184e7fe455afac17be99ee99ce9825877e959642d2f3f02688df6823c0030e4c987ef266c4a26f1d16c6f0928b580a43c7ffc494a6818c704a9264f8f28a963bf61e76272e73641257b462a7594c027225c6aa9a4ac743ad\nresult = valid\ntag = 1fe14698bc0d7e1a5d622f9f4ec97681\n\n# tcId = 224\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = 56ffffffffffffffffffffffffffffffaf34bc72b023510184ba5e7a8283c30275ffffffffffffffffffffffffffffff7ea17d57b552c6875d4bd24d089bbd0075ffffffffffffffffffffffffffffff7ea17d57b552c6875d4bd24d089bbd00\niv = 000102030405060708090a0b0c0d0e0f101112130bc672c3\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 1adf302dcb7dc4ea184e7fe455afac17375870a70cf967d44c072c976f960cf202df6823c0030e4c987ef266c4a26f1d90342adb10594c487a08ef575ddc120fc09264f8f28a963bf61e76272e736412d146b8eec24d447998318159b19addd2\nresult = valid\ntag = 48a52de01229d381e42274737fceeebe\n\n# tcId = 225\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = e2ffffffffffffffffffffffffffffff2e36b18f2fc925af8ca7b8922f3d0402ffffffffffffffffffffffffffffffff730856e81fee6ffa095f96faa3c87deeffffffffffffffffffffffffffffffff730856e81fee6ffa095f96faa3c87dee\niv = 000102030405060708090a0b0c0d0e0f101112130552a411\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = e15491e17fb1ebf66bb0a3ecbc1bc251544d1a6c930b659ca3903632f84c51b676fb4365776d1717fb3f9f45f9888c9764482cfbc35450c0a2a1c8aab04f5ac644871d72e9f20f1fd6a77429527f8b81df97e388864bad33006e671b757b158b\nresult = valid\ntag = 457c13b040b790624a47b6d232c96c2e\n\n# tcId = 226\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = c6ffffffffffffffffffffffffffffff2bc9d348d8e6c2a03ac33e23e55e5807f6ffffffffffffffffffffffffffffffe4b6f365c772e1a1e76df14239085f0af6ffffffffffffffffffffffffffffffe4b6f365c772e1a1e76df14239085f0a\niv = 000102030405060708090a0b0c0d0e0f101112130552a411\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = c55491e17fb1ebf66bb0a3ecbc1bc25151b278ab6424829315f4b083322f0db37ffb4365776d1717fb3f9f45f9888c97f3f689761bc8de9b4c93af122a8f78224d871d72e9f20f1fd6a77429527f8b81482946055ed72368ee5c00a3efbb376f\nresult = valid\ntag = 4c21dabf80184666ee0752d61aee183a\n\n# tcId = 227\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = ffffffffffffffffffffffffffffffff76233bc3302a7af4ab058503918804680e9f0afd4265e0b0b33071d9a97980b80e9f0afd4265e0b0b33071d9a97980b8\niv = 000102030405060708090a0b0c0d0e0f101112130552a411\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = fc5491e17fb1ebf66bb0a3ecbc1bc2510c5890208ce83ac784320ba346f951dc879bb667caf70858b7f01163af0ef3d019df70ee9edfdf8a18ce2f89bafea790\nresult = valid\ntag = b41fc59d364e1050c2076dfe596ba799\n\n# tcId = 228\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = d5ffffffffffffffffffffffffffffffb4d5dc56f6831c4148d183744b10c30afdffffffffffffffffffffffffffffff661e3664a5ae853e51bb9a90b7941d02fdffffffffffffffffffffffffffffff661e3664a5ae853e51bb9a90b7941d02\niv = 000102030405060708090a0b0c0d0e0f101112130552a411\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = d65491e17fb1ebf66bb0a3ecbc1bc251ceae77b54a415c7267e60dd49c6196be74fb4365776d1717fb3f9f45f9888c97715e4c777914ba04fa45c4c0a4133a2a46871d72e9f20f1fd6a77429527f8b81ca8183043c0b47f7588a6b7161277567\nresult = valid\ntag = 8beed54dc183a687b2cdcbf6423a26a3\n\n# tcId = 229\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = e5ffffffffffffffffffffffffffffff363d1f55d4bfc0ddb11e2dc2c99c8102ffffffffffffffffffffffffffffffff0bbf59b1c3d0b4edeecb4ef0bdd93834ffffffffffffffffffffffffffffffff0bbf59b1c3d0b4edeecb4ef0bdd93834\niv = 000102030405060708090a0b0c0d0e0f101112130552a411\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = e65491e17fb1ebf66bb0a3ecbc1bc2514c46b4b6687d80ee9e29a3621eedd4b676fb4365776d1717fb3f9f45f9888c971cff23a21f6a8bd7453510a0ae5e1f1c44871d72e9f20f1fd6a77429527f8b81a720ecd15a757624e7fabf116b6a5051\nresult = valid\ntag = cabbd1db01ef06a9769345176b86330c\n\n# tcId = 230\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = c9ffffffffffffffffffffffffffffff33d0410e7ddd5dcf5f3ab3527fbed507e6ffffffffffffffffffffffffffffffecbd612b6c697cd00ce56572d367dc0ae6ffffffffffffffffffffffffffffffecbd612b6c697cd00ce56572d367dc0a\niv = 000102030405060708090a0b0c0d0e0f101112130552a411\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = ca5491e17fb1ebf66bb0a3ecbc1bc25149abeaedc11f1dfc700d3df2a8cf80b36ffb4365776d1717fb3f9f45f9888c97fbfd1b38b0d343eaa71b3b22c0e0fb225d871d72e9f20f1fd6a77429527f8b814022d44bf5ccbe1905d4949305d4b46f\nresult = valid\ntag = d16098eb4150bcac1a54e11a53abdf17\n\n# tcId = 231\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = bfffffffffffffffffffffffffffffff585e9126822094a6e26e4d6f503a8a07f1ffffffffffffffffffffffffffffffef1d1a356a07ec974fb84a8b0023f506f1ffffffffffffffffffffffffffffffef1d1a356a07ec", + "974fb84a8b0023f506\niv = 000102030405060708090a0b0c0d0e0f101112130552a411\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = bc5491e17fb1ebf66bb0a3ecbc1bc25122253ac53ee2d495cd59c3cf874bdfb378fb4365776d1717fb3f9f45f9888c97f85d6026b6bdd3ade44614db13a4d22e4a871d72e9f20f1fd6a77429527f8b814382af55f3a22e5e4689bb6ad6909d63\nresult = valid\ntag = 6005e4ae07fba16ee6e7cfd2ee645c26\n\n# tcId = 232\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = 852da88f8e833be61c313cf0cca044ee691e206e368668ffa67ac689bd097d2b691e206e368668ffa67ac689bd097d2b\niv = 000102030405060708090a0b0c0d0e0f101112130552a411\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 8686c6910ecd2fef887e60e38f44794013658b8d8a4428cc894d48296a78289fe01a9cf4be148017a2baa633bb7e0e43\nresult = valid\ntag = 91d0ac28cd0f09a8261194b8df0abc0d\n\n# tcId = 233\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = ffffffffffffffffffffffffffffffff0cb11bba47bb8eeb7ec6ced3c544f03eaa2cebf359f6eca786f1baa9de356c8faa2cebf359f6eca786f1baa9de356c8f\niv = 000102030405060708090a0b0c0d0e0f101112130552a411\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = fc5491e17fb1ebf66bb0a3ecbc1bc25176cab059fb79ced851f140731235a58a23285769d164044f8231da13d8421fe7bd6c91e0854cd39d2d0fe4f9cdb24ba7\nresult = valid\ntag = 9d652db06f7b08621f02c7f294abbe58\n\n# tcId = 234\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = ffffffffffffffffffffffffffffffffee636fad482c4a1dc3c106a9f992dc8c8cdf3ee75a67a0d9caecf27e128458dd8cdf3ee75a67a0d9caecf27e128458dd\niv = 000102030405060708090a0b0c0d0e0f101112130552a411\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = fc5491e17fb1ebf66bb0a3ecbc1bc2519418c44ef4ee0a2eecf688092ee3893805db827dd2f54831ce2c92c414f32bb59b9f44f486dd9fe36112ac2e01037ff5\nresult = valid\ntag = b5893d2129f0408a5480c7fc3fc9de5d\n\n# tcId = 235\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = c7ffffffffffffffffffffffffffffffe26398b0b4aea0f7527511c8f9837208f9ffffffffffffffffffffffffffffffcea035c9810c28eaf87afdd70dccc307f9ffffffffffffffffffffffffffffffcea035c9810c28eaf87afdd70dccc307\niv = 000102030405060708090a0b0c0d0e0f101112130552a411\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = c45491e17fb1ebf66bb0a3ecbc1bc25198183353086ce0c47d429f682ef227bc70fb4365776d1717fb3f9f45f9888c97d9e04fda5db617d05384a3871e4be42f42871d72e9f20f1fd6a77429527f8b81623f80a918a9ea23f14b0c36db7fab62\nresult = valid\ntag = 0b88cfa42284726dad2be1de8a057626\n\n# tcId = 236\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = ffffffffffffffffffffffffffffffff8ed08c3c58e3b9b12f5b7c298e894a392b4c5c766a1e206e368668ffa67ac6892b4c5c766a1e206e368668ffa67ac689\niv = 000102030405060708090a0b0c0d0e0f101112130552a411\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = fc5491e17fb1ebf66bb0a3ecbc1bc251f4ab27dfe421f982006cf28959f81f8da248e0ece28cc88632460845a00db5e13c0c2665b6a41f549d7836afb5fde1a1\nresult = valid\ntag = 5e97665318961c4c95e928fc11140063\n\n# tcId = 237\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = ffffffffffffffffffffffffffffffff477f4844e38a8dbabb786d0e618b6f83e4fa177ef6c5f376c3a359e4787cebd3e4fa177ef6c5f376c3a359e4787cebd3\niv = 000102030405060708090a0b0c0d0e0f101112130552a411\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = fc5491e17fb1ebf66bb0a3ecbc1bc2513d04e3a75f48cd89944fe3aeb6fa3a376dfeabe47e571b9ec763395e7e0b98bbf3ba6d6d2a7fcc4c685d07b46bfbccfb\nresult = valid\ntag = ff71ef44bc734132701144f73497756b\n\n# tcId = 238\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = c4ffffffffffffffffffffffffffffff9078f44cabe20b269f4d77f7ada54f01f4ffffffffffffffffffffffffffffff6bd4236b28a82d2595ce3f187f6f5500f4ffffffffffffffffffffffffffffff6bd4236b28a82d2595ce3f187f6f5500\niv = 000102030405060708090a0b0c0d0e0f101112130552a411\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = c75491e17fb1ebf66bb0a3ecbc1bc251ea035faf17204b15b07af9577ad41ab57dfb4365776d1717fb3f9f45f9888c977c945978f412121f3e3061486ce872284f871d72e9f20f1fd6a77429527f8b81c74b960bb10defec9cffcef9a9dc3d65\nresult = valid\ntag = 2ab3cabef2de4268a5313cd59dcd193e\n\n# tcId = 239\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = d8ffffffffffffffffffffffffffffffc2492648ea2f93394ecd9d69e7edf202dfffffffffffffffffffffffffffffffb40a3f44d4f1ffdd970813853381ae03dfffffffffffffffffffffffffffffffb40a3f44d4f1ffdd970813853381ae03\niv = 000102030405060708090a0b0c0d0e0f101112130552a411\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = db5491e17fb1ebf66bb0a3ecbc1bc251b8328dab56edd30a61fa13c9309ca7b656fb4365776d1717fb3f9f45f9888c97a34a4557084bc0e73cf64dd52006892b64871d72e9f20f1fd6a77429527f8b8118958a244d543d149e39e264e532c666\nresult = valid\ntag = 32bcb167c875045b9651816e4bedf51a\n\n# tcId = 240\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = c7ffffffffffffffffffffffffffffffe788168bdb551c0cc76cd469aebcd909feffffffffffffffffffffffffffffff8d50f588b8b6bac4016eb3f0d9bc720afeffffffffffffffffffffffffffffff8d50f588b8b6bac4016eb3f0d9bc720a\niv = 000102030405060708090a0b0c0d0e0f101112130552a411\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = c45491e17fb1ebf66bb0a3ecbc1bc2519df3bd6867975c3fe85b5ac979cd8cbd77fb4365776d1717fb3f9f45f9888c979a108f9b640c85feaa90eda0ca3b552245871d72e9f20f1fd6a77429527f8b8121cf40e82113780d085f42110f0f1a6f\nresult = valid\ntag = 2ec4ac70d29ad094e46ce355eb94d1ea\n\n# tcId = 241\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = e2ffffffffffffffffffffffffffffff2f36b18f2fc925af8ca7b8922f3d0402ffffffffffffffffffffffffffffffff7d591f230ba1a0e665f867b15830b205ffffffffffffffffffffffffffffffff7d591f230ba1a0e665f867b15830b205\niv = 000102030405060708090a0b0c0d0e0f101112130552a411\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = e15491e17fb1ebf66bb0a3ecbc1bc251554d1a6c930b659ca3903632f84c51b676fb4365776d1717fb3f9f45f9888c976a196530d71b9fdcce0639e14bb7952d44871d72e9f20f1fd6a77429527f8b81d1c6aa439204622f6cc996508e83da60\nresult = valid\ntag = 3c2b4a7555046076eeade41b7e613817\n\n# tcId = 242\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = e2ffffffffffffffffffffffffffffff2d36b18f2fc925af8ca7b8922f3d0402cfffffffffffffffffffffffffffffffbea8cba2377741c06ee4f8f06f4c9007cfffffffffffffffffffffffffffffffbea8cba2377741c06ee4f8f06f4c9007\niv = 000102030405060708090a0b0c0d0e0f101112130552a411\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = e15491e17fb1ebf66bb0a3ecbc1bc251574d1a6c930b659ca3903632f84c51b646fb4365776d1717fb3f9f45f9888c97a9e8b1b1ebcd7efac51aa6a07ccbb72f74871d72e9f20f1fd6a77429527f8b8112377ec2aed2830967d50911b9fff862\nresult = valid\ntag = 4ecddcea2b6ac14ea6e08789e730a145\n\n# tcId = 243\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = fffffffffffffffffffffffffffffffff9df160fd4bfb1c1ed9a07a1aab2dd93faffffffffffffffffffffffffffffffb4ffe770d84307956ddcd88e0d585202faffffffffffffffffffffffffffffffb4ffe770d84307956ddcd88e0d585202\niv = 000102030405060708090a0b0c0d0e0f101112130552a411\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = fc5491e17fb1ebf66bb0a3ecbc1bc25183a4bdec687df1f2c2ad89017dc3882773fb4365776d1717fb3f9f45f9888c97a3bf9d6304f938afc62286de1edf752a41871d72e9f20f1fd6a77429527f8b811860521041e6c55c64ed296fdbeb3a67\nresult = valid\ntag = c21949bfae429c58105372c714964e39\n\n# tcId = 244\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = 52cbcefcad6266cbc8ef53e42ba0c88fe3ffffffffffffffffffffffffffffff0dba55789a64e947dbe380db69b16803e3ffffffffffffffffffffffffffffff0dba55789a64e947dbe380db69b16803\niv = 000102030405060708090a0b0c0d0e0f101112130552a411\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 5160a0e22d2c72c25ca00ff76844f5219984541c433dbfccd0c8715f288eaa4b84bee9e212f601afdf23e0616fc61b6bf4bf85ec2345c0c55401a1afec78d8d7b6c2b7f58c6919a7f2bb0b0dc4311c7d\nresult = valid\ntag = 31827cfd0227dae6020564fe6677828e\n\n# tcId = 245\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = a93062e1009c4449e5f854b1249d6772e0ffffffffffffffffffffffffffffff9b7c4c8d3bfb", + "eace2c056bb4973d0b05e0ffffffffffffffffffffffffffffff9b7c4c8d3bfbeace2c056bb4973d0b05\niv = 000102030405060708090a0b0c0d0e0f101112130552a411\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = aa9b0cff80d2504071b708a267795adc9a84541c433dbfccd0c8715f288eaa4b1278f017b369022628c50b0e914a786df7bf85ec2345c0c55401a1afec78d8d72004ae002df61a2e055de0623abd7f7b\nresult = valid\ntag = 0f146dfc74edd6e8b92e4efde9568392\n\n# tcId = 246\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = d5ffffffffffffffffffffffffffffff4f3f0a1cc1d293cb0dbcfd37623be207c3ffffffffffffffffffffffffffffff980f6f46e41888c0da20f1444d5f5f0ac3ffffffffffffffffffffffffffffff980f6f46e41888c0da20f1444d5f5f0a\niv = 000102030405060708090a0b0c0d0e0f101112130552a411\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = d65491e17fb1ebf66bb0a3ecbc1bc2513544a1ff7d10d3f8228b7397b54ab7b34afb4365776d1717fb3f9f45f9888c978f4f155538a2b7fa71deaf145ed8782278871d72e9f20f1fd6a77429527f8b813490da267dbd4a09d31100a59bec376f\nresult = valid\ntag = 8fcacbc3d070336717f838d754f7033d\n\n# tcId = 247\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = ffffffffffffffffffffffffffffffff5db2db84e55898b9e22aedcba64524dcf92dabbef793fe75ea55d9a1bf36a02cf92dabbef793fe75ea55d9a1bf36a02c\niv = 000102030405060708090a0b0c0d0e0f101112130552a411\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = fc5491e17fb1ebf66bb0a3ecbc1bc25127c97067599ad88acd1d636b71347168702917247f01169dee95b91bb941d344ee6dd1ad2b29c14f41ab87f1acb18704\nresult = valid\ntag = ddd96272c682dd45ffb580f4db058e79\n\n# tcId = 248\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = ffffffffffffffffffffffffffffffff4be525c9aa5fb99244a4a2503d9503f7f2ffffffffffffffffffffffffffffffde0343075e5f508cdeb918624ae71708f2ffffffffffffffffffffffffffffffde0343075e5f508cdeb918624ae71708\niv = 000102030405060708090a0b0c0d0e0f101112130552a411\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = fc5491e17fb1ebf66bb0a3ecbc1bc251319e8e2a169df9a16b932cf0eae456437bfb4365776d1717fb3f9f45f9888c97c943391482e56fb6754746325960302049871d72e9f20f1fd6a77429527f8b81729cf667c7fa9245d788e9839c547f6d\nresult = valid\ntag = 2243326100d105501684abc0aa1010f4\n\n# tcId = 249\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = fdffffffffffffffffffffffffffffff384855e6c60c3ec1824cce0562405c08c87997005985397642f682d4aae77f41c87997005985397642f682d4aae77f41\niv = 000102030405060708090a0b0c0d0e0f101112130552a411\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = fe5491e17fb1ebf66bb0a3ecbc1bc2514233fe057ace7ef2ad7b40a5b53109bc417d2b9ad117d19e4636e26eac900c29df39ed13853f064ce908dc84b9605869\nresult = valid\ntag = 8a411d3fb606d039ea83c6e8e98d9e53\n\n# tcId = 250\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = dfffffffffffffffffffffffffffffff3e791946233a67a0c7fe509f14179607deffffffffffffffffffffffffffffff414535660bac916aa675c9eeee5b2608deffffffffffffffffffffffffffffff414535660bac916aa675c9eeee5b2608\niv = 000102030405060708090a0b0c0d0e0f101112130552a411\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = dc5491e17fb1ebf66bb0a3ecbc1bc2514402b2a59ff82793e8c9de3fc366c3b357fb4365776d1717fb3f9f45f9888c9756054f75d716ae500d8b97befddc012065871d72e9f20f1fd6a77429527f8b81edda8006920953a3af44380f38e84e6d\nresult = valid\ntag = 5ed9e3c1cacff152211b5c57fd628278\n\n# tcId = 251\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = c4ffffffffffffffffffffffffffffff346775ef8bf64e8ed1593b2ce2133e01c2ffffffffffffffffffffffffffffff3733910f74687958b0d0b37bbc58ce01c2ffffffffffffffffffffffffffffff3733910f74687958b0d0b37bbc58ce01\niv = 000102030405060708090a0b0c0d0e0f101112130552a411\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = c75491e17fb1ebf66bb0a3ecbc1bc2514e1cde0c37340ebdfe6eb58c35626bb54bfb4365776d1717fb3f9f45f9888c972073eb1ca8d246621b2eed2bafdfe92979871d72e9f20f1fd6a77429527f8b819bac246fedcdbb91b9e1429a6aeba664\nresult = valid\ntag = 657eaad10a31a756c5dbf75ae5872e84\n\n# tcId = 252\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = 5667456206e49afa486a19f0a478a7543a58bd40afe6c713d3b3a38995e1df913a58bd40afe6c713d3b3a38995e1df91\niv = 000102030405060708090a0b0c0d0e0f101112130552a411\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 55cc2b7c86aa8ef3dc2545e3e79c9afa402316a313248720fc842d2942908a25b35c01da27742ffbd773c3339396acf9\nresult = valid\ntag = 25545d0636b19f9319ff5bb0191c89fb\n\n# tcId = 253\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = deffffffffffffffffffffffffffffff0846af843d1c80165bbd914582a77702deffffffffffffffffffffffffffffffd7010c1eb016839cbd95cd5eaad61a03deffffffffffffffffffffffffffffffd7010c1eb016839cbd95cd5eaad61a03\niv = 000102030405060708090a0b0c0d0e0f10111213019836bb\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 690ed780cbde3c9617205cba5e51ca35b6361e9d88e9f262299d7730839f48db3a32d61828f3f54056c1f9113f9b8e180d52a0ddb24c9b3018d53415e705c35e1fa08298547a71b0467c59e48a75cea42a00d0f01b609d7723ec2d39056428f1\nresult = valid\ntag = 92a14f8e928d42edaab17206102c8123\n\n# tcId = 254\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = c2ffffffffffffffffffffffffffffffa4c3923709138ea291658f729ecc9607c2ffffffffffffffffffffffffffffffa14efbcfdb92781b6cc7c8881a3e0000c2ffffffffffffffffffffffffffffffa14efbcfdb92781b6cc7c8881a3e0000\niv = 000102030405060708090a0b0c0d0e0f10111213019836bb\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 750ed780cbde3c9617205cba5e51ca351ab3232ebce6fcd6e34569079ff4a9de2632d61828f3f54056c1f9113f9b8e187b1d570cd9c860b7c98731c357edd95d03a08298547a71b0467c59e48a75cea45c4f272170e466f0f2be28efb58c32f2\nresult = valid\ntag = 64d2438f32085bfa32287509bce9ba2b\n\n# tcId = 255\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = d1ffffffffffffffffffffffffffffffe181fc89d718a153ed384da8b9486e07ccffffffffffffffffffffffffffffffb03d59234a13a4d94f1189c1e1771108ccffffffffffffffffffffffffffffffb03d59234a13a4d94f1189c1e1771108\niv = 000102030405060708090a0b0c0d0e0f10111213019836bb\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 660ed780cbde3c9617205cba5e51ca355ff14d9062edd3279f18abddb87051de2832d61828f3f54056c1f9113f9b8e186a6ef5e04849bc75ea51708aaca4c8550da08298547a71b0467c59e48a75cea44d3c85cde165ba32d16869a64ec523fa\nresult = valid\ntag = ac951493b2f2bc2e53027f156ce0a14c\n\n# tcId = 256\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = c5ffffffffffffffffffffffffffffffe88c558ed19aa983f73d0608452c2b04bbffffffffffffffffffffffffffffffb748b2274495ac095a1642216d5bce04bbffffffffffffffffffffffffffffffb748b2274495ac095a1642216d5bce04\niv = 000102030405060708090a0b0c0d0e0f10111213019836bb\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 720ed780cbde3c9617205cba5e51ca3556fce497646fdbf7851de07d441414dd5f32d61828f3f54056c1f9113f9b8e186d1b1ee446cfb4a5ff56bb6a208817597aa08298547a71b0467c59e48a75cea44a496ec9efe3b2e2c46fa246c2e9fcf6\nresult = valid\ntag = c689d997d2573770fb528b24c894c275\n\n# tcId = 257\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = c8ffffffffffffffffffffffffffffff2c5618e59922c5645d167d9deb8bbf00b5fffffffffffffffffffffffffffffffb11757e0c1dc8eabfeeb8b613bb6201b5fffffffffffffffffffffffffffffffb11757e0c1dc8eabfeeb8b613bb6201\niv = 000102030405060708090a0b0c0d0e0f10111213019836bb\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 7f0ed780cbde3c9617205cba5e51ca359226a9fc2cd7b7102f369be8eab380d95132d61828f3f54056c1f9113f9b8e182142d9bd0e47d0461aae41fd5e68bb5c74a08298547a71b0467c59e48a75cea40610a990a76bd601219758d1bc0950f3\nresult = valid\ntag = 28416fa072a713e6c37da13fd43fcabf\n\n# tcId = 258\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = acffffffffffffffffffffffffffffffc8d3fb976519d3f093be7aca07b1de05ffffffffffffffffffffffffffffffff14eb18cf77bdfc3139e6b8adfa8f46b7ffffffffffffffffffffffffffffffff14eb18cf77bdfc3139e6b8adfa8f46b7\niv = 000102030405060708090a0b0c0d0e0f10111213019836bb\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 1b0ed780cbde3c9617205cba5e51ca3576a34a8ed0eca", + "184e19e9cbf0689e1dc1b32d61828f3f54056c1f9113f9b8e18ceb8b40c75e7e49d9ca641e6b75c9fea3ea08298547a71b0467c59e48a75cea4e9eac421dccbe2daa79f58ca553d7445\nresult = valid\ntag = fa7163a112222cf34bf4a34280fd03c8\n\n# tcId = 259\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = f4ffffffffffffffffffffffffffffff37ed06bed42b3371a0690348c3a56b07f5ffffffffffffffffffffffffffffffef7b1b4d75f541f662c72654635e0c05f5ffffffffffffffffffffffffffffffef7b1b4d75f541f662c72654635e0c05\niv = 000102030405060708090a0b0c0d0e0f10111213019836bb\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 430ed780cbde3c9617205cba5e51ca35899db7a761de4105d249e53dc29d54de1132d61828f3f54056c1f9113f9b8e183528b78e77af595ac787df1f2e8dd55834a08298547a71b0467c59e48a75cea4127ac7a3de835f1dfcbec633ccec3ef7\nresult = valid\ntag = d79da397c4431ee1c2b58810ece4491e\n\n# tcId = 260\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = d9ffffffffffffffffffffffffffffff013af66f00a828f04e9bfe71330d5104d9ffffffffffffffffffffffffffffffb9c80affa071377511f9217ed3c5f101d9ffffffffffffffffffffffffffffffb9c80affa071377511f9217ed3c5f101\niv = 000102030405060708090a0b0c0d0e0f10111213019836bb\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 6e0ed780cbde3c9617205cba5e51ca35bf4a4776b55d5a843cbb180432356edd3d32d61828f3f54056c1f9113f9b8e18639ba63ca22b2fd9b4b9d8359e16285c18a08298547a71b0467c59e48a75cea444c9d6110b07299e8f80c1197c77c3f3\nresult = valid\ntag = a9ce979864be36ee4a2c8b1398a28326\n\n# tcId = 261\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = adffffffffffffffffffffffffffffffd0ee341aa23be6af817dae6a277a5f01b7ffffffffffffffffffffffffffffff24d5434233947c397a23d4937f95ba03b7ffffffffffffffffffffffffffffff24d5434233947c397a23d4937f95ba03\niv = 000102030405060708090a0b0c0d0e0f10111213019836bb\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 1a0ed780cbde3c9617205cba5e51ca356e9e850317ce94dbf35d481f264260d85332d61828f3f54056c1f9113f9b8e18fe86ef8131ce6495df632dd83246635e76a08298547a71b0467c59e48a75cea4d9d49fac98e262d2e45a34f4d02788f1\nresult = valid\ntag = d48e13f63365ba66c44270d827d787cf\n\n# tcId = 262\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = ddffffffffffffffffffffffffffffffa53e62ebb171667070059544ebd43401f0ffffffffffffffffffffffffffffff7e4f23a2612890fdfe78a47d73dc4705f0ffffffffffffffffffffffffffffff7e4f23a2612890fdfe78a47d73dc4705\niv = 000102030405060708090a0b0c0d0e0f10111213019836bb\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 6a0ed780cbde3c9617205cba5e51ca351b4ed3f20484140402257331eaec0bd81432d61828f3f54056c1f9113f9b8e18a41c8f61637288515b385d363e0f9e5831a08298547a71b0467c59e48a75cea4834eff4cca5e8e166001441adc6e75f7\nresult = valid\ntag = edaccb5e75b74aed654a70adeb3fc883\n\n# tcId = 263\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = 7b045b2795580ba16bdcbb2467be37e706b7b836937221c94c7575bfff2692fe06b7b836937221c94c7575bfff2692fe\niv = 000102030405060708090a0b0c0d0e0f10111213019836bb\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = ccf57358a179c8c883031861c610022db8c7092f268753bd3e5593cafe1ead27e27a91d1447e2b76e54b73513f42e319\nresult = valid\ntag = 6c49f0fd16742ea3fc257e460099469a\n\n# tcId = 264\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = 1f2b89bfe0e56bbec08d74fdb2240606a9dde6cedeff81e6a1262e984b8d601da9dde6cedeff81e6a1262e984b8d601d\niv = 000102030405060708090a0b0c0d0e0f10111213019836bb\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = a8daa1c0d4c4a8d72852d7b8138a33cc17ad57d76b0af392d306c8ed4ab55fc44d10cf2909f38b59081828768be911fa\nresult = valid\ntag = 3e7ae4feb6ee46b0849c8049ac5680a2\n\n# tcId = 265\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = d6ffffffffffffffffffffffffffffff587d870a45a8fcb52ee4c626300abb03d6fffffffffffffffffffffffffffffff6cccd9d5fbf30391a0ad3420e7f6c06d6fffffffffffffffffffffffffffffff6cccd9d5fbf30391a0ad3420e7f6c06\niv = 000102030405060708090a0b0c0d0e0f10111213019836bb\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 610ed780cbde3c9617205cba5e51ca35e60d3613f05d8ec15cc42053313284da3232d61828f3f54056c1f9113f9b8e182c9f615e5de52895bf4a2a0943acb55b17a08298547a71b0467c59e48a75cea40bcd1173f4c92ed284733325a1cd5ef4\nresult = valid\ntag = c30d6694ea7011f02164a2035ae67221\n\n# tcId = 266\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = aaffffffffffffffffffffffffffffff85039d322c090c408537c64d1f79b801abffffffffffffffffffffffffffffff4ddc21b4197187be7a22934de1bd4303abffffffffffffffffffffffffffffff4ddc21b4197187be7a22934de1bd4303\niv = 000102030405060708090a0b0c0d0e0f10111213019836bb\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 1d0ed780cbde3c9617205cba5e51ca353b732c2b99fc7e34f71720381e4187d84f32d61828f3f54056c1f9113f9b8e18978f8d771b2b9f12df626a06ac6e9a5e6aa08298547a71b0467c59e48a75cea4b0ddfd5ab2079955e45b732a4e0f71f1\nresult = valid\ntag = c75333a577a5b1e78f28df1cca585f1a\n\n# tcId = 267\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = edffffffffffffffffffffffffffffff221a96a56623b1d6a401904e2348f607ddffffffffffffffffffffffffffffff2aaf479f960f07c46804e8da4c866903ddffffffffffffffffffffffffffffff2aaf479f960f07c46804e8da4c866903\niv = 000102030405060708090a0b0c0d0e0f10111213019836bb\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 5a0ed780cbde3c9617205cba5e51ca359c6a27bcd3d6c3a2d621763b2270c9de3932d61828f3f54056c1f9113f9b8e18f0fceb5c94551f68cd4411910155b05e1ca08298547a71b0467c59e48a75cea4d7ae9b713d79192ff67d08bde3345bf1\nresult = valid\ntag = 79d53d3dd5457757caef7dc3cef74cac\n\n# tcId = 268\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = 85fd65ab462899540ac38c1245647a010fb0c3ba4442bf7cec5b46adddcbd4180fb0c3ba4442bf7cec5b46adddcbd418\niv = 000102030405060708090a0b0c0d0e0f10111213019836bb\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 320c4dd472095a3de21c2f57e4ca4fcbb1c072a3f1b7cd089e7ba0d8dcf3ebc1eb7dea5d934eb5c3456540431dafa5ff\nresult = valid\ntag = e2714a882d47f25b7373b9e68edc1721\n\n# tcId = 269\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = deffffffffffffffffffffffffffffff0946af843d1c80165bbd914582a77702ffffffffffffffffffffffffffffffffb4c9b7e3bb757fcb42cdc3be911b5a17ffffffffffffffffffffffffffffffffb4c9b7e3bb757fcb42cdc3be911b5a17\niv = 000102030405060708090a0b0c0d0e0f10111213019836bb\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 690ed780cbde3c9617205cba5e51ca35b7361e9d88e9f262299d7730839f48db1b32d61828f3f54056c1f9113f9b8e186e9a1b20b92f6767e78d3af5dcc8834a3ea08298547a71b0467c59e48a75cea449c86b0d10036120dcb423d93ea968e5\nresult = valid\ntag = 9f8e29a9e65f1e0e9c322b43fc73d0ff\n\n# tcId = 270\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = deffffffffffffffffffffffffffffff0746af843d1c80165bbd914582a77702baffffffffffffffffffffffffffffff70cc3c5b8427d094d0c1de07c7ca8807baffffffffffffffffffffffffffffff70cc3c5b8427d094d0c1de07c7ca8807\niv = 000102030405060708090a0b0c0d0e0f10111213019836bb\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 690ed780cbde3c9617205cba5e51ca35b9361e9d88e9f262299d7730839f48db5e32d61828f3f54056c1f9113f9b8e18aa9f9098867dc8387581274c8a19515a7ba08298547a71b0467c59e48a75cea48dcde0b52f51ce7f4eb83e606878baf5\nresult = valid\ntag = 80b475733ebb66ccb930bac923e43147\n\n# tcId = 271\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = 1520f59fc1962056251eff9bfa09c7b1d8ffffffffffffffffffffffffffffff88d0a9d5fe3a36639d30c6a4ce086700d8ffffffffffffffffffffffffffffff88d0a9d5fe3a36639d30c6a4ce086700\niv = 000102030405060708090a0b0c0d0e0f10111213019836bb\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = a2d1dde0f5b7e33fcdc15cde5ba7f27b668f4ee64a0a8d8b8ddf198afec7c0266c1d803229363cdc340ec04a0e6c16e702ac533cfda5e7535abf06b4b22c26a2498fd4b255bfb82c24b360bfbb82565b\nresult = valid\ntag = 6818e1b9360bcb4c10bb8d7b2c5679f1\n\n# tcId = 272\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = f0ffffffffffffffffffffffffffffffbcb469752d29ed0eedde97729c066401afffffffffffffffffffffffffffffff0e4b7962ddc437d295321d62145e4605affffffffffffff", + "fffffffffffffffff0e4b7962ddc437d295321d62145e4605\niv = 000102030405060708090a0b0c0d0e0f10111213019836bb\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 470ed780cbde3c9617205cba5e51ca3502c4d86c98dc9f7a9ffe71079d3e5bd84b32d61828f3f54056c1f9113f9b8e18d418d5a1df9e2f7e3072e429598d9f586ea08298547a71b0467c59e48a75cea4f34aa58c76b229390b4bfd05bbec74f7\nresult = valid\ntag = 612c9d78f50e3203f04ec9f36c2ceb36\n\n# tcId = 273\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = d7ffffffffffffffffffffffffffffff6f256871f09983b96827d150c970bf03ffffffffffffffffffffffffffffffff373460e4ba4c6d30e7dce9f0a58d4eb9ffffffffffffffffffffffffffffffff373460e4ba4c6d30e7dce9f0a58d4eb9\niv = 000102030405060708090a0b0c0d0e0f10111213019836bb\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 600ed780cbde3c9617205cba5e51ca35d155d968456cf1cd1a073725c84880da1b32d61828f3f54056c1f9113f9b8e18ed67cc27b816759c429c10bbe85e97e43ea08298547a71b0467c59e48a75cea4ca35bc0a113a73db79a509970a3f7c4b\nresult = valid\ntag = c4ad8c8e3aac88f04c4f33077b9b8f25\n\n# tcId = 274\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = bcffffffffffffffffffffffffffffff397257231c1679381759cc7a39d8a40048b0397e9eb0b864aadde6cedeff81e648b0397e9eb0b864aadde6cedeff81e6\niv = 000102030405060708090a0b0c0d0e0f10111213019836bb\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 0b0ed780cbde3c9617205cba5e51ca358702e63aa9e30b4c65792a0f38e09bd9ac7d109949bcb2db03e3e0201e9bf00192e395bd9ceaa0c80f9d1f85932c58bb\nresult = valid\ntag = b744dd541b16fb820525d29042e77b16\n\n# tcId = 275\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = 62240a07ec23035a1df6e50c92fdf5edebd66716ea3d1982ff8e9fa72a665005ebd66716ea3d1982ff8e9fa72a665005\niv = 000102030405060708090a0b0c0d0e0f10111213019836bb\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = d5d52278d802c033f52946493353c02755a6d60f5fc86bf68dae79d22b5e6fdc0f1b4ef13d31133d56b09949ea0221e2\nresult = valid\ntag = ead346fd87d575c364f6514fcfc6e9a7\n\n# tcId = 276\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = eaffffffffffffffffffffffffffffff013b5680439a77e650b8d8e5f6c3ba05efffffffffffffffffffffffffffffffd0f6b219b6947a6cb39014ff1ef35d06efffffffffffffffffffffffffffffffd0f6b219b6947a6cb39014ff1ef35d06\niv = 000102030405060708090a0b0c0d0e0f10111213019836bb\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 5d0ed780cbde3c9617205cba5e51ca35bf4be799f66f059222983e90f7fb85dc0b32d61828f3f54056c1f9113f9b8e180aa51edab4ce62c016d0edb45320845b2ea08298547a71b0467c59e48a75cea42df76ef71de264872de9f498b1416ff4\nresult = valid\ntag = 78ad8a897228c8ab026166f7b37760fa\n\n# tcId = 277\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = f9ffffffffffffffffffffffffffffff3ef9bfd211a08a97ac8b961b12409205faffffffffffffffffffffffffffffff0db51c6c849a8d1d0f64d2343a6f3506faffffffffffffffffffffffffffffff0db51c6c849a8d1d0f64d2343a6f3506\niv = 000102030405060708090a0b0c0d0e0f10111213019836bb\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 4e0ed780cbde3c9617205cba5e51ca3580890ecba455f8e3deab706e1378addc1e32d61828f3f54056c1f9113f9b8e18d7e6b0af86c095b1aa242b7f77bcec5b3ba08298547a71b0467c59e48a75cea4f0b4c0822fec93f6911d325395dd07f4\nresult = valid\ntag = c0705b8df2122ae0223b7003646e471b\n\n# tcId = 278\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = c6ffffffffffffffffffffffffffffff9e3c43af626435682efa462b6934e306adffffffffffffffffffffffffffffffade67189c4fdb72fbd23204e70d05802adffffffffffffffffffffffffffffffade67189c4fdb72fbd23204e70d05802\niv = 000102030405060708090a0b0c0d0e0f10111213019836bb\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 710ed780cbde3c9617205cba5e51ca35204cf2b6d791471c5cdaa05e680cdcdf4932d61828f3f54056c1f9113f9b8e1877b5dd4ac6a7af831863d9053d03815f6ca08298547a71b0467c59e48a75cea450e7ad676f8ba9c4235ac029df626af0\nresult = valid\ntag = d477566543e826f3c7f31248fd4452f6\n\n# tcId = 279\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = abffffffffffffffffffffffffffffff688932618ee02ae7dc2b4255d99bc803ffffffffffffffffffffffffffffffff363974d22fc9280ef6660c2df7b76e76ffffffffffffffffffffffffffffffff363974d22fc9280ef6660c2df7b76e76\niv = 000102030405060708090a0b0c0d0e0f10111213019836bb\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 1c0ed780cbde3c9617205cba5e51ca35d6f983783b155893ae0ba420d8a3f7da1b32d61828f3f54056c1f9113f9b8e18ec6ad8112d9330a25326f566ba64b72b3ea08298547a71b0467c59e48a75cea4cb38a83c84bf36e5681fec4a58055c84\nresult = valid\ntag = a6a84a66e3623f00506a154ba9028cfe\n\n# tcId = 280\n# edge case intermediate sums in poly1305\naad = ffffffff\nct = 299d68726335317373895f9688972302c3ffffffffffffffffffffffffffffffb9b4c4ba39eebda9964cece40605f804c3ffffffffffffffffffffffffffffffb9b4c4ba39eebda9964cece40605f804\niv = 000102030405060708090a0b0c0d0e0f10111213019836bb\nkey = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\nmsg = 9e6c400d5714f21a9b56fcd3293916c87d8f4ee64a0a8d8b8ddf198afec7c0265d79ed5deee2b7163f72ea0ac66189e319ac533cfda5e7535abf06b4b22c26a278ebb9dd926b33e62fcf4aff738fc95f\nresult = valid\ntag = 85b241bbbd0556368ec3fb749e7601ea\n\n[ivSize = 64]\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 281\n# invalid nonce size\naad = \nct = \niv = 0001020304050607\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = \n\n[ivSize = 96]\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 282\n# invalid nonce size\naad = \nct = \niv = 000102030405060708090a0b\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = \n\n[ivSize = 160]\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 283\n# invalid nonce size\naad = \nct = \niv = 000102030405060708090a0b0c0d0e0f10111213\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = \n\n[ivSize = 256]\n[keySize = 256]\n[tagSize = 128]\n\n# tcId = 284\n# invalid nonce size\naad = \nct = \niv = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\nkey = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\nmsg = \nresult = invalid\ntag = \n\n", }; static std::string AssembleString(const char **data, size_t len) { std::string ret; @@ -3458,240 +4548,465 @@ std::string GetTestData(const char *path) { if (strcmp(path, "crypto/cipher_extra/test/aes_128_gcm_tests.txt") == 0) { return AssembleString(kData7, kLen7); } - if (strcmp(path, "crypto/cipher_extra/test/aes_256_cbc_sha1_tls_implicit_iv_tests.txt") == 0) { + if (strcmp(path, "crypto/cipher_extra/test/aes_192_gcm_tests.txt") == 0) { return AssembleString(kData8, kLen8); } - if (strcmp(path, "crypto/cipher_extra/test/aes_256_cbc_sha1_tls_tests.txt") == 0) { + if (strcmp(path, "crypto/cipher_extra/test/aes_256_cbc_sha1_tls_implicit_iv_tests.txt") == 0) { return AssembleString(kData9, kLen9); } - if (strcmp(path, "crypto/cipher_extra/test/aes_256_cbc_sha256_tls_tests.txt") == 0) { + if (strcmp(path, "crypto/cipher_extra/test/aes_256_cbc_sha1_tls_tests.txt") == 0) { return AssembleString(kData10, kLen10); } - if (strcmp(path, "crypto/cipher_extra/test/aes_256_cbc_sha384_tls_tests.txt") == 0) { + if (strcmp(path, "crypto/cipher_extra/test/aes_256_cbc_sha256_tls_tests.txt") == 0) { return AssembleString(kData11, kLen11); } - if (strcmp(path, "crypto/cipher_extra/test/aes_256_ctr_hmac_sha256.txt") == 0) { + if (strcmp(path, "crypto/cipher_extra/test/aes_256_cbc_sha384_tls_tests.txt") == 0) { return AssembleString(kData12, kLen12); } - if (strcmp(path, "crypto/cipher_extra/test/aes_256_gcm_siv_tests.txt") == 0) { + if (strcmp(path, "crypto/cipher_extra/test/aes_256_ctr_hmac_sha256.txt") == 0) { return AssembleString(kData13, kLen13); } - if (strcmp(path, "crypto/cipher_extra/test/aes_256_gcm_tests.txt") == 0) { + if (strcmp(path, "crypto/cipher_extra/test/aes_256_gcm_siv_tests.txt") == 0) { return AssembleString(kData14, kLen14); } - if (strcmp(path, "crypto/cipher_extra/test/chacha20_poly1305_tests.txt") == 0) { + if (strcmp(path, "crypto/cipher_extra/test/aes_256_gcm_tests.txt") == 0) { return AssembleString(kData15, kLen15); } - if (strcmp(path, "crypto/cipher_extra/test/xchacha20_poly1305_tests.txt") == 0) { + if (strcmp(path, "crypto/cipher_extra/test/chacha20_poly1305_tests.txt") == 0) { return AssembleString(kData16, kLen16); } - if (strcmp(path, "crypto/cipher_extra/test/cipher_tests.txt") == 0) { + if (strcmp(path, "crypto/cipher_extra/test/xchacha20_poly1305_tests.txt") == 0) { return AssembleString(kData17, kLen17); } - if (strcmp(path, "crypto/cipher_extra/test/des_ede3_cbc_sha1_tls_implicit_iv_tests.txt") == 0) { + if (strcmp(path, "crypto/cipher_extra/test/cipher_tests.txt") == 0) { return AssembleString(kData18, kLen18); } - if (strcmp(path, "crypto/cipher_extra/test/des_ede3_cbc_sha1_tls_tests.txt") == 0) { + if (strcmp(path, "crypto/cipher_extra/test/des_ede3_cbc_sha1_tls_implicit_iv_tests.txt") == 0) { return AssembleString(kData19, kLen19); } - if (strcmp(path, "crypto/cipher_extra/test/nist_cavp/aes_128_cbc.txt") == 0) { + if (strcmp(path, "crypto/cipher_extra/test/des_ede3_cbc_sha1_tls_tests.txt") == 0) { return AssembleString(kData20, kLen20); } - if (strcmp(path, "crypto/cipher_extra/test/nist_cavp/aes_128_ctr.txt") == 0) { + if (strcmp(path, "crypto/cipher_extra/test/nist_cavp/aes_128_cbc.txt") == 0) { return AssembleString(kData21, kLen21); } - if (strcmp(path, "crypto/cipher_extra/test/nist_cavp/aes_128_gcm.txt") == 0) { + if (strcmp(path, "crypto/cipher_extra/test/nist_cavp/aes_128_ctr.txt") == 0) { return AssembleString(kData22, kLen22); } - if (strcmp(path, "crypto/cipher_extra/test/nist_cavp/aes_192_cbc.txt") == 0) { + if (strcmp(path, "crypto/cipher_extra/test/nist_cavp/aes_128_gcm.txt") == 0) { return AssembleString(kData23, kLen23); } - if (strcmp(path, "crypto/cipher_extra/test/nist_cavp/aes_192_ctr.txt") == 0) { + if (strcmp(path, "crypto/cipher_extra/test/nist_cavp/aes_192_cbc.txt") == 0) { return AssembleString(kData24, kLen24); } - if (strcmp(path, "crypto/cipher_extra/test/nist_cavp/aes_256_cbc.txt") == 0) { + if (strcmp(path, "crypto/cipher_extra/test/nist_cavp/aes_192_ctr.txt") == 0) { return AssembleString(kData25, kLen25); } - if (strcmp(path, "crypto/cipher_extra/test/nist_cavp/aes_256_ctr.txt") == 0) { + if (strcmp(path, "crypto/cipher_extra/test/nist_cavp/aes_256_cbc.txt") == 0) { return AssembleString(kData26, kLen26); } - if (strcmp(path, "crypto/cipher_extra/test/nist_cavp/aes_256_gcm.txt") == 0) { + if (strcmp(path, "crypto/cipher_extra/test/nist_cavp/aes_256_ctr.txt") == 0) { return AssembleString(kData27, kLen27); } - if (strcmp(path, "crypto/cipher_extra/test/nist_cavp/tdes_cbc.txt") == 0) { + if (strcmp(path, "crypto/cipher_extra/test/nist_cavp/aes_256_gcm.txt") == 0) { return AssembleString(kData28, kLen28); } - if (strcmp(path, "crypto/cipher_extra/test/nist_cavp/tdes_ecb.txt") == 0) { + if (strcmp(path, "crypto/cipher_extra/test/nist_cavp/tdes_cbc.txt") == 0) { return AssembleString(kData29, kLen29); } - if (strcmp(path, "crypto/curve25519/ed25519_tests.txt") == 0) { + if (strcmp(path, "crypto/cipher_extra/test/nist_cavp/tdes_ecb.txt") == 0) { return AssembleString(kData30, kLen30); } - if (strcmp(path, "crypto/cmac/cavp_3des_cmac_tests.txt") == 0) { + if (strcmp(path, "crypto/curve25519/ed25519_tests.txt") == 0) { return AssembleString(kData31, kLen31); } - if (strcmp(path, "crypto/cmac/cavp_aes128_cmac_tests.txt") == 0) { + if (strcmp(path, "crypto/cmac/cavp_3des_cmac_tests.txt") == 0) { return AssembleString(kData32, kLen32); } - if (strcmp(path, "crypto/cmac/cavp_aes192_cmac_tests.txt") == 0) { + if (strcmp(path, "crypto/cmac/cavp_aes128_cmac_tests.txt") == 0) { return AssembleString(kData33, kLen33); } - if (strcmp(path, "crypto/cmac/cavp_aes256_cmac_tests.txt") == 0) { + if (strcmp(path, "crypto/cmac/cavp_aes192_cmac_tests.txt") == 0) { return AssembleString(kData34, kLen34); } - if (strcmp(path, "crypto/ecdh_extra/ecdh_tests.txt") == 0) { + if (strcmp(path, "crypto/cmac/cavp_aes256_cmac_tests.txt") == 0) { return AssembleString(kData35, kLen35); } - if (strcmp(path, "crypto/evp/evp_tests.txt") == 0) { + if (strcmp(path, "crypto/ecdh_extra/ecdh_tests.txt") == 0) { return AssembleString(kData36, kLen36); } - if (strcmp(path, "crypto/evp/scrypt_tests.txt") == 0) { + if (strcmp(path, "crypto/evp/evp_tests.txt") == 0) { return AssembleString(kData37, kLen37); } - if (strcmp(path, "crypto/fipsmodule/aes/aes_tests.txt") == 0) { + if (strcmp(path, "crypto/evp/scrypt_tests.txt") == 0) { return AssembleString(kData38, kLen38); } - if (strcmp(path, "crypto/fipsmodule/bn/bn_tests.txt") == 0) { + if (strcmp(path, "crypto/fipsmodule/aes/aes_tests.txt") == 0) { return AssembleString(kData39, kLen39); } - if (strcmp(path, "crypto/fipsmodule/ec/ec_scalar_base_mult_tests.txt") == 0) { + if (strcmp(path, "crypto/fipsmodule/bn/bn_tests.txt") == 0) { return AssembleString(kData40, kLen40); } - if (strcmp(path, "crypto/fipsmodule/ec/p256-x86_64_tests.txt") == 0) { + if (strcmp(path, "crypto/fipsmodule/bn/miller_rabin_tests.txt") == 0) { return AssembleString(kData41, kLen41); } - if (strcmp(path, "crypto/fipsmodule/ecdsa/ecdsa_sign_tests.txt") == 0) { + if (strcmp(path, "crypto/fipsmodule/ec/ec_scalar_base_mult_tests.txt") == 0) { return AssembleString(kData42, kLen42); } - if (strcmp(path, "crypto/fipsmodule/ecdsa/ecdsa_verify_tests.txt") == 0) { + if (strcmp(path, "crypto/fipsmodule/ec/p256-x86_64_tests.txt") == 0) { return AssembleString(kData43, kLen43); } - if (strcmp(path, "crypto/fipsmodule/modes/gcm_tests.txt") == 0) { + if (strcmp(path, "crypto/fipsmodule/ecdsa/ecdsa_sign_tests.txt") == 0) { return AssembleString(kData44, kLen44); } - if (strcmp(path, "crypto/fipsmodule/rand/ctrdrbg_vectors.txt") == 0) { + if (strcmp(path, "crypto/fipsmodule/ecdsa/ecdsa_verify_tests.txt") == 0) { return AssembleString(kData45, kLen45); } - if (strcmp(path, "crypto/hmac_extra/hmac_tests.txt") == 0) { + if (strcmp(path, "crypto/fipsmodule/modes/gcm_tests.txt") == 0) { return AssembleString(kData46, kLen46); } - if (strcmp(path, "crypto/poly1305/poly1305_tests.txt") == 0) { + if (strcmp(path, "crypto/fipsmodule/rand/ctrdrbg_vectors.txt") == 0) { return AssembleString(kData47, kLen47); } - if (strcmp(path, "crypto/siphash/siphash_tests.txt") == 0) { + if (strcmp(path, "crypto/hmac_extra/hmac_tests.txt") == 0) { return AssembleString(kData48, kLen48); } - if (strcmp(path, "crypto/x509/many_constraints.pem") == 0) { + if (strcmp(path, "crypto/hpke/hpke_test_vectors.txt") == 0) { return AssembleString(kData49, kLen49); } - if (strcmp(path, "crypto/x509/many_names1.pem") == 0) { + if (strcmp(path, "crypto/poly1305/poly1305_tests.txt") == 0) { return AssembleString(kData50, kLen50); } - if (strcmp(path, "crypto/x509/many_names2.pem") == 0) { + if (strcmp(path, "crypto/siphash/siphash_tests.txt") == 0) { return AssembleString(kData51, kLen51); } - if (strcmp(path, "crypto/x509/many_names3.pem") == 0) { + if (strcmp(path, "crypto/x509/test/basic_constraints_ca.pem") == 0) { return AssembleString(kData52, kLen52); } - if (strcmp(path, "crypto/x509/some_names1.pem") == 0) { + if (strcmp(path, "crypto/x509/test/basic_constraints_ca_pathlen_0.pem") == 0) { return AssembleString(kData53, kLen53); } - if (strcmp(path, "crypto/x509/some_names2.pem") == 0) { + if (strcmp(path, "crypto/x509/test/basic_constraints_ca_pathlen_1.pem") == 0) { return AssembleString(kData54, kLen54); } - if (strcmp(path, "crypto/x509/some_names3.pem") == 0) { + if (strcmp(path, "crypto/x509/test/basic_constraints_ca_pathlen_10.pem") == 0) { return AssembleString(kData55, kLen55); } - if (strcmp(path, "third_party/wycheproof_testvectors/aes_cbc_pkcs5_test.txt") == 0) { + if (strcmp(path, "crypto/x509/test/basic_constraints_leaf.pem") == 0) { return AssembleString(kData56, kLen56); } - if (strcmp(path, "third_party/wycheproof_testvectors/aes_cmac_test.txt") == 0) { + if (strcmp(path, "crypto/x509/test/basic_constraints_none.pem") == 0) { return AssembleString(kData57, kLen57); } - if (strcmp(path, "third_party/wycheproof_testvectors/aes_gcm_siv_test.txt") == 0) { + if (strcmp(path, "crypto/x509/test/invalid_extension_intermediate.pem") == 0) { return AssembleString(kData58, kLen58); } - if (strcmp(path, "third_party/wycheproof_testvectors/aes_gcm_test.txt") == 0) { + if (strcmp(path, "crypto/x509/test/invalid_extension_intermediate_authority_key_identifier.pem") == 0) { return AssembleString(kData59, kLen59); } - if (strcmp(path, "third_party/wycheproof_testvectors/chacha20_poly1305_test.txt") == 0) { + if (strcmp(path, "crypto/x509/test/invalid_extension_intermediate_basic_constraints.pem") == 0) { return AssembleString(kData60, kLen60); } - if (strcmp(path, "third_party/wycheproof_testvectors/dsa_test.txt") == 0) { + if (strcmp(path, "crypto/x509/test/invalid_extension_intermediate_ext_key_usage.pem") == 0) { return AssembleString(kData61, kLen61); } - if (strcmp(path, "third_party/wycheproof_testvectors/ecdh_secp224r1_test.txt") == 0) { + if (strcmp(path, "crypto/x509/test/invalid_extension_intermediate_key_usage.pem") == 0) { return AssembleString(kData62, kLen62); } - if (strcmp(path, "third_party/wycheproof_testvectors/ecdh_secp256r1_test.txt") == 0) { + if (strcmp(path, "crypto/x509/test/invalid_extension_intermediate_name_constraints.pem") == 0) { return AssembleString(kData63, kLen63); } - if (strcmp(path, "third_party/wycheproof_testvectors/ecdh_secp384r1_test.txt") == 0) { + if (strcmp(path, "crypto/x509/test/invalid_extension_intermediate_subject_alt_name.pem") == 0) { return AssembleString(kData64, kLen64); } - if (strcmp(path, "third_party/wycheproof_testvectors/ecdh_secp521r1_test.txt") == 0) { + if (strcmp(path, "crypto/x509/test/invalid_extension_intermediate_subject_key_identifier.pem") == 0) { return AssembleString(kData65, kLen65); } - if (strcmp(path, "third_party/wycheproof_testvectors/ecdsa_secp224r1_sha224_test.txt") == 0) { + if (strcmp(path, "crypto/x509/test/invalid_extension_leaf.pem") == 0) { return AssembleString(kData66, kLen66); } - if (strcmp(path, "third_party/wycheproof_testvectors/ecdsa_secp224r1_sha256_test.txt") == 0) { + if (strcmp(path, "crypto/x509/test/invalid_extension_leaf_authority_key_identifier.pem") == 0) { return AssembleString(kData67, kLen67); } - if (strcmp(path, "third_party/wycheproof_testvectors/ecdsa_secp224r1_sha512_test.txt") == 0) { + if (strcmp(path, "crypto/x509/test/invalid_extension_leaf_basic_constraints.pem") == 0) { return AssembleString(kData68, kLen68); } - if (strcmp(path, "third_party/wycheproof_testvectors/ecdsa_secp256r1_sha256_test.txt") == 0) { + if (strcmp(path, "crypto/x509/test/invalid_extension_leaf_ext_key_usage.pem") == 0) { return AssembleString(kData69, kLen69); } - if (strcmp(path, "third_party/wycheproof_testvectors/ecdsa_secp256r1_sha512_test.txt") == 0) { + if (strcmp(path, "crypto/x509/test/invalid_extension_leaf_key_usage.pem") == 0) { return AssembleString(kData70, kLen70); } - if (strcmp(path, "third_party/wycheproof_testvectors/ecdsa_secp384r1_sha384_test.txt") == 0) { + if (strcmp(path, "crypto/x509/test/invalid_extension_leaf_name_constraints.pem") == 0) { return AssembleString(kData71, kLen71); } - if (strcmp(path, "third_party/wycheproof_testvectors/ecdsa_secp384r1_sha512_test.txt") == 0) { + if (strcmp(path, "crypto/x509/test/invalid_extension_leaf_subject_alt_name.pem") == 0) { return AssembleString(kData72, kLen72); } - if (strcmp(path, "third_party/wycheproof_testvectors/ecdsa_secp521r1_sha512_test.txt") == 0) { + if (strcmp(path, "crypto/x509/test/invalid_extension_leaf_subject_key_identifier.pem") == 0) { return AssembleString(kData73, kLen73); } - if (strcmp(path, "third_party/wycheproof_testvectors/eddsa_test.txt") == 0) { + if (strcmp(path, "crypto/x509/test/invalid_extension_root.pem") == 0) { return AssembleString(kData74, kLen74); } - if (strcmp(path, "third_party/wycheproof_testvectors/kwp_test.txt") == 0) { + if (strcmp(path, "crypto/x509/test/invalid_extension_root_authority_key_identifier.pem") == 0) { return AssembleString(kData75, kLen75); } - if (strcmp(path, "third_party/wycheproof_testvectors/kw_test.txt") == 0) { + if (strcmp(path, "crypto/x509/test/invalid_extension_root_basic_constraints.pem") == 0) { return AssembleString(kData76, kLen76); } - if (strcmp(path, "third_party/wycheproof_testvectors/rsa_pss_2048_sha1_mgf1_20_test.txt") == 0) { + if (strcmp(path, "crypto/x509/test/invalid_extension_root_ext_key_usage.pem") == 0) { return AssembleString(kData77, kLen77); } - if (strcmp(path, "third_party/wycheproof_testvectors/rsa_pss_2048_sha256_mgf1_0_test.txt") == 0) { + if (strcmp(path, "crypto/x509/test/invalid_extension_root_key_usage.pem") == 0) { return AssembleString(kData78, kLen78); } - if (strcmp(path, "third_party/wycheproof_testvectors/rsa_pss_2048_sha256_mgf1_32_test.txt") == 0) { + if (strcmp(path, "crypto/x509/test/invalid_extension_root_name_constraints.pem") == 0) { return AssembleString(kData79, kLen79); } - if (strcmp(path, "third_party/wycheproof_testvectors/rsa_pss_3072_sha256_mgf1_32_test.txt") == 0) { + if (strcmp(path, "crypto/x509/test/invalid_extension_root_subject_alt_name.pem") == 0) { return AssembleString(kData80, kLen80); } - if (strcmp(path, "third_party/wycheproof_testvectors/rsa_pss_4096_sha256_mgf1_32_test.txt") == 0) { + if (strcmp(path, "crypto/x509/test/invalid_extension_root_subject_key_identifier.pem") == 0) { return AssembleString(kData81, kLen81); } - if (strcmp(path, "third_party/wycheproof_testvectors/rsa_pss_4096_sha512_mgf1_32_test.txt") == 0) { + if (strcmp(path, "crypto/x509/test/many_constraints.pem") == 0) { return AssembleString(kData82, kLen82); } - if (strcmp(path, "third_party/wycheproof_testvectors/rsa_pss_misc_test.txt") == 0) { + if (strcmp(path, "crypto/x509/test/many_names1.pem") == 0) { return AssembleString(kData83, kLen83); } - if (strcmp(path, "third_party/wycheproof_testvectors/rsa_signature_test.txt") == 0) { + if (strcmp(path, "crypto/x509/test/many_names2.pem") == 0) { return AssembleString(kData84, kLen84); } - if (strcmp(path, "third_party/wycheproof_testvectors/x25519_test.txt") == 0) { + if (strcmp(path, "crypto/x509/test/many_names3.pem") == 0) { return AssembleString(kData85, kLen85); } + if (strcmp(path, "crypto/x509/test/some_names1.pem") == 0) { + return AssembleString(kData86, kLen86); + } + if (strcmp(path, "crypto/x509/test/some_names2.pem") == 0) { + return AssembleString(kData87, kLen87); + } + if (strcmp(path, "crypto/x509/test/some_names3.pem") == 0) { + return AssembleString(kData88, kLen88); + } + if (strcmp(path, "third_party/wycheproof_testvectors/aes_cbc_pkcs5_test.txt") == 0) { + return AssembleString(kData89, kLen89); + } + if (strcmp(path, "third_party/wycheproof_testvectors/aes_cmac_test.txt") == 0) { + return AssembleString(kData90, kLen90); + } + if (strcmp(path, "third_party/wycheproof_testvectors/aes_gcm_siv_test.txt") == 0) { + return AssembleString(kData91, kLen91); + } + if (strcmp(path, "third_party/wycheproof_testvectors/aes_gcm_test.txt") == 0) { + return AssembleString(kData92, kLen92); + } + if (strcmp(path, "third_party/wycheproof_testvectors/chacha20_poly1305_test.txt") == 0) { + return AssembleString(kData93, kLen93); + } + if (strcmp(path, "third_party/wycheproof_testvectors/dsa_test.txt") == 0) { + return AssembleString(kData94, kLen94); + } + if (strcmp(path, "third_party/wycheproof_testvectors/ecdh_secp224r1_test.txt") == 0) { + return AssembleString(kData95, kLen95); + } + if (strcmp(path, "third_party/wycheproof_testvectors/ecdh_secp256r1_test.txt") == 0) { + return AssembleString(kData96, kLen96); + } + if (strcmp(path, "third_party/wycheproof_testvectors/ecdh_secp384r1_test.txt") == 0) { + return AssembleString(kData97, kLen97); + } + if (strcmp(path, "third_party/wycheproof_testvectors/ecdh_secp521r1_test.txt") == 0) { + return AssembleString(kData98, kLen98); + } + if (strcmp(path, "third_party/wycheproof_testvectors/ecdsa_secp224r1_sha224_test.txt") == 0) { + return AssembleString(kData99, kLen99); + } + if (strcmp(path, "third_party/wycheproof_testvectors/ecdsa_secp224r1_sha256_test.txt") == 0) { + return AssembleString(kData100, kLen100); + } + if (strcmp(path, "third_party/wycheproof_testvectors/ecdsa_secp224r1_sha512_test.txt") == 0) { + return AssembleString(kData101, kLen101); + } + if (strcmp(path, "third_party/wycheproof_testvectors/ecdsa_secp256r1_sha256_test.txt") == 0) { + return AssembleString(kData102, kLen102); + } + if (strcmp(path, "third_party/wycheproof_testvectors/ecdsa_secp256r1_sha512_test.txt") == 0) { + return AssembleString(kData103, kLen103); + } + if (strcmp(path, "third_party/wycheproof_testvectors/ecdsa_secp384r1_sha384_test.txt") == 0) { + return AssembleString(kData104, kLen104); + } + if (strcmp(path, "third_party/wycheproof_testvectors/ecdsa_secp384r1_sha512_test.txt") == 0) { + return AssembleString(kData105, kLen105); + } + if (strcmp(path, "third_party/wycheproof_testvectors/ecdsa_secp521r1_sha512_test.txt") == 0) { + return AssembleString(kData106, kLen106); + } + if (strcmp(path, "third_party/wycheproof_testvectors/eddsa_test.txt") == 0) { + return AssembleString(kData107, kLen107); + } + if (strcmp(path, "third_party/wycheproof_testvectors/hkdf_sha1_test.txt") == 0) { + return AssembleString(kData108, kLen108); + } + if (strcmp(path, "third_party/wycheproof_testvectors/hkdf_sha256_test.txt") == 0) { + return AssembleString(kData109, kLen109); + } + if (strcmp(path, "third_party/wycheproof_testvectors/hkdf_sha384_test.txt") == 0) { + return AssembleString(kData110, kLen110); + } + if (strcmp(path, "third_party/wycheproof_testvectors/hkdf_sha512_test.txt") == 0) { + return AssembleString(kData111, kLen111); + } + if (strcmp(path, "third_party/wycheproof_testvectors/hmac_sha1_test.txt") == 0) { + return AssembleString(kData112, kLen112); + } + if (strcmp(path, "third_party/wycheproof_testvectors/hmac_sha224_test.txt") == 0) { + return AssembleString(kData113, kLen113); + } + if (strcmp(path, "third_party/wycheproof_testvectors/hmac_sha256_test.txt") == 0) { + return AssembleString(kData114, kLen114); + } + if (strcmp(path, "third_party/wycheproof_testvectors/hmac_sha384_test.txt") == 0) { + return AssembleString(kData115, kLen115); + } + if (strcmp(path, "third_party/wycheproof_testvectors/hmac_sha512_test.txt") == 0) { + return AssembleString(kData116, kLen116); + } + if (strcmp(path, "third_party/wycheproof_testvectors/kwp_test.txt") == 0) { + return AssembleString(kData117, kLen117); + } + if (strcmp(path, "third_party/wycheproof_testvectors/kw_test.txt") == 0) { + return AssembleString(kData118, kLen118); + } + if (strcmp(path, "third_party/wycheproof_testvectors/primality_test.txt") == 0) { + return AssembleString(kData119, kLen119); + } + if (strcmp(path, "third_party/wycheproof_testvectors/rsa_oaep_2048_sha1_mgf1sha1_test.txt") == 0) { + return AssembleString(kData120, kLen120); + } + if (strcmp(path, "third_party/wycheproof_testvectors/rsa_oaep_2048_sha224_mgf1sha1_test.txt") == 0) { + return AssembleString(kData121, kLen121); + } + if (strcmp(path, "third_party/wycheproof_testvectors/rsa_oaep_2048_sha224_mgf1sha224_test.txt") == 0) { + return AssembleString(kData122, kLen122); + } + if (strcmp(path, "third_party/wycheproof_testvectors/rsa_oaep_2048_sha256_mgf1sha1_test.txt") == 0) { + return AssembleString(kData123, kLen123); + } + if (strcmp(path, "third_party/wycheproof_testvectors/rsa_oaep_2048_sha256_mgf1sha256_test.txt") == 0) { + return AssembleString(kData124, kLen124); + } + if (strcmp(path, "third_party/wycheproof_testvectors/rsa_oaep_2048_sha384_mgf1sha1_test.txt") == 0) { + return AssembleString(kData125, kLen125); + } + if (strcmp(path, "third_party/wycheproof_testvectors/rsa_oaep_2048_sha384_mgf1sha384_test.txt") == 0) { + return AssembleString(kData126, kLen126); + } + if (strcmp(path, "third_party/wycheproof_testvectors/rsa_oaep_2048_sha512_mgf1sha1_test.txt") == 0) { + return AssembleString(kData127, kLen127); + } + if (strcmp(path, "third_party/wycheproof_testvectors/rsa_oaep_2048_sha512_mgf1sha512_test.txt") == 0) { + return AssembleString(kData128, kLen128); + } + if (strcmp(path, "third_party/wycheproof_testvectors/rsa_oaep_3072_sha256_mgf1sha1_test.txt") == 0) { + return AssembleString(kData129, kLen129); + } + if (strcmp(path, "third_party/wycheproof_testvectors/rsa_oaep_3072_sha256_mgf1sha256_test.txt") == 0) { + return AssembleString(kData130, kLen130); + } + if (strcmp(path, "third_party/wycheproof_testvectors/rsa_oaep_3072_sha512_mgf1sha1_test.txt") == 0) { + return AssembleString(kData131, kLen131); + } + if (strcmp(path, "third_party/wycheproof_testvectors/rsa_oaep_3072_sha512_mgf1sha512_test.txt") == 0) { + return AssembleString(kData132, kLen132); + } + if (strcmp(path, "third_party/wycheproof_testvectors/rsa_oaep_4096_sha256_mgf1sha1_test.txt") == 0) { + return AssembleString(kData133, kLen133); + } + if (strcmp(path, "third_party/wycheproof_testvectors/rsa_oaep_4096_sha256_mgf1sha256_test.txt") == 0) { + return AssembleString(kData134, kLen134); + } + if (strcmp(path, "third_party/wycheproof_testvectors/rsa_oaep_4096_sha512_mgf1sha1_test.txt") == 0) { + return AssembleString(kData135, kLen135); + } + if (strcmp(path, "third_party/wycheproof_testvectors/rsa_oaep_4096_sha512_mgf1sha512_test.txt") == 0) { + return AssembleString(kData136, kLen136); + } + if (strcmp(path, "third_party/wycheproof_testvectors/rsa_oaep_misc_test.txt") == 0) { + return AssembleString(kData137, kLen137); + } + if (strcmp(path, "third_party/wycheproof_testvectors/rsa_pkcs1_2048_test.txt") == 0) { + return AssembleString(kData138, kLen138); + } + if (strcmp(path, "third_party/wycheproof_testvectors/rsa_pkcs1_3072_test.txt") == 0) { + return AssembleString(kData139, kLen139); + } + if (strcmp(path, "third_party/wycheproof_testvectors/rsa_pkcs1_4096_test.txt") == 0) { + return AssembleString(kData140, kLen140); + } + if (strcmp(path, "third_party/wycheproof_testvectors/rsa_pss_2048_sha1_mgf1_20_test.txt") == 0) { + return AssembleString(kData141, kLen141); + } + if (strcmp(path, "third_party/wycheproof_testvectors/rsa_pss_2048_sha256_mgf1_0_test.txt") == 0) { + return AssembleString(kData142, kLen142); + } + if (strcmp(path, "third_party/wycheproof_testvectors/rsa_pss_2048_sha256_mgf1_32_test.txt") == 0) { + return AssembleString(kData143, kLen143); + } + if (strcmp(path, "third_party/wycheproof_testvectors/rsa_pss_3072_sha256_mgf1_32_test.txt") == 0) { + return AssembleString(kData144, kLen144); + } + if (strcmp(path, "third_party/wycheproof_testvectors/rsa_pss_4096_sha256_mgf1_32_test.txt") == 0) { + return AssembleString(kData145, kLen145); + } + if (strcmp(path, "third_party/wycheproof_testvectors/rsa_pss_4096_sha512_mgf1_32_test.txt") == 0) { + return AssembleString(kData146, kLen146); + } + if (strcmp(path, "third_party/wycheproof_testvectors/rsa_pss_misc_test.txt") == 0) { + return AssembleString(kData147, kLen147); + } + if (strcmp(path, "third_party/wycheproof_testvectors/rsa_sig_gen_misc_test.txt") == 0) { + return AssembleString(kData148, kLen148); + } + if (strcmp(path, "third_party/wycheproof_testvectors/rsa_signature_2048_sha224_test.txt") == 0) { + return AssembleString(kData149, kLen149); + } + if (strcmp(path, "third_party/wycheproof_testvectors/rsa_signature_2048_sha256_test.txt") == 0) { + return AssembleString(kData150, kLen150); + } + if (strcmp(path, "third_party/wycheproof_testvectors/rsa_signature_2048_sha384_test.txt") == 0) { + return AssembleString(kData151, kLen151); + } + if (strcmp(path, "third_party/wycheproof_testvectors/rsa_signature_2048_sha512_test.txt") == 0) { + return AssembleString(kData152, kLen152); + } + if (strcmp(path, "third_party/wycheproof_testvectors/rsa_signature_3072_sha256_test.txt") == 0) { + return AssembleString(kData153, kLen153); + } + if (strcmp(path, "third_party/wycheproof_testvectors/rsa_signature_3072_sha384_test.txt") == 0) { + return AssembleString(kData154, kLen154); + } + if (strcmp(path, "third_party/wycheproof_testvectors/rsa_signature_3072_sha512_test.txt") == 0) { + return AssembleString(kData155, kLen155); + } + if (strcmp(path, "third_party/wycheproof_testvectors/rsa_signature_4096_sha384_test.txt") == 0) { + return AssembleString(kData156, kLen156); + } + if (strcmp(path, "third_party/wycheproof_testvectors/rsa_signature_4096_sha512_test.txt") == 0) { + return AssembleString(kData157, kLen157); + } + if (strcmp(path, "third_party/wycheproof_testvectors/rsa_signature_test.txt") == 0) { + return AssembleString(kData158, kLen158); + } + if (strcmp(path, "third_party/wycheproof_testvectors/x25519_test.txt") == 0) { + return AssembleString(kData159, kLen159); + } + if (strcmp(path, "third_party/wycheproof_testvectors/xchacha20_poly1305_test.txt") == 0) { + return AssembleString(kData160, kLen160); + } fprintf(stderr, "File not embedded: %s.\n", path); abort(); } diff --git a/contrib/boringssl-cmake/err_data.c b/contrib/boringssl-cmake/err_data.c index fee7d1da69a..ad0d9f1662c 100644 --- a/contrib/boringssl-cmake/err_data.c +++ b/contrib/boringssl-cmake/err_data.c @@ -50,8 +50,9 @@ OPENSSL_STATIC_ASSERT(ERR_LIB_HMAC == 28, "library value changed"); OPENSSL_STATIC_ASSERT(ERR_LIB_DIGEST == 29, "library value changed"); OPENSSL_STATIC_ASSERT(ERR_LIB_CIPHER == 30, "library value changed"); OPENSSL_STATIC_ASSERT(ERR_LIB_HKDF == 31, "library value changed"); -OPENSSL_STATIC_ASSERT(ERR_LIB_USER == 32, "library value changed"); -OPENSSL_STATIC_ASSERT(ERR_NUM_LIBS == 33, "number of libraries changed"); +OPENSSL_STATIC_ASSERT(ERR_LIB_TRUST_TOKEN == 32, "library value changed"); +OPENSSL_STATIC_ASSERT(ERR_LIB_USER == 33, "library value changed"); +OPENSSL_STATIC_ASSERT(ERR_NUM_LIBS == 34, "number of libraries changed"); const uint32_t kOpenSSLReasonValues[] = { 0xc32083a, @@ -75,54 +76,54 @@ const uint32_t kOpenSSLReasonValues[] = { 0xc3b00ea, 0xc3b88d6, 0x10320847, - 0x10329585, - 0x10331591, - 0x103395aa, - 0x103415bd, + 0x103295a9, + 0x103315b5, + 0x103395ce, + 0x103415e1, 0x10348f27, 0x10350c60, - 0x103595d0, - 0x103615fa, - 0x1036960d, - 0x1037162c, - 0x10379645, - 0x1038165a, - 0x10389678, - 0x10391687, - 0x103996a3, - 0x103a16be, - 0x103a96cd, - 0x103b16e9, - 0x103b9704, - 0x103c172a, + 0x103595f4, + 0x1036161e, + 0x10369631, + 0x10371650, + 0x10379669, + 0x1038167e, + 0x1038969c, + 0x103916ab, + 0x103996c7, + 0x103a16e2, + 0x103a96f1, + 0x103b170d, + 0x103b9728, + 0x103c174e, 0x103c80ea, - 0x103d173b, - 0x103d974f, - 0x103e176e, - 0x103e977d, - 0x103f1794, - 0x103f97a7, + 0x103d175f, + 0x103d9773, + 0x103e1792, + 0x103e97a1, + 0x103f17b8, + 0x103f97cb, 0x10400c24, - 0x104097ba, - 0x104117d8, - 0x104197eb, - 0x10421805, - 0x10429815, - 0x10431829, - 0x1043983f, - 0x10441857, - 0x1044986c, - 0x10451880, - 0x10459892, + 0x104097de, + 0x104117fc, + 0x1041980f, + 0x10421829, + 0x10429839, + 0x1043184d, + 0x10439863, + 0x1044187b, + 0x10449890, + 0x104518a4, + 0x104598b6, 0x104605fd, 0x1046894f, - 0x104718a7, - 0x104798be, - 0x104818d3, - 0x104898e1, + 0x104718cb, + 0x104798e2, + 0x104818f7, + 0x10489905, 0x10490e73, - 0x1049971b, - 0x104a15e5, + 0x1049973f, + 0x104a1609, 0x14320c07, 0x14328c15, 0x14330c24, @@ -135,52 +136,54 @@ const uint32_t kOpenSSLReasonValues[] = { 0x18338f93, 0x18340fa7, 0x183480ea, - 0x18350fbc, - 0x18358fd4, - 0x18360fe9, - 0x18368ffd, - 0x18371021, - 0x18379037, - 0x1838104b, - 0x1838905b, + 0x18350fc6, + 0x18358fde, + 0x18360ff3, + 0x18369007, + 0x1837102b, + 0x18379041, + 0x18381055, + 0x18389065, 0x18390a75, - 0x1839906b, - 0x183a1091, - 0x183a90b7, + 0x18399075, + 0x183a109b, + 0x183a90c1, 0x183b0c7f, - 0x183b90ec, - 0x183c10fe, - 0x183c9109, - 0x183d1119, - 0x183d912a, - 0x183e113b, - 0x183e914d, - 0x183f1176, - 0x183f918f, - 0x184011a7, + 0x183b9110, + 0x183c1122, + 0x183c912d, + 0x183d113d, + 0x183d914e, + 0x183e115f, + 0x183e9171, + 0x183f119a, + 0x183f91b3, + 0x184011cb, 0x184086d5, - 0x184110da, - 0x184190a5, - 0x184210c4, + 0x184110e4, + 0x184190af, + 0x184210ce, 0x18428c6c, - 0x18431080, - 0x203211e1, - 0x203291ce, - 0x243211ed, + 0x1843108a, + 0x184390f6, + 0x18440fbc, + 0x20321205, + 0x203291f2, + 0x24321211, 0x24328995, - 0x243311ff, - 0x2433920c, - 0x24341219, - 0x2434922b, - 0x2435123a, - 0x24359257, - 0x24361264, - 0x24369272, - 0x24371280, - 0x2437928e, - 0x24381297, - 0x243892a4, - 0x243912b7, + 0x24331223, + 0x24339230, + 0x2434123d, + 0x2434924f, + 0x2435125e, + 0x2435927b, + 0x24361288, + 0x24369296, + 0x243712a4, + 0x243792b2, + 0x243812bb, + 0x243892c8, + 0x243912db, 0x28320c54, 0x28328c7f, 0x28330c24, @@ -189,44 +192,47 @@ const uint32_t kOpenSSLReasonValues[] = { 0x283480ac, 0x283500ea, 0x28358c6c, - 0x2c322ed8, - 0x2c3292ce, - 0x2c332ee6, - 0x2c33aef8, - 0x2c342f0c, - 0x2c34af1e, - 0x2c352f39, - 0x2c35af4b, - 0x2c362f5e, + 0x2c3230ce, + 0x2c3292f2, + 0x2c3330dc, + 0x2c33b0ee, + 0x2c343102, + 0x2c34b114, + 0x2c35312f, + 0x2c35b141, + 0x2c363171, 0x2c36832d, - 0x2c372f6b, - 0x2c37af7d, - 0x2c382fa2, - 0x2c38afb9, - 0x2c392fc7, - 0x2c39afd7, - 0x2c3a2fe9, - 0x2c3aaffd, - 0x2c3b300e, - 0x2c3bb02d, - 0x2c3c12e0, - 0x2c3c92f6, - 0x2c3d3041, - 0x2c3d930f, - 0x2c3e305e, - 0x2c3eb06c, - 0x2c3f3084, - 0x2c3fb09c, - 0x2c4030c6, - 0x2c4091e1, - 0x2c4130d7, - 0x2c41b0ea, - 0x2c4211a7, - 0x2c42b0fb, + 0x2c37317e, + 0x2c37b1aa, + 0x2c3831cf, + 0x2c38b1e6, + 0x2c393204, + 0x2c39b214, + 0x2c3a3226, + 0x2c3ab23a, + 0x2c3b324b, + 0x2c3bb26a, + 0x2c3c1304, + 0x2c3c931a, + 0x2c3d327e, + 0x2c3d9333, + 0x2c3e329b, + 0x2c3eb2a9, + 0x2c3f32c1, + 0x2c3fb2d9, + 0x2c403303, + 0x2c409205, + 0x2c413314, + 0x2c41b327, + 0x2c4211cb, + 0x2c42b338, 0x2c430722, - 0x2c43b01f, - 0x2c442f90, - 0x2c44b0a9, + 0x2c43b25c, + 0x2c4431bd, + 0x2c44b2e6, + 0x2c453154, + 0x2c45b190, + 0x2c4631f4, 0x30320000, 0x30328015, 0x3033001f, @@ -361,240 +367,248 @@ const uint32_t kOpenSSLReasonValues[] = { 0x3c418d67, 0x3c420e73, 0x3c428dfd, - 0x40321957, - 0x4032996d, - 0x4033199b, - 0x403399a5, - 0x403419bc, - 0x403499da, - 0x403519ea, - 0x403599fc, - 0x40361a09, - 0x40369a15, - 0x40371a2a, - 0x40379a3c, - 0x40381a47, - 0x40389a59, + 0x40321997, + 0x403299ad, + 0x403319db, + 0x403399e5, + 0x403419fc, + 0x40349a1a, + 0x40351a2a, + 0x40359a3c, + 0x40361a49, + 0x40369a55, + 0x40371a6a, + 0x40379a7c, + 0x40381a87, + 0x40389a99, 0x40390f27, - 0x40399a69, - 0x403a1a7c, - 0x403a9a9d, - 0x403b1aae, - 0x403b9abe, + 0x40399aa9, + 0x403a1abc, + 0x403a9add, + 0x403b1aee, + 0x403b9afe, 0x403c0064, 0x403c8083, - 0x403d1b42, - 0x403d9b58, - 0x403e1b67, - 0x403e9b9f, - 0x403f1bb9, - 0x403f9be1, - 0x40401bf6, - 0x40409c0a, - 0x40411c27, - 0x40419c42, - 0x40421c5b, - 0x40429c6e, - 0x40431c82, - 0x40439c9a, - 0x40441cb1, + 0x403d1b5f, + 0x403d9b75, + 0x403e1b84, + 0x403e9bbc, + 0x403f1bd6, + 0x403f9bfe, + 0x40401c13, + 0x40409c27, + 0x40411c62, + 0x40419c7d, + 0x40421c96, + 0x40429ca9, + 0x40431cbd, + 0x40439cd5, + 0x40441cec, 0x404480ac, - 0x40451cc6, - 0x40459cd8, - 0x40461cfc, - 0x40469d1c, - 0x40471d2a, - 0x40479d51, - 0x40481dc2, - 0x40489df5, - 0x40491e0c, - 0x40499e26, - 0x404a1e3d, - 0x404a9e5b, - 0x404b1e73, - 0x404b9e8a, - 0x404c1ea0, - 0x404c9eb2, - 0x404d1ed3, - 0x404d9f0c, - 0x404e1f20, - 0x404e9f2d, - 0x404f1f5a, - 0x404f9fa0, - 0x40501ff7, - 0x4050a00b, - 0x4051203e, - 0x4052204e, - 0x4052a072, - 0x4053208a, - 0x4053a09d, - 0x405420b2, - 0x4054a0d5, - 0x405520e3, - 0x4055a120, - 0x4056212d, - 0x4056a146, - 0x4057215e, - 0x4057a171, - 0x40582186, - 0x4058a1ad, - 0x405921dc, - 0x4059a209, - 0x405a221d, - 0x405aa22d, - 0x405b2245, - 0x405ba256, - 0x405c2269, - 0x405ca2a8, - 0x405d22b5, - 0x405da2da, - 0x405e2318, + 0x40451d01, + 0x40459d13, + 0x40461d37, + 0x40469d57, + 0x40471d65, + 0x40479d8c, + 0x40481dfd, + 0x40489e30, + 0x40491e47, + 0x40499e61, + 0x404a1e78, + 0x404a9e96, + 0x404b1eae, + 0x404b9edb, + 0x404c1ef1, + 0x404c9f03, + 0x404d1f24, + 0x404d9f5d, + 0x404e1f71, + 0x404e9f7e, + 0x404f1fc5, + 0x404fa00b, + 0x40502062, + 0x4050a076, + 0x405120a9, + 0x405220c6, + 0x4052a0ea, + 0x40532102, + 0x4053a115, + 0x4054212a, + 0x4054a14d, + 0x40552178, + 0x4055a1b5, + 0x405621c2, + 0x4056a1db, + 0x405721f3, + 0x4057a206, + 0x4058221b, + 0x4058a242, + 0x40592271, + 0x4059a29e, + 0x405a22b2, + 0x405aa2c2, + 0x405b22da, + 0x405ba2eb, + 0x405c22fe, + 0x405ca33d, + 0x405d234a, + 0x405da36f, + 0x405e23ad, 0x405e8ab3, - 0x405f2339, - 0x405fa346, - 0x40602354, - 0x4060a376, - 0x406123d7, - 0x4061a40f, - 0x40622426, - 0x4062a437, - 0x4063245c, - 0x4063a471, - 0x40642488, - 0x4064a4b4, - 0x406524cf, - 0x4065a4e6, - 0x406624fe, - 0x4066a528, - 0x40672553, - 0x4067a598, - 0x406825e0, - 0x4068a601, - 0x40692633, - 0x4069a661, - 0x406a2682, - 0x406aa6a2, - 0x406b282a, - 0x406ba84d, - 0x406c2863, - 0x406cab06, - 0x406d2b35, - 0x406dab5d, - 0x406e2b8b, - 0x406eabd8, - 0x406f2c13, - 0x406fac4b, - 0x40702c5e, - 0x4070ac7b, + 0x405f23ce, + 0x405fa3db, + 0x406023e9, + 0x4060a40b, + 0x4061246c, + 0x4061a4a4, + 0x406224bb, + 0x4062a4cc, + 0x40632519, + 0x4063a52e, + 0x40642545, + 0x4064a571, + 0x4065258c, + 0x4065a5a3, + 0x406625bb, + 0x4066a5e5, + 0x40672610, + 0x4067a655, + 0x4068269d, + 0x4068a6be, + 0x406926f0, + 0x4069a71e, + 0x406a273f, + 0x406aa75f, + 0x406b28e7, + 0x406ba90a, + 0x406c2920, + 0x406cac11, + 0x406d2c40, + 0x406dac68, + 0x406e2c96, + 0x406eace3, + 0x406f2d3c, + 0x406fad74, + 0x40702d87, + 0x4070ada4, 0x40710802, - 0x4071ac8d, - 0x40722ca0, - 0x4072acd6, - 0x40732cee, - 0x407394e0, - 0x40742d02, - 0x4074ad1c, - 0x40752d2d, - 0x4075ad41, - 0x40762d4f, - 0x407692a4, - 0x40772d74, - 0x4077ad96, - 0x40782db1, - 0x4078adea, - 0x40792e01, - 0x4079ae17, - 0x407a2e43, - 0x407aae56, - 0x407b2e6b, - 0x407bae7d, - 0x407c2eae, - 0x407caeb7, - 0x407d261c, - 0x407d9fb0, - 0x407e2dc6, - 0x407ea1bd, - 0x407f1d3e, - 0x407f9ae4, - 0x40801f6a, - 0x40809d66, - 0x40812060, - 0x40819f44, - 0x40822b76, - 0x40829aca, - 0x40832198, - 0x4083a499, - 0x40841d7a, - 0x4084a1f5, - 0x4085227a, - 0x4085a39e, - 0x408622fa, - 0x40869fca, - 0x40872bbc, - 0x4087a3ec, - 0x40881b2b, - 0x4088a5ab, - 0x40891b7a, - 0x40899b07, - 0x408a289b, - 0x408a98f8, - 0x408b2e92, - 0x408bac28, - 0x408c228a, - 0x408c9914, - 0x408d1ddb, - 0x408d9dac, - 0x408e1ef5, - 0x408ea100, - 0x408f25bf, - 0x408fa3ba, - 0x40902574, - 0x4090a2cc, - 0x40912883, - 0x4091993a, - 0x40921bc7, - 0x4092abf7, - 0x40932cb9, - 0x40939fdb, - 0x40941d8e, - 0x4094a8b4, - 0x40952448, - 0x4095ae23, - 0x40962ba3, - 0x40969f83, - 0x40972026, - 0x41f42755, - 0x41f927e7, - 0x41fe26da, - 0x41fea8f7, - 0x41ff29e8, - 0x4203276e, - 0x42082790, - 0x4208a7cc, - 0x420926be, - 0x4209a806, - 0x420a2715, - 0x420aa6f5, - 0x420b2735, - 0x420ba7ae, - 0x420c2a04, - 0x420ca8c4, - 0x420d28de, - 0x420da915, - 0x4212292f, - 0x421729cb, - 0x4217a971, - 0x421c2993, - 0x421f294e, - 0x42212a1b, - 0x422629ae, - 0x422b2aea, - 0x422baa98, - 0x422c2ad2, - 0x422caa57, - 0x422d2a36, - 0x422daab7, - 0x422e2a7d, + 0x4071adb6, + 0x40722dc9, + 0x4072adff, + 0x40732e17, + 0x40739504, + 0x40742e2b, + 0x4074ae45, + 0x40752e56, + 0x4075ae6a, + 0x40762e78, + 0x407692c8, + 0x40772e9d, + 0x4077aebf, + 0x40782eda, + 0x4078af13, + 0x40792f2a, + 0x4079af40, + 0x407a2f6c, + 0x407aaf7f, + 0x407b2f94, + 0x407bafa6, + 0x407c2fd7, + 0x407cafe0, + 0x407d26d9, + 0x407da01b, + 0x407e2eef, + 0x407ea252, + 0x407f1d79, + 0x407f9ec5, + 0x40801fd5, + 0x40809da1, + 0x408120d8, + 0x40819faf, + 0x40822c81, + 0x40829b0a, + 0x4083222d, + 0x4083a556, + 0x40841db5, + 0x4084a28a, + 0x4085230f, + 0x4085a433, + 0x4086238f, + 0x4086a035, + 0x40872cc7, + 0x4087a481, + 0x40881b48, + 0x4088a668, + 0x40891b97, + 0x40899b24, + 0x408a2958, + 0x408a991c, + 0x408b2fbb, + 0x408bad51, + 0x408c231f, + 0x408c9954, + 0x408d1e16, + 0x408d9de7, + 0x408e1f46, + 0x408ea195, + 0x408f267c, + 0x408fa44f, + 0x40902631, + 0x4090a361, + 0x40912940, + 0x4091997a, + 0x40921be4, + 0x4092ad02, + 0x40932de2, + 0x4093a046, + 0x40941dc9, + 0x4094a971, + 0x409524dd, + 0x4095af4c, + 0x40962cae, + 0x40969fee, + 0x40972091, + 0x40979f95, + 0x40981c44, + 0x4098a4f1, + 0x40992d1e, + 0x4099a0b9, + 0x409a215b, + 0x409a9938, + 0x41f42812, + 0x41f928a4, + 0x41fe2797, + 0x41feaa4d, + 0x41ff2b62, + 0x4203282b, + 0x4208284d, + 0x4208a889, + 0x4209277b, + 0x4209a8c3, + 0x420a27d2, + 0x420aa7b2, + 0x420b27f2, + 0x420ba86b, + 0x420c2b7e, + 0x420ca981, + 0x420d2a34, + 0x420daa6b, + 0x42122a85, + 0x42172b45, + 0x4217aac7, + 0x421c2ae9, + 0x421f2aa4, + 0x42212bf6, + 0x42262b28, + 0x422b2bd4, + 0x422baa0f, + 0x422c2bb6, + 0x422ca9c2, + 0x422d299b, + 0x422dab95, + 0x422e29ee, + 0x42302b04, 0x4432072d, 0x4432873c, 0x44330748, @@ -612,106 +626,106 @@ const uint32_t kOpenSSLReasonValues[] = { 0x44390802, 0x44398810, 0x443a0823, - 0x483212ce, - 0x483292e0, - 0x483312f6, - 0x4833930f, - 0x4c321334, - 0x4c329344, - 0x4c331357, - 0x4c339377, + 0x483212f2, + 0x48329304, + 0x4833131a, + 0x48339333, + 0x4c321358, + 0x4c329368, + 0x4c33137b, + 0x4c33939b, 0x4c3400ac, 0x4c3480ea, - 0x4c351383, - 0x4c359391, - 0x4c3613ad, - 0x4c3693d3, - 0x4c3713e2, - 0x4c3793f0, - 0x4c381405, - 0x4c389411, - 0x4c391431, - 0x4c39945b, - 0x4c3a1474, - 0x4c3a948d, + 0x4c3513a7, + 0x4c3593b5, + 0x4c3613d1, + 0x4c3693f7, + 0x4c371406, + 0x4c379414, + 0x4c381429, + 0x4c389435, + 0x4c391455, + 0x4c39947f, + 0x4c3a1498, + 0x4c3a94b1, 0x4c3b05fd, - 0x4c3b94a6, - 0x4c3c14b8, - 0x4c3c94c7, - 0x4c3d14e0, + 0x4c3b94ca, + 0x4c3c14dc, + 0x4c3c94eb, + 0x4c3d1504, 0x4c3d8c47, - 0x4c3e154d, - 0x4c3e94ef, - 0x4c3f156f, - 0x4c3f92a4, - 0x4c401505, - 0x4c409320, - 0x4c41153d, - 0x4c4193c0, - 0x4c421529, - 0x5032310d, - 0x5032b11c, - 0x50333127, - 0x5033b137, - 0x50343150, - 0x5034b16a, - 0x50353178, - 0x5035b18e, - 0x503631a0, - 0x5036b1b6, - 0x503731cf, - 0x5037b1e2, - 0x503831fa, - 0x5038b20b, - 0x50393220, - 0x5039b234, - 0x503a3254, - 0x503ab26a, - 0x503b3282, - 0x503bb294, - 0x503c32b0, - 0x503cb2c7, - 0x503d32e0, - 0x503db2f6, - 0x503e3303, - 0x503eb319, - 0x503f332b, + 0x4c3e1571, + 0x4c3e9513, + 0x4c3f1593, + 0x4c3f92c8, + 0x4c401529, + 0x4c409344, + 0x4c411561, + 0x4c4193e4, + 0x4c42154d, + 0x5032334a, + 0x5032b359, + 0x50333364, + 0x5033b374, + 0x5034338d, + 0x5034b3a7, + 0x503533b5, + 0x5035b3cb, + 0x503633dd, + 0x5036b3f3, + 0x5037340c, + 0x5037b41f, + 0x50383437, + 0x5038b448, + 0x5039345d, + 0x5039b471, + 0x503a3491, + 0x503ab4a7, + 0x503b34bf, + 0x503bb4d1, + 0x503c34ed, + 0x503cb504, + 0x503d351d, + 0x503db533, + 0x503e3540, + 0x503eb556, + 0x503f3568, 0x503f837b, - 0x5040333e, - 0x5040b34e, - 0x50413368, - 0x5041b377, - 0x50423391, - 0x5042b3ae, - 0x504333be, - 0x5043b3ce, - 0x504433dd, + 0x5040357b, + 0x5040b58b, + 0x504135a5, + 0x5041b5b4, + 0x504235ce, + 0x5042b5eb, + 0x504335fb, + 0x5043b60b, + 0x5044361a, 0x50448431, - 0x504533f1, - 0x5045b40f, - 0x50463422, - 0x5046b438, - 0x5047344a, - 0x5047b45f, - 0x50483485, - 0x5048b493, - 0x504934a6, - 0x5049b4bb, - 0x504a34d1, - 0x504ab4e1, - 0x504b3501, - 0x504bb514, - 0x504c3537, - 0x504cb565, - 0x504d3577, - 0x504db594, - 0x504e35af, - 0x504eb5cb, - 0x504f35dd, - 0x504fb5f4, - 0x50503603, + 0x5045362e, + 0x5045b64c, + 0x5046365f, + 0x5046b675, + 0x50473687, + 0x5047b69c, + 0x504836c2, + 0x5048b6d0, + 0x504936e3, + 0x5049b6f8, + 0x504a370e, + 0x504ab71e, + 0x504b373e, + 0x504bb751, + 0x504c3774, + 0x504cb7a2, + 0x504d37b4, + 0x504db7d1, + 0x504e37ec, + 0x504eb808, + 0x504f381a, + 0x504fb831, + 0x50503840, 0x505086f1, - 0x50513616, + 0x50513853, 0x58320f65, 0x68320f27, 0x68328c7f, @@ -752,7 +766,22 @@ const uint32_t kOpenSSLReasonValues[] = { 0x783d8b4c, 0x783e0aa2, 0x783e8a54, - 0x7c3211bd, + 0x7c3211e1, + 0x803213f7, + 0x80328083, + 0x8033309d, + 0x803380ac, + 0x803430ac, + 0x8034b014, + 0x80353032, + 0x8035b0c0, + 0x80363074, + 0x8036b023, + 0x80373066, + 0x8037b001, + 0x80383087, + 0x8038b043, + 0x80393058, }; const size_t kOpenSSLReasonValuesLen = sizeof(kOpenSSLReasonValues) / sizeof(kOpenSSLReasonValues[0]); @@ -968,6 +997,7 @@ const char kOpenSSLReasonStringData[] = "COMMAND_NOT_SUPPORTED\0" "DIFFERENT_KEY_TYPES\0" "DIFFERENT_PARAMETERS\0" + "EMPTY_PSK\0" "EXPECTING_AN_EC_KEY_KEY\0" "EXPECTING_AN_RSA_KEY\0" "EXPECTING_A_DSA_KEY\0" @@ -983,6 +1013,7 @@ const char kOpenSSLReasonStringData[] = "KEYS_NOT_SET\0" "MEMORY_LIMIT_EXCEEDED\0" "NOT_A_PRIVATE_KEY\0" + "NOT_XOF_OR_INVALID_LENGTH\0" "NO_DEFAULT_DIGEST\0" "NO_KEY_SET\0" "NO_MDC2_SUPPORT\0" @@ -1084,6 +1115,7 @@ const char kOpenSSLReasonStringData[] = "VALUE_MISSING\0" "WRONG_SIGNATURE_LENGTH\0" "ALPN_MISMATCH_ON_EARLY_DATA\0" + "ALPS_MISMATCH_ON_EARLY_DATA\0" "APPLICATION_DATA_INSTEAD_OF_HANDSHAKE\0" "APPLICATION_DATA_ON_SHUTDOWN\0" "APP_DATA_IN_HANDSHAKE\0" @@ -1106,7 +1138,6 @@ const char kOpenSSLReasonStringData[] = "BAD_WRITE_RETRY\0" "BIO_NOT_SET\0" "BLOCK_CIPHER_PAD_IS_WRONG\0" - "BUFFERED_MESSAGES_ON_CIPHER_CHANGE\0" "CANNOT_HAVE_BOTH_PRIVKEY_AND_METHOD\0" "CANNOT_PARSE_LEAF_CERT\0" "CA_DN_LENGTH_MISMATCH\0" @@ -1119,6 +1150,7 @@ const char kOpenSSLReasonStringData[] = "CERT_LENGTH_MISMATCH\0" "CHANNEL_ID_NOT_P256\0" "CHANNEL_ID_SIGNATURE_INVALID\0" + "CIPHER_MISMATCH_ON_EARLY_DATA\0" "CIPHER_OR_HASH_UNAVAILABLE\0" "CLIENTHELLO_PARSE_FAILED\0" "CLIENTHELLO_TLSEXT\0" @@ -1145,6 +1177,7 @@ const char kOpenSSLReasonStringData[] = "ERROR_IN_RECEIVED_CIPHER_LIST\0" "ERROR_PARSING_EXTENSION\0" "EXCESSIVE_MESSAGE_SIZE\0" + "EXCESS_HANDSHAKE_DATA\0" "EXTRA_DATA_IN_MESSAGE\0" "FRAGMENT_MISMATCH\0" "GOT_NEXT_PROTO_WITHOUT_EXTENSION\0" @@ -1153,6 +1186,7 @@ const char kOpenSSLReasonStringData[] = "HTTPS_PROXY_REQUEST\0" "HTTP_REQUEST\0" "INAPPROPRIATE_FALLBACK\0" + "INCONSISTENT_CLIENT_HELLO\0" "INVALID_ALPN_PROTOCOL\0" "INVALID_COMMAND\0" "INVALID_COMPRESSION_LIST\0" @@ -1165,6 +1199,7 @@ const char kOpenSSLReasonStringData[] = "INVALID_TICKET_KEYS_LENGTH\0" "KEY_USAGE_BIT_INCORRECT\0" "LENGTH_MISMATCH\0" + "MISSING_ALPN\0" "MISSING_EXTENSION\0" "MISSING_KEY_SHARE\0" "MISSING_RSA_CERTIFICATE\0" @@ -1172,6 +1207,7 @@ const char kOpenSSLReasonStringData[] = "MISSING_TMP_ECDH_KEY\0" "MIXED_SPECIAL_OPERATOR_WITH_GROUPS\0" "MTU_TOO_SMALL\0" + "NEGOTIATED_ALPS_WITHOUT_ALPN\0" "NEGOTIATED_BOTH_NPN_AND_ALPN\0" "NEGOTIATED_TB_WITHOUT_EMS_OR_RI\0" "NESTED_GROUP\0" @@ -1211,6 +1247,7 @@ const char kOpenSSLReasonStringData[] = "PSK_NO_CLIENT_CB\0" "PSK_NO_SERVER_CB\0" "QUIC_INTERNAL_ERROR\0" + "QUIC_TRANSPORT_PARAMETERS_MISCONFIGURED\0" "READ_TIMEOUT_EXPIRED\0" "RECORD_LENGTH_MISMATCH\0" "RECORD_TOO_LARGE\0" @@ -1251,6 +1288,10 @@ const char kOpenSSLReasonStringData[] = "TICKET_ENCRYPTION_FAILED\0" "TLS13_DOWNGRADE\0" "TLSV1_ALERT_ACCESS_DENIED\0" + "TLSV1_ALERT_BAD_CERTIFICATE_HASH_VALUE\0" + "TLSV1_ALERT_BAD_CERTIFICATE_STATUS_RESPONSE\0" + "TLSV1_ALERT_CERTIFICATE_REQUIRED\0" + "TLSV1_ALERT_CERTIFICATE_UNOBTAINABLE\0" "TLSV1_ALERT_DECODE_ERROR\0" "TLSV1_ALERT_DECRYPTION_FAILED\0" "TLSV1_ALERT_DECRYPT_ERROR\0" @@ -1258,18 +1299,15 @@ const char kOpenSSLReasonStringData[] = "TLSV1_ALERT_INAPPROPRIATE_FALLBACK\0" "TLSV1_ALERT_INSUFFICIENT_SECURITY\0" "TLSV1_ALERT_INTERNAL_ERROR\0" + "TLSV1_ALERT_NO_APPLICATION_PROTOCOL\0" "TLSV1_ALERT_NO_RENEGOTIATION\0" "TLSV1_ALERT_PROTOCOL_VERSION\0" "TLSV1_ALERT_RECORD_OVERFLOW\0" "TLSV1_ALERT_UNKNOWN_CA\0" + "TLSV1_ALERT_UNKNOWN_PSK_IDENTITY\0" + "TLSV1_ALERT_UNRECOGNIZED_NAME\0" + "TLSV1_ALERT_UNSUPPORTED_EXTENSION\0" "TLSV1_ALERT_USER_CANCELLED\0" - "TLSV1_BAD_CERTIFICATE_HASH_VALUE\0" - "TLSV1_BAD_CERTIFICATE_STATUS_RESPONSE\0" - "TLSV1_CERTIFICATE_REQUIRED\0" - "TLSV1_CERTIFICATE_UNOBTAINABLE\0" - "TLSV1_UNKNOWN_PSK_IDENTITY\0" - "TLSV1_UNRECOGNIZED_NAME\0" - "TLSV1_UNSUPPORTED_EXTENSION\0" "TLS_PEER_DID_NOT_RESPOND_WITH_CERTIFICATE_LIST\0" "TLS_RSA_ENCRYPTED_VALUE_LENGTH_IS_WRONG\0" "TOO_MANY_EMPTY_FRAGMENTS\0" @@ -1279,6 +1317,7 @@ const char kOpenSSLReasonStringData[] = "TOO_MUCH_SKIPPED_EARLY_DATA\0" "UNABLE_TO_FIND_ECDH_PARAMETERS\0" "UNCOMPRESSED_CERT_TOO_LARGE\0" + "UNEXPECTED_COMPATIBILITY_MODE\0" "UNEXPECTED_EXTENSION\0" "UNEXPECTED_EXTENSION_ON_EARLY_DATA\0" "UNEXPECTED_MESSAGE\0" @@ -1309,6 +1348,18 @@ const char kOpenSSLReasonStringData[] = "WRONG_VERSION_ON_EARLY_DATA\0" "X509_LIB\0" "X509_VERIFICATION_SETUP_PROBLEMS\0" + "BAD_VALIDITY_CHECK\0" + "DECODE_FAILURE\0" + "INVALID_KEY_ID\0" + "INVALID_METADATA\0" + "INVALID_METADATA_KEY\0" + "INVALID_PROOF\0" + "INVALID_TOKEN\0" + "NO_KEYS_CONFIGURED\0" + "NO_SRR_KEY_CONFIGURED\0" + "OVER_BATCHSIZE\0" + "SRR_SIGNATURE_ERROR\0" + "TOO_MANY_KEYS\0" "AKID_MISMATCH\0" "BAD_X509_FILETYPE\0" "BASE64_DECODE_ERROR\0" @@ -1316,12 +1367,15 @@ const char kOpenSSLReasonStringData[] = "CERT_ALREADY_IN_HASH_TABLE\0" "CRL_ALREADY_DELTA\0" "CRL_VERIFY_FAILURE\0" + "DELTA_CRL_WITHOUT_CRL_NUMBER\0" "IDP_MISMATCH\0" "INVALID_DIRECTORY\0" + "INVALID_FIELD_FOR_VERSION\0" "INVALID_FIELD_NAME\0" "INVALID_PARAMETER\0" "INVALID_PSS_PARAMETERS\0" "INVALID_TRUST\0" + "INVALID_VERSION\0" "ISSUER_MISMATCH\0" "KEY_TYPE_MISMATCH\0" "KEY_VALUES_MISMATCH\0" diff --git a/contrib/boringssl-cmake/ios-aarch64/crypto/chacha/chacha-armv8.S b/contrib/boringssl-cmake/ios-aarch64/crypto/chacha/chacha-armv8.S index b14466ddd77..bbf811fed1b 100644 --- a/contrib/boringssl-cmake/ios-aarch64/crypto/chacha/chacha-armv8.S +++ b/contrib/boringssl-cmake/ios-aarch64/crypto/chacha/chacha-armv8.S @@ -33,6 +33,7 @@ Lone: .align 5 _ChaCha20_ctr32: + AARCH64_VALID_CALL_TARGET cbz x2,Labort #if __has_feature(hwaddress_sanitizer) && __clang_major__ >= 10 adrp x5,:pg_hi21_nc:_OPENSSL_armcap_P @@ -46,6 +47,7 @@ _ChaCha20_ctr32: b.ne ChaCha20_neon Lshort: + AARCH64_SIGN_LINK_REGISTER stp x29,x30,[sp,#-96]! add x29,sp,#0 @@ -258,6 +260,7 @@ Loop: ldp x25,x26,[x29,#64] ldp x27,x28,[x29,#80] ldp x29,x30,[sp],#96 + AARCH64_VALIDATE_LINK_REGISTER Labort: ret @@ -314,12 +317,14 @@ Loop_tail: ldp x25,x26,[x29,#64] ldp x27,x28,[x29,#80] ldp x29,x30,[sp],#96 + AARCH64_VALIDATE_LINK_REGISTER ret .align 5 ChaCha20_neon: + AARCH64_SIGN_LINK_REGISTER stp x29,x30,[sp,#-96]! add x29,sp,#0 @@ -700,6 +705,7 @@ Loop_neon: ldp x25,x26,[x29,#64] ldp x27,x28,[x29,#80] ldp x29,x30,[sp],#96 + AARCH64_VALIDATE_LINK_REGISTER ret Ltail_neon: @@ -809,11 +815,13 @@ Ldone_neon: ldp x25,x26,[x29,#64] ldp x27,x28,[x29,#80] ldp x29,x30,[sp],#96 + AARCH64_VALIDATE_LINK_REGISTER ret .align 5 ChaCha20_512_neon: + AARCH64_SIGN_LINK_REGISTER stp x29,x30,[sp,#-96]! add x29,sp,#0 @@ -1977,6 +1985,7 @@ Ldone_512_neon: ldp x25,x26,[x29,#64] ldp x27,x28,[x29,#80] ldp x29,x30,[sp],#96 + AARCH64_VALIDATE_LINK_REGISTER ret #endif // !OPENSSL_NO_ASM diff --git a/contrib/boringssl-cmake/ios-aarch64/crypto/fipsmodule/aesv8-armx64.S b/contrib/boringssl-cmake/ios-aarch64/crypto/fipsmodule/aesv8-armx64.S index dc2d6e432c9..76b58032535 100644 --- a/contrib/boringssl-cmake/ios-aarch64/crypto/fipsmodule/aesv8-armx64.S +++ b/contrib/boringssl-cmake/ios-aarch64/crypto/fipsmodule/aesv8-armx64.S @@ -32,6 +32,8 @@ Lrcon: .align 5 _aes_hw_set_encrypt_key: Lenc_key: + // Armv8.3-A PAuth: even though x30 is pushed to stack it is not popped later. + AARCH64_VALID_CALL_TARGET stp x29,x30,[sp,#-16]! add x29,sp,#0 mov x3,#-1 @@ -200,6 +202,7 @@ Lenc_key_abort: .align 5 _aes_hw_set_decrypt_key: + AARCH64_SIGN_LINK_REGISTER stp x29,x30,[sp,#-16]! add x29,sp,#0 bl Lenc_key @@ -233,6 +236,7 @@ Loop_imc: eor x0,x0,x0 // return value Ldec_key_abort: ldp x29,x30,[sp],#16 + AARCH64_VALIDATE_LINK_REGISTER ret .globl _aes_hw_encrypt @@ -240,6 +244,7 @@ Ldec_key_abort: .align 5 _aes_hw_encrypt: + AARCH64_VALID_CALL_TARGET ldr w3,[x2,#240] ld1 {v0.4s},[x2],#16 ld1 {v2.16b},[x0] @@ -270,6 +275,7 @@ Loop_enc: .align 5 _aes_hw_decrypt: + AARCH64_VALID_CALL_TARGET ldr w3,[x2,#240] ld1 {v0.4s},[x2],#16 ld1 {v2.16b},[x0] @@ -300,6 +306,8 @@ Loop_dec: .align 5 _aes_hw_cbc_encrypt: + // Armv8.3-A PAuth: even though x30 is pushed to stack it is not popped later. + AARCH64_VALID_CALL_TARGET stp x29,x30,[sp,#-16]! add x29,sp,#0 subs x2,x2,#16 @@ -591,6 +599,8 @@ Lcbc_abort: .align 5 _aes_hw_ctr32_encrypt_blocks: + // Armv8.3-A PAuth: even though x30 is pushed to stack it is not popped later. + AARCH64_VALID_CALL_TARGET stp x29,x30,[sp,#-16]! add x29,sp,#0 ldr w5,[x3,#240] diff --git a/contrib/boringssl-cmake/ios-aarch64/crypto/fipsmodule/armv8-mont.S b/contrib/boringssl-cmake/ios-aarch64/crypto/fipsmodule/armv8-mont.S index 3d83f4d8d62..2493ae08a65 100644 --- a/contrib/boringssl-cmake/ios-aarch64/crypto/fipsmodule/armv8-mont.S +++ b/contrib/boringssl-cmake/ios-aarch64/crypto/fipsmodule/armv8-mont.S @@ -12,6 +12,8 @@ #if defined(BORINGSSL_PREFIX) #include #endif +#include + .text .globl _bn_mul_mont @@ -19,6 +21,7 @@ .align 5 _bn_mul_mont: + AARCH64_SIGN_LINK_REGISTER tst x5,#7 b.eq __bn_sqr8x_mont tst x5,#3 @@ -216,11 +219,14 @@ Lcond_copy: mov x0,#1 ldp x23,x24,[x29,#48] ldr x29,[sp],#64 + AARCH64_VALIDATE_LINK_REGISTER ret .align 5 __bn_sqr8x_mont: + // Not adding AARCH64_SIGN_LINK_REGISTER here because __bn_sqr8x_mont is jumped to + // only from bn_mul_mont which has already signed the return address. cmp x1,x2 b.ne __bn_mul4x_mont Lsqr8x_mont: @@ -974,11 +980,16 @@ Lsqr8x_done: ldp x25,x26,[x29,#64] ldp x27,x28,[x29,#80] ldr x29,[sp],#128 + // x30 is popped earlier + AARCH64_VALIDATE_LINK_REGISTER ret .align 5 __bn_mul4x_mont: + // Not adding AARCH64_SIGN_LINK_REGISTER here because __bn_mul4x_mont is jumped to + // only from bn_mul_mont or __bn_mul8x_mont which have already signed the + // return address. stp x29,x30,[sp,#-128]! add x29,sp,#0 stp x19,x20,[sp,#16] @@ -1412,6 +1423,8 @@ Lmul4x_done: ldp x25,x26,[x29,#64] ldp x27,x28,[x29,#80] ldr x29,[sp],#128 + // x30 is popped earlier + AARCH64_VALIDATE_LINK_REGISTER ret .byte 77,111,110,116,103,111,109,101,114,121,32,77,117,108,116,105,112,108,105,99,97,116,105,111,110,32,102,111,114,32,65,82,77,118,56,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 diff --git a/contrib/boringssl-cmake/ios-aarch64/crypto/fipsmodule/ghash-neon-armv8.S b/contrib/boringssl-cmake/ios-aarch64/crypto/fipsmodule/ghash-neon-armv8.S index 60bff310186..5441afc06e2 100644 --- a/contrib/boringssl-cmake/ios-aarch64/crypto/fipsmodule/ghash-neon-armv8.S +++ b/contrib/boringssl-cmake/ios-aarch64/crypto/fipsmodule/ghash-neon-armv8.S @@ -12,6 +12,8 @@ #if defined(BORINGSSL_PREFIX) #include #endif +#include + .text .globl _gcm_init_neon @@ -19,6 +21,7 @@ .align 4 _gcm_init_neon: + AARCH64_VALID_CALL_TARGET // This function is adapted from gcm_init_v8. xC2 is t3. ld1 {v17.2d}, [x1] // load H movi v19.16b, #0xe1 @@ -44,6 +47,7 @@ _gcm_init_neon: .align 4 _gcm_gmult_neon: + AARCH64_VALID_CALL_TARGET ld1 {v3.16b}, [x0] // load Xi ld1 {v5.1d}, [x1], #8 // load twisted H ld1 {v6.1d}, [x1] @@ -63,6 +67,7 @@ _gcm_gmult_neon: .align 4 _gcm_ghash_neon: + AARCH64_VALID_CALL_TARGET ld1 {v0.16b}, [x0] // load Xi ld1 {v5.1d}, [x1], #8 // load twisted H ld1 {v6.1d}, [x1] diff --git a/contrib/boringssl-cmake/ios-aarch64/crypto/fipsmodule/ghashv8-armx64.S b/contrib/boringssl-cmake/ios-aarch64/crypto/fipsmodule/ghashv8-armx64.S index be0e283c366..566330f1be1 100644 --- a/contrib/boringssl-cmake/ios-aarch64/crypto/fipsmodule/ghashv8-armx64.S +++ b/contrib/boringssl-cmake/ios-aarch64/crypto/fipsmodule/ghashv8-armx64.S @@ -21,6 +21,7 @@ .align 4 _gcm_init_v8: + AARCH64_VALID_CALL_TARGET ld1 {v17.2d},[x1] //load input H movi v19.16b,#0xe1 shl v19.2d,v19.2d,#57 //0xc2.0 @@ -72,6 +73,7 @@ _gcm_init_v8: .align 4 _gcm_gmult_v8: + AARCH64_VALID_CALL_TARGET ld1 {v17.2d},[x0] //load Xi movi v19.16b,#0xe1 ld1 {v20.2d,v21.2d},[x1] //load twisted H, ... @@ -114,6 +116,7 @@ _gcm_gmult_v8: .align 4 _gcm_ghash_v8: + AARCH64_VALID_CALL_TARGET ld1 {v0.2d},[x0] //load [rotated] Xi //"[rotated]" means that //loaded value would have diff --git a/contrib/boringssl-cmake/ios-aarch64/crypto/fipsmodule/sha1-armv8.S b/contrib/boringssl-cmake/ios-aarch64/crypto/fipsmodule/sha1-armv8.S index 379107efbf8..16f000ec0ce 100644 --- a/contrib/boringssl-cmake/ios-aarch64/crypto/fipsmodule/sha1-armv8.S +++ b/contrib/boringssl-cmake/ios-aarch64/crypto/fipsmodule/sha1-armv8.S @@ -22,6 +22,8 @@ .align 6 _sha1_block_data_order: + // Armv8.3-A PAuth: even though x30 is pushed to stack it is not popped later. + AARCH64_VALID_CALL_TARGET #if __has_feature(hwaddress_sanitizer) && __clang_major__ >= 10 adrp x16,:pg_hi21_nc:_OPENSSL_armcap_P #else @@ -1089,6 +1091,8 @@ Loop: .align 6 sha1_block_armv8: + // Armv8.3-A PAuth: even though x30 is pushed to stack it is not popped later. + AARCH64_VALID_CALL_TARGET Lv8_entry: stp x29,x30,[sp,#-16]! add x29,sp,#0 diff --git a/contrib/boringssl-cmake/ios-aarch64/crypto/fipsmodule/sha256-armv8.S b/contrib/boringssl-cmake/ios-aarch64/crypto/fipsmodule/sha256-armv8.S index d6fa5a930df..208d9489e97 100644 --- a/contrib/boringssl-cmake/ios-aarch64/crypto/fipsmodule/sha256-armv8.S +++ b/contrib/boringssl-cmake/ios-aarch64/crypto/fipsmodule/sha256-armv8.S @@ -63,6 +63,7 @@ .align 6 _sha256_block_data_order: + AARCH64_VALID_CALL_TARGET #ifndef __KERNEL__ #if __has_feature(hwaddress_sanitizer) && __clang_major__ >= 10 adrp x16,:pg_hi21_nc:_OPENSSL_armcap_P @@ -73,6 +74,7 @@ _sha256_block_data_order: tst w16,#ARMV8_SHA256 b.ne Lv8_entry #endif + AARCH64_SIGN_LINK_REGISTER stp x29,x30,[sp,#-128]! add x29,sp,#0 @@ -1033,6 +1035,7 @@ Loop_16_xx: ldp x25,x26,[x29,#64] ldp x27,x28,[x29,#80] ldp x29,x30,[sp],#128 + AARCH64_VALIDATE_LINK_REGISTER ret @@ -1067,6 +1070,7 @@ LK256: .align 6 sha256_block_armv8: Lv8_entry: + // Armv8.3-A PAuth: even though x30 is pushed to stack it is not popped later. stp x29,x30,[sp,#-16]! add x29,sp,#0 diff --git a/contrib/boringssl-cmake/ios-aarch64/crypto/fipsmodule/sha512-armv8.S b/contrib/boringssl-cmake/ios-aarch64/crypto/fipsmodule/sha512-armv8.S index 29e122b1808..4c0152461fd 100644 --- a/contrib/boringssl-cmake/ios-aarch64/crypto/fipsmodule/sha512-armv8.S +++ b/contrib/boringssl-cmake/ios-aarch64/crypto/fipsmodule/sha512-armv8.S @@ -63,6 +63,7 @@ .align 6 _sha512_block_data_order: + AARCH64_SIGN_LINK_REGISTER stp x29,x30,[sp,#-128]! add x29,sp,#0 @@ -1023,6 +1024,7 @@ Loop_16_xx: ldp x25,x26,[x29,#64] ldp x27,x28,[x29,#80] ldp x29,x30,[sp],#128 + AARCH64_VALIDATE_LINK_REGISTER ret diff --git a/contrib/boringssl-cmake/ios-aarch64/crypto/fipsmodule/vpaes-armv8.S b/contrib/boringssl-cmake/ios-aarch64/crypto/fipsmodule/vpaes-armv8.S index 0f5cbeadafd..12422e46723 100644 --- a/contrib/boringssl-cmake/ios-aarch64/crypto/fipsmodule/vpaes-armv8.S +++ b/contrib/boringssl-cmake/ios-aarch64/crypto/fipsmodule/vpaes-armv8.S @@ -12,6 +12,8 @@ #if defined(BORINGSSL_PREFIX) #include #endif +#include + .section __TEXT,__const @@ -214,6 +216,7 @@ Lenc_entry: .align 4 _vpaes_encrypt: + AARCH64_SIGN_LINK_REGISTER stp x29,x30,[sp,#-16]! add x29,sp,#0 @@ -223,6 +226,7 @@ _vpaes_encrypt: st1 {v0.16b}, [x1] ldp x29,x30,[sp],#16 + AARCH64_VALIDATE_LINK_REGISTER ret @@ -451,6 +455,7 @@ Ldec_entry: .align 4 _vpaes_decrypt: + AARCH64_SIGN_LINK_REGISTER stp x29,x30,[sp,#-16]! add x29,sp,#0 @@ -460,6 +465,7 @@ _vpaes_decrypt: st1 {v0.16b}, [x1] ldp x29,x30,[sp],#16 + AARCH64_VALIDATE_LINK_REGISTER ret @@ -629,6 +635,7 @@ _vpaes_key_preheat: .align 4 _vpaes_schedule_core: + AARCH64_SIGN_LINK_REGISTER stp x29, x30, [sp,#-16]! add x29,sp,#0 @@ -798,6 +805,7 @@ Lschedule_mangle_last_dec: eor v6.16b, v6.16b, v6.16b // vpxor %xmm6, %xmm6, %xmm6 eor v7.16b, v7.16b, v7.16b // vpxor %xmm7, %xmm7, %xmm7 ldp x29, x30, [sp],#16 + AARCH64_VALIDATE_LINK_REGISTER ret @@ -1011,6 +1019,7 @@ Lschedule_mangle_both: .align 4 _vpaes_set_encrypt_key: + AARCH64_SIGN_LINK_REGISTER stp x29,x30,[sp,#-16]! add x29,sp,#0 stp d8,d9,[sp,#-16]! // ABI spec says so @@ -1026,6 +1035,7 @@ _vpaes_set_encrypt_key: ldp d8,d9,[sp],#16 ldp x29,x30,[sp],#16 + AARCH64_VALIDATE_LINK_REGISTER ret @@ -1034,6 +1044,7 @@ _vpaes_set_encrypt_key: .align 4 _vpaes_set_decrypt_key: + AARCH64_SIGN_LINK_REGISTER stp x29,x30,[sp,#-16]! add x29,sp,#0 stp d8,d9,[sp,#-16]! // ABI spec says so @@ -1053,6 +1064,7 @@ _vpaes_set_decrypt_key: ldp d8,d9,[sp],#16 ldp x29,x30,[sp],#16 + AARCH64_VALIDATE_LINK_REGISTER ret .globl _vpaes_cbc_encrypt @@ -1060,6 +1072,7 @@ _vpaes_set_decrypt_key: .align 4 _vpaes_cbc_encrypt: + AARCH64_SIGN_LINK_REGISTER cbz x2, Lcbc_abort cmp w5, #0 // check direction b.eq vpaes_cbc_decrypt @@ -1086,6 +1099,7 @@ Lcbc_enc_loop: st1 {v0.16b}, [x4] // write ivec ldp x29,x30,[sp],#16 + AARCH64_VALIDATE_LINK_REGISTER Lcbc_abort: ret @@ -1093,6 +1107,8 @@ Lcbc_abort: .align 4 vpaes_cbc_decrypt: + // Not adding AARCH64_SIGN_LINK_REGISTER here because vpaes_cbc_decrypt is jumped to + // only from vpaes_cbc_encrypt which has already signed the return address. stp x29,x30,[sp,#-16]! add x29,sp,#0 stp d8,d9,[sp,#-16]! // ABI spec says so @@ -1134,6 +1150,7 @@ Lcbc_dec_done: ldp d10,d11,[sp],#16 ldp d8,d9,[sp],#16 ldp x29,x30,[sp],#16 + AARCH64_VALIDATE_LINK_REGISTER ret .globl _vpaes_ctr32_encrypt_blocks @@ -1141,6 +1158,7 @@ Lcbc_dec_done: .align 4 _vpaes_ctr32_encrypt_blocks: + AARCH64_SIGN_LINK_REGISTER stp x29,x30,[sp,#-16]! add x29,sp,#0 stp d8,d9,[sp,#-16]! // ABI spec says so @@ -1208,6 +1226,7 @@ Lctr32_done: ldp d10,d11,[sp],#16 ldp d8,d9,[sp],#16 ldp x29,x30,[sp],#16 + AARCH64_VALIDATE_LINK_REGISTER ret #endif // !OPENSSL_NO_ASM diff --git a/contrib/boringssl-cmake/ios-aarch64/crypto/test/trampoline-armv8.S b/contrib/boringssl-cmake/ios-aarch64/crypto/test/trampoline-armv8.S index 438e9298c0a..325da9b100e 100644 --- a/contrib/boringssl-cmake/ios-aarch64/crypto/test/trampoline-armv8.S +++ b/contrib/boringssl-cmake/ios-aarch64/crypto/test/trampoline-armv8.S @@ -12,6 +12,8 @@ #if defined(BORINGSSL_PREFIX) #include #endif +#include + .text // abi_test_trampoline loads callee-saved registers from |state|, calls |func| @@ -26,6 +28,7 @@ .align 4 _abi_test_trampoline: Labi_test_trampoline_begin: + AARCH64_SIGN_LINK_REGISTER // Stack layout (low to high addresses) // x29,x30 (16 bytes) // d8-d15 (64 bytes) @@ -128,6 +131,7 @@ Lx29_ok: ldp x27, x28, [sp, #144] ldp x29, x30, [sp], #176 + AARCH64_VALIDATE_LINK_REGISTER ret @@ -135,6 +139,7 @@ Lx29_ok: .private_extern _abi_test_clobber_x0 .align 4 _abi_test_clobber_x0: + AARCH64_VALID_CALL_TARGET mov x0, xzr ret @@ -143,6 +148,7 @@ _abi_test_clobber_x0: .private_extern _abi_test_clobber_x1 .align 4 _abi_test_clobber_x1: + AARCH64_VALID_CALL_TARGET mov x1, xzr ret @@ -151,6 +157,7 @@ _abi_test_clobber_x1: .private_extern _abi_test_clobber_x2 .align 4 _abi_test_clobber_x2: + AARCH64_VALID_CALL_TARGET mov x2, xzr ret @@ -159,6 +166,7 @@ _abi_test_clobber_x2: .private_extern _abi_test_clobber_x3 .align 4 _abi_test_clobber_x3: + AARCH64_VALID_CALL_TARGET mov x3, xzr ret @@ -167,6 +175,7 @@ _abi_test_clobber_x3: .private_extern _abi_test_clobber_x4 .align 4 _abi_test_clobber_x4: + AARCH64_VALID_CALL_TARGET mov x4, xzr ret @@ -175,6 +184,7 @@ _abi_test_clobber_x4: .private_extern _abi_test_clobber_x5 .align 4 _abi_test_clobber_x5: + AARCH64_VALID_CALL_TARGET mov x5, xzr ret @@ -183,6 +193,7 @@ _abi_test_clobber_x5: .private_extern _abi_test_clobber_x6 .align 4 _abi_test_clobber_x6: + AARCH64_VALID_CALL_TARGET mov x6, xzr ret @@ -191,6 +202,7 @@ _abi_test_clobber_x6: .private_extern _abi_test_clobber_x7 .align 4 _abi_test_clobber_x7: + AARCH64_VALID_CALL_TARGET mov x7, xzr ret @@ -199,6 +211,7 @@ _abi_test_clobber_x7: .private_extern _abi_test_clobber_x8 .align 4 _abi_test_clobber_x8: + AARCH64_VALID_CALL_TARGET mov x8, xzr ret @@ -207,6 +220,7 @@ _abi_test_clobber_x8: .private_extern _abi_test_clobber_x9 .align 4 _abi_test_clobber_x9: + AARCH64_VALID_CALL_TARGET mov x9, xzr ret @@ -215,6 +229,7 @@ _abi_test_clobber_x9: .private_extern _abi_test_clobber_x10 .align 4 _abi_test_clobber_x10: + AARCH64_VALID_CALL_TARGET mov x10, xzr ret @@ -223,6 +238,7 @@ _abi_test_clobber_x10: .private_extern _abi_test_clobber_x11 .align 4 _abi_test_clobber_x11: + AARCH64_VALID_CALL_TARGET mov x11, xzr ret @@ -231,6 +247,7 @@ _abi_test_clobber_x11: .private_extern _abi_test_clobber_x12 .align 4 _abi_test_clobber_x12: + AARCH64_VALID_CALL_TARGET mov x12, xzr ret @@ -239,6 +256,7 @@ _abi_test_clobber_x12: .private_extern _abi_test_clobber_x13 .align 4 _abi_test_clobber_x13: + AARCH64_VALID_CALL_TARGET mov x13, xzr ret @@ -247,6 +265,7 @@ _abi_test_clobber_x13: .private_extern _abi_test_clobber_x14 .align 4 _abi_test_clobber_x14: + AARCH64_VALID_CALL_TARGET mov x14, xzr ret @@ -255,6 +274,7 @@ _abi_test_clobber_x14: .private_extern _abi_test_clobber_x15 .align 4 _abi_test_clobber_x15: + AARCH64_VALID_CALL_TARGET mov x15, xzr ret @@ -263,6 +283,7 @@ _abi_test_clobber_x15: .private_extern _abi_test_clobber_x16 .align 4 _abi_test_clobber_x16: + AARCH64_VALID_CALL_TARGET mov x16, xzr ret @@ -271,6 +292,7 @@ _abi_test_clobber_x16: .private_extern _abi_test_clobber_x17 .align 4 _abi_test_clobber_x17: + AARCH64_VALID_CALL_TARGET mov x17, xzr ret @@ -279,6 +301,7 @@ _abi_test_clobber_x17: .private_extern _abi_test_clobber_x19 .align 4 _abi_test_clobber_x19: + AARCH64_VALID_CALL_TARGET mov x19, xzr ret @@ -287,6 +310,7 @@ _abi_test_clobber_x19: .private_extern _abi_test_clobber_x20 .align 4 _abi_test_clobber_x20: + AARCH64_VALID_CALL_TARGET mov x20, xzr ret @@ -295,6 +319,7 @@ _abi_test_clobber_x20: .private_extern _abi_test_clobber_x21 .align 4 _abi_test_clobber_x21: + AARCH64_VALID_CALL_TARGET mov x21, xzr ret @@ -303,6 +328,7 @@ _abi_test_clobber_x21: .private_extern _abi_test_clobber_x22 .align 4 _abi_test_clobber_x22: + AARCH64_VALID_CALL_TARGET mov x22, xzr ret @@ -311,6 +337,7 @@ _abi_test_clobber_x22: .private_extern _abi_test_clobber_x23 .align 4 _abi_test_clobber_x23: + AARCH64_VALID_CALL_TARGET mov x23, xzr ret @@ -319,6 +346,7 @@ _abi_test_clobber_x23: .private_extern _abi_test_clobber_x24 .align 4 _abi_test_clobber_x24: + AARCH64_VALID_CALL_TARGET mov x24, xzr ret @@ -327,6 +355,7 @@ _abi_test_clobber_x24: .private_extern _abi_test_clobber_x25 .align 4 _abi_test_clobber_x25: + AARCH64_VALID_CALL_TARGET mov x25, xzr ret @@ -335,6 +364,7 @@ _abi_test_clobber_x25: .private_extern _abi_test_clobber_x26 .align 4 _abi_test_clobber_x26: + AARCH64_VALID_CALL_TARGET mov x26, xzr ret @@ -343,6 +373,7 @@ _abi_test_clobber_x26: .private_extern _abi_test_clobber_x27 .align 4 _abi_test_clobber_x27: + AARCH64_VALID_CALL_TARGET mov x27, xzr ret @@ -351,6 +382,7 @@ _abi_test_clobber_x27: .private_extern _abi_test_clobber_x28 .align 4 _abi_test_clobber_x28: + AARCH64_VALID_CALL_TARGET mov x28, xzr ret @@ -359,6 +391,7 @@ _abi_test_clobber_x28: .private_extern _abi_test_clobber_x29 .align 4 _abi_test_clobber_x29: + AARCH64_VALID_CALL_TARGET mov x29, xzr ret @@ -367,6 +400,7 @@ _abi_test_clobber_x29: .private_extern _abi_test_clobber_d0 .align 4 _abi_test_clobber_d0: + AARCH64_VALID_CALL_TARGET fmov d0, xzr ret @@ -375,6 +409,7 @@ _abi_test_clobber_d0: .private_extern _abi_test_clobber_d1 .align 4 _abi_test_clobber_d1: + AARCH64_VALID_CALL_TARGET fmov d1, xzr ret @@ -383,6 +418,7 @@ _abi_test_clobber_d1: .private_extern _abi_test_clobber_d2 .align 4 _abi_test_clobber_d2: + AARCH64_VALID_CALL_TARGET fmov d2, xzr ret @@ -391,6 +427,7 @@ _abi_test_clobber_d2: .private_extern _abi_test_clobber_d3 .align 4 _abi_test_clobber_d3: + AARCH64_VALID_CALL_TARGET fmov d3, xzr ret @@ -399,6 +436,7 @@ _abi_test_clobber_d3: .private_extern _abi_test_clobber_d4 .align 4 _abi_test_clobber_d4: + AARCH64_VALID_CALL_TARGET fmov d4, xzr ret @@ -407,6 +445,7 @@ _abi_test_clobber_d4: .private_extern _abi_test_clobber_d5 .align 4 _abi_test_clobber_d5: + AARCH64_VALID_CALL_TARGET fmov d5, xzr ret @@ -415,6 +454,7 @@ _abi_test_clobber_d5: .private_extern _abi_test_clobber_d6 .align 4 _abi_test_clobber_d6: + AARCH64_VALID_CALL_TARGET fmov d6, xzr ret @@ -423,6 +463,7 @@ _abi_test_clobber_d6: .private_extern _abi_test_clobber_d7 .align 4 _abi_test_clobber_d7: + AARCH64_VALID_CALL_TARGET fmov d7, xzr ret @@ -431,6 +472,7 @@ _abi_test_clobber_d7: .private_extern _abi_test_clobber_d8 .align 4 _abi_test_clobber_d8: + AARCH64_VALID_CALL_TARGET fmov d8, xzr ret @@ -439,6 +481,7 @@ _abi_test_clobber_d8: .private_extern _abi_test_clobber_d9 .align 4 _abi_test_clobber_d9: + AARCH64_VALID_CALL_TARGET fmov d9, xzr ret @@ -447,6 +490,7 @@ _abi_test_clobber_d9: .private_extern _abi_test_clobber_d10 .align 4 _abi_test_clobber_d10: + AARCH64_VALID_CALL_TARGET fmov d10, xzr ret @@ -455,6 +499,7 @@ _abi_test_clobber_d10: .private_extern _abi_test_clobber_d11 .align 4 _abi_test_clobber_d11: + AARCH64_VALID_CALL_TARGET fmov d11, xzr ret @@ -463,6 +508,7 @@ _abi_test_clobber_d11: .private_extern _abi_test_clobber_d12 .align 4 _abi_test_clobber_d12: + AARCH64_VALID_CALL_TARGET fmov d12, xzr ret @@ -471,6 +517,7 @@ _abi_test_clobber_d12: .private_extern _abi_test_clobber_d13 .align 4 _abi_test_clobber_d13: + AARCH64_VALID_CALL_TARGET fmov d13, xzr ret @@ -479,6 +526,7 @@ _abi_test_clobber_d13: .private_extern _abi_test_clobber_d14 .align 4 _abi_test_clobber_d14: + AARCH64_VALID_CALL_TARGET fmov d14, xzr ret @@ -487,6 +535,7 @@ _abi_test_clobber_d14: .private_extern _abi_test_clobber_d15 .align 4 _abi_test_clobber_d15: + AARCH64_VALID_CALL_TARGET fmov d15, xzr ret @@ -495,6 +544,7 @@ _abi_test_clobber_d15: .private_extern _abi_test_clobber_d16 .align 4 _abi_test_clobber_d16: + AARCH64_VALID_CALL_TARGET fmov d16, xzr ret @@ -503,6 +553,7 @@ _abi_test_clobber_d16: .private_extern _abi_test_clobber_d17 .align 4 _abi_test_clobber_d17: + AARCH64_VALID_CALL_TARGET fmov d17, xzr ret @@ -511,6 +562,7 @@ _abi_test_clobber_d17: .private_extern _abi_test_clobber_d18 .align 4 _abi_test_clobber_d18: + AARCH64_VALID_CALL_TARGET fmov d18, xzr ret @@ -519,6 +571,7 @@ _abi_test_clobber_d18: .private_extern _abi_test_clobber_d19 .align 4 _abi_test_clobber_d19: + AARCH64_VALID_CALL_TARGET fmov d19, xzr ret @@ -527,6 +580,7 @@ _abi_test_clobber_d19: .private_extern _abi_test_clobber_d20 .align 4 _abi_test_clobber_d20: + AARCH64_VALID_CALL_TARGET fmov d20, xzr ret @@ -535,6 +589,7 @@ _abi_test_clobber_d20: .private_extern _abi_test_clobber_d21 .align 4 _abi_test_clobber_d21: + AARCH64_VALID_CALL_TARGET fmov d21, xzr ret @@ -543,6 +598,7 @@ _abi_test_clobber_d21: .private_extern _abi_test_clobber_d22 .align 4 _abi_test_clobber_d22: + AARCH64_VALID_CALL_TARGET fmov d22, xzr ret @@ -551,6 +607,7 @@ _abi_test_clobber_d22: .private_extern _abi_test_clobber_d23 .align 4 _abi_test_clobber_d23: + AARCH64_VALID_CALL_TARGET fmov d23, xzr ret @@ -559,6 +616,7 @@ _abi_test_clobber_d23: .private_extern _abi_test_clobber_d24 .align 4 _abi_test_clobber_d24: + AARCH64_VALID_CALL_TARGET fmov d24, xzr ret @@ -567,6 +625,7 @@ _abi_test_clobber_d24: .private_extern _abi_test_clobber_d25 .align 4 _abi_test_clobber_d25: + AARCH64_VALID_CALL_TARGET fmov d25, xzr ret @@ -575,6 +634,7 @@ _abi_test_clobber_d25: .private_extern _abi_test_clobber_d26 .align 4 _abi_test_clobber_d26: + AARCH64_VALID_CALL_TARGET fmov d26, xzr ret @@ -583,6 +643,7 @@ _abi_test_clobber_d26: .private_extern _abi_test_clobber_d27 .align 4 _abi_test_clobber_d27: + AARCH64_VALID_CALL_TARGET fmov d27, xzr ret @@ -591,6 +652,7 @@ _abi_test_clobber_d27: .private_extern _abi_test_clobber_d28 .align 4 _abi_test_clobber_d28: + AARCH64_VALID_CALL_TARGET fmov d28, xzr ret @@ -599,6 +661,7 @@ _abi_test_clobber_d28: .private_extern _abi_test_clobber_d29 .align 4 _abi_test_clobber_d29: + AARCH64_VALID_CALL_TARGET fmov d29, xzr ret @@ -607,6 +670,7 @@ _abi_test_clobber_d29: .private_extern _abi_test_clobber_d30 .align 4 _abi_test_clobber_d30: + AARCH64_VALID_CALL_TARGET fmov d30, xzr ret @@ -615,6 +679,7 @@ _abi_test_clobber_d30: .private_extern _abi_test_clobber_d31 .align 4 _abi_test_clobber_d31: + AARCH64_VALID_CALL_TARGET fmov d31, xzr ret @@ -623,6 +688,7 @@ _abi_test_clobber_d31: .private_extern _abi_test_clobber_v8_upper .align 4 _abi_test_clobber_v8_upper: + AARCH64_VALID_CALL_TARGET fmov v8.d[1], xzr ret @@ -631,6 +697,7 @@ _abi_test_clobber_v8_upper: .private_extern _abi_test_clobber_v9_upper .align 4 _abi_test_clobber_v9_upper: + AARCH64_VALID_CALL_TARGET fmov v9.d[1], xzr ret @@ -639,6 +706,7 @@ _abi_test_clobber_v9_upper: .private_extern _abi_test_clobber_v10_upper .align 4 _abi_test_clobber_v10_upper: + AARCH64_VALID_CALL_TARGET fmov v10.d[1], xzr ret @@ -647,6 +715,7 @@ _abi_test_clobber_v10_upper: .private_extern _abi_test_clobber_v11_upper .align 4 _abi_test_clobber_v11_upper: + AARCH64_VALID_CALL_TARGET fmov v11.d[1], xzr ret @@ -655,6 +724,7 @@ _abi_test_clobber_v11_upper: .private_extern _abi_test_clobber_v12_upper .align 4 _abi_test_clobber_v12_upper: + AARCH64_VALID_CALL_TARGET fmov v12.d[1], xzr ret @@ -663,6 +733,7 @@ _abi_test_clobber_v12_upper: .private_extern _abi_test_clobber_v13_upper .align 4 _abi_test_clobber_v13_upper: + AARCH64_VALID_CALL_TARGET fmov v13.d[1], xzr ret @@ -671,6 +742,7 @@ _abi_test_clobber_v13_upper: .private_extern _abi_test_clobber_v14_upper .align 4 _abi_test_clobber_v14_upper: + AARCH64_VALID_CALL_TARGET fmov v14.d[1], xzr ret @@ -679,6 +751,7 @@ _abi_test_clobber_v14_upper: .private_extern _abi_test_clobber_v15_upper .align 4 _abi_test_clobber_v15_upper: + AARCH64_VALID_CALL_TARGET fmov v15.d[1], xzr ret diff --git a/contrib/boringssl-cmake/ios-aarch64/crypto/third_party/sike/asm/fp-armv8.S b/contrib/boringssl-cmake/ios-aarch64/crypto/third_party/sike/asm/fp-armv8.S deleted file mode 100644 index c48863f65ff..00000000000 --- a/contrib/boringssl-cmake/ios-aarch64/crypto/third_party/sike/asm/fp-armv8.S +++ /dev/null @@ -1,996 +0,0 @@ -// This file is generated from a similarly-named Perl script in the BoringSSL -// source tree. Do not edit by hand. - -#if !defined(__has_feature) -#define __has_feature(x) 0 -#endif -#if __has_feature(memory_sanitizer) && !defined(OPENSSL_NO_ASM) -#define OPENSSL_NO_ASM -#endif - -#if !defined(OPENSSL_NO_ASM) -#if defined(BORINGSSL_PREFIX) -#include -#endif -.section __TEXT,__const - -# p434 x 2 -Lp434x2: -.quad 0xFFFFFFFFFFFFFFFE, 0xFFFFFFFFFFFFFFFF -.quad 0xFB82ECF5C5FFFFFF, 0xF78CB8F062B15D47 -.quad 0xD9F8BFAD038A40AC, 0x0004683E4E2EE688 - -# p434 + 1 -Lp434p1: -.quad 0xFDC1767AE3000000, 0x7BC65C783158AEA3 -.quad 0x6CFC5FD681C52056, 0x0002341F27177344 - -.text -.globl _sike_mpmul -.private_extern _sike_mpmul -.align 4 -_sike_mpmul: - stp x29, x30, [sp,#-96]! - add x29, sp, #0 - stp x19, x20, [sp,#16] - stp x21, x22, [sp,#32] - stp x23, x24, [sp,#48] - stp x25, x26, [sp,#64] - stp x27, x28, [sp,#80] - - ldp x3, x4, [x0] - ldp x5, x6, [x0,#16] - ldp x7, x8, [x0,#32] - ldr x9, [x0,#48] - ldp x10, x11, [x1,#0] - ldp x12, x13, [x1,#16] - ldp x14, x15, [x1,#32] - ldr x16, [x1,#48] - - // x3-x7 <- AH + AL, x7 <- carry - adds x3, x3, x7 - adcs x4, x4, x8 - adcs x5, x5, x9 - adcs x6, x6, xzr - adc x7, xzr, xzr - - // x10-x13 <- BH + BL, x8 <- carry - adds x10, x10, x14 - adcs x11, x11, x15 - adcs x12, x12, x16 - adcs x13, x13, xzr - adc x8, xzr, xzr - - // x9 <- combined carry - and x9, x7, x8 - // x7-x8 <- mask - sub x7, xzr, x7 - sub x8, xzr, x8 - - // x15-x19 <- masked (BH + BL) - and x14, x10, x7 - and x15, x11, x7 - and x16, x12, x7 - and x17, x13, x7 - - // x20-x23 <- masked (AH + AL) - and x20, x3, x8 - and x21, x4, x8 - and x22, x5, x8 - and x23, x6, x8 - - // x15-x19, x7 <- masked (AH+AL) + masked (BH+BL), step 1 - adds x14, x14, x20 - adcs x15, x15, x21 - adcs x16, x16, x22 - adcs x17, x17, x23 - adc x7, x9, xzr - - // x8-x9,x19,x20-x24 <- (AH+AL) x (BH+BL), low part - stp x3, x4, [x2,#0] - // A0-A1 <- AH + AL, T0 <- mask - adds x3, x3, x5 - adcs x4, x4, x6 - adc x25, xzr, xzr - - // C6, T1 <- BH + BL, C7 <- mask - adds x23, x10, x12 - adcs x26, x11, x13 - adc x24, xzr, xzr - - // C0-C1 <- masked (BH + BL) - sub x19, xzr, x25 - sub x20, xzr, x24 - and x8, x23, x19 - and x9, x26, x19 - - // C4-C5 <- masked (AH + AL), T0 <- combined carry - and x21, x3, x20 - and x22, x4, x20 - mul x19, x3, x23 - mul x20, x3, x26 - and x25, x25, x24 - - // C0-C1, T0 <- (AH+AL) x (BH+BL), part 1 - adds x8, x21, x8 - umulh x21, x3, x26 - adcs x9, x22, x9 - umulh x22, x3, x23 - adc x25, x25, xzr - - // C2-C5 <- (AH+AL) x (BH+BL), low part - mul x3, x4, x23 - umulh x23, x4, x23 - adds x20, x20, x22 - adc x21, x21, xzr - - mul x24, x4, x26 - umulh x26, x4, x26 - adds x20, x20, x3 - adcs x21, x21, x23 - adc x22, xzr, xzr - - adds x21, x21, x24 - adc x22, x22, x26 - - ldp x3, x4, [x2,#0] - - // C2-C5, T0 <- (AH+AL) x (BH+BL), final part - adds x21, x8, x21 - umulh x24, x3, x10 - umulh x26, x3, x11 - adcs x22, x9, x22 - mul x8, x3, x10 - mul x9, x3, x11 - adc x25, x25, xzr - - // C0-C1, T1, C7 <- AL x BL - mul x3, x4, x10 - umulh x10, x4, x10 - adds x9, x9, x24 - adc x26, x26, xzr - - mul x23, x4, x11 - umulh x11, x4, x11 - adds x9, x9, x3 - adcs x26, x26, x10 - adc x24, xzr, xzr - - adds x26, x26, x23 - adc x24, x24, x11 - - - // C2-C5, T0 <- (AH+AL) x (BH+BL) - ALxBL - mul x3, x5, x12 - umulh x10, x5, x12 - subs x19, x19, x8 - sbcs x20, x20, x9 - sbcs x21, x21, x26 - mul x4, x5, x13 - umulh x23, x5, x13 - sbcs x22, x22, x24 - sbc x25, x25, xzr - - // A0, A1, C6, B0 <- AH x BH - mul x5, x6, x12 - umulh x12, x6, x12 - adds x4, x4, x10 - adc x23, x23, xzr - - mul x11, x6, x13 - umulh x13, x6, x13 - adds x4, x4, x5 - adcs x23, x23, x12 - adc x10, xzr, xzr - - adds x23, x23, x11 - adc x10, x10, x13 - - - // C2-C5, T0 <- (AH+AL) x (BH+BL) - ALxBL - AHxBH - subs x19, x19, x3 - sbcs x20, x20, x4 - sbcs x21, x21, x23 - sbcs x22, x22, x10 - sbc x25, x25, xzr - - adds x19, x19, x26 - adcs x20, x20, x24 - adcs x21, x21, x3 - adcs x22, x22, x4 - adcs x23, x25, x23 - adc x24, x10, xzr - - - // x15-x19, x7 <- (AH+AL) x (BH+BL), final step - adds x14, x14, x21 - adcs x15, x15, x22 - adcs x16, x16, x23 - adcs x17, x17, x24 - adc x7, x7, xzr - - // Load AL - ldp x3, x4, [x0] - ldp x5, x6, [x0,#16] - // Load BL - ldp x10, x11, [x1,#0] - ldp x12, x13, [x1,#16] - - // Temporarily store x8 in x2 - stp x8, x9, [x2,#0] - // x21-x28 <- AL x BL - // A0-A1 <- AH + AL, T0 <- mask - adds x3, x3, x5 - adcs x4, x4, x6 - adc x8, xzr, xzr - - // C6, T1 <- BH + BL, C7 <- mask - adds x27, x10, x12 - adcs x9, x11, x13 - adc x28, xzr, xzr - - // C0-C1 <- masked (BH + BL) - sub x23, xzr, x8 - sub x24, xzr, x28 - and x21, x27, x23 - and x22, x9, x23 - - // C4-C5 <- masked (AH + AL), T0 <- combined carry - and x25, x3, x24 - and x26, x4, x24 - mul x23, x3, x27 - mul x24, x3, x9 - and x8, x8, x28 - - // C0-C1, T0 <- (AH+AL) x (BH+BL), part 1 - adds x21, x25, x21 - umulh x25, x3, x9 - adcs x22, x26, x22 - umulh x26, x3, x27 - adc x8, x8, xzr - - // C2-C5 <- (AH+AL) x (BH+BL), low part - mul x3, x4, x27 - umulh x27, x4, x27 - adds x24, x24, x26 - adc x25, x25, xzr - - mul x28, x4, x9 - umulh x9, x4, x9 - adds x24, x24, x3 - adcs x25, x25, x27 - adc x26, xzr, xzr - - adds x25, x25, x28 - adc x26, x26, x9 - - ldp x3, x4, [x0,#0] - - // C2-C5, T0 <- (AH+AL) x (BH+BL), final part - adds x25, x21, x25 - umulh x28, x3, x10 - umulh x9, x3, x11 - adcs x26, x22, x26 - mul x21, x3, x10 - mul x22, x3, x11 - adc x8, x8, xzr - - // C0-C1, T1, C7 <- AL x BL - mul x3, x4, x10 - umulh x10, x4, x10 - adds x22, x22, x28 - adc x9, x9, xzr - - mul x27, x4, x11 - umulh x11, x4, x11 - adds x22, x22, x3 - adcs x9, x9, x10 - adc x28, xzr, xzr - - adds x9, x9, x27 - adc x28, x28, x11 - - - // C2-C5, T0 <- (AH+AL) x (BH+BL) - ALxBL - mul x3, x5, x12 - umulh x10, x5, x12 - subs x23, x23, x21 - sbcs x24, x24, x22 - sbcs x25, x25, x9 - mul x4, x5, x13 - umulh x27, x5, x13 - sbcs x26, x26, x28 - sbc x8, x8, xzr - - // A0, A1, C6, B0 <- AH x BH - mul x5, x6, x12 - umulh x12, x6, x12 - adds x4, x4, x10 - adc x27, x27, xzr - - mul x11, x6, x13 - umulh x13, x6, x13 - adds x4, x4, x5 - adcs x27, x27, x12 - adc x10, xzr, xzr - - adds x27, x27, x11 - adc x10, x10, x13 - - - // C2-C5, T0 <- (AH+AL) x (BH+BL) - ALxBL - AHxBH - subs x23, x23, x3 - sbcs x24, x24, x4 - sbcs x25, x25, x27 - sbcs x26, x26, x10 - sbc x8, x8, xzr - - adds x23, x23, x9 - adcs x24, x24, x28 - adcs x25, x25, x3 - adcs x26, x26, x4 - adcs x27, x8, x27 - adc x28, x10, xzr - - // Restore x8 - ldp x8, x9, [x2,#0] - - // x8-x10,x20,x15-x17,x19 <- maskd (AH+AL) x (BH+BL) - ALxBL - subs x8, x8, x21 - sbcs x9, x9, x22 - sbcs x19, x19, x23 - sbcs x20, x20, x24 - sbcs x14, x14, x25 - sbcs x15, x15, x26 - sbcs x16, x16, x27 - sbcs x17, x17, x28 - sbc x7, x7, xzr - - // Store ALxBL, low - stp x21, x22, [x2] - stp x23, x24, [x2,#16] - - // Load AH - ldp x3, x4, [x0,#32] - ldr x5, [x0,#48] - // Load BH - ldp x10, x11, [x1,#32] - ldr x12, [x1,#48] - - adds x8, x8, x25 - adcs x9, x9, x26 - adcs x19, x19, x27 - adcs x20, x20, x28 - adc x1, xzr, xzr - - add x0, x0, #32 - // Temporarily store x8,x9 in x2 - stp x8,x9, [x2,#32] - // x21-x28 <- AH x BH - - // A0 * B0 - mul x21, x3, x10 // C0 - umulh x24, x3, x10 - - // A0 * B1 - mul x22, x3, x11 - umulh x23, x3, x11 - - // A1 * B0 - mul x8, x4, x10 - umulh x9, x4, x10 - adds x22, x22, x24 - adc x23, x23, xzr - - // A0 * B2 - mul x27, x3, x12 - umulh x28, x3, x12 - adds x22, x22, x8 // C1 - adcs x23, x23, x9 - adc x24, xzr, xzr - - // A2 * B0 - mul x8, x5, x10 - umulh x25, x5, x10 - adds x23, x23, x27 - adcs x24, x24, x25 - adc x25, xzr, xzr - - // A1 * B1 - mul x27, x4, x11 - umulh x9, x4, x11 - adds x23, x23, x8 - adcs x24, x24, x28 - adc x25, x25, xzr - - // A1 * B2 - mul x8, x4, x12 - umulh x28, x4, x12 - adds x23, x23, x27 // C2 - adcs x24, x24, x9 - adc x25, x25, xzr - - // A2 * B1 - mul x27, x5, x11 - umulh x9, x5, x11 - adds x24, x24, x8 - adcs x25, x25, x28 - adc x26, xzr, xzr - - // A2 * B2 - mul x8, x5, x12 - umulh x28, x5, x12 - adds x24, x24, x27 // C3 - adcs x25, x25, x9 - adc x26, x26, xzr - - adds x25, x25, x8 // C4 - adc x26, x26, x28 // C5 - - // Restore x8,x9 - ldp x8,x9, [x2,#32] - - neg x1, x1 - - // x8-x9,x19,x20,x14-x17 <- (AH+AL) x (BH+BL) - ALxBL - AHxBH - subs x8, x8, x21 - sbcs x9, x9, x22 - sbcs x19, x19, x23 - sbcs x20, x20, x24 - sbcs x14, x14, x25 - sbcs x15, x15, x26 - sbcs x16, x16, xzr - sbcs x17, x17, xzr - sbc x7, x7, xzr - - // Store (AH+AL) x (BH+BL) - ALxBL - AHxBH, low - stp x8, x9, [x2,#32] - stp x19, x20, [x2,#48] - - adds x1, x1, #1 - adcs x14, x14, x21 - adcs x15, x15, x22 - adcs x16, x16, x23 - adcs x17, x17, x24 - adcs x25, x7, x25 - adc x26, x26, xzr - - stp x14, x15, [x2,#64] - stp x16, x17, [x2,#80] - stp x25, x26, [x2,#96] - - ldp x19, x20, [x29,#16] - ldp x21, x22, [x29,#32] - ldp x23, x24, [x29,#48] - ldp x25, x26, [x29,#64] - ldp x27, x28, [x29,#80] - ldp x29, x30, [sp],#96 - ret -.globl _sike_fprdc -.private_extern _sike_fprdc -.align 4 -_sike_fprdc: - stp x29, x30, [sp, #-96]! - add x29, sp, xzr - stp x19, x20, [sp,#16] - stp x21, x22, [sp,#32] - stp x23, x24, [sp,#48] - stp x25, x26, [sp,#64] - stp x27, x28, [sp,#80] - - ldp x2, x3, [x0,#0] // a[0-1] - - // Load the prime constant - adrp x26, Lp434p1@PAGE - add x26, x26, Lp434p1@PAGEOFF - ldp x23, x24, [x26, #0x0] - ldp x25, x26, [x26,#0x10] - - // a[0-1] * p434+1 - mul x4, x2, x23 // C0 - umulh x7, x2, x23 - - mul x5, x2, x24 - umulh x6, x2, x24 - - mul x10, x3, x23 - umulh x11, x3, x23 - adds x5, x5, x7 - adc x6, x6, xzr - - mul x27, x2, x25 - umulh x28, x2, x25 - adds x5, x5, x10 // C1 - adcs x6, x6, x11 - adc x7, xzr, xzr - - mul x10, x3, x24 - umulh x11, x3, x24 - adds x6, x6, x27 - adcs x7, x7, x28 - adc x8, xzr, xzr - - mul x27, x2, x26 - umulh x28, x2, x26 - adds x6, x6, x10 // C2 - adcs x7, x7, x11 - adc x8, x8, xzr - - mul x10, x3, x25 - umulh x11, x3, x25 - adds x7, x7, x27 - adcs x8, x8, x28 - adc x9, xzr, xzr - - mul x27, x3, x26 - umulh x28, x3, x26 - adds x7, x7, x10 // C3 - adcs x8, x8, x11 - adc x9, x9, xzr - adds x8, x8, x27 // C4 - adc x9, x9, x28 // C5 - - - - ldp x10, x11, [x0, #0x18] - ldp x12, x13, [x0, #0x28] - ldp x14, x15, [x0, #0x38] - ldp x16, x17, [x0, #0x48] - ldp x19, x20, [x0, #0x58] - ldr x21, [x0, #0x68] - - adds x10, x10, x4 - adcs x11, x11, x5 - adcs x12, x12, x6 - adcs x13, x13, x7 - adcs x14, x14, x8 - adcs x15, x15, x9 - adcs x22, x16, xzr - adcs x17, x17, xzr - adcs x19, x19, xzr - adcs x20, x20, xzr - adc x21, x21, xzr - - ldr x2, [x0,#0x10] // a[2] - // a[2-3] * p434+1 - mul x4, x2, x23 // C0 - umulh x7, x2, x23 - - mul x5, x2, x24 - umulh x6, x2, x24 - - mul x0, x10, x23 - umulh x3, x10, x23 - adds x5, x5, x7 - adc x6, x6, xzr - - mul x27, x2, x25 - umulh x28, x2, x25 - adds x5, x5, x0 // C1 - adcs x6, x6, x3 - adc x7, xzr, xzr - - mul x0, x10, x24 - umulh x3, x10, x24 - adds x6, x6, x27 - adcs x7, x7, x28 - adc x8, xzr, xzr - - mul x27, x2, x26 - umulh x28, x2, x26 - adds x6, x6, x0 // C2 - adcs x7, x7, x3 - adc x8, x8, xzr - - mul x0, x10, x25 - umulh x3, x10, x25 - adds x7, x7, x27 - adcs x8, x8, x28 - adc x9, xzr, xzr - - mul x27, x10, x26 - umulh x28, x10, x26 - adds x7, x7, x0 // C3 - adcs x8, x8, x3 - adc x9, x9, xzr - adds x8, x8, x27 // C4 - adc x9, x9, x28 // C5 - - - - adds x12, x12, x4 - adcs x13, x13, x5 - adcs x14, x14, x6 - adcs x15, x15, x7 - adcs x16, x22, x8 - adcs x17, x17, x9 - adcs x22, x19, xzr - adcs x20, x20, xzr - adc x21, x21, xzr - - mul x4, x11, x23 // C0 - umulh x7, x11, x23 - - mul x5, x11, x24 - umulh x6, x11, x24 - - mul x10, x12, x23 - umulh x3, x12, x23 - adds x5, x5, x7 - adc x6, x6, xzr - - mul x27, x11, x25 - umulh x28, x11, x25 - adds x5, x5, x10 // C1 - adcs x6, x6, x3 - adc x7, xzr, xzr - - mul x10, x12, x24 - umulh x3, x12, x24 - adds x6, x6, x27 - adcs x7, x7, x28 - adc x8, xzr, xzr - - mul x27, x11, x26 - umulh x28, x11, x26 - adds x6, x6, x10 // C2 - adcs x7, x7, x3 - adc x8, x8, xzr - - mul x10, x12, x25 - umulh x3, x12, x25 - adds x7, x7, x27 - adcs x8, x8, x28 - adc x9, xzr, xzr - - mul x27, x12, x26 - umulh x28, x12, x26 - adds x7, x7, x10 // C3 - adcs x8, x8, x3 - adc x9, x9, xzr - adds x8, x8, x27 // C4 - adc x9, x9, x28 // C5 - - - adds x14, x14, x4 - adcs x15, x15, x5 - adcs x16, x16, x6 - adcs x17, x17, x7 - adcs x19, x22, x8 - adcs x20, x20, x9 - adc x22, x21, xzr - - stp x14, x15, [x1, #0x0] // C0, C1 - - mul x4, x13, x23 // C0 - umulh x10, x13, x23 - - mul x5, x13, x24 - umulh x27, x13, x24 - adds x5, x5, x10 // C1 - adc x10, xzr, xzr - - mul x6, x13, x25 - umulh x28, x13, x25 - adds x27, x10, x27 - adcs x6, x6, x27 // C2 - adc x10, xzr, xzr - - mul x7, x13, x26 - umulh x8, x13, x26 - adds x28, x10, x28 - adcs x7, x7, x28 // C3 - adc x8, x8, xzr // C4 - - adds x16, x16, x4 - adcs x17, x17, x5 - adcs x19, x19, x6 - adcs x20, x20, x7 - adc x21, x22, x8 - - str x16, [x1, #0x10] - stp x17, x19, [x1, #0x18] - stp x20, x21, [x1, #0x28] - - ldp x19, x20, [x29,#16] - ldp x21, x22, [x29,#32] - ldp x23, x24, [x29,#48] - ldp x25, x26, [x29,#64] - ldp x27, x28, [x29,#80] - ldp x29, x30, [sp],#96 - ret -.globl _sike_fpadd -.private_extern _sike_fpadd -.align 4 -_sike_fpadd: - stp x29,x30, [sp,#-16]! - add x29, sp, #0 - - ldp x3, x4, [x0,#0] - ldp x5, x6, [x0,#16] - ldp x7, x8, [x0,#32] - ldr x9, [x0,#48] - ldp x11, x12, [x1,#0] - ldp x13, x14, [x1,#16] - ldp x15, x16, [x1,#32] - ldr x17, [x1,#48] - - // Add a + b - adds x3, x3, x11 - adcs x4, x4, x12 - adcs x5, x5, x13 - adcs x6, x6, x14 - adcs x7, x7, x15 - adcs x8, x8, x16 - adc x9, x9, x17 - - // Subtract 2xp434 - adrp x17, Lp434x2@PAGE - add x17, x17, Lp434x2@PAGEOFF - ldp x11, x12, [x17, #0] - ldp x13, x14, [x17, #16] - ldp x15, x16, [x17, #32] - subs x3, x3, x11 - sbcs x4, x4, x12 - sbcs x5, x5, x12 - sbcs x6, x6, x13 - sbcs x7, x7, x14 - sbcs x8, x8, x15 - sbcs x9, x9, x16 - sbc x0, xzr, xzr // x0 can be reused now - - // Add 2xp434 anded with the mask in x0 - and x11, x11, x0 - and x12, x12, x0 - and x13, x13, x0 - and x14, x14, x0 - and x15, x15, x0 - and x16, x16, x0 - - adds x3, x3, x11 - adcs x4, x4, x12 - adcs x5, x5, x12 - adcs x6, x6, x13 - adcs x7, x7, x14 - adcs x8, x8, x15 - adc x9, x9, x16 - - stp x3, x4, [x2,#0] - stp x5, x6, [x2,#16] - stp x7, x8, [x2,#32] - str x9, [x2,#48] - - ldp x29, x30, [sp],#16 - ret -.globl _sike_fpsub -.private_extern _sike_fpsub -.align 4 -_sike_fpsub: - stp x29, x30, [sp,#-16]! - add x29, sp, #0 - - ldp x3, x4, [x0,#0] - ldp x5, x6, [x0,#16] - ldp x7, x8, [x0,#32] - ldr x9, [x0,#48] - ldp x11, x12, [x1,#0] - ldp x13, x14, [x1,#16] - ldp x15, x16, [x1,#32] - ldr x17, [x1,#48] - - // Subtract a - b - subs x3, x3, x11 - sbcs x4, x4, x12 - sbcs x5, x5, x13 - sbcs x6, x6, x14 - sbcs x7, x7, x15 - sbcs x8, x8, x16 - sbcs x9, x9, x17 - sbc x0, xzr, xzr - - // Add 2xp434 anded with the mask in x0 - adrp x17, Lp434x2@PAGE - add x17, x17, Lp434x2@PAGEOFF - - // First half - ldp x11, x12, [x17, #0] - ldp x13, x14, [x17, #16] - ldp x15, x16, [x17, #32] - - // Add 2xp434 anded with the mask in x0 - and x11, x11, x0 - and x12, x12, x0 - and x13, x13, x0 - and x14, x14, x0 - and x15, x15, x0 - and x16, x16, x0 - - adds x3, x3, x11 - adcs x4, x4, x12 - adcs x5, x5, x12 - adcs x6, x6, x13 - adcs x7, x7, x14 - adcs x8, x8, x15 - adc x9, x9, x16 - - stp x3, x4, [x2,#0] - stp x5, x6, [x2,#16] - stp x7, x8, [x2,#32] - str x9, [x2,#48] - - ldp x29, x30, [sp],#16 - ret -.globl _sike_mpadd_asm -.private_extern _sike_mpadd_asm -.align 4 -_sike_mpadd_asm: - stp x29, x30, [sp,#-16]! - add x29, sp, #0 - - ldp x3, x4, [x0,#0] - ldp x5, x6, [x0,#16] - ldp x7, x8, [x0,#32] - ldr x9, [x0,#48] - ldp x11, x12, [x1,#0] - ldp x13, x14, [x1,#16] - ldp x15, x16, [x1,#32] - ldr x17, [x1,#48] - - adds x3, x3, x11 - adcs x4, x4, x12 - adcs x5, x5, x13 - adcs x6, x6, x14 - adcs x7, x7, x15 - adcs x8, x8, x16 - adc x9, x9, x17 - - stp x3, x4, [x2,#0] - stp x5, x6, [x2,#16] - stp x7, x8, [x2,#32] - str x9, [x2,#48] - - ldp x29, x30, [sp],#16 - ret -.globl _sike_mpsubx2_asm -.private_extern _sike_mpsubx2_asm -.align 4 -_sike_mpsubx2_asm: - stp x29, x30, [sp,#-16]! - add x29, sp, #0 - - ldp x3, x4, [x0,#0] - ldp x5, x6, [x0,#16] - ldp x11, x12, [x1,#0] - ldp x13, x14, [x1,#16] - subs x3, x3, x11 - sbcs x4, x4, x12 - sbcs x5, x5, x13 - sbcs x6, x6, x14 - ldp x7, x8, [x0,#32] - ldp x9, x10, [x0,#48] - ldp x11, x12, [x1,#32] - ldp x13, x14, [x1,#48] - sbcs x7, x7, x11 - sbcs x8, x8, x12 - sbcs x9, x9, x13 - sbcs x10, x10, x14 - - stp x3, x4, [x2,#0] - stp x5, x6, [x2,#16] - stp x7, x8, [x2,#32] - stp x9, x10, [x2,#48] - - ldp x3, x4, [x0,#64] - ldp x5, x6, [x0,#80] - ldp x11, x12, [x1,#64] - ldp x13, x14, [x1,#80] - sbcs x3, x3, x11 - sbcs x4, x4, x12 - sbcs x5, x5, x13 - sbcs x6, x6, x14 - ldp x7, x8, [x0,#96] - ldp x11, x12, [x1,#96] - sbcs x7, x7, x11 - sbcs x8, x8, x12 - sbc x0, xzr, xzr - - stp x3, x4, [x2,#64] - stp x5, x6, [x2,#80] - stp x7, x8, [x2,#96] - - ldp x29, x30, [sp],#16 - ret -.globl _sike_mpdblsubx2_asm -.private_extern _sike_mpdblsubx2_asm -.align 4 -_sike_mpdblsubx2_asm: - stp x29, x30, [sp, #-16]! - add x29, sp, #0 - - ldp x3, x4, [x2, #0] - ldp x5, x6, [x2,#16] - ldp x7, x8, [x2,#32] - - ldp x11, x12, [x0, #0] - ldp x13, x14, [x0,#16] - ldp x15, x16, [x0,#32] - - subs x3, x3, x11 - sbcs x4, x4, x12 - sbcs x5, x5, x13 - sbcs x6, x6, x14 - sbcs x7, x7, x15 - sbcs x8, x8, x16 - - // x9 stores carry - adc x9, xzr, xzr - - ldp x11, x12, [x1, #0] - ldp x13, x14, [x1,#16] - ldp x15, x16, [x1,#32] - subs x3, x3, x11 - sbcs x4, x4, x12 - sbcs x5, x5, x13 - sbcs x6, x6, x14 - sbcs x7, x7, x15 - sbcs x8, x8, x16 - adc x9, x9, xzr - - stp x3, x4, [x2, #0] - stp x5, x6, [x2,#16] - stp x7, x8, [x2,#32] - - ldp x3, x4, [x2,#48] - ldp x5, x6, [x2,#64] - ldp x7, x8, [x2,#80] - - ldp x11, x12, [x0,#48] - ldp x13, x14, [x0,#64] - ldp x15, x16, [x0,#80] - - // x9 = 2 - x9 - neg x9, x9 - add x9, x9, #2 - - subs x3, x3, x9 - sbcs x3, x3, x11 - sbcs x4, x4, x12 - sbcs x5, x5, x13 - sbcs x6, x6, x14 - sbcs x7, x7, x15 - sbcs x8, x8, x16 - adc x9, xzr, xzr - - ldp x11, x12, [x1,#48] - ldp x13, x14, [x1,#64] - ldp x15, x16, [x1,#80] - subs x3, x3, x11 - sbcs x4, x4, x12 - sbcs x5, x5, x13 - sbcs x6, x6, x14 - sbcs x7, x7, x15 - sbcs x8, x8, x16 - adc x9, x9, xzr - - stp x3, x4, [x2,#48] - stp x5, x6, [x2,#64] - stp x7, x8, [x2,#80] - - ldp x3, x4, [x2,#96] - ldp x11, x12, [x0,#96] - ldp x13, x14, [x1,#96] - - // x9 = 2 - x9 - neg x9, x9 - add x9, x9, #2 - - subs x3, x3, x9 - sbcs x3, x3, x11 - sbcs x4, x4, x12 - subs x3, x3, x13 - sbc x4, x4, x14 - stp x3, x4, [x2,#96] - - ldp x29, x30, [sp],#16 - ret -#endif // !OPENSSL_NO_ASM diff --git a/contrib/boringssl-cmake/ios-arm/crypto/fipsmodule/aes-armv4.S b/contrib/boringssl-cmake/ios-arm/crypto/fipsmodule/aes-armv4.S deleted file mode 100644 index 63e2ec71632..00000000000 --- a/contrib/boringssl-cmake/ios-arm/crypto/fipsmodule/aes-armv4.S +++ /dev/null @@ -1,1233 +0,0 @@ -// This file is generated from a similarly-named Perl script in the BoringSSL -// source tree. Do not edit by hand. - -#if !defined(__has_feature) -#define __has_feature(x) 0 -#endif -#if __has_feature(memory_sanitizer) && !defined(OPENSSL_NO_ASM) -#define OPENSSL_NO_ASM -#endif - -#if !defined(OPENSSL_NO_ASM) -#if defined(BORINGSSL_PREFIX) -#include -#endif -@ Copyright 2007-2016 The OpenSSL Project Authors. All Rights Reserved. -@ -@ Licensed under the OpenSSL license (the "License"). You may not use -@ this file except in compliance with the License. You can obtain a copy -@ in the file LICENSE in the source distribution or at -@ https://www.openssl.org/source/license.html - - -@ ==================================================================== -@ Written by Andy Polyakov for the OpenSSL -@ project. The module is, however, dual licensed under OpenSSL and -@ CRYPTOGAMS licenses depending on where you obtain it. For further -@ details see http://www.openssl.org/~appro/cryptogams/. -@ ==================================================================== - -@ AES for ARMv4 - -@ January 2007. -@ -@ Code uses single 1K S-box and is >2 times faster than code generated -@ by gcc-3.4.1. This is thanks to unique feature of ARMv4 ISA, which -@ allows to merge logical or arithmetic operation with shift or rotate -@ in one instruction and emit combined result every cycle. The module -@ is endian-neutral. The performance is ~42 cycles/byte for 128-bit -@ key [on single-issue Xscale PXA250 core]. - -@ May 2007. -@ -@ AES_set_[en|de]crypt_key is added. - -@ July 2010. -@ -@ Rescheduling for dual-issue pipeline resulted in 12% improvement on -@ Cortex A8 core and ~25 cycles per byte processed with 128-bit key. - -@ February 2011. -@ -@ Profiler-assisted and platform-specific optimization resulted in 16% -@ improvement on Cortex A8 core and ~21.5 cycles per byte. - -#ifndef __KERNEL__ -# include -#else -# define __ARM_ARCH__ __LINUX_ARM_ARCH__ -#endif - -@ Silence ARMv8 deprecated IT instruction warnings. This file is used by both -@ ARMv7 and ARMv8 processors and does not use ARMv8 instructions. (ARMv8 AES -@ instructions are in aesv8-armx.pl.) - - -.text -#if defined(__thumb2__) && !defined(__APPLE__) -.syntax unified -.thumb -#else -.code 32 -#undef __thumb2__ -#endif - - -.align 5 -AES_Te: -.word 0xc66363a5, 0xf87c7c84, 0xee777799, 0xf67b7b8d -.word 0xfff2f20d, 0xd66b6bbd, 0xde6f6fb1, 0x91c5c554 -.word 0x60303050, 0x02010103, 0xce6767a9, 0x562b2b7d -.word 0xe7fefe19, 0xb5d7d762, 0x4dababe6, 0xec76769a -.word 0x8fcaca45, 0x1f82829d, 0x89c9c940, 0xfa7d7d87 -.word 0xeffafa15, 0xb25959eb, 0x8e4747c9, 0xfbf0f00b -.word 0x41adadec, 0xb3d4d467, 0x5fa2a2fd, 0x45afafea -.word 0x239c9cbf, 0x53a4a4f7, 0xe4727296, 0x9bc0c05b -.word 0x75b7b7c2, 0xe1fdfd1c, 0x3d9393ae, 0x4c26266a -.word 0x6c36365a, 0x7e3f3f41, 0xf5f7f702, 0x83cccc4f -.word 0x6834345c, 0x51a5a5f4, 0xd1e5e534, 0xf9f1f108 -.word 0xe2717193, 0xabd8d873, 0x62313153, 0x2a15153f -.word 0x0804040c, 0x95c7c752, 0x46232365, 0x9dc3c35e -.word 0x30181828, 0x379696a1, 0x0a05050f, 0x2f9a9ab5 -.word 0x0e070709, 0x24121236, 0x1b80809b, 0xdfe2e23d -.word 0xcdebeb26, 0x4e272769, 0x7fb2b2cd, 0xea75759f -.word 0x1209091b, 0x1d83839e, 0x582c2c74, 0x341a1a2e -.word 0x361b1b2d, 0xdc6e6eb2, 0xb45a5aee, 0x5ba0a0fb -.word 0xa45252f6, 0x763b3b4d, 0xb7d6d661, 0x7db3b3ce -.word 0x5229297b, 0xdde3e33e, 0x5e2f2f71, 0x13848497 -.word 0xa65353f5, 0xb9d1d168, 0x00000000, 0xc1eded2c -.word 0x40202060, 0xe3fcfc1f, 0x79b1b1c8, 0xb65b5bed -.word 0xd46a6abe, 0x8dcbcb46, 0x67bebed9, 0x7239394b -.word 0x944a4ade, 0x984c4cd4, 0xb05858e8, 0x85cfcf4a -.word 0xbbd0d06b, 0xc5efef2a, 0x4faaaae5, 0xedfbfb16 -.word 0x864343c5, 0x9a4d4dd7, 0x66333355, 0x11858594 -.word 0x8a4545cf, 0xe9f9f910, 0x04020206, 0xfe7f7f81 -.word 0xa05050f0, 0x783c3c44, 0x259f9fba, 0x4ba8a8e3 -.word 0xa25151f3, 0x5da3a3fe, 0x804040c0, 0x058f8f8a -.word 0x3f9292ad, 0x219d9dbc, 0x70383848, 0xf1f5f504 -.word 0x63bcbcdf, 0x77b6b6c1, 0xafdada75, 0x42212163 -.word 0x20101030, 0xe5ffff1a, 0xfdf3f30e, 0xbfd2d26d -.word 0x81cdcd4c, 0x180c0c14, 0x26131335, 0xc3ecec2f -.word 0xbe5f5fe1, 0x359797a2, 0x884444cc, 0x2e171739 -.word 0x93c4c457, 0x55a7a7f2, 0xfc7e7e82, 0x7a3d3d47 -.word 0xc86464ac, 0xba5d5de7, 0x3219192b, 0xe6737395 -.word 0xc06060a0, 0x19818198, 0x9e4f4fd1, 0xa3dcdc7f -.word 0x44222266, 0x542a2a7e, 0x3b9090ab, 0x0b888883 -.word 0x8c4646ca, 0xc7eeee29, 0x6bb8b8d3, 0x2814143c -.word 0xa7dede79, 0xbc5e5ee2, 0x160b0b1d, 0xaddbdb76 -.word 0xdbe0e03b, 0x64323256, 0x743a3a4e, 0x140a0a1e -.word 0x924949db, 0x0c06060a, 0x4824246c, 0xb85c5ce4 -.word 0x9fc2c25d, 0xbdd3d36e, 0x43acacef, 0xc46262a6 -.word 0x399191a8, 0x319595a4, 0xd3e4e437, 0xf279798b -.word 0xd5e7e732, 0x8bc8c843, 0x6e373759, 0xda6d6db7 -.word 0x018d8d8c, 0xb1d5d564, 0x9c4e4ed2, 0x49a9a9e0 -.word 0xd86c6cb4, 0xac5656fa, 0xf3f4f407, 0xcfeaea25 -.word 0xca6565af, 0xf47a7a8e, 0x47aeaee9, 0x10080818 -.word 0x6fbabad5, 0xf0787888, 0x4a25256f, 0x5c2e2e72 -.word 0x381c1c24, 0x57a6a6f1, 0x73b4b4c7, 0x97c6c651 -.word 0xcbe8e823, 0xa1dddd7c, 0xe874749c, 0x3e1f1f21 -.word 0x964b4bdd, 0x61bdbddc, 0x0d8b8b86, 0x0f8a8a85 -.word 0xe0707090, 0x7c3e3e42, 0x71b5b5c4, 0xcc6666aa -.word 0x904848d8, 0x06030305, 0xf7f6f601, 0x1c0e0e12 -.word 0xc26161a3, 0x6a35355f, 0xae5757f9, 0x69b9b9d0 -.word 0x17868691, 0x99c1c158, 0x3a1d1d27, 0x279e9eb9 -.word 0xd9e1e138, 0xebf8f813, 0x2b9898b3, 0x22111133 -.word 0xd26969bb, 0xa9d9d970, 0x078e8e89, 0x339494a7 -.word 0x2d9b9bb6, 0x3c1e1e22, 0x15878792, 0xc9e9e920 -.word 0x87cece49, 0xaa5555ff, 0x50282878, 0xa5dfdf7a -.word 0x038c8c8f, 0x59a1a1f8, 0x09898980, 0x1a0d0d17 -.word 0x65bfbfda, 0xd7e6e631, 0x844242c6, 0xd06868b8 -.word 0x824141c3, 0x299999b0, 0x5a2d2d77, 0x1e0f0f11 -.word 0x7bb0b0cb, 0xa85454fc, 0x6dbbbbd6, 0x2c16163a -@ Te4[256] -.byte 0x63, 0x7c, 0x77, 0x7b, 0xf2, 0x6b, 0x6f, 0xc5 -.byte 0x30, 0x01, 0x67, 0x2b, 0xfe, 0xd7, 0xab, 0x76 -.byte 0xca, 0x82, 0xc9, 0x7d, 0xfa, 0x59, 0x47, 0xf0 -.byte 0xad, 0xd4, 0xa2, 0xaf, 0x9c, 0xa4, 0x72, 0xc0 -.byte 0xb7, 0xfd, 0x93, 0x26, 0x36, 0x3f, 0xf7, 0xcc -.byte 0x34, 0xa5, 0xe5, 0xf1, 0x71, 0xd8, 0x31, 0x15 -.byte 0x04, 0xc7, 0x23, 0xc3, 0x18, 0x96, 0x05, 0x9a -.byte 0x07, 0x12, 0x80, 0xe2, 0xeb, 0x27, 0xb2, 0x75 -.byte 0x09, 0x83, 0x2c, 0x1a, 0x1b, 0x6e, 0x5a, 0xa0 -.byte 0x52, 0x3b, 0xd6, 0xb3, 0x29, 0xe3, 0x2f, 0x84 -.byte 0x53, 0xd1, 0x00, 0xed, 0x20, 0xfc, 0xb1, 0x5b -.byte 0x6a, 0xcb, 0xbe, 0x39, 0x4a, 0x4c, 0x58, 0xcf -.byte 0xd0, 0xef, 0xaa, 0xfb, 0x43, 0x4d, 0x33, 0x85 -.byte 0x45, 0xf9, 0x02, 0x7f, 0x50, 0x3c, 0x9f, 0xa8 -.byte 0x51, 0xa3, 0x40, 0x8f, 0x92, 0x9d, 0x38, 0xf5 -.byte 0xbc, 0xb6, 0xda, 0x21, 0x10, 0xff, 0xf3, 0xd2 -.byte 0xcd, 0x0c, 0x13, 0xec, 0x5f, 0x97, 0x44, 0x17 -.byte 0xc4, 0xa7, 0x7e, 0x3d, 0x64, 0x5d, 0x19, 0x73 -.byte 0x60, 0x81, 0x4f, 0xdc, 0x22, 0x2a, 0x90, 0x88 -.byte 0x46, 0xee, 0xb8, 0x14, 0xde, 0x5e, 0x0b, 0xdb -.byte 0xe0, 0x32, 0x3a, 0x0a, 0x49, 0x06, 0x24, 0x5c -.byte 0xc2, 0xd3, 0xac, 0x62, 0x91, 0x95, 0xe4, 0x79 -.byte 0xe7, 0xc8, 0x37, 0x6d, 0x8d, 0xd5, 0x4e, 0xa9 -.byte 0x6c, 0x56, 0xf4, 0xea, 0x65, 0x7a, 0xae, 0x08 -.byte 0xba, 0x78, 0x25, 0x2e, 0x1c, 0xa6, 0xb4, 0xc6 -.byte 0xe8, 0xdd, 0x74, 0x1f, 0x4b, 0xbd, 0x8b, 0x8a -.byte 0x70, 0x3e, 0xb5, 0x66, 0x48, 0x03, 0xf6, 0x0e -.byte 0x61, 0x35, 0x57, 0xb9, 0x86, 0xc1, 0x1d, 0x9e -.byte 0xe1, 0xf8, 0x98, 0x11, 0x69, 0xd9, 0x8e, 0x94 -.byte 0x9b, 0x1e, 0x87, 0xe9, 0xce, 0x55, 0x28, 0xdf -.byte 0x8c, 0xa1, 0x89, 0x0d, 0xbf, 0xe6, 0x42, 0x68 -.byte 0x41, 0x99, 0x2d, 0x0f, 0xb0, 0x54, 0xbb, 0x16 -@ rcon[] -.word 0x01000000, 0x02000000, 0x04000000, 0x08000000 -.word 0x10000000, 0x20000000, 0x40000000, 0x80000000 -.word 0x1B000000, 0x36000000, 0, 0, 0, 0, 0, 0 - - -@ void aes_nohw_encrypt(const unsigned char *in, unsigned char *out, -@ const AES_KEY *key) { -.globl _aes_nohw_encrypt -.private_extern _aes_nohw_encrypt -#ifdef __thumb2__ -.thumb_func _aes_nohw_encrypt -#endif -.align 5 -_aes_nohw_encrypt: -#ifndef __thumb2__ - sub r3,pc,#8 @ _aes_nohw_encrypt -#else - adr r3,. -#endif - stmdb sp!,{r1,r4-r12,lr} -#if defined(__thumb2__) || defined(__APPLE__) - adr r10,AES_Te -#else - sub r10,r3,#_aes_nohw_encrypt-AES_Te @ Te -#endif - mov r12,r0 @ inp - mov r11,r2 -#if __ARM_ARCH__<7 - ldrb r0,[r12,#3] @ load input data in endian-neutral - ldrb r4,[r12,#2] @ manner... - ldrb r5,[r12,#1] - ldrb r6,[r12,#0] - orr r0,r0,r4,lsl#8 - ldrb r1,[r12,#7] - orr r0,r0,r5,lsl#16 - ldrb r4,[r12,#6] - orr r0,r0,r6,lsl#24 - ldrb r5,[r12,#5] - ldrb r6,[r12,#4] - orr r1,r1,r4,lsl#8 - ldrb r2,[r12,#11] - orr r1,r1,r5,lsl#16 - ldrb r4,[r12,#10] - orr r1,r1,r6,lsl#24 - ldrb r5,[r12,#9] - ldrb r6,[r12,#8] - orr r2,r2,r4,lsl#8 - ldrb r3,[r12,#15] - orr r2,r2,r5,lsl#16 - ldrb r4,[r12,#14] - orr r2,r2,r6,lsl#24 - ldrb r5,[r12,#13] - ldrb r6,[r12,#12] - orr r3,r3,r4,lsl#8 - orr r3,r3,r5,lsl#16 - orr r3,r3,r6,lsl#24 -#else - ldr r0,[r12,#0] - ldr r1,[r12,#4] - ldr r2,[r12,#8] - ldr r3,[r12,#12] -#ifdef __ARMEL__ - rev r0,r0 - rev r1,r1 - rev r2,r2 - rev r3,r3 -#endif -#endif - bl _armv4_AES_encrypt - - ldr r12,[sp],#4 @ pop out -#if __ARM_ARCH__>=7 -#ifdef __ARMEL__ - rev r0,r0 - rev r1,r1 - rev r2,r2 - rev r3,r3 -#endif - str r0,[r12,#0] - str r1,[r12,#4] - str r2,[r12,#8] - str r3,[r12,#12] -#else - mov r4,r0,lsr#24 @ write output in endian-neutral - mov r5,r0,lsr#16 @ manner... - mov r6,r0,lsr#8 - strb r4,[r12,#0] - strb r5,[r12,#1] - mov r4,r1,lsr#24 - strb r6,[r12,#2] - mov r5,r1,lsr#16 - strb r0,[r12,#3] - mov r6,r1,lsr#8 - strb r4,[r12,#4] - strb r5,[r12,#5] - mov r4,r2,lsr#24 - strb r6,[r12,#6] - mov r5,r2,lsr#16 - strb r1,[r12,#7] - mov r6,r2,lsr#8 - strb r4,[r12,#8] - strb r5,[r12,#9] - mov r4,r3,lsr#24 - strb r6,[r12,#10] - mov r5,r3,lsr#16 - strb r2,[r12,#11] - mov r6,r3,lsr#8 - strb r4,[r12,#12] - strb r5,[r12,#13] - strb r6,[r12,#14] - strb r3,[r12,#15] -#endif -#if __ARM_ARCH__>=5 - ldmia sp!,{r4,r5,r6,r7,r8,r9,r10,r11,r12,pc} -#else - ldmia sp!,{r4,r5,r6,r7,r8,r9,r10,r11,r12,lr} - tst lr,#1 - moveq pc,lr @ be binary compatible with V4, yet -.word 0xe12fff1e @ interoperable with Thumb ISA:-) -#endif - - -#ifdef __thumb2__ -.thumb_func _armv4_AES_encrypt -#endif -.align 2 -_armv4_AES_encrypt: - str lr,[sp,#-4]! @ push lr - ldmia r11!,{r4,r5,r6,r7} - eor r0,r0,r4 - ldr r12,[r11,#240-16] - eor r1,r1,r5 - eor r2,r2,r6 - eor r3,r3,r7 - sub r12,r12,#1 - mov lr,#255 - - and r7,lr,r0 - and r8,lr,r0,lsr#8 - and r9,lr,r0,lsr#16 - mov r0,r0,lsr#24 -Lenc_loop: - ldr r4,[r10,r7,lsl#2] @ Te3[s0>>0] - and r7,lr,r1,lsr#16 @ i0 - ldr r5,[r10,r8,lsl#2] @ Te2[s0>>8] - and r8,lr,r1 - ldr r6,[r10,r9,lsl#2] @ Te1[s0>>16] - and r9,lr,r1,lsr#8 - ldr r0,[r10,r0,lsl#2] @ Te0[s0>>24] - mov r1,r1,lsr#24 - - ldr r7,[r10,r7,lsl#2] @ Te1[s1>>16] - ldr r8,[r10,r8,lsl#2] @ Te3[s1>>0] - ldr r9,[r10,r9,lsl#2] @ Te2[s1>>8] - eor r0,r0,r7,ror#8 - ldr r1,[r10,r1,lsl#2] @ Te0[s1>>24] - and r7,lr,r2,lsr#8 @ i0 - eor r5,r5,r8,ror#8 - and r8,lr,r2,lsr#16 @ i1 - eor r6,r6,r9,ror#8 - and r9,lr,r2 - ldr r7,[r10,r7,lsl#2] @ Te2[s2>>8] - eor r1,r1,r4,ror#24 - ldr r8,[r10,r8,lsl#2] @ Te1[s2>>16] - mov r2,r2,lsr#24 - - ldr r9,[r10,r9,lsl#2] @ Te3[s2>>0] - eor r0,r0,r7,ror#16 - ldr r2,[r10,r2,lsl#2] @ Te0[s2>>24] - and r7,lr,r3 @ i0 - eor r1,r1,r8,ror#8 - and r8,lr,r3,lsr#8 @ i1 - eor r6,r6,r9,ror#16 - and r9,lr,r3,lsr#16 @ i2 - ldr r7,[r10,r7,lsl#2] @ Te3[s3>>0] - eor r2,r2,r5,ror#16 - ldr r8,[r10,r8,lsl#2] @ Te2[s3>>8] - mov r3,r3,lsr#24 - - ldr r9,[r10,r9,lsl#2] @ Te1[s3>>16] - eor r0,r0,r7,ror#24 - ldr r7,[r11],#16 - eor r1,r1,r8,ror#16 - ldr r3,[r10,r3,lsl#2] @ Te0[s3>>24] - eor r2,r2,r9,ror#8 - ldr r4,[r11,#-12] - eor r3,r3,r6,ror#8 - - ldr r5,[r11,#-8] - eor r0,r0,r7 - ldr r6,[r11,#-4] - and r7,lr,r0 - eor r1,r1,r4 - and r8,lr,r0,lsr#8 - eor r2,r2,r5 - and r9,lr,r0,lsr#16 - eor r3,r3,r6 - mov r0,r0,lsr#24 - - subs r12,r12,#1 - bne Lenc_loop - - add r10,r10,#2 - - ldrb r4,[r10,r7,lsl#2] @ Te4[s0>>0] - and r7,lr,r1,lsr#16 @ i0 - ldrb r5,[r10,r8,lsl#2] @ Te4[s0>>8] - and r8,lr,r1 - ldrb r6,[r10,r9,lsl#2] @ Te4[s0>>16] - and r9,lr,r1,lsr#8 - ldrb r0,[r10,r0,lsl#2] @ Te4[s0>>24] - mov r1,r1,lsr#24 - - ldrb r7,[r10,r7,lsl#2] @ Te4[s1>>16] - ldrb r8,[r10,r8,lsl#2] @ Te4[s1>>0] - ldrb r9,[r10,r9,lsl#2] @ Te4[s1>>8] - eor r0,r7,r0,lsl#8 - ldrb r1,[r10,r1,lsl#2] @ Te4[s1>>24] - and r7,lr,r2,lsr#8 @ i0 - eor r5,r8,r5,lsl#8 - and r8,lr,r2,lsr#16 @ i1 - eor r6,r9,r6,lsl#8 - and r9,lr,r2 - ldrb r7,[r10,r7,lsl#2] @ Te4[s2>>8] - eor r1,r4,r1,lsl#24 - ldrb r8,[r10,r8,lsl#2] @ Te4[s2>>16] - mov r2,r2,lsr#24 - - ldrb r9,[r10,r9,lsl#2] @ Te4[s2>>0] - eor r0,r7,r0,lsl#8 - ldrb r2,[r10,r2,lsl#2] @ Te4[s2>>24] - and r7,lr,r3 @ i0 - eor r1,r1,r8,lsl#16 - and r8,lr,r3,lsr#8 @ i1 - eor r6,r9,r6,lsl#8 - and r9,lr,r3,lsr#16 @ i2 - ldrb r7,[r10,r7,lsl#2] @ Te4[s3>>0] - eor r2,r5,r2,lsl#24 - ldrb r8,[r10,r8,lsl#2] @ Te4[s3>>8] - mov r3,r3,lsr#24 - - ldrb r9,[r10,r9,lsl#2] @ Te4[s3>>16] - eor r0,r7,r0,lsl#8 - ldr r7,[r11,#0] - ldrb r3,[r10,r3,lsl#2] @ Te4[s3>>24] - eor r1,r1,r8,lsl#8 - ldr r4,[r11,#4] - eor r2,r2,r9,lsl#16 - ldr r5,[r11,#8] - eor r3,r6,r3,lsl#24 - ldr r6,[r11,#12] - - eor r0,r0,r7 - eor r1,r1,r4 - eor r2,r2,r5 - eor r3,r3,r6 - - sub r10,r10,#2 - ldr pc,[sp],#4 @ pop and return - - -.globl _aes_nohw_set_encrypt_key -.private_extern _aes_nohw_set_encrypt_key -#ifdef __thumb2__ -.thumb_func _aes_nohw_set_encrypt_key -#endif -.align 5 -_aes_nohw_set_encrypt_key: -_armv4_AES_set_encrypt_key: -#ifndef __thumb2__ - sub r3,pc,#8 @ _aes_nohw_set_encrypt_key -#else - adr r3,. -#endif - teq r0,#0 -#ifdef __thumb2__ - itt eq @ Thumb2 thing, sanity check in ARM -#endif - moveq r0,#-1 - beq Labrt - teq r2,#0 -#ifdef __thumb2__ - itt eq @ Thumb2 thing, sanity check in ARM -#endif - moveq r0,#-1 - beq Labrt - - teq r1,#128 - beq Lok - teq r1,#192 - beq Lok - teq r1,#256 -#ifdef __thumb2__ - itt ne @ Thumb2 thing, sanity check in ARM -#endif - movne r0,#-1 - bne Labrt - -Lok: stmdb sp!,{r4,r5,r6,r7,r8,r9,r10,r11,r12,lr} - mov r12,r0 @ inp - mov lr,r1 @ bits - mov r11,r2 @ key - -#if defined(__thumb2__) || defined(__APPLE__) - adr r10,AES_Te+1024 @ Te4 -#else - sub r10,r3,#_armv4_AES_set_encrypt_key-AES_Te-1024 @ Te4 -#endif - -#if __ARM_ARCH__<7 - ldrb r0,[r12,#3] @ load input data in endian-neutral - ldrb r4,[r12,#2] @ manner... - ldrb r5,[r12,#1] - ldrb r6,[r12,#0] - orr r0,r0,r4,lsl#8 - ldrb r1,[r12,#7] - orr r0,r0,r5,lsl#16 - ldrb r4,[r12,#6] - orr r0,r0,r6,lsl#24 - ldrb r5,[r12,#5] - ldrb r6,[r12,#4] - orr r1,r1,r4,lsl#8 - ldrb r2,[r12,#11] - orr r1,r1,r5,lsl#16 - ldrb r4,[r12,#10] - orr r1,r1,r6,lsl#24 - ldrb r5,[r12,#9] - ldrb r6,[r12,#8] - orr r2,r2,r4,lsl#8 - ldrb r3,[r12,#15] - orr r2,r2,r5,lsl#16 - ldrb r4,[r12,#14] - orr r2,r2,r6,lsl#24 - ldrb r5,[r12,#13] - ldrb r6,[r12,#12] - orr r3,r3,r4,lsl#8 - str r0,[r11],#16 - orr r3,r3,r5,lsl#16 - str r1,[r11,#-12] - orr r3,r3,r6,lsl#24 - str r2,[r11,#-8] - str r3,[r11,#-4] -#else - ldr r0,[r12,#0] - ldr r1,[r12,#4] - ldr r2,[r12,#8] - ldr r3,[r12,#12] -#ifdef __ARMEL__ - rev r0,r0 - rev r1,r1 - rev r2,r2 - rev r3,r3 -#endif - str r0,[r11],#16 - str r1,[r11,#-12] - str r2,[r11,#-8] - str r3,[r11,#-4] -#endif - - teq lr,#128 - bne Lnot128 - mov r12,#10 - str r12,[r11,#240-16] - add r6,r10,#256 @ rcon - mov lr,#255 - -L128_loop: - and r5,lr,r3,lsr#24 - and r7,lr,r3,lsr#16 - ldrb r5,[r10,r5] - and r8,lr,r3,lsr#8 - ldrb r7,[r10,r7] - and r9,lr,r3 - ldrb r8,[r10,r8] - orr r5,r5,r7,lsl#24 - ldrb r9,[r10,r9] - orr r5,r5,r8,lsl#16 - ldr r4,[r6],#4 @ rcon[i++] - orr r5,r5,r9,lsl#8 - eor r5,r5,r4 - eor r0,r0,r5 @ rk[4]=rk[0]^... - eor r1,r1,r0 @ rk[5]=rk[1]^rk[4] - str r0,[r11],#16 - eor r2,r2,r1 @ rk[6]=rk[2]^rk[5] - str r1,[r11,#-12] - eor r3,r3,r2 @ rk[7]=rk[3]^rk[6] - str r2,[r11,#-8] - subs r12,r12,#1 - str r3,[r11,#-4] - bne L128_loop - sub r2,r11,#176 - b Ldone - -Lnot128: -#if __ARM_ARCH__<7 - ldrb r8,[r12,#19] - ldrb r4,[r12,#18] - ldrb r5,[r12,#17] - ldrb r6,[r12,#16] - orr r8,r8,r4,lsl#8 - ldrb r9,[r12,#23] - orr r8,r8,r5,lsl#16 - ldrb r4,[r12,#22] - orr r8,r8,r6,lsl#24 - ldrb r5,[r12,#21] - ldrb r6,[r12,#20] - orr r9,r9,r4,lsl#8 - orr r9,r9,r5,lsl#16 - str r8,[r11],#8 - orr r9,r9,r6,lsl#24 - str r9,[r11,#-4] -#else - ldr r8,[r12,#16] - ldr r9,[r12,#20] -#ifdef __ARMEL__ - rev r8,r8 - rev r9,r9 -#endif - str r8,[r11],#8 - str r9,[r11,#-4] -#endif - - teq lr,#192 - bne Lnot192 - mov r12,#12 - str r12,[r11,#240-24] - add r6,r10,#256 @ rcon - mov lr,#255 - mov r12,#8 - -L192_loop: - and r5,lr,r9,lsr#24 - and r7,lr,r9,lsr#16 - ldrb r5,[r10,r5] - and r8,lr,r9,lsr#8 - ldrb r7,[r10,r7] - and r9,lr,r9 - ldrb r8,[r10,r8] - orr r5,r5,r7,lsl#24 - ldrb r9,[r10,r9] - orr r5,r5,r8,lsl#16 - ldr r4,[r6],#4 @ rcon[i++] - orr r5,r5,r9,lsl#8 - eor r9,r5,r4 - eor r0,r0,r9 @ rk[6]=rk[0]^... - eor r1,r1,r0 @ rk[7]=rk[1]^rk[6] - str r0,[r11],#24 - eor r2,r2,r1 @ rk[8]=rk[2]^rk[7] - str r1,[r11,#-20] - eor r3,r3,r2 @ rk[9]=rk[3]^rk[8] - str r2,[r11,#-16] - subs r12,r12,#1 - str r3,[r11,#-12] -#ifdef __thumb2__ - itt eq @ Thumb2 thing, sanity check in ARM -#endif - subeq r2,r11,#216 - beq Ldone - - ldr r7,[r11,#-32] - ldr r8,[r11,#-28] - eor r7,r7,r3 @ rk[10]=rk[4]^rk[9] - eor r9,r8,r7 @ rk[11]=rk[5]^rk[10] - str r7,[r11,#-8] - str r9,[r11,#-4] - b L192_loop - -Lnot192: -#if __ARM_ARCH__<7 - ldrb r8,[r12,#27] - ldrb r4,[r12,#26] - ldrb r5,[r12,#25] - ldrb r6,[r12,#24] - orr r8,r8,r4,lsl#8 - ldrb r9,[r12,#31] - orr r8,r8,r5,lsl#16 - ldrb r4,[r12,#30] - orr r8,r8,r6,lsl#24 - ldrb r5,[r12,#29] - ldrb r6,[r12,#28] - orr r9,r9,r4,lsl#8 - orr r9,r9,r5,lsl#16 - str r8,[r11],#8 - orr r9,r9,r6,lsl#24 - str r9,[r11,#-4] -#else - ldr r8,[r12,#24] - ldr r9,[r12,#28] -#ifdef __ARMEL__ - rev r8,r8 - rev r9,r9 -#endif - str r8,[r11],#8 - str r9,[r11,#-4] -#endif - - mov r12,#14 - str r12,[r11,#240-32] - add r6,r10,#256 @ rcon - mov lr,#255 - mov r12,#7 - -L256_loop: - and r5,lr,r9,lsr#24 - and r7,lr,r9,lsr#16 - ldrb r5,[r10,r5] - and r8,lr,r9,lsr#8 - ldrb r7,[r10,r7] - and r9,lr,r9 - ldrb r8,[r10,r8] - orr r5,r5,r7,lsl#24 - ldrb r9,[r10,r9] - orr r5,r5,r8,lsl#16 - ldr r4,[r6],#4 @ rcon[i++] - orr r5,r5,r9,lsl#8 - eor r9,r5,r4 - eor r0,r0,r9 @ rk[8]=rk[0]^... - eor r1,r1,r0 @ rk[9]=rk[1]^rk[8] - str r0,[r11],#32 - eor r2,r2,r1 @ rk[10]=rk[2]^rk[9] - str r1,[r11,#-28] - eor r3,r3,r2 @ rk[11]=rk[3]^rk[10] - str r2,[r11,#-24] - subs r12,r12,#1 - str r3,[r11,#-20] -#ifdef __thumb2__ - itt eq @ Thumb2 thing, sanity check in ARM -#endif - subeq r2,r11,#256 - beq Ldone - - and r5,lr,r3 - and r7,lr,r3,lsr#8 - ldrb r5,[r10,r5] - and r8,lr,r3,lsr#16 - ldrb r7,[r10,r7] - and r9,lr,r3,lsr#24 - ldrb r8,[r10,r8] - orr r5,r5,r7,lsl#8 - ldrb r9,[r10,r9] - orr r5,r5,r8,lsl#16 - ldr r4,[r11,#-48] - orr r5,r5,r9,lsl#24 - - ldr r7,[r11,#-44] - ldr r8,[r11,#-40] - eor r4,r4,r5 @ rk[12]=rk[4]^... - ldr r9,[r11,#-36] - eor r7,r7,r4 @ rk[13]=rk[5]^rk[12] - str r4,[r11,#-16] - eor r8,r8,r7 @ rk[14]=rk[6]^rk[13] - str r7,[r11,#-12] - eor r9,r9,r8 @ rk[15]=rk[7]^rk[14] - str r8,[r11,#-8] - str r9,[r11,#-4] - b L256_loop - -.align 2 -Ldone: mov r0,#0 - ldmia sp!,{r4,r5,r6,r7,r8,r9,r10,r11,r12,lr} -Labrt: -#if __ARM_ARCH__>=5 - bx lr @ .word 0xe12fff1e -#else - tst lr,#1 - moveq pc,lr @ be binary compatible with V4, yet -.word 0xe12fff1e @ interoperable with Thumb ISA:-) -#endif - - -.globl _aes_nohw_set_decrypt_key -.private_extern _aes_nohw_set_decrypt_key -#ifdef __thumb2__ -.thumb_func _aes_nohw_set_decrypt_key -#endif -.align 5 -_aes_nohw_set_decrypt_key: - str lr,[sp,#-4]! @ push lr - bl _armv4_AES_set_encrypt_key - teq r0,#0 - ldr lr,[sp],#4 @ pop lr - bne Labrt - - mov r0,r2 @ _aes_nohw_set_encrypt_key preserves r2, - mov r1,r2 @ which is AES_KEY *key - b _armv4_AES_set_enc2dec_key - - -@ void AES_set_enc2dec_key(const AES_KEY *inp,AES_KEY *out) -.globl _AES_set_enc2dec_key -.private_extern _AES_set_enc2dec_key -#ifdef __thumb2__ -.thumb_func _AES_set_enc2dec_key -#endif -.align 5 -_AES_set_enc2dec_key: -_armv4_AES_set_enc2dec_key: - stmdb sp!,{r4,r5,r6,r7,r8,r9,r10,r11,r12,lr} - - ldr r12,[r0,#240] - mov r7,r0 @ input - add r8,r0,r12,lsl#4 - mov r11,r1 @ output - add r10,r1,r12,lsl#4 - str r12,[r1,#240] - -Linv: ldr r0,[r7],#16 - ldr r1,[r7,#-12] - ldr r2,[r7,#-8] - ldr r3,[r7,#-4] - ldr r4,[r8],#-16 - ldr r5,[r8,#16+4] - ldr r6,[r8,#16+8] - ldr r9,[r8,#16+12] - str r0,[r10],#-16 - str r1,[r10,#16+4] - str r2,[r10,#16+8] - str r3,[r10,#16+12] - str r4,[r11],#16 - str r5,[r11,#-12] - str r6,[r11,#-8] - str r9,[r11,#-4] - teq r7,r8 - bne Linv - - ldr r0,[r7] - ldr r1,[r7,#4] - ldr r2,[r7,#8] - ldr r3,[r7,#12] - str r0,[r11] - str r1,[r11,#4] - str r2,[r11,#8] - str r3,[r11,#12] - sub r11,r11,r12,lsl#3 - ldr r0,[r11,#16]! @ prefetch tp1 - mov r7,#0x80 - mov r8,#0x1b - orr r7,r7,#0x8000 - orr r8,r8,#0x1b00 - orr r7,r7,r7,lsl#16 - orr r8,r8,r8,lsl#16 - sub r12,r12,#1 - mvn r9,r7 - mov r12,r12,lsl#2 @ (rounds-1)*4 - -Lmix: and r4,r0,r7 - and r1,r0,r9 - sub r4,r4,r4,lsr#7 - and r4,r4,r8 - eor r1,r4,r1,lsl#1 @ tp2 - - and r4,r1,r7 - and r2,r1,r9 - sub r4,r4,r4,lsr#7 - and r4,r4,r8 - eor r2,r4,r2,lsl#1 @ tp4 - - and r4,r2,r7 - and r3,r2,r9 - sub r4,r4,r4,lsr#7 - and r4,r4,r8 - eor r3,r4,r3,lsl#1 @ tp8 - - eor r4,r1,r2 - eor r5,r0,r3 @ tp9 - eor r4,r4,r3 @ tpe - eor r4,r4,r1,ror#24 - eor r4,r4,r5,ror#24 @ ^= ROTATE(tpb=tp9^tp2,8) - eor r4,r4,r2,ror#16 - eor r4,r4,r5,ror#16 @ ^= ROTATE(tpd=tp9^tp4,16) - eor r4,r4,r5,ror#8 @ ^= ROTATE(tp9,24) - - ldr r0,[r11,#4] @ prefetch tp1 - str r4,[r11],#4 - subs r12,r12,#1 - bne Lmix - - mov r0,#0 -#if __ARM_ARCH__>=5 - ldmia sp!,{r4,r5,r6,r7,r8,r9,r10,r11,r12,pc} -#else - ldmia sp!,{r4,r5,r6,r7,r8,r9,r10,r11,r12,lr} - tst lr,#1 - moveq pc,lr @ be binary compatible with V4, yet -.word 0xe12fff1e @ interoperable with Thumb ISA:-) -#endif - - - -.align 5 -AES_Td: -.word 0x51f4a750, 0x7e416553, 0x1a17a4c3, 0x3a275e96 -.word 0x3bab6bcb, 0x1f9d45f1, 0xacfa58ab, 0x4be30393 -.word 0x2030fa55, 0xad766df6, 0x88cc7691, 0xf5024c25 -.word 0x4fe5d7fc, 0xc52acbd7, 0x26354480, 0xb562a38f -.word 0xdeb15a49, 0x25ba1b67, 0x45ea0e98, 0x5dfec0e1 -.word 0xc32f7502, 0x814cf012, 0x8d4697a3, 0x6bd3f9c6 -.word 0x038f5fe7, 0x15929c95, 0xbf6d7aeb, 0x955259da -.word 0xd4be832d, 0x587421d3, 0x49e06929, 0x8ec9c844 -.word 0x75c2896a, 0xf48e7978, 0x99583e6b, 0x27b971dd -.word 0xbee14fb6, 0xf088ad17, 0xc920ac66, 0x7dce3ab4 -.word 0x63df4a18, 0xe51a3182, 0x97513360, 0x62537f45 -.word 0xb16477e0, 0xbb6bae84, 0xfe81a01c, 0xf9082b94 -.word 0x70486858, 0x8f45fd19, 0x94de6c87, 0x527bf8b7 -.word 0xab73d323, 0x724b02e2, 0xe31f8f57, 0x6655ab2a -.word 0xb2eb2807, 0x2fb5c203, 0x86c57b9a, 0xd33708a5 -.word 0x302887f2, 0x23bfa5b2, 0x02036aba, 0xed16825c -.word 0x8acf1c2b, 0xa779b492, 0xf307f2f0, 0x4e69e2a1 -.word 0x65daf4cd, 0x0605bed5, 0xd134621f, 0xc4a6fe8a -.word 0x342e539d, 0xa2f355a0, 0x058ae132, 0xa4f6eb75 -.word 0x0b83ec39, 0x4060efaa, 0x5e719f06, 0xbd6e1051 -.word 0x3e218af9, 0x96dd063d, 0xdd3e05ae, 0x4de6bd46 -.word 0x91548db5, 0x71c45d05, 0x0406d46f, 0x605015ff -.word 0x1998fb24, 0xd6bde997, 0x894043cc, 0x67d99e77 -.word 0xb0e842bd, 0x07898b88, 0xe7195b38, 0x79c8eedb -.word 0xa17c0a47, 0x7c420fe9, 0xf8841ec9, 0x00000000 -.word 0x09808683, 0x322bed48, 0x1e1170ac, 0x6c5a724e -.word 0xfd0efffb, 0x0f853856, 0x3daed51e, 0x362d3927 -.word 0x0a0fd964, 0x685ca621, 0x9b5b54d1, 0x24362e3a -.word 0x0c0a67b1, 0x9357e70f, 0xb4ee96d2, 0x1b9b919e -.word 0x80c0c54f, 0x61dc20a2, 0x5a774b69, 0x1c121a16 -.word 0xe293ba0a, 0xc0a02ae5, 0x3c22e043, 0x121b171d -.word 0x0e090d0b, 0xf28bc7ad, 0x2db6a8b9, 0x141ea9c8 -.word 0x57f11985, 0xaf75074c, 0xee99ddbb, 0xa37f60fd -.word 0xf701269f, 0x5c72f5bc, 0x44663bc5, 0x5bfb7e34 -.word 0x8b432976, 0xcb23c6dc, 0xb6edfc68, 0xb8e4f163 -.word 0xd731dcca, 0x42638510, 0x13972240, 0x84c61120 -.word 0x854a247d, 0xd2bb3df8, 0xaef93211, 0xc729a16d -.word 0x1d9e2f4b, 0xdcb230f3, 0x0d8652ec, 0x77c1e3d0 -.word 0x2bb3166c, 0xa970b999, 0x119448fa, 0x47e96422 -.word 0xa8fc8cc4, 0xa0f03f1a, 0x567d2cd8, 0x223390ef -.word 0x87494ec7, 0xd938d1c1, 0x8ccaa2fe, 0x98d40b36 -.word 0xa6f581cf, 0xa57ade28, 0xdab78e26, 0x3fadbfa4 -.word 0x2c3a9de4, 0x5078920d, 0x6a5fcc9b, 0x547e4662 -.word 0xf68d13c2, 0x90d8b8e8, 0x2e39f75e, 0x82c3aff5 -.word 0x9f5d80be, 0x69d0937c, 0x6fd52da9, 0xcf2512b3 -.word 0xc8ac993b, 0x10187da7, 0xe89c636e, 0xdb3bbb7b -.word 0xcd267809, 0x6e5918f4, 0xec9ab701, 0x834f9aa8 -.word 0xe6956e65, 0xaaffe67e, 0x21bccf08, 0xef15e8e6 -.word 0xbae79bd9, 0x4a6f36ce, 0xea9f09d4, 0x29b07cd6 -.word 0x31a4b2af, 0x2a3f2331, 0xc6a59430, 0x35a266c0 -.word 0x744ebc37, 0xfc82caa6, 0xe090d0b0, 0x33a7d815 -.word 0xf104984a, 0x41ecdaf7, 0x7fcd500e, 0x1791f62f -.word 0x764dd68d, 0x43efb04d, 0xccaa4d54, 0xe49604df -.word 0x9ed1b5e3, 0x4c6a881b, 0xc12c1fb8, 0x4665517f -.word 0x9d5eea04, 0x018c355d, 0xfa877473, 0xfb0b412e -.word 0xb3671d5a, 0x92dbd252, 0xe9105633, 0x6dd64713 -.word 0x9ad7618c, 0x37a10c7a, 0x59f8148e, 0xeb133c89 -.word 0xcea927ee, 0xb761c935, 0xe11ce5ed, 0x7a47b13c -.word 0x9cd2df59, 0x55f2733f, 0x1814ce79, 0x73c737bf -.word 0x53f7cdea, 0x5ffdaa5b, 0xdf3d6f14, 0x7844db86 -.word 0xcaaff381, 0xb968c43e, 0x3824342c, 0xc2a3405f -.word 0x161dc372, 0xbce2250c, 0x283c498b, 0xff0d9541 -.word 0x39a80171, 0x080cb3de, 0xd8b4e49c, 0x6456c190 -.word 0x7bcb8461, 0xd532b670, 0x486c5c74, 0xd0b85742 -@ Td4[256] -.byte 0x52, 0x09, 0x6a, 0xd5, 0x30, 0x36, 0xa5, 0x38 -.byte 0xbf, 0x40, 0xa3, 0x9e, 0x81, 0xf3, 0xd7, 0xfb -.byte 0x7c, 0xe3, 0x39, 0x82, 0x9b, 0x2f, 0xff, 0x87 -.byte 0x34, 0x8e, 0x43, 0x44, 0xc4, 0xde, 0xe9, 0xcb -.byte 0x54, 0x7b, 0x94, 0x32, 0xa6, 0xc2, 0x23, 0x3d -.byte 0xee, 0x4c, 0x95, 0x0b, 0x42, 0xfa, 0xc3, 0x4e -.byte 0x08, 0x2e, 0xa1, 0x66, 0x28, 0xd9, 0x24, 0xb2 -.byte 0x76, 0x5b, 0xa2, 0x49, 0x6d, 0x8b, 0xd1, 0x25 -.byte 0x72, 0xf8, 0xf6, 0x64, 0x86, 0x68, 0x98, 0x16 -.byte 0xd4, 0xa4, 0x5c, 0xcc, 0x5d, 0x65, 0xb6, 0x92 -.byte 0x6c, 0x70, 0x48, 0x50, 0xfd, 0xed, 0xb9, 0xda -.byte 0x5e, 0x15, 0x46, 0x57, 0xa7, 0x8d, 0x9d, 0x84 -.byte 0x90, 0xd8, 0xab, 0x00, 0x8c, 0xbc, 0xd3, 0x0a -.byte 0xf7, 0xe4, 0x58, 0x05, 0xb8, 0xb3, 0x45, 0x06 -.byte 0xd0, 0x2c, 0x1e, 0x8f, 0xca, 0x3f, 0x0f, 0x02 -.byte 0xc1, 0xaf, 0xbd, 0x03, 0x01, 0x13, 0x8a, 0x6b -.byte 0x3a, 0x91, 0x11, 0x41, 0x4f, 0x67, 0xdc, 0xea -.byte 0x97, 0xf2, 0xcf, 0xce, 0xf0, 0xb4, 0xe6, 0x73 -.byte 0x96, 0xac, 0x74, 0x22, 0xe7, 0xad, 0x35, 0x85 -.byte 0xe2, 0xf9, 0x37, 0xe8, 0x1c, 0x75, 0xdf, 0x6e -.byte 0x47, 0xf1, 0x1a, 0x71, 0x1d, 0x29, 0xc5, 0x89 -.byte 0x6f, 0xb7, 0x62, 0x0e, 0xaa, 0x18, 0xbe, 0x1b -.byte 0xfc, 0x56, 0x3e, 0x4b, 0xc6, 0xd2, 0x79, 0x20 -.byte 0x9a, 0xdb, 0xc0, 0xfe, 0x78, 0xcd, 0x5a, 0xf4 -.byte 0x1f, 0xdd, 0xa8, 0x33, 0x88, 0x07, 0xc7, 0x31 -.byte 0xb1, 0x12, 0x10, 0x59, 0x27, 0x80, 0xec, 0x5f -.byte 0x60, 0x51, 0x7f, 0xa9, 0x19, 0xb5, 0x4a, 0x0d -.byte 0x2d, 0xe5, 0x7a, 0x9f, 0x93, 0xc9, 0x9c, 0xef -.byte 0xa0, 0xe0, 0x3b, 0x4d, 0xae, 0x2a, 0xf5, 0xb0 -.byte 0xc8, 0xeb, 0xbb, 0x3c, 0x83, 0x53, 0x99, 0x61 -.byte 0x17, 0x2b, 0x04, 0x7e, 0xba, 0x77, 0xd6, 0x26 -.byte 0xe1, 0x69, 0x14, 0x63, 0x55, 0x21, 0x0c, 0x7d - - -@ void aes_nohw_decrypt(const unsigned char *in, unsigned char *out, -@ const AES_KEY *key) { -.globl _aes_nohw_decrypt -.private_extern _aes_nohw_decrypt -#ifdef __thumb2__ -.thumb_func _aes_nohw_decrypt -#endif -.align 5 -_aes_nohw_decrypt: -#ifndef __thumb2__ - sub r3,pc,#8 @ _aes_nohw_decrypt -#else - adr r3,. -#endif - stmdb sp!,{r1,r4-r12,lr} -#if defined(__thumb2__) || defined(__APPLE__) - adr r10,AES_Td -#else - sub r10,r3,#_aes_nohw_decrypt-AES_Td @ Td -#endif - mov r12,r0 @ inp - mov r11,r2 -#if __ARM_ARCH__<7 - ldrb r0,[r12,#3] @ load input data in endian-neutral - ldrb r4,[r12,#2] @ manner... - ldrb r5,[r12,#1] - ldrb r6,[r12,#0] - orr r0,r0,r4,lsl#8 - ldrb r1,[r12,#7] - orr r0,r0,r5,lsl#16 - ldrb r4,[r12,#6] - orr r0,r0,r6,lsl#24 - ldrb r5,[r12,#5] - ldrb r6,[r12,#4] - orr r1,r1,r4,lsl#8 - ldrb r2,[r12,#11] - orr r1,r1,r5,lsl#16 - ldrb r4,[r12,#10] - orr r1,r1,r6,lsl#24 - ldrb r5,[r12,#9] - ldrb r6,[r12,#8] - orr r2,r2,r4,lsl#8 - ldrb r3,[r12,#15] - orr r2,r2,r5,lsl#16 - ldrb r4,[r12,#14] - orr r2,r2,r6,lsl#24 - ldrb r5,[r12,#13] - ldrb r6,[r12,#12] - orr r3,r3,r4,lsl#8 - orr r3,r3,r5,lsl#16 - orr r3,r3,r6,lsl#24 -#else - ldr r0,[r12,#0] - ldr r1,[r12,#4] - ldr r2,[r12,#8] - ldr r3,[r12,#12] -#ifdef __ARMEL__ - rev r0,r0 - rev r1,r1 - rev r2,r2 - rev r3,r3 -#endif -#endif - bl _armv4_AES_decrypt - - ldr r12,[sp],#4 @ pop out -#if __ARM_ARCH__>=7 -#ifdef __ARMEL__ - rev r0,r0 - rev r1,r1 - rev r2,r2 - rev r3,r3 -#endif - str r0,[r12,#0] - str r1,[r12,#4] - str r2,[r12,#8] - str r3,[r12,#12] -#else - mov r4,r0,lsr#24 @ write output in endian-neutral - mov r5,r0,lsr#16 @ manner... - mov r6,r0,lsr#8 - strb r4,[r12,#0] - strb r5,[r12,#1] - mov r4,r1,lsr#24 - strb r6,[r12,#2] - mov r5,r1,lsr#16 - strb r0,[r12,#3] - mov r6,r1,lsr#8 - strb r4,[r12,#4] - strb r5,[r12,#5] - mov r4,r2,lsr#24 - strb r6,[r12,#6] - mov r5,r2,lsr#16 - strb r1,[r12,#7] - mov r6,r2,lsr#8 - strb r4,[r12,#8] - strb r5,[r12,#9] - mov r4,r3,lsr#24 - strb r6,[r12,#10] - mov r5,r3,lsr#16 - strb r2,[r12,#11] - mov r6,r3,lsr#8 - strb r4,[r12,#12] - strb r5,[r12,#13] - strb r6,[r12,#14] - strb r3,[r12,#15] -#endif -#if __ARM_ARCH__>=5 - ldmia sp!,{r4,r5,r6,r7,r8,r9,r10,r11,r12,pc} -#else - ldmia sp!,{r4,r5,r6,r7,r8,r9,r10,r11,r12,lr} - tst lr,#1 - moveq pc,lr @ be binary compatible with V4, yet -.word 0xe12fff1e @ interoperable with Thumb ISA:-) -#endif - - -#ifdef __thumb2__ -.thumb_func _armv4_AES_decrypt -#endif -.align 2 -_armv4_AES_decrypt: - str lr,[sp,#-4]! @ push lr - ldmia r11!,{r4,r5,r6,r7} - eor r0,r0,r4 - ldr r12,[r11,#240-16] - eor r1,r1,r5 - eor r2,r2,r6 - eor r3,r3,r7 - sub r12,r12,#1 - mov lr,#255 - - and r7,lr,r0,lsr#16 - and r8,lr,r0,lsr#8 - and r9,lr,r0 - mov r0,r0,lsr#24 -Ldec_loop: - ldr r4,[r10,r7,lsl#2] @ Td1[s0>>16] - and r7,lr,r1 @ i0 - ldr r5,[r10,r8,lsl#2] @ Td2[s0>>8] - and r8,lr,r1,lsr#16 - ldr r6,[r10,r9,lsl#2] @ Td3[s0>>0] - and r9,lr,r1,lsr#8 - ldr r0,[r10,r0,lsl#2] @ Td0[s0>>24] - mov r1,r1,lsr#24 - - ldr r7,[r10,r7,lsl#2] @ Td3[s1>>0] - ldr r8,[r10,r8,lsl#2] @ Td1[s1>>16] - ldr r9,[r10,r9,lsl#2] @ Td2[s1>>8] - eor r0,r0,r7,ror#24 - ldr r1,[r10,r1,lsl#2] @ Td0[s1>>24] - and r7,lr,r2,lsr#8 @ i0 - eor r5,r8,r5,ror#8 - and r8,lr,r2 @ i1 - eor r6,r9,r6,ror#8 - and r9,lr,r2,lsr#16 - ldr r7,[r10,r7,lsl#2] @ Td2[s2>>8] - eor r1,r1,r4,ror#8 - ldr r8,[r10,r8,lsl#2] @ Td3[s2>>0] - mov r2,r2,lsr#24 - - ldr r9,[r10,r9,lsl#2] @ Td1[s2>>16] - eor r0,r0,r7,ror#16 - ldr r2,[r10,r2,lsl#2] @ Td0[s2>>24] - and r7,lr,r3,lsr#16 @ i0 - eor r1,r1,r8,ror#24 - and r8,lr,r3,lsr#8 @ i1 - eor r6,r9,r6,ror#8 - and r9,lr,r3 @ i2 - ldr r7,[r10,r7,lsl#2] @ Td1[s3>>16] - eor r2,r2,r5,ror#8 - ldr r8,[r10,r8,lsl#2] @ Td2[s3>>8] - mov r3,r3,lsr#24 - - ldr r9,[r10,r9,lsl#2] @ Td3[s3>>0] - eor r0,r0,r7,ror#8 - ldr r7,[r11],#16 - eor r1,r1,r8,ror#16 - ldr r3,[r10,r3,lsl#2] @ Td0[s3>>24] - eor r2,r2,r9,ror#24 - - ldr r4,[r11,#-12] - eor r0,r0,r7 - ldr r5,[r11,#-8] - eor r3,r3,r6,ror#8 - ldr r6,[r11,#-4] - and r7,lr,r0,lsr#16 - eor r1,r1,r4 - and r8,lr,r0,lsr#8 - eor r2,r2,r5 - and r9,lr,r0 - eor r3,r3,r6 - mov r0,r0,lsr#24 - - subs r12,r12,#1 - bne Ldec_loop - - add r10,r10,#1024 - - ldr r5,[r10,#0] @ prefetch Td4 - ldr r6,[r10,#32] - ldr r4,[r10,#64] - ldr r5,[r10,#96] - ldr r6,[r10,#128] - ldr r4,[r10,#160] - ldr r5,[r10,#192] - ldr r6,[r10,#224] - - ldrb r0,[r10,r0] @ Td4[s0>>24] - ldrb r4,[r10,r7] @ Td4[s0>>16] - and r7,lr,r1 @ i0 - ldrb r5,[r10,r8] @ Td4[s0>>8] - and r8,lr,r1,lsr#16 - ldrb r6,[r10,r9] @ Td4[s0>>0] - and r9,lr,r1,lsr#8 - - add r1,r10,r1,lsr#24 - ldrb r7,[r10,r7] @ Td4[s1>>0] - ldrb r1,[r1] @ Td4[s1>>24] - ldrb r8,[r10,r8] @ Td4[s1>>16] - eor r0,r7,r0,lsl#24 - ldrb r9,[r10,r9] @ Td4[s1>>8] - eor r1,r4,r1,lsl#8 - and r7,lr,r2,lsr#8 @ i0 - eor r5,r5,r8,lsl#8 - and r8,lr,r2 @ i1 - ldrb r7,[r10,r7] @ Td4[s2>>8] - eor r6,r6,r9,lsl#8 - ldrb r8,[r10,r8] @ Td4[s2>>0] - and r9,lr,r2,lsr#16 - - add r2,r10,r2,lsr#24 - ldrb r2,[r2] @ Td4[s2>>24] - eor r0,r0,r7,lsl#8 - ldrb r9,[r10,r9] @ Td4[s2>>16] - eor r1,r8,r1,lsl#16 - and r7,lr,r3,lsr#16 @ i0 - eor r2,r5,r2,lsl#16 - and r8,lr,r3,lsr#8 @ i1 - ldrb r7,[r10,r7] @ Td4[s3>>16] - eor r6,r6,r9,lsl#16 - ldrb r8,[r10,r8] @ Td4[s3>>8] - and r9,lr,r3 @ i2 - - add r3,r10,r3,lsr#24 - ldrb r9,[r10,r9] @ Td4[s3>>0] - ldrb r3,[r3] @ Td4[s3>>24] - eor r0,r0,r7,lsl#16 - ldr r7,[r11,#0] - eor r1,r1,r8,lsl#8 - ldr r4,[r11,#4] - eor r2,r9,r2,lsl#8 - ldr r5,[r11,#8] - eor r3,r6,r3,lsl#24 - ldr r6,[r11,#12] - - eor r0,r0,r7 - eor r1,r1,r4 - eor r2,r2,r5 - eor r3,r3,r6 - - sub r10,r10,#1024 - ldr pc,[sp],#4 @ pop and return - -.byte 65,69,83,32,102,111,114,32,65,82,77,118,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 -.align 2 -.align 2 -#endif // !OPENSSL_NO_ASM diff --git a/contrib/boringssl-cmake/ios-arm/crypto/fipsmodule/ghash-armv4.S b/contrib/boringssl-cmake/ios-arm/crypto/fipsmodule/ghash-armv4.S index fccd57d30e8..36f4ccebdfe 100644 --- a/contrib/boringssl-cmake/ios-arm/crypto/fipsmodule/ghash-armv4.S +++ b/contrib/boringssl-cmake/ios-arm/crypto/fipsmodule/ghash-armv4.S @@ -30,348 +30,6 @@ #else .code 32 #endif - - -.align 5 -rem_4bit: -.short 0x0000,0x1C20,0x3840,0x2460 -.short 0x7080,0x6CA0,0x48C0,0x54E0 -.short 0xE100,0xFD20,0xD940,0xC560 -.short 0x9180,0x8DA0,0xA9C0,0xB5E0 - - -#ifdef __thumb2__ -.thumb_func rem_4bit_get -#endif -rem_4bit_get: -#if defined(__thumb2__) - adr r2,rem_4bit -#else - sub r2,pc,#8+32 @ &rem_4bit -#endif - b Lrem_4bit_got - nop - nop - - -.globl _gcm_ghash_4bit -.private_extern _gcm_ghash_4bit -#ifdef __thumb2__ -.thumb_func _gcm_ghash_4bit -#endif -.align 4 -_gcm_ghash_4bit: -#if defined(__thumb2__) - adr r12,rem_4bit -#else - sub r12,pc,#8+48 @ &rem_4bit -#endif - add r3,r2,r3 @ r3 to point at the end - stmdb sp!,{r3,r4,r5,r6,r7,r8,r9,r10,r11,lr} @ save r3/end too - - ldmia r12,{r4,r5,r6,r7,r8,r9,r10,r11} @ copy rem_4bit ... - stmdb sp!,{r4,r5,r6,r7,r8,r9,r10,r11} @ ... to stack - - ldrb r12,[r2,#15] - ldrb r14,[r0,#15] -Louter: - eor r12,r12,r14 - and r14,r12,#0xf0 - and r12,r12,#0x0f - mov r3,#14 - - add r7,r1,r12,lsl#4 - ldmia r7,{r4,r5,r6,r7} @ load Htbl[nlo] - add r11,r1,r14 - ldrb r12,[r2,#14] - - and r14,r4,#0xf @ rem - ldmia r11,{r8,r9,r10,r11} @ load Htbl[nhi] - add r14,r14,r14 - eor r4,r8,r4,lsr#4 - ldrh r8,[sp,r14] @ rem_4bit[rem] - eor r4,r4,r5,lsl#28 - ldrb r14,[r0,#14] - eor r5,r9,r5,lsr#4 - eor r5,r5,r6,lsl#28 - eor r6,r10,r6,lsr#4 - eor r6,r6,r7,lsl#28 - eor r7,r11,r7,lsr#4 - eor r12,r12,r14 - and r14,r12,#0xf0 - and r12,r12,#0x0f - eor r7,r7,r8,lsl#16 - -Linner: - add r11,r1,r12,lsl#4 - and r12,r4,#0xf @ rem - subs r3,r3,#1 - add r12,r12,r12 - ldmia r11,{r8,r9,r10,r11} @ load Htbl[nlo] - eor r4,r8,r4,lsr#4 - eor r4,r4,r5,lsl#28 - eor r5,r9,r5,lsr#4 - eor r5,r5,r6,lsl#28 - ldrh r8,[sp,r12] @ rem_4bit[rem] - eor r6,r10,r6,lsr#4 -#ifdef __thumb2__ - it pl -#endif - ldrplb r12,[r2,r3] - eor r6,r6,r7,lsl#28 - eor r7,r11,r7,lsr#4 - - add r11,r1,r14 - and r14,r4,#0xf @ rem - eor r7,r7,r8,lsl#16 @ ^= rem_4bit[rem] - add r14,r14,r14 - ldmia r11,{r8,r9,r10,r11} @ load Htbl[nhi] - eor r4,r8,r4,lsr#4 -#ifdef __thumb2__ - it pl -#endif - ldrplb r8,[r0,r3] - eor r4,r4,r5,lsl#28 - eor r5,r9,r5,lsr#4 - ldrh r9,[sp,r14] - eor r5,r5,r6,lsl#28 - eor r6,r10,r6,lsr#4 - eor r6,r6,r7,lsl#28 -#ifdef __thumb2__ - it pl -#endif - eorpl r12,r12,r8 - eor r7,r11,r7,lsr#4 -#ifdef __thumb2__ - itt pl -#endif - andpl r14,r12,#0xf0 - andpl r12,r12,#0x0f - eor r7,r7,r9,lsl#16 @ ^= rem_4bit[rem] - bpl Linner - - ldr r3,[sp,#32] @ re-load r3/end - add r2,r2,#16 - mov r14,r4 -#if __ARM_ARCH__>=7 && defined(__ARMEL__) - rev r4,r4 - str r4,[r0,#12] -#elif defined(__ARMEB__) - str r4,[r0,#12] -#else - mov r9,r4,lsr#8 - strb r4,[r0,#12+3] - mov r10,r4,lsr#16 - strb r9,[r0,#12+2] - mov r11,r4,lsr#24 - strb r10,[r0,#12+1] - strb r11,[r0,#12] -#endif - cmp r2,r3 -#if __ARM_ARCH__>=7 && defined(__ARMEL__) - rev r5,r5 - str r5,[r0,#8] -#elif defined(__ARMEB__) - str r5,[r0,#8] -#else - mov r9,r5,lsr#8 - strb r5,[r0,#8+3] - mov r10,r5,lsr#16 - strb r9,[r0,#8+2] - mov r11,r5,lsr#24 - strb r10,[r0,#8+1] - strb r11,[r0,#8] -#endif - -#ifdef __thumb2__ - it ne -#endif - ldrneb r12,[r2,#15] -#if __ARM_ARCH__>=7 && defined(__ARMEL__) - rev r6,r6 - str r6,[r0,#4] -#elif defined(__ARMEB__) - str r6,[r0,#4] -#else - mov r9,r6,lsr#8 - strb r6,[r0,#4+3] - mov r10,r6,lsr#16 - strb r9,[r0,#4+2] - mov r11,r6,lsr#24 - strb r10,[r0,#4+1] - strb r11,[r0,#4] -#endif - -#if __ARM_ARCH__>=7 && defined(__ARMEL__) - rev r7,r7 - str r7,[r0,#0] -#elif defined(__ARMEB__) - str r7,[r0,#0] -#else - mov r9,r7,lsr#8 - strb r7,[r0,#0+3] - mov r10,r7,lsr#16 - strb r9,[r0,#0+2] - mov r11,r7,lsr#24 - strb r10,[r0,#0+1] - strb r11,[r0,#0] -#endif - - bne Louter - - add sp,sp,#36 -#if __ARM_ARCH__>=5 - ldmia sp!,{r4,r5,r6,r7,r8,r9,r10,r11,pc} -#else - ldmia sp!,{r4,r5,r6,r7,r8,r9,r10,r11,lr} - tst lr,#1 - moveq pc,lr @ be binary compatible with V4, yet -.word 0xe12fff1e @ interoperable with Thumb ISA:-) -#endif - - -.globl _gcm_gmult_4bit -.private_extern _gcm_gmult_4bit -#ifdef __thumb2__ -.thumb_func _gcm_gmult_4bit -#endif -_gcm_gmult_4bit: - stmdb sp!,{r4,r5,r6,r7,r8,r9,r10,r11,lr} - ldrb r12,[r0,#15] - b rem_4bit_get -Lrem_4bit_got: - and r14,r12,#0xf0 - and r12,r12,#0x0f - mov r3,#14 - - add r7,r1,r12,lsl#4 - ldmia r7,{r4,r5,r6,r7} @ load Htbl[nlo] - ldrb r12,[r0,#14] - - add r11,r1,r14 - and r14,r4,#0xf @ rem - ldmia r11,{r8,r9,r10,r11} @ load Htbl[nhi] - add r14,r14,r14 - eor r4,r8,r4,lsr#4 - ldrh r8,[r2,r14] @ rem_4bit[rem] - eor r4,r4,r5,lsl#28 - eor r5,r9,r5,lsr#4 - eor r5,r5,r6,lsl#28 - eor r6,r10,r6,lsr#4 - eor r6,r6,r7,lsl#28 - eor r7,r11,r7,lsr#4 - and r14,r12,#0xf0 - eor r7,r7,r8,lsl#16 - and r12,r12,#0x0f - -Loop: - add r11,r1,r12,lsl#4 - and r12,r4,#0xf @ rem - subs r3,r3,#1 - add r12,r12,r12 - ldmia r11,{r8,r9,r10,r11} @ load Htbl[nlo] - eor r4,r8,r4,lsr#4 - eor r4,r4,r5,lsl#28 - eor r5,r9,r5,lsr#4 - eor r5,r5,r6,lsl#28 - ldrh r8,[r2,r12] @ rem_4bit[rem] - eor r6,r10,r6,lsr#4 -#ifdef __thumb2__ - it pl -#endif - ldrplb r12,[r0,r3] - eor r6,r6,r7,lsl#28 - eor r7,r11,r7,lsr#4 - - add r11,r1,r14 - and r14,r4,#0xf @ rem - eor r7,r7,r8,lsl#16 @ ^= rem_4bit[rem] - add r14,r14,r14 - ldmia r11,{r8,r9,r10,r11} @ load Htbl[nhi] - eor r4,r8,r4,lsr#4 - eor r4,r4,r5,lsl#28 - eor r5,r9,r5,lsr#4 - ldrh r8,[r2,r14] @ rem_4bit[rem] - eor r5,r5,r6,lsl#28 - eor r6,r10,r6,lsr#4 - eor r6,r6,r7,lsl#28 - eor r7,r11,r7,lsr#4 -#ifdef __thumb2__ - itt pl -#endif - andpl r14,r12,#0xf0 - andpl r12,r12,#0x0f - eor r7,r7,r8,lsl#16 @ ^= rem_4bit[rem] - bpl Loop -#if __ARM_ARCH__>=7 && defined(__ARMEL__) - rev r4,r4 - str r4,[r0,#12] -#elif defined(__ARMEB__) - str r4,[r0,#12] -#else - mov r9,r4,lsr#8 - strb r4,[r0,#12+3] - mov r10,r4,lsr#16 - strb r9,[r0,#12+2] - mov r11,r4,lsr#24 - strb r10,[r0,#12+1] - strb r11,[r0,#12] -#endif - -#if __ARM_ARCH__>=7 && defined(__ARMEL__) - rev r5,r5 - str r5,[r0,#8] -#elif defined(__ARMEB__) - str r5,[r0,#8] -#else - mov r9,r5,lsr#8 - strb r5,[r0,#8+3] - mov r10,r5,lsr#16 - strb r9,[r0,#8+2] - mov r11,r5,lsr#24 - strb r10,[r0,#8+1] - strb r11,[r0,#8] -#endif - -#if __ARM_ARCH__>=7 && defined(__ARMEL__) - rev r6,r6 - str r6,[r0,#4] -#elif defined(__ARMEB__) - str r6,[r0,#4] -#else - mov r9,r6,lsr#8 - strb r6,[r0,#4+3] - mov r10,r6,lsr#16 - strb r9,[r0,#4+2] - mov r11,r6,lsr#24 - strb r10,[r0,#4+1] - strb r11,[r0,#4] -#endif - -#if __ARM_ARCH__>=7 && defined(__ARMEL__) - rev r7,r7 - str r7,[r0,#0] -#elif defined(__ARMEB__) - str r7,[r0,#0] -#else - mov r9,r7,lsr#8 - strb r7,[r0,#0+3] - mov r10,r7,lsr#16 - strb r9,[r0,#0+2] - mov r11,r7,lsr#24 - strb r10,[r0,#0+1] - strb r11,[r0,#0] -#endif - -#if __ARM_ARCH__>=5 - ldmia sp!,{r4,r5,r6,r7,r8,r9,r10,r11,pc} -#else - ldmia sp!,{r4,r5,r6,r7,r8,r9,r10,r11,lr} - tst lr,#1 - moveq pc,lr @ be binary compatible with V4, yet -.word 0xe12fff1e @ interoperable with Thumb ISA:-) -#endif - #if __ARM_MAX_ARCH__>=7 diff --git a/contrib/boringssl-cmake/ios-arm/crypto/fipsmodule/vpaes-armv7.S b/contrib/boringssl-cmake/ios-arm/crypto/fipsmodule/vpaes-armv7.S new file mode 100644 index 00000000000..6aead7cac2a --- /dev/null +++ b/contrib/boringssl-cmake/ios-arm/crypto/fipsmodule/vpaes-armv7.S @@ -0,0 +1,1265 @@ +// This file is generated from a similarly-named Perl script in the BoringSSL +// source tree. Do not edit by hand. + +#if !defined(__has_feature) +#define __has_feature(x) 0 +#endif +#if __has_feature(memory_sanitizer) && !defined(OPENSSL_NO_ASM) +#define OPENSSL_NO_ASM +#endif + +#if !defined(OPENSSL_NO_ASM) +#if defined(BORINGSSL_PREFIX) +#include +#endif +.syntax unified + + + + +#if defined(__thumb2__) +.thumb +#else +.code 32 +#endif + +.text + + +.align 7 @ totally strategic alignment +_vpaes_consts: +Lk_mc_forward:@ mc_forward +.quad 0x0407060500030201, 0x0C0F0E0D080B0A09 +.quad 0x080B0A0904070605, 0x000302010C0F0E0D +.quad 0x0C0F0E0D080B0A09, 0x0407060500030201 +.quad 0x000302010C0F0E0D, 0x080B0A0904070605 +Lk_mc_backward:@ mc_backward +.quad 0x0605040702010003, 0x0E0D0C0F0A09080B +.quad 0x020100030E0D0C0F, 0x0A09080B06050407 +.quad 0x0E0D0C0F0A09080B, 0x0605040702010003 +.quad 0x0A09080B06050407, 0x020100030E0D0C0F +Lk_sr:@ sr +.quad 0x0706050403020100, 0x0F0E0D0C0B0A0908 +.quad 0x030E09040F0A0500, 0x0B06010C07020D08 +.quad 0x0F060D040B020900, 0x070E050C030A0108 +.quad 0x0B0E0104070A0D00, 0x0306090C0F020508 + +@ +@ "Hot" constants +@ +Lk_inv:@ inv, inva +.quad 0x0E05060F0D080180, 0x040703090A0B0C02 +.quad 0x01040A060F0B0780, 0x030D0E0C02050809 +Lk_ipt:@ input transform (lo, hi) +.quad 0xC2B2E8985A2A7000, 0xCABAE09052227808 +.quad 0x4C01307D317C4D00, 0xCD80B1FCB0FDCC81 +Lk_sbo:@ sbou, sbot +.quad 0xD0D26D176FBDC700, 0x15AABF7AC502A878 +.quad 0xCFE474A55FBB6A00, 0x8E1E90D1412B35FA +Lk_sb1:@ sb1u, sb1t +.quad 0x3618D415FAE22300, 0x3BF7CCC10D2ED9EF +.quad 0xB19BE18FCB503E00, 0xA5DF7A6E142AF544 +Lk_sb2:@ sb2u, sb2t +.quad 0x69EB88400AE12900, 0xC2A163C8AB82234A +.quad 0xE27A93C60B712400, 0x5EB7E955BC982FCD + +.byte 86,101,99,116,111,114,32,80,101,114,109,117,116,97,116,105,111,110,32,65,69,83,32,102,111,114,32,65,82,77,118,55,32,78,69,79,78,44,32,77,105,107,101,32,72,97,109,98,117,114,103,32,40,83,116,97,110,102,111,114,100,32,85,110,105,118,101,114,115,105,116,121,41,0 +.align 2 + +.align 6 +@@ +@@ _aes_preheat +@@ +@@ Fills q9-q15 as specified below. +@@ +#ifdef __thumb2__ +.thumb_func _vpaes_preheat +#endif +.align 4 +_vpaes_preheat: + adr r10, Lk_inv + vmov.i8 q9, #0x0f @ Lk_s0F + vld1.64 {q10,q11}, [r10]! @ Lk_inv + add r10, r10, #64 @ Skip Lk_ipt, Lk_sbo + vld1.64 {q12,q13}, [r10]! @ Lk_sb1 + vld1.64 {q14,q15}, [r10] @ Lk_sb2 + bx lr + +@@ +@@ _aes_encrypt_core +@@ +@@ AES-encrypt q0. +@@ +@@ Inputs: +@@ q0 = input +@@ q9-q15 as in _vpaes_preheat +@@ [r2] = scheduled keys +@@ +@@ Output in q0 +@@ Clobbers q1-q5, r8-r11 +@@ Preserves q6-q8 so you get some local vectors +@@ +@@ +#ifdef __thumb2__ +.thumb_func _vpaes_encrypt_core +#endif +.align 4 +_vpaes_encrypt_core: + mov r9, r2 + ldr r8, [r2,#240] @ pull rounds + adr r11, Lk_ipt + @ vmovdqa .Lk_ipt(%rip), %xmm2 # iptlo + @ vmovdqa .Lk_ipt+16(%rip), %xmm3 # ipthi + vld1.64 {q2, q3}, [r11] + adr r11, Lk_mc_forward+16 + vld1.64 {q5}, [r9]! @ vmovdqu (%r9), %xmm5 # round0 key + vand q1, q0, q9 @ vpand %xmm9, %xmm0, %xmm1 + vshr.u8 q0, q0, #4 @ vpsrlb $4, %xmm0, %xmm0 + vtbl.8 d2, {q2}, d2 @ vpshufb %xmm1, %xmm2, %xmm1 + vtbl.8 d3, {q2}, d3 + vtbl.8 d4, {q3}, d0 @ vpshufb %xmm0, %xmm3, %xmm2 + vtbl.8 d5, {q3}, d1 + veor q0, q1, q5 @ vpxor %xmm5, %xmm1, %xmm0 + veor q0, q0, q2 @ vpxor %xmm2, %xmm0, %xmm0 + + @ .Lenc_entry ends with a bnz instruction which is normally paired with + @ subs in .Lenc_loop. + tst r8, r8 + b Lenc_entry + +.align 4 +Lenc_loop: + @ middle of middle round + add r10, r11, #0x40 + vtbl.8 d8, {q13}, d4 @ vpshufb %xmm2, %xmm13, %xmm4 # 4 = sb1u + vtbl.8 d9, {q13}, d5 + vld1.64 {q1}, [r11]! @ vmovdqa -0x40(%r11,%r10), %xmm1 # Lk_mc_forward[] + vtbl.8 d0, {q12}, d6 @ vpshufb %xmm3, %xmm12, %xmm0 # 0 = sb1t + vtbl.8 d1, {q12}, d7 + veor q4, q4, q5 @ vpxor %xmm5, %xmm4, %xmm4 # 4 = sb1u + k + vtbl.8 d10, {q15}, d4 @ vpshufb %xmm2, %xmm15, %xmm5 # 4 = sb2u + vtbl.8 d11, {q15}, d5 + veor q0, q0, q4 @ vpxor %xmm4, %xmm0, %xmm0 # 0 = A + vtbl.8 d4, {q14}, d6 @ vpshufb %xmm3, %xmm14, %xmm2 # 2 = sb2t + vtbl.8 d5, {q14}, d7 + vld1.64 {q4}, [r10] @ vmovdqa (%r11,%r10), %xmm4 # Lk_mc_backward[] + vtbl.8 d6, {q0}, d2 @ vpshufb %xmm1, %xmm0, %xmm3 # 0 = B + vtbl.8 d7, {q0}, d3 + veor q2, q2, q5 @ vpxor %xmm5, %xmm2, %xmm2 # 2 = 2A + @ Write to q5 instead of q0, so the table and destination registers do + @ not overlap. + vtbl.8 d10, {q0}, d8 @ vpshufb %xmm4, %xmm0, %xmm0 # 3 = D + vtbl.8 d11, {q0}, d9 + veor q3, q3, q2 @ vpxor %xmm2, %xmm3, %xmm3 # 0 = 2A+B + vtbl.8 d8, {q3}, d2 @ vpshufb %xmm1, %xmm3, %xmm4 # 0 = 2B+C + vtbl.8 d9, {q3}, d3 + @ Here we restore the original q0/q5 usage. + veor q0, q5, q3 @ vpxor %xmm3, %xmm0, %xmm0 # 3 = 2A+B+D + and r11, r11, #~(1<<6) @ and $0x30, %r11 # ... mod 4 + veor q0, q0, q4 @ vpxor %xmm4, %xmm0, %xmm0 # 0 = 2A+3B+C+D + subs r8, r8, #1 @ nr-- + +Lenc_entry: + @ top of round + vand q1, q0, q9 @ vpand %xmm0, %xmm9, %xmm1 # 0 = k + vshr.u8 q0, q0, #4 @ vpsrlb $4, %xmm0, %xmm0 # 1 = i + vtbl.8 d10, {q11}, d2 @ vpshufb %xmm1, %xmm11, %xmm5 # 2 = a/k + vtbl.8 d11, {q11}, d3 + veor q1, q1, q0 @ vpxor %xmm0, %xmm1, %xmm1 # 0 = j + vtbl.8 d6, {q10}, d0 @ vpshufb %xmm0, %xmm10, %xmm3 # 3 = 1/i + vtbl.8 d7, {q10}, d1 + vtbl.8 d8, {q10}, d2 @ vpshufb %xmm1, %xmm10, %xmm4 # 4 = 1/j + vtbl.8 d9, {q10}, d3 + veor q3, q3, q5 @ vpxor %xmm5, %xmm3, %xmm3 # 3 = iak = 1/i + a/k + veor q4, q4, q5 @ vpxor %xmm5, %xmm4, %xmm4 # 4 = jak = 1/j + a/k + vtbl.8 d4, {q10}, d6 @ vpshufb %xmm3, %xmm10, %xmm2 # 2 = 1/iak + vtbl.8 d5, {q10}, d7 + vtbl.8 d6, {q10}, d8 @ vpshufb %xmm4, %xmm10, %xmm3 # 3 = 1/jak + vtbl.8 d7, {q10}, d9 + veor q2, q2, q1 @ vpxor %xmm1, %xmm2, %xmm2 # 2 = io + veor q3, q3, q0 @ vpxor %xmm0, %xmm3, %xmm3 # 3 = jo + vld1.64 {q5}, [r9]! @ vmovdqu (%r9), %xmm5 + bne Lenc_loop + + @ middle of last round + add r10, r11, #0x80 + + adr r11, Lk_sbo + @ Read to q1 instead of q4, so the vtbl.8 instruction below does not + @ overlap table and destination registers. + vld1.64 {q1}, [r11]! @ vmovdqa -0x60(%r10), %xmm4 # 3 : sbou + vld1.64 {q0}, [r11] @ vmovdqa -0x50(%r10), %xmm0 # 0 : sbot Lk_sbo+16 + vtbl.8 d8, {q1}, d4 @ vpshufb %xmm2, %xmm4, %xmm4 # 4 = sbou + vtbl.8 d9, {q1}, d5 + vld1.64 {q1}, [r10] @ vmovdqa 0x40(%r11,%r10), %xmm1 # Lk_sr[] + @ Write to q2 instead of q0 below, to avoid overlapping table and + @ destination registers. + vtbl.8 d4, {q0}, d6 @ vpshufb %xmm3, %xmm0, %xmm0 # 0 = sb1t + vtbl.8 d5, {q0}, d7 + veor q4, q4, q5 @ vpxor %xmm5, %xmm4, %xmm4 # 4 = sb1u + k + veor q2, q2, q4 @ vpxor %xmm4, %xmm0, %xmm0 # 0 = A + @ Here we restore the original q0/q2 usage. + vtbl.8 d0, {q2}, d2 @ vpshufb %xmm1, %xmm0, %xmm0 + vtbl.8 d1, {q2}, d3 + bx lr + + +.globl _vpaes_encrypt +.private_extern _vpaes_encrypt +#ifdef __thumb2__ +.thumb_func _vpaes_encrypt +#endif +.align 4 +_vpaes_encrypt: + @ _vpaes_encrypt_core uses r8-r11. Round up to r7-r11 to maintain stack + @ alignment. + stmdb sp!, {r7,r8,r9,r10,r11,lr} + @ _vpaes_encrypt_core uses q4-q5 (d8-d11), which are callee-saved. + vstmdb sp!, {d8,d9,d10,d11} + + vld1.64 {q0}, [r0] + bl _vpaes_preheat + bl _vpaes_encrypt_core + vst1.64 {q0}, [r1] + + vldmia sp!, {d8,d9,d10,d11} + ldmia sp!, {r7,r8,r9,r10,r11, pc} @ return + + +@ +@ Decryption stuff +@ + +.align 4 +_vpaes_decrypt_consts: +Lk_dipt:@ decryption input transform +.quad 0x0F505B040B545F00, 0x154A411E114E451A +.quad 0x86E383E660056500, 0x12771772F491F194 +Lk_dsbo:@ decryption sbox final output +.quad 0x1387EA537EF94000, 0xC7AA6DB9D4943E2D +.quad 0x12D7560F93441D00, 0xCA4B8159D8C58E9C +Lk_dsb9:@ decryption sbox output *9*u, *9*t +.quad 0x851C03539A86D600, 0xCAD51F504F994CC9 +.quad 0xC03B1789ECD74900, 0x725E2C9EB2FBA565 +Lk_dsbd:@ decryption sbox output *D*u, *D*t +.quad 0x7D57CCDFE6B1A200, 0xF56E9B13882A4439 +.quad 0x3CE2FAF724C6CB00, 0x2931180D15DEEFD3 +Lk_dsbb:@ decryption sbox output *B*u, *B*t +.quad 0xD022649296B44200, 0x602646F6B0F2D404 +.quad 0xC19498A6CD596700, 0xF3FF0C3E3255AA6B +Lk_dsbe:@ decryption sbox output *E*u, *E*t +.quad 0x46F2929626D4D000, 0x2242600464B4F6B0 +.quad 0x0C55A6CDFFAAC100, 0x9467F36B98593E32 + + +@@ +@@ Decryption core +@@ +@@ Same API as encryption core, except it clobbers q12-q15 rather than using +@@ the values from _vpaes_preheat. q9-q11 must still be set from +@@ _vpaes_preheat. +@@ +#ifdef __thumb2__ +.thumb_func _vpaes_decrypt_core +#endif +.align 4 +_vpaes_decrypt_core: + mov r9, r2 + ldr r8, [r2,#240] @ pull rounds + + @ This function performs shuffles with various constants. The x86_64 + @ version loads them on-demand into %xmm0-%xmm5. This does not work well + @ for ARMv7 because those registers are shuffle destinations. The ARMv8 + @ version preloads those constants into registers, but ARMv7 has half + @ the registers to work with. Instead, we load them on-demand into + @ q12-q15, registers normally use for preloaded constants. This is fine + @ because decryption doesn't use those constants. The values are + @ constant, so this does not interfere with potential 2x optimizations. + adr r7, Lk_dipt + + vld1.64 {q12,q13}, [r7] @ vmovdqa Lk_dipt(%rip), %xmm2 # iptlo + lsl r11, r8, #4 @ mov %rax, %r11; shl $4, %r11 + eor r11, r11, #0x30 @ xor $0x30, %r11 + adr r10, Lk_sr + and r11, r11, #0x30 @ and $0x30, %r11 + add r11, r11, r10 + adr r10, Lk_mc_forward+48 + + vld1.64 {q4}, [r9]! @ vmovdqu (%r9), %xmm4 # round0 key + vand q1, q0, q9 @ vpand %xmm9, %xmm0, %xmm1 + vshr.u8 q0, q0, #4 @ vpsrlb $4, %xmm0, %xmm0 + vtbl.8 d4, {q12}, d2 @ vpshufb %xmm1, %xmm2, %xmm2 + vtbl.8 d5, {q12}, d3 + vld1.64 {q5}, [r10] @ vmovdqa Lk_mc_forward+48(%rip), %xmm5 + @ vmovdqa .Lk_dipt+16(%rip), %xmm1 # ipthi + vtbl.8 d0, {q13}, d0 @ vpshufb %xmm0, %xmm1, %xmm0 + vtbl.8 d1, {q13}, d1 + veor q2, q2, q4 @ vpxor %xmm4, %xmm2, %xmm2 + veor q0, q0, q2 @ vpxor %xmm2, %xmm0, %xmm0 + + @ .Ldec_entry ends with a bnz instruction which is normally paired with + @ subs in .Ldec_loop. + tst r8, r8 + b Ldec_entry + +.align 4 +Ldec_loop: +@ +@ Inverse mix columns +@ + + @ We load .Lk_dsb* into q12-q15 on-demand. See the comment at the top of + @ the function. + adr r10, Lk_dsb9 + vld1.64 {q12,q13}, [r10]! @ vmovdqa -0x20(%r10),%xmm4 # 4 : sb9u + @ vmovdqa -0x10(%r10),%xmm1 # 0 : sb9t + @ Load sbd* ahead of time. + vld1.64 {q14,q15}, [r10]! @ vmovdqa 0x00(%r10),%xmm4 # 4 : sbdu + @ vmovdqa 0x10(%r10),%xmm1 # 0 : sbdt + vtbl.8 d8, {q12}, d4 @ vpshufb %xmm2, %xmm4, %xmm4 # 4 = sb9u + vtbl.8 d9, {q12}, d5 + vtbl.8 d2, {q13}, d6 @ vpshufb %xmm3, %xmm1, %xmm1 # 0 = sb9t + vtbl.8 d3, {q13}, d7 + veor q0, q4, q0 @ vpxor %xmm4, %xmm0, %xmm0 + + veor q0, q0, q1 @ vpxor %xmm1, %xmm0, %xmm0 # 0 = ch + + @ Load sbb* ahead of time. + vld1.64 {q12,q13}, [r10]! @ vmovdqa 0x20(%r10),%xmm4 # 4 : sbbu + @ vmovdqa 0x30(%r10),%xmm1 # 0 : sbbt + + vtbl.8 d8, {q14}, d4 @ vpshufb %xmm2, %xmm4, %xmm4 # 4 = sbdu + vtbl.8 d9, {q14}, d5 + @ Write to q1 instead of q0, so the table and destination registers do + @ not overlap. + vtbl.8 d2, {q0}, d10 @ vpshufb %xmm5, %xmm0, %xmm0 # MC ch + vtbl.8 d3, {q0}, d11 + @ Here we restore the original q0/q1 usage. This instruction is + @ reordered from the ARMv8 version so we do not clobber the vtbl.8 + @ below. + veor q0, q1, q4 @ vpxor %xmm4, %xmm0, %xmm0 # 4 = ch + vtbl.8 d2, {q15}, d6 @ vpshufb %xmm3, %xmm1, %xmm1 # 0 = sbdt + vtbl.8 d3, {q15}, d7 + @ vmovdqa 0x20(%r10), %xmm4 # 4 : sbbu + veor q0, q0, q1 @ vpxor %xmm1, %xmm0, %xmm0 # 0 = ch + @ vmovdqa 0x30(%r10), %xmm1 # 0 : sbbt + + @ Load sbd* ahead of time. + vld1.64 {q14,q15}, [r10]! @ vmovdqa 0x40(%r10),%xmm4 # 4 : sbeu + @ vmovdqa 0x50(%r10),%xmm1 # 0 : sbet + + vtbl.8 d8, {q12}, d4 @ vpshufb %xmm2, %xmm4, %xmm4 # 4 = sbbu + vtbl.8 d9, {q12}, d5 + @ Write to q1 instead of q0, so the table and destination registers do + @ not overlap. + vtbl.8 d2, {q0}, d10 @ vpshufb %xmm5, %xmm0, %xmm0 # MC ch + vtbl.8 d3, {q0}, d11 + @ Here we restore the original q0/q1 usage. This instruction is + @ reordered from the ARMv8 version so we do not clobber the vtbl.8 + @ below. + veor q0, q1, q4 @ vpxor %xmm4, %xmm0, %xmm0 # 4 = ch + vtbl.8 d2, {q13}, d6 @ vpshufb %xmm3, %xmm1, %xmm1 # 0 = sbbt + vtbl.8 d3, {q13}, d7 + veor q0, q0, q1 @ vpxor %xmm1, %xmm0, %xmm0 # 0 = ch + + vtbl.8 d8, {q14}, d4 @ vpshufb %xmm2, %xmm4, %xmm4 # 4 = sbeu + vtbl.8 d9, {q14}, d5 + @ Write to q1 instead of q0, so the table and destination registers do + @ not overlap. + vtbl.8 d2, {q0}, d10 @ vpshufb %xmm5, %xmm0, %xmm0 # MC ch + vtbl.8 d3, {q0}, d11 + @ Here we restore the original q0/q1 usage. This instruction is + @ reordered from the ARMv8 version so we do not clobber the vtbl.8 + @ below. + veor q0, q1, q4 @ vpxor %xmm4, %xmm0, %xmm0 # 4 = ch + vtbl.8 d2, {q15}, d6 @ vpshufb %xmm3, %xmm1, %xmm1 # 0 = sbet + vtbl.8 d3, {q15}, d7 + vext.8 q5, q5, q5, #12 @ vpalignr $12, %xmm5, %xmm5, %xmm5 + veor q0, q0, q1 @ vpxor %xmm1, %xmm0, %xmm0 # 0 = ch + subs r8, r8, #1 @ sub $1,%rax # nr-- + +Ldec_entry: + @ top of round + vand q1, q0, q9 @ vpand %xmm9, %xmm0, %xmm1 # 0 = k + vshr.u8 q0, q0, #4 @ vpsrlb $4, %xmm0, %xmm0 # 1 = i + vtbl.8 d4, {q11}, d2 @ vpshufb %xmm1, %xmm11, %xmm2 # 2 = a/k + vtbl.8 d5, {q11}, d3 + veor q1, q1, q0 @ vpxor %xmm0, %xmm1, %xmm1 # 0 = j + vtbl.8 d6, {q10}, d0 @ vpshufb %xmm0, %xmm10, %xmm3 # 3 = 1/i + vtbl.8 d7, {q10}, d1 + vtbl.8 d8, {q10}, d2 @ vpshufb %xmm1, %xmm10, %xmm4 # 4 = 1/j + vtbl.8 d9, {q10}, d3 + veor q3, q3, q2 @ vpxor %xmm2, %xmm3, %xmm3 # 3 = iak = 1/i + a/k + veor q4, q4, q2 @ vpxor %xmm2, %xmm4, %xmm4 # 4 = jak = 1/j + a/k + vtbl.8 d4, {q10}, d6 @ vpshufb %xmm3, %xmm10, %xmm2 # 2 = 1/iak + vtbl.8 d5, {q10}, d7 + vtbl.8 d6, {q10}, d8 @ vpshufb %xmm4, %xmm10, %xmm3 # 3 = 1/jak + vtbl.8 d7, {q10}, d9 + veor q2, q2, q1 @ vpxor %xmm1, %xmm2, %xmm2 # 2 = io + veor q3, q3, q0 @ vpxor %xmm0, %xmm3, %xmm3 # 3 = jo + vld1.64 {q0}, [r9]! @ vmovdqu (%r9), %xmm0 + bne Ldec_loop + + @ middle of last round + + adr r10, Lk_dsbo + + @ Write to q1 rather than q4 to avoid overlapping table and destination. + vld1.64 {q1}, [r10]! @ vmovdqa 0x60(%r10), %xmm4 # 3 : sbou + vtbl.8 d8, {q1}, d4 @ vpshufb %xmm2, %xmm4, %xmm4 # 4 = sbou + vtbl.8 d9, {q1}, d5 + @ Write to q2 rather than q1 to avoid overlapping table and destination. + vld1.64 {q2}, [r10] @ vmovdqa 0x70(%r10), %xmm1 # 0 : sbot + vtbl.8 d2, {q2}, d6 @ vpshufb %xmm3, %xmm1, %xmm1 # 0 = sb1t + vtbl.8 d3, {q2}, d7 + vld1.64 {q2}, [r11] @ vmovdqa -0x160(%r11), %xmm2 # Lk_sr-Lk_dsbd=-0x160 + veor q4, q4, q0 @ vpxor %xmm0, %xmm4, %xmm4 # 4 = sb1u + k + @ Write to q1 rather than q0 so the table and destination registers + @ below do not overlap. + veor q1, q1, q4 @ vpxor %xmm4, %xmm1, %xmm0 # 0 = A + vtbl.8 d0, {q1}, d4 @ vpshufb %xmm2, %xmm0, %xmm0 + vtbl.8 d1, {q1}, d5 + bx lr + + +.globl _vpaes_decrypt +.private_extern _vpaes_decrypt +#ifdef __thumb2__ +.thumb_func _vpaes_decrypt +#endif +.align 4 +_vpaes_decrypt: + @ _vpaes_decrypt_core uses r7-r11. + stmdb sp!, {r7,r8,r9,r10,r11,lr} + @ _vpaes_decrypt_core uses q4-q5 (d8-d11), which are callee-saved. + vstmdb sp!, {d8,d9,d10,d11} + + vld1.64 {q0}, [r0] + bl _vpaes_preheat + bl _vpaes_decrypt_core + vst1.64 {q0}, [r1] + + vldmia sp!, {d8,d9,d10,d11} + ldmia sp!, {r7,r8,r9,r10,r11, pc} @ return + +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +@@ @@ +@@ AES key schedule @@ +@@ @@ +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ + +@ This function diverges from both x86_64 and armv7 in which constants are +@ pinned. x86_64 has a common preheat function for all operations. aarch64 +@ separates them because it has enough registers to pin nearly all constants. +@ armv7 does not have enough registers, but needing explicit loads and stores +@ also complicates using x86_64's register allocation directly. +@ +@ We pin some constants for convenience and leave q14 and q15 free to load +@ others on demand. + +@ +@ Key schedule constants +@ + +.align 4 +_vpaes_key_consts: +Lk_dksd:@ decryption key schedule: invskew x*D +.quad 0xFEB91A5DA3E44700, 0x0740E3A45A1DBEF9 +.quad 0x41C277F4B5368300, 0x5FDC69EAAB289D1E +Lk_dksb:@ decryption key schedule: invskew x*B +.quad 0x9A4FCA1F8550D500, 0x03D653861CC94C99 +.quad 0x115BEDA7B6FC4A00, 0xD993256F7E3482C8 +Lk_dkse:@ decryption key schedule: invskew x*E + 0x63 +.quad 0xD5031CCA1FC9D600, 0x53859A4C994F5086 +.quad 0xA23196054FDC7BE8, 0xCD5EF96A20B31487 +Lk_dks9:@ decryption key schedule: invskew x*9 +.quad 0xB6116FC87ED9A700, 0x4AED933482255BFC +.quad 0x4576516227143300, 0x8BB89FACE9DAFDCE + +Lk_rcon:@ rcon +.quad 0x1F8391B9AF9DEEB6, 0x702A98084D7C7D81 + +Lk_opt:@ output transform +.quad 0xFF9F4929D6B66000, 0xF7974121DEBE6808 +.quad 0x01EDBD5150BCEC00, 0xE10D5DB1B05C0CE0 +Lk_deskew:@ deskew tables: inverts the sbox's "skew" +.quad 0x07E4A34047A4E300, 0x1DFEB95A5DBEF91A +.quad 0x5F36B5DC83EA6900, 0x2841C2ABF49D1E77 + + +#ifdef __thumb2__ +.thumb_func _vpaes_key_preheat +#endif +.align 4 +_vpaes_key_preheat: + adr r11, Lk_rcon + vmov.i8 q12, #0x5b @ Lk_s63 + adr r10, Lk_inv @ Must be aligned to 8 mod 16. + vmov.i8 q9, #0x0f @ Lk_s0F + vld1.64 {q10,q11}, [r10] @ Lk_inv + vld1.64 {q8}, [r11] @ Lk_rcon + bx lr + + +#ifdef __thumb2__ +.thumb_func _vpaes_schedule_core +#endif +.align 4 +_vpaes_schedule_core: + @ We only need to save lr, but ARM requires an 8-byte stack alignment, + @ so save an extra register. + stmdb sp!, {r3,lr} + + bl _vpaes_key_preheat @ load the tables + + adr r11, Lk_ipt @ Must be aligned to 8 mod 16. + vld1.64 {q0}, [r0]! @ vmovdqu (%rdi), %xmm0 # load key (unaligned) + + @ input transform + @ Use q4 here rather than q3 so .Lschedule_am_decrypting does not + @ overlap table and destination. + vmov q4, q0 @ vmovdqa %xmm0, %xmm3 + bl _vpaes_schedule_transform + adr r10, Lk_sr @ Must be aligned to 8 mod 16. + vmov q7, q0 @ vmovdqa %xmm0, %xmm7 + + add r8, r8, r10 + tst r3, r3 + bne Lschedule_am_decrypting + + @ encrypting, output zeroth round key after transform + vst1.64 {q0}, [r2] @ vmovdqu %xmm0, (%rdx) + b Lschedule_go + +Lschedule_am_decrypting: + @ decrypting, output zeroth round key after shiftrows + vld1.64 {q1}, [r8] @ vmovdqa (%r8,%r10), %xmm1 + vtbl.8 d6, {q4}, d2 @ vpshufb %xmm1, %xmm3, %xmm3 + vtbl.8 d7, {q4}, d3 + vst1.64 {q3}, [r2] @ vmovdqu %xmm3, (%rdx) + eor r8, r8, #0x30 @ xor $0x30, %r8 + +Lschedule_go: + cmp r1, #192 @ cmp $192, %esi + bhi Lschedule_256 + beq Lschedule_192 + @ 128: fall though + +@@ +@@ .schedule_128 +@@ +@@ 128-bit specific part of key schedule. +@@ +@@ This schedule is really simple, because all its parts +@@ are accomplished by the subroutines. +@@ +Lschedule_128: + mov r0, #10 @ mov $10, %esi + +Loop_schedule_128: + bl _vpaes_schedule_round + subs r0, r0, #1 @ dec %esi + beq Lschedule_mangle_last + bl _vpaes_schedule_mangle @ write output + b Loop_schedule_128 + +@@ +@@ .aes_schedule_192 +@@ +@@ 192-bit specific part of key schedule. +@@ +@@ The main body of this schedule is the same as the 128-bit +@@ schedule, but with more smearing. The long, high side is +@@ stored in q7 as before, and the short, low side is in +@@ the high bits of q6. +@@ +@@ This schedule is somewhat nastier, however, because each +@@ round produces 192 bits of key material, or 1.5 round keys. +@@ Therefore, on each cycle we do 2 rounds and produce 3 round +@@ keys. +@@ +.align 4 +Lschedule_192: + sub r0, r0, #8 + vld1.64 {q0}, [r0] @ vmovdqu 8(%rdi),%xmm0 # load key part 2 (very unaligned) + bl _vpaes_schedule_transform @ input transform + vmov q6, q0 @ vmovdqa %xmm0, %xmm6 # save short part + vmov.i8 d12, #0 @ vpxor %xmm4, %xmm4, %xmm4 # clear 4 + @ vmovhlps %xmm4, %xmm6, %xmm6 # clobber low side with zeros + mov r0, #4 @ mov $4, %esi + +Loop_schedule_192: + bl _vpaes_schedule_round + vext.8 q0, q6, q0, #8 @ vpalignr $8,%xmm6,%xmm0,%xmm0 + bl _vpaes_schedule_mangle @ save key n + bl _vpaes_schedule_192_smear + bl _vpaes_schedule_mangle @ save key n+1 + bl _vpaes_schedule_round + subs r0, r0, #1 @ dec %esi + beq Lschedule_mangle_last + bl _vpaes_schedule_mangle @ save key n+2 + bl _vpaes_schedule_192_smear + b Loop_schedule_192 + +@@ +@@ .aes_schedule_256 +@@ +@@ 256-bit specific part of key schedule. +@@ +@@ The structure here is very similar to the 128-bit +@@ schedule, but with an additional "low side" in +@@ q6. The low side's rounds are the same as the +@@ high side's, except no rcon and no rotation. +@@ +.align 4 +Lschedule_256: + vld1.64 {q0}, [r0] @ vmovdqu 16(%rdi),%xmm0 # load key part 2 (unaligned) + bl _vpaes_schedule_transform @ input transform + mov r0, #7 @ mov $7, %esi + +Loop_schedule_256: + bl _vpaes_schedule_mangle @ output low result + vmov q6, q0 @ vmovdqa %xmm0, %xmm6 # save cur_lo in xmm6 + + @ high round + bl _vpaes_schedule_round + subs r0, r0, #1 @ dec %esi + beq Lschedule_mangle_last + bl _vpaes_schedule_mangle + + @ low round. swap xmm7 and xmm6 + vdup.32 q0, d1[1] @ vpshufd $0xFF, %xmm0, %xmm0 + vmov.i8 q4, #0 + vmov q5, q7 @ vmovdqa %xmm7, %xmm5 + vmov q7, q6 @ vmovdqa %xmm6, %xmm7 + bl _vpaes_schedule_low_round + vmov q7, q5 @ vmovdqa %xmm5, %xmm7 + + b Loop_schedule_256 + +@@ +@@ .aes_schedule_mangle_last +@@ +@@ Mangler for last round of key schedule +@@ Mangles q0 +@@ when encrypting, outputs out(q0) ^ 63 +@@ when decrypting, outputs unskew(q0) +@@ +@@ Always called right before return... jumps to cleanup and exits +@@ +.align 4 +Lschedule_mangle_last: + @ schedule last round key from xmm0 + adr r11, Lk_deskew @ lea Lk_deskew(%rip),%r11 # prepare to deskew + tst r3, r3 + bne Lschedule_mangle_last_dec + + @ encrypting + vld1.64 {q1}, [r8] @ vmovdqa (%r8,%r10),%xmm1 + adr r11, Lk_opt @ lea Lk_opt(%rip), %r11 # prepare to output transform + add r2, r2, #32 @ add $32, %rdx + vmov q2, q0 + vtbl.8 d0, {q2}, d2 @ vpshufb %xmm1, %xmm0, %xmm0 # output permute + vtbl.8 d1, {q2}, d3 + +Lschedule_mangle_last_dec: + sub r2, r2, #16 @ add $-16, %rdx + veor q0, q0, q12 @ vpxor Lk_s63(%rip), %xmm0, %xmm0 + bl _vpaes_schedule_transform @ output transform + vst1.64 {q0}, [r2] @ vmovdqu %xmm0, (%rdx) # save last key + + @ cleanup + veor q0, q0, q0 @ vpxor %xmm0, %xmm0, %xmm0 + veor q1, q1, q1 @ vpxor %xmm1, %xmm1, %xmm1 + veor q2, q2, q2 @ vpxor %xmm2, %xmm2, %xmm2 + veor q3, q3, q3 @ vpxor %xmm3, %xmm3, %xmm3 + veor q4, q4, q4 @ vpxor %xmm4, %xmm4, %xmm4 + veor q5, q5, q5 @ vpxor %xmm5, %xmm5, %xmm5 + veor q6, q6, q6 @ vpxor %xmm6, %xmm6, %xmm6 + veor q7, q7, q7 @ vpxor %xmm7, %xmm7, %xmm7 + ldmia sp!, {r3,pc} @ return + + +@@ +@@ .aes_schedule_192_smear +@@ +@@ Smear the short, low side in the 192-bit key schedule. +@@ +@@ Inputs: +@@ q7: high side, b a x y +@@ q6: low side, d c 0 0 +@@ +@@ Outputs: +@@ q6: b+c+d b+c 0 0 +@@ q0: b+c+d b+c b a +@@ +#ifdef __thumb2__ +.thumb_func _vpaes_schedule_192_smear +#endif +.align 4 +_vpaes_schedule_192_smear: + vmov.i8 q1, #0 + vdup.32 q0, d15[1] + vshl.i64 q1, q6, #32 @ vpshufd $0x80, %xmm6, %xmm1 # d c 0 0 -> c 0 0 0 + vmov d0, d15 @ vpshufd $0xFE, %xmm7, %xmm0 # b a _ _ -> b b b a + veor q6, q6, q1 @ vpxor %xmm1, %xmm6, %xmm6 # -> c+d c 0 0 + veor q1, q1, q1 @ vpxor %xmm1, %xmm1, %xmm1 + veor q6, q6, q0 @ vpxor %xmm0, %xmm6, %xmm6 # -> b+c+d b+c b a + vmov q0, q6 @ vmovdqa %xmm6, %xmm0 + vmov d12, d2 @ vmovhlps %xmm1, %xmm6, %xmm6 # clobber low side with zeros + bx lr + + +@@ +@@ .aes_schedule_round +@@ +@@ Runs one main round of the key schedule on q0, q7 +@@ +@@ Specifically, runs subbytes on the high dword of q0 +@@ then rotates it by one byte and xors into the low dword of +@@ q7. +@@ +@@ Adds rcon from low byte of q8, then rotates q8 for +@@ next rcon. +@@ +@@ Smears the dwords of q7 by xoring the low into the +@@ second low, result into third, result into highest. +@@ +@@ Returns results in q7 = q0. +@@ Clobbers q1-q4, r11. +@@ +#ifdef __thumb2__ +.thumb_func _vpaes_schedule_round +#endif +.align 4 +_vpaes_schedule_round: + @ extract rcon from xmm8 + vmov.i8 q4, #0 @ vpxor %xmm4, %xmm4, %xmm4 + vext.8 q1, q8, q4, #15 @ vpalignr $15, %xmm8, %xmm4, %xmm1 + vext.8 q8, q8, q8, #15 @ vpalignr $15, %xmm8, %xmm8, %xmm8 + veor q7, q7, q1 @ vpxor %xmm1, %xmm7, %xmm7 + + @ rotate + vdup.32 q0, d1[1] @ vpshufd $0xFF, %xmm0, %xmm0 + vext.8 q0, q0, q0, #1 @ vpalignr $1, %xmm0, %xmm0, %xmm0 + + @ fall through... + + @ low round: same as high round, but no rotation and no rcon. +_vpaes_schedule_low_round: + @ The x86_64 version pins .Lk_sb1 in %xmm13 and .Lk_sb1+16 in %xmm12. + @ We pin other values in _vpaes_key_preheat, so load them now. + adr r11, Lk_sb1 + vld1.64 {q14,q15}, [r11] + + @ smear xmm7 + vext.8 q1, q4, q7, #12 @ vpslldq $4, %xmm7, %xmm1 + veor q7, q7, q1 @ vpxor %xmm1, %xmm7, %xmm7 + vext.8 q4, q4, q7, #8 @ vpslldq $8, %xmm7, %xmm4 + + @ subbytes + vand q1, q0, q9 @ vpand %xmm9, %xmm0, %xmm1 # 0 = k + vshr.u8 q0, q0, #4 @ vpsrlb $4, %xmm0, %xmm0 # 1 = i + veor q7, q7, q4 @ vpxor %xmm4, %xmm7, %xmm7 + vtbl.8 d4, {q11}, d2 @ vpshufb %xmm1, %xmm11, %xmm2 # 2 = a/k + vtbl.8 d5, {q11}, d3 + veor q1, q1, q0 @ vpxor %xmm0, %xmm1, %xmm1 # 0 = j + vtbl.8 d6, {q10}, d0 @ vpshufb %xmm0, %xmm10, %xmm3 # 3 = 1/i + vtbl.8 d7, {q10}, d1 + veor q3, q3, q2 @ vpxor %xmm2, %xmm3, %xmm3 # 3 = iak = 1/i + a/k + vtbl.8 d8, {q10}, d2 @ vpshufb %xmm1, %xmm10, %xmm4 # 4 = 1/j + vtbl.8 d9, {q10}, d3 + veor q7, q7, q12 @ vpxor Lk_s63(%rip), %xmm7, %xmm7 + vtbl.8 d6, {q10}, d6 @ vpshufb %xmm3, %xmm10, %xmm3 # 2 = 1/iak + vtbl.8 d7, {q10}, d7 + veor q4, q4, q2 @ vpxor %xmm2, %xmm4, %xmm4 # 4 = jak = 1/j + a/k + vtbl.8 d4, {q10}, d8 @ vpshufb %xmm4, %xmm10, %xmm2 # 3 = 1/jak + vtbl.8 d5, {q10}, d9 + veor q3, q3, q1 @ vpxor %xmm1, %xmm3, %xmm3 # 2 = io + veor q2, q2, q0 @ vpxor %xmm0, %xmm2, %xmm2 # 3 = jo + vtbl.8 d8, {q15}, d6 @ vpshufb %xmm3, %xmm13, %xmm4 # 4 = sbou + vtbl.8 d9, {q15}, d7 + vtbl.8 d2, {q14}, d4 @ vpshufb %xmm2, %xmm12, %xmm1 # 0 = sb1t + vtbl.8 d3, {q14}, d5 + veor q1, q1, q4 @ vpxor %xmm4, %xmm1, %xmm1 # 0 = sbox output + + @ add in smeared stuff + veor q0, q1, q7 @ vpxor %xmm7, %xmm1, %xmm0 + veor q7, q1, q7 @ vmovdqa %xmm0, %xmm7 + bx lr + + +@@ +@@ .aes_schedule_transform +@@ +@@ Linear-transform q0 according to tables at [r11] +@@ +@@ Requires that q9 = 0x0F0F... as in preheat +@@ Output in q0 +@@ Clobbers q1, q2, q14, q15 +@@ +#ifdef __thumb2__ +.thumb_func _vpaes_schedule_transform +#endif +.align 4 +_vpaes_schedule_transform: + vld1.64 {q14,q15}, [r11] @ vmovdqa (%r11), %xmm2 # lo + @ vmovdqa 16(%r11), %xmm1 # hi + vand q1, q0, q9 @ vpand %xmm9, %xmm0, %xmm1 + vshr.u8 q0, q0, #4 @ vpsrlb $4, %xmm0, %xmm0 + vtbl.8 d4, {q14}, d2 @ vpshufb %xmm1, %xmm2, %xmm2 + vtbl.8 d5, {q14}, d3 + vtbl.8 d0, {q15}, d0 @ vpshufb %xmm0, %xmm1, %xmm0 + vtbl.8 d1, {q15}, d1 + veor q0, q0, q2 @ vpxor %xmm2, %xmm0, %xmm0 + bx lr + + +@@ +@@ .aes_schedule_mangle +@@ +@@ Mangles q0 from (basis-transformed) standard version +@@ to our version. +@@ +@@ On encrypt, +@@ xor with 0x63 +@@ multiply by circulant 0,1,1,1 +@@ apply shiftrows transform +@@ +@@ On decrypt, +@@ xor with 0x63 +@@ multiply by "inverse mixcolumns" circulant E,B,D,9 +@@ deskew +@@ apply shiftrows transform +@@ +@@ +@@ Writes out to [r2], and increments or decrements it +@@ Keeps track of round number mod 4 in r8 +@@ Preserves q0 +@@ Clobbers q1-q5 +@@ +#ifdef __thumb2__ +.thumb_func _vpaes_schedule_mangle +#endif +.align 4 +_vpaes_schedule_mangle: + tst r3, r3 + vmov q4, q0 @ vmovdqa %xmm0, %xmm4 # save xmm0 for later + adr r11, Lk_mc_forward @ Must be aligned to 8 mod 16. + vld1.64 {q5}, [r11] @ vmovdqa Lk_mc_forward(%rip),%xmm5 + bne Lschedule_mangle_dec + + @ encrypting + @ Write to q2 so we do not overlap table and destination below. + veor q2, q0, q12 @ vpxor Lk_s63(%rip), %xmm0, %xmm4 + add r2, r2, #16 @ add $16, %rdx + vtbl.8 d8, {q2}, d10 @ vpshufb %xmm5, %xmm4, %xmm4 + vtbl.8 d9, {q2}, d11 + vtbl.8 d2, {q4}, d10 @ vpshufb %xmm5, %xmm4, %xmm1 + vtbl.8 d3, {q4}, d11 + vtbl.8 d6, {q1}, d10 @ vpshufb %xmm5, %xmm1, %xmm3 + vtbl.8 d7, {q1}, d11 + veor q4, q4, q1 @ vpxor %xmm1, %xmm4, %xmm4 + vld1.64 {q1}, [r8] @ vmovdqa (%r8,%r10), %xmm1 + veor q3, q3, q4 @ vpxor %xmm4, %xmm3, %xmm3 + + b Lschedule_mangle_both +.align 4 +Lschedule_mangle_dec: + @ inverse mix columns + adr r11, Lk_dksd @ lea Lk_dksd(%rip),%r11 + vshr.u8 q1, q4, #4 @ vpsrlb $4, %xmm4, %xmm1 # 1 = hi + vand q4, q4, q9 @ vpand %xmm9, %xmm4, %xmm4 # 4 = lo + + vld1.64 {q14,q15}, [r11]! @ vmovdqa 0x00(%r11), %xmm2 + @ vmovdqa 0x10(%r11), %xmm3 + vtbl.8 d4, {q14}, d8 @ vpshufb %xmm4, %xmm2, %xmm2 + vtbl.8 d5, {q14}, d9 + vtbl.8 d6, {q15}, d2 @ vpshufb %xmm1, %xmm3, %xmm3 + vtbl.8 d7, {q15}, d3 + @ Load .Lk_dksb ahead of time. + vld1.64 {q14,q15}, [r11]! @ vmovdqa 0x20(%r11), %xmm2 + @ vmovdqa 0x30(%r11), %xmm3 + @ Write to q13 so we do not overlap table and destination. + veor q13, q3, q2 @ vpxor %xmm2, %xmm3, %xmm3 + vtbl.8 d6, {q13}, d10 @ vpshufb %xmm5, %xmm3, %xmm3 + vtbl.8 d7, {q13}, d11 + + vtbl.8 d4, {q14}, d8 @ vpshufb %xmm4, %xmm2, %xmm2 + vtbl.8 d5, {q14}, d9 + veor q2, q2, q3 @ vpxor %xmm3, %xmm2, %xmm2 + vtbl.8 d6, {q15}, d2 @ vpshufb %xmm1, %xmm3, %xmm3 + vtbl.8 d7, {q15}, d3 + @ Load .Lk_dkse ahead of time. + vld1.64 {q14,q15}, [r11]! @ vmovdqa 0x40(%r11), %xmm2 + @ vmovdqa 0x50(%r11), %xmm3 + @ Write to q13 so we do not overlap table and destination. + veor q13, q3, q2 @ vpxor %xmm2, %xmm3, %xmm3 + vtbl.8 d6, {q13}, d10 @ vpshufb %xmm5, %xmm3, %xmm3 + vtbl.8 d7, {q13}, d11 + + vtbl.8 d4, {q14}, d8 @ vpshufb %xmm4, %xmm2, %xmm2 + vtbl.8 d5, {q14}, d9 + veor q2, q2, q3 @ vpxor %xmm3, %xmm2, %xmm2 + vtbl.8 d6, {q15}, d2 @ vpshufb %xmm1, %xmm3, %xmm3 + vtbl.8 d7, {q15}, d3 + @ Load .Lk_dkse ahead of time. + vld1.64 {q14,q15}, [r11]! @ vmovdqa 0x60(%r11), %xmm2 + @ vmovdqa 0x70(%r11), %xmm4 + @ Write to q13 so we do not overlap table and destination. + veor q13, q3, q2 @ vpxor %xmm2, %xmm3, %xmm3 + + vtbl.8 d4, {q14}, d8 @ vpshufb %xmm4, %xmm2, %xmm2 + vtbl.8 d5, {q14}, d9 + vtbl.8 d6, {q13}, d10 @ vpshufb %xmm5, %xmm3, %xmm3 + vtbl.8 d7, {q13}, d11 + vtbl.8 d8, {q15}, d2 @ vpshufb %xmm1, %xmm4, %xmm4 + vtbl.8 d9, {q15}, d3 + vld1.64 {q1}, [r8] @ vmovdqa (%r8,%r10), %xmm1 + veor q2, q2, q3 @ vpxor %xmm3, %xmm2, %xmm2 + veor q3, q4, q2 @ vpxor %xmm2, %xmm4, %xmm3 + + sub r2, r2, #16 @ add $-16, %rdx + +Lschedule_mangle_both: + @ Write to q2 so table and destination do not overlap. + vtbl.8 d4, {q3}, d2 @ vpshufb %xmm1, %xmm3, %xmm3 + vtbl.8 d5, {q3}, d3 + add r8, r8, #64-16 @ add $-16, %r8 + and r8, r8, #~(1<<6) @ and $0x30, %r8 + vst1.64 {q2}, [r2] @ vmovdqu %xmm3, (%rdx) + bx lr + + +.globl _vpaes_set_encrypt_key +.private_extern _vpaes_set_encrypt_key +#ifdef __thumb2__ +.thumb_func _vpaes_set_encrypt_key +#endif +.align 4 +_vpaes_set_encrypt_key: + stmdb sp!, {r7,r8,r9,r10,r11, lr} + vstmdb sp!, {d8,d9,d10,d11,d12,d13,d14,d15} + + lsr r9, r1, #5 @ shr $5,%eax + add r9, r9, #5 @ $5,%eax + str r9, [r2,#240] @ mov %eax,240(%rdx) # AES_KEY->rounds = nbits/32+5; + + mov r3, #0 @ mov $0,%ecx + mov r8, #0x30 @ mov $0x30,%r8d + bl _vpaes_schedule_core + eor r0, r0, r0 + + vldmia sp!, {d8,d9,d10,d11,d12,d13,d14,d15} + ldmia sp!, {r7,r8,r9,r10,r11, pc} @ return + + +.globl _vpaes_set_decrypt_key +.private_extern _vpaes_set_decrypt_key +#ifdef __thumb2__ +.thumb_func _vpaes_set_decrypt_key +#endif +.align 4 +_vpaes_set_decrypt_key: + stmdb sp!, {r7,r8,r9,r10,r11, lr} + vstmdb sp!, {d8,d9,d10,d11,d12,d13,d14,d15} + + lsr r9, r1, #5 @ shr $5,%eax + add r9, r9, #5 @ $5,%eax + str r9, [r2,#240] @ mov %eax,240(%rdx) # AES_KEY->rounds = nbits/32+5; + lsl r9, r9, #4 @ shl $4,%eax + add r2, r2, #16 @ lea 16(%rdx,%rax),%rdx + add r2, r2, r9 + + mov r3, #1 @ mov $1,%ecx + lsr r8, r1, #1 @ shr $1,%r8d + and r8, r8, #32 @ and $32,%r8d + eor r8, r8, #32 @ xor $32,%r8d # nbits==192?0:32 + bl _vpaes_schedule_core + + vldmia sp!, {d8,d9,d10,d11,d12,d13,d14,d15} + ldmia sp!, {r7,r8,r9,r10,r11, pc} @ return + + +@ Additional constants for converting to bsaes. + +.align 4 +_vpaes_convert_consts: +@ .Lk_opt_then_skew applies skew(opt(x)) XOR 0x63, where skew is the linear +@ transform in the AES S-box. 0x63 is incorporated into the low half of the +@ table. This was computed with the following script: +@ +@ def u64s_to_u128(x, y): +@ return x | (y << 64) +@ def u128_to_u64s(w): +@ return w & ((1<<64)-1), w >> 64 +@ def get_byte(w, i): +@ return (w >> (i*8)) & 0xff +@ def apply_table(table, b): +@ lo = b & 0xf +@ hi = b >> 4 +@ return get_byte(table[0], lo) ^ get_byte(table[1], hi) +@ def opt(b): +@ table = [ +@ u64s_to_u128(0xFF9F4929D6B66000, 0xF7974121DEBE6808), +@ u64s_to_u128(0x01EDBD5150BCEC00, 0xE10D5DB1B05C0CE0), +@ ] +@ return apply_table(table, b) +@ def rot_byte(b, n): +@ return 0xff & ((b << n) | (b >> (8-n))) +@ def skew(x): +@ return (x ^ rot_byte(x, 1) ^ rot_byte(x, 2) ^ rot_byte(x, 3) ^ +@ rot_byte(x, 4)) +@ table = [0, 0] +@ for i in range(16): +@ table[0] |= (skew(opt(i)) ^ 0x63) << (i*8) +@ table[1] |= skew(opt(i<<4)) << (i*8) +@ print(" .quad 0x%016x, 0x%016x" % u128_to_u64s(table[0])) +@ print(" .quad 0x%016x, 0x%016x" % u128_to_u64s(table[1])) +Lk_opt_then_skew: +.quad 0x9cb8436798bc4763, 0x6440bb9f6044bf9b +.quad 0x1f30062936192f00, 0xb49bad829db284ab + +@ .Lk_decrypt_transform is a permutation which performs an 8-bit left-rotation +@ followed by a byte-swap on each 32-bit word of a vector. E.g., 0x11223344 +@ becomes 0x22334411 and then 0x11443322. +Lk_decrypt_transform: +.quad 0x0704050603000102, 0x0f0c0d0e0b08090a + + +@ void vpaes_encrypt_key_to_bsaes(AES_KEY *bsaes, const AES_KEY *vpaes); +.globl _vpaes_encrypt_key_to_bsaes +.private_extern _vpaes_encrypt_key_to_bsaes +#ifdef __thumb2__ +.thumb_func _vpaes_encrypt_key_to_bsaes +#endif +.align 4 +_vpaes_encrypt_key_to_bsaes: + stmdb sp!, {r11, lr} + + @ See _vpaes_schedule_core for the key schedule logic. In particular, + @ _vpaes_schedule_transform(.Lk_ipt) (section 2.2 of the paper), + @ _vpaes_schedule_mangle (section 4.3), and .Lschedule_mangle_last + @ contain the transformations not in the bsaes representation. This + @ function inverts those transforms. + @ + @ Note also that bsaes-armv7.pl expects aes-armv4.pl's key + @ representation, which does not match the other aes_nohw_* + @ implementations. The ARM aes_nohw_* stores each 32-bit word + @ byteswapped, as a convenience for (unsupported) big-endian ARM, at the + @ cost of extra REV and VREV32 operations in little-endian ARM. + + vmov.i8 q9, #0x0f @ Required by _vpaes_schedule_transform + adr r2, Lk_mc_forward @ Must be aligned to 8 mod 16. + add r3, r2, 0x90 @ Lk_sr+0x10-Lk_mc_forward = 0x90 (Apple's toolchain doesn't support the expression) + + vld1.64 {q12}, [r2] + vmov.i8 q10, #0x5b @ Lk_s63 from vpaes-x86_64 + adr r11, Lk_opt @ Must be aligned to 8 mod 16. + vmov.i8 q11, #0x63 @ LK_s63 without Lk_ipt applied + + @ vpaes stores one fewer round count than bsaes, but the number of keys + @ is the same. + ldr r2, [r1,#240] + add r2, r2, #1 + str r2, [r0,#240] + + @ The first key is transformed with _vpaes_schedule_transform(.Lk_ipt). + @ Invert this with .Lk_opt. + vld1.64 {q0}, [r1]! + bl _vpaes_schedule_transform + vrev32.8 q0, q0 + vst1.64 {q0}, [r0]! + + @ The middle keys have _vpaes_schedule_transform(.Lk_ipt) applied, + @ followed by _vpaes_schedule_mangle. _vpaes_schedule_mangle XORs 0x63, + @ multiplies by the circulant 0,1,1,1, then applies ShiftRows. +Loop_enc_key_to_bsaes: + vld1.64 {q0}, [r1]! + + @ Invert the ShiftRows step (see .Lschedule_mangle_both). Note we cycle + @ r3 in the opposite direction and start at .Lk_sr+0x10 instead of 0x30. + @ We use r3 rather than r8 to avoid a callee-saved register. + vld1.64 {q1}, [r3] + vtbl.8 d4, {q0}, d2 + vtbl.8 d5, {q0}, d3 + add r3, r3, #16 + and r3, r3, #~(1<<6) + vmov q0, q2 + + @ Handle the last key differently. + subs r2, r2, #1 + beq Loop_enc_key_to_bsaes_last + + @ Multiply by the circulant. This is its own inverse. + vtbl.8 d2, {q0}, d24 + vtbl.8 d3, {q0}, d25 + vmov q0, q1 + vtbl.8 d4, {q1}, d24 + vtbl.8 d5, {q1}, d25 + veor q0, q0, q2 + vtbl.8 d2, {q2}, d24 + vtbl.8 d3, {q2}, d25 + veor q0, q0, q1 + + @ XOR and finish. + veor q0, q0, q10 + bl _vpaes_schedule_transform + vrev32.8 q0, q0 + vst1.64 {q0}, [r0]! + b Loop_enc_key_to_bsaes + +Loop_enc_key_to_bsaes_last: + @ The final key does not have a basis transform (note + @ .Lschedule_mangle_last inverts the original transform). It only XORs + @ 0x63 and applies ShiftRows. The latter was already inverted in the + @ loop. Note that, because we act on the original representation, we use + @ q11, not q10. + veor q0, q0, q11 + vrev32.8 q0, q0 + vst1.64 {q0}, [r0] + + @ Wipe registers which contained key material. + veor q0, q0, q0 + veor q1, q1, q1 + veor q2, q2, q2 + + ldmia sp!, {r11, pc} @ return + + +@ void vpaes_decrypt_key_to_bsaes(AES_KEY *vpaes, const AES_KEY *bsaes); +.globl _vpaes_decrypt_key_to_bsaes +.private_extern _vpaes_decrypt_key_to_bsaes +#ifdef __thumb2__ +.thumb_func _vpaes_decrypt_key_to_bsaes +#endif +.align 4 +_vpaes_decrypt_key_to_bsaes: + stmdb sp!, {r11, lr} + + @ See _vpaes_schedule_core for the key schedule logic. Note vpaes + @ computes the decryption key schedule in reverse. Additionally, + @ aes-x86_64.pl shares some transformations, so we must only partially + @ invert vpaes's transformations. In general, vpaes computes in a + @ different basis (.Lk_ipt and .Lk_opt) and applies the inverses of + @ MixColumns, ShiftRows, and the affine part of the AES S-box (which is + @ split into a linear skew and XOR of 0x63). We undo all but MixColumns. + @ + @ Note also that bsaes-armv7.pl expects aes-armv4.pl's key + @ representation, which does not match the other aes_nohw_* + @ implementations. The ARM aes_nohw_* stores each 32-bit word + @ byteswapped, as a convenience for (unsupported) big-endian ARM, at the + @ cost of extra REV and VREV32 operations in little-endian ARM. + + adr r2, Lk_decrypt_transform + adr r3, Lk_sr+0x30 + adr r11, Lk_opt_then_skew @ Input to _vpaes_schedule_transform. + vld1.64 {q12}, [r2] @ Reuse q12 from encryption. + vmov.i8 q9, #0x0f @ Required by _vpaes_schedule_transform + + @ vpaes stores one fewer round count than bsaes, but the number of keys + @ is the same. + ldr r2, [r1,#240] + add r2, r2, #1 + str r2, [r0,#240] + + @ Undo the basis change and reapply the S-box affine transform. See + @ .Lschedule_mangle_last. + vld1.64 {q0}, [r1]! + bl _vpaes_schedule_transform + vrev32.8 q0, q0 + vst1.64 {q0}, [r0]! + + @ See _vpaes_schedule_mangle for the transform on the middle keys. Note + @ it simultaneously inverts MixColumns and the S-box affine transform. + @ See .Lk_dksd through .Lk_dks9. +Loop_dec_key_to_bsaes: + vld1.64 {q0}, [r1]! + + @ Invert the ShiftRows step (see .Lschedule_mangle_both). Note going + @ forwards cancels inverting for which direction we cycle r3. We use r3 + @ rather than r8 to avoid a callee-saved register. + vld1.64 {q1}, [r3] + vtbl.8 d4, {q0}, d2 + vtbl.8 d5, {q0}, d3 + add r3, r3, #64-16 + and r3, r3, #~(1<<6) + vmov q0, q2 + + @ Handle the last key differently. + subs r2, r2, #1 + beq Loop_dec_key_to_bsaes_last + + @ Undo the basis change and reapply the S-box affine transform. + bl _vpaes_schedule_transform + + @ Rotate each word by 8 bytes (cycle the rows) and then byte-swap. We + @ combine the two operations in .Lk_decrypt_transform. + @ + @ TODO(davidben): Where does the rotation come from? + vtbl.8 d2, {q0}, d24 + vtbl.8 d3, {q0}, d25 + + vst1.64 {q1}, [r0]! + b Loop_dec_key_to_bsaes + +Loop_dec_key_to_bsaes_last: + @ The final key only inverts ShiftRows (already done in the loop). See + @ .Lschedule_am_decrypting. Its basis is not transformed. + vrev32.8 q0, q0 + vst1.64 {q0}, [r0]! + + @ Wipe registers which contained key material. + veor q0, q0, q0 + veor q1, q1, q1 + veor q2, q2, q2 + + ldmia sp!, {r11, pc} @ return + +.globl _vpaes_ctr32_encrypt_blocks +.private_extern _vpaes_ctr32_encrypt_blocks +#ifdef __thumb2__ +.thumb_func _vpaes_ctr32_encrypt_blocks +#endif +.align 4 +_vpaes_ctr32_encrypt_blocks: + mov ip, sp + stmdb sp!, {r7,r8,r9,r10,r11, lr} + @ This function uses q4-q7 (d8-d15), which are callee-saved. + vstmdb sp!, {d8,d9,d10,d11,d12,d13,d14,d15} + + cmp r2, #0 + @ r8 is passed on the stack. + ldr r8, [ip] + beq Lctr32_done + + @ _vpaes_encrypt_core expects the key in r2, so swap r2 and r3. + mov r9, r3 + mov r3, r2 + mov r2, r9 + + @ Load the IV and counter portion. + ldr r7, [r8, #12] + vld1.8 {q7}, [r8] + + bl _vpaes_preheat + rev r7, r7 @ The counter is big-endian. + +Lctr32_loop: + vmov q0, q7 + vld1.8 {q6}, [r0]! @ Load input ahead of time + bl _vpaes_encrypt_core + veor q0, q0, q6 @ XOR input and result + vst1.8 {q0}, [r1]! + subs r3, r3, #1 + @ Update the counter. + add r7, r7, #1 + rev r9, r7 + vmov.32 d15[1], r9 + bne Lctr32_loop + +Lctr32_done: + vldmia sp!, {d8,d9,d10,d11,d12,d13,d14,d15} + ldmia sp!, {r7,r8,r9,r10,r11, pc} @ return + +#endif // !OPENSSL_NO_ASM diff --git a/contrib/boringssl-cmake/ios-arm/crypto/test/trampoline-armv4.S b/contrib/boringssl-cmake/ios-arm/crypto/test/trampoline-armv4.S index 51ac249ef55..9d74f553adf 100644 --- a/contrib/boringssl-cmake/ios-arm/crypto/test/trampoline-armv4.S +++ b/contrib/boringssl-cmake/ios-arm/crypto/test/trampoline-armv4.S @@ -30,7 +30,6 @@ .private_extern _abi_test_trampoline .align 4 _abi_test_trampoline: -Labi_test_trampoline_begin: @ Save parameters and all callee-saved registers. For convenience, we @ save r9 on iOS even though it's volatile. vstmdb sp!, {d8,d9,d10,d11,d12,d13,d14,d15} diff --git a/contrib/boringssl-cmake/linux-aarch64/crypto/chacha/chacha-armv8.S b/contrib/boringssl-cmake/linux-aarch64/crypto/chacha/chacha-armv8.S index e05a265f9c5..80f7eaa4098 100644 --- a/contrib/boringssl-cmake/linux-aarch64/crypto/chacha/chacha-armv8.S +++ b/contrib/boringssl-cmake/linux-aarch64/crypto/chacha/chacha-armv8.S @@ -34,6 +34,7 @@ .type ChaCha20_ctr32,%function .align 5 ChaCha20_ctr32: + AARCH64_VALID_CALL_TARGET cbz x2,.Labort #if __has_feature(hwaddress_sanitizer) && __clang_major__ >= 10 adrp x5,:pg_hi21_nc:OPENSSL_armcap_P @@ -47,6 +48,7 @@ ChaCha20_ctr32: b.ne ChaCha20_neon .Lshort: + AARCH64_SIGN_LINK_REGISTER stp x29,x30,[sp,#-96]! add x29,sp,#0 @@ -259,6 +261,7 @@ ChaCha20_ctr32: ldp x25,x26,[x29,#64] ldp x27,x28,[x29,#80] ldp x29,x30,[sp],#96 + AARCH64_VALIDATE_LINK_REGISTER .Labort: ret @@ -315,12 +318,14 @@ ChaCha20_ctr32: ldp x25,x26,[x29,#64] ldp x27,x28,[x29,#80] ldp x29,x30,[sp],#96 + AARCH64_VALIDATE_LINK_REGISTER ret .size ChaCha20_ctr32,.-ChaCha20_ctr32 .type ChaCha20_neon,%function .align 5 ChaCha20_neon: + AARCH64_SIGN_LINK_REGISTER stp x29,x30,[sp,#-96]! add x29,sp,#0 @@ -701,6 +706,7 @@ ChaCha20_neon: ldp x25,x26,[x29,#64] ldp x27,x28,[x29,#80] ldp x29,x30,[sp],#96 + AARCH64_VALIDATE_LINK_REGISTER ret .Ltail_neon: @@ -810,11 +816,13 @@ ChaCha20_neon: ldp x25,x26,[x29,#64] ldp x27,x28,[x29,#80] ldp x29,x30,[sp],#96 + AARCH64_VALIDATE_LINK_REGISTER ret .size ChaCha20_neon,.-ChaCha20_neon .type ChaCha20_512_neon,%function .align 5 ChaCha20_512_neon: + AARCH64_SIGN_LINK_REGISTER stp x29,x30,[sp,#-96]! add x29,sp,#0 @@ -1978,7 +1986,9 @@ ChaCha20_512_neon: ldp x25,x26,[x29,#64] ldp x27,x28,[x29,#80] ldp x29,x30,[sp],#96 + AARCH64_VALIDATE_LINK_REGISTER ret .size ChaCha20_512_neon,.-ChaCha20_512_neon #endif #endif // !OPENSSL_NO_ASM +.section .note.GNU-stack,"",%progbits diff --git a/contrib/boringssl-cmake/linux-aarch64/crypto/fipsmodule/aesv8-armx64.S b/contrib/boringssl-cmake/linux-aarch64/crypto/fipsmodule/aesv8-armx64.S index 1680444e099..24af2da5462 100644 --- a/contrib/boringssl-cmake/linux-aarch64/crypto/fipsmodule/aesv8-armx64.S +++ b/contrib/boringssl-cmake/linux-aarch64/crypto/fipsmodule/aesv8-armx64.S @@ -33,6 +33,8 @@ .align 5 aes_hw_set_encrypt_key: .Lenc_key: + // Armv8.3-A PAuth: even though x30 is pushed to stack it is not popped later. + AARCH64_VALID_CALL_TARGET stp x29,x30,[sp,#-16]! add x29,sp,#0 mov x3,#-1 @@ -201,6 +203,7 @@ aes_hw_set_encrypt_key: .type aes_hw_set_decrypt_key,%function .align 5 aes_hw_set_decrypt_key: + AARCH64_SIGN_LINK_REGISTER stp x29,x30,[sp,#-16]! add x29,sp,#0 bl .Lenc_key @@ -234,6 +237,7 @@ aes_hw_set_decrypt_key: eor x0,x0,x0 // return value .Ldec_key_abort: ldp x29,x30,[sp],#16 + AARCH64_VALIDATE_LINK_REGISTER ret .size aes_hw_set_decrypt_key,.-aes_hw_set_decrypt_key .globl aes_hw_encrypt @@ -241,6 +245,7 @@ aes_hw_set_decrypt_key: .type aes_hw_encrypt,%function .align 5 aes_hw_encrypt: + AARCH64_VALID_CALL_TARGET ldr w3,[x2,#240] ld1 {v0.4s},[x2],#16 ld1 {v2.16b},[x0] @@ -271,6 +276,7 @@ aes_hw_encrypt: .type aes_hw_decrypt,%function .align 5 aes_hw_decrypt: + AARCH64_VALID_CALL_TARGET ldr w3,[x2,#240] ld1 {v0.4s},[x2],#16 ld1 {v2.16b},[x0] @@ -301,6 +307,8 @@ aes_hw_decrypt: .type aes_hw_cbc_encrypt,%function .align 5 aes_hw_cbc_encrypt: + // Armv8.3-A PAuth: even though x30 is pushed to stack it is not popped later. + AARCH64_VALID_CALL_TARGET stp x29,x30,[sp,#-16]! add x29,sp,#0 subs x2,x2,#16 @@ -592,6 +600,8 @@ aes_hw_cbc_encrypt: .type aes_hw_ctr32_encrypt_blocks,%function .align 5 aes_hw_ctr32_encrypt_blocks: + // Armv8.3-A PAuth: even though x30 is pushed to stack it is not popped later. + AARCH64_VALID_CALL_TARGET stp x29,x30,[sp,#-16]! add x29,sp,#0 ldr w5,[x3,#240] @@ -772,3 +782,4 @@ aes_hw_ctr32_encrypt_blocks: #endif #endif #endif // !OPENSSL_NO_ASM +.section .note.GNU-stack,"",%progbits diff --git a/contrib/boringssl-cmake/linux-aarch64/crypto/fipsmodule/armv8-mont.S b/contrib/boringssl-cmake/linux-aarch64/crypto/fipsmodule/armv8-mont.S index 1ea05ba9f6f..db89859a36a 100644 --- a/contrib/boringssl-cmake/linux-aarch64/crypto/fipsmodule/armv8-mont.S +++ b/contrib/boringssl-cmake/linux-aarch64/crypto/fipsmodule/armv8-mont.S @@ -13,6 +13,8 @@ #if defined(BORINGSSL_PREFIX) #include #endif +#include + .text .globl bn_mul_mont @@ -20,6 +22,7 @@ .type bn_mul_mont,%function .align 5 bn_mul_mont: + AARCH64_SIGN_LINK_REGISTER tst x5,#7 b.eq __bn_sqr8x_mont tst x5,#3 @@ -217,11 +220,14 @@ bn_mul_mont: mov x0,#1 ldp x23,x24,[x29,#48] ldr x29,[sp],#64 + AARCH64_VALIDATE_LINK_REGISTER ret .size bn_mul_mont,.-bn_mul_mont .type __bn_sqr8x_mont,%function .align 5 __bn_sqr8x_mont: + // Not adding AARCH64_SIGN_LINK_REGISTER here because __bn_sqr8x_mont is jumped to + // only from bn_mul_mont which has already signed the return address. cmp x1,x2 b.ne __bn_mul4x_mont .Lsqr8x_mont: @@ -975,11 +981,16 @@ __bn_sqr8x_mont: ldp x25,x26,[x29,#64] ldp x27,x28,[x29,#80] ldr x29,[sp],#128 + // x30 is popped earlier + AARCH64_VALIDATE_LINK_REGISTER ret .size __bn_sqr8x_mont,.-__bn_sqr8x_mont .type __bn_mul4x_mont,%function .align 5 __bn_mul4x_mont: + // Not adding AARCH64_SIGN_LINK_REGISTER here because __bn_mul4x_mont is jumped to + // only from bn_mul_mont or __bn_mul8x_mont which have already signed the + // return address. stp x29,x30,[sp,#-128]! add x29,sp,#0 stp x19,x20,[sp,#16] @@ -1413,6 +1424,8 @@ __bn_mul4x_mont: ldp x25,x26,[x29,#64] ldp x27,x28,[x29,#80] ldr x29,[sp],#128 + // x30 is popped earlier + AARCH64_VALIDATE_LINK_REGISTER ret .size __bn_mul4x_mont,.-__bn_mul4x_mont .byte 77,111,110,116,103,111,109,101,114,121,32,77,117,108,116,105,112,108,105,99,97,116,105,111,110,32,102,111,114,32,65,82,77,118,56,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 @@ -1420,3 +1433,4 @@ __bn_mul4x_mont: .align 4 #endif #endif // !OPENSSL_NO_ASM +.section .note.GNU-stack,"",%progbits diff --git a/contrib/boringssl-cmake/linux-aarch64/crypto/fipsmodule/ghash-neon-armv8.S b/contrib/boringssl-cmake/linux-aarch64/crypto/fipsmodule/ghash-neon-armv8.S index 356768307dc..098967b5de8 100644 --- a/contrib/boringssl-cmake/linux-aarch64/crypto/fipsmodule/ghash-neon-armv8.S +++ b/contrib/boringssl-cmake/linux-aarch64/crypto/fipsmodule/ghash-neon-armv8.S @@ -13,6 +13,8 @@ #if defined(BORINGSSL_PREFIX) #include #endif +#include + .text .globl gcm_init_neon @@ -20,6 +22,7 @@ .type gcm_init_neon,%function .align 4 gcm_init_neon: + AARCH64_VALID_CALL_TARGET // This function is adapted from gcm_init_v8. xC2 is t3. ld1 {v17.2d}, [x1] // load H movi v19.16b, #0xe1 @@ -45,6 +48,7 @@ gcm_init_neon: .type gcm_gmult_neon,%function .align 4 gcm_gmult_neon: + AARCH64_VALID_CALL_TARGET ld1 {v3.16b}, [x0] // load Xi ld1 {v5.1d}, [x1], #8 // load twisted H ld1 {v6.1d}, [x1] @@ -64,6 +68,7 @@ gcm_gmult_neon: .type gcm_ghash_neon,%function .align 4 gcm_ghash_neon: + AARCH64_VALID_CALL_TARGET ld1 {v0.16b}, [x0] // load Xi ld1 {v5.1d}, [x1], #8 // load twisted H ld1 {v6.1d}, [x1] @@ -338,3 +343,4 @@ gcm_ghash_neon: .align 2 #endif #endif // !OPENSSL_NO_ASM +.section .note.GNU-stack,"",%progbits diff --git a/contrib/boringssl-cmake/linux-aarch64/crypto/fipsmodule/ghashv8-armx64.S b/contrib/boringssl-cmake/linux-aarch64/crypto/fipsmodule/ghashv8-armx64.S index 1267937bbf2..62e588428e6 100644 --- a/contrib/boringssl-cmake/linux-aarch64/crypto/fipsmodule/ghashv8-armx64.S +++ b/contrib/boringssl-cmake/linux-aarch64/crypto/fipsmodule/ghashv8-armx64.S @@ -22,6 +22,7 @@ .type gcm_init_v8,%function .align 4 gcm_init_v8: + AARCH64_VALID_CALL_TARGET ld1 {v17.2d},[x1] //load input H movi v19.16b,#0xe1 shl v19.2d,v19.2d,#57 //0xc2.0 @@ -73,6 +74,7 @@ gcm_init_v8: .type gcm_gmult_v8,%function .align 4 gcm_gmult_v8: + AARCH64_VALID_CALL_TARGET ld1 {v17.2d},[x0] //load Xi movi v19.16b,#0xe1 ld1 {v20.2d,v21.2d},[x1] //load twisted H, ... @@ -115,6 +117,7 @@ gcm_gmult_v8: .type gcm_ghash_v8,%function .align 4 gcm_ghash_v8: + AARCH64_VALID_CALL_TARGET ld1 {v0.2d},[x0] //load [rotated] Xi //"[rotated]" means that //loaded value would have @@ -246,3 +249,4 @@ gcm_ghash_v8: .align 2 #endif #endif // !OPENSSL_NO_ASM +.section .note.GNU-stack,"",%progbits diff --git a/contrib/boringssl-cmake/linux-aarch64/crypto/fipsmodule/sha1-armv8.S b/contrib/boringssl-cmake/linux-aarch64/crypto/fipsmodule/sha1-armv8.S index ecb48859e70..2f8b60c55b5 100644 --- a/contrib/boringssl-cmake/linux-aarch64/crypto/fipsmodule/sha1-armv8.S +++ b/contrib/boringssl-cmake/linux-aarch64/crypto/fipsmodule/sha1-armv8.S @@ -23,6 +23,8 @@ .type sha1_block_data_order,%function .align 6 sha1_block_data_order: + // Armv8.3-A PAuth: even though x30 is pushed to stack it is not popped later. + AARCH64_VALID_CALL_TARGET #if __has_feature(hwaddress_sanitizer) && __clang_major__ >= 10 adrp x16,:pg_hi21_nc:OPENSSL_armcap_P #else @@ -1090,6 +1092,8 @@ sha1_block_data_order: .type sha1_block_armv8,%function .align 6 sha1_block_armv8: + // Armv8.3-A PAuth: even though x30 is pushed to stack it is not popped later. + AARCH64_VALID_CALL_TARGET .Lv8_entry: stp x29,x30,[sp,#-16]! add x29,sp,#0 @@ -1232,3 +1236,4 @@ sha1_block_armv8: .hidden OPENSSL_armcap_P #endif #endif // !OPENSSL_NO_ASM +.section .note.GNU-stack,"",%progbits diff --git a/contrib/boringssl-cmake/linux-aarch64/crypto/fipsmodule/sha256-armv8.S b/contrib/boringssl-cmake/linux-aarch64/crypto/fipsmodule/sha256-armv8.S index b3196882e5f..65b2410e5c2 100644 --- a/contrib/boringssl-cmake/linux-aarch64/crypto/fipsmodule/sha256-armv8.S +++ b/contrib/boringssl-cmake/linux-aarch64/crypto/fipsmodule/sha256-armv8.S @@ -64,6 +64,7 @@ .type sha256_block_data_order,%function .align 6 sha256_block_data_order: + AARCH64_VALID_CALL_TARGET #ifndef __KERNEL__ #if __has_feature(hwaddress_sanitizer) && __clang_major__ >= 10 adrp x16,:pg_hi21_nc:OPENSSL_armcap_P @@ -74,6 +75,7 @@ sha256_block_data_order: tst w16,#ARMV8_SHA256 b.ne .Lv8_entry #endif + AARCH64_SIGN_LINK_REGISTER stp x29,x30,[sp,#-128]! add x29,sp,#0 @@ -1034,6 +1036,7 @@ sha256_block_data_order: ldp x25,x26,[x29,#64] ldp x27,x28,[x29,#80] ldp x29,x30,[sp],#128 + AARCH64_VALIDATE_LINK_REGISTER ret .size sha256_block_data_order,.-sha256_block_data_order @@ -1068,6 +1071,7 @@ sha256_block_data_order: .align 6 sha256_block_armv8: .Lv8_entry: + // Armv8.3-A PAuth: even though x30 is pushed to stack it is not popped later. stp x29,x30,[sp,#-16]! add x29,sp,#0 @@ -1210,3 +1214,4 @@ sha256_block_armv8: #endif #endif #endif // !OPENSSL_NO_ASM +.section .note.GNU-stack,"",%progbits diff --git a/contrib/boringssl-cmake/linux-aarch64/crypto/fipsmodule/sha512-armv8.S b/contrib/boringssl-cmake/linux-aarch64/crypto/fipsmodule/sha512-armv8.S index 37e00d79f4b..d214d47065c 100644 --- a/contrib/boringssl-cmake/linux-aarch64/crypto/fipsmodule/sha512-armv8.S +++ b/contrib/boringssl-cmake/linux-aarch64/crypto/fipsmodule/sha512-armv8.S @@ -64,6 +64,7 @@ .type sha512_block_data_order,%function .align 6 sha512_block_data_order: + AARCH64_SIGN_LINK_REGISTER stp x29,x30,[sp,#-128]! add x29,sp,#0 @@ -1024,6 +1025,7 @@ sha512_block_data_order: ldp x25,x26,[x29,#64] ldp x27,x28,[x29,#80] ldp x29,x30,[sp],#128 + AARCH64_VALIDATE_LINK_REGISTER ret .size sha512_block_data_order,.-sha512_block_data_order @@ -1082,3 +1084,4 @@ sha512_block_data_order: #endif #endif #endif // !OPENSSL_NO_ASM +.section .note.GNU-stack,"",%progbits diff --git a/contrib/boringssl-cmake/linux-aarch64/crypto/fipsmodule/vpaes-armv8.S b/contrib/boringssl-cmake/linux-aarch64/crypto/fipsmodule/vpaes-armv8.S index 3a34209d150..c3a2bcb810b 100644 --- a/contrib/boringssl-cmake/linux-aarch64/crypto/fipsmodule/vpaes-armv8.S +++ b/contrib/boringssl-cmake/linux-aarch64/crypto/fipsmodule/vpaes-armv8.S @@ -13,6 +13,8 @@ #if defined(BORINGSSL_PREFIX) #include #endif +#include + .section .rodata .type _vpaes_consts,%object @@ -215,6 +217,7 @@ _vpaes_encrypt_core: .type vpaes_encrypt,%function .align 4 vpaes_encrypt: + AARCH64_SIGN_LINK_REGISTER stp x29,x30,[sp,#-16]! add x29,sp,#0 @@ -224,6 +227,7 @@ vpaes_encrypt: st1 {v0.16b}, [x1] ldp x29,x30,[sp],#16 + AARCH64_VALIDATE_LINK_REGISTER ret .size vpaes_encrypt,.-vpaes_encrypt @@ -452,6 +456,7 @@ _vpaes_decrypt_core: .type vpaes_decrypt,%function .align 4 vpaes_decrypt: + AARCH64_SIGN_LINK_REGISTER stp x29,x30,[sp,#-16]! add x29,sp,#0 @@ -461,6 +466,7 @@ vpaes_decrypt: st1 {v0.16b}, [x1] ldp x29,x30,[sp],#16 + AARCH64_VALIDATE_LINK_REGISTER ret .size vpaes_decrypt,.-vpaes_decrypt @@ -630,6 +636,7 @@ _vpaes_key_preheat: .type _vpaes_schedule_core,%function .align 4 _vpaes_schedule_core: + AARCH64_SIGN_LINK_REGISTER stp x29, x30, [sp,#-16]! add x29,sp,#0 @@ -799,6 +806,7 @@ _vpaes_schedule_core: eor v6.16b, v6.16b, v6.16b // vpxor %xmm6, %xmm6, %xmm6 eor v7.16b, v7.16b, v7.16b // vpxor %xmm7, %xmm7, %xmm7 ldp x29, x30, [sp],#16 + AARCH64_VALIDATE_LINK_REGISTER ret .size _vpaes_schedule_core,.-_vpaes_schedule_core @@ -1012,6 +1020,7 @@ _vpaes_schedule_mangle: .type vpaes_set_encrypt_key,%function .align 4 vpaes_set_encrypt_key: + AARCH64_SIGN_LINK_REGISTER stp x29,x30,[sp,#-16]! add x29,sp,#0 stp d8,d9,[sp,#-16]! // ABI spec says so @@ -1027,6 +1036,7 @@ vpaes_set_encrypt_key: ldp d8,d9,[sp],#16 ldp x29,x30,[sp],#16 + AARCH64_VALIDATE_LINK_REGISTER ret .size vpaes_set_encrypt_key,.-vpaes_set_encrypt_key @@ -1035,6 +1045,7 @@ vpaes_set_encrypt_key: .type vpaes_set_decrypt_key,%function .align 4 vpaes_set_decrypt_key: + AARCH64_SIGN_LINK_REGISTER stp x29,x30,[sp,#-16]! add x29,sp,#0 stp d8,d9,[sp,#-16]! // ABI spec says so @@ -1054,6 +1065,7 @@ vpaes_set_decrypt_key: ldp d8,d9,[sp],#16 ldp x29,x30,[sp],#16 + AARCH64_VALIDATE_LINK_REGISTER ret .size vpaes_set_decrypt_key,.-vpaes_set_decrypt_key .globl vpaes_cbc_encrypt @@ -1061,6 +1073,7 @@ vpaes_set_decrypt_key: .type vpaes_cbc_encrypt,%function .align 4 vpaes_cbc_encrypt: + AARCH64_SIGN_LINK_REGISTER cbz x2, .Lcbc_abort cmp w5, #0 // check direction b.eq vpaes_cbc_decrypt @@ -1087,6 +1100,7 @@ vpaes_cbc_encrypt: st1 {v0.16b}, [x4] // write ivec ldp x29,x30,[sp],#16 + AARCH64_VALIDATE_LINK_REGISTER .Lcbc_abort: ret .size vpaes_cbc_encrypt,.-vpaes_cbc_encrypt @@ -1094,6 +1108,8 @@ vpaes_cbc_encrypt: .type vpaes_cbc_decrypt,%function .align 4 vpaes_cbc_decrypt: + // Not adding AARCH64_SIGN_LINK_REGISTER here because vpaes_cbc_decrypt is jumped to + // only from vpaes_cbc_encrypt which has already signed the return address. stp x29,x30,[sp,#-16]! add x29,sp,#0 stp d8,d9,[sp,#-16]! // ABI spec says so @@ -1135,6 +1151,7 @@ vpaes_cbc_decrypt: ldp d10,d11,[sp],#16 ldp d8,d9,[sp],#16 ldp x29,x30,[sp],#16 + AARCH64_VALIDATE_LINK_REGISTER ret .size vpaes_cbc_decrypt,.-vpaes_cbc_decrypt .globl vpaes_ctr32_encrypt_blocks @@ -1142,6 +1159,7 @@ vpaes_cbc_decrypt: .type vpaes_ctr32_encrypt_blocks,%function .align 4 vpaes_ctr32_encrypt_blocks: + AARCH64_SIGN_LINK_REGISTER stp x29,x30,[sp,#-16]! add x29,sp,#0 stp d8,d9,[sp,#-16]! // ABI spec says so @@ -1209,7 +1227,9 @@ vpaes_ctr32_encrypt_blocks: ldp d10,d11,[sp],#16 ldp d8,d9,[sp],#16 ldp x29,x30,[sp],#16 + AARCH64_VALIDATE_LINK_REGISTER ret .size vpaes_ctr32_encrypt_blocks,.-vpaes_ctr32_encrypt_blocks #endif #endif // !OPENSSL_NO_ASM +.section .note.GNU-stack,"",%progbits diff --git a/contrib/boringssl-cmake/linux-aarch64/crypto/test/trampoline-armv8.S b/contrib/boringssl-cmake/linux-aarch64/crypto/test/trampoline-armv8.S index f5296f685eb..8928d7f54ed 100644 --- a/contrib/boringssl-cmake/linux-aarch64/crypto/test/trampoline-armv8.S +++ b/contrib/boringssl-cmake/linux-aarch64/crypto/test/trampoline-armv8.S @@ -13,6 +13,8 @@ #if defined(BORINGSSL_PREFIX) #include #endif +#include + .text // abi_test_trampoline loads callee-saved registers from |state|, calls |func| @@ -27,6 +29,7 @@ .align 4 abi_test_trampoline: .Labi_test_trampoline_begin: + AARCH64_SIGN_LINK_REGISTER // Stack layout (low to high addresses) // x29,x30 (16 bytes) // d8-d15 (64 bytes) @@ -129,6 +132,7 @@ abi_test_trampoline: ldp x27, x28, [sp, #144] ldp x29, x30, [sp], #176 + AARCH64_VALIDATE_LINK_REGISTER ret .size abi_test_trampoline,.-abi_test_trampoline .type abi_test_clobber_x0, %function @@ -136,6 +140,7 @@ abi_test_trampoline: .hidden abi_test_clobber_x0 .align 4 abi_test_clobber_x0: + AARCH64_VALID_CALL_TARGET mov x0, xzr ret .size abi_test_clobber_x0,.-abi_test_clobber_x0 @@ -144,6 +149,7 @@ abi_test_clobber_x0: .hidden abi_test_clobber_x1 .align 4 abi_test_clobber_x1: + AARCH64_VALID_CALL_TARGET mov x1, xzr ret .size abi_test_clobber_x1,.-abi_test_clobber_x1 @@ -152,6 +158,7 @@ abi_test_clobber_x1: .hidden abi_test_clobber_x2 .align 4 abi_test_clobber_x2: + AARCH64_VALID_CALL_TARGET mov x2, xzr ret .size abi_test_clobber_x2,.-abi_test_clobber_x2 @@ -160,6 +167,7 @@ abi_test_clobber_x2: .hidden abi_test_clobber_x3 .align 4 abi_test_clobber_x3: + AARCH64_VALID_CALL_TARGET mov x3, xzr ret .size abi_test_clobber_x3,.-abi_test_clobber_x3 @@ -168,6 +176,7 @@ abi_test_clobber_x3: .hidden abi_test_clobber_x4 .align 4 abi_test_clobber_x4: + AARCH64_VALID_CALL_TARGET mov x4, xzr ret .size abi_test_clobber_x4,.-abi_test_clobber_x4 @@ -176,6 +185,7 @@ abi_test_clobber_x4: .hidden abi_test_clobber_x5 .align 4 abi_test_clobber_x5: + AARCH64_VALID_CALL_TARGET mov x5, xzr ret .size abi_test_clobber_x5,.-abi_test_clobber_x5 @@ -184,6 +194,7 @@ abi_test_clobber_x5: .hidden abi_test_clobber_x6 .align 4 abi_test_clobber_x6: + AARCH64_VALID_CALL_TARGET mov x6, xzr ret .size abi_test_clobber_x6,.-abi_test_clobber_x6 @@ -192,6 +203,7 @@ abi_test_clobber_x6: .hidden abi_test_clobber_x7 .align 4 abi_test_clobber_x7: + AARCH64_VALID_CALL_TARGET mov x7, xzr ret .size abi_test_clobber_x7,.-abi_test_clobber_x7 @@ -200,6 +212,7 @@ abi_test_clobber_x7: .hidden abi_test_clobber_x8 .align 4 abi_test_clobber_x8: + AARCH64_VALID_CALL_TARGET mov x8, xzr ret .size abi_test_clobber_x8,.-abi_test_clobber_x8 @@ -208,6 +221,7 @@ abi_test_clobber_x8: .hidden abi_test_clobber_x9 .align 4 abi_test_clobber_x9: + AARCH64_VALID_CALL_TARGET mov x9, xzr ret .size abi_test_clobber_x9,.-abi_test_clobber_x9 @@ -216,6 +230,7 @@ abi_test_clobber_x9: .hidden abi_test_clobber_x10 .align 4 abi_test_clobber_x10: + AARCH64_VALID_CALL_TARGET mov x10, xzr ret .size abi_test_clobber_x10,.-abi_test_clobber_x10 @@ -224,6 +239,7 @@ abi_test_clobber_x10: .hidden abi_test_clobber_x11 .align 4 abi_test_clobber_x11: + AARCH64_VALID_CALL_TARGET mov x11, xzr ret .size abi_test_clobber_x11,.-abi_test_clobber_x11 @@ -232,6 +248,7 @@ abi_test_clobber_x11: .hidden abi_test_clobber_x12 .align 4 abi_test_clobber_x12: + AARCH64_VALID_CALL_TARGET mov x12, xzr ret .size abi_test_clobber_x12,.-abi_test_clobber_x12 @@ -240,6 +257,7 @@ abi_test_clobber_x12: .hidden abi_test_clobber_x13 .align 4 abi_test_clobber_x13: + AARCH64_VALID_CALL_TARGET mov x13, xzr ret .size abi_test_clobber_x13,.-abi_test_clobber_x13 @@ -248,6 +266,7 @@ abi_test_clobber_x13: .hidden abi_test_clobber_x14 .align 4 abi_test_clobber_x14: + AARCH64_VALID_CALL_TARGET mov x14, xzr ret .size abi_test_clobber_x14,.-abi_test_clobber_x14 @@ -256,6 +275,7 @@ abi_test_clobber_x14: .hidden abi_test_clobber_x15 .align 4 abi_test_clobber_x15: + AARCH64_VALID_CALL_TARGET mov x15, xzr ret .size abi_test_clobber_x15,.-abi_test_clobber_x15 @@ -264,6 +284,7 @@ abi_test_clobber_x15: .hidden abi_test_clobber_x16 .align 4 abi_test_clobber_x16: + AARCH64_VALID_CALL_TARGET mov x16, xzr ret .size abi_test_clobber_x16,.-abi_test_clobber_x16 @@ -272,6 +293,7 @@ abi_test_clobber_x16: .hidden abi_test_clobber_x17 .align 4 abi_test_clobber_x17: + AARCH64_VALID_CALL_TARGET mov x17, xzr ret .size abi_test_clobber_x17,.-abi_test_clobber_x17 @@ -280,6 +302,7 @@ abi_test_clobber_x17: .hidden abi_test_clobber_x19 .align 4 abi_test_clobber_x19: + AARCH64_VALID_CALL_TARGET mov x19, xzr ret .size abi_test_clobber_x19,.-abi_test_clobber_x19 @@ -288,6 +311,7 @@ abi_test_clobber_x19: .hidden abi_test_clobber_x20 .align 4 abi_test_clobber_x20: + AARCH64_VALID_CALL_TARGET mov x20, xzr ret .size abi_test_clobber_x20,.-abi_test_clobber_x20 @@ -296,6 +320,7 @@ abi_test_clobber_x20: .hidden abi_test_clobber_x21 .align 4 abi_test_clobber_x21: + AARCH64_VALID_CALL_TARGET mov x21, xzr ret .size abi_test_clobber_x21,.-abi_test_clobber_x21 @@ -304,6 +329,7 @@ abi_test_clobber_x21: .hidden abi_test_clobber_x22 .align 4 abi_test_clobber_x22: + AARCH64_VALID_CALL_TARGET mov x22, xzr ret .size abi_test_clobber_x22,.-abi_test_clobber_x22 @@ -312,6 +338,7 @@ abi_test_clobber_x22: .hidden abi_test_clobber_x23 .align 4 abi_test_clobber_x23: + AARCH64_VALID_CALL_TARGET mov x23, xzr ret .size abi_test_clobber_x23,.-abi_test_clobber_x23 @@ -320,6 +347,7 @@ abi_test_clobber_x23: .hidden abi_test_clobber_x24 .align 4 abi_test_clobber_x24: + AARCH64_VALID_CALL_TARGET mov x24, xzr ret .size abi_test_clobber_x24,.-abi_test_clobber_x24 @@ -328,6 +356,7 @@ abi_test_clobber_x24: .hidden abi_test_clobber_x25 .align 4 abi_test_clobber_x25: + AARCH64_VALID_CALL_TARGET mov x25, xzr ret .size abi_test_clobber_x25,.-abi_test_clobber_x25 @@ -336,6 +365,7 @@ abi_test_clobber_x25: .hidden abi_test_clobber_x26 .align 4 abi_test_clobber_x26: + AARCH64_VALID_CALL_TARGET mov x26, xzr ret .size abi_test_clobber_x26,.-abi_test_clobber_x26 @@ -344,6 +374,7 @@ abi_test_clobber_x26: .hidden abi_test_clobber_x27 .align 4 abi_test_clobber_x27: + AARCH64_VALID_CALL_TARGET mov x27, xzr ret .size abi_test_clobber_x27,.-abi_test_clobber_x27 @@ -352,6 +383,7 @@ abi_test_clobber_x27: .hidden abi_test_clobber_x28 .align 4 abi_test_clobber_x28: + AARCH64_VALID_CALL_TARGET mov x28, xzr ret .size abi_test_clobber_x28,.-abi_test_clobber_x28 @@ -360,6 +392,7 @@ abi_test_clobber_x28: .hidden abi_test_clobber_x29 .align 4 abi_test_clobber_x29: + AARCH64_VALID_CALL_TARGET mov x29, xzr ret .size abi_test_clobber_x29,.-abi_test_clobber_x29 @@ -368,6 +401,7 @@ abi_test_clobber_x29: .hidden abi_test_clobber_d0 .align 4 abi_test_clobber_d0: + AARCH64_VALID_CALL_TARGET fmov d0, xzr ret .size abi_test_clobber_d0,.-abi_test_clobber_d0 @@ -376,6 +410,7 @@ abi_test_clobber_d0: .hidden abi_test_clobber_d1 .align 4 abi_test_clobber_d1: + AARCH64_VALID_CALL_TARGET fmov d1, xzr ret .size abi_test_clobber_d1,.-abi_test_clobber_d1 @@ -384,6 +419,7 @@ abi_test_clobber_d1: .hidden abi_test_clobber_d2 .align 4 abi_test_clobber_d2: + AARCH64_VALID_CALL_TARGET fmov d2, xzr ret .size abi_test_clobber_d2,.-abi_test_clobber_d2 @@ -392,6 +428,7 @@ abi_test_clobber_d2: .hidden abi_test_clobber_d3 .align 4 abi_test_clobber_d3: + AARCH64_VALID_CALL_TARGET fmov d3, xzr ret .size abi_test_clobber_d3,.-abi_test_clobber_d3 @@ -400,6 +437,7 @@ abi_test_clobber_d3: .hidden abi_test_clobber_d4 .align 4 abi_test_clobber_d4: + AARCH64_VALID_CALL_TARGET fmov d4, xzr ret .size abi_test_clobber_d4,.-abi_test_clobber_d4 @@ -408,6 +446,7 @@ abi_test_clobber_d4: .hidden abi_test_clobber_d5 .align 4 abi_test_clobber_d5: + AARCH64_VALID_CALL_TARGET fmov d5, xzr ret .size abi_test_clobber_d5,.-abi_test_clobber_d5 @@ -416,6 +455,7 @@ abi_test_clobber_d5: .hidden abi_test_clobber_d6 .align 4 abi_test_clobber_d6: + AARCH64_VALID_CALL_TARGET fmov d6, xzr ret .size abi_test_clobber_d6,.-abi_test_clobber_d6 @@ -424,6 +464,7 @@ abi_test_clobber_d6: .hidden abi_test_clobber_d7 .align 4 abi_test_clobber_d7: + AARCH64_VALID_CALL_TARGET fmov d7, xzr ret .size abi_test_clobber_d7,.-abi_test_clobber_d7 @@ -432,6 +473,7 @@ abi_test_clobber_d7: .hidden abi_test_clobber_d8 .align 4 abi_test_clobber_d8: + AARCH64_VALID_CALL_TARGET fmov d8, xzr ret .size abi_test_clobber_d8,.-abi_test_clobber_d8 @@ -440,6 +482,7 @@ abi_test_clobber_d8: .hidden abi_test_clobber_d9 .align 4 abi_test_clobber_d9: + AARCH64_VALID_CALL_TARGET fmov d9, xzr ret .size abi_test_clobber_d9,.-abi_test_clobber_d9 @@ -448,6 +491,7 @@ abi_test_clobber_d9: .hidden abi_test_clobber_d10 .align 4 abi_test_clobber_d10: + AARCH64_VALID_CALL_TARGET fmov d10, xzr ret .size abi_test_clobber_d10,.-abi_test_clobber_d10 @@ -456,6 +500,7 @@ abi_test_clobber_d10: .hidden abi_test_clobber_d11 .align 4 abi_test_clobber_d11: + AARCH64_VALID_CALL_TARGET fmov d11, xzr ret .size abi_test_clobber_d11,.-abi_test_clobber_d11 @@ -464,6 +509,7 @@ abi_test_clobber_d11: .hidden abi_test_clobber_d12 .align 4 abi_test_clobber_d12: + AARCH64_VALID_CALL_TARGET fmov d12, xzr ret .size abi_test_clobber_d12,.-abi_test_clobber_d12 @@ -472,6 +518,7 @@ abi_test_clobber_d12: .hidden abi_test_clobber_d13 .align 4 abi_test_clobber_d13: + AARCH64_VALID_CALL_TARGET fmov d13, xzr ret .size abi_test_clobber_d13,.-abi_test_clobber_d13 @@ -480,6 +527,7 @@ abi_test_clobber_d13: .hidden abi_test_clobber_d14 .align 4 abi_test_clobber_d14: + AARCH64_VALID_CALL_TARGET fmov d14, xzr ret .size abi_test_clobber_d14,.-abi_test_clobber_d14 @@ -488,6 +536,7 @@ abi_test_clobber_d14: .hidden abi_test_clobber_d15 .align 4 abi_test_clobber_d15: + AARCH64_VALID_CALL_TARGET fmov d15, xzr ret .size abi_test_clobber_d15,.-abi_test_clobber_d15 @@ -496,6 +545,7 @@ abi_test_clobber_d15: .hidden abi_test_clobber_d16 .align 4 abi_test_clobber_d16: + AARCH64_VALID_CALL_TARGET fmov d16, xzr ret .size abi_test_clobber_d16,.-abi_test_clobber_d16 @@ -504,6 +554,7 @@ abi_test_clobber_d16: .hidden abi_test_clobber_d17 .align 4 abi_test_clobber_d17: + AARCH64_VALID_CALL_TARGET fmov d17, xzr ret .size abi_test_clobber_d17,.-abi_test_clobber_d17 @@ -512,6 +563,7 @@ abi_test_clobber_d17: .hidden abi_test_clobber_d18 .align 4 abi_test_clobber_d18: + AARCH64_VALID_CALL_TARGET fmov d18, xzr ret .size abi_test_clobber_d18,.-abi_test_clobber_d18 @@ -520,6 +572,7 @@ abi_test_clobber_d18: .hidden abi_test_clobber_d19 .align 4 abi_test_clobber_d19: + AARCH64_VALID_CALL_TARGET fmov d19, xzr ret .size abi_test_clobber_d19,.-abi_test_clobber_d19 @@ -528,6 +581,7 @@ abi_test_clobber_d19: .hidden abi_test_clobber_d20 .align 4 abi_test_clobber_d20: + AARCH64_VALID_CALL_TARGET fmov d20, xzr ret .size abi_test_clobber_d20,.-abi_test_clobber_d20 @@ -536,6 +590,7 @@ abi_test_clobber_d20: .hidden abi_test_clobber_d21 .align 4 abi_test_clobber_d21: + AARCH64_VALID_CALL_TARGET fmov d21, xzr ret .size abi_test_clobber_d21,.-abi_test_clobber_d21 @@ -544,6 +599,7 @@ abi_test_clobber_d21: .hidden abi_test_clobber_d22 .align 4 abi_test_clobber_d22: + AARCH64_VALID_CALL_TARGET fmov d22, xzr ret .size abi_test_clobber_d22,.-abi_test_clobber_d22 @@ -552,6 +608,7 @@ abi_test_clobber_d22: .hidden abi_test_clobber_d23 .align 4 abi_test_clobber_d23: + AARCH64_VALID_CALL_TARGET fmov d23, xzr ret .size abi_test_clobber_d23,.-abi_test_clobber_d23 @@ -560,6 +617,7 @@ abi_test_clobber_d23: .hidden abi_test_clobber_d24 .align 4 abi_test_clobber_d24: + AARCH64_VALID_CALL_TARGET fmov d24, xzr ret .size abi_test_clobber_d24,.-abi_test_clobber_d24 @@ -568,6 +626,7 @@ abi_test_clobber_d24: .hidden abi_test_clobber_d25 .align 4 abi_test_clobber_d25: + AARCH64_VALID_CALL_TARGET fmov d25, xzr ret .size abi_test_clobber_d25,.-abi_test_clobber_d25 @@ -576,6 +635,7 @@ abi_test_clobber_d25: .hidden abi_test_clobber_d26 .align 4 abi_test_clobber_d26: + AARCH64_VALID_CALL_TARGET fmov d26, xzr ret .size abi_test_clobber_d26,.-abi_test_clobber_d26 @@ -584,6 +644,7 @@ abi_test_clobber_d26: .hidden abi_test_clobber_d27 .align 4 abi_test_clobber_d27: + AARCH64_VALID_CALL_TARGET fmov d27, xzr ret .size abi_test_clobber_d27,.-abi_test_clobber_d27 @@ -592,6 +653,7 @@ abi_test_clobber_d27: .hidden abi_test_clobber_d28 .align 4 abi_test_clobber_d28: + AARCH64_VALID_CALL_TARGET fmov d28, xzr ret .size abi_test_clobber_d28,.-abi_test_clobber_d28 @@ -600,6 +662,7 @@ abi_test_clobber_d28: .hidden abi_test_clobber_d29 .align 4 abi_test_clobber_d29: + AARCH64_VALID_CALL_TARGET fmov d29, xzr ret .size abi_test_clobber_d29,.-abi_test_clobber_d29 @@ -608,6 +671,7 @@ abi_test_clobber_d29: .hidden abi_test_clobber_d30 .align 4 abi_test_clobber_d30: + AARCH64_VALID_CALL_TARGET fmov d30, xzr ret .size abi_test_clobber_d30,.-abi_test_clobber_d30 @@ -616,6 +680,7 @@ abi_test_clobber_d30: .hidden abi_test_clobber_d31 .align 4 abi_test_clobber_d31: + AARCH64_VALID_CALL_TARGET fmov d31, xzr ret .size abi_test_clobber_d31,.-abi_test_clobber_d31 @@ -624,6 +689,7 @@ abi_test_clobber_d31: .hidden abi_test_clobber_v8_upper .align 4 abi_test_clobber_v8_upper: + AARCH64_VALID_CALL_TARGET fmov v8.d[1], xzr ret .size abi_test_clobber_v8_upper,.-abi_test_clobber_v8_upper @@ -632,6 +698,7 @@ abi_test_clobber_v8_upper: .hidden abi_test_clobber_v9_upper .align 4 abi_test_clobber_v9_upper: + AARCH64_VALID_CALL_TARGET fmov v9.d[1], xzr ret .size abi_test_clobber_v9_upper,.-abi_test_clobber_v9_upper @@ -640,6 +707,7 @@ abi_test_clobber_v9_upper: .hidden abi_test_clobber_v10_upper .align 4 abi_test_clobber_v10_upper: + AARCH64_VALID_CALL_TARGET fmov v10.d[1], xzr ret .size abi_test_clobber_v10_upper,.-abi_test_clobber_v10_upper @@ -648,6 +716,7 @@ abi_test_clobber_v10_upper: .hidden abi_test_clobber_v11_upper .align 4 abi_test_clobber_v11_upper: + AARCH64_VALID_CALL_TARGET fmov v11.d[1], xzr ret .size abi_test_clobber_v11_upper,.-abi_test_clobber_v11_upper @@ -656,6 +725,7 @@ abi_test_clobber_v11_upper: .hidden abi_test_clobber_v12_upper .align 4 abi_test_clobber_v12_upper: + AARCH64_VALID_CALL_TARGET fmov v12.d[1], xzr ret .size abi_test_clobber_v12_upper,.-abi_test_clobber_v12_upper @@ -664,6 +734,7 @@ abi_test_clobber_v12_upper: .hidden abi_test_clobber_v13_upper .align 4 abi_test_clobber_v13_upper: + AARCH64_VALID_CALL_TARGET fmov v13.d[1], xzr ret .size abi_test_clobber_v13_upper,.-abi_test_clobber_v13_upper @@ -672,6 +743,7 @@ abi_test_clobber_v13_upper: .hidden abi_test_clobber_v14_upper .align 4 abi_test_clobber_v14_upper: + AARCH64_VALID_CALL_TARGET fmov v14.d[1], xzr ret .size abi_test_clobber_v14_upper,.-abi_test_clobber_v14_upper @@ -680,8 +752,10 @@ abi_test_clobber_v14_upper: .hidden abi_test_clobber_v15_upper .align 4 abi_test_clobber_v15_upper: + AARCH64_VALID_CALL_TARGET fmov v15.d[1], xzr ret .size abi_test_clobber_v15_upper,.-abi_test_clobber_v15_upper #endif #endif // !OPENSSL_NO_ASM +.section .note.GNU-stack,"",%progbits diff --git a/contrib/boringssl-cmake/linux-aarch64/crypto/third_party/sike/asm/fp-armv8.S b/contrib/boringssl-cmake/linux-aarch64/crypto/third_party/sike/asm/fp-armv8.S deleted file mode 100644 index da49a401334..00000000000 --- a/contrib/boringssl-cmake/linux-aarch64/crypto/third_party/sike/asm/fp-armv8.S +++ /dev/null @@ -1,998 +0,0 @@ -// This file is generated from a similarly-named Perl script in the BoringSSL -// source tree. Do not edit by hand. - -#if !defined(__has_feature) -#define __has_feature(x) 0 -#endif -#if __has_feature(memory_sanitizer) && !defined(OPENSSL_NO_ASM) -#define OPENSSL_NO_ASM -#endif - -#if !defined(OPENSSL_NO_ASM) -#if defined(__aarch64__) -#if defined(BORINGSSL_PREFIX) -#include -#endif -.section .rodata - -# p434 x 2 -.Lp434x2: -.quad 0xFFFFFFFFFFFFFFFE, 0xFFFFFFFFFFFFFFFF -.quad 0xFB82ECF5C5FFFFFF, 0xF78CB8F062B15D47 -.quad 0xD9F8BFAD038A40AC, 0x0004683E4E2EE688 - -# p434 + 1 -.Lp434p1: -.quad 0xFDC1767AE3000000, 0x7BC65C783158AEA3 -.quad 0x6CFC5FD681C52056, 0x0002341F27177344 - -.text -.globl sike_mpmul -.hidden sike_mpmul -.align 4 -sike_mpmul: - stp x29, x30, [sp,#-96]! - add x29, sp, #0 - stp x19, x20, [sp,#16] - stp x21, x22, [sp,#32] - stp x23, x24, [sp,#48] - stp x25, x26, [sp,#64] - stp x27, x28, [sp,#80] - - ldp x3, x4, [x0] - ldp x5, x6, [x0,#16] - ldp x7, x8, [x0,#32] - ldr x9, [x0,#48] - ldp x10, x11, [x1,#0] - ldp x12, x13, [x1,#16] - ldp x14, x15, [x1,#32] - ldr x16, [x1,#48] - - // x3-x7 <- AH + AL, x7 <- carry - adds x3, x3, x7 - adcs x4, x4, x8 - adcs x5, x5, x9 - adcs x6, x6, xzr - adc x7, xzr, xzr - - // x10-x13 <- BH + BL, x8 <- carry - adds x10, x10, x14 - adcs x11, x11, x15 - adcs x12, x12, x16 - adcs x13, x13, xzr - adc x8, xzr, xzr - - // x9 <- combined carry - and x9, x7, x8 - // x7-x8 <- mask - sub x7, xzr, x7 - sub x8, xzr, x8 - - // x15-x19 <- masked (BH + BL) - and x14, x10, x7 - and x15, x11, x7 - and x16, x12, x7 - and x17, x13, x7 - - // x20-x23 <- masked (AH + AL) - and x20, x3, x8 - and x21, x4, x8 - and x22, x5, x8 - and x23, x6, x8 - - // x15-x19, x7 <- masked (AH+AL) + masked (BH+BL), step 1 - adds x14, x14, x20 - adcs x15, x15, x21 - adcs x16, x16, x22 - adcs x17, x17, x23 - adc x7, x9, xzr - - // x8-x9,x19,x20-x24 <- (AH+AL) x (BH+BL), low part - stp x3, x4, [x2,#0] - // A0-A1 <- AH + AL, T0 <- mask - adds x3, x3, x5 - adcs x4, x4, x6 - adc x25, xzr, xzr - - // C6, T1 <- BH + BL, C7 <- mask - adds x23, x10, x12 - adcs x26, x11, x13 - adc x24, xzr, xzr - - // C0-C1 <- masked (BH + BL) - sub x19, xzr, x25 - sub x20, xzr, x24 - and x8, x23, x19 - and x9, x26, x19 - - // C4-C5 <- masked (AH + AL), T0 <- combined carry - and x21, x3, x20 - and x22, x4, x20 - mul x19, x3, x23 - mul x20, x3, x26 - and x25, x25, x24 - - // C0-C1, T0 <- (AH+AL) x (BH+BL), part 1 - adds x8, x21, x8 - umulh x21, x3, x26 - adcs x9, x22, x9 - umulh x22, x3, x23 - adc x25, x25, xzr - - // C2-C5 <- (AH+AL) x (BH+BL), low part - mul x3, x4, x23 - umulh x23, x4, x23 - adds x20, x20, x22 - adc x21, x21, xzr - - mul x24, x4, x26 - umulh x26, x4, x26 - adds x20, x20, x3 - adcs x21, x21, x23 - adc x22, xzr, xzr - - adds x21, x21, x24 - adc x22, x22, x26 - - ldp x3, x4, [x2,#0] - - // C2-C5, T0 <- (AH+AL) x (BH+BL), final part - adds x21, x8, x21 - umulh x24, x3, x10 - umulh x26, x3, x11 - adcs x22, x9, x22 - mul x8, x3, x10 - mul x9, x3, x11 - adc x25, x25, xzr - - // C0-C1, T1, C7 <- AL x BL - mul x3, x4, x10 - umulh x10, x4, x10 - adds x9, x9, x24 - adc x26, x26, xzr - - mul x23, x4, x11 - umulh x11, x4, x11 - adds x9, x9, x3 - adcs x26, x26, x10 - adc x24, xzr, xzr - - adds x26, x26, x23 - adc x24, x24, x11 - - - // C2-C5, T0 <- (AH+AL) x (BH+BL) - ALxBL - mul x3, x5, x12 - umulh x10, x5, x12 - subs x19, x19, x8 - sbcs x20, x20, x9 - sbcs x21, x21, x26 - mul x4, x5, x13 - umulh x23, x5, x13 - sbcs x22, x22, x24 - sbc x25, x25, xzr - - // A0, A1, C6, B0 <- AH x BH - mul x5, x6, x12 - umulh x12, x6, x12 - adds x4, x4, x10 - adc x23, x23, xzr - - mul x11, x6, x13 - umulh x13, x6, x13 - adds x4, x4, x5 - adcs x23, x23, x12 - adc x10, xzr, xzr - - adds x23, x23, x11 - adc x10, x10, x13 - - - // C2-C5, T0 <- (AH+AL) x (BH+BL) - ALxBL - AHxBH - subs x19, x19, x3 - sbcs x20, x20, x4 - sbcs x21, x21, x23 - sbcs x22, x22, x10 - sbc x25, x25, xzr - - adds x19, x19, x26 - adcs x20, x20, x24 - adcs x21, x21, x3 - adcs x22, x22, x4 - adcs x23, x25, x23 - adc x24, x10, xzr - - - // x15-x19, x7 <- (AH+AL) x (BH+BL), final step - adds x14, x14, x21 - adcs x15, x15, x22 - adcs x16, x16, x23 - adcs x17, x17, x24 - adc x7, x7, xzr - - // Load AL - ldp x3, x4, [x0] - ldp x5, x6, [x0,#16] - // Load BL - ldp x10, x11, [x1,#0] - ldp x12, x13, [x1,#16] - - // Temporarily store x8 in x2 - stp x8, x9, [x2,#0] - // x21-x28 <- AL x BL - // A0-A1 <- AH + AL, T0 <- mask - adds x3, x3, x5 - adcs x4, x4, x6 - adc x8, xzr, xzr - - // C6, T1 <- BH + BL, C7 <- mask - adds x27, x10, x12 - adcs x9, x11, x13 - adc x28, xzr, xzr - - // C0-C1 <- masked (BH + BL) - sub x23, xzr, x8 - sub x24, xzr, x28 - and x21, x27, x23 - and x22, x9, x23 - - // C4-C5 <- masked (AH + AL), T0 <- combined carry - and x25, x3, x24 - and x26, x4, x24 - mul x23, x3, x27 - mul x24, x3, x9 - and x8, x8, x28 - - // C0-C1, T0 <- (AH+AL) x (BH+BL), part 1 - adds x21, x25, x21 - umulh x25, x3, x9 - adcs x22, x26, x22 - umulh x26, x3, x27 - adc x8, x8, xzr - - // C2-C5 <- (AH+AL) x (BH+BL), low part - mul x3, x4, x27 - umulh x27, x4, x27 - adds x24, x24, x26 - adc x25, x25, xzr - - mul x28, x4, x9 - umulh x9, x4, x9 - adds x24, x24, x3 - adcs x25, x25, x27 - adc x26, xzr, xzr - - adds x25, x25, x28 - adc x26, x26, x9 - - ldp x3, x4, [x0,#0] - - // C2-C5, T0 <- (AH+AL) x (BH+BL), final part - adds x25, x21, x25 - umulh x28, x3, x10 - umulh x9, x3, x11 - adcs x26, x22, x26 - mul x21, x3, x10 - mul x22, x3, x11 - adc x8, x8, xzr - - // C0-C1, T1, C7 <- AL x BL - mul x3, x4, x10 - umulh x10, x4, x10 - adds x22, x22, x28 - adc x9, x9, xzr - - mul x27, x4, x11 - umulh x11, x4, x11 - adds x22, x22, x3 - adcs x9, x9, x10 - adc x28, xzr, xzr - - adds x9, x9, x27 - adc x28, x28, x11 - - - // C2-C5, T0 <- (AH+AL) x (BH+BL) - ALxBL - mul x3, x5, x12 - umulh x10, x5, x12 - subs x23, x23, x21 - sbcs x24, x24, x22 - sbcs x25, x25, x9 - mul x4, x5, x13 - umulh x27, x5, x13 - sbcs x26, x26, x28 - sbc x8, x8, xzr - - // A0, A1, C6, B0 <- AH x BH - mul x5, x6, x12 - umulh x12, x6, x12 - adds x4, x4, x10 - adc x27, x27, xzr - - mul x11, x6, x13 - umulh x13, x6, x13 - adds x4, x4, x5 - adcs x27, x27, x12 - adc x10, xzr, xzr - - adds x27, x27, x11 - adc x10, x10, x13 - - - // C2-C5, T0 <- (AH+AL) x (BH+BL) - ALxBL - AHxBH - subs x23, x23, x3 - sbcs x24, x24, x4 - sbcs x25, x25, x27 - sbcs x26, x26, x10 - sbc x8, x8, xzr - - adds x23, x23, x9 - adcs x24, x24, x28 - adcs x25, x25, x3 - adcs x26, x26, x4 - adcs x27, x8, x27 - adc x28, x10, xzr - - // Restore x8 - ldp x8, x9, [x2,#0] - - // x8-x10,x20,x15-x17,x19 <- maskd (AH+AL) x (BH+BL) - ALxBL - subs x8, x8, x21 - sbcs x9, x9, x22 - sbcs x19, x19, x23 - sbcs x20, x20, x24 - sbcs x14, x14, x25 - sbcs x15, x15, x26 - sbcs x16, x16, x27 - sbcs x17, x17, x28 - sbc x7, x7, xzr - - // Store ALxBL, low - stp x21, x22, [x2] - stp x23, x24, [x2,#16] - - // Load AH - ldp x3, x4, [x0,#32] - ldr x5, [x0,#48] - // Load BH - ldp x10, x11, [x1,#32] - ldr x12, [x1,#48] - - adds x8, x8, x25 - adcs x9, x9, x26 - adcs x19, x19, x27 - adcs x20, x20, x28 - adc x1, xzr, xzr - - add x0, x0, #32 - // Temporarily store x8,x9 in x2 - stp x8,x9, [x2,#32] - // x21-x28 <- AH x BH - - // A0 * B0 - mul x21, x3, x10 // C0 - umulh x24, x3, x10 - - // A0 * B1 - mul x22, x3, x11 - umulh x23, x3, x11 - - // A1 * B0 - mul x8, x4, x10 - umulh x9, x4, x10 - adds x22, x22, x24 - adc x23, x23, xzr - - // A0 * B2 - mul x27, x3, x12 - umulh x28, x3, x12 - adds x22, x22, x8 // C1 - adcs x23, x23, x9 - adc x24, xzr, xzr - - // A2 * B0 - mul x8, x5, x10 - umulh x25, x5, x10 - adds x23, x23, x27 - adcs x24, x24, x25 - adc x25, xzr, xzr - - // A1 * B1 - mul x27, x4, x11 - umulh x9, x4, x11 - adds x23, x23, x8 - adcs x24, x24, x28 - adc x25, x25, xzr - - // A1 * B2 - mul x8, x4, x12 - umulh x28, x4, x12 - adds x23, x23, x27 // C2 - adcs x24, x24, x9 - adc x25, x25, xzr - - // A2 * B1 - mul x27, x5, x11 - umulh x9, x5, x11 - adds x24, x24, x8 - adcs x25, x25, x28 - adc x26, xzr, xzr - - // A2 * B2 - mul x8, x5, x12 - umulh x28, x5, x12 - adds x24, x24, x27 // C3 - adcs x25, x25, x9 - adc x26, x26, xzr - - adds x25, x25, x8 // C4 - adc x26, x26, x28 // C5 - - // Restore x8,x9 - ldp x8,x9, [x2,#32] - - neg x1, x1 - - // x8-x9,x19,x20,x14-x17 <- (AH+AL) x (BH+BL) - ALxBL - AHxBH - subs x8, x8, x21 - sbcs x9, x9, x22 - sbcs x19, x19, x23 - sbcs x20, x20, x24 - sbcs x14, x14, x25 - sbcs x15, x15, x26 - sbcs x16, x16, xzr - sbcs x17, x17, xzr - sbc x7, x7, xzr - - // Store (AH+AL) x (BH+BL) - ALxBL - AHxBH, low - stp x8, x9, [x2,#32] - stp x19, x20, [x2,#48] - - adds x1, x1, #1 - adcs x14, x14, x21 - adcs x15, x15, x22 - adcs x16, x16, x23 - adcs x17, x17, x24 - adcs x25, x7, x25 - adc x26, x26, xzr - - stp x14, x15, [x2,#64] - stp x16, x17, [x2,#80] - stp x25, x26, [x2,#96] - - ldp x19, x20, [x29,#16] - ldp x21, x22, [x29,#32] - ldp x23, x24, [x29,#48] - ldp x25, x26, [x29,#64] - ldp x27, x28, [x29,#80] - ldp x29, x30, [sp],#96 - ret -.globl sike_fprdc -.hidden sike_fprdc -.align 4 -sike_fprdc: - stp x29, x30, [sp, #-96]! - add x29, sp, xzr - stp x19, x20, [sp,#16] - stp x21, x22, [sp,#32] - stp x23, x24, [sp,#48] - stp x25, x26, [sp,#64] - stp x27, x28, [sp,#80] - - ldp x2, x3, [x0,#0] // a[0-1] - - // Load the prime constant - adrp x26, .Lp434p1 - add x26, x26, :lo12:.Lp434p1 - ldp x23, x24, [x26, #0x0] - ldp x25, x26, [x26,#0x10] - - // a[0-1] * p434+1 - mul x4, x2, x23 // C0 - umulh x7, x2, x23 - - mul x5, x2, x24 - umulh x6, x2, x24 - - mul x10, x3, x23 - umulh x11, x3, x23 - adds x5, x5, x7 - adc x6, x6, xzr - - mul x27, x2, x25 - umulh x28, x2, x25 - adds x5, x5, x10 // C1 - adcs x6, x6, x11 - adc x7, xzr, xzr - - mul x10, x3, x24 - umulh x11, x3, x24 - adds x6, x6, x27 - adcs x7, x7, x28 - adc x8, xzr, xzr - - mul x27, x2, x26 - umulh x28, x2, x26 - adds x6, x6, x10 // C2 - adcs x7, x7, x11 - adc x8, x8, xzr - - mul x10, x3, x25 - umulh x11, x3, x25 - adds x7, x7, x27 - adcs x8, x8, x28 - adc x9, xzr, xzr - - mul x27, x3, x26 - umulh x28, x3, x26 - adds x7, x7, x10 // C3 - adcs x8, x8, x11 - adc x9, x9, xzr - adds x8, x8, x27 // C4 - adc x9, x9, x28 // C5 - - - - ldp x10, x11, [x0, #0x18] - ldp x12, x13, [x0, #0x28] - ldp x14, x15, [x0, #0x38] - ldp x16, x17, [x0, #0x48] - ldp x19, x20, [x0, #0x58] - ldr x21, [x0, #0x68] - - adds x10, x10, x4 - adcs x11, x11, x5 - adcs x12, x12, x6 - adcs x13, x13, x7 - adcs x14, x14, x8 - adcs x15, x15, x9 - adcs x22, x16, xzr - adcs x17, x17, xzr - adcs x19, x19, xzr - adcs x20, x20, xzr - adc x21, x21, xzr - - ldr x2, [x0,#0x10] // a[2] - // a[2-3] * p434+1 - mul x4, x2, x23 // C0 - umulh x7, x2, x23 - - mul x5, x2, x24 - umulh x6, x2, x24 - - mul x0, x10, x23 - umulh x3, x10, x23 - adds x5, x5, x7 - adc x6, x6, xzr - - mul x27, x2, x25 - umulh x28, x2, x25 - adds x5, x5, x0 // C1 - adcs x6, x6, x3 - adc x7, xzr, xzr - - mul x0, x10, x24 - umulh x3, x10, x24 - adds x6, x6, x27 - adcs x7, x7, x28 - adc x8, xzr, xzr - - mul x27, x2, x26 - umulh x28, x2, x26 - adds x6, x6, x0 // C2 - adcs x7, x7, x3 - adc x8, x8, xzr - - mul x0, x10, x25 - umulh x3, x10, x25 - adds x7, x7, x27 - adcs x8, x8, x28 - adc x9, xzr, xzr - - mul x27, x10, x26 - umulh x28, x10, x26 - adds x7, x7, x0 // C3 - adcs x8, x8, x3 - adc x9, x9, xzr - adds x8, x8, x27 // C4 - adc x9, x9, x28 // C5 - - - - adds x12, x12, x4 - adcs x13, x13, x5 - adcs x14, x14, x6 - adcs x15, x15, x7 - adcs x16, x22, x8 - adcs x17, x17, x9 - adcs x22, x19, xzr - adcs x20, x20, xzr - adc x21, x21, xzr - - mul x4, x11, x23 // C0 - umulh x7, x11, x23 - - mul x5, x11, x24 - umulh x6, x11, x24 - - mul x10, x12, x23 - umulh x3, x12, x23 - adds x5, x5, x7 - adc x6, x6, xzr - - mul x27, x11, x25 - umulh x28, x11, x25 - adds x5, x5, x10 // C1 - adcs x6, x6, x3 - adc x7, xzr, xzr - - mul x10, x12, x24 - umulh x3, x12, x24 - adds x6, x6, x27 - adcs x7, x7, x28 - adc x8, xzr, xzr - - mul x27, x11, x26 - umulh x28, x11, x26 - adds x6, x6, x10 // C2 - adcs x7, x7, x3 - adc x8, x8, xzr - - mul x10, x12, x25 - umulh x3, x12, x25 - adds x7, x7, x27 - adcs x8, x8, x28 - adc x9, xzr, xzr - - mul x27, x12, x26 - umulh x28, x12, x26 - adds x7, x7, x10 // C3 - adcs x8, x8, x3 - adc x9, x9, xzr - adds x8, x8, x27 // C4 - adc x9, x9, x28 // C5 - - - adds x14, x14, x4 - adcs x15, x15, x5 - adcs x16, x16, x6 - adcs x17, x17, x7 - adcs x19, x22, x8 - adcs x20, x20, x9 - adc x22, x21, xzr - - stp x14, x15, [x1, #0x0] // C0, C1 - - mul x4, x13, x23 // C0 - umulh x10, x13, x23 - - mul x5, x13, x24 - umulh x27, x13, x24 - adds x5, x5, x10 // C1 - adc x10, xzr, xzr - - mul x6, x13, x25 - umulh x28, x13, x25 - adds x27, x10, x27 - adcs x6, x6, x27 // C2 - adc x10, xzr, xzr - - mul x7, x13, x26 - umulh x8, x13, x26 - adds x28, x10, x28 - adcs x7, x7, x28 // C3 - adc x8, x8, xzr // C4 - - adds x16, x16, x4 - adcs x17, x17, x5 - adcs x19, x19, x6 - adcs x20, x20, x7 - adc x21, x22, x8 - - str x16, [x1, #0x10] - stp x17, x19, [x1, #0x18] - stp x20, x21, [x1, #0x28] - - ldp x19, x20, [x29,#16] - ldp x21, x22, [x29,#32] - ldp x23, x24, [x29,#48] - ldp x25, x26, [x29,#64] - ldp x27, x28, [x29,#80] - ldp x29, x30, [sp],#96 - ret -.globl sike_fpadd -.hidden sike_fpadd -.align 4 -sike_fpadd: - stp x29,x30, [sp,#-16]! - add x29, sp, #0 - - ldp x3, x4, [x0,#0] - ldp x5, x6, [x0,#16] - ldp x7, x8, [x0,#32] - ldr x9, [x0,#48] - ldp x11, x12, [x1,#0] - ldp x13, x14, [x1,#16] - ldp x15, x16, [x1,#32] - ldr x17, [x1,#48] - - // Add a + b - adds x3, x3, x11 - adcs x4, x4, x12 - adcs x5, x5, x13 - adcs x6, x6, x14 - adcs x7, x7, x15 - adcs x8, x8, x16 - adc x9, x9, x17 - - // Subtract 2xp434 - adrp x17, .Lp434x2 - add x17, x17, :lo12:.Lp434x2 - ldp x11, x12, [x17, #0] - ldp x13, x14, [x17, #16] - ldp x15, x16, [x17, #32] - subs x3, x3, x11 - sbcs x4, x4, x12 - sbcs x5, x5, x12 - sbcs x6, x6, x13 - sbcs x7, x7, x14 - sbcs x8, x8, x15 - sbcs x9, x9, x16 - sbc x0, xzr, xzr // x0 can be reused now - - // Add 2xp434 anded with the mask in x0 - and x11, x11, x0 - and x12, x12, x0 - and x13, x13, x0 - and x14, x14, x0 - and x15, x15, x0 - and x16, x16, x0 - - adds x3, x3, x11 - adcs x4, x4, x12 - adcs x5, x5, x12 - adcs x6, x6, x13 - adcs x7, x7, x14 - adcs x8, x8, x15 - adc x9, x9, x16 - - stp x3, x4, [x2,#0] - stp x5, x6, [x2,#16] - stp x7, x8, [x2,#32] - str x9, [x2,#48] - - ldp x29, x30, [sp],#16 - ret -.globl sike_fpsub -.hidden sike_fpsub -.align 4 -sike_fpsub: - stp x29, x30, [sp,#-16]! - add x29, sp, #0 - - ldp x3, x4, [x0,#0] - ldp x5, x6, [x0,#16] - ldp x7, x8, [x0,#32] - ldr x9, [x0,#48] - ldp x11, x12, [x1,#0] - ldp x13, x14, [x1,#16] - ldp x15, x16, [x1,#32] - ldr x17, [x1,#48] - - // Subtract a - b - subs x3, x3, x11 - sbcs x4, x4, x12 - sbcs x5, x5, x13 - sbcs x6, x6, x14 - sbcs x7, x7, x15 - sbcs x8, x8, x16 - sbcs x9, x9, x17 - sbc x0, xzr, xzr - - // Add 2xp434 anded with the mask in x0 - adrp x17, .Lp434x2 - add x17, x17, :lo12:.Lp434x2 - - // First half - ldp x11, x12, [x17, #0] - ldp x13, x14, [x17, #16] - ldp x15, x16, [x17, #32] - - // Add 2xp434 anded with the mask in x0 - and x11, x11, x0 - and x12, x12, x0 - and x13, x13, x0 - and x14, x14, x0 - and x15, x15, x0 - and x16, x16, x0 - - adds x3, x3, x11 - adcs x4, x4, x12 - adcs x5, x5, x12 - adcs x6, x6, x13 - adcs x7, x7, x14 - adcs x8, x8, x15 - adc x9, x9, x16 - - stp x3, x4, [x2,#0] - stp x5, x6, [x2,#16] - stp x7, x8, [x2,#32] - str x9, [x2,#48] - - ldp x29, x30, [sp],#16 - ret -.globl sike_mpadd_asm -.hidden sike_mpadd_asm -.align 4 -sike_mpadd_asm: - stp x29, x30, [sp,#-16]! - add x29, sp, #0 - - ldp x3, x4, [x0,#0] - ldp x5, x6, [x0,#16] - ldp x7, x8, [x0,#32] - ldr x9, [x0,#48] - ldp x11, x12, [x1,#0] - ldp x13, x14, [x1,#16] - ldp x15, x16, [x1,#32] - ldr x17, [x1,#48] - - adds x3, x3, x11 - adcs x4, x4, x12 - adcs x5, x5, x13 - adcs x6, x6, x14 - adcs x7, x7, x15 - adcs x8, x8, x16 - adc x9, x9, x17 - - stp x3, x4, [x2,#0] - stp x5, x6, [x2,#16] - stp x7, x8, [x2,#32] - str x9, [x2,#48] - - ldp x29, x30, [sp],#16 - ret -.globl sike_mpsubx2_asm -.hidden sike_mpsubx2_asm -.align 4 -sike_mpsubx2_asm: - stp x29, x30, [sp,#-16]! - add x29, sp, #0 - - ldp x3, x4, [x0,#0] - ldp x5, x6, [x0,#16] - ldp x11, x12, [x1,#0] - ldp x13, x14, [x1,#16] - subs x3, x3, x11 - sbcs x4, x4, x12 - sbcs x5, x5, x13 - sbcs x6, x6, x14 - ldp x7, x8, [x0,#32] - ldp x9, x10, [x0,#48] - ldp x11, x12, [x1,#32] - ldp x13, x14, [x1,#48] - sbcs x7, x7, x11 - sbcs x8, x8, x12 - sbcs x9, x9, x13 - sbcs x10, x10, x14 - - stp x3, x4, [x2,#0] - stp x5, x6, [x2,#16] - stp x7, x8, [x2,#32] - stp x9, x10, [x2,#48] - - ldp x3, x4, [x0,#64] - ldp x5, x6, [x0,#80] - ldp x11, x12, [x1,#64] - ldp x13, x14, [x1,#80] - sbcs x3, x3, x11 - sbcs x4, x4, x12 - sbcs x5, x5, x13 - sbcs x6, x6, x14 - ldp x7, x8, [x0,#96] - ldp x11, x12, [x1,#96] - sbcs x7, x7, x11 - sbcs x8, x8, x12 - sbc x0, xzr, xzr - - stp x3, x4, [x2,#64] - stp x5, x6, [x2,#80] - stp x7, x8, [x2,#96] - - ldp x29, x30, [sp],#16 - ret -.globl sike_mpdblsubx2_asm -.hidden sike_mpdblsubx2_asm -.align 4 -sike_mpdblsubx2_asm: - stp x29, x30, [sp, #-16]! - add x29, sp, #0 - - ldp x3, x4, [x2, #0] - ldp x5, x6, [x2,#16] - ldp x7, x8, [x2,#32] - - ldp x11, x12, [x0, #0] - ldp x13, x14, [x0,#16] - ldp x15, x16, [x0,#32] - - subs x3, x3, x11 - sbcs x4, x4, x12 - sbcs x5, x5, x13 - sbcs x6, x6, x14 - sbcs x7, x7, x15 - sbcs x8, x8, x16 - - // x9 stores carry - adc x9, xzr, xzr - - ldp x11, x12, [x1, #0] - ldp x13, x14, [x1,#16] - ldp x15, x16, [x1,#32] - subs x3, x3, x11 - sbcs x4, x4, x12 - sbcs x5, x5, x13 - sbcs x6, x6, x14 - sbcs x7, x7, x15 - sbcs x8, x8, x16 - adc x9, x9, xzr - - stp x3, x4, [x2, #0] - stp x5, x6, [x2,#16] - stp x7, x8, [x2,#32] - - ldp x3, x4, [x2,#48] - ldp x5, x6, [x2,#64] - ldp x7, x8, [x2,#80] - - ldp x11, x12, [x0,#48] - ldp x13, x14, [x0,#64] - ldp x15, x16, [x0,#80] - - // x9 = 2 - x9 - neg x9, x9 - add x9, x9, #2 - - subs x3, x3, x9 - sbcs x3, x3, x11 - sbcs x4, x4, x12 - sbcs x5, x5, x13 - sbcs x6, x6, x14 - sbcs x7, x7, x15 - sbcs x8, x8, x16 - adc x9, xzr, xzr - - ldp x11, x12, [x1,#48] - ldp x13, x14, [x1,#64] - ldp x15, x16, [x1,#80] - subs x3, x3, x11 - sbcs x4, x4, x12 - sbcs x5, x5, x13 - sbcs x6, x6, x14 - sbcs x7, x7, x15 - sbcs x8, x8, x16 - adc x9, x9, xzr - - stp x3, x4, [x2,#48] - stp x5, x6, [x2,#64] - stp x7, x8, [x2,#80] - - ldp x3, x4, [x2,#96] - ldp x11, x12, [x0,#96] - ldp x13, x14, [x1,#96] - - // x9 = 2 - x9 - neg x9, x9 - add x9, x9, #2 - - subs x3, x3, x9 - sbcs x3, x3, x11 - sbcs x4, x4, x12 - subs x3, x3, x13 - sbc x4, x4, x14 - stp x3, x4, [x2,#96] - - ldp x29, x30, [sp],#16 - ret -#endif -#endif // !OPENSSL_NO_ASM diff --git a/contrib/boringssl-cmake/linux-arm/crypto/chacha/chacha-armv4.S b/contrib/boringssl-cmake/linux-arm/crypto/chacha/chacha-armv4.S index aed7ca644b7..363aeee5f50 100644 --- a/contrib/boringssl-cmake/linux-arm/crypto/chacha/chacha-armv4.S +++ b/contrib/boringssl-cmake/linux-arm/crypto/chacha/chacha-armv4.S @@ -1490,3 +1490,4 @@ ChaCha20_neon: #endif #endif #endif // !OPENSSL_NO_ASM +.section .note.GNU-stack,"",%progbits diff --git a/contrib/boringssl-cmake/linux-arm/crypto/fipsmodule/aes-armv4.S b/contrib/boringssl-cmake/linux-arm/crypto/fipsmodule/aes-armv4.S deleted file mode 100644 index b2966b4abdc..00000000000 --- a/contrib/boringssl-cmake/linux-arm/crypto/fipsmodule/aes-armv4.S +++ /dev/null @@ -1,1221 +0,0 @@ -// This file is generated from a similarly-named Perl script in the BoringSSL -// source tree. Do not edit by hand. - -#if !defined(__has_feature) -#define __has_feature(x) 0 -#endif -#if __has_feature(memory_sanitizer) && !defined(OPENSSL_NO_ASM) -#define OPENSSL_NO_ASM -#endif - -#if !defined(OPENSSL_NO_ASM) -#if defined(__arm__) -#if defined(BORINGSSL_PREFIX) -#include -#endif -@ Copyright 2007-2016 The OpenSSL Project Authors. All Rights Reserved. -@ -@ Licensed under the OpenSSL license (the "License"). You may not use -@ this file except in compliance with the License. You can obtain a copy -@ in the file LICENSE in the source distribution or at -@ https://www.openssl.org/source/license.html - - -@ ==================================================================== -@ Written by Andy Polyakov for the OpenSSL -@ project. The module is, however, dual licensed under OpenSSL and -@ CRYPTOGAMS licenses depending on where you obtain it. For further -@ details see http://www.openssl.org/~appro/cryptogams/. -@ ==================================================================== - -@ AES for ARMv4 - -@ January 2007. -@ -@ Code uses single 1K S-box and is >2 times faster than code generated -@ by gcc-3.4.1. This is thanks to unique feature of ARMv4 ISA, which -@ allows to merge logical or arithmetic operation with shift or rotate -@ in one instruction and emit combined result every cycle. The module -@ is endian-neutral. The performance is ~42 cycles/byte for 128-bit -@ key [on single-issue Xscale PXA250 core]. - -@ May 2007. -@ -@ AES_set_[en|de]crypt_key is added. - -@ July 2010. -@ -@ Rescheduling for dual-issue pipeline resulted in 12% improvement on -@ Cortex A8 core and ~25 cycles per byte processed with 128-bit key. - -@ February 2011. -@ -@ Profiler-assisted and platform-specific optimization resulted in 16% -@ improvement on Cortex A8 core and ~21.5 cycles per byte. - -#ifndef __KERNEL__ -# include -#else -# define __ARM_ARCH__ __LINUX_ARM_ARCH__ -#endif - -@ Silence ARMv8 deprecated IT instruction warnings. This file is used by both -@ ARMv7 and ARMv8 processors and does not use ARMv8 instructions. (ARMv8 AES -@ instructions are in aesv8-armx.pl.) -.arch armv7-a - -.text -#if defined(__thumb2__) && !defined(__APPLE__) -.syntax unified -.thumb -#else -.code 32 -#undef __thumb2__ -#endif - -.type AES_Te,%object -.align 5 -AES_Te: -.word 0xc66363a5, 0xf87c7c84, 0xee777799, 0xf67b7b8d -.word 0xfff2f20d, 0xd66b6bbd, 0xde6f6fb1, 0x91c5c554 -.word 0x60303050, 0x02010103, 0xce6767a9, 0x562b2b7d -.word 0xe7fefe19, 0xb5d7d762, 0x4dababe6, 0xec76769a -.word 0x8fcaca45, 0x1f82829d, 0x89c9c940, 0xfa7d7d87 -.word 0xeffafa15, 0xb25959eb, 0x8e4747c9, 0xfbf0f00b -.word 0x41adadec, 0xb3d4d467, 0x5fa2a2fd, 0x45afafea -.word 0x239c9cbf, 0x53a4a4f7, 0xe4727296, 0x9bc0c05b -.word 0x75b7b7c2, 0xe1fdfd1c, 0x3d9393ae, 0x4c26266a -.word 0x6c36365a, 0x7e3f3f41, 0xf5f7f702, 0x83cccc4f -.word 0x6834345c, 0x51a5a5f4, 0xd1e5e534, 0xf9f1f108 -.word 0xe2717193, 0xabd8d873, 0x62313153, 0x2a15153f -.word 0x0804040c, 0x95c7c752, 0x46232365, 0x9dc3c35e -.word 0x30181828, 0x379696a1, 0x0a05050f, 0x2f9a9ab5 -.word 0x0e070709, 0x24121236, 0x1b80809b, 0xdfe2e23d -.word 0xcdebeb26, 0x4e272769, 0x7fb2b2cd, 0xea75759f -.word 0x1209091b, 0x1d83839e, 0x582c2c74, 0x341a1a2e -.word 0x361b1b2d, 0xdc6e6eb2, 0xb45a5aee, 0x5ba0a0fb -.word 0xa45252f6, 0x763b3b4d, 0xb7d6d661, 0x7db3b3ce -.word 0x5229297b, 0xdde3e33e, 0x5e2f2f71, 0x13848497 -.word 0xa65353f5, 0xb9d1d168, 0x00000000, 0xc1eded2c -.word 0x40202060, 0xe3fcfc1f, 0x79b1b1c8, 0xb65b5bed -.word 0xd46a6abe, 0x8dcbcb46, 0x67bebed9, 0x7239394b -.word 0x944a4ade, 0x984c4cd4, 0xb05858e8, 0x85cfcf4a -.word 0xbbd0d06b, 0xc5efef2a, 0x4faaaae5, 0xedfbfb16 -.word 0x864343c5, 0x9a4d4dd7, 0x66333355, 0x11858594 -.word 0x8a4545cf, 0xe9f9f910, 0x04020206, 0xfe7f7f81 -.word 0xa05050f0, 0x783c3c44, 0x259f9fba, 0x4ba8a8e3 -.word 0xa25151f3, 0x5da3a3fe, 0x804040c0, 0x058f8f8a -.word 0x3f9292ad, 0x219d9dbc, 0x70383848, 0xf1f5f504 -.word 0x63bcbcdf, 0x77b6b6c1, 0xafdada75, 0x42212163 -.word 0x20101030, 0xe5ffff1a, 0xfdf3f30e, 0xbfd2d26d -.word 0x81cdcd4c, 0x180c0c14, 0x26131335, 0xc3ecec2f -.word 0xbe5f5fe1, 0x359797a2, 0x884444cc, 0x2e171739 -.word 0x93c4c457, 0x55a7a7f2, 0xfc7e7e82, 0x7a3d3d47 -.word 0xc86464ac, 0xba5d5de7, 0x3219192b, 0xe6737395 -.word 0xc06060a0, 0x19818198, 0x9e4f4fd1, 0xa3dcdc7f -.word 0x44222266, 0x542a2a7e, 0x3b9090ab, 0x0b888883 -.word 0x8c4646ca, 0xc7eeee29, 0x6bb8b8d3, 0x2814143c -.word 0xa7dede79, 0xbc5e5ee2, 0x160b0b1d, 0xaddbdb76 -.word 0xdbe0e03b, 0x64323256, 0x743a3a4e, 0x140a0a1e -.word 0x924949db, 0x0c06060a, 0x4824246c, 0xb85c5ce4 -.word 0x9fc2c25d, 0xbdd3d36e, 0x43acacef, 0xc46262a6 -.word 0x399191a8, 0x319595a4, 0xd3e4e437, 0xf279798b -.word 0xd5e7e732, 0x8bc8c843, 0x6e373759, 0xda6d6db7 -.word 0x018d8d8c, 0xb1d5d564, 0x9c4e4ed2, 0x49a9a9e0 -.word 0xd86c6cb4, 0xac5656fa, 0xf3f4f407, 0xcfeaea25 -.word 0xca6565af, 0xf47a7a8e, 0x47aeaee9, 0x10080818 -.word 0x6fbabad5, 0xf0787888, 0x4a25256f, 0x5c2e2e72 -.word 0x381c1c24, 0x57a6a6f1, 0x73b4b4c7, 0x97c6c651 -.word 0xcbe8e823, 0xa1dddd7c, 0xe874749c, 0x3e1f1f21 -.word 0x964b4bdd, 0x61bdbddc, 0x0d8b8b86, 0x0f8a8a85 -.word 0xe0707090, 0x7c3e3e42, 0x71b5b5c4, 0xcc6666aa -.word 0x904848d8, 0x06030305, 0xf7f6f601, 0x1c0e0e12 -.word 0xc26161a3, 0x6a35355f, 0xae5757f9, 0x69b9b9d0 -.word 0x17868691, 0x99c1c158, 0x3a1d1d27, 0x279e9eb9 -.word 0xd9e1e138, 0xebf8f813, 0x2b9898b3, 0x22111133 -.word 0xd26969bb, 0xa9d9d970, 0x078e8e89, 0x339494a7 -.word 0x2d9b9bb6, 0x3c1e1e22, 0x15878792, 0xc9e9e920 -.word 0x87cece49, 0xaa5555ff, 0x50282878, 0xa5dfdf7a -.word 0x038c8c8f, 0x59a1a1f8, 0x09898980, 0x1a0d0d17 -.word 0x65bfbfda, 0xd7e6e631, 0x844242c6, 0xd06868b8 -.word 0x824141c3, 0x299999b0, 0x5a2d2d77, 0x1e0f0f11 -.word 0x7bb0b0cb, 0xa85454fc, 0x6dbbbbd6, 0x2c16163a -@ Te4[256] -.byte 0x63, 0x7c, 0x77, 0x7b, 0xf2, 0x6b, 0x6f, 0xc5 -.byte 0x30, 0x01, 0x67, 0x2b, 0xfe, 0xd7, 0xab, 0x76 -.byte 0xca, 0x82, 0xc9, 0x7d, 0xfa, 0x59, 0x47, 0xf0 -.byte 0xad, 0xd4, 0xa2, 0xaf, 0x9c, 0xa4, 0x72, 0xc0 -.byte 0xb7, 0xfd, 0x93, 0x26, 0x36, 0x3f, 0xf7, 0xcc -.byte 0x34, 0xa5, 0xe5, 0xf1, 0x71, 0xd8, 0x31, 0x15 -.byte 0x04, 0xc7, 0x23, 0xc3, 0x18, 0x96, 0x05, 0x9a -.byte 0x07, 0x12, 0x80, 0xe2, 0xeb, 0x27, 0xb2, 0x75 -.byte 0x09, 0x83, 0x2c, 0x1a, 0x1b, 0x6e, 0x5a, 0xa0 -.byte 0x52, 0x3b, 0xd6, 0xb3, 0x29, 0xe3, 0x2f, 0x84 -.byte 0x53, 0xd1, 0x00, 0xed, 0x20, 0xfc, 0xb1, 0x5b -.byte 0x6a, 0xcb, 0xbe, 0x39, 0x4a, 0x4c, 0x58, 0xcf -.byte 0xd0, 0xef, 0xaa, 0xfb, 0x43, 0x4d, 0x33, 0x85 -.byte 0x45, 0xf9, 0x02, 0x7f, 0x50, 0x3c, 0x9f, 0xa8 -.byte 0x51, 0xa3, 0x40, 0x8f, 0x92, 0x9d, 0x38, 0xf5 -.byte 0xbc, 0xb6, 0xda, 0x21, 0x10, 0xff, 0xf3, 0xd2 -.byte 0xcd, 0x0c, 0x13, 0xec, 0x5f, 0x97, 0x44, 0x17 -.byte 0xc4, 0xa7, 0x7e, 0x3d, 0x64, 0x5d, 0x19, 0x73 -.byte 0x60, 0x81, 0x4f, 0xdc, 0x22, 0x2a, 0x90, 0x88 -.byte 0x46, 0xee, 0xb8, 0x14, 0xde, 0x5e, 0x0b, 0xdb -.byte 0xe0, 0x32, 0x3a, 0x0a, 0x49, 0x06, 0x24, 0x5c -.byte 0xc2, 0xd3, 0xac, 0x62, 0x91, 0x95, 0xe4, 0x79 -.byte 0xe7, 0xc8, 0x37, 0x6d, 0x8d, 0xd5, 0x4e, 0xa9 -.byte 0x6c, 0x56, 0xf4, 0xea, 0x65, 0x7a, 0xae, 0x08 -.byte 0xba, 0x78, 0x25, 0x2e, 0x1c, 0xa6, 0xb4, 0xc6 -.byte 0xe8, 0xdd, 0x74, 0x1f, 0x4b, 0xbd, 0x8b, 0x8a -.byte 0x70, 0x3e, 0xb5, 0x66, 0x48, 0x03, 0xf6, 0x0e -.byte 0x61, 0x35, 0x57, 0xb9, 0x86, 0xc1, 0x1d, 0x9e -.byte 0xe1, 0xf8, 0x98, 0x11, 0x69, 0xd9, 0x8e, 0x94 -.byte 0x9b, 0x1e, 0x87, 0xe9, 0xce, 0x55, 0x28, 0xdf -.byte 0x8c, 0xa1, 0x89, 0x0d, 0xbf, 0xe6, 0x42, 0x68 -.byte 0x41, 0x99, 0x2d, 0x0f, 0xb0, 0x54, 0xbb, 0x16 -@ rcon[] -.word 0x01000000, 0x02000000, 0x04000000, 0x08000000 -.word 0x10000000, 0x20000000, 0x40000000, 0x80000000 -.word 0x1B000000, 0x36000000, 0, 0, 0, 0, 0, 0 -.size AES_Te,.-AES_Te - -@ void aes_nohw_encrypt(const unsigned char *in, unsigned char *out, -@ const AES_KEY *key) { -.globl aes_nohw_encrypt -.hidden aes_nohw_encrypt -.type aes_nohw_encrypt,%function -.align 5 -aes_nohw_encrypt: -#ifndef __thumb2__ - sub r3,pc,#8 @ aes_nohw_encrypt -#else - adr r3,. -#endif - stmdb sp!,{r1,r4-r12,lr} -#if defined(__thumb2__) || defined(__APPLE__) - adr r10,AES_Te -#else - sub r10,r3,#aes_nohw_encrypt-AES_Te @ Te -#endif - mov r12,r0 @ inp - mov r11,r2 -#if __ARM_ARCH__<7 - ldrb r0,[r12,#3] @ load input data in endian-neutral - ldrb r4,[r12,#2] @ manner... - ldrb r5,[r12,#1] - ldrb r6,[r12,#0] - orr r0,r0,r4,lsl#8 - ldrb r1,[r12,#7] - orr r0,r0,r5,lsl#16 - ldrb r4,[r12,#6] - orr r0,r0,r6,lsl#24 - ldrb r5,[r12,#5] - ldrb r6,[r12,#4] - orr r1,r1,r4,lsl#8 - ldrb r2,[r12,#11] - orr r1,r1,r5,lsl#16 - ldrb r4,[r12,#10] - orr r1,r1,r6,lsl#24 - ldrb r5,[r12,#9] - ldrb r6,[r12,#8] - orr r2,r2,r4,lsl#8 - ldrb r3,[r12,#15] - orr r2,r2,r5,lsl#16 - ldrb r4,[r12,#14] - orr r2,r2,r6,lsl#24 - ldrb r5,[r12,#13] - ldrb r6,[r12,#12] - orr r3,r3,r4,lsl#8 - orr r3,r3,r5,lsl#16 - orr r3,r3,r6,lsl#24 -#else - ldr r0,[r12,#0] - ldr r1,[r12,#4] - ldr r2,[r12,#8] - ldr r3,[r12,#12] -#ifdef __ARMEL__ - rev r0,r0 - rev r1,r1 - rev r2,r2 - rev r3,r3 -#endif -#endif - bl _armv4_AES_encrypt - - ldr r12,[sp],#4 @ pop out -#if __ARM_ARCH__>=7 -#ifdef __ARMEL__ - rev r0,r0 - rev r1,r1 - rev r2,r2 - rev r3,r3 -#endif - str r0,[r12,#0] - str r1,[r12,#4] - str r2,[r12,#8] - str r3,[r12,#12] -#else - mov r4,r0,lsr#24 @ write output in endian-neutral - mov r5,r0,lsr#16 @ manner... - mov r6,r0,lsr#8 - strb r4,[r12,#0] - strb r5,[r12,#1] - mov r4,r1,lsr#24 - strb r6,[r12,#2] - mov r5,r1,lsr#16 - strb r0,[r12,#3] - mov r6,r1,lsr#8 - strb r4,[r12,#4] - strb r5,[r12,#5] - mov r4,r2,lsr#24 - strb r6,[r12,#6] - mov r5,r2,lsr#16 - strb r1,[r12,#7] - mov r6,r2,lsr#8 - strb r4,[r12,#8] - strb r5,[r12,#9] - mov r4,r3,lsr#24 - strb r6,[r12,#10] - mov r5,r3,lsr#16 - strb r2,[r12,#11] - mov r6,r3,lsr#8 - strb r4,[r12,#12] - strb r5,[r12,#13] - strb r6,[r12,#14] - strb r3,[r12,#15] -#endif -#if __ARM_ARCH__>=5 - ldmia sp!,{r4,r5,r6,r7,r8,r9,r10,r11,r12,pc} -#else - ldmia sp!,{r4,r5,r6,r7,r8,r9,r10,r11,r12,lr} - tst lr,#1 - moveq pc,lr @ be binary compatible with V4, yet -.word 0xe12fff1e @ interoperable with Thumb ISA:-) -#endif -.size aes_nohw_encrypt,.-aes_nohw_encrypt - -.type _armv4_AES_encrypt,%function -.align 2 -_armv4_AES_encrypt: - str lr,[sp,#-4]! @ push lr - ldmia r11!,{r4,r5,r6,r7} - eor r0,r0,r4 - ldr r12,[r11,#240-16] - eor r1,r1,r5 - eor r2,r2,r6 - eor r3,r3,r7 - sub r12,r12,#1 - mov lr,#255 - - and r7,lr,r0 - and r8,lr,r0,lsr#8 - and r9,lr,r0,lsr#16 - mov r0,r0,lsr#24 -.Lenc_loop: - ldr r4,[r10,r7,lsl#2] @ Te3[s0>>0] - and r7,lr,r1,lsr#16 @ i0 - ldr r5,[r10,r8,lsl#2] @ Te2[s0>>8] - and r8,lr,r1 - ldr r6,[r10,r9,lsl#2] @ Te1[s0>>16] - and r9,lr,r1,lsr#8 - ldr r0,[r10,r0,lsl#2] @ Te0[s0>>24] - mov r1,r1,lsr#24 - - ldr r7,[r10,r7,lsl#2] @ Te1[s1>>16] - ldr r8,[r10,r8,lsl#2] @ Te3[s1>>0] - ldr r9,[r10,r9,lsl#2] @ Te2[s1>>8] - eor r0,r0,r7,ror#8 - ldr r1,[r10,r1,lsl#2] @ Te0[s1>>24] - and r7,lr,r2,lsr#8 @ i0 - eor r5,r5,r8,ror#8 - and r8,lr,r2,lsr#16 @ i1 - eor r6,r6,r9,ror#8 - and r9,lr,r2 - ldr r7,[r10,r7,lsl#2] @ Te2[s2>>8] - eor r1,r1,r4,ror#24 - ldr r8,[r10,r8,lsl#2] @ Te1[s2>>16] - mov r2,r2,lsr#24 - - ldr r9,[r10,r9,lsl#2] @ Te3[s2>>0] - eor r0,r0,r7,ror#16 - ldr r2,[r10,r2,lsl#2] @ Te0[s2>>24] - and r7,lr,r3 @ i0 - eor r1,r1,r8,ror#8 - and r8,lr,r3,lsr#8 @ i1 - eor r6,r6,r9,ror#16 - and r9,lr,r3,lsr#16 @ i2 - ldr r7,[r10,r7,lsl#2] @ Te3[s3>>0] - eor r2,r2,r5,ror#16 - ldr r8,[r10,r8,lsl#2] @ Te2[s3>>8] - mov r3,r3,lsr#24 - - ldr r9,[r10,r9,lsl#2] @ Te1[s3>>16] - eor r0,r0,r7,ror#24 - ldr r7,[r11],#16 - eor r1,r1,r8,ror#16 - ldr r3,[r10,r3,lsl#2] @ Te0[s3>>24] - eor r2,r2,r9,ror#8 - ldr r4,[r11,#-12] - eor r3,r3,r6,ror#8 - - ldr r5,[r11,#-8] - eor r0,r0,r7 - ldr r6,[r11,#-4] - and r7,lr,r0 - eor r1,r1,r4 - and r8,lr,r0,lsr#8 - eor r2,r2,r5 - and r9,lr,r0,lsr#16 - eor r3,r3,r6 - mov r0,r0,lsr#24 - - subs r12,r12,#1 - bne .Lenc_loop - - add r10,r10,#2 - - ldrb r4,[r10,r7,lsl#2] @ Te4[s0>>0] - and r7,lr,r1,lsr#16 @ i0 - ldrb r5,[r10,r8,lsl#2] @ Te4[s0>>8] - and r8,lr,r1 - ldrb r6,[r10,r9,lsl#2] @ Te4[s0>>16] - and r9,lr,r1,lsr#8 - ldrb r0,[r10,r0,lsl#2] @ Te4[s0>>24] - mov r1,r1,lsr#24 - - ldrb r7,[r10,r7,lsl#2] @ Te4[s1>>16] - ldrb r8,[r10,r8,lsl#2] @ Te4[s1>>0] - ldrb r9,[r10,r9,lsl#2] @ Te4[s1>>8] - eor r0,r7,r0,lsl#8 - ldrb r1,[r10,r1,lsl#2] @ Te4[s1>>24] - and r7,lr,r2,lsr#8 @ i0 - eor r5,r8,r5,lsl#8 - and r8,lr,r2,lsr#16 @ i1 - eor r6,r9,r6,lsl#8 - and r9,lr,r2 - ldrb r7,[r10,r7,lsl#2] @ Te4[s2>>8] - eor r1,r4,r1,lsl#24 - ldrb r8,[r10,r8,lsl#2] @ Te4[s2>>16] - mov r2,r2,lsr#24 - - ldrb r9,[r10,r9,lsl#2] @ Te4[s2>>0] - eor r0,r7,r0,lsl#8 - ldrb r2,[r10,r2,lsl#2] @ Te4[s2>>24] - and r7,lr,r3 @ i0 - eor r1,r1,r8,lsl#16 - and r8,lr,r3,lsr#8 @ i1 - eor r6,r9,r6,lsl#8 - and r9,lr,r3,lsr#16 @ i2 - ldrb r7,[r10,r7,lsl#2] @ Te4[s3>>0] - eor r2,r5,r2,lsl#24 - ldrb r8,[r10,r8,lsl#2] @ Te4[s3>>8] - mov r3,r3,lsr#24 - - ldrb r9,[r10,r9,lsl#2] @ Te4[s3>>16] - eor r0,r7,r0,lsl#8 - ldr r7,[r11,#0] - ldrb r3,[r10,r3,lsl#2] @ Te4[s3>>24] - eor r1,r1,r8,lsl#8 - ldr r4,[r11,#4] - eor r2,r2,r9,lsl#16 - ldr r5,[r11,#8] - eor r3,r6,r3,lsl#24 - ldr r6,[r11,#12] - - eor r0,r0,r7 - eor r1,r1,r4 - eor r2,r2,r5 - eor r3,r3,r6 - - sub r10,r10,#2 - ldr pc,[sp],#4 @ pop and return -.size _armv4_AES_encrypt,.-_armv4_AES_encrypt - -.globl aes_nohw_set_encrypt_key -.hidden aes_nohw_set_encrypt_key -.type aes_nohw_set_encrypt_key,%function -.align 5 -aes_nohw_set_encrypt_key: -_armv4_AES_set_encrypt_key: -#ifndef __thumb2__ - sub r3,pc,#8 @ aes_nohw_set_encrypt_key -#else - adr r3,. -#endif - teq r0,#0 -#ifdef __thumb2__ - itt eq @ Thumb2 thing, sanity check in ARM -#endif - moveq r0,#-1 - beq .Labrt - teq r2,#0 -#ifdef __thumb2__ - itt eq @ Thumb2 thing, sanity check in ARM -#endif - moveq r0,#-1 - beq .Labrt - - teq r1,#128 - beq .Lok - teq r1,#192 - beq .Lok - teq r1,#256 -#ifdef __thumb2__ - itt ne @ Thumb2 thing, sanity check in ARM -#endif - movne r0,#-1 - bne .Labrt - -.Lok: stmdb sp!,{r4,r5,r6,r7,r8,r9,r10,r11,r12,lr} - mov r12,r0 @ inp - mov lr,r1 @ bits - mov r11,r2 @ key - -#if defined(__thumb2__) || defined(__APPLE__) - adr r10,AES_Te+1024 @ Te4 -#else - sub r10,r3,#_armv4_AES_set_encrypt_key-AES_Te-1024 @ Te4 -#endif - -#if __ARM_ARCH__<7 - ldrb r0,[r12,#3] @ load input data in endian-neutral - ldrb r4,[r12,#2] @ manner... - ldrb r5,[r12,#1] - ldrb r6,[r12,#0] - orr r0,r0,r4,lsl#8 - ldrb r1,[r12,#7] - orr r0,r0,r5,lsl#16 - ldrb r4,[r12,#6] - orr r0,r0,r6,lsl#24 - ldrb r5,[r12,#5] - ldrb r6,[r12,#4] - orr r1,r1,r4,lsl#8 - ldrb r2,[r12,#11] - orr r1,r1,r5,lsl#16 - ldrb r4,[r12,#10] - orr r1,r1,r6,lsl#24 - ldrb r5,[r12,#9] - ldrb r6,[r12,#8] - orr r2,r2,r4,lsl#8 - ldrb r3,[r12,#15] - orr r2,r2,r5,lsl#16 - ldrb r4,[r12,#14] - orr r2,r2,r6,lsl#24 - ldrb r5,[r12,#13] - ldrb r6,[r12,#12] - orr r3,r3,r4,lsl#8 - str r0,[r11],#16 - orr r3,r3,r5,lsl#16 - str r1,[r11,#-12] - orr r3,r3,r6,lsl#24 - str r2,[r11,#-8] - str r3,[r11,#-4] -#else - ldr r0,[r12,#0] - ldr r1,[r12,#4] - ldr r2,[r12,#8] - ldr r3,[r12,#12] -#ifdef __ARMEL__ - rev r0,r0 - rev r1,r1 - rev r2,r2 - rev r3,r3 -#endif - str r0,[r11],#16 - str r1,[r11,#-12] - str r2,[r11,#-8] - str r3,[r11,#-4] -#endif - - teq lr,#128 - bne .Lnot128 - mov r12,#10 - str r12,[r11,#240-16] - add r6,r10,#256 @ rcon - mov lr,#255 - -.L128_loop: - and r5,lr,r3,lsr#24 - and r7,lr,r3,lsr#16 - ldrb r5,[r10,r5] - and r8,lr,r3,lsr#8 - ldrb r7,[r10,r7] - and r9,lr,r3 - ldrb r8,[r10,r8] - orr r5,r5,r7,lsl#24 - ldrb r9,[r10,r9] - orr r5,r5,r8,lsl#16 - ldr r4,[r6],#4 @ rcon[i++] - orr r5,r5,r9,lsl#8 - eor r5,r5,r4 - eor r0,r0,r5 @ rk[4]=rk[0]^... - eor r1,r1,r0 @ rk[5]=rk[1]^rk[4] - str r0,[r11],#16 - eor r2,r2,r1 @ rk[6]=rk[2]^rk[5] - str r1,[r11,#-12] - eor r3,r3,r2 @ rk[7]=rk[3]^rk[6] - str r2,[r11,#-8] - subs r12,r12,#1 - str r3,[r11,#-4] - bne .L128_loop - sub r2,r11,#176 - b .Ldone - -.Lnot128: -#if __ARM_ARCH__<7 - ldrb r8,[r12,#19] - ldrb r4,[r12,#18] - ldrb r5,[r12,#17] - ldrb r6,[r12,#16] - orr r8,r8,r4,lsl#8 - ldrb r9,[r12,#23] - orr r8,r8,r5,lsl#16 - ldrb r4,[r12,#22] - orr r8,r8,r6,lsl#24 - ldrb r5,[r12,#21] - ldrb r6,[r12,#20] - orr r9,r9,r4,lsl#8 - orr r9,r9,r5,lsl#16 - str r8,[r11],#8 - orr r9,r9,r6,lsl#24 - str r9,[r11,#-4] -#else - ldr r8,[r12,#16] - ldr r9,[r12,#20] -#ifdef __ARMEL__ - rev r8,r8 - rev r9,r9 -#endif - str r8,[r11],#8 - str r9,[r11,#-4] -#endif - - teq lr,#192 - bne .Lnot192 - mov r12,#12 - str r12,[r11,#240-24] - add r6,r10,#256 @ rcon - mov lr,#255 - mov r12,#8 - -.L192_loop: - and r5,lr,r9,lsr#24 - and r7,lr,r9,lsr#16 - ldrb r5,[r10,r5] - and r8,lr,r9,lsr#8 - ldrb r7,[r10,r7] - and r9,lr,r9 - ldrb r8,[r10,r8] - orr r5,r5,r7,lsl#24 - ldrb r9,[r10,r9] - orr r5,r5,r8,lsl#16 - ldr r4,[r6],#4 @ rcon[i++] - orr r5,r5,r9,lsl#8 - eor r9,r5,r4 - eor r0,r0,r9 @ rk[6]=rk[0]^... - eor r1,r1,r0 @ rk[7]=rk[1]^rk[6] - str r0,[r11],#24 - eor r2,r2,r1 @ rk[8]=rk[2]^rk[7] - str r1,[r11,#-20] - eor r3,r3,r2 @ rk[9]=rk[3]^rk[8] - str r2,[r11,#-16] - subs r12,r12,#1 - str r3,[r11,#-12] -#ifdef __thumb2__ - itt eq @ Thumb2 thing, sanity check in ARM -#endif - subeq r2,r11,#216 - beq .Ldone - - ldr r7,[r11,#-32] - ldr r8,[r11,#-28] - eor r7,r7,r3 @ rk[10]=rk[4]^rk[9] - eor r9,r8,r7 @ rk[11]=rk[5]^rk[10] - str r7,[r11,#-8] - str r9,[r11,#-4] - b .L192_loop - -.Lnot192: -#if __ARM_ARCH__<7 - ldrb r8,[r12,#27] - ldrb r4,[r12,#26] - ldrb r5,[r12,#25] - ldrb r6,[r12,#24] - orr r8,r8,r4,lsl#8 - ldrb r9,[r12,#31] - orr r8,r8,r5,lsl#16 - ldrb r4,[r12,#30] - orr r8,r8,r6,lsl#24 - ldrb r5,[r12,#29] - ldrb r6,[r12,#28] - orr r9,r9,r4,lsl#8 - orr r9,r9,r5,lsl#16 - str r8,[r11],#8 - orr r9,r9,r6,lsl#24 - str r9,[r11,#-4] -#else - ldr r8,[r12,#24] - ldr r9,[r12,#28] -#ifdef __ARMEL__ - rev r8,r8 - rev r9,r9 -#endif - str r8,[r11],#8 - str r9,[r11,#-4] -#endif - - mov r12,#14 - str r12,[r11,#240-32] - add r6,r10,#256 @ rcon - mov lr,#255 - mov r12,#7 - -.L256_loop: - and r5,lr,r9,lsr#24 - and r7,lr,r9,lsr#16 - ldrb r5,[r10,r5] - and r8,lr,r9,lsr#8 - ldrb r7,[r10,r7] - and r9,lr,r9 - ldrb r8,[r10,r8] - orr r5,r5,r7,lsl#24 - ldrb r9,[r10,r9] - orr r5,r5,r8,lsl#16 - ldr r4,[r6],#4 @ rcon[i++] - orr r5,r5,r9,lsl#8 - eor r9,r5,r4 - eor r0,r0,r9 @ rk[8]=rk[0]^... - eor r1,r1,r0 @ rk[9]=rk[1]^rk[8] - str r0,[r11],#32 - eor r2,r2,r1 @ rk[10]=rk[2]^rk[9] - str r1,[r11,#-28] - eor r3,r3,r2 @ rk[11]=rk[3]^rk[10] - str r2,[r11,#-24] - subs r12,r12,#1 - str r3,[r11,#-20] -#ifdef __thumb2__ - itt eq @ Thumb2 thing, sanity check in ARM -#endif - subeq r2,r11,#256 - beq .Ldone - - and r5,lr,r3 - and r7,lr,r3,lsr#8 - ldrb r5,[r10,r5] - and r8,lr,r3,lsr#16 - ldrb r7,[r10,r7] - and r9,lr,r3,lsr#24 - ldrb r8,[r10,r8] - orr r5,r5,r7,lsl#8 - ldrb r9,[r10,r9] - orr r5,r5,r8,lsl#16 - ldr r4,[r11,#-48] - orr r5,r5,r9,lsl#24 - - ldr r7,[r11,#-44] - ldr r8,[r11,#-40] - eor r4,r4,r5 @ rk[12]=rk[4]^... - ldr r9,[r11,#-36] - eor r7,r7,r4 @ rk[13]=rk[5]^rk[12] - str r4,[r11,#-16] - eor r8,r8,r7 @ rk[14]=rk[6]^rk[13] - str r7,[r11,#-12] - eor r9,r9,r8 @ rk[15]=rk[7]^rk[14] - str r8,[r11,#-8] - str r9,[r11,#-4] - b .L256_loop - -.align 2 -.Ldone: mov r0,#0 - ldmia sp!,{r4,r5,r6,r7,r8,r9,r10,r11,r12,lr} -.Labrt: -#if __ARM_ARCH__>=5 - bx lr @ .word 0xe12fff1e -#else - tst lr,#1 - moveq pc,lr @ be binary compatible with V4, yet -.word 0xe12fff1e @ interoperable with Thumb ISA:-) -#endif -.size aes_nohw_set_encrypt_key,.-aes_nohw_set_encrypt_key - -.globl aes_nohw_set_decrypt_key -.hidden aes_nohw_set_decrypt_key -.type aes_nohw_set_decrypt_key,%function -.align 5 -aes_nohw_set_decrypt_key: - str lr,[sp,#-4]! @ push lr - bl _armv4_AES_set_encrypt_key - teq r0,#0 - ldr lr,[sp],#4 @ pop lr - bne .Labrt - - mov r0,r2 @ aes_nohw_set_encrypt_key preserves r2, - mov r1,r2 @ which is AES_KEY *key - b _armv4_AES_set_enc2dec_key -.size aes_nohw_set_decrypt_key,.-aes_nohw_set_decrypt_key - -@ void AES_set_enc2dec_key(const AES_KEY *inp,AES_KEY *out) -.globl AES_set_enc2dec_key -.hidden AES_set_enc2dec_key -.type AES_set_enc2dec_key,%function -.align 5 -AES_set_enc2dec_key: -_armv4_AES_set_enc2dec_key: - stmdb sp!,{r4,r5,r6,r7,r8,r9,r10,r11,r12,lr} - - ldr r12,[r0,#240] - mov r7,r0 @ input - add r8,r0,r12,lsl#4 - mov r11,r1 @ output - add r10,r1,r12,lsl#4 - str r12,[r1,#240] - -.Linv: ldr r0,[r7],#16 - ldr r1,[r7,#-12] - ldr r2,[r7,#-8] - ldr r3,[r7,#-4] - ldr r4,[r8],#-16 - ldr r5,[r8,#16+4] - ldr r6,[r8,#16+8] - ldr r9,[r8,#16+12] - str r0,[r10],#-16 - str r1,[r10,#16+4] - str r2,[r10,#16+8] - str r3,[r10,#16+12] - str r4,[r11],#16 - str r5,[r11,#-12] - str r6,[r11,#-8] - str r9,[r11,#-4] - teq r7,r8 - bne .Linv - - ldr r0,[r7] - ldr r1,[r7,#4] - ldr r2,[r7,#8] - ldr r3,[r7,#12] - str r0,[r11] - str r1,[r11,#4] - str r2,[r11,#8] - str r3,[r11,#12] - sub r11,r11,r12,lsl#3 - ldr r0,[r11,#16]! @ prefetch tp1 - mov r7,#0x80 - mov r8,#0x1b - orr r7,r7,#0x8000 - orr r8,r8,#0x1b00 - orr r7,r7,r7,lsl#16 - orr r8,r8,r8,lsl#16 - sub r12,r12,#1 - mvn r9,r7 - mov r12,r12,lsl#2 @ (rounds-1)*4 - -.Lmix: and r4,r0,r7 - and r1,r0,r9 - sub r4,r4,r4,lsr#7 - and r4,r4,r8 - eor r1,r4,r1,lsl#1 @ tp2 - - and r4,r1,r7 - and r2,r1,r9 - sub r4,r4,r4,lsr#7 - and r4,r4,r8 - eor r2,r4,r2,lsl#1 @ tp4 - - and r4,r2,r7 - and r3,r2,r9 - sub r4,r4,r4,lsr#7 - and r4,r4,r8 - eor r3,r4,r3,lsl#1 @ tp8 - - eor r4,r1,r2 - eor r5,r0,r3 @ tp9 - eor r4,r4,r3 @ tpe - eor r4,r4,r1,ror#24 - eor r4,r4,r5,ror#24 @ ^= ROTATE(tpb=tp9^tp2,8) - eor r4,r4,r2,ror#16 - eor r4,r4,r5,ror#16 @ ^= ROTATE(tpd=tp9^tp4,16) - eor r4,r4,r5,ror#8 @ ^= ROTATE(tp9,24) - - ldr r0,[r11,#4] @ prefetch tp1 - str r4,[r11],#4 - subs r12,r12,#1 - bne .Lmix - - mov r0,#0 -#if __ARM_ARCH__>=5 - ldmia sp!,{r4,r5,r6,r7,r8,r9,r10,r11,r12,pc} -#else - ldmia sp!,{r4,r5,r6,r7,r8,r9,r10,r11,r12,lr} - tst lr,#1 - moveq pc,lr @ be binary compatible with V4, yet -.word 0xe12fff1e @ interoperable with Thumb ISA:-) -#endif -.size AES_set_enc2dec_key,.-AES_set_enc2dec_key - -.type AES_Td,%object -.align 5 -AES_Td: -.word 0x51f4a750, 0x7e416553, 0x1a17a4c3, 0x3a275e96 -.word 0x3bab6bcb, 0x1f9d45f1, 0xacfa58ab, 0x4be30393 -.word 0x2030fa55, 0xad766df6, 0x88cc7691, 0xf5024c25 -.word 0x4fe5d7fc, 0xc52acbd7, 0x26354480, 0xb562a38f -.word 0xdeb15a49, 0x25ba1b67, 0x45ea0e98, 0x5dfec0e1 -.word 0xc32f7502, 0x814cf012, 0x8d4697a3, 0x6bd3f9c6 -.word 0x038f5fe7, 0x15929c95, 0xbf6d7aeb, 0x955259da -.word 0xd4be832d, 0x587421d3, 0x49e06929, 0x8ec9c844 -.word 0x75c2896a, 0xf48e7978, 0x99583e6b, 0x27b971dd -.word 0xbee14fb6, 0xf088ad17, 0xc920ac66, 0x7dce3ab4 -.word 0x63df4a18, 0xe51a3182, 0x97513360, 0x62537f45 -.word 0xb16477e0, 0xbb6bae84, 0xfe81a01c, 0xf9082b94 -.word 0x70486858, 0x8f45fd19, 0x94de6c87, 0x527bf8b7 -.word 0xab73d323, 0x724b02e2, 0xe31f8f57, 0x6655ab2a -.word 0xb2eb2807, 0x2fb5c203, 0x86c57b9a, 0xd33708a5 -.word 0x302887f2, 0x23bfa5b2, 0x02036aba, 0xed16825c -.word 0x8acf1c2b, 0xa779b492, 0xf307f2f0, 0x4e69e2a1 -.word 0x65daf4cd, 0x0605bed5, 0xd134621f, 0xc4a6fe8a -.word 0x342e539d, 0xa2f355a0, 0x058ae132, 0xa4f6eb75 -.word 0x0b83ec39, 0x4060efaa, 0x5e719f06, 0xbd6e1051 -.word 0x3e218af9, 0x96dd063d, 0xdd3e05ae, 0x4de6bd46 -.word 0x91548db5, 0x71c45d05, 0x0406d46f, 0x605015ff -.word 0x1998fb24, 0xd6bde997, 0x894043cc, 0x67d99e77 -.word 0xb0e842bd, 0x07898b88, 0xe7195b38, 0x79c8eedb -.word 0xa17c0a47, 0x7c420fe9, 0xf8841ec9, 0x00000000 -.word 0x09808683, 0x322bed48, 0x1e1170ac, 0x6c5a724e -.word 0xfd0efffb, 0x0f853856, 0x3daed51e, 0x362d3927 -.word 0x0a0fd964, 0x685ca621, 0x9b5b54d1, 0x24362e3a -.word 0x0c0a67b1, 0x9357e70f, 0xb4ee96d2, 0x1b9b919e -.word 0x80c0c54f, 0x61dc20a2, 0x5a774b69, 0x1c121a16 -.word 0xe293ba0a, 0xc0a02ae5, 0x3c22e043, 0x121b171d -.word 0x0e090d0b, 0xf28bc7ad, 0x2db6a8b9, 0x141ea9c8 -.word 0x57f11985, 0xaf75074c, 0xee99ddbb, 0xa37f60fd -.word 0xf701269f, 0x5c72f5bc, 0x44663bc5, 0x5bfb7e34 -.word 0x8b432976, 0xcb23c6dc, 0xb6edfc68, 0xb8e4f163 -.word 0xd731dcca, 0x42638510, 0x13972240, 0x84c61120 -.word 0x854a247d, 0xd2bb3df8, 0xaef93211, 0xc729a16d -.word 0x1d9e2f4b, 0xdcb230f3, 0x0d8652ec, 0x77c1e3d0 -.word 0x2bb3166c, 0xa970b999, 0x119448fa, 0x47e96422 -.word 0xa8fc8cc4, 0xa0f03f1a, 0x567d2cd8, 0x223390ef -.word 0x87494ec7, 0xd938d1c1, 0x8ccaa2fe, 0x98d40b36 -.word 0xa6f581cf, 0xa57ade28, 0xdab78e26, 0x3fadbfa4 -.word 0x2c3a9de4, 0x5078920d, 0x6a5fcc9b, 0x547e4662 -.word 0xf68d13c2, 0x90d8b8e8, 0x2e39f75e, 0x82c3aff5 -.word 0x9f5d80be, 0x69d0937c, 0x6fd52da9, 0xcf2512b3 -.word 0xc8ac993b, 0x10187da7, 0xe89c636e, 0xdb3bbb7b -.word 0xcd267809, 0x6e5918f4, 0xec9ab701, 0x834f9aa8 -.word 0xe6956e65, 0xaaffe67e, 0x21bccf08, 0xef15e8e6 -.word 0xbae79bd9, 0x4a6f36ce, 0xea9f09d4, 0x29b07cd6 -.word 0x31a4b2af, 0x2a3f2331, 0xc6a59430, 0x35a266c0 -.word 0x744ebc37, 0xfc82caa6, 0xe090d0b0, 0x33a7d815 -.word 0xf104984a, 0x41ecdaf7, 0x7fcd500e, 0x1791f62f -.word 0x764dd68d, 0x43efb04d, 0xccaa4d54, 0xe49604df -.word 0x9ed1b5e3, 0x4c6a881b, 0xc12c1fb8, 0x4665517f -.word 0x9d5eea04, 0x018c355d, 0xfa877473, 0xfb0b412e -.word 0xb3671d5a, 0x92dbd252, 0xe9105633, 0x6dd64713 -.word 0x9ad7618c, 0x37a10c7a, 0x59f8148e, 0xeb133c89 -.word 0xcea927ee, 0xb761c935, 0xe11ce5ed, 0x7a47b13c -.word 0x9cd2df59, 0x55f2733f, 0x1814ce79, 0x73c737bf -.word 0x53f7cdea, 0x5ffdaa5b, 0xdf3d6f14, 0x7844db86 -.word 0xcaaff381, 0xb968c43e, 0x3824342c, 0xc2a3405f -.word 0x161dc372, 0xbce2250c, 0x283c498b, 0xff0d9541 -.word 0x39a80171, 0x080cb3de, 0xd8b4e49c, 0x6456c190 -.word 0x7bcb8461, 0xd532b670, 0x486c5c74, 0xd0b85742 -@ Td4[256] -.byte 0x52, 0x09, 0x6a, 0xd5, 0x30, 0x36, 0xa5, 0x38 -.byte 0xbf, 0x40, 0xa3, 0x9e, 0x81, 0xf3, 0xd7, 0xfb -.byte 0x7c, 0xe3, 0x39, 0x82, 0x9b, 0x2f, 0xff, 0x87 -.byte 0x34, 0x8e, 0x43, 0x44, 0xc4, 0xde, 0xe9, 0xcb -.byte 0x54, 0x7b, 0x94, 0x32, 0xa6, 0xc2, 0x23, 0x3d -.byte 0xee, 0x4c, 0x95, 0x0b, 0x42, 0xfa, 0xc3, 0x4e -.byte 0x08, 0x2e, 0xa1, 0x66, 0x28, 0xd9, 0x24, 0xb2 -.byte 0x76, 0x5b, 0xa2, 0x49, 0x6d, 0x8b, 0xd1, 0x25 -.byte 0x72, 0xf8, 0xf6, 0x64, 0x86, 0x68, 0x98, 0x16 -.byte 0xd4, 0xa4, 0x5c, 0xcc, 0x5d, 0x65, 0xb6, 0x92 -.byte 0x6c, 0x70, 0x48, 0x50, 0xfd, 0xed, 0xb9, 0xda -.byte 0x5e, 0x15, 0x46, 0x57, 0xa7, 0x8d, 0x9d, 0x84 -.byte 0x90, 0xd8, 0xab, 0x00, 0x8c, 0xbc, 0xd3, 0x0a -.byte 0xf7, 0xe4, 0x58, 0x05, 0xb8, 0xb3, 0x45, 0x06 -.byte 0xd0, 0x2c, 0x1e, 0x8f, 0xca, 0x3f, 0x0f, 0x02 -.byte 0xc1, 0xaf, 0xbd, 0x03, 0x01, 0x13, 0x8a, 0x6b -.byte 0x3a, 0x91, 0x11, 0x41, 0x4f, 0x67, 0xdc, 0xea -.byte 0x97, 0xf2, 0xcf, 0xce, 0xf0, 0xb4, 0xe6, 0x73 -.byte 0x96, 0xac, 0x74, 0x22, 0xe7, 0xad, 0x35, 0x85 -.byte 0xe2, 0xf9, 0x37, 0xe8, 0x1c, 0x75, 0xdf, 0x6e -.byte 0x47, 0xf1, 0x1a, 0x71, 0x1d, 0x29, 0xc5, 0x89 -.byte 0x6f, 0xb7, 0x62, 0x0e, 0xaa, 0x18, 0xbe, 0x1b -.byte 0xfc, 0x56, 0x3e, 0x4b, 0xc6, 0xd2, 0x79, 0x20 -.byte 0x9a, 0xdb, 0xc0, 0xfe, 0x78, 0xcd, 0x5a, 0xf4 -.byte 0x1f, 0xdd, 0xa8, 0x33, 0x88, 0x07, 0xc7, 0x31 -.byte 0xb1, 0x12, 0x10, 0x59, 0x27, 0x80, 0xec, 0x5f -.byte 0x60, 0x51, 0x7f, 0xa9, 0x19, 0xb5, 0x4a, 0x0d -.byte 0x2d, 0xe5, 0x7a, 0x9f, 0x93, 0xc9, 0x9c, 0xef -.byte 0xa0, 0xe0, 0x3b, 0x4d, 0xae, 0x2a, 0xf5, 0xb0 -.byte 0xc8, 0xeb, 0xbb, 0x3c, 0x83, 0x53, 0x99, 0x61 -.byte 0x17, 0x2b, 0x04, 0x7e, 0xba, 0x77, 0xd6, 0x26 -.byte 0xe1, 0x69, 0x14, 0x63, 0x55, 0x21, 0x0c, 0x7d -.size AES_Td,.-AES_Td - -@ void aes_nohw_decrypt(const unsigned char *in, unsigned char *out, -@ const AES_KEY *key) { -.globl aes_nohw_decrypt -.hidden aes_nohw_decrypt -.type aes_nohw_decrypt,%function -.align 5 -aes_nohw_decrypt: -#ifndef __thumb2__ - sub r3,pc,#8 @ aes_nohw_decrypt -#else - adr r3,. -#endif - stmdb sp!,{r1,r4-r12,lr} -#if defined(__thumb2__) || defined(__APPLE__) - adr r10,AES_Td -#else - sub r10,r3,#aes_nohw_decrypt-AES_Td @ Td -#endif - mov r12,r0 @ inp - mov r11,r2 -#if __ARM_ARCH__<7 - ldrb r0,[r12,#3] @ load input data in endian-neutral - ldrb r4,[r12,#2] @ manner... - ldrb r5,[r12,#1] - ldrb r6,[r12,#0] - orr r0,r0,r4,lsl#8 - ldrb r1,[r12,#7] - orr r0,r0,r5,lsl#16 - ldrb r4,[r12,#6] - orr r0,r0,r6,lsl#24 - ldrb r5,[r12,#5] - ldrb r6,[r12,#4] - orr r1,r1,r4,lsl#8 - ldrb r2,[r12,#11] - orr r1,r1,r5,lsl#16 - ldrb r4,[r12,#10] - orr r1,r1,r6,lsl#24 - ldrb r5,[r12,#9] - ldrb r6,[r12,#8] - orr r2,r2,r4,lsl#8 - ldrb r3,[r12,#15] - orr r2,r2,r5,lsl#16 - ldrb r4,[r12,#14] - orr r2,r2,r6,lsl#24 - ldrb r5,[r12,#13] - ldrb r6,[r12,#12] - orr r3,r3,r4,lsl#8 - orr r3,r3,r5,lsl#16 - orr r3,r3,r6,lsl#24 -#else - ldr r0,[r12,#0] - ldr r1,[r12,#4] - ldr r2,[r12,#8] - ldr r3,[r12,#12] -#ifdef __ARMEL__ - rev r0,r0 - rev r1,r1 - rev r2,r2 - rev r3,r3 -#endif -#endif - bl _armv4_AES_decrypt - - ldr r12,[sp],#4 @ pop out -#if __ARM_ARCH__>=7 -#ifdef __ARMEL__ - rev r0,r0 - rev r1,r1 - rev r2,r2 - rev r3,r3 -#endif - str r0,[r12,#0] - str r1,[r12,#4] - str r2,[r12,#8] - str r3,[r12,#12] -#else - mov r4,r0,lsr#24 @ write output in endian-neutral - mov r5,r0,lsr#16 @ manner... - mov r6,r0,lsr#8 - strb r4,[r12,#0] - strb r5,[r12,#1] - mov r4,r1,lsr#24 - strb r6,[r12,#2] - mov r5,r1,lsr#16 - strb r0,[r12,#3] - mov r6,r1,lsr#8 - strb r4,[r12,#4] - strb r5,[r12,#5] - mov r4,r2,lsr#24 - strb r6,[r12,#6] - mov r5,r2,lsr#16 - strb r1,[r12,#7] - mov r6,r2,lsr#8 - strb r4,[r12,#8] - strb r5,[r12,#9] - mov r4,r3,lsr#24 - strb r6,[r12,#10] - mov r5,r3,lsr#16 - strb r2,[r12,#11] - mov r6,r3,lsr#8 - strb r4,[r12,#12] - strb r5,[r12,#13] - strb r6,[r12,#14] - strb r3,[r12,#15] -#endif -#if __ARM_ARCH__>=5 - ldmia sp!,{r4,r5,r6,r7,r8,r9,r10,r11,r12,pc} -#else - ldmia sp!,{r4,r5,r6,r7,r8,r9,r10,r11,r12,lr} - tst lr,#1 - moveq pc,lr @ be binary compatible with V4, yet -.word 0xe12fff1e @ interoperable with Thumb ISA:-) -#endif -.size aes_nohw_decrypt,.-aes_nohw_decrypt - -.type _armv4_AES_decrypt,%function -.align 2 -_armv4_AES_decrypt: - str lr,[sp,#-4]! @ push lr - ldmia r11!,{r4,r5,r6,r7} - eor r0,r0,r4 - ldr r12,[r11,#240-16] - eor r1,r1,r5 - eor r2,r2,r6 - eor r3,r3,r7 - sub r12,r12,#1 - mov lr,#255 - - and r7,lr,r0,lsr#16 - and r8,lr,r0,lsr#8 - and r9,lr,r0 - mov r0,r0,lsr#24 -.Ldec_loop: - ldr r4,[r10,r7,lsl#2] @ Td1[s0>>16] - and r7,lr,r1 @ i0 - ldr r5,[r10,r8,lsl#2] @ Td2[s0>>8] - and r8,lr,r1,lsr#16 - ldr r6,[r10,r9,lsl#2] @ Td3[s0>>0] - and r9,lr,r1,lsr#8 - ldr r0,[r10,r0,lsl#2] @ Td0[s0>>24] - mov r1,r1,lsr#24 - - ldr r7,[r10,r7,lsl#2] @ Td3[s1>>0] - ldr r8,[r10,r8,lsl#2] @ Td1[s1>>16] - ldr r9,[r10,r9,lsl#2] @ Td2[s1>>8] - eor r0,r0,r7,ror#24 - ldr r1,[r10,r1,lsl#2] @ Td0[s1>>24] - and r7,lr,r2,lsr#8 @ i0 - eor r5,r8,r5,ror#8 - and r8,lr,r2 @ i1 - eor r6,r9,r6,ror#8 - and r9,lr,r2,lsr#16 - ldr r7,[r10,r7,lsl#2] @ Td2[s2>>8] - eor r1,r1,r4,ror#8 - ldr r8,[r10,r8,lsl#2] @ Td3[s2>>0] - mov r2,r2,lsr#24 - - ldr r9,[r10,r9,lsl#2] @ Td1[s2>>16] - eor r0,r0,r7,ror#16 - ldr r2,[r10,r2,lsl#2] @ Td0[s2>>24] - and r7,lr,r3,lsr#16 @ i0 - eor r1,r1,r8,ror#24 - and r8,lr,r3,lsr#8 @ i1 - eor r6,r9,r6,ror#8 - and r9,lr,r3 @ i2 - ldr r7,[r10,r7,lsl#2] @ Td1[s3>>16] - eor r2,r2,r5,ror#8 - ldr r8,[r10,r8,lsl#2] @ Td2[s3>>8] - mov r3,r3,lsr#24 - - ldr r9,[r10,r9,lsl#2] @ Td3[s3>>0] - eor r0,r0,r7,ror#8 - ldr r7,[r11],#16 - eor r1,r1,r8,ror#16 - ldr r3,[r10,r3,lsl#2] @ Td0[s3>>24] - eor r2,r2,r9,ror#24 - - ldr r4,[r11,#-12] - eor r0,r0,r7 - ldr r5,[r11,#-8] - eor r3,r3,r6,ror#8 - ldr r6,[r11,#-4] - and r7,lr,r0,lsr#16 - eor r1,r1,r4 - and r8,lr,r0,lsr#8 - eor r2,r2,r5 - and r9,lr,r0 - eor r3,r3,r6 - mov r0,r0,lsr#24 - - subs r12,r12,#1 - bne .Ldec_loop - - add r10,r10,#1024 - - ldr r5,[r10,#0] @ prefetch Td4 - ldr r6,[r10,#32] - ldr r4,[r10,#64] - ldr r5,[r10,#96] - ldr r6,[r10,#128] - ldr r4,[r10,#160] - ldr r5,[r10,#192] - ldr r6,[r10,#224] - - ldrb r0,[r10,r0] @ Td4[s0>>24] - ldrb r4,[r10,r7] @ Td4[s0>>16] - and r7,lr,r1 @ i0 - ldrb r5,[r10,r8] @ Td4[s0>>8] - and r8,lr,r1,lsr#16 - ldrb r6,[r10,r9] @ Td4[s0>>0] - and r9,lr,r1,lsr#8 - - add r1,r10,r1,lsr#24 - ldrb r7,[r10,r7] @ Td4[s1>>0] - ldrb r1,[r1] @ Td4[s1>>24] - ldrb r8,[r10,r8] @ Td4[s1>>16] - eor r0,r7,r0,lsl#24 - ldrb r9,[r10,r9] @ Td4[s1>>8] - eor r1,r4,r1,lsl#8 - and r7,lr,r2,lsr#8 @ i0 - eor r5,r5,r8,lsl#8 - and r8,lr,r2 @ i1 - ldrb r7,[r10,r7] @ Td4[s2>>8] - eor r6,r6,r9,lsl#8 - ldrb r8,[r10,r8] @ Td4[s2>>0] - and r9,lr,r2,lsr#16 - - add r2,r10,r2,lsr#24 - ldrb r2,[r2] @ Td4[s2>>24] - eor r0,r0,r7,lsl#8 - ldrb r9,[r10,r9] @ Td4[s2>>16] - eor r1,r8,r1,lsl#16 - and r7,lr,r3,lsr#16 @ i0 - eor r2,r5,r2,lsl#16 - and r8,lr,r3,lsr#8 @ i1 - ldrb r7,[r10,r7] @ Td4[s3>>16] - eor r6,r6,r9,lsl#16 - ldrb r8,[r10,r8] @ Td4[s3>>8] - and r9,lr,r3 @ i2 - - add r3,r10,r3,lsr#24 - ldrb r9,[r10,r9] @ Td4[s3>>0] - ldrb r3,[r3] @ Td4[s3>>24] - eor r0,r0,r7,lsl#16 - ldr r7,[r11,#0] - eor r1,r1,r8,lsl#8 - ldr r4,[r11,#4] - eor r2,r9,r2,lsl#8 - ldr r5,[r11,#8] - eor r3,r6,r3,lsl#24 - ldr r6,[r11,#12] - - eor r0,r0,r7 - eor r1,r1,r4 - eor r2,r2,r5 - eor r3,r3,r6 - - sub r10,r10,#1024 - ldr pc,[sp],#4 @ pop and return -.size _armv4_AES_decrypt,.-_armv4_AES_decrypt -.byte 65,69,83,32,102,111,114,32,65,82,77,118,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 -.align 2 -.align 2 -#endif -#endif // !OPENSSL_NO_ASM diff --git a/contrib/boringssl-cmake/linux-arm/crypto/fipsmodule/aesv8-armx32.S b/contrib/boringssl-cmake/linux-arm/crypto/fipsmodule/aesv8-armx32.S index 3a2d2e43e09..5d6e22d029d 100644 --- a/contrib/boringssl-cmake/linux-arm/crypto/fipsmodule/aesv8-armx32.S +++ b/contrib/boringssl-cmake/linux-arm/crypto/fipsmodule/aesv8-armx32.S @@ -778,3 +778,4 @@ aes_hw_ctr32_encrypt_blocks: #endif #endif #endif // !OPENSSL_NO_ASM +.section .note.GNU-stack,"",%progbits diff --git a/contrib/boringssl-cmake/linux-arm/crypto/fipsmodule/armv4-mont.S b/contrib/boringssl-cmake/linux-arm/crypto/fipsmodule/armv4-mont.S index 12ebe40c779..029689475b1 100644 --- a/contrib/boringssl-cmake/linux-arm/crypto/fipsmodule/armv4-mont.S +++ b/contrib/boringssl-cmake/linux-arm/crypto/fipsmodule/armv4-mont.S @@ -974,3 +974,4 @@ bn_mul8x_mont_neon: #endif #endif #endif // !OPENSSL_NO_ASM +.section .note.GNU-stack,"",%progbits diff --git a/contrib/boringssl-cmake/linux-arm/crypto/fipsmodule/bsaes-armv7.S b/contrib/boringssl-cmake/linux-arm/crypto/fipsmodule/bsaes-armv7.S index f6cec3dbd69..69a8fcacd0a 100644 --- a/contrib/boringssl-cmake/linux-arm/crypto/fipsmodule/bsaes-armv7.S +++ b/contrib/boringssl-cmake/linux-arm/crypto/fipsmodule/bsaes-armv7.S @@ -1526,3 +1526,4 @@ bsaes_ctr32_encrypt_blocks: #endif #endif #endif // !OPENSSL_NO_ASM +.section .note.GNU-stack,"",%progbits diff --git a/contrib/boringssl-cmake/linux-arm/crypto/fipsmodule/ghash-armv4.S b/contrib/boringssl-cmake/linux-arm/crypto/fipsmodule/ghash-armv4.S index a0fa53c6c41..0532695a625 100644 --- a/contrib/boringssl-cmake/linux-arm/crypto/fipsmodule/ghash-armv4.S +++ b/contrib/boringssl-cmake/linux-arm/crypto/fipsmodule/ghash-armv4.S @@ -31,342 +31,6 @@ #else .code 32 #endif - -.type rem_4bit,%object -.align 5 -rem_4bit: -.short 0x0000,0x1C20,0x3840,0x2460 -.short 0x7080,0x6CA0,0x48C0,0x54E0 -.short 0xE100,0xFD20,0xD940,0xC560 -.short 0x9180,0x8DA0,0xA9C0,0xB5E0 -.size rem_4bit,.-rem_4bit - -.type rem_4bit_get,%function -rem_4bit_get: -#if defined(__thumb2__) - adr r2,rem_4bit -#else - sub r2,pc,#8+32 @ &rem_4bit -#endif - b .Lrem_4bit_got - nop - nop -.size rem_4bit_get,.-rem_4bit_get - -.globl gcm_ghash_4bit -.hidden gcm_ghash_4bit -.type gcm_ghash_4bit,%function -.align 4 -gcm_ghash_4bit: -#if defined(__thumb2__) - adr r12,rem_4bit -#else - sub r12,pc,#8+48 @ &rem_4bit -#endif - add r3,r2,r3 @ r3 to point at the end - stmdb sp!,{r3,r4,r5,r6,r7,r8,r9,r10,r11,lr} @ save r3/end too - - ldmia r12,{r4,r5,r6,r7,r8,r9,r10,r11} @ copy rem_4bit ... - stmdb sp!,{r4,r5,r6,r7,r8,r9,r10,r11} @ ... to stack - - ldrb r12,[r2,#15] - ldrb r14,[r0,#15] -.Louter: - eor r12,r12,r14 - and r14,r12,#0xf0 - and r12,r12,#0x0f - mov r3,#14 - - add r7,r1,r12,lsl#4 - ldmia r7,{r4,r5,r6,r7} @ load Htbl[nlo] - add r11,r1,r14 - ldrb r12,[r2,#14] - - and r14,r4,#0xf @ rem - ldmia r11,{r8,r9,r10,r11} @ load Htbl[nhi] - add r14,r14,r14 - eor r4,r8,r4,lsr#4 - ldrh r8,[sp,r14] @ rem_4bit[rem] - eor r4,r4,r5,lsl#28 - ldrb r14,[r0,#14] - eor r5,r9,r5,lsr#4 - eor r5,r5,r6,lsl#28 - eor r6,r10,r6,lsr#4 - eor r6,r6,r7,lsl#28 - eor r7,r11,r7,lsr#4 - eor r12,r12,r14 - and r14,r12,#0xf0 - and r12,r12,#0x0f - eor r7,r7,r8,lsl#16 - -.Linner: - add r11,r1,r12,lsl#4 - and r12,r4,#0xf @ rem - subs r3,r3,#1 - add r12,r12,r12 - ldmia r11,{r8,r9,r10,r11} @ load Htbl[nlo] - eor r4,r8,r4,lsr#4 - eor r4,r4,r5,lsl#28 - eor r5,r9,r5,lsr#4 - eor r5,r5,r6,lsl#28 - ldrh r8,[sp,r12] @ rem_4bit[rem] - eor r6,r10,r6,lsr#4 -#ifdef __thumb2__ - it pl -#endif - ldrplb r12,[r2,r3] - eor r6,r6,r7,lsl#28 - eor r7,r11,r7,lsr#4 - - add r11,r1,r14 - and r14,r4,#0xf @ rem - eor r7,r7,r8,lsl#16 @ ^= rem_4bit[rem] - add r14,r14,r14 - ldmia r11,{r8,r9,r10,r11} @ load Htbl[nhi] - eor r4,r8,r4,lsr#4 -#ifdef __thumb2__ - it pl -#endif - ldrplb r8,[r0,r3] - eor r4,r4,r5,lsl#28 - eor r5,r9,r5,lsr#4 - ldrh r9,[sp,r14] - eor r5,r5,r6,lsl#28 - eor r6,r10,r6,lsr#4 - eor r6,r6,r7,lsl#28 -#ifdef __thumb2__ - it pl -#endif - eorpl r12,r12,r8 - eor r7,r11,r7,lsr#4 -#ifdef __thumb2__ - itt pl -#endif - andpl r14,r12,#0xf0 - andpl r12,r12,#0x0f - eor r7,r7,r9,lsl#16 @ ^= rem_4bit[rem] - bpl .Linner - - ldr r3,[sp,#32] @ re-load r3/end - add r2,r2,#16 - mov r14,r4 -#if __ARM_ARCH__>=7 && defined(__ARMEL__) - rev r4,r4 - str r4,[r0,#12] -#elif defined(__ARMEB__) - str r4,[r0,#12] -#else - mov r9,r4,lsr#8 - strb r4,[r0,#12+3] - mov r10,r4,lsr#16 - strb r9,[r0,#12+2] - mov r11,r4,lsr#24 - strb r10,[r0,#12+1] - strb r11,[r0,#12] -#endif - cmp r2,r3 -#if __ARM_ARCH__>=7 && defined(__ARMEL__) - rev r5,r5 - str r5,[r0,#8] -#elif defined(__ARMEB__) - str r5,[r0,#8] -#else - mov r9,r5,lsr#8 - strb r5,[r0,#8+3] - mov r10,r5,lsr#16 - strb r9,[r0,#8+2] - mov r11,r5,lsr#24 - strb r10,[r0,#8+1] - strb r11,[r0,#8] -#endif - -#ifdef __thumb2__ - it ne -#endif - ldrneb r12,[r2,#15] -#if __ARM_ARCH__>=7 && defined(__ARMEL__) - rev r6,r6 - str r6,[r0,#4] -#elif defined(__ARMEB__) - str r6,[r0,#4] -#else - mov r9,r6,lsr#8 - strb r6,[r0,#4+3] - mov r10,r6,lsr#16 - strb r9,[r0,#4+2] - mov r11,r6,lsr#24 - strb r10,[r0,#4+1] - strb r11,[r0,#4] -#endif - -#if __ARM_ARCH__>=7 && defined(__ARMEL__) - rev r7,r7 - str r7,[r0,#0] -#elif defined(__ARMEB__) - str r7,[r0,#0] -#else - mov r9,r7,lsr#8 - strb r7,[r0,#0+3] - mov r10,r7,lsr#16 - strb r9,[r0,#0+2] - mov r11,r7,lsr#24 - strb r10,[r0,#0+1] - strb r11,[r0,#0] -#endif - - bne .Louter - - add sp,sp,#36 -#if __ARM_ARCH__>=5 - ldmia sp!,{r4,r5,r6,r7,r8,r9,r10,r11,pc} -#else - ldmia sp!,{r4,r5,r6,r7,r8,r9,r10,r11,lr} - tst lr,#1 - moveq pc,lr @ be binary compatible with V4, yet -.word 0xe12fff1e @ interoperable with Thumb ISA:-) -#endif -.size gcm_ghash_4bit,.-gcm_ghash_4bit - -.globl gcm_gmult_4bit -.hidden gcm_gmult_4bit -.type gcm_gmult_4bit,%function -gcm_gmult_4bit: - stmdb sp!,{r4,r5,r6,r7,r8,r9,r10,r11,lr} - ldrb r12,[r0,#15] - b rem_4bit_get -.Lrem_4bit_got: - and r14,r12,#0xf0 - and r12,r12,#0x0f - mov r3,#14 - - add r7,r1,r12,lsl#4 - ldmia r7,{r4,r5,r6,r7} @ load Htbl[nlo] - ldrb r12,[r0,#14] - - add r11,r1,r14 - and r14,r4,#0xf @ rem - ldmia r11,{r8,r9,r10,r11} @ load Htbl[nhi] - add r14,r14,r14 - eor r4,r8,r4,lsr#4 - ldrh r8,[r2,r14] @ rem_4bit[rem] - eor r4,r4,r5,lsl#28 - eor r5,r9,r5,lsr#4 - eor r5,r5,r6,lsl#28 - eor r6,r10,r6,lsr#4 - eor r6,r6,r7,lsl#28 - eor r7,r11,r7,lsr#4 - and r14,r12,#0xf0 - eor r7,r7,r8,lsl#16 - and r12,r12,#0x0f - -.Loop: - add r11,r1,r12,lsl#4 - and r12,r4,#0xf @ rem - subs r3,r3,#1 - add r12,r12,r12 - ldmia r11,{r8,r9,r10,r11} @ load Htbl[nlo] - eor r4,r8,r4,lsr#4 - eor r4,r4,r5,lsl#28 - eor r5,r9,r5,lsr#4 - eor r5,r5,r6,lsl#28 - ldrh r8,[r2,r12] @ rem_4bit[rem] - eor r6,r10,r6,lsr#4 -#ifdef __thumb2__ - it pl -#endif - ldrplb r12,[r0,r3] - eor r6,r6,r7,lsl#28 - eor r7,r11,r7,lsr#4 - - add r11,r1,r14 - and r14,r4,#0xf @ rem - eor r7,r7,r8,lsl#16 @ ^= rem_4bit[rem] - add r14,r14,r14 - ldmia r11,{r8,r9,r10,r11} @ load Htbl[nhi] - eor r4,r8,r4,lsr#4 - eor r4,r4,r5,lsl#28 - eor r5,r9,r5,lsr#4 - ldrh r8,[r2,r14] @ rem_4bit[rem] - eor r5,r5,r6,lsl#28 - eor r6,r10,r6,lsr#4 - eor r6,r6,r7,lsl#28 - eor r7,r11,r7,lsr#4 -#ifdef __thumb2__ - itt pl -#endif - andpl r14,r12,#0xf0 - andpl r12,r12,#0x0f - eor r7,r7,r8,lsl#16 @ ^= rem_4bit[rem] - bpl .Loop -#if __ARM_ARCH__>=7 && defined(__ARMEL__) - rev r4,r4 - str r4,[r0,#12] -#elif defined(__ARMEB__) - str r4,[r0,#12] -#else - mov r9,r4,lsr#8 - strb r4,[r0,#12+3] - mov r10,r4,lsr#16 - strb r9,[r0,#12+2] - mov r11,r4,lsr#24 - strb r10,[r0,#12+1] - strb r11,[r0,#12] -#endif - -#if __ARM_ARCH__>=7 && defined(__ARMEL__) - rev r5,r5 - str r5,[r0,#8] -#elif defined(__ARMEB__) - str r5,[r0,#8] -#else - mov r9,r5,lsr#8 - strb r5,[r0,#8+3] - mov r10,r5,lsr#16 - strb r9,[r0,#8+2] - mov r11,r5,lsr#24 - strb r10,[r0,#8+1] - strb r11,[r0,#8] -#endif - -#if __ARM_ARCH__>=7 && defined(__ARMEL__) - rev r6,r6 - str r6,[r0,#4] -#elif defined(__ARMEB__) - str r6,[r0,#4] -#else - mov r9,r6,lsr#8 - strb r6,[r0,#4+3] - mov r10,r6,lsr#16 - strb r9,[r0,#4+2] - mov r11,r6,lsr#24 - strb r10,[r0,#4+1] - strb r11,[r0,#4] -#endif - -#if __ARM_ARCH__>=7 && defined(__ARMEL__) - rev r7,r7 - str r7,[r0,#0] -#elif defined(__ARMEB__) - str r7,[r0,#0] -#else - mov r9,r7,lsr#8 - strb r7,[r0,#0+3] - mov r10,r7,lsr#16 - strb r9,[r0,#0+2] - mov r11,r7,lsr#24 - strb r10,[r0,#0+1] - strb r11,[r0,#0] -#endif - -#if __ARM_ARCH__>=5 - ldmia sp!,{r4,r5,r6,r7,r8,r9,r10,r11,pc} -#else - ldmia sp!,{r4,r5,r6,r7,r8,r9,r10,r11,lr} - tst lr,#1 - moveq pc,lr @ be binary compatible with V4, yet -.word 0xe12fff1e @ interoperable with Thumb ISA:-) -#endif -.size gcm_gmult_4bit,.-gcm_gmult_4bit #if __ARM_MAX_ARCH__>=7 .arch armv7-a .fpu neon @@ -588,3 +252,4 @@ gcm_ghash_neon: .align 2 #endif #endif // !OPENSSL_NO_ASM +.section .note.GNU-stack,"",%progbits diff --git a/contrib/boringssl-cmake/linux-arm/crypto/fipsmodule/ghashv8-armx32.S b/contrib/boringssl-cmake/linux-arm/crypto/fipsmodule/ghashv8-armx32.S index 65c9f22a989..d6842945f00 100644 --- a/contrib/boringssl-cmake/linux-arm/crypto/fipsmodule/ghashv8-armx32.S +++ b/contrib/boringssl-cmake/linux-arm/crypto/fipsmodule/ghashv8-armx32.S @@ -250,3 +250,4 @@ gcm_ghash_v8: .align 2 #endif #endif // !OPENSSL_NO_ASM +.section .note.GNU-stack,"",%progbits diff --git a/contrib/boringssl-cmake/linux-arm/crypto/fipsmodule/sha1-armv4-large.S b/contrib/boringssl-cmake/linux-arm/crypto/fipsmodule/sha1-armv4-large.S index 2b70a32515d..61deddf8e7d 100644 --- a/contrib/boringssl-cmake/linux-arm/crypto/fipsmodule/sha1-armv4-large.S +++ b/contrib/boringssl-cmake/linux-arm/crypto/fipsmodule/sha1-armv4-large.S @@ -1508,3 +1508,4 @@ sha1_block_data_order_armv8: #endif #endif #endif // !OPENSSL_NO_ASM +.section .note.GNU-stack,"",%progbits diff --git a/contrib/boringssl-cmake/linux-arm/crypto/fipsmodule/sha256-armv4.S b/contrib/boringssl-cmake/linux-arm/crypto/fipsmodule/sha256-armv4.S index 1928075349e..aee04785c0a 100644 --- a/contrib/boringssl-cmake/linux-arm/crypto/fipsmodule/sha256-armv4.S +++ b/contrib/boringssl-cmake/linux-arm/crypto/fipsmodule/sha256-armv4.S @@ -2836,3 +2836,4 @@ sha256_block_data_order_armv8: #endif #endif #endif // !OPENSSL_NO_ASM +.section .note.GNU-stack,"",%progbits diff --git a/contrib/boringssl-cmake/linux-arm/crypto/fipsmodule/sha512-armv4.S b/contrib/boringssl-cmake/linux-arm/crypto/fipsmodule/sha512-armv4.S index c44fcc6c778..a06d41fee56 100644 --- a/contrib/boringssl-cmake/linux-arm/crypto/fipsmodule/sha512-armv4.S +++ b/contrib/boringssl-cmake/linux-arm/crypto/fipsmodule/sha512-armv4.S @@ -1891,3 +1891,4 @@ sha512_block_data_order_neon: #endif #endif #endif // !OPENSSL_NO_ASM +.section .note.GNU-stack,"",%progbits diff --git a/contrib/boringssl-cmake/linux-arm/crypto/fipsmodule/vpaes-armv7.S b/contrib/boringssl-cmake/linux-arm/crypto/fipsmodule/vpaes-armv7.S new file mode 100644 index 00000000000..e5ad6ed99b9 --- /dev/null +++ b/contrib/boringssl-cmake/linux-arm/crypto/fipsmodule/vpaes-armv7.S @@ -0,0 +1,1236 @@ +// This file is generated from a similarly-named Perl script in the BoringSSL +// source tree. Do not edit by hand. + +#if !defined(__has_feature) +#define __has_feature(x) 0 +#endif +#if __has_feature(memory_sanitizer) && !defined(OPENSSL_NO_ASM) +#define OPENSSL_NO_ASM +#endif + +#if !defined(OPENSSL_NO_ASM) +#if defined(__arm__) +#if defined(BORINGSSL_PREFIX) +#include +#endif +.syntax unified + +.arch armv7-a +.fpu neon + +#if defined(__thumb2__) +.thumb +#else +.code 32 +#endif + +.text + +.type _vpaes_consts,%object +.align 7 @ totally strategic alignment +_vpaes_consts: +.Lk_mc_forward:@ mc_forward +.quad 0x0407060500030201, 0x0C0F0E0D080B0A09 +.quad 0x080B0A0904070605, 0x000302010C0F0E0D +.quad 0x0C0F0E0D080B0A09, 0x0407060500030201 +.quad 0x000302010C0F0E0D, 0x080B0A0904070605 +.Lk_mc_backward:@ mc_backward +.quad 0x0605040702010003, 0x0E0D0C0F0A09080B +.quad 0x020100030E0D0C0F, 0x0A09080B06050407 +.quad 0x0E0D0C0F0A09080B, 0x0605040702010003 +.quad 0x0A09080B06050407, 0x020100030E0D0C0F +.Lk_sr:@ sr +.quad 0x0706050403020100, 0x0F0E0D0C0B0A0908 +.quad 0x030E09040F0A0500, 0x0B06010C07020D08 +.quad 0x0F060D040B020900, 0x070E050C030A0108 +.quad 0x0B0E0104070A0D00, 0x0306090C0F020508 + +@ +@ "Hot" constants +@ +.Lk_inv:@ inv, inva +.quad 0x0E05060F0D080180, 0x040703090A0B0C02 +.quad 0x01040A060F0B0780, 0x030D0E0C02050809 +.Lk_ipt:@ input transform (lo, hi) +.quad 0xC2B2E8985A2A7000, 0xCABAE09052227808 +.quad 0x4C01307D317C4D00, 0xCD80B1FCB0FDCC81 +.Lk_sbo:@ sbou, sbot +.quad 0xD0D26D176FBDC700, 0x15AABF7AC502A878 +.quad 0xCFE474A55FBB6A00, 0x8E1E90D1412B35FA +.Lk_sb1:@ sb1u, sb1t +.quad 0x3618D415FAE22300, 0x3BF7CCC10D2ED9EF +.quad 0xB19BE18FCB503E00, 0xA5DF7A6E142AF544 +.Lk_sb2:@ sb2u, sb2t +.quad 0x69EB88400AE12900, 0xC2A163C8AB82234A +.quad 0xE27A93C60B712400, 0x5EB7E955BC982FCD + +.byte 86,101,99,116,111,114,32,80,101,114,109,117,116,97,116,105,111,110,32,65,69,83,32,102,111,114,32,65,82,77,118,55,32,78,69,79,78,44,32,77,105,107,101,32,72,97,109,98,117,114,103,32,40,83,116,97,110,102,111,114,100,32,85,110,105,118,101,114,115,105,116,121,41,0 +.align 2 +.size _vpaes_consts,.-_vpaes_consts +.align 6 +@@ +@@ _aes_preheat +@@ +@@ Fills q9-q15 as specified below. +@@ +.type _vpaes_preheat,%function +.align 4 +_vpaes_preheat: + adr r10, .Lk_inv + vmov.i8 q9, #0x0f @ .Lk_s0F + vld1.64 {q10,q11}, [r10]! @ .Lk_inv + add r10, r10, #64 @ Skip .Lk_ipt, .Lk_sbo + vld1.64 {q12,q13}, [r10]! @ .Lk_sb1 + vld1.64 {q14,q15}, [r10] @ .Lk_sb2 + bx lr + +@@ +@@ _aes_encrypt_core +@@ +@@ AES-encrypt q0. +@@ +@@ Inputs: +@@ q0 = input +@@ q9-q15 as in _vpaes_preheat +@@ [r2] = scheduled keys +@@ +@@ Output in q0 +@@ Clobbers q1-q5, r8-r11 +@@ Preserves q6-q8 so you get some local vectors +@@ +@@ +.type _vpaes_encrypt_core,%function +.align 4 +_vpaes_encrypt_core: + mov r9, r2 + ldr r8, [r2,#240] @ pull rounds + adr r11, .Lk_ipt + @ vmovdqa .Lk_ipt(%rip), %xmm2 # iptlo + @ vmovdqa .Lk_ipt+16(%rip), %xmm3 # ipthi + vld1.64 {q2, q3}, [r11] + adr r11, .Lk_mc_forward+16 + vld1.64 {q5}, [r9]! @ vmovdqu (%r9), %xmm5 # round0 key + vand q1, q0, q9 @ vpand %xmm9, %xmm0, %xmm1 + vshr.u8 q0, q0, #4 @ vpsrlb $4, %xmm0, %xmm0 + vtbl.8 d2, {q2}, d2 @ vpshufb %xmm1, %xmm2, %xmm1 + vtbl.8 d3, {q2}, d3 + vtbl.8 d4, {q3}, d0 @ vpshufb %xmm0, %xmm3, %xmm2 + vtbl.8 d5, {q3}, d1 + veor q0, q1, q5 @ vpxor %xmm5, %xmm1, %xmm0 + veor q0, q0, q2 @ vpxor %xmm2, %xmm0, %xmm0 + + @ .Lenc_entry ends with a bnz instruction which is normally paired with + @ subs in .Lenc_loop. + tst r8, r8 + b .Lenc_entry + +.align 4 +.Lenc_loop: + @ middle of middle round + add r10, r11, #0x40 + vtbl.8 d8, {q13}, d4 @ vpshufb %xmm2, %xmm13, %xmm4 # 4 = sb1u + vtbl.8 d9, {q13}, d5 + vld1.64 {q1}, [r11]! @ vmovdqa -0x40(%r11,%r10), %xmm1 # .Lk_mc_forward[] + vtbl.8 d0, {q12}, d6 @ vpshufb %xmm3, %xmm12, %xmm0 # 0 = sb1t + vtbl.8 d1, {q12}, d7 + veor q4, q4, q5 @ vpxor %xmm5, %xmm4, %xmm4 # 4 = sb1u + k + vtbl.8 d10, {q15}, d4 @ vpshufb %xmm2, %xmm15, %xmm5 # 4 = sb2u + vtbl.8 d11, {q15}, d5 + veor q0, q0, q4 @ vpxor %xmm4, %xmm0, %xmm0 # 0 = A + vtbl.8 d4, {q14}, d6 @ vpshufb %xmm3, %xmm14, %xmm2 # 2 = sb2t + vtbl.8 d5, {q14}, d7 + vld1.64 {q4}, [r10] @ vmovdqa (%r11,%r10), %xmm4 # .Lk_mc_backward[] + vtbl.8 d6, {q0}, d2 @ vpshufb %xmm1, %xmm0, %xmm3 # 0 = B + vtbl.8 d7, {q0}, d3 + veor q2, q2, q5 @ vpxor %xmm5, %xmm2, %xmm2 # 2 = 2A + @ Write to q5 instead of q0, so the table and destination registers do + @ not overlap. + vtbl.8 d10, {q0}, d8 @ vpshufb %xmm4, %xmm0, %xmm0 # 3 = D + vtbl.8 d11, {q0}, d9 + veor q3, q3, q2 @ vpxor %xmm2, %xmm3, %xmm3 # 0 = 2A+B + vtbl.8 d8, {q3}, d2 @ vpshufb %xmm1, %xmm3, %xmm4 # 0 = 2B+C + vtbl.8 d9, {q3}, d3 + @ Here we restore the original q0/q5 usage. + veor q0, q5, q3 @ vpxor %xmm3, %xmm0, %xmm0 # 3 = 2A+B+D + and r11, r11, #~(1<<6) @ and $0x30, %r11 # ... mod 4 + veor q0, q0, q4 @ vpxor %xmm4, %xmm0, %xmm0 # 0 = 2A+3B+C+D + subs r8, r8, #1 @ nr-- + +.Lenc_entry: + @ top of round + vand q1, q0, q9 @ vpand %xmm0, %xmm9, %xmm1 # 0 = k + vshr.u8 q0, q0, #4 @ vpsrlb $4, %xmm0, %xmm0 # 1 = i + vtbl.8 d10, {q11}, d2 @ vpshufb %xmm1, %xmm11, %xmm5 # 2 = a/k + vtbl.8 d11, {q11}, d3 + veor q1, q1, q0 @ vpxor %xmm0, %xmm1, %xmm1 # 0 = j + vtbl.8 d6, {q10}, d0 @ vpshufb %xmm0, %xmm10, %xmm3 # 3 = 1/i + vtbl.8 d7, {q10}, d1 + vtbl.8 d8, {q10}, d2 @ vpshufb %xmm1, %xmm10, %xmm4 # 4 = 1/j + vtbl.8 d9, {q10}, d3 + veor q3, q3, q5 @ vpxor %xmm5, %xmm3, %xmm3 # 3 = iak = 1/i + a/k + veor q4, q4, q5 @ vpxor %xmm5, %xmm4, %xmm4 # 4 = jak = 1/j + a/k + vtbl.8 d4, {q10}, d6 @ vpshufb %xmm3, %xmm10, %xmm2 # 2 = 1/iak + vtbl.8 d5, {q10}, d7 + vtbl.8 d6, {q10}, d8 @ vpshufb %xmm4, %xmm10, %xmm3 # 3 = 1/jak + vtbl.8 d7, {q10}, d9 + veor q2, q2, q1 @ vpxor %xmm1, %xmm2, %xmm2 # 2 = io + veor q3, q3, q0 @ vpxor %xmm0, %xmm3, %xmm3 # 3 = jo + vld1.64 {q5}, [r9]! @ vmovdqu (%r9), %xmm5 + bne .Lenc_loop + + @ middle of last round + add r10, r11, #0x80 + + adr r11, .Lk_sbo + @ Read to q1 instead of q4, so the vtbl.8 instruction below does not + @ overlap table and destination registers. + vld1.64 {q1}, [r11]! @ vmovdqa -0x60(%r10), %xmm4 # 3 : sbou + vld1.64 {q0}, [r11] @ vmovdqa -0x50(%r10), %xmm0 # 0 : sbot .Lk_sbo+16 + vtbl.8 d8, {q1}, d4 @ vpshufb %xmm2, %xmm4, %xmm4 # 4 = sbou + vtbl.8 d9, {q1}, d5 + vld1.64 {q1}, [r10] @ vmovdqa 0x40(%r11,%r10), %xmm1 # .Lk_sr[] + @ Write to q2 instead of q0 below, to avoid overlapping table and + @ destination registers. + vtbl.8 d4, {q0}, d6 @ vpshufb %xmm3, %xmm0, %xmm0 # 0 = sb1t + vtbl.8 d5, {q0}, d7 + veor q4, q4, q5 @ vpxor %xmm5, %xmm4, %xmm4 # 4 = sb1u + k + veor q2, q2, q4 @ vpxor %xmm4, %xmm0, %xmm0 # 0 = A + @ Here we restore the original q0/q2 usage. + vtbl.8 d0, {q2}, d2 @ vpshufb %xmm1, %xmm0, %xmm0 + vtbl.8 d1, {q2}, d3 + bx lr +.size _vpaes_encrypt_core,.-_vpaes_encrypt_core + +.globl vpaes_encrypt +.hidden vpaes_encrypt +.type vpaes_encrypt,%function +.align 4 +vpaes_encrypt: + @ _vpaes_encrypt_core uses r8-r11. Round up to r7-r11 to maintain stack + @ alignment. + stmdb sp!, {r7,r8,r9,r10,r11,lr} + @ _vpaes_encrypt_core uses q4-q5 (d8-d11), which are callee-saved. + vstmdb sp!, {d8,d9,d10,d11} + + vld1.64 {q0}, [r0] + bl _vpaes_preheat + bl _vpaes_encrypt_core + vst1.64 {q0}, [r1] + + vldmia sp!, {d8,d9,d10,d11} + ldmia sp!, {r7,r8,r9,r10,r11, pc} @ return +.size vpaes_encrypt,.-vpaes_encrypt + +@ +@ Decryption stuff +@ +.type _vpaes_decrypt_consts,%object +.align 4 +_vpaes_decrypt_consts: +.Lk_dipt:@ decryption input transform +.quad 0x0F505B040B545F00, 0x154A411E114E451A +.quad 0x86E383E660056500, 0x12771772F491F194 +.Lk_dsbo:@ decryption sbox final output +.quad 0x1387EA537EF94000, 0xC7AA6DB9D4943E2D +.quad 0x12D7560F93441D00, 0xCA4B8159D8C58E9C +.Lk_dsb9:@ decryption sbox output *9*u, *9*t +.quad 0x851C03539A86D600, 0xCAD51F504F994CC9 +.quad 0xC03B1789ECD74900, 0x725E2C9EB2FBA565 +.Lk_dsbd:@ decryption sbox output *D*u, *D*t +.quad 0x7D57CCDFE6B1A200, 0xF56E9B13882A4439 +.quad 0x3CE2FAF724C6CB00, 0x2931180D15DEEFD3 +.Lk_dsbb:@ decryption sbox output *B*u, *B*t +.quad 0xD022649296B44200, 0x602646F6B0F2D404 +.quad 0xC19498A6CD596700, 0xF3FF0C3E3255AA6B +.Lk_dsbe:@ decryption sbox output *E*u, *E*t +.quad 0x46F2929626D4D000, 0x2242600464B4F6B0 +.quad 0x0C55A6CDFFAAC100, 0x9467F36B98593E32 +.size _vpaes_decrypt_consts,.-_vpaes_decrypt_consts + +@@ +@@ Decryption core +@@ +@@ Same API as encryption core, except it clobbers q12-q15 rather than using +@@ the values from _vpaes_preheat. q9-q11 must still be set from +@@ _vpaes_preheat. +@@ +.type _vpaes_decrypt_core,%function +.align 4 +_vpaes_decrypt_core: + mov r9, r2 + ldr r8, [r2,#240] @ pull rounds + + @ This function performs shuffles with various constants. The x86_64 + @ version loads them on-demand into %xmm0-%xmm5. This does not work well + @ for ARMv7 because those registers are shuffle destinations. The ARMv8 + @ version preloads those constants into registers, but ARMv7 has half + @ the registers to work with. Instead, we load them on-demand into + @ q12-q15, registers normally use for preloaded constants. This is fine + @ because decryption doesn't use those constants. The values are + @ constant, so this does not interfere with potential 2x optimizations. + adr r7, .Lk_dipt + + vld1.64 {q12,q13}, [r7] @ vmovdqa .Lk_dipt(%rip), %xmm2 # iptlo + lsl r11, r8, #4 @ mov %rax, %r11; shl $4, %r11 + eor r11, r11, #0x30 @ xor $0x30, %r11 + adr r10, .Lk_sr + and r11, r11, #0x30 @ and $0x30, %r11 + add r11, r11, r10 + adr r10, .Lk_mc_forward+48 + + vld1.64 {q4}, [r9]! @ vmovdqu (%r9), %xmm4 # round0 key + vand q1, q0, q9 @ vpand %xmm9, %xmm0, %xmm1 + vshr.u8 q0, q0, #4 @ vpsrlb $4, %xmm0, %xmm0 + vtbl.8 d4, {q12}, d2 @ vpshufb %xmm1, %xmm2, %xmm2 + vtbl.8 d5, {q12}, d3 + vld1.64 {q5}, [r10] @ vmovdqa .Lk_mc_forward+48(%rip), %xmm5 + @ vmovdqa .Lk_dipt+16(%rip), %xmm1 # ipthi + vtbl.8 d0, {q13}, d0 @ vpshufb %xmm0, %xmm1, %xmm0 + vtbl.8 d1, {q13}, d1 + veor q2, q2, q4 @ vpxor %xmm4, %xmm2, %xmm2 + veor q0, q0, q2 @ vpxor %xmm2, %xmm0, %xmm0 + + @ .Ldec_entry ends with a bnz instruction which is normally paired with + @ subs in .Ldec_loop. + tst r8, r8 + b .Ldec_entry + +.align 4 +.Ldec_loop: +@ +@ Inverse mix columns +@ + + @ We load .Lk_dsb* into q12-q15 on-demand. See the comment at the top of + @ the function. + adr r10, .Lk_dsb9 + vld1.64 {q12,q13}, [r10]! @ vmovdqa -0x20(%r10),%xmm4 # 4 : sb9u + @ vmovdqa -0x10(%r10),%xmm1 # 0 : sb9t + @ Load sbd* ahead of time. + vld1.64 {q14,q15}, [r10]! @ vmovdqa 0x00(%r10),%xmm4 # 4 : sbdu + @ vmovdqa 0x10(%r10),%xmm1 # 0 : sbdt + vtbl.8 d8, {q12}, d4 @ vpshufb %xmm2, %xmm4, %xmm4 # 4 = sb9u + vtbl.8 d9, {q12}, d5 + vtbl.8 d2, {q13}, d6 @ vpshufb %xmm3, %xmm1, %xmm1 # 0 = sb9t + vtbl.8 d3, {q13}, d7 + veor q0, q4, q0 @ vpxor %xmm4, %xmm0, %xmm0 + + veor q0, q0, q1 @ vpxor %xmm1, %xmm0, %xmm0 # 0 = ch + + @ Load sbb* ahead of time. + vld1.64 {q12,q13}, [r10]! @ vmovdqa 0x20(%r10),%xmm4 # 4 : sbbu + @ vmovdqa 0x30(%r10),%xmm1 # 0 : sbbt + + vtbl.8 d8, {q14}, d4 @ vpshufb %xmm2, %xmm4, %xmm4 # 4 = sbdu + vtbl.8 d9, {q14}, d5 + @ Write to q1 instead of q0, so the table and destination registers do + @ not overlap. + vtbl.8 d2, {q0}, d10 @ vpshufb %xmm5, %xmm0, %xmm0 # MC ch + vtbl.8 d3, {q0}, d11 + @ Here we restore the original q0/q1 usage. This instruction is + @ reordered from the ARMv8 version so we do not clobber the vtbl.8 + @ below. + veor q0, q1, q4 @ vpxor %xmm4, %xmm0, %xmm0 # 4 = ch + vtbl.8 d2, {q15}, d6 @ vpshufb %xmm3, %xmm1, %xmm1 # 0 = sbdt + vtbl.8 d3, {q15}, d7 + @ vmovdqa 0x20(%r10), %xmm4 # 4 : sbbu + veor q0, q0, q1 @ vpxor %xmm1, %xmm0, %xmm0 # 0 = ch + @ vmovdqa 0x30(%r10), %xmm1 # 0 : sbbt + + @ Load sbd* ahead of time. + vld1.64 {q14,q15}, [r10]! @ vmovdqa 0x40(%r10),%xmm4 # 4 : sbeu + @ vmovdqa 0x50(%r10),%xmm1 # 0 : sbet + + vtbl.8 d8, {q12}, d4 @ vpshufb %xmm2, %xmm4, %xmm4 # 4 = sbbu + vtbl.8 d9, {q12}, d5 + @ Write to q1 instead of q0, so the table and destination registers do + @ not overlap. + vtbl.8 d2, {q0}, d10 @ vpshufb %xmm5, %xmm0, %xmm0 # MC ch + vtbl.8 d3, {q0}, d11 + @ Here we restore the original q0/q1 usage. This instruction is + @ reordered from the ARMv8 version so we do not clobber the vtbl.8 + @ below. + veor q0, q1, q4 @ vpxor %xmm4, %xmm0, %xmm0 # 4 = ch + vtbl.8 d2, {q13}, d6 @ vpshufb %xmm3, %xmm1, %xmm1 # 0 = sbbt + vtbl.8 d3, {q13}, d7 + veor q0, q0, q1 @ vpxor %xmm1, %xmm0, %xmm0 # 0 = ch + + vtbl.8 d8, {q14}, d4 @ vpshufb %xmm2, %xmm4, %xmm4 # 4 = sbeu + vtbl.8 d9, {q14}, d5 + @ Write to q1 instead of q0, so the table and destination registers do + @ not overlap. + vtbl.8 d2, {q0}, d10 @ vpshufb %xmm5, %xmm0, %xmm0 # MC ch + vtbl.8 d3, {q0}, d11 + @ Here we restore the original q0/q1 usage. This instruction is + @ reordered from the ARMv8 version so we do not clobber the vtbl.8 + @ below. + veor q0, q1, q4 @ vpxor %xmm4, %xmm0, %xmm0 # 4 = ch + vtbl.8 d2, {q15}, d6 @ vpshufb %xmm3, %xmm1, %xmm1 # 0 = sbet + vtbl.8 d3, {q15}, d7 + vext.8 q5, q5, q5, #12 @ vpalignr $12, %xmm5, %xmm5, %xmm5 + veor q0, q0, q1 @ vpxor %xmm1, %xmm0, %xmm0 # 0 = ch + subs r8, r8, #1 @ sub $1,%rax # nr-- + +.Ldec_entry: + @ top of round + vand q1, q0, q9 @ vpand %xmm9, %xmm0, %xmm1 # 0 = k + vshr.u8 q0, q0, #4 @ vpsrlb $4, %xmm0, %xmm0 # 1 = i + vtbl.8 d4, {q11}, d2 @ vpshufb %xmm1, %xmm11, %xmm2 # 2 = a/k + vtbl.8 d5, {q11}, d3 + veor q1, q1, q0 @ vpxor %xmm0, %xmm1, %xmm1 # 0 = j + vtbl.8 d6, {q10}, d0 @ vpshufb %xmm0, %xmm10, %xmm3 # 3 = 1/i + vtbl.8 d7, {q10}, d1 + vtbl.8 d8, {q10}, d2 @ vpshufb %xmm1, %xmm10, %xmm4 # 4 = 1/j + vtbl.8 d9, {q10}, d3 + veor q3, q3, q2 @ vpxor %xmm2, %xmm3, %xmm3 # 3 = iak = 1/i + a/k + veor q4, q4, q2 @ vpxor %xmm2, %xmm4, %xmm4 # 4 = jak = 1/j + a/k + vtbl.8 d4, {q10}, d6 @ vpshufb %xmm3, %xmm10, %xmm2 # 2 = 1/iak + vtbl.8 d5, {q10}, d7 + vtbl.8 d6, {q10}, d8 @ vpshufb %xmm4, %xmm10, %xmm3 # 3 = 1/jak + vtbl.8 d7, {q10}, d9 + veor q2, q2, q1 @ vpxor %xmm1, %xmm2, %xmm2 # 2 = io + veor q3, q3, q0 @ vpxor %xmm0, %xmm3, %xmm3 # 3 = jo + vld1.64 {q0}, [r9]! @ vmovdqu (%r9), %xmm0 + bne .Ldec_loop + + @ middle of last round + + adr r10, .Lk_dsbo + + @ Write to q1 rather than q4 to avoid overlapping table and destination. + vld1.64 {q1}, [r10]! @ vmovdqa 0x60(%r10), %xmm4 # 3 : sbou + vtbl.8 d8, {q1}, d4 @ vpshufb %xmm2, %xmm4, %xmm4 # 4 = sbou + vtbl.8 d9, {q1}, d5 + @ Write to q2 rather than q1 to avoid overlapping table and destination. + vld1.64 {q2}, [r10] @ vmovdqa 0x70(%r10), %xmm1 # 0 : sbot + vtbl.8 d2, {q2}, d6 @ vpshufb %xmm3, %xmm1, %xmm1 # 0 = sb1t + vtbl.8 d3, {q2}, d7 + vld1.64 {q2}, [r11] @ vmovdqa -0x160(%r11), %xmm2 # .Lk_sr-.Lk_dsbd=-0x160 + veor q4, q4, q0 @ vpxor %xmm0, %xmm4, %xmm4 # 4 = sb1u + k + @ Write to q1 rather than q0 so the table and destination registers + @ below do not overlap. + veor q1, q1, q4 @ vpxor %xmm4, %xmm1, %xmm0 # 0 = A + vtbl.8 d0, {q1}, d4 @ vpshufb %xmm2, %xmm0, %xmm0 + vtbl.8 d1, {q1}, d5 + bx lr +.size _vpaes_decrypt_core,.-_vpaes_decrypt_core + +.globl vpaes_decrypt +.hidden vpaes_decrypt +.type vpaes_decrypt,%function +.align 4 +vpaes_decrypt: + @ _vpaes_decrypt_core uses r7-r11. + stmdb sp!, {r7,r8,r9,r10,r11,lr} + @ _vpaes_decrypt_core uses q4-q5 (d8-d11), which are callee-saved. + vstmdb sp!, {d8,d9,d10,d11} + + vld1.64 {q0}, [r0] + bl _vpaes_preheat + bl _vpaes_decrypt_core + vst1.64 {q0}, [r1] + + vldmia sp!, {d8,d9,d10,d11} + ldmia sp!, {r7,r8,r9,r10,r11, pc} @ return +.size vpaes_decrypt,.-vpaes_decrypt +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +@@ @@ +@@ AES key schedule @@ +@@ @@ +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ + +@ This function diverges from both x86_64 and armv7 in which constants are +@ pinned. x86_64 has a common preheat function for all operations. aarch64 +@ separates them because it has enough registers to pin nearly all constants. +@ armv7 does not have enough registers, but needing explicit loads and stores +@ also complicates using x86_64's register allocation directly. +@ +@ We pin some constants for convenience and leave q14 and q15 free to load +@ others on demand. + +@ +@ Key schedule constants +@ +.type _vpaes_key_consts,%object +.align 4 +_vpaes_key_consts: +.Lk_dksd:@ decryption key schedule: invskew x*D +.quad 0xFEB91A5DA3E44700, 0x0740E3A45A1DBEF9 +.quad 0x41C277F4B5368300, 0x5FDC69EAAB289D1E +.Lk_dksb:@ decryption key schedule: invskew x*B +.quad 0x9A4FCA1F8550D500, 0x03D653861CC94C99 +.quad 0x115BEDA7B6FC4A00, 0xD993256F7E3482C8 +.Lk_dkse:@ decryption key schedule: invskew x*E + 0x63 +.quad 0xD5031CCA1FC9D600, 0x53859A4C994F5086 +.quad 0xA23196054FDC7BE8, 0xCD5EF96A20B31487 +.Lk_dks9:@ decryption key schedule: invskew x*9 +.quad 0xB6116FC87ED9A700, 0x4AED933482255BFC +.quad 0x4576516227143300, 0x8BB89FACE9DAFDCE + +.Lk_rcon:@ rcon +.quad 0x1F8391B9AF9DEEB6, 0x702A98084D7C7D81 + +.Lk_opt:@ output transform +.quad 0xFF9F4929D6B66000, 0xF7974121DEBE6808 +.quad 0x01EDBD5150BCEC00, 0xE10D5DB1B05C0CE0 +.Lk_deskew:@ deskew tables: inverts the sbox's "skew" +.quad 0x07E4A34047A4E300, 0x1DFEB95A5DBEF91A +.quad 0x5F36B5DC83EA6900, 0x2841C2ABF49D1E77 +.size _vpaes_key_consts,.-_vpaes_key_consts + +.type _vpaes_key_preheat,%function +.align 4 +_vpaes_key_preheat: + adr r11, .Lk_rcon + vmov.i8 q12, #0x5b @ .Lk_s63 + adr r10, .Lk_inv @ Must be aligned to 8 mod 16. + vmov.i8 q9, #0x0f @ .Lk_s0F + vld1.64 {q10,q11}, [r10] @ .Lk_inv + vld1.64 {q8}, [r11] @ .Lk_rcon + bx lr +.size _vpaes_key_preheat,.-_vpaes_key_preheat + +.type _vpaes_schedule_core,%function +.align 4 +_vpaes_schedule_core: + @ We only need to save lr, but ARM requires an 8-byte stack alignment, + @ so save an extra register. + stmdb sp!, {r3,lr} + + bl _vpaes_key_preheat @ load the tables + + adr r11, .Lk_ipt @ Must be aligned to 8 mod 16. + vld1.64 {q0}, [r0]! @ vmovdqu (%rdi), %xmm0 # load key (unaligned) + + @ input transform + @ Use q4 here rather than q3 so .Lschedule_am_decrypting does not + @ overlap table and destination. + vmov q4, q0 @ vmovdqa %xmm0, %xmm3 + bl _vpaes_schedule_transform + adr r10, .Lk_sr @ Must be aligned to 8 mod 16. + vmov q7, q0 @ vmovdqa %xmm0, %xmm7 + + add r8, r8, r10 + tst r3, r3 + bne .Lschedule_am_decrypting + + @ encrypting, output zeroth round key after transform + vst1.64 {q0}, [r2] @ vmovdqu %xmm0, (%rdx) + b .Lschedule_go + +.Lschedule_am_decrypting: + @ decrypting, output zeroth round key after shiftrows + vld1.64 {q1}, [r8] @ vmovdqa (%r8,%r10), %xmm1 + vtbl.8 d6, {q4}, d2 @ vpshufb %xmm1, %xmm3, %xmm3 + vtbl.8 d7, {q4}, d3 + vst1.64 {q3}, [r2] @ vmovdqu %xmm3, (%rdx) + eor r8, r8, #0x30 @ xor $0x30, %r8 + +.Lschedule_go: + cmp r1, #192 @ cmp $192, %esi + bhi .Lschedule_256 + beq .Lschedule_192 + @ 128: fall though + +@@ +@@ .schedule_128 +@@ +@@ 128-bit specific part of key schedule. +@@ +@@ This schedule is really simple, because all its parts +@@ are accomplished by the subroutines. +@@ +.Lschedule_128: + mov r0, #10 @ mov $10, %esi + +.Loop_schedule_128: + bl _vpaes_schedule_round + subs r0, r0, #1 @ dec %esi + beq .Lschedule_mangle_last + bl _vpaes_schedule_mangle @ write output + b .Loop_schedule_128 + +@@ +@@ .aes_schedule_192 +@@ +@@ 192-bit specific part of key schedule. +@@ +@@ The main body of this schedule is the same as the 128-bit +@@ schedule, but with more smearing. The long, high side is +@@ stored in q7 as before, and the short, low side is in +@@ the high bits of q6. +@@ +@@ This schedule is somewhat nastier, however, because each +@@ round produces 192 bits of key material, or 1.5 round keys. +@@ Therefore, on each cycle we do 2 rounds and produce 3 round +@@ keys. +@@ +.align 4 +.Lschedule_192: + sub r0, r0, #8 + vld1.64 {q0}, [r0] @ vmovdqu 8(%rdi),%xmm0 # load key part 2 (very unaligned) + bl _vpaes_schedule_transform @ input transform + vmov q6, q0 @ vmovdqa %xmm0, %xmm6 # save short part + vmov.i8 d12, #0 @ vpxor %xmm4, %xmm4, %xmm4 # clear 4 + @ vmovhlps %xmm4, %xmm6, %xmm6 # clobber low side with zeros + mov r0, #4 @ mov $4, %esi + +.Loop_schedule_192: + bl _vpaes_schedule_round + vext.8 q0, q6, q0, #8 @ vpalignr $8,%xmm6,%xmm0,%xmm0 + bl _vpaes_schedule_mangle @ save key n + bl _vpaes_schedule_192_smear + bl _vpaes_schedule_mangle @ save key n+1 + bl _vpaes_schedule_round + subs r0, r0, #1 @ dec %esi + beq .Lschedule_mangle_last + bl _vpaes_schedule_mangle @ save key n+2 + bl _vpaes_schedule_192_smear + b .Loop_schedule_192 + +@@ +@@ .aes_schedule_256 +@@ +@@ 256-bit specific part of key schedule. +@@ +@@ The structure here is very similar to the 128-bit +@@ schedule, but with an additional "low side" in +@@ q6. The low side's rounds are the same as the +@@ high side's, except no rcon and no rotation. +@@ +.align 4 +.Lschedule_256: + vld1.64 {q0}, [r0] @ vmovdqu 16(%rdi),%xmm0 # load key part 2 (unaligned) + bl _vpaes_schedule_transform @ input transform + mov r0, #7 @ mov $7, %esi + +.Loop_schedule_256: + bl _vpaes_schedule_mangle @ output low result + vmov q6, q0 @ vmovdqa %xmm0, %xmm6 # save cur_lo in xmm6 + + @ high round + bl _vpaes_schedule_round + subs r0, r0, #1 @ dec %esi + beq .Lschedule_mangle_last + bl _vpaes_schedule_mangle + + @ low round. swap xmm7 and xmm6 + vdup.32 q0, d1[1] @ vpshufd $0xFF, %xmm0, %xmm0 + vmov.i8 q4, #0 + vmov q5, q7 @ vmovdqa %xmm7, %xmm5 + vmov q7, q6 @ vmovdqa %xmm6, %xmm7 + bl _vpaes_schedule_low_round + vmov q7, q5 @ vmovdqa %xmm5, %xmm7 + + b .Loop_schedule_256 + +@@ +@@ .aes_schedule_mangle_last +@@ +@@ Mangler for last round of key schedule +@@ Mangles q0 +@@ when encrypting, outputs out(q0) ^ 63 +@@ when decrypting, outputs unskew(q0) +@@ +@@ Always called right before return... jumps to cleanup and exits +@@ +.align 4 +.Lschedule_mangle_last: + @ schedule last round key from xmm0 + adr r11, .Lk_deskew @ lea .Lk_deskew(%rip),%r11 # prepare to deskew + tst r3, r3 + bne .Lschedule_mangle_last_dec + + @ encrypting + vld1.64 {q1}, [r8] @ vmovdqa (%r8,%r10),%xmm1 + adr r11, .Lk_opt @ lea .Lk_opt(%rip), %r11 # prepare to output transform + add r2, r2, #32 @ add $32, %rdx + vmov q2, q0 + vtbl.8 d0, {q2}, d2 @ vpshufb %xmm1, %xmm0, %xmm0 # output permute + vtbl.8 d1, {q2}, d3 + +.Lschedule_mangle_last_dec: + sub r2, r2, #16 @ add $-16, %rdx + veor q0, q0, q12 @ vpxor .Lk_s63(%rip), %xmm0, %xmm0 + bl _vpaes_schedule_transform @ output transform + vst1.64 {q0}, [r2] @ vmovdqu %xmm0, (%rdx) # save last key + + @ cleanup + veor q0, q0, q0 @ vpxor %xmm0, %xmm0, %xmm0 + veor q1, q1, q1 @ vpxor %xmm1, %xmm1, %xmm1 + veor q2, q2, q2 @ vpxor %xmm2, %xmm2, %xmm2 + veor q3, q3, q3 @ vpxor %xmm3, %xmm3, %xmm3 + veor q4, q4, q4 @ vpxor %xmm4, %xmm4, %xmm4 + veor q5, q5, q5 @ vpxor %xmm5, %xmm5, %xmm5 + veor q6, q6, q6 @ vpxor %xmm6, %xmm6, %xmm6 + veor q7, q7, q7 @ vpxor %xmm7, %xmm7, %xmm7 + ldmia sp!, {r3,pc} @ return +.size _vpaes_schedule_core,.-_vpaes_schedule_core + +@@ +@@ .aes_schedule_192_smear +@@ +@@ Smear the short, low side in the 192-bit key schedule. +@@ +@@ Inputs: +@@ q7: high side, b a x y +@@ q6: low side, d c 0 0 +@@ +@@ Outputs: +@@ q6: b+c+d b+c 0 0 +@@ q0: b+c+d b+c b a +@@ +.type _vpaes_schedule_192_smear,%function +.align 4 +_vpaes_schedule_192_smear: + vmov.i8 q1, #0 + vdup.32 q0, d15[1] + vshl.i64 q1, q6, #32 @ vpshufd $0x80, %xmm6, %xmm1 # d c 0 0 -> c 0 0 0 + vmov d0, d15 @ vpshufd $0xFE, %xmm7, %xmm0 # b a _ _ -> b b b a + veor q6, q6, q1 @ vpxor %xmm1, %xmm6, %xmm6 # -> c+d c 0 0 + veor q1, q1, q1 @ vpxor %xmm1, %xmm1, %xmm1 + veor q6, q6, q0 @ vpxor %xmm0, %xmm6, %xmm6 # -> b+c+d b+c b a + vmov q0, q6 @ vmovdqa %xmm6, %xmm0 + vmov d12, d2 @ vmovhlps %xmm1, %xmm6, %xmm6 # clobber low side with zeros + bx lr +.size _vpaes_schedule_192_smear,.-_vpaes_schedule_192_smear + +@@ +@@ .aes_schedule_round +@@ +@@ Runs one main round of the key schedule on q0, q7 +@@ +@@ Specifically, runs subbytes on the high dword of q0 +@@ then rotates it by one byte and xors into the low dword of +@@ q7. +@@ +@@ Adds rcon from low byte of q8, then rotates q8 for +@@ next rcon. +@@ +@@ Smears the dwords of q7 by xoring the low into the +@@ second low, result into third, result into highest. +@@ +@@ Returns results in q7 = q0. +@@ Clobbers q1-q4, r11. +@@ +.type _vpaes_schedule_round,%function +.align 4 +_vpaes_schedule_round: + @ extract rcon from xmm8 + vmov.i8 q4, #0 @ vpxor %xmm4, %xmm4, %xmm4 + vext.8 q1, q8, q4, #15 @ vpalignr $15, %xmm8, %xmm4, %xmm1 + vext.8 q8, q8, q8, #15 @ vpalignr $15, %xmm8, %xmm8, %xmm8 + veor q7, q7, q1 @ vpxor %xmm1, %xmm7, %xmm7 + + @ rotate + vdup.32 q0, d1[1] @ vpshufd $0xFF, %xmm0, %xmm0 + vext.8 q0, q0, q0, #1 @ vpalignr $1, %xmm0, %xmm0, %xmm0 + + @ fall through... + + @ low round: same as high round, but no rotation and no rcon. +_vpaes_schedule_low_round: + @ The x86_64 version pins .Lk_sb1 in %xmm13 and .Lk_sb1+16 in %xmm12. + @ We pin other values in _vpaes_key_preheat, so load them now. + adr r11, .Lk_sb1 + vld1.64 {q14,q15}, [r11] + + @ smear xmm7 + vext.8 q1, q4, q7, #12 @ vpslldq $4, %xmm7, %xmm1 + veor q7, q7, q1 @ vpxor %xmm1, %xmm7, %xmm7 + vext.8 q4, q4, q7, #8 @ vpslldq $8, %xmm7, %xmm4 + + @ subbytes + vand q1, q0, q9 @ vpand %xmm9, %xmm0, %xmm1 # 0 = k + vshr.u8 q0, q0, #4 @ vpsrlb $4, %xmm0, %xmm0 # 1 = i + veor q7, q7, q4 @ vpxor %xmm4, %xmm7, %xmm7 + vtbl.8 d4, {q11}, d2 @ vpshufb %xmm1, %xmm11, %xmm2 # 2 = a/k + vtbl.8 d5, {q11}, d3 + veor q1, q1, q0 @ vpxor %xmm0, %xmm1, %xmm1 # 0 = j + vtbl.8 d6, {q10}, d0 @ vpshufb %xmm0, %xmm10, %xmm3 # 3 = 1/i + vtbl.8 d7, {q10}, d1 + veor q3, q3, q2 @ vpxor %xmm2, %xmm3, %xmm3 # 3 = iak = 1/i + a/k + vtbl.8 d8, {q10}, d2 @ vpshufb %xmm1, %xmm10, %xmm4 # 4 = 1/j + vtbl.8 d9, {q10}, d3 + veor q7, q7, q12 @ vpxor .Lk_s63(%rip), %xmm7, %xmm7 + vtbl.8 d6, {q10}, d6 @ vpshufb %xmm3, %xmm10, %xmm3 # 2 = 1/iak + vtbl.8 d7, {q10}, d7 + veor q4, q4, q2 @ vpxor %xmm2, %xmm4, %xmm4 # 4 = jak = 1/j + a/k + vtbl.8 d4, {q10}, d8 @ vpshufb %xmm4, %xmm10, %xmm2 # 3 = 1/jak + vtbl.8 d5, {q10}, d9 + veor q3, q3, q1 @ vpxor %xmm1, %xmm3, %xmm3 # 2 = io + veor q2, q2, q0 @ vpxor %xmm0, %xmm2, %xmm2 # 3 = jo + vtbl.8 d8, {q15}, d6 @ vpshufb %xmm3, %xmm13, %xmm4 # 4 = sbou + vtbl.8 d9, {q15}, d7 + vtbl.8 d2, {q14}, d4 @ vpshufb %xmm2, %xmm12, %xmm1 # 0 = sb1t + vtbl.8 d3, {q14}, d5 + veor q1, q1, q4 @ vpxor %xmm4, %xmm1, %xmm1 # 0 = sbox output + + @ add in smeared stuff + veor q0, q1, q7 @ vpxor %xmm7, %xmm1, %xmm0 + veor q7, q1, q7 @ vmovdqa %xmm0, %xmm7 + bx lr +.size _vpaes_schedule_round,.-_vpaes_schedule_round + +@@ +@@ .aes_schedule_transform +@@ +@@ Linear-transform q0 according to tables at [r11] +@@ +@@ Requires that q9 = 0x0F0F... as in preheat +@@ Output in q0 +@@ Clobbers q1, q2, q14, q15 +@@ +.type _vpaes_schedule_transform,%function +.align 4 +_vpaes_schedule_transform: + vld1.64 {q14,q15}, [r11] @ vmovdqa (%r11), %xmm2 # lo + @ vmovdqa 16(%r11), %xmm1 # hi + vand q1, q0, q9 @ vpand %xmm9, %xmm0, %xmm1 + vshr.u8 q0, q0, #4 @ vpsrlb $4, %xmm0, %xmm0 + vtbl.8 d4, {q14}, d2 @ vpshufb %xmm1, %xmm2, %xmm2 + vtbl.8 d5, {q14}, d3 + vtbl.8 d0, {q15}, d0 @ vpshufb %xmm0, %xmm1, %xmm0 + vtbl.8 d1, {q15}, d1 + veor q0, q0, q2 @ vpxor %xmm2, %xmm0, %xmm0 + bx lr +.size _vpaes_schedule_transform,.-_vpaes_schedule_transform + +@@ +@@ .aes_schedule_mangle +@@ +@@ Mangles q0 from (basis-transformed) standard version +@@ to our version. +@@ +@@ On encrypt, +@@ xor with 0x63 +@@ multiply by circulant 0,1,1,1 +@@ apply shiftrows transform +@@ +@@ On decrypt, +@@ xor with 0x63 +@@ multiply by "inverse mixcolumns" circulant E,B,D,9 +@@ deskew +@@ apply shiftrows transform +@@ +@@ +@@ Writes out to [r2], and increments or decrements it +@@ Keeps track of round number mod 4 in r8 +@@ Preserves q0 +@@ Clobbers q1-q5 +@@ +.type _vpaes_schedule_mangle,%function +.align 4 +_vpaes_schedule_mangle: + tst r3, r3 + vmov q4, q0 @ vmovdqa %xmm0, %xmm4 # save xmm0 for later + adr r11, .Lk_mc_forward @ Must be aligned to 8 mod 16. + vld1.64 {q5}, [r11] @ vmovdqa .Lk_mc_forward(%rip),%xmm5 + bne .Lschedule_mangle_dec + + @ encrypting + @ Write to q2 so we do not overlap table and destination below. + veor q2, q0, q12 @ vpxor .Lk_s63(%rip), %xmm0, %xmm4 + add r2, r2, #16 @ add $16, %rdx + vtbl.8 d8, {q2}, d10 @ vpshufb %xmm5, %xmm4, %xmm4 + vtbl.8 d9, {q2}, d11 + vtbl.8 d2, {q4}, d10 @ vpshufb %xmm5, %xmm4, %xmm1 + vtbl.8 d3, {q4}, d11 + vtbl.8 d6, {q1}, d10 @ vpshufb %xmm5, %xmm1, %xmm3 + vtbl.8 d7, {q1}, d11 + veor q4, q4, q1 @ vpxor %xmm1, %xmm4, %xmm4 + vld1.64 {q1}, [r8] @ vmovdqa (%r8,%r10), %xmm1 + veor q3, q3, q4 @ vpxor %xmm4, %xmm3, %xmm3 + + b .Lschedule_mangle_both +.align 4 +.Lschedule_mangle_dec: + @ inverse mix columns + adr r11, .Lk_dksd @ lea .Lk_dksd(%rip),%r11 + vshr.u8 q1, q4, #4 @ vpsrlb $4, %xmm4, %xmm1 # 1 = hi + vand q4, q4, q9 @ vpand %xmm9, %xmm4, %xmm4 # 4 = lo + + vld1.64 {q14,q15}, [r11]! @ vmovdqa 0x00(%r11), %xmm2 + @ vmovdqa 0x10(%r11), %xmm3 + vtbl.8 d4, {q14}, d8 @ vpshufb %xmm4, %xmm2, %xmm2 + vtbl.8 d5, {q14}, d9 + vtbl.8 d6, {q15}, d2 @ vpshufb %xmm1, %xmm3, %xmm3 + vtbl.8 d7, {q15}, d3 + @ Load .Lk_dksb ahead of time. + vld1.64 {q14,q15}, [r11]! @ vmovdqa 0x20(%r11), %xmm2 + @ vmovdqa 0x30(%r11), %xmm3 + @ Write to q13 so we do not overlap table and destination. + veor q13, q3, q2 @ vpxor %xmm2, %xmm3, %xmm3 + vtbl.8 d6, {q13}, d10 @ vpshufb %xmm5, %xmm3, %xmm3 + vtbl.8 d7, {q13}, d11 + + vtbl.8 d4, {q14}, d8 @ vpshufb %xmm4, %xmm2, %xmm2 + vtbl.8 d5, {q14}, d9 + veor q2, q2, q3 @ vpxor %xmm3, %xmm2, %xmm2 + vtbl.8 d6, {q15}, d2 @ vpshufb %xmm1, %xmm3, %xmm3 + vtbl.8 d7, {q15}, d3 + @ Load .Lk_dkse ahead of time. + vld1.64 {q14,q15}, [r11]! @ vmovdqa 0x40(%r11), %xmm2 + @ vmovdqa 0x50(%r11), %xmm3 + @ Write to q13 so we do not overlap table and destination. + veor q13, q3, q2 @ vpxor %xmm2, %xmm3, %xmm3 + vtbl.8 d6, {q13}, d10 @ vpshufb %xmm5, %xmm3, %xmm3 + vtbl.8 d7, {q13}, d11 + + vtbl.8 d4, {q14}, d8 @ vpshufb %xmm4, %xmm2, %xmm2 + vtbl.8 d5, {q14}, d9 + veor q2, q2, q3 @ vpxor %xmm3, %xmm2, %xmm2 + vtbl.8 d6, {q15}, d2 @ vpshufb %xmm1, %xmm3, %xmm3 + vtbl.8 d7, {q15}, d3 + @ Load .Lk_dkse ahead of time. + vld1.64 {q14,q15}, [r11]! @ vmovdqa 0x60(%r11), %xmm2 + @ vmovdqa 0x70(%r11), %xmm4 + @ Write to q13 so we do not overlap table and destination. + veor q13, q3, q2 @ vpxor %xmm2, %xmm3, %xmm3 + + vtbl.8 d4, {q14}, d8 @ vpshufb %xmm4, %xmm2, %xmm2 + vtbl.8 d5, {q14}, d9 + vtbl.8 d6, {q13}, d10 @ vpshufb %xmm5, %xmm3, %xmm3 + vtbl.8 d7, {q13}, d11 + vtbl.8 d8, {q15}, d2 @ vpshufb %xmm1, %xmm4, %xmm4 + vtbl.8 d9, {q15}, d3 + vld1.64 {q1}, [r8] @ vmovdqa (%r8,%r10), %xmm1 + veor q2, q2, q3 @ vpxor %xmm3, %xmm2, %xmm2 + veor q3, q4, q2 @ vpxor %xmm2, %xmm4, %xmm3 + + sub r2, r2, #16 @ add $-16, %rdx + +.Lschedule_mangle_both: + @ Write to q2 so table and destination do not overlap. + vtbl.8 d4, {q3}, d2 @ vpshufb %xmm1, %xmm3, %xmm3 + vtbl.8 d5, {q3}, d3 + add r8, r8, #64-16 @ add $-16, %r8 + and r8, r8, #~(1<<6) @ and $0x30, %r8 + vst1.64 {q2}, [r2] @ vmovdqu %xmm3, (%rdx) + bx lr +.size _vpaes_schedule_mangle,.-_vpaes_schedule_mangle + +.globl vpaes_set_encrypt_key +.hidden vpaes_set_encrypt_key +.type vpaes_set_encrypt_key,%function +.align 4 +vpaes_set_encrypt_key: + stmdb sp!, {r7,r8,r9,r10,r11, lr} + vstmdb sp!, {d8,d9,d10,d11,d12,d13,d14,d15} + + lsr r9, r1, #5 @ shr $5,%eax + add r9, r9, #5 @ $5,%eax + str r9, [r2,#240] @ mov %eax,240(%rdx) # AES_KEY->rounds = nbits/32+5; + + mov r3, #0 @ mov $0,%ecx + mov r8, #0x30 @ mov $0x30,%r8d + bl _vpaes_schedule_core + eor r0, r0, r0 + + vldmia sp!, {d8,d9,d10,d11,d12,d13,d14,d15} + ldmia sp!, {r7,r8,r9,r10,r11, pc} @ return +.size vpaes_set_encrypt_key,.-vpaes_set_encrypt_key + +.globl vpaes_set_decrypt_key +.hidden vpaes_set_decrypt_key +.type vpaes_set_decrypt_key,%function +.align 4 +vpaes_set_decrypt_key: + stmdb sp!, {r7,r8,r9,r10,r11, lr} + vstmdb sp!, {d8,d9,d10,d11,d12,d13,d14,d15} + + lsr r9, r1, #5 @ shr $5,%eax + add r9, r9, #5 @ $5,%eax + str r9, [r2,#240] @ mov %eax,240(%rdx) # AES_KEY->rounds = nbits/32+5; + lsl r9, r9, #4 @ shl $4,%eax + add r2, r2, #16 @ lea 16(%rdx,%rax),%rdx + add r2, r2, r9 + + mov r3, #1 @ mov $1,%ecx + lsr r8, r1, #1 @ shr $1,%r8d + and r8, r8, #32 @ and $32,%r8d + eor r8, r8, #32 @ xor $32,%r8d # nbits==192?0:32 + bl _vpaes_schedule_core + + vldmia sp!, {d8,d9,d10,d11,d12,d13,d14,d15} + ldmia sp!, {r7,r8,r9,r10,r11, pc} @ return +.size vpaes_set_decrypt_key,.-vpaes_set_decrypt_key + +@ Additional constants for converting to bsaes. +.type _vpaes_convert_consts,%object +.align 4 +_vpaes_convert_consts: +@ .Lk_opt_then_skew applies skew(opt(x)) XOR 0x63, where skew is the linear +@ transform in the AES S-box. 0x63 is incorporated into the low half of the +@ table. This was computed with the following script: +@ +@ def u64s_to_u128(x, y): +@ return x | (y << 64) +@ def u128_to_u64s(w): +@ return w & ((1<<64)-1), w >> 64 +@ def get_byte(w, i): +@ return (w >> (i*8)) & 0xff +@ def apply_table(table, b): +@ lo = b & 0xf +@ hi = b >> 4 +@ return get_byte(table[0], lo) ^ get_byte(table[1], hi) +@ def opt(b): +@ table = [ +@ u64s_to_u128(0xFF9F4929D6B66000, 0xF7974121DEBE6808), +@ u64s_to_u128(0x01EDBD5150BCEC00, 0xE10D5DB1B05C0CE0), +@ ] +@ return apply_table(table, b) +@ def rot_byte(b, n): +@ return 0xff & ((b << n) | (b >> (8-n))) +@ def skew(x): +@ return (x ^ rot_byte(x, 1) ^ rot_byte(x, 2) ^ rot_byte(x, 3) ^ +@ rot_byte(x, 4)) +@ table = [0, 0] +@ for i in range(16): +@ table[0] |= (skew(opt(i)) ^ 0x63) << (i*8) +@ table[1] |= skew(opt(i<<4)) << (i*8) +@ print(" .quad 0x%016x, 0x%016x" % u128_to_u64s(table[0])) +@ print(" .quad 0x%016x, 0x%016x" % u128_to_u64s(table[1])) +.Lk_opt_then_skew: +.quad 0x9cb8436798bc4763, 0x6440bb9f6044bf9b +.quad 0x1f30062936192f00, 0xb49bad829db284ab + +@ .Lk_decrypt_transform is a permutation which performs an 8-bit left-rotation +@ followed by a byte-swap on each 32-bit word of a vector. E.g., 0x11223344 +@ becomes 0x22334411 and then 0x11443322. +.Lk_decrypt_transform: +.quad 0x0704050603000102, 0x0f0c0d0e0b08090a +.size _vpaes_convert_consts,.-_vpaes_convert_consts + +@ void vpaes_encrypt_key_to_bsaes(AES_KEY *bsaes, const AES_KEY *vpaes); +.globl vpaes_encrypt_key_to_bsaes +.hidden vpaes_encrypt_key_to_bsaes +.type vpaes_encrypt_key_to_bsaes,%function +.align 4 +vpaes_encrypt_key_to_bsaes: + stmdb sp!, {r11, lr} + + @ See _vpaes_schedule_core for the key schedule logic. In particular, + @ _vpaes_schedule_transform(.Lk_ipt) (section 2.2 of the paper), + @ _vpaes_schedule_mangle (section 4.3), and .Lschedule_mangle_last + @ contain the transformations not in the bsaes representation. This + @ function inverts those transforms. + @ + @ Note also that bsaes-armv7.pl expects aes-armv4.pl's key + @ representation, which does not match the other aes_nohw_* + @ implementations. The ARM aes_nohw_* stores each 32-bit word + @ byteswapped, as a convenience for (unsupported) big-endian ARM, at the + @ cost of extra REV and VREV32 operations in little-endian ARM. + + vmov.i8 q9, #0x0f @ Required by _vpaes_schedule_transform + adr r2, .Lk_mc_forward @ Must be aligned to 8 mod 16. + add r3, r2, 0x90 @ .Lk_sr+0x10-.Lk_mc_forward = 0x90 (Apple's toolchain doesn't support the expression) + + vld1.64 {q12}, [r2] + vmov.i8 q10, #0x5b @ .Lk_s63 from vpaes-x86_64 + adr r11, .Lk_opt @ Must be aligned to 8 mod 16. + vmov.i8 q11, #0x63 @ .LK_s63 without .Lk_ipt applied + + @ vpaes stores one fewer round count than bsaes, but the number of keys + @ is the same. + ldr r2, [r1,#240] + add r2, r2, #1 + str r2, [r0,#240] + + @ The first key is transformed with _vpaes_schedule_transform(.Lk_ipt). + @ Invert this with .Lk_opt. + vld1.64 {q0}, [r1]! + bl _vpaes_schedule_transform + vrev32.8 q0, q0 + vst1.64 {q0}, [r0]! + + @ The middle keys have _vpaes_schedule_transform(.Lk_ipt) applied, + @ followed by _vpaes_schedule_mangle. _vpaes_schedule_mangle XORs 0x63, + @ multiplies by the circulant 0,1,1,1, then applies ShiftRows. +.Loop_enc_key_to_bsaes: + vld1.64 {q0}, [r1]! + + @ Invert the ShiftRows step (see .Lschedule_mangle_both). Note we cycle + @ r3 in the opposite direction and start at .Lk_sr+0x10 instead of 0x30. + @ We use r3 rather than r8 to avoid a callee-saved register. + vld1.64 {q1}, [r3] + vtbl.8 d4, {q0}, d2 + vtbl.8 d5, {q0}, d3 + add r3, r3, #16 + and r3, r3, #~(1<<6) + vmov q0, q2 + + @ Handle the last key differently. + subs r2, r2, #1 + beq .Loop_enc_key_to_bsaes_last + + @ Multiply by the circulant. This is its own inverse. + vtbl.8 d2, {q0}, d24 + vtbl.8 d3, {q0}, d25 + vmov q0, q1 + vtbl.8 d4, {q1}, d24 + vtbl.8 d5, {q1}, d25 + veor q0, q0, q2 + vtbl.8 d2, {q2}, d24 + vtbl.8 d3, {q2}, d25 + veor q0, q0, q1 + + @ XOR and finish. + veor q0, q0, q10 + bl _vpaes_schedule_transform + vrev32.8 q0, q0 + vst1.64 {q0}, [r0]! + b .Loop_enc_key_to_bsaes + +.Loop_enc_key_to_bsaes_last: + @ The final key does not have a basis transform (note + @ .Lschedule_mangle_last inverts the original transform). It only XORs + @ 0x63 and applies ShiftRows. The latter was already inverted in the + @ loop. Note that, because we act on the original representation, we use + @ q11, not q10. + veor q0, q0, q11 + vrev32.8 q0, q0 + vst1.64 {q0}, [r0] + + @ Wipe registers which contained key material. + veor q0, q0, q0 + veor q1, q1, q1 + veor q2, q2, q2 + + ldmia sp!, {r11, pc} @ return +.size vpaes_encrypt_key_to_bsaes,.-vpaes_encrypt_key_to_bsaes + +@ void vpaes_decrypt_key_to_bsaes(AES_KEY *vpaes, const AES_KEY *bsaes); +.globl vpaes_decrypt_key_to_bsaes +.hidden vpaes_decrypt_key_to_bsaes +.type vpaes_decrypt_key_to_bsaes,%function +.align 4 +vpaes_decrypt_key_to_bsaes: + stmdb sp!, {r11, lr} + + @ See _vpaes_schedule_core for the key schedule logic. Note vpaes + @ computes the decryption key schedule in reverse. Additionally, + @ aes-x86_64.pl shares some transformations, so we must only partially + @ invert vpaes's transformations. In general, vpaes computes in a + @ different basis (.Lk_ipt and .Lk_opt) and applies the inverses of + @ MixColumns, ShiftRows, and the affine part of the AES S-box (which is + @ split into a linear skew and XOR of 0x63). We undo all but MixColumns. + @ + @ Note also that bsaes-armv7.pl expects aes-armv4.pl's key + @ representation, which does not match the other aes_nohw_* + @ implementations. The ARM aes_nohw_* stores each 32-bit word + @ byteswapped, as a convenience for (unsupported) big-endian ARM, at the + @ cost of extra REV and VREV32 operations in little-endian ARM. + + adr r2, .Lk_decrypt_transform + adr r3, .Lk_sr+0x30 + adr r11, .Lk_opt_then_skew @ Input to _vpaes_schedule_transform. + vld1.64 {q12}, [r2] @ Reuse q12 from encryption. + vmov.i8 q9, #0x0f @ Required by _vpaes_schedule_transform + + @ vpaes stores one fewer round count than bsaes, but the number of keys + @ is the same. + ldr r2, [r1,#240] + add r2, r2, #1 + str r2, [r0,#240] + + @ Undo the basis change and reapply the S-box affine transform. See + @ .Lschedule_mangle_last. + vld1.64 {q0}, [r1]! + bl _vpaes_schedule_transform + vrev32.8 q0, q0 + vst1.64 {q0}, [r0]! + + @ See _vpaes_schedule_mangle for the transform on the middle keys. Note + @ it simultaneously inverts MixColumns and the S-box affine transform. + @ See .Lk_dksd through .Lk_dks9. +.Loop_dec_key_to_bsaes: + vld1.64 {q0}, [r1]! + + @ Invert the ShiftRows step (see .Lschedule_mangle_both). Note going + @ forwards cancels inverting for which direction we cycle r3. We use r3 + @ rather than r8 to avoid a callee-saved register. + vld1.64 {q1}, [r3] + vtbl.8 d4, {q0}, d2 + vtbl.8 d5, {q0}, d3 + add r3, r3, #64-16 + and r3, r3, #~(1<<6) + vmov q0, q2 + + @ Handle the last key differently. + subs r2, r2, #1 + beq .Loop_dec_key_to_bsaes_last + + @ Undo the basis change and reapply the S-box affine transform. + bl _vpaes_schedule_transform + + @ Rotate each word by 8 bytes (cycle the rows) and then byte-swap. We + @ combine the two operations in .Lk_decrypt_transform. + @ + @ TODO(davidben): Where does the rotation come from? + vtbl.8 d2, {q0}, d24 + vtbl.8 d3, {q0}, d25 + + vst1.64 {q1}, [r0]! + b .Loop_dec_key_to_bsaes + +.Loop_dec_key_to_bsaes_last: + @ The final key only inverts ShiftRows (already done in the loop). See + @ .Lschedule_am_decrypting. Its basis is not transformed. + vrev32.8 q0, q0 + vst1.64 {q0}, [r0]! + + @ Wipe registers which contained key material. + veor q0, q0, q0 + veor q1, q1, q1 + veor q2, q2, q2 + + ldmia sp!, {r11, pc} @ return +.size vpaes_decrypt_key_to_bsaes,.-vpaes_decrypt_key_to_bsaes +.globl vpaes_ctr32_encrypt_blocks +.hidden vpaes_ctr32_encrypt_blocks +.type vpaes_ctr32_encrypt_blocks,%function +.align 4 +vpaes_ctr32_encrypt_blocks: + mov ip, sp + stmdb sp!, {r7,r8,r9,r10,r11, lr} + @ This function uses q4-q7 (d8-d15), which are callee-saved. + vstmdb sp!, {d8,d9,d10,d11,d12,d13,d14,d15} + + cmp r2, #0 + @ r8 is passed on the stack. + ldr r8, [ip] + beq .Lctr32_done + + @ _vpaes_encrypt_core expects the key in r2, so swap r2 and r3. + mov r9, r3 + mov r3, r2 + mov r2, r9 + + @ Load the IV and counter portion. + ldr r7, [r8, #12] + vld1.8 {q7}, [r8] + + bl _vpaes_preheat + rev r7, r7 @ The counter is big-endian. + +.Lctr32_loop: + vmov q0, q7 + vld1.8 {q6}, [r0]! @ .Load input ahead of time + bl _vpaes_encrypt_core + veor q0, q0, q6 @ XOR input and result + vst1.8 {q0}, [r1]! + subs r3, r3, #1 + @ Update the counter. + add r7, r7, #1 + rev r9, r7 + vmov.32 d15[1], r9 + bne .Lctr32_loop + +.Lctr32_done: + vldmia sp!, {d8,d9,d10,d11,d12,d13,d14,d15} + ldmia sp!, {r7,r8,r9,r10,r11, pc} @ return +.size vpaes_ctr32_encrypt_blocks,.-vpaes_ctr32_encrypt_blocks +#endif +#endif // !OPENSSL_NO_ASM +.section .note.GNU-stack,"",%progbits diff --git a/contrib/boringssl-cmake/linux-arm/crypto/test/trampoline-armv4.S b/contrib/boringssl-cmake/linux-arm/crypto/test/trampoline-armv4.S index e526e993144..9a73ba826a1 100644 --- a/contrib/boringssl-cmake/linux-arm/crypto/test/trampoline-armv4.S +++ b/contrib/boringssl-cmake/linux-arm/crypto/test/trampoline-armv4.S @@ -31,7 +31,6 @@ .hidden abi_test_trampoline .align 4 abi_test_trampoline: -.Labi_test_trampoline_begin: @ Save parameters and all callee-saved registers. For convenience, we @ save r9 on iOS even though it's volatile. vstmdb sp!, {d8,d9,d10,d11,d12,d13,d14,d15} @@ -377,3 +376,4 @@ abi_test_clobber_d15: .size abi_test_clobber_d15,.-abi_test_clobber_d15 #endif #endif // !OPENSSL_NO_ASM +.section .note.GNU-stack,"",%progbits diff --git a/contrib/boringssl-cmake/linux-ppc64le/crypto/fipsmodule/aesp8-ppc.S b/contrib/boringssl-cmake/linux-ppc64le/crypto/fipsmodule/aesp8-ppc.S index 911d6383acd..86b06fc2ef0 100644 --- a/contrib/boringssl-cmake/linux-ppc64le/crypto/fipsmodule/aesp8-ppc.S +++ b/contrib/boringssl-cmake/linux-ppc64le/crypto/fipsmodule/aesp8-ppc.S @@ -3667,3 +3667,4 @@ _aesp8_xts_dec5x: .long 0 .byte 0,12,0x14,0,0,0,0,0 #endif // !OPENSSL_NO_ASM && __powerpc64__ +.section .note.GNU-stack,"",@progbits diff --git a/contrib/boringssl-cmake/linux-ppc64le/crypto/fipsmodule/ghashp8-ppc.S b/contrib/boringssl-cmake/linux-ppc64le/crypto/fipsmodule/ghashp8-ppc.S index 88a8a254c11..5b909a38d3e 100644 --- a/contrib/boringssl-cmake/linux-ppc64le/crypto/fipsmodule/ghashp8-ppc.S +++ b/contrib/boringssl-cmake/linux-ppc64le/crypto/fipsmodule/ghashp8-ppc.S @@ -584,3 +584,4 @@ gcm_ghash_p8: .align 2 .align 2 #endif // !OPENSSL_NO_ASM && __powerpc64__ +.section .note.GNU-stack,"",@progbits diff --git a/contrib/boringssl-cmake/linux-ppc64le/crypto/test/trampoline-ppc.S b/contrib/boringssl-cmake/linux-ppc64le/crypto/test/trampoline-ppc.S new file mode 100644 index 00000000000..7271090cab0 --- /dev/null +++ b/contrib/boringssl-cmake/linux-ppc64le/crypto/test/trampoline-ppc.S @@ -0,0 +1,1410 @@ +# This file is generated from a similarly-named Perl script in the BoringSSL +# source tree. Do not edit by hand. + +#if defined(__has_feature) +#if __has_feature(memory_sanitizer) && !defined(OPENSSL_NO_ASM) +#define OPENSSL_NO_ASM +#endif +#endif + +#if !defined(OPENSSL_NO_ASM) && defined(__powerpc64__) +.machine "any" +.abiversion 2 +.text + + + + + + + +.globl abi_test_trampoline +.type abi_test_trampoline,@function +.align 5 +abi_test_trampoline: +.localentry abi_test_trampoline,0 + + + mflr 0 + std 0, 16(1) + + + + + + + + + + + + + + + + + + + + stdu 1, -528(1) + + mfcr 0 + std 0, 8(1) + std 2, 24(1) + std 4, 32(1) + li 11, 48 + stvx 20, 11, 1 + li 11, 64 + stvx 21, 11, 1 + li 11, 80 + stvx 22, 11, 1 + li 11, 96 + stvx 23, 11, 1 + li 11, 112 + stvx 24, 11, 1 + li 11, 128 + stvx 25, 11, 1 + li 11, 144 + stvx 26, 11, 1 + li 11, 160 + stvx 27, 11, 1 + li 11, 176 + stvx 28, 11, 1 + li 11, 192 + stvx 29, 11, 1 + li 11, 208 + stvx 30, 11, 1 + li 11, 224 + stvx 31, 11, 1 + std 14, 240(1) + std 15, 248(1) + std 16, 256(1) + std 17, 264(1) + std 18, 272(1) + std 19, 280(1) + std 20, 288(1) + std 21, 296(1) + std 22, 304(1) + std 23, 312(1) + std 24, 320(1) + std 25, 328(1) + std 26, 336(1) + std 27, 344(1) + std 28, 352(1) + std 29, 360(1) + std 30, 368(1) + std 31, 376(1) + stfd 14, 384(1) + stfd 15, 392(1) + stfd 16, 400(1) + stfd 17, 408(1) + stfd 18, 416(1) + stfd 19, 424(1) + stfd 20, 432(1) + stfd 21, 440(1) + stfd 22, 448(1) + stfd 23, 456(1) + stfd 24, 464(1) + stfd 25, 472(1) + stfd 26, 480(1) + stfd 27, 488(1) + stfd 28, 496(1) + stfd 29, 504(1) + stfd 30, 512(1) + stfd 31, 520(1) + li 11, 0 + lvx 20, 11, 4 + li 11, 16 + lvx 21, 11, 4 + li 11, 32 + lvx 22, 11, 4 + li 11, 48 + lvx 23, 11, 4 + li 11, 64 + lvx 24, 11, 4 + li 11, 80 + lvx 25, 11, 4 + li 11, 96 + lvx 26, 11, 4 + li 11, 112 + lvx 27, 11, 4 + li 11, 128 + lvx 28, 11, 4 + li 11, 144 + lvx 29, 11, 4 + li 11, 160 + lvx 30, 11, 4 + li 11, 176 + lvx 31, 11, 4 + ld 14, 192(4) + ld 15, 200(4) + ld 16, 208(4) + ld 17, 216(4) + ld 18, 224(4) + ld 19, 232(4) + ld 20, 240(4) + ld 21, 248(4) + ld 22, 256(4) + ld 23, 264(4) + ld 24, 272(4) + ld 25, 280(4) + ld 26, 288(4) + ld 27, 296(4) + ld 28, 304(4) + ld 29, 312(4) + ld 30, 320(4) + ld 31, 328(4) + lfd 14, 336(4) + lfd 15, 344(4) + lfd 16, 352(4) + lfd 17, 360(4) + lfd 18, 368(4) + lfd 19, 376(4) + lfd 20, 384(4) + lfd 21, 392(4) + lfd 22, 400(4) + lfd 23, 408(4) + lfd 24, 416(4) + lfd 25, 424(4) + lfd 26, 432(4) + lfd 27, 440(4) + lfd 28, 448(4) + lfd 29, 456(4) + lfd 30, 464(4) + lfd 31, 472(4) + + ld 0, 480(4) + mtcr 0 + + + addi 11, 5, -8 + mr 12, 3 + + + cmpdi 6, 0 + beq .Largs_done + mtctr 6 + ldu 3, 8(11) + bdz .Largs_done + ldu 4, 8(11) + bdz .Largs_done + ldu 5, 8(11) + bdz .Largs_done + ldu 6, 8(11) + bdz .Largs_done + ldu 7, 8(11) + bdz .Largs_done + ldu 8, 8(11) + bdz .Largs_done + ldu 9, 8(11) + bdz .Largs_done + ldu 10, 8(11) + +.Largs_done: + li 2, 0 + mtctr 12 + bctrl + ld 2, 24(1) + + ld 4, 32(1) + li 11, 0 + stvx 20, 11, 4 + li 11, 16 + stvx 21, 11, 4 + li 11, 32 + stvx 22, 11, 4 + li 11, 48 + stvx 23, 11, 4 + li 11, 64 + stvx 24, 11, 4 + li 11, 80 + stvx 25, 11, 4 + li 11, 96 + stvx 26, 11, 4 + li 11, 112 + stvx 27, 11, 4 + li 11, 128 + stvx 28, 11, 4 + li 11, 144 + stvx 29, 11, 4 + li 11, 160 + stvx 30, 11, 4 + li 11, 176 + stvx 31, 11, 4 + std 14, 192(4) + std 15, 200(4) + std 16, 208(4) + std 17, 216(4) + std 18, 224(4) + std 19, 232(4) + std 20, 240(4) + std 21, 248(4) + std 22, 256(4) + std 23, 264(4) + std 24, 272(4) + std 25, 280(4) + std 26, 288(4) + std 27, 296(4) + std 28, 304(4) + std 29, 312(4) + std 30, 320(4) + std 31, 328(4) + stfd 14, 336(4) + stfd 15, 344(4) + stfd 16, 352(4) + stfd 17, 360(4) + stfd 18, 368(4) + stfd 19, 376(4) + stfd 20, 384(4) + stfd 21, 392(4) + stfd 22, 400(4) + stfd 23, 408(4) + stfd 24, 416(4) + stfd 25, 424(4) + stfd 26, 432(4) + stfd 27, 440(4) + stfd 28, 448(4) + stfd 29, 456(4) + stfd 30, 464(4) + stfd 31, 472(4) + li 11, 48 + lvx 20, 11, 1 + li 11, 64 + lvx 21, 11, 1 + li 11, 80 + lvx 22, 11, 1 + li 11, 96 + lvx 23, 11, 1 + li 11, 112 + lvx 24, 11, 1 + li 11, 128 + lvx 25, 11, 1 + li 11, 144 + lvx 26, 11, 1 + li 11, 160 + lvx 27, 11, 1 + li 11, 176 + lvx 28, 11, 1 + li 11, 192 + lvx 29, 11, 1 + li 11, 208 + lvx 30, 11, 1 + li 11, 224 + lvx 31, 11, 1 + ld 14, 240(1) + ld 15, 248(1) + ld 16, 256(1) + ld 17, 264(1) + ld 18, 272(1) + ld 19, 280(1) + ld 20, 288(1) + ld 21, 296(1) + ld 22, 304(1) + ld 23, 312(1) + ld 24, 320(1) + ld 25, 328(1) + ld 26, 336(1) + ld 27, 344(1) + ld 28, 352(1) + ld 29, 360(1) + ld 30, 368(1) + ld 31, 376(1) + lfd 14, 384(1) + lfd 15, 392(1) + lfd 16, 400(1) + lfd 17, 408(1) + lfd 18, 416(1) + lfd 19, 424(1) + lfd 20, 432(1) + lfd 21, 440(1) + lfd 22, 448(1) + lfd 23, 456(1) + lfd 24, 464(1) + lfd 25, 472(1) + lfd 26, 480(1) + lfd 27, 488(1) + lfd 28, 496(1) + lfd 29, 504(1) + lfd 30, 512(1) + lfd 31, 520(1) + mfcr 0 + std 0, 480(4) + ld 0, 8(1) + mtcrf 0b00111000, 0 + addi 1, 1, 528 + ld 0, 16(1) + mtlr 0 + blr +.size abi_test_trampoline,.-abi_test_trampoline +.globl abi_test_clobber_r0 +.type abi_test_clobber_r0,@function +.align 5 +abi_test_clobber_r0: +.localentry abi_test_clobber_r0,0 + + li 0, 0 + blr +.size abi_test_clobber_r0,.-abi_test_clobber_r0 +.globl abi_test_clobber_r2 +.type abi_test_clobber_r2,@function +.align 5 +abi_test_clobber_r2: +.localentry abi_test_clobber_r2,0 + + li 2, 0 + blr +.size abi_test_clobber_r2,.-abi_test_clobber_r2 +.globl abi_test_clobber_r3 +.type abi_test_clobber_r3,@function +.align 5 +abi_test_clobber_r3: +.localentry abi_test_clobber_r3,0 + + li 3, 0 + blr +.size abi_test_clobber_r3,.-abi_test_clobber_r3 +.globl abi_test_clobber_r4 +.type abi_test_clobber_r4,@function +.align 5 +abi_test_clobber_r4: +.localentry abi_test_clobber_r4,0 + + li 4, 0 + blr +.size abi_test_clobber_r4,.-abi_test_clobber_r4 +.globl abi_test_clobber_r5 +.type abi_test_clobber_r5,@function +.align 5 +abi_test_clobber_r5: +.localentry abi_test_clobber_r5,0 + + li 5, 0 + blr +.size abi_test_clobber_r5,.-abi_test_clobber_r5 +.globl abi_test_clobber_r6 +.type abi_test_clobber_r6,@function +.align 5 +abi_test_clobber_r6: +.localentry abi_test_clobber_r6,0 + + li 6, 0 + blr +.size abi_test_clobber_r6,.-abi_test_clobber_r6 +.globl abi_test_clobber_r7 +.type abi_test_clobber_r7,@function +.align 5 +abi_test_clobber_r7: +.localentry abi_test_clobber_r7,0 + + li 7, 0 + blr +.size abi_test_clobber_r7,.-abi_test_clobber_r7 +.globl abi_test_clobber_r8 +.type abi_test_clobber_r8,@function +.align 5 +abi_test_clobber_r8: +.localentry abi_test_clobber_r8,0 + + li 8, 0 + blr +.size abi_test_clobber_r8,.-abi_test_clobber_r8 +.globl abi_test_clobber_r9 +.type abi_test_clobber_r9,@function +.align 5 +abi_test_clobber_r9: +.localentry abi_test_clobber_r9,0 + + li 9, 0 + blr +.size abi_test_clobber_r9,.-abi_test_clobber_r9 +.globl abi_test_clobber_r10 +.type abi_test_clobber_r10,@function +.align 5 +abi_test_clobber_r10: +.localentry abi_test_clobber_r10,0 + + li 10, 0 + blr +.size abi_test_clobber_r10,.-abi_test_clobber_r10 +.globl abi_test_clobber_r11 +.type abi_test_clobber_r11,@function +.align 5 +abi_test_clobber_r11: +.localentry abi_test_clobber_r11,0 + + li 11, 0 + blr +.size abi_test_clobber_r11,.-abi_test_clobber_r11 +.globl abi_test_clobber_r12 +.type abi_test_clobber_r12,@function +.align 5 +abi_test_clobber_r12: +.localentry abi_test_clobber_r12,0 + + li 12, 0 + blr +.size abi_test_clobber_r12,.-abi_test_clobber_r12 +.globl abi_test_clobber_r14 +.type abi_test_clobber_r14,@function +.align 5 +abi_test_clobber_r14: +.localentry abi_test_clobber_r14,0 + + li 14, 0 + blr +.size abi_test_clobber_r14,.-abi_test_clobber_r14 +.globl abi_test_clobber_r15 +.type abi_test_clobber_r15,@function +.align 5 +abi_test_clobber_r15: +.localentry abi_test_clobber_r15,0 + + li 15, 0 + blr +.size abi_test_clobber_r15,.-abi_test_clobber_r15 +.globl abi_test_clobber_r16 +.type abi_test_clobber_r16,@function +.align 5 +abi_test_clobber_r16: +.localentry abi_test_clobber_r16,0 + + li 16, 0 + blr +.size abi_test_clobber_r16,.-abi_test_clobber_r16 +.globl abi_test_clobber_r17 +.type abi_test_clobber_r17,@function +.align 5 +abi_test_clobber_r17: +.localentry abi_test_clobber_r17,0 + + li 17, 0 + blr +.size abi_test_clobber_r17,.-abi_test_clobber_r17 +.globl abi_test_clobber_r18 +.type abi_test_clobber_r18,@function +.align 5 +abi_test_clobber_r18: +.localentry abi_test_clobber_r18,0 + + li 18, 0 + blr +.size abi_test_clobber_r18,.-abi_test_clobber_r18 +.globl abi_test_clobber_r19 +.type abi_test_clobber_r19,@function +.align 5 +abi_test_clobber_r19: +.localentry abi_test_clobber_r19,0 + + li 19, 0 + blr +.size abi_test_clobber_r19,.-abi_test_clobber_r19 +.globl abi_test_clobber_r20 +.type abi_test_clobber_r20,@function +.align 5 +abi_test_clobber_r20: +.localentry abi_test_clobber_r20,0 + + li 20, 0 + blr +.size abi_test_clobber_r20,.-abi_test_clobber_r20 +.globl abi_test_clobber_r21 +.type abi_test_clobber_r21,@function +.align 5 +abi_test_clobber_r21: +.localentry abi_test_clobber_r21,0 + + li 21, 0 + blr +.size abi_test_clobber_r21,.-abi_test_clobber_r21 +.globl abi_test_clobber_r22 +.type abi_test_clobber_r22,@function +.align 5 +abi_test_clobber_r22: +.localentry abi_test_clobber_r22,0 + + li 22, 0 + blr +.size abi_test_clobber_r22,.-abi_test_clobber_r22 +.globl abi_test_clobber_r23 +.type abi_test_clobber_r23,@function +.align 5 +abi_test_clobber_r23: +.localentry abi_test_clobber_r23,0 + + li 23, 0 + blr +.size abi_test_clobber_r23,.-abi_test_clobber_r23 +.globl abi_test_clobber_r24 +.type abi_test_clobber_r24,@function +.align 5 +abi_test_clobber_r24: +.localentry abi_test_clobber_r24,0 + + li 24, 0 + blr +.size abi_test_clobber_r24,.-abi_test_clobber_r24 +.globl abi_test_clobber_r25 +.type abi_test_clobber_r25,@function +.align 5 +abi_test_clobber_r25: +.localentry abi_test_clobber_r25,0 + + li 25, 0 + blr +.size abi_test_clobber_r25,.-abi_test_clobber_r25 +.globl abi_test_clobber_r26 +.type abi_test_clobber_r26,@function +.align 5 +abi_test_clobber_r26: +.localentry abi_test_clobber_r26,0 + + li 26, 0 + blr +.size abi_test_clobber_r26,.-abi_test_clobber_r26 +.globl abi_test_clobber_r27 +.type abi_test_clobber_r27,@function +.align 5 +abi_test_clobber_r27: +.localentry abi_test_clobber_r27,0 + + li 27, 0 + blr +.size abi_test_clobber_r27,.-abi_test_clobber_r27 +.globl abi_test_clobber_r28 +.type abi_test_clobber_r28,@function +.align 5 +abi_test_clobber_r28: +.localentry abi_test_clobber_r28,0 + + li 28, 0 + blr +.size abi_test_clobber_r28,.-abi_test_clobber_r28 +.globl abi_test_clobber_r29 +.type abi_test_clobber_r29,@function +.align 5 +abi_test_clobber_r29: +.localentry abi_test_clobber_r29,0 + + li 29, 0 + blr +.size abi_test_clobber_r29,.-abi_test_clobber_r29 +.globl abi_test_clobber_r30 +.type abi_test_clobber_r30,@function +.align 5 +abi_test_clobber_r30: +.localentry abi_test_clobber_r30,0 + + li 30, 0 + blr +.size abi_test_clobber_r30,.-abi_test_clobber_r30 +.globl abi_test_clobber_r31 +.type abi_test_clobber_r31,@function +.align 5 +abi_test_clobber_r31: +.localentry abi_test_clobber_r31,0 + + li 31, 0 + blr +.size abi_test_clobber_r31,.-abi_test_clobber_r31 +.globl abi_test_clobber_f0 +.type abi_test_clobber_f0,@function +.align 4 +abi_test_clobber_f0: +.localentry abi_test_clobber_f0,0 + + li 0, 0 + + std 0, -8(1) + lfd 0, -8(1) + blr +.size abi_test_clobber_f0,.-abi_test_clobber_f0 +.globl abi_test_clobber_f1 +.type abi_test_clobber_f1,@function +.align 4 +abi_test_clobber_f1: +.localentry abi_test_clobber_f1,0 + + li 0, 0 + + std 0, -8(1) + lfd 1, -8(1) + blr +.size abi_test_clobber_f1,.-abi_test_clobber_f1 +.globl abi_test_clobber_f2 +.type abi_test_clobber_f2,@function +.align 4 +abi_test_clobber_f2: +.localentry abi_test_clobber_f2,0 + + li 0, 0 + + std 0, -8(1) + lfd 2, -8(1) + blr +.size abi_test_clobber_f2,.-abi_test_clobber_f2 +.globl abi_test_clobber_f3 +.type abi_test_clobber_f3,@function +.align 4 +abi_test_clobber_f3: +.localentry abi_test_clobber_f3,0 + + li 0, 0 + + std 0, -8(1) + lfd 3, -8(1) + blr +.size abi_test_clobber_f3,.-abi_test_clobber_f3 +.globl abi_test_clobber_f4 +.type abi_test_clobber_f4,@function +.align 4 +abi_test_clobber_f4: +.localentry abi_test_clobber_f4,0 + + li 0, 0 + + std 0, -8(1) + lfd 4, -8(1) + blr +.size abi_test_clobber_f4,.-abi_test_clobber_f4 +.globl abi_test_clobber_f5 +.type abi_test_clobber_f5,@function +.align 4 +abi_test_clobber_f5: +.localentry abi_test_clobber_f5,0 + + li 0, 0 + + std 0, -8(1) + lfd 5, -8(1) + blr +.size abi_test_clobber_f5,.-abi_test_clobber_f5 +.globl abi_test_clobber_f6 +.type abi_test_clobber_f6,@function +.align 4 +abi_test_clobber_f6: +.localentry abi_test_clobber_f6,0 + + li 0, 0 + + std 0, -8(1) + lfd 6, -8(1) + blr +.size abi_test_clobber_f6,.-abi_test_clobber_f6 +.globl abi_test_clobber_f7 +.type abi_test_clobber_f7,@function +.align 4 +abi_test_clobber_f7: +.localentry abi_test_clobber_f7,0 + + li 0, 0 + + std 0, -8(1) + lfd 7, -8(1) + blr +.size abi_test_clobber_f7,.-abi_test_clobber_f7 +.globl abi_test_clobber_f8 +.type abi_test_clobber_f8,@function +.align 4 +abi_test_clobber_f8: +.localentry abi_test_clobber_f8,0 + + li 0, 0 + + std 0, -8(1) + lfd 8, -8(1) + blr +.size abi_test_clobber_f8,.-abi_test_clobber_f8 +.globl abi_test_clobber_f9 +.type abi_test_clobber_f9,@function +.align 4 +abi_test_clobber_f9: +.localentry abi_test_clobber_f9,0 + + li 0, 0 + + std 0, -8(1) + lfd 9, -8(1) + blr +.size abi_test_clobber_f9,.-abi_test_clobber_f9 +.globl abi_test_clobber_f10 +.type abi_test_clobber_f10,@function +.align 4 +abi_test_clobber_f10: +.localentry abi_test_clobber_f10,0 + + li 0, 0 + + std 0, -8(1) + lfd 10, -8(1) + blr +.size abi_test_clobber_f10,.-abi_test_clobber_f10 +.globl abi_test_clobber_f11 +.type abi_test_clobber_f11,@function +.align 4 +abi_test_clobber_f11: +.localentry abi_test_clobber_f11,0 + + li 0, 0 + + std 0, -8(1) + lfd 11, -8(1) + blr +.size abi_test_clobber_f11,.-abi_test_clobber_f11 +.globl abi_test_clobber_f12 +.type abi_test_clobber_f12,@function +.align 4 +abi_test_clobber_f12: +.localentry abi_test_clobber_f12,0 + + li 0, 0 + + std 0, -8(1) + lfd 12, -8(1) + blr +.size abi_test_clobber_f12,.-abi_test_clobber_f12 +.globl abi_test_clobber_f13 +.type abi_test_clobber_f13,@function +.align 4 +abi_test_clobber_f13: +.localentry abi_test_clobber_f13,0 + + li 0, 0 + + std 0, -8(1) + lfd 13, -8(1) + blr +.size abi_test_clobber_f13,.-abi_test_clobber_f13 +.globl abi_test_clobber_f14 +.type abi_test_clobber_f14,@function +.align 4 +abi_test_clobber_f14: +.localentry abi_test_clobber_f14,0 + + li 0, 0 + + std 0, -8(1) + lfd 14, -8(1) + blr +.size abi_test_clobber_f14,.-abi_test_clobber_f14 +.globl abi_test_clobber_f15 +.type abi_test_clobber_f15,@function +.align 4 +abi_test_clobber_f15: +.localentry abi_test_clobber_f15,0 + + li 0, 0 + + std 0, -8(1) + lfd 15, -8(1) + blr +.size abi_test_clobber_f15,.-abi_test_clobber_f15 +.globl abi_test_clobber_f16 +.type abi_test_clobber_f16,@function +.align 4 +abi_test_clobber_f16: +.localentry abi_test_clobber_f16,0 + + li 0, 0 + + std 0, -8(1) + lfd 16, -8(1) + blr +.size abi_test_clobber_f16,.-abi_test_clobber_f16 +.globl abi_test_clobber_f17 +.type abi_test_clobber_f17,@function +.align 4 +abi_test_clobber_f17: +.localentry abi_test_clobber_f17,0 + + li 0, 0 + + std 0, -8(1) + lfd 17, -8(1) + blr +.size abi_test_clobber_f17,.-abi_test_clobber_f17 +.globl abi_test_clobber_f18 +.type abi_test_clobber_f18,@function +.align 4 +abi_test_clobber_f18: +.localentry abi_test_clobber_f18,0 + + li 0, 0 + + std 0, -8(1) + lfd 18, -8(1) + blr +.size abi_test_clobber_f18,.-abi_test_clobber_f18 +.globl abi_test_clobber_f19 +.type abi_test_clobber_f19,@function +.align 4 +abi_test_clobber_f19: +.localentry abi_test_clobber_f19,0 + + li 0, 0 + + std 0, -8(1) + lfd 19, -8(1) + blr +.size abi_test_clobber_f19,.-abi_test_clobber_f19 +.globl abi_test_clobber_f20 +.type abi_test_clobber_f20,@function +.align 4 +abi_test_clobber_f20: +.localentry abi_test_clobber_f20,0 + + li 0, 0 + + std 0, -8(1) + lfd 20, -8(1) + blr +.size abi_test_clobber_f20,.-abi_test_clobber_f20 +.globl abi_test_clobber_f21 +.type abi_test_clobber_f21,@function +.align 4 +abi_test_clobber_f21: +.localentry abi_test_clobber_f21,0 + + li 0, 0 + + std 0, -8(1) + lfd 21, -8(1) + blr +.size abi_test_clobber_f21,.-abi_test_clobber_f21 +.globl abi_test_clobber_f22 +.type abi_test_clobber_f22,@function +.align 4 +abi_test_clobber_f22: +.localentry abi_test_clobber_f22,0 + + li 0, 0 + + std 0, -8(1) + lfd 22, -8(1) + blr +.size abi_test_clobber_f22,.-abi_test_clobber_f22 +.globl abi_test_clobber_f23 +.type abi_test_clobber_f23,@function +.align 4 +abi_test_clobber_f23: +.localentry abi_test_clobber_f23,0 + + li 0, 0 + + std 0, -8(1) + lfd 23, -8(1) + blr +.size abi_test_clobber_f23,.-abi_test_clobber_f23 +.globl abi_test_clobber_f24 +.type abi_test_clobber_f24,@function +.align 4 +abi_test_clobber_f24: +.localentry abi_test_clobber_f24,0 + + li 0, 0 + + std 0, -8(1) + lfd 24, -8(1) + blr +.size abi_test_clobber_f24,.-abi_test_clobber_f24 +.globl abi_test_clobber_f25 +.type abi_test_clobber_f25,@function +.align 4 +abi_test_clobber_f25: +.localentry abi_test_clobber_f25,0 + + li 0, 0 + + std 0, -8(1) + lfd 25, -8(1) + blr +.size abi_test_clobber_f25,.-abi_test_clobber_f25 +.globl abi_test_clobber_f26 +.type abi_test_clobber_f26,@function +.align 4 +abi_test_clobber_f26: +.localentry abi_test_clobber_f26,0 + + li 0, 0 + + std 0, -8(1) + lfd 26, -8(1) + blr +.size abi_test_clobber_f26,.-abi_test_clobber_f26 +.globl abi_test_clobber_f27 +.type abi_test_clobber_f27,@function +.align 4 +abi_test_clobber_f27: +.localentry abi_test_clobber_f27,0 + + li 0, 0 + + std 0, -8(1) + lfd 27, -8(1) + blr +.size abi_test_clobber_f27,.-abi_test_clobber_f27 +.globl abi_test_clobber_f28 +.type abi_test_clobber_f28,@function +.align 4 +abi_test_clobber_f28: +.localentry abi_test_clobber_f28,0 + + li 0, 0 + + std 0, -8(1) + lfd 28, -8(1) + blr +.size abi_test_clobber_f28,.-abi_test_clobber_f28 +.globl abi_test_clobber_f29 +.type abi_test_clobber_f29,@function +.align 4 +abi_test_clobber_f29: +.localentry abi_test_clobber_f29,0 + + li 0, 0 + + std 0, -8(1) + lfd 29, -8(1) + blr +.size abi_test_clobber_f29,.-abi_test_clobber_f29 +.globl abi_test_clobber_f30 +.type abi_test_clobber_f30,@function +.align 4 +abi_test_clobber_f30: +.localentry abi_test_clobber_f30,0 + + li 0, 0 + + std 0, -8(1) + lfd 30, -8(1) + blr +.size abi_test_clobber_f30,.-abi_test_clobber_f30 +.globl abi_test_clobber_f31 +.type abi_test_clobber_f31,@function +.align 4 +abi_test_clobber_f31: +.localentry abi_test_clobber_f31,0 + + li 0, 0 + + std 0, -8(1) + lfd 31, -8(1) + blr +.size abi_test_clobber_f31,.-abi_test_clobber_f31 +.globl abi_test_clobber_v0 +.type abi_test_clobber_v0,@function +.align 4 +abi_test_clobber_v0: +.localentry abi_test_clobber_v0,0 + + vxor 0, 0, 0 + blr +.size abi_test_clobber_v0,.-abi_test_clobber_v0 +.globl abi_test_clobber_v1 +.type abi_test_clobber_v1,@function +.align 4 +abi_test_clobber_v1: +.localentry abi_test_clobber_v1,0 + + vxor 1, 1, 1 + blr +.size abi_test_clobber_v1,.-abi_test_clobber_v1 +.globl abi_test_clobber_v2 +.type abi_test_clobber_v2,@function +.align 4 +abi_test_clobber_v2: +.localentry abi_test_clobber_v2,0 + + vxor 2, 2, 2 + blr +.size abi_test_clobber_v2,.-abi_test_clobber_v2 +.globl abi_test_clobber_v3 +.type abi_test_clobber_v3,@function +.align 4 +abi_test_clobber_v3: +.localentry abi_test_clobber_v3,0 + + vxor 3, 3, 3 + blr +.size abi_test_clobber_v3,.-abi_test_clobber_v3 +.globl abi_test_clobber_v4 +.type abi_test_clobber_v4,@function +.align 4 +abi_test_clobber_v4: +.localentry abi_test_clobber_v4,0 + + vxor 4, 4, 4 + blr +.size abi_test_clobber_v4,.-abi_test_clobber_v4 +.globl abi_test_clobber_v5 +.type abi_test_clobber_v5,@function +.align 4 +abi_test_clobber_v5: +.localentry abi_test_clobber_v5,0 + + vxor 5, 5, 5 + blr +.size abi_test_clobber_v5,.-abi_test_clobber_v5 +.globl abi_test_clobber_v6 +.type abi_test_clobber_v6,@function +.align 4 +abi_test_clobber_v6: +.localentry abi_test_clobber_v6,0 + + vxor 6, 6, 6 + blr +.size abi_test_clobber_v6,.-abi_test_clobber_v6 +.globl abi_test_clobber_v7 +.type abi_test_clobber_v7,@function +.align 4 +abi_test_clobber_v7: +.localentry abi_test_clobber_v7,0 + + vxor 7, 7, 7 + blr +.size abi_test_clobber_v7,.-abi_test_clobber_v7 +.globl abi_test_clobber_v8 +.type abi_test_clobber_v8,@function +.align 4 +abi_test_clobber_v8: +.localentry abi_test_clobber_v8,0 + + vxor 8, 8, 8 + blr +.size abi_test_clobber_v8,.-abi_test_clobber_v8 +.globl abi_test_clobber_v9 +.type abi_test_clobber_v9,@function +.align 4 +abi_test_clobber_v9: +.localentry abi_test_clobber_v9,0 + + vxor 9, 9, 9 + blr +.size abi_test_clobber_v9,.-abi_test_clobber_v9 +.globl abi_test_clobber_v10 +.type abi_test_clobber_v10,@function +.align 4 +abi_test_clobber_v10: +.localentry abi_test_clobber_v10,0 + + vxor 10, 10, 10 + blr +.size abi_test_clobber_v10,.-abi_test_clobber_v10 +.globl abi_test_clobber_v11 +.type abi_test_clobber_v11,@function +.align 4 +abi_test_clobber_v11: +.localentry abi_test_clobber_v11,0 + + vxor 11, 11, 11 + blr +.size abi_test_clobber_v11,.-abi_test_clobber_v11 +.globl abi_test_clobber_v12 +.type abi_test_clobber_v12,@function +.align 4 +abi_test_clobber_v12: +.localentry abi_test_clobber_v12,0 + + vxor 12, 12, 12 + blr +.size abi_test_clobber_v12,.-abi_test_clobber_v12 +.globl abi_test_clobber_v13 +.type abi_test_clobber_v13,@function +.align 4 +abi_test_clobber_v13: +.localentry abi_test_clobber_v13,0 + + vxor 13, 13, 13 + blr +.size abi_test_clobber_v13,.-abi_test_clobber_v13 +.globl abi_test_clobber_v14 +.type abi_test_clobber_v14,@function +.align 4 +abi_test_clobber_v14: +.localentry abi_test_clobber_v14,0 + + vxor 14, 14, 14 + blr +.size abi_test_clobber_v14,.-abi_test_clobber_v14 +.globl abi_test_clobber_v15 +.type abi_test_clobber_v15,@function +.align 4 +abi_test_clobber_v15: +.localentry abi_test_clobber_v15,0 + + vxor 15, 15, 15 + blr +.size abi_test_clobber_v15,.-abi_test_clobber_v15 +.globl abi_test_clobber_v16 +.type abi_test_clobber_v16,@function +.align 4 +abi_test_clobber_v16: +.localentry abi_test_clobber_v16,0 + + vxor 16, 16, 16 + blr +.size abi_test_clobber_v16,.-abi_test_clobber_v16 +.globl abi_test_clobber_v17 +.type abi_test_clobber_v17,@function +.align 4 +abi_test_clobber_v17: +.localentry abi_test_clobber_v17,0 + + vxor 17, 17, 17 + blr +.size abi_test_clobber_v17,.-abi_test_clobber_v17 +.globl abi_test_clobber_v18 +.type abi_test_clobber_v18,@function +.align 4 +abi_test_clobber_v18: +.localentry abi_test_clobber_v18,0 + + vxor 18, 18, 18 + blr +.size abi_test_clobber_v18,.-abi_test_clobber_v18 +.globl abi_test_clobber_v19 +.type abi_test_clobber_v19,@function +.align 4 +abi_test_clobber_v19: +.localentry abi_test_clobber_v19,0 + + vxor 19, 19, 19 + blr +.size abi_test_clobber_v19,.-abi_test_clobber_v19 +.globl abi_test_clobber_v20 +.type abi_test_clobber_v20,@function +.align 4 +abi_test_clobber_v20: +.localentry abi_test_clobber_v20,0 + + vxor 20, 20, 20 + blr +.size abi_test_clobber_v20,.-abi_test_clobber_v20 +.globl abi_test_clobber_v21 +.type abi_test_clobber_v21,@function +.align 4 +abi_test_clobber_v21: +.localentry abi_test_clobber_v21,0 + + vxor 21, 21, 21 + blr +.size abi_test_clobber_v21,.-abi_test_clobber_v21 +.globl abi_test_clobber_v22 +.type abi_test_clobber_v22,@function +.align 4 +abi_test_clobber_v22: +.localentry abi_test_clobber_v22,0 + + vxor 22, 22, 22 + blr +.size abi_test_clobber_v22,.-abi_test_clobber_v22 +.globl abi_test_clobber_v23 +.type abi_test_clobber_v23,@function +.align 4 +abi_test_clobber_v23: +.localentry abi_test_clobber_v23,0 + + vxor 23, 23, 23 + blr +.size abi_test_clobber_v23,.-abi_test_clobber_v23 +.globl abi_test_clobber_v24 +.type abi_test_clobber_v24,@function +.align 4 +abi_test_clobber_v24: +.localentry abi_test_clobber_v24,0 + + vxor 24, 24, 24 + blr +.size abi_test_clobber_v24,.-abi_test_clobber_v24 +.globl abi_test_clobber_v25 +.type abi_test_clobber_v25,@function +.align 4 +abi_test_clobber_v25: +.localentry abi_test_clobber_v25,0 + + vxor 25, 25, 25 + blr +.size abi_test_clobber_v25,.-abi_test_clobber_v25 +.globl abi_test_clobber_v26 +.type abi_test_clobber_v26,@function +.align 4 +abi_test_clobber_v26: +.localentry abi_test_clobber_v26,0 + + vxor 26, 26, 26 + blr +.size abi_test_clobber_v26,.-abi_test_clobber_v26 +.globl abi_test_clobber_v27 +.type abi_test_clobber_v27,@function +.align 4 +abi_test_clobber_v27: +.localentry abi_test_clobber_v27,0 + + vxor 27, 27, 27 + blr +.size abi_test_clobber_v27,.-abi_test_clobber_v27 +.globl abi_test_clobber_v28 +.type abi_test_clobber_v28,@function +.align 4 +abi_test_clobber_v28: +.localentry abi_test_clobber_v28,0 + + vxor 28, 28, 28 + blr +.size abi_test_clobber_v28,.-abi_test_clobber_v28 +.globl abi_test_clobber_v29 +.type abi_test_clobber_v29,@function +.align 4 +abi_test_clobber_v29: +.localentry abi_test_clobber_v29,0 + + vxor 29, 29, 29 + blr +.size abi_test_clobber_v29,.-abi_test_clobber_v29 +.globl abi_test_clobber_v30 +.type abi_test_clobber_v30,@function +.align 4 +abi_test_clobber_v30: +.localentry abi_test_clobber_v30,0 + + vxor 30, 30, 30 + blr +.size abi_test_clobber_v30,.-abi_test_clobber_v30 +.globl abi_test_clobber_v31 +.type abi_test_clobber_v31,@function +.align 4 +abi_test_clobber_v31: +.localentry abi_test_clobber_v31,0 + + vxor 31, 31, 31 + blr +.size abi_test_clobber_v31,.-abi_test_clobber_v31 +.globl abi_test_clobber_cr0 +.type abi_test_clobber_cr0,@function +.align 4 +abi_test_clobber_cr0: +.localentry abi_test_clobber_cr0,0 + + + + mfcr 0 + not 0, 0 + mtcrf 128, 0 + blr +.size abi_test_clobber_cr0,.-abi_test_clobber_cr0 +.globl abi_test_clobber_cr1 +.type abi_test_clobber_cr1,@function +.align 4 +abi_test_clobber_cr1: +.localentry abi_test_clobber_cr1,0 + + + + mfcr 0 + not 0, 0 + mtcrf 64, 0 + blr +.size abi_test_clobber_cr1,.-abi_test_clobber_cr1 +.globl abi_test_clobber_cr2 +.type abi_test_clobber_cr2,@function +.align 4 +abi_test_clobber_cr2: +.localentry abi_test_clobber_cr2,0 + + + + mfcr 0 + not 0, 0 + mtcrf 32, 0 + blr +.size abi_test_clobber_cr2,.-abi_test_clobber_cr2 +.globl abi_test_clobber_cr3 +.type abi_test_clobber_cr3,@function +.align 4 +abi_test_clobber_cr3: +.localentry abi_test_clobber_cr3,0 + + + + mfcr 0 + not 0, 0 + mtcrf 16, 0 + blr +.size abi_test_clobber_cr3,.-abi_test_clobber_cr3 +.globl abi_test_clobber_cr4 +.type abi_test_clobber_cr4,@function +.align 4 +abi_test_clobber_cr4: +.localentry abi_test_clobber_cr4,0 + + + + mfcr 0 + not 0, 0 + mtcrf 8, 0 + blr +.size abi_test_clobber_cr4,.-abi_test_clobber_cr4 +.globl abi_test_clobber_cr5 +.type abi_test_clobber_cr5,@function +.align 4 +abi_test_clobber_cr5: +.localentry abi_test_clobber_cr5,0 + + + + mfcr 0 + not 0, 0 + mtcrf 4, 0 + blr +.size abi_test_clobber_cr5,.-abi_test_clobber_cr5 +.globl abi_test_clobber_cr6 +.type abi_test_clobber_cr6,@function +.align 4 +abi_test_clobber_cr6: +.localentry abi_test_clobber_cr6,0 + + + + mfcr 0 + not 0, 0 + mtcrf 2, 0 + blr +.size abi_test_clobber_cr6,.-abi_test_clobber_cr6 +.globl abi_test_clobber_cr7 +.type abi_test_clobber_cr7,@function +.align 4 +abi_test_clobber_cr7: +.localentry abi_test_clobber_cr7,0 + + + + mfcr 0 + not 0, 0 + mtcrf 1, 0 + blr +.size abi_test_clobber_cr7,.-abi_test_clobber_cr7 +.globl abi_test_clobber_ctr +.type abi_test_clobber_ctr,@function +.align 4 +abi_test_clobber_ctr: +.localentry abi_test_clobber_ctr,0 + + li 0, 0 + mtctr 0 + blr +.size abi_test_clobber_ctr,.-abi_test_clobber_ctr + +.globl abi_test_clobber_lr +.type abi_test_clobber_lr,@function +.align 4 +abi_test_clobber_lr: +.localentry abi_test_clobber_lr,0 + + mflr 0 + mtctr 0 + li 0, 0 + mtlr 0 + bctr +.size abi_test_clobber_lr,.-abi_test_clobber_lr + +#endif // !OPENSSL_NO_ASM && __powerpc64__ +.section .note.GNU-stack,"",@progbits diff --git a/contrib/boringssl-cmake/linux-x86/crypto/chacha/chacha-x86.S b/contrib/boringssl-cmake/linux-x86/crypto/chacha/chacha-x86.S index 287b62a5157..feceb5d9f81 100644 --- a/contrib/boringssl-cmake/linux-x86/crypto/chacha/chacha-x86.S +++ b/contrib/boringssl-cmake/linux-x86/crypto/chacha/chacha-x86.S @@ -972,3 +972,4 @@ ChaCha20_ssse3: .byte 60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111 .byte 114,103,62,0 #endif +.section .note.GNU-stack,"",@progbits diff --git a/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/aes-586.S b/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/aes-586.S deleted file mode 100644 index c8eeee53701..00000000000 --- a/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/aes-586.S +++ /dev/null @@ -1,3262 +0,0 @@ -# This file is generated from a similarly-named Perl script in the BoringSSL -# source tree. Do not edit by hand. - -#if defined(__i386__) -#if defined(BORINGSSL_PREFIX) -#include -#endif -.text -.hidden _x86_AES_encrypt_compact -.type _x86_AES_encrypt_compact,@function -.align 16 -_x86_AES_encrypt_compact: - movl %edi,20(%esp) - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - movl 240(%edi),%esi - leal -2(%esi,%esi,1),%esi - leal (%edi,%esi,8),%esi - movl %esi,24(%esp) - movl -128(%ebp),%edi - movl -96(%ebp),%esi - movl -64(%ebp),%edi - movl -32(%ebp),%esi - movl (%ebp),%edi - movl 32(%ebp),%esi - movl 64(%ebp),%edi - movl 96(%ebp),%esi -.align 16 -.L000loop: - movl %eax,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %bh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,4(%esp) - - movl %ebx,%esi - andl $255,%esi - shrl $16,%ebx - movzbl -128(%ebp,%esi,1),%esi - movzbl %ch,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,8(%esp) - - movl %ecx,%esi - andl $255,%esi - shrl $24,%ecx - movzbl -128(%ebp,%esi,1),%esi - movzbl %dh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edx - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movzbl %bh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - - andl $255,%edx - movzbl -128(%ebp,%edx,1),%edx - movzbl %ah,%eax - movzbl -128(%ebp,%eax,1),%eax - shll $8,%eax - xorl %eax,%edx - movl 4(%esp),%eax - andl $255,%ebx - movzbl -128(%ebp,%ebx,1),%ebx - shll $16,%ebx - xorl %ebx,%edx - movl 8(%esp),%ebx - movzbl -128(%ebp,%ecx,1),%ecx - shll $24,%ecx - xorl %ecx,%edx - movl %esi,%ecx - - movl $2155905152,%ebp - andl %ecx,%ebp - leal (%ecx,%ecx,1),%edi - movl %ebp,%esi - shrl $7,%ebp - andl $4278124286,%edi - subl %ebp,%esi - movl %ecx,%ebp - andl $454761243,%esi - rorl $16,%ebp - xorl %edi,%esi - movl %ecx,%edi - xorl %esi,%ecx - rorl $24,%edi - xorl %ebp,%esi - roll $24,%ecx - xorl %edi,%esi - movl $2155905152,%ebp - xorl %esi,%ecx - andl %edx,%ebp - leal (%edx,%edx,1),%edi - movl %ebp,%esi - shrl $7,%ebp - andl $4278124286,%edi - subl %ebp,%esi - movl %edx,%ebp - andl $454761243,%esi - rorl $16,%ebp - xorl %edi,%esi - movl %edx,%edi - xorl %esi,%edx - rorl $24,%edi - xorl %ebp,%esi - roll $24,%edx - xorl %edi,%esi - movl $2155905152,%ebp - xorl %esi,%edx - andl %eax,%ebp - leal (%eax,%eax,1),%edi - movl %ebp,%esi - shrl $7,%ebp - andl $4278124286,%edi - subl %ebp,%esi - movl %eax,%ebp - andl $454761243,%esi - rorl $16,%ebp - xorl %edi,%esi - movl %eax,%edi - xorl %esi,%eax - rorl $24,%edi - xorl %ebp,%esi - roll $24,%eax - xorl %edi,%esi - movl $2155905152,%ebp - xorl %esi,%eax - andl %ebx,%ebp - leal (%ebx,%ebx,1),%edi - movl %ebp,%esi - shrl $7,%ebp - andl $4278124286,%edi - subl %ebp,%esi - movl %ebx,%ebp - andl $454761243,%esi - rorl $16,%ebp - xorl %edi,%esi - movl %ebx,%edi - xorl %esi,%ebx - rorl $24,%edi - xorl %ebp,%esi - roll $24,%ebx - xorl %edi,%esi - xorl %esi,%ebx - movl 20(%esp),%edi - movl 28(%esp),%ebp - addl $16,%edi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - cmpl 24(%esp),%edi - movl %edi,20(%esp) - jb .L000loop - movl %eax,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %bh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,4(%esp) - - movl %ebx,%esi - andl $255,%esi - shrl $16,%ebx - movzbl -128(%ebp,%esi,1),%esi - movzbl %ch,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,8(%esp) - - movl %ecx,%esi - andl $255,%esi - shrl $24,%ecx - movzbl -128(%ebp,%esi,1),%esi - movzbl %dh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edx - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movzbl %bh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - - movl 20(%esp),%edi - andl $255,%edx - movzbl -128(%ebp,%edx,1),%edx - movzbl %ah,%eax - movzbl -128(%ebp,%eax,1),%eax - shll $8,%eax - xorl %eax,%edx - movl 4(%esp),%eax - andl $255,%ebx - movzbl -128(%ebp,%ebx,1),%ebx - shll $16,%ebx - xorl %ebx,%edx - movl 8(%esp),%ebx - movzbl -128(%ebp,%ecx,1),%ecx - shll $24,%ecx - xorl %ecx,%edx - movl %esi,%ecx - - xorl 16(%edi),%eax - xorl 20(%edi),%ebx - xorl 24(%edi),%ecx - xorl 28(%edi),%edx - ret -.size _x86_AES_encrypt_compact,.-_x86_AES_encrypt_compact -.hidden _sse_AES_encrypt_compact -.type _sse_AES_encrypt_compact,@function -.align 16 -_sse_AES_encrypt_compact: - pxor (%edi),%mm0 - pxor 8(%edi),%mm4 - movl 240(%edi),%esi - leal -2(%esi,%esi,1),%esi - leal (%edi,%esi,8),%esi - movl %esi,24(%esp) - movl $454761243,%eax - movl %eax,8(%esp) - movl %eax,12(%esp) - movl -128(%ebp),%eax - movl -96(%ebp),%ebx - movl -64(%ebp),%ecx - movl -32(%ebp),%edx - movl (%ebp),%eax - movl 32(%ebp),%ebx - movl 64(%ebp),%ecx - movl 96(%ebp),%edx -.align 16 -.L001loop: - pshufw $8,%mm0,%mm1 - pshufw $13,%mm4,%mm5 - movd %mm1,%eax - movd %mm5,%ebx - movl %edi,20(%esp) - movzbl %al,%esi - movzbl %ah,%edx - pshufw $13,%mm0,%mm2 - movzbl -128(%ebp,%esi,1),%ecx - movzbl %bl,%edi - movzbl -128(%ebp,%edx,1),%edx - shrl $16,%eax - shll $8,%edx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bh,%edi - shll $16,%esi - pshufw $8,%mm4,%mm6 - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %ah,%edi - shll $24,%esi - shrl $16,%ebx - orl %esi,%edx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bh,%edi - shll $8,%esi - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %al,%edi - shll $24,%esi - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bl,%edi - movd %mm2,%eax - movd %ecx,%mm0 - movzbl -128(%ebp,%edi,1),%ecx - movzbl %ah,%edi - shll $16,%ecx - movd %mm6,%ebx - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bh,%edi - shll $24,%esi - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bl,%edi - shll $8,%esi - shrl $16,%ebx - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %al,%edi - shrl $16,%eax - movd %ecx,%mm1 - movzbl -128(%ebp,%edi,1),%ecx - movzbl %ah,%edi - shll $16,%ecx - andl $255,%eax - orl %esi,%ecx - punpckldq %mm1,%mm0 - movzbl -128(%ebp,%edi,1),%esi - movzbl %bh,%edi - shll $24,%esi - andl $255,%ebx - movzbl -128(%ebp,%eax,1),%eax - orl %esi,%ecx - shll $16,%eax - movzbl -128(%ebp,%edi,1),%esi - orl %eax,%edx - shll $8,%esi - movzbl -128(%ebp,%ebx,1),%ebx - orl %esi,%ecx - orl %ebx,%edx - movl 20(%esp),%edi - movd %ecx,%mm4 - movd %edx,%mm5 - punpckldq %mm5,%mm4 - addl $16,%edi - cmpl 24(%esp),%edi - ja .L002out - movq 8(%esp),%mm2 - pxor %mm3,%mm3 - pxor %mm7,%mm7 - movq %mm0,%mm1 - movq %mm4,%mm5 - pcmpgtb %mm0,%mm3 - pcmpgtb %mm4,%mm7 - pand %mm2,%mm3 - pand %mm2,%mm7 - pshufw $177,%mm0,%mm2 - pshufw $177,%mm4,%mm6 - paddb %mm0,%mm0 - paddb %mm4,%mm4 - pxor %mm3,%mm0 - pxor %mm7,%mm4 - pshufw $177,%mm2,%mm3 - pshufw $177,%mm6,%mm7 - pxor %mm0,%mm1 - pxor %mm4,%mm5 - pxor %mm2,%mm0 - pxor %mm6,%mm4 - movq %mm3,%mm2 - movq %mm7,%mm6 - pslld $8,%mm3 - pslld $8,%mm7 - psrld $24,%mm2 - psrld $24,%mm6 - pxor %mm3,%mm0 - pxor %mm7,%mm4 - pxor %mm2,%mm0 - pxor %mm6,%mm4 - movq %mm1,%mm3 - movq %mm5,%mm7 - movq (%edi),%mm2 - movq 8(%edi),%mm6 - psrld $8,%mm1 - psrld $8,%mm5 - movl -128(%ebp),%eax - pslld $24,%mm3 - pslld $24,%mm7 - movl -64(%ebp),%ebx - pxor %mm1,%mm0 - pxor %mm5,%mm4 - movl (%ebp),%ecx - pxor %mm3,%mm0 - pxor %mm7,%mm4 - movl 64(%ebp),%edx - pxor %mm2,%mm0 - pxor %mm6,%mm4 - jmp .L001loop -.align 16 -.L002out: - pxor (%edi),%mm0 - pxor 8(%edi),%mm4 - ret -.size _sse_AES_encrypt_compact,.-_sse_AES_encrypt_compact -.hidden _x86_AES_encrypt -.type _x86_AES_encrypt,@function -.align 16 -_x86_AES_encrypt: - movl %edi,20(%esp) - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - movl 240(%edi),%esi - leal -2(%esi,%esi,1),%esi - leal (%edi,%esi,8),%esi - movl %esi,24(%esp) -.align 16 -.L003loop: - movl %eax,%esi - andl $255,%esi - movl (%ebp,%esi,8),%esi - movzbl %bh,%edi - xorl 3(%ebp,%edi,8),%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - xorl 2(%ebp,%edi,8),%esi - movl %edx,%edi - shrl $24,%edi - xorl 1(%ebp,%edi,8),%esi - movl %esi,4(%esp) - - movl %ebx,%esi - andl $255,%esi - shrl $16,%ebx - movl (%ebp,%esi,8),%esi - movzbl %ch,%edi - xorl 3(%ebp,%edi,8),%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - xorl 2(%ebp,%edi,8),%esi - movl %eax,%edi - shrl $24,%edi - xorl 1(%ebp,%edi,8),%esi - movl %esi,8(%esp) - - movl %ecx,%esi - andl $255,%esi - shrl $24,%ecx - movl (%ebp,%esi,8),%esi - movzbl %dh,%edi - xorl 3(%ebp,%edi,8),%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edx - andl $255,%edi - xorl 2(%ebp,%edi,8),%esi - movzbl %bh,%edi - xorl 1(%ebp,%edi,8),%esi - - movl 20(%esp),%edi - movl (%ebp,%edx,8),%edx - movzbl %ah,%eax - xorl 3(%ebp,%eax,8),%edx - movl 4(%esp),%eax - andl $255,%ebx - xorl 2(%ebp,%ebx,8),%edx - movl 8(%esp),%ebx - xorl 1(%ebp,%ecx,8),%edx - movl %esi,%ecx - - addl $16,%edi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - cmpl 24(%esp),%edi - movl %edi,20(%esp) - jb .L003loop - movl %eax,%esi - andl $255,%esi - movl 2(%ebp,%esi,8),%esi - andl $255,%esi - movzbl %bh,%edi - movl (%ebp,%edi,8),%edi - andl $65280,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - movl (%ebp,%edi,8),%edi - andl $16711680,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $24,%edi - movl 2(%ebp,%edi,8),%edi - andl $4278190080,%edi - xorl %edi,%esi - movl %esi,4(%esp) - movl %ebx,%esi - andl $255,%esi - shrl $16,%ebx - movl 2(%ebp,%esi,8),%esi - andl $255,%esi - movzbl %ch,%edi - movl (%ebp,%edi,8),%edi - andl $65280,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - movl (%ebp,%edi,8),%edi - andl $16711680,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $24,%edi - movl 2(%ebp,%edi,8),%edi - andl $4278190080,%edi - xorl %edi,%esi - movl %esi,8(%esp) - movl %ecx,%esi - andl $255,%esi - shrl $24,%ecx - movl 2(%ebp,%esi,8),%esi - andl $255,%esi - movzbl %dh,%edi - movl (%ebp,%edi,8),%edi - andl $65280,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edx - andl $255,%edi - movl (%ebp,%edi,8),%edi - andl $16711680,%edi - xorl %edi,%esi - movzbl %bh,%edi - movl 2(%ebp,%edi,8),%edi - andl $4278190080,%edi - xorl %edi,%esi - movl 20(%esp),%edi - andl $255,%edx - movl 2(%ebp,%edx,8),%edx - andl $255,%edx - movzbl %ah,%eax - movl (%ebp,%eax,8),%eax - andl $65280,%eax - xorl %eax,%edx - movl 4(%esp),%eax - andl $255,%ebx - movl (%ebp,%ebx,8),%ebx - andl $16711680,%ebx - xorl %ebx,%edx - movl 8(%esp),%ebx - movl 2(%ebp,%ecx,8),%ecx - andl $4278190080,%ecx - xorl %ecx,%edx - movl %esi,%ecx - addl $16,%edi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - ret -.align 64 -.LAES_Te: -.long 2774754246,2774754246 -.long 2222750968,2222750968 -.long 2574743534,2574743534 -.long 2373680118,2373680118 -.long 234025727,234025727 -.long 3177933782,3177933782 -.long 2976870366,2976870366 -.long 1422247313,1422247313 -.long 1345335392,1345335392 -.long 50397442,50397442 -.long 2842126286,2842126286 -.long 2099981142,2099981142 -.long 436141799,436141799 -.long 1658312629,1658312629 -.long 3870010189,3870010189 -.long 2591454956,2591454956 -.long 1170918031,1170918031 -.long 2642575903,2642575903 -.long 1086966153,1086966153 -.long 2273148410,2273148410 -.long 368769775,368769775 -.long 3948501426,3948501426 -.long 3376891790,3376891790 -.long 200339707,200339707 -.long 3970805057,3970805057 -.long 1742001331,1742001331 -.long 4255294047,4255294047 -.long 3937382213,3937382213 -.long 3214711843,3214711843 -.long 4154762323,4154762323 -.long 2524082916,2524082916 -.long 1539358875,1539358875 -.long 3266819957,3266819957 -.long 486407649,486407649 -.long 2928907069,2928907069 -.long 1780885068,1780885068 -.long 1513502316,1513502316 -.long 1094664062,1094664062 -.long 49805301,49805301 -.long 1338821763,1338821763 -.long 1546925160,1546925160 -.long 4104496465,4104496465 -.long 887481809,887481809 -.long 150073849,150073849 -.long 2473685474,2473685474 -.long 1943591083,1943591083 -.long 1395732834,1395732834 -.long 1058346282,1058346282 -.long 201589768,201589768 -.long 1388824469,1388824469 -.long 1696801606,1696801606 -.long 1589887901,1589887901 -.long 672667696,672667696 -.long 2711000631,2711000631 -.long 251987210,251987210 -.long 3046808111,3046808111 -.long 151455502,151455502 -.long 907153956,907153956 -.long 2608889883,2608889883 -.long 1038279391,1038279391 -.long 652995533,652995533 -.long 1764173646,1764173646 -.long 3451040383,3451040383 -.long 2675275242,2675275242 -.long 453576978,453576978 -.long 2659418909,2659418909 -.long 1949051992,1949051992 -.long 773462580,773462580 -.long 756751158,756751158 -.long 2993581788,2993581788 -.long 3998898868,3998898868 -.long 4221608027,4221608027 -.long 4132590244,4132590244 -.long 1295727478,1295727478 -.long 1641469623,1641469623 -.long 3467883389,3467883389 -.long 2066295122,2066295122 -.long 1055122397,1055122397 -.long 1898917726,1898917726 -.long 2542044179,2542044179 -.long 4115878822,4115878822 -.long 1758581177,1758581177 -.long 0,0 -.long 753790401,753790401 -.long 1612718144,1612718144 -.long 536673507,536673507 -.long 3367088505,3367088505 -.long 3982187446,3982187446 -.long 3194645204,3194645204 -.long 1187761037,1187761037 -.long 3653156455,3653156455 -.long 1262041458,1262041458 -.long 3729410708,3729410708 -.long 3561770136,3561770136 -.long 3898103984,3898103984 -.long 1255133061,1255133061 -.long 1808847035,1808847035 -.long 720367557,720367557 -.long 3853167183,3853167183 -.long 385612781,385612781 -.long 3309519750,3309519750 -.long 3612167578,3612167578 -.long 1429418854,1429418854 -.long 2491778321,2491778321 -.long 3477423498,3477423498 -.long 284817897,284817897 -.long 100794884,100794884 -.long 2172616702,2172616702 -.long 4031795360,4031795360 -.long 1144798328,1144798328 -.long 3131023141,3131023141 -.long 3819481163,3819481163 -.long 4082192802,4082192802 -.long 4272137053,4272137053 -.long 3225436288,3225436288 -.long 2324664069,2324664069 -.long 2912064063,2912064063 -.long 3164445985,3164445985 -.long 1211644016,1211644016 -.long 83228145,83228145 -.long 3753688163,3753688163 -.long 3249976951,3249976951 -.long 1977277103,1977277103 -.long 1663115586,1663115586 -.long 806359072,806359072 -.long 452984805,452984805 -.long 250868733,250868733 -.long 1842533055,1842533055 -.long 1288555905,1288555905 -.long 336333848,336333848 -.long 890442534,890442534 -.long 804056259,804056259 -.long 3781124030,3781124030 -.long 2727843637,2727843637 -.long 3427026056,3427026056 -.long 957814574,957814574 -.long 1472513171,1472513171 -.long 4071073621,4071073621 -.long 2189328124,2189328124 -.long 1195195770,1195195770 -.long 2892260552,2892260552 -.long 3881655738,3881655738 -.long 723065138,723065138 -.long 2507371494,2507371494 -.long 2690670784,2690670784 -.long 2558624025,2558624025 -.long 3511635870,3511635870 -.long 2145180835,2145180835 -.long 1713513028,1713513028 -.long 2116692564,2116692564 -.long 2878378043,2878378043 -.long 2206763019,2206763019 -.long 3393603212,3393603212 -.long 703524551,703524551 -.long 3552098411,3552098411 -.long 1007948840,1007948840 -.long 2044649127,2044649127 -.long 3797835452,3797835452 -.long 487262998,487262998 -.long 1994120109,1994120109 -.long 1004593371,1004593371 -.long 1446130276,1446130276 -.long 1312438900,1312438900 -.long 503974420,503974420 -.long 3679013266,3679013266 -.long 168166924,168166924 -.long 1814307912,1814307912 -.long 3831258296,3831258296 -.long 1573044895,1573044895 -.long 1859376061,1859376061 -.long 4021070915,4021070915 -.long 2791465668,2791465668 -.long 2828112185,2828112185 -.long 2761266481,2761266481 -.long 937747667,937747667 -.long 2339994098,2339994098 -.long 854058965,854058965 -.long 1137232011,1137232011 -.long 1496790894,1496790894 -.long 3077402074,3077402074 -.long 2358086913,2358086913 -.long 1691735473,1691735473 -.long 3528347292,3528347292 -.long 3769215305,3769215305 -.long 3027004632,3027004632 -.long 4199962284,4199962284 -.long 133494003,133494003 -.long 636152527,636152527 -.long 2942657994,2942657994 -.long 2390391540,2390391540 -.long 3920539207,3920539207 -.long 403179536,403179536 -.long 3585784431,3585784431 -.long 2289596656,2289596656 -.long 1864705354,1864705354 -.long 1915629148,1915629148 -.long 605822008,605822008 -.long 4054230615,4054230615 -.long 3350508659,3350508659 -.long 1371981463,1371981463 -.long 602466507,602466507 -.long 2094914977,2094914977 -.long 2624877800,2624877800 -.long 555687742,555687742 -.long 3712699286,3712699286 -.long 3703422305,3703422305 -.long 2257292045,2257292045 -.long 2240449039,2240449039 -.long 2423288032,2423288032 -.long 1111375484,1111375484 -.long 3300242801,3300242801 -.long 2858837708,2858837708 -.long 3628615824,3628615824 -.long 84083462,84083462 -.long 32962295,32962295 -.long 302911004,302911004 -.long 2741068226,2741068226 -.long 1597322602,1597322602 -.long 4183250862,4183250862 -.long 3501832553,3501832553 -.long 2441512471,2441512471 -.long 1489093017,1489093017 -.long 656219450,656219450 -.long 3114180135,3114180135 -.long 954327513,954327513 -.long 335083755,335083755 -.long 3013122091,3013122091 -.long 856756514,856756514 -.long 3144247762,3144247762 -.long 1893325225,1893325225 -.long 2307821063,2307821063 -.long 2811532339,2811532339 -.long 3063651117,3063651117 -.long 572399164,572399164 -.long 2458355477,2458355477 -.long 552200649,552200649 -.long 1238290055,1238290055 -.long 4283782570,4283782570 -.long 2015897680,2015897680 -.long 2061492133,2061492133 -.long 2408352771,2408352771 -.long 4171342169,4171342169 -.long 2156497161,2156497161 -.long 386731290,386731290 -.long 3669999461,3669999461 -.long 837215959,837215959 -.long 3326231172,3326231172 -.long 3093850320,3093850320 -.long 3275833730,3275833730 -.long 2962856233,2962856233 -.long 1999449434,1999449434 -.long 286199582,286199582 -.long 3417354363,3417354363 -.long 4233385128,4233385128 -.long 3602627437,3602627437 -.long 974525996,974525996 -.byte 99,124,119,123,242,107,111,197 -.byte 48,1,103,43,254,215,171,118 -.byte 202,130,201,125,250,89,71,240 -.byte 173,212,162,175,156,164,114,192 -.byte 183,253,147,38,54,63,247,204 -.byte 52,165,229,241,113,216,49,21 -.byte 4,199,35,195,24,150,5,154 -.byte 7,18,128,226,235,39,178,117 -.byte 9,131,44,26,27,110,90,160 -.byte 82,59,214,179,41,227,47,132 -.byte 83,209,0,237,32,252,177,91 -.byte 106,203,190,57,74,76,88,207 -.byte 208,239,170,251,67,77,51,133 -.byte 69,249,2,127,80,60,159,168 -.byte 81,163,64,143,146,157,56,245 -.byte 188,182,218,33,16,255,243,210 -.byte 205,12,19,236,95,151,68,23 -.byte 196,167,126,61,100,93,25,115 -.byte 96,129,79,220,34,42,144,136 -.byte 70,238,184,20,222,94,11,219 -.byte 224,50,58,10,73,6,36,92 -.byte 194,211,172,98,145,149,228,121 -.byte 231,200,55,109,141,213,78,169 -.byte 108,86,244,234,101,122,174,8 -.byte 186,120,37,46,28,166,180,198 -.byte 232,221,116,31,75,189,139,138 -.byte 112,62,181,102,72,3,246,14 -.byte 97,53,87,185,134,193,29,158 -.byte 225,248,152,17,105,217,142,148 -.byte 155,30,135,233,206,85,40,223 -.byte 140,161,137,13,191,230,66,104 -.byte 65,153,45,15,176,84,187,22 -.byte 99,124,119,123,242,107,111,197 -.byte 48,1,103,43,254,215,171,118 -.byte 202,130,201,125,250,89,71,240 -.byte 173,212,162,175,156,164,114,192 -.byte 183,253,147,38,54,63,247,204 -.byte 52,165,229,241,113,216,49,21 -.byte 4,199,35,195,24,150,5,154 -.byte 7,18,128,226,235,39,178,117 -.byte 9,131,44,26,27,110,90,160 -.byte 82,59,214,179,41,227,47,132 -.byte 83,209,0,237,32,252,177,91 -.byte 106,203,190,57,74,76,88,207 -.byte 208,239,170,251,67,77,51,133 -.byte 69,249,2,127,80,60,159,168 -.byte 81,163,64,143,146,157,56,245 -.byte 188,182,218,33,16,255,243,210 -.byte 205,12,19,236,95,151,68,23 -.byte 196,167,126,61,100,93,25,115 -.byte 96,129,79,220,34,42,144,136 -.byte 70,238,184,20,222,94,11,219 -.byte 224,50,58,10,73,6,36,92 -.byte 194,211,172,98,145,149,228,121 -.byte 231,200,55,109,141,213,78,169 -.byte 108,86,244,234,101,122,174,8 -.byte 186,120,37,46,28,166,180,198 -.byte 232,221,116,31,75,189,139,138 -.byte 112,62,181,102,72,3,246,14 -.byte 97,53,87,185,134,193,29,158 -.byte 225,248,152,17,105,217,142,148 -.byte 155,30,135,233,206,85,40,223 -.byte 140,161,137,13,191,230,66,104 -.byte 65,153,45,15,176,84,187,22 -.byte 99,124,119,123,242,107,111,197 -.byte 48,1,103,43,254,215,171,118 -.byte 202,130,201,125,250,89,71,240 -.byte 173,212,162,175,156,164,114,192 -.byte 183,253,147,38,54,63,247,204 -.byte 52,165,229,241,113,216,49,21 -.byte 4,199,35,195,24,150,5,154 -.byte 7,18,128,226,235,39,178,117 -.byte 9,131,44,26,27,110,90,160 -.byte 82,59,214,179,41,227,47,132 -.byte 83,209,0,237,32,252,177,91 -.byte 106,203,190,57,74,76,88,207 -.byte 208,239,170,251,67,77,51,133 -.byte 69,249,2,127,80,60,159,168 -.byte 81,163,64,143,146,157,56,245 -.byte 188,182,218,33,16,255,243,210 -.byte 205,12,19,236,95,151,68,23 -.byte 196,167,126,61,100,93,25,115 -.byte 96,129,79,220,34,42,144,136 -.byte 70,238,184,20,222,94,11,219 -.byte 224,50,58,10,73,6,36,92 -.byte 194,211,172,98,145,149,228,121 -.byte 231,200,55,109,141,213,78,169 -.byte 108,86,244,234,101,122,174,8 -.byte 186,120,37,46,28,166,180,198 -.byte 232,221,116,31,75,189,139,138 -.byte 112,62,181,102,72,3,246,14 -.byte 97,53,87,185,134,193,29,158 -.byte 225,248,152,17,105,217,142,148 -.byte 155,30,135,233,206,85,40,223 -.byte 140,161,137,13,191,230,66,104 -.byte 65,153,45,15,176,84,187,22 -.byte 99,124,119,123,242,107,111,197 -.byte 48,1,103,43,254,215,171,118 -.byte 202,130,201,125,250,89,71,240 -.byte 173,212,162,175,156,164,114,192 -.byte 183,253,147,38,54,63,247,204 -.byte 52,165,229,241,113,216,49,21 -.byte 4,199,35,195,24,150,5,154 -.byte 7,18,128,226,235,39,178,117 -.byte 9,131,44,26,27,110,90,160 -.byte 82,59,214,179,41,227,47,132 -.byte 83,209,0,237,32,252,177,91 -.byte 106,203,190,57,74,76,88,207 -.byte 208,239,170,251,67,77,51,133 -.byte 69,249,2,127,80,60,159,168 -.byte 81,163,64,143,146,157,56,245 -.byte 188,182,218,33,16,255,243,210 -.byte 205,12,19,236,95,151,68,23 -.byte 196,167,126,61,100,93,25,115 -.byte 96,129,79,220,34,42,144,136 -.byte 70,238,184,20,222,94,11,219 -.byte 224,50,58,10,73,6,36,92 -.byte 194,211,172,98,145,149,228,121 -.byte 231,200,55,109,141,213,78,169 -.byte 108,86,244,234,101,122,174,8 -.byte 186,120,37,46,28,166,180,198 -.byte 232,221,116,31,75,189,139,138 -.byte 112,62,181,102,72,3,246,14 -.byte 97,53,87,185,134,193,29,158 -.byte 225,248,152,17,105,217,142,148 -.byte 155,30,135,233,206,85,40,223 -.byte 140,161,137,13,191,230,66,104 -.byte 65,153,45,15,176,84,187,22 -.long 1,2,4,8 -.long 16,32,64,128 -.long 27,54,0,0 -.long 0,0,0,0 -.size _x86_AES_encrypt,.-_x86_AES_encrypt -.globl aes_nohw_encrypt -.hidden aes_nohw_encrypt -.type aes_nohw_encrypt,@function -.align 16 -aes_nohw_encrypt: -.L_aes_nohw_encrypt_begin: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - movl 20(%esp),%esi - movl 28(%esp),%edi - movl %esp,%eax - subl $36,%esp - andl $-64,%esp - leal -127(%edi),%ebx - subl %esp,%ebx - negl %ebx - andl $960,%ebx - subl %ebx,%esp - addl $4,%esp - movl %eax,28(%esp) - call .L004pic_point -.L004pic_point: - popl %ebp - leal OPENSSL_ia32cap_P-.L004pic_point(%ebp),%eax - leal .LAES_Te-.L004pic_point(%ebp),%ebp - leal 764(%esp),%ebx - subl %ebp,%ebx - andl $768,%ebx - leal 2176(%ebp,%ebx,1),%ebp - btl $25,(%eax) - jnc .L005x86 - movq (%esi),%mm0 - movq 8(%esi),%mm4 - call _sse_AES_encrypt_compact - movl 28(%esp),%esp - movl 24(%esp),%esi - movq %mm0,(%esi) - movq %mm4,8(%esi) - emms - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.align 16 -.L005x86: - movl %ebp,24(%esp) - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - call _x86_AES_encrypt_compact - movl 28(%esp),%esp - movl 24(%esp),%esi - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.size aes_nohw_encrypt,.-.L_aes_nohw_encrypt_begin -.hidden _x86_AES_decrypt_compact -.type _x86_AES_decrypt_compact,@function -.align 16 -_x86_AES_decrypt_compact: - movl %edi,20(%esp) - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - movl 240(%edi),%esi - leal -2(%esi,%esi,1),%esi - leal (%edi,%esi,8),%esi - movl %esi,24(%esp) - movl -128(%ebp),%edi - movl -96(%ebp),%esi - movl -64(%ebp),%edi - movl -32(%ebp),%esi - movl (%ebp),%edi - movl 32(%ebp),%esi - movl 64(%ebp),%edi - movl 96(%ebp),%esi -.align 16 -.L006loop: - movl %eax,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %dh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %ebx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,4(%esp) - movl %ebx,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %ah,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,8(%esp) - movl %ecx,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %bh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - andl $255,%edx - movzbl -128(%ebp,%edx,1),%edx - movzbl %ch,%ecx - movzbl -128(%ebp,%ecx,1),%ecx - shll $8,%ecx - xorl %ecx,%edx - movl %esi,%ecx - shrl $16,%ebx - andl $255,%ebx - movzbl -128(%ebp,%ebx,1),%ebx - shll $16,%ebx - xorl %ebx,%edx - shrl $24,%eax - movzbl -128(%ebp,%eax,1),%eax - shll $24,%eax - xorl %eax,%edx - movl $2155905152,%edi - andl %ecx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%ecx,%ecx,1),%eax - subl %edi,%esi - andl $4278124286,%eax - andl $454761243,%esi - xorl %esi,%eax - movl $2155905152,%edi - andl %eax,%edi - movl %edi,%esi - shrl $7,%edi - leal (%eax,%eax,1),%ebx - subl %edi,%esi - andl $4278124286,%ebx - andl $454761243,%esi - xorl %ecx,%eax - xorl %esi,%ebx - movl $2155905152,%edi - andl %ebx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%ebx,%ebx,1),%ebp - subl %edi,%esi - andl $4278124286,%ebp - andl $454761243,%esi - xorl %ecx,%ebx - roll $8,%ecx - xorl %esi,%ebp - xorl %eax,%ecx - xorl %ebp,%eax - xorl %ebx,%ecx - xorl %ebp,%ebx - roll $24,%eax - xorl %ebp,%ecx - roll $16,%ebx - xorl %eax,%ecx - roll $8,%ebp - xorl %ebx,%ecx - movl 4(%esp),%eax - xorl %ebp,%ecx - movl %ecx,12(%esp) - movl $2155905152,%edi - andl %edx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%edx,%edx,1),%ebx - subl %edi,%esi - andl $4278124286,%ebx - andl $454761243,%esi - xorl %esi,%ebx - movl $2155905152,%edi - andl %ebx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%ebx,%ebx,1),%ecx - subl %edi,%esi - andl $4278124286,%ecx - andl $454761243,%esi - xorl %edx,%ebx - xorl %esi,%ecx - movl $2155905152,%edi - andl %ecx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%ecx,%ecx,1),%ebp - subl %edi,%esi - andl $4278124286,%ebp - andl $454761243,%esi - xorl %edx,%ecx - roll $8,%edx - xorl %esi,%ebp - xorl %ebx,%edx - xorl %ebp,%ebx - xorl %ecx,%edx - xorl %ebp,%ecx - roll $24,%ebx - xorl %ebp,%edx - roll $16,%ecx - xorl %ebx,%edx - roll $8,%ebp - xorl %ecx,%edx - movl 8(%esp),%ebx - xorl %ebp,%edx - movl %edx,16(%esp) - movl $2155905152,%edi - andl %eax,%edi - movl %edi,%esi - shrl $7,%edi - leal (%eax,%eax,1),%ecx - subl %edi,%esi - andl $4278124286,%ecx - andl $454761243,%esi - xorl %esi,%ecx - movl $2155905152,%edi - andl %ecx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%ecx,%ecx,1),%edx - subl %edi,%esi - andl $4278124286,%edx - andl $454761243,%esi - xorl %eax,%ecx - xorl %esi,%edx - movl $2155905152,%edi - andl %edx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%edx,%edx,1),%ebp - subl %edi,%esi - andl $4278124286,%ebp - andl $454761243,%esi - xorl %eax,%edx - roll $8,%eax - xorl %esi,%ebp - xorl %ecx,%eax - xorl %ebp,%ecx - xorl %edx,%eax - xorl %ebp,%edx - roll $24,%ecx - xorl %ebp,%eax - roll $16,%edx - xorl %ecx,%eax - roll $8,%ebp - xorl %edx,%eax - xorl %ebp,%eax - movl $2155905152,%edi - andl %ebx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%ebx,%ebx,1),%ecx - subl %edi,%esi - andl $4278124286,%ecx - andl $454761243,%esi - xorl %esi,%ecx - movl $2155905152,%edi - andl %ecx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%ecx,%ecx,1),%edx - subl %edi,%esi - andl $4278124286,%edx - andl $454761243,%esi - xorl %ebx,%ecx - xorl %esi,%edx - movl $2155905152,%edi - andl %edx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%edx,%edx,1),%ebp - subl %edi,%esi - andl $4278124286,%ebp - andl $454761243,%esi - xorl %ebx,%edx - roll $8,%ebx - xorl %esi,%ebp - xorl %ecx,%ebx - xorl %ebp,%ecx - xorl %edx,%ebx - xorl %ebp,%edx - roll $24,%ecx - xorl %ebp,%ebx - roll $16,%edx - xorl %ecx,%ebx - roll $8,%ebp - xorl %edx,%ebx - movl 12(%esp),%ecx - xorl %ebp,%ebx - movl 16(%esp),%edx - movl 20(%esp),%edi - movl 28(%esp),%ebp - addl $16,%edi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - cmpl 24(%esp),%edi - movl %edi,20(%esp) - jb .L006loop - movl %eax,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %dh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %ebx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,4(%esp) - movl %ebx,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %ah,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,8(%esp) - movl %ecx,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %bh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl 20(%esp),%edi - andl $255,%edx - movzbl -128(%ebp,%edx,1),%edx - movzbl %ch,%ecx - movzbl -128(%ebp,%ecx,1),%ecx - shll $8,%ecx - xorl %ecx,%edx - movl %esi,%ecx - shrl $16,%ebx - andl $255,%ebx - movzbl -128(%ebp,%ebx,1),%ebx - shll $16,%ebx - xorl %ebx,%edx - movl 8(%esp),%ebx - shrl $24,%eax - movzbl -128(%ebp,%eax,1),%eax - shll $24,%eax - xorl %eax,%edx - movl 4(%esp),%eax - xorl 16(%edi),%eax - xorl 20(%edi),%ebx - xorl 24(%edi),%ecx - xorl 28(%edi),%edx - ret -.size _x86_AES_decrypt_compact,.-_x86_AES_decrypt_compact -.hidden _sse_AES_decrypt_compact -.type _sse_AES_decrypt_compact,@function -.align 16 -_sse_AES_decrypt_compact: - pxor (%edi),%mm0 - pxor 8(%edi),%mm4 - movl 240(%edi),%esi - leal -2(%esi,%esi,1),%esi - leal (%edi,%esi,8),%esi - movl %esi,24(%esp) - movl $454761243,%eax - movl %eax,8(%esp) - movl %eax,12(%esp) - movl -128(%ebp),%eax - movl -96(%ebp),%ebx - movl -64(%ebp),%ecx - movl -32(%ebp),%edx - movl (%ebp),%eax - movl 32(%ebp),%ebx - movl 64(%ebp),%ecx - movl 96(%ebp),%edx -.align 16 -.L007loop: - pshufw $12,%mm0,%mm1 - pshufw $9,%mm4,%mm5 - movd %mm1,%eax - movd %mm5,%ebx - movl %edi,20(%esp) - movzbl %al,%esi - movzbl %ah,%edx - pshufw $6,%mm0,%mm2 - movzbl -128(%ebp,%esi,1),%ecx - movzbl %bl,%edi - movzbl -128(%ebp,%edx,1),%edx - shrl $16,%eax - shll $8,%edx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bh,%edi - shll $16,%esi - pshufw $3,%mm4,%mm6 - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %ah,%edi - shll $24,%esi - shrl $16,%ebx - orl %esi,%edx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bh,%edi - shll $24,%esi - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %al,%edi - shll $8,%esi - movd %mm2,%eax - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bl,%edi - shll $16,%esi - movd %mm6,%ebx - movd %ecx,%mm0 - movzbl -128(%ebp,%edi,1),%ecx - movzbl %al,%edi - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bl,%edi - orl %esi,%edx - movzbl -128(%ebp,%edi,1),%esi - movzbl %ah,%edi - shll $16,%esi - shrl $16,%eax - orl %esi,%edx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bh,%edi - shrl $16,%ebx - shll $8,%esi - movd %edx,%mm1 - movzbl -128(%ebp,%edi,1),%edx - movzbl %bh,%edi - shll $24,%edx - andl $255,%ebx - orl %esi,%edx - punpckldq %mm1,%mm0 - movzbl -128(%ebp,%edi,1),%esi - movzbl %al,%edi - shll $8,%esi - movzbl %ah,%eax - movzbl -128(%ebp,%ebx,1),%ebx - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - orl %ebx,%edx - shll $16,%esi - movzbl -128(%ebp,%eax,1),%eax - orl %esi,%edx - shll $24,%eax - orl %eax,%ecx - movl 20(%esp),%edi - movd %edx,%mm4 - movd %ecx,%mm5 - punpckldq %mm5,%mm4 - addl $16,%edi - cmpl 24(%esp),%edi - ja .L008out - movq %mm0,%mm3 - movq %mm4,%mm7 - pshufw $228,%mm0,%mm2 - pshufw $228,%mm4,%mm6 - movq %mm0,%mm1 - movq %mm4,%mm5 - pshufw $177,%mm0,%mm0 - pshufw $177,%mm4,%mm4 - pslld $8,%mm2 - pslld $8,%mm6 - psrld $8,%mm3 - psrld $8,%mm7 - pxor %mm2,%mm0 - pxor %mm6,%mm4 - pxor %mm3,%mm0 - pxor %mm7,%mm4 - pslld $16,%mm2 - pslld $16,%mm6 - psrld $16,%mm3 - psrld $16,%mm7 - pxor %mm2,%mm0 - pxor %mm6,%mm4 - pxor %mm3,%mm0 - pxor %mm7,%mm4 - movq 8(%esp),%mm3 - pxor %mm2,%mm2 - pxor %mm6,%mm6 - pcmpgtb %mm1,%mm2 - pcmpgtb %mm5,%mm6 - pand %mm3,%mm2 - pand %mm3,%mm6 - paddb %mm1,%mm1 - paddb %mm5,%mm5 - pxor %mm2,%mm1 - pxor %mm6,%mm5 - movq %mm1,%mm3 - movq %mm5,%mm7 - movq %mm1,%mm2 - movq %mm5,%mm6 - pxor %mm1,%mm0 - pxor %mm5,%mm4 - pslld $24,%mm3 - pslld $24,%mm7 - psrld $8,%mm2 - psrld $8,%mm6 - pxor %mm3,%mm0 - pxor %mm7,%mm4 - pxor %mm2,%mm0 - pxor %mm6,%mm4 - movq 8(%esp),%mm2 - pxor %mm3,%mm3 - pxor %mm7,%mm7 - pcmpgtb %mm1,%mm3 - pcmpgtb %mm5,%mm7 - pand %mm2,%mm3 - pand %mm2,%mm7 - paddb %mm1,%mm1 - paddb %mm5,%mm5 - pxor %mm3,%mm1 - pxor %mm7,%mm5 - pshufw $177,%mm1,%mm3 - pshufw $177,%mm5,%mm7 - pxor %mm1,%mm0 - pxor %mm5,%mm4 - pxor %mm3,%mm0 - pxor %mm7,%mm4 - pxor %mm3,%mm3 - pxor %mm7,%mm7 - pcmpgtb %mm1,%mm3 - pcmpgtb %mm5,%mm7 - pand %mm2,%mm3 - pand %mm2,%mm7 - paddb %mm1,%mm1 - paddb %mm5,%mm5 - pxor %mm3,%mm1 - pxor %mm7,%mm5 - pxor %mm1,%mm0 - pxor %mm5,%mm4 - movq %mm1,%mm3 - movq %mm5,%mm7 - pshufw $177,%mm1,%mm2 - pshufw $177,%mm5,%mm6 - pxor %mm2,%mm0 - pxor %mm6,%mm4 - pslld $8,%mm1 - pslld $8,%mm5 - psrld $8,%mm3 - psrld $8,%mm7 - movq (%edi),%mm2 - movq 8(%edi),%mm6 - pxor %mm1,%mm0 - pxor %mm5,%mm4 - pxor %mm3,%mm0 - pxor %mm7,%mm4 - movl -128(%ebp),%eax - pslld $16,%mm1 - pslld $16,%mm5 - movl -64(%ebp),%ebx - psrld $16,%mm3 - psrld $16,%mm7 - movl (%ebp),%ecx - pxor %mm1,%mm0 - pxor %mm5,%mm4 - movl 64(%ebp),%edx - pxor %mm3,%mm0 - pxor %mm7,%mm4 - pxor %mm2,%mm0 - pxor %mm6,%mm4 - jmp .L007loop -.align 16 -.L008out: - pxor (%edi),%mm0 - pxor 8(%edi),%mm4 - ret -.size _sse_AES_decrypt_compact,.-_sse_AES_decrypt_compact -.hidden _x86_AES_decrypt -.type _x86_AES_decrypt,@function -.align 16 -_x86_AES_decrypt: - movl %edi,20(%esp) - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - movl 240(%edi),%esi - leal -2(%esi,%esi,1),%esi - leal (%edi,%esi,8),%esi - movl %esi,24(%esp) -.align 16 -.L009loop: - movl %eax,%esi - andl $255,%esi - movl (%ebp,%esi,8),%esi - movzbl %dh,%edi - xorl 3(%ebp,%edi,8),%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - xorl 2(%ebp,%edi,8),%esi - movl %ebx,%edi - shrl $24,%edi - xorl 1(%ebp,%edi,8),%esi - movl %esi,4(%esp) - - movl %ebx,%esi - andl $255,%esi - movl (%ebp,%esi,8),%esi - movzbl %ah,%edi - xorl 3(%ebp,%edi,8),%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - xorl 2(%ebp,%edi,8),%esi - movl %ecx,%edi - shrl $24,%edi - xorl 1(%ebp,%edi,8),%esi - movl %esi,8(%esp) - - movl %ecx,%esi - andl $255,%esi - movl (%ebp,%esi,8),%esi - movzbl %bh,%edi - xorl 3(%ebp,%edi,8),%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edi - xorl 2(%ebp,%edi,8),%esi - movl %edx,%edi - shrl $24,%edi - xorl 1(%ebp,%edi,8),%esi - - movl 20(%esp),%edi - andl $255,%edx - movl (%ebp,%edx,8),%edx - movzbl %ch,%ecx - xorl 3(%ebp,%ecx,8),%edx - movl %esi,%ecx - shrl $16,%ebx - andl $255,%ebx - xorl 2(%ebp,%ebx,8),%edx - movl 8(%esp),%ebx - shrl $24,%eax - xorl 1(%ebp,%eax,8),%edx - movl 4(%esp),%eax - - addl $16,%edi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - cmpl 24(%esp),%edi - movl %edi,20(%esp) - jb .L009loop - leal 2176(%ebp),%ebp - movl -128(%ebp),%edi - movl -96(%ebp),%esi - movl -64(%ebp),%edi - movl -32(%ebp),%esi - movl (%ebp),%edi - movl 32(%ebp),%esi - movl 64(%ebp),%edi - movl 96(%ebp),%esi - leal -128(%ebp),%ebp - movl %eax,%esi - andl $255,%esi - movzbl (%ebp,%esi,1),%esi - movzbl %dh,%edi - movzbl (%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - movzbl (%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %ebx,%edi - shrl $24,%edi - movzbl (%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,4(%esp) - movl %ebx,%esi - andl $255,%esi - movzbl (%ebp,%esi,1),%esi - movzbl %ah,%edi - movzbl (%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - movzbl (%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $24,%edi - movzbl (%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,8(%esp) - movl %ecx,%esi - andl $255,%esi - movzbl (%ebp,%esi,1),%esi - movzbl %bh,%edi - movzbl (%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edi - movzbl (%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $24,%edi - movzbl (%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl 20(%esp),%edi - andl $255,%edx - movzbl (%ebp,%edx,1),%edx - movzbl %ch,%ecx - movzbl (%ebp,%ecx,1),%ecx - shll $8,%ecx - xorl %ecx,%edx - movl %esi,%ecx - shrl $16,%ebx - andl $255,%ebx - movzbl (%ebp,%ebx,1),%ebx - shll $16,%ebx - xorl %ebx,%edx - movl 8(%esp),%ebx - shrl $24,%eax - movzbl (%ebp,%eax,1),%eax - shll $24,%eax - xorl %eax,%edx - movl 4(%esp),%eax - leal -2048(%ebp),%ebp - addl $16,%edi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - ret -.align 64 -.LAES_Td: -.long 1353184337,1353184337 -.long 1399144830,1399144830 -.long 3282310938,3282310938 -.long 2522752826,2522752826 -.long 3412831035,3412831035 -.long 4047871263,4047871263 -.long 2874735276,2874735276 -.long 2466505547,2466505547 -.long 1442459680,1442459680 -.long 4134368941,4134368941 -.long 2440481928,2440481928 -.long 625738485,625738485 -.long 4242007375,4242007375 -.long 3620416197,3620416197 -.long 2151953702,2151953702 -.long 2409849525,2409849525 -.long 1230680542,1230680542 -.long 1729870373,1729870373 -.long 2551114309,2551114309 -.long 3787521629,3787521629 -.long 41234371,41234371 -.long 317738113,317738113 -.long 2744600205,2744600205 -.long 3338261355,3338261355 -.long 3881799427,3881799427 -.long 2510066197,2510066197 -.long 3950669247,3950669247 -.long 3663286933,3663286933 -.long 763608788,763608788 -.long 3542185048,3542185048 -.long 694804553,694804553 -.long 1154009486,1154009486 -.long 1787413109,1787413109 -.long 2021232372,2021232372 -.long 1799248025,1799248025 -.long 3715217703,3715217703 -.long 3058688446,3058688446 -.long 397248752,397248752 -.long 1722556617,1722556617 -.long 3023752829,3023752829 -.long 407560035,407560035 -.long 2184256229,2184256229 -.long 1613975959,1613975959 -.long 1165972322,1165972322 -.long 3765920945,3765920945 -.long 2226023355,2226023355 -.long 480281086,480281086 -.long 2485848313,2485848313 -.long 1483229296,1483229296 -.long 436028815,436028815 -.long 2272059028,2272059028 -.long 3086515026,3086515026 -.long 601060267,601060267 -.long 3791801202,3791801202 -.long 1468997603,1468997603 -.long 715871590,715871590 -.long 120122290,120122290 -.long 63092015,63092015 -.long 2591802758,2591802758 -.long 2768779219,2768779219 -.long 4068943920,4068943920 -.long 2997206819,2997206819 -.long 3127509762,3127509762 -.long 1552029421,1552029421 -.long 723308426,723308426 -.long 2461301159,2461301159 -.long 4042393587,4042393587 -.long 2715969870,2715969870 -.long 3455375973,3455375973 -.long 3586000134,3586000134 -.long 526529745,526529745 -.long 2331944644,2331944644 -.long 2639474228,2639474228 -.long 2689987490,2689987490 -.long 853641733,853641733 -.long 1978398372,1978398372 -.long 971801355,971801355 -.long 2867814464,2867814464 -.long 111112542,111112542 -.long 1360031421,1360031421 -.long 4186579262,4186579262 -.long 1023860118,1023860118 -.long 2919579357,2919579357 -.long 1186850381,1186850381 -.long 3045938321,3045938321 -.long 90031217,90031217 -.long 1876166148,1876166148 -.long 4279586912,4279586912 -.long 620468249,620468249 -.long 2548678102,2548678102 -.long 3426959497,3426959497 -.long 2006899047,2006899047 -.long 3175278768,3175278768 -.long 2290845959,2290845959 -.long 945494503,945494503 -.long 3689859193,3689859193 -.long 1191869601,1191869601 -.long 3910091388,3910091388 -.long 3374220536,3374220536 -.long 0,0 -.long 2206629897,2206629897 -.long 1223502642,1223502642 -.long 2893025566,2893025566 -.long 1316117100,1316117100 -.long 4227796733,4227796733 -.long 1446544655,1446544655 -.long 517320253,517320253 -.long 658058550,658058550 -.long 1691946762,1691946762 -.long 564550760,564550760 -.long 3511966619,3511966619 -.long 976107044,976107044 -.long 2976320012,2976320012 -.long 266819475,266819475 -.long 3533106868,3533106868 -.long 2660342555,2660342555 -.long 1338359936,1338359936 -.long 2720062561,2720062561 -.long 1766553434,1766553434 -.long 370807324,370807324 -.long 179999714,179999714 -.long 3844776128,3844776128 -.long 1138762300,1138762300 -.long 488053522,488053522 -.long 185403662,185403662 -.long 2915535858,2915535858 -.long 3114841645,3114841645 -.long 3366526484,3366526484 -.long 2233069911,2233069911 -.long 1275557295,1275557295 -.long 3151862254,3151862254 -.long 4250959779,4250959779 -.long 2670068215,2670068215 -.long 3170202204,3170202204 -.long 3309004356,3309004356 -.long 880737115,880737115 -.long 1982415755,1982415755 -.long 3703972811,3703972811 -.long 1761406390,1761406390 -.long 1676797112,1676797112 -.long 3403428311,3403428311 -.long 277177154,277177154 -.long 1076008723,1076008723 -.long 538035844,538035844 -.long 2099530373,2099530373 -.long 4164795346,4164795346 -.long 288553390,288553390 -.long 1839278535,1839278535 -.long 1261411869,1261411869 -.long 4080055004,4080055004 -.long 3964831245,3964831245 -.long 3504587127,3504587127 -.long 1813426987,1813426987 -.long 2579067049,2579067049 -.long 4199060497,4199060497 -.long 577038663,577038663 -.long 3297574056,3297574056 -.long 440397984,440397984 -.long 3626794326,3626794326 -.long 4019204898,4019204898 -.long 3343796615,3343796615 -.long 3251714265,3251714265 -.long 4272081548,4272081548 -.long 906744984,906744984 -.long 3481400742,3481400742 -.long 685669029,685669029 -.long 646887386,646887386 -.long 2764025151,2764025151 -.long 3835509292,3835509292 -.long 227702864,227702864 -.long 2613862250,2613862250 -.long 1648787028,1648787028 -.long 3256061430,3256061430 -.long 3904428176,3904428176 -.long 1593260334,1593260334 -.long 4121936770,4121936770 -.long 3196083615,3196083615 -.long 2090061929,2090061929 -.long 2838353263,2838353263 -.long 3004310991,3004310991 -.long 999926984,999926984 -.long 2809993232,2809993232 -.long 1852021992,1852021992 -.long 2075868123,2075868123 -.long 158869197,158869197 -.long 4095236462,4095236462 -.long 28809964,28809964 -.long 2828685187,2828685187 -.long 1701746150,1701746150 -.long 2129067946,2129067946 -.long 147831841,147831841 -.long 3873969647,3873969647 -.long 3650873274,3650873274 -.long 3459673930,3459673930 -.long 3557400554,3557400554 -.long 3598495785,3598495785 -.long 2947720241,2947720241 -.long 824393514,824393514 -.long 815048134,815048134 -.long 3227951669,3227951669 -.long 935087732,935087732 -.long 2798289660,2798289660 -.long 2966458592,2966458592 -.long 366520115,366520115 -.long 1251476721,1251476721 -.long 4158319681,4158319681 -.long 240176511,240176511 -.long 804688151,804688151 -.long 2379631990,2379631990 -.long 1303441219,1303441219 -.long 1414376140,1414376140 -.long 3741619940,3741619940 -.long 3820343710,3820343710 -.long 461924940,461924940 -.long 3089050817,3089050817 -.long 2136040774,2136040774 -.long 82468509,82468509 -.long 1563790337,1563790337 -.long 1937016826,1937016826 -.long 776014843,776014843 -.long 1511876531,1511876531 -.long 1389550482,1389550482 -.long 861278441,861278441 -.long 323475053,323475053 -.long 2355222426,2355222426 -.long 2047648055,2047648055 -.long 2383738969,2383738969 -.long 2302415851,2302415851 -.long 3995576782,3995576782 -.long 902390199,902390199 -.long 3991215329,3991215329 -.long 1018251130,1018251130 -.long 1507840668,1507840668 -.long 1064563285,1064563285 -.long 2043548696,2043548696 -.long 3208103795,3208103795 -.long 3939366739,3939366739 -.long 1537932639,1537932639 -.long 342834655,342834655 -.long 2262516856,2262516856 -.long 2180231114,2180231114 -.long 1053059257,1053059257 -.long 741614648,741614648 -.long 1598071746,1598071746 -.long 1925389590,1925389590 -.long 203809468,203809468 -.long 2336832552,2336832552 -.long 1100287487,1100287487 -.long 1895934009,1895934009 -.long 3736275976,3736275976 -.long 2632234200,2632234200 -.long 2428589668,2428589668 -.long 1636092795,1636092795 -.long 1890988757,1890988757 -.long 1952214088,1952214088 -.long 1113045200,1113045200 -.byte 82,9,106,213,48,54,165,56 -.byte 191,64,163,158,129,243,215,251 -.byte 124,227,57,130,155,47,255,135 -.byte 52,142,67,68,196,222,233,203 -.byte 84,123,148,50,166,194,35,61 -.byte 238,76,149,11,66,250,195,78 -.byte 8,46,161,102,40,217,36,178 -.byte 118,91,162,73,109,139,209,37 -.byte 114,248,246,100,134,104,152,22 -.byte 212,164,92,204,93,101,182,146 -.byte 108,112,72,80,253,237,185,218 -.byte 94,21,70,87,167,141,157,132 -.byte 144,216,171,0,140,188,211,10 -.byte 247,228,88,5,184,179,69,6 -.byte 208,44,30,143,202,63,15,2 -.byte 193,175,189,3,1,19,138,107 -.byte 58,145,17,65,79,103,220,234 -.byte 151,242,207,206,240,180,230,115 -.byte 150,172,116,34,231,173,53,133 -.byte 226,249,55,232,28,117,223,110 -.byte 71,241,26,113,29,41,197,137 -.byte 111,183,98,14,170,24,190,27 -.byte 252,86,62,75,198,210,121,32 -.byte 154,219,192,254,120,205,90,244 -.byte 31,221,168,51,136,7,199,49 -.byte 177,18,16,89,39,128,236,95 -.byte 96,81,127,169,25,181,74,13 -.byte 45,229,122,159,147,201,156,239 -.byte 160,224,59,77,174,42,245,176 -.byte 200,235,187,60,131,83,153,97 -.byte 23,43,4,126,186,119,214,38 -.byte 225,105,20,99,85,33,12,125 -.byte 82,9,106,213,48,54,165,56 -.byte 191,64,163,158,129,243,215,251 -.byte 124,227,57,130,155,47,255,135 -.byte 52,142,67,68,196,222,233,203 -.byte 84,123,148,50,166,194,35,61 -.byte 238,76,149,11,66,250,195,78 -.byte 8,46,161,102,40,217,36,178 -.byte 118,91,162,73,109,139,209,37 -.byte 114,248,246,100,134,104,152,22 -.byte 212,164,92,204,93,101,182,146 -.byte 108,112,72,80,253,237,185,218 -.byte 94,21,70,87,167,141,157,132 -.byte 144,216,171,0,140,188,211,10 -.byte 247,228,88,5,184,179,69,6 -.byte 208,44,30,143,202,63,15,2 -.byte 193,175,189,3,1,19,138,107 -.byte 58,145,17,65,79,103,220,234 -.byte 151,242,207,206,240,180,230,115 -.byte 150,172,116,34,231,173,53,133 -.byte 226,249,55,232,28,117,223,110 -.byte 71,241,26,113,29,41,197,137 -.byte 111,183,98,14,170,24,190,27 -.byte 252,86,62,75,198,210,121,32 -.byte 154,219,192,254,120,205,90,244 -.byte 31,221,168,51,136,7,199,49 -.byte 177,18,16,89,39,128,236,95 -.byte 96,81,127,169,25,181,74,13 -.byte 45,229,122,159,147,201,156,239 -.byte 160,224,59,77,174,42,245,176 -.byte 200,235,187,60,131,83,153,97 -.byte 23,43,4,126,186,119,214,38 -.byte 225,105,20,99,85,33,12,125 -.byte 82,9,106,213,48,54,165,56 -.byte 191,64,163,158,129,243,215,251 -.byte 124,227,57,130,155,47,255,135 -.byte 52,142,67,68,196,222,233,203 -.byte 84,123,148,50,166,194,35,61 -.byte 238,76,149,11,66,250,195,78 -.byte 8,46,161,102,40,217,36,178 -.byte 118,91,162,73,109,139,209,37 -.byte 114,248,246,100,134,104,152,22 -.byte 212,164,92,204,93,101,182,146 -.byte 108,112,72,80,253,237,185,218 -.byte 94,21,70,87,167,141,157,132 -.byte 144,216,171,0,140,188,211,10 -.byte 247,228,88,5,184,179,69,6 -.byte 208,44,30,143,202,63,15,2 -.byte 193,175,189,3,1,19,138,107 -.byte 58,145,17,65,79,103,220,234 -.byte 151,242,207,206,240,180,230,115 -.byte 150,172,116,34,231,173,53,133 -.byte 226,249,55,232,28,117,223,110 -.byte 71,241,26,113,29,41,197,137 -.byte 111,183,98,14,170,24,190,27 -.byte 252,86,62,75,198,210,121,32 -.byte 154,219,192,254,120,205,90,244 -.byte 31,221,168,51,136,7,199,49 -.byte 177,18,16,89,39,128,236,95 -.byte 96,81,127,169,25,181,74,13 -.byte 45,229,122,159,147,201,156,239 -.byte 160,224,59,77,174,42,245,176 -.byte 200,235,187,60,131,83,153,97 -.byte 23,43,4,126,186,119,214,38 -.byte 225,105,20,99,85,33,12,125 -.byte 82,9,106,213,48,54,165,56 -.byte 191,64,163,158,129,243,215,251 -.byte 124,227,57,130,155,47,255,135 -.byte 52,142,67,68,196,222,233,203 -.byte 84,123,148,50,166,194,35,61 -.byte 238,76,149,11,66,250,195,78 -.byte 8,46,161,102,40,217,36,178 -.byte 118,91,162,73,109,139,209,37 -.byte 114,248,246,100,134,104,152,22 -.byte 212,164,92,204,93,101,182,146 -.byte 108,112,72,80,253,237,185,218 -.byte 94,21,70,87,167,141,157,132 -.byte 144,216,171,0,140,188,211,10 -.byte 247,228,88,5,184,179,69,6 -.byte 208,44,30,143,202,63,15,2 -.byte 193,175,189,3,1,19,138,107 -.byte 58,145,17,65,79,103,220,234 -.byte 151,242,207,206,240,180,230,115 -.byte 150,172,116,34,231,173,53,133 -.byte 226,249,55,232,28,117,223,110 -.byte 71,241,26,113,29,41,197,137 -.byte 111,183,98,14,170,24,190,27 -.byte 252,86,62,75,198,210,121,32 -.byte 154,219,192,254,120,205,90,244 -.byte 31,221,168,51,136,7,199,49 -.byte 177,18,16,89,39,128,236,95 -.byte 96,81,127,169,25,181,74,13 -.byte 45,229,122,159,147,201,156,239 -.byte 160,224,59,77,174,42,245,176 -.byte 200,235,187,60,131,83,153,97 -.byte 23,43,4,126,186,119,214,38 -.byte 225,105,20,99,85,33,12,125 -.size _x86_AES_decrypt,.-_x86_AES_decrypt -.globl aes_nohw_decrypt -.hidden aes_nohw_decrypt -.type aes_nohw_decrypt,@function -.align 16 -aes_nohw_decrypt: -.L_aes_nohw_decrypt_begin: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - movl 20(%esp),%esi - movl 28(%esp),%edi - movl %esp,%eax - subl $36,%esp - andl $-64,%esp - leal -127(%edi),%ebx - subl %esp,%ebx - negl %ebx - andl $960,%ebx - subl %ebx,%esp - addl $4,%esp - movl %eax,28(%esp) - call .L010pic_point -.L010pic_point: - popl %ebp - leal OPENSSL_ia32cap_P-.L010pic_point(%ebp),%eax - leal .LAES_Td-.L010pic_point(%ebp),%ebp - leal 764(%esp),%ebx - subl %ebp,%ebx - andl $768,%ebx - leal 2176(%ebp,%ebx,1),%ebp - btl $25,(%eax) - jnc .L011x86 - movq (%esi),%mm0 - movq 8(%esi),%mm4 - call _sse_AES_decrypt_compact - movl 28(%esp),%esp - movl 24(%esp),%esi - movq %mm0,(%esi) - movq %mm4,8(%esi) - emms - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.align 16 -.L011x86: - movl %ebp,24(%esp) - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - call _x86_AES_decrypt_compact - movl 28(%esp),%esp - movl 24(%esp),%esi - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.size aes_nohw_decrypt,.-.L_aes_nohw_decrypt_begin -.globl aes_nohw_cbc_encrypt -.hidden aes_nohw_cbc_encrypt -.type aes_nohw_cbc_encrypt,@function -.align 16 -aes_nohw_cbc_encrypt: -.L_aes_nohw_cbc_encrypt_begin: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - movl 28(%esp),%ecx - cmpl $0,%ecx - je .L012drop_out - call .L013pic_point -.L013pic_point: - popl %ebp - leal OPENSSL_ia32cap_P-.L013pic_point(%ebp),%eax - cmpl $0,40(%esp) - leal .LAES_Te-.L013pic_point(%ebp),%ebp - jne .L014picked_te - leal .LAES_Td-.LAES_Te(%ebp),%ebp -.L014picked_te: - pushfl - cld - cmpl $512,%ecx - jb .L015slow_way - testl $15,%ecx - jnz .L015slow_way - btl $28,(%eax) - jc .L015slow_way - leal -324(%esp),%esi - andl $-64,%esi - movl %ebp,%eax - leal 2304(%ebp),%ebx - movl %esi,%edx - andl $4095,%eax - andl $4095,%ebx - andl $4095,%edx - cmpl %ebx,%edx - jb .L016tbl_break_out - subl %ebx,%edx - subl %edx,%esi - jmp .L017tbl_ok -.align 4 -.L016tbl_break_out: - subl %eax,%edx - andl $4095,%edx - addl $384,%edx - subl %edx,%esi -.align 4 -.L017tbl_ok: - leal 24(%esp),%edx - xchgl %esi,%esp - addl $4,%esp - movl %ebp,24(%esp) - movl %esi,28(%esp) - movl (%edx),%eax - movl 4(%edx),%ebx - movl 12(%edx),%edi - movl 16(%edx),%esi - movl 20(%edx),%edx - movl %eax,32(%esp) - movl %ebx,36(%esp) - movl %ecx,40(%esp) - movl %edi,44(%esp) - movl %esi,48(%esp) - movl $0,316(%esp) - movl %edi,%ebx - movl $61,%ecx - subl %ebp,%ebx - movl %edi,%esi - andl $4095,%ebx - leal 76(%esp),%edi - cmpl $2304,%ebx - jb .L018do_copy - cmpl $3852,%ebx - jb .L019skip_copy -.align 4 -.L018do_copy: - movl %edi,44(%esp) -.long 2784229001 -.L019skip_copy: - movl $16,%edi -.align 4 -.L020prefetch_tbl: - movl (%ebp),%eax - movl 32(%ebp),%ebx - movl 64(%ebp),%ecx - movl 96(%ebp),%esi - leal 128(%ebp),%ebp - subl $1,%edi - jnz .L020prefetch_tbl - subl $2048,%ebp - movl 32(%esp),%esi - movl 48(%esp),%edi - cmpl $0,%edx - je .L021fast_decrypt - movl (%edi),%eax - movl 4(%edi),%ebx -.align 16 -.L022fast_enc_loop: - movl 8(%edi),%ecx - movl 12(%edi),%edx - xorl (%esi),%eax - xorl 4(%esi),%ebx - xorl 8(%esi),%ecx - xorl 12(%esi),%edx - movl 44(%esp),%edi - call _x86_AES_encrypt - movl 32(%esp),%esi - movl 36(%esp),%edi - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - leal 16(%esi),%esi - movl 40(%esp),%ecx - movl %esi,32(%esp) - leal 16(%edi),%edx - movl %edx,36(%esp) - subl $16,%ecx - movl %ecx,40(%esp) - jnz .L022fast_enc_loop - movl 48(%esp),%esi - movl 8(%edi),%ecx - movl 12(%edi),%edx - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - cmpl $0,316(%esp) - movl 44(%esp),%edi - je .L023skip_ezero - movl $60,%ecx - xorl %eax,%eax -.align 4 -.long 2884892297 -.L023skip_ezero: - movl 28(%esp),%esp - popfl -.L012drop_out: - popl %edi - popl %esi - popl %ebx - popl %ebp - ret - pushfl -.align 16 -.L021fast_decrypt: - cmpl 36(%esp),%esi - je .L024fast_dec_in_place - movl %edi,52(%esp) -.align 4 -.align 16 -.L025fast_dec_loop: - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - movl 44(%esp),%edi - call _x86_AES_decrypt - movl 52(%esp),%edi - movl 40(%esp),%esi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - movl 36(%esp),%edi - movl 32(%esp),%esi - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 40(%esp),%ecx - movl %esi,52(%esp) - leal 16(%esi),%esi - movl %esi,32(%esp) - leal 16(%edi),%edi - movl %edi,36(%esp) - subl $16,%ecx - movl %ecx,40(%esp) - jnz .L025fast_dec_loop - movl 52(%esp),%edi - movl 48(%esp),%esi - movl (%edi),%eax - movl 4(%edi),%ebx - movl 8(%edi),%ecx - movl 12(%edi),%edx - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - jmp .L026fast_dec_out -.align 16 -.L024fast_dec_in_place: -.L027fast_dec_in_place_loop: - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - leal 60(%esp),%edi - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 44(%esp),%edi - call _x86_AES_decrypt - movl 48(%esp),%edi - movl 36(%esp),%esi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - leal 16(%esi),%esi - movl %esi,36(%esp) - leal 60(%esp),%esi - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 32(%esp),%esi - movl 40(%esp),%ecx - leal 16(%esi),%esi - movl %esi,32(%esp) - subl $16,%ecx - movl %ecx,40(%esp) - jnz .L027fast_dec_in_place_loop -.align 4 -.L026fast_dec_out: - cmpl $0,316(%esp) - movl 44(%esp),%edi - je .L028skip_dzero - movl $60,%ecx - xorl %eax,%eax -.align 4 -.long 2884892297 -.L028skip_dzero: - movl 28(%esp),%esp - popfl - popl %edi - popl %esi - popl %ebx - popl %ebp - ret - pushfl -.align 16 -.L015slow_way: - movl (%eax),%eax - movl 36(%esp),%edi - leal -80(%esp),%esi - andl $-64,%esi - leal -143(%edi),%ebx - subl %esi,%ebx - negl %ebx - andl $960,%ebx - subl %ebx,%esi - leal 768(%esi),%ebx - subl %ebp,%ebx - andl $768,%ebx - leal 2176(%ebp,%ebx,1),%ebp - leal 24(%esp),%edx - xchgl %esi,%esp - addl $4,%esp - movl %ebp,24(%esp) - movl %esi,28(%esp) - movl %eax,52(%esp) - movl (%edx),%eax - movl 4(%edx),%ebx - movl 16(%edx),%esi - movl 20(%edx),%edx - movl %eax,32(%esp) - movl %ebx,36(%esp) - movl %ecx,40(%esp) - movl %edi,44(%esp) - movl %esi,48(%esp) - movl %esi,%edi - movl %eax,%esi - cmpl $0,%edx - je .L029slow_decrypt - cmpl $16,%ecx - movl %ebx,%edx - jb .L030slow_enc_tail - btl $25,52(%esp) - jnc .L031slow_enc_x86 - movq (%edi),%mm0 - movq 8(%edi),%mm4 -.align 16 -.L032slow_enc_loop_sse: - pxor (%esi),%mm0 - pxor 8(%esi),%mm4 - movl 44(%esp),%edi - call _sse_AES_encrypt_compact - movl 32(%esp),%esi - movl 36(%esp),%edi - movl 40(%esp),%ecx - movq %mm0,(%edi) - movq %mm4,8(%edi) - leal 16(%esi),%esi - movl %esi,32(%esp) - leal 16(%edi),%edx - movl %edx,36(%esp) - subl $16,%ecx - cmpl $16,%ecx - movl %ecx,40(%esp) - jae .L032slow_enc_loop_sse - testl $15,%ecx - jnz .L030slow_enc_tail - movl 48(%esp),%esi - movq %mm0,(%esi) - movq %mm4,8(%esi) - emms - movl 28(%esp),%esp - popfl - popl %edi - popl %esi - popl %ebx - popl %ebp - ret - pushfl -.align 16 -.L031slow_enc_x86: - movl (%edi),%eax - movl 4(%edi),%ebx -.align 4 -.L033slow_enc_loop_x86: - movl 8(%edi),%ecx - movl 12(%edi),%edx - xorl (%esi),%eax - xorl 4(%esi),%ebx - xorl 8(%esi),%ecx - xorl 12(%esi),%edx - movl 44(%esp),%edi - call _x86_AES_encrypt_compact - movl 32(%esp),%esi - movl 36(%esp),%edi - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 40(%esp),%ecx - leal 16(%esi),%esi - movl %esi,32(%esp) - leal 16(%edi),%edx - movl %edx,36(%esp) - subl $16,%ecx - cmpl $16,%ecx - movl %ecx,40(%esp) - jae .L033slow_enc_loop_x86 - testl $15,%ecx - jnz .L030slow_enc_tail - movl 48(%esp),%esi - movl 8(%edi),%ecx - movl 12(%edi),%edx - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - movl 28(%esp),%esp - popfl - popl %edi - popl %esi - popl %ebx - popl %ebp - ret - pushfl -.align 16 -.L030slow_enc_tail: - emms - movl %edx,%edi - movl $16,%ebx - subl %ecx,%ebx - cmpl %esi,%edi - je .L034enc_in_place -.align 4 -.long 2767451785 - jmp .L035enc_skip_in_place -.L034enc_in_place: - leal (%edi,%ecx,1),%edi -.L035enc_skip_in_place: - movl %ebx,%ecx - xorl %eax,%eax -.align 4 -.long 2868115081 - movl 48(%esp),%edi - movl %edx,%esi - movl (%edi),%eax - movl 4(%edi),%ebx - movl $16,40(%esp) - jmp .L033slow_enc_loop_x86 -.align 16 -.L029slow_decrypt: - btl $25,52(%esp) - jnc .L036slow_dec_loop_x86 -.align 4 -.L037slow_dec_loop_sse: - movq (%esi),%mm0 - movq 8(%esi),%mm4 - movl 44(%esp),%edi - call _sse_AES_decrypt_compact - movl 32(%esp),%esi - leal 60(%esp),%eax - movl 36(%esp),%ebx - movl 40(%esp),%ecx - movl 48(%esp),%edi - movq (%esi),%mm1 - movq 8(%esi),%mm5 - pxor (%edi),%mm0 - pxor 8(%edi),%mm4 - movq %mm1,(%edi) - movq %mm5,8(%edi) - subl $16,%ecx - jc .L038slow_dec_partial_sse - movq %mm0,(%ebx) - movq %mm4,8(%ebx) - leal 16(%ebx),%ebx - movl %ebx,36(%esp) - leal 16(%esi),%esi - movl %esi,32(%esp) - movl %ecx,40(%esp) - jnz .L037slow_dec_loop_sse - emms - movl 28(%esp),%esp - popfl - popl %edi - popl %esi - popl %ebx - popl %ebp - ret - pushfl -.align 16 -.L038slow_dec_partial_sse: - movq %mm0,(%eax) - movq %mm4,8(%eax) - emms - addl $16,%ecx - movl %ebx,%edi - movl %eax,%esi -.align 4 -.long 2767451785 - movl 28(%esp),%esp - popfl - popl %edi - popl %esi - popl %ebx - popl %ebp - ret - pushfl -.align 16 -.L036slow_dec_loop_x86: - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - leal 60(%esp),%edi - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 44(%esp),%edi - call _x86_AES_decrypt_compact - movl 48(%esp),%edi - movl 40(%esp),%esi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - subl $16,%esi - jc .L039slow_dec_partial_x86 - movl %esi,40(%esp) - movl 36(%esp),%esi - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - leal 16(%esi),%esi - movl %esi,36(%esp) - leal 60(%esp),%esi - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 32(%esp),%esi - leal 16(%esi),%esi - movl %esi,32(%esp) - jnz .L036slow_dec_loop_x86 - movl 28(%esp),%esp - popfl - popl %edi - popl %esi - popl %ebx - popl %ebp - ret - pushfl -.align 16 -.L039slow_dec_partial_x86: - leal 60(%esp),%esi - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - movl 32(%esp),%esi - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 40(%esp),%ecx - movl 36(%esp),%edi - leal 60(%esp),%esi -.align 4 -.long 2767451785 - movl 28(%esp),%esp - popfl - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.size aes_nohw_cbc_encrypt,.-.L_aes_nohw_cbc_encrypt_begin -.hidden _x86_AES_set_encrypt_key -.type _x86_AES_set_encrypt_key,@function -.align 16 -_x86_AES_set_encrypt_key: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - movl 24(%esp),%esi - movl 32(%esp),%edi - testl $-1,%esi - jz .L040badpointer - testl $-1,%edi - jz .L040badpointer - call .L041pic_point -.L041pic_point: - popl %ebp - leal .LAES_Te-.L041pic_point(%ebp),%ebp - leal 2176(%ebp),%ebp - movl -128(%ebp),%eax - movl -96(%ebp),%ebx - movl -64(%ebp),%ecx - movl -32(%ebp),%edx - movl (%ebp),%eax - movl 32(%ebp),%ebx - movl 64(%ebp),%ecx - movl 96(%ebp),%edx - movl 28(%esp),%ecx - cmpl $128,%ecx - je .L04210rounds - cmpl $192,%ecx - je .L04312rounds - cmpl $256,%ecx - je .L04414rounds - movl $-2,%eax - jmp .L045exit -.L04210rounds: - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - xorl %ecx,%ecx - jmp .L04610shortcut -.align 4 -.L04710loop: - movl (%edi),%eax - movl 12(%edi),%edx -.L04610shortcut: - movzbl %dl,%esi - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - shll $24,%ebx - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shrl $16,%edx - movzbl %dl,%esi - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - shll $8,%ebx - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shll $16,%ebx - xorl %ebx,%eax - xorl 896(%ebp,%ecx,4),%eax - movl %eax,16(%edi) - xorl 4(%edi),%eax - movl %eax,20(%edi) - xorl 8(%edi),%eax - movl %eax,24(%edi) - xorl 12(%edi),%eax - movl %eax,28(%edi) - incl %ecx - addl $16,%edi - cmpl $10,%ecx - jl .L04710loop - movl $10,80(%edi) - xorl %eax,%eax - jmp .L045exit -.L04312rounds: - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 16(%esi),%ecx - movl 20(%esi),%edx - movl %ecx,16(%edi) - movl %edx,20(%edi) - xorl %ecx,%ecx - jmp .L04812shortcut -.align 4 -.L04912loop: - movl (%edi),%eax - movl 20(%edi),%edx -.L04812shortcut: - movzbl %dl,%esi - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - shll $24,%ebx - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shrl $16,%edx - movzbl %dl,%esi - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - shll $8,%ebx - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shll $16,%ebx - xorl %ebx,%eax - xorl 896(%ebp,%ecx,4),%eax - movl %eax,24(%edi) - xorl 4(%edi),%eax - movl %eax,28(%edi) - xorl 8(%edi),%eax - movl %eax,32(%edi) - xorl 12(%edi),%eax - movl %eax,36(%edi) - cmpl $7,%ecx - je .L05012break - incl %ecx - xorl 16(%edi),%eax - movl %eax,40(%edi) - xorl 20(%edi),%eax - movl %eax,44(%edi) - addl $24,%edi - jmp .L04912loop -.L05012break: - movl $12,72(%edi) - xorl %eax,%eax - jmp .L045exit -.L04414rounds: - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 16(%esi),%eax - movl 20(%esi),%ebx - movl 24(%esi),%ecx - movl 28(%esi),%edx - movl %eax,16(%edi) - movl %ebx,20(%edi) - movl %ecx,24(%edi) - movl %edx,28(%edi) - xorl %ecx,%ecx - jmp .L05114shortcut -.align 4 -.L05214loop: - movl 28(%edi),%edx -.L05114shortcut: - movl (%edi),%eax - movzbl %dl,%esi - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - shll $24,%ebx - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shrl $16,%edx - movzbl %dl,%esi - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - shll $8,%ebx - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shll $16,%ebx - xorl %ebx,%eax - xorl 896(%ebp,%ecx,4),%eax - movl %eax,32(%edi) - xorl 4(%edi),%eax - movl %eax,36(%edi) - xorl 8(%edi),%eax - movl %eax,40(%edi) - xorl 12(%edi),%eax - movl %eax,44(%edi) - cmpl $6,%ecx - je .L05314break - incl %ecx - movl %eax,%edx - movl 16(%edi),%eax - movzbl %dl,%esi - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shrl $16,%edx - shll $8,%ebx - movzbl %dl,%esi - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - shll $16,%ebx - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shll $24,%ebx - xorl %ebx,%eax - movl %eax,48(%edi) - xorl 20(%edi),%eax - movl %eax,52(%edi) - xorl 24(%edi),%eax - movl %eax,56(%edi) - xorl 28(%edi),%eax - movl %eax,60(%edi) - addl $32,%edi - jmp .L05214loop -.L05314break: - movl $14,48(%edi) - xorl %eax,%eax - jmp .L045exit -.L040badpointer: - movl $-1,%eax -.L045exit: - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.size _x86_AES_set_encrypt_key,.-_x86_AES_set_encrypt_key -.globl aes_nohw_set_encrypt_key -.hidden aes_nohw_set_encrypt_key -.type aes_nohw_set_encrypt_key,@function -.align 16 -aes_nohw_set_encrypt_key: -.L_aes_nohw_set_encrypt_key_begin: - call _x86_AES_set_encrypt_key - ret -.size aes_nohw_set_encrypt_key,.-.L_aes_nohw_set_encrypt_key_begin -.globl aes_nohw_set_decrypt_key -.hidden aes_nohw_set_decrypt_key -.type aes_nohw_set_decrypt_key,@function -.align 16 -aes_nohw_set_decrypt_key: -.L_aes_nohw_set_decrypt_key_begin: - call _x86_AES_set_encrypt_key - cmpl $0,%eax - je .L054proceed - ret -.L054proceed: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - movl 28(%esp),%esi - movl 240(%esi),%ecx - leal (,%ecx,4),%ecx - leal (%esi,%ecx,4),%edi -.align 4 -.L055invert: - movl (%esi),%eax - movl 4(%esi),%ebx - movl (%edi),%ecx - movl 4(%edi),%edx - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,(%esi) - movl %edx,4(%esi) - movl 8(%esi),%eax - movl 12(%esi),%ebx - movl 8(%edi),%ecx - movl 12(%edi),%edx - movl %eax,8(%edi) - movl %ebx,12(%edi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - addl $16,%esi - subl $16,%edi - cmpl %edi,%esi - jne .L055invert - movl 28(%esp),%edi - movl 240(%edi),%esi - leal -2(%esi,%esi,1),%esi - leal (%edi,%esi,8),%esi - movl %esi,28(%esp) - movl 16(%edi),%eax -.align 4 -.L056permute: - addl $16,%edi - movl $2155905152,%ebp - andl %eax,%ebp - leal (%eax,%eax,1),%ebx - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%ebx - andl $454761243,%esi - xorl %esi,%ebx - movl $2155905152,%ebp - andl %ebx,%ebp - leal (%ebx,%ebx,1),%ecx - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%ecx - andl $454761243,%esi - xorl %eax,%ebx - xorl %esi,%ecx - movl $2155905152,%ebp - andl %ecx,%ebp - leal (%ecx,%ecx,1),%edx - movl %ebp,%esi - shrl $7,%ebp - xorl %eax,%ecx - subl %ebp,%esi - andl $4278124286,%edx - andl $454761243,%esi - roll $8,%eax - xorl %esi,%edx - movl 4(%edi),%ebp - xorl %ebx,%eax - xorl %edx,%ebx - xorl %ecx,%eax - roll $24,%ebx - xorl %edx,%ecx - xorl %edx,%eax - roll $16,%ecx - xorl %ebx,%eax - roll $8,%edx - xorl %ecx,%eax - movl %ebp,%ebx - xorl %edx,%eax - movl %eax,(%edi) - movl $2155905152,%ebp - andl %ebx,%ebp - leal (%ebx,%ebx,1),%ecx - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%ecx - andl $454761243,%esi - xorl %esi,%ecx - movl $2155905152,%ebp - andl %ecx,%ebp - leal (%ecx,%ecx,1),%edx - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%edx - andl $454761243,%esi - xorl %ebx,%ecx - xorl %esi,%edx - movl $2155905152,%ebp - andl %edx,%ebp - leal (%edx,%edx,1),%eax - movl %ebp,%esi - shrl $7,%ebp - xorl %ebx,%edx - subl %ebp,%esi - andl $4278124286,%eax - andl $454761243,%esi - roll $8,%ebx - xorl %esi,%eax - movl 8(%edi),%ebp - xorl %ecx,%ebx - xorl %eax,%ecx - xorl %edx,%ebx - roll $24,%ecx - xorl %eax,%edx - xorl %eax,%ebx - roll $16,%edx - xorl %ecx,%ebx - roll $8,%eax - xorl %edx,%ebx - movl %ebp,%ecx - xorl %eax,%ebx - movl %ebx,4(%edi) - movl $2155905152,%ebp - andl %ecx,%ebp - leal (%ecx,%ecx,1),%edx - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%edx - andl $454761243,%esi - xorl %esi,%edx - movl $2155905152,%ebp - andl %edx,%ebp - leal (%edx,%edx,1),%eax - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%eax - andl $454761243,%esi - xorl %ecx,%edx - xorl %esi,%eax - movl $2155905152,%ebp - andl %eax,%ebp - leal (%eax,%eax,1),%ebx - movl %ebp,%esi - shrl $7,%ebp - xorl %ecx,%eax - subl %ebp,%esi - andl $4278124286,%ebx - andl $454761243,%esi - roll $8,%ecx - xorl %esi,%ebx - movl 12(%edi),%ebp - xorl %edx,%ecx - xorl %ebx,%edx - xorl %eax,%ecx - roll $24,%edx - xorl %ebx,%eax - xorl %ebx,%ecx - roll $16,%eax - xorl %edx,%ecx - roll $8,%ebx - xorl %eax,%ecx - movl %ebp,%edx - xorl %ebx,%ecx - movl %ecx,8(%edi) - movl $2155905152,%ebp - andl %edx,%ebp - leal (%edx,%edx,1),%eax - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%eax - andl $454761243,%esi - xorl %esi,%eax - movl $2155905152,%ebp - andl %eax,%ebp - leal (%eax,%eax,1),%ebx - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%ebx - andl $454761243,%esi - xorl %edx,%eax - xorl %esi,%ebx - movl $2155905152,%ebp - andl %ebx,%ebp - leal (%ebx,%ebx,1),%ecx - movl %ebp,%esi - shrl $7,%ebp - xorl %edx,%ebx - subl %ebp,%esi - andl $4278124286,%ecx - andl $454761243,%esi - roll $8,%edx - xorl %esi,%ecx - movl 16(%edi),%ebp - xorl %eax,%edx - xorl %ecx,%eax - xorl %ebx,%edx - roll $24,%eax - xorl %ecx,%ebx - xorl %ecx,%edx - roll $16,%ebx - xorl %eax,%edx - roll $8,%ecx - xorl %ebx,%edx - movl %ebp,%eax - xorl %ecx,%edx - movl %edx,12(%edi) - cmpl 28(%esp),%edi - jb .L056permute - xorl %eax,%eax - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.size aes_nohw_set_decrypt_key,.-.L_aes_nohw_set_decrypt_key_begin -.byte 65,69,83,32,102,111,114,32,120,56,54,44,32,67,82,89 -.byte 80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114 -.byte 111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 -#endif diff --git a/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/aesni-x86.S b/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/aesni-x86.S index bd0f2715a52..a418869701d 100644 --- a/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/aesni-x86.S +++ b/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/aesni-x86.S @@ -6,7 +6,7 @@ #include #endif .text -#ifndef NDEBUG +#ifdef BORINGSSL_DISPATCH_TEST #endif .globl aes_hw_encrypt .hidden aes_hw_encrypt @@ -14,7 +14,7 @@ .align 16 aes_hw_encrypt: .L_aes_hw_encrypt_begin: -#ifndef NDEBUG +#ifdef BORINGSSL_DISPATCH_TEST pushl %ebx pushl %edx call .L000pic @@ -845,7 +845,7 @@ aes_hw_ctr32_encrypt_blocks: pushl %ebx pushl %esi pushl %edi -#ifndef NDEBUG +#ifdef BORINGSSL_DISPATCH_TEST pushl %ebx pushl %edx call .L038pic @@ -2440,7 +2440,7 @@ _aesni_set_encrypt_key: .align 16 aes_hw_set_encrypt_key: .L_aes_hw_set_encrypt_key_begin: -#ifndef NDEBUG +#ifdef BORINGSSL_DISPATCH_TEST pushl %ebx pushl %edx call .L116pic @@ -2510,3 +2510,4 @@ aes_hw_set_decrypt_key: .byte 32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115 .byte 115,108,46,111,114,103,62,0 #endif +.section .note.GNU-stack,"",@progbits diff --git a/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/bn-586.S b/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/bn-586.S index 64e36cece60..a765ad800f1 100644 --- a/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/bn-586.S +++ b/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/bn-586.S @@ -993,551 +993,5 @@ bn_sub_words: popl %ebp ret .size bn_sub_words,.-.L_bn_sub_words_begin -.globl bn_sub_part_words -.hidden bn_sub_part_words -.type bn_sub_part_words,@function -.align 16 -bn_sub_part_words: -.L_bn_sub_part_words_begin: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - - movl 20(%esp),%ebx - movl 24(%esp),%esi - movl 28(%esp),%edi - movl 32(%esp),%ebp - xorl %eax,%eax - andl $4294967288,%ebp - jz .L029aw_finish -.L030aw_loop: - - movl (%esi),%ecx - movl (%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,(%ebx) - - movl 4(%esi),%ecx - movl 4(%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,4(%ebx) - - movl 8(%esi),%ecx - movl 8(%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,8(%ebx) - - movl 12(%esi),%ecx - movl 12(%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,12(%ebx) - - movl 16(%esi),%ecx - movl 16(%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,16(%ebx) - - movl 20(%esi),%ecx - movl 20(%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,20(%ebx) - - movl 24(%esi),%ecx - movl 24(%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,24(%ebx) - - movl 28(%esi),%ecx - movl 28(%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,28(%ebx) - - addl $32,%esi - addl $32,%edi - addl $32,%ebx - subl $8,%ebp - jnz .L030aw_loop -.L029aw_finish: - movl 32(%esp),%ebp - andl $7,%ebp - jz .L031aw_end - - movl (%esi),%ecx - movl (%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,(%ebx) - addl $4,%esi - addl $4,%edi - addl $4,%ebx - decl %ebp - jz .L031aw_end - - movl (%esi),%ecx - movl (%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,(%ebx) - addl $4,%esi - addl $4,%edi - addl $4,%ebx - decl %ebp - jz .L031aw_end - - movl (%esi),%ecx - movl (%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,(%ebx) - addl $4,%esi - addl $4,%edi - addl $4,%ebx - decl %ebp - jz .L031aw_end - - movl (%esi),%ecx - movl (%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,(%ebx) - addl $4,%esi - addl $4,%edi - addl $4,%ebx - decl %ebp - jz .L031aw_end - - movl (%esi),%ecx - movl (%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,(%ebx) - addl $4,%esi - addl $4,%edi - addl $4,%ebx - decl %ebp - jz .L031aw_end - - movl (%esi),%ecx - movl (%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,(%ebx) - addl $4,%esi - addl $4,%edi - addl $4,%ebx - decl %ebp - jz .L031aw_end - - movl (%esi),%ecx - movl (%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,(%ebx) - addl $4,%esi - addl $4,%edi - addl $4,%ebx -.L031aw_end: - cmpl $0,36(%esp) - je .L032pw_end - movl 36(%esp),%ebp - cmpl $0,%ebp - je .L032pw_end - jge .L033pw_pos - - movl $0,%edx - subl %ebp,%edx - movl %edx,%ebp - andl $4294967288,%ebp - jz .L034pw_neg_finish -.L035pw_neg_loop: - - movl $0,%ecx - movl (%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,(%ebx) - - movl $0,%ecx - movl 4(%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,4(%ebx) - - movl $0,%ecx - movl 8(%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,8(%ebx) - - movl $0,%ecx - movl 12(%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,12(%ebx) - - movl $0,%ecx - movl 16(%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,16(%ebx) - - movl $0,%ecx - movl 20(%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,20(%ebx) - - movl $0,%ecx - movl 24(%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,24(%ebx) - - movl $0,%ecx - movl 28(%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,28(%ebx) - - addl $32,%edi - addl $32,%ebx - subl $8,%ebp - jnz .L035pw_neg_loop -.L034pw_neg_finish: - movl 36(%esp),%edx - movl $0,%ebp - subl %edx,%ebp - andl $7,%ebp - jz .L032pw_end - - movl $0,%ecx - movl (%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - decl %ebp - movl %ecx,(%ebx) - jz .L032pw_end - - movl $0,%ecx - movl 4(%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - decl %ebp - movl %ecx,4(%ebx) - jz .L032pw_end - - movl $0,%ecx - movl 8(%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - decl %ebp - movl %ecx,8(%ebx) - jz .L032pw_end - - movl $0,%ecx - movl 12(%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - decl %ebp - movl %ecx,12(%ebx) - jz .L032pw_end - - movl $0,%ecx - movl 16(%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - decl %ebp - movl %ecx,16(%ebx) - jz .L032pw_end - - movl $0,%ecx - movl 20(%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - decl %ebp - movl %ecx,20(%ebx) - jz .L032pw_end - - movl $0,%ecx - movl 24(%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,24(%ebx) - jmp .L032pw_end -.L033pw_pos: - andl $4294967288,%ebp - jz .L036pw_pos_finish -.L037pw_pos_loop: - - movl (%esi),%ecx - subl %eax,%ecx - movl %ecx,(%ebx) - jnc .L038pw_nc0 - - movl 4(%esi),%ecx - subl %eax,%ecx - movl %ecx,4(%ebx) - jnc .L039pw_nc1 - - movl 8(%esi),%ecx - subl %eax,%ecx - movl %ecx,8(%ebx) - jnc .L040pw_nc2 - - movl 12(%esi),%ecx - subl %eax,%ecx - movl %ecx,12(%ebx) - jnc .L041pw_nc3 - - movl 16(%esi),%ecx - subl %eax,%ecx - movl %ecx,16(%ebx) - jnc .L042pw_nc4 - - movl 20(%esi),%ecx - subl %eax,%ecx - movl %ecx,20(%ebx) - jnc .L043pw_nc5 - - movl 24(%esi),%ecx - subl %eax,%ecx - movl %ecx,24(%ebx) - jnc .L044pw_nc6 - - movl 28(%esi),%ecx - subl %eax,%ecx - movl %ecx,28(%ebx) - jnc .L045pw_nc7 - - addl $32,%esi - addl $32,%ebx - subl $8,%ebp - jnz .L037pw_pos_loop -.L036pw_pos_finish: - movl 36(%esp),%ebp - andl $7,%ebp - jz .L032pw_end - - movl (%esi),%ecx - subl %eax,%ecx - movl %ecx,(%ebx) - jnc .L046pw_tail_nc0 - decl %ebp - jz .L032pw_end - - movl 4(%esi),%ecx - subl %eax,%ecx - movl %ecx,4(%ebx) - jnc .L047pw_tail_nc1 - decl %ebp - jz .L032pw_end - - movl 8(%esi),%ecx - subl %eax,%ecx - movl %ecx,8(%ebx) - jnc .L048pw_tail_nc2 - decl %ebp - jz .L032pw_end - - movl 12(%esi),%ecx - subl %eax,%ecx - movl %ecx,12(%ebx) - jnc .L049pw_tail_nc3 - decl %ebp - jz .L032pw_end - - movl 16(%esi),%ecx - subl %eax,%ecx - movl %ecx,16(%ebx) - jnc .L050pw_tail_nc4 - decl %ebp - jz .L032pw_end - - movl 20(%esi),%ecx - subl %eax,%ecx - movl %ecx,20(%ebx) - jnc .L051pw_tail_nc5 - decl %ebp - jz .L032pw_end - - movl 24(%esi),%ecx - subl %eax,%ecx - movl %ecx,24(%ebx) - jnc .L052pw_tail_nc6 - movl $1,%eax - jmp .L032pw_end -.L053pw_nc_loop: - movl (%esi),%ecx - movl %ecx,(%ebx) -.L038pw_nc0: - movl 4(%esi),%ecx - movl %ecx,4(%ebx) -.L039pw_nc1: - movl 8(%esi),%ecx - movl %ecx,8(%ebx) -.L040pw_nc2: - movl 12(%esi),%ecx - movl %ecx,12(%ebx) -.L041pw_nc3: - movl 16(%esi),%ecx - movl %ecx,16(%ebx) -.L042pw_nc4: - movl 20(%esi),%ecx - movl %ecx,20(%ebx) -.L043pw_nc5: - movl 24(%esi),%ecx - movl %ecx,24(%ebx) -.L044pw_nc6: - movl 28(%esi),%ecx - movl %ecx,28(%ebx) -.L045pw_nc7: - - addl $32,%esi - addl $32,%ebx - subl $8,%ebp - jnz .L053pw_nc_loop - movl 36(%esp),%ebp - andl $7,%ebp - jz .L054pw_nc_end - movl (%esi),%ecx - movl %ecx,(%ebx) -.L046pw_tail_nc0: - decl %ebp - jz .L054pw_nc_end - movl 4(%esi),%ecx - movl %ecx,4(%ebx) -.L047pw_tail_nc1: - decl %ebp - jz .L054pw_nc_end - movl 8(%esi),%ecx - movl %ecx,8(%ebx) -.L048pw_tail_nc2: - decl %ebp - jz .L054pw_nc_end - movl 12(%esi),%ecx - movl %ecx,12(%ebx) -.L049pw_tail_nc3: - decl %ebp - jz .L054pw_nc_end - movl 16(%esi),%ecx - movl %ecx,16(%ebx) -.L050pw_tail_nc4: - decl %ebp - jz .L054pw_nc_end - movl 20(%esi),%ecx - movl %ecx,20(%ebx) -.L051pw_tail_nc5: - decl %ebp - jz .L054pw_nc_end - movl 24(%esi),%ecx - movl %ecx,24(%ebx) -.L052pw_tail_nc6: -.L054pw_nc_end: - movl $0,%eax -.L032pw_end: - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.size bn_sub_part_words,.-.L_bn_sub_part_words_begin #endif +.section .note.GNU-stack,"",@progbits diff --git a/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/co-586.S b/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/co-586.S index b617d81a2c4..837b0cb5c71 100644 --- a/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/co-586.S +++ b/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/co-586.S @@ -1263,3 +1263,4 @@ bn_sqr_comba4: ret .size bn_sqr_comba4,.-.L_bn_sqr_comba4_begin #endif +.section .note.GNU-stack,"",@progbits diff --git a/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/ghash-ssse3-x86.S b/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/ghash-ssse3-x86.S index 7aa0ea5211f..3e5f2d7e547 100644 --- a/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/ghash-ssse3-x86.S +++ b/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/ghash-ssse3-x86.S @@ -291,3 +291,4 @@ gcm_ghash_ssse3: .Llow4_mask: .long 252645135,252645135,252645135,252645135 #endif +.section .note.GNU-stack,"",@progbits diff --git a/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/ghash-x86.S b/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/ghash-x86.S index e1830784b0a..b9e7428d7e5 100644 --- a/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/ghash-x86.S +++ b/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/ghash-x86.S @@ -6,711 +6,6 @@ #include #endif .text -.globl gcm_gmult_4bit_mmx -.hidden gcm_gmult_4bit_mmx -.type gcm_gmult_4bit_mmx,@function -.align 16 -gcm_gmult_4bit_mmx: -.L_gcm_gmult_4bit_mmx_begin: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - movl 20(%esp),%edi - movl 24(%esp),%esi - call .L000pic_point -.L000pic_point: - popl %eax - leal .Lrem_4bit-.L000pic_point(%eax),%eax - movzbl 15(%edi),%ebx - xorl %ecx,%ecx - movl %ebx,%edx - movb %dl,%cl - movl $14,%ebp - shlb $4,%cl - andl $240,%edx - movq 8(%esi,%ecx,1),%mm0 - movq (%esi,%ecx,1),%mm1 - movd %mm0,%ebx - jmp .L001mmx_loop -.align 16 -.L001mmx_loop: - psrlq $4,%mm0 - andl $15,%ebx - movq %mm1,%mm2 - psrlq $4,%mm1 - pxor 8(%esi,%edx,1),%mm0 - movb (%edi,%ebp,1),%cl - psllq $60,%mm2 - pxor (%eax,%ebx,8),%mm1 - decl %ebp - movd %mm0,%ebx - pxor (%esi,%edx,1),%mm1 - movl %ecx,%edx - pxor %mm2,%mm0 - js .L002mmx_break - shlb $4,%cl - andl $15,%ebx - psrlq $4,%mm0 - andl $240,%edx - movq %mm1,%mm2 - psrlq $4,%mm1 - pxor 8(%esi,%ecx,1),%mm0 - psllq $60,%mm2 - pxor (%eax,%ebx,8),%mm1 - movd %mm0,%ebx - pxor (%esi,%ecx,1),%mm1 - pxor %mm2,%mm0 - jmp .L001mmx_loop -.align 16 -.L002mmx_break: - shlb $4,%cl - andl $15,%ebx - psrlq $4,%mm0 - andl $240,%edx - movq %mm1,%mm2 - psrlq $4,%mm1 - pxor 8(%esi,%ecx,1),%mm0 - psllq $60,%mm2 - pxor (%eax,%ebx,8),%mm1 - movd %mm0,%ebx - pxor (%esi,%ecx,1),%mm1 - pxor %mm2,%mm0 - psrlq $4,%mm0 - andl $15,%ebx - movq %mm1,%mm2 - psrlq $4,%mm1 - pxor 8(%esi,%edx,1),%mm0 - psllq $60,%mm2 - pxor (%eax,%ebx,8),%mm1 - movd %mm0,%ebx - pxor (%esi,%edx,1),%mm1 - pxor %mm2,%mm0 - psrlq $32,%mm0 - movd %mm1,%edx - psrlq $32,%mm1 - movd %mm0,%ecx - movd %mm1,%ebp - bswap %ebx - bswap %edx - bswap %ecx - bswap %ebp - emms - movl %ebx,12(%edi) - movl %edx,4(%edi) - movl %ecx,8(%edi) - movl %ebp,(%edi) - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.size gcm_gmult_4bit_mmx,.-.L_gcm_gmult_4bit_mmx_begin -.globl gcm_ghash_4bit_mmx -.hidden gcm_ghash_4bit_mmx -.type gcm_ghash_4bit_mmx,@function -.align 16 -gcm_ghash_4bit_mmx: -.L_gcm_ghash_4bit_mmx_begin: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - movl 20(%esp),%eax - movl 24(%esp),%ebx - movl 28(%esp),%ecx - movl 32(%esp),%edx - movl %esp,%ebp - call .L003pic_point -.L003pic_point: - popl %esi - leal .Lrem_8bit-.L003pic_point(%esi),%esi - subl $544,%esp - andl $-64,%esp - subl $16,%esp - addl %ecx,%edx - movl %eax,544(%esp) - movl %edx,552(%esp) - movl %ebp,556(%esp) - addl $128,%ebx - leal 144(%esp),%edi - leal 400(%esp),%ebp - movl -120(%ebx),%edx - movq -120(%ebx),%mm0 - movq -128(%ebx),%mm3 - shll $4,%edx - movb %dl,(%esp) - movl -104(%ebx),%edx - movq -104(%ebx),%mm2 - movq -112(%ebx),%mm5 - movq %mm0,-128(%edi) - psrlq $4,%mm0 - movq %mm3,(%edi) - movq %mm3,%mm7 - psrlq $4,%mm3 - shll $4,%edx - movb %dl,1(%esp) - movl -88(%ebx),%edx - movq -88(%ebx),%mm1 - psllq $60,%mm7 - movq -96(%ebx),%mm4 - por %mm7,%mm0 - movq %mm2,-120(%edi) - psrlq $4,%mm2 - movq %mm5,8(%edi) - movq %mm5,%mm6 - movq %mm0,-128(%ebp) - psrlq $4,%mm5 - movq %mm3,(%ebp) - shll $4,%edx - movb %dl,2(%esp) - movl -72(%ebx),%edx - movq -72(%ebx),%mm0 - psllq $60,%mm6 - movq -80(%ebx),%mm3 - por %mm6,%mm2 - movq %mm1,-112(%edi) - psrlq $4,%mm1 - movq %mm4,16(%edi) - movq %mm4,%mm7 - movq %mm2,-120(%ebp) - psrlq $4,%mm4 - movq %mm5,8(%ebp) - shll $4,%edx - movb %dl,3(%esp) - movl -56(%ebx),%edx - movq -56(%ebx),%mm2 - psllq $60,%mm7 - movq -64(%ebx),%mm5 - por %mm7,%mm1 - movq %mm0,-104(%edi) - psrlq $4,%mm0 - movq %mm3,24(%edi) - movq %mm3,%mm6 - movq %mm1,-112(%ebp) - psrlq $4,%mm3 - movq %mm4,16(%ebp) - shll $4,%edx - movb %dl,4(%esp) - movl -40(%ebx),%edx - movq -40(%ebx),%mm1 - psllq $60,%mm6 - movq -48(%ebx),%mm4 - por %mm6,%mm0 - movq %mm2,-96(%edi) - psrlq $4,%mm2 - movq %mm5,32(%edi) - movq %mm5,%mm7 - movq %mm0,-104(%ebp) - psrlq $4,%mm5 - movq %mm3,24(%ebp) - shll $4,%edx - movb %dl,5(%esp) - movl -24(%ebx),%edx - movq -24(%ebx),%mm0 - psllq $60,%mm7 - movq -32(%ebx),%mm3 - por %mm7,%mm2 - movq %mm1,-88(%edi) - psrlq $4,%mm1 - movq %mm4,40(%edi) - movq %mm4,%mm6 - movq %mm2,-96(%ebp) - psrlq $4,%mm4 - movq %mm5,32(%ebp) - shll $4,%edx - movb %dl,6(%esp) - movl -8(%ebx),%edx - movq -8(%ebx),%mm2 - psllq $60,%mm6 - movq -16(%ebx),%mm5 - por %mm6,%mm1 - movq %mm0,-80(%edi) - psrlq $4,%mm0 - movq %mm3,48(%edi) - movq %mm3,%mm7 - movq %mm1,-88(%ebp) - psrlq $4,%mm3 - movq %mm4,40(%ebp) - shll $4,%edx - movb %dl,7(%esp) - movl 8(%ebx),%edx - movq 8(%ebx),%mm1 - psllq $60,%mm7 - movq (%ebx),%mm4 - por %mm7,%mm0 - movq %mm2,-72(%edi) - psrlq $4,%mm2 - movq %mm5,56(%edi) - movq %mm5,%mm6 - movq %mm0,-80(%ebp) - psrlq $4,%mm5 - movq %mm3,48(%ebp) - shll $4,%edx - movb %dl,8(%esp) - movl 24(%ebx),%edx - movq 24(%ebx),%mm0 - psllq $60,%mm6 - movq 16(%ebx),%mm3 - por %mm6,%mm2 - movq %mm1,-64(%edi) - psrlq $4,%mm1 - movq %mm4,64(%edi) - movq %mm4,%mm7 - movq %mm2,-72(%ebp) - psrlq $4,%mm4 - movq %mm5,56(%ebp) - shll $4,%edx - movb %dl,9(%esp) - movl 40(%ebx),%edx - movq 40(%ebx),%mm2 - psllq $60,%mm7 - movq 32(%ebx),%mm5 - por %mm7,%mm1 - movq %mm0,-56(%edi) - psrlq $4,%mm0 - movq %mm3,72(%edi) - movq %mm3,%mm6 - movq %mm1,-64(%ebp) - psrlq $4,%mm3 - movq %mm4,64(%ebp) - shll $4,%edx - movb %dl,10(%esp) - movl 56(%ebx),%edx - movq 56(%ebx),%mm1 - psllq $60,%mm6 - movq 48(%ebx),%mm4 - por %mm6,%mm0 - movq %mm2,-48(%edi) - psrlq $4,%mm2 - movq %mm5,80(%edi) - movq %mm5,%mm7 - movq %mm0,-56(%ebp) - psrlq $4,%mm5 - movq %mm3,72(%ebp) - shll $4,%edx - movb %dl,11(%esp) - movl 72(%ebx),%edx - movq 72(%ebx),%mm0 - psllq $60,%mm7 - movq 64(%ebx),%mm3 - por %mm7,%mm2 - movq %mm1,-40(%edi) - psrlq $4,%mm1 - movq %mm4,88(%edi) - movq %mm4,%mm6 - movq %mm2,-48(%ebp) - psrlq $4,%mm4 - movq %mm5,80(%ebp) - shll $4,%edx - movb %dl,12(%esp) - movl 88(%ebx),%edx - movq 88(%ebx),%mm2 - psllq $60,%mm6 - movq 80(%ebx),%mm5 - por %mm6,%mm1 - movq %mm0,-32(%edi) - psrlq $4,%mm0 - movq %mm3,96(%edi) - movq %mm3,%mm7 - movq %mm1,-40(%ebp) - psrlq $4,%mm3 - movq %mm4,88(%ebp) - shll $4,%edx - movb %dl,13(%esp) - movl 104(%ebx),%edx - movq 104(%ebx),%mm1 - psllq $60,%mm7 - movq 96(%ebx),%mm4 - por %mm7,%mm0 - movq %mm2,-24(%edi) - psrlq $4,%mm2 - movq %mm5,104(%edi) - movq %mm5,%mm6 - movq %mm0,-32(%ebp) - psrlq $4,%mm5 - movq %mm3,96(%ebp) - shll $4,%edx - movb %dl,14(%esp) - movl 120(%ebx),%edx - movq 120(%ebx),%mm0 - psllq $60,%mm6 - movq 112(%ebx),%mm3 - por %mm6,%mm2 - movq %mm1,-16(%edi) - psrlq $4,%mm1 - movq %mm4,112(%edi) - movq %mm4,%mm7 - movq %mm2,-24(%ebp) - psrlq $4,%mm4 - movq %mm5,104(%ebp) - shll $4,%edx - movb %dl,15(%esp) - psllq $60,%mm7 - por %mm7,%mm1 - movq %mm0,-8(%edi) - psrlq $4,%mm0 - movq %mm3,120(%edi) - movq %mm3,%mm6 - movq %mm1,-16(%ebp) - psrlq $4,%mm3 - movq %mm4,112(%ebp) - psllq $60,%mm6 - por %mm6,%mm0 - movq %mm0,-8(%ebp) - movq %mm3,120(%ebp) - movq (%eax),%mm6 - movl 8(%eax),%ebx - movl 12(%eax),%edx -.align 16 -.L004outer: - xorl 12(%ecx),%edx - xorl 8(%ecx),%ebx - pxor (%ecx),%mm6 - leal 16(%ecx),%ecx - movl %ebx,536(%esp) - movq %mm6,528(%esp) - movl %ecx,548(%esp) - xorl %eax,%eax - roll $8,%edx - movb %dl,%al - movl %eax,%ebp - andb $15,%al - shrl $4,%ebp - pxor %mm0,%mm0 - roll $8,%edx - pxor %mm1,%mm1 - pxor %mm2,%mm2 - movq 16(%esp,%eax,8),%mm7 - movq 144(%esp,%eax,8),%mm6 - movb %dl,%al - movd %mm7,%ebx - psrlq $8,%mm7 - movq %mm6,%mm3 - movl %eax,%edi - psrlq $8,%mm6 - pxor 272(%esp,%ebp,8),%mm7 - andb $15,%al - psllq $56,%mm3 - shrl $4,%edi - pxor 16(%esp,%eax,8),%mm7 - roll $8,%edx - pxor 144(%esp,%eax,8),%mm6 - pxor %mm3,%mm7 - pxor 400(%esp,%ebp,8),%mm6 - xorb (%esp,%ebp,1),%bl - movb %dl,%al - movd %mm7,%ecx - movzbl %bl,%ebx - psrlq $8,%mm7 - movq %mm6,%mm3 - movl %eax,%ebp - psrlq $8,%mm6 - pxor 272(%esp,%edi,8),%mm7 - andb $15,%al - psllq $56,%mm3 - shrl $4,%ebp - pinsrw $2,(%esi,%ebx,2),%mm2 - pxor 16(%esp,%eax,8),%mm7 - roll $8,%edx - pxor 144(%esp,%eax,8),%mm6 - pxor %mm3,%mm7 - pxor 400(%esp,%edi,8),%mm6 - xorb (%esp,%edi,1),%cl - movb %dl,%al - movl 536(%esp),%edx - movd %mm7,%ebx - movzbl %cl,%ecx - psrlq $8,%mm7 - movq %mm6,%mm3 - movl %eax,%edi - psrlq $8,%mm6 - pxor 272(%esp,%ebp,8),%mm7 - andb $15,%al - psllq $56,%mm3 - pxor %mm2,%mm6 - shrl $4,%edi - pinsrw $2,(%esi,%ecx,2),%mm1 - pxor 16(%esp,%eax,8),%mm7 - roll $8,%edx - pxor 144(%esp,%eax,8),%mm6 - pxor %mm3,%mm7 - pxor 400(%esp,%ebp,8),%mm6 - xorb (%esp,%ebp,1),%bl - movb %dl,%al - movd %mm7,%ecx - movzbl %bl,%ebx - psrlq $8,%mm7 - movq %mm6,%mm3 - movl %eax,%ebp - psrlq $8,%mm6 - pxor 272(%esp,%edi,8),%mm7 - andb $15,%al - psllq $56,%mm3 - pxor %mm1,%mm6 - shrl $4,%ebp - pinsrw $2,(%esi,%ebx,2),%mm0 - pxor 16(%esp,%eax,8),%mm7 - roll $8,%edx - pxor 144(%esp,%eax,8),%mm6 - pxor %mm3,%mm7 - pxor 400(%esp,%edi,8),%mm6 - xorb (%esp,%edi,1),%cl - movb %dl,%al - movd %mm7,%ebx - movzbl %cl,%ecx - psrlq $8,%mm7 - movq %mm6,%mm3 - movl %eax,%edi - psrlq $8,%mm6 - pxor 272(%esp,%ebp,8),%mm7 - andb $15,%al - psllq $56,%mm3 - pxor %mm0,%mm6 - shrl $4,%edi - pinsrw $2,(%esi,%ecx,2),%mm2 - pxor 16(%esp,%eax,8),%mm7 - roll $8,%edx - pxor 144(%esp,%eax,8),%mm6 - pxor %mm3,%mm7 - pxor 400(%esp,%ebp,8),%mm6 - xorb (%esp,%ebp,1),%bl - movb %dl,%al - movd %mm7,%ecx - movzbl %bl,%ebx - psrlq $8,%mm7 - movq %mm6,%mm3 - movl %eax,%ebp - psrlq $8,%mm6 - pxor 272(%esp,%edi,8),%mm7 - andb $15,%al - psllq $56,%mm3 - pxor %mm2,%mm6 - shrl $4,%ebp - pinsrw $2,(%esi,%ebx,2),%mm1 - pxor 16(%esp,%eax,8),%mm7 - roll $8,%edx - pxor 144(%esp,%eax,8),%mm6 - pxor %mm3,%mm7 - pxor 400(%esp,%edi,8),%mm6 - xorb (%esp,%edi,1),%cl - movb %dl,%al - movl 532(%esp),%edx - movd %mm7,%ebx - movzbl %cl,%ecx - psrlq $8,%mm7 - movq %mm6,%mm3 - movl %eax,%edi - psrlq $8,%mm6 - pxor 272(%esp,%ebp,8),%mm7 - andb $15,%al - psllq $56,%mm3 - pxor %mm1,%mm6 - shrl $4,%edi - pinsrw $2,(%esi,%ecx,2),%mm0 - pxor 16(%esp,%eax,8),%mm7 - roll $8,%edx - pxor 144(%esp,%eax,8),%mm6 - pxor %mm3,%mm7 - pxor 400(%esp,%ebp,8),%mm6 - xorb (%esp,%ebp,1),%bl - movb %dl,%al - movd %mm7,%ecx - movzbl %bl,%ebx - psrlq $8,%mm7 - movq %mm6,%mm3 - movl %eax,%ebp - psrlq $8,%mm6 - pxor 272(%esp,%edi,8),%mm7 - andb $15,%al - psllq $56,%mm3 - pxor %mm0,%mm6 - shrl $4,%ebp - pinsrw $2,(%esi,%ebx,2),%mm2 - pxor 16(%esp,%eax,8),%mm7 - roll $8,%edx - pxor 144(%esp,%eax,8),%mm6 - pxor %mm3,%mm7 - pxor 400(%esp,%edi,8),%mm6 - xorb (%esp,%edi,1),%cl - movb %dl,%al - movd %mm7,%ebx - movzbl %cl,%ecx - psrlq $8,%mm7 - movq %mm6,%mm3 - movl %eax,%edi - psrlq $8,%mm6 - pxor 272(%esp,%ebp,8),%mm7 - andb $15,%al - psllq $56,%mm3 - pxor %mm2,%mm6 - shrl $4,%edi - pinsrw $2,(%esi,%ecx,2),%mm1 - pxor 16(%esp,%eax,8),%mm7 - roll $8,%edx - pxor 144(%esp,%eax,8),%mm6 - pxor %mm3,%mm7 - pxor 400(%esp,%ebp,8),%mm6 - xorb (%esp,%ebp,1),%bl - movb %dl,%al - movd %mm7,%ecx - movzbl %bl,%ebx - psrlq $8,%mm7 - movq %mm6,%mm3 - movl %eax,%ebp - psrlq $8,%mm6 - pxor 272(%esp,%edi,8),%mm7 - andb $15,%al - psllq $56,%mm3 - pxor %mm1,%mm6 - shrl $4,%ebp - pinsrw $2,(%esi,%ebx,2),%mm0 - pxor 16(%esp,%eax,8),%mm7 - roll $8,%edx - pxor 144(%esp,%eax,8),%mm6 - pxor %mm3,%mm7 - pxor 400(%esp,%edi,8),%mm6 - xorb (%esp,%edi,1),%cl - movb %dl,%al - movl 528(%esp),%edx - movd %mm7,%ebx - movzbl %cl,%ecx - psrlq $8,%mm7 - movq %mm6,%mm3 - movl %eax,%edi - psrlq $8,%mm6 - pxor 272(%esp,%ebp,8),%mm7 - andb $15,%al - psllq $56,%mm3 - pxor %mm0,%mm6 - shrl $4,%edi - pinsrw $2,(%esi,%ecx,2),%mm2 - pxor 16(%esp,%eax,8),%mm7 - roll $8,%edx - pxor 144(%esp,%eax,8),%mm6 - pxor %mm3,%mm7 - pxor 400(%esp,%ebp,8),%mm6 - xorb (%esp,%ebp,1),%bl - movb %dl,%al - movd %mm7,%ecx - movzbl %bl,%ebx - psrlq $8,%mm7 - movq %mm6,%mm3 - movl %eax,%ebp - psrlq $8,%mm6 - pxor 272(%esp,%edi,8),%mm7 - andb $15,%al - psllq $56,%mm3 - pxor %mm2,%mm6 - shrl $4,%ebp - pinsrw $2,(%esi,%ebx,2),%mm1 - pxor 16(%esp,%eax,8),%mm7 - roll $8,%edx - pxor 144(%esp,%eax,8),%mm6 - pxor %mm3,%mm7 - pxor 400(%esp,%edi,8),%mm6 - xorb (%esp,%edi,1),%cl - movb %dl,%al - movd %mm7,%ebx - movzbl %cl,%ecx - psrlq $8,%mm7 - movq %mm6,%mm3 - movl %eax,%edi - psrlq $8,%mm6 - pxor 272(%esp,%ebp,8),%mm7 - andb $15,%al - psllq $56,%mm3 - pxor %mm1,%mm6 - shrl $4,%edi - pinsrw $2,(%esi,%ecx,2),%mm0 - pxor 16(%esp,%eax,8),%mm7 - roll $8,%edx - pxor 144(%esp,%eax,8),%mm6 - pxor %mm3,%mm7 - pxor 400(%esp,%ebp,8),%mm6 - xorb (%esp,%ebp,1),%bl - movb %dl,%al - movd %mm7,%ecx - movzbl %bl,%ebx - psrlq $8,%mm7 - movq %mm6,%mm3 - movl %eax,%ebp - psrlq $8,%mm6 - pxor 272(%esp,%edi,8),%mm7 - andb $15,%al - psllq $56,%mm3 - pxor %mm0,%mm6 - shrl $4,%ebp - pinsrw $2,(%esi,%ebx,2),%mm2 - pxor 16(%esp,%eax,8),%mm7 - roll $8,%edx - pxor 144(%esp,%eax,8),%mm6 - pxor %mm3,%mm7 - pxor 400(%esp,%edi,8),%mm6 - xorb (%esp,%edi,1),%cl - movb %dl,%al - movl 524(%esp),%edx - movd %mm7,%ebx - movzbl %cl,%ecx - psrlq $8,%mm7 - movq %mm6,%mm3 - movl %eax,%edi - psrlq $8,%mm6 - pxor 272(%esp,%ebp,8),%mm7 - andb $15,%al - psllq $56,%mm3 - pxor %mm2,%mm6 - shrl $4,%edi - pinsrw $2,(%esi,%ecx,2),%mm1 - pxor 16(%esp,%eax,8),%mm7 - pxor 144(%esp,%eax,8),%mm6 - xorb (%esp,%ebp,1),%bl - pxor %mm3,%mm7 - pxor 400(%esp,%ebp,8),%mm6 - movzbl %bl,%ebx - pxor %mm2,%mm2 - psllq $4,%mm1 - movd %mm7,%ecx - psrlq $4,%mm7 - movq %mm6,%mm3 - psrlq $4,%mm6 - shll $4,%ecx - pxor 16(%esp,%edi,8),%mm7 - psllq $60,%mm3 - movzbl %cl,%ecx - pxor %mm3,%mm7 - pxor 144(%esp,%edi,8),%mm6 - pinsrw $2,(%esi,%ebx,2),%mm0 - pxor %mm1,%mm6 - movd %mm7,%edx - pinsrw $3,(%esi,%ecx,2),%mm2 - psllq $12,%mm0 - pxor %mm0,%mm6 - psrlq $32,%mm7 - pxor %mm2,%mm6 - movl 548(%esp),%ecx - movd %mm7,%ebx - movq %mm6,%mm3 - psllw $8,%mm6 - psrlw $8,%mm3 - por %mm3,%mm6 - bswap %edx - pshufw $27,%mm6,%mm6 - bswap %ebx - cmpl 552(%esp),%ecx - jne .L004outer - movl 544(%esp),%eax - movl %edx,12(%eax) - movl %ebx,8(%eax) - movq %mm6,(%eax) - movl 556(%esp),%esp - emms - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.size gcm_ghash_4bit_mmx,.-.L_gcm_ghash_4bit_mmx_begin .globl gcm_init_clmul .hidden gcm_init_clmul .type gcm_init_clmul,@function @@ -719,10 +14,10 @@ gcm_init_clmul: .L_gcm_init_clmul_begin: movl 4(%esp),%edx movl 8(%esp),%eax - call .L005pic -.L005pic: + call .L000pic +.L000pic: popl %ecx - leal .Lbswap-.L005pic(%ecx),%ecx + leal .Lbswap-.L000pic(%ecx),%ecx movdqu (%eax),%xmm2 pshufd $78,%xmm2,%xmm2 pshufd $255,%xmm2,%xmm4 @@ -789,10 +84,10 @@ gcm_gmult_clmul: .L_gcm_gmult_clmul_begin: movl 4(%esp),%eax movl 8(%esp),%edx - call .L006pic -.L006pic: + call .L001pic +.L001pic: popl %ecx - leal .Lbswap-.L006pic(%ecx),%ecx + leal .Lbswap-.L001pic(%ecx),%ecx movdqu (%eax),%xmm0 movdqa (%ecx),%xmm5 movups (%edx),%xmm2 @@ -849,16 +144,16 @@ gcm_ghash_clmul: movl 24(%esp),%edx movl 28(%esp),%esi movl 32(%esp),%ebx - call .L007pic -.L007pic: + call .L002pic +.L002pic: popl %ecx - leal .Lbswap-.L007pic(%ecx),%ecx + leal .Lbswap-.L002pic(%ecx),%ecx movdqu (%eax),%xmm0 movdqa (%ecx),%xmm5 movdqu (%edx),%xmm2 .byte 102,15,56,0,197 subl $16,%ebx - jz .L008odd_tail + jz .L003odd_tail movdqu (%esi),%xmm3 movdqu 16(%esi),%xmm6 .byte 102,15,56,0,221 @@ -875,10 +170,10 @@ gcm_ghash_clmul: movups 16(%edx),%xmm2 nop subl $32,%ebx - jbe .L009even_tail - jmp .L010mod_loop + jbe .L004even_tail + jmp .L005mod_loop .align 32 -.L010mod_loop: +.L005mod_loop: pshufd $78,%xmm0,%xmm4 movdqa %xmm0,%xmm1 pxor %xmm0,%xmm4 @@ -933,8 +228,8 @@ gcm_ghash_clmul: .byte 102,15,58,68,221,0 leal 32(%esi),%esi subl $32,%ebx - ja .L010mod_loop -.L009even_tail: + ja .L005mod_loop +.L004even_tail: pshufd $78,%xmm0,%xmm4 movdqa %xmm0,%xmm1 pxor %xmm0,%xmm4 @@ -973,9 +268,9 @@ gcm_ghash_clmul: psrlq $1,%xmm0 pxor %xmm1,%xmm0 testl %ebx,%ebx - jnz .L011done + jnz .L006done movups (%edx),%xmm2 -.L008odd_tail: +.L003odd_tail: movdqu (%esi),%xmm3 .byte 102,15,56,0,221 pxor %xmm3,%xmm0 @@ -1014,7 +309,7 @@ gcm_ghash_clmul: pxor %xmm4,%xmm0 psrlq $1,%xmm0 pxor %xmm1,%xmm0 -.L011done: +.L006done: .byte 102,15,56,0,197 movdqu %xmm0,(%eax) popl %edi @@ -1027,48 +322,9 @@ gcm_ghash_clmul: .Lbswap: .byte 15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0 .byte 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,194 -.align 64 -.Lrem_8bit: -.value 0,450,900,582,1800,1738,1164,1358 -.value 3600,4050,3476,3158,2328,2266,2716,2910 -.value 7200,7650,8100,7782,6952,6890,6316,6510 -.value 4656,5106,4532,4214,5432,5370,5820,6014 -.value 14400,14722,15300,14854,16200,16010,15564,15630 -.value 13904,14226,13780,13334,12632,12442,13020,13086 -.value 9312,9634,10212,9766,9064,8874,8428,8494 -.value 10864,11186,10740,10294,11640,11450,12028,12094 -.value 28800,28994,29444,29382,30600,30282,29708,30158 -.value 32400,32594,32020,31958,31128,30810,31260,31710 -.value 27808,28002,28452,28390,27560,27242,26668,27118 -.value 25264,25458,24884,24822,26040,25722,26172,26622 -.value 18624,18690,19268,19078,20424,19978,19532,19854 -.value 18128,18194,17748,17558,16856,16410,16988,17310 -.value 21728,21794,22372,22182,21480,21034,20588,20910 -.value 23280,23346,22900,22710,24056,23610,24188,24510 -.value 57600,57538,57988,58182,58888,59338,58764,58446 -.value 61200,61138,60564,60758,59416,59866,60316,59998 -.value 64800,64738,65188,65382,64040,64490,63916,63598 -.value 62256,62194,61620,61814,62520,62970,63420,63102 -.value 55616,55426,56004,56070,56904,57226,56780,56334 -.value 55120,54930,54484,54550,53336,53658,54236,53790 -.value 50528,50338,50916,50982,49768,50090,49644,49198 -.value 52080,51890,51444,51510,52344,52666,53244,52798 -.value 37248,36930,37380,37830,38536,38730,38156,38094 -.value 40848,40530,39956,40406,39064,39258,39708,39646 -.value 36256,35938,36388,36838,35496,35690,35116,35054 -.value 33712,33394,32820,33270,33976,34170,34620,34558 -.value 43456,43010,43588,43910,44744,44810,44364,44174 -.value 42960,42514,42068,42390,41176,41242,41820,41630 -.value 46560,46114,46692,47014,45800,45866,45420,45230 -.value 48112,47666,47220,47542,48376,48442,49020,48830 -.align 64 -.Lrem_4bit: -.long 0,0,0,471859200,0,943718400,0,610271232 -.long 0,1887436800,0,1822425088,0,1220542464,0,1423966208 -.long 0,3774873600,0,4246732800,0,3644850176,0,3311403008 -.long 0,2441084928,0,2376073216,0,2847932416,0,3051356160 .byte 71,72,65,83,72,32,102,111,114,32,120,56,54,44,32,67 .byte 82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112 .byte 112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62 .byte 0 #endif +.section .note.GNU-stack,"",@progbits diff --git a/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/md5-586.S b/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/md5-586.S index cc0dcd8361d..6de8ff886af 100644 --- a/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/md5-586.S +++ b/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/md5-586.S @@ -685,3 +685,4 @@ md5_block_asm_data_order: ret .size md5_block_asm_data_order,.-.L_md5_block_asm_data_order_begin #endif +.section .note.GNU-stack,"",@progbits diff --git a/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/sha1-586.S b/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/sha1-586.S index 4df4d061c55..4449e38f72a 100644 --- a/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/sha1-586.S +++ b/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/sha1-586.S @@ -3805,3 +3805,4 @@ _sha1_block_data_order_avx: .byte 89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112 .byte 114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 #endif +.section .note.GNU-stack,"",@progbits diff --git a/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/sha256-586.S b/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/sha256-586.S index 39d57786233..f61fa3df72a 100644 --- a/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/sha256-586.S +++ b/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/sha256-586.S @@ -5564,3 +5564,4 @@ sha256_block_data_order: ret .size sha256_block_data_order,.-.L_sha256_block_data_order_begin #endif +.section .note.GNU-stack,"",@progbits diff --git a/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/sha512-586.S b/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/sha512-586.S index c8dd6770dae..89fb50b4ca8 100644 --- a/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/sha512-586.S +++ b/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/sha512-586.S @@ -2834,3 +2834,4 @@ sha512_block_data_order: .byte 112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103 .byte 62,0 #endif +.section .note.GNU-stack,"",@progbits diff --git a/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/vpaes-x86.S b/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/vpaes-x86.S index 4ea92ed08b2..8807116950b 100644 --- a/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/vpaes-x86.S +++ b/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/vpaes-x86.S @@ -6,7 +6,7 @@ #include #endif .text -#ifndef NDEBUG +#ifdef BORINGSSL_DISPATCH_TEST #endif .align 64 .L_vpaes_consts: @@ -485,7 +485,7 @@ vpaes_set_encrypt_key: pushl %ebx pushl %esi pushl %edi -#ifndef NDEBUG +#ifdef BORINGSSL_DISPATCH_TEST pushl %ebx pushl %edx call .L016pic @@ -570,7 +570,7 @@ vpaes_encrypt: pushl %ebx pushl %esi pushl %edi -#ifndef NDEBUG +#ifdef BORINGSSL_DISPATCH_TEST pushl %ebx pushl %edx call .L019pic @@ -705,3 +705,4 @@ vpaes_cbc_encrypt: ret .size vpaes_cbc_encrypt,.-.L_vpaes_cbc_encrypt_begin #endif +.section .note.GNU-stack,"",@progbits diff --git a/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/x86-mont.S b/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/x86-mont.S index 9924c02820f..f2c6fde7c66 100644 --- a/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/x86-mont.S +++ b/contrib/boringssl-cmake/linux-x86/crypto/fipsmodule/x86-mont.S @@ -481,3 +481,4 @@ bn_mul_mont: .byte 32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46 .byte 111,114,103,62,0 #endif +.section .note.GNU-stack,"",@progbits diff --git a/contrib/boringssl-cmake/linux-x86/crypto/test/trampoline-x86.S b/contrib/boringssl-cmake/linux-x86/crypto/test/trampoline-x86.S index 2222347aaee..13eb677c973 100644 --- a/contrib/boringssl-cmake/linux-x86/crypto/test/trampoline-x86.S +++ b/contrib/boringssl-cmake/linux-x86/crypto/test/trampoline-x86.S @@ -203,3 +203,4 @@ abi_test_clobber_xmm7: ret .size abi_test_clobber_xmm7,.-.L_abi_test_clobber_xmm7_begin #endif +.section .note.GNU-stack,"",@progbits diff --git a/contrib/boringssl-cmake/linux-x86_64/crypto/chacha/chacha-x86_64.S b/contrib/boringssl-cmake/linux-x86_64/crypto/chacha/chacha-x86_64.S index 4e2267bb234..b76713398d8 100644 --- a/contrib/boringssl-cmake/linux-x86_64/crypto/chacha/chacha-x86_64.S +++ b/contrib/boringssl-cmake/linux-x86_64/crypto/chacha/chacha-x86_64.S @@ -1630,3 +1630,4 @@ ChaCha20_8x: .cfi_endproc .size ChaCha20_8x,.-ChaCha20_8x #endif +.section .note.GNU-stack,"",@progbits diff --git a/contrib/boringssl-cmake/linux-x86_64/crypto/cipher_extra/aes128gcmsiv-x86_64.S b/contrib/boringssl-cmake/linux-x86_64/crypto/cipher_extra/aes128gcmsiv-x86_64.S index 3eb1688c439..a22bee8fcf2 100644 --- a/contrib/boringssl-cmake/linux-x86_64/crypto/cipher_extra/aes128gcmsiv-x86_64.S +++ b/contrib/boringssl-cmake/linux-x86_64/crypto/cipher_extra/aes128gcmsiv-x86_64.S @@ -3076,3 +3076,4 @@ aes256gcmsiv_kdf: .cfi_endproc .size aes256gcmsiv_kdf, .-aes256gcmsiv_kdf #endif +.section .note.GNU-stack,"",@progbits diff --git a/contrib/boringssl-cmake/linux-x86_64/crypto/cipher_extra/chacha20_poly1305_x86_64.S b/contrib/boringssl-cmake/linux-x86_64/crypto/cipher_extra/chacha20_poly1305_x86_64.S index 677335b9633..aefa5432d87 100644 --- a/contrib/boringssl-cmake/linux-x86_64/crypto/cipher_extra/chacha20_poly1305_x86_64.S +++ b/contrib/boringssl-cmake/linux-x86_64/crypto/cipher_extra/chacha20_poly1305_x86_64.S @@ -3935,7 +3935,7 @@ do_length_block: popq %rbp .cfi_adjust_cfa_offset -8 .byte 0xf3,0xc3 -.cfi_adjust_cfa_offset (8 * 6) + 288 + 32 +.cfi_adjust_cfa_offset (8 * 7) + 288 + 32 seal_sse_128: movdqu .chacha20_consts(%rip),%xmm0 @@ -8984,3 +8984,4 @@ seal_avx2_short_tail: jmp seal_sse_tail_16 .cfi_endproc #endif +.section .note.GNU-stack,"",@progbits diff --git a/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/aes-x86_64.S b/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/aes-x86_64.S deleted file mode 100644 index f45e010e281..00000000000 --- a/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/aes-x86_64.S +++ /dev/null @@ -1,2664 +0,0 @@ -# This file is generated from a similarly-named Perl script in the BoringSSL -# source tree. Do not edit by hand. - -#if defined(__has_feature) -#if __has_feature(memory_sanitizer) && !defined(OPENSSL_NO_ASM) -#define OPENSSL_NO_ASM -#endif -#endif - -#if defined(__x86_64__) && !defined(OPENSSL_NO_ASM) -#if defined(BORINGSSL_PREFIX) -#include -#endif -.text -.type _x86_64_AES_encrypt,@function -.align 16 -_x86_64_AES_encrypt: - xorl 0(%r15),%eax - xorl 4(%r15),%ebx - xorl 8(%r15),%ecx - xorl 12(%r15),%edx - - movl 240(%r15),%r13d - subl $1,%r13d - jmp .Lenc_loop -.align 16 -.Lenc_loop: - - movzbl %al,%esi - movzbl %bl,%edi - movzbl %cl,%ebp - movl 0(%r14,%rsi,8),%r10d - movl 0(%r14,%rdi,8),%r11d - movl 0(%r14,%rbp,8),%r12d - - movzbl %bh,%esi - movzbl %ch,%edi - movzbl %dl,%ebp - xorl 3(%r14,%rsi,8),%r10d - xorl 3(%r14,%rdi,8),%r11d - movl 0(%r14,%rbp,8),%r8d - - movzbl %dh,%esi - shrl $16,%ecx - movzbl %ah,%ebp - xorl 3(%r14,%rsi,8),%r12d - shrl $16,%edx - xorl 3(%r14,%rbp,8),%r8d - - shrl $16,%ebx - leaq 16(%r15),%r15 - shrl $16,%eax - - movzbl %cl,%esi - movzbl %dl,%edi - movzbl %al,%ebp - xorl 2(%r14,%rsi,8),%r10d - xorl 2(%r14,%rdi,8),%r11d - xorl 2(%r14,%rbp,8),%r12d - - movzbl %dh,%esi - movzbl %ah,%edi - movzbl %bl,%ebp - xorl 1(%r14,%rsi,8),%r10d - xorl 1(%r14,%rdi,8),%r11d - xorl 2(%r14,%rbp,8),%r8d - - movl 12(%r15),%edx - movzbl %bh,%edi - movzbl %ch,%ebp - movl 0(%r15),%eax - xorl 1(%r14,%rdi,8),%r12d - xorl 1(%r14,%rbp,8),%r8d - - movl 4(%r15),%ebx - movl 8(%r15),%ecx - xorl %r10d,%eax - xorl %r11d,%ebx - xorl %r12d,%ecx - xorl %r8d,%edx - subl $1,%r13d - jnz .Lenc_loop - movzbl %al,%esi - movzbl %bl,%edi - movzbl %cl,%ebp - movzbl 2(%r14,%rsi,8),%r10d - movzbl 2(%r14,%rdi,8),%r11d - movzbl 2(%r14,%rbp,8),%r12d - - movzbl %dl,%esi - movzbl %bh,%edi - movzbl %ch,%ebp - movzbl 2(%r14,%rsi,8),%r8d - movl 0(%r14,%rdi,8),%edi - movl 0(%r14,%rbp,8),%ebp - - andl $0x0000ff00,%edi - andl $0x0000ff00,%ebp - - xorl %edi,%r10d - xorl %ebp,%r11d - shrl $16,%ecx - - movzbl %dh,%esi - movzbl %ah,%edi - shrl $16,%edx - movl 0(%r14,%rsi,8),%esi - movl 0(%r14,%rdi,8),%edi - - andl $0x0000ff00,%esi - andl $0x0000ff00,%edi - shrl $16,%ebx - xorl %esi,%r12d - xorl %edi,%r8d - shrl $16,%eax - - movzbl %cl,%esi - movzbl %dl,%edi - movzbl %al,%ebp - movl 0(%r14,%rsi,8),%esi - movl 0(%r14,%rdi,8),%edi - movl 0(%r14,%rbp,8),%ebp - - andl $0x00ff0000,%esi - andl $0x00ff0000,%edi - andl $0x00ff0000,%ebp - - xorl %esi,%r10d - xorl %edi,%r11d - xorl %ebp,%r12d - - movzbl %bl,%esi - movzbl %dh,%edi - movzbl %ah,%ebp - movl 0(%r14,%rsi,8),%esi - movl 2(%r14,%rdi,8),%edi - movl 2(%r14,%rbp,8),%ebp - - andl $0x00ff0000,%esi - andl $0xff000000,%edi - andl $0xff000000,%ebp - - xorl %esi,%r8d - xorl %edi,%r10d - xorl %ebp,%r11d - - movzbl %bh,%esi - movzbl %ch,%edi - movl 16+12(%r15),%edx - movl 2(%r14,%rsi,8),%esi - movl 2(%r14,%rdi,8),%edi - movl 16+0(%r15),%eax - - andl $0xff000000,%esi - andl $0xff000000,%edi - - xorl %esi,%r12d - xorl %edi,%r8d - - movl 16+4(%r15),%ebx - movl 16+8(%r15),%ecx - xorl %r10d,%eax - xorl %r11d,%ebx - xorl %r12d,%ecx - xorl %r8d,%edx -.byte 0xf3,0xc3 -.size _x86_64_AES_encrypt,.-_x86_64_AES_encrypt -.type _x86_64_AES_encrypt_compact,@function -.align 16 -_x86_64_AES_encrypt_compact: -.cfi_startproc - leaq 128(%r14),%r8 - movl 0-128(%r8),%edi - movl 32-128(%r8),%ebp - movl 64-128(%r8),%r10d - movl 96-128(%r8),%r11d - movl 128-128(%r8),%edi - movl 160-128(%r8),%ebp - movl 192-128(%r8),%r10d - movl 224-128(%r8),%r11d - jmp .Lenc_loop_compact -.align 16 -.Lenc_loop_compact: - xorl 0(%r15),%eax - xorl 4(%r15),%ebx - xorl 8(%r15),%ecx - xorl 12(%r15),%edx - leaq 16(%r15),%r15 - movzbl %al,%r10d - movzbl %bl,%r11d - movzbl %cl,%r12d - movzbl %dl,%r8d - movzbl %bh,%esi - movzbl %ch,%edi - shrl $16,%ecx - movzbl %dh,%ebp - movzbl (%r14,%r10,1),%r10d - movzbl (%r14,%r11,1),%r11d - movzbl (%r14,%r12,1),%r12d - movzbl (%r14,%r8,1),%r8d - - movzbl (%r14,%rsi,1),%r9d - movzbl %ah,%esi - movzbl (%r14,%rdi,1),%r13d - movzbl %cl,%edi - movzbl (%r14,%rbp,1),%ebp - movzbl (%r14,%rsi,1),%esi - - shll $8,%r9d - shrl $16,%edx - shll $8,%r13d - xorl %r9d,%r10d - shrl $16,%eax - movzbl %dl,%r9d - shrl $16,%ebx - xorl %r13d,%r11d - shll $8,%ebp - movzbl %al,%r13d - movzbl (%r14,%rdi,1),%edi - xorl %ebp,%r12d - - shll $8,%esi - movzbl %bl,%ebp - shll $16,%edi - xorl %esi,%r8d - movzbl (%r14,%r9,1),%r9d - movzbl %dh,%esi - movzbl (%r14,%r13,1),%r13d - xorl %edi,%r10d - - shrl $8,%ecx - movzbl %ah,%edi - shll $16,%r9d - shrl $8,%ebx - shll $16,%r13d - xorl %r9d,%r11d - movzbl (%r14,%rbp,1),%ebp - movzbl (%r14,%rsi,1),%esi - movzbl (%r14,%rdi,1),%edi - movzbl (%r14,%rcx,1),%edx - movzbl (%r14,%rbx,1),%ecx - - shll $16,%ebp - xorl %r13d,%r12d - shll $24,%esi - xorl %ebp,%r8d - shll $24,%edi - xorl %esi,%r10d - shll $24,%edx - xorl %edi,%r11d - shll $24,%ecx - movl %r10d,%eax - movl %r11d,%ebx - xorl %r12d,%ecx - xorl %r8d,%edx - cmpq 16(%rsp),%r15 - je .Lenc_compact_done - movl $0x80808080,%r10d - movl $0x80808080,%r11d - andl %eax,%r10d - andl %ebx,%r11d - movl %r10d,%esi - movl %r11d,%edi - shrl $7,%r10d - leal (%rax,%rax,1),%r8d - shrl $7,%r11d - leal (%rbx,%rbx,1),%r9d - subl %r10d,%esi - subl %r11d,%edi - andl $0xfefefefe,%r8d - andl $0xfefefefe,%r9d - andl $0x1b1b1b1b,%esi - andl $0x1b1b1b1b,%edi - movl %eax,%r10d - movl %ebx,%r11d - xorl %esi,%r8d - xorl %edi,%r9d - - xorl %r8d,%eax - xorl %r9d,%ebx - movl $0x80808080,%r12d - roll $24,%eax - movl $0x80808080,%ebp - roll $24,%ebx - andl %ecx,%r12d - andl %edx,%ebp - xorl %r8d,%eax - xorl %r9d,%ebx - movl %r12d,%esi - rorl $16,%r10d - movl %ebp,%edi - rorl $16,%r11d - leal (%rcx,%rcx,1),%r8d - shrl $7,%r12d - xorl %r10d,%eax - shrl $7,%ebp - xorl %r11d,%ebx - rorl $8,%r10d - leal (%rdx,%rdx,1),%r9d - rorl $8,%r11d - subl %r12d,%esi - subl %ebp,%edi - xorl %r10d,%eax - xorl %r11d,%ebx - - andl $0xfefefefe,%r8d - andl $0xfefefefe,%r9d - andl $0x1b1b1b1b,%esi - andl $0x1b1b1b1b,%edi - movl %ecx,%r12d - movl %edx,%ebp - xorl %esi,%r8d - xorl %edi,%r9d - - rorl $16,%r12d - xorl %r8d,%ecx - rorl $16,%ebp - xorl %r9d,%edx - roll $24,%ecx - movl 0(%r14),%esi - roll $24,%edx - xorl %r8d,%ecx - movl 64(%r14),%edi - xorl %r9d,%edx - movl 128(%r14),%r8d - xorl %r12d,%ecx - rorl $8,%r12d - xorl %ebp,%edx - rorl $8,%ebp - xorl %r12d,%ecx - movl 192(%r14),%r9d - xorl %ebp,%edx - jmp .Lenc_loop_compact -.align 16 -.Lenc_compact_done: - xorl 0(%r15),%eax - xorl 4(%r15),%ebx - xorl 8(%r15),%ecx - xorl 12(%r15),%edx -.byte 0xf3,0xc3 -.cfi_endproc -.size _x86_64_AES_encrypt_compact,.-_x86_64_AES_encrypt_compact -.align 16 -.globl aes_nohw_encrypt -.hidden aes_nohw_encrypt -.type aes_nohw_encrypt,@function -.hidden aes_nohw_encrypt -aes_nohw_encrypt: -.cfi_startproc - movq %rsp,%rax -.cfi_def_cfa_register %rax - pushq %rbx -.cfi_offset %rbx,-16 - pushq %rbp -.cfi_offset %rbp,-24 - pushq %r12 -.cfi_offset %r12,-32 - pushq %r13 -.cfi_offset %r13,-40 - pushq %r14 -.cfi_offset %r14,-48 - pushq %r15 -.cfi_offset %r15,-56 - - - leaq -63(%rdx),%rcx - andq $-64,%rsp - subq %rsp,%rcx - negq %rcx - andq $0x3c0,%rcx - subq %rcx,%rsp - subq $32,%rsp - - movq %rsi,16(%rsp) - movq %rax,24(%rsp) -.cfi_escape 0x0f,0x05,0x77,0x18,0x06,0x23,0x08 -.Lenc_prologue: - - movq %rdx,%r15 - movl 240(%r15),%r13d - - movl 0(%rdi),%eax - movl 4(%rdi),%ebx - movl 8(%rdi),%ecx - movl 12(%rdi),%edx - - shll $4,%r13d - leaq (%r15,%r13,1),%rbp - movq %r15,(%rsp) - movq %rbp,8(%rsp) - - - leaq .LAES_Te+2048(%rip),%r14 - leaq 768(%rsp),%rbp - subq %r14,%rbp - andq $0x300,%rbp - leaq (%r14,%rbp,1),%r14 - - call _x86_64_AES_encrypt_compact - - movq 16(%rsp),%r9 - movq 24(%rsp),%rsi -.cfi_def_cfa %rsi,8 - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - movq -48(%rsi),%r15 -.cfi_restore %r15 - movq -40(%rsi),%r14 -.cfi_restore %r14 - movq -32(%rsi),%r13 -.cfi_restore %r13 - movq -24(%rsi),%r12 -.cfi_restore %r12 - movq -16(%rsi),%rbp -.cfi_restore %rbp - movq -8(%rsi),%rbx -.cfi_restore %rbx - leaq (%rsi),%rsp -.cfi_def_cfa_register %rsp -.Lenc_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size aes_nohw_encrypt,.-aes_nohw_encrypt -.type _x86_64_AES_decrypt,@function -.align 16 -_x86_64_AES_decrypt: - xorl 0(%r15),%eax - xorl 4(%r15),%ebx - xorl 8(%r15),%ecx - xorl 12(%r15),%edx - - movl 240(%r15),%r13d - subl $1,%r13d - jmp .Ldec_loop -.align 16 -.Ldec_loop: - - movzbl %al,%esi - movzbl %bl,%edi - movzbl %cl,%ebp - movl 0(%r14,%rsi,8),%r10d - movl 0(%r14,%rdi,8),%r11d - movl 0(%r14,%rbp,8),%r12d - - movzbl %dh,%esi - movzbl %ah,%edi - movzbl %dl,%ebp - xorl 3(%r14,%rsi,8),%r10d - xorl 3(%r14,%rdi,8),%r11d - movl 0(%r14,%rbp,8),%r8d - - movzbl %bh,%esi - shrl $16,%eax - movzbl %ch,%ebp - xorl 3(%r14,%rsi,8),%r12d - shrl $16,%edx - xorl 3(%r14,%rbp,8),%r8d - - shrl $16,%ebx - leaq 16(%r15),%r15 - shrl $16,%ecx - - movzbl %cl,%esi - movzbl %dl,%edi - movzbl %al,%ebp - xorl 2(%r14,%rsi,8),%r10d - xorl 2(%r14,%rdi,8),%r11d - xorl 2(%r14,%rbp,8),%r12d - - movzbl %bh,%esi - movzbl %ch,%edi - movzbl %bl,%ebp - xorl 1(%r14,%rsi,8),%r10d - xorl 1(%r14,%rdi,8),%r11d - xorl 2(%r14,%rbp,8),%r8d - - movzbl %dh,%esi - movl 12(%r15),%edx - movzbl %ah,%ebp - xorl 1(%r14,%rsi,8),%r12d - movl 0(%r15),%eax - xorl 1(%r14,%rbp,8),%r8d - - xorl %r10d,%eax - movl 4(%r15),%ebx - movl 8(%r15),%ecx - xorl %r12d,%ecx - xorl %r11d,%ebx - xorl %r8d,%edx - subl $1,%r13d - jnz .Ldec_loop - leaq 2048(%r14),%r14 - movzbl %al,%esi - movzbl %bl,%edi - movzbl %cl,%ebp - movzbl (%r14,%rsi,1),%r10d - movzbl (%r14,%rdi,1),%r11d - movzbl (%r14,%rbp,1),%r12d - - movzbl %dl,%esi - movzbl %dh,%edi - movzbl %ah,%ebp - movzbl (%r14,%rsi,1),%r8d - movzbl (%r14,%rdi,1),%edi - movzbl (%r14,%rbp,1),%ebp - - shll $8,%edi - shll $8,%ebp - - xorl %edi,%r10d - xorl %ebp,%r11d - shrl $16,%edx - - movzbl %bh,%esi - movzbl %ch,%edi - shrl $16,%eax - movzbl (%r14,%rsi,1),%esi - movzbl (%r14,%rdi,1),%edi - - shll $8,%esi - shll $8,%edi - shrl $16,%ebx - xorl %esi,%r12d - xorl %edi,%r8d - shrl $16,%ecx - - movzbl %cl,%esi - movzbl %dl,%edi - movzbl %al,%ebp - movzbl (%r14,%rsi,1),%esi - movzbl (%r14,%rdi,1),%edi - movzbl (%r14,%rbp,1),%ebp - - shll $16,%esi - shll $16,%edi - shll $16,%ebp - - xorl %esi,%r10d - xorl %edi,%r11d - xorl %ebp,%r12d - - movzbl %bl,%esi - movzbl %bh,%edi - movzbl %ch,%ebp - movzbl (%r14,%rsi,1),%esi - movzbl (%r14,%rdi,1),%edi - movzbl (%r14,%rbp,1),%ebp - - shll $16,%esi - shll $24,%edi - shll $24,%ebp - - xorl %esi,%r8d - xorl %edi,%r10d - xorl %ebp,%r11d - - movzbl %dh,%esi - movzbl %ah,%edi - movl 16+12(%r15),%edx - movzbl (%r14,%rsi,1),%esi - movzbl (%r14,%rdi,1),%edi - movl 16+0(%r15),%eax - - shll $24,%esi - shll $24,%edi - - xorl %esi,%r12d - xorl %edi,%r8d - - movl 16+4(%r15),%ebx - movl 16+8(%r15),%ecx - leaq -2048(%r14),%r14 - xorl %r10d,%eax - xorl %r11d,%ebx - xorl %r12d,%ecx - xorl %r8d,%edx -.byte 0xf3,0xc3 -.size _x86_64_AES_decrypt,.-_x86_64_AES_decrypt -.type _x86_64_AES_decrypt_compact,@function -.align 16 -_x86_64_AES_decrypt_compact: -.cfi_startproc - leaq 128(%r14),%r8 - movl 0-128(%r8),%edi - movl 32-128(%r8),%ebp - movl 64-128(%r8),%r10d - movl 96-128(%r8),%r11d - movl 128-128(%r8),%edi - movl 160-128(%r8),%ebp - movl 192-128(%r8),%r10d - movl 224-128(%r8),%r11d - jmp .Ldec_loop_compact - -.align 16 -.Ldec_loop_compact: - xorl 0(%r15),%eax - xorl 4(%r15),%ebx - xorl 8(%r15),%ecx - xorl 12(%r15),%edx - leaq 16(%r15),%r15 - movzbl %al,%r10d - movzbl %bl,%r11d - movzbl %cl,%r12d - movzbl %dl,%r8d - movzbl %dh,%esi - movzbl %ah,%edi - shrl $16,%edx - movzbl %bh,%ebp - movzbl (%r14,%r10,1),%r10d - movzbl (%r14,%r11,1),%r11d - movzbl (%r14,%r12,1),%r12d - movzbl (%r14,%r8,1),%r8d - - movzbl (%r14,%rsi,1),%r9d - movzbl %ch,%esi - movzbl (%r14,%rdi,1),%r13d - movzbl (%r14,%rbp,1),%ebp - movzbl (%r14,%rsi,1),%esi - - shrl $16,%ecx - shll $8,%r13d - shll $8,%r9d - movzbl %cl,%edi - shrl $16,%eax - xorl %r9d,%r10d - shrl $16,%ebx - movzbl %dl,%r9d - - shll $8,%ebp - xorl %r13d,%r11d - shll $8,%esi - movzbl %al,%r13d - movzbl (%r14,%rdi,1),%edi - xorl %ebp,%r12d - movzbl %bl,%ebp - - shll $16,%edi - xorl %esi,%r8d - movzbl (%r14,%r9,1),%r9d - movzbl %bh,%esi - movzbl (%r14,%rbp,1),%ebp - xorl %edi,%r10d - movzbl (%r14,%r13,1),%r13d - movzbl %ch,%edi - - shll $16,%ebp - shll $16,%r9d - shll $16,%r13d - xorl %ebp,%r8d - movzbl %dh,%ebp - xorl %r9d,%r11d - shrl $8,%eax - xorl %r13d,%r12d - - movzbl (%r14,%rsi,1),%esi - movzbl (%r14,%rdi,1),%ebx - movzbl (%r14,%rbp,1),%ecx - movzbl (%r14,%rax,1),%edx - - movl %r10d,%eax - shll $24,%esi - shll $24,%ebx - shll $24,%ecx - xorl %esi,%eax - shll $24,%edx - xorl %r11d,%ebx - xorl %r12d,%ecx - xorl %r8d,%edx - cmpq 16(%rsp),%r15 - je .Ldec_compact_done - - movq 256+0(%r14),%rsi - shlq $32,%rbx - shlq $32,%rdx - movq 256+8(%r14),%rdi - orq %rbx,%rax - orq %rdx,%rcx - movq 256+16(%r14),%rbp - movq %rsi,%r9 - movq %rsi,%r12 - andq %rax,%r9 - andq %rcx,%r12 - movq %r9,%rbx - movq %r12,%rdx - shrq $7,%r9 - leaq (%rax,%rax,1),%r8 - shrq $7,%r12 - leaq (%rcx,%rcx,1),%r11 - subq %r9,%rbx - subq %r12,%rdx - andq %rdi,%r8 - andq %rdi,%r11 - andq %rbp,%rbx - andq %rbp,%rdx - xorq %rbx,%r8 - xorq %rdx,%r11 - movq %rsi,%r10 - movq %rsi,%r13 - - andq %r8,%r10 - andq %r11,%r13 - movq %r10,%rbx - movq %r13,%rdx - shrq $7,%r10 - leaq (%r8,%r8,1),%r9 - shrq $7,%r13 - leaq (%r11,%r11,1),%r12 - subq %r10,%rbx - subq %r13,%rdx - andq %rdi,%r9 - andq %rdi,%r12 - andq %rbp,%rbx - andq %rbp,%rdx - xorq %rbx,%r9 - xorq %rdx,%r12 - movq %rsi,%r10 - movq %rsi,%r13 - - andq %r9,%r10 - andq %r12,%r13 - movq %r10,%rbx - movq %r13,%rdx - shrq $7,%r10 - xorq %rax,%r8 - shrq $7,%r13 - xorq %rcx,%r11 - subq %r10,%rbx - subq %r13,%rdx - leaq (%r9,%r9,1),%r10 - leaq (%r12,%r12,1),%r13 - xorq %rax,%r9 - xorq %rcx,%r12 - andq %rdi,%r10 - andq %rdi,%r13 - andq %rbp,%rbx - andq %rbp,%rdx - xorq %rbx,%r10 - xorq %rdx,%r13 - - xorq %r10,%rax - xorq %r13,%rcx - xorq %r10,%r8 - xorq %r13,%r11 - movq %rax,%rbx - movq %rcx,%rdx - xorq %r10,%r9 - shrq $32,%rbx - xorq %r13,%r12 - shrq $32,%rdx - xorq %r8,%r10 - roll $8,%eax - xorq %r11,%r13 - roll $8,%ecx - xorq %r9,%r10 - roll $8,%ebx - xorq %r12,%r13 - - roll $8,%edx - xorl %r10d,%eax - shrq $32,%r10 - xorl %r13d,%ecx - shrq $32,%r13 - xorl %r10d,%ebx - xorl %r13d,%edx - - movq %r8,%r10 - roll $24,%r8d - movq %r11,%r13 - roll $24,%r11d - shrq $32,%r10 - xorl %r8d,%eax - shrq $32,%r13 - xorl %r11d,%ecx - roll $24,%r10d - movq %r9,%r8 - roll $24,%r13d - movq %r12,%r11 - shrq $32,%r8 - xorl %r10d,%ebx - shrq $32,%r11 - xorl %r13d,%edx - - movq 0(%r14),%rsi - roll $16,%r9d - movq 64(%r14),%rdi - roll $16,%r12d - movq 128(%r14),%rbp - roll $16,%r8d - movq 192(%r14),%r10 - xorl %r9d,%eax - roll $16,%r11d - xorl %r12d,%ecx - movq 256(%r14),%r13 - xorl %r8d,%ebx - xorl %r11d,%edx - jmp .Ldec_loop_compact -.align 16 -.Ldec_compact_done: - xorl 0(%r15),%eax - xorl 4(%r15),%ebx - xorl 8(%r15),%ecx - xorl 12(%r15),%edx -.byte 0xf3,0xc3 -.cfi_endproc -.size _x86_64_AES_decrypt_compact,.-_x86_64_AES_decrypt_compact -.align 16 -.globl aes_nohw_decrypt -.hidden aes_nohw_decrypt -.type aes_nohw_decrypt,@function -.hidden aes_nohw_decrypt -aes_nohw_decrypt: -.cfi_startproc - movq %rsp,%rax -.cfi_def_cfa_register %rax - pushq %rbx -.cfi_offset %rbx,-16 - pushq %rbp -.cfi_offset %rbp,-24 - pushq %r12 -.cfi_offset %r12,-32 - pushq %r13 -.cfi_offset %r13,-40 - pushq %r14 -.cfi_offset %r14,-48 - pushq %r15 -.cfi_offset %r15,-56 - - - leaq -63(%rdx),%rcx - andq $-64,%rsp - subq %rsp,%rcx - negq %rcx - andq $0x3c0,%rcx - subq %rcx,%rsp - subq $32,%rsp - - movq %rsi,16(%rsp) - movq %rax,24(%rsp) -.cfi_escape 0x0f,0x05,0x77,0x18,0x06,0x23,0x08 -.Ldec_prologue: - - movq %rdx,%r15 - movl 240(%r15),%r13d - - movl 0(%rdi),%eax - movl 4(%rdi),%ebx - movl 8(%rdi),%ecx - movl 12(%rdi),%edx - - shll $4,%r13d - leaq (%r15,%r13,1),%rbp - movq %r15,(%rsp) - movq %rbp,8(%rsp) - - - leaq .LAES_Td+2048(%rip),%r14 - leaq 768(%rsp),%rbp - subq %r14,%rbp - andq $0x300,%rbp - leaq (%r14,%rbp,1),%r14 - shrq $3,%rbp - addq %rbp,%r14 - - call _x86_64_AES_decrypt_compact - - movq 16(%rsp),%r9 - movq 24(%rsp),%rsi -.cfi_def_cfa %rsi,8 - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - movq -48(%rsi),%r15 -.cfi_restore %r15 - movq -40(%rsi),%r14 -.cfi_restore %r14 - movq -32(%rsi),%r13 -.cfi_restore %r13 - movq -24(%rsi),%r12 -.cfi_restore %r12 - movq -16(%rsi),%rbp -.cfi_restore %rbp - movq -8(%rsi),%rbx -.cfi_restore %rbx - leaq (%rsi),%rsp -.cfi_def_cfa_register %rsp -.Ldec_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size aes_nohw_decrypt,.-aes_nohw_decrypt -.align 16 -.globl aes_nohw_set_encrypt_key -.hidden aes_nohw_set_encrypt_key -.type aes_nohw_set_encrypt_key,@function -aes_nohw_set_encrypt_key: -.cfi_startproc - pushq %rbx -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbx,-16 - pushq %rbp -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbp,-24 - pushq %r12 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r12,-32 - pushq %r13 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r13,-40 - pushq %r14 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r14,-48 - pushq %r15 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r15,-56 - subq $8,%rsp -.cfi_adjust_cfa_offset 8 -.Lenc_key_prologue: - - call _x86_64_AES_set_encrypt_key - - movq 40(%rsp),%rbp -.cfi_restore %rbp - movq 48(%rsp),%rbx -.cfi_restore %rbx - addq $56,%rsp -.cfi_adjust_cfa_offset -56 -.Lenc_key_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size aes_nohw_set_encrypt_key,.-aes_nohw_set_encrypt_key - -.type _x86_64_AES_set_encrypt_key,@function -.align 16 -_x86_64_AES_set_encrypt_key: -.cfi_startproc - movl %esi,%ecx - movq %rdi,%rsi - movq %rdx,%rdi - - testq $-1,%rsi - jz .Lbadpointer - testq $-1,%rdi - jz .Lbadpointer - - leaq .LAES_Te(%rip),%rbp - leaq 2048+128(%rbp),%rbp - - - movl 0-128(%rbp),%eax - movl 32-128(%rbp),%ebx - movl 64-128(%rbp),%r8d - movl 96-128(%rbp),%edx - movl 128-128(%rbp),%eax - movl 160-128(%rbp),%ebx - movl 192-128(%rbp),%r8d - movl 224-128(%rbp),%edx - - cmpl $128,%ecx - je .L10rounds - cmpl $192,%ecx - je .L12rounds - cmpl $256,%ecx - je .L14rounds - movq $-2,%rax - jmp .Lexit - -.L10rounds: - movq 0(%rsi),%rax - movq 8(%rsi),%rdx - movq %rax,0(%rdi) - movq %rdx,8(%rdi) - - shrq $32,%rdx - xorl %ecx,%ecx - jmp .L10shortcut -.align 4 -.L10loop: - movl 0(%rdi),%eax - movl 12(%rdi),%edx -.L10shortcut: - movzbl %dl,%esi - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $24,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shrl $16,%edx - movzbl %dl,%esi - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $8,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shll $16,%ebx - xorl %ebx,%eax - - xorl 1024-128(%rbp,%rcx,4),%eax - movl %eax,16(%rdi) - xorl 4(%rdi),%eax - movl %eax,20(%rdi) - xorl 8(%rdi),%eax - movl %eax,24(%rdi) - xorl 12(%rdi),%eax - movl %eax,28(%rdi) - addl $1,%ecx - leaq 16(%rdi),%rdi - cmpl $10,%ecx - jl .L10loop - - movl $10,80(%rdi) - xorq %rax,%rax - jmp .Lexit - -.L12rounds: - movq 0(%rsi),%rax - movq 8(%rsi),%rbx - movq 16(%rsi),%rdx - movq %rax,0(%rdi) - movq %rbx,8(%rdi) - movq %rdx,16(%rdi) - - shrq $32,%rdx - xorl %ecx,%ecx - jmp .L12shortcut -.align 4 -.L12loop: - movl 0(%rdi),%eax - movl 20(%rdi),%edx -.L12shortcut: - movzbl %dl,%esi - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $24,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shrl $16,%edx - movzbl %dl,%esi - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $8,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shll $16,%ebx - xorl %ebx,%eax - - xorl 1024-128(%rbp,%rcx,4),%eax - movl %eax,24(%rdi) - xorl 4(%rdi),%eax - movl %eax,28(%rdi) - xorl 8(%rdi),%eax - movl %eax,32(%rdi) - xorl 12(%rdi),%eax - movl %eax,36(%rdi) - - cmpl $7,%ecx - je .L12break - addl $1,%ecx - - xorl 16(%rdi),%eax - movl %eax,40(%rdi) - xorl 20(%rdi),%eax - movl %eax,44(%rdi) - - leaq 24(%rdi),%rdi - jmp .L12loop -.L12break: - movl $12,72(%rdi) - xorq %rax,%rax - jmp .Lexit - -.L14rounds: - movq 0(%rsi),%rax - movq 8(%rsi),%rbx - movq 16(%rsi),%rcx - movq 24(%rsi),%rdx - movq %rax,0(%rdi) - movq %rbx,8(%rdi) - movq %rcx,16(%rdi) - movq %rdx,24(%rdi) - - shrq $32,%rdx - xorl %ecx,%ecx - jmp .L14shortcut -.align 4 -.L14loop: - movl 0(%rdi),%eax - movl 28(%rdi),%edx -.L14shortcut: - movzbl %dl,%esi - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $24,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shrl $16,%edx - movzbl %dl,%esi - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $8,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shll $16,%ebx - xorl %ebx,%eax - - xorl 1024-128(%rbp,%rcx,4),%eax - movl %eax,32(%rdi) - xorl 4(%rdi),%eax - movl %eax,36(%rdi) - xorl 8(%rdi),%eax - movl %eax,40(%rdi) - xorl 12(%rdi),%eax - movl %eax,44(%rdi) - - cmpl $6,%ecx - je .L14break - addl $1,%ecx - - movl %eax,%edx - movl 16(%rdi),%eax - movzbl %dl,%esi - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shrl $16,%edx - shll $8,%ebx - movzbl %dl,%esi - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $16,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shll $24,%ebx - xorl %ebx,%eax - - movl %eax,48(%rdi) - xorl 20(%rdi),%eax - movl %eax,52(%rdi) - xorl 24(%rdi),%eax - movl %eax,56(%rdi) - xorl 28(%rdi),%eax - movl %eax,60(%rdi) - - leaq 32(%rdi),%rdi - jmp .L14loop -.L14break: - movl $14,48(%rdi) - xorq %rax,%rax - jmp .Lexit - -.Lbadpointer: - movq $-1,%rax -.Lexit: -.byte 0xf3,0xc3 -.cfi_endproc -.size _x86_64_AES_set_encrypt_key,.-_x86_64_AES_set_encrypt_key -.align 16 -.globl aes_nohw_set_decrypt_key -.hidden aes_nohw_set_decrypt_key -.type aes_nohw_set_decrypt_key,@function -aes_nohw_set_decrypt_key: -.cfi_startproc - pushq %rbx -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbx,-16 - pushq %rbp -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbp,-24 - pushq %r12 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r12,-32 - pushq %r13 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r13,-40 - pushq %r14 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r14,-48 - pushq %r15 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r15,-56 - pushq %rdx -.cfi_adjust_cfa_offset 8 -.Ldec_key_prologue: - - call _x86_64_AES_set_encrypt_key - movq (%rsp),%r8 - cmpl $0,%eax - jne .Labort - - movl 240(%r8),%r14d - xorq %rdi,%rdi - leaq (%rdi,%r14,4),%rcx - movq %r8,%rsi - leaq (%r8,%rcx,4),%rdi -.align 4 -.Linvert: - movq 0(%rsi),%rax - movq 8(%rsi),%rbx - movq 0(%rdi),%rcx - movq 8(%rdi),%rdx - movq %rax,0(%rdi) - movq %rbx,8(%rdi) - movq %rcx,0(%rsi) - movq %rdx,8(%rsi) - leaq 16(%rsi),%rsi - leaq -16(%rdi),%rdi - cmpq %rsi,%rdi - jne .Linvert - - leaq .LAES_Te+2048+1024(%rip),%rax - - movq 40(%rax),%rsi - movq 48(%rax),%rdi - movq 56(%rax),%rbp - - movq %r8,%r15 - subl $1,%r14d -.align 4 -.Lpermute: - leaq 16(%r15),%r15 - movq 0(%r15),%rax - movq 8(%r15),%rcx - movq %rsi,%r9 - movq %rsi,%r12 - andq %rax,%r9 - andq %rcx,%r12 - movq %r9,%rbx - movq %r12,%rdx - shrq $7,%r9 - leaq (%rax,%rax,1),%r8 - shrq $7,%r12 - leaq (%rcx,%rcx,1),%r11 - subq %r9,%rbx - subq %r12,%rdx - andq %rdi,%r8 - andq %rdi,%r11 - andq %rbp,%rbx - andq %rbp,%rdx - xorq %rbx,%r8 - xorq %rdx,%r11 - movq %rsi,%r10 - movq %rsi,%r13 - - andq %r8,%r10 - andq %r11,%r13 - movq %r10,%rbx - movq %r13,%rdx - shrq $7,%r10 - leaq (%r8,%r8,1),%r9 - shrq $7,%r13 - leaq (%r11,%r11,1),%r12 - subq %r10,%rbx - subq %r13,%rdx - andq %rdi,%r9 - andq %rdi,%r12 - andq %rbp,%rbx - andq %rbp,%rdx - xorq %rbx,%r9 - xorq %rdx,%r12 - movq %rsi,%r10 - movq %rsi,%r13 - - andq %r9,%r10 - andq %r12,%r13 - movq %r10,%rbx - movq %r13,%rdx - shrq $7,%r10 - xorq %rax,%r8 - shrq $7,%r13 - xorq %rcx,%r11 - subq %r10,%rbx - subq %r13,%rdx - leaq (%r9,%r9,1),%r10 - leaq (%r12,%r12,1),%r13 - xorq %rax,%r9 - xorq %rcx,%r12 - andq %rdi,%r10 - andq %rdi,%r13 - andq %rbp,%rbx - andq %rbp,%rdx - xorq %rbx,%r10 - xorq %rdx,%r13 - - xorq %r10,%rax - xorq %r13,%rcx - xorq %r10,%r8 - xorq %r13,%r11 - movq %rax,%rbx - movq %rcx,%rdx - xorq %r10,%r9 - shrq $32,%rbx - xorq %r13,%r12 - shrq $32,%rdx - xorq %r8,%r10 - roll $8,%eax - xorq %r11,%r13 - roll $8,%ecx - xorq %r9,%r10 - roll $8,%ebx - xorq %r12,%r13 - - roll $8,%edx - xorl %r10d,%eax - shrq $32,%r10 - xorl %r13d,%ecx - shrq $32,%r13 - xorl %r10d,%ebx - xorl %r13d,%edx - - movq %r8,%r10 - roll $24,%r8d - movq %r11,%r13 - roll $24,%r11d - shrq $32,%r10 - xorl %r8d,%eax - shrq $32,%r13 - xorl %r11d,%ecx - roll $24,%r10d - movq %r9,%r8 - roll $24,%r13d - movq %r12,%r11 - shrq $32,%r8 - xorl %r10d,%ebx - shrq $32,%r11 - xorl %r13d,%edx - - - roll $16,%r9d - - roll $16,%r12d - - roll $16,%r8d - - xorl %r9d,%eax - roll $16,%r11d - xorl %r12d,%ecx - - xorl %r8d,%ebx - xorl %r11d,%edx - movl %eax,0(%r15) - movl %ebx,4(%r15) - movl %ecx,8(%r15) - movl %edx,12(%r15) - subl $1,%r14d - jnz .Lpermute - - xorq %rax,%rax -.Labort: - movq 8(%rsp),%r15 -.cfi_restore %r15 - movq 16(%rsp),%r14 -.cfi_restore %r14 - movq 24(%rsp),%r13 -.cfi_restore %r13 - movq 32(%rsp),%r12 -.cfi_restore %r12 - movq 40(%rsp),%rbp -.cfi_restore %rbp - movq 48(%rsp),%rbx -.cfi_restore %rbx - addq $56,%rsp -.cfi_adjust_cfa_offset -56 -.Ldec_key_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size aes_nohw_set_decrypt_key,.-aes_nohw_set_decrypt_key -.align 16 -.globl aes_nohw_cbc_encrypt -.hidden aes_nohw_cbc_encrypt -.type aes_nohw_cbc_encrypt,@function -.extern OPENSSL_ia32cap_P -.hidden OPENSSL_ia32cap_P -.hidden aes_nohw_cbc_encrypt -aes_nohw_cbc_encrypt: -.cfi_startproc - cmpq $0,%rdx - je .Lcbc_epilogue - pushfq - - -.cfi_adjust_cfa_offset 8 - pushq %rbx -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbx,-24 - pushq %rbp -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbp,-32 - pushq %r12 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r12,-40 - pushq %r13 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r13,-48 - pushq %r14 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r14,-56 - pushq %r15 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r15,-64 -.Lcbc_prologue: - - cld - movl %r9d,%r9d - - leaq .LAES_Te(%rip),%r14 - leaq .LAES_Td(%rip),%r10 - cmpq $0,%r9 - cmoveq %r10,%r14 - -.cfi_remember_state - leaq OPENSSL_ia32cap_P(%rip),%r10 - movl (%r10),%r10d - cmpq $512,%rdx - jb .Lcbc_slow_prologue - testq $15,%rdx - jnz .Lcbc_slow_prologue - btl $28,%r10d - jc .Lcbc_slow_prologue - - - leaq -88-248(%rsp),%r15 - andq $-64,%r15 - - - movq %r14,%r10 - leaq 2304(%r14),%r11 - movq %r15,%r12 - andq $0xFFF,%r10 - andq $0xFFF,%r11 - andq $0xFFF,%r12 - - cmpq %r11,%r12 - jb .Lcbc_te_break_out - subq %r11,%r12 - subq %r12,%r15 - jmp .Lcbc_te_ok -.Lcbc_te_break_out: - subq %r10,%r12 - andq $0xFFF,%r12 - addq $320,%r12 - subq %r12,%r15 -.align 4 -.Lcbc_te_ok: - - xchgq %rsp,%r15 -.cfi_def_cfa_register %r15 - - movq %r15,16(%rsp) -.cfi_escape 0x0f,0x05,0x77,0x10,0x06,0x23,0x40 -.Lcbc_fast_body: - movq %rdi,24(%rsp) - movq %rsi,32(%rsp) - movq %rdx,40(%rsp) - movq %rcx,48(%rsp) - movq %r8,56(%rsp) - movl $0,80+240(%rsp) - movq %r8,%rbp - movq %r9,%rbx - movq %rsi,%r9 - movq %rdi,%r8 - movq %rcx,%r15 - - movl 240(%r15),%eax - - movq %r15,%r10 - subq %r14,%r10 - andq $0xfff,%r10 - cmpq $2304,%r10 - jb .Lcbc_do_ecopy - cmpq $4096-248,%r10 - jb .Lcbc_skip_ecopy -.align 4 -.Lcbc_do_ecopy: - movq %r15,%rsi - leaq 80(%rsp),%rdi - leaq 80(%rsp),%r15 - movl $30,%ecx -.long 0x90A548F3 - movl %eax,(%rdi) -.Lcbc_skip_ecopy: - movq %r15,0(%rsp) - - movl $18,%ecx -.align 4 -.Lcbc_prefetch_te: - movq 0(%r14),%r10 - movq 32(%r14),%r11 - movq 64(%r14),%r12 - movq 96(%r14),%r13 - leaq 128(%r14),%r14 - subl $1,%ecx - jnz .Lcbc_prefetch_te - leaq -2304(%r14),%r14 - - cmpq $0,%rbx - je .LFAST_DECRYPT - - - movl 0(%rbp),%eax - movl 4(%rbp),%ebx - movl 8(%rbp),%ecx - movl 12(%rbp),%edx - -.align 4 -.Lcbc_fast_enc_loop: - xorl 0(%r8),%eax - xorl 4(%r8),%ebx - xorl 8(%r8),%ecx - xorl 12(%r8),%edx - movq 0(%rsp),%r15 - movq %r8,24(%rsp) - - call _x86_64_AES_encrypt - - movq 24(%rsp),%r8 - movq 40(%rsp),%r10 - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - leaq 16(%r8),%r8 - leaq 16(%r9),%r9 - subq $16,%r10 - testq $-16,%r10 - movq %r10,40(%rsp) - jnz .Lcbc_fast_enc_loop - movq 56(%rsp),%rbp - movl %eax,0(%rbp) - movl %ebx,4(%rbp) - movl %ecx,8(%rbp) - movl %edx,12(%rbp) - - jmp .Lcbc_fast_cleanup - - -.align 16 -.LFAST_DECRYPT: - cmpq %r8,%r9 - je .Lcbc_fast_dec_in_place - - movq %rbp,64(%rsp) -.align 4 -.Lcbc_fast_dec_loop: - movl 0(%r8),%eax - movl 4(%r8),%ebx - movl 8(%r8),%ecx - movl 12(%r8),%edx - movq 0(%rsp),%r15 - movq %r8,24(%rsp) - - call _x86_64_AES_decrypt - - movq 64(%rsp),%rbp - movq 24(%rsp),%r8 - movq 40(%rsp),%r10 - xorl 0(%rbp),%eax - xorl 4(%rbp),%ebx - xorl 8(%rbp),%ecx - xorl 12(%rbp),%edx - movq %r8,%rbp - - subq $16,%r10 - movq %r10,40(%rsp) - movq %rbp,64(%rsp) - - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - leaq 16(%r8),%r8 - leaq 16(%r9),%r9 - jnz .Lcbc_fast_dec_loop - movq 56(%rsp),%r12 - movq 0(%rbp),%r10 - movq 8(%rbp),%r11 - movq %r10,0(%r12) - movq %r11,8(%r12) - jmp .Lcbc_fast_cleanup - -.align 16 -.Lcbc_fast_dec_in_place: - movq 0(%rbp),%r10 - movq 8(%rbp),%r11 - movq %r10,0+64(%rsp) - movq %r11,8+64(%rsp) -.align 4 -.Lcbc_fast_dec_in_place_loop: - movl 0(%r8),%eax - movl 4(%r8),%ebx - movl 8(%r8),%ecx - movl 12(%r8),%edx - movq 0(%rsp),%r15 - movq %r8,24(%rsp) - - call _x86_64_AES_decrypt - - movq 24(%rsp),%r8 - movq 40(%rsp),%r10 - xorl 0+64(%rsp),%eax - xorl 4+64(%rsp),%ebx - xorl 8+64(%rsp),%ecx - xorl 12+64(%rsp),%edx - - movq 0(%r8),%r11 - movq 8(%r8),%r12 - subq $16,%r10 - jz .Lcbc_fast_dec_in_place_done - - movq %r11,0+64(%rsp) - movq %r12,8+64(%rsp) - - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - leaq 16(%r8),%r8 - leaq 16(%r9),%r9 - movq %r10,40(%rsp) - jmp .Lcbc_fast_dec_in_place_loop -.Lcbc_fast_dec_in_place_done: - movq 56(%rsp),%rdi - movq %r11,0(%rdi) - movq %r12,8(%rdi) - - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - -.align 4 -.Lcbc_fast_cleanup: - cmpl $0,80+240(%rsp) - leaq 80(%rsp),%rdi - je .Lcbc_exit - movl $30,%ecx - xorq %rax,%rax -.long 0x90AB48F3 - - jmp .Lcbc_exit - - -.align 16 -.Lcbc_slow_prologue: -.cfi_restore_state - - leaq -88(%rsp),%rbp - andq $-64,%rbp - - leaq -88-63(%rcx),%r10 - subq %rbp,%r10 - negq %r10 - andq $0x3c0,%r10 - subq %r10,%rbp - - xchgq %rsp,%rbp -.cfi_def_cfa_register %rbp - - movq %rbp,16(%rsp) -.cfi_escape 0x0f,0x05,0x77,0x10,0x06,0x23,0x40 -.Lcbc_slow_body: - - - - - movq %r8,56(%rsp) - movq %r8,%rbp - movq %r9,%rbx - movq %rsi,%r9 - movq %rdi,%r8 - movq %rcx,%r15 - movq %rdx,%r10 - - movl 240(%r15),%eax - movq %r15,0(%rsp) - shll $4,%eax - leaq (%r15,%rax,1),%rax - movq %rax,8(%rsp) - - - leaq 2048(%r14),%r14 - leaq 768-8(%rsp),%rax - subq %r14,%rax - andq $0x300,%rax - leaq (%r14,%rax,1),%r14 - - cmpq $0,%rbx - je .LSLOW_DECRYPT - - - testq $-16,%r10 - movl 0(%rbp),%eax - movl 4(%rbp),%ebx - movl 8(%rbp),%ecx - movl 12(%rbp),%edx - jz .Lcbc_slow_enc_tail - -.align 4 -.Lcbc_slow_enc_loop: - xorl 0(%r8),%eax - xorl 4(%r8),%ebx - xorl 8(%r8),%ecx - xorl 12(%r8),%edx - movq 0(%rsp),%r15 - movq %r8,24(%rsp) - movq %r9,32(%rsp) - movq %r10,40(%rsp) - - call _x86_64_AES_encrypt_compact - - movq 24(%rsp),%r8 - movq 32(%rsp),%r9 - movq 40(%rsp),%r10 - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - leaq 16(%r8),%r8 - leaq 16(%r9),%r9 - subq $16,%r10 - testq $-16,%r10 - jnz .Lcbc_slow_enc_loop - testq $15,%r10 - jnz .Lcbc_slow_enc_tail - movq 56(%rsp),%rbp - movl %eax,0(%rbp) - movl %ebx,4(%rbp) - movl %ecx,8(%rbp) - movl %edx,12(%rbp) - - jmp .Lcbc_exit - -.align 4 -.Lcbc_slow_enc_tail: - movq %rax,%r11 - movq %rcx,%r12 - movq %r10,%rcx - movq %r8,%rsi - movq %r9,%rdi -.long 0x9066A4F3 - movq $16,%rcx - subq %r10,%rcx - xorq %rax,%rax -.long 0x9066AAF3 - movq %r9,%r8 - movq $16,%r10 - movq %r11,%rax - movq %r12,%rcx - jmp .Lcbc_slow_enc_loop - -.align 16 -.LSLOW_DECRYPT: - shrq $3,%rax - addq %rax,%r14 - - movq 0(%rbp),%r11 - movq 8(%rbp),%r12 - movq %r11,0+64(%rsp) - movq %r12,8+64(%rsp) - -.align 4 -.Lcbc_slow_dec_loop: - movl 0(%r8),%eax - movl 4(%r8),%ebx - movl 8(%r8),%ecx - movl 12(%r8),%edx - movq 0(%rsp),%r15 - movq %r8,24(%rsp) - movq %r9,32(%rsp) - movq %r10,40(%rsp) - - call _x86_64_AES_decrypt_compact - - movq 24(%rsp),%r8 - movq 32(%rsp),%r9 - movq 40(%rsp),%r10 - xorl 0+64(%rsp),%eax - xorl 4+64(%rsp),%ebx - xorl 8+64(%rsp),%ecx - xorl 12+64(%rsp),%edx - - movq 0(%r8),%r11 - movq 8(%r8),%r12 - subq $16,%r10 - jc .Lcbc_slow_dec_partial - jz .Lcbc_slow_dec_done - - movq %r11,0+64(%rsp) - movq %r12,8+64(%rsp) - - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - leaq 16(%r8),%r8 - leaq 16(%r9),%r9 - jmp .Lcbc_slow_dec_loop -.Lcbc_slow_dec_done: - movq 56(%rsp),%rdi - movq %r11,0(%rdi) - movq %r12,8(%rdi) - - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - jmp .Lcbc_exit - -.align 4 -.Lcbc_slow_dec_partial: - movq 56(%rsp),%rdi - movq %r11,0(%rdi) - movq %r12,8(%rdi) - - movl %eax,0+64(%rsp) - movl %ebx,4+64(%rsp) - movl %ecx,8+64(%rsp) - movl %edx,12+64(%rsp) - - movq %r9,%rdi - leaq 64(%rsp),%rsi - leaq 16(%r10),%rcx -.long 0x9066A4F3 - jmp .Lcbc_exit - -.align 16 -.Lcbc_exit: - movq 16(%rsp),%rsi -.cfi_def_cfa %rsi,64 - movq (%rsi),%r15 -.cfi_restore %r15 - movq 8(%rsi),%r14 -.cfi_restore %r14 - movq 16(%rsi),%r13 -.cfi_restore %r13 - movq 24(%rsi),%r12 -.cfi_restore %r12 - movq 32(%rsi),%rbp -.cfi_restore %rbp - movq 40(%rsi),%rbx -.cfi_restore %rbx - leaq 48(%rsi),%rsp -.cfi_def_cfa %rsp,16 -.Lcbc_popfq: - popfq - - -.cfi_adjust_cfa_offset -8 -.Lcbc_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size aes_nohw_cbc_encrypt,.-aes_nohw_cbc_encrypt -.align 64 -.LAES_Te: -.long 0xa56363c6,0xa56363c6 -.long 0x847c7cf8,0x847c7cf8 -.long 0x997777ee,0x997777ee -.long 0x8d7b7bf6,0x8d7b7bf6 -.long 0x0df2f2ff,0x0df2f2ff -.long 0xbd6b6bd6,0xbd6b6bd6 -.long 0xb16f6fde,0xb16f6fde -.long 0x54c5c591,0x54c5c591 -.long 0x50303060,0x50303060 -.long 0x03010102,0x03010102 -.long 0xa96767ce,0xa96767ce -.long 0x7d2b2b56,0x7d2b2b56 -.long 0x19fefee7,0x19fefee7 -.long 0x62d7d7b5,0x62d7d7b5 -.long 0xe6abab4d,0xe6abab4d -.long 0x9a7676ec,0x9a7676ec -.long 0x45caca8f,0x45caca8f -.long 0x9d82821f,0x9d82821f -.long 0x40c9c989,0x40c9c989 -.long 0x877d7dfa,0x877d7dfa -.long 0x15fafaef,0x15fafaef -.long 0xeb5959b2,0xeb5959b2 -.long 0xc947478e,0xc947478e -.long 0x0bf0f0fb,0x0bf0f0fb -.long 0xecadad41,0xecadad41 -.long 0x67d4d4b3,0x67d4d4b3 -.long 0xfda2a25f,0xfda2a25f -.long 0xeaafaf45,0xeaafaf45 -.long 0xbf9c9c23,0xbf9c9c23 -.long 0xf7a4a453,0xf7a4a453 -.long 0x967272e4,0x967272e4 -.long 0x5bc0c09b,0x5bc0c09b -.long 0xc2b7b775,0xc2b7b775 -.long 0x1cfdfde1,0x1cfdfde1 -.long 0xae93933d,0xae93933d -.long 0x6a26264c,0x6a26264c -.long 0x5a36366c,0x5a36366c -.long 0x413f3f7e,0x413f3f7e -.long 0x02f7f7f5,0x02f7f7f5 -.long 0x4fcccc83,0x4fcccc83 -.long 0x5c343468,0x5c343468 -.long 0xf4a5a551,0xf4a5a551 -.long 0x34e5e5d1,0x34e5e5d1 -.long 0x08f1f1f9,0x08f1f1f9 -.long 0x937171e2,0x937171e2 -.long 0x73d8d8ab,0x73d8d8ab -.long 0x53313162,0x53313162 -.long 0x3f15152a,0x3f15152a -.long 0x0c040408,0x0c040408 -.long 0x52c7c795,0x52c7c795 -.long 0x65232346,0x65232346 -.long 0x5ec3c39d,0x5ec3c39d -.long 0x28181830,0x28181830 -.long 0xa1969637,0xa1969637 -.long 0x0f05050a,0x0f05050a -.long 0xb59a9a2f,0xb59a9a2f -.long 0x0907070e,0x0907070e -.long 0x36121224,0x36121224 -.long 0x9b80801b,0x9b80801b -.long 0x3de2e2df,0x3de2e2df -.long 0x26ebebcd,0x26ebebcd -.long 0x6927274e,0x6927274e -.long 0xcdb2b27f,0xcdb2b27f -.long 0x9f7575ea,0x9f7575ea -.long 0x1b090912,0x1b090912 -.long 0x9e83831d,0x9e83831d -.long 0x742c2c58,0x742c2c58 -.long 0x2e1a1a34,0x2e1a1a34 -.long 0x2d1b1b36,0x2d1b1b36 -.long 0xb26e6edc,0xb26e6edc -.long 0xee5a5ab4,0xee5a5ab4 -.long 0xfba0a05b,0xfba0a05b -.long 0xf65252a4,0xf65252a4 -.long 0x4d3b3b76,0x4d3b3b76 -.long 0x61d6d6b7,0x61d6d6b7 -.long 0xceb3b37d,0xceb3b37d -.long 0x7b292952,0x7b292952 -.long 0x3ee3e3dd,0x3ee3e3dd -.long 0x712f2f5e,0x712f2f5e -.long 0x97848413,0x97848413 -.long 0xf55353a6,0xf55353a6 -.long 0x68d1d1b9,0x68d1d1b9 -.long 0x00000000,0x00000000 -.long 0x2cededc1,0x2cededc1 -.long 0x60202040,0x60202040 -.long 0x1ffcfce3,0x1ffcfce3 -.long 0xc8b1b179,0xc8b1b179 -.long 0xed5b5bb6,0xed5b5bb6 -.long 0xbe6a6ad4,0xbe6a6ad4 -.long 0x46cbcb8d,0x46cbcb8d -.long 0xd9bebe67,0xd9bebe67 -.long 0x4b393972,0x4b393972 -.long 0xde4a4a94,0xde4a4a94 -.long 0xd44c4c98,0xd44c4c98 -.long 0xe85858b0,0xe85858b0 -.long 0x4acfcf85,0x4acfcf85 -.long 0x6bd0d0bb,0x6bd0d0bb -.long 0x2aefefc5,0x2aefefc5 -.long 0xe5aaaa4f,0xe5aaaa4f -.long 0x16fbfbed,0x16fbfbed -.long 0xc5434386,0xc5434386 -.long 0xd74d4d9a,0xd74d4d9a -.long 0x55333366,0x55333366 -.long 0x94858511,0x94858511 -.long 0xcf45458a,0xcf45458a -.long 0x10f9f9e9,0x10f9f9e9 -.long 0x06020204,0x06020204 -.long 0x817f7ffe,0x817f7ffe -.long 0xf05050a0,0xf05050a0 -.long 0x443c3c78,0x443c3c78 -.long 0xba9f9f25,0xba9f9f25 -.long 0xe3a8a84b,0xe3a8a84b -.long 0xf35151a2,0xf35151a2 -.long 0xfea3a35d,0xfea3a35d -.long 0xc0404080,0xc0404080 -.long 0x8a8f8f05,0x8a8f8f05 -.long 0xad92923f,0xad92923f -.long 0xbc9d9d21,0xbc9d9d21 -.long 0x48383870,0x48383870 -.long 0x04f5f5f1,0x04f5f5f1 -.long 0xdfbcbc63,0xdfbcbc63 -.long 0xc1b6b677,0xc1b6b677 -.long 0x75dadaaf,0x75dadaaf -.long 0x63212142,0x63212142 -.long 0x30101020,0x30101020 -.long 0x1affffe5,0x1affffe5 -.long 0x0ef3f3fd,0x0ef3f3fd -.long 0x6dd2d2bf,0x6dd2d2bf -.long 0x4ccdcd81,0x4ccdcd81 -.long 0x140c0c18,0x140c0c18 -.long 0x35131326,0x35131326 -.long 0x2fececc3,0x2fececc3 -.long 0xe15f5fbe,0xe15f5fbe -.long 0xa2979735,0xa2979735 -.long 0xcc444488,0xcc444488 -.long 0x3917172e,0x3917172e -.long 0x57c4c493,0x57c4c493 -.long 0xf2a7a755,0xf2a7a755 -.long 0x827e7efc,0x827e7efc -.long 0x473d3d7a,0x473d3d7a -.long 0xac6464c8,0xac6464c8 -.long 0xe75d5dba,0xe75d5dba -.long 0x2b191932,0x2b191932 -.long 0x957373e6,0x957373e6 -.long 0xa06060c0,0xa06060c0 -.long 0x98818119,0x98818119 -.long 0xd14f4f9e,0xd14f4f9e -.long 0x7fdcdca3,0x7fdcdca3 -.long 0x66222244,0x66222244 -.long 0x7e2a2a54,0x7e2a2a54 -.long 0xab90903b,0xab90903b -.long 0x8388880b,0x8388880b -.long 0xca46468c,0xca46468c -.long 0x29eeeec7,0x29eeeec7 -.long 0xd3b8b86b,0xd3b8b86b -.long 0x3c141428,0x3c141428 -.long 0x79dedea7,0x79dedea7 -.long 0xe25e5ebc,0xe25e5ebc -.long 0x1d0b0b16,0x1d0b0b16 -.long 0x76dbdbad,0x76dbdbad -.long 0x3be0e0db,0x3be0e0db -.long 0x56323264,0x56323264 -.long 0x4e3a3a74,0x4e3a3a74 -.long 0x1e0a0a14,0x1e0a0a14 -.long 0xdb494992,0xdb494992 -.long 0x0a06060c,0x0a06060c -.long 0x6c242448,0x6c242448 -.long 0xe45c5cb8,0xe45c5cb8 -.long 0x5dc2c29f,0x5dc2c29f -.long 0x6ed3d3bd,0x6ed3d3bd -.long 0xefacac43,0xefacac43 -.long 0xa66262c4,0xa66262c4 -.long 0xa8919139,0xa8919139 -.long 0xa4959531,0xa4959531 -.long 0x37e4e4d3,0x37e4e4d3 -.long 0x8b7979f2,0x8b7979f2 -.long 0x32e7e7d5,0x32e7e7d5 -.long 0x43c8c88b,0x43c8c88b -.long 0x5937376e,0x5937376e -.long 0xb76d6dda,0xb76d6dda -.long 0x8c8d8d01,0x8c8d8d01 -.long 0x64d5d5b1,0x64d5d5b1 -.long 0xd24e4e9c,0xd24e4e9c -.long 0xe0a9a949,0xe0a9a949 -.long 0xb46c6cd8,0xb46c6cd8 -.long 0xfa5656ac,0xfa5656ac -.long 0x07f4f4f3,0x07f4f4f3 -.long 0x25eaeacf,0x25eaeacf -.long 0xaf6565ca,0xaf6565ca -.long 0x8e7a7af4,0x8e7a7af4 -.long 0xe9aeae47,0xe9aeae47 -.long 0x18080810,0x18080810 -.long 0xd5baba6f,0xd5baba6f -.long 0x887878f0,0x887878f0 -.long 0x6f25254a,0x6f25254a -.long 0x722e2e5c,0x722e2e5c -.long 0x241c1c38,0x241c1c38 -.long 0xf1a6a657,0xf1a6a657 -.long 0xc7b4b473,0xc7b4b473 -.long 0x51c6c697,0x51c6c697 -.long 0x23e8e8cb,0x23e8e8cb -.long 0x7cdddda1,0x7cdddda1 -.long 0x9c7474e8,0x9c7474e8 -.long 0x211f1f3e,0x211f1f3e -.long 0xdd4b4b96,0xdd4b4b96 -.long 0xdcbdbd61,0xdcbdbd61 -.long 0x868b8b0d,0x868b8b0d -.long 0x858a8a0f,0x858a8a0f -.long 0x907070e0,0x907070e0 -.long 0x423e3e7c,0x423e3e7c -.long 0xc4b5b571,0xc4b5b571 -.long 0xaa6666cc,0xaa6666cc -.long 0xd8484890,0xd8484890 -.long 0x05030306,0x05030306 -.long 0x01f6f6f7,0x01f6f6f7 -.long 0x120e0e1c,0x120e0e1c -.long 0xa36161c2,0xa36161c2 -.long 0x5f35356a,0x5f35356a -.long 0xf95757ae,0xf95757ae -.long 0xd0b9b969,0xd0b9b969 -.long 0x91868617,0x91868617 -.long 0x58c1c199,0x58c1c199 -.long 0x271d1d3a,0x271d1d3a -.long 0xb99e9e27,0xb99e9e27 -.long 0x38e1e1d9,0x38e1e1d9 -.long 0x13f8f8eb,0x13f8f8eb -.long 0xb398982b,0xb398982b -.long 0x33111122,0x33111122 -.long 0xbb6969d2,0xbb6969d2 -.long 0x70d9d9a9,0x70d9d9a9 -.long 0x898e8e07,0x898e8e07 -.long 0xa7949433,0xa7949433 -.long 0xb69b9b2d,0xb69b9b2d -.long 0x221e1e3c,0x221e1e3c -.long 0x92878715,0x92878715 -.long 0x20e9e9c9,0x20e9e9c9 -.long 0x49cece87,0x49cece87 -.long 0xff5555aa,0xff5555aa -.long 0x78282850,0x78282850 -.long 0x7adfdfa5,0x7adfdfa5 -.long 0x8f8c8c03,0x8f8c8c03 -.long 0xf8a1a159,0xf8a1a159 -.long 0x80898909,0x80898909 -.long 0x170d0d1a,0x170d0d1a -.long 0xdabfbf65,0xdabfbf65 -.long 0x31e6e6d7,0x31e6e6d7 -.long 0xc6424284,0xc6424284 -.long 0xb86868d0,0xb86868d0 -.long 0xc3414182,0xc3414182 -.long 0xb0999929,0xb0999929 -.long 0x772d2d5a,0x772d2d5a -.long 0x110f0f1e,0x110f0f1e -.long 0xcbb0b07b,0xcbb0b07b -.long 0xfc5454a8,0xfc5454a8 -.long 0xd6bbbb6d,0xd6bbbb6d -.long 0x3a16162c,0x3a16162c -.byte 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 -.byte 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 -.byte 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 -.byte 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 -.byte 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc -.byte 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 -.byte 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a -.byte 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 -.byte 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 -.byte 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 -.byte 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b -.byte 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf -.byte 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 -.byte 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 -.byte 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 -.byte 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 -.byte 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 -.byte 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 -.byte 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 -.byte 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb -.byte 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c -.byte 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 -.byte 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 -.byte 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 -.byte 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 -.byte 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a -.byte 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e -.byte 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e -.byte 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 -.byte 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf -.byte 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 -.byte 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 -.byte 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 -.byte 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 -.byte 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 -.byte 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 -.byte 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc -.byte 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 -.byte 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a -.byte 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 -.byte 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 -.byte 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 -.byte 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b -.byte 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf -.byte 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 -.byte 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 -.byte 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 -.byte 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 -.byte 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 -.byte 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 -.byte 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 -.byte 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb -.byte 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c -.byte 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 -.byte 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 -.byte 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 -.byte 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 -.byte 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a -.byte 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e -.byte 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e -.byte 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 -.byte 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf -.byte 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 -.byte 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 -.byte 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 -.byte 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 -.byte 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 -.byte 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 -.byte 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc -.byte 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 -.byte 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a -.byte 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 -.byte 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 -.byte 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 -.byte 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b -.byte 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf -.byte 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 -.byte 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 -.byte 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 -.byte 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 -.byte 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 -.byte 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 -.byte 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 -.byte 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb -.byte 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c -.byte 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 -.byte 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 -.byte 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 -.byte 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 -.byte 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a -.byte 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e -.byte 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e -.byte 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 -.byte 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf -.byte 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 -.byte 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 -.byte 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 -.byte 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 -.byte 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 -.byte 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 -.byte 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc -.byte 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 -.byte 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a -.byte 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 -.byte 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 -.byte 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 -.byte 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b -.byte 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf -.byte 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 -.byte 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 -.byte 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 -.byte 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 -.byte 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 -.byte 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 -.byte 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 -.byte 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb -.byte 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c -.byte 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 -.byte 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 -.byte 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 -.byte 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 -.byte 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a -.byte 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e -.byte 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e -.byte 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 -.byte 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf -.byte 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 -.byte 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 -.long 0x00000001, 0x00000002, 0x00000004, 0x00000008 -.long 0x00000010, 0x00000020, 0x00000040, 0x00000080 -.long 0x0000001b, 0x00000036, 0x80808080, 0x80808080 -.long 0xfefefefe, 0xfefefefe, 0x1b1b1b1b, 0x1b1b1b1b -.align 64 -.LAES_Td: -.long 0x50a7f451,0x50a7f451 -.long 0x5365417e,0x5365417e -.long 0xc3a4171a,0xc3a4171a -.long 0x965e273a,0x965e273a -.long 0xcb6bab3b,0xcb6bab3b -.long 0xf1459d1f,0xf1459d1f -.long 0xab58faac,0xab58faac -.long 0x9303e34b,0x9303e34b -.long 0x55fa3020,0x55fa3020 -.long 0xf66d76ad,0xf66d76ad -.long 0x9176cc88,0x9176cc88 -.long 0x254c02f5,0x254c02f5 -.long 0xfcd7e54f,0xfcd7e54f -.long 0xd7cb2ac5,0xd7cb2ac5 -.long 0x80443526,0x80443526 -.long 0x8fa362b5,0x8fa362b5 -.long 0x495ab1de,0x495ab1de -.long 0x671bba25,0x671bba25 -.long 0x980eea45,0x980eea45 -.long 0xe1c0fe5d,0xe1c0fe5d -.long 0x02752fc3,0x02752fc3 -.long 0x12f04c81,0x12f04c81 -.long 0xa397468d,0xa397468d -.long 0xc6f9d36b,0xc6f9d36b -.long 0xe75f8f03,0xe75f8f03 -.long 0x959c9215,0x959c9215 -.long 0xeb7a6dbf,0xeb7a6dbf -.long 0xda595295,0xda595295 -.long 0x2d83bed4,0x2d83bed4 -.long 0xd3217458,0xd3217458 -.long 0x2969e049,0x2969e049 -.long 0x44c8c98e,0x44c8c98e -.long 0x6a89c275,0x6a89c275 -.long 0x78798ef4,0x78798ef4 -.long 0x6b3e5899,0x6b3e5899 -.long 0xdd71b927,0xdd71b927 -.long 0xb64fe1be,0xb64fe1be -.long 0x17ad88f0,0x17ad88f0 -.long 0x66ac20c9,0x66ac20c9 -.long 0xb43ace7d,0xb43ace7d -.long 0x184adf63,0x184adf63 -.long 0x82311ae5,0x82311ae5 -.long 0x60335197,0x60335197 -.long 0x457f5362,0x457f5362 -.long 0xe07764b1,0xe07764b1 -.long 0x84ae6bbb,0x84ae6bbb -.long 0x1ca081fe,0x1ca081fe -.long 0x942b08f9,0x942b08f9 -.long 0x58684870,0x58684870 -.long 0x19fd458f,0x19fd458f -.long 0x876cde94,0x876cde94 -.long 0xb7f87b52,0xb7f87b52 -.long 0x23d373ab,0x23d373ab -.long 0xe2024b72,0xe2024b72 -.long 0x578f1fe3,0x578f1fe3 -.long 0x2aab5566,0x2aab5566 -.long 0x0728ebb2,0x0728ebb2 -.long 0x03c2b52f,0x03c2b52f -.long 0x9a7bc586,0x9a7bc586 -.long 0xa50837d3,0xa50837d3 -.long 0xf2872830,0xf2872830 -.long 0xb2a5bf23,0xb2a5bf23 -.long 0xba6a0302,0xba6a0302 -.long 0x5c8216ed,0x5c8216ed -.long 0x2b1ccf8a,0x2b1ccf8a -.long 0x92b479a7,0x92b479a7 -.long 0xf0f207f3,0xf0f207f3 -.long 0xa1e2694e,0xa1e2694e -.long 0xcdf4da65,0xcdf4da65 -.long 0xd5be0506,0xd5be0506 -.long 0x1f6234d1,0x1f6234d1 -.long 0x8afea6c4,0x8afea6c4 -.long 0x9d532e34,0x9d532e34 -.long 0xa055f3a2,0xa055f3a2 -.long 0x32e18a05,0x32e18a05 -.long 0x75ebf6a4,0x75ebf6a4 -.long 0x39ec830b,0x39ec830b -.long 0xaaef6040,0xaaef6040 -.long 0x069f715e,0x069f715e -.long 0x51106ebd,0x51106ebd -.long 0xf98a213e,0xf98a213e -.long 0x3d06dd96,0x3d06dd96 -.long 0xae053edd,0xae053edd -.long 0x46bde64d,0x46bde64d -.long 0xb58d5491,0xb58d5491 -.long 0x055dc471,0x055dc471 -.long 0x6fd40604,0x6fd40604 -.long 0xff155060,0xff155060 -.long 0x24fb9819,0x24fb9819 -.long 0x97e9bdd6,0x97e9bdd6 -.long 0xcc434089,0xcc434089 -.long 0x779ed967,0x779ed967 -.long 0xbd42e8b0,0xbd42e8b0 -.long 0x888b8907,0x888b8907 -.long 0x385b19e7,0x385b19e7 -.long 0xdbeec879,0xdbeec879 -.long 0x470a7ca1,0x470a7ca1 -.long 0xe90f427c,0xe90f427c -.long 0xc91e84f8,0xc91e84f8 -.long 0x00000000,0x00000000 -.long 0x83868009,0x83868009 -.long 0x48ed2b32,0x48ed2b32 -.long 0xac70111e,0xac70111e -.long 0x4e725a6c,0x4e725a6c -.long 0xfbff0efd,0xfbff0efd -.long 0x5638850f,0x5638850f -.long 0x1ed5ae3d,0x1ed5ae3d -.long 0x27392d36,0x27392d36 -.long 0x64d90f0a,0x64d90f0a -.long 0x21a65c68,0x21a65c68 -.long 0xd1545b9b,0xd1545b9b -.long 0x3a2e3624,0x3a2e3624 -.long 0xb1670a0c,0xb1670a0c -.long 0x0fe75793,0x0fe75793 -.long 0xd296eeb4,0xd296eeb4 -.long 0x9e919b1b,0x9e919b1b -.long 0x4fc5c080,0x4fc5c080 -.long 0xa220dc61,0xa220dc61 -.long 0x694b775a,0x694b775a -.long 0x161a121c,0x161a121c -.long 0x0aba93e2,0x0aba93e2 -.long 0xe52aa0c0,0xe52aa0c0 -.long 0x43e0223c,0x43e0223c -.long 0x1d171b12,0x1d171b12 -.long 0x0b0d090e,0x0b0d090e -.long 0xadc78bf2,0xadc78bf2 -.long 0xb9a8b62d,0xb9a8b62d -.long 0xc8a91e14,0xc8a91e14 -.long 0x8519f157,0x8519f157 -.long 0x4c0775af,0x4c0775af -.long 0xbbdd99ee,0xbbdd99ee -.long 0xfd607fa3,0xfd607fa3 -.long 0x9f2601f7,0x9f2601f7 -.long 0xbcf5725c,0xbcf5725c -.long 0xc53b6644,0xc53b6644 -.long 0x347efb5b,0x347efb5b -.long 0x7629438b,0x7629438b -.long 0xdcc623cb,0xdcc623cb -.long 0x68fcedb6,0x68fcedb6 -.long 0x63f1e4b8,0x63f1e4b8 -.long 0xcadc31d7,0xcadc31d7 -.long 0x10856342,0x10856342 -.long 0x40229713,0x40229713 -.long 0x2011c684,0x2011c684 -.long 0x7d244a85,0x7d244a85 -.long 0xf83dbbd2,0xf83dbbd2 -.long 0x1132f9ae,0x1132f9ae -.long 0x6da129c7,0x6da129c7 -.long 0x4b2f9e1d,0x4b2f9e1d -.long 0xf330b2dc,0xf330b2dc -.long 0xec52860d,0xec52860d -.long 0xd0e3c177,0xd0e3c177 -.long 0x6c16b32b,0x6c16b32b -.long 0x99b970a9,0x99b970a9 -.long 0xfa489411,0xfa489411 -.long 0x2264e947,0x2264e947 -.long 0xc48cfca8,0xc48cfca8 -.long 0x1a3ff0a0,0x1a3ff0a0 -.long 0xd82c7d56,0xd82c7d56 -.long 0xef903322,0xef903322 -.long 0xc74e4987,0xc74e4987 -.long 0xc1d138d9,0xc1d138d9 -.long 0xfea2ca8c,0xfea2ca8c -.long 0x360bd498,0x360bd498 -.long 0xcf81f5a6,0xcf81f5a6 -.long 0x28de7aa5,0x28de7aa5 -.long 0x268eb7da,0x268eb7da -.long 0xa4bfad3f,0xa4bfad3f -.long 0xe49d3a2c,0xe49d3a2c -.long 0x0d927850,0x0d927850 -.long 0x9bcc5f6a,0x9bcc5f6a -.long 0x62467e54,0x62467e54 -.long 0xc2138df6,0xc2138df6 -.long 0xe8b8d890,0xe8b8d890 -.long 0x5ef7392e,0x5ef7392e -.long 0xf5afc382,0xf5afc382 -.long 0xbe805d9f,0xbe805d9f -.long 0x7c93d069,0x7c93d069 -.long 0xa92dd56f,0xa92dd56f -.long 0xb31225cf,0xb31225cf -.long 0x3b99acc8,0x3b99acc8 -.long 0xa77d1810,0xa77d1810 -.long 0x6e639ce8,0x6e639ce8 -.long 0x7bbb3bdb,0x7bbb3bdb -.long 0x097826cd,0x097826cd -.long 0xf418596e,0xf418596e -.long 0x01b79aec,0x01b79aec -.long 0xa89a4f83,0xa89a4f83 -.long 0x656e95e6,0x656e95e6 -.long 0x7ee6ffaa,0x7ee6ffaa -.long 0x08cfbc21,0x08cfbc21 -.long 0xe6e815ef,0xe6e815ef -.long 0xd99be7ba,0xd99be7ba -.long 0xce366f4a,0xce366f4a -.long 0xd4099fea,0xd4099fea -.long 0xd67cb029,0xd67cb029 -.long 0xafb2a431,0xafb2a431 -.long 0x31233f2a,0x31233f2a -.long 0x3094a5c6,0x3094a5c6 -.long 0xc066a235,0xc066a235 -.long 0x37bc4e74,0x37bc4e74 -.long 0xa6ca82fc,0xa6ca82fc -.long 0xb0d090e0,0xb0d090e0 -.long 0x15d8a733,0x15d8a733 -.long 0x4a9804f1,0x4a9804f1 -.long 0xf7daec41,0xf7daec41 -.long 0x0e50cd7f,0x0e50cd7f -.long 0x2ff69117,0x2ff69117 -.long 0x8dd64d76,0x8dd64d76 -.long 0x4db0ef43,0x4db0ef43 -.long 0x544daacc,0x544daacc -.long 0xdf0496e4,0xdf0496e4 -.long 0xe3b5d19e,0xe3b5d19e -.long 0x1b886a4c,0x1b886a4c -.long 0xb81f2cc1,0xb81f2cc1 -.long 0x7f516546,0x7f516546 -.long 0x04ea5e9d,0x04ea5e9d -.long 0x5d358c01,0x5d358c01 -.long 0x737487fa,0x737487fa -.long 0x2e410bfb,0x2e410bfb -.long 0x5a1d67b3,0x5a1d67b3 -.long 0x52d2db92,0x52d2db92 -.long 0x335610e9,0x335610e9 -.long 0x1347d66d,0x1347d66d -.long 0x8c61d79a,0x8c61d79a -.long 0x7a0ca137,0x7a0ca137 -.long 0x8e14f859,0x8e14f859 -.long 0x893c13eb,0x893c13eb -.long 0xee27a9ce,0xee27a9ce -.long 0x35c961b7,0x35c961b7 -.long 0xede51ce1,0xede51ce1 -.long 0x3cb1477a,0x3cb1477a -.long 0x59dfd29c,0x59dfd29c -.long 0x3f73f255,0x3f73f255 -.long 0x79ce1418,0x79ce1418 -.long 0xbf37c773,0xbf37c773 -.long 0xeacdf753,0xeacdf753 -.long 0x5baafd5f,0x5baafd5f -.long 0x146f3ddf,0x146f3ddf -.long 0x86db4478,0x86db4478 -.long 0x81f3afca,0x81f3afca -.long 0x3ec468b9,0x3ec468b9 -.long 0x2c342438,0x2c342438 -.long 0x5f40a3c2,0x5f40a3c2 -.long 0x72c31d16,0x72c31d16 -.long 0x0c25e2bc,0x0c25e2bc -.long 0x8b493c28,0x8b493c28 -.long 0x41950dff,0x41950dff -.long 0x7101a839,0x7101a839 -.long 0xdeb30c08,0xdeb30c08 -.long 0x9ce4b4d8,0x9ce4b4d8 -.long 0x90c15664,0x90c15664 -.long 0x6184cb7b,0x6184cb7b -.long 0x70b632d5,0x70b632d5 -.long 0x745c6c48,0x745c6c48 -.long 0x4257b8d0,0x4257b8d0 -.byte 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38 -.byte 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb -.byte 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87 -.byte 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb -.byte 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d -.byte 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e -.byte 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2 -.byte 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25 -.byte 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16 -.byte 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92 -.byte 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda -.byte 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84 -.byte 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a -.byte 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06 -.byte 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02 -.byte 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b -.byte 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea -.byte 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73 -.byte 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85 -.byte 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e -.byte 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89 -.byte 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b -.byte 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20 -.byte 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4 -.byte 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31 -.byte 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f -.byte 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d -.byte 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef -.byte 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0 -.byte 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61 -.byte 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26 -.byte 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d -.long 0x80808080, 0x80808080, 0xfefefefe, 0xfefefefe -.long 0x1b1b1b1b, 0x1b1b1b1b, 0, 0 -.byte 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38 -.byte 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb -.byte 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87 -.byte 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb -.byte 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d -.byte 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e -.byte 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2 -.byte 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25 -.byte 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16 -.byte 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92 -.byte 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda -.byte 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84 -.byte 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a -.byte 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06 -.byte 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02 -.byte 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b -.byte 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea -.byte 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73 -.byte 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85 -.byte 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e -.byte 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89 -.byte 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b -.byte 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20 -.byte 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4 -.byte 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31 -.byte 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f -.byte 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d -.byte 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef -.byte 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0 -.byte 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61 -.byte 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26 -.byte 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d -.long 0x80808080, 0x80808080, 0xfefefefe, 0xfefefefe -.long 0x1b1b1b1b, 0x1b1b1b1b, 0, 0 -.byte 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38 -.byte 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb -.byte 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87 -.byte 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb -.byte 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d -.byte 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e -.byte 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2 -.byte 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25 -.byte 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16 -.byte 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92 -.byte 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda -.byte 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84 -.byte 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a -.byte 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06 -.byte 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02 -.byte 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b -.byte 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea -.byte 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73 -.byte 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85 -.byte 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e -.byte 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89 -.byte 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b -.byte 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20 -.byte 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4 -.byte 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31 -.byte 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f -.byte 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d -.byte 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef -.byte 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0 -.byte 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61 -.byte 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26 -.byte 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d -.long 0x80808080, 0x80808080, 0xfefefefe, 0xfefefefe -.long 0x1b1b1b1b, 0x1b1b1b1b, 0, 0 -.byte 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38 -.byte 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb -.byte 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87 -.byte 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb -.byte 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d -.byte 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e -.byte 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2 -.byte 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25 -.byte 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16 -.byte 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92 -.byte 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda -.byte 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84 -.byte 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a -.byte 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06 -.byte 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02 -.byte 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b -.byte 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea -.byte 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73 -.byte 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85 -.byte 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e -.byte 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89 -.byte 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b -.byte 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20 -.byte 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4 -.byte 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31 -.byte 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f -.byte 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d -.byte 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef -.byte 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0 -.byte 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61 -.byte 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26 -.byte 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d -.long 0x80808080, 0x80808080, 0xfefefefe, 0xfefefefe -.long 0x1b1b1b1b, 0x1b1b1b1b, 0, 0 -.byte 65,69,83,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 -.align 64 -#endif diff --git a/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/aesni-gcm-x86_64.S b/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/aesni-gcm-x86_64.S index 240cb5d4730..65ab5c78fe2 100644 --- a/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/aesni-gcm-x86_64.S +++ b/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/aesni-gcm-x86_64.S @@ -556,12 +556,10 @@ _aesni_ctr32_6x: .align 32 aesni_gcm_encrypt: .cfi_startproc -#ifndef NDEBUG -#ifndef BORINGSSL_FIPS +#ifdef BORINGSSL_DISPATCH_TEST .extern BORINGSSL_function_hit .hidden BORINGSSL_function_hit movb $1,BORINGSSL_function_hit+2(%rip) -#endif #endif xorq %r10,%r10 @@ -851,3 +849,4 @@ aesni_gcm_encrypt: .byte 65,69,83,45,78,73,32,71,67,77,32,109,111,100,117,108,101,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 .align 64 #endif +.section .note.GNU-stack,"",@progbits diff --git a/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/aesni-x86_64.S b/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/aesni-x86_64.S index 42e55307ff2..b98107f3694 100644 --- a/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/aesni-x86_64.S +++ b/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/aesni-x86_64.S @@ -20,12 +20,10 @@ .align 16 aes_hw_encrypt: .cfi_startproc -#ifndef NDEBUG -#ifndef BORINGSSL_FIPS +#ifdef BORINGSSL_DISPATCH_TEST .extern BORINGSSL_function_hit .hidden BORINGSSL_function_hit movb $1,BORINGSSL_function_hit+1(%rip) -#endif #endif movups (%rdi),%xmm2 movl 240(%rdx),%eax @@ -887,10 +885,8 @@ aes_hw_ecb_encrypt: .align 16 aes_hw_ctr32_encrypt_blocks: .cfi_startproc -#ifndef NDEBUG -#ifndef BORINGSSL_FIPS +#ifdef BORINGSSL_DISPATCH_TEST movb $1,BORINGSSL_function_hit(%rip) -#endif #endif cmpq $1,%rdx jne .Lctr32_bulk @@ -2111,11 +2107,9 @@ aes_hw_set_decrypt_key: aes_hw_set_encrypt_key: __aesni_set_encrypt_key: .cfi_startproc -#ifndef NDEBUG -#ifndef BORINGSSL_FIPS +#ifdef BORINGSSL_DISPATCH_TEST movb $1,BORINGSSL_function_hit+3(%rip) #endif -#endif .byte 0x48,0x83,0xEC,0x08 .cfi_adjust_cfa_offset 8 movq $-1,%rax @@ -2509,3 +2503,4 @@ __aesni_set_encrypt_key: .byte 65,69,83,32,102,111,114,32,73,110,116,101,108,32,65,69,83,45,78,73,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 .align 64 #endif +.section .note.GNU-stack,"",@progbits diff --git a/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/ghash-ssse3-x86_64.S b/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/ghash-ssse3-x86_64.S index ecf5b66ffff..a44790b169f 100644 --- a/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/ghash-ssse3-x86_64.S +++ b/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/ghash-ssse3-x86_64.S @@ -424,3 +424,4 @@ gcm_ghash_ssse3: .Llow4_mask: .quad 0x0f0f0f0f0f0f0f0f, 0x0f0f0f0f0f0f0f0f #endif +.section .note.GNU-stack,"",@progbits diff --git a/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/ghash-x86_64.S b/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/ghash-x86_64.S index 0b36afac943..3eb1af43553 100644 --- a/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/ghash-x86_64.S +++ b/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/ghash-x86_64.S @@ -14,709 +14,6 @@ .text .extern OPENSSL_ia32cap_P .hidden OPENSSL_ia32cap_P - -.globl gcm_gmult_4bit -.hidden gcm_gmult_4bit -.type gcm_gmult_4bit,@function -.align 16 -gcm_gmult_4bit: -.cfi_startproc - pushq %rbx -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbx,-16 - pushq %rbp -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbp,-24 - pushq %r12 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r12,-32 - pushq %r13 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r13,-40 - pushq %r14 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r14,-48 - pushq %r15 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r15,-56 - subq $280,%rsp -.cfi_adjust_cfa_offset 280 -.Lgmult_prologue: - - movzbq 15(%rdi),%r8 - leaq .Lrem_4bit(%rip),%r11 - xorq %rax,%rax - xorq %rbx,%rbx - movb %r8b,%al - movb %r8b,%bl - shlb $4,%al - movq $14,%rcx - movq 8(%rsi,%rax,1),%r8 - movq (%rsi,%rax,1),%r9 - andb $0xf0,%bl - movq %r8,%rdx - jmp .Loop1 - -.align 16 -.Loop1: - shrq $4,%r8 - andq $0xf,%rdx - movq %r9,%r10 - movb (%rdi,%rcx,1),%al - shrq $4,%r9 - xorq 8(%rsi,%rbx,1),%r8 - shlq $60,%r10 - xorq (%rsi,%rbx,1),%r9 - movb %al,%bl - xorq (%r11,%rdx,8),%r9 - movq %r8,%rdx - shlb $4,%al - xorq %r10,%r8 - decq %rcx - js .Lbreak1 - - shrq $4,%r8 - andq $0xf,%rdx - movq %r9,%r10 - shrq $4,%r9 - xorq 8(%rsi,%rax,1),%r8 - shlq $60,%r10 - xorq (%rsi,%rax,1),%r9 - andb $0xf0,%bl - xorq (%r11,%rdx,8),%r9 - movq %r8,%rdx - xorq %r10,%r8 - jmp .Loop1 - -.align 16 -.Lbreak1: - shrq $4,%r8 - andq $0xf,%rdx - movq %r9,%r10 - shrq $4,%r9 - xorq 8(%rsi,%rax,1),%r8 - shlq $60,%r10 - xorq (%rsi,%rax,1),%r9 - andb $0xf0,%bl - xorq (%r11,%rdx,8),%r9 - movq %r8,%rdx - xorq %r10,%r8 - - shrq $4,%r8 - andq $0xf,%rdx - movq %r9,%r10 - shrq $4,%r9 - xorq 8(%rsi,%rbx,1),%r8 - shlq $60,%r10 - xorq (%rsi,%rbx,1),%r9 - xorq %r10,%r8 - xorq (%r11,%rdx,8),%r9 - - bswapq %r8 - bswapq %r9 - movq %r8,8(%rdi) - movq %r9,(%rdi) - - leaq 280+48(%rsp),%rsi -.cfi_def_cfa %rsi,8 - movq -8(%rsi),%rbx -.cfi_restore %rbx - leaq (%rsi),%rsp -.cfi_def_cfa_register %rsp -.Lgmult_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size gcm_gmult_4bit,.-gcm_gmult_4bit -.globl gcm_ghash_4bit -.hidden gcm_ghash_4bit -.type gcm_ghash_4bit,@function -.align 16 -gcm_ghash_4bit: -.cfi_startproc - pushq %rbx -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbx,-16 - pushq %rbp -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbp,-24 - pushq %r12 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r12,-32 - pushq %r13 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r13,-40 - pushq %r14 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r14,-48 - pushq %r15 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r15,-56 - subq $280,%rsp -.cfi_adjust_cfa_offset 280 -.Lghash_prologue: - movq %rdx,%r14 - movq %rcx,%r15 - subq $-128,%rsi - leaq 16+128(%rsp),%rbp - xorl %edx,%edx - movq 0+0-128(%rsi),%r8 - movq 0+8-128(%rsi),%rax - movb %al,%dl - shrq $4,%rax - movq %r8,%r10 - shrq $4,%r8 - movq 16+0-128(%rsi),%r9 - shlb $4,%dl - movq 16+8-128(%rsi),%rbx - shlq $60,%r10 - movb %dl,0(%rsp) - orq %r10,%rax - movb %bl,%dl - shrq $4,%rbx - movq %r9,%r10 - shrq $4,%r9 - movq %r8,0(%rbp) - movq 32+0-128(%rsi),%r8 - shlb $4,%dl - movq %rax,0-128(%rbp) - movq 32+8-128(%rsi),%rax - shlq $60,%r10 - movb %dl,1(%rsp) - orq %r10,%rbx - movb %al,%dl - shrq $4,%rax - movq %r8,%r10 - shrq $4,%r8 - movq %r9,8(%rbp) - movq 48+0-128(%rsi),%r9 - shlb $4,%dl - movq %rbx,8-128(%rbp) - movq 48+8-128(%rsi),%rbx - shlq $60,%r10 - movb %dl,2(%rsp) - orq %r10,%rax - movb %bl,%dl - shrq $4,%rbx - movq %r9,%r10 - shrq $4,%r9 - movq %r8,16(%rbp) - movq 64+0-128(%rsi),%r8 - shlb $4,%dl - movq %rax,16-128(%rbp) - movq 64+8-128(%rsi),%rax - shlq $60,%r10 - movb %dl,3(%rsp) - orq %r10,%rbx - movb %al,%dl - shrq $4,%rax - movq %r8,%r10 - shrq $4,%r8 - movq %r9,24(%rbp) - movq 80+0-128(%rsi),%r9 - shlb $4,%dl - movq %rbx,24-128(%rbp) - movq 80+8-128(%rsi),%rbx - shlq $60,%r10 - movb %dl,4(%rsp) - orq %r10,%rax - movb %bl,%dl - shrq $4,%rbx - movq %r9,%r10 - shrq $4,%r9 - movq %r8,32(%rbp) - movq 96+0-128(%rsi),%r8 - shlb $4,%dl - movq %rax,32-128(%rbp) - movq 96+8-128(%rsi),%rax - shlq $60,%r10 - movb %dl,5(%rsp) - orq %r10,%rbx - movb %al,%dl - shrq $4,%rax - movq %r8,%r10 - shrq $4,%r8 - movq %r9,40(%rbp) - movq 112+0-128(%rsi),%r9 - shlb $4,%dl - movq %rbx,40-128(%rbp) - movq 112+8-128(%rsi),%rbx - shlq $60,%r10 - movb %dl,6(%rsp) - orq %r10,%rax - movb %bl,%dl - shrq $4,%rbx - movq %r9,%r10 - shrq $4,%r9 - movq %r8,48(%rbp) - movq 128+0-128(%rsi),%r8 - shlb $4,%dl - movq %rax,48-128(%rbp) - movq 128+8-128(%rsi),%rax - shlq $60,%r10 - movb %dl,7(%rsp) - orq %r10,%rbx - movb %al,%dl - shrq $4,%rax - movq %r8,%r10 - shrq $4,%r8 - movq %r9,56(%rbp) - movq 144+0-128(%rsi),%r9 - shlb $4,%dl - movq %rbx,56-128(%rbp) - movq 144+8-128(%rsi),%rbx - shlq $60,%r10 - movb %dl,8(%rsp) - orq %r10,%rax - movb %bl,%dl - shrq $4,%rbx - movq %r9,%r10 - shrq $4,%r9 - movq %r8,64(%rbp) - movq 160+0-128(%rsi),%r8 - shlb $4,%dl - movq %rax,64-128(%rbp) - movq 160+8-128(%rsi),%rax - shlq $60,%r10 - movb %dl,9(%rsp) - orq %r10,%rbx - movb %al,%dl - shrq $4,%rax - movq %r8,%r10 - shrq $4,%r8 - movq %r9,72(%rbp) - movq 176+0-128(%rsi),%r9 - shlb $4,%dl - movq %rbx,72-128(%rbp) - movq 176+8-128(%rsi),%rbx - shlq $60,%r10 - movb %dl,10(%rsp) - orq %r10,%rax - movb %bl,%dl - shrq $4,%rbx - movq %r9,%r10 - shrq $4,%r9 - movq %r8,80(%rbp) - movq 192+0-128(%rsi),%r8 - shlb $4,%dl - movq %rax,80-128(%rbp) - movq 192+8-128(%rsi),%rax - shlq $60,%r10 - movb %dl,11(%rsp) - orq %r10,%rbx - movb %al,%dl - shrq $4,%rax - movq %r8,%r10 - shrq $4,%r8 - movq %r9,88(%rbp) - movq 208+0-128(%rsi),%r9 - shlb $4,%dl - movq %rbx,88-128(%rbp) - movq 208+8-128(%rsi),%rbx - shlq $60,%r10 - movb %dl,12(%rsp) - orq %r10,%rax - movb %bl,%dl - shrq $4,%rbx - movq %r9,%r10 - shrq $4,%r9 - movq %r8,96(%rbp) - movq 224+0-128(%rsi),%r8 - shlb $4,%dl - movq %rax,96-128(%rbp) - movq 224+8-128(%rsi),%rax - shlq $60,%r10 - movb %dl,13(%rsp) - orq %r10,%rbx - movb %al,%dl - shrq $4,%rax - movq %r8,%r10 - shrq $4,%r8 - movq %r9,104(%rbp) - movq 240+0-128(%rsi),%r9 - shlb $4,%dl - movq %rbx,104-128(%rbp) - movq 240+8-128(%rsi),%rbx - shlq $60,%r10 - movb %dl,14(%rsp) - orq %r10,%rax - movb %bl,%dl - shrq $4,%rbx - movq %r9,%r10 - shrq $4,%r9 - movq %r8,112(%rbp) - shlb $4,%dl - movq %rax,112-128(%rbp) - shlq $60,%r10 - movb %dl,15(%rsp) - orq %r10,%rbx - movq %r9,120(%rbp) - movq %rbx,120-128(%rbp) - addq $-128,%rsi - movq 8(%rdi),%r8 - movq 0(%rdi),%r9 - addq %r14,%r15 - leaq .Lrem_8bit(%rip),%r11 - jmp .Louter_loop -.align 16 -.Louter_loop: - xorq (%r14),%r9 - movq 8(%r14),%rdx - leaq 16(%r14),%r14 - xorq %r8,%rdx - movq %r9,(%rdi) - movq %rdx,8(%rdi) - shrq $32,%rdx - xorq %rax,%rax - roll $8,%edx - movb %dl,%al - movzbl %dl,%ebx - shlb $4,%al - shrl $4,%ebx - roll $8,%edx - movq 8(%rsi,%rax,1),%r8 - movq (%rsi,%rax,1),%r9 - movb %dl,%al - movzbl %dl,%ecx - shlb $4,%al - movzbq (%rsp,%rbx,1),%r12 - shrl $4,%ecx - xorq %r8,%r12 - movq %r9,%r10 - shrq $8,%r8 - movzbq %r12b,%r12 - shrq $8,%r9 - xorq -128(%rbp,%rbx,8),%r8 - shlq $56,%r10 - xorq (%rbp,%rbx,8),%r9 - roll $8,%edx - xorq 8(%rsi,%rax,1),%r8 - xorq (%rsi,%rax,1),%r9 - movb %dl,%al - xorq %r10,%r8 - movzwq (%r11,%r12,2),%r12 - movzbl %dl,%ebx - shlb $4,%al - movzbq (%rsp,%rcx,1),%r13 - shrl $4,%ebx - shlq $48,%r12 - xorq %r8,%r13 - movq %r9,%r10 - xorq %r12,%r9 - shrq $8,%r8 - movzbq %r13b,%r13 - shrq $8,%r9 - xorq -128(%rbp,%rcx,8),%r8 - shlq $56,%r10 - xorq (%rbp,%rcx,8),%r9 - roll $8,%edx - xorq 8(%rsi,%rax,1),%r8 - xorq (%rsi,%rax,1),%r9 - movb %dl,%al - xorq %r10,%r8 - movzwq (%r11,%r13,2),%r13 - movzbl %dl,%ecx - shlb $4,%al - movzbq (%rsp,%rbx,1),%r12 - shrl $4,%ecx - shlq $48,%r13 - xorq %r8,%r12 - movq %r9,%r10 - xorq %r13,%r9 - shrq $8,%r8 - movzbq %r12b,%r12 - movl 8(%rdi),%edx - shrq $8,%r9 - xorq -128(%rbp,%rbx,8),%r8 - shlq $56,%r10 - xorq (%rbp,%rbx,8),%r9 - roll $8,%edx - xorq 8(%rsi,%rax,1),%r8 - xorq (%rsi,%rax,1),%r9 - movb %dl,%al - xorq %r10,%r8 - movzwq (%r11,%r12,2),%r12 - movzbl %dl,%ebx - shlb $4,%al - movzbq (%rsp,%rcx,1),%r13 - shrl $4,%ebx - shlq $48,%r12 - xorq %r8,%r13 - movq %r9,%r10 - xorq %r12,%r9 - shrq $8,%r8 - movzbq %r13b,%r13 - shrq $8,%r9 - xorq -128(%rbp,%rcx,8),%r8 - shlq $56,%r10 - xorq (%rbp,%rcx,8),%r9 - roll $8,%edx - xorq 8(%rsi,%rax,1),%r8 - xorq (%rsi,%rax,1),%r9 - movb %dl,%al - xorq %r10,%r8 - movzwq (%r11,%r13,2),%r13 - movzbl %dl,%ecx - shlb $4,%al - movzbq (%rsp,%rbx,1),%r12 - shrl $4,%ecx - shlq $48,%r13 - xorq %r8,%r12 - movq %r9,%r10 - xorq %r13,%r9 - shrq $8,%r8 - movzbq %r12b,%r12 - shrq $8,%r9 - xorq -128(%rbp,%rbx,8),%r8 - shlq $56,%r10 - xorq (%rbp,%rbx,8),%r9 - roll $8,%edx - xorq 8(%rsi,%rax,1),%r8 - xorq (%rsi,%rax,1),%r9 - movb %dl,%al - xorq %r10,%r8 - movzwq (%r11,%r12,2),%r12 - movzbl %dl,%ebx - shlb $4,%al - movzbq (%rsp,%rcx,1),%r13 - shrl $4,%ebx - shlq $48,%r12 - xorq %r8,%r13 - movq %r9,%r10 - xorq %r12,%r9 - shrq $8,%r8 - movzbq %r13b,%r13 - shrq $8,%r9 - xorq -128(%rbp,%rcx,8),%r8 - shlq $56,%r10 - xorq (%rbp,%rcx,8),%r9 - roll $8,%edx - xorq 8(%rsi,%rax,1),%r8 - xorq (%rsi,%rax,1),%r9 - movb %dl,%al - xorq %r10,%r8 - movzwq (%r11,%r13,2),%r13 - movzbl %dl,%ecx - shlb $4,%al - movzbq (%rsp,%rbx,1),%r12 - shrl $4,%ecx - shlq $48,%r13 - xorq %r8,%r12 - movq %r9,%r10 - xorq %r13,%r9 - shrq $8,%r8 - movzbq %r12b,%r12 - movl 4(%rdi),%edx - shrq $8,%r9 - xorq -128(%rbp,%rbx,8),%r8 - shlq $56,%r10 - xorq (%rbp,%rbx,8),%r9 - roll $8,%edx - xorq 8(%rsi,%rax,1),%r8 - xorq (%rsi,%rax,1),%r9 - movb %dl,%al - xorq %r10,%r8 - movzwq (%r11,%r12,2),%r12 - movzbl %dl,%ebx - shlb $4,%al - movzbq (%rsp,%rcx,1),%r13 - shrl $4,%ebx - shlq $48,%r12 - xorq %r8,%r13 - movq %r9,%r10 - xorq %r12,%r9 - shrq $8,%r8 - movzbq %r13b,%r13 - shrq $8,%r9 - xorq -128(%rbp,%rcx,8),%r8 - shlq $56,%r10 - xorq (%rbp,%rcx,8),%r9 - roll $8,%edx - xorq 8(%rsi,%rax,1),%r8 - xorq (%rsi,%rax,1),%r9 - movb %dl,%al - xorq %r10,%r8 - movzwq (%r11,%r13,2),%r13 - movzbl %dl,%ecx - shlb $4,%al - movzbq (%rsp,%rbx,1),%r12 - shrl $4,%ecx - shlq $48,%r13 - xorq %r8,%r12 - movq %r9,%r10 - xorq %r13,%r9 - shrq $8,%r8 - movzbq %r12b,%r12 - shrq $8,%r9 - xorq -128(%rbp,%rbx,8),%r8 - shlq $56,%r10 - xorq (%rbp,%rbx,8),%r9 - roll $8,%edx - xorq 8(%rsi,%rax,1),%r8 - xorq (%rsi,%rax,1),%r9 - movb %dl,%al - xorq %r10,%r8 - movzwq (%r11,%r12,2),%r12 - movzbl %dl,%ebx - shlb $4,%al - movzbq (%rsp,%rcx,1),%r13 - shrl $4,%ebx - shlq $48,%r12 - xorq %r8,%r13 - movq %r9,%r10 - xorq %r12,%r9 - shrq $8,%r8 - movzbq %r13b,%r13 - shrq $8,%r9 - xorq -128(%rbp,%rcx,8),%r8 - shlq $56,%r10 - xorq (%rbp,%rcx,8),%r9 - roll $8,%edx - xorq 8(%rsi,%rax,1),%r8 - xorq (%rsi,%rax,1),%r9 - movb %dl,%al - xorq %r10,%r8 - movzwq (%r11,%r13,2),%r13 - movzbl %dl,%ecx - shlb $4,%al - movzbq (%rsp,%rbx,1),%r12 - shrl $4,%ecx - shlq $48,%r13 - xorq %r8,%r12 - movq %r9,%r10 - xorq %r13,%r9 - shrq $8,%r8 - movzbq %r12b,%r12 - movl 0(%rdi),%edx - shrq $8,%r9 - xorq -128(%rbp,%rbx,8),%r8 - shlq $56,%r10 - xorq (%rbp,%rbx,8),%r9 - roll $8,%edx - xorq 8(%rsi,%rax,1),%r8 - xorq (%rsi,%rax,1),%r9 - movb %dl,%al - xorq %r10,%r8 - movzwq (%r11,%r12,2),%r12 - movzbl %dl,%ebx - shlb $4,%al - movzbq (%rsp,%rcx,1),%r13 - shrl $4,%ebx - shlq $48,%r12 - xorq %r8,%r13 - movq %r9,%r10 - xorq %r12,%r9 - shrq $8,%r8 - movzbq %r13b,%r13 - shrq $8,%r9 - xorq -128(%rbp,%rcx,8),%r8 - shlq $56,%r10 - xorq (%rbp,%rcx,8),%r9 - roll $8,%edx - xorq 8(%rsi,%rax,1),%r8 - xorq (%rsi,%rax,1),%r9 - movb %dl,%al - xorq %r10,%r8 - movzwq (%r11,%r13,2),%r13 - movzbl %dl,%ecx - shlb $4,%al - movzbq (%rsp,%rbx,1),%r12 - shrl $4,%ecx - shlq $48,%r13 - xorq %r8,%r12 - movq %r9,%r10 - xorq %r13,%r9 - shrq $8,%r8 - movzbq %r12b,%r12 - shrq $8,%r9 - xorq -128(%rbp,%rbx,8),%r8 - shlq $56,%r10 - xorq (%rbp,%rbx,8),%r9 - roll $8,%edx - xorq 8(%rsi,%rax,1),%r8 - xorq (%rsi,%rax,1),%r9 - movb %dl,%al - xorq %r10,%r8 - movzwq (%r11,%r12,2),%r12 - movzbl %dl,%ebx - shlb $4,%al - movzbq (%rsp,%rcx,1),%r13 - shrl $4,%ebx - shlq $48,%r12 - xorq %r8,%r13 - movq %r9,%r10 - xorq %r12,%r9 - shrq $8,%r8 - movzbq %r13b,%r13 - shrq $8,%r9 - xorq -128(%rbp,%rcx,8),%r8 - shlq $56,%r10 - xorq (%rbp,%rcx,8),%r9 - roll $8,%edx - xorq 8(%rsi,%rax,1),%r8 - xorq (%rsi,%rax,1),%r9 - movb %dl,%al - xorq %r10,%r8 - movzwq (%r11,%r13,2),%r13 - movzbl %dl,%ecx - shlb $4,%al - movzbq (%rsp,%rbx,1),%r12 - andl $240,%ecx - shlq $48,%r13 - xorq %r8,%r12 - movq %r9,%r10 - xorq %r13,%r9 - shrq $8,%r8 - movzbq %r12b,%r12 - movl -4(%rdi),%edx - shrq $8,%r9 - xorq -128(%rbp,%rbx,8),%r8 - shlq $56,%r10 - xorq (%rbp,%rbx,8),%r9 - movzwq (%r11,%r12,2),%r12 - xorq 8(%rsi,%rax,1),%r8 - xorq (%rsi,%rax,1),%r9 - shlq $48,%r12 - xorq %r10,%r8 - xorq %r12,%r9 - movzbq %r8b,%r13 - shrq $4,%r8 - movq %r9,%r10 - shlb $4,%r13b - shrq $4,%r9 - xorq 8(%rsi,%rcx,1),%r8 - movzwq (%r11,%r13,2),%r13 - shlq $60,%r10 - xorq (%rsi,%rcx,1),%r9 - xorq %r10,%r8 - shlq $48,%r13 - bswapq %r8 - xorq %r13,%r9 - bswapq %r9 - cmpq %r15,%r14 - jb .Louter_loop - movq %r8,8(%rdi) - movq %r9,(%rdi) - - leaq 280+48(%rsp),%rsi -.cfi_def_cfa %rsi,8 - movq -48(%rsi),%r15 -.cfi_restore %r15 - movq -40(%rsi),%r14 -.cfi_restore %r14 - movq -32(%rsi),%r13 -.cfi_restore %r13 - movq -24(%rsi),%r12 -.cfi_restore %r12 - movq -16(%rsi),%rbp -.cfi_restore %rbp - movq -8(%rsi),%rbx -.cfi_restore %rbx - leaq 0(%rsi),%rsp -.cfi_def_cfa_register %rsp -.Lghash_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size gcm_ghash_4bit,.-gcm_ghash_4bit .globl gcm_init_clmul .hidden gcm_init_clmul .type gcm_init_clmul,@function @@ -1822,50 +1119,9 @@ gcm_ghash_avx: .byte 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0xc2 .L7_mask: .long 7,0,7,0 -.L7_mask_poly: -.long 7,0,450,0 .align 64 -.type .Lrem_4bit,@object -.Lrem_4bit: -.long 0,0,0,471859200,0,943718400,0,610271232 -.long 0,1887436800,0,1822425088,0,1220542464,0,1423966208 -.long 0,3774873600,0,4246732800,0,3644850176,0,3311403008 -.long 0,2441084928,0,2376073216,0,2847932416,0,3051356160 -.type .Lrem_8bit,@object -.Lrem_8bit: -.value 0x0000,0x01C2,0x0384,0x0246,0x0708,0x06CA,0x048C,0x054E -.value 0x0E10,0x0FD2,0x0D94,0x0C56,0x0918,0x08DA,0x0A9C,0x0B5E -.value 0x1C20,0x1DE2,0x1FA4,0x1E66,0x1B28,0x1AEA,0x18AC,0x196E -.value 0x1230,0x13F2,0x11B4,0x1076,0x1538,0x14FA,0x16BC,0x177E -.value 0x3840,0x3982,0x3BC4,0x3A06,0x3F48,0x3E8A,0x3CCC,0x3D0E -.value 0x3650,0x3792,0x35D4,0x3416,0x3158,0x309A,0x32DC,0x331E -.value 0x2460,0x25A2,0x27E4,0x2626,0x2368,0x22AA,0x20EC,0x212E -.value 0x2A70,0x2BB2,0x29F4,0x2836,0x2D78,0x2CBA,0x2EFC,0x2F3E -.value 0x7080,0x7142,0x7304,0x72C6,0x7788,0x764A,0x740C,0x75CE -.value 0x7E90,0x7F52,0x7D14,0x7CD6,0x7998,0x785A,0x7A1C,0x7BDE -.value 0x6CA0,0x6D62,0x6F24,0x6EE6,0x6BA8,0x6A6A,0x682C,0x69EE -.value 0x62B0,0x6372,0x6134,0x60F6,0x65B8,0x647A,0x663C,0x67FE -.value 0x48C0,0x4902,0x4B44,0x4A86,0x4FC8,0x4E0A,0x4C4C,0x4D8E -.value 0x46D0,0x4712,0x4554,0x4496,0x41D8,0x401A,0x425C,0x439E -.value 0x54E0,0x5522,0x5764,0x56A6,0x53E8,0x522A,0x506C,0x51AE -.value 0x5AF0,0x5B32,0x5974,0x58B6,0x5DF8,0x5C3A,0x5E7C,0x5FBE -.value 0xE100,0xE0C2,0xE284,0xE346,0xE608,0xE7CA,0xE58C,0xE44E -.value 0xEF10,0xEED2,0xEC94,0xED56,0xE818,0xE9DA,0xEB9C,0xEA5E -.value 0xFD20,0xFCE2,0xFEA4,0xFF66,0xFA28,0xFBEA,0xF9AC,0xF86E -.value 0xF330,0xF2F2,0xF0B4,0xF176,0xF438,0xF5FA,0xF7BC,0xF67E -.value 0xD940,0xD882,0xDAC4,0xDB06,0xDE48,0xDF8A,0xDDCC,0xDC0E -.value 0xD750,0xD692,0xD4D4,0xD516,0xD058,0xD19A,0xD3DC,0xD21E -.value 0xC560,0xC4A2,0xC6E4,0xC726,0xC268,0xC3AA,0xC1EC,0xC02E -.value 0xCB70,0xCAB2,0xC8F4,0xC936,0xCC78,0xCDBA,0xCFFC,0xCE3E -.value 0x9180,0x9042,0x9204,0x93C6,0x9688,0x974A,0x950C,0x94CE -.value 0x9F90,0x9E52,0x9C14,0x9DD6,0x9898,0x995A,0x9B1C,0x9ADE -.value 0x8DA0,0x8C62,0x8E24,0x8FE6,0x8AA8,0x8B6A,0x892C,0x88EE -.value 0x83B0,0x8272,0x8034,0x81F6,0x84B8,0x857A,0x873C,0x86FE -.value 0xA9C0,0xA802,0xAA44,0xAB86,0xAEC8,0xAF0A,0xAD4C,0xAC8E -.value 0xA7D0,0xA612,0xA454,0xA596,0xA0D8,0xA11A,0xA35C,0xA29E -.value 0xB5E0,0xB422,0xB664,0xB7A6,0xB2E8,0xB32A,0xB16C,0xB0AE -.value 0xBBF0,0xBA32,0xB874,0xB9B6,0xBCF8,0xBD3A,0xBF7C,0xBEBE .byte 71,72,65,83,72,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 .align 64 #endif +.section .note.GNU-stack,"",@progbits diff --git a/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/md5-x86_64.S b/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/md5-x86_64.S index 18e2e9282a8..04aaf057e60 100644 --- a/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/md5-x86_64.S +++ b/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/md5-x86_64.S @@ -699,3 +699,4 @@ md5_block_asm_data_order: .cfi_endproc .size md5_block_asm_data_order,.-md5_block_asm_data_order #endif +.section .note.GNU-stack,"",@progbits diff --git a/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/p256-x86_64-asm.S b/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/p256-x86_64-asm.S index 067575ec751..85f48990128 100644 --- a/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/p256-x86_64-asm.S +++ b/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/p256-x86_64-asm.S @@ -4540,3 +4540,4 @@ ecp_nistz256_point_add_affinex: .cfi_endproc .size ecp_nistz256_point_add_affinex,.-ecp_nistz256_point_add_affinex #endif +.section .note.GNU-stack,"",@progbits diff --git a/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/p256_beeu-x86_64-asm.S b/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/p256_beeu-x86_64-asm.S index 5dfecc85ebf..d072a83479b 100644 --- a/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/p256_beeu-x86_64-asm.S +++ b/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/p256_beeu-x86_64-asm.S @@ -340,3 +340,4 @@ beeu_mod_inverse_vartime: .size beeu_mod_inverse_vartime, .-beeu_mod_inverse_vartime #endif +.section .note.GNU-stack,"",@progbits diff --git a/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/rdrand-x86_64.S b/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/rdrand-x86_64.S index fefccd6fdf2..18d66f6f7f7 100644 --- a/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/rdrand-x86_64.S +++ b/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/rdrand-x86_64.S @@ -60,3 +60,4 @@ CRYPTO_rdrand_multiple8_buf: .cfi_endproc .size CRYPTO_rdrand_multiple8_buf,.-CRYPTO_rdrand_multiple8_buf #endif +.section .note.GNU-stack,"",@progbits diff --git a/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/rsaz-avx2.S b/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/rsaz-avx2.S index 579c7055565..faccd484b00 100644 --- a/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/rsaz-avx2.S +++ b/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/rsaz-avx2.S @@ -1746,3 +1746,4 @@ rsaz_1024_gather5_avx2: .long 4,4,4,4, 4,4,4,4 .align 64 #endif +.section .note.GNU-stack,"",@progbits diff --git a/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/sha1-x86_64.S b/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/sha1-x86_64.S index 044f36f0ca6..964687dc756 100644 --- a/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/sha1-x86_64.S +++ b/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/sha1-x86_64.S @@ -27,6 +27,11 @@ sha1_block_data_order: movl 8(%r10),%r10d testl $512,%r8d jz .Lialu + testl $536870912,%r10d + jnz _shaext_shortcut + andl $296,%r10d + cmpl $296,%r10d + je _avx2_shortcut andl $268435456,%r8d andl $1073741824,%r9d orl %r9d,%r8d @@ -1266,6 +1271,175 @@ sha1_block_data_order: .byte 0xf3,0xc3 .cfi_endproc .size sha1_block_data_order,.-sha1_block_data_order +.type sha1_block_data_order_shaext,@function +.align 32 +sha1_block_data_order_shaext: +_shaext_shortcut: +.cfi_startproc + movdqu (%rdi),%xmm0 + movd 16(%rdi),%xmm1 + movdqa K_XX_XX+160(%rip),%xmm3 + + movdqu (%rsi),%xmm4 + pshufd $27,%xmm0,%xmm0 + movdqu 16(%rsi),%xmm5 + pshufd $27,%xmm1,%xmm1 + movdqu 32(%rsi),%xmm6 +.byte 102,15,56,0,227 + movdqu 48(%rsi),%xmm7 +.byte 102,15,56,0,235 +.byte 102,15,56,0,243 + movdqa %xmm1,%xmm9 +.byte 102,15,56,0,251 + jmp .Loop_shaext + +.align 16 +.Loop_shaext: + decq %rdx + leaq 64(%rsi),%r8 + paddd %xmm4,%xmm1 + cmovneq %r8,%rsi + movdqa %xmm0,%xmm8 +.byte 15,56,201,229 + movdqa %xmm0,%xmm2 +.byte 15,58,204,193,0 +.byte 15,56,200,213 + pxor %xmm6,%xmm4 +.byte 15,56,201,238 +.byte 15,56,202,231 + + movdqa %xmm0,%xmm1 +.byte 15,58,204,194,0 +.byte 15,56,200,206 + pxor %xmm7,%xmm5 +.byte 15,56,202,236 +.byte 15,56,201,247 + movdqa %xmm0,%xmm2 +.byte 15,58,204,193,0 +.byte 15,56,200,215 + pxor %xmm4,%xmm6 +.byte 15,56,201,252 +.byte 15,56,202,245 + + movdqa %xmm0,%xmm1 +.byte 15,58,204,194,0 +.byte 15,56,200,204 + pxor %xmm5,%xmm7 +.byte 15,56,202,254 +.byte 15,56,201,229 + movdqa %xmm0,%xmm2 +.byte 15,58,204,193,0 +.byte 15,56,200,213 + pxor %xmm6,%xmm4 +.byte 15,56,201,238 +.byte 15,56,202,231 + + movdqa %xmm0,%xmm1 +.byte 15,58,204,194,1 +.byte 15,56,200,206 + pxor %xmm7,%xmm5 +.byte 15,56,202,236 +.byte 15,56,201,247 + movdqa %xmm0,%xmm2 +.byte 15,58,204,193,1 +.byte 15,56,200,215 + pxor %xmm4,%xmm6 +.byte 15,56,201,252 +.byte 15,56,202,245 + + movdqa %xmm0,%xmm1 +.byte 15,58,204,194,1 +.byte 15,56,200,204 + pxor %xmm5,%xmm7 +.byte 15,56,202,254 +.byte 15,56,201,229 + movdqa %xmm0,%xmm2 +.byte 15,58,204,193,1 +.byte 15,56,200,213 + pxor %xmm6,%xmm4 +.byte 15,56,201,238 +.byte 15,56,202,231 + + movdqa %xmm0,%xmm1 +.byte 15,58,204,194,1 +.byte 15,56,200,206 + pxor %xmm7,%xmm5 +.byte 15,56,202,236 +.byte 15,56,201,247 + movdqa %xmm0,%xmm2 +.byte 15,58,204,193,2 +.byte 15,56,200,215 + pxor %xmm4,%xmm6 +.byte 15,56,201,252 +.byte 15,56,202,245 + + movdqa %xmm0,%xmm1 +.byte 15,58,204,194,2 +.byte 15,56,200,204 + pxor %xmm5,%xmm7 +.byte 15,56,202,254 +.byte 15,56,201,229 + movdqa %xmm0,%xmm2 +.byte 15,58,204,193,2 +.byte 15,56,200,213 + pxor %xmm6,%xmm4 +.byte 15,56,201,238 +.byte 15,56,202,231 + + movdqa %xmm0,%xmm1 +.byte 15,58,204,194,2 +.byte 15,56,200,206 + pxor %xmm7,%xmm5 +.byte 15,56,202,236 +.byte 15,56,201,247 + movdqa %xmm0,%xmm2 +.byte 15,58,204,193,2 +.byte 15,56,200,215 + pxor %xmm4,%xmm6 +.byte 15,56,201,252 +.byte 15,56,202,245 + + movdqa %xmm0,%xmm1 +.byte 15,58,204,194,3 +.byte 15,56,200,204 + pxor %xmm5,%xmm7 +.byte 15,56,202,254 + movdqu (%rsi),%xmm4 + movdqa %xmm0,%xmm2 +.byte 15,58,204,193,3 +.byte 15,56,200,213 + movdqu 16(%rsi),%xmm5 +.byte 102,15,56,0,227 + + movdqa %xmm0,%xmm1 +.byte 15,58,204,194,3 +.byte 15,56,200,206 + movdqu 32(%rsi),%xmm6 +.byte 102,15,56,0,235 + + movdqa %xmm0,%xmm2 +.byte 15,58,204,193,3 +.byte 15,56,200,215 + movdqu 48(%rsi),%xmm7 +.byte 102,15,56,0,243 + + movdqa %xmm0,%xmm1 +.byte 15,58,204,194,3 +.byte 65,15,56,200,201 +.byte 102,15,56,0,251 + + paddd %xmm8,%xmm0 + movdqa %xmm1,%xmm9 + + jnz .Loop_shaext + + pshufd $27,%xmm0,%xmm0 + pshufd $27,%xmm1,%xmm1 + movdqu %xmm0,(%rdi) + movd %xmm1,16(%rdi) + .byte 0xf3,0xc3 +.cfi_endproc +.size sha1_block_data_order_shaext,.-sha1_block_data_order_shaext .type sha1_block_data_order_ssse3,@function .align 16 sha1_block_data_order_ssse3: @@ -3582,6 +3756,1699 @@ _avx_shortcut: .byte 0xf3,0xc3 .cfi_endproc .size sha1_block_data_order_avx,.-sha1_block_data_order_avx +.type sha1_block_data_order_avx2,@function +.align 16 +sha1_block_data_order_avx2: +_avx2_shortcut: +.cfi_startproc + movq %rsp,%r11 +.cfi_def_cfa_register %r11 + pushq %rbx +.cfi_offset %rbx,-16 + pushq %rbp +.cfi_offset %rbp,-24 + pushq %r12 +.cfi_offset %r12,-32 + pushq %r13 +.cfi_offset %r13,-40 + pushq %r14 +.cfi_offset %r14,-48 + vzeroupper + movq %rdi,%r8 + movq %rsi,%r9 + movq %rdx,%r10 + + leaq -640(%rsp),%rsp + shlq $6,%r10 + leaq 64(%r9),%r13 + andq $-128,%rsp + addq %r9,%r10 + leaq K_XX_XX+64(%rip),%r14 + + movl 0(%r8),%eax + cmpq %r10,%r13 + cmovaeq %r9,%r13 + movl 4(%r8),%ebp + movl 8(%r8),%ecx + movl 12(%r8),%edx + movl 16(%r8),%esi + vmovdqu 64(%r14),%ymm6 + + vmovdqu (%r9),%xmm0 + vmovdqu 16(%r9),%xmm1 + vmovdqu 32(%r9),%xmm2 + vmovdqu 48(%r9),%xmm3 + leaq 64(%r9),%r9 + vinserti128 $1,(%r13),%ymm0,%ymm0 + vinserti128 $1,16(%r13),%ymm1,%ymm1 + vpshufb %ymm6,%ymm0,%ymm0 + vinserti128 $1,32(%r13),%ymm2,%ymm2 + vpshufb %ymm6,%ymm1,%ymm1 + vinserti128 $1,48(%r13),%ymm3,%ymm3 + vpshufb %ymm6,%ymm2,%ymm2 + vmovdqu -64(%r14),%ymm11 + vpshufb %ymm6,%ymm3,%ymm3 + + vpaddd %ymm11,%ymm0,%ymm4 + vpaddd %ymm11,%ymm1,%ymm5 + vmovdqu %ymm4,0(%rsp) + vpaddd %ymm11,%ymm2,%ymm6 + vmovdqu %ymm5,32(%rsp) + vpaddd %ymm11,%ymm3,%ymm7 + vmovdqu %ymm6,64(%rsp) + vmovdqu %ymm7,96(%rsp) + vpalignr $8,%ymm0,%ymm1,%ymm4 + vpsrldq $4,%ymm3,%ymm8 + vpxor %ymm0,%ymm4,%ymm4 + vpxor %ymm2,%ymm8,%ymm8 + vpxor %ymm8,%ymm4,%ymm4 + vpsrld $31,%ymm4,%ymm8 + vpslldq $12,%ymm4,%ymm10 + vpaddd %ymm4,%ymm4,%ymm4 + vpsrld $30,%ymm10,%ymm9 + vpor %ymm8,%ymm4,%ymm4 + vpslld $2,%ymm10,%ymm10 + vpxor %ymm9,%ymm4,%ymm4 + vpxor %ymm10,%ymm4,%ymm4 + vpaddd %ymm11,%ymm4,%ymm9 + vmovdqu %ymm9,128(%rsp) + vpalignr $8,%ymm1,%ymm2,%ymm5 + vpsrldq $4,%ymm4,%ymm8 + vpxor %ymm1,%ymm5,%ymm5 + vpxor %ymm3,%ymm8,%ymm8 + vpxor %ymm8,%ymm5,%ymm5 + vpsrld $31,%ymm5,%ymm8 + vmovdqu -32(%r14),%ymm11 + vpslldq $12,%ymm5,%ymm10 + vpaddd %ymm5,%ymm5,%ymm5 + vpsrld $30,%ymm10,%ymm9 + vpor %ymm8,%ymm5,%ymm5 + vpslld $2,%ymm10,%ymm10 + vpxor %ymm9,%ymm5,%ymm5 + vpxor %ymm10,%ymm5,%ymm5 + vpaddd %ymm11,%ymm5,%ymm9 + vmovdqu %ymm9,160(%rsp) + vpalignr $8,%ymm2,%ymm3,%ymm6 + vpsrldq $4,%ymm5,%ymm8 + vpxor %ymm2,%ymm6,%ymm6 + vpxor %ymm4,%ymm8,%ymm8 + vpxor %ymm8,%ymm6,%ymm6 + vpsrld $31,%ymm6,%ymm8 + vpslldq $12,%ymm6,%ymm10 + vpaddd %ymm6,%ymm6,%ymm6 + vpsrld $30,%ymm10,%ymm9 + vpor %ymm8,%ymm6,%ymm6 + vpslld $2,%ymm10,%ymm10 + vpxor %ymm9,%ymm6,%ymm6 + vpxor %ymm10,%ymm6,%ymm6 + vpaddd %ymm11,%ymm6,%ymm9 + vmovdqu %ymm9,192(%rsp) + vpalignr $8,%ymm3,%ymm4,%ymm7 + vpsrldq $4,%ymm6,%ymm8 + vpxor %ymm3,%ymm7,%ymm7 + vpxor %ymm5,%ymm8,%ymm8 + vpxor %ymm8,%ymm7,%ymm7 + vpsrld $31,%ymm7,%ymm8 + vpslldq $12,%ymm7,%ymm10 + vpaddd %ymm7,%ymm7,%ymm7 + vpsrld $30,%ymm10,%ymm9 + vpor %ymm8,%ymm7,%ymm7 + vpslld $2,%ymm10,%ymm10 + vpxor %ymm9,%ymm7,%ymm7 + vpxor %ymm10,%ymm7,%ymm7 + vpaddd %ymm11,%ymm7,%ymm9 + vmovdqu %ymm9,224(%rsp) + leaq 128(%rsp),%r13 + jmp .Loop_avx2 +.align 32 +.Loop_avx2: + rorxl $2,%ebp,%ebx + andnl %edx,%ebp,%edi + andl %ecx,%ebp + xorl %edi,%ebp + jmp .Lalign32_1 +.align 32 +.Lalign32_1: + vpalignr $8,%ymm6,%ymm7,%ymm8 + vpxor %ymm4,%ymm0,%ymm0 + addl -128(%r13),%esi + andnl %ecx,%eax,%edi + vpxor %ymm1,%ymm0,%ymm0 + addl %ebp,%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + vpxor %ymm8,%ymm0,%ymm0 + andl %ebx,%eax + addl %r12d,%esi + xorl %edi,%eax + vpsrld $30,%ymm0,%ymm8 + vpslld $2,%ymm0,%ymm0 + addl -124(%r13),%edx + andnl %ebx,%esi,%edi + addl %eax,%edx + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + andl %ebp,%esi + vpor %ymm8,%ymm0,%ymm0 + addl %r12d,%edx + xorl %edi,%esi + addl -120(%r13),%ecx + andnl %ebp,%edx,%edi + vpaddd %ymm11,%ymm0,%ymm9 + addl %esi,%ecx + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + andl %eax,%edx + vmovdqu %ymm9,256(%rsp) + addl %r12d,%ecx + xorl %edi,%edx + addl -116(%r13),%ebx + andnl %eax,%ecx,%edi + addl %edx,%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + andl %esi,%ecx + addl %r12d,%ebx + xorl %edi,%ecx + addl -96(%r13),%ebp + andnl %esi,%ebx,%edi + addl %ecx,%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + andl %edx,%ebx + addl %r12d,%ebp + xorl %edi,%ebx + vpalignr $8,%ymm7,%ymm0,%ymm8 + vpxor %ymm5,%ymm1,%ymm1 + addl -92(%r13),%eax + andnl %edx,%ebp,%edi + vpxor %ymm2,%ymm1,%ymm1 + addl %ebx,%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + vpxor %ymm8,%ymm1,%ymm1 + andl %ecx,%ebp + addl %r12d,%eax + xorl %edi,%ebp + vpsrld $30,%ymm1,%ymm8 + vpslld $2,%ymm1,%ymm1 + addl -88(%r13),%esi + andnl %ecx,%eax,%edi + addl %ebp,%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + andl %ebx,%eax + vpor %ymm8,%ymm1,%ymm1 + addl %r12d,%esi + xorl %edi,%eax + addl -84(%r13),%edx + andnl %ebx,%esi,%edi + vpaddd %ymm11,%ymm1,%ymm9 + addl %eax,%edx + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + andl %ebp,%esi + vmovdqu %ymm9,288(%rsp) + addl %r12d,%edx + xorl %edi,%esi + addl -64(%r13),%ecx + andnl %ebp,%edx,%edi + addl %esi,%ecx + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + andl %eax,%edx + addl %r12d,%ecx + xorl %edi,%edx + addl -60(%r13),%ebx + andnl %eax,%ecx,%edi + addl %edx,%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + andl %esi,%ecx + addl %r12d,%ebx + xorl %edi,%ecx + vpalignr $8,%ymm0,%ymm1,%ymm8 + vpxor %ymm6,%ymm2,%ymm2 + addl -56(%r13),%ebp + andnl %esi,%ebx,%edi + vpxor %ymm3,%ymm2,%ymm2 + vmovdqu 0(%r14),%ymm11 + addl %ecx,%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + vpxor %ymm8,%ymm2,%ymm2 + andl %edx,%ebx + addl %r12d,%ebp + xorl %edi,%ebx + vpsrld $30,%ymm2,%ymm8 + vpslld $2,%ymm2,%ymm2 + addl -52(%r13),%eax + andnl %edx,%ebp,%edi + addl %ebx,%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + andl %ecx,%ebp + vpor %ymm8,%ymm2,%ymm2 + addl %r12d,%eax + xorl %edi,%ebp + addl -32(%r13),%esi + andnl %ecx,%eax,%edi + vpaddd %ymm11,%ymm2,%ymm9 + addl %ebp,%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + andl %ebx,%eax + vmovdqu %ymm9,320(%rsp) + addl %r12d,%esi + xorl %edi,%eax + addl -28(%r13),%edx + andnl %ebx,%esi,%edi + addl %eax,%edx + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + andl %ebp,%esi + addl %r12d,%edx + xorl %edi,%esi + addl -24(%r13),%ecx + andnl %ebp,%edx,%edi + addl %esi,%ecx + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + andl %eax,%edx + addl %r12d,%ecx + xorl %edi,%edx + vpalignr $8,%ymm1,%ymm2,%ymm8 + vpxor %ymm7,%ymm3,%ymm3 + addl -20(%r13),%ebx + andnl %eax,%ecx,%edi + vpxor %ymm4,%ymm3,%ymm3 + addl %edx,%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + vpxor %ymm8,%ymm3,%ymm3 + andl %esi,%ecx + addl %r12d,%ebx + xorl %edi,%ecx + vpsrld $30,%ymm3,%ymm8 + vpslld $2,%ymm3,%ymm3 + addl 0(%r13),%ebp + andnl %esi,%ebx,%edi + addl %ecx,%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + andl %edx,%ebx + vpor %ymm8,%ymm3,%ymm3 + addl %r12d,%ebp + xorl %edi,%ebx + addl 4(%r13),%eax + andnl %edx,%ebp,%edi + vpaddd %ymm11,%ymm3,%ymm9 + addl %ebx,%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + andl %ecx,%ebp + vmovdqu %ymm9,352(%rsp) + addl %r12d,%eax + xorl %edi,%ebp + addl 8(%r13),%esi + andnl %ecx,%eax,%edi + addl %ebp,%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + andl %ebx,%eax + addl %r12d,%esi + xorl %edi,%eax + addl 12(%r13),%edx + leal (%rdx,%rax,1),%edx + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + xorl %ebp,%esi + addl %r12d,%edx + xorl %ebx,%esi + vpalignr $8,%ymm2,%ymm3,%ymm8 + vpxor %ymm0,%ymm4,%ymm4 + addl 32(%r13),%ecx + leal (%rcx,%rsi,1),%ecx + vpxor %ymm5,%ymm4,%ymm4 + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + xorl %eax,%edx + vpxor %ymm8,%ymm4,%ymm4 + addl %r12d,%ecx + xorl %ebp,%edx + addl 36(%r13),%ebx + vpsrld $30,%ymm4,%ymm8 + vpslld $2,%ymm4,%ymm4 + leal (%rbx,%rdx,1),%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + xorl %esi,%ecx + addl %r12d,%ebx + xorl %eax,%ecx + vpor %ymm8,%ymm4,%ymm4 + addl 40(%r13),%ebp + leal (%rcx,%rbp,1),%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + vpaddd %ymm11,%ymm4,%ymm9 + xorl %edx,%ebx + addl %r12d,%ebp + xorl %esi,%ebx + addl 44(%r13),%eax + vmovdqu %ymm9,384(%rsp) + leal (%rax,%rbx,1),%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + xorl %ecx,%ebp + addl %r12d,%eax + xorl %edx,%ebp + addl 64(%r13),%esi + leal (%rsi,%rbp,1),%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + xorl %ebx,%eax + addl %r12d,%esi + xorl %ecx,%eax + vpalignr $8,%ymm3,%ymm4,%ymm8 + vpxor %ymm1,%ymm5,%ymm5 + addl 68(%r13),%edx + leal (%rdx,%rax,1),%edx + vpxor %ymm6,%ymm5,%ymm5 + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + xorl %ebp,%esi + vpxor %ymm8,%ymm5,%ymm5 + addl %r12d,%edx + xorl %ebx,%esi + addl 72(%r13),%ecx + vpsrld $30,%ymm5,%ymm8 + vpslld $2,%ymm5,%ymm5 + leal (%rcx,%rsi,1),%ecx + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + xorl %eax,%edx + addl %r12d,%ecx + xorl %ebp,%edx + vpor %ymm8,%ymm5,%ymm5 + addl 76(%r13),%ebx + leal (%rbx,%rdx,1),%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + vpaddd %ymm11,%ymm5,%ymm9 + xorl %esi,%ecx + addl %r12d,%ebx + xorl %eax,%ecx + addl 96(%r13),%ebp + vmovdqu %ymm9,416(%rsp) + leal (%rcx,%rbp,1),%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + xorl %edx,%ebx + addl %r12d,%ebp + xorl %esi,%ebx + addl 100(%r13),%eax + leal (%rax,%rbx,1),%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + xorl %ecx,%ebp + addl %r12d,%eax + xorl %edx,%ebp + vpalignr $8,%ymm4,%ymm5,%ymm8 + vpxor %ymm2,%ymm6,%ymm6 + addl 104(%r13),%esi + leal (%rsi,%rbp,1),%esi + vpxor %ymm7,%ymm6,%ymm6 + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + xorl %ebx,%eax + vpxor %ymm8,%ymm6,%ymm6 + addl %r12d,%esi + xorl %ecx,%eax + addl 108(%r13),%edx + leaq 256(%r13),%r13 + vpsrld $30,%ymm6,%ymm8 + vpslld $2,%ymm6,%ymm6 + leal (%rdx,%rax,1),%edx + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + xorl %ebp,%esi + addl %r12d,%edx + xorl %ebx,%esi + vpor %ymm8,%ymm6,%ymm6 + addl -128(%r13),%ecx + leal (%rcx,%rsi,1),%ecx + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + vpaddd %ymm11,%ymm6,%ymm9 + xorl %eax,%edx + addl %r12d,%ecx + xorl %ebp,%edx + addl -124(%r13),%ebx + vmovdqu %ymm9,448(%rsp) + leal (%rbx,%rdx,1),%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + xorl %esi,%ecx + addl %r12d,%ebx + xorl %eax,%ecx + addl -120(%r13),%ebp + leal (%rcx,%rbp,1),%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + xorl %edx,%ebx + addl %r12d,%ebp + xorl %esi,%ebx + vpalignr $8,%ymm5,%ymm6,%ymm8 + vpxor %ymm3,%ymm7,%ymm7 + addl -116(%r13),%eax + leal (%rax,%rbx,1),%eax + vpxor %ymm0,%ymm7,%ymm7 + vmovdqu 32(%r14),%ymm11 + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + xorl %ecx,%ebp + vpxor %ymm8,%ymm7,%ymm7 + addl %r12d,%eax + xorl %edx,%ebp + addl -96(%r13),%esi + vpsrld $30,%ymm7,%ymm8 + vpslld $2,%ymm7,%ymm7 + leal (%rsi,%rbp,1),%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + xorl %ebx,%eax + addl %r12d,%esi + xorl %ecx,%eax + vpor %ymm8,%ymm7,%ymm7 + addl -92(%r13),%edx + leal (%rdx,%rax,1),%edx + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + vpaddd %ymm11,%ymm7,%ymm9 + xorl %ebp,%esi + addl %r12d,%edx + xorl %ebx,%esi + addl -88(%r13),%ecx + vmovdqu %ymm9,480(%rsp) + leal (%rcx,%rsi,1),%ecx + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + xorl %eax,%edx + addl %r12d,%ecx + xorl %ebp,%edx + addl -84(%r13),%ebx + movl %esi,%edi + xorl %eax,%edi + leal (%rbx,%rdx,1),%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + xorl %esi,%ecx + addl %r12d,%ebx + andl %edi,%ecx + jmp .Lalign32_2 +.align 32 +.Lalign32_2: + vpalignr $8,%ymm6,%ymm7,%ymm8 + vpxor %ymm4,%ymm0,%ymm0 + addl -64(%r13),%ebp + xorl %esi,%ecx + vpxor %ymm1,%ymm0,%ymm0 + movl %edx,%edi + xorl %esi,%edi + leal (%rcx,%rbp,1),%ebp + vpxor %ymm8,%ymm0,%ymm0 + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + xorl %edx,%ebx + vpsrld $30,%ymm0,%ymm8 + vpslld $2,%ymm0,%ymm0 + addl %r12d,%ebp + andl %edi,%ebx + addl -60(%r13),%eax + xorl %edx,%ebx + movl %ecx,%edi + xorl %edx,%edi + vpor %ymm8,%ymm0,%ymm0 + leal (%rax,%rbx,1),%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + xorl %ecx,%ebp + vpaddd %ymm11,%ymm0,%ymm9 + addl %r12d,%eax + andl %edi,%ebp + addl -56(%r13),%esi + xorl %ecx,%ebp + vmovdqu %ymm9,512(%rsp) + movl %ebx,%edi + xorl %ecx,%edi + leal (%rsi,%rbp,1),%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + xorl %ebx,%eax + addl %r12d,%esi + andl %edi,%eax + addl -52(%r13),%edx + xorl %ebx,%eax + movl %ebp,%edi + xorl %ebx,%edi + leal (%rdx,%rax,1),%edx + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + xorl %ebp,%esi + addl %r12d,%edx + andl %edi,%esi + addl -32(%r13),%ecx + xorl %ebp,%esi + movl %eax,%edi + xorl %ebp,%edi + leal (%rcx,%rsi,1),%ecx + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + xorl %eax,%edx + addl %r12d,%ecx + andl %edi,%edx + vpalignr $8,%ymm7,%ymm0,%ymm8 + vpxor %ymm5,%ymm1,%ymm1 + addl -28(%r13),%ebx + xorl %eax,%edx + vpxor %ymm2,%ymm1,%ymm1 + movl %esi,%edi + xorl %eax,%edi + leal (%rbx,%rdx,1),%ebx + vpxor %ymm8,%ymm1,%ymm1 + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + xorl %esi,%ecx + vpsrld $30,%ymm1,%ymm8 + vpslld $2,%ymm1,%ymm1 + addl %r12d,%ebx + andl %edi,%ecx + addl -24(%r13),%ebp + xorl %esi,%ecx + movl %edx,%edi + xorl %esi,%edi + vpor %ymm8,%ymm1,%ymm1 + leal (%rcx,%rbp,1),%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + xorl %edx,%ebx + vpaddd %ymm11,%ymm1,%ymm9 + addl %r12d,%ebp + andl %edi,%ebx + addl -20(%r13),%eax + xorl %edx,%ebx + vmovdqu %ymm9,544(%rsp) + movl %ecx,%edi + xorl %edx,%edi + leal (%rax,%rbx,1),%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + xorl %ecx,%ebp + addl %r12d,%eax + andl %edi,%ebp + addl 0(%r13),%esi + xorl %ecx,%ebp + movl %ebx,%edi + xorl %ecx,%edi + leal (%rsi,%rbp,1),%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + xorl %ebx,%eax + addl %r12d,%esi + andl %edi,%eax + addl 4(%r13),%edx + xorl %ebx,%eax + movl %ebp,%edi + xorl %ebx,%edi + leal (%rdx,%rax,1),%edx + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + xorl %ebp,%esi + addl %r12d,%edx + andl %edi,%esi + vpalignr $8,%ymm0,%ymm1,%ymm8 + vpxor %ymm6,%ymm2,%ymm2 + addl 8(%r13),%ecx + xorl %ebp,%esi + vpxor %ymm3,%ymm2,%ymm2 + movl %eax,%edi + xorl %ebp,%edi + leal (%rcx,%rsi,1),%ecx + vpxor %ymm8,%ymm2,%ymm2 + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + xorl %eax,%edx + vpsrld $30,%ymm2,%ymm8 + vpslld $2,%ymm2,%ymm2 + addl %r12d,%ecx + andl %edi,%edx + addl 12(%r13),%ebx + xorl %eax,%edx + movl %esi,%edi + xorl %eax,%edi + vpor %ymm8,%ymm2,%ymm2 + leal (%rbx,%rdx,1),%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + xorl %esi,%ecx + vpaddd %ymm11,%ymm2,%ymm9 + addl %r12d,%ebx + andl %edi,%ecx + addl 32(%r13),%ebp + xorl %esi,%ecx + vmovdqu %ymm9,576(%rsp) + movl %edx,%edi + xorl %esi,%edi + leal (%rcx,%rbp,1),%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + xorl %edx,%ebx + addl %r12d,%ebp + andl %edi,%ebx + addl 36(%r13),%eax + xorl %edx,%ebx + movl %ecx,%edi + xorl %edx,%edi + leal (%rax,%rbx,1),%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + xorl %ecx,%ebp + addl %r12d,%eax + andl %edi,%ebp + addl 40(%r13),%esi + xorl %ecx,%ebp + movl %ebx,%edi + xorl %ecx,%edi + leal (%rsi,%rbp,1),%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + xorl %ebx,%eax + addl %r12d,%esi + andl %edi,%eax + vpalignr $8,%ymm1,%ymm2,%ymm8 + vpxor %ymm7,%ymm3,%ymm3 + addl 44(%r13),%edx + xorl %ebx,%eax + vpxor %ymm4,%ymm3,%ymm3 + movl %ebp,%edi + xorl %ebx,%edi + leal (%rdx,%rax,1),%edx + vpxor %ymm8,%ymm3,%ymm3 + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + xorl %ebp,%esi + vpsrld $30,%ymm3,%ymm8 + vpslld $2,%ymm3,%ymm3 + addl %r12d,%edx + andl %edi,%esi + addl 64(%r13),%ecx + xorl %ebp,%esi + movl %eax,%edi + xorl %ebp,%edi + vpor %ymm8,%ymm3,%ymm3 + leal (%rcx,%rsi,1),%ecx + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + xorl %eax,%edx + vpaddd %ymm11,%ymm3,%ymm9 + addl %r12d,%ecx + andl %edi,%edx + addl 68(%r13),%ebx + xorl %eax,%edx + vmovdqu %ymm9,608(%rsp) + movl %esi,%edi + xorl %eax,%edi + leal (%rbx,%rdx,1),%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + xorl %esi,%ecx + addl %r12d,%ebx + andl %edi,%ecx + addl 72(%r13),%ebp + xorl %esi,%ecx + movl %edx,%edi + xorl %esi,%edi + leal (%rcx,%rbp,1),%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + xorl %edx,%ebx + addl %r12d,%ebp + andl %edi,%ebx + addl 76(%r13),%eax + xorl %edx,%ebx + leal (%rax,%rbx,1),%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + xorl %ecx,%ebp + addl %r12d,%eax + xorl %edx,%ebp + addl 96(%r13),%esi + leal (%rsi,%rbp,1),%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + xorl %ebx,%eax + addl %r12d,%esi + xorl %ecx,%eax + addl 100(%r13),%edx + leal (%rdx,%rax,1),%edx + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + xorl %ebp,%esi + addl %r12d,%edx + xorl %ebx,%esi + addl 104(%r13),%ecx + leal (%rcx,%rsi,1),%ecx + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + xorl %eax,%edx + addl %r12d,%ecx + xorl %ebp,%edx + addl 108(%r13),%ebx + leaq 256(%r13),%r13 + leal (%rbx,%rdx,1),%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + xorl %esi,%ecx + addl %r12d,%ebx + xorl %eax,%ecx + addl -128(%r13),%ebp + leal (%rcx,%rbp,1),%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + xorl %edx,%ebx + addl %r12d,%ebp + xorl %esi,%ebx + addl -124(%r13),%eax + leal (%rax,%rbx,1),%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + xorl %ecx,%ebp + addl %r12d,%eax + xorl %edx,%ebp + addl -120(%r13),%esi + leal (%rsi,%rbp,1),%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + xorl %ebx,%eax + addl %r12d,%esi + xorl %ecx,%eax + addl -116(%r13),%edx + leal (%rdx,%rax,1),%edx + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + xorl %ebp,%esi + addl %r12d,%edx + xorl %ebx,%esi + addl -96(%r13),%ecx + leal (%rcx,%rsi,1),%ecx + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + xorl %eax,%edx + addl %r12d,%ecx + xorl %ebp,%edx + addl -92(%r13),%ebx + leal (%rbx,%rdx,1),%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + xorl %esi,%ecx + addl %r12d,%ebx + xorl %eax,%ecx + addl -88(%r13),%ebp + leal (%rcx,%rbp,1),%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + xorl %edx,%ebx + addl %r12d,%ebp + xorl %esi,%ebx + addl -84(%r13),%eax + leal (%rax,%rbx,1),%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + xorl %ecx,%ebp + addl %r12d,%eax + xorl %edx,%ebp + addl -64(%r13),%esi + leal (%rsi,%rbp,1),%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + xorl %ebx,%eax + addl %r12d,%esi + xorl %ecx,%eax + addl -60(%r13),%edx + leal (%rdx,%rax,1),%edx + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + xorl %ebp,%esi + addl %r12d,%edx + xorl %ebx,%esi + addl -56(%r13),%ecx + leal (%rcx,%rsi,1),%ecx + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + xorl %eax,%edx + addl %r12d,%ecx + xorl %ebp,%edx + addl -52(%r13),%ebx + leal (%rbx,%rdx,1),%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + xorl %esi,%ecx + addl %r12d,%ebx + xorl %eax,%ecx + addl -32(%r13),%ebp + leal (%rcx,%rbp,1),%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + xorl %edx,%ebx + addl %r12d,%ebp + xorl %esi,%ebx + addl -28(%r13),%eax + leal (%rax,%rbx,1),%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + xorl %ecx,%ebp + addl %r12d,%eax + xorl %edx,%ebp + addl -24(%r13),%esi + leal (%rsi,%rbp,1),%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + xorl %ebx,%eax + addl %r12d,%esi + xorl %ecx,%eax + addl -20(%r13),%edx + leal (%rdx,%rax,1),%edx + rorxl $27,%esi,%r12d + addl %r12d,%edx + leaq 128(%r9),%r13 + leaq 128(%r9),%rdi + cmpq %r10,%r13 + cmovaeq %r9,%r13 + + + addl 0(%r8),%edx + addl 4(%r8),%esi + addl 8(%r8),%ebp + movl %edx,0(%r8) + addl 12(%r8),%ebx + movl %esi,4(%r8) + movl %edx,%eax + addl 16(%r8),%ecx + movl %ebp,%r12d + movl %ebp,8(%r8) + movl %ebx,%edx + + movl %ebx,12(%r8) + movl %esi,%ebp + movl %ecx,16(%r8) + + movl %ecx,%esi + movl %r12d,%ecx + + + cmpq %r10,%r9 + je .Ldone_avx2 + vmovdqu 64(%r14),%ymm6 + cmpq %r10,%rdi + ja .Last_avx2 + + vmovdqu -64(%rdi),%xmm0 + vmovdqu -48(%rdi),%xmm1 + vmovdqu -32(%rdi),%xmm2 + vmovdqu -16(%rdi),%xmm3 + vinserti128 $1,0(%r13),%ymm0,%ymm0 + vinserti128 $1,16(%r13),%ymm1,%ymm1 + vinserti128 $1,32(%r13),%ymm2,%ymm2 + vinserti128 $1,48(%r13),%ymm3,%ymm3 + jmp .Last_avx2 + +.align 32 +.Last_avx2: + leaq 128+16(%rsp),%r13 + rorxl $2,%ebp,%ebx + andnl %edx,%ebp,%edi + andl %ecx,%ebp + xorl %edi,%ebp + subq $-128,%r9 + addl -128(%r13),%esi + andnl %ecx,%eax,%edi + addl %ebp,%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + andl %ebx,%eax + addl %r12d,%esi + xorl %edi,%eax + addl -124(%r13),%edx + andnl %ebx,%esi,%edi + addl %eax,%edx + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + andl %ebp,%esi + addl %r12d,%edx + xorl %edi,%esi + addl -120(%r13),%ecx + andnl %ebp,%edx,%edi + addl %esi,%ecx + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + andl %eax,%edx + addl %r12d,%ecx + xorl %edi,%edx + addl -116(%r13),%ebx + andnl %eax,%ecx,%edi + addl %edx,%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + andl %esi,%ecx + addl %r12d,%ebx + xorl %edi,%ecx + addl -96(%r13),%ebp + andnl %esi,%ebx,%edi + addl %ecx,%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + andl %edx,%ebx + addl %r12d,%ebp + xorl %edi,%ebx + addl -92(%r13),%eax + andnl %edx,%ebp,%edi + addl %ebx,%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + andl %ecx,%ebp + addl %r12d,%eax + xorl %edi,%ebp + addl -88(%r13),%esi + andnl %ecx,%eax,%edi + addl %ebp,%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + andl %ebx,%eax + addl %r12d,%esi + xorl %edi,%eax + addl -84(%r13),%edx + andnl %ebx,%esi,%edi + addl %eax,%edx + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + andl %ebp,%esi + addl %r12d,%edx + xorl %edi,%esi + addl -64(%r13),%ecx + andnl %ebp,%edx,%edi + addl %esi,%ecx + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + andl %eax,%edx + addl %r12d,%ecx + xorl %edi,%edx + addl -60(%r13),%ebx + andnl %eax,%ecx,%edi + addl %edx,%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + andl %esi,%ecx + addl %r12d,%ebx + xorl %edi,%ecx + addl -56(%r13),%ebp + andnl %esi,%ebx,%edi + addl %ecx,%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + andl %edx,%ebx + addl %r12d,%ebp + xorl %edi,%ebx + addl -52(%r13),%eax + andnl %edx,%ebp,%edi + addl %ebx,%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + andl %ecx,%ebp + addl %r12d,%eax + xorl %edi,%ebp + addl -32(%r13),%esi + andnl %ecx,%eax,%edi + addl %ebp,%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + andl %ebx,%eax + addl %r12d,%esi + xorl %edi,%eax + addl -28(%r13),%edx + andnl %ebx,%esi,%edi + addl %eax,%edx + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + andl %ebp,%esi + addl %r12d,%edx + xorl %edi,%esi + addl -24(%r13),%ecx + andnl %ebp,%edx,%edi + addl %esi,%ecx + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + andl %eax,%edx + addl %r12d,%ecx + xorl %edi,%edx + addl -20(%r13),%ebx + andnl %eax,%ecx,%edi + addl %edx,%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + andl %esi,%ecx + addl %r12d,%ebx + xorl %edi,%ecx + addl 0(%r13),%ebp + andnl %esi,%ebx,%edi + addl %ecx,%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + andl %edx,%ebx + addl %r12d,%ebp + xorl %edi,%ebx + addl 4(%r13),%eax + andnl %edx,%ebp,%edi + addl %ebx,%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + andl %ecx,%ebp + addl %r12d,%eax + xorl %edi,%ebp + addl 8(%r13),%esi + andnl %ecx,%eax,%edi + addl %ebp,%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + andl %ebx,%eax + addl %r12d,%esi + xorl %edi,%eax + addl 12(%r13),%edx + leal (%rdx,%rax,1),%edx + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + xorl %ebp,%esi + addl %r12d,%edx + xorl %ebx,%esi + addl 32(%r13),%ecx + leal (%rcx,%rsi,1),%ecx + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + xorl %eax,%edx + addl %r12d,%ecx + xorl %ebp,%edx + addl 36(%r13),%ebx + leal (%rbx,%rdx,1),%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + xorl %esi,%ecx + addl %r12d,%ebx + xorl %eax,%ecx + addl 40(%r13),%ebp + leal (%rcx,%rbp,1),%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + xorl %edx,%ebx + addl %r12d,%ebp + xorl %esi,%ebx + addl 44(%r13),%eax + leal (%rax,%rbx,1),%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + xorl %ecx,%ebp + addl %r12d,%eax + xorl %edx,%ebp + addl 64(%r13),%esi + leal (%rsi,%rbp,1),%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + xorl %ebx,%eax + addl %r12d,%esi + xorl %ecx,%eax + vmovdqu -64(%r14),%ymm11 + vpshufb %ymm6,%ymm0,%ymm0 + addl 68(%r13),%edx + leal (%rdx,%rax,1),%edx + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + xorl %ebp,%esi + addl %r12d,%edx + xorl %ebx,%esi + addl 72(%r13),%ecx + leal (%rcx,%rsi,1),%ecx + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + xorl %eax,%edx + addl %r12d,%ecx + xorl %ebp,%edx + addl 76(%r13),%ebx + leal (%rbx,%rdx,1),%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + xorl %esi,%ecx + addl %r12d,%ebx + xorl %eax,%ecx + addl 96(%r13),%ebp + leal (%rcx,%rbp,1),%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + xorl %edx,%ebx + addl %r12d,%ebp + xorl %esi,%ebx + addl 100(%r13),%eax + leal (%rax,%rbx,1),%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + xorl %ecx,%ebp + addl %r12d,%eax + xorl %edx,%ebp + vpshufb %ymm6,%ymm1,%ymm1 + vpaddd %ymm11,%ymm0,%ymm8 + addl 104(%r13),%esi + leal (%rsi,%rbp,1),%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + xorl %ebx,%eax + addl %r12d,%esi + xorl %ecx,%eax + addl 108(%r13),%edx + leaq 256(%r13),%r13 + leal (%rdx,%rax,1),%edx + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + xorl %ebp,%esi + addl %r12d,%edx + xorl %ebx,%esi + addl -128(%r13),%ecx + leal (%rcx,%rsi,1),%ecx + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + xorl %eax,%edx + addl %r12d,%ecx + xorl %ebp,%edx + addl -124(%r13),%ebx + leal (%rbx,%rdx,1),%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + xorl %esi,%ecx + addl %r12d,%ebx + xorl %eax,%ecx + addl -120(%r13),%ebp + leal (%rcx,%rbp,1),%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + xorl %edx,%ebx + addl %r12d,%ebp + xorl %esi,%ebx + vmovdqu %ymm8,0(%rsp) + vpshufb %ymm6,%ymm2,%ymm2 + vpaddd %ymm11,%ymm1,%ymm9 + addl -116(%r13),%eax + leal (%rax,%rbx,1),%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + xorl %ecx,%ebp + addl %r12d,%eax + xorl %edx,%ebp + addl -96(%r13),%esi + leal (%rsi,%rbp,1),%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + xorl %ebx,%eax + addl %r12d,%esi + xorl %ecx,%eax + addl -92(%r13),%edx + leal (%rdx,%rax,1),%edx + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + xorl %ebp,%esi + addl %r12d,%edx + xorl %ebx,%esi + addl -88(%r13),%ecx + leal (%rcx,%rsi,1),%ecx + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + xorl %eax,%edx + addl %r12d,%ecx + xorl %ebp,%edx + addl -84(%r13),%ebx + movl %esi,%edi + xorl %eax,%edi + leal (%rbx,%rdx,1),%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + xorl %esi,%ecx + addl %r12d,%ebx + andl %edi,%ecx + vmovdqu %ymm9,32(%rsp) + vpshufb %ymm6,%ymm3,%ymm3 + vpaddd %ymm11,%ymm2,%ymm6 + addl -64(%r13),%ebp + xorl %esi,%ecx + movl %edx,%edi + xorl %esi,%edi + leal (%rcx,%rbp,1),%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + xorl %edx,%ebx + addl %r12d,%ebp + andl %edi,%ebx + addl -60(%r13),%eax + xorl %edx,%ebx + movl %ecx,%edi + xorl %edx,%edi + leal (%rax,%rbx,1),%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + xorl %ecx,%ebp + addl %r12d,%eax + andl %edi,%ebp + addl -56(%r13),%esi + xorl %ecx,%ebp + movl %ebx,%edi + xorl %ecx,%edi + leal (%rsi,%rbp,1),%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + xorl %ebx,%eax + addl %r12d,%esi + andl %edi,%eax + addl -52(%r13),%edx + xorl %ebx,%eax + movl %ebp,%edi + xorl %ebx,%edi + leal (%rdx,%rax,1),%edx + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + xorl %ebp,%esi + addl %r12d,%edx + andl %edi,%esi + addl -32(%r13),%ecx + xorl %ebp,%esi + movl %eax,%edi + xorl %ebp,%edi + leal (%rcx,%rsi,1),%ecx + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + xorl %eax,%edx + addl %r12d,%ecx + andl %edi,%edx + jmp .Lalign32_3 +.align 32 +.Lalign32_3: + vmovdqu %ymm6,64(%rsp) + vpaddd %ymm11,%ymm3,%ymm7 + addl -28(%r13),%ebx + xorl %eax,%edx + movl %esi,%edi + xorl %eax,%edi + leal (%rbx,%rdx,1),%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + xorl %esi,%ecx + addl %r12d,%ebx + andl %edi,%ecx + addl -24(%r13),%ebp + xorl %esi,%ecx + movl %edx,%edi + xorl %esi,%edi + leal (%rcx,%rbp,1),%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + xorl %edx,%ebx + addl %r12d,%ebp + andl %edi,%ebx + addl -20(%r13),%eax + xorl %edx,%ebx + movl %ecx,%edi + xorl %edx,%edi + leal (%rax,%rbx,1),%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + xorl %ecx,%ebp + addl %r12d,%eax + andl %edi,%ebp + addl 0(%r13),%esi + xorl %ecx,%ebp + movl %ebx,%edi + xorl %ecx,%edi + leal (%rsi,%rbp,1),%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + xorl %ebx,%eax + addl %r12d,%esi + andl %edi,%eax + addl 4(%r13),%edx + xorl %ebx,%eax + movl %ebp,%edi + xorl %ebx,%edi + leal (%rdx,%rax,1),%edx + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + xorl %ebp,%esi + addl %r12d,%edx + andl %edi,%esi + vmovdqu %ymm7,96(%rsp) + addl 8(%r13),%ecx + xorl %ebp,%esi + movl %eax,%edi + xorl %ebp,%edi + leal (%rcx,%rsi,1),%ecx + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + xorl %eax,%edx + addl %r12d,%ecx + andl %edi,%edx + addl 12(%r13),%ebx + xorl %eax,%edx + movl %esi,%edi + xorl %eax,%edi + leal (%rbx,%rdx,1),%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + xorl %esi,%ecx + addl %r12d,%ebx + andl %edi,%ecx + addl 32(%r13),%ebp + xorl %esi,%ecx + movl %edx,%edi + xorl %esi,%edi + leal (%rcx,%rbp,1),%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + xorl %edx,%ebx + addl %r12d,%ebp + andl %edi,%ebx + addl 36(%r13),%eax + xorl %edx,%ebx + movl %ecx,%edi + xorl %edx,%edi + leal (%rax,%rbx,1),%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + xorl %ecx,%ebp + addl %r12d,%eax + andl %edi,%ebp + addl 40(%r13),%esi + xorl %ecx,%ebp + movl %ebx,%edi + xorl %ecx,%edi + leal (%rsi,%rbp,1),%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + xorl %ebx,%eax + addl %r12d,%esi + andl %edi,%eax + vpalignr $8,%ymm0,%ymm1,%ymm4 + addl 44(%r13),%edx + xorl %ebx,%eax + movl %ebp,%edi + xorl %ebx,%edi + vpsrldq $4,%ymm3,%ymm8 + leal (%rdx,%rax,1),%edx + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + vpxor %ymm0,%ymm4,%ymm4 + vpxor %ymm2,%ymm8,%ymm8 + xorl %ebp,%esi + addl %r12d,%edx + vpxor %ymm8,%ymm4,%ymm4 + andl %edi,%esi + addl 64(%r13),%ecx + xorl %ebp,%esi + movl %eax,%edi + vpsrld $31,%ymm4,%ymm8 + xorl %ebp,%edi + leal (%rcx,%rsi,1),%ecx + rorxl $27,%edx,%r12d + vpslldq $12,%ymm4,%ymm10 + vpaddd %ymm4,%ymm4,%ymm4 + rorxl $2,%edx,%esi + xorl %eax,%edx + vpsrld $30,%ymm10,%ymm9 + vpor %ymm8,%ymm4,%ymm4 + addl %r12d,%ecx + andl %edi,%edx + vpslld $2,%ymm10,%ymm10 + vpxor %ymm9,%ymm4,%ymm4 + addl 68(%r13),%ebx + xorl %eax,%edx + vpxor %ymm10,%ymm4,%ymm4 + movl %esi,%edi + xorl %eax,%edi + leal (%rbx,%rdx,1),%ebx + vpaddd %ymm11,%ymm4,%ymm9 + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + xorl %esi,%ecx + vmovdqu %ymm9,128(%rsp) + addl %r12d,%ebx + andl %edi,%ecx + addl 72(%r13),%ebp + xorl %esi,%ecx + movl %edx,%edi + xorl %esi,%edi + leal (%rcx,%rbp,1),%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + xorl %edx,%ebx + addl %r12d,%ebp + andl %edi,%ebx + addl 76(%r13),%eax + xorl %edx,%ebx + leal (%rax,%rbx,1),%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + xorl %ecx,%ebp + addl %r12d,%eax + xorl %edx,%ebp + vpalignr $8,%ymm1,%ymm2,%ymm5 + addl 96(%r13),%esi + leal (%rsi,%rbp,1),%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + vpsrldq $4,%ymm4,%ymm8 + xorl %ebx,%eax + addl %r12d,%esi + xorl %ecx,%eax + vpxor %ymm1,%ymm5,%ymm5 + vpxor %ymm3,%ymm8,%ymm8 + addl 100(%r13),%edx + leal (%rdx,%rax,1),%edx + vpxor %ymm8,%ymm5,%ymm5 + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + xorl %ebp,%esi + addl %r12d,%edx + vpsrld $31,%ymm5,%ymm8 + vmovdqu -32(%r14),%ymm11 + xorl %ebx,%esi + addl 104(%r13),%ecx + leal (%rcx,%rsi,1),%ecx + vpslldq $12,%ymm5,%ymm10 + vpaddd %ymm5,%ymm5,%ymm5 + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + vpsrld $30,%ymm10,%ymm9 + vpor %ymm8,%ymm5,%ymm5 + xorl %eax,%edx + addl %r12d,%ecx + vpslld $2,%ymm10,%ymm10 + vpxor %ymm9,%ymm5,%ymm5 + xorl %ebp,%edx + addl 108(%r13),%ebx + leaq 256(%r13),%r13 + vpxor %ymm10,%ymm5,%ymm5 + leal (%rbx,%rdx,1),%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + vpaddd %ymm11,%ymm5,%ymm9 + xorl %esi,%ecx + addl %r12d,%ebx + xorl %eax,%ecx + vmovdqu %ymm9,160(%rsp) + addl -128(%r13),%ebp + leal (%rcx,%rbp,1),%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + xorl %edx,%ebx + addl %r12d,%ebp + xorl %esi,%ebx + vpalignr $8,%ymm2,%ymm3,%ymm6 + addl -124(%r13),%eax + leal (%rax,%rbx,1),%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + vpsrldq $4,%ymm5,%ymm8 + xorl %ecx,%ebp + addl %r12d,%eax + xorl %edx,%ebp + vpxor %ymm2,%ymm6,%ymm6 + vpxor %ymm4,%ymm8,%ymm8 + addl -120(%r13),%esi + leal (%rsi,%rbp,1),%esi + vpxor %ymm8,%ymm6,%ymm6 + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + xorl %ebx,%eax + addl %r12d,%esi + vpsrld $31,%ymm6,%ymm8 + xorl %ecx,%eax + addl -116(%r13),%edx + leal (%rdx,%rax,1),%edx + vpslldq $12,%ymm6,%ymm10 + vpaddd %ymm6,%ymm6,%ymm6 + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + vpsrld $30,%ymm10,%ymm9 + vpor %ymm8,%ymm6,%ymm6 + xorl %ebp,%esi + addl %r12d,%edx + vpslld $2,%ymm10,%ymm10 + vpxor %ymm9,%ymm6,%ymm6 + xorl %ebx,%esi + addl -96(%r13),%ecx + vpxor %ymm10,%ymm6,%ymm6 + leal (%rcx,%rsi,1),%ecx + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + vpaddd %ymm11,%ymm6,%ymm9 + xorl %eax,%edx + addl %r12d,%ecx + xorl %ebp,%edx + vmovdqu %ymm9,192(%rsp) + addl -92(%r13),%ebx + leal (%rbx,%rdx,1),%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + xorl %esi,%ecx + addl %r12d,%ebx + xorl %eax,%ecx + vpalignr $8,%ymm3,%ymm4,%ymm7 + addl -88(%r13),%ebp + leal (%rcx,%rbp,1),%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + vpsrldq $4,%ymm6,%ymm8 + xorl %edx,%ebx + addl %r12d,%ebp + xorl %esi,%ebx + vpxor %ymm3,%ymm7,%ymm7 + vpxor %ymm5,%ymm8,%ymm8 + addl -84(%r13),%eax + leal (%rax,%rbx,1),%eax + vpxor %ymm8,%ymm7,%ymm7 + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + xorl %ecx,%ebp + addl %r12d,%eax + vpsrld $31,%ymm7,%ymm8 + xorl %edx,%ebp + addl -64(%r13),%esi + leal (%rsi,%rbp,1),%esi + vpslldq $12,%ymm7,%ymm10 + vpaddd %ymm7,%ymm7,%ymm7 + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + vpsrld $30,%ymm10,%ymm9 + vpor %ymm8,%ymm7,%ymm7 + xorl %ebx,%eax + addl %r12d,%esi + vpslld $2,%ymm10,%ymm10 + vpxor %ymm9,%ymm7,%ymm7 + xorl %ecx,%eax + addl -60(%r13),%edx + vpxor %ymm10,%ymm7,%ymm7 + leal (%rdx,%rax,1),%edx + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + vpaddd %ymm11,%ymm7,%ymm9 + xorl %ebp,%esi + addl %r12d,%edx + xorl %ebx,%esi + vmovdqu %ymm9,224(%rsp) + addl -56(%r13),%ecx + leal (%rcx,%rsi,1),%ecx + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + xorl %eax,%edx + addl %r12d,%ecx + xorl %ebp,%edx + addl -52(%r13),%ebx + leal (%rbx,%rdx,1),%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + xorl %esi,%ecx + addl %r12d,%ebx + xorl %eax,%ecx + addl -32(%r13),%ebp + leal (%rcx,%rbp,1),%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + xorl %edx,%ebx + addl %r12d,%ebp + xorl %esi,%ebx + addl -28(%r13),%eax + leal (%rax,%rbx,1),%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + xorl %ecx,%ebp + addl %r12d,%eax + xorl %edx,%ebp + addl -24(%r13),%esi + leal (%rsi,%rbp,1),%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + xorl %ebx,%eax + addl %r12d,%esi + xorl %ecx,%eax + addl -20(%r13),%edx + leal (%rdx,%rax,1),%edx + rorxl $27,%esi,%r12d + addl %r12d,%edx + leaq 128(%rsp),%r13 + + + addl 0(%r8),%edx + addl 4(%r8),%esi + addl 8(%r8),%ebp + movl %edx,0(%r8) + addl 12(%r8),%ebx + movl %esi,4(%r8) + movl %edx,%eax + addl 16(%r8),%ecx + movl %ebp,%r12d + movl %ebp,8(%r8) + movl %ebx,%edx + + movl %ebx,12(%r8) + movl %esi,%ebp + movl %ecx,16(%r8) + + movl %ecx,%esi + movl %r12d,%ecx + + + cmpq %r10,%r9 + jbe .Loop_avx2 + +.Ldone_avx2: + vzeroupper + movq -40(%r11),%r14 +.cfi_restore %r14 + movq -32(%r11),%r13 +.cfi_restore %r13 + movq -24(%r11),%r12 +.cfi_restore %r12 + movq -16(%r11),%rbp +.cfi_restore %rbp + movq -8(%r11),%rbx +.cfi_restore %rbx + leaq (%r11),%rsp +.cfi_def_cfa_register %rsp +.Lepilogue_avx2: + .byte 0xf3,0xc3 +.cfi_endproc +.size sha1_block_data_order_avx2,.-sha1_block_data_order_avx2 .align 64 K_XX_XX: .long 0x5a827999,0x5a827999,0x5a827999,0x5a827999 @@ -3598,3 +5465,4 @@ K_XX_XX: .byte 83,72,65,49,32,98,108,111,99,107,32,116,114,97,110,115,102,111,114,109,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 .align 64 #endif +.section .note.GNU-stack,"",@progbits diff --git a/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/sha256-x86_64.S b/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/sha256-x86_64.S index 55b540f161c..0bacd6a4a82 100644 --- a/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/sha256-x86_64.S +++ b/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/sha256-x86_64.S @@ -3970,3 +3970,4 @@ sha256_block_data_order_avx: .cfi_endproc .size sha256_block_data_order_avx,.-sha256_block_data_order_avx #endif +.section .note.GNU-stack,"",@progbits diff --git a/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/sha512-x86_64.S b/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/sha512-x86_64.S index 509e144ed8d..afc47f139be 100644 --- a/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/sha512-x86_64.S +++ b/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/sha512-x86_64.S @@ -2989,3 +2989,4 @@ sha512_block_data_order_avx: .cfi_endproc .size sha512_block_data_order_avx,.-sha512_block_data_order_avx #endif +.section .note.GNU-stack,"",@progbits diff --git a/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/vpaes-x86_64.S b/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/vpaes-x86_64.S index 0fc93f9a267..27a34617a31 100644 --- a/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/vpaes-x86_64.S +++ b/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/vpaes-x86_64.S @@ -812,12 +812,10 @@ _vpaes_schedule_mangle: .align 16 vpaes_set_encrypt_key: .cfi_startproc -#ifndef NDEBUG -#ifndef BORINGSSL_FIPS +#ifdef BORINGSSL_DISPATCH_TEST .extern BORINGSSL_function_hit .hidden BORINGSSL_function_hit movb $1,BORINGSSL_function_hit+5(%rip) -#endif #endif movl %esi,%eax @@ -863,12 +861,10 @@ vpaes_set_decrypt_key: .align 16 vpaes_encrypt: .cfi_startproc -#ifndef NDEBUG -#ifndef BORINGSSL_FIPS +#ifdef BORINGSSL_DISPATCH_TEST .extern BORINGSSL_function_hit .hidden BORINGSSL_function_hit movb $1,BORINGSSL_function_hit+4(%rip) -#endif #endif movdqu (%rdi),%xmm0 call _vpaes_preheat @@ -1134,3 +1130,4 @@ _vpaes_consts: .align 64 .size _vpaes_consts,.-_vpaes_consts #endif +.section .note.GNU-stack,"",@progbits diff --git a/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/x86_64-mont.S b/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/x86_64-mont.S index f3637f01aa8..bdb44542122 100644 --- a/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/x86_64-mont.S +++ b/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/x86_64-mont.S @@ -1257,3 +1257,4 @@ bn_mulx4x_mont: .byte 77,111,110,116,103,111,109,101,114,121,32,77,117,108,116,105,112,108,105,99,97,116,105,111,110,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 .align 16 #endif +.section .note.GNU-stack,"",@progbits diff --git a/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/x86_64-mont5.S b/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/x86_64-mont5.S index b12393e2010..c86b3b0a594 100644 --- a/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/x86_64-mont5.S +++ b/contrib/boringssl-cmake/linux-x86_64/crypto/fipsmodule/x86_64-mont5.S @@ -3787,3 +3787,4 @@ bn_gather5: .long 2,2, 2,2 .byte 77,111,110,116,103,111,109,101,114,121,32,77,117,108,116,105,112,108,105,99,97,116,105,111,110,32,119,105,116,104,32,115,99,97,116,116,101,114,47,103,97,116,104,101,114,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 #endif +.section .note.GNU-stack,"",@progbits diff --git a/contrib/boringssl-cmake/linux-x86_64/crypto/test/trampoline-x86_64.S b/contrib/boringssl-cmake/linux-x86_64/crypto/test/trampoline-x86_64.S index 91a13f3eed2..9f7c0d817c9 100644 --- a/contrib/boringssl-cmake/linux-x86_64/crypto/test/trampoline-x86_64.S +++ b/contrib/boringssl-cmake/linux-x86_64/crypto/test/trampoline-x86_64.S @@ -515,3 +515,4 @@ abi_test_set_direction_flag: .byte 0xf3,0xc3 .size abi_test_set_direction_flag,.-abi_test_set_direction_flag #endif +.section .note.GNU-stack,"",@progbits diff --git a/contrib/boringssl-cmake/linux-x86_64/crypto/third_party/sike/asm/fp-x86_64.S b/contrib/boringssl-cmake/linux-x86_64/crypto/third_party/sike/asm/fp-x86_64.S deleted file mode 100644 index 4b3c925467f..00000000000 --- a/contrib/boringssl-cmake/linux-x86_64/crypto/third_party/sike/asm/fp-x86_64.S +++ /dev/null @@ -1,1870 +0,0 @@ -# This file is generated from a similarly-named Perl script in the BoringSSL -# source tree. Do not edit by hand. - -#if defined(__has_feature) -#if __has_feature(memory_sanitizer) && !defined(OPENSSL_NO_ASM) -#define OPENSSL_NO_ASM -#endif -#endif - -#if defined(__x86_64__) && !defined(OPENSSL_NO_ASM) -#if defined(BORINGSSL_PREFIX) -#include -#endif -.text - - -.Lp434x2: -.quad 0xFFFFFFFFFFFFFFFE -.quad 0xFFFFFFFFFFFFFFFF -.quad 0xFB82ECF5C5FFFFFF -.quad 0xF78CB8F062B15D47 -.quad 0xD9F8BFAD038A40AC -.quad 0x0004683E4E2EE688 - - -.Lp434p1: -.quad 0xFDC1767AE3000000 -.quad 0x7BC65C783158AEA3 -.quad 0x6CFC5FD681C52056 -.quad 0x0002341F27177344 - -.extern OPENSSL_ia32cap_P -.hidden OPENSSL_ia32cap_P -.hidden OPENSSL_ia32cap_P -.globl sike_fpadd -.hidden sike_fpadd -.type sike_fpadd,@function -sike_fpadd: -.cfi_startproc - pushq %r12 -.cfi_adjust_cfa_offset 8 -.cfi_offset r12, -16 - pushq %r13 -.cfi_adjust_cfa_offset 8 -.cfi_offset r13, -24 - pushq %r14 -.cfi_adjust_cfa_offset 8 -.cfi_offset r14, -32 - - xorq %rax,%rax - - movq 0(%rdi),%r8 - addq 0(%rsi),%r8 - movq 8(%rdi),%r9 - adcq 8(%rsi),%r9 - movq 16(%rdi),%r10 - adcq 16(%rsi),%r10 - movq 24(%rdi),%r11 - adcq 24(%rsi),%r11 - movq 32(%rdi),%r12 - adcq 32(%rsi),%r12 - movq 40(%rdi),%r13 - adcq 40(%rsi),%r13 - movq 48(%rdi),%r14 - adcq 48(%rsi),%r14 - - movq .Lp434x2(%rip),%rcx - subq %rcx,%r8 - movq 8+.Lp434x2(%rip),%rcx - sbbq %rcx,%r9 - sbbq %rcx,%r10 - movq 16+.Lp434x2(%rip),%rcx - sbbq %rcx,%r11 - movq 24+.Lp434x2(%rip),%rcx - sbbq %rcx,%r12 - movq 32+.Lp434x2(%rip),%rcx - sbbq %rcx,%r13 - movq 40+.Lp434x2(%rip),%rcx - sbbq %rcx,%r14 - - sbbq $0,%rax - - movq .Lp434x2(%rip),%rdi - andq %rax,%rdi - movq 8+.Lp434x2(%rip),%rsi - andq %rax,%rsi - movq 16+.Lp434x2(%rip),%rcx - andq %rax,%rcx - - addq %rdi,%r8 - movq %r8,0(%rdx) - adcq %rsi,%r9 - movq %r9,8(%rdx) - adcq %rsi,%r10 - movq %r10,16(%rdx) - adcq %rcx,%r11 - movq %r11,24(%rdx) - - setc %cl - movq 24+.Lp434x2(%rip),%r8 - andq %rax,%r8 - movq 32+.Lp434x2(%rip),%r9 - andq %rax,%r9 - movq 40+.Lp434x2(%rip),%r10 - andq %rax,%r10 - btq $0,%rcx - - adcq %r8,%r12 - movq %r12,32(%rdx) - adcq %r9,%r13 - movq %r13,40(%rdx) - adcq %r10,%r14 - movq %r14,48(%rdx) - - popq %r14 -.cfi_adjust_cfa_offset -8 - popq %r13 -.cfi_adjust_cfa_offset -8 - popq %r12 -.cfi_adjust_cfa_offset -8 - .byte 0xf3,0xc3 -.cfi_endproc -.globl sike_cswap_asm -.hidden sike_cswap_asm -.type sike_cswap_asm,@function -sike_cswap_asm: - - - movq %rdx,%xmm3 - - - - - - pshufd $68,%xmm3,%xmm3 - - movdqu 0(%rdi),%xmm0 - movdqu 0(%rsi),%xmm1 - movdqa %xmm1,%xmm2 - pxor %xmm0,%xmm2 - pand %xmm3,%xmm2 - pxor %xmm2,%xmm0 - pxor %xmm2,%xmm1 - movdqu %xmm0,0(%rdi) - movdqu %xmm1,0(%rsi) - - movdqu 16(%rdi),%xmm0 - movdqu 16(%rsi),%xmm1 - movdqa %xmm1,%xmm2 - pxor %xmm0,%xmm2 - pand %xmm3,%xmm2 - pxor %xmm2,%xmm0 - pxor %xmm2,%xmm1 - movdqu %xmm0,16(%rdi) - movdqu %xmm1,16(%rsi) - - movdqu 32(%rdi),%xmm0 - movdqu 32(%rsi),%xmm1 - movdqa %xmm1,%xmm2 - pxor %xmm0,%xmm2 - pand %xmm3,%xmm2 - pxor %xmm2,%xmm0 - pxor %xmm2,%xmm1 - movdqu %xmm0,32(%rdi) - movdqu %xmm1,32(%rsi) - - movdqu 48(%rdi),%xmm0 - movdqu 48(%rsi),%xmm1 - movdqa %xmm1,%xmm2 - pxor %xmm0,%xmm2 - pand %xmm3,%xmm2 - pxor %xmm2,%xmm0 - pxor %xmm2,%xmm1 - movdqu %xmm0,48(%rdi) - movdqu %xmm1,48(%rsi) - - movdqu 64(%rdi),%xmm0 - movdqu 64(%rsi),%xmm1 - movdqa %xmm1,%xmm2 - pxor %xmm0,%xmm2 - pand %xmm3,%xmm2 - pxor %xmm2,%xmm0 - pxor %xmm2,%xmm1 - movdqu %xmm0,64(%rdi) - movdqu %xmm1,64(%rsi) - - movdqu 80(%rdi),%xmm0 - movdqu 80(%rsi),%xmm1 - movdqa %xmm1,%xmm2 - pxor %xmm0,%xmm2 - pand %xmm3,%xmm2 - pxor %xmm2,%xmm0 - pxor %xmm2,%xmm1 - movdqu %xmm0,80(%rdi) - movdqu %xmm1,80(%rsi) - - movdqu 96(%rdi),%xmm0 - movdqu 96(%rsi),%xmm1 - movdqa %xmm1,%xmm2 - pxor %xmm0,%xmm2 - pand %xmm3,%xmm2 - pxor %xmm2,%xmm0 - pxor %xmm2,%xmm1 - movdqu %xmm0,96(%rdi) - movdqu %xmm1,96(%rsi) - - movdqu 112(%rdi),%xmm0 - movdqu 112(%rsi),%xmm1 - movdqa %xmm1,%xmm2 - pxor %xmm0,%xmm2 - pand %xmm3,%xmm2 - pxor %xmm2,%xmm0 - pxor %xmm2,%xmm1 - movdqu %xmm0,112(%rdi) - movdqu %xmm1,112(%rsi) - - movdqu 128(%rdi),%xmm0 - movdqu 128(%rsi),%xmm1 - movdqa %xmm1,%xmm2 - pxor %xmm0,%xmm2 - pand %xmm3,%xmm2 - pxor %xmm2,%xmm0 - pxor %xmm2,%xmm1 - movdqu %xmm0,128(%rdi) - movdqu %xmm1,128(%rsi) - - movdqu 144(%rdi),%xmm0 - movdqu 144(%rsi),%xmm1 - movdqa %xmm1,%xmm2 - pxor %xmm0,%xmm2 - pand %xmm3,%xmm2 - pxor %xmm2,%xmm0 - pxor %xmm2,%xmm1 - movdqu %xmm0,144(%rdi) - movdqu %xmm1,144(%rsi) - - movdqu 160(%rdi),%xmm0 - movdqu 160(%rsi),%xmm1 - movdqa %xmm1,%xmm2 - pxor %xmm0,%xmm2 - pand %xmm3,%xmm2 - pxor %xmm2,%xmm0 - pxor %xmm2,%xmm1 - movdqu %xmm0,160(%rdi) - movdqu %xmm1,160(%rsi) - - movdqu 176(%rdi),%xmm0 - movdqu 176(%rsi),%xmm1 - movdqa %xmm1,%xmm2 - pxor %xmm0,%xmm2 - pand %xmm3,%xmm2 - pxor %xmm2,%xmm0 - pxor %xmm2,%xmm1 - movdqu %xmm0,176(%rdi) - movdqu %xmm1,176(%rsi) - - movdqu 192(%rdi),%xmm0 - movdqu 192(%rsi),%xmm1 - movdqa %xmm1,%xmm2 - pxor %xmm0,%xmm2 - pand %xmm3,%xmm2 - pxor %xmm2,%xmm0 - pxor %xmm2,%xmm1 - movdqu %xmm0,192(%rdi) - movdqu %xmm1,192(%rsi) - - movdqu 208(%rdi),%xmm0 - movdqu 208(%rsi),%xmm1 - movdqa %xmm1,%xmm2 - pxor %xmm0,%xmm2 - pand %xmm3,%xmm2 - pxor %xmm2,%xmm0 - pxor %xmm2,%xmm1 - movdqu %xmm0,208(%rdi) - movdqu %xmm1,208(%rsi) - - .byte 0xf3,0xc3 -.globl sike_fpsub -.hidden sike_fpsub -.type sike_fpsub,@function -sike_fpsub: -.cfi_startproc - pushq %r12 -.cfi_adjust_cfa_offset 8 -.cfi_offset r12, -16 - pushq %r13 -.cfi_adjust_cfa_offset 8 -.cfi_offset r13, -24 - pushq %r14 -.cfi_adjust_cfa_offset 8 -.cfi_offset r14, -32 - - xorq %rax,%rax - - movq 0(%rdi),%r8 - subq 0(%rsi),%r8 - movq 8(%rdi),%r9 - sbbq 8(%rsi),%r9 - movq 16(%rdi),%r10 - sbbq 16(%rsi),%r10 - movq 24(%rdi),%r11 - sbbq 24(%rsi),%r11 - movq 32(%rdi),%r12 - sbbq 32(%rsi),%r12 - movq 40(%rdi),%r13 - sbbq 40(%rsi),%r13 - movq 48(%rdi),%r14 - sbbq 48(%rsi),%r14 - - sbbq $0x0,%rax - - movq .Lp434x2(%rip),%rdi - andq %rax,%rdi - movq 8+.Lp434x2(%rip),%rsi - andq %rax,%rsi - movq 16+.Lp434x2(%rip),%rcx - andq %rax,%rcx - - addq %rdi,%r8 - movq %r8,0(%rdx) - adcq %rsi,%r9 - movq %r9,8(%rdx) - adcq %rsi,%r10 - movq %r10,16(%rdx) - adcq %rcx,%r11 - movq %r11,24(%rdx) - - setc %cl - movq 24+.Lp434x2(%rip),%r8 - andq %rax,%r8 - movq 32+.Lp434x2(%rip),%r9 - andq %rax,%r9 - movq 40+.Lp434x2(%rip),%r10 - andq %rax,%r10 - btq $0x0,%rcx - - adcq %r8,%r12 - adcq %r9,%r13 - adcq %r10,%r14 - movq %r12,32(%rdx) - movq %r13,40(%rdx) - movq %r14,48(%rdx) - - popq %r14 -.cfi_adjust_cfa_offset -8 - popq %r13 -.cfi_adjust_cfa_offset -8 - popq %r12 -.cfi_adjust_cfa_offset -8 - .byte 0xf3,0xc3 -.cfi_endproc -.globl sike_mpadd_asm -.hidden sike_mpadd_asm -.type sike_mpadd_asm,@function -sike_mpadd_asm: -.cfi_startproc - movq 0(%rdi),%r8; - movq 8(%rdi),%r9 - movq 16(%rdi),%r10 - movq 24(%rdi),%r11 - movq 32(%rdi),%rcx - addq 0(%rsi),%r8 - adcq 8(%rsi),%r9 - adcq 16(%rsi),%r10 - adcq 24(%rsi),%r11 - adcq 32(%rsi),%rcx - movq %r8,0(%rdx) - movq %r9,8(%rdx) - movq %r10,16(%rdx) - movq %r11,24(%rdx) - movq %rcx,32(%rdx) - - movq 40(%rdi),%r8 - movq 48(%rdi),%r9 - adcq 40(%rsi),%r8 - adcq 48(%rsi),%r9 - movq %r8,40(%rdx) - movq %r9,48(%rdx) - .byte 0xf3,0xc3 -.cfi_endproc -.globl sike_mpsubx2_asm -.hidden sike_mpsubx2_asm -.type sike_mpsubx2_asm,@function -sike_mpsubx2_asm: -.cfi_startproc - xorq %rax,%rax - - movq 0(%rdi),%r8 - movq 8(%rdi),%r9 - movq 16(%rdi),%r10 - movq 24(%rdi),%r11 - movq 32(%rdi),%rcx - subq 0(%rsi),%r8 - sbbq 8(%rsi),%r9 - sbbq 16(%rsi),%r10 - sbbq 24(%rsi),%r11 - sbbq 32(%rsi),%rcx - movq %r8,0(%rdx) - movq %r9,8(%rdx) - movq %r10,16(%rdx) - movq %r11,24(%rdx) - movq %rcx,32(%rdx) - - movq 40(%rdi),%r8 - movq 48(%rdi),%r9 - movq 56(%rdi),%r10 - movq 64(%rdi),%r11 - movq 72(%rdi),%rcx - sbbq 40(%rsi),%r8 - sbbq 48(%rsi),%r9 - sbbq 56(%rsi),%r10 - sbbq 64(%rsi),%r11 - sbbq 72(%rsi),%rcx - movq %r8,40(%rdx) - movq %r9,48(%rdx) - movq %r10,56(%rdx) - movq %r11,64(%rdx) - movq %rcx,72(%rdx) - - movq 80(%rdi),%r8 - movq 88(%rdi),%r9 - movq 96(%rdi),%r10 - movq 104(%rdi),%r11 - sbbq 80(%rsi),%r8 - sbbq 88(%rsi),%r9 - sbbq 96(%rsi),%r10 - sbbq 104(%rsi),%r11 - sbbq $0x0,%rax - movq %r8,80(%rdx) - movq %r9,88(%rdx) - movq %r10,96(%rdx) - movq %r11,104(%rdx) - .byte 0xf3,0xc3 -.cfi_endproc -.globl sike_mpdblsubx2_asm -.hidden sike_mpdblsubx2_asm -.type sike_mpdblsubx2_asm,@function -sike_mpdblsubx2_asm: -.cfi_startproc - pushq %r12 -.cfi_adjust_cfa_offset 8 -.cfi_offset r12, -16 - pushq %r13 -.cfi_adjust_cfa_offset 8 -.cfi_offset r13, -24 - - xorq %rax,%rax - - - movq 0(%rdx),%r8 - movq 8(%rdx),%r9 - movq 16(%rdx),%r10 - movq 24(%rdx),%r11 - movq 32(%rdx),%r12 - movq 40(%rdx),%r13 - movq 48(%rdx),%rcx - subq 0(%rdi),%r8 - sbbq 8(%rdi),%r9 - sbbq 16(%rdi),%r10 - sbbq 24(%rdi),%r11 - sbbq 32(%rdi),%r12 - sbbq 40(%rdi),%r13 - sbbq 48(%rdi),%rcx - adcq $0x0,%rax - - - subq 0(%rsi),%r8 - sbbq 8(%rsi),%r9 - sbbq 16(%rsi),%r10 - sbbq 24(%rsi),%r11 - sbbq 32(%rsi),%r12 - sbbq 40(%rsi),%r13 - sbbq 48(%rsi),%rcx - adcq $0x0,%rax - - - movq %r8,0(%rdx) - movq %r9,8(%rdx) - movq %r10,16(%rdx) - movq %r11,24(%rdx) - movq %r12,32(%rdx) - movq %r13,40(%rdx) - movq %rcx,48(%rdx) - - - movq 56(%rdx),%r8 - movq 64(%rdx),%r9 - movq 72(%rdx),%r10 - movq 80(%rdx),%r11 - movq 88(%rdx),%r12 - movq 96(%rdx),%r13 - movq 104(%rdx),%rcx - - subq %rax,%r8 - sbbq 56(%rdi),%r8 - sbbq 64(%rdi),%r9 - sbbq 72(%rdi),%r10 - sbbq 80(%rdi),%r11 - sbbq 88(%rdi),%r12 - sbbq 96(%rdi),%r13 - sbbq 104(%rdi),%rcx - - - subq 56(%rsi),%r8 - sbbq 64(%rsi),%r9 - sbbq 72(%rsi),%r10 - sbbq 80(%rsi),%r11 - sbbq 88(%rsi),%r12 - sbbq 96(%rsi),%r13 - sbbq 104(%rsi),%rcx - - - movq %r8,56(%rdx) - movq %r9,64(%rdx) - movq %r10,72(%rdx) - movq %r11,80(%rdx) - movq %r12,88(%rdx) - movq %r13,96(%rdx) - movq %rcx,104(%rdx) - - popq %r13 -.cfi_adjust_cfa_offset -8 - popq %r12 -.cfi_adjust_cfa_offset -8 - .byte 0xf3,0xc3 -.cfi_endproc - -.Lrdc_bdw: -.cfi_startproc - -.cfi_adjust_cfa_offset 32 -.cfi_offset r12, -16 -.cfi_offset r13, -24 -.cfi_offset r14, -32 -.cfi_offset r15, -40 - - xorq %rax,%rax - movq 0+0(%rdi),%rdx - mulxq 0+.Lp434p1(%rip),%r8,%r9 - mulxq 8+.Lp434p1(%rip),%r12,%r10 - mulxq 16+.Lp434p1(%rip),%r13,%r11 - - adoxq %r12,%r9 - adoxq %r13,%r10 - - mulxq 24+.Lp434p1(%rip),%r13,%r12 - adoxq %r13,%r11 - adoxq %rax,%r12 - - xorq %rax,%rax - movq 0+8(%rdi),%rdx - mulxq 0+.Lp434p1(%rip),%r13,%rcx - adcxq %r13,%r9 - adcxq %rcx,%r10 - - mulxq 8+.Lp434p1(%rip),%rcx,%r13 - adcxq %r13,%r11 - adoxq %rcx,%r10 - - mulxq 16+.Lp434p1(%rip),%rcx,%r13 - adcxq %r13,%r12 - adoxq %rcx,%r11 - - mulxq 24+.Lp434p1(%rip),%rcx,%r13 - adcxq %rax,%r13 - adoxq %rcx,%r12 - adoxq %rax,%r13 - - xorq %rcx,%rcx - addq 24(%rdi),%r8 - adcq 32(%rdi),%r9 - adcq 40(%rdi),%r10 - adcq 48(%rdi),%r11 - adcq 56(%rdi),%r12 - adcq 64(%rdi),%r13 - adcq 72(%rdi),%rcx - movq %r8,24(%rdi) - movq %r9,32(%rdi) - movq %r10,40(%rdi) - movq %r11,48(%rdi) - movq %r12,56(%rdi) - movq %r13,64(%rdi) - movq %rcx,72(%rdi) - movq 80(%rdi),%r8 - movq 88(%rdi),%r9 - movq 96(%rdi),%r10 - movq 104(%rdi),%r11 - adcq $0x0,%r8 - adcq $0x0,%r9 - adcq $0x0,%r10 - adcq $0x0,%r11 - movq %r8,80(%rdi) - movq %r9,88(%rdi) - movq %r10,96(%rdi) - movq %r11,104(%rdi) - - xorq %rax,%rax - movq 16+0(%rdi),%rdx - mulxq 0+.Lp434p1(%rip),%r8,%r9 - mulxq 8+.Lp434p1(%rip),%r12,%r10 - mulxq 16+.Lp434p1(%rip),%r13,%r11 - - adoxq %r12,%r9 - adoxq %r13,%r10 - - mulxq 24+.Lp434p1(%rip),%r13,%r12 - adoxq %r13,%r11 - adoxq %rax,%r12 - - xorq %rax,%rax - movq 16+8(%rdi),%rdx - mulxq 0+.Lp434p1(%rip),%r13,%rcx - adcxq %r13,%r9 - adcxq %rcx,%r10 - - mulxq 8+.Lp434p1(%rip),%rcx,%r13 - adcxq %r13,%r11 - adoxq %rcx,%r10 - - mulxq 16+.Lp434p1(%rip),%rcx,%r13 - adcxq %r13,%r12 - adoxq %rcx,%r11 - - mulxq 24+.Lp434p1(%rip),%rcx,%r13 - adcxq %rax,%r13 - adoxq %rcx,%r12 - adoxq %rax,%r13 - - xorq %rcx,%rcx - addq 40(%rdi),%r8 - adcq 48(%rdi),%r9 - adcq 56(%rdi),%r10 - adcq 64(%rdi),%r11 - adcq 72(%rdi),%r12 - adcq 80(%rdi),%r13 - adcq 88(%rdi),%rcx - movq %r8,40(%rdi) - movq %r9,48(%rdi) - movq %r10,56(%rdi) - movq %r11,64(%rdi) - movq %r12,72(%rdi) - movq %r13,80(%rdi) - movq %rcx,88(%rdi) - movq 96(%rdi),%r8 - movq 104(%rdi),%r9 - adcq $0x0,%r8 - adcq $0x0,%r9 - movq %r8,96(%rdi) - movq %r9,104(%rdi) - - xorq %rax,%rax - movq 32+0(%rdi),%rdx - mulxq 0+.Lp434p1(%rip),%r8,%r9 - mulxq 8+.Lp434p1(%rip),%r12,%r10 - mulxq 16+.Lp434p1(%rip),%r13,%r11 - - adoxq %r12,%r9 - adoxq %r13,%r10 - - mulxq 24+.Lp434p1(%rip),%r13,%r12 - adoxq %r13,%r11 - adoxq %rax,%r12 - - xorq %rax,%rax - movq 32+8(%rdi),%rdx - mulxq 0+.Lp434p1(%rip),%r13,%rcx - adcxq %r13,%r9 - adcxq %rcx,%r10 - - mulxq 8+.Lp434p1(%rip),%rcx,%r13 - adcxq %r13,%r11 - adoxq %rcx,%r10 - - mulxq 16+.Lp434p1(%rip),%rcx,%r13 - adcxq %r13,%r12 - adoxq %rcx,%r11 - - mulxq 24+.Lp434p1(%rip),%rcx,%r13 - adcxq %rax,%r13 - adoxq %rcx,%r12 - adoxq %rax,%r13 - - xorq %rcx,%rcx - addq 56(%rdi),%r8 - adcq 64(%rdi),%r9 - adcq 72(%rdi),%r10 - adcq 80(%rdi),%r11 - adcq 88(%rdi),%r12 - adcq 96(%rdi),%r13 - adcq 104(%rdi),%rcx - movq %r8,0(%rsi) - movq %r9,8(%rsi) - movq %r10,72(%rdi) - movq %r11,80(%rdi) - movq %r12,88(%rdi) - movq %r13,96(%rdi) - movq %rcx,104(%rdi) - - xorq %rax,%rax - movq 48(%rdi),%rdx - mulxq 0+.Lp434p1(%rip),%r8,%r9 - mulxq 8+.Lp434p1(%rip),%r12,%r10 - mulxq 16+.Lp434p1(%rip),%r13,%r11 - - adoxq %r12,%r9 - adoxq %r13,%r10 - - mulxq 24+.Lp434p1(%rip),%r13,%r12 - adoxq %r13,%r11 - adoxq %rax,%r12 - - addq 72(%rdi),%r8 - adcq 80(%rdi),%r9 - adcq 88(%rdi),%r10 - adcq 96(%rdi),%r11 - adcq 104(%rdi),%r12 - movq %r8,16(%rsi) - movq %r9,24(%rsi) - movq %r10,32(%rsi) - movq %r11,40(%rsi) - movq %r12,48(%rsi) - - - popq %r15 -.cfi_adjust_cfa_offset -8 -.cfi_same_value r15 - popq %r14 -.cfi_adjust_cfa_offset -8 -.cfi_same_value r14 - popq %r13 -.cfi_adjust_cfa_offset -8 -.cfi_same_value r13 - popq %r12 -.cfi_adjust_cfa_offset -8 -.cfi_same_value r12 - .byte 0xf3,0xc3 -.cfi_endproc -.globl sike_fprdc -.hidden sike_fprdc -.type sike_fprdc,@function -sike_fprdc: -.cfi_startproc - pushq %r12 -.cfi_adjust_cfa_offset 8 -.cfi_offset r12, -16 - pushq %r13 -.cfi_adjust_cfa_offset 8 -.cfi_offset r13, -24 - pushq %r14 -.cfi_adjust_cfa_offset 8 -.cfi_offset r14, -32 - pushq %r15 -.cfi_adjust_cfa_offset 8 -.cfi_offset r15, -40 - - - - leaq OPENSSL_ia32cap_P(%rip),%rcx - movq 8(%rcx),%rcx - andl $0x80100,%ecx - cmpl $0x80100,%ecx - je .Lrdc_bdw - - - - - movq 0+0(%rdi),%r14 - movq 0+.Lp434p1(%rip),%rax - mulq %r14 - xorq %r10,%r10 - movq %rax,%r8 - movq %rdx,%r9 - - - movq 8+.Lp434p1(%rip),%rax - mulq %r14 - xorq %r11,%r11 - addq %rax,%r9 - adcq %rdx,%r10 - - - movq 0+8(%rdi),%rcx - movq 0+.Lp434p1(%rip),%rax - mulq %rcx - addq %rax,%r9 - adcq %rdx,%r10 - adcq $0x0,%r11 - - - xorq %r12,%r12 - movq 16+.Lp434p1(%rip),%rax - mulq %r14 - addq %rax,%r10 - adcq %rdx,%r11 - adcq $0x0,%r12 - - - movq 8+.Lp434p1(%rip),%rax - mulq %rcx - addq %rax,%r10 - adcq %rdx,%r11 - adcq $0x0,%r12 - - - movq 24+.Lp434p1(%rip),%rax - mulq %r14 - xorq %r13,%r13 - addq %rax,%r11 - adcq %rdx,%r12 - adcq $0x0,%r13 - - - movq 16+.Lp434p1(%rip),%rax - mulq %rcx - addq %rax,%r11 - adcq %rdx,%r12 - adcq $0x0,%r13 - - - movq 24+.Lp434p1(%rip),%rax - mulq %rcx - addq %rax,%r12 - adcq %rdx,%r13 - - - xorq %rcx,%rcx - addq 24(%rdi),%r8 - adcq 32(%rdi),%r9 - adcq 40(%rdi),%r10 - adcq 48(%rdi),%r11 - adcq 56(%rdi),%r12 - adcq 64(%rdi),%r13 - adcq 72(%rdi),%rcx - movq %r8,24(%rdi) - movq %r9,32(%rdi) - movq %r10,40(%rdi) - movq %r11,48(%rdi) - movq %r12,56(%rdi) - movq %r13,64(%rdi) - movq %rcx,72(%rdi) - movq 80(%rdi),%r8 - movq 88(%rdi),%r9 - movq 96(%rdi),%r10 - movq 104(%rdi),%r11 - adcq $0x0,%r8 - adcq $0x0,%r9 - adcq $0x0,%r10 - adcq $0x0,%r11 - movq %r8,80(%rdi) - movq %r9,88(%rdi) - movq %r10,96(%rdi) - movq %r11,104(%rdi) - - - movq 16+0(%rdi),%r14 - movq 0+.Lp434p1(%rip),%rax - mulq %r14 - xorq %r10,%r10 - movq %rax,%r8 - movq %rdx,%r9 - - - movq 8+.Lp434p1(%rip),%rax - mulq %r14 - xorq %r11,%r11 - addq %rax,%r9 - adcq %rdx,%r10 - - - movq 16+8(%rdi),%rcx - movq 0+.Lp434p1(%rip),%rax - mulq %rcx - addq %rax,%r9 - adcq %rdx,%r10 - adcq $0x0,%r11 - - - xorq %r12,%r12 - movq 16+.Lp434p1(%rip),%rax - mulq %r14 - addq %rax,%r10 - adcq %rdx,%r11 - adcq $0x0,%r12 - - - movq 8+.Lp434p1(%rip),%rax - mulq %rcx - addq %rax,%r10 - adcq %rdx,%r11 - adcq $0x0,%r12 - - - movq 24+.Lp434p1(%rip),%rax - mulq %r14 - xorq %r13,%r13 - addq %rax,%r11 - adcq %rdx,%r12 - adcq $0x0,%r13 - - - movq 16+.Lp434p1(%rip),%rax - mulq %rcx - addq %rax,%r11 - adcq %rdx,%r12 - adcq $0x0,%r13 - - - movq 24+.Lp434p1(%rip),%rax - mulq %rcx - addq %rax,%r12 - adcq %rdx,%r13 - - - xorq %rcx,%rcx - addq 40(%rdi),%r8 - adcq 48(%rdi),%r9 - adcq 56(%rdi),%r10 - adcq 64(%rdi),%r11 - adcq 72(%rdi),%r12 - adcq 80(%rdi),%r13 - adcq 88(%rdi),%rcx - movq %r8,40(%rdi) - movq %r9,48(%rdi) - movq %r10,56(%rdi) - movq %r11,64(%rdi) - movq %r12,72(%rdi) - movq %r13,80(%rdi) - movq %rcx,88(%rdi) - movq 96(%rdi),%r8 - movq 104(%rdi),%r9 - adcq $0x0,%r8 - adcq $0x0,%r9 - movq %r8,96(%rdi) - movq %r9,104(%rdi) - - - movq 32+0(%rdi),%r14 - movq 0+.Lp434p1(%rip),%rax - mulq %r14 - xorq %r10,%r10 - movq %rax,%r8 - movq %rdx,%r9 - - - movq 8+.Lp434p1(%rip),%rax - mulq %r14 - xorq %r11,%r11 - addq %rax,%r9 - adcq %rdx,%r10 - - - movq 32+8(%rdi),%rcx - movq 0+.Lp434p1(%rip),%rax - mulq %rcx - addq %rax,%r9 - adcq %rdx,%r10 - adcq $0x0,%r11 - - - xorq %r12,%r12 - movq 16+.Lp434p1(%rip),%rax - mulq %r14 - addq %rax,%r10 - adcq %rdx,%r11 - adcq $0x0,%r12 - - - movq 8+.Lp434p1(%rip),%rax - mulq %rcx - addq %rax,%r10 - adcq %rdx,%r11 - adcq $0x0,%r12 - - - movq 24+.Lp434p1(%rip),%rax - mulq %r14 - xorq %r13,%r13 - addq %rax,%r11 - adcq %rdx,%r12 - adcq $0x0,%r13 - - - movq 16+.Lp434p1(%rip),%rax - mulq %rcx - addq %rax,%r11 - adcq %rdx,%r12 - adcq $0x0,%r13 - - - movq 24+.Lp434p1(%rip),%rax - mulq %rcx - addq %rax,%r12 - adcq %rdx,%r13 - - - xorq %rcx,%rcx - addq 56(%rdi),%r8 - adcq 64(%rdi),%r9 - adcq 72(%rdi),%r10 - adcq 80(%rdi),%r11 - adcq 88(%rdi),%r12 - adcq 96(%rdi),%r13 - adcq 104(%rdi),%rcx - movq %r8,0(%rsi) - movq %r9,8(%rsi) - movq %r10,72(%rdi) - movq %r11,80(%rdi) - movq %r12,88(%rdi) - movq %r13,96(%rdi) - movq %rcx,104(%rdi) - - movq 48(%rdi),%r13 - - xorq %r10,%r10 - movq 0+.Lp434p1(%rip),%rax - mulq %r13 - movq %rax,%r8 - movq %rdx,%r9 - - xorq %r11,%r11 - movq 8+.Lp434p1(%rip),%rax - mulq %r13 - addq %rax,%r9 - adcq %rdx,%r10 - - xorq %r12,%r12 - movq 16+.Lp434p1(%rip),%rax - mulq %r13 - addq %rax,%r10 - adcq %rdx,%r11 - - movq 24+.Lp434p1(%rip),%rax - mulq %r13 - addq %rax,%r11 - adcq %rdx,%r12 - - addq 72(%rdi),%r8 - adcq 80(%rdi),%r9 - adcq 88(%rdi),%r10 - adcq 96(%rdi),%r11 - adcq 104(%rdi),%r12 - movq %r8,16(%rsi) - movq %r9,24(%rsi) - movq %r10,32(%rsi) - movq %r11,40(%rsi) - movq %r12,48(%rsi) - - - popq %r15 -.cfi_adjust_cfa_offset -8 - popq %r14 -.cfi_adjust_cfa_offset -8 - popq %r13 -.cfi_adjust_cfa_offset -8 - popq %r12 -.cfi_adjust_cfa_offset -8 - .byte 0xf3,0xc3 -.cfi_endproc -.Lmul_bdw: -.cfi_startproc - -.cfi_adjust_cfa_offset 32 -.cfi_offset r12, -16 -.cfi_offset r13, -24 -.cfi_offset r14, -32 -.cfi_offset r15, -40 - - - movq %rdx,%rcx - xorq %rax,%rax - - - movq 0(%rdi),%r8 - movq 8(%rdi),%r9 - movq 16(%rdi),%r10 - movq 24(%rdi),%r11 - - pushq %rbx -.cfi_adjust_cfa_offset 8 -.cfi_offset rbx, -48 - pushq %rbp -.cfi_offset rbp, -56 -.cfi_adjust_cfa_offset 8 - subq $96,%rsp -.cfi_adjust_cfa_offset 96 - - addq 32(%rdi),%r8 - adcq 40(%rdi),%r9 - adcq 48(%rdi),%r10 - adcq $0x0,%r11 - sbbq $0x0,%rax - movq %r8,0(%rsp) - movq %r9,8(%rsp) - movq %r10,16(%rsp) - movq %r11,24(%rsp) - - - xorq %rbx,%rbx - movq 0(%rsi),%r12 - movq 8(%rsi),%r13 - movq 16(%rsi),%r14 - movq 24(%rsi),%r15 - addq 32(%rsi),%r12 - adcq 40(%rsi),%r13 - adcq 48(%rsi),%r14 - adcq $0x0,%r15 - sbbq $0x0,%rbx - movq %r12,32(%rsp) - movq %r13,40(%rsp) - movq %r14,48(%rsp) - movq %r15,56(%rsp) - - - andq %rax,%r12 - andq %rax,%r13 - andq %rax,%r14 - andq %rax,%r15 - - - andq %rbx,%r8 - andq %rbx,%r9 - andq %rbx,%r10 - andq %rbx,%r11 - - - addq %r12,%r8 - adcq %r13,%r9 - adcq %r14,%r10 - adcq %r15,%r11 - movq %r8,64(%rsp) - movq %r9,72(%rsp) - movq %r10,80(%rsp) - movq %r11,88(%rsp) - - - movq 0+0(%rsp),%rdx - mulxq 32+0(%rsp),%r9,%r8 - movq %r9,0+0(%rsp) - mulxq 32+8(%rsp),%r10,%r9 - xorq %rax,%rax - adoxq %r10,%r8 - mulxq 32+16(%rsp),%r11,%r10 - adoxq %r11,%r9 - mulxq 32+24(%rsp),%r12,%r11 - adoxq %r12,%r10 - - movq 0+8(%rsp),%rdx - mulxq 32+0(%rsp),%r12,%r13 - adoxq %rax,%r11 - xorq %rax,%rax - mulxq 32+8(%rsp),%r15,%r14 - adoxq %r8,%r12 - movq %r12,0+8(%rsp) - adcxq %r15,%r13 - mulxq 32+16(%rsp),%rbx,%r15 - adcxq %rbx,%r14 - adoxq %r9,%r13 - mulxq 32+24(%rsp),%rbp,%rbx - adcxq %rbp,%r15 - adcxq %rax,%rbx - adoxq %r10,%r14 - - movq 0+16(%rsp),%rdx - mulxq 32+0(%rsp),%r8,%r9 - adoxq %r11,%r15 - adoxq %rax,%rbx - xorq %rax,%rax - mulxq 32+8(%rsp),%r11,%r10 - adoxq %r13,%r8 - movq %r8,0+16(%rsp) - adcxq %r11,%r9 - mulxq 32+16(%rsp),%r12,%r11 - adcxq %r12,%r10 - adoxq %r14,%r9 - mulxq 32+24(%rsp),%rbp,%r12 - adcxq %rbp,%r11 - adcxq %rax,%r12 - - adoxq %r15,%r10 - adoxq %rbx,%r11 - adoxq %rax,%r12 - - movq 0+24(%rsp),%rdx - mulxq 32+0(%rsp),%r8,%r13 - xorq %rax,%rax - mulxq 32+8(%rsp),%r15,%r14 - adcxq %r15,%r13 - adoxq %r8,%r9 - mulxq 32+16(%rsp),%rbx,%r15 - adcxq %rbx,%r14 - adoxq %r13,%r10 - mulxq 32+24(%rsp),%rbp,%rbx - adcxq %rbp,%r15 - adcxq %rax,%rbx - adoxq %r14,%r11 - adoxq %r15,%r12 - adoxq %rax,%rbx - movq %r9,0+24(%rsp) - movq %r10,0+32(%rsp) - movq %r11,0+40(%rsp) - movq %r12,0+48(%rsp) - movq %rbx,0+56(%rsp) - - - - movq 0+0(%rdi),%rdx - mulxq 0+0(%rsi),%r9,%r8 - movq %r9,0+0(%rcx) - mulxq 0+8(%rsi),%r10,%r9 - xorq %rax,%rax - adoxq %r10,%r8 - mulxq 0+16(%rsi),%r11,%r10 - adoxq %r11,%r9 - mulxq 0+24(%rsi),%r12,%r11 - adoxq %r12,%r10 - - movq 0+8(%rdi),%rdx - mulxq 0+0(%rsi),%r12,%r13 - adoxq %rax,%r11 - xorq %rax,%rax - mulxq 0+8(%rsi),%r15,%r14 - adoxq %r8,%r12 - movq %r12,0+8(%rcx) - adcxq %r15,%r13 - mulxq 0+16(%rsi),%rbx,%r15 - adcxq %rbx,%r14 - adoxq %r9,%r13 - mulxq 0+24(%rsi),%rbp,%rbx - adcxq %rbp,%r15 - adcxq %rax,%rbx - adoxq %r10,%r14 - - movq 0+16(%rdi),%rdx - mulxq 0+0(%rsi),%r8,%r9 - adoxq %r11,%r15 - adoxq %rax,%rbx - xorq %rax,%rax - mulxq 0+8(%rsi),%r11,%r10 - adoxq %r13,%r8 - movq %r8,0+16(%rcx) - adcxq %r11,%r9 - mulxq 0+16(%rsi),%r12,%r11 - adcxq %r12,%r10 - adoxq %r14,%r9 - mulxq 0+24(%rsi),%rbp,%r12 - adcxq %rbp,%r11 - adcxq %rax,%r12 - - adoxq %r15,%r10 - adoxq %rbx,%r11 - adoxq %rax,%r12 - - movq 0+24(%rdi),%rdx - mulxq 0+0(%rsi),%r8,%r13 - xorq %rax,%rax - mulxq 0+8(%rsi),%r15,%r14 - adcxq %r15,%r13 - adoxq %r8,%r9 - mulxq 0+16(%rsi),%rbx,%r15 - adcxq %rbx,%r14 - adoxq %r13,%r10 - mulxq 0+24(%rsi),%rbp,%rbx - adcxq %rbp,%r15 - adcxq %rax,%rbx - adoxq %r14,%r11 - adoxq %r15,%r12 - adoxq %rax,%rbx - movq %r9,0+24(%rcx) - movq %r10,0+32(%rcx) - movq %r11,0+40(%rcx) - movq %r12,0+48(%rcx) - movq %rbx,0+56(%rcx) - - - - movq 32+0(%rdi),%rdx - mulxq 32+0(%rsi),%r9,%r8 - movq %r9,64+0(%rcx) - mulxq 32+8(%rsi),%r10,%r9 - xorq %rax,%rax - adoxq %r10,%r8 - mulxq 32+16(%rsi),%r11,%r10 - adoxq %r11,%r9 - - movq 32+8(%rdi),%rdx - mulxq 32+0(%rsi),%r12,%r11 - adoxq %rax,%r10 - xorq %rax,%rax - - mulxq 32+8(%rsi),%r14,%r13 - adoxq %r8,%r12 - movq %r12,64+8(%rcx) - adcxq %r14,%r11 - - mulxq 32+16(%rsi),%r8,%r14 - adoxq %r9,%r11 - adcxq %r8,%r13 - adcxq %rax,%r14 - adoxq %r10,%r13 - - movq 32+16(%rdi),%rdx - mulxq 32+0(%rsi),%r8,%r9 - adoxq %rax,%r14 - xorq %rax,%rax - - mulxq 32+8(%rsi),%r10,%r12 - adoxq %r11,%r8 - movq %r8,64+16(%rcx) - adcxq %r13,%r9 - - mulxq 32+16(%rsi),%r11,%r8 - adcxq %r14,%r12 - adcxq %rax,%r8 - adoxq %r10,%r9 - adoxq %r12,%r11 - adoxq %rax,%r8 - movq %r9,64+24(%rcx) - movq %r11,64+32(%rcx) - movq %r8,64+40(%rcx) - - - - - movq 64(%rsp),%r8 - movq 72(%rsp),%r9 - movq 80(%rsp),%r10 - movq 88(%rsp),%r11 - - movq 32(%rsp),%rax - addq %rax,%r8 - movq 40(%rsp),%rax - adcq %rax,%r9 - movq 48(%rsp),%rax - adcq %rax,%r10 - movq 56(%rsp),%rax - adcq %rax,%r11 - - - movq 0(%rsp),%r12 - movq 8(%rsp),%r13 - movq 16(%rsp),%r14 - movq 24(%rsp),%r15 - subq 0(%rcx),%r12 - sbbq 8(%rcx),%r13 - sbbq 16(%rcx),%r14 - sbbq 24(%rcx),%r15 - sbbq 32(%rcx),%r8 - sbbq 40(%rcx),%r9 - sbbq 48(%rcx),%r10 - sbbq 56(%rcx),%r11 - - - subq 64(%rcx),%r12 - sbbq 72(%rcx),%r13 - sbbq 80(%rcx),%r14 - sbbq 88(%rcx),%r15 - sbbq 96(%rcx),%r8 - sbbq 104(%rcx),%r9 - sbbq $0x0,%r10 - sbbq $0x0,%r11 - - addq 32(%rcx),%r12 - movq %r12,32(%rcx) - adcq 40(%rcx),%r13 - movq %r13,40(%rcx) - adcq 48(%rcx),%r14 - movq %r14,48(%rcx) - adcq 56(%rcx),%r15 - movq %r15,56(%rcx) - adcq 64(%rcx),%r8 - movq %r8,64(%rcx) - adcq 72(%rcx),%r9 - movq %r9,72(%rcx) - adcq 80(%rcx),%r10 - movq %r10,80(%rcx) - adcq 88(%rcx),%r11 - movq %r11,88(%rcx) - movq 96(%rcx),%r12 - adcq $0x0,%r12 - movq %r12,96(%rcx) - movq 104(%rcx),%r13 - adcq $0x0,%r13 - movq %r13,104(%rcx) - - addq $96,%rsp -.cfi_adjust_cfa_offset -96 - popq %rbp -.cfi_adjust_cfa_offset -8 -.cfi_same_value rbp - popq %rbx -.cfi_adjust_cfa_offset -8 -.cfi_same_value rbx - - - popq %r15 -.cfi_adjust_cfa_offset -8 -.cfi_same_value r15 - popq %r14 -.cfi_adjust_cfa_offset -8 -.cfi_same_value r14 - popq %r13 -.cfi_adjust_cfa_offset -8 -.cfi_same_value r13 - popq %r12 -.cfi_adjust_cfa_offset -8 -.cfi_same_value r12 - .byte 0xf3,0xc3 -.cfi_endproc - -.globl sike_mpmul -.hidden sike_mpmul -.type sike_mpmul,@function -sike_mpmul: -.cfi_startproc - pushq %r12 -.cfi_adjust_cfa_offset 8 -.cfi_offset r12, -16 - pushq %r13 -.cfi_adjust_cfa_offset 8 -.cfi_offset r13, -24 - pushq %r14 -.cfi_adjust_cfa_offset 8 -.cfi_offset r14, -32 - pushq %r15 -.cfi_adjust_cfa_offset 8 -.cfi_offset r15, -40 - - - - leaq OPENSSL_ia32cap_P(%rip),%rcx - movq 8(%rcx),%rcx - andl $0x80100,%ecx - cmpl $0x80100,%ecx - je .Lmul_bdw - - - - movq %rdx,%rcx - - subq $112,%rsp -.cfi_adjust_cfa_offset 112 - - - xorq %rax,%rax - movq 32(%rdi),%r8 - movq 40(%rdi),%r9 - movq 48(%rdi),%r10 - xorq %r11,%r11 - addq 0(%rdi),%r8 - adcq 8(%rdi),%r9 - adcq 16(%rdi),%r10 - adcq 24(%rdi),%r11 - - sbbq $0,%rax - movq %rax,64(%rsp) - - movq %r8,0(%rcx) - movq %r9,8(%rcx) - movq %r10,16(%rcx) - movq %r11,24(%rcx) - - - xorq %rdx,%rdx - movq 32(%rsi),%r12 - movq 40(%rsi),%r13 - movq 48(%rsi),%r14 - xorq %r15,%r15 - addq 0(%rsi),%r12 - adcq 8(%rsi),%r13 - adcq 16(%rsi),%r14 - adcq 24(%rsi),%r15 - sbbq $0x0,%rdx - - movq %rdx,72(%rsp) - - - movq (%rcx),%rax - mulq %r12 - movq %rax,(%rsp) - movq %rdx,%r8 - - xorq %r9,%r9 - movq (%rcx),%rax - mulq %r13 - addq %rax,%r8 - adcq %rdx,%r9 - - xorq %r10,%r10 - movq 8(%rcx),%rax - mulq %r12 - addq %rax,%r8 - movq %r8,8(%rsp) - adcq %rdx,%r9 - adcq $0x0,%r10 - - xorq %r8,%r8 - movq (%rcx),%rax - mulq %r14 - addq %rax,%r9 - adcq %rdx,%r10 - adcq $0x0,%r8 - - movq 16(%rcx),%rax - mulq %r12 - addq %rax,%r9 - adcq %rdx,%r10 - adcq $0x0,%r8 - - movq 8(%rcx),%rax - mulq %r13 - addq %rax,%r9 - movq %r9,16(%rsp) - adcq %rdx,%r10 - adcq $0x0,%r8 - - xorq %r9,%r9 - movq (%rcx),%rax - mulq %r15 - addq %rax,%r10 - adcq %rdx,%r8 - adcq $0x0,%r9 - - movq 24(%rcx),%rax - mulq %r12 - addq %rax,%r10 - adcq %rdx,%r8 - adcq $0x0,%r9 - - movq 8(%rcx),%rax - mulq %r14 - addq %rax,%r10 - adcq %rdx,%r8 - adcq $0x0,%r9 - - movq 16(%rcx),%rax - mulq %r13 - addq %rax,%r10 - movq %r10,24(%rsp) - adcq %rdx,%r8 - adcq $0x0,%r9 - - xorq %r10,%r10 - movq 8(%rcx),%rax - mulq %r15 - addq %rax,%r8 - adcq %rdx,%r9 - adcq $0x0,%r10 - - movq 24(%rcx),%rax - mulq %r13 - addq %rax,%r8 - adcq %rdx,%r9 - adcq $0x0,%r10 - - movq 16(%rcx),%rax - mulq %r14 - addq %rax,%r8 - movq %r8,32(%rsp) - adcq %rdx,%r9 - adcq $0x0,%r10 - - xorq %r11,%r11 - movq 16(%rcx),%rax - mulq %r15 - addq %rax,%r9 - adcq %rdx,%r10 - adcq $0x0,%r11 - - movq 24(%rcx),%rax - mulq %r14 - addq %rax,%r9 - movq %r9,40(%rsp) - adcq %rdx,%r10 - adcq $0x0,%r11 - - movq 24(%rcx),%rax - mulq %r15 - addq %rax,%r10 - movq %r10,48(%rsp) - adcq %rdx,%r11 - movq %r11,56(%rsp) - - - movq 64(%rsp),%rax - andq %rax,%r12 - andq %rax,%r13 - andq %rax,%r14 - andq %rax,%r15 - - - movq 72(%rsp),%rax - movq 0(%rcx),%r8 - andq %rax,%r8 - movq 8(%rcx),%r9 - andq %rax,%r9 - movq 16(%rcx),%r10 - andq %rax,%r10 - movq 24(%rcx),%r11 - andq %rax,%r11 - - - addq %r8,%r12 - adcq %r9,%r13 - adcq %r10,%r14 - adcq %r11,%r15 - - - movq 32(%rsp),%rax - addq %rax,%r12 - movq 40(%rsp),%rax - adcq %rax,%r13 - movq 48(%rsp),%rax - adcq %rax,%r14 - movq 56(%rsp),%rax - adcq %rax,%r15 - movq %r12,80(%rsp) - movq %r13,88(%rsp) - movq %r14,96(%rsp) - movq %r15,104(%rsp) - - - movq (%rdi),%r11 - movq (%rsi),%rax - mulq %r11 - xorq %r9,%r9 - movq %rax,(%rcx) - movq %rdx,%r8 - - movq 16(%rdi),%r14 - movq 8(%rsi),%rax - mulq %r11 - xorq %r10,%r10 - addq %rax,%r8 - adcq %rdx,%r9 - - movq 8(%rdi),%r12 - movq (%rsi),%rax - mulq %r12 - addq %rax,%r8 - movq %r8,8(%rcx) - adcq %rdx,%r9 - adcq $0x0,%r10 - - xorq %r8,%r8 - movq 16(%rsi),%rax - mulq %r11 - addq %rax,%r9 - adcq %rdx,%r10 - adcq $0x0,%r8 - - movq (%rsi),%r13 - movq %r14,%rax - mulq %r13 - addq %rax,%r9 - adcq %rdx,%r10 - adcq $0x0,%r8 - - movq 8(%rsi),%rax - mulq %r12 - addq %rax,%r9 - movq %r9,16(%rcx) - adcq %rdx,%r10 - adcq $0x0,%r8 - - xorq %r9,%r9 - movq 24(%rsi),%rax - mulq %r11 - movq 24(%rdi),%r15 - addq %rax,%r10 - adcq %rdx,%r8 - adcq $0x0,%r9 - - movq %r15,%rax - mulq %r13 - addq %rax,%r10 - adcq %rdx,%r8 - adcq $0x0,%r9 - - movq 16(%rsi),%rax - mulq %r12 - addq %rax,%r10 - adcq %rdx,%r8 - adcq $0x0,%r9 - - movq 8(%rsi),%rax - mulq %r14 - addq %rax,%r10 - movq %r10,24(%rcx) - adcq %rdx,%r8 - adcq $0x0,%r9 - - xorq %r10,%r10 - movq 24(%rsi),%rax - mulq %r12 - addq %rax,%r8 - adcq %rdx,%r9 - adcq $0x0,%r10 - - movq 8(%rsi),%rax - mulq %r15 - addq %rax,%r8 - adcq %rdx,%r9 - adcq $0x0,%r10 - - movq 16(%rsi),%rax - mulq %r14 - addq %rax,%r8 - movq %r8,32(%rcx) - adcq %rdx,%r9 - adcq $0x0,%r10 - - xorq %r8,%r8 - movq 24(%rsi),%rax - mulq %r14 - addq %rax,%r9 - adcq %rdx,%r10 - adcq $0x0,%r8 - - movq 16(%rsi),%rax - mulq %r15 - addq %rax,%r9 - movq %r9,40(%rcx) - adcq %rdx,%r10 - adcq $0x0,%r8 - - movq 24(%rsi),%rax - mulq %r15 - addq %rax,%r10 - movq %r10,48(%rcx) - adcq %rdx,%r8 - movq %r8,56(%rcx) - - - - movq 32(%rdi),%r11 - movq 32(%rsi),%rax - mulq %r11 - xorq %r9,%r9 - movq %rax,64(%rcx) - movq %rdx,%r8 - - movq 48(%rdi),%r14 - movq 40(%rsi),%rax - mulq %r11 - xorq %r10,%r10 - addq %rax,%r8 - adcq %rdx,%r9 - - movq 40(%rdi),%r12 - movq 32(%rsi),%rax - mulq %r12 - addq %rax,%r8 - movq %r8,72(%rcx) - adcq %rdx,%r9 - adcq $0x0,%r10 - - xorq %r8,%r8 - movq 48(%rsi),%rax - mulq %r11 - addq %rax,%r9 - adcq %rdx,%r10 - adcq $0x0,%r8 - - movq 32(%rsi),%r13 - movq %r14,%rax - mulq %r13 - addq %rax,%r9 - adcq %rdx,%r10 - adcq $0x0,%r8 - - movq 40(%rsi),%rax - mulq %r12 - addq %rax,%r9 - movq %r9,80(%rcx) - adcq %rdx,%r10 - adcq $0x0,%r8 - - movq 48(%rsi),%rax - mulq %r12 - xorq %r12,%r12 - addq %rax,%r10 - adcq %rdx,%r8 - adcq $0x0,%r12 - - movq 40(%rsi),%rax - mulq %r14 - addq %rax,%r10 - adcq %rdx,%r8 - adcq $0x0,%r12 - movq %r10,88(%rcx) - - movq 48(%rsi),%rax - mulq %r14 - addq %rax,%r8 - adcq $0x0,%r12 - movq %r8,96(%rcx) - - addq %r12,%rdx - - - movq 0(%rsp),%r8 - subq 0(%rcx),%r8 - movq 8(%rsp),%r9 - sbbq 8(%rcx),%r9 - movq 16(%rsp),%r10 - sbbq 16(%rcx),%r10 - movq 24(%rsp),%r11 - sbbq 24(%rcx),%r11 - movq 80(%rsp),%r12 - sbbq 32(%rcx),%r12 - movq 88(%rsp),%r13 - sbbq 40(%rcx),%r13 - movq 96(%rsp),%r14 - sbbq 48(%rcx),%r14 - movq 104(%rsp),%r15 - sbbq 56(%rcx),%r15 - - - movq 64(%rcx),%rax - subq %rax,%r8 - movq 72(%rcx),%rax - sbbq %rax,%r9 - movq 80(%rcx),%rax - sbbq %rax,%r10 - movq 88(%rcx),%rax - sbbq %rax,%r11 - movq 96(%rcx),%rax - sbbq %rax,%r12 - sbbq %rdx,%r13 - sbbq $0x0,%r14 - sbbq $0x0,%r15 - - - addq 32(%rcx),%r8 - movq %r8,32(%rcx) - adcq 40(%rcx),%r9 - movq %r9,40(%rcx) - adcq 48(%rcx),%r10 - movq %r10,48(%rcx) - adcq 56(%rcx),%r11 - movq %r11,56(%rcx) - adcq 64(%rcx),%r12 - movq %r12,64(%rcx) - adcq 72(%rcx),%r13 - movq %r13,72(%rcx) - adcq 80(%rcx),%r14 - movq %r14,80(%rcx) - adcq 88(%rcx),%r15 - movq %r15,88(%rcx) - movq 96(%rcx),%r12 - adcq $0x0,%r12 - movq %r12,96(%rcx) - adcq $0x0,%rdx - movq %rdx,104(%rcx) - - addq $112,%rsp -.cfi_adjust_cfa_offset -112 - - - popq %r15 -.cfi_adjust_cfa_offset -8 - popq %r14 -.cfi_adjust_cfa_offset -8 - popq %r13 -.cfi_adjust_cfa_offset -8 - popq %r12 -.cfi_adjust_cfa_offset -8 - .byte 0xf3,0xc3 -.cfi_endproc -#endif diff --git a/contrib/boringssl-cmake/mac-x86/crypto/fipsmodule/aes-586.S b/contrib/boringssl-cmake/mac-x86/crypto/fipsmodule/aes-586.S deleted file mode 100644 index 3634f64d11b..00000000000 --- a/contrib/boringssl-cmake/mac-x86/crypto/fipsmodule/aes-586.S +++ /dev/null @@ -1,3226 +0,0 @@ -# This file is generated from a similarly-named Perl script in the BoringSSL -# source tree. Do not edit by hand. - -#if defined(__i386__) -#if defined(BORINGSSL_PREFIX) -#include -#endif -.text -.private_extern __x86_AES_encrypt_compact -.align 4 -__x86_AES_encrypt_compact: - movl %edi,20(%esp) - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - movl 240(%edi),%esi - leal -2(%esi,%esi,1),%esi - leal (%edi,%esi,8),%esi - movl %esi,24(%esp) - movl -128(%ebp),%edi - movl -96(%ebp),%esi - movl -64(%ebp),%edi - movl -32(%ebp),%esi - movl (%ebp),%edi - movl 32(%ebp),%esi - movl 64(%ebp),%edi - movl 96(%ebp),%esi -.align 4,0x90 -L000loop: - movl %eax,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %bh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,4(%esp) - movl %ebx,%esi - andl $255,%esi - shrl $16,%ebx - movzbl -128(%ebp,%esi,1),%esi - movzbl %ch,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,8(%esp) - movl %ecx,%esi - andl $255,%esi - shrl $24,%ecx - movzbl -128(%ebp,%esi,1),%esi - movzbl %dh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edx - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movzbl %bh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - andl $255,%edx - movzbl -128(%ebp,%edx,1),%edx - movzbl %ah,%eax - movzbl -128(%ebp,%eax,1),%eax - shll $8,%eax - xorl %eax,%edx - movl 4(%esp),%eax - andl $255,%ebx - movzbl -128(%ebp,%ebx,1),%ebx - shll $16,%ebx - xorl %ebx,%edx - movl 8(%esp),%ebx - movzbl -128(%ebp,%ecx,1),%ecx - shll $24,%ecx - xorl %ecx,%edx - movl %esi,%ecx - movl $2155905152,%ebp - andl %ecx,%ebp - leal (%ecx,%ecx,1),%edi - movl %ebp,%esi - shrl $7,%ebp - andl $4278124286,%edi - subl %ebp,%esi - movl %ecx,%ebp - andl $454761243,%esi - rorl $16,%ebp - xorl %edi,%esi - movl %ecx,%edi - xorl %esi,%ecx - rorl $24,%edi - xorl %ebp,%esi - roll $24,%ecx - xorl %edi,%esi - movl $2155905152,%ebp - xorl %esi,%ecx - andl %edx,%ebp - leal (%edx,%edx,1),%edi - movl %ebp,%esi - shrl $7,%ebp - andl $4278124286,%edi - subl %ebp,%esi - movl %edx,%ebp - andl $454761243,%esi - rorl $16,%ebp - xorl %edi,%esi - movl %edx,%edi - xorl %esi,%edx - rorl $24,%edi - xorl %ebp,%esi - roll $24,%edx - xorl %edi,%esi - movl $2155905152,%ebp - xorl %esi,%edx - andl %eax,%ebp - leal (%eax,%eax,1),%edi - movl %ebp,%esi - shrl $7,%ebp - andl $4278124286,%edi - subl %ebp,%esi - movl %eax,%ebp - andl $454761243,%esi - rorl $16,%ebp - xorl %edi,%esi - movl %eax,%edi - xorl %esi,%eax - rorl $24,%edi - xorl %ebp,%esi - roll $24,%eax - xorl %edi,%esi - movl $2155905152,%ebp - xorl %esi,%eax - andl %ebx,%ebp - leal (%ebx,%ebx,1),%edi - movl %ebp,%esi - shrl $7,%ebp - andl $4278124286,%edi - subl %ebp,%esi - movl %ebx,%ebp - andl $454761243,%esi - rorl $16,%ebp - xorl %edi,%esi - movl %ebx,%edi - xorl %esi,%ebx - rorl $24,%edi - xorl %ebp,%esi - roll $24,%ebx - xorl %edi,%esi - xorl %esi,%ebx - movl 20(%esp),%edi - movl 28(%esp),%ebp - addl $16,%edi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - cmpl 24(%esp),%edi - movl %edi,20(%esp) - jb L000loop - movl %eax,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %bh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,4(%esp) - movl %ebx,%esi - andl $255,%esi - shrl $16,%ebx - movzbl -128(%ebp,%esi,1),%esi - movzbl %ch,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,8(%esp) - movl %ecx,%esi - andl $255,%esi - shrl $24,%ecx - movzbl -128(%ebp,%esi,1),%esi - movzbl %dh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edx - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movzbl %bh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl 20(%esp),%edi - andl $255,%edx - movzbl -128(%ebp,%edx,1),%edx - movzbl %ah,%eax - movzbl -128(%ebp,%eax,1),%eax - shll $8,%eax - xorl %eax,%edx - movl 4(%esp),%eax - andl $255,%ebx - movzbl -128(%ebp,%ebx,1),%ebx - shll $16,%ebx - xorl %ebx,%edx - movl 8(%esp),%ebx - movzbl -128(%ebp,%ecx,1),%ecx - shll $24,%ecx - xorl %ecx,%edx - movl %esi,%ecx - xorl 16(%edi),%eax - xorl 20(%edi),%ebx - xorl 24(%edi),%ecx - xorl 28(%edi),%edx - ret -.private_extern __sse_AES_encrypt_compact -.align 4 -__sse_AES_encrypt_compact: - pxor (%edi),%mm0 - pxor 8(%edi),%mm4 - movl 240(%edi),%esi - leal -2(%esi,%esi,1),%esi - leal (%edi,%esi,8),%esi - movl %esi,24(%esp) - movl $454761243,%eax - movl %eax,8(%esp) - movl %eax,12(%esp) - movl -128(%ebp),%eax - movl -96(%ebp),%ebx - movl -64(%ebp),%ecx - movl -32(%ebp),%edx - movl (%ebp),%eax - movl 32(%ebp),%ebx - movl 64(%ebp),%ecx - movl 96(%ebp),%edx -.align 4,0x90 -L001loop: - pshufw $8,%mm0,%mm1 - pshufw $13,%mm4,%mm5 - movd %mm1,%eax - movd %mm5,%ebx - movl %edi,20(%esp) - movzbl %al,%esi - movzbl %ah,%edx - pshufw $13,%mm0,%mm2 - movzbl -128(%ebp,%esi,1),%ecx - movzbl %bl,%edi - movzbl -128(%ebp,%edx,1),%edx - shrl $16,%eax - shll $8,%edx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bh,%edi - shll $16,%esi - pshufw $8,%mm4,%mm6 - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %ah,%edi - shll $24,%esi - shrl $16,%ebx - orl %esi,%edx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bh,%edi - shll $8,%esi - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %al,%edi - shll $24,%esi - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bl,%edi - movd %mm2,%eax - movd %ecx,%mm0 - movzbl -128(%ebp,%edi,1),%ecx - movzbl %ah,%edi - shll $16,%ecx - movd %mm6,%ebx - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bh,%edi - shll $24,%esi - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bl,%edi - shll $8,%esi - shrl $16,%ebx - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %al,%edi - shrl $16,%eax - movd %ecx,%mm1 - movzbl -128(%ebp,%edi,1),%ecx - movzbl %ah,%edi - shll $16,%ecx - andl $255,%eax - orl %esi,%ecx - punpckldq %mm1,%mm0 - movzbl -128(%ebp,%edi,1),%esi - movzbl %bh,%edi - shll $24,%esi - andl $255,%ebx - movzbl -128(%ebp,%eax,1),%eax - orl %esi,%ecx - shll $16,%eax - movzbl -128(%ebp,%edi,1),%esi - orl %eax,%edx - shll $8,%esi - movzbl -128(%ebp,%ebx,1),%ebx - orl %esi,%ecx - orl %ebx,%edx - movl 20(%esp),%edi - movd %ecx,%mm4 - movd %edx,%mm5 - punpckldq %mm5,%mm4 - addl $16,%edi - cmpl 24(%esp),%edi - ja L002out - movq 8(%esp),%mm2 - pxor %mm3,%mm3 - pxor %mm7,%mm7 - movq %mm0,%mm1 - movq %mm4,%mm5 - pcmpgtb %mm0,%mm3 - pcmpgtb %mm4,%mm7 - pand %mm2,%mm3 - pand %mm2,%mm7 - pshufw $177,%mm0,%mm2 - pshufw $177,%mm4,%mm6 - paddb %mm0,%mm0 - paddb %mm4,%mm4 - pxor %mm3,%mm0 - pxor %mm7,%mm4 - pshufw $177,%mm2,%mm3 - pshufw $177,%mm6,%mm7 - pxor %mm0,%mm1 - pxor %mm4,%mm5 - pxor %mm2,%mm0 - pxor %mm6,%mm4 - movq %mm3,%mm2 - movq %mm7,%mm6 - pslld $8,%mm3 - pslld $8,%mm7 - psrld $24,%mm2 - psrld $24,%mm6 - pxor %mm3,%mm0 - pxor %mm7,%mm4 - pxor %mm2,%mm0 - pxor %mm6,%mm4 - movq %mm1,%mm3 - movq %mm5,%mm7 - movq (%edi),%mm2 - movq 8(%edi),%mm6 - psrld $8,%mm1 - psrld $8,%mm5 - movl -128(%ebp),%eax - pslld $24,%mm3 - pslld $24,%mm7 - movl -64(%ebp),%ebx - pxor %mm1,%mm0 - pxor %mm5,%mm4 - movl (%ebp),%ecx - pxor %mm3,%mm0 - pxor %mm7,%mm4 - movl 64(%ebp),%edx - pxor %mm2,%mm0 - pxor %mm6,%mm4 - jmp L001loop -.align 4,0x90 -L002out: - pxor (%edi),%mm0 - pxor 8(%edi),%mm4 - ret -.private_extern __x86_AES_encrypt -.align 4 -__x86_AES_encrypt: - movl %edi,20(%esp) - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - movl 240(%edi),%esi - leal -2(%esi,%esi,1),%esi - leal (%edi,%esi,8),%esi - movl %esi,24(%esp) -.align 4,0x90 -L003loop: - movl %eax,%esi - andl $255,%esi - movl (%ebp,%esi,8),%esi - movzbl %bh,%edi - xorl 3(%ebp,%edi,8),%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - xorl 2(%ebp,%edi,8),%esi - movl %edx,%edi - shrl $24,%edi - xorl 1(%ebp,%edi,8),%esi - movl %esi,4(%esp) - movl %ebx,%esi - andl $255,%esi - shrl $16,%ebx - movl (%ebp,%esi,8),%esi - movzbl %ch,%edi - xorl 3(%ebp,%edi,8),%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - xorl 2(%ebp,%edi,8),%esi - movl %eax,%edi - shrl $24,%edi - xorl 1(%ebp,%edi,8),%esi - movl %esi,8(%esp) - movl %ecx,%esi - andl $255,%esi - shrl $24,%ecx - movl (%ebp,%esi,8),%esi - movzbl %dh,%edi - xorl 3(%ebp,%edi,8),%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edx - andl $255,%edi - xorl 2(%ebp,%edi,8),%esi - movzbl %bh,%edi - xorl 1(%ebp,%edi,8),%esi - movl 20(%esp),%edi - movl (%ebp,%edx,8),%edx - movzbl %ah,%eax - xorl 3(%ebp,%eax,8),%edx - movl 4(%esp),%eax - andl $255,%ebx - xorl 2(%ebp,%ebx,8),%edx - movl 8(%esp),%ebx - xorl 1(%ebp,%ecx,8),%edx - movl %esi,%ecx - addl $16,%edi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - cmpl 24(%esp),%edi - movl %edi,20(%esp) - jb L003loop - movl %eax,%esi - andl $255,%esi - movl 2(%ebp,%esi,8),%esi - andl $255,%esi - movzbl %bh,%edi - movl (%ebp,%edi,8),%edi - andl $65280,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - movl (%ebp,%edi,8),%edi - andl $16711680,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $24,%edi - movl 2(%ebp,%edi,8),%edi - andl $4278190080,%edi - xorl %edi,%esi - movl %esi,4(%esp) - movl %ebx,%esi - andl $255,%esi - shrl $16,%ebx - movl 2(%ebp,%esi,8),%esi - andl $255,%esi - movzbl %ch,%edi - movl (%ebp,%edi,8),%edi - andl $65280,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - movl (%ebp,%edi,8),%edi - andl $16711680,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $24,%edi - movl 2(%ebp,%edi,8),%edi - andl $4278190080,%edi - xorl %edi,%esi - movl %esi,8(%esp) - movl %ecx,%esi - andl $255,%esi - shrl $24,%ecx - movl 2(%ebp,%esi,8),%esi - andl $255,%esi - movzbl %dh,%edi - movl (%ebp,%edi,8),%edi - andl $65280,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edx - andl $255,%edi - movl (%ebp,%edi,8),%edi - andl $16711680,%edi - xorl %edi,%esi - movzbl %bh,%edi - movl 2(%ebp,%edi,8),%edi - andl $4278190080,%edi - xorl %edi,%esi - movl 20(%esp),%edi - andl $255,%edx - movl 2(%ebp,%edx,8),%edx - andl $255,%edx - movzbl %ah,%eax - movl (%ebp,%eax,8),%eax - andl $65280,%eax - xorl %eax,%edx - movl 4(%esp),%eax - andl $255,%ebx - movl (%ebp,%ebx,8),%ebx - andl $16711680,%ebx - xorl %ebx,%edx - movl 8(%esp),%ebx - movl 2(%ebp,%ecx,8),%ecx - andl $4278190080,%ecx - xorl %ecx,%edx - movl %esi,%ecx - addl $16,%edi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - ret -.align 6,0x90 -LAES_Te: -.long 2774754246,2774754246 -.long 2222750968,2222750968 -.long 2574743534,2574743534 -.long 2373680118,2373680118 -.long 234025727,234025727 -.long 3177933782,3177933782 -.long 2976870366,2976870366 -.long 1422247313,1422247313 -.long 1345335392,1345335392 -.long 50397442,50397442 -.long 2842126286,2842126286 -.long 2099981142,2099981142 -.long 436141799,436141799 -.long 1658312629,1658312629 -.long 3870010189,3870010189 -.long 2591454956,2591454956 -.long 1170918031,1170918031 -.long 2642575903,2642575903 -.long 1086966153,1086966153 -.long 2273148410,2273148410 -.long 368769775,368769775 -.long 3948501426,3948501426 -.long 3376891790,3376891790 -.long 200339707,200339707 -.long 3970805057,3970805057 -.long 1742001331,1742001331 -.long 4255294047,4255294047 -.long 3937382213,3937382213 -.long 3214711843,3214711843 -.long 4154762323,4154762323 -.long 2524082916,2524082916 -.long 1539358875,1539358875 -.long 3266819957,3266819957 -.long 486407649,486407649 -.long 2928907069,2928907069 -.long 1780885068,1780885068 -.long 1513502316,1513502316 -.long 1094664062,1094664062 -.long 49805301,49805301 -.long 1338821763,1338821763 -.long 1546925160,1546925160 -.long 4104496465,4104496465 -.long 887481809,887481809 -.long 150073849,150073849 -.long 2473685474,2473685474 -.long 1943591083,1943591083 -.long 1395732834,1395732834 -.long 1058346282,1058346282 -.long 201589768,201589768 -.long 1388824469,1388824469 -.long 1696801606,1696801606 -.long 1589887901,1589887901 -.long 672667696,672667696 -.long 2711000631,2711000631 -.long 251987210,251987210 -.long 3046808111,3046808111 -.long 151455502,151455502 -.long 907153956,907153956 -.long 2608889883,2608889883 -.long 1038279391,1038279391 -.long 652995533,652995533 -.long 1764173646,1764173646 -.long 3451040383,3451040383 -.long 2675275242,2675275242 -.long 453576978,453576978 -.long 2659418909,2659418909 -.long 1949051992,1949051992 -.long 773462580,773462580 -.long 756751158,756751158 -.long 2993581788,2993581788 -.long 3998898868,3998898868 -.long 4221608027,4221608027 -.long 4132590244,4132590244 -.long 1295727478,1295727478 -.long 1641469623,1641469623 -.long 3467883389,3467883389 -.long 2066295122,2066295122 -.long 1055122397,1055122397 -.long 1898917726,1898917726 -.long 2542044179,2542044179 -.long 4115878822,4115878822 -.long 1758581177,1758581177 -.long 0,0 -.long 753790401,753790401 -.long 1612718144,1612718144 -.long 536673507,536673507 -.long 3367088505,3367088505 -.long 3982187446,3982187446 -.long 3194645204,3194645204 -.long 1187761037,1187761037 -.long 3653156455,3653156455 -.long 1262041458,1262041458 -.long 3729410708,3729410708 -.long 3561770136,3561770136 -.long 3898103984,3898103984 -.long 1255133061,1255133061 -.long 1808847035,1808847035 -.long 720367557,720367557 -.long 3853167183,3853167183 -.long 385612781,385612781 -.long 3309519750,3309519750 -.long 3612167578,3612167578 -.long 1429418854,1429418854 -.long 2491778321,2491778321 -.long 3477423498,3477423498 -.long 284817897,284817897 -.long 100794884,100794884 -.long 2172616702,2172616702 -.long 4031795360,4031795360 -.long 1144798328,1144798328 -.long 3131023141,3131023141 -.long 3819481163,3819481163 -.long 4082192802,4082192802 -.long 4272137053,4272137053 -.long 3225436288,3225436288 -.long 2324664069,2324664069 -.long 2912064063,2912064063 -.long 3164445985,3164445985 -.long 1211644016,1211644016 -.long 83228145,83228145 -.long 3753688163,3753688163 -.long 3249976951,3249976951 -.long 1977277103,1977277103 -.long 1663115586,1663115586 -.long 806359072,806359072 -.long 452984805,452984805 -.long 250868733,250868733 -.long 1842533055,1842533055 -.long 1288555905,1288555905 -.long 336333848,336333848 -.long 890442534,890442534 -.long 804056259,804056259 -.long 3781124030,3781124030 -.long 2727843637,2727843637 -.long 3427026056,3427026056 -.long 957814574,957814574 -.long 1472513171,1472513171 -.long 4071073621,4071073621 -.long 2189328124,2189328124 -.long 1195195770,1195195770 -.long 2892260552,2892260552 -.long 3881655738,3881655738 -.long 723065138,723065138 -.long 2507371494,2507371494 -.long 2690670784,2690670784 -.long 2558624025,2558624025 -.long 3511635870,3511635870 -.long 2145180835,2145180835 -.long 1713513028,1713513028 -.long 2116692564,2116692564 -.long 2878378043,2878378043 -.long 2206763019,2206763019 -.long 3393603212,3393603212 -.long 703524551,703524551 -.long 3552098411,3552098411 -.long 1007948840,1007948840 -.long 2044649127,2044649127 -.long 3797835452,3797835452 -.long 487262998,487262998 -.long 1994120109,1994120109 -.long 1004593371,1004593371 -.long 1446130276,1446130276 -.long 1312438900,1312438900 -.long 503974420,503974420 -.long 3679013266,3679013266 -.long 168166924,168166924 -.long 1814307912,1814307912 -.long 3831258296,3831258296 -.long 1573044895,1573044895 -.long 1859376061,1859376061 -.long 4021070915,4021070915 -.long 2791465668,2791465668 -.long 2828112185,2828112185 -.long 2761266481,2761266481 -.long 937747667,937747667 -.long 2339994098,2339994098 -.long 854058965,854058965 -.long 1137232011,1137232011 -.long 1496790894,1496790894 -.long 3077402074,3077402074 -.long 2358086913,2358086913 -.long 1691735473,1691735473 -.long 3528347292,3528347292 -.long 3769215305,3769215305 -.long 3027004632,3027004632 -.long 4199962284,4199962284 -.long 133494003,133494003 -.long 636152527,636152527 -.long 2942657994,2942657994 -.long 2390391540,2390391540 -.long 3920539207,3920539207 -.long 403179536,403179536 -.long 3585784431,3585784431 -.long 2289596656,2289596656 -.long 1864705354,1864705354 -.long 1915629148,1915629148 -.long 605822008,605822008 -.long 4054230615,4054230615 -.long 3350508659,3350508659 -.long 1371981463,1371981463 -.long 602466507,602466507 -.long 2094914977,2094914977 -.long 2624877800,2624877800 -.long 555687742,555687742 -.long 3712699286,3712699286 -.long 3703422305,3703422305 -.long 2257292045,2257292045 -.long 2240449039,2240449039 -.long 2423288032,2423288032 -.long 1111375484,1111375484 -.long 3300242801,3300242801 -.long 2858837708,2858837708 -.long 3628615824,3628615824 -.long 84083462,84083462 -.long 32962295,32962295 -.long 302911004,302911004 -.long 2741068226,2741068226 -.long 1597322602,1597322602 -.long 4183250862,4183250862 -.long 3501832553,3501832553 -.long 2441512471,2441512471 -.long 1489093017,1489093017 -.long 656219450,656219450 -.long 3114180135,3114180135 -.long 954327513,954327513 -.long 335083755,335083755 -.long 3013122091,3013122091 -.long 856756514,856756514 -.long 3144247762,3144247762 -.long 1893325225,1893325225 -.long 2307821063,2307821063 -.long 2811532339,2811532339 -.long 3063651117,3063651117 -.long 572399164,572399164 -.long 2458355477,2458355477 -.long 552200649,552200649 -.long 1238290055,1238290055 -.long 4283782570,4283782570 -.long 2015897680,2015897680 -.long 2061492133,2061492133 -.long 2408352771,2408352771 -.long 4171342169,4171342169 -.long 2156497161,2156497161 -.long 386731290,386731290 -.long 3669999461,3669999461 -.long 837215959,837215959 -.long 3326231172,3326231172 -.long 3093850320,3093850320 -.long 3275833730,3275833730 -.long 2962856233,2962856233 -.long 1999449434,1999449434 -.long 286199582,286199582 -.long 3417354363,3417354363 -.long 4233385128,4233385128 -.long 3602627437,3602627437 -.long 974525996,974525996 -.byte 99,124,119,123,242,107,111,197 -.byte 48,1,103,43,254,215,171,118 -.byte 202,130,201,125,250,89,71,240 -.byte 173,212,162,175,156,164,114,192 -.byte 183,253,147,38,54,63,247,204 -.byte 52,165,229,241,113,216,49,21 -.byte 4,199,35,195,24,150,5,154 -.byte 7,18,128,226,235,39,178,117 -.byte 9,131,44,26,27,110,90,160 -.byte 82,59,214,179,41,227,47,132 -.byte 83,209,0,237,32,252,177,91 -.byte 106,203,190,57,74,76,88,207 -.byte 208,239,170,251,67,77,51,133 -.byte 69,249,2,127,80,60,159,168 -.byte 81,163,64,143,146,157,56,245 -.byte 188,182,218,33,16,255,243,210 -.byte 205,12,19,236,95,151,68,23 -.byte 196,167,126,61,100,93,25,115 -.byte 96,129,79,220,34,42,144,136 -.byte 70,238,184,20,222,94,11,219 -.byte 224,50,58,10,73,6,36,92 -.byte 194,211,172,98,145,149,228,121 -.byte 231,200,55,109,141,213,78,169 -.byte 108,86,244,234,101,122,174,8 -.byte 186,120,37,46,28,166,180,198 -.byte 232,221,116,31,75,189,139,138 -.byte 112,62,181,102,72,3,246,14 -.byte 97,53,87,185,134,193,29,158 -.byte 225,248,152,17,105,217,142,148 -.byte 155,30,135,233,206,85,40,223 -.byte 140,161,137,13,191,230,66,104 -.byte 65,153,45,15,176,84,187,22 -.byte 99,124,119,123,242,107,111,197 -.byte 48,1,103,43,254,215,171,118 -.byte 202,130,201,125,250,89,71,240 -.byte 173,212,162,175,156,164,114,192 -.byte 183,253,147,38,54,63,247,204 -.byte 52,165,229,241,113,216,49,21 -.byte 4,199,35,195,24,150,5,154 -.byte 7,18,128,226,235,39,178,117 -.byte 9,131,44,26,27,110,90,160 -.byte 82,59,214,179,41,227,47,132 -.byte 83,209,0,237,32,252,177,91 -.byte 106,203,190,57,74,76,88,207 -.byte 208,239,170,251,67,77,51,133 -.byte 69,249,2,127,80,60,159,168 -.byte 81,163,64,143,146,157,56,245 -.byte 188,182,218,33,16,255,243,210 -.byte 205,12,19,236,95,151,68,23 -.byte 196,167,126,61,100,93,25,115 -.byte 96,129,79,220,34,42,144,136 -.byte 70,238,184,20,222,94,11,219 -.byte 224,50,58,10,73,6,36,92 -.byte 194,211,172,98,145,149,228,121 -.byte 231,200,55,109,141,213,78,169 -.byte 108,86,244,234,101,122,174,8 -.byte 186,120,37,46,28,166,180,198 -.byte 232,221,116,31,75,189,139,138 -.byte 112,62,181,102,72,3,246,14 -.byte 97,53,87,185,134,193,29,158 -.byte 225,248,152,17,105,217,142,148 -.byte 155,30,135,233,206,85,40,223 -.byte 140,161,137,13,191,230,66,104 -.byte 65,153,45,15,176,84,187,22 -.byte 99,124,119,123,242,107,111,197 -.byte 48,1,103,43,254,215,171,118 -.byte 202,130,201,125,250,89,71,240 -.byte 173,212,162,175,156,164,114,192 -.byte 183,253,147,38,54,63,247,204 -.byte 52,165,229,241,113,216,49,21 -.byte 4,199,35,195,24,150,5,154 -.byte 7,18,128,226,235,39,178,117 -.byte 9,131,44,26,27,110,90,160 -.byte 82,59,214,179,41,227,47,132 -.byte 83,209,0,237,32,252,177,91 -.byte 106,203,190,57,74,76,88,207 -.byte 208,239,170,251,67,77,51,133 -.byte 69,249,2,127,80,60,159,168 -.byte 81,163,64,143,146,157,56,245 -.byte 188,182,218,33,16,255,243,210 -.byte 205,12,19,236,95,151,68,23 -.byte 196,167,126,61,100,93,25,115 -.byte 96,129,79,220,34,42,144,136 -.byte 70,238,184,20,222,94,11,219 -.byte 224,50,58,10,73,6,36,92 -.byte 194,211,172,98,145,149,228,121 -.byte 231,200,55,109,141,213,78,169 -.byte 108,86,244,234,101,122,174,8 -.byte 186,120,37,46,28,166,180,198 -.byte 232,221,116,31,75,189,139,138 -.byte 112,62,181,102,72,3,246,14 -.byte 97,53,87,185,134,193,29,158 -.byte 225,248,152,17,105,217,142,148 -.byte 155,30,135,233,206,85,40,223 -.byte 140,161,137,13,191,230,66,104 -.byte 65,153,45,15,176,84,187,22 -.byte 99,124,119,123,242,107,111,197 -.byte 48,1,103,43,254,215,171,118 -.byte 202,130,201,125,250,89,71,240 -.byte 173,212,162,175,156,164,114,192 -.byte 183,253,147,38,54,63,247,204 -.byte 52,165,229,241,113,216,49,21 -.byte 4,199,35,195,24,150,5,154 -.byte 7,18,128,226,235,39,178,117 -.byte 9,131,44,26,27,110,90,160 -.byte 82,59,214,179,41,227,47,132 -.byte 83,209,0,237,32,252,177,91 -.byte 106,203,190,57,74,76,88,207 -.byte 208,239,170,251,67,77,51,133 -.byte 69,249,2,127,80,60,159,168 -.byte 81,163,64,143,146,157,56,245 -.byte 188,182,218,33,16,255,243,210 -.byte 205,12,19,236,95,151,68,23 -.byte 196,167,126,61,100,93,25,115 -.byte 96,129,79,220,34,42,144,136 -.byte 70,238,184,20,222,94,11,219 -.byte 224,50,58,10,73,6,36,92 -.byte 194,211,172,98,145,149,228,121 -.byte 231,200,55,109,141,213,78,169 -.byte 108,86,244,234,101,122,174,8 -.byte 186,120,37,46,28,166,180,198 -.byte 232,221,116,31,75,189,139,138 -.byte 112,62,181,102,72,3,246,14 -.byte 97,53,87,185,134,193,29,158 -.byte 225,248,152,17,105,217,142,148 -.byte 155,30,135,233,206,85,40,223 -.byte 140,161,137,13,191,230,66,104 -.byte 65,153,45,15,176,84,187,22 -.long 1,2,4,8 -.long 16,32,64,128 -.long 27,54,0,0 -.long 0,0,0,0 -.globl _aes_nohw_encrypt -.private_extern _aes_nohw_encrypt -.align 4 -_aes_nohw_encrypt: -L_aes_nohw_encrypt_begin: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - movl 20(%esp),%esi - movl 28(%esp),%edi - movl %esp,%eax - subl $36,%esp - andl $-64,%esp - leal -127(%edi),%ebx - subl %esp,%ebx - negl %ebx - andl $960,%ebx - subl %ebx,%esp - addl $4,%esp - movl %eax,28(%esp) - call L004pic_point -L004pic_point: - popl %ebp - movl L_OPENSSL_ia32cap_P$non_lazy_ptr-L004pic_point(%ebp),%eax - leal LAES_Te-L004pic_point(%ebp),%ebp - leal 764(%esp),%ebx - subl %ebp,%ebx - andl $768,%ebx - leal 2176(%ebp,%ebx,1),%ebp - btl $25,(%eax) - jnc L005x86 - movq (%esi),%mm0 - movq 8(%esi),%mm4 - call __sse_AES_encrypt_compact - movl 28(%esp),%esp - movl 24(%esp),%esi - movq %mm0,(%esi) - movq %mm4,8(%esi) - emms - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.align 4,0x90 -L005x86: - movl %ebp,24(%esp) - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - call __x86_AES_encrypt_compact - movl 28(%esp),%esp - movl 24(%esp),%esi - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.private_extern __x86_AES_decrypt_compact -.align 4 -__x86_AES_decrypt_compact: - movl %edi,20(%esp) - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - movl 240(%edi),%esi - leal -2(%esi,%esi,1),%esi - leal (%edi,%esi,8),%esi - movl %esi,24(%esp) - movl -128(%ebp),%edi - movl -96(%ebp),%esi - movl -64(%ebp),%edi - movl -32(%ebp),%esi - movl (%ebp),%edi - movl 32(%ebp),%esi - movl 64(%ebp),%edi - movl 96(%ebp),%esi -.align 4,0x90 -L006loop: - movl %eax,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %dh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %ebx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,4(%esp) - movl %ebx,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %ah,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,8(%esp) - movl %ecx,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %bh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - andl $255,%edx - movzbl -128(%ebp,%edx,1),%edx - movzbl %ch,%ecx - movzbl -128(%ebp,%ecx,1),%ecx - shll $8,%ecx - xorl %ecx,%edx - movl %esi,%ecx - shrl $16,%ebx - andl $255,%ebx - movzbl -128(%ebp,%ebx,1),%ebx - shll $16,%ebx - xorl %ebx,%edx - shrl $24,%eax - movzbl -128(%ebp,%eax,1),%eax - shll $24,%eax - xorl %eax,%edx - movl $2155905152,%edi - andl %ecx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%ecx,%ecx,1),%eax - subl %edi,%esi - andl $4278124286,%eax - andl $454761243,%esi - xorl %esi,%eax - movl $2155905152,%edi - andl %eax,%edi - movl %edi,%esi - shrl $7,%edi - leal (%eax,%eax,1),%ebx - subl %edi,%esi - andl $4278124286,%ebx - andl $454761243,%esi - xorl %ecx,%eax - xorl %esi,%ebx - movl $2155905152,%edi - andl %ebx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%ebx,%ebx,1),%ebp - subl %edi,%esi - andl $4278124286,%ebp - andl $454761243,%esi - xorl %ecx,%ebx - roll $8,%ecx - xorl %esi,%ebp - xorl %eax,%ecx - xorl %ebp,%eax - xorl %ebx,%ecx - xorl %ebp,%ebx - roll $24,%eax - xorl %ebp,%ecx - roll $16,%ebx - xorl %eax,%ecx - roll $8,%ebp - xorl %ebx,%ecx - movl 4(%esp),%eax - xorl %ebp,%ecx - movl %ecx,12(%esp) - movl $2155905152,%edi - andl %edx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%edx,%edx,1),%ebx - subl %edi,%esi - andl $4278124286,%ebx - andl $454761243,%esi - xorl %esi,%ebx - movl $2155905152,%edi - andl %ebx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%ebx,%ebx,1),%ecx - subl %edi,%esi - andl $4278124286,%ecx - andl $454761243,%esi - xorl %edx,%ebx - xorl %esi,%ecx - movl $2155905152,%edi - andl %ecx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%ecx,%ecx,1),%ebp - subl %edi,%esi - andl $4278124286,%ebp - andl $454761243,%esi - xorl %edx,%ecx - roll $8,%edx - xorl %esi,%ebp - xorl %ebx,%edx - xorl %ebp,%ebx - xorl %ecx,%edx - xorl %ebp,%ecx - roll $24,%ebx - xorl %ebp,%edx - roll $16,%ecx - xorl %ebx,%edx - roll $8,%ebp - xorl %ecx,%edx - movl 8(%esp),%ebx - xorl %ebp,%edx - movl %edx,16(%esp) - movl $2155905152,%edi - andl %eax,%edi - movl %edi,%esi - shrl $7,%edi - leal (%eax,%eax,1),%ecx - subl %edi,%esi - andl $4278124286,%ecx - andl $454761243,%esi - xorl %esi,%ecx - movl $2155905152,%edi - andl %ecx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%ecx,%ecx,1),%edx - subl %edi,%esi - andl $4278124286,%edx - andl $454761243,%esi - xorl %eax,%ecx - xorl %esi,%edx - movl $2155905152,%edi - andl %edx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%edx,%edx,1),%ebp - subl %edi,%esi - andl $4278124286,%ebp - andl $454761243,%esi - xorl %eax,%edx - roll $8,%eax - xorl %esi,%ebp - xorl %ecx,%eax - xorl %ebp,%ecx - xorl %edx,%eax - xorl %ebp,%edx - roll $24,%ecx - xorl %ebp,%eax - roll $16,%edx - xorl %ecx,%eax - roll $8,%ebp - xorl %edx,%eax - xorl %ebp,%eax - movl $2155905152,%edi - andl %ebx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%ebx,%ebx,1),%ecx - subl %edi,%esi - andl $4278124286,%ecx - andl $454761243,%esi - xorl %esi,%ecx - movl $2155905152,%edi - andl %ecx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%ecx,%ecx,1),%edx - subl %edi,%esi - andl $4278124286,%edx - andl $454761243,%esi - xorl %ebx,%ecx - xorl %esi,%edx - movl $2155905152,%edi - andl %edx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%edx,%edx,1),%ebp - subl %edi,%esi - andl $4278124286,%ebp - andl $454761243,%esi - xorl %ebx,%edx - roll $8,%ebx - xorl %esi,%ebp - xorl %ecx,%ebx - xorl %ebp,%ecx - xorl %edx,%ebx - xorl %ebp,%edx - roll $24,%ecx - xorl %ebp,%ebx - roll $16,%edx - xorl %ecx,%ebx - roll $8,%ebp - xorl %edx,%ebx - movl 12(%esp),%ecx - xorl %ebp,%ebx - movl 16(%esp),%edx - movl 20(%esp),%edi - movl 28(%esp),%ebp - addl $16,%edi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - cmpl 24(%esp),%edi - movl %edi,20(%esp) - jb L006loop - movl %eax,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %dh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %ebx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,4(%esp) - movl %ebx,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %ah,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,8(%esp) - movl %ecx,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %bh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl 20(%esp),%edi - andl $255,%edx - movzbl -128(%ebp,%edx,1),%edx - movzbl %ch,%ecx - movzbl -128(%ebp,%ecx,1),%ecx - shll $8,%ecx - xorl %ecx,%edx - movl %esi,%ecx - shrl $16,%ebx - andl $255,%ebx - movzbl -128(%ebp,%ebx,1),%ebx - shll $16,%ebx - xorl %ebx,%edx - movl 8(%esp),%ebx - shrl $24,%eax - movzbl -128(%ebp,%eax,1),%eax - shll $24,%eax - xorl %eax,%edx - movl 4(%esp),%eax - xorl 16(%edi),%eax - xorl 20(%edi),%ebx - xorl 24(%edi),%ecx - xorl 28(%edi),%edx - ret -.private_extern __sse_AES_decrypt_compact -.align 4 -__sse_AES_decrypt_compact: - pxor (%edi),%mm0 - pxor 8(%edi),%mm4 - movl 240(%edi),%esi - leal -2(%esi,%esi,1),%esi - leal (%edi,%esi,8),%esi - movl %esi,24(%esp) - movl $454761243,%eax - movl %eax,8(%esp) - movl %eax,12(%esp) - movl -128(%ebp),%eax - movl -96(%ebp),%ebx - movl -64(%ebp),%ecx - movl -32(%ebp),%edx - movl (%ebp),%eax - movl 32(%ebp),%ebx - movl 64(%ebp),%ecx - movl 96(%ebp),%edx -.align 4,0x90 -L007loop: - pshufw $12,%mm0,%mm1 - pshufw $9,%mm4,%mm5 - movd %mm1,%eax - movd %mm5,%ebx - movl %edi,20(%esp) - movzbl %al,%esi - movzbl %ah,%edx - pshufw $6,%mm0,%mm2 - movzbl -128(%ebp,%esi,1),%ecx - movzbl %bl,%edi - movzbl -128(%ebp,%edx,1),%edx - shrl $16,%eax - shll $8,%edx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bh,%edi - shll $16,%esi - pshufw $3,%mm4,%mm6 - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %ah,%edi - shll $24,%esi - shrl $16,%ebx - orl %esi,%edx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bh,%edi - shll $24,%esi - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %al,%edi - shll $8,%esi - movd %mm2,%eax - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bl,%edi - shll $16,%esi - movd %mm6,%ebx - movd %ecx,%mm0 - movzbl -128(%ebp,%edi,1),%ecx - movzbl %al,%edi - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bl,%edi - orl %esi,%edx - movzbl -128(%ebp,%edi,1),%esi - movzbl %ah,%edi - shll $16,%esi - shrl $16,%eax - orl %esi,%edx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bh,%edi - shrl $16,%ebx - shll $8,%esi - movd %edx,%mm1 - movzbl -128(%ebp,%edi,1),%edx - movzbl %bh,%edi - shll $24,%edx - andl $255,%ebx - orl %esi,%edx - punpckldq %mm1,%mm0 - movzbl -128(%ebp,%edi,1),%esi - movzbl %al,%edi - shll $8,%esi - movzbl %ah,%eax - movzbl -128(%ebp,%ebx,1),%ebx - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - orl %ebx,%edx - shll $16,%esi - movzbl -128(%ebp,%eax,1),%eax - orl %esi,%edx - shll $24,%eax - orl %eax,%ecx - movl 20(%esp),%edi - movd %edx,%mm4 - movd %ecx,%mm5 - punpckldq %mm5,%mm4 - addl $16,%edi - cmpl 24(%esp),%edi - ja L008out - movq %mm0,%mm3 - movq %mm4,%mm7 - pshufw $228,%mm0,%mm2 - pshufw $228,%mm4,%mm6 - movq %mm0,%mm1 - movq %mm4,%mm5 - pshufw $177,%mm0,%mm0 - pshufw $177,%mm4,%mm4 - pslld $8,%mm2 - pslld $8,%mm6 - psrld $8,%mm3 - psrld $8,%mm7 - pxor %mm2,%mm0 - pxor %mm6,%mm4 - pxor %mm3,%mm0 - pxor %mm7,%mm4 - pslld $16,%mm2 - pslld $16,%mm6 - psrld $16,%mm3 - psrld $16,%mm7 - pxor %mm2,%mm0 - pxor %mm6,%mm4 - pxor %mm3,%mm0 - pxor %mm7,%mm4 - movq 8(%esp),%mm3 - pxor %mm2,%mm2 - pxor %mm6,%mm6 - pcmpgtb %mm1,%mm2 - pcmpgtb %mm5,%mm6 - pand %mm3,%mm2 - pand %mm3,%mm6 - paddb %mm1,%mm1 - paddb %mm5,%mm5 - pxor %mm2,%mm1 - pxor %mm6,%mm5 - movq %mm1,%mm3 - movq %mm5,%mm7 - movq %mm1,%mm2 - movq %mm5,%mm6 - pxor %mm1,%mm0 - pxor %mm5,%mm4 - pslld $24,%mm3 - pslld $24,%mm7 - psrld $8,%mm2 - psrld $8,%mm6 - pxor %mm3,%mm0 - pxor %mm7,%mm4 - pxor %mm2,%mm0 - pxor %mm6,%mm4 - movq 8(%esp),%mm2 - pxor %mm3,%mm3 - pxor %mm7,%mm7 - pcmpgtb %mm1,%mm3 - pcmpgtb %mm5,%mm7 - pand %mm2,%mm3 - pand %mm2,%mm7 - paddb %mm1,%mm1 - paddb %mm5,%mm5 - pxor %mm3,%mm1 - pxor %mm7,%mm5 - pshufw $177,%mm1,%mm3 - pshufw $177,%mm5,%mm7 - pxor %mm1,%mm0 - pxor %mm5,%mm4 - pxor %mm3,%mm0 - pxor %mm7,%mm4 - pxor %mm3,%mm3 - pxor %mm7,%mm7 - pcmpgtb %mm1,%mm3 - pcmpgtb %mm5,%mm7 - pand %mm2,%mm3 - pand %mm2,%mm7 - paddb %mm1,%mm1 - paddb %mm5,%mm5 - pxor %mm3,%mm1 - pxor %mm7,%mm5 - pxor %mm1,%mm0 - pxor %mm5,%mm4 - movq %mm1,%mm3 - movq %mm5,%mm7 - pshufw $177,%mm1,%mm2 - pshufw $177,%mm5,%mm6 - pxor %mm2,%mm0 - pxor %mm6,%mm4 - pslld $8,%mm1 - pslld $8,%mm5 - psrld $8,%mm3 - psrld $8,%mm7 - movq (%edi),%mm2 - movq 8(%edi),%mm6 - pxor %mm1,%mm0 - pxor %mm5,%mm4 - pxor %mm3,%mm0 - pxor %mm7,%mm4 - movl -128(%ebp),%eax - pslld $16,%mm1 - pslld $16,%mm5 - movl -64(%ebp),%ebx - psrld $16,%mm3 - psrld $16,%mm7 - movl (%ebp),%ecx - pxor %mm1,%mm0 - pxor %mm5,%mm4 - movl 64(%ebp),%edx - pxor %mm3,%mm0 - pxor %mm7,%mm4 - pxor %mm2,%mm0 - pxor %mm6,%mm4 - jmp L007loop -.align 4,0x90 -L008out: - pxor (%edi),%mm0 - pxor 8(%edi),%mm4 - ret -.private_extern __x86_AES_decrypt -.align 4 -__x86_AES_decrypt: - movl %edi,20(%esp) - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - movl 240(%edi),%esi - leal -2(%esi,%esi,1),%esi - leal (%edi,%esi,8),%esi - movl %esi,24(%esp) -.align 4,0x90 -L009loop: - movl %eax,%esi - andl $255,%esi - movl (%ebp,%esi,8),%esi - movzbl %dh,%edi - xorl 3(%ebp,%edi,8),%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - xorl 2(%ebp,%edi,8),%esi - movl %ebx,%edi - shrl $24,%edi - xorl 1(%ebp,%edi,8),%esi - movl %esi,4(%esp) - movl %ebx,%esi - andl $255,%esi - movl (%ebp,%esi,8),%esi - movzbl %ah,%edi - xorl 3(%ebp,%edi,8),%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - xorl 2(%ebp,%edi,8),%esi - movl %ecx,%edi - shrl $24,%edi - xorl 1(%ebp,%edi,8),%esi - movl %esi,8(%esp) - movl %ecx,%esi - andl $255,%esi - movl (%ebp,%esi,8),%esi - movzbl %bh,%edi - xorl 3(%ebp,%edi,8),%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edi - xorl 2(%ebp,%edi,8),%esi - movl %edx,%edi - shrl $24,%edi - xorl 1(%ebp,%edi,8),%esi - movl 20(%esp),%edi - andl $255,%edx - movl (%ebp,%edx,8),%edx - movzbl %ch,%ecx - xorl 3(%ebp,%ecx,8),%edx - movl %esi,%ecx - shrl $16,%ebx - andl $255,%ebx - xorl 2(%ebp,%ebx,8),%edx - movl 8(%esp),%ebx - shrl $24,%eax - xorl 1(%ebp,%eax,8),%edx - movl 4(%esp),%eax - addl $16,%edi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - cmpl 24(%esp),%edi - movl %edi,20(%esp) - jb L009loop - leal 2176(%ebp),%ebp - movl -128(%ebp),%edi - movl -96(%ebp),%esi - movl -64(%ebp),%edi - movl -32(%ebp),%esi - movl (%ebp),%edi - movl 32(%ebp),%esi - movl 64(%ebp),%edi - movl 96(%ebp),%esi - leal -128(%ebp),%ebp - movl %eax,%esi - andl $255,%esi - movzbl (%ebp,%esi,1),%esi - movzbl %dh,%edi - movzbl (%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - movzbl (%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %ebx,%edi - shrl $24,%edi - movzbl (%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,4(%esp) - movl %ebx,%esi - andl $255,%esi - movzbl (%ebp,%esi,1),%esi - movzbl %ah,%edi - movzbl (%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - movzbl (%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $24,%edi - movzbl (%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,8(%esp) - movl %ecx,%esi - andl $255,%esi - movzbl (%ebp,%esi,1),%esi - movzbl %bh,%edi - movzbl (%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edi - movzbl (%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $24,%edi - movzbl (%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl 20(%esp),%edi - andl $255,%edx - movzbl (%ebp,%edx,1),%edx - movzbl %ch,%ecx - movzbl (%ebp,%ecx,1),%ecx - shll $8,%ecx - xorl %ecx,%edx - movl %esi,%ecx - shrl $16,%ebx - andl $255,%ebx - movzbl (%ebp,%ebx,1),%ebx - shll $16,%ebx - xorl %ebx,%edx - movl 8(%esp),%ebx - shrl $24,%eax - movzbl (%ebp,%eax,1),%eax - shll $24,%eax - xorl %eax,%edx - movl 4(%esp),%eax - leal -2048(%ebp),%ebp - addl $16,%edi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - ret -.align 6,0x90 -LAES_Td: -.long 1353184337,1353184337 -.long 1399144830,1399144830 -.long 3282310938,3282310938 -.long 2522752826,2522752826 -.long 3412831035,3412831035 -.long 4047871263,4047871263 -.long 2874735276,2874735276 -.long 2466505547,2466505547 -.long 1442459680,1442459680 -.long 4134368941,4134368941 -.long 2440481928,2440481928 -.long 625738485,625738485 -.long 4242007375,4242007375 -.long 3620416197,3620416197 -.long 2151953702,2151953702 -.long 2409849525,2409849525 -.long 1230680542,1230680542 -.long 1729870373,1729870373 -.long 2551114309,2551114309 -.long 3787521629,3787521629 -.long 41234371,41234371 -.long 317738113,317738113 -.long 2744600205,2744600205 -.long 3338261355,3338261355 -.long 3881799427,3881799427 -.long 2510066197,2510066197 -.long 3950669247,3950669247 -.long 3663286933,3663286933 -.long 763608788,763608788 -.long 3542185048,3542185048 -.long 694804553,694804553 -.long 1154009486,1154009486 -.long 1787413109,1787413109 -.long 2021232372,2021232372 -.long 1799248025,1799248025 -.long 3715217703,3715217703 -.long 3058688446,3058688446 -.long 397248752,397248752 -.long 1722556617,1722556617 -.long 3023752829,3023752829 -.long 407560035,407560035 -.long 2184256229,2184256229 -.long 1613975959,1613975959 -.long 1165972322,1165972322 -.long 3765920945,3765920945 -.long 2226023355,2226023355 -.long 480281086,480281086 -.long 2485848313,2485848313 -.long 1483229296,1483229296 -.long 436028815,436028815 -.long 2272059028,2272059028 -.long 3086515026,3086515026 -.long 601060267,601060267 -.long 3791801202,3791801202 -.long 1468997603,1468997603 -.long 715871590,715871590 -.long 120122290,120122290 -.long 63092015,63092015 -.long 2591802758,2591802758 -.long 2768779219,2768779219 -.long 4068943920,4068943920 -.long 2997206819,2997206819 -.long 3127509762,3127509762 -.long 1552029421,1552029421 -.long 723308426,723308426 -.long 2461301159,2461301159 -.long 4042393587,4042393587 -.long 2715969870,2715969870 -.long 3455375973,3455375973 -.long 3586000134,3586000134 -.long 526529745,526529745 -.long 2331944644,2331944644 -.long 2639474228,2639474228 -.long 2689987490,2689987490 -.long 853641733,853641733 -.long 1978398372,1978398372 -.long 971801355,971801355 -.long 2867814464,2867814464 -.long 111112542,111112542 -.long 1360031421,1360031421 -.long 4186579262,4186579262 -.long 1023860118,1023860118 -.long 2919579357,2919579357 -.long 1186850381,1186850381 -.long 3045938321,3045938321 -.long 90031217,90031217 -.long 1876166148,1876166148 -.long 4279586912,4279586912 -.long 620468249,620468249 -.long 2548678102,2548678102 -.long 3426959497,3426959497 -.long 2006899047,2006899047 -.long 3175278768,3175278768 -.long 2290845959,2290845959 -.long 945494503,945494503 -.long 3689859193,3689859193 -.long 1191869601,1191869601 -.long 3910091388,3910091388 -.long 3374220536,3374220536 -.long 0,0 -.long 2206629897,2206629897 -.long 1223502642,1223502642 -.long 2893025566,2893025566 -.long 1316117100,1316117100 -.long 4227796733,4227796733 -.long 1446544655,1446544655 -.long 517320253,517320253 -.long 658058550,658058550 -.long 1691946762,1691946762 -.long 564550760,564550760 -.long 3511966619,3511966619 -.long 976107044,976107044 -.long 2976320012,2976320012 -.long 266819475,266819475 -.long 3533106868,3533106868 -.long 2660342555,2660342555 -.long 1338359936,1338359936 -.long 2720062561,2720062561 -.long 1766553434,1766553434 -.long 370807324,370807324 -.long 179999714,179999714 -.long 3844776128,3844776128 -.long 1138762300,1138762300 -.long 488053522,488053522 -.long 185403662,185403662 -.long 2915535858,2915535858 -.long 3114841645,3114841645 -.long 3366526484,3366526484 -.long 2233069911,2233069911 -.long 1275557295,1275557295 -.long 3151862254,3151862254 -.long 4250959779,4250959779 -.long 2670068215,2670068215 -.long 3170202204,3170202204 -.long 3309004356,3309004356 -.long 880737115,880737115 -.long 1982415755,1982415755 -.long 3703972811,3703972811 -.long 1761406390,1761406390 -.long 1676797112,1676797112 -.long 3403428311,3403428311 -.long 277177154,277177154 -.long 1076008723,1076008723 -.long 538035844,538035844 -.long 2099530373,2099530373 -.long 4164795346,4164795346 -.long 288553390,288553390 -.long 1839278535,1839278535 -.long 1261411869,1261411869 -.long 4080055004,4080055004 -.long 3964831245,3964831245 -.long 3504587127,3504587127 -.long 1813426987,1813426987 -.long 2579067049,2579067049 -.long 4199060497,4199060497 -.long 577038663,577038663 -.long 3297574056,3297574056 -.long 440397984,440397984 -.long 3626794326,3626794326 -.long 4019204898,4019204898 -.long 3343796615,3343796615 -.long 3251714265,3251714265 -.long 4272081548,4272081548 -.long 906744984,906744984 -.long 3481400742,3481400742 -.long 685669029,685669029 -.long 646887386,646887386 -.long 2764025151,2764025151 -.long 3835509292,3835509292 -.long 227702864,227702864 -.long 2613862250,2613862250 -.long 1648787028,1648787028 -.long 3256061430,3256061430 -.long 3904428176,3904428176 -.long 1593260334,1593260334 -.long 4121936770,4121936770 -.long 3196083615,3196083615 -.long 2090061929,2090061929 -.long 2838353263,2838353263 -.long 3004310991,3004310991 -.long 999926984,999926984 -.long 2809993232,2809993232 -.long 1852021992,1852021992 -.long 2075868123,2075868123 -.long 158869197,158869197 -.long 4095236462,4095236462 -.long 28809964,28809964 -.long 2828685187,2828685187 -.long 1701746150,1701746150 -.long 2129067946,2129067946 -.long 147831841,147831841 -.long 3873969647,3873969647 -.long 3650873274,3650873274 -.long 3459673930,3459673930 -.long 3557400554,3557400554 -.long 3598495785,3598495785 -.long 2947720241,2947720241 -.long 824393514,824393514 -.long 815048134,815048134 -.long 3227951669,3227951669 -.long 935087732,935087732 -.long 2798289660,2798289660 -.long 2966458592,2966458592 -.long 366520115,366520115 -.long 1251476721,1251476721 -.long 4158319681,4158319681 -.long 240176511,240176511 -.long 804688151,804688151 -.long 2379631990,2379631990 -.long 1303441219,1303441219 -.long 1414376140,1414376140 -.long 3741619940,3741619940 -.long 3820343710,3820343710 -.long 461924940,461924940 -.long 3089050817,3089050817 -.long 2136040774,2136040774 -.long 82468509,82468509 -.long 1563790337,1563790337 -.long 1937016826,1937016826 -.long 776014843,776014843 -.long 1511876531,1511876531 -.long 1389550482,1389550482 -.long 861278441,861278441 -.long 323475053,323475053 -.long 2355222426,2355222426 -.long 2047648055,2047648055 -.long 2383738969,2383738969 -.long 2302415851,2302415851 -.long 3995576782,3995576782 -.long 902390199,902390199 -.long 3991215329,3991215329 -.long 1018251130,1018251130 -.long 1507840668,1507840668 -.long 1064563285,1064563285 -.long 2043548696,2043548696 -.long 3208103795,3208103795 -.long 3939366739,3939366739 -.long 1537932639,1537932639 -.long 342834655,342834655 -.long 2262516856,2262516856 -.long 2180231114,2180231114 -.long 1053059257,1053059257 -.long 741614648,741614648 -.long 1598071746,1598071746 -.long 1925389590,1925389590 -.long 203809468,203809468 -.long 2336832552,2336832552 -.long 1100287487,1100287487 -.long 1895934009,1895934009 -.long 3736275976,3736275976 -.long 2632234200,2632234200 -.long 2428589668,2428589668 -.long 1636092795,1636092795 -.long 1890988757,1890988757 -.long 1952214088,1952214088 -.long 1113045200,1113045200 -.byte 82,9,106,213,48,54,165,56 -.byte 191,64,163,158,129,243,215,251 -.byte 124,227,57,130,155,47,255,135 -.byte 52,142,67,68,196,222,233,203 -.byte 84,123,148,50,166,194,35,61 -.byte 238,76,149,11,66,250,195,78 -.byte 8,46,161,102,40,217,36,178 -.byte 118,91,162,73,109,139,209,37 -.byte 114,248,246,100,134,104,152,22 -.byte 212,164,92,204,93,101,182,146 -.byte 108,112,72,80,253,237,185,218 -.byte 94,21,70,87,167,141,157,132 -.byte 144,216,171,0,140,188,211,10 -.byte 247,228,88,5,184,179,69,6 -.byte 208,44,30,143,202,63,15,2 -.byte 193,175,189,3,1,19,138,107 -.byte 58,145,17,65,79,103,220,234 -.byte 151,242,207,206,240,180,230,115 -.byte 150,172,116,34,231,173,53,133 -.byte 226,249,55,232,28,117,223,110 -.byte 71,241,26,113,29,41,197,137 -.byte 111,183,98,14,170,24,190,27 -.byte 252,86,62,75,198,210,121,32 -.byte 154,219,192,254,120,205,90,244 -.byte 31,221,168,51,136,7,199,49 -.byte 177,18,16,89,39,128,236,95 -.byte 96,81,127,169,25,181,74,13 -.byte 45,229,122,159,147,201,156,239 -.byte 160,224,59,77,174,42,245,176 -.byte 200,235,187,60,131,83,153,97 -.byte 23,43,4,126,186,119,214,38 -.byte 225,105,20,99,85,33,12,125 -.byte 82,9,106,213,48,54,165,56 -.byte 191,64,163,158,129,243,215,251 -.byte 124,227,57,130,155,47,255,135 -.byte 52,142,67,68,196,222,233,203 -.byte 84,123,148,50,166,194,35,61 -.byte 238,76,149,11,66,250,195,78 -.byte 8,46,161,102,40,217,36,178 -.byte 118,91,162,73,109,139,209,37 -.byte 114,248,246,100,134,104,152,22 -.byte 212,164,92,204,93,101,182,146 -.byte 108,112,72,80,253,237,185,218 -.byte 94,21,70,87,167,141,157,132 -.byte 144,216,171,0,140,188,211,10 -.byte 247,228,88,5,184,179,69,6 -.byte 208,44,30,143,202,63,15,2 -.byte 193,175,189,3,1,19,138,107 -.byte 58,145,17,65,79,103,220,234 -.byte 151,242,207,206,240,180,230,115 -.byte 150,172,116,34,231,173,53,133 -.byte 226,249,55,232,28,117,223,110 -.byte 71,241,26,113,29,41,197,137 -.byte 111,183,98,14,170,24,190,27 -.byte 252,86,62,75,198,210,121,32 -.byte 154,219,192,254,120,205,90,244 -.byte 31,221,168,51,136,7,199,49 -.byte 177,18,16,89,39,128,236,95 -.byte 96,81,127,169,25,181,74,13 -.byte 45,229,122,159,147,201,156,239 -.byte 160,224,59,77,174,42,245,176 -.byte 200,235,187,60,131,83,153,97 -.byte 23,43,4,126,186,119,214,38 -.byte 225,105,20,99,85,33,12,125 -.byte 82,9,106,213,48,54,165,56 -.byte 191,64,163,158,129,243,215,251 -.byte 124,227,57,130,155,47,255,135 -.byte 52,142,67,68,196,222,233,203 -.byte 84,123,148,50,166,194,35,61 -.byte 238,76,149,11,66,250,195,78 -.byte 8,46,161,102,40,217,36,178 -.byte 118,91,162,73,109,139,209,37 -.byte 114,248,246,100,134,104,152,22 -.byte 212,164,92,204,93,101,182,146 -.byte 108,112,72,80,253,237,185,218 -.byte 94,21,70,87,167,141,157,132 -.byte 144,216,171,0,140,188,211,10 -.byte 247,228,88,5,184,179,69,6 -.byte 208,44,30,143,202,63,15,2 -.byte 193,175,189,3,1,19,138,107 -.byte 58,145,17,65,79,103,220,234 -.byte 151,242,207,206,240,180,230,115 -.byte 150,172,116,34,231,173,53,133 -.byte 226,249,55,232,28,117,223,110 -.byte 71,241,26,113,29,41,197,137 -.byte 111,183,98,14,170,24,190,27 -.byte 252,86,62,75,198,210,121,32 -.byte 154,219,192,254,120,205,90,244 -.byte 31,221,168,51,136,7,199,49 -.byte 177,18,16,89,39,128,236,95 -.byte 96,81,127,169,25,181,74,13 -.byte 45,229,122,159,147,201,156,239 -.byte 160,224,59,77,174,42,245,176 -.byte 200,235,187,60,131,83,153,97 -.byte 23,43,4,126,186,119,214,38 -.byte 225,105,20,99,85,33,12,125 -.byte 82,9,106,213,48,54,165,56 -.byte 191,64,163,158,129,243,215,251 -.byte 124,227,57,130,155,47,255,135 -.byte 52,142,67,68,196,222,233,203 -.byte 84,123,148,50,166,194,35,61 -.byte 238,76,149,11,66,250,195,78 -.byte 8,46,161,102,40,217,36,178 -.byte 118,91,162,73,109,139,209,37 -.byte 114,248,246,100,134,104,152,22 -.byte 212,164,92,204,93,101,182,146 -.byte 108,112,72,80,253,237,185,218 -.byte 94,21,70,87,167,141,157,132 -.byte 144,216,171,0,140,188,211,10 -.byte 247,228,88,5,184,179,69,6 -.byte 208,44,30,143,202,63,15,2 -.byte 193,175,189,3,1,19,138,107 -.byte 58,145,17,65,79,103,220,234 -.byte 151,242,207,206,240,180,230,115 -.byte 150,172,116,34,231,173,53,133 -.byte 226,249,55,232,28,117,223,110 -.byte 71,241,26,113,29,41,197,137 -.byte 111,183,98,14,170,24,190,27 -.byte 252,86,62,75,198,210,121,32 -.byte 154,219,192,254,120,205,90,244 -.byte 31,221,168,51,136,7,199,49 -.byte 177,18,16,89,39,128,236,95 -.byte 96,81,127,169,25,181,74,13 -.byte 45,229,122,159,147,201,156,239 -.byte 160,224,59,77,174,42,245,176 -.byte 200,235,187,60,131,83,153,97 -.byte 23,43,4,126,186,119,214,38 -.byte 225,105,20,99,85,33,12,125 -.globl _aes_nohw_decrypt -.private_extern _aes_nohw_decrypt -.align 4 -_aes_nohw_decrypt: -L_aes_nohw_decrypt_begin: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - movl 20(%esp),%esi - movl 28(%esp),%edi - movl %esp,%eax - subl $36,%esp - andl $-64,%esp - leal -127(%edi),%ebx - subl %esp,%ebx - negl %ebx - andl $960,%ebx - subl %ebx,%esp - addl $4,%esp - movl %eax,28(%esp) - call L010pic_point -L010pic_point: - popl %ebp - movl L_OPENSSL_ia32cap_P$non_lazy_ptr-L010pic_point(%ebp),%eax - leal LAES_Td-L010pic_point(%ebp),%ebp - leal 764(%esp),%ebx - subl %ebp,%ebx - andl $768,%ebx - leal 2176(%ebp,%ebx,1),%ebp - btl $25,(%eax) - jnc L011x86 - movq (%esi),%mm0 - movq 8(%esi),%mm4 - call __sse_AES_decrypt_compact - movl 28(%esp),%esp - movl 24(%esp),%esi - movq %mm0,(%esi) - movq %mm4,8(%esi) - emms - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.align 4,0x90 -L011x86: - movl %ebp,24(%esp) - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - call __x86_AES_decrypt_compact - movl 28(%esp),%esp - movl 24(%esp),%esi - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.globl _aes_nohw_cbc_encrypt -.private_extern _aes_nohw_cbc_encrypt -.align 4 -_aes_nohw_cbc_encrypt: -L_aes_nohw_cbc_encrypt_begin: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - movl 28(%esp),%ecx - cmpl $0,%ecx - je L012drop_out - call L013pic_point -L013pic_point: - popl %ebp - movl L_OPENSSL_ia32cap_P$non_lazy_ptr-L013pic_point(%ebp),%eax - cmpl $0,40(%esp) - leal LAES_Te-L013pic_point(%ebp),%ebp - jne L014picked_te - leal LAES_Td-LAES_Te(%ebp),%ebp -L014picked_te: - pushfl - cld - cmpl $512,%ecx - jb L015slow_way - testl $15,%ecx - jnz L015slow_way - btl $28,(%eax) - jc L015slow_way - leal -324(%esp),%esi - andl $-64,%esi - movl %ebp,%eax - leal 2304(%ebp),%ebx - movl %esi,%edx - andl $4095,%eax - andl $4095,%ebx - andl $4095,%edx - cmpl %ebx,%edx - jb L016tbl_break_out - subl %ebx,%edx - subl %edx,%esi - jmp L017tbl_ok -.align 2,0x90 -L016tbl_break_out: - subl %eax,%edx - andl $4095,%edx - addl $384,%edx - subl %edx,%esi -.align 2,0x90 -L017tbl_ok: - leal 24(%esp),%edx - xchgl %esi,%esp - addl $4,%esp - movl %ebp,24(%esp) - movl %esi,28(%esp) - movl (%edx),%eax - movl 4(%edx),%ebx - movl 12(%edx),%edi - movl 16(%edx),%esi - movl 20(%edx),%edx - movl %eax,32(%esp) - movl %ebx,36(%esp) - movl %ecx,40(%esp) - movl %edi,44(%esp) - movl %esi,48(%esp) - movl $0,316(%esp) - movl %edi,%ebx - movl $61,%ecx - subl %ebp,%ebx - movl %edi,%esi - andl $4095,%ebx - leal 76(%esp),%edi - cmpl $2304,%ebx - jb L018do_copy - cmpl $3852,%ebx - jb L019skip_copy -.align 2,0x90 -L018do_copy: - movl %edi,44(%esp) -.long 2784229001 -L019skip_copy: - movl $16,%edi -.align 2,0x90 -L020prefetch_tbl: - movl (%ebp),%eax - movl 32(%ebp),%ebx - movl 64(%ebp),%ecx - movl 96(%ebp),%esi - leal 128(%ebp),%ebp - subl $1,%edi - jnz L020prefetch_tbl - subl $2048,%ebp - movl 32(%esp),%esi - movl 48(%esp),%edi - cmpl $0,%edx - je L021fast_decrypt - movl (%edi),%eax - movl 4(%edi),%ebx -.align 4,0x90 -L022fast_enc_loop: - movl 8(%edi),%ecx - movl 12(%edi),%edx - xorl (%esi),%eax - xorl 4(%esi),%ebx - xorl 8(%esi),%ecx - xorl 12(%esi),%edx - movl 44(%esp),%edi - call __x86_AES_encrypt - movl 32(%esp),%esi - movl 36(%esp),%edi - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - leal 16(%esi),%esi - movl 40(%esp),%ecx - movl %esi,32(%esp) - leal 16(%edi),%edx - movl %edx,36(%esp) - subl $16,%ecx - movl %ecx,40(%esp) - jnz L022fast_enc_loop - movl 48(%esp),%esi - movl 8(%edi),%ecx - movl 12(%edi),%edx - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - cmpl $0,316(%esp) - movl 44(%esp),%edi - je L023skip_ezero - movl $60,%ecx - xorl %eax,%eax -.align 2,0x90 -.long 2884892297 -L023skip_ezero: - movl 28(%esp),%esp - popfl -L012drop_out: - popl %edi - popl %esi - popl %ebx - popl %ebp - ret - pushfl -.align 4,0x90 -L021fast_decrypt: - cmpl 36(%esp),%esi - je L024fast_dec_in_place - movl %edi,52(%esp) -.align 2,0x90 -.align 4,0x90 -L025fast_dec_loop: - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - movl 44(%esp),%edi - call __x86_AES_decrypt - movl 52(%esp),%edi - movl 40(%esp),%esi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - movl 36(%esp),%edi - movl 32(%esp),%esi - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 40(%esp),%ecx - movl %esi,52(%esp) - leal 16(%esi),%esi - movl %esi,32(%esp) - leal 16(%edi),%edi - movl %edi,36(%esp) - subl $16,%ecx - movl %ecx,40(%esp) - jnz L025fast_dec_loop - movl 52(%esp),%edi - movl 48(%esp),%esi - movl (%edi),%eax - movl 4(%edi),%ebx - movl 8(%edi),%ecx - movl 12(%edi),%edx - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - jmp L026fast_dec_out -.align 4,0x90 -L024fast_dec_in_place: -L027fast_dec_in_place_loop: - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - leal 60(%esp),%edi - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 44(%esp),%edi - call __x86_AES_decrypt - movl 48(%esp),%edi - movl 36(%esp),%esi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - leal 16(%esi),%esi - movl %esi,36(%esp) - leal 60(%esp),%esi - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 32(%esp),%esi - movl 40(%esp),%ecx - leal 16(%esi),%esi - movl %esi,32(%esp) - subl $16,%ecx - movl %ecx,40(%esp) - jnz L027fast_dec_in_place_loop -.align 2,0x90 -L026fast_dec_out: - cmpl $0,316(%esp) - movl 44(%esp),%edi - je L028skip_dzero - movl $60,%ecx - xorl %eax,%eax -.align 2,0x90 -.long 2884892297 -L028skip_dzero: - movl 28(%esp),%esp - popfl - popl %edi - popl %esi - popl %ebx - popl %ebp - ret - pushfl -.align 4,0x90 -L015slow_way: - movl (%eax),%eax - movl 36(%esp),%edi - leal -80(%esp),%esi - andl $-64,%esi - leal -143(%edi),%ebx - subl %esi,%ebx - negl %ebx - andl $960,%ebx - subl %ebx,%esi - leal 768(%esi),%ebx - subl %ebp,%ebx - andl $768,%ebx - leal 2176(%ebp,%ebx,1),%ebp - leal 24(%esp),%edx - xchgl %esi,%esp - addl $4,%esp - movl %ebp,24(%esp) - movl %esi,28(%esp) - movl %eax,52(%esp) - movl (%edx),%eax - movl 4(%edx),%ebx - movl 16(%edx),%esi - movl 20(%edx),%edx - movl %eax,32(%esp) - movl %ebx,36(%esp) - movl %ecx,40(%esp) - movl %edi,44(%esp) - movl %esi,48(%esp) - movl %esi,%edi - movl %eax,%esi - cmpl $0,%edx - je L029slow_decrypt - cmpl $16,%ecx - movl %ebx,%edx - jb L030slow_enc_tail - btl $25,52(%esp) - jnc L031slow_enc_x86 - movq (%edi),%mm0 - movq 8(%edi),%mm4 -.align 4,0x90 -L032slow_enc_loop_sse: - pxor (%esi),%mm0 - pxor 8(%esi),%mm4 - movl 44(%esp),%edi - call __sse_AES_encrypt_compact - movl 32(%esp),%esi - movl 36(%esp),%edi - movl 40(%esp),%ecx - movq %mm0,(%edi) - movq %mm4,8(%edi) - leal 16(%esi),%esi - movl %esi,32(%esp) - leal 16(%edi),%edx - movl %edx,36(%esp) - subl $16,%ecx - cmpl $16,%ecx - movl %ecx,40(%esp) - jae L032slow_enc_loop_sse - testl $15,%ecx - jnz L030slow_enc_tail - movl 48(%esp),%esi - movq %mm0,(%esi) - movq %mm4,8(%esi) - emms - movl 28(%esp),%esp - popfl - popl %edi - popl %esi - popl %ebx - popl %ebp - ret - pushfl -.align 4,0x90 -L031slow_enc_x86: - movl (%edi),%eax - movl 4(%edi),%ebx -.align 2,0x90 -L033slow_enc_loop_x86: - movl 8(%edi),%ecx - movl 12(%edi),%edx - xorl (%esi),%eax - xorl 4(%esi),%ebx - xorl 8(%esi),%ecx - xorl 12(%esi),%edx - movl 44(%esp),%edi - call __x86_AES_encrypt_compact - movl 32(%esp),%esi - movl 36(%esp),%edi - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 40(%esp),%ecx - leal 16(%esi),%esi - movl %esi,32(%esp) - leal 16(%edi),%edx - movl %edx,36(%esp) - subl $16,%ecx - cmpl $16,%ecx - movl %ecx,40(%esp) - jae L033slow_enc_loop_x86 - testl $15,%ecx - jnz L030slow_enc_tail - movl 48(%esp),%esi - movl 8(%edi),%ecx - movl 12(%edi),%edx - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - movl 28(%esp),%esp - popfl - popl %edi - popl %esi - popl %ebx - popl %ebp - ret - pushfl -.align 4,0x90 -L030slow_enc_tail: - emms - movl %edx,%edi - movl $16,%ebx - subl %ecx,%ebx - cmpl %esi,%edi - je L034enc_in_place -.align 2,0x90 -.long 2767451785 - jmp L035enc_skip_in_place -L034enc_in_place: - leal (%edi,%ecx,1),%edi -L035enc_skip_in_place: - movl %ebx,%ecx - xorl %eax,%eax -.align 2,0x90 -.long 2868115081 - movl 48(%esp),%edi - movl %edx,%esi - movl (%edi),%eax - movl 4(%edi),%ebx - movl $16,40(%esp) - jmp L033slow_enc_loop_x86 -.align 4,0x90 -L029slow_decrypt: - btl $25,52(%esp) - jnc L036slow_dec_loop_x86 -.align 2,0x90 -L037slow_dec_loop_sse: - movq (%esi),%mm0 - movq 8(%esi),%mm4 - movl 44(%esp),%edi - call __sse_AES_decrypt_compact - movl 32(%esp),%esi - leal 60(%esp),%eax - movl 36(%esp),%ebx - movl 40(%esp),%ecx - movl 48(%esp),%edi - movq (%esi),%mm1 - movq 8(%esi),%mm5 - pxor (%edi),%mm0 - pxor 8(%edi),%mm4 - movq %mm1,(%edi) - movq %mm5,8(%edi) - subl $16,%ecx - jc L038slow_dec_partial_sse - movq %mm0,(%ebx) - movq %mm4,8(%ebx) - leal 16(%ebx),%ebx - movl %ebx,36(%esp) - leal 16(%esi),%esi - movl %esi,32(%esp) - movl %ecx,40(%esp) - jnz L037slow_dec_loop_sse - emms - movl 28(%esp),%esp - popfl - popl %edi - popl %esi - popl %ebx - popl %ebp - ret - pushfl -.align 4,0x90 -L038slow_dec_partial_sse: - movq %mm0,(%eax) - movq %mm4,8(%eax) - emms - addl $16,%ecx - movl %ebx,%edi - movl %eax,%esi -.align 2,0x90 -.long 2767451785 - movl 28(%esp),%esp - popfl - popl %edi - popl %esi - popl %ebx - popl %ebp - ret - pushfl -.align 4,0x90 -L036slow_dec_loop_x86: - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - leal 60(%esp),%edi - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 44(%esp),%edi - call __x86_AES_decrypt_compact - movl 48(%esp),%edi - movl 40(%esp),%esi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - subl $16,%esi - jc L039slow_dec_partial_x86 - movl %esi,40(%esp) - movl 36(%esp),%esi - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - leal 16(%esi),%esi - movl %esi,36(%esp) - leal 60(%esp),%esi - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 32(%esp),%esi - leal 16(%esi),%esi - movl %esi,32(%esp) - jnz L036slow_dec_loop_x86 - movl 28(%esp),%esp - popfl - popl %edi - popl %esi - popl %ebx - popl %ebp - ret - pushfl -.align 4,0x90 -L039slow_dec_partial_x86: - leal 60(%esp),%esi - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - movl 32(%esp),%esi - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 40(%esp),%ecx - movl 36(%esp),%edi - leal 60(%esp),%esi -.align 2,0x90 -.long 2767451785 - movl 28(%esp),%esp - popfl - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.private_extern __x86_AES_set_encrypt_key -.align 4 -__x86_AES_set_encrypt_key: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - movl 24(%esp),%esi - movl 32(%esp),%edi - testl $-1,%esi - jz L040badpointer - testl $-1,%edi - jz L040badpointer - call L041pic_point -L041pic_point: - popl %ebp - leal LAES_Te-L041pic_point(%ebp),%ebp - leal 2176(%ebp),%ebp - movl -128(%ebp),%eax - movl -96(%ebp),%ebx - movl -64(%ebp),%ecx - movl -32(%ebp),%edx - movl (%ebp),%eax - movl 32(%ebp),%ebx - movl 64(%ebp),%ecx - movl 96(%ebp),%edx - movl 28(%esp),%ecx - cmpl $128,%ecx - je L04210rounds - cmpl $192,%ecx - je L04312rounds - cmpl $256,%ecx - je L04414rounds - movl $-2,%eax - jmp L045exit -L04210rounds: - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - xorl %ecx,%ecx - jmp L04610shortcut -.align 2,0x90 -L04710loop: - movl (%edi),%eax - movl 12(%edi),%edx -L04610shortcut: - movzbl %dl,%esi - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - shll $24,%ebx - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shrl $16,%edx - movzbl %dl,%esi - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - shll $8,%ebx - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shll $16,%ebx - xorl %ebx,%eax - xorl 896(%ebp,%ecx,4),%eax - movl %eax,16(%edi) - xorl 4(%edi),%eax - movl %eax,20(%edi) - xorl 8(%edi),%eax - movl %eax,24(%edi) - xorl 12(%edi),%eax - movl %eax,28(%edi) - incl %ecx - addl $16,%edi - cmpl $10,%ecx - jl L04710loop - movl $10,80(%edi) - xorl %eax,%eax - jmp L045exit -L04312rounds: - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 16(%esi),%ecx - movl 20(%esi),%edx - movl %ecx,16(%edi) - movl %edx,20(%edi) - xorl %ecx,%ecx - jmp L04812shortcut -.align 2,0x90 -L04912loop: - movl (%edi),%eax - movl 20(%edi),%edx -L04812shortcut: - movzbl %dl,%esi - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - shll $24,%ebx - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shrl $16,%edx - movzbl %dl,%esi - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - shll $8,%ebx - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shll $16,%ebx - xorl %ebx,%eax - xorl 896(%ebp,%ecx,4),%eax - movl %eax,24(%edi) - xorl 4(%edi),%eax - movl %eax,28(%edi) - xorl 8(%edi),%eax - movl %eax,32(%edi) - xorl 12(%edi),%eax - movl %eax,36(%edi) - cmpl $7,%ecx - je L05012break - incl %ecx - xorl 16(%edi),%eax - movl %eax,40(%edi) - xorl 20(%edi),%eax - movl %eax,44(%edi) - addl $24,%edi - jmp L04912loop -L05012break: - movl $12,72(%edi) - xorl %eax,%eax - jmp L045exit -L04414rounds: - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 16(%esi),%eax - movl 20(%esi),%ebx - movl 24(%esi),%ecx - movl 28(%esi),%edx - movl %eax,16(%edi) - movl %ebx,20(%edi) - movl %ecx,24(%edi) - movl %edx,28(%edi) - xorl %ecx,%ecx - jmp L05114shortcut -.align 2,0x90 -L05214loop: - movl 28(%edi),%edx -L05114shortcut: - movl (%edi),%eax - movzbl %dl,%esi - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - shll $24,%ebx - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shrl $16,%edx - movzbl %dl,%esi - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - shll $8,%ebx - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shll $16,%ebx - xorl %ebx,%eax - xorl 896(%ebp,%ecx,4),%eax - movl %eax,32(%edi) - xorl 4(%edi),%eax - movl %eax,36(%edi) - xorl 8(%edi),%eax - movl %eax,40(%edi) - xorl 12(%edi),%eax - movl %eax,44(%edi) - cmpl $6,%ecx - je L05314break - incl %ecx - movl %eax,%edx - movl 16(%edi),%eax - movzbl %dl,%esi - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shrl $16,%edx - shll $8,%ebx - movzbl %dl,%esi - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - shll $16,%ebx - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shll $24,%ebx - xorl %ebx,%eax - movl %eax,48(%edi) - xorl 20(%edi),%eax - movl %eax,52(%edi) - xorl 24(%edi),%eax - movl %eax,56(%edi) - xorl 28(%edi),%eax - movl %eax,60(%edi) - addl $32,%edi - jmp L05214loop -L05314break: - movl $14,48(%edi) - xorl %eax,%eax - jmp L045exit -L040badpointer: - movl $-1,%eax -L045exit: - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.globl _aes_nohw_set_encrypt_key -.private_extern _aes_nohw_set_encrypt_key -.align 4 -_aes_nohw_set_encrypt_key: -L_aes_nohw_set_encrypt_key_begin: - call __x86_AES_set_encrypt_key - ret -.globl _aes_nohw_set_decrypt_key -.private_extern _aes_nohw_set_decrypt_key -.align 4 -_aes_nohw_set_decrypt_key: -L_aes_nohw_set_decrypt_key_begin: - call __x86_AES_set_encrypt_key - cmpl $0,%eax - je L054proceed - ret -L054proceed: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - movl 28(%esp),%esi - movl 240(%esi),%ecx - leal (,%ecx,4),%ecx - leal (%esi,%ecx,4),%edi -.align 2,0x90 -L055invert: - movl (%esi),%eax - movl 4(%esi),%ebx - movl (%edi),%ecx - movl 4(%edi),%edx - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,(%esi) - movl %edx,4(%esi) - movl 8(%esi),%eax - movl 12(%esi),%ebx - movl 8(%edi),%ecx - movl 12(%edi),%edx - movl %eax,8(%edi) - movl %ebx,12(%edi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - addl $16,%esi - subl $16,%edi - cmpl %edi,%esi - jne L055invert - movl 28(%esp),%edi - movl 240(%edi),%esi - leal -2(%esi,%esi,1),%esi - leal (%edi,%esi,8),%esi - movl %esi,28(%esp) - movl 16(%edi),%eax -.align 2,0x90 -L056permute: - addl $16,%edi - movl $2155905152,%ebp - andl %eax,%ebp - leal (%eax,%eax,1),%ebx - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%ebx - andl $454761243,%esi - xorl %esi,%ebx - movl $2155905152,%ebp - andl %ebx,%ebp - leal (%ebx,%ebx,1),%ecx - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%ecx - andl $454761243,%esi - xorl %eax,%ebx - xorl %esi,%ecx - movl $2155905152,%ebp - andl %ecx,%ebp - leal (%ecx,%ecx,1),%edx - movl %ebp,%esi - shrl $7,%ebp - xorl %eax,%ecx - subl %ebp,%esi - andl $4278124286,%edx - andl $454761243,%esi - roll $8,%eax - xorl %esi,%edx - movl 4(%edi),%ebp - xorl %ebx,%eax - xorl %edx,%ebx - xorl %ecx,%eax - roll $24,%ebx - xorl %edx,%ecx - xorl %edx,%eax - roll $16,%ecx - xorl %ebx,%eax - roll $8,%edx - xorl %ecx,%eax - movl %ebp,%ebx - xorl %edx,%eax - movl %eax,(%edi) - movl $2155905152,%ebp - andl %ebx,%ebp - leal (%ebx,%ebx,1),%ecx - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%ecx - andl $454761243,%esi - xorl %esi,%ecx - movl $2155905152,%ebp - andl %ecx,%ebp - leal (%ecx,%ecx,1),%edx - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%edx - andl $454761243,%esi - xorl %ebx,%ecx - xorl %esi,%edx - movl $2155905152,%ebp - andl %edx,%ebp - leal (%edx,%edx,1),%eax - movl %ebp,%esi - shrl $7,%ebp - xorl %ebx,%edx - subl %ebp,%esi - andl $4278124286,%eax - andl $454761243,%esi - roll $8,%ebx - xorl %esi,%eax - movl 8(%edi),%ebp - xorl %ecx,%ebx - xorl %eax,%ecx - xorl %edx,%ebx - roll $24,%ecx - xorl %eax,%edx - xorl %eax,%ebx - roll $16,%edx - xorl %ecx,%ebx - roll $8,%eax - xorl %edx,%ebx - movl %ebp,%ecx - xorl %eax,%ebx - movl %ebx,4(%edi) - movl $2155905152,%ebp - andl %ecx,%ebp - leal (%ecx,%ecx,1),%edx - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%edx - andl $454761243,%esi - xorl %esi,%edx - movl $2155905152,%ebp - andl %edx,%ebp - leal (%edx,%edx,1),%eax - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%eax - andl $454761243,%esi - xorl %ecx,%edx - xorl %esi,%eax - movl $2155905152,%ebp - andl %eax,%ebp - leal (%eax,%eax,1),%ebx - movl %ebp,%esi - shrl $7,%ebp - xorl %ecx,%eax - subl %ebp,%esi - andl $4278124286,%ebx - andl $454761243,%esi - roll $8,%ecx - xorl %esi,%ebx - movl 12(%edi),%ebp - xorl %edx,%ecx - xorl %ebx,%edx - xorl %eax,%ecx - roll $24,%edx - xorl %ebx,%eax - xorl %ebx,%ecx - roll $16,%eax - xorl %edx,%ecx - roll $8,%ebx - xorl %eax,%ecx - movl %ebp,%edx - xorl %ebx,%ecx - movl %ecx,8(%edi) - movl $2155905152,%ebp - andl %edx,%ebp - leal (%edx,%edx,1),%eax - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%eax - andl $454761243,%esi - xorl %esi,%eax - movl $2155905152,%ebp - andl %eax,%ebp - leal (%eax,%eax,1),%ebx - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%ebx - andl $454761243,%esi - xorl %edx,%eax - xorl %esi,%ebx - movl $2155905152,%ebp - andl %ebx,%ebp - leal (%ebx,%ebx,1),%ecx - movl %ebp,%esi - shrl $7,%ebp - xorl %edx,%ebx - subl %ebp,%esi - andl $4278124286,%ecx - andl $454761243,%esi - roll $8,%edx - xorl %esi,%ecx - movl 16(%edi),%ebp - xorl %eax,%edx - xorl %ecx,%eax - xorl %ebx,%edx - roll $24,%eax - xorl %ecx,%ebx - xorl %ecx,%edx - roll $16,%ebx - xorl %eax,%edx - roll $8,%ecx - xorl %ebx,%edx - movl %ebp,%eax - xorl %ecx,%edx - movl %edx,12(%edi) - cmpl 28(%esp),%edi - jb L056permute - xorl %eax,%eax - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.byte 65,69,83,32,102,111,114,32,120,56,54,44,32,67,82,89 -.byte 80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114 -.byte 111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 -.section __IMPORT,__pointers,non_lazy_symbol_pointers -L_OPENSSL_ia32cap_P$non_lazy_ptr: -.indirect_symbol _OPENSSL_ia32cap_P -.long 0 -#endif diff --git a/contrib/boringssl-cmake/mac-x86/crypto/fipsmodule/aesni-x86.S b/contrib/boringssl-cmake/mac-x86/crypto/fipsmodule/aesni-x86.S index 17eeaeac5ab..db7efffdf8f 100644 --- a/contrib/boringssl-cmake/mac-x86/crypto/fipsmodule/aesni-x86.S +++ b/contrib/boringssl-cmake/mac-x86/crypto/fipsmodule/aesni-x86.S @@ -6,14 +6,14 @@ #include #endif .text -#ifndef NDEBUG +#ifdef BORINGSSL_DISPATCH_TEST #endif .globl _aes_hw_encrypt .private_extern _aes_hw_encrypt .align 4 _aes_hw_encrypt: L_aes_hw_encrypt_begin: -#ifndef NDEBUG +#ifdef BORINGSSL_DISPATCH_TEST pushl %ebx pushl %edx call L000pic @@ -818,7 +818,7 @@ L_aes_hw_ctr32_encrypt_blocks_begin: pushl %ebx pushl %esi pushl %edi -#ifndef NDEBUG +#ifdef BORINGSSL_DISPATCH_TEST pushl %ebx pushl %edx call L038pic @@ -2403,7 +2403,7 @@ L097bad_keybits: .align 4 _aes_hw_set_encrypt_key: L_aes_hw_set_encrypt_key_begin: -#ifndef NDEBUG +#ifdef BORINGSSL_DISPATCH_TEST pushl %ebx pushl %edx call L116pic diff --git a/contrib/boringssl-cmake/mac-x86/crypto/fipsmodule/bn-586.S b/contrib/boringssl-cmake/mac-x86/crypto/fipsmodule/bn-586.S index 7d0462b51f5..c06945161f9 100644 --- a/contrib/boringssl-cmake/mac-x86/crypto/fipsmodule/bn-586.S +++ b/contrib/boringssl-cmake/mac-x86/crypto/fipsmodule/bn-586.S @@ -981,551 +981,6 @@ L028aw_end: popl %ebx popl %ebp ret -.globl _bn_sub_part_words -.private_extern _bn_sub_part_words -.align 4 -_bn_sub_part_words: -L_bn_sub_part_words_begin: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - - movl 20(%esp),%ebx - movl 24(%esp),%esi - movl 28(%esp),%edi - movl 32(%esp),%ebp - xorl %eax,%eax - andl $4294967288,%ebp - jz L029aw_finish -L030aw_loop: - # Round 0 - movl (%esi),%ecx - movl (%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,(%ebx) - # Round 1 - movl 4(%esi),%ecx - movl 4(%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,4(%ebx) - # Round 2 - movl 8(%esi),%ecx - movl 8(%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,8(%ebx) - # Round 3 - movl 12(%esi),%ecx - movl 12(%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,12(%ebx) - # Round 4 - movl 16(%esi),%ecx - movl 16(%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,16(%ebx) - # Round 5 - movl 20(%esi),%ecx - movl 20(%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,20(%ebx) - # Round 6 - movl 24(%esi),%ecx - movl 24(%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,24(%ebx) - # Round 7 - movl 28(%esi),%ecx - movl 28(%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,28(%ebx) - - addl $32,%esi - addl $32,%edi - addl $32,%ebx - subl $8,%ebp - jnz L030aw_loop -L029aw_finish: - movl 32(%esp),%ebp - andl $7,%ebp - jz L031aw_end - # Tail Round 0 - movl (%esi),%ecx - movl (%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,(%ebx) - addl $4,%esi - addl $4,%edi - addl $4,%ebx - decl %ebp - jz L031aw_end - # Tail Round 1 - movl (%esi),%ecx - movl (%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,(%ebx) - addl $4,%esi - addl $4,%edi - addl $4,%ebx - decl %ebp - jz L031aw_end - # Tail Round 2 - movl (%esi),%ecx - movl (%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,(%ebx) - addl $4,%esi - addl $4,%edi - addl $4,%ebx - decl %ebp - jz L031aw_end - # Tail Round 3 - movl (%esi),%ecx - movl (%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,(%ebx) - addl $4,%esi - addl $4,%edi - addl $4,%ebx - decl %ebp - jz L031aw_end - # Tail Round 4 - movl (%esi),%ecx - movl (%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,(%ebx) - addl $4,%esi - addl $4,%edi - addl $4,%ebx - decl %ebp - jz L031aw_end - # Tail Round 5 - movl (%esi),%ecx - movl (%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,(%ebx) - addl $4,%esi - addl $4,%edi - addl $4,%ebx - decl %ebp - jz L031aw_end - # Tail Round 6 - movl (%esi),%ecx - movl (%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,(%ebx) - addl $4,%esi - addl $4,%edi - addl $4,%ebx -L031aw_end: - cmpl $0,36(%esp) - je L032pw_end - movl 36(%esp),%ebp - cmpl $0,%ebp - je L032pw_end - jge L033pw_pos - # pw_neg - movl $0,%edx - subl %ebp,%edx - movl %edx,%ebp - andl $4294967288,%ebp - jz L034pw_neg_finish -L035pw_neg_loop: - # dl<0 Round 0 - movl $0,%ecx - movl (%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,(%ebx) - # dl<0 Round 1 - movl $0,%ecx - movl 4(%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,4(%ebx) - # dl<0 Round 2 - movl $0,%ecx - movl 8(%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,8(%ebx) - # dl<0 Round 3 - movl $0,%ecx - movl 12(%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,12(%ebx) - # dl<0 Round 4 - movl $0,%ecx - movl 16(%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,16(%ebx) - # dl<0 Round 5 - movl $0,%ecx - movl 20(%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,20(%ebx) - # dl<0 Round 6 - movl $0,%ecx - movl 24(%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,24(%ebx) - # dl<0 Round 7 - movl $0,%ecx - movl 28(%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,28(%ebx) - - addl $32,%edi - addl $32,%ebx - subl $8,%ebp - jnz L035pw_neg_loop -L034pw_neg_finish: - movl 36(%esp),%edx - movl $0,%ebp - subl %edx,%ebp - andl $7,%ebp - jz L032pw_end - # dl<0 Tail Round 0 - movl $0,%ecx - movl (%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - decl %ebp - movl %ecx,(%ebx) - jz L032pw_end - # dl<0 Tail Round 1 - movl $0,%ecx - movl 4(%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - decl %ebp - movl %ecx,4(%ebx) - jz L032pw_end - # dl<0 Tail Round 2 - movl $0,%ecx - movl 8(%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - decl %ebp - movl %ecx,8(%ebx) - jz L032pw_end - # dl<0 Tail Round 3 - movl $0,%ecx - movl 12(%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - decl %ebp - movl %ecx,12(%ebx) - jz L032pw_end - # dl<0 Tail Round 4 - movl $0,%ecx - movl 16(%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - decl %ebp - movl %ecx,16(%ebx) - jz L032pw_end - # dl<0 Tail Round 5 - movl $0,%ecx - movl 20(%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - decl %ebp - movl %ecx,20(%ebx) - jz L032pw_end - # dl<0 Tail Round 6 - movl $0,%ecx - movl 24(%edi),%edx - subl %eax,%ecx - movl $0,%eax - adcl %eax,%eax - subl %edx,%ecx - adcl $0,%eax - movl %ecx,24(%ebx) - jmp L032pw_end -L033pw_pos: - andl $4294967288,%ebp - jz L036pw_pos_finish -L037pw_pos_loop: - # dl>0 Round 0 - movl (%esi),%ecx - subl %eax,%ecx - movl %ecx,(%ebx) - jnc L038pw_nc0 - # dl>0 Round 1 - movl 4(%esi),%ecx - subl %eax,%ecx - movl %ecx,4(%ebx) - jnc L039pw_nc1 - # dl>0 Round 2 - movl 8(%esi),%ecx - subl %eax,%ecx - movl %ecx,8(%ebx) - jnc L040pw_nc2 - # dl>0 Round 3 - movl 12(%esi),%ecx - subl %eax,%ecx - movl %ecx,12(%ebx) - jnc L041pw_nc3 - # dl>0 Round 4 - movl 16(%esi),%ecx - subl %eax,%ecx - movl %ecx,16(%ebx) - jnc L042pw_nc4 - # dl>0 Round 5 - movl 20(%esi),%ecx - subl %eax,%ecx - movl %ecx,20(%ebx) - jnc L043pw_nc5 - # dl>0 Round 6 - movl 24(%esi),%ecx - subl %eax,%ecx - movl %ecx,24(%ebx) - jnc L044pw_nc6 - # dl>0 Round 7 - movl 28(%esi),%ecx - subl %eax,%ecx - movl %ecx,28(%ebx) - jnc L045pw_nc7 - - addl $32,%esi - addl $32,%ebx - subl $8,%ebp - jnz L037pw_pos_loop -L036pw_pos_finish: - movl 36(%esp),%ebp - andl $7,%ebp - jz L032pw_end - # dl>0 Tail Round 0 - movl (%esi),%ecx - subl %eax,%ecx - movl %ecx,(%ebx) - jnc L046pw_tail_nc0 - decl %ebp - jz L032pw_end - # dl>0 Tail Round 1 - movl 4(%esi),%ecx - subl %eax,%ecx - movl %ecx,4(%ebx) - jnc L047pw_tail_nc1 - decl %ebp - jz L032pw_end - # dl>0 Tail Round 2 - movl 8(%esi),%ecx - subl %eax,%ecx - movl %ecx,8(%ebx) - jnc L048pw_tail_nc2 - decl %ebp - jz L032pw_end - # dl>0 Tail Round 3 - movl 12(%esi),%ecx - subl %eax,%ecx - movl %ecx,12(%ebx) - jnc L049pw_tail_nc3 - decl %ebp - jz L032pw_end - # dl>0 Tail Round 4 - movl 16(%esi),%ecx - subl %eax,%ecx - movl %ecx,16(%ebx) - jnc L050pw_tail_nc4 - decl %ebp - jz L032pw_end - # dl>0 Tail Round 5 - movl 20(%esi),%ecx - subl %eax,%ecx - movl %ecx,20(%ebx) - jnc L051pw_tail_nc5 - decl %ebp - jz L032pw_end - # dl>0 Tail Round 6 - movl 24(%esi),%ecx - subl %eax,%ecx - movl %ecx,24(%ebx) - jnc L052pw_tail_nc6 - movl $1,%eax - jmp L032pw_end -L053pw_nc_loop: - movl (%esi),%ecx - movl %ecx,(%ebx) -L038pw_nc0: - movl 4(%esi),%ecx - movl %ecx,4(%ebx) -L039pw_nc1: - movl 8(%esi),%ecx - movl %ecx,8(%ebx) -L040pw_nc2: - movl 12(%esi),%ecx - movl %ecx,12(%ebx) -L041pw_nc3: - movl 16(%esi),%ecx - movl %ecx,16(%ebx) -L042pw_nc4: - movl 20(%esi),%ecx - movl %ecx,20(%ebx) -L043pw_nc5: - movl 24(%esi),%ecx - movl %ecx,24(%ebx) -L044pw_nc6: - movl 28(%esi),%ecx - movl %ecx,28(%ebx) -L045pw_nc7: - - addl $32,%esi - addl $32,%ebx - subl $8,%ebp - jnz L053pw_nc_loop - movl 36(%esp),%ebp - andl $7,%ebp - jz L054pw_nc_end - movl (%esi),%ecx - movl %ecx,(%ebx) -L046pw_tail_nc0: - decl %ebp - jz L054pw_nc_end - movl 4(%esi),%ecx - movl %ecx,4(%ebx) -L047pw_tail_nc1: - decl %ebp - jz L054pw_nc_end - movl 8(%esi),%ecx - movl %ecx,8(%ebx) -L048pw_tail_nc2: - decl %ebp - jz L054pw_nc_end - movl 12(%esi),%ecx - movl %ecx,12(%ebx) -L049pw_tail_nc3: - decl %ebp - jz L054pw_nc_end - movl 16(%esi),%ecx - movl %ecx,16(%ebx) -L050pw_tail_nc4: - decl %ebp - jz L054pw_nc_end - movl 20(%esi),%ecx - movl %ecx,20(%ebx) -L051pw_tail_nc5: - decl %ebp - jz L054pw_nc_end - movl 24(%esi),%ecx - movl %ecx,24(%ebx) -L052pw_tail_nc6: -L054pw_nc_end: - movl $0,%eax -L032pw_end: - popl %edi - popl %esi - popl %ebx - popl %ebp - ret .section __IMPORT,__pointers,non_lazy_symbol_pointers L_OPENSSL_ia32cap_P$non_lazy_ptr: .indirect_symbol _OPENSSL_ia32cap_P diff --git a/contrib/boringssl-cmake/mac-x86/crypto/fipsmodule/ghash-x86.S b/contrib/boringssl-cmake/mac-x86/crypto/fipsmodule/ghash-x86.S index e13bf3e858e..da2fb99df1d 100644 --- a/contrib/boringssl-cmake/mac-x86/crypto/fipsmodule/ghash-x86.S +++ b/contrib/boringssl-cmake/mac-x86/crypto/fipsmodule/ghash-x86.S @@ -6,707 +6,6 @@ #include #endif .text -.globl _gcm_gmult_4bit_mmx -.private_extern _gcm_gmult_4bit_mmx -.align 4 -_gcm_gmult_4bit_mmx: -L_gcm_gmult_4bit_mmx_begin: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - movl 20(%esp),%edi - movl 24(%esp),%esi - call L000pic_point -L000pic_point: - popl %eax - leal Lrem_4bit-L000pic_point(%eax),%eax - movzbl 15(%edi),%ebx - xorl %ecx,%ecx - movl %ebx,%edx - movb %dl,%cl - movl $14,%ebp - shlb $4,%cl - andl $240,%edx - movq 8(%esi,%ecx,1),%mm0 - movq (%esi,%ecx,1),%mm1 - movd %mm0,%ebx - jmp L001mmx_loop -.align 4,0x90 -L001mmx_loop: - psrlq $4,%mm0 - andl $15,%ebx - movq %mm1,%mm2 - psrlq $4,%mm1 - pxor 8(%esi,%edx,1),%mm0 - movb (%edi,%ebp,1),%cl - psllq $60,%mm2 - pxor (%eax,%ebx,8),%mm1 - decl %ebp - movd %mm0,%ebx - pxor (%esi,%edx,1),%mm1 - movl %ecx,%edx - pxor %mm2,%mm0 - js L002mmx_break - shlb $4,%cl - andl $15,%ebx - psrlq $4,%mm0 - andl $240,%edx - movq %mm1,%mm2 - psrlq $4,%mm1 - pxor 8(%esi,%ecx,1),%mm0 - psllq $60,%mm2 - pxor (%eax,%ebx,8),%mm1 - movd %mm0,%ebx - pxor (%esi,%ecx,1),%mm1 - pxor %mm2,%mm0 - jmp L001mmx_loop -.align 4,0x90 -L002mmx_break: - shlb $4,%cl - andl $15,%ebx - psrlq $4,%mm0 - andl $240,%edx - movq %mm1,%mm2 - psrlq $4,%mm1 - pxor 8(%esi,%ecx,1),%mm0 - psllq $60,%mm2 - pxor (%eax,%ebx,8),%mm1 - movd %mm0,%ebx - pxor (%esi,%ecx,1),%mm1 - pxor %mm2,%mm0 - psrlq $4,%mm0 - andl $15,%ebx - movq %mm1,%mm2 - psrlq $4,%mm1 - pxor 8(%esi,%edx,1),%mm0 - psllq $60,%mm2 - pxor (%eax,%ebx,8),%mm1 - movd %mm0,%ebx - pxor (%esi,%edx,1),%mm1 - pxor %mm2,%mm0 - psrlq $32,%mm0 - movd %mm1,%edx - psrlq $32,%mm1 - movd %mm0,%ecx - movd %mm1,%ebp - bswap %ebx - bswap %edx - bswap %ecx - bswap %ebp - emms - movl %ebx,12(%edi) - movl %edx,4(%edi) - movl %ecx,8(%edi) - movl %ebp,(%edi) - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.globl _gcm_ghash_4bit_mmx -.private_extern _gcm_ghash_4bit_mmx -.align 4 -_gcm_ghash_4bit_mmx: -L_gcm_ghash_4bit_mmx_begin: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - movl 20(%esp),%eax - movl 24(%esp),%ebx - movl 28(%esp),%ecx - movl 32(%esp),%edx - movl %esp,%ebp - call L003pic_point -L003pic_point: - popl %esi - leal Lrem_8bit-L003pic_point(%esi),%esi - subl $544,%esp - andl $-64,%esp - subl $16,%esp - addl %ecx,%edx - movl %eax,544(%esp) - movl %edx,552(%esp) - movl %ebp,556(%esp) - addl $128,%ebx - leal 144(%esp),%edi - leal 400(%esp),%ebp - movl -120(%ebx),%edx - movq -120(%ebx),%mm0 - movq -128(%ebx),%mm3 - shll $4,%edx - movb %dl,(%esp) - movl -104(%ebx),%edx - movq -104(%ebx),%mm2 - movq -112(%ebx),%mm5 - movq %mm0,-128(%edi) - psrlq $4,%mm0 - movq %mm3,(%edi) - movq %mm3,%mm7 - psrlq $4,%mm3 - shll $4,%edx - movb %dl,1(%esp) - movl -88(%ebx),%edx - movq -88(%ebx),%mm1 - psllq $60,%mm7 - movq -96(%ebx),%mm4 - por %mm7,%mm0 - movq %mm2,-120(%edi) - psrlq $4,%mm2 - movq %mm5,8(%edi) - movq %mm5,%mm6 - movq %mm0,-128(%ebp) - psrlq $4,%mm5 - movq %mm3,(%ebp) - shll $4,%edx - movb %dl,2(%esp) - movl -72(%ebx),%edx - movq -72(%ebx),%mm0 - psllq $60,%mm6 - movq -80(%ebx),%mm3 - por %mm6,%mm2 - movq %mm1,-112(%edi) - psrlq $4,%mm1 - movq %mm4,16(%edi) - movq %mm4,%mm7 - movq %mm2,-120(%ebp) - psrlq $4,%mm4 - movq %mm5,8(%ebp) - shll $4,%edx - movb %dl,3(%esp) - movl -56(%ebx),%edx - movq -56(%ebx),%mm2 - psllq $60,%mm7 - movq -64(%ebx),%mm5 - por %mm7,%mm1 - movq %mm0,-104(%edi) - psrlq $4,%mm0 - movq %mm3,24(%edi) - movq %mm3,%mm6 - movq %mm1,-112(%ebp) - psrlq $4,%mm3 - movq %mm4,16(%ebp) - shll $4,%edx - movb %dl,4(%esp) - movl -40(%ebx),%edx - movq -40(%ebx),%mm1 - psllq $60,%mm6 - movq -48(%ebx),%mm4 - por %mm6,%mm0 - movq %mm2,-96(%edi) - psrlq $4,%mm2 - movq %mm5,32(%edi) - movq %mm5,%mm7 - movq %mm0,-104(%ebp) - psrlq $4,%mm5 - movq %mm3,24(%ebp) - shll $4,%edx - movb %dl,5(%esp) - movl -24(%ebx),%edx - movq -24(%ebx),%mm0 - psllq $60,%mm7 - movq -32(%ebx),%mm3 - por %mm7,%mm2 - movq %mm1,-88(%edi) - psrlq $4,%mm1 - movq %mm4,40(%edi) - movq %mm4,%mm6 - movq %mm2,-96(%ebp) - psrlq $4,%mm4 - movq %mm5,32(%ebp) - shll $4,%edx - movb %dl,6(%esp) - movl -8(%ebx),%edx - movq -8(%ebx),%mm2 - psllq $60,%mm6 - movq -16(%ebx),%mm5 - por %mm6,%mm1 - movq %mm0,-80(%edi) - psrlq $4,%mm0 - movq %mm3,48(%edi) - movq %mm3,%mm7 - movq %mm1,-88(%ebp) - psrlq $4,%mm3 - movq %mm4,40(%ebp) - shll $4,%edx - movb %dl,7(%esp) - movl 8(%ebx),%edx - movq 8(%ebx),%mm1 - psllq $60,%mm7 - movq (%ebx),%mm4 - por %mm7,%mm0 - movq %mm2,-72(%edi) - psrlq $4,%mm2 - movq %mm5,56(%edi) - movq %mm5,%mm6 - movq %mm0,-80(%ebp) - psrlq $4,%mm5 - movq %mm3,48(%ebp) - shll $4,%edx - movb %dl,8(%esp) - movl 24(%ebx),%edx - movq 24(%ebx),%mm0 - psllq $60,%mm6 - movq 16(%ebx),%mm3 - por %mm6,%mm2 - movq %mm1,-64(%edi) - psrlq $4,%mm1 - movq %mm4,64(%edi) - movq %mm4,%mm7 - movq %mm2,-72(%ebp) - psrlq $4,%mm4 - movq %mm5,56(%ebp) - shll $4,%edx - movb %dl,9(%esp) - movl 40(%ebx),%edx - movq 40(%ebx),%mm2 - psllq $60,%mm7 - movq 32(%ebx),%mm5 - por %mm7,%mm1 - movq %mm0,-56(%edi) - psrlq $4,%mm0 - movq %mm3,72(%edi) - movq %mm3,%mm6 - movq %mm1,-64(%ebp) - psrlq $4,%mm3 - movq %mm4,64(%ebp) - shll $4,%edx - movb %dl,10(%esp) - movl 56(%ebx),%edx - movq 56(%ebx),%mm1 - psllq $60,%mm6 - movq 48(%ebx),%mm4 - por %mm6,%mm0 - movq %mm2,-48(%edi) - psrlq $4,%mm2 - movq %mm5,80(%edi) - movq %mm5,%mm7 - movq %mm0,-56(%ebp) - psrlq $4,%mm5 - movq %mm3,72(%ebp) - shll $4,%edx - movb %dl,11(%esp) - movl 72(%ebx),%edx - movq 72(%ebx),%mm0 - psllq $60,%mm7 - movq 64(%ebx),%mm3 - por %mm7,%mm2 - movq %mm1,-40(%edi) - psrlq $4,%mm1 - movq %mm4,88(%edi) - movq %mm4,%mm6 - movq %mm2,-48(%ebp) - psrlq $4,%mm4 - movq %mm5,80(%ebp) - shll $4,%edx - movb %dl,12(%esp) - movl 88(%ebx),%edx - movq 88(%ebx),%mm2 - psllq $60,%mm6 - movq 80(%ebx),%mm5 - por %mm6,%mm1 - movq %mm0,-32(%edi) - psrlq $4,%mm0 - movq %mm3,96(%edi) - movq %mm3,%mm7 - movq %mm1,-40(%ebp) - psrlq $4,%mm3 - movq %mm4,88(%ebp) - shll $4,%edx - movb %dl,13(%esp) - movl 104(%ebx),%edx - movq 104(%ebx),%mm1 - psllq $60,%mm7 - movq 96(%ebx),%mm4 - por %mm7,%mm0 - movq %mm2,-24(%edi) - psrlq $4,%mm2 - movq %mm5,104(%edi) - movq %mm5,%mm6 - movq %mm0,-32(%ebp) - psrlq $4,%mm5 - movq %mm3,96(%ebp) - shll $4,%edx - movb %dl,14(%esp) - movl 120(%ebx),%edx - movq 120(%ebx),%mm0 - psllq $60,%mm6 - movq 112(%ebx),%mm3 - por %mm6,%mm2 - movq %mm1,-16(%edi) - psrlq $4,%mm1 - movq %mm4,112(%edi) - movq %mm4,%mm7 - movq %mm2,-24(%ebp) - psrlq $4,%mm4 - movq %mm5,104(%ebp) - shll $4,%edx - movb %dl,15(%esp) - psllq $60,%mm7 - por %mm7,%mm1 - movq %mm0,-8(%edi) - psrlq $4,%mm0 - movq %mm3,120(%edi) - movq %mm3,%mm6 - movq %mm1,-16(%ebp) - psrlq $4,%mm3 - movq %mm4,112(%ebp) - psllq $60,%mm6 - por %mm6,%mm0 - movq %mm0,-8(%ebp) - movq %mm3,120(%ebp) - movq (%eax),%mm6 - movl 8(%eax),%ebx - movl 12(%eax),%edx -.align 4,0x90 -L004outer: - xorl 12(%ecx),%edx - xorl 8(%ecx),%ebx - pxor (%ecx),%mm6 - leal 16(%ecx),%ecx - movl %ebx,536(%esp) - movq %mm6,528(%esp) - movl %ecx,548(%esp) - xorl %eax,%eax - roll $8,%edx - movb %dl,%al - movl %eax,%ebp - andb $15,%al - shrl $4,%ebp - pxor %mm0,%mm0 - roll $8,%edx - pxor %mm1,%mm1 - pxor %mm2,%mm2 - movq 16(%esp,%eax,8),%mm7 - movq 144(%esp,%eax,8),%mm6 - movb %dl,%al - movd %mm7,%ebx - psrlq $8,%mm7 - movq %mm6,%mm3 - movl %eax,%edi - psrlq $8,%mm6 - pxor 272(%esp,%ebp,8),%mm7 - andb $15,%al - psllq $56,%mm3 - shrl $4,%edi - pxor 16(%esp,%eax,8),%mm7 - roll $8,%edx - pxor 144(%esp,%eax,8),%mm6 - pxor %mm3,%mm7 - pxor 400(%esp,%ebp,8),%mm6 - xorb (%esp,%ebp,1),%bl - movb %dl,%al - movd %mm7,%ecx - movzbl %bl,%ebx - psrlq $8,%mm7 - movq %mm6,%mm3 - movl %eax,%ebp - psrlq $8,%mm6 - pxor 272(%esp,%edi,8),%mm7 - andb $15,%al - psllq $56,%mm3 - shrl $4,%ebp - pinsrw $2,(%esi,%ebx,2),%mm2 - pxor 16(%esp,%eax,8),%mm7 - roll $8,%edx - pxor 144(%esp,%eax,8),%mm6 - pxor %mm3,%mm7 - pxor 400(%esp,%edi,8),%mm6 - xorb (%esp,%edi,1),%cl - movb %dl,%al - movl 536(%esp),%edx - movd %mm7,%ebx - movzbl %cl,%ecx - psrlq $8,%mm7 - movq %mm6,%mm3 - movl %eax,%edi - psrlq $8,%mm6 - pxor 272(%esp,%ebp,8),%mm7 - andb $15,%al - psllq $56,%mm3 - pxor %mm2,%mm6 - shrl $4,%edi - pinsrw $2,(%esi,%ecx,2),%mm1 - pxor 16(%esp,%eax,8),%mm7 - roll $8,%edx - pxor 144(%esp,%eax,8),%mm6 - pxor %mm3,%mm7 - pxor 400(%esp,%ebp,8),%mm6 - xorb (%esp,%ebp,1),%bl - movb %dl,%al - movd %mm7,%ecx - movzbl %bl,%ebx - psrlq $8,%mm7 - movq %mm6,%mm3 - movl %eax,%ebp - psrlq $8,%mm6 - pxor 272(%esp,%edi,8),%mm7 - andb $15,%al - psllq $56,%mm3 - pxor %mm1,%mm6 - shrl $4,%ebp - pinsrw $2,(%esi,%ebx,2),%mm0 - pxor 16(%esp,%eax,8),%mm7 - roll $8,%edx - pxor 144(%esp,%eax,8),%mm6 - pxor %mm3,%mm7 - pxor 400(%esp,%edi,8),%mm6 - xorb (%esp,%edi,1),%cl - movb %dl,%al - movd %mm7,%ebx - movzbl %cl,%ecx - psrlq $8,%mm7 - movq %mm6,%mm3 - movl %eax,%edi - psrlq $8,%mm6 - pxor 272(%esp,%ebp,8),%mm7 - andb $15,%al - psllq $56,%mm3 - pxor %mm0,%mm6 - shrl $4,%edi - pinsrw $2,(%esi,%ecx,2),%mm2 - pxor 16(%esp,%eax,8),%mm7 - roll $8,%edx - pxor 144(%esp,%eax,8),%mm6 - pxor %mm3,%mm7 - pxor 400(%esp,%ebp,8),%mm6 - xorb (%esp,%ebp,1),%bl - movb %dl,%al - movd %mm7,%ecx - movzbl %bl,%ebx - psrlq $8,%mm7 - movq %mm6,%mm3 - movl %eax,%ebp - psrlq $8,%mm6 - pxor 272(%esp,%edi,8),%mm7 - andb $15,%al - psllq $56,%mm3 - pxor %mm2,%mm6 - shrl $4,%ebp - pinsrw $2,(%esi,%ebx,2),%mm1 - pxor 16(%esp,%eax,8),%mm7 - roll $8,%edx - pxor 144(%esp,%eax,8),%mm6 - pxor %mm3,%mm7 - pxor 400(%esp,%edi,8),%mm6 - xorb (%esp,%edi,1),%cl - movb %dl,%al - movl 532(%esp),%edx - movd %mm7,%ebx - movzbl %cl,%ecx - psrlq $8,%mm7 - movq %mm6,%mm3 - movl %eax,%edi - psrlq $8,%mm6 - pxor 272(%esp,%ebp,8),%mm7 - andb $15,%al - psllq $56,%mm3 - pxor %mm1,%mm6 - shrl $4,%edi - pinsrw $2,(%esi,%ecx,2),%mm0 - pxor 16(%esp,%eax,8),%mm7 - roll $8,%edx - pxor 144(%esp,%eax,8),%mm6 - pxor %mm3,%mm7 - pxor 400(%esp,%ebp,8),%mm6 - xorb (%esp,%ebp,1),%bl - movb %dl,%al - movd %mm7,%ecx - movzbl %bl,%ebx - psrlq $8,%mm7 - movq %mm6,%mm3 - movl %eax,%ebp - psrlq $8,%mm6 - pxor 272(%esp,%edi,8),%mm7 - andb $15,%al - psllq $56,%mm3 - pxor %mm0,%mm6 - shrl $4,%ebp - pinsrw $2,(%esi,%ebx,2),%mm2 - pxor 16(%esp,%eax,8),%mm7 - roll $8,%edx - pxor 144(%esp,%eax,8),%mm6 - pxor %mm3,%mm7 - pxor 400(%esp,%edi,8),%mm6 - xorb (%esp,%edi,1),%cl - movb %dl,%al - movd %mm7,%ebx - movzbl %cl,%ecx - psrlq $8,%mm7 - movq %mm6,%mm3 - movl %eax,%edi - psrlq $8,%mm6 - pxor 272(%esp,%ebp,8),%mm7 - andb $15,%al - psllq $56,%mm3 - pxor %mm2,%mm6 - shrl $4,%edi - pinsrw $2,(%esi,%ecx,2),%mm1 - pxor 16(%esp,%eax,8),%mm7 - roll $8,%edx - pxor 144(%esp,%eax,8),%mm6 - pxor %mm3,%mm7 - pxor 400(%esp,%ebp,8),%mm6 - xorb (%esp,%ebp,1),%bl - movb %dl,%al - movd %mm7,%ecx - movzbl %bl,%ebx - psrlq $8,%mm7 - movq %mm6,%mm3 - movl %eax,%ebp - psrlq $8,%mm6 - pxor 272(%esp,%edi,8),%mm7 - andb $15,%al - psllq $56,%mm3 - pxor %mm1,%mm6 - shrl $4,%ebp - pinsrw $2,(%esi,%ebx,2),%mm0 - pxor 16(%esp,%eax,8),%mm7 - roll $8,%edx - pxor 144(%esp,%eax,8),%mm6 - pxor %mm3,%mm7 - pxor 400(%esp,%edi,8),%mm6 - xorb (%esp,%edi,1),%cl - movb %dl,%al - movl 528(%esp),%edx - movd %mm7,%ebx - movzbl %cl,%ecx - psrlq $8,%mm7 - movq %mm6,%mm3 - movl %eax,%edi - psrlq $8,%mm6 - pxor 272(%esp,%ebp,8),%mm7 - andb $15,%al - psllq $56,%mm3 - pxor %mm0,%mm6 - shrl $4,%edi - pinsrw $2,(%esi,%ecx,2),%mm2 - pxor 16(%esp,%eax,8),%mm7 - roll $8,%edx - pxor 144(%esp,%eax,8),%mm6 - pxor %mm3,%mm7 - pxor 400(%esp,%ebp,8),%mm6 - xorb (%esp,%ebp,1),%bl - movb %dl,%al - movd %mm7,%ecx - movzbl %bl,%ebx - psrlq $8,%mm7 - movq %mm6,%mm3 - movl %eax,%ebp - psrlq $8,%mm6 - pxor 272(%esp,%edi,8),%mm7 - andb $15,%al - psllq $56,%mm3 - pxor %mm2,%mm6 - shrl $4,%ebp - pinsrw $2,(%esi,%ebx,2),%mm1 - pxor 16(%esp,%eax,8),%mm7 - roll $8,%edx - pxor 144(%esp,%eax,8),%mm6 - pxor %mm3,%mm7 - pxor 400(%esp,%edi,8),%mm6 - xorb (%esp,%edi,1),%cl - movb %dl,%al - movd %mm7,%ebx - movzbl %cl,%ecx - psrlq $8,%mm7 - movq %mm6,%mm3 - movl %eax,%edi - psrlq $8,%mm6 - pxor 272(%esp,%ebp,8),%mm7 - andb $15,%al - psllq $56,%mm3 - pxor %mm1,%mm6 - shrl $4,%edi - pinsrw $2,(%esi,%ecx,2),%mm0 - pxor 16(%esp,%eax,8),%mm7 - roll $8,%edx - pxor 144(%esp,%eax,8),%mm6 - pxor %mm3,%mm7 - pxor 400(%esp,%ebp,8),%mm6 - xorb (%esp,%ebp,1),%bl - movb %dl,%al - movd %mm7,%ecx - movzbl %bl,%ebx - psrlq $8,%mm7 - movq %mm6,%mm3 - movl %eax,%ebp - psrlq $8,%mm6 - pxor 272(%esp,%edi,8),%mm7 - andb $15,%al - psllq $56,%mm3 - pxor %mm0,%mm6 - shrl $4,%ebp - pinsrw $2,(%esi,%ebx,2),%mm2 - pxor 16(%esp,%eax,8),%mm7 - roll $8,%edx - pxor 144(%esp,%eax,8),%mm6 - pxor %mm3,%mm7 - pxor 400(%esp,%edi,8),%mm6 - xorb (%esp,%edi,1),%cl - movb %dl,%al - movl 524(%esp),%edx - movd %mm7,%ebx - movzbl %cl,%ecx - psrlq $8,%mm7 - movq %mm6,%mm3 - movl %eax,%edi - psrlq $8,%mm6 - pxor 272(%esp,%ebp,8),%mm7 - andb $15,%al - psllq $56,%mm3 - pxor %mm2,%mm6 - shrl $4,%edi - pinsrw $2,(%esi,%ecx,2),%mm1 - pxor 16(%esp,%eax,8),%mm7 - pxor 144(%esp,%eax,8),%mm6 - xorb (%esp,%ebp,1),%bl - pxor %mm3,%mm7 - pxor 400(%esp,%ebp,8),%mm6 - movzbl %bl,%ebx - pxor %mm2,%mm2 - psllq $4,%mm1 - movd %mm7,%ecx - psrlq $4,%mm7 - movq %mm6,%mm3 - psrlq $4,%mm6 - shll $4,%ecx - pxor 16(%esp,%edi,8),%mm7 - psllq $60,%mm3 - movzbl %cl,%ecx - pxor %mm3,%mm7 - pxor 144(%esp,%edi,8),%mm6 - pinsrw $2,(%esi,%ebx,2),%mm0 - pxor %mm1,%mm6 - movd %mm7,%edx - pinsrw $3,(%esi,%ecx,2),%mm2 - psllq $12,%mm0 - pxor %mm0,%mm6 - psrlq $32,%mm7 - pxor %mm2,%mm6 - movl 548(%esp),%ecx - movd %mm7,%ebx - movq %mm6,%mm3 - psllw $8,%mm6 - psrlw $8,%mm3 - por %mm3,%mm6 - bswap %edx - pshufw $27,%mm6,%mm6 - bswap %ebx - cmpl 552(%esp),%ecx - jne L004outer - movl 544(%esp),%eax - movl %edx,12(%eax) - movl %ebx,8(%eax) - movq %mm6,(%eax) - movl 556(%esp),%esp - emms - popl %edi - popl %esi - popl %ebx - popl %ebp - ret .globl _gcm_init_clmul .private_extern _gcm_init_clmul .align 4 @@ -714,10 +13,10 @@ _gcm_init_clmul: L_gcm_init_clmul_begin: movl 4(%esp),%edx movl 8(%esp),%eax - call L005pic -L005pic: + call L000pic +L000pic: popl %ecx - leal Lbswap-L005pic(%ecx),%ecx + leal Lbswap-L000pic(%ecx),%ecx movdqu (%eax),%xmm2 pshufd $78,%xmm2,%xmm2 pshufd $255,%xmm2,%xmm4 @@ -782,10 +81,10 @@ _gcm_gmult_clmul: L_gcm_gmult_clmul_begin: movl 4(%esp),%eax movl 8(%esp),%edx - call L006pic -L006pic: + call L001pic +L001pic: popl %ecx - leal Lbswap-L006pic(%ecx),%ecx + leal Lbswap-L001pic(%ecx),%ecx movdqu (%eax),%xmm0 movdqa (%ecx),%xmm5 movups (%edx),%xmm2 @@ -840,16 +139,16 @@ L_gcm_ghash_clmul_begin: movl 24(%esp),%edx movl 28(%esp),%esi movl 32(%esp),%ebx - call L007pic -L007pic: + call L002pic +L002pic: popl %ecx - leal Lbswap-L007pic(%ecx),%ecx + leal Lbswap-L002pic(%ecx),%ecx movdqu (%eax),%xmm0 movdqa (%ecx),%xmm5 movdqu (%edx),%xmm2 .byte 102,15,56,0,197 subl $16,%ebx - jz L008odd_tail + jz L003odd_tail movdqu (%esi),%xmm3 movdqu 16(%esi),%xmm6 .byte 102,15,56,0,221 @@ -866,10 +165,10 @@ L007pic: movups 16(%edx),%xmm2 nop subl $32,%ebx - jbe L009even_tail - jmp L010mod_loop + jbe L004even_tail + jmp L005mod_loop .align 5,0x90 -L010mod_loop: +L005mod_loop: pshufd $78,%xmm0,%xmm4 movdqa %xmm0,%xmm1 pxor %xmm0,%xmm4 @@ -924,8 +223,8 @@ L010mod_loop: .byte 102,15,58,68,221,0 leal 32(%esi),%esi subl $32,%ebx - ja L010mod_loop -L009even_tail: + ja L005mod_loop +L004even_tail: pshufd $78,%xmm0,%xmm4 movdqa %xmm0,%xmm1 pxor %xmm0,%xmm4 @@ -964,9 +263,9 @@ L009even_tail: psrlq $1,%xmm0 pxor %xmm1,%xmm0 testl %ebx,%ebx - jnz L011done + jnz L006done movups (%edx),%xmm2 -L008odd_tail: +L003odd_tail: movdqu (%esi),%xmm3 .byte 102,15,56,0,221 pxor %xmm3,%xmm0 @@ -1005,7 +304,7 @@ L008odd_tail: pxor %xmm4,%xmm0 psrlq $1,%xmm0 pxor %xmm1,%xmm0 -L011done: +L006done: .byte 102,15,56,0,197 movdqu %xmm0,(%eax) popl %edi @@ -1017,46 +316,6 @@ L011done: Lbswap: .byte 15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0 .byte 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,194 -.align 6,0x90 -Lrem_8bit: -.value 0,450,900,582,1800,1738,1164,1358 -.value 3600,4050,3476,3158,2328,2266,2716,2910 -.value 7200,7650,8100,7782,6952,6890,6316,6510 -.value 4656,5106,4532,4214,5432,5370,5820,6014 -.value 14400,14722,15300,14854,16200,16010,15564,15630 -.value 13904,14226,13780,13334,12632,12442,13020,13086 -.value 9312,9634,10212,9766,9064,8874,8428,8494 -.value 10864,11186,10740,10294,11640,11450,12028,12094 -.value 28800,28994,29444,29382,30600,30282,29708,30158 -.value 32400,32594,32020,31958,31128,30810,31260,31710 -.value 27808,28002,28452,28390,27560,27242,26668,27118 -.value 25264,25458,24884,24822,26040,25722,26172,26622 -.value 18624,18690,19268,19078,20424,19978,19532,19854 -.value 18128,18194,17748,17558,16856,16410,16988,17310 -.value 21728,21794,22372,22182,21480,21034,20588,20910 -.value 23280,23346,22900,22710,24056,23610,24188,24510 -.value 57600,57538,57988,58182,58888,59338,58764,58446 -.value 61200,61138,60564,60758,59416,59866,60316,59998 -.value 64800,64738,65188,65382,64040,64490,63916,63598 -.value 62256,62194,61620,61814,62520,62970,63420,63102 -.value 55616,55426,56004,56070,56904,57226,56780,56334 -.value 55120,54930,54484,54550,53336,53658,54236,53790 -.value 50528,50338,50916,50982,49768,50090,49644,49198 -.value 52080,51890,51444,51510,52344,52666,53244,52798 -.value 37248,36930,37380,37830,38536,38730,38156,38094 -.value 40848,40530,39956,40406,39064,39258,39708,39646 -.value 36256,35938,36388,36838,35496,35690,35116,35054 -.value 33712,33394,32820,33270,33976,34170,34620,34558 -.value 43456,43010,43588,43910,44744,44810,44364,44174 -.value 42960,42514,42068,42390,41176,41242,41820,41630 -.value 46560,46114,46692,47014,45800,45866,45420,45230 -.value 48112,47666,47220,47542,48376,48442,49020,48830 -.align 6,0x90 -Lrem_4bit: -.long 0,0,0,471859200,0,943718400,0,610271232 -.long 0,1887436800,0,1822425088,0,1220542464,0,1423966208 -.long 0,3774873600,0,4246732800,0,3644850176,0,3311403008 -.long 0,2441084928,0,2376073216,0,2847932416,0,3051356160 .byte 71,72,65,83,72,32,102,111,114,32,120,56,54,44,32,67 .byte 82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112 .byte 112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62 diff --git a/contrib/boringssl-cmake/mac-x86/crypto/fipsmodule/vpaes-x86.S b/contrib/boringssl-cmake/mac-x86/crypto/fipsmodule/vpaes-x86.S index 22043e2ac76..6b5a88b304f 100644 --- a/contrib/boringssl-cmake/mac-x86/crypto/fipsmodule/vpaes-x86.S +++ b/contrib/boringssl-cmake/mac-x86/crypto/fipsmodule/vpaes-x86.S @@ -6,7 +6,7 @@ #include #endif .text -#ifndef NDEBUG +#ifdef BORINGSSL_DISPATCH_TEST #endif .align 6,0x90 L_vpaes_consts: @@ -468,7 +468,7 @@ L_vpaes_set_encrypt_key_begin: pushl %ebx pushl %esi pushl %edi -#ifndef NDEBUG +#ifdef BORINGSSL_DISPATCH_TEST pushl %ebx pushl %edx call L016pic @@ -549,7 +549,7 @@ L_vpaes_encrypt_begin: pushl %ebx pushl %esi pushl %edi -#ifndef NDEBUG +#ifdef BORINGSSL_DISPATCH_TEST pushl %ebx pushl %edx call L019pic diff --git a/contrib/boringssl-cmake/mac-x86_64/crypto/fipsmodule/aes-x86_64.S b/contrib/boringssl-cmake/mac-x86_64/crypto/fipsmodule/aes-x86_64.S deleted file mode 100644 index 8875d0abbbd..00000000000 --- a/contrib/boringssl-cmake/mac-x86_64/crypto/fipsmodule/aes-x86_64.S +++ /dev/null @@ -1,2645 +0,0 @@ -# This file is generated from a similarly-named Perl script in the BoringSSL -# source tree. Do not edit by hand. - -#if defined(__has_feature) -#if __has_feature(memory_sanitizer) && !defined(OPENSSL_NO_ASM) -#define OPENSSL_NO_ASM -#endif -#endif - -#if defined(__x86_64__) && !defined(OPENSSL_NO_ASM) -#if defined(BORINGSSL_PREFIX) -#include -#endif -.text - -.p2align 4 -_x86_64_AES_encrypt: - xorl 0(%r15),%eax - xorl 4(%r15),%ebx - xorl 8(%r15),%ecx - xorl 12(%r15),%edx - - movl 240(%r15),%r13d - subl $1,%r13d - jmp L$enc_loop -.p2align 4 -L$enc_loop: - - movzbl %al,%esi - movzbl %bl,%edi - movzbl %cl,%ebp - movl 0(%r14,%rsi,8),%r10d - movl 0(%r14,%rdi,8),%r11d - movl 0(%r14,%rbp,8),%r12d - - movzbl %bh,%esi - movzbl %ch,%edi - movzbl %dl,%ebp - xorl 3(%r14,%rsi,8),%r10d - xorl 3(%r14,%rdi,8),%r11d - movl 0(%r14,%rbp,8),%r8d - - movzbl %dh,%esi - shrl $16,%ecx - movzbl %ah,%ebp - xorl 3(%r14,%rsi,8),%r12d - shrl $16,%edx - xorl 3(%r14,%rbp,8),%r8d - - shrl $16,%ebx - leaq 16(%r15),%r15 - shrl $16,%eax - - movzbl %cl,%esi - movzbl %dl,%edi - movzbl %al,%ebp - xorl 2(%r14,%rsi,8),%r10d - xorl 2(%r14,%rdi,8),%r11d - xorl 2(%r14,%rbp,8),%r12d - - movzbl %dh,%esi - movzbl %ah,%edi - movzbl %bl,%ebp - xorl 1(%r14,%rsi,8),%r10d - xorl 1(%r14,%rdi,8),%r11d - xorl 2(%r14,%rbp,8),%r8d - - movl 12(%r15),%edx - movzbl %bh,%edi - movzbl %ch,%ebp - movl 0(%r15),%eax - xorl 1(%r14,%rdi,8),%r12d - xorl 1(%r14,%rbp,8),%r8d - - movl 4(%r15),%ebx - movl 8(%r15),%ecx - xorl %r10d,%eax - xorl %r11d,%ebx - xorl %r12d,%ecx - xorl %r8d,%edx - subl $1,%r13d - jnz L$enc_loop - movzbl %al,%esi - movzbl %bl,%edi - movzbl %cl,%ebp - movzbl 2(%r14,%rsi,8),%r10d - movzbl 2(%r14,%rdi,8),%r11d - movzbl 2(%r14,%rbp,8),%r12d - - movzbl %dl,%esi - movzbl %bh,%edi - movzbl %ch,%ebp - movzbl 2(%r14,%rsi,8),%r8d - movl 0(%r14,%rdi,8),%edi - movl 0(%r14,%rbp,8),%ebp - - andl $0x0000ff00,%edi - andl $0x0000ff00,%ebp - - xorl %edi,%r10d - xorl %ebp,%r11d - shrl $16,%ecx - - movzbl %dh,%esi - movzbl %ah,%edi - shrl $16,%edx - movl 0(%r14,%rsi,8),%esi - movl 0(%r14,%rdi,8),%edi - - andl $0x0000ff00,%esi - andl $0x0000ff00,%edi - shrl $16,%ebx - xorl %esi,%r12d - xorl %edi,%r8d - shrl $16,%eax - - movzbl %cl,%esi - movzbl %dl,%edi - movzbl %al,%ebp - movl 0(%r14,%rsi,8),%esi - movl 0(%r14,%rdi,8),%edi - movl 0(%r14,%rbp,8),%ebp - - andl $0x00ff0000,%esi - andl $0x00ff0000,%edi - andl $0x00ff0000,%ebp - - xorl %esi,%r10d - xorl %edi,%r11d - xorl %ebp,%r12d - - movzbl %bl,%esi - movzbl %dh,%edi - movzbl %ah,%ebp - movl 0(%r14,%rsi,8),%esi - movl 2(%r14,%rdi,8),%edi - movl 2(%r14,%rbp,8),%ebp - - andl $0x00ff0000,%esi - andl $0xff000000,%edi - andl $0xff000000,%ebp - - xorl %esi,%r8d - xorl %edi,%r10d - xorl %ebp,%r11d - - movzbl %bh,%esi - movzbl %ch,%edi - movl 16+12(%r15),%edx - movl 2(%r14,%rsi,8),%esi - movl 2(%r14,%rdi,8),%edi - movl 16+0(%r15),%eax - - andl $0xff000000,%esi - andl $0xff000000,%edi - - xorl %esi,%r12d - xorl %edi,%r8d - - movl 16+4(%r15),%ebx - movl 16+8(%r15),%ecx - xorl %r10d,%eax - xorl %r11d,%ebx - xorl %r12d,%ecx - xorl %r8d,%edx -.byte 0xf3,0xc3 - - -.p2align 4 -_x86_64_AES_encrypt_compact: - - leaq 128(%r14),%r8 - movl 0-128(%r8),%edi - movl 32-128(%r8),%ebp - movl 64-128(%r8),%r10d - movl 96-128(%r8),%r11d - movl 128-128(%r8),%edi - movl 160-128(%r8),%ebp - movl 192-128(%r8),%r10d - movl 224-128(%r8),%r11d - jmp L$enc_loop_compact -.p2align 4 -L$enc_loop_compact: - xorl 0(%r15),%eax - xorl 4(%r15),%ebx - xorl 8(%r15),%ecx - xorl 12(%r15),%edx - leaq 16(%r15),%r15 - movzbl %al,%r10d - movzbl %bl,%r11d - movzbl %cl,%r12d - movzbl %dl,%r8d - movzbl %bh,%esi - movzbl %ch,%edi - shrl $16,%ecx - movzbl %dh,%ebp - movzbl (%r14,%r10,1),%r10d - movzbl (%r14,%r11,1),%r11d - movzbl (%r14,%r12,1),%r12d - movzbl (%r14,%r8,1),%r8d - - movzbl (%r14,%rsi,1),%r9d - movzbl %ah,%esi - movzbl (%r14,%rdi,1),%r13d - movzbl %cl,%edi - movzbl (%r14,%rbp,1),%ebp - movzbl (%r14,%rsi,1),%esi - - shll $8,%r9d - shrl $16,%edx - shll $8,%r13d - xorl %r9d,%r10d - shrl $16,%eax - movzbl %dl,%r9d - shrl $16,%ebx - xorl %r13d,%r11d - shll $8,%ebp - movzbl %al,%r13d - movzbl (%r14,%rdi,1),%edi - xorl %ebp,%r12d - - shll $8,%esi - movzbl %bl,%ebp - shll $16,%edi - xorl %esi,%r8d - movzbl (%r14,%r9,1),%r9d - movzbl %dh,%esi - movzbl (%r14,%r13,1),%r13d - xorl %edi,%r10d - - shrl $8,%ecx - movzbl %ah,%edi - shll $16,%r9d - shrl $8,%ebx - shll $16,%r13d - xorl %r9d,%r11d - movzbl (%r14,%rbp,1),%ebp - movzbl (%r14,%rsi,1),%esi - movzbl (%r14,%rdi,1),%edi - movzbl (%r14,%rcx,1),%edx - movzbl (%r14,%rbx,1),%ecx - - shll $16,%ebp - xorl %r13d,%r12d - shll $24,%esi - xorl %ebp,%r8d - shll $24,%edi - xorl %esi,%r10d - shll $24,%edx - xorl %edi,%r11d - shll $24,%ecx - movl %r10d,%eax - movl %r11d,%ebx - xorl %r12d,%ecx - xorl %r8d,%edx - cmpq 16(%rsp),%r15 - je L$enc_compact_done - movl $0x80808080,%r10d - movl $0x80808080,%r11d - andl %eax,%r10d - andl %ebx,%r11d - movl %r10d,%esi - movl %r11d,%edi - shrl $7,%r10d - leal (%rax,%rax,1),%r8d - shrl $7,%r11d - leal (%rbx,%rbx,1),%r9d - subl %r10d,%esi - subl %r11d,%edi - andl $0xfefefefe,%r8d - andl $0xfefefefe,%r9d - andl $0x1b1b1b1b,%esi - andl $0x1b1b1b1b,%edi - movl %eax,%r10d - movl %ebx,%r11d - xorl %esi,%r8d - xorl %edi,%r9d - - xorl %r8d,%eax - xorl %r9d,%ebx - movl $0x80808080,%r12d - roll $24,%eax - movl $0x80808080,%ebp - roll $24,%ebx - andl %ecx,%r12d - andl %edx,%ebp - xorl %r8d,%eax - xorl %r9d,%ebx - movl %r12d,%esi - rorl $16,%r10d - movl %ebp,%edi - rorl $16,%r11d - leal (%rcx,%rcx,1),%r8d - shrl $7,%r12d - xorl %r10d,%eax - shrl $7,%ebp - xorl %r11d,%ebx - rorl $8,%r10d - leal (%rdx,%rdx,1),%r9d - rorl $8,%r11d - subl %r12d,%esi - subl %ebp,%edi - xorl %r10d,%eax - xorl %r11d,%ebx - - andl $0xfefefefe,%r8d - andl $0xfefefefe,%r9d - andl $0x1b1b1b1b,%esi - andl $0x1b1b1b1b,%edi - movl %ecx,%r12d - movl %edx,%ebp - xorl %esi,%r8d - xorl %edi,%r9d - - rorl $16,%r12d - xorl %r8d,%ecx - rorl $16,%ebp - xorl %r9d,%edx - roll $24,%ecx - movl 0(%r14),%esi - roll $24,%edx - xorl %r8d,%ecx - movl 64(%r14),%edi - xorl %r9d,%edx - movl 128(%r14),%r8d - xorl %r12d,%ecx - rorl $8,%r12d - xorl %ebp,%edx - rorl $8,%ebp - xorl %r12d,%ecx - movl 192(%r14),%r9d - xorl %ebp,%edx - jmp L$enc_loop_compact -.p2align 4 -L$enc_compact_done: - xorl 0(%r15),%eax - xorl 4(%r15),%ebx - xorl 8(%r15),%ecx - xorl 12(%r15),%edx -.byte 0xf3,0xc3 - - -.p2align 4 -.globl _aes_nohw_encrypt -.private_extern _aes_nohw_encrypt - -.private_extern _aes_nohw_encrypt -_aes_nohw_encrypt: - - movq %rsp,%rax - - pushq %rbx - - pushq %rbp - - pushq %r12 - - pushq %r13 - - pushq %r14 - - pushq %r15 - - - - leaq -63(%rdx),%rcx - andq $-64,%rsp - subq %rsp,%rcx - negq %rcx - andq $0x3c0,%rcx - subq %rcx,%rsp - subq $32,%rsp - - movq %rsi,16(%rsp) - movq %rax,24(%rsp) - -L$enc_prologue: - - movq %rdx,%r15 - movl 240(%r15),%r13d - - movl 0(%rdi),%eax - movl 4(%rdi),%ebx - movl 8(%rdi),%ecx - movl 12(%rdi),%edx - - shll $4,%r13d - leaq (%r15,%r13,1),%rbp - movq %r15,(%rsp) - movq %rbp,8(%rsp) - - - leaq L$AES_Te+2048(%rip),%r14 - leaq 768(%rsp),%rbp - subq %r14,%rbp - andq $0x300,%rbp - leaq (%r14,%rbp,1),%r14 - - call _x86_64_AES_encrypt_compact - - movq 16(%rsp),%r9 - movq 24(%rsp),%rsi - - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - movq -48(%rsi),%r15 - - movq -40(%rsi),%r14 - - movq -32(%rsi),%r13 - - movq -24(%rsi),%r12 - - movq -16(%rsi),%rbp - - movq -8(%rsi),%rbx - - leaq (%rsi),%rsp - -L$enc_epilogue: - .byte 0xf3,0xc3 - - - -.p2align 4 -_x86_64_AES_decrypt: - xorl 0(%r15),%eax - xorl 4(%r15),%ebx - xorl 8(%r15),%ecx - xorl 12(%r15),%edx - - movl 240(%r15),%r13d - subl $1,%r13d - jmp L$dec_loop -.p2align 4 -L$dec_loop: - - movzbl %al,%esi - movzbl %bl,%edi - movzbl %cl,%ebp - movl 0(%r14,%rsi,8),%r10d - movl 0(%r14,%rdi,8),%r11d - movl 0(%r14,%rbp,8),%r12d - - movzbl %dh,%esi - movzbl %ah,%edi - movzbl %dl,%ebp - xorl 3(%r14,%rsi,8),%r10d - xorl 3(%r14,%rdi,8),%r11d - movl 0(%r14,%rbp,8),%r8d - - movzbl %bh,%esi - shrl $16,%eax - movzbl %ch,%ebp - xorl 3(%r14,%rsi,8),%r12d - shrl $16,%edx - xorl 3(%r14,%rbp,8),%r8d - - shrl $16,%ebx - leaq 16(%r15),%r15 - shrl $16,%ecx - - movzbl %cl,%esi - movzbl %dl,%edi - movzbl %al,%ebp - xorl 2(%r14,%rsi,8),%r10d - xorl 2(%r14,%rdi,8),%r11d - xorl 2(%r14,%rbp,8),%r12d - - movzbl %bh,%esi - movzbl %ch,%edi - movzbl %bl,%ebp - xorl 1(%r14,%rsi,8),%r10d - xorl 1(%r14,%rdi,8),%r11d - xorl 2(%r14,%rbp,8),%r8d - - movzbl %dh,%esi - movl 12(%r15),%edx - movzbl %ah,%ebp - xorl 1(%r14,%rsi,8),%r12d - movl 0(%r15),%eax - xorl 1(%r14,%rbp,8),%r8d - - xorl %r10d,%eax - movl 4(%r15),%ebx - movl 8(%r15),%ecx - xorl %r12d,%ecx - xorl %r11d,%ebx - xorl %r8d,%edx - subl $1,%r13d - jnz L$dec_loop - leaq 2048(%r14),%r14 - movzbl %al,%esi - movzbl %bl,%edi - movzbl %cl,%ebp - movzbl (%r14,%rsi,1),%r10d - movzbl (%r14,%rdi,1),%r11d - movzbl (%r14,%rbp,1),%r12d - - movzbl %dl,%esi - movzbl %dh,%edi - movzbl %ah,%ebp - movzbl (%r14,%rsi,1),%r8d - movzbl (%r14,%rdi,1),%edi - movzbl (%r14,%rbp,1),%ebp - - shll $8,%edi - shll $8,%ebp - - xorl %edi,%r10d - xorl %ebp,%r11d - shrl $16,%edx - - movzbl %bh,%esi - movzbl %ch,%edi - shrl $16,%eax - movzbl (%r14,%rsi,1),%esi - movzbl (%r14,%rdi,1),%edi - - shll $8,%esi - shll $8,%edi - shrl $16,%ebx - xorl %esi,%r12d - xorl %edi,%r8d - shrl $16,%ecx - - movzbl %cl,%esi - movzbl %dl,%edi - movzbl %al,%ebp - movzbl (%r14,%rsi,1),%esi - movzbl (%r14,%rdi,1),%edi - movzbl (%r14,%rbp,1),%ebp - - shll $16,%esi - shll $16,%edi - shll $16,%ebp - - xorl %esi,%r10d - xorl %edi,%r11d - xorl %ebp,%r12d - - movzbl %bl,%esi - movzbl %bh,%edi - movzbl %ch,%ebp - movzbl (%r14,%rsi,1),%esi - movzbl (%r14,%rdi,1),%edi - movzbl (%r14,%rbp,1),%ebp - - shll $16,%esi - shll $24,%edi - shll $24,%ebp - - xorl %esi,%r8d - xorl %edi,%r10d - xorl %ebp,%r11d - - movzbl %dh,%esi - movzbl %ah,%edi - movl 16+12(%r15),%edx - movzbl (%r14,%rsi,1),%esi - movzbl (%r14,%rdi,1),%edi - movl 16+0(%r15),%eax - - shll $24,%esi - shll $24,%edi - - xorl %esi,%r12d - xorl %edi,%r8d - - movl 16+4(%r15),%ebx - movl 16+8(%r15),%ecx - leaq -2048(%r14),%r14 - xorl %r10d,%eax - xorl %r11d,%ebx - xorl %r12d,%ecx - xorl %r8d,%edx -.byte 0xf3,0xc3 - - -.p2align 4 -_x86_64_AES_decrypt_compact: - - leaq 128(%r14),%r8 - movl 0-128(%r8),%edi - movl 32-128(%r8),%ebp - movl 64-128(%r8),%r10d - movl 96-128(%r8),%r11d - movl 128-128(%r8),%edi - movl 160-128(%r8),%ebp - movl 192-128(%r8),%r10d - movl 224-128(%r8),%r11d - jmp L$dec_loop_compact - -.p2align 4 -L$dec_loop_compact: - xorl 0(%r15),%eax - xorl 4(%r15),%ebx - xorl 8(%r15),%ecx - xorl 12(%r15),%edx - leaq 16(%r15),%r15 - movzbl %al,%r10d - movzbl %bl,%r11d - movzbl %cl,%r12d - movzbl %dl,%r8d - movzbl %dh,%esi - movzbl %ah,%edi - shrl $16,%edx - movzbl %bh,%ebp - movzbl (%r14,%r10,1),%r10d - movzbl (%r14,%r11,1),%r11d - movzbl (%r14,%r12,1),%r12d - movzbl (%r14,%r8,1),%r8d - - movzbl (%r14,%rsi,1),%r9d - movzbl %ch,%esi - movzbl (%r14,%rdi,1),%r13d - movzbl (%r14,%rbp,1),%ebp - movzbl (%r14,%rsi,1),%esi - - shrl $16,%ecx - shll $8,%r13d - shll $8,%r9d - movzbl %cl,%edi - shrl $16,%eax - xorl %r9d,%r10d - shrl $16,%ebx - movzbl %dl,%r9d - - shll $8,%ebp - xorl %r13d,%r11d - shll $8,%esi - movzbl %al,%r13d - movzbl (%r14,%rdi,1),%edi - xorl %ebp,%r12d - movzbl %bl,%ebp - - shll $16,%edi - xorl %esi,%r8d - movzbl (%r14,%r9,1),%r9d - movzbl %bh,%esi - movzbl (%r14,%rbp,1),%ebp - xorl %edi,%r10d - movzbl (%r14,%r13,1),%r13d - movzbl %ch,%edi - - shll $16,%ebp - shll $16,%r9d - shll $16,%r13d - xorl %ebp,%r8d - movzbl %dh,%ebp - xorl %r9d,%r11d - shrl $8,%eax - xorl %r13d,%r12d - - movzbl (%r14,%rsi,1),%esi - movzbl (%r14,%rdi,1),%ebx - movzbl (%r14,%rbp,1),%ecx - movzbl (%r14,%rax,1),%edx - - movl %r10d,%eax - shll $24,%esi - shll $24,%ebx - shll $24,%ecx - xorl %esi,%eax - shll $24,%edx - xorl %r11d,%ebx - xorl %r12d,%ecx - xorl %r8d,%edx - cmpq 16(%rsp),%r15 - je L$dec_compact_done - - movq 256+0(%r14),%rsi - shlq $32,%rbx - shlq $32,%rdx - movq 256+8(%r14),%rdi - orq %rbx,%rax - orq %rdx,%rcx - movq 256+16(%r14),%rbp - movq %rsi,%r9 - movq %rsi,%r12 - andq %rax,%r9 - andq %rcx,%r12 - movq %r9,%rbx - movq %r12,%rdx - shrq $7,%r9 - leaq (%rax,%rax,1),%r8 - shrq $7,%r12 - leaq (%rcx,%rcx,1),%r11 - subq %r9,%rbx - subq %r12,%rdx - andq %rdi,%r8 - andq %rdi,%r11 - andq %rbp,%rbx - andq %rbp,%rdx - xorq %rbx,%r8 - xorq %rdx,%r11 - movq %rsi,%r10 - movq %rsi,%r13 - - andq %r8,%r10 - andq %r11,%r13 - movq %r10,%rbx - movq %r13,%rdx - shrq $7,%r10 - leaq (%r8,%r8,1),%r9 - shrq $7,%r13 - leaq (%r11,%r11,1),%r12 - subq %r10,%rbx - subq %r13,%rdx - andq %rdi,%r9 - andq %rdi,%r12 - andq %rbp,%rbx - andq %rbp,%rdx - xorq %rbx,%r9 - xorq %rdx,%r12 - movq %rsi,%r10 - movq %rsi,%r13 - - andq %r9,%r10 - andq %r12,%r13 - movq %r10,%rbx - movq %r13,%rdx - shrq $7,%r10 - xorq %rax,%r8 - shrq $7,%r13 - xorq %rcx,%r11 - subq %r10,%rbx - subq %r13,%rdx - leaq (%r9,%r9,1),%r10 - leaq (%r12,%r12,1),%r13 - xorq %rax,%r9 - xorq %rcx,%r12 - andq %rdi,%r10 - andq %rdi,%r13 - andq %rbp,%rbx - andq %rbp,%rdx - xorq %rbx,%r10 - xorq %rdx,%r13 - - xorq %r10,%rax - xorq %r13,%rcx - xorq %r10,%r8 - xorq %r13,%r11 - movq %rax,%rbx - movq %rcx,%rdx - xorq %r10,%r9 - shrq $32,%rbx - xorq %r13,%r12 - shrq $32,%rdx - xorq %r8,%r10 - roll $8,%eax - xorq %r11,%r13 - roll $8,%ecx - xorq %r9,%r10 - roll $8,%ebx - xorq %r12,%r13 - - roll $8,%edx - xorl %r10d,%eax - shrq $32,%r10 - xorl %r13d,%ecx - shrq $32,%r13 - xorl %r10d,%ebx - xorl %r13d,%edx - - movq %r8,%r10 - roll $24,%r8d - movq %r11,%r13 - roll $24,%r11d - shrq $32,%r10 - xorl %r8d,%eax - shrq $32,%r13 - xorl %r11d,%ecx - roll $24,%r10d - movq %r9,%r8 - roll $24,%r13d - movq %r12,%r11 - shrq $32,%r8 - xorl %r10d,%ebx - shrq $32,%r11 - xorl %r13d,%edx - - movq 0(%r14),%rsi - roll $16,%r9d - movq 64(%r14),%rdi - roll $16,%r12d - movq 128(%r14),%rbp - roll $16,%r8d - movq 192(%r14),%r10 - xorl %r9d,%eax - roll $16,%r11d - xorl %r12d,%ecx - movq 256(%r14),%r13 - xorl %r8d,%ebx - xorl %r11d,%edx - jmp L$dec_loop_compact -.p2align 4 -L$dec_compact_done: - xorl 0(%r15),%eax - xorl 4(%r15),%ebx - xorl 8(%r15),%ecx - xorl 12(%r15),%edx -.byte 0xf3,0xc3 - - -.p2align 4 -.globl _aes_nohw_decrypt -.private_extern _aes_nohw_decrypt - -.private_extern _aes_nohw_decrypt -_aes_nohw_decrypt: - - movq %rsp,%rax - - pushq %rbx - - pushq %rbp - - pushq %r12 - - pushq %r13 - - pushq %r14 - - pushq %r15 - - - - leaq -63(%rdx),%rcx - andq $-64,%rsp - subq %rsp,%rcx - negq %rcx - andq $0x3c0,%rcx - subq %rcx,%rsp - subq $32,%rsp - - movq %rsi,16(%rsp) - movq %rax,24(%rsp) - -L$dec_prologue: - - movq %rdx,%r15 - movl 240(%r15),%r13d - - movl 0(%rdi),%eax - movl 4(%rdi),%ebx - movl 8(%rdi),%ecx - movl 12(%rdi),%edx - - shll $4,%r13d - leaq (%r15,%r13,1),%rbp - movq %r15,(%rsp) - movq %rbp,8(%rsp) - - - leaq L$AES_Td+2048(%rip),%r14 - leaq 768(%rsp),%rbp - subq %r14,%rbp - andq $0x300,%rbp - leaq (%r14,%rbp,1),%r14 - shrq $3,%rbp - addq %rbp,%r14 - - call _x86_64_AES_decrypt_compact - - movq 16(%rsp),%r9 - movq 24(%rsp),%rsi - - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - movq -48(%rsi),%r15 - - movq -40(%rsi),%r14 - - movq -32(%rsi),%r13 - - movq -24(%rsi),%r12 - - movq -16(%rsi),%rbp - - movq -8(%rsi),%rbx - - leaq (%rsi),%rsp - -L$dec_epilogue: - .byte 0xf3,0xc3 - - -.p2align 4 -.globl _aes_nohw_set_encrypt_key -.private_extern _aes_nohw_set_encrypt_key - -_aes_nohw_set_encrypt_key: - - pushq %rbx - - pushq %rbp - - pushq %r12 - - pushq %r13 - - pushq %r14 - - pushq %r15 - - subq $8,%rsp - -L$enc_key_prologue: - - call _x86_64_AES_set_encrypt_key - - movq 40(%rsp),%rbp - - movq 48(%rsp),%rbx - - addq $56,%rsp - -L$enc_key_epilogue: - .byte 0xf3,0xc3 - - - - -.p2align 4 -_x86_64_AES_set_encrypt_key: - - movl %esi,%ecx - movq %rdi,%rsi - movq %rdx,%rdi - - testq $-1,%rsi - jz L$badpointer - testq $-1,%rdi - jz L$badpointer - - leaq L$AES_Te(%rip),%rbp - leaq 2048+128(%rbp),%rbp - - - movl 0-128(%rbp),%eax - movl 32-128(%rbp),%ebx - movl 64-128(%rbp),%r8d - movl 96-128(%rbp),%edx - movl 128-128(%rbp),%eax - movl 160-128(%rbp),%ebx - movl 192-128(%rbp),%r8d - movl 224-128(%rbp),%edx - - cmpl $128,%ecx - je L$10rounds - cmpl $192,%ecx - je L$12rounds - cmpl $256,%ecx - je L$14rounds - movq $-2,%rax - jmp L$exit - -L$10rounds: - movq 0(%rsi),%rax - movq 8(%rsi),%rdx - movq %rax,0(%rdi) - movq %rdx,8(%rdi) - - shrq $32,%rdx - xorl %ecx,%ecx - jmp L$10shortcut -.p2align 2 -L$10loop: - movl 0(%rdi),%eax - movl 12(%rdi),%edx -L$10shortcut: - movzbl %dl,%esi - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $24,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shrl $16,%edx - movzbl %dl,%esi - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $8,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shll $16,%ebx - xorl %ebx,%eax - - xorl 1024-128(%rbp,%rcx,4),%eax - movl %eax,16(%rdi) - xorl 4(%rdi),%eax - movl %eax,20(%rdi) - xorl 8(%rdi),%eax - movl %eax,24(%rdi) - xorl 12(%rdi),%eax - movl %eax,28(%rdi) - addl $1,%ecx - leaq 16(%rdi),%rdi - cmpl $10,%ecx - jl L$10loop - - movl $10,80(%rdi) - xorq %rax,%rax - jmp L$exit - -L$12rounds: - movq 0(%rsi),%rax - movq 8(%rsi),%rbx - movq 16(%rsi),%rdx - movq %rax,0(%rdi) - movq %rbx,8(%rdi) - movq %rdx,16(%rdi) - - shrq $32,%rdx - xorl %ecx,%ecx - jmp L$12shortcut -.p2align 2 -L$12loop: - movl 0(%rdi),%eax - movl 20(%rdi),%edx -L$12shortcut: - movzbl %dl,%esi - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $24,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shrl $16,%edx - movzbl %dl,%esi - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $8,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shll $16,%ebx - xorl %ebx,%eax - - xorl 1024-128(%rbp,%rcx,4),%eax - movl %eax,24(%rdi) - xorl 4(%rdi),%eax - movl %eax,28(%rdi) - xorl 8(%rdi),%eax - movl %eax,32(%rdi) - xorl 12(%rdi),%eax - movl %eax,36(%rdi) - - cmpl $7,%ecx - je L$12break - addl $1,%ecx - - xorl 16(%rdi),%eax - movl %eax,40(%rdi) - xorl 20(%rdi),%eax - movl %eax,44(%rdi) - - leaq 24(%rdi),%rdi - jmp L$12loop -L$12break: - movl $12,72(%rdi) - xorq %rax,%rax - jmp L$exit - -L$14rounds: - movq 0(%rsi),%rax - movq 8(%rsi),%rbx - movq 16(%rsi),%rcx - movq 24(%rsi),%rdx - movq %rax,0(%rdi) - movq %rbx,8(%rdi) - movq %rcx,16(%rdi) - movq %rdx,24(%rdi) - - shrq $32,%rdx - xorl %ecx,%ecx - jmp L$14shortcut -.p2align 2 -L$14loop: - movl 0(%rdi),%eax - movl 28(%rdi),%edx -L$14shortcut: - movzbl %dl,%esi - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $24,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shrl $16,%edx - movzbl %dl,%esi - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $8,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shll $16,%ebx - xorl %ebx,%eax - - xorl 1024-128(%rbp,%rcx,4),%eax - movl %eax,32(%rdi) - xorl 4(%rdi),%eax - movl %eax,36(%rdi) - xorl 8(%rdi),%eax - movl %eax,40(%rdi) - xorl 12(%rdi),%eax - movl %eax,44(%rdi) - - cmpl $6,%ecx - je L$14break - addl $1,%ecx - - movl %eax,%edx - movl 16(%rdi),%eax - movzbl %dl,%esi - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shrl $16,%edx - shll $8,%ebx - movzbl %dl,%esi - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $16,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shll $24,%ebx - xorl %ebx,%eax - - movl %eax,48(%rdi) - xorl 20(%rdi),%eax - movl %eax,52(%rdi) - xorl 24(%rdi),%eax - movl %eax,56(%rdi) - xorl 28(%rdi),%eax - movl %eax,60(%rdi) - - leaq 32(%rdi),%rdi - jmp L$14loop -L$14break: - movl $14,48(%rdi) - xorq %rax,%rax - jmp L$exit - -L$badpointer: - movq $-1,%rax -L$exit: -.byte 0xf3,0xc3 - - -.p2align 4 -.globl _aes_nohw_set_decrypt_key -.private_extern _aes_nohw_set_decrypt_key - -_aes_nohw_set_decrypt_key: - - pushq %rbx - - pushq %rbp - - pushq %r12 - - pushq %r13 - - pushq %r14 - - pushq %r15 - - pushq %rdx - -L$dec_key_prologue: - - call _x86_64_AES_set_encrypt_key - movq (%rsp),%r8 - cmpl $0,%eax - jne L$abort - - movl 240(%r8),%r14d - xorq %rdi,%rdi - leaq (%rdi,%r14,4),%rcx - movq %r8,%rsi - leaq (%r8,%rcx,4),%rdi -.p2align 2 -L$invert: - movq 0(%rsi),%rax - movq 8(%rsi),%rbx - movq 0(%rdi),%rcx - movq 8(%rdi),%rdx - movq %rax,0(%rdi) - movq %rbx,8(%rdi) - movq %rcx,0(%rsi) - movq %rdx,8(%rsi) - leaq 16(%rsi),%rsi - leaq -16(%rdi),%rdi - cmpq %rsi,%rdi - jne L$invert - - leaq L$AES_Te+2048+1024(%rip),%rax - - movq 40(%rax),%rsi - movq 48(%rax),%rdi - movq 56(%rax),%rbp - - movq %r8,%r15 - subl $1,%r14d -.p2align 2 -L$permute: - leaq 16(%r15),%r15 - movq 0(%r15),%rax - movq 8(%r15),%rcx - movq %rsi,%r9 - movq %rsi,%r12 - andq %rax,%r9 - andq %rcx,%r12 - movq %r9,%rbx - movq %r12,%rdx - shrq $7,%r9 - leaq (%rax,%rax,1),%r8 - shrq $7,%r12 - leaq (%rcx,%rcx,1),%r11 - subq %r9,%rbx - subq %r12,%rdx - andq %rdi,%r8 - andq %rdi,%r11 - andq %rbp,%rbx - andq %rbp,%rdx - xorq %rbx,%r8 - xorq %rdx,%r11 - movq %rsi,%r10 - movq %rsi,%r13 - - andq %r8,%r10 - andq %r11,%r13 - movq %r10,%rbx - movq %r13,%rdx - shrq $7,%r10 - leaq (%r8,%r8,1),%r9 - shrq $7,%r13 - leaq (%r11,%r11,1),%r12 - subq %r10,%rbx - subq %r13,%rdx - andq %rdi,%r9 - andq %rdi,%r12 - andq %rbp,%rbx - andq %rbp,%rdx - xorq %rbx,%r9 - xorq %rdx,%r12 - movq %rsi,%r10 - movq %rsi,%r13 - - andq %r9,%r10 - andq %r12,%r13 - movq %r10,%rbx - movq %r13,%rdx - shrq $7,%r10 - xorq %rax,%r8 - shrq $7,%r13 - xorq %rcx,%r11 - subq %r10,%rbx - subq %r13,%rdx - leaq (%r9,%r9,1),%r10 - leaq (%r12,%r12,1),%r13 - xorq %rax,%r9 - xorq %rcx,%r12 - andq %rdi,%r10 - andq %rdi,%r13 - andq %rbp,%rbx - andq %rbp,%rdx - xorq %rbx,%r10 - xorq %rdx,%r13 - - xorq %r10,%rax - xorq %r13,%rcx - xorq %r10,%r8 - xorq %r13,%r11 - movq %rax,%rbx - movq %rcx,%rdx - xorq %r10,%r9 - shrq $32,%rbx - xorq %r13,%r12 - shrq $32,%rdx - xorq %r8,%r10 - roll $8,%eax - xorq %r11,%r13 - roll $8,%ecx - xorq %r9,%r10 - roll $8,%ebx - xorq %r12,%r13 - - roll $8,%edx - xorl %r10d,%eax - shrq $32,%r10 - xorl %r13d,%ecx - shrq $32,%r13 - xorl %r10d,%ebx - xorl %r13d,%edx - - movq %r8,%r10 - roll $24,%r8d - movq %r11,%r13 - roll $24,%r11d - shrq $32,%r10 - xorl %r8d,%eax - shrq $32,%r13 - xorl %r11d,%ecx - roll $24,%r10d - movq %r9,%r8 - roll $24,%r13d - movq %r12,%r11 - shrq $32,%r8 - xorl %r10d,%ebx - shrq $32,%r11 - xorl %r13d,%edx - - - roll $16,%r9d - - roll $16,%r12d - - roll $16,%r8d - - xorl %r9d,%eax - roll $16,%r11d - xorl %r12d,%ecx - - xorl %r8d,%ebx - xorl %r11d,%edx - movl %eax,0(%r15) - movl %ebx,4(%r15) - movl %ecx,8(%r15) - movl %edx,12(%r15) - subl $1,%r14d - jnz L$permute - - xorq %rax,%rax -L$abort: - movq 8(%rsp),%r15 - - movq 16(%rsp),%r14 - - movq 24(%rsp),%r13 - - movq 32(%rsp),%r12 - - movq 40(%rsp),%rbp - - movq 48(%rsp),%rbx - - addq $56,%rsp - -L$dec_key_epilogue: - .byte 0xf3,0xc3 - - -.p2align 4 -.globl _aes_nohw_cbc_encrypt -.private_extern _aes_nohw_cbc_encrypt - - -.private_extern _aes_nohw_cbc_encrypt -_aes_nohw_cbc_encrypt: - - cmpq $0,%rdx - je L$cbc_epilogue - pushfq - - - - pushq %rbx - - pushq %rbp - - pushq %r12 - - pushq %r13 - - pushq %r14 - - pushq %r15 - -L$cbc_prologue: - - cld - movl %r9d,%r9d - - leaq L$AES_Te(%rip),%r14 - leaq L$AES_Td(%rip),%r10 - cmpq $0,%r9 - cmoveq %r10,%r14 - - - leaq _OPENSSL_ia32cap_P(%rip),%r10 - movl (%r10),%r10d - cmpq $512,%rdx - jb L$cbc_slow_prologue - testq $15,%rdx - jnz L$cbc_slow_prologue - btl $28,%r10d - jc L$cbc_slow_prologue - - - leaq -88-248(%rsp),%r15 - andq $-64,%r15 - - - movq %r14,%r10 - leaq 2304(%r14),%r11 - movq %r15,%r12 - andq $0xFFF,%r10 - andq $0xFFF,%r11 - andq $0xFFF,%r12 - - cmpq %r11,%r12 - jb L$cbc_te_break_out - subq %r11,%r12 - subq %r12,%r15 - jmp L$cbc_te_ok -L$cbc_te_break_out: - subq %r10,%r12 - andq $0xFFF,%r12 - addq $320,%r12 - subq %r12,%r15 -.p2align 2 -L$cbc_te_ok: - - xchgq %rsp,%r15 - - - movq %r15,16(%rsp) - -L$cbc_fast_body: - movq %rdi,24(%rsp) - movq %rsi,32(%rsp) - movq %rdx,40(%rsp) - movq %rcx,48(%rsp) - movq %r8,56(%rsp) - movl $0,80+240(%rsp) - movq %r8,%rbp - movq %r9,%rbx - movq %rsi,%r9 - movq %rdi,%r8 - movq %rcx,%r15 - - movl 240(%r15),%eax - - movq %r15,%r10 - subq %r14,%r10 - andq $0xfff,%r10 - cmpq $2304,%r10 - jb L$cbc_do_ecopy - cmpq $4096-248,%r10 - jb L$cbc_skip_ecopy -.p2align 2 -L$cbc_do_ecopy: - movq %r15,%rsi - leaq 80(%rsp),%rdi - leaq 80(%rsp),%r15 - movl $30,%ecx -.long 0x90A548F3 - movl %eax,(%rdi) -L$cbc_skip_ecopy: - movq %r15,0(%rsp) - - movl $18,%ecx -.p2align 2 -L$cbc_prefetch_te: - movq 0(%r14),%r10 - movq 32(%r14),%r11 - movq 64(%r14),%r12 - movq 96(%r14),%r13 - leaq 128(%r14),%r14 - subl $1,%ecx - jnz L$cbc_prefetch_te - leaq -2304(%r14),%r14 - - cmpq $0,%rbx - je L$FAST_DECRYPT - - - movl 0(%rbp),%eax - movl 4(%rbp),%ebx - movl 8(%rbp),%ecx - movl 12(%rbp),%edx - -.p2align 2 -L$cbc_fast_enc_loop: - xorl 0(%r8),%eax - xorl 4(%r8),%ebx - xorl 8(%r8),%ecx - xorl 12(%r8),%edx - movq 0(%rsp),%r15 - movq %r8,24(%rsp) - - call _x86_64_AES_encrypt - - movq 24(%rsp),%r8 - movq 40(%rsp),%r10 - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - leaq 16(%r8),%r8 - leaq 16(%r9),%r9 - subq $16,%r10 - testq $-16,%r10 - movq %r10,40(%rsp) - jnz L$cbc_fast_enc_loop - movq 56(%rsp),%rbp - movl %eax,0(%rbp) - movl %ebx,4(%rbp) - movl %ecx,8(%rbp) - movl %edx,12(%rbp) - - jmp L$cbc_fast_cleanup - - -.p2align 4 -L$FAST_DECRYPT: - cmpq %r8,%r9 - je L$cbc_fast_dec_in_place - - movq %rbp,64(%rsp) -.p2align 2 -L$cbc_fast_dec_loop: - movl 0(%r8),%eax - movl 4(%r8),%ebx - movl 8(%r8),%ecx - movl 12(%r8),%edx - movq 0(%rsp),%r15 - movq %r8,24(%rsp) - - call _x86_64_AES_decrypt - - movq 64(%rsp),%rbp - movq 24(%rsp),%r8 - movq 40(%rsp),%r10 - xorl 0(%rbp),%eax - xorl 4(%rbp),%ebx - xorl 8(%rbp),%ecx - xorl 12(%rbp),%edx - movq %r8,%rbp - - subq $16,%r10 - movq %r10,40(%rsp) - movq %rbp,64(%rsp) - - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - leaq 16(%r8),%r8 - leaq 16(%r9),%r9 - jnz L$cbc_fast_dec_loop - movq 56(%rsp),%r12 - movq 0(%rbp),%r10 - movq 8(%rbp),%r11 - movq %r10,0(%r12) - movq %r11,8(%r12) - jmp L$cbc_fast_cleanup - -.p2align 4 -L$cbc_fast_dec_in_place: - movq 0(%rbp),%r10 - movq 8(%rbp),%r11 - movq %r10,0+64(%rsp) - movq %r11,8+64(%rsp) -.p2align 2 -L$cbc_fast_dec_in_place_loop: - movl 0(%r8),%eax - movl 4(%r8),%ebx - movl 8(%r8),%ecx - movl 12(%r8),%edx - movq 0(%rsp),%r15 - movq %r8,24(%rsp) - - call _x86_64_AES_decrypt - - movq 24(%rsp),%r8 - movq 40(%rsp),%r10 - xorl 0+64(%rsp),%eax - xorl 4+64(%rsp),%ebx - xorl 8+64(%rsp),%ecx - xorl 12+64(%rsp),%edx - - movq 0(%r8),%r11 - movq 8(%r8),%r12 - subq $16,%r10 - jz L$cbc_fast_dec_in_place_done - - movq %r11,0+64(%rsp) - movq %r12,8+64(%rsp) - - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - leaq 16(%r8),%r8 - leaq 16(%r9),%r9 - movq %r10,40(%rsp) - jmp L$cbc_fast_dec_in_place_loop -L$cbc_fast_dec_in_place_done: - movq 56(%rsp),%rdi - movq %r11,0(%rdi) - movq %r12,8(%rdi) - - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - -.p2align 2 -L$cbc_fast_cleanup: - cmpl $0,80+240(%rsp) - leaq 80(%rsp),%rdi - je L$cbc_exit - movl $30,%ecx - xorq %rax,%rax -.long 0x90AB48F3 - - jmp L$cbc_exit - - -.p2align 4 -L$cbc_slow_prologue: - - - leaq -88(%rsp),%rbp - andq $-64,%rbp - - leaq -88-63(%rcx),%r10 - subq %rbp,%r10 - negq %r10 - andq $0x3c0,%r10 - subq %r10,%rbp - - xchgq %rsp,%rbp - - - movq %rbp,16(%rsp) - -L$cbc_slow_body: - - - - - movq %r8,56(%rsp) - movq %r8,%rbp - movq %r9,%rbx - movq %rsi,%r9 - movq %rdi,%r8 - movq %rcx,%r15 - movq %rdx,%r10 - - movl 240(%r15),%eax - movq %r15,0(%rsp) - shll $4,%eax - leaq (%r15,%rax,1),%rax - movq %rax,8(%rsp) - - - leaq 2048(%r14),%r14 - leaq 768-8(%rsp),%rax - subq %r14,%rax - andq $0x300,%rax - leaq (%r14,%rax,1),%r14 - - cmpq $0,%rbx - je L$SLOW_DECRYPT - - - testq $-16,%r10 - movl 0(%rbp),%eax - movl 4(%rbp),%ebx - movl 8(%rbp),%ecx - movl 12(%rbp),%edx - jz L$cbc_slow_enc_tail - -.p2align 2 -L$cbc_slow_enc_loop: - xorl 0(%r8),%eax - xorl 4(%r8),%ebx - xorl 8(%r8),%ecx - xorl 12(%r8),%edx - movq 0(%rsp),%r15 - movq %r8,24(%rsp) - movq %r9,32(%rsp) - movq %r10,40(%rsp) - - call _x86_64_AES_encrypt_compact - - movq 24(%rsp),%r8 - movq 32(%rsp),%r9 - movq 40(%rsp),%r10 - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - leaq 16(%r8),%r8 - leaq 16(%r9),%r9 - subq $16,%r10 - testq $-16,%r10 - jnz L$cbc_slow_enc_loop - testq $15,%r10 - jnz L$cbc_slow_enc_tail - movq 56(%rsp),%rbp - movl %eax,0(%rbp) - movl %ebx,4(%rbp) - movl %ecx,8(%rbp) - movl %edx,12(%rbp) - - jmp L$cbc_exit - -.p2align 2 -L$cbc_slow_enc_tail: - movq %rax,%r11 - movq %rcx,%r12 - movq %r10,%rcx - movq %r8,%rsi - movq %r9,%rdi -.long 0x9066A4F3 - movq $16,%rcx - subq %r10,%rcx - xorq %rax,%rax -.long 0x9066AAF3 - movq %r9,%r8 - movq $16,%r10 - movq %r11,%rax - movq %r12,%rcx - jmp L$cbc_slow_enc_loop - -.p2align 4 -L$SLOW_DECRYPT: - shrq $3,%rax - addq %rax,%r14 - - movq 0(%rbp),%r11 - movq 8(%rbp),%r12 - movq %r11,0+64(%rsp) - movq %r12,8+64(%rsp) - -.p2align 2 -L$cbc_slow_dec_loop: - movl 0(%r8),%eax - movl 4(%r8),%ebx - movl 8(%r8),%ecx - movl 12(%r8),%edx - movq 0(%rsp),%r15 - movq %r8,24(%rsp) - movq %r9,32(%rsp) - movq %r10,40(%rsp) - - call _x86_64_AES_decrypt_compact - - movq 24(%rsp),%r8 - movq 32(%rsp),%r9 - movq 40(%rsp),%r10 - xorl 0+64(%rsp),%eax - xorl 4+64(%rsp),%ebx - xorl 8+64(%rsp),%ecx - xorl 12+64(%rsp),%edx - - movq 0(%r8),%r11 - movq 8(%r8),%r12 - subq $16,%r10 - jc L$cbc_slow_dec_partial - jz L$cbc_slow_dec_done - - movq %r11,0+64(%rsp) - movq %r12,8+64(%rsp) - - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - leaq 16(%r8),%r8 - leaq 16(%r9),%r9 - jmp L$cbc_slow_dec_loop -L$cbc_slow_dec_done: - movq 56(%rsp),%rdi - movq %r11,0(%rdi) - movq %r12,8(%rdi) - - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - jmp L$cbc_exit - -.p2align 2 -L$cbc_slow_dec_partial: - movq 56(%rsp),%rdi - movq %r11,0(%rdi) - movq %r12,8(%rdi) - - movl %eax,0+64(%rsp) - movl %ebx,4+64(%rsp) - movl %ecx,8+64(%rsp) - movl %edx,12+64(%rsp) - - movq %r9,%rdi - leaq 64(%rsp),%rsi - leaq 16(%r10),%rcx -.long 0x9066A4F3 - jmp L$cbc_exit - -.p2align 4 -L$cbc_exit: - movq 16(%rsp),%rsi - - movq (%rsi),%r15 - - movq 8(%rsi),%r14 - - movq 16(%rsi),%r13 - - movq 24(%rsi),%r12 - - movq 32(%rsi),%rbp - - movq 40(%rsi),%rbx - - leaq 48(%rsi),%rsp - -L$cbc_popfq: - popfq - - - -L$cbc_epilogue: - .byte 0xf3,0xc3 - - -.p2align 6 -L$AES_Te: -.long 0xa56363c6,0xa56363c6 -.long 0x847c7cf8,0x847c7cf8 -.long 0x997777ee,0x997777ee -.long 0x8d7b7bf6,0x8d7b7bf6 -.long 0x0df2f2ff,0x0df2f2ff -.long 0xbd6b6bd6,0xbd6b6bd6 -.long 0xb16f6fde,0xb16f6fde -.long 0x54c5c591,0x54c5c591 -.long 0x50303060,0x50303060 -.long 0x03010102,0x03010102 -.long 0xa96767ce,0xa96767ce -.long 0x7d2b2b56,0x7d2b2b56 -.long 0x19fefee7,0x19fefee7 -.long 0x62d7d7b5,0x62d7d7b5 -.long 0xe6abab4d,0xe6abab4d -.long 0x9a7676ec,0x9a7676ec -.long 0x45caca8f,0x45caca8f -.long 0x9d82821f,0x9d82821f -.long 0x40c9c989,0x40c9c989 -.long 0x877d7dfa,0x877d7dfa -.long 0x15fafaef,0x15fafaef -.long 0xeb5959b2,0xeb5959b2 -.long 0xc947478e,0xc947478e -.long 0x0bf0f0fb,0x0bf0f0fb -.long 0xecadad41,0xecadad41 -.long 0x67d4d4b3,0x67d4d4b3 -.long 0xfda2a25f,0xfda2a25f -.long 0xeaafaf45,0xeaafaf45 -.long 0xbf9c9c23,0xbf9c9c23 -.long 0xf7a4a453,0xf7a4a453 -.long 0x967272e4,0x967272e4 -.long 0x5bc0c09b,0x5bc0c09b -.long 0xc2b7b775,0xc2b7b775 -.long 0x1cfdfde1,0x1cfdfde1 -.long 0xae93933d,0xae93933d -.long 0x6a26264c,0x6a26264c -.long 0x5a36366c,0x5a36366c -.long 0x413f3f7e,0x413f3f7e -.long 0x02f7f7f5,0x02f7f7f5 -.long 0x4fcccc83,0x4fcccc83 -.long 0x5c343468,0x5c343468 -.long 0xf4a5a551,0xf4a5a551 -.long 0x34e5e5d1,0x34e5e5d1 -.long 0x08f1f1f9,0x08f1f1f9 -.long 0x937171e2,0x937171e2 -.long 0x73d8d8ab,0x73d8d8ab -.long 0x53313162,0x53313162 -.long 0x3f15152a,0x3f15152a -.long 0x0c040408,0x0c040408 -.long 0x52c7c795,0x52c7c795 -.long 0x65232346,0x65232346 -.long 0x5ec3c39d,0x5ec3c39d -.long 0x28181830,0x28181830 -.long 0xa1969637,0xa1969637 -.long 0x0f05050a,0x0f05050a -.long 0xb59a9a2f,0xb59a9a2f -.long 0x0907070e,0x0907070e -.long 0x36121224,0x36121224 -.long 0x9b80801b,0x9b80801b -.long 0x3de2e2df,0x3de2e2df -.long 0x26ebebcd,0x26ebebcd -.long 0x6927274e,0x6927274e -.long 0xcdb2b27f,0xcdb2b27f -.long 0x9f7575ea,0x9f7575ea -.long 0x1b090912,0x1b090912 -.long 0x9e83831d,0x9e83831d -.long 0x742c2c58,0x742c2c58 -.long 0x2e1a1a34,0x2e1a1a34 -.long 0x2d1b1b36,0x2d1b1b36 -.long 0xb26e6edc,0xb26e6edc -.long 0xee5a5ab4,0xee5a5ab4 -.long 0xfba0a05b,0xfba0a05b -.long 0xf65252a4,0xf65252a4 -.long 0x4d3b3b76,0x4d3b3b76 -.long 0x61d6d6b7,0x61d6d6b7 -.long 0xceb3b37d,0xceb3b37d -.long 0x7b292952,0x7b292952 -.long 0x3ee3e3dd,0x3ee3e3dd -.long 0x712f2f5e,0x712f2f5e -.long 0x97848413,0x97848413 -.long 0xf55353a6,0xf55353a6 -.long 0x68d1d1b9,0x68d1d1b9 -.long 0x00000000,0x00000000 -.long 0x2cededc1,0x2cededc1 -.long 0x60202040,0x60202040 -.long 0x1ffcfce3,0x1ffcfce3 -.long 0xc8b1b179,0xc8b1b179 -.long 0xed5b5bb6,0xed5b5bb6 -.long 0xbe6a6ad4,0xbe6a6ad4 -.long 0x46cbcb8d,0x46cbcb8d -.long 0xd9bebe67,0xd9bebe67 -.long 0x4b393972,0x4b393972 -.long 0xde4a4a94,0xde4a4a94 -.long 0xd44c4c98,0xd44c4c98 -.long 0xe85858b0,0xe85858b0 -.long 0x4acfcf85,0x4acfcf85 -.long 0x6bd0d0bb,0x6bd0d0bb -.long 0x2aefefc5,0x2aefefc5 -.long 0xe5aaaa4f,0xe5aaaa4f -.long 0x16fbfbed,0x16fbfbed -.long 0xc5434386,0xc5434386 -.long 0xd74d4d9a,0xd74d4d9a -.long 0x55333366,0x55333366 -.long 0x94858511,0x94858511 -.long 0xcf45458a,0xcf45458a -.long 0x10f9f9e9,0x10f9f9e9 -.long 0x06020204,0x06020204 -.long 0x817f7ffe,0x817f7ffe -.long 0xf05050a0,0xf05050a0 -.long 0x443c3c78,0x443c3c78 -.long 0xba9f9f25,0xba9f9f25 -.long 0xe3a8a84b,0xe3a8a84b -.long 0xf35151a2,0xf35151a2 -.long 0xfea3a35d,0xfea3a35d -.long 0xc0404080,0xc0404080 -.long 0x8a8f8f05,0x8a8f8f05 -.long 0xad92923f,0xad92923f -.long 0xbc9d9d21,0xbc9d9d21 -.long 0x48383870,0x48383870 -.long 0x04f5f5f1,0x04f5f5f1 -.long 0xdfbcbc63,0xdfbcbc63 -.long 0xc1b6b677,0xc1b6b677 -.long 0x75dadaaf,0x75dadaaf -.long 0x63212142,0x63212142 -.long 0x30101020,0x30101020 -.long 0x1affffe5,0x1affffe5 -.long 0x0ef3f3fd,0x0ef3f3fd -.long 0x6dd2d2bf,0x6dd2d2bf -.long 0x4ccdcd81,0x4ccdcd81 -.long 0x140c0c18,0x140c0c18 -.long 0x35131326,0x35131326 -.long 0x2fececc3,0x2fececc3 -.long 0xe15f5fbe,0xe15f5fbe -.long 0xa2979735,0xa2979735 -.long 0xcc444488,0xcc444488 -.long 0x3917172e,0x3917172e -.long 0x57c4c493,0x57c4c493 -.long 0xf2a7a755,0xf2a7a755 -.long 0x827e7efc,0x827e7efc -.long 0x473d3d7a,0x473d3d7a -.long 0xac6464c8,0xac6464c8 -.long 0xe75d5dba,0xe75d5dba -.long 0x2b191932,0x2b191932 -.long 0x957373e6,0x957373e6 -.long 0xa06060c0,0xa06060c0 -.long 0x98818119,0x98818119 -.long 0xd14f4f9e,0xd14f4f9e -.long 0x7fdcdca3,0x7fdcdca3 -.long 0x66222244,0x66222244 -.long 0x7e2a2a54,0x7e2a2a54 -.long 0xab90903b,0xab90903b -.long 0x8388880b,0x8388880b -.long 0xca46468c,0xca46468c -.long 0x29eeeec7,0x29eeeec7 -.long 0xd3b8b86b,0xd3b8b86b -.long 0x3c141428,0x3c141428 -.long 0x79dedea7,0x79dedea7 -.long 0xe25e5ebc,0xe25e5ebc -.long 0x1d0b0b16,0x1d0b0b16 -.long 0x76dbdbad,0x76dbdbad -.long 0x3be0e0db,0x3be0e0db -.long 0x56323264,0x56323264 -.long 0x4e3a3a74,0x4e3a3a74 -.long 0x1e0a0a14,0x1e0a0a14 -.long 0xdb494992,0xdb494992 -.long 0x0a06060c,0x0a06060c -.long 0x6c242448,0x6c242448 -.long 0xe45c5cb8,0xe45c5cb8 -.long 0x5dc2c29f,0x5dc2c29f -.long 0x6ed3d3bd,0x6ed3d3bd -.long 0xefacac43,0xefacac43 -.long 0xa66262c4,0xa66262c4 -.long 0xa8919139,0xa8919139 -.long 0xa4959531,0xa4959531 -.long 0x37e4e4d3,0x37e4e4d3 -.long 0x8b7979f2,0x8b7979f2 -.long 0x32e7e7d5,0x32e7e7d5 -.long 0x43c8c88b,0x43c8c88b -.long 0x5937376e,0x5937376e -.long 0xb76d6dda,0xb76d6dda -.long 0x8c8d8d01,0x8c8d8d01 -.long 0x64d5d5b1,0x64d5d5b1 -.long 0xd24e4e9c,0xd24e4e9c -.long 0xe0a9a949,0xe0a9a949 -.long 0xb46c6cd8,0xb46c6cd8 -.long 0xfa5656ac,0xfa5656ac -.long 0x07f4f4f3,0x07f4f4f3 -.long 0x25eaeacf,0x25eaeacf -.long 0xaf6565ca,0xaf6565ca -.long 0x8e7a7af4,0x8e7a7af4 -.long 0xe9aeae47,0xe9aeae47 -.long 0x18080810,0x18080810 -.long 0xd5baba6f,0xd5baba6f -.long 0x887878f0,0x887878f0 -.long 0x6f25254a,0x6f25254a -.long 0x722e2e5c,0x722e2e5c -.long 0x241c1c38,0x241c1c38 -.long 0xf1a6a657,0xf1a6a657 -.long 0xc7b4b473,0xc7b4b473 -.long 0x51c6c697,0x51c6c697 -.long 0x23e8e8cb,0x23e8e8cb -.long 0x7cdddda1,0x7cdddda1 -.long 0x9c7474e8,0x9c7474e8 -.long 0x211f1f3e,0x211f1f3e -.long 0xdd4b4b96,0xdd4b4b96 -.long 0xdcbdbd61,0xdcbdbd61 -.long 0x868b8b0d,0x868b8b0d -.long 0x858a8a0f,0x858a8a0f -.long 0x907070e0,0x907070e0 -.long 0x423e3e7c,0x423e3e7c -.long 0xc4b5b571,0xc4b5b571 -.long 0xaa6666cc,0xaa6666cc -.long 0xd8484890,0xd8484890 -.long 0x05030306,0x05030306 -.long 0x01f6f6f7,0x01f6f6f7 -.long 0x120e0e1c,0x120e0e1c -.long 0xa36161c2,0xa36161c2 -.long 0x5f35356a,0x5f35356a -.long 0xf95757ae,0xf95757ae -.long 0xd0b9b969,0xd0b9b969 -.long 0x91868617,0x91868617 -.long 0x58c1c199,0x58c1c199 -.long 0x271d1d3a,0x271d1d3a -.long 0xb99e9e27,0xb99e9e27 -.long 0x38e1e1d9,0x38e1e1d9 -.long 0x13f8f8eb,0x13f8f8eb -.long 0xb398982b,0xb398982b -.long 0x33111122,0x33111122 -.long 0xbb6969d2,0xbb6969d2 -.long 0x70d9d9a9,0x70d9d9a9 -.long 0x898e8e07,0x898e8e07 -.long 0xa7949433,0xa7949433 -.long 0xb69b9b2d,0xb69b9b2d -.long 0x221e1e3c,0x221e1e3c -.long 0x92878715,0x92878715 -.long 0x20e9e9c9,0x20e9e9c9 -.long 0x49cece87,0x49cece87 -.long 0xff5555aa,0xff5555aa -.long 0x78282850,0x78282850 -.long 0x7adfdfa5,0x7adfdfa5 -.long 0x8f8c8c03,0x8f8c8c03 -.long 0xf8a1a159,0xf8a1a159 -.long 0x80898909,0x80898909 -.long 0x170d0d1a,0x170d0d1a -.long 0xdabfbf65,0xdabfbf65 -.long 0x31e6e6d7,0x31e6e6d7 -.long 0xc6424284,0xc6424284 -.long 0xb86868d0,0xb86868d0 -.long 0xc3414182,0xc3414182 -.long 0xb0999929,0xb0999929 -.long 0x772d2d5a,0x772d2d5a -.long 0x110f0f1e,0x110f0f1e -.long 0xcbb0b07b,0xcbb0b07b -.long 0xfc5454a8,0xfc5454a8 -.long 0xd6bbbb6d,0xd6bbbb6d -.long 0x3a16162c,0x3a16162c -.byte 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 -.byte 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 -.byte 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 -.byte 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 -.byte 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc -.byte 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 -.byte 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a -.byte 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 -.byte 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 -.byte 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 -.byte 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b -.byte 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf -.byte 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 -.byte 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 -.byte 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 -.byte 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 -.byte 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 -.byte 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 -.byte 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 -.byte 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb -.byte 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c -.byte 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 -.byte 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 -.byte 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 -.byte 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 -.byte 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a -.byte 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e -.byte 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e -.byte 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 -.byte 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf -.byte 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 -.byte 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 -.byte 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 -.byte 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 -.byte 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 -.byte 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 -.byte 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc -.byte 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 -.byte 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a -.byte 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 -.byte 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 -.byte 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 -.byte 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b -.byte 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf -.byte 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 -.byte 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 -.byte 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 -.byte 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 -.byte 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 -.byte 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 -.byte 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 -.byte 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb -.byte 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c -.byte 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 -.byte 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 -.byte 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 -.byte 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 -.byte 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a -.byte 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e -.byte 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e -.byte 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 -.byte 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf -.byte 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 -.byte 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 -.byte 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 -.byte 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 -.byte 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 -.byte 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 -.byte 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc -.byte 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 -.byte 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a -.byte 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 -.byte 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 -.byte 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 -.byte 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b -.byte 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf -.byte 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 -.byte 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 -.byte 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 -.byte 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 -.byte 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 -.byte 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 -.byte 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 -.byte 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb -.byte 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c -.byte 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 -.byte 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 -.byte 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 -.byte 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 -.byte 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a -.byte 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e -.byte 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e -.byte 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 -.byte 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf -.byte 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 -.byte 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 -.byte 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 -.byte 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 -.byte 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 -.byte 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 -.byte 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc -.byte 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 -.byte 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a -.byte 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 -.byte 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 -.byte 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 -.byte 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b -.byte 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf -.byte 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 -.byte 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 -.byte 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 -.byte 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 -.byte 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 -.byte 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 -.byte 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 -.byte 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb -.byte 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c -.byte 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 -.byte 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 -.byte 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 -.byte 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 -.byte 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a -.byte 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e -.byte 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e -.byte 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 -.byte 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf -.byte 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 -.byte 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 -.long 0x00000001, 0x00000002, 0x00000004, 0x00000008 -.long 0x00000010, 0x00000020, 0x00000040, 0x00000080 -.long 0x0000001b, 0x00000036, 0x80808080, 0x80808080 -.long 0xfefefefe, 0xfefefefe, 0x1b1b1b1b, 0x1b1b1b1b -.p2align 6 -L$AES_Td: -.long 0x50a7f451,0x50a7f451 -.long 0x5365417e,0x5365417e -.long 0xc3a4171a,0xc3a4171a -.long 0x965e273a,0x965e273a -.long 0xcb6bab3b,0xcb6bab3b -.long 0xf1459d1f,0xf1459d1f -.long 0xab58faac,0xab58faac -.long 0x9303e34b,0x9303e34b -.long 0x55fa3020,0x55fa3020 -.long 0xf66d76ad,0xf66d76ad -.long 0x9176cc88,0x9176cc88 -.long 0x254c02f5,0x254c02f5 -.long 0xfcd7e54f,0xfcd7e54f -.long 0xd7cb2ac5,0xd7cb2ac5 -.long 0x80443526,0x80443526 -.long 0x8fa362b5,0x8fa362b5 -.long 0x495ab1de,0x495ab1de -.long 0x671bba25,0x671bba25 -.long 0x980eea45,0x980eea45 -.long 0xe1c0fe5d,0xe1c0fe5d -.long 0x02752fc3,0x02752fc3 -.long 0x12f04c81,0x12f04c81 -.long 0xa397468d,0xa397468d -.long 0xc6f9d36b,0xc6f9d36b -.long 0xe75f8f03,0xe75f8f03 -.long 0x959c9215,0x959c9215 -.long 0xeb7a6dbf,0xeb7a6dbf -.long 0xda595295,0xda595295 -.long 0x2d83bed4,0x2d83bed4 -.long 0xd3217458,0xd3217458 -.long 0x2969e049,0x2969e049 -.long 0x44c8c98e,0x44c8c98e -.long 0x6a89c275,0x6a89c275 -.long 0x78798ef4,0x78798ef4 -.long 0x6b3e5899,0x6b3e5899 -.long 0xdd71b927,0xdd71b927 -.long 0xb64fe1be,0xb64fe1be -.long 0x17ad88f0,0x17ad88f0 -.long 0x66ac20c9,0x66ac20c9 -.long 0xb43ace7d,0xb43ace7d -.long 0x184adf63,0x184adf63 -.long 0x82311ae5,0x82311ae5 -.long 0x60335197,0x60335197 -.long 0x457f5362,0x457f5362 -.long 0xe07764b1,0xe07764b1 -.long 0x84ae6bbb,0x84ae6bbb -.long 0x1ca081fe,0x1ca081fe -.long 0x942b08f9,0x942b08f9 -.long 0x58684870,0x58684870 -.long 0x19fd458f,0x19fd458f -.long 0x876cde94,0x876cde94 -.long 0xb7f87b52,0xb7f87b52 -.long 0x23d373ab,0x23d373ab -.long 0xe2024b72,0xe2024b72 -.long 0x578f1fe3,0x578f1fe3 -.long 0x2aab5566,0x2aab5566 -.long 0x0728ebb2,0x0728ebb2 -.long 0x03c2b52f,0x03c2b52f -.long 0x9a7bc586,0x9a7bc586 -.long 0xa50837d3,0xa50837d3 -.long 0xf2872830,0xf2872830 -.long 0xb2a5bf23,0xb2a5bf23 -.long 0xba6a0302,0xba6a0302 -.long 0x5c8216ed,0x5c8216ed -.long 0x2b1ccf8a,0x2b1ccf8a -.long 0x92b479a7,0x92b479a7 -.long 0xf0f207f3,0xf0f207f3 -.long 0xa1e2694e,0xa1e2694e -.long 0xcdf4da65,0xcdf4da65 -.long 0xd5be0506,0xd5be0506 -.long 0x1f6234d1,0x1f6234d1 -.long 0x8afea6c4,0x8afea6c4 -.long 0x9d532e34,0x9d532e34 -.long 0xa055f3a2,0xa055f3a2 -.long 0x32e18a05,0x32e18a05 -.long 0x75ebf6a4,0x75ebf6a4 -.long 0x39ec830b,0x39ec830b -.long 0xaaef6040,0xaaef6040 -.long 0x069f715e,0x069f715e -.long 0x51106ebd,0x51106ebd -.long 0xf98a213e,0xf98a213e -.long 0x3d06dd96,0x3d06dd96 -.long 0xae053edd,0xae053edd -.long 0x46bde64d,0x46bde64d -.long 0xb58d5491,0xb58d5491 -.long 0x055dc471,0x055dc471 -.long 0x6fd40604,0x6fd40604 -.long 0xff155060,0xff155060 -.long 0x24fb9819,0x24fb9819 -.long 0x97e9bdd6,0x97e9bdd6 -.long 0xcc434089,0xcc434089 -.long 0x779ed967,0x779ed967 -.long 0xbd42e8b0,0xbd42e8b0 -.long 0x888b8907,0x888b8907 -.long 0x385b19e7,0x385b19e7 -.long 0xdbeec879,0xdbeec879 -.long 0x470a7ca1,0x470a7ca1 -.long 0xe90f427c,0xe90f427c -.long 0xc91e84f8,0xc91e84f8 -.long 0x00000000,0x00000000 -.long 0x83868009,0x83868009 -.long 0x48ed2b32,0x48ed2b32 -.long 0xac70111e,0xac70111e -.long 0x4e725a6c,0x4e725a6c -.long 0xfbff0efd,0xfbff0efd -.long 0x5638850f,0x5638850f -.long 0x1ed5ae3d,0x1ed5ae3d -.long 0x27392d36,0x27392d36 -.long 0x64d90f0a,0x64d90f0a -.long 0x21a65c68,0x21a65c68 -.long 0xd1545b9b,0xd1545b9b -.long 0x3a2e3624,0x3a2e3624 -.long 0xb1670a0c,0xb1670a0c -.long 0x0fe75793,0x0fe75793 -.long 0xd296eeb4,0xd296eeb4 -.long 0x9e919b1b,0x9e919b1b -.long 0x4fc5c080,0x4fc5c080 -.long 0xa220dc61,0xa220dc61 -.long 0x694b775a,0x694b775a -.long 0x161a121c,0x161a121c -.long 0x0aba93e2,0x0aba93e2 -.long 0xe52aa0c0,0xe52aa0c0 -.long 0x43e0223c,0x43e0223c -.long 0x1d171b12,0x1d171b12 -.long 0x0b0d090e,0x0b0d090e -.long 0xadc78bf2,0xadc78bf2 -.long 0xb9a8b62d,0xb9a8b62d -.long 0xc8a91e14,0xc8a91e14 -.long 0x8519f157,0x8519f157 -.long 0x4c0775af,0x4c0775af -.long 0xbbdd99ee,0xbbdd99ee -.long 0xfd607fa3,0xfd607fa3 -.long 0x9f2601f7,0x9f2601f7 -.long 0xbcf5725c,0xbcf5725c -.long 0xc53b6644,0xc53b6644 -.long 0x347efb5b,0x347efb5b -.long 0x7629438b,0x7629438b -.long 0xdcc623cb,0xdcc623cb -.long 0x68fcedb6,0x68fcedb6 -.long 0x63f1e4b8,0x63f1e4b8 -.long 0xcadc31d7,0xcadc31d7 -.long 0x10856342,0x10856342 -.long 0x40229713,0x40229713 -.long 0x2011c684,0x2011c684 -.long 0x7d244a85,0x7d244a85 -.long 0xf83dbbd2,0xf83dbbd2 -.long 0x1132f9ae,0x1132f9ae -.long 0x6da129c7,0x6da129c7 -.long 0x4b2f9e1d,0x4b2f9e1d -.long 0xf330b2dc,0xf330b2dc -.long 0xec52860d,0xec52860d -.long 0xd0e3c177,0xd0e3c177 -.long 0x6c16b32b,0x6c16b32b -.long 0x99b970a9,0x99b970a9 -.long 0xfa489411,0xfa489411 -.long 0x2264e947,0x2264e947 -.long 0xc48cfca8,0xc48cfca8 -.long 0x1a3ff0a0,0x1a3ff0a0 -.long 0xd82c7d56,0xd82c7d56 -.long 0xef903322,0xef903322 -.long 0xc74e4987,0xc74e4987 -.long 0xc1d138d9,0xc1d138d9 -.long 0xfea2ca8c,0xfea2ca8c -.long 0x360bd498,0x360bd498 -.long 0xcf81f5a6,0xcf81f5a6 -.long 0x28de7aa5,0x28de7aa5 -.long 0x268eb7da,0x268eb7da -.long 0xa4bfad3f,0xa4bfad3f -.long 0xe49d3a2c,0xe49d3a2c -.long 0x0d927850,0x0d927850 -.long 0x9bcc5f6a,0x9bcc5f6a -.long 0x62467e54,0x62467e54 -.long 0xc2138df6,0xc2138df6 -.long 0xe8b8d890,0xe8b8d890 -.long 0x5ef7392e,0x5ef7392e -.long 0xf5afc382,0xf5afc382 -.long 0xbe805d9f,0xbe805d9f -.long 0x7c93d069,0x7c93d069 -.long 0xa92dd56f,0xa92dd56f -.long 0xb31225cf,0xb31225cf -.long 0x3b99acc8,0x3b99acc8 -.long 0xa77d1810,0xa77d1810 -.long 0x6e639ce8,0x6e639ce8 -.long 0x7bbb3bdb,0x7bbb3bdb -.long 0x097826cd,0x097826cd -.long 0xf418596e,0xf418596e -.long 0x01b79aec,0x01b79aec -.long 0xa89a4f83,0xa89a4f83 -.long 0x656e95e6,0x656e95e6 -.long 0x7ee6ffaa,0x7ee6ffaa -.long 0x08cfbc21,0x08cfbc21 -.long 0xe6e815ef,0xe6e815ef -.long 0xd99be7ba,0xd99be7ba -.long 0xce366f4a,0xce366f4a -.long 0xd4099fea,0xd4099fea -.long 0xd67cb029,0xd67cb029 -.long 0xafb2a431,0xafb2a431 -.long 0x31233f2a,0x31233f2a -.long 0x3094a5c6,0x3094a5c6 -.long 0xc066a235,0xc066a235 -.long 0x37bc4e74,0x37bc4e74 -.long 0xa6ca82fc,0xa6ca82fc -.long 0xb0d090e0,0xb0d090e0 -.long 0x15d8a733,0x15d8a733 -.long 0x4a9804f1,0x4a9804f1 -.long 0xf7daec41,0xf7daec41 -.long 0x0e50cd7f,0x0e50cd7f -.long 0x2ff69117,0x2ff69117 -.long 0x8dd64d76,0x8dd64d76 -.long 0x4db0ef43,0x4db0ef43 -.long 0x544daacc,0x544daacc -.long 0xdf0496e4,0xdf0496e4 -.long 0xe3b5d19e,0xe3b5d19e -.long 0x1b886a4c,0x1b886a4c -.long 0xb81f2cc1,0xb81f2cc1 -.long 0x7f516546,0x7f516546 -.long 0x04ea5e9d,0x04ea5e9d -.long 0x5d358c01,0x5d358c01 -.long 0x737487fa,0x737487fa -.long 0x2e410bfb,0x2e410bfb -.long 0x5a1d67b3,0x5a1d67b3 -.long 0x52d2db92,0x52d2db92 -.long 0x335610e9,0x335610e9 -.long 0x1347d66d,0x1347d66d -.long 0x8c61d79a,0x8c61d79a -.long 0x7a0ca137,0x7a0ca137 -.long 0x8e14f859,0x8e14f859 -.long 0x893c13eb,0x893c13eb -.long 0xee27a9ce,0xee27a9ce -.long 0x35c961b7,0x35c961b7 -.long 0xede51ce1,0xede51ce1 -.long 0x3cb1477a,0x3cb1477a -.long 0x59dfd29c,0x59dfd29c -.long 0x3f73f255,0x3f73f255 -.long 0x79ce1418,0x79ce1418 -.long 0xbf37c773,0xbf37c773 -.long 0xeacdf753,0xeacdf753 -.long 0x5baafd5f,0x5baafd5f -.long 0x146f3ddf,0x146f3ddf -.long 0x86db4478,0x86db4478 -.long 0x81f3afca,0x81f3afca -.long 0x3ec468b9,0x3ec468b9 -.long 0x2c342438,0x2c342438 -.long 0x5f40a3c2,0x5f40a3c2 -.long 0x72c31d16,0x72c31d16 -.long 0x0c25e2bc,0x0c25e2bc -.long 0x8b493c28,0x8b493c28 -.long 0x41950dff,0x41950dff -.long 0x7101a839,0x7101a839 -.long 0xdeb30c08,0xdeb30c08 -.long 0x9ce4b4d8,0x9ce4b4d8 -.long 0x90c15664,0x90c15664 -.long 0x6184cb7b,0x6184cb7b -.long 0x70b632d5,0x70b632d5 -.long 0x745c6c48,0x745c6c48 -.long 0x4257b8d0,0x4257b8d0 -.byte 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38 -.byte 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb -.byte 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87 -.byte 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb -.byte 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d -.byte 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e -.byte 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2 -.byte 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25 -.byte 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16 -.byte 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92 -.byte 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda -.byte 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84 -.byte 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a -.byte 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06 -.byte 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02 -.byte 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b -.byte 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea -.byte 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73 -.byte 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85 -.byte 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e -.byte 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89 -.byte 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b -.byte 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20 -.byte 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4 -.byte 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31 -.byte 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f -.byte 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d -.byte 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef -.byte 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0 -.byte 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61 -.byte 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26 -.byte 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d -.long 0x80808080, 0x80808080, 0xfefefefe, 0xfefefefe -.long 0x1b1b1b1b, 0x1b1b1b1b, 0, 0 -.byte 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38 -.byte 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb -.byte 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87 -.byte 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb -.byte 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d -.byte 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e -.byte 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2 -.byte 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25 -.byte 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16 -.byte 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92 -.byte 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda -.byte 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84 -.byte 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a -.byte 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06 -.byte 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02 -.byte 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b -.byte 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea -.byte 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73 -.byte 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85 -.byte 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e -.byte 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89 -.byte 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b -.byte 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20 -.byte 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4 -.byte 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31 -.byte 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f -.byte 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d -.byte 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef -.byte 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0 -.byte 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61 -.byte 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26 -.byte 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d -.long 0x80808080, 0x80808080, 0xfefefefe, 0xfefefefe -.long 0x1b1b1b1b, 0x1b1b1b1b, 0, 0 -.byte 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38 -.byte 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb -.byte 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87 -.byte 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb -.byte 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d -.byte 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e -.byte 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2 -.byte 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25 -.byte 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16 -.byte 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92 -.byte 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda -.byte 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84 -.byte 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a -.byte 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06 -.byte 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02 -.byte 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b -.byte 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea -.byte 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73 -.byte 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85 -.byte 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e -.byte 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89 -.byte 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b -.byte 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20 -.byte 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4 -.byte 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31 -.byte 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f -.byte 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d -.byte 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef -.byte 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0 -.byte 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61 -.byte 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26 -.byte 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d -.long 0x80808080, 0x80808080, 0xfefefefe, 0xfefefefe -.long 0x1b1b1b1b, 0x1b1b1b1b, 0, 0 -.byte 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38 -.byte 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb -.byte 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87 -.byte 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb -.byte 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d -.byte 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e -.byte 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2 -.byte 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25 -.byte 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16 -.byte 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92 -.byte 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda -.byte 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84 -.byte 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a -.byte 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06 -.byte 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02 -.byte 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b -.byte 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea -.byte 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73 -.byte 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85 -.byte 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e -.byte 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89 -.byte 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b -.byte 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20 -.byte 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4 -.byte 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31 -.byte 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f -.byte 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d -.byte 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef -.byte 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0 -.byte 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61 -.byte 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26 -.byte 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d -.long 0x80808080, 0x80808080, 0xfefefefe, 0xfefefefe -.long 0x1b1b1b1b, 0x1b1b1b1b, 0, 0 -.byte 65,69,83,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 -.p2align 6 -#endif diff --git a/contrib/boringssl-cmake/mac-x86_64/crypto/fipsmodule/aesni-gcm-x86_64.S b/contrib/boringssl-cmake/mac-x86_64/crypto/fipsmodule/aesni-gcm-x86_64.S index 9fb4bef1e68..b08a2fbbf9c 100644 --- a/contrib/boringssl-cmake/mac-x86_64/crypto/fipsmodule/aesni-gcm-x86_64.S +++ b/contrib/boringssl-cmake/mac-x86_64/crypto/fipsmodule/aesni-gcm-x86_64.S @@ -556,11 +556,9 @@ L$handle_ctr32_2: .p2align 5 _aesni_gcm_encrypt: -#ifndef NDEBUG -#ifndef BORINGSSL_FIPS +#ifdef BORINGSSL_DISPATCH_TEST movb $1,_BORINGSSL_function_hit+2(%rip) -#endif #endif xorq %r10,%r10 diff --git a/contrib/boringssl-cmake/mac-x86_64/crypto/fipsmodule/aesni-x86_64.S b/contrib/boringssl-cmake/mac-x86_64/crypto/fipsmodule/aesni-x86_64.S index 5e12596731a..58e072ee1b6 100644 --- a/contrib/boringssl-cmake/mac-x86_64/crypto/fipsmodule/aesni-x86_64.S +++ b/contrib/boringssl-cmake/mac-x86_64/crypto/fipsmodule/aesni-x86_64.S @@ -19,11 +19,9 @@ .p2align 4 _aes_hw_encrypt: -#ifndef NDEBUG -#ifndef BORINGSSL_FIPS +#ifdef BORINGSSL_DISPATCH_TEST movb $1,_BORINGSSL_function_hit+1(%rip) -#endif #endif movups (%rdi),%xmm2 movl 240(%rdx),%eax @@ -885,10 +883,8 @@ L$ecb_ret: .p2align 4 _aes_hw_ctr32_encrypt_blocks: -#ifndef NDEBUG -#ifndef BORINGSSL_FIPS +#ifdef BORINGSSL_DISPATCH_TEST movb $1,_BORINGSSL_function_hit(%rip) -#endif #endif cmpq $1,%rdx jne L$ctr32_bulk @@ -2109,11 +2105,9 @@ L$SEH_end_set_decrypt_key: _aes_hw_set_encrypt_key: __aesni_set_encrypt_key: -#ifndef NDEBUG -#ifndef BORINGSSL_FIPS +#ifdef BORINGSSL_DISPATCH_TEST movb $1,_BORINGSSL_function_hit+3(%rip) #endif -#endif .byte 0x48,0x83,0xEC,0x08 movq $-1,%rax diff --git a/contrib/boringssl-cmake/mac-x86_64/crypto/fipsmodule/ghash-x86_64.S b/contrib/boringssl-cmake/mac-x86_64/crypto/fipsmodule/ghash-x86_64.S index d7dcf5d61fd..6fab4dbf8ed 100644 --- a/contrib/boringssl-cmake/mac-x86_64/crypto/fipsmodule/ghash-x86_64.S +++ b/contrib/boringssl-cmake/mac-x86_64/crypto/fipsmodule/ghash-x86_64.S @@ -13,697 +13,6 @@ #endif .text - -.globl _gcm_gmult_4bit -.private_extern _gcm_gmult_4bit - -.p2align 4 -_gcm_gmult_4bit: - - pushq %rbx - - pushq %rbp - - pushq %r12 - - pushq %r13 - - pushq %r14 - - pushq %r15 - - subq $280,%rsp - -L$gmult_prologue: - - movzbq 15(%rdi),%r8 - leaq L$rem_4bit(%rip),%r11 - xorq %rax,%rax - xorq %rbx,%rbx - movb %r8b,%al - movb %r8b,%bl - shlb $4,%al - movq $14,%rcx - movq 8(%rsi,%rax,1),%r8 - movq (%rsi,%rax,1),%r9 - andb $0xf0,%bl - movq %r8,%rdx - jmp L$oop1 - -.p2align 4 -L$oop1: - shrq $4,%r8 - andq $0xf,%rdx - movq %r9,%r10 - movb (%rdi,%rcx,1),%al - shrq $4,%r9 - xorq 8(%rsi,%rbx,1),%r8 - shlq $60,%r10 - xorq (%rsi,%rbx,1),%r9 - movb %al,%bl - xorq (%r11,%rdx,8),%r9 - movq %r8,%rdx - shlb $4,%al - xorq %r10,%r8 - decq %rcx - js L$break1 - - shrq $4,%r8 - andq $0xf,%rdx - movq %r9,%r10 - shrq $4,%r9 - xorq 8(%rsi,%rax,1),%r8 - shlq $60,%r10 - xorq (%rsi,%rax,1),%r9 - andb $0xf0,%bl - xorq (%r11,%rdx,8),%r9 - movq %r8,%rdx - xorq %r10,%r8 - jmp L$oop1 - -.p2align 4 -L$break1: - shrq $4,%r8 - andq $0xf,%rdx - movq %r9,%r10 - shrq $4,%r9 - xorq 8(%rsi,%rax,1),%r8 - shlq $60,%r10 - xorq (%rsi,%rax,1),%r9 - andb $0xf0,%bl - xorq (%r11,%rdx,8),%r9 - movq %r8,%rdx - xorq %r10,%r8 - - shrq $4,%r8 - andq $0xf,%rdx - movq %r9,%r10 - shrq $4,%r9 - xorq 8(%rsi,%rbx,1),%r8 - shlq $60,%r10 - xorq (%rsi,%rbx,1),%r9 - xorq %r10,%r8 - xorq (%r11,%rdx,8),%r9 - - bswapq %r8 - bswapq %r9 - movq %r8,8(%rdi) - movq %r9,(%rdi) - - leaq 280+48(%rsp),%rsi - - movq -8(%rsi),%rbx - - leaq (%rsi),%rsp - -L$gmult_epilogue: - .byte 0xf3,0xc3 - - -.globl _gcm_ghash_4bit -.private_extern _gcm_ghash_4bit - -.p2align 4 -_gcm_ghash_4bit: - - pushq %rbx - - pushq %rbp - - pushq %r12 - - pushq %r13 - - pushq %r14 - - pushq %r15 - - subq $280,%rsp - -L$ghash_prologue: - movq %rdx,%r14 - movq %rcx,%r15 - subq $-128,%rsi - leaq 16+128(%rsp),%rbp - xorl %edx,%edx - movq 0+0-128(%rsi),%r8 - movq 0+8-128(%rsi),%rax - movb %al,%dl - shrq $4,%rax - movq %r8,%r10 - shrq $4,%r8 - movq 16+0-128(%rsi),%r9 - shlb $4,%dl - movq 16+8-128(%rsi),%rbx - shlq $60,%r10 - movb %dl,0(%rsp) - orq %r10,%rax - movb %bl,%dl - shrq $4,%rbx - movq %r9,%r10 - shrq $4,%r9 - movq %r8,0(%rbp) - movq 32+0-128(%rsi),%r8 - shlb $4,%dl - movq %rax,0-128(%rbp) - movq 32+8-128(%rsi),%rax - shlq $60,%r10 - movb %dl,1(%rsp) - orq %r10,%rbx - movb %al,%dl - shrq $4,%rax - movq %r8,%r10 - shrq $4,%r8 - movq %r9,8(%rbp) - movq 48+0-128(%rsi),%r9 - shlb $4,%dl - movq %rbx,8-128(%rbp) - movq 48+8-128(%rsi),%rbx - shlq $60,%r10 - movb %dl,2(%rsp) - orq %r10,%rax - movb %bl,%dl - shrq $4,%rbx - movq %r9,%r10 - shrq $4,%r9 - movq %r8,16(%rbp) - movq 64+0-128(%rsi),%r8 - shlb $4,%dl - movq %rax,16-128(%rbp) - movq 64+8-128(%rsi),%rax - shlq $60,%r10 - movb %dl,3(%rsp) - orq %r10,%rbx - movb %al,%dl - shrq $4,%rax - movq %r8,%r10 - shrq $4,%r8 - movq %r9,24(%rbp) - movq 80+0-128(%rsi),%r9 - shlb $4,%dl - movq %rbx,24-128(%rbp) - movq 80+8-128(%rsi),%rbx - shlq $60,%r10 - movb %dl,4(%rsp) - orq %r10,%rax - movb %bl,%dl - shrq $4,%rbx - movq %r9,%r10 - shrq $4,%r9 - movq %r8,32(%rbp) - movq 96+0-128(%rsi),%r8 - shlb $4,%dl - movq %rax,32-128(%rbp) - movq 96+8-128(%rsi),%rax - shlq $60,%r10 - movb %dl,5(%rsp) - orq %r10,%rbx - movb %al,%dl - shrq $4,%rax - movq %r8,%r10 - shrq $4,%r8 - movq %r9,40(%rbp) - movq 112+0-128(%rsi),%r9 - shlb $4,%dl - movq %rbx,40-128(%rbp) - movq 112+8-128(%rsi),%rbx - shlq $60,%r10 - movb %dl,6(%rsp) - orq %r10,%rax - movb %bl,%dl - shrq $4,%rbx - movq %r9,%r10 - shrq $4,%r9 - movq %r8,48(%rbp) - movq 128+0-128(%rsi),%r8 - shlb $4,%dl - movq %rax,48-128(%rbp) - movq 128+8-128(%rsi),%rax - shlq $60,%r10 - movb %dl,7(%rsp) - orq %r10,%rbx - movb %al,%dl - shrq $4,%rax - movq %r8,%r10 - shrq $4,%r8 - movq %r9,56(%rbp) - movq 144+0-128(%rsi),%r9 - shlb $4,%dl - movq %rbx,56-128(%rbp) - movq 144+8-128(%rsi),%rbx - shlq $60,%r10 - movb %dl,8(%rsp) - orq %r10,%rax - movb %bl,%dl - shrq $4,%rbx - movq %r9,%r10 - shrq $4,%r9 - movq %r8,64(%rbp) - movq 160+0-128(%rsi),%r8 - shlb $4,%dl - movq %rax,64-128(%rbp) - movq 160+8-128(%rsi),%rax - shlq $60,%r10 - movb %dl,9(%rsp) - orq %r10,%rbx - movb %al,%dl - shrq $4,%rax - movq %r8,%r10 - shrq $4,%r8 - movq %r9,72(%rbp) - movq 176+0-128(%rsi),%r9 - shlb $4,%dl - movq %rbx,72-128(%rbp) - movq 176+8-128(%rsi),%rbx - shlq $60,%r10 - movb %dl,10(%rsp) - orq %r10,%rax - movb %bl,%dl - shrq $4,%rbx - movq %r9,%r10 - shrq $4,%r9 - movq %r8,80(%rbp) - movq 192+0-128(%rsi),%r8 - shlb $4,%dl - movq %rax,80-128(%rbp) - movq 192+8-128(%rsi),%rax - shlq $60,%r10 - movb %dl,11(%rsp) - orq %r10,%rbx - movb %al,%dl - shrq $4,%rax - movq %r8,%r10 - shrq $4,%r8 - movq %r9,88(%rbp) - movq 208+0-128(%rsi),%r9 - shlb $4,%dl - movq %rbx,88-128(%rbp) - movq 208+8-128(%rsi),%rbx - shlq $60,%r10 - movb %dl,12(%rsp) - orq %r10,%rax - movb %bl,%dl - shrq $4,%rbx - movq %r9,%r10 - shrq $4,%r9 - movq %r8,96(%rbp) - movq 224+0-128(%rsi),%r8 - shlb $4,%dl - movq %rax,96-128(%rbp) - movq 224+8-128(%rsi),%rax - shlq $60,%r10 - movb %dl,13(%rsp) - orq %r10,%rbx - movb %al,%dl - shrq $4,%rax - movq %r8,%r10 - shrq $4,%r8 - movq %r9,104(%rbp) - movq 240+0-128(%rsi),%r9 - shlb $4,%dl - movq %rbx,104-128(%rbp) - movq 240+8-128(%rsi),%rbx - shlq $60,%r10 - movb %dl,14(%rsp) - orq %r10,%rax - movb %bl,%dl - shrq $4,%rbx - movq %r9,%r10 - shrq $4,%r9 - movq %r8,112(%rbp) - shlb $4,%dl - movq %rax,112-128(%rbp) - shlq $60,%r10 - movb %dl,15(%rsp) - orq %r10,%rbx - movq %r9,120(%rbp) - movq %rbx,120-128(%rbp) - addq $-128,%rsi - movq 8(%rdi),%r8 - movq 0(%rdi),%r9 - addq %r14,%r15 - leaq L$rem_8bit(%rip),%r11 - jmp L$outer_loop -.p2align 4 -L$outer_loop: - xorq (%r14),%r9 - movq 8(%r14),%rdx - leaq 16(%r14),%r14 - xorq %r8,%rdx - movq %r9,(%rdi) - movq %rdx,8(%rdi) - shrq $32,%rdx - xorq %rax,%rax - roll $8,%edx - movb %dl,%al - movzbl %dl,%ebx - shlb $4,%al - shrl $4,%ebx - roll $8,%edx - movq 8(%rsi,%rax,1),%r8 - movq (%rsi,%rax,1),%r9 - movb %dl,%al - movzbl %dl,%ecx - shlb $4,%al - movzbq (%rsp,%rbx,1),%r12 - shrl $4,%ecx - xorq %r8,%r12 - movq %r9,%r10 - shrq $8,%r8 - movzbq %r12b,%r12 - shrq $8,%r9 - xorq -128(%rbp,%rbx,8),%r8 - shlq $56,%r10 - xorq (%rbp,%rbx,8),%r9 - roll $8,%edx - xorq 8(%rsi,%rax,1),%r8 - xorq (%rsi,%rax,1),%r9 - movb %dl,%al - xorq %r10,%r8 - movzwq (%r11,%r12,2),%r12 - movzbl %dl,%ebx - shlb $4,%al - movzbq (%rsp,%rcx,1),%r13 - shrl $4,%ebx - shlq $48,%r12 - xorq %r8,%r13 - movq %r9,%r10 - xorq %r12,%r9 - shrq $8,%r8 - movzbq %r13b,%r13 - shrq $8,%r9 - xorq -128(%rbp,%rcx,8),%r8 - shlq $56,%r10 - xorq (%rbp,%rcx,8),%r9 - roll $8,%edx - xorq 8(%rsi,%rax,1),%r8 - xorq (%rsi,%rax,1),%r9 - movb %dl,%al - xorq %r10,%r8 - movzwq (%r11,%r13,2),%r13 - movzbl %dl,%ecx - shlb $4,%al - movzbq (%rsp,%rbx,1),%r12 - shrl $4,%ecx - shlq $48,%r13 - xorq %r8,%r12 - movq %r9,%r10 - xorq %r13,%r9 - shrq $8,%r8 - movzbq %r12b,%r12 - movl 8(%rdi),%edx - shrq $8,%r9 - xorq -128(%rbp,%rbx,8),%r8 - shlq $56,%r10 - xorq (%rbp,%rbx,8),%r9 - roll $8,%edx - xorq 8(%rsi,%rax,1),%r8 - xorq (%rsi,%rax,1),%r9 - movb %dl,%al - xorq %r10,%r8 - movzwq (%r11,%r12,2),%r12 - movzbl %dl,%ebx - shlb $4,%al - movzbq (%rsp,%rcx,1),%r13 - shrl $4,%ebx - shlq $48,%r12 - xorq %r8,%r13 - movq %r9,%r10 - xorq %r12,%r9 - shrq $8,%r8 - movzbq %r13b,%r13 - shrq $8,%r9 - xorq -128(%rbp,%rcx,8),%r8 - shlq $56,%r10 - xorq (%rbp,%rcx,8),%r9 - roll $8,%edx - xorq 8(%rsi,%rax,1),%r8 - xorq (%rsi,%rax,1),%r9 - movb %dl,%al - xorq %r10,%r8 - movzwq (%r11,%r13,2),%r13 - movzbl %dl,%ecx - shlb $4,%al - movzbq (%rsp,%rbx,1),%r12 - shrl $4,%ecx - shlq $48,%r13 - xorq %r8,%r12 - movq %r9,%r10 - xorq %r13,%r9 - shrq $8,%r8 - movzbq %r12b,%r12 - shrq $8,%r9 - xorq -128(%rbp,%rbx,8),%r8 - shlq $56,%r10 - xorq (%rbp,%rbx,8),%r9 - roll $8,%edx - xorq 8(%rsi,%rax,1),%r8 - xorq (%rsi,%rax,1),%r9 - movb %dl,%al - xorq %r10,%r8 - movzwq (%r11,%r12,2),%r12 - movzbl %dl,%ebx - shlb $4,%al - movzbq (%rsp,%rcx,1),%r13 - shrl $4,%ebx - shlq $48,%r12 - xorq %r8,%r13 - movq %r9,%r10 - xorq %r12,%r9 - shrq $8,%r8 - movzbq %r13b,%r13 - shrq $8,%r9 - xorq -128(%rbp,%rcx,8),%r8 - shlq $56,%r10 - xorq (%rbp,%rcx,8),%r9 - roll $8,%edx - xorq 8(%rsi,%rax,1),%r8 - xorq (%rsi,%rax,1),%r9 - movb %dl,%al - xorq %r10,%r8 - movzwq (%r11,%r13,2),%r13 - movzbl %dl,%ecx - shlb $4,%al - movzbq (%rsp,%rbx,1),%r12 - shrl $4,%ecx - shlq $48,%r13 - xorq %r8,%r12 - movq %r9,%r10 - xorq %r13,%r9 - shrq $8,%r8 - movzbq %r12b,%r12 - movl 4(%rdi),%edx - shrq $8,%r9 - xorq -128(%rbp,%rbx,8),%r8 - shlq $56,%r10 - xorq (%rbp,%rbx,8),%r9 - roll $8,%edx - xorq 8(%rsi,%rax,1),%r8 - xorq (%rsi,%rax,1),%r9 - movb %dl,%al - xorq %r10,%r8 - movzwq (%r11,%r12,2),%r12 - movzbl %dl,%ebx - shlb $4,%al - movzbq (%rsp,%rcx,1),%r13 - shrl $4,%ebx - shlq $48,%r12 - xorq %r8,%r13 - movq %r9,%r10 - xorq %r12,%r9 - shrq $8,%r8 - movzbq %r13b,%r13 - shrq $8,%r9 - xorq -128(%rbp,%rcx,8),%r8 - shlq $56,%r10 - xorq (%rbp,%rcx,8),%r9 - roll $8,%edx - xorq 8(%rsi,%rax,1),%r8 - xorq (%rsi,%rax,1),%r9 - movb %dl,%al - xorq %r10,%r8 - movzwq (%r11,%r13,2),%r13 - movzbl %dl,%ecx - shlb $4,%al - movzbq (%rsp,%rbx,1),%r12 - shrl $4,%ecx - shlq $48,%r13 - xorq %r8,%r12 - movq %r9,%r10 - xorq %r13,%r9 - shrq $8,%r8 - movzbq %r12b,%r12 - shrq $8,%r9 - xorq -128(%rbp,%rbx,8),%r8 - shlq $56,%r10 - xorq (%rbp,%rbx,8),%r9 - roll $8,%edx - xorq 8(%rsi,%rax,1),%r8 - xorq (%rsi,%rax,1),%r9 - movb %dl,%al - xorq %r10,%r8 - movzwq (%r11,%r12,2),%r12 - movzbl %dl,%ebx - shlb $4,%al - movzbq (%rsp,%rcx,1),%r13 - shrl $4,%ebx - shlq $48,%r12 - xorq %r8,%r13 - movq %r9,%r10 - xorq %r12,%r9 - shrq $8,%r8 - movzbq %r13b,%r13 - shrq $8,%r9 - xorq -128(%rbp,%rcx,8),%r8 - shlq $56,%r10 - xorq (%rbp,%rcx,8),%r9 - roll $8,%edx - xorq 8(%rsi,%rax,1),%r8 - xorq (%rsi,%rax,1),%r9 - movb %dl,%al - xorq %r10,%r8 - movzwq (%r11,%r13,2),%r13 - movzbl %dl,%ecx - shlb $4,%al - movzbq (%rsp,%rbx,1),%r12 - shrl $4,%ecx - shlq $48,%r13 - xorq %r8,%r12 - movq %r9,%r10 - xorq %r13,%r9 - shrq $8,%r8 - movzbq %r12b,%r12 - movl 0(%rdi),%edx - shrq $8,%r9 - xorq -128(%rbp,%rbx,8),%r8 - shlq $56,%r10 - xorq (%rbp,%rbx,8),%r9 - roll $8,%edx - xorq 8(%rsi,%rax,1),%r8 - xorq (%rsi,%rax,1),%r9 - movb %dl,%al - xorq %r10,%r8 - movzwq (%r11,%r12,2),%r12 - movzbl %dl,%ebx - shlb $4,%al - movzbq (%rsp,%rcx,1),%r13 - shrl $4,%ebx - shlq $48,%r12 - xorq %r8,%r13 - movq %r9,%r10 - xorq %r12,%r9 - shrq $8,%r8 - movzbq %r13b,%r13 - shrq $8,%r9 - xorq -128(%rbp,%rcx,8),%r8 - shlq $56,%r10 - xorq (%rbp,%rcx,8),%r9 - roll $8,%edx - xorq 8(%rsi,%rax,1),%r8 - xorq (%rsi,%rax,1),%r9 - movb %dl,%al - xorq %r10,%r8 - movzwq (%r11,%r13,2),%r13 - movzbl %dl,%ecx - shlb $4,%al - movzbq (%rsp,%rbx,1),%r12 - shrl $4,%ecx - shlq $48,%r13 - xorq %r8,%r12 - movq %r9,%r10 - xorq %r13,%r9 - shrq $8,%r8 - movzbq %r12b,%r12 - shrq $8,%r9 - xorq -128(%rbp,%rbx,8),%r8 - shlq $56,%r10 - xorq (%rbp,%rbx,8),%r9 - roll $8,%edx - xorq 8(%rsi,%rax,1),%r8 - xorq (%rsi,%rax,1),%r9 - movb %dl,%al - xorq %r10,%r8 - movzwq (%r11,%r12,2),%r12 - movzbl %dl,%ebx - shlb $4,%al - movzbq (%rsp,%rcx,1),%r13 - shrl $4,%ebx - shlq $48,%r12 - xorq %r8,%r13 - movq %r9,%r10 - xorq %r12,%r9 - shrq $8,%r8 - movzbq %r13b,%r13 - shrq $8,%r9 - xorq -128(%rbp,%rcx,8),%r8 - shlq $56,%r10 - xorq (%rbp,%rcx,8),%r9 - roll $8,%edx - xorq 8(%rsi,%rax,1),%r8 - xorq (%rsi,%rax,1),%r9 - movb %dl,%al - xorq %r10,%r8 - movzwq (%r11,%r13,2),%r13 - movzbl %dl,%ecx - shlb $4,%al - movzbq (%rsp,%rbx,1),%r12 - andl $240,%ecx - shlq $48,%r13 - xorq %r8,%r12 - movq %r9,%r10 - xorq %r13,%r9 - shrq $8,%r8 - movzbq %r12b,%r12 - movl -4(%rdi),%edx - shrq $8,%r9 - xorq -128(%rbp,%rbx,8),%r8 - shlq $56,%r10 - xorq (%rbp,%rbx,8),%r9 - movzwq (%r11,%r12,2),%r12 - xorq 8(%rsi,%rax,1),%r8 - xorq (%rsi,%rax,1),%r9 - shlq $48,%r12 - xorq %r10,%r8 - xorq %r12,%r9 - movzbq %r8b,%r13 - shrq $4,%r8 - movq %r9,%r10 - shlb $4,%r13b - shrq $4,%r9 - xorq 8(%rsi,%rcx,1),%r8 - movzwq (%r11,%r13,2),%r13 - shlq $60,%r10 - xorq (%rsi,%rcx,1),%r9 - xorq %r10,%r8 - shlq $48,%r13 - bswapq %r8 - xorq %r13,%r9 - bswapq %r9 - cmpq %r15,%r14 - jb L$outer_loop - movq %r8,8(%rdi) - movq %r9,(%rdi) - - leaq 280+48(%rsp),%rsi - - movq -48(%rsi),%r15 - - movq -40(%rsi),%r14 - - movq -32(%rsi),%r13 - - movq -24(%rsi),%r12 - - movq -16(%rsi),%rbp - - movq -8(%rsi),%rbx - - leaq 0(%rsi),%rsp - -L$ghash_epilogue: - .byte 0xf3,0xc3 - - .globl _gcm_init_clmul .private_extern _gcm_init_clmul @@ -1809,50 +1118,8 @@ L$0x1c2_polynomial: .byte 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0xc2 L$7_mask: .long 7,0,7,0 -L$7_mask_poly: -.long 7,0,450,0 .p2align 6 -L$rem_4bit: -.long 0,0,0,471859200,0,943718400,0,610271232 -.long 0,1887436800,0,1822425088,0,1220542464,0,1423966208 -.long 0,3774873600,0,4246732800,0,3644850176,0,3311403008 -.long 0,2441084928,0,2376073216,0,2847932416,0,3051356160 - -L$rem_8bit: -.value 0x0000,0x01C2,0x0384,0x0246,0x0708,0x06CA,0x048C,0x054E -.value 0x0E10,0x0FD2,0x0D94,0x0C56,0x0918,0x08DA,0x0A9C,0x0B5E -.value 0x1C20,0x1DE2,0x1FA4,0x1E66,0x1B28,0x1AEA,0x18AC,0x196E -.value 0x1230,0x13F2,0x11B4,0x1076,0x1538,0x14FA,0x16BC,0x177E -.value 0x3840,0x3982,0x3BC4,0x3A06,0x3F48,0x3E8A,0x3CCC,0x3D0E -.value 0x3650,0x3792,0x35D4,0x3416,0x3158,0x309A,0x32DC,0x331E -.value 0x2460,0x25A2,0x27E4,0x2626,0x2368,0x22AA,0x20EC,0x212E -.value 0x2A70,0x2BB2,0x29F4,0x2836,0x2D78,0x2CBA,0x2EFC,0x2F3E -.value 0x7080,0x7142,0x7304,0x72C6,0x7788,0x764A,0x740C,0x75CE -.value 0x7E90,0x7F52,0x7D14,0x7CD6,0x7998,0x785A,0x7A1C,0x7BDE -.value 0x6CA0,0x6D62,0x6F24,0x6EE6,0x6BA8,0x6A6A,0x682C,0x69EE -.value 0x62B0,0x6372,0x6134,0x60F6,0x65B8,0x647A,0x663C,0x67FE -.value 0x48C0,0x4902,0x4B44,0x4A86,0x4FC8,0x4E0A,0x4C4C,0x4D8E -.value 0x46D0,0x4712,0x4554,0x4496,0x41D8,0x401A,0x425C,0x439E -.value 0x54E0,0x5522,0x5764,0x56A6,0x53E8,0x522A,0x506C,0x51AE -.value 0x5AF0,0x5B32,0x5974,0x58B6,0x5DF8,0x5C3A,0x5E7C,0x5FBE -.value 0xE100,0xE0C2,0xE284,0xE346,0xE608,0xE7CA,0xE58C,0xE44E -.value 0xEF10,0xEED2,0xEC94,0xED56,0xE818,0xE9DA,0xEB9C,0xEA5E -.value 0xFD20,0xFCE2,0xFEA4,0xFF66,0xFA28,0xFBEA,0xF9AC,0xF86E -.value 0xF330,0xF2F2,0xF0B4,0xF176,0xF438,0xF5FA,0xF7BC,0xF67E -.value 0xD940,0xD882,0xDAC4,0xDB06,0xDE48,0xDF8A,0xDDCC,0xDC0E -.value 0xD750,0xD692,0xD4D4,0xD516,0xD058,0xD19A,0xD3DC,0xD21E -.value 0xC560,0xC4A2,0xC6E4,0xC726,0xC268,0xC3AA,0xC1EC,0xC02E -.value 0xCB70,0xCAB2,0xC8F4,0xC936,0xCC78,0xCDBA,0xCFFC,0xCE3E -.value 0x9180,0x9042,0x9204,0x93C6,0x9688,0x974A,0x950C,0x94CE -.value 0x9F90,0x9E52,0x9C14,0x9DD6,0x9898,0x995A,0x9B1C,0x9ADE -.value 0x8DA0,0x8C62,0x8E24,0x8FE6,0x8AA8,0x8B6A,0x892C,0x88EE -.value 0x83B0,0x8272,0x8034,0x81F6,0x84B8,0x857A,0x873C,0x86FE -.value 0xA9C0,0xA802,0xAA44,0xAB86,0xAEC8,0xAF0A,0xAD4C,0xAC8E -.value 0xA7D0,0xA612,0xA454,0xA596,0xA0D8,0xA11A,0xA35C,0xA29E -.value 0xB5E0,0xB422,0xB664,0xB7A6,0xB2E8,0xB32A,0xB16C,0xB0AE -.value 0xBBF0,0xBA32,0xB874,0xB9B6,0xBCF8,0xBD3A,0xBF7C,0xBEBE - .byte 71,72,65,83,72,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 .p2align 6 #endif diff --git a/contrib/boringssl-cmake/mac-x86_64/crypto/fipsmodule/sha1-x86_64.S b/contrib/boringssl-cmake/mac-x86_64/crypto/fipsmodule/sha1-x86_64.S index ace121e3596..87ca5e9eb64 100644 --- a/contrib/boringssl-cmake/mac-x86_64/crypto/fipsmodule/sha1-x86_64.S +++ b/contrib/boringssl-cmake/mac-x86_64/crypto/fipsmodule/sha1-x86_64.S @@ -26,6 +26,11 @@ _sha1_block_data_order: movl 8(%r10),%r10d testl $512,%r8d jz L$ialu + testl $536870912,%r10d + jnz _shaext_shortcut + andl $296,%r10d + cmpl $296,%r10d + je _avx2_shortcut andl $268435456,%r8d andl $1073741824,%r9d orl %r9d,%r8d @@ -1266,6 +1271,175 @@ L$epilogue: +.p2align 5 +sha1_block_data_order_shaext: +_shaext_shortcut: + + movdqu (%rdi),%xmm0 + movd 16(%rdi),%xmm1 + movdqa K_XX_XX+160(%rip),%xmm3 + + movdqu (%rsi),%xmm4 + pshufd $27,%xmm0,%xmm0 + movdqu 16(%rsi),%xmm5 + pshufd $27,%xmm1,%xmm1 + movdqu 32(%rsi),%xmm6 +.byte 102,15,56,0,227 + movdqu 48(%rsi),%xmm7 +.byte 102,15,56,0,235 +.byte 102,15,56,0,243 + movdqa %xmm1,%xmm9 +.byte 102,15,56,0,251 + jmp L$oop_shaext + +.p2align 4 +L$oop_shaext: + decq %rdx + leaq 64(%rsi),%r8 + paddd %xmm4,%xmm1 + cmovneq %r8,%rsi + movdqa %xmm0,%xmm8 +.byte 15,56,201,229 + movdqa %xmm0,%xmm2 +.byte 15,58,204,193,0 +.byte 15,56,200,213 + pxor %xmm6,%xmm4 +.byte 15,56,201,238 +.byte 15,56,202,231 + + movdqa %xmm0,%xmm1 +.byte 15,58,204,194,0 +.byte 15,56,200,206 + pxor %xmm7,%xmm5 +.byte 15,56,202,236 +.byte 15,56,201,247 + movdqa %xmm0,%xmm2 +.byte 15,58,204,193,0 +.byte 15,56,200,215 + pxor %xmm4,%xmm6 +.byte 15,56,201,252 +.byte 15,56,202,245 + + movdqa %xmm0,%xmm1 +.byte 15,58,204,194,0 +.byte 15,56,200,204 + pxor %xmm5,%xmm7 +.byte 15,56,202,254 +.byte 15,56,201,229 + movdqa %xmm0,%xmm2 +.byte 15,58,204,193,0 +.byte 15,56,200,213 + pxor %xmm6,%xmm4 +.byte 15,56,201,238 +.byte 15,56,202,231 + + movdqa %xmm0,%xmm1 +.byte 15,58,204,194,1 +.byte 15,56,200,206 + pxor %xmm7,%xmm5 +.byte 15,56,202,236 +.byte 15,56,201,247 + movdqa %xmm0,%xmm2 +.byte 15,58,204,193,1 +.byte 15,56,200,215 + pxor %xmm4,%xmm6 +.byte 15,56,201,252 +.byte 15,56,202,245 + + movdqa %xmm0,%xmm1 +.byte 15,58,204,194,1 +.byte 15,56,200,204 + pxor %xmm5,%xmm7 +.byte 15,56,202,254 +.byte 15,56,201,229 + movdqa %xmm0,%xmm2 +.byte 15,58,204,193,1 +.byte 15,56,200,213 + pxor %xmm6,%xmm4 +.byte 15,56,201,238 +.byte 15,56,202,231 + + movdqa %xmm0,%xmm1 +.byte 15,58,204,194,1 +.byte 15,56,200,206 + pxor %xmm7,%xmm5 +.byte 15,56,202,236 +.byte 15,56,201,247 + movdqa %xmm0,%xmm2 +.byte 15,58,204,193,2 +.byte 15,56,200,215 + pxor %xmm4,%xmm6 +.byte 15,56,201,252 +.byte 15,56,202,245 + + movdqa %xmm0,%xmm1 +.byte 15,58,204,194,2 +.byte 15,56,200,204 + pxor %xmm5,%xmm7 +.byte 15,56,202,254 +.byte 15,56,201,229 + movdqa %xmm0,%xmm2 +.byte 15,58,204,193,2 +.byte 15,56,200,213 + pxor %xmm6,%xmm4 +.byte 15,56,201,238 +.byte 15,56,202,231 + + movdqa %xmm0,%xmm1 +.byte 15,58,204,194,2 +.byte 15,56,200,206 + pxor %xmm7,%xmm5 +.byte 15,56,202,236 +.byte 15,56,201,247 + movdqa %xmm0,%xmm2 +.byte 15,58,204,193,2 +.byte 15,56,200,215 + pxor %xmm4,%xmm6 +.byte 15,56,201,252 +.byte 15,56,202,245 + + movdqa %xmm0,%xmm1 +.byte 15,58,204,194,3 +.byte 15,56,200,204 + pxor %xmm5,%xmm7 +.byte 15,56,202,254 + movdqu (%rsi),%xmm4 + movdqa %xmm0,%xmm2 +.byte 15,58,204,193,3 +.byte 15,56,200,213 + movdqu 16(%rsi),%xmm5 +.byte 102,15,56,0,227 + + movdqa %xmm0,%xmm1 +.byte 15,58,204,194,3 +.byte 15,56,200,206 + movdqu 32(%rsi),%xmm6 +.byte 102,15,56,0,235 + + movdqa %xmm0,%xmm2 +.byte 15,58,204,193,3 +.byte 15,56,200,215 + movdqu 48(%rsi),%xmm7 +.byte 102,15,56,0,243 + + movdqa %xmm0,%xmm1 +.byte 15,58,204,194,3 +.byte 65,15,56,200,201 +.byte 102,15,56,0,251 + + paddd %xmm8,%xmm0 + movdqa %xmm1,%xmm9 + + jnz L$oop_shaext + + pshufd $27,%xmm0,%xmm0 + pshufd $27,%xmm1,%xmm1 + movdqu %xmm0,(%rdi) + movd %xmm1,16(%rdi) + .byte 0xf3,0xc3 + + + .p2align 4 sha1_block_data_order_ssse3: _ssse3_shortcut: @@ -3581,6 +3755,1699 @@ L$epilogue_avx: .byte 0xf3,0xc3 + +.p2align 4 +sha1_block_data_order_avx2: +_avx2_shortcut: + + movq %rsp,%r11 + + pushq %rbx + + pushq %rbp + + pushq %r12 + + pushq %r13 + + pushq %r14 + + vzeroupper + movq %rdi,%r8 + movq %rsi,%r9 + movq %rdx,%r10 + + leaq -640(%rsp),%rsp + shlq $6,%r10 + leaq 64(%r9),%r13 + andq $-128,%rsp + addq %r9,%r10 + leaq K_XX_XX+64(%rip),%r14 + + movl 0(%r8),%eax + cmpq %r10,%r13 + cmovaeq %r9,%r13 + movl 4(%r8),%ebp + movl 8(%r8),%ecx + movl 12(%r8),%edx + movl 16(%r8),%esi + vmovdqu 64(%r14),%ymm6 + + vmovdqu (%r9),%xmm0 + vmovdqu 16(%r9),%xmm1 + vmovdqu 32(%r9),%xmm2 + vmovdqu 48(%r9),%xmm3 + leaq 64(%r9),%r9 + vinserti128 $1,(%r13),%ymm0,%ymm0 + vinserti128 $1,16(%r13),%ymm1,%ymm1 + vpshufb %ymm6,%ymm0,%ymm0 + vinserti128 $1,32(%r13),%ymm2,%ymm2 + vpshufb %ymm6,%ymm1,%ymm1 + vinserti128 $1,48(%r13),%ymm3,%ymm3 + vpshufb %ymm6,%ymm2,%ymm2 + vmovdqu -64(%r14),%ymm11 + vpshufb %ymm6,%ymm3,%ymm3 + + vpaddd %ymm11,%ymm0,%ymm4 + vpaddd %ymm11,%ymm1,%ymm5 + vmovdqu %ymm4,0(%rsp) + vpaddd %ymm11,%ymm2,%ymm6 + vmovdqu %ymm5,32(%rsp) + vpaddd %ymm11,%ymm3,%ymm7 + vmovdqu %ymm6,64(%rsp) + vmovdqu %ymm7,96(%rsp) + vpalignr $8,%ymm0,%ymm1,%ymm4 + vpsrldq $4,%ymm3,%ymm8 + vpxor %ymm0,%ymm4,%ymm4 + vpxor %ymm2,%ymm8,%ymm8 + vpxor %ymm8,%ymm4,%ymm4 + vpsrld $31,%ymm4,%ymm8 + vpslldq $12,%ymm4,%ymm10 + vpaddd %ymm4,%ymm4,%ymm4 + vpsrld $30,%ymm10,%ymm9 + vpor %ymm8,%ymm4,%ymm4 + vpslld $2,%ymm10,%ymm10 + vpxor %ymm9,%ymm4,%ymm4 + vpxor %ymm10,%ymm4,%ymm4 + vpaddd %ymm11,%ymm4,%ymm9 + vmovdqu %ymm9,128(%rsp) + vpalignr $8,%ymm1,%ymm2,%ymm5 + vpsrldq $4,%ymm4,%ymm8 + vpxor %ymm1,%ymm5,%ymm5 + vpxor %ymm3,%ymm8,%ymm8 + vpxor %ymm8,%ymm5,%ymm5 + vpsrld $31,%ymm5,%ymm8 + vmovdqu -32(%r14),%ymm11 + vpslldq $12,%ymm5,%ymm10 + vpaddd %ymm5,%ymm5,%ymm5 + vpsrld $30,%ymm10,%ymm9 + vpor %ymm8,%ymm5,%ymm5 + vpslld $2,%ymm10,%ymm10 + vpxor %ymm9,%ymm5,%ymm5 + vpxor %ymm10,%ymm5,%ymm5 + vpaddd %ymm11,%ymm5,%ymm9 + vmovdqu %ymm9,160(%rsp) + vpalignr $8,%ymm2,%ymm3,%ymm6 + vpsrldq $4,%ymm5,%ymm8 + vpxor %ymm2,%ymm6,%ymm6 + vpxor %ymm4,%ymm8,%ymm8 + vpxor %ymm8,%ymm6,%ymm6 + vpsrld $31,%ymm6,%ymm8 + vpslldq $12,%ymm6,%ymm10 + vpaddd %ymm6,%ymm6,%ymm6 + vpsrld $30,%ymm10,%ymm9 + vpor %ymm8,%ymm6,%ymm6 + vpslld $2,%ymm10,%ymm10 + vpxor %ymm9,%ymm6,%ymm6 + vpxor %ymm10,%ymm6,%ymm6 + vpaddd %ymm11,%ymm6,%ymm9 + vmovdqu %ymm9,192(%rsp) + vpalignr $8,%ymm3,%ymm4,%ymm7 + vpsrldq $4,%ymm6,%ymm8 + vpxor %ymm3,%ymm7,%ymm7 + vpxor %ymm5,%ymm8,%ymm8 + vpxor %ymm8,%ymm7,%ymm7 + vpsrld $31,%ymm7,%ymm8 + vpslldq $12,%ymm7,%ymm10 + vpaddd %ymm7,%ymm7,%ymm7 + vpsrld $30,%ymm10,%ymm9 + vpor %ymm8,%ymm7,%ymm7 + vpslld $2,%ymm10,%ymm10 + vpxor %ymm9,%ymm7,%ymm7 + vpxor %ymm10,%ymm7,%ymm7 + vpaddd %ymm11,%ymm7,%ymm9 + vmovdqu %ymm9,224(%rsp) + leaq 128(%rsp),%r13 + jmp L$oop_avx2 +.p2align 5 +L$oop_avx2: + rorxl $2,%ebp,%ebx + andnl %edx,%ebp,%edi + andl %ecx,%ebp + xorl %edi,%ebp + jmp L$align32_1 +.p2align 5 +L$align32_1: + vpalignr $8,%ymm6,%ymm7,%ymm8 + vpxor %ymm4,%ymm0,%ymm0 + addl -128(%r13),%esi + andnl %ecx,%eax,%edi + vpxor %ymm1,%ymm0,%ymm0 + addl %ebp,%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + vpxor %ymm8,%ymm0,%ymm0 + andl %ebx,%eax + addl %r12d,%esi + xorl %edi,%eax + vpsrld $30,%ymm0,%ymm8 + vpslld $2,%ymm0,%ymm0 + addl -124(%r13),%edx + andnl %ebx,%esi,%edi + addl %eax,%edx + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + andl %ebp,%esi + vpor %ymm8,%ymm0,%ymm0 + addl %r12d,%edx + xorl %edi,%esi + addl -120(%r13),%ecx + andnl %ebp,%edx,%edi + vpaddd %ymm11,%ymm0,%ymm9 + addl %esi,%ecx + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + andl %eax,%edx + vmovdqu %ymm9,256(%rsp) + addl %r12d,%ecx + xorl %edi,%edx + addl -116(%r13),%ebx + andnl %eax,%ecx,%edi + addl %edx,%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + andl %esi,%ecx + addl %r12d,%ebx + xorl %edi,%ecx + addl -96(%r13),%ebp + andnl %esi,%ebx,%edi + addl %ecx,%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + andl %edx,%ebx + addl %r12d,%ebp + xorl %edi,%ebx + vpalignr $8,%ymm7,%ymm0,%ymm8 + vpxor %ymm5,%ymm1,%ymm1 + addl -92(%r13),%eax + andnl %edx,%ebp,%edi + vpxor %ymm2,%ymm1,%ymm1 + addl %ebx,%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + vpxor %ymm8,%ymm1,%ymm1 + andl %ecx,%ebp + addl %r12d,%eax + xorl %edi,%ebp + vpsrld $30,%ymm1,%ymm8 + vpslld $2,%ymm1,%ymm1 + addl -88(%r13),%esi + andnl %ecx,%eax,%edi + addl %ebp,%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + andl %ebx,%eax + vpor %ymm8,%ymm1,%ymm1 + addl %r12d,%esi + xorl %edi,%eax + addl -84(%r13),%edx + andnl %ebx,%esi,%edi + vpaddd %ymm11,%ymm1,%ymm9 + addl %eax,%edx + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + andl %ebp,%esi + vmovdqu %ymm9,288(%rsp) + addl %r12d,%edx + xorl %edi,%esi + addl -64(%r13),%ecx + andnl %ebp,%edx,%edi + addl %esi,%ecx + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + andl %eax,%edx + addl %r12d,%ecx + xorl %edi,%edx + addl -60(%r13),%ebx + andnl %eax,%ecx,%edi + addl %edx,%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + andl %esi,%ecx + addl %r12d,%ebx + xorl %edi,%ecx + vpalignr $8,%ymm0,%ymm1,%ymm8 + vpxor %ymm6,%ymm2,%ymm2 + addl -56(%r13),%ebp + andnl %esi,%ebx,%edi + vpxor %ymm3,%ymm2,%ymm2 + vmovdqu 0(%r14),%ymm11 + addl %ecx,%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + vpxor %ymm8,%ymm2,%ymm2 + andl %edx,%ebx + addl %r12d,%ebp + xorl %edi,%ebx + vpsrld $30,%ymm2,%ymm8 + vpslld $2,%ymm2,%ymm2 + addl -52(%r13),%eax + andnl %edx,%ebp,%edi + addl %ebx,%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + andl %ecx,%ebp + vpor %ymm8,%ymm2,%ymm2 + addl %r12d,%eax + xorl %edi,%ebp + addl -32(%r13),%esi + andnl %ecx,%eax,%edi + vpaddd %ymm11,%ymm2,%ymm9 + addl %ebp,%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + andl %ebx,%eax + vmovdqu %ymm9,320(%rsp) + addl %r12d,%esi + xorl %edi,%eax + addl -28(%r13),%edx + andnl %ebx,%esi,%edi + addl %eax,%edx + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + andl %ebp,%esi + addl %r12d,%edx + xorl %edi,%esi + addl -24(%r13),%ecx + andnl %ebp,%edx,%edi + addl %esi,%ecx + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + andl %eax,%edx + addl %r12d,%ecx + xorl %edi,%edx + vpalignr $8,%ymm1,%ymm2,%ymm8 + vpxor %ymm7,%ymm3,%ymm3 + addl -20(%r13),%ebx + andnl %eax,%ecx,%edi + vpxor %ymm4,%ymm3,%ymm3 + addl %edx,%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + vpxor %ymm8,%ymm3,%ymm3 + andl %esi,%ecx + addl %r12d,%ebx + xorl %edi,%ecx + vpsrld $30,%ymm3,%ymm8 + vpslld $2,%ymm3,%ymm3 + addl 0(%r13),%ebp + andnl %esi,%ebx,%edi + addl %ecx,%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + andl %edx,%ebx + vpor %ymm8,%ymm3,%ymm3 + addl %r12d,%ebp + xorl %edi,%ebx + addl 4(%r13),%eax + andnl %edx,%ebp,%edi + vpaddd %ymm11,%ymm3,%ymm9 + addl %ebx,%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + andl %ecx,%ebp + vmovdqu %ymm9,352(%rsp) + addl %r12d,%eax + xorl %edi,%ebp + addl 8(%r13),%esi + andnl %ecx,%eax,%edi + addl %ebp,%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + andl %ebx,%eax + addl %r12d,%esi + xorl %edi,%eax + addl 12(%r13),%edx + leal (%rdx,%rax,1),%edx + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + xorl %ebp,%esi + addl %r12d,%edx + xorl %ebx,%esi + vpalignr $8,%ymm2,%ymm3,%ymm8 + vpxor %ymm0,%ymm4,%ymm4 + addl 32(%r13),%ecx + leal (%rcx,%rsi,1),%ecx + vpxor %ymm5,%ymm4,%ymm4 + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + xorl %eax,%edx + vpxor %ymm8,%ymm4,%ymm4 + addl %r12d,%ecx + xorl %ebp,%edx + addl 36(%r13),%ebx + vpsrld $30,%ymm4,%ymm8 + vpslld $2,%ymm4,%ymm4 + leal (%rbx,%rdx,1),%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + xorl %esi,%ecx + addl %r12d,%ebx + xorl %eax,%ecx + vpor %ymm8,%ymm4,%ymm4 + addl 40(%r13),%ebp + leal (%rcx,%rbp,1),%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + vpaddd %ymm11,%ymm4,%ymm9 + xorl %edx,%ebx + addl %r12d,%ebp + xorl %esi,%ebx + addl 44(%r13),%eax + vmovdqu %ymm9,384(%rsp) + leal (%rax,%rbx,1),%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + xorl %ecx,%ebp + addl %r12d,%eax + xorl %edx,%ebp + addl 64(%r13),%esi + leal (%rsi,%rbp,1),%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + xorl %ebx,%eax + addl %r12d,%esi + xorl %ecx,%eax + vpalignr $8,%ymm3,%ymm4,%ymm8 + vpxor %ymm1,%ymm5,%ymm5 + addl 68(%r13),%edx + leal (%rdx,%rax,1),%edx + vpxor %ymm6,%ymm5,%ymm5 + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + xorl %ebp,%esi + vpxor %ymm8,%ymm5,%ymm5 + addl %r12d,%edx + xorl %ebx,%esi + addl 72(%r13),%ecx + vpsrld $30,%ymm5,%ymm8 + vpslld $2,%ymm5,%ymm5 + leal (%rcx,%rsi,1),%ecx + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + xorl %eax,%edx + addl %r12d,%ecx + xorl %ebp,%edx + vpor %ymm8,%ymm5,%ymm5 + addl 76(%r13),%ebx + leal (%rbx,%rdx,1),%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + vpaddd %ymm11,%ymm5,%ymm9 + xorl %esi,%ecx + addl %r12d,%ebx + xorl %eax,%ecx + addl 96(%r13),%ebp + vmovdqu %ymm9,416(%rsp) + leal (%rcx,%rbp,1),%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + xorl %edx,%ebx + addl %r12d,%ebp + xorl %esi,%ebx + addl 100(%r13),%eax + leal (%rax,%rbx,1),%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + xorl %ecx,%ebp + addl %r12d,%eax + xorl %edx,%ebp + vpalignr $8,%ymm4,%ymm5,%ymm8 + vpxor %ymm2,%ymm6,%ymm6 + addl 104(%r13),%esi + leal (%rsi,%rbp,1),%esi + vpxor %ymm7,%ymm6,%ymm6 + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + xorl %ebx,%eax + vpxor %ymm8,%ymm6,%ymm6 + addl %r12d,%esi + xorl %ecx,%eax + addl 108(%r13),%edx + leaq 256(%r13),%r13 + vpsrld $30,%ymm6,%ymm8 + vpslld $2,%ymm6,%ymm6 + leal (%rdx,%rax,1),%edx + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + xorl %ebp,%esi + addl %r12d,%edx + xorl %ebx,%esi + vpor %ymm8,%ymm6,%ymm6 + addl -128(%r13),%ecx + leal (%rcx,%rsi,1),%ecx + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + vpaddd %ymm11,%ymm6,%ymm9 + xorl %eax,%edx + addl %r12d,%ecx + xorl %ebp,%edx + addl -124(%r13),%ebx + vmovdqu %ymm9,448(%rsp) + leal (%rbx,%rdx,1),%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + xorl %esi,%ecx + addl %r12d,%ebx + xorl %eax,%ecx + addl -120(%r13),%ebp + leal (%rcx,%rbp,1),%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + xorl %edx,%ebx + addl %r12d,%ebp + xorl %esi,%ebx + vpalignr $8,%ymm5,%ymm6,%ymm8 + vpxor %ymm3,%ymm7,%ymm7 + addl -116(%r13),%eax + leal (%rax,%rbx,1),%eax + vpxor %ymm0,%ymm7,%ymm7 + vmovdqu 32(%r14),%ymm11 + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + xorl %ecx,%ebp + vpxor %ymm8,%ymm7,%ymm7 + addl %r12d,%eax + xorl %edx,%ebp + addl -96(%r13),%esi + vpsrld $30,%ymm7,%ymm8 + vpslld $2,%ymm7,%ymm7 + leal (%rsi,%rbp,1),%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + xorl %ebx,%eax + addl %r12d,%esi + xorl %ecx,%eax + vpor %ymm8,%ymm7,%ymm7 + addl -92(%r13),%edx + leal (%rdx,%rax,1),%edx + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + vpaddd %ymm11,%ymm7,%ymm9 + xorl %ebp,%esi + addl %r12d,%edx + xorl %ebx,%esi + addl -88(%r13),%ecx + vmovdqu %ymm9,480(%rsp) + leal (%rcx,%rsi,1),%ecx + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + xorl %eax,%edx + addl %r12d,%ecx + xorl %ebp,%edx + addl -84(%r13),%ebx + movl %esi,%edi + xorl %eax,%edi + leal (%rbx,%rdx,1),%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + xorl %esi,%ecx + addl %r12d,%ebx + andl %edi,%ecx + jmp L$align32_2 +.p2align 5 +L$align32_2: + vpalignr $8,%ymm6,%ymm7,%ymm8 + vpxor %ymm4,%ymm0,%ymm0 + addl -64(%r13),%ebp + xorl %esi,%ecx + vpxor %ymm1,%ymm0,%ymm0 + movl %edx,%edi + xorl %esi,%edi + leal (%rcx,%rbp,1),%ebp + vpxor %ymm8,%ymm0,%ymm0 + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + xorl %edx,%ebx + vpsrld $30,%ymm0,%ymm8 + vpslld $2,%ymm0,%ymm0 + addl %r12d,%ebp + andl %edi,%ebx + addl -60(%r13),%eax + xorl %edx,%ebx + movl %ecx,%edi + xorl %edx,%edi + vpor %ymm8,%ymm0,%ymm0 + leal (%rax,%rbx,1),%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + xorl %ecx,%ebp + vpaddd %ymm11,%ymm0,%ymm9 + addl %r12d,%eax + andl %edi,%ebp + addl -56(%r13),%esi + xorl %ecx,%ebp + vmovdqu %ymm9,512(%rsp) + movl %ebx,%edi + xorl %ecx,%edi + leal (%rsi,%rbp,1),%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + xorl %ebx,%eax + addl %r12d,%esi + andl %edi,%eax + addl -52(%r13),%edx + xorl %ebx,%eax + movl %ebp,%edi + xorl %ebx,%edi + leal (%rdx,%rax,1),%edx + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + xorl %ebp,%esi + addl %r12d,%edx + andl %edi,%esi + addl -32(%r13),%ecx + xorl %ebp,%esi + movl %eax,%edi + xorl %ebp,%edi + leal (%rcx,%rsi,1),%ecx + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + xorl %eax,%edx + addl %r12d,%ecx + andl %edi,%edx + vpalignr $8,%ymm7,%ymm0,%ymm8 + vpxor %ymm5,%ymm1,%ymm1 + addl -28(%r13),%ebx + xorl %eax,%edx + vpxor %ymm2,%ymm1,%ymm1 + movl %esi,%edi + xorl %eax,%edi + leal (%rbx,%rdx,1),%ebx + vpxor %ymm8,%ymm1,%ymm1 + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + xorl %esi,%ecx + vpsrld $30,%ymm1,%ymm8 + vpslld $2,%ymm1,%ymm1 + addl %r12d,%ebx + andl %edi,%ecx + addl -24(%r13),%ebp + xorl %esi,%ecx + movl %edx,%edi + xorl %esi,%edi + vpor %ymm8,%ymm1,%ymm1 + leal (%rcx,%rbp,1),%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + xorl %edx,%ebx + vpaddd %ymm11,%ymm1,%ymm9 + addl %r12d,%ebp + andl %edi,%ebx + addl -20(%r13),%eax + xorl %edx,%ebx + vmovdqu %ymm9,544(%rsp) + movl %ecx,%edi + xorl %edx,%edi + leal (%rax,%rbx,1),%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + xorl %ecx,%ebp + addl %r12d,%eax + andl %edi,%ebp + addl 0(%r13),%esi + xorl %ecx,%ebp + movl %ebx,%edi + xorl %ecx,%edi + leal (%rsi,%rbp,1),%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + xorl %ebx,%eax + addl %r12d,%esi + andl %edi,%eax + addl 4(%r13),%edx + xorl %ebx,%eax + movl %ebp,%edi + xorl %ebx,%edi + leal (%rdx,%rax,1),%edx + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + xorl %ebp,%esi + addl %r12d,%edx + andl %edi,%esi + vpalignr $8,%ymm0,%ymm1,%ymm8 + vpxor %ymm6,%ymm2,%ymm2 + addl 8(%r13),%ecx + xorl %ebp,%esi + vpxor %ymm3,%ymm2,%ymm2 + movl %eax,%edi + xorl %ebp,%edi + leal (%rcx,%rsi,1),%ecx + vpxor %ymm8,%ymm2,%ymm2 + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + xorl %eax,%edx + vpsrld $30,%ymm2,%ymm8 + vpslld $2,%ymm2,%ymm2 + addl %r12d,%ecx + andl %edi,%edx + addl 12(%r13),%ebx + xorl %eax,%edx + movl %esi,%edi + xorl %eax,%edi + vpor %ymm8,%ymm2,%ymm2 + leal (%rbx,%rdx,1),%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + xorl %esi,%ecx + vpaddd %ymm11,%ymm2,%ymm9 + addl %r12d,%ebx + andl %edi,%ecx + addl 32(%r13),%ebp + xorl %esi,%ecx + vmovdqu %ymm9,576(%rsp) + movl %edx,%edi + xorl %esi,%edi + leal (%rcx,%rbp,1),%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + xorl %edx,%ebx + addl %r12d,%ebp + andl %edi,%ebx + addl 36(%r13),%eax + xorl %edx,%ebx + movl %ecx,%edi + xorl %edx,%edi + leal (%rax,%rbx,1),%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + xorl %ecx,%ebp + addl %r12d,%eax + andl %edi,%ebp + addl 40(%r13),%esi + xorl %ecx,%ebp + movl %ebx,%edi + xorl %ecx,%edi + leal (%rsi,%rbp,1),%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + xorl %ebx,%eax + addl %r12d,%esi + andl %edi,%eax + vpalignr $8,%ymm1,%ymm2,%ymm8 + vpxor %ymm7,%ymm3,%ymm3 + addl 44(%r13),%edx + xorl %ebx,%eax + vpxor %ymm4,%ymm3,%ymm3 + movl %ebp,%edi + xorl %ebx,%edi + leal (%rdx,%rax,1),%edx + vpxor %ymm8,%ymm3,%ymm3 + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + xorl %ebp,%esi + vpsrld $30,%ymm3,%ymm8 + vpslld $2,%ymm3,%ymm3 + addl %r12d,%edx + andl %edi,%esi + addl 64(%r13),%ecx + xorl %ebp,%esi + movl %eax,%edi + xorl %ebp,%edi + vpor %ymm8,%ymm3,%ymm3 + leal (%rcx,%rsi,1),%ecx + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + xorl %eax,%edx + vpaddd %ymm11,%ymm3,%ymm9 + addl %r12d,%ecx + andl %edi,%edx + addl 68(%r13),%ebx + xorl %eax,%edx + vmovdqu %ymm9,608(%rsp) + movl %esi,%edi + xorl %eax,%edi + leal (%rbx,%rdx,1),%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + xorl %esi,%ecx + addl %r12d,%ebx + andl %edi,%ecx + addl 72(%r13),%ebp + xorl %esi,%ecx + movl %edx,%edi + xorl %esi,%edi + leal (%rcx,%rbp,1),%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + xorl %edx,%ebx + addl %r12d,%ebp + andl %edi,%ebx + addl 76(%r13),%eax + xorl %edx,%ebx + leal (%rax,%rbx,1),%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + xorl %ecx,%ebp + addl %r12d,%eax + xorl %edx,%ebp + addl 96(%r13),%esi + leal (%rsi,%rbp,1),%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + xorl %ebx,%eax + addl %r12d,%esi + xorl %ecx,%eax + addl 100(%r13),%edx + leal (%rdx,%rax,1),%edx + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + xorl %ebp,%esi + addl %r12d,%edx + xorl %ebx,%esi + addl 104(%r13),%ecx + leal (%rcx,%rsi,1),%ecx + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + xorl %eax,%edx + addl %r12d,%ecx + xorl %ebp,%edx + addl 108(%r13),%ebx + leaq 256(%r13),%r13 + leal (%rbx,%rdx,1),%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + xorl %esi,%ecx + addl %r12d,%ebx + xorl %eax,%ecx + addl -128(%r13),%ebp + leal (%rcx,%rbp,1),%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + xorl %edx,%ebx + addl %r12d,%ebp + xorl %esi,%ebx + addl -124(%r13),%eax + leal (%rax,%rbx,1),%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + xorl %ecx,%ebp + addl %r12d,%eax + xorl %edx,%ebp + addl -120(%r13),%esi + leal (%rsi,%rbp,1),%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + xorl %ebx,%eax + addl %r12d,%esi + xorl %ecx,%eax + addl -116(%r13),%edx + leal (%rdx,%rax,1),%edx + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + xorl %ebp,%esi + addl %r12d,%edx + xorl %ebx,%esi + addl -96(%r13),%ecx + leal (%rcx,%rsi,1),%ecx + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + xorl %eax,%edx + addl %r12d,%ecx + xorl %ebp,%edx + addl -92(%r13),%ebx + leal (%rbx,%rdx,1),%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + xorl %esi,%ecx + addl %r12d,%ebx + xorl %eax,%ecx + addl -88(%r13),%ebp + leal (%rcx,%rbp,1),%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + xorl %edx,%ebx + addl %r12d,%ebp + xorl %esi,%ebx + addl -84(%r13),%eax + leal (%rax,%rbx,1),%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + xorl %ecx,%ebp + addl %r12d,%eax + xorl %edx,%ebp + addl -64(%r13),%esi + leal (%rsi,%rbp,1),%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + xorl %ebx,%eax + addl %r12d,%esi + xorl %ecx,%eax + addl -60(%r13),%edx + leal (%rdx,%rax,1),%edx + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + xorl %ebp,%esi + addl %r12d,%edx + xorl %ebx,%esi + addl -56(%r13),%ecx + leal (%rcx,%rsi,1),%ecx + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + xorl %eax,%edx + addl %r12d,%ecx + xorl %ebp,%edx + addl -52(%r13),%ebx + leal (%rbx,%rdx,1),%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + xorl %esi,%ecx + addl %r12d,%ebx + xorl %eax,%ecx + addl -32(%r13),%ebp + leal (%rcx,%rbp,1),%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + xorl %edx,%ebx + addl %r12d,%ebp + xorl %esi,%ebx + addl -28(%r13),%eax + leal (%rax,%rbx,1),%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + xorl %ecx,%ebp + addl %r12d,%eax + xorl %edx,%ebp + addl -24(%r13),%esi + leal (%rsi,%rbp,1),%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + xorl %ebx,%eax + addl %r12d,%esi + xorl %ecx,%eax + addl -20(%r13),%edx + leal (%rdx,%rax,1),%edx + rorxl $27,%esi,%r12d + addl %r12d,%edx + leaq 128(%r9),%r13 + leaq 128(%r9),%rdi + cmpq %r10,%r13 + cmovaeq %r9,%r13 + + + addl 0(%r8),%edx + addl 4(%r8),%esi + addl 8(%r8),%ebp + movl %edx,0(%r8) + addl 12(%r8),%ebx + movl %esi,4(%r8) + movl %edx,%eax + addl 16(%r8),%ecx + movl %ebp,%r12d + movl %ebp,8(%r8) + movl %ebx,%edx + + movl %ebx,12(%r8) + movl %esi,%ebp + movl %ecx,16(%r8) + + movl %ecx,%esi + movl %r12d,%ecx + + + cmpq %r10,%r9 + je L$done_avx2 + vmovdqu 64(%r14),%ymm6 + cmpq %r10,%rdi + ja L$ast_avx2 + + vmovdqu -64(%rdi),%xmm0 + vmovdqu -48(%rdi),%xmm1 + vmovdqu -32(%rdi),%xmm2 + vmovdqu -16(%rdi),%xmm3 + vinserti128 $1,0(%r13),%ymm0,%ymm0 + vinserti128 $1,16(%r13),%ymm1,%ymm1 + vinserti128 $1,32(%r13),%ymm2,%ymm2 + vinserti128 $1,48(%r13),%ymm3,%ymm3 + jmp L$ast_avx2 + +.p2align 5 +L$ast_avx2: + leaq 128+16(%rsp),%r13 + rorxl $2,%ebp,%ebx + andnl %edx,%ebp,%edi + andl %ecx,%ebp + xorl %edi,%ebp + subq $-128,%r9 + addl -128(%r13),%esi + andnl %ecx,%eax,%edi + addl %ebp,%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + andl %ebx,%eax + addl %r12d,%esi + xorl %edi,%eax + addl -124(%r13),%edx + andnl %ebx,%esi,%edi + addl %eax,%edx + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + andl %ebp,%esi + addl %r12d,%edx + xorl %edi,%esi + addl -120(%r13),%ecx + andnl %ebp,%edx,%edi + addl %esi,%ecx + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + andl %eax,%edx + addl %r12d,%ecx + xorl %edi,%edx + addl -116(%r13),%ebx + andnl %eax,%ecx,%edi + addl %edx,%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + andl %esi,%ecx + addl %r12d,%ebx + xorl %edi,%ecx + addl -96(%r13),%ebp + andnl %esi,%ebx,%edi + addl %ecx,%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + andl %edx,%ebx + addl %r12d,%ebp + xorl %edi,%ebx + addl -92(%r13),%eax + andnl %edx,%ebp,%edi + addl %ebx,%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + andl %ecx,%ebp + addl %r12d,%eax + xorl %edi,%ebp + addl -88(%r13),%esi + andnl %ecx,%eax,%edi + addl %ebp,%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + andl %ebx,%eax + addl %r12d,%esi + xorl %edi,%eax + addl -84(%r13),%edx + andnl %ebx,%esi,%edi + addl %eax,%edx + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + andl %ebp,%esi + addl %r12d,%edx + xorl %edi,%esi + addl -64(%r13),%ecx + andnl %ebp,%edx,%edi + addl %esi,%ecx + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + andl %eax,%edx + addl %r12d,%ecx + xorl %edi,%edx + addl -60(%r13),%ebx + andnl %eax,%ecx,%edi + addl %edx,%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + andl %esi,%ecx + addl %r12d,%ebx + xorl %edi,%ecx + addl -56(%r13),%ebp + andnl %esi,%ebx,%edi + addl %ecx,%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + andl %edx,%ebx + addl %r12d,%ebp + xorl %edi,%ebx + addl -52(%r13),%eax + andnl %edx,%ebp,%edi + addl %ebx,%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + andl %ecx,%ebp + addl %r12d,%eax + xorl %edi,%ebp + addl -32(%r13),%esi + andnl %ecx,%eax,%edi + addl %ebp,%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + andl %ebx,%eax + addl %r12d,%esi + xorl %edi,%eax + addl -28(%r13),%edx + andnl %ebx,%esi,%edi + addl %eax,%edx + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + andl %ebp,%esi + addl %r12d,%edx + xorl %edi,%esi + addl -24(%r13),%ecx + andnl %ebp,%edx,%edi + addl %esi,%ecx + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + andl %eax,%edx + addl %r12d,%ecx + xorl %edi,%edx + addl -20(%r13),%ebx + andnl %eax,%ecx,%edi + addl %edx,%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + andl %esi,%ecx + addl %r12d,%ebx + xorl %edi,%ecx + addl 0(%r13),%ebp + andnl %esi,%ebx,%edi + addl %ecx,%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + andl %edx,%ebx + addl %r12d,%ebp + xorl %edi,%ebx + addl 4(%r13),%eax + andnl %edx,%ebp,%edi + addl %ebx,%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + andl %ecx,%ebp + addl %r12d,%eax + xorl %edi,%ebp + addl 8(%r13),%esi + andnl %ecx,%eax,%edi + addl %ebp,%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + andl %ebx,%eax + addl %r12d,%esi + xorl %edi,%eax + addl 12(%r13),%edx + leal (%rdx,%rax,1),%edx + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + xorl %ebp,%esi + addl %r12d,%edx + xorl %ebx,%esi + addl 32(%r13),%ecx + leal (%rcx,%rsi,1),%ecx + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + xorl %eax,%edx + addl %r12d,%ecx + xorl %ebp,%edx + addl 36(%r13),%ebx + leal (%rbx,%rdx,1),%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + xorl %esi,%ecx + addl %r12d,%ebx + xorl %eax,%ecx + addl 40(%r13),%ebp + leal (%rcx,%rbp,1),%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + xorl %edx,%ebx + addl %r12d,%ebp + xorl %esi,%ebx + addl 44(%r13),%eax + leal (%rax,%rbx,1),%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + xorl %ecx,%ebp + addl %r12d,%eax + xorl %edx,%ebp + addl 64(%r13),%esi + leal (%rsi,%rbp,1),%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + xorl %ebx,%eax + addl %r12d,%esi + xorl %ecx,%eax + vmovdqu -64(%r14),%ymm11 + vpshufb %ymm6,%ymm0,%ymm0 + addl 68(%r13),%edx + leal (%rdx,%rax,1),%edx + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + xorl %ebp,%esi + addl %r12d,%edx + xorl %ebx,%esi + addl 72(%r13),%ecx + leal (%rcx,%rsi,1),%ecx + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + xorl %eax,%edx + addl %r12d,%ecx + xorl %ebp,%edx + addl 76(%r13),%ebx + leal (%rbx,%rdx,1),%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + xorl %esi,%ecx + addl %r12d,%ebx + xorl %eax,%ecx + addl 96(%r13),%ebp + leal (%rcx,%rbp,1),%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + xorl %edx,%ebx + addl %r12d,%ebp + xorl %esi,%ebx + addl 100(%r13),%eax + leal (%rax,%rbx,1),%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + xorl %ecx,%ebp + addl %r12d,%eax + xorl %edx,%ebp + vpshufb %ymm6,%ymm1,%ymm1 + vpaddd %ymm11,%ymm0,%ymm8 + addl 104(%r13),%esi + leal (%rsi,%rbp,1),%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + xorl %ebx,%eax + addl %r12d,%esi + xorl %ecx,%eax + addl 108(%r13),%edx + leaq 256(%r13),%r13 + leal (%rdx,%rax,1),%edx + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + xorl %ebp,%esi + addl %r12d,%edx + xorl %ebx,%esi + addl -128(%r13),%ecx + leal (%rcx,%rsi,1),%ecx + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + xorl %eax,%edx + addl %r12d,%ecx + xorl %ebp,%edx + addl -124(%r13),%ebx + leal (%rbx,%rdx,1),%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + xorl %esi,%ecx + addl %r12d,%ebx + xorl %eax,%ecx + addl -120(%r13),%ebp + leal (%rcx,%rbp,1),%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + xorl %edx,%ebx + addl %r12d,%ebp + xorl %esi,%ebx + vmovdqu %ymm8,0(%rsp) + vpshufb %ymm6,%ymm2,%ymm2 + vpaddd %ymm11,%ymm1,%ymm9 + addl -116(%r13),%eax + leal (%rax,%rbx,1),%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + xorl %ecx,%ebp + addl %r12d,%eax + xorl %edx,%ebp + addl -96(%r13),%esi + leal (%rsi,%rbp,1),%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + xorl %ebx,%eax + addl %r12d,%esi + xorl %ecx,%eax + addl -92(%r13),%edx + leal (%rdx,%rax,1),%edx + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + xorl %ebp,%esi + addl %r12d,%edx + xorl %ebx,%esi + addl -88(%r13),%ecx + leal (%rcx,%rsi,1),%ecx + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + xorl %eax,%edx + addl %r12d,%ecx + xorl %ebp,%edx + addl -84(%r13),%ebx + movl %esi,%edi + xorl %eax,%edi + leal (%rbx,%rdx,1),%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + xorl %esi,%ecx + addl %r12d,%ebx + andl %edi,%ecx + vmovdqu %ymm9,32(%rsp) + vpshufb %ymm6,%ymm3,%ymm3 + vpaddd %ymm11,%ymm2,%ymm6 + addl -64(%r13),%ebp + xorl %esi,%ecx + movl %edx,%edi + xorl %esi,%edi + leal (%rcx,%rbp,1),%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + xorl %edx,%ebx + addl %r12d,%ebp + andl %edi,%ebx + addl -60(%r13),%eax + xorl %edx,%ebx + movl %ecx,%edi + xorl %edx,%edi + leal (%rax,%rbx,1),%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + xorl %ecx,%ebp + addl %r12d,%eax + andl %edi,%ebp + addl -56(%r13),%esi + xorl %ecx,%ebp + movl %ebx,%edi + xorl %ecx,%edi + leal (%rsi,%rbp,1),%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + xorl %ebx,%eax + addl %r12d,%esi + andl %edi,%eax + addl -52(%r13),%edx + xorl %ebx,%eax + movl %ebp,%edi + xorl %ebx,%edi + leal (%rdx,%rax,1),%edx + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + xorl %ebp,%esi + addl %r12d,%edx + andl %edi,%esi + addl -32(%r13),%ecx + xorl %ebp,%esi + movl %eax,%edi + xorl %ebp,%edi + leal (%rcx,%rsi,1),%ecx + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + xorl %eax,%edx + addl %r12d,%ecx + andl %edi,%edx + jmp L$align32_3 +.p2align 5 +L$align32_3: + vmovdqu %ymm6,64(%rsp) + vpaddd %ymm11,%ymm3,%ymm7 + addl -28(%r13),%ebx + xorl %eax,%edx + movl %esi,%edi + xorl %eax,%edi + leal (%rbx,%rdx,1),%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + xorl %esi,%ecx + addl %r12d,%ebx + andl %edi,%ecx + addl -24(%r13),%ebp + xorl %esi,%ecx + movl %edx,%edi + xorl %esi,%edi + leal (%rcx,%rbp,1),%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + xorl %edx,%ebx + addl %r12d,%ebp + andl %edi,%ebx + addl -20(%r13),%eax + xorl %edx,%ebx + movl %ecx,%edi + xorl %edx,%edi + leal (%rax,%rbx,1),%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + xorl %ecx,%ebp + addl %r12d,%eax + andl %edi,%ebp + addl 0(%r13),%esi + xorl %ecx,%ebp + movl %ebx,%edi + xorl %ecx,%edi + leal (%rsi,%rbp,1),%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + xorl %ebx,%eax + addl %r12d,%esi + andl %edi,%eax + addl 4(%r13),%edx + xorl %ebx,%eax + movl %ebp,%edi + xorl %ebx,%edi + leal (%rdx,%rax,1),%edx + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + xorl %ebp,%esi + addl %r12d,%edx + andl %edi,%esi + vmovdqu %ymm7,96(%rsp) + addl 8(%r13),%ecx + xorl %ebp,%esi + movl %eax,%edi + xorl %ebp,%edi + leal (%rcx,%rsi,1),%ecx + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + xorl %eax,%edx + addl %r12d,%ecx + andl %edi,%edx + addl 12(%r13),%ebx + xorl %eax,%edx + movl %esi,%edi + xorl %eax,%edi + leal (%rbx,%rdx,1),%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + xorl %esi,%ecx + addl %r12d,%ebx + andl %edi,%ecx + addl 32(%r13),%ebp + xorl %esi,%ecx + movl %edx,%edi + xorl %esi,%edi + leal (%rcx,%rbp,1),%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + xorl %edx,%ebx + addl %r12d,%ebp + andl %edi,%ebx + addl 36(%r13),%eax + xorl %edx,%ebx + movl %ecx,%edi + xorl %edx,%edi + leal (%rax,%rbx,1),%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + xorl %ecx,%ebp + addl %r12d,%eax + andl %edi,%ebp + addl 40(%r13),%esi + xorl %ecx,%ebp + movl %ebx,%edi + xorl %ecx,%edi + leal (%rsi,%rbp,1),%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + xorl %ebx,%eax + addl %r12d,%esi + andl %edi,%eax + vpalignr $8,%ymm0,%ymm1,%ymm4 + addl 44(%r13),%edx + xorl %ebx,%eax + movl %ebp,%edi + xorl %ebx,%edi + vpsrldq $4,%ymm3,%ymm8 + leal (%rdx,%rax,1),%edx + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + vpxor %ymm0,%ymm4,%ymm4 + vpxor %ymm2,%ymm8,%ymm8 + xorl %ebp,%esi + addl %r12d,%edx + vpxor %ymm8,%ymm4,%ymm4 + andl %edi,%esi + addl 64(%r13),%ecx + xorl %ebp,%esi + movl %eax,%edi + vpsrld $31,%ymm4,%ymm8 + xorl %ebp,%edi + leal (%rcx,%rsi,1),%ecx + rorxl $27,%edx,%r12d + vpslldq $12,%ymm4,%ymm10 + vpaddd %ymm4,%ymm4,%ymm4 + rorxl $2,%edx,%esi + xorl %eax,%edx + vpsrld $30,%ymm10,%ymm9 + vpor %ymm8,%ymm4,%ymm4 + addl %r12d,%ecx + andl %edi,%edx + vpslld $2,%ymm10,%ymm10 + vpxor %ymm9,%ymm4,%ymm4 + addl 68(%r13),%ebx + xorl %eax,%edx + vpxor %ymm10,%ymm4,%ymm4 + movl %esi,%edi + xorl %eax,%edi + leal (%rbx,%rdx,1),%ebx + vpaddd %ymm11,%ymm4,%ymm9 + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + xorl %esi,%ecx + vmovdqu %ymm9,128(%rsp) + addl %r12d,%ebx + andl %edi,%ecx + addl 72(%r13),%ebp + xorl %esi,%ecx + movl %edx,%edi + xorl %esi,%edi + leal (%rcx,%rbp,1),%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + xorl %edx,%ebx + addl %r12d,%ebp + andl %edi,%ebx + addl 76(%r13),%eax + xorl %edx,%ebx + leal (%rax,%rbx,1),%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + xorl %ecx,%ebp + addl %r12d,%eax + xorl %edx,%ebp + vpalignr $8,%ymm1,%ymm2,%ymm5 + addl 96(%r13),%esi + leal (%rsi,%rbp,1),%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + vpsrldq $4,%ymm4,%ymm8 + xorl %ebx,%eax + addl %r12d,%esi + xorl %ecx,%eax + vpxor %ymm1,%ymm5,%ymm5 + vpxor %ymm3,%ymm8,%ymm8 + addl 100(%r13),%edx + leal (%rdx,%rax,1),%edx + vpxor %ymm8,%ymm5,%ymm5 + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + xorl %ebp,%esi + addl %r12d,%edx + vpsrld $31,%ymm5,%ymm8 + vmovdqu -32(%r14),%ymm11 + xorl %ebx,%esi + addl 104(%r13),%ecx + leal (%rcx,%rsi,1),%ecx + vpslldq $12,%ymm5,%ymm10 + vpaddd %ymm5,%ymm5,%ymm5 + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + vpsrld $30,%ymm10,%ymm9 + vpor %ymm8,%ymm5,%ymm5 + xorl %eax,%edx + addl %r12d,%ecx + vpslld $2,%ymm10,%ymm10 + vpxor %ymm9,%ymm5,%ymm5 + xorl %ebp,%edx + addl 108(%r13),%ebx + leaq 256(%r13),%r13 + vpxor %ymm10,%ymm5,%ymm5 + leal (%rbx,%rdx,1),%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + vpaddd %ymm11,%ymm5,%ymm9 + xorl %esi,%ecx + addl %r12d,%ebx + xorl %eax,%ecx + vmovdqu %ymm9,160(%rsp) + addl -128(%r13),%ebp + leal (%rcx,%rbp,1),%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + xorl %edx,%ebx + addl %r12d,%ebp + xorl %esi,%ebx + vpalignr $8,%ymm2,%ymm3,%ymm6 + addl -124(%r13),%eax + leal (%rax,%rbx,1),%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + vpsrldq $4,%ymm5,%ymm8 + xorl %ecx,%ebp + addl %r12d,%eax + xorl %edx,%ebp + vpxor %ymm2,%ymm6,%ymm6 + vpxor %ymm4,%ymm8,%ymm8 + addl -120(%r13),%esi + leal (%rsi,%rbp,1),%esi + vpxor %ymm8,%ymm6,%ymm6 + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + xorl %ebx,%eax + addl %r12d,%esi + vpsrld $31,%ymm6,%ymm8 + xorl %ecx,%eax + addl -116(%r13),%edx + leal (%rdx,%rax,1),%edx + vpslldq $12,%ymm6,%ymm10 + vpaddd %ymm6,%ymm6,%ymm6 + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + vpsrld $30,%ymm10,%ymm9 + vpor %ymm8,%ymm6,%ymm6 + xorl %ebp,%esi + addl %r12d,%edx + vpslld $2,%ymm10,%ymm10 + vpxor %ymm9,%ymm6,%ymm6 + xorl %ebx,%esi + addl -96(%r13),%ecx + vpxor %ymm10,%ymm6,%ymm6 + leal (%rcx,%rsi,1),%ecx + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + vpaddd %ymm11,%ymm6,%ymm9 + xorl %eax,%edx + addl %r12d,%ecx + xorl %ebp,%edx + vmovdqu %ymm9,192(%rsp) + addl -92(%r13),%ebx + leal (%rbx,%rdx,1),%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + xorl %esi,%ecx + addl %r12d,%ebx + xorl %eax,%ecx + vpalignr $8,%ymm3,%ymm4,%ymm7 + addl -88(%r13),%ebp + leal (%rcx,%rbp,1),%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + vpsrldq $4,%ymm6,%ymm8 + xorl %edx,%ebx + addl %r12d,%ebp + xorl %esi,%ebx + vpxor %ymm3,%ymm7,%ymm7 + vpxor %ymm5,%ymm8,%ymm8 + addl -84(%r13),%eax + leal (%rax,%rbx,1),%eax + vpxor %ymm8,%ymm7,%ymm7 + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + xorl %ecx,%ebp + addl %r12d,%eax + vpsrld $31,%ymm7,%ymm8 + xorl %edx,%ebp + addl -64(%r13),%esi + leal (%rsi,%rbp,1),%esi + vpslldq $12,%ymm7,%ymm10 + vpaddd %ymm7,%ymm7,%ymm7 + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + vpsrld $30,%ymm10,%ymm9 + vpor %ymm8,%ymm7,%ymm7 + xorl %ebx,%eax + addl %r12d,%esi + vpslld $2,%ymm10,%ymm10 + vpxor %ymm9,%ymm7,%ymm7 + xorl %ecx,%eax + addl -60(%r13),%edx + vpxor %ymm10,%ymm7,%ymm7 + leal (%rdx,%rax,1),%edx + rorxl $27,%esi,%r12d + rorxl $2,%esi,%eax + vpaddd %ymm11,%ymm7,%ymm9 + xorl %ebp,%esi + addl %r12d,%edx + xorl %ebx,%esi + vmovdqu %ymm9,224(%rsp) + addl -56(%r13),%ecx + leal (%rcx,%rsi,1),%ecx + rorxl $27,%edx,%r12d + rorxl $2,%edx,%esi + xorl %eax,%edx + addl %r12d,%ecx + xorl %ebp,%edx + addl -52(%r13),%ebx + leal (%rbx,%rdx,1),%ebx + rorxl $27,%ecx,%r12d + rorxl $2,%ecx,%edx + xorl %esi,%ecx + addl %r12d,%ebx + xorl %eax,%ecx + addl -32(%r13),%ebp + leal (%rcx,%rbp,1),%ebp + rorxl $27,%ebx,%r12d + rorxl $2,%ebx,%ecx + xorl %edx,%ebx + addl %r12d,%ebp + xorl %esi,%ebx + addl -28(%r13),%eax + leal (%rax,%rbx,1),%eax + rorxl $27,%ebp,%r12d + rorxl $2,%ebp,%ebx + xorl %ecx,%ebp + addl %r12d,%eax + xorl %edx,%ebp + addl -24(%r13),%esi + leal (%rsi,%rbp,1),%esi + rorxl $27,%eax,%r12d + rorxl $2,%eax,%ebp + xorl %ebx,%eax + addl %r12d,%esi + xorl %ecx,%eax + addl -20(%r13),%edx + leal (%rdx,%rax,1),%edx + rorxl $27,%esi,%r12d + addl %r12d,%edx + leaq 128(%rsp),%r13 + + + addl 0(%r8),%edx + addl 4(%r8),%esi + addl 8(%r8),%ebp + movl %edx,0(%r8) + addl 12(%r8),%ebx + movl %esi,4(%r8) + movl %edx,%eax + addl 16(%r8),%ecx + movl %ebp,%r12d + movl %ebp,8(%r8) + movl %ebx,%edx + + movl %ebx,12(%r8) + movl %esi,%ebp + movl %ecx,16(%r8) + + movl %ecx,%esi + movl %r12d,%ecx + + + cmpq %r10,%r9 + jbe L$oop_avx2 + +L$done_avx2: + vzeroupper + movq -40(%r11),%r14 + + movq -32(%r11),%r13 + + movq -24(%r11),%r12 + + movq -16(%r11),%rbp + + movq -8(%r11),%rbx + + leaq (%r11),%rsp + +L$epilogue_avx2: + .byte 0xf3,0xc3 + + .p2align 6 K_XX_XX: .long 0x5a827999,0x5a827999,0x5a827999,0x5a827999 diff --git a/contrib/boringssl-cmake/mac-x86_64/crypto/fipsmodule/vpaes-x86_64.S b/contrib/boringssl-cmake/mac-x86_64/crypto/fipsmodule/vpaes-x86_64.S index 2f60a22c807..cd52d67e606 100644 --- a/contrib/boringssl-cmake/mac-x86_64/crypto/fipsmodule/vpaes-x86_64.S +++ b/contrib/boringssl-cmake/mac-x86_64/crypto/fipsmodule/vpaes-x86_64.S @@ -812,11 +812,9 @@ L$schedule_mangle_both: .p2align 4 _vpaes_set_encrypt_key: -#ifndef NDEBUG -#ifndef BORINGSSL_FIPS +#ifdef BORINGSSL_DISPATCH_TEST movb $1,_BORINGSSL_function_hit+5(%rip) -#endif #endif movl %esi,%eax @@ -862,11 +860,9 @@ _vpaes_set_decrypt_key: .p2align 4 _vpaes_encrypt: -#ifndef NDEBUG -#ifndef BORINGSSL_FIPS +#ifdef BORINGSSL_DISPATCH_TEST movb $1,_BORINGSSL_function_hit+4(%rip) -#endif #endif movdqu (%rdi),%xmm0 call _vpaes_preheat diff --git a/contrib/boringssl-cmake/mac-x86_64/crypto/third_party/sike/asm/fp-x86_64.S b/contrib/boringssl-cmake/mac-x86_64/crypto/third_party/sike/asm/fp-x86_64.S deleted file mode 100644 index f1e7ea4f63e..00000000000 --- a/contrib/boringssl-cmake/mac-x86_64/crypto/third_party/sike/asm/fp-x86_64.S +++ /dev/null @@ -1,1869 +0,0 @@ -# This file is generated from a similarly-named Perl script in the BoringSSL -# source tree. Do not edit by hand. - -#if defined(__has_feature) -#if __has_feature(memory_sanitizer) && !defined(OPENSSL_NO_ASM) -#define OPENSSL_NO_ASM -#endif -#endif - -#if defined(__x86_64__) && !defined(OPENSSL_NO_ASM) -#if defined(BORINGSSL_PREFIX) -#include -#endif -.text - - -L$p434x2: -.quad 0xFFFFFFFFFFFFFFFE -.quad 0xFFFFFFFFFFFFFFFF -.quad 0xFB82ECF5C5FFFFFF -.quad 0xF78CB8F062B15D47 -.quad 0xD9F8BFAD038A40AC -.quad 0x0004683E4E2EE688 - - -L$p434p1: -.quad 0xFDC1767AE3000000 -.quad 0x7BC65C783158AEA3 -.quad 0x6CFC5FD681C52056 -.quad 0x0002341F27177344 - - -.private_extern _OPENSSL_ia32cap_P -.globl _sike_fpadd -.private_extern _sike_fpadd - -_sike_fpadd: - - pushq %r12 - - - pushq %r13 - - - pushq %r14 - - - - xorq %rax,%rax - - movq 0(%rdi),%r8 - addq 0(%rsi),%r8 - movq 8(%rdi),%r9 - adcq 8(%rsi),%r9 - movq 16(%rdi),%r10 - adcq 16(%rsi),%r10 - movq 24(%rdi),%r11 - adcq 24(%rsi),%r11 - movq 32(%rdi),%r12 - adcq 32(%rsi),%r12 - movq 40(%rdi),%r13 - adcq 40(%rsi),%r13 - movq 48(%rdi),%r14 - adcq 48(%rsi),%r14 - - movq L$p434x2(%rip),%rcx - subq %rcx,%r8 - movq 8+L$p434x2(%rip),%rcx - sbbq %rcx,%r9 - sbbq %rcx,%r10 - movq 16+L$p434x2(%rip),%rcx - sbbq %rcx,%r11 - movq 24+L$p434x2(%rip),%rcx - sbbq %rcx,%r12 - movq 32+L$p434x2(%rip),%rcx - sbbq %rcx,%r13 - movq 40+L$p434x2(%rip),%rcx - sbbq %rcx,%r14 - - sbbq $0,%rax - - movq L$p434x2(%rip),%rdi - andq %rax,%rdi - movq 8+L$p434x2(%rip),%rsi - andq %rax,%rsi - movq 16+L$p434x2(%rip),%rcx - andq %rax,%rcx - - addq %rdi,%r8 - movq %r8,0(%rdx) - adcq %rsi,%r9 - movq %r9,8(%rdx) - adcq %rsi,%r10 - movq %r10,16(%rdx) - adcq %rcx,%r11 - movq %r11,24(%rdx) - - setc %cl - movq 24+L$p434x2(%rip),%r8 - andq %rax,%r8 - movq 32+L$p434x2(%rip),%r9 - andq %rax,%r9 - movq 40+L$p434x2(%rip),%r10 - andq %rax,%r10 - btq $0,%rcx - - adcq %r8,%r12 - movq %r12,32(%rdx) - adcq %r9,%r13 - movq %r13,40(%rdx) - adcq %r10,%r14 - movq %r14,48(%rdx) - - popq %r14 - - popq %r13 - - popq %r12 - - .byte 0xf3,0xc3 - -.globl _sike_cswap_asm -.private_extern _sike_cswap_asm - -_sike_cswap_asm: - - - movq %rdx,%xmm3 - - - - - - pshufd $68,%xmm3,%xmm3 - - movdqu 0(%rdi),%xmm0 - movdqu 0(%rsi),%xmm1 - movdqa %xmm1,%xmm2 - pxor %xmm0,%xmm2 - pand %xmm3,%xmm2 - pxor %xmm2,%xmm0 - pxor %xmm2,%xmm1 - movdqu %xmm0,0(%rdi) - movdqu %xmm1,0(%rsi) - - movdqu 16(%rdi),%xmm0 - movdqu 16(%rsi),%xmm1 - movdqa %xmm1,%xmm2 - pxor %xmm0,%xmm2 - pand %xmm3,%xmm2 - pxor %xmm2,%xmm0 - pxor %xmm2,%xmm1 - movdqu %xmm0,16(%rdi) - movdqu %xmm1,16(%rsi) - - movdqu 32(%rdi),%xmm0 - movdqu 32(%rsi),%xmm1 - movdqa %xmm1,%xmm2 - pxor %xmm0,%xmm2 - pand %xmm3,%xmm2 - pxor %xmm2,%xmm0 - pxor %xmm2,%xmm1 - movdqu %xmm0,32(%rdi) - movdqu %xmm1,32(%rsi) - - movdqu 48(%rdi),%xmm0 - movdqu 48(%rsi),%xmm1 - movdqa %xmm1,%xmm2 - pxor %xmm0,%xmm2 - pand %xmm3,%xmm2 - pxor %xmm2,%xmm0 - pxor %xmm2,%xmm1 - movdqu %xmm0,48(%rdi) - movdqu %xmm1,48(%rsi) - - movdqu 64(%rdi),%xmm0 - movdqu 64(%rsi),%xmm1 - movdqa %xmm1,%xmm2 - pxor %xmm0,%xmm2 - pand %xmm3,%xmm2 - pxor %xmm2,%xmm0 - pxor %xmm2,%xmm1 - movdqu %xmm0,64(%rdi) - movdqu %xmm1,64(%rsi) - - movdqu 80(%rdi),%xmm0 - movdqu 80(%rsi),%xmm1 - movdqa %xmm1,%xmm2 - pxor %xmm0,%xmm2 - pand %xmm3,%xmm2 - pxor %xmm2,%xmm0 - pxor %xmm2,%xmm1 - movdqu %xmm0,80(%rdi) - movdqu %xmm1,80(%rsi) - - movdqu 96(%rdi),%xmm0 - movdqu 96(%rsi),%xmm1 - movdqa %xmm1,%xmm2 - pxor %xmm0,%xmm2 - pand %xmm3,%xmm2 - pxor %xmm2,%xmm0 - pxor %xmm2,%xmm1 - movdqu %xmm0,96(%rdi) - movdqu %xmm1,96(%rsi) - - movdqu 112(%rdi),%xmm0 - movdqu 112(%rsi),%xmm1 - movdqa %xmm1,%xmm2 - pxor %xmm0,%xmm2 - pand %xmm3,%xmm2 - pxor %xmm2,%xmm0 - pxor %xmm2,%xmm1 - movdqu %xmm0,112(%rdi) - movdqu %xmm1,112(%rsi) - - movdqu 128(%rdi),%xmm0 - movdqu 128(%rsi),%xmm1 - movdqa %xmm1,%xmm2 - pxor %xmm0,%xmm2 - pand %xmm3,%xmm2 - pxor %xmm2,%xmm0 - pxor %xmm2,%xmm1 - movdqu %xmm0,128(%rdi) - movdqu %xmm1,128(%rsi) - - movdqu 144(%rdi),%xmm0 - movdqu 144(%rsi),%xmm1 - movdqa %xmm1,%xmm2 - pxor %xmm0,%xmm2 - pand %xmm3,%xmm2 - pxor %xmm2,%xmm0 - pxor %xmm2,%xmm1 - movdqu %xmm0,144(%rdi) - movdqu %xmm1,144(%rsi) - - movdqu 160(%rdi),%xmm0 - movdqu 160(%rsi),%xmm1 - movdqa %xmm1,%xmm2 - pxor %xmm0,%xmm2 - pand %xmm3,%xmm2 - pxor %xmm2,%xmm0 - pxor %xmm2,%xmm1 - movdqu %xmm0,160(%rdi) - movdqu %xmm1,160(%rsi) - - movdqu 176(%rdi),%xmm0 - movdqu 176(%rsi),%xmm1 - movdqa %xmm1,%xmm2 - pxor %xmm0,%xmm2 - pand %xmm3,%xmm2 - pxor %xmm2,%xmm0 - pxor %xmm2,%xmm1 - movdqu %xmm0,176(%rdi) - movdqu %xmm1,176(%rsi) - - movdqu 192(%rdi),%xmm0 - movdqu 192(%rsi),%xmm1 - movdqa %xmm1,%xmm2 - pxor %xmm0,%xmm2 - pand %xmm3,%xmm2 - pxor %xmm2,%xmm0 - pxor %xmm2,%xmm1 - movdqu %xmm0,192(%rdi) - movdqu %xmm1,192(%rsi) - - movdqu 208(%rdi),%xmm0 - movdqu 208(%rsi),%xmm1 - movdqa %xmm1,%xmm2 - pxor %xmm0,%xmm2 - pand %xmm3,%xmm2 - pxor %xmm2,%xmm0 - pxor %xmm2,%xmm1 - movdqu %xmm0,208(%rdi) - movdqu %xmm1,208(%rsi) - - .byte 0xf3,0xc3 -.globl _sike_fpsub -.private_extern _sike_fpsub - -_sike_fpsub: - - pushq %r12 - - - pushq %r13 - - - pushq %r14 - - - - xorq %rax,%rax - - movq 0(%rdi),%r8 - subq 0(%rsi),%r8 - movq 8(%rdi),%r9 - sbbq 8(%rsi),%r9 - movq 16(%rdi),%r10 - sbbq 16(%rsi),%r10 - movq 24(%rdi),%r11 - sbbq 24(%rsi),%r11 - movq 32(%rdi),%r12 - sbbq 32(%rsi),%r12 - movq 40(%rdi),%r13 - sbbq 40(%rsi),%r13 - movq 48(%rdi),%r14 - sbbq 48(%rsi),%r14 - - sbbq $0x0,%rax - - movq L$p434x2(%rip),%rdi - andq %rax,%rdi - movq 8+L$p434x2(%rip),%rsi - andq %rax,%rsi - movq 16+L$p434x2(%rip),%rcx - andq %rax,%rcx - - addq %rdi,%r8 - movq %r8,0(%rdx) - adcq %rsi,%r9 - movq %r9,8(%rdx) - adcq %rsi,%r10 - movq %r10,16(%rdx) - adcq %rcx,%r11 - movq %r11,24(%rdx) - - setc %cl - movq 24+L$p434x2(%rip),%r8 - andq %rax,%r8 - movq 32+L$p434x2(%rip),%r9 - andq %rax,%r9 - movq 40+L$p434x2(%rip),%r10 - andq %rax,%r10 - btq $0x0,%rcx - - adcq %r8,%r12 - adcq %r9,%r13 - adcq %r10,%r14 - movq %r12,32(%rdx) - movq %r13,40(%rdx) - movq %r14,48(%rdx) - - popq %r14 - - popq %r13 - - popq %r12 - - .byte 0xf3,0xc3 - -.globl _sike_mpadd_asm -.private_extern _sike_mpadd_asm - -_sike_mpadd_asm: - - movq 0(%rdi),%r8; - movq 8(%rdi),%r9 - movq 16(%rdi),%r10 - movq 24(%rdi),%r11 - movq 32(%rdi),%rcx - addq 0(%rsi),%r8 - adcq 8(%rsi),%r9 - adcq 16(%rsi),%r10 - adcq 24(%rsi),%r11 - adcq 32(%rsi),%rcx - movq %r8,0(%rdx) - movq %r9,8(%rdx) - movq %r10,16(%rdx) - movq %r11,24(%rdx) - movq %rcx,32(%rdx) - - movq 40(%rdi),%r8 - movq 48(%rdi),%r9 - adcq 40(%rsi),%r8 - adcq 48(%rsi),%r9 - movq %r8,40(%rdx) - movq %r9,48(%rdx) - .byte 0xf3,0xc3 - -.globl _sike_mpsubx2_asm -.private_extern _sike_mpsubx2_asm - -_sike_mpsubx2_asm: - - xorq %rax,%rax - - movq 0(%rdi),%r8 - movq 8(%rdi),%r9 - movq 16(%rdi),%r10 - movq 24(%rdi),%r11 - movq 32(%rdi),%rcx - subq 0(%rsi),%r8 - sbbq 8(%rsi),%r9 - sbbq 16(%rsi),%r10 - sbbq 24(%rsi),%r11 - sbbq 32(%rsi),%rcx - movq %r8,0(%rdx) - movq %r9,8(%rdx) - movq %r10,16(%rdx) - movq %r11,24(%rdx) - movq %rcx,32(%rdx) - - movq 40(%rdi),%r8 - movq 48(%rdi),%r9 - movq 56(%rdi),%r10 - movq 64(%rdi),%r11 - movq 72(%rdi),%rcx - sbbq 40(%rsi),%r8 - sbbq 48(%rsi),%r9 - sbbq 56(%rsi),%r10 - sbbq 64(%rsi),%r11 - sbbq 72(%rsi),%rcx - movq %r8,40(%rdx) - movq %r9,48(%rdx) - movq %r10,56(%rdx) - movq %r11,64(%rdx) - movq %rcx,72(%rdx) - - movq 80(%rdi),%r8 - movq 88(%rdi),%r9 - movq 96(%rdi),%r10 - movq 104(%rdi),%r11 - sbbq 80(%rsi),%r8 - sbbq 88(%rsi),%r9 - sbbq 96(%rsi),%r10 - sbbq 104(%rsi),%r11 - sbbq $0x0,%rax - movq %r8,80(%rdx) - movq %r9,88(%rdx) - movq %r10,96(%rdx) - movq %r11,104(%rdx) - .byte 0xf3,0xc3 - -.globl _sike_mpdblsubx2_asm -.private_extern _sike_mpdblsubx2_asm - -_sike_mpdblsubx2_asm: - - pushq %r12 - - - pushq %r13 - - - - xorq %rax,%rax - - - movq 0(%rdx),%r8 - movq 8(%rdx),%r9 - movq 16(%rdx),%r10 - movq 24(%rdx),%r11 - movq 32(%rdx),%r12 - movq 40(%rdx),%r13 - movq 48(%rdx),%rcx - subq 0(%rdi),%r8 - sbbq 8(%rdi),%r9 - sbbq 16(%rdi),%r10 - sbbq 24(%rdi),%r11 - sbbq 32(%rdi),%r12 - sbbq 40(%rdi),%r13 - sbbq 48(%rdi),%rcx - adcq $0x0,%rax - - - subq 0(%rsi),%r8 - sbbq 8(%rsi),%r9 - sbbq 16(%rsi),%r10 - sbbq 24(%rsi),%r11 - sbbq 32(%rsi),%r12 - sbbq 40(%rsi),%r13 - sbbq 48(%rsi),%rcx - adcq $0x0,%rax - - - movq %r8,0(%rdx) - movq %r9,8(%rdx) - movq %r10,16(%rdx) - movq %r11,24(%rdx) - movq %r12,32(%rdx) - movq %r13,40(%rdx) - movq %rcx,48(%rdx) - - - movq 56(%rdx),%r8 - movq 64(%rdx),%r9 - movq 72(%rdx),%r10 - movq 80(%rdx),%r11 - movq 88(%rdx),%r12 - movq 96(%rdx),%r13 - movq 104(%rdx),%rcx - - subq %rax,%r8 - sbbq 56(%rdi),%r8 - sbbq 64(%rdi),%r9 - sbbq 72(%rdi),%r10 - sbbq 80(%rdi),%r11 - sbbq 88(%rdi),%r12 - sbbq 96(%rdi),%r13 - sbbq 104(%rdi),%rcx - - - subq 56(%rsi),%r8 - sbbq 64(%rsi),%r9 - sbbq 72(%rsi),%r10 - sbbq 80(%rsi),%r11 - sbbq 88(%rsi),%r12 - sbbq 96(%rsi),%r13 - sbbq 104(%rsi),%rcx - - - movq %r8,56(%rdx) - movq %r9,64(%rdx) - movq %r10,72(%rdx) - movq %r11,80(%rdx) - movq %r12,88(%rdx) - movq %r13,96(%rdx) - movq %rcx,104(%rdx) - - popq %r13 - - popq %r12 - - .byte 0xf3,0xc3 - - -L$rdc_bdw: - - - - - - - - - xorq %rax,%rax - movq 0+0(%rdi),%rdx - mulxq 0+L$p434p1(%rip),%r8,%r9 - mulxq 8+L$p434p1(%rip),%r12,%r10 - mulxq 16+L$p434p1(%rip),%r13,%r11 - - adoxq %r12,%r9 - adoxq %r13,%r10 - - mulxq 24+L$p434p1(%rip),%r13,%r12 - adoxq %r13,%r11 - adoxq %rax,%r12 - - xorq %rax,%rax - movq 0+8(%rdi),%rdx - mulxq 0+L$p434p1(%rip),%r13,%rcx - adcxq %r13,%r9 - adcxq %rcx,%r10 - - mulxq 8+L$p434p1(%rip),%rcx,%r13 - adcxq %r13,%r11 - adoxq %rcx,%r10 - - mulxq 16+L$p434p1(%rip),%rcx,%r13 - adcxq %r13,%r12 - adoxq %rcx,%r11 - - mulxq 24+L$p434p1(%rip),%rcx,%r13 - adcxq %rax,%r13 - adoxq %rcx,%r12 - adoxq %rax,%r13 - - xorq %rcx,%rcx - addq 24(%rdi),%r8 - adcq 32(%rdi),%r9 - adcq 40(%rdi),%r10 - adcq 48(%rdi),%r11 - adcq 56(%rdi),%r12 - adcq 64(%rdi),%r13 - adcq 72(%rdi),%rcx - movq %r8,24(%rdi) - movq %r9,32(%rdi) - movq %r10,40(%rdi) - movq %r11,48(%rdi) - movq %r12,56(%rdi) - movq %r13,64(%rdi) - movq %rcx,72(%rdi) - movq 80(%rdi),%r8 - movq 88(%rdi),%r9 - movq 96(%rdi),%r10 - movq 104(%rdi),%r11 - adcq $0x0,%r8 - adcq $0x0,%r9 - adcq $0x0,%r10 - adcq $0x0,%r11 - movq %r8,80(%rdi) - movq %r9,88(%rdi) - movq %r10,96(%rdi) - movq %r11,104(%rdi) - - xorq %rax,%rax - movq 16+0(%rdi),%rdx - mulxq 0+L$p434p1(%rip),%r8,%r9 - mulxq 8+L$p434p1(%rip),%r12,%r10 - mulxq 16+L$p434p1(%rip),%r13,%r11 - - adoxq %r12,%r9 - adoxq %r13,%r10 - - mulxq 24+L$p434p1(%rip),%r13,%r12 - adoxq %r13,%r11 - adoxq %rax,%r12 - - xorq %rax,%rax - movq 16+8(%rdi),%rdx - mulxq 0+L$p434p1(%rip),%r13,%rcx - adcxq %r13,%r9 - adcxq %rcx,%r10 - - mulxq 8+L$p434p1(%rip),%rcx,%r13 - adcxq %r13,%r11 - adoxq %rcx,%r10 - - mulxq 16+L$p434p1(%rip),%rcx,%r13 - adcxq %r13,%r12 - adoxq %rcx,%r11 - - mulxq 24+L$p434p1(%rip),%rcx,%r13 - adcxq %rax,%r13 - adoxq %rcx,%r12 - adoxq %rax,%r13 - - xorq %rcx,%rcx - addq 40(%rdi),%r8 - adcq 48(%rdi),%r9 - adcq 56(%rdi),%r10 - adcq 64(%rdi),%r11 - adcq 72(%rdi),%r12 - adcq 80(%rdi),%r13 - adcq 88(%rdi),%rcx - movq %r8,40(%rdi) - movq %r9,48(%rdi) - movq %r10,56(%rdi) - movq %r11,64(%rdi) - movq %r12,72(%rdi) - movq %r13,80(%rdi) - movq %rcx,88(%rdi) - movq 96(%rdi),%r8 - movq 104(%rdi),%r9 - adcq $0x0,%r8 - adcq $0x0,%r9 - movq %r8,96(%rdi) - movq %r9,104(%rdi) - - xorq %rax,%rax - movq 32+0(%rdi),%rdx - mulxq 0+L$p434p1(%rip),%r8,%r9 - mulxq 8+L$p434p1(%rip),%r12,%r10 - mulxq 16+L$p434p1(%rip),%r13,%r11 - - adoxq %r12,%r9 - adoxq %r13,%r10 - - mulxq 24+L$p434p1(%rip),%r13,%r12 - adoxq %r13,%r11 - adoxq %rax,%r12 - - xorq %rax,%rax - movq 32+8(%rdi),%rdx - mulxq 0+L$p434p1(%rip),%r13,%rcx - adcxq %r13,%r9 - adcxq %rcx,%r10 - - mulxq 8+L$p434p1(%rip),%rcx,%r13 - adcxq %r13,%r11 - adoxq %rcx,%r10 - - mulxq 16+L$p434p1(%rip),%rcx,%r13 - adcxq %r13,%r12 - adoxq %rcx,%r11 - - mulxq 24+L$p434p1(%rip),%rcx,%r13 - adcxq %rax,%r13 - adoxq %rcx,%r12 - adoxq %rax,%r13 - - xorq %rcx,%rcx - addq 56(%rdi),%r8 - adcq 64(%rdi),%r9 - adcq 72(%rdi),%r10 - adcq 80(%rdi),%r11 - adcq 88(%rdi),%r12 - adcq 96(%rdi),%r13 - adcq 104(%rdi),%rcx - movq %r8,0(%rsi) - movq %r9,8(%rsi) - movq %r10,72(%rdi) - movq %r11,80(%rdi) - movq %r12,88(%rdi) - movq %r13,96(%rdi) - movq %rcx,104(%rdi) - - xorq %rax,%rax - movq 48(%rdi),%rdx - mulxq 0+L$p434p1(%rip),%r8,%r9 - mulxq 8+L$p434p1(%rip),%r12,%r10 - mulxq 16+L$p434p1(%rip),%r13,%r11 - - adoxq %r12,%r9 - adoxq %r13,%r10 - - mulxq 24+L$p434p1(%rip),%r13,%r12 - adoxq %r13,%r11 - adoxq %rax,%r12 - - addq 72(%rdi),%r8 - adcq 80(%rdi),%r9 - adcq 88(%rdi),%r10 - adcq 96(%rdi),%r11 - adcq 104(%rdi),%r12 - movq %r8,16(%rsi) - movq %r9,24(%rsi) - movq %r10,32(%rsi) - movq %r11,40(%rsi) - movq %r12,48(%rsi) - - - popq %r15 - - - popq %r14 - - - popq %r13 - - - popq %r12 - - - .byte 0xf3,0xc3 - -.globl _sike_fprdc -.private_extern _sike_fprdc - -_sike_fprdc: - - pushq %r12 - - - pushq %r13 - - - pushq %r14 - - - pushq %r15 - - - - - - leaq _OPENSSL_ia32cap_P(%rip),%rcx - movq 8(%rcx),%rcx - andl $0x80100,%ecx - cmpl $0x80100,%ecx - je L$rdc_bdw - - - - - movq 0+0(%rdi),%r14 - movq 0+L$p434p1(%rip),%rax - mulq %r14 - xorq %r10,%r10 - movq %rax,%r8 - movq %rdx,%r9 - - - movq 8+L$p434p1(%rip),%rax - mulq %r14 - xorq %r11,%r11 - addq %rax,%r9 - adcq %rdx,%r10 - - - movq 0+8(%rdi),%rcx - movq 0+L$p434p1(%rip),%rax - mulq %rcx - addq %rax,%r9 - adcq %rdx,%r10 - adcq $0x0,%r11 - - - xorq %r12,%r12 - movq 16+L$p434p1(%rip),%rax - mulq %r14 - addq %rax,%r10 - adcq %rdx,%r11 - adcq $0x0,%r12 - - - movq 8+L$p434p1(%rip),%rax - mulq %rcx - addq %rax,%r10 - adcq %rdx,%r11 - adcq $0x0,%r12 - - - movq 24+L$p434p1(%rip),%rax - mulq %r14 - xorq %r13,%r13 - addq %rax,%r11 - adcq %rdx,%r12 - adcq $0x0,%r13 - - - movq 16+L$p434p1(%rip),%rax - mulq %rcx - addq %rax,%r11 - adcq %rdx,%r12 - adcq $0x0,%r13 - - - movq 24+L$p434p1(%rip),%rax - mulq %rcx - addq %rax,%r12 - adcq %rdx,%r13 - - - xorq %rcx,%rcx - addq 24(%rdi),%r8 - adcq 32(%rdi),%r9 - adcq 40(%rdi),%r10 - adcq 48(%rdi),%r11 - adcq 56(%rdi),%r12 - adcq 64(%rdi),%r13 - adcq 72(%rdi),%rcx - movq %r8,24(%rdi) - movq %r9,32(%rdi) - movq %r10,40(%rdi) - movq %r11,48(%rdi) - movq %r12,56(%rdi) - movq %r13,64(%rdi) - movq %rcx,72(%rdi) - movq 80(%rdi),%r8 - movq 88(%rdi),%r9 - movq 96(%rdi),%r10 - movq 104(%rdi),%r11 - adcq $0x0,%r8 - adcq $0x0,%r9 - adcq $0x0,%r10 - adcq $0x0,%r11 - movq %r8,80(%rdi) - movq %r9,88(%rdi) - movq %r10,96(%rdi) - movq %r11,104(%rdi) - - - movq 16+0(%rdi),%r14 - movq 0+L$p434p1(%rip),%rax - mulq %r14 - xorq %r10,%r10 - movq %rax,%r8 - movq %rdx,%r9 - - - movq 8+L$p434p1(%rip),%rax - mulq %r14 - xorq %r11,%r11 - addq %rax,%r9 - adcq %rdx,%r10 - - - movq 16+8(%rdi),%rcx - movq 0+L$p434p1(%rip),%rax - mulq %rcx - addq %rax,%r9 - adcq %rdx,%r10 - adcq $0x0,%r11 - - - xorq %r12,%r12 - movq 16+L$p434p1(%rip),%rax - mulq %r14 - addq %rax,%r10 - adcq %rdx,%r11 - adcq $0x0,%r12 - - - movq 8+L$p434p1(%rip),%rax - mulq %rcx - addq %rax,%r10 - adcq %rdx,%r11 - adcq $0x0,%r12 - - - movq 24+L$p434p1(%rip),%rax - mulq %r14 - xorq %r13,%r13 - addq %rax,%r11 - adcq %rdx,%r12 - adcq $0x0,%r13 - - - movq 16+L$p434p1(%rip),%rax - mulq %rcx - addq %rax,%r11 - adcq %rdx,%r12 - adcq $0x0,%r13 - - - movq 24+L$p434p1(%rip),%rax - mulq %rcx - addq %rax,%r12 - adcq %rdx,%r13 - - - xorq %rcx,%rcx - addq 40(%rdi),%r8 - adcq 48(%rdi),%r9 - adcq 56(%rdi),%r10 - adcq 64(%rdi),%r11 - adcq 72(%rdi),%r12 - adcq 80(%rdi),%r13 - adcq 88(%rdi),%rcx - movq %r8,40(%rdi) - movq %r9,48(%rdi) - movq %r10,56(%rdi) - movq %r11,64(%rdi) - movq %r12,72(%rdi) - movq %r13,80(%rdi) - movq %rcx,88(%rdi) - movq 96(%rdi),%r8 - movq 104(%rdi),%r9 - adcq $0x0,%r8 - adcq $0x0,%r9 - movq %r8,96(%rdi) - movq %r9,104(%rdi) - - - movq 32+0(%rdi),%r14 - movq 0+L$p434p1(%rip),%rax - mulq %r14 - xorq %r10,%r10 - movq %rax,%r8 - movq %rdx,%r9 - - - movq 8+L$p434p1(%rip),%rax - mulq %r14 - xorq %r11,%r11 - addq %rax,%r9 - adcq %rdx,%r10 - - - movq 32+8(%rdi),%rcx - movq 0+L$p434p1(%rip),%rax - mulq %rcx - addq %rax,%r9 - adcq %rdx,%r10 - adcq $0x0,%r11 - - - xorq %r12,%r12 - movq 16+L$p434p1(%rip),%rax - mulq %r14 - addq %rax,%r10 - adcq %rdx,%r11 - adcq $0x0,%r12 - - - movq 8+L$p434p1(%rip),%rax - mulq %rcx - addq %rax,%r10 - adcq %rdx,%r11 - adcq $0x0,%r12 - - - movq 24+L$p434p1(%rip),%rax - mulq %r14 - xorq %r13,%r13 - addq %rax,%r11 - adcq %rdx,%r12 - adcq $0x0,%r13 - - - movq 16+L$p434p1(%rip),%rax - mulq %rcx - addq %rax,%r11 - adcq %rdx,%r12 - adcq $0x0,%r13 - - - movq 24+L$p434p1(%rip),%rax - mulq %rcx - addq %rax,%r12 - adcq %rdx,%r13 - - - xorq %rcx,%rcx - addq 56(%rdi),%r8 - adcq 64(%rdi),%r9 - adcq 72(%rdi),%r10 - adcq 80(%rdi),%r11 - adcq 88(%rdi),%r12 - adcq 96(%rdi),%r13 - adcq 104(%rdi),%rcx - movq %r8,0(%rsi) - movq %r9,8(%rsi) - movq %r10,72(%rdi) - movq %r11,80(%rdi) - movq %r12,88(%rdi) - movq %r13,96(%rdi) - movq %rcx,104(%rdi) - - movq 48(%rdi),%r13 - - xorq %r10,%r10 - movq 0+L$p434p1(%rip),%rax - mulq %r13 - movq %rax,%r8 - movq %rdx,%r9 - - xorq %r11,%r11 - movq 8+L$p434p1(%rip),%rax - mulq %r13 - addq %rax,%r9 - adcq %rdx,%r10 - - xorq %r12,%r12 - movq 16+L$p434p1(%rip),%rax - mulq %r13 - addq %rax,%r10 - adcq %rdx,%r11 - - movq 24+L$p434p1(%rip),%rax - mulq %r13 - addq %rax,%r11 - adcq %rdx,%r12 - - addq 72(%rdi),%r8 - adcq 80(%rdi),%r9 - adcq 88(%rdi),%r10 - adcq 96(%rdi),%r11 - adcq 104(%rdi),%r12 - movq %r8,16(%rsi) - movq %r9,24(%rsi) - movq %r10,32(%rsi) - movq %r11,40(%rsi) - movq %r12,48(%rsi) - - - popq %r15 - - popq %r14 - - popq %r13 - - popq %r12 - - .byte 0xf3,0xc3 - -L$mul_bdw: - - - - - - - - - - movq %rdx,%rcx - xorq %rax,%rax - - - movq 0(%rdi),%r8 - movq 8(%rdi),%r9 - movq 16(%rdi),%r10 - movq 24(%rdi),%r11 - - pushq %rbx - - - pushq %rbp - - - subq $96,%rsp - - - addq 32(%rdi),%r8 - adcq 40(%rdi),%r9 - adcq 48(%rdi),%r10 - adcq $0x0,%r11 - sbbq $0x0,%rax - movq %r8,0(%rsp) - movq %r9,8(%rsp) - movq %r10,16(%rsp) - movq %r11,24(%rsp) - - - xorq %rbx,%rbx - movq 0(%rsi),%r12 - movq 8(%rsi),%r13 - movq 16(%rsi),%r14 - movq 24(%rsi),%r15 - addq 32(%rsi),%r12 - adcq 40(%rsi),%r13 - adcq 48(%rsi),%r14 - adcq $0x0,%r15 - sbbq $0x0,%rbx - movq %r12,32(%rsp) - movq %r13,40(%rsp) - movq %r14,48(%rsp) - movq %r15,56(%rsp) - - - andq %rax,%r12 - andq %rax,%r13 - andq %rax,%r14 - andq %rax,%r15 - - - andq %rbx,%r8 - andq %rbx,%r9 - andq %rbx,%r10 - andq %rbx,%r11 - - - addq %r12,%r8 - adcq %r13,%r9 - adcq %r14,%r10 - adcq %r15,%r11 - movq %r8,64(%rsp) - movq %r9,72(%rsp) - movq %r10,80(%rsp) - movq %r11,88(%rsp) - - - movq 0+0(%rsp),%rdx - mulxq 32+0(%rsp),%r9,%r8 - movq %r9,0+0(%rsp) - mulxq 32+8(%rsp),%r10,%r9 - xorq %rax,%rax - adoxq %r10,%r8 - mulxq 32+16(%rsp),%r11,%r10 - adoxq %r11,%r9 - mulxq 32+24(%rsp),%r12,%r11 - adoxq %r12,%r10 - - movq 0+8(%rsp),%rdx - mulxq 32+0(%rsp),%r12,%r13 - adoxq %rax,%r11 - xorq %rax,%rax - mulxq 32+8(%rsp),%r15,%r14 - adoxq %r8,%r12 - movq %r12,0+8(%rsp) - adcxq %r15,%r13 - mulxq 32+16(%rsp),%rbx,%r15 - adcxq %rbx,%r14 - adoxq %r9,%r13 - mulxq 32+24(%rsp),%rbp,%rbx - adcxq %rbp,%r15 - adcxq %rax,%rbx - adoxq %r10,%r14 - - movq 0+16(%rsp),%rdx - mulxq 32+0(%rsp),%r8,%r9 - adoxq %r11,%r15 - adoxq %rax,%rbx - xorq %rax,%rax - mulxq 32+8(%rsp),%r11,%r10 - adoxq %r13,%r8 - movq %r8,0+16(%rsp) - adcxq %r11,%r9 - mulxq 32+16(%rsp),%r12,%r11 - adcxq %r12,%r10 - adoxq %r14,%r9 - mulxq 32+24(%rsp),%rbp,%r12 - adcxq %rbp,%r11 - adcxq %rax,%r12 - - adoxq %r15,%r10 - adoxq %rbx,%r11 - adoxq %rax,%r12 - - movq 0+24(%rsp),%rdx - mulxq 32+0(%rsp),%r8,%r13 - xorq %rax,%rax - mulxq 32+8(%rsp),%r15,%r14 - adcxq %r15,%r13 - adoxq %r8,%r9 - mulxq 32+16(%rsp),%rbx,%r15 - adcxq %rbx,%r14 - adoxq %r13,%r10 - mulxq 32+24(%rsp),%rbp,%rbx - adcxq %rbp,%r15 - adcxq %rax,%rbx - adoxq %r14,%r11 - adoxq %r15,%r12 - adoxq %rax,%rbx - movq %r9,0+24(%rsp) - movq %r10,0+32(%rsp) - movq %r11,0+40(%rsp) - movq %r12,0+48(%rsp) - movq %rbx,0+56(%rsp) - - - - movq 0+0(%rdi),%rdx - mulxq 0+0(%rsi),%r9,%r8 - movq %r9,0+0(%rcx) - mulxq 0+8(%rsi),%r10,%r9 - xorq %rax,%rax - adoxq %r10,%r8 - mulxq 0+16(%rsi),%r11,%r10 - adoxq %r11,%r9 - mulxq 0+24(%rsi),%r12,%r11 - adoxq %r12,%r10 - - movq 0+8(%rdi),%rdx - mulxq 0+0(%rsi),%r12,%r13 - adoxq %rax,%r11 - xorq %rax,%rax - mulxq 0+8(%rsi),%r15,%r14 - adoxq %r8,%r12 - movq %r12,0+8(%rcx) - adcxq %r15,%r13 - mulxq 0+16(%rsi),%rbx,%r15 - adcxq %rbx,%r14 - adoxq %r9,%r13 - mulxq 0+24(%rsi),%rbp,%rbx - adcxq %rbp,%r15 - adcxq %rax,%rbx - adoxq %r10,%r14 - - movq 0+16(%rdi),%rdx - mulxq 0+0(%rsi),%r8,%r9 - adoxq %r11,%r15 - adoxq %rax,%rbx - xorq %rax,%rax - mulxq 0+8(%rsi),%r11,%r10 - adoxq %r13,%r8 - movq %r8,0+16(%rcx) - adcxq %r11,%r9 - mulxq 0+16(%rsi),%r12,%r11 - adcxq %r12,%r10 - adoxq %r14,%r9 - mulxq 0+24(%rsi),%rbp,%r12 - adcxq %rbp,%r11 - adcxq %rax,%r12 - - adoxq %r15,%r10 - adoxq %rbx,%r11 - adoxq %rax,%r12 - - movq 0+24(%rdi),%rdx - mulxq 0+0(%rsi),%r8,%r13 - xorq %rax,%rax - mulxq 0+8(%rsi),%r15,%r14 - adcxq %r15,%r13 - adoxq %r8,%r9 - mulxq 0+16(%rsi),%rbx,%r15 - adcxq %rbx,%r14 - adoxq %r13,%r10 - mulxq 0+24(%rsi),%rbp,%rbx - adcxq %rbp,%r15 - adcxq %rax,%rbx - adoxq %r14,%r11 - adoxq %r15,%r12 - adoxq %rax,%rbx - movq %r9,0+24(%rcx) - movq %r10,0+32(%rcx) - movq %r11,0+40(%rcx) - movq %r12,0+48(%rcx) - movq %rbx,0+56(%rcx) - - - - movq 32+0(%rdi),%rdx - mulxq 32+0(%rsi),%r9,%r8 - movq %r9,64+0(%rcx) - mulxq 32+8(%rsi),%r10,%r9 - xorq %rax,%rax - adoxq %r10,%r8 - mulxq 32+16(%rsi),%r11,%r10 - adoxq %r11,%r9 - - movq 32+8(%rdi),%rdx - mulxq 32+0(%rsi),%r12,%r11 - adoxq %rax,%r10 - xorq %rax,%rax - - mulxq 32+8(%rsi),%r14,%r13 - adoxq %r8,%r12 - movq %r12,64+8(%rcx) - adcxq %r14,%r11 - - mulxq 32+16(%rsi),%r8,%r14 - adoxq %r9,%r11 - adcxq %r8,%r13 - adcxq %rax,%r14 - adoxq %r10,%r13 - - movq 32+16(%rdi),%rdx - mulxq 32+0(%rsi),%r8,%r9 - adoxq %rax,%r14 - xorq %rax,%rax - - mulxq 32+8(%rsi),%r10,%r12 - adoxq %r11,%r8 - movq %r8,64+16(%rcx) - adcxq %r13,%r9 - - mulxq 32+16(%rsi),%r11,%r8 - adcxq %r14,%r12 - adcxq %rax,%r8 - adoxq %r10,%r9 - adoxq %r12,%r11 - adoxq %rax,%r8 - movq %r9,64+24(%rcx) - movq %r11,64+32(%rcx) - movq %r8,64+40(%rcx) - - - - - movq 64(%rsp),%r8 - movq 72(%rsp),%r9 - movq 80(%rsp),%r10 - movq 88(%rsp),%r11 - - movq 32(%rsp),%rax - addq %rax,%r8 - movq 40(%rsp),%rax - adcq %rax,%r9 - movq 48(%rsp),%rax - adcq %rax,%r10 - movq 56(%rsp),%rax - adcq %rax,%r11 - - - movq 0(%rsp),%r12 - movq 8(%rsp),%r13 - movq 16(%rsp),%r14 - movq 24(%rsp),%r15 - subq 0(%rcx),%r12 - sbbq 8(%rcx),%r13 - sbbq 16(%rcx),%r14 - sbbq 24(%rcx),%r15 - sbbq 32(%rcx),%r8 - sbbq 40(%rcx),%r9 - sbbq 48(%rcx),%r10 - sbbq 56(%rcx),%r11 - - - subq 64(%rcx),%r12 - sbbq 72(%rcx),%r13 - sbbq 80(%rcx),%r14 - sbbq 88(%rcx),%r15 - sbbq 96(%rcx),%r8 - sbbq 104(%rcx),%r9 - sbbq $0x0,%r10 - sbbq $0x0,%r11 - - addq 32(%rcx),%r12 - movq %r12,32(%rcx) - adcq 40(%rcx),%r13 - movq %r13,40(%rcx) - adcq 48(%rcx),%r14 - movq %r14,48(%rcx) - adcq 56(%rcx),%r15 - movq %r15,56(%rcx) - adcq 64(%rcx),%r8 - movq %r8,64(%rcx) - adcq 72(%rcx),%r9 - movq %r9,72(%rcx) - adcq 80(%rcx),%r10 - movq %r10,80(%rcx) - adcq 88(%rcx),%r11 - movq %r11,88(%rcx) - movq 96(%rcx),%r12 - adcq $0x0,%r12 - movq %r12,96(%rcx) - movq 104(%rcx),%r13 - adcq $0x0,%r13 - movq %r13,104(%rcx) - - addq $96,%rsp - - popq %rbp - - - popq %rbx - - - - - popq %r15 - - - popq %r14 - - - popq %r13 - - - popq %r12 - - - .byte 0xf3,0xc3 - - -.globl _sike_mpmul -.private_extern _sike_mpmul - -_sike_mpmul: - - pushq %r12 - - - pushq %r13 - - - pushq %r14 - - - pushq %r15 - - - - - - leaq _OPENSSL_ia32cap_P(%rip),%rcx - movq 8(%rcx),%rcx - andl $0x80100,%ecx - cmpl $0x80100,%ecx - je L$mul_bdw - - - - movq %rdx,%rcx - - subq $112,%rsp - - - - xorq %rax,%rax - movq 32(%rdi),%r8 - movq 40(%rdi),%r9 - movq 48(%rdi),%r10 - xorq %r11,%r11 - addq 0(%rdi),%r8 - adcq 8(%rdi),%r9 - adcq 16(%rdi),%r10 - adcq 24(%rdi),%r11 - - sbbq $0,%rax - movq %rax,64(%rsp) - - movq %r8,0(%rcx) - movq %r9,8(%rcx) - movq %r10,16(%rcx) - movq %r11,24(%rcx) - - - xorq %rdx,%rdx - movq 32(%rsi),%r12 - movq 40(%rsi),%r13 - movq 48(%rsi),%r14 - xorq %r15,%r15 - addq 0(%rsi),%r12 - adcq 8(%rsi),%r13 - adcq 16(%rsi),%r14 - adcq 24(%rsi),%r15 - sbbq $0x0,%rdx - - movq %rdx,72(%rsp) - - - movq (%rcx),%rax - mulq %r12 - movq %rax,(%rsp) - movq %rdx,%r8 - - xorq %r9,%r9 - movq (%rcx),%rax - mulq %r13 - addq %rax,%r8 - adcq %rdx,%r9 - - xorq %r10,%r10 - movq 8(%rcx),%rax - mulq %r12 - addq %rax,%r8 - movq %r8,8(%rsp) - adcq %rdx,%r9 - adcq $0x0,%r10 - - xorq %r8,%r8 - movq (%rcx),%rax - mulq %r14 - addq %rax,%r9 - adcq %rdx,%r10 - adcq $0x0,%r8 - - movq 16(%rcx),%rax - mulq %r12 - addq %rax,%r9 - adcq %rdx,%r10 - adcq $0x0,%r8 - - movq 8(%rcx),%rax - mulq %r13 - addq %rax,%r9 - movq %r9,16(%rsp) - adcq %rdx,%r10 - adcq $0x0,%r8 - - xorq %r9,%r9 - movq (%rcx),%rax - mulq %r15 - addq %rax,%r10 - adcq %rdx,%r8 - adcq $0x0,%r9 - - movq 24(%rcx),%rax - mulq %r12 - addq %rax,%r10 - adcq %rdx,%r8 - adcq $0x0,%r9 - - movq 8(%rcx),%rax - mulq %r14 - addq %rax,%r10 - adcq %rdx,%r8 - adcq $0x0,%r9 - - movq 16(%rcx),%rax - mulq %r13 - addq %rax,%r10 - movq %r10,24(%rsp) - adcq %rdx,%r8 - adcq $0x0,%r9 - - xorq %r10,%r10 - movq 8(%rcx),%rax - mulq %r15 - addq %rax,%r8 - adcq %rdx,%r9 - adcq $0x0,%r10 - - movq 24(%rcx),%rax - mulq %r13 - addq %rax,%r8 - adcq %rdx,%r9 - adcq $0x0,%r10 - - movq 16(%rcx),%rax - mulq %r14 - addq %rax,%r8 - movq %r8,32(%rsp) - adcq %rdx,%r9 - adcq $0x0,%r10 - - xorq %r11,%r11 - movq 16(%rcx),%rax - mulq %r15 - addq %rax,%r9 - adcq %rdx,%r10 - adcq $0x0,%r11 - - movq 24(%rcx),%rax - mulq %r14 - addq %rax,%r9 - movq %r9,40(%rsp) - adcq %rdx,%r10 - adcq $0x0,%r11 - - movq 24(%rcx),%rax - mulq %r15 - addq %rax,%r10 - movq %r10,48(%rsp) - adcq %rdx,%r11 - movq %r11,56(%rsp) - - - movq 64(%rsp),%rax - andq %rax,%r12 - andq %rax,%r13 - andq %rax,%r14 - andq %rax,%r15 - - - movq 72(%rsp),%rax - movq 0(%rcx),%r8 - andq %rax,%r8 - movq 8(%rcx),%r9 - andq %rax,%r9 - movq 16(%rcx),%r10 - andq %rax,%r10 - movq 24(%rcx),%r11 - andq %rax,%r11 - - - addq %r8,%r12 - adcq %r9,%r13 - adcq %r10,%r14 - adcq %r11,%r15 - - - movq 32(%rsp),%rax - addq %rax,%r12 - movq 40(%rsp),%rax - adcq %rax,%r13 - movq 48(%rsp),%rax - adcq %rax,%r14 - movq 56(%rsp),%rax - adcq %rax,%r15 - movq %r12,80(%rsp) - movq %r13,88(%rsp) - movq %r14,96(%rsp) - movq %r15,104(%rsp) - - - movq (%rdi),%r11 - movq (%rsi),%rax - mulq %r11 - xorq %r9,%r9 - movq %rax,(%rcx) - movq %rdx,%r8 - - movq 16(%rdi),%r14 - movq 8(%rsi),%rax - mulq %r11 - xorq %r10,%r10 - addq %rax,%r8 - adcq %rdx,%r9 - - movq 8(%rdi),%r12 - movq (%rsi),%rax - mulq %r12 - addq %rax,%r8 - movq %r8,8(%rcx) - adcq %rdx,%r9 - adcq $0x0,%r10 - - xorq %r8,%r8 - movq 16(%rsi),%rax - mulq %r11 - addq %rax,%r9 - adcq %rdx,%r10 - adcq $0x0,%r8 - - movq (%rsi),%r13 - movq %r14,%rax - mulq %r13 - addq %rax,%r9 - adcq %rdx,%r10 - adcq $0x0,%r8 - - movq 8(%rsi),%rax - mulq %r12 - addq %rax,%r9 - movq %r9,16(%rcx) - adcq %rdx,%r10 - adcq $0x0,%r8 - - xorq %r9,%r9 - movq 24(%rsi),%rax - mulq %r11 - movq 24(%rdi),%r15 - addq %rax,%r10 - adcq %rdx,%r8 - adcq $0x0,%r9 - - movq %r15,%rax - mulq %r13 - addq %rax,%r10 - adcq %rdx,%r8 - adcq $0x0,%r9 - - movq 16(%rsi),%rax - mulq %r12 - addq %rax,%r10 - adcq %rdx,%r8 - adcq $0x0,%r9 - - movq 8(%rsi),%rax - mulq %r14 - addq %rax,%r10 - movq %r10,24(%rcx) - adcq %rdx,%r8 - adcq $0x0,%r9 - - xorq %r10,%r10 - movq 24(%rsi),%rax - mulq %r12 - addq %rax,%r8 - adcq %rdx,%r9 - adcq $0x0,%r10 - - movq 8(%rsi),%rax - mulq %r15 - addq %rax,%r8 - adcq %rdx,%r9 - adcq $0x0,%r10 - - movq 16(%rsi),%rax - mulq %r14 - addq %rax,%r8 - movq %r8,32(%rcx) - adcq %rdx,%r9 - adcq $0x0,%r10 - - xorq %r8,%r8 - movq 24(%rsi),%rax - mulq %r14 - addq %rax,%r9 - adcq %rdx,%r10 - adcq $0x0,%r8 - - movq 16(%rsi),%rax - mulq %r15 - addq %rax,%r9 - movq %r9,40(%rcx) - adcq %rdx,%r10 - adcq $0x0,%r8 - - movq 24(%rsi),%rax - mulq %r15 - addq %rax,%r10 - movq %r10,48(%rcx) - adcq %rdx,%r8 - movq %r8,56(%rcx) - - - - movq 32(%rdi),%r11 - movq 32(%rsi),%rax - mulq %r11 - xorq %r9,%r9 - movq %rax,64(%rcx) - movq %rdx,%r8 - - movq 48(%rdi),%r14 - movq 40(%rsi),%rax - mulq %r11 - xorq %r10,%r10 - addq %rax,%r8 - adcq %rdx,%r9 - - movq 40(%rdi),%r12 - movq 32(%rsi),%rax - mulq %r12 - addq %rax,%r8 - movq %r8,72(%rcx) - adcq %rdx,%r9 - adcq $0x0,%r10 - - xorq %r8,%r8 - movq 48(%rsi),%rax - mulq %r11 - addq %rax,%r9 - adcq %rdx,%r10 - adcq $0x0,%r8 - - movq 32(%rsi),%r13 - movq %r14,%rax - mulq %r13 - addq %rax,%r9 - adcq %rdx,%r10 - adcq $0x0,%r8 - - movq 40(%rsi),%rax - mulq %r12 - addq %rax,%r9 - movq %r9,80(%rcx) - adcq %rdx,%r10 - adcq $0x0,%r8 - - movq 48(%rsi),%rax - mulq %r12 - xorq %r12,%r12 - addq %rax,%r10 - adcq %rdx,%r8 - adcq $0x0,%r12 - - movq 40(%rsi),%rax - mulq %r14 - addq %rax,%r10 - adcq %rdx,%r8 - adcq $0x0,%r12 - movq %r10,88(%rcx) - - movq 48(%rsi),%rax - mulq %r14 - addq %rax,%r8 - adcq $0x0,%r12 - movq %r8,96(%rcx) - - addq %r12,%rdx - - - movq 0(%rsp),%r8 - subq 0(%rcx),%r8 - movq 8(%rsp),%r9 - sbbq 8(%rcx),%r9 - movq 16(%rsp),%r10 - sbbq 16(%rcx),%r10 - movq 24(%rsp),%r11 - sbbq 24(%rcx),%r11 - movq 80(%rsp),%r12 - sbbq 32(%rcx),%r12 - movq 88(%rsp),%r13 - sbbq 40(%rcx),%r13 - movq 96(%rsp),%r14 - sbbq 48(%rcx),%r14 - movq 104(%rsp),%r15 - sbbq 56(%rcx),%r15 - - - movq 64(%rcx),%rax - subq %rax,%r8 - movq 72(%rcx),%rax - sbbq %rax,%r9 - movq 80(%rcx),%rax - sbbq %rax,%r10 - movq 88(%rcx),%rax - sbbq %rax,%r11 - movq 96(%rcx),%rax - sbbq %rax,%r12 - sbbq %rdx,%r13 - sbbq $0x0,%r14 - sbbq $0x0,%r15 - - - addq 32(%rcx),%r8 - movq %r8,32(%rcx) - adcq 40(%rcx),%r9 - movq %r9,40(%rcx) - adcq 48(%rcx),%r10 - movq %r10,48(%rcx) - adcq 56(%rcx),%r11 - movq %r11,56(%rcx) - adcq 64(%rcx),%r12 - movq %r12,64(%rcx) - adcq 72(%rcx),%r13 - movq %r13,72(%rcx) - adcq 80(%rcx),%r14 - movq %r14,80(%rcx) - adcq 88(%rcx),%r15 - movq %r15,88(%rcx) - movq 96(%rcx),%r12 - adcq $0x0,%r12 - movq %r12,96(%rcx) - adcq $0x0,%rdx - movq %rdx,104(%rcx) - - addq $112,%rsp - - - - popq %r15 - - popq %r14 - - popq %r13 - - popq %r12 - - .byte 0xf3,0xc3 - -#endif diff --git a/contrib/boringssl-cmake/win-x86/crypto/fipsmodule/aes-586.asm b/contrib/boringssl-cmake/win-x86/crypto/fipsmodule/aes-586.asm deleted file mode 100644 index c3a47d88f23..00000000000 --- a/contrib/boringssl-cmake/win-x86/crypto/fipsmodule/aes-586.asm +++ /dev/null @@ -1,3225 +0,0 @@ -; This file is generated from a similarly-named Perl script in the BoringSSL -; source tree. Do not edit by hand. - -%ifdef BORINGSSL_PREFIX -%include "boringssl_prefix_symbols_nasm.inc" -%endif -%ifidn __OUTPUT_FORMAT__,obj -section code use32 class=code align=64 -%elifidn __OUTPUT_FORMAT__,win32 -%ifdef __YASM_VERSION_ID__ -%if __YASM_VERSION_ID__ < 01010000h -%error yasm version 1.1.0 or later needed. -%endif -; Yasm automatically includes .00 and complains about redefining it. -; https://www.tortall.net/projects/yasm/manual/html/objfmt-win32-safeseh.html -%else -$@feat.00 equ 1 -%endif -section .text code align=64 -%else -section .text code -%endif -align 16 -__x86_AES_encrypt_compact: - mov DWORD [20+esp],edi - xor eax,DWORD [edi] - xor ebx,DWORD [4+edi] - xor ecx,DWORD [8+edi] - xor edx,DWORD [12+edi] - mov esi,DWORD [240+edi] - lea esi,[esi*1+esi-2] - lea esi,[esi*8+edi] - mov DWORD [24+esp],esi - mov edi,DWORD [ebp-128] - mov esi,DWORD [ebp-96] - mov edi,DWORD [ebp-64] - mov esi,DWORD [ebp-32] - mov edi,DWORD [ebp] - mov esi,DWORD [32+ebp] - mov edi,DWORD [64+ebp] - mov esi,DWORD [96+ebp] -align 16 -L$000loop: - mov esi,eax - and esi,255 - movzx esi,BYTE [esi*1+ebp-128] - movzx edi,bh - movzx edi,BYTE [edi*1+ebp-128] - shl edi,8 - xor esi,edi - mov edi,ecx - shr edi,16 - and edi,255 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,16 - xor esi,edi - mov edi,edx - shr edi,24 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,24 - xor esi,edi - mov DWORD [4+esp],esi - mov esi,ebx - and esi,255 - shr ebx,16 - movzx esi,BYTE [esi*1+ebp-128] - movzx edi,ch - movzx edi,BYTE [edi*1+ebp-128] - shl edi,8 - xor esi,edi - mov edi,edx - shr edi,16 - and edi,255 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,16 - xor esi,edi - mov edi,eax - shr edi,24 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,24 - xor esi,edi - mov DWORD [8+esp],esi - mov esi,ecx - and esi,255 - shr ecx,24 - movzx esi,BYTE [esi*1+ebp-128] - movzx edi,dh - movzx edi,BYTE [edi*1+ebp-128] - shl edi,8 - xor esi,edi - mov edi,eax - shr edi,16 - and edx,255 - and edi,255 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,16 - xor esi,edi - movzx edi,bh - movzx edi,BYTE [edi*1+ebp-128] - shl edi,24 - xor esi,edi - and edx,255 - movzx edx,BYTE [edx*1+ebp-128] - movzx eax,ah - movzx eax,BYTE [eax*1+ebp-128] - shl eax,8 - xor edx,eax - mov eax,DWORD [4+esp] - and ebx,255 - movzx ebx,BYTE [ebx*1+ebp-128] - shl ebx,16 - xor edx,ebx - mov ebx,DWORD [8+esp] - movzx ecx,BYTE [ecx*1+ebp-128] - shl ecx,24 - xor edx,ecx - mov ecx,esi - mov ebp,2155905152 - and ebp,ecx - lea edi,[ecx*1+ecx] - mov esi,ebp - shr ebp,7 - and edi,4278124286 - sub esi,ebp - mov ebp,ecx - and esi,454761243 - ror ebp,16 - xor esi,edi - mov edi,ecx - xor ecx,esi - ror edi,24 - xor esi,ebp - rol ecx,24 - xor esi,edi - mov ebp,2155905152 - xor ecx,esi - and ebp,edx - lea edi,[edx*1+edx] - mov esi,ebp - shr ebp,7 - and edi,4278124286 - sub esi,ebp - mov ebp,edx - and esi,454761243 - ror ebp,16 - xor esi,edi - mov edi,edx - xor edx,esi - ror edi,24 - xor esi,ebp - rol edx,24 - xor esi,edi - mov ebp,2155905152 - xor edx,esi - and ebp,eax - lea edi,[eax*1+eax] - mov esi,ebp - shr ebp,7 - and edi,4278124286 - sub esi,ebp - mov ebp,eax - and esi,454761243 - ror ebp,16 - xor esi,edi - mov edi,eax - xor eax,esi - ror edi,24 - xor esi,ebp - rol eax,24 - xor esi,edi - mov ebp,2155905152 - xor eax,esi - and ebp,ebx - lea edi,[ebx*1+ebx] - mov esi,ebp - shr ebp,7 - and edi,4278124286 - sub esi,ebp - mov ebp,ebx - and esi,454761243 - ror ebp,16 - xor esi,edi - mov edi,ebx - xor ebx,esi - ror edi,24 - xor esi,ebp - rol ebx,24 - xor esi,edi - xor ebx,esi - mov edi,DWORD [20+esp] - mov ebp,DWORD [28+esp] - add edi,16 - xor eax,DWORD [edi] - xor ebx,DWORD [4+edi] - xor ecx,DWORD [8+edi] - xor edx,DWORD [12+edi] - cmp edi,DWORD [24+esp] - mov DWORD [20+esp],edi - jb NEAR L$000loop - mov esi,eax - and esi,255 - movzx esi,BYTE [esi*1+ebp-128] - movzx edi,bh - movzx edi,BYTE [edi*1+ebp-128] - shl edi,8 - xor esi,edi - mov edi,ecx - shr edi,16 - and edi,255 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,16 - xor esi,edi - mov edi,edx - shr edi,24 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,24 - xor esi,edi - mov DWORD [4+esp],esi - mov esi,ebx - and esi,255 - shr ebx,16 - movzx esi,BYTE [esi*1+ebp-128] - movzx edi,ch - movzx edi,BYTE [edi*1+ebp-128] - shl edi,8 - xor esi,edi - mov edi,edx - shr edi,16 - and edi,255 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,16 - xor esi,edi - mov edi,eax - shr edi,24 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,24 - xor esi,edi - mov DWORD [8+esp],esi - mov esi,ecx - and esi,255 - shr ecx,24 - movzx esi,BYTE [esi*1+ebp-128] - movzx edi,dh - movzx edi,BYTE [edi*1+ebp-128] - shl edi,8 - xor esi,edi - mov edi,eax - shr edi,16 - and edx,255 - and edi,255 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,16 - xor esi,edi - movzx edi,bh - movzx edi,BYTE [edi*1+ebp-128] - shl edi,24 - xor esi,edi - mov edi,DWORD [20+esp] - and edx,255 - movzx edx,BYTE [edx*1+ebp-128] - movzx eax,ah - movzx eax,BYTE [eax*1+ebp-128] - shl eax,8 - xor edx,eax - mov eax,DWORD [4+esp] - and ebx,255 - movzx ebx,BYTE [ebx*1+ebp-128] - shl ebx,16 - xor edx,ebx - mov ebx,DWORD [8+esp] - movzx ecx,BYTE [ecx*1+ebp-128] - shl ecx,24 - xor edx,ecx - mov ecx,esi - xor eax,DWORD [16+edi] - xor ebx,DWORD [20+edi] - xor ecx,DWORD [24+edi] - xor edx,DWORD [28+edi] - ret -align 16 -__sse_AES_encrypt_compact: - pxor mm0,[edi] - pxor mm4,[8+edi] - mov esi,DWORD [240+edi] - lea esi,[esi*1+esi-2] - lea esi,[esi*8+edi] - mov DWORD [24+esp],esi - mov eax,454761243 - mov DWORD [8+esp],eax - mov DWORD [12+esp],eax - mov eax,DWORD [ebp-128] - mov ebx,DWORD [ebp-96] - mov ecx,DWORD [ebp-64] - mov edx,DWORD [ebp-32] - mov eax,DWORD [ebp] - mov ebx,DWORD [32+ebp] - mov ecx,DWORD [64+ebp] - mov edx,DWORD [96+ebp] -align 16 -L$001loop: - pshufw mm1,mm0,8 - pshufw mm5,mm4,13 - movd eax,mm1 - movd ebx,mm5 - mov DWORD [20+esp],edi - movzx esi,al - movzx edx,ah - pshufw mm2,mm0,13 - movzx ecx,BYTE [esi*1+ebp-128] - movzx edi,bl - movzx edx,BYTE [edx*1+ebp-128] - shr eax,16 - shl edx,8 - movzx esi,BYTE [edi*1+ebp-128] - movzx edi,bh - shl esi,16 - pshufw mm6,mm4,8 - or ecx,esi - movzx esi,BYTE [edi*1+ebp-128] - movzx edi,ah - shl esi,24 - shr ebx,16 - or edx,esi - movzx esi,BYTE [edi*1+ebp-128] - movzx edi,bh - shl esi,8 - or ecx,esi - movzx esi,BYTE [edi*1+ebp-128] - movzx edi,al - shl esi,24 - or ecx,esi - movzx esi,BYTE [edi*1+ebp-128] - movzx edi,bl - movd eax,mm2 - movd mm0,ecx - movzx ecx,BYTE [edi*1+ebp-128] - movzx edi,ah - shl ecx,16 - movd ebx,mm6 - or ecx,esi - movzx esi,BYTE [edi*1+ebp-128] - movzx edi,bh - shl esi,24 - or ecx,esi - movzx esi,BYTE [edi*1+ebp-128] - movzx edi,bl - shl esi,8 - shr ebx,16 - or ecx,esi - movzx esi,BYTE [edi*1+ebp-128] - movzx edi,al - shr eax,16 - movd mm1,ecx - movzx ecx,BYTE [edi*1+ebp-128] - movzx edi,ah - shl ecx,16 - and eax,255 - or ecx,esi - punpckldq mm0,mm1 - movzx esi,BYTE [edi*1+ebp-128] - movzx edi,bh - shl esi,24 - and ebx,255 - movzx eax,BYTE [eax*1+ebp-128] - or ecx,esi - shl eax,16 - movzx esi,BYTE [edi*1+ebp-128] - or edx,eax - shl esi,8 - movzx ebx,BYTE [ebx*1+ebp-128] - or ecx,esi - or edx,ebx - mov edi,DWORD [20+esp] - movd mm4,ecx - movd mm5,edx - punpckldq mm4,mm5 - add edi,16 - cmp edi,DWORD [24+esp] - ja NEAR L$002out - movq mm2,[8+esp] - pxor mm3,mm3 - pxor mm7,mm7 - movq mm1,mm0 - movq mm5,mm4 - pcmpgtb mm3,mm0 - pcmpgtb mm7,mm4 - pand mm3,mm2 - pand mm7,mm2 - pshufw mm2,mm0,177 - pshufw mm6,mm4,177 - paddb mm0,mm0 - paddb mm4,mm4 - pxor mm0,mm3 - pxor mm4,mm7 - pshufw mm3,mm2,177 - pshufw mm7,mm6,177 - pxor mm1,mm0 - pxor mm5,mm4 - pxor mm0,mm2 - pxor mm4,mm6 - movq mm2,mm3 - movq mm6,mm7 - pslld mm3,8 - pslld mm7,8 - psrld mm2,24 - psrld mm6,24 - pxor mm0,mm3 - pxor mm4,mm7 - pxor mm0,mm2 - pxor mm4,mm6 - movq mm3,mm1 - movq mm7,mm5 - movq mm2,[edi] - movq mm6,[8+edi] - psrld mm1,8 - psrld mm5,8 - mov eax,DWORD [ebp-128] - pslld mm3,24 - pslld mm7,24 - mov ebx,DWORD [ebp-64] - pxor mm0,mm1 - pxor mm4,mm5 - mov ecx,DWORD [ebp] - pxor mm0,mm3 - pxor mm4,mm7 - mov edx,DWORD [64+ebp] - pxor mm0,mm2 - pxor mm4,mm6 - jmp NEAR L$001loop -align 16 -L$002out: - pxor mm0,[edi] - pxor mm4,[8+edi] - ret -align 16 -__x86_AES_encrypt: - mov DWORD [20+esp],edi - xor eax,DWORD [edi] - xor ebx,DWORD [4+edi] - xor ecx,DWORD [8+edi] - xor edx,DWORD [12+edi] - mov esi,DWORD [240+edi] - lea esi,[esi*1+esi-2] - lea esi,[esi*8+edi] - mov DWORD [24+esp],esi -align 16 -L$003loop: - mov esi,eax - and esi,255 - mov esi,DWORD [esi*8+ebp] - movzx edi,bh - xor esi,DWORD [3+edi*8+ebp] - mov edi,ecx - shr edi,16 - and edi,255 - xor esi,DWORD [2+edi*8+ebp] - mov edi,edx - shr edi,24 - xor esi,DWORD [1+edi*8+ebp] - mov DWORD [4+esp],esi - mov esi,ebx - and esi,255 - shr ebx,16 - mov esi,DWORD [esi*8+ebp] - movzx edi,ch - xor esi,DWORD [3+edi*8+ebp] - mov edi,edx - shr edi,16 - and edi,255 - xor esi,DWORD [2+edi*8+ebp] - mov edi,eax - shr edi,24 - xor esi,DWORD [1+edi*8+ebp] - mov DWORD [8+esp],esi - mov esi,ecx - and esi,255 - shr ecx,24 - mov esi,DWORD [esi*8+ebp] - movzx edi,dh - xor esi,DWORD [3+edi*8+ebp] - mov edi,eax - shr edi,16 - and edx,255 - and edi,255 - xor esi,DWORD [2+edi*8+ebp] - movzx edi,bh - xor esi,DWORD [1+edi*8+ebp] - mov edi,DWORD [20+esp] - mov edx,DWORD [edx*8+ebp] - movzx eax,ah - xor edx,DWORD [3+eax*8+ebp] - mov eax,DWORD [4+esp] - and ebx,255 - xor edx,DWORD [2+ebx*8+ebp] - mov ebx,DWORD [8+esp] - xor edx,DWORD [1+ecx*8+ebp] - mov ecx,esi - add edi,16 - xor eax,DWORD [edi] - xor ebx,DWORD [4+edi] - xor ecx,DWORD [8+edi] - xor edx,DWORD [12+edi] - cmp edi,DWORD [24+esp] - mov DWORD [20+esp],edi - jb NEAR L$003loop - mov esi,eax - and esi,255 - mov esi,DWORD [2+esi*8+ebp] - and esi,255 - movzx edi,bh - mov edi,DWORD [edi*8+ebp] - and edi,65280 - xor esi,edi - mov edi,ecx - shr edi,16 - and edi,255 - mov edi,DWORD [edi*8+ebp] - and edi,16711680 - xor esi,edi - mov edi,edx - shr edi,24 - mov edi,DWORD [2+edi*8+ebp] - and edi,4278190080 - xor esi,edi - mov DWORD [4+esp],esi - mov esi,ebx - and esi,255 - shr ebx,16 - mov esi,DWORD [2+esi*8+ebp] - and esi,255 - movzx edi,ch - mov edi,DWORD [edi*8+ebp] - and edi,65280 - xor esi,edi - mov edi,edx - shr edi,16 - and edi,255 - mov edi,DWORD [edi*8+ebp] - and edi,16711680 - xor esi,edi - mov edi,eax - shr edi,24 - mov edi,DWORD [2+edi*8+ebp] - and edi,4278190080 - xor esi,edi - mov DWORD [8+esp],esi - mov esi,ecx - and esi,255 - shr ecx,24 - mov esi,DWORD [2+esi*8+ebp] - and esi,255 - movzx edi,dh - mov edi,DWORD [edi*8+ebp] - and edi,65280 - xor esi,edi - mov edi,eax - shr edi,16 - and edx,255 - and edi,255 - mov edi,DWORD [edi*8+ebp] - and edi,16711680 - xor esi,edi - movzx edi,bh - mov edi,DWORD [2+edi*8+ebp] - and edi,4278190080 - xor esi,edi - mov edi,DWORD [20+esp] - and edx,255 - mov edx,DWORD [2+edx*8+ebp] - and edx,255 - movzx eax,ah - mov eax,DWORD [eax*8+ebp] - and eax,65280 - xor edx,eax - mov eax,DWORD [4+esp] - and ebx,255 - mov ebx,DWORD [ebx*8+ebp] - and ebx,16711680 - xor edx,ebx - mov ebx,DWORD [8+esp] - mov ecx,DWORD [2+ecx*8+ebp] - and ecx,4278190080 - xor edx,ecx - mov ecx,esi - add edi,16 - xor eax,DWORD [edi] - xor ebx,DWORD [4+edi] - xor ecx,DWORD [8+edi] - xor edx,DWORD [12+edi] - ret -align 64 -L$AES_Te: -dd 2774754246,2774754246 -dd 2222750968,2222750968 -dd 2574743534,2574743534 -dd 2373680118,2373680118 -dd 234025727,234025727 -dd 3177933782,3177933782 -dd 2976870366,2976870366 -dd 1422247313,1422247313 -dd 1345335392,1345335392 -dd 50397442,50397442 -dd 2842126286,2842126286 -dd 2099981142,2099981142 -dd 436141799,436141799 -dd 1658312629,1658312629 -dd 3870010189,3870010189 -dd 2591454956,2591454956 -dd 1170918031,1170918031 -dd 2642575903,2642575903 -dd 1086966153,1086966153 -dd 2273148410,2273148410 -dd 368769775,368769775 -dd 3948501426,3948501426 -dd 3376891790,3376891790 -dd 200339707,200339707 -dd 3970805057,3970805057 -dd 1742001331,1742001331 -dd 4255294047,4255294047 -dd 3937382213,3937382213 -dd 3214711843,3214711843 -dd 4154762323,4154762323 -dd 2524082916,2524082916 -dd 1539358875,1539358875 -dd 3266819957,3266819957 -dd 486407649,486407649 -dd 2928907069,2928907069 -dd 1780885068,1780885068 -dd 1513502316,1513502316 -dd 1094664062,1094664062 -dd 49805301,49805301 -dd 1338821763,1338821763 -dd 1546925160,1546925160 -dd 4104496465,4104496465 -dd 887481809,887481809 -dd 150073849,150073849 -dd 2473685474,2473685474 -dd 1943591083,1943591083 -dd 1395732834,1395732834 -dd 1058346282,1058346282 -dd 201589768,201589768 -dd 1388824469,1388824469 -dd 1696801606,1696801606 -dd 1589887901,1589887901 -dd 672667696,672667696 -dd 2711000631,2711000631 -dd 251987210,251987210 -dd 3046808111,3046808111 -dd 151455502,151455502 -dd 907153956,907153956 -dd 2608889883,2608889883 -dd 1038279391,1038279391 -dd 652995533,652995533 -dd 1764173646,1764173646 -dd 3451040383,3451040383 -dd 2675275242,2675275242 -dd 453576978,453576978 -dd 2659418909,2659418909 -dd 1949051992,1949051992 -dd 773462580,773462580 -dd 756751158,756751158 -dd 2993581788,2993581788 -dd 3998898868,3998898868 -dd 4221608027,4221608027 -dd 4132590244,4132590244 -dd 1295727478,1295727478 -dd 1641469623,1641469623 -dd 3467883389,3467883389 -dd 2066295122,2066295122 -dd 1055122397,1055122397 -dd 1898917726,1898917726 -dd 2542044179,2542044179 -dd 4115878822,4115878822 -dd 1758581177,1758581177 -dd 0,0 -dd 753790401,753790401 -dd 1612718144,1612718144 -dd 536673507,536673507 -dd 3367088505,3367088505 -dd 3982187446,3982187446 -dd 3194645204,3194645204 -dd 1187761037,1187761037 -dd 3653156455,3653156455 -dd 1262041458,1262041458 -dd 3729410708,3729410708 -dd 3561770136,3561770136 -dd 3898103984,3898103984 -dd 1255133061,1255133061 -dd 1808847035,1808847035 -dd 720367557,720367557 -dd 3853167183,3853167183 -dd 385612781,385612781 -dd 3309519750,3309519750 -dd 3612167578,3612167578 -dd 1429418854,1429418854 -dd 2491778321,2491778321 -dd 3477423498,3477423498 -dd 284817897,284817897 -dd 100794884,100794884 -dd 2172616702,2172616702 -dd 4031795360,4031795360 -dd 1144798328,1144798328 -dd 3131023141,3131023141 -dd 3819481163,3819481163 -dd 4082192802,4082192802 -dd 4272137053,4272137053 -dd 3225436288,3225436288 -dd 2324664069,2324664069 -dd 2912064063,2912064063 -dd 3164445985,3164445985 -dd 1211644016,1211644016 -dd 83228145,83228145 -dd 3753688163,3753688163 -dd 3249976951,3249976951 -dd 1977277103,1977277103 -dd 1663115586,1663115586 -dd 806359072,806359072 -dd 452984805,452984805 -dd 250868733,250868733 -dd 1842533055,1842533055 -dd 1288555905,1288555905 -dd 336333848,336333848 -dd 890442534,890442534 -dd 804056259,804056259 -dd 3781124030,3781124030 -dd 2727843637,2727843637 -dd 3427026056,3427026056 -dd 957814574,957814574 -dd 1472513171,1472513171 -dd 4071073621,4071073621 -dd 2189328124,2189328124 -dd 1195195770,1195195770 -dd 2892260552,2892260552 -dd 3881655738,3881655738 -dd 723065138,723065138 -dd 2507371494,2507371494 -dd 2690670784,2690670784 -dd 2558624025,2558624025 -dd 3511635870,3511635870 -dd 2145180835,2145180835 -dd 1713513028,1713513028 -dd 2116692564,2116692564 -dd 2878378043,2878378043 -dd 2206763019,2206763019 -dd 3393603212,3393603212 -dd 703524551,703524551 -dd 3552098411,3552098411 -dd 1007948840,1007948840 -dd 2044649127,2044649127 -dd 3797835452,3797835452 -dd 487262998,487262998 -dd 1994120109,1994120109 -dd 1004593371,1004593371 -dd 1446130276,1446130276 -dd 1312438900,1312438900 -dd 503974420,503974420 -dd 3679013266,3679013266 -dd 168166924,168166924 -dd 1814307912,1814307912 -dd 3831258296,3831258296 -dd 1573044895,1573044895 -dd 1859376061,1859376061 -dd 4021070915,4021070915 -dd 2791465668,2791465668 -dd 2828112185,2828112185 -dd 2761266481,2761266481 -dd 937747667,937747667 -dd 2339994098,2339994098 -dd 854058965,854058965 -dd 1137232011,1137232011 -dd 1496790894,1496790894 -dd 3077402074,3077402074 -dd 2358086913,2358086913 -dd 1691735473,1691735473 -dd 3528347292,3528347292 -dd 3769215305,3769215305 -dd 3027004632,3027004632 -dd 4199962284,4199962284 -dd 133494003,133494003 -dd 636152527,636152527 -dd 2942657994,2942657994 -dd 2390391540,2390391540 -dd 3920539207,3920539207 -dd 403179536,403179536 -dd 3585784431,3585784431 -dd 2289596656,2289596656 -dd 1864705354,1864705354 -dd 1915629148,1915629148 -dd 605822008,605822008 -dd 4054230615,4054230615 -dd 3350508659,3350508659 -dd 1371981463,1371981463 -dd 602466507,602466507 -dd 2094914977,2094914977 -dd 2624877800,2624877800 -dd 555687742,555687742 -dd 3712699286,3712699286 -dd 3703422305,3703422305 -dd 2257292045,2257292045 -dd 2240449039,2240449039 -dd 2423288032,2423288032 -dd 1111375484,1111375484 -dd 3300242801,3300242801 -dd 2858837708,2858837708 -dd 3628615824,3628615824 -dd 84083462,84083462 -dd 32962295,32962295 -dd 302911004,302911004 -dd 2741068226,2741068226 -dd 1597322602,1597322602 -dd 4183250862,4183250862 -dd 3501832553,3501832553 -dd 2441512471,2441512471 -dd 1489093017,1489093017 -dd 656219450,656219450 -dd 3114180135,3114180135 -dd 954327513,954327513 -dd 335083755,335083755 -dd 3013122091,3013122091 -dd 856756514,856756514 -dd 3144247762,3144247762 -dd 1893325225,1893325225 -dd 2307821063,2307821063 -dd 2811532339,2811532339 -dd 3063651117,3063651117 -dd 572399164,572399164 -dd 2458355477,2458355477 -dd 552200649,552200649 -dd 1238290055,1238290055 -dd 4283782570,4283782570 -dd 2015897680,2015897680 -dd 2061492133,2061492133 -dd 2408352771,2408352771 -dd 4171342169,4171342169 -dd 2156497161,2156497161 -dd 386731290,386731290 -dd 3669999461,3669999461 -dd 837215959,837215959 -dd 3326231172,3326231172 -dd 3093850320,3093850320 -dd 3275833730,3275833730 -dd 2962856233,2962856233 -dd 1999449434,1999449434 -dd 286199582,286199582 -dd 3417354363,3417354363 -dd 4233385128,4233385128 -dd 3602627437,3602627437 -dd 974525996,974525996 -db 99,124,119,123,242,107,111,197 -db 48,1,103,43,254,215,171,118 -db 202,130,201,125,250,89,71,240 -db 173,212,162,175,156,164,114,192 -db 183,253,147,38,54,63,247,204 -db 52,165,229,241,113,216,49,21 -db 4,199,35,195,24,150,5,154 -db 7,18,128,226,235,39,178,117 -db 9,131,44,26,27,110,90,160 -db 82,59,214,179,41,227,47,132 -db 83,209,0,237,32,252,177,91 -db 106,203,190,57,74,76,88,207 -db 208,239,170,251,67,77,51,133 -db 69,249,2,127,80,60,159,168 -db 81,163,64,143,146,157,56,245 -db 188,182,218,33,16,255,243,210 -db 205,12,19,236,95,151,68,23 -db 196,167,126,61,100,93,25,115 -db 96,129,79,220,34,42,144,136 -db 70,238,184,20,222,94,11,219 -db 224,50,58,10,73,6,36,92 -db 194,211,172,98,145,149,228,121 -db 231,200,55,109,141,213,78,169 -db 108,86,244,234,101,122,174,8 -db 186,120,37,46,28,166,180,198 -db 232,221,116,31,75,189,139,138 -db 112,62,181,102,72,3,246,14 -db 97,53,87,185,134,193,29,158 -db 225,248,152,17,105,217,142,148 -db 155,30,135,233,206,85,40,223 -db 140,161,137,13,191,230,66,104 -db 65,153,45,15,176,84,187,22 -db 99,124,119,123,242,107,111,197 -db 48,1,103,43,254,215,171,118 -db 202,130,201,125,250,89,71,240 -db 173,212,162,175,156,164,114,192 -db 183,253,147,38,54,63,247,204 -db 52,165,229,241,113,216,49,21 -db 4,199,35,195,24,150,5,154 -db 7,18,128,226,235,39,178,117 -db 9,131,44,26,27,110,90,160 -db 82,59,214,179,41,227,47,132 -db 83,209,0,237,32,252,177,91 -db 106,203,190,57,74,76,88,207 -db 208,239,170,251,67,77,51,133 -db 69,249,2,127,80,60,159,168 -db 81,163,64,143,146,157,56,245 -db 188,182,218,33,16,255,243,210 -db 205,12,19,236,95,151,68,23 -db 196,167,126,61,100,93,25,115 -db 96,129,79,220,34,42,144,136 -db 70,238,184,20,222,94,11,219 -db 224,50,58,10,73,6,36,92 -db 194,211,172,98,145,149,228,121 -db 231,200,55,109,141,213,78,169 -db 108,86,244,234,101,122,174,8 -db 186,120,37,46,28,166,180,198 -db 232,221,116,31,75,189,139,138 -db 112,62,181,102,72,3,246,14 -db 97,53,87,185,134,193,29,158 -db 225,248,152,17,105,217,142,148 -db 155,30,135,233,206,85,40,223 -db 140,161,137,13,191,230,66,104 -db 65,153,45,15,176,84,187,22 -db 99,124,119,123,242,107,111,197 -db 48,1,103,43,254,215,171,118 -db 202,130,201,125,250,89,71,240 -db 173,212,162,175,156,164,114,192 -db 183,253,147,38,54,63,247,204 -db 52,165,229,241,113,216,49,21 -db 4,199,35,195,24,150,5,154 -db 7,18,128,226,235,39,178,117 -db 9,131,44,26,27,110,90,160 -db 82,59,214,179,41,227,47,132 -db 83,209,0,237,32,252,177,91 -db 106,203,190,57,74,76,88,207 -db 208,239,170,251,67,77,51,133 -db 69,249,2,127,80,60,159,168 -db 81,163,64,143,146,157,56,245 -db 188,182,218,33,16,255,243,210 -db 205,12,19,236,95,151,68,23 -db 196,167,126,61,100,93,25,115 -db 96,129,79,220,34,42,144,136 -db 70,238,184,20,222,94,11,219 -db 224,50,58,10,73,6,36,92 -db 194,211,172,98,145,149,228,121 -db 231,200,55,109,141,213,78,169 -db 108,86,244,234,101,122,174,8 -db 186,120,37,46,28,166,180,198 -db 232,221,116,31,75,189,139,138 -db 112,62,181,102,72,3,246,14 -db 97,53,87,185,134,193,29,158 -db 225,248,152,17,105,217,142,148 -db 155,30,135,233,206,85,40,223 -db 140,161,137,13,191,230,66,104 -db 65,153,45,15,176,84,187,22 -db 99,124,119,123,242,107,111,197 -db 48,1,103,43,254,215,171,118 -db 202,130,201,125,250,89,71,240 -db 173,212,162,175,156,164,114,192 -db 183,253,147,38,54,63,247,204 -db 52,165,229,241,113,216,49,21 -db 4,199,35,195,24,150,5,154 -db 7,18,128,226,235,39,178,117 -db 9,131,44,26,27,110,90,160 -db 82,59,214,179,41,227,47,132 -db 83,209,0,237,32,252,177,91 -db 106,203,190,57,74,76,88,207 -db 208,239,170,251,67,77,51,133 -db 69,249,2,127,80,60,159,168 -db 81,163,64,143,146,157,56,245 -db 188,182,218,33,16,255,243,210 -db 205,12,19,236,95,151,68,23 -db 196,167,126,61,100,93,25,115 -db 96,129,79,220,34,42,144,136 -db 70,238,184,20,222,94,11,219 -db 224,50,58,10,73,6,36,92 -db 194,211,172,98,145,149,228,121 -db 231,200,55,109,141,213,78,169 -db 108,86,244,234,101,122,174,8 -db 186,120,37,46,28,166,180,198 -db 232,221,116,31,75,189,139,138 -db 112,62,181,102,72,3,246,14 -db 97,53,87,185,134,193,29,158 -db 225,248,152,17,105,217,142,148 -db 155,30,135,233,206,85,40,223 -db 140,161,137,13,191,230,66,104 -db 65,153,45,15,176,84,187,22 -dd 1,2,4,8 -dd 16,32,64,128 -dd 27,54,0,0 -dd 0,0,0,0 -global _aes_nohw_encrypt -align 16 -_aes_nohw_encrypt: -L$_aes_nohw_encrypt_begin: - push ebp - push ebx - push esi - push edi - mov esi,DWORD [20+esp] - mov edi,DWORD [28+esp] - mov eax,esp - sub esp,36 - and esp,-64 - lea ebx,[edi-127] - sub ebx,esp - neg ebx - and ebx,960 - sub esp,ebx - add esp,4 - mov DWORD [28+esp],eax - call L$004pic_point -L$004pic_point: - pop ebp - lea eax,[_OPENSSL_ia32cap_P] - lea ebp,[(L$AES_Te-L$004pic_point)+ebp] - lea ebx,[764+esp] - sub ebx,ebp - and ebx,768 - lea ebp,[2176+ebx*1+ebp] - bt DWORD [eax],25 - jnc NEAR L$005x86 - movq mm0,[esi] - movq mm4,[8+esi] - call __sse_AES_encrypt_compact - mov esp,DWORD [28+esp] - mov esi,DWORD [24+esp] - movq [esi],mm0 - movq [8+esi],mm4 - emms - pop edi - pop esi - pop ebx - pop ebp - ret -align 16 -L$005x86: - mov DWORD [24+esp],ebp - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] - mov ecx,DWORD [8+esi] - mov edx,DWORD [12+esi] - call __x86_AES_encrypt_compact - mov esp,DWORD [28+esp] - mov esi,DWORD [24+esp] - mov DWORD [esi],eax - mov DWORD [4+esi],ebx - mov DWORD [8+esi],ecx - mov DWORD [12+esi],edx - pop edi - pop esi - pop ebx - pop ebp - ret -align 16 -__x86_AES_decrypt_compact: - mov DWORD [20+esp],edi - xor eax,DWORD [edi] - xor ebx,DWORD [4+edi] - xor ecx,DWORD [8+edi] - xor edx,DWORD [12+edi] - mov esi,DWORD [240+edi] - lea esi,[esi*1+esi-2] - lea esi,[esi*8+edi] - mov DWORD [24+esp],esi - mov edi,DWORD [ebp-128] - mov esi,DWORD [ebp-96] - mov edi,DWORD [ebp-64] - mov esi,DWORD [ebp-32] - mov edi,DWORD [ebp] - mov esi,DWORD [32+ebp] - mov edi,DWORD [64+ebp] - mov esi,DWORD [96+ebp] -align 16 -L$006loop: - mov esi,eax - and esi,255 - movzx esi,BYTE [esi*1+ebp-128] - movzx edi,dh - movzx edi,BYTE [edi*1+ebp-128] - shl edi,8 - xor esi,edi - mov edi,ecx - shr edi,16 - and edi,255 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,16 - xor esi,edi - mov edi,ebx - shr edi,24 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,24 - xor esi,edi - mov DWORD [4+esp],esi - mov esi,ebx - and esi,255 - movzx esi,BYTE [esi*1+ebp-128] - movzx edi,ah - movzx edi,BYTE [edi*1+ebp-128] - shl edi,8 - xor esi,edi - mov edi,edx - shr edi,16 - and edi,255 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,16 - xor esi,edi - mov edi,ecx - shr edi,24 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,24 - xor esi,edi - mov DWORD [8+esp],esi - mov esi,ecx - and esi,255 - movzx esi,BYTE [esi*1+ebp-128] - movzx edi,bh - movzx edi,BYTE [edi*1+ebp-128] - shl edi,8 - xor esi,edi - mov edi,eax - shr edi,16 - and edi,255 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,16 - xor esi,edi - mov edi,edx - shr edi,24 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,24 - xor esi,edi - and edx,255 - movzx edx,BYTE [edx*1+ebp-128] - movzx ecx,ch - movzx ecx,BYTE [ecx*1+ebp-128] - shl ecx,8 - xor edx,ecx - mov ecx,esi - shr ebx,16 - and ebx,255 - movzx ebx,BYTE [ebx*1+ebp-128] - shl ebx,16 - xor edx,ebx - shr eax,24 - movzx eax,BYTE [eax*1+ebp-128] - shl eax,24 - xor edx,eax - mov edi,2155905152 - and edi,ecx - mov esi,edi - shr edi,7 - lea eax,[ecx*1+ecx] - sub esi,edi - and eax,4278124286 - and esi,454761243 - xor eax,esi - mov edi,2155905152 - and edi,eax - mov esi,edi - shr edi,7 - lea ebx,[eax*1+eax] - sub esi,edi - and ebx,4278124286 - and esi,454761243 - xor eax,ecx - xor ebx,esi - mov edi,2155905152 - and edi,ebx - mov esi,edi - shr edi,7 - lea ebp,[ebx*1+ebx] - sub esi,edi - and ebp,4278124286 - and esi,454761243 - xor ebx,ecx - rol ecx,8 - xor ebp,esi - xor ecx,eax - xor eax,ebp - xor ecx,ebx - xor ebx,ebp - rol eax,24 - xor ecx,ebp - rol ebx,16 - xor ecx,eax - rol ebp,8 - xor ecx,ebx - mov eax,DWORD [4+esp] - xor ecx,ebp - mov DWORD [12+esp],ecx - mov edi,2155905152 - and edi,edx - mov esi,edi - shr edi,7 - lea ebx,[edx*1+edx] - sub esi,edi - and ebx,4278124286 - and esi,454761243 - xor ebx,esi - mov edi,2155905152 - and edi,ebx - mov esi,edi - shr edi,7 - lea ecx,[ebx*1+ebx] - sub esi,edi - and ecx,4278124286 - and esi,454761243 - xor ebx,edx - xor ecx,esi - mov edi,2155905152 - and edi,ecx - mov esi,edi - shr edi,7 - lea ebp,[ecx*1+ecx] - sub esi,edi - and ebp,4278124286 - and esi,454761243 - xor ecx,edx - rol edx,8 - xor ebp,esi - xor edx,ebx - xor ebx,ebp - xor edx,ecx - xor ecx,ebp - rol ebx,24 - xor edx,ebp - rol ecx,16 - xor edx,ebx - rol ebp,8 - xor edx,ecx - mov ebx,DWORD [8+esp] - xor edx,ebp - mov DWORD [16+esp],edx - mov edi,2155905152 - and edi,eax - mov esi,edi - shr edi,7 - lea ecx,[eax*1+eax] - sub esi,edi - and ecx,4278124286 - and esi,454761243 - xor ecx,esi - mov edi,2155905152 - and edi,ecx - mov esi,edi - shr edi,7 - lea edx,[ecx*1+ecx] - sub esi,edi - and edx,4278124286 - and esi,454761243 - xor ecx,eax - xor edx,esi - mov edi,2155905152 - and edi,edx - mov esi,edi - shr edi,7 - lea ebp,[edx*1+edx] - sub esi,edi - and ebp,4278124286 - and esi,454761243 - xor edx,eax - rol eax,8 - xor ebp,esi - xor eax,ecx - xor ecx,ebp - xor eax,edx - xor edx,ebp - rol ecx,24 - xor eax,ebp - rol edx,16 - xor eax,ecx - rol ebp,8 - xor eax,edx - xor eax,ebp - mov edi,2155905152 - and edi,ebx - mov esi,edi - shr edi,7 - lea ecx,[ebx*1+ebx] - sub esi,edi - and ecx,4278124286 - and esi,454761243 - xor ecx,esi - mov edi,2155905152 - and edi,ecx - mov esi,edi - shr edi,7 - lea edx,[ecx*1+ecx] - sub esi,edi - and edx,4278124286 - and esi,454761243 - xor ecx,ebx - xor edx,esi - mov edi,2155905152 - and edi,edx - mov esi,edi - shr edi,7 - lea ebp,[edx*1+edx] - sub esi,edi - and ebp,4278124286 - and esi,454761243 - xor edx,ebx - rol ebx,8 - xor ebp,esi - xor ebx,ecx - xor ecx,ebp - xor ebx,edx - xor edx,ebp - rol ecx,24 - xor ebx,ebp - rol edx,16 - xor ebx,ecx - rol ebp,8 - xor ebx,edx - mov ecx,DWORD [12+esp] - xor ebx,ebp - mov edx,DWORD [16+esp] - mov edi,DWORD [20+esp] - mov ebp,DWORD [28+esp] - add edi,16 - xor eax,DWORD [edi] - xor ebx,DWORD [4+edi] - xor ecx,DWORD [8+edi] - xor edx,DWORD [12+edi] - cmp edi,DWORD [24+esp] - mov DWORD [20+esp],edi - jb NEAR L$006loop - mov esi,eax - and esi,255 - movzx esi,BYTE [esi*1+ebp-128] - movzx edi,dh - movzx edi,BYTE [edi*1+ebp-128] - shl edi,8 - xor esi,edi - mov edi,ecx - shr edi,16 - and edi,255 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,16 - xor esi,edi - mov edi,ebx - shr edi,24 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,24 - xor esi,edi - mov DWORD [4+esp],esi - mov esi,ebx - and esi,255 - movzx esi,BYTE [esi*1+ebp-128] - movzx edi,ah - movzx edi,BYTE [edi*1+ebp-128] - shl edi,8 - xor esi,edi - mov edi,edx - shr edi,16 - and edi,255 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,16 - xor esi,edi - mov edi,ecx - shr edi,24 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,24 - xor esi,edi - mov DWORD [8+esp],esi - mov esi,ecx - and esi,255 - movzx esi,BYTE [esi*1+ebp-128] - movzx edi,bh - movzx edi,BYTE [edi*1+ebp-128] - shl edi,8 - xor esi,edi - mov edi,eax - shr edi,16 - and edi,255 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,16 - xor esi,edi - mov edi,edx - shr edi,24 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,24 - xor esi,edi - mov edi,DWORD [20+esp] - and edx,255 - movzx edx,BYTE [edx*1+ebp-128] - movzx ecx,ch - movzx ecx,BYTE [ecx*1+ebp-128] - shl ecx,8 - xor edx,ecx - mov ecx,esi - shr ebx,16 - and ebx,255 - movzx ebx,BYTE [ebx*1+ebp-128] - shl ebx,16 - xor edx,ebx - mov ebx,DWORD [8+esp] - shr eax,24 - movzx eax,BYTE [eax*1+ebp-128] - shl eax,24 - xor edx,eax - mov eax,DWORD [4+esp] - xor eax,DWORD [16+edi] - xor ebx,DWORD [20+edi] - xor ecx,DWORD [24+edi] - xor edx,DWORD [28+edi] - ret -align 16 -__sse_AES_decrypt_compact: - pxor mm0,[edi] - pxor mm4,[8+edi] - mov esi,DWORD [240+edi] - lea esi,[esi*1+esi-2] - lea esi,[esi*8+edi] - mov DWORD [24+esp],esi - mov eax,454761243 - mov DWORD [8+esp],eax - mov DWORD [12+esp],eax - mov eax,DWORD [ebp-128] - mov ebx,DWORD [ebp-96] - mov ecx,DWORD [ebp-64] - mov edx,DWORD [ebp-32] - mov eax,DWORD [ebp] - mov ebx,DWORD [32+ebp] - mov ecx,DWORD [64+ebp] - mov edx,DWORD [96+ebp] -align 16 -L$007loop: - pshufw mm1,mm0,12 - pshufw mm5,mm4,9 - movd eax,mm1 - movd ebx,mm5 - mov DWORD [20+esp],edi - movzx esi,al - movzx edx,ah - pshufw mm2,mm0,6 - movzx ecx,BYTE [esi*1+ebp-128] - movzx edi,bl - movzx edx,BYTE [edx*1+ebp-128] - shr eax,16 - shl edx,8 - movzx esi,BYTE [edi*1+ebp-128] - movzx edi,bh - shl esi,16 - pshufw mm6,mm4,3 - or ecx,esi - movzx esi,BYTE [edi*1+ebp-128] - movzx edi,ah - shl esi,24 - shr ebx,16 - or edx,esi - movzx esi,BYTE [edi*1+ebp-128] - movzx edi,bh - shl esi,24 - or ecx,esi - movzx esi,BYTE [edi*1+ebp-128] - movzx edi,al - shl esi,8 - movd eax,mm2 - or ecx,esi - movzx esi,BYTE [edi*1+ebp-128] - movzx edi,bl - shl esi,16 - movd ebx,mm6 - movd mm0,ecx - movzx ecx,BYTE [edi*1+ebp-128] - movzx edi,al - or ecx,esi - movzx esi,BYTE [edi*1+ebp-128] - movzx edi,bl - or edx,esi - movzx esi,BYTE [edi*1+ebp-128] - movzx edi,ah - shl esi,16 - shr eax,16 - or edx,esi - movzx esi,BYTE [edi*1+ebp-128] - movzx edi,bh - shr ebx,16 - shl esi,8 - movd mm1,edx - movzx edx,BYTE [edi*1+ebp-128] - movzx edi,bh - shl edx,24 - and ebx,255 - or edx,esi - punpckldq mm0,mm1 - movzx esi,BYTE [edi*1+ebp-128] - movzx edi,al - shl esi,8 - movzx eax,ah - movzx ebx,BYTE [ebx*1+ebp-128] - or ecx,esi - movzx esi,BYTE [edi*1+ebp-128] - or edx,ebx - shl esi,16 - movzx eax,BYTE [eax*1+ebp-128] - or edx,esi - shl eax,24 - or ecx,eax - mov edi,DWORD [20+esp] - movd mm4,edx - movd mm5,ecx - punpckldq mm4,mm5 - add edi,16 - cmp edi,DWORD [24+esp] - ja NEAR L$008out - movq mm3,mm0 - movq mm7,mm4 - pshufw mm2,mm0,228 - pshufw mm6,mm4,228 - movq mm1,mm0 - movq mm5,mm4 - pshufw mm0,mm0,177 - pshufw mm4,mm4,177 - pslld mm2,8 - pslld mm6,8 - psrld mm3,8 - psrld mm7,8 - pxor mm0,mm2 - pxor mm4,mm6 - pxor mm0,mm3 - pxor mm4,mm7 - pslld mm2,16 - pslld mm6,16 - psrld mm3,16 - psrld mm7,16 - pxor mm0,mm2 - pxor mm4,mm6 - pxor mm0,mm3 - pxor mm4,mm7 - movq mm3,[8+esp] - pxor mm2,mm2 - pxor mm6,mm6 - pcmpgtb mm2,mm1 - pcmpgtb mm6,mm5 - pand mm2,mm3 - pand mm6,mm3 - paddb mm1,mm1 - paddb mm5,mm5 - pxor mm1,mm2 - pxor mm5,mm6 - movq mm3,mm1 - movq mm7,mm5 - movq mm2,mm1 - movq mm6,mm5 - pxor mm0,mm1 - pxor mm4,mm5 - pslld mm3,24 - pslld mm7,24 - psrld mm2,8 - psrld mm6,8 - pxor mm0,mm3 - pxor mm4,mm7 - pxor mm0,mm2 - pxor mm4,mm6 - movq mm2,[8+esp] - pxor mm3,mm3 - pxor mm7,mm7 - pcmpgtb mm3,mm1 - pcmpgtb mm7,mm5 - pand mm3,mm2 - pand mm7,mm2 - paddb mm1,mm1 - paddb mm5,mm5 - pxor mm1,mm3 - pxor mm5,mm7 - pshufw mm3,mm1,177 - pshufw mm7,mm5,177 - pxor mm0,mm1 - pxor mm4,mm5 - pxor mm0,mm3 - pxor mm4,mm7 - pxor mm3,mm3 - pxor mm7,mm7 - pcmpgtb mm3,mm1 - pcmpgtb mm7,mm5 - pand mm3,mm2 - pand mm7,mm2 - paddb mm1,mm1 - paddb mm5,mm5 - pxor mm1,mm3 - pxor mm5,mm7 - pxor mm0,mm1 - pxor mm4,mm5 - movq mm3,mm1 - movq mm7,mm5 - pshufw mm2,mm1,177 - pshufw mm6,mm5,177 - pxor mm0,mm2 - pxor mm4,mm6 - pslld mm1,8 - pslld mm5,8 - psrld mm3,8 - psrld mm7,8 - movq mm2,[edi] - movq mm6,[8+edi] - pxor mm0,mm1 - pxor mm4,mm5 - pxor mm0,mm3 - pxor mm4,mm7 - mov eax,DWORD [ebp-128] - pslld mm1,16 - pslld mm5,16 - mov ebx,DWORD [ebp-64] - psrld mm3,16 - psrld mm7,16 - mov ecx,DWORD [ebp] - pxor mm0,mm1 - pxor mm4,mm5 - mov edx,DWORD [64+ebp] - pxor mm0,mm3 - pxor mm4,mm7 - pxor mm0,mm2 - pxor mm4,mm6 - jmp NEAR L$007loop -align 16 -L$008out: - pxor mm0,[edi] - pxor mm4,[8+edi] - ret -align 16 -__x86_AES_decrypt: - mov DWORD [20+esp],edi - xor eax,DWORD [edi] - xor ebx,DWORD [4+edi] - xor ecx,DWORD [8+edi] - xor edx,DWORD [12+edi] - mov esi,DWORD [240+edi] - lea esi,[esi*1+esi-2] - lea esi,[esi*8+edi] - mov DWORD [24+esp],esi -align 16 -L$009loop: - mov esi,eax - and esi,255 - mov esi,DWORD [esi*8+ebp] - movzx edi,dh - xor esi,DWORD [3+edi*8+ebp] - mov edi,ecx - shr edi,16 - and edi,255 - xor esi,DWORD [2+edi*8+ebp] - mov edi,ebx - shr edi,24 - xor esi,DWORD [1+edi*8+ebp] - mov DWORD [4+esp],esi - mov esi,ebx - and esi,255 - mov esi,DWORD [esi*8+ebp] - movzx edi,ah - xor esi,DWORD [3+edi*8+ebp] - mov edi,edx - shr edi,16 - and edi,255 - xor esi,DWORD [2+edi*8+ebp] - mov edi,ecx - shr edi,24 - xor esi,DWORD [1+edi*8+ebp] - mov DWORD [8+esp],esi - mov esi,ecx - and esi,255 - mov esi,DWORD [esi*8+ebp] - movzx edi,bh - xor esi,DWORD [3+edi*8+ebp] - mov edi,eax - shr edi,16 - and edi,255 - xor esi,DWORD [2+edi*8+ebp] - mov edi,edx - shr edi,24 - xor esi,DWORD [1+edi*8+ebp] - mov edi,DWORD [20+esp] - and edx,255 - mov edx,DWORD [edx*8+ebp] - movzx ecx,ch - xor edx,DWORD [3+ecx*8+ebp] - mov ecx,esi - shr ebx,16 - and ebx,255 - xor edx,DWORD [2+ebx*8+ebp] - mov ebx,DWORD [8+esp] - shr eax,24 - xor edx,DWORD [1+eax*8+ebp] - mov eax,DWORD [4+esp] - add edi,16 - xor eax,DWORD [edi] - xor ebx,DWORD [4+edi] - xor ecx,DWORD [8+edi] - xor edx,DWORD [12+edi] - cmp edi,DWORD [24+esp] - mov DWORD [20+esp],edi - jb NEAR L$009loop - lea ebp,[2176+ebp] - mov edi,DWORD [ebp-128] - mov esi,DWORD [ebp-96] - mov edi,DWORD [ebp-64] - mov esi,DWORD [ebp-32] - mov edi,DWORD [ebp] - mov esi,DWORD [32+ebp] - mov edi,DWORD [64+ebp] - mov esi,DWORD [96+ebp] - lea ebp,[ebp-128] - mov esi,eax - and esi,255 - movzx esi,BYTE [esi*1+ebp] - movzx edi,dh - movzx edi,BYTE [edi*1+ebp] - shl edi,8 - xor esi,edi - mov edi,ecx - shr edi,16 - and edi,255 - movzx edi,BYTE [edi*1+ebp] - shl edi,16 - xor esi,edi - mov edi,ebx - shr edi,24 - movzx edi,BYTE [edi*1+ebp] - shl edi,24 - xor esi,edi - mov DWORD [4+esp],esi - mov esi,ebx - and esi,255 - movzx esi,BYTE [esi*1+ebp] - movzx edi,ah - movzx edi,BYTE [edi*1+ebp] - shl edi,8 - xor esi,edi - mov edi,edx - shr edi,16 - and edi,255 - movzx edi,BYTE [edi*1+ebp] - shl edi,16 - xor esi,edi - mov edi,ecx - shr edi,24 - movzx edi,BYTE [edi*1+ebp] - shl edi,24 - xor esi,edi - mov DWORD [8+esp],esi - mov esi,ecx - and esi,255 - movzx esi,BYTE [esi*1+ebp] - movzx edi,bh - movzx edi,BYTE [edi*1+ebp] - shl edi,8 - xor esi,edi - mov edi,eax - shr edi,16 - and edi,255 - movzx edi,BYTE [edi*1+ebp] - shl edi,16 - xor esi,edi - mov edi,edx - shr edi,24 - movzx edi,BYTE [edi*1+ebp] - shl edi,24 - xor esi,edi - mov edi,DWORD [20+esp] - and edx,255 - movzx edx,BYTE [edx*1+ebp] - movzx ecx,ch - movzx ecx,BYTE [ecx*1+ebp] - shl ecx,8 - xor edx,ecx - mov ecx,esi - shr ebx,16 - and ebx,255 - movzx ebx,BYTE [ebx*1+ebp] - shl ebx,16 - xor edx,ebx - mov ebx,DWORD [8+esp] - shr eax,24 - movzx eax,BYTE [eax*1+ebp] - shl eax,24 - xor edx,eax - mov eax,DWORD [4+esp] - lea ebp,[ebp-2048] - add edi,16 - xor eax,DWORD [edi] - xor ebx,DWORD [4+edi] - xor ecx,DWORD [8+edi] - xor edx,DWORD [12+edi] - ret -align 64 -L$AES_Td: -dd 1353184337,1353184337 -dd 1399144830,1399144830 -dd 3282310938,3282310938 -dd 2522752826,2522752826 -dd 3412831035,3412831035 -dd 4047871263,4047871263 -dd 2874735276,2874735276 -dd 2466505547,2466505547 -dd 1442459680,1442459680 -dd 4134368941,4134368941 -dd 2440481928,2440481928 -dd 625738485,625738485 -dd 4242007375,4242007375 -dd 3620416197,3620416197 -dd 2151953702,2151953702 -dd 2409849525,2409849525 -dd 1230680542,1230680542 -dd 1729870373,1729870373 -dd 2551114309,2551114309 -dd 3787521629,3787521629 -dd 41234371,41234371 -dd 317738113,317738113 -dd 2744600205,2744600205 -dd 3338261355,3338261355 -dd 3881799427,3881799427 -dd 2510066197,2510066197 -dd 3950669247,3950669247 -dd 3663286933,3663286933 -dd 763608788,763608788 -dd 3542185048,3542185048 -dd 694804553,694804553 -dd 1154009486,1154009486 -dd 1787413109,1787413109 -dd 2021232372,2021232372 -dd 1799248025,1799248025 -dd 3715217703,3715217703 -dd 3058688446,3058688446 -dd 397248752,397248752 -dd 1722556617,1722556617 -dd 3023752829,3023752829 -dd 407560035,407560035 -dd 2184256229,2184256229 -dd 1613975959,1613975959 -dd 1165972322,1165972322 -dd 3765920945,3765920945 -dd 2226023355,2226023355 -dd 480281086,480281086 -dd 2485848313,2485848313 -dd 1483229296,1483229296 -dd 436028815,436028815 -dd 2272059028,2272059028 -dd 3086515026,3086515026 -dd 601060267,601060267 -dd 3791801202,3791801202 -dd 1468997603,1468997603 -dd 715871590,715871590 -dd 120122290,120122290 -dd 63092015,63092015 -dd 2591802758,2591802758 -dd 2768779219,2768779219 -dd 4068943920,4068943920 -dd 2997206819,2997206819 -dd 3127509762,3127509762 -dd 1552029421,1552029421 -dd 723308426,723308426 -dd 2461301159,2461301159 -dd 4042393587,4042393587 -dd 2715969870,2715969870 -dd 3455375973,3455375973 -dd 3586000134,3586000134 -dd 526529745,526529745 -dd 2331944644,2331944644 -dd 2639474228,2639474228 -dd 2689987490,2689987490 -dd 853641733,853641733 -dd 1978398372,1978398372 -dd 971801355,971801355 -dd 2867814464,2867814464 -dd 111112542,111112542 -dd 1360031421,1360031421 -dd 4186579262,4186579262 -dd 1023860118,1023860118 -dd 2919579357,2919579357 -dd 1186850381,1186850381 -dd 3045938321,3045938321 -dd 90031217,90031217 -dd 1876166148,1876166148 -dd 4279586912,4279586912 -dd 620468249,620468249 -dd 2548678102,2548678102 -dd 3426959497,3426959497 -dd 2006899047,2006899047 -dd 3175278768,3175278768 -dd 2290845959,2290845959 -dd 945494503,945494503 -dd 3689859193,3689859193 -dd 1191869601,1191869601 -dd 3910091388,3910091388 -dd 3374220536,3374220536 -dd 0,0 -dd 2206629897,2206629897 -dd 1223502642,1223502642 -dd 2893025566,2893025566 -dd 1316117100,1316117100 -dd 4227796733,4227796733 -dd 1446544655,1446544655 -dd 517320253,517320253 -dd 658058550,658058550 -dd 1691946762,1691946762 -dd 564550760,564550760 -dd 3511966619,3511966619 -dd 976107044,976107044 -dd 2976320012,2976320012 -dd 266819475,266819475 -dd 3533106868,3533106868 -dd 2660342555,2660342555 -dd 1338359936,1338359936 -dd 2720062561,2720062561 -dd 1766553434,1766553434 -dd 370807324,370807324 -dd 179999714,179999714 -dd 3844776128,3844776128 -dd 1138762300,1138762300 -dd 488053522,488053522 -dd 185403662,185403662 -dd 2915535858,2915535858 -dd 3114841645,3114841645 -dd 3366526484,3366526484 -dd 2233069911,2233069911 -dd 1275557295,1275557295 -dd 3151862254,3151862254 -dd 4250959779,4250959779 -dd 2670068215,2670068215 -dd 3170202204,3170202204 -dd 3309004356,3309004356 -dd 880737115,880737115 -dd 1982415755,1982415755 -dd 3703972811,3703972811 -dd 1761406390,1761406390 -dd 1676797112,1676797112 -dd 3403428311,3403428311 -dd 277177154,277177154 -dd 1076008723,1076008723 -dd 538035844,538035844 -dd 2099530373,2099530373 -dd 4164795346,4164795346 -dd 288553390,288553390 -dd 1839278535,1839278535 -dd 1261411869,1261411869 -dd 4080055004,4080055004 -dd 3964831245,3964831245 -dd 3504587127,3504587127 -dd 1813426987,1813426987 -dd 2579067049,2579067049 -dd 4199060497,4199060497 -dd 577038663,577038663 -dd 3297574056,3297574056 -dd 440397984,440397984 -dd 3626794326,3626794326 -dd 4019204898,4019204898 -dd 3343796615,3343796615 -dd 3251714265,3251714265 -dd 4272081548,4272081548 -dd 906744984,906744984 -dd 3481400742,3481400742 -dd 685669029,685669029 -dd 646887386,646887386 -dd 2764025151,2764025151 -dd 3835509292,3835509292 -dd 227702864,227702864 -dd 2613862250,2613862250 -dd 1648787028,1648787028 -dd 3256061430,3256061430 -dd 3904428176,3904428176 -dd 1593260334,1593260334 -dd 4121936770,4121936770 -dd 3196083615,3196083615 -dd 2090061929,2090061929 -dd 2838353263,2838353263 -dd 3004310991,3004310991 -dd 999926984,999926984 -dd 2809993232,2809993232 -dd 1852021992,1852021992 -dd 2075868123,2075868123 -dd 158869197,158869197 -dd 4095236462,4095236462 -dd 28809964,28809964 -dd 2828685187,2828685187 -dd 1701746150,1701746150 -dd 2129067946,2129067946 -dd 147831841,147831841 -dd 3873969647,3873969647 -dd 3650873274,3650873274 -dd 3459673930,3459673930 -dd 3557400554,3557400554 -dd 3598495785,3598495785 -dd 2947720241,2947720241 -dd 824393514,824393514 -dd 815048134,815048134 -dd 3227951669,3227951669 -dd 935087732,935087732 -dd 2798289660,2798289660 -dd 2966458592,2966458592 -dd 366520115,366520115 -dd 1251476721,1251476721 -dd 4158319681,4158319681 -dd 240176511,240176511 -dd 804688151,804688151 -dd 2379631990,2379631990 -dd 1303441219,1303441219 -dd 1414376140,1414376140 -dd 3741619940,3741619940 -dd 3820343710,3820343710 -dd 461924940,461924940 -dd 3089050817,3089050817 -dd 2136040774,2136040774 -dd 82468509,82468509 -dd 1563790337,1563790337 -dd 1937016826,1937016826 -dd 776014843,776014843 -dd 1511876531,1511876531 -dd 1389550482,1389550482 -dd 861278441,861278441 -dd 323475053,323475053 -dd 2355222426,2355222426 -dd 2047648055,2047648055 -dd 2383738969,2383738969 -dd 2302415851,2302415851 -dd 3995576782,3995576782 -dd 902390199,902390199 -dd 3991215329,3991215329 -dd 1018251130,1018251130 -dd 1507840668,1507840668 -dd 1064563285,1064563285 -dd 2043548696,2043548696 -dd 3208103795,3208103795 -dd 3939366739,3939366739 -dd 1537932639,1537932639 -dd 342834655,342834655 -dd 2262516856,2262516856 -dd 2180231114,2180231114 -dd 1053059257,1053059257 -dd 741614648,741614648 -dd 1598071746,1598071746 -dd 1925389590,1925389590 -dd 203809468,203809468 -dd 2336832552,2336832552 -dd 1100287487,1100287487 -dd 1895934009,1895934009 -dd 3736275976,3736275976 -dd 2632234200,2632234200 -dd 2428589668,2428589668 -dd 1636092795,1636092795 -dd 1890988757,1890988757 -dd 1952214088,1952214088 -dd 1113045200,1113045200 -db 82,9,106,213,48,54,165,56 -db 191,64,163,158,129,243,215,251 -db 124,227,57,130,155,47,255,135 -db 52,142,67,68,196,222,233,203 -db 84,123,148,50,166,194,35,61 -db 238,76,149,11,66,250,195,78 -db 8,46,161,102,40,217,36,178 -db 118,91,162,73,109,139,209,37 -db 114,248,246,100,134,104,152,22 -db 212,164,92,204,93,101,182,146 -db 108,112,72,80,253,237,185,218 -db 94,21,70,87,167,141,157,132 -db 144,216,171,0,140,188,211,10 -db 247,228,88,5,184,179,69,6 -db 208,44,30,143,202,63,15,2 -db 193,175,189,3,1,19,138,107 -db 58,145,17,65,79,103,220,234 -db 151,242,207,206,240,180,230,115 -db 150,172,116,34,231,173,53,133 -db 226,249,55,232,28,117,223,110 -db 71,241,26,113,29,41,197,137 -db 111,183,98,14,170,24,190,27 -db 252,86,62,75,198,210,121,32 -db 154,219,192,254,120,205,90,244 -db 31,221,168,51,136,7,199,49 -db 177,18,16,89,39,128,236,95 -db 96,81,127,169,25,181,74,13 -db 45,229,122,159,147,201,156,239 -db 160,224,59,77,174,42,245,176 -db 200,235,187,60,131,83,153,97 -db 23,43,4,126,186,119,214,38 -db 225,105,20,99,85,33,12,125 -db 82,9,106,213,48,54,165,56 -db 191,64,163,158,129,243,215,251 -db 124,227,57,130,155,47,255,135 -db 52,142,67,68,196,222,233,203 -db 84,123,148,50,166,194,35,61 -db 238,76,149,11,66,250,195,78 -db 8,46,161,102,40,217,36,178 -db 118,91,162,73,109,139,209,37 -db 114,248,246,100,134,104,152,22 -db 212,164,92,204,93,101,182,146 -db 108,112,72,80,253,237,185,218 -db 94,21,70,87,167,141,157,132 -db 144,216,171,0,140,188,211,10 -db 247,228,88,5,184,179,69,6 -db 208,44,30,143,202,63,15,2 -db 193,175,189,3,1,19,138,107 -db 58,145,17,65,79,103,220,234 -db 151,242,207,206,240,180,230,115 -db 150,172,116,34,231,173,53,133 -db 226,249,55,232,28,117,223,110 -db 71,241,26,113,29,41,197,137 -db 111,183,98,14,170,24,190,27 -db 252,86,62,75,198,210,121,32 -db 154,219,192,254,120,205,90,244 -db 31,221,168,51,136,7,199,49 -db 177,18,16,89,39,128,236,95 -db 96,81,127,169,25,181,74,13 -db 45,229,122,159,147,201,156,239 -db 160,224,59,77,174,42,245,176 -db 200,235,187,60,131,83,153,97 -db 23,43,4,126,186,119,214,38 -db 225,105,20,99,85,33,12,125 -db 82,9,106,213,48,54,165,56 -db 191,64,163,158,129,243,215,251 -db 124,227,57,130,155,47,255,135 -db 52,142,67,68,196,222,233,203 -db 84,123,148,50,166,194,35,61 -db 238,76,149,11,66,250,195,78 -db 8,46,161,102,40,217,36,178 -db 118,91,162,73,109,139,209,37 -db 114,248,246,100,134,104,152,22 -db 212,164,92,204,93,101,182,146 -db 108,112,72,80,253,237,185,218 -db 94,21,70,87,167,141,157,132 -db 144,216,171,0,140,188,211,10 -db 247,228,88,5,184,179,69,6 -db 208,44,30,143,202,63,15,2 -db 193,175,189,3,1,19,138,107 -db 58,145,17,65,79,103,220,234 -db 151,242,207,206,240,180,230,115 -db 150,172,116,34,231,173,53,133 -db 226,249,55,232,28,117,223,110 -db 71,241,26,113,29,41,197,137 -db 111,183,98,14,170,24,190,27 -db 252,86,62,75,198,210,121,32 -db 154,219,192,254,120,205,90,244 -db 31,221,168,51,136,7,199,49 -db 177,18,16,89,39,128,236,95 -db 96,81,127,169,25,181,74,13 -db 45,229,122,159,147,201,156,239 -db 160,224,59,77,174,42,245,176 -db 200,235,187,60,131,83,153,97 -db 23,43,4,126,186,119,214,38 -db 225,105,20,99,85,33,12,125 -db 82,9,106,213,48,54,165,56 -db 191,64,163,158,129,243,215,251 -db 124,227,57,130,155,47,255,135 -db 52,142,67,68,196,222,233,203 -db 84,123,148,50,166,194,35,61 -db 238,76,149,11,66,250,195,78 -db 8,46,161,102,40,217,36,178 -db 118,91,162,73,109,139,209,37 -db 114,248,246,100,134,104,152,22 -db 212,164,92,204,93,101,182,146 -db 108,112,72,80,253,237,185,218 -db 94,21,70,87,167,141,157,132 -db 144,216,171,0,140,188,211,10 -db 247,228,88,5,184,179,69,6 -db 208,44,30,143,202,63,15,2 -db 193,175,189,3,1,19,138,107 -db 58,145,17,65,79,103,220,234 -db 151,242,207,206,240,180,230,115 -db 150,172,116,34,231,173,53,133 -db 226,249,55,232,28,117,223,110 -db 71,241,26,113,29,41,197,137 -db 111,183,98,14,170,24,190,27 -db 252,86,62,75,198,210,121,32 -db 154,219,192,254,120,205,90,244 -db 31,221,168,51,136,7,199,49 -db 177,18,16,89,39,128,236,95 -db 96,81,127,169,25,181,74,13 -db 45,229,122,159,147,201,156,239 -db 160,224,59,77,174,42,245,176 -db 200,235,187,60,131,83,153,97 -db 23,43,4,126,186,119,214,38 -db 225,105,20,99,85,33,12,125 -global _aes_nohw_decrypt -align 16 -_aes_nohw_decrypt: -L$_aes_nohw_decrypt_begin: - push ebp - push ebx - push esi - push edi - mov esi,DWORD [20+esp] - mov edi,DWORD [28+esp] - mov eax,esp - sub esp,36 - and esp,-64 - lea ebx,[edi-127] - sub ebx,esp - neg ebx - and ebx,960 - sub esp,ebx - add esp,4 - mov DWORD [28+esp],eax - call L$010pic_point -L$010pic_point: - pop ebp - lea eax,[_OPENSSL_ia32cap_P] - lea ebp,[(L$AES_Td-L$010pic_point)+ebp] - lea ebx,[764+esp] - sub ebx,ebp - and ebx,768 - lea ebp,[2176+ebx*1+ebp] - bt DWORD [eax],25 - jnc NEAR L$011x86 - movq mm0,[esi] - movq mm4,[8+esi] - call __sse_AES_decrypt_compact - mov esp,DWORD [28+esp] - mov esi,DWORD [24+esp] - movq [esi],mm0 - movq [8+esi],mm4 - emms - pop edi - pop esi - pop ebx - pop ebp - ret -align 16 -L$011x86: - mov DWORD [24+esp],ebp - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] - mov ecx,DWORD [8+esi] - mov edx,DWORD [12+esi] - call __x86_AES_decrypt_compact - mov esp,DWORD [28+esp] - mov esi,DWORD [24+esp] - mov DWORD [esi],eax - mov DWORD [4+esi],ebx - mov DWORD [8+esi],ecx - mov DWORD [12+esi],edx - pop edi - pop esi - pop ebx - pop ebp - ret -global _aes_nohw_cbc_encrypt -align 16 -_aes_nohw_cbc_encrypt: -L$_aes_nohw_cbc_encrypt_begin: - push ebp - push ebx - push esi - push edi - mov ecx,DWORD [28+esp] - cmp ecx,0 - je NEAR L$012drop_out - call L$013pic_point -L$013pic_point: - pop ebp - lea eax,[_OPENSSL_ia32cap_P] - cmp DWORD [40+esp],0 - lea ebp,[(L$AES_Te-L$013pic_point)+ebp] - jne NEAR L$014picked_te - lea ebp,[(L$AES_Td-L$AES_Te)+ebp] -L$014picked_te: - pushfd - cld - cmp ecx,512 - jb NEAR L$015slow_way - test ecx,15 - jnz NEAR L$015slow_way - bt DWORD [eax],28 - jc NEAR L$015slow_way - lea esi,[esp-324] - and esi,-64 - mov eax,ebp - lea ebx,[2304+ebp] - mov edx,esi - and eax,4095 - and ebx,4095 - and edx,4095 - cmp edx,ebx - jb NEAR L$016tbl_break_out - sub edx,ebx - sub esi,edx - jmp NEAR L$017tbl_ok -align 4 -L$016tbl_break_out: - sub edx,eax - and edx,4095 - add edx,384 - sub esi,edx -align 4 -L$017tbl_ok: - lea edx,[24+esp] - xchg esp,esi - add esp,4 - mov DWORD [24+esp],ebp - mov DWORD [28+esp],esi - mov eax,DWORD [edx] - mov ebx,DWORD [4+edx] - mov edi,DWORD [12+edx] - mov esi,DWORD [16+edx] - mov edx,DWORD [20+edx] - mov DWORD [32+esp],eax - mov DWORD [36+esp],ebx - mov DWORD [40+esp],ecx - mov DWORD [44+esp],edi - mov DWORD [48+esp],esi - mov DWORD [316+esp],0 - mov ebx,edi - mov ecx,61 - sub ebx,ebp - mov esi,edi - and ebx,4095 - lea edi,[76+esp] - cmp ebx,2304 - jb NEAR L$018do_copy - cmp ebx,3852 - jb NEAR L$019skip_copy -align 4 -L$018do_copy: - mov DWORD [44+esp],edi -dd 2784229001 -L$019skip_copy: - mov edi,16 -align 4 -L$020prefetch_tbl: - mov eax,DWORD [ebp] - mov ebx,DWORD [32+ebp] - mov ecx,DWORD [64+ebp] - mov esi,DWORD [96+ebp] - lea ebp,[128+ebp] - sub edi,1 - jnz NEAR L$020prefetch_tbl - sub ebp,2048 - mov esi,DWORD [32+esp] - mov edi,DWORD [48+esp] - cmp edx,0 - je NEAR L$021fast_decrypt - mov eax,DWORD [edi] - mov ebx,DWORD [4+edi] -align 16 -L$022fast_enc_loop: - mov ecx,DWORD [8+edi] - mov edx,DWORD [12+edi] - xor eax,DWORD [esi] - xor ebx,DWORD [4+esi] - xor ecx,DWORD [8+esi] - xor edx,DWORD [12+esi] - mov edi,DWORD [44+esp] - call __x86_AES_encrypt - mov esi,DWORD [32+esp] - mov edi,DWORD [36+esp] - mov DWORD [edi],eax - mov DWORD [4+edi],ebx - mov DWORD [8+edi],ecx - mov DWORD [12+edi],edx - lea esi,[16+esi] - mov ecx,DWORD [40+esp] - mov DWORD [32+esp],esi - lea edx,[16+edi] - mov DWORD [36+esp],edx - sub ecx,16 - mov DWORD [40+esp],ecx - jnz NEAR L$022fast_enc_loop - mov esi,DWORD [48+esp] - mov ecx,DWORD [8+edi] - mov edx,DWORD [12+edi] - mov DWORD [esi],eax - mov DWORD [4+esi],ebx - mov DWORD [8+esi],ecx - mov DWORD [12+esi],edx - cmp DWORD [316+esp],0 - mov edi,DWORD [44+esp] - je NEAR L$023skip_ezero - mov ecx,60 - xor eax,eax -align 4 -dd 2884892297 -L$023skip_ezero: - mov esp,DWORD [28+esp] - popfd -L$012drop_out: - pop edi - pop esi - pop ebx - pop ebp - ret - pushfd -align 16 -L$021fast_decrypt: - cmp esi,DWORD [36+esp] - je NEAR L$024fast_dec_in_place - mov DWORD [52+esp],edi -align 4 -align 16 -L$025fast_dec_loop: - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] - mov ecx,DWORD [8+esi] - mov edx,DWORD [12+esi] - mov edi,DWORD [44+esp] - call __x86_AES_decrypt - mov edi,DWORD [52+esp] - mov esi,DWORD [40+esp] - xor eax,DWORD [edi] - xor ebx,DWORD [4+edi] - xor ecx,DWORD [8+edi] - xor edx,DWORD [12+edi] - mov edi,DWORD [36+esp] - mov esi,DWORD [32+esp] - mov DWORD [edi],eax - mov DWORD [4+edi],ebx - mov DWORD [8+edi],ecx - mov DWORD [12+edi],edx - mov ecx,DWORD [40+esp] - mov DWORD [52+esp],esi - lea esi,[16+esi] - mov DWORD [32+esp],esi - lea edi,[16+edi] - mov DWORD [36+esp],edi - sub ecx,16 - mov DWORD [40+esp],ecx - jnz NEAR L$025fast_dec_loop - mov edi,DWORD [52+esp] - mov esi,DWORD [48+esp] - mov eax,DWORD [edi] - mov ebx,DWORD [4+edi] - mov ecx,DWORD [8+edi] - mov edx,DWORD [12+edi] - mov DWORD [esi],eax - mov DWORD [4+esi],ebx - mov DWORD [8+esi],ecx - mov DWORD [12+esi],edx - jmp NEAR L$026fast_dec_out -align 16 -L$024fast_dec_in_place: -L$027fast_dec_in_place_loop: - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] - mov ecx,DWORD [8+esi] - mov edx,DWORD [12+esi] - lea edi,[60+esp] - mov DWORD [edi],eax - mov DWORD [4+edi],ebx - mov DWORD [8+edi],ecx - mov DWORD [12+edi],edx - mov edi,DWORD [44+esp] - call __x86_AES_decrypt - mov edi,DWORD [48+esp] - mov esi,DWORD [36+esp] - xor eax,DWORD [edi] - xor ebx,DWORD [4+edi] - xor ecx,DWORD [8+edi] - xor edx,DWORD [12+edi] - mov DWORD [esi],eax - mov DWORD [4+esi],ebx - mov DWORD [8+esi],ecx - mov DWORD [12+esi],edx - lea esi,[16+esi] - mov DWORD [36+esp],esi - lea esi,[60+esp] - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] - mov ecx,DWORD [8+esi] - mov edx,DWORD [12+esi] - mov DWORD [edi],eax - mov DWORD [4+edi],ebx - mov DWORD [8+edi],ecx - mov DWORD [12+edi],edx - mov esi,DWORD [32+esp] - mov ecx,DWORD [40+esp] - lea esi,[16+esi] - mov DWORD [32+esp],esi - sub ecx,16 - mov DWORD [40+esp],ecx - jnz NEAR L$027fast_dec_in_place_loop -align 4 -L$026fast_dec_out: - cmp DWORD [316+esp],0 - mov edi,DWORD [44+esp] - je NEAR L$028skip_dzero - mov ecx,60 - xor eax,eax -align 4 -dd 2884892297 -L$028skip_dzero: - mov esp,DWORD [28+esp] - popfd - pop edi - pop esi - pop ebx - pop ebp - ret - pushfd -align 16 -L$015slow_way: - mov eax,DWORD [eax] - mov edi,DWORD [36+esp] - lea esi,[esp-80] - and esi,-64 - lea ebx,[edi-143] - sub ebx,esi - neg ebx - and ebx,960 - sub esi,ebx - lea ebx,[768+esi] - sub ebx,ebp - and ebx,768 - lea ebp,[2176+ebx*1+ebp] - lea edx,[24+esp] - xchg esp,esi - add esp,4 - mov DWORD [24+esp],ebp - mov DWORD [28+esp],esi - mov DWORD [52+esp],eax - mov eax,DWORD [edx] - mov ebx,DWORD [4+edx] - mov esi,DWORD [16+edx] - mov edx,DWORD [20+edx] - mov DWORD [32+esp],eax - mov DWORD [36+esp],ebx - mov DWORD [40+esp],ecx - mov DWORD [44+esp],edi - mov DWORD [48+esp],esi - mov edi,esi - mov esi,eax - cmp edx,0 - je NEAR L$029slow_decrypt - cmp ecx,16 - mov edx,ebx - jb NEAR L$030slow_enc_tail - bt DWORD [52+esp],25 - jnc NEAR L$031slow_enc_x86 - movq mm0,[edi] - movq mm4,[8+edi] -align 16 -L$032slow_enc_loop_sse: - pxor mm0,[esi] - pxor mm4,[8+esi] - mov edi,DWORD [44+esp] - call __sse_AES_encrypt_compact - mov esi,DWORD [32+esp] - mov edi,DWORD [36+esp] - mov ecx,DWORD [40+esp] - movq [edi],mm0 - movq [8+edi],mm4 - lea esi,[16+esi] - mov DWORD [32+esp],esi - lea edx,[16+edi] - mov DWORD [36+esp],edx - sub ecx,16 - cmp ecx,16 - mov DWORD [40+esp],ecx - jae NEAR L$032slow_enc_loop_sse - test ecx,15 - jnz NEAR L$030slow_enc_tail - mov esi,DWORD [48+esp] - movq [esi],mm0 - movq [8+esi],mm4 - emms - mov esp,DWORD [28+esp] - popfd - pop edi - pop esi - pop ebx - pop ebp - ret - pushfd -align 16 -L$031slow_enc_x86: - mov eax,DWORD [edi] - mov ebx,DWORD [4+edi] -align 4 -L$033slow_enc_loop_x86: - mov ecx,DWORD [8+edi] - mov edx,DWORD [12+edi] - xor eax,DWORD [esi] - xor ebx,DWORD [4+esi] - xor ecx,DWORD [8+esi] - xor edx,DWORD [12+esi] - mov edi,DWORD [44+esp] - call __x86_AES_encrypt_compact - mov esi,DWORD [32+esp] - mov edi,DWORD [36+esp] - mov DWORD [edi],eax - mov DWORD [4+edi],ebx - mov DWORD [8+edi],ecx - mov DWORD [12+edi],edx - mov ecx,DWORD [40+esp] - lea esi,[16+esi] - mov DWORD [32+esp],esi - lea edx,[16+edi] - mov DWORD [36+esp],edx - sub ecx,16 - cmp ecx,16 - mov DWORD [40+esp],ecx - jae NEAR L$033slow_enc_loop_x86 - test ecx,15 - jnz NEAR L$030slow_enc_tail - mov esi,DWORD [48+esp] - mov ecx,DWORD [8+edi] - mov edx,DWORD [12+edi] - mov DWORD [esi],eax - mov DWORD [4+esi],ebx - mov DWORD [8+esi],ecx - mov DWORD [12+esi],edx - mov esp,DWORD [28+esp] - popfd - pop edi - pop esi - pop ebx - pop ebp - ret - pushfd -align 16 -L$030slow_enc_tail: - emms - mov edi,edx - mov ebx,16 - sub ebx,ecx - cmp edi,esi - je NEAR L$034enc_in_place -align 4 -dd 2767451785 - jmp NEAR L$035enc_skip_in_place -L$034enc_in_place: - lea edi,[ecx*1+edi] -L$035enc_skip_in_place: - mov ecx,ebx - xor eax,eax -align 4 -dd 2868115081 - mov edi,DWORD [48+esp] - mov esi,edx - mov eax,DWORD [edi] - mov ebx,DWORD [4+edi] - mov DWORD [40+esp],16 - jmp NEAR L$033slow_enc_loop_x86 -align 16 -L$029slow_decrypt: - bt DWORD [52+esp],25 - jnc NEAR L$036slow_dec_loop_x86 -align 4 -L$037slow_dec_loop_sse: - movq mm0,[esi] - movq mm4,[8+esi] - mov edi,DWORD [44+esp] - call __sse_AES_decrypt_compact - mov esi,DWORD [32+esp] - lea eax,[60+esp] - mov ebx,DWORD [36+esp] - mov ecx,DWORD [40+esp] - mov edi,DWORD [48+esp] - movq mm1,[esi] - movq mm5,[8+esi] - pxor mm0,[edi] - pxor mm4,[8+edi] - movq [edi],mm1 - movq [8+edi],mm5 - sub ecx,16 - jc NEAR L$038slow_dec_partial_sse - movq [ebx],mm0 - movq [8+ebx],mm4 - lea ebx,[16+ebx] - mov DWORD [36+esp],ebx - lea esi,[16+esi] - mov DWORD [32+esp],esi - mov DWORD [40+esp],ecx - jnz NEAR L$037slow_dec_loop_sse - emms - mov esp,DWORD [28+esp] - popfd - pop edi - pop esi - pop ebx - pop ebp - ret - pushfd -align 16 -L$038slow_dec_partial_sse: - movq [eax],mm0 - movq [8+eax],mm4 - emms - add ecx,16 - mov edi,ebx - mov esi,eax -align 4 -dd 2767451785 - mov esp,DWORD [28+esp] - popfd - pop edi - pop esi - pop ebx - pop ebp - ret - pushfd -align 16 -L$036slow_dec_loop_x86: - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] - mov ecx,DWORD [8+esi] - mov edx,DWORD [12+esi] - lea edi,[60+esp] - mov DWORD [edi],eax - mov DWORD [4+edi],ebx - mov DWORD [8+edi],ecx - mov DWORD [12+edi],edx - mov edi,DWORD [44+esp] - call __x86_AES_decrypt_compact - mov edi,DWORD [48+esp] - mov esi,DWORD [40+esp] - xor eax,DWORD [edi] - xor ebx,DWORD [4+edi] - xor ecx,DWORD [8+edi] - xor edx,DWORD [12+edi] - sub esi,16 - jc NEAR L$039slow_dec_partial_x86 - mov DWORD [40+esp],esi - mov esi,DWORD [36+esp] - mov DWORD [esi],eax - mov DWORD [4+esi],ebx - mov DWORD [8+esi],ecx - mov DWORD [12+esi],edx - lea esi,[16+esi] - mov DWORD [36+esp],esi - lea esi,[60+esp] - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] - mov ecx,DWORD [8+esi] - mov edx,DWORD [12+esi] - mov DWORD [edi],eax - mov DWORD [4+edi],ebx - mov DWORD [8+edi],ecx - mov DWORD [12+edi],edx - mov esi,DWORD [32+esp] - lea esi,[16+esi] - mov DWORD [32+esp],esi - jnz NEAR L$036slow_dec_loop_x86 - mov esp,DWORD [28+esp] - popfd - pop edi - pop esi - pop ebx - pop ebp - ret - pushfd -align 16 -L$039slow_dec_partial_x86: - lea esi,[60+esp] - mov DWORD [esi],eax - mov DWORD [4+esi],ebx - mov DWORD [8+esi],ecx - mov DWORD [12+esi],edx - mov esi,DWORD [32+esp] - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] - mov ecx,DWORD [8+esi] - mov edx,DWORD [12+esi] - mov DWORD [edi],eax - mov DWORD [4+edi],ebx - mov DWORD [8+edi],ecx - mov DWORD [12+edi],edx - mov ecx,DWORD [40+esp] - mov edi,DWORD [36+esp] - lea esi,[60+esp] -align 4 -dd 2767451785 - mov esp,DWORD [28+esp] - popfd - pop edi - pop esi - pop ebx - pop ebp - ret -align 16 -__x86_AES_set_encrypt_key: - push ebp - push ebx - push esi - push edi - mov esi,DWORD [24+esp] - mov edi,DWORD [32+esp] - test esi,-1 - jz NEAR L$040badpointer - test edi,-1 - jz NEAR L$040badpointer - call L$041pic_point -L$041pic_point: - pop ebp - lea ebp,[(L$AES_Te-L$041pic_point)+ebp] - lea ebp,[2176+ebp] - mov eax,DWORD [ebp-128] - mov ebx,DWORD [ebp-96] - mov ecx,DWORD [ebp-64] - mov edx,DWORD [ebp-32] - mov eax,DWORD [ebp] - mov ebx,DWORD [32+ebp] - mov ecx,DWORD [64+ebp] - mov edx,DWORD [96+ebp] - mov ecx,DWORD [28+esp] - cmp ecx,128 - je NEAR L$04210rounds - cmp ecx,192 - je NEAR L$04312rounds - cmp ecx,256 - je NEAR L$04414rounds - mov eax,-2 - jmp NEAR L$045exit -L$04210rounds: - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] - mov ecx,DWORD [8+esi] - mov edx,DWORD [12+esi] - mov DWORD [edi],eax - mov DWORD [4+edi],ebx - mov DWORD [8+edi],ecx - mov DWORD [12+edi],edx - xor ecx,ecx - jmp NEAR L$04610shortcut -align 4 -L$04710loop: - mov eax,DWORD [edi] - mov edx,DWORD [12+edi] -L$04610shortcut: - movzx esi,dl - movzx ebx,BYTE [esi*1+ebp-128] - movzx esi,dh - shl ebx,24 - xor eax,ebx - movzx ebx,BYTE [esi*1+ebp-128] - shr edx,16 - movzx esi,dl - xor eax,ebx - movzx ebx,BYTE [esi*1+ebp-128] - movzx esi,dh - shl ebx,8 - xor eax,ebx - movzx ebx,BYTE [esi*1+ebp-128] - shl ebx,16 - xor eax,ebx - xor eax,DWORD [896+ecx*4+ebp] - mov DWORD [16+edi],eax - xor eax,DWORD [4+edi] - mov DWORD [20+edi],eax - xor eax,DWORD [8+edi] - mov DWORD [24+edi],eax - xor eax,DWORD [12+edi] - mov DWORD [28+edi],eax - inc ecx - add edi,16 - cmp ecx,10 - jl NEAR L$04710loop - mov DWORD [80+edi],10 - xor eax,eax - jmp NEAR L$045exit -L$04312rounds: - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] - mov ecx,DWORD [8+esi] - mov edx,DWORD [12+esi] - mov DWORD [edi],eax - mov DWORD [4+edi],ebx - mov DWORD [8+edi],ecx - mov DWORD [12+edi],edx - mov ecx,DWORD [16+esi] - mov edx,DWORD [20+esi] - mov DWORD [16+edi],ecx - mov DWORD [20+edi],edx - xor ecx,ecx - jmp NEAR L$04812shortcut -align 4 -L$04912loop: - mov eax,DWORD [edi] - mov edx,DWORD [20+edi] -L$04812shortcut: - movzx esi,dl - movzx ebx,BYTE [esi*1+ebp-128] - movzx esi,dh - shl ebx,24 - xor eax,ebx - movzx ebx,BYTE [esi*1+ebp-128] - shr edx,16 - movzx esi,dl - xor eax,ebx - movzx ebx,BYTE [esi*1+ebp-128] - movzx esi,dh - shl ebx,8 - xor eax,ebx - movzx ebx,BYTE [esi*1+ebp-128] - shl ebx,16 - xor eax,ebx - xor eax,DWORD [896+ecx*4+ebp] - mov DWORD [24+edi],eax - xor eax,DWORD [4+edi] - mov DWORD [28+edi],eax - xor eax,DWORD [8+edi] - mov DWORD [32+edi],eax - xor eax,DWORD [12+edi] - mov DWORD [36+edi],eax - cmp ecx,7 - je NEAR L$05012break - inc ecx - xor eax,DWORD [16+edi] - mov DWORD [40+edi],eax - xor eax,DWORD [20+edi] - mov DWORD [44+edi],eax - add edi,24 - jmp NEAR L$04912loop -L$05012break: - mov DWORD [72+edi],12 - xor eax,eax - jmp NEAR L$045exit -L$04414rounds: - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] - mov ecx,DWORD [8+esi] - mov edx,DWORD [12+esi] - mov DWORD [edi],eax - mov DWORD [4+edi],ebx - mov DWORD [8+edi],ecx - mov DWORD [12+edi],edx - mov eax,DWORD [16+esi] - mov ebx,DWORD [20+esi] - mov ecx,DWORD [24+esi] - mov edx,DWORD [28+esi] - mov DWORD [16+edi],eax - mov DWORD [20+edi],ebx - mov DWORD [24+edi],ecx - mov DWORD [28+edi],edx - xor ecx,ecx - jmp NEAR L$05114shortcut -align 4 -L$05214loop: - mov edx,DWORD [28+edi] -L$05114shortcut: - mov eax,DWORD [edi] - movzx esi,dl - movzx ebx,BYTE [esi*1+ebp-128] - movzx esi,dh - shl ebx,24 - xor eax,ebx - movzx ebx,BYTE [esi*1+ebp-128] - shr edx,16 - movzx esi,dl - xor eax,ebx - movzx ebx,BYTE [esi*1+ebp-128] - movzx esi,dh - shl ebx,8 - xor eax,ebx - movzx ebx,BYTE [esi*1+ebp-128] - shl ebx,16 - xor eax,ebx - xor eax,DWORD [896+ecx*4+ebp] - mov DWORD [32+edi],eax - xor eax,DWORD [4+edi] - mov DWORD [36+edi],eax - xor eax,DWORD [8+edi] - mov DWORD [40+edi],eax - xor eax,DWORD [12+edi] - mov DWORD [44+edi],eax - cmp ecx,6 - je NEAR L$05314break - inc ecx - mov edx,eax - mov eax,DWORD [16+edi] - movzx esi,dl - movzx ebx,BYTE [esi*1+ebp-128] - movzx esi,dh - xor eax,ebx - movzx ebx,BYTE [esi*1+ebp-128] - shr edx,16 - shl ebx,8 - movzx esi,dl - xor eax,ebx - movzx ebx,BYTE [esi*1+ebp-128] - movzx esi,dh - shl ebx,16 - xor eax,ebx - movzx ebx,BYTE [esi*1+ebp-128] - shl ebx,24 - xor eax,ebx - mov DWORD [48+edi],eax - xor eax,DWORD [20+edi] - mov DWORD [52+edi],eax - xor eax,DWORD [24+edi] - mov DWORD [56+edi],eax - xor eax,DWORD [28+edi] - mov DWORD [60+edi],eax - add edi,32 - jmp NEAR L$05214loop -L$05314break: - mov DWORD [48+edi],14 - xor eax,eax - jmp NEAR L$045exit -L$040badpointer: - mov eax,-1 -L$045exit: - pop edi - pop esi - pop ebx - pop ebp - ret -global _aes_nohw_set_encrypt_key -align 16 -_aes_nohw_set_encrypt_key: -L$_aes_nohw_set_encrypt_key_begin: - call __x86_AES_set_encrypt_key - ret -global _aes_nohw_set_decrypt_key -align 16 -_aes_nohw_set_decrypt_key: -L$_aes_nohw_set_decrypt_key_begin: - call __x86_AES_set_encrypt_key - cmp eax,0 - je NEAR L$054proceed - ret -L$054proceed: - push ebp - push ebx - push esi - push edi - mov esi,DWORD [28+esp] - mov ecx,DWORD [240+esi] - lea ecx,[ecx*4] - lea edi,[ecx*4+esi] -align 4 -L$055invert: - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] - mov ecx,DWORD [edi] - mov edx,DWORD [4+edi] - mov DWORD [edi],eax - mov DWORD [4+edi],ebx - mov DWORD [esi],ecx - mov DWORD [4+esi],edx - mov eax,DWORD [8+esi] - mov ebx,DWORD [12+esi] - mov ecx,DWORD [8+edi] - mov edx,DWORD [12+edi] - mov DWORD [8+edi],eax - mov DWORD [12+edi],ebx - mov DWORD [8+esi],ecx - mov DWORD [12+esi],edx - add esi,16 - sub edi,16 - cmp esi,edi - jne NEAR L$055invert - mov edi,DWORD [28+esp] - mov esi,DWORD [240+edi] - lea esi,[esi*1+esi-2] - lea esi,[esi*8+edi] - mov DWORD [28+esp],esi - mov eax,DWORD [16+edi] -align 4 -L$056permute: - add edi,16 - mov ebp,2155905152 - and ebp,eax - lea ebx,[eax*1+eax] - mov esi,ebp - shr ebp,7 - sub esi,ebp - and ebx,4278124286 - and esi,454761243 - xor ebx,esi - mov ebp,2155905152 - and ebp,ebx - lea ecx,[ebx*1+ebx] - mov esi,ebp - shr ebp,7 - sub esi,ebp - and ecx,4278124286 - and esi,454761243 - xor ebx,eax - xor ecx,esi - mov ebp,2155905152 - and ebp,ecx - lea edx,[ecx*1+ecx] - mov esi,ebp - shr ebp,7 - xor ecx,eax - sub esi,ebp - and edx,4278124286 - and esi,454761243 - rol eax,8 - xor edx,esi - mov ebp,DWORD [4+edi] - xor eax,ebx - xor ebx,edx - xor eax,ecx - rol ebx,24 - xor ecx,edx - xor eax,edx - rol ecx,16 - xor eax,ebx - rol edx,8 - xor eax,ecx - mov ebx,ebp - xor eax,edx - mov DWORD [edi],eax - mov ebp,2155905152 - and ebp,ebx - lea ecx,[ebx*1+ebx] - mov esi,ebp - shr ebp,7 - sub esi,ebp - and ecx,4278124286 - and esi,454761243 - xor ecx,esi - mov ebp,2155905152 - and ebp,ecx - lea edx,[ecx*1+ecx] - mov esi,ebp - shr ebp,7 - sub esi,ebp - and edx,4278124286 - and esi,454761243 - xor ecx,ebx - xor edx,esi - mov ebp,2155905152 - and ebp,edx - lea eax,[edx*1+edx] - mov esi,ebp - shr ebp,7 - xor edx,ebx - sub esi,ebp - and eax,4278124286 - and esi,454761243 - rol ebx,8 - xor eax,esi - mov ebp,DWORD [8+edi] - xor ebx,ecx - xor ecx,eax - xor ebx,edx - rol ecx,24 - xor edx,eax - xor ebx,eax - rol edx,16 - xor ebx,ecx - rol eax,8 - xor ebx,edx - mov ecx,ebp - xor ebx,eax - mov DWORD [4+edi],ebx - mov ebp,2155905152 - and ebp,ecx - lea edx,[ecx*1+ecx] - mov esi,ebp - shr ebp,7 - sub esi,ebp - and edx,4278124286 - and esi,454761243 - xor edx,esi - mov ebp,2155905152 - and ebp,edx - lea eax,[edx*1+edx] - mov esi,ebp - shr ebp,7 - sub esi,ebp - and eax,4278124286 - and esi,454761243 - xor edx,ecx - xor eax,esi - mov ebp,2155905152 - and ebp,eax - lea ebx,[eax*1+eax] - mov esi,ebp - shr ebp,7 - xor eax,ecx - sub esi,ebp - and ebx,4278124286 - and esi,454761243 - rol ecx,8 - xor ebx,esi - mov ebp,DWORD [12+edi] - xor ecx,edx - xor edx,ebx - xor ecx,eax - rol edx,24 - xor eax,ebx - xor ecx,ebx - rol eax,16 - xor ecx,edx - rol ebx,8 - xor ecx,eax - mov edx,ebp - xor ecx,ebx - mov DWORD [8+edi],ecx - mov ebp,2155905152 - and ebp,edx - lea eax,[edx*1+edx] - mov esi,ebp - shr ebp,7 - sub esi,ebp - and eax,4278124286 - and esi,454761243 - xor eax,esi - mov ebp,2155905152 - and ebp,eax - lea ebx,[eax*1+eax] - mov esi,ebp - shr ebp,7 - sub esi,ebp - and ebx,4278124286 - and esi,454761243 - xor eax,edx - xor ebx,esi - mov ebp,2155905152 - and ebp,ebx - lea ecx,[ebx*1+ebx] - mov esi,ebp - shr ebp,7 - xor ebx,edx - sub esi,ebp - and ecx,4278124286 - and esi,454761243 - rol edx,8 - xor ecx,esi - mov ebp,DWORD [16+edi] - xor edx,eax - xor eax,ecx - xor edx,ebx - rol eax,24 - xor ebx,ecx - xor edx,ecx - rol ebx,16 - xor edx,eax - rol ecx,8 - xor edx,ebx - mov eax,ebp - xor edx,ecx - mov DWORD [12+edi],edx - cmp edi,DWORD [28+esp] - jb NEAR L$056permute - xor eax,eax - pop edi - pop esi - pop ebx - pop ebp - ret -db 65,69,83,32,102,111,114,32,120,56,54,44,32,67,82,89 -db 80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114 -db 111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 -segment .bss -common _OPENSSL_ia32cap_P 16 diff --git a/contrib/boringssl-cmake/win-x86/crypto/fipsmodule/aesni-x86.asm b/contrib/boringssl-cmake/win-x86/crypto/fipsmodule/aesni-x86.asm index 47309503d29..0272fce460f 100644 --- a/contrib/boringssl-cmake/win-x86/crypto/fipsmodule/aesni-x86.asm +++ b/contrib/boringssl-cmake/win-x86/crypto/fipsmodule/aesni-x86.asm @@ -21,14 +21,14 @@ section .text code align=64 section .text code %endif ;extern _OPENSSL_ia32cap_P -%ifndef NDEBUG +%ifdef BORINGSSL_DISPATCH_TEST extern _BORINGSSL_function_hit %endif global _aes_hw_encrypt align 16 _aes_hw_encrypt: L$_aes_hw_encrypt_begin: -%ifndef NDEBUG +%ifdef BORINGSSL_DISPATCH_TEST push ebx push edx call L$000pic @@ -820,7 +820,7 @@ L$_aes_hw_ctr32_encrypt_blocks_begin: push ebx push esi push edi -%ifndef NDEBUG +%ifdef BORINGSSL_DISPATCH_TEST push ebx push edx call L$038pic @@ -2400,7 +2400,7 @@ global _aes_hw_set_encrypt_key align 16 _aes_hw_set_encrypt_key: L$_aes_hw_set_encrypt_key_begin: -%ifndef NDEBUG +%ifdef BORINGSSL_DISPATCH_TEST push ebx push edx call L$116pic diff --git a/contrib/boringssl-cmake/win-x86/crypto/fipsmodule/bn-586.asm b/contrib/boringssl-cmake/win-x86/crypto/fipsmodule/bn-586.asm index a87f86d12f5..368c3f3b6f7 100644 --- a/contrib/boringssl-cmake/win-x86/crypto/fipsmodule/bn-586.asm +++ b/contrib/boringssl-cmake/win-x86/crypto/fipsmodule/bn-586.asm @@ -981,549 +981,5 @@ L$025aw_end: pop ebx pop ebp ret -global _bn_sub_part_words -align 16 -_bn_sub_part_words: -L$_bn_sub_part_words_begin: - push ebp - push ebx - push esi - push edi - ; - mov ebx,DWORD [20+esp] - mov esi,DWORD [24+esp] - mov edi,DWORD [28+esp] - mov ebp,DWORD [32+esp] - xor eax,eax - and ebp,4294967288 - jz NEAR L$026aw_finish -L$027aw_loop: - ; Round 0 - mov ecx,DWORD [esi] - mov edx,DWORD [edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - mov DWORD [ebx],ecx - ; Round 1 - mov ecx,DWORD [4+esi] - mov edx,DWORD [4+edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - mov DWORD [4+ebx],ecx - ; Round 2 - mov ecx,DWORD [8+esi] - mov edx,DWORD [8+edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - mov DWORD [8+ebx],ecx - ; Round 3 - mov ecx,DWORD [12+esi] - mov edx,DWORD [12+edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - mov DWORD [12+ebx],ecx - ; Round 4 - mov ecx,DWORD [16+esi] - mov edx,DWORD [16+edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - mov DWORD [16+ebx],ecx - ; Round 5 - mov ecx,DWORD [20+esi] - mov edx,DWORD [20+edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - mov DWORD [20+ebx],ecx - ; Round 6 - mov ecx,DWORD [24+esi] - mov edx,DWORD [24+edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - mov DWORD [24+ebx],ecx - ; Round 7 - mov ecx,DWORD [28+esi] - mov edx,DWORD [28+edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - mov DWORD [28+ebx],ecx - ; - add esi,32 - add edi,32 - add ebx,32 - sub ebp,8 - jnz NEAR L$027aw_loop -L$026aw_finish: - mov ebp,DWORD [32+esp] - and ebp,7 - jz NEAR L$028aw_end - ; Tail Round 0 - mov ecx,DWORD [esi] - mov edx,DWORD [edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - mov DWORD [ebx],ecx - add esi,4 - add edi,4 - add ebx,4 - dec ebp - jz NEAR L$028aw_end - ; Tail Round 1 - mov ecx,DWORD [esi] - mov edx,DWORD [edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - mov DWORD [ebx],ecx - add esi,4 - add edi,4 - add ebx,4 - dec ebp - jz NEAR L$028aw_end - ; Tail Round 2 - mov ecx,DWORD [esi] - mov edx,DWORD [edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - mov DWORD [ebx],ecx - add esi,4 - add edi,4 - add ebx,4 - dec ebp - jz NEAR L$028aw_end - ; Tail Round 3 - mov ecx,DWORD [esi] - mov edx,DWORD [edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - mov DWORD [ebx],ecx - add esi,4 - add edi,4 - add ebx,4 - dec ebp - jz NEAR L$028aw_end - ; Tail Round 4 - mov ecx,DWORD [esi] - mov edx,DWORD [edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - mov DWORD [ebx],ecx - add esi,4 - add edi,4 - add ebx,4 - dec ebp - jz NEAR L$028aw_end - ; Tail Round 5 - mov ecx,DWORD [esi] - mov edx,DWORD [edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - mov DWORD [ebx],ecx - add esi,4 - add edi,4 - add ebx,4 - dec ebp - jz NEAR L$028aw_end - ; Tail Round 6 - mov ecx,DWORD [esi] - mov edx,DWORD [edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - mov DWORD [ebx],ecx - add esi,4 - add edi,4 - add ebx,4 -L$028aw_end: - cmp DWORD [36+esp],0 - je NEAR L$029pw_end - mov ebp,DWORD [36+esp] - cmp ebp,0 - je NEAR L$029pw_end - jge NEAR L$030pw_pos - ; pw_neg - mov edx,0 - sub edx,ebp - mov ebp,edx - and ebp,4294967288 - jz NEAR L$031pw_neg_finish -L$032pw_neg_loop: - ; dl<0 Round 0 - mov ecx,0 - mov edx,DWORD [edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - mov DWORD [ebx],ecx - ; dl<0 Round 1 - mov ecx,0 - mov edx,DWORD [4+edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - mov DWORD [4+ebx],ecx - ; dl<0 Round 2 - mov ecx,0 - mov edx,DWORD [8+edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - mov DWORD [8+ebx],ecx - ; dl<0 Round 3 - mov ecx,0 - mov edx,DWORD [12+edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - mov DWORD [12+ebx],ecx - ; dl<0 Round 4 - mov ecx,0 - mov edx,DWORD [16+edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - mov DWORD [16+ebx],ecx - ; dl<0 Round 5 - mov ecx,0 - mov edx,DWORD [20+edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - mov DWORD [20+ebx],ecx - ; dl<0 Round 6 - mov ecx,0 - mov edx,DWORD [24+edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - mov DWORD [24+ebx],ecx - ; dl<0 Round 7 - mov ecx,0 - mov edx,DWORD [28+edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - mov DWORD [28+ebx],ecx - ; - add edi,32 - add ebx,32 - sub ebp,8 - jnz NEAR L$032pw_neg_loop -L$031pw_neg_finish: - mov edx,DWORD [36+esp] - mov ebp,0 - sub ebp,edx - and ebp,7 - jz NEAR L$029pw_end - ; dl<0 Tail Round 0 - mov ecx,0 - mov edx,DWORD [edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - dec ebp - mov DWORD [ebx],ecx - jz NEAR L$029pw_end - ; dl<0 Tail Round 1 - mov ecx,0 - mov edx,DWORD [4+edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - dec ebp - mov DWORD [4+ebx],ecx - jz NEAR L$029pw_end - ; dl<0 Tail Round 2 - mov ecx,0 - mov edx,DWORD [8+edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - dec ebp - mov DWORD [8+ebx],ecx - jz NEAR L$029pw_end - ; dl<0 Tail Round 3 - mov ecx,0 - mov edx,DWORD [12+edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - dec ebp - mov DWORD [12+ebx],ecx - jz NEAR L$029pw_end - ; dl<0 Tail Round 4 - mov ecx,0 - mov edx,DWORD [16+edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - dec ebp - mov DWORD [16+ebx],ecx - jz NEAR L$029pw_end - ; dl<0 Tail Round 5 - mov ecx,0 - mov edx,DWORD [20+edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - dec ebp - mov DWORD [20+ebx],ecx - jz NEAR L$029pw_end - ; dl<0 Tail Round 6 - mov ecx,0 - mov edx,DWORD [24+edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - mov DWORD [24+ebx],ecx - jmp NEAR L$029pw_end -L$030pw_pos: - and ebp,4294967288 - jz NEAR L$033pw_pos_finish -L$034pw_pos_loop: - ; dl>0 Round 0 - mov ecx,DWORD [esi] - sub ecx,eax - mov DWORD [ebx],ecx - jnc NEAR L$035pw_nc0 - ; dl>0 Round 1 - mov ecx,DWORD [4+esi] - sub ecx,eax - mov DWORD [4+ebx],ecx - jnc NEAR L$036pw_nc1 - ; dl>0 Round 2 - mov ecx,DWORD [8+esi] - sub ecx,eax - mov DWORD [8+ebx],ecx - jnc NEAR L$037pw_nc2 - ; dl>0 Round 3 - mov ecx,DWORD [12+esi] - sub ecx,eax - mov DWORD [12+ebx],ecx - jnc NEAR L$038pw_nc3 - ; dl>0 Round 4 - mov ecx,DWORD [16+esi] - sub ecx,eax - mov DWORD [16+ebx],ecx - jnc NEAR L$039pw_nc4 - ; dl>0 Round 5 - mov ecx,DWORD [20+esi] - sub ecx,eax - mov DWORD [20+ebx],ecx - jnc NEAR L$040pw_nc5 - ; dl>0 Round 6 - mov ecx,DWORD [24+esi] - sub ecx,eax - mov DWORD [24+ebx],ecx - jnc NEAR L$041pw_nc6 - ; dl>0 Round 7 - mov ecx,DWORD [28+esi] - sub ecx,eax - mov DWORD [28+ebx],ecx - jnc NEAR L$042pw_nc7 - ; - add esi,32 - add ebx,32 - sub ebp,8 - jnz NEAR L$034pw_pos_loop -L$033pw_pos_finish: - mov ebp,DWORD [36+esp] - and ebp,7 - jz NEAR L$029pw_end - ; dl>0 Tail Round 0 - mov ecx,DWORD [esi] - sub ecx,eax - mov DWORD [ebx],ecx - jnc NEAR L$043pw_tail_nc0 - dec ebp - jz NEAR L$029pw_end - ; dl>0 Tail Round 1 - mov ecx,DWORD [4+esi] - sub ecx,eax - mov DWORD [4+ebx],ecx - jnc NEAR L$044pw_tail_nc1 - dec ebp - jz NEAR L$029pw_end - ; dl>0 Tail Round 2 - mov ecx,DWORD [8+esi] - sub ecx,eax - mov DWORD [8+ebx],ecx - jnc NEAR L$045pw_tail_nc2 - dec ebp - jz NEAR L$029pw_end - ; dl>0 Tail Round 3 - mov ecx,DWORD [12+esi] - sub ecx,eax - mov DWORD [12+ebx],ecx - jnc NEAR L$046pw_tail_nc3 - dec ebp - jz NEAR L$029pw_end - ; dl>0 Tail Round 4 - mov ecx,DWORD [16+esi] - sub ecx,eax - mov DWORD [16+ebx],ecx - jnc NEAR L$047pw_tail_nc4 - dec ebp - jz NEAR L$029pw_end - ; dl>0 Tail Round 5 - mov ecx,DWORD [20+esi] - sub ecx,eax - mov DWORD [20+ebx],ecx - jnc NEAR L$048pw_tail_nc5 - dec ebp - jz NEAR L$029pw_end - ; dl>0 Tail Round 6 - mov ecx,DWORD [24+esi] - sub ecx,eax - mov DWORD [24+ebx],ecx - jnc NEAR L$049pw_tail_nc6 - mov eax,1 - jmp NEAR L$029pw_end -L$050pw_nc_loop: - mov ecx,DWORD [esi] - mov DWORD [ebx],ecx -L$035pw_nc0: - mov ecx,DWORD [4+esi] - mov DWORD [4+ebx],ecx -L$036pw_nc1: - mov ecx,DWORD [8+esi] - mov DWORD [8+ebx],ecx -L$037pw_nc2: - mov ecx,DWORD [12+esi] - mov DWORD [12+ebx],ecx -L$038pw_nc3: - mov ecx,DWORD [16+esi] - mov DWORD [16+ebx],ecx -L$039pw_nc4: - mov ecx,DWORD [20+esi] - mov DWORD [20+ebx],ecx -L$040pw_nc5: - mov ecx,DWORD [24+esi] - mov DWORD [24+ebx],ecx -L$041pw_nc6: - mov ecx,DWORD [28+esi] - mov DWORD [28+ebx],ecx -L$042pw_nc7: - ; - add esi,32 - add ebx,32 - sub ebp,8 - jnz NEAR L$050pw_nc_loop - mov ebp,DWORD [36+esp] - and ebp,7 - jz NEAR L$051pw_nc_end - mov ecx,DWORD [esi] - mov DWORD [ebx],ecx -L$043pw_tail_nc0: - dec ebp - jz NEAR L$051pw_nc_end - mov ecx,DWORD [4+esi] - mov DWORD [4+ebx],ecx -L$044pw_tail_nc1: - dec ebp - jz NEAR L$051pw_nc_end - mov ecx,DWORD [8+esi] - mov DWORD [8+ebx],ecx -L$045pw_tail_nc2: - dec ebp - jz NEAR L$051pw_nc_end - mov ecx,DWORD [12+esi] - mov DWORD [12+ebx],ecx -L$046pw_tail_nc3: - dec ebp - jz NEAR L$051pw_nc_end - mov ecx,DWORD [16+esi] - mov DWORD [16+ebx],ecx -L$047pw_tail_nc4: - dec ebp - jz NEAR L$051pw_nc_end - mov ecx,DWORD [20+esi] - mov DWORD [20+ebx],ecx -L$048pw_tail_nc5: - dec ebp - jz NEAR L$051pw_nc_end - mov ecx,DWORD [24+esi] - mov DWORD [24+ebx],ecx -L$049pw_tail_nc6: -L$051pw_nc_end: - mov eax,0 -L$029pw_end: - pop edi - pop esi - pop ebx - pop ebp - ret segment .bss common _OPENSSL_ia32cap_P 16 diff --git a/contrib/boringssl-cmake/win-x86/crypto/fipsmodule/ghash-x86.asm b/contrib/boringssl-cmake/win-x86/crypto/fipsmodule/ghash-x86.asm index 753c472f04d..59eefd50825 100644 --- a/contrib/boringssl-cmake/win-x86/crypto/fipsmodule/ghash-x86.asm +++ b/contrib/boringssl-cmake/win-x86/crypto/fipsmodule/ghash-x86.asm @@ -20,715 +20,16 @@ section .text code align=64 %else section .text code %endif -global _gcm_gmult_4bit_mmx -align 16 -_gcm_gmult_4bit_mmx: -L$_gcm_gmult_4bit_mmx_begin: - push ebp - push ebx - push esi - push edi - mov edi,DWORD [20+esp] - mov esi,DWORD [24+esp] - call L$000pic_point -L$000pic_point: - pop eax - lea eax,[(L$rem_4bit-L$000pic_point)+eax] - movzx ebx,BYTE [15+edi] - xor ecx,ecx - mov edx,ebx - mov cl,dl - mov ebp,14 - shl cl,4 - and edx,240 - movq mm0,[8+ecx*1+esi] - movq mm1,[ecx*1+esi] - movd ebx,mm0 - jmp NEAR L$001mmx_loop -align 16 -L$001mmx_loop: - psrlq mm0,4 - and ebx,15 - movq mm2,mm1 - psrlq mm1,4 - pxor mm0,[8+edx*1+esi] - mov cl,BYTE [ebp*1+edi] - psllq mm2,60 - pxor mm1,[ebx*8+eax] - dec ebp - movd ebx,mm0 - pxor mm1,[edx*1+esi] - mov edx,ecx - pxor mm0,mm2 - js NEAR L$002mmx_break - shl cl,4 - and ebx,15 - psrlq mm0,4 - and edx,240 - movq mm2,mm1 - psrlq mm1,4 - pxor mm0,[8+ecx*1+esi] - psllq mm2,60 - pxor mm1,[ebx*8+eax] - movd ebx,mm0 - pxor mm1,[ecx*1+esi] - pxor mm0,mm2 - jmp NEAR L$001mmx_loop -align 16 -L$002mmx_break: - shl cl,4 - and ebx,15 - psrlq mm0,4 - and edx,240 - movq mm2,mm1 - psrlq mm1,4 - pxor mm0,[8+ecx*1+esi] - psllq mm2,60 - pxor mm1,[ebx*8+eax] - movd ebx,mm0 - pxor mm1,[ecx*1+esi] - pxor mm0,mm2 - psrlq mm0,4 - and ebx,15 - movq mm2,mm1 - psrlq mm1,4 - pxor mm0,[8+edx*1+esi] - psllq mm2,60 - pxor mm1,[ebx*8+eax] - movd ebx,mm0 - pxor mm1,[edx*1+esi] - pxor mm0,mm2 - psrlq mm0,32 - movd edx,mm1 - psrlq mm1,32 - movd ecx,mm0 - movd ebp,mm1 - bswap ebx - bswap edx - bswap ecx - bswap ebp - emms - mov DWORD [12+edi],ebx - mov DWORD [4+edi],edx - mov DWORD [8+edi],ecx - mov DWORD [edi],ebp - pop edi - pop esi - pop ebx - pop ebp - ret -global _gcm_ghash_4bit_mmx -align 16 -_gcm_ghash_4bit_mmx: -L$_gcm_ghash_4bit_mmx_begin: - push ebp - push ebx - push esi - push edi - mov eax,DWORD [20+esp] - mov ebx,DWORD [24+esp] - mov ecx,DWORD [28+esp] - mov edx,DWORD [32+esp] - mov ebp,esp - call L$003pic_point -L$003pic_point: - pop esi - lea esi,[(L$rem_8bit-L$003pic_point)+esi] - sub esp,544 - and esp,-64 - sub esp,16 - add edx,ecx - mov DWORD [544+esp],eax - mov DWORD [552+esp],edx - mov DWORD [556+esp],ebp - add ebx,128 - lea edi,[144+esp] - lea ebp,[400+esp] - mov edx,DWORD [ebx-120] - movq mm0,[ebx-120] - movq mm3,[ebx-128] - shl edx,4 - mov BYTE [esp],dl - mov edx,DWORD [ebx-104] - movq mm2,[ebx-104] - movq mm5,[ebx-112] - movq [edi-128],mm0 - psrlq mm0,4 - movq [edi],mm3 - movq mm7,mm3 - psrlq mm3,4 - shl edx,4 - mov BYTE [1+esp],dl - mov edx,DWORD [ebx-88] - movq mm1,[ebx-88] - psllq mm7,60 - movq mm4,[ebx-96] - por mm0,mm7 - movq [edi-120],mm2 - psrlq mm2,4 - movq [8+edi],mm5 - movq mm6,mm5 - movq [ebp-128],mm0 - psrlq mm5,4 - movq [ebp],mm3 - shl edx,4 - mov BYTE [2+esp],dl - mov edx,DWORD [ebx-72] - movq mm0,[ebx-72] - psllq mm6,60 - movq mm3,[ebx-80] - por mm2,mm6 - movq [edi-112],mm1 - psrlq mm1,4 - movq [16+edi],mm4 - movq mm7,mm4 - movq [ebp-120],mm2 - psrlq mm4,4 - movq [8+ebp],mm5 - shl edx,4 - mov BYTE [3+esp],dl - mov edx,DWORD [ebx-56] - movq mm2,[ebx-56] - psllq mm7,60 - movq mm5,[ebx-64] - por mm1,mm7 - movq [edi-104],mm0 - psrlq mm0,4 - movq [24+edi],mm3 - movq mm6,mm3 - movq [ebp-112],mm1 - psrlq mm3,4 - movq [16+ebp],mm4 - shl edx,4 - mov BYTE [4+esp],dl - mov edx,DWORD [ebx-40] - movq mm1,[ebx-40] - psllq mm6,60 - movq mm4,[ebx-48] - por mm0,mm6 - movq [edi-96],mm2 - psrlq mm2,4 - movq [32+edi],mm5 - movq mm7,mm5 - movq [ebp-104],mm0 - psrlq mm5,4 - movq [24+ebp],mm3 - shl edx,4 - mov BYTE [5+esp],dl - mov edx,DWORD [ebx-24] - movq mm0,[ebx-24] - psllq mm7,60 - movq mm3,[ebx-32] - por mm2,mm7 - movq [edi-88],mm1 - psrlq mm1,4 - movq [40+edi],mm4 - movq mm6,mm4 - movq [ebp-96],mm2 - psrlq mm4,4 - movq [32+ebp],mm5 - shl edx,4 - mov BYTE [6+esp],dl - mov edx,DWORD [ebx-8] - movq mm2,[ebx-8] - psllq mm6,60 - movq mm5,[ebx-16] - por mm1,mm6 - movq [edi-80],mm0 - psrlq mm0,4 - movq [48+edi],mm3 - movq mm7,mm3 - movq [ebp-88],mm1 - psrlq mm3,4 - movq [40+ebp],mm4 - shl edx,4 - mov BYTE [7+esp],dl - mov edx,DWORD [8+ebx] - movq mm1,[8+ebx] - psllq mm7,60 - movq mm4,[ebx] - por mm0,mm7 - movq [edi-72],mm2 - psrlq mm2,4 - movq [56+edi],mm5 - movq mm6,mm5 - movq [ebp-80],mm0 - psrlq mm5,4 - movq [48+ebp],mm3 - shl edx,4 - mov BYTE [8+esp],dl - mov edx,DWORD [24+ebx] - movq mm0,[24+ebx] - psllq mm6,60 - movq mm3,[16+ebx] - por mm2,mm6 - movq [edi-64],mm1 - psrlq mm1,4 - movq [64+edi],mm4 - movq mm7,mm4 - movq [ebp-72],mm2 - psrlq mm4,4 - movq [56+ebp],mm5 - shl edx,4 - mov BYTE [9+esp],dl - mov edx,DWORD [40+ebx] - movq mm2,[40+ebx] - psllq mm7,60 - movq mm5,[32+ebx] - por mm1,mm7 - movq [edi-56],mm0 - psrlq mm0,4 - movq [72+edi],mm3 - movq mm6,mm3 - movq [ebp-64],mm1 - psrlq mm3,4 - movq [64+ebp],mm4 - shl edx,4 - mov BYTE [10+esp],dl - mov edx,DWORD [56+ebx] - movq mm1,[56+ebx] - psllq mm6,60 - movq mm4,[48+ebx] - por mm0,mm6 - movq [edi-48],mm2 - psrlq mm2,4 - movq [80+edi],mm5 - movq mm7,mm5 - movq [ebp-56],mm0 - psrlq mm5,4 - movq [72+ebp],mm3 - shl edx,4 - mov BYTE [11+esp],dl - mov edx,DWORD [72+ebx] - movq mm0,[72+ebx] - psllq mm7,60 - movq mm3,[64+ebx] - por mm2,mm7 - movq [edi-40],mm1 - psrlq mm1,4 - movq [88+edi],mm4 - movq mm6,mm4 - movq [ebp-48],mm2 - psrlq mm4,4 - movq [80+ebp],mm5 - shl edx,4 - mov BYTE [12+esp],dl - mov edx,DWORD [88+ebx] - movq mm2,[88+ebx] - psllq mm6,60 - movq mm5,[80+ebx] - por mm1,mm6 - movq [edi-32],mm0 - psrlq mm0,4 - movq [96+edi],mm3 - movq mm7,mm3 - movq [ebp-40],mm1 - psrlq mm3,4 - movq [88+ebp],mm4 - shl edx,4 - mov BYTE [13+esp],dl - mov edx,DWORD [104+ebx] - movq mm1,[104+ebx] - psllq mm7,60 - movq mm4,[96+ebx] - por mm0,mm7 - movq [edi-24],mm2 - psrlq mm2,4 - movq [104+edi],mm5 - movq mm6,mm5 - movq [ebp-32],mm0 - psrlq mm5,4 - movq [96+ebp],mm3 - shl edx,4 - mov BYTE [14+esp],dl - mov edx,DWORD [120+ebx] - movq mm0,[120+ebx] - psllq mm6,60 - movq mm3,[112+ebx] - por mm2,mm6 - movq [edi-16],mm1 - psrlq mm1,4 - movq [112+edi],mm4 - movq mm7,mm4 - movq [ebp-24],mm2 - psrlq mm4,4 - movq [104+ebp],mm5 - shl edx,4 - mov BYTE [15+esp],dl - psllq mm7,60 - por mm1,mm7 - movq [edi-8],mm0 - psrlq mm0,4 - movq [120+edi],mm3 - movq mm6,mm3 - movq [ebp-16],mm1 - psrlq mm3,4 - movq [112+ebp],mm4 - psllq mm6,60 - por mm0,mm6 - movq [ebp-8],mm0 - movq [120+ebp],mm3 - movq mm6,[eax] - mov ebx,DWORD [8+eax] - mov edx,DWORD [12+eax] -align 16 -L$004outer: - xor edx,DWORD [12+ecx] - xor ebx,DWORD [8+ecx] - pxor mm6,[ecx] - lea ecx,[16+ecx] - mov DWORD [536+esp],ebx - movq [528+esp],mm6 - mov DWORD [548+esp],ecx - xor eax,eax - rol edx,8 - mov al,dl - mov ebp,eax - and al,15 - shr ebp,4 - pxor mm0,mm0 - rol edx,8 - pxor mm1,mm1 - pxor mm2,mm2 - movq mm7,[16+eax*8+esp] - movq mm6,[144+eax*8+esp] - mov al,dl - movd ebx,mm7 - psrlq mm7,8 - movq mm3,mm6 - mov edi,eax - psrlq mm6,8 - pxor mm7,[272+ebp*8+esp] - and al,15 - psllq mm3,56 - shr edi,4 - pxor mm7,[16+eax*8+esp] - rol edx,8 - pxor mm6,[144+eax*8+esp] - pxor mm7,mm3 - pxor mm6,[400+ebp*8+esp] - xor bl,BYTE [ebp*1+esp] - mov al,dl - movd ecx,mm7 - movzx ebx,bl - psrlq mm7,8 - movq mm3,mm6 - mov ebp,eax - psrlq mm6,8 - pxor mm7,[272+edi*8+esp] - and al,15 - psllq mm3,56 - shr ebp,4 - pinsrw mm2,WORD [ebx*2+esi],2 - pxor mm7,[16+eax*8+esp] - rol edx,8 - pxor mm6,[144+eax*8+esp] - pxor mm7,mm3 - pxor mm6,[400+edi*8+esp] - xor cl,BYTE [edi*1+esp] - mov al,dl - mov edx,DWORD [536+esp] - movd ebx,mm7 - movzx ecx,cl - psrlq mm7,8 - movq mm3,mm6 - mov edi,eax - psrlq mm6,8 - pxor mm7,[272+ebp*8+esp] - and al,15 - psllq mm3,56 - pxor mm6,mm2 - shr edi,4 - pinsrw mm1,WORD [ecx*2+esi],2 - pxor mm7,[16+eax*8+esp] - rol edx,8 - pxor mm6,[144+eax*8+esp] - pxor mm7,mm3 - pxor mm6,[400+ebp*8+esp] - xor bl,BYTE [ebp*1+esp] - mov al,dl - movd ecx,mm7 - movzx ebx,bl - psrlq mm7,8 - movq mm3,mm6 - mov ebp,eax - psrlq mm6,8 - pxor mm7,[272+edi*8+esp] - and al,15 - psllq mm3,56 - pxor mm6,mm1 - shr ebp,4 - pinsrw mm0,WORD [ebx*2+esi],2 - pxor mm7,[16+eax*8+esp] - rol edx,8 - pxor mm6,[144+eax*8+esp] - pxor mm7,mm3 - pxor mm6,[400+edi*8+esp] - xor cl,BYTE [edi*1+esp] - mov al,dl - movd ebx,mm7 - movzx ecx,cl - psrlq mm7,8 - movq mm3,mm6 - mov edi,eax - psrlq mm6,8 - pxor mm7,[272+ebp*8+esp] - and al,15 - psllq mm3,56 - pxor mm6,mm0 - shr edi,4 - pinsrw mm2,WORD [ecx*2+esi],2 - pxor mm7,[16+eax*8+esp] - rol edx,8 - pxor mm6,[144+eax*8+esp] - pxor mm7,mm3 - pxor mm6,[400+ebp*8+esp] - xor bl,BYTE [ebp*1+esp] - mov al,dl - movd ecx,mm7 - movzx ebx,bl - psrlq mm7,8 - movq mm3,mm6 - mov ebp,eax - psrlq mm6,8 - pxor mm7,[272+edi*8+esp] - and al,15 - psllq mm3,56 - pxor mm6,mm2 - shr ebp,4 - pinsrw mm1,WORD [ebx*2+esi],2 - pxor mm7,[16+eax*8+esp] - rol edx,8 - pxor mm6,[144+eax*8+esp] - pxor mm7,mm3 - pxor mm6,[400+edi*8+esp] - xor cl,BYTE [edi*1+esp] - mov al,dl - mov edx,DWORD [532+esp] - movd ebx,mm7 - movzx ecx,cl - psrlq mm7,8 - movq mm3,mm6 - mov edi,eax - psrlq mm6,8 - pxor mm7,[272+ebp*8+esp] - and al,15 - psllq mm3,56 - pxor mm6,mm1 - shr edi,4 - pinsrw mm0,WORD [ecx*2+esi],2 - pxor mm7,[16+eax*8+esp] - rol edx,8 - pxor mm6,[144+eax*8+esp] - pxor mm7,mm3 - pxor mm6,[400+ebp*8+esp] - xor bl,BYTE [ebp*1+esp] - mov al,dl - movd ecx,mm7 - movzx ebx,bl - psrlq mm7,8 - movq mm3,mm6 - mov ebp,eax - psrlq mm6,8 - pxor mm7,[272+edi*8+esp] - and al,15 - psllq mm3,56 - pxor mm6,mm0 - shr ebp,4 - pinsrw mm2,WORD [ebx*2+esi],2 - pxor mm7,[16+eax*8+esp] - rol edx,8 - pxor mm6,[144+eax*8+esp] - pxor mm7,mm3 - pxor mm6,[400+edi*8+esp] - xor cl,BYTE [edi*1+esp] - mov al,dl - movd ebx,mm7 - movzx ecx,cl - psrlq mm7,8 - movq mm3,mm6 - mov edi,eax - psrlq mm6,8 - pxor mm7,[272+ebp*8+esp] - and al,15 - psllq mm3,56 - pxor mm6,mm2 - shr edi,4 - pinsrw mm1,WORD [ecx*2+esi],2 - pxor mm7,[16+eax*8+esp] - rol edx,8 - pxor mm6,[144+eax*8+esp] - pxor mm7,mm3 - pxor mm6,[400+ebp*8+esp] - xor bl,BYTE [ebp*1+esp] - mov al,dl - movd ecx,mm7 - movzx ebx,bl - psrlq mm7,8 - movq mm3,mm6 - mov ebp,eax - psrlq mm6,8 - pxor mm7,[272+edi*8+esp] - and al,15 - psllq mm3,56 - pxor mm6,mm1 - shr ebp,4 - pinsrw mm0,WORD [ebx*2+esi],2 - pxor mm7,[16+eax*8+esp] - rol edx,8 - pxor mm6,[144+eax*8+esp] - pxor mm7,mm3 - pxor mm6,[400+edi*8+esp] - xor cl,BYTE [edi*1+esp] - mov al,dl - mov edx,DWORD [528+esp] - movd ebx,mm7 - movzx ecx,cl - psrlq mm7,8 - movq mm3,mm6 - mov edi,eax - psrlq mm6,8 - pxor mm7,[272+ebp*8+esp] - and al,15 - psllq mm3,56 - pxor mm6,mm0 - shr edi,4 - pinsrw mm2,WORD [ecx*2+esi],2 - pxor mm7,[16+eax*8+esp] - rol edx,8 - pxor mm6,[144+eax*8+esp] - pxor mm7,mm3 - pxor mm6,[400+ebp*8+esp] - xor bl,BYTE [ebp*1+esp] - mov al,dl - movd ecx,mm7 - movzx ebx,bl - psrlq mm7,8 - movq mm3,mm6 - mov ebp,eax - psrlq mm6,8 - pxor mm7,[272+edi*8+esp] - and al,15 - psllq mm3,56 - pxor mm6,mm2 - shr ebp,4 - pinsrw mm1,WORD [ebx*2+esi],2 - pxor mm7,[16+eax*8+esp] - rol edx,8 - pxor mm6,[144+eax*8+esp] - pxor mm7,mm3 - pxor mm6,[400+edi*8+esp] - xor cl,BYTE [edi*1+esp] - mov al,dl - movd ebx,mm7 - movzx ecx,cl - psrlq mm7,8 - movq mm3,mm6 - mov edi,eax - psrlq mm6,8 - pxor mm7,[272+ebp*8+esp] - and al,15 - psllq mm3,56 - pxor mm6,mm1 - shr edi,4 - pinsrw mm0,WORD [ecx*2+esi],2 - pxor mm7,[16+eax*8+esp] - rol edx,8 - pxor mm6,[144+eax*8+esp] - pxor mm7,mm3 - pxor mm6,[400+ebp*8+esp] - xor bl,BYTE [ebp*1+esp] - mov al,dl - movd ecx,mm7 - movzx ebx,bl - psrlq mm7,8 - movq mm3,mm6 - mov ebp,eax - psrlq mm6,8 - pxor mm7,[272+edi*8+esp] - and al,15 - psllq mm3,56 - pxor mm6,mm0 - shr ebp,4 - pinsrw mm2,WORD [ebx*2+esi],2 - pxor mm7,[16+eax*8+esp] - rol edx,8 - pxor mm6,[144+eax*8+esp] - pxor mm7,mm3 - pxor mm6,[400+edi*8+esp] - xor cl,BYTE [edi*1+esp] - mov al,dl - mov edx,DWORD [524+esp] - movd ebx,mm7 - movzx ecx,cl - psrlq mm7,8 - movq mm3,mm6 - mov edi,eax - psrlq mm6,8 - pxor mm7,[272+ebp*8+esp] - and al,15 - psllq mm3,56 - pxor mm6,mm2 - shr edi,4 - pinsrw mm1,WORD [ecx*2+esi],2 - pxor mm7,[16+eax*8+esp] - pxor mm6,[144+eax*8+esp] - xor bl,BYTE [ebp*1+esp] - pxor mm7,mm3 - pxor mm6,[400+ebp*8+esp] - movzx ebx,bl - pxor mm2,mm2 - psllq mm1,4 - movd ecx,mm7 - psrlq mm7,4 - movq mm3,mm6 - psrlq mm6,4 - shl ecx,4 - pxor mm7,[16+edi*8+esp] - psllq mm3,60 - movzx ecx,cl - pxor mm7,mm3 - pxor mm6,[144+edi*8+esp] - pinsrw mm0,WORD [ebx*2+esi],2 - pxor mm6,mm1 - movd edx,mm7 - pinsrw mm2,WORD [ecx*2+esi],3 - psllq mm0,12 - pxor mm6,mm0 - psrlq mm7,32 - pxor mm6,mm2 - mov ecx,DWORD [548+esp] - movd ebx,mm7 - movq mm3,mm6 - psllw mm6,8 - psrlw mm3,8 - por mm6,mm3 - bswap edx - pshufw mm6,mm6,27 - bswap ebx - cmp ecx,DWORD [552+esp] - jne NEAR L$004outer - mov eax,DWORD [544+esp] - mov DWORD [12+eax],edx - mov DWORD [8+eax],ebx - movq [eax],mm6 - mov esp,DWORD [556+esp] - emms - pop edi - pop esi - pop ebx - pop ebp - ret global _gcm_init_clmul align 16 _gcm_init_clmul: L$_gcm_init_clmul_begin: mov edx,DWORD [4+esp] mov eax,DWORD [8+esp] - call L$005pic -L$005pic: + call L$000pic +L$000pic: pop ecx - lea ecx,[(L$bswap-L$005pic)+ecx] + lea ecx,[(L$bswap-L$000pic)+ecx] movdqu xmm2,[eax] pshufd xmm2,xmm2,78 pshufd xmm4,xmm2,255 @@ -792,10 +93,10 @@ _gcm_gmult_clmul: L$_gcm_gmult_clmul_begin: mov eax,DWORD [4+esp] mov edx,DWORD [8+esp] - call L$006pic -L$006pic: + call L$001pic +L$001pic: pop ecx - lea ecx,[(L$bswap-L$006pic)+ecx] + lea ecx,[(L$bswap-L$001pic)+ecx] movdqu xmm0,[eax] movdqa xmm5,[ecx] movups xmm2,[edx] @@ -849,16 +150,16 @@ L$_gcm_ghash_clmul_begin: mov edx,DWORD [24+esp] mov esi,DWORD [28+esp] mov ebx,DWORD [32+esp] - call L$007pic -L$007pic: + call L$002pic +L$002pic: pop ecx - lea ecx,[(L$bswap-L$007pic)+ecx] + lea ecx,[(L$bswap-L$002pic)+ecx] movdqu xmm0,[eax] movdqa xmm5,[ecx] movdqu xmm2,[edx] db 102,15,56,0,197 sub ebx,16 - jz NEAR L$008odd_tail + jz NEAR L$003odd_tail movdqu xmm3,[esi] movdqu xmm6,[16+esi] db 102,15,56,0,221 @@ -875,10 +176,10 @@ db 102,15,58,68,221,0 movups xmm2,[16+edx] nop sub ebx,32 - jbe NEAR L$009even_tail - jmp NEAR L$010mod_loop + jbe NEAR L$004even_tail + jmp NEAR L$005mod_loop align 32 -L$010mod_loop: +L$005mod_loop: pshufd xmm4,xmm0,78 movdqa xmm1,xmm0 pxor xmm4,xmm0 @@ -933,8 +234,8 @@ db 102,15,58,68,250,17 db 102,15,58,68,221,0 lea esi,[32+esi] sub ebx,32 - ja NEAR L$010mod_loop -L$009even_tail: + ja NEAR L$005mod_loop +L$004even_tail: pshufd xmm4,xmm0,78 movdqa xmm1,xmm0 pxor xmm4,xmm0 @@ -973,9 +274,9 @@ db 102,15,58,68,229,16 psrlq xmm0,1 pxor xmm0,xmm1 test ebx,ebx - jnz NEAR L$011done + jnz NEAR L$006done movups xmm2,[edx] -L$008odd_tail: +L$003odd_tail: movdqu xmm3,[esi] db 102,15,56,0,221 pxor xmm0,xmm3 @@ -1014,7 +315,7 @@ db 102,15,58,68,220,0 pxor xmm0,xmm4 psrlq xmm0,1 pxor xmm0,xmm1 -L$011done: +L$006done: db 102,15,56,0,197 movdqu [eax],xmm0 pop edi @@ -1026,46 +327,6 @@ align 64 L$bswap: db 15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0 db 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,194 -align 64 -L$rem_8bit: -dw 0,450,900,582,1800,1738,1164,1358 -dw 3600,4050,3476,3158,2328,2266,2716,2910 -dw 7200,7650,8100,7782,6952,6890,6316,6510 -dw 4656,5106,4532,4214,5432,5370,5820,6014 -dw 14400,14722,15300,14854,16200,16010,15564,15630 -dw 13904,14226,13780,13334,12632,12442,13020,13086 -dw 9312,9634,10212,9766,9064,8874,8428,8494 -dw 10864,11186,10740,10294,11640,11450,12028,12094 -dw 28800,28994,29444,29382,30600,30282,29708,30158 -dw 32400,32594,32020,31958,31128,30810,31260,31710 -dw 27808,28002,28452,28390,27560,27242,26668,27118 -dw 25264,25458,24884,24822,26040,25722,26172,26622 -dw 18624,18690,19268,19078,20424,19978,19532,19854 -dw 18128,18194,17748,17558,16856,16410,16988,17310 -dw 21728,21794,22372,22182,21480,21034,20588,20910 -dw 23280,23346,22900,22710,24056,23610,24188,24510 -dw 57600,57538,57988,58182,58888,59338,58764,58446 -dw 61200,61138,60564,60758,59416,59866,60316,59998 -dw 64800,64738,65188,65382,64040,64490,63916,63598 -dw 62256,62194,61620,61814,62520,62970,63420,63102 -dw 55616,55426,56004,56070,56904,57226,56780,56334 -dw 55120,54930,54484,54550,53336,53658,54236,53790 -dw 50528,50338,50916,50982,49768,50090,49644,49198 -dw 52080,51890,51444,51510,52344,52666,53244,52798 -dw 37248,36930,37380,37830,38536,38730,38156,38094 -dw 40848,40530,39956,40406,39064,39258,39708,39646 -dw 36256,35938,36388,36838,35496,35690,35116,35054 -dw 33712,33394,32820,33270,33976,34170,34620,34558 -dw 43456,43010,43588,43910,44744,44810,44364,44174 -dw 42960,42514,42068,42390,41176,41242,41820,41630 -dw 46560,46114,46692,47014,45800,45866,45420,45230 -dw 48112,47666,47220,47542,48376,48442,49020,48830 -align 64 -L$rem_4bit: -dd 0,0,0,471859200,0,943718400,0,610271232 -dd 0,1887436800,0,1822425088,0,1220542464,0,1423966208 -dd 0,3774873600,0,4246732800,0,3644850176,0,3311403008 -dd 0,2441084928,0,2376073216,0,2847932416,0,3051356160 db 71,72,65,83,72,32,102,111,114,32,120,56,54,44,32,67 db 82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112 db 112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62 diff --git a/contrib/boringssl-cmake/win-x86/crypto/fipsmodule/vpaes-x86.asm b/contrib/boringssl-cmake/win-x86/crypto/fipsmodule/vpaes-x86.asm index 3201b8d8334..81b8b8330fd 100644 --- a/contrib/boringssl-cmake/win-x86/crypto/fipsmodule/vpaes-x86.asm +++ b/contrib/boringssl-cmake/win-x86/crypto/fipsmodule/vpaes-x86.asm @@ -20,7 +20,7 @@ section .text code align=64 %else section .text code %endif -%ifndef NDEBUG +%ifdef BORINGSSL_DISPATCH_TEST extern _BORINGSSL_function_hit %endif align 64 @@ -474,7 +474,7 @@ L$_vpaes_set_encrypt_key_begin: push ebx push esi push edi -%ifndef NDEBUG +%ifdef BORINGSSL_DISPATCH_TEST push ebx push edx call L$016pic @@ -553,7 +553,7 @@ L$_vpaes_encrypt_begin: push ebx push esi push edi -%ifndef NDEBUG +%ifdef BORINGSSL_DISPATCH_TEST push ebx push edx call L$019pic diff --git a/contrib/boringssl-cmake/win-x86_64/crypto/cipher_extra/chacha20_poly1305_x86_64.asm b/contrib/boringssl-cmake/win-x86_64/crypto/cipher_extra/chacha20_poly1305_x86_64.asm index 9b226ed45c3..b1159ae0982 100644 --- a/contrib/boringssl-cmake/win-x86_64/crypto/cipher_extra/chacha20_poly1305_x86_64.asm +++ b/contrib/boringssl-cmake/win-x86_64/crypto/cipher_extra/chacha20_poly1305_x86_64.asm @@ -9,6 +9,8 @@ default rel %ifdef BORINGSSL_PREFIX %include "boringssl_prefix_symbols_nasm.inc" %endif +section .text code align=64 + global dummy_chacha20_poly1305_asm dummy_chacha20_poly1305_asm: diff --git a/contrib/boringssl-cmake/win-x86_64/crypto/fipsmodule/aes-x86_64.asm b/contrib/boringssl-cmake/win-x86_64/crypto/fipsmodule/aes-x86_64.asm deleted file mode 100644 index 329185ee670..00000000000 --- a/contrib/boringssl-cmake/win-x86_64/crypto/fipsmodule/aes-x86_64.asm +++ /dev/null @@ -1,2962 +0,0 @@ -; This file is generated from a similarly-named Perl script in the BoringSSL -; source tree. Do not edit by hand. - -default rel -%define XMMWORD -%define YMMWORD -%define ZMMWORD - -%ifdef BORINGSSL_PREFIX -%include "boringssl_prefix_symbols_nasm.inc" -%endif -section .text code align=64 - - -ALIGN 16 -_x86_64_AES_encrypt: - xor eax,DWORD[r15] - xor ebx,DWORD[4+r15] - xor ecx,DWORD[8+r15] - xor edx,DWORD[12+r15] - - mov r13d,DWORD[240+r15] - sub r13d,1 - jmp NEAR $L$enc_loop -ALIGN 16 -$L$enc_loop: - - movzx esi,al - movzx edi,bl - movzx ebp,cl - mov r10d,DWORD[rsi*8+r14] - mov r11d,DWORD[rdi*8+r14] - mov r12d,DWORD[rbp*8+r14] - - movzx esi,bh - movzx edi,ch - movzx ebp,dl - xor r10d,DWORD[3+rsi*8+r14] - xor r11d,DWORD[3+rdi*8+r14] - mov r8d,DWORD[rbp*8+r14] - - movzx esi,dh - shr ecx,16 - movzx ebp,ah - xor r12d,DWORD[3+rsi*8+r14] - shr edx,16 - xor r8d,DWORD[3+rbp*8+r14] - - shr ebx,16 - lea r15,[16+r15] - shr eax,16 - - movzx esi,cl - movzx edi,dl - movzx ebp,al - xor r10d,DWORD[2+rsi*8+r14] - xor r11d,DWORD[2+rdi*8+r14] - xor r12d,DWORD[2+rbp*8+r14] - - movzx esi,dh - movzx edi,ah - movzx ebp,bl - xor r10d,DWORD[1+rsi*8+r14] - xor r11d,DWORD[1+rdi*8+r14] - xor r8d,DWORD[2+rbp*8+r14] - - mov edx,DWORD[12+r15] - movzx edi,bh - movzx ebp,ch - mov eax,DWORD[r15] - xor r12d,DWORD[1+rdi*8+r14] - xor r8d,DWORD[1+rbp*8+r14] - - mov ebx,DWORD[4+r15] - mov ecx,DWORD[8+r15] - xor eax,r10d - xor ebx,r11d - xor ecx,r12d - xor edx,r8d - sub r13d,1 - jnz NEAR $L$enc_loop - movzx esi,al - movzx edi,bl - movzx ebp,cl - movzx r10d,BYTE[2+rsi*8+r14] - movzx r11d,BYTE[2+rdi*8+r14] - movzx r12d,BYTE[2+rbp*8+r14] - - movzx esi,dl - movzx edi,bh - movzx ebp,ch - movzx r8d,BYTE[2+rsi*8+r14] - mov edi,DWORD[rdi*8+r14] - mov ebp,DWORD[rbp*8+r14] - - and edi,0x0000ff00 - and ebp,0x0000ff00 - - xor r10d,edi - xor r11d,ebp - shr ecx,16 - - movzx esi,dh - movzx edi,ah - shr edx,16 - mov esi,DWORD[rsi*8+r14] - mov edi,DWORD[rdi*8+r14] - - and esi,0x0000ff00 - and edi,0x0000ff00 - shr ebx,16 - xor r12d,esi - xor r8d,edi - shr eax,16 - - movzx esi,cl - movzx edi,dl - movzx ebp,al - mov esi,DWORD[rsi*8+r14] - mov edi,DWORD[rdi*8+r14] - mov ebp,DWORD[rbp*8+r14] - - and esi,0x00ff0000 - and edi,0x00ff0000 - and ebp,0x00ff0000 - - xor r10d,esi - xor r11d,edi - xor r12d,ebp - - movzx esi,bl - movzx edi,dh - movzx ebp,ah - mov esi,DWORD[rsi*8+r14] - mov edi,DWORD[2+rdi*8+r14] - mov ebp,DWORD[2+rbp*8+r14] - - and esi,0x00ff0000 - and edi,0xff000000 - and ebp,0xff000000 - - xor r8d,esi - xor r10d,edi - xor r11d,ebp - - movzx esi,bh - movzx edi,ch - mov edx,DWORD[((16+12))+r15] - mov esi,DWORD[2+rsi*8+r14] - mov edi,DWORD[2+rdi*8+r14] - mov eax,DWORD[((16+0))+r15] - - and esi,0xff000000 - and edi,0xff000000 - - xor r12d,esi - xor r8d,edi - - mov ebx,DWORD[((16+4))+r15] - mov ecx,DWORD[((16+8))+r15] - xor eax,r10d - xor ebx,r11d - xor ecx,r12d - xor edx,r8d -DB 0xf3,0xc3 - - -ALIGN 16 -_x86_64_AES_encrypt_compact: - - lea r8,[128+r14] - mov edi,DWORD[((0-128))+r8] - mov ebp,DWORD[((32-128))+r8] - mov r10d,DWORD[((64-128))+r8] - mov r11d,DWORD[((96-128))+r8] - mov edi,DWORD[((128-128))+r8] - mov ebp,DWORD[((160-128))+r8] - mov r10d,DWORD[((192-128))+r8] - mov r11d,DWORD[((224-128))+r8] - jmp NEAR $L$enc_loop_compact -ALIGN 16 -$L$enc_loop_compact: - xor eax,DWORD[r15] - xor ebx,DWORD[4+r15] - xor ecx,DWORD[8+r15] - xor edx,DWORD[12+r15] - lea r15,[16+r15] - movzx r10d,al - movzx r11d,bl - movzx r12d,cl - movzx r8d,dl - movzx esi,bh - movzx edi,ch - shr ecx,16 - movzx ebp,dh - movzx r10d,BYTE[r10*1+r14] - movzx r11d,BYTE[r11*1+r14] - movzx r12d,BYTE[r12*1+r14] - movzx r8d,BYTE[r8*1+r14] - - movzx r9d,BYTE[rsi*1+r14] - movzx esi,ah - movzx r13d,BYTE[rdi*1+r14] - movzx edi,cl - movzx ebp,BYTE[rbp*1+r14] - movzx esi,BYTE[rsi*1+r14] - - shl r9d,8 - shr edx,16 - shl r13d,8 - xor r10d,r9d - shr eax,16 - movzx r9d,dl - shr ebx,16 - xor r11d,r13d - shl ebp,8 - movzx r13d,al - movzx edi,BYTE[rdi*1+r14] - xor r12d,ebp - - shl esi,8 - movzx ebp,bl - shl edi,16 - xor r8d,esi - movzx r9d,BYTE[r9*1+r14] - movzx esi,dh - movzx r13d,BYTE[r13*1+r14] - xor r10d,edi - - shr ecx,8 - movzx edi,ah - shl r9d,16 - shr ebx,8 - shl r13d,16 - xor r11d,r9d - movzx ebp,BYTE[rbp*1+r14] - movzx esi,BYTE[rsi*1+r14] - movzx edi,BYTE[rdi*1+r14] - movzx edx,BYTE[rcx*1+r14] - movzx ecx,BYTE[rbx*1+r14] - - shl ebp,16 - xor r12d,r13d - shl esi,24 - xor r8d,ebp - shl edi,24 - xor r10d,esi - shl edx,24 - xor r11d,edi - shl ecx,24 - mov eax,r10d - mov ebx,r11d - xor ecx,r12d - xor edx,r8d - cmp r15,QWORD[16+rsp] - je NEAR $L$enc_compact_done - mov r10d,0x80808080 - mov r11d,0x80808080 - and r10d,eax - and r11d,ebx - mov esi,r10d - mov edi,r11d - shr r10d,7 - lea r8d,[rax*1+rax] - shr r11d,7 - lea r9d,[rbx*1+rbx] - sub esi,r10d - sub edi,r11d - and r8d,0xfefefefe - and r9d,0xfefefefe - and esi,0x1b1b1b1b - and edi,0x1b1b1b1b - mov r10d,eax - mov r11d,ebx - xor r8d,esi - xor r9d,edi - - xor eax,r8d - xor ebx,r9d - mov r12d,0x80808080 - rol eax,24 - mov ebp,0x80808080 - rol ebx,24 - and r12d,ecx - and ebp,edx - xor eax,r8d - xor ebx,r9d - mov esi,r12d - ror r10d,16 - mov edi,ebp - ror r11d,16 - lea r8d,[rcx*1+rcx] - shr r12d,7 - xor eax,r10d - shr ebp,7 - xor ebx,r11d - ror r10d,8 - lea r9d,[rdx*1+rdx] - ror r11d,8 - sub esi,r12d - sub edi,ebp - xor eax,r10d - xor ebx,r11d - - and r8d,0xfefefefe - and r9d,0xfefefefe - and esi,0x1b1b1b1b - and edi,0x1b1b1b1b - mov r12d,ecx - mov ebp,edx - xor r8d,esi - xor r9d,edi - - ror r12d,16 - xor ecx,r8d - ror ebp,16 - xor edx,r9d - rol ecx,24 - mov esi,DWORD[r14] - rol edx,24 - xor ecx,r8d - mov edi,DWORD[64+r14] - xor edx,r9d - mov r8d,DWORD[128+r14] - xor ecx,r12d - ror r12d,8 - xor edx,ebp - ror ebp,8 - xor ecx,r12d - mov r9d,DWORD[192+r14] - xor edx,ebp - jmp NEAR $L$enc_loop_compact -ALIGN 16 -$L$enc_compact_done: - xor eax,DWORD[r15] - xor ebx,DWORD[4+r15] - xor ecx,DWORD[8+r15] - xor edx,DWORD[12+r15] -DB 0xf3,0xc3 - - -ALIGN 16 -global aes_nohw_encrypt - - -aes_nohw_encrypt: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_aes_nohw_encrypt: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - - - - mov rax,rsp - - push rbx - - push rbp - - push r12 - - push r13 - - push r14 - - push r15 - - - - lea rcx,[((-63))+rdx] - and rsp,-64 - sub rcx,rsp - neg rcx - and rcx,0x3c0 - sub rsp,rcx - sub rsp,32 - - mov QWORD[16+rsp],rsi - mov QWORD[24+rsp],rax - -$L$enc_prologue: - - mov r15,rdx - mov r13d,DWORD[240+r15] - - mov eax,DWORD[rdi] - mov ebx,DWORD[4+rdi] - mov ecx,DWORD[8+rdi] - mov edx,DWORD[12+rdi] - - shl r13d,4 - lea rbp,[r13*1+r15] - mov QWORD[rsp],r15 - mov QWORD[8+rsp],rbp - - - lea r14,[(($L$AES_Te+2048))] - lea rbp,[768+rsp] - sub rbp,r14 - and rbp,0x300 - lea r14,[rbp*1+r14] - - call _x86_64_AES_encrypt_compact - - mov r9,QWORD[16+rsp] - mov rsi,QWORD[24+rsp] - - mov DWORD[r9],eax - mov DWORD[4+r9],ebx - mov DWORD[8+r9],ecx - mov DWORD[12+r9],edx - - mov r15,QWORD[((-48))+rsi] - - mov r14,QWORD[((-40))+rsi] - - mov r13,QWORD[((-32))+rsi] - - mov r12,QWORD[((-24))+rsi] - - mov rbp,QWORD[((-16))+rsi] - - mov rbx,QWORD[((-8))+rsi] - - lea rsp,[rsi] - -$L$enc_epilogue: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret - -$L$SEH_end_aes_nohw_encrypt: - -ALIGN 16 -_x86_64_AES_decrypt: - xor eax,DWORD[r15] - xor ebx,DWORD[4+r15] - xor ecx,DWORD[8+r15] - xor edx,DWORD[12+r15] - - mov r13d,DWORD[240+r15] - sub r13d,1 - jmp NEAR $L$dec_loop -ALIGN 16 -$L$dec_loop: - - movzx esi,al - movzx edi,bl - movzx ebp,cl - mov r10d,DWORD[rsi*8+r14] - mov r11d,DWORD[rdi*8+r14] - mov r12d,DWORD[rbp*8+r14] - - movzx esi,dh - movzx edi,ah - movzx ebp,dl - xor r10d,DWORD[3+rsi*8+r14] - xor r11d,DWORD[3+rdi*8+r14] - mov r8d,DWORD[rbp*8+r14] - - movzx esi,bh - shr eax,16 - movzx ebp,ch - xor r12d,DWORD[3+rsi*8+r14] - shr edx,16 - xor r8d,DWORD[3+rbp*8+r14] - - shr ebx,16 - lea r15,[16+r15] - shr ecx,16 - - movzx esi,cl - movzx edi,dl - movzx ebp,al - xor r10d,DWORD[2+rsi*8+r14] - xor r11d,DWORD[2+rdi*8+r14] - xor r12d,DWORD[2+rbp*8+r14] - - movzx esi,bh - movzx edi,ch - movzx ebp,bl - xor r10d,DWORD[1+rsi*8+r14] - xor r11d,DWORD[1+rdi*8+r14] - xor r8d,DWORD[2+rbp*8+r14] - - movzx esi,dh - mov edx,DWORD[12+r15] - movzx ebp,ah - xor r12d,DWORD[1+rsi*8+r14] - mov eax,DWORD[r15] - xor r8d,DWORD[1+rbp*8+r14] - - xor eax,r10d - mov ebx,DWORD[4+r15] - mov ecx,DWORD[8+r15] - xor ecx,r12d - xor ebx,r11d - xor edx,r8d - sub r13d,1 - jnz NEAR $L$dec_loop - lea r14,[2048+r14] - movzx esi,al - movzx edi,bl - movzx ebp,cl - movzx r10d,BYTE[rsi*1+r14] - movzx r11d,BYTE[rdi*1+r14] - movzx r12d,BYTE[rbp*1+r14] - - movzx esi,dl - movzx edi,dh - movzx ebp,ah - movzx r8d,BYTE[rsi*1+r14] - movzx edi,BYTE[rdi*1+r14] - movzx ebp,BYTE[rbp*1+r14] - - shl edi,8 - shl ebp,8 - - xor r10d,edi - xor r11d,ebp - shr edx,16 - - movzx esi,bh - movzx edi,ch - shr eax,16 - movzx esi,BYTE[rsi*1+r14] - movzx edi,BYTE[rdi*1+r14] - - shl esi,8 - shl edi,8 - shr ebx,16 - xor r12d,esi - xor r8d,edi - shr ecx,16 - - movzx esi,cl - movzx edi,dl - movzx ebp,al - movzx esi,BYTE[rsi*1+r14] - movzx edi,BYTE[rdi*1+r14] - movzx ebp,BYTE[rbp*1+r14] - - shl esi,16 - shl edi,16 - shl ebp,16 - - xor r10d,esi - xor r11d,edi - xor r12d,ebp - - movzx esi,bl - movzx edi,bh - movzx ebp,ch - movzx esi,BYTE[rsi*1+r14] - movzx edi,BYTE[rdi*1+r14] - movzx ebp,BYTE[rbp*1+r14] - - shl esi,16 - shl edi,24 - shl ebp,24 - - xor r8d,esi - xor r10d,edi - xor r11d,ebp - - movzx esi,dh - movzx edi,ah - mov edx,DWORD[((16+12))+r15] - movzx esi,BYTE[rsi*1+r14] - movzx edi,BYTE[rdi*1+r14] - mov eax,DWORD[((16+0))+r15] - - shl esi,24 - shl edi,24 - - xor r12d,esi - xor r8d,edi - - mov ebx,DWORD[((16+4))+r15] - mov ecx,DWORD[((16+8))+r15] - lea r14,[((-2048))+r14] - xor eax,r10d - xor ebx,r11d - xor ecx,r12d - xor edx,r8d -DB 0xf3,0xc3 - - -ALIGN 16 -_x86_64_AES_decrypt_compact: - - lea r8,[128+r14] - mov edi,DWORD[((0-128))+r8] - mov ebp,DWORD[((32-128))+r8] - mov r10d,DWORD[((64-128))+r8] - mov r11d,DWORD[((96-128))+r8] - mov edi,DWORD[((128-128))+r8] - mov ebp,DWORD[((160-128))+r8] - mov r10d,DWORD[((192-128))+r8] - mov r11d,DWORD[((224-128))+r8] - jmp NEAR $L$dec_loop_compact - -ALIGN 16 -$L$dec_loop_compact: - xor eax,DWORD[r15] - xor ebx,DWORD[4+r15] - xor ecx,DWORD[8+r15] - xor edx,DWORD[12+r15] - lea r15,[16+r15] - movzx r10d,al - movzx r11d,bl - movzx r12d,cl - movzx r8d,dl - movzx esi,dh - movzx edi,ah - shr edx,16 - movzx ebp,bh - movzx r10d,BYTE[r10*1+r14] - movzx r11d,BYTE[r11*1+r14] - movzx r12d,BYTE[r12*1+r14] - movzx r8d,BYTE[r8*1+r14] - - movzx r9d,BYTE[rsi*1+r14] - movzx esi,ch - movzx r13d,BYTE[rdi*1+r14] - movzx ebp,BYTE[rbp*1+r14] - movzx esi,BYTE[rsi*1+r14] - - shr ecx,16 - shl r13d,8 - shl r9d,8 - movzx edi,cl - shr eax,16 - xor r10d,r9d - shr ebx,16 - movzx r9d,dl - - shl ebp,8 - xor r11d,r13d - shl esi,8 - movzx r13d,al - movzx edi,BYTE[rdi*1+r14] - xor r12d,ebp - movzx ebp,bl - - shl edi,16 - xor r8d,esi - movzx r9d,BYTE[r9*1+r14] - movzx esi,bh - movzx ebp,BYTE[rbp*1+r14] - xor r10d,edi - movzx r13d,BYTE[r13*1+r14] - movzx edi,ch - - shl ebp,16 - shl r9d,16 - shl r13d,16 - xor r8d,ebp - movzx ebp,dh - xor r11d,r9d - shr eax,8 - xor r12d,r13d - - movzx esi,BYTE[rsi*1+r14] - movzx ebx,BYTE[rdi*1+r14] - movzx ecx,BYTE[rbp*1+r14] - movzx edx,BYTE[rax*1+r14] - - mov eax,r10d - shl esi,24 - shl ebx,24 - shl ecx,24 - xor eax,esi - shl edx,24 - xor ebx,r11d - xor ecx,r12d - xor edx,r8d - cmp r15,QWORD[16+rsp] - je NEAR $L$dec_compact_done - - mov rsi,QWORD[((256+0))+r14] - shl rbx,32 - shl rdx,32 - mov rdi,QWORD[((256+8))+r14] - or rax,rbx - or rcx,rdx - mov rbp,QWORD[((256+16))+r14] - mov r9,rsi - mov r12,rsi - and r9,rax - and r12,rcx - mov rbx,r9 - mov rdx,r12 - shr r9,7 - lea r8,[rax*1+rax] - shr r12,7 - lea r11,[rcx*1+rcx] - sub rbx,r9 - sub rdx,r12 - and r8,rdi - and r11,rdi - and rbx,rbp - and rdx,rbp - xor r8,rbx - xor r11,rdx - mov r10,rsi - mov r13,rsi - - and r10,r8 - and r13,r11 - mov rbx,r10 - mov rdx,r13 - shr r10,7 - lea r9,[r8*1+r8] - shr r13,7 - lea r12,[r11*1+r11] - sub rbx,r10 - sub rdx,r13 - and r9,rdi - and r12,rdi - and rbx,rbp - and rdx,rbp - xor r9,rbx - xor r12,rdx - mov r10,rsi - mov r13,rsi - - and r10,r9 - and r13,r12 - mov rbx,r10 - mov rdx,r13 - shr r10,7 - xor r8,rax - shr r13,7 - xor r11,rcx - sub rbx,r10 - sub rdx,r13 - lea r10,[r9*1+r9] - lea r13,[r12*1+r12] - xor r9,rax - xor r12,rcx - and r10,rdi - and r13,rdi - and rbx,rbp - and rdx,rbp - xor r10,rbx - xor r13,rdx - - xor rax,r10 - xor rcx,r13 - xor r8,r10 - xor r11,r13 - mov rbx,rax - mov rdx,rcx - xor r9,r10 - shr rbx,32 - xor r12,r13 - shr rdx,32 - xor r10,r8 - rol eax,8 - xor r13,r11 - rol ecx,8 - xor r10,r9 - rol ebx,8 - xor r13,r12 - - rol edx,8 - xor eax,r10d - shr r10,32 - xor ecx,r13d - shr r13,32 - xor ebx,r10d - xor edx,r13d - - mov r10,r8 - rol r8d,24 - mov r13,r11 - rol r11d,24 - shr r10,32 - xor eax,r8d - shr r13,32 - xor ecx,r11d - rol r10d,24 - mov r8,r9 - rol r13d,24 - mov r11,r12 - shr r8,32 - xor ebx,r10d - shr r11,32 - xor edx,r13d - - mov rsi,QWORD[r14] - rol r9d,16 - mov rdi,QWORD[64+r14] - rol r12d,16 - mov rbp,QWORD[128+r14] - rol r8d,16 - mov r10,QWORD[192+r14] - xor eax,r9d - rol r11d,16 - xor ecx,r12d - mov r13,QWORD[256+r14] - xor ebx,r8d - xor edx,r11d - jmp NEAR $L$dec_loop_compact -ALIGN 16 -$L$dec_compact_done: - xor eax,DWORD[r15] - xor ebx,DWORD[4+r15] - xor ecx,DWORD[8+r15] - xor edx,DWORD[12+r15] -DB 0xf3,0xc3 - - -ALIGN 16 -global aes_nohw_decrypt - - -aes_nohw_decrypt: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_aes_nohw_decrypt: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - - - - mov rax,rsp - - push rbx - - push rbp - - push r12 - - push r13 - - push r14 - - push r15 - - - - lea rcx,[((-63))+rdx] - and rsp,-64 - sub rcx,rsp - neg rcx - and rcx,0x3c0 - sub rsp,rcx - sub rsp,32 - - mov QWORD[16+rsp],rsi - mov QWORD[24+rsp],rax - -$L$dec_prologue: - - mov r15,rdx - mov r13d,DWORD[240+r15] - - mov eax,DWORD[rdi] - mov ebx,DWORD[4+rdi] - mov ecx,DWORD[8+rdi] - mov edx,DWORD[12+rdi] - - shl r13d,4 - lea rbp,[r13*1+r15] - mov QWORD[rsp],r15 - mov QWORD[8+rsp],rbp - - - lea r14,[(($L$AES_Td+2048))] - lea rbp,[768+rsp] - sub rbp,r14 - and rbp,0x300 - lea r14,[rbp*1+r14] - shr rbp,3 - add r14,rbp - - call _x86_64_AES_decrypt_compact - - mov r9,QWORD[16+rsp] - mov rsi,QWORD[24+rsp] - - mov DWORD[r9],eax - mov DWORD[4+r9],ebx - mov DWORD[8+r9],ecx - mov DWORD[12+r9],edx - - mov r15,QWORD[((-48))+rsi] - - mov r14,QWORD[((-40))+rsi] - - mov r13,QWORD[((-32))+rsi] - - mov r12,QWORD[((-24))+rsi] - - mov rbp,QWORD[((-16))+rsi] - - mov rbx,QWORD[((-8))+rsi] - - lea rsp,[rsi] - -$L$dec_epilogue: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret - -$L$SEH_end_aes_nohw_decrypt: -ALIGN 16 -global aes_nohw_set_encrypt_key - -aes_nohw_set_encrypt_key: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_aes_nohw_set_encrypt_key: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - - - - push rbx - - push rbp - - push r12 - - push r13 - - push r14 - - push r15 - - sub rsp,8 - -$L$enc_key_prologue: - - call _x86_64_AES_set_encrypt_key - - mov rbp,QWORD[40+rsp] - - mov rbx,QWORD[48+rsp] - - add rsp,56 - -$L$enc_key_epilogue: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret - -$L$SEH_end_aes_nohw_set_encrypt_key: - - -ALIGN 16 -_x86_64_AES_set_encrypt_key: - - mov ecx,esi - mov rsi,rdi - mov rdi,rdx - - test rsi,-1 - jz NEAR $L$badpointer - test rdi,-1 - jz NEAR $L$badpointer - - lea rbp,[$L$AES_Te] - lea rbp,[((2048+128))+rbp] - - - mov eax,DWORD[((0-128))+rbp] - mov ebx,DWORD[((32-128))+rbp] - mov r8d,DWORD[((64-128))+rbp] - mov edx,DWORD[((96-128))+rbp] - mov eax,DWORD[((128-128))+rbp] - mov ebx,DWORD[((160-128))+rbp] - mov r8d,DWORD[((192-128))+rbp] - mov edx,DWORD[((224-128))+rbp] - - cmp ecx,128 - je NEAR $L$10rounds - cmp ecx,192 - je NEAR $L$12rounds - cmp ecx,256 - je NEAR $L$14rounds - mov rax,-2 - jmp NEAR $L$exit - -$L$10rounds: - mov rax,QWORD[rsi] - mov rdx,QWORD[8+rsi] - mov QWORD[rdi],rax - mov QWORD[8+rdi],rdx - - shr rdx,32 - xor ecx,ecx - jmp NEAR $L$10shortcut -ALIGN 4 -$L$10loop: - mov eax,DWORD[rdi] - mov edx,DWORD[12+rdi] -$L$10shortcut: - movzx esi,dl - movzx ebx,BYTE[((-128))+rsi*1+rbp] - movzx esi,dh - shl ebx,24 - xor eax,ebx - - movzx ebx,BYTE[((-128))+rsi*1+rbp] - shr edx,16 - movzx esi,dl - xor eax,ebx - - movzx ebx,BYTE[((-128))+rsi*1+rbp] - movzx esi,dh - shl ebx,8 - xor eax,ebx - - movzx ebx,BYTE[((-128))+rsi*1+rbp] - shl ebx,16 - xor eax,ebx - - xor eax,DWORD[((1024-128))+rcx*4+rbp] - mov DWORD[16+rdi],eax - xor eax,DWORD[4+rdi] - mov DWORD[20+rdi],eax - xor eax,DWORD[8+rdi] - mov DWORD[24+rdi],eax - xor eax,DWORD[12+rdi] - mov DWORD[28+rdi],eax - add ecx,1 - lea rdi,[16+rdi] - cmp ecx,10 - jl NEAR $L$10loop - - mov DWORD[80+rdi],10 - xor rax,rax - jmp NEAR $L$exit - -$L$12rounds: - mov rax,QWORD[rsi] - mov rbx,QWORD[8+rsi] - mov rdx,QWORD[16+rsi] - mov QWORD[rdi],rax - mov QWORD[8+rdi],rbx - mov QWORD[16+rdi],rdx - - shr rdx,32 - xor ecx,ecx - jmp NEAR $L$12shortcut -ALIGN 4 -$L$12loop: - mov eax,DWORD[rdi] - mov edx,DWORD[20+rdi] -$L$12shortcut: - movzx esi,dl - movzx ebx,BYTE[((-128))+rsi*1+rbp] - movzx esi,dh - shl ebx,24 - xor eax,ebx - - movzx ebx,BYTE[((-128))+rsi*1+rbp] - shr edx,16 - movzx esi,dl - xor eax,ebx - - movzx ebx,BYTE[((-128))+rsi*1+rbp] - movzx esi,dh - shl ebx,8 - xor eax,ebx - - movzx ebx,BYTE[((-128))+rsi*1+rbp] - shl ebx,16 - xor eax,ebx - - xor eax,DWORD[((1024-128))+rcx*4+rbp] - mov DWORD[24+rdi],eax - xor eax,DWORD[4+rdi] - mov DWORD[28+rdi],eax - xor eax,DWORD[8+rdi] - mov DWORD[32+rdi],eax - xor eax,DWORD[12+rdi] - mov DWORD[36+rdi],eax - - cmp ecx,7 - je NEAR $L$12break - add ecx,1 - - xor eax,DWORD[16+rdi] - mov DWORD[40+rdi],eax - xor eax,DWORD[20+rdi] - mov DWORD[44+rdi],eax - - lea rdi,[24+rdi] - jmp NEAR $L$12loop -$L$12break: - mov DWORD[72+rdi],12 - xor rax,rax - jmp NEAR $L$exit - -$L$14rounds: - mov rax,QWORD[rsi] - mov rbx,QWORD[8+rsi] - mov rcx,QWORD[16+rsi] - mov rdx,QWORD[24+rsi] - mov QWORD[rdi],rax - mov QWORD[8+rdi],rbx - mov QWORD[16+rdi],rcx - mov QWORD[24+rdi],rdx - - shr rdx,32 - xor ecx,ecx - jmp NEAR $L$14shortcut -ALIGN 4 -$L$14loop: - mov eax,DWORD[rdi] - mov edx,DWORD[28+rdi] -$L$14shortcut: - movzx esi,dl - movzx ebx,BYTE[((-128))+rsi*1+rbp] - movzx esi,dh - shl ebx,24 - xor eax,ebx - - movzx ebx,BYTE[((-128))+rsi*1+rbp] - shr edx,16 - movzx esi,dl - xor eax,ebx - - movzx ebx,BYTE[((-128))+rsi*1+rbp] - movzx esi,dh - shl ebx,8 - xor eax,ebx - - movzx ebx,BYTE[((-128))+rsi*1+rbp] - shl ebx,16 - xor eax,ebx - - xor eax,DWORD[((1024-128))+rcx*4+rbp] - mov DWORD[32+rdi],eax - xor eax,DWORD[4+rdi] - mov DWORD[36+rdi],eax - xor eax,DWORD[8+rdi] - mov DWORD[40+rdi],eax - xor eax,DWORD[12+rdi] - mov DWORD[44+rdi],eax - - cmp ecx,6 - je NEAR $L$14break - add ecx,1 - - mov edx,eax - mov eax,DWORD[16+rdi] - movzx esi,dl - movzx ebx,BYTE[((-128))+rsi*1+rbp] - movzx esi,dh - xor eax,ebx - - movzx ebx,BYTE[((-128))+rsi*1+rbp] - shr edx,16 - shl ebx,8 - movzx esi,dl - xor eax,ebx - - movzx ebx,BYTE[((-128))+rsi*1+rbp] - movzx esi,dh - shl ebx,16 - xor eax,ebx - - movzx ebx,BYTE[((-128))+rsi*1+rbp] - shl ebx,24 - xor eax,ebx - - mov DWORD[48+rdi],eax - xor eax,DWORD[20+rdi] - mov DWORD[52+rdi],eax - xor eax,DWORD[24+rdi] - mov DWORD[56+rdi],eax - xor eax,DWORD[28+rdi] - mov DWORD[60+rdi],eax - - lea rdi,[32+rdi] - jmp NEAR $L$14loop -$L$14break: - mov DWORD[48+rdi],14 - xor rax,rax - jmp NEAR $L$exit - -$L$badpointer: - mov rax,-1 -$L$exit: -DB 0xf3,0xc3 - - -ALIGN 16 -global aes_nohw_set_decrypt_key - -aes_nohw_set_decrypt_key: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_aes_nohw_set_decrypt_key: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - - - - push rbx - - push rbp - - push r12 - - push r13 - - push r14 - - push r15 - - push rdx - -$L$dec_key_prologue: - - call _x86_64_AES_set_encrypt_key - mov r8,QWORD[rsp] - cmp eax,0 - jne NEAR $L$abort - - mov r14d,DWORD[240+r8] - xor rdi,rdi - lea rcx,[r14*4+rdi] - mov rsi,r8 - lea rdi,[rcx*4+r8] -ALIGN 4 -$L$invert: - mov rax,QWORD[rsi] - mov rbx,QWORD[8+rsi] - mov rcx,QWORD[rdi] - mov rdx,QWORD[8+rdi] - mov QWORD[rdi],rax - mov QWORD[8+rdi],rbx - mov QWORD[rsi],rcx - mov QWORD[8+rsi],rdx - lea rsi,[16+rsi] - lea rdi,[((-16))+rdi] - cmp rdi,rsi - jne NEAR $L$invert - - lea rax,[(($L$AES_Te+2048+1024))] - - mov rsi,QWORD[40+rax] - mov rdi,QWORD[48+rax] - mov rbp,QWORD[56+rax] - - mov r15,r8 - sub r14d,1 -ALIGN 4 -$L$permute: - lea r15,[16+r15] - mov rax,QWORD[r15] - mov rcx,QWORD[8+r15] - mov r9,rsi - mov r12,rsi - and r9,rax - and r12,rcx - mov rbx,r9 - mov rdx,r12 - shr r9,7 - lea r8,[rax*1+rax] - shr r12,7 - lea r11,[rcx*1+rcx] - sub rbx,r9 - sub rdx,r12 - and r8,rdi - and r11,rdi - and rbx,rbp - and rdx,rbp - xor r8,rbx - xor r11,rdx - mov r10,rsi - mov r13,rsi - - and r10,r8 - and r13,r11 - mov rbx,r10 - mov rdx,r13 - shr r10,7 - lea r9,[r8*1+r8] - shr r13,7 - lea r12,[r11*1+r11] - sub rbx,r10 - sub rdx,r13 - and r9,rdi - and r12,rdi - and rbx,rbp - and rdx,rbp - xor r9,rbx - xor r12,rdx - mov r10,rsi - mov r13,rsi - - and r10,r9 - and r13,r12 - mov rbx,r10 - mov rdx,r13 - shr r10,7 - xor r8,rax - shr r13,7 - xor r11,rcx - sub rbx,r10 - sub rdx,r13 - lea r10,[r9*1+r9] - lea r13,[r12*1+r12] - xor r9,rax - xor r12,rcx - and r10,rdi - and r13,rdi - and rbx,rbp - and rdx,rbp - xor r10,rbx - xor r13,rdx - - xor rax,r10 - xor rcx,r13 - xor r8,r10 - xor r11,r13 - mov rbx,rax - mov rdx,rcx - xor r9,r10 - shr rbx,32 - xor r12,r13 - shr rdx,32 - xor r10,r8 - rol eax,8 - xor r13,r11 - rol ecx,8 - xor r10,r9 - rol ebx,8 - xor r13,r12 - - rol edx,8 - xor eax,r10d - shr r10,32 - xor ecx,r13d - shr r13,32 - xor ebx,r10d - xor edx,r13d - - mov r10,r8 - rol r8d,24 - mov r13,r11 - rol r11d,24 - shr r10,32 - xor eax,r8d - shr r13,32 - xor ecx,r11d - rol r10d,24 - mov r8,r9 - rol r13d,24 - mov r11,r12 - shr r8,32 - xor ebx,r10d - shr r11,32 - xor edx,r13d - - - rol r9d,16 - - rol r12d,16 - - rol r8d,16 - - xor eax,r9d - rol r11d,16 - xor ecx,r12d - - xor ebx,r8d - xor edx,r11d - mov DWORD[r15],eax - mov DWORD[4+r15],ebx - mov DWORD[8+r15],ecx - mov DWORD[12+r15],edx - sub r14d,1 - jnz NEAR $L$permute - - xor rax,rax -$L$abort: - mov r15,QWORD[8+rsp] - - mov r14,QWORD[16+rsp] - - mov r13,QWORD[24+rsp] - - mov r12,QWORD[32+rsp] - - mov rbp,QWORD[40+rsp] - - mov rbx,QWORD[48+rsp] - - add rsp,56 - -$L$dec_key_epilogue: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret - -$L$SEH_end_aes_nohw_set_decrypt_key: -ALIGN 16 -global aes_nohw_cbc_encrypt - -EXTERN OPENSSL_ia32cap_P - -aes_nohw_cbc_encrypt: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_aes_nohw_cbc_encrypt: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - mov rcx,r9 - mov r8,QWORD[40+rsp] - mov r9,QWORD[48+rsp] - - - - cmp rdx,0 - je NEAR $L$cbc_epilogue - pushfq - - - - push rbx - - push rbp - - push r12 - - push r13 - - push r14 - - push r15 - -$L$cbc_prologue: - - cld - mov r9d,r9d - - lea r14,[$L$AES_Te] - lea r10,[$L$AES_Td] - cmp r9,0 - cmove r14,r10 - - - lea r10,[OPENSSL_ia32cap_P] - mov r10d,DWORD[r10] - cmp rdx,512 - jb NEAR $L$cbc_slow_prologue - test rdx,15 - jnz NEAR $L$cbc_slow_prologue - bt r10d,28 - jc NEAR $L$cbc_slow_prologue - - - lea r15,[((-88-248))+rsp] - and r15,-64 - - - mov r10,r14 - lea r11,[2304+r14] - mov r12,r15 - and r10,0xFFF - and r11,0xFFF - and r12,0xFFF - - cmp r12,r11 - jb NEAR $L$cbc_te_break_out - sub r12,r11 - sub r15,r12 - jmp NEAR $L$cbc_te_ok -$L$cbc_te_break_out: - sub r12,r10 - and r12,0xFFF - add r12,320 - sub r15,r12 -ALIGN 4 -$L$cbc_te_ok: - - xchg r15,rsp - - - mov QWORD[16+rsp],r15 - -$L$cbc_fast_body: - mov QWORD[24+rsp],rdi - mov QWORD[32+rsp],rsi - mov QWORD[40+rsp],rdx - mov QWORD[48+rsp],rcx - mov QWORD[56+rsp],r8 - mov DWORD[((80+240))+rsp],0 - mov rbp,r8 - mov rbx,r9 - mov r9,rsi - mov r8,rdi - mov r15,rcx - - mov eax,DWORD[240+r15] - - mov r10,r15 - sub r10,r14 - and r10,0xfff - cmp r10,2304 - jb NEAR $L$cbc_do_ecopy - cmp r10,4096-248 - jb NEAR $L$cbc_skip_ecopy -ALIGN 4 -$L$cbc_do_ecopy: - mov rsi,r15 - lea rdi,[80+rsp] - lea r15,[80+rsp] - mov ecx,240/8 - DD 0x90A548F3 - mov DWORD[rdi],eax -$L$cbc_skip_ecopy: - mov QWORD[rsp],r15 - - mov ecx,18 -ALIGN 4 -$L$cbc_prefetch_te: - mov r10,QWORD[r14] - mov r11,QWORD[32+r14] - mov r12,QWORD[64+r14] - mov r13,QWORD[96+r14] - lea r14,[128+r14] - sub ecx,1 - jnz NEAR $L$cbc_prefetch_te - lea r14,[((-2304))+r14] - - cmp rbx,0 - je NEAR $L$FAST_DECRYPT - - - mov eax,DWORD[rbp] - mov ebx,DWORD[4+rbp] - mov ecx,DWORD[8+rbp] - mov edx,DWORD[12+rbp] - -ALIGN 4 -$L$cbc_fast_enc_loop: - xor eax,DWORD[r8] - xor ebx,DWORD[4+r8] - xor ecx,DWORD[8+r8] - xor edx,DWORD[12+r8] - mov r15,QWORD[rsp] - mov QWORD[24+rsp],r8 - - call _x86_64_AES_encrypt - - mov r8,QWORD[24+rsp] - mov r10,QWORD[40+rsp] - mov DWORD[r9],eax - mov DWORD[4+r9],ebx - mov DWORD[8+r9],ecx - mov DWORD[12+r9],edx - - lea r8,[16+r8] - lea r9,[16+r9] - sub r10,16 - test r10,-16 - mov QWORD[40+rsp],r10 - jnz NEAR $L$cbc_fast_enc_loop - mov rbp,QWORD[56+rsp] - mov DWORD[rbp],eax - mov DWORD[4+rbp],ebx - mov DWORD[8+rbp],ecx - mov DWORD[12+rbp],edx - - jmp NEAR $L$cbc_fast_cleanup - - -ALIGN 16 -$L$FAST_DECRYPT: - cmp r9,r8 - je NEAR $L$cbc_fast_dec_in_place - - mov QWORD[64+rsp],rbp -ALIGN 4 -$L$cbc_fast_dec_loop: - mov eax,DWORD[r8] - mov ebx,DWORD[4+r8] - mov ecx,DWORD[8+r8] - mov edx,DWORD[12+r8] - mov r15,QWORD[rsp] - mov QWORD[24+rsp],r8 - - call _x86_64_AES_decrypt - - mov rbp,QWORD[64+rsp] - mov r8,QWORD[24+rsp] - mov r10,QWORD[40+rsp] - xor eax,DWORD[rbp] - xor ebx,DWORD[4+rbp] - xor ecx,DWORD[8+rbp] - xor edx,DWORD[12+rbp] - mov rbp,r8 - - sub r10,16 - mov QWORD[40+rsp],r10 - mov QWORD[64+rsp],rbp - - mov DWORD[r9],eax - mov DWORD[4+r9],ebx - mov DWORD[8+r9],ecx - mov DWORD[12+r9],edx - - lea r8,[16+r8] - lea r9,[16+r9] - jnz NEAR $L$cbc_fast_dec_loop - mov r12,QWORD[56+rsp] - mov r10,QWORD[rbp] - mov r11,QWORD[8+rbp] - mov QWORD[r12],r10 - mov QWORD[8+r12],r11 - jmp NEAR $L$cbc_fast_cleanup - -ALIGN 16 -$L$cbc_fast_dec_in_place: - mov r10,QWORD[rbp] - mov r11,QWORD[8+rbp] - mov QWORD[((0+64))+rsp],r10 - mov QWORD[((8+64))+rsp],r11 -ALIGN 4 -$L$cbc_fast_dec_in_place_loop: - mov eax,DWORD[r8] - mov ebx,DWORD[4+r8] - mov ecx,DWORD[8+r8] - mov edx,DWORD[12+r8] - mov r15,QWORD[rsp] - mov QWORD[24+rsp],r8 - - call _x86_64_AES_decrypt - - mov r8,QWORD[24+rsp] - mov r10,QWORD[40+rsp] - xor eax,DWORD[((0+64))+rsp] - xor ebx,DWORD[((4+64))+rsp] - xor ecx,DWORD[((8+64))+rsp] - xor edx,DWORD[((12+64))+rsp] - - mov r11,QWORD[r8] - mov r12,QWORD[8+r8] - sub r10,16 - jz NEAR $L$cbc_fast_dec_in_place_done - - mov QWORD[((0+64))+rsp],r11 - mov QWORD[((8+64))+rsp],r12 - - mov DWORD[r9],eax - mov DWORD[4+r9],ebx - mov DWORD[8+r9],ecx - mov DWORD[12+r9],edx - - lea r8,[16+r8] - lea r9,[16+r9] - mov QWORD[40+rsp],r10 - jmp NEAR $L$cbc_fast_dec_in_place_loop -$L$cbc_fast_dec_in_place_done: - mov rdi,QWORD[56+rsp] - mov QWORD[rdi],r11 - mov QWORD[8+rdi],r12 - - mov DWORD[r9],eax - mov DWORD[4+r9],ebx - mov DWORD[8+r9],ecx - mov DWORD[12+r9],edx - -ALIGN 4 -$L$cbc_fast_cleanup: - cmp DWORD[((80+240))+rsp],0 - lea rdi,[80+rsp] - je NEAR $L$cbc_exit - mov ecx,240/8 - xor rax,rax - DD 0x90AB48F3 - - jmp NEAR $L$cbc_exit - - -ALIGN 16 -$L$cbc_slow_prologue: - - - lea rbp,[((-88))+rsp] - and rbp,-64 - - lea r10,[((-88-63))+rcx] - sub r10,rbp - neg r10 - and r10,0x3c0 - sub rbp,r10 - - xchg rbp,rsp - - - mov QWORD[16+rsp],rbp - -$L$cbc_slow_body: - - - - - mov QWORD[56+rsp],r8 - mov rbp,r8 - mov rbx,r9 - mov r9,rsi - mov r8,rdi - mov r15,rcx - mov r10,rdx - - mov eax,DWORD[240+r15] - mov QWORD[rsp],r15 - shl eax,4 - lea rax,[rax*1+r15] - mov QWORD[8+rsp],rax - - - lea r14,[2048+r14] - lea rax,[((768-8))+rsp] - sub rax,r14 - and rax,0x300 - lea r14,[rax*1+r14] - - cmp rbx,0 - je NEAR $L$SLOW_DECRYPT - - - test r10,-16 - mov eax,DWORD[rbp] - mov ebx,DWORD[4+rbp] - mov ecx,DWORD[8+rbp] - mov edx,DWORD[12+rbp] - jz NEAR $L$cbc_slow_enc_tail - -ALIGN 4 -$L$cbc_slow_enc_loop: - xor eax,DWORD[r8] - xor ebx,DWORD[4+r8] - xor ecx,DWORD[8+r8] - xor edx,DWORD[12+r8] - mov r15,QWORD[rsp] - mov QWORD[24+rsp],r8 - mov QWORD[32+rsp],r9 - mov QWORD[40+rsp],r10 - - call _x86_64_AES_encrypt_compact - - mov r8,QWORD[24+rsp] - mov r9,QWORD[32+rsp] - mov r10,QWORD[40+rsp] - mov DWORD[r9],eax - mov DWORD[4+r9],ebx - mov DWORD[8+r9],ecx - mov DWORD[12+r9],edx - - lea r8,[16+r8] - lea r9,[16+r9] - sub r10,16 - test r10,-16 - jnz NEAR $L$cbc_slow_enc_loop - test r10,15 - jnz NEAR $L$cbc_slow_enc_tail - mov rbp,QWORD[56+rsp] - mov DWORD[rbp],eax - mov DWORD[4+rbp],ebx - mov DWORD[8+rbp],ecx - mov DWORD[12+rbp],edx - - jmp NEAR $L$cbc_exit - -ALIGN 4 -$L$cbc_slow_enc_tail: - mov r11,rax - mov r12,rcx - mov rcx,r10 - mov rsi,r8 - mov rdi,r9 - DD 0x9066A4F3 - mov rcx,16 - sub rcx,r10 - xor rax,rax - DD 0x9066AAF3 - mov r8,r9 - mov r10,16 - mov rax,r11 - mov rcx,r12 - jmp NEAR $L$cbc_slow_enc_loop - -ALIGN 16 -$L$SLOW_DECRYPT: - shr rax,3 - add r14,rax - - mov r11,QWORD[rbp] - mov r12,QWORD[8+rbp] - mov QWORD[((0+64))+rsp],r11 - mov QWORD[((8+64))+rsp],r12 - -ALIGN 4 -$L$cbc_slow_dec_loop: - mov eax,DWORD[r8] - mov ebx,DWORD[4+r8] - mov ecx,DWORD[8+r8] - mov edx,DWORD[12+r8] - mov r15,QWORD[rsp] - mov QWORD[24+rsp],r8 - mov QWORD[32+rsp],r9 - mov QWORD[40+rsp],r10 - - call _x86_64_AES_decrypt_compact - - mov r8,QWORD[24+rsp] - mov r9,QWORD[32+rsp] - mov r10,QWORD[40+rsp] - xor eax,DWORD[((0+64))+rsp] - xor ebx,DWORD[((4+64))+rsp] - xor ecx,DWORD[((8+64))+rsp] - xor edx,DWORD[((12+64))+rsp] - - mov r11,QWORD[r8] - mov r12,QWORD[8+r8] - sub r10,16 - jc NEAR $L$cbc_slow_dec_partial - jz NEAR $L$cbc_slow_dec_done - - mov QWORD[((0+64))+rsp],r11 - mov QWORD[((8+64))+rsp],r12 - - mov DWORD[r9],eax - mov DWORD[4+r9],ebx - mov DWORD[8+r9],ecx - mov DWORD[12+r9],edx - - lea r8,[16+r8] - lea r9,[16+r9] - jmp NEAR $L$cbc_slow_dec_loop -$L$cbc_slow_dec_done: - mov rdi,QWORD[56+rsp] - mov QWORD[rdi],r11 - mov QWORD[8+rdi],r12 - - mov DWORD[r9],eax - mov DWORD[4+r9],ebx - mov DWORD[8+r9],ecx - mov DWORD[12+r9],edx - - jmp NEAR $L$cbc_exit - -ALIGN 4 -$L$cbc_slow_dec_partial: - mov rdi,QWORD[56+rsp] - mov QWORD[rdi],r11 - mov QWORD[8+rdi],r12 - - mov DWORD[((0+64))+rsp],eax - mov DWORD[((4+64))+rsp],ebx - mov DWORD[((8+64))+rsp],ecx - mov DWORD[((12+64))+rsp],edx - - mov rdi,r9 - lea rsi,[64+rsp] - lea rcx,[16+r10] - DD 0x9066A4F3 - jmp NEAR $L$cbc_exit - -ALIGN 16 -$L$cbc_exit: - mov rsi,QWORD[16+rsp] - - mov r15,QWORD[rsi] - - mov r14,QWORD[8+rsi] - - mov r13,QWORD[16+rsi] - - mov r12,QWORD[24+rsi] - - mov rbp,QWORD[32+rsi] - - mov rbx,QWORD[40+rsi] - - lea rsp,[48+rsi] - -$L$cbc_popfq: - popfq - - - -$L$cbc_epilogue: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret - -$L$SEH_end_aes_nohw_cbc_encrypt: -ALIGN 64 -$L$AES_Te: - DD 0xa56363c6,0xa56363c6 - DD 0x847c7cf8,0x847c7cf8 - DD 0x997777ee,0x997777ee - DD 0x8d7b7bf6,0x8d7b7bf6 - DD 0x0df2f2ff,0x0df2f2ff - DD 0xbd6b6bd6,0xbd6b6bd6 - DD 0xb16f6fde,0xb16f6fde - DD 0x54c5c591,0x54c5c591 - DD 0x50303060,0x50303060 - DD 0x03010102,0x03010102 - DD 0xa96767ce,0xa96767ce - DD 0x7d2b2b56,0x7d2b2b56 - DD 0x19fefee7,0x19fefee7 - DD 0x62d7d7b5,0x62d7d7b5 - DD 0xe6abab4d,0xe6abab4d - DD 0x9a7676ec,0x9a7676ec - DD 0x45caca8f,0x45caca8f - DD 0x9d82821f,0x9d82821f - DD 0x40c9c989,0x40c9c989 - DD 0x877d7dfa,0x877d7dfa - DD 0x15fafaef,0x15fafaef - DD 0xeb5959b2,0xeb5959b2 - DD 0xc947478e,0xc947478e - DD 0x0bf0f0fb,0x0bf0f0fb - DD 0xecadad41,0xecadad41 - DD 0x67d4d4b3,0x67d4d4b3 - DD 0xfda2a25f,0xfda2a25f - DD 0xeaafaf45,0xeaafaf45 - DD 0xbf9c9c23,0xbf9c9c23 - DD 0xf7a4a453,0xf7a4a453 - DD 0x967272e4,0x967272e4 - DD 0x5bc0c09b,0x5bc0c09b - DD 0xc2b7b775,0xc2b7b775 - DD 0x1cfdfde1,0x1cfdfde1 - DD 0xae93933d,0xae93933d - DD 0x6a26264c,0x6a26264c - DD 0x5a36366c,0x5a36366c - DD 0x413f3f7e,0x413f3f7e - DD 0x02f7f7f5,0x02f7f7f5 - DD 0x4fcccc83,0x4fcccc83 - DD 0x5c343468,0x5c343468 - DD 0xf4a5a551,0xf4a5a551 - DD 0x34e5e5d1,0x34e5e5d1 - DD 0x08f1f1f9,0x08f1f1f9 - DD 0x937171e2,0x937171e2 - DD 0x73d8d8ab,0x73d8d8ab - DD 0x53313162,0x53313162 - DD 0x3f15152a,0x3f15152a - DD 0x0c040408,0x0c040408 - DD 0x52c7c795,0x52c7c795 - DD 0x65232346,0x65232346 - DD 0x5ec3c39d,0x5ec3c39d - DD 0x28181830,0x28181830 - DD 0xa1969637,0xa1969637 - DD 0x0f05050a,0x0f05050a - DD 0xb59a9a2f,0xb59a9a2f - DD 0x0907070e,0x0907070e - DD 0x36121224,0x36121224 - DD 0x9b80801b,0x9b80801b - DD 0x3de2e2df,0x3de2e2df - DD 0x26ebebcd,0x26ebebcd - DD 0x6927274e,0x6927274e - DD 0xcdb2b27f,0xcdb2b27f - DD 0x9f7575ea,0x9f7575ea - DD 0x1b090912,0x1b090912 - DD 0x9e83831d,0x9e83831d - DD 0x742c2c58,0x742c2c58 - DD 0x2e1a1a34,0x2e1a1a34 - DD 0x2d1b1b36,0x2d1b1b36 - DD 0xb26e6edc,0xb26e6edc - DD 0xee5a5ab4,0xee5a5ab4 - DD 0xfba0a05b,0xfba0a05b - DD 0xf65252a4,0xf65252a4 - DD 0x4d3b3b76,0x4d3b3b76 - DD 0x61d6d6b7,0x61d6d6b7 - DD 0xceb3b37d,0xceb3b37d - DD 0x7b292952,0x7b292952 - DD 0x3ee3e3dd,0x3ee3e3dd - DD 0x712f2f5e,0x712f2f5e - DD 0x97848413,0x97848413 - DD 0xf55353a6,0xf55353a6 - DD 0x68d1d1b9,0x68d1d1b9 - DD 0x00000000,0x00000000 - DD 0x2cededc1,0x2cededc1 - DD 0x60202040,0x60202040 - DD 0x1ffcfce3,0x1ffcfce3 - DD 0xc8b1b179,0xc8b1b179 - DD 0xed5b5bb6,0xed5b5bb6 - DD 0xbe6a6ad4,0xbe6a6ad4 - DD 0x46cbcb8d,0x46cbcb8d - DD 0xd9bebe67,0xd9bebe67 - DD 0x4b393972,0x4b393972 - DD 0xde4a4a94,0xde4a4a94 - DD 0xd44c4c98,0xd44c4c98 - DD 0xe85858b0,0xe85858b0 - DD 0x4acfcf85,0x4acfcf85 - DD 0x6bd0d0bb,0x6bd0d0bb - DD 0x2aefefc5,0x2aefefc5 - DD 0xe5aaaa4f,0xe5aaaa4f - DD 0x16fbfbed,0x16fbfbed - DD 0xc5434386,0xc5434386 - DD 0xd74d4d9a,0xd74d4d9a - DD 0x55333366,0x55333366 - DD 0x94858511,0x94858511 - DD 0xcf45458a,0xcf45458a - DD 0x10f9f9e9,0x10f9f9e9 - DD 0x06020204,0x06020204 - DD 0x817f7ffe,0x817f7ffe - DD 0xf05050a0,0xf05050a0 - DD 0x443c3c78,0x443c3c78 - DD 0xba9f9f25,0xba9f9f25 - DD 0xe3a8a84b,0xe3a8a84b - DD 0xf35151a2,0xf35151a2 - DD 0xfea3a35d,0xfea3a35d - DD 0xc0404080,0xc0404080 - DD 0x8a8f8f05,0x8a8f8f05 - DD 0xad92923f,0xad92923f - DD 0xbc9d9d21,0xbc9d9d21 - DD 0x48383870,0x48383870 - DD 0x04f5f5f1,0x04f5f5f1 - DD 0xdfbcbc63,0xdfbcbc63 - DD 0xc1b6b677,0xc1b6b677 - DD 0x75dadaaf,0x75dadaaf - DD 0x63212142,0x63212142 - DD 0x30101020,0x30101020 - DD 0x1affffe5,0x1affffe5 - DD 0x0ef3f3fd,0x0ef3f3fd - DD 0x6dd2d2bf,0x6dd2d2bf - DD 0x4ccdcd81,0x4ccdcd81 - DD 0x140c0c18,0x140c0c18 - DD 0x35131326,0x35131326 - DD 0x2fececc3,0x2fececc3 - DD 0xe15f5fbe,0xe15f5fbe - DD 0xa2979735,0xa2979735 - DD 0xcc444488,0xcc444488 - DD 0x3917172e,0x3917172e - DD 0x57c4c493,0x57c4c493 - DD 0xf2a7a755,0xf2a7a755 - DD 0x827e7efc,0x827e7efc - DD 0x473d3d7a,0x473d3d7a - DD 0xac6464c8,0xac6464c8 - DD 0xe75d5dba,0xe75d5dba - DD 0x2b191932,0x2b191932 - DD 0x957373e6,0x957373e6 - DD 0xa06060c0,0xa06060c0 - DD 0x98818119,0x98818119 - DD 0xd14f4f9e,0xd14f4f9e - DD 0x7fdcdca3,0x7fdcdca3 - DD 0x66222244,0x66222244 - DD 0x7e2a2a54,0x7e2a2a54 - DD 0xab90903b,0xab90903b - DD 0x8388880b,0x8388880b - DD 0xca46468c,0xca46468c - DD 0x29eeeec7,0x29eeeec7 - DD 0xd3b8b86b,0xd3b8b86b - DD 0x3c141428,0x3c141428 - DD 0x79dedea7,0x79dedea7 - DD 0xe25e5ebc,0xe25e5ebc - DD 0x1d0b0b16,0x1d0b0b16 - DD 0x76dbdbad,0x76dbdbad - DD 0x3be0e0db,0x3be0e0db - DD 0x56323264,0x56323264 - DD 0x4e3a3a74,0x4e3a3a74 - DD 0x1e0a0a14,0x1e0a0a14 - DD 0xdb494992,0xdb494992 - DD 0x0a06060c,0x0a06060c - DD 0x6c242448,0x6c242448 - DD 0xe45c5cb8,0xe45c5cb8 - DD 0x5dc2c29f,0x5dc2c29f - DD 0x6ed3d3bd,0x6ed3d3bd - DD 0xefacac43,0xefacac43 - DD 0xa66262c4,0xa66262c4 - DD 0xa8919139,0xa8919139 - DD 0xa4959531,0xa4959531 - DD 0x37e4e4d3,0x37e4e4d3 - DD 0x8b7979f2,0x8b7979f2 - DD 0x32e7e7d5,0x32e7e7d5 - DD 0x43c8c88b,0x43c8c88b - DD 0x5937376e,0x5937376e - DD 0xb76d6dda,0xb76d6dda - DD 0x8c8d8d01,0x8c8d8d01 - DD 0x64d5d5b1,0x64d5d5b1 - DD 0xd24e4e9c,0xd24e4e9c - DD 0xe0a9a949,0xe0a9a949 - DD 0xb46c6cd8,0xb46c6cd8 - DD 0xfa5656ac,0xfa5656ac - DD 0x07f4f4f3,0x07f4f4f3 - DD 0x25eaeacf,0x25eaeacf - DD 0xaf6565ca,0xaf6565ca - DD 0x8e7a7af4,0x8e7a7af4 - DD 0xe9aeae47,0xe9aeae47 - DD 0x18080810,0x18080810 - DD 0xd5baba6f,0xd5baba6f - DD 0x887878f0,0x887878f0 - DD 0x6f25254a,0x6f25254a - DD 0x722e2e5c,0x722e2e5c - DD 0x241c1c38,0x241c1c38 - DD 0xf1a6a657,0xf1a6a657 - DD 0xc7b4b473,0xc7b4b473 - DD 0x51c6c697,0x51c6c697 - DD 0x23e8e8cb,0x23e8e8cb - DD 0x7cdddda1,0x7cdddda1 - DD 0x9c7474e8,0x9c7474e8 - DD 0x211f1f3e,0x211f1f3e - DD 0xdd4b4b96,0xdd4b4b96 - DD 0xdcbdbd61,0xdcbdbd61 - DD 0x868b8b0d,0x868b8b0d - DD 0x858a8a0f,0x858a8a0f - DD 0x907070e0,0x907070e0 - DD 0x423e3e7c,0x423e3e7c - DD 0xc4b5b571,0xc4b5b571 - DD 0xaa6666cc,0xaa6666cc - DD 0xd8484890,0xd8484890 - DD 0x05030306,0x05030306 - DD 0x01f6f6f7,0x01f6f6f7 - DD 0x120e0e1c,0x120e0e1c - DD 0xa36161c2,0xa36161c2 - DD 0x5f35356a,0x5f35356a - DD 0xf95757ae,0xf95757ae - DD 0xd0b9b969,0xd0b9b969 - DD 0x91868617,0x91868617 - DD 0x58c1c199,0x58c1c199 - DD 0x271d1d3a,0x271d1d3a - DD 0xb99e9e27,0xb99e9e27 - DD 0x38e1e1d9,0x38e1e1d9 - DD 0x13f8f8eb,0x13f8f8eb - DD 0xb398982b,0xb398982b - DD 0x33111122,0x33111122 - DD 0xbb6969d2,0xbb6969d2 - DD 0x70d9d9a9,0x70d9d9a9 - DD 0x898e8e07,0x898e8e07 - DD 0xa7949433,0xa7949433 - DD 0xb69b9b2d,0xb69b9b2d - DD 0x221e1e3c,0x221e1e3c - DD 0x92878715,0x92878715 - DD 0x20e9e9c9,0x20e9e9c9 - DD 0x49cece87,0x49cece87 - DD 0xff5555aa,0xff5555aa - DD 0x78282850,0x78282850 - DD 0x7adfdfa5,0x7adfdfa5 - DD 0x8f8c8c03,0x8f8c8c03 - DD 0xf8a1a159,0xf8a1a159 - DD 0x80898909,0x80898909 - DD 0x170d0d1a,0x170d0d1a - DD 0xdabfbf65,0xdabfbf65 - DD 0x31e6e6d7,0x31e6e6d7 - DD 0xc6424284,0xc6424284 - DD 0xb86868d0,0xb86868d0 - DD 0xc3414182,0xc3414182 - DD 0xb0999929,0xb0999929 - DD 0x772d2d5a,0x772d2d5a - DD 0x110f0f1e,0x110f0f1e - DD 0xcbb0b07b,0xcbb0b07b - DD 0xfc5454a8,0xfc5454a8 - DD 0xd6bbbb6d,0xd6bbbb6d - DD 0x3a16162c,0x3a16162c -DB 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 -DB 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 -DB 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 -DB 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 -DB 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc -DB 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 -DB 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a -DB 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 -DB 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 -DB 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 -DB 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b -DB 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf -DB 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 -DB 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 -DB 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 -DB 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 -DB 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 -DB 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 -DB 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 -DB 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb -DB 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c -DB 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 -DB 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 -DB 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 -DB 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 -DB 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a -DB 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e -DB 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e -DB 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 -DB 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf -DB 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 -DB 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 -DB 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 -DB 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 -DB 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 -DB 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 -DB 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc -DB 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 -DB 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a -DB 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 -DB 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 -DB 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 -DB 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b -DB 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf -DB 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 -DB 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 -DB 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 -DB 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 -DB 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 -DB 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 -DB 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 -DB 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb -DB 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c -DB 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 -DB 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 -DB 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 -DB 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 -DB 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a -DB 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e -DB 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e -DB 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 -DB 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf -DB 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 -DB 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 -DB 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 -DB 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 -DB 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 -DB 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 -DB 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc -DB 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 -DB 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a -DB 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 -DB 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 -DB 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 -DB 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b -DB 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf -DB 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 -DB 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 -DB 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 -DB 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 -DB 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 -DB 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 -DB 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 -DB 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb -DB 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c -DB 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 -DB 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 -DB 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 -DB 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 -DB 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a -DB 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e -DB 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e -DB 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 -DB 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf -DB 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 -DB 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 -DB 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 -DB 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 -DB 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 -DB 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 -DB 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc -DB 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 -DB 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a -DB 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 -DB 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 -DB 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 -DB 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b -DB 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf -DB 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 -DB 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 -DB 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 -DB 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 -DB 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 -DB 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 -DB 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 -DB 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb -DB 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c -DB 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 -DB 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 -DB 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 -DB 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 -DB 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a -DB 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e -DB 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e -DB 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 -DB 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf -DB 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 -DB 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 - DD 0x00000001,0x00000002,0x00000004,0x00000008 - DD 0x00000010,0x00000020,0x00000040,0x00000080 - DD 0x0000001b,0x00000036,0x80808080,0x80808080 - DD 0xfefefefe,0xfefefefe,0x1b1b1b1b,0x1b1b1b1b -ALIGN 64 -$L$AES_Td: - DD 0x50a7f451,0x50a7f451 - DD 0x5365417e,0x5365417e - DD 0xc3a4171a,0xc3a4171a - DD 0x965e273a,0x965e273a - DD 0xcb6bab3b,0xcb6bab3b - DD 0xf1459d1f,0xf1459d1f - DD 0xab58faac,0xab58faac - DD 0x9303e34b,0x9303e34b - DD 0x55fa3020,0x55fa3020 - DD 0xf66d76ad,0xf66d76ad - DD 0x9176cc88,0x9176cc88 - DD 0x254c02f5,0x254c02f5 - DD 0xfcd7e54f,0xfcd7e54f - DD 0xd7cb2ac5,0xd7cb2ac5 - DD 0x80443526,0x80443526 - DD 0x8fa362b5,0x8fa362b5 - DD 0x495ab1de,0x495ab1de - DD 0x671bba25,0x671bba25 - DD 0x980eea45,0x980eea45 - DD 0xe1c0fe5d,0xe1c0fe5d - DD 0x02752fc3,0x02752fc3 - DD 0x12f04c81,0x12f04c81 - DD 0xa397468d,0xa397468d - DD 0xc6f9d36b,0xc6f9d36b - DD 0xe75f8f03,0xe75f8f03 - DD 0x959c9215,0x959c9215 - DD 0xeb7a6dbf,0xeb7a6dbf - DD 0xda595295,0xda595295 - DD 0x2d83bed4,0x2d83bed4 - DD 0xd3217458,0xd3217458 - DD 0x2969e049,0x2969e049 - DD 0x44c8c98e,0x44c8c98e - DD 0x6a89c275,0x6a89c275 - DD 0x78798ef4,0x78798ef4 - DD 0x6b3e5899,0x6b3e5899 - DD 0xdd71b927,0xdd71b927 - DD 0xb64fe1be,0xb64fe1be - DD 0x17ad88f0,0x17ad88f0 - DD 0x66ac20c9,0x66ac20c9 - DD 0xb43ace7d,0xb43ace7d - DD 0x184adf63,0x184adf63 - DD 0x82311ae5,0x82311ae5 - DD 0x60335197,0x60335197 - DD 0x457f5362,0x457f5362 - DD 0xe07764b1,0xe07764b1 - DD 0x84ae6bbb,0x84ae6bbb - DD 0x1ca081fe,0x1ca081fe - DD 0x942b08f9,0x942b08f9 - DD 0x58684870,0x58684870 - DD 0x19fd458f,0x19fd458f - DD 0x876cde94,0x876cde94 - DD 0xb7f87b52,0xb7f87b52 - DD 0x23d373ab,0x23d373ab - DD 0xe2024b72,0xe2024b72 - DD 0x578f1fe3,0x578f1fe3 - DD 0x2aab5566,0x2aab5566 - DD 0x0728ebb2,0x0728ebb2 - DD 0x03c2b52f,0x03c2b52f - DD 0x9a7bc586,0x9a7bc586 - DD 0xa50837d3,0xa50837d3 - DD 0xf2872830,0xf2872830 - DD 0xb2a5bf23,0xb2a5bf23 - DD 0xba6a0302,0xba6a0302 - DD 0x5c8216ed,0x5c8216ed - DD 0x2b1ccf8a,0x2b1ccf8a - DD 0x92b479a7,0x92b479a7 - DD 0xf0f207f3,0xf0f207f3 - DD 0xa1e2694e,0xa1e2694e - DD 0xcdf4da65,0xcdf4da65 - DD 0xd5be0506,0xd5be0506 - DD 0x1f6234d1,0x1f6234d1 - DD 0x8afea6c4,0x8afea6c4 - DD 0x9d532e34,0x9d532e34 - DD 0xa055f3a2,0xa055f3a2 - DD 0x32e18a05,0x32e18a05 - DD 0x75ebf6a4,0x75ebf6a4 - DD 0x39ec830b,0x39ec830b - DD 0xaaef6040,0xaaef6040 - DD 0x069f715e,0x069f715e - DD 0x51106ebd,0x51106ebd - DD 0xf98a213e,0xf98a213e - DD 0x3d06dd96,0x3d06dd96 - DD 0xae053edd,0xae053edd - DD 0x46bde64d,0x46bde64d - DD 0xb58d5491,0xb58d5491 - DD 0x055dc471,0x055dc471 - DD 0x6fd40604,0x6fd40604 - DD 0xff155060,0xff155060 - DD 0x24fb9819,0x24fb9819 - DD 0x97e9bdd6,0x97e9bdd6 - DD 0xcc434089,0xcc434089 - DD 0x779ed967,0x779ed967 - DD 0xbd42e8b0,0xbd42e8b0 - DD 0x888b8907,0x888b8907 - DD 0x385b19e7,0x385b19e7 - DD 0xdbeec879,0xdbeec879 - DD 0x470a7ca1,0x470a7ca1 - DD 0xe90f427c,0xe90f427c - DD 0xc91e84f8,0xc91e84f8 - DD 0x00000000,0x00000000 - DD 0x83868009,0x83868009 - DD 0x48ed2b32,0x48ed2b32 - DD 0xac70111e,0xac70111e - DD 0x4e725a6c,0x4e725a6c - DD 0xfbff0efd,0xfbff0efd - DD 0x5638850f,0x5638850f - DD 0x1ed5ae3d,0x1ed5ae3d - DD 0x27392d36,0x27392d36 - DD 0x64d90f0a,0x64d90f0a - DD 0x21a65c68,0x21a65c68 - DD 0xd1545b9b,0xd1545b9b - DD 0x3a2e3624,0x3a2e3624 - DD 0xb1670a0c,0xb1670a0c - DD 0x0fe75793,0x0fe75793 - DD 0xd296eeb4,0xd296eeb4 - DD 0x9e919b1b,0x9e919b1b - DD 0x4fc5c080,0x4fc5c080 - DD 0xa220dc61,0xa220dc61 - DD 0x694b775a,0x694b775a - DD 0x161a121c,0x161a121c - DD 0x0aba93e2,0x0aba93e2 - DD 0xe52aa0c0,0xe52aa0c0 - DD 0x43e0223c,0x43e0223c - DD 0x1d171b12,0x1d171b12 - DD 0x0b0d090e,0x0b0d090e - DD 0xadc78bf2,0xadc78bf2 - DD 0xb9a8b62d,0xb9a8b62d - DD 0xc8a91e14,0xc8a91e14 - DD 0x8519f157,0x8519f157 - DD 0x4c0775af,0x4c0775af - DD 0xbbdd99ee,0xbbdd99ee - DD 0xfd607fa3,0xfd607fa3 - DD 0x9f2601f7,0x9f2601f7 - DD 0xbcf5725c,0xbcf5725c - DD 0xc53b6644,0xc53b6644 - DD 0x347efb5b,0x347efb5b - DD 0x7629438b,0x7629438b - DD 0xdcc623cb,0xdcc623cb - DD 0x68fcedb6,0x68fcedb6 - DD 0x63f1e4b8,0x63f1e4b8 - DD 0xcadc31d7,0xcadc31d7 - DD 0x10856342,0x10856342 - DD 0x40229713,0x40229713 - DD 0x2011c684,0x2011c684 - DD 0x7d244a85,0x7d244a85 - DD 0xf83dbbd2,0xf83dbbd2 - DD 0x1132f9ae,0x1132f9ae - DD 0x6da129c7,0x6da129c7 - DD 0x4b2f9e1d,0x4b2f9e1d - DD 0xf330b2dc,0xf330b2dc - DD 0xec52860d,0xec52860d - DD 0xd0e3c177,0xd0e3c177 - DD 0x6c16b32b,0x6c16b32b - DD 0x99b970a9,0x99b970a9 - DD 0xfa489411,0xfa489411 - DD 0x2264e947,0x2264e947 - DD 0xc48cfca8,0xc48cfca8 - DD 0x1a3ff0a0,0x1a3ff0a0 - DD 0xd82c7d56,0xd82c7d56 - DD 0xef903322,0xef903322 - DD 0xc74e4987,0xc74e4987 - DD 0xc1d138d9,0xc1d138d9 - DD 0xfea2ca8c,0xfea2ca8c - DD 0x360bd498,0x360bd498 - DD 0xcf81f5a6,0xcf81f5a6 - DD 0x28de7aa5,0x28de7aa5 - DD 0x268eb7da,0x268eb7da - DD 0xa4bfad3f,0xa4bfad3f - DD 0xe49d3a2c,0xe49d3a2c - DD 0x0d927850,0x0d927850 - DD 0x9bcc5f6a,0x9bcc5f6a - DD 0x62467e54,0x62467e54 - DD 0xc2138df6,0xc2138df6 - DD 0xe8b8d890,0xe8b8d890 - DD 0x5ef7392e,0x5ef7392e - DD 0xf5afc382,0xf5afc382 - DD 0xbe805d9f,0xbe805d9f - DD 0x7c93d069,0x7c93d069 - DD 0xa92dd56f,0xa92dd56f - DD 0xb31225cf,0xb31225cf - DD 0x3b99acc8,0x3b99acc8 - DD 0xa77d1810,0xa77d1810 - DD 0x6e639ce8,0x6e639ce8 - DD 0x7bbb3bdb,0x7bbb3bdb - DD 0x097826cd,0x097826cd - DD 0xf418596e,0xf418596e - DD 0x01b79aec,0x01b79aec - DD 0xa89a4f83,0xa89a4f83 - DD 0x656e95e6,0x656e95e6 - DD 0x7ee6ffaa,0x7ee6ffaa - DD 0x08cfbc21,0x08cfbc21 - DD 0xe6e815ef,0xe6e815ef - DD 0xd99be7ba,0xd99be7ba - DD 0xce366f4a,0xce366f4a - DD 0xd4099fea,0xd4099fea - DD 0xd67cb029,0xd67cb029 - DD 0xafb2a431,0xafb2a431 - DD 0x31233f2a,0x31233f2a - DD 0x3094a5c6,0x3094a5c6 - DD 0xc066a235,0xc066a235 - DD 0x37bc4e74,0x37bc4e74 - DD 0xa6ca82fc,0xa6ca82fc - DD 0xb0d090e0,0xb0d090e0 - DD 0x15d8a733,0x15d8a733 - DD 0x4a9804f1,0x4a9804f1 - DD 0xf7daec41,0xf7daec41 - DD 0x0e50cd7f,0x0e50cd7f - DD 0x2ff69117,0x2ff69117 - DD 0x8dd64d76,0x8dd64d76 - DD 0x4db0ef43,0x4db0ef43 - DD 0x544daacc,0x544daacc - DD 0xdf0496e4,0xdf0496e4 - DD 0xe3b5d19e,0xe3b5d19e - DD 0x1b886a4c,0x1b886a4c - DD 0xb81f2cc1,0xb81f2cc1 - DD 0x7f516546,0x7f516546 - DD 0x04ea5e9d,0x04ea5e9d - DD 0x5d358c01,0x5d358c01 - DD 0x737487fa,0x737487fa - DD 0x2e410bfb,0x2e410bfb - DD 0x5a1d67b3,0x5a1d67b3 - DD 0x52d2db92,0x52d2db92 - DD 0x335610e9,0x335610e9 - DD 0x1347d66d,0x1347d66d - DD 0x8c61d79a,0x8c61d79a - DD 0x7a0ca137,0x7a0ca137 - DD 0x8e14f859,0x8e14f859 - DD 0x893c13eb,0x893c13eb - DD 0xee27a9ce,0xee27a9ce - DD 0x35c961b7,0x35c961b7 - DD 0xede51ce1,0xede51ce1 - DD 0x3cb1477a,0x3cb1477a - DD 0x59dfd29c,0x59dfd29c - DD 0x3f73f255,0x3f73f255 - DD 0x79ce1418,0x79ce1418 - DD 0xbf37c773,0xbf37c773 - DD 0xeacdf753,0xeacdf753 - DD 0x5baafd5f,0x5baafd5f - DD 0x146f3ddf,0x146f3ddf - DD 0x86db4478,0x86db4478 - DD 0x81f3afca,0x81f3afca - DD 0x3ec468b9,0x3ec468b9 - DD 0x2c342438,0x2c342438 - DD 0x5f40a3c2,0x5f40a3c2 - DD 0x72c31d16,0x72c31d16 - DD 0x0c25e2bc,0x0c25e2bc - DD 0x8b493c28,0x8b493c28 - DD 0x41950dff,0x41950dff - DD 0x7101a839,0x7101a839 - DD 0xdeb30c08,0xdeb30c08 - DD 0x9ce4b4d8,0x9ce4b4d8 - DD 0x90c15664,0x90c15664 - DD 0x6184cb7b,0x6184cb7b - DD 0x70b632d5,0x70b632d5 - DD 0x745c6c48,0x745c6c48 - DD 0x4257b8d0,0x4257b8d0 -DB 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38 -DB 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb -DB 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87 -DB 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb -DB 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d -DB 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e -DB 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2 -DB 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25 -DB 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16 -DB 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92 -DB 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda -DB 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84 -DB 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a -DB 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06 -DB 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02 -DB 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b -DB 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea -DB 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73 -DB 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85 -DB 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e -DB 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89 -DB 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b -DB 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20 -DB 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4 -DB 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31 -DB 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f -DB 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d -DB 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef -DB 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0 -DB 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61 -DB 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26 -DB 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d - DD 0x80808080,0x80808080,0xfefefefe,0xfefefefe - DD 0x1b1b1b1b,0x1b1b1b1b,0,0 -DB 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38 -DB 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb -DB 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87 -DB 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb -DB 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d -DB 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e -DB 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2 -DB 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25 -DB 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16 -DB 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92 -DB 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda -DB 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84 -DB 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a -DB 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06 -DB 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02 -DB 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b -DB 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea -DB 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73 -DB 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85 -DB 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e -DB 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89 -DB 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b -DB 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20 -DB 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4 -DB 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31 -DB 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f -DB 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d -DB 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef -DB 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0 -DB 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61 -DB 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26 -DB 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d - DD 0x80808080,0x80808080,0xfefefefe,0xfefefefe - DD 0x1b1b1b1b,0x1b1b1b1b,0,0 -DB 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38 -DB 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb -DB 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87 -DB 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb -DB 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d -DB 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e -DB 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2 -DB 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25 -DB 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16 -DB 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92 -DB 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda -DB 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84 -DB 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a -DB 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06 -DB 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02 -DB 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b -DB 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea -DB 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73 -DB 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85 -DB 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e -DB 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89 -DB 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b -DB 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20 -DB 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4 -DB 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31 -DB 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f -DB 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d -DB 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef -DB 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0 -DB 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61 -DB 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26 -DB 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d - DD 0x80808080,0x80808080,0xfefefefe,0xfefefefe - DD 0x1b1b1b1b,0x1b1b1b1b,0,0 -DB 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38 -DB 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb -DB 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87 -DB 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb -DB 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d -DB 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e -DB 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2 -DB 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25 -DB 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16 -DB 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92 -DB 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda -DB 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84 -DB 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a -DB 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06 -DB 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02 -DB 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b -DB 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea -DB 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73 -DB 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85 -DB 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e -DB 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89 -DB 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b -DB 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20 -DB 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4 -DB 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31 -DB 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f -DB 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d -DB 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef -DB 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0 -DB 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61 -DB 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26 -DB 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d - DD 0x80808080,0x80808080,0xfefefefe,0xfefefefe - DD 0x1b1b1b1b,0x1b1b1b1b,0,0 -DB 65,69,83,32,102,111,114,32,120,56,54,95,54,52,44,32 -DB 67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97 -DB 112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103 -DB 62,0 -ALIGN 64 -EXTERN __imp_RtlVirtualUnwind - -ALIGN 16 -block_se_handler: - push rsi - push rdi - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - pushfq - sub rsp,64 - - mov rax,QWORD[120+r8] - mov rbx,QWORD[248+r8] - - mov rsi,QWORD[8+r9] - mov r11,QWORD[56+r9] - - mov r10d,DWORD[r11] - lea r10,[r10*1+rsi] - cmp rbx,r10 - jb NEAR $L$in_block_prologue - - mov rax,QWORD[152+r8] - - mov r10d,DWORD[4+r11] - lea r10,[r10*1+rsi] - cmp rbx,r10 - jae NEAR $L$in_block_prologue - - mov rax,QWORD[24+rax] - - mov rbx,QWORD[((-8))+rax] - mov rbp,QWORD[((-16))+rax] - mov r12,QWORD[((-24))+rax] - mov r13,QWORD[((-32))+rax] - mov r14,QWORD[((-40))+rax] - mov r15,QWORD[((-48))+rax] - mov QWORD[144+r8],rbx - mov QWORD[160+r8],rbp - mov QWORD[216+r8],r12 - mov QWORD[224+r8],r13 - mov QWORD[232+r8],r14 - mov QWORD[240+r8],r15 - -$L$in_block_prologue: - mov rdi,QWORD[8+rax] - mov rsi,QWORD[16+rax] - mov QWORD[152+r8],rax - mov QWORD[168+r8],rsi - mov QWORD[176+r8],rdi - - jmp NEAR $L$common_seh_exit - - - -ALIGN 16 -key_se_handler: - push rsi - push rdi - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - pushfq - sub rsp,64 - - mov rax,QWORD[120+r8] - mov rbx,QWORD[248+r8] - - mov rsi,QWORD[8+r9] - mov r11,QWORD[56+r9] - - mov r10d,DWORD[r11] - lea r10,[r10*1+rsi] - cmp rbx,r10 - jb NEAR $L$in_key_prologue - - mov rax,QWORD[152+r8] - - mov r10d,DWORD[4+r11] - lea r10,[r10*1+rsi] - cmp rbx,r10 - jae NEAR $L$in_key_prologue - - lea rax,[56+rax] - - mov rbx,QWORD[((-8))+rax] - mov rbp,QWORD[((-16))+rax] - mov r12,QWORD[((-24))+rax] - mov r13,QWORD[((-32))+rax] - mov r14,QWORD[((-40))+rax] - mov r15,QWORD[((-48))+rax] - mov QWORD[144+r8],rbx - mov QWORD[160+r8],rbp - mov QWORD[216+r8],r12 - mov QWORD[224+r8],r13 - mov QWORD[232+r8],r14 - mov QWORD[240+r8],r15 - -$L$in_key_prologue: - mov rdi,QWORD[8+rax] - mov rsi,QWORD[16+rax] - mov QWORD[152+r8],rax - mov QWORD[168+r8],rsi - mov QWORD[176+r8],rdi - - jmp NEAR $L$common_seh_exit - - - -ALIGN 16 -cbc_se_handler: - push rsi - push rdi - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - pushfq - sub rsp,64 - - mov rax,QWORD[120+r8] - mov rbx,QWORD[248+r8] - - lea r10,[$L$cbc_prologue] - cmp rbx,r10 - jb NEAR $L$in_cbc_prologue - - lea r10,[$L$cbc_fast_body] - cmp rbx,r10 - jb NEAR $L$in_cbc_frame_setup - - lea r10,[$L$cbc_slow_prologue] - cmp rbx,r10 - jb NEAR $L$in_cbc_body - - lea r10,[$L$cbc_slow_body] - cmp rbx,r10 - jb NEAR $L$in_cbc_frame_setup - -$L$in_cbc_body: - mov rax,QWORD[152+r8] - - lea r10,[$L$cbc_epilogue] - cmp rbx,r10 - jae NEAR $L$in_cbc_prologue - - lea rax,[8+rax] - - lea r10,[$L$cbc_popfq] - cmp rbx,r10 - jae NEAR $L$in_cbc_prologue - - mov rax,QWORD[8+rax] - lea rax,[56+rax] - -$L$in_cbc_frame_setup: - mov rbx,QWORD[((-16))+rax] - mov rbp,QWORD[((-24))+rax] - mov r12,QWORD[((-32))+rax] - mov r13,QWORD[((-40))+rax] - mov r14,QWORD[((-48))+rax] - mov r15,QWORD[((-56))+rax] - mov QWORD[144+r8],rbx - mov QWORD[160+r8],rbp - mov QWORD[216+r8],r12 - mov QWORD[224+r8],r13 - mov QWORD[232+r8],r14 - mov QWORD[240+r8],r15 - -$L$in_cbc_prologue: - mov rdi,QWORD[8+rax] - mov rsi,QWORD[16+rax] - mov QWORD[152+r8],rax - mov QWORD[168+r8],rsi - mov QWORD[176+r8],rdi - -$L$common_seh_exit: - - mov rdi,QWORD[40+r9] - mov rsi,r8 - mov ecx,154 - DD 0xa548f3fc - - mov rsi,r9 - xor rcx,rcx - mov rdx,QWORD[8+rsi] - mov r8,QWORD[rsi] - mov r9,QWORD[16+rsi] - mov r10,QWORD[40+rsi] - lea r11,[56+rsi] - lea r12,[24+rsi] - mov QWORD[32+rsp],r10 - mov QWORD[40+rsp],r11 - mov QWORD[48+rsp],r12 - mov QWORD[56+rsp],rcx - call QWORD[__imp_RtlVirtualUnwind] - - mov eax,1 - add rsp,64 - popfq - pop r15 - pop r14 - pop r13 - pop r12 - pop rbp - pop rbx - pop rdi - pop rsi - DB 0F3h,0C3h ;repret - - -section .pdata rdata align=4 -ALIGN 4 - DD $L$SEH_begin_aes_nohw_encrypt wrt ..imagebase - DD $L$SEH_end_aes_nohw_encrypt wrt ..imagebase - DD $L$SEH_info_aes_nohw_encrypt wrt ..imagebase - - DD $L$SEH_begin_aes_nohw_decrypt wrt ..imagebase - DD $L$SEH_end_aes_nohw_decrypt wrt ..imagebase - DD $L$SEH_info_aes_nohw_decrypt wrt ..imagebase - - DD $L$SEH_begin_aes_nohw_set_encrypt_key wrt ..imagebase - DD $L$SEH_end_aes_nohw_set_encrypt_key wrt ..imagebase - DD $L$SEH_info_aes_nohw_set_encrypt_key wrt ..imagebase - - DD $L$SEH_begin_aes_nohw_set_decrypt_key wrt ..imagebase - DD $L$SEH_end_aes_nohw_set_decrypt_key wrt ..imagebase - DD $L$SEH_info_aes_nohw_set_decrypt_key wrt ..imagebase - - DD $L$SEH_begin_aes_nohw_cbc_encrypt wrt ..imagebase - DD $L$SEH_end_aes_nohw_cbc_encrypt wrt ..imagebase - DD $L$SEH_info_aes_nohw_cbc_encrypt wrt ..imagebase - -section .xdata rdata align=8 -ALIGN 8 -$L$SEH_info_aes_nohw_encrypt: -DB 9,0,0,0 - DD block_se_handler wrt ..imagebase - DD $L$enc_prologue wrt ..imagebase,$L$enc_epilogue wrt ..imagebase -$L$SEH_info_aes_nohw_decrypt: -DB 9,0,0,0 - DD block_se_handler wrt ..imagebase - DD $L$dec_prologue wrt ..imagebase,$L$dec_epilogue wrt ..imagebase -$L$SEH_info_aes_nohw_set_encrypt_key: -DB 9,0,0,0 - DD key_se_handler wrt ..imagebase - DD $L$enc_key_prologue wrt ..imagebase,$L$enc_key_epilogue wrt ..imagebase -$L$SEH_info_aes_nohw_set_decrypt_key: -DB 9,0,0,0 - DD key_se_handler wrt ..imagebase - DD $L$dec_key_prologue wrt ..imagebase,$L$dec_key_epilogue wrt ..imagebase -$L$SEH_info_aes_nohw_cbc_encrypt: -DB 9,0,0,0 - DD cbc_se_handler wrt ..imagebase diff --git a/contrib/boringssl-cmake/win-x86_64/crypto/fipsmodule/aesni-gcm-x86_64.asm b/contrib/boringssl-cmake/win-x86_64/crypto/fipsmodule/aesni-gcm-x86_64.asm index b512516a05d..2b51a26849e 100644 --- a/contrib/boringssl-cmake/win-x86_64/crypto/fipsmodule/aesni-gcm-x86_64.asm +++ b/contrib/boringssl-cmake/win-x86_64/crypto/fipsmodule/aesni-gcm-x86_64.asm @@ -601,11 +601,9 @@ $L$SEH_begin_aesni_gcm_encrypt: -%ifndef NDEBUG -%ifndef BORINGSSL_FIPS +%ifdef BORINGSSL_DISPATCH_TEST EXTERN BORINGSSL_function_hit mov BYTE[((BORINGSSL_function_hit+2))],1 -%endif %endif xor r10,r10 diff --git a/contrib/boringssl-cmake/win-x86_64/crypto/fipsmodule/aesni-x86_64.asm b/contrib/boringssl-cmake/win-x86_64/crypto/fipsmodule/aesni-x86_64.asm index 874596d7ea4..342c1523eea 100644 --- a/contrib/boringssl-cmake/win-x86_64/crypto/fipsmodule/aesni-x86_64.asm +++ b/contrib/boringssl-cmake/win-x86_64/crypto/fipsmodule/aesni-x86_64.asm @@ -17,11 +17,9 @@ global aes_hw_encrypt ALIGN 16 aes_hw_encrypt: -%ifndef NDEBUG -%ifndef BORINGSSL_FIPS +%ifdef BORINGSSL_DISPATCH_TEST EXTERN BORINGSSL_function_hit mov BYTE[((BORINGSSL_function_hit+1))],1 -%endif %endif movups xmm2,XMMWORD[rcx] mov eax,DWORD[240+r8] @@ -920,10 +918,8 @@ $L$SEH_begin_aes_hw_ctr32_encrypt_blocks: -%ifndef NDEBUG -%ifndef BORINGSSL_FIPS +%ifdef BORINGSSL_DISPATCH_TEST mov BYTE[BORINGSSL_function_hit],1 -%endif %endif cmp rdx,1 jne NEAR $L$ctr32_bulk @@ -2205,11 +2201,9 @@ ALIGN 16 aes_hw_set_encrypt_key: __aesni_set_encrypt_key: -%ifndef NDEBUG -%ifndef BORINGSSL_FIPS +%ifdef BORINGSSL_DISPATCH_TEST mov BYTE[((BORINGSSL_function_hit+3))],1 %endif -%endif DB 0x48,0x83,0xEC,0x08 mov rax,-1 diff --git a/contrib/boringssl-cmake/win-x86_64/crypto/fipsmodule/ghash-x86_64.asm b/contrib/boringssl-cmake/win-x86_64/crypto/fipsmodule/ghash-x86_64.asm index fdf914f2842..194ea8df89b 100644 --- a/contrib/boringssl-cmake/win-x86_64/crypto/fipsmodule/ghash-x86_64.asm +++ b/contrib/boringssl-cmake/win-x86_64/crypto/fipsmodule/ghash-x86_64.asm @@ -12,717 +12,6 @@ default rel section .text code align=64 EXTERN OPENSSL_ia32cap_P - -global gcm_gmult_4bit - -ALIGN 16 -gcm_gmult_4bit: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_gcm_gmult_4bit: - mov rdi,rcx - mov rsi,rdx - - - - push rbx - - push rbp - - push r12 - - push r13 - - push r14 - - push r15 - - sub rsp,280 - -$L$gmult_prologue: - - movzx r8,BYTE[15+rdi] - lea r11,[$L$rem_4bit] - xor rax,rax - xor rbx,rbx - mov al,r8b - mov bl,r8b - shl al,4 - mov rcx,14 - mov r8,QWORD[8+rax*1+rsi] - mov r9,QWORD[rax*1+rsi] - and bl,0xf0 - mov rdx,r8 - jmp NEAR $L$oop1 - -ALIGN 16 -$L$oop1: - shr r8,4 - and rdx,0xf - mov r10,r9 - mov al,BYTE[rcx*1+rdi] - shr r9,4 - xor r8,QWORD[8+rbx*1+rsi] - shl r10,60 - xor r9,QWORD[rbx*1+rsi] - mov bl,al - xor r9,QWORD[rdx*8+r11] - mov rdx,r8 - shl al,4 - xor r8,r10 - dec rcx - js NEAR $L$break1 - - shr r8,4 - and rdx,0xf - mov r10,r9 - shr r9,4 - xor r8,QWORD[8+rax*1+rsi] - shl r10,60 - xor r9,QWORD[rax*1+rsi] - and bl,0xf0 - xor r9,QWORD[rdx*8+r11] - mov rdx,r8 - xor r8,r10 - jmp NEAR $L$oop1 - -ALIGN 16 -$L$break1: - shr r8,4 - and rdx,0xf - mov r10,r9 - shr r9,4 - xor r8,QWORD[8+rax*1+rsi] - shl r10,60 - xor r9,QWORD[rax*1+rsi] - and bl,0xf0 - xor r9,QWORD[rdx*8+r11] - mov rdx,r8 - xor r8,r10 - - shr r8,4 - and rdx,0xf - mov r10,r9 - shr r9,4 - xor r8,QWORD[8+rbx*1+rsi] - shl r10,60 - xor r9,QWORD[rbx*1+rsi] - xor r8,r10 - xor r9,QWORD[rdx*8+r11] - - bswap r8 - bswap r9 - mov QWORD[8+rdi],r8 - mov QWORD[rdi],r9 - - lea rsi,[((280+48))+rsp] - - mov rbx,QWORD[((-8))+rsi] - - lea rsp,[rsi] - -$L$gmult_epilogue: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret - -$L$SEH_end_gcm_gmult_4bit: -global gcm_ghash_4bit - -ALIGN 16 -gcm_ghash_4bit: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_gcm_ghash_4bit: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - mov rcx,r9 - - - - push rbx - - push rbp - - push r12 - - push r13 - - push r14 - - push r15 - - sub rsp,280 - -$L$ghash_prologue: - mov r14,rdx - mov r15,rcx - sub rsi,-128 - lea rbp,[((16+128))+rsp] - xor edx,edx - mov r8,QWORD[((0+0-128))+rsi] - mov rax,QWORD[((0+8-128))+rsi] - mov dl,al - shr rax,4 - mov r10,r8 - shr r8,4 - mov r9,QWORD[((16+0-128))+rsi] - shl dl,4 - mov rbx,QWORD[((16+8-128))+rsi] - shl r10,60 - mov BYTE[rsp],dl - or rax,r10 - mov dl,bl - shr rbx,4 - mov r10,r9 - shr r9,4 - mov QWORD[rbp],r8 - mov r8,QWORD[((32+0-128))+rsi] - shl dl,4 - mov QWORD[((0-128))+rbp],rax - mov rax,QWORD[((32+8-128))+rsi] - shl r10,60 - mov BYTE[1+rsp],dl - or rbx,r10 - mov dl,al - shr rax,4 - mov r10,r8 - shr r8,4 - mov QWORD[8+rbp],r9 - mov r9,QWORD[((48+0-128))+rsi] - shl dl,4 - mov QWORD[((8-128))+rbp],rbx - mov rbx,QWORD[((48+8-128))+rsi] - shl r10,60 - mov BYTE[2+rsp],dl - or rax,r10 - mov dl,bl - shr rbx,4 - mov r10,r9 - shr r9,4 - mov QWORD[16+rbp],r8 - mov r8,QWORD[((64+0-128))+rsi] - shl dl,4 - mov QWORD[((16-128))+rbp],rax - mov rax,QWORD[((64+8-128))+rsi] - shl r10,60 - mov BYTE[3+rsp],dl - or rbx,r10 - mov dl,al - shr rax,4 - mov r10,r8 - shr r8,4 - mov QWORD[24+rbp],r9 - mov r9,QWORD[((80+0-128))+rsi] - shl dl,4 - mov QWORD[((24-128))+rbp],rbx - mov rbx,QWORD[((80+8-128))+rsi] - shl r10,60 - mov BYTE[4+rsp],dl - or rax,r10 - mov dl,bl - shr rbx,4 - mov r10,r9 - shr r9,4 - mov QWORD[32+rbp],r8 - mov r8,QWORD[((96+0-128))+rsi] - shl dl,4 - mov QWORD[((32-128))+rbp],rax - mov rax,QWORD[((96+8-128))+rsi] - shl r10,60 - mov BYTE[5+rsp],dl - or rbx,r10 - mov dl,al - shr rax,4 - mov r10,r8 - shr r8,4 - mov QWORD[40+rbp],r9 - mov r9,QWORD[((112+0-128))+rsi] - shl dl,4 - mov QWORD[((40-128))+rbp],rbx - mov rbx,QWORD[((112+8-128))+rsi] - shl r10,60 - mov BYTE[6+rsp],dl - or rax,r10 - mov dl,bl - shr rbx,4 - mov r10,r9 - shr r9,4 - mov QWORD[48+rbp],r8 - mov r8,QWORD[((128+0-128))+rsi] - shl dl,4 - mov QWORD[((48-128))+rbp],rax - mov rax,QWORD[((128+8-128))+rsi] - shl r10,60 - mov BYTE[7+rsp],dl - or rbx,r10 - mov dl,al - shr rax,4 - mov r10,r8 - shr r8,4 - mov QWORD[56+rbp],r9 - mov r9,QWORD[((144+0-128))+rsi] - shl dl,4 - mov QWORD[((56-128))+rbp],rbx - mov rbx,QWORD[((144+8-128))+rsi] - shl r10,60 - mov BYTE[8+rsp],dl - or rax,r10 - mov dl,bl - shr rbx,4 - mov r10,r9 - shr r9,4 - mov QWORD[64+rbp],r8 - mov r8,QWORD[((160+0-128))+rsi] - shl dl,4 - mov QWORD[((64-128))+rbp],rax - mov rax,QWORD[((160+8-128))+rsi] - shl r10,60 - mov BYTE[9+rsp],dl - or rbx,r10 - mov dl,al - shr rax,4 - mov r10,r8 - shr r8,4 - mov QWORD[72+rbp],r9 - mov r9,QWORD[((176+0-128))+rsi] - shl dl,4 - mov QWORD[((72-128))+rbp],rbx - mov rbx,QWORD[((176+8-128))+rsi] - shl r10,60 - mov BYTE[10+rsp],dl - or rax,r10 - mov dl,bl - shr rbx,4 - mov r10,r9 - shr r9,4 - mov QWORD[80+rbp],r8 - mov r8,QWORD[((192+0-128))+rsi] - shl dl,4 - mov QWORD[((80-128))+rbp],rax - mov rax,QWORD[((192+8-128))+rsi] - shl r10,60 - mov BYTE[11+rsp],dl - or rbx,r10 - mov dl,al - shr rax,4 - mov r10,r8 - shr r8,4 - mov QWORD[88+rbp],r9 - mov r9,QWORD[((208+0-128))+rsi] - shl dl,4 - mov QWORD[((88-128))+rbp],rbx - mov rbx,QWORD[((208+8-128))+rsi] - shl r10,60 - mov BYTE[12+rsp],dl - or rax,r10 - mov dl,bl - shr rbx,4 - mov r10,r9 - shr r9,4 - mov QWORD[96+rbp],r8 - mov r8,QWORD[((224+0-128))+rsi] - shl dl,4 - mov QWORD[((96-128))+rbp],rax - mov rax,QWORD[((224+8-128))+rsi] - shl r10,60 - mov BYTE[13+rsp],dl - or rbx,r10 - mov dl,al - shr rax,4 - mov r10,r8 - shr r8,4 - mov QWORD[104+rbp],r9 - mov r9,QWORD[((240+0-128))+rsi] - shl dl,4 - mov QWORD[((104-128))+rbp],rbx - mov rbx,QWORD[((240+8-128))+rsi] - shl r10,60 - mov BYTE[14+rsp],dl - or rax,r10 - mov dl,bl - shr rbx,4 - mov r10,r9 - shr r9,4 - mov QWORD[112+rbp],r8 - shl dl,4 - mov QWORD[((112-128))+rbp],rax - shl r10,60 - mov BYTE[15+rsp],dl - or rbx,r10 - mov QWORD[120+rbp],r9 - mov QWORD[((120-128))+rbp],rbx - add rsi,-128 - mov r8,QWORD[8+rdi] - mov r9,QWORD[rdi] - add r15,r14 - lea r11,[$L$rem_8bit] - jmp NEAR $L$outer_loop -ALIGN 16 -$L$outer_loop: - xor r9,QWORD[r14] - mov rdx,QWORD[8+r14] - lea r14,[16+r14] - xor rdx,r8 - mov QWORD[rdi],r9 - mov QWORD[8+rdi],rdx - shr rdx,32 - xor rax,rax - rol edx,8 - mov al,dl - movzx ebx,dl - shl al,4 - shr ebx,4 - rol edx,8 - mov r8,QWORD[8+rax*1+rsi] - mov r9,QWORD[rax*1+rsi] - mov al,dl - movzx ecx,dl - shl al,4 - movzx r12,BYTE[rbx*1+rsp] - shr ecx,4 - xor r12,r8 - mov r10,r9 - shr r8,8 - movzx r12,r12b - shr r9,8 - xor r8,QWORD[((-128))+rbx*8+rbp] - shl r10,56 - xor r9,QWORD[rbx*8+rbp] - rol edx,8 - xor r8,QWORD[8+rax*1+rsi] - xor r9,QWORD[rax*1+rsi] - mov al,dl - xor r8,r10 - movzx r12,WORD[r12*2+r11] - movzx ebx,dl - shl al,4 - movzx r13,BYTE[rcx*1+rsp] - shr ebx,4 - shl r12,48 - xor r13,r8 - mov r10,r9 - xor r9,r12 - shr r8,8 - movzx r13,r13b - shr r9,8 - xor r8,QWORD[((-128))+rcx*8+rbp] - shl r10,56 - xor r9,QWORD[rcx*8+rbp] - rol edx,8 - xor r8,QWORD[8+rax*1+rsi] - xor r9,QWORD[rax*1+rsi] - mov al,dl - xor r8,r10 - movzx r13,WORD[r13*2+r11] - movzx ecx,dl - shl al,4 - movzx r12,BYTE[rbx*1+rsp] - shr ecx,4 - shl r13,48 - xor r12,r8 - mov r10,r9 - xor r9,r13 - shr r8,8 - movzx r12,r12b - mov edx,DWORD[8+rdi] - shr r9,8 - xor r8,QWORD[((-128))+rbx*8+rbp] - shl r10,56 - xor r9,QWORD[rbx*8+rbp] - rol edx,8 - xor r8,QWORD[8+rax*1+rsi] - xor r9,QWORD[rax*1+rsi] - mov al,dl - xor r8,r10 - movzx r12,WORD[r12*2+r11] - movzx ebx,dl - shl al,4 - movzx r13,BYTE[rcx*1+rsp] - shr ebx,4 - shl r12,48 - xor r13,r8 - mov r10,r9 - xor r9,r12 - shr r8,8 - movzx r13,r13b - shr r9,8 - xor r8,QWORD[((-128))+rcx*8+rbp] - shl r10,56 - xor r9,QWORD[rcx*8+rbp] - rol edx,8 - xor r8,QWORD[8+rax*1+rsi] - xor r9,QWORD[rax*1+rsi] - mov al,dl - xor r8,r10 - movzx r13,WORD[r13*2+r11] - movzx ecx,dl - shl al,4 - movzx r12,BYTE[rbx*1+rsp] - shr ecx,4 - shl r13,48 - xor r12,r8 - mov r10,r9 - xor r9,r13 - shr r8,8 - movzx r12,r12b - shr r9,8 - xor r8,QWORD[((-128))+rbx*8+rbp] - shl r10,56 - xor r9,QWORD[rbx*8+rbp] - rol edx,8 - xor r8,QWORD[8+rax*1+rsi] - xor r9,QWORD[rax*1+rsi] - mov al,dl - xor r8,r10 - movzx r12,WORD[r12*2+r11] - movzx ebx,dl - shl al,4 - movzx r13,BYTE[rcx*1+rsp] - shr ebx,4 - shl r12,48 - xor r13,r8 - mov r10,r9 - xor r9,r12 - shr r8,8 - movzx r13,r13b - shr r9,8 - xor r8,QWORD[((-128))+rcx*8+rbp] - shl r10,56 - xor r9,QWORD[rcx*8+rbp] - rol edx,8 - xor r8,QWORD[8+rax*1+rsi] - xor r9,QWORD[rax*1+rsi] - mov al,dl - xor r8,r10 - movzx r13,WORD[r13*2+r11] - movzx ecx,dl - shl al,4 - movzx r12,BYTE[rbx*1+rsp] - shr ecx,4 - shl r13,48 - xor r12,r8 - mov r10,r9 - xor r9,r13 - shr r8,8 - movzx r12,r12b - mov edx,DWORD[4+rdi] - shr r9,8 - xor r8,QWORD[((-128))+rbx*8+rbp] - shl r10,56 - xor r9,QWORD[rbx*8+rbp] - rol edx,8 - xor r8,QWORD[8+rax*1+rsi] - xor r9,QWORD[rax*1+rsi] - mov al,dl - xor r8,r10 - movzx r12,WORD[r12*2+r11] - movzx ebx,dl - shl al,4 - movzx r13,BYTE[rcx*1+rsp] - shr ebx,4 - shl r12,48 - xor r13,r8 - mov r10,r9 - xor r9,r12 - shr r8,8 - movzx r13,r13b - shr r9,8 - xor r8,QWORD[((-128))+rcx*8+rbp] - shl r10,56 - xor r9,QWORD[rcx*8+rbp] - rol edx,8 - xor r8,QWORD[8+rax*1+rsi] - xor r9,QWORD[rax*1+rsi] - mov al,dl - xor r8,r10 - movzx r13,WORD[r13*2+r11] - movzx ecx,dl - shl al,4 - movzx r12,BYTE[rbx*1+rsp] - shr ecx,4 - shl r13,48 - xor r12,r8 - mov r10,r9 - xor r9,r13 - shr r8,8 - movzx r12,r12b - shr r9,8 - xor r8,QWORD[((-128))+rbx*8+rbp] - shl r10,56 - xor r9,QWORD[rbx*8+rbp] - rol edx,8 - xor r8,QWORD[8+rax*1+rsi] - xor r9,QWORD[rax*1+rsi] - mov al,dl - xor r8,r10 - movzx r12,WORD[r12*2+r11] - movzx ebx,dl - shl al,4 - movzx r13,BYTE[rcx*1+rsp] - shr ebx,4 - shl r12,48 - xor r13,r8 - mov r10,r9 - xor r9,r12 - shr r8,8 - movzx r13,r13b - shr r9,8 - xor r8,QWORD[((-128))+rcx*8+rbp] - shl r10,56 - xor r9,QWORD[rcx*8+rbp] - rol edx,8 - xor r8,QWORD[8+rax*1+rsi] - xor r9,QWORD[rax*1+rsi] - mov al,dl - xor r8,r10 - movzx r13,WORD[r13*2+r11] - movzx ecx,dl - shl al,4 - movzx r12,BYTE[rbx*1+rsp] - shr ecx,4 - shl r13,48 - xor r12,r8 - mov r10,r9 - xor r9,r13 - shr r8,8 - movzx r12,r12b - mov edx,DWORD[rdi] - shr r9,8 - xor r8,QWORD[((-128))+rbx*8+rbp] - shl r10,56 - xor r9,QWORD[rbx*8+rbp] - rol edx,8 - xor r8,QWORD[8+rax*1+rsi] - xor r9,QWORD[rax*1+rsi] - mov al,dl - xor r8,r10 - movzx r12,WORD[r12*2+r11] - movzx ebx,dl - shl al,4 - movzx r13,BYTE[rcx*1+rsp] - shr ebx,4 - shl r12,48 - xor r13,r8 - mov r10,r9 - xor r9,r12 - shr r8,8 - movzx r13,r13b - shr r9,8 - xor r8,QWORD[((-128))+rcx*8+rbp] - shl r10,56 - xor r9,QWORD[rcx*8+rbp] - rol edx,8 - xor r8,QWORD[8+rax*1+rsi] - xor r9,QWORD[rax*1+rsi] - mov al,dl - xor r8,r10 - movzx r13,WORD[r13*2+r11] - movzx ecx,dl - shl al,4 - movzx r12,BYTE[rbx*1+rsp] - shr ecx,4 - shl r13,48 - xor r12,r8 - mov r10,r9 - xor r9,r13 - shr r8,8 - movzx r12,r12b - shr r9,8 - xor r8,QWORD[((-128))+rbx*8+rbp] - shl r10,56 - xor r9,QWORD[rbx*8+rbp] - rol edx,8 - xor r8,QWORD[8+rax*1+rsi] - xor r9,QWORD[rax*1+rsi] - mov al,dl - xor r8,r10 - movzx r12,WORD[r12*2+r11] - movzx ebx,dl - shl al,4 - movzx r13,BYTE[rcx*1+rsp] - shr ebx,4 - shl r12,48 - xor r13,r8 - mov r10,r9 - xor r9,r12 - shr r8,8 - movzx r13,r13b - shr r9,8 - xor r8,QWORD[((-128))+rcx*8+rbp] - shl r10,56 - xor r9,QWORD[rcx*8+rbp] - rol edx,8 - xor r8,QWORD[8+rax*1+rsi] - xor r9,QWORD[rax*1+rsi] - mov al,dl - xor r8,r10 - movzx r13,WORD[r13*2+r11] - movzx ecx,dl - shl al,4 - movzx r12,BYTE[rbx*1+rsp] - and ecx,240 - shl r13,48 - xor r12,r8 - mov r10,r9 - xor r9,r13 - shr r8,8 - movzx r12,r12b - mov edx,DWORD[((-4))+rdi] - shr r9,8 - xor r8,QWORD[((-128))+rbx*8+rbp] - shl r10,56 - xor r9,QWORD[rbx*8+rbp] - movzx r12,WORD[r12*2+r11] - xor r8,QWORD[8+rax*1+rsi] - xor r9,QWORD[rax*1+rsi] - shl r12,48 - xor r8,r10 - xor r9,r12 - movzx r13,r8b - shr r8,4 - mov r10,r9 - shl r13b,4 - shr r9,4 - xor r8,QWORD[8+rcx*1+rsi] - movzx r13,WORD[r13*2+r11] - shl r10,60 - xor r9,QWORD[rcx*1+rsi] - xor r8,r10 - shl r13,48 - bswap r8 - xor r9,r13 - bswap r9 - cmp r14,r15 - jb NEAR $L$outer_loop - mov QWORD[8+rdi],r8 - mov QWORD[rdi],r9 - - lea rsi,[((280+48))+rsp] - - mov r15,QWORD[((-48))+rsi] - - mov r14,QWORD[((-40))+rsi] - - mov r13,QWORD[((-32))+rsi] - - mov r12,QWORD[((-24))+rsi] - - mov rbp,QWORD[((-16))+rsi] - - mov rbx,QWORD[((-8))+rsi] - - lea rsp,[rsi] - -$L$ghash_epilogue: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret - -$L$SEH_end_gcm_ghash_4bit: global gcm_init_clmul ALIGN 16 @@ -1888,153 +1177,15 @@ $L$0x1c2_polynomial: DB 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0xc2 $L$7_mask: DD 7,0,7,0 -$L$7_mask_poly: - DD 7,0,450,0 ALIGN 64 -$L$rem_4bit: - DD 0,0,0,471859200,0,943718400,0,610271232 - DD 0,1887436800,0,1822425088,0,1220542464,0,1423966208 - DD 0,3774873600,0,4246732800,0,3644850176,0,3311403008 - DD 0,2441084928,0,2376073216,0,2847932416,0,3051356160 - -$L$rem_8bit: - DW 0x0000,0x01C2,0x0384,0x0246,0x0708,0x06CA,0x048C,0x054E - DW 0x0E10,0x0FD2,0x0D94,0x0C56,0x0918,0x08DA,0x0A9C,0x0B5E - DW 0x1C20,0x1DE2,0x1FA4,0x1E66,0x1B28,0x1AEA,0x18AC,0x196E - DW 0x1230,0x13F2,0x11B4,0x1076,0x1538,0x14FA,0x16BC,0x177E - DW 0x3840,0x3982,0x3BC4,0x3A06,0x3F48,0x3E8A,0x3CCC,0x3D0E - DW 0x3650,0x3792,0x35D4,0x3416,0x3158,0x309A,0x32DC,0x331E - DW 0x2460,0x25A2,0x27E4,0x2626,0x2368,0x22AA,0x20EC,0x212E - DW 0x2A70,0x2BB2,0x29F4,0x2836,0x2D78,0x2CBA,0x2EFC,0x2F3E - DW 0x7080,0x7142,0x7304,0x72C6,0x7788,0x764A,0x740C,0x75CE - DW 0x7E90,0x7F52,0x7D14,0x7CD6,0x7998,0x785A,0x7A1C,0x7BDE - DW 0x6CA0,0x6D62,0x6F24,0x6EE6,0x6BA8,0x6A6A,0x682C,0x69EE - DW 0x62B0,0x6372,0x6134,0x60F6,0x65B8,0x647A,0x663C,0x67FE - DW 0x48C0,0x4902,0x4B44,0x4A86,0x4FC8,0x4E0A,0x4C4C,0x4D8E - DW 0x46D0,0x4712,0x4554,0x4496,0x41D8,0x401A,0x425C,0x439E - DW 0x54E0,0x5522,0x5764,0x56A6,0x53E8,0x522A,0x506C,0x51AE - DW 0x5AF0,0x5B32,0x5974,0x58B6,0x5DF8,0x5C3A,0x5E7C,0x5FBE - DW 0xE100,0xE0C2,0xE284,0xE346,0xE608,0xE7CA,0xE58C,0xE44E - DW 0xEF10,0xEED2,0xEC94,0xED56,0xE818,0xE9DA,0xEB9C,0xEA5E - DW 0xFD20,0xFCE2,0xFEA4,0xFF66,0xFA28,0xFBEA,0xF9AC,0xF86E - DW 0xF330,0xF2F2,0xF0B4,0xF176,0xF438,0xF5FA,0xF7BC,0xF67E - DW 0xD940,0xD882,0xDAC4,0xDB06,0xDE48,0xDF8A,0xDDCC,0xDC0E - DW 0xD750,0xD692,0xD4D4,0xD516,0xD058,0xD19A,0xD3DC,0xD21E - DW 0xC560,0xC4A2,0xC6E4,0xC726,0xC268,0xC3AA,0xC1EC,0xC02E - DW 0xCB70,0xCAB2,0xC8F4,0xC936,0xCC78,0xCDBA,0xCFFC,0xCE3E - DW 0x9180,0x9042,0x9204,0x93C6,0x9688,0x974A,0x950C,0x94CE - DW 0x9F90,0x9E52,0x9C14,0x9DD6,0x9898,0x995A,0x9B1C,0x9ADE - DW 0x8DA0,0x8C62,0x8E24,0x8FE6,0x8AA8,0x8B6A,0x892C,0x88EE - DW 0x83B0,0x8272,0x8034,0x81F6,0x84B8,0x857A,0x873C,0x86FE - DW 0xA9C0,0xA802,0xAA44,0xAB86,0xAEC8,0xAF0A,0xAD4C,0xAC8E - DW 0xA7D0,0xA612,0xA454,0xA596,0xA0D8,0xA11A,0xA35C,0xA29E - DW 0xB5E0,0xB422,0xB664,0xB7A6,0xB2E8,0xB32A,0xB16C,0xB0AE - DW 0xBBF0,0xBA32,0xB874,0xB9B6,0xBCF8,0xBD3A,0xBF7C,0xBEBE - DB 71,72,65,83,72,32,102,111,114,32,120,56,54,95,54,52 DB 44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32 DB 60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111 DB 114,103,62,0 ALIGN 64 -EXTERN __imp_RtlVirtualUnwind - -ALIGN 16 -se_handler: - push rsi - push rdi - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - pushfq - sub rsp,64 - - mov rax,QWORD[120+r8] - mov rbx,QWORD[248+r8] - - mov rsi,QWORD[8+r9] - mov r11,QWORD[56+r9] - - mov r10d,DWORD[r11] - lea r10,[r10*1+rsi] - cmp rbx,r10 - jb NEAR $L$in_prologue - - mov rax,QWORD[152+r8] - - mov r10d,DWORD[4+r11] - lea r10,[r10*1+rsi] - cmp rbx,r10 - jae NEAR $L$in_prologue - - lea rax,[((48+280))+rax] - - mov rbx,QWORD[((-8))+rax] - mov rbp,QWORD[((-16))+rax] - mov r12,QWORD[((-24))+rax] - mov r13,QWORD[((-32))+rax] - mov r14,QWORD[((-40))+rax] - mov r15,QWORD[((-48))+rax] - mov QWORD[144+r8],rbx - mov QWORD[160+r8],rbp - mov QWORD[216+r8],r12 - mov QWORD[224+r8],r13 - mov QWORD[232+r8],r14 - mov QWORD[240+r8],r15 - -$L$in_prologue: - mov rdi,QWORD[8+rax] - mov rsi,QWORD[16+rax] - mov QWORD[152+r8],rax - mov QWORD[168+r8],rsi - mov QWORD[176+r8],rdi - - mov rdi,QWORD[40+r9] - mov rsi,r8 - mov ecx,154 - DD 0xa548f3fc - - mov rsi,r9 - xor rcx,rcx - mov rdx,QWORD[8+rsi] - mov r8,QWORD[rsi] - mov r9,QWORD[16+rsi] - mov r10,QWORD[40+rsi] - lea r11,[56+rsi] - lea r12,[24+rsi] - mov QWORD[32+rsp],r10 - mov QWORD[40+rsp],r11 - mov QWORD[48+rsp],r12 - mov QWORD[56+rsp],rcx - call QWORD[__imp_RtlVirtualUnwind] - - mov eax,1 - add rsp,64 - popfq - pop r15 - pop r14 - pop r13 - pop r12 - pop rbp - pop rbx - pop rdi - pop rsi - DB 0F3h,0C3h ;repret - - section .pdata rdata align=4 ALIGN 4 - DD $L$SEH_begin_gcm_gmult_4bit wrt ..imagebase - DD $L$SEH_end_gcm_gmult_4bit wrt ..imagebase - DD $L$SEH_info_gcm_gmult_4bit wrt ..imagebase - - DD $L$SEH_begin_gcm_ghash_4bit wrt ..imagebase - DD $L$SEH_end_gcm_ghash_4bit wrt ..imagebase - DD $L$SEH_info_gcm_ghash_4bit wrt ..imagebase - DD $L$SEH_begin_gcm_init_clmul wrt ..imagebase DD $L$SEH_end_gcm_init_clmul wrt ..imagebase DD $L$SEH_info_gcm_init_clmul wrt ..imagebase @@ -2051,14 +1202,6 @@ ALIGN 4 DD $L$SEH_info_gcm_ghash_clmul wrt ..imagebase section .xdata rdata align=8 ALIGN 8 -$L$SEH_info_gcm_gmult_4bit: -DB 9,0,0,0 - DD se_handler wrt ..imagebase - DD $L$gmult_prologue wrt ..imagebase,$L$gmult_epilogue wrt ..imagebase -$L$SEH_info_gcm_ghash_4bit: -DB 9,0,0,0 - DD se_handler wrt ..imagebase - DD $L$ghash_prologue wrt ..imagebase,$L$ghash_epilogue wrt ..imagebase $L$SEH_info_gcm_init_clmul: DB 0x01,0x08,0x03,0x00 DB 0x08,0x68,0x00,0x00 diff --git a/contrib/boringssl-cmake/win-x86_64/crypto/fipsmodule/sha1-x86_64.asm b/contrib/boringssl-cmake/win-x86_64/crypto/fipsmodule/sha1-x86_64.asm index 62dcc62c255..1654df1d369 100644 --- a/contrib/boringssl-cmake/win-x86_64/crypto/fipsmodule/sha1-x86_64.asm +++ b/contrib/boringssl-cmake/win-x86_64/crypto/fipsmodule/sha1-x86_64.asm @@ -33,6 +33,11 @@ $L$SEH_begin_sha1_block_data_order: mov r10d,DWORD[8+r10] test r8d,512 jz NEAR $L$ialu + test r10d,536870912 + jnz NEAR _shaext_shortcut + and r10d,296 + cmp r10d,296 + je NEAR _avx2_shortcut and r8d,268435456 and r9d,1073741824 or r8d,r9d @@ -1275,6 +1280,198 @@ $L$epilogue: $L$SEH_end_sha1_block_data_order: +ALIGN 32 +sha1_block_data_order_shaext: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_sha1_block_data_order_shaext: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + + +_shaext_shortcut: + + lea rsp,[((-72))+rsp] + movaps XMMWORD[(-8-64)+rax],xmm6 + movaps XMMWORD[(-8-48)+rax],xmm7 + movaps XMMWORD[(-8-32)+rax],xmm8 + movaps XMMWORD[(-8-16)+rax],xmm9 +$L$prologue_shaext: + movdqu xmm0,XMMWORD[rdi] + movd xmm1,DWORD[16+rdi] + movdqa xmm3,XMMWORD[((K_XX_XX+160))] + + movdqu xmm4,XMMWORD[rsi] + pshufd xmm0,xmm0,27 + movdqu xmm5,XMMWORD[16+rsi] + pshufd xmm1,xmm1,27 + movdqu xmm6,XMMWORD[32+rsi] +DB 102,15,56,0,227 + movdqu xmm7,XMMWORD[48+rsi] +DB 102,15,56,0,235 +DB 102,15,56,0,243 + movdqa xmm9,xmm1 +DB 102,15,56,0,251 + jmp NEAR $L$oop_shaext + +ALIGN 16 +$L$oop_shaext: + dec rdx + lea r8,[64+rsi] + paddd xmm1,xmm4 + cmovne rsi,r8 + movdqa xmm8,xmm0 +DB 15,56,201,229 + movdqa xmm2,xmm0 +DB 15,58,204,193,0 +DB 15,56,200,213 + pxor xmm4,xmm6 +DB 15,56,201,238 +DB 15,56,202,231 + + movdqa xmm1,xmm0 +DB 15,58,204,194,0 +DB 15,56,200,206 + pxor xmm5,xmm7 +DB 15,56,202,236 +DB 15,56,201,247 + movdqa xmm2,xmm0 +DB 15,58,204,193,0 +DB 15,56,200,215 + pxor xmm6,xmm4 +DB 15,56,201,252 +DB 15,56,202,245 + + movdqa xmm1,xmm0 +DB 15,58,204,194,0 +DB 15,56,200,204 + pxor xmm7,xmm5 +DB 15,56,202,254 +DB 15,56,201,229 + movdqa xmm2,xmm0 +DB 15,58,204,193,0 +DB 15,56,200,213 + pxor xmm4,xmm6 +DB 15,56,201,238 +DB 15,56,202,231 + + movdqa xmm1,xmm0 +DB 15,58,204,194,1 +DB 15,56,200,206 + pxor xmm5,xmm7 +DB 15,56,202,236 +DB 15,56,201,247 + movdqa xmm2,xmm0 +DB 15,58,204,193,1 +DB 15,56,200,215 + pxor xmm6,xmm4 +DB 15,56,201,252 +DB 15,56,202,245 + + movdqa xmm1,xmm0 +DB 15,58,204,194,1 +DB 15,56,200,204 + pxor xmm7,xmm5 +DB 15,56,202,254 +DB 15,56,201,229 + movdqa xmm2,xmm0 +DB 15,58,204,193,1 +DB 15,56,200,213 + pxor xmm4,xmm6 +DB 15,56,201,238 +DB 15,56,202,231 + + movdqa xmm1,xmm0 +DB 15,58,204,194,1 +DB 15,56,200,206 + pxor xmm5,xmm7 +DB 15,56,202,236 +DB 15,56,201,247 + movdqa xmm2,xmm0 +DB 15,58,204,193,2 +DB 15,56,200,215 + pxor xmm6,xmm4 +DB 15,56,201,252 +DB 15,56,202,245 + + movdqa xmm1,xmm0 +DB 15,58,204,194,2 +DB 15,56,200,204 + pxor xmm7,xmm5 +DB 15,56,202,254 +DB 15,56,201,229 + movdqa xmm2,xmm0 +DB 15,58,204,193,2 +DB 15,56,200,213 + pxor xmm4,xmm6 +DB 15,56,201,238 +DB 15,56,202,231 + + movdqa xmm1,xmm0 +DB 15,58,204,194,2 +DB 15,56,200,206 + pxor xmm5,xmm7 +DB 15,56,202,236 +DB 15,56,201,247 + movdqa xmm2,xmm0 +DB 15,58,204,193,2 +DB 15,56,200,215 + pxor xmm6,xmm4 +DB 15,56,201,252 +DB 15,56,202,245 + + movdqa xmm1,xmm0 +DB 15,58,204,194,3 +DB 15,56,200,204 + pxor xmm7,xmm5 +DB 15,56,202,254 + movdqu xmm4,XMMWORD[rsi] + movdqa xmm2,xmm0 +DB 15,58,204,193,3 +DB 15,56,200,213 + movdqu xmm5,XMMWORD[16+rsi] +DB 102,15,56,0,227 + + movdqa xmm1,xmm0 +DB 15,58,204,194,3 +DB 15,56,200,206 + movdqu xmm6,XMMWORD[32+rsi] +DB 102,15,56,0,235 + + movdqa xmm2,xmm0 +DB 15,58,204,193,3 +DB 15,56,200,215 + movdqu xmm7,XMMWORD[48+rsi] +DB 102,15,56,0,243 + + movdqa xmm1,xmm0 +DB 15,58,204,194,3 +DB 65,15,56,200,201 +DB 102,15,56,0,251 + + paddd xmm0,xmm8 + movdqa xmm9,xmm1 + + jnz NEAR $L$oop_shaext + + pshufd xmm0,xmm0,27 + pshufd xmm1,xmm1,27 + movdqu XMMWORD[rdi],xmm0 + movd DWORD[16+rdi],xmm1 + movaps xmm6,XMMWORD[((-8-64))+rax] + movaps xmm7,XMMWORD[((-8-48))+rax] + movaps xmm8,XMMWORD[((-8-32))+rax] + movaps xmm9,XMMWORD[((-8-16))+rax] + mov rsp,rax +$L$epilogue_shaext: + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret + +$L$SEH_end_sha1_block_data_order_shaext: + ALIGN 16 sha1_block_data_order_ssse3: mov QWORD[8+rsp],rdi ;WIN64 prologue @@ -3638,6 +3835,1724 @@ $L$epilogue_avx: DB 0F3h,0C3h ;repret $L$SEH_end_sha1_block_data_order_avx: + +ALIGN 16 +sha1_block_data_order_avx2: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_sha1_block_data_order_avx2: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + + +_avx2_shortcut: + + mov r11,rsp + + push rbx + + push rbp + + push r12 + + push r13 + + push r14 + + vzeroupper + lea rsp,[((-96))+rsp] + vmovaps XMMWORD[(-40-96)+r11],xmm6 + vmovaps XMMWORD[(-40-80)+r11],xmm7 + vmovaps XMMWORD[(-40-64)+r11],xmm8 + vmovaps XMMWORD[(-40-48)+r11],xmm9 + vmovaps XMMWORD[(-40-32)+r11],xmm10 + vmovaps XMMWORD[(-40-16)+r11],xmm11 +$L$prologue_avx2: + mov r8,rdi + mov r9,rsi + mov r10,rdx + + lea rsp,[((-640))+rsp] + shl r10,6 + lea r13,[64+r9] + and rsp,-128 + add r10,r9 + lea r14,[((K_XX_XX+64))] + + mov eax,DWORD[r8] + cmp r13,r10 + cmovae r13,r9 + mov ebp,DWORD[4+r8] + mov ecx,DWORD[8+r8] + mov edx,DWORD[12+r8] + mov esi,DWORD[16+r8] + vmovdqu ymm6,YMMWORD[64+r14] + + vmovdqu xmm0,XMMWORD[r9] + vmovdqu xmm1,XMMWORD[16+r9] + vmovdqu xmm2,XMMWORD[32+r9] + vmovdqu xmm3,XMMWORD[48+r9] + lea r9,[64+r9] + vinserti128 ymm0,ymm0,XMMWORD[r13],1 + vinserti128 ymm1,ymm1,XMMWORD[16+r13],1 + vpshufb ymm0,ymm0,ymm6 + vinserti128 ymm2,ymm2,XMMWORD[32+r13],1 + vpshufb ymm1,ymm1,ymm6 + vinserti128 ymm3,ymm3,XMMWORD[48+r13],1 + vpshufb ymm2,ymm2,ymm6 + vmovdqu ymm11,YMMWORD[((-64))+r14] + vpshufb ymm3,ymm3,ymm6 + + vpaddd ymm4,ymm0,ymm11 + vpaddd ymm5,ymm1,ymm11 + vmovdqu YMMWORD[rsp],ymm4 + vpaddd ymm6,ymm2,ymm11 + vmovdqu YMMWORD[32+rsp],ymm5 + vpaddd ymm7,ymm3,ymm11 + vmovdqu YMMWORD[64+rsp],ymm6 + vmovdqu YMMWORD[96+rsp],ymm7 + vpalignr ymm4,ymm1,ymm0,8 + vpsrldq ymm8,ymm3,4 + vpxor ymm4,ymm4,ymm0 + vpxor ymm8,ymm8,ymm2 + vpxor ymm4,ymm4,ymm8 + vpsrld ymm8,ymm4,31 + vpslldq ymm10,ymm4,12 + vpaddd ymm4,ymm4,ymm4 + vpsrld ymm9,ymm10,30 + vpor ymm4,ymm4,ymm8 + vpslld ymm10,ymm10,2 + vpxor ymm4,ymm4,ymm9 + vpxor ymm4,ymm4,ymm10 + vpaddd ymm9,ymm4,ymm11 + vmovdqu YMMWORD[128+rsp],ymm9 + vpalignr ymm5,ymm2,ymm1,8 + vpsrldq ymm8,ymm4,4 + vpxor ymm5,ymm5,ymm1 + vpxor ymm8,ymm8,ymm3 + vpxor ymm5,ymm5,ymm8 + vpsrld ymm8,ymm5,31 + vmovdqu ymm11,YMMWORD[((-32))+r14] + vpslldq ymm10,ymm5,12 + vpaddd ymm5,ymm5,ymm5 + vpsrld ymm9,ymm10,30 + vpor ymm5,ymm5,ymm8 + vpslld ymm10,ymm10,2 + vpxor ymm5,ymm5,ymm9 + vpxor ymm5,ymm5,ymm10 + vpaddd ymm9,ymm5,ymm11 + vmovdqu YMMWORD[160+rsp],ymm9 + vpalignr ymm6,ymm3,ymm2,8 + vpsrldq ymm8,ymm5,4 + vpxor ymm6,ymm6,ymm2 + vpxor ymm8,ymm8,ymm4 + vpxor ymm6,ymm6,ymm8 + vpsrld ymm8,ymm6,31 + vpslldq ymm10,ymm6,12 + vpaddd ymm6,ymm6,ymm6 + vpsrld ymm9,ymm10,30 + vpor ymm6,ymm6,ymm8 + vpslld ymm10,ymm10,2 + vpxor ymm6,ymm6,ymm9 + vpxor ymm6,ymm6,ymm10 + vpaddd ymm9,ymm6,ymm11 + vmovdqu YMMWORD[192+rsp],ymm9 + vpalignr ymm7,ymm4,ymm3,8 + vpsrldq ymm8,ymm6,4 + vpxor ymm7,ymm7,ymm3 + vpxor ymm8,ymm8,ymm5 + vpxor ymm7,ymm7,ymm8 + vpsrld ymm8,ymm7,31 + vpslldq ymm10,ymm7,12 + vpaddd ymm7,ymm7,ymm7 + vpsrld ymm9,ymm10,30 + vpor ymm7,ymm7,ymm8 + vpslld ymm10,ymm10,2 + vpxor ymm7,ymm7,ymm9 + vpxor ymm7,ymm7,ymm10 + vpaddd ymm9,ymm7,ymm11 + vmovdqu YMMWORD[224+rsp],ymm9 + lea r13,[128+rsp] + jmp NEAR $L$oop_avx2 +ALIGN 32 +$L$oop_avx2: + rorx ebx,ebp,2 + andn edi,ebp,edx + and ebp,ecx + xor ebp,edi + jmp NEAR $L$align32_1 +ALIGN 32 +$L$align32_1: + vpalignr ymm8,ymm7,ymm6,8 + vpxor ymm0,ymm0,ymm4 + add esi,DWORD[((-128))+r13] + andn edi,eax,ecx + vpxor ymm0,ymm0,ymm1 + add esi,ebp + rorx r12d,eax,27 + rorx ebp,eax,2 + vpxor ymm0,ymm0,ymm8 + and eax,ebx + add esi,r12d + xor eax,edi + vpsrld ymm8,ymm0,30 + vpslld ymm0,ymm0,2 + add edx,DWORD[((-124))+r13] + andn edi,esi,ebx + add edx,eax + rorx r12d,esi,27 + rorx eax,esi,2 + and esi,ebp + vpor ymm0,ymm0,ymm8 + add edx,r12d + xor esi,edi + add ecx,DWORD[((-120))+r13] + andn edi,edx,ebp + vpaddd ymm9,ymm0,ymm11 + add ecx,esi + rorx r12d,edx,27 + rorx esi,edx,2 + and edx,eax + vmovdqu YMMWORD[256+rsp],ymm9 + add ecx,r12d + xor edx,edi + add ebx,DWORD[((-116))+r13] + andn edi,ecx,eax + add ebx,edx + rorx r12d,ecx,27 + rorx edx,ecx,2 + and ecx,esi + add ebx,r12d + xor ecx,edi + add ebp,DWORD[((-96))+r13] + andn edi,ebx,esi + add ebp,ecx + rorx r12d,ebx,27 + rorx ecx,ebx,2 + and ebx,edx + add ebp,r12d + xor ebx,edi + vpalignr ymm8,ymm0,ymm7,8 + vpxor ymm1,ymm1,ymm5 + add eax,DWORD[((-92))+r13] + andn edi,ebp,edx + vpxor ymm1,ymm1,ymm2 + add eax,ebx + rorx r12d,ebp,27 + rorx ebx,ebp,2 + vpxor ymm1,ymm1,ymm8 + and ebp,ecx + add eax,r12d + xor ebp,edi + vpsrld ymm8,ymm1,30 + vpslld ymm1,ymm1,2 + add esi,DWORD[((-88))+r13] + andn edi,eax,ecx + add esi,ebp + rorx r12d,eax,27 + rorx ebp,eax,2 + and eax,ebx + vpor ymm1,ymm1,ymm8 + add esi,r12d + xor eax,edi + add edx,DWORD[((-84))+r13] + andn edi,esi,ebx + vpaddd ymm9,ymm1,ymm11 + add edx,eax + rorx r12d,esi,27 + rorx eax,esi,2 + and esi,ebp + vmovdqu YMMWORD[288+rsp],ymm9 + add edx,r12d + xor esi,edi + add ecx,DWORD[((-64))+r13] + andn edi,edx,ebp + add ecx,esi + rorx r12d,edx,27 + rorx esi,edx,2 + and edx,eax + add ecx,r12d + xor edx,edi + add ebx,DWORD[((-60))+r13] + andn edi,ecx,eax + add ebx,edx + rorx r12d,ecx,27 + rorx edx,ecx,2 + and ecx,esi + add ebx,r12d + xor ecx,edi + vpalignr ymm8,ymm1,ymm0,8 + vpxor ymm2,ymm2,ymm6 + add ebp,DWORD[((-56))+r13] + andn edi,ebx,esi + vpxor ymm2,ymm2,ymm3 + vmovdqu ymm11,YMMWORD[r14] + add ebp,ecx + rorx r12d,ebx,27 + rorx ecx,ebx,2 + vpxor ymm2,ymm2,ymm8 + and ebx,edx + add ebp,r12d + xor ebx,edi + vpsrld ymm8,ymm2,30 + vpslld ymm2,ymm2,2 + add eax,DWORD[((-52))+r13] + andn edi,ebp,edx + add eax,ebx + rorx r12d,ebp,27 + rorx ebx,ebp,2 + and ebp,ecx + vpor ymm2,ymm2,ymm8 + add eax,r12d + xor ebp,edi + add esi,DWORD[((-32))+r13] + andn edi,eax,ecx + vpaddd ymm9,ymm2,ymm11 + add esi,ebp + rorx r12d,eax,27 + rorx ebp,eax,2 + and eax,ebx + vmovdqu YMMWORD[320+rsp],ymm9 + add esi,r12d + xor eax,edi + add edx,DWORD[((-28))+r13] + andn edi,esi,ebx + add edx,eax + rorx r12d,esi,27 + rorx eax,esi,2 + and esi,ebp + add edx,r12d + xor esi,edi + add ecx,DWORD[((-24))+r13] + andn edi,edx,ebp + add ecx,esi + rorx r12d,edx,27 + rorx esi,edx,2 + and edx,eax + add ecx,r12d + xor edx,edi + vpalignr ymm8,ymm2,ymm1,8 + vpxor ymm3,ymm3,ymm7 + add ebx,DWORD[((-20))+r13] + andn edi,ecx,eax + vpxor ymm3,ymm3,ymm4 + add ebx,edx + rorx r12d,ecx,27 + rorx edx,ecx,2 + vpxor ymm3,ymm3,ymm8 + and ecx,esi + add ebx,r12d + xor ecx,edi + vpsrld ymm8,ymm3,30 + vpslld ymm3,ymm3,2 + add ebp,DWORD[r13] + andn edi,ebx,esi + add ebp,ecx + rorx r12d,ebx,27 + rorx ecx,ebx,2 + and ebx,edx + vpor ymm3,ymm3,ymm8 + add ebp,r12d + xor ebx,edi + add eax,DWORD[4+r13] + andn edi,ebp,edx + vpaddd ymm9,ymm3,ymm11 + add eax,ebx + rorx r12d,ebp,27 + rorx ebx,ebp,2 + and ebp,ecx + vmovdqu YMMWORD[352+rsp],ymm9 + add eax,r12d + xor ebp,edi + add esi,DWORD[8+r13] + andn edi,eax,ecx + add esi,ebp + rorx r12d,eax,27 + rorx ebp,eax,2 + and eax,ebx + add esi,r12d + xor eax,edi + add edx,DWORD[12+r13] + lea edx,[rax*1+rdx] + rorx r12d,esi,27 + rorx eax,esi,2 + xor esi,ebp + add edx,r12d + xor esi,ebx + vpalignr ymm8,ymm3,ymm2,8 + vpxor ymm4,ymm4,ymm0 + add ecx,DWORD[32+r13] + lea ecx,[rsi*1+rcx] + vpxor ymm4,ymm4,ymm5 + rorx r12d,edx,27 + rorx esi,edx,2 + xor edx,eax + vpxor ymm4,ymm4,ymm8 + add ecx,r12d + xor edx,ebp + add ebx,DWORD[36+r13] + vpsrld ymm8,ymm4,30 + vpslld ymm4,ymm4,2 + lea ebx,[rdx*1+rbx] + rorx r12d,ecx,27 + rorx edx,ecx,2 + xor ecx,esi + add ebx,r12d + xor ecx,eax + vpor ymm4,ymm4,ymm8 + add ebp,DWORD[40+r13] + lea ebp,[rbp*1+rcx] + rorx r12d,ebx,27 + rorx ecx,ebx,2 + vpaddd ymm9,ymm4,ymm11 + xor ebx,edx + add ebp,r12d + xor ebx,esi + add eax,DWORD[44+r13] + vmovdqu YMMWORD[384+rsp],ymm9 + lea eax,[rbx*1+rax] + rorx r12d,ebp,27 + rorx ebx,ebp,2 + xor ebp,ecx + add eax,r12d + xor ebp,edx + add esi,DWORD[64+r13] + lea esi,[rbp*1+rsi] + rorx r12d,eax,27 + rorx ebp,eax,2 + xor eax,ebx + add esi,r12d + xor eax,ecx + vpalignr ymm8,ymm4,ymm3,8 + vpxor ymm5,ymm5,ymm1 + add edx,DWORD[68+r13] + lea edx,[rax*1+rdx] + vpxor ymm5,ymm5,ymm6 + rorx r12d,esi,27 + rorx eax,esi,2 + xor esi,ebp + vpxor ymm5,ymm5,ymm8 + add edx,r12d + xor esi,ebx + add ecx,DWORD[72+r13] + vpsrld ymm8,ymm5,30 + vpslld ymm5,ymm5,2 + lea ecx,[rsi*1+rcx] + rorx r12d,edx,27 + rorx esi,edx,2 + xor edx,eax + add ecx,r12d + xor edx,ebp + vpor ymm5,ymm5,ymm8 + add ebx,DWORD[76+r13] + lea ebx,[rdx*1+rbx] + rorx r12d,ecx,27 + rorx edx,ecx,2 + vpaddd ymm9,ymm5,ymm11 + xor ecx,esi + add ebx,r12d + xor ecx,eax + add ebp,DWORD[96+r13] + vmovdqu YMMWORD[416+rsp],ymm9 + lea ebp,[rbp*1+rcx] + rorx r12d,ebx,27 + rorx ecx,ebx,2 + xor ebx,edx + add ebp,r12d + xor ebx,esi + add eax,DWORD[100+r13] + lea eax,[rbx*1+rax] + rorx r12d,ebp,27 + rorx ebx,ebp,2 + xor ebp,ecx + add eax,r12d + xor ebp,edx + vpalignr ymm8,ymm5,ymm4,8 + vpxor ymm6,ymm6,ymm2 + add esi,DWORD[104+r13] + lea esi,[rbp*1+rsi] + vpxor ymm6,ymm6,ymm7 + rorx r12d,eax,27 + rorx ebp,eax,2 + xor eax,ebx + vpxor ymm6,ymm6,ymm8 + add esi,r12d + xor eax,ecx + add edx,DWORD[108+r13] + lea r13,[256+r13] + vpsrld ymm8,ymm6,30 + vpslld ymm6,ymm6,2 + lea edx,[rax*1+rdx] + rorx r12d,esi,27 + rorx eax,esi,2 + xor esi,ebp + add edx,r12d + xor esi,ebx + vpor ymm6,ymm6,ymm8 + add ecx,DWORD[((-128))+r13] + lea ecx,[rsi*1+rcx] + rorx r12d,edx,27 + rorx esi,edx,2 + vpaddd ymm9,ymm6,ymm11 + xor edx,eax + add ecx,r12d + xor edx,ebp + add ebx,DWORD[((-124))+r13] + vmovdqu YMMWORD[448+rsp],ymm9 + lea ebx,[rdx*1+rbx] + rorx r12d,ecx,27 + rorx edx,ecx,2 + xor ecx,esi + add ebx,r12d + xor ecx,eax + add ebp,DWORD[((-120))+r13] + lea ebp,[rbp*1+rcx] + rorx r12d,ebx,27 + rorx ecx,ebx,2 + xor ebx,edx + add ebp,r12d + xor ebx,esi + vpalignr ymm8,ymm6,ymm5,8 + vpxor ymm7,ymm7,ymm3 + add eax,DWORD[((-116))+r13] + lea eax,[rbx*1+rax] + vpxor ymm7,ymm7,ymm0 + vmovdqu ymm11,YMMWORD[32+r14] + rorx r12d,ebp,27 + rorx ebx,ebp,2 + xor ebp,ecx + vpxor ymm7,ymm7,ymm8 + add eax,r12d + xor ebp,edx + add esi,DWORD[((-96))+r13] + vpsrld ymm8,ymm7,30 + vpslld ymm7,ymm7,2 + lea esi,[rbp*1+rsi] + rorx r12d,eax,27 + rorx ebp,eax,2 + xor eax,ebx + add esi,r12d + xor eax,ecx + vpor ymm7,ymm7,ymm8 + add edx,DWORD[((-92))+r13] + lea edx,[rax*1+rdx] + rorx r12d,esi,27 + rorx eax,esi,2 + vpaddd ymm9,ymm7,ymm11 + xor esi,ebp + add edx,r12d + xor esi,ebx + add ecx,DWORD[((-88))+r13] + vmovdqu YMMWORD[480+rsp],ymm9 + lea ecx,[rsi*1+rcx] + rorx r12d,edx,27 + rorx esi,edx,2 + xor edx,eax + add ecx,r12d + xor edx,ebp + add ebx,DWORD[((-84))+r13] + mov edi,esi + xor edi,eax + lea ebx,[rdx*1+rbx] + rorx r12d,ecx,27 + rorx edx,ecx,2 + xor ecx,esi + add ebx,r12d + and ecx,edi + jmp NEAR $L$align32_2 +ALIGN 32 +$L$align32_2: + vpalignr ymm8,ymm7,ymm6,8 + vpxor ymm0,ymm0,ymm4 + add ebp,DWORD[((-64))+r13] + xor ecx,esi + vpxor ymm0,ymm0,ymm1 + mov edi,edx + xor edi,esi + lea ebp,[rbp*1+rcx] + vpxor ymm0,ymm0,ymm8 + rorx r12d,ebx,27 + rorx ecx,ebx,2 + xor ebx,edx + vpsrld ymm8,ymm0,30 + vpslld ymm0,ymm0,2 + add ebp,r12d + and ebx,edi + add eax,DWORD[((-60))+r13] + xor ebx,edx + mov edi,ecx + xor edi,edx + vpor ymm0,ymm0,ymm8 + lea eax,[rbx*1+rax] + rorx r12d,ebp,27 + rorx ebx,ebp,2 + xor ebp,ecx + vpaddd ymm9,ymm0,ymm11 + add eax,r12d + and ebp,edi + add esi,DWORD[((-56))+r13] + xor ebp,ecx + vmovdqu YMMWORD[512+rsp],ymm9 + mov edi,ebx + xor edi,ecx + lea esi,[rbp*1+rsi] + rorx r12d,eax,27 + rorx ebp,eax,2 + xor eax,ebx + add esi,r12d + and eax,edi + add edx,DWORD[((-52))+r13] + xor eax,ebx + mov edi,ebp + xor edi,ebx + lea edx,[rax*1+rdx] + rorx r12d,esi,27 + rorx eax,esi,2 + xor esi,ebp + add edx,r12d + and esi,edi + add ecx,DWORD[((-32))+r13] + xor esi,ebp + mov edi,eax + xor edi,ebp + lea ecx,[rsi*1+rcx] + rorx r12d,edx,27 + rorx esi,edx,2 + xor edx,eax + add ecx,r12d + and edx,edi + vpalignr ymm8,ymm0,ymm7,8 + vpxor ymm1,ymm1,ymm5 + add ebx,DWORD[((-28))+r13] + xor edx,eax + vpxor ymm1,ymm1,ymm2 + mov edi,esi + xor edi,eax + lea ebx,[rdx*1+rbx] + vpxor ymm1,ymm1,ymm8 + rorx r12d,ecx,27 + rorx edx,ecx,2 + xor ecx,esi + vpsrld ymm8,ymm1,30 + vpslld ymm1,ymm1,2 + add ebx,r12d + and ecx,edi + add ebp,DWORD[((-24))+r13] + xor ecx,esi + mov edi,edx + xor edi,esi + vpor ymm1,ymm1,ymm8 + lea ebp,[rbp*1+rcx] + rorx r12d,ebx,27 + rorx ecx,ebx,2 + xor ebx,edx + vpaddd ymm9,ymm1,ymm11 + add ebp,r12d + and ebx,edi + add eax,DWORD[((-20))+r13] + xor ebx,edx + vmovdqu YMMWORD[544+rsp],ymm9 + mov edi,ecx + xor edi,edx + lea eax,[rbx*1+rax] + rorx r12d,ebp,27 + rorx ebx,ebp,2 + xor ebp,ecx + add eax,r12d + and ebp,edi + add esi,DWORD[r13] + xor ebp,ecx + mov edi,ebx + xor edi,ecx + lea esi,[rbp*1+rsi] + rorx r12d,eax,27 + rorx ebp,eax,2 + xor eax,ebx + add esi,r12d + and eax,edi + add edx,DWORD[4+r13] + xor eax,ebx + mov edi,ebp + xor edi,ebx + lea edx,[rax*1+rdx] + rorx r12d,esi,27 + rorx eax,esi,2 + xor esi,ebp + add edx,r12d + and esi,edi + vpalignr ymm8,ymm1,ymm0,8 + vpxor ymm2,ymm2,ymm6 + add ecx,DWORD[8+r13] + xor esi,ebp + vpxor ymm2,ymm2,ymm3 + mov edi,eax + xor edi,ebp + lea ecx,[rsi*1+rcx] + vpxor ymm2,ymm2,ymm8 + rorx r12d,edx,27 + rorx esi,edx,2 + xor edx,eax + vpsrld ymm8,ymm2,30 + vpslld ymm2,ymm2,2 + add ecx,r12d + and edx,edi + add ebx,DWORD[12+r13] + xor edx,eax + mov edi,esi + xor edi,eax + vpor ymm2,ymm2,ymm8 + lea ebx,[rdx*1+rbx] + rorx r12d,ecx,27 + rorx edx,ecx,2 + xor ecx,esi + vpaddd ymm9,ymm2,ymm11 + add ebx,r12d + and ecx,edi + add ebp,DWORD[32+r13] + xor ecx,esi + vmovdqu YMMWORD[576+rsp],ymm9 + mov edi,edx + xor edi,esi + lea ebp,[rbp*1+rcx] + rorx r12d,ebx,27 + rorx ecx,ebx,2 + xor ebx,edx + add ebp,r12d + and ebx,edi + add eax,DWORD[36+r13] + xor ebx,edx + mov edi,ecx + xor edi,edx + lea eax,[rbx*1+rax] + rorx r12d,ebp,27 + rorx ebx,ebp,2 + xor ebp,ecx + add eax,r12d + and ebp,edi + add esi,DWORD[40+r13] + xor ebp,ecx + mov edi,ebx + xor edi,ecx + lea esi,[rbp*1+rsi] + rorx r12d,eax,27 + rorx ebp,eax,2 + xor eax,ebx + add esi,r12d + and eax,edi + vpalignr ymm8,ymm2,ymm1,8 + vpxor ymm3,ymm3,ymm7 + add edx,DWORD[44+r13] + xor eax,ebx + vpxor ymm3,ymm3,ymm4 + mov edi,ebp + xor edi,ebx + lea edx,[rax*1+rdx] + vpxor ymm3,ymm3,ymm8 + rorx r12d,esi,27 + rorx eax,esi,2 + xor esi,ebp + vpsrld ymm8,ymm3,30 + vpslld ymm3,ymm3,2 + add edx,r12d + and esi,edi + add ecx,DWORD[64+r13] + xor esi,ebp + mov edi,eax + xor edi,ebp + vpor ymm3,ymm3,ymm8 + lea ecx,[rsi*1+rcx] + rorx r12d,edx,27 + rorx esi,edx,2 + xor edx,eax + vpaddd ymm9,ymm3,ymm11 + add ecx,r12d + and edx,edi + add ebx,DWORD[68+r13] + xor edx,eax + vmovdqu YMMWORD[608+rsp],ymm9 + mov edi,esi + xor edi,eax + lea ebx,[rdx*1+rbx] + rorx r12d,ecx,27 + rorx edx,ecx,2 + xor ecx,esi + add ebx,r12d + and ecx,edi + add ebp,DWORD[72+r13] + xor ecx,esi + mov edi,edx + xor edi,esi + lea ebp,[rbp*1+rcx] + rorx r12d,ebx,27 + rorx ecx,ebx,2 + xor ebx,edx + add ebp,r12d + and ebx,edi + add eax,DWORD[76+r13] + xor ebx,edx + lea eax,[rbx*1+rax] + rorx r12d,ebp,27 + rorx ebx,ebp,2 + xor ebp,ecx + add eax,r12d + xor ebp,edx + add esi,DWORD[96+r13] + lea esi,[rbp*1+rsi] + rorx r12d,eax,27 + rorx ebp,eax,2 + xor eax,ebx + add esi,r12d + xor eax,ecx + add edx,DWORD[100+r13] + lea edx,[rax*1+rdx] + rorx r12d,esi,27 + rorx eax,esi,2 + xor esi,ebp + add edx,r12d + xor esi,ebx + add ecx,DWORD[104+r13] + lea ecx,[rsi*1+rcx] + rorx r12d,edx,27 + rorx esi,edx,2 + xor edx,eax + add ecx,r12d + xor edx,ebp + add ebx,DWORD[108+r13] + lea r13,[256+r13] + lea ebx,[rdx*1+rbx] + rorx r12d,ecx,27 + rorx edx,ecx,2 + xor ecx,esi + add ebx,r12d + xor ecx,eax + add ebp,DWORD[((-128))+r13] + lea ebp,[rbp*1+rcx] + rorx r12d,ebx,27 + rorx ecx,ebx,2 + xor ebx,edx + add ebp,r12d + xor ebx,esi + add eax,DWORD[((-124))+r13] + lea eax,[rbx*1+rax] + rorx r12d,ebp,27 + rorx ebx,ebp,2 + xor ebp,ecx + add eax,r12d + xor ebp,edx + add esi,DWORD[((-120))+r13] + lea esi,[rbp*1+rsi] + rorx r12d,eax,27 + rorx ebp,eax,2 + xor eax,ebx + add esi,r12d + xor eax,ecx + add edx,DWORD[((-116))+r13] + lea edx,[rax*1+rdx] + rorx r12d,esi,27 + rorx eax,esi,2 + xor esi,ebp + add edx,r12d + xor esi,ebx + add ecx,DWORD[((-96))+r13] + lea ecx,[rsi*1+rcx] + rorx r12d,edx,27 + rorx esi,edx,2 + xor edx,eax + add ecx,r12d + xor edx,ebp + add ebx,DWORD[((-92))+r13] + lea ebx,[rdx*1+rbx] + rorx r12d,ecx,27 + rorx edx,ecx,2 + xor ecx,esi + add ebx,r12d + xor ecx,eax + add ebp,DWORD[((-88))+r13] + lea ebp,[rbp*1+rcx] + rorx r12d,ebx,27 + rorx ecx,ebx,2 + xor ebx,edx + add ebp,r12d + xor ebx,esi + add eax,DWORD[((-84))+r13] + lea eax,[rbx*1+rax] + rorx r12d,ebp,27 + rorx ebx,ebp,2 + xor ebp,ecx + add eax,r12d + xor ebp,edx + add esi,DWORD[((-64))+r13] + lea esi,[rbp*1+rsi] + rorx r12d,eax,27 + rorx ebp,eax,2 + xor eax,ebx + add esi,r12d + xor eax,ecx + add edx,DWORD[((-60))+r13] + lea edx,[rax*1+rdx] + rorx r12d,esi,27 + rorx eax,esi,2 + xor esi,ebp + add edx,r12d + xor esi,ebx + add ecx,DWORD[((-56))+r13] + lea ecx,[rsi*1+rcx] + rorx r12d,edx,27 + rorx esi,edx,2 + xor edx,eax + add ecx,r12d + xor edx,ebp + add ebx,DWORD[((-52))+r13] + lea ebx,[rdx*1+rbx] + rorx r12d,ecx,27 + rorx edx,ecx,2 + xor ecx,esi + add ebx,r12d + xor ecx,eax + add ebp,DWORD[((-32))+r13] + lea ebp,[rbp*1+rcx] + rorx r12d,ebx,27 + rorx ecx,ebx,2 + xor ebx,edx + add ebp,r12d + xor ebx,esi + add eax,DWORD[((-28))+r13] + lea eax,[rbx*1+rax] + rorx r12d,ebp,27 + rorx ebx,ebp,2 + xor ebp,ecx + add eax,r12d + xor ebp,edx + add esi,DWORD[((-24))+r13] + lea esi,[rbp*1+rsi] + rorx r12d,eax,27 + rorx ebp,eax,2 + xor eax,ebx + add esi,r12d + xor eax,ecx + add edx,DWORD[((-20))+r13] + lea edx,[rax*1+rdx] + rorx r12d,esi,27 + add edx,r12d + lea r13,[128+r9] + lea rdi,[128+r9] + cmp r13,r10 + cmovae r13,r9 + + + add edx,DWORD[r8] + add esi,DWORD[4+r8] + add ebp,DWORD[8+r8] + mov DWORD[r8],edx + add ebx,DWORD[12+r8] + mov DWORD[4+r8],esi + mov eax,edx + add ecx,DWORD[16+r8] + mov r12d,ebp + mov DWORD[8+r8],ebp + mov edx,ebx + + mov DWORD[12+r8],ebx + mov ebp,esi + mov DWORD[16+r8],ecx + + mov esi,ecx + mov ecx,r12d + + + cmp r9,r10 + je NEAR $L$done_avx2 + vmovdqu ymm6,YMMWORD[64+r14] + cmp rdi,r10 + ja NEAR $L$ast_avx2 + + vmovdqu xmm0,XMMWORD[((-64))+rdi] + vmovdqu xmm1,XMMWORD[((-48))+rdi] + vmovdqu xmm2,XMMWORD[((-32))+rdi] + vmovdqu xmm3,XMMWORD[((-16))+rdi] + vinserti128 ymm0,ymm0,XMMWORD[r13],1 + vinserti128 ymm1,ymm1,XMMWORD[16+r13],1 + vinserti128 ymm2,ymm2,XMMWORD[32+r13],1 + vinserti128 ymm3,ymm3,XMMWORD[48+r13],1 + jmp NEAR $L$ast_avx2 + +ALIGN 32 +$L$ast_avx2: + lea r13,[((128+16))+rsp] + rorx ebx,ebp,2 + andn edi,ebp,edx + and ebp,ecx + xor ebp,edi + sub r9,-128 + add esi,DWORD[((-128))+r13] + andn edi,eax,ecx + add esi,ebp + rorx r12d,eax,27 + rorx ebp,eax,2 + and eax,ebx + add esi,r12d + xor eax,edi + add edx,DWORD[((-124))+r13] + andn edi,esi,ebx + add edx,eax + rorx r12d,esi,27 + rorx eax,esi,2 + and esi,ebp + add edx,r12d + xor esi,edi + add ecx,DWORD[((-120))+r13] + andn edi,edx,ebp + add ecx,esi + rorx r12d,edx,27 + rorx esi,edx,2 + and edx,eax + add ecx,r12d + xor edx,edi + add ebx,DWORD[((-116))+r13] + andn edi,ecx,eax + add ebx,edx + rorx r12d,ecx,27 + rorx edx,ecx,2 + and ecx,esi + add ebx,r12d + xor ecx,edi + add ebp,DWORD[((-96))+r13] + andn edi,ebx,esi + add ebp,ecx + rorx r12d,ebx,27 + rorx ecx,ebx,2 + and ebx,edx + add ebp,r12d + xor ebx,edi + add eax,DWORD[((-92))+r13] + andn edi,ebp,edx + add eax,ebx + rorx r12d,ebp,27 + rorx ebx,ebp,2 + and ebp,ecx + add eax,r12d + xor ebp,edi + add esi,DWORD[((-88))+r13] + andn edi,eax,ecx + add esi,ebp + rorx r12d,eax,27 + rorx ebp,eax,2 + and eax,ebx + add esi,r12d + xor eax,edi + add edx,DWORD[((-84))+r13] + andn edi,esi,ebx + add edx,eax + rorx r12d,esi,27 + rorx eax,esi,2 + and esi,ebp + add edx,r12d + xor esi,edi + add ecx,DWORD[((-64))+r13] + andn edi,edx,ebp + add ecx,esi + rorx r12d,edx,27 + rorx esi,edx,2 + and edx,eax + add ecx,r12d + xor edx,edi + add ebx,DWORD[((-60))+r13] + andn edi,ecx,eax + add ebx,edx + rorx r12d,ecx,27 + rorx edx,ecx,2 + and ecx,esi + add ebx,r12d + xor ecx,edi + add ebp,DWORD[((-56))+r13] + andn edi,ebx,esi + add ebp,ecx + rorx r12d,ebx,27 + rorx ecx,ebx,2 + and ebx,edx + add ebp,r12d + xor ebx,edi + add eax,DWORD[((-52))+r13] + andn edi,ebp,edx + add eax,ebx + rorx r12d,ebp,27 + rorx ebx,ebp,2 + and ebp,ecx + add eax,r12d + xor ebp,edi + add esi,DWORD[((-32))+r13] + andn edi,eax,ecx + add esi,ebp + rorx r12d,eax,27 + rorx ebp,eax,2 + and eax,ebx + add esi,r12d + xor eax,edi + add edx,DWORD[((-28))+r13] + andn edi,esi,ebx + add edx,eax + rorx r12d,esi,27 + rorx eax,esi,2 + and esi,ebp + add edx,r12d + xor esi,edi + add ecx,DWORD[((-24))+r13] + andn edi,edx,ebp + add ecx,esi + rorx r12d,edx,27 + rorx esi,edx,2 + and edx,eax + add ecx,r12d + xor edx,edi + add ebx,DWORD[((-20))+r13] + andn edi,ecx,eax + add ebx,edx + rorx r12d,ecx,27 + rorx edx,ecx,2 + and ecx,esi + add ebx,r12d + xor ecx,edi + add ebp,DWORD[r13] + andn edi,ebx,esi + add ebp,ecx + rorx r12d,ebx,27 + rorx ecx,ebx,2 + and ebx,edx + add ebp,r12d + xor ebx,edi + add eax,DWORD[4+r13] + andn edi,ebp,edx + add eax,ebx + rorx r12d,ebp,27 + rorx ebx,ebp,2 + and ebp,ecx + add eax,r12d + xor ebp,edi + add esi,DWORD[8+r13] + andn edi,eax,ecx + add esi,ebp + rorx r12d,eax,27 + rorx ebp,eax,2 + and eax,ebx + add esi,r12d + xor eax,edi + add edx,DWORD[12+r13] + lea edx,[rax*1+rdx] + rorx r12d,esi,27 + rorx eax,esi,2 + xor esi,ebp + add edx,r12d + xor esi,ebx + add ecx,DWORD[32+r13] + lea ecx,[rsi*1+rcx] + rorx r12d,edx,27 + rorx esi,edx,2 + xor edx,eax + add ecx,r12d + xor edx,ebp + add ebx,DWORD[36+r13] + lea ebx,[rdx*1+rbx] + rorx r12d,ecx,27 + rorx edx,ecx,2 + xor ecx,esi + add ebx,r12d + xor ecx,eax + add ebp,DWORD[40+r13] + lea ebp,[rbp*1+rcx] + rorx r12d,ebx,27 + rorx ecx,ebx,2 + xor ebx,edx + add ebp,r12d + xor ebx,esi + add eax,DWORD[44+r13] + lea eax,[rbx*1+rax] + rorx r12d,ebp,27 + rorx ebx,ebp,2 + xor ebp,ecx + add eax,r12d + xor ebp,edx + add esi,DWORD[64+r13] + lea esi,[rbp*1+rsi] + rorx r12d,eax,27 + rorx ebp,eax,2 + xor eax,ebx + add esi,r12d + xor eax,ecx + vmovdqu ymm11,YMMWORD[((-64))+r14] + vpshufb ymm0,ymm0,ymm6 + add edx,DWORD[68+r13] + lea edx,[rax*1+rdx] + rorx r12d,esi,27 + rorx eax,esi,2 + xor esi,ebp + add edx,r12d + xor esi,ebx + add ecx,DWORD[72+r13] + lea ecx,[rsi*1+rcx] + rorx r12d,edx,27 + rorx esi,edx,2 + xor edx,eax + add ecx,r12d + xor edx,ebp + add ebx,DWORD[76+r13] + lea ebx,[rdx*1+rbx] + rorx r12d,ecx,27 + rorx edx,ecx,2 + xor ecx,esi + add ebx,r12d + xor ecx,eax + add ebp,DWORD[96+r13] + lea ebp,[rbp*1+rcx] + rorx r12d,ebx,27 + rorx ecx,ebx,2 + xor ebx,edx + add ebp,r12d + xor ebx,esi + add eax,DWORD[100+r13] + lea eax,[rbx*1+rax] + rorx r12d,ebp,27 + rorx ebx,ebp,2 + xor ebp,ecx + add eax,r12d + xor ebp,edx + vpshufb ymm1,ymm1,ymm6 + vpaddd ymm8,ymm0,ymm11 + add esi,DWORD[104+r13] + lea esi,[rbp*1+rsi] + rorx r12d,eax,27 + rorx ebp,eax,2 + xor eax,ebx + add esi,r12d + xor eax,ecx + add edx,DWORD[108+r13] + lea r13,[256+r13] + lea edx,[rax*1+rdx] + rorx r12d,esi,27 + rorx eax,esi,2 + xor esi,ebp + add edx,r12d + xor esi,ebx + add ecx,DWORD[((-128))+r13] + lea ecx,[rsi*1+rcx] + rorx r12d,edx,27 + rorx esi,edx,2 + xor edx,eax + add ecx,r12d + xor edx,ebp + add ebx,DWORD[((-124))+r13] + lea ebx,[rdx*1+rbx] + rorx r12d,ecx,27 + rorx edx,ecx,2 + xor ecx,esi + add ebx,r12d + xor ecx,eax + add ebp,DWORD[((-120))+r13] + lea ebp,[rbp*1+rcx] + rorx r12d,ebx,27 + rorx ecx,ebx,2 + xor ebx,edx + add ebp,r12d + xor ebx,esi + vmovdqu YMMWORD[rsp],ymm8 + vpshufb ymm2,ymm2,ymm6 + vpaddd ymm9,ymm1,ymm11 + add eax,DWORD[((-116))+r13] + lea eax,[rbx*1+rax] + rorx r12d,ebp,27 + rorx ebx,ebp,2 + xor ebp,ecx + add eax,r12d + xor ebp,edx + add esi,DWORD[((-96))+r13] + lea esi,[rbp*1+rsi] + rorx r12d,eax,27 + rorx ebp,eax,2 + xor eax,ebx + add esi,r12d + xor eax,ecx + add edx,DWORD[((-92))+r13] + lea edx,[rax*1+rdx] + rorx r12d,esi,27 + rorx eax,esi,2 + xor esi,ebp + add edx,r12d + xor esi,ebx + add ecx,DWORD[((-88))+r13] + lea ecx,[rsi*1+rcx] + rorx r12d,edx,27 + rorx esi,edx,2 + xor edx,eax + add ecx,r12d + xor edx,ebp + add ebx,DWORD[((-84))+r13] + mov edi,esi + xor edi,eax + lea ebx,[rdx*1+rbx] + rorx r12d,ecx,27 + rorx edx,ecx,2 + xor ecx,esi + add ebx,r12d + and ecx,edi + vmovdqu YMMWORD[32+rsp],ymm9 + vpshufb ymm3,ymm3,ymm6 + vpaddd ymm6,ymm2,ymm11 + add ebp,DWORD[((-64))+r13] + xor ecx,esi + mov edi,edx + xor edi,esi + lea ebp,[rbp*1+rcx] + rorx r12d,ebx,27 + rorx ecx,ebx,2 + xor ebx,edx + add ebp,r12d + and ebx,edi + add eax,DWORD[((-60))+r13] + xor ebx,edx + mov edi,ecx + xor edi,edx + lea eax,[rbx*1+rax] + rorx r12d,ebp,27 + rorx ebx,ebp,2 + xor ebp,ecx + add eax,r12d + and ebp,edi + add esi,DWORD[((-56))+r13] + xor ebp,ecx + mov edi,ebx + xor edi,ecx + lea esi,[rbp*1+rsi] + rorx r12d,eax,27 + rorx ebp,eax,2 + xor eax,ebx + add esi,r12d + and eax,edi + add edx,DWORD[((-52))+r13] + xor eax,ebx + mov edi,ebp + xor edi,ebx + lea edx,[rax*1+rdx] + rorx r12d,esi,27 + rorx eax,esi,2 + xor esi,ebp + add edx,r12d + and esi,edi + add ecx,DWORD[((-32))+r13] + xor esi,ebp + mov edi,eax + xor edi,ebp + lea ecx,[rsi*1+rcx] + rorx r12d,edx,27 + rorx esi,edx,2 + xor edx,eax + add ecx,r12d + and edx,edi + jmp NEAR $L$align32_3 +ALIGN 32 +$L$align32_3: + vmovdqu YMMWORD[64+rsp],ymm6 + vpaddd ymm7,ymm3,ymm11 + add ebx,DWORD[((-28))+r13] + xor edx,eax + mov edi,esi + xor edi,eax + lea ebx,[rdx*1+rbx] + rorx r12d,ecx,27 + rorx edx,ecx,2 + xor ecx,esi + add ebx,r12d + and ecx,edi + add ebp,DWORD[((-24))+r13] + xor ecx,esi + mov edi,edx + xor edi,esi + lea ebp,[rbp*1+rcx] + rorx r12d,ebx,27 + rorx ecx,ebx,2 + xor ebx,edx + add ebp,r12d + and ebx,edi + add eax,DWORD[((-20))+r13] + xor ebx,edx + mov edi,ecx + xor edi,edx + lea eax,[rbx*1+rax] + rorx r12d,ebp,27 + rorx ebx,ebp,2 + xor ebp,ecx + add eax,r12d + and ebp,edi + add esi,DWORD[r13] + xor ebp,ecx + mov edi,ebx + xor edi,ecx + lea esi,[rbp*1+rsi] + rorx r12d,eax,27 + rorx ebp,eax,2 + xor eax,ebx + add esi,r12d + and eax,edi + add edx,DWORD[4+r13] + xor eax,ebx + mov edi,ebp + xor edi,ebx + lea edx,[rax*1+rdx] + rorx r12d,esi,27 + rorx eax,esi,2 + xor esi,ebp + add edx,r12d + and esi,edi + vmovdqu YMMWORD[96+rsp],ymm7 + add ecx,DWORD[8+r13] + xor esi,ebp + mov edi,eax + xor edi,ebp + lea ecx,[rsi*1+rcx] + rorx r12d,edx,27 + rorx esi,edx,2 + xor edx,eax + add ecx,r12d + and edx,edi + add ebx,DWORD[12+r13] + xor edx,eax + mov edi,esi + xor edi,eax + lea ebx,[rdx*1+rbx] + rorx r12d,ecx,27 + rorx edx,ecx,2 + xor ecx,esi + add ebx,r12d + and ecx,edi + add ebp,DWORD[32+r13] + xor ecx,esi + mov edi,edx + xor edi,esi + lea ebp,[rbp*1+rcx] + rorx r12d,ebx,27 + rorx ecx,ebx,2 + xor ebx,edx + add ebp,r12d + and ebx,edi + add eax,DWORD[36+r13] + xor ebx,edx + mov edi,ecx + xor edi,edx + lea eax,[rbx*1+rax] + rorx r12d,ebp,27 + rorx ebx,ebp,2 + xor ebp,ecx + add eax,r12d + and ebp,edi + add esi,DWORD[40+r13] + xor ebp,ecx + mov edi,ebx + xor edi,ecx + lea esi,[rbp*1+rsi] + rorx r12d,eax,27 + rorx ebp,eax,2 + xor eax,ebx + add esi,r12d + and eax,edi + vpalignr ymm4,ymm1,ymm0,8 + add edx,DWORD[44+r13] + xor eax,ebx + mov edi,ebp + xor edi,ebx + vpsrldq ymm8,ymm3,4 + lea edx,[rax*1+rdx] + rorx r12d,esi,27 + rorx eax,esi,2 + vpxor ymm4,ymm4,ymm0 + vpxor ymm8,ymm8,ymm2 + xor esi,ebp + add edx,r12d + vpxor ymm4,ymm4,ymm8 + and esi,edi + add ecx,DWORD[64+r13] + xor esi,ebp + mov edi,eax + vpsrld ymm8,ymm4,31 + xor edi,ebp + lea ecx,[rsi*1+rcx] + rorx r12d,edx,27 + vpslldq ymm10,ymm4,12 + vpaddd ymm4,ymm4,ymm4 + rorx esi,edx,2 + xor edx,eax + vpsrld ymm9,ymm10,30 + vpor ymm4,ymm4,ymm8 + add ecx,r12d + and edx,edi + vpslld ymm10,ymm10,2 + vpxor ymm4,ymm4,ymm9 + add ebx,DWORD[68+r13] + xor edx,eax + vpxor ymm4,ymm4,ymm10 + mov edi,esi + xor edi,eax + lea ebx,[rdx*1+rbx] + vpaddd ymm9,ymm4,ymm11 + rorx r12d,ecx,27 + rorx edx,ecx,2 + xor ecx,esi + vmovdqu YMMWORD[128+rsp],ymm9 + add ebx,r12d + and ecx,edi + add ebp,DWORD[72+r13] + xor ecx,esi + mov edi,edx + xor edi,esi + lea ebp,[rbp*1+rcx] + rorx r12d,ebx,27 + rorx ecx,ebx,2 + xor ebx,edx + add ebp,r12d + and ebx,edi + add eax,DWORD[76+r13] + xor ebx,edx + lea eax,[rbx*1+rax] + rorx r12d,ebp,27 + rorx ebx,ebp,2 + xor ebp,ecx + add eax,r12d + xor ebp,edx + vpalignr ymm5,ymm2,ymm1,8 + add esi,DWORD[96+r13] + lea esi,[rbp*1+rsi] + rorx r12d,eax,27 + rorx ebp,eax,2 + vpsrldq ymm8,ymm4,4 + xor eax,ebx + add esi,r12d + xor eax,ecx + vpxor ymm5,ymm5,ymm1 + vpxor ymm8,ymm8,ymm3 + add edx,DWORD[100+r13] + lea edx,[rax*1+rdx] + vpxor ymm5,ymm5,ymm8 + rorx r12d,esi,27 + rorx eax,esi,2 + xor esi,ebp + add edx,r12d + vpsrld ymm8,ymm5,31 + vmovdqu ymm11,YMMWORD[((-32))+r14] + xor esi,ebx + add ecx,DWORD[104+r13] + lea ecx,[rsi*1+rcx] + vpslldq ymm10,ymm5,12 + vpaddd ymm5,ymm5,ymm5 + rorx r12d,edx,27 + rorx esi,edx,2 + vpsrld ymm9,ymm10,30 + vpor ymm5,ymm5,ymm8 + xor edx,eax + add ecx,r12d + vpslld ymm10,ymm10,2 + vpxor ymm5,ymm5,ymm9 + xor edx,ebp + add ebx,DWORD[108+r13] + lea r13,[256+r13] + vpxor ymm5,ymm5,ymm10 + lea ebx,[rdx*1+rbx] + rorx r12d,ecx,27 + rorx edx,ecx,2 + vpaddd ymm9,ymm5,ymm11 + xor ecx,esi + add ebx,r12d + xor ecx,eax + vmovdqu YMMWORD[160+rsp],ymm9 + add ebp,DWORD[((-128))+r13] + lea ebp,[rbp*1+rcx] + rorx r12d,ebx,27 + rorx ecx,ebx,2 + xor ebx,edx + add ebp,r12d + xor ebx,esi + vpalignr ymm6,ymm3,ymm2,8 + add eax,DWORD[((-124))+r13] + lea eax,[rbx*1+rax] + rorx r12d,ebp,27 + rorx ebx,ebp,2 + vpsrldq ymm8,ymm5,4 + xor ebp,ecx + add eax,r12d + xor ebp,edx + vpxor ymm6,ymm6,ymm2 + vpxor ymm8,ymm8,ymm4 + add esi,DWORD[((-120))+r13] + lea esi,[rbp*1+rsi] + vpxor ymm6,ymm6,ymm8 + rorx r12d,eax,27 + rorx ebp,eax,2 + xor eax,ebx + add esi,r12d + vpsrld ymm8,ymm6,31 + xor eax,ecx + add edx,DWORD[((-116))+r13] + lea edx,[rax*1+rdx] + vpslldq ymm10,ymm6,12 + vpaddd ymm6,ymm6,ymm6 + rorx r12d,esi,27 + rorx eax,esi,2 + vpsrld ymm9,ymm10,30 + vpor ymm6,ymm6,ymm8 + xor esi,ebp + add edx,r12d + vpslld ymm10,ymm10,2 + vpxor ymm6,ymm6,ymm9 + xor esi,ebx + add ecx,DWORD[((-96))+r13] + vpxor ymm6,ymm6,ymm10 + lea ecx,[rsi*1+rcx] + rorx r12d,edx,27 + rorx esi,edx,2 + vpaddd ymm9,ymm6,ymm11 + xor edx,eax + add ecx,r12d + xor edx,ebp + vmovdqu YMMWORD[192+rsp],ymm9 + add ebx,DWORD[((-92))+r13] + lea ebx,[rdx*1+rbx] + rorx r12d,ecx,27 + rorx edx,ecx,2 + xor ecx,esi + add ebx,r12d + xor ecx,eax + vpalignr ymm7,ymm4,ymm3,8 + add ebp,DWORD[((-88))+r13] + lea ebp,[rbp*1+rcx] + rorx r12d,ebx,27 + rorx ecx,ebx,2 + vpsrldq ymm8,ymm6,4 + xor ebx,edx + add ebp,r12d + xor ebx,esi + vpxor ymm7,ymm7,ymm3 + vpxor ymm8,ymm8,ymm5 + add eax,DWORD[((-84))+r13] + lea eax,[rbx*1+rax] + vpxor ymm7,ymm7,ymm8 + rorx r12d,ebp,27 + rorx ebx,ebp,2 + xor ebp,ecx + add eax,r12d + vpsrld ymm8,ymm7,31 + xor ebp,edx + add esi,DWORD[((-64))+r13] + lea esi,[rbp*1+rsi] + vpslldq ymm10,ymm7,12 + vpaddd ymm7,ymm7,ymm7 + rorx r12d,eax,27 + rorx ebp,eax,2 + vpsrld ymm9,ymm10,30 + vpor ymm7,ymm7,ymm8 + xor eax,ebx + add esi,r12d + vpslld ymm10,ymm10,2 + vpxor ymm7,ymm7,ymm9 + xor eax,ecx + add edx,DWORD[((-60))+r13] + vpxor ymm7,ymm7,ymm10 + lea edx,[rax*1+rdx] + rorx r12d,esi,27 + rorx eax,esi,2 + vpaddd ymm9,ymm7,ymm11 + xor esi,ebp + add edx,r12d + xor esi,ebx + vmovdqu YMMWORD[224+rsp],ymm9 + add ecx,DWORD[((-56))+r13] + lea ecx,[rsi*1+rcx] + rorx r12d,edx,27 + rorx esi,edx,2 + xor edx,eax + add ecx,r12d + xor edx,ebp + add ebx,DWORD[((-52))+r13] + lea ebx,[rdx*1+rbx] + rorx r12d,ecx,27 + rorx edx,ecx,2 + xor ecx,esi + add ebx,r12d + xor ecx,eax + add ebp,DWORD[((-32))+r13] + lea ebp,[rbp*1+rcx] + rorx r12d,ebx,27 + rorx ecx,ebx,2 + xor ebx,edx + add ebp,r12d + xor ebx,esi + add eax,DWORD[((-28))+r13] + lea eax,[rbx*1+rax] + rorx r12d,ebp,27 + rorx ebx,ebp,2 + xor ebp,ecx + add eax,r12d + xor ebp,edx + add esi,DWORD[((-24))+r13] + lea esi,[rbp*1+rsi] + rorx r12d,eax,27 + rorx ebp,eax,2 + xor eax,ebx + add esi,r12d + xor eax,ecx + add edx,DWORD[((-20))+r13] + lea edx,[rax*1+rdx] + rorx r12d,esi,27 + add edx,r12d + lea r13,[128+rsp] + + + add edx,DWORD[r8] + add esi,DWORD[4+r8] + add ebp,DWORD[8+r8] + mov DWORD[r8],edx + add ebx,DWORD[12+r8] + mov DWORD[4+r8],esi + mov eax,edx + add ecx,DWORD[16+r8] + mov r12d,ebp + mov DWORD[8+r8],ebp + mov edx,ebx + + mov DWORD[12+r8],ebx + mov ebp,esi + mov DWORD[16+r8],ecx + + mov esi,ecx + mov ecx,r12d + + + cmp r9,r10 + jbe NEAR $L$oop_avx2 + +$L$done_avx2: + vzeroupper + movaps xmm6,XMMWORD[((-40-96))+r11] + movaps xmm7,XMMWORD[((-40-80))+r11] + movaps xmm8,XMMWORD[((-40-64))+r11] + movaps xmm9,XMMWORD[((-40-48))+r11] + movaps xmm10,XMMWORD[((-40-32))+r11] + movaps xmm11,XMMWORD[((-40-16))+r11] + mov r14,QWORD[((-40))+r11] + + mov r13,QWORD[((-32))+r11] + + mov r12,QWORD[((-24))+r11] + + mov rbp,QWORD[((-16))+r11] + + mov rbx,QWORD[((-8))+r11] + + lea rsp,[r11] + +$L$epilogue_avx2: + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret + +$L$SEH_end_sha1_block_data_order_avx2: ALIGN 64 K_XX_XX: DD 0x5a827999,0x5a827999,0x5a827999,0x5a827999 @@ -3701,6 +5616,38 @@ se_handler: jmp NEAR $L$common_seh_tail +ALIGN 16 +shaext_handler: + push rsi + push rdi + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + pushfq + sub rsp,64 + + mov rax,QWORD[120+r8] + mov rbx,QWORD[248+r8] + + lea r10,[$L$prologue_shaext] + cmp rbx,r10 + jb NEAR $L$common_seh_tail + + lea r10,[$L$epilogue_shaext] + cmp rbx,r10 + jae NEAR $L$common_seh_tail + + lea rsi,[((-8-64))+rax] + lea rdi,[512+r8] + mov ecx,8 + DD 0xa548f3fc + + jmp NEAR $L$common_seh_tail + + ALIGN 16 ssse3_handler: push rsi @@ -3793,17 +5740,26 @@ ALIGN 4 DD $L$SEH_begin_sha1_block_data_order wrt ..imagebase DD $L$SEH_end_sha1_block_data_order wrt ..imagebase DD $L$SEH_info_sha1_block_data_order wrt ..imagebase + DD $L$SEH_begin_sha1_block_data_order_shaext wrt ..imagebase + DD $L$SEH_end_sha1_block_data_order_shaext wrt ..imagebase + DD $L$SEH_info_sha1_block_data_order_shaext wrt ..imagebase DD $L$SEH_begin_sha1_block_data_order_ssse3 wrt ..imagebase DD $L$SEH_end_sha1_block_data_order_ssse3 wrt ..imagebase DD $L$SEH_info_sha1_block_data_order_ssse3 wrt ..imagebase DD $L$SEH_begin_sha1_block_data_order_avx wrt ..imagebase DD $L$SEH_end_sha1_block_data_order_avx wrt ..imagebase DD $L$SEH_info_sha1_block_data_order_avx wrt ..imagebase + DD $L$SEH_begin_sha1_block_data_order_avx2 wrt ..imagebase + DD $L$SEH_end_sha1_block_data_order_avx2 wrt ..imagebase + DD $L$SEH_info_sha1_block_data_order_avx2 wrt ..imagebase section .xdata rdata align=8 ALIGN 8 $L$SEH_info_sha1_block_data_order: DB 9,0,0,0 DD se_handler wrt ..imagebase +$L$SEH_info_sha1_block_data_order_shaext: +DB 9,0,0,0 + DD shaext_handler wrt ..imagebase $L$SEH_info_sha1_block_data_order_ssse3: DB 9,0,0,0 DD ssse3_handler wrt ..imagebase @@ -3812,3 +5768,7 @@ $L$SEH_info_sha1_block_data_order_avx: DB 9,0,0,0 DD ssse3_handler wrt ..imagebase DD $L$prologue_avx wrt ..imagebase,$L$epilogue_avx wrt ..imagebase +$L$SEH_info_sha1_block_data_order_avx2: +DB 9,0,0,0 + DD ssse3_handler wrt ..imagebase + DD $L$prologue_avx2 wrt ..imagebase,$L$epilogue_avx2 wrt ..imagebase diff --git a/contrib/boringssl-cmake/win-x86_64/crypto/fipsmodule/vpaes-x86_64.asm b/contrib/boringssl-cmake/win-x86_64/crypto/fipsmodule/vpaes-x86_64.asm index 10092c8a183..ccfc870a66a 100644 --- a/contrib/boringssl-cmake/win-x86_64/crypto/fipsmodule/vpaes-x86_64.asm +++ b/contrib/boringssl-cmake/win-x86_64/crypto/fipsmodule/vpaes-x86_64.asm @@ -819,11 +819,9 @@ $L$SEH_begin_vpaes_set_encrypt_key: -%ifndef NDEBUG -%ifndef BORINGSSL_FIPS +%ifdef BORINGSSL_DISPATCH_TEST EXTERN BORINGSSL_function_hit mov BYTE[((BORINGSSL_function_hit+5))],1 -%endif %endif lea rsp,[((-184))+rsp] @@ -937,11 +935,9 @@ $L$SEH_begin_vpaes_encrypt: -%ifndef NDEBUG -%ifndef BORINGSSL_FIPS +%ifdef BORINGSSL_DISPATCH_TEST EXTERN BORINGSSL_function_hit mov BYTE[((BORINGSSL_function_hit+4))],1 -%endif %endif lea rsp,[((-184))+rsp] movaps XMMWORD[16+rsp],xmm6 diff --git a/contrib/boringssl-cmake/win-x86_64/crypto/third_party/sike/asm/fp-x86_64.asm b/contrib/boringssl-cmake/win-x86_64/crypto/third_party/sike/asm/fp-x86_64.asm deleted file mode 100644 index fbfef1be13e..00000000000 --- a/contrib/boringssl-cmake/win-x86_64/crypto/third_party/sike/asm/fp-x86_64.asm +++ /dev/null @@ -1,1951 +0,0 @@ -; This file is generated from a similarly-named Perl script in the BoringSSL -; source tree. Do not edit by hand. - -default rel -%define XMMWORD -%define YMMWORD -%define ZMMWORD - -%ifdef BORINGSSL_PREFIX -%include "boringssl_prefix_symbols_nasm.inc" -%endif -section .text code align=64 - - - -$L$p434x2: - DQ 0xFFFFFFFFFFFFFFFE - DQ 0xFFFFFFFFFFFFFFFF - DQ 0xFB82ECF5C5FFFFFF - DQ 0xF78CB8F062B15D47 - DQ 0xD9F8BFAD038A40AC - DQ 0x0004683E4E2EE688 - - -$L$p434p1: - DQ 0xFDC1767AE3000000 - DQ 0x7BC65C783158AEA3 - DQ 0x6CFC5FD681C52056 - DQ 0x0002341F27177344 - -EXTERN OPENSSL_ia32cap_P - -global sike_fpadd - -sike_fpadd: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_sike_fpadd: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - - - - push r12 - - - push r13 - - - push r14 - - - - xor rax,rax - - mov r8,QWORD[rdi] - add r8,QWORD[rsi] - mov r9,QWORD[8+rdi] - adc r9,QWORD[8+rsi] - mov r10,QWORD[16+rdi] - adc r10,QWORD[16+rsi] - mov r11,QWORD[24+rdi] - adc r11,QWORD[24+rsi] - mov r12,QWORD[32+rdi] - adc r12,QWORD[32+rsi] - mov r13,QWORD[40+rdi] - adc r13,QWORD[40+rsi] - mov r14,QWORD[48+rdi] - adc r14,QWORD[48+rsi] - - mov rcx,QWORD[$L$p434x2] - sub r8,rcx - mov rcx,QWORD[((8+$L$p434x2))] - sbb r9,rcx - sbb r10,rcx - mov rcx,QWORD[((16+$L$p434x2))] - sbb r11,rcx - mov rcx,QWORD[((24+$L$p434x2))] - sbb r12,rcx - mov rcx,QWORD[((32+$L$p434x2))] - sbb r13,rcx - mov rcx,QWORD[((40+$L$p434x2))] - sbb r14,rcx - - sbb rax,0 - - mov rdi,QWORD[$L$p434x2] - and rdi,rax - mov rsi,QWORD[((8+$L$p434x2))] - and rsi,rax - mov rcx,QWORD[((16+$L$p434x2))] - and rcx,rax - - add r8,rdi - mov QWORD[rdx],r8 - adc r9,rsi - mov QWORD[8+rdx],r9 - adc r10,rsi - mov QWORD[16+rdx],r10 - adc r11,rcx - mov QWORD[24+rdx],r11 - - setc cl - mov r8,QWORD[((24+$L$p434x2))] - and r8,rax - mov r9,QWORD[((32+$L$p434x2))] - and r9,rax - mov r10,QWORD[((40+$L$p434x2))] - and r10,rax - bt rcx,0 - - adc r12,r8 - mov QWORD[32+rdx],r12 - adc r13,r9 - mov QWORD[40+rdx],r13 - adc r14,r10 - mov QWORD[48+rdx],r14 - - pop r14 - - pop r13 - - pop r12 - - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret - -global sike_cswap_asm - -sike_cswap_asm: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_sike_cswap_asm: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - - - - - movq xmm3,rdx - - - - - - pshufd xmm3,xmm3,68 - - movdqu xmm0,XMMWORD[rdi] - movdqu xmm1,XMMWORD[rsi] - movdqa xmm2,xmm1 - pxor xmm2,xmm0 - pand xmm2,xmm3 - pxor xmm0,xmm2 - pxor xmm1,xmm2 - movdqu XMMWORD[rdi],xmm0 - movdqu XMMWORD[rsi],xmm1 - - movdqu xmm0,XMMWORD[16+rdi] - movdqu xmm1,XMMWORD[16+rsi] - movdqa xmm2,xmm1 - pxor xmm2,xmm0 - pand xmm2,xmm3 - pxor xmm0,xmm2 - pxor xmm1,xmm2 - movdqu XMMWORD[16+rdi],xmm0 - movdqu XMMWORD[16+rsi],xmm1 - - movdqu xmm0,XMMWORD[32+rdi] - movdqu xmm1,XMMWORD[32+rsi] - movdqa xmm2,xmm1 - pxor xmm2,xmm0 - pand xmm2,xmm3 - pxor xmm0,xmm2 - pxor xmm1,xmm2 - movdqu XMMWORD[32+rdi],xmm0 - movdqu XMMWORD[32+rsi],xmm1 - - movdqu xmm0,XMMWORD[48+rdi] - movdqu xmm1,XMMWORD[48+rsi] - movdqa xmm2,xmm1 - pxor xmm2,xmm0 - pand xmm2,xmm3 - pxor xmm0,xmm2 - pxor xmm1,xmm2 - movdqu XMMWORD[48+rdi],xmm0 - movdqu XMMWORD[48+rsi],xmm1 - - movdqu xmm0,XMMWORD[64+rdi] - movdqu xmm1,XMMWORD[64+rsi] - movdqa xmm2,xmm1 - pxor xmm2,xmm0 - pand xmm2,xmm3 - pxor xmm0,xmm2 - pxor xmm1,xmm2 - movdqu XMMWORD[64+rdi],xmm0 - movdqu XMMWORD[64+rsi],xmm1 - - movdqu xmm0,XMMWORD[80+rdi] - movdqu xmm1,XMMWORD[80+rsi] - movdqa xmm2,xmm1 - pxor xmm2,xmm0 - pand xmm2,xmm3 - pxor xmm0,xmm2 - pxor xmm1,xmm2 - movdqu XMMWORD[80+rdi],xmm0 - movdqu XMMWORD[80+rsi],xmm1 - - movdqu xmm0,XMMWORD[96+rdi] - movdqu xmm1,XMMWORD[96+rsi] - movdqa xmm2,xmm1 - pxor xmm2,xmm0 - pand xmm2,xmm3 - pxor xmm0,xmm2 - pxor xmm1,xmm2 - movdqu XMMWORD[96+rdi],xmm0 - movdqu XMMWORD[96+rsi],xmm1 - - movdqu xmm0,XMMWORD[112+rdi] - movdqu xmm1,XMMWORD[112+rsi] - movdqa xmm2,xmm1 - pxor xmm2,xmm0 - pand xmm2,xmm3 - pxor xmm0,xmm2 - pxor xmm1,xmm2 - movdqu XMMWORD[112+rdi],xmm0 - movdqu XMMWORD[112+rsi],xmm1 - - movdqu xmm0,XMMWORD[128+rdi] - movdqu xmm1,XMMWORD[128+rsi] - movdqa xmm2,xmm1 - pxor xmm2,xmm0 - pand xmm2,xmm3 - pxor xmm0,xmm2 - pxor xmm1,xmm2 - movdqu XMMWORD[128+rdi],xmm0 - movdqu XMMWORD[128+rsi],xmm1 - - movdqu xmm0,XMMWORD[144+rdi] - movdqu xmm1,XMMWORD[144+rsi] - movdqa xmm2,xmm1 - pxor xmm2,xmm0 - pand xmm2,xmm3 - pxor xmm0,xmm2 - pxor xmm1,xmm2 - movdqu XMMWORD[144+rdi],xmm0 - movdqu XMMWORD[144+rsi],xmm1 - - movdqu xmm0,XMMWORD[160+rdi] - movdqu xmm1,XMMWORD[160+rsi] - movdqa xmm2,xmm1 - pxor xmm2,xmm0 - pand xmm2,xmm3 - pxor xmm0,xmm2 - pxor xmm1,xmm2 - movdqu XMMWORD[160+rdi],xmm0 - movdqu XMMWORD[160+rsi],xmm1 - - movdqu xmm0,XMMWORD[176+rdi] - movdqu xmm1,XMMWORD[176+rsi] - movdqa xmm2,xmm1 - pxor xmm2,xmm0 - pand xmm2,xmm3 - pxor xmm0,xmm2 - pxor xmm1,xmm2 - movdqu XMMWORD[176+rdi],xmm0 - movdqu XMMWORD[176+rsi],xmm1 - - movdqu xmm0,XMMWORD[192+rdi] - movdqu xmm1,XMMWORD[192+rsi] - movdqa xmm2,xmm1 - pxor xmm2,xmm0 - pand xmm2,xmm3 - pxor xmm0,xmm2 - pxor xmm1,xmm2 - movdqu XMMWORD[192+rdi],xmm0 - movdqu XMMWORD[192+rsi],xmm1 - - movdqu xmm0,XMMWORD[208+rdi] - movdqu xmm1,XMMWORD[208+rsi] - movdqa xmm2,xmm1 - pxor xmm2,xmm0 - pand xmm2,xmm3 - pxor xmm0,xmm2 - pxor xmm1,xmm2 - movdqu XMMWORD[208+rdi],xmm0 - movdqu XMMWORD[208+rsi],xmm1 - - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -global sike_fpsub - -sike_fpsub: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_sike_fpsub: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - - - - push r12 - - - push r13 - - - push r14 - - - - xor rax,rax - - mov r8,QWORD[rdi] - sub r8,QWORD[rsi] - mov r9,QWORD[8+rdi] - sbb r9,QWORD[8+rsi] - mov r10,QWORD[16+rdi] - sbb r10,QWORD[16+rsi] - mov r11,QWORD[24+rdi] - sbb r11,QWORD[24+rsi] - mov r12,QWORD[32+rdi] - sbb r12,QWORD[32+rsi] - mov r13,QWORD[40+rdi] - sbb r13,QWORD[40+rsi] - mov r14,QWORD[48+rdi] - sbb r14,QWORD[48+rsi] - - sbb rax,0x0 - - mov rdi,QWORD[$L$p434x2] - and rdi,rax - mov rsi,QWORD[((8+$L$p434x2))] - and rsi,rax - mov rcx,QWORD[((16+$L$p434x2))] - and rcx,rax - - add r8,rdi - mov QWORD[rdx],r8 - adc r9,rsi - mov QWORD[8+rdx],r9 - adc r10,rsi - mov QWORD[16+rdx],r10 - adc r11,rcx - mov QWORD[24+rdx],r11 - - setc cl - mov r8,QWORD[((24+$L$p434x2))] - and r8,rax - mov r9,QWORD[((32+$L$p434x2))] - and r9,rax - mov r10,QWORD[((40+$L$p434x2))] - and r10,rax - bt rcx,0x0 - - adc r12,r8 - adc r13,r9 - adc r14,r10 - mov QWORD[32+rdx],r12 - mov QWORD[40+rdx],r13 - mov QWORD[48+rdx],r14 - - pop r14 - - pop r13 - - pop r12 - - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret - -global sike_mpadd_asm - -sike_mpadd_asm: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_sike_mpadd_asm: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - - - - mov r8,QWORD[rdi]; - mov r9,QWORD[8+rdi] - mov r10,QWORD[16+rdi] - mov r11,QWORD[24+rdi] - mov rcx,QWORD[32+rdi] - add r8,QWORD[rsi] - adc r9,QWORD[8+rsi] - adc r10,QWORD[16+rsi] - adc r11,QWORD[24+rsi] - adc rcx,QWORD[32+rsi] - mov QWORD[rdx],r8 - mov QWORD[8+rdx],r9 - mov QWORD[16+rdx],r10 - mov QWORD[24+rdx],r11 - mov QWORD[32+rdx],rcx - - mov r8,QWORD[40+rdi] - mov r9,QWORD[48+rdi] - adc r8,QWORD[40+rsi] - adc r9,QWORD[48+rsi] - mov QWORD[40+rdx],r8 - mov QWORD[48+rdx],r9 - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret - -global sike_mpsubx2_asm - -sike_mpsubx2_asm: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_sike_mpsubx2_asm: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - - - - xor rax,rax - - mov r8,QWORD[rdi] - mov r9,QWORD[8+rdi] - mov r10,QWORD[16+rdi] - mov r11,QWORD[24+rdi] - mov rcx,QWORD[32+rdi] - sub r8,QWORD[rsi] - sbb r9,QWORD[8+rsi] - sbb r10,QWORD[16+rsi] - sbb r11,QWORD[24+rsi] - sbb rcx,QWORD[32+rsi] - mov QWORD[rdx],r8 - mov QWORD[8+rdx],r9 - mov QWORD[16+rdx],r10 - mov QWORD[24+rdx],r11 - mov QWORD[32+rdx],rcx - - mov r8,QWORD[40+rdi] - mov r9,QWORD[48+rdi] - mov r10,QWORD[56+rdi] - mov r11,QWORD[64+rdi] - mov rcx,QWORD[72+rdi] - sbb r8,QWORD[40+rsi] - sbb r9,QWORD[48+rsi] - sbb r10,QWORD[56+rsi] - sbb r11,QWORD[64+rsi] - sbb rcx,QWORD[72+rsi] - mov QWORD[40+rdx],r8 - mov QWORD[48+rdx],r9 - mov QWORD[56+rdx],r10 - mov QWORD[64+rdx],r11 - mov QWORD[72+rdx],rcx - - mov r8,QWORD[80+rdi] - mov r9,QWORD[88+rdi] - mov r10,QWORD[96+rdi] - mov r11,QWORD[104+rdi] - sbb r8,QWORD[80+rsi] - sbb r9,QWORD[88+rsi] - sbb r10,QWORD[96+rsi] - sbb r11,QWORD[104+rsi] - sbb rax,0x0 - mov QWORD[80+rdx],r8 - mov QWORD[88+rdx],r9 - mov QWORD[96+rdx],r10 - mov QWORD[104+rdx],r11 - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret - -global sike_mpdblsubx2_asm - -sike_mpdblsubx2_asm: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_sike_mpdblsubx2_asm: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - - - - push r12 - - - push r13 - - - - xor rax,rax - - - mov r8,QWORD[rdx] - mov r9,QWORD[8+rdx] - mov r10,QWORD[16+rdx] - mov r11,QWORD[24+rdx] - mov r12,QWORD[32+rdx] - mov r13,QWORD[40+rdx] - mov rcx,QWORD[48+rdx] - sub r8,QWORD[rdi] - sbb r9,QWORD[8+rdi] - sbb r10,QWORD[16+rdi] - sbb r11,QWORD[24+rdi] - sbb r12,QWORD[32+rdi] - sbb r13,QWORD[40+rdi] - sbb rcx,QWORD[48+rdi] - adc rax,0x0 - - - sub r8,QWORD[rsi] - sbb r9,QWORD[8+rsi] - sbb r10,QWORD[16+rsi] - sbb r11,QWORD[24+rsi] - sbb r12,QWORD[32+rsi] - sbb r13,QWORD[40+rsi] - sbb rcx,QWORD[48+rsi] - adc rax,0x0 - - - mov QWORD[rdx],r8 - mov QWORD[8+rdx],r9 - mov QWORD[16+rdx],r10 - mov QWORD[24+rdx],r11 - mov QWORD[32+rdx],r12 - mov QWORD[40+rdx],r13 - mov QWORD[48+rdx],rcx - - - mov r8,QWORD[56+rdx] - mov r9,QWORD[64+rdx] - mov r10,QWORD[72+rdx] - mov r11,QWORD[80+rdx] - mov r12,QWORD[88+rdx] - mov r13,QWORD[96+rdx] - mov rcx,QWORD[104+rdx] - - sub r8,rax - sbb r8,QWORD[56+rdi] - sbb r9,QWORD[64+rdi] - sbb r10,QWORD[72+rdi] - sbb r11,QWORD[80+rdi] - sbb r12,QWORD[88+rdi] - sbb r13,QWORD[96+rdi] - sbb rcx,QWORD[104+rdi] - - - sub r8,QWORD[56+rsi] - sbb r9,QWORD[64+rsi] - sbb r10,QWORD[72+rsi] - sbb r11,QWORD[80+rsi] - sbb r12,QWORD[88+rsi] - sbb r13,QWORD[96+rsi] - sbb rcx,QWORD[104+rsi] - - - mov QWORD[56+rdx],r8 - mov QWORD[64+rdx],r9 - mov QWORD[72+rdx],r10 - mov QWORD[80+rdx],r11 - mov QWORD[88+rdx],r12 - mov QWORD[96+rdx],r13 - mov QWORD[104+rdx],rcx - - pop r13 - - pop r12 - - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret - - -$L$rdc_bdw: - - - - - - - - - xor rax,rax - mov rdx,QWORD[((0+0))+rdi] - mulx r9,r8,QWORD[((0+$L$p434p1))] - mulx r10,r12,QWORD[((8+$L$p434p1))] - mulx r11,r13,QWORD[((16+$L$p434p1))] - - adox r9,r12 - adox r10,r13 - - mulx r12,r13,QWORD[((24+$L$p434p1))] - adox r11,r13 - adox r12,rax - - xor rax,rax - mov rdx,QWORD[((0+8))+rdi] - mulx rcx,r13,QWORD[((0+$L$p434p1))] - adcx r9,r13 - adcx r10,rcx - - mulx r13,rcx,QWORD[((8+$L$p434p1))] - adcx r11,r13 - adox r10,rcx - - mulx r13,rcx,QWORD[((16+$L$p434p1))] - adcx r12,r13 - adox r11,rcx - - mulx r13,rcx,QWORD[((24+$L$p434p1))] - adcx r13,rax - adox r12,rcx - adox r13,rax - - xor rcx,rcx - add r8,QWORD[24+rdi] - adc r9,QWORD[32+rdi] - adc r10,QWORD[40+rdi] - adc r11,QWORD[48+rdi] - adc r12,QWORD[56+rdi] - adc r13,QWORD[64+rdi] - adc rcx,QWORD[72+rdi] - mov QWORD[24+rdi],r8 - mov QWORD[32+rdi],r9 - mov QWORD[40+rdi],r10 - mov QWORD[48+rdi],r11 - mov QWORD[56+rdi],r12 - mov QWORD[64+rdi],r13 - mov QWORD[72+rdi],rcx - mov r8,QWORD[80+rdi] - mov r9,QWORD[88+rdi] - mov r10,QWORD[96+rdi] - mov r11,QWORD[104+rdi] - adc r8,0x0 - adc r9,0x0 - adc r10,0x0 - adc r11,0x0 - mov QWORD[80+rdi],r8 - mov QWORD[88+rdi],r9 - mov QWORD[96+rdi],r10 - mov QWORD[104+rdi],r11 - - xor rax,rax - mov rdx,QWORD[((16+0))+rdi] - mulx r9,r8,QWORD[((0+$L$p434p1))] - mulx r10,r12,QWORD[((8+$L$p434p1))] - mulx r11,r13,QWORD[((16+$L$p434p1))] - - adox r9,r12 - adox r10,r13 - - mulx r12,r13,QWORD[((24+$L$p434p1))] - adox r11,r13 - adox r12,rax - - xor rax,rax - mov rdx,QWORD[((16+8))+rdi] - mulx rcx,r13,QWORD[((0+$L$p434p1))] - adcx r9,r13 - adcx r10,rcx - - mulx r13,rcx,QWORD[((8+$L$p434p1))] - adcx r11,r13 - adox r10,rcx - - mulx r13,rcx,QWORD[((16+$L$p434p1))] - adcx r12,r13 - adox r11,rcx - - mulx r13,rcx,QWORD[((24+$L$p434p1))] - adcx r13,rax - adox r12,rcx - adox r13,rax - - xor rcx,rcx - add r8,QWORD[40+rdi] - adc r9,QWORD[48+rdi] - adc r10,QWORD[56+rdi] - adc r11,QWORD[64+rdi] - adc r12,QWORD[72+rdi] - adc r13,QWORD[80+rdi] - adc rcx,QWORD[88+rdi] - mov QWORD[40+rdi],r8 - mov QWORD[48+rdi],r9 - mov QWORD[56+rdi],r10 - mov QWORD[64+rdi],r11 - mov QWORD[72+rdi],r12 - mov QWORD[80+rdi],r13 - mov QWORD[88+rdi],rcx - mov r8,QWORD[96+rdi] - mov r9,QWORD[104+rdi] - adc r8,0x0 - adc r9,0x0 - mov QWORD[96+rdi],r8 - mov QWORD[104+rdi],r9 - - xor rax,rax - mov rdx,QWORD[((32+0))+rdi] - mulx r9,r8,QWORD[((0+$L$p434p1))] - mulx r10,r12,QWORD[((8+$L$p434p1))] - mulx r11,r13,QWORD[((16+$L$p434p1))] - - adox r9,r12 - adox r10,r13 - - mulx r12,r13,QWORD[((24+$L$p434p1))] - adox r11,r13 - adox r12,rax - - xor rax,rax - mov rdx,QWORD[((32+8))+rdi] - mulx rcx,r13,QWORD[((0+$L$p434p1))] - adcx r9,r13 - adcx r10,rcx - - mulx r13,rcx,QWORD[((8+$L$p434p1))] - adcx r11,r13 - adox r10,rcx - - mulx r13,rcx,QWORD[((16+$L$p434p1))] - adcx r12,r13 - adox r11,rcx - - mulx r13,rcx,QWORD[((24+$L$p434p1))] - adcx r13,rax - adox r12,rcx - adox r13,rax - - xor rcx,rcx - add r8,QWORD[56+rdi] - adc r9,QWORD[64+rdi] - adc r10,QWORD[72+rdi] - adc r11,QWORD[80+rdi] - adc r12,QWORD[88+rdi] - adc r13,QWORD[96+rdi] - adc rcx,QWORD[104+rdi] - mov QWORD[rsi],r8 - mov QWORD[8+rsi],r9 - mov QWORD[72+rdi],r10 - mov QWORD[80+rdi],r11 - mov QWORD[88+rdi],r12 - mov QWORD[96+rdi],r13 - mov QWORD[104+rdi],rcx - - xor rax,rax - mov rdx,QWORD[48+rdi] - mulx r9,r8,QWORD[((0+$L$p434p1))] - mulx r10,r12,QWORD[((8+$L$p434p1))] - mulx r11,r13,QWORD[((16+$L$p434p1))] - - adox r9,r12 - adox r10,r13 - - mulx r12,r13,QWORD[((24+$L$p434p1))] - adox r11,r13 - adox r12,rax - - add r8,QWORD[72+rdi] - adc r9,QWORD[80+rdi] - adc r10,QWORD[88+rdi] - adc r11,QWORD[96+rdi] - adc r12,QWORD[104+rdi] - mov QWORD[16+rsi],r8 - mov QWORD[24+rsi],r9 - mov QWORD[32+rsi],r10 - mov QWORD[40+rsi],r11 - mov QWORD[48+rsi],r12 - - - pop r15 - - - pop r14 - - - pop r13 - - - pop r12 - - - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret - -global sike_fprdc - -sike_fprdc: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_sike_fprdc: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - - - - push r12 - - - push r13 - - - push r14 - - - push r15 - - - - - - lea rcx,[OPENSSL_ia32cap_P] - mov rcx,QWORD[8+rcx] - and ecx,0x80100 - cmp ecx,0x80100 - je NEAR $L$rdc_bdw - - - - - mov r14,QWORD[((0+0))+rdi] - mov rax,QWORD[((0+$L$p434p1))] - mul r14 - xor r10,r10 - mov r8,rax - mov r9,rdx - - - mov rax,QWORD[((8+$L$p434p1))] - mul r14 - xor r11,r11 - add r9,rax - adc r10,rdx - - - mov rcx,QWORD[((0+8))+rdi] - mov rax,QWORD[((0+$L$p434p1))] - mul rcx - add r9,rax - adc r10,rdx - adc r11,0x0 - - - xor r12,r12 - mov rax,QWORD[((16+$L$p434p1))] - mul r14 - add r10,rax - adc r11,rdx - adc r12,0x0 - - - mov rax,QWORD[((8+$L$p434p1))] - mul rcx - add r10,rax - adc r11,rdx - adc r12,0x0 - - - mov rax,QWORD[((24+$L$p434p1))] - mul r14 - xor r13,r13 - add r11,rax - adc r12,rdx - adc r13,0x0 - - - mov rax,QWORD[((16+$L$p434p1))] - mul rcx - add r11,rax - adc r12,rdx - adc r13,0x0 - - - mov rax,QWORD[((24+$L$p434p1))] - mul rcx - add r12,rax - adc r13,rdx - - - xor rcx,rcx - add r8,QWORD[24+rdi] - adc r9,QWORD[32+rdi] - adc r10,QWORD[40+rdi] - adc r11,QWORD[48+rdi] - adc r12,QWORD[56+rdi] - adc r13,QWORD[64+rdi] - adc rcx,QWORD[72+rdi] - mov QWORD[24+rdi],r8 - mov QWORD[32+rdi],r9 - mov QWORD[40+rdi],r10 - mov QWORD[48+rdi],r11 - mov QWORD[56+rdi],r12 - mov QWORD[64+rdi],r13 - mov QWORD[72+rdi],rcx - mov r8,QWORD[80+rdi] - mov r9,QWORD[88+rdi] - mov r10,QWORD[96+rdi] - mov r11,QWORD[104+rdi] - adc r8,0x0 - adc r9,0x0 - adc r10,0x0 - adc r11,0x0 - mov QWORD[80+rdi],r8 - mov QWORD[88+rdi],r9 - mov QWORD[96+rdi],r10 - mov QWORD[104+rdi],r11 - - - mov r14,QWORD[((16+0))+rdi] - mov rax,QWORD[((0+$L$p434p1))] - mul r14 - xor r10,r10 - mov r8,rax - mov r9,rdx - - - mov rax,QWORD[((8+$L$p434p1))] - mul r14 - xor r11,r11 - add r9,rax - adc r10,rdx - - - mov rcx,QWORD[((16+8))+rdi] - mov rax,QWORD[((0+$L$p434p1))] - mul rcx - add r9,rax - adc r10,rdx - adc r11,0x0 - - - xor r12,r12 - mov rax,QWORD[((16+$L$p434p1))] - mul r14 - add r10,rax - adc r11,rdx - adc r12,0x0 - - - mov rax,QWORD[((8+$L$p434p1))] - mul rcx - add r10,rax - adc r11,rdx - adc r12,0x0 - - - mov rax,QWORD[((24+$L$p434p1))] - mul r14 - xor r13,r13 - add r11,rax - adc r12,rdx - adc r13,0x0 - - - mov rax,QWORD[((16+$L$p434p1))] - mul rcx - add r11,rax - adc r12,rdx - adc r13,0x0 - - - mov rax,QWORD[((24+$L$p434p1))] - mul rcx - add r12,rax - adc r13,rdx - - - xor rcx,rcx - add r8,QWORD[40+rdi] - adc r9,QWORD[48+rdi] - adc r10,QWORD[56+rdi] - adc r11,QWORD[64+rdi] - adc r12,QWORD[72+rdi] - adc r13,QWORD[80+rdi] - adc rcx,QWORD[88+rdi] - mov QWORD[40+rdi],r8 - mov QWORD[48+rdi],r9 - mov QWORD[56+rdi],r10 - mov QWORD[64+rdi],r11 - mov QWORD[72+rdi],r12 - mov QWORD[80+rdi],r13 - mov QWORD[88+rdi],rcx - mov r8,QWORD[96+rdi] - mov r9,QWORD[104+rdi] - adc r8,0x0 - adc r9,0x0 - mov QWORD[96+rdi],r8 - mov QWORD[104+rdi],r9 - - - mov r14,QWORD[((32+0))+rdi] - mov rax,QWORD[((0+$L$p434p1))] - mul r14 - xor r10,r10 - mov r8,rax - mov r9,rdx - - - mov rax,QWORD[((8+$L$p434p1))] - mul r14 - xor r11,r11 - add r9,rax - adc r10,rdx - - - mov rcx,QWORD[((32+8))+rdi] - mov rax,QWORD[((0+$L$p434p1))] - mul rcx - add r9,rax - adc r10,rdx - adc r11,0x0 - - - xor r12,r12 - mov rax,QWORD[((16+$L$p434p1))] - mul r14 - add r10,rax - adc r11,rdx - adc r12,0x0 - - - mov rax,QWORD[((8+$L$p434p1))] - mul rcx - add r10,rax - adc r11,rdx - adc r12,0x0 - - - mov rax,QWORD[((24+$L$p434p1))] - mul r14 - xor r13,r13 - add r11,rax - adc r12,rdx - adc r13,0x0 - - - mov rax,QWORD[((16+$L$p434p1))] - mul rcx - add r11,rax - adc r12,rdx - adc r13,0x0 - - - mov rax,QWORD[((24+$L$p434p1))] - mul rcx - add r12,rax - adc r13,rdx - - - xor rcx,rcx - add r8,QWORD[56+rdi] - adc r9,QWORD[64+rdi] - adc r10,QWORD[72+rdi] - adc r11,QWORD[80+rdi] - adc r12,QWORD[88+rdi] - adc r13,QWORD[96+rdi] - adc rcx,QWORD[104+rdi] - mov QWORD[rsi],r8 - mov QWORD[8+rsi],r9 - mov QWORD[72+rdi],r10 - mov QWORD[80+rdi],r11 - mov QWORD[88+rdi],r12 - mov QWORD[96+rdi],r13 - mov QWORD[104+rdi],rcx - - mov r13,QWORD[48+rdi] - - xor r10,r10 - mov rax,QWORD[((0+$L$p434p1))] - mul r13 - mov r8,rax - mov r9,rdx - - xor r11,r11 - mov rax,QWORD[((8+$L$p434p1))] - mul r13 - add r9,rax - adc r10,rdx - - xor r12,r12 - mov rax,QWORD[((16+$L$p434p1))] - mul r13 - add r10,rax - adc r11,rdx - - mov rax,QWORD[((24+$L$p434p1))] - mul r13 - add r11,rax - adc r12,rdx - - add r8,QWORD[72+rdi] - adc r9,QWORD[80+rdi] - adc r10,QWORD[88+rdi] - adc r11,QWORD[96+rdi] - adc r12,QWORD[104+rdi] - mov QWORD[16+rsi],r8 - mov QWORD[24+rsi],r9 - mov QWORD[32+rsi],r10 - mov QWORD[40+rsi],r11 - mov QWORD[48+rsi],r12 - - - pop r15 - - pop r14 - - pop r13 - - pop r12 - - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret - -$L$mul_bdw: - - - - - - - - - - mov rcx,rdx - xor rax,rax - - - mov r8,QWORD[rdi] - mov r9,QWORD[8+rdi] - mov r10,QWORD[16+rdi] - mov r11,QWORD[24+rdi] - - push rbx - - - push rbp - - - sub rsp,96 - - - add r8,QWORD[32+rdi] - adc r9,QWORD[40+rdi] - adc r10,QWORD[48+rdi] - adc r11,0x0 - sbb rax,0x0 - mov QWORD[rsp],r8 - mov QWORD[8+rsp],r9 - mov QWORD[16+rsp],r10 - mov QWORD[24+rsp],r11 - - - xor rbx,rbx - mov r12,QWORD[rsi] - mov r13,QWORD[8+rsi] - mov r14,QWORD[16+rsi] - mov r15,QWORD[24+rsi] - add r12,QWORD[32+rsi] - adc r13,QWORD[40+rsi] - adc r14,QWORD[48+rsi] - adc r15,0x0 - sbb rbx,0x0 - mov QWORD[32+rsp],r12 - mov QWORD[40+rsp],r13 - mov QWORD[48+rsp],r14 - mov QWORD[56+rsp],r15 - - - and r12,rax - and r13,rax - and r14,rax - and r15,rax - - - and r8,rbx - and r9,rbx - and r10,rbx - and r11,rbx - - - add r8,r12 - adc r9,r13 - adc r10,r14 - adc r11,r15 - mov QWORD[64+rsp],r8 - mov QWORD[72+rsp],r9 - mov QWORD[80+rsp],r10 - mov QWORD[88+rsp],r11 - - - mov rdx,QWORD[((0+0))+rsp] - mulx r8,r9,QWORD[((32+0))+rsp] - mov QWORD[((0+0))+rsp],r9 - mulx r9,r10,QWORD[((32+8))+rsp] - xor rax,rax - adox r8,r10 - mulx r10,r11,QWORD[((32+16))+rsp] - adox r9,r11 - mulx r11,r12,QWORD[((32+24))+rsp] - adox r10,r12 - - mov rdx,QWORD[((0+8))+rsp] - mulx r13,r12,QWORD[((32+0))+rsp] - adox r11,rax - xor rax,rax - mulx r14,r15,QWORD[((32+8))+rsp] - adox r12,r8 - mov QWORD[((0+8))+rsp],r12 - adcx r13,r15 - mulx r15,rbx,QWORD[((32+16))+rsp] - adcx r14,rbx - adox r13,r9 - mulx rbx,rbp,QWORD[((32+24))+rsp] - adcx r15,rbp - adcx rbx,rax - adox r14,r10 - - mov rdx,QWORD[((0+16))+rsp] - mulx r9,r8,QWORD[((32+0))+rsp] - adox r15,r11 - adox rbx,rax - xor rax,rax - mulx r10,r11,QWORD[((32+8))+rsp] - adox r8,r13 - mov QWORD[((0+16))+rsp],r8 - adcx r9,r11 - mulx r11,r12,QWORD[((32+16))+rsp] - adcx r10,r12 - adox r9,r14 - mulx r12,rbp,QWORD[((32+24))+rsp] - adcx r11,rbp - adcx r12,rax - - adox r10,r15 - adox r11,rbx - adox r12,rax - - mov rdx,QWORD[((0+24))+rsp] - mulx r13,r8,QWORD[((32+0))+rsp] - xor rax,rax - mulx r14,r15,QWORD[((32+8))+rsp] - adcx r13,r15 - adox r9,r8 - mulx r15,rbx,QWORD[((32+16))+rsp] - adcx r14,rbx - adox r10,r13 - mulx rbx,rbp,QWORD[((32+24))+rsp] - adcx r15,rbp - adcx rbx,rax - adox r11,r14 - adox r12,r15 - adox rbx,rax - mov QWORD[((0+24))+rsp],r9 - mov QWORD[((0+32))+rsp],r10 - mov QWORD[((0+40))+rsp],r11 - mov QWORD[((0+48))+rsp],r12 - mov QWORD[((0+56))+rsp],rbx - - - - mov rdx,QWORD[((0+0))+rdi] - mulx r8,r9,QWORD[((0+0))+rsi] - mov QWORD[((0+0))+rcx],r9 - mulx r9,r10,QWORD[((0+8))+rsi] - xor rax,rax - adox r8,r10 - mulx r10,r11,QWORD[((0+16))+rsi] - adox r9,r11 - mulx r11,r12,QWORD[((0+24))+rsi] - adox r10,r12 - - mov rdx,QWORD[((0+8))+rdi] - mulx r13,r12,QWORD[((0+0))+rsi] - adox r11,rax - xor rax,rax - mulx r14,r15,QWORD[((0+8))+rsi] - adox r12,r8 - mov QWORD[((0+8))+rcx],r12 - adcx r13,r15 - mulx r15,rbx,QWORD[((0+16))+rsi] - adcx r14,rbx - adox r13,r9 - mulx rbx,rbp,QWORD[((0+24))+rsi] - adcx r15,rbp - adcx rbx,rax - adox r14,r10 - - mov rdx,QWORD[((0+16))+rdi] - mulx r9,r8,QWORD[((0+0))+rsi] - adox r15,r11 - adox rbx,rax - xor rax,rax - mulx r10,r11,QWORD[((0+8))+rsi] - adox r8,r13 - mov QWORD[((0+16))+rcx],r8 - adcx r9,r11 - mulx r11,r12,QWORD[((0+16))+rsi] - adcx r10,r12 - adox r9,r14 - mulx r12,rbp,QWORD[((0+24))+rsi] - adcx r11,rbp - adcx r12,rax - - adox r10,r15 - adox r11,rbx - adox r12,rax - - mov rdx,QWORD[((0+24))+rdi] - mulx r13,r8,QWORD[((0+0))+rsi] - xor rax,rax - mulx r14,r15,QWORD[((0+8))+rsi] - adcx r13,r15 - adox r9,r8 - mulx r15,rbx,QWORD[((0+16))+rsi] - adcx r14,rbx - adox r10,r13 - mulx rbx,rbp,QWORD[((0+24))+rsi] - adcx r15,rbp - adcx rbx,rax - adox r11,r14 - adox r12,r15 - adox rbx,rax - mov QWORD[((0+24))+rcx],r9 - mov QWORD[((0+32))+rcx],r10 - mov QWORD[((0+40))+rcx],r11 - mov QWORD[((0+48))+rcx],r12 - mov QWORD[((0+56))+rcx],rbx - - - - mov rdx,QWORD[((32+0))+rdi] - mulx r8,r9,QWORD[((32+0))+rsi] - mov QWORD[((64+0))+rcx],r9 - mulx r9,r10,QWORD[((32+8))+rsi] - xor rax,rax - adox r8,r10 - mulx r10,r11,QWORD[((32+16))+rsi] - adox r9,r11 - - mov rdx,QWORD[((32+8))+rdi] - mulx r11,r12,QWORD[((32+0))+rsi] - adox r10,rax - xor rax,rax - - mulx r13,r14,QWORD[((32+8))+rsi] - adox r12,r8 - mov QWORD[((64+8))+rcx],r12 - adcx r11,r14 - - mulx r14,r8,QWORD[((32+16))+rsi] - adox r11,r9 - adcx r13,r8 - adcx r14,rax - adox r13,r10 - - mov rdx,QWORD[((32+16))+rdi] - mulx r9,r8,QWORD[((32+0))+rsi] - adox r14,rax - xor rax,rax - - mulx r12,r10,QWORD[((32+8))+rsi] - adox r8,r11 - mov QWORD[((64+16))+rcx],r8 - adcx r9,r13 - - mulx r8,r11,QWORD[((32+16))+rsi] - adcx r12,r14 - adcx r8,rax - adox r9,r10 - adox r11,r12 - adox r8,rax - mov QWORD[((64+24))+rcx],r9 - mov QWORD[((64+32))+rcx],r11 - mov QWORD[((64+40))+rcx],r8 - - - - - mov r8,QWORD[64+rsp] - mov r9,QWORD[72+rsp] - mov r10,QWORD[80+rsp] - mov r11,QWORD[88+rsp] - - mov rax,QWORD[32+rsp] - add r8,rax - mov rax,QWORD[40+rsp] - adc r9,rax - mov rax,QWORD[48+rsp] - adc r10,rax - mov rax,QWORD[56+rsp] - adc r11,rax - - - mov r12,QWORD[rsp] - mov r13,QWORD[8+rsp] - mov r14,QWORD[16+rsp] - mov r15,QWORD[24+rsp] - sub r12,QWORD[rcx] - sbb r13,QWORD[8+rcx] - sbb r14,QWORD[16+rcx] - sbb r15,QWORD[24+rcx] - sbb r8,QWORD[32+rcx] - sbb r9,QWORD[40+rcx] - sbb r10,QWORD[48+rcx] - sbb r11,QWORD[56+rcx] - - - sub r12,QWORD[64+rcx] - sbb r13,QWORD[72+rcx] - sbb r14,QWORD[80+rcx] - sbb r15,QWORD[88+rcx] - sbb r8,QWORD[96+rcx] - sbb r9,QWORD[104+rcx] - sbb r10,0x0 - sbb r11,0x0 - - add r12,QWORD[32+rcx] - mov QWORD[32+rcx],r12 - adc r13,QWORD[40+rcx] - mov QWORD[40+rcx],r13 - adc r14,QWORD[48+rcx] - mov QWORD[48+rcx],r14 - adc r15,QWORD[56+rcx] - mov QWORD[56+rcx],r15 - adc r8,QWORD[64+rcx] - mov QWORD[64+rcx],r8 - adc r9,QWORD[72+rcx] - mov QWORD[72+rcx],r9 - adc r10,QWORD[80+rcx] - mov QWORD[80+rcx],r10 - adc r11,QWORD[88+rcx] - mov QWORD[88+rcx],r11 - mov r12,QWORD[96+rcx] - adc r12,0x0 - mov QWORD[96+rcx],r12 - mov r13,QWORD[104+rcx] - adc r13,0x0 - mov QWORD[104+rcx],r13 - - add rsp,96 - - pop rbp - - - pop rbx - - - - - pop r15 - - - pop r14 - - - pop r13 - - - pop r12 - - - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret - - -global sike_mpmul - -sike_mpmul: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_sike_mpmul: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - - - - push r12 - - - push r13 - - - push r14 - - - push r15 - - - - - - lea rcx,[OPENSSL_ia32cap_P] - mov rcx,QWORD[8+rcx] - and ecx,0x80100 - cmp ecx,0x80100 - je NEAR $L$mul_bdw - - - - mov rcx,rdx - - sub rsp,112 - - - - xor rax,rax - mov r8,QWORD[32+rdi] - mov r9,QWORD[40+rdi] - mov r10,QWORD[48+rdi] - xor r11,r11 - add r8,QWORD[rdi] - adc r9,QWORD[8+rdi] - adc r10,QWORD[16+rdi] - adc r11,QWORD[24+rdi] - - sbb rax,0 - mov QWORD[64+rsp],rax - - mov QWORD[rcx],r8 - mov QWORD[8+rcx],r9 - mov QWORD[16+rcx],r10 - mov QWORD[24+rcx],r11 - - - xor rdx,rdx - mov r12,QWORD[32+rsi] - mov r13,QWORD[40+rsi] - mov r14,QWORD[48+rsi] - xor r15,r15 - add r12,QWORD[rsi] - adc r13,QWORD[8+rsi] - adc r14,QWORD[16+rsi] - adc r15,QWORD[24+rsi] - sbb rdx,0x0 - - mov QWORD[72+rsp],rdx - - - mov rax,QWORD[rcx] - mul r12 - mov QWORD[rsp],rax - mov r8,rdx - - xor r9,r9 - mov rax,QWORD[rcx] - mul r13 - add r8,rax - adc r9,rdx - - xor r10,r10 - mov rax,QWORD[8+rcx] - mul r12 - add r8,rax - mov QWORD[8+rsp],r8 - adc r9,rdx - adc r10,0x0 - - xor r8,r8 - mov rax,QWORD[rcx] - mul r14 - add r9,rax - adc r10,rdx - adc r8,0x0 - - mov rax,QWORD[16+rcx] - mul r12 - add r9,rax - adc r10,rdx - adc r8,0x0 - - mov rax,QWORD[8+rcx] - mul r13 - add r9,rax - mov QWORD[16+rsp],r9 - adc r10,rdx - adc r8,0x0 - - xor r9,r9 - mov rax,QWORD[rcx] - mul r15 - add r10,rax - adc r8,rdx - adc r9,0x0 - - mov rax,QWORD[24+rcx] - mul r12 - add r10,rax - adc r8,rdx - adc r9,0x0 - - mov rax,QWORD[8+rcx] - mul r14 - add r10,rax - adc r8,rdx - adc r9,0x0 - - mov rax,QWORD[16+rcx] - mul r13 - add r10,rax - mov QWORD[24+rsp],r10 - adc r8,rdx - adc r9,0x0 - - xor r10,r10 - mov rax,QWORD[8+rcx] - mul r15 - add r8,rax - adc r9,rdx - adc r10,0x0 - - mov rax,QWORD[24+rcx] - mul r13 - add r8,rax - adc r9,rdx - adc r10,0x0 - - mov rax,QWORD[16+rcx] - mul r14 - add r8,rax - mov QWORD[32+rsp],r8 - adc r9,rdx - adc r10,0x0 - - xor r11,r11 - mov rax,QWORD[16+rcx] - mul r15 - add r9,rax - adc r10,rdx - adc r11,0x0 - - mov rax,QWORD[24+rcx] - mul r14 - add r9,rax - mov QWORD[40+rsp],r9 - adc r10,rdx - adc r11,0x0 - - mov rax,QWORD[24+rcx] - mul r15 - add r10,rax - mov QWORD[48+rsp],r10 - adc r11,rdx - mov QWORD[56+rsp],r11 - - - mov rax,QWORD[64+rsp] - and r12,rax - and r13,rax - and r14,rax - and r15,rax - - - mov rax,QWORD[72+rsp] - mov r8,QWORD[rcx] - and r8,rax - mov r9,QWORD[8+rcx] - and r9,rax - mov r10,QWORD[16+rcx] - and r10,rax - mov r11,QWORD[24+rcx] - and r11,rax - - - add r12,r8 - adc r13,r9 - adc r14,r10 - adc r15,r11 - - - mov rax,QWORD[32+rsp] - add r12,rax - mov rax,QWORD[40+rsp] - adc r13,rax - mov rax,QWORD[48+rsp] - adc r14,rax - mov rax,QWORD[56+rsp] - adc r15,rax - mov QWORD[80+rsp],r12 - mov QWORD[88+rsp],r13 - mov QWORD[96+rsp],r14 - mov QWORD[104+rsp],r15 - - - mov r11,QWORD[rdi] - mov rax,QWORD[rsi] - mul r11 - xor r9,r9 - mov QWORD[rcx],rax - mov r8,rdx - - mov r14,QWORD[16+rdi] - mov rax,QWORD[8+rsi] - mul r11 - xor r10,r10 - add r8,rax - adc r9,rdx - - mov r12,QWORD[8+rdi] - mov rax,QWORD[rsi] - mul r12 - add r8,rax - mov QWORD[8+rcx],r8 - adc r9,rdx - adc r10,0x0 - - xor r8,r8 - mov rax,QWORD[16+rsi] - mul r11 - add r9,rax - adc r10,rdx - adc r8,0x0 - - mov r13,QWORD[rsi] - mov rax,r14 - mul r13 - add r9,rax - adc r10,rdx - adc r8,0x0 - - mov rax,QWORD[8+rsi] - mul r12 - add r9,rax - mov QWORD[16+rcx],r9 - adc r10,rdx - adc r8,0x0 - - xor r9,r9 - mov rax,QWORD[24+rsi] - mul r11 - mov r15,QWORD[24+rdi] - add r10,rax - adc r8,rdx - adc r9,0x0 - - mov rax,r15 - mul r13 - add r10,rax - adc r8,rdx - adc r9,0x0 - - mov rax,QWORD[16+rsi] - mul r12 - add r10,rax - adc r8,rdx - adc r9,0x0 - - mov rax,QWORD[8+rsi] - mul r14 - add r10,rax - mov QWORD[24+rcx],r10 - adc r8,rdx - adc r9,0x0 - - xor r10,r10 - mov rax,QWORD[24+rsi] - mul r12 - add r8,rax - adc r9,rdx - adc r10,0x0 - - mov rax,QWORD[8+rsi] - mul r15 - add r8,rax - adc r9,rdx - adc r10,0x0 - - mov rax,QWORD[16+rsi] - mul r14 - add r8,rax - mov QWORD[32+rcx],r8 - adc r9,rdx - adc r10,0x0 - - xor r8,r8 - mov rax,QWORD[24+rsi] - mul r14 - add r9,rax - adc r10,rdx - adc r8,0x0 - - mov rax,QWORD[16+rsi] - mul r15 - add r9,rax - mov QWORD[40+rcx],r9 - adc r10,rdx - adc r8,0x0 - - mov rax,QWORD[24+rsi] - mul r15 - add r10,rax - mov QWORD[48+rcx],r10 - adc r8,rdx - mov QWORD[56+rcx],r8 - - - - mov r11,QWORD[32+rdi] - mov rax,QWORD[32+rsi] - mul r11 - xor r9,r9 - mov QWORD[64+rcx],rax - mov r8,rdx - - mov r14,QWORD[48+rdi] - mov rax,QWORD[40+rsi] - mul r11 - xor r10,r10 - add r8,rax - adc r9,rdx - - mov r12,QWORD[40+rdi] - mov rax,QWORD[32+rsi] - mul r12 - add r8,rax - mov QWORD[72+rcx],r8 - adc r9,rdx - adc r10,0x0 - - xor r8,r8 - mov rax,QWORD[48+rsi] - mul r11 - add r9,rax - adc r10,rdx - adc r8,0x0 - - mov r13,QWORD[32+rsi] - mov rax,r14 - mul r13 - add r9,rax - adc r10,rdx - adc r8,0x0 - - mov rax,QWORD[40+rsi] - mul r12 - add r9,rax - mov QWORD[80+rcx],r9 - adc r10,rdx - adc r8,0x0 - - mov rax,QWORD[48+rsi] - mul r12 - xor r12,r12 - add r10,rax - adc r8,rdx - adc r12,0x0 - - mov rax,QWORD[40+rsi] - mul r14 - add r10,rax - adc r8,rdx - adc r12,0x0 - mov QWORD[88+rcx],r10 - - mov rax,QWORD[48+rsi] - mul r14 - add r8,rax - adc r12,0x0 - mov QWORD[96+rcx],r8 - - add rdx,r12 - - - mov r8,QWORD[rsp] - sub r8,QWORD[rcx] - mov r9,QWORD[8+rsp] - sbb r9,QWORD[8+rcx] - mov r10,QWORD[16+rsp] - sbb r10,QWORD[16+rcx] - mov r11,QWORD[24+rsp] - sbb r11,QWORD[24+rcx] - mov r12,QWORD[80+rsp] - sbb r12,QWORD[32+rcx] - mov r13,QWORD[88+rsp] - sbb r13,QWORD[40+rcx] - mov r14,QWORD[96+rsp] - sbb r14,QWORD[48+rcx] - mov r15,QWORD[104+rsp] - sbb r15,QWORD[56+rcx] - - - mov rax,QWORD[64+rcx] - sub r8,rax - mov rax,QWORD[72+rcx] - sbb r9,rax - mov rax,QWORD[80+rcx] - sbb r10,rax - mov rax,QWORD[88+rcx] - sbb r11,rax - mov rax,QWORD[96+rcx] - sbb r12,rax - sbb r13,rdx - sbb r14,0x0 - sbb r15,0x0 - - - add r8,QWORD[32+rcx] - mov QWORD[32+rcx],r8 - adc r9,QWORD[40+rcx] - mov QWORD[40+rcx],r9 - adc r10,QWORD[48+rcx] - mov QWORD[48+rcx],r10 - adc r11,QWORD[56+rcx] - mov QWORD[56+rcx],r11 - adc r12,QWORD[64+rcx] - mov QWORD[64+rcx],r12 - adc r13,QWORD[72+rcx] - mov QWORD[72+rcx],r13 - adc r14,QWORD[80+rcx] - mov QWORD[80+rcx],r14 - adc r15,QWORD[88+rcx] - mov QWORD[88+rcx],r15 - mov r12,QWORD[96+rcx] - adc r12,0x0 - mov QWORD[96+rcx],r12 - adc rdx,0x0 - mov QWORD[104+rcx],rdx - - add rsp,112 - - - - pop r15 - - pop r14 - - pop r13 - - pop r12 - - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret - diff --git a/contrib/brotli-cmake/CMakeLists.txt b/contrib/brotli-cmake/CMakeLists.txt index c81a6bf9076..b89e81ecda1 100644 --- a/contrib/brotli-cmake/CMakeLists.txt +++ b/contrib/brotli-cmake/CMakeLists.txt @@ -45,7 +45,4 @@ add_library(ch_contrib::brotli ALIAS _brotli) target_include_directories(_brotli SYSTEM BEFORE PUBLIC "${BROTLI_SOURCE_DIR}/include") -if(M_LIBRARY) - target_link_libraries(_brotli PRIVATE ${M_LIBRARY}) -endif() target_compile_definitions(_brotli PRIVATE BROTLI_BUILD_PORTABLE=1) diff --git a/contrib/bzip2-cmake/CMakeLists.txt b/contrib/bzip2-cmake/CMakeLists.txt index 2e01a624000..693d4c1663c 100644 --- a/contrib/bzip2-cmake/CMakeLists.txt +++ b/contrib/bzip2-cmake/CMakeLists.txt @@ -1,6 +1,6 @@ option(ENABLE_BZIP2 "Enable bzip2 compression support" ${ENABLE_LIBRARIES}) if (NOT ENABLE_BZIP2) - message (STATUS "bzip2 compression disabled") + message (STATUS "Not using bzip2") return() endif() @@ -26,8 +26,4 @@ configure_file ( add_library(_bzip2 ${SRCS}) add_library(ch_contrib::bzip2 ALIAS _bzip2) -# To avoid -Wreserved-id-macro we use SYSTEM: -# -# clickhouse/contrib/bzip2/bzlib.h:23:9: error: macro name is a reserved identifier [-Werror,-Wreserved-id-macro] -# #define _BZLIB_H target_include_directories(_bzip2 SYSTEM BEFORE PUBLIC "${BZIP2_SOURCE_DIR}" "${BZIP2_BINARY_DIR}") diff --git a/contrib/capnproto-cmake/CMakeLists.txt b/contrib/capnproto-cmake/CMakeLists.txt index 297b847cd58..e76268592ee 100644 --- a/contrib/capnproto-cmake/CMakeLists.txt +++ b/contrib/capnproto-cmake/CMakeLists.txt @@ -81,16 +81,12 @@ set (CAPNPC_SRCS add_library(_capnpc ${CAPNPC_SRCS}) target_link_libraries(_capnpc PUBLIC _capnp) -# The library has substandard code -if (COMPILER_GCC) - set (SUPPRESS_WARNINGS -w) -elseif (COMPILER_CLANG) - set (SUPPRESS_WARNINGS -w) +if (COMPILER_CLANG) set (CAPNP_PRIVATE_CXX_FLAGS -fno-char8_t) endif () -target_compile_options(_kj PRIVATE ${SUPPRESS_WARNINGS} ${CAPNP_PRIVATE_CXX_FLAGS}) -target_compile_options(_capnp PRIVATE ${SUPPRESS_WARNINGS} ${CAPNP_PRIVATE_CXX_FLAGS}) -target_compile_options(_capnpc PRIVATE ${SUPPRESS_WARNINGS} ${CAPNP_PRIVATE_CXX_FLAGS}) +target_compile_options(_kj PRIVATE ${CAPNP_PRIVATE_CXX_FLAGS}) +target_compile_options(_capnp PRIVATE ${CAPNP_PRIVATE_CXX_FLAGS}) +target_compile_options(_capnpc PRIVATE ${CAPNP_PRIVATE_CXX_FLAGS}) add_library(ch_contrib::capnp ALIAS _capnpc) diff --git a/contrib/cassandra-cmake/CMakeLists.txt b/contrib/cassandra-cmake/CMakeLists.txt index 81c1fab3882..59ff908b63a 100644 --- a/contrib/cassandra-cmake/CMakeLists.txt +++ b/contrib/cassandra-cmake/CMakeLists.txt @@ -5,6 +5,12 @@ if (NOT ENABLE_CASSANDRA) return() endif() +# can be removed once libuv build on MacOS with GCC is possible +if (NOT TARGET ch_contrib::uv) + message(STATUS "Not using cassandra because libuv is disabled") + return() +endif() + if (APPLE) set(CMAKE_MACOSX_RPATH ON) endif() diff --git a/contrib/cppkafka-cmake/CMakeLists.txt b/contrib/cppkafka-cmake/CMakeLists.txt index 87bf2356a80..fa1c52180e8 100644 --- a/contrib/cppkafka-cmake/CMakeLists.txt +++ b/contrib/cppkafka-cmake/CMakeLists.txt @@ -1,5 +1,5 @@ if (NOT ENABLE_KAFKA) - message(STATUS "Not using librdkafka (skip cppkafka)") + message(STATUS "Not using kafka") return() endif() diff --git a/contrib/curl b/contrib/curl index 801bd5138ce..462196e6b4a 160000 --- a/contrib/curl +++ b/contrib/curl @@ -1 +1 @@ -Subproject commit 801bd5138ce31aa0d906fa4e2eabfc599d74e793 +Subproject commit 462196e6b4a47f924293a0e26b8e9c23d37ac26f diff --git a/contrib/curl-cmake/CMakeLists.txt b/contrib/curl-cmake/CMakeLists.txt index b1e1a0ded8a..761ee036e66 100644 --- a/contrib/curl-cmake/CMakeLists.txt +++ b/contrib/curl-cmake/CMakeLists.txt @@ -84,7 +84,6 @@ set (SRCS "${LIBRARY_DIR}/lib/gopher.c" "${LIBRARY_DIR}/lib/idn_win32.c" "${LIBRARY_DIR}/lib/http_proxy.c" - "${LIBRARY_DIR}/lib/non-ascii.c" "${LIBRARY_DIR}/lib/asyn-thread.c" "${LIBRARY_DIR}/lib/curl_gssapi.c" "${LIBRARY_DIR}/lib/http_ntlm.c" @@ -93,10 +92,8 @@ set (SRCS "${LIBRARY_DIR}/lib/curl_sasl.c" "${LIBRARY_DIR}/lib/rand.c" "${LIBRARY_DIR}/lib/curl_multibyte.c" - "${LIBRARY_DIR}/lib/hostcheck.c" "${LIBRARY_DIR}/lib/conncache.c" "${LIBRARY_DIR}/lib/dotdot.c" - "${LIBRARY_DIR}/lib/x509asn1.c" "${LIBRARY_DIR}/lib/http2.c" "${LIBRARY_DIR}/lib/smb.c" "${LIBRARY_DIR}/lib/curl_endian.c" @@ -120,6 +117,9 @@ set (SRCS "${LIBRARY_DIR}/lib/http_aws_sigv4.c" "${LIBRARY_DIR}/lib/mqtt.c" "${LIBRARY_DIR}/lib/rename.c" + "${LIBRARY_DIR}/lib/h2h3.c" + "${LIBRARY_DIR}/lib/headers.c" + "${LIBRARY_DIR}/lib/timediff.c" "${LIBRARY_DIR}/lib/vauth/vauth.c" "${LIBRARY_DIR}/lib/vauth/cleartext.c" "${LIBRARY_DIR}/lib/vauth/cram.c" @@ -142,11 +142,13 @@ set (SRCS "${LIBRARY_DIR}/lib/vtls/sectransp.c" "${LIBRARY_DIR}/lib/vtls/gskit.c" "${LIBRARY_DIR}/lib/vtls/mbedtls.c" - "${LIBRARY_DIR}/lib/vtls/mesalink.c" "${LIBRARY_DIR}/lib/vtls/bearssl.c" "${LIBRARY_DIR}/lib/vtls/keylog.c" + "${LIBRARY_DIR}/lib/vtls/x509asn1.c" + "${LIBRARY_DIR}/lib/vtls/hostcheck.c" "${LIBRARY_DIR}/lib/vquic/ngtcp2.c" "${LIBRARY_DIR}/lib/vquic/quiche.c" + "${LIBRARY_DIR}/lib/vquic/msh3.c" "${LIBRARY_DIR}/lib/vssh/libssh2.c" "${LIBRARY_DIR}/lib/vssh/libssh.c" ) diff --git a/contrib/fastops-cmake/CMakeLists.txt b/contrib/fastops-cmake/CMakeLists.txt index 17d6a7f5fcb..e9aa4803583 100644 --- a/contrib/fastops-cmake/CMakeLists.txt +++ b/contrib/fastops-cmake/CMakeLists.txt @@ -5,7 +5,7 @@ elseif(ENABLE_FASTOPS) endif() if(NOT ENABLE_FASTOPS) - message(STATUS "Not using fast vectorized mathematical functions library by Mikhail Parakhin") + message(STATUS "Not using fastops") return() endif() diff --git a/contrib/fmtlib-cmake/CMakeLists.txt b/contrib/fmtlib-cmake/CMakeLists.txt index fecec5f3e43..fe399ddc6e1 100644 --- a/contrib/fmtlib-cmake/CMakeLists.txt +++ b/contrib/fmtlib-cmake/CMakeLists.txt @@ -1,22 +1,24 @@ +set(FMT_SOURCE_DIR "${ClickHouse_SOURCE_DIR}/contrib/fmtlib") + set (SRCS # NOTE: do not build module for now: # ../fmtlib/src/fmt.cc - ../fmtlib/src/format.cc - ../fmtlib/src/os.cc + ${FMT_SOURCE_DIR}/src/format.cc + ${FMT_SOURCE_DIR}/src/os.cc - ../fmtlib/include/fmt/args.h - ../fmtlib/include/fmt/chrono.h - ../fmtlib/include/fmt/color.h - ../fmtlib/include/fmt/compile.h - ../fmtlib/include/fmt/core.h - ../fmtlib/include/fmt/format.h - ../fmtlib/include/fmt/format-inl.h - ../fmtlib/include/fmt/locale.h - ../fmtlib/include/fmt/os.h - ../fmtlib/include/fmt/ostream.h - ../fmtlib/include/fmt/printf.h - ../fmtlib/include/fmt/ranges.h - ../fmtlib/include/fmt/xchar.h + ${FMT_SOURCE_DIR}/include/fmt/args.h + ${FMT_SOURCE_DIR}/include/fmt/chrono.h + ${FMT_SOURCE_DIR}/include/fmt/color.h + ${FMT_SOURCE_DIR}/include/fmt/compile.h + ${FMT_SOURCE_DIR}/include/fmt/core.h + ${FMT_SOURCE_DIR}/include/fmt/format.h + ${FMT_SOURCE_DIR}/include/fmt/format-inl.h + ${FMT_SOURCE_DIR}/include/fmt/locale.h + ${FMT_SOURCE_DIR}/include/fmt/os.h + ${FMT_SOURCE_DIR}/include/fmt/ostream.h + ${FMT_SOURCE_DIR}/include/fmt/printf.h + ${FMT_SOURCE_DIR}/include/fmt/ranges.h + ${FMT_SOURCE_DIR}/include/fmt/xchar.h ) add_library(_fmt ${SRCS}) diff --git a/contrib/grpc b/contrib/grpc index 7eac189a6ba..5e23e96c0c0 160000 --- a/contrib/grpc +++ b/contrib/grpc @@ -1 +1 @@ -Subproject commit 7eac189a6badddac593580ec2ad1478bd2656fc7 +Subproject commit 5e23e96c0c02e451dbb291cf9f66231d02b6cdb6 diff --git a/contrib/h3-cmake/CMakeLists.txt b/contrib/h3-cmake/CMakeLists.txt index 984d1b1ae7c..c0c2162bd26 100644 --- a/contrib/h3-cmake/CMakeLists.txt +++ b/contrib/h3-cmake/CMakeLists.txt @@ -9,23 +9,23 @@ set(H3_SOURCE_DIR "${ClickHouse_SOURCE_DIR}/contrib/h3/src/h3lib") set(H3_BINARY_DIR "${ClickHouse_BINARY_DIR}/contrib/h3/src/h3lib") set(SRCS -"${H3_SOURCE_DIR}/lib/algos.c" -"${H3_SOURCE_DIR}/lib/coordijk.c" -"${H3_SOURCE_DIR}/lib/bbox.c" -"${H3_SOURCE_DIR}/lib/polygon.c" -"${H3_SOURCE_DIR}/lib/h3Index.c" -"${H3_SOURCE_DIR}/lib/vec2d.c" -"${H3_SOURCE_DIR}/lib/vec3d.c" -"${H3_SOURCE_DIR}/lib/vertex.c" -"${H3_SOURCE_DIR}/lib/linkedGeo.c" -"${H3_SOURCE_DIR}/lib/localij.c" -"${H3_SOURCE_DIR}/lib/latLng.c" -"${H3_SOURCE_DIR}/lib/directedEdge.c" -"${H3_SOURCE_DIR}/lib/mathExtensions.c" -"${H3_SOURCE_DIR}/lib/iterators.c" -"${H3_SOURCE_DIR}/lib/vertexGraph.c" -"${H3_SOURCE_DIR}/lib/faceijk.c" -"${H3_SOURCE_DIR}/lib/baseCells.c" + "${H3_SOURCE_DIR}/lib/algos.c" + "${H3_SOURCE_DIR}/lib/coordijk.c" + "${H3_SOURCE_DIR}/lib/bbox.c" + "${H3_SOURCE_DIR}/lib/polygon.c" + "${H3_SOURCE_DIR}/lib/h3Index.c" + "${H3_SOURCE_DIR}/lib/vec2d.c" + "${H3_SOURCE_DIR}/lib/vec3d.c" + "${H3_SOURCE_DIR}/lib/vertex.c" + "${H3_SOURCE_DIR}/lib/linkedGeo.c" + "${H3_SOURCE_DIR}/lib/localij.c" + "${H3_SOURCE_DIR}/lib/latLng.c" + "${H3_SOURCE_DIR}/lib/directedEdge.c" + "${H3_SOURCE_DIR}/lib/mathExtensions.c" + "${H3_SOURCE_DIR}/lib/iterators.c" + "${H3_SOURCE_DIR}/lib/vertexGraph.c" + "${H3_SOURCE_DIR}/lib/faceijk.c" + "${H3_SOURCE_DIR}/lib/baseCells.c" ) configure_file("${H3_SOURCE_DIR}/include/h3api.h.in" "${H3_BINARY_DIR}/include/h3api.h") @@ -34,8 +34,5 @@ add_library(_h3 ${SRCS}) target_include_directories(_h3 SYSTEM PUBLIC "${H3_SOURCE_DIR}/include") target_include_directories(_h3 SYSTEM PUBLIC "${H3_BINARY_DIR}/include") target_compile_definitions(_h3 PRIVATE H3_HAVE_VLA) -if(M_LIBRARY) - target_link_libraries(_h3 PRIVATE ${M_LIBRARY}) -endif() add_library(ch_contrib::h3 ALIAS _h3) diff --git a/contrib/hive-metastore-cmake/CMakeLists.txt b/contrib/hive-metastore-cmake/CMakeLists.txt index 9069d46cea7..a5e16c739af 100644 --- a/contrib/hive-metastore-cmake/CMakeLists.txt +++ b/contrib/hive-metastore-cmake/CMakeLists.txt @@ -5,7 +5,7 @@ elseif(ENABLE_HIVE) endif() if (NOT ENABLE_HIVE) - message("Hive disabled") + message(STATUS "Not using hive") return() endif() diff --git a/contrib/hyperscan b/contrib/hyperscan deleted file mode 160000 index 5edc68c5ac6..00000000000 --- a/contrib/hyperscan +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 5edc68c5ac68d2d4f876159e9ee84def6d3dc87c diff --git a/contrib/icu-cmake/CMakeLists.txt b/contrib/icu-cmake/CMakeLists.txt index 9c34228e2a0..ce82155218c 100644 --- a/contrib/icu-cmake/CMakeLists.txt +++ b/contrib/icu-cmake/CMakeLists.txt @@ -481,10 +481,6 @@ target_include_directories(_icui18n SYSTEM PUBLIC "${ICU_SOURCE_DIR}/i18n/") target_compile_definitions(_icuuc PRIVATE -DU_COMMON_IMPLEMENTATION) target_compile_definitions(_icui18n PRIVATE -DU_I18N_IMPLEMENTATION) -if (COMPILER_CLANG) - target_compile_options(_icudata PRIVATE -Wno-unused-command-line-argument) -endif () - add_library(_icu INTERFACE) target_link_libraries(_icu INTERFACE _icui18n _icuuc _icudata) add_library(ch_contrib::icu ALIAS _icu) diff --git a/contrib/jemalloc-cmake/CMakeLists.txt b/contrib/jemalloc-cmake/CMakeLists.txt index c59b4da890b..fdb0fd0e8af 100644 --- a/contrib/jemalloc-cmake/CMakeLists.txt +++ b/contrib/jemalloc-cmake/CMakeLists.txt @@ -180,7 +180,6 @@ if (USE_UNWIND) target_link_libraries (_jemalloc PRIVATE unwind) endif () -target_compile_options(_jemalloc PRIVATE -Wno-redundant-decls) # for RTLD_NEXT target_compile_options(_jemalloc PRIVATE -D_GNU_SOURCE) diff --git a/contrib/libcpuid-cmake/CMakeLists.txt b/contrib/libcpuid-cmake/CMakeLists.txt index 1940b39b6aa..fd5af925c57 100644 --- a/contrib/libcpuid-cmake/CMakeLists.txt +++ b/contrib/libcpuid-cmake/CMakeLists.txt @@ -6,7 +6,7 @@ elseif(ENABLE_CPUID) endif() if (NOT ENABLE_CPUID) - message("Not using cpuid") + message(STATUS "Not using cpuid") return() endif() @@ -27,8 +27,5 @@ add_library (_cpuid ${SRCS}) target_include_directories (_cpuid SYSTEM PUBLIC "${LIBRARY_DIR}") target_compile_definitions (_cpuid PRIVATE VERSION="v0.4.1") -if (COMPILER_CLANG) - target_compile_options (_cpuid PRIVATE -Wno-reserved-id-macro) -endif () add_library(ch_contrib::cpuid ALIAS _cpuid) diff --git a/contrib/libcxx-cmake/CMakeLists.txt b/contrib/libcxx-cmake/CMakeLists.txt index dc9df48b2c1..a501c4df64f 100644 --- a/contrib/libcxx-cmake/CMakeLists.txt +++ b/contrib/libcxx-cmake/CMakeLists.txt @@ -78,6 +78,9 @@ target_compile_options(cxx PUBLIC $<$:-nostdinc++>) # Third party library may have substandard code. target_compile_options(cxx PRIVATE -w) +# Enable support for Clang-Thread-Safety-Analysis in libcxx +target_compile_definitions(cxx PUBLIC -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS) + target_link_libraries(cxx PUBLIC cxxabi) # For __udivmodti4, __divmodti4. diff --git a/contrib/libgsasl-cmake/CMakeLists.txt b/contrib/libgsasl-cmake/CMakeLists.txt index 4bb4ca9dc33..f0c2395a831 100644 --- a/contrib/libgsasl-cmake/CMakeLists.txt +++ b/contrib/libgsasl-cmake/CMakeLists.txt @@ -1,7 +1,7 @@ option(ENABLE_GSASL_LIBRARY "Enable gsasl library" ${ENABLE_LIBRARIES}) if (NOT ENABLE_GSASL_LIBRARY) - message(STATUS "Not using gsasl library") + message(STATUS "Not using gsasl") return() endif() @@ -113,4 +113,8 @@ if (TARGET ch_contrib::krb5) target_compile_definitions(_gsasl PRIVATE HAVE_GSSAPI_H=1 USE_GSSAPI=1) endif() +if (TARGET OpenSSL::SSL) + target_link_libraries(_gsasl PRIVATE OpenSSL::Crypto OpenSSL::SSL) +endif() + add_library(ch_contrib::gsasl ALIAS _gsasl) diff --git a/contrib/librdkafka b/contrib/librdkafka index b8554f16820..6062e711a91 160000 --- a/contrib/librdkafka +++ b/contrib/librdkafka @@ -1 +1 @@ -Subproject commit b8554f1682062c85ba519eb54ef2f90e02b812cb +Subproject commit 6062e711a919fb3b669b243b7dceabd045d0e4a2 diff --git a/contrib/libunwind b/contrib/libunwind index c4ea9848a69..5022f30f3e0 160000 --- a/contrib/libunwind +++ b/contrib/libunwind @@ -1 +1 @@ -Subproject commit c4ea9848a697747dfa35325af9b3452f30841685 +Subproject commit 5022f30f3e092a54a7c101c335ce5e08769db366 diff --git a/contrib/libuv-cmake/CMakeLists.txt b/contrib/libuv-cmake/CMakeLists.txt index 45f6d8e2083..1a7714e47ce 100644 --- a/contrib/libuv-cmake/CMakeLists.txt +++ b/contrib/libuv-cmake/CMakeLists.txt @@ -1,3 +1,4 @@ +# once fixed, please remove similar places in CMakeLists of libuv users (search "ch_contrib::uv") if (OS_DARWIN AND COMPILER_GCC) message (WARNING "libuv cannot be built with GCC in macOS due to a bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93082") return() diff --git a/contrib/libxml2 b/contrib/libxml2 index a075d256fd9..7846b0a677f 160000 --- a/contrib/libxml2 +++ b/contrib/libxml2 @@ -1 +1 @@ -Subproject commit a075d256fd9ff15590b86d981b75a50ead124fca +Subproject commit 7846b0a677f8d3ce72486125fa281e92ac9970e8 diff --git a/contrib/libxml2-cmake/CMakeLists.txt b/contrib/libxml2-cmake/CMakeLists.txt index e9c4641c161..a84936f8e3a 100644 --- a/contrib/libxml2-cmake/CMakeLists.txt +++ b/contrib/libxml2-cmake/CMakeLists.txt @@ -53,9 +53,6 @@ set(SRCS add_library(_libxml2 ${SRCS}) target_link_libraries(_libxml2 PRIVATE ch_contrib::zlib) -if(M_LIBRARY) - target_link_libraries(_libxml2 PRIVATE ${M_LIBRARY}) -endif() target_include_directories(_libxml2 BEFORE PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/linux_x86_64/include") target_include_directories(_libxml2 BEFORE PUBLIC "${LIBXML2_SOURCE_DIR}/include") diff --git a/contrib/llvm-cmake/CMakeLists.txt b/contrib/llvm-cmake/CMakeLists.txt index 87c8a65510f..a108e6537c9 100644 --- a/contrib/llvm-cmake/CMakeLists.txt +++ b/contrib/llvm-cmake/CMakeLists.txt @@ -76,9 +76,7 @@ message (STATUS "LLVM library Directory: ${LLVM_LIBRARY_DIRS}") message (STATUS "LLVM C++ compiler flags: ${LLVM_CXXFLAGS}") # ld: unknown option: --color-diagnostics -if (APPLE) - set (LINKER_SUPPORTS_COLOR_DIAGNOSTICS 0 CACHE INTERNAL "") -endif () +set (LINKER_SUPPORTS_COLOR_DIAGNOSTICS 0 CACHE INTERNAL "") # Do not adjust RPATH in llvm, since then it will not be able to find libcxx/libcxxabi/libunwind set (CMAKE_INSTALL_RPATH "ON") diff --git a/contrib/mariadb-connector-c b/contrib/mariadb-connector-c index 5f4034a3a63..e39608998f5 160000 --- a/contrib/mariadb-connector-c +++ b/contrib/mariadb-connector-c @@ -1 +1 @@ -Subproject commit 5f4034a3a6376416504f17186c55fe401c6d8e5e +Subproject commit e39608998f5f6944ece9ec61f48e9172ec1de660 diff --git a/contrib/minizip-ng-cmake/CMakeLists.txt b/contrib/minizip-ng-cmake/CMakeLists.txt index 4aabbd3c9fb..043f0fc68f9 100644 --- a/contrib/minizip-ng-cmake/CMakeLists.txt +++ b/contrib/minizip-ng-cmake/CMakeLists.txt @@ -1,6 +1,6 @@ option(ENABLE_MINIZIP "Enable minizip-ng the zip manipulation library" ${ENABLE_LIBRARIES}) if (NOT ENABLE_MINIZIP) - message (STATUS "minizip-ng disabled") + message (STATUS "Not using minizip-ng") return() endif() diff --git a/contrib/nanodbc-cmake/CMakeLists.txt b/contrib/nanodbc-cmake/CMakeLists.txt index 9ed6c9525b6..7aacf5bed7e 100644 --- a/contrib/nanodbc-cmake/CMakeLists.txt +++ b/contrib/nanodbc-cmake/CMakeLists.txt @@ -2,12 +2,12 @@ if (NOT ENABLE_ODBC) return () endif () -set (LIBRARY_DIR "${ClickHouse_SOURCE_DIR}/contrib/nanodbc") - if (NOT TARGET ch_contrib::unixodbc) message(FATAL_ERROR "Configuration error: unixodbc is not a target") endif() +set (LIBRARY_DIR "${ClickHouse_SOURCE_DIR}/contrib/nanodbc") + set (SRCS "${LIBRARY_DIR}/nanodbc/nanodbc.cpp" ) diff --git a/contrib/poco b/contrib/poco index de35b9fd72b..0e32cb42db7 160000 --- a/contrib/poco +++ b/contrib/poco @@ -1 +1 @@ -Subproject commit de35b9fd72b57127abdc3a5beaf0e320d767e356 +Subproject commit 0e32cb42db76ddaa76848470219056908053b676 diff --git a/contrib/poco-cmake/XML/CMakeLists.txt b/contrib/poco-cmake/XML/CMakeLists.txt index 45100f11eb7..97e655a0f04 100644 --- a/contrib/poco-cmake/XML/CMakeLists.txt +++ b/contrib/poco-cmake/XML/CMakeLists.txt @@ -11,6 +11,7 @@ add_library (_poco_xml_expat ${SRCS_EXPAT}) add_library (Poco::XML::Expat ALIAS _poco_xml_expat) target_include_directories (_poco_xml_expat PUBLIC "${LIBRARY_DIR}/XML/include") +target_include_directories (_poco_xml_expat PRIVATE "${LIBRARY_DIR}/Foundation/include") # Poco::XML diff --git a/contrib/replxx-cmake/CMakeLists.txt b/contrib/replxx-cmake/CMakeLists.txt index 8487ad520bc..95a19875621 100644 --- a/contrib/replxx-cmake/CMakeLists.txt +++ b/contrib/replxx-cmake/CMakeLists.txt @@ -1,10 +1,3 @@ -option (ENABLE_REPLXX "Enable replxx support" ${ENABLE_LIBRARIES}) - -if (NOT ENABLE_REPLXX) - message (STATUS "Not using replxx") - return() -endif() - set (LIBRARY_DIR "${ClickHouse_SOURCE_DIR}/contrib/replxx") set(SRCS @@ -22,9 +15,4 @@ set(SRCS add_library (_replxx ${SRCS}) target_include_directories(_replxx SYSTEM PUBLIC "${LIBRARY_DIR}/include") - -if (COMPILER_CLANG) - target_compile_options(_replxx PRIVATE -Wno-documentation) -endif () - add_library(ch_contrib::replxx ALIAS _replxx) diff --git a/contrib/s2geometry-cmake/CMakeLists.txt b/contrib/s2geometry-cmake/CMakeLists.txt index 49c80e45b18..102ceb0db3c 100644 --- a/contrib/s2geometry-cmake/CMakeLists.txt +++ b/contrib/s2geometry-cmake/CMakeLists.txt @@ -149,7 +149,3 @@ target_link_libraries(_s2 PRIVATE target_include_directories(_s2 SYSTEM BEFORE PUBLIC "${S2_SOURCE_DIR}/") target_include_directories(_s2 SYSTEM PUBLIC "${ABSL_SOURCE_DIR}") - -if(M_LIBRARY) - target_link_libraries(_s2 PRIVATE ${M_LIBRARY}) -endif() diff --git a/contrib/simdjson b/contrib/simdjson index 8df32cea335..de196dd7a3a 160000 --- a/contrib/simdjson +++ b/contrib/simdjson @@ -1 +1 @@ -Subproject commit 8df32cea3359cb30120795da6020b3b73da01d38 +Subproject commit de196dd7a3a16e4056b0551ffa3b85c2f52581e1 diff --git a/contrib/thrift-cmake/CMakeLists.txt b/contrib/thrift-cmake/CMakeLists.txt index 2a62a6fe7ab..6f94c1ebdc0 100644 --- a/contrib/thrift-cmake/CMakeLists.txt +++ b/contrib/thrift-cmake/CMakeLists.txt @@ -1,7 +1,7 @@ option(ENABLE_THRIFT "Enable Thrift" ${ENABLE_LIBRARIES}) if (NOT ENABLE_THRIFT) - message (STATUS "thrift disabled") + message (STATUS "Not using thrift") return() endif() diff --git a/contrib/unixodbc-cmake/CMakeLists.txt b/contrib/unixodbc-cmake/CMakeLists.txt index b594ead3ba0..3317654cd67 100644 --- a/contrib/unixodbc-cmake/CMakeLists.txt +++ b/contrib/unixodbc-cmake/CMakeLists.txt @@ -294,14 +294,6 @@ target_include_directories (_unixodbc "${LIBRARY_DIR}/include" ) target_compile_definitions (_unixodbc PRIVATE -DHAVE_CONFIG_H) -target_compile_options (_unixodbc - PRIVATE - -Wno-dangling-else - -Wno-parentheses - -Wno-misleading-indentation - -Wno-unknown-warning-option - -Wno-reserved-id-macro - -O2 -) +target_compile_options (_unixodbc PRIVATE -O2) # intended? add_library (ch_contrib::unixodbc ALIAS _unixodbc) diff --git a/contrib/vectorscan b/contrib/vectorscan new file mode 160000 index 00000000000..73695e419c2 --- /dev/null +++ b/contrib/vectorscan @@ -0,0 +1 @@ +Subproject commit 73695e419c27af7fe2a099c7aa57931cc02aea5d diff --git a/contrib/hyperscan-cmake/CMakeLists.txt b/contrib/vectorscan-cmake/CMakeLists.txt similarity index 72% rename from contrib/hyperscan-cmake/CMakeLists.txt rename to contrib/vectorscan-cmake/CMakeLists.txt index 02c823a3a42..480ab3a384f 100644 --- a/contrib/hyperscan-cmake/CMakeLists.txt +++ b/contrib/vectorscan-cmake/CMakeLists.txt @@ -1,54 +1,67 @@ -if (HAVE_SSSE3) - option (ENABLE_HYPERSCAN "Enable hyperscan library" ${ENABLE_LIBRARIES}) -elseif(ENABLE_HYPERSCAN) - message (${RECONFIGURE_MESSAGE_LEVEL} "Can't use hyperscan without SSSE3") - set (ENABLE_HYPERSCAN OFF) -endif () +# We use vectorscan, a portable and API/ABI-compatible drop-in replacement for hyperscan. -if (NOT ENABLE_HYPERSCAN) - message (STATUS "Not using hyperscan") +if (ARCH_AMD64) + option (ENABLE_VECTORSCAN "Enable vectorscan library" ${ENABLE_LIBRARIES}) +endif() + +# TODO: vectorscan supports ARM yet some tests involving cyrillic letters fail (PR #38171) ... needs further investigation + +# TODO PPC should generally work but needs manual generation of ppc/config.h file on a PPC machine + +if (NOT ENABLE_VECTORSCAN) + message (STATUS "Not using vectorscan") return() endif() -set (LIBRARY_DIR "${ClickHouse_SOURCE_DIR}/contrib/hyperscan") +set (LIBRARY_DIR "${ClickHouse_SOURCE_DIR}/contrib/vectorscan") +# Gobble up all c/cpp files in vectorscan/src/, omit *dump*.c/cpp files as we don't use the dump feature (see x86/config.h) set (SRCS "${LIBRARY_DIR}/src/alloc.c" + "${LIBRARY_DIR}/src/crc32.c" + "${LIBRARY_DIR}/src/database.c" + # "${LIBRARY_DIR}/src/dispatcher.c" # the linker's wrath be upon those who include dispatcher.c. + "${LIBRARY_DIR}/src/grey.cpp" + "${LIBRARY_DIR}/src/hs.cpp" + "${LIBRARY_DIR}/src/hs_valid_platform.c" + "${LIBRARY_DIR}/src/hs_version.c" + "${LIBRARY_DIR}/src/runtime.c" + "${LIBRARY_DIR}/src/scratch.c" + "${LIBRARY_DIR}/src/stream_compress.c" + "${LIBRARY_DIR}/src/compiler/asserts.cpp" "${LIBRARY_DIR}/src/compiler/compiler.cpp" "${LIBRARY_DIR}/src/compiler/error.cpp" - "${LIBRARY_DIR}/src/crc32.c" - "${LIBRARY_DIR}/src/database.c" + "${LIBRARY_DIR}/src/fdr/engine_description.cpp" - "${LIBRARY_DIR}/src/fdr/fdr_compile_util.cpp" + "${LIBRARY_DIR}/src/fdr/fdr.c" "${LIBRARY_DIR}/src/fdr/fdr_compile.cpp" + "${LIBRARY_DIR}/src/fdr/fdr_compile_util.cpp" "${LIBRARY_DIR}/src/fdr/fdr_confirm_compile.cpp" "${LIBRARY_DIR}/src/fdr/fdr_engine_description.cpp" - "${LIBRARY_DIR}/src/fdr/fdr.c" "${LIBRARY_DIR}/src/fdr/flood_compile.cpp" + "${LIBRARY_DIR}/src/fdr/teddy.c" + "${LIBRARY_DIR}/src/fdr/teddy_avx2.c" "${LIBRARY_DIR}/src/fdr/teddy_compile.cpp" "${LIBRARY_DIR}/src/fdr/teddy_engine_description.cpp" - "${LIBRARY_DIR}/src/fdr/teddy.c" - "${LIBRARY_DIR}/src/grey.cpp" - "${LIBRARY_DIR}/src/hs_valid_platform.c" - "${LIBRARY_DIR}/src/hs_version.c" - "${LIBRARY_DIR}/src/hs.cpp" + + "${LIBRARY_DIR}/src/hwlm/hwlm.c" "${LIBRARY_DIR}/src/hwlm/hwlm_build.cpp" "${LIBRARY_DIR}/src/hwlm/hwlm_literal.cpp" - "${LIBRARY_DIR}/src/hwlm/hwlm.c" "${LIBRARY_DIR}/src/hwlm/noodle_build.cpp" - "${LIBRARY_DIR}/src/hwlm/noodle_engine.c" - "${LIBRARY_DIR}/src/nfa/accel_dfa_build_strat.cpp" + "${LIBRARY_DIR}/src/hwlm/noodle_engine.cpp" + "${LIBRARY_DIR}/src/nfa/accel.c" + "${LIBRARY_DIR}/src/nfa/accel_dfa_build_strat.cpp" "${LIBRARY_DIR}/src/nfa/accelcompile.cpp" "${LIBRARY_DIR}/src/nfa/castle.c" "${LIBRARY_DIR}/src/nfa/castlecompile.cpp" "${LIBRARY_DIR}/src/nfa/dfa_build_strat.cpp" "${LIBRARY_DIR}/src/nfa/dfa_min.cpp" "${LIBRARY_DIR}/src/nfa/gough.c" + "${LIBRARY_DIR}/src/nfa/goughcompile.cpp" "${LIBRARY_DIR}/src/nfa/goughcompile_accel.cpp" "${LIBRARY_DIR}/src/nfa/goughcompile_reg.cpp" - "${LIBRARY_DIR}/src/nfa/goughcompile.cpp" "${LIBRARY_DIR}/src/nfa/lbr.c" "${LIBRARY_DIR}/src/nfa/limex_64.c" "${LIBRARY_DIR}/src/nfa/limex_accel.c" @@ -59,28 +72,32 @@ set (SRCS "${LIBRARY_DIR}/src/nfa/limex_simd384.c" "${LIBRARY_DIR}/src/nfa/limex_simd512.c" "${LIBRARY_DIR}/src/nfa/mcclellan.c" - "${LIBRARY_DIR}/src/nfa/mcclellancompile_util.cpp" "${LIBRARY_DIR}/src/nfa/mcclellancompile.cpp" + "${LIBRARY_DIR}/src/nfa/mcclellancompile_util.cpp" + "${LIBRARY_DIR}/src/nfa/mcsheng.c" "${LIBRARY_DIR}/src/nfa/mcsheng_compile.cpp" "${LIBRARY_DIR}/src/nfa/mcsheng_data.c" - "${LIBRARY_DIR}/src/nfa/mcsheng.c" "${LIBRARY_DIR}/src/nfa/mpv.c" "${LIBRARY_DIR}/src/nfa/mpvcompile.cpp" "${LIBRARY_DIR}/src/nfa/nfa_api_dispatch.c" "${LIBRARY_DIR}/src/nfa/nfa_build_util.cpp" + "${LIBRARY_DIR}/src/nfa/rdfa.cpp" "${LIBRARY_DIR}/src/nfa/rdfa_graph.cpp" "${LIBRARY_DIR}/src/nfa/rdfa_merge.cpp" - "${LIBRARY_DIR}/src/nfa/rdfa.cpp" "${LIBRARY_DIR}/src/nfa/repeat.c" "${LIBRARY_DIR}/src/nfa/repeatcompile.cpp" "${LIBRARY_DIR}/src/nfa/sheng.c" "${LIBRARY_DIR}/src/nfa/shengcompile.cpp" - "${LIBRARY_DIR}/src/nfa/shufti.c" + "${LIBRARY_DIR}/src/nfa/shufti.cpp" "${LIBRARY_DIR}/src/nfa/shufticompile.cpp" "${LIBRARY_DIR}/src/nfa/tamarama.c" "${LIBRARY_DIR}/src/nfa/tamaramacompile.cpp" - "${LIBRARY_DIR}/src/nfa/truffle.c" + "${LIBRARY_DIR}/src/nfa/truffle.cpp" "${LIBRARY_DIR}/src/nfa/trufflecompile.cpp" + "${LIBRARY_DIR}/src/nfa/vermicelli_simd.cpp" + "${LIBRARY_DIR}/src/nfa/vermicellicompile.cpp" + + "${LIBRARY_DIR}/src/nfagraph/ng.cpp" "${LIBRARY_DIR}/src/nfagraph/ng_anchored_acyclic.cpp" "${LIBRARY_DIR}/src/nfagraph/ng_anchored_dots.cpp" "${LIBRARY_DIR}/src/nfagraph/ng_asserts.cpp" @@ -100,8 +117,8 @@ set (SRCS "${LIBRARY_DIR}/src/nfagraph/ng_holder.cpp" "${LIBRARY_DIR}/src/nfagraph/ng_is_equal.cpp" "${LIBRARY_DIR}/src/nfagraph/ng_lbr.cpp" - "${LIBRARY_DIR}/src/nfagraph/ng_limex_accel.cpp" "${LIBRARY_DIR}/src/nfagraph/ng_limex.cpp" + "${LIBRARY_DIR}/src/nfagraph/ng_limex_accel.cpp" "${LIBRARY_DIR}/src/nfagraph/ng_literal_analysis.cpp" "${LIBRARY_DIR}/src/nfagraph/ng_literal_component.cpp" "${LIBRARY_DIR}/src/nfagraph/ng_literal_decorated.cpp" @@ -112,17 +129,17 @@ set (SRCS "${LIBRARY_DIR}/src/nfagraph/ng_prune.cpp" "${LIBRARY_DIR}/src/nfagraph/ng_puff.cpp" "${LIBRARY_DIR}/src/nfagraph/ng_redundancy.cpp" - "${LIBRARY_DIR}/src/nfagraph/ng_region_redundancy.cpp" "${LIBRARY_DIR}/src/nfagraph/ng_region.cpp" + "${LIBRARY_DIR}/src/nfagraph/ng_region_redundancy.cpp" "${LIBRARY_DIR}/src/nfagraph/ng_repeat.cpp" "${LIBRARY_DIR}/src/nfagraph/ng_reports.cpp" "${LIBRARY_DIR}/src/nfagraph/ng_restructuring.cpp" "${LIBRARY_DIR}/src/nfagraph/ng_revacc.cpp" "${LIBRARY_DIR}/src/nfagraph/ng_sep.cpp" "${LIBRARY_DIR}/src/nfagraph/ng_small_literal_set.cpp" + "${LIBRARY_DIR}/src/nfagraph/ng_som.cpp" "${LIBRARY_DIR}/src/nfagraph/ng_som_add_redundancy.cpp" "${LIBRARY_DIR}/src/nfagraph/ng_som_util.cpp" - "${LIBRARY_DIR}/src/nfagraph/ng_som.cpp" "${LIBRARY_DIR}/src/nfagraph/ng_split.cpp" "${LIBRARY_DIR}/src/nfagraph/ng_squash.cpp" "${LIBRARY_DIR}/src/nfagraph/ng_stop.cpp" @@ -132,10 +149,8 @@ set (SRCS "${LIBRARY_DIR}/src/nfagraph/ng_vacuous.cpp" "${LIBRARY_DIR}/src/nfagraph/ng_violet.cpp" "${LIBRARY_DIR}/src/nfagraph/ng_width.cpp" - "${LIBRARY_DIR}/src/nfagraph/ng.cpp" + "${LIBRARY_DIR}/src/parser/AsciiComponentClass.cpp" - "${LIBRARY_DIR}/src/parser/buildstate.cpp" - "${LIBRARY_DIR}/src/parser/check_refs.cpp" "${LIBRARY_DIR}/src/parser/Component.cpp" "${LIBRARY_DIR}/src/parser/ComponentAlternation.cpp" "${LIBRARY_DIR}/src/parser/ComponentAssertion.cpp" @@ -145,31 +160,34 @@ set (SRCS "${LIBRARY_DIR}/src/parser/ComponentByte.cpp" "${LIBRARY_DIR}/src/parser/ComponentClass.cpp" "${LIBRARY_DIR}/src/parser/ComponentCondReference.cpp" - "${LIBRARY_DIR}/src/parser/ComponentEmpty.cpp" "${LIBRARY_DIR}/src/parser/ComponentEUS.cpp" + "${LIBRARY_DIR}/src/parser/ComponentEmpty.cpp" "${LIBRARY_DIR}/src/parser/ComponentRepeat.cpp" "${LIBRARY_DIR}/src/parser/ComponentSequence.cpp" "${LIBRARY_DIR}/src/parser/ComponentVisitor.cpp" "${LIBRARY_DIR}/src/parser/ComponentWordBoundary.cpp" "${LIBRARY_DIR}/src/parser/ConstComponentVisitor.cpp" - "${LIBRARY_DIR}/src/parser/control_verbs.cpp" + "${LIBRARY_DIR}/src/parser/Utf8ComponentClass.cpp" + "${LIBRARY_DIR}/src/parser/buildstate.cpp" + "${LIBRARY_DIR}/src/parser/buildstate.cpp" + "${LIBRARY_DIR}/src/parser/check_refs.cpp" + "${LIBRARY_DIR}/src/parser/check_refs.cpp" "${LIBRARY_DIR}/src/parser/logical_combination.cpp" "${LIBRARY_DIR}/src/parser/parse_error.cpp" "${LIBRARY_DIR}/src/parser/parser_util.cpp" - "${LIBRARY_DIR}/src/parser/Parser.cpp" "${LIBRARY_DIR}/src/parser/prefilter.cpp" "${LIBRARY_DIR}/src/parser/shortcut_literal.cpp" "${LIBRARY_DIR}/src/parser/ucp_table.cpp" "${LIBRARY_DIR}/src/parser/unsupported.cpp" "${LIBRARY_DIR}/src/parser/utf8_validate.cpp" - "${LIBRARY_DIR}/src/parser/Utf8ComponentClass.cpp" + "${LIBRARY_DIR}/src/rose/block.c" "${LIBRARY_DIR}/src/rose/catchup.c" "${LIBRARY_DIR}/src/rose/init.c" "${LIBRARY_DIR}/src/rose/match.c" "${LIBRARY_DIR}/src/rose/program_runtime.c" - "${LIBRARY_DIR}/src/rose/rose_build_add_mask.cpp" "${LIBRARY_DIR}/src/rose/rose_build_add.cpp" + "${LIBRARY_DIR}/src/rose/rose_build_add_mask.cpp" "${LIBRARY_DIR}/src/rose/rose_build_anchored.cpp" "${LIBRARY_DIR}/src/rose/rose_build_bytecode.cpp" "${LIBRARY_DIR}/src/rose/rose_build_castle.cpp" @@ -187,53 +205,95 @@ set (SRCS "${LIBRARY_DIR}/src/rose/rose_build_matchers.cpp" "${LIBRARY_DIR}/src/rose/rose_build_merge.cpp" "${LIBRARY_DIR}/src/rose/rose_build_misc.cpp" + "${LIBRARY_DIR}/src/rose/rose_build_misc.cpp" "${LIBRARY_DIR}/src/rose/rose_build_program.cpp" "${LIBRARY_DIR}/src/rose/rose_build_role_aliasing.cpp" "${LIBRARY_DIR}/src/rose/rose_build_scatter.cpp" "${LIBRARY_DIR}/src/rose/rose_build_width.cpp" "${LIBRARY_DIR}/src/rose/rose_in_util.cpp" "${LIBRARY_DIR}/src/rose/stream.c" - "${LIBRARY_DIR}/src/runtime.c" - "${LIBRARY_DIR}/src/scratch.c" + "${LIBRARY_DIR}/src/smallwrite/smallwrite_build.cpp" + "${LIBRARY_DIR}/src/som/slot_manager.cpp" "${LIBRARY_DIR}/src/som/som_runtime.c" "${LIBRARY_DIR}/src/som/som_stream.c" - "${LIBRARY_DIR}/src/stream_compress.c" + "${LIBRARY_DIR}/src/util/alloc.cpp" "${LIBRARY_DIR}/src/util/charreach.cpp" "${LIBRARY_DIR}/src/util/clique.cpp" "${LIBRARY_DIR}/src/util/compile_context.cpp" "${LIBRARY_DIR}/src/util/compile_error.cpp" - "${LIBRARY_DIR}/src/util/cpuid_flags.c" "${LIBRARY_DIR}/src/util/depth.cpp" "${LIBRARY_DIR}/src/util/fatbit_build.cpp" - "${LIBRARY_DIR}/src/util/multibit_build.cpp" "${LIBRARY_DIR}/src/util/multibit.c" + "${LIBRARY_DIR}/src/util/multibit_build.cpp" "${LIBRARY_DIR}/src/util/report_manager.cpp" - "${LIBRARY_DIR}/src/util/simd_utils.c" "${LIBRARY_DIR}/src/util/state_compress.c" "${LIBRARY_DIR}/src/util/target_info.cpp" "${LIBRARY_DIR}/src/util/ue2string.cpp" ) -add_library (_hyperscan ${SRCS}) +# The original build system invokes ragel on src/parser/{Parser|control_verbs}.rl (+ a few more .rl files which are unneeded). To avoid a +# build-time dependency on ragel (via contrib/ or find_program()), add the manually generated output of ragel to the sources. +# Please regenerate these files if you update vectorscan. +list (APPEND SRCS + "${LIBRARY_DIR}/../vectorscan-cmake/rageled_files/Parser.cpp" + "${LIBRARY_DIR}/../vectorscan-cmake/rageled_files/control_verbs.cpp" +) -target_compile_options (_hyperscan - PRIVATE -g0 # Library has too much debug information - -mno-avx -mno-avx2 # The library is using dynamic dispatch and is confused if AVX is enabled globally - -march=corei7 -O2 -fno-strict-aliasing -fno-omit-frame-pointer -fvisibility=hidden # The options from original build system - -fno-sanitize=undefined # Assume the library takes care of itself -) -target_include_directories (_hyperscan - PRIVATE - common - "${LIBRARY_DIR}/include" -) -target_include_directories (_hyperscan SYSTEM PUBLIC "${LIBRARY_DIR}/src") +# Platform-dependent files if (ARCH_AMD64) - target_include_directories (_hyperscan PRIVATE x86_64) -endif () -target_link_libraries (_hyperscan PRIVATE boost::headers_only) + list(APPEND SRCS + "${LIBRARY_DIR}/src/util/arch/x86/cpuid_flags.c" + "${LIBRARY_DIR}/src/util/arch/x86/masked_move.c" + "${LIBRARY_DIR}/src/util/supervector/arch/x86/impl.cpp" + ) +endif() -add_library (ch_contrib::hyperscan ALIAS _hyperscan) +if (ARCH_AARCH64) + list(APPEND SRCS + "${LIBRARY_DIR}/src/util/arch/arm/cpuid_flags.c" + "${LIBRARY_DIR}/src/util/supervector/arch/arm/impl.cpp" + ) +endif() + +# TODO +# if (ARCH_PPC64LE) +# list(APPEND SRCS +# "${LIBRARY_DIR}/src/util/supervector/arch/ppc64el/impl.cpp" +# ) +# endif() + +add_library (_vectorscan ${SRCS}) + +target_compile_options (_vectorscan PRIVATE + -g0 # library has too much debug information + -fno-sanitize=undefined # assume the library takes care of itself + -O2 -fno-strict-aliasing -fno-omit-frame-pointer -fvisibility=hidden # options from original build system +) + +# Include version header manually generated by running the original build system +target_include_directories (_vectorscan SYSTEM PRIVATE common) + +# vectorscan inherited some patched in-source versions of boost headers to fix a bug in +# boost 1.69. This bug has been solved long ago but vectorscan's source code still +# points to the patched versions, so include it here. +target_include_directories (_vectorscan SYSTEM PRIVATE "${LIBRARY_DIR}/include") + +target_include_directories (_vectorscan SYSTEM PUBLIC "${LIBRARY_DIR}/src") + +# Include platform-specific config header generated by manually running the original build system +# Please regenerate these files if you update vectorscan. + +if (ARCH_AMD64) + target_include_directories (_vectorscan PRIVATE x86_64) +endif () + +if (ARCH_AARCH64) + target_include_directories (_vectorscan PRIVATE aarch64) +endif () + +target_link_libraries (_vectorscan PRIVATE boost::headers_only) + +add_library (ch_contrib::vectorscan ALIAS _vectorscan) diff --git a/contrib/vectorscan-cmake/aarch64/config.h b/contrib/vectorscan-cmake/aarch64/config.h new file mode 100644 index 00000000000..78da1c8ad00 --- /dev/null +++ b/contrib/vectorscan-cmake/aarch64/config.h @@ -0,0 +1,142 @@ +/* used by cmake */ + +#ifndef CONFIG_H_ +#define CONFIG_H_ + +/* "Define if the build is 32 bit" */ +/* #undef ARCH_32_BIT */ + +/* "Define if the build is 64 bit" */ +#define ARCH_64_BIT + +/* "Define if building for IA32" */ +/* #undef ARCH_IA32 */ + +/* "Define if building for EM64T" */ +/* #undef ARCH_X86_64 */ + +/* "Define if building for ARM32" */ +/* #undef ARCH_ARM32 */ + +/* "Define if building for AARCH64" */ +#define ARCH_AARCH64 + +/* "Define if building for PPC64EL" */ +/* #undef ARCH_PPC64EL */ + +/* "Define if cross compiling for AARCH64" */ +/* #undef CROSS_COMPILE_AARCH64 */ + +/* Define if building SVE for AARCH64. */ +/* #undef BUILD_SVE */ + +/* Define if building SVE2 for AARCH64. */ +/* #undef BUILD_SVE2 */ + +/* Define if building SVE2+BITPERM for AARCH64. */ +/* #undef BUILD_SVE2_BITPERM */ + +/* internal build, switch on dump support. */ +/* #undef DUMP_SUPPORT */ + +/* Define if building "fat" runtime. */ +/* #undef FAT_RUNTIME */ + +/* Define if building AVX2 in the fat runtime. */ +/* #undef BUILD_AVX2 */ + +/* Define if building AVX-512 in the fat runtime. */ +/* #undef BUILD_AVX512 */ + +/* Define if building AVX512VBMI in the fat runtime. */ +/* #undef BUILD_AVX512VBMI */ + +/* Define to 1 if `backtrace' works. */ +#define HAVE_BACKTRACE + +/* C compiler has __builtin_assume_aligned */ +#define HAVE_CC_BUILTIN_ASSUME_ALIGNED + +/* C++ compiler has __builtin_assume_aligned */ +#define HAVE_CXX_BUILTIN_ASSUME_ALIGNED + +/* C++ compiler has x86intrin.h */ +/* #undef HAVE_CXX_X86INTRIN_H */ + +/* C compiler has x86intrin.h */ +/* #undef HAVE_C_X86INTRIN_H */ + +/* C++ compiler has intrin.h */ +/* #undef HAVE_CXX_INTRIN_H */ + +/* C compiler has intrin.h */ +/* #undef HAVE_C_INTRIN_H */ + +/* C compiler has arm_neon.h */ +#define HAVE_C_ARM_NEON_H + +/* C compiler has arm_sve.h */ +/* #undef HAVE_C_ARM_SVE_H */ + +/* C compiler has arm_neon.h */ +/* #undef HAVE_C_PPC64EL_ALTIVEC_H */ + +/* Define to 1 if you have the declaration of `pthread_setaffinity_np', and to + 0 if you don't. */ +/* #undef HAVE_DECL_PTHREAD_SETAFFINITY_NP */ + +/* #undef HAVE_PTHREAD_NP_H */ + +/* Define to 1 if you have the `malloc_info' function. */ +/* #undef HAVE_MALLOC_INFO */ + +/* Define to 1 if you have the `memmem' function. */ +/* #undef HAVE_MEMMEM */ + +/* Define to 1 if you have a working `mmap' system call. */ +#define HAVE_MMAP + +/* Define to 1 if `posix_memalign' works. */ +#define HAVE_POSIX_MEMALIGN + +/* Define to 1 if you have the `setrlimit' function. */ +#define HAVE_SETRLIMIT + +/* Define to 1 if you have the `shmget' function. */ +/* #undef HAVE_SHMGET */ + +/* Define to 1 if you have the `sigaction' function. */ +#define HAVE_SIGACTION + +/* Define to 1 if you have the `sigaltstack' function. */ +#define HAVE_SIGALTSTACK + +/* Define if the sqlite3_open_v2 call is available */ +/* #undef HAVE_SQLITE3_OPEN_V2 */ + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H + +/* Define to 1 if you have the `_aligned_malloc' function. */ +/* #undef HAVE__ALIGNED_MALLOC */ + +/* Define if compiler has __builtin_constant_p */ +/* #undef HAVE__BUILTIN_CONSTANT_P */ + +/* Optimize, inline critical functions */ +#define HS_OPTIMIZE + +#define HS_VERSION +#define HS_MAJOR_VERSION +#define HS_MINOR_VERSION +#define HS_PATCH_VERSION + +#define BUILD_DATE + +/* define if this is a release build. */ +#define RELEASE_BUILD + +/* define if reverse_graph requires patch for boost 1.62.0 */ +/* #undef BOOST_REVGRAPH_PATCH */ + +#endif /* CONFIG_H_ */ diff --git a/contrib/hyperscan-cmake/common/hs_version.h b/contrib/vectorscan-cmake/common/hs_version.h similarity index 94% rename from contrib/hyperscan-cmake/common/hs_version.h rename to contrib/vectorscan-cmake/common/hs_version.h index f6fa8cb209f..8315b44fb2a 100644 --- a/contrib/hyperscan-cmake/common/hs_version.h +++ b/contrib/vectorscan-cmake/common/hs_version.h @@ -32,9 +32,8 @@ /** * A version string to identify this release of Hyperscan. */ -#define HS_VERSION_STRING "5.1.1 2000-01-01" +#define HS_VERSION_STRING "5.4.7 2022-06-20" -#define HS_VERSION_32BIT ((5 << 24) | (1 << 16) | (1 << 8) | 0) +#define HS_VERSION_32BIT ((5 << 24) | (1 << 16) | (7 << 8) | 0) #endif /* HS_VERSION_H_C6428FAF8E3713 */ - diff --git a/contrib/vectorscan-cmake/rageled_files/Parser.cpp b/contrib/vectorscan-cmake/rageled_files/Parser.cpp new file mode 100644 index 00000000000..aebbd7ace1e --- /dev/null +++ b/contrib/vectorscan-cmake/rageled_files/Parser.cpp @@ -0,0 +1,5605 @@ + +#line 1 "Parser.rl" +/* + * Copyright (c) 2015-2017, Intel Corporation + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +/** \file + * \brief Parser code (generated with Ragel from Parser.rl). + */ + +#include "config.h" + +/* Parser.cpp is a built source, may not be in same dir as parser files */ +#include "parser/check_refs.h" +#include "parser/control_verbs.h" +#include "parser/ComponentAlternation.h" +#include "parser/ComponentAssertion.h" +#include "parser/ComponentAtomicGroup.h" +#include "parser/ComponentBackReference.h" +#include "parser/ComponentBoundary.h" +#include "parser/ComponentByte.h" +#include "parser/ComponentClass.h" +#include "parser/ComponentCondReference.h" +#include "parser/ComponentEmpty.h" +#include "parser/ComponentEUS.h" +#include "parser/Component.h" +#include "parser/ComponentRepeat.h" +#include "parser/ComponentSequence.h" +#include "parser/ComponentWordBoundary.h" +#include "parser/parse_error.h" +#include "parser/Parser.h" +#include "ue2common.h" +#include "util/compare.h" +#include "util/flat_containers.h" +#include "util/unicode_def.h" +#include "util/verify_types.h" + +#include +#include +#include +#include +#include +#include +#include +#include + +using namespace std; + +namespace ue2 { + +#define PUSH_SEQUENCE do {\ + sequences.push_back(ExprState(currentSeq, (size_t)(ts - ptr), \ + mode)); \ + } while(0) +#define POP_SEQUENCE do {\ + currentSeq = sequences.back().seq; \ + mode = sequences.back().mode; \ + sequences.pop_back(); \ + } while(0) + +namespace { + +/** \brief Structure representing current state as we're parsing (current + * sequence, current options). Stored in the 'sequences' vector. */ +struct ExprState { + ExprState(ComponentSequence *seq_in, size_t offset, + const ParseMode &mode_in) : + seq(seq_in), seqOffset(offset), mode(mode_in) {} + + ComponentSequence *seq; //!< current sequence + size_t seqOffset; //!< offset seq was entered, for error reporting + ParseMode mode; //!< current mode flags +}; + +} // namespace + +static +unsigned parseAsDecimal(unsigned oct) { + // The input was parsed as octal, but should have been parsed as decimal. + // Deconstruct the octal number and reconstruct into decimal + unsigned ret = 0; + unsigned multiplier = 1; + while (oct) { + ret += (oct & 0x7) * multiplier; + oct >>= 3; + multiplier *= 10; + } + return ret; +} + +/** \brief Maximum value for a positive integer. We use INT_MAX, as that's what + * PCRE uses. */ +static constexpr u32 MAX_NUMBER = INT_MAX; + +static +void pushDec(u32 *acc, char raw_digit) { + assert(raw_digit >= '0' && raw_digit <= '9'); + u32 digit_val = raw_digit - '0'; + + // Ensure that we don't overflow. + u64a val = ((u64a)*acc * 10) + digit_val; + if (val > MAX_NUMBER) { + throw LocatedParseError("Number is too big"); + } + + *acc = verify_u32(val); +} + +static +void pushOct(u32 *acc, char raw_digit) { + assert(raw_digit >= '0' && raw_digit <= '7'); + u32 digit_val = raw_digit - '0'; + + // Ensure that we don't overflow. + u64a val = ((u64a)*acc * 8) + digit_val; + if (val > MAX_NUMBER) { + throw LocatedParseError("Number is too big"); + } + + *acc = verify_u32(val); +} + +static +void throwInvalidRepeat(void) { + throw LocatedParseError("Invalid repeat"); +} + +static +void throwInvalidUtf8(void) { + throw ParseError("Expression is not valid UTF-8."); +} + +/** + * Adds the given child component to the parent sequence, returning a pointer + * to the new (child) "current sequence". + */ +static +ComponentSequence *enterSequence(ComponentSequence *parent, + unique_ptr child) { + assert(parent); + assert(child); + + ComponentSequence *seq = child.get(); + parent->addComponent(move(child)); + return seq; +} + +static +void addLiteral(ComponentSequence *currentSeq, char c, const ParseMode &mode) { + if (mode.utf8 && mode.caseless) { + /* leverage ComponentClass to generate the vertices */ + auto cc = getComponentClass(mode); + assert(cc); + cc->add(c); + cc->finalize(); + currentSeq->addComponent(move(cc)); + } else { + currentSeq->addComponent(getLiteralComponentClass(c, mode.caseless)); + } +} + +static +void addEscaped(ComponentSequence *currentSeq, unichar accum, + const ParseMode &mode, const char *err_msg) { + if (mode.utf8) { + /* leverage ComponentClass to generate the vertices */ + auto cc = getComponentClass(mode); + assert(cc); + cc->add(accum); + cc->finalize(); + currentSeq->addComponent(move(cc)); + } else { + if (accum > 255) { + throw LocatedParseError(err_msg); + } + addLiteral(currentSeq, (char)accum, mode); + } +} + +static +void addEscapedOctal(ComponentSequence *currentSeq, unichar accum, + const ParseMode &mode) { + addEscaped(currentSeq, accum, mode, "Octal value is greater than \\377"); +} + +static +void addEscapedHex(ComponentSequence *currentSeq, unichar accum, + const ParseMode &mode) { + addEscaped(currentSeq, accum, mode, + "Hexadecimal value is greater than \\xFF"); +} + +#define SLASH_C_ERROR "\\c must be followed by an ASCII character" + +static +u8 decodeCtrl(char raw) { + if (raw & 0x80) { + throw LocatedParseError(SLASH_C_ERROR); + } + return mytoupper(raw) ^ 0x40; +} + +static +unichar readUtf8CodePoint2c(const char *s) { + auto *ts = (const u8 *)s; + assert(ts[0] >= 0xc0 && ts[0] < 0xe0); + assert(ts[1] >= 0x80 && ts[1] < 0xc0); + unichar val = ts[0] & 0x1f; + val <<= 6; + val |= ts[1] & 0x3f; + DEBUG_PRINTF("utf8 %02hhx %02hhx ->\\x{%x}\n", ts[0], + ts[1], val); + return val; +} + +static +unichar readUtf8CodePoint3c(const char *s) { + auto *ts = (const u8 *)s; + assert(ts[0] >= 0xe0 && ts[0] < 0xf0); + assert(ts[1] >= 0x80 && ts[1] < 0xc0); + assert(ts[2] >= 0x80 && ts[2] < 0xc0); + unichar val = ts[0] & 0x0f; + val <<= 6; + val |= ts[1] & 0x3f; + val <<= 6; + val |= ts[2] & 0x3f; + DEBUG_PRINTF("utf8 %02hhx %02hhx %02hhx ->\\x{%x}\n", ts[0], + ts[1], ts[2], val); + return val; +} + +static +unichar readUtf8CodePoint4c(const char *s) { + auto *ts = (const u8 *)s; + assert(ts[0] >= 0xf0 && ts[0] < 0xf8); + assert(ts[1] >= 0x80 && ts[1] < 0xc0); + assert(ts[2] >= 0x80 && ts[2] < 0xc0); + assert(ts[3] >= 0x80 && ts[3] < 0xc0); + unichar val = ts[0] & 0x07; + val <<= 6; + val |= ts[1] & 0x3f; + val <<= 6; + val |= ts[2] & 0x3f; + val <<= 6; + val |= ts[3] & 0x3f; + DEBUG_PRINTF("utf8 %02hhx %02hhx %02hhx %02hhx ->\\x{%x}\n", ts[0], + ts[1], ts[2], ts[3], val); + return val; +} + + +#line 1909 "Parser.rl" + + + +#line 281 "Parser.cpp" +static const short _regex_actions[] = { + 0, 1, 0, 1, 1, 1, 2, 1, + 3, 1, 4, 1, 7, 1, 8, 1, + 9, 1, 10, 1, 11, 1, 12, 1, + 13, 1, 15, 1, 16, 1, 17, 1, + 18, 1, 19, 1, 20, 1, 21, 1, + 22, 1, 23, 1, 24, 1, 25, 1, + 26, 1, 27, 1, 28, 1, 29, 1, + 30, 1, 31, 1, 32, 1, 33, 1, + 34, 1, 35, 1, 36, 1, 37, 1, + 38, 1, 39, 1, 40, 1, 41, 1, + 42, 1, 43, 1, 44, 1, 45, 1, + 46, 1, 47, 1, 48, 1, 49, 1, + 50, 1, 51, 1, 52, 1, 53, 1, + 54, 1, 55, 1, 56, 1, 57, 1, + 58, 1, 59, 1, 60, 1, 61, 1, + 62, 1, 63, 1, 64, 1, 65, 1, + 66, 1, 67, 1, 68, 1, 69, 1, + 70, 1, 71, 1, 72, 1, 73, 1, + 74, 1, 75, 1, 76, 1, 77, 1, + 78, 1, 79, 1, 80, 1, 81, 1, + 82, 1, 83, 1, 84, 1, 85, 1, + 86, 1, 87, 1, 88, 1, 89, 1, + 90, 1, 91, 1, 92, 1, 93, 1, + 94, 1, 95, 1, 96, 1, 97, 1, + 98, 1, 99, 1, 100, 1, 101, 1, + 102, 1, 103, 1, 104, 1, 105, 1, + 106, 1, 107, 1, 108, 1, 109, 1, + 110, 1, 111, 1, 112, 1, 113, 1, + 114, 1, 115, 1, 116, 1, 117, 1, + 118, 1, 119, 1, 120, 1, 121, 1, + 122, 1, 123, 1, 124, 1, 125, 1, + 126, 1, 127, 1, 128, 1, 129, 1, + 130, 1, 131, 1, 132, 1, 133, 1, + 134, 1, 135, 1, 136, 1, 137, 1, + 138, 1, 139, 1, 140, 1, 141, 1, + 142, 1, 143, 1, 144, 1, 145, 1, + 146, 1, 147, 1, 148, 1, 149, 1, + 150, 1, 151, 1, 152, 1, 153, 1, + 154, 1, 155, 1, 156, 1, 157, 1, + 158, 1, 159, 1, 160, 1, 161, 1, + 162, 1, 163, 1, 164, 1, 165, 1, + 166, 1, 167, 1, 168, 1, 169, 1, + 170, 1, 171, 1, 172, 1, 173, 1, + 174, 1, 175, 1, 176, 1, 177, 1, + 178, 1, 179, 1, 180, 1, 181, 1, + 182, 1, 183, 1, 184, 1, 185, 1, + 186, 1, 187, 1, 188, 1, 189, 1, + 190, 1, 191, 1, 192, 1, 193, 1, + 194, 1, 195, 1, 196, 1, 197, 1, + 198, 1, 199, 1, 200, 1, 201, 1, + 202, 1, 203, 1, 204, 1, 205, 1, + 206, 1, 207, 1, 208, 1, 209, 1, + 210, 1, 211, 1, 212, 1, 213, 1, + 214, 1, 215, 1, 216, 1, 217, 1, + 218, 1, 219, 1, 220, 1, 221, 1, + 222, 1, 223, 1, 224, 1, 225, 1, + 226, 1, 227, 1, 228, 1, 229, 1, + 230, 1, 231, 1, 232, 1, 233, 1, + 234, 1, 235, 1, 236, 1, 237, 1, + 240, 1, 242, 1, 243, 1, 244, 1, + 245, 1, 246, 1, 247, 1, 248, 1, + 249, 1, 250, 1, 251, 1, 252, 1, + 253, 1, 254, 1, 255, 1, 256, 1, + 257, 1, 258, 1, 259, 1, 260, 1, + 261, 1, 262, 1, 263, 1, 264, 1, + 265, 1, 266, 1, 267, 1, 268, 1, + 269, 1, 270, 1, 271, 1, 272, 1, + 273, 1, 274, 1, 275, 1, 276, 1, + 277, 1, 278, 1, 279, 1, 280, 1, + 281, 1, 282, 1, 283, 1, 284, 1, + 285, 1, 286, 1, 287, 1, 288, 1, + 289, 1, 290, 1, 291, 1, 292, 1, + 293, 1, 294, 1, 295, 1, 296, 1, + 297, 1, 298, 1, 299, 1, 300, 1, + 301, 1, 302, 1, 303, 1, 307, 1, + 308, 1, 309, 1, 310, 1, 311, 1, + 312, 1, 313, 1, 314, 1, 315, 1, + 316, 1, 317, 1, 318, 1, 319, 1, + 320, 1, 321, 1, 322, 1, 323, 1, + 324, 1, 325, 1, 326, 1, 327, 1, + 328, 1, 329, 1, 330, 1, 331, 1, + 332, 1, 333, 1, 334, 1, 335, 1, + 336, 1, 337, 1, 338, 1, 342, 1, + 343, 1, 344, 1, 345, 1, 346, 1, + 347, 1, 348, 1, 349, 1, 350, 1, + 352, 1, 353, 1, 354, 1, 355, 1, + 356, 1, 357, 1, 358, 1, 359, 1, + 360, 1, 361, 1, 362, 1, 363, 1, + 364, 1, 365, 1, 366, 1, 367, 1, + 368, 1, 369, 1, 370, 1, 371, 1, + 372, 1, 373, 1, 374, 1, 375, 1, + 376, 1, 377, 1, 378, 1, 379, 1, + 380, 1, 381, 1, 382, 1, 383, 1, + 384, 1, 385, 1, 386, 1, 387, 1, + 388, 1, 389, 1, 390, 1, 391, 1, + 392, 1, 393, 1, 394, 1, 395, 1, + 396, 1, 397, 1, 398, 1, 399, 1, + 400, 1, 401, 1, 402, 1, 403, 1, + 404, 1, 405, 1, 406, 1, 407, 1, + 408, 1, 409, 1, 410, 1, 411, 1, + 412, 1, 413, 1, 414, 1, 415, 1, + 416, 1, 417, 1, 418, 1, 419, 1, + 420, 1, 421, 1, 422, 1, 423, 1, + 424, 1, 425, 1, 426, 1, 427, 1, + 428, 1, 429, 1, 430, 1, 431, 1, + 432, 1, 433, 1, 434, 1, 435, 1, + 436, 2, 3, 0, 2, 4, 5, 2, + 5, 1, 2, 9, 10, 2, 9, 238, + 2, 9, 239, 2, 9, 339, 2, 10, + 1, 2, 10, 340, 2, 10, 341, 2, + 11, 241, 2, 11, 351, 2, 12, 241, + 2, 12, 351, 2, 13, 241, 2, 13, + 351, 2, 14, 375, 2, 14, 376, 2, + 25, 0, 2, 25, 3, 2, 25, 6, + 2, 25, 14, 3, 25, 5, 306, 3, + 25, 10, 305, 3, 25, 14, 15, 4, + 25, 9, 304, 10 +}; + +static const char _regex_cond_offsets[] = { + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1, + 2, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 4, 5, 6, 7, 8, 9, + 10, 11, 12, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, + 18, 19, 20, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 26, 26, 26, 26, + 26, 26, 26, 26, 26, 26, 26, 26, + 26, 26, 27, 28, 29, 31, 31, 36, + 36, 37, 38, 39, 44, 44, 45, 46, + 47, 47 +}; + +static const char _regex_cond_lengths[] = { + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 1, + 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 6, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 5, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 1, 1, 2, 0, 5, 0, + 1, 1, 1, 5, 0, 1, 1, 1, + 0, 0 +}; + +static const short _regex_cond_keys[] = { + -128, -65, -128, -65, -128, -65, -128, -65, + -128, -65, -128, -65, -128, -65, -128, -65, + -128, -65, -128, -65, -128, -65, -128, -65, + -128, -65, -64, -33, -32, -17, -16, -9, + -8, -1, 35, 35, -128, -65, -128, -65, + -128, -65, -128, -65, -64, -33, -32, -17, + -16, -9, -8, -1, -128, -65, -128, -65, + -128, -65, 93, 93, 94, 94, -128, -65, + -64, -33, -32, -17, -16, -9, -8, -1, + -128, -65, -128, -65, -128, -65, -128, -65, + -64, -33, -32, -17, -16, -9, -8, -1, + -128, -65, -128, -65, -128, -65, 0 +}; + +static const char _regex_cond_spaces[] = { + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 2, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0 +}; + +static const short _regex_key_offsets[] = { + 0, 0, 1, 23, 31, 39, 46, 54, + 55, 63, 71, 79, 86, 94, 97, 99, + 108, 115, 123, 131, 134, 140, 148, 151, + 158, 165, 173, 180, 184, 191, 194, 197, + 199, 202, 205, 207, 210, 213, 215, 216, + 218, 219, 227, 229, 232, 235, 236, 244, + 252, 260, 268, 275, 283, 290, 298, 305, + 313, 315, 318, 325, 329, 332, 335, 337, + 339, 341, 342, 344, 345, 347, 349, 350, + 351, 353, 354, 355, 356, 357, 358, 359, + 360, 361, 362, 363, 364, 365, 366, 369, + 370, 371, 372, 373, 374, 375, 376, 377, + 378, 379, 380, 381, 382, 383, 384, 385, + 386, 387, 388, 389, 390, 392, 393, 394, + 395, 396, 397, 399, 400, 401, 402, 403, + 404, 405, 406, 408, 409, 410, 411, 412, + 413, 414, 415, 416, 417, 418, 419, 420, + 421, 422, 423, 424, 425, 426, 427, 429, + 430, 431, 432, 433, 434, 435, 436, 437, + 438, 439, 440, 441, 442, 443, 444, 445, + 446, 447, 448, 450, 451, 452, 453, 454, + 455, 456, 457, 458, 459, 461, 462, 463, + 464, 465, 466, 467, 468, 469, 470, 471, + 472, 473, 474, 475, 476, 477, 478, 479, + 480, 481, 482, 483, 484, 485, 486, 487, + 488, 489, 490, 491, 492, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 502, 503, + 504, 505, 506, 507, 508, 509, 510, 511, + 512, 513, 514, 515, 516, 517, 519, 520, + 521, 522, 523, 524, 525, 526, 527, 528, + 529, 530, 531, 532, 533, 534, 535, 536, + 537, 538, 539, 540, 541, 542, 543, 544, + 545, 546, 547, 548, 549, 550, 551, 552, + 553, 554, 555, 556, 557, 558, 559, 561, + 562, 563, 564, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, + 578, 579, 580, 582, 583, 584, 585, 586, + 587, 588, 589, 590, 591, 592, 593, 594, + 595, 596, 597, 601, 602, 603, 604, 605, + 606, 607, 608, 609, 610, 611, 612, 613, + 614, 615, 616, 617, 618, 620, 621, 622, + 623, 624, 625, 626, 627, 628, 629, 631, + 632, 633, 634, 635, 636, 637, 640, 641, + 642, 643, 644, 645, 646, 647, 648, 650, + 651, 652, 653, 654, 655, 656, 658, 659, + 660, 661, 662, 663, 664, 665, 666, 667, + 668, 669, 670, 671, 672, 673, 674, 675, + 676, 677, 678, 679, 680, 681, 682, 683, + 684, 685, 686, 687, 688, 689, 690, 691, + 692, 693, 694, 695, 696, 697, 698, 699, + 700, 701, 702, 704, 705, 706, 707, 708, + 709, 710, 714, 715, 716, 717, 718, 719, + 720, 721, 722, 723, 724, 725, 726, 727, + 728, 729, 730, 731, 732, 733, 734, 735, + 736, 737, 738, 739, 740, 741, 742, 743, + 744, 745, 746, 747, 748, 749, 750, 752, + 753, 754, 755, 756, 757, 758, 759, 760, + 761, 762, 763, 764, 765, 766, 767, 768, + 769, 770, 771, 773, 774, 775, 776, 777, + 778, 779, 780, 781, 782, 783, 784, 785, + 786, 787, 788, 789, 790, 791, 792, 793, + 794, 795, 796, 797, 798, 799, 800, 801, + 802, 803, 805, 806, 807, 808, 809, 810, + 811, 812, 813, 814, 815, 816, 817, 820, + 822, 823, 824, 825, 826, 827, 828, 829, + 830, 833, 834, 835, 836, 837, 838, 839, + 840, 841, 842, 843, 844, 845, 846, 847, + 849, 850, 851, 853, 854, 855, 856, 857, + 858, 859, 860, 861, 862, 863, 864, 865, + 866, 867, 868, 869, 870, 871, 872, 873, + 874, 875, 876, 877, 880, 883, 885, 900, + 903, 906, 908, 922, 927, 932, 936, 940, + 943, 946, 950, 954, 957, 960, 964, 968, + 972, 975, 978, 982, 986, 990, 994, 997, + 1000, 1004, 1008, 1012, 1016, 1019, 1022, 1026, + 1030, 1034, 1038, 1041, 1044, 1048, 1052, 1056, + 1060, 1063, 1066, 1070, 1074, 1078, 1082, 1085, + 1088, 1093, 1097, 1101, 1105, 1108, 1111, 1115, + 1119, 1123, 1126, 1129, 1133, 1137, 1141, 1145, + 1148, 1151, 1155, 1159, 1163, 1167, 1170, 1173, + 1177, 1181, 1185, 1188, 1191, 1195, 1199, 1203, + 1207, 1211, 1214, 1217, 1222, 1227, 1231, 1235, + 1238, 1241, 1245, 1249, 1252, 1255, 1259, 1263, + 1267, 1270, 1273, 1277, 1281, 1285, 1289, 1292, + 1295, 1299, 1303, 1307, 1311, 1314, 1317, 1321, + 1325, 1329, 1333, 1336, 1339, 1343, 1347, 1351, + 1355, 1358, 1361, 1365, 1369, 1373, 1377, 1380, + 1383, 1388, 1392, 1396, 1400, 1403, 1406, 1410, + 1414, 1418, 1421, 1424, 1428, 1432, 1436, 1440, + 1443, 1446, 1450, 1454, 1458, 1462, 1465, 1468, + 1472, 1476, 1480, 1483, 1486, 1490, 1494, 1498, + 1502, 1506, 1509, 1512, 1515, 1518, 1520, 1522, + 1525, 1532, 1534, 1536, 1538, 1540, 1542, 1544, + 1546, 1548, 1550, 1584, 1586, 1593, 1600, 1614, + 1616, 1622, 1625, 1634, 1635, 1638, 1641, 1648, + 1650, 1652, 1654, 1657, 1702, 1704, 1706, 1710, + 1714, 1716, 1717, 1717, 1723, 1725, 1727, 1729, + 1731, 1734, 1735, 1736, 1743, 1749, 1755, 1757, + 1759, 1761, 1763, 1765, 1767, 1768, 1771, 1794, + 1797, 1802, 1811, 1813, 1814, 1816, 1821, 1824, + 1826, 1828, 1829, 1831, 1841, 1847, 1848, 1853, + 1857, 1865, 1867, 1876, 1880, 1881, 1882, 1886, + 1887, 1890, 1890, 1897, 1913, 1916, 1955, 1957, + 1959, 1961, 1963, 1964, 1964, 1965, 1966, 1973, + 1979, 1985, 1987, 1989, 1991, 2000, 2002, 2015, + 2016, 2018, 2020, 2022, 2035, 2036, 2038, 2040, + 2042, 2043 +}; + +static const short _regex_trans_keys[] = { + 41, 33, 35, 38, 39, 40, 41, 43, + 45, 58, 60, 61, 62, 63, 67, 80, + 105, 109, 115, 120, 123, 48, 57, 41, + 95, 48, 57, 65, 90, 97, 122, 39, + 95, 48, 57, 65, 90, 97, 122, 95, + 48, 57, 65, 90, 97, 122, 39, 95, + 48, 57, 65, 90, 97, 122, 41, 41, + 95, 48, 57, 65, 90, 97, 122, 41, + 95, 48, 57, 65, 90, 97, 122, 41, + 95, 48, 57, 65, 90, 97, 122, 95, + 48, 57, 65, 90, 97, 122, 62, 95, + 48, 57, 65, 90, 97, 122, 33, 60, + 61, 33, 61, 38, 41, 95, 48, 57, + 65, 90, 97, 122, 95, 48, 57, 65, + 90, 97, 122, 41, 95, 48, 57, 65, + 90, 97, 122, 41, 95, 48, 57, 65, + 90, 97, 122, 41, 48, 57, 41, 58, + 105, 109, 115, 120, 62, 95, 48, 57, + 65, 90, 97, 122, 41, 48, 57, 95, + 48, 57, 65, 90, 97, 122, 95, 48, + 57, 65, 90, 97, 122, 41, 95, 48, + 57, 65, 90, 97, 122, 95, 48, 57, + 65, 90, 97, 122, 105, 109, 115, 120, + 41, 45, 58, 105, 109, 115, 120, 46, + 92, 93, 46, 92, 93, 46, 92, 58, + 92, 93, 58, 92, 93, 58, 92, 61, + 92, 93, 61, 92, 93, 61, 92, 39, + 48, 57, 62, 45, 95, 48, 57, 65, + 90, 97, 122, 48, 57, 125, 48, 57, + 125, 48, 57, 125, 95, 125, 48, 57, + 65, 90, 97, 122, 95, 125, 48, 57, + 65, 90, 97, 122, 95, 125, 48, 57, + 65, 90, 97, 122, 95, 125, 48, 57, + 65, 90, 97, 122, 95, 48, 57, 65, + 90, 97, 122, 39, 95, 48, 57, 65, + 90, 97, 122, 95, 48, 57, 65, 90, + 97, 122, 62, 95, 48, 57, 65, 90, + 97, 122, 95, 48, 57, 65, 90, 97, + 122, 95, 125, 48, 57, 65, 90, 97, + 122, 48, 55, 125, 48, 55, 125, 48, + 57, 65, 70, 97, 102, 44, 125, 48, + 57, 125, 48, 57, 125, 48, 57, 384, + 447, 384, 447, 384, 447, 41, 41, 80, + 41, 41, 70, 41, 56, 41, 121, 97, + 109, 98, 105, 99, 101, 110, 105, 97, + 110, 101, 115, 116, 97, 110, 108, 109, + 116, 105, 110, 101, 115, 101, 117, 109, + 97, 107, 110, 103, 97, 108, 105, 112, + 111, 109, 111, 102, 111, 97, 104, 105, + 109, 105, 108, 108, 101, 103, 104, 105, + 110, 101, 115, 101, 105, 100, 110, 114, + 97, 100, 105, 97, 110, 95, 65, 98, + 111, 114, 105, 103, 105, 110, 97, 108, + 105, 97, 110, 97, 101, 109, 114, 111, + 107, 101, 101, 109, 111, 110, 116, 105, + 99, 110, 101, 105, 102, 111, 114, 109, + 112, 114, 114, 105, 111, 116, 105, 108, + 108, 105, 99, 115, 118, 101, 114, 101, + 116, 97, 110, 97, 103, 97, 114, 105, + 121, 112, 116, 105, 97, 110, 95, 72, + 105, 101, 114, 111, 103, 108, 121, 112, + 104, 115, 104, 105, 111, 112, 105, 99, + 111, 114, 103, 105, 97, 110, 97, 103, + 111, 108, 105, 116, 105, 99, 116, 104, + 105, 99, 101, 101, 107, 106, 114, 97, + 114, 97, 116, 105, 109, 117, 107, 104, + 105, 110, 117, 108, 110, 111, 111, 98, + 114, 101, 119, 114, 97, 103, 97, 110, + 97, 112, 101, 114, 105, 97, 108, 95, + 65, 114, 97, 109, 97, 105, 99, 104, + 115, 101, 114, 105, 116, 101, 100, 99, + 114, 105, 112, 116, 105, 111, 110, 97, + 108, 95, 80, 97, 104, 114, 108, 97, + 118, 105, 116, 104, 105, 97, 110, 118, + 97, 110, 101, 115, 101, 105, 110, 116, + 121, 116, 104, 105, 110, 97, 100, 97, + 97, 107, 97, 110, 97, 97, 104, 95, + 76, 105, 97, 109, 114, 111, 115, 104, + 116, 104, 105, 101, 114, 111, 116, 105, + 110, 112, 99, 104, 97, 109, 110, 115, + 98, 117, 101, 97, 114, 95, 66, 117, + 99, 100, 105, 97, 110, 105, 97, 110, + 108, 110, 97, 121, 97, 108, 97, 109, + 100, 97, 105, 99, 116, 101, 105, 95, + 77, 97, 121, 101, 107, 110, 103, 111, + 108, 105, 97, 110, 97, 110, 109, 97, + 114, 119, 95, 84, 97, 105, 95, 76, + 117, 101, 111, 104, 97, 109, 95, 100, + 67, 104, 105, 107, 105, 95, 73, 80, + 83, 84, 116, 97, 108, 105, 99, 101, + 114, 115, 105, 97, 110, 111, 117, 116, + 104, 95, 65, 114, 97, 98, 105, 97, + 110, 117, 114, 107, 105, 99, 105, 121, + 97, 109, 97, 110, 121, 97, 97, 111, + 103, 115, 95, 80, 97, 101, 110, 105, + 99, 105, 97, 110, 106, 97, 110, 103, + 110, 105, 99, 109, 117, 97, 114, 105, + 116, 97, 110, 114, 97, 115, 104, 116, + 114, 97, 97, 118, 105, 97, 110, 110, + 104, 97, 108, 97, 110, 100, 97, 110, + 101, 115, 101, 108, 114, 111, 116, 105, + 95, 78, 97, 103, 114, 105, 105, 97, + 99, 103, 105, 109, 97, 98, 108, 111, + 103, 97, 110, 119, 97, 95, 76, 84, + 86, 101, 104, 97, 109, 105, 101, 116, + 105, 108, 108, 117, 103, 117, 97, 97, + 105, 110, 97, 98, 102, 101, 116, 97, + 110, 105, 110, 97, 103, 104, 97, 114, + 105, 116, 105, 99, 105, 110, 115, 112, + 100, 123, 94, 125, 94, 46, 92, 93, + 46, 92, 93, 46, 92, 58, 92, 93, + 94, 97, 98, 99, 100, 103, 108, 112, + 115, 117, 119, 120, 58, 92, 93, 58, + 92, 93, 58, 92, 58, 92, 93, 97, + 98, 99, 100, 103, 108, 112, 115, 117, + 119, 120, 58, 92, 93, 108, 115, 58, + 92, 93, 110, 112, 58, 92, 93, 117, + 58, 92, 93, 109, 58, 92, 93, 58, + 92, 93, 58, 92, 93, 104, 58, 92, + 93, 97, 58, 92, 93, 58, 92, 93, + 58, 92, 93, 99, 58, 92, 93, 105, + 58, 92, 93, 105, 58, 92, 93, 58, + 92, 93, 58, 92, 93, 108, 58, 92, + 93, 97, 58, 92, 93, 110, 58, 92, + 93, 107, 58, 92, 93, 58, 92, 93, + 58, 92, 93, 110, 58, 92, 93, 116, + 58, 92, 93, 114, 58, 92, 93, 108, + 58, 92, 93, 58, 92, 93, 58, 92, + 93, 105, 58, 92, 93, 103, 58, 92, + 93, 105, 58, 92, 93, 116, 58, 92, + 93, 58, 92, 93, 58, 92, 93, 114, + 58, 92, 93, 97, 58, 92, 93, 112, + 58, 92, 93, 104, 58, 92, 93, 58, + 92, 93, 58, 92, 93, 111, 58, 92, + 93, 119, 58, 92, 93, 101, 58, 92, + 93, 114, 58, 92, 93, 58, 92, 93, + 58, 92, 93, 114, 117, 58, 92, 93, + 105, 58, 92, 93, 110, 58, 92, 93, + 116, 58, 92, 93, 58, 92, 93, 58, + 92, 93, 110, 58, 92, 93, 99, 58, + 92, 93, 116, 58, 92, 93, 58, 92, + 93, 58, 92, 93, 112, 58, 92, 93, + 97, 58, 92, 93, 99, 58, 92, 93, + 101, 58, 92, 93, 58, 92, 93, 58, + 92, 93, 112, 58, 92, 93, 112, 58, + 92, 93, 101, 58, 92, 93, 114, 58, + 92, 93, 58, 92, 93, 58, 92, 93, + 111, 58, 92, 93, 114, 58, 92, 93, + 100, 58, 92, 93, 58, 92, 93, 58, + 92, 93, 100, 58, 92, 93, 105, 58, + 92, 93, 103, 58, 92, 93, 105, 58, + 92, 93, 116, 58, 92, 93, 58, 92, + 93, 58, 92, 93, 108, 115, 58, 92, + 93, 110, 112, 58, 92, 93, 117, 58, + 92, 93, 109, 58, 92, 93, 58, 92, + 93, 58, 92, 93, 104, 58, 92, 93, + 97, 58, 92, 93, 58, 92, 93, 58, + 92, 93, 99, 58, 92, 93, 105, 58, + 92, 93, 105, 58, 92, 93, 58, 92, + 93, 58, 92, 93, 108, 58, 92, 93, + 97, 58, 92, 93, 110, 58, 92, 93, + 107, 58, 92, 93, 58, 92, 93, 58, + 92, 93, 110, 58, 92, 93, 116, 58, + 92, 93, 114, 58, 92, 93, 108, 58, + 92, 93, 58, 92, 93, 58, 92, 93, + 105, 58, 92, 93, 103, 58, 92, 93, + 105, 58, 92, 93, 116, 58, 92, 93, + 58, 92, 93, 58, 92, 93, 114, 58, + 92, 93, 97, 58, 92, 93, 112, 58, + 92, 93, 104, 58, 92, 93, 58, 92, + 93, 58, 92, 93, 111, 58, 92, 93, + 119, 58, 92, 93, 101, 58, 92, 93, + 114, 58, 92, 93, 58, 92, 93, 58, + 92, 93, 114, 117, 58, 92, 93, 105, + 58, 92, 93, 110, 58, 92, 93, 116, + 58, 92, 93, 58, 92, 93, 58, 92, + 93, 110, 58, 92, 93, 99, 58, 92, + 93, 116, 58, 92, 93, 58, 92, 93, + 58, 92, 93, 112, 58, 92, 93, 97, + 58, 92, 93, 99, 58, 92, 93, 101, + 58, 92, 93, 58, 92, 93, 58, 92, + 93, 112, 58, 92, 93, 112, 58, 92, + 93, 101, 58, 92, 93, 114, 58, 92, + 93, 58, 92, 93, 58, 92, 93, 111, + 58, 92, 93, 114, 58, 92, 93, 100, + 58, 92, 93, 58, 92, 93, 58, 92, + 93, 100, 58, 92, 93, 105, 58, 92, + 93, 103, 58, 92, 93, 105, 58, 92, + 93, 116, 58, 92, 93, 58, 92, 93, + 61, 92, 93, 61, 92, 93, 61, 92, + 48, 55, 125, 48, 55, 125, 48, 57, + 65, 70, 97, 102, 384, 447, 384, 447, + 384, 447, 384, 447, 384, 447, 384, 447, + 384, 447, 384, 447, 384, 447, 0, 32, + 36, 40, 41, 42, 43, 46, 63, 91, + 92, 94, 123, 124, 1315, 1571, 1, 8, + 9, 13, 14, 34, 37, 255, 384, 447, + 448, 479, 480, 495, 496, 503, 504, 511, + 42, 63, 95, 48, 57, 65, 90, 97, + 122, 95, 48, 57, 65, 90, 97, 122, + 39, 48, 60, 63, 82, 95, 49, 55, + 56, 57, 65, 90, 97, 122, 48, 57, + 105, 109, 115, 120, 48, 57, 41, 48, + 57, 33, 61, 95, 48, 57, 65, 90, + 97, 122, 123, 41, 48, 57, 60, 61, + 62, 41, 45, 58, 105, 109, 115, 120, + 43, 63, 43, 63, 43, 63, 46, 58, + 61, 48, 65, 66, 67, 68, 69, 71, + 72, 75, 76, 78, 80, 81, 82, 83, + 85, 86, 87, 88, 90, 97, 98, 99, + 100, 101, 102, 103, 104, 107, 108, 110, + 111, 112, 114, 115, 116, 117, 118, 119, + 120, 122, 49, 55, 56, 57, 48, 55, + 48, 55, 48, 55, 56, 57, 48, 55, + 56, 57, 48, 57, 123, 39, 45, 60, + 123, 48, 57, 48, 57, 48, 57, 48, + 57, 48, 57, 39, 60, 123, 123, 123, + 123, 48, 57, 65, 70, 97, 102, 48, + 57, 65, 70, 97, 102, 48, 57, 65, + 70, 97, 102, 48, 57, 43, 63, 384, + 447, 384, 447, 384, 447, 41, 85, 41, + 41, 67, 84, 65, 66, 67, 68, 69, + 71, 72, 73, 74, 75, 76, 77, 78, + 79, 80, 82, 83, 84, 85, 86, 88, + 89, 90, 110, 114, 118, 97, 101, 111, + 114, 117, 97, 99, 102, 104, 110, 111, + 115, 117, 121, 109, 112, 101, 103, 116, + 101, 108, 111, 114, 117, 97, 101, 105, + 103, 117, 109, 110, 97, 97, 104, 38, + 97, 101, 105, 108, 109, 111, 116, 117, + 121, 97, 99, 101, 110, 111, 121, 101, + 100, 101, 107, 108, 111, 103, 108, 114, + 115, 99, 100, 101, 102, 104, 105, 111, + 115, 101, 117, 97, 99, 104, 105, 107, + 109, 111, 117, 121, 97, 101, 104, 105, + 103, 97, 97, 112, 115, 119, 105, 108, + 112, 115, 67, 76, 77, 78, 80, 83, + 90, 45, 91, 92, 93, 0, 255, 384, + 447, 448, 479, 480, 495, 496, 503, 504, + 511, 46, 58, 61, 48, 68, 69, 72, + 76, 78, 80, 81, 83, 85, 86, 87, + 97, 98, 99, 100, 101, 102, 103, 104, + 108, 110, 111, 112, 114, 115, 116, 117, + 118, 119, 120, 49, 55, 56, 57, 65, + 90, 105, 122, 48, 55, 48, 55, 48, + 55, 48, 55, 123, 123, 123, 123, 48, + 57, 65, 70, 97, 102, 48, 57, 65, + 70, 97, 102, 48, 57, 65, 70, 97, + 102, 384, 447, 384, 447, 384, 447, 92, + 1117, 1118, -128, 91, 95, 127, 861, 862, + 69, 81, 92, 0, 255, 384, 447, 448, + 479, 480, 495, 496, 503, 504, 511, 69, + 384, 447, 384, 447, 384, 447, 92, 0, + 255, 384, 447, 448, 479, 480, 495, 496, + 503, 504, 511, 69, 384, 447, 384, 447, + 384, 447, 41, 10, 0 +}; + +static const char _regex_single_lengths[] = { + 0, 1, 20, 2, 2, 1, 2, 1, + 2, 2, 2, 1, 2, 3, 2, 3, + 1, 2, 2, 1, 6, 2, 1, 1, + 1, 2, 1, 4, 7, 3, 3, 2, + 3, 3, 2, 3, 3, 2, 1, 0, + 1, 2, 0, 1, 1, 1, 2, 2, + 2, 2, 1, 2, 1, 2, 1, 2, + 0, 1, 1, 2, 1, 1, 0, 0, + 0, 1, 2, 1, 2, 2, 1, 1, + 2, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 3, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 2, 1, 1, 1, + 1, 1, 2, 1, 1, 1, 1, 1, + 1, 1, 2, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 2, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 2, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 2, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 2, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 2, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 2, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 4, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 2, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 2, 1, + 1, 1, 1, 1, 1, 3, 1, 1, + 1, 1, 1, 1, 1, 1, 2, 1, + 1, 1, 1, 1, 1, 2, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 2, 1, 1, 1, 1, 1, + 1, 4, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 2, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 2, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 2, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 3, 2, + 1, 1, 1, 1, 1, 1, 1, 1, + 3, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 2, + 1, 1, 2, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 3, 3, 2, 15, 3, + 3, 2, 14, 5, 5, 4, 4, 3, + 3, 4, 4, 3, 3, 4, 4, 4, + 3, 3, 4, 4, 4, 4, 3, 3, + 4, 4, 4, 4, 3, 3, 4, 4, + 4, 4, 3, 3, 4, 4, 4, 4, + 3, 3, 4, 4, 4, 4, 3, 3, + 5, 4, 4, 4, 3, 3, 4, 4, + 4, 3, 3, 4, 4, 4, 4, 3, + 3, 4, 4, 4, 4, 3, 3, 4, + 4, 4, 3, 3, 4, 4, 4, 4, + 4, 3, 3, 5, 5, 4, 4, 3, + 3, 4, 4, 3, 3, 4, 4, 4, + 3, 3, 4, 4, 4, 4, 3, 3, + 4, 4, 4, 4, 3, 3, 4, 4, + 4, 4, 3, 3, 4, 4, 4, 4, + 3, 3, 4, 4, 4, 4, 3, 3, + 5, 4, 4, 4, 3, 3, 4, 4, + 4, 3, 3, 4, 4, 4, 4, 3, + 3, 4, 4, 4, 4, 3, 3, 4, + 4, 4, 3, 3, 4, 4, 4, 4, + 4, 3, 3, 3, 3, 2, 0, 1, + 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 16, 2, 1, 1, 6, 0, + 4, 1, 3, 1, 1, 3, 7, 2, + 2, 2, 3, 41, 0, 0, 0, 0, + 0, 1, 0, 4, 0, 0, 0, 0, + 3, 1, 1, 1, 0, 0, 0, 2, + 0, 0, 0, 2, 1, 3, 23, 3, + 5, 9, 2, 1, 2, 5, 3, 2, + 2, 1, 2, 10, 6, 1, 5, 4, + 8, 2, 9, 4, 1, 1, 4, 1, + 3, 0, 7, 4, 3, 31, 0, 0, + 0, 0, 1, 0, 1, 1, 1, 0, + 0, 0, 0, 0, 3, 2, 1, 1, + 0, 0, 0, 1, 1, 0, 0, 0, + 1, 1 +}; + +static const char _regex_range_lengths[] = { + 0, 0, 1, 3, 3, 3, 3, 0, + 3, 3, 3, 3, 3, 0, 0, 3, + 3, 3, 3, 1, 0, 3, 1, 3, + 3, 3, 3, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1, + 0, 3, 1, 1, 1, 0, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 1, 1, 3, 1, 1, 1, 1, 1, + 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 1, + 3, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 9, 0, 3, 3, 4, 1, + 1, 1, 3, 0, 1, 0, 0, 0, + 0, 0, 0, 2, 1, 1, 2, 2, + 1, 0, 0, 1, 1, 1, 1, 1, + 0, 0, 0, 3, 3, 3, 1, 0, + 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 6, 0, 4, 1, 1, + 1, 1, 0, 0, 0, 0, 3, 3, + 3, 1, 1, 1, 3, 0, 6, 0, + 1, 1, 1, 6, 0, 1, 1, 1, + 0, 0 +}; + +static const short _regex_index_offsets[] = { + 0, 0, 2, 24, 30, 36, 41, 47, + 49, 55, 61, 67, 72, 78, 82, 85, + 92, 97, 103, 109, 112, 119, 125, 128, + 133, 138, 144, 149, 154, 162, 166, 170, + 173, 177, 181, 184, 188, 192, 195, 197, + 199, 201, 207, 209, 212, 215, 217, 223, + 229, 235, 241, 246, 252, 257, 263, 268, + 274, 276, 279, 284, 288, 291, 294, 296, + 298, 300, 302, 305, 307, 310, 313, 315, + 317, 320, 322, 324, 326, 328, 330, 332, + 334, 336, 338, 340, 342, 344, 346, 350, + 352, 354, 356, 358, 360, 362, 364, 366, + 368, 370, 372, 374, 376, 378, 380, 382, + 384, 386, 388, 390, 392, 395, 397, 399, + 401, 403, 405, 408, 410, 412, 414, 416, + 418, 420, 422, 425, 427, 429, 431, 433, + 435, 437, 439, 441, 443, 445, 447, 449, + 451, 453, 455, 457, 459, 461, 463, 466, + 468, 470, 472, 474, 476, 478, 480, 482, + 484, 486, 488, 490, 492, 494, 496, 498, + 500, 502, 504, 507, 509, 511, 513, 515, + 517, 519, 521, 523, 525, 528, 530, 532, + 534, 536, 538, 540, 542, 544, 546, 548, + 550, 552, 554, 556, 558, 560, 562, 564, + 566, 568, 570, 572, 574, 576, 578, 580, + 582, 584, 586, 588, 590, 592, 594, 596, + 598, 600, 602, 604, 606, 608, 610, 612, + 614, 616, 618, 620, 622, 624, 626, 628, + 630, 632, 634, 636, 638, 640, 643, 645, + 647, 649, 651, 653, 655, 657, 659, 661, + 663, 665, 667, 669, 671, 673, 675, 677, + 679, 681, 683, 685, 687, 689, 691, 693, + 695, 697, 699, 701, 703, 705, 707, 709, + 711, 713, 715, 717, 719, 721, 723, 726, + 728, 730, 732, 734, 736, 738, 740, 742, + 744, 746, 748, 750, 752, 754, 756, 758, + 760, 762, 764, 767, 769, 771, 773, 775, + 777, 779, 781, 783, 785, 787, 789, 791, + 793, 795, 797, 802, 804, 806, 808, 810, + 812, 814, 816, 818, 820, 822, 824, 826, + 828, 830, 832, 834, 836, 839, 841, 843, + 845, 847, 849, 851, 853, 855, 857, 860, + 862, 864, 866, 868, 870, 872, 876, 878, + 880, 882, 884, 886, 888, 890, 892, 895, + 897, 899, 901, 903, 905, 907, 910, 912, + 914, 916, 918, 920, 922, 924, 926, 928, + 930, 932, 934, 936, 938, 940, 942, 944, + 946, 948, 950, 952, 954, 956, 958, 960, + 962, 964, 966, 968, 970, 972, 974, 976, + 978, 980, 982, 984, 986, 988, 990, 992, + 994, 996, 998, 1001, 1003, 1005, 1007, 1009, + 1011, 1013, 1018, 1020, 1022, 1024, 1026, 1028, + 1030, 1032, 1034, 1036, 1038, 1040, 1042, 1044, + 1046, 1048, 1050, 1052, 1054, 1056, 1058, 1060, + 1062, 1064, 1066, 1068, 1070, 1072, 1074, 1076, + 1078, 1080, 1082, 1084, 1086, 1088, 1090, 1093, + 1095, 1097, 1099, 1101, 1103, 1105, 1107, 1109, + 1111, 1113, 1115, 1117, 1119, 1121, 1123, 1125, + 1127, 1129, 1131, 1134, 1136, 1138, 1140, 1142, + 1144, 1146, 1148, 1150, 1152, 1154, 1156, 1158, + 1160, 1162, 1164, 1166, 1168, 1170, 1172, 1174, + 1176, 1178, 1180, 1182, 1184, 1186, 1188, 1190, + 1192, 1194, 1197, 1199, 1201, 1203, 1205, 1207, + 1209, 1211, 1213, 1215, 1217, 1219, 1221, 1225, + 1228, 1230, 1232, 1234, 1236, 1238, 1240, 1242, + 1244, 1248, 1250, 1252, 1254, 1256, 1258, 1260, + 1262, 1264, 1266, 1268, 1270, 1272, 1274, 1276, + 1279, 1281, 1283, 1286, 1288, 1290, 1292, 1294, + 1296, 1298, 1300, 1302, 1304, 1306, 1308, 1310, + 1312, 1314, 1316, 1318, 1320, 1322, 1324, 1326, + 1328, 1330, 1332, 1334, 1338, 1342, 1345, 1361, + 1365, 1369, 1372, 1387, 1393, 1399, 1404, 1409, + 1413, 1417, 1422, 1427, 1431, 1435, 1440, 1445, + 1450, 1454, 1458, 1463, 1468, 1473, 1478, 1482, + 1486, 1491, 1496, 1501, 1506, 1510, 1514, 1519, + 1524, 1529, 1534, 1538, 1542, 1547, 1552, 1557, + 1562, 1566, 1570, 1575, 1580, 1585, 1590, 1594, + 1598, 1604, 1609, 1614, 1619, 1623, 1627, 1632, + 1637, 1642, 1646, 1650, 1655, 1660, 1665, 1670, + 1674, 1678, 1683, 1688, 1693, 1698, 1702, 1706, + 1711, 1716, 1721, 1725, 1729, 1734, 1739, 1744, + 1749, 1754, 1758, 1762, 1768, 1774, 1779, 1784, + 1788, 1792, 1797, 1802, 1806, 1810, 1815, 1820, + 1825, 1829, 1833, 1838, 1843, 1848, 1853, 1857, + 1861, 1866, 1871, 1876, 1881, 1885, 1889, 1894, + 1899, 1904, 1909, 1913, 1917, 1922, 1927, 1932, + 1937, 1941, 1945, 1950, 1955, 1960, 1965, 1969, + 1973, 1979, 1984, 1989, 1994, 1998, 2002, 2007, + 2012, 2017, 2021, 2025, 2030, 2035, 2040, 2045, + 2049, 2053, 2058, 2063, 2068, 2073, 2077, 2081, + 2086, 2091, 2096, 2100, 2104, 2109, 2114, 2119, + 2124, 2129, 2133, 2137, 2141, 2145, 2148, 2150, + 2153, 2158, 2160, 2162, 2164, 2166, 2168, 2170, + 2172, 2174, 2176, 2202, 2205, 2210, 2215, 2226, + 2228, 2234, 2237, 2244, 2246, 2249, 2253, 2261, + 2264, 2267, 2270, 2274, 2318, 2320, 2322, 2325, + 2328, 2330, 2332, 2333, 2339, 2341, 2343, 2345, + 2347, 2351, 2353, 2355, 2360, 2364, 2368, 2370, + 2373, 2375, 2377, 2379, 2382, 2384, 2388, 2412, + 2416, 2422, 2432, 2435, 2437, 2440, 2446, 2450, + 2453, 2456, 2458, 2461, 2472, 2479, 2481, 2487, + 2492, 2501, 2504, 2514, 2519, 2521, 2523, 2528, + 2530, 2534, 2535, 2543, 2554, 2558, 2594, 2596, + 2598, 2600, 2602, 2604, 2605, 2607, 2609, 2614, + 2618, 2622, 2624, 2626, 2628, 2635, 2638, 2646, + 2648, 2650, 2652, 2654, 2662, 2664, 2666, 2668, + 2670, 2672 +}; + +static const short _regex_indicies[] = { + 0, 1, 3, 4, 5, 6, 7, 8, + 9, 10, 12, 13, 14, 15, 16, 17, + 18, 19, 19, 19, 19, 20, 11, 2, + 22, 23, 23, 23, 23, 21, 24, 25, + 25, 25, 25, 21, 27, 27, 27, 27, + 26, 28, 27, 27, 27, 27, 26, 29, + 26, 29, 30, 30, 30, 30, 26, 31, + 30, 32, 30, 30, 26, 29, 30, 32, + 30, 30, 26, 33, 33, 33, 33, 26, + 28, 33, 33, 33, 33, 26, 34, 35, + 36, 26, 37, 38, 26, 39, 40, 30, + 41, 30, 30, 26, 42, 42, 42, 42, + 26, 40, 42, 42, 42, 42, 26, 40, + 30, 41, 30, 30, 26, 43, 44, 21, + 45, 46, 47, 47, 47, 47, 21, 24, + 48, 48, 48, 48, 21, 49, 50, 21, + 48, 48, 48, 48, 21, 51, 51, 51, + 51, 21, 52, 51, 51, 51, 51, 21, + 23, 23, 23, 23, 21, 47, 47, 47, + 47, 21, 45, 53, 46, 54, 54, 54, + 54, 21, 57, 58, 55, 56, 57, 58, + 59, 56, 57, 58, 56, 61, 62, 55, + 60, 61, 62, 63, 60, 61, 62, 60, + 65, 66, 55, 64, 65, 66, 59, 64, + 65, 66, 64, 69, 68, 70, 67, 69, + 71, 72, 74, 73, 74, 74, 67, 75, + 67, 77, 76, 67, 77, 78, 67, 77, + 67, 74, 80, 79, 74, 74, 67, 74, + 80, 81, 74, 74, 67, 74, 80, 74, + 74, 74, 67, 74, 82, 74, 74, 74, + 67, 84, 84, 84, 84, 83, 85, 84, + 84, 84, 84, 83, 86, 86, 86, 86, + 83, 87, 86, 86, 86, 86, 83, 88, + 88, 88, 88, 83, 88, 89, 88, 88, + 88, 83, 91, 90, 92, 91, 90, 95, + 94, 94, 94, 93, 97, 99, 98, 96, + 101, 100, 96, 102, 100, 96, 104, 103, + 105, 103, 106, 103, 109, 108, 109, 110, + 108, 111, 108, 109, 112, 108, 113, 114, + 108, 115, 108, 117, 116, 118, 119, 116, + 120, 116, 121, 116, 122, 116, 123, 116, + 124, 116, 125, 116, 126, 116, 127, 116, + 128, 116, 129, 116, 130, 116, 131, 116, + 132, 116, 133, 134, 135, 116, 136, 116, + 137, 116, 138, 116, 139, 116, 140, 116, + 141, 116, 142, 116, 143, 116, 144, 116, + 145, 116, 146, 116, 147, 116, 148, 116, + 149, 116, 150, 116, 151, 116, 152, 116, + 153, 116, 154, 116, 155, 116, 156, 116, + 157, 158, 116, 159, 116, 160, 116, 161, + 116, 162, 116, 163, 116, 164, 165, 116, + 166, 116, 167, 116, 168, 116, 169, 116, + 170, 116, 171, 116, 172, 116, 174, 175, + 173, 176, 173, 177, 173, 178, 173, 179, + 173, 180, 173, 181, 173, 182, 173, 183, + 173, 184, 173, 185, 173, 186, 173, 187, + 173, 188, 173, 189, 173, 190, 173, 191, + 173, 192, 173, 193, 173, 194, 173, 195, + 196, 173, 197, 173, 198, 173, 199, 173, + 200, 173, 201, 173, 202, 173, 204, 203, + 205, 203, 206, 203, 207, 203, 208, 203, + 209, 203, 210, 173, 211, 173, 212, 173, + 213, 173, 214, 173, 215, 173, 216, 173, + 217, 218, 173, 219, 173, 220, 173, 221, + 173, 222, 173, 223, 173, 224, 173, 225, + 173, 226, 173, 227, 173, 228, 229, 116, + 230, 116, 231, 116, 232, 116, 233, 116, + 234, 116, 235, 116, 236, 116, 237, 116, + 238, 116, 239, 116, 240, 116, 241, 116, + 242, 116, 243, 116, 244, 116, 245, 116, + 246, 116, 247, 116, 248, 116, 249, 116, + 250, 116, 251, 116, 252, 116, 253, 116, + 254, 116, 255, 116, 256, 116, 257, 116, + 258, 116, 259, 116, 260, 116, 261, 116, + 262, 116, 263, 116, 264, 116, 265, 116, + 266, 116, 267, 116, 268, 116, 269, 116, + 270, 116, 271, 116, 272, 116, 273, 116, + 274, 116, 275, 116, 276, 116, 277, 116, + 278, 116, 279, 116, 280, 116, 281, 116, + 282, 116, 283, 116, 284, 116, 285, 116, + 286, 287, 116, 288, 116, 289, 116, 290, + 116, 291, 116, 292, 116, 293, 116, 294, + 116, 295, 116, 296, 116, 297, 116, 298, + 116, 300, 299, 301, 299, 302, 299, 303, + 299, 304, 299, 305, 116, 306, 116, 307, + 116, 308, 116, 309, 116, 310, 116, 311, + 116, 312, 116, 313, 116, 314, 116, 315, + 116, 316, 116, 317, 116, 318, 116, 319, + 116, 320, 116, 321, 116, 322, 116, 323, + 116, 324, 116, 325, 116, 326, 116, 327, + 116, 328, 116, 329, 330, 116, 331, 116, + 332, 116, 333, 116, 334, 116, 335, 116, + 336, 116, 337, 116, 338, 116, 339, 116, + 340, 116, 341, 116, 342, 116, 343, 116, + 344, 116, 345, 116, 346, 116, 347, 116, + 348, 116, 349, 116, 350, 351, 116, 352, + 116, 353, 116, 354, 116, 355, 116, 356, + 116, 357, 116, 358, 116, 359, 116, 360, + 116, 361, 116, 362, 116, 363, 116, 364, + 116, 365, 116, 366, 116, 367, 368, 369, + 370, 116, 371, 116, 372, 116, 373, 116, + 374, 116, 375, 116, 376, 116, 377, 116, + 378, 116, 379, 116, 380, 116, 381, 116, + 382, 116, 383, 116, 384, 116, 385, 116, + 386, 116, 387, 116, 388, 389, 116, 390, + 116, 391, 116, 392, 116, 393, 116, 394, + 116, 395, 116, 396, 116, 397, 116, 398, + 116, 400, 401, 399, 402, 399, 403, 399, + 404, 399, 405, 399, 406, 399, 407, 399, + 408, 409, 410, 399, 411, 399, 412, 399, + 413, 399, 414, 399, 415, 399, 416, 399, + 417, 399, 418, 399, 419, 420, 399, 421, + 399, 422, 399, 423, 399, 424, 399, 425, + 399, 426, 399, 428, 429, 427, 430, 427, + 431, 427, 432, 427, 433, 427, 434, 427, + 435, 427, 436, 427, 437, 427, 438, 427, + 439, 427, 441, 440, 442, 440, 443, 440, + 444, 440, 445, 440, 446, 440, 447, 440, + 448, 440, 449, 440, 450, 427, 451, 427, + 452, 427, 453, 427, 454, 427, 455, 427, + 456, 427, 457, 427, 458, 427, 459, 427, + 460, 427, 461, 427, 463, 462, 464, 462, + 465, 462, 466, 462, 467, 462, 468, 462, + 469, 462, 470, 462, 471, 462, 472, 462, + 473, 116, 474, 116, 475, 116, 476, 477, + 116, 478, 116, 479, 116, 480, 116, 481, + 116, 482, 116, 483, 116, 484, 485, 486, + 487, 116, 488, 116, 489, 116, 490, 116, + 491, 116, 492, 116, 493, 116, 494, 116, + 495, 116, 496, 116, 497, 116, 498, 116, + 499, 116, 500, 116, 501, 116, 502, 116, + 503, 116, 504, 116, 505, 116, 506, 116, + 507, 116, 508, 116, 509, 116, 510, 116, + 511, 116, 512, 116, 513, 116, 514, 116, + 515, 116, 516, 116, 517, 116, 518, 116, + 519, 116, 520, 116, 521, 116, 522, 116, + 523, 116, 525, 526, 524, 527, 524, 528, + 524, 529, 524, 530, 524, 531, 524, 532, + 524, 533, 524, 534, 524, 535, 524, 536, + 524, 537, 524, 538, 524, 539, 116, 540, + 116, 541, 116, 542, 116, 543, 116, 544, + 116, 545, 116, 547, 548, 546, 549, 546, + 550, 546, 551, 546, 552, 546, 553, 546, + 554, 546, 555, 546, 556, 546, 557, 546, + 558, 546, 559, 546, 560, 546, 561, 546, + 562, 546, 563, 546, 564, 546, 565, 546, + 566, 546, 567, 546, 568, 546, 569, 546, + 570, 546, 571, 546, 572, 546, 573, 546, + 574, 546, 575, 546, 576, 546, 577, 546, + 578, 546, 579, 580, 546, 581, 546, 582, + 546, 583, 546, 584, 546, 585, 546, 586, + 546, 587, 546, 588, 546, 589, 546, 590, + 546, 591, 546, 592, 546, 593, 594, 595, + 116, 596, 597, 116, 598, 116, 599, 116, + 600, 116, 601, 116, 602, 116, 603, 116, + 604, 116, 605, 116, 606, 607, 608, 116, + 609, 116, 610, 116, 611, 116, 612, 116, + 613, 116, 614, 116, 615, 116, 616, 116, + 617, 116, 618, 116, 619, 116, 620, 116, + 621, 116, 622, 116, 623, 624, 116, 625, + 116, 626, 116, 627, 628, 116, 629, 116, + 630, 116, 631, 116, 632, 116, 633, 116, + 634, 116, 635, 116, 636, 116, 637, 116, + 638, 116, 639, 116, 640, 116, 641, 116, + 642, 116, 643, 116, 644, 116, 645, 116, + 646, 116, 647, 116, 648, 116, 650, 649, + 652, 651, 653, 649, 649, 651, 656, 657, + 654, 655, 656, 657, 658, 655, 656, 657, + 655, 660, 661, 654, 662, 663, 664, 665, + 666, 667, 668, 669, 670, 671, 672, 673, + 659, 660, 661, 654, 659, 660, 661, 674, + 659, 660, 661, 659, 660, 661, 654, 675, + 676, 677, 678, 679, 680, 681, 682, 683, + 684, 685, 659, 660, 661, 654, 686, 687, + 659, 660, 661, 654, 688, 689, 659, 660, + 661, 654, 690, 659, 660, 661, 654, 691, + 659, 692, 661, 654, 659, 660, 661, 693, + 659, 660, 661, 654, 694, 659, 660, 661, + 654, 695, 659, 696, 661, 654, 659, 660, + 661, 697, 659, 660, 661, 654, 698, 659, + 660, 661, 654, 699, 659, 660, 661, 654, + 700, 659, 701, 661, 654, 659, 660, 661, + 702, 659, 660, 661, 654, 703, 659, 660, + 661, 654, 704, 659, 660, 661, 654, 705, + 659, 660, 661, 654, 706, 659, 707, 661, + 654, 659, 660, 661, 708, 659, 660, 661, + 654, 709, 659, 660, 661, 654, 710, 659, + 660, 661, 654, 711, 659, 660, 661, 654, + 712, 659, 713, 661, 654, 659, 660, 661, + 714, 659, 660, 661, 654, 715, 659, 660, + 661, 654, 716, 659, 660, 661, 654, 717, + 659, 660, 661, 654, 718, 659, 719, 661, + 654, 659, 660, 661, 720, 659, 660, 661, + 654, 721, 659, 660, 661, 654, 722, 659, + 660, 661, 654, 723, 659, 660, 661, 654, + 724, 659, 725, 661, 654, 659, 660, 661, + 726, 659, 660, 661, 654, 727, 659, 660, + 661, 654, 728, 659, 660, 661, 654, 729, + 659, 660, 661, 654, 730, 659, 731, 661, + 654, 659, 660, 661, 732, 659, 660, 661, + 654, 733, 734, 659, 660, 661, 654, 735, + 659, 660, 661, 654, 736, 659, 660, 661, + 654, 737, 659, 738, 661, 654, 659, 660, + 661, 739, 659, 660, 661, 654, 740, 659, + 660, 661, 654, 741, 659, 660, 661, 654, + 742, 659, 743, 661, 654, 659, 660, 661, + 744, 659, 660, 661, 654, 745, 659, 660, + 661, 654, 746, 659, 660, 661, 654, 747, + 659, 660, 661, 654, 748, 659, 749, 661, + 654, 659, 660, 661, 750, 659, 660, 661, + 654, 751, 659, 660, 661, 654, 752, 659, + 660, 661, 654, 753, 659, 660, 661, 654, + 754, 659, 755, 661, 654, 659, 660, 661, + 756, 659, 660, 661, 654, 757, 659, 660, + 661, 654, 758, 659, 660, 661, 654, 759, + 659, 760, 661, 654, 659, 660, 661, 761, + 659, 660, 661, 654, 762, 659, 660, 661, + 654, 763, 659, 660, 661, 654, 764, 659, + 660, 661, 654, 765, 659, 660, 661, 654, + 766, 659, 767, 661, 654, 659, 660, 661, + 768, 659, 660, 661, 654, 769, 770, 659, + 660, 661, 654, 771, 772, 659, 660, 661, + 654, 773, 659, 660, 661, 654, 774, 659, + 775, 661, 654, 659, 660, 661, 776, 659, + 660, 661, 654, 777, 659, 660, 661, 654, + 778, 659, 779, 661, 654, 659, 660, 661, + 780, 659, 660, 661, 654, 781, 659, 660, + 661, 654, 782, 659, 660, 661, 654, 783, + 659, 784, 661, 654, 659, 660, 661, 785, + 659, 660, 661, 654, 786, 659, 660, 661, + 654, 787, 659, 660, 661, 654, 788, 659, + 660, 661, 654, 789, 659, 790, 661, 654, + 659, 660, 661, 791, 659, 660, 661, 654, + 792, 659, 660, 661, 654, 793, 659, 660, + 661, 654, 794, 659, 660, 661, 654, 795, + 659, 796, 661, 654, 659, 660, 661, 797, + 659, 660, 661, 654, 798, 659, 660, 661, + 654, 799, 659, 660, 661, 654, 800, 659, + 660, 661, 654, 801, 659, 802, 661, 654, + 659, 660, 661, 803, 659, 660, 661, 654, + 804, 659, 660, 661, 654, 805, 659, 660, + 661, 654, 806, 659, 660, 661, 654, 807, + 659, 808, 661, 654, 659, 660, 661, 809, + 659, 660, 661, 654, 810, 659, 660, 661, + 654, 811, 659, 660, 661, 654, 812, 659, + 660, 661, 654, 813, 659, 814, 661, 654, + 659, 660, 661, 815, 659, 660, 661, 654, + 816, 817, 659, 660, 661, 654, 818, 659, + 660, 661, 654, 819, 659, 660, 661, 654, + 820, 659, 821, 661, 654, 659, 660, 661, + 822, 659, 660, 661, 654, 823, 659, 660, + 661, 654, 824, 659, 660, 661, 654, 825, + 659, 826, 661, 654, 659, 660, 661, 827, + 659, 660, 661, 654, 828, 659, 660, 661, + 654, 829, 659, 660, 661, 654, 830, 659, + 660, 661, 654, 831, 659, 832, 661, 654, + 659, 660, 661, 833, 659, 660, 661, 654, + 834, 659, 660, 661, 654, 835, 659, 660, + 661, 654, 836, 659, 660, 661, 654, 837, + 659, 838, 661, 654, 659, 660, 661, 839, + 659, 660, 661, 654, 840, 659, 660, 661, + 654, 841, 659, 660, 661, 654, 842, 659, + 843, 661, 654, 659, 660, 661, 844, 659, + 660, 661, 654, 845, 659, 660, 661, 654, + 846, 659, 660, 661, 654, 847, 659, 660, + 661, 654, 848, 659, 660, 661, 654, 849, + 659, 850, 661, 654, 659, 660, 661, 851, + 659, 853, 854, 654, 852, 853, 854, 658, + 852, 853, 854, 852, 856, 855, 857, 856, + 855, 860, 859, 859, 859, 858, 862, 861, + 863, 861, 864, 861, 866, 865, 867, 865, + 868, 865, 870, 869, 871, 869, 872, 869, + 873, 876, 877, 878, 879, 880, 881, 882, + 883, 884, 885, 886, 887, 888, 875, 893, + 875, 876, 875, 875, 889, 890, 891, 892, + 889, 874, 895, 896, 894, 23, 23, 23, + 23, 897, 25, 25, 25, 25, 897, 899, + 30, 902, 903, 904, 30, 900, 901, 30, + 30, 898, 44, 897, 47, 47, 47, 47, + 44, 897, 43, 44, 897, 905, 906, 48, + 48, 48, 48, 897, 907, 897, 49, 50, + 897, 908, 909, 910, 897, 45, 53, 46, + 54, 54, 54, 54, 897, 912, 913, 911, + 915, 916, 914, 918, 919, 917, 56, 60, + 64, 920, 923, 926, 927, 928, 929, 930, + 931, 932, 933, 934, 934, 935, 936, 937, + 938, 934, 939, 940, 941, 942, 943, 944, + 945, 946, 947, 948, 949, 950, 951, 934, + 952, 953, 954, 955, 956, 957, 934, 958, + 959, 960, 961, 924, 925, 922, 963, 962, + 964, 962, 966, 967, 965, 969, 967, 968, + 967, 970, 973, 972, 975, 68, 977, 71, + 979, 978, 976, 981, 980, 982, 980, 984, + 983, 985, 983, 987, 988, 989, 986, 991, + 990, 994, 993, 999, 996, 997, 998, 995, + 1000, 1001, 1002, 995, 94, 94, 94, 1003, + 98, 1004, 1006, 1007, 1005, 1009, 1008, 1010, + 1008, 1011, 1008, 1013, 1014, 1012, 109, 108, + 109, 1016, 1017, 108, 1019, 1020, 1021, 1022, + 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, + 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, + 1039, 1040, 1041, 1018, 1043, 1044, 1045, 1042, + 1046, 1047, 1048, 1049, 1050, 1042, 1052, 1053, + 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1051, + 1062, 1063, 1061, 1064, 1042, 1065, 1066, 1042, + 1067, 1068, 1069, 1070, 1071, 1042, 1072, 1073, + 1074, 1042, 1076, 1077, 1075, 1078, 1079, 1042, + 1080, 1042, 1081, 1082, 1042, 1084, 1085, 1086, + 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1083, + 1095, 1096, 1097, 1098, 1099, 1100, 1094, 1102, + 1101, 1104, 1105, 1106, 1107, 1108, 1103, 1109, + 1110, 1111, 1112, 1042, 1114, 1115, 1116, 1117, + 1118, 1119, 1120, 1121, 1113, 1122, 1123, 1042, + 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, + 1133, 1124, 1134, 1135, 1136, 1137, 1042, 1138, + 1042, 1139, 1042, 1140, 1141, 1142, 1143, 1042, + 1144, 1042, 1146, 1147, 1148, 1145, 649, 1150, + 1151, 1152, 1153, 1154, 1155, 1156, 1149, 1158, + 1159, 1160, 1161, 1157, 1162, 1163, 1164, 1165, + 1162, 874, 655, 1167, 852, 1166, 1169, 1173, + 1174, 1175, 1176, 1176, 1177, 1178, 1179, 1176, + 1180, 1181, 1182, 1183, 1184, 1185, 1186, 1187, + 1188, 1189, 1176, 1190, 1191, 1192, 1193, 1194, + 1195, 1176, 1196, 1197, 1198, 1170, 1171, 1172, + 1172, 1168, 1200, 1199, 1201, 1199, 1203, 1202, + 1204, 1202, 1207, 1206, 1209, 1211, 1210, 1214, + 1213, 1219, 1216, 1217, 1218, 1215, 1220, 1221, + 1222, 1215, 859, 859, 859, 1223, 1225, 1224, + 1226, 1224, 1227, 1224, 1229, 1230, 1231, 1228, + 1228, 1228, 874, 1233, 1234, 1232, 1236, 1235, + 1237, 1238, 1239, 1240, 1237, 874, 1242, 1241, + 1244, 1243, 1245, 1243, 1246, 1243, 1248, 1247, + 1249, 1250, 1251, 1252, 1249, 874, 1254, 1253, + 1256, 1255, 1257, 1255, 1258, 1255, 1260, 1259, + 1262, 1261, 0 +}; + +static const short _regex_trans_targs[] = { + 746, 746, 746, 746, 746, 748, 749, 750, + 746, 751, 752, 753, 746, 754, 746, 746, + 755, 756, 757, 758, 746, 746, 746, 3, + 746, 4, 746, 6, 7, 746, 8, 746, + 9, 12, 746, 14, 746, 746, 746, 16, + 746, 18, 17, 746, 19, 746, 746, 20, + 21, 746, 22, 25, 746, 27, 28, 746, + 29, 30, 31, 746, 32, 33, 34, 746, + 35, 36, 37, 746, 38, 746, 772, 40, + 42, 46, 49, 43, 44, 746, 45, 47, + 746, 48, 746, 746, 51, 746, 53, 746, + 55, 746, 746, 57, 746, 746, 58, 746, + 746, 60, 59, 783, 61, 783, 783, 746, + 746, 64, 746, 787, 65, 787, 67, 787, + 69, 787, 70, 787, 790, 790, 73, 76, + 74, 75, 790, 77, 78, 79, 80, 790, + 82, 83, 84, 85, 790, 87, 92, 94, + 88, 89, 90, 91, 790, 93, 790, 95, + 790, 97, 98, 99, 100, 790, 102, 103, + 104, 105, 106, 790, 108, 109, 111, 110, + 790, 112, 113, 790, 115, 120, 116, 117, + 118, 119, 790, 121, 790, 790, 123, 139, + 124, 125, 126, 127, 128, 129, 130, 131, + 132, 133, 134, 135, 136, 137, 138, 790, + 140, 141, 790, 143, 144, 790, 145, 146, + 147, 148, 790, 790, 150, 151, 790, 153, + 154, 790, 156, 157, 158, 159, 160, 161, + 790, 163, 167, 164, 165, 166, 790, 168, + 169, 170, 171, 790, 173, 177, 174, 175, + 176, 790, 178, 179, 180, 181, 182, 183, + 790, 185, 186, 187, 188, 189, 190, 191, + 192, 193, 194, 195, 196, 197, 198, 199, + 200, 201, 790, 203, 204, 205, 206, 207, + 790, 209, 210, 211, 212, 213, 790, 215, + 216, 217, 218, 219, 220, 221, 790, 223, + 224, 225, 790, 227, 228, 790, 230, 235, + 231, 232, 233, 234, 790, 236, 237, 238, + 239, 790, 799, 790, 242, 790, 244, 245, + 790, 247, 248, 249, 790, 251, 252, 253, + 254, 255, 790, 257, 258, 259, 260, 261, + 262, 263, 264, 265, 266, 267, 268, 269, + 790, 271, 277, 272, 273, 274, 275, 276, + 790, 278, 279, 280, 281, 282, 283, 284, + 285, 286, 287, 288, 289, 290, 291, 295, + 292, 293, 294, 790, 296, 297, 298, 299, + 790, 301, 302, 303, 304, 305, 790, 307, + 310, 314, 319, 308, 309, 790, 311, 312, + 313, 790, 315, 316, 317, 318, 790, 320, + 321, 322, 323, 790, 325, 332, 326, 327, + 328, 329, 330, 331, 790, 333, 790, 790, + 790, 335, 336, 790, 338, 339, 340, 790, + 342, 344, 349, 343, 790, 345, 346, 347, + 348, 790, 790, 351, 354, 352, 353, 790, + 355, 356, 790, 790, 358, 364, 359, 360, + 361, 362, 363, 790, 365, 366, 367, 790, + 790, 369, 370, 371, 372, 373, 374, 375, + 376, 790, 378, 379, 380, 381, 382, 383, + 790, 385, 386, 387, 388, 790, 790, 390, + 391, 392, 393, 394, 395, 396, 397, 790, + 790, 400, 401, 790, 403, 408, 404, 405, + 406, 407, 790, 409, 410, 415, 421, 433, + 411, 412, 413, 414, 790, 416, 417, 418, + 419, 420, 790, 422, 423, 424, 425, 426, + 427, 428, 429, 430, 431, 432, 790, 434, + 435, 436, 437, 790, 439, 440, 790, 442, + 443, 444, 445, 790, 790, 447, 452, 448, + 449, 450, 451, 790, 453, 454, 455, 456, + 457, 458, 790, 460, 461, 462, 790, 464, + 465, 790, 790, 467, 473, 468, 469, 470, + 471, 472, 790, 474, 475, 476, 477, 478, + 479, 790, 481, 482, 483, 484, 790, 486, + 487, 488, 489, 790, 491, 492, 493, 494, + 495, 496, 790, 498, 507, 499, 500, 501, + 502, 503, 504, 505, 506, 790, 508, 509, + 790, 511, 519, 528, 512, 515, 513, 514, + 790, 516, 517, 518, 790, 520, 521, 522, + 525, 790, 523, 524, 790, 526, 527, 790, + 529, 790, 531, 532, 533, 790, 535, 536, + 790, 537, 790, 539, 543, 540, 541, 542, + 790, 544, 545, 546, 547, 790, 549, 550, + 551, 552, 553, 790, 790, 790, 790, 790, + 790, 0, 560, 561, 562, 817, 819, 563, + 564, 565, 819, 567, 568, 569, 570, 651, + 666, 672, 678, 684, 690, 696, 707, 713, + 719, 724, 819, 571, 586, 592, 598, 604, + 610, 616, 627, 633, 639, 644, 572, 581, + 573, 577, 574, 575, 576, 819, 578, 579, + 580, 819, 582, 583, 584, 585, 819, 587, + 588, 589, 590, 591, 819, 593, 594, 595, + 596, 597, 819, 599, 600, 601, 602, 603, + 819, 605, 606, 607, 608, 609, 819, 611, + 612, 613, 614, 615, 819, 617, 622, 618, + 619, 620, 621, 819, 623, 624, 625, 626, + 819, 628, 629, 630, 631, 632, 819, 634, + 635, 636, 637, 638, 819, 640, 641, 642, + 643, 819, 645, 646, 647, 648, 649, 650, + 819, 652, 661, 653, 657, 654, 655, 656, + 819, 658, 659, 660, 819, 662, 663, 664, + 665, 819, 667, 668, 669, 670, 671, 819, + 673, 674, 675, 676, 677, 819, 679, 680, + 681, 682, 683, 819, 685, 686, 687, 688, + 689, 819, 691, 692, 693, 694, 695, 819, + 697, 702, 698, 699, 700, 701, 819, 703, + 704, 705, 706, 819, 708, 709, 710, 711, + 712, 819, 714, 715, 716, 717, 718, 819, + 720, 721, 722, 723, 819, 725, 726, 727, + 728, 729, 730, 819, 731, 732, 733, 819, + 735, 819, 819, 736, 819, 819, 819, 739, + 819, 838, 838, 742, 838, 843, 843, 745, + 843, 746, 0, 746, 746, 746, 747, 746, + 759, 760, 746, 761, 762, 763, 746, 782, + 746, 746, 784, 785, 786, 746, 746, 1, + 2, 746, 746, 5, 9, 10, 11, 13, + 15, 746, 746, 746, 23, 24, 26, 746, + 746, 746, 746, 746, 746, 746, 746, 746, + 746, 746, 746, 764, 766, 768, 746, 746, + 746, 746, 746, 746, 746, 746, 746, 769, + 746, 746, 746, 746, 746, 746, 746, 746, + 746, 770, 746, 746, 746, 771, 746, 776, + 746, 777, 778, 746, 746, 746, 746, 746, + 779, 746, 746, 765, 746, 746, 767, 768, + 746, 768, 746, 746, 746, 746, 746, 746, + 746, 39, 774, 41, 746, 773, 746, 746, + 775, 746, 746, 50, 52, 54, 746, 56, + 746, 746, 746, 746, 780, 780, 780, 781, + 746, 746, 746, 746, 746, 746, 746, 746, + 746, 746, 62, 63, 788, 787, 789, 787, + 66, 68, 790, 791, 792, 793, 795, 796, + 797, 798, 800, 801, 802, 803, 804, 806, + 807, 808, 809, 810, 811, 812, 813, 814, + 815, 816, 790, 71, 72, 81, 86, 96, + 101, 107, 114, 790, 122, 790, 790, 142, + 790, 794, 790, 155, 162, 790, 149, 152, + 172, 184, 202, 208, 214, 222, 226, 229, + 240, 246, 250, 790, 241, 243, 256, 270, + 300, 306, 324, 790, 790, 334, 337, 341, + 790, 790, 790, 790, 790, 350, 790, 357, + 790, 805, 790, 377, 384, 790, 368, 790, + 790, 389, 398, 790, 790, 399, 402, 438, + 441, 790, 790, 790, 790, 790, 446, 790, + 790, 790, 459, 463, 790, 466, 790, 480, + 485, 790, 790, 790, 490, 497, 510, 530, + 534, 538, 548, 554, 555, 556, 557, 558, + 790, 790, 790, 790, 790, 818, 818, 818, + 818, 818, 818, 818, 818, 819, 819, 820, + 821, 819, 819, 833, 834, 835, 819, 566, + 819, 822, 824, 819, 819, 819, 819, 819, + 819, 826, 819, 819, 819, 819, 819, 819, + 827, 819, 819, 819, 819, 819, 819, 828, + 829, 819, 819, 819, 819, 819, 830, 819, + 823, 819, 819, 825, 819, 819, 819, 819, + 819, 819, 819, 734, 819, 819, 819, 819, + 831, 831, 831, 832, 819, 819, 819, 819, + 819, 819, 737, 738, 836, 837, 836, 836, + 836, 836, 836, 838, 839, 838, 840, 841, + 842, 838, 838, 838, 838, 740, 741, 843, + 844, 843, 845, 846, 847, 843, 843, 843, + 843, 743, 744, 848, 848, 849, 849 +}; + +static const short _regex_trans_actions[] = { + 827, 631, 765, 731, 723, 45, 903, 903, + 897, 45, 912, 45, 900, 903, 729, 741, + 0, 45, 45, 923, 737, 841, 747, 0, + 743, 3, 839, 3, 0, 761, 3, 759, + 870, 3, 751, 0, 749, 755, 753, 0, + 757, 3, 0, 745, 0, 725, 727, 27, + 3, 763, 0, 3, 673, 0, 25, 829, + 0, 0, 0, 603, 0, 0, 0, 601, + 0, 0, 0, 831, 0, 675, 17, 0, + 7, 870, 3, 17, 17, 663, 17, 870, + 661, 870, 665, 837, 3, 671, 3, 669, + 3, 667, 833, 0, 677, 835, 0, 679, + 845, 0, 11, 29, 13, 31, 0, 843, + 769, 0, 771, 59, 0, 53, 0, 51, + 0, 49, 0, 47, 359, 315, 0, 0, + 0, 0, 127, 0, 0, 0, 0, 129, + 0, 0, 0, 0, 131, 0, 0, 0, + 0, 0, 0, 0, 133, 0, 135, 0, + 137, 0, 0, 0, 0, 139, 0, 0, + 0, 0, 0, 141, 0, 0, 0, 0, + 143, 0, 0, 145, 0, 0, 0, 0, + 0, 0, 147, 0, 149, 341, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 151, + 0, 0, 153, 0, 0, 155, 0, 0, + 0, 0, 157, 343, 0, 0, 159, 0, + 0, 161, 0, 0, 0, 0, 0, 0, + 163, 0, 0, 0, 0, 0, 165, 0, + 0, 0, 0, 167, 0, 0, 0, 0, + 0, 169, 0, 0, 0, 0, 0, 0, + 171, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 173, 0, 0, 0, 0, 0, + 175, 0, 0, 0, 0, 0, 177, 0, + 0, 0, 0, 0, 0, 0, 179, 0, + 0, 0, 181, 0, 0, 183, 0, 0, + 0, 0, 0, 0, 185, 0, 0, 0, + 0, 187, 45, 357, 0, 189, 0, 0, + 191, 0, 0, 0, 193, 0, 0, 0, + 0, 0, 195, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 197, 0, 0, 0, 0, 0, 0, 0, + 199, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 201, 0, 0, 0, 0, + 203, 0, 0, 0, 0, 0, 205, 0, + 0, 0, 0, 0, 0, 207, 0, 0, + 0, 209, 0, 0, 0, 0, 211, 0, + 0, 0, 0, 213, 0, 0, 0, 0, + 0, 0, 0, 0, 215, 0, 217, 345, + 219, 0, 0, 221, 0, 0, 0, 223, + 0, 0, 0, 0, 225, 0, 0, 0, + 0, 227, 229, 0, 0, 0, 0, 231, + 0, 0, 233, 347, 0, 0, 0, 0, + 0, 0, 0, 235, 0, 0, 0, 237, + 349, 0, 0, 0, 0, 0, 0, 0, + 0, 239, 0, 0, 0, 0, 0, 0, + 241, 0, 0, 0, 0, 243, 351, 0, + 0, 0, 0, 0, 0, 0, 0, 245, + 247, 0, 0, 249, 0, 0, 0, 0, + 0, 0, 251, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 253, 0, 0, 0, + 0, 0, 255, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 257, 0, + 0, 0, 0, 259, 0, 0, 261, 0, + 0, 0, 0, 263, 353, 0, 0, 0, + 0, 0, 0, 265, 0, 0, 0, 0, + 0, 0, 267, 0, 0, 0, 269, 0, + 0, 271, 355, 0, 0, 0, 0, 0, + 0, 0, 273, 0, 0, 0, 0, 0, + 0, 275, 0, 0, 0, 0, 277, 0, + 0, 0, 0, 279, 0, 0, 0, 0, + 0, 0, 281, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 283, 0, 0, + 285, 0, 0, 0, 0, 0, 0, 0, + 287, 0, 0, 0, 289, 0, 0, 0, + 0, 291, 0, 0, 293, 0, 0, 295, + 0, 297, 0, 0, 0, 299, 0, 0, + 303, 0, 301, 0, 0, 0, 0, 0, + 305, 0, 0, 0, 0, 307, 0, 0, + 0, 0, 0, 309, 311, 119, 121, 123, + 125, 39, 0, 35, 33, 37, 539, 0, + 0, 0, 377, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 435, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 381, 0, 0, + 0, 385, 0, 0, 0, 0, 389, 0, + 0, 0, 0, 0, 393, 0, 0, 0, + 0, 0, 397, 0, 0, 0, 0, 0, + 401, 0, 0, 0, 0, 0, 405, 0, + 0, 0, 0, 0, 409, 0, 0, 0, + 0, 0, 0, 413, 0, 0, 0, 0, + 417, 0, 0, 0, 0, 0, 421, 0, + 0, 0, 0, 0, 425, 0, 0, 0, + 0, 429, 0, 0, 0, 0, 0, 0, + 433, 0, 0, 0, 0, 0, 0, 0, + 379, 0, 0, 0, 383, 0, 0, 0, + 0, 387, 0, 0, 0, 0, 0, 391, + 0, 0, 0, 0, 0, 395, 0, 0, + 0, 0, 0, 399, 0, 0, 0, 0, + 0, 403, 0, 0, 0, 0, 0, 407, + 0, 0, 0, 0, 0, 0, 411, 0, + 0, 0, 0, 415, 0, 0, 0, 0, + 0, 419, 0, 0, 0, 0, 0, 423, + 0, 0, 0, 0, 427, 0, 0, 0, + 0, 0, 0, 431, 0, 0, 0, 533, + 0, 471, 535, 0, 475, 537, 503, 0, + 505, 569, 557, 0, 559, 587, 575, 0, + 577, 633, 0, 777, 775, 637, 45, 597, + 0, 0, 609, 0, 45, 0, 635, 909, + 599, 773, 0, 45, 45, 629, 779, 0, + 0, 821, 819, 1, 855, 855, 1, 0, + 3, 735, 733, 739, 1, 1, 0, 783, + 615, 613, 785, 619, 617, 787, 623, 621, + 781, 817, 721, 5, 852, 915, 639, 647, + 611, 695, 607, 717, 699, 715, 683, 0, + 605, 713, 691, 703, 687, 719, 641, 657, + 645, 0, 693, 659, 655, 906, 697, 45, + 651, 45, 0, 653, 689, 649, 701, 685, + 7, 643, 791, 15, 867, 795, 858, 919, + 793, 927, 847, 811, 711, 709, 809, 681, + 801, 7, 17, 849, 799, 17, 876, 797, + 17, 873, 815, 1, 1, 1, 803, 0, + 813, 707, 705, 805, 19, 23, 21, 45, + 882, 894, 888, 807, 825, 789, 627, 625, + 823, 767, 0, 0, 45, 55, 45, 57, + 0, 0, 317, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, + 0, 0, 339, 0, 0, 0, 0, 0, + 0, 0, 0, 319, 0, 61, 63, 0, + 65, 45, 67, 0, 0, 321, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 337, 0, 0, 0, 0, + 0, 0, 0, 323, 79, 0, 0, 0, + 69, 71, 73, 75, 77, 0, 325, 0, + 81, 45, 83, 0, 0, 327, 0, 329, + 85, 0, 0, 87, 89, 0, 0, 0, + 0, 331, 91, 93, 95, 97, 0, 99, + 101, 103, 0, 0, 333, 0, 105, 0, + 0, 107, 109, 111, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 313, 335, 113, 115, 117, 375, 361, 363, + 365, 367, 369, 371, 373, 509, 491, 45, + 0, 511, 507, 0, 45, 45, 531, 0, + 499, 5, 9, 473, 497, 489, 439, 457, + 493, 0, 437, 485, 461, 481, 451, 441, + 0, 487, 453, 449, 495, 455, 445, 45, + 0, 447, 483, 443, 459, 479, 7, 517, + 15, 861, 519, 15, 864, 513, 469, 467, + 527, 477, 521, 0, 515, 465, 463, 523, + 19, 23, 21, 45, 879, 891, 885, 525, + 529, 501, 0, 0, 549, 0, 543, 541, + 551, 547, 545, 563, 0, 561, 0, 45, + 45, 567, 553, 565, 555, 0, 0, 581, + 0, 579, 0, 45, 45, 585, 571, 583, + 573, 0, 0, 591, 589, 595, 593 +}; + +static const short _regex_to_state_actions[] = { + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 41, + 0, 41, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 41, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 41, 0, 0, 41, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 41, 41, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 41, 0, 41, 0, + 0, 0, 0, 41, 0, 0, 0, 0, + 41, 41 +}; + +static const short _regex_from_state_actions[] = { + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 43, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 43, 0, 0, 43, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 43, 43, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 43, 0, 43, 0, + 0, 0, 0, 43, 0, 0, 0, 0, + 43, 43 +}; + +static const short _regex_eof_actions[] = { + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 39, + 39, 39, 39, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0 +}; + +static const short _regex_eof_trans[] = { + 0, 1, 1, 22, 22, 27, 27, 27, + 27, 27, 27, 27, 27, 27, 27, 27, + 27, 27, 27, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 56, 56, 56, + 56, 56, 56, 56, 56, 56, 68, 68, + 68, 68, 68, 68, 68, 68, 68, 68, + 68, 68, 84, 84, 84, 84, 84, 84, + 91, 91, 94, 97, 97, 97, 104, 104, + 104, 108, 108, 108, 108, 108, 108, 117, + 117, 117, 117, 117, 117, 117, 117, 117, + 117, 117, 117, 117, 117, 117, 117, 117, + 117, 117, 117, 117, 117, 117, 117, 117, + 117, 117, 117, 117, 117, 117, 117, 117, + 117, 117, 117, 117, 117, 117, 117, 117, + 117, 117, 117, 117, 117, 117, 117, 117, + 117, 117, 174, 174, 174, 174, 174, 174, + 174, 174, 174, 174, 174, 174, 174, 174, + 174, 174, 174, 174, 174, 174, 174, 174, + 174, 174, 174, 174, 174, 204, 204, 204, + 204, 204, 204, 174, 174, 174, 174, 174, + 174, 174, 174, 174, 174, 174, 174, 174, + 174, 174, 174, 174, 117, 117, 117, 117, + 117, 117, 117, 117, 117, 117, 117, 117, + 117, 117, 117, 117, 117, 117, 117, 117, + 117, 117, 117, 117, 117, 117, 117, 117, + 117, 117, 117, 117, 117, 117, 117, 117, + 117, 117, 117, 117, 117, 117, 117, 117, + 117, 117, 117, 117, 117, 117, 117, 117, + 117, 117, 117, 117, 117, 117, 117, 117, + 117, 117, 117, 117, 117, 117, 117, 117, + 117, 300, 300, 300, 300, 300, 117, 117, + 117, 117, 117, 117, 117, 117, 117, 117, + 117, 117, 117, 117, 117, 117, 117, 117, + 117, 117, 117, 117, 117, 117, 117, 117, + 117, 117, 117, 117, 117, 117, 117, 117, + 117, 117, 117, 117, 117, 117, 117, 117, + 117, 117, 117, 117, 117, 117, 117, 117, + 117, 117, 117, 117, 117, 117, 117, 117, + 117, 117, 117, 117, 117, 117, 117, 117, + 117, 117, 117, 117, 117, 117, 117, 117, + 117, 117, 117, 117, 117, 117, 117, 117, + 117, 117, 117, 117, 117, 117, 400, 400, + 400, 400, 400, 400, 400, 400, 400, 400, + 400, 400, 400, 400, 400, 400, 400, 400, + 400, 400, 400, 400, 400, 428, 428, 428, + 428, 428, 428, 428, 428, 428, 428, 428, + 441, 441, 441, 441, 441, 441, 441, 441, + 441, 428, 428, 428, 428, 428, 428, 428, + 428, 428, 428, 428, 428, 463, 463, 463, + 463, 463, 463, 463, 463, 463, 463, 117, + 117, 117, 117, 117, 117, 117, 117, 117, + 117, 117, 117, 117, 117, 117, 117, 117, + 117, 117, 117, 117, 117, 117, 117, 117, + 117, 117, 117, 117, 117, 117, 117, 117, + 117, 117, 117, 117, 117, 117, 117, 117, + 117, 117, 117, 117, 117, 117, 525, 525, + 525, 525, 525, 525, 525, 525, 525, 525, + 525, 525, 525, 117, 117, 117, 117, 117, + 117, 117, 547, 547, 547, 547, 547, 547, + 547, 547, 547, 547, 547, 547, 547, 547, + 547, 547, 547, 547, 547, 547, 547, 547, + 547, 547, 547, 547, 547, 547, 547, 547, + 547, 547, 547, 547, 547, 547, 547, 547, + 547, 547, 547, 547, 547, 547, 117, 117, + 117, 117, 117, 117, 117, 117, 117, 117, + 117, 117, 117, 117, 117, 117, 117, 117, + 117, 117, 117, 117, 117, 117, 117, 117, + 117, 117, 117, 117, 117, 117, 117, 117, + 117, 117, 117, 117, 117, 117, 117, 117, + 117, 117, 117, 117, 117, 117, 117, 0, + 0, 0, 0, 655, 655, 655, 655, 655, + 655, 655, 655, 655, 655, 655, 655, 655, + 655, 655, 655, 655, 655, 655, 655, 655, + 655, 655, 655, 655, 655, 655, 655, 655, + 655, 655, 655, 655, 655, 655, 655, 655, + 655, 655, 655, 655, 655, 655, 655, 655, + 655, 655, 655, 655, 655, 655, 655, 655, + 655, 655, 655, 655, 655, 655, 655, 655, + 655, 655, 655, 655, 655, 655, 655, 655, + 655, 655, 655, 655, 655, 655, 655, 655, + 655, 655, 655, 655, 655, 655, 655, 655, + 655, 655, 655, 655, 655, 655, 655, 655, + 655, 655, 655, 655, 655, 655, 655, 655, + 655, 655, 655, 655, 655, 655, 655, 655, + 655, 655, 655, 655, 655, 655, 655, 655, + 655, 655, 655, 655, 655, 655, 655, 655, + 655, 655, 655, 655, 655, 655, 655, 655, + 655, 655, 655, 655, 655, 655, 655, 655, + 655, 655, 655, 655, 655, 655, 655, 655, + 655, 655, 655, 655, 655, 655, 655, 655, + 655, 655, 655, 655, 655, 655, 655, 655, + 655, 655, 655, 655, 655, 655, 856, 856, + 859, 862, 862, 862, 866, 866, 866, 870, + 870, 870, 0, 895, 898, 898, 899, 898, + 898, 898, 898, 898, 898, 898, 898, 912, + 915, 918, 921, 922, 963, 963, 966, 969, + 971, 972, 975, 977, 981, 981, 984, 984, + 987, 991, 993, 996, 996, 1004, 1005, 1006, + 1009, 1009, 1009, 0, 1016, 1016, 0, 1043, + 1043, 1052, 1062, 1043, 1043, 1043, 1043, 1076, + 1043, 1043, 1043, 1084, 1095, 1102, 1104, 1043, + 1114, 1043, 1125, 1043, 1043, 1043, 1043, 1043, + 1146, 0, 0, 0, 1167, 1167, 1200, 1200, + 1203, 1203, 1206, 1209, 1211, 1213, 1216, 1216, + 1224, 1225, 1225, 1225, 0, 1233, 0, 1242, + 1244, 1244, 1244, 0, 1254, 1256, 1256, 1256, + 0, 0 +}; + +static const int regex_start = 746; +static const int regex_error = 0; + +static const int regex_en_readVerb = 787; +static const int regex_en_readUCP = 790; +static const int regex_en_readBracedUCP = 559; +static const int regex_en_readUCPSingle = 818; +static const int regex_en_charClassGuts = 819; +static const int regex_en_readClass = 836; +static const int regex_en_readQuotedLiteral = 838; +static const int regex_en_readQuotedClass = 843; +static const int regex_en_readComment = 848; +static const int regex_en_readNewlineTerminatedComment = 849; +static const int regex_en_main = 746; + + +#line 1912 "Parser.rl" + +/** \brief Main parser call, returns root Component or nullptr. */ +unique_ptr parse(const char *ptr, ParseMode &globalMode) { + assert(ptr); + + const char *p = ptr; + const char *pe = ptr + strlen(ptr); + + // First, read the control verbs, set any global mode flags and move the + // ptr forward. + p = read_control_verbs(p, pe, 0, globalMode); + + const char *eof = pe; + int cs; + UNUSED int act; + int top; + vector stack; + const char *ts, *te; + unichar accumulator = 0; + unichar octAccumulator = 0; /* required as we are also accumulating for + * back ref when looking for octals */ + unsigned repeatN = 0; + unsigned repeatM = 0; + string label; + + ParseMode mode = globalMode; + ParseMode newMode; + + bool negated = false; + bool inComment = false; + + // Stack of sequences and flags used to store state when we enter + // sub-sequences. + vector sequences; + + // Index of the next capturing group. Note that zero is reserved for the + // root sequence. + unsigned groupIndex = 1; + + // Set storing group names that are currently in use. + flat_set groupNames; + + // Root sequence. + unique_ptr rootSeq = std::make_unique(); + rootSeq->setCaptureIndex(0); + + // Current sequence being appended to + ComponentSequence *currentSeq = rootSeq.get(); + + // The current character class being appended to. This is used as the + // accumulator for both character class and UCP properties. + unique_ptr currentCls; + + // True if the machine is currently inside a character class, i.e. square + // brackets [..]. + bool inCharClass = false; + + // True if the machine is inside a character class but it has not processed + // any "real" elements yet, i.e. it's still processing meta-characters like + // '^'. + bool inCharClassEarly = false; + + // Location at which the current character class began. + const char *currentClsBegin = p; + + // We throw exceptions on various parsing failures beyond this point: we + // use a try/catch block here to clean up our allocated memory before we + // re-throw the exception to the caller. + try { + // Embed the Ragel machine here + +#line 2533 "Parser.cpp" + { + cs = regex_start; + top = 0; + ts = 0; + te = 0; + act = 0; + } + +#line 1983 "Parser.rl" + +#line 2544 "Parser.cpp" + { + int _klen; + unsigned int _trans; + short _widec; + const short *_acts; + unsigned int _nacts; + const short *_keys; + + if ( p == pe ) + goto _test_eof; + if ( cs == 0 ) + goto _out; +_resume: + _acts = _regex_actions + _regex_from_state_actions[cs]; + _nacts = (unsigned int) *_acts++; + while ( _nacts-- > 0 ) { + switch ( *_acts++ ) { + case 24: +#line 1 "NONE" + {ts = p;} + break; +#line 2566 "Parser.cpp" + } + } + + _widec = (*p); + _klen = _regex_cond_lengths[cs]; + _keys = _regex_cond_keys + (_regex_cond_offsets[cs]*2); + if ( _klen > 0 ) { + const short *_lower = _keys; + const short *_mid; + const short *_upper = _keys + (_klen<<1) - 2; + while (1) { + if ( _upper < _lower ) + break; + + _mid = _lower + (((_upper-_lower) >> 1) & ~1); + if ( _widec < _mid[0] ) + _upper = _mid - 2; + else if ( _widec > _mid[1] ) + _lower = _mid + 2; + else { + switch ( _regex_cond_spaces[_regex_cond_offsets[cs] + ((_mid - _keys)>>1)] ) { + case 0: { + _widec = (short)(128 + ((*p) - -128)); + if ( +#line 475 "Parser.rl" + mode.utf8 ) _widec += 256; + break; + } + case 1: { + _widec = (short)(1152 + ((*p) - -128)); + if ( +#line 476 "Parser.rl" + mode.ignore_space ) _widec += 256; + break; + } + case 2: { + _widec = (short)(640 + ((*p) - -128)); + if ( +#line 477 "Parser.rl" + inCharClassEarly ) _widec += 256; + break; + } + } + break; + } + } + } + + _keys = _regex_trans_keys + _regex_key_offsets[cs]; + _trans = _regex_index_offsets[cs]; + + _klen = _regex_single_lengths[cs]; + if ( _klen > 0 ) { + const short *_lower = _keys; + const short *_mid; + const short *_upper = _keys + _klen - 1; + while (1) { + if ( _upper < _lower ) + break; + + _mid = _lower + ((_upper-_lower) >> 1); + if ( _widec < *_mid ) + _upper = _mid - 1; + else if ( _widec > *_mid ) + _lower = _mid + 1; + else { + _trans += (unsigned int)(_mid - _keys); + goto _match; + } + } + _keys += _klen; + _trans += _klen; + } + + _klen = _regex_range_lengths[cs]; + if ( _klen > 0 ) { + const short *_lower = _keys; + const short *_mid; + const short *_upper = _keys + (_klen<<1) - 2; + while (1) { + if ( _upper < _lower ) + break; + + _mid = _lower + (((_upper-_lower) >> 1) & ~1); + if ( _widec < _mid[0] ) + _upper = _mid - 2; + else if ( _widec > _mid[1] ) + _lower = _mid + 2; + else { + _trans += (unsigned int)((_mid - _keys)>>1); + goto _match; + } + } + _trans += _klen; + } + +_match: + _trans = _regex_indicies[_trans]; +_eof_trans: + cs = _regex_trans_targs[_trans]; + + if ( _regex_trans_actions[_trans] == 0 ) + goto _again; + + _acts = _regex_actions + _regex_trans_actions[_trans]; + _nacts = (unsigned int) *_acts++; + while ( _nacts-- > 0 ) + { + switch ( *_acts++ ) + { + case 0: +#line 285 "Parser.rl" + { label.clear();} + break; + case 1: +#line 286 "Parser.rl" + { label.push_back((*p));} + break; + case 2: +#line 287 "Parser.rl" + { octAccumulator = 0;} + break; + case 3: +#line 288 "Parser.rl" + { accumulator = 0;} + break; + case 4: +#line 289 "Parser.rl" + { + octAccumulator = 0; + pushOct(&octAccumulator, (*p)); + } + break; + case 5: +#line 293 "Parser.rl" + { + accumulator = 0; + pushDec(&accumulator, (*p)); + } + break; + case 6: +#line 297 "Parser.rl" + { repeatN = 0; repeatM = 0; } + break; + case 7: +#line 298 "Parser.rl" + { pushDec(&repeatN, (*p)); } + break; + case 8: +#line 299 "Parser.rl" + { pushDec(&repeatM, (*p)); } + break; + case 9: +#line 300 "Parser.rl" + { pushOct(&octAccumulator, (*p)); } + break; + case 10: +#line 301 "Parser.rl" + { pushDec(&accumulator, (*p)); } + break; + case 11: +#line 302 "Parser.rl" + { + accumulator *= 16; + accumulator += (*p) - '0'; + } + break; + case 12: +#line 306 "Parser.rl" + { + accumulator *= 16; + accumulator += 10 + (*p) - 'a'; + } + break; + case 13: +#line 310 "Parser.rl" + { + accumulator *= 16; + accumulator += 10 + (*p) - 'A'; + } + break; + case 14: +#line 430 "Parser.rl" + { + newMode = mode; + } + break; + case 15: +#line 437 "Parser.rl" + { + switch ((*p)) { + case 'i': + newMode.caseless = true; + break; + case 'm': + newMode.multiline = true; + break; + case 's': + newMode.dotall = true; + break; + case 'x': + newMode.ignore_space = true; + break; + default: + assert(0); // this action only called for [imsx] + break; + } + } + break; + case 16: +#line 456 "Parser.rl" + { + switch ((*p)) { + case 'i': + newMode.caseless = false; + break; + case 'm': + newMode.multiline = false; + break; + case 's': + newMode.dotall = false; + break; + case 'x': + newMode.ignore_space = false; + break; + default: + assert(0); // this action only called for [imsx] + break; + } + } + break; + case 17: +#line 510 "Parser.rl" + {repeatM = repeatN;} + break; + case 18: +#line 510 "Parser.rl" + {repeatM = ComponentRepeat::NoLimit;} + break; + case 19: +#line 722 "Parser.rl" + { negated = !negated; } + break; + case 20: +#line 723 "Parser.rl" + { p--; { + DEBUG_PRINTF("stack %zu top %d\n", stack.size(), top); + if ((int)stack.size() == top) { + stack.resize(2 * (top + 1)); + } + {stack[top++] = cs; cs = 790;goto _again;}} } + break; + case 21: +#line 724 "Parser.rl" + { if (!inCharClass) { // not inside [..] + currentCls->finalize(); + currentSeq->addComponent(move(currentCls)); + } + {cs = stack[--top]; goto _again;} + } + break; + case 22: +#line 730 "Parser.rl" + { throw LocatedParseError("Malformed property"); } + break; + case 25: +#line 1 "NONE" + {te = p+1;} + break; + case 26: +#line 550 "Parser.rl" + {te = p+1;{ + throw LocatedParseError("(*UTF8) must be at start of " + "expression, encountered"); + }} + break; + case 27: +#line 554 "Parser.rl" + {te = p+1;{ + throw LocatedParseError("(*UTF) must be at start of " + "expression, encountered"); + }} + break; + case 28: +#line 558 "Parser.rl" + {te = p+1;{ + throw LocatedParseError("(*UCP) must be at start of " + "expression, encountered"); + }} + break; + case 29: +#line 564 "Parser.rl" + {te = p+1;{ + ParseMode temp_mode; + assert(ts - 2 >= ptr); // parser needs the '(*' at the start too. + read_control_verbs(ts - 2, te, (ts - 2 - ptr), temp_mode); + assert(0); // Should have thrown a parse error. + throw LocatedParseError("Unknown control verb"); + }} + break; + case 30: +#line 571 "Parser.rl" + {te = p+1;{ + throw LocatedParseError("Unknown control verb"); + }} + break; + case 31: +#line 571 "Parser.rl" + {te = p;p--;{ + throw LocatedParseError("Unknown control verb"); + }} + break; + case 32: +#line 571 "Parser.rl" + {{p = ((te))-1;}{ + throw LocatedParseError("Unknown control verb"); + }} + break; + case 33: +#line 581 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_UCP_CC, negated); {cs = stack[--top]; goto _again;} }} + break; + case 34: +#line 582 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_UCP_CF, negated); {cs = stack[--top]; goto _again;} }} + break; + case 35: +#line 583 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_UCP_CN, negated); {cs = stack[--top]; goto _again;} }} + break; + case 36: +#line 585 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_UCP_CS, negated); {cs = stack[--top]; goto _again;} }} + break; + case 37: +#line 587 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_UCP_LL, negated); {cs = stack[--top]; goto _again;} }} + break; + case 38: +#line 588 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_UCP_LM, negated); {cs = stack[--top]; goto _again;} }} + break; + case 39: +#line 589 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_UCP_LO, negated); {cs = stack[--top]; goto _again;} }} + break; + case 40: +#line 590 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_UCP_LT, negated); {cs = stack[--top]; goto _again;} }} + break; + case 41: +#line 591 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_UCP_LU, negated); {cs = stack[--top]; goto _again;} }} + break; + case 42: +#line 592 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_UCP_L_AND, negated); {cs = stack[--top]; goto _again;} }} + break; + case 43: +#line 594 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_UCP_MC, negated); {cs = stack[--top]; goto _again;} }} + break; + case 44: +#line 596 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_UCP_MN, negated); {cs = stack[--top]; goto _again;} }} + break; + case 45: +#line 598 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_UCP_ND, negated); {cs = stack[--top]; goto _again;} }} + break; + case 46: +#line 599 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_UCP_NL, negated); {cs = stack[--top]; goto _again;} }} + break; + case 47: +#line 600 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_UCP_NO, negated); {cs = stack[--top]; goto _again;} }} + break; + case 48: +#line 602 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_UCP_PC, negated); {cs = stack[--top]; goto _again;} }} + break; + case 49: +#line 603 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_UCP_PD, negated); {cs = stack[--top]; goto _again;} }} + break; + case 50: +#line 604 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_UCP_PE, negated); {cs = stack[--top]; goto _again;} }} + break; + case 51: +#line 605 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_UCP_PF, negated); {cs = stack[--top]; goto _again;} }} + break; + case 52: +#line 606 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_UCP_PI, negated); {cs = stack[--top]; goto _again;} }} + break; + case 53: +#line 607 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_UCP_PO, negated); {cs = stack[--top]; goto _again;} }} + break; + case 54: +#line 608 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_UCP_PS, negated); {cs = stack[--top]; goto _again;} }} + break; + case 55: +#line 610 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_UCP_SC, negated); {cs = stack[--top]; goto _again;} }} + break; + case 56: +#line 611 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_UCP_SK, negated); {cs = stack[--top]; goto _again;} }} + break; + case 57: +#line 612 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_UCP_SM, negated); {cs = stack[--top]; goto _again;} }} + break; + case 58: +#line 613 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_UCP_SO, negated); {cs = stack[--top]; goto _again;} }} + break; + case 59: +#line 615 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_UCP_ZL, negated); {cs = stack[--top]; goto _again;} }} + break; + case 60: +#line 616 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_UCP_ZP, negated); {cs = stack[--top]; goto _again;} }} + break; + case 61: +#line 617 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_UCP_ZS, negated); {cs = stack[--top]; goto _again;} }} + break; + case 62: +#line 618 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_UCP_XAN, negated); {cs = stack[--top]; goto _again;} }} + break; + case 63: +#line 619 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_UCP_XPS, negated); {cs = stack[--top]; goto _again;} }} + break; + case 64: +#line 620 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_UCP_XSP, negated); {cs = stack[--top]; goto _again;} }} + break; + case 65: +#line 621 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_UCP_XWD, negated); {cs = stack[--top]; goto _again;} }} + break; + case 66: +#line 622 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_ARABIC, negated); {cs = stack[--top]; goto _again;} }} + break; + case 67: +#line 623 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_ARMENIAN, negated); {cs = stack[--top]; goto _again;} }} + break; + case 68: +#line 624 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_AVESTAN, negated); {cs = stack[--top]; goto _again;} }} + break; + case 69: +#line 625 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_BALINESE, negated); {cs = stack[--top]; goto _again;} }} + break; + case 70: +#line 626 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_BAMUM, negated); {cs = stack[--top]; goto _again;} }} + break; + case 71: +#line 627 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_BATAK, negated); {cs = stack[--top]; goto _again;} }} + break; + case 72: +#line 628 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_BENGALI, negated); {cs = stack[--top]; goto _again;} }} + break; + case 73: +#line 629 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_BOPOMOFO, negated); {cs = stack[--top]; goto _again;} }} + break; + case 74: +#line 630 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_BRAHMI, negated); {cs = stack[--top]; goto _again;} }} + break; + case 75: +#line 631 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_BRAILLE, negated); {cs = stack[--top]; goto _again;} }} + break; + case 76: +#line 632 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_BUGINESE, negated); {cs = stack[--top]; goto _again;} }} + break; + case 77: +#line 633 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_BUHID, negated); {cs = stack[--top]; goto _again;} }} + break; + case 78: +#line 634 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_CANADIAN_ABORIGINAL, negated); {cs = stack[--top]; goto _again;} }} + break; + case 79: +#line 635 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_CARIAN, negated); {cs = stack[--top]; goto _again;} }} + break; + case 80: +#line 636 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_CHAM, negated); {cs = stack[--top]; goto _again;} }} + break; + case 81: +#line 637 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_CHEROKEE, negated); {cs = stack[--top]; goto _again;} }} + break; + case 82: +#line 638 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_COMMON, negated); {cs = stack[--top]; goto _again;} }} + break; + case 83: +#line 639 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_COPTIC, negated); {cs = stack[--top]; goto _again;} }} + break; + case 84: +#line 640 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_CUNEIFORM, negated); {cs = stack[--top]; goto _again;} }} + break; + case 85: +#line 641 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_CYPRIOT, negated); {cs = stack[--top]; goto _again;} }} + break; + case 86: +#line 642 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_CYRILLIC, negated); {cs = stack[--top]; goto _again;} }} + break; + case 87: +#line 643 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_DESERET, negated); {cs = stack[--top]; goto _again;} }} + break; + case 88: +#line 644 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_DEVANAGARI, negated); {cs = stack[--top]; goto _again;} }} + break; + case 89: +#line 645 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_EGYPTIAN_HIEROGLYPHS, negated); {cs = stack[--top]; goto _again;} }} + break; + case 90: +#line 646 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_ETHIOPIC, negated); {cs = stack[--top]; goto _again;} }} + break; + case 91: +#line 647 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_GEORGIAN, negated); {cs = stack[--top]; goto _again;} }} + break; + case 92: +#line 648 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_GLAGOLITIC, negated); {cs = stack[--top]; goto _again;} }} + break; + case 93: +#line 649 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_GOTHIC, negated); {cs = stack[--top]; goto _again;} }} + break; + case 94: +#line 650 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_GREEK, negated); {cs = stack[--top]; goto _again;} }} + break; + case 95: +#line 651 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_GUJARATI, negated); {cs = stack[--top]; goto _again;} }} + break; + case 96: +#line 652 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_GURMUKHI, negated); {cs = stack[--top]; goto _again;} }} + break; + case 97: +#line 654 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_HANGUL, negated); {cs = stack[--top]; goto _again;} }} + break; + case 98: +#line 655 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_HANUNOO, negated); {cs = stack[--top]; goto _again;} }} + break; + case 99: +#line 656 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_HEBREW, negated); {cs = stack[--top]; goto _again;} }} + break; + case 100: +#line 657 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_HIRAGANA, negated); {cs = stack[--top]; goto _again;} }} + break; + case 101: +#line 658 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_IMPERIAL_ARAMAIC, negated); {cs = stack[--top]; goto _again;} }} + break; + case 102: +#line 659 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_INHERITED, negated); {cs = stack[--top]; goto _again;} }} + break; + case 103: +#line 660 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_INSCRIPTIONAL_PAHLAVI, negated); {cs = stack[--top]; goto _again;} }} + break; + case 104: +#line 661 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_INSCRIPTIONAL_PARTHIAN, negated); {cs = stack[--top]; goto _again;} }} + break; + case 105: +#line 662 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_JAVANESE, negated); {cs = stack[--top]; goto _again;} }} + break; + case 106: +#line 663 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_KAITHI, negated); {cs = stack[--top]; goto _again;} }} + break; + case 107: +#line 664 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_KANNADA, negated); {cs = stack[--top]; goto _again;} }} + break; + case 108: +#line 665 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_KATAKANA, negated); {cs = stack[--top]; goto _again;} }} + break; + case 109: +#line 666 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_KAYAH_LI, negated); {cs = stack[--top]; goto _again;} }} + break; + case 110: +#line 667 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_KHAROSHTHI, negated); {cs = stack[--top]; goto _again;} }} + break; + case 111: +#line 668 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_KHMER, negated); {cs = stack[--top]; goto _again;} }} + break; + case 112: +#line 669 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_LAO, negated); {cs = stack[--top]; goto _again;} }} + break; + case 113: +#line 670 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_LATIN, negated); {cs = stack[--top]; goto _again;} }} + break; + case 114: +#line 671 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_LEPCHA, negated); {cs = stack[--top]; goto _again;} }} + break; + case 115: +#line 672 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_LIMBU, negated); {cs = stack[--top]; goto _again;} }} + break; + case 116: +#line 673 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_LINEAR_B, negated); {cs = stack[--top]; goto _again;} }} + break; + case 117: +#line 674 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_LISU, negated); {cs = stack[--top]; goto _again;} }} + break; + case 118: +#line 675 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_LYCIAN, negated); {cs = stack[--top]; goto _again;} }} + break; + case 119: +#line 676 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_LYDIAN, negated); {cs = stack[--top]; goto _again;} }} + break; + case 120: +#line 677 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_MALAYALAM, negated); {cs = stack[--top]; goto _again;} }} + break; + case 121: +#line 678 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_MANDAIC, negated); {cs = stack[--top]; goto _again;} }} + break; + case 122: +#line 679 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_MEETEI_MAYEK, negated); {cs = stack[--top]; goto _again;} }} + break; + case 123: +#line 680 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_MONGOLIAN, negated); {cs = stack[--top]; goto _again;} }} + break; + case 124: +#line 681 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_MYANMAR, negated); {cs = stack[--top]; goto _again;} }} + break; + case 125: +#line 682 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_NEW_TAI_LUE, negated); {cs = stack[--top]; goto _again;} }} + break; + case 126: +#line 683 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_NKO, negated); {cs = stack[--top]; goto _again;} }} + break; + case 127: +#line 684 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_OGHAM, negated); {cs = stack[--top]; goto _again;} }} + break; + case 128: +#line 685 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_OL_CHIKI, negated); {cs = stack[--top]; goto _again;} }} + break; + case 129: +#line 686 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_OLD_ITALIC, negated); {cs = stack[--top]; goto _again;} }} + break; + case 130: +#line 687 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_OLD_PERSIAN, negated); {cs = stack[--top]; goto _again;} }} + break; + case 131: +#line 688 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_OLD_SOUTH_ARABIAN, negated); {cs = stack[--top]; goto _again;} }} + break; + case 132: +#line 689 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_OLD_TURKIC, negated); {cs = stack[--top]; goto _again;} }} + break; + case 133: +#line 690 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_ORIYA, negated); {cs = stack[--top]; goto _again;} }} + break; + case 134: +#line 691 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_OSMANYA, negated); {cs = stack[--top]; goto _again;} }} + break; + case 135: +#line 692 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_PHAGS_PA, negated); {cs = stack[--top]; goto _again;} }} + break; + case 136: +#line 693 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_PHOENICIAN, negated); {cs = stack[--top]; goto _again;} }} + break; + case 137: +#line 694 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_REJANG, negated); {cs = stack[--top]; goto _again;} }} + break; + case 138: +#line 695 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_RUNIC, negated); {cs = stack[--top]; goto _again;} }} + break; + case 139: +#line 696 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_SAMARITAN, negated); {cs = stack[--top]; goto _again;} }} + break; + case 140: +#line 697 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_SAURASHTRA, negated); {cs = stack[--top]; goto _again;} }} + break; + case 141: +#line 698 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_SHAVIAN, negated); {cs = stack[--top]; goto _again;} }} + break; + case 142: +#line 699 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_SINHALA, negated); {cs = stack[--top]; goto _again;} }} + break; + case 143: +#line 700 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_SUNDANESE, negated); {cs = stack[--top]; goto _again;} }} + break; + case 144: +#line 701 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_SYLOTI_NAGRI, negated); {cs = stack[--top]; goto _again;} }} + break; + case 145: +#line 702 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_SYRIAC, negated); {cs = stack[--top]; goto _again;} }} + break; + case 146: +#line 703 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_TAGALOG, negated); {cs = stack[--top]; goto _again;} }} + break; + case 147: +#line 704 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_TAGBANWA, negated); {cs = stack[--top]; goto _again;} }} + break; + case 148: +#line 705 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_TAI_LE, negated); {cs = stack[--top]; goto _again;} }} + break; + case 149: +#line 706 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_TAI_THAM, negated); {cs = stack[--top]; goto _again;} }} + break; + case 150: +#line 707 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_TAI_VIET, negated); {cs = stack[--top]; goto _again;} }} + break; + case 151: +#line 708 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_TAMIL, negated); {cs = stack[--top]; goto _again;} }} + break; + case 152: +#line 709 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_TELUGU, negated); {cs = stack[--top]; goto _again;} }} + break; + case 153: +#line 710 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_THAANA, negated); {cs = stack[--top]; goto _again;} }} + break; + case 154: +#line 711 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_THAI, negated); {cs = stack[--top]; goto _again;} }} + break; + case 155: +#line 712 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_TIBETAN, negated); {cs = stack[--top]; goto _again;} }} + break; + case 156: +#line 713 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_TIFINAGH, negated); {cs = stack[--top]; goto _again;} }} + break; + case 157: +#line 714 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_UGARITIC, negated); {cs = stack[--top]; goto _again;} }} + break; + case 158: +#line 715 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_VAI, negated); {cs = stack[--top]; goto _again;} }} + break; + case 159: +#line 716 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_SCRIPT_YI, negated); {cs = stack[--top]; goto _again;} }} + break; + case 160: +#line 717 "Parser.rl" + {te = p+1;{ currentCls->add(CLASS_UCP_ANY, negated); {cs = stack[--top]; goto _again;} }} + break; + case 161: +#line 718 "Parser.rl" + {te = p+1;{ throw LocatedParseError("Unknown property"); }} + break; + case 162: +#line 580 "Parser.rl" + {te = p;p--;{ currentCls->add(CLASS_UCP_C, negated); {cs = stack[--top]; goto _again;} }} + break; + case 163: +#line 584 "Parser.rl" + {te = p;p--;{ currentCls->add(CLASS_UCP_CO, negated); {cs = stack[--top]; goto _again;} }} + break; + case 164: +#line 586 "Parser.rl" + {te = p;p--;{ currentCls->add(CLASS_UCP_L, negated); {cs = stack[--top]; goto _again;} }} + break; + case 165: +#line 593 "Parser.rl" + {te = p;p--;{ currentCls->add(CLASS_UCP_M, negated); {cs = stack[--top]; goto _again;} }} + break; + case 166: +#line 595 "Parser.rl" + {te = p;p--;{ currentCls->add(CLASS_UCP_ME, negated); {cs = stack[--top]; goto _again;} }} + break; + case 167: +#line 597 "Parser.rl" + {te = p;p--;{ currentCls->add(CLASS_UCP_N, negated); {cs = stack[--top]; goto _again;} }} + break; + case 168: +#line 601 "Parser.rl" + {te = p;p--;{ currentCls->add(CLASS_UCP_P, negated); {cs = stack[--top]; goto _again;} }} + break; + case 169: +#line 609 "Parser.rl" + {te = p;p--;{ currentCls->add(CLASS_UCP_S, negated); {cs = stack[--top]; goto _again;} }} + break; + case 170: +#line 614 "Parser.rl" + {te = p;p--;{ currentCls->add(CLASS_UCP_Z, negated); {cs = stack[--top]; goto _again;} }} + break; + case 171: +#line 653 "Parser.rl" + {te = p;p--;{ currentCls->add(CLASS_SCRIPT_HAN, negated); {cs = stack[--top]; goto _again;} }} + break; + case 172: +#line 718 "Parser.rl" + {te = p;p--;{ throw LocatedParseError("Unknown property"); }} + break; + case 173: +#line 580 "Parser.rl" + {{p = ((te))-1;}{ currentCls->add(CLASS_UCP_C, negated); {cs = stack[--top]; goto _again;} }} + break; + case 174: +#line 584 "Parser.rl" + {{p = ((te))-1;}{ currentCls->add(CLASS_UCP_CO, negated); {cs = stack[--top]; goto _again;} }} + break; + case 175: +#line 586 "Parser.rl" + {{p = ((te))-1;}{ currentCls->add(CLASS_UCP_L, negated); {cs = stack[--top]; goto _again;} }} + break; + case 176: +#line 593 "Parser.rl" + {{p = ((te))-1;}{ currentCls->add(CLASS_UCP_M, negated); {cs = stack[--top]; goto _again;} }} + break; + case 177: +#line 595 "Parser.rl" + {{p = ((te))-1;}{ currentCls->add(CLASS_UCP_ME, negated); {cs = stack[--top]; goto _again;} }} + break; + case 178: +#line 597 "Parser.rl" + {{p = ((te))-1;}{ currentCls->add(CLASS_UCP_N, negated); {cs = stack[--top]; goto _again;} }} + break; + case 179: +#line 601 "Parser.rl" + {{p = ((te))-1;}{ currentCls->add(CLASS_UCP_P, negated); {cs = stack[--top]; goto _again;} }} + break; + case 180: +#line 609 "Parser.rl" + {{p = ((te))-1;}{ currentCls->add(CLASS_UCP_S, negated); {cs = stack[--top]; goto _again;} }} + break; + case 181: +#line 653 "Parser.rl" + {{p = ((te))-1;}{ currentCls->add(CLASS_SCRIPT_HAN, negated); {cs = stack[--top]; goto _again;} }} + break; + case 182: +#line 718 "Parser.rl" + {{p = ((te))-1;}{ throw LocatedParseError("Unknown property"); }} + break; + case 183: +#line 733 "Parser.rl" + {te = p+1;{ + currentCls->add(CLASS_UCP_C, negated); + if (!inCharClass) { + currentCls->finalize(); + currentSeq->addComponent(move(currentCls)); + } + {cs = stack[--top]; goto _again;} + }} + break; + case 184: +#line 741 "Parser.rl" + {te = p+1;{ + currentCls->add(CLASS_UCP_L, negated); + if (!inCharClass) { + currentCls->finalize(); + currentSeq->addComponent(move(currentCls)); + } + {cs = stack[--top]; goto _again;} + }} + break; + case 185: +#line 749 "Parser.rl" + {te = p+1;{ + currentCls->add(CLASS_UCP_M, negated); + if (!inCharClass) { + currentCls->finalize(); + currentSeq->addComponent(move(currentCls)); + } + {cs = stack[--top]; goto _again;} + }} + break; + case 186: +#line 757 "Parser.rl" + {te = p+1;{ + currentCls->add(CLASS_UCP_N, negated); + if (!inCharClass) { + currentCls->finalize(); + currentSeq->addComponent(move(currentCls)); + } + {cs = stack[--top]; goto _again;} + }} + break; + case 187: +#line 765 "Parser.rl" + {te = p+1;{ + currentCls->add(CLASS_UCP_P, negated); + if (!inCharClass) { + currentCls->finalize(); + currentSeq->addComponent(move(currentCls)); + } + {cs = stack[--top]; goto _again;} + }} + break; + case 188: +#line 773 "Parser.rl" + {te = p+1;{ + currentCls->add(CLASS_UCP_S, negated); + if (!inCharClass) { + currentCls->finalize(); + currentSeq->addComponent(move(currentCls)); + } + {cs = stack[--top]; goto _again;} + }} + break; + case 189: +#line 781 "Parser.rl" + {te = p+1;{ + currentCls->add(CLASS_UCP_Z, negated); + if (!inCharClass) { + currentCls->finalize(); + currentSeq->addComponent(move(currentCls)); + } + {cs = stack[--top]; goto _again;} + }} + break; + case 190: +#line 790 "Parser.rl" + {te = p+1;{ throw LocatedParseError("Unknown property"); }} + break; + case 191: +#line 796 "Parser.rl" + {te = p+1;{ + throw LocatedParseError("Unsupported POSIX collating " + "element"); + }} + break; + case 192: +#line 803 "Parser.rl" + {te = p+1;{ + currentCls->add(CLASS_ALNUM, false); + }} + break; + case 193: +#line 806 "Parser.rl" + {te = p+1;{ + currentCls->add(CLASS_ALNUM, true); + }} + break; + case 194: +#line 809 "Parser.rl" + {te = p+1;{ + currentCls->add(CLASS_ALPHA, false); + }} + break; + case 195: +#line 812 "Parser.rl" + {te = p+1;{ + currentCls->add(CLASS_ALPHA, true); + }} + break; + case 196: +#line 815 "Parser.rl" + {te = p+1;{ + currentCls->add(CLASS_ASCII, false); + }} + break; + case 197: +#line 818 "Parser.rl" + {te = p+1;{ + currentCls->add(CLASS_ASCII, true); + }} + break; + case 198: +#line 821 "Parser.rl" + {te = p+1;{ + currentCls->add(CLASS_BLANK, false); + }} + break; + case 199: +#line 824 "Parser.rl" + {te = p+1;{ + currentCls->add(CLASS_BLANK, true); + }} + break; + case 200: +#line 827 "Parser.rl" + {te = p+1;{ + currentCls->add(CLASS_CNTRL, false); + }} + break; + case 201: +#line 830 "Parser.rl" + {te = p+1;{ + currentCls->add(CLASS_CNTRL, true); + }} + break; + case 202: +#line 833 "Parser.rl" + {te = p+1;{ + currentCls->add(CLASS_DIGIT, false); + }} + break; + case 203: +#line 836 "Parser.rl" + {te = p+1;{ + currentCls->add(CLASS_DIGIT, true); + }} + break; + case 204: +#line 839 "Parser.rl" + {te = p+1;{ + currentCls->add(CLASS_GRAPH, false); + }} + break; + case 205: +#line 842 "Parser.rl" + {te = p+1;{ + currentCls->add(CLASS_GRAPH, true); + }} + break; + case 206: +#line 845 "Parser.rl" + {te = p+1;{ + currentCls->add(CLASS_LOWER, false); + }} + break; + case 207: +#line 848 "Parser.rl" + {te = p+1;{ + currentCls->add(CLASS_LOWER, true); + }} + break; + case 208: +#line 851 "Parser.rl" + {te = p+1;{ + currentCls->add(CLASS_PRINT, false); + }} + break; + case 209: +#line 854 "Parser.rl" + {te = p+1;{ + currentCls->add(CLASS_PRINT, true); + }} + break; + case 210: +#line 857 "Parser.rl" + {te = p+1;{ + currentCls->add(CLASS_PUNCT, false); + }} + break; + case 211: +#line 860 "Parser.rl" + {te = p+1;{ + currentCls->add(CLASS_PUNCT, true); + }} + break; + case 212: +#line 864 "Parser.rl" + {te = p+1;{ + currentCls->add(CLASS_SPACE, false); + }} + break; + case 213: +#line 867 "Parser.rl" + {te = p+1;{ + currentCls->add(CLASS_SPACE, true); + }} + break; + case 214: +#line 870 "Parser.rl" + {te = p+1;{ + currentCls->add(CLASS_UPPER, false); + }} + break; + case 215: +#line 873 "Parser.rl" + {te = p+1;{ + currentCls->add(CLASS_UPPER, true); + }} + break; + case 216: +#line 876 "Parser.rl" + {te = p+1;{ + currentCls->add(CLASS_WORD, false); + }} + break; + case 217: +#line 879 "Parser.rl" + {te = p+1;{ + currentCls->add(CLASS_WORD, true); + }} + break; + case 218: +#line 882 "Parser.rl" + {te = p+1;{ + currentCls->add(CLASS_XDIGIT, false); + }} + break; + case 219: +#line 885 "Parser.rl" + {te = p+1;{ + currentCls->add(CLASS_XDIGIT, true); + }} + break; + case 220: +#line 890 "Parser.rl" + {te = p+1;{ + throw LocatedParseError("Invalid POSIX named class"); + }} + break; + case 221: +#line 893 "Parser.rl" + {te = p+1;{ + { + DEBUG_PRINTF("stack %zu top %d\n", stack.size(), top); + if ((int)stack.size() == top) { + stack.resize(2 * (top + 1)); + } + {stack[top++] = cs; cs = 843;goto _again;}} + }} + break; + case 222: +#line 896 "Parser.rl" + {te = p+1;{ /*noop*/}} + break; + case 223: +#line 898 "Parser.rl" + {te = p+1;{ + currentCls->add('\x08'); + }} + break; + case 224: +#line 902 "Parser.rl" + {te = p+1;{ + currentCls->add('\x09'); + }} + break; + case 225: +#line 906 "Parser.rl" + {te = p+1;{ + currentCls->add('\x0a'); + }} + break; + case 226: +#line 910 "Parser.rl" + {te = p+1;{ + currentCls->add('\x0d'); + }} + break; + case 227: +#line 914 "Parser.rl" + {te = p+1;{ + currentCls->add('\x0c'); + }} + break; + case 228: +#line 918 "Parser.rl" + {te = p+1;{ + currentCls->add('\x07'); + }} + break; + case 229: +#line 922 "Parser.rl" + {te = p+1;{ + currentCls->add('\x1b'); + }} + break; + case 230: +#line 926 "Parser.rl" + {te = p+1;{ + currentCls->add(CLASS_HORZ, false); + }} + break; + case 231: +#line 930 "Parser.rl" + {te = p+1;{ + currentCls->add(CLASS_HORZ, true); + }} + break; + case 232: +#line 934 "Parser.rl" + {te = p+1;{ + currentCls->add(CLASS_VERT, false); + }} + break; + case 233: +#line 938 "Parser.rl" + {te = p+1;{ + currentCls->add(CLASS_VERT, true); + }} + break; + case 234: +#line 942 "Parser.rl" + {te = p+1;{ + negated = false; + p--; + { + DEBUG_PRINTF("stack %zu top %d\n", stack.size(), top); + if ((int)stack.size() == top) { + stack.resize(2 * (top + 1)); + } + {stack[top++] = cs; cs = 559;goto _again;}} + }} + break; + case 235: +#line 948 "Parser.rl" + {te = p+1;{ + negated = false; + p--; + { + DEBUG_PRINTF("stack %zu top %d\n", stack.size(), top); + if ((int)stack.size() == top) { + stack.resize(2 * (top + 1)); + } + {stack[top++] = cs; cs = 818;goto _again;}} + }} + break; + case 236: +#line 954 "Parser.rl" + {te = p+1;{ + negated = true; + p--; + { + DEBUG_PRINTF("stack %zu top %d\n", stack.size(), top); + if ((int)stack.size() == top) { + stack.resize(2 * (top + 1)); + } + {stack[top++] = cs; cs = 559;goto _again;}} + }} + break; + case 237: +#line 960 "Parser.rl" + {te = p+1;{ + negated = true; + p--; + { + DEBUG_PRINTF("stack %zu top %d\n", stack.size(), top); + if ((int)stack.size() == top) { + stack.resize(2 * (top + 1)); + } + {stack[top++] = cs; cs = 818;goto _again;}} + }} + break; + case 238: +#line 970 "Parser.rl" + {te = p+1;{ + currentCls->add(octAccumulator); + }} + break; + case 239: +#line 973 "Parser.rl" + {te = p+1;{ + currentCls->add(octAccumulator); + }} + break; + case 240: +#line 977 "Parser.rl" + {te = p+1;{ + string oct(ts + 3, te - ts - 4); + unsigned long val; + try { + val = stoul(oct, nullptr, 8); + } catch (const std::out_of_range &) { + val = MAX_UNICODE + 1; + } + if ((!mode.utf8 && val > 255) || val > MAX_UNICODE) { + throw LocatedParseError("Value in \\o{...} sequence is too large"); + } + currentCls->add((unichar)val); + }} + break; + case 241: +#line 997 "Parser.rl" + {te = p+1;{ + currentCls->add(accumulator); + }} + break; + case 242: +#line 1001 "Parser.rl" + {te = p+1;{ + // whatever we found here + currentCls->add(*(ts + 1)); + + }} + break; + case 243: +#line 1007 "Parser.rl" + {te = p+1;{ + string hex(ts + 3, te - ts - 4); + unsigned long val; + try { + val = stoul(hex, nullptr, 16); + } catch (const std::out_of_range &) { + val = MAX_UNICODE + 1; + } + if (val > MAX_UNICODE) { + throw LocatedParseError("Value in \\x{...} sequence is too large"); + } + currentCls->add((unichar)val); + }} + break; + case 244: +#line 1025 "Parser.rl" + {te = p+1;{ + if (te - ts < 3) { + assert(te - ts == 2); + throw LocatedParseError(SLASH_C_ERROR); + } else { + assert(te - ts == 3); + currentCls->add(decodeCtrl(ts[2])); + } + }} + break; + case 245: +#line 1035 "Parser.rl" + {te = p+1;{ + currentCls->add(CLASS_WORD, false); + }} + break; + case 246: +#line 1039 "Parser.rl" + {te = p+1;{ + currentCls->add(CLASS_WORD, true); + }} + break; + case 247: +#line 1043 "Parser.rl" + {te = p+1;{ + currentCls->add(CLASS_SPACE, false); + }} + break; + case 248: +#line 1047 "Parser.rl" + {te = p+1;{ + currentCls->add(CLASS_SPACE, true); + }} + break; + case 249: +#line 1051 "Parser.rl" + {te = p+1;{ + currentCls->add(CLASS_DIGIT, false); + }} + break; + case 250: +#line 1055 "Parser.rl" + {te = p+1;{ + currentCls->add(CLASS_DIGIT, true); + }} + break; + case 251: +#line 1058 "Parser.rl" + {te = p+1;{ + currentCls->addDash(); + }} + break; + case 252: +#line 276 "Parser.rl" + {te = p+1;{ + ostringstream str; + str << "'\\" << *(ts + 1) << "' at index " << ts - ptr + << " not supported in a character class."; + throw ParseError(str.str()); + }} + break; + case 253: +#line 276 "Parser.rl" + {te = p+1;{ + ostringstream str; + str << "'\\" << *(ts + 1) << "' at index " << ts - ptr + << " not supported in a character class."; + throw ParseError(str.str()); + }} + break; + case 254: +#line 276 "Parser.rl" + {te = p+1;{ + ostringstream str; + str << "'\\" << *(ts + 1) << "' at index " << ts - ptr + << " not supported in a character class."; + throw ParseError(str.str()); + }} + break; + case 255: +#line 1075 "Parser.rl" + {te = p+1;{ + // add the literal char + currentCls->add(*(ts + 1)); + }} + break; + case 256: +#line 1081 "Parser.rl" + {te = p+1;{ + assert(mode.utf8); + currentCls->add(readUtf8CodePoint2c(ts)); + }} + break; + case 257: +#line 1086 "Parser.rl" + {te = p+1;{ + assert(mode.utf8); + currentCls->add(readUtf8CodePoint3c(ts)); + }} + break; + case 258: +#line 1091 "Parser.rl" + {te = p+1;{ + assert(mode.utf8); + currentCls->add(readUtf8CodePoint4c(ts)); + }} + break; + case 259: +#line 1096 "Parser.rl" + {te = p+1;{ + assert(mode.utf8); + throwInvalidUtf8(); + }} + break; + case 260: +#line 1102 "Parser.rl" + {te = p+1;{ + currentCls->add((u8)*ts); + }} + break; + case 261: +#line 1106 "Parser.rl" + {te = p+1;{ + currentCls->finalize(); + currentSeq->addComponent(move(currentCls)); + inCharClass = false; + {cs = 746;goto _again;} + }} + break; + case 262: +#line 966 "Parser.rl" + {te = p;p--;{ throw LocatedParseError("Malformed property"); }} + break; + case 263: +#line 967 "Parser.rl" + {te = p;p--;{ throw LocatedParseError("Malformed property"); }} + break; + case 264: +#line 970 "Parser.rl" + {te = p;p--;{ + currentCls->add(octAccumulator); + }} + break; + case 265: +#line 973 "Parser.rl" + {te = p;p--;{ + currentCls->add(octAccumulator); + }} + break; + case 266: +#line 992 "Parser.rl" + {te = p;p--;{ + throw LocatedParseError("Value in \\o{...} sequence is non-octal or missing braces"); + }} + break; + case 267: +#line 997 "Parser.rl" + {te = p;p--;{ + currentCls->add(accumulator); + }} + break; + case 268: +#line 1021 "Parser.rl" + {te = p;p--;{ + throw LocatedParseError("Value in \\x{...} sequence is non-hex or missing }"); + }} + break; + case 269: +#line 1025 "Parser.rl" + {te = p;p--;{ + if (te - ts < 3) { + assert(te - ts == 2); + throw LocatedParseError(SLASH_C_ERROR); + } else { + assert(te - ts == 3); + currentCls->add(decodeCtrl(ts[2])); + } + }} + break; + case 270: +#line 1096 "Parser.rl" + {te = p;p--;{ + assert(mode.utf8); + throwInvalidUtf8(); + }} + break; + case 271: +#line 1102 "Parser.rl" + {te = p;p--;{ + currentCls->add((u8)*ts); + }} + break; + case 272: +#line 992 "Parser.rl" + {{p = ((te))-1;}{ + throw LocatedParseError("Value in \\o{...} sequence is non-octal or missing braces"); + }} + break; + case 273: +#line 1021 "Parser.rl" + {{p = ((te))-1;}{ + throw LocatedParseError("Value in \\x{...} sequence is non-hex or missing }"); + }} + break; + case 274: +#line 1096 "Parser.rl" + {{p = ((te))-1;}{ + assert(mode.utf8); + throwInvalidUtf8(); + }} + break; + case 275: +#line 1102 "Parser.rl" + {{p = ((te))-1;}{ + currentCls->add((u8)*ts); + }} + break; + case 276: +#line 1120 "Parser.rl" + {te = p+1;{ + if (currentCls->isNegated()) { + // Already seen a caret; the second one is not a meta-character. + inCharClassEarly = false; + p--; {cs = 819;goto _again;} + } else { + currentCls->negate(); + // Note: we cannot switch off inCharClassEarly here, as /[^]]/ + // needs to use the right square bracket path below. + } + }} + break; + case 277: +#line 1133 "Parser.rl" + {te = p+1;{ + currentCls->add(']'); + inCharClassEarly = false; + }} + break; + case 278: +#line 1138 "Parser.rl" + {te = p+1;{ { + DEBUG_PRINTF("stack %zu top %d\n", stack.size(), top); + if ((int)stack.size() == top) { + stack.resize(2 * (top + 1)); + } + {stack[top++] = cs; cs = 843;goto _again;}} }} + break; + case 279: +#line 1139 "Parser.rl" + {te = p+1;{ /*noop*/}} + break; + case 280: +#line 1142 "Parser.rl" + {te = p+1;{ + inCharClassEarly = false; + p--; + {cs = 819;goto _again;} + }} + break; + case 281: +#line 1142 "Parser.rl" + {te = p;p--;{ + inCharClassEarly = false; + p--; + {cs = 819;goto _again;} + }} + break; + case 282: +#line 1154 "Parser.rl" + {te = p+1;{ + {cs = 746;goto _again;} + }} + break; + case 283: +#line 1159 "Parser.rl" + {te = p+1;{ + assert(mode.utf8); + /* leverage ComponentClass to generate the vertices */ + auto cc = getComponentClass(mode); + cc->add(readUtf8CodePoint2c(ts)); + cc->finalize(); + currentSeq->addComponent(move(cc)); + }} + break; + case 284: +#line 1168 "Parser.rl" + {te = p+1;{ + assert(mode.utf8); + /* leverage ComponentClass to generate the vertices */ + auto cc = getComponentClass(mode); + cc->add(readUtf8CodePoint3c(ts)); + cc->finalize(); + currentSeq->addComponent(move(cc)); + }} + break; + case 285: +#line 1177 "Parser.rl" + {te = p+1;{ + assert(mode.utf8); + /* leverage ComponentClass to generate the vertices */ + auto cc = getComponentClass(mode); + cc->add(readUtf8CodePoint4c(ts)); + cc->finalize(); + currentSeq->addComponent(move(cc)); + }} + break; + case 286: +#line 1186 "Parser.rl" + {te = p+1;{ + assert(mode.utf8); + throwInvalidUtf8(); + }} + break; + case 287: +#line 1192 "Parser.rl" + {te = p+1;{ + addLiteral(currentSeq, *ts, mode); + }} + break; + case 288: +#line 1186 "Parser.rl" + {te = p;p--;{ + assert(mode.utf8); + throwInvalidUtf8(); + }} + break; + case 289: +#line 1192 "Parser.rl" + {te = p;p--;{ + addLiteral(currentSeq, *ts, mode); + }} + break; + case 290: +#line 1186 "Parser.rl" + {{p = ((te))-1;}{ + assert(mode.utf8); + throwInvalidUtf8(); + }} + break; + case 291: +#line 1202 "Parser.rl" + {te = p+1;{ + {cs = stack[--top]; goto _again;} + }} + break; + case 292: +#line 1207 "Parser.rl" + {te = p+1;{ + assert(mode.utf8); + currentCls->add(readUtf8CodePoint2c(ts)); + inCharClassEarly = false; + }} + break; + case 293: +#line 1213 "Parser.rl" + {te = p+1;{ + assert(mode.utf8); + currentCls->add(readUtf8CodePoint3c(ts)); + inCharClassEarly = false; + }} + break; + case 294: +#line 1219 "Parser.rl" + {te = p+1;{ + assert(mode.utf8); + currentCls->add(readUtf8CodePoint4c(ts)); + inCharClassEarly = false; + }} + break; + case 295: +#line 1225 "Parser.rl" + {te = p+1;{ + assert(mode.utf8); + throwInvalidUtf8(); + }} + break; + case 296: +#line 1231 "Parser.rl" + {te = p+1;{ + currentCls->add(*ts); + inCharClassEarly = false; + }} + break; + case 297: +#line 1225 "Parser.rl" + {te = p;p--;{ + assert(mode.utf8); + throwInvalidUtf8(); + }} + break; + case 298: +#line 1231 "Parser.rl" + {te = p;p--;{ + currentCls->add(*ts); + inCharClassEarly = false; + }} + break; + case 299: +#line 1225 "Parser.rl" + {{p = ((te))-1;}{ + assert(mode.utf8); + throwInvalidUtf8(); + }} + break; + case 300: +#line 1243 "Parser.rl" + {te = p+1;{ inComment = false; {cs = 746;goto _again;} }} + break; + case 301: +#line 1247 "Parser.rl" + {te = p+1;} + break; + case 302: +#line 1255 "Parser.rl" + {te = p+1;{ inComment = false; {cs = 746;goto _again;} }} + break; + case 303: +#line 1259 "Parser.rl" + {te = p+1;} + break; + case 304: +#line 1491 "Parser.rl" + {act = 288;} + break; + case 305: +#line 1508 "Parser.rl" + {act = 290;} + break; + case 306: +#line 1737 "Parser.rl" + {act = 330;} + break; + case 307: +#line 362 "Parser.rl" + {te = p+1;{ + if (sequences.empty()) { + throw LocatedParseError("Unmatched parentheses"); + } + currentSeq->finalize(); + POP_SEQUENCE; + }} + break; + case 308: +#line 1274 "Parser.rl" + {te = p+1;{ + currentSeq->addAlternation(); + }} + break; + case 309: +#line 1279 "Parser.rl" + {te = p+1;{ + throw LocatedParseError("POSIX named classes are only " + "supported inside a class"); + }} + break; + case 310: +#line 1286 "Parser.rl" + {te = p+1;{ + throw LocatedParseError("Unsupported POSIX collating " + "element"); + }} + break; + case 311: +#line 1293 "Parser.rl" + {te = p+1;{ + {cs = 838;goto _again;} + }} + break; + case 312: +#line 1297 "Parser.rl" + {te = p+1;{ /* noop */ }} + break; + case 313: +#line 1299 "Parser.rl" + {te = p+1;{ + currentSeq->addComponent(generateComponent(CLASS_ANY, false, mode)); + }} + break; + case 314: +#line 1303 "Parser.rl" + {te = p+1;{ + if (mode.utf8) { + throw LocatedParseError("\\C is unsupported in UTF8"); + } + currentSeq->addComponent(std::make_unique()); + }} + break; + case 315: +#line 1317 "Parser.rl" + {te = p+1;{ + if (!currentSeq->addRepeat(0, ComponentRepeat::NoLimit, + ComponentRepeat::REPEAT_NONGREEDY)) { + throwInvalidRepeat(); + } + }} + break; + case 316: +#line 1324 "Parser.rl" + {te = p+1;{ + if (!currentSeq->addRepeat(0, ComponentRepeat::NoLimit, + ComponentRepeat::REPEAT_POSSESSIVE)) { + throwInvalidRepeat(); + } + }} + break; + case 317: +#line 1338 "Parser.rl" + {te = p+1;{ + if (!currentSeq->addRepeat(1, ComponentRepeat::NoLimit, + ComponentRepeat::REPEAT_NONGREEDY)) { + throwInvalidRepeat(); + } + }} + break; + case 318: +#line 1345 "Parser.rl" + {te = p+1;{ + if (!currentSeq->addRepeat(1, ComponentRepeat::NoLimit, + ComponentRepeat::REPEAT_POSSESSIVE)) { + throwInvalidRepeat(); + } + }} + break; + case 319: +#line 1359 "Parser.rl" + {te = p+1;{ + if (!currentSeq->addRepeat( + 0, 1, ComponentRepeat::REPEAT_NONGREEDY)) { + throwInvalidRepeat(); + } + }} + break; + case 320: +#line 1366 "Parser.rl" + {te = p+1;{ + if (!currentSeq->addRepeat( + 0, 1, ComponentRepeat::REPEAT_POSSESSIVE)) { + throwInvalidRepeat(); + } + }} + break; + case 321: +#line 1383 "Parser.rl" + {te = p+1;{ + if (repeatN > repeatM || repeatM == 0) { + throwInvalidRepeat(); + } else if (!currentSeq->addRepeat( + repeatN, repeatM, + ComponentRepeat::REPEAT_NONGREEDY)) { + throwInvalidRepeat(); + } + }} + break; + case 322: +#line 1393 "Parser.rl" + {te = p+1;{ + if (repeatN > repeatM || repeatM == 0) { + throwInvalidRepeat(); + } else if (!currentSeq->addRepeat( + repeatN, repeatM, + ComponentRepeat::REPEAT_POSSESSIVE)) { + throwInvalidRepeat(); + } + }} + break; + case 323: +#line 322 "Parser.rl" + {te = p+1;{ + inComment = true; + {cs = 849;goto _again;} + }} + break; + case 324: +#line 1410 "Parser.rl" + {te = p+1;{ p--; { + DEBUG_PRINTF("stack %zu top %d\n", stack.size(), top); + if ((int)stack.size() == top) { + stack.resize(2 * (top + 1)); + } + {stack[top++] = cs; cs = 787;goto _again;}} }} + break; + case 325: +#line 1414 "Parser.rl" + {te = p+1;{ assert(0); {p++; goto _out; } }} + break; + case 326: +#line 1421 "Parser.rl" + {te = p+1;{ + auto bound = mode.multiline ? ComponentBoundary::BEGIN_LINE + : ComponentBoundary::BEGIN_STRING; + currentSeq->addComponent(std::make_unique(bound)); + }} + break; + case 327: +#line 1428 "Parser.rl" + {te = p+1;{ + auto bound = mode.multiline ? ComponentBoundary::END_LINE + : ComponentBoundary::END_STRING_OPTIONAL_LF; + currentSeq->addComponent(std::make_unique(bound)); + }} + break; + case 328: +#line 1434 "Parser.rl" + {te = p+1;{ + auto bound = ComponentBoundary::BEGIN_STRING; + currentSeq->addComponent(std::make_unique(bound)); + }} + break; + case 329: +#line 1439 "Parser.rl" + {te = p+1;{ + auto bound = ComponentBoundary::END_STRING_OPTIONAL_LF; + currentSeq->addComponent(std::make_unique(bound)); + }} + break; + case 330: +#line 1444 "Parser.rl" + {te = p+1;{ + auto bound = ComponentBoundary::END_STRING; + currentSeq->addComponent(std::make_unique(bound)); + }} + break; + case 331: +#line 1449 "Parser.rl" + {te = p+1;{ + currentSeq->addComponent( + std::make_unique(ts - ptr, false, mode)); + }} + break; + case 332: +#line 1454 "Parser.rl" + {te = p+1;{ + currentSeq->addComponent( + std::make_unique(ts - ptr, true, mode)); + }} + break; + case 333: +#line 1464 "Parser.rl" + {te = p+1;{ + addLiteral(currentSeq, '\x09', mode); + }} + break; + case 334: +#line 1468 "Parser.rl" + {te = p+1;{ + addLiteral(currentSeq, '\x0a', mode); + }} + break; + case 335: +#line 1472 "Parser.rl" + {te = p+1;{ + addLiteral(currentSeq, '\x0d', mode); + }} + break; + case 336: +#line 1476 "Parser.rl" + {te = p+1;{ + addLiteral(currentSeq, '\x0c', mode); + }} + break; + case 337: +#line 1480 "Parser.rl" + {te = p+1;{ + addLiteral(currentSeq, '\x07', mode); + }} + break; + case 338: +#line 1484 "Parser.rl" + {te = p+1;{ + addLiteral(currentSeq, '\x1b', mode); + }} + break; + case 339: +#line 1488 "Parser.rl" + {te = p+1;{ + addLiteral(currentSeq, octAccumulator, mode); + }} + break; + case 340: +#line 479 "Parser.rl" + {te = p+1;{ + if (accumulator == 0) { + throw LocatedParseError("Numbered reference cannot be zero"); + } + currentSeq->addComponent(std::make_unique(accumulator)); + }} + break; + case 341: +#line 486 "Parser.rl" + {te = p+1;{ + // Accumulator is a negative offset. + if (accumulator == 0) { + throw LocatedParseError("Numbered reference cannot be zero"); + } + if (accumulator >= groupIndex) { + throw LocatedParseError("Invalid reference"); + } + unsigned idx = groupIndex - accumulator; + currentSeq->addComponent(std::make_unique(idx)); + }} + break; + case 342: +#line 479 "Parser.rl" + {te = p+1;{ + if (accumulator == 0) { + throw LocatedParseError("Numbered reference cannot be zero"); + } + currentSeq->addComponent(std::make_unique(accumulator)); + }} + break; + case 343: +#line 486 "Parser.rl" + {te = p+1;{ + // Accumulator is a negative offset. + if (accumulator == 0) { + throw LocatedParseError("Numbered reference cannot be zero"); + } + if (accumulator >= groupIndex) { + throw LocatedParseError("Invalid reference"); + } + unsigned idx = groupIndex - accumulator; + currentSeq->addComponent(std::make_unique(idx)); + }} + break; + case 344: +#line 498 "Parser.rl" + {te = p+1;{ + currentSeq->addComponent(std::make_unique(label)); + }} + break; + case 345: +#line 498 "Parser.rl" + {te = p+1;{ + currentSeq->addComponent(std::make_unique(label)); + }} + break; + case 346: +#line 498 "Parser.rl" + {te = p+1;{ + currentSeq->addComponent(std::make_unique(label)); + }} + break; + case 347: +#line 498 "Parser.rl" + {te = p+1;{ + currentSeq->addComponent(std::make_unique(label)); + }} + break; + case 348: +#line 498 "Parser.rl" + {te = p+1;{ + currentSeq->addComponent(std::make_unique(label)); + }} + break; + case 349: +#line 1549 "Parser.rl" + {te = p+1;{ + ostringstream str; + str << "Onigiruma subroutine call at index " << ts - ptr << + " not supported."; + throw ParseError(str.str()); + }} + break; + case 350: +#line 1560 "Parser.rl" + {te = p+1;{ + string oct(ts + 3, te - ts - 4); + unsigned long val; + try { + val = stoul(oct, nullptr, 8); + } catch (const std::out_of_range &) { + val = MAX_UNICODE + 1; + } + if ((!mode.utf8 && val > 255) || val > MAX_UNICODE) { + throw LocatedParseError("Value in \\o{...} sequence is too large"); + } + addEscapedOctal(currentSeq, (unichar)val, mode); + }} + break; + case 351: +#line 1578 "Parser.rl" + {te = p+1;{ + addEscapedHex(currentSeq, accumulator, mode); + }} + break; + case 352: +#line 1582 "Parser.rl" + {te = p+1;{ + string hex(ts + 3, te - ts - 4); + unsigned long val; + try { + val = stoul(hex, nullptr, 16); + } catch (const std::out_of_range &) { + val = MAX_UNICODE + 1; + } + if (val > MAX_UNICODE) { + throw LocatedParseError("Value in \\x{...} sequence is too large"); + } + addEscapedHex(currentSeq, (unichar)val, mode); + }} + break; + case 353: +#line 1600 "Parser.rl" + {te = p+1;{ + if (te - ts < 3) { + assert(te - ts == 2); + throw LocatedParseError(SLASH_C_ERROR); + } else { + assert(te - ts == 3); + addLiteral(currentSeq, decodeCtrl(ts[2]), mode); + } + }} + break; + case 354: +#line 1610 "Parser.rl" + {te = p+1;{ + ostringstream str; + str << "'\\" << *(ts + 1) << "' at index " << ts - ptr + << " not supported."; + throw ParseError(str.str()); + }} + break; + case 355: +#line 1618 "Parser.rl" + {te = p+1;{ + auto cc = generateComponent(CLASS_WORD, false, mode); + currentSeq->addComponent(move(cc)); + }} + break; + case 356: +#line 1623 "Parser.rl" + {te = p+1;{ + auto cc = generateComponent(CLASS_WORD, true, mode); + currentSeq->addComponent(move(cc)); + }} + break; + case 357: +#line 1628 "Parser.rl" + {te = p+1;{ + auto cc = generateComponent(CLASS_SPACE, false, mode); + currentSeq->addComponent(move(cc)); + }} + break; + case 358: +#line 1633 "Parser.rl" + {te = p+1;{ + auto cc = generateComponent(CLASS_SPACE, true, mode); + currentSeq->addComponent(move(cc)); + }} + break; + case 359: +#line 1638 "Parser.rl" + {te = p+1;{ + auto cc = generateComponent(CLASS_DIGIT, false, mode); + currentSeq->addComponent(move(cc)); + }} + break; + case 360: +#line 1643 "Parser.rl" + {te = p+1;{ + auto cc = generateComponent(CLASS_DIGIT, true, mode); + currentSeq->addComponent(move(cc)); + }} + break; + case 361: +#line 1648 "Parser.rl" + {te = p+1;{ + auto cc = generateComponent(CLASS_HORZ, false, mode); + currentSeq->addComponent(move(cc)); + }} + break; + case 362: +#line 1653 "Parser.rl" + {te = p+1;{ + auto cc = generateComponent(CLASS_HORZ, true, mode); + currentSeq->addComponent(move(cc)); + }} + break; + case 363: +#line 1658 "Parser.rl" + {te = p+1;{ + auto cc = generateComponent(CLASS_VERT, false, mode); + currentSeq->addComponent(move(cc)); + }} + break; + case 364: +#line 1663 "Parser.rl" + {te = p+1;{ + auto cc = generateComponent(CLASS_VERT, true, mode); + currentSeq->addComponent(move(cc)); + }} + break; + case 365: +#line 1668 "Parser.rl" + {te = p+1;{ + assert(!currentCls && !inCharClass); + currentCls = getComponentClass(mode); + negated = false; + p--; + { + DEBUG_PRINTF("stack %zu top %d\n", stack.size(), top); + if ((int)stack.size() == top) { + stack.resize(2 * (top + 1)); + } + {stack[top++] = cs; cs = 559;goto _again;}} + }} + break; + case 366: +#line 1676 "Parser.rl" + {te = p+1;{ + assert(!currentCls && !inCharClass); + currentCls = getComponentClass(mode); + negated = false; + p--; + { + DEBUG_PRINTF("stack %zu top %d\n", stack.size(), top); + if ((int)stack.size() == top) { + stack.resize(2 * (top + 1)); + } + {stack[top++] = cs; cs = 818;goto _again;}} + }} + break; + case 367: +#line 1684 "Parser.rl" + {te = p+1;{ + assert(!currentCls && !inCharClass); + currentCls = getComponentClass(mode); + negated = true; + p--; + { + DEBUG_PRINTF("stack %zu top %d\n", stack.size(), top); + if ((int)stack.size() == top) { + stack.resize(2 * (top + 1)); + } + {stack[top++] = cs; cs = 559;goto _again;}} + }} + break; + case 368: +#line 1692 "Parser.rl" + {te = p+1;{ + assert(!currentCls && !inCharClass); + currentCls = getComponentClass(mode); + negated = true; + p--; + { + DEBUG_PRINTF("stack %zu top %d\n", stack.size(), top); + if ((int)stack.size() == top) { + stack.resize(2 * (top + 1)); + } + {stack[top++] = cs; cs = 818;goto _again;}} + }} + break; + case 369: +#line 1704 "Parser.rl" + {te = p+1;{ + ostringstream str; + str << "\\R at index " << ts - ptr << " not supported."; + throw ParseError(str.str()); + }} + break; + case 370: +#line 1711 "Parser.rl" + {te = p+1;{ + ostringstream str; + str << "\\K at index " << ts - ptr << " not supported."; + throw ParseError(str.str()); + }} + break; + case 371: +#line 1726 "Parser.rl" + {te = p+1;{ + ostringstream str; + str << "\\G at index " << ts - ptr << " not supported."; + throw ParseError(str.str()); + }} + break; + case 372: +#line 1732 "Parser.rl" + {te = p+1;{ + currentSeq->addComponent(std::make_unique(ts - ptr, mode)); + }} + break; + case 373: +#line 1737 "Parser.rl" + {te = p+1;{ + addLiteral(currentSeq, *(ts + 1), mode); + }} + break; + case 374: +#line 316 "Parser.rl" + {te = p+1;{ + inComment = true; + {cs = 848;goto _again;} + }} + break; + case 375: +#line 433 "Parser.rl" + {te = p+1;{ + mode = newMode; + currentSeq->addComponent(std::make_unique()); + }} + break; + case 376: +#line 355 "Parser.rl" + {te = p+1;{ + PUSH_SEQUENCE; + mode = newMode; + currentSeq = + enterSequence(currentSeq, std::make_unique()); + }} + break; + case 377: +#line 369 "Parser.rl" + {te = p+1;{ + PUSH_SEQUENCE; + currentSeq = enterSequence(currentSeq, + std::make_unique(ComponentAssertion::LOOKAHEAD, + ComponentAssertion::POS)); + }} + break; + case 378: +#line 375 "Parser.rl" + {te = p+1;{ + PUSH_SEQUENCE; + currentSeq = enterSequence(currentSeq, + std::make_unique(ComponentAssertion::LOOKAHEAD, + ComponentAssertion::NEG)); + }} + break; + case 379: +#line 381 "Parser.rl" + {te = p+1;{ + PUSH_SEQUENCE; + currentSeq = enterSequence(currentSeq, + std::make_unique(ComponentAssertion::LOOKBEHIND, + ComponentAssertion::POS)); + }} + break; + case 380: +#line 387 "Parser.rl" + {te = p+1;{ + PUSH_SEQUENCE; + currentSeq = enterSequence(currentSeq, + std::make_unique(ComponentAssertion::LOOKBEHIND, + ComponentAssertion::NEG)); + }} + break; + case 381: +#line 393 "Parser.rl" + {te = p+1;{ + throw LocatedParseError("Embedded code is not supported"); + }} + break; + case 382: +#line 393 "Parser.rl" + {te = p+1;{ + throw LocatedParseError("Embedded code is not supported"); + }} + break; + case 383: +#line 416 "Parser.rl" + {te = p+1;{ + PUSH_SEQUENCE; + currentSeq = enterSequence(currentSeq, + std::make_unique()); + }} + break; + case 384: +#line 336 "Parser.rl" + {te = p+1;{ + assert(!label.empty()); // should be guaranteed by machine + char c = *label.begin(); + if (c >= '0' && c <= '9') { + throw LocatedParseError("Group name cannot begin with a digit"); + } + if (!groupNames.insert(label).second) { + throw LocatedParseError("Two named subpatterns use the name '" + label + "'"); + } + PUSH_SEQUENCE; + auto seq = std::make_unique(); + seq->setCaptureIndex(groupIndex++); + seq->setCaptureName(label); + currentSeq = enterSequence(currentSeq, move(seq)); + }} + break; + case 385: +#line 399 "Parser.rl" + {te = p+1;{ + throw LocatedParseError("Subpattern reference unsupported"); + }} + break; + case 386: +#line 399 "Parser.rl" + {te = p+1;{ + throw LocatedParseError("Subpattern reference unsupported"); + }} + break; + case 387: +#line 1783 "Parser.rl" + {te = p+1;{ + auto a = std::make_unique( + ComponentAssertion::LOOKAHEAD, ComponentAssertion::POS); + ComponentAssertion *a_seq = a.get(); + PUSH_SEQUENCE; + currentSeq = enterSequence(currentSeq, + std::make_unique(move(a))); + PUSH_SEQUENCE; + currentSeq = a_seq; + }} + break; + case 388: +#line 1794 "Parser.rl" + {te = p+1;{ + auto a = std::make_unique( + ComponentAssertion::LOOKAHEAD, ComponentAssertion::NEG); + ComponentAssertion *a_seq = a.get(); + PUSH_SEQUENCE; + currentSeq = enterSequence(currentSeq, + std::make_unique(move(a))); + PUSH_SEQUENCE; + currentSeq = a_seq; + }} + break; + case 389: +#line 1805 "Parser.rl" + {te = p+1;{ + auto a = std::make_unique( + ComponentAssertion::LOOKBEHIND, ComponentAssertion::POS); + ComponentAssertion *a_seq = a.get(); + PUSH_SEQUENCE; + currentSeq = enterSequence(currentSeq, + std::make_unique(move(a))); + PUSH_SEQUENCE; + currentSeq = a_seq; + }} + break; + case 390: +#line 1816 "Parser.rl" + {te = p+1;{ + auto a = std::make_unique( + ComponentAssertion::LOOKBEHIND, ComponentAssertion::NEG); + ComponentAssertion *a_seq = a.get(); + PUSH_SEQUENCE; + currentSeq = enterSequence(currentSeq, + std::make_unique(move(a))); + PUSH_SEQUENCE; + currentSeq = a_seq; + }} + break; + case 391: +#line 1828 "Parser.rl" + {te = p+1;{ + throw LocatedParseError("Pattern recursion not supported"); + }} + break; + case 392: +#line 402 "Parser.rl" + {te = p+1;{ + if (accumulator == 0) { + throw LocatedParseError("Numbered reference cannot be zero"); + } + PUSH_SEQUENCE; + currentSeq = enterSequence(currentSeq, + std::make_unique(accumulator)); + }} + break; + case 393: +#line 410 "Parser.rl" + {te = p+1;{ + PUSH_SEQUENCE; + assert(!label.empty()); + currentSeq = enterSequence(currentSeq, + std::make_unique(label)); + }} + break; + case 394: +#line 1844 "Parser.rl" + {te = p+1;{ + ostringstream str; + str << "Callout at index " << ts - ptr << " not supported."; + throw ParseError(str.str()); + }} + break; + case 395: +#line 1852 "Parser.rl" + {te = p+1;{ + throw LocatedParseError("Unrecognised character after (?"); + }} + break; + case 396: +#line 1857 "Parser.rl" + {te = p+1;{ + assert(mode.utf8); + /* leverage ComponentClass to generate the vertices */ + auto cc = getComponentClass(mode); + cc->add(readUtf8CodePoint2c(ts)); + cc->finalize(); + currentSeq->addComponent(move(cc)); + }} + break; + case 397: +#line 1866 "Parser.rl" + {te = p+1;{ + assert(mode.utf8); + /* leverage ComponentClass to generate the vertices */ + auto cc = getComponentClass(mode); + cc->add(readUtf8CodePoint3c(ts)); + cc->finalize(); + currentSeq->addComponent(move(cc)); + }} + break; + case 398: +#line 1875 "Parser.rl" + {te = p+1;{ + assert(mode.utf8); + /* leverage ComponentClass to generate the vertices */ + auto cc = getComponentClass(mode); + cc->add(readUtf8CodePoint4c(ts)); + cc->finalize(); + currentSeq->addComponent(move(cc)); + }} + break; + case 399: +#line 1884 "Parser.rl" + {te = p+1;{ + assert(mode.utf8); + throwInvalidUtf8(); + }} + break; + case 400: +#line 1893 "Parser.rl" + {te = p+1;{ + if (mode.ignore_space == false) { + addLiteral(currentSeq, *ts, mode); + } + }} + break; + case 401: +#line 1898 "Parser.rl" + {te = p+1;{ + addLiteral(currentSeq, *ts, mode); + }} + break; + case 402: +#line 328 "Parser.rl" + {te = p;p--;{ + PUSH_SEQUENCE; + auto seq = std::make_unique(); + seq->setCaptureIndex(groupIndex++); + currentSeq = enterSequence(currentSeq, move(seq)); + }} + break; + case 403: +#line 421 "Parser.rl" + {te = p;p--;{ + assert(!currentCls); + assert(!inCharClass); // not reentrant + currentCls = getComponentClass(mode); + inCharClass = true; + inCharClassEarly = true; + currentClsBegin = ts; + {cs = 836;goto _again;} + }} + break; + case 404: +#line 1310 "Parser.rl" + {te = p;p--;{ + if (!currentSeq->addRepeat(0, ComponentRepeat::NoLimit, + ComponentRepeat::REPEAT_GREEDY)) { + throwInvalidRepeat(); + } + }} + break; + case 405: +#line 1331 "Parser.rl" + {te = p;p--;{ + if (!currentSeq->addRepeat(1, ComponentRepeat::NoLimit, + ComponentRepeat::REPEAT_GREEDY)) { + throwInvalidRepeat(); + } + }} + break; + case 406: +#line 1352 "Parser.rl" + {te = p;p--;{ + if (!currentSeq->addRepeat( + 0, 1, ComponentRepeat::REPEAT_GREEDY)) { + throwInvalidRepeat(); + } + }} + break; + case 407: +#line 1373 "Parser.rl" + {te = p;p--;{ + if (repeatN > repeatM || repeatM == 0) { + throwInvalidRepeat(); + } else if (!currentSeq->addRepeat( + repeatN, repeatM, + ComponentRepeat::REPEAT_GREEDY)) { + throwInvalidRepeat(); + } + }} + break; + case 408: +#line 1488 "Parser.rl" + {te = p;p--;{ + addLiteral(currentSeq, octAccumulator, mode); + }} + break; + case 409: +#line 1491 "Parser.rl" + {te = p;p--;{ + // If there are enough capturing sub expressions, this may be + // a back reference + accumulator = parseAsDecimal(octAccumulator); + if (accumulator < groupIndex) { + currentSeq->addComponent(std::make_unique(accumulator)); + } else { + addEscapedOctal(currentSeq, octAccumulator, mode); + } + }} + break; + case 410: +#line 479 "Parser.rl" + {te = p;p--;{ + if (accumulator == 0) { + throw LocatedParseError("Numbered reference cannot be zero"); + } + currentSeq->addComponent(std::make_unique(accumulator)); + }} + break; + case 411: +#line 479 "Parser.rl" + {te = p;p--;{ + if (accumulator == 0) { + throw LocatedParseError("Numbered reference cannot be zero"); + } + currentSeq->addComponent(std::make_unique(accumulator)); + }} + break; + case 412: +#line 486 "Parser.rl" + {te = p;p--;{ + // Accumulator is a negative offset. + if (accumulator == 0) { + throw LocatedParseError("Numbered reference cannot be zero"); + } + if (accumulator >= groupIndex) { + throw LocatedParseError("Invalid reference"); + } + unsigned idx = groupIndex - accumulator; + currentSeq->addComponent(std::make_unique(idx)); + }} + break; + case 413: +#line 1557 "Parser.rl" + {te = p;p--;{ + throw LocatedParseError("Invalid reference after \\g"); + }} + break; + case 414: +#line 1574 "Parser.rl" + {te = p;p--;{ + throw LocatedParseError("Value in \\o{...} sequence is non-octal or missing braces"); + }} + break; + case 415: +#line 1578 "Parser.rl" + {te = p;p--;{ + addEscapedHex(currentSeq, accumulator, mode); + }} + break; + case 416: +#line 1596 "Parser.rl" + {te = p;p--;{ + throw LocatedParseError("Value in \\x{...} sequence is non-hex or missing }"); + }} + break; + case 417: +#line 1600 "Parser.rl" + {te = p;p--;{ + if (te - ts < 3) { + assert(te - ts == 2); + throw LocatedParseError(SLASH_C_ERROR); + } else { + assert(te - ts == 3); + addLiteral(currentSeq, decodeCtrl(ts[2]), mode); + } + }} + break; + case 418: +#line 1700 "Parser.rl" + {te = p;p--;{ throw LocatedParseError("Malformed property"); }} + break; + case 419: +#line 1701 "Parser.rl" + {te = p;p--;{ throw LocatedParseError("Malformed property"); }} + break; + case 420: +#line 1719 "Parser.rl" + {te = p;p--;{ + ostringstream str; + str << "\\k at index " << ts - ptr << " not supported."; + throw ParseError(str.str()); + }} + break; + case 421: +#line 1742 "Parser.rl" + {te = p;p--;{ + assert(ts + 1 == pe); + ostringstream str; + str << "Unescaped \\ at end of input, index " << ts - ptr << "."; + throw ParseError(str.str()); + }} + break; + case 422: +#line 396 "Parser.rl" + {te = p;p--;{ + throw LocatedParseError("Conditional subpattern unsupported"); + }} + break; + case 423: +#line 1852 "Parser.rl" + {te = p;p--;{ + throw LocatedParseError("Unrecognised character after (?"); + }} + break; + case 424: +#line 1884 "Parser.rl" + {te = p;p--;{ + assert(mode.utf8); + throwInvalidUtf8(); + }} + break; + case 425: +#line 1898 "Parser.rl" + {te = p;p--;{ + addLiteral(currentSeq, *ts, mode); + }} + break; + case 426: +#line 328 "Parser.rl" + {{p = ((te))-1;}{ + PUSH_SEQUENCE; + auto seq = std::make_unique(); + seq->setCaptureIndex(groupIndex++); + currentSeq = enterSequence(currentSeq, move(seq)); + }} + break; + case 427: +#line 421 "Parser.rl" + {{p = ((te))-1;}{ + assert(!currentCls); + assert(!inCharClass); // not reentrant + currentCls = getComponentClass(mode); + inCharClass = true; + inCharClassEarly = true; + currentClsBegin = ts; + {cs = 836;goto _again;} + }} + break; + case 428: +#line 1557 "Parser.rl" + {{p = ((te))-1;}{ + throw LocatedParseError("Invalid reference after \\g"); + }} + break; + case 429: +#line 1574 "Parser.rl" + {{p = ((te))-1;}{ + throw LocatedParseError("Value in \\o{...} sequence is non-octal or missing braces"); + }} + break; + case 430: +#line 1596 "Parser.rl" + {{p = ((te))-1;}{ + throw LocatedParseError("Value in \\x{...} sequence is non-hex or missing }"); + }} + break; + case 431: +#line 1719 "Parser.rl" + {{p = ((te))-1;}{ + ostringstream str; + str << "\\k at index " << ts - ptr << " not supported."; + throw ParseError(str.str()); + }} + break; + case 432: +#line 396 "Parser.rl" + {{p = ((te))-1;}{ + throw LocatedParseError("Conditional subpattern unsupported"); + }} + break; + case 433: +#line 1852 "Parser.rl" + {{p = ((te))-1;}{ + throw LocatedParseError("Unrecognised character after (?"); + }} + break; + case 434: +#line 1884 "Parser.rl" + {{p = ((te))-1;}{ + assert(mode.utf8); + throwInvalidUtf8(); + }} + break; + case 435: +#line 1898 "Parser.rl" + {{p = ((te))-1;}{ + addLiteral(currentSeq, *ts, mode); + }} + break; + case 436: +#line 1 "NONE" + { switch( act ) { + case 288: + {{p = ((te))-1;} + // If there are enough capturing sub expressions, this may be + // a back reference + accumulator = parseAsDecimal(octAccumulator); + if (accumulator < groupIndex) { + currentSeq->addComponent(std::make_unique(accumulator)); + } else { + addEscapedOctal(currentSeq, octAccumulator, mode); + } + } + break; + case 290: + {{p = ((te))-1;} + // if there are enough left parens to this point, back ref + if (accumulator < groupIndex) { + currentSeq->addComponent(std::make_unique(accumulator)); + } else { + // Otherwise, we interpret the first three digits as an + // octal escape, and the remaining characters stand for + // themselves as literals. + const char *s = ts; + unsigned int accum = 0; + unsigned int oct_digits = 0; + assert(*s == '\\'); // token starts at backslash + for (++s; s < te && oct_digits < 3; ++oct_digits, ++s) { + u8 digit = *s - '0'; + if (digit < 8) { + accum = digit + accum * 8; + } else { + break; + } + } + + if (oct_digits > 0) { + addEscapedOctal(currentSeq, accum, mode); + } + + // And then the rest of the digits, if any, are literal. + for (; s < te; ++s) { + addLiteral(currentSeq, *s, mode); + } + } + } + break; + case 330: + {{p = ((te))-1;} + addLiteral(currentSeq, *(ts + 1), mode); + } + break; + } + } + break; +#line 5508 "Parser.cpp" + } + } + +_again: + _acts = _regex_actions + _regex_to_state_actions[cs]; + _nacts = (unsigned int) *_acts++; + while ( _nacts-- > 0 ) { + switch ( *_acts++ ) { + case 23: +#line 1 "NONE" + {ts = 0;} + break; +#line 5521 "Parser.cpp" + } + } + + if ( cs == 0 ) + goto _out; + if ( ++p != pe ) + goto _resume; + _test_eof: {} + if ( p == eof ) + { + if ( _regex_eof_trans[cs] > 0 ) { + _trans = _regex_eof_trans[cs] - 1; + goto _eof_trans; + } + const short *__acts = _regex_actions + _regex_eof_actions[cs]; + unsigned int __nacts = (unsigned int) *__acts++; + while ( __nacts-- > 0 ) { + switch ( *__acts++ ) { + case 22: +#line 730 "Parser.rl" + { throw LocatedParseError("Malformed property"); } + break; +#line 5544 "Parser.cpp" + } + } + } + + _out: {} + } + +#line 1984 "Parser.rl" + + if (p != pe && *p != '\0') { + // didn't make it to the end of our input, but we didn't throw a ParseError? + assert(0); + ostringstream str; + str << "Parse error at index " << (p - ptr) << "."; + throw ParseError(str.str()); + } + + if (currentCls) { + assert(inCharClass); + assert(currentClsBegin); + ostringstream oss; + oss << "Unterminated character class starting at index " + << currentClsBegin - ptr << "."; + throw ParseError(oss.str()); + } + + if (inComment) { + throw ParseError("Unterminated comment."); + } + + if (!sequences.empty()) { + ostringstream str; + str << "Missing close parenthesis for group started at index " + << sequences.back().seqOffset << "."; + throw ParseError(str.str()); + } + + // Unlikely, but possible + if (groupIndex > 65535) { + throw ParseError("The maximum number of capturing subexpressions is 65535."); + } + + // Finalize the top-level sequence, which will take care of any + // top-level alternation. + currentSeq->finalize(); + assert(currentSeq == rootSeq.get()); + + // Ensure that all references are valid. + checkReferences(*rootSeq, groupIndex, groupNames); + + return move(rootSeq); + } catch (LocatedParseError &error) { + if (ts >= ptr && ts <= pe) { + error.locate(ts - ptr); + } else { + error.locate(0); + } + throw; + } +} + +} // namespace ue2 diff --git a/contrib/vectorscan-cmake/rageled_files/control_verbs.cpp b/contrib/vectorscan-cmake/rageled_files/control_verbs.cpp new file mode 100644 index 00000000000..19b5c6955e1 --- /dev/null +++ b/contrib/vectorscan-cmake/rageled_files/control_verbs.cpp @@ -0,0 +1,443 @@ + +#line 1 "control_verbs.rl" +/* + * Copyright (c) 2017, Intel Corporation + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +/** + * \file + * \brief Parser for control verbs that can occur at the beginning of a pattern. + */ + +#include "parser/control_verbs.h" + +#include "parser/Parser.h" +#include "parser/parse_error.h" + +#include +#include + +using namespace std; + +namespace ue2 { + +const char *read_control_verbs(const char *ptr, const char *end, size_t start, + ParseMode &mode) { + const char *p = ptr; + const char *pe = end; + const char *eof = pe; + const char *ts, *te; + int cs; + UNUSED int act; + + +#line 59 "control_verbs.cpp" +static const char _ControlVerbs_actions[] = { + 0, 1, 0, 1, 1, 1, 2, 1, + 3, 1, 4, 1, 5, 1, 6, 1, + 7, 1, 8, 1, 9 +}; + +static const unsigned char _ControlVerbs_key_offsets[] = { + 0, 7, 8, 10, 12, 14, 16, 18, + 20, 21, 23, 25, 27, 30, 32, 34, + 36, 38, 40, 42, 44, 46, 48, 50, + 52, 55, 57, 59, 61, 63, 66, 68, + 70, 72, 74, 76, 79, 82, 84, 86, + 88, 90, 92, 94, 96, 98, 100, 102, + 105, 107, 109, 111, 113, 115, 117, 119, + 121, 123, 125, 127, 129, 131, 133, 135, + 137, 139, 141, 143, 146, 148, 149, 151, + 155, 157, 159, 160, 161 +}; + +static const char _ControlVerbs_trans_keys[] = { + 41, 65, 66, 67, 76, 78, 85, 41, + 41, 78, 41, 89, 41, 67, 41, 82, + 41, 76, 41, 70, 41, 41, 83, 41, + 82, 41, 95, 41, 65, 85, 41, 78, + 41, 89, 41, 67, 41, 78, 41, 73, + 41, 67, 41, 79, 41, 68, 41, 69, + 41, 82, 41, 76, 41, 70, 73, 41, + 77, 41, 73, 41, 84, 41, 95, 41, + 77, 82, 41, 65, 41, 84, 41, 67, + 41, 72, 41, 61, 41, 48, 57, 41, + 48, 57, 41, 69, 41, 67, 41, 85, + 41, 82, 41, 83, 41, 73, 41, 79, + 41, 78, 41, 79, 41, 95, 41, 65, + 83, 41, 85, 41, 84, 41, 79, 41, + 95, 41, 80, 41, 79, 41, 83, 41, + 83, 41, 69, 41, 83, 41, 83, 41, + 84, 41, 65, 41, 82, 41, 84, 41, + 95, 41, 79, 41, 80, 41, 84, 41, + 67, 84, 41, 80, 41, 41, 70, 41, + 49, 51, 56, 41, 54, 41, 50, 41, + 40, 42, 0 +}; + +static const char _ControlVerbs_single_lengths[] = { + 7, 1, 2, 2, 2, 2, 2, 2, + 1, 2, 2, 2, 3, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, + 3, 2, 2, 2, 2, 3, 2, 2, + 2, 2, 2, 1, 1, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 3, + 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 3, 2, 1, 2, 4, + 2, 2, 1, 1, 1 +}; + +static const char _ControlVerbs_range_lengths[] = { + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0 +}; + +static const short _ControlVerbs_index_offsets[] = { + 0, 8, 10, 13, 16, 19, 22, 25, + 28, 30, 33, 36, 39, 43, 46, 49, + 52, 55, 58, 61, 64, 67, 70, 73, + 76, 80, 83, 86, 89, 92, 96, 99, + 102, 105, 108, 111, 114, 117, 120, 123, + 126, 129, 132, 135, 138, 141, 144, 147, + 151, 154, 157, 160, 163, 166, 169, 172, + 175, 178, 181, 184, 187, 190, 193, 196, + 199, 202, 205, 208, 212, 215, 217, 220, + 225, 228, 231, 233, 235 +}; + +static const char _ControlVerbs_indicies[] = { + 0, 2, 3, 4, 5, 6, 7, 1, + 8, 1, 8, 9, 1, 8, 10, 1, + 11, 12, 1, 8, 13, 1, 8, 14, + 1, 8, 15, 1, 11, 1, 8, 16, + 1, 8, 17, 1, 8, 18, 1, 8, + 19, 20, 1, 8, 21, 1, 8, 22, + 1, 8, 12, 1, 8, 23, 1, 8, + 24, 1, 8, 25, 1, 8, 26, 1, + 8, 27, 1, 8, 15, 1, 8, 28, + 1, 11, 14, 1, 8, 15, 29, 1, + 8, 30, 1, 8, 31, 1, 8, 32, + 1, 8, 33, 1, 8, 34, 35, 1, + 8, 36, 1, 8, 37, 1, 8, 38, + 1, 8, 39, 1, 8, 40, 1, 8, + 41, 1, 11, 41, 1, 8, 42, 1, + 8, 43, 1, 8, 44, 1, 8, 45, + 1, 8, 46, 1, 8, 47, 1, 8, + 48, 1, 8, 39, 1, 8, 49, 1, + 8, 50, 1, 8, 51, 52, 1, 8, + 53, 1, 8, 54, 1, 8, 55, 1, + 8, 56, 1, 8, 57, 1, 8, 58, + 1, 8, 59, 1, 8, 60, 1, 8, + 61, 1, 8, 62, 1, 8, 15, 1, + 8, 63, 1, 8, 64, 1, 8, 65, + 1, 8, 66, 1, 8, 67, 1, 8, + 68, 1, 8, 69, 1, 8, 15, 1, + 8, 70, 71, 1, 8, 72, 1, 73, + 1, 8, 74, 1, 75, 76, 77, 78, + 1, 8, 15, 1, 8, 15, 1, 75, + 1, 80, 79, 82, 81, 0 +}; + +static const char _ControlVerbs_trans_targs[] = { + 75, 1, 2, 9, 22, 24, 45, 67, + 75, 3, 4, 75, 5, 6, 7, 8, + 10, 11, 12, 13, 16, 14, 15, 17, + 18, 19, 20, 21, 23, 25, 26, 27, + 28, 29, 30, 37, 31, 32, 33, 34, + 35, 36, 38, 39, 40, 41, 42, 43, + 44, 46, 47, 48, 59, 49, 50, 51, + 52, 53, 54, 55, 56, 57, 58, 60, + 61, 62, 63, 64, 65, 66, 68, 70, + 69, 75, 71, 75, 72, 73, 74, 75, + 76, 75, 0 +}; + +static const char _ControlVerbs_trans_actions[] = { + 19, 0, 0, 0, 0, 0, 0, 0, + 13, 0, 0, 11, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 9, 0, 7, 0, 0, 0, 15, + 5, 17, 0 +}; + +static const char _ControlVerbs_to_state_actions[] = { + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1, 0 +}; + +static const char _ControlVerbs_from_state_actions[] = { + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 3, 0 +}; + +static const short _ControlVerbs_eof_trans[] = { + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 0, 82 +}; + +static const int ControlVerbs_start = 75; +static const int ControlVerbs_first_final = 75; +static const int ControlVerbs_error = -1; + +static const int ControlVerbs_en_main = 75; + + +#line 249 "control_verbs.cpp" + { + cs = ControlVerbs_start; + ts = 0; + te = 0; + act = 0; + } + +#line 105 "control_verbs.rl" + + + try { + +#line 262 "control_verbs.cpp" + { + int _klen; + unsigned int _trans; + const char *_acts; + unsigned int _nacts; + const char *_keys; + + if ( p == pe ) + goto _test_eof; +_resume: + _acts = _ControlVerbs_actions + _ControlVerbs_from_state_actions[cs]; + _nacts = (unsigned int) *_acts++; + while ( _nacts-- > 0 ) { + switch ( *_acts++ ) { + case 1: +#line 1 "NONE" + {ts = p;} + break; +#line 281 "control_verbs.cpp" + } + } + + _keys = _ControlVerbs_trans_keys + _ControlVerbs_key_offsets[cs]; + _trans = _ControlVerbs_index_offsets[cs]; + + _klen = _ControlVerbs_single_lengths[cs]; + if ( _klen > 0 ) { + const char *_lower = _keys; + const char *_mid; + const char *_upper = _keys + _klen - 1; + while (1) { + if ( _upper < _lower ) + break; + + _mid = _lower + ((_upper-_lower) >> 1); + if ( (*p) < *_mid ) + _upper = _mid - 1; + else if ( (*p) > *_mid ) + _lower = _mid + 1; + else { + _trans += (unsigned int)(_mid - _keys); + goto _match; + } + } + _keys += _klen; + _trans += _klen; + } + + _klen = _ControlVerbs_range_lengths[cs]; + if ( _klen > 0 ) { + const char *_lower = _keys; + const char *_mid; + const char *_upper = _keys + (_klen<<1) - 2; + while (1) { + if ( _upper < _lower ) + break; + + _mid = _lower + (((_upper-_lower) >> 1) & ~1); + if ( (*p) < _mid[0] ) + _upper = _mid - 2; + else if ( (*p) > _mid[1] ) + _lower = _mid + 2; + else { + _trans += (unsigned int)((_mid - _keys)>>1); + goto _match; + } + } + _trans += _klen; + } + +_match: + _trans = _ControlVerbs_indicies[_trans]; +_eof_trans: + cs = _ControlVerbs_trans_targs[_trans]; + + if ( _ControlVerbs_trans_actions[_trans] == 0 ) + goto _again; + + _acts = _ControlVerbs_actions + _ControlVerbs_trans_actions[_trans]; + _nacts = (unsigned int) *_acts++; + while ( _nacts-- > 0 ) + { + switch ( *_acts++ ) + { + case 2: +#line 1 "NONE" + {te = p+1;} + break; + case 3: +#line 76 "control_verbs.rl" + {te = p+1;{ + mode.utf8 = true; + }} + break; + case 4: +#line 80 "control_verbs.rl" + {te = p+1;{ + mode.ucp = true; + }} + break; + case 5: +#line 84 "control_verbs.rl" + {te = p+1;{ + ostringstream str; + str << "Unsupported control verb " << string(ts, te - ts); + throw LocatedParseError(str.str()); + }} + break; + case 6: +#line 90 "control_verbs.rl" + {te = p+1;{ + ostringstream str; + str << "Unknown control verb " << string(ts, te - ts); + throw LocatedParseError(str.str()); + }} + break; + case 7: +#line 97 "control_verbs.rl" + {te = p+1;{ + p--; + {p++; goto _out; } + }} + break; + case 8: +#line 97 "control_verbs.rl" + {te = p;p--;{ + p--; + {p++; goto _out; } + }} + break; + case 9: +#line 97 "control_verbs.rl" + {{p = ((te))-1;}{ + p--; + {p++; goto _out; } + }} + break; +#line 400 "control_verbs.cpp" + } + } + +_again: + _acts = _ControlVerbs_actions + _ControlVerbs_to_state_actions[cs]; + _nacts = (unsigned int) *_acts++; + while ( _nacts-- > 0 ) { + switch ( *_acts++ ) { + case 0: +#line 1 "NONE" + {ts = 0;} + break; +#line 413 "control_verbs.cpp" + } + } + + if ( ++p != pe ) + goto _resume; + _test_eof: {} + if ( p == eof ) + { + if ( _ControlVerbs_eof_trans[cs] > 0 ) { + _trans = _ControlVerbs_eof_trans[cs] - 1; + goto _eof_trans; + } + } + + _out: {} + } + +#line 109 "control_verbs.rl" + } catch (LocatedParseError &error) { + if (ts >= ptr && ts <= pe) { + error.locate(ts - ptr + start); + } else { + error.locate(0); + } + throw; + } + + return p; +} + +} // namespace ue2 diff --git a/contrib/hyperscan-cmake/x86_64/config.h b/contrib/vectorscan-cmake/x86_64/config.h similarity index 73% rename from contrib/hyperscan-cmake/x86_64/config.h rename to contrib/vectorscan-cmake/x86_64/config.h index 4786e3f4e21..eab2f3eb079 100644 --- a/contrib/hyperscan-cmake/x86_64/config.h +++ b/contrib/vectorscan-cmake/x86_64/config.h @@ -15,15 +15,42 @@ /* "Define if building for EM64T" */ #define ARCH_X86_64 +/* "Define if building for ARM32" */ +/* #undef ARCH_ARM32 */ + +/* "Define if building for AARCH64" */ +/* #undef ARCH_AARCH64 */ + +/* "Define if building for PPC64EL" */ +/* #undef ARCH_PPC64EL */ + +/* "Define if cross compiling for AARCH64" */ +/* #undef CROSS_COMPILE_AARCH64 */ + +/* Define if building SVE for AARCH64. */ +/* #undef BUILD_SVE */ + +/* Define if building SVE2 for AARCH64. */ +/* #undef BUILD_SVE2 */ + +/* Define if building SVE2+BITPERM for AARCH64. */ +/* #undef BUILD_SVE2_BITPERM */ + /* internal build, switch on dump support. */ /* #undef DUMP_SUPPORT */ /* Define if building "fat" runtime. */ /* #undef FAT_RUNTIME */ +/* Define if building AVX2 in the fat runtime. */ +/* #undef BUILD_AVX2 */ + /* Define if building AVX-512 in the fat runtime. */ /* #undef BUILD_AVX512 */ +/* Define if building AVX512VBMI in the fat runtime. */ +/* #undef BUILD_AVX512VBMI */ + /* Define to 1 if `backtrace' works. */ #define HAVE_BACKTRACE @@ -45,6 +72,15 @@ /* C compiler has intrin.h */ /* #undef HAVE_C_INTRIN_H */ +/* C compiler has arm_neon.h */ +/* #undef HAVE_C_ARM_NEON_H */ + +/* C compiler has arm_sve.h */ +/* #undef HAVE_C_ARM_SVE_H */ + +/* C compiler has arm_neon.h */ +/* #undef HAVE_C_PPC64EL_ALTIVEC_H */ + /* Define to 1 if you have the declaration of `pthread_setaffinity_np', and to 0 if you don't. */ /* #undef HAVE_DECL_PTHREAD_SETAFFINITY_NP */ @@ -85,7 +121,7 @@ /* #undef HAVE__ALIGNED_MALLOC */ /* Define if compiler has __builtin_constant_p */ -#define HAVE__BUILTIN_CONSTANT_P +/* #undef HAVE__BUILTIN_CONSTANT_P */ /* Optimize, inline critical functions */ #define HS_OPTIMIZE diff --git a/contrib/zstd b/contrib/zstd index a488ba114ec..b944db0c451 160000 --- a/contrib/zstd +++ b/contrib/zstd @@ -1 +1 @@ -Subproject commit a488ba114ec17ea1054b9057c26a046fc122b3b6 +Subproject commit b944db0c451ba1bc6bbd8e201d5f88f9041bf1f9 diff --git a/contrib/zstd-cmake/CMakeLists.txt b/contrib/zstd-cmake/CMakeLists.txt index 4949c3f30d5..f44d5db12c4 100644 --- a/contrib/zstd-cmake/CMakeLists.txt +++ b/contrib/zstd-cmake/CMakeLists.txt @@ -50,7 +50,7 @@ GetLibraryVersion("${HEADER_CONTENT}" LIBVER_MAJOR LIBVER_MINOR LIBVER_RELEASE) MESSAGE(STATUS "ZSTD VERSION ${LIBVER_MAJOR}.${LIBVER_MINOR}.${LIBVER_RELEASE}") # cd contrib/zstd/lib -# find . -name '*.c' | grep -vP 'deprecated|legacy' | sort | sed 's/^\./ "${LIBRARY_DIR}/"' +# find . -name '*.c' -or -name '*.S' | grep -vP 'deprecated|legacy' | sort | sed 's/^\./ "${LIBRARY_DIR}/"' SET(Sources "${LIBRARY_DIR}/common/debug.c" "${LIBRARY_DIR}/common/entropy_common.c" @@ -73,6 +73,7 @@ SET(Sources "${LIBRARY_DIR}/compress/zstd_ldm.c" "${LIBRARY_DIR}/compress/zstdmt_compress.c" "${LIBRARY_DIR}/compress/zstd_opt.c" + "${LIBRARY_DIR}/decompress/huf_decompress_amd64.S" "${LIBRARY_DIR}/decompress/huf_decompress.c" "${LIBRARY_DIR}/decompress/zstd_ddict.c" "${LIBRARY_DIR}/decompress/zstd_decompress_block.c" @@ -85,6 +86,7 @@ SET(Sources # cd contrib/zstd/lib # find . -name '*.h' | grep -vP 'deprecated|legacy' | sort | sed 's/^\./ "${LIBRARY_DIR}/"' SET(Headers + "${LIBRARY_DIR}/common/bits.h" "${LIBRARY_DIR}/common/bitstream.h" "${LIBRARY_DIR}/common/compiler.h" "${LIBRARY_DIR}/common/cpu.h" @@ -94,11 +96,13 @@ SET(Headers "${LIBRARY_DIR}/common/huf.h" "${LIBRARY_DIR}/common/mem.h" "${LIBRARY_DIR}/common/pool.h" + "${LIBRARY_DIR}/common/portability_macros.h" "${LIBRARY_DIR}/common/threading.h" "${LIBRARY_DIR}/common/xxhash.h" "${LIBRARY_DIR}/common/zstd_deps.h" "${LIBRARY_DIR}/common/zstd_internal.h" "${LIBRARY_DIR}/common/zstd_trace.h" + "${LIBRARY_DIR}/compress/clevels.h" "${LIBRARY_DIR}/compress/hist.h" "${LIBRARY_DIR}/compress/zstd_compress_internal.h" "${LIBRARY_DIR}/compress/zstd_compress_literals.h" diff --git a/docker/docs/builder/Dockerfile b/docker/docs/builder/Dockerfile index a3b5bffdfe8..76bbea59e60 100644 --- a/docker/docs/builder/Dockerfile +++ b/docker/docs/builder/Dockerfile @@ -1,15 +1,16 @@ # rebuild in #36968 # docker build -t clickhouse/docs-builder . # nodejs 17 prefers ipv6 and is broken in our environment -FROM node:16.14.2-alpine3.15 +FROM node:16-alpine RUN apk add --no-cache git openssh bash -# TODO: clean before merge! -ARG DOCS_BRANCH=main +# At this point we want to really update /opt/clickhouse-docs +# despite the cached images +ARG CACHE_INVALIDATOR=0 RUN git clone https://github.com/ClickHouse/clickhouse-docs.git \ - --depth=1 --branch=${DOCS_BRANCH} /opt/clickhouse-docs + --depth=1 --branch=main /opt/clickhouse-docs WORKDIR /opt/clickhouse-docs diff --git a/docker/keeper/Dockerfile b/docker/keeper/Dockerfile index 068377e8f8c..282392bd98a 100644 --- a/docker/keeper/Dockerfile +++ b/docker/keeper/Dockerfile @@ -67,7 +67,7 @@ RUN arch=${TARGETARCH:-amd64} \ && chmod ugo+Xrw -R /var/lib/clickhouse /var/log/clickhouse-keeper /etc/clickhouse-keeper -EXPOSE 2181 10181 44444 +EXPOSE 2181 10181 44444 9181 VOLUME /var/lib/clickhouse /var/log/clickhouse-keeper /etc/clickhouse-keeper diff --git a/docker/keeper/entrypoint.sh b/docker/keeper/entrypoint.sh index 3aacf655c28..939cd941aeb 100644 --- a/docker/keeper/entrypoint.sh +++ b/docker/keeper/entrypoint.sh @@ -31,7 +31,7 @@ else DO_CHOWN=0 fi -KEEPER_CONFIG="${KEEPER_CONFIG:-/etc/clickhouse-keeper/config.yaml}" +KEEPER_CONFIG="${KEEPER_CONFIG:-/etc/clickhouse-keeper/keeper_config.xml}" if [ -f "$KEEPER_CONFIG" ] && ! $gosu test -f "$KEEPER_CONFIG" -a -r "$KEEPER_CONFIG"; then echo "Configuration file '$KEEPER_CONFIG' isn't readable by user with id '$USER'" @@ -42,6 +42,7 @@ DATA_DIR="${CLICKHOUSE_DATA_DIR:-/var/lib/clickhouse}" LOG_DIR="${LOG_DIR:-/var/log/clickhouse-keeper}" LOG_PATH="${LOG_DIR}/clickhouse-keeper.log" ERROR_LOG_PATH="${LOG_DIR}/clickhouse-keeper.err.log" +COORDINATION_DIR="${DATA_DIR}/coordination" COORDINATION_LOG_DIR="${DATA_DIR}/coordination/log" COORDINATION_SNAPSHOT_DIR="${DATA_DIR}/coordination/snapshots" CLICKHOUSE_WATCHDOG_ENABLE=${CLICKHOUSE_WATCHDOG_ENABLE:-0} @@ -49,6 +50,7 @@ CLICKHOUSE_WATCHDOG_ENABLE=${CLICKHOUSE_WATCHDOG_ENABLE:-0} for dir in "$DATA_DIR" \ "$LOG_DIR" \ "$TMP_DIR" \ + "$COORDINATION_DIR" \ "$COORDINATION_LOG_DIR" \ "$COORDINATION_SNAPSHOT_DIR" do diff --git a/docker/packager/binary/Dockerfile b/docker/packager/binary/Dockerfile index d4e824838c2..1dff4b1a2d4 100644 --- a/docker/packager/binary/Dockerfile +++ b/docker/packager/binary/Dockerfile @@ -6,7 +6,7 @@ FROM ubuntu:20.04 ARG apt_archive="http://archive.ubuntu.com" RUN sed -i "s|http://archive.ubuntu.com|$apt_archive|g" /etc/apt/sources.list -ENV DEBIAN_FRONTEND=noninteractive LLVM_VERSION=13 +ENV DEBIAN_FRONTEND=noninteractive LLVM_VERSION=14 RUN apt-get update \ && apt-get install \ @@ -97,13 +97,24 @@ RUN add-apt-repository ppa:ubuntu-toolchain-r/test --yes \ # Architecture of the image when BuildKit/buildx is used ARG TARGETARCH -ARG NFPM_VERSION=2.15.1 +ARG NFPM_VERSION=2.16.0 RUN arch=${TARGETARCH:-amd64} \ && curl -Lo /tmp/nfpm.deb "https://github.com/goreleaser/nfpm/releases/download/v${NFPM_VERSION}/nfpm_${arch}.deb" \ && dpkg -i /tmp/nfpm.deb \ && rm /tmp/nfpm.deb +ARG GO_VERSION=1.18.3 +# We need go for clickhouse-diagnostics +RUN arch=${TARGETARCH:-amd64} \ + && curl -Lo /tmp/go.tgz "https://go.dev/dl/go${GO_VERSION}.linux-${arch}.tar.gz" \ + && tar -xzf /tmp/go.tgz -C /usr/local/ \ + && rm /tmp/go.tgz + +ENV PATH="$PATH:/usr/local/go/bin" +ENV GOPATH=/workdir/go +ENV GOCACHE=/workdir/ + RUN mkdir /workdir && chmod 777 /workdir WORKDIR /workdir diff --git a/docker/packager/binary/build.sh b/docker/packager/binary/build.sh index b8d11e9c293..270c93c105c 100755 --- a/docker/packager/binary/build.sh +++ b/docker/packager/binary/build.sh @@ -29,8 +29,21 @@ env if [ -n "$MAKE_DEB" ]; then rm -rf /build/packages/root + if [ -z "$SANITIZER" ]; then + # We need to check if clickhouse-diagnostics is fine and build it + ( + cd /build/programs/diagnostics + make test-no-docker + GOARCH="${DEB_ARCH}" CGO_ENABLED=0 make VERSION="$VERSION_STRING" build + mv clickhouse-diagnostics .. + ) + else + echo -e "#!/bin/sh\necho 'Not implemented for this type of package'" > /build/programs/clickhouse-diagnostics + chmod +x /build/programs/clickhouse-diagnostics + fi fi + cache_status # clear cache stats ccache --zero-stats ||: @@ -81,6 +94,8 @@ if [ -n "$MAKE_DEB" ]; then # No quotes because I want it to expand to nothing if empty. # shellcheck disable=SC2086 DESTDIR=/build/packages/root ninja $NINJA_FLAGS install + cp /build/programs/clickhouse-diagnostics /build/packages/root/usr/bin + cp /build/programs/clickhouse-diagnostics /output bash -x /build/packages/build fi diff --git a/docker/packager/packager b/docker/packager/packager index 578b5a38bfb..7c0f046b76c 100755 --- a/docker/packager/packager +++ b/docker/packager/packager @@ -202,7 +202,7 @@ def parse_env_variables( cmake_flags.append("-DCMAKE_INSTALL_SYSCONFDIR=/etc") cmake_flags.append("-DCMAKE_INSTALL_LOCALSTATEDIR=/var") if is_release_build(build_type, package_type, sanitizer, split_binary): - cmake_flags.append("-DINSTALL_STRIPPED_BINARIES=ON") + cmake_flags.append("-DSPLIT_DEBUG_SYMBOLS=ON") result.append("WITH_PERFORMANCE=1") if is_cross_arm: cmake_flags.append("-DBUILD_STANDALONE_KEEPER=1") @@ -319,28 +319,19 @@ if __name__ == "__main__": ) parser.add_argument("--output-dir", type=dir_name, required=True) parser.add_argument("--build-type", choices=("debug", ""), default="") + parser.add_argument( "--compiler", choices=( - "clang-11", - "clang-11-darwin", - "clang-11-darwin-aarch64", - "clang-11-aarch64", - "clang-12", - "clang-12-darwin", - "clang-12-darwin-aarch64", - "clang-12-aarch64", - "clang-13", - "clang-13-darwin", - "clang-13-darwin-aarch64", - "clang-13-aarch64", - "clang-13-ppc64le", - "clang-11-freebsd", - "clang-12-freebsd", - "clang-13-freebsd", + "clang-14", + "clang-14-darwin", + "clang-14-darwin-aarch64", + "clang-14-aarch64", + "clang-14-ppc64le", + "clang-14-freebsd", "gcc-11", ), - default="clang-13", + default="clang-14", help="a compiler to use", ) parser.add_argument( @@ -348,6 +339,7 @@ if __name__ == "__main__": choices=("address", "thread", "memory", "undefined", ""), default="", ) + parser.add_argument("--split-binary", action="store_true") parser.add_argument("--clang-tidy", action="store_true") parser.add_argument("--cache", choices=("ccache", "distcc", ""), default="") diff --git a/docker/server/Dockerfile.ubuntu b/docker/server/Dockerfile.ubuntu index 9e063a006b6..7c0108f8b2c 100644 --- a/docker/server/Dockerfile.ubuntu +++ b/docker/server/Dockerfile.ubuntu @@ -21,7 +21,7 @@ RUN sed -i "s|http://archive.ubuntu.com|${apt_archive}|g" /etc/apt/sources.list ARG REPO_CHANNEL="stable" ARG REPOSITORY="deb https://packages.clickhouse.com/deb ${REPO_CHANNEL} main" -ARG VERSION=22.5.1.* +ARG VERSION=22.6.1.* ARG PACKAGES="clickhouse-client clickhouse-server clickhouse-common-static" # set non-empty deb_location_url url to create a docker image diff --git a/docker/server/README.md b/docker/server/README.md index 5a96a63bb05..c074a1bac00 100644 --- a/docker/server/README.md +++ b/docker/server/README.md @@ -21,7 +21,9 @@ By default, starting above server instance will be run as default user without p ### connect to it from a native client ```bash -$ docker run -it --rm --link some-clickhouse-server:clickhouse-server clickhouse/clickhouse-client --host clickhouse-server +$ docker run -it --rm --link some-clickhouse-server:clickhouse-server --entrypoint clickhouse-client clickhouse/clickhouse-server --host clickhouse-server +# OR +$ docker exec -it some-clickhouse-server clickhouse-client ``` More information about [ClickHouse client](https://clickhouse.com/docs/en/interfaces/cli/). diff --git a/docker/test/base/Dockerfile b/docker/test/base/Dockerfile index 6beab2e5bb7..ca44354620f 100644 --- a/docker/test/base/Dockerfile +++ b/docker/test/base/Dockerfile @@ -7,7 +7,7 @@ FROM clickhouse/test-util:$FROM_TAG ARG apt_archive="http://archive.ubuntu.com" RUN sed -i "s|http://archive.ubuntu.com|$apt_archive|g" /etc/apt/sources.list -ENV DEBIAN_FRONTEND=noninteractive LLVM_VERSION=13 +ENV DEBIAN_FRONTEND=noninteractive LLVM_VERSION=14 RUN apt-get update \ && apt-get install ca-certificates lsb-release wget gnupg apt-transport-https \ diff --git a/docker/test/codebrowser/Dockerfile b/docker/test/codebrowser/Dockerfile index 97f3f54ad98..c7aed618f6a 100644 --- a/docker/test/codebrowser/Dockerfile +++ b/docker/test/codebrowser/Dockerfile @@ -8,14 +8,18 @@ FROM clickhouse/binary-builder:$FROM_TAG ARG apt_archive="http://archive.ubuntu.com" RUN sed -i "s|http://archive.ubuntu.com|$apt_archive|g" /etc/apt/sources.list -RUN apt-get update && apt-get --yes --allow-unauthenticated install clang-13 libllvm13 libclang-13-dev libmlir-13-dev +RUN apt-get update && apt-get --yes --allow-unauthenticated install clang-14 libllvm14 libclang-14-dev libmlir-14-dev # repo versions doesn't work correctly with C++17 # also we push reports to s3, so we add index.html to subfolder urls # https://github.com/ClickHouse-Extras/woboq_codebrowser/commit/37e15eaf377b920acb0b48dbe82471be9203f76b -RUN git clone https://github.com/ClickHouse-Extras/woboq_codebrowser - -RUN cd woboq_codebrowser && cmake . -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_COMPILER=clang\+\+-13 -DCMAKE_C_COMPILER=clang-13 && make -j +# TODO: remove branch in a few weeks after merge, e.g. in May or June 2022 +RUN git clone https://github.com/ClickHouse-Extras/woboq_codebrowser --branch llvm-14 \ + && cd woboq_codebrowser \ + && cmake . -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_COMPILER=clang\+\+-14 -DCMAKE_C_COMPILER=clang-14 \ + && make -j \ + && cd .. \ + && rm -rf woboq_codebrowser ENV CODEGEN=/woboq_codebrowser/generator/codebrowser_generator ENV CODEINDEX=/woboq_codebrowser/indexgenerator/codebrowser_indexgenerator @@ -28,7 +32,7 @@ ENV SHA=nosha ENV DATA="https://s3.amazonaws.com/clickhouse-test-reports/codebrowser/data" CMD mkdir -p $BUILD_DIRECTORY && cd $BUILD_DIRECTORY && \ - cmake $SOURCE_DIRECTORY -DCMAKE_CXX_COMPILER=/usr/bin/clang\+\+-13 -DCMAKE_C_COMPILER=/usr/bin/clang-13 -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DENABLE_EMBEDDED_COMPILER=0 -DENABLE_S3=0 && \ + cmake $SOURCE_DIRECTORY -DCMAKE_CXX_COMPILER=/usr/bin/clang\+\+-14 -DCMAKE_C_COMPILER=/usr/bin/clang-14 -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DENABLE_EMBEDDED_COMPILER=0 -DENABLE_S3=0 && \ mkdir -p $HTML_RESULT_DIRECTORY && \ $CODEGEN -b $BUILD_DIRECTORY -a -o $HTML_RESULT_DIRECTORY -p ClickHouse:$SOURCE_DIRECTORY:$SHA -d $DATA | ts '%Y-%m-%d %H:%M:%S' && \ cp -r $STATIC_DATA $HTML_RESULT_DIRECTORY/ &&\ diff --git a/docker/test/fasttest/Dockerfile b/docker/test/fasttest/Dockerfile index 46b74d89e13..03a79b45a10 100644 --- a/docker/test/fasttest/Dockerfile +++ b/docker/test/fasttest/Dockerfile @@ -7,7 +7,7 @@ FROM clickhouse/test-util:$FROM_TAG ARG apt_archive="http://archive.ubuntu.com" RUN sed -i "s|http://archive.ubuntu.com|$apt_archive|g" /etc/apt/sources.list -ENV DEBIAN_FRONTEND=noninteractive LLVM_VERSION=13 +ENV DEBIAN_FRONTEND=noninteractive LLVM_VERSION=14 RUN apt-get update \ && apt-get install ca-certificates lsb-release wget gnupg apt-transport-https \ diff --git a/docker/test/fasttest/run.sh b/docker/test/fasttest/run.sh index cafc62b365e..2bbdd978e5e 100755 --- a/docker/test/fasttest/run.sh +++ b/docker/test/fasttest/run.sh @@ -37,38 +37,13 @@ export FASTTEST_DATA export FASTTEST_OUT export PATH -server_pid=none - -function stop_server -{ - if ! kill -0 -- "$server_pid" - then - echo "ClickHouse server pid '$server_pid' is not running" - return 0 - fi - - for _ in {1..60} - do - if ! pkill -f "clickhouse-server" && ! kill -- "$server_pid" ; then break ; fi - sleep 1 - done - - if kill -0 -- "$server_pid" - then - pstree -apgT - jobs - echo "Failed to kill the ClickHouse server pid '$server_pid'" - return 1 - fi - - server_pid=none -} - function start_server { set -m # Spawn server in its own process groups + local opts=( --config-file "$FASTTEST_DATA/config.xml" + --pid-file "$FASTTEST_DATA/clickhouse-server.pid" -- --path "$FASTTEST_DATA" --user_files_path "$FASTTEST_DATA/user_files" @@ -76,40 +51,22 @@ function start_server --keeper_server.storage_path "$FASTTEST_DATA/coordination" ) clickhouse-server "${opts[@]}" &>> "$FASTTEST_OUTPUT/server.log" & - server_pid=$! set +m - if [ "$server_pid" == "0" ] - then - echo "Failed to start ClickHouse server" - # Avoid zero PID because `kill` treats it as our process group PID. - server_pid="none" - return 1 - fi - - for _ in {1..60} - do - if clickhouse-client --query "select 1" || ! kill -0 -- "$server_pid" - then + for _ in {1..60}; do + if clickhouse-client --query "select 1"; then break fi sleep 1 done - if ! clickhouse-client --query "select 1" - then + if ! clickhouse-client --query "select 1"; then echo "Failed to wait until ClickHouse server starts." - server_pid="none" - return 1 - fi - - if ! kill -0 -- "$server_pid" - then - echo "Wrong clickhouse server started: PID '$server_pid' we started is not running, but '$(pgrep -f clickhouse-server)' is running" - server_pid="none" return 1 fi + local server_pid + server_pid="$(cat "$FASTTEST_DATA/clickhouse-server.pid")" echo "ClickHouse server pid '$server_pid' started and responded" } @@ -254,9 +211,6 @@ function run_tests clickhouse-server --version clickhouse-test --help - # Kill the server in case we are running locally and not in docker - stop_server ||: - start_server set +e @@ -284,6 +238,8 @@ function run_tests | ts '%Y-%m-%d %H:%M:%S' \ | tee "$FASTTEST_OUTPUT/test_result.txt" set -e + + clickhouse stop --pid-path "$FASTTEST_DATA" } case "$stage" in diff --git a/docker/test/fuzzer/run-fuzzer.sh b/docker/test/fuzzer/run-fuzzer.sh index 32799a669eb..f74760e3339 100755 --- a/docker/test/fuzzer/run-fuzzer.sh +++ b/docker/test/fuzzer/run-fuzzer.sh @@ -12,7 +12,7 @@ stage=${stage:-} script_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" echo "$script_dir" repo_dir=ch -BINARY_TO_DOWNLOAD=${BINARY_TO_DOWNLOAD:="clang-13_debug_none_bundled_unsplitted_disable_False_binary"} +BINARY_TO_DOWNLOAD=${BINARY_TO_DOWNLOAD:="clang-14_debug_none_bundled_unsplitted_disable_False_binary"} BINARY_URL_TO_DOWNLOAD=${BINARY_URL_TO_DOWNLOAD:="https://clickhouse-builds.s3.amazonaws.com/$PR_TO_TEST/$SHA_TO_TEST/clickhouse_build_check/$BINARY_TO_DOWNLOAD/clickhouse"} function clone @@ -125,16 +125,7 @@ function filter_exists_and_template function stop_server { clickhouse-client --query "select elapsed, query from system.processes" ||: - killall clickhouse-server ||: - for _ in {1..10} - do - if ! pgrep -f clickhouse-server - then - break - fi - sleep 1 - done - killall -9 clickhouse-server ||: + clickhouse stop # Debug. date @@ -159,10 +150,12 @@ function fuzz NEW_TESTS_OPT="${NEW_TESTS_OPT:-}" fi + mkdir -p /var/run/clickhouse-server + # interferes with gdb export CLICKHOUSE_WATCHDOG_ENABLE=0 # NOTE: we use process substitution here to preserve keep $! as a pid of clickhouse-server - clickhouse-server --config-file db/config.xml -- --path db > >(tail -100000 > server.log) 2>&1 & + clickhouse-server --config-file db/config.xml --pid-file /var/run/clickhouse-server/clickhouse-server.pid -- --path db > >(tail -100000 > server.log) 2>&1 & server_pid=$! kill -0 $server_pid @@ -355,22 +348,8 @@ fi cat > report.html < - @@ -410,6 +443,7 @@

     
+    

@@ -530,8 +564,13 @@ if (status === 200) { let json; try { json = JSON.parse(response); } catch (e) {} + if (json !== undefined && json.statistics !== undefined) { renderResult(json); + } else if (Array.isArray(json) && json.length == 2 && + Array.isArray(json[0]) && Array.isArray(json[1]) && json[0].length > 1 && json[0].length == json[1].length) { + /// If user requested FORMAT JSONCompactColumns, we will render it as a chart. + renderChart(json); } else { renderUnparsedResult(response); } @@ -578,30 +617,27 @@ } } + function clearElement(id) + { + let elem = document.getElementById(id); + while (elem.firstChild) { + elem.removeChild(elem.lastChild); + } + elem.style.display = 'none'; + } + function clear() { - let table = document.getElementById('data-table'); - while (table.firstChild) { - table.removeChild(table.lastChild); - } - - let graph = document.getElementById('graph'); - while (graph.firstChild) { - graph.removeChild(graph.lastChild); - } - graph.style.display = 'none'; - - document.getElementById('data-unparsed').innerText = ''; - document.getElementById('data-unparsed').style.display = 'none'; - - document.getElementById('error').innerText = ''; - document.getElementById('error').style.display = 'none'; + clearElement('data-table'); + clearElement('graph'); + clearElement('chart'); + clearElement('data-unparsed'); + clearElement('error'); + clearElement('hourglass'); + document.getElementById('check-mark').innerText = ''; + document.getElementById('hourglass').innerText = ''; document.getElementById('stats').innerText = ''; - - document.getElementById('hourglass').style.display = 'none'; - document.getElementById('check-mark').style.display = 'none'; - document.getElementById('logo-container').style.display = 'block'; } @@ -738,6 +774,7 @@ } let table = document.getElementById('data-table'); table.appendChild(tbody); + table.style.display = 'table'; } function renderTable(response) @@ -792,6 +829,7 @@ let table = document.getElementById('data-table'); table.appendChild(thead); table.appendChild(tbody); + table.style.display = 'table'; } /// A function to render raw data when non-default format is specified. @@ -873,16 +911,80 @@ svg.style.height = graph.graph().height; } - function setColorTheme(theme) { - window.localStorage.setItem('theme', theme); - document.documentElement.setAttribute('data-theme', theme); + let load_uplot_promise; + function loadUplot() { + if (load_uplot_promise) { return load_uplot_promise; } + load_uplot_promise = loadJS('https://cdn.jsdelivr.net/npm/uplot@1.6.21/dist/uPlot.iife.min.js', + 'sha384-TwdJPnTsKP6pnvFZZKda0WJCXpjcHCa7MYHmjrYDu6rsEsb/UnFdoL0phS5ODqTA'); + return load_uplot_promise; } + let uplot; + async function renderChart(json) + { + await loadUplot(); + clear(); + + let chart = document.getElementById('chart'); + chart.style.display = 'block'; + + let paths = uPlot.paths.stepped({align: 1}); + + const [line_color, fill_color, grid_color, axes_color] = theme == 'light' + ? ["#F80", "#FED", "#c7d0d9", "#2c3235"] + : ["#888", "#045", "#2c3235", "#c7d0d9"]; + + const opts = { + width: chart.clientWidth, + height: chart.clientHeight, + scales: { x: { time: json[0][0] > 1000000000 && json[0][0] < 2000000000 } }, + axes: [ { stroke: axes_color, + grid: { width: 1 / devicePixelRatio, stroke: grid_color }, + ticks: { width: 1 / devicePixelRatio, stroke: grid_color } }, + { stroke: axes_color, + grid: { width: 1 / devicePixelRatio, stroke: grid_color }, + ticks: { width: 1 / devicePixelRatio, stroke: grid_color } } ], + series: [ { label: "x" }, + { label: "y", stroke: line_color, fill: fill_color, + drawStyle: 0, lineInterpolation: 1, paths } ], + padding: [ null, null, null, (Math.ceil(Math.log10(Math.max(...json[1]))) + Math.floor(Math.log10(Math.max(...json[1])) / 3)) * 6 ], + }; + + uplot = new uPlot(opts, json, chart); + } + + function resizeChart() { + if (uplot) { + let chart = document.getElementById('chart'); + uplot.setSize({ width: chart.clientWidth, height: chart.clientHeight }); + } + } + + function redrawChart() { + if (uplot && document.getElementById('chart').style.display == 'block') { + renderChart(uplot.data); + } + } + + new ResizeObserver(resizeChart).observe(document.getElementById('chart')); + /// First we check if theme is set via the 'theme' GET parameter, if not, we check localStorage, otherwise we check OS preference. let theme = current_url.searchParams.get('theme'); if (['dark', 'light'].indexOf(theme) === -1) { theme = window.localStorage.getItem('theme'); } + if (!theme) { + theme = 'light'; + } + + function setColorTheme(new_theme, update_preference) { + theme = new_theme; + if (update_preference) { + window.localStorage.setItem('theme', theme); + } + document.documentElement.setAttribute('data-theme', theme); + redrawChart(); + } if (theme) { document.documentElement.setAttribute('data-theme', theme); @@ -890,26 +992,21 @@ /// Obtain system-level user preference const media_query_list = window.matchMedia('(prefers-color-scheme: dark)'); if (media_query_list.matches) { - /// Set without saving to localstorage - document.documentElement.setAttribute('data-theme', 'dark'); + setColorTheme('dark'); } /// There is a rumor that on some computers, the theme is changing automatically on day/night. media_query_list.addEventListener('change', function(e) { - if (e.matches) { - document.documentElement.setAttribute('data-theme', 'dark'); - } else { - document.documentElement.setAttribute('data-theme', 'light'); - } + setColorTheme(e.matches ? 'dark' : 'light'); }); } document.getElementById('toggle-light').onclick = function() { - setColorTheme('light'); + setColorTheme('light', true); } document.getElementById('toggle-dark').onclick = function() { - setColorTheme('dark'); + setColorTheme('dark', true); } diff --git a/src/Access/AccessBackup.cpp b/src/Access/AccessBackup.cpp new file mode 100644 index 00000000000..bd1344a6f14 --- /dev/null +++ b/src/Access/AccessBackup.cpp @@ -0,0 +1,373 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace fs = std::filesystem; + + +namespace DB +{ + +namespace ErrorCodes +{ + extern const int CANNOT_RESTORE_TABLE; + extern const int LOGICAL_ERROR; +} + + +namespace +{ + /// Represents a list of access entities as they're stored in a backup. + struct AccessEntitiesInBackup + { + std::unordered_map entities; + std::unordered_map> dependencies; + + BackupEntryPtr toBackupEntry() const + { + WriteBufferFromOwnString buf; + + for (const auto & [id, entity] : entities) + { + writeText(id, buf); + writeChar('\t', buf); + writeText(entity->getTypeInfo().name, buf); + writeChar('\t', buf); + writeText(entity->getName(), buf); + writeChar('\n', buf); + writeText(serializeAccessEntity(*entity), buf); + writeChar('\n', buf); + } + + if (!dependencies.empty()) + { + writeText("DEPENDENCIES\n", buf); + for (const auto & [id, name_and_type] : dependencies) + { + writeText(id, buf); + writeChar('\t', buf); + writeText(AccessEntityTypeInfo::get(name_and_type.second).name, buf); + writeChar('\t', buf); + writeText(name_and_type.first, buf); + writeChar('\n', buf); + } + } + + return std::make_shared(buf.str()); + } + + static AccessEntitiesInBackup fromBackupEntry(const IBackupEntry & backup_entry, const String & file_path) + { + try + { + AccessEntitiesInBackup res; + std::unique_ptr buf = backup_entry.getReadBuffer(); + + bool dependencies_found = false; + + while (!buf->eof()) + { + String line; + readStringUntilNewlineInto(line, *buf); + buf->ignore(); + if (line == "DEPENDENCIES") + { + dependencies_found = true; + break; + } + + size_t id_endpos = line.find('\t'); + String id_as_string = line.substr(0, id_endpos); + UUID id = parse(line); + line.clear(); + + String queries; + while (!buf->eof()) + { + String query; + readStringUntilNewlineInto(query, *buf); + buf->ignore(); + if (query.empty()) + break; + if (!queries.empty()) + queries.append("\n"); + queries.append(query); + } + + AccessEntityPtr entity = deserializeAccessEntity(queries); + res.entities.emplace(id, entity); + } + + if (dependencies_found) + { + while (!buf->eof()) + { + String id_as_string; + readStringInto(id_as_string, *buf); + buf->ignore(); + UUID id = parse(id_as_string); + + String type_as_string; + readStringInto(type_as_string, *buf); + buf->ignore(); + AccessEntityType type = AccessEntityTypeInfo::parseType(type_as_string); + + String name; + readStringInto(name, *buf); + buf->ignore(); + + if (!res.entities.contains(id)) + res.dependencies.emplace(id, std::pair{name, type}); + } + } + + return res; + } + catch (Exception & e) + { + e.addMessage("While parsing " + file_path + " from backup"); + throw; + } + } + }; + + std::vector findDependencies(const std::vector> & entities) + { + std::vector res; + for (const auto & entity : entities | boost::adaptors::map_values) + insertAtEnd(res, entity->findDependencies()); + + /// Remove duplicates in the list of dependencies (some entities can refer to other entities). + ::sort(res.begin(), res.end()); + res.erase(std::unique(res.begin(), res.end()), res.end()); + for (const auto & id : entities | boost::adaptors::map_keys) + { + auto it = std::lower_bound(res.begin(), res.end(), id); + if ((it != res.end()) && (*it == id)) + res.erase(it); + } + return res; + } + + std::unordered_map> readDependenciesNamesAndTypes(const std::vector & dependencies, const AccessControl & access_control) + { + std::unordered_map> res; + for (const auto & id : dependencies) + { + if (auto name_and_type = access_control.tryReadNameWithType(id)) + res.emplace(id, name_and_type.value()); + } + return res; + } + + std::unordered_map resolveDependencies(const std::unordered_map> & dependencies, const AccessControl & access_control, bool allow_unresolved_dependencies) + { + std::unordered_map old_to_new_ids; + for (const auto & [id, name_and_type] : dependencies) + { + std::optional new_id; + if (allow_unresolved_dependencies) + new_id = access_control.find(name_and_type.second, name_and_type.first); + else + new_id = access_control.getID(name_and_type.second, name_and_type.first); + if (new_id) + old_to_new_ids.emplace(id, *new_id); + } + return old_to_new_ids; + } + + void generateRandomIDs(std::vector> & entities, std::unordered_map & old_to_new_ids) + { + Poco::UUIDGenerator generator; + for (auto & [id, entity] : entities) + { + UUID new_id; + generator.createRandom().copyTo(reinterpret_cast(&new_id)); + old_to_new_ids.emplace(id, new_id); + id = new_id; + } + } + + void replaceDependencies(std::vector> & entities, const std::unordered_map & old_to_new_ids) + { + for (auto & entity : entities | boost::adaptors::map_values) + { + bool need_replace = false; + for (const auto & dependency : entity->findDependencies()) + { + if (old_to_new_ids.contains(dependency)) + { + need_replace = true; + break; + } + } + + if (!need_replace) + continue; + + auto new_entity = entity->clone(); + new_entity->replaceDependencies(old_to_new_ids); + entity = new_entity; + } + } + + AccessRightsElements getRequiredAccessToRestore(const std::vector> & entities) + { + AccessRightsElements res; + for (const auto & entity : entities | boost::adaptors::map_values) + { + auto entity_type = entity->getType(); + switch (entity_type) + { + case User::TYPE: + { + const auto & user = typeid_cast(*entity); + res.emplace_back(AccessType::CREATE_USER); + auto elements = user.access.getElements(); + for (auto & element : elements) + { + if (element.is_partial_revoke) + continue; + element.grant_option = true; + res.emplace_back(element); + } + if (!user.granted_roles.isEmpty()) + res.emplace_back(AccessType::ROLE_ADMIN); + break; + } + + case Role::TYPE: + { + const auto & role = typeid_cast(*entity); + res.emplace_back(AccessType::CREATE_ROLE); + auto elements = role.access.getElements(); + for (auto & element : elements) + { + if (element.is_partial_revoke) + continue; + element.grant_option = true; + res.emplace_back(element); + } + if (!role.granted_roles.isEmpty()) + res.emplace_back(AccessType::ROLE_ADMIN); + break; + } + + case SettingsProfile::TYPE: + { + res.emplace_back(AccessType::CREATE_SETTINGS_PROFILE); + break; + } + + case RowPolicy::TYPE: + { + const auto & policy = typeid_cast(*entity); + res.emplace_back(AccessType::CREATE_ROW_POLICY, policy.getDatabase(), policy.getTableName()); + break; + } + + case Quota::TYPE: + { + res.emplace_back(AccessType::CREATE_QUOTA); + break; + } + + default: + throw Exception("Unknown type: " + toString(entity_type), ErrorCodes::LOGICAL_ERROR); + } + } + return res; + } +} + + +std::pair makeBackupEntryForAccess( + const std::vector> access_entities, + const String & data_path_in_backup, + size_t counter, + const AccessControl & access_control) +{ + auto dependencies = readDependenciesNamesAndTypes(findDependencies(access_entities), access_control); + AccessEntitiesInBackup ab; + boost::range::copy(access_entities, std::inserter(ab.entities, ab.entities.end())); + ab.dependencies = std::move(dependencies); + String filename = fmt::format("access{:02}.txt", counter + 1); /// access01.txt, access02.txt, ... + String file_path_in_backup = fs::path{data_path_in_backup} / filename; + return {file_path_in_backup, ab.toBackupEntry()}; +} + + +AccessRestorerFromBackup::AccessRestorerFromBackup( + const BackupPtr & backup_, const RestoreSettings & restore_settings_) + : backup(backup_), allow_unresolved_access_dependencies(restore_settings_.allow_unresolved_access_dependencies) +{ +} + +AccessRestorerFromBackup::~AccessRestorerFromBackup() = default; + +void AccessRestorerFromBackup::addDataPath(const String & data_path, const QualifiedTableName & table_name_for_logs) +{ + if (!data_paths.emplace(data_path).second) + return; + + fs::path data_path_in_backup_fs = data_path; + Strings filenames = backup->listFiles(data_path); + if (filenames.empty()) + return; + + for (const String & filename : filenames) + { + if (!filename.starts_with("access") || !filename.ends_with(".txt")) + throw Exception(ErrorCodes::CANNOT_RESTORE_TABLE, "Cannot restore table {}: File name {} doesn't match the wildcard \"access*.txt\"", + table_name_for_logs.getFullName(), String{data_path_in_backup_fs / filename}); + } + + ::sort(filenames.begin(), filenames.end()); + + for (const String & filename : filenames) + { + String filepath_in_backup = data_path_in_backup_fs / filename; + auto backup_entry = backup->readFile(filepath_in_backup); + auto ab = AccessEntitiesInBackup::fromBackupEntry(*backup_entry, filepath_in_backup); + + boost::range::copy(ab.entities, std::back_inserter(entities)); + boost::range::copy(ab.dependencies, std::inserter(dependencies, dependencies.end())); + } + + for (const auto & id : entities | boost::adaptors::map_keys) + dependencies.erase(id); +} + +AccessRightsElements AccessRestorerFromBackup::getRequiredAccess() const +{ + return getRequiredAccessToRestore(entities); +} + +std::vector> AccessRestorerFromBackup::getAccessEntities(const AccessControl & access_control) const +{ + auto new_entities = entities; + + auto old_to_new_ids = resolveDependencies(dependencies, access_control, allow_unresolved_access_dependencies); + generateRandomIDs(new_entities, old_to_new_ids); + replaceDependencies(new_entities, old_to_new_ids); + + return new_entities; +} + +} diff --git a/src/Access/AccessBackup.h b/src/Access/AccessBackup.h new file mode 100644 index 00000000000..74f889e2c00 --- /dev/null +++ b/src/Access/AccessBackup.h @@ -0,0 +1,55 @@ +#pragma once + +#include +#include +#include + + +namespace DB +{ +class AccessControl; +enum class AccessEntityType; +struct IAccessEntity; +using AccessEntityPtr = std::shared_ptr; +class AccessRightsElements; +class IBackup; +using BackupPtr = std::shared_ptr; +class IBackupEntry; +using BackupEntryPtr = std::shared_ptr; +struct RestoreSettings; +struct QualifiedTableName; + + +/// Makes a backup of access entities of a specified type. +std::pair makeBackupEntryForAccess( + const std::vector> access_entities, + const String & data_path_in_backup, + size_t counter, + const AccessControl & access_control); + + +/// Restores access entities from a backup. +class AccessRestorerFromBackup +{ +public: + AccessRestorerFromBackup(const BackupPtr & backup_, const RestoreSettings & restore_settings_); + ~AccessRestorerFromBackup(); + + /// Adds a data path to loads access entities from. + void addDataPath(const String & data_path, const QualifiedTableName & table_name_for_logs); + + /// Checks that the current user can do restoring. + AccessRightsElements getRequiredAccess() const; + + /// Inserts all access entities loaded from all the paths added by addDataPath(). + std::vector> getAccessEntities(const AccessControl & access_control) const; + +private: + BackupPtr backup; + bool allow_unresolved_access_dependencies = false; + std::vector> entities; + std::unordered_map> dependencies; + std::unordered_set data_paths; +}; + +} diff --git a/src/Access/AccessControl.cpp b/src/Access/AccessControl.cpp index 5cf283ba803..7152820b5bc 100644 --- a/src/Access/AccessControl.cpp +++ b/src/Access/AccessControl.cpp @@ -15,7 +15,11 @@ #include #include #include +#include +#include +#include #include +#include #include #include #include @@ -70,7 +74,7 @@ public: auto x = cache.get(params); if (x) { - if ((*x)->getUser()) + if ((*x)->tryGetUser()) return *x; /// No user, probably the user has been dropped while it was in the cache. cache.remove(params); @@ -130,7 +134,7 @@ public: } private: - Strings registered_prefixes; + Strings registered_prefixes TSA_GUARDED_BY(mutex); mutable std::mutex mutex; }; @@ -184,39 +188,25 @@ void AccessControl::setUsersConfig(const Poco::Util::AbstractConfiguration & use return; } } - addUsersConfigStorage(users_config_); + addUsersConfigStorage(UsersConfigAccessStorage::STORAGE_TYPE, users_config_, false); } -void AccessControl::addUsersConfigStorage(const Poco::Util::AbstractConfiguration & users_config_) +void AccessControl::addUsersConfigStorage(const String & storage_name_, const Poco::Util::AbstractConfiguration & users_config_, bool allow_backup_) { - addUsersConfigStorage(UsersConfigAccessStorage::STORAGE_TYPE, users_config_); -} - -void AccessControl::addUsersConfigStorage(const String & storage_name_, const Poco::Util::AbstractConfiguration & users_config_) -{ - auto new_storage = std::make_shared(storage_name_, *this); + auto new_storage = std::make_shared(storage_name_, *this, allow_backup_); new_storage->setConfig(users_config_); addStorage(new_storage); LOG_DEBUG(getLogger(), "Added {} access storage '{}', path: {}", String(new_storage->getStorageType()), new_storage->getStorageName(), new_storage->getPath()); } -void AccessControl::addUsersConfigStorage( - const String & users_config_path_, - const String & include_from_path_, - const String & preprocessed_dir_, - const zkutil::GetZooKeeper & get_zookeeper_function_) -{ - addUsersConfigStorage( - UsersConfigAccessStorage::STORAGE_TYPE, users_config_path_, include_from_path_, preprocessed_dir_, get_zookeeper_function_); -} - void AccessControl::addUsersConfigStorage( const String & storage_name_, const String & users_config_path_, const String & include_from_path_, const String & preprocessed_dir_, - const zkutil::GetZooKeeper & get_zookeeper_function_) + const zkutil::GetZooKeeper & get_zookeeper_function_, + bool allow_backup_) { auto storages = getStoragesPtr(); for (const auto & storage : *storages) @@ -227,7 +217,7 @@ void AccessControl::addUsersConfigStorage( return; } } - auto new_storage = std::make_shared(storage_name_, *this); + auto new_storage = std::make_shared(storage_name_, *this, allow_backup_); new_storage->load(users_config_path_, include_from_path_, preprocessed_dir_, get_zookeeper_function_); addStorage(new_storage); LOG_DEBUG(getLogger(), "Added {} access storage '{}', path: {}", String(new_storage->getStorageType()), new_storage->getStorageName(), new_storage->getPath()); @@ -237,7 +227,8 @@ void AccessControl::addUsersConfigStorage( void AccessControl::addReplicatedStorage( const String & storage_name_, const String & zookeeper_path_, - const zkutil::GetZooKeeper & get_zookeeper_function_) + const zkutil::GetZooKeeper & get_zookeeper_function_, + bool allow_backup_) { auto storages = getStoragesPtr(); for (const auto & storage : *storages) @@ -245,17 +236,12 @@ void AccessControl::addReplicatedStorage( if (auto replicated_storage = typeid_cast>(storage)) return; } - auto new_storage = std::make_shared(storage_name_, zookeeper_path_, get_zookeeper_function_, *changes_notifier); + auto new_storage = std::make_shared(storage_name_, zookeeper_path_, get_zookeeper_function_, *changes_notifier, allow_backup_); addStorage(new_storage); LOG_DEBUG(getLogger(), "Added {} access storage '{}'", String(new_storage->getStorageType()), new_storage->getStorageName()); } -void AccessControl::addDiskStorage(const String & directory_, bool readonly_) -{ - addDiskStorage(DiskAccessStorage::STORAGE_TYPE, directory_, readonly_); -} - -void AccessControl::addDiskStorage(const String & storage_name_, const String & directory_, bool readonly_) +void AccessControl::addDiskStorage(const String & storage_name_, const String & directory_, bool readonly_, bool allow_backup_) { auto storages = getStoragesPtr(); for (const auto & storage : *storages) @@ -270,13 +256,13 @@ void AccessControl::addDiskStorage(const String & storage_name_, const String & } } } - auto new_storage = std::make_shared(storage_name_, directory_, readonly_, *changes_notifier); + auto new_storage = std::make_shared(storage_name_, directory_, *changes_notifier, readonly_, allow_backup_); addStorage(new_storage); LOG_DEBUG(getLogger(), "Added {} access storage '{}', path: {}", String(new_storage->getStorageType()), new_storage->getStorageName(), new_storage->getPath()); } -void AccessControl::addMemoryStorage(const String & storage_name_) +void AccessControl::addMemoryStorage(const String & storage_name_, bool allow_backup_) { auto storages = getStoragesPtr(); for (const auto & storage : *storages) @@ -284,7 +270,7 @@ void AccessControl::addMemoryStorage(const String & storage_name_) if (auto memory_storage = typeid_cast>(storage)) return; } - auto new_storage = std::make_shared(storage_name_, *changes_notifier); + auto new_storage = std::make_shared(storage_name_, *changes_notifier, allow_backup_); addStorage(new_storage); LOG_DEBUG(getLogger(), "Added {} access storage '{}'", String(new_storage->getStorageType()), new_storage->getStorageName()); } @@ -327,20 +313,23 @@ void AccessControl::addStoragesFromUserDirectoriesConfig( if (type == MemoryAccessStorage::STORAGE_TYPE) { - addMemoryStorage(name); + bool allow_backup = config.getBool(prefix + ".allow_backup", true); + addMemoryStorage(name, allow_backup); } else if (type == UsersConfigAccessStorage::STORAGE_TYPE) { String path = config.getString(prefix + ".path"); if (std::filesystem::path{path}.is_relative() && std::filesystem::exists(config_dir + path)) path = config_dir + path; - addUsersConfigStorage(name, path, include_from_path, dbms_dir, get_zookeeper_function); + bool allow_backup = config.getBool(prefix + ".allow_backup", false); /// We don't backup users.xml by default. + addUsersConfigStorage(name, path, include_from_path, dbms_dir, get_zookeeper_function, allow_backup); } else if (type == DiskAccessStorage::STORAGE_TYPE) { String path = config.getString(prefix + ".path"); bool readonly = config.getBool(prefix + ".readonly", false); - addDiskStorage(name, path, readonly); + bool allow_backup = config.getBool(prefix + ".allow_backup", true); + addDiskStorage(name, path, readonly, allow_backup); } else if (type == LDAPAccessStorage::STORAGE_TYPE) { @@ -349,7 +338,8 @@ void AccessControl::addStoragesFromUserDirectoriesConfig( else if (type == ReplicatedAccessStorage::STORAGE_TYPE) { String zookeeper_path = config.getString(prefix + ".zookeeper_path"); - addReplicatedStorage(name, zookeeper_path, get_zookeeper_function); + bool allow_backup = config.getBool(prefix + ".allow_backup", true); + addReplicatedStorage(name, zookeeper_path, get_zookeeper_function, allow_backup); } else throw Exception("Unknown storage type '" + type + "' at " + prefix + " in config", ErrorCodes::UNKNOWN_ELEMENT_IN_CONFIG); @@ -383,12 +373,18 @@ void AccessControl::addStoragesFromMainConfig( if (users_config_path != config_path) checkForUsersNotInMainConfig(config, config_path, users_config_path, getLogger()); - addUsersConfigStorage(users_config_path, include_from_path, dbms_dir, get_zookeeper_function); + addUsersConfigStorage( + UsersConfigAccessStorage::STORAGE_TYPE, + users_config_path, + include_from_path, + dbms_dir, + get_zookeeper_function, + /* allow_backup= */ false); } String disk_storage_dir = config.getString("access_control_path", ""); if (!disk_storage_dir.empty()) - addDiskStorage(disk_storage_dir); + addDiskStorage(DiskAccessStorage::STORAGE_TYPE, disk_storage_dir, /* readonly= */ false, /* allow_backup= */ true); if (has_user_directories) addStoragesFromUserDirectoriesConfig(config, "user_directories", config_dir, dbms_dir, include_from_path, get_zookeeper_function); @@ -463,6 +459,12 @@ UUID AccessControl::authenticate(const Credentials & credentials, const Poco::Ne } } +void AccessControl::restoreFromBackup(RestorerFromBackup & restorer) +{ + MultipleAccessStorage::restoreFromBackup(restorer); + changes_notifier->sendNotifications(); +} + void AccessControl::setExternalAuthenticatorsConfig(const Poco::Util::AbstractConfiguration & config) { external_authenticators->setConfiguration(config, getLogger()); diff --git a/src/Access/AccessControl.h b/src/Access/AccessControl.h index cbc71241316..22ff0a488f7 100644 --- a/src/Access/AccessControl.h +++ b/src/Access/AccessControl.h @@ -60,37 +60,31 @@ public: void setUsersConfig(const Poco::Util::AbstractConfiguration & users_config_); /// Adds UsersConfigAccessStorage. - void addUsersConfigStorage(const Poco::Util::AbstractConfiguration & users_config_); - void addUsersConfigStorage(const String & storage_name_, - const Poco::Util::AbstractConfiguration & users_config_); - - void addUsersConfigStorage(const String & users_config_path_, - const String & include_from_path_, - const String & preprocessed_dir_, - const zkutil::GetZooKeeper & get_zookeeper_function_ = {}); + const Poco::Util::AbstractConfiguration & users_config_, + bool allow_backup_); void addUsersConfigStorage(const String & storage_name_, const String & users_config_path_, const String & include_from_path_, const String & preprocessed_dir_, - const zkutil::GetZooKeeper & get_zookeeper_function_ = {}); + const zkutil::GetZooKeeper & get_zookeeper_function_, + bool allow_backup_); /// Loads access entities from the directory on the local disk. /// Use that directory to keep created users/roles/etc. - void addDiskStorage(const String & directory_, bool readonly_ = false); - void addDiskStorage(const String & storage_name_, const String & directory_, bool readonly_ = false); + void addDiskStorage(const String & storage_name_, const String & directory_, bool readonly_, bool allow_backup_); /// Adds MemoryAccessStorage which keeps access entities in memory. - void addMemoryStorage(); - void addMemoryStorage(const String & storage_name_); + void addMemoryStorage(const String & storage_name_, bool allow_backup_); /// Adds LDAPAccessStorage which allows querying remote LDAP server for user info. void addLDAPStorage(const String & storage_name_, const Poco::Util::AbstractConfiguration & config_, const String & prefix_); void addReplicatedStorage(const String & storage_name, const String & zookeeper_path, - const zkutil::GetZooKeeper & get_zookeeper_function); + const zkutil::GetZooKeeper & get_zookeeper_function, + bool allow_backup); /// Adds storages from config. void addStoragesFromUserDirectoriesConfig(const Poco::Util::AbstractConfiguration & config, @@ -123,6 +117,10 @@ public: scope_guard subscribeForChanges(const std::vector & ids, const OnChangedHandler & handler) const; UUID authenticate(const Credentials & credentials, const Poco::Net::IPAddress & address) const; + + /// Makes a backup of access entities. + void restoreFromBackup(RestorerFromBackup & restorer) override; + void setExternalAuthenticatorsConfig(const Poco::Util::AbstractConfiguration & config); /// Sets the default profile's name. diff --git a/src/Access/AccessRights.cpp b/src/Access/AccessRights.cpp index c3598df048b..7c3139dbb0f 100644 --- a/src/Access/AccessRights.cpp +++ b/src/Access/AccessRights.cpp @@ -736,6 +736,18 @@ AccessRights::AccessRights(const AccessFlags & access) } +AccessRights::AccessRights(const AccessRightsElement & element) +{ + grant(element); +} + + +AccessRights::AccessRights(const AccessRightsElements & elements) +{ + grant(elements); +} + + bool AccessRights::isEmpty() const { return !root && !root_with_grant_option; diff --git a/src/Access/AccessRights.h b/src/Access/AccessRights.h index ef5995ad9a5..b7499d69f70 100644 --- a/src/Access/AccessRights.h +++ b/src/Access/AccessRights.h @@ -16,6 +16,9 @@ class AccessRights public: AccessRights(); explicit AccessRights(const AccessFlags & access); + explicit AccessRights(const AccessRightsElement & element); + explicit AccessRights(const AccessRightsElements & elements); + ~AccessRights(); AccessRights(const AccessRights & src); AccessRights & operator =(const AccessRights & src); diff --git a/src/Access/CMakeLists.txt b/src/Access/CMakeLists.txt index e69de29bb2d..83bbe418246 100644 --- a/src/Access/CMakeLists.txt +++ b/src/Access/CMakeLists.txt @@ -0,0 +1,3 @@ +if (ENABLE_EXAMPLES) + add_subdirectory(examples) +endif() diff --git a/src/Access/Common/AccessEntityType.cpp b/src/Access/Common/AccessEntityType.cpp index b9c618a9fc0..9277961fdae 100644 --- a/src/Access/Common/AccessEntityType.cpp +++ b/src/Access/Common/AccessEntityType.cpp @@ -1,7 +1,9 @@ #include #include #include +#include #include +#include #include @@ -15,6 +17,7 @@ namespace ErrorCodes extern const int UNKNOWN_QUOTA; extern const int THERE_IS_NO_PROFILE; extern const int LOGICAL_ERROR; + extern const int BAD_ARGUMENTS; } @@ -83,4 +86,15 @@ const AccessEntityTypeInfo & AccessEntityTypeInfo::get(AccessEntityType type_) throw Exception("Unknown type: " + std::to_string(static_cast(type_)), ErrorCodes::LOGICAL_ERROR); } +AccessEntityType AccessEntityTypeInfo::parseType(const String & name_) +{ + for (auto type : collections::range(AccessEntityType::MAX)) + { + const auto & info = get(type); + if (boost::iequals(info.name, name_)) + return type; + } + throw Exception(ErrorCodes::BAD_ARGUMENTS, "Unknown type: {}", name_); +} + } diff --git a/src/Access/Common/AccessEntityType.h b/src/Access/Common/AccessEntityType.h index 44caeecb37a..12df7cf5538 100644 --- a/src/Access/Common/AccessEntityType.h +++ b/src/Access/Common/AccessEntityType.h @@ -35,6 +35,7 @@ struct AccessEntityTypeInfo String formatEntityNameWithType(const String & entity_name) const; static const AccessEntityTypeInfo & get(AccessEntityType type_); + static AccessEntityType parseType(const String & name_); }; } diff --git a/src/Access/Common/AccessType.h b/src/Access/Common/AccessType.h index d5233951403..38e006f18e7 100644 --- a/src/Access/Common/AccessType.h +++ b/src/Access/Common/AccessType.h @@ -25,6 +25,7 @@ enum class AccessType M(SHOW_DICTIONARIES, "", DICTIONARY, SHOW) /* allows to execute SHOW DICTIONARIES, SHOW CREATE DICTIONARY, EXISTS ; implicitly enabled by any grant on the dictionary */\ M(SHOW, "", GROUP, ALL) /* allows to execute SHOW, USE, EXISTS, CHECK, DESCRIBE */\ + M(SHOW_CACHES, "", GROUP, ALL) \ \ M(SELECT, "", COLUMN, ALL) \ M(INSERT, "", COLUMN, ALL) \ @@ -99,6 +100,7 @@ enum class AccessType \ M(TRUNCATE, "TRUNCATE TABLE", TABLE, ALL) \ M(OPTIMIZE, "OPTIMIZE TABLE", TABLE, ALL) \ + M(BACKUP, "", TABLE, ALL) /* allows to backup tables */\ \ M(KILL_QUERY, "", GLOBAL, ALL) /* allows to kill a query started by another user (anyone can kill his own queries) */\ @@ -137,6 +139,7 @@ enum class AccessType M(SYSTEM_DROP_UNCOMPRESSED_CACHE, "SYSTEM DROP UNCOMPRESSED, DROP UNCOMPRESSED CACHE, DROP UNCOMPRESSED", GLOBAL, SYSTEM_DROP_CACHE) \ M(SYSTEM_DROP_MMAP_CACHE, "SYSTEM DROP MMAP, DROP MMAP CACHE, DROP MMAP", GLOBAL, SYSTEM_DROP_CACHE) \ M(SYSTEM_DROP_COMPILED_EXPRESSION_CACHE, "SYSTEM DROP COMPILED EXPRESSION, DROP COMPILED EXPRESSION CACHE, DROP COMPILED EXPRESSIONS", GLOBAL, SYSTEM_DROP_CACHE) \ + M(SYSTEM_DROP_FILESYSTEM_CACHE, "SYSTEM DROP FILESYSTEM CACHE, DROP FILESYSTEM CACHE", GLOBAL, SYSTEM_DROP_CACHE) \ M(SYSTEM_DROP_CACHE, "DROP CACHE", GROUP, SYSTEM) \ M(SYSTEM_RELOAD_CONFIG, "RELOAD CONFIG", GLOBAL, SYSTEM_RELOAD) \ M(SYSTEM_RELOAD_SYMBOLS, "RELOAD SYMBOLS", GLOBAL, SYSTEM_RELOAD) \ @@ -164,6 +167,7 @@ enum class AccessType M(SYSTEM_FLUSH_LOGS, "FLUSH LOGS", GLOBAL, SYSTEM_FLUSH) \ M(SYSTEM_FLUSH, "", GROUP, SYSTEM) \ M(SYSTEM_THREAD_FUZZER, "SYSTEM START THREAD FUZZER, SYSTEM STOP THREAD FUZZER, START THREAD FUZZER, STOP THREAD FUZZER", GLOBAL, SYSTEM) \ + M(SYSTEM_UNFREEZE, "SYSTEM UNFREEZE", GLOBAL, SYSTEM) \ M(SYSTEM, "", GROUP, ALL) /* allows to execute SYSTEM {SHUTDOWN|RELOAD CONFIG|...} */ \ \ M(dictGet, "dictHas, dictGetHierarchy, dictIsIn", DICTIONARY, ALL) /* allows to execute functions dictGet(), dictHas(), dictGetHierarchy(), dictIsIn() */\ diff --git a/src/Access/ContextAccess.cpp b/src/Access/ContextAccess.cpp index 46fdba9d65e..995a46d07ca 100644 --- a/src/Access/ContextAccess.cpp +++ b/src/Access/ContextAccess.cpp @@ -5,6 +5,7 @@ #include #include #include +#include #include #include #include @@ -29,6 +30,7 @@ namespace ErrorCodes extern const int QUERY_IS_PROHIBITED; extern const int FUNCTION_NOT_ALLOWED; extern const int UNKNOWN_USER; + extern const int LOGICAL_ERROR; } @@ -118,6 +120,7 @@ namespace AccessRights res = access; res.modifyFlags(modifier); + res.modifyFlagsWithGrantOption(modifier); /// Anyone has access to the "system" and "information_schema" database. res.grant(AccessType::SELECT, DatabaseCatalog::SYSTEM_DATABASE); @@ -187,6 +190,7 @@ void ContextAccess::setUser(const UserPtr & user_) const if (!user) { /// User has been dropped. + user_was_dropped = true; subscription_for_user_change = {}; subscription_for_roles_changes = {}; access = nullptr; @@ -261,6 +265,20 @@ void ContextAccess::calculateAccessRights() const UserPtr ContextAccess::getUser() const +{ + auto res = tryGetUser(); + + if (likely(res)) + return res; + + if (user_was_dropped) + throw Exception(ErrorCodes::UNKNOWN_USER, "User has been dropped"); + + throw Exception(ErrorCodes::LOGICAL_ERROR, "No user in current context, it's a bug"); +} + + +UserPtr ContextAccess::tryGetUser() const { std::lock_guard lock{mutex}; return user; @@ -394,15 +412,18 @@ bool ContextAccess::checkAccessImplHelper(AccessFlags flags, const Args &... arg return false; }; + if (is_full_access) + return access_granted(); + + if (user_was_dropped) + return access_denied("User has been dropped", ErrorCodes::UNKNOWN_USER); + if (flags & AccessType::CLUSTER && !access_control->doesOnClusterQueriesRequireClusterGrant()) flags &= ~AccessType::CLUSTER; - if (!flags || is_full_access) + if (!flags) return access_granted(); - if (!getUser()) - return access_denied("User has been dropped", ErrorCodes::UNKNOWN_USER); - /// Access to temporary tables is controlled in an unusual way, not like normal tables. /// Creating of temporary tables is controlled by AccessType::CREATE_TEMPORARY_TABLES grant, /// and other grants are considered as always given. @@ -445,10 +466,11 @@ bool ContextAccess::checkAccessImplHelper(AccessFlags flags, const Args &... arg const AccessFlags dictionary_ddl = AccessType::CREATE_DICTIONARY | AccessType::DROP_DICTIONARY; const AccessFlags function_ddl = AccessType::CREATE_FUNCTION | AccessType::DROP_FUNCTION; const AccessFlags table_and_dictionary_ddl = table_ddl | dictionary_ddl; + const AccessFlags table_and_dictionary_and_function_ddl = table_ddl | dictionary_ddl | function_ddl; const AccessFlags write_table_access = AccessType::INSERT | AccessType::OPTIMIZE; const AccessFlags write_dcl_access = AccessType::ACCESS_MANAGEMENT - AccessType::SHOW_ACCESS; - const AccessFlags not_readonly_flags = write_table_access | table_and_dictionary_ddl | write_dcl_access | AccessType::SYSTEM | AccessType::KILL_QUERY; + const AccessFlags not_readonly_flags = write_table_access | table_and_dictionary_and_function_ddl | write_dcl_access | AccessType::SYSTEM | AccessType::KILL_QUERY; const AccessFlags not_readonly_1_flags = AccessType::CREATE_TEMPORARY_TABLE; const AccessFlags ddl_flags = table_ddl | dictionary_ddl | function_ddl; @@ -581,9 +603,6 @@ void ContextAccess::checkGrantOption(const AccessRightsElements & elements) cons template bool ContextAccess::checkAdminOptionImplHelper(const Container & role_ids, const GetNameFunction & get_name_function) const { - if (!std::size(role_ids) || is_full_access) - return true; - auto show_error = [this](const String & msg, int error_code [[maybe_unused]]) { UNUSED(this); @@ -591,12 +610,18 @@ bool ContextAccess::checkAdminOptionImplHelper(const Container & role_ids, const throw Exception(getUserName() + ": " + msg, error_code); }; - if (!getUser()) + if (is_full_access) + return true; + + if (user_was_dropped) { show_error("User has been dropped", ErrorCodes::UNKNOWN_USER); return false; } + if (!std::size(role_ids)) + return true; + if (isGranted(AccessType::ROLE_ADMIN)) return true; @@ -681,4 +706,34 @@ void ContextAccess::checkAdminOption(const std::vector & role_ids) const { void ContextAccess::checkAdminOption(const std::vector & role_ids, const Strings & names_of_roles) const { checkAdminOptionImpl(role_ids, names_of_roles); } void ContextAccess::checkAdminOption(const std::vector & role_ids, const std::unordered_map & names_of_roles) const { checkAdminOptionImpl(role_ids, names_of_roles); } + +void ContextAccess::checkGranteeIsAllowed(const UUID & grantee_id, const IAccessEntity & grantee) const +{ + if (is_full_access) + return; + + auto current_user = getUser(); + if (!current_user->grantees.match(grantee_id)) + throw Exception(grantee.formatTypeWithName() + " is not allowed as grantee", ErrorCodes::ACCESS_DENIED); +} + +void ContextAccess::checkGranteesAreAllowed(const std::vector & grantee_ids) const +{ + if (is_full_access) + return; + + auto current_user = getUser(); + if (current_user->grantees == RolesOrUsersSet::AllTag{}) + return; + + for (const auto & id : grantee_ids) + { + auto entity = access_control->tryRead(id); + if (auto role_entity = typeid_cast(entity)) + checkGranteeIsAllowed(id, *role_entity); + else if (auto user_entity = typeid_cast(entity)) + checkGranteeIsAllowed(id, *user_entity); + } +} + } diff --git a/src/Access/ContextAccess.h b/src/Access/ContextAccess.h index f1c215a4029..729574898aa 100644 --- a/src/Access/ContextAccess.h +++ b/src/Access/ContextAccess.h @@ -28,6 +28,7 @@ struct SettingsProfilesInfo; class SettingsChanges; class AccessControl; class IAST; +struct IAccessEntity; using ASTPtr = std::shared_ptr; @@ -68,8 +69,10 @@ public: using Params = ContextAccessParams; const Params & getParams() const { return params; } - /// Returns the current user. The function can return nullptr. + /// Returns the current user. Throws if user is nullptr. UserPtr getUser() const; + /// Same as above, but can return nullptr. + UserPtr tryGetUser() const; String getUserName() const; std::optional getUserID() const { return getParams().user_id; } @@ -151,6 +154,11 @@ public: bool hasAdminOption(const std::vector & role_ids, const Strings & names_of_roles) const; bool hasAdminOption(const std::vector & role_ids, const std::unordered_map & names_of_roles) const; + /// Checks if a grantee is allowed for the current user, throws an exception if not. + void checkGranteeIsAllowed(const UUID & grantee_id, const IAccessEntity & grantee) const; + /// Checks if grantees are allowed for the current user, throws an exception if not. + void checkGranteesAreAllowed(const std::vector & grantee_ids) const; + /// Makes an instance of ContextAccess which provides full access to everything /// without any limitations. This is used for the global context. static std::shared_ptr getFullAccess(); @@ -213,6 +221,7 @@ private: mutable Poco::Logger * trace_log = nullptr; mutable UserPtr user; mutable String user_name; + mutable bool user_was_dropped = false; mutable scope_guard subscription_for_user_change; mutable std::shared_ptr enabled_roles; mutable scope_guard subscription_for_roles_changes; diff --git a/src/Access/DiskAccessStorage.cpp b/src/Access/DiskAccessStorage.cpp index 57e09d40b35..994abc7b53a 100644 --- a/src/Access/DiskAccessStorage.cpp +++ b/src/Access/DiskAccessStorage.cpp @@ -1,6 +1,8 @@ #include #include #include +#include +#include #include #include #include @@ -152,24 +154,17 @@ namespace bool tryParseUUID(const String & str, UUID & id) { - try - { - id = parseFromString(str); - return true; - } - catch (...) - { - return false; - } + return tryParse(id, str); } } -DiskAccessStorage::DiskAccessStorage(const String & storage_name_, const String & directory_path_, bool readonly_, AccessChangesNotifier & changes_notifier_) +DiskAccessStorage::DiskAccessStorage(const String & storage_name_, const String & directory_path_, AccessChangesNotifier & changes_notifier_, bool readonly_, bool allow_backup_) : IAccessStorage(storage_name_), changes_notifier(changes_notifier_) { directory_path = makeDirectoryPathCanonical(directory_path_); readonly = readonly_; + backup_allowed = allow_backup_; std::error_code create_dir_error_code; std::filesystem::create_directories(directory_path, create_dir_error_code); @@ -457,7 +452,7 @@ AccessEntityPtr DiskAccessStorage::readImpl(const UUID & id, bool throw_if_not_e } -std::optional DiskAccessStorage::readNameImpl(const UUID & id, bool throw_if_not_exists) const +std::optional> DiskAccessStorage::readNameWithTypeImpl(const UUID & id, bool throw_if_not_exists) const { std::lock_guard lock{mutex}; auto it = entries_by_id.find(id); @@ -468,21 +463,27 @@ std::optional DiskAccessStorage::readNameImpl(const UUID & id, bool thro else return std::nullopt; } - return it->second.name; + return std::make_pair(it->second.name, it->second.type); } std::optional DiskAccessStorage::insertImpl(const AccessEntityPtr & new_entity, bool replace_if_exists, bool throw_if_exists) { UUID id = generateRandomID(); - std::lock_guard lock{mutex}; - if (insertNoLock(id, new_entity, replace_if_exists, throw_if_exists)) + if (insertWithID(id, new_entity, replace_if_exists, throw_if_exists)) return id; return std::nullopt; } +bool DiskAccessStorage::insertWithID(const UUID & id, const AccessEntityPtr & new_entity, bool replace_if_exists, bool throw_if_exists) +{ + std::lock_guard lock{mutex}; + return insertNoLock(id, new_entity, replace_if_exists, throw_if_exists); +} + + bool DiskAccessStorage::insertNoLock(const UUID & id, const AccessEntityPtr & new_entity, bool replace_if_exists, bool throw_if_exists) { const String & name = new_entity->getName(); @@ -649,4 +650,25 @@ void DiskAccessStorage::deleteAccessEntityOnDisk(const UUID & id) const throw Exception("Couldn't delete " + file_path, ErrorCodes::FILE_DOESNT_EXIST); } + +void DiskAccessStorage::restoreFromBackup(RestorerFromBackup & restorer) +{ + if (!isRestoreAllowed()) + throwRestoreNotAllowed(); + + auto entities = restorer.getAccessEntitiesToRestore(); + if (entities.empty()) + return; + + auto create_access = restorer.getRestoreSettings().create_access; + bool replace_if_exists = (create_access == RestoreAccessCreationMode::kReplace); + bool throw_if_exists = (create_access == RestoreAccessCreationMode::kCreate); + + restorer.addDataRestoreTask([this, entities = std::move(entities), replace_if_exists, throw_if_exists] + { + for (const auto & [id, entity] : entities) + insertWithID(id, entity, replace_if_exists, throw_if_exists); + }); +} + } diff --git a/src/Access/DiskAccessStorage.h b/src/Access/DiskAccessStorage.h index 7784a80e779..d3bd61ff353 100644 --- a/src/Access/DiskAccessStorage.h +++ b/src/Access/DiskAccessStorage.h @@ -15,7 +15,7 @@ class DiskAccessStorage : public IAccessStorage public: static constexpr char STORAGE_TYPE[] = "local directory"; - DiskAccessStorage(const String & storage_name_, const String & directory_path_, bool readonly_, AccessChangesNotifier & changes_notifier_); + DiskAccessStorage(const String & storage_name_, const String & directory_path_, AccessChangesNotifier & changes_notifier_, bool readonly_, bool allow_backup_); ~DiskAccessStorage() override; const char * getStorageType() const override { return STORAGE_TYPE; } @@ -29,11 +29,14 @@ public: bool exists(const UUID & id) const override; + bool isBackupAllowed() const override { return backup_allowed; } + void restoreFromBackup(RestorerFromBackup & restorer) override; + private: std::optional findImpl(AccessEntityType type, const String & name) const override; std::vector findAllImpl(AccessEntityType type) const override; AccessEntityPtr readImpl(const UUID & id, bool throw_if_not_exists) const override; - std::optional readNameImpl(const UUID & id, bool throw_if_not_exists) const override; + std::optional> readNameWithTypeImpl(const UUID & id, bool throw_if_not_exists) const override; std::optional insertImpl(const AccessEntityPtr & entity, bool replace_if_exists, bool throw_if_exists) override; bool removeImpl(const UUID & id, bool throw_if_not_exists) override; bool updateImpl(const UUID & id, const UpdateFunc & update_func, bool throw_if_not_exists) override; @@ -47,6 +50,7 @@ private: void listsWritingThreadFunc(); void stopListsWritingThread(); + bool insertWithID(const UUID & id, const AccessEntityPtr & new_entity, bool replace_if_exists, bool throw_if_exists); bool insertNoLock(const UUID & id, const AccessEntityPtr & new_entity, bool replace_if_exists, bool throw_if_exists); bool removeNoLock(const UUID & id, bool throw_if_not_exists); bool updateNoLock(const UUID & id, const UpdateFunc & update_func, bool throw_if_not_exists); @@ -65,7 +69,6 @@ private: }; String directory_path; - std::atomic readonly; std::unordered_map entries_by_id; std::unordered_map entries_by_name_and_type[static_cast(AccessEntityType::MAX)]; boost::container::flat_set types_of_lists_to_write; @@ -74,6 +77,8 @@ private: std::condition_variable lists_writing_thread_should_exit; /// Signals `lists_writing_thread` to exit. bool lists_writing_thread_is_waiting = false; AccessChangesNotifier & changes_notifier; + std::atomic readonly; + std::atomic backup_allowed; mutable std::mutex mutex; }; } diff --git a/src/Access/EnabledSettings.h b/src/Access/EnabledSettings.h index 94d2ec2952f..6532d32cffc 100644 --- a/src/Access/EnabledSettings.h +++ b/src/Access/EnabledSettings.h @@ -1,6 +1,7 @@ #pragma once #include +#include #include #include #include @@ -42,7 +43,7 @@ private: void setInfo(const std::shared_ptr & info_); const Params params; - std::shared_ptr info; + std::shared_ptr info TSA_GUARDED_BY(mutex); mutable std::mutex mutex; }; } diff --git a/src/Access/ExternalAuthenticators.cpp b/src/Access/ExternalAuthenticators.cpp index 9431fc543d4..8da16b86f4e 100644 --- a/src/Access/ExternalAuthenticators.cpp +++ b/src/Access/ExternalAuthenticators.cpp @@ -231,18 +231,23 @@ void parseLDAPRoleSearchParams(LDAPClient::RoleSearchParams & params, const Poco params.prefix = config.getString(prefix + ".prefix"); } -void ExternalAuthenticators::reset() +void ExternalAuthenticators::resetImpl() { - std::scoped_lock lock(mutex); ldap_client_params_blueprint.clear(); ldap_caches.clear(); kerberos_params.reset(); } +void ExternalAuthenticators::reset() +{ + std::scoped_lock lock(mutex); + resetImpl(); +} + void ExternalAuthenticators::setConfiguration(const Poco::Util::AbstractConfiguration & config, Poco::Logger * log) { std::scoped_lock lock(mutex); - reset(); + resetImpl(); Poco::Util::AbstractConfiguration::Keys all_keys; config.keys("", all_keys); diff --git a/src/Access/ExternalAuthenticators.h b/src/Access/ExternalAuthenticators.h index 0b3af4d0216..bf928c18d5b 100644 --- a/src/Access/ExternalAuthenticators.h +++ b/src/Access/ExternalAuthenticators.h @@ -3,6 +3,7 @@ #include #include #include +#include #include #include @@ -22,7 +23,6 @@ namespace Poco } } - namespace DB { @@ -51,10 +51,12 @@ private: using LDAPCaches = std::map; // server name -> cache using LDAPParams = std::map; // server name -> params - mutable std::recursive_mutex mutex; - LDAPParams ldap_client_params_blueprint; - mutable LDAPCaches ldap_caches; - std::optional kerberos_params; + mutable std::mutex mutex; + LDAPParams ldap_client_params_blueprint TSA_GUARDED_BY(mutex) ; + mutable LDAPCaches ldap_caches TSA_GUARDED_BY(mutex) ; + std::optional kerberos_params TSA_GUARDED_BY(mutex) ; + + void resetImpl() TSA_REQUIRES(mutex); }; void parseLDAPRoleSearchParams(LDAPClient::RoleSearchParams & params, const Poco::Util::AbstractConfiguration & config, const String & prefix); diff --git a/src/Access/GrantedRoles.cpp b/src/Access/GrantedRoles.cpp index 7d16e3e65bb..4df6809e0fe 100644 --- a/src/Access/GrantedRoles.cpp +++ b/src/Access/GrantedRoles.cpp @@ -2,6 +2,8 @@ #include #include #include +#include + namespace DB { @@ -166,4 +168,57 @@ void GrantedRoles::makeIntersection(const GrantedRoles & other) return other.roles_with_admin_option.find(id) == other.roles_with_admin_option.end(); }); } + +std::vector GrantedRoles::findDependencies() const +{ + std::vector res; + boost::range::copy(roles, std::back_inserter(res)); + return res; +} + +void GrantedRoles::replaceDependencies(const std::unordered_map & old_to_new_ids) +{ + std::vector new_ids; + + for (auto it = roles.begin(); it != roles.end();) + { + auto id = *it; + auto it_new_id = old_to_new_ids.find(id); + if (it_new_id != old_to_new_ids.end()) + { + auto new_id = it_new_id->second; + new_ids.push_back(new_id); + it = roles.erase(it); + } + else + { + ++it; + } + } + + if (!new_ids.empty()) + { + boost::range::copy(new_ids, std::inserter(roles, roles.end())); + new_ids.clear(); + + for (auto it = roles_with_admin_option.begin(); it != roles_with_admin_option.end();) + { + auto id = *it; + auto it_new_id = old_to_new_ids.find(id); + if (it_new_id != old_to_new_ids.end()) + { + auto new_id = it_new_id->second; + new_ids.push_back(new_id); + it = roles_with_admin_option.erase(it); + } + else + { + ++it; + } + } + + boost::range::copy(new_ids, std::inserter(roles_with_admin_option, roles_with_admin_option.end())); + } +} + } diff --git a/src/Access/GrantedRoles.h b/src/Access/GrantedRoles.h index 75ea56aba96..ac252822089 100644 --- a/src/Access/GrantedRoles.h +++ b/src/Access/GrantedRoles.h @@ -3,6 +3,7 @@ #include #include #include +#include namespace DB @@ -24,6 +25,8 @@ public: void revokeAdminOption(const UUID & role_); void revokeAdminOption(const std::vector & roles_); + bool isEmpty() const { return roles.empty(); } + bool isGranted(const UUID & role_) const; bool isGrantedWithAdminOption(const UUID & role_) const; @@ -54,6 +57,9 @@ public: friend bool operator ==(const GrantedRoles & left, const GrantedRoles & right) { return (left.roles == right.roles) && (left.roles_with_admin_option == right.roles_with_admin_option); } friend bool operator !=(const GrantedRoles & left, const GrantedRoles & right) { return !(left == right); } + std::vector findDependencies() const; + void replaceDependencies(const std::unordered_map & old_to_new_ids); + private: boost::container::flat_set roles; boost::container::flat_set roles_with_admin_option; diff --git a/src/Access/IAccessEntity.h b/src/Access/IAccessEntity.h index 04faa879040..5614a172f6f 100644 --- a/src/Access/IAccessEntity.h +++ b/src/Access/IAccessEntity.h @@ -4,6 +4,7 @@ #include #include #include +#include namespace DB @@ -45,6 +46,15 @@ struct IAccessEntity bool operator()(const std::shared_ptr & lhs, const std::shared_ptr & rhs) const { return operator()(*lhs, *rhs); } }; + /// Finds all dependencies. + virtual std::vector findDependencies() const { return {}; } + + /// Replaces dependencies according to a specified map. + virtual void replaceDependencies(const std::unordered_map & /* old_to_new_ids */) {} + + /// Whether this access entity should be written to a backup. + virtual bool isBackupAllowed() const { return false; } + protected: String name; diff --git a/src/Access/IAccessStorage.cpp b/src/Access/IAccessStorage.cpp index 6b04355099d..fa9c78816c7 100644 --- a/src/Access/IAccessStorage.cpp +++ b/src/Access/IAccessStorage.cpp @@ -2,14 +2,18 @@ #include #include #include +#include +#include #include #include #include +#include #include #include #include #include #include +#include namespace DB @@ -19,6 +23,7 @@ namespace ErrorCodes extern const int ACCESS_ENTITY_ALREADY_EXISTS; extern const int ACCESS_ENTITY_NOT_FOUND; extern const int ACCESS_STORAGE_READONLY; + extern const int ACCESS_STORAGE_DOESNT_ALLOW_BACKUP; extern const int WRONG_PASSWORD; extern const int IP_ADDRESS_NOT_ALLOWED; extern const int LOGICAL_ERROR; @@ -83,13 +88,15 @@ std::vector IAccessStorage::getIDs(AccessEntityType type, const Strings & String IAccessStorage::readName(const UUID & id) const { - return *readNameImpl(id, /* throw_if_not_exists = */ true); + return readNameWithType(id).first; } std::optional IAccessStorage::readName(const UUID & id, bool throw_if_not_exists) const { - return readNameImpl(id, throw_if_not_exists); + if (auto name_and_type = readNameWithType(id, throw_if_not_exists)) + return name_and_type->first; + return std::nullopt; } @@ -99,7 +106,7 @@ Strings IAccessStorage::readNames(const std::vector & ids, bool throw_if_n res.reserve(ids.size()); for (const auto & id : ids) { - if (auto name = readNameImpl(id, throw_if_not_exists)) + if (auto name = readName(id, throw_if_not_exists)) res.emplace_back(std::move(name).value()); } return res; @@ -118,14 +125,42 @@ Strings IAccessStorage::tryReadNames(const std::vector & ids) const } -std::optional IAccessStorage::readNameImpl(const UUID & id, bool throw_if_not_exists) const +std::pair IAccessStorage::readNameWithType(const UUID & id) const +{ + return *readNameWithTypeImpl(id, /* throw_if_not_exists = */ true); +} + +std::optional> IAccessStorage::readNameWithType(const UUID & id, bool throw_if_not_exists) const +{ + return readNameWithTypeImpl(id, throw_if_not_exists); +} + +std::optional> IAccessStorage::tryReadNameWithType(const UUID & id) const +{ + return readNameWithTypeImpl(id, /* throw_if_not_exists = */ false); +} + + +std::optional> IAccessStorage::readNameWithTypeImpl(const UUID & id, bool throw_if_not_exists) const { if (auto entity = read(id, throw_if_not_exists)) - return entity->getName(); + return std::make_pair(entity->getName(), entity->getType()); return std::nullopt; } +std::vector> IAccessStorage::readAllWithIDs(AccessEntityType type) const +{ + std::vector> entities; + for (const auto & id : findAll(type)) + { + if (auto entity = tryRead(id)) + entities.emplace_back(id, entity); + } + return entities; +} + + UUID IAccessStorage::insert(const AccessEntityPtr & entity) { return *insert(entity, /* replace_if_exists = */ false, /* throw_if_exists = */ true); @@ -488,6 +523,33 @@ bool IAccessStorage::isAddressAllowed(const User & user, const Poco::Net::IPAddr } +void IAccessStorage::backup(BackupEntriesCollector & backup_entries_collector, const String & data_path_in_backup, AccessEntityType type) const +{ + if (!isBackupAllowed()) + throwBackupNotAllowed(); + + auto entities = readAllWithIDs(type); + boost::range::remove_erase_if(entities, [](const std::pair & x) { return !x.second->isBackupAllowed(); }); + + auto backup_entry = makeBackupEntryForAccess( + entities, + data_path_in_backup, + backup_entries_collector.getAccessCounter(type), + backup_entries_collector.getContext()->getAccessControl()); + + backup_entries_collector.addBackupEntry(backup_entry); +} + + +void IAccessStorage::restoreFromBackup(RestorerFromBackup &) +{ + if (!isRestoreAllowed()) + throwRestoreNotAllowed(); + + throw Exception(ErrorCodes::NOT_IMPLEMENTED, "restoreFromBackup() is not implemented in {}", getStorageType()); +} + + UUID IAccessStorage::generateRandomID() { static Poco::UUIDGenerator generator; @@ -577,6 +639,7 @@ void IAccessStorage::throwReadonlyCannotRemove(AccessEntityType type, const Stri ErrorCodes::ACCESS_STORAGE_READONLY); } + void IAccessStorage::throwAddressNotAllowed(const Poco::Net::IPAddress & address) { throw Exception("Connections from " + address.toString() + " are not allowed", ErrorCodes::IP_ADDRESS_NOT_ALLOWED); @@ -589,9 +652,20 @@ void IAccessStorage::throwAuthenticationTypeNotAllowed(AuthenticationType auth_t "Authentication type {} is not allowed, check the setting allow_{} in the server configuration", toString(auth_type), AuthenticationTypeInfo::get(auth_type).name); } + void IAccessStorage::throwInvalidCredentials() { throw Exception("Invalid credentials", ErrorCodes::WRONG_PASSWORD); } +void IAccessStorage::throwBackupNotAllowed() const +{ + throw Exception(ErrorCodes::ACCESS_STORAGE_DOESNT_ALLOW_BACKUP, "Backup of access entities is not allowed in {}", getStorageName()); +} + +void IAccessStorage::throwRestoreNotAllowed() const +{ + throw Exception(ErrorCodes::ACCESS_STORAGE_DOESNT_ALLOW_BACKUP, "Restore of access entities is not allowed in {}", getStorageName()); +} + } diff --git a/src/Access/IAccessStorage.h b/src/Access/IAccessStorage.h index 5de20cad286..394d3ed6358 100644 --- a/src/Access/IAccessStorage.h +++ b/src/Access/IAccessStorage.h @@ -18,6 +18,8 @@ struct User; class Credentials; class ExternalAuthenticators; enum class AuthenticationType; +class BackupEntriesCollector; +class RestorerFromBackup; /// Contains entities, i.e. instances of classes derived from IAccessEntity. /// The implementations of this class MUST be thread-safe. @@ -101,6 +103,16 @@ public: std::optional tryReadName(const UUID & id) const; Strings tryReadNames(const std::vector & ids) const; + std::pair readNameWithType(const UUID & id) const; + std::optional> readNameWithType(const UUID & id, bool throw_if_not_exists) const; + std::optional> tryReadNameWithType(const UUID & id) const; + + /// Reads all entities and returns them with their IDs. + template + std::vector>> readAllWithIDs() const; + + std::vector> readAllWithIDs(AccessEntityType type) const; + /// Inserts an entity to the storage. Returns ID of a new entry in the storage. /// Throws an exception if the specified name already exists. UUID insert(const AccessEntityPtr & entity); @@ -143,11 +155,19 @@ public: UUID authenticate(const Credentials & credentials, const Poco::Net::IPAddress & address, const ExternalAuthenticators & external_authenticators, bool allow_no_password, bool allow_plaintext_password) const; std::optional authenticate(const Credentials & credentials, const Poco::Net::IPAddress & address, const ExternalAuthenticators & external_authenticators, bool throw_if_user_not_exists, bool allow_no_password, bool allow_plaintext_password) const; + /// Returns true if this storage can be stored to or restored from a backup. + virtual bool isBackupAllowed() const { return false; } + virtual bool isRestoreAllowed() const { return isBackupAllowed() && !isReadOnly(); } + + /// Makes a backup of this access storage. + virtual void backup(BackupEntriesCollector & backup_entries_collector, const String & data_path_in_backup, AccessEntityType type) const; + virtual void restoreFromBackup(RestorerFromBackup & restorer); + protected: virtual std::optional findImpl(AccessEntityType type, const String & name) const = 0; virtual std::vector findAllImpl(AccessEntityType type) const = 0; virtual AccessEntityPtr readImpl(const UUID & id, bool throw_if_not_exists) const = 0; - virtual std::optional readNameImpl(const UUID & id, bool throw_if_not_exists) const; + virtual std::optional> readNameWithTypeImpl(const UUID & id, bool throw_if_not_exists) const; virtual std::optional insertImpl(const AccessEntityPtr & entity, bool replace_if_exists, bool throw_if_exists); virtual bool removeImpl(const UUID & id, bool throw_if_not_exists); virtual bool updateImpl(const UUID & id, const UpdateFunc & update_func, bool throw_if_not_exists); @@ -170,6 +190,8 @@ protected: [[noreturn]] static void throwAddressNotAllowed(const Poco::Net::IPAddress & address); [[noreturn]] static void throwInvalidCredentials(); [[noreturn]] static void throwAuthenticationTypeNotAllowed(AuthenticationType auth_type); + [[noreturn]] void throwBackupNotAllowed() const; + [[noreturn]] void throwRestoreNotAllowed() const; private: const String storage_name; @@ -218,4 +240,17 @@ std::shared_ptr IAccessStorage::tryRead(const String & name) { return read(name, false); } + +template +std::vector>> IAccessStorage::readAllWithIDs() const +{ + std::vector>> entities; + for (const auto & id : findAll()) + { + if (auto entity = tryRead(id)) + entities.emplace_back(id, entity); + } + return entities; +} + } diff --git a/src/Access/KerberosInit.cpp b/src/Access/KerberosInit.cpp new file mode 100644 index 00000000000..1bba82bc46f --- /dev/null +++ b/src/Access/KerberosInit.cpp @@ -0,0 +1,230 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#if USE_KRB5 +#include +#include + +using namespace DB; + +namespace DB +{ +namespace ErrorCodes +{ + extern const int KERBEROS_ERROR; +} +} + +namespace +{ +struct K5Data +{ + krb5_context ctx; + krb5_ccache out_cc; + krb5_principal me; + char * name; + krb5_boolean switch_to_cache; +}; + +/** + * This class implements programmatic implementation of kinit. + */ +class KerberosInit : boost::noncopyable +{ +public: + void init(const String & keytab_file, const String & principal, const String & cache_name = ""); + ~KerberosInit(); +private: + struct K5Data k5 {}; + krb5_ccache defcache = nullptr; + krb5_get_init_creds_opt * options = nullptr; + // Credentials structure including ticket, session key, and lifetime info. + krb5_creds my_creds; + krb5_keytab keytab = nullptr; + krb5_principal defcache_princ = nullptr; + String fmtError(krb5_error_code code) const; +}; +} + + +String KerberosInit::fmtError(krb5_error_code code) const +{ + const char *msg; + msg = krb5_get_error_message(k5.ctx, code); + String fmt_error = fmt::format(" ({}, {})", code, msg); + krb5_free_error_message(k5.ctx, msg); + return fmt_error; +} + +void KerberosInit::init(const String & keytab_file, const String & principal, const String & cache_name) +{ + auto * log = &Poco::Logger::get("KerberosInit"); + LOG_TRACE(log,"Trying to authenticate with Kerberos v5"); + + krb5_error_code ret; + + const char *deftype = nullptr; + + if (!std::filesystem::exists(keytab_file)) + throw Exception("Keytab file does not exist", ErrorCodes::KERBEROS_ERROR); + + ret = krb5_init_context(&k5.ctx); + if (ret) + throw Exception(ErrorCodes::KERBEROS_ERROR, "Error while initializing Kerberos 5 library ({})", ret); + + if (!cache_name.empty()) + { + ret = krb5_cc_resolve(k5.ctx, cache_name.c_str(), &k5.out_cc); + if (ret) + throw Exception("Error in resolving cache" + fmtError(ret), ErrorCodes::KERBEROS_ERROR); + LOG_TRACE(log,"Resolved cache"); + } + else + { + // Resolve the default cache and get its type and default principal (if it is initialized). + ret = krb5_cc_default(k5.ctx, &defcache); + if (ret) + throw Exception("Error while getting default cache" + fmtError(ret), ErrorCodes::KERBEROS_ERROR); + LOG_TRACE(log,"Resolved default cache"); + deftype = krb5_cc_get_type(k5.ctx, defcache); + if (krb5_cc_get_principal(k5.ctx, defcache, &defcache_princ) != 0) + defcache_princ = nullptr; + } + + // Use the specified principal name. + ret = krb5_parse_name_flags(k5.ctx, principal.c_str(), 0, &k5.me); + if (ret) + throw Exception("Error when parsing principal name " + principal + fmtError(ret), ErrorCodes::KERBEROS_ERROR); + + // Cache related commands + if (k5.out_cc == nullptr && krb5_cc_support_switch(k5.ctx, deftype)) + { + // Use an existing cache for the client principal if we can. + ret = krb5_cc_cache_match(k5.ctx, k5.me, &k5.out_cc); + if (ret && ret != KRB5_CC_NOTFOUND) + throw Exception("Error while searching for cache for " + principal + fmtError(ret), ErrorCodes::KERBEROS_ERROR); + if (0 == ret) + { + LOG_TRACE(log,"Using default cache: {}", krb5_cc_get_name(k5.ctx, k5.out_cc)); + k5.switch_to_cache = 1; + } + else if (defcache_princ != nullptr) + { + // Create a new cache to avoid overwriting the initialized default cache. + ret = krb5_cc_new_unique(k5.ctx, deftype, nullptr, &k5.out_cc); + if (ret) + throw Exception("Error while generating new cache" + fmtError(ret), ErrorCodes::KERBEROS_ERROR); + LOG_TRACE(log,"Using default cache: {}", krb5_cc_get_name(k5.ctx, k5.out_cc)); + k5.switch_to_cache = 1; + } + } + + // Use the default cache if we haven't picked one yet. + if (k5.out_cc == nullptr) + { + k5.out_cc = defcache; + defcache = nullptr; + LOG_TRACE(log,"Using default cache: {}", krb5_cc_get_name(k5.ctx, k5.out_cc)); + } + + ret = krb5_unparse_name(k5.ctx, k5.me, &k5.name); + if (ret) + throw Exception("Error when unparsing name" + fmtError(ret), ErrorCodes::KERBEROS_ERROR); + LOG_TRACE(log,"Using principal: {}", k5.name); + + // Allocate a new initial credential options structure. + ret = krb5_get_init_creds_opt_alloc(k5.ctx, &options); + if (ret) + throw Exception("Error in options allocation" + fmtError(ret), ErrorCodes::KERBEROS_ERROR); + + // Resolve keytab + ret = krb5_kt_resolve(k5.ctx, keytab_file.c_str(), &keytab); + if (ret) + throw Exception("Error in resolving keytab "+keytab_file + fmtError(ret), ErrorCodes::KERBEROS_ERROR); + LOG_TRACE(log,"Using keytab: {}", keytab_file); + + // Set an output credential cache in initial credential options. + ret = krb5_get_init_creds_opt_set_out_ccache(k5.ctx, options, k5.out_cc); + if (ret) + throw Exception("Error in setting output credential cache" + fmtError(ret), ErrorCodes::KERBEROS_ERROR); + + // Action: init or renew + LOG_TRACE(log,"Trying to renew credentials"); + memset(&my_creds, 0, sizeof(my_creds)); + // Get renewed credential from KDC using an existing credential from output cache. + ret = krb5_get_renewed_creds(k5.ctx, &my_creds, k5.me, k5.out_cc, nullptr); + if (ret) + { + LOG_TRACE(log,"Renew failed {}", fmtError(ret)); + LOG_TRACE(log,"Trying to get initial credentials"); + // Request KDC for an initial credentials using keytab. + ret = krb5_get_init_creds_keytab(k5.ctx, &my_creds, k5.me, keytab, 0, nullptr, options); + if (ret) + throw Exception("Error in getting initial credentials" + fmtError(ret), ErrorCodes::KERBEROS_ERROR); + else + LOG_TRACE(log,"Got initial credentials"); + } + else + { + LOG_TRACE(log,"Successful renewal"); + // Initialize a credential cache. Destroy any existing contents of cache and initialize it for the default principal. + ret = krb5_cc_initialize(k5.ctx, k5.out_cc, k5.me); + if (ret) + throw Exception("Error when initializing cache" + fmtError(ret), ErrorCodes::KERBEROS_ERROR); + LOG_TRACE(log,"Initialized cache"); + // Store credentials in a credential cache. + ret = krb5_cc_store_cred(k5.ctx, k5.out_cc, &my_creds); + if (ret) + LOG_TRACE(log,"Error while storing credentials"); + LOG_TRACE(log,"Stored credentials"); + } + + if (k5.switch_to_cache) + { + // Make a credential cache the primary cache for its collection. + ret = krb5_cc_switch(k5.ctx, k5.out_cc); + if (ret) + throw Exception("Error while switching to new cache" + fmtError(ret), ErrorCodes::KERBEROS_ERROR); + } + + LOG_TRACE(log,"Authenticated to Kerberos v5"); +} + +KerberosInit::~KerberosInit() +{ + if (k5.ctx) + { + if (defcache) + krb5_cc_close(k5.ctx, defcache); + krb5_free_principal(k5.ctx, defcache_princ); + + if (options) + krb5_get_init_creds_opt_free(k5.ctx, options); + if (my_creds.client == k5.me) + my_creds.client = nullptr; + krb5_free_cred_contents(k5.ctx, &my_creds); + if (keytab) + krb5_kt_close(k5.ctx, keytab); + + krb5_free_unparsed_name(k5.ctx, k5.name); + krb5_free_principal(k5.ctx, k5.me); + if (k5.out_cc != nullptr) + krb5_cc_close(k5.ctx, k5.out_cc); + krb5_free_context(k5.ctx); + } +} + +void kerberosInit(const String & keytab_file, const String & principal, const String & cache_name) +{ + // Using mutex to prevent cache file corruptions + static std::mutex kinit_mtx; + std::lock_guard lck(kinit_mtx); + KerberosInit k_init; + k_init.init(keytab_file, principal, cache_name); +} +#endif // USE_KRB5 diff --git a/src/Access/KerberosInit.h b/src/Access/KerberosInit.h new file mode 100644 index 00000000000..5a11a275529 --- /dev/null +++ b/src/Access/KerberosInit.h @@ -0,0 +1,11 @@ +#pragma once + +#include "config_core.h" + +#include + +#if USE_KRB5 + +void kerberosInit(const String & keytab_file, const String & principal, const String & cache_name = ""); + +#endif // USE_KRB5 diff --git a/src/Access/LDAPAccessStorage.cpp b/src/Access/LDAPAccessStorage.cpp index 480d0050e2a..50e231f2c51 100644 --- a/src/Access/LDAPAccessStorage.cpp +++ b/src/Access/LDAPAccessStorage.cpp @@ -28,7 +28,7 @@ namespace ErrorCodes LDAPAccessStorage::LDAPAccessStorage(const String & storage_name_, AccessControl & access_control_, const Poco::Util::AbstractConfiguration & config, const String & prefix) - : IAccessStorage(storage_name_), access_control(access_control_), memory_storage(storage_name_, access_control.getChangesNotifier()) + : IAccessStorage(storage_name_), access_control(access_control_), memory_storage(storage_name_, access_control.getChangesNotifier(), false) { setConfiguration(config, prefix); } @@ -36,6 +36,7 @@ LDAPAccessStorage::LDAPAccessStorage(const String & storage_name_, AccessControl String LDAPAccessStorage::getLDAPServerName() const { + std::scoped_lock lock(mutex); return ldap_server_name; } @@ -442,10 +443,10 @@ AccessEntityPtr LDAPAccessStorage::readImpl(const UUID & id, bool throw_if_not_e } -std::optional LDAPAccessStorage::readNameImpl(const UUID & id, bool throw_if_not_exists) const +std::optional> LDAPAccessStorage::readNameWithTypeImpl(const UUID & id, bool throw_if_not_exists) const { std::scoped_lock lock(mutex); - return memory_storage.readName(id, throw_if_not_exists); + return memory_storage.readNameWithType(id, throw_if_not_exists); } @@ -504,4 +505,5 @@ std::optional LDAPAccessStorage::authenticateImpl( return id; } + } diff --git a/src/Access/LDAPAccessStorage.h b/src/Access/LDAPAccessStorage.h index df13eff179b..21413070f4c 100644 --- a/src/Access/LDAPAccessStorage.h +++ b/src/Access/LDAPAccessStorage.h @@ -47,7 +47,7 @@ private: // IAccessStorage implementations. virtual std::optional findImpl(AccessEntityType type, const String & name) const override; virtual std::vector findAllImpl(AccessEntityType type) const override; virtual AccessEntityPtr readImpl(const UUID & id, bool throw_if_not_exists) const override; - virtual std::optional readNameImpl(const UUID & id, bool throw_if_not_exists) const override; + virtual std::optional> readNameWithTypeImpl(const UUID & id, bool throw_if_not_exists) const override; virtual std::optional authenticateImpl(const Credentials & credentials, const Poco::Net::IPAddress & address, const ExternalAuthenticators & external_authenticators, bool throw_if_user_not_exists, bool allow_no_password, bool allow_plaintext_password) const override; void setConfiguration(const Poco::Util::AbstractConfiguration & config, const String & prefix); diff --git a/src/Access/MemoryAccessStorage.cpp b/src/Access/MemoryAccessStorage.cpp index 9ed80f4a64d..60669532e25 100644 --- a/src/Access/MemoryAccessStorage.cpp +++ b/src/Access/MemoryAccessStorage.cpp @@ -1,5 +1,7 @@ #include #include +#include +#include #include #include #include @@ -8,8 +10,8 @@ namespace DB { -MemoryAccessStorage::MemoryAccessStorage(const String & storage_name_, AccessChangesNotifier & changes_notifier_) - : IAccessStorage(storage_name_), changes_notifier(changes_notifier_) +MemoryAccessStorage::MemoryAccessStorage(const String & storage_name_, AccessChangesNotifier & changes_notifier_, bool allow_backup_) + : IAccessStorage(storage_name_), changes_notifier(changes_notifier_), backup_allowed(allow_backup_) { } @@ -65,14 +67,20 @@ AccessEntityPtr MemoryAccessStorage::readImpl(const UUID & id, bool throw_if_not std::optional MemoryAccessStorage::insertImpl(const AccessEntityPtr & new_entity, bool replace_if_exists, bool throw_if_exists) { UUID id = generateRandomID(); - std::lock_guard lock{mutex}; - if (insertNoLock(id, new_entity, replace_if_exists, throw_if_exists)) + if (insertWithID(id, new_entity, replace_if_exists, throw_if_exists)) return id; return std::nullopt; } +bool MemoryAccessStorage::insertWithID(const UUID & id, const AccessEntityPtr & new_entity, bool replace_if_exists, bool throw_if_exists) +{ + std::lock_guard lock{mutex}; + return insertNoLock(id, new_entity, replace_if_exists, throw_if_exists); +} + + bool MemoryAccessStorage::insertNoLock(const UUID & id, const AccessEntityPtr & new_entity, bool replace_if_exists, bool throw_if_exists) { const String & name = new_entity->getName(); @@ -264,4 +272,25 @@ void MemoryAccessStorage::setAll(const std::vector +#include #include #include #include @@ -17,7 +18,7 @@ class MemoryAccessStorage : public IAccessStorage public: static constexpr char STORAGE_TYPE[] = "memory"; - explicit MemoryAccessStorage(const String & storage_name_, AccessChangesNotifier & changes_notifier_); + explicit MemoryAccessStorage(const String & storage_name_, AccessChangesNotifier & changes_notifier_, bool allow_backup_); const char * getStorageType() const override { return STORAGE_TYPE; } @@ -27,6 +28,9 @@ public: bool exists(const UUID & id) const override; + bool isBackupAllowed() const override { return backup_allowed; } + void restoreFromBackup(RestorerFromBackup & restorer) override; + private: std::optional findImpl(AccessEntityType type, const String & name) const override; std::vector findAllImpl(AccessEntityType type) const override; @@ -35,9 +39,10 @@ private: bool removeImpl(const UUID & id, bool throw_if_not_exists) override; bool updateImpl(const UUID & id, const UpdateFunc & update_func, bool throw_if_not_exists) override; - bool insertNoLock(const UUID & id, const AccessEntityPtr & entity, bool replace_if_exists, bool throw_if_exists); - bool removeNoLock(const UUID & id, bool throw_if_not_exists); - bool updateNoLock(const UUID & id, const UpdateFunc & update_func, bool throw_if_not_exists); + bool insertWithID(const UUID & id, const AccessEntityPtr & new_entity, bool replace_if_exists, bool throw_if_exists); + bool insertNoLock(const UUID & id, const AccessEntityPtr & entity, bool replace_if_exists, bool throw_if_exists) TSA_REQUIRES(mutex); + bool removeNoLock(const UUID & id, bool throw_if_not_exists) TSA_REQUIRES(mutex); + bool updateNoLock(const UUID & id, const UpdateFunc & update_func, bool throw_if_not_exists) TSA_REQUIRES(mutex); struct Entry { @@ -46,8 +51,9 @@ private: }; mutable std::mutex mutex; - std::unordered_map entries_by_id; /// We want to search entries both by ID and by the pair of name and type. - std::unordered_map entries_by_name_and_type[static_cast(AccessEntityType::MAX)]; + std::unordered_map entries_by_id TSA_GUARDED_BY(mutex); /// We want to search entries both by ID and by the pair of name and type. + std::unordered_map entries_by_name_and_type[static_cast(AccessEntityType::MAX)] TSA_GUARDED_BY(mutex); AccessChangesNotifier & changes_notifier; + bool backup_allowed = false; }; } diff --git a/src/Access/MultipleAccessStorage.cpp b/src/Access/MultipleAccessStorage.cpp index ce4c9f3fd01..e7151cc7b4b 100644 --- a/src/Access/MultipleAccessStorage.cpp +++ b/src/Access/MultipleAccessStorage.cpp @@ -3,6 +3,7 @@ #include #include #include +#include #include #include #include @@ -42,14 +43,14 @@ MultipleAccessStorage::~MultipleAccessStorage() void MultipleAccessStorage::setStorages(const std::vector & storages) { - std::unique_lock lock{mutex}; + std::lock_guard lock{mutex}; nested_storages = std::make_shared(storages); ids_cache.reset(); } void MultipleAccessStorage::addStorage(const StoragePtr & new_storage) { - std::unique_lock lock{mutex}; + std::lock_guard lock{mutex}; if (boost::range::find(*nested_storages, new_storage) != nested_storages->end()) return; auto new_storages = std::make_shared(*nested_storages); @@ -59,7 +60,7 @@ void MultipleAccessStorage::addStorage(const StoragePtr & new_storage) void MultipleAccessStorage::removeStorage(const StoragePtr & storage_to_remove) { - std::unique_lock lock{mutex}; + std::lock_guard lock{mutex}; auto it = boost::range::find(*nested_storages, storage_to_remove); if (it == nested_storages->end()) return; @@ -189,10 +190,10 @@ AccessEntityPtr MultipleAccessStorage::readImpl(const UUID & id, bool throw_if_n } -std::optional MultipleAccessStorage::readNameImpl(const UUID & id, bool throw_if_not_exists) const +std::optional> MultipleAccessStorage::readNameWithTypeImpl(const UUID & id, bool throw_if_not_exists) const { if (auto storage = findStorage(id)) - return storage->readName(id, throw_if_not_exists); + return storage->readNameWithType(id, throw_if_not_exists); if (throw_if_not_exists) throwNotFound(id); @@ -357,4 +358,63 @@ MultipleAccessStorage::authenticateImpl(const Credentials & credentials, const P return std::nullopt; } + +bool MultipleAccessStorage::isBackupAllowed() const +{ + auto storages = getStoragesInternal(); + for (const auto & storage : *storages) + { + if (storage->isBackupAllowed()) + return true; + } + return false; +} + + +bool MultipleAccessStorage::isRestoreAllowed() const +{ + auto storages = getStoragesInternal(); + for (const auto & storage : *storages) + { + if (storage->isRestoreAllowed()) + return true; + } + return false; +} + + +void MultipleAccessStorage::backup(BackupEntriesCollector & backup_entries_collector, const String & data_path_in_backup, AccessEntityType type) const +{ + auto storages = getStoragesInternal(); + bool allowed = false; + + for (const auto & storage : *storages) + { + if (storage->isBackupAllowed()) + { + storage->backup(backup_entries_collector, data_path_in_backup, type); + allowed = true; + } + } + + if (!allowed) + throwBackupNotAllowed(); +} + +void MultipleAccessStorage::restoreFromBackup(RestorerFromBackup & restorer) +{ + auto storages = getStoragesInternal(); + + for (const auto & storage : *storages) + { + if (storage->isRestoreAllowed()) + { + storage->restoreFromBackup(restorer); + return; + } + } + + throwBackupNotAllowed(); +} + } diff --git a/src/Access/MultipleAccessStorage.h b/src/Access/MultipleAccessStorage.h index 61a975050b6..58cf09fd0ff 100644 --- a/src/Access/MultipleAccessStorage.h +++ b/src/Access/MultipleAccessStorage.h @@ -1,6 +1,7 @@ #pragma once #include +#include #include #include @@ -42,11 +43,16 @@ public: bool exists(const UUID & id) const override; + bool isBackupAllowed() const override; + bool isRestoreAllowed() const override; + void backup(BackupEntriesCollector & backup_entries_collector, const String & data_path_in_backup, AccessEntityType type) const override; + void restoreFromBackup(RestorerFromBackup & restorer) override; + protected: std::optional findImpl(AccessEntityType type, const String & name) const override; std::vector findAllImpl(AccessEntityType type) const override; AccessEntityPtr readImpl(const UUID & id, bool throw_if_not_exists) const override; - std::optional readNameImpl(const UUID & id, bool throw_if_not_exists) const override; + std::optional> readNameWithTypeImpl(const UUID & id, bool throw_if_not_exists) const override; std::optional insertImpl(const AccessEntityPtr & entity, bool replace_if_exists, bool throw_if_exists) override; bool removeImpl(const UUID & id, bool throw_if_not_exists) override; bool updateImpl(const UUID & id, const UpdateFunc & update_func, bool throw_if_not_exists) override; @@ -56,8 +62,8 @@ private: using Storages = std::vector; std::shared_ptr getStoragesInternal() const; - std::shared_ptr nested_storages; - mutable LRUCache ids_cache; + std::shared_ptr nested_storages TSA_GUARDED_BY(mutex); + mutable LRUCache ids_cache TSA_GUARDED_BY(mutex); mutable std::mutex mutex; }; diff --git a/src/Access/Quota.cpp b/src/Access/Quota.cpp index dc855599999..87b15e722c3 100644 --- a/src/Access/Quota.cpp +++ b/src/Access/Quota.cpp @@ -19,5 +19,14 @@ bool Quota::equal(const IAccessEntity & other) const return (all_limits == other_quota.all_limits) && (key_type == other_quota.key_type) && (to_roles == other_quota.to_roles); } +std::vector Quota::findDependencies() const +{ + return to_roles.findDependencies(); } +void Quota::replaceDependencies(const std::unordered_map & old_to_new_ids) +{ + to_roles.replaceDependencies(old_to_new_ids); +} + +} diff --git a/src/Access/Quota.h b/src/Access/Quota.h index 487af49d684..eb9edb14fb0 100644 --- a/src/Access/Quota.h +++ b/src/Access/Quota.h @@ -45,6 +45,10 @@ struct Quota : public IAccessEntity std::shared_ptr clone() const override { return cloneImpl(); } static constexpr const auto TYPE = AccessEntityType::QUOTA; AccessEntityType getType() const override { return TYPE; } + + std::vector findDependencies() const override; + void replaceDependencies(const std::unordered_map & old_to_new_ids) override; + bool isBackupAllowed() const override { return true; } }; using QuotaPtr = std::shared_ptr; diff --git a/src/Access/ReplicatedAccessStorage.cpp b/src/Access/ReplicatedAccessStorage.cpp index d3d1ee3fb6b..f6c8d0a7153 100644 --- a/src/Access/ReplicatedAccessStorage.cpp +++ b/src/Access/ReplicatedAccessStorage.cpp @@ -2,8 +2,14 @@ #include #include #include +#include +#include +#include +#include +#include +#include #include -#include +#include #include #include #include @@ -11,6 +17,7 @@ #include #include #include +#include namespace DB @@ -33,12 +40,14 @@ ReplicatedAccessStorage::ReplicatedAccessStorage( const String & storage_name_, const String & zookeeper_path_, zkutil::GetZooKeeper get_zookeeper_, - AccessChangesNotifier & changes_notifier_) + AccessChangesNotifier & changes_notifier_, + bool allow_backup_) : IAccessStorage(storage_name_) , zookeeper_path(zookeeper_path_) , get_zookeeper(get_zookeeper_) , watched_queue(std::make_shared>(std::numeric_limits::max())) , changes_notifier(changes_notifier_) + , backup_allowed(allow_backup_) { if (zookeeper_path.empty()) throw Exception("ZooKeeper path must be non-empty", ErrorCodes::BAD_ARGUMENTS); @@ -99,6 +108,15 @@ static void retryOnZooKeeperUserError(size_t attempts, Func && function) std::optional ReplicatedAccessStorage::insertImpl(const AccessEntityPtr & new_entity, bool replace_if_exists, bool throw_if_exists) { const UUID id = generateRandomID(); + if (insertWithID(id, new_entity, replace_if_exists, throw_if_exists)) + return id; + + return std::nullopt; +} + + +bool ReplicatedAccessStorage::insertWithID(const UUID & id, const AccessEntityPtr & new_entity, bool replace_if_exists, bool throw_if_exists) +{ const AccessEntityTypeInfo type_info = AccessEntityTypeInfo::get(new_entity->getType()); const String & name = new_entity->getName(); LOG_DEBUG(getLogger(), "Inserting entity of type {} named {} with id {}", type_info.name, name, toString(id)); @@ -108,11 +126,11 @@ std::optional ReplicatedAccessStorage::insertImpl(const AccessEntityPtr & retryOnZooKeeperUserError(10, [&]{ ok = insertZooKeeper(zookeeper, id, new_entity, replace_if_exists, throw_if_exists); }); if (!ok) - return std::nullopt; + return false; std::lock_guard lock{mutex}; refreshEntityNoLock(zookeeper, id); - return id; + return true; } @@ -600,4 +618,64 @@ AccessEntityPtr ReplicatedAccessStorage::readImpl(const UUID & id, bool throw_if return entry.entity; } + +void ReplicatedAccessStorage::backup(BackupEntriesCollector & backup_entries_collector, const String & data_path_in_backup, AccessEntityType type) const +{ + if (!isBackupAllowed()) + throwBackupNotAllowed(); + + auto entities = readAllWithIDs(type); + boost::range::remove_erase_if(entities, [](const std::pair & x) { return !x.second->isBackupAllowed(); }); + + auto backup_entry_with_path = makeBackupEntryForAccess( + entities, + data_path_in_backup, + backup_entries_collector.getAccessCounter(type), + backup_entries_collector.getContext()->getAccessControl()); + + auto backup_coordination = backup_entries_collector.getBackupCoordination(); + backup_coordination->addReplicatedAccessPath(zookeeper_path, backup_entry_with_path.first); + String current_host_id = backup_entries_collector.getBackupSettings().host_id; + backup_coordination->setReplicatedAccessHost(zookeeper_path, current_host_id); + + backup_entries_collector.addPostTask( + [backup_entry = backup_entry_with_path.second, + zookeeper_path = zookeeper_path, + current_host_id, + &backup_entries_collector, + backup_coordination] + { + if (current_host_id != backup_coordination->getReplicatedAccessHost(zookeeper_path)) + return; + + for (const String & path : backup_coordination->getReplicatedAccessPaths(zookeeper_path)) + backup_entries_collector.addBackupEntry(path, backup_entry); + }); +} + + +void ReplicatedAccessStorage::restoreFromBackup(RestorerFromBackup & restorer) +{ + if (!isRestoreAllowed()) + throwRestoreNotAllowed(); + + auto restore_coordination = restorer.getRestoreCoordination(); + if (!restore_coordination->acquireReplicatedAccessStorage(zookeeper_path)) + return; + + auto entities = restorer.getAccessEntitiesToRestore(); + if (entities.empty()) + return; + + auto create_access = restorer.getRestoreSettings().create_access; + bool replace_if_exists = (create_access == RestoreAccessCreationMode::kReplace); + bool throw_if_exists = (create_access == RestoreAccessCreationMode::kCreate); + + restorer.addDataRestoreTask([this, entities = std::move(entities), replace_if_exists, throw_if_exists] + { + for (const auto & [id, entity] : entities) + insertWithID(id, entity, replace_if_exists, throw_if_exists); + }); +} + } diff --git a/src/Access/ReplicatedAccessStorage.h b/src/Access/ReplicatedAccessStorage.h index f9f579e2ba7..6311e2ac7c0 100644 --- a/src/Access/ReplicatedAccessStorage.h +++ b/src/Access/ReplicatedAccessStorage.h @@ -6,6 +6,7 @@ #include #include +#include #include #include @@ -26,7 +27,7 @@ class ReplicatedAccessStorage : public IAccessStorage public: static constexpr char STORAGE_TYPE[] = "replicated"; - ReplicatedAccessStorage(const String & storage_name, const String & zookeeper_path, zkutil::GetZooKeeper get_zookeeper, AccessChangesNotifier & changes_notifier_); + ReplicatedAccessStorage(const String & storage_name, const String & zookeeper_path, zkutil::GetZooKeeper get_zookeeper, AccessChangesNotifier & changes_notifier_, bool allow_backup); virtual ~ReplicatedAccessStorage() override; const char * getStorageType() const override { return STORAGE_TYPE; } @@ -36,6 +37,10 @@ public: bool exists(const UUID & id) const override; + bool isBackupAllowed() const override { return backup_allowed; } + void backup(BackupEntriesCollector & backup_entries_collector, const String & data_path_in_backup, AccessEntityType type) const override; + void restoreFromBackup(RestorerFromBackup & restorer) override; + private: String zookeeper_path; zkutil::GetZooKeeper get_zookeeper; @@ -50,6 +55,7 @@ private: bool removeImpl(const UUID & id, bool throw_if_not_exists) override; bool updateImpl(const UUID & id, const UpdateFunc & update_func, bool throw_if_not_exists) override; + bool insertWithID(const UUID & id, const AccessEntityPtr & new_entity, bool replace_if_exists, bool throw_if_exists); bool insertZooKeeper(const zkutil::ZooKeeperPtr & zookeeper, const UUID & id, const AccessEntityPtr & entity, bool replace_if_exists, bool throw_if_exists); bool removeZooKeeper(const zkutil::ZooKeeperPtr & zookeeper, const UUID & id, bool throw_if_not_exists); bool updateZooKeeper(const zkutil::ZooKeeperPtr & zookeeper, const UUID & id, const UpdateFunc & update_func, bool throw_if_not_exists); @@ -66,10 +72,10 @@ private: bool refresh(); void refreshEntities(const zkutil::ZooKeeperPtr & zookeeper); void refreshEntity(const zkutil::ZooKeeperPtr & zookeeper, const UUID & id); - void refreshEntityNoLock(const zkutil::ZooKeeperPtr & zookeeper, const UUID & id); + void refreshEntityNoLock(const zkutil::ZooKeeperPtr & zookeeper, const UUID & id) TSA_REQUIRES(mutex); - void setEntityNoLock(const UUID & id, const AccessEntityPtr & entity); - void removeEntityNoLock(const UUID & id); + void setEntityNoLock(const UUID & id, const AccessEntityPtr & entity) TSA_REQUIRES(mutex); + void removeEntityNoLock(const UUID & id) TSA_REQUIRES(mutex); struct Entry { @@ -82,8 +88,9 @@ private: AccessEntityPtr readImpl(const UUID & id, bool throw_if_not_exists) const override; mutable std::mutex mutex; - std::unordered_map entries_by_id; - std::unordered_map entries_by_name_and_type[static_cast(AccessEntityType::MAX)]; + std::unordered_map entries_by_id TSA_GUARDED_BY(mutex); + std::unordered_map entries_by_name_and_type[static_cast(AccessEntityType::MAX)] TSA_GUARDED_BY(mutex); AccessChangesNotifier & changes_notifier; + bool backup_allowed = false; }; } diff --git a/src/Access/Role.cpp b/src/Access/Role.cpp index 3df562ad1f0..089488e7aba 100644 --- a/src/Access/Role.cpp +++ b/src/Access/Role.cpp @@ -1,4 +1,5 @@ #include +#include namespace DB @@ -12,4 +13,18 @@ bool Role::equal(const IAccessEntity & other) const return (access == other_role.access) && (granted_roles == other_role.granted_roles) && (settings == other_role.settings); } +std::vector Role::findDependencies() const +{ + std::vector res; + insertAtEnd(res, granted_roles.findDependencies()); + insertAtEnd(res, settings.findDependencies()); + return res; +} + +void Role::replaceDependencies(const std::unordered_map & old_to_new_ids) +{ + granted_roles.replaceDependencies(old_to_new_ids); + settings.replaceDependencies(old_to_new_ids); +} + } diff --git a/src/Access/Role.h b/src/Access/Role.h index c7f1e107d24..b2f879dc357 100644 --- a/src/Access/Role.h +++ b/src/Access/Role.h @@ -19,6 +19,10 @@ struct Role : public IAccessEntity std::shared_ptr clone() const override { return cloneImpl(); } static constexpr const auto TYPE = AccessEntityType::ROLE; AccessEntityType getType() const override { return TYPE; } + + std::vector findDependencies() const override; + void replaceDependencies(const std::unordered_map & old_to_new_ids) override; + bool isBackupAllowed() const override { return settings.isBackupAllowed(); } }; using RolePtr = std::shared_ptr; diff --git a/src/Access/RolesOrUsersSet.cpp b/src/Access/RolesOrUsersSet.cpp index 3e0d56c77a0..dce89434aff 100644 --- a/src/Access/RolesOrUsersSet.cpp +++ b/src/Access/RolesOrUsersSet.cpp @@ -7,6 +7,7 @@ #include #include #include +#include #include #include @@ -286,4 +287,54 @@ bool operator ==(const RolesOrUsersSet & lhs, const RolesOrUsersSet & rhs) return (lhs.all == rhs.all) && (lhs.ids == rhs.ids) && (lhs.except_ids == rhs.except_ids); } +std::vector RolesOrUsersSet::findDependencies() const +{ + std::vector res; + boost::range::copy(ids, std::back_inserter(res)); + boost::range::copy(except_ids, std::back_inserter(res)); + return res; +} + +void RolesOrUsersSet::replaceDependencies(const std::unordered_map & old_to_new_ids) +{ + std::vector new_ids; + + for (auto it = ids.begin(); it != ids.end();) + { + auto id = *it; + auto it_new_id = old_to_new_ids.find(id); + if (it_new_id != old_to_new_ids.end()) + { + auto new_id = it_new_id->second; + new_ids.push_back(new_id); + it = ids.erase(it); + } + else + { + ++it; + } + } + + boost::range::copy(new_ids, std::inserter(ids, ids.end())); + new_ids.clear(); + + for (auto it = except_ids.begin(); it != except_ids.end();) + { + auto id = *it; + auto it_new_id = old_to_new_ids.find(id); + if (it_new_id != old_to_new_ids.end()) + { + auto new_id = it_new_id->second; + new_ids.push_back(new_id); + it = except_ids.erase(it); + } + else + { + ++it; + } + } + + boost::range::copy(new_ids, std::inserter(except_ids, except_ids.end())); +} + } diff --git a/src/Access/RolesOrUsersSet.h b/src/Access/RolesOrUsersSet.h index 43247057c86..29e499bc81b 100644 --- a/src/Access/RolesOrUsersSet.h +++ b/src/Access/RolesOrUsersSet.h @@ -5,6 +5,7 @@ #include #include #include +#include namespace DB @@ -62,6 +63,9 @@ struct RolesOrUsersSet friend bool operator ==(const RolesOrUsersSet & lhs, const RolesOrUsersSet & rhs); friend bool operator !=(const RolesOrUsersSet & lhs, const RolesOrUsersSet & rhs) { return !(lhs == rhs); } + std::vector findDependencies() const; + void replaceDependencies(const std::unordered_map & old_to_new_ids); + bool all = false; boost::container::flat_set ids; boost::container::flat_set except_ids; diff --git a/src/Access/RowPolicy.cpp b/src/Access/RowPolicy.cpp index c09675e0e34..cc4ad9c6e24 100644 --- a/src/Access/RowPolicy.cpp +++ b/src/Access/RowPolicy.cpp @@ -58,4 +58,14 @@ bool RowPolicy::equal(const IAccessEntity & other) const && restrictive == other_policy.restrictive && (to_roles == other_policy.to_roles); } +std::vector RowPolicy::findDependencies() const +{ + return to_roles.findDependencies(); +} + +void RowPolicy::replaceDependencies(const std::unordered_map & old_to_new_ids) +{ + to_roles.replaceDependencies(old_to_new_ids); +} + } diff --git a/src/Access/RowPolicy.h b/src/Access/RowPolicy.h index 9c143aff725..99e6f1992f5 100644 --- a/src/Access/RowPolicy.h +++ b/src/Access/RowPolicy.h @@ -46,6 +46,10 @@ struct RowPolicy : public IAccessEntity static constexpr const auto TYPE = AccessEntityType::ROW_POLICY; AccessEntityType getType() const override { return TYPE; } + std::vector findDependencies() const override; + void replaceDependencies(const std::unordered_map & old_to_new_ids) override; + bool isBackupAllowed() const override { return true; } + /// Which roles or users should use this row policy. RolesOrUsersSet to_roles; diff --git a/src/Access/SettingsProfile.cpp b/src/Access/SettingsProfile.cpp index 64fb91eb66b..48aa48040ab 100644 --- a/src/Access/SettingsProfile.cpp +++ b/src/Access/SettingsProfile.cpp @@ -1,4 +1,5 @@ #include +#include namespace DB @@ -12,4 +13,18 @@ bool SettingsProfile::equal(const IAccessEntity & other) const return (elements == other_profile.elements) && (to_roles == other_profile.to_roles); } +std::vector SettingsProfile::findDependencies() const +{ + std::vector res; + insertAtEnd(res, elements.findDependencies()); + insertAtEnd(res, to_roles.findDependencies()); + return res; +} + +void SettingsProfile::replaceDependencies(const std::unordered_map & old_to_new_ids) +{ + elements.replaceDependencies(old_to_new_ids); + to_roles.replaceDependencies(old_to_new_ids); +} + } diff --git a/src/Access/SettingsProfile.h b/src/Access/SettingsProfile.h index e554924b45e..f85630d324d 100644 --- a/src/Access/SettingsProfile.h +++ b/src/Access/SettingsProfile.h @@ -20,6 +20,10 @@ struct SettingsProfile : public IAccessEntity std::shared_ptr clone() const override { return cloneImpl(); } static constexpr const auto TYPE = AccessEntityType::SETTINGS_PROFILE; AccessEntityType getType() const override { return TYPE; } + + std::vector findDependencies() const override; + void replaceDependencies(const std::unordered_map & old_to_new_ids) override; + bool isBackupAllowed() const override { return elements.isBackupAllowed(); } }; using SettingsProfilePtr = std::shared_ptr; diff --git a/src/Access/SettingsProfileElement.cpp b/src/Access/SettingsProfileElement.cpp index ea6edef94a6..465f26f37d9 100644 --- a/src/Access/SettingsProfileElement.cpp +++ b/src/Access/SettingsProfileElement.cpp @@ -12,6 +12,13 @@ namespace DB { + +namespace +{ + constexpr const char ALLOW_BACKUP_SETTING_NAME[] = "allow_backup"; +} + + SettingsProfileElement::SettingsProfileElement(const ASTSettingsProfileElement & ast) { init(ast, nullptr); @@ -41,7 +48,10 @@ void SettingsProfileElement::init(const ASTSettingsProfileElement & ast, const A /// Optionally check if a setting with that name is allowed. if (access_control) - access_control->checkSettingNameIsAllowed(setting_name); + { + if (setting_name != ALLOW_BACKUP_SETTING_NAME) + access_control->checkSettingNameIsAllowed(setting_name); + } value = ast.value; min_value = ast.min_value; @@ -127,6 +137,36 @@ std::shared_ptr SettingsProfileElements::toASTWithNa } +std::vector SettingsProfileElements::findDependencies() const +{ + std::vector res; + for (const auto & element : *this) + { + if (element.parent_profile) + res.push_back(*element.parent_profile); + } + return res; +} + + +void SettingsProfileElements::replaceDependencies(const std::unordered_map & old_to_new_ids) +{ + for (auto & element : *this) + { + if (element.parent_profile) + { + auto id = *element.parent_profile; + auto it_new_id = old_to_new_ids.find(id); + if (it_new_id != old_to_new_ids.end()) + { + auto new_id = it_new_id->second; + element.parent_profile = new_id; + } + } + } +} + + void SettingsProfileElements::merge(const SettingsProfileElements & other) { insert(end(), other.begin(), other.end()); @@ -138,8 +178,11 @@ Settings SettingsProfileElements::toSettings() const Settings res; for (const auto & elem : *this) { - if (!elem.setting_name.empty() && !elem.value.isNull()) - res.set(elem.setting_name, elem.value); + if (!elem.setting_name.empty() && (elem.setting_name != ALLOW_BACKUP_SETTING_NAME)) + { + if (!elem.value.isNull()) + res.set(elem.setting_name, elem.value); + } } return res; } @@ -149,8 +192,11 @@ SettingsChanges SettingsProfileElements::toSettingsChanges() const SettingsChanges res; for (const auto & elem : *this) { - if (!elem.setting_name.empty() && !elem.value.isNull()) - res.push_back({elem.setting_name, elem.value}); + if (!elem.setting_name.empty() && (elem.setting_name != ALLOW_BACKUP_SETTING_NAME)) + { + if (!elem.value.isNull()) + res.push_back({elem.setting_name, elem.value}); + } } return res; } @@ -160,7 +206,7 @@ SettingsConstraints SettingsProfileElements::toSettingsConstraints(const AccessC SettingsConstraints res{access_control}; for (const auto & elem : *this) { - if (!elem.setting_name.empty()) + if (!elem.setting_name.empty() && (elem.setting_name != ALLOW_BACKUP_SETTING_NAME)) { if (!elem.min_value.isNull()) res.setMinValue(elem.setting_name, elem.min_value); @@ -189,5 +235,14 @@ std::vector SettingsProfileElements::toProfileIDs() const return res; } +bool SettingsProfileElements::isBackupAllowed() const +{ + for (const auto & setting : *this) + { + if (setting.setting_name == ALLOW_BACKUP_SETTING_NAME) + return static_cast(SettingFieldBool{setting.value}); + } + return true; +} } diff --git a/src/Access/SettingsProfileElement.h b/src/Access/SettingsProfileElement.h index c9f6936c832..a4124826b40 100644 --- a/src/Access/SettingsProfileElement.h +++ b/src/Access/SettingsProfileElement.h @@ -3,6 +3,7 @@ #include #include #include +#include #include @@ -19,6 +20,7 @@ class AccessControl; struct SettingsProfileElement { std::optional parent_profile; + String setting_name; Field value; Field min_value; @@ -57,12 +59,17 @@ public: std::shared_ptr toAST() const; std::shared_ptr toASTWithNames(const AccessControl & access_control) const; + std::vector findDependencies() const; + void replaceDependencies(const std::unordered_map & old_to_new_ids); + void merge(const SettingsProfileElements & other); Settings toSettings() const; SettingsChanges toSettingsChanges() const; SettingsConstraints toSettingsConstraints(const AccessControl & access_control) const; std::vector toProfileIDs() const; + + bool isBackupAllowed() const; }; } diff --git a/src/Access/User.cpp b/src/Access/User.cpp index d7c7f5c7ada..c5750cdcd6c 100644 --- a/src/Access/User.cpp +++ b/src/Access/User.cpp @@ -1,8 +1,14 @@ #include +#include +#include namespace DB { +namespace ErrorCodes +{ + extern const int BAD_ARGUMENTS; +} bool User::equal(const IAccessEntity & other) const { @@ -14,4 +20,34 @@ bool User::equal(const IAccessEntity & other) const && (settings == other_user.settings) && (grantees == other_user.grantees) && (default_database == other_user.default_database); } +void User::setName(const String & name_) +{ + /// Unfortunately, there is not way to distinguish USER_INTERSERVER_MARKER from actual username in native protocol, + /// so we have to ensure that no such user will appear. + /// Also it was possible to create a user with empty name for some reason. + if (name_.empty()) + throw Exception(ErrorCodes::BAD_ARGUMENTS, "User name is empty"); + if (name_ == USER_INTERSERVER_MARKER) + throw Exception(ErrorCodes::BAD_ARGUMENTS, "User name '{}' is reserved", USER_INTERSERVER_MARKER); + name = name_; +} + +std::vector User::findDependencies() const +{ + std::vector res; + insertAtEnd(res, default_roles.findDependencies()); + insertAtEnd(res, granted_roles.findDependencies()); + insertAtEnd(res, grantees.findDependencies()); + insertAtEnd(res, settings.findDependencies()); + return res; +} + +void User::replaceDependencies(const std::unordered_map & old_to_new_ids) +{ + default_roles.replaceDependencies(old_to_new_ids); + granted_roles.replaceDependencies(old_to_new_ids); + grantees.replaceDependencies(old_to_new_ids); + settings.replaceDependencies(old_to_new_ids); +} + } diff --git a/src/Access/User.h b/src/Access/User.h index b9167d68f15..958d8bb486f 100644 --- a/src/Access/User.h +++ b/src/Access/User.h @@ -28,6 +28,11 @@ struct User : public IAccessEntity std::shared_ptr clone() const override { return cloneImpl(); } static constexpr const auto TYPE = AccessEntityType::USER; AccessEntityType getType() const override { return TYPE; } + void setName(const String & name_) override; + + std::vector findDependencies() const override; + void replaceDependencies(const std::unordered_map & old_to_new_ids) override; + bool isBackupAllowed() const override { return settings.isBackupAllowed(); } }; using UserPtr = std::shared_ptr; diff --git a/src/Access/UsersConfigAccessStorage.cpp b/src/Access/UsersConfigAccessStorage.cpp index a6c4388fef8..1d755fdf1da 100644 --- a/src/Access/UsersConfigAccessStorage.cpp +++ b/src/Access/UsersConfigAccessStorage.cpp @@ -26,6 +26,7 @@ namespace ErrorCodes { extern const int BAD_ARGUMENTS; extern const int UNKNOWN_ADDRESS_PATTERN_TYPE; + extern const int THERE_IS_NO_PROFILE; extern const int NOT_IMPLEMENTED; } @@ -47,7 +48,7 @@ namespace UUID generateID(const IAccessEntity & entity) { return generateID(entity.getType(), entity.getName()); } - UserPtr parseUser(const Poco::Util::AbstractConfiguration & config, const String & user_name, bool allow_no_password, bool allow_plaintext_password) + UserPtr parseUser(const Poco::Util::AbstractConfiguration & config, const String & user_name, const std::unordered_set & allowed_profile_ids, bool allow_no_password, bool allow_plaintext_password) { auto user = std::make_shared(); user->setName(user_name); @@ -140,8 +141,11 @@ namespace if (config.has(profile_name_config)) { auto profile_name = config.getString(profile_name_config); + auto profile_id = generateID(AccessEntityType::SETTINGS_PROFILE, profile_name); + if (!allowed_profile_ids.contains(profile_id)) + throw Exception(ErrorCodes::THERE_IS_NO_PROFILE, "Profile {} was not found", profile_name); SettingsProfileElement profile_element; - profile_element.parent_profile = generateID(AccessEntityType::SETTINGS_PROFILE, profile_name); + profile_element.parent_profile = profile_id; user->settings.push_back(std::move(profile_element)); } @@ -231,7 +235,7 @@ namespace } - std::vector parseUsers(const Poco::Util::AbstractConfiguration & config, bool allow_no_password, bool allow_plaintext_password) + std::vector parseUsers(const Poco::Util::AbstractConfiguration & config, const std::unordered_set & allowed_profile_ids, bool allow_no_password, bool allow_plaintext_password) { Poco::Util::AbstractConfiguration::Keys user_names; config.keys("users", user_names); @@ -242,7 +246,7 @@ namespace { try { - users.push_back(parseUser(config, user_name, allow_no_password, allow_plaintext_password)); + users.push_back(parseUser(config, user_name, allowed_profile_ids, allow_no_password, allow_plaintext_password)); } catch (Exception & e) { @@ -457,6 +461,7 @@ namespace std::shared_ptr parseSettingsProfile( const Poco::Util::AbstractConfiguration & config, const String & profile_name, + const std::unordered_set & allowed_parent_profile_ids, const AccessControl & access_control) { auto profile = std::make_shared(); @@ -471,8 +476,11 @@ namespace if (key == "profile" || key.starts_with("profile[")) { String parent_profile_name = config.getString(profile_config + "." + key); + auto parent_profile_id = generateID(AccessEntityType::SETTINGS_PROFILE, parent_profile_name); + if (!allowed_parent_profile_ids.contains(parent_profile_id)) + throw Exception(ErrorCodes::THERE_IS_NO_PROFILE, "Parent profile '{}' was not found", parent_profile_name); SettingsProfileElement profile_element; - profile_element.parent_profile = generateID(AccessEntityType::SETTINGS_PROFILE, parent_profile_name); + profile_element.parent_profile = parent_profile_id; profile->elements.emplace_back(std::move(profile_element)); continue; } @@ -498,6 +506,7 @@ namespace std::vector parseSettingsProfiles( const Poco::Util::AbstractConfiguration & config, + const std::unordered_set & allowed_parent_profile_ids, const AccessControl & access_control) { Poco::Util::AbstractConfiguration::Keys profile_names; @@ -510,7 +519,7 @@ namespace { try { - profiles.push_back(parseSettingsProfile(config, profile_name, access_control)); + profiles.push_back(parseSettingsProfile(config, profile_name, allowed_parent_profile_ids, access_control)); } catch (Exception & e) { @@ -521,10 +530,24 @@ namespace return profiles; } + + + std::unordered_set getAllowedSettingsProfileIDs(const Poco::Util::AbstractConfiguration & config) + { + Poco::Util::AbstractConfiguration::Keys profile_names; + config.keys("profiles", profile_names); + std::unordered_set ids; + for (const auto & profile_name : profile_names) + ids.emplace(generateID(AccessEntityType::SETTINGS_PROFILE, profile_name)); + return ids; + } } -UsersConfigAccessStorage::UsersConfigAccessStorage(const String & storage_name_, AccessControl & access_control_) - : IAccessStorage(storage_name_), access_control(access_control_), memory_storage(storage_name_, access_control.getChangesNotifier()) +UsersConfigAccessStorage::UsersConfigAccessStorage(const String & storage_name_, AccessControl & access_control_, bool allow_backup_) + : IAccessStorage(storage_name_) + , access_control(access_control_) + , memory_storage(storage_name_, access_control.getChangesNotifier(), false) + , backup_allowed(allow_backup_) { } @@ -566,16 +589,18 @@ void UsersConfigAccessStorage::parseFromConfig(const Poco::Util::AbstractConfigu { try { + auto allowed_profile_ids = getAllowedSettingsProfileIDs(config); bool no_password_allowed = access_control.isNoPasswordAllowed(); bool plaintext_password_allowed = access_control.isPlaintextPasswordAllowed(); + std::vector> all_entities; - for (const auto & entity : parseUsers(config, no_password_allowed, plaintext_password_allowed)) + for (const auto & entity : parseUsers(config, allowed_profile_ids, no_password_allowed, plaintext_password_allowed)) all_entities.emplace_back(generateID(*entity), entity); for (const auto & entity : parseQuotas(config)) all_entities.emplace_back(generateID(*entity), entity); for (const auto & entity : parseRowPolicies(config, access_control.isEnabledUsersWithoutRowPoliciesCanReadRows())) all_entities.emplace_back(generateID(*entity), entity); - for (const auto & entity : parseSettingsProfiles(config, access_control)) + for (const auto & entity : parseSettingsProfiles(config, allowed_profile_ids, access_control)) all_entities.emplace_back(generateID(*entity), entity); memory_storage.setAll(all_entities); } @@ -655,9 +680,9 @@ AccessEntityPtr UsersConfigAccessStorage::readImpl(const UUID & id, bool throw_i } -std::optional UsersConfigAccessStorage::readNameImpl(const UUID & id, bool throw_if_not_exists) const +std::optional> UsersConfigAccessStorage::readNameWithTypeImpl(const UUID & id, bool throw_if_not_exists) const { - return memory_storage.readName(id, throw_if_not_exists); + return memory_storage.readNameWithType(id, throw_if_not_exists); } } diff --git a/src/Access/UsersConfigAccessStorage.h b/src/Access/UsersConfigAccessStorage.h index 5c99bf30160..3fa8b4185a8 100644 --- a/src/Access/UsersConfigAccessStorage.h +++ b/src/Access/UsersConfigAccessStorage.h @@ -22,7 +22,7 @@ public: static constexpr char STORAGE_TYPE[] = "users.xml"; - UsersConfigAccessStorage(const String & storage_name_, AccessControl & access_control_); + UsersConfigAccessStorage(const String & storage_name_, AccessControl & access_control_, bool allow_backup_); ~UsersConfigAccessStorage() override; const char * getStorageType() const override { return STORAGE_TYPE; } @@ -44,17 +44,20 @@ public: bool exists(const UUID & id) const override; + bool isBackupAllowed() const override { return backup_allowed; } + private: void parseFromConfig(const Poco::Util::AbstractConfiguration & config); std::optional findImpl(AccessEntityType type, const String & name) const override; std::vector findAllImpl(AccessEntityType type) const override; AccessEntityPtr readImpl(const UUID & id, bool throw_if_not_exists) const override; - std::optional readNameImpl(const UUID & id, bool throw_if_not_exists) const override; + std::optional> readNameWithTypeImpl(const UUID & id, bool throw_if_not_exists) const override; AccessControl & access_control; MemoryAccessStorage memory_storage; String path; std::unique_ptr config_reloader; + bool backup_allowed = false; mutable std::mutex load_mutex; }; } diff --git a/src/Access/examples/CMakeLists.txt b/src/Access/examples/CMakeLists.txt new file mode 100644 index 00000000000..07f75ca0b47 --- /dev/null +++ b/src/Access/examples/CMakeLists.txt @@ -0,0 +1,4 @@ +if (TARGET ch_contrib::krb5) + add_executable (kerberos_init kerberos_init.cpp) + target_link_libraries (kerberos_init PRIVATE dbms ch_contrib::krb5) +endif() diff --git a/src/Access/examples/kerberos_init.cpp b/src/Access/examples/kerberos_init.cpp new file mode 100644 index 00000000000..5dbe92a5b57 --- /dev/null +++ b/src/Access/examples/kerberos_init.cpp @@ -0,0 +1,47 @@ +#include +#include +#include +#include +#include +#include + +/** The example demonstrates using of kerberosInit function to obtain and cache Kerberos ticket-granting ticket. + * The first argument specifies keytab file. The second argument specifies principal name. + * The third argument is optional. It specifies credentials cache location. + * After successful run of kerberos_init it is useful to call klist command to list cached Kerberos tickets. + * It is also useful to run kdestroy to destroy Kerberos tickets if needed. + */ + +using namespace DB; + +int main(int argc, char ** argv) +{ + std::cout << "Kerberos Init" << "\n"; + + if (argc < 3) + { + std::cout << "kerberos_init obtains and caches an initial ticket-granting ticket for principal." << "\n\n"; + std::cout << "Usage:" << "\n" << " kerberos_init keytab principal [cache]" << "\n"; + return 0; + } + + String cache_name = ""; + if (argc == 4) + cache_name = argv[3]; + + Poco::AutoPtr app_channel(new Poco::ConsoleChannel(std::cerr)); + Poco::Logger::root().setChannel(app_channel); + Poco::Logger::root().setLevel("trace"); + + try + { + kerberosInit(argv[1], argv[2], cache_name); + } + catch (const Exception & e) + { + std::cout << "KerberosInit failure: " << getExceptionMessage(e, false) << "\n"; + return -1; + } + std::cout << "Done" << "\n"; + return 0; +} diff --git a/src/Access/tests/gtest_access_rights_ops.cpp b/src/Access/tests/gtest_access_rights_ops.cpp index 7513d72ba26..02aafb7415b 100644 --- a/src/Access/tests/gtest_access_rights_ops.cpp +++ b/src/Access/tests/gtest_access_rights_ops.cpp @@ -49,7 +49,7 @@ TEST(AccessRights, Union) "GRANT INSERT ON *.*, " "GRANT SHOW, SELECT, ALTER, CREATE DATABASE, CREATE TABLE, CREATE VIEW, " "CREATE DICTIONARY, DROP DATABASE, DROP TABLE, DROP VIEW, DROP DICTIONARY, " - "TRUNCATE, OPTIMIZE, CREATE ROW POLICY, ALTER ROW POLICY, DROP ROW POLICY, " + "TRUNCATE, OPTIMIZE, BACKUP, CREATE ROW POLICY, ALTER ROW POLICY, DROP ROW POLICY, " "SHOW ROW POLICIES, SYSTEM MERGES, SYSTEM TTL MERGES, SYSTEM FETCHES, " "SYSTEM MOVES, SYSTEM SENDS, SYSTEM REPLICATION QUEUES, " "SYSTEM DROP REPLICA, SYSTEM SYNC REPLICA, SYSTEM RESTART REPLICA, " diff --git a/src/Access/tests/gtest_replicated_access_storage.cpp b/src/Access/tests/gtest_replicated_access_storage.cpp index c780e598b64..2b80ccfb323 100644 --- a/src/Access/tests/gtest_replicated_access_storage.cpp +++ b/src/Access/tests/gtest_replicated_access_storage.cpp @@ -24,7 +24,7 @@ TEST(ReplicatedAccessStorage, ShutdownWithFailedStartup) try { - auto storage = ReplicatedAccessStorage("replicated", "/clickhouse/access", get_zk, changes_notifier); + auto storage = ReplicatedAccessStorage("replicated", "/clickhouse/access", get_zk, changes_notifier, false); } catch (Exception & e) { diff --git a/src/AggregateFunctions/AggregateFunctionAggThrow.cpp b/src/AggregateFunctions/AggregateFunctionAggThrow.cpp index 8eb25953dbd..e74f93cd9b0 100644 --- a/src/AggregateFunctions/AggregateFunctionAggThrow.cpp +++ b/src/AggregateFunctions/AggregateFunctionAggThrow.cpp @@ -76,27 +76,27 @@ public: data(place).~Data(); } - void add(AggregateDataPtr, const IColumn **, size_t, Arena *) const override + void add(AggregateDataPtr __restrict, const IColumn **, size_t, Arena *) const override { } - void merge(AggregateDataPtr, ConstAggregateDataPtr, Arena *) const override + void merge(AggregateDataPtr __restrict, ConstAggregateDataPtr, Arena *) const override { } - void serialize(ConstAggregateDataPtr, WriteBuffer & buf, std::optional /* version */) const override + void serialize(ConstAggregateDataPtr __restrict, WriteBuffer & buf, std::optional /* version */) const override { char c = 0; buf.write(c); } - void deserialize(AggregateDataPtr /* place */, ReadBuffer & buf, std::optional /* version */, Arena *) const override + void deserialize(AggregateDataPtr __restrict /* place */, ReadBuffer & buf, std::optional /* version */, Arena *) const override { char c = 0; buf.read(c); } - void insertResultInto(AggregateDataPtr, IColumn & to, Arena *) const override + void insertResultInto(AggregateDataPtr __restrict, IColumn & to, Arena *) const override { to.insertDefault(); } diff --git a/src/AggregateFunctions/AggregateFunctionAvg.h b/src/AggregateFunctions/AggregateFunctionAvg.h index 4b412f56f45..c41a51997df 100644 --- a/src/AggregateFunctions/AggregateFunctionAvg.h +++ b/src/AggregateFunctions/AggregateFunctionAvg.h @@ -224,11 +224,19 @@ public: ++this->data(place).denominator; } - void - addBatchSinglePlace( + void addManyDefaults( + AggregateDataPtr __restrict place, + const IColumn ** /*columns*/, + size_t length, + Arena * /*arena*/) const override + { + this->data(place).denominator += length; + } + + void addBatchSinglePlace( size_t row_begin, size_t row_end, - AggregateDataPtr place, + AggregateDataPtr __restrict place, const IColumn ** columns, Arena *, ssize_t if_argument_pos) const final @@ -252,7 +260,7 @@ public: void addBatchSinglePlaceNotNull( size_t row_begin, size_t row_end, - AggregateDataPtr place, + AggregateDataPtr __restrict place, const IColumn ** columns, const UInt8 * null_map, Arena *, diff --git a/src/AggregateFunctions/AggregateFunctionCategoricalInformationValue.h b/src/AggregateFunctions/AggregateFunctionCategoricalInformationValue.h index cb945cc6ed9..0e0db27cf22 100644 --- a/src/AggregateFunctions/AggregateFunctionCategoricalInformationValue.h +++ b/src/AggregateFunctions/AggregateFunctionCategoricalInformationValue.h @@ -41,7 +41,7 @@ public: memset(place, 0, sizeOfData()); } - void destroy(AggregateDataPtr) const noexcept override + void destroy(AggregateDataPtr __restrict) const noexcept override { // nothing } @@ -61,7 +61,7 @@ public: return alignof(T); } - void add(AggregateDataPtr place, const IColumn ** columns, size_t row_num, Arena *) const override + void add(AggregateDataPtr __restrict place, const IColumn ** columns, size_t row_num, Arena *) const override { const auto * y_col = static_cast(columns[category_count]); bool y = y_col->getData()[row_num]; @@ -78,7 +78,7 @@ public: reinterpret_cast(place)[category_count * 2 + size_t(y)] += 1; } - void merge(AggregateDataPtr place, ConstAggregateDataPtr rhs, Arena *) const override + void merge(AggregateDataPtr __restrict place, ConstAggregateDataPtr rhs, Arena *) const override { for (size_t i : collections::range(0, category_count + 1)) { @@ -87,12 +87,12 @@ public: } } - void serialize(ConstAggregateDataPtr place, WriteBuffer & buf, std::optional /* version */) const override + void serialize(ConstAggregateDataPtr __restrict place, WriteBuffer & buf, std::optional /* version */) const override { buf.write(place, sizeOfData()); } - void deserialize(AggregateDataPtr place, ReadBuffer & buf, std::optional /* version */, Arena *) const override + void deserialize(AggregateDataPtr __restrict place, ReadBuffer & buf, std::optional /* version */, Arena *) const override { buf.read(place, sizeOfData()); } diff --git a/src/AggregateFunctions/AggregateFunctionCount.h b/src/AggregateFunctions/AggregateFunctionCount.h index c2608a530ef..4199cb55409 100644 --- a/src/AggregateFunctions/AggregateFunctionCount.h +++ b/src/AggregateFunctions/AggregateFunctionCount.h @@ -53,10 +53,19 @@ public: ++data(place).count; } + void addManyDefaults( + AggregateDataPtr __restrict place, + const IColumn ** /*columns*/, + size_t length, + Arena * /*arena*/) const override + { + data(place).count += length; + } + void addBatchSinglePlace( size_t row_begin, size_t row_end, - AggregateDataPtr place, + AggregateDataPtr __restrict place, const IColumn ** columns, Arena *, ssize_t if_argument_pos) const override @@ -75,7 +84,7 @@ public: void addBatchSinglePlaceNotNull( size_t row_begin, size_t row_end, - AggregateDataPtr place, + AggregateDataPtr __restrict place, const IColumn ** columns, const UInt8 * null_map, Arena *, @@ -213,7 +222,7 @@ public: void addBatchSinglePlace( size_t row_begin, size_t row_end, - AggregateDataPtr place, + AggregateDataPtr __restrict place, const IColumn ** columns, Arena *, ssize_t if_argument_pos) const override diff --git a/src/AggregateFunctions/AggregateFunctionFactory.h b/src/AggregateFunctions/AggregateFunctionFactory.h index e5263a54d79..a860831cb88 100644 --- a/src/AggregateFunctions/AggregateFunctionFactory.h +++ b/src/AggregateFunctions/AggregateFunctionFactory.h @@ -2,6 +2,7 @@ #include #include +#include #include @@ -105,4 +106,12 @@ private: }; +struct AggregateUtils +{ + static bool isAggregateFunction(const ASTFunction & node) + { + return AggregateFunctionFactory::instance().isAggregateFunctionName(node.name); + } +}; + } diff --git a/src/AggregateFunctions/AggregateFunctionIf.cpp b/src/AggregateFunctions/AggregateFunctionIf.cpp index 8663df1e902..fa5e6b85a1e 100644 --- a/src/AggregateFunctions/AggregateFunctionIf.cpp +++ b/src/AggregateFunctions/AggregateFunctionIf.cpp @@ -122,7 +122,7 @@ public: void addBatchSinglePlace( size_t row_begin, size_t row_end, - AggregateDataPtr place, + AggregateDataPtr __restrict place, const IColumn ** columns, Arena * arena, ssize_t) const override diff --git a/src/AggregateFunctions/AggregateFunctionIf.h b/src/AggregateFunctions/AggregateFunctionIf.h index 9a17c567db6..f3221ae66e9 100644 --- a/src/AggregateFunctions/AggregateFunctionIf.h +++ b/src/AggregateFunctions/AggregateFunctionIf.h @@ -100,7 +100,7 @@ public: void addBatch( size_t row_begin, size_t row_end, - AggregateDataPtr * places, + AggregateDataPtr * __restrict places, size_t place_offset, const IColumn ** columns, Arena * arena, @@ -112,7 +112,7 @@ public: void addBatchSinglePlace( size_t row_begin, size_t row_end, - AggregateDataPtr place, + AggregateDataPtr __restrict place, const IColumn ** columns, Arena * arena, ssize_t) const override @@ -123,7 +123,7 @@ public: void addBatchSinglePlaceNotNull( size_t row_begin, size_t row_end, - AggregateDataPtr place, + AggregateDataPtr __restrict place, const IColumn ** columns, const UInt8 * null_map, Arena * arena, diff --git a/src/AggregateFunctions/AggregateFunctionMLMethod.h b/src/AggregateFunctions/AggregateFunctionMLMethod.h index 705e689d347..b9d5d835f57 100644 --- a/src/AggregateFunctions/AggregateFunctionMLMethod.h +++ b/src/AggregateFunctions/AggregateFunctionMLMethod.h @@ -362,7 +362,7 @@ public: void deserialize(AggregateDataPtr __restrict place, ReadBuffer & buf, std::optional /* version */, Arena *) const override { this->data(place).read(buf); } void predictValues( - ConstAggregateDataPtr place, + ConstAggregateDataPtr __restrict place, IColumn & to, const ColumnsWithTypeAndName & arguments, size_t offset, diff --git a/src/AggregateFunctions/AggregateFunctionMannWhitney.h b/src/AggregateFunctions/AggregateFunctionMannWhitney.h index 089f70cd26b..d861eef10ab 100644 --- a/src/AggregateFunctions/AggregateFunctionMannWhitney.h +++ b/src/AggregateFunctions/AggregateFunctionMannWhitney.h @@ -6,8 +6,10 @@ #include #include #include +#include #include #include +#include #include #include #include @@ -16,10 +18,7 @@ #include #include -#include - -#include - +#include namespace DB { @@ -84,15 +83,14 @@ struct MannWhitneyData : public StatisticalSample if (alternative == Alternative::TwoSided) z = std::abs(z); - /// In fact cdf is a probability function, so it is intergral of density from (-inf, z]. - /// But since standard normal distribution is symmetric, cdf(0) = 0.5 and we have to compute integral from [0, z]. - const Float64 cdf = integrateSimpson(0, z, [] (Float64 t) { return std::pow(M_E, -0.5 * t * t) / std::sqrt(2 * M_PI);}); + auto standart_normal_distribution = boost::math::normal_distribution(); + auto cdf = boost::math::cdf(standart_normal_distribution, z); Float64 p_value = 0; if (alternative == Alternative::TwoSided) - p_value = 1 - 2 * cdf; + p_value = 2 - 2 * cdf; else - p_value = 0.5 - cdf; + p_value = 1 - cdf; return {u2, p_value}; } diff --git a/src/AggregateFunctions/AggregateFunctionMap.h b/src/AggregateFunctions/AggregateFunctionMap.h index 3aa0b26cae9..5ccc9041c36 100644 --- a/src/AggregateFunctions/AggregateFunctionMap.h +++ b/src/AggregateFunctions/AggregateFunctionMap.h @@ -105,7 +105,7 @@ public: DataTypePtr getReturnType() const override { return std::make_shared(DataTypes{key_type, nested_func->getReturnType()}); } - void add(AggregateDataPtr place, const IColumn ** columns, size_t row_num, Arena * arena) const override + void add(AggregateDataPtr __restrict place, const IColumn ** columns, size_t row_num, Arena * arena) const override { const auto & map_column = assert_cast(*columns[0]); const auto & map_nested_tuple = map_column.getNestedData(); @@ -160,7 +160,7 @@ public: } } - void merge(AggregateDataPtr place, ConstAggregateDataPtr rhs, Arena * arena) const override + void merge(AggregateDataPtr __restrict place, ConstAggregateDataPtr rhs, Arena * arena) const override { auto & merged_maps = this->data(place).merged_maps; const auto & rhs_maps = this->data(rhs).merged_maps; @@ -169,16 +169,25 @@ public: { const auto & it = merged_maps.find(elem.first); - if (it != merged_maps.end()) + AggregateDataPtr nested_place; + if (it == merged_maps.end()) { - nested_func->merge(it->second, elem.second, arena); + // elem.second cannot be copied since this it will be destroyed after merging, + // and lead to use-after-free. + nested_place = arena->alignedAlloc(nested_func->sizeOfData(), nested_func->alignOfData()); + nested_func->create(nested_place); + merged_maps.emplace(elem.first, nested_place); } else - merged_maps[elem.first] = elem.second; + { + nested_place = it->second; + } + + nested_func->merge(nested_place, elem.second, arena); } } - void serialize(ConstAggregateDataPtr place, WriteBuffer & buf, std::optional /* version */) const override + void serialize(ConstAggregateDataPtr __restrict place, WriteBuffer & buf, std::optional /* version */) const override { auto & merged_maps = this->data(place).merged_maps; writeVarUInt(merged_maps.size(), buf); @@ -190,7 +199,7 @@ public: } } - void deserialize(AggregateDataPtr place, ReadBuffer & buf, std::optional /* version */, Arena * arena) const override + void deserialize(AggregateDataPtr __restrict place, ReadBuffer & buf, std::optional /* version */, Arena * arena) const override { auto & merged_maps = this->data(place).merged_maps; UInt64 size; @@ -209,7 +218,7 @@ public: } } - void insertResultInto(AggregateDataPtr place, IColumn & to, Arena * arena) const override + void insertResultInto(AggregateDataPtr __restrict place, IColumn & to, Arena * arena) const override { auto & map_column = assert_cast(to); auto & nested_column = map_column.getNestedColumn(); diff --git a/src/AggregateFunctions/AggregateFunctionMinMaxAny.h b/src/AggregateFunctions/AggregateFunctionMinMaxAny.h index c306a395145..d579a925f9d 100644 --- a/src/AggregateFunctions/AggregateFunctionMinMaxAny.h +++ b/src/AggregateFunctions/AggregateFunctionMinMaxAny.h @@ -880,8 +880,9 @@ struct AggregateFunctionMinData : Data { using Self = AggregateFunctionMinData; - bool changeIfBetter(const IColumn & column, size_t row_num, Arena * arena) { return this->changeIfLess(column, row_num, arena); } - bool changeIfBetter(const Self & to, Arena * arena) { return this->changeIfLess(to, arena); } + bool changeIfBetter(const IColumn & column, size_t row_num, Arena * arena) { return this->changeIfLess(column, row_num, arena); } + bool changeIfBetter(const Self & to, Arena * arena) { return this->changeIfLess(to, arena); } + void addManyDefaults(const IColumn & column, size_t /*length*/, Arena * arena) { this->changeIfLess(column, 0, arena); } static const char * name() { return "min"; } @@ -907,8 +908,9 @@ struct AggregateFunctionMaxData : Data { using Self = AggregateFunctionMaxData; - bool changeIfBetter(const IColumn & column, size_t row_num, Arena * arena) { return this->changeIfGreater(column, row_num, arena); } - bool changeIfBetter(const Self & to, Arena * arena) { return this->changeIfGreater(to, arena); } + bool changeIfBetter(const IColumn & column, size_t row_num, Arena * arena) { return this->changeIfGreater(column, row_num, arena); } + bool changeIfBetter(const Self & to, Arena * arena) { return this->changeIfGreater(to, arena); } + void addManyDefaults(const IColumn & column, size_t /*length*/, Arena * arena) { this->changeIfGreater(column, 0, arena); } static const char * name() { return "max"; } @@ -935,8 +937,9 @@ struct AggregateFunctionAnyData : Data using Self = AggregateFunctionAnyData; static constexpr bool is_any = true; - bool changeIfBetter(const IColumn & column, size_t row_num, Arena * arena) { return this->changeFirstTime(column, row_num, arena); } - bool changeIfBetter(const Self & to, Arena * arena) { return this->changeFirstTime(to, arena); } + bool changeIfBetter(const IColumn & column, size_t row_num, Arena * arena) { return this->changeFirstTime(column, row_num, arena); } + bool changeIfBetter(const Self & to, Arena * arena) { return this->changeFirstTime(to, arena); } + void addManyDefaults(const IColumn & column, size_t /*length*/, Arena * arena) { this->changeFirstTime(column, 0, arena); } static const char * name() { return "any"; } @@ -962,8 +965,9 @@ struct AggregateFunctionAnyLastData : Data { using Self = AggregateFunctionAnyLastData; - bool changeIfBetter(const IColumn & column, size_t row_num, Arena * arena) { return this->changeEveryTime(column, row_num, arena); } - bool changeIfBetter(const Self & to, Arena * arena) { return this->changeEveryTime(to, arena); } + bool changeIfBetter(const IColumn & column, size_t row_num, Arena * arena) { return this->changeEveryTime(column, row_num, arena); } + bool changeIfBetter(const Self & to, Arena * arena) { return this->changeEveryTime(to, arena); } + void addManyDefaults(const IColumn & column, size_t /*length*/, Arena * arena) { this->changeEveryTime(column, 0, arena); } static const char * name() { return "anyLast"; } @@ -1024,6 +1028,8 @@ struct AggregateFunctionSingleValueOrNullData : Data return false; } + void addManyDefaults(const IColumn & column, size_t /*length*/, Arena * arena) { this->changeIfBetter(column, 0, arena); } + void insertResultInto(IColumn & to) const { if (is_null || first_value) @@ -1098,6 +1104,12 @@ struct AggregateFunctionAnyHeavyData : Data return false; } + void addManyDefaults(const IColumn & column, size_t length, Arena * arena) + { + for (size_t i = 0; i < length; ++i) + changeIfBetter(column, 0, arena); + } + void write(WriteBuffer & buf, const ISerialization & serialization) const { Data::write(buf, serialization); @@ -1158,6 +1170,15 @@ public: this->data(place).changeIfBetter(*columns[0], row_num, arena); } + void addManyDefaults( + AggregateDataPtr __restrict place, + const IColumn ** columns, + size_t length, + Arena * arena) const override + { + this->data(place).addManyDefaults(*columns[0], length, arena); + } + void addBatchSinglePlace( size_t row_begin, size_t row_end, diff --git a/src/AggregateFunctions/AggregateFunctionNothing.h b/src/AggregateFunctions/AggregateFunctionNothing.h index 645ea7c3f8a..13ef407be8b 100644 --- a/src/AggregateFunctions/AggregateFunctionNothing.h +++ b/src/AggregateFunctions/AggregateFunctionNothing.h @@ -33,11 +33,11 @@ public: bool allocatesMemoryInArena() const override { return false; } - void create(AggregateDataPtr) const override + void create(AggregateDataPtr __restrict) const override { } - void destroy(AggregateDataPtr) const noexcept override + void destroy(AggregateDataPtr __restrict) const noexcept override { } @@ -56,11 +56,11 @@ public: return 1; } - void add(AggregateDataPtr, const IColumn **, size_t, Arena *) const override + void add(AggregateDataPtr __restrict, const IColumn **, size_t, Arena *) const override { } - void merge(AggregateDataPtr, ConstAggregateDataPtr, Arena *) const override + void merge(AggregateDataPtr __restrict, ConstAggregateDataPtr, Arena *) const override { } @@ -69,14 +69,14 @@ public: writeChar('\0', buf); } - void deserialize(AggregateDataPtr, ReadBuffer & buf, std::optional, Arena *) const override + void deserialize(AggregateDataPtr __restrict, ReadBuffer & buf, std::optional, Arena *) const override { [[maybe_unused]] char symbol; readChar(symbol, buf); assert(symbol == '\0'); } - void insertResultInto(AggregateDataPtr, IColumn & to, Arena *) const override + void insertResultInto(AggregateDataPtr __restrict, IColumn & to, Arena *) const override { to.insertDefault(); } diff --git a/src/AggregateFunctions/AggregateFunctionNull.h b/src/AggregateFunctions/AggregateFunctionNull.h index 3a9330edce1..ca284680800 100644 --- a/src/AggregateFunctions/AggregateFunctionNull.h +++ b/src/AggregateFunctions/AggregateFunctionNull.h @@ -309,7 +309,7 @@ public: void addBatchSinglePlace( /// NOLINT size_t row_begin, size_t row_end, - AggregateDataPtr place, + AggregateDataPtr __restrict place, const IColumn ** columns, Arena * arena, ssize_t if_argument_pos = -1) const override diff --git a/src/AggregateFunctions/AggregateFunctionOrFill.h b/src/AggregateFunctions/AggregateFunctionOrFill.h index 73f70074e53..4eca1b4df92 100644 --- a/src/AggregateFunctions/AggregateFunctionOrFill.h +++ b/src/AggregateFunctions/AggregateFunctionOrFill.h @@ -99,7 +99,7 @@ public: } void add( - AggregateDataPtr place, + AggregateDataPtr __restrict place, const IColumn ** columns, size_t row_num, Arena * arena) const override @@ -138,7 +138,7 @@ public: void addBatchSinglePlace( /// NOLINT size_t row_begin, size_t row_end, - AggregateDataPtr place, + AggregateDataPtr __restrict place, const IColumn ** columns, Arena * arena, ssize_t if_argument_pos = -1) const override @@ -169,7 +169,7 @@ public: void addBatchSinglePlaceNotNull( /// NOLINT size_t row_begin, size_t row_end, - AggregateDataPtr place, + AggregateDataPtr __restrict place, const IColumn ** columns, const UInt8 * null_map, Arena * arena, @@ -206,7 +206,7 @@ public: } void merge( - AggregateDataPtr place, + AggregateDataPtr __restrict place, ConstAggregateDataPtr rhs, Arena * arena) const override { @@ -227,14 +227,14 @@ public: (places[i] + place_offset)[size_of_data] |= rhs[i][size_of_data]; } - void serialize(ConstAggregateDataPtr place, WriteBuffer & buf, std::optional version) const override + void serialize(ConstAggregateDataPtr __restrict place, WriteBuffer & buf, std::optional version) const override { nested_function->serialize(place, buf, version); writeChar(place[size_of_data], buf); } - void deserialize(AggregateDataPtr place, ReadBuffer & buf, std::optional version, Arena * arena) const override + void deserialize(AggregateDataPtr __restrict place, ReadBuffer & buf, std::optional version, Arena * arena) const override { nested_function->deserialize(place, buf, version, arena); @@ -261,7 +261,7 @@ public: } void insertResultInto( - AggregateDataPtr place, + AggregateDataPtr __restrict place, IColumn & to, Arena * arena) const override { diff --git a/src/AggregateFunctions/AggregateFunctionRankCorrelation.h b/src/AggregateFunctions/AggregateFunctionRankCorrelation.h index a9bf8254f35..670dd5948f7 100644 --- a/src/AggregateFunctions/AggregateFunctionRankCorrelation.h +++ b/src/AggregateFunctions/AggregateFunctionRankCorrelation.h @@ -31,8 +31,8 @@ struct RankCorrelationData : public StatisticalSample RanksArray ranks_y; std::tie(ranks_y, std::ignore) = computeRanksAndTieCorrection(this->y); - /// In our case sizes of both samples are equal. - const auto size = this->size_x; + /// Sizes can be non-equal due to skipped NaNs. + const auto size = std::min(this->size_x, this->size_y); /// Count d^2 sum Float64 answer = 0; diff --git a/src/AggregateFunctions/AggregateFunctionResample.h b/src/AggregateFunctions/AggregateFunctionResample.h index 8f2138eb3a5..5d7bf95ceee 100644 --- a/src/AggregateFunctions/AggregateFunctionResample.h +++ b/src/AggregateFunctions/AggregateFunctionResample.h @@ -134,7 +134,7 @@ public: nested_function->destroy(place + i * size_of_data); } - void add(AggregateDataPtr place, const IColumn ** columns, size_t row_num, Arena * arena) const override + void add(AggregateDataPtr __restrict place, const IColumn ** columns, size_t row_num, Arena * arena) const override { Key key; @@ -151,19 +151,19 @@ public: nested_function->add(place + pos * size_of_data, columns, row_num, arena); } - void merge(AggregateDataPtr place, ConstAggregateDataPtr rhs, Arena * arena) const override + void merge(AggregateDataPtr __restrict place, ConstAggregateDataPtr rhs, Arena * arena) const override { for (size_t i = 0; i < total; ++i) nested_function->merge(place + i * size_of_data, rhs + i * size_of_data, arena); } - void serialize(ConstAggregateDataPtr place, WriteBuffer & buf, std::optional version) const override + void serialize(ConstAggregateDataPtr __restrict place, WriteBuffer & buf, std::optional version) const override { for (size_t i = 0; i < total; ++i) nested_function->serialize(place + i * size_of_data, buf, version); } - void deserialize(AggregateDataPtr place, ReadBuffer & buf, std::optional version, Arena * arena) const override + void deserialize(AggregateDataPtr __restrict place, ReadBuffer & buf, std::optional version, Arena * arena) const override { for (size_t i = 0; i < total; ++i) nested_function->deserialize(place + i * size_of_data, buf, version, arena); @@ -174,7 +174,7 @@ public: return std::make_shared(nested_function->getReturnType()); } - void insertResultInto(AggregateDataPtr place, IColumn & to, Arena * arena) const override + void insertResultInto(AggregateDataPtr __restrict place, IColumn & to, Arena * arena) const override { auto & col = assert_cast(to); auto & col_offsets = assert_cast(col.getOffsetsColumn()); diff --git a/src/AggregateFunctions/AggregateFunctionSequenceNextNode.h b/src/AggregateFunctions/AggregateFunctionSequenceNextNode.h index f6c921aeef9..a4222b5471f 100644 --- a/src/AggregateFunctions/AggregateFunctionSequenceNextNode.h +++ b/src/AggregateFunctions/AggregateFunctionSequenceNextNode.h @@ -158,8 +158,8 @@ class SequenceNextNodeImpl final using Self = SequenceNextNodeImpl; using Data = SequenceNextNodeGeneralData; - static Data & data(AggregateDataPtr place) { return *reinterpret_cast(place); } - static const Data & data(ConstAggregateDataPtr place) { return *reinterpret_cast(place); } + static Data & data(AggregateDataPtr __restrict place) { return *reinterpret_cast(place); } + static const Data & data(ConstAggregateDataPtr __restrict place) { return *reinterpret_cast(place); } static constexpr size_t base_cond_column_idx = 2; static constexpr size_t event_column_idx = 1; @@ -216,7 +216,7 @@ public: a.value.push_back(v->clone(arena), arena); } - void create(AggregateDataPtr place) const override /// NOLINT + void create(AggregateDataPtr __restrict place) const override /// NOLINT { new (place) Data; } diff --git a/src/AggregateFunctions/AggregateFunctionSimpleLinearRegression.h b/src/AggregateFunctions/AggregateFunctionSimpleLinearRegression.h index 333b847ea67..06cdfc5e582 100644 --- a/src/AggregateFunctions/AggregateFunctionSimpleLinearRegression.h +++ b/src/AggregateFunctions/AggregateFunctionSimpleLinearRegression.h @@ -110,7 +110,7 @@ public: } void add( - AggregateDataPtr place, + AggregateDataPtr __restrict place, const IColumn ** columns, size_t row_num, Arena * @@ -125,17 +125,17 @@ public: this->data(place).add(x, y); } - void merge(AggregateDataPtr place, ConstAggregateDataPtr rhs, Arena *) const override + void merge(AggregateDataPtr __restrict place, ConstAggregateDataPtr rhs, Arena *) const override { this->data(place).merge(this->data(rhs)); } - void serialize(ConstAggregateDataPtr place, WriteBuffer & buf, std::optional /* version */) const override + void serialize(ConstAggregateDataPtr __restrict place, WriteBuffer & buf, std::optional /* version */) const override { this->data(place).serialize(buf); } - void deserialize(AggregateDataPtr place, ReadBuffer & buf, std::optional /* version */, Arena *) const override + void deserialize(AggregateDataPtr __restrict place, ReadBuffer & buf, std::optional /* version */, Arena *) const override { this->data(place).deserialize(buf); } @@ -163,7 +163,7 @@ public: bool allocatesMemoryInArena() const override { return false; } void insertResultInto( - AggregateDataPtr place, + AggregateDataPtr __restrict place, IColumn & to, Arena *) const override { diff --git a/src/AggregateFunctions/AggregateFunctionSparkbar.h b/src/AggregateFunctions/AggregateFunctionSparkbar.h index de271181f2c..70066012c00 100644 --- a/src/AggregateFunctions/AggregateFunctionSparkbar.h +++ b/src/AggregateFunctions/AggregateFunctionSparkbar.h @@ -298,7 +298,7 @@ public: } } - void merge(AggregateDataPtr __restrict place, ConstAggregateDataPtr rhs, Arena * /*arena*/) const override + void merge(AggregateDataPtr __restrict place, ConstAggregateDataPtr __restrict rhs, Arena * /*arena*/) const override { this->data(place).merge(this->data(rhs)); } diff --git a/src/AggregateFunctions/AggregateFunctionStudentTTest.cpp b/src/AggregateFunctions/AggregateFunctionStudentTTest.cpp index 83a91ef06fc..f1beff806e2 100644 --- a/src/AggregateFunctions/AggregateFunctionStudentTTest.cpp +++ b/src/AggregateFunctions/AggregateFunctionStudentTTest.cpp @@ -62,7 +62,17 @@ struct StudentTTestData : public TTestMoments /// t-statistic Float64 t_stat = (mean_x - mean_y) / sqrt(std_err2); - return {t_stat, getPValue(degrees_of_freedom, t_stat * t_stat)}; + if (isNaN(t_stat)) + throw Exception(ErrorCodes::BAD_ARGUMENTS, "Resulted t-statistics is NaN"); + + auto student = boost::math::students_t_distribution(getDegreesOfFreedom()); + Float64 pvalue = 0; + if (t_stat > 0) + pvalue = 2 * boost::math::cdf(student, -t_stat); + else + pvalue = 2 * boost::math::cdf(student, t_stat); + + return {t_stat, pvalue}; } }; diff --git a/src/AggregateFunctions/AggregateFunctionSum.h b/src/AggregateFunctions/AggregateFunctionSum.h index 03aeda1bb9b..0f2357d64a8 100644 --- a/src/AggregateFunctions/AggregateFunctionSum.h +++ b/src/AggregateFunctions/AggregateFunctionSum.h @@ -445,7 +445,7 @@ public: void addBatchSinglePlace( size_t row_begin, size_t row_end, - AggregateDataPtr place, + AggregateDataPtr __restrict place, const IColumn ** columns, Arena *, ssize_t if_argument_pos) const override @@ -465,7 +465,7 @@ public: void addBatchSinglePlaceNotNull( size_t row_begin, size_t row_end, - AggregateDataPtr place, + AggregateDataPtr __restrict place, const IColumn ** columns, const UInt8 * null_map, Arena *, @@ -489,6 +489,33 @@ public: } } + void addManyDefaults( + AggregateDataPtr __restrict /*place*/, + const IColumn ** /*columns*/, + size_t /*length*/, + Arena * /*arena*/) const override + { + } + + void addBatchSparse( + size_t row_begin, + size_t row_end, + AggregateDataPtr * places, + size_t place_offset, + const IColumn ** columns, + Arena * arena) const override + { + const auto & column_sparse = assert_cast(*columns[0]); + const auto * values = &column_sparse.getValuesColumn(); + const auto & offsets = column_sparse.getOffsetsData(); + + size_t from = std::lower_bound(offsets.begin(), offsets.end(), row_begin) - offsets.begin(); + size_t to = std::lower_bound(offsets.begin(), offsets.end(), row_end) - offsets.begin(); + + for (size_t i = from; i < to; ++i) + add(places[offsets[i]] + place_offset, &values, i + 1, arena); + } + void merge(AggregateDataPtr __restrict place, ConstAggregateDataPtr rhs, Arena *) const override { this->data(place).merge(this->data(rhs)); diff --git a/src/AggregateFunctions/AggregateFunctionTTest.h b/src/AggregateFunctions/AggregateFunctionTTest.h index 7ef5cfce9c9..b72e7a3cdcb 100644 --- a/src/AggregateFunctions/AggregateFunctionTTest.h +++ b/src/AggregateFunctions/AggregateFunctionTTest.h @@ -34,50 +34,6 @@ namespace ErrorCodes extern const int BAD_ARGUMENTS; } -/** - * If you have a cumulative distribution function F, then calculating the p-value for given statistic T is simply 1−F(T) - * In our case p-value is two-sided, so we multiply it by 2. - * So cumulative distribution function F equals to - * \[ F(t) = \int_{-\infty}^{t} f(u)du = 1 - \frac{1}{2} I_{x(t)}(\frac{v}{2}, \frac{1}{2}) \] - * where \[ x(t) = \frac{v}{t^2 + v} \]: https://en.wikipedia.org/wiki/Student%27s_t-distribution#Cumulative_distribution_function - * - * so our resulting \[ p-value = I_{x(t)}(\frac{v}{2}, \frac{1}{2}) \]. - * - * And I is regularized incomplete beta function: https://en.wikipedia.org/wiki/Beta_function#Incomplete_beta_function - * - * Keepenig in mind that \[ \mathrm {B} (x;a,b)=\int _{0}^{x}r^{a-1}\,(1-r)^{b-1}\,\mathrm {d} r.\! \] - * and - * \[ \mathrm {B} (x,y)={\dfrac {\Gamma (x)\,\Gamma (y)}{\Gamma (x+y)}}=\ - * \exp(\ln {\dfrac {\Gamma (x)\,\Gamma (y)}{\Gamma (x+y)}})=\exp((\ln(\Gamma (x))+\ln(\Gamma (y))-\ln(\Gamma (x+y))) \] - * - * p-value can be calculated in terms of gamma functions and integrals more simply: - * \[ {\frac {\int _{0}^{\frac {\nu }{t^{2}+\nu }}r^{{\frac {\nu }{2}}-1}\,(1-r)^{-0.5}\,\mathrm {d} r}\ - * {\exp((\ln(\Gamma ({\frac {\nu }{2}}))+\ln(\Gamma (0.5))-\ln(\Gamma ({\frac {\nu }{2}}+0.5)))}} \] - * - * which simplifies to: - * - * \[ {\frac {\int _{0}^{\frac {\nu }{t^{2}+\nu }}{\frac {r^{{\frac {\nu }{2}}-1}}{\sqrt {1-r}}}\,\mathrm {d} r}\ - * {\exp((\ln(\Gamma ({\frac {\nu }{2}}))+\ln(\Gamma (0.5))-\ln(\Gamma ({\frac {\nu }{2}}+0.5)))}} \] - * - * Read here for details https://rosettacode.org/wiki/Welch%27s_t-test# - * - * Both WelchTTest and StudentTTest have t-statistric with Student distribution but with different degrees of freedom. - * So the procedure of computing p-value is the same. -*/ -static inline Float64 getPValue(Float64 degrees_of_freedom, Float64 t_stat2) /// NOLINT -{ - Float64 numerator = integrateSimpson(0, degrees_of_freedom / (t_stat2 + degrees_of_freedom), - [degrees_of_freedom](double x) { return std::pow(x, degrees_of_freedom / 2 - 1) / std::sqrt(1 - x); }); - - int unused; - Float64 denominator = std::exp( - lgamma_r(degrees_of_freedom / 2, &unused) - + lgamma_r(0.5, &unused) - - lgamma_r(degrees_of_freedom / 2 + 0.5, &unused)); - - return std::min(1.0, std::max(0.0, numerator / denominator)); -} - /// Returns tuple of (t-statistic, p-value) /// https://cpb-us-w2.wpmucdn.com/voices.uchicago.edu/dist/9/1193/files/2016/01/05b-TandP.pdf diff --git a/src/AggregateFunctions/AggregateFunctionUniq.h b/src/AggregateFunctions/AggregateFunctionUniq.h index b2bf3caebe2..d44937b3f9d 100644 --- a/src/AggregateFunctions/AggregateFunctionUniq.h +++ b/src/AggregateFunctions/AggregateFunctionUniq.h @@ -237,6 +237,15 @@ public: detail::OneAdder::add(this->data(place), *columns[0], row_num); } + void addManyDefaults( + AggregateDataPtr __restrict place, + const IColumn ** columns, + size_t /*length*/, + Arena * /*arena*/) const override + { + detail::OneAdder::add(this->data(place), *columns[0], 0); + } + void merge(AggregateDataPtr __restrict place, ConstAggregateDataPtr rhs, Arena *) const override { this->data(place).set.merge(this->data(rhs).set); diff --git a/src/AggregateFunctions/AggregateFunctionUniqCombined.h b/src/AggregateFunctions/AggregateFunctionUniqCombined.h index 16c9c6c6b57..51020abe826 100644 --- a/src/AggregateFunctions/AggregateFunctionUniqCombined.h +++ b/src/AggregateFunctions/AggregateFunctionUniqCombined.h @@ -70,9 +70,9 @@ namespace detail } // Unlike HashTableGrower always grows to power of 2. -struct UniqCombinedHashTableGrower : public HashTableGrower<> +struct UniqCombinedHashTableGrower : public HashTableGrowerWithPrecalculation<> { - void increaseSize() { ++size_degree; } + void increaseSize() { increaseSizeDegree(1); } }; template diff --git a/src/AggregateFunctions/AggregateFunctionWelchTTest.cpp b/src/AggregateFunctions/AggregateFunctionWelchTTest.cpp index fe5cf83c509..74000296a2d 100644 --- a/src/AggregateFunctions/AggregateFunctionWelchTTest.cpp +++ b/src/AggregateFunctions/AggregateFunctionWelchTTest.cpp @@ -10,7 +10,6 @@ namespace ErrorCodes extern const int NUMBER_OF_ARGUMENTS_DOESNT_MATCH; } - namespace DB { struct Settings; @@ -53,7 +52,14 @@ struct WelchTTestData : public TTestMoments Float64 se = getStandardError(); Float64 t_stat = (mean_x - mean_y) / se; - return {t_stat, getPValue(getDegreesOfFreedom(), t_stat * t_stat)}; + auto students_t_distribution = boost::math::students_t_distribution(getDegreesOfFreedom()); + Float64 pvalue = 0; + if (t_stat > 0) + pvalue = 2 * boost::math::cdf(students_t_distribution, -t_stat); + else + pvalue = 2 * boost::math::cdf(students_t_distribution, t_stat); + + return {t_stat, pvalue}; } }; diff --git a/src/AggregateFunctions/Helpers.h b/src/AggregateFunctions/Helpers.h index 77660c54d32..6e140f4b9cf 100644 --- a/src/AggregateFunctions/Helpers.h +++ b/src/AggregateFunctions/Helpers.h @@ -3,34 +3,6 @@ #include #include -#define FOR_BASIC_NUMERIC_TYPES(M) \ - M(UInt8) \ - M(UInt16) \ - M(UInt32) \ - M(UInt64) \ - M(Int8) \ - M(Int16) \ - M(Int32) \ - M(Int64) \ - M(Float32) \ - M(Float64) - -#define FOR_NUMERIC_TYPES(M) \ - M(UInt8) \ - M(UInt16) \ - M(UInt32) \ - M(UInt64) \ - M(UInt128) \ - M(UInt256) \ - M(Int8) \ - M(Int16) \ - M(Int32) \ - M(Int64) \ - M(Int128) \ - M(Int256) \ - M(Float32) \ - M(Float64) - namespace DB { struct Settings; diff --git a/src/AggregateFunctions/IAggregateFunction.h b/src/AggregateFunctions/IAggregateFunction.h index 77d20308d5f..cdb3b2f32b7 100644 --- a/src/AggregateFunctions/IAggregateFunction.h +++ b/src/AggregateFunctions/IAggregateFunction.h @@ -123,6 +123,10 @@ public: */ virtual void add(AggregateDataPtr __restrict place, const IColumn ** columns, size_t row_num, Arena * arena) const = 0; + /// Adds several default values of arguments into aggregation data on which place points to. + /// Default values must be a the 0-th positions in columns. + virtual void addManyDefaults(AggregateDataPtr __restrict place, const IColumn ** columns, size_t length, Arena * arena) const = 0; + /// Merges state (on which place points to) with other state of current aggregation function. virtual void merge(AggregateDataPtr __restrict place, ConstAggregateDataPtr rhs, Arena * arena) const = 0; @@ -146,7 +150,7 @@ public: /// Used for machine learning methods. Predict result from trained model. /// Will insert result into `to` column for rows in range [offset, offset + limit). virtual void predictValues( - ConstAggregateDataPtr /* place */, + ConstAggregateDataPtr __restrict /* place */, IColumn & /*to*/, const ColumnsWithTypeAndName & /*arguments*/, size_t /*offset*/, @@ -205,7 +209,7 @@ public: virtual void addBatchSinglePlace( /// NOLINT size_t row_begin, size_t row_end, - AggregateDataPtr place, + AggregateDataPtr __restrict place, const IColumn ** columns, Arena * arena, ssize_t if_argument_pos = -1) const = 0; @@ -214,7 +218,7 @@ public: virtual void addBatchSparseSinglePlace( size_t row_begin, size_t row_end, - AggregateDataPtr place, + AggregateDataPtr __restrict place, const IColumn ** columns, Arena * arena) const = 0; @@ -224,7 +228,7 @@ public: virtual void addBatchSinglePlaceNotNull( /// NOLINT size_t row_begin, size_t row_end, - AggregateDataPtr place, + AggregateDataPtr __restrict place, const IColumn ** columns, const UInt8 * null_map, Arena * arena, @@ -233,7 +237,7 @@ public: virtual void addBatchSinglePlaceFromInterval( /// NOLINT size_t row_begin, size_t row_end, - AggregateDataPtr place, + AggregateDataPtr __restrict place, const IColumn ** columns, Arena * arena, ssize_t if_argument_pos = -1) @@ -366,7 +370,7 @@ template class IAggregateFunctionHelper : public IAggregateFunction { private: - static void addFree(const IAggregateFunction * that, AggregateDataPtr place, const IColumn ** columns, size_t row_num, Arena * arena) + static void addFree(const IAggregateFunction * that, AggregateDataPtr __restrict place, const IColumn ** columns, size_t row_num, Arena * arena) { static_cast(*that).add(place, columns, row_num, arena); } @@ -377,6 +381,16 @@ public: AddFunc getAddressOfAddFunction() const override { return &addFree; } + void addManyDefaults( + AggregateDataPtr __restrict place, + const IColumn ** columns, + size_t length, + Arena * arena) const override + { + for (size_t i = 0; i < length; ++i) + static_cast(this)->add(place, columns, 0, arena); + } + void addBatch( /// NOLINT size_t row_begin, size_t row_end, @@ -413,13 +427,9 @@ public: { const auto & column_sparse = assert_cast(*columns[0]); const auto * values = &column_sparse.getValuesColumn(); - auto offset_it = column_sparse.begin(); + auto offset_it = column_sparse.getIterator(row_begin); - /// FIXME: make it more optimal - for (size_t i = 0; i < row_begin; ++i, ++offset_it) - ; - - for (size_t i = 0; i < row_end; ++i, ++offset_it) + for (size_t i = row_begin; i < row_end; ++i, ++offset_it) static_cast(this)->add(places[offset_it.getCurrentRow()] + place_offset, &values, offset_it.getValueIndex(), arena); } @@ -440,7 +450,7 @@ public: void addBatchSinglePlace( /// NOLINT size_t row_begin, size_t row_end, - AggregateDataPtr place, + AggregateDataPtr __restrict place, const IColumn ** columns, Arena * arena, ssize_t if_argument_pos = -1) const override @@ -464,27 +474,26 @@ public: void addBatchSparseSinglePlace( size_t row_begin, size_t row_end, - AggregateDataPtr place, + AggregateDataPtr __restrict place, const IColumn ** columns, Arena * arena) const override { - /// TODO: add values and defaults separately if order of adding isn't important. const auto & column_sparse = assert_cast(*columns[0]); const auto * values = &column_sparse.getValuesColumn(); - auto offset_it = column_sparse.begin(); + const auto & offsets = column_sparse.getOffsetsData(); - /// FIXME: make it more optimal - for (size_t i = 0; i < row_begin; ++i, ++offset_it) - ; + auto from = std::lower_bound(offsets.begin(), offsets.end(), row_begin) - offsets.begin() + 1; + auto to = std::lower_bound(offsets.begin(), offsets.end(), row_end) - offsets.begin() + 1; - for (size_t i = 0; i < row_end; ++i, ++offset_it) - static_cast(this)->add(place, &values, offset_it.getValueIndex(), arena); + size_t num_defaults = (row_end - row_begin) - (to - from); + static_cast(this)->addBatchSinglePlace(from, to, place, &values, arena, -1); + static_cast(this)->addManyDefaults(place, &values, num_defaults, arena); } void addBatchSinglePlaceNotNull( /// NOLINT size_t row_begin, size_t row_end, - AggregateDataPtr place, + AggregateDataPtr __restrict place, const IColumn ** columns, const UInt8 * null_map, Arena * arena, @@ -508,7 +517,7 @@ public: void addBatchSinglePlaceFromInterval( /// NOLINT size_t row_begin, size_t row_end, - AggregateDataPtr place, + AggregateDataPtr __restrict place, const IColumn ** columns, Arena * arena, ssize_t if_argument_pos = -1) @@ -652,7 +661,7 @@ public: IAggregateFunctionDataHelper(const DataTypes & argument_types_, const Array & parameters_) : IAggregateFunctionHelper(argument_types_, parameters_) {} - void create(AggregateDataPtr place) const override /// NOLINT + void create(AggregateDataPtr __restrict place) const override /// NOLINT { new (place) Data; } diff --git a/src/AggregateFunctions/StatCommon.h b/src/AggregateFunctions/StatCommon.h index d670e646f4b..ff824ca11b8 100644 --- a/src/AggregateFunctions/StatCommon.h +++ b/src/AggregateFunctions/StatCommon.h @@ -21,20 +21,6 @@ namespace ErrorCodes extern const int BAD_ARGUMENTS; } -template -static Float64 integrateSimpson(Float64 a, Float64 b, F && func) -{ - const size_t iterations = std::max(1e6, 1e4 * std::abs(std::round(b) - std::round(a))); - const long double h = (b - a) / iterations; - Float64 sum_odds = 0.0; - for (size_t i = 1; i < iterations; i += 2) - sum_odds += func(a + i * h); - Float64 sum_evens = 0.0; - for (size_t i = 2; i < iterations; i += 2) - sum_evens += func(a + i * h); - return (func(a) + func(b) + 2 * sum_evens + 4 * sum_odds) * h / 3; -} - /// Because ranks are adjusted, we have to store each of them in Float type. using RanksArray = std::vector; @@ -45,8 +31,8 @@ std::pair computeRanksAndTieCorrection(const Values & value /// Save initial positions, than sort indices according to the values. std::vector indexes(size); std::iota(indexes.begin(), indexes.end(), 0); - ::sort(indexes.begin(), indexes.end(), - [&] (size_t lhs, size_t rhs) { return values[lhs] < values[rhs]; }); + std::sort(indexes.begin(), indexes.end(), + [&] (size_t lhs, size_t rhs) { return values[lhs] < values[rhs]; }); size_t left = 0; Float64 tie_numenator = 0; @@ -88,12 +74,18 @@ struct StatisticalSample void addX(X value, Arena * arena) { + if (isNaN(value)) + return; + ++size_x; x.push_back(value, arena); } void addY(Y value, Arena * arena) { + if (isNaN(value)) + return; + ++size_y; y.push_back(value, arena); } @@ -126,4 +118,3 @@ struct StatisticalSample }; } - diff --git a/src/Backups/BackupCoordinationDistributed.cpp b/src/Backups/BackupCoordinationDistributed.cpp index 809a826e186..5b932229e71 100644 --- a/src/Backups/BackupCoordinationDistributed.cpp +++ b/src/Backups/BackupCoordinationDistributed.cpp @@ -14,6 +14,7 @@ namespace DB namespace ErrorCodes { extern const int UNEXPECTED_NODE_IN_ZOOKEEPER; + extern const int LOGICAL_ERROR; } /// zookeeper_path/file_names/file_name->checksum_and_size @@ -27,32 +28,40 @@ namespace using FileInfo = IBackupCoordination::FileInfo; using PartNameAndChecksum = IBackupCoordination::PartNameAndChecksum; - String serializePartNamesAndChecksums(const std::vector & part_names_and_checksums) + struct ReplicatedPartNames { - WriteBufferFromOwnString out; - writeBinary(part_names_and_checksums.size(), out); - for (const auto & part_name_and_checksum : part_names_and_checksums) - { - writeBinary(part_name_and_checksum.part_name, out); - writeBinary(part_name_and_checksum.checksum, out); - } - return out.str(); - } - - std::vector deserializePartNamesAndChecksums(const String & str) - { - ReadBufferFromString in{str}; std::vector part_names_and_checksums; - size_t num; - readBinary(num, in); - part_names_and_checksums.resize(num); - for (size_t i = 0; i != num; ++i) + String table_name_for_logs; + + static String serialize(const std::vector & part_names_and_checksums_, const String & table_name_for_logs_) { - readBinary(part_names_and_checksums[i].part_name, in); - readBinary(part_names_and_checksums[i].checksum, in); + WriteBufferFromOwnString out; + writeBinary(part_names_and_checksums_.size(), out); + for (const auto & part_name_and_checksum : part_names_and_checksums_) + { + writeBinary(part_name_and_checksum.part_name, out); + writeBinary(part_name_and_checksum.checksum, out); + } + writeBinary(table_name_for_logs_, out); + return out.str(); } - return part_names_and_checksums; - } + + static ReplicatedPartNames deserialize(const String & str) + { + ReadBufferFromString in{str}; + ReplicatedPartNames res; + size_t num; + readBinary(num, in); + res.part_names_and_checksums.resize(num); + for (size_t i = 0; i != num; ++i) + { + readBinary(res.part_names_and_checksums[i].part_name, in); + readBinary(res.part_names_and_checksums[i].checksum, in); + } + readBinary(res.table_name_for_logs, in); + return res; + } + }; String serializeFileInfo(const FileInfo & info) { @@ -122,7 +131,7 @@ namespace BackupCoordinationDistributed::BackupCoordinationDistributed(const String & zookeeper_path_, zkutil::GetZooKeeper get_zookeeper_) : zookeeper_path(zookeeper_path_) , get_zookeeper(get_zookeeper_) - , preparing_barrier(zookeeper_path_ + "/preparing", get_zookeeper_, "BackupCoordination", "preparing") + , status_sync(zookeeper_path_ + "/status", get_zookeeper_, &Poco::Logger::get("BackupCoordination")) { createRootNodes(); } @@ -134,8 +143,10 @@ void BackupCoordinationDistributed::createRootNodes() auto zookeeper = get_zookeeper(); zookeeper->createAncestors(zookeeper_path); zookeeper->createIfNotExists(zookeeper_path, ""); - zookeeper->createIfNotExists(zookeeper_path + "/repl_tables_paths", ""); - zookeeper->createIfNotExists(zookeeper_path + "/repl_tables_parts", ""); + zookeeper->createIfNotExists(zookeeper_path + "/repl_part_names", ""); + zookeeper->createIfNotExists(zookeeper_path + "/repl_data_paths", ""); + zookeeper->createIfNotExists(zookeeper_path + "/repl_access_host", ""); + zookeeper->createIfNotExists(zookeeper_path + "/repl_access_paths", ""); zookeeper->createIfNotExists(zookeeper_path + "/file_names", ""); zookeeper->createIfNotExists(zookeeper_path + "/file_infos", ""); zookeeper->createIfNotExists(zookeeper_path + "/archive_suffixes", ""); @@ -147,102 +158,136 @@ void BackupCoordinationDistributed::removeAllNodes() zookeeper->removeRecursive(zookeeper_path); } -void BackupCoordinationDistributed::addReplicatedTableDataPath(const String & table_zk_path, const String & table_data_path) + +void BackupCoordinationDistributed::setStatus(const String & current_host, const String & new_status, const String & message) { - auto zookeeper = get_zookeeper(); - - String path = zookeeper_path + "/repl_tables_paths/" + escapeForFileName(table_zk_path); - zookeeper->createIfNotExists(path, ""); - - path += "/" + escapeForFileName(table_data_path); - zookeeper->createIfNotExists(path, ""); + status_sync.set(current_host, new_status, message); } -void BackupCoordinationDistributed::addReplicatedTablePartNames( - const String & host_id, - const DatabaseAndTableName & table_name, - const String & table_zk_path, +Strings BackupCoordinationDistributed::setStatusAndWait(const String & current_host, const String & new_status, const String & message, const Strings & all_hosts) +{ + return status_sync.setAndWait(current_host, new_status, message, all_hosts); +} + +Strings BackupCoordinationDistributed::setStatusAndWaitFor(const String & current_host, const String & new_status, const String & message, const Strings & all_hosts, UInt64 timeout_ms) +{ + return status_sync.setAndWaitFor(current_host, new_status, message, all_hosts, timeout_ms); +} + + +void BackupCoordinationDistributed::addReplicatedPartNames( + const String & table_shared_id, + const String & table_name_for_logs, + const String & replica_name, const std::vector & part_names_and_checksums) { - auto zookeeper = get_zookeeper(); - - String path = zookeeper_path + "/repl_tables_parts/" + escapeForFileName(table_zk_path); - zookeeper->createIfNotExists(path, ""); - - path += "/" + escapeForFileName(host_id); - zookeeper->createIfNotExists(path, ""); - - path += "/" + escapeForFileName(table_name.first); - zookeeper->createIfNotExists(path, ""); - - path += "/" + escapeForFileName(table_name.second); - zookeeper->create(path, serializePartNamesAndChecksums(part_names_and_checksums), zkutil::CreateMode::Persistent); -} - -void BackupCoordinationDistributed::finishPreparing(const String & host_id, const String & error_message) -{ - preparing_barrier.finish(host_id, error_message); -} - -void BackupCoordinationDistributed::waitForAllHostsPrepared(const Strings & host_ids, std::chrono::seconds timeout) const -{ - preparing_barrier.waitForAllHostsToFinish(host_ids, timeout); - prepareReplicatedTablesInfo(); -} - -void BackupCoordinationDistributed::prepareReplicatedTablesInfo() const -{ - replicated_tables.emplace(); - auto zookeeper = get_zookeeper(); - - String path = zookeeper_path + "/repl_tables_paths"; - for (const String & escaped_table_zk_path : zookeeper->getChildren(path)) { - String table_zk_path = unescapeForFileName(escaped_table_zk_path); - for (const String & escaped_data_path : zookeeper->getChildren(path + "/" + escaped_table_zk_path)) - { - String data_path = unescapeForFileName(escaped_data_path); - replicated_tables->addDataPath(table_zk_path, data_path); - } + std::lock_guard lock{mutex}; + if (replicated_part_names) + throw Exception(ErrorCodes::LOGICAL_ERROR, "addPartNames() must not be called after getPartNames()"); } - path = zookeeper_path + "/repl_tables_parts"; + auto zookeeper = get_zookeeper(); + String path = zookeeper_path + "/repl_part_names/" + escapeForFileName(table_shared_id); + zookeeper->createIfNotExists(path, ""); + path += "/" + escapeForFileName(replica_name); + zookeeper->create(path, ReplicatedPartNames::serialize(part_names_and_checksums, table_name_for_logs), zkutil::CreateMode::Persistent); +} + +Strings BackupCoordinationDistributed::getReplicatedPartNames(const String & table_shared_id, const String & replica_name) const +{ + std::lock_guard lock{mutex}; + prepareReplicatedPartNames(); + return replicated_part_names->getPartNames(table_shared_id, replica_name); +} + + +void BackupCoordinationDistributed::addReplicatedDataPath( + const String & table_shared_id, const String & data_path) +{ + auto zookeeper = get_zookeeper(); + String path = zookeeper_path + "/repl_data_paths/" + escapeForFileName(table_shared_id); + zookeeper->createIfNotExists(path, ""); + path += "/" + escapeForFileName(data_path); + zookeeper->createIfNotExists(path, ""); +} + +Strings BackupCoordinationDistributed::getReplicatedDataPaths(const String & table_shared_id) const +{ + auto zookeeper = get_zookeeper(); + String path = zookeeper_path + "/repl_data_paths/" + escapeForFileName(table_shared_id); + Strings children = zookeeper->getChildren(path); + Strings data_paths; + data_paths.reserve(children.size()); + for (const String & child : children) + data_paths.push_back(unescapeForFileName(child)); + return data_paths; +} + + +void BackupCoordinationDistributed::prepareReplicatedPartNames() const +{ + if (replicated_part_names) + return; + + replicated_part_names.emplace(); + auto zookeeper = get_zookeeper(); + String path = zookeeper_path + "/repl_part_names"; for (const String & escaped_table_zk_path : zookeeper->getChildren(path)) { String table_zk_path = unescapeForFileName(escaped_table_zk_path); String path2 = path + "/" + escaped_table_zk_path; - for (const String & escaped_host_id : zookeeper->getChildren(path2)) + for (const String & escaped_replica_name : zookeeper->getChildren(path2)) { - String host_id = unescapeForFileName(escaped_host_id); - String path3 = path2 + "/" + escaped_host_id; - for (const String & escaped_database_name : zookeeper->getChildren(path3)) - { - String database_name = unescapeForFileName(escaped_database_name); - String path4 = path3 + "/" + escaped_database_name; - for (const String & escaped_table_name : zookeeper->getChildren(path4)) - { - String table_name = unescapeForFileName(escaped_table_name); - String path5 = path4 + "/" + escaped_table_name; - auto part_names_and_checksums = deserializePartNamesAndChecksums(zookeeper->get(path5)); - replicated_tables->addPartNames(host_id, {database_name, table_name}, table_zk_path, part_names_and_checksums); - } - } + String replica_name = unescapeForFileName(escaped_replica_name); + auto part_names = ReplicatedPartNames::deserialize(zookeeper->get(path2 + "/" + escaped_replica_name)); + replicated_part_names->addPartNames(table_zk_path, part_names.table_name_for_logs, replica_name, part_names.part_names_and_checksums); } } - - replicated_tables->preparePartNamesByLocations(); } -Strings BackupCoordinationDistributed::getReplicatedTableDataPaths(const String & table_zk_path) const + +void BackupCoordinationDistributed::addReplicatedAccessPath(const String & access_zk_path, const String & file_path) { - return replicated_tables->getDataPaths(table_zk_path); + auto zookeeper = get_zookeeper(); + String path = zookeeper_path + "/repl_access_paths/" + escapeForFileName(access_zk_path); + zookeeper->createIfNotExists(path, ""); + path += "/" + escapeForFileName(file_path); + zookeeper->createIfNotExists(path, ""); } -Strings BackupCoordinationDistributed::getReplicatedTablePartNames(const String & host_id, const DatabaseAndTableName & table_name, const String & table_zk_path) const +Strings BackupCoordinationDistributed::getReplicatedAccessPaths(const String & access_zk_path) const { - return replicated_tables->getPartNames(host_id, table_name, table_zk_path); + auto zookeeper = get_zookeeper(); + String path = zookeeper_path + "/repl_access_paths/" + escapeForFileName(access_zk_path); + Strings children = zookeeper->getChildren(path); + Strings file_paths; + file_paths.reserve(children.size()); + for (const String & child : children) + file_paths.push_back(unescapeForFileName(child)); + return file_paths; } +void BackupCoordinationDistributed::setReplicatedAccessHost(const String & access_zk_path, const String & host_id) +{ + auto zookeeper = get_zookeeper(); + String path = zookeeper_path + "/repl_access_host/" + escapeForFileName(access_zk_path); + auto code = zookeeper->tryCreate(path, host_id, zkutil::CreateMode::Persistent); + if ((code != Coordination::Error::ZOK) && (code != Coordination::Error::ZNODEEXISTS)) + throw zkutil::KeeperException(code, path); + + if (code == Coordination::Error::ZNODEEXISTS) + zookeeper->set(path, host_id); +} + +String BackupCoordinationDistributed::getReplicatedAccessHost(const String & access_zk_path) const +{ + auto zookeeper = get_zookeeper(); + String path = zookeeper_path + "/repl_access_host/" + escapeForFileName(access_zk_path); + return zookeeper->get(path); +} + + void BackupCoordinationDistributed::addFileInfo(const FileInfo & file_info, bool & is_data_file_required) { auto zookeeper = get_zookeeper(); @@ -305,12 +350,19 @@ std::vector BackupCoordinationDistributed::getAllFileInfos() const return file_infos; } -Strings BackupCoordinationDistributed::listFiles(const String & prefix, const String & terminator) const +Strings BackupCoordinationDistributed::listFiles(const String & directory, bool recursive) const { auto zookeeper = get_zookeeper(); Strings escaped_names = zookeeper->getChildren(zookeeper_path + "/file_names"); + String prefix = directory; + if (!prefix.empty() && !prefix.ends_with('/')) + prefix += '/'; + String terminator = recursive ? "" : "/"; + Strings elements; + std::unordered_set unique_elements; + for (const String & escaped_name : escaped_names) { String name = unescapeForFileName(escaped_name); @@ -321,15 +373,35 @@ Strings BackupCoordinationDistributed::listFiles(const String & prefix, const St if (!terminator.empty()) end_pos = name.find(terminator, start_pos); std::string_view new_element = std::string_view{name}.substr(start_pos, end_pos - start_pos); - if (!elements.empty() && (elements.back() == new_element)) + if (unique_elements.contains(new_element)) continue; elements.push_back(String{new_element}); + unique_elements.emplace(new_element); } - std::sort(elements.begin(), elements.end()); + ::sort(elements.begin(), elements.end()); return elements; } +bool BackupCoordinationDistributed::hasFiles(const String & directory) const +{ + auto zookeeper = get_zookeeper(); + Strings escaped_names = zookeeper->getChildren(zookeeper_path + "/file_names"); + + String prefix = directory; + if (!prefix.empty() && !prefix.ends_with('/')) + prefix += '/'; + + for (const String & escaped_name : escaped_names) + { + String name = unescapeForFileName(escaped_name); + if (name.starts_with(prefix)) + return true; + } + + return false; +} + std::optional BackupCoordinationDistributed::getFileInfo(const String & file_name) const { auto zookeeper = get_zookeeper(); diff --git a/src/Backups/BackupCoordinationDistributed.h b/src/Backups/BackupCoordinationDistributed.h index 62136487dbc..813132bd0b8 100644 --- a/src/Backups/BackupCoordinationDistributed.h +++ b/src/Backups/BackupCoordinationDistributed.h @@ -2,9 +2,6 @@ #include #include -#include -#include -#include namespace DB @@ -17,24 +14,33 @@ public: BackupCoordinationDistributed(const String & zookeeper_path_, zkutil::GetZooKeeper get_zookeeper_); ~BackupCoordinationDistributed() override; - void addReplicatedTableDataPath(const String & table_zk_path, const String & table_data_path) override; - void addReplicatedTablePartNames( - const String & host_id, - const DatabaseAndTableName & table_name, - const String & table_zk_path, + void setStatus(const String & current_host, const String & new_status, const String & message) override; + Strings setStatusAndWait(const String & current_host, const String & new_status, const String & message, const Strings & all_hosts) override; + Strings setStatusAndWaitFor(const String & current_host, const String & new_status, const String & message, const Strings & all_hosts, UInt64 timeout_ms) override; + + void addReplicatedPartNames( + const String & table_shared_id, + const String & table_name_for_logs, + const String & replica_name, const std::vector & part_names_and_checksums) override; - void finishPreparing(const String & host_id, const String & error_message) override; - void waitForAllHostsPrepared(const Strings & host_ids, std::chrono::seconds timeout) const override; + Strings getReplicatedPartNames(const String & table_shared_id, const String & replica_name) const override; - Strings getReplicatedTableDataPaths(const String & table_zk_path) const override; - Strings getReplicatedTablePartNames(const String & host_id, const DatabaseAndTableName & table_name, const String & table_zk_path) const override; + void addReplicatedDataPath(const String & table_shared_id, const String & data_path) override; + Strings getReplicatedDataPaths(const String & table_shared_id) const override; + + void addReplicatedAccessPath(const String & access_zk_path, const String & file_path) override; + Strings getReplicatedAccessPaths(const String & access_zk_path) const override; + + void setReplicatedAccessHost(const String & access_zk_path, const String & host_id) override; + String getReplicatedAccessHost(const String & access_zk_path) const override; void addFileInfo(const FileInfo & file_info, bool & is_data_file_required) override; void updateFileInfo(const FileInfo & file_info) override; std::vector getAllFileInfos() const override; - Strings listFiles(const String & prefix, const String & terminator) const override; + Strings listFiles(const String & directory, bool recursive) const override; + bool hasFiles(const String & directory) const override; std::optional getFileInfo(const String & file_name) const override; std::optional getFileInfo(const SizeAndChecksum & size_and_checksum) const override; std::optional getFileSizeAndChecksum(const String & file_name) const override; @@ -47,12 +53,15 @@ public: private: void createRootNodes(); void removeAllNodes(); - void prepareReplicatedTablesInfo() const; + void prepareReplicatedPartNames() const; const String zookeeper_path; const zkutil::GetZooKeeper get_zookeeper; - BackupCoordinationDistributedBarrier preparing_barrier; - mutable std::optional replicated_tables; + + BackupCoordinationStatusSync status_sync; + + mutable std::mutex mutex; + mutable std::optional replicated_part_names; }; } diff --git a/src/Backups/BackupCoordinationHelpers.cpp b/src/Backups/BackupCoordinationHelpers.cpp index b0327a9b667..7f570ba9c85 100644 --- a/src/Backups/BackupCoordinationHelpers.cpp +++ b/src/Backups/BackupCoordinationHelpers.cpp @@ -1,6 +1,8 @@ #include #include #include +#include +#include #include #include @@ -16,37 +18,26 @@ namespace ErrorCodes } -struct BackupCoordinationReplicatedTablesInfo::HostAndTableName +namespace { - String host_id; - DatabaseAndTableName table_name; - - struct Less + struct LessReplicaName { - bool operator()(const HostAndTableName & lhs, const HostAndTableName & rhs) const - { - return (lhs.host_id < rhs.host_id) || ((lhs.host_id == rhs.host_id) && (lhs.table_name < rhs.table_name)); - } - - bool operator()(const std::shared_ptr & lhs, const std::shared_ptr & rhs) const - { - return operator()(*lhs, *rhs); - } + bool operator()(const std::shared_ptr & left, const std::shared_ptr & right) { return *left < *right; } }; -}; +} -class BackupCoordinationReplicatedTablesInfo::CoveredPartsFinder +class BackupCoordinationReplicatedPartNames::CoveredPartsFinder { public: - CoveredPartsFinder() = default; + explicit CoveredPartsFinder(const String & table_name_for_logs_) : table_name_for_logs(table_name_for_logs_) {} - void addPart(const String & new_part_name, const std::shared_ptr & host_and_table_name) + void addPartName(const String & new_part_name, const std::shared_ptr & replica_name) { - addPart(MergeTreePartInfo::fromPartName(new_part_name, MERGE_TREE_DATA_MIN_FORMAT_VERSION_WITH_CUSTOM_PARTITIONING), host_and_table_name); + addPartName(MergeTreePartInfo::fromPartName(new_part_name, MERGE_TREE_DATA_MIN_FORMAT_VERSION_WITH_CUSTOM_PARTITIONING), replica_name); } - void addPart(MergeTreePartInfo && new_part_info, const std::shared_ptr & host_and_table_name) + void addPartName(MergeTreePartInfo && new_part_info, const std::shared_ptr & replica_name) { auto new_min_block = new_part_info.min_block; auto new_max_block = new_part_info.max_block; @@ -57,7 +48,7 @@ public: if (first_it == parts.end()) { /// All max_blocks < part_info.min_block, so we can safely add the `part_info` to the list of parts. - parts.emplace(new_max_block, PartInfo{std::move(new_part_info), host_and_table_name}); + parts.emplace(new_max_block, PartInfo{std::move(new_part_info), replica_name}); return; } @@ -68,7 +59,7 @@ public: { /// (prev_info.max_block < part_info.min_block) AND (part_info.max_block < current_info.min_block), /// so we can safely add the `part_info` to the list of parts. - parts.emplace(new_max_block, PartInfo{std::move(new_part_info), host_and_table_name}); + parts.emplace(new_max_block, PartInfo{std::move(new_part_info), replica_name}); return; } @@ -92,22 +83,19 @@ public: { throw Exception( ErrorCodes::CANNOT_BACKUP_TABLE, - "Intersected parts detected: {} in the table {}.{}{} and {} in the table {}.{}{}. It should be investigated", + "Intersected parts detected in the table {}: {} on replica {} and {} on replica {}. It should be investigated", + table_name_for_logs, part.info.getPartName(), - part.host_and_table_name->table_name.first, - part.host_and_table_name->table_name.second, - part.host_and_table_name->host_id.empty() ? "" : (" on the host " + part.host_and_table_name->host_id), + *part.replica_name, new_part_info.getPartName(), - host_and_table_name->table_name.first, - host_and_table_name->table_name.second, - host_and_table_name->host_id.empty() ? "" : (" on the host " + host_and_table_name->host_id)); + *replica_name); } ++last_it; } /// `part_info` will replace multiple parts [first_it..last_it) parts.erase(first_it, last_it); - parts.emplace(new_max_block, PartInfo{std::move(new_part_info), host_and_table_name}); + parts.emplace(new_max_block, PartInfo{std::move(new_part_info), replica_name}); } bool isCoveredByAnotherPart(const String & part_name) const @@ -156,185 +144,190 @@ private: struct PartInfo { MergeTreePartInfo info; - std::shared_ptr host_and_table_name; + std::shared_ptr replica_name; }; using Parts = std::map; std::unordered_map partitions; + const String table_name_for_logs; }; -void BackupCoordinationReplicatedTablesInfo::addDataPath(const String & table_zk_path, const String & table_data_path) -{ - tables[table_zk_path].data_paths.push_back(table_data_path); -} +BackupCoordinationReplicatedPartNames::BackupCoordinationReplicatedPartNames() = default; +BackupCoordinationReplicatedPartNames::~BackupCoordinationReplicatedPartNames() = default; -Strings BackupCoordinationReplicatedTablesInfo::getDataPaths(const String & table_zk_path) const -{ - auto it = tables.find(table_zk_path); - if (it == tables.end()) - throw Exception(ErrorCodes::LOGICAL_ERROR, "getDataPaths() called for unknown table_zk_path: {}", table_zk_path); - const auto & replicated_table = it->second; - return replicated_table.data_paths; -} - -void BackupCoordinationReplicatedTablesInfo::addPartNames( - const String & host_id, - const DatabaseAndTableName & table_name, - const String & table_zk_path, +void BackupCoordinationReplicatedPartNames::addPartNames( + const String & table_shared_id, + const String & table_name_for_logs, + const String & replica_name, const std::vector & part_names_and_checksums) { - auto & table = tables[table_zk_path]; - auto & part_locations_by_names = table.part_locations_by_names; - auto host_and_table_name = std::make_shared(); - host_and_table_name->host_id = host_id; - host_and_table_name->table_name = table_name; + if (part_names_prepared) + throw Exception(ErrorCodes::LOGICAL_ERROR, "addPartNames() must not be called after getPartNames()"); + + auto & table_info = table_infos[table_shared_id]; + if (!table_info.covered_parts_finder) + table_info.covered_parts_finder = std::make_unique(table_name_for_logs); + + auto replica_name_ptr = std::make_shared(replica_name); for (const auto & part_name_and_checksum : part_names_and_checksums) { const auto & part_name = part_name_and_checksum.part_name; const auto & checksum = part_name_and_checksum.checksum; - auto it = part_locations_by_names.find(part_name); - if (it == part_locations_by_names.end()) + auto it = table_info.parts_replicas.find(part_name); + if (it == table_info.parts_replicas.end()) { - it = part_locations_by_names.emplace(part_name, PartLocations{}).first; + it = table_info.parts_replicas.emplace(part_name, PartReplicas{}).first; it->second.checksum = checksum; } else { - const auto & existing = it->second; - if (existing.checksum != checksum) + const auto & other = it->second; + if (other.checksum != checksum) { - const auto & existing_host_and_table_name = **existing.host_and_table_names.begin(); + const String & other_replica_name = **other.replica_names.begin(); throw Exception( ErrorCodes::CANNOT_BACKUP_TABLE, - "Table {}.{} has part {} which is different from the part of table {}.{}. Must be the same", - table_name.first, - table_name.second, + "Table {} on replica {} has part {} which is different from the part on replica {}. Must be the same", + table_name_for_logs, + replica_name, part_name, - existing_host_and_table_name.table_name.first, - existing_host_and_table_name.table_name.second); + other_replica_name); } } - auto & host_and_table_names = it->second.host_and_table_names; + auto & replica_names = it->second.replica_names; - /// `host_and_table_names` should be ordered because we need this vector to be in the same order on every replica. - host_and_table_names.insert( - std::upper_bound(host_and_table_names.begin(), host_and_table_names.end(), host_and_table_name, HostAndTableName::Less{}), - host_and_table_name); + /// `replica_names` should be ordered because we need this vector to be in the same order on every replica. + replica_names.insert( + std::upper_bound(replica_names.begin(), replica_names.end(), replica_name_ptr, LessReplicaName{}), replica_name_ptr); + + table_info.covered_parts_finder->addPartName(part_name, replica_name_ptr); } } -Strings BackupCoordinationReplicatedTablesInfo::getPartNames(const String & host_id, const DatabaseAndTableName & table_name, const String & table_zk_path) const +Strings BackupCoordinationReplicatedPartNames::getPartNames(const String & table_shared_id, const String & replica_name) const { - if (!part_names_by_locations_prepared) - throw Exception(ErrorCodes::LOGICAL_ERROR, "preparePartNamesByLocations() was not called before getPartNames()"); - - auto it = tables.find(table_zk_path); - if (it == tables.end()) - throw Exception(ErrorCodes::LOGICAL_ERROR, "getPartNames() called for unknown table_zk_path: {}", table_zk_path); - const auto & table = it->second; - auto it2 = table.part_names_by_locations.find(host_id); - if (it2 == table.part_names_by_locations.end()) + preparePartNames(); + auto it = table_infos.find(table_shared_id); + if (it == table_infos.end()) return {}; - const auto & part_names_by_host_id = it2->second; - auto it3 = part_names_by_host_id.find(table_name); - if (it3 == part_names_by_host_id.end()) + const auto & replicas_parts = it->second.replicas_parts; + auto it2 = replicas_parts.find(replica_name); + if (it2 == replicas_parts.end()) return {}; - return it3->second; + return it2->second; } -void BackupCoordinationReplicatedTablesInfo::preparePartNamesByLocations() +void BackupCoordinationReplicatedPartNames::preparePartNames() const { - if (part_names_by_locations_prepared) + if (part_names_prepared) return; - part_names_by_locations_prepared = true; size_t counter = 0; - for (auto & table : tables | boost::adaptors::map_values) + for (const auto & table_info : table_infos | boost::adaptors::map_values) { - CoveredPartsFinder covered_parts_finder; - for (const auto & [part_name, part_locations] : table.part_locations_by_names) - covered_parts_finder.addPart(part_name, *part_locations.host_and_table_names.begin()); - - table.part_names_by_locations.clear(); - for (const auto & [part_name, part_locations] : table.part_locations_by_names) + for (const auto & [part_name, part_replicas] : table_info.parts_replicas) { - if (covered_parts_finder.isCoveredByAnotherPart(part_name)) + if (table_info.covered_parts_finder->isCoveredByAnotherPart(part_name)) continue; - size_t chosen_index = (counter++) % part_locations.host_and_table_names.size(); - const auto & chosen_host_id = part_locations.host_and_table_names[chosen_index]->host_id; - const auto & chosen_table_name = part_locations.host_and_table_names[chosen_index]->table_name; - table.part_names_by_locations[chosen_host_id][chosen_table_name].push_back(part_name); + size_t chosen_index = (counter++) % part_replicas.replica_names.size(); + const auto & chosen_replica_name = *part_replicas.replica_names[chosen_index]; + table_info.replicas_parts[chosen_replica_name].push_back(part_name); } } + + part_names_prepared = true; } -BackupCoordinationDistributedBarrier::BackupCoordinationDistributedBarrier( - const String & zookeeper_path_, zkutil::GetZooKeeper get_zookeeper_, const String & logger_name_, const String & operation_name_) +/// Helps to wait until all hosts come to a specified stage. +BackupCoordinationStatusSync::BackupCoordinationStatusSync(const String & zookeeper_path_, zkutil::GetZooKeeper get_zookeeper_, Poco::Logger * log_) : zookeeper_path(zookeeper_path_) , get_zookeeper(get_zookeeper_) - , log(&Poco::Logger::get(logger_name_)) - , operation_name(operation_name_) + , log(log_) { createRootNodes(); } -void BackupCoordinationDistributedBarrier::createRootNodes() +void BackupCoordinationStatusSync::createRootNodes() { auto zookeeper = get_zookeeper(); zookeeper->createAncestors(zookeeper_path); zookeeper->createIfNotExists(zookeeper_path, ""); } -void BackupCoordinationDistributedBarrier::finish(const String & host_id, const String & error_message) +void BackupCoordinationStatusSync::set(const String & current_host, const String & new_status, const String & message) { - if (error_message.empty()) - LOG_TRACE(log, "Host {} has finished {}", host_id, operation_name); - else - LOG_ERROR(log, "Host {} has failed {} with message: {}", host_id, operation_name, error_message); - - auto zookeeper = get_zookeeper(); - if (error_message.empty()) - zookeeper->create(zookeeper_path + "/" + host_id + ":ready", "", zkutil::CreateMode::Persistent); - else - zookeeper->create(zookeeper_path + "/" + host_id + ":error", error_message, zkutil::CreateMode::Persistent); + setImpl(current_host, new_status, message, {}, {}); } -void BackupCoordinationDistributedBarrier::waitForAllHostsToFinish(const Strings & host_ids, const std::chrono::seconds timeout) const +Strings BackupCoordinationStatusSync::setAndWait(const String & current_host, const String & new_status, const String & message, const Strings & all_hosts) { + return setImpl(current_host, new_status, message, all_hosts, {}); +} + +Strings BackupCoordinationStatusSync::setAndWaitFor(const String & current_host, const String & new_status, const String & message, const Strings & all_hosts, UInt64 timeout_ms) +{ + return setImpl(current_host, new_status, message, all_hosts, timeout_ms); +} + +Strings BackupCoordinationStatusSync::setImpl(const String & current_host, const String & new_status, const String & message, const Strings & all_hosts, const std::optional & timeout_ms) +{ + /// Put new status to ZooKeeper. auto zookeeper = get_zookeeper(); + zookeeper->createIfNotExists(zookeeper_path + "/" + current_host + "|" + new_status, message); - bool all_hosts_ready = false; - String not_ready_host_id; - String error_host_id; - String error_message; + if (all_hosts.empty() || (new_status == kErrorStatus)) + return {}; - /// Returns true of everything's ready, or false if we need to wait more. - auto process_nodes = [&](const Strings & nodes) + if ((all_hosts.size() == 1) && (all_hosts.front() == current_host)) + return {message}; + + /// Wait for other hosts. + + Strings ready_hosts_results; + ready_hosts_results.resize(all_hosts.size()); + + std::map /* index in `ready_hosts_results` */> unready_hosts; + for (size_t i = 0; i != all_hosts.size(); ++i) + unready_hosts[all_hosts[i]].push_back(i); + + std::optional host_with_error; + std::optional error_message; + + /// Process ZooKeeper's nodes and set `all_hosts_ready` or `unready_host` or `error_message`. + auto process_zk_nodes = [&](const Strings & zk_nodes) { - std::unordered_set set{nodes.begin(), nodes.end()}; - for (const String & host_id : host_ids) + for (const String & zk_node : zk_nodes) { - if (set.contains(host_id + ":error")) + if (zk_node.starts_with("remove_watch-")) + continue; + + size_t separator_pos = zk_node.find('|'); + if (separator_pos == String::npos) + throw Exception(ErrorCodes::FAILED_TO_SYNC_BACKUP_OR_RESTORE, "Unexpected zk node {}", zookeeper_path + "/" + zk_node); + String host = zk_node.substr(0, separator_pos); + String status = zk_node.substr(separator_pos + 1); + if (status == kErrorStatus) { - error_host_id = host_id; - error_message = zookeeper->get(zookeeper_path + "/" + host_id + ":error"); + host_with_error = host; + error_message = zookeeper->get(zookeeper_path + "/" + zk_node); return; } - if (!set.contains(host_id + ":ready")) + auto it = unready_hosts.find(host); + if ((it != unready_hosts.end()) && (status == new_status)) { - LOG_TRACE(log, "Waiting for host {} {}", host_id, operation_name); - not_ready_host_id = host_id; - return; + String result = zookeeper->get(zookeeper_path + "/" + zk_node); + for (size_t i : it->second) + ready_hosts_results[i] = result; + unready_hosts.erase(it); } } - - all_hosts_ready = true; }; + /// Wait until all hosts are ready or an error happens or time is out. std::atomic watch_set = false; std::condition_variable watch_triggered_event; @@ -346,34 +339,27 @@ void BackupCoordinationDistributedBarrier::waitForAllHostsToFinish(const Strings auto watch_triggered = [&] { return !watch_set; }; - bool use_timeout = (timeout.count() >= 0); - std::chrono::steady_clock::duration time_left = timeout; + bool use_timeout = timeout_ms.has_value(); + std::chrono::milliseconds timeout{timeout_ms.value_or(0)}; + std::chrono::steady_clock::time_point start_time = std::chrono::steady_clock::now(); + std::chrono::steady_clock::duration elapsed; std::mutex dummy_mutex; - while (true) + while (!unready_hosts.empty() && !error_message) { - if (use_timeout && (time_left.count() <= 0)) - { - Strings children = zookeeper->getChildren(zookeeper_path); - process_nodes(children); - break; - } - watch_set = true; - Strings children = zookeeper->getChildrenWatch(zookeeper_path, nullptr, watch_callback); - process_nodes(children); - - if (!error_message.empty() || all_hosts_ready) - break; + Strings nodes = zookeeper->getChildrenWatch(zookeeper_path, nullptr, watch_callback); + process_zk_nodes(nodes); + if (!unready_hosts.empty() && !error_message) { + LOG_TRACE(log, "Waiting for host {}", unready_hosts.begin()->first); std::unique_lock dummy_lock{dummy_mutex}; if (use_timeout) { - std::chrono::steady_clock::time_point start_time = std::chrono::steady_clock::now(); - if (!watch_triggered_event.wait_for(dummy_lock, time_left, watch_triggered)) + elapsed = std::chrono::steady_clock::now() - start_time; + if ((elapsed > timeout) || !watch_triggered_event.wait_for(dummy_lock, timeout - elapsed, watch_triggered)) break; - time_left -= (std::chrono::steady_clock::now() - start_time); } else watch_triggered_event.wait(dummy_lock, watch_triggered); @@ -385,32 +371,22 @@ void BackupCoordinationDistributedBarrier::waitForAllHostsToFinish(const Strings /// Remove watch by triggering it. zookeeper->create(zookeeper_path + "/remove_watch-", "", zkutil::CreateMode::EphemeralSequential); std::unique_lock dummy_lock{dummy_mutex}; - watch_triggered_event.wait_for(dummy_lock, timeout, watch_triggered); + watch_triggered_event.wait(dummy_lock, watch_triggered); } - if (!error_message.empty()) + if (error_message) + throw Exception(ErrorCodes::FAILED_TO_SYNC_BACKUP_OR_RESTORE, "Error occurred on host {}: {}", *host_with_error, *error_message); + + if (!unready_hosts.empty()) { throw Exception( ErrorCodes::FAILED_TO_SYNC_BACKUP_OR_RESTORE, - "Host {} failed {} with message: {}", - error_host_id, - operation_name, - error_message); + "Waited for host {} too long ({})", + unready_hosts.begin()->first, + to_string(elapsed)); } - if (all_hosts_ready) - { - LOG_TRACE(log, "All hosts have finished {}", operation_name); - return; - } - - - throw Exception( - ErrorCodes::FAILED_TO_SYNC_BACKUP_OR_RESTORE, - "Host {} has failed {}: Time ({}) is out", - not_ready_host_id, - operation_name, - to_string(timeout)); + return ready_hosts_results; } } diff --git a/src/Backups/BackupCoordinationHelpers.h b/src/Backups/BackupCoordinationHelpers.h index d119fc844ce..2e9e4b3cbde 100644 --- a/src/Backups/BackupCoordinationHelpers.h +++ b/src/Backups/BackupCoordinationHelpers.h @@ -1,6 +1,7 @@ #pragma once #include +#include #include #include #include @@ -10,81 +11,71 @@ namespace DB { /// Helper designed to be used in an implementation of the IBackupCoordination interface in the part related to replicated tables. -class BackupCoordinationReplicatedTablesInfo +class BackupCoordinationReplicatedPartNames { public: - BackupCoordinationReplicatedTablesInfo() = default; - - /// Adds a data path in backup for a replicated table. - /// Multiple replicas of the replicated table call this function and then all the added paths can be returned by call of the function - /// getReplicatedTableDataPaths(). - void addDataPath(const String & table_zk_path, const String & table_data_path); - - /// Returns all the data paths in backup added for a replicated table (see also addReplicatedTableDataPath()). - Strings getDataPaths(const String & table_zk_path) const; + BackupCoordinationReplicatedPartNames(); + ~BackupCoordinationReplicatedPartNames(); using PartNameAndChecksum = IBackupCoordination::PartNameAndChecksum; /// Adds part names which a specified replica of a replicated table is going to put to the backup. /// Multiple replicas of the replicated table call this function and then the added part names can be returned by call of the function - /// getReplicatedTablePartNames(). + /// getPartNames(). /// Checksums are used only to control that parts under the same names on different replicas are the same. void addPartNames( - const String & host_id, - const DatabaseAndTableName & table_name, - const String & table_zk_path, + const String & table_shared_id, + const String & table_name_for_logs, + const String & replica_name, const std::vector & part_names_and_checksums); - void preparePartNamesByLocations(); - /// Returns the names of the parts which a specified replica of a replicated table should put to the backup. - /// This is the same list as it was added by call of the function addReplicatedTablePartNames() but without duplications and without + /// This is the same list as it was added by call of the function addPartNames() but without duplications and without /// parts covered by another parts. - Strings getPartNames(const String & host_id, const DatabaseAndTableName & table_name, const String & table_zk_path) const; + Strings getPartNames(const String & table_shared_id, const String & replica_name) const; private: - class CoveredPartsFinder; - struct HostAndTableName; + void preparePartNames() const; - struct PartLocations + class CoveredPartsFinder; + + struct PartReplicas { - std::vector> host_and_table_names; + std::vector> replica_names; UInt128 checksum; }; struct TableInfo { - Strings data_paths; - std::map part_locations_by_names; /// Should be ordered because we need this map to be in the same order on every replica. - std::unordered_map> part_names_by_locations; + std::map parts_replicas; /// Should be ordered because we need this map to be in the same order on every replica. + mutable std::unordered_map */, Strings> replicas_parts; + std::unique_ptr covered_parts_finder; }; - std::unordered_map tables; - bool part_names_by_locations_prepared = false; + std::map table_infos; /// Should be ordered because we need this map to be in the same order on every replica. + mutable bool part_names_prepared = false; }; -/// Helper designed to be used in the implementation of the BackupCoordinationDistributed and RestoreCoordinationDistributed classes -/// to implement synchronization when we need all hosts to finish a specific task and then continue. -class BackupCoordinationDistributedBarrier +/// Helps to wait until all hosts come to a specified stage. +class BackupCoordinationStatusSync { public: - BackupCoordinationDistributedBarrier(const String & zookeeper_path_, zkutil::GetZooKeeper get_zookeeper_, const String & logger_name_, const String & operation_name_); + BackupCoordinationStatusSync(const String & zookeeper_path_, zkutil::GetZooKeeper get_zookeeper_, Poco::Logger * log_); - /// Sets that a specified host has finished the specific task, successfully or with an error. - /// In the latter case `error_message` should be set. - void finish(const String & host_id, const String & error_message = {}); + void set(const String & current_host, const String & new_status, const String & message); + Strings setAndWait(const String & current_host, const String & new_status, const String & message, const Strings & all_hosts); + Strings setAndWaitFor(const String & current_host, const String & new_status, const String & message, const Strings & all_hosts, UInt64 timeout_ms); - /// Waits for a specified list of hosts to finish the specific task. - void waitForAllHostsToFinish(const Strings & host_ids, const std::chrono::seconds timeout = std::chrono::seconds(-1) /* no timeout */) const; + static constexpr const char * kErrorStatus = "error"; private: void createRootNodes(); + Strings setImpl(const String & current_host, const String & new_status, const String & message, const Strings & all_hosts, const std::optional & timeout_ms); String zookeeper_path; zkutil::GetZooKeeper get_zookeeper; - const Poco::Logger * log; - String operation_name; + Poco::Logger * log; }; } diff --git a/src/Backups/BackupCoordinationLocal.cpp b/src/Backups/BackupCoordinationLocal.cpp index 2d970feb5a3..a7d5602ca30 100644 --- a/src/Backups/BackupCoordinationLocal.cpp +++ b/src/Backups/BackupCoordinationLocal.cpp @@ -10,47 +10,80 @@ namespace DB using SizeAndChecksum = IBackupCoordination::SizeAndChecksum; using FileInfo = IBackupCoordination::FileInfo; -BackupCoordinationLocal::BackupCoordinationLocal() : log(&Poco::Logger::get("BackupCoordination")) -{ -} - +BackupCoordinationLocal::BackupCoordinationLocal() = default; BackupCoordinationLocal::~BackupCoordinationLocal() = default; -void BackupCoordinationLocal::addReplicatedTableDataPath(const String & table_zk_path, const String & table_data_path) +void BackupCoordinationLocal::setStatus(const String &, const String &, const String &) +{ +} + +Strings BackupCoordinationLocal::setStatusAndWait(const String &, const String &, const String &, const Strings &) +{ + return {}; +} + +Strings BackupCoordinationLocal::setStatusAndWaitFor(const String &, const String &, const String &, const Strings &, UInt64) +{ + return {}; +} + +void BackupCoordinationLocal::addReplicatedPartNames(const String & table_shared_id, const String & table_name_for_logs, const String & replica_name, const std::vector & part_names_and_checksums) { std::lock_guard lock{mutex}; - replicated_tables.addDataPath(table_zk_path, table_data_path); + replicated_part_names.addPartNames(table_shared_id, table_name_for_logs, replica_name, part_names_and_checksums); } -void BackupCoordinationLocal::addReplicatedTablePartNames(const String & /* host_id */, const DatabaseAndTableName & table_name, const String & table_zk_path, const std::vector & part_names_and_checksums) +Strings BackupCoordinationLocal::getReplicatedPartNames(const String & table_shared_id, const String & replica_name) const { std::lock_guard lock{mutex}; - replicated_tables.addPartNames("", table_name, table_zk_path, part_names_and_checksums); + return replicated_part_names.getPartNames(table_shared_id, replica_name); } -void BackupCoordinationLocal::finishPreparing(const String & /* host_id */, const String & error_message) -{ - LOG_TRACE(log, "Finished preparing{}", (error_message.empty() ? "" : (" with error " + error_message))); - if (!error_message.empty()) - return; - replicated_tables.preparePartNamesByLocations(); -} - -void BackupCoordinationLocal::waitForAllHostsPrepared(const Strings & /* host_ids */, std::chrono::seconds /* timeout */) const -{ -} - -Strings BackupCoordinationLocal::getReplicatedTableDataPaths(const String & table_zk_path) const +void BackupCoordinationLocal::addReplicatedDataPath(const String & table_shared_id, const String & data_path) { std::lock_guard lock{mutex}; - return replicated_tables.getDataPaths(table_zk_path); + replicated_data_paths[table_shared_id].push_back(data_path); } -Strings BackupCoordinationLocal::getReplicatedTablePartNames(const String & /* host_id */, const DatabaseAndTableName & table_name, const String & table_zk_path) const +Strings BackupCoordinationLocal::getReplicatedDataPaths(const String & table_shared_id) const { std::lock_guard lock{mutex}; - return replicated_tables.getPartNames("", table_name, table_zk_path); + auto it = replicated_data_paths.find(table_shared_id); + if (it == replicated_data_paths.end()) + return {}; + return it->second; +} + + +void BackupCoordinationLocal::addReplicatedAccessPath(const String & access_zk_path, const String & file_path) +{ + std::lock_guard lock{mutex}; + replicated_access_paths[access_zk_path].push_back(file_path); +} + +Strings BackupCoordinationLocal::getReplicatedAccessPaths(const String & access_zk_path) const +{ + std::lock_guard lock{mutex}; + auto it = replicated_access_paths.find(access_zk_path); + if (it == replicated_access_paths.end()) + return {}; + return it->second; +} + +void BackupCoordinationLocal::setReplicatedAccessHost(const String & access_zk_path, const String & host_id) +{ + std::lock_guard lock{mutex}; + replicated_access_hosts[access_zk_path] = host_id; +} + +String BackupCoordinationLocal::getReplicatedAccessHost(const String & access_zk_path) const +{ + std::lock_guard lock{mutex}; + auto it = replicated_access_hosts.find(access_zk_path); + if (it == replicated_access_hosts.end()) + return {}; + return it->second; } @@ -93,9 +126,14 @@ std::vector BackupCoordinationLocal::getAllFileInfos() const return res; } -Strings BackupCoordinationLocal::listFiles(const String & prefix, const String & terminator) const +Strings BackupCoordinationLocal::listFiles(const String & directory, bool recursive) const { std::lock_guard lock{mutex}; + String prefix = directory; + if (!prefix.empty() && !prefix.ends_with('/')) + prefix += '/'; + String terminator = recursive ? "" : "/"; + Strings elements; for (auto it = file_names.lower_bound(prefix); it != file_names.end(); ++it) { @@ -111,9 +149,25 @@ Strings BackupCoordinationLocal::listFiles(const String & prefix, const String & continue; elements.push_back(String{new_element}); } + return elements; } +bool BackupCoordinationLocal::hasFiles(const String & directory) const +{ + std::lock_guard lock{mutex}; + String prefix = directory; + if (!prefix.empty() && !prefix.ends_with('/')) + prefix += '/'; + + auto it = file_names.lower_bound(prefix); + if (it == file_names.end()) + return false; + + const String & name = it->first; + return name.starts_with(prefix); +} + std::optional BackupCoordinationLocal::getFileInfo(const String & file_name) const { std::lock_guard lock{mutex}; diff --git a/src/Backups/BackupCoordinationLocal.h b/src/Backups/BackupCoordinationLocal.h index 875e519353b..dcd6505a438 100644 --- a/src/Backups/BackupCoordinationLocal.h +++ b/src/Backups/BackupCoordinationLocal.h @@ -2,6 +2,7 @@ #include #include +#include #include #include @@ -18,24 +19,29 @@ public: BackupCoordinationLocal(); ~BackupCoordinationLocal() override; - void addReplicatedTableDataPath(const String & table_zk_path, const String & table_data_path) override; - void addReplicatedTablePartNames( - const String & host_id, - const DatabaseAndTableName & table_name, - const String & table_zk_path, - const std::vector & part_names_and_checksums) override; + void setStatus(const String & current_host, const String & new_status, const String & message) override; + Strings setStatusAndWait(const String & current_host, const String & new_status, const String & message, const Strings & all_hosts) override; + Strings setStatusAndWaitFor(const String & current_host, const String & new_status, const String & message, const Strings & all_hosts, UInt64 timeout_ms) override; - void finishPreparing(const String & host_id, const String & error_message) override; - void waitForAllHostsPrepared(const Strings & host_ids, std::chrono::seconds timeout) const override; + void addReplicatedPartNames(const String & table_shared_id, const String & table_name_for_logs, const String & replica_name, + const std::vector & part_names_and_checksums) override; + Strings getReplicatedPartNames(const String & table_shared_id, const String & replica_name) const override; - Strings getReplicatedTableDataPaths(const String & table_zk_path) const override; - Strings getReplicatedTablePartNames(const String & host_id, const DatabaseAndTableName & table_name, const String & table_zk_path) const override; + void addReplicatedDataPath(const String & table_shared_id, const String & data_path) override; + Strings getReplicatedDataPaths(const String & table_shared_id) const override; + + void addReplicatedAccessPath(const String & access_zk_path, const String & file_path) override; + Strings getReplicatedAccessPaths(const String & access_zk_path) const override; + + void setReplicatedAccessHost(const String & access_zk_path, const String & host_id) override; + String getReplicatedAccessHost(const String & access_zk_path) const override; void addFileInfo(const FileInfo & file_info, bool & is_data_file_required) override; void updateFileInfo(const FileInfo & file_info) override; std::vector getAllFileInfos() const override; - Strings listFiles(const String & prefix, const String & terminator) const override; + Strings listFiles(const String & directory, bool recursive) const override; + bool hasFiles(const String & directory) const override; std::optional getFileInfo(const String & file_name) const override; std::optional getFileInfo(const SizeAndChecksum & size_and_checksum) const override; @@ -46,13 +52,14 @@ public: private: mutable std::mutex mutex; - BackupCoordinationReplicatedTablesInfo replicated_tables; - std::map file_names; /// Should be ordered alphabetically, see listFiles(). For empty files we assume checksum = 0. - std::map file_infos; /// Information about files. Without empty files. - Strings archive_suffixes; - size_t current_archive_suffix = 0; - - const Poco::Logger * log; + BackupCoordinationReplicatedPartNames replicated_part_names TSA_GUARDED_BY(mutex); + std::unordered_map replicated_data_paths TSA_GUARDED_BY(mutex); + std::unordered_map replicated_access_paths TSA_GUARDED_BY(mutex); + std::unordered_map replicated_access_hosts TSA_GUARDED_BY(mutex); + std::map file_names TSA_GUARDED_BY(mutex); /// Should be ordered alphabetically, see listFiles(). For empty files we assume checksum = 0. + std::map file_infos TSA_GUARDED_BY(mutex); /// Information about files. Without empty files. + Strings archive_suffixes TSA_GUARDED_BY(mutex); + size_t current_archive_suffix TSA_GUARDED_BY(mutex) = 0; }; diff --git a/src/Backups/BackupEntriesCollector.cpp b/src/Backups/BackupEntriesCollector.cpp new file mode 100644 index 00000000000..d5ed9e0da2b --- /dev/null +++ b/src/Backups/BackupEntriesCollector.cpp @@ -0,0 +1,755 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace fs = std::filesystem; + + +namespace DB +{ + +namespace ErrorCodes +{ + extern const int INCONSISTENT_METADATA_FOR_BACKUP; + extern const int CANNOT_BACKUP_TABLE; + extern const int TABLE_IS_DROPPED; + extern const int UNKNOWN_TABLE; + extern const int LOGICAL_ERROR; +} + +namespace +{ + /// Finding all tables and databases which we're going to put to the backup and collecting their metadata. + constexpr const char * kGatheringMetadataStatus = "gathering metadata"; + + /// Making temporary hard links and prepare backup entries. + constexpr const char * kExtractingDataFromTablesStatus = "extracting data from tables"; + + /// Running special tasks for replicated tables which can also prepare some backup entries. + constexpr const char * kRunningPostTasksStatus = "running post-tasks"; + + /// Writing backup entries to the backup and removing temporary hard links. + constexpr const char * kWritingBackupStatus = "writing backup"; + + /// Error status. + constexpr const char * kErrorStatus = BackupCoordinationStatusSync::kErrorStatus; + + /// Uppercases the first character of a passed string. + String toUpperFirst(const String & str) + { + String res = str; + res[0] = std::toupper(res[0]); + return res; + } + + /// Outputs "table " or "temporary table " + String tableNameWithTypeToString(const String & database_name, const String & table_name, bool first_upper) + { + String str; + if (database_name == DatabaseCatalog::TEMPORARY_DATABASE) + str = fmt::format("temporary table {}", backQuoteIfNeed(table_name)); + else + str = fmt::format("table {}.{}", backQuoteIfNeed(database_name), backQuoteIfNeed(table_name)); + if (first_upper) + str[0] = std::toupper(str[0]); + return str; + } + + /// How long we should sleep after finding an inconsistency error. + std::chrono::milliseconds getSleepTimeAfterInconsistencyError(size_t pass) + { + size_t ms; + if (pass == 1) /* pass is 1-based */ + ms = 0; + else if ((pass % 10) != 1) + ms = 0; + else + ms = 1000; + return std::chrono::milliseconds{ms}; + } +} + + +BackupEntriesCollector::BackupEntriesCollector( + const ASTBackupQuery::Elements & backup_query_elements_, + const BackupSettings & backup_settings_, + std::shared_ptr backup_coordination_, + const ContextPtr & context_) + : backup_query_elements(backup_query_elements_) + , backup_settings(backup_settings_) + , backup_coordination(backup_coordination_) + , context(context_) + , consistent_metadata_snapshot_timeout(context->getConfigRef().getUInt64("backups.consistent_metadata_snapshot_timeout", 300000)) + , log(&Poco::Logger::get("BackupEntriesCollector")) +{ +} + +BackupEntriesCollector::~BackupEntriesCollector() = default; + +BackupEntries BackupEntriesCollector::run() +{ + try + { + /// run() can be called onle once. + if (!current_status.empty()) + throw Exception(ErrorCodes::LOGICAL_ERROR, "Already making backup entries"); + + /// Find other hosts working along with us to execute this ON CLUSTER query. + all_hosts + = BackupSettings::Util::filterHostIDs(backup_settings.cluster_host_ids, backup_settings.shard_num, backup_settings.replica_num); + + /// Do renaming in the create queries according to the renaming config. + renaming_map = makeRenamingMapFromBackupQuery(backup_query_elements); + + /// Calculate the root path for collecting backup entries, it's either empty or has the format "shards//replicas//". + calculateRootPathInBackup(); + + /// Find databases and tables which we're going to put to the backup. + gatherMetadataAndCheckConsistency(); + + /// Make backup entries for the definitions of the found databases. + makeBackupEntriesForDatabasesDefs(); + + /// Make backup entries for the definitions of the found tables. + makeBackupEntriesForTablesDefs(); + + /// Make backup entries for the data of the found tables. + setStatus(kExtractingDataFromTablesStatus); + makeBackupEntriesForTablesData(); + + /// Run all the tasks added with addPostCollectingTask(). + setStatus(kRunningPostTasksStatus); + runPostTasks(); + + /// No more backup entries or tasks are allowed after this point. + setStatus(kWritingBackupStatus); + + return std::move(backup_entries); + } + catch (...) + { + try + { + setStatus(kErrorStatus, getCurrentExceptionMessage(false)); + } + catch (...) + { + } + throw; + } +} + +Strings BackupEntriesCollector::setStatus(const String & new_status, const String & message) +{ + if (new_status == kErrorStatus) + { + LOG_ERROR(log, "{} failed with error: {}", toUpperFirst(current_status), message); + backup_coordination->setStatus(backup_settings.host_id, new_status, message); + return {}; + } + else + { + LOG_TRACE(log, "{}", toUpperFirst(new_status)); + current_status = new_status; + if (new_status.starts_with(kGatheringMetadataStatus)) + { + auto now = std::chrono::steady_clock::now(); + auto end_of_timeout = std::max(now, consistent_metadata_snapshot_start_time + consistent_metadata_snapshot_timeout); + + return backup_coordination->setStatusAndWaitFor( + backup_settings.host_id, + new_status, + message, + all_hosts, + std::chrono::duration_cast(end_of_timeout - now).count()); + } + else + { + return backup_coordination->setStatusAndWait(backup_settings.host_id, new_status, message, all_hosts); + } + } +} + +/// Calculates the root path for collecting backup entries, +/// it's either empty or has the format "shards//replicas//". +void BackupEntriesCollector::calculateRootPathInBackup() +{ + root_path_in_backup = "/"; + if (!backup_settings.host_id.empty()) + { + auto [shard_num, replica_num] + = BackupSettings::Util::findShardNumAndReplicaNum(backup_settings.cluster_host_ids, backup_settings.host_id); + root_path_in_backup = root_path_in_backup / fs::path{"shards"} / std::to_string(shard_num) / "replicas" / std::to_string(replica_num); + } + LOG_TRACE(log, "Will use path in backup: {}", doubleQuoteString(String{root_path_in_backup})); +} + +/// Finds databases and tables which we will put to the backup. +void BackupEntriesCollector::gatherMetadataAndCheckConsistency() +{ + consistent_metadata_snapshot_start_time = std::chrono::steady_clock::now(); + auto end_of_timeout = consistent_metadata_snapshot_start_time + consistent_metadata_snapshot_timeout; + setStatus(fmt::format("{} ({})", kGatheringMetadataStatus, 1)); + + for (size_t pass = 1;; ++pass) + { + String new_status = fmt::format("{} ({})", kGatheringMetadataStatus, pass + 1); + std::optional inconsistency_error; + if (tryGatherMetadataAndCompareWithPrevious(inconsistency_error)) + { + /// Gathered metadata and checked consistency, cool! But we have to check that other hosts cope with that too. + auto all_hosts_results = setStatus(new_status, "consistent"); + + std::optional host_with_inconsistency; + std::optional inconsistency_error_on_other_host; + for (size_t i = 0; i != all_hosts.size(); ++i) + { + if ((i < all_hosts_results.size()) && (all_hosts_results[i] != "consistent")) + { + host_with_inconsistency = all_hosts[i]; + inconsistency_error_on_other_host = all_hosts_results[i]; + break; + } + } + + if (!host_with_inconsistency) + break; /// All hosts managed to gather metadata and everything is consistent, so we can go further to writing the backup. + + inconsistency_error = Exception{ + ErrorCodes::INCONSISTENT_METADATA_FOR_BACKUP, + "Found inconsistency on host {}: {}", + *host_with_inconsistency, + *inconsistency_error_on_other_host}; + } + else + { + /// Failed to gather metadata or something wasn't consistent. We'll let other hosts know that and try again. + setStatus(new_status, inconsistency_error->displayText()); + } + + /// Two passes is minimum (we need to compare with table names with previous ones to be sure we don't miss anything). + if (pass >= 2) + { + if (std::chrono::steady_clock::now() > end_of_timeout) + inconsistency_error->rethrow(); + else + LOG_WARNING(log, "{}", inconsistency_error->displayText()); + } + + auto sleep_time = getSleepTimeAfterInconsistencyError(pass); + if (sleep_time.count() > 0) + sleepForNanoseconds(std::chrono::duration_cast(sleep_time).count()); + } + + LOG_INFO(log, "Will backup {} databases and {} tables", database_infos.size(), table_infos.size()); +} + +bool BackupEntriesCollector::tryGatherMetadataAndCompareWithPrevious(std::optional & inconsistency_error) +{ + try + { + /// Collect information about databases and tables specified in the BACKUP query. + database_infos.clear(); + table_infos.clear(); + gatherDatabasesMetadata(); + gatherTablesMetadata(); + } + catch (Exception & e) + { + if (e.code() != ErrorCodes::INCONSISTENT_METADATA_FOR_BACKUP) + throw; + + inconsistency_error = e; + return false; + } + + /// We have to check consistency of collected information to protect from the case when some table or database is + /// renamed during this collecting making the collected information invalid. + return compareWithPrevious(inconsistency_error); +} + +void BackupEntriesCollector::gatherDatabasesMetadata() +{ + /// Collect information about databases and tables specified in the BACKUP query. + for (const auto & element : backup_query_elements) + { + switch (element.type) + { + case ASTBackupQuery::ElementType::TABLE: + { + gatherDatabaseMetadata( + element.database_name, + /* throw_if_database_not_found= */ true, + /* backup_create_database_query= */ false, + element.table_name, + /* throw_if_table_not_found= */ true, + element.partitions, + /* all_tables= */ false, + /* except_table_names= */ {}); + break; + } + + case ASTBackupQuery::ElementType::TEMPORARY_TABLE: + { + gatherDatabaseMetadata( + DatabaseCatalog::TEMPORARY_DATABASE, + /* throw_if_database_not_found= */ true, + /* backup_create_database_query= */ false, + element.table_name, + /* throw_if_table_not_found= */ true, + element.partitions, + /* all_tables= */ false, + /* except_table_names= */ {}); + break; + } + + case ASTBackupQuery::ElementType::DATABASE: + { + gatherDatabaseMetadata( + element.database_name, + /* throw_if_database_not_found= */ true, + /* backup_create_database_query= */ true, + /* table_name= */ {}, + /* throw_if_table_not_found= */ false, + /* partitions= */ {}, + /* all_tables= */ true, + /* except_table_names= */ element.except_tables); + break; + } + + case ASTBackupQuery::ElementType::ALL: + { + for (const auto & [database_name, database] : DatabaseCatalog::instance().getDatabases()) + { + if (!element.except_databases.contains(database_name)) + { + gatherDatabaseMetadata( + database_name, + /* throw_if_database_not_found= */ false, + /* backup_create_database_query= */ true, + /* table_name= */ {}, + /* throw_if_table_not_found= */ false, + /* partitions= */ {}, + /* all_tables= */ true, + /* except_table_names= */ element.except_tables); + } + } + break; + } + } + } +} + +void BackupEntriesCollector::gatherDatabaseMetadata( + const String & database_name, + bool throw_if_database_not_found, + bool backup_create_database_query, + const std::optional & table_name, + bool throw_if_table_not_found, + const std::optional & partitions, + bool all_tables, + const std::set & except_table_names) +{ + auto it = database_infos.find(database_name); + if (it == database_infos.end()) + { + DatabasePtr database; + if (throw_if_database_not_found) + { + database = DatabaseCatalog::instance().getDatabase(database_name); + } + else + { + database = DatabaseCatalog::instance().tryGetDatabase(database_name); + if (!database) + return; + } + + DatabaseInfo new_database_info; + new_database_info.database = database; + it = database_infos.emplace(database_name, new_database_info).first; + } + + DatabaseInfo & database_info = it->second; + + if (backup_create_database_query && !database_info.create_database_query && (database_name != DatabaseCatalog::TEMPORARY_DATABASE)) + { + ASTPtr create_database_query; + try + { + create_database_query = database_info.database->getCreateDatabaseQuery(); + } + catch (...) + { + throw Exception(ErrorCodes::INCONSISTENT_METADATA_FOR_BACKUP, "Couldn't get a create query for database {}", database_name); + } + + database_info.create_database_query = create_database_query; + const auto & create = create_database_query->as(); + + if (create.getDatabase() != database_name) + throw Exception(ErrorCodes::INCONSISTENT_METADATA_FOR_BACKUP, "Got a create query with unexpected name {} for database {}", backQuoteIfNeed(create.getDatabase()), backQuoteIfNeed(database_name)); + + String new_database_name = renaming_map.getNewDatabaseName(database_name); + database_info.metadata_path_in_backup = root_path_in_backup / "metadata" / (escapeForFileName(new_database_name) + ".sql"); + } + + if (table_name) + { + auto & table_params = database_info.tables[*table_name]; + if (throw_if_table_not_found) + table_params.throw_if_table_not_found = true; + if (partitions) + { + table_params.partitions.emplace(); + insertAtEnd(*table_params.partitions, *partitions); + } + database_info.except_table_names.emplace(*table_name); + } + + if (all_tables) + { + database_info.all_tables = all_tables; + for (const auto & except_table_name : except_table_names) + if (except_table_name.first == database_name) + database_info.except_table_names.emplace(except_table_name.second); + } +} + +void BackupEntriesCollector::gatherTablesMetadata() +{ + table_infos.clear(); + for (const auto & [database_name, database_info] : database_infos) + { + const auto & database = database_info.database; + bool is_temporary_database = (database_name == DatabaseCatalog::TEMPORARY_DATABASE); + + auto filter_by_table_name = [database_info = &database_info](const String & table_name) + { + /// We skip inner tables of materialized views. + if (table_name.starts_with(".inner_id.")) + return false; + + if (database_info->tables.contains(table_name)) + return true; + + if (database_info->all_tables) + return !database_info->except_table_names.contains(table_name); + + return false; + }; + + auto db_tables = database->getTablesForBackup(filter_by_table_name, context); + + std::unordered_set found_table_names; + for (const auto & db_table : db_tables) + { + const auto & create_table_query = db_table.first; + const auto & create = create_table_query->as(); + found_table_names.emplace(create.getTable()); + + if (is_temporary_database && !create.temporary) + throw Exception(ErrorCodes::INCONSISTENT_METADATA_FOR_BACKUP, "Got a non-temporary create query for {}", tableNameWithTypeToString(database_name, create.getTable(), false)); + + if (!is_temporary_database && (create.getDatabase() != database_name)) + throw Exception(ErrorCodes::INCONSISTENT_METADATA_FOR_BACKUP, "Got a create query with unexpected database name {} for {}", backQuoteIfNeed(create.getDatabase()), tableNameWithTypeToString(database_name, create.getTable(), false)); + } + + /// Check that all tables were found. + for (const auto & [table_name, table_info] : database_info.tables) + { + if (table_info.throw_if_table_not_found && !found_table_names.contains(table_name)) + throw Exception(ErrorCodes::UNKNOWN_TABLE, "{} not found", tableNameWithTypeToString(database_name, table_name, true)); + } + + for (const auto & db_table : db_tables) + { + const auto & create_table_query = db_table.first; + const auto & storage = db_table.second; + const auto & create = create_table_query->as(); + String table_name = create.getTable(); + + fs::path metadata_path_in_backup, data_path_in_backup; + auto table_name_in_backup = renaming_map.getNewTableName({database_name, table_name}); + if (table_name_in_backup.database == DatabaseCatalog::TEMPORARY_DATABASE) + { + metadata_path_in_backup = root_path_in_backup / "temporary_tables" / "metadata" / (escapeForFileName(table_name_in_backup.table) + ".sql"); + data_path_in_backup = root_path_in_backup / "temporary_tables" / "data" / escapeForFileName(table_name_in_backup.table); + } + else + { + metadata_path_in_backup + = root_path_in_backup / "metadata" / escapeForFileName(table_name_in_backup.database) / (escapeForFileName(table_name_in_backup.table) + ".sql"); + data_path_in_backup = root_path_in_backup / "data" / escapeForFileName(table_name_in_backup.database) + / escapeForFileName(table_name_in_backup.table); + } + + /// Add information to `table_infos`. + auto & res_table_info = table_infos[QualifiedTableName{database_name, table_name}]; + res_table_info.database = database; + res_table_info.storage = storage; + res_table_info.create_table_query = create_table_query; + res_table_info.metadata_path_in_backup = metadata_path_in_backup; + res_table_info.data_path_in_backup = data_path_in_backup; + + if (!backup_settings.structure_only) + { + auto it = database_info.tables.find(table_name); + if (it != database_info.tables.end()) + { + const auto & partitions = it->second.partitions; + if (partitions && !storage->supportsBackupPartition()) + { + throw Exception( + ErrorCodes::CANNOT_BACKUP_TABLE, + "Table engine {} doesn't support partitions, cannot backup {}", + storage->getName(), + tableNameWithTypeToString(database_name, table_name, false)); + } + res_table_info.partitions = partitions; + } + } + } + } +} + +void BackupEntriesCollector::lockTablesForReading() +{ + for (auto & [table_name, table_info] : table_infos) + { + auto storage = table_info.storage; + TableLockHolder table_lock; + if (storage) + { + try + { + table_lock = storage->lockForShare(context->getInitialQueryId(), context->getSettingsRef().lock_acquire_timeout); + } + catch (Exception & e) + { + if (e.code() != ErrorCodes::TABLE_IS_DROPPED) + throw; + throw Exception(ErrorCodes::INCONSISTENT_METADATA_FOR_BACKUP, "{} is dropped", tableNameWithTypeToString(table_name.database, table_name.table, true)); + } + } + } +} + +/// Check consistency of collected information about databases and tables. +bool BackupEntriesCollector::compareWithPrevious(std::optional & inconsistency_error) +{ + /// We need to scan tables at least twice to be sure that we haven't missed any table which could be renamed + /// while we were scanning. + std::vector> databases_metadata; + std::vector> tables_metadata; + databases_metadata.reserve(database_infos.size()); + tables_metadata.reserve(table_infos.size()); + for (const auto & [database_name, database_info] : database_infos) + databases_metadata.emplace_back(database_name, database_info.create_database_query ? serializeAST(*database_info.create_database_query) : ""); + for (const auto & [table_name, table_info] : table_infos) + tables_metadata.emplace_back(table_name, serializeAST(*table_info.create_table_query)); + + /// We need to sort the lists to make the comparison below correct. + ::sort(databases_metadata.begin(), databases_metadata.end()); + ::sort(tables_metadata.begin(), tables_metadata.end()); + + SCOPE_EXIT({ + previous_databases_metadata = std::move(databases_metadata); + previous_tables_metadata = std::move(tables_metadata); + }); + + /// Databases must be the same as during the previous scan. + if (databases_metadata != previous_databases_metadata) + { + std::vector> difference; + difference.reserve(databases_metadata.size()); + std::set_difference(databases_metadata.begin(), databases_metadata.end(), previous_databases_metadata.begin(), + previous_databases_metadata.end(), std::back_inserter(difference)); + + if (!difference.empty()) + { + inconsistency_error = Exception{ + ErrorCodes::INCONSISTENT_METADATA_FOR_BACKUP, + "Database {} were created or changed its definition during scanning", + backQuoteIfNeed(difference[0].first)}; + return false; + } + + difference.clear(); + difference.reserve(previous_databases_metadata.size()); + std::set_difference(previous_databases_metadata.begin(), previous_databases_metadata.end(), databases_metadata.begin(), + databases_metadata.end(), std::back_inserter(difference)); + + if (!difference.empty()) + { + inconsistency_error = Exception{ + ErrorCodes::INCONSISTENT_METADATA_FOR_BACKUP, + "Database {} were removed or changed its definition during scanning", + backQuoteIfNeed(difference[0].first)}; + return false; + } + } + + /// Tables must be the same as during the previous scan. + if (tables_metadata != previous_tables_metadata) + { + std::vector> difference; + difference.reserve(tables_metadata.size()); + std::set_difference(tables_metadata.begin(), tables_metadata.end(), previous_tables_metadata.begin(), + previous_tables_metadata.end(), std::back_inserter(difference)); + + if (!difference.empty()) + { + inconsistency_error = Exception{ + ErrorCodes::INCONSISTENT_METADATA_FOR_BACKUP, + "{} were created or changed its definition during scanning", + tableNameWithTypeToString(difference[0].first.database, difference[0].first.table, true)}; + return false; + } + + difference.clear(); + difference.reserve(previous_tables_metadata.size()); + std::set_difference(previous_tables_metadata.begin(), previous_tables_metadata.end(), tables_metadata.begin(), + tables_metadata.end(), std::back_inserter(difference)); + + if (!difference.empty()) + { + inconsistency_error = Exception{ + ErrorCodes::INCONSISTENT_METADATA_FOR_BACKUP, + "{} were removed or changed its definition during scanning", + tableNameWithTypeToString(difference[0].first.database, difference[0].first.table, true)}; + return false; + } + } + + return true; +} + +/// Make backup entries for all the definitions of all the databases found. +void BackupEntriesCollector::makeBackupEntriesForDatabasesDefs() +{ + for (const auto & [database_name, database_info] : database_infos) + { + if (!database_info.create_database_query) + continue; /// We store CREATE DATABASE queries only if there was BACKUP DATABASE specified. + + LOG_TRACE(log, "Adding definition of database {}", backQuoteIfNeed(database_name)); + + ASTPtr new_create_query = database_info.create_database_query; + adjustCreateQueryForBackup(new_create_query, context->getGlobalContext(), nullptr); + renameDatabaseAndTableNameInCreateQuery(new_create_query, renaming_map, context->getGlobalContext()); + + const String & metadata_path_in_backup = database_info.metadata_path_in_backup; + backup_entries.emplace_back(metadata_path_in_backup, std::make_shared(serializeAST(*new_create_query))); + } +} + +/// Calls IDatabase::backupTable() for all the tables found to make backup entries for tables. +void BackupEntriesCollector::makeBackupEntriesForTablesDefs() +{ + for (auto & [table_name, table_info] : table_infos) + { + LOG_TRACE(log, "Adding definition of {}", tableNameWithTypeToString(table_name.database, table_name.table, false)); + + ASTPtr new_create_query = table_info.create_table_query; + adjustCreateQueryForBackup(new_create_query, context->getGlobalContext(), &table_info.replicated_table_shared_id); + renameDatabaseAndTableNameInCreateQuery(new_create_query, renaming_map, context->getGlobalContext()); + + const String & metadata_path_in_backup = table_info.metadata_path_in_backup; + backup_entries.emplace_back(metadata_path_in_backup, std::make_shared(serializeAST(*new_create_query))); + } +} + +void BackupEntriesCollector::makeBackupEntriesForTablesData() +{ + if (backup_settings.structure_only) + return; + + for (const auto & [table_name, table_info] : table_infos) + { + const auto & storage = table_info.storage; + const auto & data_path_in_backup = table_info.data_path_in_backup; + if (storage) + { + LOG_TRACE(log, "Adding data of {}", tableNameWithTypeToString(table_name.database, table_name.table, false)); + storage->backupData(*this, data_path_in_backup, table_info.partitions); + } + else + { + /// Storage == null means this storage exists on other replicas but it has not been created on this replica yet. + /// If this table is replicated in this case we call IBackupCoordination::addReplicatedDataPath() which will cause + /// other replicas to fill the storage's data in the backup. + /// If this table is not replicated we'll do nothing leaving the storage's data empty in the backup. + if (table_info.replicated_table_shared_id) + backup_coordination->addReplicatedDataPath(*table_info.replicated_table_shared_id, data_path_in_backup); + } + } +} + +void BackupEntriesCollector::addBackupEntry(const String & file_name, BackupEntryPtr backup_entry) +{ + if (current_status == kWritingBackupStatus) + throw Exception(ErrorCodes::LOGICAL_ERROR, "Adding backup entries is not allowed"); + backup_entries.emplace_back(file_name, backup_entry); +} + +void BackupEntriesCollector::addBackupEntry(const std::pair & backup_entry) +{ + addBackupEntry(backup_entry.first, backup_entry.second); +} + +void BackupEntriesCollector::addBackupEntries(const BackupEntries & backup_entries_) +{ + if (current_status == kWritingBackupStatus) + throw Exception(ErrorCodes::LOGICAL_ERROR, "Adding backup entries is not allowed"); + insertAtEnd(backup_entries, backup_entries_); +} + +void BackupEntriesCollector::addBackupEntries(BackupEntries && backup_entries_) +{ + if (current_status == kWritingBackupStatus) + throw Exception(ErrorCodes::LOGICAL_ERROR, "Adding backup entries is not allowed"); + insertAtEnd(backup_entries, std::move(backup_entries_)); +} + +void BackupEntriesCollector::addPostTask(std::function task) +{ + if (current_status == kWritingBackupStatus) + throw Exception(ErrorCodes::LOGICAL_ERROR, "Adding post tasks is not allowed"); + post_tasks.push(std::move(task)); +} + +/// Runs all the tasks added with addPostCollectingTask(). +void BackupEntriesCollector::runPostTasks() +{ + /// Post collecting tasks can add other post collecting tasks, our code is fine with that. + while (!post_tasks.empty()) + { + auto task = std::move(post_tasks.front()); + post_tasks.pop(); + std::move(task)(); + } +} + +size_t BackupEntriesCollector::getAccessCounter(AccessEntityType type) +{ + access_counters.resize(static_cast(AccessEntityType::MAX)); + return access_counters[static_cast(type)]++; +} + +} diff --git a/src/Backups/BackupEntriesCollector.h b/src/Backups/BackupEntriesCollector.h new file mode 100644 index 00000000000..9a653ee7e4d --- /dev/null +++ b/src/Backups/BackupEntriesCollector.h @@ -0,0 +1,141 @@ +#pragma once + +#include +#include +#include +#include +#include +#include +#include + + +namespace DB +{ + +class IBackupEntry; +using BackupEntryPtr = std::shared_ptr; +using BackupEntries = std::vector>; +class IBackupCoordination; +class IDatabase; +using DatabasePtr = std::shared_ptr; +struct StorageID; +enum class AccessEntityType; + +/// Collects backup entries for all databases and tables which should be put to a backup. +class BackupEntriesCollector : private boost::noncopyable +{ +public: + BackupEntriesCollector(const ASTBackupQuery::Elements & backup_query_elements_, + const BackupSettings & backup_settings_, + std::shared_ptr backup_coordination_, + const ContextPtr & context_); + ~BackupEntriesCollector(); + + /// Collects backup entries and returns the result. + /// This function first generates a list of databases and then call IDatabase::getTablesForBackup() for each database from this list. + /// Then it calls IStorage::backupData() to build a list of backup entries. + BackupEntries run(); + + const BackupSettings & getBackupSettings() const { return backup_settings; } + std::shared_ptr getBackupCoordination() const { return backup_coordination; } + ContextPtr getContext() const { return context; } + + /// Adds a backup entry which will be later returned by run(). + /// These function can be called by implementations of IStorage::backupData() in inherited storage classes. + void addBackupEntry(const String & file_name, BackupEntryPtr backup_entry); + void addBackupEntry(const std::pair & backup_entry); + void addBackupEntries(const BackupEntries & backup_entries_); + void addBackupEntries(BackupEntries && backup_entries_); + + /// Adds a function which must be called after all IStorage::backupData() have finished their work on all hosts. + /// This function is designed to help making a consistent in some complex cases like + /// 1) we need to join (in a backup) the data of replicated tables gathered on different hosts. + void addPostTask(std::function task); + + /// Returns an incremental counter used to backup access control. + size_t getAccessCounter(AccessEntityType type); + +private: + void calculateRootPathInBackup(); + + void gatherMetadataAndCheckConsistency(); + + bool tryGatherMetadataAndCompareWithPrevious(std::optional & inconsistency_error); + + void gatherDatabasesMetadata(); + + void gatherDatabaseMetadata( + const String & database_name, + bool throw_if_database_not_found, + bool backup_create_database_query, + const std::optional & table_name, + bool throw_if_table_not_found, + const std::optional & partitions, + bool all_tables, + const std::set & except_table_names); + + void gatherTablesMetadata(); + void lockTablesForReading(); + bool compareWithPrevious(std::optional & inconsistency_error); + + void makeBackupEntriesForDatabasesDefs(); + void makeBackupEntriesForTablesDefs(); + void makeBackupEntriesForTablesData(); + void runPostTasks(); + + Strings setStatus(const String & new_status, const String & message = ""); + + const ASTBackupQuery::Elements backup_query_elements; + const BackupSettings backup_settings; + std::shared_ptr backup_coordination; + ContextPtr context; + std::chrono::milliseconds consistent_metadata_snapshot_timeout; + Poco::Logger * log; + + Strings all_hosts; + DDLRenamingMap renaming_map; + std::filesystem::path root_path_in_backup; + + struct DatabaseInfo + { + DatabasePtr database; + ASTPtr create_database_query; + String metadata_path_in_backup; + + struct TableParams + { + bool throw_if_table_not_found = false; + std::optional partitions; + }; + + std::unordered_map tables; + + bool all_tables = false; + std::unordered_set except_table_names; + }; + + struct TableInfo + { + DatabasePtr database; + StoragePtr storage; + TableLockHolder table_lock; + ASTPtr create_table_query; + String metadata_path_in_backup; + std::filesystem::path data_path_in_backup; + std::optional replicated_table_shared_id; + std::optional partitions; + }; + + String current_status; + std::chrono::steady_clock::time_point consistent_metadata_snapshot_start_time; + std::unordered_map database_infos; + std::unordered_map table_infos; + std::vector> previous_databases_metadata; + std::vector> previous_tables_metadata; + + BackupEntries backup_entries; + std::queue> post_tasks; + std::vector access_counters; +}; + +} diff --git a/src/Backups/BackupEntryFromImmutableFile.h b/src/Backups/BackupEntryFromImmutableFile.h index 4d5f47b4f61..5103518c873 100644 --- a/src/Backups/BackupEntryFromImmutableFile.h +++ b/src/Backups/BackupEntryFromImmutableFile.h @@ -1,6 +1,7 @@ #pragma once #include +#include #include namespace Poco { class TemporaryFile; } @@ -41,7 +42,7 @@ public: private: const DiskPtr disk; const String file_path; - mutable std::optional file_size; + mutable std::optional file_size TSA_GUARDED_BY(get_file_size_mutex); mutable std::mutex get_file_size_mutex; const std::optional checksum; const std::shared_ptr temporary_file; diff --git a/src/Backups/BackupImpl.cpp b/src/Backups/BackupImpl.cpp index 6fc32e08dbd..09c1cd5e9b5 100644 --- a/src/Backups/BackupImpl.cpp +++ b/src/Backups/BackupImpl.cpp @@ -36,7 +36,7 @@ namespace ErrorCodes extern const int WRONG_BASE_BACKUP; extern const int BACKUP_ENTRY_ALREADY_EXISTS; extern const int BACKUP_ENTRY_NOT_FOUND; - extern const int BAD_ARGUMENTS; + extern const int BACKUP_IS_EMPTY; extern const int LOGICAL_ERROR; } @@ -65,6 +65,14 @@ namespace { return hexChecksum(size_and_checksum.second) + std::to_string(size_and_checksum.first); } + + /// We store entries' file names in the backup without leading slashes. + String removeLeadingSlash(const String & path) + { + if (path.starts_with('/')) + return path.substr(1); + return path; + } } @@ -151,7 +159,7 @@ BackupImpl::BackupImpl( , uuid(backup_uuid_) , version(CURRENT_BACKUP_VERSION) , base_backup_info(base_backup_info_) - , log(&Poco::Logger::get("Backup")) + , log(&Poco::Logger::get("BackupImpl")) { open(context_); } @@ -218,13 +226,6 @@ void BackupImpl::close() { std::lock_guard lock{mutex}; - if (!is_internal_backup && writing_finalized) - { - LOG_TRACE(log, "Finalizing backup {}", backup_name); - writeBackupMetadata(); - LOG_INFO(log, "Finalized backup {}", backup_name); - } - archive_readers.clear(); for (auto & archive_writer : archive_writers) archive_writer = {"", nullptr}; @@ -249,10 +250,12 @@ void BackupImpl::writeBackupMetadata() config->setString("timestamp", toString(LocalDateTime{timestamp})); config->setString("uuid", toString(*uuid)); + auto all_file_infos = coordination->getAllFileInfos(); + if (base_backup_info) { bool base_backup_in_use = false; - for (const auto & info : coordination->getAllFileInfos()) + for (const auto & info : all_file_infos) { if (info.base_size) base_backup_in_use = true; @@ -266,13 +269,13 @@ void BackupImpl::writeBackupMetadata() } size_t index = 0; - for (const auto & info : coordination->getAllFileInfos()) + for (const auto & info : all_file_infos) { String prefix = index ? "contents.file[" + std::to_string(index) + "]." : "contents.file."; + config->setString(prefix + "name", info.file_name); config->setUInt(prefix + "size", info.size); if (info.size) { - config->setString(prefix + "name", info.file_name); config->setString(prefix + "checksum", hexChecksum(info.checksum)); if (info.base_size) { @@ -303,6 +306,7 @@ void BackupImpl::writeBackupMetadata() else out = writer->writeFile(".backup"); out->write(str.data(), str.size()); + out->finalize(); } void BackupImpl::readBackupMetadata() @@ -375,18 +379,25 @@ void BackupImpl::readBackupMetadata() } } -Strings BackupImpl::listFiles(const String & prefix, const String & terminator) const +Strings BackupImpl::listFiles(const String & directory, bool recursive) const { std::lock_guard lock{mutex}; - if (!prefix.ends_with('/') && !prefix.empty()) - throw Exception("prefix should end with '/'", ErrorCodes::BAD_ARGUMENTS); - return coordination->listFiles(prefix, terminator); + auto adjusted_dir = removeLeadingSlash(directory); + return coordination->listFiles(adjusted_dir, recursive); +} + +bool BackupImpl::hasFiles(const String & directory) const +{ + std::lock_guard lock{mutex}; + auto adjusted_dir = removeLeadingSlash(directory); + return coordination->hasFiles(adjusted_dir); } bool BackupImpl::fileExists(const String & file_name) const { std::lock_guard lock{mutex}; - return coordination->getFileInfo(file_name).has_value(); + auto adjusted_path = removeLeadingSlash(file_name); + return coordination->getFileInfo(adjusted_path).has_value(); } bool BackupImpl::fileExists(const SizeAndChecksum & size_and_checksum) const @@ -398,7 +409,8 @@ bool BackupImpl::fileExists(const SizeAndChecksum & size_and_checksum) const UInt64 BackupImpl::getFileSize(const String & file_name) const { std::lock_guard lock{mutex}; - auto info = coordination->getFileInfo(file_name); + auto adjusted_path = removeLeadingSlash(file_name); + auto info = coordination->getFileInfo(adjusted_path); if (!info) throw Exception( ErrorCodes::BACKUP_ENTRY_NOT_FOUND, "Backup {}: Entry {} not found in the backup", backup_name, quoteString(file_name)); @@ -408,7 +420,8 @@ UInt64 BackupImpl::getFileSize(const String & file_name) const UInt128 BackupImpl::getFileChecksum(const String & file_name) const { std::lock_guard lock{mutex}; - auto info = coordination->getFileInfo(file_name); + auto adjusted_path = removeLeadingSlash(file_name); + auto info = coordination->getFileInfo(adjusted_path); if (!info) throw Exception( ErrorCodes::BACKUP_ENTRY_NOT_FOUND, "Backup {}: Entry {} not found in the backup", backup_name, quoteString(file_name)); @@ -418,7 +431,8 @@ UInt128 BackupImpl::getFileChecksum(const String & file_name) const SizeAndChecksum BackupImpl::getFileSizeAndChecksum(const String & file_name) const { std::lock_guard lock{mutex}; - auto info = coordination->getFileInfo(file_name); + auto adjusted_path = removeLeadingSlash(file_name); + auto info = coordination->getFileInfo(adjusted_path); if (!info) throw Exception( ErrorCodes::BACKUP_ENTRY_NOT_FOUND, "Backup {}: Entry {} not found in the backup", backup_name, quoteString(file_name)); @@ -436,17 +450,18 @@ BackupEntryPtr BackupImpl::readFile(const SizeAndChecksum & size_and_checksum) c if (open_mode != OpenMode::READ) throw Exception("Backup is not opened for reading", ErrorCodes::LOGICAL_ERROR); + if (!size_and_checksum.first) + { + /// Entry's data is empty. + return std::make_unique(nullptr, 0, UInt128{0, 0}); + } + auto info_opt = coordination->getFileInfo(size_and_checksum); if (!info_opt) throw Exception( ErrorCodes::BACKUP_ENTRY_NOT_FOUND, "Backup {}: Entry {} not found in the backup", backup_name, formatSizeAndChecksum(size_and_checksum)); const auto & info = *info_opt; - if (!info.size) - { - /// Entry's data is empty. - return std::make_unique(nullptr, 0, UInt128{0, 0}); - } if (!info.base_size) { @@ -494,12 +509,16 @@ void BackupImpl::writeFile(const String & file_name, BackupEntryPtr entry) if (open_mode != OpenMode::WRITE) throw Exception("Backup is not opened for writing", ErrorCodes::LOGICAL_ERROR); - if (coordination->getFileInfo(file_name)) + if (writing_finalized) + throw Exception("Backup is already finalized", ErrorCodes::LOGICAL_ERROR); + + auto adjusted_path = removeLeadingSlash(file_name); + if (coordination->getFileInfo(adjusted_path)) throw Exception( ErrorCodes::BACKUP_ENTRY_ALREADY_EXISTS, "Backup {}: Entry {} already exists", backup_name, quoteString(file_name)); FileInfo info; - info.file_name = file_name; + info.file_name = adjusted_path; size_t size = entry->getSize(); info.size = size; @@ -520,13 +539,13 @@ void BackupImpl::writeFile(const String & file_name, BackupEntryPtr entry) } /// Check if a entry with such name exists in the base backup. - bool base_exists = (base_backup && base_backup->fileExists(file_name)); + bool base_exists = (base_backup && base_backup->fileExists(adjusted_path)); UInt64 base_size = 0; UInt128 base_checksum{0, 0}; if (base_exists) { - base_size = base_backup->getFileSize(file_name); - base_checksum = base_backup->getFileChecksum(file_name); + base_size = base_backup->getFileSize(adjusted_path); + base_checksum = base_backup->getFileChecksum(adjusted_path); } std::unique_ptr read_buffer; /// We'll set that later. @@ -647,6 +666,7 @@ void BackupImpl::writeFile(const String & file_name, BackupEntryPtr entry) } copyData(*read_buffer, *out); + out->finalize(); } @@ -656,6 +676,19 @@ void BackupImpl::finalizeWriting() if (open_mode != OpenMode::WRITE) throw Exception("Backup is not opened for writing", ErrorCodes::LOGICAL_ERROR); + if (writing_finalized) + throw Exception("Backup is already finalized", ErrorCodes::LOGICAL_ERROR); + + if (!coordination->hasFiles("")) + throw Exception("Backup must not be empty", ErrorCodes::BACKUP_IS_EMPTY); + + if (!is_internal_backup) + { + LOG_TRACE(log, "Finalizing backup {}", backup_name); + writeBackupMetadata(); + LOG_TRACE(log, "Finalized backup {}", backup_name); + } + writing_finalized = true; } diff --git a/src/Backups/BackupImpl.h b/src/Backups/BackupImpl.h index bb31a76ead1..f8c5bc0cf5f 100644 --- a/src/Backups/BackupImpl.h +++ b/src/Backups/BackupImpl.h @@ -57,7 +57,8 @@ public: OpenMode getOpenMode() const override { return open_mode; } time_t getTimestamp() const override; UUID getUUID() const override { return *uuid; } - Strings listFiles(const String & prefix, const String & terminator) const override; + Strings listFiles(const String & directory, bool recursive) const override; + bool hasFiles(const String & directory) const override; bool fileExists(const String & file_name) const override; bool fileExists(const SizeAndChecksum & size_and_checksum) const override; UInt64 getFileSize(const String & file_name) const override; diff --git a/src/Backups/BackupUtils.cpp b/src/Backups/BackupUtils.cpp index 270dad2d594..9ff91050177 100644 --- a/src/Backups/BackupUtils.cpp +++ b/src/Backups/BackupUtils.cpp @@ -1,437 +1,62 @@ #include -#include -#include -#include -#include #include -#include -#include -#include -#include +#include #include -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include namespace DB { -namespace ErrorCodes -{ - extern const int CANNOT_BACKUP_TABLE; - extern const int CANNOT_BACKUP_DATABASE; - extern const int BACKUP_IS_EMPTY; - extern const int LOGICAL_ERROR; -} -namespace +DDLRenamingMap makeRenamingMapFromBackupQuery(const ASTBackupQuery::Elements & elements) { - /// Helper to calculate paths inside a backup. - class PathsInBackup + DDLRenamingMap map; + + for (const auto & element : elements) { - public: - /// Returns the path to metadata in backup. - static String getMetadataPath(const DatabaseAndTableName & table_name, size_t shard_index, size_t replica_index) + switch (element.type) { - if (table_name.first.empty() || table_name.second.empty()) - throw Exception(ErrorCodes::LOGICAL_ERROR, "Database name and table name must not be empty"); - return getPathForShardAndReplica(shard_index, replica_index) + String{"metadata/"} + escapeForFileName(table_name.first) + "/" - + escapeForFileName(table_name.second) + ".sql"; - } - - static String getMetadataPath(const String & database_name, size_t shard_index, size_t replica_index) - { - if (database_name.empty()) - throw Exception(ErrorCodes::LOGICAL_ERROR, "Database name must not be empty"); - return getPathForShardAndReplica(shard_index, replica_index) + String{"metadata/"} + escapeForFileName(database_name) + ".sql"; - } - - static String getMetadataPath(const IAST & create_query, size_t shard_index, size_t replica_index) - { - const auto & create = create_query.as(); - if (!create.table) - return getMetadataPath(create.getDatabase(), shard_index, replica_index); - if (create.temporary) - return getMetadataPath({DatabaseCatalog::TEMPORARY_DATABASE, create.getTable()}, shard_index, replica_index); - return getMetadataPath({create.getDatabase(), create.getTable()}, shard_index, replica_index); - } - - /// Returns the path to table's data in backup. - static String getDataPath(const DatabaseAndTableName & table_name, size_t shard_index, size_t replica_index) - { - if (table_name.first.empty() || table_name.second.empty()) - throw Exception(ErrorCodes::LOGICAL_ERROR, "Database name and table name must not be empty"); - assert(!table_name.first.empty() && !table_name.second.empty()); - return getPathForShardAndReplica(shard_index, replica_index) + String{"data/"} + escapeForFileName(table_name.first) + "/" - + escapeForFileName(table_name.second) + "/"; - } - - static String getDataPath(const IAST & create_query, size_t shard_index, size_t replica_index) - { - const auto & create = create_query.as(); - if (!create.table) - return {}; - if (create.temporary) - return getDataPath({DatabaseCatalog::TEMPORARY_DATABASE, create.getTable()}, shard_index, replica_index); - return getDataPath({create.getDatabase(), create.getTable()}, shard_index, replica_index); - } - - private: - static String getPathForShardAndReplica(size_t shard_index, size_t replica_index) - { - if (shard_index || replica_index) - return fmt::format("shards/{}/replicas/{}/", shard_index, replica_index); - else - return ""; - } - }; - - using Kind = ASTBackupQuery::Kind; - using Element = ASTBackupQuery::Element; - using Elements = ASTBackupQuery::Elements; - using ElementType = ASTBackupQuery::ElementType; - - /// Makes backup entries to backup databases and tables according to the elements of ASTBackupQuery. - /// Keep this class consistent with RestoreTasksBuilder. - class BackupEntriesBuilder - { - public: - BackupEntriesBuilder(const ContextPtr & context_, const BackupSettings & backup_settings_, std::shared_ptr backup_coordination_) - : context(context_), backup_settings(backup_settings_), backup_coordination(backup_coordination_) - { - } - - /// Prepares internal structures for making backup entries. - void prepare(const ASTBackupQuery::Elements & elements, std::chrono::seconds timeout_for_other_nodes_to_prepare) - { - try + case ASTBackupQuery::TABLE: { - prepareImpl(elements); - } - catch (...) - { - backup_coordination->finishPreparing(backup_settings.host_id, getCurrentExceptionMessage(false)); - throw; + const String & table_name = element.table_name; + const String & database_name = element.database_name; + const String & new_table_name = element.new_table_name; + const String & new_database_name = element.new_database_name; + assert(!table_name.empty()); + assert(!new_table_name.empty()); + assert(!database_name.empty()); + assert(!new_database_name.empty()); + map.setNewTableName({database_name, table_name}, {new_database_name, new_table_name}); + break; } - /// We've finished restoring metadata, now we will wait for other replicas and shards to finish too. - /// We need this waiting because we're going to call some functions which requires data collected from other nodes too, - /// see IRestoreCoordination::checkTablesNotExistedInReplicatedDBs(), IRestoreCoordination::getReplicatedTableDataPath(). - backup_coordination->finishPreparing(backup_settings.host_id); - - backup_coordination->waitForAllHostsPrepared( - BackupSettings::Util::filterHostIDs( - backup_settings.cluster_host_ids, backup_settings.shard_num, backup_settings.replica_num), - timeout_for_other_nodes_to_prepare); - } - - /// Makes backup entries, should be called after prepare(). - BackupEntries makeBackupEntries() const - { - BackupEntries res; - for (const auto & info : databases | boost::adaptors::map_values) - res.push_back(makeBackupEntryForMetadata(*info.create_query)); - - for (const auto & info : tables | boost::adaptors::map_values) + case ASTBackupQuery::TEMPORARY_TABLE: { - res.push_back(makeBackupEntryForMetadata(*info.create_query)); - appendBackupEntriesForData(res, info); + const String & table_name = element.table_name; + const String & new_table_name = element.new_table_name; + assert(!table_name.empty()); + assert(!new_table_name.empty()); + map.setNewTableName({DatabaseCatalog::TEMPORARY_DATABASE, table_name}, {DatabaseCatalog::TEMPORARY_DATABASE, new_table_name}); + break; } - /// A backup cannot be empty. - if (res.empty()) - throw Exception("Backup must not be empty", ErrorCodes::BACKUP_IS_EMPTY); - - return res; - } - - private: - void prepareImpl(const ASTBackupQuery::Elements & elements) - { - calculateShardNumAndReplicaNumInBackup(); - renaming_settings.setFromBackupQuery(elements); - - for (const auto & element : elements) + case ASTBackupQuery::DATABASE: { - switch (element.type) - { - case ElementType::TABLE: - { - prepareToBackupTable(element.name, element.partitions); - break; - } - - case ElementType::DATABASE: - { - const String & database_name = element.name.first; - prepareToBackupDatabase(database_name, element.except_list); - break; - } - - case ElementType::ALL_DATABASES: - { - prepareToBackupAllDatabases(element.except_list); - break; - } - } - } - } - - void calculateShardNumAndReplicaNumInBackup() - { - size_t shard_num = 0; - size_t replica_num = 0; - if (!backup_settings.host_id.empty()) - { - std::tie(shard_num, replica_num) - = BackupSettings::Util::findShardNumAndReplicaNum(backup_settings.cluster_host_ids, backup_settings.host_id); - } - shard_num_in_backup = shard_num; - replica_num_in_backup = replica_num; - } - - /// Prepares to backup a single table and probably its database's definition. - void prepareToBackupTable(const DatabaseAndTableName & table_name_, const ASTs & partitions_) - { - auto [database, storage] = DatabaseCatalog::instance().getDatabaseAndTable({table_name_.first, table_name_.second}, context); - prepareToBackupTable(table_name_, {database, storage}, partitions_); - } - - void prepareToBackupTable(const DatabaseAndTableName & table_name_, const DatabaseAndTable & table_, const ASTs & partitions_) - { - const auto & database = table_.first; - const auto & storage = table_.second; - - if (!database->hasTablesToBackup()) - throw Exception( - ErrorCodes::CANNOT_BACKUP_TABLE, - "Cannot backup the {} because it's contained in a hollow database (engine: {})", - formatTableNameOrTemporaryTableName(table_name_), - database->getEngineName()); - - /// Check that we are not trying to backup the same table again. - DatabaseAndTableName name_in_backup = renaming_settings.getNewTableName(table_name_); - if (tables.contains(name_in_backup)) - throw Exception(ErrorCodes::CANNOT_BACKUP_TABLE, "Cannot backup the {} twice", formatTableNameOrTemporaryTableName(name_in_backup)); - - /// Make a create query for this table. - auto create_query = prepareCreateQueryForBackup(database->getCreateTableQuery(table_name_.second, context)); - String data_path = PathsInBackup::getDataPath(*create_query, shard_num_in_backup, replica_num_in_backup); - - String zk_path; - BackupEntries data = prepareToBackupTableData(table_name_, storage, partitions_, data_path, zk_path); - - TableInfo info; - info.table_name = table_name_; - info.create_query = create_query; - info.storage = storage; - info.data = std::move(data); - info.data_path = std::move(data_path); - info.zk_path = std::move(zk_path); - tables[name_in_backup] = std::move(info); - } - - BackupEntries prepareToBackupTableData(const DatabaseAndTableName & table_name_, const StoragePtr & storage_, const ASTs & partitions_, const String & data_path, String & zk_path) - { - zk_path.clear(); - - const StorageReplicatedMergeTree * replicated_table = typeid_cast(storage_.get()); - bool has_data = (storage_->hasDataToBackup() || replicated_table) && !backup_settings.structure_only; - if (!has_data) - return {}; - - BackupEntries data = storage_->backupData(context, partitions_); - if (!replicated_table) - return data; - - zk_path = replicated_table->getZooKeeperName() + replicated_table->getZooKeeperPath(); - backup_coordination->addReplicatedTableDataPath(zk_path, data_path); - std::unordered_map parts; - for (const auto & [relative_path, backup_entry] : data) - { - size_t slash_pos = relative_path.find('/'); - if (slash_pos != String::npos) - { - String part_name = relative_path.substr(0, slash_pos); - if (MergeTreePartInfo::tryParsePartName(part_name, MERGE_TREE_DATA_MIN_FORMAT_VERSION_WITH_CUSTOM_PARTITIONING)) - { - auto & hash = parts[part_name]; - if (relative_path.ends_with(".bin")) - { - auto checksum = backup_entry->getChecksum(); - hash.update(relative_path); - hash.update(backup_entry->getSize()); - hash.update(*checksum); - } - } - } + const String & database_name = element.database_name; + const String & new_database_name = element.new_database_name; + assert(!database_name.empty()); + assert(!new_database_name.empty()); + map.setNewDatabaseName(database_name, new_database_name); + break; } - std::vector part_names_and_checksums; - part_names_and_checksums.reserve(parts.size()); - for (auto & [part_name, hash] : parts) - { - UInt128 checksum; - hash.get128(checksum); - auto & part_name_and_checksum = part_names_and_checksums.emplace_back(); - part_name_and_checksum.part_name = part_name; - part_name_and_checksum.checksum = checksum; - } - backup_coordination->addReplicatedTablePartNames(backup_settings.host_id, table_name_, zk_path, part_names_and_checksums); - - return data; + case ASTBackupQuery::ALL: break; } - - /// Prepares to restore a database and all tables in it. - void prepareToBackupDatabase(const String & database_name_, const std::set & except_list_) - { - auto database = DatabaseCatalog::instance().getDatabase(database_name_, context); - prepareToBackupDatabase(database_name_, database, except_list_); - } - - void prepareToBackupDatabase(const String & database_name_, const DatabasePtr & database_, const std::set & except_list_) - { - /// Check that we are not trying to restore the same database again. - String name_in_backup = renaming_settings.getNewDatabaseName(database_name_); - if (databases.contains(name_in_backup)) - throw Exception(ErrorCodes::CANNOT_BACKUP_DATABASE, "Cannot backup the database {} twice", backQuoteIfNeed(name_in_backup)); - - /// Of course we're not going to backup the definition of the system or the temporary database. - if (!isSystemOrTemporaryDatabase(database_name_)) - { - /// Make a create query for this database. - auto create_query = prepareCreateQueryForBackup(database_->getCreateDatabaseQuery()); - - DatabaseInfo info; - info.create_query = create_query; - databases[name_in_backup] = std::move(info); - } - - /// Backup tables in this database. - if (database_->hasTablesToBackup()) - { - for (auto it = database_->getTablesIterator(context); it->isValid(); it->next()) - { - if (except_list_.contains(it->name())) - continue; - prepareToBackupTable({database_name_, it->name()}, {database_, it->table()}, {}); - } - } - } - - /// Prepares to backup all the databases contained in the backup. - void prepareToBackupAllDatabases(const std::set & except_list_) - { - for (const auto & [database_name, database] : DatabaseCatalog::instance().getDatabases()) - { - if (except_list_.contains(database_name)) - continue; - if (isSystemOrTemporaryDatabase(database_name)) - continue; - prepareToBackupDatabase(database_name, database, {}); - } - } - - /// Do renaming in the create query according to the renaming config. - std::shared_ptr prepareCreateQueryForBackup(const ASTPtr & ast) const - { - ASTPtr query = ast; - ::DB::renameInCreateQuery(query, context, renaming_settings); - auto create_query = typeid_cast>(query); - replaceTableUUIDWithMacroInReplicatedTableDef(*create_query, create_query->uuid); - create_query->uuid = UUIDHelpers::Nil; - create_query->to_inner_uuid = UUIDHelpers::Nil; - return create_query; - } - - static bool isSystemOrTemporaryDatabase(const String & database_name) - { - return (database_name == DatabaseCatalog::SYSTEM_DATABASE) || (database_name == DatabaseCatalog::TEMPORARY_DATABASE); - } - - std::pair makeBackupEntryForMetadata(const IAST & create_query) const - { - auto metadata_entry = std::make_unique(serializeAST(create_query)); - String metadata_path = PathsInBackup::getMetadataPath(create_query, shard_num_in_backup, replica_num_in_backup); - return {metadata_path, std::move(metadata_entry)}; - } - - struct TableInfo; - - void appendBackupEntriesForData(BackupEntries & res, const TableInfo & info) const - { - if (info.zk_path.empty()) - { - for (const auto & [relative_path, backup_entry] : info.data) - res.emplace_back(info.data_path + relative_path, backup_entry); - return; - } - - Strings data_paths = backup_coordination->getReplicatedTableDataPaths(info.zk_path); - Strings part_names = backup_coordination->getReplicatedTablePartNames(backup_settings.host_id, info.table_name, info.zk_path); - std::unordered_set part_names_set{part_names.begin(), part_names.end()}; - for (const auto & [relative_path, backup_entry] : info.data) - { - size_t slash_pos = relative_path.find('/'); - if (slash_pos != String::npos) - { - String part_name = relative_path.substr(0, slash_pos); - if (MergeTreePartInfo::tryParsePartName(part_name, MERGE_TREE_DATA_MIN_FORMAT_VERSION_WITH_CUSTOM_PARTITIONING)) - { - if (!part_names_set.contains(part_name)) - continue; - for (const auto & data_path : data_paths) - res.emplace_back(data_path + relative_path, backup_entry); - continue; - } - } - res.emplace_back(info.data_path + relative_path, backup_entry); - } - } - - /// Information which is used to make an instance of RestoreTableFromBackupTask. - struct TableInfo - { - DatabaseAndTableName table_name; - ASTPtr create_query; - StoragePtr storage; - BackupEntries data; - String data_path; - String zk_path; - }; - - /// Information which is used to make an instance of RestoreDatabaseFromBackupTask. - struct DatabaseInfo - { - ASTPtr create_query; - }; - - ContextPtr context; - BackupSettings backup_settings; - std::shared_ptr backup_coordination; - size_t shard_num_in_backup = 0; - size_t replica_num_in_backup = 0; - DDLRenamingSettings renaming_settings; - std::unordered_map databases; - std::map tables; - }; -} - - -BackupEntries makeBackupEntries( - const ContextPtr & context, - const Elements & elements, - const BackupSettings & backup_settings, - std::shared_ptr backup_coordination, - std::chrono::seconds timeout_for_other_nodes_to_prepare) -{ - BackupEntriesBuilder builder{context, backup_settings, backup_coordination}; - builder.prepare(elements, timeout_for_other_nodes_to_prepare); - return builder.makeBackupEntries(); + } + return map; } @@ -443,6 +68,7 @@ void writeBackupEntries(BackupMutablePtr backup, BackupEntries && backup_entries std::exception_ptr exception; bool always_single_threaded = !backup->supportsWritingInMultipleThreads(); + auto thread_group = CurrentThread::getGroup(); for (auto & name_and_entry : backup_entries) { @@ -456,22 +82,30 @@ void writeBackupEntries(BackupMutablePtr backup, BackupEntries && backup_entries ++num_active_jobs; } - auto job = [&]() + auto job = [&](bool async) { - SCOPE_EXIT({ + SCOPE_EXIT_SAFE( std::lock_guard lock{mutex}; if (!--num_active_jobs) event.notify_all(); - }); - - { - std::lock_guard lock{mutex}; - if (exception) - return; - } + if (async) + CurrentThread::detachQueryIfNotDetached(); + ); try { + if (async && thread_group) + CurrentThread::attachTo(thread_group); + + if (async) + setThreadName("BackupWorker"); + + { + std::lock_guard lock{mutex}; + if (exception) + return; + } + backup->writeFile(name, std::move(entry)); } catch (...) @@ -482,30 +116,86 @@ void writeBackupEntries(BackupMutablePtr backup, BackupEntries && backup_entries } }; - if (always_single_threaded || !thread_pool.trySchedule(job)) - job(); + if (always_single_threaded || !thread_pool.trySchedule([job] { job(true); })) + job(false); } { std::unique_lock lock{mutex}; event.wait(lock, [&] { return !num_active_jobs; }); + if (exception) + std::rethrow_exception(exception); } +} - backup_entries.clear(); - if (exception) +void restoreTablesData(DataRestoreTasks && tasks, ThreadPool & thread_pool) +{ + size_t num_active_jobs = 0; + std::mutex mutex; + std::condition_variable event; + std::exception_ptr exception; + + auto thread_group = CurrentThread::getGroup(); + + for (auto & task : tasks) { - /// We don't call finalizeWriting() if an error occurs. - /// And IBackup's implementation should remove the backup in its destructor if finalizeWriting() hasn't called before. - std::rethrow_exception(exception); + { + std::unique_lock lock{mutex}; + if (exception) + break; + ++num_active_jobs; + } + + auto job = [&](bool async) + { + SCOPE_EXIT_SAFE( + std::lock_guard lock{mutex}; + if (!--num_active_jobs) + event.notify_all(); + if (async) + CurrentThread::detachQueryIfNotDetached(); + ); + + try + { + if (async && thread_group) + CurrentThread::attachTo(thread_group); + + if (async) + setThreadName("RestoreWorker"); + + { + std::lock_guard lock{mutex}; + if (exception) + return; + } + + std::move(task)(); + } + catch (...) + { + std::lock_guard lock{mutex}; + if (!exception) + exception = std::current_exception(); + } + }; + + if (!thread_pool.trySchedule([job] { job(true); })) + job(false); } - backup->finalizeWriting(); + { + std::unique_lock lock{mutex}; + event.wait(lock, [&] { return !num_active_jobs; }); + if (exception) + std::rethrow_exception(exception); + } } /// Returns access required to execute BACKUP query. -AccessRightsElements getRequiredAccessToBackup(const ASTBackupQuery::Elements & elements, const BackupSettings & backup_settings) +AccessRightsElements getRequiredAccessToBackup(const ASTBackupQuery::Elements & elements) { AccessRightsElements required_access; for (const auto & element : elements) @@ -514,32 +204,27 @@ AccessRightsElements getRequiredAccessToBackup(const ASTBackupQuery::Elements & { case ASTBackupQuery::TABLE: { - if (element.is_temp_db) - break; - AccessFlags flags = AccessType::SHOW_TABLES; - if (!backup_settings.structure_only) - flags |= AccessType::SELECT; - required_access.emplace_back(flags, element.name.first, element.name.second); + required_access.emplace_back(AccessType::BACKUP, element.database_name, element.table_name); break; } + + case ASTBackupQuery::TEMPORARY_TABLE: + { + /// It's always allowed to backup temporary tables. + break; + } + case ASTBackupQuery::DATABASE: { - if (element.is_temp_db) - break; - AccessFlags flags = AccessType::SHOW_TABLES | AccessType::SHOW_DATABASES; - if (!backup_settings.structure_only) - flags |= AccessType::SELECT; - required_access.emplace_back(flags, element.name.first); - /// TODO: It's better to process `element.except_list` somehow. + /// TODO: It's better to process `element.except_tables` somehow. + required_access.emplace_back(AccessType::BACKUP, element.database_name); break; } - case ASTBackupQuery::ALL_DATABASES: + + case ASTBackupQuery::ALL: { - AccessFlags flags = AccessType::SHOW_TABLES | AccessType::SHOW_DATABASES; - if (!backup_settings.structure_only) - flags |= AccessType::SELECT; - required_access.emplace_back(flags); - /// TODO: It's better to process `element.except_list` somehow. + /// TODO: It's better to process `element.except_databases` & `element.except_tables` somehow. + required_access.emplace_back(AccessType::BACKUP); break; } } diff --git a/src/Backups/BackupUtils.h b/src/Backups/BackupUtils.h index 315443a0f1d..cda9121b1fa 100644 --- a/src/Backups/BackupUtils.h +++ b/src/Backups/BackupUtils.h @@ -7,29 +7,23 @@ namespace DB { class IBackup; -using BackupPtr = std::shared_ptr; using BackupMutablePtr = std::shared_ptr; class IBackupEntry; -using BackupEntryPtr = std::shared_ptr; -using BackupEntries = std::vector>; -struct BackupSettings; -class IBackupCoordination; +using BackupEntries = std::vector>>; +using DataRestoreTasks = std::vector>; class AccessRightsElements; -class Context; -using ContextPtr = std::shared_ptr; +class DDLRenamingMap; -/// Prepares backup entries. -BackupEntries makeBackupEntries( - const ContextPtr & context, - const ASTBackupQuery::Elements & elements, - const BackupSettings & backup_settings, - std::shared_ptr backup_coordination, - std::chrono::seconds timeout_for_other_nodes_to_prepare = std::chrono::seconds::zero()); +/// Initializes a DDLRenamingMap from a BACKUP or RESTORE query. +DDLRenamingMap makeRenamingMapFromBackupQuery(const ASTBackupQuery::Elements & elements); /// Write backup entries to an opened backup. void writeBackupEntries(BackupMutablePtr backup, BackupEntries && backup_entries, ThreadPool & thread_pool); +/// Run data restoring tasks which insert data to tables. +void restoreTablesData(DataRestoreTasks && tasks, ThreadPool & thread_pool); + /// Returns access required to execute BACKUP query. -AccessRightsElements getRequiredAccessToBackup(const ASTBackupQuery::Elements & elements, const BackupSettings & backup_settings); +AccessRightsElements getRequiredAccessToBackup(const ASTBackupQuery::Elements & elements); } diff --git a/src/Backups/BackupsWorker.cpp b/src/Backups/BackupsWorker.cpp index e84ec350be7..635b2810941 100644 --- a/src/Backups/BackupsWorker.cpp +++ b/src/Backups/BackupsWorker.cpp @@ -4,13 +4,13 @@ #include #include #include +#include #include #include -#include #include #include #include -#include +#include #include #include #include @@ -19,6 +19,8 @@ #include #include #include +#include +#include namespace DB @@ -51,131 +53,145 @@ UUID BackupsWorker::startMakingBackup(const ASTPtr & query, const ContextPtr & c { UUID backup_uuid = UUIDHelpers::generateV4(); auto backup_query = std::static_pointer_cast(query->clone()); - auto backup_info = BackupInfo::fromAST(*backup_query->backup_name); auto backup_settings = BackupSettings::fromBackupQuery(*backup_query); + auto backup_info = BackupInfo::fromAST(*backup_query->backup_name); + bool on_cluster = !backup_query->cluster.empty(); + + /// Prepare context to use. + ContextPtr context_in_use = context; + ContextMutablePtr mutable_context; + if (on_cluster || backup_settings.async) + { + /// For ON CLUSTER queries we will need to change some settings. + /// For ASYNC queries we have to clone the context anyway. + context_in_use = mutable_context = Context::createCopy(context); + } addInfo(backup_uuid, backup_info.toString(), BackupStatus::MAKING_BACKUP, backup_settings.internal); - std::shared_ptr backup_coordination; - SCOPE_EXIT({ - if (backup_coordination && !backup_settings.internal) - backup_coordination->drop(); - }); - - BackupMutablePtr backup; - ContextPtr cloned_context; - bool on_cluster = !backup_query->cluster.empty(); - std::shared_ptr on_cluster_io; - - try - { - auto access_to_check = getRequiredAccessToBackup(backup_query->elements, backup_settings); - if (!on_cluster) - context->checkAccess(access_to_check); - - ClusterPtr cluster; - if (on_cluster) - { - backup_query->cluster = context->getMacros()->expand(backup_query->cluster); - cluster = context->getCluster(backup_query->cluster); - backup_settings.cluster_host_ids = cluster->getHostIDs(); - if (backup_settings.coordination_zk_path.empty()) - { - String root_zk_path = context->getConfigRef().getString("backups.zookeeper_path", "/clickhouse/backups"); - backup_settings.coordination_zk_path = root_zk_path + "/backup-" + toString(backup_uuid); - } - backup_settings.copySettingsToQuery(*backup_query); - } - - if (!backup_settings.coordination_zk_path.empty()) - backup_coordination = std::make_shared( - backup_settings.coordination_zk_path, - [global_context = context->getGlobalContext()] { return global_context->getZooKeeper(); }); - else - backup_coordination = std::make_shared(); - - BackupFactory::CreateParams backup_create_params; - backup_create_params.open_mode = IBackup::OpenMode::WRITE; - backup_create_params.context = context; - backup_create_params.backup_info = backup_info; - backup_create_params.base_backup_info = backup_settings.base_backup_info; - backup_create_params.compression_method = backup_settings.compression_method; - backup_create_params.compression_level = backup_settings.compression_level; - backup_create_params.password = backup_settings.password; - backup_create_params.backup_uuid = backup_uuid; - backup_create_params.is_internal_backup = backup_settings.internal; - backup_create_params.backup_coordination = backup_coordination; - backup = BackupFactory::instance().createBackup(backup_create_params); - - ContextMutablePtr mutable_context; - if (on_cluster || backup_settings.async) - cloned_context = mutable_context = Context::createCopy(context); - else - cloned_context = context; /// No need to clone context - - if (on_cluster) - { - DDLQueryOnClusterParams params; - params.cluster = cluster; - params.only_shard_num = backup_settings.shard_num; - params.only_replica_num = backup_settings.replica_num; - params.access_to_check = access_to_check; - mutable_context->setSetting("distributed_ddl_task_timeout", -1); // No timeout - mutable_context->setSetting("distributed_ddl_output_mode", Field{"throw"}); - auto res = executeDDLQueryOnCluster(backup_query, mutable_context, params); - on_cluster_io = std::make_shared(std::move(res)); - } - } - catch (...) - { - setStatus(backup_uuid, BackupStatus::FAILED_TO_BACKUP); - throw; - } - auto job = [this, - backup, backup_uuid, backup_query, backup_settings, - backup_coordination, - on_cluster_io, - cloned_context](bool in_separate_thread) + backup_info, + on_cluster, + context_in_use, + thread_group = CurrentThread::getGroup(), + mutable_context](bool async) mutable { + SCOPE_EXIT_SAFE( + if (async) + CurrentThread::detachQueryIfNotDetached(); + ); + try { - if (on_cluster_io) + if (async && thread_group) + CurrentThread::attachTo(thread_group); + + if (async) + setThreadName("BackupWorker"); + + /// Checks access rights if this is not ON CLUSTER query. + /// (If this is ON CLUSTER query executeDDLQueryOnCluster() will check access rights later.) + auto required_access = getRequiredAccessToBackup(backup_query->elements); + if (!on_cluster) + context_in_use->checkAccess(required_access); + + /// Make a backup coordination. + std::shared_ptr backup_coordination; + SCOPE_EXIT({ + if (backup_coordination && !backup_settings.internal) + backup_coordination->drop(); + }); + + ClusterPtr cluster; + if (on_cluster) { - PullingPipelineExecutor executor(on_cluster_io->pipeline); - Block block; - while (executor.pull(block)) - ; - backup->finalizeWriting(); + backup_query->cluster = context_in_use->getMacros()->expand(backup_query->cluster); + cluster = context_in_use->getCluster(backup_query->cluster); + backup_settings.cluster_host_ids = cluster->getHostIDs(); + if (backup_settings.coordination_zk_path.empty()) + { + String root_zk_path = context_in_use->getConfigRef().getString("backups.zookeeper_path", "/clickhouse/backups"); + backup_settings.coordination_zk_path = root_zk_path + "/backup-" + toString(backup_uuid); + } + } + + if (!backup_settings.coordination_zk_path.empty()) + { + backup_coordination = std::make_shared( + backup_settings.coordination_zk_path, + [global_context = context_in_use->getGlobalContext()] { return global_context->getZooKeeper(); }); } else { - std::optional query_scope; - if (in_separate_thread) - query_scope.emplace(cloned_context); + backup_coordination = std::make_shared(); + } - backup_query->setDatabase(cloned_context->getCurrentDatabase()); + /// Opens a backup for writing. + BackupFactory::CreateParams backup_create_params; + backup_create_params.open_mode = IBackup::OpenMode::WRITE; + backup_create_params.context = context_in_use; + backup_create_params.backup_info = backup_info; + backup_create_params.base_backup_info = backup_settings.base_backup_info; + backup_create_params.compression_method = backup_settings.compression_method; + backup_create_params.compression_level = backup_settings.compression_level; + backup_create_params.password = backup_settings.password; + backup_create_params.backup_uuid = backup_uuid; + backup_create_params.is_internal_backup = backup_settings.internal; + backup_create_params.backup_coordination = backup_coordination; + BackupMutablePtr backup = BackupFactory::instance().createBackup(backup_create_params); + + /// Write the backup. + if (on_cluster) + { + DDLQueryOnClusterParams params; + params.cluster = cluster; + params.only_shard_num = backup_settings.shard_num; + params.only_replica_num = backup_settings.replica_num; + params.access_to_check = required_access; + mutable_context->setSetting("distributed_ddl_task_timeout", -1); // No timeout + mutable_context->setSetting("distributed_ddl_output_mode", Field{"throw"}); + backup_settings.copySettingsToQuery(*backup_query); + auto res = executeDDLQueryOnCluster(backup_query, mutable_context, params); + auto on_cluster_io = std::make_shared(std::move(res)); + PullingPipelineExecutor executor(on_cluster_io->pipeline); + Block block; + while (executor.pull(block)); + } + else + { + backup_query->setCurrentDatabase(context_in_use->getCurrentDatabase()); + + BackupEntries backup_entries; + { + BackupEntriesCollector backup_entries_collector{backup_query->elements, backup_settings, backup_coordination, context_in_use}; + backup_entries = backup_entries_collector.run(); + } - auto timeout_for_preparing = std::chrono::seconds{cloned_context->getConfigRef().getInt("backups.backup_prepare_timeout", -1)}; - auto backup_entries - = makeBackupEntries(cloned_context, backup_query->elements, backup_settings, backup_coordination, timeout_for_preparing); writeBackupEntries(backup, std::move(backup_entries), backups_thread_pool); } + + /// Finalize backup (write its metadata). + if (!backup_settings.internal) + backup->finalizeWriting(); + + /// Close the backup. + backup.reset(); + setStatus(backup_uuid, BackupStatus::BACKUP_COMPLETE); } catch (...) { setStatus(backup_uuid, BackupStatus::FAILED_TO_BACKUP); - if (!in_separate_thread) + if (!async) throw; } }; if (backup_settings.async) - backups_thread_pool.scheduleOrThrowOnError([job] { job(true); }); + backups_thread_pool.scheduleOrThrowOnError([job]() mutable { job(true); }); else job(false); @@ -187,85 +203,116 @@ UUID BackupsWorker::startRestoring(const ASTPtr & query, ContextMutablePtr conte { UUID restore_uuid = UUIDHelpers::generateV4(); auto restore_query = std::static_pointer_cast(query->clone()); - auto backup_info = BackupInfo::fromAST(*restore_query->backup_name); auto restore_settings = RestoreSettings::fromRestoreQuery(*restore_query); + auto backup_info = BackupInfo::fromAST(*restore_query->backup_name); + bool on_cluster = !restore_query->cluster.empty(); + + /// Prepare context to use. + ContextMutablePtr context_in_use = context; + if (restore_settings.async || on_cluster) + { + /// For ON CLUSTER queries we will need to change some settings. + /// For ASYNC queries we have to clone the context anyway. + context_in_use = Context::createCopy(context); + } addInfo(restore_uuid, backup_info.toString(), BackupStatus::RESTORING, restore_settings.internal); - std::shared_ptr restore_coordination; - SCOPE_EXIT({ - if (restore_coordination && !restore_settings.internal) - restore_coordination->drop(); - }); - - ContextMutablePtr cloned_context; - std::shared_ptr on_cluster_io; - bool on_cluster = !restore_query->cluster.empty(); - - try - { - auto access_to_check = getRequiredAccessToRestore(restore_query->elements, restore_settings); - if (!on_cluster) - context->checkAccess(access_to_check); - - ClusterPtr cluster; - if (on_cluster) - { - restore_query->cluster = context->getMacros()->expand(restore_query->cluster); - cluster = context->getCluster(restore_query->cluster); - restore_settings.cluster_host_ids = cluster->getHostIDs(); - if (restore_settings.coordination_zk_path.empty()) - { - String root_zk_path = context->getConfigRef().getString("backups.zookeeper_path", "/clickhouse/backups"); - restore_settings.coordination_zk_path = root_zk_path + "/restore-" + toString(restore_uuid); - } - restore_settings.copySettingsToQuery(*restore_query); - } - - if (!restore_settings.coordination_zk_path.empty()) - restore_coordination = std::make_shared( - restore_settings.coordination_zk_path, - [global_context = context->getGlobalContext()] { return global_context->getZooKeeper(); }); - else - restore_coordination = std::make_shared(); - - if (on_cluster || restore_settings.async) - cloned_context = Context::createCopy(context); - else - cloned_context = context; /// No need to clone context - - if (on_cluster) - { - DDLQueryOnClusterParams params; - params.cluster = cluster; - params.only_shard_num = restore_settings.shard_num; - params.only_replica_num = restore_settings.replica_num; - params.access_to_check = access_to_check; - cloned_context->setSetting("distributed_ddl_task_timeout", -1); // No timeout - cloned_context->setSetting("distributed_ddl_output_mode", Field{"throw"}); - auto res = executeDDLQueryOnCluster(restore_query, cloned_context, params); - on_cluster_io = std::make_shared(std::move(res)); - } - } - catch (...) - { - setStatus(restore_uuid, BackupStatus::FAILED_TO_RESTORE); - throw; - } - auto job = [this, - backup_info, restore_uuid, restore_query, restore_settings, - restore_coordination, - on_cluster_io, - cloned_context](bool in_separate_thread) + backup_info, + on_cluster, + thread_group = CurrentThread::getGroup(), + context_in_use](bool async) mutable { + SCOPE_EXIT_SAFE( + if (async) + CurrentThread::detachQueryIfNotDetached(); + ); + try { - if (on_cluster_io) + if (async && thread_group) + CurrentThread::attachTo(thread_group); + + if (async) + setThreadName("RestoreWorker"); + + /// Open the backup for reading. + BackupFactory::CreateParams backup_open_params; + backup_open_params.open_mode = IBackup::OpenMode::READ; + backup_open_params.context = context_in_use; + backup_open_params.backup_info = backup_info; + backup_open_params.base_backup_info = restore_settings.base_backup_info; + backup_open_params.password = restore_settings.password; + BackupPtr backup = BackupFactory::instance().createBackup(backup_open_params); + + String current_database = context_in_use->getCurrentDatabase(); + + /// Checks access rights if this is ON CLUSTER query. + /// (If this isn't ON CLUSTER query RestorerFromBackup will check access rights later.) + ClusterPtr cluster; + if (on_cluster) { + restore_query->cluster = context_in_use->getMacros()->expand(restore_query->cluster); + cluster = context_in_use->getCluster(restore_query->cluster); + restore_settings.cluster_host_ids = cluster->getHostIDs(); + + /// We cannot just use access checking provided by the function executeDDLQueryOnCluster(): it would be incorrect + /// because different replicas can contain different set of tables and so the required access rights can differ too. + /// So the right way is pass through the entire cluster and check access for each host. + auto addresses = cluster->filterAddressesByShardOrReplica(restore_settings.shard_num, restore_settings.replica_num); + for (const auto * address : addresses) + { + restore_settings.host_id = address->toString(); + auto restore_elements = restore_query->elements; + String addr_database = address->default_database.empty() ? current_database : address->default_database; + for (auto & element : restore_elements) + element.setCurrentDatabase(addr_database); + RestorerFromBackup dummy_restorer{restore_elements, restore_settings, nullptr, backup, context_in_use}; + dummy_restorer.run(RestorerFromBackup::CHECK_ACCESS_ONLY); + } + } + + /// Make a restore coordination. + std::shared_ptr restore_coordination; + SCOPE_EXIT({ + if (restore_coordination && !restore_settings.internal) + restore_coordination->drop(); + }); + + if (on_cluster && restore_settings.coordination_zk_path.empty()) + { + String root_zk_path = context_in_use->getConfigRef().getString("backups.zookeeper_path", "/clickhouse/backups"); + restore_settings.coordination_zk_path = root_zk_path + "/restore-" + toString(restore_uuid); + } + + if (!restore_settings.coordination_zk_path.empty()) + { + restore_coordination = std::make_shared( + restore_settings.coordination_zk_path, + [global_context = context_in_use->getGlobalContext()] { return global_context->getZooKeeper(); }); + } + else + { + restore_coordination = std::make_shared(); + } + + /// Do RESTORE. + if (on_cluster) + { + + DDLQueryOnClusterParams params; + params.cluster = cluster; + params.only_shard_num = restore_settings.shard_num; + params.only_replica_num = restore_settings.replica_num; + context_in_use->setSetting("distributed_ddl_task_timeout", -1); // No timeout + context_in_use->setSetting("distributed_ddl_output_mode", Field{"throw"}); + restore_settings.copySettingsToQuery(*restore_query); + auto res = executeDDLQueryOnCluster(restore_query, context_in_use, params); + auto on_cluster_io = std::make_shared(std::move(res)); PullingPipelineExecutor executor(on_cluster_io->pipeline); Block block; while (executor.pull(block)) @@ -273,26 +320,16 @@ UUID BackupsWorker::startRestoring(const ASTPtr & query, ContextMutablePtr conte } else { - std::optional query_scope; - if (in_separate_thread) - query_scope.emplace(cloned_context); + restore_query->setCurrentDatabase(current_database); - restore_query->setDatabase(cloned_context->getCurrentDatabase()); + DataRestoreTasks data_restore_tasks; + { + RestorerFromBackup restorer{restore_query->elements, restore_settings, restore_coordination, + backup, context_in_use}; + data_restore_tasks = restorer.run(RestorerFromBackup::RESTORE); + } - BackupFactory::CreateParams backup_open_params; - backup_open_params.open_mode = IBackup::OpenMode::READ; - backup_open_params.context = cloned_context; - backup_open_params.backup_info = backup_info; - backup_open_params.base_backup_info = restore_settings.base_backup_info; - backup_open_params.password = restore_settings.password; - BackupPtr backup = BackupFactory::instance().createBackup(backup_open_params); - - auto timeout_for_restoring_metadata - = std::chrono::seconds{cloned_context->getConfigRef().getInt("backups.restore_metadata_timeout", -1)}; - auto restore_tasks = makeRestoreTasks( - cloned_context, backup, restore_query->elements, restore_settings, restore_coordination, timeout_for_restoring_metadata); - restoreMetadata(restore_tasks, restore_settings, restore_coordination, timeout_for_restoring_metadata); - restoreData(restore_tasks, restores_thread_pool); + restoreTablesData(std::move(data_restore_tasks), restores_thread_pool); } setStatus(restore_uuid, BackupStatus::RESTORED); @@ -300,13 +337,13 @@ UUID BackupsWorker::startRestoring(const ASTPtr & query, ContextMutablePtr conte catch (...) { setStatus(restore_uuid, BackupStatus::FAILED_TO_RESTORE); - if (!in_separate_thread) + if (!async) throw; } }; if (restore_settings.async) - backups_thread_pool.scheduleOrThrowOnError([job] { job(true); }); + backups_thread_pool.scheduleOrThrowOnError([job]() mutable { job(true); }); else job(false); @@ -333,29 +370,26 @@ void BackupsWorker::setStatus(const UUID & uuid, BackupStatus status) info.status = status; info.status_changed_time = time(nullptr); - if ((status == BackupStatus::FAILED_TO_BACKUP) || (status == BackupStatus::FAILED_TO_RESTORE)) + if (status == BackupStatus::BACKUP_COMPLETE) { + LOG_INFO(log, "{} {} was created successfully", (info.internal ? "Internal backup" : "Backup"), info.backup_name); + } + else if (status == BackupStatus::RESTORED) + { + LOG_INFO(log, "Restored from {} {} successfully", (info.internal ? "internal backup" : "backup"), info.backup_name); + } + else if ((status == BackupStatus::FAILED_TO_BACKUP) || (status == BackupStatus::FAILED_TO_RESTORE)) + { + String start_of_message; + if (status == BackupStatus::FAILED_TO_BACKUP) + start_of_message = fmt::format("Failed to create {} {}", (info.internal ? "internal backup" : "backup"), info.backup_name); + else + start_of_message = fmt::format("Failed to restore from {} {}", (info.internal ? "internal backup" : "backup"), info.backup_name); + tryLogCurrentException(log, start_of_message); + info.error_message = getCurrentExceptionMessage(false); info.exception = std::current_exception(); } - - switch (status) - { - case BackupStatus::BACKUP_COMPLETE: - LOG_INFO(log, "{} {} was created successfully", (info.internal ? "Internal backup" : "Backup"), info.backup_name); - break; - case BackupStatus::FAILED_TO_BACKUP: - LOG_ERROR(log, "Failed to create {} {}", (info.internal ? "internal backup" : "backup"), info.backup_name); - break; - case BackupStatus::RESTORED: - LOG_INFO(log, "Restored from {} {} successfully", (info.internal ? "internal backup" : "backup"), info.backup_name); - break; - case BackupStatus::FAILED_TO_RESTORE: - LOG_ERROR(log, "Failed to restore from {} {}", (info.internal ? "internal backup" : "backup"), info.backup_name); - break; - default: - break; - } } diff --git a/src/Backups/BackupsWorker.h b/src/Backups/BackupsWorker.h index 5f3d3d73de6..f546fa2497d 100644 --- a/src/Backups/BackupsWorker.h +++ b/src/Backups/BackupsWorker.h @@ -63,7 +63,7 @@ private: std::unordered_map infos; std::condition_variable status_changed; mutable std::mutex infos_mutex; - const Poco::Logger * log; + Poco::Logger * log; }; } diff --git a/src/Backups/DDLAdjustingForBackupVisitor.cpp b/src/Backups/DDLAdjustingForBackupVisitor.cpp new file mode 100644 index 00000000000..8223e08f127 --- /dev/null +++ b/src/Backups/DDLAdjustingForBackupVisitor.cpp @@ -0,0 +1,113 @@ +#include +#include +#include +#include +#include +#include + +#include + + +namespace DB +{ + +namespace +{ + void visitStorageSystemTableEngine(ASTStorage &, const DDLAdjustingForBackupVisitor::Data & data) + { + /// Precondition: storage.engine && storage.engine->name.starts_with("System")) + + /// If this is a definition of a system table we'll remove columns and comment because they're redundant for backups. + auto & create = data.create_query->as(); + create.reset(create.columns_list); + create.reset(create.comment); + } + + void visitStorageReplicatedTableEngine(ASTStorage & storage, const DDLAdjustingForBackupVisitor::Data & data) + { + /// Precondition: engine_name.starts_with("Replicated") && engine_name.ends_with("MergeTree") + + if (data.replicated_table_shared_id) + *data.replicated_table_shared_id = StorageReplicatedMergeTree::tryGetTableSharedIDFromCreateQuery(*data.create_query, data.global_context); + + /// Before storing the metadata in a backup we have to find a zookeeper path in its definition and turn the table's UUID in there + /// back into "{uuid}", and also we probably can remove the zookeeper path and replica name if they're default. + /// So we're kind of reverting what we had done to the table's definition in registerStorageMergeTree.cpp before we created this table. + auto & create = data.create_query->as(); + auto & engine = *storage.engine; + + auto * engine_args_ast = typeid_cast(engine.arguments.get()); + if (!engine_args_ast) + return; + + auto & engine_args = engine_args_ast->children; + if (engine_args.size() < 2) + return; + + auto * zookeeper_path_ast = typeid_cast(engine_args[0].get()); + auto * replica_name_ast = typeid_cast(engine_args[1].get()); + if (zookeeper_path_ast && (zookeeper_path_ast->value.getType() == Field::Types::String) && + replica_name_ast && (replica_name_ast->value.getType() == Field::Types::String)) + { + String & zookeeper_path_arg = zookeeper_path_ast->value.get(); + String & replica_name_arg = replica_name_ast->value.get(); + if (create.uuid != UUIDHelpers::Nil) + { + String table_uuid_str = toString(create.uuid); + if (size_t uuid_pos = zookeeper_path_arg.find(table_uuid_str); uuid_pos != String::npos) + zookeeper_path_arg.replace(uuid_pos, table_uuid_str.size(), "{uuid}"); + } + const auto & config = data.global_context->getConfigRef(); + if ((zookeeper_path_arg == StorageReplicatedMergeTree::getDefaultZooKeeperPath(config)) + && (replica_name_arg == StorageReplicatedMergeTree::getDefaultReplicaName(config)) + && ((engine_args.size() == 2) || !engine_args[2]->as())) + { + engine_args.erase(engine_args.begin(), engine_args.begin() + 2); + } + } + } + + void visitStorage(ASTStorage & storage, const DDLAdjustingForBackupVisitor::Data & data) + { + if (!storage.engine) + return; + + const String & engine_name = storage.engine->name; + if (engine_name.starts_with("System")) + visitStorageSystemTableEngine(storage, data); + else if (engine_name.starts_with("Replicated") && engine_name.ends_with("MergeTree")) + visitStorageReplicatedTableEngine(storage, data); + } + + void visitCreateQuery(ASTCreateQuery & create, const DDLAdjustingForBackupVisitor::Data & data) + { + create.uuid = UUIDHelpers::Nil; + create.to_inner_uuid = UUIDHelpers::Nil; + + if (create.storage) + visitStorage(*create.storage, data); + } +} + + +bool DDLAdjustingForBackupVisitor::needChildVisit(const ASTPtr &, const ASTPtr &) +{ + return false; +} + +void DDLAdjustingForBackupVisitor::visit(ASTPtr ast, const Data & data) +{ + if (auto * create = ast->as()) + visitCreateQuery(*create, data); +} + +void adjustCreateQueryForBackup(ASTPtr ast, const ContextPtr & global_context, std::optional * replicated_table_shared_id) +{ + if (replicated_table_shared_id) + *replicated_table_shared_id = {}; + + DDLAdjustingForBackupVisitor::Data data{ast, global_context, replicated_table_shared_id}; + DDLAdjustingForBackupVisitor::Visitor{data}.visit(ast); +} + +} diff --git a/src/Backups/DDLAdjustingForBackupVisitor.h b/src/Backups/DDLAdjustingForBackupVisitor.h new file mode 100644 index 00000000000..63353dcc000 --- /dev/null +++ b/src/Backups/DDLAdjustingForBackupVisitor.h @@ -0,0 +1,36 @@ +#pragma once + +#include +#include + + +namespace DB +{ +class IAST; +using ASTPtr = std::shared_ptr; +class Context; +using ContextPtr = std::shared_ptr; + +/// Changes a create query to a form which is appropriate or suitable for saving in a backup. +/// Also extracts a replicated table's shared ID from the create query if this is a create query for a replicated table. +/// `replicated_table_shared_id` can be null if you don't need that. +void adjustCreateQueryForBackup(ASTPtr ast, const ContextPtr & global_context, std::optional * replicated_table_shared_id); + +/// Visits ASTCreateQuery and changes it to a form which is appropriate or suitable for saving in a backup. +class DDLAdjustingForBackupVisitor +{ +public: + struct Data + { + ASTPtr create_query; + ContextPtr global_context; + std::optional * replicated_table_shared_id = nullptr; + }; + + using Visitor = InDepthNodeVisitor; + + static bool needChildVisit(const ASTPtr & ast, const ASTPtr & child); + static void visit(ASTPtr ast, const Data & data); +}; + +} diff --git a/src/Backups/DDLCompareUtils.cpp b/src/Backups/DDLCompareUtils.cpp deleted file mode 100644 index 625a0befe63..00000000000 --- a/src/Backups/DDLCompareUtils.cpp +++ /dev/null @@ -1,87 +0,0 @@ -#include -#include -#include - - -namespace DB -{ -namespace -{ - std::shared_ptr prepareDDLToCompare(const ASTCreateQuery & ast) - { - auto res = typeid_cast>(ast.shared_from_this()); - - std::shared_ptr clone; - auto get_clone = [&] - { - if (!clone) - { - clone = typeid_cast>(res->clone()); - res = clone; - } - return clone; - }; - - /// Remove UUIDs. - if (res->uuid != UUIDHelpers::Nil) - get_clone()->uuid = UUIDHelpers::Nil; - - if (res->to_inner_uuid != UUIDHelpers::Nil) - get_clone()->to_inner_uuid = UUIDHelpers::Nil; - - /// Clear IF NOT EXISTS flag. - if (res->if_not_exists) - get_clone()->if_not_exists = false; - - return res; - } -} - - -bool areTableDefinitionsSame(const IAST & table1, const IAST & table2) -{ - auto ast1 = typeid_cast>(table1.shared_from_this()); - if (!ast1 || !ast1->table) - return false; - - auto ast2 = typeid_cast>(table2.shared_from_this()); - if (!ast2 || !ast2->table) - return false; - - if ((ast1->uuid != ast2->uuid) || (ast1->to_inner_uuid != ast2->to_inner_uuid) || - (ast1->if_not_exists != ast2->if_not_exists)) - { - ast1 = prepareDDLToCompare(*ast1); - ast2 = prepareDDLToCompare(*ast2); - } - - return serializeAST(*ast1) == serializeAST(*ast1); -} - - -bool areDatabaseDefinitionsSame(const IAST & database1, const IAST & database2) -{ - auto ast1 = typeid_cast>(database1.shared_from_this()); - if (!ast1 || ast1->table || !ast1->database) - return false; - - auto ast2 = typeid_cast>(database2.shared_from_this()); - if (!ast2 || ast2->table || !ast2->database) - return false; - - if ((ast1->uuid != ast2->uuid) || (ast1->if_not_exists != ast2->if_not_exists)) - { - ast1 = prepareDDLToCompare(*ast1); - ast2 = prepareDDLToCompare(*ast2); - } - - return serializeAST(*ast1) == serializeAST(*ast1); -} - - -bool areTableDataCompatible(const IAST & src_table, const IAST & dest_table) -{ - return areTableDefinitionsSame(src_table, dest_table); -} - -} diff --git a/src/Backups/DDLCompareUtils.h b/src/Backups/DDLCompareUtils.h deleted file mode 100644 index acb99c243ea..00000000000 --- a/src/Backups/DDLCompareUtils.h +++ /dev/null @@ -1,17 +0,0 @@ -#pragma once - - -namespace DB -{ -class IAST; - -/// Checks that two table definitions are actually the same. -bool areTableDefinitionsSame(const IAST & table1, const IAST & table2); - -/// Checks that two database definitions are actually the same. -bool areDatabaseDefinitionsSame(const IAST & database1, const IAST & database2); - -/// Whether the data from the first table can be attached to the second table. -bool areTableDataCompatible(const IAST & src_table, const IAST & dest_table); - -} diff --git a/src/Backups/DDLRenamingVisitor.cpp b/src/Backups/DDLRenamingVisitor.cpp deleted file mode 100644 index fc5cd6f3958..00000000000 --- a/src/Backups/DDLRenamingVisitor.cpp +++ /dev/null @@ -1,387 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -namespace DB -{ -namespace ErrorCodes -{ - extern const int WRONG_DDL_RENAMING_SETTINGS; - extern const int LOGICAL_ERROR; -} - -namespace -{ - /// Replaces names of tables and databases used in a CREATE query, which can be either CREATE TABLE or - /// CREATE DICTIONARY or CREATE VIEW or CREATE TEMPORARY TABLE or CREATE DATABASE query. - void visitCreateQuery(ASTCreateQuery & create, const DDLRenamingVisitor::Data & data) - { - if (create.table) - { - DatabaseAndTableName table_name; - table_name.second = create.getTable(); - if (create.temporary) - table_name.first = DatabaseCatalog::TEMPORARY_DATABASE; - else if (create.database) - table_name.first = create.getDatabase(); - else - throw Exception(ErrorCodes::LOGICAL_ERROR, "Database name specified in the CREATE TABLE query must not be empty"); - - table_name = data.renaming_settings.getNewTableName(table_name); - - if (table_name.first == DatabaseCatalog::TEMPORARY_DATABASE) - { - create.temporary = true; - create.setDatabase(""); - } - else - { - create.temporary = false; - create.setDatabase(table_name.first); - } - create.setTable(table_name.second); - } - else if (create.database) - { - String database_name = create.getDatabase(); - database_name = data.renaming_settings.getNewDatabaseName(database_name); - create.setDatabase(database_name); - } - else - throw Exception(ErrorCodes::LOGICAL_ERROR, "Database name specified in the CREATE DATABASE query must not be empty"); - - if (!create.as_table.empty() && !create.as_database.empty()) - std::tie(create.as_database, create.as_table) = data.renaming_settings.getNewTableName({create.as_database, create.as_table}); - - if (!create.to_table_id.table_name.empty() && !create.to_table_id.database_name.empty()) - { - auto to_table = data.renaming_settings.getNewTableName({create.to_table_id.database_name, create.to_table_id.table_name}); - create.to_table_id = StorageID{to_table.first, to_table.second}; - } - } - - /// Replaces names of a database and a table in a expression like `db`.`table` - void visitTableExpression(ASTTableExpression & expr, const DDLRenamingVisitor::Data & data) - { - if (!expr.database_and_table_name) - return; - - ASTIdentifier * id = expr.database_and_table_name->as(); - if (!id) - return; - - auto table_id = id->createTable(); - if (!table_id) - return; - - const String & db_name = table_id->getDatabaseName(); - const String & table_name = table_id->shortName(); - if (db_name.empty() || table_name.empty()) - return; - - String new_db_name, new_table_name; - std::tie(new_db_name, new_table_name) = data.renaming_settings.getNewTableName({db_name, table_name}); - if ((new_db_name == db_name) && (new_table_name == table_name)) - return; - - expr.database_and_table_name = std::make_shared(Strings{new_db_name, new_table_name}); - expr.children.push_back(expr.database_and_table_name); - } - - /// Replaces a database's name passed via an argument of the function merge() or the table engine Merge. - void visitFunctionMerge(ASTFunction & function, const DDLRenamingVisitor::Data & data) - { - if (!function.arguments) - return; - - /// The first argument is a database's name and we can rename it. - /// The second argument is a regular expression and we can do nothing about it. - auto & args = function.arguments->as().children; - size_t db_name_arg_index = 0; - if (args.size() <= db_name_arg_index) - return; - - String db_name = evaluateConstantExpressionForDatabaseName(args[db_name_arg_index], data.context)->as().value.safeGet(); - if (db_name.empty()) - return; - - String new_db_name = data.renaming_settings.getNewDatabaseName(db_name); - if (new_db_name == db_name) - return; - args[db_name_arg_index] = std::make_shared(new_db_name); - } - - /// Replaces names of a table and a database passed via arguments of the function remote() or cluster() or the table engine Distributed. - void visitFunctionRemote(ASTFunction & function, const DDLRenamingVisitor::Data & data) - { - if (!function.arguments) - return; - - /// The first argument is an address or cluster's name, so we skip it. - /// The second argument can be either 'db.name' or just 'db' followed by the third argument 'table'. - auto & args = function.arguments->as().children; - - const auto * second_arg_as_function = args[1]->as(); - if (second_arg_as_function && TableFunctionFactory::instance().isTableFunctionName(second_arg_as_function->name)) - return; - - size_t db_name_index = 1; - if (args.size() <= db_name_index) - return; - - String name = evaluateConstantExpressionForDatabaseName(args[db_name_index], data.context)->as().value.safeGet(); - - size_t table_name_index = static_cast(-1); - - QualifiedTableName qualified_name; - - if (function.name == "Distributed") - qualified_name.table = name; - else - qualified_name = QualifiedTableName::parseFromString(name); - - if (qualified_name.database.empty()) - { - std::swap(qualified_name.database, qualified_name.table); - table_name_index = 2; - if (args.size() <= table_name_index) - return; - qualified_name.table = evaluateConstantExpressionForDatabaseName(args[table_name_index], data.context)->as().value.safeGet(); - } - - const String & db_name = qualified_name.database; - const String & table_name = qualified_name.table; - - if (db_name.empty() || table_name.empty()) - return; - - String new_db_name, new_table_name; - std::tie(new_db_name, new_table_name) = data.renaming_settings.getNewTableName({db_name, table_name}); - if ((new_db_name == db_name) && (new_table_name == table_name)) - return; - - if (table_name_index != static_cast(-1)) - { - if (new_db_name != db_name) - args[db_name_index] = std::make_shared(new_db_name); - if (new_table_name != table_name) - args[table_name_index] = std::make_shared(new_table_name); - } - else - { - args[db_name_index] = std::make_shared(new_db_name); - args.insert(args.begin() + db_name_index + 1, std::make_shared(new_table_name)); - } - } - - /// Replaces names of tables and databases used in arguments of a table function or a table engine. - void visitFunction(ASTFunction & function, const DDLRenamingVisitor::Data & data) - { - if ((function.name == "merge") || (function.name == "Merge")) - { - visitFunctionMerge(function, data); - } - else if ((function.name == "remote") || (function.name == "remoteSecure") || (function.name == "cluster") || - (function.name == "clusterAllReplicas") || (function.name == "Distributed")) - { - visitFunctionRemote(function, data); - } - } - - /// Replaces names of a table and a database used in source parameters of a dictionary. - void visitDictionary(ASTDictionary & dictionary, const DDLRenamingVisitor::Data & data) - { - if (!dictionary.source || dictionary.source->name != "clickhouse" || !dictionary.source->elements) - return; - - auto & elements = dictionary.source->elements->as().children; - String db_name, table_name; - size_t db_name_index = static_cast(-1); - size_t table_name_index = static_cast(-1); - - for (size_t i = 0; i != elements.size(); ++i) - { - auto & pair = elements[i]->as(); - if (pair.first == "db") - { - if (db_name_index != static_cast(-1)) - return; - db_name = pair.second->as().value.safeGet(); - db_name_index = i; - } - else if (pair.first == "table") - { - if (table_name_index != static_cast(-1)) - return; - table_name = pair.second->as().value.safeGet(); - table_name_index = i; - } - } - - if (db_name.empty() || table_name.empty()) - return; - - String new_db_name, new_table_name; - std::tie(new_db_name, new_table_name) = data.renaming_settings.getNewTableName({db_name, table_name}); - if ((new_db_name == db_name) && (new_table_name == table_name)) - return; - - if (new_db_name != db_name) - { - auto & pair = elements[db_name_index]->as(); - pair.replace(pair.second, std::make_shared(new_db_name)); - } - if (new_table_name != table_name) - { - auto & pair = elements[table_name_index]->as(); - pair.replace(pair.second, std::make_shared(new_table_name)); - } - } -} - - -void DDLRenamingSettings::setNewTableName(const DatabaseAndTableName & old_table_name, const DatabaseAndTableName & new_table_name) -{ - if (old_table_name.first.empty() || old_table_name.second.empty() || new_table_name.first.empty() || new_table_name.second.empty()) - throw Exception(ErrorCodes::LOGICAL_ERROR, "Empty names are not allowed for DDLRenamingSettings::setNewTableName"); - - auto it = old_to_new_table_names.find(old_table_name); - if ((it != old_to_new_table_names.end())) - { - if (it->second == new_table_name) - return; - throw Exception(ErrorCodes::WRONG_DDL_RENAMING_SETTINGS, "Wrong renaming: it's specified that table {}.{} should be renamed to {}.{} and to {}.{} at the same time", - backQuoteIfNeed(old_table_name.first), backQuoteIfNeed(old_table_name.second), - backQuoteIfNeed(it->second.first), backQuoteIfNeed(it->second.second), - backQuoteIfNeed(new_table_name.first), backQuoteIfNeed(new_table_name.second)); - } - old_to_new_table_names[old_table_name] = new_table_name; -} - -void DDLRenamingSettings::setNewDatabaseName(const String & old_database_name, const String & new_database_name) -{ - if (old_database_name.empty() || new_database_name.empty()) - throw Exception(ErrorCodes::LOGICAL_ERROR, "Empty names are not allowed for DDLRenamingSettings::setNewDatabaseName"); - - auto it = old_to_new_database_names.find(old_database_name); - if ((it != old_to_new_database_names.end())) - { - if (it->second == new_database_name) - return; - throw Exception(ErrorCodes::WRONG_DDL_RENAMING_SETTINGS, "Wrong renaming: it's specified that database {} should be renamed to {} and to {} at the same time", - backQuoteIfNeed(old_database_name), backQuoteIfNeed(it->second), backQuoteIfNeed(new_database_name)); - } - old_to_new_database_names[old_database_name] = new_database_name; -} - -void DDLRenamingSettings::setFromBackupQuery(const ASTBackupQuery & backup_query) -{ - setFromBackupQuery(backup_query.elements); -} - -void DDLRenamingSettings::setFromBackupQuery(const ASTBackupQuery::Elements & backup_query_elements) -{ - old_to_new_table_names.clear(); - old_to_new_database_names.clear(); - - using ElementType = ASTBackupQuery::ElementType; - - for (const auto & element : backup_query_elements) - { - switch (element.type) - { - case ElementType::TABLE: - { - const String & table_name = element.name.second; - String database_name = element.name.first; - if (element.is_temp_db) - database_name = DatabaseCatalog::TEMPORARY_DATABASE; - assert(!table_name.empty()); - assert(!database_name.empty()); - - const String & new_table_name = element.new_name.second; - String new_database_name = element.new_name.first; - if (element.is_temp_db) - new_database_name = DatabaseCatalog::TEMPORARY_DATABASE; - assert(!new_table_name.empty()); - assert(!new_database_name.empty()); - - setNewTableName({database_name, table_name}, {new_database_name, new_table_name}); - break; - } - - case ASTBackupQuery::DATABASE: - { - String database_name = element.name.first; - if (element.is_temp_db) - database_name = DatabaseCatalog::TEMPORARY_DATABASE; - assert(!database_name.empty()); - - String new_database_name = element.new_name.first; - if (element.is_temp_db) - new_database_name = DatabaseCatalog::TEMPORARY_DATABASE; - assert(!new_database_name.empty()); - - setNewDatabaseName(database_name, new_database_name); - break; - } - - case ASTBackupQuery::ALL_DATABASES: break; - } - } -} - -DatabaseAndTableName DDLRenamingSettings::getNewTableName(const DatabaseAndTableName & old_table_name) const -{ - auto it = old_to_new_table_names.find(old_table_name); - if (it != old_to_new_table_names.end()) - return it->second; - return {getNewDatabaseName(old_table_name.first), old_table_name.second}; -} - -const String & DDLRenamingSettings::getNewDatabaseName(const String & old_database_name) const -{ - auto it = old_to_new_database_names.find(old_database_name); - if (it != old_to_new_database_names.end()) - return it->second; - return old_database_name; -} - - -bool DDLRenamingVisitor::needChildVisit(ASTPtr &, const ASTPtr &) { return true; } - -void DDLRenamingVisitor::visit(ASTPtr & ast, const Data & data) -{ - if (auto * create = ast->as()) - visitCreateQuery(*create, data); - else if (auto * expr = ast->as()) - visitTableExpression(*expr, data); - else if (auto * function = ast->as()) - visitFunction(*function, data); - else if (auto * dictionary = ast->as()) - visitDictionary(*dictionary, data); -} - -void renameInCreateQuery(ASTPtr & ast, const ContextPtr & global_context, const DDLRenamingSettings & renaming_settings) -{ - try - { - DDLRenamingVisitor::Data data{renaming_settings, global_context}; - DDLRenamingVisitor::Visitor{data}.visit(ast); - } - catch (...) - { - tryLogCurrentException("Backup", "Error while renaming in AST"); - } -} - -} diff --git a/src/Backups/DDLRenamingVisitor.h b/src/Backups/DDLRenamingVisitor.h deleted file mode 100644 index c255039dea7..00000000000 --- a/src/Backups/DDLRenamingVisitor.h +++ /dev/null @@ -1,61 +0,0 @@ -#pragma once - -#include -#include -#include -#include -#include -#include - - -namespace DB -{ -using DatabaseAndTableName = std::pair; -class IAST; -using ASTPtr = std::shared_ptr; -class Context; -using ContextPtr = std::shared_ptr; - -/// Keeps information about renamings of databases or tables being processed -/// while we're making a backup or while we're restoring from a backup. -class DDLRenamingSettings -{ -public: - DDLRenamingSettings() = default; - - void setNewTableName(const DatabaseAndTableName & old_table_name, const DatabaseAndTableName & new_table_name); - void setNewDatabaseName(const String & old_database_name, const String & new_database_name); - - void setFromBackupQuery(const ASTBackupQuery & backup_query); - void setFromBackupQuery(const ASTBackupQuery::Elements & backup_query_elements); - - /// Changes names according to the renaming. - DatabaseAndTableName getNewTableName(const DatabaseAndTableName & old_table_name) const; - const String & getNewDatabaseName(const String & old_database_name) const; - -private: - std::map old_to_new_table_names; - std::unordered_map old_to_new_database_names; -}; - - -/// Changes names in AST according to the renaming settings. -void renameInCreateQuery(ASTPtr & ast, const ContextPtr & global_context, const DDLRenamingSettings & renaming_settings); - -/// Visits ASTCreateQuery and changes names of tables and databases according to passed DDLRenamingConfig. -class DDLRenamingVisitor -{ -public: - struct Data - { - const DDLRenamingSettings & renaming_settings; - ContextPtr context; - }; - - using Visitor = InDepthNodeVisitor; - - static bool needChildVisit(ASTPtr &, const ASTPtr &); - static void visit(ASTPtr & ast, const Data & data); -}; - -} diff --git a/src/Backups/IBackup.h b/src/Backups/IBackup.h index 4e8375a078e..467c8fea4cd 100644 --- a/src/Backups/IBackup.h +++ b/src/Backups/IBackup.h @@ -36,18 +36,19 @@ public: /// Returns UUID of the backup. virtual UUID getUUID() const = 0; - /// Returns names of entries stored in the backup. - /// If `prefix` isn't empty the function will return only the names starting with - /// the prefix (but without the prefix itself). - /// If the `terminator` isn't empty the function will returns only parts of the names - /// before the terminator. For example, list("", "") returns names of all the entries - /// in the backup; and list("data/", "/") return kind of a list of folders and - /// files stored in the "data/" directory inside the backup. - virtual Strings listFiles(const String & prefix = "", const String & terminator = "/") const = 0; /// NOLINT + /// Returns names of entries stored in a specified directory in the backup. + /// If `directory` is empty or '/' the functions returns entries in the backup's root. + virtual Strings listFiles(const String & directory, bool recursive = false) const = 0; + + /// Checks if a specified directory contains any files. + /// The function returns the same as `!listFiles(directory).empty()`. + virtual bool hasFiles(const String & directory) const = 0; + + using SizeAndChecksum = std::pair; /// Checks if an entry with a specified name exists. virtual bool fileExists(const String & file_name) const = 0; - virtual bool fileExists(const std::pair & size_and_checksum) const = 0; + virtual bool fileExists(const SizeAndChecksum & size_and_checksum) const = 0; /// Returns the size of the entry's data. /// This function does the same as `read(file_name)->getSize()` but faster. @@ -57,8 +58,6 @@ public: /// This function does the same as `read(file_name)->getCheckum()` but faster. virtual UInt128 getFileChecksum(const String & file_name) const = 0; - using SizeAndChecksum = std::pair; - /// Returns both the size and checksum in one call. virtual SizeAndChecksum getFileSizeAndChecksum(const String & file_name) const = 0; diff --git a/src/Backups/IBackupCoordination.h b/src/Backups/IBackupCoordination.h index e09f1d973b9..b4c5c7b3d88 100644 --- a/src/Backups/IBackupCoordination.h +++ b/src/Backups/IBackupCoordination.h @@ -6,7 +6,6 @@ namespace DB { -using DatabaseAndTableName = std::pair; /// Keeps information about files contained in a backup. class IBackupCoordination @@ -14,10 +13,10 @@ class IBackupCoordination public: virtual ~IBackupCoordination() = default; - /// Adds a data path in backup for a replicated table. - /// Multiple replicas of the replicated table call this function and then all the added paths can be returned by call of the function - /// getReplicatedTableDataPaths(). - virtual void addReplicatedTableDataPath(const String & table_zk_path, const String & table_data_path) = 0; + /// Sets the current status and waits for other hosts to come to this status too. If status starts with "error:" it'll stop waiting on all the hosts. + virtual void setStatus(const String & current_host, const String & new_status, const String & message) = 0; + virtual Strings setStatusAndWait(const String & current_host, const String & new_status, const String & message, const Strings & other_hosts) = 0; + virtual Strings setStatusAndWaitFor(const String & current_host, const String & new_status, const String & message, const Strings & other_hosts, UInt64 timeout_ms) = 0; struct PartNameAndChecksum { @@ -27,30 +26,31 @@ public: /// Adds part names which a specified replica of a replicated table is going to put to the backup. /// Multiple replicas of the replicated table call this function and then the added part names can be returned by call of the function - /// getReplicatedTablePartNames(). + /// getReplicatedPartNames(). /// Checksums are used only to control that parts under the same names on different replicas are the same. - virtual void addReplicatedTablePartNames( - const String & host_id, - const DatabaseAndTableName & table_name, - const String & table_zk_path, - const std::vector & part_names_and_checksums) - = 0; - - /// Sets that a specified host finished preparations for copying the backup's files, successfully or not. - /// `error_message` should be set to true if it was not successful. - virtual void finishPreparing(const String & host_id, const String & error_message = {}) = 0; - - /// Waits for a specified time for specified hosts to finish preparation for copying the backup's files. - virtual void - waitForAllHostsPrepared(const Strings & host_ids, std::chrono::seconds timeout = std::chrono::seconds(-1) /* no timeout */) const = 0; - - /// Returns all the data paths in backup added for a replicated table (see also addReplicatedTableDataPath()). - virtual Strings getReplicatedTableDataPaths(const String & table_zk_path) const = 0; + virtual void addReplicatedPartNames(const String & table_shared_id, const String & table_name_for_logs, const String & replica_name, + const std::vector & part_names_and_checksums) = 0; /// Returns the names of the parts which a specified replica of a replicated table should put to the backup. - /// This is the same list as it was added by call of the function addReplicatedTablePartNames() but without duplications and without + /// This is the same list as it was added by call of the function addReplicatedPartNames() but without duplications and without /// parts covered by another parts. - virtual Strings getReplicatedTablePartNames(const String & host_id, const DatabaseAndTableName & table_name, const String & table_zk_path) const = 0; + virtual Strings getReplicatedPartNames(const String & table_shared_id, const String & replica_name) const = 0; + + /// Adds a data path in backup for a replicated table. + /// Multiple replicas of the replicated table call this function and then all the added paths can be returned by call of the function + /// getReplicatedDataPaths(). + virtual void addReplicatedDataPath(const String & table_shared_id, const String & data_path) = 0; + + /// Returns all the data paths in backup added for a replicated table (see also addReplicatedDataPath()). + virtual Strings getReplicatedDataPaths(const String & table_shared_id) const = 0; + + /// Adds a path to access.txt file keeping access entities of a ReplicatedAccessStorage. + virtual void addReplicatedAccessPath(const String & access_zk_path, const String & file_path) = 0; + virtual Strings getReplicatedAccessPaths(const String & access_zk_path) const = 0; + + /// Sets the host id of a host storing access entities of a ReplicatedAccessStorage to backup. + virtual void setReplicatedAccessHost(const String & access_zk_path, const String & host) = 0; + virtual String getReplicatedAccessHost(const String & access_zk_path) const = 0; struct FileInfo { @@ -87,7 +87,8 @@ public: virtual void updateFileInfo(const FileInfo & file_info) = 0; virtual std::vector getAllFileInfos() const = 0; - virtual Strings listFiles(const String & prefix, const String & terminator) const = 0; + virtual Strings listFiles(const String & directory, bool recursive) const = 0; + virtual bool hasFiles(const String & directory) const = 0; using SizeAndChecksum = std::pair; diff --git a/src/Backups/IRestoreCoordination.h b/src/Backups/IRestoreCoordination.h index 473b3199d04..ba76a6e0c99 100644 --- a/src/Backups/IRestoreCoordination.h +++ b/src/Backups/IRestoreCoordination.h @@ -13,53 +13,21 @@ class IRestoreCoordination public: virtual ~IRestoreCoordination() = default; + /// Sets the current status and waits for other hosts to come to this status too. If status starts with "error:" it'll stop waiting on all the hosts. + virtual void setStatus(const String & current_host, const String & new_status, const String & message) = 0; + virtual Strings setStatusAndWait(const String & current_host, const String & new_status, const String & message, const Strings & other_hosts) = 0; + virtual Strings setStatusAndWaitFor(const String & current_host, const String & new_status, const String & message, const Strings & other_hosts, UInt64 timeout_ms) = 0; + /// Starts creating a table in a replicated database. Returns false if there is another host which is already creating this table. - virtual bool startCreatingTableInReplicatedDB( - const String & host_id, const String & database_name, const String & database_zk_path, const String & table_name) - = 0; - - /// Sets that either we have been created a table in a replicated database or failed doing that. - /// In the latter case `error_message` should be set. - /// Calling this function unblocks other hosts waiting for this table to be created (see waitForCreatingTableInReplicatedDB()). - virtual void finishCreatingTableInReplicatedDB( - const String & host_id, - const String & database_name, - const String & database_zk_path, - const String & table_name, - const String & error_message = {}) - = 0; - - /// Wait for another host to create a table in a replicated database. - virtual void waitForTableCreatedInReplicatedDB( - const String & database_name, - const String & database_zk_path, - const String & table_name, - std::chrono::seconds timeout = std::chrono::seconds(-1) /* no timeout */) - = 0; - - /// Adds a path in backup used by a replicated table. - /// This function can be called multiple times for the same table with different `host_id`, and in that case - /// getReplicatedTableDataPath() will choose `data_path_in_backup` with the lexicographycally first `host_id`. - virtual void addReplicatedTableDataPath( - const String & host_id, const DatabaseAndTableName & table_name, const String & table_zk_path, const String & data_path_in_backup) - = 0; - - /// Sets that a specified host has finished restoring metadata, successfully or with an error. - /// In the latter case `error_message` should be set. - virtual void finishRestoringMetadata(const String & host_id, const String & error_message = {}) = 0; - - /// Waits for a specified list of hosts to finish restoring their metadata. - virtual void waitForAllHostsRestoredMetadata( - const Strings & host_ids, std::chrono::seconds timeout = std::chrono::seconds(-1) /* no timeout */) const = 0; - - /// Gets path in backup used by a replicated table. - virtual String getReplicatedTableDataPath(const String & table_zk_path) const = 0; + virtual bool acquireCreatingTableInReplicatedDatabase(const String & database_zk_path, const String & table_name) = 0; /// Sets that this replica is going to restore a partition in a replicated table. /// The function returns false if this partition is being already restored by another replica. - virtual bool startInsertingDataToPartitionInReplicatedTable( - const String & host_id, const DatabaseAndTableName & table_name, const String & table_zk_path, const String & partition_name) - = 0; + virtual bool acquireInsertingDataIntoReplicatedTable(const String & table_zk_path) = 0; + + /// Sets that this replica is going to restore a ReplicatedAccessStorage. + /// The function returns false if this access storage is being already restored by another replica. + virtual bool acquireReplicatedAccessStorage(const String & access_storage_zk_path) = 0; /// Removes remotely stored information. virtual void drop() {} diff --git a/src/Backups/IRestoreTask.h b/src/Backups/IRestoreTask.h deleted file mode 100644 index 6e6a28eacf0..00000000000 --- a/src/Backups/IRestoreTask.h +++ /dev/null @@ -1,36 +0,0 @@ -#pragma once - -#include -#include - - -namespace DB -{ - -/// Represents a task of restoring something (database / table / table's part) from backup. -class IRestoreTask -{ -public: - IRestoreTask() = default; - virtual ~IRestoreTask() = default; - - enum class RestoreKind - { - /// This task restores metadata (definitions of databases and tables). - /// Tasks restoring metadata are executed first and strictly in one thread. - METADATA, - - /// This task restores tables' data. Such tasks can be executed in parallel. - DATA, - }; - - virtual RestoreKind getRestoreKind() const { return RestoreKind::DATA; } - - /// Perform restoring, the function also can return a list of nested tasks that should be run later. - virtual std::vector> run() = 0; -}; - -using RestoreTaskPtr = std::unique_ptr; -using RestoreTasks = std::vector; - -} diff --git a/src/Backups/RestoreCoordinationDistributed.cpp b/src/Backups/RestoreCoordinationDistributed.cpp index 8b1360aa744..8cbaa01810d 100644 --- a/src/Backups/RestoreCoordinationDistributed.cpp +++ b/src/Backups/RestoreCoordinationDistributed.cpp @@ -1,248 +1,15 @@ #include -#include #include #include -#include -#include -#include -#include -#include -#include namespace DB { -namespace ErrorCodes -{ - extern const int FAILED_TO_SYNC_BACKUP_OR_RESTORE; -} - -namespace -{ - struct ReplicatedTableDataPath - { - String host_id; - DatabaseAndTableName table_name; - String data_path_in_backup; - - String serialize() const - { - WriteBufferFromOwnString out; - writeBinary(host_id, out); - writeBinary(table_name.first, out); - writeBinary(table_name.second, out); - writeBinary(data_path_in_backup, out); - return out.str(); - } - - static ReplicatedTableDataPath deserialize(const String & str) - { - ReadBufferFromString in{str}; - ReplicatedTableDataPath res; - readBinary(res.host_id, in); - readBinary(res.table_name.first, in); - readBinary(res.table_name.second, in); - readBinary(res.data_path_in_backup, in); - return res; - } - }; -} - - -class RestoreCoordinationDistributed::ReplicatedDatabasesMetadataSync -{ -public: - ReplicatedDatabasesMetadataSync(const String & zookeeper_path_, zkutil::GetZooKeeper get_zookeeper_) - : zookeeper_path(zookeeper_path_), get_zookeeper(get_zookeeper_), log(&Poco::Logger::get("RestoreCoordination")) - { - createRootNodes(); - } - - /// Starts creating a table in a replicated database. Returns false if there is another host which is already creating this table. - bool startCreatingTable( - const String & host_id_, const String & database_name_, const String & database_zk_path_, const String & table_name_) - { - auto zookeeper = get_zookeeper(); - - String path = zookeeper_path + "/" + escapeForFileName(database_zk_path_); - zookeeper->createIfNotExists(path, ""); - - TableStatus status; - status.host_id = host_id_; - status.table_name = DatabaseAndTableName{database_name_, table_name_}; - - path += "/" + escapeForFileName(table_name_); - auto code = zookeeper->tryCreate(path, status.serialize(), zkutil::CreateMode::Persistent); - if ((code != Coordination::Error::ZOK) && (code != Coordination::Error::ZNODEEXISTS)) - throw zkutil::KeeperException(code, path); - - return (code == Coordination::Error::ZOK); - } - - /// Sets that either we have been created a table in a replicated database or failed doing that. - /// In the latter case `error_message` should be set. - /// Calling this function unblocks other hosts waiting for this table to be created (see waitForCreatingTableInReplicatedDB()). - void finishCreatingTable( - const String & /* host_id_ */, - const String & database_name_, - const String & database_zk_path_, - const String & table_name_, - const String & error_message_) - { - if (error_message_.empty()) - LOG_TRACE(log, "Created table {}.{}", database_name_, table_name_); - else - LOG_TRACE(log, "Failed to created table {}.{}: {}", database_name_, table_name_, error_message_); - - auto zookeeper = get_zookeeper(); - String path = zookeeper_path + "/" + escapeForFileName(database_zk_path_) + "/" + escapeForFileName(table_name_); - - auto status = TableStatus::deserialize(zookeeper->get(path)); - - status.error_message = error_message_; - status.ready = error_message_.empty(); - - zookeeper->set(path, status.serialize()); - } - - /// Wait for another host to create a table in a replicated database. - void waitForTableCreated( - const String & /* database_name_ */, const String & database_zk_path_, const String & table_name_, std::chrono::seconds timeout_) - { - auto zookeeper = get_zookeeper(); - String path = zookeeper_path + "/" + escapeForFileName(database_zk_path_) + "/" + escapeForFileName(table_name_); - - TableStatus status; - - std::atomic watch_set = false; - std::condition_variable watch_triggered_event; - - auto watch_callback = [&](const Coordination::WatchResponse &) - { - watch_set = false; /// After it's triggered it's not set until we call getChildrenWatch() again. - watch_triggered_event.notify_all(); - }; - - auto watch_triggered = [&] { return !watch_set; }; - - bool use_timeout = (timeout_.count() >= 0); - std::chrono::steady_clock::duration time_left = timeout_; - std::mutex dummy_mutex; - - while (true) - { - if (use_timeout && (time_left.count() <= 0)) - { - status = TableStatus::deserialize(zookeeper->get(path)); - break; - } - - watch_set = true; - status = TableStatus::deserialize(zookeeper->getWatch(path, nullptr, watch_callback)); - - if (!status.error_message.empty() || status.ready) - break; - - LOG_TRACE(log, "Waiting for host {} to create table {}.{}", status.host_id, status.table_name.first, status.table_name.second); - - { - std::unique_lock dummy_lock{dummy_mutex}; - if (use_timeout) - { - std::chrono::steady_clock::time_point start_time = std::chrono::steady_clock::now(); - if (!watch_triggered_event.wait_for(dummy_lock, time_left, watch_triggered)) - break; - time_left -= (std::chrono::steady_clock::now() - start_time); - } - else - watch_triggered_event.wait(dummy_lock, watch_triggered); - } - } - - if (watch_set) - { - /// Remove watch by triggering it. - ++status.increment; - zookeeper->set(path, status.serialize()); - std::unique_lock dummy_lock{dummy_mutex}; - watch_triggered_event.wait_for(dummy_lock, timeout_, watch_triggered); - } - - if (!status.error_message.empty()) - throw Exception( - ErrorCodes::FAILED_TO_SYNC_BACKUP_OR_RESTORE, - "Host {} failed to create table {}.{}: {}", status.host_id, status.table_name.first, status.table_name.second, status.error_message); - - if (status.ready) - { - LOG_TRACE(log, "Host {} created table {}.{}", status.host_id, status.table_name.first, status.table_name.second); - return; - } - - throw Exception( - ErrorCodes::FAILED_TO_SYNC_BACKUP_OR_RESTORE, - "Host {} was unable to create table {}.{} in {}", - status.host_id, - status.table_name.first, - table_name_, - to_string(timeout_)); - } - -private: - void createRootNodes() - { - auto zookeeper = get_zookeeper(); - zookeeper->createAncestors(zookeeper_path); - zookeeper->createIfNotExists(zookeeper_path, ""); - } - - struct TableStatus - { - String host_id; - DatabaseAndTableName table_name; - bool ready = false; - String error_message; - size_t increment = 0; - - String serialize() const - { - WriteBufferFromOwnString out; - writeBinary(host_id, out); - writeBinary(table_name.first, out); - writeBinary(table_name.second, out); - writeBinary(ready, out); - writeBinary(error_message, out); - writeBinary(increment, out); - return out.str(); - } - - static TableStatus deserialize(const String & str) - { - ReadBufferFromString in{str}; - TableStatus res; - readBinary(res.host_id, in); - readBinary(res.table_name.first, in); - readBinary(res.table_name.second, in); - readBinary(res.ready, in); - readBinary(res.error_message, in); - readBinary(res.increment, in); - return res; - } - }; - - const String zookeeper_path; - const zkutil::GetZooKeeper get_zookeeper; - const Poco::Logger * log; -}; - - RestoreCoordinationDistributed::RestoreCoordinationDistributed(const String & zookeeper_path_, zkutil::GetZooKeeper get_zookeeper_) : zookeeper_path(zookeeper_path_) , get_zookeeper(get_zookeeper_) - , replicated_databases_metadata_sync( - std::make_unique(zookeeper_path_ + "/repl_databases_metadata", get_zookeeper_)) - , all_metadata_barrier(zookeeper_path_ + "/all_metadata", get_zookeeper_, "RestoreCoordination", "restoring metadata") + , status_sync(zookeeper_path_ + "/status", get_zookeeper_, &Poco::Logger::get("RestoreCoordination")) { createRootNodes(); } @@ -254,8 +21,63 @@ void RestoreCoordinationDistributed::createRootNodes() auto zookeeper = get_zookeeper(); zookeeper->createAncestors(zookeeper_path); zookeeper->createIfNotExists(zookeeper_path, ""); - zookeeper->createIfNotExists(zookeeper_path + "/repl_tables_paths", ""); - zookeeper->createIfNotExists(zookeeper_path + "/repl_tables_partitions", ""); + zookeeper->createIfNotExists(zookeeper_path + "/repl_databases_tables_acquired", ""); + zookeeper->createIfNotExists(zookeeper_path + "/repl_tables_data_acquired", ""); + zookeeper->createIfNotExists(zookeeper_path + "/repl_access_storages_acquired", ""); +} + +void RestoreCoordinationDistributed::setStatus(const String & current_host, const String & new_status, const String & message) +{ + status_sync.set(current_host, new_status, message); +} + +Strings RestoreCoordinationDistributed::setStatusAndWait(const String & current_host, const String & new_status, const String & message, const Strings & all_hosts) +{ + return status_sync.setAndWait(current_host, new_status, message, all_hosts); +} + +Strings RestoreCoordinationDistributed::setStatusAndWaitFor(const String & current_host, const String & new_status, const String & message, const Strings & all_hosts, UInt64 timeout_ms) +{ + return status_sync.setAndWaitFor(current_host, new_status, message, all_hosts, timeout_ms); +} + +bool RestoreCoordinationDistributed::acquireCreatingTableInReplicatedDatabase(const String & database_zk_path, const String & table_name) +{ + auto zookeeper = get_zookeeper(); + + String path = zookeeper_path + "/repl_databases_tables_acquired/" + escapeForFileName(database_zk_path); + zookeeper->createIfNotExists(path, ""); + + path += "/" + escapeForFileName(table_name); + auto code = zookeeper->tryCreate(path, "", zkutil::CreateMode::Persistent); + if ((code != Coordination::Error::ZOK) && (code != Coordination::Error::ZNODEEXISTS)) + throw zkutil::KeeperException(code, path); + + return (code == Coordination::Error::ZOK); +} + +bool RestoreCoordinationDistributed::acquireInsertingDataIntoReplicatedTable(const String & table_zk_path) +{ + auto zookeeper = get_zookeeper(); + + String path = zookeeper_path + "/repl_tables_data_acquired/" + escapeForFileName(table_zk_path); + auto code = zookeeper->tryCreate(path, "", zkutil::CreateMode::Persistent); + if ((code != Coordination::Error::ZOK) && (code != Coordination::Error::ZNODEEXISTS)) + throw zkutil::KeeperException(code, path); + + return (code == Coordination::Error::ZOK); +} + +bool RestoreCoordinationDistributed::acquireReplicatedAccessStorage(const String & access_storage_zk_path) +{ + auto zookeeper = get_zookeeper(); + + String path = zookeeper_path + "/repl_access_storages_acquired/" + escapeForFileName(access_storage_zk_path); + auto code = zookeeper->tryCreate(path, "", zkutil::CreateMode::Persistent); + if ((code != Coordination::Error::ZOK) && (code != Coordination::Error::ZNODEEXISTS)) + throw zkutil::KeeperException(code, path); + + return (code == Coordination::Error::ZOK); } void RestoreCoordinationDistributed::removeAllNodes() @@ -264,104 +86,6 @@ void RestoreCoordinationDistributed::removeAllNodes() zookeeper->removeRecursive(zookeeper_path); } -bool RestoreCoordinationDistributed::startCreatingTableInReplicatedDB( - const String & host_id, const String & database_name, const String & database_zk_path, const String & table_name) -{ - return replicated_databases_metadata_sync->startCreatingTable(host_id, database_name, database_zk_path, table_name); -} - -/// Ends creating table in a replicated database, successfully or with an error. -/// In the latter case `error_message` should be set. -void RestoreCoordinationDistributed::finishCreatingTableInReplicatedDB( - const String & host_id, - const String & database_name, - const String & database_zk_path, - const String & table_name, - const String & error_message) -{ - return replicated_databases_metadata_sync->finishCreatingTable(host_id, database_name, database_zk_path, table_name, error_message); -} - -/// Wait for another host to create a table in a replicated database. -void RestoreCoordinationDistributed::waitForTableCreatedInReplicatedDB( - const String & database_name, const String & database_zk_path, const String & table_name, std::chrono::seconds timeout) -{ - return replicated_databases_metadata_sync->waitForTableCreated(database_name, database_zk_path, table_name, timeout); -} - -void RestoreCoordinationDistributed::finishRestoringMetadata(const String & host_id, const String & error_message) -{ - all_metadata_barrier.finish(host_id, error_message); -} - -void RestoreCoordinationDistributed::waitForAllHostsRestoredMetadata(const Strings & host_ids, std::chrono::seconds timeout) const -{ - all_metadata_barrier.waitForAllHostsToFinish(host_ids, timeout); -} - -void RestoreCoordinationDistributed::addReplicatedTableDataPath( - const String & host_id, - const DatabaseAndTableName & table_name, - const String & table_zk_path, - const String & data_path_in_backup) -{ - auto zookeeper = get_zookeeper(); - String path = zookeeper_path + "/repl_tables_paths/" + escapeForFileName(table_zk_path); - - ReplicatedTableDataPath new_info; - new_info.host_id = host_id; - new_info.table_name = table_name; - new_info.data_path_in_backup = data_path_in_backup; - String new_info_str = new_info.serialize(); - - auto code = zookeeper->tryCreate(path, new_info_str, zkutil::CreateMode::Persistent); - if ((code != Coordination::Error::ZOK) && (code != Coordination::Error::ZNODEEXISTS)) - throw zkutil::KeeperException(code, path); - - while (code != Coordination::Error::ZOK) - { - Coordination::Stat stat; - ReplicatedTableDataPath cur_info = ReplicatedTableDataPath::deserialize(zookeeper->get(path, &stat)); - if ((cur_info.host_id < host_id) || ((cur_info.host_id == host_id) && (cur_info.table_name <= table_name))) - break; - code = zookeeper->trySet(path, new_info_str, stat.version); - if ((code != Coordination::Error::ZOK) && (code != Coordination::Error::ZBADVERSION)) - throw zkutil::KeeperException(code, path); - } -} - -String RestoreCoordinationDistributed::getReplicatedTableDataPath(const String & table_zk_path_) const -{ - auto zookeeper = get_zookeeper(); - String path = zookeeper_path + "/repl_tables_paths/" + escapeForFileName(table_zk_path_); - auto info = ReplicatedTableDataPath::deserialize(zookeeper->get(path)); - return info.data_path_in_backup; -} - -bool RestoreCoordinationDistributed::startInsertingDataToPartitionInReplicatedTable( - const String & host_id_, - const DatabaseAndTableName & table_name_, - const String & table_zk_path_, - const String & partition_name_) -{ - auto zookeeper = get_zookeeper(); - - String path = zookeeper_path + "/repl_tables_partitions/" + escapeForFileName(table_zk_path_); - zookeeper->createIfNotExists(path, ""); - - path += "/" + escapeForFileName(partition_name_); - String new_info = host_id_ + "|" + table_name_.first + "|" + table_name_.second; - - auto code = zookeeper->tryCreate(path, new_info, zkutil::CreateMode::Persistent); - if ((code != Coordination::Error::ZOK) && (code != Coordination::Error::ZNODEEXISTS)) - throw zkutil::KeeperException(code, path); - - if (code == Coordination::Error::ZOK) - return true; - - return zookeeper->get(path) == new_info; -} - void RestoreCoordinationDistributed::drop() { removeAllNodes(); diff --git a/src/Backups/RestoreCoordinationDistributed.h b/src/Backups/RestoreCoordinationDistributed.h index 689f3456945..52b961cf0ef 100644 --- a/src/Backups/RestoreCoordinationDistributed.h +++ b/src/Backups/RestoreCoordinationDistributed.h @@ -2,7 +2,6 @@ #include #include -#include namespace DB @@ -15,50 +14,21 @@ public: RestoreCoordinationDistributed(const String & zookeeper_path, zkutil::GetZooKeeper get_zookeeper); ~RestoreCoordinationDistributed() override; + /// Sets the current status and waits for other hosts to come to this status too. If status starts with "error:" it'll stop waiting on all the hosts. + void setStatus(const String & current_host, const String & new_status, const String & message) override; + Strings setStatusAndWait(const String & current_host, const String & new_status, const String & message, const Strings & all_hosts) override; + Strings setStatusAndWaitFor(const String & current_host, const String & new_status, const String & message, const Strings & all_hosts, UInt64 timeout_ms) override; + /// Starts creating a table in a replicated database. Returns false if there is another host which is already creating this table. - bool startCreatingTableInReplicatedDB( - const String & host_id, const String & database_name, const String & database_zk_path, const String & table_name) override; - - /// Sets that either we have been created a table in a replicated database or failed doing that. - /// In the latter case `error_message` should be set. - /// Calling this function unblocks other hosts waiting for this table to be created (see waitForCreatingTableInReplicatedDB()). - void finishCreatingTableInReplicatedDB( - const String & host_id, - const String & database_name, - const String & database_zk_path, - const String & table_name, - const String & error_message) override; - - /// Wait for another host to create a table in a replicated database. - void waitForTableCreatedInReplicatedDB( - const String & database_name, const String & database_zk_path, const String & table_name, std::chrono::seconds timeout) override; - - /// Sets path in backup used by a replicated table. - /// This function can be called multiple times for the same table with different `host_id`, and in that case - /// getReplicatedTableDataPath() will choose `data_path_in_backup` with the lexicographycally first `host_id`. - void addReplicatedTableDataPath( - const String & host_id, - const DatabaseAndTableName & table_name, - const String & table_zk_path, - const String & data_path_in_backup) override; - - /// Sets that a specified host has finished restoring metadata, successfully or with an error. - /// In the latter case `error_message` should be set. - void finishRestoringMetadata(const String & host_id, const String & error_message) override; - - /// Waits for all hosts to finish restoring their metadata (i.e. to finish creating databases and tables). Returns false if time is out. - void waitForAllHostsRestoredMetadata(const Strings & host_ids, std::chrono::seconds timeout) const override; - - /// Gets path in backup used by a replicated table. - String getReplicatedTableDataPath(const String & table_zk_path) const override; + bool acquireCreatingTableInReplicatedDatabase(const String & database_zk_path, const String & table_name) override; /// Sets that this replica is going to restore a partition in a replicated table. /// The function returns false if this partition is being already restored by another replica. - bool startInsertingDataToPartitionInReplicatedTable( - const String & host_id, - const DatabaseAndTableName & table_name, - const String & table_zk_path, - const String & partition_name) override; + bool acquireInsertingDataIntoReplicatedTable(const String & table_zk_path) override; + + /// Sets that this replica is going to restore a ReplicatedAccessStorage. + /// The function returns false if this access storage is being already restored by another replica. + bool acquireReplicatedAccessStorage(const String & access_storage_zk_path) override; /// Removes remotely stored information. void drop() override; @@ -71,8 +41,7 @@ private: const String zookeeper_path; const zkutil::GetZooKeeper get_zookeeper; - std::unique_ptr replicated_databases_metadata_sync; - BackupCoordinationDistributedBarrier all_metadata_barrier; + BackupCoordinationStatusSync status_sync; }; } diff --git a/src/Backups/RestoreCoordinationLocal.cpp b/src/Backups/RestoreCoordinationLocal.cpp index a0f61ca3a23..a999cc13195 100644 --- a/src/Backups/RestoreCoordinationLocal.cpp +++ b/src/Backups/RestoreCoordinationLocal.cpp @@ -1,107 +1,41 @@ #include -#include -#include -#include -#include namespace DB { -namespace ErrorCodes -{ - extern const int LOGICAL_ERROR; -} - - -RestoreCoordinationLocal::RestoreCoordinationLocal() - : log(&Poco::Logger::get("RestoreCoordination")) -{} - +RestoreCoordinationLocal::RestoreCoordinationLocal() = default; RestoreCoordinationLocal::~RestoreCoordinationLocal() = default; -bool RestoreCoordinationLocal::startCreatingTableInReplicatedDB( - const String & /* host_id */, - const String & /* database_name */, - const String & /* database_zk_path */, - const String & /* table_name */) +void RestoreCoordinationLocal::setStatus(const String &, const String &, const String &) +{ +} + +Strings RestoreCoordinationLocal::setStatusAndWait(const String &, const String &, const String &, const Strings &) +{ + return {}; +} + +Strings RestoreCoordinationLocal::setStatusAndWaitFor(const String &, const String &, const String &, const Strings &, UInt64) +{ + return {}; +} + +bool RestoreCoordinationLocal::acquireCreatingTableInReplicatedDatabase(const String & database_zk_path, const String & table_name) +{ + std::lock_guard lock{mutex}; + return acquired_tables_in_replicated_databases.emplace(std::pair{database_zk_path, table_name}).second; +} + +bool RestoreCoordinationLocal::acquireInsertingDataIntoReplicatedTable(const String & table_zk_path) +{ + std::lock_guard lock{mutex}; + return acquired_data_in_replicated_tables.emplace(table_zk_path).second; +} + +bool RestoreCoordinationLocal::acquireReplicatedAccessStorage(const String &) { return true; } -void RestoreCoordinationLocal::finishCreatingTableInReplicatedDB( - const String & /* host_id */, - const String & database_name, - const String & /* database_zk_path */, - const String & table_name, - const String & error_message) -{ - if (error_message.empty()) - LOG_TRACE(log, "Created table {}.{}", database_name, table_name); - else - LOG_TRACE(log, "Failed to created table {}.{}: {}", database_name, table_name, error_message); -} - -/// Wait for another host to create a table in a replicated database. -void RestoreCoordinationLocal::waitForTableCreatedInReplicatedDB( - const String & /* database_name */, - const String & /* database_zk_path */, - const String & /* table_name */, - std::chrono::seconds /* timeout */) -{ -} - -void RestoreCoordinationLocal::finishRestoringMetadata(const String & /* host_id */, const String & error_message) -{ - LOG_TRACE(log, "Finished restoring metadata{}", (error_message.empty() ? "" : (" with error " + error_message))); -} - -void RestoreCoordinationLocal::waitForAllHostsRestoredMetadata(const Strings & /* host_ids */, std::chrono::seconds /* timeout */) const -{ -} - -void RestoreCoordinationLocal::addReplicatedTableDataPath(const String & /* host_id */, - const DatabaseAndTableName & table_name, - const String & table_zk_path, - const String & data_path_in_backup) -{ - std::lock_guard lock{mutex}; - auto it = replicated_tables_data_paths.find(table_zk_path); - if (it == replicated_tables_data_paths.end()) - { - ReplicatedTableDataPath new_info; - new_info.table_name = table_name; - new_info.data_path_in_backup = data_path_in_backup; - replicated_tables_data_paths.emplace(table_zk_path, std::move(new_info)); - return; - } - else - { - auto & cur_info = it->second; - if (table_name < cur_info.table_name) - { - cur_info.table_name = table_name; - cur_info.data_path_in_backup = data_path_in_backup; - } - } -} - -String RestoreCoordinationLocal::getReplicatedTableDataPath(const String & table_zk_path) const -{ - std::lock_guard lock{mutex}; - auto it = replicated_tables_data_paths.find(table_zk_path); - if (it == replicated_tables_data_paths.end()) - throw Exception(ErrorCodes::LOGICAL_ERROR, "Replicated data path is not set for zk_path={}", table_zk_path); - return it->second.data_path_in_backup; -} - -bool RestoreCoordinationLocal::startInsertingDataToPartitionInReplicatedTable( - const String & /* host_id */, const DatabaseAndTableName & table_name, const String & table_zk_path, const String & partition_name) -{ - std::lock_guard lock{mutex}; - auto key = std::pair{table_zk_path, partition_name}; - auto it = replicated_tables_partitions.try_emplace(std::move(key), table_name).first; - return it->second == table_name; -} - } diff --git a/src/Backups/RestoreCoordinationLocal.h b/src/Backups/RestoreCoordinationLocal.h index a74617f3b60..68624481a7a 100644 --- a/src/Backups/RestoreCoordinationLocal.h +++ b/src/Backups/RestoreCoordinationLocal.h @@ -1,10 +1,9 @@ #pragma once #include -#include -#include #include -#include +#include +#include namespace Poco { class Logger; } @@ -18,64 +17,26 @@ public: RestoreCoordinationLocal(); ~RestoreCoordinationLocal() override; + /// Sets the current status and waits for other hosts to come to this status too. If status starts with "error:" it'll stop waiting on all the hosts. + void setStatus(const String & current_host, const String & new_status, const String & message) override; + Strings setStatusAndWait(const String & current_host, const String & new_status, const String & message, const Strings & all_hosts) override; + Strings setStatusAndWaitFor(const String & current_host, const String & new_status, const String & message, const Strings & all_hosts, UInt64 timeout_ms) override; + /// Starts creating a table in a replicated database. Returns false if there is another host which is already creating this table. - bool startCreatingTableInReplicatedDB( - const String & host_id, const String & database_name, const String & database_zk_path, const String & table_name) override; - - /// Sets that either we have been created a table in a replicated database or failed doing that. - /// In the latter case `error_message` should be set. - /// Calling this function unblocks other hosts waiting for this table to be created (see waitForCreatingTableInReplicatedDB()). - void finishCreatingTableInReplicatedDB( - const String & host_id, - const String & database_name, - const String & database_zk_path, - const String & table_name, - const String & error_message) override; - - /// Wait for another host to create a table in a replicated database. - void waitForTableCreatedInReplicatedDB( - const String & database_name, const String & database_zk_path, const String & table_name, std::chrono::seconds timeout) override; - - /// Sets path in backup used by a replicated table. - /// This function can be called multiple times for the same table with different `host_id`, and in that case - /// getReplicatedTableDataPath() will choose `data_path_in_backup` with the lexicographycally first `host_id`. - void addReplicatedTableDataPath( - const String & host_id, - const DatabaseAndTableName & table_name, - const String & table_zk_path, - const String & data_path_in_backup) override; - - /// Sets that a specified host has finished restoring metadata, successfully or with an error. - /// In the latter case `error_message` should be set. - void finishRestoringMetadata(const String & host_id, const String & error_message) override; - - /// Waits for all hosts to finish restoring their metadata (i.e. to finish creating databases and tables). Returns false if time is out. - void waitForAllHostsRestoredMetadata(const Strings & host_ids, std::chrono::seconds timeout) const override; - - /// Gets path in backup used by a replicated table. - String getReplicatedTableDataPath(const String & table_zk_path) const override; + bool acquireCreatingTableInReplicatedDatabase(const String & database_zk_path, const String & table_name) override; /// Sets that this replica is going to restore a partition in a replicated table. /// The function returns false if this partition is being already restored by another replica. - bool startInsertingDataToPartitionInReplicatedTable( - const String & host_id, - const DatabaseAndTableName & table_name, - const String & table_zk_path, - const String & partition_name) override; + bool acquireInsertingDataIntoReplicatedTable(const String & table_zk_path) override; + + /// Sets that this replica is going to restore a ReplicatedAccessStorage. + /// The function returns false if this access storage is being already restored by another replica. + bool acquireReplicatedAccessStorage(const String & access_storage_zk_path) override; private: - struct ReplicatedTableDataPath - { - DatabaseAndTableName table_name; - String data_path_in_backup; - }; - - std::unordered_map replicated_tables_data_paths; - - std::map, DatabaseAndTableName> replicated_tables_partitions; - + std::set> acquired_tables_in_replicated_databases; + std::unordered_set acquired_data_in_replicated_tables; mutable std::mutex mutex; - const Poco::Logger * log; }; } diff --git a/src/Backups/RestoreSettings.cpp b/src/Backups/RestoreSettings.cpp index 486edc6344c..efa1fe2cfb8 100644 --- a/src/Backups/RestoreSettings.cpp +++ b/src/Backups/RestoreSettings.cpp @@ -29,22 +29,43 @@ namespace if (field.getType() == Field::Types::String) { const String & str = field.get(); - if (str == "1" || boost::iequals(str, "true")) + if (str == "1" || boost::iequals(str, "true") || boost::iequals(str, "create")) + { value = RestoreTableCreationMode::kCreate; - else if (str == "0" || boost::iequals(str, "false")) + return; + } + + if (str == "0" || boost::iequals(str, "false") || boost::iequals(str, "must exist") || boost::iequals(str, "must-exist")) + { value = RestoreTableCreationMode::kMustExist; - else if (boost::iequals(str, "if not exists")) + return; + } + + if (boost::iequals(str, "if not exists") || boost::iequals(str, "if-not-exists") + || boost::iequals(str, "create if not exists") || boost::iequals(str, "create-if-not-exists")) + { value = RestoreTableCreationMode::kCreateIfNotExists; - else throw Exception("Cannot parse creation mode from string '" + str + "'", - ErrorCodes::CANNOT_PARSE_BACKUP_SETTINGS); + return; + } } - else + + if (field.getType() == Field::Types::UInt64) { - if (applyVisitor(FieldVisitorConvertToNumber(), field)) + UInt64 number = field.get(); + if (number == 1) + { value = RestoreTableCreationMode::kCreate; - else + return; + } + + if (number == 0) + { value = RestoreTableCreationMode::kMustExist; + return; + } } + + throw Exception(ErrorCodes::CANNOT_PARSE_BACKUP_SETTINGS, "Cannot parse creation mode from {}", field); } explicit operator Field() const @@ -53,13 +74,71 @@ namespace { case RestoreTableCreationMode::kCreate: return Field{true}; case RestoreTableCreationMode::kMustExist: return Field{false}; - case RestoreTableCreationMode::kCreateIfNotExists: return Field{"if not exists"}; + case RestoreTableCreationMode::kCreateIfNotExists: return Field{"if-not-exists"}; } throw Exception(ErrorCodes::LOGICAL_ERROR, "Unexpected value of enum RestoreTableCreationMode: {}", static_cast(value)); } }; using SettingFieldRestoreDatabaseCreationMode = SettingFieldRestoreTableCreationMode; + + struct SettingFieldRestoreAccessCreationMode + { + RestoreAccessCreationMode value; + + explicit SettingFieldRestoreAccessCreationMode(RestoreAccessCreationMode value_) : value(value_) {} + + explicit SettingFieldRestoreAccessCreationMode(const Field & field) + { + if (field.getType() == Field::Types::String) + { + const String & str = field.get(); + if (str == "1" || boost::iequals(str, "true") || boost::iequals(str, "create")) + { + value = RestoreAccessCreationMode::kCreate; + return; + } + + if (boost::iequals(str, "if not exists") || boost::iequals(str, "if-not-exists") + || boost::iequals(str, "create if not exists") || boost::iequals(str, "create-if-not-exists")) + { + value = RestoreAccessCreationMode::kCreateIfNotExists; + return; + } + + if (boost::iequals(str, "replace") || boost::iequals(str, "create or replace") || boost::iequals(str, "create-or-replace")) + { + value = RestoreAccessCreationMode::kReplace; + return; + } + } + + if (field.getType() == Field::Types::UInt64) + { + UInt64 number = field.get(); + if (number == 1) + { + value = RestoreAccessCreationMode::kCreate; + return; + } + } + + throw Exception(ErrorCodes::CANNOT_PARSE_BACKUP_SETTINGS, "Cannot parse creation mode from {}", field); + } + + explicit operator Field() const + { + switch (value) + { + case RestoreAccessCreationMode::kCreate: return Field{true}; + case RestoreAccessCreationMode::kCreateIfNotExists: return Field{"if-not-exists"}; + case RestoreAccessCreationMode::kReplace: return Field{"replace"}; + } + throw Exception(ErrorCodes::LOGICAL_ERROR, "Unexpected value of enum RestoreAccessCreationMode: {}", static_cast(value)); + } + }; + + using SettingFieldRestoreUDFCreationMode = SettingFieldRestoreAccessCreationMode; } /// List of restore settings except base_backup_name and cluster_host_ids. @@ -76,6 +155,9 @@ namespace M(UInt64, shard_num_in_backup) \ M(UInt64, replica_num_in_backup) \ M(Bool, allow_non_empty_tables) \ + M(RestoreAccessCreationMode, create_access) \ + M(Bool, allow_unresolved_access_dependencies) \ + M(RestoreUDFCreationMode, create_function) \ M(Bool, internal) \ M(String, host_id) \ M(String, coordination_zk_path) diff --git a/src/Backups/RestoreSettings.h b/src/Backups/RestoreSettings.h index 602d75cc283..1bc5d867a37 100644 --- a/src/Backups/RestoreSettings.h +++ b/src/Backups/RestoreSettings.h @@ -8,13 +8,6 @@ namespace DB { class ASTBackupQuery; -struct StorageRestoreSettings -{ - /// Internal, should not be specified by user. - /// The current host's ID in the format 'escaped_host_name:port'. - String host_id; -}; - /// How the RESTORE command will handle table/database existence. enum class RestoreTableCreationMode { @@ -30,8 +23,23 @@ enum class RestoreTableCreationMode using RestoreDatabaseCreationMode = RestoreTableCreationMode; +/// How the RESTORE command will handle if an user (or role or profile) which it's going to restore already exists. +enum class RestoreAccessCreationMode +{ + /// RESTORE will throw an exception if some user already exists. + kCreate, + + /// RESTORE will skip existing users. + kCreateIfNotExists, + + /// RESTORE will replace existing users with definitions from backup. + kReplace, +}; + +using RestoreUDFCreationMode = RestoreAccessCreationMode; + /// Settings specified in the "SETTINGS" clause of a RESTORE query. -struct RestoreSettings : public StorageRestoreSettings +struct RestoreSettings { /// Base backup, with this setting we can override the location of the base backup while restoring. /// Any incremental backup keeps inside the information about its base backup, so using this setting is optional. @@ -86,9 +94,23 @@ struct RestoreSettings : public StorageRestoreSettings /// Setting "allow_non_empty_tables=true" thus can cause data duplication in the table, use with caution. bool allow_non_empty_tables = false; + /// How the RESTORE command will handle if an user (or role or profile) which it's going to restore already exists. + RestoreAccessCreationMode create_access = RestoreAccessCreationMode::kCreateIfNotExists; + + /// Skip dependencies of access entities which can't be resolved. + /// For example, if an user has a profile assigned and that profile is not in the backup and doesn't exist locally. + bool allow_unresolved_access_dependencies = false; + + /// How the RESTORE command will handle if a user-defined function which it's going to restore already exists. + RestoreUDFCreationMode create_function = RestoreUDFCreationMode::kCreateIfNotExists; + /// Internal, should not be specified by user. bool internal = false; + /// Internal, should not be specified by user. + /// The current host's ID in the format 'escaped_host_name:port'. + String host_id; + /// Internal, should not be specified by user. /// Cluster's hosts' IDs in the format 'escaped_host_name:port' for all shards and replicas in a cluster specified in BACKUP ON CLUSTER. std::vector cluster_host_ids; diff --git a/src/Backups/RestoreUtils.cpp b/src/Backups/RestoreUtils.cpp deleted file mode 100644 index 84bd8da753c..00000000000 --- a/src/Backups/RestoreUtils.cpp +++ /dev/null @@ -1,1008 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -namespace DB -{ -namespace ErrorCodes -{ - extern const int CANNOT_RESTORE_TABLE; - extern const int CANNOT_RESTORE_DATABASE; - extern const int BACKUP_ENTRY_NOT_FOUND; -} - -namespace -{ - class PathsInBackup - { - public: - explicit PathsInBackup(const IBackup & backup_) : backup(backup_) { } - - std::vector getShards() const - { - std::vector res; - for (const String & shard_index : backup.listFiles("shards/")) - res.push_back(parse(shard_index)); - if (res.empty()) - res.push_back(1); - return res; - } - - std::vector getReplicas(size_t shard_index) const - { - std::vector res; - for (const String & replica_index : backup.listFiles(fmt::format("shards/{}/replicas/", shard_index))) - res.push_back(parse(replica_index)); - if (res.empty()) - res.push_back(1); - return res; - } - - std::vector getDatabases(size_t shard_index, size_t replica_index) const - { - std::vector res; - - insertAtEnd(res, backup.listFiles(fmt::format("shards/{}/replicas/{}/metadata/", shard_index, replica_index))); - insertAtEnd(res, backup.listFiles(fmt::format("shards/{}/metadata/", shard_index))); - insertAtEnd(res, backup.listFiles(fmt::format("metadata/"))); - - boost::range::remove_erase_if( - res, - [](String & str) - { - if (str.ends_with(".sql")) - { - str.resize(str.length() - strlen(".sql")); - str = unescapeForFileName(str); - return false; - } - return true; - }); - - std::sort(res.begin(), res.end()); - res.erase(std::unique(res.begin(), res.end()), res.end()); - return res; - } - - std::vector getTables(const String & database_name, size_t shard_index, size_t replica_index) const - { - std::vector res; - - String escaped_database_name = escapeForFileName(database_name); - insertAtEnd( - res, - backup.listFiles(fmt::format("shards/{}/replicas/{}/metadata/{}/", shard_index, replica_index, escaped_database_name))); - insertAtEnd(res, backup.listFiles(fmt::format("shards/{}/metadata/{}/", shard_index, escaped_database_name))); - insertAtEnd(res, backup.listFiles(fmt::format("metadata/{}/", escaped_database_name))); - - boost::range::remove_erase_if( - res, - [](String & str) - { - if (str.ends_with(".sql")) - { - str.resize(str.length() - strlen(".sql")); - str = unescapeForFileName(str); - return false; - } - return true; - }); - - std::sort(res.begin(), res.end()); - res.erase(std::unique(res.begin(), res.end()), res.end()); - return res; - } - - /// Returns the path to metadata in backup. - String getMetadataPath(const DatabaseAndTableName & table_name, size_t shard_index, size_t replica_index) const - { - String escaped_table_name = escapeForFileName(table_name.first) + "/" + escapeForFileName(table_name.second); - String path1 = fmt::format("shards/{}/replicas/{}/metadata/{}.sql", shard_index, replica_index, escaped_table_name); - if (backup.fileExists(path1)) - return path1; - String path2 = fmt::format("shards/{}/metadata/{}.sql", shard_index, escaped_table_name); - if (backup.fileExists(path2)) - return path2; - String path3 = fmt::format("metadata/{}.sql", escaped_table_name); - return path3; - } - - String getMetadataPath(const String & database_name, size_t shard_index, size_t replica_index) const - { - String escaped_database_name = escapeForFileName(database_name); - String path1 = fmt::format("shards/{}/replicas/{}/metadata/{}.sql", shard_index, replica_index, escaped_database_name); - if (backup.fileExists(path1)) - return path1; - String path2 = fmt::format("shards/{}/metadata/{}.sql", shard_index, escaped_database_name); - if (backup.fileExists(path2)) - return path2; - String path3 = fmt::format("metadata/{}.sql", escaped_database_name); - return path3; - } - - String getDataPath(const DatabaseAndTableName & table_name, size_t shard_index, size_t replica_index) const - { - String escaped_table_name = escapeForFileName(table_name.first) + "/" + escapeForFileName(table_name.second); - if (backup.fileExists(fmt::format("shards/{}/replicas/{}/metadata/{}.sql", shard_index, replica_index, escaped_table_name))) - return fmt::format("shards/{}/replicas/{}/data/{}/", shard_index, replica_index, escaped_table_name); - if (backup.fileExists(fmt::format("shards/{}/metadata/{}.sql", shard_index, escaped_table_name))) - return fmt::format("shards/{}/data/{}/", shard_index, escaped_table_name); - return fmt::format("data/{}/", escaped_table_name); - } - - private: - const IBackup & backup; - }; - - - using Kind = ASTBackupQuery::Kind; - using Element = ASTBackupQuery::Element; - using Elements = ASTBackupQuery::Elements; - using ElementType = ASTBackupQuery::ElementType; - using RestoreSettingsPtr = std::shared_ptr; - - - /// Restores a database (without tables inside), should be executed before executing - /// RestoreTableTask. - class RestoreDatabaseTask : public IRestoreTask - { - public: - RestoreDatabaseTask(ContextMutablePtr context_, const ASTPtr & create_query_, const RestoreSettingsPtr & restore_settings_) - : context(context_) - , create_query(typeid_cast>(create_query_)) - , restore_settings(restore_settings_) - { - } - - RestoreTasks run() override - { - createDatabase(); - getDatabase(); - checkDatabaseCreateQuery(); - return {}; - } - - RestoreKind getRestoreKind() const override { return RestoreKind::METADATA; } - - private: - void createDatabase() - { - if (restore_settings->create_database == RestoreDatabaseCreationMode::kMustExist) - return; - - auto cloned_create_query = typeid_cast>(create_query->clone()); - cloned_create_query->if_not_exists = (restore_settings->create_database == RestoreDatabaseCreationMode::kCreateIfNotExists); - InterpreterCreateQuery create_interpreter{cloned_create_query, context}; - create_interpreter.setInternal(true); - create_interpreter.execute(); - } - - DatabasePtr getDatabase() - { - if (!database) - database = DatabaseCatalog::instance().getDatabase(create_query->getDatabase()); - return database; - } - - ASTPtr getDatabaseCreateQuery() - { - if (!database_create_query) - database_create_query = getDatabase()->getCreateDatabaseQuery(); - return database_create_query; - } - - void checkDatabaseCreateQuery() - { - if (restore_settings->allow_different_database_def) - return; - - getDatabaseCreateQuery(); - if (areDatabaseDefinitionsSame(*create_query, *database_create_query)) - return; - - throw Exception( - ErrorCodes::CANNOT_RESTORE_DATABASE, - "The database {} already exists but has a different definition: {}, " - "compare to its definition in the backup: {}", - backQuoteIfNeed(create_query->getDatabase()), - serializeAST(*database_create_query), - serializeAST(*create_query)); - } - - ContextMutablePtr context; - std::shared_ptr create_query; - RestoreSettingsPtr restore_settings; - DatabasePtr database; - ASTPtr database_create_query; - }; - - - /// Restores a table. - class RestoreTableTask : public IRestoreTask - { - public: - RestoreTableTask( - ContextMutablePtr context_, - const ASTPtr & create_query_, - const ASTs & partitions_, - const BackupPtr & backup_, - const DatabaseAndTableName & table_name_in_backup_, - const RestoreSettingsPtr & restore_settings_, - const std::shared_ptr & restore_coordination_, - std::chrono::seconds timeout_for_restoring_metadata_) - : context(context_) - , create_query(typeid_cast>(create_query_)) - , partitions(partitions_) - , backup(backup_) - , table_name_in_backup(table_name_in_backup_) - , restore_settings(restore_settings_) - , restore_coordination(restore_coordination_) - , timeout_for_restoring_metadata(timeout_for_restoring_metadata_) - { - table_name = DatabaseAndTableName{create_query->getDatabase(), create_query->getTable()}; - if (create_query->temporary) - table_name.first = DatabaseCatalog::TEMPORARY_DATABASE; - } - - RestoreTasks run() override - { - getDatabase(); - createStorage(); - getStorage(); - checkStorageCreateQuery(); - checkTableIsEmpty(); - checkTableDataCompatible(); - return insertData(); - } - - RestoreKind getRestoreKind() const override { return RestoreKind::METADATA; } - - private: - void getDatabase() - { - database = DatabaseCatalog::instance().getDatabase(table_name.first); - replicated_database = typeid_cast>(database); - } - - void createStorage() - { - if (restore_settings->create_table == RestoreTableCreationMode::kMustExist) - return; - - auto cloned_create_query = typeid_cast>(create_query->clone()); - cloned_create_query->if_not_exists = (restore_settings->create_table == RestoreTableCreationMode::kCreateIfNotExists); - - /// We need a special processing for tables in replicated databases. - /// Because of the replication multiple nodes can try to restore the same tables again and failed with "Table already exists" - /// because of some table could be restored already on other node and then replicated to this node. - /// To solve this problem we use the restore coordination: the first node calls - /// IRestoreCoordination::startCreatingTableInReplicatedDB() and then for other nodes this function returns false which means - /// this table is already being created by some other node. - bool wait_instead_of_creating = false; - if (replicated_database) - wait_instead_of_creating = !restore_coordination->startCreatingTableInReplicatedDB( - restore_settings->host_id, table_name.first, replicated_database->getZooKeeperPath(), table_name.second); - - if (wait_instead_of_creating) - { - waitForReplicatedDatabaseToSyncTable(); - } - else - { - try - { - InterpreterCreateQuery create_interpreter{cloned_create_query, context}; - create_interpreter.setInternal(true); - create_interpreter.execute(); - } - catch (...) - { - if (replicated_database) - { - restore_coordination->finishCreatingTableInReplicatedDB( - restore_settings->host_id, - table_name.first, - replicated_database->getZooKeeperPath(), - table_name.second, - getCurrentExceptionMessage(false)); - } - throw; - } - - if (replicated_database) - restore_coordination->finishCreatingTableInReplicatedDB( - restore_settings->host_id, table_name.first, replicated_database->getZooKeeperPath(), table_name.second); - } - } - - void waitForReplicatedDatabaseToSyncTable() - { - if (!replicated_database) - return; - - restore_coordination->waitForTableCreatedInReplicatedDB( - table_name.first, replicated_database->getZooKeeperPath(), table_name.second); - - /// The table `table_name` was created on other host, must be in the replicated database's queue, - /// we have to wait until the replicated database syncs that. - bool replicated_database_synced = false; - auto start_time = std::chrono::steady_clock::now(); - bool use_timeout = (timeout_for_restoring_metadata.count() > 0); - while (!database->isTableExist(table_name.second, context)) - { - if (replicated_database_synced - || (use_timeout && (std::chrono::steady_clock::now() - start_time) >= timeout_for_restoring_metadata)) - { - throw Exception( - ErrorCodes::CANNOT_RESTORE_TABLE, - "Table {}.{} in the replicated database {} was not synced from another node in {}", - table_name.first, - table_name.second, - table_name.first, - to_string(timeout_for_restoring_metadata)); - } - replicated_database_synced = replicated_database->waitForReplicaToProcessAllEntries(50); - } - } - - void getStorage() - { - storage = database->getTable(table_name.second, context); - storage_create_query = database->getCreateTableQuery(table_name.second, context); - - if (!restore_settings->structure_only) - { - data_path_in_backup = PathsInBackup{*backup}.getDataPath( - table_name_in_backup, restore_settings->shard_num_in_backup, restore_settings->replica_num_in_backup); - has_data = !backup->listFiles(data_path_in_backup).empty(); - - const auto * replicated_table = typeid_cast(storage.get()); - if (replicated_table) - { - /// We need to be consistent when we're restoring replicated tables. - /// It's allowed for a backup to contain multiple replicas of the same replicated table, - /// and when we restore it we need to choose single data path in the backup to restore this table on each replica. - /// That's why we use the restore coordination here: on restoring metadata stage each replica sets its own - /// `data_path_in_backup` for same zookeeper path, and then the restore coordination choose one `data_path_in_backup` - /// to use for restoring data. - restore_coordination->addReplicatedTableDataPath( - restore_settings->host_id, - table_name_in_backup, - replicated_table->getZooKeeperName() + replicated_table->getZooKeeperPath(), - data_path_in_backup); - has_data = true; - } - } - } - - void checkStorageCreateQuery() - { - if (!restore_settings->allow_different_table_def && !areTableDefinitionsSame(*create_query, *storage_create_query)) - { - throw Exception( - ErrorCodes::CANNOT_RESTORE_TABLE, - "The {} already exists but has a different definition: {}, " - "compare to its definition in the backup: {}", - formatTableNameOrTemporaryTableName(table_name), - serializeAST(*storage_create_query), - serializeAST(*create_query)); - } - } - - void checkTableIsEmpty() - { - if (restore_settings->allow_non_empty_tables || restore_settings->structure_only || !has_data) - return; - - bool empty = true; - if (auto total_rows = storage->totalRows(context->getSettingsRef())) - empty = (*total_rows == 0); - else if (auto total_bytes = storage->totalBytes(context->getSettingsRef())) - empty = (*total_bytes == 0); - - if (empty) - { - /// If this is a replicated table new parts could be in its queue but not fetched yet. - /// In that case we consider the table as not empty. - if (auto * replicated_table = typeid_cast(storage.get())) - { - StorageReplicatedMergeTree::Status status; - replicated_table->getStatus(status, /* with_zk_fields = */ false); - - if (status.queue.inserts_in_queue) - { - empty = false; - } - else - { - /// Check total_rows again to be sure. - if (auto total_rows = storage->totalRows(context->getSettingsRef()); *total_rows != 0) - empty = false; - } - } - } - - if (!empty) - { - throw Exception( - ErrorCodes::CANNOT_RESTORE_TABLE, - "Cannot restore {} because it already contains some data. You can set structure_only=true or " - "allow_non_empty_tables=true to overcome that in the way you want", - formatTableNameOrTemporaryTableName(table_name)); - } - } - - void checkTableDataCompatible() - { - if (restore_settings->structure_only || !has_data) - return; - - if (!areTableDataCompatible(*create_query, *storage_create_query)) - { - throw Exception( - ErrorCodes::CANNOT_RESTORE_TABLE, - "Cannot attach data of the {} in the backup to the existing {} because of they are not compatible. " - "Here is the definition of the {} in the backup: {}, and here is the definition of the existing {}: {}", - formatTableNameOrTemporaryTableName(table_name_in_backup), - formatTableNameOrTemporaryTableName(table_name), - formatTableNameOrTemporaryTableName(table_name_in_backup), - serializeAST(*create_query), - formatTableNameOrTemporaryTableName(table_name), - serializeAST(*storage_create_query)); - } - } - - RestoreTasks insertData() - { - if (restore_settings->structure_only || !has_data) - return {}; - - RestoreTasks tasks; - tasks.emplace_back( - storage->restoreData(context, partitions, backup, data_path_in_backup, *restore_settings, restore_coordination)); - return tasks; - } - - ContextMutablePtr context; - std::shared_ptr create_query; - DatabaseAndTableName table_name; - ASTs partitions; - BackupPtr backup; - DatabaseAndTableName table_name_in_backup; - RestoreSettingsPtr restore_settings; - std::shared_ptr restore_coordination; - std::chrono::seconds timeout_for_restoring_metadata; - DatabasePtr database; - std::shared_ptr replicated_database; - StoragePtr storage; - ASTPtr storage_create_query; - bool has_data = false; - String data_path_in_backup; - }; - - - /// Makes tasks for restoring databases and tables according to the elements of ASTBackupQuery. - /// Keep this class consistent with BackupEntriesBuilder. - class RestoreTasksBuilder - { - public: - RestoreTasksBuilder( - ContextMutablePtr context_, - const BackupPtr & backup_, - const RestoreSettings & restore_settings_, - const std::shared_ptr & restore_coordination_, - std::chrono::seconds timeout_for_restoring_metadata_) - : context(context_) - , backup(backup_) - , restore_settings(restore_settings_) - , restore_coordination(restore_coordination_) - , timeout_for_restoring_metadata(timeout_for_restoring_metadata_) - { - } - - /// Prepares internal structures for making tasks for restoring. - void prepare(const ASTBackupQuery::Elements & elements) - { - calculateShardNumAndReplicaNumInBackup(); - renaming_settings.setFromBackupQuery(elements); - - for (const auto & element : elements) - { - switch (element.type) - { - case ElementType::TABLE: { - prepareToRestoreTable(element.name, element.partitions); - break; - } - - case ElementType::DATABASE: { - const String & database_name = element.name.first; - prepareToRestoreDatabase(database_name, element.except_list); - break; - } - - case ElementType::ALL_DATABASES: { - prepareToRestoreAllDatabases(element.except_list); - break; - } - } - } - } - - /// Makes tasks for restoring, should be called after prepare(). - RestoreTasks makeTasks() const - { - auto restore_settings_ptr = std::make_shared(restore_settings); - - RestoreTasks res; - for (const auto & info : databases | boost::adaptors::map_values) - res.push_back(std::make_unique(context, info.create_query, restore_settings_ptr)); - - /// TODO: We need to restore tables according to their dependencies. - for (const auto & info : tables | boost::adaptors::map_values) - res.push_back(std::make_unique( - context, - info.create_query, - info.partitions, - backup, - info.name_in_backup, - restore_settings_ptr, - restore_coordination, - timeout_for_restoring_metadata)); - - return res; - } - - private: - void calculateShardNumAndReplicaNumInBackup() - { - size_t shard_num = 0; - size_t replica_num = 0; - if (!restore_settings.host_id.empty()) - { - std::tie(shard_num, replica_num) - = BackupSettings::Util::findShardNumAndReplicaNum(restore_settings.cluster_host_ids, restore_settings.host_id); - } - - auto shards_in_backup = PathsInBackup{*backup}.getShards(); - if (!restore_settings.shard_num_in_backup) - { - if (shards_in_backup.size() == 1) - restore_settings.shard_num_in_backup = shards_in_backup[0]; - else - restore_settings.shard_num_in_backup = shard_num; - } - - if (std::find(shards_in_backup.begin(), shards_in_backup.end(), restore_settings.shard_num_in_backup) == shards_in_backup.end()) - throw Exception(ErrorCodes::BACKUP_ENTRY_NOT_FOUND, "No shard #{} in backup", restore_settings.shard_num_in_backup); - - auto replicas_in_backup = PathsInBackup{*backup}.getReplicas(restore_settings.shard_num_in_backup); - if (!restore_settings.replica_num_in_backup) - { - if (replicas_in_backup.size() == 1) - restore_settings.replica_num_in_backup = replicas_in_backup[0]; - else if (std::find(replicas_in_backup.begin(), replicas_in_backup.end(), replica_num) != replicas_in_backup.end()) - restore_settings.replica_num_in_backup = replica_num; - else - restore_settings.replica_num_in_backup = replicas_in_backup[0]; - } - } - - /// Prepares to restore a single table and probably its database's definition. - void prepareToRestoreTable(const DatabaseAndTableName & table_name_, const ASTs & partitions_) - { - /// Check that we are not trying to restore the same table again. - DatabaseAndTableName new_table_name = renaming_settings.getNewTableName(table_name_); - if (tables.contains(new_table_name)) - throw Exception( - ErrorCodes::CANNOT_RESTORE_TABLE, "Cannot restore the {} twice", formatTableNameOrTemporaryTableName(new_table_name)); - - /// Make a create query for this table. - auto create_query = renameInCreateQuery(readCreateQueryFromBackup(table_name_)); - - CreateTableInfo info; - info.create_query = create_query; - info.name_in_backup = table_name_; - info.partitions = partitions_; - tables[new_table_name] = std::move(info); - } - - /// Prepares to restore a database and all tables in it. - void prepareToRestoreDatabase(const String & database_name_, const std::set & except_list_) - { - /// Check that we are not trying to restore the same database again. - String new_database_name = renaming_settings.getNewDatabaseName(database_name_); - if (databases.contains(new_database_name)) - throw Exception( - ErrorCodes::CANNOT_RESTORE_DATABASE, "Cannot restore the database {} twice", backQuoteIfNeed(new_database_name)); - - Strings table_names = PathsInBackup{*backup}.getTables( - database_name_, restore_settings.shard_num_in_backup, restore_settings.replica_num_in_backup); - bool has_tables_in_backup = !table_names.empty(); - bool has_create_query_in_backup = hasCreateQueryInBackup(database_name_); - - if (!has_create_query_in_backup && !has_tables_in_backup) - throw Exception( - ErrorCodes::CANNOT_RESTORE_DATABASE, - "Cannot restore the database {} because there is no such database in the backup", - backQuoteIfNeed(database_name_)); - - /// Of course we're not going to restore the definition of the system or the temporary database. - if (!isSystemOrTemporaryDatabase(new_database_name)) - { - /// Make a create query for this database. - std::shared_ptr create_query; - if (has_create_query_in_backup) - { - create_query = renameInCreateQuery(readCreateQueryFromBackup(database_name_)); - } - else - { - create_query = std::make_shared(); - create_query->setDatabase(database_name_); - } - - CreateDatabaseInfo info; - info.create_query = create_query; - databases[new_database_name] = std::move(info); - } - - /// Restore tables in this database. - for (const String & table_name : table_names) - { - if (except_list_.contains(table_name)) - continue; - prepareToRestoreTable(DatabaseAndTableName{database_name_, table_name}, ASTs{}); - } - } - - /// Prepares to restore all the databases contained in the backup. - void prepareToRestoreAllDatabases(const std::set & except_list_) - { - for (const String & database_name : - PathsInBackup{*backup}.getDatabases(restore_settings.shard_num_in_backup, restore_settings.replica_num_in_backup)) - { - if (except_list_.contains(database_name)) - continue; - prepareToRestoreDatabase(database_name, std::set{}); - } - } - - /// Reads a create query for creating a specified table from the backup. - std::shared_ptr readCreateQueryFromBackup(const DatabaseAndTableName & table_name) const - { - String create_query_path = PathsInBackup{*backup}.getMetadataPath( - table_name, restore_settings.shard_num_in_backup, restore_settings.replica_num_in_backup); - if (!backup->fileExists(create_query_path)) - throw Exception( - ErrorCodes::CANNOT_RESTORE_TABLE, - "Cannot restore the {} because there is no such table in the backup", - formatTableNameOrTemporaryTableName(table_name)); - auto read_buffer = backup->readFile(create_query_path)->getReadBuffer(); - String create_query_str; - readStringUntilEOF(create_query_str, *read_buffer); - read_buffer.reset(); - ParserCreateQuery create_parser; - return typeid_cast>( - parseQuery(create_parser, create_query_str, 0, DBMS_DEFAULT_MAX_PARSER_DEPTH)); - } - - /// Reads a create query for creating a specified database from the backup. - std::shared_ptr readCreateQueryFromBackup(const String & database_name) const - { - String create_query_path = PathsInBackup{*backup}.getMetadataPath( - database_name, restore_settings.shard_num_in_backup, restore_settings.replica_num_in_backup); - if (!backup->fileExists(create_query_path)) - throw Exception( - ErrorCodes::CANNOT_RESTORE_DATABASE, - "Cannot restore the database {} because there is no such database in the backup", - backQuoteIfNeed(database_name)); - auto read_buffer = backup->readFile(create_query_path)->getReadBuffer(); - String create_query_str; - readStringUntilEOF(create_query_str, *read_buffer); - read_buffer.reset(); - ParserCreateQuery create_parser; - return typeid_cast>( - parseQuery(create_parser, create_query_str, 0, DBMS_DEFAULT_MAX_PARSER_DEPTH)); - } - - /// Whether there is a create query for creating a specified database in the backup. - bool hasCreateQueryInBackup(const String & database_name) const - { - String create_query_path = PathsInBackup{*backup}.getMetadataPath( - database_name, restore_settings.shard_num_in_backup, restore_settings.replica_num_in_backup); - return backup->fileExists(create_query_path); - } - - /// Do renaming in the create query according to the renaming config. - std::shared_ptr renameInCreateQuery(const ASTPtr & ast) const - { - ASTPtr query = ast; - ::DB::renameInCreateQuery(query, context, renaming_settings); - auto create_query = typeid_cast>(query); - return create_query; - } - - static bool isSystemOrTemporaryDatabase(const String & database_name) - { - return (database_name == DatabaseCatalog::SYSTEM_DATABASE) || (database_name == DatabaseCatalog::TEMPORARY_DATABASE); - } - - /// Information which is used to make an instance of RestoreTableTask. - struct CreateTableInfo - { - ASTPtr create_query; - DatabaseAndTableName name_in_backup; - ASTs partitions; - }; - - /// Information which is used to make an instance of RestoreDatabaseTask. - struct CreateDatabaseInfo - { - ASTPtr create_query; - }; - - ContextMutablePtr context; - BackupPtr backup; - RestoreSettings restore_settings; - std::shared_ptr restore_coordination; - std::chrono::seconds timeout_for_restoring_metadata; - DDLRenamingSettings renaming_settings; - std::map databases; - std::map tables; - }; - - - RestoreTasks makeRestoreTasksImpl( - ContextMutablePtr context, - const BackupPtr & backup, - const Elements & elements, - const RestoreSettings & restore_settings, - const std::shared_ptr & restore_coordination, - std::chrono::seconds timeout_for_restoring_metadata) - { - RestoreTasksBuilder builder{context, backup, restore_settings, restore_coordination, timeout_for_restoring_metadata}; - builder.prepare(elements); - return builder.makeTasks(); - } - - - void restoreMetadataImpl(RestoreTasks & restore_tasks) - { - /// There are two kinds of restore tasks: sequential and non-sequential ones. - /// Sequential tasks are executed first and always in one thread. - std::deque> restore_metadata_tasks; - boost::range::remove_erase_if( - restore_tasks, - [&restore_metadata_tasks](RestoreTaskPtr & task) - { - if (task->getRestoreKind() == IRestoreTask::RestoreKind::METADATA) - { - restore_metadata_tasks.push_back(std::move(task)); - return true; - } - return false; - }); - - /// Sequential tasks. - while (!restore_metadata_tasks.empty()) - { - auto current_task = std::move(restore_metadata_tasks.front()); - restore_metadata_tasks.pop_front(); - - RestoreTasks new_tasks = current_task->run(); - - for (auto & task : new_tasks) - { - if (task->getRestoreKind() == IRestoreTask::RestoreKind::METADATA) - restore_metadata_tasks.push_back(std::move(task)); - else - restore_tasks.push_back(std::move(task)); - } - } - } -} - - -RestoreTasks makeRestoreTasks( - ContextMutablePtr context, - const BackupPtr & backup, - const Elements & elements, - const RestoreSettings & restore_settings, - const std::shared_ptr & restore_coordination, - std::chrono::seconds timeout_for_restoring_metadata) -{ - try - { - return makeRestoreTasksImpl(context, backup, elements, restore_settings, restore_coordination, timeout_for_restoring_metadata); - } - catch (...) - { - restore_coordination->finishRestoringMetadata(restore_settings.host_id, getCurrentExceptionMessage(false)); - throw; - } -} - - -void restoreMetadata( - RestoreTasks & restore_tasks, - const RestoreSettings & restore_settings, - const std::shared_ptr & restore_coordination, - std::chrono::seconds timeout_for_restoring_metadata) -{ - try - { - restoreMetadataImpl(restore_tasks); - } - catch (...) - { - restore_coordination->finishRestoringMetadata(restore_settings.host_id, getCurrentExceptionMessage(false)); - throw; - } - - /// We've finished restoring metadata, now we will wait for other replicas and shards to finish too. - /// We need this waiting because we're going to call some functions which requires data collected from other nodes too, - /// see IRestoreCoordination::checkTablesNotExistedInReplicatedDBs(), IRestoreCoordination::getReplicatedTableDataPath(). - restore_coordination->finishRestoringMetadata(restore_settings.host_id); - - restore_coordination->waitForAllHostsRestoredMetadata( - BackupSettings::Util::filterHostIDs( - restore_settings.cluster_host_ids, restore_settings.shard_num, restore_settings.replica_num), - timeout_for_restoring_metadata); -} - - -void restoreData(RestoreTasks & restore_tasks, ThreadPool & thread_pool) -{ - std::deque> tasks(std::make_move_iterator(restore_tasks.begin()), std::make_move_iterator(restore_tasks.end())); - restore_tasks.clear(); - - /// Non-sequential tasks. - size_t num_active_jobs = 0; - std::mutex mutex; - std::condition_variable event; - std::exception_ptr exception; - - while (true) - { - std::unique_ptr current_task; - { - std::unique_lock lock{mutex}; - event.wait(lock, [&] { return !tasks.empty() || exception || !num_active_jobs; }); - if ((tasks.empty() && !num_active_jobs) || exception) - break; - current_task = std::move(tasks.front()); - tasks.pop_front(); - ++num_active_jobs; - } - - auto job = [current_task = std::shared_ptr(std::move(current_task)), &tasks, &num_active_jobs, &exception, &mutex, &event]() mutable - { - SCOPE_EXIT({ - --num_active_jobs; - event.notify_all(); - }); - - { - std::lock_guard lock{mutex}; - if (exception) - return; - } - - RestoreTasks new_tasks; - try - { - new_tasks = current_task->run(); - } - catch (...) - { - std::lock_guard lock{mutex}; - if (!exception) - exception = std::current_exception(); - } - - { - std::lock_guard lock{mutex}; - tasks.insert(tasks.end(), std::make_move_iterator(new_tasks.begin()), std::make_move_iterator(new_tasks.end())); - } - }; - - if (!thread_pool.trySchedule(job)) - job(); - } - - { - std::unique_lock lock{mutex}; - event.wait(lock, [&] { return !num_active_jobs; }); - } - - if (exception) - std::rethrow_exception(exception); -} - - -/// Returns access required to execute RESTORE query. -AccessRightsElements getRequiredAccessToRestore(const ASTBackupQuery::Elements & elements, const RestoreSettings & restore_settings) -{ - AccessRightsElements required_access; - for (const auto & element : elements) - { - switch (element.type) - { - case ASTBackupQuery::TABLE: - { - if (element.is_temp_db) - { - if (restore_settings.create_table != RestoreTableCreationMode::kMustExist) - required_access.emplace_back(AccessType::CREATE_TEMPORARY_TABLE); - break; - } - AccessFlags flags = AccessType::SHOW_TABLES; - if (restore_settings.create_table != RestoreTableCreationMode::kMustExist) - flags |= AccessType::CREATE_TABLE; - if (!restore_settings.structure_only) - flags |= AccessType::INSERT; - required_access.emplace_back(flags, element.new_name.first, element.new_name.second); - break; - } - case ASTBackupQuery::DATABASE: - { - if (element.is_temp_db) - { - if (restore_settings.create_table != RestoreTableCreationMode::kMustExist) - required_access.emplace_back(AccessType::CREATE_TEMPORARY_TABLE); - break; - } - AccessFlags flags = AccessType::SHOW_TABLES | AccessType::SHOW_DATABASES; - if (restore_settings.create_table != RestoreTableCreationMode::kMustExist) - flags |= AccessType::CREATE_TABLE; - if (restore_settings.create_database != RestoreDatabaseCreationMode::kMustExist) - flags |= AccessType::CREATE_DATABASE; - if (!restore_settings.structure_only) - flags |= AccessType::INSERT; - required_access.emplace_back(flags, element.new_name.first); - break; - } - case ASTBackupQuery::ALL_DATABASES: - { - AccessFlags flags = AccessType::SHOW_TABLES | AccessType::SHOW_DATABASES; - if (restore_settings.create_table != RestoreTableCreationMode::kMustExist) - flags |= AccessType::CREATE_TABLE; - if (restore_settings.create_database != RestoreDatabaseCreationMode::kMustExist) - flags |= AccessType::CREATE_DATABASE; - if (!restore_settings.structure_only) - flags |= AccessType::INSERT; - required_access.emplace_back(flags); - break; - } - } - } - return required_access; -} - -} diff --git a/src/Backups/RestoreUtils.h b/src/Backups/RestoreUtils.h deleted file mode 100644 index 1c9632a903b..00000000000 --- a/src/Backups/RestoreUtils.h +++ /dev/null @@ -1,38 +0,0 @@ -#pragma once - -#include -#include - - -namespace DB -{ - -class IBackup; -using BackupPtr = std::shared_ptr; -class IRestoreTask; -using RestoreTaskPtr = std::unique_ptr; -using RestoreTasks = std::vector; -struct RestoreSettings; -class IRestoreCoordination; -class AccessRightsElements; -class Context; -using ContextPtr = std::shared_ptr; -using ContextMutablePtr = std::shared_ptr; - -/// Prepares restore tasks. -RestoreTasks makeRestoreTasks(ContextMutablePtr context, const BackupPtr & backup, const ASTBackupQuery::Elements & elements, const RestoreSettings & restore_settings, const std::shared_ptr & restore_coordination, std::chrono::seconds timeout_for_restoring_metadata); - -/// Executes restore tasks. -void restoreMetadata( - RestoreTasks & restore_tasks, - const RestoreSettings & restore_settings, - const std::shared_ptr & restore_coordination, - std::chrono::seconds timeout_for_restoring_metadata); - -void restoreData(RestoreTasks & restore_tasks, ThreadPool & thread_pool); - - -/// Returns access required to execute RESTORE query. -AccessRightsElements getRequiredAccessToRestore(const ASTBackupQuery::Elements & elements, const RestoreSettings & restore_settings); - -} diff --git a/src/Backups/RestorerFromBackup.cpp b/src/Backups/RestorerFromBackup.cpp new file mode 100644 index 00000000000..5b211bc50a8 --- /dev/null +++ b/src/Backups/RestorerFromBackup.cpp @@ -0,0 +1,817 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace fs = std::filesystem; + + +namespace DB +{ +namespace ErrorCodes +{ + extern const int BACKUP_ENTRY_NOT_FOUND; + extern const int CANNOT_RESTORE_TABLE; + extern const int CANNOT_RESTORE_DATABASE; + extern const int LOGICAL_ERROR; +} + + +namespace +{ + /// Finding databases and tables in the backup which we're going to restore. + constexpr const char * kFindingTablesInBackupStatus = "finding tables in backup"; + + /// Creating databases or finding them and checking their definitions. + constexpr const char * kCreatingDatabasesStatus = "creating databases"; + + /// Creating tables or finding them and checking their definition. + constexpr const char * kCreatingTablesStatus = "creating tables"; + + /// Inserting restored data to tables. + constexpr const char * kInsertingDataToTablesStatus = "inserting data to tables"; + + /// Error status. + constexpr const char * kErrorStatus = BackupCoordinationStatusSync::kErrorStatus; + + /// Uppercases the first character of a passed string. + String toUpperFirst(const String & str) + { + String res = str; + res[0] = std::toupper(res[0]); + return res; + } + + /// Outputs "table " or "temporary table " + String tableNameWithTypeToString(const String & database_name, const String & table_name, bool first_upper) + { + String str; + if (database_name == DatabaseCatalog::TEMPORARY_DATABASE) + str = fmt::format("temporary table {}", backQuoteIfNeed(table_name)); + else + str = fmt::format("table {}.{}", backQuoteIfNeed(database_name), backQuoteIfNeed(table_name)); + if (first_upper) + str[0] = std::toupper(str[0]); + return str; + } + + /// Whether a specified name corresponds one of the tables backuping ACL. + bool isSystemAccessTableName(const QualifiedTableName & table_name) + { + if (table_name.database != DatabaseCatalog::SYSTEM_DATABASE) + return false; + + return (table_name.table == "users") || (table_name.table == "roles") || (table_name.table == "settings_profiles") + || (table_name.table == "row_policies") || (table_name.table == "quotas"); + } + + /// Whether a specified name corresponds one of the tables backuping ACL. + bool isSystemFunctionsTableName(const QualifiedTableName & table_name) + { + return (table_name.database == DatabaseCatalog::SYSTEM_DATABASE) && (table_name.table == "functions"); + } + } + + +RestorerFromBackup::RestorerFromBackup( + const ASTBackupQuery::Elements & restore_query_elements_, + const RestoreSettings & restore_settings_, + std::shared_ptr restore_coordination_, + const BackupPtr & backup_, + const ContextMutablePtr & context_) + : restore_query_elements(restore_query_elements_) + , restore_settings(restore_settings_) + , restore_coordination(restore_coordination_) + , backup(backup_) + , context(context_) + , create_table_timeout(context->getConfigRef().getUInt64("backups.create_table_timeout", 300000)) + , log(&Poco::Logger::get("RestorerFromBackup")) +{ +} + +RestorerFromBackup::~RestorerFromBackup() = default; + +RestorerFromBackup::DataRestoreTasks RestorerFromBackup::run(Mode mode) +{ + try + { + /// run() can be called onle once. + if (!current_status.empty()) + throw Exception(ErrorCodes::LOGICAL_ERROR, "Already restoring"); + + /// Find other hosts working along with us to execute this ON CLUSTER query. + all_hosts = BackupSettings::Util::filterHostIDs( + restore_settings.cluster_host_ids, restore_settings.shard_num, restore_settings.replica_num); + + /// Do renaming in the create queries according to the renaming config. + renaming_map = makeRenamingMapFromBackupQuery(restore_query_elements); + + /// Calculate the root path in the backup for restoring, it's either empty or has the format "shards//replicas//". + findRootPathsInBackup(); + + /// Find all the databases and tables which we will read from the backup. + setStatus(kFindingTablesInBackupStatus); + findDatabasesAndTablesInBackup(); + + /// Check access rights. + checkAccessForObjectsFoundInBackup(); + + if (mode == Mode::CHECK_ACCESS_ONLY) + return {}; + + /// Create databases using the create queries read from the backup. + setStatus(kCreatingDatabasesStatus); + createDatabases(); + + /// Create tables using the create queries read from the backup. + setStatus(kCreatingTablesStatus); + createTables(); + + /// All what's left is to insert data to tables. + /// No more data restoring tasks are allowed after this point. + setStatus(kInsertingDataToTablesStatus); + return getDataRestoreTasks(); + } + catch (...) + { + try + { + /// Other hosts should know that we've encountered an error. + setStatus(kErrorStatus, getCurrentExceptionMessage(false)); + } + catch (...) + { + } + throw; + } +} + +void RestorerFromBackup::setStatus(const String & new_status, const String & message) +{ + if (new_status == kErrorStatus) + { + LOG_ERROR(log, "{} failed with {}", toUpperFirst(current_status), message); + if (restore_coordination) + restore_coordination->setStatus(restore_settings.host_id, new_status, message); + } + else + { + LOG_TRACE(log, "{}", toUpperFirst(new_status)); + current_status = new_status; + if (restore_coordination) + restore_coordination->setStatusAndWait(restore_settings.host_id, new_status, message, all_hosts); + } +} + +void RestorerFromBackup::findRootPathsInBackup() +{ + size_t shard_num = 1; + size_t replica_num = 1; + if (!restore_settings.host_id.empty()) + { + std::tie(shard_num, replica_num) + = BackupSettings::Util::findShardNumAndReplicaNum(restore_settings.cluster_host_ids, restore_settings.host_id); + } + + root_paths_in_backup.clear(); + + /// Start with "" as the root path and then we will add shard- and replica-related part to it. + fs::path root_path = "/"; + root_paths_in_backup.push_back(root_path); + + /// Add shard-related part to the root path. + Strings shards_in_backup = backup->listFiles(root_path / "shards"); + if (shards_in_backup.empty()) + { + if (restore_settings.shard_num_in_backup > 1) + throw Exception(ErrorCodes::BACKUP_ENTRY_NOT_FOUND, "No shard #{} in backup", restore_settings.shard_num_in_backup); + } + else + { + String shard_name; + if (restore_settings.shard_num_in_backup) + shard_name = std::to_string(restore_settings.shard_num_in_backup); + else if (shards_in_backup.size() == 1) + shard_name = shards_in_backup.front(); + else + shard_name = std::to_string(shard_num); + if (std::find(shards_in_backup.begin(), shards_in_backup.end(), shard_name) == shards_in_backup.end()) + throw Exception(ErrorCodes::BACKUP_ENTRY_NOT_FOUND, "No shard #{} in backup", shard_name); + root_path = root_path / "shards" / shard_name; + root_paths_in_backup.push_back(root_path); + } + + /// Add replica-related part to the root path. + Strings replicas_in_backup = backup->listFiles(root_path / "replicas"); + if (replicas_in_backup.empty()) + { + if (restore_settings.replica_num_in_backup > 1) + throw Exception(ErrorCodes::BACKUP_ENTRY_NOT_FOUND, "No replica #{} in backup", restore_settings.replica_num_in_backup); + } + else + { + String replica_name; + if (restore_settings.replica_num_in_backup) + { + replica_name = std::to_string(restore_settings.replica_num_in_backup); + if (std::find(replicas_in_backup.begin(), replicas_in_backup.end(), replica_name) == replicas_in_backup.end()) + throw Exception(ErrorCodes::BACKUP_ENTRY_NOT_FOUND, "No replica #{} in backup", replica_name); + } + else + { + replica_name = std::to_string(replica_num); + if (std::find(replicas_in_backup.begin(), replicas_in_backup.end(), replica_name) == replicas_in_backup.end()) + replica_name = replicas_in_backup.front(); + } + root_path = root_path / "replicas" / replica_name; + root_paths_in_backup.push_back(root_path); + } + + /// Revert the list of root paths, because we need it in the following order: + /// "/shards//replicas//" (first we search tables here) + /// "/shards//" (then here) + /// "/" (and finally here) + std::reverse(root_paths_in_backup.begin(), root_paths_in_backup.end()); + + LOG_TRACE( + log, + "Will use paths in backup: {}", + boost::algorithm::join( + root_paths_in_backup + | boost::adaptors::transformed([](const fs::path & path) -> String { return doubleQuoteString(String{path}); }), + ", ")); +} + +void RestorerFromBackup::findDatabasesAndTablesInBackup() +{ + database_infos.clear(); + table_infos.clear(); + for (const auto & element : restore_query_elements) + { + switch (element.type) + { + case ASTBackupQuery::ElementType::TABLE: + { + findTableInBackup({element.database_name, element.table_name}, element.partitions); + break; + } + case ASTBackupQuery::ElementType::TEMPORARY_TABLE: + { + findTableInBackup({DatabaseCatalog::TEMPORARY_DATABASE, element.table_name}, element.partitions); + break; + } + case ASTBackupQuery::ElementType::DATABASE: + { + findDatabaseInBackup(element.database_name, element.except_tables); + break; + } + case ASTBackupQuery::ElementType::ALL: + { + findEverythingInBackup(element.except_databases, element.except_tables); + break; + } + } + } + + LOG_INFO(log, "Will restore {} databases and {} tables", database_infos.size(), table_infos.size()); +} + +void RestorerFromBackup::findTableInBackup(const QualifiedTableName & table_name_in_backup, const std::optional & partitions) +{ + bool is_temporary_table = (table_name_in_backup.database == DatabaseCatalog::TEMPORARY_DATABASE); + + std::optional metadata_path; + std::optional root_path_in_use; + for (const auto & root_path_in_backup : root_paths_in_backup) + { + fs::path try_metadata_path; + if (is_temporary_table) + { + try_metadata_path + = root_path_in_backup / "temporary_tables" / "metadata" / (escapeForFileName(table_name_in_backup.table) + ".sql"); + } + else + { + try_metadata_path = root_path_in_backup / "metadata" / escapeForFileName(table_name_in_backup.database) + / (escapeForFileName(table_name_in_backup.table) + ".sql"); + } + + if (backup->fileExists(try_metadata_path)) + { + metadata_path = try_metadata_path; + root_path_in_use = root_path_in_backup; + break; + } + } + + if (!metadata_path) + throw Exception( + ErrorCodes::BACKUP_ENTRY_NOT_FOUND, + "{} not found in backup", + tableNameWithTypeToString(table_name_in_backup.database, table_name_in_backup.table, true)); + + fs::path data_path_in_backup; + if (is_temporary_table) + { + data_path_in_backup = *root_path_in_use / "temporary_tables" / "data" / escapeForFileName(table_name_in_backup.table); + } + else + { + data_path_in_backup + = *root_path_in_use / "data" / escapeForFileName(table_name_in_backup.database) / escapeForFileName(table_name_in_backup.table); + } + + auto read_buffer = backup->readFile(*metadata_path)->getReadBuffer(); + String create_query_str; + readStringUntilEOF(create_query_str, *read_buffer); + read_buffer.reset(); + ParserCreateQuery create_parser; + ASTPtr create_table_query = parseQuery(create_parser, create_query_str, 0, DBMS_DEFAULT_MAX_PARSER_DEPTH); + renameDatabaseAndTableNameInCreateQuery(create_table_query, renaming_map, context->getGlobalContext()); + + QualifiedTableName table_name = renaming_map.getNewTableName(table_name_in_backup); + + if (auto it = table_infos.find(table_name); it != table_infos.end()) + { + const TableInfo & table_info = it->second; + if (table_info.create_table_query && (serializeAST(*table_info.create_table_query) != serializeAST(*create_table_query))) + { + throw Exception( + ErrorCodes::CANNOT_RESTORE_TABLE, + "Extracted two different create queries for the same {}: {} and {}", + tableNameWithTypeToString(table_name.database, table_name.table, false), + serializeAST(*table_info.create_table_query), + serializeAST(*create_table_query)); + } + } + + TableInfo & res_table_info = table_infos[table_name]; + res_table_info.create_table_query = create_table_query; + res_table_info.is_predefined_table = DatabaseCatalog::instance().isPredefinedTable(StorageID{table_name.database, table_name.table}); + res_table_info.dependencies = getDependenciesSetFromCreateQuery(context->getGlobalContext(), table_name, create_table_query); + res_table_info.has_data = backup->hasFiles(data_path_in_backup); + res_table_info.data_path_in_backup = data_path_in_backup; + + if (partitions) + { + if (!res_table_info.partitions) + res_table_info.partitions.emplace(); + insertAtEnd(*res_table_info.partitions, *partitions); + } + + if (!restore_settings.structure_only && isSystemAccessTableName(table_name)) + { + if (!access_restorer) + access_restorer = std::make_unique(backup, restore_settings); + access_restorer->addDataPath(data_path_in_backup, table_name); + } +} + +void RestorerFromBackup::findDatabaseInBackup(const String & database_name_in_backup, const std::set & except_table_names) +{ + std::optional metadata_path; + std::unordered_set table_names_in_backup; + for (const auto & root_path_in_backup : root_paths_in_backup) + { + fs::path try_metadata_path, try_tables_metadata_path; + if (database_name_in_backup == DatabaseCatalog::TEMPORARY_DATABASE) + { + try_tables_metadata_path = root_path_in_backup / "temporary_tables" / "metadata"; + } + else + { + try_metadata_path = root_path_in_backup / "metadata" / (escapeForFileName(database_name_in_backup) + ".sql"); + try_tables_metadata_path = root_path_in_backup / "metadata" / escapeForFileName(database_name_in_backup); + } + + if (!metadata_path && !try_metadata_path.empty() && backup->fileExists(try_metadata_path)) + metadata_path = try_metadata_path; + + Strings file_names = backup->listFiles(try_tables_metadata_path); + for (const String & file_name : file_names) + { + if (!file_name.ends_with(".sql")) + continue; + String file_name_without_ext = file_name.substr(0, file_name.length() - strlen(".sql")); + table_names_in_backup.insert(unescapeForFileName(file_name_without_ext)); + } + } + + if (!metadata_path && table_names_in_backup.empty()) + throw Exception(ErrorCodes::BACKUP_ENTRY_NOT_FOUND, "Database {} not found in backup", backQuoteIfNeed(database_name_in_backup)); + + if (metadata_path) + { + auto read_buffer = backup->readFile(*metadata_path)->getReadBuffer(); + String create_query_str; + readStringUntilEOF(create_query_str, *read_buffer); + read_buffer.reset(); + ParserCreateQuery create_parser; + ASTPtr create_database_query = parseQuery(create_parser, create_query_str, 0, DBMS_DEFAULT_MAX_PARSER_DEPTH); + renameDatabaseAndTableNameInCreateQuery(create_database_query, renaming_map, context->getGlobalContext()); + + String database_name = renaming_map.getNewDatabaseName(database_name_in_backup); + DatabaseInfo & database_info = database_infos[database_name]; + + if (database_info.create_database_query && (serializeAST(*database_info.create_database_query) != serializeAST(*create_database_query))) + { + throw Exception( + ErrorCodes::CANNOT_RESTORE_DATABASE, + "Extracted two different create queries for the same database {}: {} and {}", + backQuoteIfNeed(database_name), + serializeAST(*database_info.create_database_query), + serializeAST(*create_database_query)); + } + + database_info.create_database_query = create_database_query; + database_info.is_predefined_database = DatabaseCatalog::isPredefinedDatabase(database_name); + } + + for (const String & table_name_in_backup : table_names_in_backup) + { + if (except_table_names.contains({database_name_in_backup, table_name_in_backup})) + continue; + + findTableInBackup({database_name_in_backup, table_name_in_backup}, /* partitions= */ {}); + } +} + +void RestorerFromBackup::findEverythingInBackup(const std::set & except_database_names, const std::set & except_table_names) +{ + std::unordered_set database_names_in_backup; + + for (const auto & root_path_in_backup : root_paths_in_backup) + { + Strings file_names = backup->listFiles(root_path_in_backup / "metadata"); + for (String & file_name : file_names) + { + if (file_name.ends_with(".sql")) + file_name.resize(file_name.length() - strlen(".sql")); + database_names_in_backup.emplace(unescapeForFileName(file_name)); + } + + if (backup->hasFiles(root_path_in_backup / "temporary_tables" / "metadata")) + database_names_in_backup.emplace(DatabaseCatalog::TEMPORARY_DATABASE); + } + + for (const String & database_name_in_backup : database_names_in_backup) + { + if (except_database_names.contains(database_name_in_backup)) + continue; + + findDatabaseInBackup(database_name_in_backup, except_table_names); + } +} + +void RestorerFromBackup::checkAccessForObjectsFoundInBackup() const +{ + AccessRightsElements required_access; + for (const auto & [database_name, database_info] : database_infos) + { + if (database_info.is_predefined_database) + continue; + + AccessFlags flags; + + if (restore_settings.create_database != RestoreDatabaseCreationMode::kMustExist) + flags |= AccessType::CREATE_DATABASE; + + if (!flags) + flags = AccessType::SHOW_DATABASES; + + required_access.emplace_back(flags, database_name); + } + + for (const auto & [table_name, table_info] : table_infos) + { + if (table_info.is_predefined_table) + { + if (isSystemFunctionsTableName(table_name)) + { + /// CREATE_FUNCTION privilege is required to restore the "system.functions" table. + if (!restore_settings.structure_only && table_info.has_data) + required_access.emplace_back(AccessType::CREATE_FUNCTION); + } + /// Privileges required to restore ACL system tables are checked separately + /// (see access_restore_task->getRequiredAccess() below). + continue; + } + + if (table_name.database == DatabaseCatalog::TEMPORARY_DATABASE) + { + if (restore_settings.create_table != RestoreTableCreationMode::kMustExist) + required_access.emplace_back(AccessType::CREATE_TEMPORARY_TABLE); + continue; + } + + AccessFlags flags; + const ASTCreateQuery & create = table_info.create_table_query->as(); + + if (restore_settings.create_table != RestoreTableCreationMode::kMustExist) + { + if (create.is_dictionary) + flags |= AccessType::CREATE_DICTIONARY; + else if (create.is_ordinary_view || create.is_materialized_view || create.is_live_view) + flags |= AccessType::CREATE_VIEW; + else + flags |= AccessType::CREATE_TABLE; + } + + if (!restore_settings.structure_only && table_info.has_data) + { + flags |= AccessType::INSERT; + } + + if (!flags) + { + if (create.is_dictionary) + flags = AccessType::SHOW_DICTIONARIES; + else + flags = AccessType::SHOW_TABLES; + } + + required_access.emplace_back(flags, table_name.database, table_name.table); + } + + if (access_restorer) + insertAtEnd(required_access, access_restorer->getRequiredAccess()); + + /// We convert to AccessRights and back to check access rights in a predictable way + /// (some elements could be duplicated or not sorted). + required_access = AccessRights{required_access}.getElements(); + + context->checkAccess(required_access); + +} + +void RestorerFromBackup::createDatabases() +{ + for (const auto & [database_name, database_info] : database_infos) + { + bool need_create_database = (restore_settings.create_database != RestoreDatabaseCreationMode::kMustExist); + if (database_info.is_predefined_database) + need_create_database = false; /// Predefined databases always exist. + + if (need_create_database) + { + /// Execute CREATE DATABASE query. + auto create_database_query = database_info.create_database_query; + if (restore_settings.create_table == RestoreTableCreationMode::kCreateIfNotExists) + { + create_database_query = create_database_query->clone(); + create_database_query->as().if_not_exists = true; + } + LOG_TRACE(log, "Creating database {}: {}", backQuoteIfNeed(database_name), serializeAST(*create_database_query)); + InterpreterCreateQuery interpreter{create_database_query, context}; + interpreter.setInternal(true); + interpreter.execute(); + } + + DatabasePtr database = DatabaseCatalog::instance().getDatabase(database_name); + + if (!restore_settings.allow_different_database_def && !database_info.is_predefined_database) + { + /// Check that the database's definition is the same as expected. + ASTPtr create_database_query = database->getCreateDatabaseQuery(); + adjustCreateQueryForBackup(create_database_query, context->getGlobalContext(), nullptr); + ASTPtr expected_create_query = database_info.create_database_query; + if (serializeAST(*create_database_query) != serializeAST(*expected_create_query)) + { + throw Exception( + ErrorCodes::CANNOT_RESTORE_DATABASE, + "The database {} has a different definition: {} " + "comparing to its definition in the backup: {}", + backQuoteIfNeed(database_name), + serializeAST(*create_database_query), + serializeAST(*expected_create_query)); + } + } + } +} + +void RestorerFromBackup::createTables() +{ + while (true) + { + /// We need to create tables considering their dependencies. + auto tables_to_create = findTablesWithoutDependencies(); + if (tables_to_create.empty()) + break; /// We've already created all the tables. + + for (const auto & table_name : tables_to_create) + { + auto & table_info = table_infos.at(table_name); + + DatabasePtr database = DatabaseCatalog::instance().getDatabase(table_name.database); + + bool need_create_table = (restore_settings.create_table != RestoreTableCreationMode::kMustExist); + if (table_info.is_predefined_table) + need_create_table = false; /// Predefined tables always exist. + + if (need_create_table) + { + auto create_table_query = table_info.create_table_query; + if (restore_settings.create_table == RestoreTableCreationMode::kCreateIfNotExists) + { + create_table_query = create_table_query->clone(); + create_table_query->as().if_not_exists = true; + } + + LOG_TRACE( + log, + "Creating {}: {}", + tableNameWithTypeToString(table_name.database, table_name.table, false), + serializeAST(*create_table_query)); + + /// Execute CREATE TABLE query (we call IDatabase::createTableRestoredFromBackup() to allow the database to do some + /// database-specific things). + database->createTableRestoredFromBackup( + create_table_query, + context, + restore_coordination, + std::chrono::duration_cast(create_table_timeout).count()); + } + + table_info.created = true; + + auto resolved_id = (table_name.database == DatabaseCatalog::TEMPORARY_DATABASE) + ? context->resolveStorageID(StorageID{"", table_name.table}, Context::ResolveExternal) + : context->resolveStorageID(StorageID{table_name.database, table_name.table}, Context::ResolveGlobal); + + auto storage = database->getTable(resolved_id.table_name, context); + table_info.storage = storage; + table_info.table_lock = storage->lockForShare(context->getInitialQueryId(), context->getSettingsRef().lock_acquire_timeout); + + if (!restore_settings.allow_different_table_def && !table_info.is_predefined_table) + { + ASTPtr create_table_query = database->getCreateTableQuery(resolved_id.table_name, context); + adjustCreateQueryForBackup(create_table_query, context->getGlobalContext(), nullptr); + ASTPtr expected_create_query = table_info.create_table_query; + if (serializeAST(*create_table_query) != serializeAST(*expected_create_query)) + { + throw Exception( + ErrorCodes::CANNOT_RESTORE_TABLE, + "{} has a different definition: {} " + "comparing to its definition in the backup: {}", + tableNameWithTypeToString(table_name.database, table_name.table, true), + serializeAST(*create_table_query), + serializeAST(*expected_create_query)); + } + } + + if (!restore_settings.structure_only) + { + const auto & data_path_in_backup = table_info.data_path_in_backup; + const auto & partitions = table_info.partitions; + if (partitions && !storage->supportsBackupPartition()) + { + throw Exception( + ErrorCodes::CANNOT_RESTORE_TABLE, + "Table engine {} doesn't support partitions, cannot restore {}", + storage->getName(), + tableNameWithTypeToString(table_name.database, table_name.table, false)); + } + + storage->restoreDataFromBackup(*this, data_path_in_backup, partitions); + } + } + } +} + +/// Returns the list of tables without dependencies or those which dependencies have been created before. +std::vector RestorerFromBackup::findTablesWithoutDependencies() const +{ + std::vector tables_without_dependencies; + bool all_tables_created = true; + + for (const auto & [key, table_info] : table_infos) + { + if (table_info.created) + continue; + + /// Found a table which is not created yet. + all_tables_created = false; + + /// Check if all dependencies have been created before. + bool all_dependencies_met = true; + for (const auto & dependency : table_info.dependencies) + { + auto it = table_infos.find(dependency); + if ((it != table_infos.end()) && !it->second.created) + { + all_dependencies_met = false; + break; + } + } + + if (all_dependencies_met) + tables_without_dependencies.push_back(key); + } + + if (!tables_without_dependencies.empty()) + return tables_without_dependencies; + + if (all_tables_created) + return {}; + + /// Cyclic dependency? We'll try to create those tables anyway but probably it's going to fail. + std::vector tables_with_cyclic_dependencies; + for (const auto & [key, table_info] : table_infos) + { + if (!table_info.created) + tables_with_cyclic_dependencies.push_back(key); + } + + /// Only show a warning here, proper exception will be thrown later on creating those tables. + LOG_WARNING( + log, + "Some tables have cyclic dependency from each other: {}", + boost::algorithm::join( + tables_with_cyclic_dependencies + | boost::adaptors::transformed([](const QualifiedTableName & table_name) -> String { return table_name.getFullName(); }), + ", ")); + + return tables_with_cyclic_dependencies; +} + +void RestorerFromBackup::addDataRestoreTask(DataRestoreTask && new_task) +{ + if (current_status == kInsertingDataToTablesStatus) + throw Exception(ErrorCodes::LOGICAL_ERROR, "Adding data-restoring tasks is not allowed"); + data_restore_tasks.push_back(std::move(new_task)); +} + +void RestorerFromBackup::addDataRestoreTasks(DataRestoreTasks && new_tasks) +{ + if (current_status == kInsertingDataToTablesStatus) + throw Exception(ErrorCodes::LOGICAL_ERROR, "Adding data-restoring tasks is not allowed"); + insertAtEnd(data_restore_tasks, std::move(new_tasks)); +} + +RestorerFromBackup::DataRestoreTasks RestorerFromBackup::getDataRestoreTasks() +{ + if (data_restore_tasks.empty()) + return {}; + + LOG_TRACE(log, "Will insert data to tables"); + + /// Storages and table locks must exist while we're executing data restoring tasks. + auto storages = std::make_shared>(); + auto table_locks = std::make_shared>(); + storages->reserve(table_infos.size()); + table_locks->reserve(table_infos.size()); + for (const auto & table_info : table_infos | boost::adaptors::map_values) + { + storages->push_back(table_info.storage); + table_locks->push_back(table_info.table_lock); + } + + DataRestoreTasks res_tasks; + for (const auto & task : data_restore_tasks) + res_tasks.push_back([task, storages, table_locks] { task(); }); + + return res_tasks; +} + +std::vector> RestorerFromBackup::getAccessEntitiesToRestore() +{ + if (!access_restorer || access_restored) + return {}; + + /// getAccessEntitiesToRestore() will return entities only when called first time (we don't want to restore the same entities again). + access_restored = true; + + return access_restorer->getAccessEntities(context->getAccessControl()); +} + +void RestorerFromBackup::throwTableIsNotEmpty(const StorageID & storage_id) +{ + throw Exception( + ErrorCodes::CANNOT_RESTORE_TABLE, + "Cannot restore the table {} because it already contains some data. You can set structure_only=true or " + "allow_non_empty_tables=true to overcome that in the way you want", + storage_id.getFullTableName()); +} +} diff --git a/src/Backups/RestorerFromBackup.h b/src/Backups/RestorerFromBackup.h new file mode 100644 index 00000000000..ae2f0c76832 --- /dev/null +++ b/src/Backups/RestorerFromBackup.h @@ -0,0 +1,125 @@ +#pragma once + +#include +#include +#include +#include +#include +#include +#include + + +namespace DB +{ +class IBackup; +using BackupPtr = std::shared_ptr; +class IRestoreCoordination; +struct StorageID; +class AccessRestorerFromBackup; +struct IAccessEntity; +using AccessEntityPtr = std::shared_ptr; + +/// Restores the definition of databases and tables and prepares tasks to restore the data of the tables. +class RestorerFromBackup : private boost::noncopyable +{ +public: + RestorerFromBackup( + const ASTBackupQuery::Elements & restore_query_elements_, + const RestoreSettings & restore_settings_, + std::shared_ptr restore_coordination_, + const BackupPtr & backup_, + const ContextMutablePtr & context_); + + ~RestorerFromBackup(); + + enum Mode + { + /// Restores databases and tables. + RESTORE, + + /// Only checks access rights without restoring anything. + CHECK_ACCESS_ONLY + }; + + using DataRestoreTask = std::function; + using DataRestoreTasks = std::vector; + + /// Restores the metadata of databases and tables and returns tasks to restore the data of tables. + DataRestoreTasks run(Mode mode); + + BackupPtr getBackup() const { return backup; } + const RestoreSettings & getRestoreSettings() const { return restore_settings; } + bool isNonEmptyTableAllowed() const { return getRestoreSettings().allow_non_empty_tables; } + std::shared_ptr getRestoreCoordination() const { return restore_coordination; } + ContextMutablePtr getContext() const { return context; } + + /// Adds a data restore task which will be later returned by getDataRestoreTasks(). + /// This function can be called by implementations of IStorage::restoreFromBackup() in inherited storage classes. + void addDataRestoreTask(DataRestoreTask && new_task); + void addDataRestoreTasks(DataRestoreTasks && new_tasks); + + /// Returns the list of access entities to restore. + std::vector> getAccessEntitiesToRestore(); + + /// Throws an exception that a specified table is already non-empty. + [[noreturn]] static void throwTableIsNotEmpty(const StorageID & storage_id); + +private: + const ASTBackupQuery::Elements restore_query_elements; + const RestoreSettings restore_settings; + std::shared_ptr restore_coordination; + BackupPtr backup; + ContextMutablePtr context; + std::chrono::milliseconds create_table_timeout; + Poco::Logger * log; + + Strings all_hosts; + DDLRenamingMap renaming_map; + std::vector root_paths_in_backup; + + void findRootPathsInBackup(); + + void findDatabasesAndTablesInBackup(); + void findTableInBackup(const QualifiedTableName & table_name_in_backup, const std::optional & partitions); + void findDatabaseInBackup(const String & database_name_in_backup, const std::set & except_table_names); + void findEverythingInBackup(const std::set & except_database_names, const std::set & except_table_names); + + void checkAccessForObjectsFoundInBackup() const; + + void createDatabases(); + void createTables(); + + DataRestoreTasks getDataRestoreTasks(); + + void setStatus(const String & new_status, const String & message = ""); + + struct DatabaseInfo + { + ASTPtr create_database_query; + bool is_predefined_database = false; + }; + + struct TableInfo + { + ASTPtr create_table_query; + bool is_predefined_table = false; + std::unordered_set dependencies; + bool has_data = false; + std::filesystem::path data_path_in_backup; + std::optional partitions; + bool created = false; + StoragePtr storage; + TableLockHolder table_lock; + }; + + std::vector findTablesWithoutDependencies() const; + + String current_status; + std::unordered_map database_infos; + std::map table_infos; + std::vector data_restore_tasks; + std::unique_ptr access_restorer; + bool access_restored = false; +}; + +} diff --git a/src/Backups/formatTableNameOrTemporaryTableName.cpp b/src/Backups/formatTableNameOrTemporaryTableName.cpp deleted file mode 100644 index 7338e1dab23..00000000000 --- a/src/Backups/formatTableNameOrTemporaryTableName.cpp +++ /dev/null @@ -1,17 +0,0 @@ -#include -#include -#include - - -namespace DB -{ - -String formatTableNameOrTemporaryTableName(const DatabaseAndTableName & table_name) -{ - if (table_name.first == DatabaseCatalog::TEMPORARY_DATABASE) - return "temporary table " + backQuoteIfNeed(table_name.second); - else - return "table " + backQuoteIfNeed(table_name.first) + "." + backQuoteIfNeed(table_name.second); -} - -} diff --git a/src/Backups/formatTableNameOrTemporaryTableName.h b/src/Backups/formatTableNameOrTemporaryTableName.h deleted file mode 100644 index a6b94cd4077..00000000000 --- a/src/Backups/formatTableNameOrTemporaryTableName.h +++ /dev/null @@ -1,13 +0,0 @@ -#pragma once - -#include - - -namespace DB -{ -using DatabaseAndTableName = std::pair; - -/// Outputs either "table db_name.table_name" or "temporary table table_name". -String formatTableNameOrTemporaryTableName(const DatabaseAndTableName & table_name); - -} diff --git a/src/Backups/replaceTableUUIDWithMacroInReplicatedTableDef.cpp b/src/Backups/replaceTableUUIDWithMacroInReplicatedTableDef.cpp deleted file mode 100644 index cf6190c4c27..00000000000 --- a/src/Backups/replaceTableUUIDWithMacroInReplicatedTableDef.cpp +++ /dev/null @@ -1,37 +0,0 @@ -#include -#include -#include -#include - - -namespace DB -{ - -void replaceTableUUIDWithMacroInReplicatedTableDef(ASTCreateQuery & create_query, const UUID & table_uuid) -{ - if (create_query.getTable().empty() || !create_query.storage || !create_query.storage->engine || (table_uuid == UUIDHelpers::Nil)) - return; - - auto & engine = *(create_query.storage->engine); - if (!engine.name.starts_with("Replicated") || !engine.arguments) - return; - - auto * args = typeid_cast(engine.arguments.get()); - - size_t zookeeper_path_arg_pos = engine.name.starts_with("ReplicatedGraphite") ? 1 : 0; - - if (!args || (args->children.size() <= zookeeper_path_arg_pos)) - return; - - auto * zookeeper_path_arg = typeid_cast(args->children[zookeeper_path_arg_pos].get()); - if (!zookeeper_path_arg || (zookeeper_path_arg->value.getType() != Field::Types::String)) - return; - - String & zookeeper_path = zookeeper_path_arg->value.get(); - - String table_uuid_str = toString(table_uuid); - if (size_t uuid_pos = zookeeper_path.find(table_uuid_str); uuid_pos != String::npos) - zookeeper_path.replace(uuid_pos, table_uuid_str.size(), "{uuid}"); -} - -} diff --git a/src/Backups/replaceTableUUIDWithMacroInReplicatedTableDef.h b/src/Backups/replaceTableUUIDWithMacroInReplicatedTableDef.h deleted file mode 100644 index e339b1c4536..00000000000 --- a/src/Backups/replaceTableUUIDWithMacroInReplicatedTableDef.h +++ /dev/null @@ -1,14 +0,0 @@ -#pragma once - -#include - -namespace DB -{ - -class ASTCreateQuery; - -/// While making a replicated table it replaces "{uuid}" in zookeeper path with the real table UUID. -/// This function reverts this replacement.d -void replaceTableUUIDWithMacroInReplicatedTableDef(ASTCreateQuery & create_query, const UUID & table_uuid); - -} diff --git a/src/BridgeHelper/LibraryBridgeHelper.cpp b/src/BridgeHelper/LibraryBridgeHelper.cpp index 6d830e0b691..052ef3329b6 100644 --- a/src/BridgeHelper/LibraryBridgeHelper.cpp +++ b/src/BridgeHelper/LibraryBridgeHelper.cpp @@ -200,25 +200,25 @@ bool LibraryBridgeHelper::supportsSelectiveLoad() } -Pipe LibraryBridgeHelper::loadAll() +QueryPipeline LibraryBridgeHelper::loadAll() { startBridgeSync(); auto uri = createRequestURI(LOAD_ALL_METHOD); - return loadBase(uri); + return QueryPipeline(loadBase(uri)); } -Pipe LibraryBridgeHelper::loadIds(const std::vector & ids) +QueryPipeline LibraryBridgeHelper::loadIds(const std::vector & ids) { startBridgeSync(); auto uri = createRequestURI(LOAD_IDS_METHOD); uri.addQueryParameter("ids_num", toString(ids.size())); /// Not used parameter, but helpful auto ids_string = getDictIdsString(ids); - return loadBase(uri, [ids_string](std::ostream & os) { os << ids_string; }); + return QueryPipeline(loadBase(uri, [ids_string](std::ostream & os) { os << ids_string; })); } -Pipe LibraryBridgeHelper::loadKeys(const Block & requested_block) +QueryPipeline LibraryBridgeHelper::loadKeys(const Block & requested_block) { startBridgeSync(); auto uri = createRequestURI(LOAD_KEYS_METHOD); @@ -230,7 +230,7 @@ Pipe LibraryBridgeHelper::loadKeys(const Block & requested_block) auto output_format = getContext()->getOutputFormat(LibraryBridgeHelper::DEFAULT_FORMAT, out_buffer, requested_block.cloneEmpty()); formatBlock(output_format, requested_block); }; - return loadBase(uri, out_stream_callback); + return QueryPipeline(loadBase(uri, out_stream_callback)); } @@ -248,7 +248,7 @@ bool LibraryBridgeHelper::executeRequest(const Poco::URI & uri, ReadWriteBufferF } -Pipe LibraryBridgeHelper::loadBase(const Poco::URI & uri, ReadWriteBufferFromHTTP::OutStreamCallback out_stream_callback) +QueryPipeline LibraryBridgeHelper::loadBase(const Poco::URI & uri, ReadWriteBufferFromHTTP::OutStreamCallback out_stream_callback) { auto read_buf_ptr = std::make_unique( uri, @@ -263,7 +263,7 @@ Pipe LibraryBridgeHelper::loadBase(const Poco::URI & uri, ReadWriteBufferFromHTT auto source = FormatFactory::instance().getInput(LibraryBridgeHelper::DEFAULT_FORMAT, *read_buf_ptr, sample_block, getContext(), DEFAULT_BLOCK_SIZE); source->addBuffer(std::move(read_buf_ptr)); - return Pipe(std::move(source)); + return QueryPipeline(std::move(source)); } diff --git a/src/BridgeHelper/LibraryBridgeHelper.h b/src/BridgeHelper/LibraryBridgeHelper.h index 8cb0ca102b0..598e473f07b 100644 --- a/src/BridgeHelper/LibraryBridgeHelper.h +++ b/src/BridgeHelper/LibraryBridgeHelper.h @@ -6,6 +6,7 @@ #include #include #include +#include namespace DB @@ -38,13 +39,13 @@ public: bool supportsSelectiveLoad(); - Pipe loadAll(); + QueryPipeline loadAll(); - Pipe loadIds(const std::vector & ids); + QueryPipeline loadIds(const std::vector & ids); - Pipe loadKeys(const Block & requested_block); + QueryPipeline loadKeys(const Block & requested_block); - Pipe loadBase(const Poco::URI & uri, ReadWriteBufferFromHTTP::OutStreamCallback out_stream_callback = {}); + QueryPipeline loadBase(const Poco::URI & uri, ReadWriteBufferFromHTTP::OutStreamCallback out_stream_callback = {}); bool executeRequest(const Poco::URI & uri, ReadWriteBufferFromHTTP::OutStreamCallback out_stream_callback = {}) const; diff --git a/src/Client/ClientBase.cpp b/src/Client/ClientBase.cpp index 9cc31df0b43..396fd97368e 100644 --- a/src/Client/ClientBase.cpp +++ b/src/Client/ClientBase.cpp @@ -57,6 +57,10 @@ #include #include #include +#include +#include +#include +#include #include #include #include @@ -285,11 +289,11 @@ void ClientBase::setupSignalHandler() sigemptyset(&new_act.sa_mask); #else if (sigemptyset(&new_act.sa_mask)) - throw Exception(ErrorCodes::CANNOT_SET_SIGNAL_HANDLER, "Cannot set signal handler."); + throwFromErrno("Cannot set signal handler.", ErrorCodes::CANNOT_SET_SIGNAL_HANDLER); #endif if (sigaction(SIGINT, &new_act, nullptr)) - throw Exception(ErrorCodes::CANNOT_SET_SIGNAL_HANDLER, "Cannot set signal handler."); + throwFromErrno("Cannot set signal handler.", ErrorCodes::CANNOT_SET_SIGNAL_HANDLER); } @@ -492,7 +496,8 @@ try String pager = config().getString("pager", ""); if (!pager.empty()) { - signal(SIGPIPE, SIG_IGN); + if (SIG_ERR == signal(SIGPIPE, SIG_IGN)) + throwFromErrno("Cannot set signal handler.", ErrorCodes::CANNOT_SET_SIGNAL_HANDLER); ShellCommand::Config config(pager); config.pipe_stdin_only = true; @@ -945,18 +950,17 @@ void ClientBase::onProfileEvents(Block & block) progress_indication.addThreadIdToList(host_name, thread_id); auto event_name = names.getDataAt(i); auto value = array_values[i]; + + /// Ignore negative time delta or memory usage just in case. + if (value < 0) + continue; + if (event_name == user_time_name) - { thread_times[host_name][thread_id].user_ms = value; - } else if (event_name == system_time_name) - { thread_times[host_name][thread_id].system_ms = value; - } else if (event_name == MemoryTracker::USAGE_EVENT_NAME) - { thread_times[host_name][thread_id].memory_usage = value; - } } auto elapsed_time = profile_events.watch.elapsedMicroseconds(); progress_indication.updateThreadEventData(thread_times, elapsed_time); @@ -1121,7 +1125,7 @@ void ClientBase::sendData(Block & sample, const ColumnsDescription & columns_des if (need_render_progress && have_data_in_stdin) { /// Set total_bytes_to_read for current fd. - FileProgress file_progress(0, std_in.size()); + FileProgress file_progress(0, std_in.getFileSize()); progress_indication.updateProgress(Progress(file_progress)); /// Set callback to be called on file progress. @@ -1165,16 +1169,26 @@ void ClientBase::sendData(Block & sample, const ColumnsDescription & columns_des try { auto metadata = storage->getInMemoryMetadataPtr(); + QueryPlan plan; + storage->read( + plan, + sample.getNames(), + storage->getStorageSnapshot(metadata, global_context), + query_info, + global_context, + {}, + global_context->getSettingsRef().max_block_size, + getNumberOfPhysicalCPUCores()); + + auto builder = plan.buildQueryPipeline( + QueryPlanOptimizationSettings::fromContext(global_context), + BuildQueryPipelineSettings::fromContext(global_context)); + + QueryPlanResourceHolder resources; + auto pipe = QueryPipelineBuilder::getPipe(std::move(*builder), resources); + sendDataFromPipe( - storage->read( - sample.getNames(), - storage->getStorageSnapshot(metadata, global_context), - query_info, - global_context, - {}, - global_context->getSettingsRef().max_block_size, - getNumberOfPhysicalCPUCores() - ), + std::move(pipe), parsed_query, have_data_in_stdin ); @@ -1261,7 +1275,7 @@ try } /// Check if server send Log packet - receiveLogs(parsed_query); + receiveLogsAndProfileEvents(parsed_query); /// Check if server send Exception packet auto packet_type = connection->checkPacket(0); @@ -1314,11 +1328,11 @@ void ClientBase::sendDataFromStdin(Block & sample, const ColumnsDescription & co /// Process Log packets, used when inserting data by blocks -void ClientBase::receiveLogs(ASTPtr parsed_query) +void ClientBase::receiveLogsAndProfileEvents(ASTPtr parsed_query) { auto packet_type = connection->checkPacket(0); - while (packet_type && *packet_type == Protocol::Server::Log) + while (packet_type && (*packet_type == Protocol::Server::Log || *packet_type == Protocol::Server::ProfileEvents)) { receiveAndProcessPacket(parsed_query, false); packet_type = connection->checkPacket(0); diff --git a/src/Client/ClientBase.h b/src/Client/ClientBase.h index d11977e984a..d34fe282839 100644 --- a/src/Client/ClientBase.h +++ b/src/Client/ClientBase.h @@ -117,7 +117,7 @@ protected: private: void receiveResult(ASTPtr parsed_query); bool receiveAndProcessPacket(ASTPtr parsed_query, bool cancelled_); - void receiveLogs(ASTPtr parsed_query); + void receiveLogsAndProfileEvents(ASTPtr parsed_query); bool receiveSampleBlock(Block & out, ColumnsDescription & columns_description, ASTPtr parsed_query); bool receiveEndOfQuery(); void cancelQuery(); diff --git a/src/Client/Connection.cpp b/src/Client/Connection.cpp index 50413b45c6b..df37d1c98a4 100644 --- a/src/Client/Connection.cpp +++ b/src/Client/Connection.cpp @@ -397,8 +397,6 @@ void Connection::sendClusterNameAndSalt() bool Connection::ping() { - // LOG_TRACE(log_wrapper.get(), "Ping"); - try { TimeoutSetter timeout_setter(*socket, sync_request_timeout, true); @@ -768,8 +766,7 @@ void Connection::sendExternalTablesData(ExternalTablesData & data) if (!elem->pipe) elem->pipe = elem->creating_pipe_callback(); - QueryPipelineBuilder pipeline; - pipeline.init(std::move(*elem->pipe)); + QueryPipelineBuilder pipeline = std::move(*elem->pipe); elem->pipe.reset(); pipeline.resize(1); auto sink = std::make_shared(pipeline.getHeader(), *this, *elem, std::move(on_cancel)); @@ -841,7 +838,6 @@ std::optional Connection::checkPacket(size_t timeout_microseconds) if (hasReadPendingData() || poll(timeout_microseconds)) { - // LOG_TRACE(log_wrapper.get(), "Receiving packet type"); UInt64 packet_type; readVarUInt(packet_type, *in); diff --git a/src/Client/ConnectionPool.cpp b/src/Client/ConnectionPool.cpp index c5f398c899f..4ec87127318 100644 --- a/src/Client/ConnectionPool.cpp +++ b/src/Client/ConnectionPool.cpp @@ -22,7 +22,7 @@ ConnectionPoolPtr ConnectionPoolFactory::get( Key key{ max_connections, host, port, default_database, user, password, cluster, cluster_secret, client_name, compression, secure, priority}; - std::unique_lock lock(mutex); + std::lock_guard lock(mutex); auto [it, inserted] = pools.emplace(key, ConnectionPoolPtr{}); if (!inserted) if (auto res = it->second.lock()) diff --git a/src/Client/ConnectionPool.h b/src/Client/ConnectionPool.h index ec1233df1b5..d1ee844358b 100644 --- a/src/Client/ConnectionPool.h +++ b/src/Client/ConnectionPool.h @@ -4,6 +4,7 @@ #include #include #include +#include namespace DB { @@ -179,7 +180,7 @@ public: private: mutable std::mutex mutex; using ConnectionPoolWeakPtr = std::weak_ptr; - std::unordered_map pools; + std::unordered_map pools TSA_GUARDED_BY(mutex); }; inline bool operator==(const ConnectionPoolFactory::Key & lhs, const ConnectionPoolFactory::Key & rhs) diff --git a/src/Client/ConnectionPoolWithFailover.cpp b/src/Client/ConnectionPoolWithFailover.cpp index 13d39980e1c..f2a07b64432 100644 --- a/src/Client/ConnectionPoolWithFailover.cpp +++ b/src/Client/ConnectionPoolWithFailover.cpp @@ -20,6 +20,7 @@ namespace DB namespace ErrorCodes { extern const int LOGICAL_ERROR; + extern const int ALL_CONNECTION_TRIES_FAILED; } @@ -45,6 +46,9 @@ IConnectionPool::Entry ConnectionPoolWithFailover::get(const ConnectionTimeouts const Settings * settings, bool /*force_connected*/) { + if (nested_pools.empty()) + throw DB::Exception(DB::ErrorCodes::ALL_CONNECTION_TRIES_FAILED, "Cannot get connection from ConnectionPoolWithFailover cause nested pools are empty"); + TryGetEntryFunc try_get_entry = [&](NestedPool & pool, std::string & fail_message) { return tryGetEntry(pool, timeouts, fail_message, settings); @@ -167,6 +171,9 @@ std::vector ConnectionPoolWithFailover::g PoolMode pool_mode, const TryGetEntryFunc & try_get_entry) { + if (nested_pools.empty()) + throw DB::Exception(DB::ErrorCodes::ALL_CONNECTION_TRIES_FAILED, "Cannot get connection from ConnectionPoolWithFailover cause nested pools are empty"); + size_t min_entries = (settings && settings->skip_unavailable_shards) ? 0 : 1; size_t max_tries = (settings ? size_t{settings->connections_with_failover_max_tries} : diff --git a/src/Client/IServerConnection.h b/src/Client/IServerConnection.h index dfa4873e426..542aecb9849 100644 --- a/src/Client/IServerConnection.h +++ b/src/Client/IServerConnection.h @@ -44,9 +44,9 @@ struct Packet struct ExternalTableData { /// Pipe of data form table; - std::unique_ptr pipe; + std::unique_ptr pipe; std::string table_name; - std::function()> creating_pipe_callback; + std::function()> creating_pipe_callback; /// Flag if need to stop reading. std::atomic_bool is_cancelled = false; }; diff --git a/src/Client/LocalConnection.cpp b/src/Client/LocalConnection.cpp index 0707b0bcdc0..425e54fb392 100644 --- a/src/Client/LocalConnection.cpp +++ b/src/Client/LocalConnection.cpp @@ -18,6 +18,7 @@ namespace ErrorCodes extern const int UNKNOWN_PACKET_FROM_SERVER; extern const int UNKNOWN_EXCEPTION; extern const int NOT_IMPLEMENTED; + extern const int LOGICAL_ERROR; } LocalConnection::LocalConnection(ContextPtr context_, bool send_progress_, bool send_profile_events_, const String & server_display_name_) @@ -62,9 +63,13 @@ void LocalConnection::updateProgress(const Progress & value) state->progress.incrementPiecewiseAtomically(value); } -void LocalConnection::getProfileEvents(Block & block) +void LocalConnection::sendProfileEvents() { - ProfileEvents::getProfileEvents(server_display_name, state->profile_queue, block, last_sent_snapshots); + Block profile_block; + state->after_send_profile_events.restart(); + next_packet_type = Protocol::Server::ProfileEvents; + ProfileEvents::getProfileEvents(server_display_name, state->profile_queue, profile_block, last_sent_snapshots); + state->block.emplace(std::move(profile_block)); } void LocalConnection::sendQuery( @@ -192,13 +197,14 @@ void LocalConnection::sendData(const Block & block, const String &, bool) return; if (state->pushing_async_executor) - { state->pushing_async_executor->push(block); - } else if (state->pushing_executor) - { state->pushing_executor->push(block); - } + else + throw Exception("Unknown executor", ErrorCodes::LOGICAL_ERROR); + + if (send_profile_events) + sendProfileEvents(); } void LocalConnection::sendCancel() @@ -264,11 +270,7 @@ bool LocalConnection::poll(size_t) if (send_profile_events && (state->after_send_profile_events.elapsedMicroseconds() >= query_context->getSettingsRef().interactive_delay)) { - Block block; - state->after_send_profile_events.restart(); - next_packet_type = Protocol::Server::ProfileEvents; - getProfileEvents(block); - state->block.emplace(std::move(block)); + sendProfileEvents(); return true; } @@ -349,11 +351,7 @@ bool LocalConnection::poll(size_t) if (send_profile_events && state->executor) { - Block block; - state->after_send_profile_events.restart(); - next_packet_type = Protocol::Server::ProfileEvents; - getProfileEvents(block); - state->block.emplace(std::move(block)); + sendProfileEvents(); return true; } } diff --git a/src/Client/LocalConnection.h b/src/Client/LocalConnection.h index 1ad6ad73238..1ebe4a1d901 100644 --- a/src/Client/LocalConnection.h +++ b/src/Client/LocalConnection.h @@ -142,7 +142,7 @@ private: void updateProgress(const Progress & value); - void getProfileEvents(Block & block); + void sendProfileEvents(); bool pollImpl(); diff --git a/src/Columns/ColumnFunction.cpp b/src/Columns/ColumnFunction.cpp index 6350d7b0e61..2274762a9f5 100644 --- a/src/Columns/ColumnFunction.cpp +++ b/src/Columns/ColumnFunction.cpp @@ -250,9 +250,12 @@ ColumnWithTypeAndName ColumnFunction::reduce() const "arguments but " + toString(captured) + " columns were captured.", ErrorCodes::LOGICAL_ERROR); ColumnsWithTypeAndName columns = captured_columns; - if (is_short_circuit_argument) + IFunction::ShortCircuitSettings settings; + /// Arguments of lazy executed function can also be lazy executed. + /// But we shouldn't execute arguments if this function is short circuit, + /// because it will handle lazy executed arguments by itself. + if (is_short_circuit_argument && !function->isShortCircuit(settings, args)) { - /// Arguments of lazy executed function can also be lazy executed. for (auto & col : columns) { if (const ColumnFunction * arg = checkAndGetShortCircuitArgument(col.column)) diff --git a/src/Columns/ColumnObject.cpp b/src/Columns/ColumnObject.cpp index 0913f6b8da9..b52a5aab256 100644 --- a/src/Columns/ColumnObject.cpp +++ b/src/Columns/ColumnObject.cpp @@ -22,8 +22,8 @@ namespace ErrorCodes extern const int ILLEGAL_COLUMN; extern const int DUPLICATE_COLUMN; extern const int NUMBER_OF_DIMENSIONS_MISMATHED; - extern const int NOT_IMPLEMENTED; extern const int SIZES_OF_COLUMNS_DOESNT_MATCH; + extern const int ARGUMENT_OUT_OF_BOUND; } namespace @@ -138,7 +138,7 @@ public: type_indexes.insert(TypeToTypeIndex>); } - DataTypePtr getScalarType() const { return getLeastSupertype(type_indexes, true); } + DataTypePtr getScalarType() const { return getLeastSupertypeOrString(type_indexes); } bool haveNulls() const { return have_nulls; } bool needConvertField() const { return field_types.size() > 1; } @@ -167,6 +167,7 @@ FieldInfo getFieldInfo(const Field & field) ColumnObject::Subcolumn::Subcolumn(MutableColumnPtr && data_, bool is_nullable_) : least_common_type(getDataTypeByColumn(*data_)) , is_nullable(is_nullable_) + , num_rows(data_->size()) { data.push_back(std::move(data_)); } @@ -176,18 +177,16 @@ ColumnObject::Subcolumn::Subcolumn( : least_common_type(std::make_shared()) , is_nullable(is_nullable_) , num_of_defaults_in_prefix(size_) + , num_rows(size_) { } -size_t ColumnObject::Subcolumn::Subcolumn::size() const +size_t ColumnObject::Subcolumn::size() const { - size_t res = num_of_defaults_in_prefix; - for (const auto & part : data) - res += part->size(); - return res; + return num_rows; } -size_t ColumnObject::Subcolumn::Subcolumn::byteSize() const +size_t ColumnObject::Subcolumn::byteSize() const { size_t res = 0; for (const auto & part : data) @@ -195,7 +194,7 @@ size_t ColumnObject::Subcolumn::Subcolumn::byteSize() const return res; } -size_t ColumnObject::Subcolumn::Subcolumn::allocatedBytes() const +size_t ColumnObject::Subcolumn::allocatedBytes() const { size_t res = 0; for (const auto & part : data) @@ -203,6 +202,37 @@ size_t ColumnObject::Subcolumn::Subcolumn::allocatedBytes() const return res; } +void ColumnObject::Subcolumn::get(size_t n, Field & res) const +{ + if (isFinalized()) + { + getFinalizedColumn().get(n, res); + return; + } + + size_t ind = n; + if (ind < num_of_defaults_in_prefix) + { + res = least_common_type.get()->getDefault(); + return; + } + + ind -= num_of_defaults_in_prefix; + for (const auto & part : data) + { + if (ind < part->size()) + { + part->get(ind, res); + res = convertFieldToTypeOrThrow(res, *least_common_type.get()); + return; + } + + ind -= part->size(); + } + + throw Exception(ErrorCodes::ARGUMENT_OUT_OF_BOUND, "Index ({}) for getting field is out of range", n); +} + void ColumnObject::Subcolumn::checkTypes() const { DataTypes prefix_types; @@ -221,7 +251,7 @@ void ColumnObject::Subcolumn::checkTypes() const void ColumnObject::Subcolumn::insert(Field field) { - auto info = getFieldInfo(field); + auto info = DB::getFieldInfo(field); insert(std::move(field), std::move(info)); } @@ -244,8 +274,8 @@ static bool isConversionRequiredBetweenIntegers(const IDataType & lhs, const IDa bool is_native_int = which_lhs.isNativeInt() && which_rhs.isNativeInt(); bool is_native_uint = which_lhs.isNativeUInt() && which_rhs.isNativeUInt(); - return (is_native_int || is_native_uint) - && lhs.getSizeOfValueInMemory() <= rhs.getSizeOfValueInMemory(); + return (!is_native_int && !is_native_uint) + || lhs.getSizeOfValueInMemory() > rhs.getSizeOfValueInMemory(); } void ColumnObject::Subcolumn::insert(Field field, FieldInfo info) @@ -288,9 +318,9 @@ void ColumnObject::Subcolumn::insert(Field field, FieldInfo info) } else if (!least_common_base_type->equals(*base_type) && !isNothing(base_type)) { - if (!isConversionRequiredBetweenIntegers(*base_type, *least_common_base_type)) + if (isConversionRequiredBetweenIntegers(*base_type, *least_common_base_type)) { - base_type = getLeastSupertype(DataTypes{std::move(base_type), least_common_base_type}, true); + base_type = getLeastSupertypeOrString(DataTypes{std::move(base_type), least_common_base_type}); type_changed = true; if (!least_common_base_type->equals(*base_type)) addNewColumnPart(createArrayOfType(std::move(base_type), value_dim)); @@ -301,39 +331,102 @@ void ColumnObject::Subcolumn::insert(Field field, FieldInfo info) field = convertFieldToTypeOrThrow(field, *least_common_type.get()); data.back()->insert(field); + ++num_rows; } void ColumnObject::Subcolumn::insertRangeFrom(const Subcolumn & src, size_t start, size_t length) { - assert(src.isFinalized()); - const auto & src_column = src.data.back(); - const auto & src_type = src.least_common_type.get(); + assert(start + length <= src.size()); + size_t end = start + length; + num_rows += length; if (data.empty()) { - addNewColumnPart(src.least_common_type.get()); - data.back()->insertRangeFrom(*src_column, start, length); + addNewColumnPart(src.getLeastCommonType()); } - else if (least_common_type.get()->equals(*src_type)) + else if (!least_common_type.get()->equals(*src.getLeastCommonType())) { - data.back()->insertRangeFrom(*src_column, start, length); - } - else - { - auto new_least_common_type = getLeastSupertype(DataTypes{least_common_type.get(), src_type}, true); - auto casted_column = castColumn({src_column, src_type, ""}, new_least_common_type); - - if (!least_common_type.get()->equals(*new_least_common_type)) + auto new_least_common_type = getLeastSupertypeOrString(DataTypes{least_common_type.get(), src.getLeastCommonType()}); + if (!new_least_common_type->equals(*least_common_type.get())) addNewColumnPart(std::move(new_least_common_type)); + } - data.back()->insertRangeFrom(*casted_column, start, length); + if (end <= src.num_of_defaults_in_prefix) + { + data.back()->insertManyDefaults(length); + return; + } + + if (start < src.num_of_defaults_in_prefix) + data.back()->insertManyDefaults(src.num_of_defaults_in_prefix - start); + + auto insert_from_part = [&](const auto & column, size_t from, size_t n) + { + assert(from + n <= column->size()); + auto column_type = getDataTypeByColumn(*column); + + if (column_type->equals(*least_common_type.get())) + { + data.back()->insertRangeFrom(*column, from, n); + return; + } + + /// If we need to insert large range, there is no sense to cut part of column and cast it. + /// Casting of all column and inserting from it can be faster. + /// Threshold is just a guess. + + if (n * 3 >= column->size()) + { + auto casted_column = castColumn({column, column_type, ""}, least_common_type.get()); + data.back()->insertRangeFrom(*casted_column, from, n); + return; + } + + auto casted_column = column->cut(from, n); + casted_column = castColumn({casted_column, column_type, ""}, least_common_type.get()); + data.back()->insertRangeFrom(*casted_column, 0, n); + }; + + size_t pos = 0; + size_t processed_rows = src.num_of_defaults_in_prefix; + + /// Find the first part of the column that intersects the range. + while (pos < src.data.size() && processed_rows + src.data[pos]->size() < start) + { + processed_rows += src.data[pos]->size(); + ++pos; + } + + /// Insert from the first part of column. + if (pos < src.data.size() && processed_rows < start) + { + size_t part_start = start - processed_rows; + size_t part_length = std::min(src.data[pos]->size() - part_start, end - start); + insert_from_part(src.data[pos], part_start, part_length); + processed_rows += src.data[pos]->size(); + ++pos; + } + + /// Insert from the parts of column in the middle of range. + while (pos < src.data.size() && processed_rows + src.data[pos]->size() < end) + { + insert_from_part(src.data[pos], 0, src.data[pos]->size()); + processed_rows += src.data[pos]->size(); + ++pos; + } + + /// Insert from the last part of column if needed. + if (pos < src.data.size() && processed_rows < end) + { + size_t part_end = end - processed_rows; + insert_from_part(src.data[pos], 0, part_end); } } bool ColumnObject::Subcolumn::isFinalized() const { - return data.empty() || - (data.size() == 1 && !data[0]->isSparse() && num_of_defaults_in_prefix == 0); + return num_of_defaults_in_prefix == 0 && + (data.empty() || (data.size() == 1 && !data[0]->isSparse())); } void ColumnObject::Subcolumn::finalize() @@ -395,6 +488,8 @@ void ColumnObject::Subcolumn::insertDefault() ++num_of_defaults_in_prefix; else data.back()->insertDefault(); + + ++num_rows; } void ColumnObject::Subcolumn::insertManyDefaults(size_t length) @@ -403,12 +498,15 @@ void ColumnObject::Subcolumn::insertManyDefaults(size_t length) num_of_defaults_in_prefix += length; else data.back()->insertManyDefaults(length); + + num_rows += length; } void ColumnObject::Subcolumn::popBack(size_t n) { assert(n <= size()); + num_rows -= n; size_t num_removed = 0; for (auto it = data.rbegin(); it != data.rend(); ++it) { @@ -432,6 +530,13 @@ void ColumnObject::Subcolumn::popBack(size_t n) num_of_defaults_in_prefix -= n; } +ColumnObject::Subcolumn ColumnObject::Subcolumn::cut(size_t start, size_t length) const +{ + Subcolumn new_subcolumn(0, is_nullable); + new_subcolumn.insertRangeFrom(*this, start, length); + return new_subcolumn; +} + Field ColumnObject::Subcolumn::getLastField() const { if (data.empty()) @@ -442,21 +547,29 @@ Field ColumnObject::Subcolumn::getLastField() const return (*last_part)[last_part->size() - 1]; } +FieldInfo ColumnObject::Subcolumn::getFieldInfo() const +{ + const auto & base_type = least_common_type.getBase(); + return FieldInfo + { + .scalar_type = base_type, + .have_nulls = base_type->isNullable(), + .need_convert = false, + .num_dimensions = least_common_type.getNumberOfDimensions(), + }; +} + ColumnObject::Subcolumn ColumnObject::Subcolumn::recreateWithDefaultValues(const FieldInfo & field_info) const { auto scalar_type = field_info.scalar_type; if (is_nullable) scalar_type = makeNullable(scalar_type); - Subcolumn new_subcolumn; + Subcolumn new_subcolumn(*this); new_subcolumn.least_common_type = LeastCommonType{createArrayOfType(scalar_type, field_info.num_dimensions)}; - new_subcolumn.is_nullable = is_nullable; - new_subcolumn.num_of_defaults_in_prefix = num_of_defaults_in_prefix; - new_subcolumn.data.reserve(data.size()); - for (const auto & part : data) - new_subcolumn.data.push_back(recreateColumnWithDefaultValues( - part, scalar_type, field_info.num_dimensions)); + for (auto & part : new_subcolumn.data) + part = recreateColumnWithDefaultValues(part, scalar_type, field_info.num_dimensions); return new_subcolumn; } @@ -479,6 +592,13 @@ const ColumnPtr & ColumnObject::Subcolumn::getFinalizedColumnPtr() const return data[0]; } +ColumnObject::Subcolumn::LeastCommonType::LeastCommonType() + : type(std::make_shared()) + , base_type(type) + , num_dimensions(0) +{ +} + ColumnObject::Subcolumn::LeastCommonType::LeastCommonType(DataTypePtr type_) : type(std::move(type_)) , base_type(getBaseTypeOfArray(type)) @@ -525,16 +645,6 @@ size_t ColumnObject::size() const return num_rows; } -MutableColumnPtr ColumnObject::cloneResized(size_t new_size) const -{ - /// cloneResized with new_size == 0 is used for cloneEmpty(). - if (new_size != 0) - throw Exception(ErrorCodes::NOT_IMPLEMENTED, - "ColumnObject doesn't support resize to non-zero length"); - - return ColumnObject::create(is_nullable); -} - size_t ColumnObject::byteSize() const { size_t res = 0; @@ -553,23 +663,21 @@ size_t ColumnObject::allocatedBytes() const void ColumnObject::forEachSubcolumn(ColumnCallback callback) { - if (!isFinalized()) - throw Exception(ErrorCodes::LOGICAL_ERROR, "Cannot iterate over non-finalized ColumnObject"); - for (auto & entry : subcolumns) - callback(entry->data.data.back()); + for (auto & part : entry->data.data) + callback(part); } void ColumnObject::insert(const Field & field) { const auto & object = field.get(); - HashSet inserted; + HashSet inserted_paths; size_t old_size = size(); for (const auto & [key_str, value] : object) { PathInData key(key_str); - inserted.insert(key_str); + inserted_paths.insert(key_str); if (!hasSubcolumn(key)) addSubcolumn(key, old_size); @@ -578,8 +686,14 @@ void ColumnObject::insert(const Field & field) } for (auto & entry : subcolumns) - if (!inserted.has(entry->path.getPath())) - entry->data.insertDefault(); + { + if (!inserted_paths.has(entry->path.getPath())) + { + bool inserted = tryInsertDefaultFromNested(entry); + if (!inserted) + entry->data.insertDefault(); + } + } ++num_rows; } @@ -594,26 +708,21 @@ void ColumnObject::insertDefault() Field ColumnObject::operator[](size_t n) const { - if (!isFinalized()) - throw Exception(ErrorCodes::LOGICAL_ERROR, "Cannot get Field from non-finalized ColumnObject"); - - Object object; - for (const auto & entry : subcolumns) - object[entry->path.getPath()] = (*entry->data.data.back())[n]; - + Field object; + get(n, object); return object; } void ColumnObject::get(size_t n, Field & res) const { - if (!isFinalized()) - throw Exception(ErrorCodes::LOGICAL_ERROR, "Cannot get Field from non-finalized ColumnObject"); + assert(n < size()); + res = Object(); auto & object = res.get(); for (const auto & entry : subcolumns) { auto it = object.try_emplace(entry->path.getPath()).first; - entry->data.data.back()->get(n, it->second); + entry->data.get(n, it->second); } } @@ -626,41 +735,28 @@ void ColumnObject::insertFrom(const IColumn & src, size_t n) void ColumnObject::insertRangeFrom(const IColumn & src, size_t start, size_t length) { const auto & src_object = assert_cast(src); - if (!src_object.isFinalized()) - throw Exception(ErrorCodes::LOGICAL_ERROR, "Cannot insertRangeFrom non-finalized ColumnObject"); - - for (auto & entry : subcolumns) - { - if (src_object.hasSubcolumn(entry->path)) - entry->data.insertRangeFrom(src_object.getSubcolumn(entry->path), start, length); - else - entry->data.insertManyDefaults(length); - } for (const auto & entry : src_object.subcolumns) { if (!hasSubcolumn(entry->path)) { if (entry->path.hasNested()) - { - const auto & base_type = entry->data.getLeastCommonTypeBase(); - FieldInfo field_info - { - .scalar_type = base_type, - .have_nulls = base_type->isNullable(), - .need_convert = false, - .num_dimensions = entry->data.getNumberOfDimensions(), - }; - - addNestedSubcolumn(entry->path, field_info, num_rows); - } + addNestedSubcolumn(entry->path, entry->data.getFieldInfo(), num_rows); else - { addSubcolumn(entry->path, num_rows); - } + } - auto & subcolumn = getSubcolumn(entry->path); - subcolumn.insertRangeFrom(entry->data, start, length); + auto & subcolumn = getSubcolumn(entry->path); + subcolumn.insertRangeFrom(entry->data, start, length); + } + + for (auto & entry : subcolumns) + { + if (!src_object.hasSubcolumn(entry->path)) + { + bool inserted = tryInsertManyDefaultsFromNested(entry); + if (!inserted) + entry->data.insertManyDefaults(length); } } @@ -668,21 +764,6 @@ void ColumnObject::insertRangeFrom(const IColumn & src, size_t start, size_t len finalize(); } -ColumnPtr ColumnObject::replicate(const Offsets & offsets) const -{ - if (!isFinalized()) - throw Exception(ErrorCodes::LOGICAL_ERROR, "Cannot replicate non-finalized ColumnObject"); - - auto res_column = ColumnObject::create(is_nullable); - for (const auto & entry : subcolumns) - { - auto replicated_data = entry->data.data.back()->replicate(offsets)->assumeMutable(); - res_column->addSubcolumn(entry->path, std::move(replicated_data)); - } - - return res_column; -} - void ColumnObject::popBack(size_t length) { for (auto & entry : subcolumns) @@ -692,10 +773,15 @@ void ColumnObject::popBack(size_t length) } template -ColumnPtr ColumnObject::applyForSubcolumns(Func && func, std::string_view func_name) const +MutableColumnPtr ColumnObject::applyForSubcolumns(Func && func) const { if (!isFinalized()) - throw Exception(ErrorCodes::LOGICAL_ERROR, "Cannot {} non-finalized ColumnObject", func_name); + { + auto finalized = IColumn::mutate(getPtr()); + auto & finalized_object = assert_cast(*finalized); + finalized_object.finalize(); + return finalized_object.applyForSubcolumns(std::forward(func)); + } auto res = ColumnObject::create(is_nullable); for (const auto & subcolumn : subcolumns) @@ -703,22 +789,36 @@ ColumnPtr ColumnObject::applyForSubcolumns(Func && func, std::string_view func_n auto new_subcolumn = func(subcolumn->data.getFinalizedColumn()); res->addSubcolumn(subcolumn->path, new_subcolumn->assumeMutable()); } + return res; } ColumnPtr ColumnObject::permute(const Permutation & perm, size_t limit) const { - return applyForSubcolumns([&](const auto & subcolumn) { return subcolumn.permute(perm, limit); }, "permute"); + return applyForSubcolumns([&](const auto & subcolumn) { return subcolumn.permute(perm, limit); }); } ColumnPtr ColumnObject::filter(const Filter & filter, ssize_t result_size_hint) const { - return applyForSubcolumns([&](const auto & subcolumn) { return subcolumn.filter(filter, result_size_hint); }, "filter"); + return applyForSubcolumns([&](const auto & subcolumn) { return subcolumn.filter(filter, result_size_hint); }); } ColumnPtr ColumnObject::index(const IColumn & indexes, size_t limit) const { - return applyForSubcolumns([&](const auto & subcolumn) { return subcolumn.index(indexes, limit); }, "index"); + return applyForSubcolumns([&](const auto & subcolumn) { return subcolumn.index(indexes, limit); }); +} + +ColumnPtr ColumnObject::replicate(const Offsets & offsets) const +{ + return applyForSubcolumns([&](const auto & subcolumn) { return subcolumn.replicate(offsets); }); +} + +MutableColumnPtr ColumnObject::cloneResized(size_t new_size) const +{ + if (new_size == 0) + return ColumnObject::create(is_nullable); + + return applyForSubcolumns([&](const auto & subcolumn) { return subcolumn.cloneResized(new_size); }); } const ColumnObject::Subcolumn & ColumnObject::getSubcolumn(const PathInData & key) const @@ -810,6 +910,92 @@ void ColumnObject::addNestedSubcolumn(const PathInData & key, const FieldInfo & if (num_rows == 0) num_rows = new_size; + else if (new_size != num_rows) + throw Exception(ErrorCodes::SIZES_OF_COLUMNS_DOESNT_MATCH, + "Required size of subcolumn {} ({}) is inconsistent with column size ({})", + key.getPath(), new_size, num_rows); +} + +const ColumnObject::Subcolumns::Node * ColumnObject::getLeafOfTheSameNested(const Subcolumns::NodePtr & entry) const +{ + if (!entry->path.hasNested()) + return nullptr; + + size_t old_size = entry->data.size(); + const auto * current_node = subcolumns.findLeaf(entry->path); + const Subcolumns::Node * leaf = nullptr; + + while (current_node) + { + /// Try to find the first Nested up to the current node. + const auto * node_nested = subcolumns.findParent(current_node, + [](const auto & candidate) { return candidate.isNested(); }); + + if (!node_nested) + break; + + /// Find the leaf with subcolumn that contains values + /// for the last rows. + /// If there are no leaves, skip current node and find + /// the next node up to the current. + leaf = subcolumns.findLeaf(node_nested, + [&](const auto & candidate) + { + return candidate.data.size() > old_size; + }); + + if (leaf) + break; + + current_node = node_nested->parent; + } + + if (leaf && isNothing(leaf->data.getLeastCommonTypeBase())) + return nullptr; + + return leaf; +} + +bool ColumnObject::tryInsertManyDefaultsFromNested(const Subcolumns::NodePtr & entry) const +{ + const auto * leaf = getLeafOfTheSameNested(entry); + if (!leaf) + return false; + + size_t old_size = entry->data.size(); + auto field_info = entry->data.getFieldInfo(); + + /// Cut the needed range from the found leaf + /// and replace scalar values to the correct + /// default values for given entry. + auto new_subcolumn = leaf->data + .cut(old_size, leaf->data.size() - old_size) + .recreateWithDefaultValues(field_info); + + entry->data.insertRangeFrom(new_subcolumn, 0, new_subcolumn.size()); + return true; +} + +bool ColumnObject::tryInsertDefaultFromNested(const Subcolumns::NodePtr & entry) const +{ + const auto * leaf = getLeafOfTheSameNested(entry); + if (!leaf) + return false; + + auto last_field = leaf->data.getLastField(); + if (last_field.isNull()) + return false; + + size_t leaf_num_dimensions = leaf->data.getNumberOfDimensions(); + size_t entry_num_dimensions = entry->data.getNumberOfDimensions(); + + auto default_scalar = entry_num_dimensions > leaf_num_dimensions + ? createEmptyArrayField(entry_num_dimensions - leaf_num_dimensions) + : entry->data.getLeastCommonTypeBase()->getDefault(); + + auto default_field = applyVisitor(FieldVisitorReplaceScalars(default_scalar, leaf_num_dimensions), last_field); + entry->data.insert(std::move(default_field)); + return true; } PathsInData ColumnObject::getKeys() const @@ -835,7 +1021,7 @@ void ColumnObject::finalize() { const auto & least_common_type = entry->data.getLeastCommonType(); - /// Do not add subcolumns, which consists only from NULLs. + /// Do not add subcolumns, which consist only from NULLs. if (isNothing(getBaseTypeOfArray(least_common_type))) continue; diff --git a/src/Columns/ColumnObject.h b/src/Columns/ColumnObject.h index 73fc738cb8d..4dc5bb5ce24 100644 --- a/src/Columns/ColumnObject.h +++ b/src/Columns/ColumnObject.h @@ -65,6 +65,7 @@ public: size_t size() const; size_t byteSize() const; size_t allocatedBytes() const; + void get(size_t n, Field & res) const; bool isFinalized() const; const DataTypePtr & getLeastCommonType() const { return least_common_type.get(); } @@ -84,6 +85,8 @@ public: void insertRangeFrom(const Subcolumn & src, size_t start, size_t length); void popBack(size_t n); + Subcolumn cut(size_t start, size_t length) const; + /// Converts all column's parts to the common type and /// creates a single column that stores all values. void finalize(); @@ -91,6 +94,8 @@ public: /// Returns last inserted field. Field getLastField() const; + FieldInfo getFieldInfo() const; + /// Recreates subcolumn with default scalar values and keeps sizes of arrays. /// Used to create columns of type Nested with consistent array sizes. Subcolumn recreateWithDefaultValues(const FieldInfo & field_info) const; @@ -101,13 +106,16 @@ public: const IColumn & getFinalizedColumn() const; const ColumnPtr & getFinalizedColumnPtr() const; + const std::vector & getData() const { return data; } + size_t getNumberOfDefaultsInPrefix() const { return num_of_defaults_in_prefix; } + friend class ColumnObject; private: class LeastCommonType { public: - LeastCommonType() = default; + LeastCommonType(); explicit LeastCommonType(DataTypePtr type_); const DataTypePtr & get() const { return type; } @@ -138,6 +146,8 @@ public: /// least common type and we count number of defaults in prefix, /// which will be converted to the default type of final common type. size_t num_of_defaults_in_prefix = 0; + + size_t num_rows = 0; }; using Subcolumns = SubcolumnsTree; @@ -175,6 +185,11 @@ public: /// It cares about consistency of sizes of Nested arrays. void addNestedSubcolumn(const PathInData & key, const FieldInfo & field_info, size_t new_size); + /// Finds a subcolumn from the same Nested type as @entry and inserts + /// an array with default values with consistent sizes as in Nested type. + bool tryInsertDefaultFromNested(const Subcolumns::NodePtr & entry) const; + bool tryInsertManyDefaultsFromNested(const Subcolumns::NodePtr & entry) const; + const Subcolumns & getSubcolumns() const { return subcolumns; } Subcolumns & getSubcolumns() { return subcolumns; } PathsInData getKeys() const; @@ -189,7 +204,6 @@ public: TypeIndex getDataType() const override { return TypeIndex::Object; } size_t size() const override; - MutableColumnPtr cloneResized(size_t new_size) const override; size_t byteSize() const override; size_t allocatedBytes() const override; void forEachSubcolumn(ColumnCallback callback) override; @@ -197,13 +211,14 @@ public: void insertDefault() override; void insertFrom(const IColumn & src, size_t n) override; void insertRangeFrom(const IColumn & src, size_t start, size_t length) override; - ColumnPtr replicate(const Offsets & offsets) const override; void popBack(size_t length) override; Field operator[](size_t n) const override; void get(size_t n, Field & res) const override; ColumnPtr permute(const Permutation & perm, size_t limit) const override; ColumnPtr filter(const Filter & filter, ssize_t result_size_hint) const override; ColumnPtr index(const IColumn & indexes, size_t limit) const override; + ColumnPtr replicate(const Offsets & offsets) const override; + MutableColumnPtr cloneResized(size_t new_size) const override; /// All other methods throw exception. @@ -236,7 +251,11 @@ private: } template - ColumnPtr applyForSubcolumns(Func && func, std::string_view func_name) const; + MutableColumnPtr applyForSubcolumns(Func && func) const; + + /// For given subcolumn return subcolumn from the same Nested type. + /// It's used to get shared sized of Nested to insert correct default values. + const Subcolumns::Node * getLeafOfTheSameNested(const Subcolumns::NodePtr & entry) const; }; } diff --git a/src/Columns/ColumnSparse.cpp b/src/Columns/ColumnSparse.cpp index 4273ebac0be..c6f0c753d64 100644 --- a/src/Columns/ColumnSparse.cpp +++ b/src/Columns/ColumnSparse.cpp @@ -772,6 +772,14 @@ size_t ColumnSparse::getValueIndex(size_t n) const return it - offsets_data.begin() + 1; } +ColumnSparse::Iterator ColumnSparse::getIterator(size_t n) const +{ + const auto & offsets_data = getOffsetsData(); + const auto * it = std::lower_bound(offsets_data.begin(), offsets_data.end(), n); + size_t current_offset = it - offsets_data.begin(); + return Iterator(offsets_data, _size, current_offset, n); +} + ColumnPtr recursiveRemoveSparse(const ColumnPtr & column) { if (!column) diff --git a/src/Columns/ColumnSparse.h b/src/Columns/ColumnSparse.h index aa0ab8a0cbc..04d8f6ae9b8 100644 --- a/src/Columns/ColumnSparse.h +++ b/src/Columns/ColumnSparse.h @@ -215,6 +215,7 @@ public: Iterator begin() const { return Iterator(getOffsetsData(), _size, 0, 0); } Iterator end() const { return Iterator(getOffsetsData(), _size, getOffsetsData().size(), _size); } + Iterator getIterator(size_t n) const; private: using Inserter = std::function; diff --git a/src/Columns/ColumnVector.cpp b/src/Columns/ColumnVector.cpp index 04f2efab0d7..60423e2b0fe 100644 --- a/src/Columns/ColumnVector.cpp +++ b/src/Columns/ColumnVector.cpp @@ -318,7 +318,59 @@ template void ColumnVector::updatePermutation(IColumn::PermutationSortDirection direction, IColumn::PermutationSortStability stability, size_t limit, int nan_direction_hint, IColumn::Permutation & res, EqualRanges & equal_ranges) const { - auto sort = [](auto begin, auto end, auto pred) { ::sort(begin, end, pred); }; + bool reverse = direction == IColumn::PermutationSortDirection::Descending; + bool ascending = direction == IColumn::PermutationSortDirection::Ascending; + bool sort_is_stable = stability == IColumn::PermutationSortStability::Stable; + + auto sort = [&](auto begin, auto end, auto pred) + { + /// A case for radix sort + if constexpr (is_arithmetic_v && !is_big_int_v) + { + /// TODO: LSD RadixSort is currently not stable if direction is descending, or value is floating point + bool use_radix_sort = (sort_is_stable && ascending && !std::is_floating_point_v) || !sort_is_stable; + size_t size = end - begin; + + /// Thresholds on size. Lower threshold is arbitrary. Upper threshold is chosen by the type for histogram counters. + if (size >= 256 && size <= std::numeric_limits::max() && use_radix_sort) + { + PaddedPODArray> pairs(size); + size_t index = 0; + + for (auto * it = begin; it != end; ++it) + { + pairs[index] = {data[*it], static_cast(*it)}; + ++index; + } + + RadixSort>::executeLSD(pairs.data(), size, reverse, begin); + + /// Radix sort treats all NaNs to be greater than all numbers. + /// If the user needs the opposite, we must move them accordingly. + if (std::is_floating_point_v && nan_direction_hint < 0) + { + size_t nans_to_move = 0; + + for (size_t i = 0; i < size; ++i) + { + if (isNaN(data[begin[reverse ? i : size - 1 - i]])) + ++nans_to_move; + else + break; + } + + if (nans_to_move) + { + std::rotate(begin, begin + (reverse ? nans_to_move : size - nans_to_move), end); + } + } + + return; + } + } + + ::sort(begin, end, pred); + }; auto partial_sort = [](auto begin, auto mid, auto end, auto pred) { ::partial_sort(begin, mid, end, pred); }; if (direction == IColumn::PermutationSortDirection::Ascending && stability == IColumn::PermutationSortStability::Unstable) @@ -437,10 +489,10 @@ ColumnPtr ColumnVector::filter(const IColumn::Filter & filt, ssize_t result_s const T * data_pos = data.data(); /** A slightly more optimized version. - * Based on the assumption that often pieces of consecutive values - * completely pass or do not pass the filter. - * Therefore, we will optimistically check the parts of `SIMD_BYTES` values. - */ + * Based on the assumption that often pieces of consecutive values + * completely pass or do not pass the filter. + * Therefore, we will optimistically check the parts of `SIMD_BYTES` values. + */ static constexpr size_t SIMD_BYTES = 64; const UInt8 * filt_end_aligned = filt_pos + size / SIMD_BYTES * SIMD_BYTES; @@ -525,6 +577,115 @@ ColumnPtr ColumnVector::index(const IColumn & indexes, size_t limit) const return selectIndexImpl(*this, indexes, limit); } +#ifdef __SSE2__ + +namespace +{ + /** Optimization for ColumnVector replicate using SIMD instructions. + * For such optimization it is important that data is right padded with 15 bytes. + * + * Replicate span size is offsets[i] - offsets[i - 1]. + * + * Split spans into 3 categories. + * 1. Span with 0 size. Continue iteration. + * + * 2. Span with 1 size. Update pointer from which data must be copied into result. + * Then if we see span with size 1 or greater than 1 copy data directly into result data and reset pointer. + * Example: + * Data: 1 2 3 4 + * Offsets: 1 2 3 4 + * Result data: 1 2 3 4 + * + * 3. Span with size greater than 1. Save single data element into register and copy it into result data. + * Example: + * Data: 1 2 3 4 + * Offsets: 4 4 4 4 + * Result data: 1 1 1 1 + * + * Additional handling for tail is needed if pointer from which data must be copied from span with size 1 is not null. + */ + template + requires (std::is_same_v || std::is_same_v) + void replicateSSE42Int32(const IntType * __restrict data, IntType * __restrict result_data, const IColumn::Offsets & offsets) + { + const IntType * data_copy_begin_ptr = nullptr; + size_t offsets_size = offsets.size(); + + for (size_t offset_index = 0; offset_index < offsets_size; ++offset_index) + { + size_t span = offsets[offset_index] - offsets[offset_index - 1]; + if (span == 1) + { + if (!data_copy_begin_ptr) + data_copy_begin_ptr = data + offset_index; + + continue; + } + + /// Copy data + + if (data_copy_begin_ptr) + { + size_t copy_size = (data + offset_index) - data_copy_begin_ptr; + bool remainder = copy_size % 4; + size_t sse_copy_counter = (copy_size / 4) + remainder; + auto * result_data_copy = result_data; + + while (sse_copy_counter) + { + __m128i copy_batch = _mm_loadu_si128(reinterpret_cast(data_copy_begin_ptr)); + _mm_storeu_si128(reinterpret_cast<__m128i *>(result_data_copy), copy_batch); + result_data_copy += 4; + data_copy_begin_ptr += 4; + --sse_copy_counter; + } + + result_data += copy_size; + data_copy_begin_ptr = nullptr; + } + + if (span == 0) + continue; + + /// Copy single data element into result data + + bool span_remainder = span % 4; + size_t copy_counter = (span / 4) + span_remainder; + auto * result_data_tmp = result_data; + __m128i copy_element_data = _mm_set1_epi32(data[offset_index]); + + while (copy_counter) + { + _mm_storeu_si128(reinterpret_cast<__m128i *>(result_data_tmp), copy_element_data); + result_data_tmp += 4; + --copy_counter; + } + + result_data += span; + } + + /// Copy tail if needed + + if (data_copy_begin_ptr) + { + size_t copy_size = (data + offsets_size) - data_copy_begin_ptr; + bool remainder = copy_size % 4; + size_t sse_copy_counter = (copy_size / 4) + remainder; + + while (sse_copy_counter) + { + __m128i copy_batch = _mm_loadu_si128(reinterpret_cast(data_copy_begin_ptr)); + _mm_storeu_si128(reinterpret_cast<__m128i *>(result_data), copy_batch); + result_data += 4; + data_copy_begin_ptr += 4; + --sse_copy_counter; + } + } + } +} + +#endif + template ColumnPtr ColumnVector::replicate(const IColumn::Offsets & offsets) const { @@ -537,6 +698,14 @@ ColumnPtr ColumnVector::replicate(const IColumn::Offsets & offsets) const auto res = this->create(offsets.back()); +#ifdef __SSE2__ + if constexpr (std::is_same_v) + { + replicateSSE42Int32(getData().data(), res->getData().data(), offsets); + return res; + } +#endif + auto it = res->getData().begin(); // NOLINT for (size_t i = 0; i < size; ++i) { diff --git a/src/Columns/ColumnsCommon.h b/src/Columns/ColumnsCommon.h index 99489e7e4cc..1e5849e2b88 100644 --- a/src/Columns/ColumnsCommon.h +++ b/src/Columns/ColumnsCommon.h @@ -8,6 +8,9 @@ #if defined(__AVX512F__) || defined(__AVX512BW__) || defined(__AVX__) || defined(__AVX2__) #include #endif +#if defined(__aarch64__) && defined(__ARM_NEON) +# include +#endif /// Common helper methods for implementation of different columns. @@ -44,6 +47,22 @@ inline UInt64 bytes64MaskToBits64Mask(const UInt8 * bytes64) _mm_loadu_si128(reinterpret_cast(bytes64 + 32)), zero16))) << 32) & 0xffff00000000) | ((static_cast(_mm_movemask_epi8(_mm_cmpeq_epi8( _mm_loadu_si128(reinterpret_cast(bytes64 + 48)), zero16))) << 48) & 0xffff000000000000); +#elif defined(__aarch64__) && defined(__ARM_NEON) + const uint8x16_t bitmask = {0x01, 0x02, 0x4, 0x8, 0x10, 0x20, 0x40, 0x80, 0x01, 0x02, 0x4, 0x8, 0x10, 0x20, 0x40, 0x80}; + const auto * src = reinterpret_cast(bytes64); + const uint8x16_t p0 = vceqzq_u8(vld1q_u8(src)); + const uint8x16_t p1 = vceqzq_u8(vld1q_u8(src + 16)); + const uint8x16_t p2 = vceqzq_u8(vld1q_u8(src + 32)); + const uint8x16_t p3 = vceqzq_u8(vld1q_u8(src + 48)); + uint8x16_t t0 = vandq_u8(p0, bitmask); + uint8x16_t t1 = vandq_u8(p1, bitmask); + uint8x16_t t2 = vandq_u8(p2, bitmask); + uint8x16_t t3 = vandq_u8(p3, bitmask); + uint8x16_t sum0 = vpaddq_u8(t0, t1); + uint8x16_t sum1 = vpaddq_u8(t2, t3); + sum0 = vpaddq_u8(sum0, sum1); + sum0 = vpaddq_u8(sum0, sum0); + UInt64 res = vgetq_lane_u64(vreinterpretq_u64_u8(sum0), 0); #else UInt64 res = 0; for (size_t i = 0; i < 64; ++i) diff --git a/src/Columns/IColumn.h b/src/Columns/IColumn.h index f62f6c444b3..a99d4172e5b 100644 --- a/src/Columns/IColumn.h +++ b/src/Columns/IColumn.h @@ -90,7 +90,7 @@ public: /// Creates column with the same type and specified size. /// If size is less current size, then data is cut. /// If size is greater, than default values are appended. - [[nodiscard]] virtual MutablePtr cloneResized(size_t /*size*/) const { throw Exception("Cannot cloneResized() column " + getName(), ErrorCodes::NOT_IMPLEMENTED); } + [[nodiscard]] virtual MutablePtr cloneResized(size_t /*size*/) const { throw Exception(ErrorCodes::NOT_IMPLEMENTED, "Cannot cloneResized() column {}", getName()); } /// Returns number of values in column. [[nodiscard]] virtual size_t size() const = 0; diff --git a/src/Columns/ReverseIndex.h b/src/Columns/ReverseIndex.h index 0b308a81084..3f4427e17ad 100644 --- a/src/Columns/ReverseIndex.h +++ b/src/Columns/ReverseIndex.h @@ -145,10 +145,10 @@ struct ReverseIndexHashTableCell * separately. */ template -class ReverseIndexHashTableBase : public HashTable, HashTableAllocator> +class ReverseIndexHashTableBase : public HashTable, HashTableAllocator> { using State = typename Cell::State; - using Base = HashTable, HashTableAllocator>; + using Base = HashTable, HashTableAllocator>; public: using Base::Base; diff --git a/src/Columns/tests/gtest_column_object.cpp b/src/Columns/tests/gtest_column_object.cpp new file mode 100644 index 00000000000..e1ad949f6a8 --- /dev/null +++ b/src/Columns/tests/gtest_column_object.cpp @@ -0,0 +1,120 @@ +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +using namespace DB; + +static pcg64 rng(randomSeed()); + +Field getRandomField(size_t type) +{ + switch (type) + { + case 0: + return rng(); + case 1: + return std::uniform_real_distribution<>(0.0, 1.0)(rng); + case 2: + return std::string(rng() % 10, 'a' + rng() % 26); + default: + return Field(); + } +} + +std::pair> generate(size_t size) +{ + bool has_defaults = rng() % 3 == 0; + size_t num_defaults = has_defaults ? rng() % size : 0; + + ColumnObject::Subcolumn subcolumn(num_defaults, false); + std::vector fields; + + while (subcolumn.size() < size) + { + size_t part_size = rng() % (size - subcolumn.size()) + 1; + size_t field_type = rng() % 3; + + for (size_t i = 0; i < part_size; ++i) + { + fields.push_back(getRandomField(field_type)); + subcolumn.insert(fields.back()); + } + } + + std::vector result_fields; + for (size_t i = 0; i < num_defaults; ++i) + result_fields.emplace_back(); + + result_fields.insert(result_fields.end(), fields.begin(), fields.end()); + return {std::move(subcolumn), std::move(result_fields)}; +} + +void checkFieldsAreEqual(ColumnObject::Subcolumn subcolumn, const std::vector & fields) +{ + ASSERT_EQ(subcolumn.size(), fields.size()); + for (size_t i = 0; i < subcolumn.size(); ++i) + { + Field field; + subcolumn.get(i, field); // Also check 'get' method. + if (!applyVisitor(FieldVisitorAccurateEquals(), field, fields[i])) + { + std::cerr << fmt::format("Wrong value at position {}, expected {}, got {}", + i, applyVisitor(FieldVisitorToString(), fields[i]), applyVisitor(FieldVisitorToString(), field)); + ASSERT_TRUE(false); + } + } +} + +constexpr size_t T = 1000; +constexpr size_t N = 1000; + +TEST(ColumnObject, InsertRangeFrom) +{ + for (size_t t = 0; t < T; ++t) + { + auto [subcolumn_dst, fields_dst] = generate(N); + auto [subcolumn_src, fields_src] = generate(N); + + ASSERT_EQ(subcolumn_dst.size(), fields_dst.size()); + ASSERT_EQ(subcolumn_src.size(), fields_src.size()); + + const auto & type_dst = subcolumn_dst.getLeastCommonType(); + const auto & type_src = subcolumn_src.getLeastCommonType(); + auto type_res = getLeastSupertypeOrString(DataTypes{type_dst, type_src}); + + size_t from = rng() % subcolumn_src.size(); + size_t to = rng() % subcolumn_src.size(); + if (from > to) + std::swap(from, to); + ++to; + + for (auto & field : fields_dst) + { + if (field.isNull()) + field = type_res->getDefault(); + else + field = convertFieldToTypeOrThrow(field, *type_res); + } + + for (size_t i = from; i < to; ++i) + { + if (fields_src[i].isNull()) + fields_dst.push_back(type_res->getDefault()); + else + fields_dst.push_back(convertFieldToTypeOrThrow(fields_src[i], *type_res)); + + } + + subcolumn_dst.insertRangeFrom(subcolumn_src, from, to - from); + checkFieldsAreEqual(subcolumn_dst, fields_dst); + } +} diff --git a/src/Columns/tests/gtest_column_sparse.cpp b/src/Columns/tests/gtest_column_sparse.cpp index 35ac68b4e2e..b5b226c6862 100644 --- a/src/Columns/tests/gtest_column_sparse.cpp +++ b/src/Columns/tests/gtest_column_sparse.cpp @@ -11,7 +11,7 @@ #include using namespace DB; -pcg64 rng(randomSeed()); +static pcg64 rng(randomSeed()); std::pair createColumns(size_t n, size_t k) { diff --git a/src/Common/Allocator.h b/src/Common/Allocator.h index c2c9ecd689d..06ccbed4064 100644 --- a/src/Common/Allocator.h +++ b/src/Common/Allocator.h @@ -1,6 +1,6 @@ #pragma once -#include +#include #ifdef NDEBUG #define ALLOCATOR_ASLR 0 @@ -11,7 +11,7 @@ #include #include -#if !defined(__APPLE__) && !defined(__FreeBSD__) +#if !defined(OS_DARWIN) && !defined(OS_FREEBSD) #include #endif diff --git a/src/Common/Arena.h b/src/Common/Arena.h index 4c7ee458ee4..b706f3b3413 100644 --- a/src/Common/Arena.h +++ b/src/Common/Arena.h @@ -1,6 +1,6 @@ #pragma once -#include +#include #include #include #include diff --git a/src/Common/ColumnsHashing.h b/src/Common/ColumnsHashing.h index c3a087c0a6e..e921f4fbf9a 100644 --- a/src/Common/ColumnsHashing.h +++ b/src/Common/ColumnsHashing.h @@ -6,9 +6,11 @@ #include #include #include +#include "Columns/IColumn.h" #include #include +#include #include #include @@ -83,8 +85,11 @@ struct HashMethodString HashMethodString(const ColumnRawPtrs & key_columns, const Sizes & /*key_sizes*/, const HashMethodContextPtr &) { - const IColumn & column = *key_columns[0]; - const ColumnString & column_string = assert_cast(column); + const IColumn * column = key_columns[0]; + if (isColumnConst(*column)) + column = &assert_cast(*column).getDataColumn(); + + const ColumnString & column_string = assert_cast(*column); offsets = column_string.getOffsets().data(); chars = column_string.getChars().data(); } diff --git a/src/Common/CpuId.h b/src/Common/CpuId.h index 5037c687943..167fa22faf6 100644 --- a/src/Common/CpuId.h +++ b/src/Common/CpuId.h @@ -221,7 +221,7 @@ bool haveAVX512F() noexcept && (our_xgetbv(0) & 6u) == 6u // XMM state and YMM state are enabled by OS && ((our_xgetbv(0) >> 5) & 7u) == 7u // ZMM state is enabled by OS && CpuInfo(0x0).registers.eax >= 0x7 // leaf 7 is present - && ((CpuInfo(0x7).registers.ebx >> 16) & 1u); // AVX512F bit + && ((CpuInfo(0x7, 0).registers.ebx >> 16) & 1u); // AVX512F bit #else return false; #endif diff --git a/src/Common/CurrentMetrics.h b/src/Common/CurrentMetrics.h index 7508c26b0ae..c184ee1e7f2 100644 --- a/src/Common/CurrentMetrics.h +++ b/src/Common/CurrentMetrics.h @@ -1,6 +1,6 @@ #pragma once -#include +#include #include #include #include diff --git a/src/Common/Dwarf.cpp b/src/Common/Dwarf.cpp index 7cabe6ba83b..c8ffe7d46a8 100644 --- a/src/Common/Dwarf.cpp +++ b/src/Common/Dwarf.cpp @@ -1,4 +1,4 @@ -#if defined(__ELF__) && !defined(__FreeBSD__) +#if defined(__ELF__) && !defined(OS_FREEBSD) /* * Copyright 2012-present Facebook, Inc. diff --git a/src/Common/Dwarf.h b/src/Common/Dwarf.h index 3d8a50236ff..6e3d3e74e81 100644 --- a/src/Common/Dwarf.h +++ b/src/Common/Dwarf.h @@ -1,6 +1,6 @@ #pragma once -#if defined(__ELF__) && !defined(__FreeBSD__) +#if defined(__ELF__) && !defined(OS_FREEBSD) /* * Copyright 2012-present Facebook, Inc. diff --git a/src/Common/Elf.cpp b/src/Common/Elf.cpp index 8ed7b75319b..b735367b179 100644 --- a/src/Common/Elf.cpp +++ b/src/Common/Elf.cpp @@ -1,4 +1,4 @@ -#if defined(__ELF__) && !defined(__FreeBSD__) +#if defined(__ELF__) && !defined(OS_FREEBSD) #include #include @@ -176,9 +176,9 @@ String Elf::getBuildID(const char * nhdr_pos, size_t size) #endif // OS_SUNOS -String Elf::getBinaryHash() const +String Elf::getStoredBinaryHash() const { - if (auto section = findSectionByName(".note.ClickHouse.hash")) + if (auto section = findSectionByName(".clickhouse.hash")) return {section->begin(), section->end()}; else return {}; diff --git a/src/Common/Elf.h b/src/Common/Elf.h index 30a28f6e9a9..5a6bd9e302d 100644 --- a/src/Common/Elf.h +++ b/src/Common/Elf.h @@ -1,6 +1,6 @@ #pragma once -#if defined(__ELF__) && !defined(__FreeBSD__) +#if defined(__ELF__) && !defined(OS_FREEBSD) #include @@ -61,7 +61,7 @@ public: static String getBuildID(const char * nhdr_pos, size_t size); /// Hash of the binary for integrity checks. - String getBinaryHash() const; + String getStoredBinaryHash() const; private: MMapReadBufferFromFile in; diff --git a/src/Common/Epoll.cpp b/src/Common/Epoll.cpp index d2c16c186ce..9b2589f0589 100644 --- a/src/Common/Epoll.cpp +++ b/src/Common/Epoll.cpp @@ -70,6 +70,9 @@ size_t Epoll::getManyReady(int max_events, epoll_event * events_out, bool blocki if (ready_size == -1 && errno != EINTR) throwFromErrno("Error in epoll_wait", DB::ErrorCodes::EPOLL_ERROR); + + if (errno == EINTR) + LOG_TEST(&Poco::Logger::get("Epoll"), "EINTR"); } while (ready_size <= 0 && (ready_size != 0 || blocking)); diff --git a/src/Common/ErrorCodes.cpp b/src/Common/ErrorCodes.cpp index 82784f96fd0..206f2061cde 100644 --- a/src/Common/ErrorCodes.cpp +++ b/src/Common/ErrorCodes.cpp @@ -629,7 +629,11 @@ M(658, MEILISEARCH_MISSING_SOME_COLUMNS) \ M(659, UNKNOWN_STATUS_OF_TRANSACTION) \ M(660, HDFS_ERROR) \ - M(661, CANNOT_CONNECT_NATS) \ + M(661, CANNOT_SEND_SIGNAL) \ + M(662, FS_METADATA_ERROR) \ + M(663, INCONSISTENT_METADATA_FOR_BACKUP) \ + M(664, ACCESS_STORAGE_DOESNT_ALLOW_BACKUP) \ + M(665, CANNOT_CONNECT_NATS) \ \ M(999, KEEPER_EXCEPTION) \ M(1000, POCO_EXCEPTION) \ diff --git a/src/Common/ErrorCodes.h b/src/Common/ErrorCodes.h index 4d5fa632e45..8879779a5e2 100644 --- a/src/Common/ErrorCodes.h +++ b/src/Common/ErrorCodes.h @@ -6,6 +6,7 @@ #include #include #include +#include #include /** Allows to count number of simultaneously happening error codes. @@ -57,7 +58,7 @@ namespace ErrorCodes void increment(bool remote, const std::string & message, const FramePointers & trace); private: - ErrorPair value; + ErrorPair value TSA_GUARDED_BY(mutex); std::mutex mutex; }; diff --git a/src/Common/Exception.cpp b/src/Common/Exception.cpp index d0f7af2da6b..1f5ff35ab4e 100644 --- a/src/Common/Exception.cpp +++ b/src/Common/Exception.cpp @@ -218,7 +218,7 @@ static void getNoSpaceLeftInfoMessage(std::filesystem::path path, String & msg) formatReadableQuantity(fs.f_favail), mount_point); -#if defined(__linux__) +#if defined(OS_LINUX) msg += "\nFilesystem: " + getFilesystemName(mount_point); #endif } @@ -230,7 +230,7 @@ static void getNoSpaceLeftInfoMessage(std::filesystem::path path, String & msg) */ static void getNotEnoughMemoryMessage(std::string & msg) { -#if defined(__linux__) +#if defined(OS_LINUX) try { static constexpr size_t buf_size = 1024; @@ -261,7 +261,7 @@ static void getNotEnoughMemoryMessage(std::string & msg) } } - if (num_maps > max_map_count * 0.99) + if (num_maps > max_map_count * 0.90) { msg += fmt::format( "\nIt looks like that the process is near the limit on number of virtual memory mappings." diff --git a/src/Common/Exception.h b/src/Common/Exception.h index 253dbe6d65c..9d59fb4d7b5 100644 --- a/src/Common/Exception.h +++ b/src/Common/Exception.h @@ -130,7 +130,7 @@ public: int getLineNumber() const { return line_number; } void setLineNumber(int line_number_) { line_number = line_number_;} - const String getFileName() const { return file_name; } + String getFileName() const { return file_name; } void setFileName(const String & file_name_) { file_name = file_name_; } Exception * clone() const override { return new ParsingException(*this); } diff --git a/src/Common/FileCache.h b/src/Common/FileCache.h deleted file mode 100644 index f66287b805f..00000000000 --- a/src/Common/FileCache.h +++ /dev/null @@ -1,314 +0,0 @@ -#pragma once - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "FileCache_fwd.h" -#include -#include -#include - - -namespace DB -{ - -/** - * Local cache for remote filesystem files, represented as a set of non-overlapping non-empty file segments. - */ -class IFileCache : private boost::noncopyable -{ -friend class FileSegment; -friend struct FileSegmentsHolder; -friend class FileSegmentRangeWriter; - -public: - using Key = UInt128; - using Downloader = std::unique_ptr; - - IFileCache( - const String & cache_base_path_, - const FileCacheSettings & cache_settings_); - - virtual ~IFileCache() = default; - - /// Restore cache from local filesystem. - virtual void initialize() = 0; - - virtual void remove(const Key & key) = 0; - - virtual void remove() = 0; - - static bool isReadOnly(); - - /// Cache capacity in bytes. - size_t capacity() const { return max_size; } - - static Key hash(const String & path); - - String getPathInLocalCache(const Key & key, size_t offset); - - String getPathInLocalCache(const Key & key); - - const String & getBasePath() const { return cache_base_path; } - - virtual std::vector tryGetCachePaths(const Key & key) = 0; - - /** - * Given an `offset` and `size` representing [offset, offset + size) bytes interval, - * return list of cached non-overlapping non-empty - * file segments `[segment1, ..., segmentN]` which intersect with given interval. - * - * Segments in returned list are ordered in ascending order and represent a full contiguous - * interval (no holes). Each segment in returned list has state: DOWNLOADED, DOWNLOADING or EMPTY. - * - * As long as pointers to returned file segments are hold - * it is guaranteed that these file segments are not removed from cache. - */ - virtual FileSegmentsHolder getOrSet(const Key & key, size_t offset, size_t size) = 0; - - /** - * Segments in returned list are ordered in ascending order and represent a full contiguous - * interval (no holes). Each segment in returned list has state: DOWNLOADED, DOWNLOADING or EMPTY. - * - * If file segment has state EMPTY, then it is also marked as "detached". E.g. it is "detached" - * from cache (not owned by cache), and as a result will never change it's state and will be destructed - * with the destruction of the holder, while in getOrSet() EMPTY file segments can eventually change - * it's state (and become DOWNLOADED). - */ - virtual FileSegmentsHolder get(const Key & key, size_t offset, size_t size) = 0; - - virtual FileSegmentsHolder setDownloading(const Key & key, size_t offset, size_t size) = 0; - - virtual FileSegments getSnapshot() const = 0; - - /// For debug. - virtual String dumpStructure(const Key & key) = 0; - - virtual size_t getUsedCacheSize() const = 0; - - virtual size_t getFileSegmentsNum() const = 0; - -protected: - String cache_base_path; - size_t max_size; - size_t max_element_size; - size_t max_file_segment_size; - - bool is_initialized = false; - - mutable std::mutex mutex; - - virtual bool tryReserve( - const Key & key, size_t offset, size_t size, - std::lock_guard & cache_lock) = 0; - - virtual void remove( - Key key, size_t offset, - std::lock_guard & cache_lock, - std::lock_guard & segment_lock) = 0; - - virtual bool isLastFileSegmentHolder( - const Key & key, size_t offset, - std::lock_guard & cache_lock, - std::lock_guard & segment_lock) = 0; - - /// If file segment was partially downloaded and then space reservation fails (because of no - /// space left), then update corresponding cache cell metadata (file segment size). - virtual void reduceSizeToDownloaded( - const Key & key, size_t offset, - std::lock_guard & cache_lock, - std::lock_guard & segment_lock) = 0; - - void assertInitialized() const; -}; - -using FileCachePtr = std::shared_ptr; - -class LRUFileCache final : public IFileCache -{ -public: - LRUFileCache( - const String & cache_base_path_, - const FileCacheSettings & cache_settings_); - - FileSegmentsHolder getOrSet(const Key & key, size_t offset, size_t size) override; - - FileSegmentsHolder get(const Key & key, size_t offset, size_t size) override; - - FileSegments getSnapshot() const override; - - void initialize() override; - - void remove(const Key & key) override; - - void remove() override; - - std::vector tryGetCachePaths(const Key & key) override; - - size_t getUsedCacheSize() const override; - - size_t getFileSegmentsNum() const override; - -private: - class LRUQueue - { - public: - struct FileKeyAndOffset - { - Key key; - size_t offset; - size_t size; - size_t hits = 0; - - FileKeyAndOffset(const Key & key_, size_t offset_, size_t size_) : key(key_), offset(offset_), size(size_) {} - }; - - using Iterator = typename std::list::iterator; - - size_t getTotalWeight(std::lock_guard & /* cache_lock */) const { return cache_size; } - - size_t getElementsNum(std::lock_guard & /* cache_lock */) const { return queue.size(); } - - Iterator add(const Key & key, size_t offset, size_t size, std::lock_guard & cache_lock); - - void remove(Iterator queue_it, std::lock_guard & cache_lock); - - void moveToEnd(Iterator queue_it, std::lock_guard & cache_lock); - - /// Space reservation for a file segment is incremental, so we need to be able to increment size of the queue entry. - void incrementSize(Iterator queue_it, size_t size_increment, std::lock_guard & cache_lock); - - void assertCorrectness(LRUFileCache * cache, std::lock_guard & cache_lock); - - String toString(std::lock_guard & cache_lock) const; - - bool contains(const Key & key, size_t offset, std::lock_guard & cache_lock) const; - - Iterator begin() { return queue.begin(); } - - Iterator end() { return queue.end(); } - - void removeAll(std::lock_guard & cache_lock); - - private: - std::list queue; - size_t cache_size = 0; - }; - - struct FileSegmentCell : private boost::noncopyable - { - FileSegmentPtr file_segment; - - /// Iterator is put here on first reservation attempt, if successful. - std::optional queue_iterator; - - /// Pointer to file segment is always hold by the cache itself. - /// Apart from pointer in cache, it can be hold by cache users, when they call - /// getorSet(), but cache users always hold it via FileSegmentsHolder. - bool releasable() const { return file_segment.unique(); } - - size_t size() const { return file_segment->reserved_size; } - - FileSegmentCell(FileSegmentPtr file_segment_, LRUFileCache * cache, std::lock_guard & cache_lock); - - FileSegmentCell(FileSegmentCell && other) noexcept - : file_segment(std::move(other.file_segment)) - , queue_iterator(other.queue_iterator) {} - }; - - using FileSegmentsByOffset = std::map; - using CachedFiles = std::unordered_map; - - using AccessKeyAndOffset = std::pair; - - struct KeyAndOffsetHash - { - std::size_t operator()(const AccessKeyAndOffset & key) const - { - return std::hash()(key.first) ^ std::hash()(key.second); - } - }; - - using AccessRecord = std::unordered_map; - - CachedFiles files; - LRUQueue queue; - - LRUQueue stash_queue; - AccessRecord records; - size_t max_stash_element_size; - size_t enable_cache_hits_threshold; - - Poco::Logger * log; - - FileSegments getImpl( - const Key & key, const FileSegment::Range & range, - std::lock_guard & cache_lock); - - FileSegmentCell * getCell( - const Key & key, size_t offset, std::lock_guard & cache_lock); - - FileSegmentCell * addCell( - const Key & key, size_t offset, size_t size, - FileSegment::State state, std::lock_guard & cache_lock); - - void useCell(const FileSegmentCell & cell, FileSegments & result, std::lock_guard & cache_lock); - - bool tryReserve( - const Key & key, size_t offset, size_t size, - std::lock_guard & cache_lock) override; - - void remove( - Key key, size_t offset, - std::lock_guard & cache_lock, - std::lock_guard & segment_lock) override; - - bool isLastFileSegmentHolder( - const Key & key, size_t offset, - std::lock_guard & cache_lock, - std::lock_guard & segment_lock) override; - - void reduceSizeToDownloaded( - const Key & key, size_t offset, - std::lock_guard & cache_lock, - std::lock_guard & segment_lock) override; - - size_t getAvailableCacheSize() const; - - void loadCacheInfoIntoMemory(std::lock_guard & cache_lock); - - FileSegments splitRangeIntoCells( - const Key & key, size_t offset, size_t size, FileSegment::State state, std::lock_guard & cache_lock); - - String dumpStructureUnlocked(const Key & key_, std::lock_guard & cache_lock); - - void fillHolesWithEmptyFileSegments( - FileSegments & file_segments, const Key & key, const FileSegment::Range & range, bool fill_with_detached_file_segments, std::lock_guard & cache_lock); - - FileSegmentsHolder setDownloading(const Key & key, size_t offset, size_t size) override; - - size_t getUsedCacheSizeUnlocked(std::lock_guard & cache_lock) const; - - size_t getAvailableCacheSizeUnlocked(std::lock_guard & cache_lock) const; - - size_t getFileSegmentsNumUnlocked(std::lock_guard & cache_lock) const; - - void assertCacheCellsCorrectness(const FileSegmentsByOffset & cells_by_offset, std::lock_guard & cache_lock); - -public: - String dumpStructure(const Key & key_) override; - - void assertCacheCorrectness(const Key & key, std::lock_guard & cache_lock); - - void assertCacheCorrectness(std::lock_guard & cache_lock); -}; - -} diff --git a/src/Common/FileCacheFactory.cpp b/src/Common/FileCacheFactory.cpp index 9eadea05547..259c1d3f48e 100644 --- a/src/Common/FileCacheFactory.cpp +++ b/src/Common/FileCacheFactory.cpp @@ -1,5 +1,5 @@ #include "FileCacheFactory.h" -#include "FileCache.h" +#include "LRUFileCache.h" namespace DB { @@ -18,51 +18,66 @@ FileCacheFactory & FileCacheFactory::instance() FileCacheFactory::CacheByBasePath FileCacheFactory::getAll() { std::lock_guard lock(mutex); - return caches; + return caches_by_path; } const FileCacheSettings & FileCacheFactory::getSettings(const std::string & cache_base_path) { std::lock_guard lock(mutex); + auto it = caches_by_path.find(cache_base_path); + if (it == caches_by_path.end()) + throw Exception(ErrorCodes::BAD_ARGUMENTS, "No cache found by path: {}", cache_base_path); + return it->second->settings; - auto * cache_data = getImpl(cache_base_path, lock); - if (cache_data) - return cache_data->settings; - - throw Exception(ErrorCodes::BAD_ARGUMENTS, "No cache found by path: {}", cache_base_path); -} - -FileCacheFactory::CacheData * FileCacheFactory::getImpl(const std::string & cache_base_path, std::lock_guard &) -{ - auto it = caches.find(cache_base_path); - if (it == caches.end()) - return nullptr; - return &it->second; } FileCachePtr FileCacheFactory::get(const std::string & cache_base_path) { std::lock_guard lock(mutex); + auto it = caches_by_path.find(cache_base_path); + if (it == caches_by_path.end()) + throw Exception(ErrorCodes::BAD_ARGUMENTS, "No cache found by path: {}", cache_base_path); + return it->second->cache; - auto * cache_data = getImpl(cache_base_path, lock); - if (cache_data) - return cache_data->cache; - - throw Exception(ErrorCodes::BAD_ARGUMENTS, "No cache found by path: {}", cache_base_path); } FileCachePtr FileCacheFactory::getOrCreate( - const std::string & cache_base_path, const FileCacheSettings & file_cache_settings) + const std::string & cache_base_path, const FileCacheSettings & file_cache_settings, const std::string & name) { std::lock_guard lock(mutex); - auto * cache_data = getImpl(cache_base_path, lock); - if (cache_data) - return cache_data->cache; + auto it = caches_by_path.find(cache_base_path); + if (it != caches_by_path.end()) + { + caches_by_name.emplace(name, it->second); + return it->second->cache; + } auto cache = std::make_shared(cache_base_path, file_cache_settings); - caches.emplace(cache_base_path, CacheData(cache, file_cache_settings)); + FileCacheData result{cache, file_cache_settings}; + + auto cache_it = caches.insert(caches.end(), std::move(result)); + caches_by_name.emplace(name, cache_it); + caches_by_path.emplace(cache_base_path, cache_it); + return cache; } +FileCacheFactory::FileCacheData FileCacheFactory::getByName(const std::string & name) +{ + std::lock_guard lock(mutex); + + auto it = caches_by_name.find(name); + if (it == caches_by_name.end()) + throw Exception(ErrorCodes::BAD_ARGUMENTS, "No cache found by name: {}", name); + + return *it->second; +} + +FileCacheFactory::CacheByName FileCacheFactory::getAllByName() +{ + std::lock_guard lock(mutex); + return caches_by_name; +} + } diff --git a/src/Common/FileCacheFactory.h b/src/Common/FileCacheFactory.h index 3518f487b6d..0d99da0343c 100644 --- a/src/Common/FileCacheFactory.h +++ b/src/Common/FileCacheFactory.h @@ -6,6 +6,7 @@ #include #include #include +#include namespace DB { @@ -15,20 +16,22 @@ namespace DB */ class FileCacheFactory final : private boost::noncopyable { - struct CacheData +public: + struct FileCacheData { FileCachePtr cache; FileCacheSettings settings; - CacheData(FileCachePtr cache_, const FileCacheSettings & settings_) : cache(cache_), settings(settings_) {} + FileCacheData(FileCachePtr cache_, const FileCacheSettings & settings_) : cache(cache_), settings(settings_) {} }; - using CacheByBasePath = std::unordered_map; + using Caches = std::list; + using CacheByBasePath = std::unordered_map; + using CacheByName = std::unordered_map; -public: static FileCacheFactory & instance(); - FileCachePtr getOrCreate(const std::string & cache_base_path, const FileCacheSettings & file_cache_settings); + FileCachePtr getOrCreate(const std::string & cache_base_path, const FileCacheSettings & file_cache_settings, const std::string & name); FileCachePtr get(const std::string & cache_base_path); @@ -36,11 +39,16 @@ public: const FileCacheSettings & getSettings(const std::string & cache_base_path); -private: - CacheData * getImpl(const std::string & cache_base_path, std::lock_guard &); + FileCacheData getByName(const std::string & name); + CacheByName getAllByName(); + +private: std::mutex mutex; - CacheByBasePath caches; + Caches caches; + + CacheByBasePath caches_by_path; + CacheByName caches_by_name; }; } diff --git a/src/Common/FileCacheSettings.cpp b/src/Common/FileCacheSettings.cpp index 6982068e40f..88ca6e3ce6b 100644 --- a/src/Common/FileCacheSettings.cpp +++ b/src/Common/FileCacheSettings.cpp @@ -11,7 +11,10 @@ void FileCacheSettings::loadFromConfig(const Poco::Util::AbstractConfiguration & max_elements = config.getUInt64(config_prefix + ".data_cache_max_elements", REMOTE_FS_OBJECTS_CACHE_DEFAULT_MAX_ELEMENTS); max_file_segment_size = config.getUInt64(config_prefix + ".max_file_segment_size", REMOTE_FS_OBJECTS_CACHE_DEFAULT_MAX_FILE_SEGMENT_SIZE); cache_on_write_operations = config.getUInt64(config_prefix + ".cache_on_write_operations", false); + enable_filesystem_query_cache_limit = config.getUInt64(config_prefix + ".enable_filesystem_query_cache_limit", false); enable_cache_hits_threshold = config.getUInt64(config_prefix + ".enable_cache_hits_threshold", REMOTE_FS_OBJECTS_CACHE_ENABLE_HITS_THRESHOLD); + do_not_evict_index_and_mark_files = config.getUInt64(config_prefix + ".do_not_evict_index_and_mark_files", true); + allow_to_remove_persistent_segments_from_cache_by_default = config.getUInt64(config_prefix + ".allow_to_remove_persistent_segments_from_cache_by_default", true); } } diff --git a/src/Common/FileCacheSettings.h b/src/Common/FileCacheSettings.h index 2f508c3ef46..c04cc915486 100644 --- a/src/Common/FileCacheSettings.h +++ b/src/Common/FileCacheSettings.h @@ -2,7 +2,7 @@ #include -namespace Poco { namespace Util { class AbstractConfiguration; } } +namespace Poco { namespace Util { class AbstractConfiguration; } } // NOLINT(cppcoreguidelines-virtual-class-destructor) namespace DB { @@ -12,9 +12,14 @@ struct FileCacheSettings size_t max_size = 0; size_t max_elements = REMOTE_FS_OBJECTS_CACHE_DEFAULT_MAX_ELEMENTS; size_t max_file_segment_size = REMOTE_FS_OBJECTS_CACHE_DEFAULT_MAX_FILE_SEGMENT_SIZE; + bool cache_on_write_operations = false; size_t enable_cache_hits_threshold = REMOTE_FS_OBJECTS_CACHE_ENABLE_HITS_THRESHOLD; + bool enable_filesystem_query_cache_limit = false; + + bool do_not_evict_index_and_mark_files = true; + bool allow_to_remove_persistent_segments_from_cache_by_default = true; void loadFromConfig(const Poco::Util::AbstractConfiguration & config, const std::string & config_prefix); }; diff --git a/src/Common/FileSegment.cpp b/src/Common/FileSegment.cpp index 27a111c1297..1183abc0e22 100644 --- a/src/Common/FileSegment.cpp +++ b/src/Common/FileSegment.cpp @@ -1,11 +1,12 @@ #include "FileSegment.h" #include -#include #include +#include #include #include #include + namespace CurrentMetrics { extern const Metric CacheDetachedFileSegments; @@ -25,7 +26,8 @@ FileSegment::FileSegment( size_t size_, const Key & key_, IFileCache * cache_, - State download_state_) + State download_state_, + bool is_persistent_) : segment_range(offset_, offset_ + size_ - 1) , download_state(download_state_) , file_key(key_) @@ -35,6 +37,7 @@ FileSegment::FileSegment( #else , log(&Poco::Logger::get("FileSegment")) #endif + , is_persistent(is_persistent_) /// Not really used for now, see PR 36171 { /// On creation, file segment state can be EMPTY, DOWNLOADED, DOWNLOADING. switch (download_state) @@ -241,7 +244,7 @@ void FileSegment::write(const char * from, size_t size, size_t offset_) "Cache writer was finalized (downloaded size: {}, state: {})", downloaded_size, stateToString(download_state)); - auto download_path = cache->getPathInLocalCache(key(), offset()); + auto download_path = getPathInLocalCache(); cache_writer = std::make_unique(download_path); } @@ -271,6 +274,11 @@ void FileSegment::write(const char * from, size_t size, size_t offset_) assert(getDownloadOffset() == offset_ + size); } +String FileSegment::getPathInLocalCache() const +{ + return cache->getPathInLocalCache(key(), offset(), isPersistent()); +} + void FileSegment::writeInMemory(const char * from, size_t size) { if (!size) @@ -287,7 +295,7 @@ void FileSegment::writeInMemory(const char * from, size_t size) if (cache_writer) throw Exception(ErrorCodes::LOGICAL_ERROR, "Cache writer already initialized"); - auto download_path = cache->getPathInLocalCache(key(), offset()); + auto download_path = getPathInLocalCache(); cache_writer = std::make_unique(download_path, size + 1); try @@ -677,7 +685,7 @@ void FileSegment::assertCorrectnessImpl(std::lock_guard & /* segment { assert(downloader_id.empty() == (download_state != FileSegment::State::DOWNLOADING)); assert(!downloader_id.empty() == (download_state == FileSegment::State::DOWNLOADING)); - assert(download_state != FileSegment::State::DOWNLOADED || std::filesystem::file_size(cache->getPathInLocalCache(key(), offset())) > 0); + assert(download_state != FileSegment::State::DOWNLOADED || std::filesystem::file_size(getPathInLocalCache()) > 0); } void FileSegment::throwIfDetached() const @@ -729,6 +737,7 @@ FileSegmentPtr FileSegment::getSnapshot(const FileSegmentPtr & file_segment, std snapshot->ref_count = file_segment.use_count(); snapshot->downloaded_size = file_segment->getDownloadedSize(); snapshot->download_state = file_segment->state(); + snapshot->is_persistent = file_segment->isPersistent(); return snapshot; } diff --git a/src/Common/FileSegment.h b/src/Common/FileSegment.h index 7a25529ab23..750aa6a1cb2 100644 --- a/src/Common/FileSegment.h +++ b/src/Common/FileSegment.h @@ -1,8 +1,9 @@ #pragma once #include -#include +#include #include +#include #include #include @@ -31,7 +32,7 @@ friend struct FileSegmentsHolder; friend class FileSegmentRangeWriter; public: - using Key = UInt128; + using Key = IFileCache::Key; using RemoteFileReaderPtr = std::shared_ptr; using LocalCacheWriterPtr = std::unique_ptr; @@ -70,8 +71,12 @@ public: }; FileSegment( - size_t offset_, size_t size_, const Key & key_, - IFileCache * cache_, State download_state_); + size_t offset_, + size_t size_, + const Key & key_, + IFileCache * cache_, + State download_state_, + bool is_persistent_ = false); ~FileSegment(); @@ -100,6 +105,8 @@ public: size_t offset() const { return range().left; } + bool isPersistent() const { return is_persistent; } + State wait(); bool reserve(size_t size); @@ -161,6 +168,8 @@ public: [[noreturn]] void throwIfDetached() const; + String getPathInLocalCache() const; + private: size_t availableSize() const { return reserved_size - downloaded_size; } @@ -200,6 +209,7 @@ private: const Range segment_range; State download_state; + String downloader_id; RemoteFileReaderPtr remote_file_reader; @@ -236,6 +246,9 @@ private: std::atomic hits_count = 0; /// cache hits. std::atomic ref_count = 0; /// Used for getting snapshot state + /// Currently no-op. (will be added in PR 36171) + /// Defined if a file comply by the eviction policy. + bool is_persistent; CurrentMetrics::Increment metric_increment{CurrentMetrics::CacheFileSegments}; }; diff --git a/src/Common/HashTable/ClearableHashMap.h b/src/Common/HashTable/ClearableHashMap.h index fda01dcf4bc..689f3ff0500 100644 --- a/src/Common/HashTable/ClearableHashMap.h +++ b/src/Common/HashTable/ClearableHashMap.h @@ -14,14 +14,12 @@ struct ClearableHashMapCell : public ClearableHashTableCell, - typename Grower = HashTableGrower<>, - typename Allocator = HashTableAllocator -> + typename Grower = HashTableGrowerWithPrecalculation<>, + typename Allocator = HashTableAllocator> class ClearableHashMap : public HashTable, Hash, Grower, Allocator> { public: diff --git a/src/Common/HashTable/ClearableHashSet.h b/src/Common/HashTable/ClearableHashSet.h index a14490c4551..371302dd8a9 100644 --- a/src/Common/HashTable/ClearableHashSet.h +++ b/src/Common/HashTable/ClearableHashSet.h @@ -48,14 +48,13 @@ struct ClearableHashTableCell : public BaseCell ClearableHashTableCell(const Key & key_, const State & state) : BaseCell(key_, state), version(state.version) {} }; -template -< +template < typename Key, typename Hash = DefaultHash, - typename Grower = HashTableGrower<>, - typename Allocator = HashTableAllocator -> -class ClearableHashSet : public HashTable>, Hash, Grower, Allocator> + typename Grower = HashTableGrowerWithPrecalculation<>, + typename Allocator = HashTableAllocator> +class ClearableHashSet + : public HashTable>, Hash, Grower, Allocator> { public: using Base = HashTable>, Hash, Grower, Allocator>; @@ -68,14 +67,17 @@ public: } }; -template -< +template < typename Key, typename Hash = DefaultHash, - typename Grower = HashTableGrower<>, - typename Allocator = HashTableAllocator -> -class ClearableHashSetWithSavedHash: public HashTable>, Hash, Grower, Allocator> + typename Grower = HashTableGrowerWithPrecalculation<>, + typename Allocator = HashTableAllocator> +class ClearableHashSetWithSavedHash : public HashTable< + Key, + ClearableHashTableCell>, + Hash, + Grower, + Allocator> { public: void clear() @@ -91,8 +93,4 @@ using ClearableHashSetWithStackMemory = ClearableHashSet< Hash, HashTableGrower, HashTableAllocatorWithStackMemory< - (1ULL << initial_size_degree) - * sizeof( - ClearableHashTableCell< - Key, - HashTableCell>)>>; + (1ULL << initial_size_degree) * sizeof(ClearableHashTableCell>)>>; diff --git a/src/Common/HashTable/Hash.h b/src/Common/HashTable/Hash.h index 3cf8978f418..bf691458d27 100644 --- a/src/Common/HashTable/Hash.h +++ b/src/Common/HashTable/Hash.h @@ -296,6 +296,19 @@ struct UInt128HashCRC32 } }; +#elif defined(__aarch64__) && defined(__ARM_FEATURE_CRC32) + +struct UInt128HashCRC32 +{ + size_t operator()(UInt128 x) const + { + UInt64 crc = -1ULL; + crc = __crc32cd(crc, x.items[0]); + crc = __crc32cd(crc, x.items[1]); + return crc; + } +}; + #else /// On other platforms we do not use CRC32. NOTE This can be confusing. @@ -339,6 +352,21 @@ struct UInt256HashCRC32 } }; +#elif defined(__aarch64__) && defined(__ARM_FEATURE_CRC32) + +struct UInt256HashCRC32 +{ + size_t operator()(UInt256 x) const + { + UInt64 crc = -1ULL; + crc = __crc32cd(crc, x.items[0]); + crc = __crc32cd(crc, x.items[1]); + crc = __crc32cd(crc, x.items[2]); + crc = __crc32cd(crc, x.items[3]); + return crc; + } +}; + #else /// We do not need to use CRC32 on other platforms. NOTE This can be confusing. diff --git a/src/Common/HashTable/HashMap.h b/src/Common/HashTable/HashMap.h index 236a6d65707..32fc9a8d76c 100644 --- a/src/Common/HashTable/HashMap.h +++ b/src/Common/HashTable/HashMap.h @@ -181,7 +181,7 @@ template < typename Key, typename Cell, typename Hash = DefaultHash, - typename Grower = HashTableGrower<>, + typename Grower = HashTableGrowerWithPrecalculation<>, typename Allocator = HashTableAllocator> class HashMapTable : public HashTable { @@ -296,7 +296,7 @@ template < typename Key, typename Mapped, typename Hash = DefaultHash, - typename Grower = HashTableGrower<>, + typename Grower = HashTableGrowerWithPrecalculation<>, typename Allocator = HashTableAllocator> using HashMap = HashMapTable, Hash, Grower, Allocator>; @@ -305,7 +305,7 @@ template < typename Key, typename Mapped, typename Hash = DefaultHash, - typename Grower = HashTableGrower<>, + typename Grower = HashTableGrowerWithPrecalculation<>, typename Allocator = HashTableAllocator> using HashMapWithSavedHash = HashMapTable, Hash, Grower, Allocator>; diff --git a/src/Common/HashTable/HashSet.h b/src/Common/HashTable/HashSet.h index d06fc761362..279ab167347 100644 --- a/src/Common/HashTable/HashSet.h +++ b/src/Common/HashTable/HashSet.h @@ -16,14 +16,12 @@ */ -template -< +template < typename Key, typename TCell, typename Hash = DefaultHash, - typename Grower = HashTableGrower<>, - typename Allocator = HashTableAllocator -> + typename Grower = HashTableGrowerWithPrecalculation<>, + typename Allocator = HashTableAllocator> class HashSetTable : public HashTable { public: @@ -84,13 +82,11 @@ struct HashSetCellWithSavedHash : public HashTableCell size_t getHash(const Hash & /*hash_function*/) const { return saved_hash; } }; -template -< +template < typename Key, typename Hash = DefaultHash, - typename Grower = HashTableGrower<>, - typename Allocator = HashTableAllocator -> + typename Grower = HashTableGrowerWithPrecalculation<>, + typename Allocator = HashTableAllocator> using HashSet = HashSetTable, Hash, Grower, Allocator>; template @@ -102,13 +98,11 @@ using HashSetWithStackMemory = HashSet< (1ULL << initial_size_degree) * sizeof(HashTableCell)>>; -template -< +template < typename Key, typename Hash = DefaultHash, - typename Grower = HashTableGrower<>, - typename Allocator = HashTableAllocator -> + typename Grower = HashTableGrowerWithPrecalculation<>, + typename Allocator = HashTableAllocator> using HashSetWithSavedHash = HashSetTable, Hash, Grower, Allocator>; template diff --git a/src/Common/HashTable/HashTable.h b/src/Common/HashTable/HashTable.h index 7db693ddcec..e8a204c4043 100644 --- a/src/Common/HashTable/HashTable.h +++ b/src/Common/HashTable/HashTable.h @@ -226,6 +226,7 @@ void insertSetMapped(MappedType & dest, const ValueType & src) { dest = src.seco /** Determines the size of the hash table, and when and how much it should be resized. + * Has very small state (one UInt8) and useful for Set-s allocated in automatic memory (see uniqExact as an example). */ template struct HashTableGrower @@ -275,6 +276,68 @@ struct HashTableGrower } }; +/** Determines the size of the hash table, and when and how much it should be resized. + * This structure is aligned to cache line boundary and also occupies it all. + * Precalculates some values to speed up lookups and insertion into the HashTable (and thus has bigger memory footprint than HashTableGrower). + */ +template +class alignas(64) HashTableGrowerWithPrecalculation +{ + /// The state of this structure is enough to get the buffer size of the hash table. + + UInt8 size_degree = initial_size_degree; + size_t precalculated_mask = (1ULL << initial_size_degree) - 1; + size_t precalculated_max_fill = 1ULL << (initial_size_degree - 1); + +public: + UInt8 sizeDegree() const { return size_degree; } + + void increaseSizeDegree(UInt8 delta) + { + size_degree += delta; + precalculated_mask = (1ULL << size_degree) - 1; + precalculated_max_fill = 1ULL << (size_degree - 1); + } + + static constexpr auto initial_count = 1ULL << initial_size_degree; + + /// If collision resolution chains are contiguous, we can implement erase operation by moving the elements. + static constexpr auto performs_linear_probing_with_single_step = true; + + /// The size of the hash table in the cells. + size_t bufSize() const { return 1ULL << size_degree; } + + /// From the hash value, get the cell number in the hash table. + size_t place(size_t x) const { return x & precalculated_mask; } + + /// The next cell in the collision resolution chain. + size_t next(size_t pos) const { return (pos + 1) & precalculated_mask; } + + /// Whether the hash table is sufficiently full. You need to increase the size of the hash table, or remove something unnecessary from it. + bool overflow(size_t elems) const { return elems > precalculated_max_fill; } + + /// Increase the size of the hash table. + void increaseSize() { increaseSizeDegree(size_degree >= 23 ? 1 : 2); } + + /// Set the buffer size by the number of elements in the hash table. Used when deserializing a hash table. + void set(size_t num_elems) + { + size_degree = num_elems <= 1 + ? initial_size_degree + : ((initial_size_degree > static_cast(log2(num_elems - 1)) + 2) + ? initial_size_degree + : (static_cast(log2(num_elems - 1)) + 2)); + increaseSizeDegree(0); + } + + void setBufSize(size_t buf_size_) + { + size_degree = static_cast(log2(buf_size_ - 1) + 1); + increaseSizeDegree(0); + } +}; + +static_assert(sizeof(HashTableGrowerWithPrecalculation<>) == 64); /** When used as a Grower, it turns a hash table into something like a lookup table. * It remains non-optimal - the cells store the keys. diff --git a/src/Common/HashTable/LRUHashMap.h b/src/Common/HashTable/LRUHashMap.h index 95ac5a1932e..68b585cf553 100644 --- a/src/Common/HashTable/LRUHashMap.h +++ b/src/Common/HashTable/LRUHashMap.h @@ -78,20 +78,20 @@ struct LRUHashMapCellNodeTraits }; template -class LRUHashMapImpl : - private HashMapTable< - TKey, - LRUHashMapCell, - Hash, - HashTableGrower<>, - HashTableAllocator> +class LRUHashMapImpl : private HashMapTable< + TKey, + LRUHashMapCell, + Hash, + HashTableGrowerWithPrecalculation<>, + HashTableAllocator> { using Base = HashMapTable< TKey, LRUHashMapCell, Hash, - HashTableGrower<>, + HashTableGrowerWithPrecalculation<>, HashTableAllocator>; + public: using Key = TKey; using Value = TValue; diff --git a/src/Common/HashTable/StringHashTable.h b/src/Common/HashTable/StringHashTable.h index 6a8bdc06218..8d15fde4ce0 100644 --- a/src/Common/HashTable/StringHashTable.h +++ b/src/Common/HashTable/StringHashTable.h @@ -150,10 +150,10 @@ public: }; template -struct StringHashTableGrower : public HashTableGrower +struct StringHashTableGrower : public HashTableGrowerWithPrecalculation { // Smooth growing for string maps - void increaseSize() { this->size_degree += 1; } + void increaseSize() { this->increaseSizeDegree(1); } }; template diff --git a/src/Common/HashTable/TwoLevelHashTable.h b/src/Common/HashTable/TwoLevelHashTable.h index 35c224c53f8..27cc075acd7 100644 --- a/src/Common/HashTable/TwoLevelHashTable.h +++ b/src/Common/HashTable/TwoLevelHashTable.h @@ -15,13 +15,10 @@ */ template -struct TwoLevelHashTableGrower : public HashTableGrower +struct TwoLevelHashTableGrower : public HashTableGrowerWithPrecalculation { /// Increase the size of the hash table. - void increaseSize() - { - this->size_degree += this->size_degree >= 15 ? 1 : 2; - } + void increaseSize() { this->increaseSizeDegree(this->sizeDegree() >= 15 ? 1 : 2); } }; template diff --git a/src/Common/IFactoryWithAliases.h b/src/Common/IFactoryWithAliases.h index 458adc4522f..8feac867dd2 100644 --- a/src/Common/IFactoryWithAliases.h +++ b/src/Common/IFactoryWithAliases.h @@ -27,9 +27,9 @@ protected: String getAliasToOrName(const String & name) const { - if (aliases.count(name)) + if (aliases.contains(name)) return aliases.at(name); - else if (String name_lowercase = Poco::toLower(name); case_insensitive_aliases.count(name_lowercase)) + else if (String name_lowercase = Poco::toLower(name); case_insensitive_aliases.contains(name_lowercase)) return case_insensitive_aliases.at(name_lowercase); else return name; @@ -108,7 +108,7 @@ public: bool isAlias(const String & name) const { - return aliases.count(name) || case_insensitive_aliases.count(name); + return aliases.count(name) || case_insensitive_aliases.contains(name); } bool hasNameOrAlias(const String & name) const @@ -125,7 +125,7 @@ public: return name; } - virtual ~IFactoryWithAliases() override = default; + ~IFactoryWithAliases() override = default; private: using InnerMap = std::unordered_map; // name -> creator diff --git a/src/Common/IFileCache.cpp b/src/Common/IFileCache.cpp new file mode 100644 index 00000000000..fb120ae5902 --- /dev/null +++ b/src/Common/IFileCache.cpp @@ -0,0 +1,201 @@ +#include "IFileCache.h" + +#include +#include +#include +#include +#include +#include + +namespace fs = std::filesystem; + +namespace DB +{ + +namespace ErrorCodes +{ + extern const int REMOTE_FS_OBJECT_CACHE_ERROR; + extern const int LOGICAL_ERROR; +} + +IFileCache::IFileCache( + const String & cache_base_path_, + const FileCacheSettings & cache_settings_) + : cache_base_path(cache_base_path_) + , max_size(cache_settings_.max_size) + , max_element_size(cache_settings_.max_elements) + , max_file_segment_size(cache_settings_.max_file_segment_size) + , enable_filesystem_query_cache_limit(cache_settings_.enable_filesystem_query_cache_limit) +{ +} + +String IFileCache::Key::toString() const +{ + return getHexUIntLowercase(key); +} + +IFileCache::Key IFileCache::hash(const String & path) +{ + return Key(sipHash128(path.data(), path.size())); +} + +String IFileCache::getPathInLocalCache(const Key & key, size_t offset, bool is_persistent) const +{ + auto key_str = key.toString(); + return fs::path(cache_base_path) + / key_str.substr(0, 3) + / key_str + / (std::to_string(offset) + (is_persistent ? "_persistent" : "")); +} + +String IFileCache::getPathInLocalCache(const Key & key) const +{ + auto key_str = key.toString(); + return fs::path(cache_base_path) / key_str.substr(0, 3) / key_str; +} + +static bool isQueryInitialized() +{ + return CurrentThread::isInitialized() + && CurrentThread::get().getQueryContext() + && CurrentThread::getQueryId().size != 0; +} + +bool IFileCache::isReadOnly() +{ + return !isQueryInitialized(); +} + +void IFileCache::assertInitialized() const +{ + if (!is_initialized) + throw Exception(ErrorCodes::REMOTE_FS_OBJECT_CACHE_ERROR, "Cache not initialized"); +} + +IFileCache::QueryContextPtr IFileCache::getCurrentQueryContext(std::lock_guard & cache_lock) +{ + if (!isQueryInitialized()) + return nullptr; + + return getQueryContext(CurrentThread::getQueryId().toString(), cache_lock); +} + +IFileCache::QueryContextPtr IFileCache::getQueryContext(const String & query_id, std::lock_guard & /* cache_lock */) +{ + auto query_iter = query_map.find(query_id); + return (query_iter == query_map.end()) ? nullptr : query_iter->second; +} + +void IFileCache::removeQueryContext(const String & query_id) +{ + std::lock_guard cache_lock(mutex); + auto query_iter = query_map.find(query_id); + + if (query_iter == query_map.end()) + { + throw Exception( + ErrorCodes::LOGICAL_ERROR, + "Attempt to release query context that does not exist (query_id: {})", + query_id); + } + + query_map.erase(query_iter); +} + +IFileCache::QueryContextPtr IFileCache::getOrSetQueryContext( + const String & query_id, const ReadSettings & settings, std::lock_guard & cache_lock) +{ + if (query_id.empty()) + return nullptr; + + auto context = getQueryContext(query_id, cache_lock); + if (context) + return context; + + auto query_context = std::make_shared(settings.max_query_cache_size, settings.skip_download_if_exceeds_query_cache); + auto query_iter = query_map.emplace(query_id, query_context).first; + return query_iter->second; +} + +IFileCache::QueryContextHolder IFileCache::getQueryContextHolder(const String & query_id, const ReadSettings & settings) +{ + std::lock_guard cache_lock(mutex); + + if (!enable_filesystem_query_cache_limit || settings.max_query_cache_size == 0) + return {}; + + /// if enable_filesystem_query_cache_limit is true, and max_query_cache_size large than zero, + /// we create context query for current query. + auto context = getOrSetQueryContext(query_id, settings, cache_lock); + return QueryContextHolder(query_id, this, context); +} + +void IFileCache::QueryContext::remove(const Key & key, size_t offset, size_t size, std::lock_guard & cache_lock) +{ + if (cache_size < size) + throw Exception(ErrorCodes::LOGICAL_ERROR, "Deleted cache size exceeds existing cache size"); + + if (!skip_download_if_exceeds_query_cache) + { + auto record = records.find({key, offset}); + if (record != records.end()) + { + lru_queue.remove(record->second, cache_lock); + records.erase({key, offset}); + } + } + cache_size -= size; +} + +void IFileCache::QueryContext::reserve(const Key & key, size_t offset, size_t size, std::lock_guard & cache_lock) +{ + if (cache_size + size > max_cache_size) + { + throw Exception( + ErrorCodes::LOGICAL_ERROR, + "Reserved cache size exceeds the remaining cache size (key: {}, offset: {})", + key.toString(), offset); + } + + if (!skip_download_if_exceeds_query_cache) + { + auto record = records.find({key, offset}); + if (record == records.end()) + { + auto queue_iter = lru_queue.add(key, offset, 0, cache_lock); + record = records.insert({{key, offset}, queue_iter}).first; + } + record->second->size += size; + } + cache_size += size; +} + +void IFileCache::QueryContext::use(const Key & key, size_t offset, std::lock_guard & cache_lock) +{ + if (skip_download_if_exceeds_query_cache) + return; + + auto record = records.find({key, offset}); + if (record != records.end()) + lru_queue.moveToEnd(record->second, cache_lock); +} + +IFileCache::QueryContextHolder::QueryContextHolder( + const String & query_id_, + IFileCache * cache_, + IFileCache::QueryContextPtr context_) + : query_id(query_id_) + , cache(cache_) + , context(context_) +{ +} + +IFileCache::QueryContextHolder::~QueryContextHolder() +{ + /// If only the query_map and the current holder hold the context_query, + /// the query has been completed and the query_context is released. + if (context && context.use_count() == 2) + cache->removeQueryContext(query_id); +} + +} diff --git a/src/Common/IFileCache.h b/src/Common/IFileCache.h new file mode 100644 index 00000000000..c820d18cb95 --- /dev/null +++ b/src/Common/IFileCache.h @@ -0,0 +1,267 @@ +#pragma once + +#include +#include + +#include +#include +#include +#include + + +namespace DB +{ + +class FileSegment; +using FileSegmentPtr = std::shared_ptr; +using FileSegments = std::list; +struct FileSegmentsHolder; +struct ReadSettings; + +/** + * Local cache for remote filesystem files, represented as a set of non-overlapping non-empty file segments. + */ +class IFileCache : private boost::noncopyable +{ +friend class FileSegment; +friend struct FileSegmentsHolder; +friend class FileSegmentRangeWriter; + +public: + struct Key + { + UInt128 key; + String toString() const; + + Key() = default; + explicit Key(const UInt128 & key_) : key(key_) {} + + bool operator==(const Key & other) const { return key == other.key; } + }; + + IFileCache( + const String & cache_base_path_, + const FileCacheSettings & cache_settings_); + + virtual ~IFileCache() = default; + + /// Restore cache from local filesystem. + virtual void initialize() = 0; + + virtual void removeIfExists(const Key & key) = 0; + + virtual void removeIfReleasable(bool remove_persistent_files) = 0; + + static bool isReadOnly(); + + /// Cache capacity in bytes. + size_t capacity() const { return max_size; } + + static Key hash(const String & path); + + String getPathInLocalCache(const Key & key, size_t offset, bool is_persistent) const; + + String getPathInLocalCache(const Key & key) const; + + const String & getBasePath() const { return cache_base_path; } + + virtual std::vector tryGetCachePaths(const Key & key) = 0; + + /** + * Given an `offset` and `size` representing [offset, offset + size) bytes interval, + * return list of cached non-overlapping non-empty + * file segments `[segment1, ..., segmentN]` which intersect with given interval. + * + * Segments in returned list are ordered in ascending order and represent a full contiguous + * interval (no holes). Each segment in returned list has state: DOWNLOADED, DOWNLOADING or EMPTY. + * + * As long as pointers to returned file segments are hold + * it is guaranteed that these file segments are not removed from cache. + */ + virtual FileSegmentsHolder getOrSet(const Key & key, size_t offset, size_t size, bool is_persistent) = 0; + + /** + * Segments in returned list are ordered in ascending order and represent a full contiguous + * interval (no holes). Each segment in returned list has state: DOWNLOADED, DOWNLOADING or EMPTY. + * + * If file segment has state EMPTY, then it is also marked as "detached". E.g. it is "detached" + * from cache (not owned by cache), and as a result will never change it's state and will be destructed + * with the destruction of the holder, while in getOrSet() EMPTY file segments can eventually change + * it's state (and become DOWNLOADED). + */ + virtual FileSegmentsHolder get(const Key & key, size_t offset, size_t size) = 0; + + virtual FileSegmentsHolder setDownloading(const Key & key, size_t offset, size_t size, bool is_persistent) = 0; + + virtual FileSegments getSnapshot() const = 0; + + /// For debug. + virtual String dumpStructure(const Key & key) = 0; + + virtual size_t getUsedCacheSize() const = 0; + + virtual size_t getFileSegmentsNum() const = 0; + +protected: + String cache_base_path; + size_t max_size; + size_t max_element_size; + size_t max_file_segment_size; + + bool is_initialized = false; + + mutable std::mutex mutex; + + virtual bool tryReserve( + const Key & key, size_t offset, size_t size, + std::lock_guard & cache_lock) = 0; + + virtual void remove( + Key key, size_t offset, + std::lock_guard & cache_lock, + std::lock_guard & segment_lock) = 0; + + virtual bool isLastFileSegmentHolder( + const Key & key, size_t offset, + std::lock_guard & cache_lock, + std::lock_guard & segment_lock) = 0; + + virtual void reduceSizeToDownloaded( + const Key & key, size_t offset, + std::lock_guard & cache_lock, + std::lock_guard & /* segment_lock */) = 0; + + void assertInitialized() const; + + class LRUQueue + { + public: + struct FileKeyAndOffset + { + Key key; + size_t offset; + size_t size; + size_t hits = 0; + + FileKeyAndOffset(const Key & key_, size_t offset_, size_t size_) : key(key_), offset(offset_), size(size_) {} + }; + + using Iterator = typename std::list::iterator; + + size_t getTotalCacheSize(std::lock_guard & /* cache_lock */) const { return cache_size; } + + size_t getElementsNum(std::lock_guard & /* cache_lock */) const { return queue.size(); } + + Iterator add(const Key & key, size_t offset, size_t size, std::lock_guard & cache_lock); + + void remove(Iterator queue_it, std::lock_guard & cache_lock); + + void moveToEnd(Iterator queue_it, std::lock_guard & cache_lock); + + /// Space reservation for a file segment is incremental, so we need to be able to increment size of the queue entry. + void incrementSize(Iterator queue_it, size_t size_increment, std::lock_guard & cache_lock); + + String toString(std::lock_guard & cache_lock) const; + + bool contains(const Key & key, size_t offset, std::lock_guard & cache_lock) const; + + Iterator begin() { return queue.begin(); } + + Iterator end() { return queue.end(); } + + void removeAll(std::lock_guard & cache_lock); + + private: + std::list queue; + size_t cache_size = 0; + }; + + using AccessKeyAndOffset = std::pair; + struct KeyAndOffsetHash + { + std::size_t operator()(const AccessKeyAndOffset & key) const + { + return std::hash()(key.first.key) ^ std::hash()(key.second); + } + }; + + using AccessRecord = std::unordered_map; + + /// Used to track and control the cache access of each query. + /// Through it, we can realize the processing of different queries by the cache layer. + struct QueryContext + { + LRUQueue lru_queue; + AccessRecord records; + + size_t cache_size = 0; + size_t max_cache_size; + + bool skip_download_if_exceeds_query_cache; + + QueryContext(size_t max_cache_size_, bool skip_download_if_exceeds_query_cache_) + : max_cache_size(max_cache_size_) + , skip_download_if_exceeds_query_cache(skip_download_if_exceeds_query_cache_) {} + + void remove(const Key & key, size_t offset, size_t size, std::lock_guard & cache_lock); + + void reserve(const Key & key, size_t offset, size_t size, std::lock_guard & cache_lock); + + void use(const Key & key, size_t offset, std::lock_guard & cache_lock); + + size_t getMaxCacheSize() const { return max_cache_size; } + + size_t getCacheSize() const { return cache_size; } + + LRUQueue & queue() { return lru_queue; } + + bool isSkipDownloadIfExceed() const { return skip_download_if_exceeds_query_cache; } + }; + + using QueryContextPtr = std::shared_ptr; + using QueryContextMap = std::unordered_map; + + QueryContextMap query_map; + + bool enable_filesystem_query_cache_limit; + + QueryContextPtr getCurrentQueryContext(std::lock_guard & cache_lock); + + QueryContextPtr getQueryContext(const String & query_id, std::lock_guard & cache_lock); + + void removeQueryContext(const String & query_id); + + QueryContextPtr getOrSetQueryContext(const String & query_id, const ReadSettings & settings, std::lock_guard &); + +public: + /// Save a query context information, and adopt different cache policies + /// for different queries through the context cache layer. + struct QueryContextHolder : private boost::noncopyable + { + QueryContextHolder(const String & query_id_, IFileCache * cache_, QueryContextPtr context_); + + QueryContextHolder() = default; + + ~QueryContextHolder(); + + String query_id; + IFileCache * cache = nullptr; + QueryContextPtr context; + }; + + QueryContextHolder getQueryContextHolder(const String & query_id, const ReadSettings & settings); + +}; + +using FileCachePtr = std::shared_ptr; + +} + +namespace std +{ +template <> struct hash +{ + std::size_t operator()(const DB::IFileCache::Key & k) const { return hash()(k.key); } +}; + +} diff --git a/src/Common/InterruptListener.h b/src/Common/InterruptListener.h index 37ec0533dd6..b8b2ba6be7d 100644 --- a/src/Common/InterruptListener.h +++ b/src/Common/InterruptListener.h @@ -16,7 +16,7 @@ namespace ErrorCodes extern const int CANNOT_UNBLOCK_SIGNAL; } -#ifdef __APPLE__ +#ifdef OS_DARWIN // We only need to support timeout = {0, 0} at this moment static int sigtimedwait(const sigset_t *set, siginfo_t *info, const struct timespec * /*timeout*/) { diff --git a/src/Common/LRUCache.h b/src/Common/LRUCache.h index 7210412a5e1..c149ee184ab 100644 --- a/src/Common/LRUCache.h +++ b/src/Common/LRUCache.h @@ -8,6 +8,7 @@ #include #include +#include namespace DB @@ -48,7 +49,7 @@ public: { std::lock_guard lock(mutex); - auto res = getImpl(key, lock); + auto res = getImpl(key); if (res) ++hits; else @@ -61,7 +62,7 @@ public: { std::lock_guard lock(mutex); - setImpl(key, mapped, lock); + setImpl(key, mapped); } void remove(const Key & key) @@ -91,7 +92,7 @@ public: { std::lock_guard cache_lock(mutex); - auto val = getImpl(key, cache_lock); + auto val = getImpl(key); if (val) { ++hits; @@ -129,7 +130,7 @@ public: auto token_it = insert_tokens.find(key); if (token_it != insert_tokens.end() && token_it->second.get() == token) { - setImpl(key, token->value, cache_lock); + setImpl(key, token->value); result = true; } @@ -189,7 +190,7 @@ protected: using Cells = std::unordered_map; - Cells cells; + Cells cells TSA_GUARDED_BY(mutex); mutable std::mutex mutex; private: @@ -200,8 +201,8 @@ private: explicit InsertToken(LRUCache & cache_) : cache(cache_) {} std::mutex mutex; - bool cleaned_up = false; /// Protected by the token mutex - MappedPtr value; /// Protected by the token mutex + bool cleaned_up TSA_GUARDED_BY(mutex) = false; + MappedPtr value TSA_GUARDED_BY(mutex); LRUCache & cache; size_t refcount = 0; /// Protected by the cache mutex @@ -221,6 +222,7 @@ private: InsertTokenHolder() = default; void acquire(const Key * key_, const std::shared_ptr & token_, [[maybe_unused]] std::lock_guard & cache_lock) + TSA_NO_THREAD_SAFETY_ANALYSIS // disabled only because we can't reference the parent-level cache mutex from here { key = key_; token = token_; @@ -228,6 +230,7 @@ private: } void cleanup([[maybe_unused]] std::lock_guard & token_lock, [[maybe_unused]] std::lock_guard & cache_lock) + TSA_NO_THREAD_SAFETY_ANALYSIS // disabled only because we can't reference the parent-level cache mutex from here { token->cache.insert_tokens.erase(*key); token->cleaned_up = true; @@ -258,21 +261,21 @@ private: friend struct InsertTokenHolder; - InsertTokenById insert_tokens; + InsertTokenById insert_tokens TSA_GUARDED_BY(mutex); - LRUQueue queue; + LRUQueue queue TSA_GUARDED_BY(mutex); /// Total weight of values. - size_t current_size = 0; + size_t current_size TSA_GUARDED_BY(mutex) = 0; const size_t max_size; const size_t max_elements_size; std::atomic hits {0}; std::atomic misses {0}; - WeightFunction weight_function; + const WeightFunction weight_function; - MappedPtr getImpl(const Key & key, [[maybe_unused]] std::lock_guard & cache_lock) + MappedPtr getImpl(const Key & key) TSA_REQUIRES(mutex) { auto it = cells.find(key); if (it == cells.end()) @@ -288,7 +291,7 @@ private: return cell.value; } - void setImpl(const Key & key, const MappedPtr & mapped, [[maybe_unused]] std::lock_guard & cache_lock) + void setImpl(const Key & key, const MappedPtr & mapped) TSA_REQUIRES(mutex) { auto [it, inserted] = cells.emplace(std::piecewise_construct, std::forward_as_tuple(key), @@ -321,7 +324,7 @@ private: removeOverflow(); } - void removeOverflow() + void removeOverflow() TSA_REQUIRES(mutex) { size_t current_weight_lost = 0; size_t queue_size = cells.size(); diff --git a/src/Common/FileCache.cpp b/src/Common/LRUFileCache.cpp similarity index 72% rename from src/Common/FileCache.cpp rename to src/Common/LRUFileCache.cpp index 6c76bf5c0b3..0ce76dbdec6 100644 --- a/src/Common/FileCache.cpp +++ b/src/Common/LRUFileCache.cpp @@ -1,4 +1,4 @@ -#include "FileCache.h" +#include "LRUFileCache.h" #include #include @@ -22,59 +22,12 @@ namespace ErrorCodes extern const int LOGICAL_ERROR; } -namespace -{ - String keyToStr(const IFileCache::Key & key) - { - return getHexUIntLowercase(key); - } -} - -IFileCache::IFileCache( - const String & cache_base_path_, - const FileCacheSettings & cache_settings_) - : cache_base_path(cache_base_path_) - , max_size(cache_settings_.max_size) - , max_element_size(cache_settings_.max_elements) - , max_file_segment_size(cache_settings_.max_file_segment_size) -{ -} - -IFileCache::Key IFileCache::hash(const String & path) -{ - return sipHash128(path.data(), path.size()); -} - -String IFileCache::getPathInLocalCache(const Key & key, size_t offset) -{ - auto key_str = keyToStr(key); - return fs::path(cache_base_path) / key_str.substr(0, 3) / key_str / std::to_string(offset); -} - -String IFileCache::getPathInLocalCache(const Key & key) -{ - auto key_str = keyToStr(key); - return fs::path(cache_base_path) / key_str.substr(0, 3) / key_str; -} - -bool IFileCache::isReadOnly() -{ - return !CurrentThread::isInitialized() - || !CurrentThread::get().getQueryContext() - || CurrentThread::getQueryId().size == 0; -} - -void IFileCache::assertInitialized() const -{ - if (!is_initialized) - throw Exception(ErrorCodes::REMOTE_FS_OBJECT_CACHE_ERROR, "Cache not initialized"); -} - LRUFileCache::LRUFileCache(const String & cache_base_path_, const FileCacheSettings & cache_settings_) : IFileCache(cache_base_path_, cache_settings_) , max_stash_element_size(cache_settings_.max_elements) , enable_cache_hits_threshold(cache_settings_.enable_cache_hits_threshold) , log(&Poco::Logger::get("LRUFileCache")) + , allow_to_remove_persistent_segments_from_cache_by_default(cache_settings_.allow_to_remove_persistent_segments_from_cache_by_default) { } @@ -84,9 +37,20 @@ void LRUFileCache::initialize() if (!is_initialized) { if (fs::exists(cache_base_path)) - loadCacheInfoIntoMemory(cache_lock); + { + try + { + loadCacheInfoIntoMemory(cache_lock); + } + catch (...) + { + tryLogCurrentException(__PRETTY_FUNCTION__); + return; + } + } else fs::create_directories(cache_base_path); + is_initialized = true; } } @@ -97,7 +61,7 @@ void LRUFileCache::useCell( auto file_segment = cell.file_segment; if (file_segment->isDownloaded() - && fs::file_size(getPathInLocalCache(file_segment->key(), file_segment->offset())) == 0) + && fs::file_size(getPathInLocalCache(file_segment->key(), file_segment->offset(), file_segment->isPersistent())) == 0) throw Exception(ErrorCodes::LOGICAL_ERROR, "Cannot have zero size downloaded file segments. Current file segment: {}", file_segment->range().toString()); @@ -147,8 +111,10 @@ FileSegments LRUFileCache::getImpl( files.erase(key); + /// Note: it is guaranteed that there is no concurrency with files deletion, + /// because cache files are deleted only inside IFileCache and under cache lock. if (fs::exists(key_path)) - fs::remove(key_path); + fs::remove_all(key_path); return {}; } @@ -210,7 +176,7 @@ FileSegments LRUFileCache::getImpl( } FileSegments LRUFileCache::splitRangeIntoCells( - const Key & key, size_t offset, size_t size, FileSegment::State state, std::lock_guard & cache_lock) + const Key & key, size_t offset, size_t size, FileSegment::State state, bool is_persistent, std::lock_guard & cache_lock) { assert(size > 0); @@ -226,7 +192,7 @@ FileSegments LRUFileCache::splitRangeIntoCells( current_cell_size = std::min(remaining_size, max_file_segment_size); remaining_size -= current_cell_size; - auto * cell = addCell(key, current_pos, current_cell_size, state, cache_lock); + auto * cell = addCell(key, current_pos, current_cell_size, state, is_persistent, cache_lock); if (cell) file_segments.push_back(cell->file_segment); assert(cell); @@ -243,6 +209,7 @@ void LRUFileCache::fillHolesWithEmptyFileSegments( const Key & key, const FileSegment::Range & range, bool fill_with_detached_file_segments, + bool is_persistent, std::lock_guard & cache_lock) { /// There are segments [segment1, ..., segmentN] @@ -298,7 +265,7 @@ void LRUFileCache::fillHolesWithEmptyFileSegments( } else { - file_segments.splice(it, splitRangeIntoCells(key, current_pos, hole_size, FileSegment::State::EMPTY, cache_lock)); + file_segments.splice(it, splitRangeIntoCells(key, current_pos, hole_size, FileSegment::State::EMPTY, is_persistent, cache_lock)); } current_pos = segment_range.right + 1; @@ -326,12 +293,12 @@ void LRUFileCache::fillHolesWithEmptyFileSegments( else { file_segments.splice( - file_segments.end(), splitRangeIntoCells(key, current_pos, hole_size, FileSegment::State::EMPTY, cache_lock)); + file_segments.end(), splitRangeIntoCells(key, current_pos, hole_size, FileSegment::State::EMPTY, is_persistent, cache_lock)); } } } -FileSegmentsHolder LRUFileCache::getOrSet(const Key & key, size_t offset, size_t size) +FileSegmentsHolder LRUFileCache::getOrSet(const Key & key, size_t offset, size_t size, bool is_persistent) { assertInitialized(); @@ -348,11 +315,11 @@ FileSegmentsHolder LRUFileCache::getOrSet(const Key & key, size_t offset, size_t if (file_segments.empty()) { - file_segments = splitRangeIntoCells(key, offset, size, FileSegment::State::EMPTY, cache_lock); + file_segments = splitRangeIntoCells(key, offset, size, FileSegment::State::EMPTY, is_persistent, cache_lock); } else { - fillHolesWithEmptyFileSegments(file_segments, key, range, false, cache_lock); + fillHolesWithEmptyFileSegments(file_segments, key, range, /* fill_with_detached */false, is_persistent, cache_lock); } assert(!file_segments.empty()); @@ -385,14 +352,15 @@ FileSegmentsHolder LRUFileCache::get(const Key & key, size_t offset, size_t size } else { - fillHolesWithEmptyFileSegments(file_segments, key, range, true, cache_lock); + fillHolesWithEmptyFileSegments(file_segments, key, range, /* fill_with_detached */true, /* is_persistent */false, cache_lock); } return FileSegmentsHolder(std::move(file_segments)); } LRUFileCache::FileSegmentCell * LRUFileCache::addCell( - const Key & key, size_t offset, size_t size, FileSegment::State state, + const Key & key, size_t offset, size_t size, + FileSegment::State state, bool is_persistent, std::lock_guard & cache_lock) { /// Create a file segment cell and put it in `files` map by [key][offset]. @@ -404,10 +372,11 @@ LRUFileCache::FileSegmentCell * LRUFileCache::addCell( throw Exception( ErrorCodes::LOGICAL_ERROR, "Cache already exists for key: `{}`, offset: {}, size: {}.\nCurrent cache structure: {}", - keyToStr(key), offset, size, dumpStructureUnlocked(key, cache_lock)); + key.toString(), offset, size, dumpStructureUnlocked(key, cache_lock)); auto skip_or_download = [&]() -> FileSegmentPtr { + FileSegment::State result_state = state; if (state == FileSegment::State::EMPTY && enable_cache_hits_threshold) { auto record = records.find({key, offset}); @@ -425,7 +394,7 @@ LRUFileCache::FileSegmentCell * LRUFileCache::addCell( } /// For segments that do not reach the download threshold, we do not download them, but directly read them - return std::make_shared(offset, size, key, this, FileSegment::State::SKIP_CACHE); + result_state = FileSegment::State::SKIP_CACHE; } else { @@ -433,12 +402,11 @@ LRUFileCache::FileSegmentCell * LRUFileCache::addCell( queue_iter->hits++; stash_queue.moveToEnd(queue_iter, cache_lock); - state = queue_iter->hits >= enable_cache_hits_threshold ? FileSegment::State::EMPTY : FileSegment::State::SKIP_CACHE; - return std::make_shared(offset, size, key, this, state); + result_state = queue_iter->hits >= enable_cache_hits_threshold ? FileSegment::State::EMPTY : FileSegment::State::SKIP_CACHE; } } - else - return std::make_shared(offset, size, key, this, state); + + return std::make_shared(offset, size, key, this, result_state, is_persistent); }; FileSegmentCell cell(skip_or_download(), this, cache_lock); @@ -456,12 +424,16 @@ LRUFileCache::FileSegmentCell * LRUFileCache::addCell( throw Exception( ErrorCodes::LOGICAL_ERROR, "Failed to insert into cache key: `{}`, offset: {}, size: {}", - keyToStr(key), offset, size); + key.toString(), offset, size); return &(it->second); } -FileSegmentsHolder LRUFileCache::setDownloading(const Key & key, size_t offset, size_t size) +FileSegmentsHolder LRUFileCache::setDownloading( + const Key & key, + size_t offset, + size_t size, + bool is_persistent) { std::lock_guard cache_lock(mutex); @@ -474,14 +446,135 @@ FileSegmentsHolder LRUFileCache::setDownloading(const Key & key, size_t offset, throw Exception( ErrorCodes::REMOTE_FS_OBJECT_CACHE_ERROR, "Cache cell already exists for key `{}` and offset {}", - keyToStr(key), offset); + key.toString(), offset); - auto file_segments = splitRangeIntoCells(key, offset, size, FileSegment::State::DOWNLOADING, cache_lock); + auto file_segments = splitRangeIntoCells(key, offset, size, FileSegment::State::DOWNLOADING, is_persistent, cache_lock); return FileSegmentsHolder(std::move(file_segments)); } -bool LRUFileCache::tryReserve( - const Key & key, size_t offset, size_t size, std::lock_guard & cache_lock) +bool LRUFileCache::tryReserve(const Key & key, size_t offset, size_t size, std::lock_guard & cache_lock) +{ + auto query_context = enable_filesystem_query_cache_limit ? getCurrentQueryContext(cache_lock) : nullptr; + if (!query_context) + return tryReserveForMainList(key, offset, size, nullptr, cache_lock); + + /// The maximum cache capacity of the request is not reached, thus the + //// cache block is evicted from the main LRU queue by tryReserveForMainList(). + else if (query_context->getCacheSize() + size <= query_context->getMaxCacheSize()) + return tryReserveForMainList(key, offset, size, query_context, cache_lock); + + /// When skip_download_if_exceeds_query_cache is true, there is no need + /// to evict old data, skip the cache and read directly from remote fs. + else if (query_context->isSkipDownloadIfExceed()) + return false; + + /// The maximum cache size of the query is reached, the cache will be + /// evicted from the history cache accessed by the current query. + else + { + size_t removed_size = 0; + size_t queue_size = queue.getElementsNum(cache_lock); + + auto * cell_for_reserve = getCell(key, offset, cache_lock); + + std::vector ghost; + std::vector trash; + std::vector to_evict; + + auto is_overflow = [&] + { + return (max_size != 0 && queue.getTotalCacheSize(cache_lock) + size - removed_size > max_size) + || (max_element_size != 0 && queue_size > max_element_size) + || (query_context->getCacheSize() + size - removed_size > query_context->getMaxCacheSize()); + }; + + /// Select the cache from the LRU queue held by query for expulsion. + for (auto iter = query_context->queue().begin(); iter != query_context->queue().end(); iter++) + { + if (!is_overflow()) + break; + + auto * cell = getCell(iter->key, iter->offset, cache_lock); + + if (!cell) + { + /// The cache corresponding to this record may be swapped out by + /// other queries, so it has become invalid. + ghost.push_back(iter); + removed_size += iter->size; + } + else + { + size_t cell_size = cell->size(); + assert(iter->size == cell_size); + + if (cell->releasable()) + { + auto & file_segment = cell->file_segment; + std::lock_guard segment_lock(file_segment->mutex); + + switch (file_segment->download_state) + { + case FileSegment::State::DOWNLOADED: + { + to_evict.push_back(cell); + break; + } + default: + { + trash.push_back(cell); + break; + } + } + removed_size += cell_size; + --queue_size; + } + } + } + + auto remove_file_segment = [&](FileSegmentPtr file_segment, size_t file_segment_size) + { + query_context->remove(file_segment->key(), file_segment->offset(), file_segment_size, cache_lock); + + std::lock_guard segment_lock(file_segment->mutex); + remove(file_segment->key(), file_segment->offset(), cache_lock, segment_lock); + }; + + assert(trash.empty()); + for (auto & cell : trash) + { + if (auto file_segment = cell->file_segment) + remove_file_segment(file_segment, cell->size()); + } + + for (auto & iter : ghost) + query_context->remove(iter->key, iter->offset, iter->size, cache_lock); + + if (is_overflow()) + return false; + + if (cell_for_reserve) + { + auto queue_iterator = cell_for_reserve->queue_iterator; + if (queue_iterator) + queue.incrementSize(*queue_iterator, size, cache_lock); + else + cell_for_reserve->queue_iterator = queue.add(key, offset, size, cache_lock); + } + + for (auto & cell : to_evict) + { + if (auto file_segment = cell->file_segment) + remove_file_segment(file_segment, cell->size()); + } + + query_context->reserve(key, offset, size, cache_lock); + return true; + } +} + +bool LRUFileCache::tryReserveForMainList( + const Key & key, size_t offset, size_t size, QueryContextPtr query_context, std::lock_guard & cache_lock) { auto removed_size = 0; size_t queue_size = queue.getElementsNum(cache_lock); @@ -499,7 +592,7 @@ bool LRUFileCache::tryReserve( auto is_overflow = [&] { /// max_size == 0 means unlimited cache size, max_element_size means unlimited number of cache elements. - return (max_size != 0 && queue.getTotalWeight(cache_lock) + size - removed_size > max_size) + return (max_size != 0 && queue.getTotalCacheSize(cache_lock) + size - removed_size > max_size) || (max_element_size != 0 && queue_size > max_element_size); }; @@ -516,7 +609,7 @@ bool LRUFileCache::tryReserve( throw Exception( ErrorCodes::REMOTE_FS_OBJECT_CACHE_ERROR, "Cache became inconsistent. Key: {}, offset: {}", - keyToStr(key), offset); + key.toString(), offset); size_t cell_size = cell->size(); assert(entry_size == cell_size); @@ -552,18 +645,19 @@ bool LRUFileCache::tryReserve( } } + auto remove_file_segment = [&](FileSegmentPtr file_segment) + { + std::lock_guard segment_lock(file_segment->mutex); + remove(file_segment->key(), file_segment->offset(), cache_lock, segment_lock); + }; /// This case is very unlikely, can happen in case of exception from /// file_segment->complete(), which would be a logical error. assert(trash.empty()); for (auto & cell : trash) { - auto file_segment = cell->file_segment; - if (file_segment) - { - std::lock_guard segment_lock(file_segment->mutex); - remove(file_segment->key(), file_segment->offset(), cache_lock, segment_lock); - } + if (auto file_segment = cell->file_segment) + remove_file_segment(file_segment); } if (is_overflow()) @@ -584,21 +678,20 @@ bool LRUFileCache::tryReserve( for (auto & cell : to_evict) { - auto file_segment = cell->file_segment; - if (file_segment) - { - std::lock_guard segment_lock(file_segment->mutex); - remove(file_segment->key(), file_segment->offset(), cache_lock, segment_lock); - } + if (auto file_segment = cell->file_segment) + remove_file_segment(file_segment); } - if (queue.getTotalWeight(cache_lock) > (1ull << 63)) + if (queue.getTotalCacheSize(cache_lock) > (1ull << 63)) throw Exception(ErrorCodes::LOGICAL_ERROR, "Cache became inconsistent. There must be a bug"); + if (query_context) + query_context->reserve(key, offset, size, cache_lock); + return true; } -void LRUFileCache::remove(const Key & key) +void LRUFileCache::removeIfExists(const Key & key) { assertInitialized(); @@ -616,38 +709,45 @@ void LRUFileCache::remove(const Key & key) for (auto & [offset, cell] : offsets) to_remove.push_back(&cell); + bool some_cells_were_skipped = false; for (auto & cell : to_remove) { + /// In ordinary case we remove data from cache when it's not used by anyone. + /// But if we have multiple replicated zero-copy tables on the same server + /// it became possible to start removing something from cache when it is used + /// by other "zero-copy" tables. That is why it's not an error. if (!cell->releasable()) - throw Exception( - ErrorCodes::LOGICAL_ERROR, - "Cannot remove file from cache because someone reads from it. File segment info: {}", - cell->file_segment->getInfoForLog()); + { + some_cells_were_skipped = true; + continue; + } auto file_segment = cell->file_segment; if (file_segment) { std::lock_guard segment_lock(file_segment->mutex); + file_segment->detach(cache_lock, segment_lock); remove(file_segment->key(), file_segment->offset(), cache_lock, segment_lock); } } auto key_path = getPathInLocalCache(key); - files.erase(key); + if (!some_cells_were_skipped) + { + files.erase(key); - if (fs::exists(key_path)) - fs::remove(key_path); - -#ifndef NDEBUG - assertCacheCorrectness(cache_lock); -#endif + if (fs::exists(key_path)) + fs::remove_all(key_path); + } } -void LRUFileCache::remove() +void LRUFileCache::removeIfReleasable(bool remove_persistent_files) { /// Try remove all cached files by cache_base_path. /// Only releasable file segments are evicted. + /// `remove_persistent_files` defines whether non-evictable by some criteria files + /// (they do not comply with the cache eviction policy) should also be removed. std::lock_guard cache_lock(mutex); @@ -664,7 +764,10 @@ void LRUFileCache::remove() if (cell->releasable()) { auto file_segment = cell->file_segment; - if (file_segment) + if (file_segment + && (!file_segment->isPersistent() + || remove_persistent_files + || allow_to_remove_persistent_segments_from_cache_by_default)) { std::lock_guard segment_lock(file_segment->mutex); file_segment->detach(cache_lock, segment_lock); @@ -676,17 +779,23 @@ void LRUFileCache::remove() /// Remove all access information. records.clear(); stash_queue.removeAll(cache_lock); + +#ifndef NDEBUG + assertCacheCorrectness(cache_lock); +#endif } void LRUFileCache::remove( Key key, size_t offset, std::lock_guard & cache_lock, std::lock_guard & /* segment_lock */) { - LOG_TEST(log, "Remove. Key: {}, offset: {}", keyToStr(key), offset); + LOG_TEST(log, "Remove. Key: {}, offset: {}", key.toString(), offset); auto * cell = getCell(key, offset, cache_lock); if (!cell) - throw Exception(ErrorCodes::LOGICAL_ERROR, "No cache cell for key: {}, offset: {}", keyToStr(key), offset); + throw Exception(ErrorCodes::LOGICAL_ERROR, "No cache cell for key: {}, offset: {}", key.toString(), offset); + + bool is_persistent_file_segment = cell->file_segment->isPersistent(); if (cell->queue_iterator) { @@ -696,7 +805,7 @@ void LRUFileCache::remove( auto & offsets = files[key]; offsets.erase(offset); - auto cache_file_path = getPathInLocalCache(key, offset); + auto cache_file_path = getPathInLocalCache(key, offset, is_persistent_file_segment); if (fs::exists(cache_file_path)) { try @@ -710,14 +819,14 @@ void LRUFileCache::remove( files.erase(key); if (fs::exists(key_path)) - fs::remove(key_path); + fs::remove_all(key_path); } } catch (...) { throw Exception(ErrorCodes::REMOTE_FS_OBJECT_CACHE_ERROR, "Removal of cached file failed. Key: {}, offset: {}, path: {}, error: {}", - keyToStr(key), offset, cache_file_path, getCurrentExceptionMessage(false)); + key.toString(), offset, cache_file_path, getCurrentExceptionMessage(false)); } } } @@ -731,18 +840,33 @@ void LRUFileCache::loadCacheInfoIntoMemory(std::lock_guard & cache_l /// cache_base_path / key_prefix / key / offset + if (!files.empty()) + throw Exception(ErrorCodes::LOGICAL_ERROR, "Cache already initialized"); + fs::directory_iterator key_prefix_it{cache_base_path}; for (; key_prefix_it != fs::directory_iterator(); ++key_prefix_it) { fs::directory_iterator key_it{key_prefix_it->path()}; for (; key_it != fs::directory_iterator(); ++key_it) { - key = unhexUInt(key_it->path().filename().string().data()); + key = Key(unhexUInt(key_it->path().filename().string().data())); fs::directory_iterator offset_it{key_it->path()}; for (; offset_it != fs::directory_iterator(); ++offset_it) { - bool parsed = tryParse(offset, offset_it->path().filename()); + auto offset_with_suffix = offset_it->path().filename().string(); + auto delim_pos = offset_with_suffix.find('_'); + bool parsed; + bool is_persistent = false; + + if (delim_pos == std::string::npos) + parsed = tryParse(offset, offset_with_suffix); + else + { + parsed = tryParse(offset, offset_with_suffix.substr(0, delim_pos)); + is_persistent = offset_with_suffix.substr(delim_pos+1) == "persistent"; + } + if (!parsed) { LOG_WARNING(log, "Unexpected file: ", offset_it->path().string()); @@ -758,7 +882,7 @@ void LRUFileCache::loadCacheInfoIntoMemory(std::lock_guard & cache_l if (tryReserve(key, offset, size, cache_lock)) { - auto * cell = addCell(key, offset, size, FileSegment::State::DOWNLOADED, cache_lock); + auto * cell = addCell(key, offset, size, FileSegment::State::DOWNLOADED, is_persistent, cache_lock); if (cell) queue_entries.emplace_back(*cell->queue_iterator, cell->file_segment); } @@ -807,7 +931,7 @@ void LRUFileCache::reduceSizeToDownloaded( throw Exception( ErrorCodes::LOGICAL_ERROR, "No cell found for key: {}, offset: {}", - keyToStr(key), offset); + key.toString(), offset); } const auto & file_segment = cell->file_segment; @@ -818,7 +942,7 @@ void LRUFileCache::reduceSizeToDownloaded( throw Exception( ErrorCodes::LOGICAL_ERROR, "Nothing to reduce, file segment fully downloaded, key: {}, offset: {}", - keyToStr(key), offset); + key.toString(), offset); } cell->file_segment = std::make_shared(offset, downloaded_size, key, this, FileSegment::State::DOWNLOADED); @@ -831,7 +955,7 @@ bool LRUFileCache::isLastFileSegmentHolder( auto * cell = getCell(key, offset, cache_lock); if (!cell) - throw Exception(ErrorCodes::LOGICAL_ERROR, "No cell found for key: {}, offset: {}", keyToStr(key), offset); + throw Exception(ErrorCodes::LOGICAL_ERROR, "No cell found for key: {}, offset: {}", key.toString(), offset); /// The caller of this method is last file segment holder if use count is 2 (the second pointer is cache itself) return cell->file_segment.use_count() == 2; @@ -848,7 +972,6 @@ FileSegments LRUFileCache::getSnapshot() const for (const auto & [offset, cell] : cells_by_offset) file_segments.push_back(FileSegment::getSnapshot(cell.file_segment, cache_lock)); } - return file_segments; } @@ -863,7 +986,7 @@ std::vector LRUFileCache::tryGetCachePaths(const Key & key) for (const auto & [offset, cell] : cells_by_offset) { if (cell.file_segment->state() == FileSegment::State::DOWNLOADED) - cache_paths.push_back(getPathInLocalCache(key, offset)); + cache_paths.push_back(getPathInLocalCache(key, offset, cell.file_segment->isPersistent())); } return cache_paths; @@ -877,7 +1000,7 @@ size_t LRUFileCache::getUsedCacheSize() const size_t LRUFileCache::getUsedCacheSizeUnlocked(std::lock_guard & cache_lock) const { - return queue.getTotalWeight(cache_lock); + return queue.getTotalCacheSize(cache_lock); } size_t LRUFileCache::getAvailableCacheSize() const @@ -934,7 +1057,7 @@ LRUFileCache::FileSegmentCell::FileSegmentCell( } } -LRUFileCache::LRUQueue::Iterator LRUFileCache::LRUQueue::add( +IFileCache::LRUQueue::Iterator IFileCache::LRUQueue::add( const IFileCache::Key & key, size_t offset, size_t size, std::lock_guard & /* cache_lock */) { #ifndef NDEBUG @@ -944,7 +1067,7 @@ LRUFileCache::LRUQueue::Iterator LRUFileCache::LRUQueue::add( throw Exception( ErrorCodes::LOGICAL_ERROR, "Attempt to add duplicate queue entry to queue. (Key: {}, offset: {}, size: {})", - keyToStr(key), offset, size); + key.toString(), offset, size); } #endif @@ -952,30 +1075,30 @@ LRUFileCache::LRUQueue::Iterator LRUFileCache::LRUQueue::add( return queue.insert(queue.end(), FileKeyAndOffset(key, offset, size)); } -void LRUFileCache::LRUQueue::remove(Iterator queue_it, std::lock_guard & /* cache_lock */) +void IFileCache::LRUQueue::remove(Iterator queue_it, std::lock_guard & /* cache_lock */) { cache_size -= queue_it->size; queue.erase(queue_it); } -void LRUFileCache::LRUQueue::removeAll(std::lock_guard & /* cache_lock */) +void IFileCache::LRUQueue::removeAll(std::lock_guard & /* cache_lock */) { queue.clear(); cache_size = 0; } -void LRUFileCache::LRUQueue::moveToEnd(Iterator queue_it, std::lock_guard & /* cache_lock */) +void IFileCache::LRUQueue::moveToEnd(Iterator queue_it, std::lock_guard & /* cache_lock */) { queue.splice(queue.end(), queue, queue_it); } -void LRUFileCache::LRUQueue::incrementSize(Iterator queue_it, size_t size_increment, std::lock_guard & /* cache_lock */) +void IFileCache::LRUQueue::incrementSize(Iterator queue_it, size_t size_increment, std::lock_guard & /* cache_lock */) { cache_size += size_increment; queue_it->size += size_increment; } -bool LRUFileCache::LRUQueue::contains( +bool IFileCache::LRUQueue::contains( const IFileCache::Key & key, size_t offset, std::lock_guard & /* cache_lock */) const { /// This method is used for assertions in debug mode. @@ -988,38 +1111,14 @@ bool LRUFileCache::LRUQueue::contains( return false; } -void LRUFileCache::LRUQueue::assertCorrectness(LRUFileCache * cache, std::lock_guard & cache_lock) -{ - [[maybe_unused]] size_t total_size = 0; - for (auto it = queue.begin(); it != queue.end();) - { - auto & [key, offset, size, _] = *it++; - - auto * cell = cache->getCell(key, offset, cache_lock); - if (!cell) - { - throw Exception( - ErrorCodes::LOGICAL_ERROR, - "Cache is in inconsistent state: LRU queue contains entries with no cache cell (assertCorrectness())"); - } - - assert(cell->size() == size); - total_size += size; - } - - assert(total_size == cache_size); - assert(cache_size <= cache->max_size); - assert(queue.size() <= cache->max_element_size); -} - -String LRUFileCache::LRUQueue::toString(std::lock_guard & /* cache_lock */) const +String IFileCache::LRUQueue::toString(std::lock_guard & /* cache_lock */) const { String result; for (const auto & [key, offset, size, _] : queue) { if (!result.empty()) result += ", "; - result += fmt::format("{}: [{}, {}]", keyToStr(key), offset, offset + size - 1); + result += fmt::format("{}: [{}, {}]", key.toString(), offset, offset + size - 1); } return result; } @@ -1061,14 +1160,38 @@ void LRUFileCache::assertCacheCellsCorrectness( void LRUFileCache::assertCacheCorrectness(const Key & key, std::lock_guard & cache_lock) { assertCacheCellsCorrectness(files[key], cache_lock); - queue.assertCorrectness(this, cache_lock); + assertQueueCorrectness(cache_lock); } void LRUFileCache::assertCacheCorrectness(std::lock_guard & cache_lock) { for (const auto & [key, cells_by_offset] : files) assertCacheCellsCorrectness(files[key], cache_lock); - queue.assertCorrectness(this, cache_lock); + assertQueueCorrectness(cache_lock); +} + +void LRUFileCache::assertQueueCorrectness(std::lock_guard & cache_lock) +{ + [[maybe_unused]] size_t total_size = 0; + for (auto it = queue.begin(); it != queue.end();) + { + auto & [key, offset, size, _] = *it++; + + auto * cell = getCell(key, offset, cache_lock); + if (!cell) + { + throw Exception( + ErrorCodes::LOGICAL_ERROR, + "Cache is in inconsistent state: LRU queue contains entries with no cache cell (assertCorrectness())"); + } + + assert(cell->size() == size); + total_size += size; + } + + assert(total_size == queue.getTotalCacheSize(cache_lock)); + assert(queue.getTotalCacheSize(cache_lock) <= max_size); + assert(queue.getElementsNum(cache_lock) <= max_element_size); } } diff --git a/src/Common/LRUFileCache.h b/src/Common/LRUFileCache.h new file mode 100644 index 00000000000..059fc0c22c9 --- /dev/null +++ b/src/Common/LRUFileCache.h @@ -0,0 +1,157 @@ +#pragma once + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include + + +namespace DB +{ + +/** + * Local cache for remote filesystem files, represented as a set of non-overlapping non-empty file segments. + * Implements LRU eviction policy. + */ +class LRUFileCache final : public IFileCache +{ +public: + LRUFileCache( + const String & cache_base_path_, + const FileCacheSettings & cache_settings_); + + FileSegmentsHolder getOrSet(const Key & key, size_t offset, size_t size, bool is_persistent) override; + + FileSegmentsHolder get(const Key & key, size_t offset, size_t size) override; + + FileSegments getSnapshot() const override; + + void initialize() override; + + void removeIfExists(const Key & key) override; + + void removeIfReleasable(bool remove_persistent_files) override; + + std::vector tryGetCachePaths(const Key & key) override; + + size_t getUsedCacheSize() const override; + + size_t getFileSegmentsNum() const override; + +private: + struct FileSegmentCell : private boost::noncopyable + { + FileSegmentPtr file_segment; + + /// Iterator is put here on first reservation attempt, if successful. + std::optional queue_iterator; + + /// Pointer to file segment is always hold by the cache itself. + /// Apart from pointer in cache, it can be hold by cache users, when they call + /// getorSet(), but cache users always hold it via FileSegmentsHolder. + bool releasable() const {return file_segment.unique(); } + + size_t size() const { return file_segment->reserved_size; } + + FileSegmentCell(FileSegmentPtr file_segment_, LRUFileCache * cache, std::lock_guard & cache_lock); + + FileSegmentCell(FileSegmentCell && other) noexcept + : file_segment(std::move(other.file_segment)) + , queue_iterator(other.queue_iterator) {} + }; + + using FileSegmentsByOffset = std::map; + using CachedFiles = std::unordered_map; + + CachedFiles files; + LRUQueue queue; + + LRUQueue stash_queue; + AccessRecord records; + + size_t max_stash_element_size; + size_t enable_cache_hits_threshold; + + Poco::Logger * log; + bool allow_to_remove_persistent_segments_from_cache_by_default; + + FileSegments getImpl( + const Key & key, const FileSegment::Range & range, + std::lock_guard & cache_lock); + + FileSegmentCell * getCell( + const Key & key, size_t offset, std::lock_guard & cache_lock); + + FileSegmentCell * addCell( + const Key & key, size_t offset, size_t size, + FileSegment::State state, bool is_persistent, + std::lock_guard & cache_lock); + + void useCell(const FileSegmentCell & cell, FileSegments & result, std::lock_guard & cache_lock); + + bool tryReserve( + const Key & key, size_t offset, size_t size, + std::lock_guard & cache_lock) override; + + bool tryReserveForMainList( + const Key & key, size_t offset, size_t size, + QueryContextPtr query_context, + std::lock_guard & cache_lock); + + void remove( + Key key, size_t offset, + std::lock_guard & cache_lock, + std::lock_guard & segment_lock) override; + + bool isLastFileSegmentHolder( + const Key & key, size_t offset, + std::lock_guard & cache_lock, + std::lock_guard & segment_lock) override; + + size_t getAvailableCacheSize() const; + + void loadCacheInfoIntoMemory(std::lock_guard & cache_lock); + + FileSegments splitRangeIntoCells( + const Key & key, size_t offset, size_t size, FileSegment::State state, bool is_persistent, std::lock_guard & cache_lock); + + String dumpStructureUnlocked(const Key & key_, std::lock_guard & cache_lock); + + void fillHolesWithEmptyFileSegments( + FileSegments & file_segments, const Key & key, const FileSegment::Range & range, bool fill_with_detached_file_segments, bool is_persistent, std::lock_guard & cache_lock); + + FileSegmentsHolder setDownloading(const Key & key, size_t offset, size_t size, bool is_persistent) override; + + size_t getUsedCacheSizeUnlocked(std::lock_guard & cache_lock) const; + + size_t getAvailableCacheSizeUnlocked(std::lock_guard & cache_lock) const; + + size_t getFileSegmentsNumUnlocked(std::lock_guard & cache_lock) const; + + void assertCacheCellsCorrectness(const FileSegmentsByOffset & cells_by_offset, std::lock_guard & cache_lock); + + void reduceSizeToDownloaded( + const Key & key, size_t offset, + std::lock_guard & cache_lock, std::lock_guard & /* segment_lock */) override; + +public: + String dumpStructure(const Key & key_) override; + + void assertCacheCorrectness(const Key & key, std::lock_guard & cache_lock); + + void assertCacheCorrectness(std::lock_guard & cache_lock); + + void assertQueueCorrectness(std::lock_guard & cache_lock); +}; + +} diff --git a/src/Common/LocalDate.h b/src/Common/LocalDate.h index 5d070e77647..dc36f92bebf 100644 --- a/src/Common/LocalDate.h +++ b/src/Common/LocalDate.h @@ -1,6 +1,6 @@ #pragma once -#include +#include #include #include #include diff --git a/src/Common/MemoryTracker.cpp b/src/Common/MemoryTracker.cpp index 0e7803aaa71..a9aef7d8465 100644 --- a/src/Common/MemoryTracker.cpp +++ b/src/Common/MemoryTracker.cpp @@ -16,6 +16,7 @@ #include #include #include +#include #ifdef MEMORY_TRACKER_DEBUG_CHECKS @@ -52,11 +53,37 @@ namespace DB } } +namespace +{ + +inline std::string_view toDescription(OvercommitResult result) +{ + switch (result) + { + case OvercommitResult::NONE: + return "Memory overcommit isn't used. OvercommitTracker isn't set."; + case OvercommitResult::DISABLED: + return "Memory overcommit isn't used. Waiting time or orvercommit denominator are set to zero."; + case OvercommitResult::MEMORY_FREED: + throw DB::Exception(DB::ErrorCodes::LOGICAL_ERROR, "OvercommitResult::MEMORY_FREED shouldn't be asked for description"); + case OvercommitResult::SELECTED: + return "Query was selected to stop by OvercommitTracker."; + case OvercommitResult::TIMEOUTED: + return "Waiting timeout for memory to be freed is reached."; + case OvercommitResult::NOT_ENOUGH_FREED: + return "Memory overcommit has freed not enough memory."; + } +} + +} + namespace ProfileEvents { extern const Event QueryMemoryLimitExceeded; } +using namespace std::chrono_literals; + static constexpr size_t log_peak_memory_usage_every = 1ULL << 30; MemoryTracker total_memory_tracker(nullptr, VariableContext::Global); @@ -189,11 +216,11 @@ void MemoryTracker::allocImpl(Int64 size, bool throw_if_memory_exceeded, MemoryT if (unlikely(current_hard_limit && will_be > current_hard_limit) && memoryTrackerCanThrow(level, false) && throw_if_memory_exceeded) { - bool need_to_throw = true; + OvercommitResult overcommit_result = OvercommitResult::NONE; if (auto * overcommit_tracker_ptr = overcommit_tracker.load(std::memory_order_relaxed); overcommit_tracker_ptr != nullptr && query_tracker != nullptr) - need_to_throw = overcommit_tracker_ptr->needToStopQuery(query_tracker, size); + overcommit_result = overcommit_tracker_ptr->needToStopQuery(query_tracker, size); - if (need_to_throw) + if (overcommit_result != OvercommitResult::MEMORY_FREED) { /// Prevent recursion. Exception::ctor -> std::string -> new[] -> MemoryTracker::alloc MemoryTrackerBlockerInThread untrack_lock(VariableContext::Global); @@ -201,12 +228,13 @@ void MemoryTracker::allocImpl(Int64 size, bool throw_if_memory_exceeded, MemoryT const auto * description = description_ptr.load(std::memory_order_relaxed); throw DB::Exception( DB::ErrorCodes::MEMORY_LIMIT_EXCEEDED, - "Memory limit{}{} exceeded: would use {} (attempt to allocate chunk of {} bytes), maximum: {}", + "Memory limit{}{} exceeded: would use {} (attempt to allocate chunk of {} bytes), maximum: {}. OvercommitTracker decision: {}.", description ? " " : "", description ? description : "", formatReadableSizeWithBinarySuffix(will_be), size, - formatReadableSizeWithBinarySuffix(current_hard_limit)); + formatReadableSizeWithBinarySuffix(current_hard_limit), + toDescription(overcommit_result)); } else { @@ -310,11 +338,8 @@ void MemoryTracker::free(Int64 size) accounted_size += new_amount; } } - if (!OvercommitTrackerBlockerInThread::isBlocked()) - { - if (auto * overcommit_tracker_ptr = overcommit_tracker.load(std::memory_order_relaxed); overcommit_tracker_ptr) - overcommit_tracker_ptr->tryContinueQueryExecutionAfterFree(accounted_size); - } + if (auto * overcommit_tracker_ptr = overcommit_tracker.load(std::memory_order_relaxed)) + overcommit_tracker_ptr->tryContinueQueryExecutionAfterFree(accounted_size); if (auto * loaded_next = parent.load(std::memory_order_relaxed)) loaded_next->free(size); @@ -337,6 +362,12 @@ OvercommitRatio MemoryTracker::getOvercommitRatio(Int64 limit) } +void MemoryTracker::setOvercommitWaitingTime(UInt64 wait_time) +{ + max_wait_time.store(wait_time * 1us, std::memory_order_relaxed); +} + + void MemoryTracker::resetCounters() { amount.store(0, std::memory_order_relaxed); diff --git a/src/Common/MemoryTracker.h b/src/Common/MemoryTracker.h index 73af2ab8857..58bd3a460bd 100644 --- a/src/Common/MemoryTracker.h +++ b/src/Common/MemoryTracker.h @@ -1,6 +1,7 @@ #pragma once #include +#include #include #include #include @@ -73,6 +74,8 @@ private: /// This description will be used as prefix into log messages (if isn't nullptr) std::atomic description_ptr = nullptr; + std::atomic max_wait_time; + std::atomic overcommit_tracker = nullptr; bool updatePeak(Int64 will_be, bool log_memory_usage); @@ -186,6 +189,13 @@ public: OvercommitRatio getOvercommitRatio(); OvercommitRatio getOvercommitRatio(Int64 limit); + std::chrono::microseconds getOvercommitWaitingTime() + { + return max_wait_time.load(std::memory_order_relaxed); + } + + void setOvercommitWaitingTime(UInt64 wait_time); + void setOvercommitTracker(OvercommitTracker * tracker) noexcept { overcommit_tracker.store(tracker, std::memory_order_relaxed); diff --git a/src/Common/MultiVersion.h b/src/Common/MultiVersion.h index a36a1f8ca5f..8a6eac0abad 100644 --- a/src/Common/MultiVersion.h +++ b/src/Common/MultiVersion.h @@ -2,6 +2,7 @@ #include #include +#include /** Allow to store and read-only usage of an object in several threads, @@ -51,6 +52,6 @@ public: } private: - Version current_version; + Version current_version TSA_GUARDED_BY(mutex); mutable std::mutex mutex; }; diff --git a/src/Common/OvercommitTracker.cpp b/src/Common/OvercommitTracker.cpp index dbacc0d81a4..0dea6589adc 100644 --- a/src/Common/OvercommitTracker.cpp +++ b/src/Common/OvercommitTracker.cpp @@ -2,30 +2,50 @@ #include #include +#include #include +namespace ProfileEvents +{ + extern const Event MemoryOvercommitWaitTimeMicroseconds; +} + using namespace std::chrono_literals; constexpr std::chrono::microseconds ZERO_MICROSEC = 0us; OvercommitTracker::OvercommitTracker(std::mutex & global_mutex_) - : max_wait_time(ZERO_MICROSEC) - , picked_tracker(nullptr) + : picked_tracker(nullptr) , cancellation_state(QueryCancellationState::NONE) , global_mutex(global_mutex_) , freed_memory(0) , required_memory(0) + , next_id(0) + , id_to_release(0) , allow_release(true) {} -void OvercommitTracker::setMaxWaitTime(UInt64 wait_time) -{ - std::lock_guard guard(overcommit_m); - max_wait_time = wait_time * 1us; -} +#define LOG_DEBUG_SAFE(...) \ + do { \ + OvercommitTrackerBlockerInThread blocker; \ + try \ + { \ + ALLOW_ALLOCATIONS_IN_SCOPE; \ + LOG_DEBUG(__VA_ARGS__); \ + } \ + catch (...) \ + { \ + if (fprintf(stderr, "Allocation failed during writing to log in OvercommitTracker\n") != -1) \ + ; \ + } \ + } while (false) -bool OvercommitTracker::needToStopQuery(MemoryTracker * tracker, Int64 amount) +OvercommitResult OvercommitTracker::needToStopQuery(MemoryTracker * tracker, Int64 amount) { + DENY_ALLOCATIONS_IN_SCOPE; + + if (OvercommitTrackerBlockerInThread::isBlocked()) + return OvercommitResult::NONE; // NOTE: Do not change the order of locks // // global_mutex must be acquired before overcommit_m, because @@ -35,8 +55,12 @@ bool OvercommitTracker::needToStopQuery(MemoryTracker * tracker, Int64 amount) std::unique_lock global_lock(global_mutex); std::unique_lock lk(overcommit_m); + size_t id = next_id++; + + auto max_wait_time = tracker->getOvercommitWaitingTime(); + if (max_wait_time == ZERO_MICROSEC) - return true; + return OvercommitResult::DISABLED; pickQueryToExclude(); assert(cancellation_state != QueryCancellationState::NONE); @@ -50,7 +74,7 @@ bool OvercommitTracker::needToStopQuery(MemoryTracker * tracker, Int64 amount) // picked_tracker to be not null pointer. assert(cancellation_state == QueryCancellationState::SELECTED); cancellation_state = QueryCancellationState::NONE; - return true; + return OvercommitResult::DISABLED; } if (picked_tracker == tracker) { @@ -58,37 +82,48 @@ bool OvercommitTracker::needToStopQuery(MemoryTracker * tracker, Int64 amount) // It may happen even when current state is RUNNING, because // ThreadStatus::~ThreadStatus may call MemoryTracker::alloc. cancellation_state = QueryCancellationState::RUNNING; - return true; + return OvercommitResult::SELECTED; } allow_release = true; required_memory += amount; - required_per_thread[tracker] = amount; - bool timeout = !cv.wait_for(lk, max_wait_time, [this, tracker]() + auto wait_start_time = std::chrono::system_clock::now(); + bool timeout = !cv.wait_for(lk, max_wait_time, [this, id]() { - return required_per_thread[tracker] == 0 || cancellation_state == QueryCancellationState::NONE; + return id < id_to_release || cancellation_state == QueryCancellationState::NONE; }); - LOG_DEBUG(getLogger(), "Memory was{} freed within timeout", (timeout ? " not" : "")); + auto wait_end_time = std::chrono::system_clock::now(); + ProfileEvents::increment(ProfileEvents::MemoryOvercommitWaitTimeMicroseconds, (wait_end_time - wait_start_time) / 1us); + LOG_DEBUG_SAFE(getLogger(), "Memory was{} freed within timeout", (timeout ? " not" : "")); required_memory -= amount; - Int64 still_need = required_per_thread[tracker]; // If enough memory is freed it will be 0 - required_per_thread.erase(tracker); + bool still_need = !(id < id_to_release); // True if thread wasn't released // If threads where not released since last call of this method, // we can release them now. - if (allow_release && required_memory <= freed_memory && still_need != 0) + if (allow_release && required_memory <= freed_memory && still_need) releaseThreads(); // All required amount of memory is free now and selected query to stop doesn't know about it. // As we don't need to free memory, we can continue execution of the selected query. if (required_memory == 0 && cancellation_state == QueryCancellationState::SELECTED) reset(); - return timeout || still_need != 0; + if (timeout) + return OvercommitResult::TIMEOUTED; + if (still_need) + return OvercommitResult::NOT_ENOUGH_FREED; + else + return OvercommitResult::MEMORY_FREED; } void OvercommitTracker::tryContinueQueryExecutionAfterFree(Int64 amount) { + DENY_ALLOCATIONS_IN_SCOPE; + + if (OvercommitTrackerBlockerInThread::isBlocked()) + return; + std::lock_guard guard(overcommit_m); if (cancellation_state != QueryCancellationState::NONE) { @@ -100,10 +135,12 @@ void OvercommitTracker::tryContinueQueryExecutionAfterFree(Int64 amount) void OvercommitTracker::onQueryStop(MemoryTracker * tracker) { - std::unique_lock lk(overcommit_m); + DENY_ALLOCATIONS_IN_SCOPE; + + std::lock_guard lk(overcommit_m); if (picked_tracker == tracker) { - LOG_DEBUG(getLogger(), "Picked query stopped"); + LOG_DEBUG_SAFE(getLogger(), "Picked query stopped"); reset(); cv.notify_all(); @@ -112,8 +149,7 @@ void OvercommitTracker::onQueryStop(MemoryTracker * tracker) void OvercommitTracker::releaseThreads() { - for (auto & required : required_per_thread) - required.second = 0; + id_to_release = next_id; freed_memory = 0; allow_release = false; // To avoid repeating call of this method in OvercommitTracker::needToStopQuery cv.notify_all(); @@ -131,7 +167,7 @@ void UserOvercommitTracker::pickQueryToExcludeImpl() // At this moment query list must be read only. // This is guaranteed by locking global_mutex in OvercommitTracker::needToStopQuery. auto & queries = user_process_list->queries; - LOG_DEBUG(logger, "Trying to choose query to stop from {} queries", queries.size()); + LOG_DEBUG_SAFE(logger, "Trying to choose query to stop from {} queries", queries.size()); for (auto const & query : queries) { if (query.second->isKilled()) @@ -142,14 +178,14 @@ void UserOvercommitTracker::pickQueryToExcludeImpl() continue; auto ratio = memory_tracker->getOvercommitRatio(); - LOG_DEBUG(logger, "Query has ratio {}/{}", ratio.committed, ratio.soft_limit); + LOG_DEBUG_SAFE(logger, "Query has ratio {}/{}", ratio.committed, ratio.soft_limit); if (ratio.soft_limit != 0 && current_ratio < ratio) { query_tracker = memory_tracker; current_ratio = ratio; } } - LOG_DEBUG(logger, "Selected to stop query with overcommit ratio {}/{}", + LOG_DEBUG_SAFE(logger, "Selected to stop query with overcommit ratio {}/{}", current_ratio.committed, current_ratio.soft_limit); picked_tracker = query_tracker; } @@ -165,7 +201,7 @@ void GlobalOvercommitTracker::pickQueryToExcludeImpl() OvercommitRatio current_ratio{0, 0}; // At this moment query list must be read only. // This is guaranteed by locking global_mutex in OvercommitTracker::needToStopQuery. - LOG_DEBUG(logger, "Trying to choose query to stop from {} queries", process_list->size()); + LOG_DEBUG_SAFE(logger, "Trying to choose query to stop from {} queries", process_list->size()); for (auto const & query : process_list->processes) { if (query.isKilled()) @@ -181,14 +217,14 @@ void GlobalOvercommitTracker::pickQueryToExcludeImpl() if (!memory_tracker) continue; auto ratio = memory_tracker->getOvercommitRatio(user_soft_limit); - LOG_DEBUG(logger, "Query has ratio {}/{}", ratio.committed, ratio.soft_limit); + LOG_DEBUG_SAFE(logger, "Query has ratio {}/{}", ratio.committed, ratio.soft_limit); if (current_ratio < ratio) { query_tracker = memory_tracker; current_ratio = ratio; } } - LOG_DEBUG(logger, "Selected to stop query with overcommit ratio {}/{}", + LOG_DEBUG_SAFE(logger, "Selected to stop query with overcommit ratio {}/{}", current_ratio.committed, current_ratio.soft_limit); picked_tracker = query_tracker; } diff --git a/src/Common/OvercommitTracker.h b/src/Common/OvercommitTracker.h index 37de75f4848..6f6788493a9 100644 --- a/src/Common/OvercommitTracker.h +++ b/src/Common/OvercommitTracker.h @@ -36,6 +36,16 @@ struct OvercommitRatio class MemoryTracker; +enum class OvercommitResult +{ + NONE, + DISABLED, + MEMORY_FREED, + SELECTED, + TIMEOUTED, + NOT_ENOUGH_FREED, +}; + enum class QueryCancellationState { NONE = 0, // Hard limit is not reached, there is no selected query to kill. @@ -52,9 +62,7 @@ enum class QueryCancellationState // is killed to free memory. struct OvercommitTracker : boost::noncopyable { - void setMaxWaitTime(UInt64 wait_time); - - bool needToStopQuery(MemoryTracker * tracker, Int64 amount); + OvercommitResult needToStopQuery(MemoryTracker * tracker, Int64 amount); void tryContinueQueryExecutionAfterFree(Int64 amount); @@ -72,8 +80,6 @@ protected: std::mutex overcommit_m; std::condition_variable cv; - std::chrono::microseconds max_wait_time; - // Specifies memory tracker of the chosen to stop query. // If soft limit is not set, all the queries which reach hard limit must stop. // This case is represented as picked tracker pointer is set to nullptr and @@ -98,6 +104,10 @@ private: picked_tracker = nullptr; cancellation_state = QueryCancellationState::NONE; freed_memory = 0; + + next_id = 0; + id_to_release = 0; + allow_release = true; } @@ -105,8 +115,6 @@ private: QueryCancellationState cancellation_state; - std::unordered_map required_per_thread; - // Global mutex which is used in ProcessList to synchronize // insertion and deletion of queries. // OvercommitTracker::pickQueryToExcludeImpl() implementations @@ -116,6 +124,9 @@ private: Int64 freed_memory; Int64 required_memory; + size_t next_id; // Id provided to the next thread to come in OvercommitTracker + size_t id_to_release; // We can release all threads with id smaller than this + bool allow_release; }; diff --git a/src/Common/PODArray.h b/src/Common/PODArray.h index e4c1969383b..44be28eab75 100644 --- a/src/Common/PODArray.h +++ b/src/Common/PODArray.h @@ -1,6 +1,6 @@ #pragma once -#include +#include #include #include #include diff --git a/src/Common/PipeFDs.cpp b/src/Common/PipeFDs.cpp index b86115904d4..bea7546a8cd 100644 --- a/src/Common/PipeFDs.cpp +++ b/src/Common/PipeFDs.cpp @@ -27,7 +27,7 @@ void LazyPipeFDs::open() if (fd >= 0) throw Exception("Pipe is already opened", ErrorCodes::LOGICAL_ERROR); -#ifndef __APPLE__ +#ifndef OS_DARWIN if (0 != pipe2(fds_rw, O_CLOEXEC)) throwFromErrno("Cannot create pipe", ErrorCodes::CANNOT_PIPE); #else diff --git a/src/Common/PoolBase.h b/src/Common/PoolBase.h index 4b4e2c5cfa7..dac126fb5d7 100644 --- a/src/Common/PoolBase.h +++ b/src/Common/PoolBase.h @@ -55,7 +55,7 @@ private: explicit PoolEntryHelper(PooledObject & data_) : data(data_) { data.in_use = true; } ~PoolEntryHelper() { - std::unique_lock lock(data.pool.mutex); + std::lock_guard lock(data.pool.mutex); data.in_use = false; data.pool.available.notify_one(); } @@ -163,7 +163,7 @@ public: inline size_t size() { - std::unique_lock lock(mutex); + std::lock_guard lock(mutex); return items.size(); } diff --git a/src/Common/ProcfsMetricsProvider.cpp b/src/Common/ProcfsMetricsProvider.cpp index 44a11a85c7c..105278febb0 100644 --- a/src/Common/ProcfsMetricsProvider.cpp +++ b/src/Common/ProcfsMetricsProvider.cpp @@ -1,6 +1,6 @@ #include "ProcfsMetricsProvider.h" -#if defined(__linux__) +#if defined(OS_LINUX) #include #include diff --git a/src/Common/ProcfsMetricsProvider.h b/src/Common/ProcfsMetricsProvider.h index 785ee077fdc..e9bc041f291 100644 --- a/src/Common/ProcfsMetricsProvider.h +++ b/src/Common/ProcfsMetricsProvider.h @@ -4,7 +4,7 @@ #include -#if defined(__linux__) +#if defined(OS_LINUX) struct taskstats; namespace DB @@ -19,7 +19,7 @@ public: /// Updates only a part of taskstats struct's fields: /// - cpu_run_virtual_total, cpu_delay_total (when /proc/thread-self/schedstat is available) /// - blkio_delay_total (when /proc/thread-self/stat is available) - /// - rchar, wchar, read_bytes, write_bytes (when /prod/thread-self/io is available) + /// - rchar, wchar, read_bytes, write_bytes (when /proc/thread-self/io is available) /// See: man procfs void getTaskStats(::taskstats & out_stats) const; diff --git a/src/Common/ProfileEvents.cpp b/src/Common/ProfileEvents.cpp index 7f3b9788c1f..6a15b3be699 100644 --- a/src/Common/ProfileEvents.cpp +++ b/src/Common/ProfileEvents.cpp @@ -92,6 +92,7 @@ M(ZooKeeperSet, "") \ M(ZooKeeperMulti, "") \ M(ZooKeeperCheck, "") \ + M(ZooKeeperSync, "") \ M(ZooKeeperClose, "") \ M(ZooKeeperWatchResponse, "") \ M(ZooKeeperUserExceptions, "") \ @@ -144,6 +145,13 @@ M(MergeTreeDataWriterBlocks, "Number of blocks INSERTed to MergeTree tables. Each block forms a data part of level zero.") \ M(MergeTreeDataWriterBlocksAlreadySorted, "Number of blocks INSERTed to MergeTree tables that appeared to be already sorted.") \ \ + M(InsertedWideParts, "Number of parts inserted in Wide format.") \ + M(InsertedCompactParts, "Number of parts inserted in Compact format.") \ + M(InsertedInMemoryParts, "Number of parts inserted in InMemory format.") \ + M(MergedIntoWideParts, "Number of parts merged into Wide format.") \ + M(MergedIntoCompactParts, "Number of parts merged into Compact format.") \ + M(MergedIntoInMemoryParts, "Number of parts in merged into InMemory format.") \ + \ M(MergeTreeDataProjectionWriterRows, "Number of rows INSERTed to MergeTree tables projection.") \ M(MergeTreeDataProjectionWriterUncompressedBytes, "Uncompressed bytes (for columns as they stored in memory) INSERTed to MergeTree tables projection.") \ M(MergeTreeDataProjectionWriterCompressedBytes, "Bytes written to filesystem for data INSERTed to MergeTree tables projection.") \ @@ -192,6 +200,7 @@ M(RealTimeMicroseconds, "Total (wall clock) time spent in processing (queries and other tasks) threads (not that this is a sum).") \ M(UserTimeMicroseconds, "Total time spent in processing (queries and other tasks) threads executing CPU instructions in user space. This include time CPU pipeline was stalled due to cache misses, branch mispredictions, hyper-threading, etc.") \ M(SystemTimeMicroseconds, "Total time spent in processing (queries and other tasks) threads executing CPU instructions in OS kernel space. This include time CPU pipeline was stalled due to cache misses, branch mispredictions, hyper-threading, etc.") \ + M(MemoryOvercommitWaitTimeMicroseconds, "Total time spent in waiting for memory to be freed in OvercommitTracker.") \ M(SoftPageFaults, "") \ M(HardPageFaults, "") \ \ diff --git a/src/Common/ProfileEvents.h b/src/Common/ProfileEvents.h index 14d134a14a0..6eebb75c5ca 100644 --- a/src/Common/ProfileEvents.h +++ b/src/Common/ProfileEvents.h @@ -4,7 +4,7 @@ #include "base/types.h" #include #include -#include +#include /** Implements global counters for various events happening in the application * - for high level profiling. diff --git a/src/Common/ProgressIndication.cpp b/src/Common/ProgressIndication.cpp index ffc90807060..7bea00f5b1e 100644 --- a/src/Common/ProgressIndication.cpp +++ b/src/Common/ProgressIndication.cpp @@ -19,7 +19,7 @@ namespace double calculateCPUUsage(DB::ThreadIdToTimeMap times, UInt64 elapsed) { auto accumulated = std::accumulate(times.begin(), times.end(), 0, - [](Int64 acc, const auto & elem) + [](UInt64 acc, const auto & elem) { if (elem.first == ALL_THREADS) return acc; @@ -53,8 +53,11 @@ void ProgressIndication::resetProgress() show_progress_bar = false; written_progress_chars = 0; write_progress_on_update = false; - host_cpu_usage.clear(); - thread_data.clear(); + { + std::lock_guard lock(profile_events_mutex); + host_cpu_usage.clear(); + thread_data.clear(); + } } void ProgressIndication::setFileProgressCallback(ContextMutablePtr context, bool write_progress_on_update_) @@ -71,6 +74,8 @@ void ProgressIndication::setFileProgressCallback(ContextMutablePtr context, bool void ProgressIndication::addThreadIdToList(String const & host, UInt64 thread_id) { + std::lock_guard lock(profile_events_mutex); + auto & thread_to_times = thread_data[host]; if (thread_to_times.contains(thread_id)) return; @@ -79,6 +84,8 @@ void ProgressIndication::addThreadIdToList(String const & host, UInt64 thread_id void ProgressIndication::updateThreadEventData(HostToThreadTimesMap & new_thread_data, UInt64 elapsed_time) { + std::lock_guard lock(profile_events_mutex); + for (auto & new_host_map : new_thread_data) { host_cpu_usage[new_host_map.first] = calculateCPUUsage(new_host_map.second, elapsed_time); @@ -88,6 +95,8 @@ void ProgressIndication::updateThreadEventData(HostToThreadTimesMap & new_thread size_t ProgressIndication::getUsedThreadsCount() const { + std::lock_guard lock(profile_events_mutex); + return std::accumulate(thread_data.cbegin(), thread_data.cend(), 0, [] (size_t acc, auto const & threads) { @@ -97,6 +106,8 @@ size_t ProgressIndication::getUsedThreadsCount() const double ProgressIndication::getCPUUsage() const { + std::lock_guard lock(profile_events_mutex); + double res = 0; for (const auto & elem : host_cpu_usage) res += elem.second; @@ -105,6 +116,8 @@ double ProgressIndication::getCPUUsage() const ProgressIndication::MemoryUsage ProgressIndication::getMemoryUsage() const { + std::lock_guard lock(profile_events_mutex); + return std::accumulate(thread_data.cbegin(), thread_data.cend(), MemoryUsage{}, [](MemoryUsage const & acc, auto const & host_data) { @@ -137,6 +150,8 @@ void ProgressIndication::writeFinalProgress() void ProgressIndication::writeProgress() { + std::lock_guard lock(progress_mutex); + /// Output all progress bar commands to stderr at once to avoid flicker. WriteBufferFromFileDescriptor message(STDERR_FILENO, 1024); @@ -191,6 +206,10 @@ void ProgressIndication::writeProgress() { WriteBufferFromOwnString profiling_msg_builder; + /// We don't want -0. that can appear due to rounding errors. + if (cpu_usage <= 0) + cpu_usage = 0; + profiling_msg_builder << "(" << fmt::format("{:.1f}", cpu_usage) << " CPU"; if (memory_usage > 0) diff --git a/src/Common/ProgressIndication.h b/src/Common/ProgressIndication.h index aad4a8c18e5..9ce29ef0d3c 100644 --- a/src/Common/ProgressIndication.h +++ b/src/Common/ProgressIndication.h @@ -2,6 +2,7 @@ #include #include +#include #include #include #include @@ -16,11 +17,11 @@ namespace DB struct ThreadEventData { - Int64 time() const noexcept { return user_ms + system_ms; } + UInt64 time() const noexcept { return user_ms + system_ms; } - Int64 user_ms = 0; - Int64 system_ms = 0; - Int64 memory_usage = 0; + UInt64 user_ms = 0; + UInt64 system_ms = 0; + UInt64 memory_usage = 0; }; using ThreadIdToTimeMap = std::unordered_map; @@ -44,7 +45,7 @@ public: /// 1. onProgress in clickhouse-client; /// 2. ProgressCallback via setProgressCallback methrod in: /// - context (used in clickhouse-local, can also be added in arbitrary place) - /// - SourceWithProgress (also in streams) + /// - ISource (also in streams) /// - readBufferFromFileDescriptor (for file processing progress) bool updateProgress(const Progress & value); @@ -92,6 +93,16 @@ private: std::unordered_map host_cpu_usage; HostToThreadTimesMap thread_data; + /// In case of all of the above: + /// - clickhouse-local + /// - input_format_parallel_parsing=true + /// - write_progress_on_update=true + /// + /// It is possible concurrent access to the following: + /// - writeProgress() (class properties) (guarded with progress_mutex) + /// - thread_data/host_cpu_usage (guarded with profile_events_mutex) + mutable std::mutex profile_events_mutex; + mutable std::mutex progress_mutex; }; } diff --git a/src/Common/RadixSort.h b/src/Common/RadixSort.h index 2f02ebb9e03..4bf975c4c7a 100644 --- a/src/Common/RadixSort.h +++ b/src/Common/RadixSort.h @@ -2,7 +2,7 @@ #include -#if !defined(__APPLE__) && !defined(__FreeBSD__) +#if !defined(OS_DARWIN) && !defined(OS_FREEBSD) #include #endif #include diff --git a/src/Common/RemoteHostFilter.h b/src/Common/RemoteHostFilter.h index cea1a781308..2b91306f405 100644 --- a/src/Common/RemoteHostFilter.h +++ b/src/Common/RemoteHostFilter.h @@ -4,6 +4,7 @@ #include #include #include +#include namespace Poco { class URI; } @@ -28,8 +29,8 @@ private: std::atomic_bool is_initialized = false; mutable std::mutex hosts_mutex; - std::unordered_set primary_hosts; /// Allowed primary () URL from config.xml - std::vector regexp_hosts; /// Allowed regexp () URL from config.xml + std::unordered_set primary_hosts TSA_GUARDED_BY(hosts_mutex); /// Allowed primary () URL from config.xml + std::vector regexp_hosts TSA_GUARDED_BY(hosts_mutex); /// Allowed regexp () URL from config.xml /// Checks if the primary_hosts and regexp_hosts contain str. If primary_hosts and regexp_hosts are empty return true. bool checkForDirectEntry(const std::string & str) const; diff --git a/src/Common/SipHash.h b/src/Common/SipHash.h index 108f7b31f43..38188a022f8 100644 --- a/src/Common/SipHash.h +++ b/src/Common/SipHash.h @@ -147,6 +147,11 @@ public: update(x.data(), x.length()); } + ALWAYS_INLINE void update(const std::string_view x) + { + update(x.data(), x.size()); + } + /// Get the result in some form. This can only be done once! void get128(char * out) diff --git a/src/Common/StackTrace.cpp b/src/Common/StackTrace.cpp index 18e2e223744..f41a646f31e 100644 --- a/src/Common/StackTrace.cpp +++ b/src/Common/StackTrace.cpp @@ -33,7 +33,7 @@ std::string signalToErrorMessage(int sig, const siginfo_t & info, [[maybe_unused else error << "Address: " << info.si_addr; -#if defined(__x86_64__) && !defined(__FreeBSD__) && !defined(__APPLE__) && !defined(__arm__) && !defined(__powerpc__) +#if defined(__x86_64__) && !defined(OS_FREEBSD) && !defined(OS_DARWIN) && !defined(__arm__) && !defined(__powerpc__) auto err_mask = context.uc_mcontext.gregs[REG_ERR]; if ((err_mask & 0x02)) error << " Access: write."; @@ -173,18 +173,18 @@ static void * getCallerAddress(const ucontext_t & context) { #if defined(__x86_64__) /// Get the address at the time the signal was raised from the RIP (x86-64) -# if defined(__FreeBSD__) +# if defined(OS_FREEBSD) return reinterpret_cast(context.uc_mcontext.mc_rip); -# elif defined(__APPLE__) +# elif defined(OS_DARWIN) return reinterpret_cast(context.uc_mcontext->__ss.__rip); # else return reinterpret_cast(context.uc_mcontext.gregs[REG_RIP]); # endif -#elif defined(__APPLE__) && defined(__aarch64__) +#elif defined(OS_DARWIN) && defined(__aarch64__) return reinterpret_cast(context.uc_mcontext->__ss.__pc); -#elif defined(__FreeBSD__) && defined(__aarch64__) +#elif defined(OS_FREEBSD) && defined(__aarch64__) return reinterpret_cast(context.uc_mcontext.mc_gpregs.gp_elr); #elif defined(__aarch64__) return reinterpret_cast(context.uc_mcontext.pc); @@ -201,7 +201,7 @@ void StackTrace::symbolize( const StackTrace::FramePointers & frame_pointers, [[maybe_unused]] size_t offset, size_t size, StackTrace::Frames & frames) { -#if defined(__ELF__) && !defined(__FreeBSD__) +#if defined(__ELF__) && !defined(OS_FREEBSD) auto symbol_index_ptr = DB::SymbolIndex::instance(); const DB::SymbolIndex & symbol_index = *symbol_index_ptr; @@ -332,7 +332,7 @@ static void toStringEveryLineImpl( if (size == 0) return callback(""); -#if defined(__ELF__) && !defined(__FreeBSD__) +#if defined(__ELF__) && !defined(OS_FREEBSD) auto symbol_index_ptr = DB::SymbolIndex::instance(); const DB::SymbolIndex & symbol_index = *symbol_index_ptr; std::unordered_map dwarfs; diff --git a/src/Common/StackTrace.h b/src/Common/StackTrace.h index 06a17e73091..84a2e9d1f7f 100644 --- a/src/Common/StackTrace.h +++ b/src/Common/StackTrace.h @@ -7,9 +7,9 @@ #include #include #include -#include +#include -#ifdef __APPLE__ +#ifdef OS_DARWIN // ucontext is not available without _XOPEN_SOURCE # ifdef __clang__ # pragma clang diagnostic ignored "-Wreserved-id-macro" diff --git a/src/Common/StringSearcher.h b/src/Common/StringSearcher.h index b556ace75a7..b8f8a9d3a88 100644 --- a/src/Common/StringSearcher.h +++ b/src/Common/StringSearcher.h @@ -7,8 +7,8 @@ #include #include #include -#include -#include +#include +#include #ifdef __SSE2__ #include @@ -826,66 +826,44 @@ using UTF8CaseInsensitiveStringSearcher = StringSearcher; using ASCIICaseSensitiveTokenSearcher = TokenSearcher; using ASCIICaseInsensitiveTokenSearcher = TokenSearcher; - -/** Uses functions from libc. - * It makes sense to use only with short haystacks when cheap initialization is required. - * There is no option for case-insensitive search for UTF-8 strings. - * It is required that strings are zero-terminated. - */ - -struct LibCASCIICaseSensitiveStringSearcher : public StringSearcherBase +/// Use only with short haystacks where cheap initialization is required. +template +struct StdLibASCIIStringSearcher : public StringSearcherBase { - const char * const needle; + const char * const needle_start; + const char * const needle_end; template requires (sizeof(CharT) == 1) - LibCASCIICaseSensitiveStringSearcher(const CharT * const needle_, const size_t /* needle_size */) - : needle(reinterpret_cast(needle_)) {} + StdLibASCIIStringSearcher(const CharT * const needle_start_, const size_t needle_size_) + : needle_start{reinterpret_cast(needle_start_)} + , needle_end{reinterpret_cast(needle_start) + needle_size_} + {} template requires (sizeof(CharT) == 1) - const CharT * search(const CharT * haystack, const CharT * const haystack_end) const + const CharT * search(const CharT * haystack_start, const CharT * const haystack_end) const { - const auto * res = strstr(reinterpret_cast(haystack), reinterpret_cast(needle)); - if (!res) - return haystack_end; - return reinterpret_cast(res); + if constexpr (CaseInsensitive) + { + return std::search( + haystack_start, haystack_end, needle_start, needle_end, + [](char c1, char c2) {return std::toupper(c1) == std::toupper(c2);}); + } + else + { + return std::search( + haystack_start, haystack_end, needle_start, needle_end, + [](char c1, char c2) {return c1 == c2;}); + } } template requires (sizeof(CharT) == 1) - const CharT * search(const CharT * haystack, const size_t haystack_size) const + const CharT * search(const CharT * haystack_start, const size_t haystack_length) const { - return search(haystack, haystack + haystack_size); + return search(haystack_start, haystack_start + haystack_length); } }; -struct LibCASCIICaseInsensitiveStringSearcher : public StringSearcherBase -{ - const char * const needle; - - template - requires (sizeof(CharT) == 1) - LibCASCIICaseInsensitiveStringSearcher(const CharT * const needle_, const size_t /* needle_size */) - : needle(reinterpret_cast(needle_)) {} - - template - requires (sizeof(CharT) == 1) - const CharT * search(const CharT * haystack, const CharT * const haystack_end) const - { - const auto * res = strcasestr(reinterpret_cast(haystack), reinterpret_cast(needle)); - if (!res) - return haystack_end; - return reinterpret_cast(res); - } - - template - requires (sizeof(CharT) == 1) - const CharT * search(const CharT * haystack, const size_t haystack_size) const - { - return search(haystack, haystack + haystack_size); - } -}; - - } diff --git a/src/Common/SymbolIndex.cpp b/src/Common/SymbolIndex.cpp index af718ea77b9..46d9e8dbd5c 100644 --- a/src/Common/SymbolIndex.cpp +++ b/src/Common/SymbolIndex.cpp @@ -1,4 +1,4 @@ -#if defined(__ELF__) && !defined(__FreeBSD__) +#if defined(__ELF__) && !defined(OS_FREEBSD) #include #include diff --git a/src/Common/SymbolIndex.h b/src/Common/SymbolIndex.h index 1331cf81cf7..f2b40f02ead 100644 --- a/src/Common/SymbolIndex.h +++ b/src/Common/SymbolIndex.h @@ -1,6 +1,6 @@ #pragma once -#if defined(__ELF__) && !defined(__FreeBSD__) +#if defined(__ELF__) && !defined(OS_FREEBSD) #include #include diff --git a/src/Common/SystemLogBase.cpp b/src/Common/SystemLogBase.cpp index 7128d00714c..67aedbd5670 100644 --- a/src/Common/SystemLogBase.cpp +++ b/src/Common/SystemLogBase.cpp @@ -139,7 +139,7 @@ void SystemLogBase::flush(bool force) uint64_t this_thread_requested_offset; { - std::unique_lock lock(mutex); + std::lock_guard lock(mutex); if (is_shutdown) return; diff --git a/src/Common/TLDListsHolder.h b/src/Common/TLDListsHolder.h index b41ad4e6f45..708d049d5a6 100644 --- a/src/Common/TLDListsHolder.h +++ b/src/Common/TLDListsHolder.h @@ -59,7 +59,7 @@ protected: TLDListsHolder(); std::mutex tld_lists_map_mutex; - Map tld_lists_map; + Map tld_lists_map TSA_GUARDED_BY(tld_lists_map_mutex); }; } diff --git a/src/Common/TargetSpecific.cpp b/src/Common/TargetSpecific.cpp index 43319eff44b..c52c8c2bcf0 100644 --- a/src/Common/TargetSpecific.cpp +++ b/src/Common/TargetSpecific.cpp @@ -16,6 +16,8 @@ UInt32 getSupportedArchs() result |= static_cast(TargetArch::AVX2); if (Cpu::CpuFlagsCache::have_AVX512F) result |= static_cast(TargetArch::AVX512F); + if (Cpu::CpuFlagsCache::have_AVX512BW) + result |= static_cast(TargetArch::AVX512BW); return result; } @@ -34,6 +36,7 @@ String toString(TargetArch arch) case TargetArch::AVX: return "avx"; case TargetArch::AVX2: return "avx2"; case TargetArch::AVX512F: return "avx512f"; + case TargetArch::AVX512BW: return "avx512bw"; } __builtin_unreachable(); diff --git a/src/Common/TargetSpecific.h b/src/Common/TargetSpecific.h index 67d9eb4831d..b045892d2c1 100644 --- a/src/Common/TargetSpecific.h +++ b/src/Common/TargetSpecific.h @@ -80,6 +80,7 @@ enum class TargetArch : UInt32 AVX = (1 << 1), AVX2 = (1 << 2), AVX512F = (1 << 3), + AVX512BW = (1 << 4), }; /// Runtime detection. @@ -94,12 +95,15 @@ String toString(TargetArch arch); #if defined(__clang__) +#define AVX512BW_FUNCTION_SPECIFIC_ATTRIBUTE __attribute__((target("sse,sse2,sse3,ssse3,sse4,popcnt,avx,avx2,avx512f,avx512bw"))) #define AVX512_FUNCTION_SPECIFIC_ATTRIBUTE __attribute__((target("sse,sse2,sse3,ssse3,sse4,popcnt,avx,avx2,avx512f"))) #define AVX2_FUNCTION_SPECIFIC_ATTRIBUTE __attribute__((target("sse,sse2,sse3,ssse3,sse4,popcnt,avx,avx2"))) #define AVX_FUNCTION_SPECIFIC_ATTRIBUTE __attribute__((target("sse,sse2,sse3,ssse3,sse4,popcnt,avx")) #define SSE42_FUNCTION_SPECIFIC_ATTRIBUTE __attribute__((target("sse,sse2,sse3,ssse3,sse4,popcnt"))) #define DEFAULT_FUNCTION_SPECIFIC_ATTRIBUTE +# define BEGIN_AVX512BW_SPECIFIC_CODE \ + _Pragma("clang attribute push(__attribute__((target(\"sse,sse2,sse3,ssse3,sse4,popcnt,avx,avx2,avx512f,avx512bw\"))),apply_to=function)") # define BEGIN_AVX512F_SPECIFIC_CODE \ _Pragma("clang attribute push(__attribute__((target(\"sse,sse2,sse3,ssse3,sse4,popcnt,avx,avx2,avx512f\"))),apply_to=function)") # define BEGIN_AVX2_SPECIFIC_CODE \ @@ -117,12 +121,16 @@ String toString(TargetArch arch); # define DUMMY_FUNCTION_DEFINITION [[maybe_unused]] void _dummy_function_definition(); #else +#define AVX512BW_FUNCTION_SPECIFIC_ATTRIBUTE __attribute__((target("sse,sse2,sse3,ssse3,sse4,popcnt,avx,avx2,avx512f,avx512bw,tune=native"))) #define AVX512_FUNCTION_SPECIFIC_ATTRIBUTE __attribute__((target("sse,sse2,sse3,ssse3,sse4,popcnt,avx,avx2,avx512f,tune=native"))) #define AVX2_FUNCTION_SPECIFIC_ATTRIBUTE __attribute__((target("sse,sse2,sse3,ssse3,sse4,popcnt,avx,avx2,tune=native"))) #define AVX_FUNCTION_SPECIFIC_ATTRIBUTE __attribute__((target("sse,sse2,sse3,ssse3,sse4,popcnt,avx,tune=native"))) #define SSE42_FUNCTION_SPECIFIC_ATTRIBUTE __attribute__((target("sse,sse2,sse3,ssse3,sse4,popcnt",tune=native)))) #define DEFAULT_FUNCTION_SPECIFIC_ATTRIBUTE +# define BEGIN_AVX512BW_SPECIFIC_CODE \ + _Pragma("GCC push_options") \ + _Pragma("GCC target(\"sse,sse2,sse3,ssse3,sse4,popcnt,avx,avx2,avx512f,avx512bw,tune=native\")") # define BEGIN_AVX512F_SPECIFIC_CODE \ _Pragma("GCC push_options") \ _Pragma("GCC target(\"sse,sse2,sse3,ssse3,sse4,popcnt,avx,avx2,avx512f,tune=native\")") @@ -179,6 +187,15 @@ namespace TargetSpecific::AVX512F { \ } \ END_TARGET_SPECIFIC_CODE +#define DECLARE_AVX512BW_SPECIFIC_CODE(...) \ +BEGIN_AVX512BW_SPECIFIC_CODE \ +namespace TargetSpecific::AVX512BW { \ + DUMMY_FUNCTION_DEFINITION \ + using namespace DB::TargetSpecific::AVX512BW; \ + __VA_ARGS__ \ +} \ +END_TARGET_SPECIFIC_CODE + #else #define USE_MULTITARGET_CODE 0 @@ -189,6 +206,7 @@ END_TARGET_SPECIFIC_CODE #define DECLARE_AVX_SPECIFIC_CODE(...) #define DECLARE_AVX2_SPECIFIC_CODE(...) #define DECLARE_AVX512F_SPECIFIC_CODE(...) +#define DECLARE_AVX512BW_SPECIFIC_CODE(...) #endif @@ -204,7 +222,8 @@ DECLARE_DEFAULT_CODE (__VA_ARGS__) \ DECLARE_SSE42_SPECIFIC_CODE (__VA_ARGS__) \ DECLARE_AVX_SPECIFIC_CODE (__VA_ARGS__) \ DECLARE_AVX2_SPECIFIC_CODE (__VA_ARGS__) \ -DECLARE_AVX512F_SPECIFIC_CODE(__VA_ARGS__) +DECLARE_AVX512F_SPECIFIC_CODE(__VA_ARGS__) \ +DECLARE_AVX512BW_SPECIFIC_CODE(__VA_ARGS__) DECLARE_DEFAULT_CODE( constexpr auto BuildArch = TargetArch::Default; /// NOLINT @@ -226,6 +245,10 @@ DECLARE_AVX512F_SPECIFIC_CODE( constexpr auto BuildArch = TargetArch::AVX512F; /// NOLINT ) // DECLARE_AVX512F_SPECIFIC_CODE +DECLARE_AVX512BW_SPECIFIC_CODE( + constexpr auto BuildArch = TargetArch::AVX512BW; /// NOLINT +) // DECLARE_AVX512BW_SPECIFIC_CODE + /** Runtime Dispatch helpers for class members. * * Example of usage: diff --git a/src/Common/ThreadFuzzer.cpp b/src/Common/ThreadFuzzer.cpp index 9d07edeb502..962cfee074d 100644 --- a/src/Common/ThreadFuzzer.cpp +++ b/src/Common/ThreadFuzzer.cpp @@ -1,3 +1,5 @@ +// NOLINTBEGIN(readability-inconsistent-declaration-parameter-name) + #include #include #if defined(OS_LINUX) @@ -292,8 +294,8 @@ void ThreadFuzzer::setup() const #if THREAD_FUZZER_WRAP_PTHREAD # define MAKE_WRAPPER(RET, NAME, ...) \ - extern "C" RET __##NAME(__VA_ARGS__); /* NOLINT */ \ - extern "C" RET NAME(__VA_ARGS__) /* NOLINT */ \ + extern "C" RET __##NAME(__VA_ARGS__); \ + extern "C" RET NAME(__VA_ARGS__) \ { \ injection( \ NAME##_before_yield_probability.load(std::memory_order_relaxed), \ @@ -317,3 +319,5 @@ FOR_EACH_WRAPPED_FUNCTION(MAKE_WRAPPER) # undef MAKE_WRAPPER #endif } + +// NOLINTEND(readability-inconsistent-declaration-parameter-name) diff --git a/src/Common/ThreadPool.cpp b/src/Common/ThreadPool.cpp index a76037ae5cf..3f5091af0c9 100644 --- a/src/Common/ThreadPool.cpp +++ b/src/Common/ThreadPool.cpp @@ -209,7 +209,7 @@ template void ThreadPoolImpl::finalize() { { - std::unique_lock lock(mutex); + std::lock_guard lock(mutex); shutdown = true; } @@ -224,14 +224,14 @@ void ThreadPoolImpl::finalize() template size_t ThreadPoolImpl::active() const { - std::unique_lock lock(mutex); + std::lock_guard lock(mutex); return scheduled_jobs; } template bool ThreadPoolImpl::finished() const { - std::unique_lock lock(mutex); + std::lock_guard lock(mutex); return shutdown; } @@ -290,7 +290,7 @@ void ThreadPoolImpl::worker(typename std::list::iterator thread_ job = {}; { - std::unique_lock lock(mutex); + std::lock_guard lock(mutex); if (!first_exception) first_exception = std::current_exception(); // NOLINT if (shutdown_on_exception) @@ -305,7 +305,7 @@ void ThreadPoolImpl::worker(typename std::list::iterator thread_ } { - std::unique_lock lock(mutex); + std::lock_guard lock(mutex); --scheduled_jobs; if (threads.size() > scheduled_jobs + max_free_threads) diff --git a/src/Common/ThreadProfileEvents.cpp b/src/Common/ThreadProfileEvents.cpp index 0fcd7a41046..09517b148f9 100644 --- a/src/Common/ThreadProfileEvents.cpp +++ b/src/Common/ThreadProfileEvents.cpp @@ -1,6 +1,6 @@ #include "ThreadProfileEvents.h" -#if defined(__linux__) +#if defined(OS_LINUX) #include "TaskStatsInfoGetter.h" #include "ProcfsMetricsProvider.h" @@ -177,7 +177,7 @@ void TasksStatsCounters::incrementProfileEvents(const ::taskstats & prev, const #endif -#if defined(__linux__) +#if defined(OS_LINUX) namespace DB { diff --git a/src/Common/ThreadProfileEvents.h b/src/Common/ThreadProfileEvents.h index 225e343490f..5895ef3208a 100644 --- a/src/Common/ThreadProfileEvents.h +++ b/src/Common/ThreadProfileEvents.h @@ -8,7 +8,7 @@ #include -#if defined(__linux__) +#if defined(OS_LINUX) #include #else struct taskstats {}; @@ -66,7 +66,7 @@ struct RUsageCounters static RUsageCounters current() { ::rusage rusage {}; -#if !defined(__APPLE__) +#if !defined(OS_DARWIN) #if defined(OS_SUNOS) ::getrusage(RUSAGE_LWP, &rusage); #else @@ -102,7 +102,7 @@ private: } }; -#if defined(__linux__) +#if defined(OS_LINUX) struct PerfEventInfo { @@ -171,7 +171,7 @@ extern PerfEventsCounters current_thread_counters; #endif -#if defined(__linux__) +#if defined(OS_LINUX) class TasksStatsCounters { diff --git a/src/Common/ThreadStatus.cpp b/src/Common/ThreadStatus.cpp index b5c2e7be11f..a4f99c1be1a 100644 --- a/src/Common/ThreadStatus.cpp +++ b/src/Common/ThreadStatus.cpp @@ -148,28 +148,22 @@ ThreadStatus::ThreadStatus() ThreadStatus::~ThreadStatus() { - try - { - if (untracked_memory > 0) - memory_tracker.alloc(untracked_memory); - else - memory_tracker.free(-untracked_memory); - } - catch (const DB::Exception &) - { - /// It's a minor tracked memory leak here (not the memory itself but it's counter). - /// We've already allocated a little bit more than the limit and cannot track it in the thread memory tracker or its parent. - tryLogCurrentException(log); - } + if (untracked_memory > 0) + memory_tracker.allocNoThrow(untracked_memory); + else + memory_tracker.free(-untracked_memory); if (thread_group) { - std::lock_guard guard(thread_group->mutex); - thread_group->finished_threads_counters_memory.emplace_back(ThreadGroupStatus::ProfileEventsCountersAndMemory{ + ThreadGroupStatus::ProfileEventsCountersAndMemory counters + { performance_counters.getPartiallyAtomicSnapshot(), memory_tracker.get(), - thread_id, - }); + thread_id + }; + + std::lock_guard guard(thread_group->mutex); + thread_group->finished_threads_counters_memory.emplace_back(std::move(counters)); thread_group->threads.erase(this); } diff --git a/src/Common/ThreadStatus.h b/src/Common/ThreadStatus.h index 3d7ec08cdaf..c80150a8fe8 100644 --- a/src/Common/ThreadStatus.h +++ b/src/Common/ThreadStatus.h @@ -89,6 +89,10 @@ public: LogsLevel client_logs_level = LogsLevel::none; String query; + /// Query without new lines (see toOneLineQuery()) + /// Used to print in case of fatal error + /// (to avoid calling extra code in the fatal error handler) + String one_line_query; UInt64 normalized_query_hash = 0; std::vector finished_threads_counters_memory; diff --git a/src/Common/TimerDescriptor.cpp b/src/Common/TimerDescriptor.cpp index a7c74dab8be..1301ebce0ba 100644 --- a/src/Common/TimerDescriptor.cpp +++ b/src/Common/TimerDescriptor.cpp @@ -6,6 +6,8 @@ #include #include +#include + namespace DB { @@ -70,6 +72,8 @@ void TimerDescriptor::drain() const if (errno != EINTR) throwFromErrno("Cannot drain timer_fd", ErrorCodes::CANNOT_READ_FROM_SOCKET); + else + LOG_TEST(&Poco::Logger::get("TimerDescriptor"), "EINTR"); } } } diff --git a/src/Common/UTF8Helpers.h b/src/Common/UTF8Helpers.h index a940ddc0234..72bdb965789 100644 --- a/src/Common/UTF8Helpers.h +++ b/src/Common/UTF8Helpers.h @@ -9,6 +9,13 @@ #include #endif +#if defined(__aarch64__) && defined(__ARM_NEON) +# include +# ifdef HAS_RESERVED_IDENTIFIER +# pragma clang diagnostic ignored "-Wreserved-identifier" +# endif +#endif + namespace DB { @@ -66,6 +73,18 @@ inline size_t countCodePoints(const UInt8 * data, size_t size) for (; data < src_end_sse; data += bytes_sse) res += __builtin_popcount(_mm_movemask_epi8( _mm_cmpgt_epi8(_mm_loadu_si128(reinterpret_cast(data)), threshold))); +#elif defined(__aarch64__) && defined(__ARM_NEON) + /// Returns a 64 bit mask of nibbles (4 bits for each byte). + auto get_nibble_mask + = [](uint8x16_t input) -> uint64_t { return vget_lane_u64(vreinterpret_u64_u8(vshrn_n_u16(vreinterpretq_u16_u8(input), 4)), 0); }; + constexpr auto bytes_sse = 16; + const auto * src_end_sse = data + size / bytes_sse * bytes_sse; + + const auto threshold = vdupq_n_s8(0xBF); + + for (; data < src_end_sse; data += bytes_sse) + res += __builtin_popcountll(get_nibble_mask(vcgtq_s8(vld1q_s8(reinterpret_cast(data)), threshold))); + res >>= 2; #endif for (; data < end; ++data) /// Skip UTF-8 continuation bytes. diff --git a/src/Common/Volnitsky.h b/src/Common/Volnitsky.h index 7eca0c0fe53..a6aef293ac1 100644 --- a/src/Common/Volnitsky.h +++ b/src/Common/Volnitsky.h @@ -476,7 +476,7 @@ class MultiVolnitskyBase { private: /// needles and their offsets - const std::vector & needles; + const std::vector & needles; /// fallback searchers @@ -502,7 +502,7 @@ private: static constexpr size_t small_limit = VolnitskyTraits::hash_size / 8; public: - explicit MultiVolnitskyBase(const std::vector & needles_) : needles{needles_}, step{0}, last{0} + explicit MultiVolnitskyBase(const std::vector & needles_) : needles{needles_}, step{0}, last{0} { fallback_searchers.reserve(needles.size()); hash = std::unique_ptr(new OffsetId[VolnitskyTraits::hash_size]); /// No zero initialization, it will be done later. @@ -535,8 +535,8 @@ public: for (; last < size; ++last) { - const char * cur_needle_data = needles[last].data; - const size_t cur_needle_size = needles[last].size; + const char * cur_needle_data = needles[last].data(); + const size_t cur_needle_size = needles[last].size(); /// save the indices of fallback searchers if (VolnitskyTraits::isFallbackNeedle(cur_needle_size)) @@ -593,7 +593,7 @@ public: { const auto res = pos - (hash[cell_num].off - 1); const size_t ind = hash[cell_num].id; - if (res + needles[ind].size <= haystack_end && fallback_searchers[ind].compare(haystack, haystack_end, res)) + if (res + needles[ind].size() <= haystack_end && fallback_searchers[ind].compare(haystack, haystack_end, res)) return true; } } @@ -625,7 +625,7 @@ public: { const auto res = pos - (hash[cell_num].off - 1); const size_t ind = hash[cell_num].id; - if (res + needles[ind].size <= haystack_end && fallback_searchers[ind].compare(haystack, haystack_end, res)) + if (res + needles[ind].size() <= haystack_end && fallback_searchers[ind].compare(haystack, haystack_end, res)) answer = std::min(answer, ind); } } @@ -663,7 +663,7 @@ public: { const auto res = pos - (hash[cell_num].off - 1); const size_t ind = hash[cell_num].id; - if (res + needles[ind].size <= haystack_end && fallback_searchers[ind].compare(haystack, haystack_end, res)) + if (res + needles[ind].size() <= haystack_end && fallback_searchers[ind].compare(haystack, haystack_end, res)) answer = std::min(answer, res - haystack); } } @@ -699,7 +699,7 @@ public: const auto * res = pos - (hash[cell_num].off - 1); const size_t ind = hash[cell_num].id; if (answer[ind] == 0 - && res + needles[ind].size <= haystack_end + && res + needles[ind].size() <= haystack_end && fallback_searchers[ind].compare(haystack, haystack_end, res)) answer[ind] = count_chars(haystack, res); } diff --git a/src/Common/ZooKeeper/IKeeper.cpp b/src/Common/ZooKeeper/IKeeper.cpp index 70fe33b3f6e..23d29ed3019 100644 --- a/src/Common/ZooKeeper/IKeeper.cpp +++ b/src/Common/ZooKeeper/IKeeper.cpp @@ -144,6 +144,7 @@ void ListRequest::addRootPath(const String & root_path) { Coordination::addRootP void CheckRequest::addRootPath(const String & root_path) { Coordination::addRootPath(path, root_path); } void SetACLRequest::addRootPath(const String & root_path) { Coordination::addRootPath(path, root_path); } void GetACLRequest::addRootPath(const String & root_path) { Coordination::addRootPath(path, root_path); } +void SyncRequest::addRootPath(const String & root_path) { Coordination::addRootPath(path, root_path); } void MultiRequest::addRootPath(const String & root_path) { diff --git a/src/Common/ZooKeeper/IKeeper.h b/src/Common/ZooKeeper/IKeeper.h index 1e79468b7e3..73c7da25a8b 100644 --- a/src/Common/ZooKeeper/IKeeper.h +++ b/src/Common/ZooKeeper/IKeeper.h @@ -46,17 +46,17 @@ using ACLs = std::vector; struct Stat { - int64_t czxid; - int64_t mzxid; - int64_t ctime; - int64_t mtime; - int32_t version; - int32_t cversion; - int32_t aversion; - int64_t ephemeralOwner; /// NOLINT - int32_t dataLength; /// NOLINT - int32_t numChildren; /// NOLINT - int64_t pzxid; + int64_t czxid{0}; + int64_t mzxid{0}; + int64_t ctime{0}; + int64_t mtime{0}; + int32_t version{0}; + int32_t cversion{0}; + int32_t aversion{0}; + int64_t ephemeralOwner{0}; /// NOLINT + int32_t dataLength{0}; /// NOLINT + int32_t numChildren{0}; /// NOLINT + int64_t pzxid{0}; }; enum class Error : int32_t @@ -320,6 +320,23 @@ struct CheckResponse : virtual Response { }; +struct SyncRequest : virtual Request +{ + String path; + + void addRootPath(const String & root_path) override; + String getPath() const override { return path; } + + size_t bytesSize() const override { return path.size(); } +}; + +struct SyncResponse : virtual Response +{ + String path; + + size_t bytesSize() const override { return path.size(); } +}; + struct MultiRequest : virtual Request { Requests requests; @@ -364,6 +381,7 @@ using GetCallback = std::function; using SetCallback = std::function; using ListCallback = std::function; using CheckCallback = std::function; +using SyncCallback = std::function; using MultiCallback = std::function; @@ -482,6 +500,10 @@ public: int32_t version, CheckCallback callback) = 0; + virtual void sync( + const String & path, + SyncCallback callback) = 0; + virtual void multi( const Requests & requests, MultiCallback callback) = 0; diff --git a/src/Common/ZooKeeper/TestKeeper.cpp b/src/Common/ZooKeeper/TestKeeper.cpp index 62d5fc811df..3d2d5fcb667 100644 --- a/src/Common/ZooKeeper/TestKeeper.cpp +++ b/src/Common/ZooKeeper/TestKeeper.cpp @@ -133,6 +133,14 @@ struct TestKeeperCheckRequest final : CheckRequest, TestKeeperRequest std::pair process(TestKeeper::Container & container, int64_t zxid) const override; }; +struct TestKeeperSyncRequest final : SyncRequest, TestKeeperRequest +{ + TestKeeperSyncRequest() = default; + explicit TestKeeperSyncRequest(const SyncRequest & base) : SyncRequest(base) {} + ResponsePtr createResponse() const override; + std::pair process(TestKeeper::Container & container, int64_t zxid) const override; +}; + struct TestKeeperMultiRequest final : MultiRequest, TestKeeperRequest { explicit TestKeeperMultiRequest(const Requests & generic_requests) @@ -413,6 +421,14 @@ std::pair TestKeeperCheckRequest::process(TestKeeper::Contain return { std::make_shared(response), {} }; } +std::pair TestKeeperSyncRequest::process(TestKeeper::Container & /*container*/, int64_t) const +{ + SyncResponse response; + response.path = path; + + return { std::make_shared(std::move(response)), {} }; +} + std::pair TestKeeperMultiRequest::process(TestKeeper::Container & container, int64_t zxid) const { MultiResponse response; @@ -471,6 +487,7 @@ ResponsePtr TestKeeperGetRequest::createResponse() const { return std::make_shar ResponsePtr TestKeeperSetRequest::createResponse() const { return std::make_shared(); } ResponsePtr TestKeeperListRequest::createResponse() const { return std::make_shared(); } ResponsePtr TestKeeperCheckRequest::createResponse() const { return std::make_shared(); } +ResponsePtr TestKeeperSyncRequest::createResponse() const { return std::make_shared(); } ResponsePtr TestKeeperMultiRequest::createResponse() const { return std::make_shared(); } @@ -779,6 +796,19 @@ void TestKeeper::check( pushRequest(std::move(request_info)); } +void TestKeeper::sync( + const String & path, + SyncCallback callback) +{ + TestKeeperSyncRequest request; + request.path = path; + + RequestInfo request_info; + request_info.request = std::make_shared(std::move(request)); + request_info.callback = [callback](const Response & response) { callback(dynamic_cast(response)); }; + pushRequest(std::move(request_info)); +} + void TestKeeper::multi( const Requests & requests, MultiCallback callback) diff --git a/src/Common/ZooKeeper/TestKeeper.h b/src/Common/ZooKeeper/TestKeeper.h index e57471341e8..40cac3094f1 100644 --- a/src/Common/ZooKeeper/TestKeeper.h +++ b/src/Common/ZooKeeper/TestKeeper.h @@ -79,6 +79,10 @@ public: int32_t version, CheckCallback callback) override; + void sync( + const String & path, + SyncCallback callback) override; + void multi( const Requests & requests, MultiCallback callback) override; diff --git a/src/Common/ZooKeeper/ZooKeeper.cpp b/src/Common/ZooKeeper/ZooKeeper.cpp index bef9f883138..c8ae6b72c3e 100644 --- a/src/Common/ZooKeeper/ZooKeeper.cpp +++ b/src/Common/ZooKeeper/ZooKeeper.cpp @@ -7,6 +7,7 @@ #include #include +#include #include #include #include @@ -169,7 +170,7 @@ std::vector ZooKeeper::shuffleHosts() const shuffle_hosts.emplace_back(shuffle_host); } - std::sort( + ::sort( shuffle_hosts.begin(), shuffle_hosts.end(), [](const ShuffleHost & lhs, const ShuffleHost & rhs) { @@ -667,6 +668,34 @@ Coordination::Error ZooKeeper::tryMulti(const Coordination::Requests & requests, return code; } +Coordination::Error ZooKeeper::syncImpl(const std::string & path, std::string & returned_path) +{ + auto future_result = asyncTrySyncNoThrow(path); + + if (future_result.wait_for(std::chrono::milliseconds(operation_timeout_ms)) != std::future_status::ready) + { + impl->finalize(fmt::format("Operation timeout on {} {}", toString(Coordination::OpNum::Sync), path)); + return Coordination::Error::ZOPERATIONTIMEOUT; + } + else + { + auto response = future_result.get(); + Coordination::Error code = response.error; + returned_path = std::move(response.path); + return code; + } +} +std::string ZooKeeper::sync(const std::string & path) +{ + std::string returned_path; + check(syncImpl(path, returned_path), path); + return returned_path; +} + +Coordination::Error ZooKeeper::trySync(const std::string & path, std::string & returned_path) +{ + return syncImpl(path, returned_path); +} void ZooKeeper::removeChildren(const std::string & path) { @@ -841,6 +870,21 @@ bool ZooKeeper::waitForDisappear(const std::string & path, const WaitCondition & return false; } +void ZooKeeper::waitForEphemeralToDisappearIfAny(const std::string & path) +{ + zkutil::EventPtr eph_node_disappeared = std::make_shared(); + String content; + if (!tryGet(path, content, nullptr, eph_node_disappeared)) + return; + + int32_t timeout_ms = 2 * session_timeout_ms; + if (!eph_node_disappeared->tryWait(timeout_ms)) + throw DB::Exception(DB::ErrorCodes::LOGICAL_ERROR, + "Ephemeral node {} still exists after {}s, probably it's owned by someone else. " + "Either session_timeout_ms in client's config is different from server's config or it's a bug. " + "Node data: '{}'", path, timeout_ms / 1000, content); +} + ZooKeeperPtr ZooKeeper::startNewSession() const { return std::make_shared(hosts, identity, session_timeout_ms, operation_timeout_ms, chroot, implementation, zk_log, get_priority_load_balancing); @@ -1129,6 +1173,37 @@ Coordination::Error ZooKeeper::tryMultiNoThrow(const Coordination::Requests & re } } +std::future ZooKeeper::asyncTrySyncNoThrow(const std::string & path) +{ + auto promise = std::make_shared>(); + auto future = promise->get_future(); + + auto callback = [promise](const Coordination::SyncResponse & response) mutable + { + promise->set_value(response); + }; + + impl->sync(path, std::move(callback)); + return future; +} + +std::future ZooKeeper::asyncSync(const std::string & path) +{ + auto promise = std::make_shared>(); + auto future = promise->get_future(); + + auto callback = [promise](const Coordination::SyncResponse & response) mutable + { + if (response.error != Coordination::Error::ZOK) + promise->set_exception(std::make_exception_ptr(KeeperException(response.error))); + else + promise->set_value(response); + }; + + impl->sync(path, std::move(callback)); + return future; +} + void ZooKeeper::finalize(const String & reason) { impl->finalize(reason); diff --git a/src/Common/ZooKeeper/ZooKeeper.h b/src/Common/ZooKeeper/ZooKeeper.h index 16ae06ae11a..6aebccd2b4e 100644 --- a/src/Common/ZooKeeper/ZooKeeper.h +++ b/src/Common/ZooKeeper/ZooKeeper.h @@ -209,6 +209,10 @@ public: /// Throws nothing (even session expired errors) Coordination::Error tryMultiNoThrow(const Coordination::Requests & requests, Coordination::Responses & responses); + std::string sync(const std::string & path); + + Coordination::Error trySync(const std::string & path, std::string & returned_path); + Int64 getClientID(); /// Remove the node with the subtree. If someone concurrently adds or removes a node @@ -240,6 +244,10 @@ public: /// The function returns true if waited and false if waiting was interrupted by condition. bool waitForDisappear(const std::string & path, const WaitCondition & condition = {}); + /// Wait for the ephemeral node created in previous session to disappear. + /// Throws LOGICAL_ERROR if node still exists after 2x session_timeout. + void waitForEphemeralToDisappearIfAny(const std::string & path); + /// Async interface (a small subset of operations is implemented). /// /// Usage: @@ -290,6 +298,11 @@ public: /// Like the previous one but don't throw any exceptions on future.get() FutureMulti asyncTryMultiNoThrow(const Coordination::Requests & ops); + using FutureSync = std::future; + FutureSync asyncSync(const std::string & path); + /// Like the previous one but don't throw any exceptions on future.get() + FutureSync asyncTrySyncNoThrow(const std::string & path); + /// Very specific methods introduced without following general style. Implements /// some custom throw/no throw logic on future.get(). /// @@ -325,6 +338,7 @@ private: const std::string & path, Strings & res, Coordination::Stat * stat, Coordination::WatchCallback watch_callback); Coordination::Error multiImpl(const Coordination::Requests & requests, Coordination::Responses & responses); Coordination::Error existsImpl(const std::string & path, Coordination::Stat * stat_, Coordination::WatchCallback watch_callback); + Coordination::Error syncImpl(const std::string & path, std::string & returned_path); std::unique_ptr impl; diff --git a/src/Common/ZooKeeper/ZooKeeperCommon.cpp b/src/Common/ZooKeeper/ZooKeeperCommon.cpp index e958774c4a0..de2fb630848 100644 --- a/src/Common/ZooKeeper/ZooKeeperCommon.cpp +++ b/src/Common/ZooKeeper/ZooKeeperCommon.cpp @@ -5,6 +5,7 @@ #include #include #include +#include #include #include @@ -27,6 +28,17 @@ void ZooKeeperResponse::write(WriteBuffer & out) const out.next(); } +std::string ZooKeeperRequest::toString() const +{ + return fmt::format( + "XID = {}\n" + "OpNum = {}\n" + "Additional info:\n{}", + xid, + getOpNum(), + toStringImpl()); +} + void ZooKeeperRequest::write(WriteBuffer & out) const { /// Excessive copy to calculate length. @@ -48,6 +60,11 @@ void ZooKeeperSyncRequest::readImpl(ReadBuffer & in) Coordination::read(path, in); } +std::string ZooKeeperSyncRequest::toStringImpl() const +{ + return fmt::format("path = {}", path); +} + void ZooKeeperSyncResponse::readImpl(ReadBuffer & in) { Coordination::read(path, in); @@ -93,6 +110,15 @@ void ZooKeeperAuthRequest::readImpl(ReadBuffer & in) Coordination::read(data, in); } +std::string ZooKeeperAuthRequest::toStringImpl() const +{ + return fmt::format( + "type = {}\n" + "scheme = {}", + type, + scheme); +} + void ZooKeeperCreateRequest::writeImpl(WriteBuffer & out) const { Coordination::write(path, out); @@ -124,6 +150,17 @@ void ZooKeeperCreateRequest::readImpl(ReadBuffer & in) is_sequential = true; } +std::string ZooKeeperCreateRequest::toStringImpl() const +{ + return fmt::format( + "path = {}\n" + "is_ephemeral = {}\n" + "is_sequential = {}", + path, + is_ephemeral, + is_sequential); +} + void ZooKeeperCreateResponse::readImpl(ReadBuffer & in) { Coordination::read(path_created, in); @@ -140,6 +177,15 @@ void ZooKeeperRemoveRequest::writeImpl(WriteBuffer & out) const Coordination::write(version, out); } +std::string ZooKeeperRemoveRequest::toStringImpl() const +{ + return fmt::format( + "path = {}\n" + "version = {}", + path, + version); +} + void ZooKeeperRemoveRequest::readImpl(ReadBuffer & in) { Coordination::read(path, in); @@ -158,6 +204,11 @@ void ZooKeeperExistsRequest::readImpl(ReadBuffer & in) Coordination::read(has_watch, in); } +std::string ZooKeeperExistsRequest::toStringImpl() const +{ + return fmt::format("path = {}", path); +} + void ZooKeeperExistsResponse::readImpl(ReadBuffer & in) { Coordination::read(stat, in); @@ -180,6 +231,11 @@ void ZooKeeperGetRequest::readImpl(ReadBuffer & in) Coordination::read(has_watch, in); } +std::string ZooKeeperGetRequest::toStringImpl() const +{ + return fmt::format("path = {}", path); +} + void ZooKeeperGetResponse::readImpl(ReadBuffer & in) { Coordination::read(data, in); @@ -206,6 +262,15 @@ void ZooKeeperSetRequest::readImpl(ReadBuffer & in) Coordination::read(version, in); } +std::string ZooKeeperSetRequest::toStringImpl() const +{ + return fmt::format( + "path = {}\n" + "version = {}", + path, + version); +} + void ZooKeeperSetResponse::readImpl(ReadBuffer & in) { Coordination::read(stat, in); @@ -228,6 +293,11 @@ void ZooKeeperListRequest::readImpl(ReadBuffer & in) Coordination::read(has_watch, in); } +std::string ZooKeeperListRequest::toStringImpl() const +{ + return fmt::format("path = {}", path); +} + void ZooKeeperListResponse::readImpl(ReadBuffer & in) { Coordination::read(names, in); @@ -255,6 +325,11 @@ void ZooKeeperSetACLRequest::readImpl(ReadBuffer & in) Coordination::read(version, in); } +std::string ZooKeeperSetACLRequest::toStringImpl() const +{ + return fmt::format("path = {}\n", "version = {}", path, version); +} + void ZooKeeperSetACLResponse::writeImpl(WriteBuffer & out) const { Coordination::write(stat, out); @@ -275,6 +350,11 @@ void ZooKeeperGetACLRequest::writeImpl(WriteBuffer & out) const Coordination::write(path, out); } +std::string ZooKeeperGetACLRequest::toStringImpl() const +{ + return fmt::format("path = {}", path); +} + void ZooKeeperGetACLResponse::writeImpl(WriteBuffer & out) const { Coordination::write(acl, out); @@ -299,6 +379,11 @@ void ZooKeeperCheckRequest::readImpl(ReadBuffer & in) Coordination::read(version, in); } +std::string ZooKeeperCheckRequest::toStringImpl() const +{ + return fmt::format("path = {}\n", "version = {}", path, version); +} + void ZooKeeperErrorResponse::readImpl(ReadBuffer & in) { Coordination::Error read_error; @@ -401,6 +486,17 @@ void ZooKeeperMultiRequest::readImpl(ReadBuffer & in) } } +std::string ZooKeeperMultiRequest::toStringImpl() const +{ + auto out = fmt::memory_buffer(); + for (const auto & request : requests) + { + const auto & zk_request = dynamic_cast(*request); + format_to(std::back_inserter(out), "SubRequest\n{}\n", zk_request.toString()); + } + return {out.data(), out.size()}; +} + bool ZooKeeperMultiRequest::isReadRequest() const { /// Possibly we can do better diff --git a/src/Common/ZooKeeper/ZooKeeperCommon.h b/src/Common/ZooKeeper/ZooKeeperCommon.h index 532488c08f8..c7bfbe95b74 100644 --- a/src/Common/ZooKeeper/ZooKeeperCommon.h +++ b/src/Common/ZooKeeper/ZooKeeperCommon.h @@ -68,10 +68,13 @@ struct ZooKeeperRequest : virtual Request /// Writes length, xid, op_num, then the rest. void write(WriteBuffer & out) const; + std::string toString() const; virtual void writeImpl(WriteBuffer &) const = 0; virtual void readImpl(ReadBuffer &) = 0; + virtual std::string toStringImpl() const { return ""; } + static std::shared_ptr read(ReadBuffer & in); virtual ZooKeeperResponsePtr makeResponse() const = 0; @@ -100,20 +103,18 @@ struct ZooKeeperSyncRequest final : ZooKeeperRequest OpNum getOpNum() const override { return OpNum::Sync; } void writeImpl(WriteBuffer & out) const override; void readImpl(ReadBuffer & in) override; + std::string toStringImpl() const override; ZooKeeperResponsePtr makeResponse() const override; bool isReadRequest() const override { return false; } size_t bytesSize() const override { return ZooKeeperRequest::bytesSize() + path.size(); } }; -struct ZooKeeperSyncResponse final : ZooKeeperResponse +struct ZooKeeperSyncResponse final : SyncResponse, ZooKeeperResponse { - String path; void readImpl(ReadBuffer & in) override; void writeImpl(WriteBuffer & out) const override; OpNum getOpNum() const override { return OpNum::Sync; } - - size_t bytesSize() const override { return path.size(); } }; struct ZooKeeperHeartbeatResponse final : ZooKeeperResponse @@ -150,6 +151,7 @@ struct ZooKeeperAuthRequest final : ZooKeeperRequest OpNum getOpNum() const override { return OpNum::Auth; } void writeImpl(WriteBuffer & out) const override; void readImpl(ReadBuffer & in) override; + std::string toStringImpl() const override; ZooKeeperResponsePtr makeResponse() const override; bool isReadRequest() const override { return false; } @@ -202,6 +204,7 @@ struct ZooKeeperCreateRequest final : public CreateRequest, ZooKeeperRequest OpNum getOpNum() const override { return OpNum::Create; } void writeImpl(WriteBuffer & out) const override; void readImpl(ReadBuffer & in) override; + std::string toStringImpl() const override; ZooKeeperResponsePtr makeResponse() const override; bool isReadRequest() const override { return false; } @@ -232,6 +235,7 @@ struct ZooKeeperRemoveRequest final : RemoveRequest, ZooKeeperRequest OpNum getOpNum() const override { return OpNum::Remove; } void writeImpl(WriteBuffer & out) const override; void readImpl(ReadBuffer & in) override; + std::string toStringImpl() const override; ZooKeeperResponsePtr makeResponse() const override; bool isReadRequest() const override { return false; } @@ -255,6 +259,7 @@ struct ZooKeeperExistsRequest final : ExistsRequest, ZooKeeperRequest OpNum getOpNum() const override { return OpNum::Exists; } void writeImpl(WriteBuffer & out) const override; void readImpl(ReadBuffer & in) override; + std::string toStringImpl() const override; ZooKeeperResponsePtr makeResponse() const override; bool isReadRequest() const override { return true; } @@ -278,6 +283,7 @@ struct ZooKeeperGetRequest final : GetRequest, ZooKeeperRequest OpNum getOpNum() const override { return OpNum::Get; } void writeImpl(WriteBuffer & out) const override; void readImpl(ReadBuffer & in) override; + std::string toStringImpl() const override; ZooKeeperResponsePtr makeResponse() const override; bool isReadRequest() const override { return true; } @@ -304,6 +310,7 @@ struct ZooKeeperSetRequest final : SetRequest, ZooKeeperRequest OpNum getOpNum() const override { return OpNum::Set; } void writeImpl(WriteBuffer & out) const override; void readImpl(ReadBuffer & in) override; + std::string toStringImpl() const override; ZooKeeperResponsePtr makeResponse() const override; bool isReadRequest() const override { return false; } @@ -328,6 +335,7 @@ struct ZooKeeperListRequest : ListRequest, ZooKeeperRequest OpNum getOpNum() const override { return OpNum::List; } void writeImpl(WriteBuffer & out) const override; void readImpl(ReadBuffer & in) override; + std::string toStringImpl() const override; ZooKeeperResponsePtr makeResponse() const override; bool isReadRequest() const override { return true; } @@ -363,6 +371,7 @@ struct ZooKeeperCheckRequest final : CheckRequest, ZooKeeperRequest OpNum getOpNum() const override { return OpNum::Check; } void writeImpl(WriteBuffer & out) const override; void readImpl(ReadBuffer & in) override; + std::string toStringImpl() const override; ZooKeeperResponsePtr makeResponse() const override; bool isReadRequest() const override { return true; } @@ -397,6 +406,7 @@ struct ZooKeeperSetACLRequest final : SetACLRequest, ZooKeeperRequest OpNum getOpNum() const override { return OpNum::SetACL; } void writeImpl(WriteBuffer & out) const override; void readImpl(ReadBuffer & in) override; + std::string toStringImpl() const override; ZooKeeperResponsePtr makeResponse() const override; bool isReadRequest() const override { return false; } @@ -417,6 +427,7 @@ struct ZooKeeperGetACLRequest final : GetACLRequest, ZooKeeperRequest OpNum getOpNum() const override { return OpNum::GetACL; } void writeImpl(WriteBuffer & out) const override; void readImpl(ReadBuffer & in) override; + std::string toStringImpl() const override; ZooKeeperResponsePtr makeResponse() const override; bool isReadRequest() const override { return true; } @@ -441,6 +452,7 @@ struct ZooKeeperMultiRequest final : MultiRequest, ZooKeeperRequest void writeImpl(WriteBuffer & out) const override; void readImpl(ReadBuffer & in) override; + std::string toStringImpl() const override; ZooKeeperResponsePtr makeResponse() const override; bool isReadRequest() const override; diff --git a/src/Common/ZooKeeper/ZooKeeperIO.cpp b/src/Common/ZooKeeper/ZooKeeperIO.cpp index 12ef9f17b3d..066aa1a24f6 100644 --- a/src/Common/ZooKeeper/ZooKeeperIO.cpp +++ b/src/Common/ZooKeeper/ZooKeeperIO.cpp @@ -9,7 +9,7 @@ void write(size_t x, WriteBuffer & out) writeBinary(x, out); } -#ifdef __APPLE__ +#ifdef OS_DARWIN void write(uint64_t x, WriteBuffer & out) { x = __builtin_bswap64(x); @@ -71,7 +71,7 @@ void write(const Error & x, WriteBuffer & out) write(static_cast(x), out); } -#ifdef __APPLE__ +#ifdef OS_DARWIN void read(uint64_t & x, ReadBuffer & in) { readBinary(x, in); diff --git a/src/Common/ZooKeeper/ZooKeeperIO.h b/src/Common/ZooKeeper/ZooKeeperIO.h index 1fcb96315a5..c2c6149cd11 100644 --- a/src/Common/ZooKeeper/ZooKeeperIO.h +++ b/src/Common/ZooKeeper/ZooKeeperIO.h @@ -16,7 +16,7 @@ using namespace DB; void write(size_t x, WriteBuffer & out); /// uint64_t != size_t on darwin -#ifdef __APPLE__ +#ifdef OS_DARWIN void write(uint64_t x, WriteBuffer & out); #endif @@ -45,7 +45,7 @@ void write(const std::vector & arr, WriteBuffer & out) } void read(size_t & x, ReadBuffer & in); -#ifdef __APPLE__ +#ifdef OS_DARWIN void read(uint64_t & x, ReadBuffer & in); #endif void read(int64_t & x, ReadBuffer & in); diff --git a/src/Common/ZooKeeper/ZooKeeperImpl.cpp b/src/Common/ZooKeeper/ZooKeeperImpl.cpp index 791e6a3b5f5..bd284ed0c91 100644 --- a/src/Common/ZooKeeper/ZooKeeperImpl.cpp +++ b/src/Common/ZooKeeper/ZooKeeperImpl.cpp @@ -1,3 +1,4 @@ +#include #include #include #include @@ -31,6 +32,7 @@ namespace ProfileEvents extern const Event ZooKeeperSet; extern const Event ZooKeeperList; extern const Event ZooKeeperCheck; + extern const Event ZooKeeperSync; extern const Event ZooKeeperClose; extern const Event ZooKeeperWaitMicroseconds; extern const Event ZooKeeperBytesSent; @@ -1199,6 +1201,21 @@ void ZooKeeper::check( ProfileEvents::increment(ProfileEvents::ZooKeeperCheck); } +void ZooKeeper::sync( + const String & path, + SyncCallback callback) +{ + ZooKeeperSyncRequest request; + request.path = path; + + RequestInfo request_info; + request_info.request = std::make_shared(std::move(request)); + request_info.callback = [callback](const Response & response) { callback(dynamic_cast(response)); }; + + pushRequest(std::move(request_info)); + ProfileEvents::increment(ProfileEvents::ZooKeeperSync); +} + void ZooKeeper::multi( const Requests & requests, diff --git a/src/Common/ZooKeeper/ZooKeeperImpl.h b/src/Common/ZooKeeper/ZooKeeperImpl.h index 58c5947e8ea..c4acaf8d1ee 100644 --- a/src/Common/ZooKeeper/ZooKeeperImpl.h +++ b/src/Common/ZooKeeper/ZooKeeperImpl.h @@ -1,5 +1,6 @@ #pragma once +#include #include #include #include @@ -171,6 +172,10 @@ public: int32_t version, CheckCallback callback) override; + void sync( + const String & path, + SyncCallback callback) override; + void multi( const Requests & requests, MultiCallback callback) override; @@ -228,13 +233,13 @@ private: using Operations = std::map; - Operations operations; + Operations operations TSA_GUARDED_BY(operations_mutex); std::mutex operations_mutex; using WatchCallbacks = std::vector; using Watches = std::map; - Watches watches; + Watches watches TSA_GUARDED_BY(watches_mutex); std::mutex watches_mutex; ThreadFromGlobalPool send_thread; diff --git a/src/Common/atomicRename.cpp b/src/Common/atomicRename.cpp index c63c0e05899..fc0785c56f9 100644 --- a/src/Common/atomicRename.cpp +++ b/src/Common/atomicRename.cpp @@ -21,7 +21,7 @@ namespace ErrorCodes } -#if defined(__linux__) +#if defined(OS_LINUX) #include #include @@ -101,7 +101,7 @@ bool supportsAtomicRename() } -#elif defined(__APPLE__) +#elif defined(OS_DARWIN) // Includes #include // For dlsym diff --git a/src/Common/checkStackSize.cpp b/src/Common/checkStackSize.cpp index f1b56ac83a3..d6edb8596b7 100644 --- a/src/Common/checkStackSize.cpp +++ b/src/Common/checkStackSize.cpp @@ -5,7 +5,7 @@ #include #include -#if defined(__FreeBSD__) +#if defined(OS_FREEBSD) # include #endif @@ -48,7 +48,7 @@ size_t getStackSize(void ** out_address) address = reinterpret_cast(reinterpret_cast(pthread_get_stackaddr_np(thread)) - size); #else pthread_attr_t attr; -# if defined(__FreeBSD__) || defined(OS_SUNOS) +# if defined(OS_FREEBSD) || defined(OS_SUNOS) pthread_attr_init(&attr); if (0 != pthread_attr_get_np(pthread_self(), &attr)) throwFromErrno("Cannot pthread_attr_get_np", ErrorCodes::CANNOT_PTHREAD_ATTR); diff --git a/src/Common/examples/int_hashes_perf.cpp b/src/Common/examples/int_hashes_perf.cpp index 0fe0141ba1a..bea180f1acd 100644 --- a/src/Common/examples/int_hashes_perf.cpp +++ b/src/Common/examples/int_hashes_perf.cpp @@ -16,7 +16,7 @@ static void setAffinity() { -#if !defined(__APPLE__) && !defined(__FreeBSD__) && !defined(__sun) +#if !defined(OS_DARWIN) && !defined(OS_FREEBSD) && !defined(__sun) cpu_set_t mask; CPU_ZERO(&mask); CPU_SET(0, &mask); @@ -283,7 +283,7 @@ int main(int argc, char ** argv) if (!method || method == 1) test (n, data.data(), "0: identity"); if (!method || method == 2) test (n, data.data(), "1: intHash32"); -#if !defined(__APPLE__) /// The difference in size_t: unsigned long on Linux, unsigned long long on Mac OS. +#if !defined(OS_DARWIN) /// The difference in size_t: unsigned long on Linux, unsigned long long on Mac OS. if (!method || method == 3) test (n, data.data(), "2: intHash64"); #endif if (!method || method == 4) test (n, data.data(), "3: two rounds"); diff --git a/src/Common/examples/procfs_metrics_provider_perf.cpp b/src/Common/examples/procfs_metrics_provider_perf.cpp index 022da09b779..a145a911bf7 100644 --- a/src/Common/examples/procfs_metrics_provider_perf.cpp +++ b/src/Common/examples/procfs_metrics_provider_perf.cpp @@ -1,4 +1,4 @@ -#if defined(__linux__) +#if defined(OS_LINUX) #include #include @@ -6,7 +6,7 @@ #endif -#if defined(__linux__) +#if defined(OS_LINUX) int main(int argc, char ** argv) { using namespace DB; diff --git a/src/Common/examples/symbol_index.cpp b/src/Common/examples/symbol_index.cpp index 5c0896be2a8..2fcb7498d88 100644 --- a/src/Common/examples/symbol_index.cpp +++ b/src/Common/examples/symbol_index.cpp @@ -16,7 +16,7 @@ static NO_INLINE const void * getAddress() int main(int argc, char ** argv) { -#if defined(__ELF__) && !defined(__FreeBSD__) +#if defined(__ELF__) && !defined(OS_FREEBSD) using namespace DB; if (argc < 2) diff --git a/src/Common/filesystemHelpers.cpp b/src/Common/filesystemHelpers.cpp index ca06b21ab3a..b917a0a1d13 100644 --- a/src/Common/filesystemHelpers.cpp +++ b/src/Common/filesystemHelpers.cpp @@ -1,23 +1,21 @@ #include "filesystemHelpers.h" -#include -#if defined(__linux__) -# include +#if defined(OS_LINUX) # include -# include # include #endif #include -#include #include #include #include #include +#include #include #include #include #include #include +#include namespace fs = std::filesystem; @@ -30,6 +28,7 @@ namespace ErrorCodes extern const int SYSTEM_ERROR; extern const int NOT_IMPLEMENTED; extern const int CANNOT_STAT; + extern const int CANNOT_FSTAT; extern const int CANNOT_STATVFS; extern const int PATH_ACCESS_DENIED; extern const int CANNOT_CREATE_FILE; @@ -63,12 +62,12 @@ std::unique_ptr createTemporaryFile(const std::string & path) return std::make_unique(path); } -#if !defined(__linux__) +#if !defined(OS_LINUX) [[noreturn]] #endif String getBlockDeviceId([[maybe_unused]] const String & path) { -#if defined(__linux__) +#if defined(OS_LINUX) struct stat sb; if (lstat(path.c_str(), &sb)) throwFromErrnoWithPath("Cannot lstat " + path, path, ErrorCodes::CANNOT_STAT); @@ -80,12 +79,12 @@ String getBlockDeviceId([[maybe_unused]] const String & path) #endif } -#if !defined(__linux__) +#if !defined(OS_LINUX) [[noreturn]] #endif BlockDeviceType getBlockDeviceType([[maybe_unused]] const String & device_id) { -#if defined(__linux__) +#if defined(OS_LINUX) try { ReadBufferFromFile in("/sys/dev/block/" + device_id + "/queue/rotational"); @@ -102,12 +101,12 @@ BlockDeviceType getBlockDeviceType([[maybe_unused]] const String & device_id) #endif } -#if !defined(__linux__) +#if !defined(OS_LINUX) [[noreturn]] #endif UInt64 getBlockDeviceReadAheadBytes([[maybe_unused]] const String & device_id) { -#if defined(__linux__) +#if defined(OS_LINUX) try { ReadBufferFromFile in("/sys/dev/block/" + device_id + "/queue/read_ahead_kb"); @@ -156,12 +155,12 @@ std::filesystem::path getMountPoint(std::filesystem::path absolute_path) } /// Returns name of filesystem mounted to mount_point -#if !defined(__linux__) +#if !defined(OS_LINUX) [[noreturn]] #endif String getFilesystemName([[maybe_unused]] const String & mount_point) { -#if defined(__linux__) +#if defined(OS_LINUX) FILE * mounted_filesystems = setmntent("/etc/mtab", "r"); if (!mounted_filesystems) throw DB::Exception("Cannot open /etc/mtab to get name of filesystem", ErrorCodes::SYSTEM_ERROR); @@ -216,6 +215,20 @@ bool fileOrSymlinkPathStartsWith(const String & path, const String & prefix_path return fileOrSymlinkPathStartsWith(filesystem_path, filesystem_prefix_path); } +size_t getSizeFromFileDescriptor(int fd, const String & file_name) +{ + struct stat buf; + int res = fstat(fd, &buf); + if (-1 == res) + { + throwFromErrnoWithPath( + "Cannot execute fstat" + (file_name.empty() ? "" : " file: " + file_name), + file_name, + ErrorCodes::CANNOT_FSTAT); + } + return buf.st_size; +} + } @@ -281,7 +294,15 @@ time_t getModificationTime(const std::string & path) struct stat st; if (stat(path.c_str(), &st) == 0) return st.st_mtime; - DB::throwFromErrnoWithPath("Cannot check modification time for file: " + path, path, DB::ErrorCodes::PATH_ACCESS_DENIED); + DB::throwFromErrnoWithPath("Cannot check modification time for file: " + path, path, DB::ErrorCodes::CANNOT_STAT); +} + +time_t getChangeTime(const std::string & path) +{ + struct stat st; + if (stat(path.c_str(), &st) == 0) + return st.st_ctime; + DB::throwFromErrnoWithPath("Cannot check change time for file: " + path, path, DB::ErrorCodes::CANNOT_STAT); } Poco::Timestamp getModificationTimestamp(const std::string & path) diff --git a/src/Common/filesystemHelpers.h b/src/Common/filesystemHelpers.h index b15073796a0..1b8aa9bcdf9 100644 --- a/src/Common/filesystemHelpers.h +++ b/src/Common/filesystemHelpers.h @@ -19,7 +19,7 @@ bool enoughSpaceInDirectory(const std::string & path, size_t data_size); std::unique_ptr createTemporaryFile(const std::string & path); // Determine what block device is responsible for specified path -#if !defined(__linux__) +#if !defined(OS_LINUX) [[noreturn]] #endif String getBlockDeviceId([[maybe_unused]] const String & path); @@ -32,13 +32,13 @@ enum class BlockDeviceType }; // Try to determine block device type -#if !defined(__linux__) +#if !defined(OS_LINUX) [[noreturn]] #endif BlockDeviceType getBlockDeviceType([[maybe_unused]] const String & device_id); // Get size of read-ahead in bytes for specified block device -#if !defined(__linux__) +#if !defined(OS_LINUX) [[noreturn]] #endif UInt64 getBlockDeviceReadAheadBytes([[maybe_unused]] const String & device_id); @@ -47,7 +47,7 @@ UInt64 getBlockDeviceReadAheadBytes([[maybe_unused]] const String & device_id); std::filesystem::path getMountPoint(std::filesystem::path absolute_path); /// Returns name of filesystem mounted to mount_point -#if !defined(__linux__) +#if !defined(OS_LINUX) [[noreturn]] #endif String getFilesystemName([[maybe_unused]] const String & mount_point); @@ -64,6 +64,8 @@ bool pathStartsWith(const String & path, const String & prefix_path); /// (Path is made absolute and normalized.) bool fileOrSymlinkPathStartsWith(const String & path, const String & prefix_path); +size_t getSizeFromFileDescriptor(int fd, const String & file_name = ""); + } namespace FS @@ -75,7 +77,10 @@ bool canRead(const std::string & path); bool canWrite(const std::string & path); bool canExecute(const std::string & path); +/// st_mtime time_t getModificationTime(const std::string & path); Poco::Timestamp getModificationTimestamp(const std::string & path); void setModificationTime(const std::string & path, time_t time); +/// st_ctime +time_t getChangeTime(const std::string & path); } diff --git a/src/Common/formatIPv6.h b/src/Common/formatIPv6.h index d6efeed17e6..83b9d6e9fb1 100644 --- a/src/Common/formatIPv6.h +++ b/src/Common/formatIPv6.h @@ -1,7 +1,7 @@ #pragma once #include -#include +#include #include #include #include diff --git a/src/Common/getCurrentProcessFDCount.cpp b/src/Common/getCurrentProcessFDCount.cpp index 6471324b311..4c0f328c853 100644 --- a/src/Common/getCurrentProcessFDCount.cpp +++ b/src/Common/getCurrentProcessFDCount.cpp @@ -11,7 +11,7 @@ int getCurrentProcessFDCount() { namespace fs = std::filesystem; int result = -1; -#if defined(__linux__) || defined(__APPLE__) +#if defined(OS_LINUX) || defined(OS_DARWIN) using namespace DB; Int32 pid = getpid(); diff --git a/src/Common/getHashOfLoadedBinary.cpp b/src/Common/getHashOfLoadedBinary.cpp index dcf483b4fa8..da053750036 100644 --- a/src/Common/getHashOfLoadedBinary.cpp +++ b/src/Common/getHashOfLoadedBinary.cpp @@ -1,6 +1,6 @@ #include -#if defined(__linux__) +#if defined(OS_LINUX) #include #include diff --git a/src/Common/getMappedArea.cpp b/src/Common/getMappedArea.cpp index 6e452f32b96..46bf3394a85 100644 --- a/src/Common/getMappedArea.cpp +++ b/src/Common/getMappedArea.cpp @@ -1,7 +1,7 @@ #include "getMappedArea.h" #include -#if defined(__linux__) +#if defined(OS_LINUX) #include #include diff --git a/src/Common/getMaxFileDescriptorCount.cpp b/src/Common/getMaxFileDescriptorCount.cpp index b8a2e4a0917..10142ef8445 100644 --- a/src/Common/getMaxFileDescriptorCount.cpp +++ b/src/Common/getMaxFileDescriptorCount.cpp @@ -9,7 +9,7 @@ int getMaxFileDescriptorCount() { namespace fs = std::filesystem; int result = -1; -#if defined(__linux__) || defined(__APPLE__) +#if defined(OS_LINUX) || defined(OS_DARWIN) using namespace DB; if (fs::exists("/proc/sys/fs/file-max")) diff --git a/src/Common/hasLinuxCapability.cpp b/src/Common/hasLinuxCapability.cpp index c71a5f6c9d6..5d823b4ecaf 100644 --- a/src/Common/hasLinuxCapability.cpp +++ b/src/Common/hasLinuxCapability.cpp @@ -1,4 +1,4 @@ -#if defined(__linux__) +#if defined(OS_LINUX) #include "hasLinuxCapability.h" diff --git a/src/Common/hasLinuxCapability.h b/src/Common/hasLinuxCapability.h index 4a9d2214a72..9af555afa50 100644 --- a/src/Common/hasLinuxCapability.h +++ b/src/Common/hasLinuxCapability.h @@ -1,5 +1,5 @@ #pragma once -#if defined(__linux__) +#if defined(OS_LINUX) #include diff --git a/src/Common/memcmpSmall.h b/src/Common/memcmpSmall.h index 57b9c731897..7b977a4a23c 100644 --- a/src/Common/memcmpSmall.h +++ b/src/Common/memcmpSmall.h @@ -1,7 +1,7 @@ #pragma once -#include #include +#include #include @@ -26,7 +26,7 @@ inline int cmp(T a, T b) /// Results don't depend on the values inside uninitialized memory but Memory Sanitizer cannot see it. /// Disable optimized functions if compile with Memory Sanitizer. #if defined(__AVX512BW__) && defined(__AVX512VL__) && !defined(MEMORY_SANITIZER) -#include +# include /** All functions works under the following assumptions: @@ -45,7 +45,8 @@ inline int memcmpSmallAllowOverflow15(const Char * a, size_t a_size, const Char { uint16_t mask = _mm_cmp_epi8_mask( _mm_loadu_si128(reinterpret_cast(a + offset)), - _mm_loadu_si128(reinterpret_cast(b + offset)), _MM_CMPINT_NE); + _mm_loadu_si128(reinterpret_cast(b + offset)), + _MM_CMPINT_NE); if (mask) { @@ -76,7 +77,8 @@ inline int memcmpSmallLikeZeroPaddedAllowOverflow15(const Char * a, size_t a_siz { uint16_t mask = _mm_cmp_epi8_mask( _mm_loadu_si128(reinterpret_cast(a + offset)), - _mm_loadu_si128(reinterpret_cast(b + offset)), _MM_CMPINT_NE); + _mm_loadu_si128(reinterpret_cast(b + offset)), + _MM_CMPINT_NE); if (mask) { @@ -117,9 +119,7 @@ inline int memcmpSmallLikeZeroPaddedAllowOverflow15(const Char * a, size_t a_siz for (size_t offset = min_size; offset < max_size; offset += 16) { - uint16_t mask = _mm_cmpneq_epi8_mask( - _mm_loadu_si128(reinterpret_cast(longest + offset)), - zero16); + uint16_t mask = _mm_cmpneq_epi8_mask(_mm_loadu_si128(reinterpret_cast(longest + offset)), zero16); if (mask) { @@ -145,7 +145,8 @@ inline int memcmpSmallAllowOverflow15(const Char * a, const Char * b, size_t siz { uint16_t mask = _mm_cmp_epi8_mask( _mm_loadu_si128(reinterpret_cast(a + offset)), - _mm_loadu_si128(reinterpret_cast(b + offset)), _MM_CMPINT_NE); + _mm_loadu_si128(reinterpret_cast(b + offset)), + _MM_CMPINT_NE); if (mask) { @@ -174,7 +175,8 @@ inline bool memequalSmallAllowOverflow15(const Char * a, size_t a_size, const Ch { uint16_t mask = _mm_cmp_epi8_mask( _mm_loadu_si128(reinterpret_cast(a + offset)), - _mm_loadu_si128(reinterpret_cast(b + offset)), _MM_CMPINT_NE); + _mm_loadu_si128(reinterpret_cast(b + offset)), + _MM_CMPINT_NE); if (mask) { @@ -196,7 +198,8 @@ inline int memcmpSmallMultipleOf16(const Char * a, const Char * b, size_t size) { uint16_t mask = _mm_cmp_epi8_mask( _mm_loadu_si128(reinterpret_cast(a + offset)), - _mm_loadu_si128(reinterpret_cast(b + offset)), _MM_CMPINT_NE); + _mm_loadu_si128(reinterpret_cast(b + offset)), + _MM_CMPINT_NE); if (mask) { @@ -215,8 +218,7 @@ template inline int memcmp16(const Char * a, const Char * b) { uint16_t mask = _mm_cmp_epi8_mask( - _mm_loadu_si128(reinterpret_cast(a)), - _mm_loadu_si128(reinterpret_cast(b)), _MM_CMPINT_NE); + _mm_loadu_si128(reinterpret_cast(a)), _mm_loadu_si128(reinterpret_cast(b)), _MM_CMPINT_NE); if (mask) { @@ -232,9 +234,9 @@ inline int memcmp16(const Char * a, const Char * b) */ inline bool memequal16(const void * a, const void * b) { - return 0xFFFF == _mm_cmp_epi8_mask( - _mm_loadu_si128(reinterpret_cast(a)), - _mm_loadu_si128(reinterpret_cast(b)), _MM_CMPINT_EQ); + return 0xFFFF + == _mm_cmp_epi8_mask( + _mm_loadu_si128(reinterpret_cast(a)), _mm_loadu_si128(reinterpret_cast(b)), _MM_CMPINT_EQ); } @@ -245,8 +247,8 @@ inline bool memoryIsZeroSmallAllowOverflow15(const void * data, size_t size) for (size_t offset = 0; offset < size; offset += 16) { - uint16_t mask = _mm_cmp_epi8_mask(zero16, - _mm_loadu_si128(reinterpret_cast(reinterpret_cast(data) + offset)), _MM_CMPINT_NE); + uint16_t mask = _mm_cmp_epi8_mask( + zero16, _mm_loadu_si128(reinterpret_cast(reinterpret_cast(data) + offset)), _MM_CMPINT_NE); if (mask) { @@ -259,7 +261,7 @@ inline bool memoryIsZeroSmallAllowOverflow15(const void * data, size_t size) } #elif defined(__SSE2__) && !defined(MEMORY_SANITIZER) -#include +# include /** All functions works under the following assumptions: @@ -352,9 +354,7 @@ inline int memcmpSmallLikeZeroPaddedAllowOverflow15(const Char * a, size_t a_siz for (size_t offset = min_size; offset < max_size; offset += 16) { - uint16_t mask = _mm_movemask_epi8(_mm_cmpeq_epi8( - _mm_loadu_si128(reinterpret_cast(longest + offset)), - zero16)); + uint16_t mask = _mm_movemask_epi8(_mm_cmpeq_epi8(_mm_loadu_si128(reinterpret_cast(longest + offset)), zero16)); mask = ~mask; if (mask) @@ -453,9 +453,8 @@ inline int memcmpSmallMultipleOf16(const Char * a, const Char * b, size_t size) template inline int memcmp16(const Char * a, const Char * b) { - uint16_t mask = _mm_movemask_epi8(_mm_cmpeq_epi8( - _mm_loadu_si128(reinterpret_cast(a)), - _mm_loadu_si128(reinterpret_cast(b)))); + uint16_t mask = _mm_movemask_epi8( + _mm_cmpeq_epi8(_mm_loadu_si128(reinterpret_cast(a)), _mm_loadu_si128(reinterpret_cast(b)))); mask = ~mask; if (mask) @@ -472,9 +471,9 @@ inline int memcmp16(const Char * a, const Char * b) */ inline bool memequal16(const void * a, const void * b) { - return 0xFFFF == _mm_movemask_epi8(_mm_cmpeq_epi8( - _mm_loadu_si128(reinterpret_cast(a)), - _mm_loadu_si128(reinterpret_cast(b)))); + return 0xFFFF + == _mm_movemask_epi8(_mm_cmpeq_epi8( + _mm_loadu_si128(reinterpret_cast(a)), _mm_loadu_si128(reinterpret_cast(b)))); } @@ -485,8 +484,8 @@ inline bool memoryIsZeroSmallAllowOverflow15(const void * data, size_t size) for (size_t offset = 0; offset < size; offset += 16) { - uint16_t mask = _mm_movemask_epi8(_mm_cmpeq_epi8(zero16, - _mm_loadu_si128(reinterpret_cast(reinterpret_cast(data) + offset)))); + uint16_t mask = _mm_movemask_epi8( + _mm_cmpeq_epi8(zero16, _mm_loadu_si128(reinterpret_cast(reinterpret_cast(data) + offset)))); mask = ~mask; if (mask) @@ -499,6 +498,209 @@ inline bool memoryIsZeroSmallAllowOverflow15(const void * data, size_t size) return true; } +#elif defined(__aarch64__) && defined(__ARM_NEON) + +# include +# ifdef HAS_RESERVED_IDENTIFIER +# pragma clang diagnostic ignored "-Wreserved-identifier" +# endif + +inline uint64_t getNibbleMask(uint8x16_t res) +{ + return vget_lane_u64(vreinterpret_u64_u8(vshrn_n_u16(vreinterpretq_u16_u8(res), 4)), 0); +} + +template +inline int memcmpSmallAllowOverflow15(const Char * a, size_t a_size, const Char * b, size_t b_size) +{ + size_t min_size = std::min(a_size, b_size); + + for (size_t offset = 0; offset < min_size; offset += 16) + { + uint64_t mask = getNibbleMask(vceqq_u8( + vld1q_u8(reinterpret_cast(a + offset)), vld1q_u8(reinterpret_cast(b + offset)))); + mask = ~mask; + + if (mask) + { + offset += __builtin_ctzll(mask) >> 2; + + if (offset >= min_size) + break; + + return detail::cmp(a[offset], b[offset]); + } + } + + return detail::cmp(a_size, b_size); +} + +template +inline int memcmpSmallLikeZeroPaddedAllowOverflow15(const Char * a, size_t a_size, const Char * b, size_t b_size) +{ + size_t min_size = std::min(a_size, b_size); + + for (size_t offset = 0; offset < min_size; offset += 16) + { + uint64_t mask = getNibbleMask(vceqq_u8( + vld1q_u8(reinterpret_cast(a + offset)), vld1q_u8(reinterpret_cast(b + offset)))); + mask = ~mask; + + if (mask) + { + offset += __builtin_ctzll(mask) >> 2; + + if (offset >= min_size) + break; + + return detail::cmp(a[offset], b[offset]); + } + } + + /// The strings are equal up to min_size. + /// If the rest of the larger string is zero bytes then the strings are + /// considered equal. + + size_t max_size; + const Char * longest; + int cmp; + + if (a_size == b_size) + { + return 0; + } + else if (a_size > b_size) + { + max_size = a_size; + longest = a; + cmp = 1; + } + else + { + max_size = b_size; + longest = b; + cmp = -1; + } + + for (size_t offset = min_size; offset < max_size; offset += 16) + { + uint64_t mask = getNibbleMask(vceqzq_u8(vld1q_u8(reinterpret_cast(longest + offset)))); + mask = ~mask; + + if (mask) + { + offset += __builtin_ctzll(mask) >> 2; + + if (offset >= max_size) + return 0; + return cmp; + } + } + + return 0; +} + +template +inline int memcmpSmallAllowOverflow15(const Char * a, const Char * b, size_t size) +{ + for (size_t offset = 0; offset < size; offset += 16) + { + uint64_t mask = getNibbleMask(vceqq_u8( + vld1q_u8(reinterpret_cast(a + offset)), vld1q_u8(reinterpret_cast(b + offset)))); + mask = ~mask; + + if (mask) + { + offset += __builtin_ctzll(mask) >> 2; + + if (offset >= size) + return 0; + + return detail::cmp(a[offset], b[offset]); + } + } + + return 0; +} + +template +inline bool memequalSmallAllowOverflow15(const Char * a, size_t a_size, const Char * b, size_t b_size) +{ + if (a_size != b_size) + return false; + + for (size_t offset = 0; offset < a_size; offset += 16) + { + uint64_t mask = getNibbleMask(vceqq_u8( + vld1q_u8(reinterpret_cast(a + offset)), vld1q_u8(reinterpret_cast(b + offset)))); + mask = ~mask; + + if (mask) + { + offset += __builtin_ctzll(mask) >> 2; + return offset >= a_size; + } + } + + return true; +} + +template +inline int memcmpSmallMultipleOf16(const Char * a, const Char * b, size_t size) +{ + for (size_t offset = 0; offset < size; offset += 16) + { + uint64_t mask = getNibbleMask(vceqq_u8( + vld1q_u8(reinterpret_cast(a + offset)), vld1q_u8(reinterpret_cast(b + offset)))); + mask = ~mask; + + if (mask) + { + offset += __builtin_ctzll(mask) >> 2; + return detail::cmp(a[offset], b[offset]); + } + } + + return 0; +} + +template +inline int memcmp16(const Char * a, const Char * b) +{ + uint64_t mask = getNibbleMask( + vceqq_u8(vld1q_u8(reinterpret_cast(a)), vld1q_u8(reinterpret_cast(b)))); + mask = ~mask; + if (mask) + { + auto offset = __builtin_ctzll(mask) >> 2; + return detail::cmp(a[offset], b[offset]); + } + return 0; +} + +inline bool memequal16(const void * a, const void * b) +{ + return 0xFFFFFFFFFFFFFFFFull + == getNibbleMask( + vceqq_u8(vld1q_u8(reinterpret_cast(a)), vld1q_u8(reinterpret_cast(b)))); +} + +inline bool memoryIsZeroSmallAllowOverflow15(const void * data, size_t size) +{ + for (size_t offset = 0; offset < size; offset += 16) + { + uint64_t mask = getNibbleMask(vceqzq_u8(vld1q_u8(reinterpret_cast(data) + offset))); + mask = ~mask; + + if (mask) + { + offset += __builtin_ctzll(mask) >> 2; + return offset >= size; + } + } + + return true; +} #else diff --git a/src/Common/memcpySmall.h b/src/Common/memcpySmall.h index aaedfb81fe5..4f38095c7f1 100644 --- a/src/Common/memcpySmall.h +++ b/src/Common/memcpySmall.h @@ -1,10 +1,17 @@ #pragma once -#include +#include #ifdef __SSE2__ -#include +# include +#endif +#if defined(__aarch64__) && defined(__ARM_NEON) +# include +# ifdef HAS_RESERVED_IDENTIFIER +# pragma clang diagnostic ignored "-Wreserved-identifier" +# endif +#endif /** memcpy function could work suboptimal if all the following conditions are met: * 1. Size of memory region is relatively small (approximately, under 50 bytes). @@ -27,6 +34,7 @@ * Use with caution. */ +#ifdef __SSE2__ /// Implementation for x86 platform namespace detail { inline void memcpySmallAllowReadWriteOverflow15Impl(char * __restrict dst, const char * __restrict src, ssize_t n) @@ -51,11 +59,33 @@ inline void memcpySmallAllowReadWriteOverflow15(void * __restrict dst, const voi detail::memcpySmallAllowReadWriteOverflow15Impl(reinterpret_cast(dst), reinterpret_cast(src), n); } +#elif defined(__aarch64__) && defined(__ARM_NEON) /// Implementation for arm platform, similar to x86 + +namespace detail +{ +inline void memcpySmallAllowReadWriteOverflow15Impl(char * __restrict dst, const char * __restrict src, ssize_t n) +{ + while (n > 0) + { + vst1q_s8(reinterpret_cast(dst), vld1q_s8(reinterpret_cast(src))); + + dst += 16; + src += 16; + n -= 16; + } +} +} + +inline void memcpySmallAllowReadWriteOverflow15(void * __restrict dst, const void * __restrict src, size_t n) +{ + detail::memcpySmallAllowReadWriteOverflow15Impl(reinterpret_cast(dst), reinterpret_cast(src), n); +} + /** NOTE There was also a function, that assumes, that you could read any bytes inside same memory page of src. * This function was unused, and also it requires special handling for Valgrind and ASan. */ -#else /// Implementation for other platforms. +#else /// Implementation for other platforms. inline void memcpySmallAllowReadWriteOverflow15(void * __restrict dst, const void * __restrict src, size_t n) { diff --git a/src/Common/noexcept_scope.h b/src/Common/noexcept_scope.h new file mode 100644 index 00000000000..56fb44ff0bf --- /dev/null +++ b/src/Common/noexcept_scope.h @@ -0,0 +1,36 @@ +#pragma once +#include +#include +#include + + +#define NOEXCEPT_SCOPE_IMPL_CONCAT(n, expected) \ + LockMemoryExceptionInThread lock_memory_tracker##n(VariableContext::Global); \ + SCOPE_EXIT( \ + { \ + const auto uncaught = std::uncaught_exceptions(); \ + assert((expected) == uncaught || (expected) + 1 == uncaught); \ + if ((expected) < uncaught) \ + { \ + tryLogCurrentException("NOEXCEPT_SCOPE"); \ + abort(); \ + } \ + } \ + ) + +#define NOEXCEPT_SCOPE_IMPL(n, expected) NOEXCEPT_SCOPE_IMPL_CONCAT(n, expected) + +#define NOEXCEPT_SCOPE_CONCAT(n) \ + const auto num_curr_exceptions##n = std::uncaught_exceptions(); \ + NOEXCEPT_SCOPE_IMPL(n, num_curr_exceptions##n) + +#define NOEXCEPT_SCOPE_FWD(n) NOEXCEPT_SCOPE_CONCAT(n) + + +/// It can be used in critical places to exit on unexpected exceptions. +/// SIGABRT is usually better that broken in-memory state with unpredictable consequences. +/// It also temporarily disables exception from memory tracker in current thread. +/// Strict version does not take into account nested exception (i.e. it aborts even when we're in catch block). + +#define NOEXCEPT_SCOPE_STRICT NOEXCEPT_SCOPE_IMPL(__LINE__, 0) +#define NOEXCEPT_SCOPE NOEXCEPT_SCOPE_FWD(__LINE__) diff --git a/src/Common/quoteString.cpp b/src/Common/quoteString.cpp index 15901643f47..e3e6e0b3249 100644 --- a/src/Common/quoteString.cpp +++ b/src/Common/quoteString.cpp @@ -43,4 +43,5 @@ String backQuoteIfNeed(const StringRef & x) } return res; } + } diff --git a/src/Common/quoteString.h b/src/Common/quoteString.h index 0364efbdf14..73c0de03d45 100644 --- a/src/Common/quoteString.h +++ b/src/Common/quoteString.h @@ -23,4 +23,5 @@ String backQuote(const StringRef & x); /// Quote the identifier with backquotes, if required. String backQuoteIfNeed(const StringRef & x); + } diff --git a/src/Common/randomSeed.cpp b/src/Common/randomSeed.cpp index 34af6afcdff..9f0ffd8a6c7 100644 --- a/src/Common/randomSeed.cpp +++ b/src/Common/randomSeed.cpp @@ -7,6 +7,9 @@ #include #include +#if defined(__linux__) +#include +#endif namespace DB { @@ -29,6 +32,15 @@ DB::UInt64 randomSeed() hash.update(times.tv_nsec); hash.update(times.tv_sec); hash.update(getThreadId()); - hash.update(×); + + /// It makes sense to add something like hostname to avoid seed collision when multiple servers start simultaneously. + /// But randomSeed() must be signal-safe and gethostname and similar functions are not. + /// Let's try to get utsname.nodename using uname syscall (it's signal-safe). +#if defined(__linux__) + struct utsname sysinfo; + if (uname(&sysinfo) == 0) + hash.update(sysinfo); +#endif + return hash.get64(); } diff --git a/src/Common/remapExecutable.cpp b/src/Common/remapExecutable.cpp index 0c1cb03457f..b987a4aac09 100644 --- a/src/Common/remapExecutable.cpp +++ b/src/Common/remapExecutable.cpp @@ -1,6 +1,6 @@ #include "remapExecutable.h" -#if defined(__linux__) && defined(__amd64__) && defined(__SSE2__) && !defined(SANITIZER) && defined(NDEBUG) && !defined(SPLIT_SHARED_LIBRARIES) +#if defined(OS_LINUX) && defined(__amd64__) && defined(__SSE2__) && !defined(SANITIZER) && defined(NDEBUG) && !defined(SPLIT_SHARED_LIBRARIES) #include #include diff --git a/src/Common/setThreadName.cpp b/src/Common/setThreadName.cpp index 727bf23b891..a8c1f001dcc 100644 --- a/src/Common/setThreadName.cpp +++ b/src/Common/setThreadName.cpp @@ -1,7 +1,7 @@ #include -#if defined(__APPLE__) || defined(OS_SUNOS) -#elif defined(__FreeBSD__) +#if defined(OS_DARWIN) || defined(OS_SUNOS) +#elif defined(OS_FREEBSD) #include #else #include @@ -55,10 +55,10 @@ const char * getThreadName() if (thread_name[0]) return thread_name; -#if defined(__APPLE__) || defined(OS_SUNOS) +#if defined(OS_DARWIN) || defined(OS_SUNOS) if (pthread_getname_np(pthread_self(), thread_name, THREAD_NAME_SIZE)) throw DB::Exception("Cannot get thread name with pthread_getname_np()", DB::ErrorCodes::PTHREAD_ERROR); -#elif defined(__FreeBSD__) +#elif defined(OS_FREEBSD) // TODO: make test. freebsd will have this function soon https://freshbsd.org/commit/freebsd/r337983 // if (pthread_get_name_np(pthread_self(), thread_name, THREAD_NAME_SIZE)) // throw DB::Exception("Cannot get thread name with pthread_get_name_np()", DB::ErrorCodes::PTHREAD_ERROR); diff --git a/src/Common/tests/gtest_hash_table.cpp b/src/Common/tests/gtest_hash_table.cpp index 35fb471f07c..b06ee5a666e 100644 --- a/src/Common/tests/gtest_hash_table.cpp +++ b/src/Common/tests/gtest_hash_table.cpp @@ -37,7 +37,7 @@ std::set convertToSet(const HashTable & table) TEST(HashTable, Insert) { - using Cont = HashSet, HashTableGrower<1>>; + using Cont = HashSet, HashTableGrowerWithPrecalculation<1>>; Cont cont; @@ -49,7 +49,7 @@ TEST(HashTable, Insert) TEST(HashTable, Emplace) { - using Cont = HashSet, HashTableGrower<1>>; + using Cont = HashSet, HashTableGrowerWithPrecalculation<1>>; Cont cont; @@ -70,7 +70,7 @@ TEST(HashTable, Emplace) TEST(HashTable, Lookup) { - using Cont = HashSet, HashTableGrower<1>>; + using Cont = HashSet, HashTableGrowerWithPrecalculation<1>>; Cont cont; @@ -89,7 +89,7 @@ TEST(HashTable, Lookup) TEST(HashTable, Iteration) { - using Cont = HashSet, HashTableGrower<1>>; + using Cont = HashSet, HashTableGrowerWithPrecalculation<1>>; Cont cont; @@ -107,7 +107,7 @@ TEST(HashTable, Erase) { { /// Check zero element deletion - using Cont = HashSet, HashTableGrower<4>>; + using Cont = HashSet, HashTableGrowerWithPrecalculation<4>>; Cont cont; cont.insert(0); @@ -119,7 +119,7 @@ TEST(HashTable, Erase) ASSERT_TRUE(cont.find(0) == nullptr); } { - using Cont = HashSet, HashTableGrower<4>>; + using Cont = HashSet, HashTableGrowerWithPrecalculation<4>>; Cont cont; /// [.(1)..............] erase of (1). @@ -132,7 +132,7 @@ TEST(HashTable, Erase) ASSERT_TRUE(cont.find(1) == nullptr); } { - using Cont = HashSet, HashTableGrower<4>>; + using Cont = HashSet, HashTableGrowerWithPrecalculation<4>>; Cont cont; /// [.(1)(2)(3)............] erase of (1) does not break search for (2) (3). @@ -152,7 +152,7 @@ TEST(HashTable, Erase) ASSERT_EQ(cont.size(), 0); } { - using Cont = HashSet, HashTableGrower<4>>; + using Cont = HashSet, HashTableGrowerWithPrecalculation<4>>; Cont cont; /// [.(1)(17).............] erase of (1) breaks search for (17) because their natural position is 1. @@ -164,7 +164,7 @@ TEST(HashTable, Erase) ASSERT_TRUE(cont.find(17) != nullptr && cont.find(17)->getKey() == 17); } { - using Cont = HashSet, HashTableGrower<4>>; + using Cont = HashSet, HashTableGrowerWithPrecalculation<4>>; Cont cont; /// [.(1)(2)(3)(17)...........] erase of (2) breaks search for (17) because their natural position is 1. @@ -181,7 +181,7 @@ TEST(HashTable, Erase) ASSERT_TRUE(cont.find(17) != nullptr && cont.find(17)->getKey() == 17); } { - using Cont = HashSet, HashTableGrower<4>>; + using Cont = HashSet, HashTableGrowerWithPrecalculation<4>>; Cont cont; /// [(16)(30)............(14)(15)] erase of (16) breaks search for (30) because their natural position is 14. @@ -197,7 +197,7 @@ TEST(HashTable, Erase) ASSERT_TRUE(cont.find(30) != nullptr && cont.find(30)->getKey() == 30); } { - using Cont = HashSet, HashTableGrower<4>>; + using Cont = HashSet, HashTableGrowerWithPrecalculation<4>>; Cont cont; /// [(16)(30)............(14)(15)] erase of (15) breaks search for (30) because their natural position is 14. @@ -213,7 +213,7 @@ TEST(HashTable, Erase) ASSERT_TRUE(cont.find(30) != nullptr && cont.find(30)->getKey() == 30); } { - using Cont = HashSet, HashTableGrower<1>>; + using Cont = HashSet, HashTableGrowerWithPrecalculation<1>>; Cont cont; for (size_t i = 0; i < 5000; ++i) @@ -249,7 +249,7 @@ TEST(HashTable, SerializationDeserialization) { { /// Use dummy hash to make it reproducible if default hash implementation will be changed - using Cont = HashSet, HashTableGrower<1>>; + using Cont = HashSet, HashTableGrowerWithPrecalculation<1>>; Cont cont; @@ -271,7 +271,7 @@ TEST(HashTable, SerializationDeserialization) ASSERT_EQ(convertToSet(cont), convertToSet(deserialized)); } { - using Cont = HashSet, HashTableGrower<1>>; + using Cont = HashSet, HashTableGrowerWithPrecalculation<1>>; Cont cont; @@ -289,7 +289,7 @@ TEST(HashTable, SerializationDeserialization) ASSERT_EQ(convertToSet(cont), convertToSet(deserialized)); } { - using Cont = HashSet, HashTableGrower<1>>; + using Cont = HashSet, HashTableGrowerWithPrecalculation<1>>; Cont cont; WriteBufferFromOwnString wb; diff --git a/src/Common/tests/gtest_lru_file_cache.cpp b/src/Common/tests/gtest_lru_file_cache.cpp index 36137e02a84..2f268e217df 100644 --- a/src/Common/tests/gtest_lru_file_cache.cpp +++ b/src/Common/tests/gtest_lru_file_cache.cpp @@ -1,7 +1,8 @@ #include #include #include -#include +#include +#include #include #include #include @@ -46,14 +47,9 @@ std::vector fromHolder(const DB::FileSegmentsHolder & holder return std::vector(holder.file_segments.begin(), holder.file_segments.end()); } -String keyToStr(const DB::IFileCache::Key & key) -{ - return getHexUIntLowercase(key); -} - String getFileSegmentPath(const String & base_path, const DB::IFileCache::Key & key, size_t offset) { - auto key_str = keyToStr(key); + auto key_str = key.toString(); return fs::path(base_path) / key_str.substr(0, 3) / key_str / DB::toString(offset); } @@ -62,7 +58,7 @@ void download(DB::FileSegmentPtr file_segment) const auto & key = file_segment->key(); size_t size = file_segment->range().size(); - auto key_str = keyToStr(key); + auto key_str = key.toString(); auto subdir = fs::path(cache_base_path) / key_str.substr(0, 3) / key_str; if (!fs::exists(subdir)) fs::create_directories(subdir); @@ -98,9 +94,10 @@ TEST(LRUFileCache, get) DB::ThreadStatus thread_status; /// To work with cache need query_id and query context. + std::string query_id = "query_id"; auto query_context = DB::Context::createCopy(getContext().context); query_context->makeQueryContext(); - query_context->setCurrentQueryId("query_id"); + query_context->setCurrentQueryId(query_id); DB::CurrentThread::QueryScope query_scope_holder(query_context); DB::FileCacheSettings settings; @@ -111,7 +108,7 @@ TEST(LRUFileCache, get) auto key = cache.hash("key1"); { - auto holder = cache.getOrSet(key, 0, 10); /// Add range [0, 9] + auto holder = cache.getOrSet(key, 0, 10, false); /// Add range [0, 9] auto segments = fromHolder(holder); /// Range was not present in cache. It should be added in cache as one while file segment. ASSERT_EQ(segments.size(), 1); @@ -140,7 +137,7 @@ TEST(LRUFileCache, get) { /// Want range [5, 14], but [0, 9] already in cache, so only [10, 14] will be put in cache. - auto holder = cache.getOrSet(key, 5, 10); + auto holder = cache.getOrSet(key, 5, 10, false); auto segments = fromHolder(holder); ASSERT_EQ(segments.size(), 2); @@ -160,14 +157,14 @@ TEST(LRUFileCache, get) ASSERT_EQ(cache.getUsedCacheSize(), 15); { - auto holder = cache.getOrSet(key, 9, 1); /// Get [9, 9] + auto holder = cache.getOrSet(key, 9, 1, false); /// Get [9, 9] auto segments = fromHolder(holder); ASSERT_EQ(segments.size(), 1); assertRange(7, segments[0], DB::FileSegment::Range(0, 9), DB::FileSegment::State::DOWNLOADED); } { - auto holder = cache.getOrSet(key, 9, 2); /// Get [9, 10] + auto holder = cache.getOrSet(key, 9, 2, false); /// Get [9, 10] auto segments = fromHolder(holder); ASSERT_EQ(segments.size(), 2); assertRange(8, segments[0], DB::FileSegment::Range(0, 9), DB::FileSegment::State::DOWNLOADED); @@ -175,16 +172,15 @@ TEST(LRUFileCache, get) } { - auto holder = cache.getOrSet(key, 10, 1); /// Get [10, 10] + auto holder = cache.getOrSet(key, 10, 1, false); /// Get [10, 10] auto segments = fromHolder(holder); ASSERT_EQ(segments.size(), 1); assertRange(10, segments[0], DB::FileSegment::Range(10, 14), DB::FileSegment::State::DOWNLOADED); } - complete(cache.getOrSet(key, 17, 4)); /// Get [17, 20] - complete(cache.getOrSet(key, 24, 3)); /// Get [24, 26] - // complete(cache.getOrSet(key, 27, 1)); /// Get [27, 27] - + complete(cache.getOrSet(key, 17, 4, false)); /// Get [17, 20] + complete(cache.getOrSet(key, 24, 3, false)); /// Get [24, 26] + /// complete(cache.getOrSet(key, 27, 1, false)); /// Get [27, 27] /// Current cache: [__________][_____] [____] [___][] /// ^ ^^ ^ ^ ^ ^ ^^^ @@ -194,7 +190,7 @@ TEST(LRUFileCache, get) ASSERT_EQ(cache.getUsedCacheSize(), 22); { - auto holder = cache.getOrSet(key, 0, 26); /// Get [0, 25] + auto holder = cache.getOrSet(key, 0, 26, false); /// Get [0, 25] auto segments = fromHolder(holder); ASSERT_EQ(segments.size(), 6); @@ -228,14 +224,14 @@ TEST(LRUFileCache, get) /// as max elements size is reached, next attempt to put something in cache should fail. /// This will also check that [27, 27] was indeed evicted. - auto holder1 = cache.getOrSet(key, 27, 1); + auto holder1 = cache.getOrSet(key, 27, 1, false); auto segments_1 = fromHolder(holder1); /// Get [27, 27] ASSERT_EQ(segments_1.size(), 1); assertRange(17, segments_1[0], DB::FileSegment::Range(27, 27), DB::FileSegment::State::EMPTY); } { - auto holder = cache.getOrSet(key, 12, 10); /// Get [12, 21] + auto holder = cache.getOrSet(key, 12, 10, false); /// Get [12, 21] auto segments = fromHolder(holder); ASSERT_EQ(segments.size(), 4); @@ -259,7 +255,7 @@ TEST(LRUFileCache, get) ASSERT_EQ(cache.getFileSegmentsNum(), 5); { - auto holder = cache.getOrSet(key, 23, 5); /// Get [23, 28] + auto holder = cache.getOrSet(key, 23, 5, false); /// Get [23, 28] auto segments = fromHolder(holder); ASSERT_EQ(segments.size(), 3); @@ -280,12 +276,12 @@ TEST(LRUFileCache, get) /// 17 21 2324 26 28 { - auto holder5 = cache.getOrSet(key, 2, 3); /// Get [2, 4] + auto holder5 = cache.getOrSet(key, 2, 3,false); /// Get [2, 4] auto s5 = fromHolder(holder5); ASSERT_EQ(s5.size(), 1); assertRange(25, s5[0], DB::FileSegment::Range(2, 4), DB::FileSegment::State::EMPTY); - auto holder1 = cache.getOrSet(key, 30, 2); /// Get [30, 31] + auto holder1 = cache.getOrSet(key, 30, 2, false); /// Get [30, 31] auto s1 = fromHolder(holder1); ASSERT_EQ(s1.size(), 1); assertRange(26, s1[0], DB::FileSegment::Range(30, 31), DB::FileSegment::State::EMPTY); @@ -301,20 +297,20 @@ TEST(LRUFileCache, get) /// ^ ^ ^ ^ ^ ^ ^ ^ /// 2 4 23 24 26 27 30 31 - auto holder2 = cache.getOrSet(key, 23, 1); /// Get [23, 23] + auto holder2 = cache.getOrSet(key, 23, 1, false); /// Get [23, 23] auto s2 = fromHolder(holder2); ASSERT_EQ(s2.size(), 1); - auto holder3 = cache.getOrSet(key, 24, 3); /// Get [24, 26] + auto holder3 = cache.getOrSet(key, 24, 3, false); /// Get [24, 26] auto s3 = fromHolder(holder3); ASSERT_EQ(s3.size(), 1); - auto holder4 = cache.getOrSet(key, 27, 1); /// Get [27, 27] + auto holder4 = cache.getOrSet(key, 27, 1, false); /// Get [27, 27] auto s4 = fromHolder(holder4); ASSERT_EQ(s4.size(), 1); /// All cache is now unreleasable because pointers are still hold - auto holder6 = cache.getOrSet(key, 0, 40); + auto holder6 = cache.getOrSet(key, 0, 40, false); auto f = fromHolder(holder6); ASSERT_EQ(f.size(), 9); @@ -335,7 +331,7 @@ TEST(LRUFileCache, get) } { - auto holder = cache.getOrSet(key, 2, 3); /// Get [2, 4] + auto holder = cache.getOrSet(key, 2, 3, false); /// Get [2, 4] auto segments = fromHolder(holder); ASSERT_EQ(segments.size(), 1); assertRange(31, segments[0], DB::FileSegment::Range(2, 4), DB::FileSegment::State::DOWNLOADED); @@ -346,7 +342,7 @@ TEST(LRUFileCache, get) /// 2 4 23 24 26 27 30 31 { - auto holder = cache.getOrSet(key, 25, 5); /// Get [25, 29] + auto holder = cache.getOrSet(key, 25, 5, false); /// Get [25, 29] auto segments = fromHolder(holder); ASSERT_EQ(segments.size(), 3); @@ -370,7 +366,7 @@ TEST(LRUFileCache, get) DB::CurrentThread::QueryScope query_scope_holder_1(query_context_1); thread_status_1.attachQueryContext(query_context_1); - auto holder_2 = cache.getOrSet(key, 25, 5); /// Get [25, 29] once again. + auto holder_2 = cache.getOrSet(key, 25, 5, false); /// Get [25, 29] once again. auto segments_2 = fromHolder(holder_2); ASSERT_EQ(segments.size(), 3); @@ -413,7 +409,7 @@ TEST(LRUFileCache, get) /// and notify_all() is also called from destructor of holder. std::optional holder; - holder.emplace(cache.getOrSet(key, 3, 23)); /// Get [3, 25] + holder.emplace(cache.getOrSet(key, 3, 23, false)); /// Get [3, 25] auto segments = fromHolder(*holder); ASSERT_EQ(segments.size(), 3); @@ -439,7 +435,7 @@ TEST(LRUFileCache, get) DB::CurrentThread::QueryScope query_scope_holder_1(query_context_1); thread_status_1.attachQueryContext(query_context_1); - auto holder_2 = cache.getOrSet(key, 3, 23); /// Get [3, 25] once again + auto holder_2 = cache.getOrSet(key, 3, 23, false); /// Get [3, 25] once again auto segments_2 = fromHolder(*holder); ASSERT_EQ(segments_2.size(), 3); @@ -486,7 +482,8 @@ TEST(LRUFileCache, get) auto cache2 = DB::LRUFileCache(cache_base_path, settings); cache2.initialize(); - auto holder1 = cache2.getOrSet(key, 2, 28); /// Get [2, 29] + auto holder1 = cache2.getOrSet(key, 2, 28, false); /// Get [2, 29] + auto segments1 = fromHolder(holder1); ASSERT_EQ(segments1.size(), 5); @@ -505,7 +502,7 @@ TEST(LRUFileCache, get) auto cache2 = DB::LRUFileCache(caches_dir / "cache2", settings2); cache2.initialize(); - auto holder1 = cache2.getOrSet(key, 0, 25); /// Get [0, 24] + auto holder1 = cache2.getOrSet(key, 0, 25, false); /// Get [0, 24] auto segments1 = fromHolder(holder1); ASSERT_EQ(segments1.size(), 3); @@ -513,4 +510,5 @@ TEST(LRUFileCache, get) assertRange(49, segments1[1], DB::FileSegment::Range(10, 19), DB::FileSegment::State::EMPTY); assertRange(50, segments1[2], DB::FileSegment::Range(20, 24), DB::FileSegment::State::EMPTY); } + } diff --git a/src/Common/tests/gtest_overcommit_tracker.cpp b/src/Common/tests/gtest_overcommit_tracker.cpp index 542af815842..d832a73ffd9 100644 --- a/src/Common/tests/gtest_overcommit_tracker.cpp +++ b/src/Common/tests/gtest_overcommit_tracker.cpp @@ -40,15 +40,17 @@ static constexpr UInt64 WAIT_TIME = 4'000'000; template void free_not_continue_test(T & overcommit_tracker) { - overcommit_tracker.setMaxWaitTime(WAIT_TIME); - static constexpr size_t THREADS = 5; std::vector trackers(THREADS); + for (auto & tracker : trackers) + tracker.setOvercommitWaitingTime(WAIT_TIME); + std::atomic need_to_stop = 0; std::vector threads; threads.reserve(THREADS); MemoryTracker picked; + picked.setOvercommitWaitingTime(WAIT_TIME); overcommit_tracker.setCandidate(&picked); for (size_t i = 0; i < THREADS; ++i) @@ -56,7 +58,7 @@ void free_not_continue_test(T & overcommit_tracker) threads.push_back(std::thread( [&, i]() { - if (overcommit_tracker.needToStopQuery(&trackers[i], 100)) + if (overcommit_tracker.needToStopQuery(&trackers[i], 100) != OvercommitResult::MEMORY_FREED) ++need_to_stop; } )); @@ -96,15 +98,16 @@ TEST(OvercommitTracker, GlobalFreeNotContinue) template void free_continue_test(T & overcommit_tracker) { - overcommit_tracker.setMaxWaitTime(WAIT_TIME); - static constexpr size_t THREADS = 5; std::vector trackers(THREADS); + for (auto & tracker : trackers) + tracker.setOvercommitWaitingTime(WAIT_TIME); std::atomic need_to_stop = 0; std::vector threads; threads.reserve(THREADS); MemoryTracker picked; + picked.setOvercommitWaitingTime(WAIT_TIME); overcommit_tracker.setCandidate(&picked); for (size_t i = 0; i < THREADS; ++i) @@ -112,7 +115,7 @@ void free_continue_test(T & overcommit_tracker) threads.push_back(std::thread( [&, i]() { - if (overcommit_tracker.needToStopQuery(&trackers[i], 100)) + if (overcommit_tracker.needToStopQuery(&trackers[i], 100) != OvercommitResult::MEMORY_FREED) ++need_to_stop; } )); @@ -152,15 +155,16 @@ TEST(OvercommitTracker, GlobalFreeContinue) template void free_continue_and_alloc_test(T & overcommit_tracker) { - overcommit_tracker.setMaxWaitTime(WAIT_TIME); - static constexpr size_t THREADS = 5; std::vector trackers(THREADS); + for (auto & tracker : trackers) + tracker.setOvercommitWaitingTime(WAIT_TIME); std::atomic need_to_stop = 0; std::vector threads; threads.reserve(THREADS); MemoryTracker picked; + picked.setOvercommitWaitingTime(WAIT_TIME); overcommit_tracker.setCandidate(&picked); for (size_t i = 0; i < THREADS; ++i) @@ -168,7 +172,7 @@ void free_continue_and_alloc_test(T & overcommit_tracker) threads.push_back(std::thread( [&, i]() { - if (overcommit_tracker.needToStopQuery(&trackers[i], 100)) + if (overcommit_tracker.needToStopQuery(&trackers[i], 100) != OvercommitResult::MEMORY_FREED) ++need_to_stop; } )); @@ -179,9 +183,10 @@ void free_continue_and_alloc_test(T & overcommit_tracker) [&]() { MemoryTracker failed; + failed.setOvercommitWaitingTime(WAIT_TIME); std::this_thread::sleep_for(1000ms); overcommit_tracker.tryContinueQueryExecutionAfterFree(5000); - stopped_next = overcommit_tracker.needToStopQuery(&failed, 100); + stopped_next = overcommit_tracker.needToStopQuery(&failed, 100) != OvercommitResult::MEMORY_FREED; } ).join(); @@ -212,15 +217,16 @@ TEST(OvercommitTracker, GlobalFreeContinueAndAlloc) template void free_continue_and_alloc_2_test(T & overcommit_tracker) { - overcommit_tracker.setMaxWaitTime(WAIT_TIME); - static constexpr size_t THREADS = 5; std::vector trackers(THREADS); + for (auto & tracker : trackers) + tracker.setOvercommitWaitingTime(WAIT_TIME); std::atomic need_to_stop = 0; std::vector threads; threads.reserve(THREADS); MemoryTracker picked; + picked.setOvercommitWaitingTime(WAIT_TIME); overcommit_tracker.setCandidate(&picked); for (size_t i = 0; i < THREADS; ++i) @@ -228,7 +234,7 @@ void free_continue_and_alloc_2_test(T & overcommit_tracker) threads.push_back(std::thread( [&, i]() { - if (overcommit_tracker.needToStopQuery(&trackers[i], 100)) + if (overcommit_tracker.needToStopQuery(&trackers[i], 100) != OvercommitResult::MEMORY_FREED) ++need_to_stop; } )); @@ -239,9 +245,10 @@ void free_continue_and_alloc_2_test(T & overcommit_tracker) [&]() { MemoryTracker failed; + failed.setOvercommitWaitingTime(WAIT_TIME); std::this_thread::sleep_for(1000ms); overcommit_tracker.tryContinueQueryExecutionAfterFree(5000); - stopped_next = overcommit_tracker.needToStopQuery(&failed, 100); + stopped_next = overcommit_tracker.needToStopQuery(&failed, 100) != OvercommitResult::MEMORY_FREED; } )); @@ -280,15 +287,16 @@ TEST(OvercommitTracker, GlobalFreeContinueAndAlloc2) template void free_continue_and_alloc_3_test(T & overcommit_tracker) { - overcommit_tracker.setMaxWaitTime(WAIT_TIME); - static constexpr size_t THREADS = 5; std::vector trackers(THREADS); + for (auto & tracker : trackers) + tracker.setOvercommitWaitingTime(WAIT_TIME); std::atomic need_to_stop = 0; std::vector threads; threads.reserve(THREADS); MemoryTracker picked; + picked.setOvercommitWaitingTime(WAIT_TIME); overcommit_tracker.setCandidate(&picked); for (size_t i = 0; i < THREADS; ++i) @@ -296,7 +304,7 @@ void free_continue_and_alloc_3_test(T & overcommit_tracker) threads.push_back(std::thread( [&, i]() { - if (overcommit_tracker.needToStopQuery(&trackers[i], 100)) + if (overcommit_tracker.needToStopQuery(&trackers[i], 100) != OvercommitResult::MEMORY_FREED) ++need_to_stop; } )); @@ -307,9 +315,10 @@ void free_continue_and_alloc_3_test(T & overcommit_tracker) [&]() { MemoryTracker failed; + failed.setOvercommitWaitingTime(WAIT_TIME); std::this_thread::sleep_for(1000ms); overcommit_tracker.tryContinueQueryExecutionAfterFree(5000); - stopped_next = overcommit_tracker.needToStopQuery(&failed, 100); + stopped_next = overcommit_tracker.needToStopQuery(&failed, 100) != OvercommitResult::MEMORY_FREED; } )); @@ -348,15 +357,16 @@ TEST(OvercommitTracker, GlobalFreeContinueAndAlloc3) template void free_continue_2_test(T & overcommit_tracker) { - overcommit_tracker.setMaxWaitTime(WAIT_TIME); - static constexpr size_t THREADS = 5; std::vector trackers(THREADS); + for (auto & tracker : trackers) + tracker.setOvercommitWaitingTime(WAIT_TIME); std::atomic need_to_stop = 0; std::vector threads; threads.reserve(THREADS); MemoryTracker picked; + picked.setOvercommitWaitingTime(WAIT_TIME); overcommit_tracker.setCandidate(&picked); for (size_t i = 0; i < THREADS; ++i) @@ -364,7 +374,7 @@ void free_continue_2_test(T & overcommit_tracker) threads.push_back(std::thread( [&, i]() { - if (overcommit_tracker.needToStopQuery(&trackers[i], 100)) + if (overcommit_tracker.needToStopQuery(&trackers[i], 100) != OvercommitResult::MEMORY_FREED) ++need_to_stop; } )); @@ -404,18 +414,18 @@ TEST(OvercommitTracker, GlobalFreeContinue2) template void query_stop_not_continue_test(T & overcommit_tracker) { - overcommit_tracker.setMaxWaitTime(WAIT_TIME); - std::atomic need_to_stop = 0; MemoryTracker picked; + picked.setOvercommitWaitingTime(WAIT_TIME); overcommit_tracker.setCandidate(&picked); MemoryTracker another; + another.setOvercommitWaitingTime(WAIT_TIME); auto thread = std::thread( [&]() { - if (overcommit_tracker.needToStopQuery(&another, 100)) + if (overcommit_tracker.needToStopQuery(&another, 100) != OvercommitResult::MEMORY_FREED) ++need_to_stop; } ); diff --git a/src/Compression/CompressionCodecFPC.cpp b/src/Compression/CompressionCodecFPC.cpp new file mode 100644 index 00000000000..247eb73b65b --- /dev/null +++ b/src/Compression/CompressionCodecFPC.cpp @@ -0,0 +1,491 @@ +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include + + +namespace DB +{ + +/// An implementation of the FPC codec for floating-point values described in the paper +/// M. Burtscher, P. Ratanaworabhan: "FPC: A high-speed compressor for double-precision floating-point data" (2008). +/// Note: The paper only describes compression of 64-bit doubles and leaves 32-bit floats to future work. The code +/// implements them anyways. Your mileage with respect to performance and compression may vary. +class CompressionCodecFPC : public ICompressionCodec +{ +public: + CompressionCodecFPC(UInt8 float_size, UInt8 compression_level); + + uint8_t getMethodByte() const override; + + void updateHash(SipHash & hash) const override; + + static constexpr UInt8 MAX_COMPRESSION_LEVEL = 28; + static constexpr UInt8 DEFAULT_COMPRESSION_LEVEL = 12; + +protected: + UInt32 doCompressData(const char * source, UInt32 source_size, char * dest) const override; + + void doDecompressData(const char * source, UInt32 source_size, char * dest, UInt32 uncompressed_size) const override; + + UInt32 getMaxCompressedDataSize(UInt32 uncompressed_size) const override; + + bool isCompression() const override { return true; } + bool isGenericCompression() const override { return false; } + +private: + static constexpr UInt32 HEADER_SIZE = 2; + + // below members are used by compression, decompression ignores them: + const UInt8 float_width; // size of uncompressed float in bytes + const UInt8 level; // compression level, 2^level * float_width is the size of predictors table in bytes +}; + + +namespace ErrorCodes +{ + extern const int CANNOT_COMPRESS; + extern const int CANNOT_DECOMPRESS; + extern const int ILLEGAL_CODEC_PARAMETER; + extern const int ILLEGAL_SYNTAX_FOR_CODEC_TYPE; + extern const int BAD_ARGUMENTS; +} + +uint8_t CompressionCodecFPC::getMethodByte() const +{ + return static_cast(CompressionMethodByte::FPC); +} + +void CompressionCodecFPC::updateHash(SipHash & hash) const +{ + getCodecDesc()->updateTreeHash(hash); +} + +CompressionCodecFPC::CompressionCodecFPC(UInt8 float_size, UInt8 compression_level) + : float_width{float_size}, level{compression_level} +{ + setCodecDescription("FPC", {std::make_shared(static_cast(level))}); +} + +UInt32 CompressionCodecFPC::getMaxCompressedDataSize(UInt32 uncompressed_size) const +{ + auto float_count = (uncompressed_size + float_width - 1) / float_width; + if (float_count % 2 != 0) + ++float_count; + return HEADER_SIZE + float_count * float_width + float_count / 2; +} + +namespace +{ + +UInt8 getFloatBytesSize(const IDataType & column_type) +{ + if (!WhichDataType(column_type).isFloat()) + { + throw Exception(ErrorCodes::BAD_ARGUMENTS, "FPC codec is not applicable for {} because the data type is not float", + column_type.getName()); + } + + if (auto float_size = column_type.getSizeOfValueInMemory(); float_size >= 4) + { + return static_cast(float_size); + } + throw Exception(ErrorCodes::BAD_ARGUMENTS, "FPC codec is not applicable for floats of size less than 4 bytes. Given type {}", + column_type.getName()); +} + +} + +void registerCodecFPC(CompressionCodecFactory & factory) +{ + auto method_code = static_cast(CompressionMethodByte::FPC); + auto codec_builder = [&](const ASTPtr & arguments, const IDataType * column_type) -> CompressionCodecPtr + { + UInt8 float_width = 0; + if (column_type != nullptr) + float_width = getFloatBytesSize(*column_type); + + UInt8 level = CompressionCodecFPC::DEFAULT_COMPRESSION_LEVEL; + if (arguments && !arguments->children.empty()) + { + if (arguments->children.size() > 1) + { + throw Exception(ErrorCodes::ILLEGAL_SYNTAX_FOR_CODEC_TYPE, + "FPC codec must have 1 parameter, given {}", arguments->children.size()); + } + + const auto * literal = arguments->children.front()->as(); + if (!literal) + throw Exception("FPC codec argument must be integer", ErrorCodes::ILLEGAL_CODEC_PARAMETER); + + level = literal->value.safeGet(); + if (level < 1 || level > CompressionCodecFPC::MAX_COMPRESSION_LEVEL) + throw Exception(ErrorCodes::ILLEGAL_CODEC_PARAMETER, "FPC codec level must be between {} and {}", 1, static_cast(CompressionCodecFPC::MAX_COMPRESSION_LEVEL)); + } + return std::make_shared(float_width, level); + }; + factory.registerCompressionCodecWithType("FPC", method_code, codec_builder); +} + +namespace +{ + +template +requires (sizeof(TUint) >= 4) +class DfcmPredictor +{ +public: + explicit DfcmPredictor(std::size_t table_size) + : table(table_size, 0), prev_value{0}, hash{0} + { + } + + [[nodiscard]] + TUint predict() const noexcept + { + return table[hash] + prev_value; + } + + void add(TUint value) noexcept + { + table[hash] = value - prev_value; + recalculateHash(); + prev_value = value; + } + +private: + void recalculateHash() noexcept + { + auto value = table[hash]; + if constexpr (sizeof(TUint) >= 8) + { + hash = ((hash << 2) ^ static_cast(value >> 40)) & (table.size() - 1); + } + else + { + hash = ((hash << 4) ^ static_cast(value >> 23)) & (table.size() - 1); + } + } + + std::vector table; + TUint prev_value; + std::size_t hash; +}; + +template +requires (sizeof(TUint) >= 4) +class FcmPredictor +{ +public: + explicit FcmPredictor(std::size_t table_size) + : table(table_size, 0), hash{0} + { + } + + [[nodiscard]] + TUint predict() const noexcept + { + return table[hash]; + } + + void add(TUint value) noexcept + { + table[hash] = value; + recalculateHash(); + } + +private: + void recalculateHash() noexcept + { + auto value = table[hash]; + if constexpr (sizeof(TUint) >= 8) + { + hash = ((hash << 6) ^ static_cast(value >> 48)) & (table.size() - 1); + } + else + { + hash = ((hash << 1) ^ static_cast(value >> 22)) & (table.size() - 1); + } + } + + std::vector table; + std::size_t hash; +}; + +template +class FPCOperation +{ + static constexpr auto VALUE_SIZE = sizeof(TUint); + static constexpr std::byte FCM_BIT{0}; + static constexpr std::byte DFCM_BIT{1u << 3}; + static constexpr auto DFCM_BIT_1 = DFCM_BIT << 4; + static constexpr auto DFCM_BIT_2 = DFCM_BIT; + static constexpr unsigned MAX_ZERO_BYTE_COUNT = 0b111u; + static constexpr std::endian ENDIAN = std::endian::little; + static constexpr std::size_t CHUNK_SIZE = 64; + +public: + FPCOperation(std::span destination, UInt8 compression_level) + : dfcm_predictor(1u << compression_level), fcm_predictor(1u << compression_level), chunk{}, result{destination} + { + } + + std::size_t encode(std::span data) && + { + auto initial_size = result.size(); + + std::span chunk_view(chunk); + for (std::size_t i = 0; i < data.size(); i += chunk_view.size_bytes()) + { + auto written_values_count = importChunk(data.subspan(i), chunk_view); + encodeChunk(chunk_view.subspan(0, written_values_count)); + } + + return initial_size - result.size(); + } + + void decode(std::span values, std::size_t decoded_size) && + { + std::size_t read_bytes = 0; + + std::span chunk_view(chunk); + for (std::size_t i = 0; i < decoded_size; i += chunk_view.size_bytes()) + { + if (i + chunk_view.size_bytes() > decoded_size) + chunk_view = chunk_view.first(ceilBytesToEvenValues(decoded_size - i)); + read_bytes += decodeChunk(values.subspan(read_bytes), chunk_view); + exportChunk(chunk_view); + } + } + +private: + static std::size_t ceilBytesToEvenValues(std::size_t bytes_count) + { + auto values_count = (bytes_count + VALUE_SIZE - 1) / VALUE_SIZE; + return values_count % 2 == 0 ? values_count : values_count + 1; + } + + std::size_t importChunk(std::span values, std::span chnk) + { + if (auto chunk_view = std::as_writable_bytes(chnk); chunk_view.size() <= values.size()) + { + std::memcpy(chunk_view.data(), values.data(), chunk_view.size()); + return chunk_view.size() / VALUE_SIZE; + } + else + { + std::memset(chunk_view.data(), 0, chunk_view.size()); + std::memcpy(chunk_view.data(), values.data(), values.size()); + return ceilBytesToEvenValues(values.size()); + } + } + + void exportChunk(std::span chnk) + { + auto chunk_view = std::as_bytes(chnk).first(std::min(result.size(), chnk.size_bytes())); + std::memcpy(result.data(), chunk_view.data(), chunk_view.size()); + result = result.subspan(chunk_view.size()); + } + + void encodeChunk(std::span seq) + { + for (std::size_t i = 0; i < seq.size(); i += 2) + { + encodePair(seq[i], seq[i + 1]); + } + } + + struct CompressedValue + { + TUint value; + unsigned compressed_size; + std::byte predictor; + }; + + unsigned encodeCompressedZeroByteCount(unsigned compressed) + { + if constexpr (VALUE_SIZE == MAX_ZERO_BYTE_COUNT + 1) + { + if (compressed >= 4) + --compressed; + } + return std::min(compressed, MAX_ZERO_BYTE_COUNT); + } + + unsigned decodeCompressedZeroByteCount(unsigned encoded_size) + { + if constexpr (VALUE_SIZE == MAX_ZERO_BYTE_COUNT + 1) + { + if (encoded_size > 3) + ++encoded_size; + } + return encoded_size; + } + + CompressedValue compressValue(TUint value) noexcept + { + static constexpr auto BITS_PER_BYTE = std::numeric_limits::digits; + + TUint compressed_dfcm = dfcm_predictor.predict() ^ value; + TUint compressed_fcm = fcm_predictor.predict() ^ value; + dfcm_predictor.add(value); + fcm_predictor.add(value); + auto zeroes_dfcm = std::countl_zero(compressed_dfcm); + auto zeroes_fcm = std::countl_zero(compressed_fcm); + if (zeroes_dfcm > zeroes_fcm) + return {compressed_dfcm, encodeCompressedZeroByteCount(static_cast(zeroes_dfcm) / BITS_PER_BYTE), DFCM_BIT}; + return {compressed_fcm, encodeCompressedZeroByteCount(static_cast(zeroes_fcm) / BITS_PER_BYTE), FCM_BIT}; + } + + void encodePair(TUint first, TUint second) + { + auto [compressed_value1, zero_byte_count1, predictor1] = compressValue(first); + auto [compressed_value2, zero_byte_count2, predictor2] = compressValue(second); + std::byte header{0x0}; + header |= (predictor1 << 4) | predictor2; + header |= static_cast((zero_byte_count1 << 4) | zero_byte_count2); + result.front() = header; + + zero_byte_count1 = decodeCompressedZeroByteCount(zero_byte_count1); + zero_byte_count2 = decodeCompressedZeroByteCount(zero_byte_count2); + auto tail_size1 = VALUE_SIZE - zero_byte_count1; + auto tail_size2 = VALUE_SIZE - zero_byte_count2; + + std::memcpy(result.data() + 1, valueTail(compressed_value1, zero_byte_count1), tail_size1); + std::memcpy(result.data() + 1 + tail_size1, valueTail(compressed_value2, zero_byte_count2), tail_size2); + result = result.subspan(1 + tail_size1 + tail_size2); + } + + std::size_t decodeChunk(std::span values, std::span seq) + { + std::size_t read_bytes = 0; + for (std::size_t i = 0; i < seq.size(); i += 2) + { + read_bytes += decodePair(values.subspan(read_bytes), seq[i], seq[i + 1]); + } + return read_bytes; + } + + TUint decompressValue(TUint value, bool isDfcmPredictor) + { + TUint decompressed; + if (isDfcmPredictor) + { + decompressed = dfcm_predictor.predict() ^ value; + } + else + { + decompressed = fcm_predictor.predict() ^ value; + } + dfcm_predictor.add(decompressed); + fcm_predictor.add(decompressed); + return decompressed; + } + + std::size_t decodePair(std::span bytes, TUint& first, TUint& second) + { + if (bytes.empty()) [[unlikely]] + throw Exception(ErrorCodes::CANNOT_DECOMPRESS, "Unexpected end of encoded sequence"); + + auto zero_byte_count1 = decodeCompressedZeroByteCount( + std::to_integer(bytes.front() >> 4) & MAX_ZERO_BYTE_COUNT); + auto zero_byte_count2 = decodeCompressedZeroByteCount( + std::to_integer(bytes.front()) & MAX_ZERO_BYTE_COUNT); + + auto tail_size1 = VALUE_SIZE - zero_byte_count1; + auto tail_size2 = VALUE_SIZE - zero_byte_count2; + + if (bytes.size() < 1 + tail_size1 + tail_size2) [[unlikely]] + throw Exception(ErrorCodes::CANNOT_DECOMPRESS, "Unexpected end of encoded sequence"); + + TUint value1 = 0; + TUint value2 = 0; + + std::memcpy(valueTail(value1, zero_byte_count1), bytes.data() + 1, tail_size1); + std::memcpy(valueTail(value2, zero_byte_count2), bytes.data() + 1 + tail_size1, tail_size2); + + auto is_dfcm_predictor1 = std::to_integer(bytes.front() & DFCM_BIT_1) != 0; + auto is_dfcm_predictor2 = std::to_integer(bytes.front() & DFCM_BIT_2) != 0; + first = decompressValue(value1, is_dfcm_predictor1); + second = decompressValue(value2, is_dfcm_predictor2); + + return 1 + tail_size1 + tail_size2; + } + + static void* valueTail(TUint& value, unsigned compressed_size) + { + if constexpr (ENDIAN == std::endian::little) + { + return &value; + } + else + { + return reinterpret_cast(&value) + compressed_size; + } + } + + DfcmPredictor dfcm_predictor; + FcmPredictor fcm_predictor; + + // memcpy the input into this buffer to align reads, this improves performance compared to unaligned reads (bit_cast) by ~10% + std::array chunk{}; + + std::span result{}; +}; + +} + +UInt32 CompressionCodecFPC::doCompressData(const char * source, UInt32 source_size, char * dest) const +{ + dest[0] = static_cast(float_width); + dest[1] = static_cast(level); + + auto dest_size = getMaxCompressedDataSize(source_size); + auto destination = std::as_writable_bytes(std::span(dest, dest_size).subspan(HEADER_SIZE)); + auto src = std::as_bytes(std::span(source, source_size)); + switch (float_width) + { + case sizeof(Float64): + return HEADER_SIZE + FPCOperation(destination, level).encode(src); + case sizeof(Float32): + return HEADER_SIZE + FPCOperation(destination, level).encode(src); + default: + break; + } + throw Exception("Cannot compress. File has incorrect float width", ErrorCodes::CANNOT_COMPRESS); +} + +void CompressionCodecFPC::doDecompressData(const char * source, UInt32 source_size, char * dest, UInt32 uncompressed_size) const +{ + if (source_size < HEADER_SIZE) + throw Exception("Cannot decompress. File has wrong header", ErrorCodes::CANNOT_DECOMPRESS); + + auto compressed_data = std::as_bytes(std::span(source, source_size)); + auto compressed_float_width = std::to_integer(compressed_data[0]); + auto compressed_level = std::to_integer(compressed_data[1]); + if (compressed_level == 0 || compressed_level > MAX_COMPRESSION_LEVEL) + throw Exception("Cannot decompress. File has incorrect level", ErrorCodes::CANNOT_DECOMPRESS); + + auto destination = std::as_writable_bytes(std::span(dest, uncompressed_size)); + auto src = compressed_data.subspan(HEADER_SIZE); + switch (compressed_float_width) + { + case sizeof(Float64): + FPCOperation(destination, compressed_level).decode(src, uncompressed_size); + break; + case sizeof(Float32): + FPCOperation(destination, compressed_level).decode(src, uncompressed_size); + break; + default: + throw Exception("Cannot decompress. File has incorrect float width", ErrorCodes::CANNOT_DECOMPRESS); + } +} + +} diff --git a/src/Compression/CompressionFactory.cpp b/src/Compression/CompressionFactory.cpp index abf5e38a8c3..b8a1c5877a4 100644 --- a/src/Compression/CompressionFactory.cpp +++ b/src/Compression/CompressionFactory.cpp @@ -177,6 +177,7 @@ void registerCodecT64(CompressionCodecFactory & factory); void registerCodecDoubleDelta(CompressionCodecFactory & factory); void registerCodecGorilla(CompressionCodecFactory & factory); void registerCodecEncrypted(CompressionCodecFactory & factory); +void registerCodecFPC(CompressionCodecFactory & factory); #endif @@ -194,6 +195,7 @@ CompressionCodecFactory::CompressionCodecFactory() registerCodecDoubleDelta(*this); registerCodecGorilla(*this); registerCodecEncrypted(*this); + registerCodecFPC(*this); #endif default_codec = get("LZ4", {}); diff --git a/src/Compression/CompressionInfo.h b/src/Compression/CompressionInfo.h index bbe8315f3ea..839fb68e8c3 100644 --- a/src/Compression/CompressionInfo.h +++ b/src/Compression/CompressionInfo.h @@ -44,7 +44,8 @@ enum class CompressionMethodByte : uint8_t DoubleDelta = 0x94, Gorilla = 0x95, AES_128_GCM_SIV = 0x96, - AES_256_GCM_SIV = 0x97 + AES_256_GCM_SIV = 0x97, + FPC = 0x98 }; } diff --git a/src/Compression/getCompressionCodecForFile.cpp b/src/Compression/getCompressionCodecForFile.cpp index 5ef5502f947..f9365862c5b 100644 --- a/src/Compression/getCompressionCodecForFile.cpp +++ b/src/Compression/getCompressionCodecForFile.cpp @@ -5,6 +5,7 @@ #include #include #include +#include namespace DB { @@ -12,9 +13,9 @@ namespace DB using Checksum = CityHash_v1_0_2::uint128; -CompressionCodecPtr getCompressionCodecForFile(const DiskPtr & disk, const String & relative_path) +CompressionCodecPtr getCompressionCodecForFile(const DataPartStoragePtr & data_part_storage, const String & relative_path) { - auto read_buffer = disk->readFile(relative_path); + auto read_buffer = data_part_storage->readFile(relative_path, {}, std::nullopt, std::nullopt); read_buffer->ignore(sizeof(Checksum)); UInt8 header_size = ICompressionCodec::getHeaderSize(); diff --git a/src/Compression/getCompressionCodecForFile.h b/src/Compression/getCompressionCodecForFile.h index 4870de8b3b3..ad855684128 100644 --- a/src/Compression/getCompressionCodecForFile.h +++ b/src/Compression/getCompressionCodecForFile.h @@ -2,6 +2,7 @@ #include #include +#include namespace DB { @@ -10,6 +11,6 @@ namespace DB /// clickhouse fashion (with checksums, headers for each block, etc). This /// method should be used as fallback when we cannot deduce compression codec /// from metadata. -CompressionCodecPtr getCompressionCodecForFile(const DiskPtr & disk, const String & relative_path); +CompressionCodecPtr getCompressionCodecForFile(const DataPartStoragePtr & data_part_storage, const String & relative_path); } diff --git a/src/Coordination/Changelog.cpp b/src/Coordination/Changelog.cpp index e61a827472e..cc5f292eae2 100644 --- a/src/Coordination/Changelog.cpp +++ b/src/Coordination/Changelog.cpp @@ -36,21 +36,20 @@ std::string formatChangelogPath(const std::string & prefix, const ChangelogFileD return path; } -ChangelogFileDescription getChangelogFileDescription(const std::string & path_str) +ChangelogFileDescription getChangelogFileDescription(const std::filesystem::path & path) { - std::filesystem::path path(path_str); std::string filename = path.stem(); Strings filename_parts; boost::split(filename_parts, filename, boost::is_any_of("_")); if (filename_parts.size() < 3) - throw Exception(ErrorCodes::CORRUPTED_DATA, "Invalid changelog {}", path_str); + throw Exception(ErrorCodes::CORRUPTED_DATA, "Invalid changelog {}", path.generic_string()); ChangelogFileDescription result; result.prefix = filename_parts[0]; result.from_log_index = parse(filename_parts[1]); result.to_log_index = parse(filename_parts[2]); result.extension = path.extension(); - result.path = path_str; + result.path = path.generic_string(); return result; } @@ -276,6 +275,7 @@ Changelog::Changelog( Poco::Logger * log_, bool compress_logs_) : changelogs_dir(changelogs_dir_) + , changelogs_detached_dir(changelogs_dir / "detached") , rotate_interval(rotate_interval_) , force_sync(force_sync_) , log(log_) @@ -288,12 +288,15 @@ Changelog::Changelog( for (const auto & p : fs::directory_iterator(changelogs_dir)) { + if (p == changelogs_detached_dir) + continue; + auto file_description = getChangelogFileDescription(p.path()); existing_changelogs[file_description.from_log_index] = file_description; } if (existing_changelogs.empty()) - LOG_WARNING(log, "No logs exists in {}. It's Ok if it's the first run of clickhouse-keeper.", changelogs_dir); + LOG_WARNING(log, "No logs exists in {}. It's Ok if it's the first run of clickhouse-keeper.", changelogs_dir.generic_string()); clean_log_thread = ThreadFromGlobalPool([this] { cleanLogThread(); }); } @@ -328,7 +331,7 @@ void Changelog::readChangelogAndInitWriter(uint64_t last_commited_log_index, uin /// entries from leader. if (changelog_description.from_log_index > last_commited_log_index && (changelog_description.from_log_index - last_commited_log_index) > 1) { - LOG_ERROR(log, "Some records was lost, last committed log index {}, smallest available log index on disk {}. Hopefully will receive missing records from leader.", last_commited_log_index, changelog_description.from_log_index); + LOG_ERROR(log, "Some records were lost, last committed log index {}, smallest available log index on disk {}. Hopefully will receive missing records from leader.", last_commited_log_index, changelog_description.from_log_index); /// Nothing to do with our more fresh log, leader will overwrite them, so remove everything and just start from last_commited_index removeAllLogs(); min_log_id = last_commited_log_index; @@ -342,6 +345,12 @@ void Changelog::readChangelogAndInitWriter(uint64_t last_commited_log_index, uin LOG_WARNING(log, "Don't have required amount of reserved log records. Need to read from {}, smallest available log index on disk {}.", start_to_read_from, changelog_description.from_log_index); } } + else if ((changelog_description.from_log_index - last_log_read_result->last_read_index) > 1) + { + LOG_ERROR(log, "Some records were lost, last found log index {}, while the next log index on disk is {}. Hopefully will receive missing records from leader.", last_log_read_result->last_read_index, changelog_description.from_log_index); + removeAllLogsAfter(last_log_read_result->log_start_index); + break; + } ChangelogReader reader(changelog_description.path); last_log_read_result = reader.readChangelog(logs, start_to_read_from, log); @@ -405,7 +414,7 @@ void Changelog::readChangelogAndInitWriter(uint64_t last_commited_log_index, uin if (last_log_read_result->last_read_index == 0 || last_log_read_result->error) /// If it's broken log then remove it { - LOG_INFO(log, "Removing log {} because it's empty or read finished with error", description.path); + LOG_INFO(log, "Removing chagelog {} because it's empty or read finished with error", description.path); std::filesystem::remove(description.path); existing_changelogs.erase(last_log_read_result->log_start_index); std::erase_if(logs, [last_log_read_result] (const auto & item) { return item.first >= last_log_read_result->log_start_index; }); @@ -431,6 +440,44 @@ void Changelog::initWriter(const ChangelogFileDescription & description) current_writer = std::make_unique(description.path, WriteMode::Append, description.from_log_index); } +namespace +{ + +std::string getCurrentTimestampFolder() +{ + const auto timestamp = LocalDateTime{std::time(nullptr)}; + return fmt::format( + "{:02}{:02}{:02}T{:02}{:02}{:02}", + timestamp.year(), + timestamp.month(), + timestamp.day(), + timestamp.hour(), + timestamp.minute(), + timestamp.second()); +} + +} + +void Changelog::removeExistingLogs(ChangelogIter begin, ChangelogIter end) +{ + const auto timestamp_folder = changelogs_detached_dir / getCurrentTimestampFolder(); + + for (auto itr = begin; itr != end;) + { + if (!std::filesystem::exists(timestamp_folder)) + { + LOG_WARNING(log, "Moving broken logs to {}", timestamp_folder.generic_string()); + std::filesystem::create_directories(timestamp_folder); + } + + LOG_WARNING(log, "Removing changelog {}", itr->second.path); + const std::filesystem::path path = itr->second.path; + const auto new_path = timestamp_folder / path.filename(); + std::filesystem::rename(path, new_path); + itr = existing_changelogs.erase(itr); + } +} + void Changelog::removeAllLogsAfter(uint64_t remove_after_log_start_index) { auto start_to_remove_from_itr = existing_changelogs.upper_bound(remove_after_log_start_index); @@ -440,12 +487,8 @@ void Changelog::removeAllLogsAfter(uint64_t remove_after_log_start_index) size_t start_to_remove_from_log_id = start_to_remove_from_itr->first; /// All subsequent logs shouldn't exist. But they may exist if we crashed after writeAt started. Remove them. - for (auto itr = start_to_remove_from_itr; itr != existing_changelogs.end();) - { - LOG_WARNING(log, "Removing changelog {}, because it's goes after broken changelog entry", itr->second.path); - std::filesystem::remove(itr->second.path); - itr = existing_changelogs.erase(itr); - } + LOG_WARNING(log, "Removing changelogs that go after broken changelog entry"); + removeExistingLogs(start_to_remove_from_itr, existing_changelogs.end()); std::erase_if(logs, [start_to_remove_from_log_id] (const auto & item) { return item.first >= start_to_remove_from_log_id; }); } @@ -453,12 +496,7 @@ void Changelog::removeAllLogsAfter(uint64_t remove_after_log_start_index) void Changelog::removeAllLogs() { LOG_WARNING(log, "Removing all changelogs"); - for (auto itr = existing_changelogs.begin(); itr != existing_changelogs.end();) - { - LOG_WARNING(log, "Removing changelog {}, because it's goes after broken changelog entry", itr->second.path); - std::filesystem::remove(itr->second.path); - itr = existing_changelogs.erase(itr); - } + removeExistingLogs(existing_changelogs.begin(), existing_changelogs.end()); logs.clear(); } diff --git a/src/Coordination/Changelog.h b/src/Coordination/Changelog.h index d0d9c94f515..9f90f72d9f3 100644 --- a/src/Coordination/Changelog.h +++ b/src/Coordination/Changelog.h @@ -138,6 +138,13 @@ private: /// Starts new file [new_start_log_index, new_start_log_index + rotate_interval] void rotate(uint64_t new_start_log_index); + /// Currently existing changelogs + std::map existing_changelogs; + + using ChangelogIter = decltype(existing_changelogs)::iterator; + void removeExistingLogs(ChangelogIter begin, ChangelogIter end); + + static void removeLog(const std::filesystem::path & path, const std::filesystem::path & detached_folder); /// Remove all changelogs from disk with start_index bigger than start_to_remove_from_id void removeAllLogsAfter(uint64_t remove_after_log_start_index); /// Remove all logs from disk @@ -148,14 +155,13 @@ private: /// Clean useless log files in a background thread void cleanLogThread(); - const std::string changelogs_dir; + const std::filesystem::path changelogs_dir; + const std::filesystem::path changelogs_detached_dir; const uint64_t rotate_interval; const bool force_sync; Poco::Logger * log; bool compress_logs; - /// Currently existing changelogs - std::map existing_changelogs; /// Current writer for changelog file std::unique_ptr current_writer; diff --git a/src/Coordination/FourLetterCommand.cpp b/src/Coordination/FourLetterCommand.cpp index 24cdd47d5a5..cec107806b7 100644 --- a/src/Coordination/FourLetterCommand.cpp +++ b/src/Coordination/FourLetterCommand.cpp @@ -236,7 +236,7 @@ String MonitorCommand::run() print(ret, "key_arena_size", state_machine.getKeyArenaSize()); print(ret, "latest_snapshot_size", state_machine.getLatestSnapshotBufSize()); -#if defined(__linux__) || defined(__APPLE__) +#if defined(OS_LINUX) || defined(OS_DARWIN) print(ret, "open_file_descriptor_count", getCurrentProcessFDCount()); print(ret, "max_file_descriptor_count", getMaxFileDescriptorCount()); #endif diff --git a/src/Coordination/InMemoryLogStore.h b/src/Coordination/InMemoryLogStore.h index ad4466b363f..fc56826c81b 100644 --- a/src/Coordination/InMemoryLogStore.h +++ b/src/Coordination/InMemoryLogStore.h @@ -4,6 +4,7 @@ #include #include #include +#include #include namespace DB @@ -39,7 +40,7 @@ public: bool flush() override { return true; } private: - std::map> logs; + std::map> logs TSA_GUARDED_BY(logs_lock); mutable std::mutex logs_lock; std::atomic start_idx; }; diff --git a/src/Coordination/Keeper4LWInfo.h b/src/Coordination/Keeper4LWInfo.h index bf7267a68e2..7d90152611e 100644 --- a/src/Coordination/Keeper4LWInfo.h +++ b/src/Coordination/Keeper4LWInfo.h @@ -3,6 +3,7 @@ #include #include +#include namespace DB { @@ -42,7 +43,7 @@ struct Keeper4LWInfo if (is_follower) return "follower"; - throw Exception(ErrorCodes::LOGICAL_ERROR, "RAFT server has undefined state state, it's a bug"); + throw Exception(ErrorCodes::LOGICAL_ERROR, "RAFT server has undefined state, it's a bug"); } }; diff --git a/src/Coordination/KeeperDispatcher.cpp b/src/Coordination/KeeperDispatcher.cpp index f97c65e7056..213c924af6b 100644 --- a/src/Coordination/KeeperDispatcher.cpp +++ b/src/Coordination/KeeperDispatcher.cpp @@ -442,14 +442,14 @@ void KeeperDispatcher::finishSession(int64_t session_id) void KeeperDispatcher::addErrorResponses(const KeeperStorage::RequestsForSessions & requests_for_sessions, Coordination::Error error) { - for (const auto & [session_id, time, request] : requests_for_sessions) + for (const auto & request_for_session : requests_for_sessions) { KeeperStorage::ResponsesForSessions responses; - auto response = request->makeResponse(); - response->xid = request->xid; + auto response = request_for_session.request->makeResponse(); + response->xid = request_for_session.request->xid; response->zxid = 0; response->error = error; - if (!responses_queue.push(DB::KeeperStorage::ResponseForSession{session_id, response})) + if (!responses_queue.push(DB::KeeperStorage::ResponseForSession{request_for_session.session_id, response})) throw Exception(ErrorCodes::SYSTEM_ERROR, "Could not push error response xid {} zxid {} error message {} to responses queue", response->xid, @@ -651,12 +651,7 @@ uint64_t KeeperDispatcher::getSnapDirSize() const Keeper4LWInfo KeeperDispatcher::getKeeper4LWInfo() const { - Keeper4LWInfo result; - result.is_follower = server->isFollower(); - result.is_standalone = !result.is_follower && server->getFollowerCount() == 0; - result.is_leader = isLeader(); - result.is_observer = server->isObserver(); - result.has_leader = hasLeader(); + Keeper4LWInfo result = server->getPartiallyFilled4LWInfo(); { std::lock_guard lock(push_request_mutex); result.outstanding_requests_count = requests_queue->size(); @@ -665,13 +660,6 @@ Keeper4LWInfo KeeperDispatcher::getKeeper4LWInfo() const std::lock_guard lock(session_to_response_callback_mutex); result.alive_connections_count = session_to_response_callback.size(); } - if (result.is_leader) - { - result.follower_count = server->getFollowerCount(); - result.synced_follower_count = server->getSyncedFollowerCount(); - } - result.total_nodes_count = server->getKeeperStateMachine()->getNodesCount(); - result.last_zxid = server->getKeeperStateMachine()->getLastProcessedZxid(); return result; } diff --git a/src/Coordination/KeeperDispatcher.h b/src/Coordination/KeeperDispatcher.h index b632327a165..5e2701299f4 100644 --- a/src/Coordination/KeeperDispatcher.h +++ b/src/Coordination/KeeperDispatcher.h @@ -150,6 +150,11 @@ public: return server->isLeader(); } + bool isFollower() const + { + return server->isFollower(); + } + bool hasLeader() const { return server->isLeaderAlive(); diff --git a/src/Coordination/KeeperLogStore.h b/src/Coordination/KeeperLogStore.h index 3e558c0508e..e1c66599e0a 100644 --- a/src/Coordination/KeeperLogStore.h +++ b/src/Coordination/KeeperLogStore.h @@ -5,6 +5,7 @@ #include #include #include +#include namespace DB { @@ -70,7 +71,7 @@ public: private: mutable std::mutex changelog_lock; Poco::Logger * log; - Changelog changelog; + Changelog changelog TSA_GUARDED_BY(changelog_lock); }; } diff --git a/src/Coordination/KeeperServer.cpp b/src/Coordination/KeeperServer.cpp index 5f77e996744..2a3d17af403 100644 --- a/src/Coordination/KeeperServer.cpp +++ b/src/Coordination/KeeperServer.cpp @@ -15,6 +15,8 @@ #include #include #include +#include +#include #include #include #include @@ -108,7 +110,8 @@ KeeperServer::KeeperServer( snapshots_queue_, configuration_and_settings_->snapshot_storage_path, coordination_settings, - checkAndGetSuperdigest(configuration_and_settings_->super_digest))) + checkAndGetSuperdigest(configuration_and_settings_->super_digest), + config.getBool("keeper_server.digest_enabled", true))) , state_manager(nuraft::cs_new( server_id, "keeper_server", configuration_and_settings_->log_storage_path, config, coordination_settings)) , log(&Poco::Logger::get("KeeperServer")) @@ -315,6 +318,23 @@ void KeeperServer::startup(const Poco::Util::AbstractConfiguration & config, boo state_manager->loadLogStore(state_machine->last_commit_index() + 1, coordination_settings->reserved_log_items); + auto log_store = state_manager->load_log_store(); + auto next_log_idx = log_store->next_slot(); + if (next_log_idx > 0 && next_log_idx > state_machine->last_commit_index()) + { + auto log_entries = log_store->log_entries(state_machine->last_commit_index() + 1, next_log_idx); + + LOG_INFO(log, "Preprocessing {} log entries", log_entries->size()); + auto idx = state_machine->last_commit_index() + 1; + for (const auto & entry : *log_entries) + { + if (entry && entry->get_val_type() == nuraft::log_val_type::app_log) + state_machine->pre_commit(idx, entry->get_buf()); + + ++idx; + } + } + loadLatestConfig(); last_local_config = state_manager->parseServersConfiguration(config, true).cluster_config; @@ -367,18 +387,35 @@ void KeeperServer::shutdown() namespace { -nuraft::ptr getZooKeeperLogEntry(int64_t session_id, int64_t time, const Coordination::ZooKeeperRequestPtr & request) +// Serialize the request with all the necessary information for the leader +// we don't know ZXID and digest yet so we don't serialize it +nuraft::ptr getZooKeeperRequestMessage(const KeeperStorage::RequestForSession & request_for_session) { - DB::WriteBufferFromNuraftBuffer buf; - DB::writeIntBinary(session_id, buf); - request->write(buf); - DB::writeIntBinary(time, buf); - return buf.getBuffer(); + DB::WriteBufferFromNuraftBuffer write_buf; + DB::writeIntBinary(request_for_session.session_id, write_buf); + request_for_session.request->write(write_buf); + DB::writeIntBinary(request_for_session.time, write_buf); + return write_buf.getBuffer(); +} + +// Serialize the request for the log entry +nuraft::ptr getZooKeeperLogEntry(const KeeperStorage::RequestForSession & request_for_session) +{ + DB::WriteBufferFromNuraftBuffer write_buf; + DB::writeIntBinary(request_for_session.session_id, write_buf); + request_for_session.request->write(write_buf); + DB::writeIntBinary(request_for_session.time, write_buf); + DB::writeIntBinary(request_for_session.zxid, write_buf); + assert(request_for_session.digest); + DB::writeIntBinary(request_for_session.digest->version, write_buf); + if (request_for_session.digest->version != KeeperStorage::DigestVersion::NO_DIGEST) + DB::writeIntBinary(request_for_session.digest->value, write_buf); + + return write_buf.getBuffer(); } } - void KeeperServer::putLocalReadRequest(const KeeperStorage::RequestForSession & request_for_session) { if (!request_for_session.request->isReadRequest()) @@ -390,8 +427,10 @@ void KeeperServer::putLocalReadRequest(const KeeperStorage::RequestForSession & RaftAppendResult KeeperServer::putRequestBatch(const KeeperStorage::RequestsForSessions & requests_for_sessions) { std::vector> entries; - for (const auto & [session_id, time, request] : requests_for_sessions) - entries.push_back(getZooKeeperLogEntry(session_id, time, request)); + for (const auto & request_for_session : requests_for_sessions) + { + entries.push_back(getZooKeeperRequestMessage(request_for_session)); + } std::lock_guard lock{server_write_mutex}; if (is_recovering) @@ -405,14 +444,12 @@ bool KeeperServer::isLeader() const return raft_instance->is_leader(); } - bool KeeperServer::isObserver() const { auto srv_config = state_manager->get_srv_config(); return srv_config->is_learner(); } - bool KeeperServer::isFollower() const { return !isLeader() && !isObserver(); @@ -501,7 +538,33 @@ nuraft::cb_func::ReturnCode KeeperServer::callbackFunc(nuraft::cb_func::Type typ } if (initialized_flag) + { + switch (type) + { + // This event is called before a single log is appended to the entry on the leader node + case nuraft::cb_func::PreAppendLog: + { + // we are relying on the fact that request are being processed under a mutex + // and not a RW lock + auto & entry = *static_cast(param->ctx); + + assert(entry->get_val_type() == nuraft::app_log); + auto next_zxid = state_machine->getNextZxid(); + + auto & entry_buf = entry->get_buf(); + auto request_for_session = state_machine->parseRequest(entry_buf); + request_for_session.zxid = next_zxid; + state_machine->preprocess(request_for_session); + request_for_session.digest = state_machine->getNodesDigest(); + entry = nuraft::cs_new(entry->get_term(), getZooKeeperLogEntry(request_for_session), entry->get_val_type()); + break; + } + default: + break; + } + return nuraft::cb_func::ReturnCode::Ok; + } size_t last_commited = state_machine->last_commit_index(); size_t next_index = state_manager->getLogStore()->next_slot(); @@ -511,7 +574,7 @@ nuraft::cb_func::ReturnCode KeeperServer::callbackFunc(nuraft::cb_func::Type typ auto set_initialized = [this]() { - std::unique_lock lock(initialized_mutex); + std::lock_guard lock(initialized_mutex); initialized_flag = true; initialized_cv.notify_all(); }; @@ -741,4 +804,25 @@ bool KeeperServer::waitConfigurationUpdate(const ConfigUpdateAction & task) return true; } +Keeper4LWInfo KeeperServer::getPartiallyFilled4LWInfo() const +{ + Keeper4LWInfo result; + result.is_leader = raft_instance->is_leader(); + + auto srv_config = state_manager->get_srv_config(); + result.is_observer = srv_config->is_learner(); + + result.is_follower = !result.is_leader && !result.is_observer; + result.has_leader = result.is_leader || isLeaderAlive(); + result.is_standalone = !result.is_follower && getFollowerCount() == 0; + if (result.is_leader) + { + result.follower_count = getFollowerCount(); + result.synced_follower_count = getSyncedFollowerCount(); + } + result.total_nodes_count = getKeeperStateMachine()->getNodesCount(); + result.last_zxid = getKeeperStateMachine()->getLastProcessedZxid(); + return result; +} + } diff --git a/src/Coordination/KeeperServer.h b/src/Coordination/KeeperServer.h index 8c21cf47d94..f6524ce97a1 100644 --- a/src/Coordination/KeeperServer.h +++ b/src/Coordination/KeeperServer.h @@ -8,6 +8,7 @@ #include #include #include +#include namespace DB { @@ -95,6 +96,8 @@ public: bool isLeaderAlive() const; + Keeper4LWInfo getPartiallyFilled4LWInfo() const; + /// @return follower count if node is not leader return 0 uint64_t getFollowerCount() const; diff --git a/src/Coordination/KeeperSnapshotManager.cpp b/src/Coordination/KeeperSnapshotManager.cpp index 1481767add3..07d351cb73c 100644 --- a/src/Coordination/KeeperSnapshotManager.cpp +++ b/src/Coordination/KeeperSnapshotManager.cpp @@ -1,17 +1,18 @@ -#include -#include #include #include -#include -#include +#include #include #include -#include #include +#include +#include +#include #include +#include #include #include #include +#include namespace DB { @@ -20,6 +21,7 @@ namespace ErrorCodes { extern const int UNKNOWN_FORMAT_VERSION; extern const int UNKNOWN_SNAPSHOT; + extern const int LOGICAL_ERROR; } namespace @@ -147,11 +149,24 @@ void KeeperStorageSnapshot::serialize(const KeeperStorageSnapshot & snapshot, Wr { writeBinary(static_cast(snapshot.version), out); serializeSnapshotMetadata(snapshot.snapshot_meta, out); + + if (snapshot.version >= SnapshotVersion::V5) + { + writeBinary(snapshot.zxid, out); + if (snapshot.storage->digest_enabled) + { + writeBinary(static_cast(KeeperStorage::CURRENT_DIGEST_VERSION), out); + writeBinary(snapshot.nodes_digest, out); + } + else + writeBinary(static_cast(KeeperStorage::NO_DIGEST), out); + } + writeBinary(snapshot.session_id, out); /// Better to sort before serialization, otherwise snapshots can be different on different replicas std::vector> sorted_acl_map(snapshot.acl_map.begin(), snapshot.acl_map.end()); - std::sort(sorted_acl_map.begin(), sorted_acl_map.end()); + ::sort(sorted_acl_map.begin(), sorted_acl_map.end()); /// Serialize ACLs map writeBinary(sorted_acl_map.size(), out); for (const auto & [acl_id, acls] : sorted_acl_map) @@ -176,7 +191,7 @@ void KeeperStorageSnapshot::serialize(const KeeperStorageSnapshot & snapshot, Wr /// Benign race condition possible while taking snapshot: NuRaft decide to create snapshot at some log id /// and only after some time we lock storage and enable snapshot mode. So snapshot_container_size can be /// slightly bigger than required. - if (static_cast(node.stat.mzxid) > snapshot.snapshot_meta->get_last_log_idx()) + if (node.stat.mzxid > snapshot.zxid) break; writeBinary(path, out); @@ -192,8 +207,9 @@ void KeeperStorageSnapshot::serialize(const KeeperStorageSnapshot & snapshot, Wr /// Session must be saved in a sorted order, /// otherwise snapshots will be different - std::vector> sorted_session_and_timeout(snapshot.session_and_timeout.begin(), snapshot.session_and_timeout.end()); - std::sort(sorted_session_and_timeout.begin(), sorted_session_and_timeout.end()); + std::vector> sorted_session_and_timeout( + snapshot.session_and_timeout.begin(), snapshot.session_and_timeout.end()); + ::sort(sorted_session_and_timeout.begin(), sorted_session_and_timeout.end()); /// Serialize sessions size_t size = sorted_session_and_timeout.size(); @@ -236,10 +252,34 @@ void KeeperStorageSnapshot::deserialize(SnapshotDeserializationResult & deserial deserialization_result.snapshot_meta = deserializeSnapshotMetadata(in); KeeperStorage & storage = *deserialization_result.storage; + bool recalculate_digest = storage.digest_enabled; + if (version >= SnapshotVersion::V5) + { + readBinary(storage.zxid, in); + uint8_t digest_version; + readBinary(digest_version, in); + if (digest_version != KeeperStorage::DigestVersion::NO_DIGEST) + { + uint64_t nodes_digest; + readBinary(nodes_digest, in); + if (digest_version == KeeperStorage::CURRENT_DIGEST_VERSION) + { + storage.nodes_digest = nodes_digest; + recalculate_digest = false; + } + } + + storage.old_snapshot_zxid = 0; + } + else + { + storage.zxid = deserialization_result.snapshot_meta->get_last_log_idx(); + storage.old_snapshot_zxid = storage.zxid; + } + int64_t session_id; readBinary(session_id, in); - storage.zxid = deserialization_result.snapshot_meta->get_last_log_idx(); storage.session_id_counter = session_id; /// Before V1 we serialized ACL without acl_map @@ -273,6 +313,9 @@ void KeeperStorageSnapshot::deserialize(SnapshotDeserializationResult & deserial size_t snapshot_container_size; readBinary(snapshot_container_size, in); + if (recalculate_digest) + storage.nodes_digest = 0; + size_t current_size = 0; while (current_size < snapshot_container_size) { @@ -285,6 +328,9 @@ void KeeperStorageSnapshot::deserialize(SnapshotDeserializationResult & deserial storage.ephemerals[node.stat.ephemeralOwner].insert(path); current_size++; + + if (recalculate_digest) + storage.nodes_digest += node.getDigest(path); } for (const auto & itr : storage.container) @@ -292,10 +338,30 @@ void KeeperStorageSnapshot::deserialize(SnapshotDeserializationResult & deserial if (itr.key != "/") { auto parent_path = parentPath(itr.key); - storage.container.updateValue(parent_path, [path = itr.key] (KeeperStorage::Node & value) { value.addChild(getBaseName(path)); }); + storage.container.updateValue( + parent_path, [path = itr.key](KeeperStorage::Node & value) { value.addChild(getBaseName(path)); }); } } + for (const auto & itr : storage.container) + { + if (itr.key != "/") + { + if (itr.value.stat.numChildren != static_cast(itr.value.getChildren().size())) + { +#ifdef NDEBUG + /// TODO (alesapin) remove this, it should be always CORRUPTED_DATA. + LOG_ERROR(&Poco::Logger::get("KeeperSnapshotManager"), "Children counter in stat.numChildren {}" + " is different from actual children size {} for node {}", itr.value.stat.numChildren, itr.value.getChildren().size(), itr.key); +#else + throw Exception(ErrorCodes::LOGICAL_ERROR, "Children counter in stat.numChildren {}" + " is different from actual children size {} for node {}", itr.value.stat.numChildren, itr.value.getChildren().size(), itr.key); +#endif + } + } + } + + size_t active_sessions_size; readBinary(active_sessions_size, in); @@ -347,6 +413,8 @@ KeeperStorageSnapshot::KeeperStorageSnapshot(KeeperStorage * storage_, uint64_t , snapshot_meta(std::make_shared(up_to_log_idx_, 0, std::make_shared())) , session_id(storage->session_id_counter) , cluster_config(cluster_config_) + , zxid(storage->zxid) + , nodes_digest(storage->nodes_digest) { auto [size, ver] = storage->container.snapshotSizeWithVersion(); snapshot_container_size = size; @@ -357,11 +425,14 @@ KeeperStorageSnapshot::KeeperStorageSnapshot(KeeperStorage * storage_, uint64_t session_and_auth = storage->session_and_auth; } -KeeperStorageSnapshot::KeeperStorageSnapshot(KeeperStorage * storage_, const SnapshotMetadataPtr & snapshot_meta_, const ClusterConfigPtr & cluster_config_) +KeeperStorageSnapshot::KeeperStorageSnapshot( + KeeperStorage * storage_, const SnapshotMetadataPtr & snapshot_meta_, const ClusterConfigPtr & cluster_config_) : storage(storage_) , snapshot_meta(snapshot_meta_) , session_id(storage->session_id_counter) , cluster_config(cluster_config_) + , zxid(storage->zxid) + , nodes_digest(storage->nodes_digest) { auto [size, ver] = storage->container.snapshotSizeWithVersion(); snapshot_container_size = size; @@ -378,14 +449,18 @@ KeeperStorageSnapshot::~KeeperStorageSnapshot() } KeeperSnapshotManager::KeeperSnapshotManager( - const std::string & snapshots_path_, size_t snapshots_to_keep_, + const std::string & snapshots_path_, + size_t snapshots_to_keep_, bool compress_snapshots_zstd_, - const std::string & superdigest_, size_t storage_tick_time_) + const std::string & superdigest_, + size_t storage_tick_time_, + const bool digest_enabled_) : snapshots_path(snapshots_path_) , snapshots_to_keep(snapshots_to_keep_) , compress_snapshots_zstd(compress_snapshots_zstd_) , superdigest(superdigest_) , storage_tick_time(storage_tick_time_) + , digest_enabled(digest_enabled_) { namespace fs = std::filesystem; @@ -508,7 +583,7 @@ SnapshotDeserializationResult KeeperSnapshotManager::deserializeSnapshotFromBuff compressed_reader = std::make_unique(*reader); SnapshotDeserializationResult result; - result.storage = std::make_unique(storage_tick_time, superdigest); + result.storage = std::make_unique(storage_tick_time, superdigest, digest_enabled); KeeperStorageSnapshot::deserialize(result, *compressed_reader); return result; } @@ -547,7 +622,7 @@ std::pair KeeperSnapshotManager::serializeSnapshot std::string tmp_snapshot_path = std::filesystem::path{snapshots_path} / tmp_snapshot_file_name; std::string new_snapshot_path = std::filesystem::path{snapshots_path} / snapshot_file_name; - auto writer = std::make_unique(tmp_snapshot_path, O_WRONLY | O_TRUNC | O_CREAT | O_CLOEXEC| O_APPEND); + auto writer = std::make_unique(tmp_snapshot_path, O_WRONLY | O_TRUNC | O_CREAT | O_CLOEXEC | O_APPEND); std::unique_ptr compressed_writer; if (compress_snapshots_zstd) compressed_writer = wrapWriteBufferWithCompressionMethod(std::move(writer), CompressionMethod::Zstd, 3); diff --git a/src/Coordination/KeeperSnapshotManager.h b/src/Coordination/KeeperSnapshotManager.h index 37341ef546a..57174cbc6f5 100644 --- a/src/Coordination/KeeperSnapshotManager.h +++ b/src/Coordination/KeeperSnapshotManager.h @@ -1,10 +1,10 @@ #pragma once #include #include -#include #include -#include #include +#include +#include namespace DB { @@ -21,9 +21,10 @@ enum SnapshotVersion : uint8_t V2 = 2, /// with 64 bit buffer header V3 = 3, /// compress snapshots with ZSTD codec V4 = 4, /// add Node size to snapshots + V5 = 5, /// add ZXID and digest to snapshots }; -static constexpr auto CURRENT_SNAPSHOT_VERSION = SnapshotVersion::V4; +static constexpr auto CURRENT_SNAPSHOT_VERSION = SnapshotVersion::V5; /// What is stored in binary shapsnot struct SnapshotDeserializationResult @@ -49,7 +50,8 @@ struct KeeperStorageSnapshot public: KeeperStorageSnapshot(KeeperStorage * storage_, uint64_t up_to_log_idx_, const ClusterConfigPtr & cluster_config_ = nullptr); - KeeperStorageSnapshot(KeeperStorage * storage_, const SnapshotMetadataPtr & snapshot_meta_, const ClusterConfigPtr & cluster_config_ = nullptr); + KeeperStorageSnapshot( + KeeperStorage * storage_, const SnapshotMetadataPtr & snapshot_meta_, const ClusterConfigPtr & cluster_config_ = nullptr); ~KeeperStorageSnapshot(); @@ -77,6 +79,10 @@ public: std::unordered_map acl_map; /// Cluster config from snapshot, can be empty ClusterConfigPtr cluster_config; + /// Last committed ZXID + int64_t zxid; + /// Current digest of committed nodes + uint64_t nodes_digest; }; using KeeperStorageSnapshotPtr = std::shared_ptr; @@ -91,8 +97,12 @@ class KeeperSnapshotManager { public: KeeperSnapshotManager( - const std::string & snapshots_path_, size_t snapshots_to_keep_, - bool compress_snapshots_zstd_ = true, const std::string & superdigest_ = "", size_t storage_tick_time_ = 500); + const std::string & snapshots_path_, + size_t snapshots_to_keep_, + bool compress_snapshots_zstd_ = true, + const std::string & superdigest_ = "", + size_t storage_tick_time_ = 500, + bool digest_enabled_ = true); /// Restore storage from latest available snapshot SnapshotDeserializationResult restoreFromLatestSnapshot(); @@ -118,10 +128,7 @@ public: void removeSnapshot(uint64_t log_idx); /// Total amount of snapshots - size_t totalSnapshots() const - { - return existing_snapshots.size(); - } + size_t totalSnapshots() const { return existing_snapshots.size(); } /// The most fresh snapshot log index we have size_t getLatestSnapshotIndex() const @@ -161,6 +168,7 @@ private: const std::string superdigest; /// Storage sessions timeout check interval (also for deserializatopn) size_t storage_tick_time; + const bool digest_enabled; }; /// Keeper create snapshots in background thread. KeeperStateMachine just create diff --git a/src/Coordination/KeeperStateMachine.cpp b/src/Coordination/KeeperStateMachine.cpp index be7110fa841..368b23f34d2 100644 --- a/src/Coordination/KeeperStateMachine.cpp +++ b/src/Coordination/KeeperStateMachine.cpp @@ -1,12 +1,14 @@ -#include #include +#include +#include #include #include #include #include +#include +#include "Common/ZooKeeper/ZooKeeperCommon.h" #include -#include -#include +#include "Coordination/KeeperStorage.h" namespace DB { @@ -19,52 +21,29 @@ namespace ErrorCodes namespace { - KeeperStorage::RequestForSession parseRequest(nuraft::buffer & data) - { - ReadBufferFromNuraftBuffer buffer(data); - KeeperStorage::RequestForSession request_for_session; - readIntBinary(request_for_session.session_id, buffer); - - int32_t length; - Coordination::read(length, buffer); - - int32_t xid; - Coordination::read(xid, buffer); - - Coordination::OpNum opnum; - - Coordination::read(opnum, buffer); - - request_for_session.request = Coordination::ZooKeeperRequestFactory::instance().get(opnum); - request_for_session.request->xid = xid; - request_for_session.request->readImpl(buffer); - - if (!buffer.eof()) - readIntBinary(request_for_session.time, buffer); - else /// backward compatibility - request_for_session.time = std::chrono::duration_cast(std::chrono::system_clock::now().time_since_epoch()).count(); - - - return request_for_session; - } } KeeperStateMachine::KeeperStateMachine( - ResponsesQueue & responses_queue_, - SnapshotsQueue & snapshots_queue_, - const std::string & snapshots_path_, - const CoordinationSettingsPtr & coordination_settings_, - const std::string & superdigest_) + ResponsesQueue & responses_queue_, + SnapshotsQueue & snapshots_queue_, + const std::string & snapshots_path_, + const CoordinationSettingsPtr & coordination_settings_, + const std::string & superdigest_, + const bool digest_enabled_) : coordination_settings(coordination_settings_) , snapshot_manager( - snapshots_path_, coordination_settings->snapshots_to_keep, - coordination_settings->compress_snapshots_with_zstd_format, superdigest_, - coordination_settings->dead_session_check_period_ms.totalMicroseconds()) + snapshots_path_, + coordination_settings->snapshots_to_keep, + coordination_settings->compress_snapshots_with_zstd_format, + superdigest_, + coordination_settings->dead_session_check_period_ms.totalMilliseconds(), + digest_enabled_) , responses_queue(responses_queue_) , snapshots_queue(snapshots_queue_) , last_committed_idx(0) , log(&Poco::Logger::get("KeeperStateMachine")) , superdigest(superdigest_) + , digest_enabled(digest_enabled_) { } @@ -82,7 +61,8 @@ void KeeperStateMachine::init() try { - auto snapshot_deserialization_result = snapshot_manager.deserializeSnapshotFromBuffer(snapshot_manager.deserializeSnapshotBufferFromDisk(latest_log_index)); + auto snapshot_deserialization_result + = snapshot_manager.deserializeSnapshotFromBuffer(snapshot_manager.deserializeSnapshotBufferFromDisk(latest_log_index)); latest_snapshot_path = snapshot_manager.getLatestSnapshotPath(); storage = std::move(snapshot_deserialization_result.storage); latest_snapshot_meta = snapshot_deserialization_result.snapshot_meta; @@ -93,7 +73,11 @@ void KeeperStateMachine::init() } catch (const DB::Exception & ex) { - LOG_WARNING(log, "Failed to load from snapshot with index {}, with error {}, will remove it from disk", latest_log_index, ex.displayText()); + LOG_WARNING( + log, + "Failed to load from snapshot with index {}, with error {}, will remove it from disk", + latest_log_index, + ex.displayText()); snapshot_manager.removeSnapshot(latest_log_index); } } @@ -111,16 +95,117 @@ void KeeperStateMachine::init() } if (!storage) - storage = std::make_unique(coordination_settings->dead_session_check_period_ms.totalMilliseconds(), superdigest); + storage = std::make_unique( + coordination_settings->dead_session_check_period_ms.totalMilliseconds(), superdigest, digest_enabled); +} + +namespace +{ + +void assertDigest( + const KeeperStorage::Digest & first, + const KeeperStorage::Digest & second, + const Coordination::ZooKeeperRequest & request, + bool committing) +{ + if (!KeeperStorage::checkDigest(first, second)) + { + LOG_FATAL( + &Poco::Logger::get("KeeperStateMachine"), + "Digest for nodes is not matching after {} request of type '{}'.\nExpected digest - {}, actual digest - {} (digest version " + "{}). Keeper will " + "terminate to avoid inconsistencies.\nExtra information about the request:\n{}", + committing ? "committing" : "preprocessing", + request.getOpNum(), + first.value, + second.value, + first.version, + request.toString()); + std::terminate(); + } +} + +} + +nuraft::ptr KeeperStateMachine::pre_commit(uint64_t log_idx, nuraft::buffer & data) +{ + auto request_for_session = parseRequest(data); + if (!request_for_session.zxid) + request_for_session.zxid = log_idx; + + preprocess(request_for_session); + return nullptr; +} + +KeeperStorage::RequestForSession KeeperStateMachine::parseRequest(nuraft::buffer & data) +{ + ReadBufferFromNuraftBuffer buffer(data); + KeeperStorage::RequestForSession request_for_session; + readIntBinary(request_for_session.session_id, buffer); + + int32_t length; + Coordination::read(length, buffer); + + int32_t xid; + Coordination::read(xid, buffer); + + Coordination::OpNum opnum; + + Coordination::read(opnum, buffer); + + request_for_session.request = Coordination::ZooKeeperRequestFactory::instance().get(opnum); + request_for_session.request->xid = xid; + request_for_session.request->readImpl(buffer); + + if (!buffer.eof()) + readIntBinary(request_for_session.time, buffer); + else /// backward compatibility + request_for_session.time + = std::chrono::duration_cast(std::chrono::system_clock::now().time_since_epoch()).count(); + + if (!buffer.eof()) + readIntBinary(request_for_session.zxid, buffer); + + if (!buffer.eof()) + { + request_for_session.digest.emplace(); + readIntBinary(request_for_session.digest->version, buffer); + if (request_for_session.digest->version != KeeperStorage::DigestVersion::NO_DIGEST) + readIntBinary(request_for_session.digest->value, buffer); + } + + return request_for_session; +} + +void KeeperStateMachine::preprocess(const KeeperStorage::RequestForSession & request_for_session) +{ + if (request_for_session.request->getOpNum() == Coordination::OpNum::SessionID) + return; + + std::lock_guard lock(storage_and_responses_lock); + storage->preprocessRequest( + request_for_session.request, + request_for_session.session_id, + request_for_session.time, + request_for_session.zxid, + true /* check_acl */, + request_for_session.digest); + + if (digest_enabled && request_for_session.digest) + assertDigest(*request_for_session.digest, storage->getNodesDigest(false), *request_for_session.request, false); } nuraft::ptr KeeperStateMachine::commit(const uint64_t log_idx, nuraft::buffer & data) { auto request_for_session = parseRequest(data); + if (!request_for_session.zxid) + request_for_session.zxid = log_idx; + /// Special processing of session_id request if (request_for_session.request->getOpNum() == Coordination::OpNum::SessionID) { - const Coordination::ZooKeeperSessionIDRequest & session_id_request = dynamic_cast(*request_for_session.request); + const Coordination::ZooKeeperSessionIDRequest & session_id_request + = dynamic_cast(*request_for_session.request); int64_t session_id; std::shared_ptr response = std::make_shared(); response->internal_id = session_id_request.internal_id; @@ -140,10 +225,19 @@ nuraft::ptr KeeperStateMachine::commit(const uint64_t log_idx, n else { std::lock_guard lock(storage_and_responses_lock); - KeeperStorage::ResponsesForSessions responses_for_sessions = storage->processRequest(request_for_session.request, request_for_session.session_id, request_for_session.time, log_idx); + KeeperStorage::ResponsesForSessions responses_for_sessions = storage->processRequest( + request_for_session.request, request_for_session.session_id, request_for_session.zxid); for (auto & response_for_session : responses_for_sessions) if (!responses_queue.push(response_for_session)) - throw Exception(ErrorCodes::SYSTEM_ERROR, "Could not push response with session id {} into responses queue", response_for_session.session_id); + throw Exception( + ErrorCodes::SYSTEM_ERROR, + "Could not push response with session id {} into responses queue", + response_for_session.session_id); + + if (digest_enabled && request_for_session.digest) + { + assertDigest(*request_for_session.digest, storage->getNodesDigest(true), *request_for_session.request, true); + } } last_committed_idx = log_idx; @@ -157,14 +251,18 @@ bool KeeperStateMachine::apply_snapshot(nuraft::snapshot & s) { /// save snapshot into memory std::lock_guard lock(snapshots_lock); if (s.get_last_log_idx() != latest_snapshot_meta->get_last_log_idx()) - throw Exception(ErrorCodes::LOGICAL_ERROR, "Required to apply snapshot with last log index {}, but our last log index is {}", - s.get_last_log_idx(), latest_snapshot_meta->get_last_log_idx()); + throw Exception( + ErrorCodes::LOGICAL_ERROR, + "Required to apply snapshot with last log index {}, but our last log index is {}", + s.get_last_log_idx(), + latest_snapshot_meta->get_last_log_idx()); latest_snapshot_ptr = latest_snapshot_buf; } { /// deserialize and apply snapshot to storage std::lock_guard lock(storage_and_responses_lock); - auto snapshot_deserialization_result = snapshot_manager.deserializeSnapshotFromBuffer(snapshot_manager.deserializeSnapshotBufferFromDisk(s.get_last_log_idx())); + auto snapshot_deserialization_result + = snapshot_manager.deserializeSnapshotFromBuffer(snapshot_manager.deserializeSnapshotBufferFromDisk(s.get_last_log_idx())); storage = std::move(snapshot_deserialization_result.storage); latest_snapshot_meta = snapshot_deserialization_result.snapshot_meta; cluster_config = snapshot_deserialization_result.cluster_config; @@ -182,6 +280,19 @@ void KeeperStateMachine::commit_config(const uint64_t /* log_idx */, nuraft::ptr cluster_config = ClusterConfig::deserialize(*tmp); } +void KeeperStateMachine::rollback(uint64_t log_idx, nuraft::buffer & data) +{ + auto request_for_session = parseRequest(data); + // If we received a log from an older node, use the log_idx as the zxid + // log_idx will always be larger or equal to the zxid so we can safely do this + // (log_idx is increased for all logs, while zxid is only increased for requests) + if (!request_for_session.zxid) + request_for_session.zxid = log_idx; + + std::lock_guard lock(storage_and_responses_lock); + storage->rollbackRequest(request_for_session.zxid); +} + nuraft::ptr KeeperStateMachine::last_snapshot() { /// Just return the latest snapshot. @@ -189,9 +300,7 @@ nuraft::ptr KeeperStateMachine::last_snapshot() return latest_snapshot_meta; } -void KeeperStateMachine::create_snapshot( - nuraft::snapshot & s, - nuraft::async_result::handler_type & when_done) +void KeeperStateMachine::create_snapshot(nuraft::snapshot & s, nuraft::async_result::handler_type & when_done) { LOG_DEBUG(log, "Creating snapshot {}", s.get_last_log_idx()); @@ -204,19 +313,22 @@ void KeeperStateMachine::create_snapshot( } /// create snapshot task for background execution (in snapshot thread) - snapshot_task.create_snapshot = [this, when_done] (KeeperStorageSnapshotPtr && snapshot) + snapshot_task.create_snapshot = [this, when_done](KeeperStorageSnapshotPtr && snapshot) { nuraft::ptr exception(nullptr); bool ret = true; try { - { /// Read storage data without locks and create snapshot + { /// Read storage data without locks and create snapshot std::lock_guard lock(snapshots_lock); - auto [path, error_code]= snapshot_manager.serializeSnapshotToDisk(*snapshot); + auto [path, error_code] = snapshot_manager.serializeSnapshotToDisk(*snapshot); if (error_code) { - throw Exception(ErrorCodes::SYSTEM_ERROR, "Snapshot {} was created failed, error: {}", - snapshot->snapshot_meta->get_last_log_idx(), error_code.message()); + throw Exception( + ErrorCodes::SYSTEM_ERROR, + "Snapshot {} was created failed, error: {}", + snapshot->snapshot_meta->get_last_log_idx(), + error_code.message()); } latest_snapshot_path = path; latest_snapshot_meta = snapshot->snapshot_meta; @@ -251,11 +363,7 @@ void KeeperStateMachine::create_snapshot( } void KeeperStateMachine::save_logical_snp_obj( - nuraft::snapshot & s, - uint64_t & obj_id, - nuraft::buffer & data, - bool /*is_first_obj*/, - bool /*is_last_obj*/) + nuraft::snapshot & s, uint64_t & obj_id, nuraft::buffer & data, bool /*is_first_obj*/, bool /*is_last_obj*/) { LOG_DEBUG(log, "Saving snapshot {} obj_id {}", s.get_last_log_idx(), obj_id); @@ -311,13 +419,8 @@ static int bufferFromFile(Poco::Logger * log, const std::string & path, nuraft:: } int KeeperStateMachine::read_logical_snp_obj( - nuraft::snapshot & s, - void* & /*user_snp_ctx*/, - uint64_t obj_id, - nuraft::ptr & data_out, - bool & is_last_obj) + nuraft::snapshot & s, void *& /*user_snp_ctx*/, uint64_t obj_id, nuraft::ptr & data_out, bool & is_last_obj) { - LOG_DEBUG(log, "Reading snapshot {} obj_id {}", s.get_last_log_idx(), obj_id); std::lock_guard lock(snapshots_lock); @@ -325,8 +428,11 @@ int KeeperStateMachine::read_logical_snp_obj( /// Let's wait and NuRaft will retry this call. if (s.get_last_log_idx() != latest_snapshot_meta->get_last_log_idx()) { - LOG_WARNING(log, "Required to apply snapshot with last log index {}, but our last log index is {}. Will ignore this one and retry", - s.get_last_log_idx(), latest_snapshot_meta->get_last_log_idx()); + LOG_WARNING( + log, + "Required to apply snapshot with last log index {}, but our last log index is {}. Will ignore this one and retry", + s.get_last_log_idx(), + latest_snapshot_meta->get_last_log_idx()); return -1; } if (bufferFromFile(log, latest_snapshot_path, data_out)) @@ -343,10 +449,16 @@ void KeeperStateMachine::processReadRequest(const KeeperStorage::RequestForSessi { /// Pure local request, just process it with storage std::lock_guard lock(storage_and_responses_lock); - auto responses = storage->processRequest(request_for_session.request, request_for_session.session_id, request_for_session.time, std::nullopt); + auto responses = storage->processRequest( + request_for_session.request, + request_for_session.session_id, + std::nullopt, + true /*check_acl*/, + true /*is_local*/); for (const auto & response : responses) if (!responses_queue.push(response)) - throw Exception(ErrorCodes::SYSTEM_ERROR, "Could not push response with session id {} into responses queue", response.session_id); + throw Exception( + ErrorCodes::SYSTEM_ERROR, "Could not push response with session id {} into responses queue", response.session_id); } void KeeperStateMachine::shutdownStorage() @@ -361,6 +473,18 @@ std::vector KeeperStateMachine::getDeadSessions() return storage->getDeadSessions(); } +int64_t KeeperStateMachine::getNextZxid() const +{ + std::lock_guard lock(storage_and_responses_lock); + return storage->getNextZXID(); +} + +KeeperStorage::Digest KeeperStateMachine::getNodesDigest() const +{ + std::lock_guard lock(storage_and_responses_lock); + return storage->getNodesDigest(false); +} + uint64_t KeeperStateMachine::getLastProcessedZxid() const { std::lock_guard lock(storage_and_responses_lock); diff --git a/src/Coordination/KeeperStateMachine.h b/src/Coordination/KeeperStateMachine.h index 73578e6a2ba..c80b35bb704 100644 --- a/src/Coordination/KeeperStateMachine.h +++ b/src/Coordination/KeeperStateMachine.h @@ -1,11 +1,11 @@ #pragma once -#include -#include -#include -#include #include #include +#include +#include +#include +#include namespace DB @@ -20,23 +20,28 @@ class KeeperStateMachine : public nuraft::state_machine { public: KeeperStateMachine( - ResponsesQueue & responses_queue_, SnapshotsQueue & snapshots_queue_, - const std::string & snapshots_path_, const CoordinationSettingsPtr & coordination_settings_, - const std::string & superdigest_ = ""); + ResponsesQueue & responses_queue_, + SnapshotsQueue & snapshots_queue_, + const std::string & snapshots_path_, + const CoordinationSettingsPtr & coordination_settings_, + const std::string & superdigest_ = "", + bool digest_enabled_ = true); /// Read state from the latest snapshot void init(); - /// Currently not supported - nuraft::ptr pre_commit(const uint64_t /*log_idx*/, nuraft::buffer & /*data*/) override { return nullptr; } + static KeeperStorage::RequestForSession parseRequest(nuraft::buffer & data); + + void preprocess(const KeeperStorage::RequestForSession & request_for_session); + + nuraft::ptr pre_commit(uint64_t log_idx, nuraft::buffer & data) override; nuraft::ptr commit(const uint64_t log_idx, nuraft::buffer & data) override; /// NOLINT /// Save new cluster config to our snapshot (copy of the config stored in StateManager) void commit_config(const uint64_t log_idx, nuraft::ptr & new_conf) override; /// NOLINT - /// Currently not supported - void rollback(const uint64_t /*log_idx*/, nuraft::buffer & /*data*/) override {} + void rollback(uint64_t log_idx, nuraft::buffer & data) override; uint64_t last_commit_index() override { return last_committed_idx; } @@ -46,32 +51,18 @@ public: nuraft::ptr last_snapshot() override; /// Create new snapshot from current state. - void create_snapshot( - nuraft::snapshot & s, - nuraft::async_result::handler_type & when_done) override; + void create_snapshot(nuraft::snapshot & s, nuraft::async_result::handler_type & when_done) override; /// Save snapshot which was send by leader to us. After that we will apply it in apply_snapshot. - void save_logical_snp_obj( - nuraft::snapshot & s, - uint64_t & obj_id, - nuraft::buffer & data, - bool is_first_obj, - bool is_last_obj) override; + void save_logical_snp_obj(nuraft::snapshot & s, uint64_t & obj_id, nuraft::buffer & data, bool is_first_obj, bool is_last_obj) override; /// Better name is `serialize snapshot` -- save existing snapshot (created by create_snapshot) into /// in-memory buffer data_out. int read_logical_snp_obj( - nuraft::snapshot & s, - void* & user_snp_ctx, - uint64_t obj_id, - nuraft::ptr & data_out, - bool & is_last_obj) override; + nuraft::snapshot & s, void *& user_snp_ctx, uint64_t obj_id, nuraft::ptr & data_out, bool & is_last_obj) override; /// just for test - KeeperStorage & getStorage() - { - return *storage; - } + KeeperStorage & getStorage() { return *storage; } void shutdownStorage(); @@ -82,6 +73,10 @@ public: std::vector getDeadSessions(); + int64_t getNextZxid() const; + + KeeperStorage::Digest getNodesDigest() const; + /// Introspection functions for 4lw commands uint64_t getLastProcessedZxid() const; @@ -101,7 +96,6 @@ public: uint64_t getLatestSnapshotBufSize() const; private: - /// In our state machine we always have a single snapshot which is stored /// in memory in compressed (serialized) format. SnapshotMetadataPtr latest_snapshot_meta = nullptr; @@ -145,6 +139,8 @@ private: /// Special part of ACL system -- superdigest specified in server config. const std::string superdigest; + + const bool digest_enabled; }; } diff --git a/src/Coordination/KeeperStorage.cpp b/src/Coordination/KeeperStorage.cpp index f58776cf843..21265f0bd61 100644 --- a/src/Coordination/KeeperStorage.cpp +++ b/src/Coordination/KeeperStorage.cpp @@ -1,19 +1,24 @@ +#include +#include #include -#include -#include -#include -#include -#include #include -#include -#include +#include #include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include #include #include #include #include -#include +#include namespace DB { @@ -49,37 +54,10 @@ String getSHA1(const String & userdata) String generateDigest(const String & userdata) { std::vector user_password; - boost::split(user_password, userdata, [](char c) { return c == ':'; }); + boost::split(user_password, userdata, [](char character) { return character == ':'; }); return user_password[0] + ":" + base64Encode(getSHA1(userdata)); } -bool checkACL(int32_t permission, const Coordination::ACLs & node_acls, const std::vector & session_auths) -{ - if (node_acls.empty()) - return true; - - for (const auto & session_auth : session_auths) - if (session_auth.scheme == "super") - return true; - - for (const auto & node_acl : node_acls) - { - if (node_acl.permissions & permission) - { - if (node_acl.scheme == "world" && node_acl.id == "anyone") - return true; - - for (const auto & session_auth : session_auths) - { - if (node_acl.scheme == session_auth.scheme && node_acl.id == session_auth.id) - return true; - } - } - } - - return false; -} - bool fixupACL( const std::vector & request_acls, const std::vector & current_ids, @@ -122,11 +100,12 @@ bool fixupACL( return valid_found; } -KeeperStorage::ResponsesForSessions processWatchesImpl(const String & path, KeeperStorage::Watches & watches, KeeperStorage::Watches & list_watches, Coordination::Event event_type) +KeeperStorage::ResponsesForSessions processWatchesImpl( + const String & path, KeeperStorage::Watches & watches, KeeperStorage::Watches & list_watches, Coordination::Event event_type) { KeeperStorage::ResponsesForSessions result; - auto it = watches.find(path); - if (it != watches.end()) + auto watch_it = watches.find(path); + if (watch_it != watches.end()) { std::shared_ptr watch_response = std::make_shared(); watch_response->path = path; @@ -134,10 +113,10 @@ KeeperStorage::ResponsesForSessions processWatchesImpl(const String & path, Keep watch_response->zxid = -1; watch_response->type = event_type; watch_response->state = Coordination::State::CONNECTED; - for (auto watcher_session : it->second) + for (auto watcher_session : watch_it->second) result.push_back(KeeperStorage::ResponseForSession{watcher_session, watch_response}); - watches.erase(it); + watches.erase(watch_it); } auto parent_path = parentPath(path); @@ -156,10 +135,11 @@ KeeperStorage::ResponsesForSessions processWatchesImpl(const String & path, Keep for (const auto & path_to_check : paths_to_check_for_list_watches) { - it = list_watches.find(path_to_check); - if (it != list_watches.end()) + watch_it = list_watches.find(path_to_check); + if (watch_it != list_watches.end()) { - std::shared_ptr watch_list_response = std::make_shared(); + std::shared_ptr watch_list_response + = std::make_shared(); watch_list_response->path = path_to_check; watch_list_response->xid = Coordination::WATCH_XID; watch_list_response->zxid = -1; @@ -169,14 +149,40 @@ KeeperStorage::ResponsesForSessions processWatchesImpl(const String & path, Keep watch_list_response->type = Coordination::Event::DELETED; watch_list_response->state = Coordination::State::CONNECTED; - for (auto watcher_session : it->second) + for (auto watcher_session : watch_it->second) result.push_back(KeeperStorage::ResponseForSession{watcher_session, watch_list_response}); - list_watches.erase(it); + list_watches.erase(watch_it); } } return result; } + +// When this function is updated, update CURRENT_DIGEST_VERSION!! +uint64_t calculateDigest(std::string_view path, std::string_view data, const Coordination::Stat & stat) +{ + SipHash hash; + + hash.update(path); + + hash.update(data); + + hash.update(stat.czxid); + hash.update(stat.czxid); + hash.update(stat.mzxid); + hash.update(stat.ctime); + hash.update(stat.mtime); + hash.update(stat.version); + hash.update(stat.cversion); + hash.update(stat.aversion); + hash.update(stat.ephemeralOwner); + hash.update(stat.dataLength); + hash.update(stat.numChildren); + hash.update(stat.pzxid); + + return hash.get64(); +} + } void KeeperStorage::Node::setData(String new_data) @@ -197,25 +203,429 @@ void KeeperStorage::Node::removeChild(StringRef child_path) children.erase(child_path); } -KeeperStorage::KeeperStorage(int64_t tick_time_ms, const String & superdigest_) - : session_expiry_queue(tick_time_ms) - , superdigest(superdigest_) +void KeeperStorage::Node::invalidateDigestCache() const { - container.insert("/", Node()); + cached_digest.reset(); } -using Undo = std::function; +UInt64 KeeperStorage::Node::getDigest(const std::string_view path) const +{ + if (!cached_digest) + cached_digest = calculateDigest(path, data, stat); + + return *cached_digest; +}; + +void KeeperStorage::Node::shallowCopy(const KeeperStorage::Node & other) +{ + stat = other.stat; + seq_num = other.seq_num; + setData(other.getData()); + cached_digest = other.cached_digest; +} + +KeeperStorage::KeeperStorage(int64_t tick_time_ms, const String & superdigest_, const bool digest_enabled_) + : session_expiry_queue(tick_time_ms), digest_enabled(digest_enabled_), superdigest(superdigest_) +{ + Node root_node; + container.insert("/", root_node); + nodes_digest += root_node.getDigest("/"); +} + +template +struct Overloaded : Ts... +{ + using Ts::operator()...; +}; + +// explicit deduction guide +// https://en.cppreference.com/w/cpp/language/class_template_argument_deduction +template +Overloaded(Ts...) -> Overloaded; + +std::shared_ptr KeeperStorage::UncommittedState::tryGetNodeFromStorage(StringRef path) const +{ + if (auto node_it = storage.container.find(path); node_it != storage.container.end()) + { + const auto & committed_node = node_it->value; + auto node = std::make_shared(); + node->shallowCopy(committed_node); + return node; + } + + return nullptr; +} + +void KeeperStorage::UncommittedState::applyDelta(const Delta & delta) +{ + assert(!delta.path.empty()); + if (!nodes.contains(delta.path)) + { + if (auto storage_node = tryGetNodeFromStorage(delta.path)) + nodes.emplace(delta.path, UncommittedNode{.node = std::move(storage_node)}); + else + nodes.emplace(delta.path, UncommittedNode{.node = nullptr}); + } + + auto & [node, acls, last_applied_zxid] = nodes.at(delta.path); + + std::visit( + [&, &node = node, &acls = acls, &last_applied_zxid = last_applied_zxid](const DeltaType & operation) + { + if constexpr (std::same_as) + { + assert(!node); + node = std::make_shared(); + node->stat = operation.stat; + node->setData(operation.data); + acls = operation.acls; + last_applied_zxid = delta.zxid; + } + else if constexpr (std::same_as) + { + assert(node); + node = nullptr; + last_applied_zxid = delta.zxid; + } + else if constexpr (std::same_as) + { + assert(node); + node->invalidateDigestCache(); + operation.update_fn(*node); + last_applied_zxid = delta.zxid; + } + else if constexpr (std::same_as) + { + acls = operation.acls; + last_applied_zxid = delta.zxid; + } + }, + delta.operation); +} + +void KeeperStorage::UncommittedState::addDeltas(std::vector new_deltas) +{ + for (auto & delta : new_deltas) + { + if (!delta.path.empty()) + applyDelta(delta); + + deltas.push_back(std::move(delta)); + } +} + +void KeeperStorage::UncommittedState::commit(int64_t commit_zxid) +{ + assert(deltas.empty() || deltas.front().zxid >= commit_zxid); + + while (!deltas.empty() && deltas.front().zxid == commit_zxid) + { + if (std::holds_alternative(deltas.front().operation)) + { + deltas.pop_front(); + break; + } + + deltas.pop_front(); + } + + // delete all cached nodes that were not modified after the commit_zxid + // the commit can end on SubDeltaEnd so we don't want to clear cached nodes too soon + if (deltas.empty() || deltas.front().zxid > commit_zxid) + std::erase_if(nodes, [commit_zxid](const auto & node) { return node.second.zxid == commit_zxid; }); +} + +void KeeperStorage::UncommittedState::rollback(int64_t rollback_zxid) +{ + // we can only rollback the last zxid (if there is any) + // if there is a delta with a larger zxid, we have invalid state + if (!deltas.empty() && deltas.back().zxid > rollback_zxid) + throw DB::Exception( + DB::ErrorCodes::LOGICAL_ERROR, + "Invalid state of deltas found while trying to rollback request. Last ZXID ({}) is larger than the requested ZXID ({})", + deltas.back().zxid, + rollback_zxid); + + // we need to undo ephemeral mapping modifications + // CreateNodeDelta added ephemeral for session id -> we need to remove it + // RemoveNodeDelta removed ephemeral for session id -> we need to add it back + for (auto delta_it = deltas.rbegin(); delta_it != deltas.rend(); ++delta_it) + { + if (delta_it->zxid < rollback_zxid) + break; + + assert(delta_it->zxid == rollback_zxid); + if (!delta_it->path.empty()) + { + std::visit( + [&](const DeltaType & operation) + { + if constexpr (std::same_as) + { + if (operation.stat.ephemeralOwner != 0) + storage.unregisterEphemeralPath(operation.stat.ephemeralOwner, delta_it->path); + } + else if constexpr (std::same_as) + { + if (operation.ephemeral_owner != 0) + storage.ephemerals[operation.ephemeral_owner].emplace(delta_it->path); + } + }, + delta_it->operation); + } + } + + std::erase_if(deltas, [rollback_zxid](const auto & delta) { return delta.zxid == rollback_zxid; }); + + std::unordered_set deleted_nodes; + std::erase_if( + nodes, + [&, rollback_zxid](const auto & node) + { + if (node.second.zxid == rollback_zxid) + { + deleted_nodes.emplace(node.first); + return true; + } + return false; + }); + + // recalculate all the uncommitted deleted nodes + for (const auto & delta : deltas) + { + if (!delta.path.empty() && deleted_nodes.contains(delta.path)) + applyDelta(delta); + } +} + +std::shared_ptr KeeperStorage::UncommittedState::getNode(StringRef path) const +{ + if (auto node_it = nodes.find(std::string{path}); node_it != nodes.end()) + return node_it->second.node; + + return tryGetNodeFromStorage(path); +} + +Coordination::ACLs KeeperStorage::UncommittedState::getACLs(StringRef path) const +{ + if (auto node_it = nodes.find(std::string{path}); node_it != nodes.end()) + return node_it->second.acls; + + auto node_it = storage.container.find(path); + if (node_it == storage.container.end()) + return {}; + + return storage.acl_map.convertNumber(node_it->value.acl_id); +} + +namespace +{ + +[[noreturn]] void onStorageInconsistency() +{ + LOG_ERROR( + &Poco::Logger::get("KeeperStorage"), + "Inconsistency found between uncommitted and committed data. Keeper will terminate to avoid undefined behaviour."); + std::terminate(); +} + +} + +Coordination::Error KeeperStorage::commit(int64_t commit_zxid) +{ + // Deltas are added with increasing ZXIDs + // If there are no deltas for the commit_zxid (e.g. read requests), we instantly return + // on first delta + for (auto & delta : uncommitted_state.deltas) + { + if (delta.zxid > commit_zxid) + break; + + bool finish_subdelta = false; + auto result = std::visit( + [&, &path = delta.path](DeltaType & operation) -> Coordination::Error + { + if constexpr (std::same_as) + { + if (!createNode( + path, + std::move(operation.data), + operation.stat, + operation.is_sequental, + std::move(operation.acls))) + onStorageInconsistency(); + + return Coordination::Error::ZOK; + } + else if constexpr (std::same_as) + { + auto node_it = container.find(path); + if (node_it == container.end()) + onStorageInconsistency(); + + if (operation.version != -1 && operation.version != node_it->value.stat.version) + onStorageInconsistency(); + + removeDigest(node_it->value, path); + auto updated_node = container.updateValue(path, operation.update_fn); + addDigest(updated_node->value, path); + + return Coordination::Error::ZOK; + } + else if constexpr (std::same_as) + { + if (!removeNode(path, operation.version)) + onStorageInconsistency(); + + return Coordination::Error::ZOK; + } + else if constexpr (std::same_as) + { + auto node_it = container.find(path); + if (node_it == container.end()) + onStorageInconsistency(); + + if (operation.version != -1 && operation.version != node_it->value.stat.aversion) + onStorageInconsistency(); + + acl_map.removeUsage(node_it->value.acl_id); + + uint64_t acl_id = acl_map.convertACLs(operation.acls); + acl_map.addUsage(acl_id); + + container.updateValue(path, [acl_id](KeeperStorage::Node & node) { node.acl_id = acl_id; }); + + return Coordination::Error::ZOK; + } + else if constexpr (std::same_as) + return operation.error; + else if constexpr (std::same_as) + { + finish_subdelta = true; + return Coordination::Error::ZOK; + } + else if constexpr (std::same_as) + { + session_and_auth[operation.session_id].emplace_back(std::move(operation.auth_id)); + return Coordination::Error::ZOK; + } + else + { + // shouldn't be called in any process functions + onStorageInconsistency(); + } + }, + delta.operation); + + if (result != Coordination::Error::ZOK) + return result; + + if (finish_subdelta) + return Coordination::Error::ZOK; + } + + return Coordination::Error::ZOK; +} + +bool KeeperStorage::createNode( + const std::string & path, + String data, + const Coordination::Stat & stat, + bool is_sequental, + Coordination::ACLs node_acls) +{ + auto parent_path = parentPath(path); + auto node_it = container.find(parent_path); + + if (node_it == container.end()) + return false; + + if (node_it->value.stat.ephemeralOwner != 0) + return false; + + if (container.contains(path)) + return false; + + KeeperStorage::Node created_node; + + uint64_t acl_id = acl_map.convertACLs(node_acls); + acl_map.addUsage(acl_id); + + created_node.acl_id = acl_id; + created_node.stat = stat; + created_node.setData(std::move(data)); + created_node.is_sequental = is_sequental; + auto [map_key, _] = container.insert(path, created_node); + /// Take child path from key owned by map. + auto child_path = getBaseName(map_key->getKey()); + container.updateValue( + parent_path, + [child_path](KeeperStorage::Node & parent) + { + parent.addChild(child_path); + chassert(parent.stat.numChildren == static_cast(parent.getChildren().size())); + } + ); + + addDigest(map_key->getMapped()->value, map_key->getKey().toView()); + return true; +}; + +bool KeeperStorage::removeNode(const std::string & path, int32_t version) +{ + auto node_it = container.find(path); + if (node_it == container.end()) + return false; + + if (version != -1 && version != node_it->value.stat.version) + return false; + + if (node_it->value.stat.numChildren) + return false; + + auto prev_node = node_it->value; + acl_map.removeUsage(prev_node.acl_id); + + container.updateValue( + parentPath(path), + [child_basename = getBaseName(node_it->key)](KeeperStorage::Node & parent) + { + parent.removeChild(child_basename); + chassert(parent.stat.numChildren == static_cast(parent.getChildren().size())); + } + ); + + container.erase(path); + + removeDigest(prev_node, path); + return true; +} struct KeeperStorageRequestProcessor { Coordination::ZooKeeperRequestPtr zk_request; - explicit KeeperStorageRequestProcessor(const Coordination::ZooKeeperRequestPtr & zk_request_) - : zk_request(zk_request_) - {} - virtual std::pair process(KeeperStorage & storage, int64_t zxid, int64_t session_id, int64_t time) const = 0; - virtual KeeperStorage::ResponsesForSessions processWatches(KeeperStorage::Watches & /*watches*/, KeeperStorage::Watches & /*list_watches*/) const { return {}; } - virtual bool checkAuth(KeeperStorage & /*storage*/, int64_t /*session_id*/) const { return true; } + explicit KeeperStorageRequestProcessor(const Coordination::ZooKeeperRequestPtr & zk_request_) : zk_request(zk_request_) { } + virtual Coordination::ZooKeeperResponsePtr process(KeeperStorage & storage, int64_t zxid) const = 0; + virtual std::vector + preprocess(KeeperStorage & /*storage*/, int64_t /*zxid*/, int64_t /*session_id*/, int64_t /*time*/, uint64_t & /*digest*/) const + { + return {}; + } + + // process the request using locally committed data + virtual Coordination::ZooKeeperResponsePtr + processLocal(KeeperStorage & /*storage*/, int64_t /*zxid*/) const + { + throw Exception{DB::ErrorCodes::LOGICAL_ERROR, "Cannot process the request locally"}; + } + + virtual KeeperStorage::ResponsesForSessions + processWatches(KeeperStorage::Watches & /*watches*/, KeeperStorage::Watches & /*list_watches*/) const + { + return {}; + } + virtual bool checkAuth(KeeperStorage & /*storage*/, int64_t /*session_id*/, bool /*is_local*/) const { return true; } virtual ~KeeperStorageRequestProcessor() = default; }; @@ -223,331 +633,348 @@ struct KeeperStorageRequestProcessor struct KeeperStorageHeartbeatRequestProcessor final : public KeeperStorageRequestProcessor { using KeeperStorageRequestProcessor::KeeperStorageRequestProcessor; - std::pair process(KeeperStorage & /* storage */, int64_t /* zxid */, int64_t /* session_id */, int64_t /* time */) const override + Coordination::ZooKeeperResponsePtr + process(KeeperStorage & /* storage */, int64_t /* zxid */) const override { - return {zk_request->makeResponse(), {}}; + return zk_request->makeResponse(); } }; struct KeeperStorageSyncRequestProcessor final : public KeeperStorageRequestProcessor { using KeeperStorageRequestProcessor::KeeperStorageRequestProcessor; - std::pair process(KeeperStorage & /* storage */, int64_t /* zxid */, int64_t /* session_id */, int64_t /* time */) const override + Coordination::ZooKeeperResponsePtr + process(KeeperStorage & /* storage */, int64_t /* zxid */) const override { auto response = zk_request->makeResponse(); dynamic_cast(*response).path = dynamic_cast(*zk_request).path; - return {response, {}}; - } -}; - -struct KeeperStorageCreateRequestProcessor final : public KeeperStorageRequestProcessor -{ - using KeeperStorageRequestProcessor::KeeperStorageRequestProcessor; - - KeeperStorage::ResponsesForSessions processWatches(KeeperStorage::Watches & watches, KeeperStorage::Watches & list_watches) const override - { - return processWatchesImpl(zk_request->getPath(), watches, list_watches, Coordination::Event::CREATED); - } - - bool checkAuth(KeeperStorage & storage, int64_t session_id) const override - { - auto & container = storage.container; - auto path = zk_request->getPath(); - auto parent_path = parentPath(path); - - auto it = container.find(parent_path); - if (it == container.end()) - return true; - - const auto & node_acls = storage.acl_map.convertNumber(it->value.acl_id); - if (node_acls.empty()) - return true; - - const auto & session_auths = storage.session_and_auth[session_id]; - return checkACL(Coordination::ACL::Create, node_acls, session_auths); - } - - std::pair process(KeeperStorage & storage, int64_t zxid, int64_t session_id, int64_t time) const override - { - auto & container = storage.container; - auto & ephemerals = storage.ephemerals; - - Coordination::ZooKeeperResponsePtr response_ptr = zk_request->makeResponse(); - Undo undo; - Coordination::ZooKeeperCreateResponse & response = dynamic_cast(*response_ptr); - Coordination::ZooKeeperCreateRequest & request = dynamic_cast(*zk_request); - - auto parent_path = parentPath(request.path); - auto it = container.find(parent_path); - - if (it == container.end()) - { - response.error = Coordination::Error::ZNONODE; - return { response_ptr, undo }; - } - else if (it->value.stat.ephemeralOwner != 0) - { - response.error = Coordination::Error::ZNOCHILDRENFOREPHEMERALS; - return { response_ptr, undo }; - } - std::string path_created = request.path; - if (request.is_sequential) - { - auto seq_num = it->value.seq_num; - - std::stringstream seq_num_str; // STYLE_CHECK_ALLOW_STD_STRING_STREAM - seq_num_str.exceptions(std::ios::failbit); - seq_num_str << std::setw(10) << std::setfill('0') << seq_num; - - path_created += seq_num_str.str(); - } - if (container.contains(path_created)) - { - response.error = Coordination::Error::ZNODEEXISTS; - return { response_ptr, undo }; - } - if (getBaseName(path_created).size == 0) - { - response.error = Coordination::Error::ZBADARGUMENTS; - return { response_ptr, undo }; - } - - auto & session_auth_ids = storage.session_and_auth[session_id]; - - KeeperStorage::Node created_node; - - Coordination::ACLs node_acls; - if (!fixupACL(request.acls, session_auth_ids, node_acls)) - { - response.error = Coordination::Error::ZINVALIDACL; - return {response_ptr, {}}; - } - - uint64_t acl_id = storage.acl_map.convertACLs(node_acls); - storage.acl_map.addUsage(acl_id); - - created_node.acl_id = acl_id; - created_node.stat.czxid = zxid; - created_node.stat.mzxid = zxid; - created_node.stat.pzxid = zxid; - created_node.stat.ctime = time; - created_node.stat.mtime = time; - created_node.stat.numChildren = 0; - created_node.stat.dataLength = request.data.length(); - created_node.stat.ephemeralOwner = request.is_ephemeral ? session_id : 0; - created_node.is_sequental = request.is_sequential; - created_node.setData(std::move(request.data)); - - auto [map_key, _] = container.insert(path_created, created_node); - /// Take child path from key owned by map. - auto child_path = getBaseName(map_key->getKey()); - - int32_t parent_cversion = request.parent_cversion; - int64_t prev_parent_zxid; - int32_t prev_parent_cversion; - container.updateValue(parent_path, [child_path, zxid, &prev_parent_zxid, - parent_cversion, &prev_parent_cversion] (KeeperStorage::Node & parent) - { - parent.addChild(child_path); - prev_parent_cversion = parent.stat.cversion; - prev_parent_zxid = parent.stat.pzxid; - - /// Increment sequential number even if node is not sequential - ++parent.seq_num; - - if (parent_cversion == -1) - ++parent.stat.cversion; - else if (parent_cversion > parent.stat.cversion) - parent.stat.cversion = parent_cversion; - - if (zxid > parent.stat.pzxid) - parent.stat.pzxid = zxid; - ++parent.stat.numChildren; - }); - - response.path_created = path_created; - - if (request.is_ephemeral) - ephemerals[session_id].emplace(path_created); - - undo = [&storage, prev_parent_zxid, prev_parent_cversion, session_id, path_created, is_ephemeral = request.is_ephemeral, parent_path, child_path, acl_id] - { - storage.acl_map.removeUsage(acl_id); - - if (is_ephemeral) - storage.ephemerals[session_id].erase(path_created); - - storage.container.updateValue(parent_path, [child_path, prev_parent_zxid, prev_parent_cversion] (KeeperStorage::Node & undo_parent) - { - --undo_parent.stat.numChildren; - --undo_parent.seq_num; - undo_parent.stat.cversion = prev_parent_cversion; - undo_parent.stat.pzxid = prev_parent_zxid; - undo_parent.removeChild(child_path); - }); - - storage.container.erase(path_created); - }; - - response.error = Coordination::Error::ZOK; - return { response_ptr, undo }; - } -}; - -struct KeeperStorageGetRequestProcessor final : public KeeperStorageRequestProcessor -{ - - bool checkAuth(KeeperStorage & storage, int64_t session_id) const override - { - auto & container = storage.container; - auto it = container.find(zk_request->getPath()); - if (it == container.end()) - return true; - - const auto & node_acls = storage.acl_map.convertNumber(it->value.acl_id); - if (node_acls.empty()) - return true; - - const auto & session_auths = storage.session_and_auth[session_id]; - return checkACL(Coordination::ACL::Read, node_acls, session_auths); - } - - using KeeperStorageRequestProcessor::KeeperStorageRequestProcessor; - std::pair process(KeeperStorage & storage, int64_t /* zxid */, int64_t /* session_id */, int64_t /* time */) const override - { - auto & container = storage.container; - Coordination::ZooKeeperResponsePtr response_ptr = zk_request->makeResponse(); - Coordination::ZooKeeperGetResponse & response = dynamic_cast(*response_ptr); - Coordination::ZooKeeperGetRequest & request = dynamic_cast(*zk_request); - - auto it = container.find(request.path); - if (it == container.end()) - { - response.error = Coordination::Error::ZNONODE; - } - else - { - response.stat = it->value.stat; - response.data = it->value.getData(); - response.error = Coordination::Error::ZOK; - } - - return { response_ptr, {} }; + return response; } }; namespace { - /// Garbage required to apply log to "fuzzy" zookeeper snapshot - void updateParentPzxid(const std::string & child_path, int64_t zxid, KeeperStorage::Container & container) + + Coordination::ACLs getNodeACLs(KeeperStorage & storage, StringRef path, bool is_local) { - auto parent_path = parentPath(child_path); - auto parent_it = container.find(parent_path); - if (parent_it != container.end()) + if (is_local) { - container.updateValue(parent_path, [zxid](KeeperStorage::Node & parent) - { - if (parent.stat.pzxid < zxid) - parent.stat.pzxid = zxid; - }); + auto node_it = storage.container.find(path); + if (node_it == storage.container.end()) + return {}; + + return storage.acl_map.convertNumber(node_it->value.acl_id); + } + + return storage.uncommitted_state.getACLs(path); + } + +} +bool KeeperStorage::checkACL(StringRef path, int32_t permission, int64_t session_id, bool is_local) +{ + const auto node_acls = getNodeACLs(*this, path, is_local); + if (node_acls.empty()) + return true; + + if (uncommitted_state.hasACL(session_id, is_local, [](const auto & auth_id) { return auth_id.scheme == "super"; })) + return true; + + for (const auto & node_acl : node_acls) + { + if (node_acl.permissions & permission) + { + if (node_acl.scheme == "world" && node_acl.id == "anyone") + return true; + + if (uncommitted_state.hasACL( + session_id, + is_local, + [&](const auto & auth_id) { return auth_id.scheme == node_acl.scheme && auth_id.id == node_acl.id; })) + return true; } } + + return false; } -struct KeeperStorageRemoveRequestProcessor final : public KeeperStorageRequestProcessor +void KeeperStorage::unregisterEphemeralPath(int64_t session_id, const std::string & path) { - bool checkAuth(KeeperStorage & storage, int64_t session_id) const override + auto ephemerals_it = ephemerals.find(session_id); + assert(ephemerals_it != ephemerals.end()); + ephemerals_it->second.erase(path); + if (ephemerals_it->second.empty()) + ephemerals.erase(ephemerals_it); +} + +struct KeeperStorageCreateRequestProcessor final : public KeeperStorageRequestProcessor +{ + using KeeperStorageRequestProcessor::KeeperStorageRequestProcessor; + + KeeperStorage::ResponsesForSessions + processWatches(KeeperStorage::Watches & watches, KeeperStorage::Watches & list_watches) const override { - auto & container = storage.container; - auto it = container.find(parentPath(zk_request->getPath())); - if (it == container.end()) - return true; + return processWatchesImpl(zk_request->getPath(), watches, list_watches, Coordination::Event::CREATED); + } - const auto & node_acls = storage.acl_map.convertNumber(it->value.acl_id); - if (node_acls.empty()) - return true; + bool checkAuth(KeeperStorage & storage, int64_t session_id, bool is_local) const override + { + auto path = zk_request->getPath(); + return storage.checkACL(parentPath(path), Coordination::ACL::Create, session_id, is_local); + } - const auto & session_auths = storage.session_and_auth[session_id]; - return checkACL(Coordination::ACL::Delete, node_acls, session_auths); + std::vector + preprocess(KeeperStorage & storage, int64_t zxid, int64_t session_id, int64_t time, uint64_t & digest) const override + { + Coordination::ZooKeeperCreateRequest & request = dynamic_cast(*zk_request); + + std::vector new_deltas; + + auto parent_path = parentPath(request.path); + auto parent_node = storage.uncommitted_state.getNode(parent_path); + if (parent_node == nullptr) + return {KeeperStorage::Delta{zxid, Coordination::Error::ZNONODE}}; + + else if (parent_node->stat.ephemeralOwner != 0) + return {KeeperStorage::Delta{zxid, Coordination::Error::ZNOCHILDRENFOREPHEMERALS}}; + + std::string path_created = request.path; + if (request.is_sequential) + { + auto seq_num = parent_node->seq_num; + + std::stringstream seq_num_str; // STYLE_CHECK_ALLOW_STD_STRING_STREAM + seq_num_str.exceptions(std::ios::failbit); + seq_num_str << std::setw(10) << std::setfill('0') << seq_num; + + path_created += seq_num_str.str(); + } + + if (storage.uncommitted_state.getNode(path_created)) + return {KeeperStorage::Delta{zxid, Coordination::Error::ZNODEEXISTS}}; + + if (getBaseName(path_created).size == 0) + return {KeeperStorage::Delta{zxid, Coordination::Error::ZBADARGUMENTS}}; + + Coordination::ACLs node_acls; + if (!fixupACL(request.acls, storage.session_and_auth[session_id], node_acls)) + return {KeeperStorage::Delta{zxid, Coordination::Error::ZINVALIDACL}}; + + if (request.is_ephemeral) + storage.ephemerals[session_id].emplace(path_created); + + int32_t parent_cversion = request.parent_cversion; + + auto parent_update = [parent_cversion, zxid](KeeperStorage::Node & node) + { + /// Increment sequential number even if node is not sequential + ++node.seq_num; + if (parent_cversion == -1) + ++node.stat.cversion; + else if (parent_cversion > node.stat.cversion) + node.stat.cversion = parent_cversion; + + if (zxid > node.stat.pzxid) + node.stat.pzxid = zxid; + ++node.stat.numChildren; + }; + + new_deltas.emplace_back(std::string{parent_path}, zxid, KeeperStorage::UpdateNodeDelta{std::move(parent_update)}); + + Coordination::Stat stat; + stat.czxid = zxid; + stat.mzxid = zxid; + stat.pzxid = zxid; + stat.ctime = time; + stat.mtime = time; + stat.numChildren = 0; + stat.version = 0; + stat.aversion = 0; + stat.cversion = 0; + stat.dataLength = request.data.length(); + stat.ephemeralOwner = request.is_ephemeral ? session_id : 0; + + new_deltas.emplace_back( + std::move(path_created), + zxid, + KeeperStorage::CreateNodeDelta{stat, request.is_sequential, std::move(node_acls), request.data}); + + digest = storage.calculateNodesDigest(digest, new_deltas); + return new_deltas; + } + + Coordination::ZooKeeperResponsePtr process(KeeperStorage & storage, int64_t zxid) const override + { + Coordination::ZooKeeperResponsePtr response_ptr = zk_request->makeResponse(); + Coordination::ZooKeeperCreateResponse & response = dynamic_cast(*response_ptr); + + if (const auto result = storage.commit(zxid); result != Coordination::Error::ZOK) + { + response.error = result; + return response_ptr; + } + + const auto & deltas = storage.uncommitted_state.deltas; + auto create_delta_it = std::find_if( + deltas.begin(), + deltas.end(), + [zxid](const auto & delta) + { return delta.zxid == zxid && std::holds_alternative(delta.operation); }); + + response.path_created = create_delta_it->path; + response.error = Coordination::Error::ZOK; + return response_ptr; + } +}; + +struct KeeperStorageGetRequestProcessor final : public KeeperStorageRequestProcessor +{ + bool checkAuth(KeeperStorage & storage, int64_t session_id, bool is_local) const override + { + return storage.checkACL(zk_request->getPath(), Coordination::ACL::Read, session_id, is_local); } using KeeperStorageRequestProcessor::KeeperStorageRequestProcessor; - std::pair process(KeeperStorage & storage, int64_t zxid, int64_t /*session_id*/, int64_t /* time */) const override + + std::vector + preprocess(KeeperStorage & storage, int64_t zxid, int64_t /*session_id*/, int64_t /*time*/, uint64_t & /*digest*/) const override { - auto & container = storage.container; - auto & ephemerals = storage.ephemerals; + Coordination::ZooKeeperGetRequest & request = dynamic_cast(*zk_request); + if (!storage.uncommitted_state.getNode(request.path)) + return {KeeperStorage::Delta{zxid, Coordination::Error::ZNONODE}}; + + return {}; + } + + template + Coordination::ZooKeeperResponsePtr processImpl(KeeperStorage & storage, int64_t zxid) const + { Coordination::ZooKeeperResponsePtr response_ptr = zk_request->makeResponse(); - Coordination::ZooKeeperRemoveResponse & response = dynamic_cast(*response_ptr); - Coordination::ZooKeeperRemoveRequest & request = dynamic_cast(*zk_request); - Undo undo; + Coordination::ZooKeeperGetResponse & response = dynamic_cast(*response_ptr); + Coordination::ZooKeeperGetRequest & request = dynamic_cast(*zk_request); - auto it = container.find(request.path); - if (it == container.end()) + if constexpr (!local) { - if (request.restored_from_zookeeper_log) - updateParentPzxid(request.path, zxid, container); - response.error = Coordination::Error::ZNONODE; + if (const auto result = storage.commit(zxid); result != Coordination::Error::ZOK) + { + response.error = result; + return response_ptr; + } } - else if (request.version != -1 && request.version != it->value.stat.version) + + auto & container = storage.container; + auto node_it = container.find(request.path); + if (node_it == container.end()) { - response.error = Coordination::Error::ZBADVERSION; - } - else if (it->value.stat.numChildren) - { - response.error = Coordination::Error::ZNOTEMPTY; + if constexpr (local) + response.error = Coordination::Error::ZNONODE; + else + onStorageInconsistency(); } else { - if (request.restored_from_zookeeper_log) - updateParentPzxid(request.path, zxid, container); - - auto prev_node = it->value; - if (prev_node.stat.ephemeralOwner != 0) - { - auto ephemerals_it = ephemerals.find(prev_node.stat.ephemeralOwner); - ephemerals_it->second.erase(request.path); - if (ephemerals_it->second.empty()) - ephemerals.erase(ephemerals_it); - } - - storage.acl_map.removeUsage(prev_node.acl_id); - - container.updateValue(parentPath(request.path), [child_basename = getBaseName(it->key)] (KeeperStorage::Node & parent) - { - --parent.stat.numChildren; - ++parent.stat.cversion; - parent.removeChild(child_basename); - }); - + response.stat = node_it->value.stat; + response.data = node_it->value.getData(); response.error = Coordination::Error::ZOK; - /// Erase full path from container after child removed from parent - container.erase(request.path); - - undo = [prev_node, &storage, path = request.path] - { - if (prev_node.stat.ephemeralOwner != 0) - storage.ephemerals[prev_node.stat.ephemeralOwner].emplace(path); - - storage.acl_map.addUsage(prev_node.acl_id); - - /// Dangerous place: we are adding StringRef to child into children unordered_hash set. - /// That's why we are taking getBaseName from inserted key, not from the path from request object. - auto [map_key, _] = storage.container.insert(path, prev_node); - storage.container.updateValue(parentPath(path), [child_name = getBaseName(map_key->getKey())] (KeeperStorage::Node & parent) - { - ++parent.stat.numChildren; - --parent.stat.cversion; - parent.addChild(child_name); - }); - }; } - return { response_ptr, undo }; + return response_ptr; } - KeeperStorage::ResponsesForSessions processWatches(KeeperStorage::Watches & watches, KeeperStorage::Watches & list_watches) const override + + Coordination::ZooKeeperResponsePtr process(KeeperStorage & storage, int64_t zxid) const override + { + return processImpl(storage, zxid); + } + + Coordination::ZooKeeperResponsePtr processLocal(KeeperStorage & storage, int64_t zxid) const override + { + return processImpl(storage, zxid); + } +}; + +struct KeeperStorageRemoveRequestProcessor final : public KeeperStorageRequestProcessor +{ + bool checkAuth(KeeperStorage & storage, int64_t session_id, bool is_local) const override + { + return storage.checkACL(parentPath(zk_request->getPath()), Coordination::ACL::Delete, session_id, is_local); + } + + using KeeperStorageRequestProcessor::KeeperStorageRequestProcessor; + std::vector + preprocess(KeeperStorage & storage, int64_t zxid, int64_t /*session_id*/, int64_t /*time*/, uint64_t & digest) const override + { + Coordination::ZooKeeperRemoveRequest & request = dynamic_cast(*zk_request); + + std::vector new_deltas; + + const auto update_parent_pzxid = [&]() + { + auto parent_path = parentPath(request.path); + if (!storage.uncommitted_state.getNode(parent_path)) + return; + + new_deltas.emplace_back( + std::string{parent_path}, + zxid, + KeeperStorage::UpdateNodeDelta + { + [zxid](KeeperStorage::Node & parent) + { + if (parent.stat.pzxid < zxid) + parent.stat.pzxid = zxid; + } + } + ); + }; + + auto node = storage.uncommitted_state.getNode(request.path); + + if (!node) + { + if (request.restored_from_zookeeper_log) + update_parent_pzxid(); + return {KeeperStorage::Delta{zxid, Coordination::Error::ZNONODE}}; + } + else if (request.version != -1 && request.version != node->stat.version) + return {KeeperStorage::Delta{zxid, Coordination::Error::ZBADVERSION}}; + else if (node->stat.numChildren != 0) + return {KeeperStorage::Delta{zxid, Coordination::Error::ZNOTEMPTY}}; + + if (request.restored_from_zookeeper_log) + update_parent_pzxid(); + + new_deltas.emplace_back( + std::string{parentPath(request.path)}, + zxid, + KeeperStorage::UpdateNodeDelta{[](KeeperStorage::Node & parent) + { + ++parent.stat.cversion; + --parent.stat.numChildren; + }}); + + new_deltas.emplace_back(request.path, zxid, KeeperStorage::RemoveNodeDelta{request.version, node->stat.ephemeralOwner}); + + if (node->stat.ephemeralOwner != 0) + storage.unregisterEphemeralPath(node->stat.ephemeralOwner, request.path); + + digest = storage.calculateNodesDigest(digest, new_deltas); + + return new_deltas; + } + + Coordination::ZooKeeperResponsePtr process(KeeperStorage & storage, int64_t zxid) const override + { + Coordination::ZooKeeperResponsePtr response_ptr = zk_request->makeResponse(); + Coordination::ZooKeeperRemoveResponse & response = dynamic_cast(*response_ptr); + + response.error = storage.commit(zxid); + return response_ptr; + } + + KeeperStorage::ResponsesForSessions + processWatches(KeeperStorage::Watches & watches, KeeperStorage::Watches & list_watches) const override { return processWatchesImpl(zk_request->getPath(), watches, list_watches, Coordination::Event::DELETED); } @@ -556,101 +983,142 @@ struct KeeperStorageRemoveRequestProcessor final : public KeeperStorageRequestPr struct KeeperStorageExistsRequestProcessor final : public KeeperStorageRequestProcessor { using KeeperStorageRequestProcessor::KeeperStorageRequestProcessor; - std::pair process(KeeperStorage & storage, int64_t /*zxid*/, int64_t /* session_id */, int64_t /* time */) const override - { - auto & container = storage.container; + std::vector + preprocess(KeeperStorage & storage, int64_t zxid, int64_t /*session_id*/, int64_t /*time*/, uint64_t & /*digest*/) const override + { + Coordination::ZooKeeperExistsRequest & request = dynamic_cast(*zk_request); + + if (!storage.uncommitted_state.getNode(request.path)) + return {KeeperStorage::Delta{zxid, Coordination::Error::ZNONODE}}; + + return {}; + } + + template + Coordination::ZooKeeperResponsePtr processImpl(KeeperStorage & storage, int64_t zxid) const + { Coordination::ZooKeeperResponsePtr response_ptr = zk_request->makeResponse(); Coordination::ZooKeeperExistsResponse & response = dynamic_cast(*response_ptr); Coordination::ZooKeeperExistsRequest & request = dynamic_cast(*zk_request); - auto it = container.find(request.path); - if (it != container.end()) + if constexpr (!local) { - response.stat = it->value.stat; - response.error = Coordination::Error::ZOK; + if (const auto result = storage.commit(zxid); result != Coordination::Error::ZOK) + { + response.error = result; + return response_ptr; + } + } + + auto & container = storage.container; + auto node_it = container.find(request.path); + if (node_it == container.end()) + { + if constexpr (local) + response.error = Coordination::Error::ZNONODE; + else + onStorageInconsistency(); } else { - response.error = Coordination::Error::ZNONODE; + response.stat = node_it->value.stat; + response.error = Coordination::Error::ZOK; } - return { response_ptr, {} }; + return response_ptr; + } + + Coordination::ZooKeeperResponsePtr process(KeeperStorage & storage, int64_t zxid) const override + { + return processImpl(storage, zxid); + } + + Coordination::ZooKeeperResponsePtr processLocal(KeeperStorage & storage, int64_t zxid) const override + { + return processImpl(storage, zxid); } }; struct KeeperStorageSetRequestProcessor final : public KeeperStorageRequestProcessor { - bool checkAuth(KeeperStorage & storage, int64_t session_id) const override + bool checkAuth(KeeperStorage & storage, int64_t session_id, bool is_local) const override { - auto & container = storage.container; - auto it = container.find(zk_request->getPath()); - if (it == container.end()) - return true; - - const auto & node_acls = storage.acl_map.convertNumber(it->value.acl_id); - if (node_acls.empty()) - return true; - - const auto & session_auths = storage.session_and_auth[session_id]; - return checkACL(Coordination::ACL::Write, node_acls, session_auths); + return storage.checkACL(zk_request->getPath(), Coordination::ACL::Write, session_id, is_local); } using KeeperStorageRequestProcessor::KeeperStorageRequestProcessor; - std::pair process(KeeperStorage & storage, int64_t zxid, int64_t /* session_id */, int64_t time) const override + std::vector + preprocess(KeeperStorage & storage, int64_t zxid, int64_t /*session_id*/, int64_t time, uint64_t & digest) const override + { + Coordination::ZooKeeperSetRequest & request = dynamic_cast(*zk_request); + + std::vector new_deltas; + + if (!storage.uncommitted_state.getNode(request.path)) + return {KeeperStorage::Delta{zxid, Coordination::Error::ZNONODE}}; + + auto node = storage.uncommitted_state.getNode(request.path); + + if (request.version != -1 && request.version != node->stat.version) + return {KeeperStorage::Delta{zxid, Coordination::Error::ZBADVERSION}}; + + new_deltas.emplace_back( + request.path, + zxid, + KeeperStorage::UpdateNodeDelta{ + [zxid, data = request.data, time](KeeperStorage::Node & value) + { + value.stat.version++; + value.stat.mzxid = zxid; + value.stat.mtime = time; + value.stat.dataLength = data.length(); + value.setData(data); + }, + request.version}); + + new_deltas.emplace_back( + parentPath(request.path).toString(), + zxid, + KeeperStorage::UpdateNodeDelta + { + [](KeeperStorage::Node & parent) + { + parent.stat.cversion++; + } + } + ); + + digest = storage.calculateNodesDigest(digest, new_deltas); + return new_deltas; + } + + Coordination::ZooKeeperResponsePtr process(KeeperStorage & storage, int64_t zxid) const override { auto & container = storage.container; Coordination::ZooKeeperResponsePtr response_ptr = zk_request->makeResponse(); Coordination::ZooKeeperSetResponse & response = dynamic_cast(*response_ptr); Coordination::ZooKeeperSetRequest & request = dynamic_cast(*zk_request); - Undo undo; - auto it = container.find(request.path); - if (it == container.end()) + if (const auto result = storage.commit(zxid); result != Coordination::Error::ZOK) { - response.error = Coordination::Error::ZNONODE; - } - else if (request.version == -1 || request.version == it->value.stat.version) - { - - auto prev_node = it->value; - - auto itr = container.updateValue(request.path, [zxid, request, time] (KeeperStorage::Node & value) mutable - { - value.stat.version++; - value.stat.mzxid = zxid; - value.stat.mtime = time; - value.stat.dataLength = request.data.length(); - value.setData(std::move(request.data)); - }); - - container.updateValue(parentPath(request.path), [] (KeeperStorage::Node & parent) - { - parent.stat.cversion++; - }); - - response.stat = itr->value.stat; - response.error = Coordination::Error::ZOK; - - undo = [prev_node, &container, path = request.path] - { - container.updateValue(path, [&prev_node] (KeeperStorage::Node & value) { value = prev_node; }); - container.updateValue(parentPath(path), [] (KeeperStorage::Node & parent) - { - parent.stat.cversion--; - }); - }; - } - else - { - response.error = Coordination::Error::ZBADVERSION; + response.error = result; + return response_ptr; } - return { response_ptr, undo }; + auto node_it = container.find(request.path); + if (node_it == container.end()) + onStorageInconsistency(); + + response.stat = node_it->value.stat; + response.error = Coordination::Error::ZOK; + + return response_ptr; } - KeeperStorage::ResponsesForSessions processWatches(KeeperStorage::Watches & watches, KeeperStorage::Watches & list_watches) const override + KeeperStorage::ResponsesForSessions + processWatches(KeeperStorage::Watches & watches, KeeperStorage::Watches & list_watches) const override { return processWatchesImpl(zk_request->getPath(), watches, list_watches, Coordination::Event::CHANGED); } @@ -658,33 +1126,48 @@ struct KeeperStorageSetRequestProcessor final : public KeeperStorageRequestProce struct KeeperStorageListRequestProcessor final : public KeeperStorageRequestProcessor { - bool checkAuth(KeeperStorage & storage, int64_t session_id) const override + bool checkAuth(KeeperStorage & storage, int64_t session_id, bool is_local) const override { - auto & container = storage.container; - auto it = container.find(zk_request->getPath()); - if (it == container.end()) - return true; - - const auto & node_acls = storage.acl_map.convertNumber(it->value.acl_id); - if (node_acls.empty()) - return true; - - const auto & session_auths = storage.session_and_auth[session_id]; - return checkACL(Coordination::ACL::Read, node_acls, session_auths); + return storage.checkACL(zk_request->getPath(), Coordination::ACL::Read, session_id, is_local); } using KeeperStorageRequestProcessor::KeeperStorageRequestProcessor; - std::pair process(KeeperStorage & storage, int64_t /*zxid*/, int64_t /*session_id*/, int64_t /* time */) const override + std::vector + preprocess(KeeperStorage & storage, int64_t zxid, int64_t /*session_id*/, int64_t /*time*/, uint64_t & /*digest*/) const override + { + Coordination::ZooKeeperListRequest & request = dynamic_cast(*zk_request); + + if (!storage.uncommitted_state.getNode(request.path)) + return {KeeperStorage::Delta{zxid, Coordination::Error::ZNONODE}}; + + return {}; + } + + + template + Coordination::ZooKeeperResponsePtr processImpl(KeeperStorage & storage, int64_t zxid) const { - auto & container = storage.container; Coordination::ZooKeeperResponsePtr response_ptr = zk_request->makeResponse(); Coordination::ZooKeeperListResponse & response = dynamic_cast(*response_ptr); Coordination::ZooKeeperListRequest & request = dynamic_cast(*zk_request); - auto it = container.find(request.path); - if (it == container.end()) + if constexpr (!local) { - response.error = Coordination::Error::ZNONODE; + if (const auto result = storage.commit(zxid); result != Coordination::Error::ZOK) + { + response.error = result; + return response_ptr; + } + } + + auto & container = storage.container; + auto node_it = container.find(request.path); + if (node_it == container.end()) + { + if constexpr (local) + response.error = Coordination::Error::ZNONODE; + else + onStorageInconsistency(); } else { @@ -692,174 +1175,252 @@ struct KeeperStorageListRequestProcessor final : public KeeperStorageRequestProc if (path_prefix.empty()) throw DB::Exception("Logical error: path cannot be empty", ErrorCodes::LOGICAL_ERROR); - const auto & children = it->value.getChildren(); + const auto & children = node_it->value.getChildren(); response.names.reserve(children.size()); for (const auto child : children) response.names.push_back(child.toString()); - response.stat = it->value.stat; + response.stat = node_it->value.stat; response.error = Coordination::Error::ZOK; } - return { response_ptr, {} }; + return response_ptr; + } + + Coordination::ZooKeeperResponsePtr process(KeeperStorage & storage, int64_t zxid) const override + { + return processImpl(storage, zxid); + } + + Coordination::ZooKeeperResponsePtr processLocal(KeeperStorage & storage, int64_t zxid) const override + { + return processImpl(storage, zxid); } }; struct KeeperStorageCheckRequestProcessor final : public KeeperStorageRequestProcessor { - bool checkAuth(KeeperStorage & storage, int64_t session_id) const override + bool checkAuth(KeeperStorage & storage, int64_t session_id, bool is_local) const override { - auto & container = storage.container; - auto it = container.find(zk_request->getPath()); - if (it == container.end()) - return true; - - const auto & node_acls = storage.acl_map.convertNumber(it->value.acl_id); - if (node_acls.empty()) - return true; - - const auto & session_auths = storage.session_and_auth[session_id]; - return checkACL(Coordination::ACL::Read, node_acls, session_auths); + return storage.checkACL(zk_request->getPath(), Coordination::ACL::Read, session_id, is_local); } using KeeperStorageRequestProcessor::KeeperStorageRequestProcessor; - std::pair process(KeeperStorage & storage, int64_t /*zxid*/, int64_t /*session_id*/, int64_t /* time */) const override + std::vector + preprocess(KeeperStorage & storage, int64_t zxid, int64_t /*session_id*/, int64_t /*time*/, uint64_t & /*digest*/) const override { - auto & container = storage.container; + Coordination::ZooKeeperCheckRequest & request = dynamic_cast(*zk_request); + if (!storage.uncommitted_state.getNode(request.path)) + return {KeeperStorage::Delta{zxid, Coordination::Error::ZNONODE}}; + + auto node = storage.uncommitted_state.getNode(request.path); + if (request.version != -1 && request.version != node->stat.version) + return {KeeperStorage::Delta{zxid, Coordination::Error::ZBADVERSION}}; + + return {}; + } + + template + Coordination::ZooKeeperResponsePtr processImpl(KeeperStorage & storage, int64_t zxid) const + { Coordination::ZooKeeperResponsePtr response_ptr = zk_request->makeResponse(); Coordination::ZooKeeperCheckResponse & response = dynamic_cast(*response_ptr); Coordination::ZooKeeperCheckRequest & request = dynamic_cast(*zk_request); - auto it = container.find(request.path); - if (it == container.end()) + + if constexpr (!local) { - response.error = Coordination::Error::ZNONODE; + if (const auto result = storage.commit(zxid); result != Coordination::Error::ZOK) + { + response.error = result; + return response_ptr; + } } - else if (request.version != -1 && request.version != it->value.stat.version) + + const auto on_error = [&]([[maybe_unused]] const auto error_code) { - response.error = Coordination::Error::ZBADVERSION; + if constexpr (local) + response.error = error_code; + else + onStorageInconsistency(); + }; + + auto & container = storage.container; + auto node_it = container.find(request.path); + if (node_it == container.end()) + { + on_error(Coordination::Error::ZNONODE); + } + else if (request.version != -1 && request.version != node_it->value.stat.version) + { + on_error(Coordination::Error::ZBADVERSION); } else { response.error = Coordination::Error::ZOK; } - return { response_ptr, {} }; + return response_ptr; + } + + Coordination::ZooKeeperResponsePtr process(KeeperStorage & storage, int64_t zxid) const override + { + return processImpl(storage, zxid); + } + + Coordination::ZooKeeperResponsePtr processLocal(KeeperStorage & storage, int64_t zxid) const override + { + return processImpl(storage, zxid); } }; struct KeeperStorageSetACLRequestProcessor final : public KeeperStorageRequestProcessor { - bool checkAuth(KeeperStorage & storage, int64_t session_id) const override + bool checkAuth(KeeperStorage & storage, int64_t session_id, bool is_local) const override { - auto & container = storage.container; - auto it = container.find(zk_request->getPath()); - if (it == container.end()) - return true; - - const auto & node_acls = storage.acl_map.convertNumber(it->value.acl_id); - if (node_acls.empty()) - return true; - - const auto & session_auths = storage.session_and_auth[session_id]; - return checkACL(Coordination::ACL::Admin, node_acls, session_auths); + return storage.checkACL(zk_request->getPath(), Coordination::ACL::Admin, session_id, is_local); } using KeeperStorageRequestProcessor::KeeperStorageRequestProcessor; - std::pair process(KeeperStorage & storage, int64_t /*zxid*/, int64_t session_id, int64_t /* time */) const override + std::vector + preprocess(KeeperStorage & storage, int64_t zxid, int64_t session_id, int64_t /*time*/, uint64_t & digest) const override { - auto & container = storage.container; + Coordination::ZooKeeperSetACLRequest & request = dynamic_cast(*zk_request); + auto & uncommitted_state = storage.uncommitted_state; + if (!uncommitted_state.getNode(request.path)) + return {KeeperStorage::Delta{zxid, Coordination::Error::ZNONODE}}; + + auto node = uncommitted_state.getNode(request.path); + + if (request.version != -1 && request.version != node->stat.aversion) + return {KeeperStorage::Delta{zxid, Coordination::Error::ZBADVERSION}}; + + + auto & session_auth_ids = storage.session_and_auth[session_id]; + Coordination::ACLs node_acls; + + if (!fixupACL(request.acls, session_auth_ids, node_acls)) + return {KeeperStorage::Delta{zxid, Coordination::Error::ZINVALIDACL}}; + + std::vector new_deltas + { + { + request.path, + zxid, + KeeperStorage::SetACLDelta{std::move(node_acls), request.version} + }, + { + request.path, + zxid, + KeeperStorage::UpdateNodeDelta + { + [](KeeperStorage::Node & n) { ++n.stat.aversion; } + } + } + }; + + digest = storage.calculateNodesDigest(digest, new_deltas); + + return new_deltas; + } + + Coordination::ZooKeeperResponsePtr process(KeeperStorage & storage, int64_t zxid) const override + { Coordination::ZooKeeperResponsePtr response_ptr = zk_request->makeResponse(); Coordination::ZooKeeperSetACLResponse & response = dynamic_cast(*response_ptr); Coordination::ZooKeeperSetACLRequest & request = dynamic_cast(*zk_request); - auto it = container.find(request.path); - if (it == container.end()) + + if (const auto result = storage.commit(zxid); result != Coordination::Error::ZOK) { - response.error = Coordination::Error::ZNONODE; - } - else if (request.version != -1 && request.version != it->value.stat.aversion) - { - response.error = Coordination::Error::ZBADVERSION; - } - else - { - auto & session_auth_ids = storage.session_and_auth[session_id]; - Coordination::ACLs node_acls; - - if (!fixupACL(request.acls, session_auth_ids, node_acls)) - { - response.error = Coordination::Error::ZINVALIDACL; - return {response_ptr, {}}; - } - - uint64_t acl_id = storage.acl_map.convertACLs(node_acls); - storage.acl_map.addUsage(acl_id); - - storage.container.updateValue(request.path, [acl_id] (KeeperStorage::Node & node) - { - node.acl_id = acl_id; - ++node.stat.aversion; - }); - - response.stat = it->value.stat; - response.error = Coordination::Error::ZOK; + response.error = result; + return response_ptr; } - /// It cannot be used insied multitransaction? - return { response_ptr, {} }; + auto node_it = storage.container.find(request.path); + if (node_it == storage.container.end()) + onStorageInconsistency(); + response.stat = node_it->value.stat; + response.error = Coordination::Error::ZOK; + + return response_ptr; } }; struct KeeperStorageGetACLRequestProcessor final : public KeeperStorageRequestProcessor { - bool checkAuth(KeeperStorage & storage, int64_t session_id) const override + bool checkAuth(KeeperStorage & storage, int64_t session_id, bool is_local) const override { - auto & container = storage.container; - auto it = container.find(zk_request->getPath()); - if (it == container.end()) - return true; - - const auto & node_acls = storage.acl_map.convertNumber(it->value.acl_id); - if (node_acls.empty()) - return true; - - const auto & session_auths = storage.session_and_auth[session_id]; - /// LOL, GetACL require more permissions, then SetACL... - return checkACL(Coordination::ACL::Admin | Coordination::ACL::Read, node_acls, session_auths); + return storage.checkACL(zk_request->getPath(), Coordination::ACL::Admin | Coordination::ACL::Read, session_id, is_local); } + using KeeperStorageRequestProcessor::KeeperStorageRequestProcessor; - std::pair process(KeeperStorage & storage, int64_t /*zxid*/, int64_t /*session_id*/, int64_t /* time */) const override + std::vector + preprocess(KeeperStorage & storage, int64_t zxid, int64_t /*session_id*/, int64_t /*time*/, uint64_t & /*digest*/) const override + { + Coordination::ZooKeeperGetACLRequest & request = dynamic_cast(*zk_request); + + if (!storage.uncommitted_state.getNode(request.path)) + return {KeeperStorage::Delta{zxid, Coordination::Error::ZNONODE}}; + + return {}; + } + + template + Coordination::ZooKeeperResponsePtr processImpl(KeeperStorage & storage, int64_t zxid) const { Coordination::ZooKeeperResponsePtr response_ptr = zk_request->makeResponse(); Coordination::ZooKeeperGetACLResponse & response = dynamic_cast(*response_ptr); Coordination::ZooKeeperGetACLRequest & request = dynamic_cast(*zk_request); - auto & container = storage.container; - auto it = container.find(request.path); - if (it == container.end()) + + if constexpr (!local) { - response.error = Coordination::Error::ZNONODE; + if (const auto result = storage.commit(zxid); result != Coordination::Error::ZOK) + { + response.error = result; + return response_ptr; + } + } + + auto & container = storage.container; + auto node_it = container.find(request.path); + if (node_it == container.end()) + { + if constexpr (local) + response.error = Coordination::Error::ZNONODE; + else + onStorageInconsistency(); } else { - response.stat = it->value.stat; - response.acl = storage.acl_map.convertNumber(it->value.acl_id); + response.stat = node_it->value.stat; + response.acl = storage.acl_map.convertNumber(node_it->value.acl_id); } - return {response_ptr, {}}; + return response_ptr; + } + + Coordination::ZooKeeperResponsePtr process(KeeperStorage & storage, int64_t zxid) const override + { + return processImpl(storage, zxid); + } + + Coordination::ZooKeeperResponsePtr processLocal(KeeperStorage & storage, int64_t zxid) const override + { + return processImpl(storage, zxid); } }; struct KeeperStorageMultiRequestProcessor final : public KeeperStorageRequestProcessor { - bool checkAuth(KeeperStorage & storage, int64_t session_id) const override + bool checkAuth(KeeperStorage & storage, int64_t session_id, bool is_local) const override { for (const auto & concrete_request : concrete_requests) - if (!concrete_request->checkAuth(storage, session_id)) + if (!concrete_request->checkAuth(storage, session_id, is_local)) return false; return true; } @@ -889,65 +1450,115 @@ struct KeeperStorageMultiRequestProcessor final : public KeeperStorageRequestPro concrete_requests.push_back(std::make_shared(sub_zk_request)); break; default: - throw DB::Exception(ErrorCodes::BAD_ARGUMENTS, "Illegal command as part of multi ZooKeeper request {}", sub_zk_request->getOpNum()); + throw DB::Exception( + ErrorCodes::BAD_ARGUMENTS, "Illegal command as part of multi ZooKeeper request {}", sub_zk_request->getOpNum()); } } } - std::pair process(KeeperStorage & storage, int64_t zxid, int64_t session_id, int64_t time) const override + std::vector + preprocess(KeeperStorage & storage, int64_t zxid, int64_t session_id, int64_t time, uint64_t & digest) const override + { + std::vector response_errors; + response_errors.reserve(concrete_requests.size()); + uint64_t current_digest = digest; + for (size_t i = 0; i < concrete_requests.size(); ++i) + { + auto new_deltas = concrete_requests[i]->preprocess(storage, zxid, session_id, time, current_digest); + + if (!new_deltas.empty()) + { + if (auto * error = std::get_if(&new_deltas.back().operation)) + { + storage.uncommitted_state.rollback(zxid); + response_errors.push_back(error->error); + + for (size_t j = i + 1; j < concrete_requests.size(); ++j) + { + response_errors.push_back(Coordination::Error::ZRUNTIMEINCONSISTENCY); + } + + return {KeeperStorage::Delta{zxid, KeeperStorage::FailedMultiDelta{std::move(response_errors)}}}; + } + } + new_deltas.emplace_back(zxid, KeeperStorage::SubDeltaEnd{}); + response_errors.push_back(Coordination::Error::ZOK); + + // manually add deltas so that the result of previous request in the transaction is used in the next request + storage.uncommitted_state.addDeltas(std::move(new_deltas)); + } + + digest = current_digest; + + return {}; + } + + Coordination::ZooKeeperResponsePtr process(KeeperStorage & storage, int64_t zxid) const override { Coordination::ZooKeeperResponsePtr response_ptr = zk_request->makeResponse(); Coordination::ZooKeeperMultiResponse & response = dynamic_cast(*response_ptr); - std::vector undo_actions; - try + auto & deltas = storage.uncommitted_state.deltas; + // the deltas will have at least SubDeltaEnd or FailedMultiDelta + assert(!deltas.empty()); + if (auto * failed_multi = std::get_if(&deltas.front().operation)) { - size_t i = 0; - for (const auto & concrete_request : concrete_requests) + for (size_t i = 0; i < concrete_requests.size(); ++i) { - auto [ cur_response, undo_action ] = concrete_request->process(storage, zxid, session_id, time); - - response.responses[i] = cur_response; - if (cur_response->error != Coordination::Error::ZOK) - { - for (size_t j = 0; j <= i; ++j) - { - auto response_error = response.responses[j]->error; - response.responses[j] = std::make_shared(); - response.responses[j]->error = response_error; - } - - for (size_t j = i + 1; j < response.responses.size(); ++j) - { - response.responses[j] = std::make_shared(); - response.responses[j]->error = Coordination::Error::ZRUNTIMEINCONSISTENCY; - } - - for (auto it = undo_actions.rbegin(); it != undo_actions.rend(); ++it) - if (*it) - (*it)(); - - return { response_ptr, {} }; - } - else - undo_actions.emplace_back(std::move(undo_action)); - - ++i; + response.responses[i] = std::make_shared(); + response.responses[i]->error = failed_multi->error_codes[i]; } - response.error = Coordination::Error::ZOK; - return { response_ptr, {} }; + storage.uncommitted_state.commit(zxid); + return response_ptr; } - catch (...) + + for (size_t i = 0; i < concrete_requests.size(); ++i) { - for (auto it = undo_actions.rbegin(); it != undo_actions.rend(); ++it) - if (*it) - (*it)(); - throw; + auto cur_response = concrete_requests[i]->process(storage, zxid); + response.responses[i] = cur_response; + storage.uncommitted_state.commit(zxid); } + + response.error = Coordination::Error::ZOK; + return response_ptr; } - KeeperStorage::ResponsesForSessions processWatches(KeeperStorage::Watches & watches, KeeperStorage::Watches & list_watches) const override + Coordination::ZooKeeperResponsePtr processLocal(KeeperStorage & storage, int64_t zxid) const override + { + Coordination::ZooKeeperResponsePtr response_ptr = zk_request->makeResponse(); + Coordination::ZooKeeperMultiResponse & response = dynamic_cast(*response_ptr); + + for (size_t i = 0; i < concrete_requests.size(); ++i) + { + auto cur_response = concrete_requests[i]->processLocal(storage, zxid); + + response.responses[i] = cur_response; + if (cur_response->error != Coordination::Error::ZOK) + { + for (size_t j = 0; j <= i; ++j) + { + auto response_error = response.responses[j]->error; + response.responses[j] = std::make_shared(); + response.responses[j]->error = response_error; + } + + for (size_t j = i + 1; j < response.responses.size(); ++j) + { + response.responses[j] = std::make_shared(); + response.responses[j]->error = Coordination::Error::ZRUNTIMEINCONSISTENCY; + } + + return response_ptr; + } + } + + response.error = Coordination::Error::ZOK; + return response_ptr; + } + + KeeperStorage::ResponsesForSessions + processWatches(KeeperStorage::Watches & watches, KeeperStorage::Watches & list_watches) const override { KeeperStorage::ResponsesForSessions result; for (const auto & generic_request : concrete_requests) @@ -962,7 +1573,7 @@ struct KeeperStorageMultiRequestProcessor final : public KeeperStorageRequestPro struct KeeperStorageCloseRequestProcessor final : public KeeperStorageRequestProcessor { using KeeperStorageRequestProcessor::KeeperStorageRequestProcessor; - std::pair process(KeeperStorage &, int64_t, int64_t, int64_t /* time */) const override + Coordination::ZooKeeperResponsePtr process(KeeperStorage &, int64_t) const override { throw DB::Exception("Called process on close request", ErrorCodes::LOGICAL_ERROR); } @@ -971,36 +1582,41 @@ struct KeeperStorageCloseRequestProcessor final : public KeeperStorageRequestPro struct KeeperStorageAuthRequestProcessor final : public KeeperStorageRequestProcessor { using KeeperStorageRequestProcessor::KeeperStorageRequestProcessor; - std::pair process(KeeperStorage & storage, int64_t /*zxid*/, int64_t session_id, int64_t /* time */) const override + std::vector + preprocess(KeeperStorage & storage, int64_t zxid, int64_t session_id, int64_t /*time*/, uint64_t & /*digest*/) const override { Coordination::ZooKeeperAuthRequest & auth_request = dynamic_cast(*zk_request); Coordination::ZooKeeperResponsePtr response_ptr = zk_request->makeResponse(); - Coordination::ZooKeeperAuthResponse & auth_response = dynamic_cast(*response_ptr); - auto & sessions_and_auth = storage.session_and_auth; if (auth_request.scheme != "digest" || std::count(auth_request.data.begin(), auth_request.data.end(), ':') != 1) + return {KeeperStorage::Delta{zxid, Coordination::Error::ZAUTHFAILED}}; + + std::vector new_deltas; + auto auth_digest = generateDigest(auth_request.data); + if (auth_digest == storage.superdigest) { - auth_response.error = Coordination::Error::ZAUTHFAILED; + KeeperStorage::AuthID auth{"super", ""}; + new_deltas.emplace_back(zxid, KeeperStorage::AddAuthDelta{session_id, std::move(auth)}); } else { - auto digest = generateDigest(auth_request.data); - if (digest == storage.superdigest) - { - KeeperStorage::AuthID auth{"super", ""}; - sessions_and_auth[session_id].emplace_back(auth); - } - else - { - KeeperStorage::AuthID auth{auth_request.scheme, digest}; - auto & session_ids = sessions_and_auth[session_id]; - if (std::find(session_ids.begin(), session_ids.end(), auth) == session_ids.end()) - sessions_and_auth[session_id].emplace_back(auth); - } - + KeeperStorage::AuthID new_auth{auth_request.scheme, auth_digest}; + if (!storage.uncommitted_state.hasACL(session_id, false, [&](const auto & auth_id) { return new_auth == auth_id; })) + new_deltas.emplace_back(zxid, KeeperStorage::AddAuthDelta{session_id, std::move(new_auth)}); } - return { response_ptr, {} }; + return new_deltas; + } + + Coordination::ZooKeeperResponsePtr process(KeeperStorage & storage, int64_t zxid) const override + { + Coordination::ZooKeeperResponsePtr response_ptr = zk_request->makeResponse(); + Coordination::ZooKeeperAuthResponse & auth_response = dynamic_cast(*response_ptr); + + if (const auto result = storage.commit(zxid); result != Coordination::Error::ZOK) + auth_response.error = result; + + return response_ptr; } }; @@ -1011,10 +1627,6 @@ void KeeperStorage::finalize() finalized = true; - for (const auto & [session_id, ephemerals_paths] : ephemerals) - for (const String & ephemeral_path : ephemerals_paths) - container.erase(ephemeral_path); - ephemerals.clear(); watches.clear(); @@ -1026,7 +1638,6 @@ void KeeperStorage::finalize() class KeeperStorageRequestProcessorsFactory final : private boost::noncopyable { - public: using Creator = std::function; using OpNumToRequest = std::unordered_map; @@ -1039,11 +1650,11 @@ public: KeeperStorageRequestProcessorPtr get(const Coordination::ZooKeeperRequestPtr & zk_request) const { - auto it = op_num_to_request.find(zk_request->getOpNum()); - if (it == op_num_to_request.end()) + auto request_it = op_num_to_request.find(zk_request->getOpNum()); + if (request_it == op_num_to_request.end()) throw DB::Exception("Unknown operation type " + toString(zk_request->getOpNum()), ErrorCodes::LOGICAL_ERROR); - return it->second(zk_request); + return request_it->second(zk_request); } void registerRequest(Coordination::OpNum op_num, Creator creator) @@ -1057,10 +1668,11 @@ private: KeeperStorageRequestProcessorsFactory(); }; -template +template void registerKeeperRequestProcessor(KeeperStorageRequestProcessorsFactory & factory) { - factory.registerRequest(num, [] (const Coordination::ZooKeeperRequestPtr & zk_request) { return std::make_shared(zk_request); }); + factory.registerRequest( + num, [](const Coordination::ZooKeeperRequestPtr & zk_request) { return std::make_shared(zk_request); }); } @@ -1084,41 +1696,199 @@ KeeperStorageRequestProcessorsFactory::KeeperStorageRequestProcessorsFactory() } -KeeperStorage::ResponsesForSessions KeeperStorage::processRequest(const Coordination::ZooKeeperRequestPtr & zk_request, int64_t session_id, int64_t time, std::optional new_last_zxid, bool check_acl) +UInt64 KeeperStorage::calculateNodesDigest(UInt64 current_digest, const std::vector & new_deltas) const +{ + if (!digest_enabled) + return current_digest; + + std::unordered_map> updated_nodes; + + for (const auto & delta : new_deltas) + { + std::visit( + Overloaded{ + [&](const CreateNodeDelta & create_delta) + { + auto node = std::make_shared(); + node->stat = create_delta.stat; + node->setData(create_delta.data); + updated_nodes.emplace(delta.path, node); + }, + [&](const RemoveNodeDelta & /* remove_delta */) + { + if (!updated_nodes.contains(delta.path)) + { + auto old_digest = uncommitted_state.getNode(delta.path)->getDigest(delta.path); + current_digest -= old_digest; + } + + updated_nodes.insert_or_assign(delta.path, nullptr); + }, + [&](const UpdateNodeDelta & update_delta) + { + std::shared_ptr node{nullptr}; + + auto updated_node_it = updated_nodes.find(delta.path); + if (updated_node_it == updated_nodes.end()) + { + node = std::make_shared(); + node->shallowCopy(*uncommitted_state.getNode(delta.path)); + current_digest -= node->getDigest(delta.path); + updated_nodes.emplace(delta.path, node); + } + else + node = updated_node_it->second; + + update_delta.update_fn(*node); + }, + [](auto && /* delta */) {}}, + delta.operation); + } + + for (const auto & [path, updated_node] : updated_nodes) + { + if (updated_node) + { + updated_node->invalidateDigestCache(); + current_digest += updated_node->getDigest(path); + } + } + + return current_digest; +} + +void KeeperStorage::preprocessRequest( + const Coordination::ZooKeeperRequestPtr & zk_request, + int64_t session_id, + int64_t time, + int64_t new_last_zxid, + bool check_acl, + std::optional digest) +{ + int64_t last_zxid = getNextZXID() - 1; + + if (uncommitted_transactions.empty()) + { + // if we have no uncommitted transactions it means the last zxid is possibly loaded from snapshot + if (last_zxid != old_snapshot_zxid && new_last_zxid <= last_zxid) + throw Exception( + ErrorCodes::LOGICAL_ERROR, "Got new ZXID ({}) smaller or equal to current ZXID ({}). It's a bug", new_last_zxid, last_zxid); + } + else + { + if (last_zxid == new_last_zxid && digest && checkDigest(*digest, getNodesDigest(false))) + // we found the preprocessed request with the same ZXID, we can skip it + return; + + if (new_last_zxid <= last_zxid) + throw Exception( + ErrorCodes::LOGICAL_ERROR, "Got new ZXID ({}) smaller or equal to current ZXID ({}). It's a bug", new_last_zxid, last_zxid); + } + + std::vector new_deltas; + TransactionInfo transaction{.zxid = new_last_zxid}; + uint64_t new_digest = getNodesDigest(false).value; + SCOPE_EXIT({ + if (digest_enabled) + // if the version of digest we got from the leader is the same as the one this instances has, we can simply copy the value + // and just check the digest on the commit + // a mistake can happen while applying the changes to the uncommitted_state so for now let's just recalculate the digest here also + transaction.nodes_digest = Digest{CURRENT_DIGEST_VERSION, new_digest}; + else + transaction.nodes_digest = Digest{DigestVersion::NO_DIGEST}; + + uncommitted_transactions.emplace_back(transaction); + uncommitted_state.addDeltas(std::move(new_deltas)); + }); + + KeeperStorageRequestProcessorPtr request_processor = KeeperStorageRequestProcessorsFactory::instance().get(zk_request); + + if (zk_request->getOpNum() == Coordination::OpNum::Close) /// Close request is special + { + auto session_ephemerals = ephemerals.find(session_id); + if (session_ephemerals != ephemerals.end()) + { + for (const auto & ephemeral_path : session_ephemerals->second) + { + new_deltas.emplace_back + ( + parentPath(ephemeral_path).toString(), + new_last_zxid, + UpdateNodeDelta + { + [ephemeral_path](Node & parent) + { + ++parent.stat.cversion; + --parent.stat.numChildren; + } + } + ); + + new_deltas.emplace_back(ephemeral_path, transaction.zxid, RemoveNodeDelta{.ephemeral_owner = session_id}); + } + + ephemerals.erase(session_ephemerals); + } + + new_digest = calculateNodesDigest(new_digest, new_deltas); + return; + } + + if (check_acl && !request_processor->checkAuth(*this, session_id, false)) + { + uncommitted_state.deltas.emplace_back(new_last_zxid, Coordination::Error::ZNOAUTH); + return; + } + + new_deltas = request_processor->preprocess(*this, transaction.zxid, session_id, time, new_digest); +} + +KeeperStorage::ResponsesForSessions KeeperStorage::processRequest( + const Coordination::ZooKeeperRequestPtr & zk_request, + int64_t session_id, + std::optional new_last_zxid, + bool check_acl, + bool is_local) { - KeeperStorage::ResponsesForSessions results; if (new_last_zxid) { - if (zxid >= *new_last_zxid) - throw Exception(ErrorCodes::LOGICAL_ERROR, "Got new ZXID {} smaller or equal than current {}. It's a bug", *new_last_zxid, zxid); + if (uncommitted_transactions.empty()) + throw Exception(ErrorCodes::LOGICAL_ERROR, "Trying to commit a ZXID ({}) which was not preprocessed", *new_last_zxid); + + if (uncommitted_transactions.front().zxid != *new_last_zxid) + throw Exception( + ErrorCodes::LOGICAL_ERROR, + "Trying to commit a ZXID {} while the next ZXID to commit is {}", + *new_last_zxid, + uncommitted_transactions.front().zxid); + zxid = *new_last_zxid; + uncommitted_transactions.pop_front(); } + KeeperStorage::ResponsesForSessions results; + /// ZooKeeper update sessions expirity for each request, not only for heartbeats session_expiry_queue.addNewSessionOrUpdate(session_id, session_and_timeout[session_id]); if (zk_request->getOpNum() == Coordination::OpNum::Close) /// Close request is special { - auto it = ephemerals.find(session_id); - if (it != ephemerals.end()) + commit(zxid); + + for (const auto & delta : uncommitted_state.deltas) { - for (const auto & ephemeral_path : it->second) + if (delta.zxid > zxid) + break; + + if (std::holds_alternative(delta.operation)) { - container.updateValue(parentPath(ephemeral_path), [&ephemeral_path] (KeeperStorage::Node & parent) - { - --parent.stat.numChildren; - ++parent.stat.cversion; - auto base_name = getBaseName(ephemeral_path); - parent.removeChild(base_name); - }); - - container.erase(ephemeral_path); - - auto responses = processWatchesImpl(ephemeral_path, watches, list_watches, Coordination::Event::DELETED); + auto responses = processWatchesImpl(delta.path, watches, list_watches, Coordination::Event::DELETED); results.insert(results.end(), responses.begin(), responses.end()); } - ephemerals.erase(it); } + + uncommitted_state.commit(zxid); + clearDeadWatches(session_id); auto auth_it = session_and_auth.find(session_id); if (auth_it != session_and_auth.end()) @@ -1135,7 +1905,7 @@ KeeperStorage::ResponsesForSessions KeeperStorage::processRequest(const Coordina else if (zk_request->getOpNum() == Coordination::OpNum::Heartbeat) /// Heartbeat request is also special { KeeperStorageRequestProcessorPtr storage_request = KeeperStorageRequestProcessorsFactory::instance().get(zk_request); - auto [response, _] = storage_request->process(*this, zxid, session_id, time); + auto response = storage_request->process(*this, zxid); response->xid = zk_request->xid; response->zxid = getZXID(); @@ -1146,15 +1916,24 @@ KeeperStorage::ResponsesForSessions KeeperStorage::processRequest(const Coordina KeeperStorageRequestProcessorPtr request_processor = KeeperStorageRequestProcessorsFactory::instance().get(zk_request); Coordination::ZooKeeperResponsePtr response; - if (check_acl && !request_processor->checkAuth(*this, session_id)) + if (is_local) { - response = zk_request->makeResponse(); - /// Original ZooKeeper always throws no auth, even when user provided some credentials - response->error = Coordination::Error::ZNOAUTH; + assert(zk_request->isReadRequest()); + if (check_acl && !request_processor->checkAuth(*this, session_id, true)) + { + response = zk_request->makeResponse(); + /// Original ZooKeeper always throws no auth, even when user provided some credentials + response->error = Coordination::Error::ZNOAUTH; + } + else + { + response = request_processor->processLocal(*this, zxid); + } } else { - std::tie(response, std::ignore) = request_processor->process(*this, zxid, session_id, time); + response = request_processor->process(*this, zxid); + uncommitted_state.commit(zxid); } /// Watches for this requests are added to the watches lists @@ -1162,16 +1941,17 @@ KeeperStorage::ResponsesForSessions KeeperStorage::processRequest(const Coordina { if (response->error == Coordination::Error::ZOK) { - auto & watches_type = zk_request->getOpNum() == Coordination::OpNum::List || zk_request->getOpNum() == Coordination::OpNum::SimpleList + auto & watches_type + = zk_request->getOpNum() == Coordination::OpNum::List || zk_request->getOpNum() == Coordination::OpNum::SimpleList ? list_watches : watches; - watches_type[zk_request->getPath()].emplace_back(session_id); + watches_type[zk_request->getPath()].emplace(session_id); sessions_and_watchers[session_id].emplace(zk_request->getPath()); } else if (response->error == Coordination::Error::ZNONODE && zk_request->getOpNum() == Coordination::OpNum::Exists) { - watches[zk_request->getPath()].emplace_back(session_id); + watches[zk_request->getPath()].emplace(session_id); sessions_and_watchers[session_id].emplace(zk_request->getPath()); } } @@ -1192,6 +1972,41 @@ KeeperStorage::ResponsesForSessions KeeperStorage::processRequest(const Coordina return results; } +void KeeperStorage::rollbackRequest(int64_t rollback_zxid) +{ + if (uncommitted_transactions.empty() || uncommitted_transactions.back().zxid != rollback_zxid) + throw Exception( + ErrorCodes::LOGICAL_ERROR, "Trying to rollback invalid ZXID ({}). It should be the last preprocessed.", rollback_zxid); + + uncommitted_transactions.pop_back(); + uncommitted_state.rollback(rollback_zxid); +} + +KeeperStorage::Digest KeeperStorage::getNodesDigest(bool committed) const +{ + if (!digest_enabled) + return {.version = DigestVersion::NO_DIGEST}; + + if (committed || uncommitted_transactions.empty()) + return {CURRENT_DIGEST_VERSION, nodes_digest}; + + return uncommitted_transactions.back().nodes_digest; +} + +void KeeperStorage::removeDigest(const Node & node, const std::string_view path) +{ + if (digest_enabled) + nodes_digest -= node.getDigest(path); +} + +void KeeperStorage::addDigest(const Node & node, const std::string_view path) +{ + if (digest_enabled) + { + node.invalidateDigestCache(); + nodes_digest += node.getDigest(path); + } +} void KeeperStorage::clearDeadWatches(int64_t session_id) { @@ -1206,13 +2021,7 @@ void KeeperStorage::clearDeadWatches(int64_t session_id) if (watch != watches.end()) { auto & watches_for_path = watch->second; - for (auto w_it = watches_for_path.begin(); w_it != watches_for_path.end();) - { - if (*w_it == session_id) - w_it = watches_for_path.erase(w_it); - else - ++w_it; - } + watches_for_path.erase(session_id); if (watches_for_path.empty()) watches.erase(watch); } @@ -1222,13 +2031,7 @@ void KeeperStorage::clearDeadWatches(int64_t session_id) if (list_watch != list_watches.end()) { auto & list_watches_for_path = list_watch->second; - for (auto w_it = list_watches_for_path.begin(); w_it != list_watches_for_path.end();) - { - if (*w_it == session_id) - w_it = list_watches_for_path.erase(w_it); - else - ++w_it; - } + list_watches_for_path.erase(session_id); if (list_watches_for_path.empty()) list_watches.erase(list_watch); } @@ -1250,7 +2053,7 @@ void KeeperStorage::dumpWatches(WriteBufferFromOwnString & buf) const void KeeperStorage::dumpWatchesByPath(WriteBufferFromOwnString & buf) const { - auto write_int_vec = [&buf](const std::vector & session_ids) + auto write_int_container = [&buf](const auto & session_ids) { for (int64_t session_id : session_ids) { @@ -1261,13 +2064,13 @@ void KeeperStorage::dumpWatchesByPath(WriteBufferFromOwnString & buf) const for (const auto & [watch_path, sessions] : watches) { buf << watch_path << "\n"; - write_int_vec(sessions); + write_int_container(sessions); } for (const auto & [watch_path, sessions] : list_watches) { buf << watch_path << "\n"; - write_int_vec(sessions); + write_int_container(sessions); } } diff --git a/src/Coordination/KeeperStorage.h b/src/Coordination/KeeperStorage.h index ccbddcf6e19..f4fccd95adb 100644 --- a/src/Coordination/KeeperStorage.h +++ b/src/Coordination/KeeperStorage.h @@ -1,14 +1,14 @@ #pragma once -#include -#include -#include -#include -#include -#include -#include #include #include +#include +#include +#include +#include +#include +#include +#include #include @@ -29,7 +29,6 @@ struct KeeperStorageSnapshot; class KeeperStorage { public: - struct Node { uint64_t acl_id = 0; /// 0 -- no ACL by default @@ -41,31 +40,43 @@ public: Node() : size_bytes(sizeof(Node)) { } /// Object memory size - uint64_t sizeInBytes() const - { - return size_bytes; - } + uint64_t sizeInBytes() const { return size_bytes; } void setData(String new_data); - const auto & getData() const noexcept - { - return data; - } + const auto & getData() const noexcept { return data; } void addChild(StringRef child_path); void removeChild(StringRef child_path); - const auto & getChildren() const noexcept - { - return children; - } + const auto & getChildren() const noexcept { return children; } + + // Invalidate the calculated digest so it's recalculated again on the next + // getDigest call + void invalidateDigestCache() const; + + // get the calculated digest of the node + UInt64 getDigest(std::string_view path) const; + + // copy only necessary information for preprocessing and digest calculation + // (e.g. we don't need to copy list of children) + void shallowCopy(const Node & other); + private: String data; ChildrenSet children{}; + mutable std::optional cached_digest; }; + enum DigestVersion : uint8_t + { + NO_DIGEST = 0, + V0 = 1 + }; + + static constexpr auto CURRENT_DIGEST_VERSION = DigestVersion::V0; + struct ResponseForSession { int64_t session_id; @@ -73,11 +84,30 @@ public: }; using ResponsesForSessions = std::vector; + struct Digest + { + DigestVersion version{DigestVersion::NO_DIGEST}; + uint64_t value{0}; + }; + + static bool checkDigest(const Digest & first, const Digest & second) + { + if (first.version != second.version) + return true; + + if (first.version == DigestVersion::NO_DIGEST) + return true; + + return first.value == second.value; + } + struct RequestForSession { int64_t session_id; int64_t time; Coordination::ZooKeeperRequestPtr request; + int64_t zxid{0}; + std::optional digest; }; struct AuthID @@ -85,10 +115,7 @@ public: std::string scheme; std::string id; - bool operator==(const AuthID & other) const - { - return scheme == other.scheme && id == other.id; - } + bool operator==(const AuthID & other) const { return scheme == other.scheme && id == other.id; } }; using RequestsForSessions = std::vector; @@ -96,7 +123,7 @@ public: using Container = SnapshotableHashTable; using Ephemerals = std::unordered_map>; using SessionAndWatcher = std::unordered_map>; - using SessionIDs = std::vector; + using SessionIDs = std::unordered_set; /// Just vector of SHA1 from user:password using AuthIDs = std::vector; @@ -112,6 +139,150 @@ public: /// container. Container container; + // Applying ZooKeeper request to storage consists of two steps: + // - preprocessing which, instead of applying the changes directly to storage, + // generates deltas with those changes, denoted with the request ZXID + // - processing which applies deltas with the correct ZXID to the storage + // + // Delta objects allow us two things: + // - fetch the latest, uncommitted state of an object by getting the committed + // state of that same object from the storage and applying the deltas + // in the same order as they are defined + // - quickly commit the changes to the storage + struct CreateNodeDelta + { + Coordination::Stat stat; + bool is_sequental; + Coordination::ACLs acls; + String data; + }; + + struct RemoveNodeDelta + { + int32_t version{-1}; + int64_t ephemeral_owner{0}; + }; + + struct UpdateNodeDelta + { + std::function update_fn; + int32_t version{-1}; + }; + + struct SetACLDelta + { + Coordination::ACLs acls; + int32_t version{-1}; + }; + + struct ErrorDelta + { + Coordination::Error error; + }; + + struct FailedMultiDelta + { + std::vector error_codes; + }; + + // Denotes end of a subrequest in multi request + struct SubDeltaEnd + { + }; + + struct AddAuthDelta + { + int64_t session_id; + AuthID auth_id; + }; + + using Operation = std:: + variant; + + struct Delta + { + Delta(String path_, int64_t zxid_, Operation operation_) : path(std::move(path_)), zxid(zxid_), operation(std::move(operation_)) { } + + Delta(int64_t zxid_, Coordination::Error error) : Delta("", zxid_, ErrorDelta{error}) { } + + Delta(int64_t zxid_, Operation subdelta) : Delta("", zxid_, subdelta) { } + + String path; + int64_t zxid; + Operation operation; + }; + + struct UncommittedState + { + explicit UncommittedState(KeeperStorage & storage_) : storage(storage_) { } + + void addDeltas(std::vector new_deltas); + void commit(int64_t commit_zxid); + void rollback(int64_t rollback_zxid); + + std::shared_ptr getNode(StringRef path) const; + Coordination::ACLs getACLs(StringRef path) const; + + void applyDelta(const Delta & delta); + + bool hasACL(int64_t session_id, bool is_local, std::function predicate) + { + for (const auto & session_auth : storage.session_and_auth[session_id]) + { + if (predicate(session_auth)) + return true; + } + + if (is_local) + return false; + + for (const auto & delta : deltas) + { + if (const auto * auth_delta = std::get_if(&delta.operation); + auth_delta && auth_delta->session_id == session_id && predicate(auth_delta->auth_id)) + return true; + } + + return false; + } + + std::shared_ptr tryGetNodeFromStorage(StringRef path) const; + + struct UncommittedNode + { + std::shared_ptr node{nullptr}; + Coordination::ACLs acls{}; + int64_t zxid{0}; + }; + + mutable std::unordered_map nodes; + std::list deltas; + KeeperStorage & storage; + }; + + UncommittedState uncommitted_state{*this}; + + Coordination::Error commit(int64_t zxid); + + // Create node in the storage + // Returns false if it failed to create the node, true otherwise + // We don't care about the exact failure because we should've caught it during preprocessing + bool createNode( + const std::string & path, + String data, + const Coordination::Stat & stat, + bool is_sequental, + Coordination::ACLs node_acls); + + // Remove node in the storage + // Returns false if it failed to remove the node, true otherwise + // We don't care about the exact failure because we should've caught it during preprocessing + bool removeNode(const std::string & path, int32_t version); + + bool checkACL(StringRef path, int32_t permissions, int64_t session_id, bool is_local); + + void unregisterEphemeralPath(int64_t session_id, const std::string & path); + /// Mapping session_id -> set of ephemeral nodes paths Ephemerals ephemerals; /// Mapping session_id -> set of watched nodes paths @@ -126,23 +297,50 @@ public: /// Global id of all requests applied to storage int64_t zxid{0}; + + // older Keeper node (pre V5 snapshots) can create snapshots and receive logs from newer Keeper nodes + // this can lead to some inconsistencies, e.g. from snapshot it will use log_idx as zxid + // while the log will have a smaller zxid because it's generated by the newer nodes + // we save the value loaded from snapshot to know when is it okay to have + // smaller zxid in newer requests + int64_t old_snapshot_zxid{0}; + + struct TransactionInfo + { + int64_t zxid; + Digest nodes_digest; + }; + + std::deque uncommitted_transactions; + + uint64_t nodes_digest{0}; + bool finalized{false}; /// Currently active watches (node_path -> subscribed sessions) Watches watches; - Watches list_watches; /// Watches for 'list' request (watches on children). + Watches list_watches; /// Watches for 'list' request (watches on children). void clearDeadWatches(int64_t session_id); - /// Get current zxid - int64_t getZXID() const + /// Get current committed zxid + int64_t getZXID() const { return zxid; } + + int64_t getNextZXID() const { - return zxid; + if (uncommitted_transactions.empty()) + return zxid + 1; + + return uncommitted_transactions.back().zxid + 1; } + Digest getNodesDigest(bool committed) const; + + const bool digest_enabled; + const String superdigest; - KeeperStorage(int64_t tick_time_ms, const String & superdigest_); + KeeperStorage(int64_t tick_time_ms, const String & superdigest_, bool digest_enabled_); /// Allocate new session id with the specified timeouts int64_t getSessionID(int64_t session_timeout_ms) @@ -160,85 +358,69 @@ public: session_expiry_queue.addNewSessionOrUpdate(session_id, session_timeout_ms); } + UInt64 calculateNodesDigest(UInt64 current_digest, const std::vector & new_deltas) const; + /// Process user request and return response. /// check_acl = false only when converting data from ZooKeeper. - ResponsesForSessions processRequest(const Coordination::ZooKeeperRequestPtr & request, int64_t session_id, int64_t time, std::optional new_last_zxid, bool check_acl = true); + ResponsesForSessions processRequest( + const Coordination::ZooKeeperRequestPtr & request, + int64_t session_id, + std::optional new_last_zxid, + bool check_acl = true, + bool is_local = false); + void preprocessRequest( + const Coordination::ZooKeeperRequestPtr & request, + int64_t session_id, + int64_t time, + int64_t new_last_zxid, + bool check_acl = true, + std::optional digest = std::nullopt); + void rollbackRequest(int64_t rollback_zxid); void finalize(); /// Set of methods for creating snapshots /// Turn on snapshot mode, so data inside Container is not deleted, but replaced with new version. - void enableSnapshotMode(size_t up_to_version) - { - container.enableSnapshotMode(up_to_version); - - } + void enableSnapshotMode(size_t up_to_version) { container.enableSnapshotMode(up_to_version); } /// Turn off snapshot mode. - void disableSnapshotMode() - { - container.disableSnapshotMode(); - } + void disableSnapshotMode() { container.disableSnapshotMode(); } - Container::const_iterator getSnapshotIteratorBegin() const - { - return container.begin(); - } + Container::const_iterator getSnapshotIteratorBegin() const { return container.begin(); } /// Clear outdated data from internal container. - void clearGarbageAfterSnapshot() - { - container.clearOutdatedNodes(); - } + void clearGarbageAfterSnapshot() { container.clearOutdatedNodes(); } /// Get all active sessions - const SessionAndTimeout & getActiveSessions() const - { - return session_and_timeout; - } + const SessionAndTimeout & getActiveSessions() const { return session_and_timeout; } /// Get all dead sessions - std::vector getDeadSessions() const - { - return session_expiry_queue.getExpiredSessions(); - } + std::vector getDeadSessions() const { return session_expiry_queue.getExpiredSessions(); } /// Introspection functions mostly used in 4-letter commands - uint64_t getNodesCount() const - { - return container.size(); - } + uint64_t getNodesCount() const { return container.size(); } - uint64_t getApproximateDataSize() const - { - return container.getApproximateDataSize(); - } - - uint64_t getArenaDataSize() const - { - return container.keyArenaSize(); - } + uint64_t getApproximateDataSize() const { return container.getApproximateDataSize(); } + uint64_t getArenaDataSize() const { return container.keyArenaSize(); } uint64_t getTotalWatchesCount() const; - uint64_t getWatchedPathsCount() const - { - return watches.size() + list_watches.size(); - } + uint64_t getWatchedPathsCount() const { return watches.size() + list_watches.size(); } uint64_t getSessionsWithWatchesCount() const; - uint64_t getSessionWithEphemeralNodesCount() const - { - return ephemerals.size(); - } + uint64_t getSessionWithEphemeralNodesCount() const { return ephemerals.size(); } uint64_t getTotalEphemeralNodesCount() const; void dumpWatches(WriteBufferFromOwnString & buf) const; void dumpWatchesByPath(WriteBufferFromOwnString & buf) const; void dumpSessionsAndEphemerals(WriteBufferFromOwnString & buf) const; + +private: + void removeDigest(const Node & node, std::string_view path); + void addDigest(const Node & node, std::string_view path); }; using KeeperStoragePtr = std::unique_ptr; diff --git a/src/Coordination/WriteBufferFromNuraftBuffer.h b/src/Coordination/WriteBufferFromNuraftBuffer.h index d52049edcff..c9ca1e2a227 100644 --- a/src/Coordination/WriteBufferFromNuraftBuffer.h +++ b/src/Coordination/WriteBufferFromNuraftBuffer.h @@ -12,7 +12,6 @@ public: WriteBufferFromNuraftBuffer(); nuraft::ptr getBuffer(); - bool isFinished() const { return finalized; } ~WriteBufferFromNuraftBuffer() override; diff --git a/src/Coordination/ZooKeeperDataReader.cpp b/src/Coordination/ZooKeeperDataReader.cpp index e59c67329ff..6702c4cc718 100644 --- a/src/Coordination/ZooKeeperDataReader.cpp +++ b/src/Coordination/ZooKeeperDataReader.cpp @@ -520,7 +520,8 @@ bool deserializeTxn(KeeperStorage & storage, ReadBuffer & in, Poco::Logger * /*l if (request->getOpNum() == Coordination::OpNum::Multi && hasErrorsInMultiRequest(request)) return true; - storage.processRequest(request, session_id, time, zxid, /* check_acl = */ false); + storage.preprocessRequest(request, session_id, time, zxid, /* check_acl = */ false); + storage.processRequest(request, session_id, zxid, /* check_acl = */ false); } } diff --git a/src/Coordination/tests/gtest_coordination.cpp b/src/Coordination/tests/gtest_coordination.cpp index cf4d1eaf9f2..ee75f2a0860 100644 --- a/src/Coordination/tests/gtest_coordination.cpp +++ b/src/Coordination/tests/gtest_coordination.cpp @@ -1,6 +1,8 @@ #include #include +#include "Common/ZooKeeper/IKeeper.h" +#include "Coordination/KeeperStorage.h" #include "config_core.h" #if USE_NURAFT @@ -139,8 +141,7 @@ struct SimpliestRaftServer std::cout << " done" << std::endl; break; } - std::cout << "."; - fflush(stdout); + std::cout << "." << std::flush; std::this_thread::sleep_for(std::chrono::milliseconds(100)); } } @@ -699,13 +700,32 @@ TEST_P(CoordinationTest, ChangelogTestStartNewLogAfterRead) EXPECT_TRUE(fs::exists("./logs/changelog_36_40.bin" + params.extension)); } +namespace +{ +void assertBrokenLogRemoved(const fs::path & log_folder, const fs::path & filename) +{ + EXPECT_FALSE(fs::exists(log_folder / filename)); + // broken logs are sent to the detached/{timestamp} folder + // we don't know timestamp so we iterate all of them + for (const auto & dir_entry : fs::recursive_directory_iterator(log_folder / "detached")) + { + if (dir_entry.path().filename() == filename) + return; + } + + FAIL() << "Broken log " << filename << " was not moved to the detached folder"; +} + +} TEST_P(CoordinationTest, ChangelogTestReadAfterBrokenTruncate) { - auto params = GetParam(); - ChangelogDirTest test("./logs"); + static const fs::path log_folder{"./logs"}; - DB::KeeperLogStore changelog("./logs", 5, true, params.enable_compression); + auto params = GetParam(); + ChangelogDirTest test(log_folder); + + DB::KeeperLogStore changelog(log_folder, 5, true, params.enable_compression); changelog.init(1, 0); for (size_t i = 0; i < 35; ++i) @@ -737,10 +757,10 @@ TEST_P(CoordinationTest, ChangelogTestReadAfterBrokenTruncate) EXPECT_TRUE(fs::exists("./logs/changelog_6_10.bin" + params.extension)); EXPECT_TRUE(fs::exists("./logs/changelog_11_15.bin" + params.extension)); - EXPECT_FALSE(fs::exists("./logs/changelog_16_20.bin" + params.extension)); - EXPECT_FALSE(fs::exists("./logs/changelog_21_25.bin" + params.extension)); - EXPECT_FALSE(fs::exists("./logs/changelog_26_30.bin" + params.extension)); - EXPECT_FALSE(fs::exists("./logs/changelog_31_35.bin" + params.extension)); + assertBrokenLogRemoved(log_folder, "changelog_16_20.bin" + params.extension); + assertBrokenLogRemoved(log_folder, "changelog_21_25.bin" + params.extension); + assertBrokenLogRemoved(log_folder, "changelog_26_30.bin" + params.extension); + assertBrokenLogRemoved(log_folder, "changelog_31_35.bin" + params.extension); auto entry = getLogEntry("h", 7777); changelog_reader.append(entry); @@ -752,10 +772,10 @@ TEST_P(CoordinationTest, ChangelogTestReadAfterBrokenTruncate) EXPECT_TRUE(fs::exists("./logs/changelog_6_10.bin" + params.extension)); EXPECT_TRUE(fs::exists("./logs/changelog_11_15.bin" + params.extension)); - EXPECT_FALSE(fs::exists("./logs/changelog_16_20.bin" + params.extension)); - EXPECT_FALSE(fs::exists("./logs/changelog_21_25.bin" + params.extension)); - EXPECT_FALSE(fs::exists("./logs/changelog_26_30.bin" + params.extension)); - EXPECT_FALSE(fs::exists("./logs/changelog_31_35.bin" + params.extension)); + assertBrokenLogRemoved(log_folder, "changelog_16_20.bin" + params.extension); + assertBrokenLogRemoved(log_folder, "changelog_21_25.bin" + params.extension); + assertBrokenLogRemoved(log_folder, "changelog_26_30.bin" + params.extension); + assertBrokenLogRemoved(log_folder, "changelog_31_35.bin" + params.extension); DB::KeeperLogStore changelog_reader2("./logs", 5, true, params.enable_compression); changelog_reader2.init(1, 0); @@ -789,14 +809,13 @@ TEST_P(CoordinationTest, ChangelogTestReadAfterBrokenTruncate2) EXPECT_EQ(changelog_reader.size(), 0); EXPECT_TRUE(fs::exists("./logs/changelog_1_20.bin" + params.extension)); - EXPECT_FALSE(fs::exists("./logs/changelog_21_40.bin" + params.extension)); + assertBrokenLogRemoved("./logs", "changelog_21_40.bin" + params.extension); auto entry = getLogEntry("hello_world", 7777); changelog_reader.append(entry); changelog_reader.end_of_append_batch(0, 0); EXPECT_EQ(changelog_reader.size(), 1); EXPECT_EQ(changelog_reader.last_entry()->get_term(), 7777); - DB::KeeperLogStore changelog_reader2("./logs", 1, true, params.enable_compression); changelog_reader2.init(1, 0); EXPECT_EQ(changelog_reader2.size(), 1); @@ -826,10 +845,40 @@ TEST_P(CoordinationTest, ChangelogTestLostFiles) DB::KeeperLogStore changelog_reader("./logs", 20, true, params.enable_compression); /// It should print error message, but still able to start changelog_reader.init(5, 0); - EXPECT_FALSE(fs::exists("./logs/changelog_1_20.bin" + params.extension)); - EXPECT_FALSE(fs::exists("./logs/changelog_21_40.bin" + params.extension)); + assertBrokenLogRemoved("./logs", "changelog_21_40.bin" + params.extension); } +TEST_P(CoordinationTest, ChangelogTestLostFiles2) +{ + auto params = GetParam(); + ChangelogDirTest test("./logs"); + + DB::KeeperLogStore changelog("./logs", 10, true, params.enable_compression); + changelog.init(1, 0); + + for (size_t i = 0; i < 35; ++i) + { + auto entry = getLogEntry(std::to_string(i) + "_hello_world", (i + 44) * 10); + changelog.append(entry); + } + changelog.end_of_append_batch(0, 0); + + EXPECT_TRUE(fs::exists("./logs/changelog_1_10.bin" + params.extension)); + EXPECT_TRUE(fs::exists("./logs/changelog_11_20.bin" + params.extension)); + EXPECT_TRUE(fs::exists("./logs/changelog_21_30.bin" + params.extension)); + EXPECT_TRUE(fs::exists("./logs/changelog_31_40.bin" + params.extension)); + + // we have a gap in our logs, we need to remove all the logs after the gap + fs::remove("./logs/changelog_21_30.bin" + params.extension); + + DB::KeeperLogStore changelog_reader("./logs", 10, true, params.enable_compression); + /// It should print error message, but still able to start + changelog_reader.init(5, 0); + EXPECT_TRUE(fs::exists("./logs/changelog_1_10.bin" + params.extension)); + EXPECT_TRUE(fs::exists("./logs/changelog_11_20.bin" + params.extension)); + + assertBrokenLogRemoved("./logs", "changelog_31_40.bin" + params.extension); +} struct IntNode { int value; @@ -984,24 +1033,24 @@ TEST_P(CoordinationTest, SnapshotableHashMapDataSize) world.disableSnapshotMode(); world.insert("world", n1); - EXPECT_EQ(world.getApproximateDataSize(), 177); + EXPECT_EQ(world.getApproximateDataSize(), 193); world.updateValue("world", [&](Node & value) { value = n2; }); - EXPECT_EQ(world.getApproximateDataSize(), 195); + EXPECT_EQ(world.getApproximateDataSize(), 211); world.erase("world"); EXPECT_EQ(world.getApproximateDataSize(), 0); world.enableSnapshotMode(100000); world.insert("world", n1); - EXPECT_EQ(world.getApproximateDataSize(), 177); + EXPECT_EQ(world.getApproximateDataSize(), 193); world.updateValue("world", [&](Node & value) { value = n2; }); - EXPECT_EQ(world.getApproximateDataSize(), 372); + EXPECT_EQ(world.getApproximateDataSize(), 404); world.clearOutdatedNodes(); - EXPECT_EQ(world.getApproximateDataSize(), 195); + EXPECT_EQ(world.getApproximateDataSize(), 211); world.erase("world"); - EXPECT_EQ(world.getApproximateDataSize(), 195); + EXPECT_EQ(world.getApproximateDataSize(), 211); world.clear(); EXPECT_EQ(world.getApproximateDataSize(), 0); @@ -1022,7 +1071,7 @@ TEST_P(CoordinationTest, TestStorageSnapshotSimple) ChangelogDirTest test("./snapshots"); DB::KeeperSnapshotManager manager("./snapshots", 3, params.enable_compression); - DB::KeeperStorage storage(500, ""); + DB::KeeperStorage storage(500, "", true); addNode(storage, "/hello", "world", 1); addNode(storage, "/hello/somepath", "somedata", 3); storage.session_id_counter = 5; @@ -1070,7 +1119,7 @@ TEST_P(CoordinationTest, TestStorageSnapshotMoreWrites) ChangelogDirTest test("./snapshots"); DB::KeeperSnapshotManager manager("./snapshots", 3, params.enable_compression); - DB::KeeperStorage storage(500, ""); + DB::KeeperStorage storage(500, "", true); storage.getSessionID(130); for (size_t i = 0; i < 50; ++i) @@ -1111,7 +1160,7 @@ TEST_P(CoordinationTest, TestStorageSnapshotManySnapshots) ChangelogDirTest test("./snapshots"); DB::KeeperSnapshotManager manager("./snapshots", 3, params.enable_compression); - DB::KeeperStorage storage(500, ""); + DB::KeeperStorage storage(500, "", true); storage.getSessionID(130); for (size_t j = 1; j <= 5; ++j) @@ -1149,7 +1198,7 @@ TEST_P(CoordinationTest, TestStorageSnapshotMode) auto params = GetParam(); ChangelogDirTest test("./snapshots"); DB::KeeperSnapshotManager manager("./snapshots", 3, params.enable_compression); - DB::KeeperStorage storage(500, ""); + DB::KeeperStorage storage(500, "", true); for (size_t i = 0; i < 50; ++i) { addNode(storage, "/hello_" + std::to_string(i), "world_" + std::to_string(i)); @@ -1202,7 +1251,7 @@ TEST_P(CoordinationTest, TestStorageSnapshotBroken) auto params = GetParam(); ChangelogDirTest test("./snapshots"); DB::KeeperSnapshotManager manager("./snapshots", 3, params.enable_compression); - DB::KeeperStorage storage(500, ""); + DB::KeeperStorage storage(500, "", true); for (size_t i = 0; i < 50; ++i) { addNode(storage, "/hello_" + std::to_string(i), "world_" + std::to_string(i)); @@ -1222,7 +1271,7 @@ TEST_P(CoordinationTest, TestStorageSnapshotBroken) EXPECT_THROW(manager.restoreFromLatestSnapshot(), DB::Exception); } -nuraft::ptr getBufferFromZKRequest(int64_t session_id, const Coordination::ZooKeeperRequestPtr & request) +nuraft::ptr getBufferFromZKRequest(int64_t session_id, int64_t zxid, const Coordination::ZooKeeperRequestPtr & request) { DB::WriteBufferFromNuraftBuffer buf; DB::writeIntBinary(session_id, buf); @@ -1230,12 +1279,14 @@ nuraft::ptr getBufferFromZKRequest(int64_t session_id, const Coo using namespace std::chrono; auto time = duration_cast(system_clock::now().time_since_epoch()).count(); DB::writeIntBinary(time, buf); + DB::writeIntBinary(zxid, buf); + DB::writeIntBinary(DB::KeeperStorage::DigestVersion::NO_DIGEST, buf); return buf.getBuffer(); } -nuraft::ptr getLogEntryFromZKRequest(size_t term, int64_t session_id, const Coordination::ZooKeeperRequestPtr & request) +nuraft::ptr getLogEntryFromZKRequest(size_t term, int64_t session_id, int64_t zxid, const Coordination::ZooKeeperRequestPtr & request) { - auto buffer = getBufferFromZKRequest(session_id, request); + auto buffer = getBufferFromZKRequest(session_id, zxid, request); return nuraft::cs_new(term, buffer); } @@ -1257,10 +1308,11 @@ void testLogAndStateMachine(Coordination::CoordinationSettingsPtr settings, uint { std::shared_ptr request = std::make_shared(); request->path = "/hello_" + std::to_string(i); - auto entry = getLogEntryFromZKRequest(0, 1, request); + auto entry = getLogEntryFromZKRequest(0, 1, i, request); changelog.append(entry); changelog.end_of_append_batch(0, 0); + state_machine->pre_commit(i, changelog.entry_at(i)->get_buf()); state_machine->commit(i, changelog.entry_at(i)->get_buf()); bool snapshot_created = false; if (i % settings->snapshot_distance == 0) @@ -1305,6 +1357,7 @@ void testLogAndStateMachine(Coordination::CoordinationSettingsPtr settings, uint for (size_t i = restore_machine->last_commit_index() + 1; i < restore_changelog.next_slot(); ++i) { + restore_machine->pre_commit(i, changelog.entry_at(i)->get_buf()); restore_machine->commit(i, changelog.entry_at(i)->get_buf()); } @@ -1406,7 +1459,8 @@ TEST_P(CoordinationTest, TestEphemeralNodeRemove) std::shared_ptr request_c = std::make_shared(); request_c->path = "/hello"; request_c->is_ephemeral = true; - auto entry_c = getLogEntryFromZKRequest(0, 1, request_c); + auto entry_c = getLogEntryFromZKRequest(0, 1, state_machine->getNextZxid(), request_c); + state_machine->pre_commit(1, entry_c->get_buf()); state_machine->commit(1, entry_c->get_buf()); const auto & storage = state_machine->getStorage(); @@ -1414,7 +1468,8 @@ TEST_P(CoordinationTest, TestEphemeralNodeRemove) std::shared_ptr request_d = std::make_shared(); request_d->path = "/hello"; /// Delete from other session - auto entry_d = getLogEntryFromZKRequest(0, 2, request_d); + auto entry_d = getLogEntryFromZKRequest(0, 2, state_machine->getNextZxid(), request_d); + state_machine->pre_commit(2, entry_d->get_buf()); state_machine->commit(2, entry_d->get_buf()); EXPECT_EQ(storage.ephemerals.size(), 0); @@ -1434,7 +1489,7 @@ TEST_P(CoordinationTest, TestRotateIntervalChanges) { std::shared_ptr request = std::make_shared(); request->path = "/hello_" + std::to_string(i); - auto entry = getLogEntryFromZKRequest(0, 1, request); + auto entry = getLogEntryFromZKRequest(0, 1, i, request); changelog.append(entry); changelog.end_of_append_batch(0, 0); } @@ -1449,7 +1504,7 @@ TEST_P(CoordinationTest, TestRotateIntervalChanges) { std::shared_ptr request = std::make_shared(); request->path = "/hello_" + std::to_string(100 + i); - auto entry = getLogEntryFromZKRequest(0, 1, request); + auto entry = getLogEntryFromZKRequest(0, 1, i, request); changelog_1.append(entry); changelog_1.end_of_append_batch(0, 0); } @@ -1464,7 +1519,7 @@ TEST_P(CoordinationTest, TestRotateIntervalChanges) { std::shared_ptr request = std::make_shared(); request->path = "/hello_" + std::to_string(200 + i); - auto entry = getLogEntryFromZKRequest(0, 1, request); + auto entry = getLogEntryFromZKRequest(0, 1, i, request); changelog_2.append(entry); changelog_2.end_of_append_batch(0, 0); } @@ -1484,7 +1539,7 @@ TEST_P(CoordinationTest, TestRotateIntervalChanges) { std::shared_ptr request = std::make_shared(); request->path = "/hello_" + std::to_string(300 + i); - auto entry = getLogEntryFromZKRequest(0, 1, request); + auto entry = getLogEntryFromZKRequest(0, 1, i, request); changelog_3.append(entry); changelog_3.end_of_append_batch(0, 0); } @@ -1531,7 +1586,7 @@ TEST_P(CoordinationTest, TestCompressedLogsMultipleRewrite) { std::shared_ptr request = std::make_shared(); request->path = "/hello_" + std::to_string(i); - auto entry = getLogEntryFromZKRequest(0, 1, request); + auto entry = getLogEntryFromZKRequest(0, 1, i, request); changelog.append(entry); changelog.end_of_append_batch(0, 0); } @@ -1543,7 +1598,7 @@ TEST_P(CoordinationTest, TestCompressedLogsMultipleRewrite) { std::shared_ptr request = std::make_shared(); request->path = "/hello_" + std::to_string(i); - auto entry = getLogEntryFromZKRequest(0, 1, request); + auto entry = getLogEntryFromZKRequest(0, 1, i, request); changelog1.append(entry); changelog1.end_of_append_batch(0, 0); } @@ -1554,7 +1609,7 @@ TEST_P(CoordinationTest, TestCompressedLogsMultipleRewrite) { std::shared_ptr request = std::make_shared(); request->path = "/hello_" + std::to_string(i); - auto entry = getLogEntryFromZKRequest(0, 1, request); + auto entry = getLogEntryFromZKRequest(0, 1, i, request); changelog2.append(entry); changelog2.end_of_append_batch(0, 0); } @@ -1567,7 +1622,7 @@ TEST_P(CoordinationTest, TestStorageSnapshotDifferentCompressions) ChangelogDirTest test("./snapshots"); DB::KeeperSnapshotManager manager("./snapshots", 3, params.enable_compression); - DB::KeeperStorage storage(500, ""); + DB::KeeperStorage storage(500, "", true); addNode(storage, "/hello", "world", 1); addNode(storage, "/hello/somepath", "somedata", 3); storage.session_id_counter = 5; @@ -1719,7 +1774,7 @@ TEST_P(CoordinationTest, TestStorageSnapshotEqual) { DB::KeeperSnapshotManager manager("./snapshots", 3, params.enable_compression); - DB::KeeperStorage storage(500, ""); + DB::KeeperStorage storage(500, "", true); for (size_t j = 0; j < 5000; ++j) { addNode(storage, "/hello_" + std::to_string(j), "world", 1); @@ -1763,7 +1818,7 @@ TEST_P(CoordinationTest, TestLogGap) { std::shared_ptr request = std::make_shared(); request->path = "/hello_" + std::to_string(i); - auto entry = getLogEntryFromZKRequest(0, 1, request); + auto entry = getLogEntryFromZKRequest(0, 1, i, request); changelog.append(entry); changelog.end_of_append_batch(0, 0); } @@ -1777,6 +1832,129 @@ TEST_P(CoordinationTest, TestLogGap) EXPECT_EQ(changelog1.next_slot(), 61); } +template +ResponseType getSingleResponse(const auto & responses) +{ + EXPECT_FALSE(responses.empty()); + return dynamic_cast(*responses[0].response); +} + +TEST_P(CoordinationTest, TestUncommittedStateBasicCrud) +{ + using namespace DB; + using namespace Coordination; + + DB::KeeperStorage storage{500, "", true}; + + constexpr std::string_view path = "/test"; + + const auto get_committed_data = [&]() -> std::optional + { + auto request = std::make_shared(); + request->path = path; + auto responses = storage.processRequest(request, 0, std::nullopt, true, true); + const auto & get_response = getSingleResponse(responses); + + if (get_response.error != Error::ZOK) + return std::nullopt; + + return get_response.data; + }; + + const auto preprocess_get = [&](int64_t zxid) + { + auto get_request = std::make_shared(); + get_request->path = path; + storage.preprocessRequest(get_request, 0, 0, zxid); + return get_request; + }; + + const auto create_request = std::make_shared(); + create_request->path = path; + create_request->data = "initial_data"; + storage.preprocessRequest(create_request, 0, 0, 1); + storage.preprocessRequest(create_request, 0, 0, 2); + + ASSERT_FALSE(get_committed_data()); + + const auto after_create_get = preprocess_get(3); + + ASSERT_FALSE(get_committed_data()); + + const auto set_request = std::make_shared(); + set_request->path = path; + set_request->data = "new_data"; + storage.preprocessRequest(set_request, 0, 0, 4); + + const auto after_set_get = preprocess_get(5); + + ASSERT_FALSE(get_committed_data()); + + const auto remove_request = std::make_shared(); + remove_request->path = path; + storage.preprocessRequest(remove_request, 0, 0, 6); + storage.preprocessRequest(remove_request, 0, 0, 7); + + const auto after_remove_get = preprocess_get(8); + + ASSERT_FALSE(get_committed_data()); + + { + const auto responses = storage.processRequest(create_request, 0, 1); + const auto & create_response = getSingleResponse(responses); + ASSERT_EQ(create_response.error, Error::ZOK); + } + + { + const auto responses = storage.processRequest(create_request, 0, 2); + const auto & create_response = getSingleResponse(responses); + ASSERT_EQ(create_response.error, Error::ZNODEEXISTS); + } + + { + const auto responses = storage.processRequest(after_create_get, 0, 3); + const auto & get_response = getSingleResponse(responses); + ASSERT_EQ(get_response.error, Error::ZOK); + ASSERT_EQ(get_response.data, "initial_data"); + } + + ASSERT_EQ(get_committed_data(), "initial_data"); + + { + const auto responses = storage.processRequest(set_request, 0, 4); + const auto & create_response = getSingleResponse(responses); + ASSERT_EQ(create_response.error, Error::ZOK); + } + + { + const auto responses = storage.processRequest(after_set_get, 0, 5); + const auto & get_response = getSingleResponse(responses); + ASSERT_EQ(get_response.error, Error::ZOK); + ASSERT_EQ(get_response.data, "new_data"); + } + + ASSERT_EQ(get_committed_data(), "new_data"); + + { + const auto responses = storage.processRequest(remove_request, 0, 6); + const auto & create_response = getSingleResponse(responses); + ASSERT_EQ(create_response.error, Error::ZOK); + } + + { + const auto responses = storage.processRequest(remove_request, 0, 7); + const auto & create_response = getSingleResponse(responses); + ASSERT_EQ(create_response.error, Error::ZNONODE); + } + + { + const auto responses = storage.processRequest(after_remove_get, 0, 8); + const auto & get_response = getSingleResponse(responses); + ASSERT_EQ(get_response.error, Error::ZNONODE); + } + + ASSERT_FALSE(get_committed_data()); +} INSTANTIATE_TEST_SUITE_P(CoordinationTestSuite, CoordinationTest, diff --git a/src/Core/BackgroundSchedulePool.cpp b/src/Core/BackgroundSchedulePool.cpp index 344860ca5dd..6f5a5a1fa54 100644 --- a/src/Core/BackgroundSchedulePool.cpp +++ b/src/Core/BackgroundSchedulePool.cpp @@ -10,18 +10,6 @@ namespace DB { - -class TaskNotification final : public Poco::Notification -{ -public: - explicit TaskNotification(const BackgroundSchedulePoolTaskInfoPtr & task_) : task(task_) {} - void execute() { task->execute(); } - -private: - BackgroundSchedulePoolTaskInfoPtr task; -}; - - BackgroundSchedulePoolTaskInfo::BackgroundSchedulePoolTaskInfo( BackgroundSchedulePool & pool_, const std::string & log_name_, const BackgroundSchedulePool::TaskFunc & function_) : pool(pool_), log_name(log_name_), function(function_) @@ -39,7 +27,7 @@ bool BackgroundSchedulePoolTaskInfo::schedule() return true; } -bool BackgroundSchedulePoolTaskInfo::scheduleAfter(size_t ms, bool overwrite) +bool BackgroundSchedulePoolTaskInfo::scheduleAfter(size_t milliseconds, bool overwrite) { std::lock_guard lock(schedule_mutex); @@ -48,7 +36,7 @@ bool BackgroundSchedulePoolTaskInfo::scheduleAfter(size_t ms, bool overwrite) if (delayed && !overwrite) return false; - pool.scheduleDelayedTask(shared_from_this(), ms, lock); + pool.scheduleDelayedTask(shared_from_this(), milliseconds, lock); return true; } @@ -106,7 +94,7 @@ void BackgroundSchedulePoolTaskInfo::execute() UInt64 milliseconds = watch.elapsedMilliseconds(); /// If the task is executed longer than specified time, it will be logged. - static const int32_t slow_execution_threshold_ms = 200; + static constexpr UInt64 slow_execution_threshold_ms = 200; if (milliseconds >= slow_execution_threshold_ms) LOG_TRACE(&Poco::Logger::get(log_name), "Execution took {} ms.", milliseconds); @@ -121,7 +109,7 @@ void BackgroundSchedulePoolTaskInfo::execute() /// will have their chance to execute if (scheduled) - pool.queue.enqueueNotification(new TaskNotification(shared_from_this())); + pool.scheduleTask(shared_from_this()); } } @@ -136,14 +124,14 @@ void BackgroundSchedulePoolTaskInfo::scheduleImpl(std::lock_guard & /// But if it is currently executing, do nothing because it will be enqueued /// at the end of the execute() method. if (!executing) - pool.queue.enqueueNotification(new TaskNotification(shared_from_this())); + pool.scheduleTask(shared_from_this()); } Coordination::WatchCallback BackgroundSchedulePoolTaskInfo::getWatchCallback() { - return [t = shared_from_this()](const Coordination::WatchResponse &) + return [task = shared_from_this()](const Coordination::WatchResponse &) { - t->schedule(); + task->schedule(); }; } @@ -184,15 +172,18 @@ BackgroundSchedulePool::~BackgroundSchedulePool() try { { - std::unique_lock lock(delayed_tasks_mutex); + std::lock_guard lock_tasks(tasks_mutex); + std::lock_guard lock_delayed_tasks(delayed_tasks_mutex); + shutdown = true; - wakeup_cond.notify_all(); } - queue.wakeUpAll(); - delayed_thread.join(); + tasks_cond_var.notify_all(); + delayed_tasks_cond_var.notify_all(); LOG_TRACE(&Poco::Logger::get("BackgroundSchedulePool/" + thread_name), "Waiting for threads to finish."); + delayed_thread.join(); + for (auto & thread : threads) thread.join(); } @@ -208,6 +199,15 @@ BackgroundSchedulePool::TaskHolder BackgroundSchedulePool::createTask(const std: return TaskHolder(std::make_shared(*this, name, function)); } +void BackgroundSchedulePool::scheduleTask(TaskInfoPtr task_info) +{ + { + std::lock_guard tasks_lock(tasks_mutex); + tasks.push_back(std::move(task_info)); + } + + tasks_cond_var.notify_one(); +} void BackgroundSchedulePool::scheduleDelayedTask(const TaskInfoPtr & task, size_t ms, std::lock_guard & /* task_schedule_mutex_lock */) { @@ -223,7 +223,7 @@ void BackgroundSchedulePool::scheduleDelayedTask(const TaskInfoPtr & task, size_ task->delayed = true; } - wakeup_cond.notify_all(); + delayed_tasks_cond_var.notify_all(); } @@ -235,7 +235,7 @@ void BackgroundSchedulePool::cancelDelayedTask(const TaskInfoPtr & task, std::lo task->delayed = false; } - wakeup_cond.notify_all(); + delayed_tasks_cond_var.notify_all(); } @@ -264,20 +264,25 @@ void BackgroundSchedulePool::threadFunction() while (!shutdown) { - /// We have to wait with timeout to prevent very rare deadlock, caused by the following race condition: - /// 1. Background thread N: threadFunction(): checks for shutdown (it's false) - /// 2. Main thread: ~BackgroundSchedulePool(): sets shutdown to true, calls queue.wakeUpAll(), it triggers - /// all existing Poco::Events inside Poco::NotificationQueue which background threads are waiting on. - /// 3. Background thread N: threadFunction(): calls queue.waitDequeueNotification(), it creates - /// new Poco::Event inside Poco::NotificationQueue and starts to wait on it - /// Background thread N will never be woken up. - /// TODO Do we really need Poco::NotificationQueue? Why not to use std::queue + mutex + condvar or maybe even DB::ThreadPool? - constexpr size_t wait_timeout_ms = 500; - if (Poco::AutoPtr notification = queue.waitDequeueNotification(wait_timeout_ms)) + TaskInfoPtr task; + { - TaskNotification & task_notification = static_cast(*notification); - task_notification.execute(); + std::unique_lock tasks_lock(tasks_mutex); + + tasks_cond_var.wait(tasks_lock, [&]() + { + return shutdown || !tasks.empty(); + }); + + if (!tasks.empty()) + { + task = tasks.front(); + tasks.pop_front(); + } } + + if (task) + task->execute(); } } @@ -309,7 +314,7 @@ void BackgroundSchedulePool::delayExecutionThreadFunction() if (!task) { - wakeup_cond.wait(lock); + delayed_tasks_cond_var.wait(lock); continue; } @@ -317,7 +322,7 @@ void BackgroundSchedulePool::delayExecutionThreadFunction() if (min_time > current_time) { - wakeup_cond.wait_for(lock, std::chrono::microseconds(min_time - current_time)); + delayed_tasks_cond_var.wait_for(lock, std::chrono::microseconds(min_time - current_time)); continue; } else diff --git a/src/Core/BackgroundSchedulePool.h b/src/Core/BackgroundSchedulePool.h index fbd7e3f749a..ebd0d52ee20 100644 --- a/src/Core/BackgroundSchedulePool.h +++ b/src/Core/BackgroundSchedulePool.h @@ -62,6 +62,8 @@ private: void threadFunction(); void delayExecutionThreadFunction(); + void scheduleTask(TaskInfoPtr task_info); + /// Schedule task for execution after specified delay from now. void scheduleDelayedTask(const TaskInfoPtr & task_info, size_t ms, std::lock_guard & task_schedule_mutex_lock); @@ -69,12 +71,16 @@ private: void cancelDelayedTask(const TaskInfoPtr & task_info, std::lock_guard & task_schedule_mutex_lock); std::atomic shutdown {false}; + + /// Tasks. + std::condition_variable tasks_cond_var; + std::mutex tasks_mutex; + std::deque tasks; Threads threads; - Poco::NotificationQueue queue; - /// Delayed notifications. + /// Delayed tasks. - std::condition_variable wakeup_cond; + std::condition_variable delayed_tasks_cond_var; std::mutex delayed_tasks_mutex; /// Thread waiting for next delayed task. ThreadFromGlobalPool delayed_thread; @@ -102,7 +108,7 @@ public: /// Schedule for execution after specified delay. /// If overwrite is set then the task will be re-scheduled (if it was already scheduled, i.e. delayed == true). - bool scheduleAfter(size_t ms, bool overwrite = true); + bool scheduleAfter(size_t milliseconds, bool overwrite = true); /// Further attempts to schedule become no-op. Will wait till the end of the current execution of the task. void deactivate(); diff --git a/src/Core/ColumnNumbers.h b/src/Core/ColumnNumbers.h index 37507a6d683..51054435e17 100644 --- a/src/Core/ColumnNumbers.h +++ b/src/Core/ColumnNumbers.h @@ -1,5 +1,6 @@ #pragma once +#include #include @@ -7,6 +8,8 @@ namespace DB { using ColumnNumbers = std::vector; +using ColumnNumbersSet = std::unordered_set; using ColumnNumbersList = std::vector; +using ColumnNumbersSetList = std::vector; } diff --git a/src/Core/ExternalTable.cpp b/src/Core/ExternalTable.cpp index 3b515fab5c9..4528fe19e03 100644 --- a/src/Core/ExternalTable.cpp +++ b/src/Core/ExternalTable.cpp @@ -12,8 +12,9 @@ #include #include #include -#include +#include #include +#include #include #include @@ -36,7 +37,8 @@ ExternalTableDataPtr BaseExternalTable::getData(ContextPtr context) auto input = context->getInputFormat(format, *read_buffer, sample_block, DEFAULT_BLOCK_SIZE); auto data = std::make_unique(); - data->pipe = std::make_unique(std::move(input)); + data->pipe = std::make_unique(); + data->pipe->init(Pipe(std::move(input))); data->table_name = name; return data; @@ -157,20 +159,14 @@ void ExternalTablesHandler::handlePart(const Poco::Net::MessageHeader & header, auto storage = temporary_table.getTable(); getContext()->addExternalTable(data->table_name, std::move(temporary_table)); auto sink = storage->write(ASTPtr(), storage->getInMemoryMetadataPtr(), getContext()); - auto exception_handling = std::make_shared(sink->getOutputPort().getHeader()); /// Write data - data->pipe->resize(1); + auto pipeline = QueryPipelineBuilder::getPipeline(std::move(*data->pipe)); + pipeline.complete(std::move(sink)); + pipeline.setNumThreads(1); - connect(*data->pipe->getOutputPort(0), sink->getInputPort()); - connect(sink->getOutputPort(), exception_handling->getPort()); - - auto processors = Pipe::detachProcessors(std::move(*data->pipe)); - processors.push_back(std::move(sink)); - processors.push_back(std::move(exception_handling)); - - auto executor = std::make_shared(processors, getContext()->getProcessListElement()); - executor->execute(/*num_threads = */ 1); + CompletedPipelineExecutor executor(pipeline); + executor.execute(); /// We are ready to receive the next file, for this we clear all the information received clear(); diff --git a/src/Core/Field.h b/src/Core/Field.h index 2a925a9e2a6..4948ec4ae61 100644 --- a/src/Core/Field.h +++ b/src/Core/Field.h @@ -54,7 +54,7 @@ DEFINE_FIELD_VECTOR(Map); /// TODO: use map instead of vector. #undef DEFINE_FIELD_VECTOR -using FieldMap = std::map, AllocatorWithMemoryTracking>>; +using FieldMap = std::map, AllocatorWithMemoryTracking>>; #define DEFINE_FIELD_MAP(X) \ struct X : public FieldMap \ diff --git a/src/Core/Names.h b/src/Core/Names.h index 3281daa560e..003168bde27 100644 --- a/src/Core/Names.h +++ b/src/Core/Names.h @@ -16,6 +16,7 @@ using NameOrderedSet = std::set; using NameToNameMap = std::unordered_map; using NameToNameSetMap = std::unordered_map; using NameToNameVector = std::vector>; +using NameToIndexMap = std::unordered_map; using NameWithAlias = std::pair; using NamesWithAliases = std::vector; diff --git a/src/Core/NamesAndTypes.cpp b/src/Core/NamesAndTypes.cpp index bd24a9e82bd..72768ce23fb 100644 --- a/src/Core/NamesAndTypes.cpp +++ b/src/Core/NamesAndTypes.cpp @@ -1,3 +1,4 @@ +#include #include #include @@ -214,4 +215,17 @@ std::optional NamesAndTypesList::tryGetByName(const std::string } return {}; } + +size_t NamesAndTypesList::getPosByName(const std::string &name) const noexcept +{ + size_t pos = 0; + for (const NameAndTypePair & column : *this) + { + if (column.name == name) + break; + ++pos; + } + return pos; +} + } diff --git a/src/Core/NamesAndTypes.h b/src/Core/NamesAndTypes.h index 2719017a726..b9c03aae0ca 100644 --- a/src/Core/NamesAndTypes.h +++ b/src/Core/NamesAndTypes.h @@ -105,8 +105,11 @@ public: /// Check that column contains in list bool contains(const String & name) const; - /// Try to get column by name, return empty optional if column not found + /// Try to get column by name, returns empty optional if column not found std::optional tryGetByName(const std::string & name) const; + + /// Try to get column position by name, returns number of columns if column isn't found + size_t getPosByName(const std::string & name) const noexcept; }; using NamesAndTypesLists = std::vector; diff --git a/src/Core/PostgreSQL/Connection.cpp b/src/Core/PostgreSQL/Connection.cpp index e526396e1d1..dfdf14d3506 100644 --- a/src/Core/PostgreSQL/Connection.cpp +++ b/src/Core/PostgreSQL/Connection.cpp @@ -30,7 +30,7 @@ void Connection::execWithRetry(const std::function LOG_DEBUG(log, "Cannot execute query due to connection failure, attempt: {}/{}. (Message: {})", try_no, num_tries, e.what()); - if (try_no == num_tries) + if (try_no + 1 == num_tries) throw; } } diff --git a/src/Core/PostgreSQL/Connection.h b/src/Core/PostgreSQL/Connection.h index 8c5609dc66b..97ce3c152d5 100644 --- a/src/Core/PostgreSQL/Connection.h +++ b/src/Core/PostgreSQL/Connection.h @@ -32,7 +32,7 @@ struct ConnectionInfo class Connection : private boost::noncopyable { public: - Connection(const ConnectionInfo & connection_info_, bool replication_ = false, size_t num_tries = 3); + explicit Connection(const ConnectionInfo & connection_info_, bool replication_ = false, size_t num_tries = 3); void execWithRetry(const std::function & exec); diff --git a/src/Core/PostgreSQL/PoolWithFailover.h b/src/Core/PostgreSQL/PoolWithFailover.h index 600e12fb53a..4e3a17b5e9c 100644 --- a/src/Core/PostgreSQL/PoolWithFailover.h +++ b/src/Core/PostgreSQL/PoolWithFailover.h @@ -25,13 +25,13 @@ public: static constexpr inline auto POSTGRESQL_POOL_WAIT_TIMEOUT = 5000; static constexpr inline auto POSTGRESQL_POOL_WITH_FAILOVER_DEFAULT_MAX_TRIES = 5; - PoolWithFailover( + explicit PoolWithFailover( const DB::ExternalDataSourcesConfigurationByPriority & configurations_by_priority, size_t pool_size = POSTGRESQL_POOL_DEFAULT_SIZE, size_t pool_wait_timeout = POSTGRESQL_POOL_WAIT_TIMEOUT, size_t max_tries_ = POSTGRESQL_POOL_WITH_FAILOVER_DEFAULT_MAX_TRIES); - PoolWithFailover( + explicit PoolWithFailover( const DB::StoragePostgreSQLConfiguration & configuration, size_t pool_size = POSTGRESQL_POOL_DEFAULT_SIZE, size_t pool_wait_timeout = POSTGRESQL_POOL_WAIT_TIMEOUT, diff --git a/src/Core/ProtocolDefines.h b/src/Core/ProtocolDefines.h index 6ee491f3ab5..2df48a79776 100644 --- a/src/Core/ProtocolDefines.h +++ b/src/Core/ProtocolDefines.h @@ -52,6 +52,8 @@ /// NOTE: DBMS_TCP_PROTOCOL_VERSION has nothing common with VERSION_REVISION, /// later is just a number for server version (one number instead of commit SHA) /// for simplicity (sometimes it may be more convenient in some use cases). -#define DBMS_TCP_PROTOCOL_VERSION 54455 +#define DBMS_TCP_PROTOCOL_VERSION 54456 #define DBMS_MIN_PROTOCOL_VERSION_WITH_INITIAL_QUERY_START_TIME 54449 + +#define DBMS_MIN_PROTOCOL_VERSION_WITH_PROFILE_EVENTS_IN_INSERT 54456 diff --git a/src/Core/Settings.h b/src/Core/Settings.h index 7140f238750..e7a52f99eed 100644 --- a/src/Core/Settings.h +++ b/src/Core/Settings.h @@ -128,7 +128,7 @@ static constexpr UInt64 operator""_GiB(unsigned long long value) M(UInt64, group_by_two_level_threshold_bytes, 50000000, "From what size of the aggregation state in bytes, a two-level aggregation begins to be used. 0 - the threshold is not set. Two-level aggregation is used when at least one of the thresholds is triggered.", 0) \ M(Bool, distributed_aggregation_memory_efficient, true, "Is the memory-saving mode of distributed aggregation enabled.", 0) \ M(UInt64, aggregation_memory_efficient_merge_threads, 0, "Number of threads to use for merge intermediate aggregation results in memory efficient mode. When bigger, then more memory is consumed. 0 means - same as 'max_threads'.", 0) \ - M(Bool, enable_positional_arguments, false, "Enable positional arguments in ORDER BY, GROUP BY and LIMIT BY", 0) \ + M(Bool, enable_positional_arguments, true, "Enable positional arguments in ORDER BY, GROUP BY and LIMIT BY", 0) \ \ M(UInt64, max_parallel_replicas, 1, "The maximum number of replicas of each shard used when the query is executed. For consistency (to get different parts of the same partition), this option only works for the specified sampling key. The lag of the replicas is not controlled.", 0) \ M(UInt64, parallel_replicas_count, 0, "", 0) \ @@ -184,6 +184,8 @@ static constexpr UInt64 operator""_GiB(unsigned long long value) \ M(Int64, network_zstd_compression_level, 1, "Allows you to select the level of ZSTD compression.", 0) \ \ + M(Int64, zstd_window_log_max, 0, "Allows you to select the max window log of ZSTD (it will not be used for MergeTree family)", 0) \ + \ M(UInt64, priority, 0, "Priority of the query. 1 - the highest, higher value - lower priority; 0 - do not use priorities.", 0) \ M(Int64, os_thread_priority, 0, "If non zero - set corresponding 'nice' value for query processing threads. Can be used to adjust query priority for OS scheduler.", 0) \ \ @@ -373,7 +375,7 @@ static constexpr UInt64 operator""_GiB(unsigned long long value) M(UInt64, memory_profiler_step, (4 * 1024 * 1024), "Whenever query memory usage becomes larger than every next step in number of bytes the memory profiler will collect the allocating stack trace. Zero means disabled memory profiler. Values lower than a few megabytes will slow down query processing.", 0) \ M(Float, memory_profiler_sample_probability, 0., "Collect random allocations and deallocations and write them into system.trace_log with 'MemorySample' trace_type. The probability is for every alloc/free regardless to the size of the allocation. Note that sampling happens only when the amount of untracked memory exceeds 'max_untracked_memory'. You may want to set 'max_untracked_memory' to 0 for extra fine grained sampling.", 0) \ \ - M(UInt64, memory_usage_overcommit_max_wait_microseconds, 200, "Maximum time thread will wait for memory to be freed in the case of memory overcommit on user level. If timeout is reached and memory is not freed, exception is thrown.", 0) \ + M(UInt64, memory_usage_overcommit_max_wait_microseconds, 5'000'000, "Maximum time thread will wait for memory to be freed in the case of memory overcommit. If timeout is reached and memory is not freed, exception is thrown.", 0) \ \ M(UInt64, max_network_bandwidth, 0, "The maximum speed of data exchange over the network in bytes per second for a query. Zero means unlimited.", 0) \ M(UInt64, max_network_bytes, 0, "The maximum number of bytes (compressed) to receive or transmit over the network for execution of the query.", 0) \ @@ -405,6 +407,7 @@ static constexpr UInt64 operator""_GiB(unsigned long long value) M(Bool, parallel_view_processing, false, "Enables pushing to attached views concurrently instead of sequentially.", 0) \ M(Bool, enable_unaligned_array_join, false, "Allow ARRAY JOIN with multiple arrays that have different sizes. When this settings is enabled, arrays will be resized to the longest one.", 0) \ M(Bool, optimize_read_in_order, true, "Enable ORDER BY optimization for reading data in corresponding order in MergeTree tables.", 0) \ + M(Bool, optimize_read_in_window_order, true, "Enable ORDER BY optimization in window clause for reading data in corresponding order in MergeTree tables.", 0) \ M(Bool, optimize_aggregation_in_order, false, "Enable GROUP BY optimization for aggregating data in corresponding order in MergeTree tables.", 0) \ M(UInt64, aggregation_in_order_max_block_bytes, 50000000, "Maximal size of block in bytes accumulated during aggregation in order of primary key. Lower block size allows to parallelize more final merge stage of aggregation.", 0) \ M(UInt64, read_in_order_two_level_merge_threshold, 100, "Minimal number of parts to read to run preliminary merge step during multithread reading in order of primary key.", 0) \ @@ -428,6 +431,7 @@ static constexpr UInt64 operator""_GiB(unsigned long long value) M(UInt64, postgresql_connection_pool_wait_timeout, 5000, "Connection pool push/pop timeout on empty pool for PostgreSQL table engine and database engine. By default it will block on empty pool.", 0) \ M(UInt64, glob_expansion_max_elements, 1000, "Maximum number of allowed addresses (For external storages, table functions, etc).", 0) \ M(UInt64, odbc_bridge_connection_pool_size, 16, "Connection pool size for each connection settings string in ODBC bridge.", 0) \ + M(Bool, odbc_bridge_use_connection_pooling, true, "Use connection pooling in ODBC bridge. If set to false, a new connection is created every time", 0) \ \ M(Seconds, distributed_replica_error_half_life, DBMS_CONNECTION_POOL_WITH_FAILOVER_DEFAULT_DECREASE_ERROR_PERIOD, "Time period reduces replica error counter by 2 times.", 0) \ M(UInt64, distributed_replica_error_cap, DBMS_CONNECTION_POOL_WITH_FAILOVER_MAX_ERROR_COUNT, "Max number of errors per replica, prevents piling up an incredible amount of errors if replica was offline for some time and allows it to be reconsidered in a shorter amount of time.", 0) \ @@ -442,7 +446,6 @@ static constexpr UInt64 operator""_GiB(unsigned long long value) M(Seconds, wait_for_window_view_fire_signal_timeout, 10, "Timeout for waiting for window view fire signal in event time processing", 0) \ M(UInt64, min_free_disk_space_for_temporary_data, 0, "The minimum disk space to keep while writing temporary data used in external sorting and aggregation.", 0) \ \ - M(DefaultDatabaseEngine, default_database_engine, DefaultDatabaseEngine::Atomic, "Default database engine.", 0) \ M(DefaultTableEngine, default_table_engine, DefaultTableEngine::None, "Default table engine used when ENGINE is not set in CREATE statement.",0) \ M(Bool, show_table_uuid_in_table_create_query_if_not_nil, false, "For tables in databases with Engine=Atomic show UUID of the table in its CREATE query.", 0) \ M(Bool, database_atomic_wait_for_drop_and_detach_synchronously, false, "When executing DROP or DETACH TABLE in Atomic database, wait for table data to be finally dropped or detached.", 0) \ @@ -459,6 +462,7 @@ static constexpr UInt64 operator""_GiB(unsigned long long value) M(Bool, optimize_duplicate_order_by_and_distinct, true, "Remove duplicate ORDER BY and DISTINCT if it's possible", 0) \ M(Bool, optimize_redundant_functions_in_order_by, true, "Remove functions from ORDER BY if its argument is also in ORDER BY", 0) \ M(Bool, optimize_if_chain_to_multiif, false, "Replace if(cond1, then1, if(cond2, ...)) chains to multiIf. Currently it's not beneficial for numeric types.", 0) \ + M(Bool, optimize_multiif_to_if, true, "Replace 'multiIf' with only one condition to 'if'.", 0) \ M(Bool, optimize_if_transform_strings_to_enum, false, "Replaces string-type arguments in If and Transform to enum. Disabled by default cause it could make inconsistent change in distributed query that would lead to its fail.", 0) \ M(Bool, optimize_monotonous_functions_in_order_by, true, "Replace monotonous function with its argument in ORDER BY", 0) \ M(Bool, optimize_functions_to_subcolumns, false, "Transform functions to subcolumns, if possible, to reduce amount of read data. E.g. 'length(arr)' -> 'arr.size0', 'col IS NULL' -> 'col.null' ", 0) \ @@ -480,7 +484,7 @@ static constexpr UInt64 operator""_GiB(unsigned long long value) M(Seconds, lock_acquire_timeout, DBMS_DEFAULT_LOCK_ACQUIRE_TIMEOUT_SEC, "How long locking request should wait before failing", 0) \ M(Bool, materialize_ttl_after_modify, true, "Apply TTL for old data, after ALTER MODIFY TTL query", 0) \ M(String, function_implementation, "", "Choose function implementation for specific target or variant (experimental). If empty enable all of them.", 0) \ - M(Bool, allow_experimental_geo_types, false, "Allow geo data types such as Point, Ring, Polygon, MultiPolygon", 0) \ + M(Bool, allow_experimental_geo_types, true, "Allow geo data types such as Point, Ring, Polygon, MultiPolygon", 0) \ M(Bool, data_type_default_nullable, false, "Data types without NULL or NOT NULL will make Nullable", 0) \ M(Bool, cast_keep_nullable, false, "CAST operator keep Nullable for result data type", 0) \ M(Bool, cast_ipv4_ipv6_default_on_conversion_error, false, "CAST operator into IPv4, CAST operator into IPV6 type, toIPv4, toIPv6 functions will return default value instead of throwing exception on conversion error.", 0) \ @@ -493,8 +497,8 @@ static constexpr UInt64 operator""_GiB(unsigned long long value) M(Bool, allow_non_metadata_alters, true, "Allow to execute alters which affects not only tables metadata, but also data on disk", 0) \ M(Bool, enable_global_with_statement, true, "Propagate WITH statements to UNION queries and all subqueries", 0) \ M(Bool, aggregate_functions_null_for_empty, false, "Rewrite all aggregate functions in a query, adding -OrNull suffix to them", 0) \ - M(Bool, optimize_syntax_fuse_functions, false, "Allow apply syntax optimisation: fuse aggregate functions", 0) \ - M(Bool, optimize_fuse_sum_count_avg, false, "Fuse functions `sum, avg, count` with identical arguments into one `sumCount` (`optimize_syntax_fuse_functions should be enabled)", 0) \ + M(Bool, optimize_syntax_fuse_functions, false, "Not ready for production, do not use. Allow apply syntax optimisation: fuse aggregate functions", 0) \ + M(Bool, optimize_fuse_sum_count_avg, false, "Not ready for production, do not use. Fuse functions `sum, avg, count` with identical arguments into one `sumCount` (`optimize_syntax_fuse_functions should be enabled)", 0) \ M(Bool, flatten_nested, true, "If true, columns of type Nested will be flatten to separate array columns instead of one array of tuples", 0) \ M(Bool, asterisk_include_materialized_columns, false, "Include MATERIALIZED columns for wildcard query", 0) \ M(Bool, asterisk_include_alias_columns, false, "Include ALIAS columns for wildcard query", 0) \ @@ -549,7 +553,7 @@ static constexpr UInt64 operator""_GiB(unsigned long long value) M(UInt64, function_range_max_elements_in_block, 500000000, "Maximum number of values generated by function 'range' per block of data (sum of array sizes for every row in a block, see also 'max_block_size' and 'min_insert_block_size_rows'). It is a safety threshold.", 0) \ M(ShortCircuitFunctionEvaluation, short_circuit_function_evaluation, ShortCircuitFunctionEvaluation::ENABLE, "Setting for short-circuit function evaluation configuration. Possible values: 'enable' - use short-circuit function evaluation for functions that are suitable for it, 'disable' - disable short-circuit function evaluation, 'force_enable' - use short-circuit function evaluation for all functions.", 0) \ \ - M(String, local_filesystem_read_method, "pread", "Method of reading data from local filesystem, one of: read, pread, mmap, pread_threadpool.", 0) \ + M(String, local_filesystem_read_method, "pread_threadpool", "Method of reading data from local filesystem, one of: read, pread, mmap, pread_threadpool.", 0) \ M(String, remote_filesystem_read_method, "threadpool", "Method of reading data from remote filesystem, one of: read, threadpool.", 0) \ M(Bool, local_filesystem_read_prefetch, false, "Should use prefetching when reading data from local filesystem.", 0) \ M(Bool, remote_filesystem_read_prefetch, true, "Should use prefetching when reading data from remote filesystem.", 0) \ @@ -568,11 +572,13 @@ static constexpr UInt64 operator""_GiB(unsigned long long value) \ M(UInt64, remote_fs_read_max_backoff_ms, 10000, "Max wait time when trying to read data for remote disk", 0) \ M(UInt64, remote_fs_read_backoff_max_tries, 5, "Max attempts to read with backoff", 0) \ - M(Bool, enable_filesystem_cache, true, "Use cache for remote filesystem. This setting does not turn on/off cache for disks (must me done via disk config), but allows to bypass cache for some queries if intended", 0) \ + M(Bool, enable_filesystem_cache, true, "Use cache for remote filesystem. This setting does not turn on/off cache for disks (must be done via disk config), but allows to bypass cache for some queries if intended", 0) \ M(UInt64, filesystem_cache_max_wait_sec, 5, "Allow to wait at most this number of seconds for download of current remote_fs_buffer_size bytes, and skip cache if exceeded", 0) \ M(Bool, enable_filesystem_cache_on_write_operations, false, "Write into cache on write operations. To actually work this setting requires be added to disk config too", 0) \ M(Bool, enable_filesystem_cache_log, false, "Allows to record the filesystem caching log for each query", 0) \ M(Bool, read_from_filesystem_cache_if_exists_otherwise_bypass_cache, false, "", 0) \ + M(Bool, skip_download_if_exceeds_query_cache, true, "Skip download from remote filesystem if exceeds query cache size", 0) \ + M(UInt64, max_query_cache_size, (128UL * 1024 * 1024 * 1024), "Max remote filesystem cache size that can be used by a single query", 0) \ \ M(Bool, use_structure_from_insertion_table_in_table_functions, false, "Use structure from insertion table instead of schema inference from data", 0) \ \ @@ -585,6 +591,8 @@ static constexpr UInt64 operator""_GiB(unsigned long long value) M(Bool, use_local_cache_for_remote_storage, true, "Use local cache for remote storage like HDFS or S3, it's used for remote table engine only", 0) \ \ M(Bool, allow_unrestricted_reads_from_keeper, false, "Allow unrestricted (without condition on path) reads from system.zookeeper table, can be handy, but is not safe for zookeeper", 0) \ + M(Bool, allow_deprecated_database_ordinary, false, "Allow to create databases with deprecated Ordinary engine", 0) \ + M(Bool, allow_deprecated_syntax_for_merge_tree, false, "Allow to create *MergeTree tables with deprecated engine definition syntax", 0) \ \ /** Experimental functions */ \ M(Bool, allow_experimental_funnel_functions, false, "Enable experimental functions for funnel analysis.", 0) \ @@ -595,8 +603,11 @@ static constexpr UInt64 operator""_GiB(unsigned long long value) M(Bool, count_distinct_optimization, false, "Rewrite count distinct to subquery of group by", 0) \ M(Bool, throw_on_unsupported_query_inside_transaction, true, "Throw exception if unsupported query is used inside transaction", 0) \ M(TransactionsWaitCSNMode, wait_changes_become_visible_after_commit_mode, TransactionsWaitCSNMode::WAIT_UNKNOWN, "Wait for committed changes to become actually visible in the latest snapshot", 0) \ + M(Bool, implicit_transaction, false, "If enabled and not already inside a transaction, wraps the query inside a full transaction (begin + commit or rollback)", 0) \ M(Bool, throw_if_no_data_to_insert, true, "Enables or disables empty INSERTs, enabled by default", 0) \ M(Bool, compatibility_ignore_auto_increment_in_create_table, false, "Ignore AUTO_INCREMENT keyword in column declaration if true, otherwise return error. It simplifies migration from MySQL", 0) \ + M(Bool, multiple_joins_try_to_keep_original_names, false, "Do not add aliases to top level expression list on multiple joins rewrite", 0) \ + M(Bool, optimize_distinct_in_order, true, "Enable DISTINCT optimization if some columns in DISTINCT form a prefix of sorting. For example, prefix of sorting key in merge tree or ORDER BY statement", 0) \ // End of COMMON_SETTINGS // Please add settings related to formats into the FORMAT_FACTORY_SETTINGS and move obsolete settings to OBSOLETE_SETTINGS. @@ -630,6 +641,7 @@ static constexpr UInt64 operator""_GiB(unsigned long long value) MAKE_OBSOLETE(M, UInt64, background_schedule_pool_size, 128) \ MAKE_OBSOLETE(M, UInt64, background_message_broker_schedule_pool_size, 16) \ MAKE_OBSOLETE(M, UInt64, background_distributed_schedule_pool_size, 16) \ + MAKE_OBSOLETE(M, DefaultDatabaseEngine, default_database_engine, DefaultDatabaseEngine::Atomic) \ /** The section above is for obsolete settings. Do not add anything there. */ @@ -638,7 +650,7 @@ static constexpr UInt64 operator""_GiB(unsigned long long value) M(Bool, format_csv_allow_single_quotes, true, "If it is set to true, allow strings in single quotes.", 0) \ M(Bool, format_csv_allow_double_quotes, true, "If it is set to true, allow strings in double quotes.", 0) \ M(Bool, output_format_csv_crlf_end_of_line, false, "If it is set true, end of line in CSV format will be \\r\\n instead of \\n.", 0) \ - M(Bool, input_format_csv_enum_as_number, false, "Treat inserted enum values in CSV formats as enum indices \\N", 0) \ + M(Bool, input_format_csv_enum_as_number, false, "Treat inserted enum values in CSV formats as enum indices", 0) \ M(Bool, input_format_csv_arrays_as_nested_csv, false, R"(When reading Array from CSV, expect that its elements were serialized in nested CSV and then put into string. Example: "[""Hello"", ""world"", ""42"""" TV""]". Braces around array can be omitted.)", 0) \ M(Bool, input_format_skip_unknown_fields, true, "Skip columns with unknown names from input data (it works for JSONEachRow, -WithNames, -WithNamesAndTypes and TSKV formats).", 0) \ M(Bool, input_format_with_names_use_header, true, "For -WithNames input formats this controls whether format parser is to assume that column data appear in the input exactly as they are specified in the header.", 0) \ @@ -647,7 +659,7 @@ static constexpr UInt64 operator""_GiB(unsigned long long value) M(Bool, input_format_defaults_for_omitted_fields, true, "For input data calculate default expressions for omitted fields (it works for JSONEachRow, -WithNames, -WithNamesAndTypes formats).", IMPORTANT) \ M(Bool, input_format_csv_empty_as_default, true, "Treat empty fields in CSV input as default values.", 0) \ M(Bool, input_format_tsv_empty_as_default, false, "Treat empty fields in TSV input as default values.", 0) \ - M(Bool, input_format_tsv_enum_as_number, false, "Treat inserted enum values in TSV formats as enum indices \\N", 0) \ + M(Bool, input_format_tsv_enum_as_number, false, "Treat inserted enum values in TSV formats as enum indices.", 0) \ M(Bool, input_format_null_as_default, true, "For text input formats initialize null fields with default values if data type of this field is not nullable", 0) \ M(Bool, input_format_arrow_import_nested, false, "Allow to insert array of structs into Nested table in Arrow input format.", 0) \ M(Bool, input_format_arrow_case_insensitive_column_matching, false, "Ignore case when matching Arrow columns with CH columns.", 0) \ @@ -675,6 +687,8 @@ static constexpr UInt64 operator""_GiB(unsigned long long value) M(Bool, input_format_json_read_bools_as_numbers, true, "Allow to parse bools as numbers in JSON input formats", 0) \ M(Bool, input_format_protobuf_flatten_google_wrappers, false, "Enable Google wrappers for regular non-nested columns, e.g. google.protobuf.StringValue 'str' for String column 'str'. For Nullable columns empty wrappers are recognized as defaults, and missing as nulls", 0) \ M(Bool, output_format_protobuf_nullables_with_google_wrappers, false, "When serializing Nullable columns with Google wrappers, serialize default values as empty wrappers. If turned off, default and null values are not serialized", 0) \ + M(UInt64, input_format_csv_skip_first_lines, 0, "Skip specified number of lines at the beginning of data in CSV format", 0) \ + M(UInt64, input_format_tsv_skip_first_lines, 0, "Skip specified number of lines at the beginning of data in TSV format", 0) \ \ M(DateTimeInputFormat, date_time_input_format, FormatSettings::DateTimeInputFormat::Basic, "Method to read DateTime from text input formats. Possible values: 'basic', 'best_effort' and 'best_effort_us'.", 0) \ M(DateTimeOutputFormat, date_time_output_format, FormatSettings::DateTimeOutputFormat::Simple, "Method to write DateTime to text output. Possible values: 'simple', 'iso', 'unix_timestamp'.", 0) \ @@ -688,13 +702,14 @@ static constexpr UInt64 operator""_GiB(unsigned long long value) M(Bool, input_format_values_deduce_templates_of_expressions, true, "For Values format: if the field could not be parsed by streaming parser, run SQL parser, deduce template of the SQL expression, try to parse all rows using template and then interpret expression for all rows.", 0) \ M(Bool, input_format_values_accurate_types_of_literals, true, "For Values format: when parsing and interpreting expressions using template, check actual type of literal to avoid possible overflow and precision issues.", 0) \ M(Bool, input_format_avro_allow_missing_fields, false, "For Avro/AvroConfluent format: when field is not found in schema use default value instead of error", 0) \ + M(Bool, input_format_avro_null_as_default, false, "For Avro/AvroConfluent format: insert default in case of null and non Nullable column", 0) \ M(URI, format_avro_schema_registry_url, "", "For AvroConfluent format: Confluent Schema Registry URL.", 0) \ \ M(Bool, output_format_json_quote_64bit_integers, true, "Controls quoting of 64-bit integers in JSON output format.", 0) \ M(Bool, output_format_json_quote_denormals, false, "Enables '+nan', '-nan', '+inf', '-inf' outputs in JSON output format.", 0) \ \ M(Bool, output_format_json_escape_forward_slashes, true, "Controls escaping forward slashes for string outputs in JSON output format. This is intended for compatibility with JavaScript. Don't confuse with backslashes that are always escaped.", 0) \ - M(Bool, output_format_json_named_tuples_as_objects, false, "Serialize named tuple columns as JSON objects.", 0) \ + M(Bool, output_format_json_named_tuples_as_objects, true, "Serialize named tuple columns as JSON objects.", 0) \ M(Bool, output_format_json_array_of_rows, false, "Output a JSON array of all rows in JSONEachRow(Compact) format.", 0) \ \ M(UInt64, output_format_pretty_max_rows, 10000, "Rows limit for Pretty formats.", 0) \ @@ -731,7 +746,7 @@ static constexpr UInt64 operator""_GiB(unsigned long long value) \ M(String, format_regexp, "", "Regular expression (for Regexp format)", 0) \ M(EscapingRule, format_regexp_escaping_rule, "Raw", "Field escaping rule (for Regexp format)", 0) \ - M(Bool, format_regexp_skip_unmatched, false, "Skip lines unmatched by regular expression (for Regexp format", 0) \ + M(Bool, format_regexp_skip_unmatched, false, "Skip lines unmatched by regular expression (for Regexp format)", 0) \ \ M(Bool, output_format_enable_streaming, false, "Enable streaming in output formats that support it.", 0) \ M(Bool, output_format_write_statistics, true, "Write statistics about read rows, bytes, time elapsed in suitable output formats.", 0) \ @@ -749,6 +764,12 @@ static constexpr UInt64 operator""_GiB(unsigned long long value) \ M(String, input_format_mysql_dump_table_name, "", "Name of the table in MySQL dump from which to read data", 0) \ M(Bool, input_format_mysql_dump_map_column_names, true, "Match columns from table in MySQL dump and columns from ClickHouse table by names", 0) \ + \ + M(UInt64, output_format_sql_insert_max_batch_size, DEFAULT_BLOCK_SIZE, "The maximum number of rows in one INSERT statement.", 0) \ + M(String, output_format_sql_insert_table_name, "table", "The name of table in the output INSERT query", 0) \ + M(Bool, output_format_sql_insert_include_column_names, true, "Include column names in INSERT query", 0) \ + M(Bool, output_format_sql_insert_use_replace, false, "Use REPLACE statement instead of INSERT", 0) \ + M(Bool, output_format_sql_insert_quote_names, true, "Quote column names with '`' characters", 0) \ // End of FORMAT_FACTORY_SETTINGS // Please add settings non-related to formats into the COMMON_SETTINGS above. diff --git a/src/Core/SettingsFields.cpp b/src/Core/SettingsFields.cpp index c545ae753de..d35865d35c6 100644 --- a/src/Core/SettingsFields.cpp +++ b/src/Core/SettingsFields.cpp @@ -9,6 +9,8 @@ #include #include +#include + namespace DB { @@ -16,6 +18,7 @@ namespace ErrorCodes { extern const int SIZE_OF_FIXED_STRING_DOESNT_MATCH; extern const int CANNOT_PARSE_BOOL; + extern const int CANNOT_PARSE_NUMBER; } @@ -176,27 +179,75 @@ UInt64 SettingFieldMaxThreads::getAuto() return getNumberOfPhysicalCPUCores(); } +namespace +{ + Poco::Timespan::TimeDiff float64AsSecondsToTimespan(Float64 d) + { + if (d != 0.0 && !std::isnormal(d)) + throw Exception( + ErrorCodes::CANNOT_PARSE_NUMBER, "A setting's value in seconds must be a normal floating point number or zero. Got {}", d); + return static_cast(d * 1000000); + } -template -SettingFieldTimespan::SettingFieldTimespan(const Field & f) : SettingFieldTimespan(fieldToNumber(f)) +} + +template <> +SettingFieldSeconds::SettingFieldTimespan(const Field & f) : SettingFieldTimespan(float64AsSecondsToTimespan(fieldToNumber(f))) { } -template -SettingFieldTimespan & SettingFieldTimespan::operator=(const Field & f) +template <> +SettingFieldMilliseconds::SettingFieldTimespan(const Field & f) : SettingFieldTimespan(fieldToNumber(f)) +{ +} + +template <> +SettingFieldTimespan & SettingFieldSeconds::operator=(const Field & f) +{ + *this = Poco::Timespan{float64AsSecondsToTimespan(fieldToNumber(f))}; + return *this; +} + +template <> +SettingFieldTimespan & SettingFieldMilliseconds::operator=(const Field & f) { *this = fieldToNumber(f); return *this; } -template -String SettingFieldTimespan::toString() const +template <> +String SettingFieldSeconds::toString() const +{ + return ::DB::toString(static_cast(value.totalMicroseconds()) / microseconds_per_unit); +} + +template <> +String SettingFieldMilliseconds::toString() const { return ::DB::toString(operator UInt64()); } -template -void SettingFieldTimespan::parseFromString(const String & str) +template <> +SettingFieldSeconds::operator Field() const +{ + return static_cast(value.totalMicroseconds()) / microseconds_per_unit; +} + +template <> +SettingFieldMilliseconds::operator Field() const +{ + return operator UInt64(); +} + +template <> +void SettingFieldSeconds::parseFromString(const String & str) +{ + Float64 n = parse(str.data(), str.size()); + *this = Poco::Timespan{static_cast(n * microseconds_per_unit)}; +} + +template <> +void SettingFieldMilliseconds::parseFromString(const String & str) { *this = stringToNumber(str); } @@ -204,6 +255,13 @@ void SettingFieldTimespan::parseFromString(const String & str) template void SettingFieldTimespan::writeBinary(WriteBuffer & out) const { + /// Note that this returns an UInt64 (for both seconds and milliseconds units) for compatibility reasons as the value + /// for seconds used to be a integer (now a Float64) + /// This method is only used to communicate with clients or servers older than DBMS_MIN_REVISION_WITH_SETTINGS_SERIALIZED_AS_STRINGS + /// in which the value was passed as binary (as a UInt64) + /// Later versions pass the setting values as String (using toString() and parseFromString()) and there passing "1.2" will + /// lead to `1` on releases with integer seconds or `1.2` on more recent releases + /// See https://github.com/ClickHouse/ClickHouse/issues/36940 for more details auto num_units = operator UInt64(); writeVarUInt(num_units, out); } diff --git a/src/Core/SettingsFields.h b/src/Core/SettingsFields.h index 474786eb963..dcc99f4a2c0 100644 --- a/src/Core/SettingsFields.h +++ b/src/Core/SettingsFields.h @@ -124,7 +124,7 @@ struct SettingFieldTimespan operator std::chrono::duration() const { return std::chrono::duration_cast>(std::chrono::microseconds(value.totalMicroseconds())); } /// NOLINT explicit operator UInt64() const { return value.totalMicroseconds() / microseconds_per_unit; } - explicit operator Field() const { return operator UInt64(); } + explicit operator Field() const; Poco::Timespan::TimeDiff totalMicroseconds() const { return value.totalMicroseconds(); } Poco::Timespan::TimeDiff totalMilliseconds() const { return value.totalMilliseconds(); } diff --git a/src/Core/SortCursor.h b/src/Core/SortCursor.h index 584556045e8..3b58923c2c9 100644 --- a/src/Core/SortCursor.h +++ b/src/Core/SortCursor.h @@ -6,11 +6,24 @@ #include #include +#include #include #include #include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include +#include #include +#include #include "config_core.h" @@ -127,8 +140,11 @@ struct SortCursorImpl bool isFirst() const { return pos == 0; } bool isLast() const { return pos + 1 >= rows; } + bool isLast(size_t size) const { return pos + size >= rows; } bool isValid() const { return pos < rows; } void next() { ++pos; } + void next(size_t size) { pos += size; } + size_t getSize() const { return rows; } /// Prevent using pos instead of getRow() private: @@ -155,6 +171,11 @@ struct SortCursorHelper return derived().greaterAt(rhs.derived(), impl->getRow(), rhs.impl->getRow()); } + bool ALWAYS_INLINE greaterWithOffset(const SortCursorHelper & rhs, size_t lhs_offset, size_t rhs_offset) const + { + return derived().greaterAt(rhs.derived(), impl->getRow() + lhs_offset, rhs.impl->getRow() + rhs_offset); + } + /// Inverted so that the priority queue elements are removed in ascending order. bool ALWAYS_INLINE operator< (const SortCursorHelper & rhs) const { @@ -222,11 +243,7 @@ struct SimpleSortCursor : SortCursorHelper bool ALWAYS_INLINE greaterAt(const SimpleSortCursor & rhs, size_t lhs_pos, size_t rhs_pos) const { - const auto & desc = impl->desc[0]; - int direction = desc.direction; - int nulls_direction = desc.nulls_direction; - - bool result = false; + int res = 0; #if USE_EMBEDDED_COMPILER if (impl->desc.compiled_sort_description && rhs.impl->desc.compiled_sort_description) @@ -234,20 +251,56 @@ struct SimpleSortCursor : SortCursorHelper assert(impl->raw_sort_columns_data.size() == rhs.impl->raw_sort_columns_data.size()); auto sort_description_func_typed = reinterpret_cast(impl->desc.compiled_sort_description); - int jit_result = sort_description_func_typed(lhs_pos, rhs_pos, impl->raw_sort_columns_data.data(), rhs.impl->raw_sort_columns_data.data()); /// NOLINT - result = jit_result > 0; + res = sort_description_func_typed(lhs_pos, rhs_pos, impl->raw_sort_columns_data.data(), rhs.impl->raw_sort_columns_data.data()); /// NOLINT } else #endif { - int non_jit_result = impl->sort_columns[0]->compareAt(lhs_pos, rhs_pos, *(rhs.impl->sort_columns[0]), nulls_direction); - result = (non_jit_result != 0 && ((non_jit_result > 0) == (direction > 0))); + const auto & desc = impl->desc[0]; + int direction = desc.direction; + int nulls_direction = desc.nulls_direction; + res = direction * impl->sort_columns[0]->compareAt(lhs_pos, rhs_pos, *(rhs.impl->sort_columns[0]), nulls_direction); } - return result; + if (res > 0) + return true; + if (res < 0) + return false; + + return impl->order > rhs.impl->order; } }; +template +struct SpecializedSingleColumnSortCursor : SortCursorHelper> +{ + using SortCursorHelper::SortCursorHelper; + + bool ALWAYS_INLINE greaterAt(const SortCursorHelper & rhs, size_t lhs_pos, size_t rhs_pos) const + { + auto & this_impl = this->impl; + + auto & lhs_columns = this_impl->sort_columns; + auto & rhs_columns = rhs.impl->sort_columns; + + assert(lhs_columns.size() == 1); + assert(rhs_columns.size() == 1); + + const auto & lhs_column = assert_cast(*lhs_columns[0]); + const auto & rhs_column = assert_cast(*rhs_columns[0]); + + const auto & desc = this->impl->desc[0]; + + int res = desc.direction * lhs_column.compareAt(lhs_pos, rhs_pos, rhs_column, desc.nulls_direction); + + if (res > 0) + return true; + if (res < 0) + return false; + + return this_impl->order > rhs.impl->order; + } +}; /// Separate comparator for locale-sensitive string comparisons struct SortCursorWithCollation : SortCursorHelper @@ -277,66 +330,126 @@ struct SortCursorWithCollation : SortCursorHelper } }; +enum class SortingQueueStrategy +{ + Default, + Batch +}; -/** Allows to fetch data from multiple sort cursors in sorted order (merging sorted data streams). - * TODO: Replace with "Loser Tree", see https://en.wikipedia.org/wiki/K-way_merge_algorithm - */ -template -class SortingHeap +/// Allows to fetch data from multiple sort cursors in sorted order (merging sorted data streams). +template +class SortingQueueImpl { public: - SortingHeap() = default; + SortingQueueImpl() = default; template - explicit SortingHeap(Cursors & cursors) + explicit SortingQueueImpl(Cursors & cursors) { size_t size = cursors.size(); queue.reserve(size); + for (size_t i = 0; i < size; ++i) - if (!cursors[i].empty()) - queue.emplace_back(&cursors[i]); + { + if (cursors[i].empty()) + continue; + + queue.emplace_back(&cursors[i]); + } + std::make_heap(queue.begin(), queue.end()); + + if constexpr (strategy == SortingQueueStrategy::Batch) + { + if (!queue.empty()) + updateBatchSize(); + } } bool isValid() const { return !queue.empty(); } - Cursor & current() { return queue.front(); } + Cursor & current() requires (strategy == SortingQueueStrategy::Default) + { + return queue.front(); + } + + std::pair current() requires (strategy == SortingQueueStrategy::Batch) + { + return {&queue.front(), batch_size}; + } size_t size() { return queue.size(); } Cursor & nextChild() { return queue[nextChildIndex()]; } - void ALWAYS_INLINE next() + void ALWAYS_INLINE next() requires (strategy == SortingQueueStrategy::Default) { assert(isValid()); - if (!current()->isLast()) + if (!queue.front()->isLast()) { - current()->next(); - updateTop(); + queue.front()->next(); + updateTop(true /*check_in_order*/); } else + { removeTop(); + } + } + + void ALWAYS_INLINE next(size_t batch_size_value) requires (strategy == SortingQueueStrategy::Batch) + { + assert(isValid()); + assert(batch_size_value <= batch_size); + assert(batch_size_value > 0); + + batch_size -= batch_size_value; + if (batch_size > 0) + { + queue.front()->next(batch_size_value); + return; + } + + if (!queue.front()->isLast(batch_size_value)) + { + queue.front()->next(batch_size_value); + updateTop(false /*check_in_order*/); + } + else + { + removeTop(); + } } void replaceTop(Cursor new_top) { - current() = new_top; - updateTop(); + queue.front() = new_top; + updateTop(true /*check_in_order*/); } void removeTop() { std::pop_heap(queue.begin(), queue.end()); queue.pop_back(); - next_idx = 0; + next_child_idx = 0; + + if constexpr (strategy == SortingQueueStrategy::Batch) + { + if (queue.empty()) + batch_size = 0; + else + updateBatchSize(); + } } void push(SortCursorImpl & cursor) { queue.emplace_back(&cursor); std::push_heap(queue.begin(), queue.end()); - next_idx = 0; + next_child_idx = 0; + + if constexpr (strategy == SortingQueueStrategy::Batch) + updateBatchSize(); } private: @@ -344,26 +457,27 @@ private: Container queue; /// Cache comparison between first and second child if the order in queue has not been changed. - size_t next_idx = 0; + size_t next_child_idx = 0; + size_t batch_size = 0; size_t ALWAYS_INLINE nextChildIndex() { - if (next_idx == 0) + if (next_child_idx == 0) { - next_idx = 1; + next_child_idx = 1; - if (queue.size() > 2 && queue[1] < queue[2]) - ++next_idx; + if (queue.size() > 2 && queue[1].greater(queue[2])) + ++next_child_idx; } - return next_idx; + return next_child_idx; } /// This is adapted version of the function __sift_down from libc++. /// Why cannot simply use std::priority_queue? /// - because it doesn't support updating the top element and requires pop and push instead. /// Also look at "Boost.Heap" library. - void ALWAYS_INLINE updateTop() + void ALWAYS_INLINE updateTop(bool check_in_order) { size_t size = queue.size(); if (size < 2) @@ -375,10 +489,14 @@ private: auto child_it = begin + child_idx; /// Check if we are in order. - if (*child_it < *begin) + if (check_in_order && (*child_it).greater(*begin)) + { + if constexpr (strategy == SortingQueueStrategy::Batch) + updateBatchSize(); return; + } - next_idx = 0; + next_child_idx = 0; auto curr_it = begin; auto top(std::move(*begin)); @@ -396,7 +514,7 @@ private: child_it = begin + child_idx; - if ((child_idx + 1) < size && *child_it < *(child_it + 1)) + if ((child_idx + 1) < size && (*child_it).greater(*(child_it + 1))) { /// Right child exists and is greater than left child. ++child_it; @@ -404,9 +522,190 @@ private: } /// Check if we are in order. - } while (!(*child_it < top)); + } while (!((*child_it).greater(top))); *curr_it = std::move(top); + + if constexpr (strategy == SortingQueueStrategy::Batch) + updateBatchSize(); } + + /// Update batch size of elements that client can extract from current cursor + void updateBatchSize() + { + assert(!queue.empty()); + + auto & begin_cursor = *queue.begin(); + size_t min_cursor_size = begin_cursor->getSize(); + size_t min_cursor_pos = begin_cursor->getPosRef(); + + if (queue.size() == 1) + { + batch_size = min_cursor_size - min_cursor_pos; + return; + } + + batch_size = 1; + size_t child_idx = nextChildIndex(); + auto & next_child_cursor = *(queue.begin() + child_idx); + + if (min_cursor_pos + batch_size < min_cursor_size && next_child_cursor.greaterWithOffset(begin_cursor, 0, batch_size)) + ++batch_size; + else + return; + + if (unlikely(begin_cursor.totallyLessOrEquals(next_child_cursor))) + { + batch_size = min_cursor_size - min_cursor_pos; + return; + } + + while (min_cursor_pos + batch_size < min_cursor_size && next_child_cursor.greaterWithOffset(begin_cursor, 0, batch_size)) + ++batch_size; + } +}; + +template +using SortingQueue = SortingQueueImpl; + +template +using SortingQueueBatch = SortingQueueImpl; + +/** SortQueueVariants allow to specialize sorting queue for concrete types and sort description. + * To access queue variant callOnVariant method must be used. + * To access batch queue variant callOnBatchVariant method must be used. + */ +class SortQueueVariants +{ +public: + SortQueueVariants() = default; + + SortQueueVariants(const DataTypes & sort_description_types, const SortDescription & sort_description) + { + bool has_collation = false; + for (const auto & column_description : sort_description) + { + if (column_description.collator) + { + has_collation = true; + break; + } + } + + if (has_collation) + { + initializeQueues(); + return; + } + else if (sort_description.size() == 1) + { + TypeIndex column_type_index = sort_description_types[0]->getTypeId(); + + bool result = callOnIndexAndDataType( + column_type_index, + [&](const auto & types) + { + using Types = std::decay_t; + using ColumnDataType = typename Types::LeftType; + using ColumnType = typename ColumnDataType::ColumnType; + + initializeQueues>(); + return true; + }); + + if (!result) + initializeQueues(); + } + else + { + initializeQueues(); + } + } + + SortQueueVariants(const Block & header, const SortDescription & sort_description) + : SortQueueVariants(extractSortDescriptionTypesFromHeader(header, sort_description), sort_description) + { + } + + template + decltype(auto) callOnVariant(Func && func) + { + return std::visit(func, default_queue_variants); + } + + template + decltype(auto) callOnBatchVariant(Func && func) + { + return std::visit(func, batch_queue_variants); + } + + bool variantSupportJITCompilation() const + { + return std::holds_alternative>(default_queue_variants) + || std::holds_alternative>(default_queue_variants) + || std::holds_alternative>(default_queue_variants); + } + +private: + template + void initializeQueues() + { + default_queue_variants = SortingQueue(); + batch_queue_variants = SortingQueueBatch(); + } + + static DataTypes extractSortDescriptionTypesFromHeader(const Block & header, const SortDescription & sort_description) + { + size_t sort_description_size = sort_description.size(); + DataTypes data_types(sort_description_size); + + for (size_t i = 0; i < sort_description_size; ++i) + { + const auto & column_sort_description = sort_description[i]; + data_types[i] = header.getByName(column_sort_description.column_name).type; + } + + return data_types; + } + + template + using QueueVariants = std::variant< + SortingQueueImpl>, strategy>, + SortingQueueImpl>, strategy>, + SortingQueueImpl>, strategy>, + SortingQueueImpl>, strategy>, + SortingQueueImpl>, strategy>, + SortingQueueImpl>, strategy>, + + SortingQueueImpl>, strategy>, + SortingQueueImpl>, strategy>, + SortingQueueImpl>, strategy>, + SortingQueueImpl>, strategy>, + SortingQueueImpl>, strategy>, + SortingQueueImpl>, strategy>, + + SortingQueueImpl>, strategy>, + SortingQueueImpl>, strategy>, + + SortingQueueImpl>, strategy>, + SortingQueueImpl>, strategy>, + SortingQueueImpl>, strategy>, + SortingQueueImpl>, strategy>, + SortingQueueImpl>, strategy>, + + SortingQueueImpl>, strategy>, + + SortingQueueImpl, strategy>, + SortingQueueImpl, strategy>, + + SortingQueueImpl, + SortingQueueImpl, + SortingQueueImpl>; + + using DefaultQueueVariants = QueueVariants; + using BatchQueueVariants = QueueVariants; + + DefaultQueueVariants default_queue_variants; + BatchQueueVariants batch_queue_variants; }; template diff --git a/src/Core/SortDescription.cpp b/src/Core/SortDescription.cpp index e7fa6816807..ff81f69383c 100644 --- a/src/Core/SortDescription.cpp +++ b/src/Core/SortDescription.cpp @@ -82,7 +82,7 @@ static Poco::Logger * getLogger() return &logger; } -void compileSortDescriptionIfNeeded(SortDescription & description, const DataTypes & sort_description_types, bool increase_compile_attemps) +void compileSortDescriptionIfNeeded(SortDescription & description, const DataTypes & sort_description_types, bool increase_compile_attempts) { static std::unordered_map counter; static std::mutex mutex; @@ -109,7 +109,7 @@ void compileSortDescriptionIfNeeded(SortDescription & description, const DataTyp UInt64 & current_counter = counter[sort_description_hash_key]; if (current_counter < description.min_count_to_compile_sort_description) { - current_counter += static_cast(increase_compile_attemps); + current_counter += static_cast(increase_compile_attempts); return; } } @@ -142,11 +142,11 @@ void compileSortDescriptionIfNeeded(SortDescription & description, const DataTyp #else -void compileSortDescriptionIfNeeded(SortDescription & description, const DataTypes & sort_description_types, bool increase_compile_attemps) +void compileSortDescriptionIfNeeded(SortDescription & description, const DataTypes & sort_description_types, bool increase_compile_attempts) { (void)(description); (void)(sort_description_types); - (void)(increase_compile_attemps); + (void)(increase_compile_attempts); } #endif diff --git a/src/Core/SortDescription.h b/src/Core/SortDescription.h index 3d4e3b665ee..730a64b77ad 100644 --- a/src/Core/SortDescription.h +++ b/src/Core/SortDescription.h @@ -107,7 +107,7 @@ public: /** Compile sort description for header_types. * Description is compiled only if compilation attempts to compile identical description is more than min_count_to_compile_sort_description. */ -void compileSortDescriptionIfNeeded(SortDescription & description, const DataTypes & sort_description_types, bool increase_compile_attemps); +void compileSortDescriptionIfNeeded(SortDescription & description, const DataTypes & sort_description_types, bool increase_compile_attempts); /// Outputs user-readable description into `out`. void dumpSortDescription(const SortDescription & description, WriteBuffer & out); diff --git a/src/Core/examples/coro.cpp b/src/Core/examples/coro.cpp index c87e78fba9d..956b4e988e4 100644 --- a/src/Core/examples/coro.cpp +++ b/src/Core/examples/coro.cpp @@ -17,6 +17,11 @@ namespace std using namespace experimental::coroutines_v1; } +#if __has_warning("-Wdeprecated-experimental-coroutine") +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-experimental-coroutine" +#endif + #else #include #pragma GCC diagnostic push diff --git a/src/Daemon/BaseDaemon.cpp b/src/Daemon/BaseDaemon.cpp index f7cfbab289a..445aa4463bd 100644 --- a/src/Daemon/BaseDaemon.cpp +++ b/src/Daemon/BaseDaemon.cpp @@ -10,7 +10,7 @@ #include #include #include -#if defined(__linux__) +#if defined(OS_LINUX) #include #endif #include @@ -68,6 +68,15 @@ namespace fs = std::filesystem; +namespace DB +{ + namespace ErrorCodes + { + extern const int CANNOT_SET_SIGNAL_HANDLER; + extern const int CANNOT_SEND_SIGNAL; + } +} + DB::PipeFDs signal_pipe; @@ -76,8 +85,11 @@ DB::PipeFDs signal_pipe; */ static void call_default_signal_handler(int sig) { - signal(sig, SIG_DFL); - raise(sig); + if (SIG_ERR == signal(sig, SIG_DFL)) + DB::throwFromErrno("Cannot set signal handler.", DB::ErrorCodes::CANNOT_SET_SIGNAL_HANDLER); + + if (0 != raise(sig)) + DB::throwFromErrno("Cannot send signal.", DB::ErrorCodes::CANNOT_SEND_SIGNAL); } static const size_t signal_pipe_buf_size = @@ -290,7 +302,7 @@ private: if (auto thread_group = thread_ptr->getThreadGroup()) { - query = thread_group->query; + query = thread_group->one_line_query; } if (auto logs_queue = thread_ptr->getInternalTextLogsQueue()) @@ -340,26 +352,27 @@ private: #if defined(OS_LINUX) /// Write information about binary checksum. It can be difficult to calculate, so do it only after printing stack trace. + /// Please keep the below log messages in-sync with the ones in programs/server/Server.cpp String calculated_binary_hash = getHashOfLoadedBinaryHex(); if (daemon.stored_binary_hash.empty()) { - LOG_FATAL(log, "Calculated checksum of the binary: {}." - " There is no information about the reference checksum.", calculated_binary_hash); + LOG_FATAL(log, "Integrity check of the executable skipped because the reference checksum could not be read." + " (calculated checksum: {})", calculated_binary_hash); } else if (calculated_binary_hash == daemon.stored_binary_hash) { - LOG_FATAL(log, "Checksum of the binary: {}, integrity check passed.", calculated_binary_hash); + LOG_FATAL(log, "Integrity check of the executable successfully passed (checksum: {})", calculated_binary_hash); } else { - LOG_FATAL(log, "Calculated checksum of the ClickHouse binary ({0}) does not correspond" - " to the reference checksum stored in the binary ({1})." - " It may indicate one of the following:" - " - the file was changed just after startup;" - " - the file is damaged on disk due to faulty hardware;" - " - the loaded executable is damaged in memory due to faulty hardware;" + LOG_FATAL(log, "Calculated checksum of the executable ({0}) does not correspond" + " to the reference checksum stored in the executable ({1})." + " This may indicate one of the following:" + " - the executable was changed just after startup;" + " - the executable was corrupted on disk due to faulty hardware;" + " - the loaded executable was corrupted in memory due to faulty hardware;" " - the file was intentionally modified;" - " - logical error in code." + " - a logical error in the code." , calculated_binary_hash, daemon.stored_binary_hash); } #endif @@ -384,6 +397,7 @@ extern "C" void __sanitizer_set_death_callback(void (*)()); static void sanitizerDeathCallback() { + DENY_ALLOCATIONS_IN_SCOPE; /// Also need to send data via pipe. Otherwise it may lead to deadlocks or failures in printing diagnostic info. char buf[signal_pipe_buf_size]; @@ -498,9 +512,8 @@ BaseDaemon::~BaseDaemon() signal_listener_thread.join(); /// Reset signals to SIG_DFL to avoid trying to write to the signal_pipe that will be closed after. for (int sig : handled_signals) - { - signal(sig, SIG_DFL); - } + if (SIG_ERR == signal(sig, SIG_DFL)) + DB::throwFromErrno("Cannot set signal handler.", DB::ErrorCodes::CANNOT_SET_SIGNAL_HANDLER); signal_pipe.close(); } @@ -847,7 +860,7 @@ void BaseDaemon::initializeTerminationAndSignalProcessing() signal_listener = std::make_unique(*this); signal_listener_thread.start(*signal_listener); -#if defined(__ELF__) && !defined(__FreeBSD__) +#if defined(__ELF__) && !defined(OS_FREEBSD) String build_id_hex = DB::SymbolIndex::instance()->getBuildIDHex(); if (build_id_hex.empty()) build_id_info = "no build id"; @@ -857,11 +870,11 @@ void BaseDaemon::initializeTerminationAndSignalProcessing() build_id_info = "no build id"; #endif -#if defined(__linux__) +#if defined(OS_LINUX) std::string executable_path = getExecutablePath(); if (!executable_path.empty()) - stored_binary_hash = DB::Elf(executable_path).getBinaryHash(); + stored_binary_hash = DB::Elf(executable_path).getStoredBinaryHash(); #endif } @@ -912,7 +925,7 @@ void BaseDaemon::handleSignal(int signal_id) signal_id == SIGQUIT || signal_id == SIGTERM) { - std::unique_lock lock(signal_handler_mutex); + std::lock_guard lock(signal_handler_mutex); { ++terminate_signals_counter; sigint_signals_counter += signal_id == SIGINT; @@ -975,7 +988,7 @@ void BaseDaemon::setupWatchdog() if (0 == pid) { logger().information("Forked a child process to watch"); -#if defined(__linux__) +#if defined(OS_LINUX) if (0 != prctl(PR_SET_PDEATHSIG, SIGKILL)) logger().warning("Cannot do prctl to ask termination with parent."); #endif diff --git a/src/Daemon/SentryWriter.cpp b/src/Daemon/SentryWriter.cpp index 904d2f04a7a..ec19913ff7d 100644 --- a/src/Daemon/SentryWriter.cpp +++ b/src/Daemon/SentryWriter.cpp @@ -149,7 +149,7 @@ void SentryWriter::onFault(int sig, const std::string & error_message, const Sta sentry_set_tag("signal", strsignal(sig)); sentry_set_extra("signal_number", sentry_value_new_int32(sig)); - #if defined(__ELF__) && !defined(__FreeBSD__) + #if defined(__ELF__) && !defined(OS_FREEBSD) const String & build_id_hex = DB::SymbolIndex::instance()->getBuildIDHex(); sentry_set_tag("build_id", build_id_hex.c_str()); #endif diff --git a/src/DataTypes/FieldToDataType.cpp b/src/DataTypes/FieldToDataType.cpp index 283d1b1e41a..49ece27cc1f 100644 --- a/src/DataTypes/FieldToDataType.cpp +++ b/src/DataTypes/FieldToDataType.cpp @@ -22,13 +22,14 @@ namespace ErrorCodes extern const int EMPTY_DATA_PASSED; } - -DataTypePtr FieldToDataType::operator() (const Null &) const +template +DataTypePtr FieldToDataType::operator() (const Null &) const { return std::make_shared(std::make_shared()); } -DataTypePtr FieldToDataType::operator() (const UInt64 & x) const +template +DataTypePtr FieldToDataType::operator() (const UInt64 & x) const { if (x <= std::numeric_limits::max()) return std::make_shared(); if (x <= std::numeric_limits::max()) return std::make_shared(); @@ -36,7 +37,8 @@ DataTypePtr FieldToDataType::operator() (const UInt64 & x) const return std::make_shared(); } -DataTypePtr FieldToDataType::operator() (const Int64 & x) const +template +DataTypePtr FieldToDataType::operator() (const Int64 & x) const { if (x <= std::numeric_limits::max() && x >= std::numeric_limits::min()) return std::make_shared(); if (x <= std::numeric_limits::max() && x >= std::numeric_limits::min()) return std::make_shared(); @@ -44,77 +46,90 @@ DataTypePtr FieldToDataType::operator() (const Int64 & x) const return std::make_shared(); } -DataTypePtr FieldToDataType::operator() (const Float64 &) const +template +DataTypePtr FieldToDataType::operator() (const Float64 &) const { return std::make_shared(); } -DataTypePtr FieldToDataType::operator() (const UInt128 &) const +template +DataTypePtr FieldToDataType::operator() (const UInt128 &) const { return std::make_shared(); } -DataTypePtr FieldToDataType::operator() (const Int128 &) const +template +DataTypePtr FieldToDataType::operator() (const Int128 &) const { return std::make_shared(); } -DataTypePtr FieldToDataType::operator() (const UInt256 &) const +template +DataTypePtr FieldToDataType::operator() (const UInt256 &) const { return std::make_shared(); } -DataTypePtr FieldToDataType::operator() (const Int256 &) const +template +DataTypePtr FieldToDataType::operator() (const Int256 &) const { return std::make_shared(); } -DataTypePtr FieldToDataType::operator() (const UUID &) const +template +DataTypePtr FieldToDataType::operator() (const UUID &) const { return std::make_shared(); } -DataTypePtr FieldToDataType::operator() (const String &) const +template +DataTypePtr FieldToDataType::operator() (const String &) const { return std::make_shared(); } -DataTypePtr FieldToDataType::operator() (const DecimalField & x) const +template +DataTypePtr FieldToDataType::operator() (const DecimalField & x) const { using Type = DataTypeDecimal; return std::make_shared(Type::maxPrecision(), x.getScale()); } -DataTypePtr FieldToDataType::operator() (const DecimalField & x) const +template +DataTypePtr FieldToDataType::operator() (const DecimalField & x) const { using Type = DataTypeDecimal; return std::make_shared(Type::maxPrecision(), x.getScale()); } -DataTypePtr FieldToDataType::operator() (const DecimalField & x) const +template +DataTypePtr FieldToDataType::operator() (const DecimalField & x) const { using Type = DataTypeDecimal; return std::make_shared(Type::maxPrecision(), x.getScale()); } -DataTypePtr FieldToDataType::operator() (const DecimalField & x) const +template +DataTypePtr FieldToDataType::operator() (const DecimalField & x) const { using Type = DataTypeDecimal; return std::make_shared(Type::maxPrecision(), x.getScale()); } -DataTypePtr FieldToDataType::operator() (const Array & x) const +template +DataTypePtr FieldToDataType::operator() (const Array & x) const { DataTypes element_types; element_types.reserve(x.size()); for (const Field & elem : x) - element_types.emplace_back(applyVisitor(FieldToDataType(allow_convertion_to_string), elem)); + element_types.emplace_back(applyVisitor(*this, elem)); - return std::make_shared(getLeastSupertype(element_types, allow_convertion_to_string)); + return std::make_shared(getLeastSupertype(element_types)); } -DataTypePtr FieldToDataType::operator() (const Tuple & tuple) const +template +DataTypePtr FieldToDataType::operator() (const Tuple & tuple) const { if (tuple.empty()) throw Exception("Cannot infer type of an empty tuple", ErrorCodes::EMPTY_DATA_PASSED); @@ -123,12 +138,13 @@ DataTypePtr FieldToDataType::operator() (const Tuple & tuple) const element_types.reserve(tuple.size()); for (const auto & element : tuple) - element_types.push_back(applyVisitor(FieldToDataType(allow_convertion_to_string), element)); + element_types.push_back(applyVisitor(*this, element)); return std::make_shared(element_types); } -DataTypePtr FieldToDataType::operator() (const Map & map) const +template +DataTypePtr FieldToDataType::operator() (const Map & map) const { DataTypes key_types; DataTypes value_types; @@ -139,30 +155,37 @@ DataTypePtr FieldToDataType::operator() (const Map & map) const { const auto & tuple = elem.safeGet(); assert(tuple.size() == 2); - key_types.push_back(applyVisitor(FieldToDataType(allow_convertion_to_string), tuple[0])); - value_types.push_back(applyVisitor(FieldToDataType(allow_convertion_to_string), tuple[1])); + key_types.push_back(applyVisitor(*this, tuple[0])); + value_types.push_back(applyVisitor(*this, tuple[1])); } return std::make_shared( - getLeastSupertype(key_types, allow_convertion_to_string), - getLeastSupertype(value_types, allow_convertion_to_string)); + getLeastSupertype(key_types), + getLeastSupertype(value_types)); } -DataTypePtr FieldToDataType::operator() (const Object &) const +template +DataTypePtr FieldToDataType::operator() (const Object &) const { /// TODO: Do we need different parameters for type Object? return std::make_shared("json", false); } -DataTypePtr FieldToDataType::operator() (const AggregateFunctionStateData & x) const +template +DataTypePtr FieldToDataType::operator() (const AggregateFunctionStateData & x) const { const auto & name = static_cast(x).name; return DataTypeFactory::instance().get(name); } -DataTypePtr FieldToDataType::operator()(const bool &) const +template +DataTypePtr FieldToDataType::operator()(const bool &) const { return DataTypeFactory::instance().get("Bool"); } +template class FieldToDataType; +template class FieldToDataType; +template class FieldToDataType; + } diff --git a/src/DataTypes/FieldToDataType.h b/src/DataTypes/FieldToDataType.h index 1922ac8b746..5e66fe420ad 100644 --- a/src/DataTypes/FieldToDataType.h +++ b/src/DataTypes/FieldToDataType.h @@ -4,6 +4,7 @@ #include #include #include +#include namespace DB @@ -17,14 +18,10 @@ using DataTypePtr = std::shared_ptr; * Note that you still have to convert Field to corresponding data type before inserting to columns * (for example, this is necessary to convert elements of Array to common type). */ +template class FieldToDataType : public StaticVisitor { public: - FieldToDataType(bool allow_convertion_to_string_ = false) - : allow_convertion_to_string(allow_convertion_to_string_) - { - } - DataTypePtr operator() (const Null & x) const; DataTypePtr operator() (const UInt64 & x) const; DataTypePtr operator() (const UInt128 & x) const; @@ -45,9 +42,6 @@ public: DataTypePtr operator() (const UInt256 & x) const; DataTypePtr operator() (const Int256 & x) const; DataTypePtr operator() (const bool & x) const; - -private: - bool allow_convertion_to_string; }; } diff --git a/src/DataTypes/IDataType.cpp b/src/DataTypes/IDataType.cpp index 0976233c031..f2bb878a533 100644 --- a/src/DataTypes/IDataType.cpp +++ b/src/DataTypes/IDataType.cpp @@ -1,3 +1,4 @@ +#include #include #include #include @@ -162,6 +163,12 @@ void IDataType::insertDefaultInto(IColumn & column) const column.insertDefault(); } +void IDataType::insertManyDefaultsInto(IColumn & column, size_t n) const +{ + for (size_t i = 0; i < n; ++i) + insertDefaultInto(column); +} + void IDataType::setCustomization(DataTypeCustomDescPtr custom_desc_) const { /// replace only if not null diff --git a/src/DataTypes/IDataType.h b/src/DataTypes/IDataType.h index fc9e50dc55b..fce8906abe5 100644 --- a/src/DataTypes/IDataType.h +++ b/src/DataTypes/IDataType.h @@ -159,6 +159,8 @@ public: */ virtual void insertDefaultInto(IColumn & column) const; + void insertManyDefaultsInto(IColumn & column, size_t n) const; + /// Checks that two instances belong to the same type virtual bool equals(const IDataType & rhs) const = 0; @@ -563,4 +565,31 @@ class DataTypeEnum; template inline constexpr bool IsDataTypeEnum> = true; +#define FOR_BASIC_NUMERIC_TYPES(M) \ + M(UInt8) \ + M(UInt16) \ + M(UInt32) \ + M(UInt64) \ + M(Int8) \ + M(Int16) \ + M(Int32) \ + M(Int64) \ + M(Float32) \ + M(Float64) + +#define FOR_NUMERIC_TYPES(M) \ + M(UInt8) \ + M(UInt16) \ + M(UInt32) \ + M(UInt64) \ + M(UInt128) \ + M(UInt256) \ + M(Int8) \ + M(Int16) \ + M(Int32) \ + M(Int64) \ + M(Int128) \ + M(Int256) \ + M(Float32) \ + M(Float64) } diff --git a/src/DataTypes/NestedUtils.cpp b/src/DataTypes/NestedUtils.cpp index 20aae08f363..5dae2b7b413 100644 --- a/src/DataTypes/NestedUtils.cpp +++ b/src/DataTypes/NestedUtils.cpp @@ -1,8 +1,10 @@ #include +#include #include #include #include +#include "Columns/IColumn.h" #include #include @@ -17,7 +19,6 @@ #include - namespace DB { @@ -76,8 +77,7 @@ Block flatten(const Block & block) for (const auto & elem : block) { - const DataTypeArray * type_arr = typeid_cast(elem.type.get()); - if (type_arr) + if (const DataTypeArray * type_arr = typeid_cast(elem.type.get())) { const DataTypeTuple * type_tuple = typeid_cast(type_arr->getNestedType().get()); if (type_tuple && type_tuple->haveExplicitNames()) @@ -106,7 +106,7 @@ Block flatten(const Block & block) res.insert(ColumnWithTypeAndName( is_const ? ColumnConst::create(std::move(column_array_of_element), block.rows()) - : std::move(column_array_of_element), + : column_array_of_element, std::make_shared(element_types[i]), nested_name)); } @@ -114,6 +114,28 @@ Block flatten(const Block & block) else res.insert(elem); } + else if (const DataTypeTuple * type_tuple = typeid_cast(elem.type.get())) + { + if (type_tuple->haveExplicitNames()) + { + const DataTypes & element_types = type_tuple->getElements(); + const Strings & names = type_tuple->getElementNames(); + const ColumnTuple * column_tuple; + if (isColumnConst(*elem.column)) + column_tuple = typeid_cast(&assert_cast(*elem.column).getDataColumn()); + else + column_tuple = typeid_cast(elem.column.get()); + size_t tuple_size = column_tuple->tupleSize(); + for (size_t i = 0; i < tuple_size; ++i) + { + const auto & element_column = column_tuple->getColumn(i); + String nested_name = concatenateName(elem.name, names[i]); + res.insert(ColumnWithTypeAndName(element_column.getPtr(), element_types[i], nested_name)); + } + } + else + res.insert(elem); + } else res.insert(elem); } @@ -243,7 +265,71 @@ std::unordered_set getAllTableNames(const Block & block, bool to_lower_c } return nested_table_names; } - } +NestedColumnExtractHelper::NestedColumnExtractHelper(const Block & block_, bool case_insentive_) + : block(block_) + , case_insentive(case_insentive_) +{} + +std::optional NestedColumnExtractHelper::extractColumn(const String & column_name) +{ + if (block.has(column_name, case_insentive)) + return {block.getByName(column_name, case_insentive)}; + + auto nested_names = Nested::splitName(column_name); + if (case_insentive) + { + boost::to_lower(nested_names.first); + boost::to_lower(nested_names.second); + } + if (!block.has(nested_names.first, case_insentive)) + return {}; + + if (!nested_tables.contains(nested_names.first)) + { + ColumnsWithTypeAndName columns = {block.getByName(nested_names.first, case_insentive)}; + nested_tables[nested_names.first] = std::make_shared(Nested::flatten(columns)); + } + + return extractColumn(column_name, nested_names.first, nested_names.second); +} + +std::optional NestedColumnExtractHelper::extractColumn( + const String & original_column_name, const String & column_name_prefix, const String & column_name_suffix) +{ + auto table_iter = nested_tables.find(column_name_prefix); + if (table_iter == nested_tables.end()) + { + return {}; + } + + auto & nested_table = table_iter->second; + auto nested_names = Nested::splitName(column_name_suffix); + auto new_column_name_prefix = Nested::concatenateName(column_name_prefix, nested_names.first); + if (nested_names.second.empty()) + { + if (auto * column_ref = nested_table->findByName(new_column_name_prefix, case_insentive)) + { + ColumnWithTypeAndName column = *column_ref; + if (case_insentive) + column.name = original_column_name; + return {std::move(column)}; + } + else + { + return {}; + } + } + + if (!nested_table->has(new_column_name_prefix, case_insentive)) + { + return {}; + } + + ColumnsWithTypeAndName columns = {nested_table->getByName(new_column_name_prefix, case_insentive)}; + Block sub_block(columns); + nested_tables[new_column_name_prefix] = std::make_shared(Nested::flatten(sub_block)); + return extractColumn(original_column_name, new_column_name_prefix, nested_names.second); +} } diff --git a/src/DataTypes/NestedUtils.h b/src/DataTypes/NestedUtils.h index f6dc42d5c58..e7cda541f47 100644 --- a/src/DataTypes/NestedUtils.h +++ b/src/DataTypes/NestedUtils.h @@ -18,8 +18,9 @@ namespace Nested /// Returns the prefix of the name to the first '.'. Or the name is unchanged if there is no dot. std::string extractTableName(const std::string & nested_name); - /// Replace Array(Tuple(...)) columns to a multiple of Array columns in a form of `column_name.element_name`. - /// only for named tuples that actually represent Nested structures. + /// Flat a column of nested type into columns + /// 1) For named tuples,t Tuple(x .., y ..., ...), replace it with t.x ..., t.y ... , ... + /// 2) For an Array with named Tuple element column, a Array(Tuple(x ..., y ..., ...)), replace it with multiple Array Columns, a.x ..., a.y ..., ... Block flatten(const Block & block); /// Collect Array columns in a form of `column_name.element_name` to single Array(Tuple(...)) column. @@ -35,4 +36,20 @@ namespace Nested std::unordered_set getAllTableNames(const Block & block, bool to_lower_case = false); } +/// Use this class to extract element columns from columns of nested type in a block, e.g. named Tuple. +/// It can extract a column from a multiple nested type column, e.g. named Tuple in named Tuple +/// Keeps some intermediate data to avoid rebuild them multi-times. +class NestedColumnExtractHelper +{ +public: + explicit NestedColumnExtractHelper(const Block & block_, bool case_insentive_); + std::optional extractColumn(const String & column_name); +private: + std::optional + extractColumn(const String & original_column_name, const String & column_name_prefix, const String & column_name_suffix); + const Block & block; + bool case_insentive; + std::map nested_tables; +}; + } diff --git a/src/DataTypes/ObjectUtils.cpp b/src/DataTypes/ObjectUtils.cpp index 62204652ec4..b81c8c7a033 100644 --- a/src/DataTypes/ObjectUtils.cpp +++ b/src/DataTypes/ObjectUtils.cpp @@ -143,30 +143,17 @@ void convertObjectsToTuples(Block & block, const NamesAndTypesList & extended_st continue; const auto & column_object = assert_cast(*column.column); - const auto & subcolumns = column_object.getSubcolumns(); - if (!column_object.isFinalized()) throw Exception(ErrorCodes::LOGICAL_ERROR, "Cannot convert to tuple column '{}' from type {}. Column should be finalized first", column.name, column.type->getName()); - PathsInData tuple_paths; - DataTypes tuple_types; - Columns tuple_columns; - - for (const auto & entry : subcolumns) - { - tuple_paths.emplace_back(entry->path); - tuple_types.emplace_back(entry->data.getLeastCommonType()); - tuple_columns.emplace_back(entry->data.getFinalizedColumnPtr()); - } + std::tie(column.column, column.type) = unflattenObjectToTuple(column_object); auto it = storage_columns_map.find(column.name); if (it == storage_columns_map.end()) throw Exception(ErrorCodes::LOGICAL_ERROR, "Column '{}' not found in storage", column.name); - std::tie(column.column, column.type) = unflattenTuple(tuple_paths, tuple_types, tuple_columns); - /// Check that constructed Tuple type and type in storage are compatible. getLeastCommonTypeForObject({column.type, it->second}, true); } @@ -274,7 +261,7 @@ DataTypePtr getLeastCommonTypeForObject(const DataTypes & types, bool check_ambi key.getPath(), subtypes[0]->getName(), subtypes[i]->getName()); tuple_paths.emplace_back(key); - tuple_types.emplace_back(getLeastSupertype(subtypes, /*allow_conversion_to_string=*/ true)); + tuple_types.emplace_back(getLeastSupertypeOrString(subtypes)); } if (tuple_paths.empty()) @@ -468,7 +455,7 @@ ColumnWithTypeAndDimensions createTypeFromNode(const Node * node) } /// Sort to always create the same type for the same set of subcolumns. - std::sort(tuple_elements.begin(), tuple_elements.end(), + ::sort(tuple_elements.begin(), tuple_elements.end(), [](const auto & lhs, const auto & rhs) { return std::get<0>(lhs) < std::get<0>(rhs); }); auto tuple_names = extractVector<0>(tuple_elements); @@ -585,6 +572,28 @@ DataTypePtr unflattenTuple(const PathsInData & paths, const DataTypes & tuple_ty return unflattenTuple(paths, tuple_types, tuple_columns).second; } +std::pair unflattenObjectToTuple(const ColumnObject & column) +{ + const auto & subcolumns = column.getSubcolumns(); + + PathsInData paths; + DataTypes types; + Columns columns; + + paths.reserve(subcolumns.size()); + types.reserve(subcolumns.size()); + columns.reserve(subcolumns.size()); + + for (const auto & entry : subcolumns) + { + paths.emplace_back(entry->path); + types.emplace_back(entry->data.getLeastCommonType()); + columns.emplace_back(entry->data.getFinalizedColumnPtr()); + } + + return unflattenTuple(paths, types, columns); +} + std::pair unflattenTuple( const PathsInData & paths, const DataTypes & tuple_types, @@ -683,7 +692,7 @@ void replaceMissedSubcolumnsByConstants( res.emplace_back(full_name, types[i]); } - std::sort(res.begin(), res.end()); + ::sort(res.begin(), res.end()); return res; }; @@ -709,9 +718,9 @@ void replaceMissedSubcolumnsByConstants( addConstantToWithClause(query, name, type); } -void finalizeObjectColumns(MutableColumns & columns) +void finalizeObjectColumns(const MutableColumns & columns) { - for (auto & column : columns) + for (const auto & column : columns) if (auto * column_object = typeid_cast(column.get())) column_object->finalize(); } diff --git a/src/DataTypes/ObjectUtils.h b/src/DataTypes/ObjectUtils.h index 8dc46ceecf5..602d40cef6a 100644 --- a/src/DataTypes/ObjectUtils.h +++ b/src/DataTypes/ObjectUtils.h @@ -51,7 +51,7 @@ void extendObjectColumns(NamesAndTypesList & columns_list, const ColumnsDescript NameSet getNamesOfObjectColumns(const NamesAndTypesList & columns_list); bool hasObjectColumns(const ColumnsDescription & columns); -void finalizeObjectColumns(MutableColumns & columns); +void finalizeObjectColumns(const MutableColumns & columns); /// Updates types of objects in @object_columns inplace /// according to types in new_columns. @@ -73,11 +73,14 @@ DataTypePtr unflattenTuple( const PathsInData & paths, const DataTypes & tuple_types); +std::pair unflattenObjectToTuple(const ColumnObject & column); + std::pair unflattenTuple( const PathsInData & paths, const DataTypes & tuple_types, const Columns & tuple_columns); + /// For all columns which exist in @expected_columns and /// don't exist in @available_columns adds to WITH clause /// an alias with column name to literal of default value of column type. diff --git a/src/DataTypes/Serializations/ISerialization.cpp b/src/DataTypes/Serializations/ISerialization.cpp index 512653ecb13..7df4a956c1a 100644 --- a/src/DataTypes/Serializations/ISerialization.cpp +++ b/src/DataTypes/Serializations/ISerialization.cpp @@ -172,10 +172,6 @@ String getNameForSubstreamPath( else stream_name += "." + it->tuple_element_name; } - else if (it->type == Substream::ObjectElement) - { - stream_name += escapeForFileName(".") + escapeForFileName(it->object_key_name); - } } return stream_name; diff --git a/src/DataTypes/Serializations/ISerialization.h b/src/DataTypes/Serializations/ISerialization.h index 6c6b64f2416..b5d2082631e 100644 --- a/src/DataTypes/Serializations/ISerialization.h +++ b/src/DataTypes/Serializations/ISerialization.h @@ -126,7 +126,7 @@ public: SparseOffsets, ObjectStructure, - ObjectElement, + ObjectData, Regular, }; @@ -136,9 +136,6 @@ public: /// Index of tuple element, starting at 1 or name. String tuple_element_name; - /// Name of subcolumn of object column. - String object_key_name; - /// Do we need to escape a dot in filenames for tuple elements. bool escape_tuple_delimiter = true; diff --git a/src/DataTypes/Serializations/PathInData.cpp b/src/DataTypes/Serializations/PathInData.cpp index 574c34f1c27..b7c8bbc4da1 100644 --- a/src/DataTypes/Serializations/PathInData.cpp +++ b/src/DataTypes/Serializations/PathInData.cpp @@ -6,9 +6,6 @@ #include #include -#include -#include - #include #include @@ -73,43 +70,6 @@ UInt128 PathInData::getPartsHash(const Parts & parts_) return res; } -void PathInData::writeBinary(WriteBuffer & out) const -{ - writeVarUInt(parts.size(), out); - for (const auto & part : parts) - { - writeStringBinary(part.key, out); - writeIntBinary(part.is_nested, out); - writeIntBinary(part.anonymous_array_level, out); - } -} - -void PathInData::readBinary(ReadBuffer & in) -{ - size_t num_parts; - readVarUInt(num_parts, in); - - Arena arena; - Parts temp_parts; - temp_parts.reserve(num_parts); - - for (size_t i = 0; i < num_parts; ++i) - { - bool is_nested; - UInt8 anonymous_array_level; - - auto ref = readStringBinaryInto(arena, in); - readIntBinary(is_nested, in); - readIntBinary(anonymous_array_level, in); - - temp_parts.emplace_back(static_cast(ref), is_nested, anonymous_array_level); - } - - /// Recreate path and parts. - buildPath(temp_parts); - buildParts(temp_parts); -} - void PathInData::buildPath(const Parts & other_parts) { if (other_parts.empty()) diff --git a/src/DataTypes/Serializations/PathInData.h b/src/DataTypes/Serializations/PathInData.h index 323bc37d99b..278a81a9b0b 100644 --- a/src/DataTypes/Serializations/PathInData.h +++ b/src/DataTypes/Serializations/PathInData.h @@ -7,9 +7,6 @@ namespace DB { -class ReadBuffer; -class WriteBuffer; - /// Class that represents path in document, e.g. JSON. class PathInData { @@ -57,9 +54,6 @@ public: bool isNested(size_t i) const { return parts[i].is_nested; } bool hasNested() const { return has_nested; } - void writeBinary(WriteBuffer & out) const; - void readBinary(ReadBuffer & in); - bool operator==(const PathInData & other) const { return parts == other.parts; } struct Hash { size_t operator()(const PathInData & value) const; }; diff --git a/src/DataTypes/Serializations/SerializationObject.cpp b/src/DataTypes/Serializations/SerializationObject.cpp index 2d6555dcb43..cf49fa8798d 100644 --- a/src/DataTypes/Serializations/SerializationObject.cpp +++ b/src/DataTypes/Serializations/SerializationObject.cpp @@ -1,5 +1,6 @@ #include #include +#include #include #include #include @@ -9,12 +10,17 @@ #include #include #include +#include +#include #include #include #include #include +#include +#include +#include namespace DB { @@ -27,71 +33,6 @@ namespace ErrorCodes extern const int LOGICAL_ERROR; } -namespace -{ - -using Node = typename ColumnObject::Subcolumns::Node; - -/// Finds a subcolumn from the same Nested type as @entry and inserts -/// an array with default values with consistent sizes as in Nested type. -bool tryInsertDefaultFromNested( - const std::shared_ptr & entry, const ColumnObject::Subcolumns & subcolumns) -{ - if (!entry->path.hasNested()) - return false; - - const Node * current_node = subcolumns.findLeaf(entry->path); - const Node * leaf = nullptr; - size_t num_skipped_nested = 0; - - while (current_node) - { - /// Try to find the first Nested up to the current node. - const auto * node_nested = subcolumns.findParent(current_node, - [](const auto & candidate) { return candidate.isNested(); }); - - if (!node_nested) - break; - - /// If there are no leaves, skip current node and find - /// the next node up to the current. - leaf = subcolumns.findLeaf(node_nested, - [&](const auto & candidate) - { - return candidate.data.size() == entry->data.size() + 1; - }); - - if (leaf) - break; - - current_node = node_nested->parent; - ++num_skipped_nested; - } - - if (!leaf) - return false; - - auto last_field = leaf->data.getLastField(); - if (last_field.isNull()) - return false; - - const auto & least_common_type = entry->data.getLeastCommonType(); - size_t num_dimensions = getNumberOfDimensions(*least_common_type); - assert(num_skipped_nested < num_dimensions); - - /// Replace scalars to default values with consistent array sizes. - size_t num_dimensions_to_keep = num_dimensions - num_skipped_nested; - auto default_scalar = num_skipped_nested - ? createEmptyArrayField(num_skipped_nested) - : getBaseTypeOfArray(least_common_type)->getDefault(); - - auto default_field = applyVisitor(FieldVisitorReplaceScalars(default_scalar, num_dimensions_to_keep), last_field); - entry->data.insert(std::move(default_field)); - return true; -} - -} - template template void SerializationObject::deserializeTextImpl(IColumn & column, Reader && reader) const @@ -120,29 +61,23 @@ void SerializationObject::deserializeTextImpl(IColumn & column, Reader & auto & [paths, values] = *result; assert(paths.size() == values.size()); - HashSet paths_set; - size_t column_size = column_object.size(); - + size_t old_column_size = column_object.size(); for (size_t i = 0; i < paths.size(); ++i) { auto field_info = getFieldInfo(values[i]); if (isNothing(field_info.scalar_type)) continue; - if (!paths_set.insert(paths[i].getPath()).second) - throw Exception(ErrorCodes::INCORRECT_DATA, - "Object has ambiguous path: {}", paths[i].getPath()); - if (!column_object.hasSubcolumn(paths[i])) { if (paths[i].hasNested()) - column_object.addNestedSubcolumn(paths[i], field_info, column_size); + column_object.addNestedSubcolumn(paths[i], field_info, old_column_size); else - column_object.addSubcolumn(paths[i], column_size); + column_object.addSubcolumn(paths[i], old_column_size); } auto & subcolumn = column_object.getSubcolumn(paths[i]); - assert(subcolumn.size() == column_size); + assert(subcolumn.size() == old_column_size); subcolumn.insert(std::move(values[i]), std::move(field_info)); } @@ -151,9 +86,9 @@ void SerializationObject::deserializeTextImpl(IColumn & column, Reader & const auto & subcolumns = column_object.getSubcolumns(); for (const auto & entry : subcolumns) { - if (!paths_set.has(entry->path.getPath())) + if (entry->data.size() == old_column_size) { - bool inserted = tryInsertDefaultFromNested(entry, subcolumns); + bool inserted = column_object.tryInsertDefaultFromNested(entry); if (!inserted) entry->data.insertDefault(); } @@ -193,24 +128,51 @@ void SerializationObject::deserializeTextCSV(IColumn & column, ReadBuffe } template -template -void SerializationObject::checkSerializationIsSupported(const TSettings & settings, const TStatePtr & state) const +template +void SerializationObject::checkSerializationIsSupported(const TSettings & settings) const { if (settings.position_independent_encoding) throw Exception(ErrorCodes::NOT_IMPLEMENTED, "DataTypeObject doesn't support serialization with position independent encoding"); - - if (state) - throw Exception(ErrorCodes::NOT_IMPLEMENTED, - "DataTypeObject doesn't support serialization with non-trivial state"); } +template +struct SerializationObject::SerializeStateObject : public ISerialization::SerializeBinaryBulkState +{ + bool is_first = true; + DataTypePtr nested_type; + SerializationPtr nested_serialization; + SerializeBinaryBulkStatePtr nested_state; +}; + +template +struct SerializationObject::DeserializeStateObject : public ISerialization::DeserializeBinaryBulkState +{ + BinarySerializationKind kind; + DataTypePtr nested_type; + SerializationPtr nested_serialization; + DeserializeBinaryBulkStatePtr nested_state; +}; + template void SerializationObject::serializeBinaryBulkStatePrefix( SerializeBinaryBulkSettings & settings, SerializeBinaryBulkStatePtr & state) const { - checkSerializationIsSupported(settings, state); + checkSerializationIsSupported(settings); + if (state) + throw Exception(ErrorCodes::NOT_IMPLEMENTED, + "DataTypeObject doesn't support serialization with non-trivial state"); + + settings.path.push_back(Substream::ObjectStructure); + auto * stream = settings.getter(settings.path); + settings.path.pop_back(); + + if (!stream) + throw Exception(ErrorCodes::LOGICAL_ERROR, "Missing stream for kind of binary serialization"); + + writeIntBinary(static_cast(BinarySerializationKind::TUPLE), *stream); + state = std::make_shared(); } template @@ -218,7 +180,12 @@ void SerializationObject::serializeBinaryBulkStateSuffix( SerializeBinaryBulkSettings & settings, SerializeBinaryBulkStatePtr & state) const { - checkSerializationIsSupported(settings, state); + checkSerializationIsSupported(settings); + auto * state_object = checkAndGetState(state); + + settings.path.push_back(Substream::ObjectData); + state_object->nested_serialization->serializeBinaryBulkStateSuffix(settings, state_object->nested_state); + settings.path.pop_back(); } template @@ -226,7 +193,56 @@ void SerializationObject::deserializeBinaryBulkStatePrefix( DeserializeBinaryBulkSettings & settings, DeserializeBinaryBulkStatePtr & state) const { - checkSerializationIsSupported(settings, state); + checkSerializationIsSupported(settings); + if (state) + throw Exception(ErrorCodes::NOT_IMPLEMENTED, + "DataTypeObject doesn't support serialization with non-trivial state"); + + settings.path.push_back(Substream::ObjectStructure); + auto * stream = settings.getter(settings.path); + settings.path.pop_back(); + + if (!stream) + throw Exception(ErrorCodes::CANNOT_READ_ALL_DATA, + "Cannot read kind of binary serialization of DataTypeObject, because its stream is missing"); + + UInt8 kind_raw; + readIntBinary(kind_raw, *stream); + auto kind = magic_enum::enum_cast(kind_raw); + if (!kind) + throw Exception(ErrorCodes::INCORRECT_DATA, + "Unknown binary serialization kind of Object: " + std::to_string(kind_raw)); + + auto state_object = std::make_shared(); + state_object->kind = *kind; + + if (state_object->kind == BinarySerializationKind::TUPLE) + { + String data_type_name; + readStringBinary(data_type_name, *stream); + state_object->nested_type = DataTypeFactory::instance().get(data_type_name); + state_object->nested_serialization = state_object->nested_type->getDefaultSerialization(); + + if (!isTuple(state_object->nested_type)) + throw Exception(ErrorCodes::INCORRECT_DATA, + "Data of type Object should be written as Tuple, got: {}", data_type_name); + } + else if (state_object->kind == BinarySerializationKind::STRING) + { + state_object->nested_type = std::make_shared(); + state_object->nested_serialization = std::make_shared(); + } + else + { + throw Exception(ErrorCodes::INCORRECT_DATA, + "Unknown binary serialization kind of Object: " + std::to_string(kind_raw)); + } + + settings.path.push_back(Substream::ObjectData); + state_object->nested_serialization->deserializeBinaryBulkStatePrefix(settings, state_object->nested_state); + settings.path.pop_back(); + + state = std::move(state_object); } template @@ -237,36 +253,45 @@ void SerializationObject::serializeBinaryBulkWithMultipleStreams( SerializeBinaryBulkSettings & settings, SerializeBinaryBulkStatePtr & state) const { - checkSerializationIsSupported(settings, state); + checkSerializationIsSupported(settings); const auto & column_object = assert_cast(column); + auto * state_object = checkAndGetState(state); if (!column_object.isFinalized()) throw Exception(ErrorCodes::LOGICAL_ERROR, "Cannot write non-finalized ColumnObject"); - settings.path.push_back(Substream::ObjectStructure); - if (auto * stream = settings.getter(settings.path)) - writeVarUInt(column_object.getSubcolumns().size(), *stream); + auto [tuple_column, tuple_type] = unflattenObjectToTuple(column_object); - const auto & subcolumns = column_object.getSubcolumns(); - for (const auto & entry : subcolumns) + if (state_object->is_first) { - settings.path.back() = Substream::ObjectStructure; - settings.path.back().object_key_name = entry->path.getPath(); + /// Actually it's a part of serializeBinaryBulkStatePrefix, + /// but it cannot be done there, because we have to know the + /// structure of column. - const auto & type = entry->data.getLeastCommonType(); + settings.path.push_back(Substream::ObjectStructure); if (auto * stream = settings.getter(settings.path)) - { - entry->path.writeBinary(*stream); - writeStringBinary(type->getName(), *stream); - } + writeStringBinary(tuple_type->getName(), *stream); - settings.path.back() = Substream::ObjectElement; - if (auto * stream = settings.getter(settings.path)) - { - auto serialization = type->getDefaultSerialization(); - serialization->serializeBinaryBulkWithMultipleStreams( - entry->data.getFinalizedColumn(), offset, limit, settings, state); - } + state_object->nested_type = tuple_type; + state_object->nested_serialization = tuple_type->getDefaultSerialization(); + state_object->is_first = false; + + settings.path.back() = Substream::ObjectData; + state_object->nested_serialization->serializeBinaryBulkStatePrefix(settings, state_object->nested_state); + settings.path.pop_back(); + } + else if (!state_object->nested_type->equals(*tuple_type)) + { + throw Exception(ErrorCodes::LOGICAL_ERROR, + "Types of internal column of Object mismatched. Expected: {}, Got: {}", + state_object->nested_type->getName(), tuple_type->getName()); + } + + settings.path.push_back(Substream::ObjectData); + if (auto * stream = settings.getter(settings.path)) + { + state_object->nested_serialization->serializeBinaryBulkWithMultipleStreams( + *tuple_column, offset, limit, settings, state_object->nested_state); } settings.path.pop_back(); @@ -280,54 +305,20 @@ void SerializationObject::deserializeBinaryBulkWithMultipleStreams( DeserializeBinaryBulkStatePtr & state, SubstreamsCache * cache) const { - checkSerializationIsSupported(settings, state); + checkSerializationIsSupported(settings); if (!column->empty()) throw Exception(ErrorCodes::NOT_IMPLEMENTED, "DataTypeObject cannot be deserialized to non-empty column"); auto mutable_column = column->assumeMutable(); - auto & column_object = typeid_cast(*mutable_column); + auto & column_object = assert_cast(*mutable_column); + auto * state_object = checkAndGetState(state); - size_t num_subcolumns = 0; - settings.path.push_back(Substream::ObjectStructure); - if (auto * stream = settings.getter(settings.path)) - readVarUInt(num_subcolumns, *stream); - - settings.path.back() = Substream::ObjectElement; - for (size_t i = 0; i < num_subcolumns; ++i) - { - PathInData key; - String type_name; - - settings.path.back() = Substream::ObjectStructure; - if (auto * stream = settings.getter(settings.path)) - { - key.readBinary(*stream); - readStringBinary(type_name, *stream); - } - else - { - throw Exception(ErrorCodes::CANNOT_READ_ALL_DATA, - "Cannot read structure of DataTypeObject, because its stream is missing"); - } - - settings.path.back() = Substream::ObjectElement; - settings.path.back().object_key_name = key.getPath(); - - if (auto * stream = settings.getter(settings.path)) - { - auto type = DataTypeFactory::instance().get(type_name); - auto serialization = type->getDefaultSerialization(); - ColumnPtr subcolumn_data = type->createColumn(); - serialization->deserializeBinaryBulkWithMultipleStreams(subcolumn_data, limit, settings, state, cache); - column_object.addSubcolumn(key, subcolumn_data->assumeMutable()); - } - else - { - throw Exception(ErrorCodes::CANNOT_READ_ALL_DATA, - "Cannot read subcolumn '{}' of DataTypeObject, because its stream is missing", key.getPath()); - } - } + settings.path.push_back(Substream::ObjectData); + if (state_object->kind == BinarySerializationKind::STRING) + deserializeBinaryBulkFromString(column_object, limit, settings, *state_object, cache); + else + deserializeBinaryBulkFromTuple(column_object, limit, settings, *state_object, cache); settings.path.pop_back(); column_object.checkConsistency(); @@ -335,6 +326,49 @@ void SerializationObject::deserializeBinaryBulkWithMultipleStreams( column = std::move(mutable_column); } +template +void SerializationObject::deserializeBinaryBulkFromString( + ColumnObject & column_object, + size_t limit, + DeserializeBinaryBulkSettings & settings, + DeserializeStateObject & state, + SubstreamsCache * cache) const +{ + ColumnPtr column_string = state.nested_type->createColumn(); + state.nested_serialization->deserializeBinaryBulkWithMultipleStreams( + column_string, limit, settings, state.nested_state, cache); + + ConvertImplGenericFromString::executeImpl(*column_string, column_object, *this, column_string->size()); +} + +template +void SerializationObject::deserializeBinaryBulkFromTuple( + ColumnObject & column_object, + size_t limit, + DeserializeBinaryBulkSettings & settings, + DeserializeStateObject & state, + SubstreamsCache * cache) const +{ + ColumnPtr column_tuple = state.nested_type->createColumn(); + state.nested_serialization->deserializeBinaryBulkWithMultipleStreams( + column_tuple, limit, settings, state.nested_state, cache); + + auto [tuple_paths, tuple_types] = flattenTuple(state.nested_type); + auto flattened_tuple = flattenTuple(column_tuple); + const auto & tuple_columns = assert_cast(*flattened_tuple).getColumns(); + + assert(tuple_paths.size() == tuple_types.size()); + size_t num_subcolumns = tuple_paths.size(); + + if (tuple_columns.size() != num_subcolumns) + throw Exception(ErrorCodes::INCORRECT_DATA, + "Inconsistent type ({}) and column ({}) while reading column of type Object", + state.nested_type->getName(), column_tuple->getName()); + + for (size_t i = 0; i < num_subcolumns; ++i) + column_object.addSubcolumn(tuple_paths[i], tuple_columns[i]->assumeMutable()); +} + template void SerializationObject::serializeBinary(const Field &, WriteBuffer &) const { diff --git a/src/DataTypes/Serializations/SerializationObject.h b/src/DataTypes/Serializations/SerializationObject.h index 549c8735aee..ff72c84faaa 100644 --- a/src/DataTypes/Serializations/SerializationObject.h +++ b/src/DataTypes/Serializations/SerializationObject.h @@ -1,19 +1,35 @@ #pragma once +#include #include #include namespace DB { -/// Serialization for data type Object. -/// Supported only test serialization/deserialization. -/// and binary bulk serialization/deserialization without position independent -/// encoding, i.e. serialization/deserialization into Native format. +/** Serialization for data type Object. + * Supported only test serialization/deserialization. + * and binary bulk serialization/deserialization without position independent + * encoding, i.e. serialization/deserialization into Native format. + */ template class SerializationObject : public ISerialization { public: + /** In Native format ColumnObject can be serialized + * in two formats: as Tuple or as String. + * The format is the following: + * + * 1 byte -- 0 if Tuple, 1 if String. + * [type_name] -- Only for tuple serialization. + * ... data of internal column ... + * + * ClickHouse client serializazes objects as tuples. + * String serialization exists for clients, which cannot + * do parsing by themselves and they can send raw data as + * string. It will be parsed on the server side. + */ + void serializeBinaryBulkStatePrefix( SerializeBinaryBulkSettings & settings, SerializeBinaryBulkStatePtr & state) const override; @@ -58,8 +74,31 @@ public: void deserializeTextCSV(IColumn & column, ReadBuffer & istr, const FormatSettings & settings) const override; private: - template - void checkSerializationIsSupported(const TSettings & settings, const TStatePtr & state) const; + enum class BinarySerializationKind : UInt8 + { + TUPLE = 0, + STRING = 1, + }; + + struct SerializeStateObject; + struct DeserializeStateObject; + + void deserializeBinaryBulkFromString( + ColumnObject & column_object, + size_t limit, + DeserializeBinaryBulkSettings & settings, + DeserializeStateObject & state, + SubstreamsCache * cache) const; + + void deserializeBinaryBulkFromTuple( + ColumnObject & column_object, + size_t limit, + DeserializeBinaryBulkSettings & settings, + DeserializeStateObject & state, + SubstreamsCache * cache) const; + + template + void checkSerializationIsSupported(const TSettings & settings) const; template void deserializeTextImpl(IColumn & column, Reader && reader) const; diff --git a/src/DataTypes/Serializations/tests/gtest_object_serialization.cpp b/src/DataTypes/Serializations/tests/gtest_object_serialization.cpp new file mode 100644 index 00000000000..f1fbbe115e2 --- /dev/null +++ b/src/DataTypes/Serializations/tests/gtest_object_serialization.cpp @@ -0,0 +1,80 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#if USE_SIMDJSON + +using namespace DB; + +TEST(SerializationObject, FromString) +{ + WriteBufferFromOwnString out; + + auto column_string = ColumnString::create(); + column_string->insert(R"({"k1" : 1, "k2" : [{"k3" : "aa", "k4" : 2}, {"k3": "bb", "k4": 3}]})"); + column_string->insert(R"({"k1" : 2, "k2" : [{"k3" : "cc", "k5" : 4}, {"k4": 5}, {"k4": 6}]})"); + + { + auto serialization = std::make_shared(); + + ISerialization::SerializeBinaryBulkSettings settings; + ISerialization::SerializeBinaryBulkStatePtr state; + settings.position_independent_encoding = false; + settings.getter = [&out](const auto &) { return &out; }; + + writeIntBinary(static_cast(1), out); + serialization->serializeBinaryBulkStatePrefix(settings, state); + serialization->serializeBinaryBulkWithMultipleStreams(*column_string, 0, column_string->size(), settings, state); + serialization->serializeBinaryBulkStateSuffix(settings, state); + } + + auto type_object = std::make_shared("json", false); + ColumnPtr result_column = type_object->createColumn(); + + ReadBufferFromOwnString in(out.str()); + + { + auto serialization = type_object->getDefaultSerialization(); + + ISerialization::DeserializeBinaryBulkSettings settings; + ISerialization::DeserializeBinaryBulkStatePtr state; + settings.position_independent_encoding = false; + settings.getter = [&in](const auto &) { return ∈ }; + + serialization->deserializeBinaryBulkStatePrefix(settings, state); + serialization->deserializeBinaryBulkWithMultipleStreams(result_column, column_string->size(), settings, state, nullptr); + } + + auto & column_object = assert_cast(*result_column->assumeMutable()); + column_object.finalize(); + + ASSERT_TRUE(column_object.size() == 2); + ASSERT_TRUE(column_object.getSubcolumns().size() == 4); + + auto check_subcolumn = [&](const auto & name, const auto & type_name, const std::vector & expected) + { + const auto & subcolumn = column_object.getSubcolumn(PathInData{name}); + ASSERT_EQ(subcolumn.getLeastCommonType()->getName(), type_name); + + const auto & data = subcolumn.getFinalizedColumn(); + for (size_t i = 0; i < expected.size(); ++i) + ASSERT_EQ( + applyVisitor(FieldVisitorToString(), data[i]), + applyVisitor(FieldVisitorToString(), expected[i])); + }; + + check_subcolumn("k1", "Int8", {1, 2}); + check_subcolumn("k2.k3", "Array(String)", {Array{"aa", "bb"}, Array{"cc", "", ""}}); + check_subcolumn("k2.k4", "Array(Int8)", {Array{2, 3}, Array{0, 5, 6}}); + check_subcolumn("k2.k5", "Array(Int8)", {Array{0, 0}, Array{4, 0, 0}}); +} + +#endif diff --git a/src/DataTypes/getLeastSupertype.cpp b/src/DataTypes/getLeastSupertype.cpp index 14cfafb1ef3..ac240c4afce 100644 --- a/src/DataTypes/getLeastSupertype.cpp +++ b/src/DataTypes/getLeastSupertype.cpp @@ -55,16 +55,24 @@ String getExceptionMessagePrefix(const DataTypes & types) return res.str(); } -DataTypePtr getNumericType(const TypeIndexSet & types, bool allow_conversion_to_string) +template +DataTypePtr throwOrReturn(const DataTypes & types, std::string_view message_suffix, int error_code) { - auto throw_or_return = [&](std::string_view message, int error_code) - { - if (allow_conversion_to_string) - return std::make_shared(); + if constexpr (on_error == LeastSupertypeOnError::String) + return std::make_shared(); - throw Exception(String(message), error_code); - }; + if constexpr (on_error == LeastSupertypeOnError::Null) + return nullptr; + if (message_suffix.empty()) + throw Exception(error_code, getExceptionMessagePrefix(types)); + + throw Exception(error_code, "{} {}", getExceptionMessagePrefix(types), message_suffix); +} + +template +DataTypePtr getNumericType(const TypeIndexSet & types) +{ bool all_numbers = true; size_t max_bits_of_signed_integer = 0; @@ -107,14 +115,14 @@ DataTypePtr getNumericType(const TypeIndexSet & types, bool allow_conversion_to_ maximize(max_mantissa_bits_of_floating, 24); else if (type == TypeIndex::Float64) maximize(max_mantissa_bits_of_floating, 53); - else + else if (type != TypeIndex::Nothing) all_numbers = false; } if (max_bits_of_signed_integer || max_bits_of_unsigned_integer || max_mantissa_bits_of_floating) { if (!all_numbers) - return throw_or_return(getExceptionMessagePrefix(types) + " because some of them are numbers and some of them are not", ErrorCodes::NO_COMMON_TYPE); + return throwOrReturn(types, "because some of them are numbers and some of them are not", ErrorCodes::NO_COMMON_TYPE); /// If there are signed and unsigned types of same bit-width, the result must be signed number with at least one more bit. /// Example, common of Int32, UInt32 = Int64. @@ -129,10 +137,9 @@ DataTypePtr getNumericType(const TypeIndexSet & types, bool allow_conversion_to_ if (min_bit_width_of_integer != 64) ++min_bit_width_of_integer; else - return throw_or_return( - getExceptionMessagePrefix(types) - + " because some of them are signed integers and some are unsigned integers," - " but there is no signed integer type, that can exactly represent all required unsigned integer values", + return throwOrReturn(types, + "because some of them are signed integers and some are unsigned integers," + " but there is no signed integer type, that can exactly represent all required unsigned integer values", ErrorCodes::NO_COMMON_TYPE); } @@ -145,8 +152,8 @@ DataTypePtr getNumericType(const TypeIndexSet & types, bool allow_conversion_to_ else if (min_mantissa_bits <= 53) return std::make_shared(); else - return throw_or_return(getExceptionMessagePrefix(types) - + " because some of them are integers and some are floating point," + return throwOrReturn(types, + " because some of them are integers and some are floating point," " but there is no floating point type, that can exactly represent all required integers", ErrorCodes::NO_COMMON_TYPE); } @@ -166,8 +173,8 @@ DataTypePtr getNumericType(const TypeIndexSet & types, bool allow_conversion_to_ else if (min_bit_width_of_integer <= 256) return std::make_shared(); else - return throw_or_return(getExceptionMessagePrefix(types) - + " because some of them are signed integers and some are unsigned integers," + return throwOrReturn(types, + " because some of them are signed integers and some are unsigned integers," " but there is no signed integer type, that can exactly represent all required unsigned integer values", ErrorCodes::NO_COMMON_TYPE); } @@ -186,9 +193,8 @@ DataTypePtr getNumericType(const TypeIndexSet & types, bool allow_conversion_to_ else if (min_bit_width_of_integer <= 256) return std::make_shared(); else - return throw_or_return("Logical error: " + getExceptionMessagePrefix(types) - + " but as all data types are unsigned integers, we must have found maximum unsigned integer type", ErrorCodes::NO_COMMON_TYPE); - + return throwOrReturn(types, + " but as all data types are unsigned integers, we must have found maximum unsigned integer type", ErrorCodes::NO_COMMON_TYPE); } } @@ -197,16 +203,9 @@ DataTypePtr getNumericType(const TypeIndexSet & types, bool allow_conversion_to_ } -DataTypePtr getLeastSupertype(const DataTypes & types, bool allow_conversion_to_string) +template +DataTypePtr getLeastSupertype(const DataTypes & types) { - auto throw_or_return = [&](std::string_view message, int error_code) - { - if (allow_conversion_to_string) - return std::make_shared(); - - throw Exception(String(message), error_code); - }; - /// Trivial cases if (types.empty()) @@ -243,7 +242,7 @@ DataTypePtr getLeastSupertype(const DataTypes & types, bool allow_conversion_to_ non_nothing_types.emplace_back(type); if (non_nothing_types.size() < types.size()) - return getLeastSupertype(non_nothing_types, allow_conversion_to_string); + return getLeastSupertype(non_nothing_types); } /// For Arrays @@ -268,9 +267,9 @@ DataTypePtr getLeastSupertype(const DataTypes & types, bool allow_conversion_to_ if (have_array) { if (!all_arrays) - return throw_or_return(getExceptionMessagePrefix(types) + " because some of them are Array and some of them are not", ErrorCodes::NO_COMMON_TYPE); + return throwOrReturn(types, "because some of them are Array and some of them are not", ErrorCodes::NO_COMMON_TYPE); - return std::make_shared(getLeastSupertype(nested_types, allow_conversion_to_string)); + return std::make_shared(getLeastSupertype(nested_types)); } } @@ -294,7 +293,7 @@ DataTypePtr getLeastSupertype(const DataTypes & types, bool allow_conversion_to_ nested_types[elem_idx].reserve(types.size()); } else if (tuple_size != type_tuple->getElements().size()) - return throw_or_return(getExceptionMessagePrefix(types) + " because Tuples have different sizes", ErrorCodes::NO_COMMON_TYPE); + return throwOrReturn(types, "because Tuples have different sizes", ErrorCodes::NO_COMMON_TYPE); have_tuple = true; @@ -308,11 +307,11 @@ DataTypePtr getLeastSupertype(const DataTypes & types, bool allow_conversion_to_ if (have_tuple) { if (!all_tuples) - return throw_or_return(getExceptionMessagePrefix(types) + " because some of them are Tuple and some of them are not", ErrorCodes::NO_COMMON_TYPE); + return throwOrReturn(types, "because some of them are Tuple and some of them are not", ErrorCodes::NO_COMMON_TYPE); DataTypes common_tuple_types(tuple_size); for (size_t elem_idx = 0; elem_idx < tuple_size; ++elem_idx) - common_tuple_types[elem_idx] = getLeastSupertype(nested_types[elem_idx], allow_conversion_to_string); + common_tuple_types[elem_idx] = getLeastSupertype(nested_types[elem_idx]); return std::make_shared(common_tuple_types); } @@ -342,11 +341,11 @@ DataTypePtr getLeastSupertype(const DataTypes & types, bool allow_conversion_to_ if (have_maps) { if (!all_maps) - return throw_or_return(getExceptionMessagePrefix(types) + " because some of them are Maps and some of them are not", ErrorCodes::NO_COMMON_TYPE); + return throwOrReturn(types, "because some of them are Maps and some of them are not", ErrorCodes::NO_COMMON_TYPE); return std::make_shared( - getLeastSupertype(key_types, allow_conversion_to_string), - getLeastSupertype(value_types, allow_conversion_to_string)); + getLeastSupertype(key_types), + getLeastSupertype(value_types)); } } @@ -377,9 +376,9 @@ DataTypePtr getLeastSupertype(const DataTypes & types, bool allow_conversion_to_ if (have_low_cardinality) { if (have_not_low_cardinality) - return getLeastSupertype(nested_types, allow_conversion_to_string); + return getLeastSupertype(nested_types); else - return std::make_shared(getLeastSupertype(nested_types, allow_conversion_to_string)); + return std::make_shared(getLeastSupertype(nested_types)); } } @@ -405,7 +404,7 @@ DataTypePtr getLeastSupertype(const DataTypes & types, bool allow_conversion_to_ if (have_nullable) { - return std::make_shared(getLeastSupertype(nested_types, allow_conversion_to_string)); + return std::make_shared(getLeastSupertype(nested_types)); } } @@ -425,7 +424,7 @@ DataTypePtr getLeastSupertype(const DataTypes & types, bool allow_conversion_to_ { bool all_strings = type_ids.size() == (have_string + have_fixed_string); if (!all_strings) - return throw_or_return(getExceptionMessagePrefix(types) + " because some of them are String/FixedString and some of them are not", ErrorCodes::NO_COMMON_TYPE); + return throwOrReturn(types, "because some of them are String/FixedString and some of them are not", ErrorCodes::NO_COMMON_TYPE); return std::make_shared(); } @@ -442,8 +441,8 @@ DataTypePtr getLeastSupertype(const DataTypes & types, bool allow_conversion_to_ { bool all_date_or_datetime = type_ids.size() == (have_date + have_date32 + have_datetime + have_datetime64); if (!all_date_or_datetime) - return throw_or_return(getExceptionMessagePrefix(types) - + " because some of them are Date/Date32/DateTime/DateTime64 and some of them are not", + return throwOrReturn(types, + "because some of them are Date/Date32/DateTime/DateTime64 and some of them are not", ErrorCodes::NO_COMMON_TYPE); if (have_datetime64 == 0 && have_date32 == 0) @@ -520,8 +519,7 @@ DataTypePtr getLeastSupertype(const DataTypes & types, bool allow_conversion_to_ } if (num_supported != type_ids.size()) - return throw_or_return(getExceptionMessagePrefix(types) + " because some of them have no lossless conversion to Decimal", - ErrorCodes::NO_COMMON_TYPE); + return throwOrReturn(types, "because some of them have no lossless conversion to Decimal", ErrorCodes::NO_COMMON_TYPE); UInt32 max_scale = 0; for (const auto & type : types) @@ -543,7 +541,7 @@ DataTypePtr getLeastSupertype(const DataTypes & types, bool allow_conversion_to_ } if (min_precision > DataTypeDecimal::maxPrecision()) - return throw_or_return(getExceptionMessagePrefix(types) + " because the least supertype is Decimal(" + return throwOrReturn(types, "because the least supertype is Decimal(" + toString(min_precision) + ',' + toString(max_scale) + ')', ErrorCodes::NO_COMMON_TYPE); @@ -557,68 +555,77 @@ DataTypePtr getLeastSupertype(const DataTypes & types, bool allow_conversion_to_ /// For numeric types, the most complicated part. { - auto numeric_type = getNumericType(type_ids, allow_conversion_to_string); + auto numeric_type = getNumericType(type_ids); if (numeric_type) return numeric_type; } /// All other data types (UUID, AggregateFunction, Enum...) are compatible only if they are the same (checked in trivial cases). - return throw_or_return(getExceptionMessagePrefix(types), ErrorCodes::NO_COMMON_TYPE); + return throwOrReturn(types, "", ErrorCodes::NO_COMMON_TYPE); } -DataTypePtr getLeastSupertype(const TypeIndexSet & types, bool allow_conversion_to_string) +DataTypePtr getLeastSupertypeOrString(const DataTypes & types) { - auto throw_or_return = [&](std::string_view message, int error_code) - { - if (allow_conversion_to_string) - return std::make_shared(); - - throw Exception(String(message), error_code); - }; - - TypeIndexSet types_set; - for (const auto & type : types) - { - if (WhichDataType(type).isNothing()) - continue; - - if (!WhichDataType(type).isSimple()) - throw Exception(ErrorCodes::NO_COMMON_TYPE, - "Cannot get common type by type ids with parametric type {}", typeToString(type)); - - types_set.insert(type); - } - - if (types_set.empty()) - return std::make_shared(); - - if (types.contains(TypeIndex::String)) - { - if (types.size() != 1) - return throw_or_return(getExceptionMessagePrefix(types) + " because some of them are String and some of them are not", ErrorCodes::NO_COMMON_TYPE); - - return std::make_shared(); - } - - /// For numeric types, the most complicated part. - auto numeric_type = getNumericType(types, allow_conversion_to_string); - if (numeric_type) - return numeric_type; - - /// All other data types (UUID, AggregateFunction, Enum...) are compatible only if they are the same (checked in trivial cases). - return throw_or_return(getExceptionMessagePrefix(types), ErrorCodes::NO_COMMON_TYPE); + return getLeastSupertype(types); } DataTypePtr tryGetLeastSupertype(const DataTypes & types) { - try - { - return getLeastSupertype(types); - } - catch (...) - { - return nullptr; - } + return getLeastSupertype(types); } +template +DataTypePtr getLeastSupertype(const TypeIndexSet & types) +{ + if (types.empty()) + return std::make_shared(); + + if (types.size() == 1) + { + WhichDataType which(*types.begin()); + if (which.isNothing()) + return std::make_shared(); + + #define DISPATCH(TYPE) \ + if (which.idx == TypeIndex::TYPE) \ + return std::make_shared>(); /// NOLINT + + FOR_NUMERIC_TYPES(DISPATCH) + #undef DISPATCH + + if (which.isString()) + return std::make_shared(); + + return throwOrReturn(types, "because cannot get common type by type indexes with non-simple types", ErrorCodes::NO_COMMON_TYPE); + } + + if (types.contains(TypeIndex::String)) + { + bool only_string = types.size() == 2 && types.contains(TypeIndex::Nothing); + if (!only_string) + return throwOrReturn(types, "because some of them are String and some of them are not", ErrorCodes::NO_COMMON_TYPE); + + return std::make_shared(); + } + + auto numeric_type = getNumericType(types); + if (numeric_type) + return numeric_type; + + return throwOrReturn(types, "", ErrorCodes::NO_COMMON_TYPE); +} + +DataTypePtr getLeastSupertypeOrString(const TypeIndexSet & types) +{ + return getLeastSupertype(types); +} + +DataTypePtr tryGetLeastSupertype(const TypeIndexSet & types) +{ + return getLeastSupertype(types); +} + +template DataTypePtr getLeastSupertype(const DataTypes & types); +template DataTypePtr getLeastSupertype(const TypeIndexSet & types); + } diff --git a/src/DataTypes/getLeastSupertype.h b/src/DataTypes/getLeastSupertype.h index 5444bb34d06..2ef4a0e6850 100644 --- a/src/DataTypes/getLeastSupertype.h +++ b/src/DataTypes/getLeastSupertype.h @@ -1,24 +1,39 @@ #pragma once - #include - namespace DB { +enum class LeastSupertypeOnError +{ + Throw, + String, + Null, +}; + /** Get data type that covers all possible values of passed data types. - * If there is no such data type, throws an exception - * or if 'allow_conversion_to_string' is true returns String as common type. + * If there is no such data type, throws an exception. * * Examples: least common supertype for UInt8, Int8 - Int16. * Examples: there is no least common supertype for Array(UInt8), Int8. */ -DataTypePtr getLeastSupertype(const DataTypes & types, bool allow_conversion_to_string = false); +template +DataTypePtr getLeastSupertype(const DataTypes & types); -using TypeIndexSet = std::unordered_set; -DataTypePtr getLeastSupertype(const TypeIndexSet & types, bool allow_conversion_to_string = false); +/// Same as above but return String type instead of throwing exception. +/// All types can be casted to String, because they can be serialized to String. +DataTypePtr getLeastSupertypeOrString(const DataTypes & types); /// Same as above but return nullptr instead of throwing exception. DataTypePtr tryGetLeastSupertype(const DataTypes & types); +using TypeIndexSet = std::unordered_set; + +template +DataTypePtr getLeastSupertype(const TypeIndexSet & types); + +DataTypePtr getLeastSupertypeOrString(const TypeIndexSet & types); + +DataTypePtr tryGetLeastSupertype(const TypeIndexSet & types); + } diff --git a/src/Databases/DDLRenamingVisitor.cpp b/src/Databases/DDLRenamingVisitor.cpp new file mode 100644 index 00000000000..7ea5dbeda83 --- /dev/null +++ b/src/Databases/DDLRenamingVisitor.cpp @@ -0,0 +1,369 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +namespace DB +{ +namespace ErrorCodes +{ + extern const int WRONG_DDL_RENAMING_SETTINGS; +} + +namespace +{ + /// CREATE TABLE or CREATE DICTIONARY or CREATE VIEW or CREATE TEMPORARY TABLE or CREATE DATABASE query. + void visitCreateQuery(ASTCreateQuery & create, const DDLRenamingVisitor::Data & data) + { + if (create.temporary) + { + /// CREATE TEMPORARY TABLE + String table_name = create.getTable(); + QualifiedTableName full_table_name{DatabaseCatalog::TEMPORARY_DATABASE, table_name}; + const auto & new_table_name = data.renaming_map.getNewTableName(full_table_name); + if (new_table_name != full_table_name) + { + create.setTable(new_table_name.table); + if (new_table_name.database != DatabaseCatalog::TEMPORARY_DATABASE) + { + create.temporary = false; + create.setDatabase(new_table_name.database); + } + } + } + else if (create.table) + { + /// CREATE TABLE or CREATE DICTIONARY or CREATE VIEW + QualifiedTableName full_name; + full_name.table = create.getTable(); + full_name.database = create.getDatabase(); + + if (!full_name.database.empty() && !full_name.table.empty()) + { + auto new_table_name = data.renaming_map.getNewTableName(full_name); + if (new_table_name != full_name) + { + create.setTable(new_table_name.table); + if (new_table_name.database == DatabaseCatalog::TEMPORARY_DATABASE) + { + create.temporary = true; + create.setDatabase(""); + } + else + { + create.setDatabase(new_table_name.database); + } + } + } + } + else if (create.database) + { + /// CREATE DATABASE + String database_name = create.getDatabase(); + if (!database_name.empty()) + { + String new_database_name = data.renaming_map.getNewDatabaseName(database_name); + create.setDatabase(new_database_name); + } + } + + QualifiedTableName as_table{create.as_database, create.as_table}; + if (!as_table.table.empty() && !as_table.database.empty()) + { + auto as_table_new = data.renaming_map.getNewTableName(as_table); + create.as_database = as_table_new.database; + create.as_table = as_table_new.table; + } + + QualifiedTableName to_table{create.to_table_id.database_name, create.to_table_id.table_name}; + if (!to_table.table.empty() && !to_table.database.empty()) + { + auto to_table_new = data.renaming_map.getNewTableName(to_table); + if (to_table_new != to_table) + create.to_table_id = StorageID{to_table_new.database, to_table_new.table}; + } + } + + /// ASTTableExpression represents a reference to a table in SELECT query. + /// DDLRenamingVisitor should handle ASTTableExpression because some CREATE queries can contain SELECT queries after AS (e.g. CREATE VIEW). + /// We'll try to replace database and table name. + void visitTableExpression(ASTTableExpression & expr, const DDLRenamingVisitor::Data & data) + { + if (!expr.database_and_table_name) + return; + + ASTIdentifier * identifier = dynamic_cast(expr.database_and_table_name.get()); + if (!identifier) + return; + + auto table_identifier = identifier->createTable(); + if (!table_identifier) + return; + + QualifiedTableName qualified_name{table_identifier->getDatabaseName(), table_identifier->shortName()}; + if (qualified_name.table.empty() || qualified_name.database.empty()) + return; + + auto new_qualified_name = data.renaming_map.getNewTableName(qualified_name); + if (new_qualified_name == qualified_name) + return; + + expr.database_and_table_name = std::make_shared(new_qualified_name.database, new_qualified_name.table); + expr.children.push_back(expr.database_and_table_name); + } + + /// ASTDictionary keeps a dictionary definition, for example + /// PRIMARY KEY key_column1, key_column2 + /// SOURCE(CLICKHOUSE(host '127.0.0.1' port 9000 user 'default' password '' db 'default' table 'ids' where 'id=10' query 'SELECT id, value_1, value_2 FROM default.ids')) + /// LAYOUT ... LIFETIME ... RANGE ... + /// + /// We'll try to replace database and table name in SOURCE if the specified `host` is local. + /// TODO: Probably we could try to replace database and table name in `query` too. + void visitDictionaryDef(ASTDictionary & dictionary, const DDLRenamingVisitor::Data & data) + { + if (!dictionary.source || dictionary.source->name != "clickhouse" || !dictionary.source->elements) + return; + + auto config = getDictionaryConfigurationFromAST(data.create_query->as(), data.global_context); + auto info = getInfoIfClickHouseDictionarySource(config, data.global_context); + if (!info || !info->is_local) + return; + + auto * source_list = dictionary.source->elements->as(); + if (!source_list) + return; + + auto & source_elements = source_list->children; + + Field * database_name_field = nullptr; + Field * table_name_field = nullptr; + + for (const auto & source_element : source_elements) + { + if (!source_element) + continue; + + auto * pair = source_element->as(); + if (!pair || !pair->second) + continue; + + auto * literal = pair->second->as(); + if (!literal) + continue; + + if (literal->value.getType() == Field::Types::String) + { + if (pair->first == "db") + database_name_field = &literal->value; + else if (pair->first == "table") + table_name_field = &literal->value; + } + } + + if (database_name_field && table_name_field) + { + QualifiedTableName qualified_name{database_name_field->get(), table_name_field->get()}; + if (!qualified_name.database.empty() && !qualified_name.table.empty()) + { + auto new_qualified_name = data.renaming_map.getNewTableName(qualified_name); + if (new_qualified_name != qualified_name) + { + *database_name_field = new_qualified_name.database; + *table_name_field = new_qualified_name.table; + } + } + } + } + + /// Replaces a qualified table name in a specified function's argument. + /// It can be either a string or an identifier with a dot in the middle. + void replaceTableNameInArgument(const ASTFunction & function, const DDLRenamingVisitor::Data & data, size_t arg_idx) + { + /// Just ignore incorrect arguments, proper exception will be thrown later + if (!function.arguments || function.arguments->children.size() <= arg_idx) + return; + + auto & arg = function.arguments->as()->children[arg_idx]; + if (auto * literal = arg->as()) + { + if (literal->value.getType() != Field::Types::String) + return; + + auto maybe_qualified_name = QualifiedTableName::tryParseFromString(literal->value.get()); + /// Just return if name if invalid + if (!maybe_qualified_name || maybe_qualified_name->database.empty() || maybe_qualified_name->table.empty()) + return; + + auto new_qualified_name = data.renaming_map.getNewTableName(*maybe_qualified_name); + literal->value = new_qualified_name.getFullName(); + return; + } + + if (const auto * identifier = dynamic_cast(arg.get())) + { + /// ASTIdentifier or ASTTableIdentifier + auto table_identifier = identifier->createTable(); + /// Just return if table identified is invalid + if (!table_identifier) + return; + + QualifiedTableName qualified_name{table_identifier->getDatabaseName(), table_identifier->shortName()}; + if (qualified_name.database.empty() || qualified_name.table.empty()) + return; + + auto new_qualified_name = data.renaming_map.getNewTableName(qualified_name); + arg = std::make_shared(new_qualified_name.database, new_qualified_name.table); + return; + } + } + + /// Replaces a qualified database name in a specified function's argument. + void replaceDatabaseNameInArguments(const ASTFunction & function, const DDLRenamingVisitor::Data & data, size_t arg_idx) + { + /// Just ignore incorrect arguments, proper exception will be thrown later + if (!function.arguments || function.arguments->children.size() <= arg_idx) + return; + + auto & arg = function.arguments->as()->children[arg_idx]; + auto * literal = arg->as(); + if (!literal || (literal->value.getType() != Field::Types::String)) + return; + + auto database_name = literal->value.get(); + if (database_name.empty()) + return; + + auto new_database_name = data.renaming_map.getNewDatabaseName(database_name); + literal->value = new_database_name; + } + + void visitTableEngine(ASTStorage & storage, const DDLRenamingVisitor::Data & data) + { + if (!storage.engine) + return; + + if (storage.engine->name == "Dictionary") + { + /// Syntax: CREATE TABLE table_name() engine = Dictionary('dictionary_name') + /// We'll try to replace the dictionary name. + replaceTableNameInArgument(*storage.engine, data, 0); + } + else if (storage.engine->name == "Merge") + { + /// Syntax: CREATE TABLE ... Engine=Merge(db_name, tables_regexp) + /// We'll try to replace the database name but we can do nothing to 'tables_regexp'. + replaceDatabaseNameInArguments(*storage.engine, data, 0); + } + } + + void visitFunction(const ASTFunction & function, const DDLRenamingVisitor::Data & data) + { + if (function.name == "joinGet" || + function.name == "dictHas" || + function.name == "dictIsIn" || + function.name.starts_with("dictGet")) + { + replaceTableNameInArgument(function, data, 0); + } + else if (Poco::toLower(function.name) == "in") + { + replaceTableNameInArgument(function, data, 1); + } + else if (function.name == "merge") + { + /// Syntax: merge('db_name', 'tables_regexp') + /// We'll try to replace the database name but we can do nothing to 'tables_regexp'. + replaceDatabaseNameInArguments(function, data, 0); + } + } +} + +void DDLRenamingVisitor::visit(ASTPtr ast, const Data & data) +{ + if (auto * create = ast->as()) + visitCreateQuery(*create, data); + else if (auto * expr = ast->as()) + visitTableExpression(*expr, data); + else if (auto * function = ast->as()) + visitFunction(*function, data); + else if (auto * dictionary = ast->as()) + visitDictionaryDef(*dictionary, data); + else if (auto * storage = ast->as()) + visitTableEngine(*storage, data); +} + +bool DDLRenamingVisitor::needChildVisit(const ASTPtr &, const ASTPtr &) { return true; } + + +void DDLRenamingMap::setNewTableName(const QualifiedTableName & old_table_name, const QualifiedTableName & new_table_name) +{ + if (old_table_name.table.empty() || old_table_name.database.empty() || new_table_name.table.empty() || new_table_name.database.empty()) + throw Exception(ErrorCodes::WRONG_DDL_RENAMING_SETTINGS, "Empty names are not allowed"); + + auto it = old_to_new_table_names.find(old_table_name); + if ((it != old_to_new_table_names.end())) + { + if (it->second == new_table_name) + return; + throw Exception( + ErrorCodes::WRONG_DDL_RENAMING_SETTINGS, + "Wrong renaming: it's specified that table {} should be renamed to {} and to {} at the same time", + old_table_name.getFullName(), + it->second.getFullName(), + new_table_name.getFullName()); + } + old_to_new_table_names[old_table_name] = new_table_name; +} + +void DDLRenamingMap::setNewDatabaseName(const String & old_database_name, const String & new_database_name) +{ + if (old_database_name.empty() || new_database_name.empty()) + throw Exception(ErrorCodes::WRONG_DDL_RENAMING_SETTINGS, "Empty names are not allowed"); + + auto it = old_to_new_database_names.find(old_database_name); + if ((it != old_to_new_database_names.end())) + { + if (it->second == new_database_name) + return; + throw Exception(ErrorCodes::WRONG_DDL_RENAMING_SETTINGS, "Wrong renaming: it's specified that database {} should be renamed to {} and to {} at the same time", + backQuoteIfNeed(old_database_name), backQuoteIfNeed(it->second), backQuoteIfNeed(new_database_name)); + } + old_to_new_database_names[old_database_name] = new_database_name; +} + + +const String & DDLRenamingMap::getNewDatabaseName(const String & old_database_name) const +{ + auto it = old_to_new_database_names.find(old_database_name); + if (it != old_to_new_database_names.end()) + return it->second; + return old_database_name; +} + +QualifiedTableName DDLRenamingMap::getNewTableName(const QualifiedTableName & old_table_name) const +{ + auto it = old_to_new_table_names.find(old_table_name); + if (it != old_to_new_table_names.end()) + return it->second; + return {getNewDatabaseName(old_table_name.database), old_table_name.table}; +} + + +void renameDatabaseAndTableNameInCreateQuery(ASTPtr ast, const DDLRenamingMap & renaming_map, const ContextPtr & global_context) +{ + DDLRenamingVisitor::Data data{ast, renaming_map, global_context}; + DDLRenamingVisitor::Visitor{data}.visit(ast); +} + +} diff --git a/src/Databases/DDLRenamingVisitor.h b/src/Databases/DDLRenamingVisitor.h new file mode 100644 index 00000000000..44146a8ee6b --- /dev/null +++ b/src/Databases/DDLRenamingVisitor.h @@ -0,0 +1,54 @@ +#pragma once + +#include +#include +#include +#include +#include + + +namespace DB +{ +class IAST; +using ASTPtr = std::shared_ptr; +class Context; +using ContextPtr = std::shared_ptr; +class DDLRenamingMap; + +/// Changes names of databases or tables in a create query according to a specified renaming map. +/// Does not validate AST, works a best-effort way. +void renameDatabaseAndTableNameInCreateQuery(ASTPtr ast, const DDLRenamingMap & renaming_map, const ContextPtr & global_context); + +/// Renaming map keeps information about new names of databases or tables. +class DDLRenamingMap +{ +public: + void setNewTableName(const QualifiedTableName & old_table_name, const QualifiedTableName & new_table_name); + void setNewDatabaseName(const String & old_database_name, const String & new_database_name); + + QualifiedTableName getNewTableName(const QualifiedTableName & old_table_name) const; + const String & getNewDatabaseName(const String & old_database_name) const; + +private: + std::unordered_map old_to_new_table_names; + std::unordered_map old_to_new_database_names; +}; + +/// Visits ASTCreateQuery and changes names of databases or tables. +class DDLRenamingVisitor +{ +public: + struct Data + { + ASTPtr create_query; + const DDLRenamingMap & renaming_map; + ContextPtr global_context; + }; + + using Visitor = InDepthNodeVisitor; + + static bool needChildVisit(const ASTPtr &, const ASTPtr &); + static void visit(ASTPtr ast, const Data & data); +}; + +} diff --git a/src/Databases/DatabaseAtomic.cpp b/src/Databases/DatabaseAtomic.cpp index ea887c84111..92dae025dae 100644 --- a/src/Databases/DatabaseAtomic.cpp +++ b/src/Databases/DatabaseAtomic.cpp @@ -73,7 +73,7 @@ String DatabaseAtomic::getTableDataPath(const ASTCreateQuery & query) const void DatabaseAtomic::drop(ContextPtr) { - assert(tables.empty()); + assert(TSA_SUPPRESS_WARNING_FOR_READ(tables).empty()); try { fs::remove(path_to_metadata_symlink); @@ -90,40 +90,40 @@ void DatabaseAtomic::attachTable(ContextPtr /* context_ */, const String & name, { assert(relative_table_path != data_path && !relative_table_path.empty()); DetachedTables not_in_use; - std::unique_lock lock(mutex); + std::lock_guard lock(mutex); not_in_use = cleanupDetachedTables(); auto table_id = table->getStorageID(); assertDetachedTableNotInUse(table_id.uuid); - DatabaseOrdinary::attachTableUnlocked(name, table, lock); + DatabaseOrdinary::attachTableUnlocked(name, table); table_name_to_path.emplace(std::make_pair(name, relative_table_path)); } StoragePtr DatabaseAtomic::detachTable(ContextPtr /* context */, const String & name) { DetachedTables not_in_use; - std::unique_lock lock(mutex); - auto table = DatabaseOrdinary::detachTableUnlocked(name, lock); + std::lock_guard lock(mutex); + auto table = DatabaseOrdinary::detachTableUnlocked(name); table_name_to_path.erase(name); detached_tables.emplace(table->getStorageID().uuid, table); not_in_use = cleanupDetachedTables(); //-V1001 return table; } -void DatabaseAtomic::dropTable(ContextPtr local_context, const String & table_name, bool no_delay) +void DatabaseAtomic::dropTable(ContextPtr local_context, const String & table_name, bool sync) { auto table = tryGetTable(table_name, local_context); /// Remove the inner table (if any) to avoid deadlock /// (due to attempt to execute DROP from the worker thread) if (table) - table->dropInnerTableIfAny(no_delay, local_context); + table->dropInnerTableIfAny(sync, local_context); else throw Exception(ErrorCodes::UNKNOWN_TABLE, "Table {}.{} doesn't exist", - backQuote(database_name), backQuote(table_name)); + backQuote(getDatabaseName()), backQuote(table_name)); String table_metadata_path = getObjectMetadataPath(table_name); String table_metadata_path_drop; { - std::unique_lock lock(mutex); + std::lock_guard lock(mutex); table_metadata_path_drop = DatabaseCatalog::instance().getPathForDroppedMetadata(table->getStorageID()); auto txn = local_context->getZooKeeperMetadataTransaction(); if (txn && !local_context->isInternalSubquery()) @@ -136,7 +136,7 @@ void DatabaseAtomic::dropTable(ContextPtr local_context, const String & table_na /// TODO better detection and recovery fs::rename(table_metadata_path, table_metadata_path_drop); /// Mark table as dropped - DatabaseOrdinary::detachTableUnlocked(table_name, lock); /// Should never throw + DatabaseOrdinary::detachTableUnlocked(table_name); /// Should never throw table_name_to_path.erase(table_name); } @@ -145,11 +145,12 @@ void DatabaseAtomic::dropTable(ContextPtr local_context, const String & table_na /// Notify DatabaseCatalog that table was dropped. It will remove table data in background. /// Cleanup is performed outside of database to allow easily DROP DATABASE without waiting for cleanup to complete. - DatabaseCatalog::instance().enqueueDroppedTableCleanup(table->getStorageID(), table, table_metadata_path_drop, no_delay); + DatabaseCatalog::instance().enqueueDroppedTableCleanup(table->getStorageID(), table, table_metadata_path_drop, sync); } void DatabaseAtomic::renameTable(ContextPtr local_context, const String & table_name, IDatabase & to_database, const String & to_table_name, bool exchange, bool dictionary) + TSA_NO_THREAD_SAFETY_ANALYSIS /// TSA does not support conditional locking { if (typeid(*this) != typeid(to_database)) { @@ -173,7 +174,7 @@ void DatabaseAtomic::renameTable(ContextPtr local_context, const String & table_ String old_metadata_path = getObjectMetadataPath(table_name); String new_metadata_path = to_database.getObjectMetadataPath(to_table_name); - auto detach = [](DatabaseAtomic & db, const String & table_name_, bool has_symlink) + auto detach = [](DatabaseAtomic & db, const String & table_name_, bool has_symlink) TSA_REQUIRES(db.mutex) { auto it = db.table_name_to_path.find(table_name_); String table_data_path_saved; @@ -188,7 +189,7 @@ void DatabaseAtomic::renameTable(ContextPtr local_context, const String & table_ return table_data_path_saved; }; - auto attach = [](DatabaseAtomic & db, const String & table_name_, const String & table_data_path_, const StoragePtr & table_) + auto attach = [](DatabaseAtomic & db, const String & table_name_, const String & table_data_path_, const StoragePtr & table_) TSA_REQUIRES(db.mutex) { db.tables.emplace(table_name_, table_); if (table_data_path_.empty()) @@ -229,9 +230,9 @@ void DatabaseAtomic::renameTable(ContextPtr local_context, const String & table_ } if (!exchange) - other_db.checkMetadataFilenameAvailabilityUnlocked(to_table_name, inside_database ? db_lock : other_db_lock); + other_db.checkMetadataFilenameAvailabilityUnlocked(to_table_name); - StoragePtr table = getTableUnlocked(table_name, db_lock); + StoragePtr table = getTableUnlocked(table_name); if (dictionary && !table->isDictionary()) throw Exception(ErrorCodes::INCORRECT_QUERY, "Use RENAME/EXCHANGE TABLE (instead of RENAME/EXCHANGE DICTIONARY) for tables"); @@ -244,7 +245,7 @@ void DatabaseAtomic::renameTable(ContextPtr local_context, const String & table_ StorageID other_table_new_id = StorageID::createEmpty(); if (exchange) { - other_table = other_db.getTableUnlocked(to_table_name, other_db_lock); + other_table = other_db.getTableUnlocked(to_table_name); if (dictionary && !other_table->isDictionary()) throw Exception(ErrorCodes::INCORRECT_QUERY, "Use RENAME/EXCHANGE TABLE (instead of RENAME/EXCHANGE DICTIONARY) for tables"); other_table_new_id = {database_name, table_name, other_table->getStorageID().uuid}; @@ -292,19 +293,16 @@ void DatabaseAtomic::commitCreateTable(const ASTCreateQuery & query, const Stora { DetachedTables not_in_use; auto table_data_path = getTableDataPath(query); - bool locked_uuid = false; try { - std::unique_lock lock{mutex}; + std::lock_guard lock{mutex}; if (query.getDatabase() != database_name) throw Exception(ErrorCodes::UNKNOWN_DATABASE, "Database was renamed to `{}`, cannot create table in `{}`", database_name, query.getDatabase()); /// Do some checks before renaming file from .tmp to .sql not_in_use = cleanupDetachedTables(); assertDetachedTableNotInUse(query.uuid); - /// We will get en exception if some table with the same UUID exists (even if it's detached table or table from another database) - DatabaseCatalog::instance().addUUIDMapping(query.uuid); - locked_uuid = true; + chassert(DatabaseCatalog::instance().hasUUIDMapping(query.uuid)); auto txn = query_context->getZooKeeperMetadataTransaction(); if (txn && !query_context->isInternalSubquery()) @@ -315,14 +313,12 @@ void DatabaseAtomic::commitCreateTable(const ASTCreateQuery & query, const Stora /// It throws if `table_metadata_path` already exists (it's possible if table was detached) renameNoReplace(table_metadata_tmp_path, table_metadata_path); /// Commit point (a sort of) - attachTableUnlocked(query.getTable(), table, lock); /// Should never throw + attachTableUnlocked(query.getTable(), table); /// Should never throw table_name_to_path.emplace(query.getTable(), table_data_path); } catch (...) { fs::remove(table_metadata_tmp_path); - if (locked_uuid) - DatabaseCatalog::instance().removeUUIDMappingFinally(query.uuid); throw; } if (table->storesDataOnDisk()) @@ -335,8 +331,8 @@ void DatabaseAtomic::commitAlterTable(const StorageID & table_id, const String & bool check_file_exists = true; SCOPE_EXIT({ std::error_code code; if (check_file_exists) std::filesystem::remove(table_metadata_tmp_path, code); }); - std::unique_lock lock{mutex}; - auto actual_table_id = getTableUnlocked(table_id.table_name, lock)->getStorageID(); + std::lock_guard lock{mutex}; + auto actual_table_id = getTableUnlocked(table_id.table_name)->getStorageID(); if (table_id.uuid != actual_table_id.uuid) throw Exception("Cannot alter table because it was renamed", ErrorCodes::CANNOT_ASSIGN_ALTER); @@ -368,7 +364,7 @@ void DatabaseAtomic::assertDetachedTableNotInUse(const UUID & uuid) void DatabaseAtomic::setDetachedTableNotInUseForce(const UUID & uuid) { - std::unique_lock lock{mutex}; + std::lock_guard lock{mutex}; detached_tables.erase(uuid); } diff --git a/src/Databases/DatabaseAtomic.h b/src/Databases/DatabaseAtomic.h index b748e53244d..6cb2226a7f8 100644 --- a/src/Databases/DatabaseAtomic.h +++ b/src/Databases/DatabaseAtomic.h @@ -35,7 +35,7 @@ public: bool exchange, bool dictionary) override; - void dropTable(ContextPtr context, const String & table_name, bool no_delay) override; + void dropTable(ContextPtr context, const String & table_name, bool sync) override; void attachTable(ContextPtr context, const String & name, const StoragePtr & table, const String & relative_table_path) override; StoragePtr detachTable(ContextPtr context, const String & name) override; @@ -70,9 +70,9 @@ protected: void commitCreateTable(const ASTCreateQuery & query, const StoragePtr & table, const String & table_metadata_tmp_path, const String & table_metadata_path, ContextPtr query_context) override; - void assertDetachedTableNotInUse(const UUID & uuid); + void assertDetachedTableNotInUse(const UUID & uuid) TSA_REQUIRES(mutex); using DetachedTables = std::unordered_map; - [[nodiscard]] DetachedTables cleanupDetachedTables(); + [[nodiscard]] DetachedTables cleanupDetachedTables() TSA_REQUIRES(mutex); void tryCreateMetadataSymlink(); @@ -80,9 +80,9 @@ protected: //TODO store path in DatabaseWithOwnTables::tables using NameToPathMap = std::unordered_map; - NameToPathMap table_name_to_path; + NameToPathMap table_name_to_path TSA_GUARDED_BY(mutex); - DetachedTables detached_tables; + DetachedTables detached_tables TSA_GUARDED_BY(mutex); String path_to_table_symlinks; String path_to_metadata_symlink; const UUID db_uuid; diff --git a/src/Databases/DatabaseFactory.cpp b/src/Databases/DatabaseFactory.cpp index 5cc334eaad4..af82d382063 100644 --- a/src/Databases/DatabaseFactory.cpp +++ b/src/Databases/DatabaseFactory.cpp @@ -14,6 +14,7 @@ #include #include #include +#include #include #include "config_core.h" @@ -61,36 +62,19 @@ namespace ErrorCodes DatabasePtr DatabaseFactory::get(const ASTCreateQuery & create, const String & metadata_path, ContextPtr context) { - bool created = false; + /// Creates store/xxx/ for Atomic + fs::create_directories(fs::path(metadata_path).parent_path()); - try - { - /// Creates store/xxx/ for Atomic - fs::create_directories(fs::path(metadata_path).parent_path()); + DatabasePtr impl = getImpl(create, metadata_path, context); - /// Before 20.7 it's possible that .sql metadata file does not exist for some old database. - /// In this case Ordinary database is created on server startup if the corresponding metadata directory exists. - /// So we should remove metadata directory if database creation failed. - /// TODO remove this code - created = fs::create_directory(metadata_path); + if (impl && context->hasQueryContext() && context->getSettingsRef().log_queries) + context->getQueryContext()->addQueryFactoriesInfo(Context::QueryLogFactories::Database, impl->getEngineName()); - DatabasePtr impl = getImpl(create, metadata_path, context); + /// Attach database metadata + if (impl && create.comment) + impl->setDatabaseComment(create.comment->as()->value.safeGet()); - if (impl && context->hasQueryContext() && context->getSettingsRef().log_queries) - context->getQueryContext()->addQueryFactoriesInfo(Context::QueryLogFactories::Database, impl->getEngineName()); - - // Attach database metadata - if (impl && create.comment) - impl->setDatabaseComment(create.comment->as()->value.safeGet()); - - return impl; - } - catch (...) - { - if (created && fs::exists(metadata_path)) - fs::remove_all(metadata_path); - throw; - } + return impl; } template @@ -138,8 +122,14 @@ DatabasePtr DatabaseFactory::getImpl(const ASTCreateQuery & create, const String throw Exception(ErrorCodes::BAD_ARGUMENTS, "Database engine `{}` cannot have table overrides", engine_name); if (engine_name == "Ordinary") + { + if (!create.attach && !context->getSettingsRef().allow_deprecated_database_ordinary) + throw Exception(ErrorCodes::UNKNOWN_DATABASE_ENGINE, + "Ordinary database engine is deprecated (see also allow_deprecated_database_ordinary setting)"); return std::make_shared(database_name, metadata_path, context); - else if (engine_name == "Atomic") + } + + if (engine_name == "Atomic") return std::make_shared(database_name, metadata_path, uuid, context); else if (engine_name == "Memory") return std::make_shared(database_name, context); @@ -334,12 +324,25 @@ DatabasePtr DatabaseFactory::getImpl(const ASTCreateQuery & create, const String configuration.username = safeGetLiteralValue(engine_args[2], engine_name); configuration.password = safeGetLiteralValue(engine_args[3], engine_name); + bool is_deprecated_syntax = false; if (engine_args.size() >= 5) - configuration.schema = safeGetLiteralValue(engine_args[4], engine_name); - } + { + auto arg_value = engine_args[4]->as()->value; + if (arg_value.getType() == Field::Types::Which::String) + { + configuration.schema = safeGetLiteralValue(engine_args[4], engine_name); + } + else + { + use_table_cache = safeGetLiteralValue(engine_args[4], engine_name); + LOG_WARNING(&Poco::Logger::get("DatabaseFactory"), "A deprecated syntax of PostgreSQL database engine is used"); + is_deprecated_syntax = true; + } + } - if (engine_args.size() >= 6) - use_table_cache = safeGetLiteralValue(engine_args[5], engine_name); + if (!is_deprecated_syntax && engine_args.size() >= 6) + use_table_cache = safeGetLiteralValue(engine_args[5], engine_name); + } auto pool = std::make_shared(configuration, context->getSettingsRef().postgresql_connection_pool_size, diff --git a/src/Databases/DatabaseLazy.cpp b/src/Databases/DatabaseLazy.cpp index b024c73d578..3a1b3009878 100644 --- a/src/Databases/DatabaseLazy.cpp +++ b/src/Databases/DatabaseLazy.cpp @@ -77,10 +77,10 @@ void DatabaseLazy::createTable( void DatabaseLazy::dropTable( ContextPtr local_context, const String & table_name, - bool no_delay) + bool sync) { SCOPE_EXIT_MEMORY_SAFE({ clearExpiredTables(); }); - DatabaseOnDisk::dropTable(local_context, table_name, no_delay); + DatabaseOnDisk::dropTable(local_context, table_name, sync); } void DatabaseLazy::renameTable( @@ -158,6 +158,7 @@ DatabaseTablesIteratorPtr DatabaseLazy::getTablesIterator(ContextPtr, const Filt bool DatabaseLazy::empty() const { + std::lock_guard lock(mutex); return tables_cache.empty(); } diff --git a/src/Databases/DatabaseLazy.h b/src/Databases/DatabaseLazy.h index 3a7d7b14be1..d3c3ed2843b 100644 --- a/src/Databases/DatabaseLazy.h +++ b/src/Databases/DatabaseLazy.h @@ -37,7 +37,7 @@ public: void dropTable( ContextPtr context, const String & table_name, - bool no_delay) override; + bool sync) override; void renameTable( ContextPtr context, @@ -102,8 +102,8 @@ private: const time_t expiration_time; /// TODO use DatabaseWithOwnTablesBase::tables - mutable TablesCache tables_cache; - mutable CacheExpirationQueue cache_expiration_queue; + mutable TablesCache tables_cache TSA_GUARDED_BY(mutex); + mutable CacheExpirationQueue cache_expiration_queue TSA_GUARDED_BY(mutex); StoragePtr loadTable(const String & table_name) const; diff --git a/src/Databases/DatabaseMemory.cpp b/src/Databases/DatabaseMemory.cpp index bc14f7b0ba0..8540c785419 100644 --- a/src/Databases/DatabaseMemory.cpp +++ b/src/Databases/DatabaseMemory.cpp @@ -6,6 +6,7 @@ #include #include #include +#include #include #include @@ -17,6 +18,8 @@ namespace DB namespace ErrorCodes { extern const int UNKNOWN_TABLE; + extern const int LOGICAL_ERROR; + extern const int INCONSISTENT_METADATA_FOR_BACKUP; } DatabaseMemory::DatabaseMemory(const String & name_, ContextPtr context_) @@ -30,31 +33,44 @@ void DatabaseMemory::createTable( const StoragePtr & table, const ASTPtr & query) { - std::unique_lock lock{mutex}; - attachTableUnlocked(table_name, table, lock); - create_queries.emplace(table_name, query); + std::lock_guard lock{mutex}; + attachTableUnlocked(table_name, table); + + /// Clean the query from temporary flags. + ASTPtr query_to_store = query; + if (query) + { + query_to_store = query->clone(); + auto * create = query_to_store->as(); + if (!create) + throw Exception(ErrorCodes::LOGICAL_ERROR, "Query '{}' is not CREATE query", serializeAST(*query)); + cleanupObjectDefinitionFromTemporaryFlags(*create); + } + + create_queries.emplace(table_name, query_to_store); } void DatabaseMemory::dropTable( ContextPtr /*context*/, const String & table_name, - bool /*no_delay*/) + bool /*sync*/) { - std::unique_lock lock{mutex}; - auto table = detachTableUnlocked(table_name, lock); + StoragePtr table; + { + std::lock_guard lock{mutex}; + table = detachTableUnlocked(table_name); + } try { /// Remove table without lock since: /// - it does not require it /// - it may cause lock-order-inversion if underlying storage need to /// resolve tables (like StorageLiveView) - SCOPE_EXIT(lock.lock()); - lock.unlock(); table->drop(); if (table->storesDataOnDisk()) { - assert(database_name != DatabaseCatalog::TEMPORARY_DATABASE); + assert(getDatabaseName() != DatabaseCatalog::TEMPORARY_DATABASE); fs::path table_data_dir{getTableDataPath(table_name)}; if (fs::exists(table_data_dir)) fs::remove_all(table_data_dir); @@ -62,10 +78,13 @@ void DatabaseMemory::dropTable( } catch (...) { + std::lock_guard lock{mutex}; assert(database_name != DatabaseCatalog::TEMPORARY_DATABASE); - attachTableUnlocked(table_name, table, lock); + attachTableUnlocked(table_name, table); throw; } + + std::lock_guard lock{mutex}; table->is_dropped = true; create_queries.erase(table_name); UUID table_uuid = table->getStorageID().uuid; @@ -127,4 +146,42 @@ void DatabaseMemory::alterTable(ContextPtr local_context, const StorageID & tabl DatabaseCatalog::instance().updateLoadingDependencies(table_id, std::move(new_dependencies)); } +std::vector> DatabaseMemory::getTablesForBackup(const FilterByNameFunction & filter, const ContextPtr & local_context) const +{ + /// We need a special processing for the temporary database. + if (getDatabaseName() != DatabaseCatalog::TEMPORARY_DATABASE) + return DatabaseWithOwnTablesBase::getTablesForBackup(filter, local_context); + + std::vector> res; + + /// `this->tables` for the temporary database doesn't contain real names of tables. + /// That's why we need to call Context::getExternalTables() and then resolve those names using tryResolveStorageID() below. + auto external_tables = local_context->getExternalTables(); + + for (const auto & [table_name, storage] : external_tables) + { + if (!filter(table_name)) + continue; + + auto storage_id = local_context->tryResolveStorageID(StorageID{"", table_name}, Context::ResolveExternal); + if (!storage_id) + throw Exception(ErrorCodes::INCONSISTENT_METADATA_FOR_BACKUP, "Couldn't resolve the name of temporary table {}", backQuoteIfNeed(table_name)); + + /// Here `storage_id.table_name` looks like looks like "_tmp_ab9b15a3-fb43-4670-abec-14a0e9eb70f1" + /// it's not the real name of the table. + auto create_table_query = tryGetCreateTableQuery(storage_id.table_name, local_context); + if (!create_table_query) + throw Exception(ErrorCodes::INCONSISTENT_METADATA_FOR_BACKUP, "Couldn't get a create query for temporary table {}", backQuoteIfNeed(table_name)); + + const auto & create = create_table_query->as(); + if (create.getTable() != table_name) + throw Exception(ErrorCodes::INCONSISTENT_METADATA_FOR_BACKUP, "Got a create query with unexpected name {} for temporary table {}", backQuoteIfNeed(create.getTable()), backQuoteIfNeed(table_name)); + + storage->adjustCreateQueryForBackup(create_table_query); + res.emplace_back(create_table_query, storage); + } + + return res; +} + } diff --git a/src/Databases/DatabaseMemory.h b/src/Databases/DatabaseMemory.h index 87fae115b59..6262543b0c1 100644 --- a/src/Databases/DatabaseMemory.h +++ b/src/Databases/DatabaseMemory.h @@ -32,7 +32,7 @@ public: void dropTable( ContextPtr context, const String & table_name, - bool no_delay) override; + bool sync) override; ASTPtr getCreateTableQueryImpl(const String & name, ContextPtr context, bool throw_on_error) const override; ASTPtr getCreateDatabaseQuery() const override; @@ -50,13 +50,12 @@ public: void alterTable(ContextPtr local_context, const StorageID & table_id, const StorageInMemoryMetadata & metadata) override; - /// This database can contain tables to backup. - bool hasTablesToBackup() const override { return true; } + std::vector> getTablesForBackup(const FilterByNameFunction & filter, const ContextPtr & local_context) const override; private: - String data_path; + const String data_path; using NameToASTCreate = std::unordered_map; - NameToASTCreate create_queries; + NameToASTCreate create_queries TSA_GUARDED_BY(mutex); }; } diff --git a/src/Databases/DatabaseOnDisk.cpp b/src/Databases/DatabaseOnDisk.cpp index 31739305e8e..26ea3b81e3a 100644 --- a/src/Databases/DatabaseOnDisk.cpp +++ b/src/Databases/DatabaseOnDisk.cpp @@ -117,11 +117,10 @@ String getObjectDefinitionFromCreateQuery(const ASTPtr & query) auto * create = query_clone->as(); if (!create) - { - WriteBufferFromOwnString query_buf; - formatAST(*query, query_buf, true); - throw Exception(ErrorCodes::LOGICAL_ERROR, "Query '{}' is not CREATE query", query_buf.str()); - } + throw Exception(ErrorCodes::LOGICAL_ERROR, "Query '{}' is not CREATE query", serializeAST(*query)); + + /// Clean the query from temporary flags. + cleanupObjectDefinitionFromTemporaryFlags(*create); if (!create->is_dictionary) create->attach = true; @@ -129,20 +128,6 @@ String getObjectDefinitionFromCreateQuery(const ASTPtr & query) /// We remove everything that is not needed for ATTACH from the query. assert(!create->temporary); create->database.reset(); - create->as_database.clear(); - create->as_table.clear(); - create->if_not_exists = false; - create->is_populate = false; - create->replace_view = false; - create->replace_table = false; - create->create_or_replace = false; - - /// For views it is necessary to save the SELECT query itself, for the rest - on the contrary - if (!create->isView()) - create->select = nullptr; - - create->format = nullptr; - create->out_file = nullptr; if (create->uuid != UUIDHelpers::Nil) create->setTable(TABLE_WITH_UUID_NAME_PLACEHOLDER); @@ -296,7 +281,7 @@ void DatabaseOnDisk::detachTablePermanently(ContextPtr query_context, const Stri } } -void DatabaseOnDisk::dropTable(ContextPtr local_context, const String & table_name, bool /*no_delay*/) +void DatabaseOnDisk::dropTable(ContextPtr local_context, const String & table_name, bool /*sync*/) { String table_metadata_path = getObjectMetadataPath(table_name); String table_metadata_path_drop = table_metadata_path + drop_suffix; @@ -336,11 +321,11 @@ void DatabaseOnDisk::dropTable(ContextPtr local_context, const String & table_na void DatabaseOnDisk::checkMetadataFilenameAvailability(const String & to_table_name) const { - std::unique_lock lock(mutex); - checkMetadataFilenameAvailabilityUnlocked(to_table_name, lock); + std::lock_guard lock(mutex); + checkMetadataFilenameAvailabilityUnlocked(to_table_name); } -void DatabaseOnDisk::checkMetadataFilenameAvailabilityUnlocked(const String & to_table_name, std::unique_lock &) const +void DatabaseOnDisk::checkMetadataFilenameAvailabilityUnlocked(const String & to_table_name) const { String table_metadata_path = getObjectMetadataPath(to_table_name); @@ -410,6 +395,18 @@ void DatabaseOnDisk::renameTable( if (auto * target_db = dynamic_cast(&to_database)) target_db->checkMetadataFilenameAvailability(to_table_name); + /// This place is actually quite dangerous. Since data directory is moved to store/ + /// DatabaseCatalog may try to clean it up as unused. We add UUID mapping to avoid this. + /// However, we may fail after data directory move, but before metadata file creation in the destination db. + /// In this case nothing will protect data directory (except 30-days timeout). + /// But this situation (when table in Ordinary database is partially renamed) require manual intervention anyway. + if (from_ordinary_to_atomic) + { + DatabaseCatalog::instance().addUUIDMapping(create.uuid); + if (table->storesDataOnDisk()) + LOG_INFO(log, "Moving table from {} to {}", table_data_relative_path, to_database.getTableDataPath(create)); + } + /// Notify the table that it is renamed. It will move data to new path (if it stores data on disk) and update StorageID table->rename(to_database.getTableDataPath(create), StorageID(create)); } @@ -465,11 +462,11 @@ ASTPtr DatabaseOnDisk::getCreateTableQueryImpl(const String & table_name, Contex if (!has_table && e.code() == ErrorCodes::FILE_DOESNT_EXIST && throw_on_error) throw Exception{"Table " + backQuote(table_name) + " doesn't exist", ErrorCodes::CANNOT_GET_CREATE_TABLE_QUERY}; - else if (is_system_storage) - ast = getCreateQueryFromStorage(table_name, storage, throw_on_error); - else if (throw_on_error) + else if (!is_system_storage && throw_on_error) throw; } + if (!ast && is_system_storage) + ast = getCreateQueryFromStorage(table_name, storage, throw_on_error); return ast; } @@ -506,7 +503,7 @@ ASTPtr DatabaseOnDisk::getCreateDatabaseQuery() const void DatabaseOnDisk::drop(ContextPtr local_context) { - assert(tables.empty()); + assert(TSA_SUPPRESS_WARNING_FOR_READ(tables).empty()); if (local_context->getSettingsRef().force_remove_data_recursively_on_drop) { fs::remove_all(local_context->getPath() + getDataPath()); @@ -713,6 +710,7 @@ ASTPtr DatabaseOnDisk::getCreateQueryFromStorage(const String & table_name, cons /// setup create table query storage info. auto ast_engine = std::make_shared(); ast_engine->name = storage->getName(); + ast_engine->no_empty_args = true; auto ast_storage = std::make_shared(); ast_storage->set(ast_storage->engine, ast_engine); @@ -727,8 +725,6 @@ ASTPtr DatabaseOnDisk::getCreateQueryFromStorage(const String & table_name, cons void DatabaseOnDisk::modifySettingsMetadata(const SettingsChanges & settings_changes, ContextPtr query_context) { - std::lock_guard lock(modify_settings_mutex); - auto create_query = getCreateDatabaseQuery()->clone(); auto * create = create_query->as(); auto * settings = create->storage->settings; @@ -761,7 +757,7 @@ void DatabaseOnDisk::modifySettingsMetadata(const SettingsChanges & settings_cha writeChar('\n', statement_buf); String statement = statement_buf.str(); - String database_name_escaped = escapeForFileName(database_name); + String database_name_escaped = escapeForFileName(TSA_SUPPRESS_WARNING_FOR_READ(database_name)); /// FIXME fs::path metadata_root_path = fs::canonical(query_context->getGlobalContext()->getPath()); fs::path metadata_file_tmp_path = fs::path(metadata_root_path) / "metadata" / (database_name_escaped + ".sql.tmp"); fs::path metadata_file_path = fs::path(metadata_root_path) / "metadata" / (database_name_escaped + ".sql"); diff --git a/src/Databases/DatabaseOnDisk.h b/src/Databases/DatabaseOnDisk.h index a118c8da678..90aba6be169 100644 --- a/src/Databases/DatabaseOnDisk.h +++ b/src/Databases/DatabaseOnDisk.h @@ -43,7 +43,7 @@ public: void dropTable( ContextPtr context, const String & table_name, - bool no_delay) override; + bool sync) override; void renameTable( ContextPtr context, @@ -70,7 +70,7 @@ public: /// will throw when the table we want to attach already exists (in active / detached / detached permanently form) void checkMetadataFilenameAvailability(const String & to_table_name) const override; - void checkMetadataFilenameAvailabilityUnlocked(const String & to_table_name, std::unique_lock &) const; + void checkMetadataFilenameAvailabilityUnlocked(const String & to_table_name) const TSA_REQUIRES(mutex); void modifySettingsMetadata(const SettingsChanges & settings_changes, ContextPtr query_context); @@ -99,9 +99,6 @@ protected: const String metadata_path; const String data_path; - - /// For alter settings. - std::mutex modify_settings_mutex; }; } diff --git a/src/Databases/DatabaseOrdinary.cpp b/src/Databases/DatabaseOrdinary.cpp index ada9030905d..18b70222382 100644 --- a/src/Databases/DatabaseOrdinary.cpp +++ b/src/Databases/DatabaseOrdinary.cpp @@ -29,6 +29,12 @@ namespace fs = std::filesystem; namespace DB { + +namespace ErrorCodes +{ + extern const int LOGICAL_ERROR; +} + static constexpr size_t METADATA_FILE_BUFFER_SIZE = 32768; namespace @@ -83,7 +89,7 @@ void DatabaseOrdinary::loadStoredObjects( */ ParsedTablesMetadata metadata; - loadTablesMetadata(local_context, metadata); + loadTablesMetadata(local_context, metadata, force_attach); size_t total_tables = metadata.parsed_tables.size() - metadata.total_dictionaries; @@ -151,12 +157,12 @@ void DatabaseOrdinary::loadStoredObjects( } } -void DatabaseOrdinary::loadTablesMetadata(ContextPtr local_context, ParsedTablesMetadata & metadata) +void DatabaseOrdinary::loadTablesMetadata(ContextPtr local_context, ParsedTablesMetadata & metadata, bool is_startup) { size_t prev_tables_count = metadata.parsed_tables.size(); size_t prev_total_dictionaries = metadata.total_dictionaries; - auto process_metadata = [&metadata, this](const String & file_name) + auto process_metadata = [&metadata, is_startup, this](const String & file_name) { fs::path path(getMetadataPath()); fs::path file_path(file_name); @@ -168,20 +174,35 @@ void DatabaseOrdinary::loadTablesMetadata(ContextPtr local_context, ParsedTables if (ast) { auto * create_query = ast->as(); - create_query->setDatabase(database_name); + /// NOTE No concurrent writes are possible during database loading + create_query->setDatabase(TSA_SUPPRESS_WARNING_FOR_READ(database_name)); + + /// Even if we don't load the table we can still mark the uuid of it as taken. + if (create_query->uuid != UUIDHelpers::Nil) + { + /// A bit tricky way to distinguish ATTACH DATABASE and server startup (actually it's "force_attach" flag). + if (is_startup) + { + /// Server is starting up. Lock UUID used by permanently detached table. + DatabaseCatalog::instance().addUUIDMapping(create_query->uuid); + } + else if (!DatabaseCatalog::instance().hasUUIDMapping(create_query->uuid)) + { + /// It's ATTACH DATABASE. UUID for permanently detached table must be already locked. + /// FIXME MaterializedPostgreSQL works with UUIDs incorrectly and breaks invariants + if (getEngineName() != "MaterializedPostgreSQL") + throw Exception(ErrorCodes::LOGICAL_ERROR, "Cannot find UUID mapping for {}, it's a bug", create_query->uuid); + } + } if (fs::exists(full_path.string() + detached_suffix)) { - /// FIXME: even if we don't load the table we can still mark the uuid of it as taken. - /// if (create_query->uuid != UUIDHelpers::Nil) - /// DatabaseCatalog::instance().addUUIDMapping(create_query->uuid); - const std::string table_name = unescapeForFileName(file_name.substr(0, file_name.size() - 4)); LOG_DEBUG(log, "Skipping permanently detached table {}.", backQuote(table_name)); return; } - QualifiedTableName qualified_name{database_name, create_query->getTable()}; + QualifiedTableName qualified_name{TSA_SUPPRESS_WARNING_FOR_READ(database_name), create_query->getTable()}; TableNamesSet loading_dependencies = getDependenciesSetFromCreateQuery(getContext(), qualified_name, ast); std::lock_guard lock{metadata.mutex}; @@ -214,12 +235,12 @@ void DatabaseOrdinary::loadTablesMetadata(ContextPtr local_context, ParsedTables size_t tables_in_database = objects_in_database - dictionaries_in_database; LOG_INFO(log, "Metadata processed, database {} has {} tables and {} dictionaries in total.", - database_name, tables_in_database, dictionaries_in_database); + TSA_SUPPRESS_WARNING_FOR_READ(database_name), tables_in_database, dictionaries_in_database); } void DatabaseOrdinary::loadTableFromMetadata(ContextMutablePtr local_context, const String & file_path, const QualifiedTableName & name, const ASTPtr & ast, bool force_restore) { - assert(name.database == database_name); + assert(name.database == TSA_SUPPRESS_WARNING_FOR_READ(database_name)); const auto & create_query = ast->as(); tryAttachTable( @@ -235,7 +256,8 @@ void DatabaseOrdinary::startupTables(ThreadPool & thread_pool, bool /*force_rest { LOG_INFO(log, "Starting up tables."); - const size_t total_tables = tables.size(); + /// NOTE No concurrent writes are possible during database loading + const size_t total_tables = TSA_SUPPRESS_WARNING_FOR_READ(tables).size(); if (!total_tables) return; @@ -251,7 +273,7 @@ void DatabaseOrdinary::startupTables(ThreadPool & thread_pool, bool /*force_rest try { - for (const auto & table : tables) + for (const auto & table : TSA_SUPPRESS_WARNING_FOR_READ(tables)) thread_pool.scheduleOrThrowOnError([&]() { startup_one_table(table.second); }); } catch (...) diff --git a/src/Databases/DatabaseOrdinary.h b/src/Databases/DatabaseOrdinary.h index 2144f874b03..6e524ae18b0 100644 --- a/src/Databases/DatabaseOrdinary.h +++ b/src/Databases/DatabaseOrdinary.h @@ -25,7 +25,7 @@ public: bool supportsLoadingInTopologicalOrder() const override { return true; } - void loadTablesMetadata(ContextPtr context, ParsedTablesMetadata & metadata) override; + void loadTablesMetadata(ContextPtr context, ParsedTablesMetadata & metadata, bool is_startup) override; void loadTableFromMetadata(ContextMutablePtr local_context, const String & file_path, const QualifiedTableName & name, const ASTPtr & ast, bool force_restore) override; @@ -36,9 +36,6 @@ public: const StorageID & table_id, const StorageInMemoryMetadata & metadata) override; - /// This database can contain tables to backup. - bool hasTablesToBackup() const override { return true; } - protected: virtual void commitAlterTable( const StorageID & table_id, diff --git a/src/Databases/DatabaseReplicated.cpp b/src/Databases/DatabaseReplicated.cpp index 47a7041b3f4..a7ad632efff 100644 --- a/src/Databases/DatabaseReplicated.cpp +++ b/src/Databases/DatabaseReplicated.cpp @@ -24,7 +24,10 @@ #include #include #include +#include +#include #include +#include namespace DB { @@ -41,6 +44,8 @@ namespace ErrorCodes extern const int INCORRECT_QUERY; extern const int ALL_CONNECTION_TRIES_FAILED; extern const int NO_ACTIVE_REPLICAS; + extern const int INCONSISTENT_METADATA_FOR_BACKUP; + extern const int CANNOT_RESTORE_TABLE; } static constexpr const char * DROPPED_MARK = "DROPPED"; @@ -144,7 +149,7 @@ ClusterPtr DatabaseReplicated::getClusterImpl() const if (hosts.empty()) throw Exception(ErrorCodes::NO_ACTIVE_REPLICAS, "No replicas of database {} found. " "It's possible if the first replica is not fully created yet " - "or if the last replica was just dropped or due to logical error", database_name); + "or if the last replica was just dropped or due to logical error", zookeeper_path); Int32 cversion = stat.cversion; ::sort(hosts.begin(), hosts.end()); @@ -209,7 +214,7 @@ ClusterPtr DatabaseReplicated::getClusterImpl() const treat_local_port_as_remote, cluster_auth_info.cluster_secure_connection, /*priority=*/1, - database_name, + TSA_SUPPRESS_WARNING_FOR_READ(database_name), /// FIXME cluster_auth_info.cluster_secret); } @@ -584,7 +589,7 @@ void DatabaseReplicated::recoverLostReplica(const ZooKeeperPtr & current_zookeep query_context->makeQueryContext(); query_context->getClientInfo().query_kind = ClientInfo::QueryKind::SECONDARY_QUERY; query_context->getClientInfo().is_replicated_database_internal = true; - query_context->setCurrentDatabase(database_name); + query_context->setCurrentDatabase(getDatabaseName()); query_context->setCurrentQueryId(""); auto txn = std::make_shared(current_zookeeper, zookeeper_path, false, ""); query_context->initZooKeeperMetadataTransaction(txn); @@ -604,6 +609,7 @@ void DatabaseReplicated::recoverLostReplica(const ZooKeeperPtr & current_zookeep /// and make possible creation of new table with the same UUID. String query = fmt::format("CREATE DATABASE IF NOT EXISTS {} ENGINE=Ordinary", backQuoteIfNeed(to_db_name)); auto query_context = Context::createCopy(getContext()); + query_context->setSetting("allow_deprecated_database_ordinary", 1); executeQuery(query, query_context, true); /// But we want to avoid discarding UUID of ReplicatedMergeTree tables, because it will not work @@ -807,7 +813,7 @@ void DatabaseReplicated::shutdown() } -void DatabaseReplicated::dropTable(ContextPtr local_context, const String & table_name, bool no_delay) +void DatabaseReplicated::dropTable(ContextPtr local_context, const String & table_name, bool sync) { auto txn = local_context->getZooKeeperMetadataTransaction(); assert(!ddl_worker->isCurrentlyActive() || txn || startsWith(table_name, ".inner_id.")); @@ -816,7 +822,7 @@ void DatabaseReplicated::dropTable(ContextPtr local_context, const String & tabl String metadata_zk_path = zookeeper_path + "/metadata/" + escapeForFileName(table_name); txn->addOp(zkutil::makeRemoveRequest(metadata_zk_path, -1)); } - DatabaseAtomic::dropTable(local_context, table_name, no_delay); + DatabaseAtomic::dropTable(local_context, table_name, sync); } void DatabaseReplicated::renameTable(ContextPtr local_context, const String & table_name, IDatabase & to_database, @@ -917,4 +923,78 @@ String DatabaseReplicated::readMetadataFile(const String & table_name) const return statement; } + +std::vector> +DatabaseReplicated::getTablesForBackup(const FilterByNameFunction & filter, const ContextPtr &) const +{ + /// Here we read metadata from ZooKeeper. We could do that by simple call of DatabaseAtomic::getTablesForBackup() however + /// reading from ZooKeeper is better because thus we won't be dependent on how fast the replication queue of this database is. + std::vector> res; + auto zookeeper = getContext()->getZooKeeper(); + auto escaped_table_names = zookeeper->getChildren(zookeeper_path + "/metadata"); + for (const auto & escaped_table_name : escaped_table_names) + { + String table_name = unescapeForFileName(escaped_table_name); + if (!filter(table_name)) + continue; + String zk_metadata; + if (!zookeeper->tryGet(zookeeper_path + "/metadata/" + escaped_table_name, zk_metadata)) + throw Exception(ErrorCodes::INCONSISTENT_METADATA_FOR_BACKUP, "Metadata for table {} was not found in ZooKeeper", table_name); + + ParserCreateQuery parser; + auto create_table_query = parseQuery(parser, zk_metadata, 0, getContext()->getSettingsRef().max_parser_depth); + + auto & create = create_table_query->as(); + create.attach = false; + create.setTable(table_name); + create.setDatabase(getDatabaseName()); + + StoragePtr storage; + if (create.uuid != UUIDHelpers::Nil) + { + storage = DatabaseCatalog::instance().tryGetByUUID(create.uuid).second; + if (storage) + storage->adjustCreateQueryForBackup(create_table_query); + } + res.emplace_back(create_table_query, storage); + } + + return res; +} + + +void DatabaseReplicated::createTableRestoredFromBackup( + const ASTPtr & create_table_query, + ContextMutablePtr local_context, + std::shared_ptr restore_coordination, + UInt64 timeout_ms) +{ + /// Because of the replication multiple nodes can try to restore the same tables again and failed with "Table already exists" + /// because of some table could be restored already on other node and then replicated to this node. + /// To solve this problem we use the restore coordination: the first node calls + /// IRestoreCoordination::acquireCreatingTableInReplicatedDatabase() and then for other nodes this function returns false which means + /// this table is already being created by some other node. + String table_name = create_table_query->as().getTable(); + if (restore_coordination->acquireCreatingTableInReplicatedDatabase(getZooKeeperPath(), table_name)) + { + DatabaseAtomic::createTableRestoredFromBackup(create_table_query, local_context, restore_coordination, timeout_ms); + } + + /// Wait until the table is actually created no matter if it's created by the current or another node and replicated to the + /// current node afterwards. We have to wait because `RestorerFromBackup` is going to restore data of the table then. + /// TODO: The following code doesn't look very reliable, probably we need to rewrite it somehow. + auto timeout = std::chrono::milliseconds{timeout_ms}; + auto start_time = std::chrono::steady_clock::now(); + while (!isTableExist(table_name, local_context)) + { + waitForReplicaToProcessAllEntries(50); + + auto elapsed = std::chrono::steady_clock::now() - start_time; + if (elapsed > timeout) + throw Exception(ErrorCodes::CANNOT_RESTORE_TABLE, + "Couldn't restore table {}.{} on other node or sync it (elapsed {})", + backQuoteIfNeed(getDatabaseName()), backQuoteIfNeed(table_name), to_string(elapsed)); + } +} + } diff --git a/src/Databases/DatabaseReplicated.h b/src/Databases/DatabaseReplicated.h index 72a4f0d00bb..07014702067 100644 --- a/src/Databases/DatabaseReplicated.h +++ b/src/Databases/DatabaseReplicated.h @@ -30,7 +30,7 @@ public: String getEngineName() const override { return "Replicated"; } /// If current query is initial, then the following methods add metadata updating ZooKeeper operations to current ZooKeeperMetadataTransaction. - void dropTable(ContextPtr, const String & table_name, bool no_delay) override; + void dropTable(ContextPtr, const String & table_name, bool sync) override; void renameTable(ContextPtr context, const String & table_name, IDatabase & to_database, const String & to_table_name, bool exchange, bool dictionary) override; void commitCreateTable(const ASTCreateQuery & query, const StoragePtr & table, @@ -72,6 +72,9 @@ public: void shutdown() override; + std::vector> getTablesForBackup(const FilterByNameFunction & filter, const ContextPtr & local_context) const override; + void createTableRestoredFromBackup(const ASTPtr & create_table_query, ContextMutablePtr local_context, std::shared_ptr restore_coordination, UInt64 timeout_ms) override; + friend struct DatabaseReplicatedTask; friend class DatabaseReplicatedDDLWorker; private: diff --git a/src/Databases/DatabasesCommon.cpp b/src/Databases/DatabasesCommon.cpp index 1c3f417b431..93a9523d115 100644 --- a/src/Databases/DatabasesCommon.cpp +++ b/src/Databases/DatabasesCommon.cpp @@ -10,6 +10,8 @@ #include #include #include +#include +#include namespace DB @@ -23,6 +25,7 @@ namespace ErrorCodes extern const int NOT_IMPLEMENTED; extern const int LOGICAL_ERROR; extern const int CANNOT_GET_CREATE_TABLE_QUERY; + extern const int INCONSISTENT_METADATA_FOR_BACKUP; } void applyMetadataChangesToCreateQuery(const ASTPtr & query, const StorageInMemoryMetadata & metadata) @@ -154,6 +157,26 @@ ASTPtr getCreateQueryFromStorage(const StoragePtr & storage, const ASTPtr & ast_ } +void cleanupObjectDefinitionFromTemporaryFlags(ASTCreateQuery & query) +{ + query.as_database.clear(); + query.as_table.clear(); + query.if_not_exists = false; + query.is_populate = false; + query.is_create_empty = false; + query.replace_view = false; + query.replace_table = false; + query.create_or_replace = false; + + /// For views it is necessary to save the SELECT query itself, for the rest - on the contrary + if (!query.isView()) + query.select = nullptr; + + query.format = nullptr; + query.out_file = nullptr; +} + + DatabaseWithOwnTablesBase::DatabaseWithOwnTablesBase(const String & name_, const String & logger, ContextPtr context_) : IDatabase(name_), WithContext(context_->getGlobalContext()), log(&Poco::Logger::get(logger)) { @@ -196,11 +219,11 @@ bool DatabaseWithOwnTablesBase::empty() const StoragePtr DatabaseWithOwnTablesBase::detachTable(ContextPtr /* context_ */, const String & table_name) { - std::unique_lock lock(mutex); - return detachTableUnlocked(table_name, lock); + std::lock_guard lock(mutex); + return detachTableUnlocked(table_name); } -StoragePtr DatabaseWithOwnTablesBase::detachTableUnlocked(const String & table_name, std::unique_lock &) +StoragePtr DatabaseWithOwnTablesBase::detachTableUnlocked(const String & table_name) { StoragePtr res; @@ -223,11 +246,11 @@ StoragePtr DatabaseWithOwnTablesBase::detachTableUnlocked(const String & table_n void DatabaseWithOwnTablesBase::attachTable(ContextPtr /* context_ */, const String & table_name, const StoragePtr & table, const String &) { - std::unique_lock lock(mutex); - attachTableUnlocked(table_name, table, lock); + std::lock_guard lock(mutex); + attachTableUnlocked(table_name, table); } -void DatabaseWithOwnTablesBase::attachTableUnlocked(const String & table_name, const StoragePtr & table, std::unique_lock &) +void DatabaseWithOwnTablesBase::attachTableUnlocked(const String & table_name, const StoragePtr & table) { auto table_id = table->getStorageID(); if (table_id.database_name != database_name) @@ -291,7 +314,7 @@ DatabaseWithOwnTablesBase::~DatabaseWithOwnTablesBase() } } -StoragePtr DatabaseWithOwnTablesBase::getTableUnlocked(const String & table_name, std::unique_lock &) const +StoragePtr DatabaseWithOwnTablesBase::getTableUnlocked(const String & table_name) const { auto it = tables.find(table_name); if (it != tables.end()) @@ -300,4 +323,34 @@ StoragePtr DatabaseWithOwnTablesBase::getTableUnlocked(const String & table_name backQuote(database_name), backQuote(table_name)); } +std::vector> DatabaseWithOwnTablesBase::getTablesForBackup(const FilterByNameFunction & filter, const ContextPtr & local_context) const +{ + std::vector> res; + + for (auto it = getTablesIterator(local_context, filter); it->isValid(); it->next()) + { + auto create_table_query = tryGetCreateTableQuery(it->name(), local_context); + if (!create_table_query) + throw Exception(ErrorCodes::INCONSISTENT_METADATA_FOR_BACKUP, "Couldn't get a create query for table {}.{}", backQuoteIfNeed(getDatabaseName()), backQuoteIfNeed(it->name())); + + const auto & create = create_table_query->as(); + if (create.getTable() != it->name()) + throw Exception(ErrorCodes::INCONSISTENT_METADATA_FOR_BACKUP, "Got a create query with unexpected name {} for table {}.{}", backQuoteIfNeed(create.getTable()), backQuoteIfNeed(getDatabaseName()), backQuoteIfNeed(it->name())); + + auto storage = it->table(); + storage->adjustCreateQueryForBackup(create_table_query); + res.emplace_back(create_table_query, storage); + } + + return res; +} + +void DatabaseWithOwnTablesBase::createTableRestoredFromBackup(const ASTPtr & create_table_query, ContextMutablePtr local_context, std::shared_ptr, UInt64) +{ + /// Creates a table by executing a "CREATE TABLE" query. + InterpreterCreateQuery interpreter{create_table_query, local_context}; + interpreter.setInternal(true); + interpreter.execute(); +} + } diff --git a/src/Databases/DatabasesCommon.h b/src/Databases/DatabasesCommon.h index dbed4dbeaf1..c5842d7dac3 100644 --- a/src/Databases/DatabasesCommon.h +++ b/src/Databases/DatabasesCommon.h @@ -15,6 +15,9 @@ namespace DB void applyMetadataChangesToCreateQuery(const ASTPtr & query, const StorageInMemoryMetadata & metadata); ASTPtr getCreateQueryFromStorage(const StoragePtr & storage, const ASTPtr & ast_storage, bool only_ordinary, uint32_t max_parser_depth, bool throw_on_error); +/// Cleans a CREATE QUERY from temporary flags like "IF NOT EXISTS", "OR REPLACE", "AS SELECT" (for non-views), etc. +void cleanupObjectDefinitionFromTemporaryFlags(ASTCreateQuery & query); + class Context; /// A base class for databases that manage their own list of tables. @@ -33,19 +36,22 @@ public: DatabaseTablesIteratorPtr getTablesIterator(ContextPtr context, const FilterByNameFunction & filter_by_table_name) const override; + std::vector> getTablesForBackup(const FilterByNameFunction & filter, const ContextPtr & local_context) const override; + void createTableRestoredFromBackup(const ASTPtr & create_table_query, ContextMutablePtr local_context, std::shared_ptr restore_coordination, UInt64 timeout_ms) override; + void shutdown() override; ~DatabaseWithOwnTablesBase() override; protected: - Tables tables; + Tables tables TSA_GUARDED_BY(mutex); Poco::Logger * log; DatabaseWithOwnTablesBase(const String & name_, const String & logger, ContextPtr context); - void attachTableUnlocked(const String & table_name, const StoragePtr & table, std::unique_lock & lock); - StoragePtr detachTableUnlocked(const String & table_name, std::unique_lock & lock); - StoragePtr getTableUnlocked(const String & table_name, std::unique_lock & lock) const; + void attachTableUnlocked(const String & table_name, const StoragePtr & table) TSA_REQUIRES(mutex); + StoragePtr detachTableUnlocked(const String & table_name) TSA_REQUIRES(mutex); + StoragePtr getTableUnlocked(const String & table_name) const TSA_REQUIRES(mutex); }; } diff --git a/src/Databases/IDatabase.cpp b/src/Databases/IDatabase.cpp index 992598879db..9e33548b0dd 100644 --- a/src/Databases/IDatabase.cpp +++ b/src/Databases/IDatabase.cpp @@ -1,4 +1,6 @@ #include +#include +#include #include @@ -8,13 +10,32 @@ namespace DB namespace ErrorCodes { extern const int UNKNOWN_TABLE; + extern const int CANNOT_BACKUP_TABLE; + extern const int CANNOT_RESTORE_TABLE; } StoragePtr IDatabase::getTable(const String & name, ContextPtr context) const { if (auto storage = tryGetTable(name, context)) return storage; - throw Exception(ErrorCodes::UNKNOWN_TABLE, "Table {}.{} doesn't exist", backQuoteIfNeed(database_name), backQuoteIfNeed(name)); + throw Exception(ErrorCodes::UNKNOWN_TABLE, "Table {}.{} doesn't exist", backQuoteIfNeed(getDatabaseName()), backQuoteIfNeed(name)); +} + +std::vector> IDatabase::getTablesForBackup(const FilterByNameFunction &, const ContextPtr &) const +{ + /// Cannot backup any table because IDatabase doesn't own any tables. + throw Exception(ErrorCodes::CANNOT_BACKUP_TABLE, + "Database engine {} does not support backups, cannot backup tables in database {}", + getEngineName(), backQuoteIfNeed(getDatabaseName())); +} + +void IDatabase::createTableRestoredFromBackup(const ASTPtr & create_table_query, ContextMutablePtr, std::shared_ptr, UInt64) +{ + /// Cannot restore any table because IDatabase doesn't own any tables. + throw Exception(ErrorCodes::CANNOT_RESTORE_TABLE, + "Database engine {} does not support restoring tables, cannot restore table {}.{}", + getEngineName(), backQuoteIfNeed(getDatabaseName()), + backQuoteIfNeed(create_table_query->as().getTable())); } } diff --git a/src/Databases/IDatabase.h b/src/Databases/IDatabase.h index a1c05b3d712..72155bc818c 100644 --- a/src/Databases/IDatabase.h +++ b/src/Databases/IDatabase.h @@ -30,6 +30,7 @@ class SettingsChanges; using DictionariesWithID = std::vector>; struct ParsedTablesMetadata; struct QualifiedTableName; +class IRestoreCoordination; namespace ErrorCodes { @@ -146,7 +147,7 @@ public: { } - virtual void loadTablesMetadata(ContextPtr /*local_context*/, ParsedTablesMetadata & /*metadata*/) + virtual void loadTablesMetadata(ContextPtr /*local_context*/, ParsedTablesMetadata & /*metadata*/, bool /*is_startup*/) { throw Exception(ErrorCodes::LOGICAL_ERROR, "Not implemented"); } @@ -196,7 +197,7 @@ public: virtual void dropTable( /// NOLINT ContextPtr /*context*/, const String & /*name*/, - [[maybe_unused]] bool no_delay = false) + [[maybe_unused]] bool sync = false) { throw Exception("There is no DROP TABLE query for Database" + getEngineName(), ErrorCodes::NOT_IMPLEMENTED); } @@ -331,9 +332,11 @@ public: throw Exception(ErrorCodes::LOGICAL_ERROR, "Database engine {} does not run a replication thread!", getEngineName()); } - /// Returns true if the backup of the database is hollow, which means it doesn't contain - /// any tables which can be stored to a backup. - virtual bool hasTablesToBackup() const { return false; } + /// Returns CREATE TABLE queries and corresponding tables prepared for writing to a backup. + virtual std::vector> getTablesForBackup(const FilterByNameFunction & filter, const ContextPtr & context) const; + + /// Creates a table restored from backup. + virtual void createTableRestoredFromBackup(const ASTPtr & create_table_query, ContextMutablePtr context, std::shared_ptr restore_coordination, UInt64 timeout_ms); virtual ~IDatabase() = default; @@ -346,8 +349,8 @@ protected: } mutable std::mutex mutex; - String database_name; - String comment; + String database_name TSA_GUARDED_BY(mutex); + String comment TSA_GUARDED_BY(mutex); }; using DatabasePtr = std::shared_ptr; diff --git a/src/Databases/MySQL/DatabaseMaterializedMySQL.cpp b/src/Databases/MySQL/DatabaseMaterializedMySQL.cpp index 13f55eab9e2..230a0b4d4a4 100644 --- a/src/Databases/MySQL/DatabaseMaterializedMySQL.cpp +++ b/src/Databases/MySQL/DatabaseMaterializedMySQL.cpp @@ -39,7 +39,7 @@ DatabaseMaterializedMySQL::DatabaseMaterializedMySQL( void DatabaseMaterializedMySQL::rethrowExceptionIfNeeded() const { - std::unique_lock lock(mutex); + std::lock_guard lock(mutex); if (!settings->allows_query_when_mysql_lost && exception) { @@ -59,7 +59,7 @@ void DatabaseMaterializedMySQL::rethrowExceptionIfNeeded() const void DatabaseMaterializedMySQL::setException(const std::exception_ptr & exception_) { - std::unique_lock lock(mutex); + std::lock_guard lock(mutex); exception = exception_; } @@ -80,10 +80,10 @@ void DatabaseMaterializedMySQL::createTable(ContextPtr context_, const String & DatabaseAtomic::createTable(context_, name, table, query); } -void DatabaseMaterializedMySQL::dropTable(ContextPtr context_, const String & name, bool no_delay) +void DatabaseMaterializedMySQL::dropTable(ContextPtr context_, const String & name, bool sync) { checkIsInternalQuery(context_, "DROP TABLE"); - DatabaseAtomic::dropTable(context_, name, no_delay); + DatabaseAtomic::dropTable(context_, name, sync); } void DatabaseMaterializedMySQL::attachTable(ContextPtr context_, const String & name, const StoragePtr & table, const String & relative_table_path) diff --git a/src/Databases/MySQL/DatabaseMaterializedMySQL.h b/src/Databases/MySQL/DatabaseMaterializedMySQL.h index 32686784f2a..a6810f29d87 100644 --- a/src/Databases/MySQL/DatabaseMaterializedMySQL.h +++ b/src/Databases/MySQL/DatabaseMaterializedMySQL.h @@ -52,7 +52,7 @@ public: void createTable(ContextPtr context_, const String & name, const StoragePtr & table, const ASTPtr & query) override; - void dropTable(ContextPtr context_, const String & name, bool no_delay) override; + void dropTable(ContextPtr context_, const String & name, bool sync) override; void attachTable(ContextPtr context_, const String & name, const StoragePtr & table, const String & relative_table_path) override; diff --git a/src/Databases/MySQL/DatabaseMySQL.cpp b/src/Databases/MySQL/DatabaseMySQL.cpp index 279867542e2..95098ba9cbd 100644 --- a/src/Databases/MySQL/DatabaseMySQL.cpp +++ b/src/Databases/MySQL/DatabaseMySQL.cpp @@ -26,6 +26,7 @@ # include # include # include +# include namespace fs = std::filesystem; @@ -89,7 +90,7 @@ bool DatabaseMySQL::empty() const return true; for (const auto & [table_name, storage_info] : local_tables_cache) - if (!remove_or_detach_tables.count(table_name)) + if (!remove_or_detach_tables.contains(table_name)) return false; return true; @@ -103,7 +104,7 @@ DatabaseTablesIteratorPtr DatabaseMySQL::getTablesIterator(ContextPtr local_cont fetchTablesIntoLocalCache(local_context); for (const auto & [table_name, modify_time_and_storage] : local_tables_cache) - if (!remove_or_detach_tables.count(table_name) && (!filter_by_table_name || filter_by_table_name(table_name))) + if (!remove_or_detach_tables.contains(table_name) && (!filter_by_table_name || filter_by_table_name(table_name))) tables[table_name] = modify_time_and_storage.second; return std::make_unique(tables, database_name); @@ -120,7 +121,7 @@ StoragePtr DatabaseMySQL::tryGetTable(const String & mysql_table_name, ContextPt fetchTablesIntoLocalCache(local_context); - if (!remove_or_detach_tables.count(mysql_table_name) && local_tables_cache.find(mysql_table_name) != local_tables_cache.end()) + if (!remove_or_detach_tables.contains(mysql_table_name) && local_tables_cache.find(mysql_table_name) != local_tables_cache.end()) return local_tables_cache[mysql_table_name].second; return StoragePtr{}; @@ -148,8 +149,16 @@ ASTPtr DatabaseMySQL::getCreateTableQueryImpl(const String & table_name, Context auto storage_engine_arguments = ast_storage->engine->arguments; /// Add table_name to engine arguments - auto mysql_table_name = std::make_shared(table_name); - storage_engine_arguments->children.insert(storage_engine_arguments->children.begin() + 2, mysql_table_name); + if (typeid_cast(storage_engine_arguments->children[0].get())) + { + storage_engine_arguments->children.push_back( + makeASTFunction("equals", std::make_shared("table"), std::make_shared(table_name))); + } + else + { + auto mysql_table_name = std::make_shared(table_name); + storage_engine_arguments->children.insert(storage_engine_arguments->children.begin() + 2, mysql_table_name); + } /// Unset settings std::erase_if(storage_children, [&](const ASTPtr & element) { return element.get() == ast_storage->settings; }); @@ -349,11 +358,11 @@ void DatabaseMySQL::attachTable(ContextPtr /* context_ */, const String & table_ { std::lock_guard lock{mutex}; - if (!local_tables_cache.count(table_name)) + if (!local_tables_cache.contains(table_name)) throw Exception("Cannot attach table " + backQuoteIfNeed(database_name) + "." + backQuoteIfNeed(table_name) + " because it does not exist.", ErrorCodes::UNKNOWN_TABLE); - if (!remove_or_detach_tables.count(table_name)) + if (!remove_or_detach_tables.contains(table_name)) throw Exception("Cannot attach table " + backQuoteIfNeed(database_name) + "." + backQuoteIfNeed(table_name) + " because it already exists.", ErrorCodes::TABLE_ALREADY_EXISTS); @@ -372,11 +381,11 @@ StoragePtr DatabaseMySQL::detachTable(ContextPtr /* context */, const String & t { std::lock_guard lock{mutex}; - if (remove_or_detach_tables.count(table_name)) + if (remove_or_detach_tables.contains(table_name)) throw Exception("Table " + backQuoteIfNeed(database_name) + "." + backQuoteIfNeed(table_name) + " is dropped", ErrorCodes::TABLE_IS_DROPPED); - if (!local_tables_cache.count(table_name)) + if (!local_tables_cache.contains(table_name)) throw Exception("Table " + backQuoteIfNeed(database_name) + "." + backQuoteIfNeed(table_name) + " doesn't exist.", ErrorCodes::UNKNOWN_TABLE); @@ -412,7 +421,7 @@ void DatabaseMySQL::detachTablePermanently(ContextPtr, const String & table_name fs::path remove_flag = fs::path(getMetadataPath()) / (escapeForFileName(table_name) + suffix); - if (remove_or_detach_tables.count(table_name)) + if (remove_or_detach_tables.contains(table_name)) throw Exception(ErrorCodes::TABLE_IS_DROPPED, "Table {}.{} is dropped", backQuoteIfNeed(database_name), backQuoteIfNeed(table_name)); if (fs::exists(remove_flag)) @@ -438,7 +447,7 @@ void DatabaseMySQL::detachTablePermanently(ContextPtr, const String & table_name table_iter->second.second->is_dropped = true; } -void DatabaseMySQL::dropTable(ContextPtr local_context, const String & table_name, bool /*no_delay*/) +void DatabaseMySQL::dropTable(ContextPtr local_context, const String & table_name, bool /*sync*/) { detachTablePermanently(local_context, table_name); } diff --git a/src/Databases/MySQL/DatabaseMySQL.h b/src/Databases/MySQL/DatabaseMySQL.h index 1ee090ecd52..542cd65c1f1 100644 --- a/src/Databases/MySQL/DatabaseMySQL.h +++ b/src/Databases/MySQL/DatabaseMySQL.h @@ -82,7 +82,7 @@ public: void detachTablePermanently(ContextPtr context, const String & table_name) override; - void dropTable(ContextPtr context, const String & table_name, bool no_delay) override; + void dropTable(ContextPtr context, const String & table_name, bool sync) override; void attachTable(ContextPtr context, const String & table_name, const StoragePtr & storage, const String & relative_table_path) override; @@ -109,15 +109,15 @@ private: void cleanOutdatedTables(); - void fetchTablesIntoLocalCache(ContextPtr context) const; + void fetchTablesIntoLocalCache(ContextPtr context) const TSA_REQUIRES(mutex); std::map fetchTablesWithModificationTime(ContextPtr local_context) const; std::map fetchTablesColumnsList(const std::vector & tables_name, ContextPtr context) const; - void destroyLocalCacheExtraTables(const std::map & tables_with_modification_time) const; + void destroyLocalCacheExtraTables(const std::map & tables_with_modification_time) const TSA_REQUIRES(mutex); - void fetchLatestTablesStructureIntoCache(const std::map & tables_modification_time, ContextPtr context) const; + void fetchLatestTablesStructureIntoCache(const std::map & tables_modification_time, ContextPtr context) const TSA_REQUIRES(mutex); ThreadFromGlobalPool thread; }; diff --git a/src/Databases/PostgreSQL/DatabaseMaterializedPostgreSQL.cpp b/src/Databases/PostgreSQL/DatabaseMaterializedPostgreSQL.cpp index 60d2fa0d2c8..8b85d1b9a63 100644 --- a/src/Databases/PostgreSQL/DatabaseMaterializedPostgreSQL.cpp +++ b/src/Databases/PostgreSQL/DatabaseMaterializedPostgreSQL.cpp @@ -63,9 +63,9 @@ void DatabaseMaterializedPostgreSQL::startSynchronization() return; replication_handler = std::make_unique( - /* replication_identifier */database_name, + /* replication_identifier */ TSA_SUPPRESS_WARNING_FOR_READ(database_name), /// FIXME remote_database_name, - database_name, + TSA_SUPPRESS_WARNING_FOR_READ(database_name), /// FIXME connection_info, getContext(), is_attach, @@ -99,7 +99,8 @@ void DatabaseMaterializedPostgreSQL::startSynchronization() else { /// Nested table does not exist and will be created by replication thread. - storage = std::make_shared(StorageID(database_name, table_name), getContext(), remote_database_name, table_name); + /// FIXME TSA + storage = std::make_shared(StorageID(TSA_SUPPRESS_WARNING_FOR_READ(database_name), table_name), getContext(), remote_database_name, table_name); } /// Cache MaterializedPostgreSQL wrapper over nested table. @@ -210,7 +211,8 @@ ASTPtr DatabaseMaterializedPostgreSQL::getCreateTableQueryImpl(const String & ta std::lock_guard lock(handler_mutex); - auto storage = std::make_shared(StorageID(database_name, table_name), getContext(), remote_database_name, table_name); + /// FIXME TSA + auto storage = std::make_shared(StorageID(TSA_SUPPRESS_WARNING_FOR_READ(database_name), table_name), getContext(), remote_database_name, table_name); auto ast_storage = replication_handler->getCreateNestedTableQuery(storage.get(), table_name); assert_cast(ast_storage.get())->uuid = UUIDHelpers::generateV4(); return ast_storage; @@ -234,7 +236,7 @@ ASTPtr DatabaseMaterializedPostgreSQL::createAlterSettingsQuery(const SettingCha auto * alter = query->as(); alter->alter_object = ASTAlterQuery::AlterObjectType::DATABASE; - alter->setDatabase(database_name); + alter->setDatabase(TSA_SUPPRESS_WARNING_FOR_READ(database_name)); /// FIXME alter->set(alter->command_list, command_list); return query; @@ -259,6 +261,7 @@ void DatabaseMaterializedPostgreSQL::createTable(ContextPtr local_context, const auto * create_query = assert_cast(query_copy.get()); create_query->attach = false; create_query->attach_short_syntax = false; + DatabaseCatalog::instance().addUUIDMapping(create->uuid); DatabaseAtomic::createTable(StorageMaterializedPostgreSQL::makeNestedTableContext(local_context), table_name, table, query_copy); /// Attach MaterializedPostgreSQL table. @@ -389,10 +392,10 @@ void DatabaseMaterializedPostgreSQL::stopReplication() } -void DatabaseMaterializedPostgreSQL::dropTable(ContextPtr local_context, const String & table_name, bool no_delay) +void DatabaseMaterializedPostgreSQL::dropTable(ContextPtr local_context, const String & table_name, bool sync) { /// Modify context into nested_context and pass query to Atomic database. - DatabaseAtomic::dropTable(StorageMaterializedPostgreSQL::makeNestedTableContext(local_context), table_name, no_delay); + DatabaseAtomic::dropTable(StorageMaterializedPostgreSQL::makeNestedTableContext(local_context), table_name, sync); } diff --git a/src/Databases/PostgreSQL/DatabaseMaterializedPostgreSQL.h b/src/Databases/PostgreSQL/DatabaseMaterializedPostgreSQL.h index 08420f4ba5e..ac2bcedca60 100644 --- a/src/Databases/PostgreSQL/DatabaseMaterializedPostgreSQL.h +++ b/src/Databases/PostgreSQL/DatabaseMaterializedPostgreSQL.h @@ -55,7 +55,7 @@ public: StoragePtr detachTable(ContextPtr context, const String & table_name) override; - void dropTable(ContextPtr local_context, const String & name, bool no_delay) override; + void dropTable(ContextPtr local_context, const String & name, bool sync) override; void drop(ContextPtr local_context) override; diff --git a/src/Databases/PostgreSQL/DatabasePostgreSQL.cpp b/src/Databases/PostgreSQL/DatabasePostgreSQL.cpp index 1bcc203beb9..c4b815c0c9f 100644 --- a/src/Databases/PostgreSQL/DatabasePostgreSQL.cpp +++ b/src/Databases/PostgreSQL/DatabasePostgreSQL.cpp @@ -264,7 +264,7 @@ void DatabasePostgreSQL::createTable(ContextPtr local_context, const String & ta } -void DatabasePostgreSQL::dropTable(ContextPtr, const String & table_name, bool /* no_delay */) +void DatabasePostgreSQL::dropTable(ContextPtr, const String & table_name, bool /* sync */) { std::lock_guard lock{mutex}; @@ -369,7 +369,11 @@ ASTPtr DatabasePostgreSQL::getCreateDatabaseQuery() const ASTPtr DatabasePostgreSQL::getCreateTableQueryImpl(const String & table_name, ContextPtr local_context, bool throw_on_error) const { - auto storage = fetchTable(table_name, local_context, false); + StoragePtr storage; + { + std::lock_guard lock{mutex}; + storage = fetchTable(table_name, local_context, false); + } if (!storage) { if (throw_on_error) diff --git a/src/Databases/PostgreSQL/DatabasePostgreSQL.h b/src/Databases/PostgreSQL/DatabasePostgreSQL.h index 3397dcc8076..fe4dff2ca93 100644 --- a/src/Databases/PostgreSQL/DatabasePostgreSQL.h +++ b/src/Databases/PostgreSQL/DatabasePostgreSQL.h @@ -53,7 +53,7 @@ public: StoragePtr tryGetTable(const String & name, ContextPtr context) const override; void createTable(ContextPtr, const String & table_name, const StoragePtr & storage, const ASTPtr & create_query) override; - void dropTable(ContextPtr, const String & table_name, bool no_delay) override; + void dropTable(ContextPtr, const String & table_name, bool sync) override; void attachTable(ContextPtr context, const String & table_name, const StoragePtr & storage, const String & relative_table_path) override; StoragePtr detachTable(ContextPtr context, const String & table_name) override; @@ -81,7 +81,7 @@ private: bool checkPostgresTable(const String & table_name) const; - StoragePtr fetchTable(const String & table_name, ContextPtr context, bool table_checked) const; + StoragePtr fetchTable(const String & table_name, ContextPtr context, bool table_checked) const TSA_REQUIRES(mutex); void removeOutdatedTables(); diff --git a/src/Databases/PostgreSQL/fetchPostgreSQLTableStructure.cpp b/src/Databases/PostgreSQL/fetchPostgreSQLTableStructure.cpp index 9f136efa1ff..10cde43e9e1 100644 --- a/src/Databases/PostgreSQL/fetchPostgreSQLTableStructure.cpp +++ b/src/Databases/PostgreSQL/fetchPostgreSQLTableStructure.cpp @@ -263,10 +263,11 @@ PostgreSQLTableStructure fetchPostgreSQLTableStructure( "WHERE attrelid = (SELECT oid FROM pg_class WHERE {}) " "AND NOT attisdropped AND attnum > 0", where); - table.physical_columns = readNamesAndTypesList(tx, postgres_table, query, use_nulls, false); + auto postgres_table_with_schema = postgres_schema.empty() ? postgres_table : doubleQuoteString(postgres_schema) + '.' + doubleQuoteString(postgres_table); + table.physical_columns = readNamesAndTypesList(tx, postgres_table_with_schema, query, use_nulls, false); if (!table.physical_columns) - throw Exception(ErrorCodes::UNKNOWN_TABLE, "PostgreSQL table {} does not exist", postgres_table); + throw Exception(ErrorCodes::UNKNOWN_TABLE, "PostgreSQL table {} does not exist", postgres_table_with_schema); if (with_primary_key) { @@ -278,7 +279,7 @@ PostgreSQLTableStructure fetchPostgreSQLTableStructure( "AND a.attnum = ANY(i.indkey) " "WHERE attrelid = (SELECT oid FROM pg_class WHERE {}) AND i.indisprimary", where); - table.primary_key_columns = readNamesAndTypesList(tx, postgres_table, query, use_nulls, true); + table.primary_key_columns = readNamesAndTypesList(tx, postgres_table_with_schema, query, use_nulls, true); } if (with_replica_identity_index && !table.primary_key_columns) @@ -299,11 +300,13 @@ PostgreSQLTableStructure fetchPostgreSQLTableStructure( "and a.attnum = ANY(ix.indkey) " "and t.relkind in ('r', 'p') " /// simple tables "and t.relname = {} " /// Connection is already done to a needed database, only table name is needed. + "{}" "and ix.indisreplident = 't' " /// index is is replica identity index - "ORDER BY a.attname", /// column names - quoteString(postgres_table)); + "ORDER BY a.attname", /// column name + (postgres_schema.empty() ? "" : "and t.relnamespace = " + quoteString(postgres_schema)) + " ", + quoteString(postgres_table)); - table.replica_identity_columns = readNamesAndTypesList(tx, postgres_table, query, use_nulls, true); + table.replica_identity_columns = readNamesAndTypesList(tx, postgres_table_with_schema, query, use_nulls, true); } return table; diff --git a/src/Databases/SQLite/DatabaseSQLite.cpp b/src/Databases/SQLite/DatabaseSQLite.cpp index 7a4844e4d69..44a392ce1f2 100644 --- a/src/Databases/SQLite/DatabaseSQLite.cpp +++ b/src/Databases/SQLite/DatabaseSQLite.cpp @@ -173,12 +173,16 @@ ASTPtr DatabaseSQLite::getCreateDatabaseQuery() const ASTPtr DatabaseSQLite::getCreateTableQueryImpl(const String & table_name, ContextPtr local_context, bool throw_on_error) const { - auto storage = fetchTable(table_name, local_context, false); + StoragePtr storage; + { + std::lock_guard lock(mutex); + storage = fetchTable(table_name, local_context, false); + } if (!storage) { if (throw_on_error) throw Exception(ErrorCodes::UNKNOWN_TABLE, "SQLite table {}.{} does not exist", - database_name, table_name); + getDatabaseName(), table_name); return nullptr; } auto table_storage_define = database_engine_define->clone(); diff --git a/src/Databases/SQLite/DatabaseSQLite.h b/src/Databases/SQLite/DatabaseSQLite.h index c8df79d0f6a..8f0c9b4d720 100644 --- a/src/Databases/SQLite/DatabaseSQLite.h +++ b/src/Databases/SQLite/DatabaseSQLite.h @@ -54,9 +54,9 @@ private: bool checkSQLiteTable(const String & table_name) const; - NameSet fetchTablesList() const; + NameSet fetchTablesList() const TSA_REQUIRES(mutex); - StoragePtr fetchTable(const String & table_name, ContextPtr context, bool table_checked) const; + StoragePtr fetchTable(const String & table_name, ContextPtr context, bool table_checked) const TSA_REQUIRES(mutex); }; diff --git a/src/Databases/TablesLoader.cpp b/src/Databases/TablesLoader.cpp index 898376f8e0f..7e9b83d423a 100644 --- a/src/Databases/TablesLoader.cpp +++ b/src/Databases/TablesLoader.cpp @@ -93,7 +93,7 @@ void TablesLoader::loadTables() for (auto & database_name : databases_to_load) { databases[database_name]->beforeLoadingMetadata(global_context, force_restore, force_attach); - databases[database_name]->loadTablesMetadata(global_context, metadata); + databases[database_name]->loadTablesMetadata(global_context, metadata, force_attach); } LOG_INFO(log, "Parsed metadata of {} tables in {} databases in {} sec", @@ -171,6 +171,11 @@ void TablesLoader::removeUnresolvableDependencies(bool remove_loaded) void TablesLoader::loadTablesInTopologicalOrder(ThreadPool & pool) { + /// Compatibility setting which should be enabled by default on attach + /// Otherwise server will be unable to start for some old-format of IPv6/IPv4 types of columns + ContextMutablePtr load_context = Context::createCopy(global_context); + load_context->setSetting("cast_ipv4_ipv6_default_on_conversion_error", 1); + /// Load independent tables in parallel. /// Then remove loaded tables from dependency graph, find tables/dictionaries that do not have unresolved dependencies anymore, /// move them to the list of independent tables and load. @@ -183,7 +188,7 @@ void TablesLoader::loadTablesInTopologicalOrder(ThreadPool & pool) assert(metadata.parsed_tables.size() == tables_processed + metadata.independent_database_objects.size() + getNumberOfTablesWithDependencies()); logDependencyGraph(); - startLoadingIndependentTables(pool, level); + startLoadingIndependentTables(pool, level, load_context); TableNames new_independent_database_objects; for (const auto & table_name : metadata.independent_database_objects) @@ -237,7 +242,7 @@ DependenciesInfosIter TablesLoader::removeResolvedDependency(const DependenciesI return metadata.dependencies_info.erase(info_it); } -void TablesLoader::startLoadingIndependentTables(ThreadPool & pool, size_t level) +void TablesLoader::startLoadingIndependentTables(ThreadPool & pool, size_t level, ContextMutablePtr load_context) { size_t total_tables = metadata.parsed_tables.size(); @@ -245,10 +250,10 @@ void TablesLoader::startLoadingIndependentTables(ThreadPool & pool, size_t level for (const auto & table_name : metadata.independent_database_objects) { - pool.scheduleOrThrowOnError([this, total_tables, &table_name]() + pool.scheduleOrThrowOnError([this, load_context, total_tables, &table_name]() { const auto & path_and_query = metadata.parsed_tables[table_name]; - databases[table_name.database]->loadTableFromMetadata(global_context, path_and_query.path, table_name, path_and_query.ast, force_restore); + databases[table_name.database]->loadTableFromMetadata(load_context, path_and_query.path, table_name, path_and_query.ast, force_restore); logAboutProgress(log, ++tables_processed, total_tables, stopwatch); }); } diff --git a/src/Databases/TablesLoader.h b/src/Databases/TablesLoader.h index a14a28c487a..43e8bfdb92c 100644 --- a/src/Databases/TablesLoader.h +++ b/src/Databases/TablesLoader.h @@ -12,7 +12,7 @@ namespace Poco { - class Logger; + class Logger; // NOLINT(cppcoreguidelines-virtual-class-destructor) } class AtomicStopwatch; @@ -104,7 +104,7 @@ private: DependenciesInfosIter removeResolvedDependency(const DependenciesInfosIter & info_it, TableNames & independent_database_objects); - void startLoadingIndependentTables(ThreadPool & pool, size_t level); + void startLoadingIndependentTables(ThreadPool & pool, size_t level, ContextMutablePtr load_context); void checkCyclicDependencies() const; diff --git a/src/Dictionaries/CacheDictionary.h b/src/Dictionaries/CacheDictionary.h index 0dbaf2716ba..d4716999b47 100644 --- a/src/Dictionaries/CacheDictionary.h +++ b/src/Dictionaries/CacheDictionary.h @@ -190,7 +190,7 @@ private: /// Dictionary source should be used with mutex mutable std::mutex source_mutex; - mutable DictionarySourcePtr source_ptr; + mutable DictionarySourcePtr source_ptr TSA_GUARDED_BY(source_mutex); CacheDictionaryStoragePtr cache_storage_ptr; mutable CacheDictionaryUpdateQueue update_queue; diff --git a/src/Dictionaries/CacheDictionaryUpdateQueue.cpp b/src/Dictionaries/CacheDictionaryUpdateQueue.cpp index 2077f846f09..1fdaf10c57c 100644 --- a/src/Dictionaries/CacheDictionaryUpdateQueue.cpp +++ b/src/Dictionaries/CacheDictionaryUpdateQueue.cpp @@ -68,9 +68,9 @@ void CacheDictionaryUpdateQueue::waitForCurrentUpdateFinish if (update_queue.isFinished()) throw Exception(ErrorCodes::UNSUPPORTED_METHOD, "CacheDictionaryUpdateQueue finished"); - std::unique_lock update_lock(update_mutex); + std::unique_lock update_lock(update_unit_ptr->update_mutex); - bool result = is_update_finished.wait_for( + bool result = update_unit_ptr->is_update_finished.wait_for( update_lock, std::chrono::milliseconds(configuration.query_wait_timeout_milliseconds), [&] @@ -133,19 +133,23 @@ void CacheDictionaryUpdateQueue::updateThreadFunction() /// Update update_func(unit_to_update); - /// Notify thread about finished updating the bunch of ids - /// where their own ids were included. - std::unique_lock lock(update_mutex); + { + /// Notify thread about finished updating the bunch of ids + /// where their own ids were included. + std::lock_guard lock(unit_to_update->update_mutex); + unit_to_update->is_done = true; + } - unit_to_update->is_done = true; - is_update_finished.notify_all(); + unit_to_update->is_update_finished.notify_all(); } catch (...) { - std::unique_lock lock(update_mutex); + { + std::lock_guard lock(unit_to_update->update_mutex); + unit_to_update->current_exception = std::current_exception(); // NOLINT(bugprone-throw-keyword-missing) + } - unit_to_update->current_exception = std::current_exception(); // NOLINT(bugprone-throw-keyword-missing) - is_update_finished.notify_all(); + unit_to_update->is_update_finished.notify_all(); } } } diff --git a/src/Dictionaries/CacheDictionaryUpdateQueue.h b/src/Dictionaries/CacheDictionaryUpdateQueue.h index d6a195ca7b8..8db5c4a59df 100644 --- a/src/Dictionaries/CacheDictionaryUpdateQueue.h +++ b/src/Dictionaries/CacheDictionaryUpdateQueue.h @@ -74,7 +74,10 @@ private: template friend class CacheDictionaryUpdateQueue; - std::atomic is_done{false}; + mutable std::mutex update_mutex; + mutable std::condition_variable is_update_finished; + + bool is_done{false}; std::exception_ptr current_exception{nullptr}; /// NOLINT /// While UpdateUnit is alive, it is accounted in update_queue size. @@ -159,9 +162,6 @@ private: UpdateQueue update_queue; ThreadPool update_pool; - - mutable std::mutex update_mutex; - mutable std::condition_variable is_update_finished; }; extern template class CacheDictionaryUpdateQueue; diff --git a/src/Dictionaries/CassandraDictionarySource.cpp b/src/Dictionaries/CassandraDictionarySource.cpp index 9d574917f74..e0cf2483b3d 100644 --- a/src/Dictionaries/CassandraDictionarySource.cpp +++ b/src/Dictionaries/CassandraDictionarySource.cpp @@ -2,6 +2,8 @@ #include "DictionarySourceFactory.h" #include "DictionaryStructure.h" #include +#include +#include namespace DB { @@ -136,12 +138,12 @@ void CassandraDictionarySource::maybeAllowFiltering(String & query) const query += " ALLOW FILTERING;"; } -Pipe CassandraDictionarySource::loadAll() +QueryPipeline CassandraDictionarySource::loadAll() { String query = query_builder.composeLoadAllQuery(); maybeAllowFiltering(query); LOG_INFO(log, "Loading all using query: {}", query); - return Pipe(std::make_shared(getSession(), query, sample_block, max_block_size)); + return QueryPipeline(std::make_shared(getSession(), query, sample_block, max_block_size)); } std::string CassandraDictionarySource::toString() const @@ -149,15 +151,15 @@ std::string CassandraDictionarySource::toString() const return "Cassandra: " + configuration.db + '.' + configuration.table; } -Pipe CassandraDictionarySource::loadIds(const std::vector & ids) +QueryPipeline CassandraDictionarySource::loadIds(const std::vector & ids) { String query = query_builder.composeLoadIdsQuery(ids); maybeAllowFiltering(query); LOG_INFO(log, "Loading ids using query: {}", query); - return Pipe(std::make_shared(getSession(), query, sample_block, max_block_size)); + return QueryPipeline(std::make_shared(getSession(), query, sample_block, max_block_size)); } -Pipe CassandraDictionarySource::loadKeys(const Columns & key_columns, const std::vector & requested_rows) +QueryPipeline CassandraDictionarySource::loadKeys(const Columns & key_columns, const std::vector & requested_rows) { if (requested_rows.empty()) throw Exception(ErrorCodes::LOGICAL_ERROR, "No rows requested"); @@ -181,10 +183,10 @@ Pipe CassandraDictionarySource::loadKeys(const Columns & key_columns, const std: pipes.push_back(Pipe(std::make_shared(getSession(), query, sample_block, max_block_size))); } - return Pipe::unitePipes(std::move(pipes)); + return QueryPipeline(Pipe::unitePipes(std::move(pipes))); } -Pipe CassandraDictionarySource::loadUpdatedAll() +QueryPipeline CassandraDictionarySource::loadUpdatedAll() { throw Exception(ErrorCodes::NOT_IMPLEMENTED, "Method loadUpdatedAll is unsupported for CassandraDictionarySource"); } @@ -192,12 +194,8 @@ Pipe CassandraDictionarySource::loadUpdatedAll() CassSessionShared CassandraDictionarySource::getSession() { /// Reuse connection if exists, create new one if not - auto session = maybe_session.lock(); - if (session) - return session; - std::lock_guard lock(connect_mutex); - session = maybe_session.lock(); + auto session = maybe_session.lock(); if (session) return session; diff --git a/src/Dictionaries/CassandraDictionarySource.h b/src/Dictionaries/CassandraDictionarySource.h index 76ad2316366..e73383aa75c 100644 --- a/src/Dictionaries/CassandraDictionarySource.h +++ b/src/Dictionaries/CassandraDictionarySource.h @@ -51,7 +51,7 @@ public: const String & config_prefix, Block & sample_block); - Pipe loadAll() override; + QueryPipeline loadAll() override; bool supportsSelectiveLoad() const override { return true; } @@ -64,11 +64,11 @@ public: return std::make_shared(dict_struct, configuration, sample_block); } - Pipe loadIds(const std::vector & ids) override; + QueryPipeline loadIds(const std::vector & ids) override; - Pipe loadKeys(const Columns & key_columns, const std::vector & requested_rows) override; + QueryPipeline loadKeys(const Columns & key_columns, const std::vector & requested_rows) override; - Pipe loadUpdatedAll() override; + QueryPipeline loadUpdatedAll() override; String toString() const override; @@ -82,9 +82,10 @@ private: Block sample_block; ExternalQueryBuilder query_builder; - std::mutex connect_mutex; CassClusterPtr cluster; - CassSessionWeak maybe_session; + + std::mutex connect_mutex; + CassSessionWeak maybe_session TSA_GUARDED_BY(connect_mutex); }; } diff --git a/src/Dictionaries/CassandraSource.cpp b/src/Dictionaries/CassandraSource.cpp index 5b84936a137..f5277e77eba 100644 --- a/src/Dictionaries/CassandraSource.cpp +++ b/src/Dictionaries/CassandraSource.cpp @@ -25,7 +25,7 @@ CassandraSource::CassandraSource( const String & query_str, const Block & sample_block, size_t max_block_size_) - : SourceWithProgress(sample_block) + : ISource(sample_block) , session(session_) , statement(query_str.c_str(), /*parameters count*/ 0) , max_block_size(max_block_size_) diff --git a/src/Dictionaries/CassandraSource.h b/src/Dictionaries/CassandraSource.h index ba76e72c245..9325883a33d 100644 --- a/src/Dictionaries/CassandraSource.h +++ b/src/Dictionaries/CassandraSource.h @@ -4,14 +4,14 @@ #if USE_CASSANDRA #include -#include +#include #include namespace DB { -class CassandraSource final : public SourceWithProgress +class CassandraSource final : public ISource { public: CassandraSource( diff --git a/src/Dictionaries/ClickHouseDictionarySource.cpp b/src/Dictionaries/ClickHouseDictionarySource.cpp index 355920bbf50..1a3f3f0edc4 100644 --- a/src/Dictionaries/ClickHouseDictionarySource.cpp +++ b/src/Dictionaries/ClickHouseDictionarySource.cpp @@ -110,29 +110,29 @@ std::string ClickHouseDictionarySource::getUpdateFieldAndDate() } } -Pipe ClickHouseDictionarySource::loadAllWithSizeHint(std::atomic * result_size_hint) +QueryPipeline ClickHouseDictionarySource::loadAllWithSizeHint(std::atomic * result_size_hint) { return createStreamForQuery(load_all_query, result_size_hint); } -Pipe ClickHouseDictionarySource::loadAll() +QueryPipeline ClickHouseDictionarySource::loadAll() { return createStreamForQuery(load_all_query); } -Pipe ClickHouseDictionarySource::loadUpdatedAll() +QueryPipeline ClickHouseDictionarySource::loadUpdatedAll() { String load_update_query = getUpdateFieldAndDate(); return createStreamForQuery(load_update_query); } -Pipe ClickHouseDictionarySource::loadIds(const std::vector & ids) +QueryPipeline ClickHouseDictionarySource::loadIds(const std::vector & ids) { return createStreamForQuery(query_builder.composeLoadIdsQuery(ids)); } -Pipe ClickHouseDictionarySource::loadKeys(const Columns & key_columns, const std::vector & requested_rows) +QueryPipeline ClickHouseDictionarySource::loadKeys(const Columns & key_columns, const std::vector & requested_rows) { String query = query_builder.composeLoadKeysQuery(key_columns, requested_rows, ExternalQueryBuilder::IN_WITH_TUPLES); return createStreamForQuery(query); @@ -162,9 +162,9 @@ std::string ClickHouseDictionarySource::toString() const return "ClickHouse: " + configuration.db + '.' + configuration.table + (where.empty() ? "" : ", where: " + where); } -Pipe ClickHouseDictionarySource::createStreamForQuery(const String & query, std::atomic * result_size_hint) +QueryPipeline ClickHouseDictionarySource::createStreamForQuery(const String & query, std::atomic * result_size_hint) { - QueryPipelineBuilder builder; + QueryPipeline pipeline; /// Sample block should not contain first row default values auto empty_sample_block = sample_block.cloneEmpty(); @@ -175,32 +175,25 @@ Pipe ClickHouseDictionarySource::createStreamForQuery(const String & query, std: if (configuration.is_local) { - builder.init(executeQuery(query, context_copy, true).pipeline); - auto converting = ActionsDAG::makeConvertingActions( - builder.getHeader().getColumnsWithTypeAndName(), - empty_sample_block.getColumnsWithTypeAndName(), - ActionsDAG::MatchColumnsMode::Position); + pipeline = executeQuery(query, context_copy, true).pipeline; - builder.addSimpleTransform([&](const Block & header) - { - return std::make_shared(header, std::make_shared(converting)); - }); + pipeline.convertStructureTo(empty_sample_block.getColumnsWithTypeAndName()); } else { - builder.init(Pipe(std::make_shared( - std::make_shared(pool, query, empty_sample_block, context_copy), false, false))); + pipeline = QueryPipeline(std::make_shared( + std::make_shared(pool, query, empty_sample_block, context_copy), false, false)); } if (result_size_hint) { - builder.setProgressCallback([result_size_hint](const Progress & progress) + pipeline.setProgressCallback([result_size_hint](const Progress & progress) { *result_size_hint += progress.total_rows_to_read; }); } - return QueryPipelineBuilder::getPipe(std::move(builder)); + return pipeline; } std::string ClickHouseDictionarySource::doInvalidateQuery(const std::string & request) const diff --git a/src/Dictionaries/ClickHouseDictionarySource.h b/src/Dictionaries/ClickHouseDictionarySource.h index cdcc0ee824f..007e3e8b29d 100644 --- a/src/Dictionaries/ClickHouseDictionarySource.h +++ b/src/Dictionaries/ClickHouseDictionarySource.h @@ -45,15 +45,15 @@ public: ClickHouseDictionarySource(const ClickHouseDictionarySource & other); ClickHouseDictionarySource & operator=(const ClickHouseDictionarySource &) = delete; - Pipe loadAllWithSizeHint(std::atomic * result_size_hint) override; + QueryPipeline loadAllWithSizeHint(std::atomic * result_size_hint) override; - Pipe loadAll() override; + QueryPipeline loadAll() override; - Pipe loadUpdatedAll() override; + QueryPipeline loadUpdatedAll() override; - Pipe loadIds(const std::vector & ids) override; + QueryPipeline loadIds(const std::vector & ids) override; - Pipe loadKeys(const Columns & key_columns, const std::vector & requested_rows) override; + QueryPipeline loadKeys(const Columns & key_columns, const std::vector & requested_rows) override; bool isModified() const override; bool supportsSelectiveLoad() const override { return true; } @@ -71,7 +71,7 @@ public: private: std::string getUpdateFieldAndDate(); - Pipe createStreamForQuery(const String & query, std::atomic * result_size_hint = nullptr); + QueryPipeline createStreamForQuery(const String & query, std::atomic * result_size_hint = nullptr); std::string doInvalidateQuery(const std::string & request) const; diff --git a/src/Dictionaries/DictionaryHelpers.h b/src/Dictionaries/DictionaryHelpers.h index 80b15eb2569..9899b9f4c88 100644 --- a/src/Dictionaries/DictionaryHelpers.h +++ b/src/Dictionaries/DictionaryHelpers.h @@ -518,7 +518,7 @@ template void mergeBlockWithPipe( size_t key_columns_size, Block & block_to_update, - Pipe pipe) + QueryPipeline pipeline) { using KeyType = std::conditional_t; @@ -568,8 +568,6 @@ void mergeBlockWithPipe( auto result_fetched_columns = block_to_update.cloneEmptyColumns(); - QueryPipeline pipeline(std::move(pipe)); - PullingPipelineExecutor executor(pipeline); Block block; diff --git a/src/Dictionaries/DictionarySource.cpp b/src/Dictionaries/DictionarySource.cpp index 526d9fc85cd..4763c3e3ff9 100644 --- a/src/Dictionaries/DictionarySource.cpp +++ b/src/Dictionaries/DictionarySource.cpp @@ -1,5 +1,6 @@ #include "DictionarySource.h" #include +#include namespace DB @@ -11,12 +12,12 @@ namespace ErrorCodes extern const int NO_SUCH_COLUMN_IN_TABLE; } -class DictionarySource : public SourceWithProgress +class DictionarySource : public ISource { public: explicit DictionarySource(std::shared_ptr coordinator_) - : SourceWithProgress(coordinator_->getHeader()), coordinator(std::move(coordinator_)) + : ISource(coordinator_->getHeader()), coordinator(std::move(coordinator_)) { } diff --git a/src/Dictionaries/DictionarySource.h b/src/Dictionaries/DictionarySource.h index b54a8da6596..3fa7ce8bda6 100644 --- a/src/Dictionaries/DictionarySource.h +++ b/src/Dictionaries/DictionarySource.h @@ -4,7 +4,7 @@ #include #include #include -#include +#include #include #include diff --git a/src/Dictionaries/DirectDictionary.cpp b/src/Dictionaries/DirectDictionary.cpp index f15e44a6e21..6ecc216e370 100644 --- a/src/Dictionaries/DirectDictionary.cpp +++ b/src/Dictionaries/DirectDictionary.cpp @@ -8,7 +8,9 @@ #include #include +#include #include +#include namespace DB { @@ -258,6 +260,35 @@ ColumnUInt8::Ptr DirectDictionary::isInHierarchy( return nullptr; } +class SourceFromQueryPipeline : public ISource +{ +public: + explicit SourceFromQueryPipeline(QueryPipeline pipeline_) + : ISource(pipeline_.getHeader()) + , pipeline(std::move(pipeline_)) + , executor(pipeline) + {} + + std::string getName() const override { return "SourceFromQueryPipeline"; } + + Chunk generate() override + { + Chunk chunk; + while (executor.pull(chunk)) + { + if (chunk) + return chunk; + } + + return {}; + } + + +private: + QueryPipeline pipeline; + PullingPipelineExecutor executor; +}; + template Pipe DirectDictionary::getSourcePipe( const Columns & key_columns [[maybe_unused]], @@ -275,7 +306,7 @@ Pipe DirectDictionary::getSourcePipe( for (auto key : requested_keys) ids.emplace_back(key); - pipe = source_ptr->loadIds(ids); + pipe = Pipe(std::make_shared(source_ptr->loadIds(ids))); } else { @@ -284,7 +315,7 @@ Pipe DirectDictionary::getSourcePipe( for (size_t i = 0; i < requested_keys_size; ++i) requested_rows.emplace_back(i); - pipe = source_ptr->loadKeys(key_columns, requested_rows); + pipe = Pipe(std::make_shared(source_ptr->loadKeys(key_columns, requested_rows))); } return pipe; @@ -293,7 +324,7 @@ Pipe DirectDictionary::getSourcePipe( template Pipe DirectDictionary::read(const Names & /* column_names */, size_t /* max_block_size */, size_t /* num_streams */) const { - return source_ptr->loadAll(); + return Pipe(std::make_shared(source_ptr->loadAll())); } namespace diff --git a/src/Dictionaries/ExecutableDictionarySource.cpp b/src/Dictionaries/ExecutableDictionarySource.cpp index e19d0328fab..5d805cc4a03 100644 --- a/src/Dictionaries/ExecutableDictionarySource.cpp +++ b/src/Dictionaries/ExecutableDictionarySource.cpp @@ -103,7 +103,7 @@ ExecutableDictionarySource::ExecutableDictionarySource(const ExecutableDictionar { } -Pipe ExecutableDictionarySource::loadAll() +QueryPipeline ExecutableDictionarySource::loadAll() { if (configuration.implicit_key) throw Exception(ErrorCodes::UNSUPPORTED_METHOD, "ExecutableDictionarySource with implicit_key does not support loadAll method"); @@ -114,10 +114,10 @@ Pipe ExecutableDictionarySource::loadAll() auto command = configuration.command; updateCommandIfNeeded(command, coordinator_configuration.execute_direct, context); - return coordinator->createPipe(command, configuration.command_arguments, sample_block, context); + return QueryPipeline(coordinator->createPipe(command, configuration.command_arguments, sample_block, context)); } -Pipe ExecutableDictionarySource::loadUpdatedAll() +QueryPipeline ExecutableDictionarySource::loadUpdatedAll() { if (configuration.implicit_key) throw Exception(ErrorCodes::UNSUPPORTED_METHOD, "ExecutableDictionarySource with implicit_key does not support loadUpdatedAll method"); @@ -148,10 +148,10 @@ Pipe ExecutableDictionarySource::loadUpdatedAll() update_time = new_update_time; LOG_TRACE(log, "loadUpdatedAll {}", command); - return coordinator->createPipe(command, command_arguments, sample_block, context); + return QueryPipeline(coordinator->createPipe(command, command_arguments, sample_block, context)); } -Pipe ExecutableDictionarySource::loadIds(const std::vector & ids) +QueryPipeline ExecutableDictionarySource::loadIds(const std::vector & ids) { LOG_TRACE(log, "loadIds {} size = {}", toString(), ids.size()); @@ -159,7 +159,7 @@ Pipe ExecutableDictionarySource::loadIds(const std::vector & ids) return getStreamForBlock(block); } -Pipe ExecutableDictionarySource::loadKeys(const Columns & key_columns, const std::vector & requested_rows) +QueryPipeline ExecutableDictionarySource::loadKeys(const Columns & key_columns, const std::vector & requested_rows) { LOG_TRACE(log, "loadKeys {} size = {}", toString(), requested_rows.size()); @@ -167,7 +167,7 @@ Pipe ExecutableDictionarySource::loadKeys(const Columns & key_columns, const std return getStreamForBlock(block); } -Pipe ExecutableDictionarySource::getStreamForBlock(const Block & block) +QueryPipeline ExecutableDictionarySource::getStreamForBlock(const Block & block) { const auto & coordinator_configuration = coordinator->getConfiguration(); String command = configuration.command; @@ -184,7 +184,7 @@ Pipe ExecutableDictionarySource::getStreamForBlock(const Block & block) if (configuration.implicit_key) pipe.addTransform(std::make_shared(block, pipe.getHeader())); - return pipe; + return QueryPipeline(std::move(pipe)); } bool ExecutableDictionarySource::isModified() const diff --git a/src/Dictionaries/ExecutableDictionarySource.h b/src/Dictionaries/ExecutableDictionarySource.h index 7a6254780a8..0456d3cafef 100644 --- a/src/Dictionaries/ExecutableDictionarySource.h +++ b/src/Dictionaries/ExecutableDictionarySource.h @@ -39,17 +39,17 @@ public: ExecutableDictionarySource(const ExecutableDictionarySource & other); ExecutableDictionarySource & operator=(const ExecutableDictionarySource &) = delete; - Pipe loadAll() override; + QueryPipeline loadAll() override; /** The logic of this method is flawed, absolutely incorrect and ignorant. * It may lead to skipping some values due to clock sync or timezone changes. * The intended usage of "update_field" is totally different. */ - Pipe loadUpdatedAll() override; + QueryPipeline loadUpdatedAll() override; - Pipe loadIds(const std::vector & ids) override; + QueryPipeline loadIds(const std::vector & ids) override; - Pipe loadKeys(const Columns & key_columns, const std::vector & requested_rows) override; + QueryPipeline loadKeys(const Columns & key_columns, const std::vector & requested_rows) override; bool isModified() const override; @@ -61,7 +61,7 @@ public: std::string toString() const override; - Pipe getStreamForBlock(const Block & block); + QueryPipeline getStreamForBlock(const Block & block); private: Poco::Logger * log; diff --git a/src/Dictionaries/ExecutablePoolDictionarySource.cpp b/src/Dictionaries/ExecutablePoolDictionarySource.cpp index 7f3d50519c2..df502efc882 100644 --- a/src/Dictionaries/ExecutablePoolDictionarySource.cpp +++ b/src/Dictionaries/ExecutablePoolDictionarySource.cpp @@ -68,17 +68,17 @@ ExecutablePoolDictionarySource::ExecutablePoolDictionarySource(const ExecutableP { } -Pipe ExecutablePoolDictionarySource::loadAll() +QueryPipeline ExecutablePoolDictionarySource::loadAll() { throw Exception(ErrorCodes::UNSUPPORTED_METHOD, "ExecutablePoolDictionarySource does not support loadAll method"); } -Pipe ExecutablePoolDictionarySource::loadUpdatedAll() +QueryPipeline ExecutablePoolDictionarySource::loadUpdatedAll() { throw Exception(ErrorCodes::UNSUPPORTED_METHOD, "ExecutablePoolDictionarySource does not support loadUpdatedAll method"); } -Pipe ExecutablePoolDictionarySource::loadIds(const std::vector & ids) +QueryPipeline ExecutablePoolDictionarySource::loadIds(const std::vector & ids) { LOG_TRACE(log, "loadIds {} size = {}", toString(), ids.size()); @@ -86,7 +86,7 @@ Pipe ExecutablePoolDictionarySource::loadIds(const std::vector & ids) return getStreamForBlock(block); } -Pipe ExecutablePoolDictionarySource::loadKeys(const Columns & key_columns, const std::vector & requested_rows) +QueryPipeline ExecutablePoolDictionarySource::loadKeys(const Columns & key_columns, const std::vector & requested_rows) { LOG_TRACE(log, "loadKeys {} size = {}", toString(), requested_rows.size()); @@ -94,7 +94,7 @@ Pipe ExecutablePoolDictionarySource::loadKeys(const Columns & key_columns, const return getStreamForBlock(block); } -Pipe ExecutablePoolDictionarySource::getStreamForBlock(const Block & block) +QueryPipeline ExecutablePoolDictionarySource::getStreamForBlock(const Block & block) { String command = configuration.command; const auto & coordinator_configuration = coordinator->getConfiguration(); @@ -147,7 +147,7 @@ Pipe ExecutablePoolDictionarySource::getStreamForBlock(const Block & block) if (configuration.implicit_key) pipe.addTransform(std::make_shared(block, pipe.getHeader())); - return pipe; + return QueryPipeline(std::move(pipe)); } bool ExecutablePoolDictionarySource::isModified() const diff --git a/src/Dictionaries/ExecutablePoolDictionarySource.h b/src/Dictionaries/ExecutablePoolDictionarySource.h index f732e274b1d..1fc10d18b76 100644 --- a/src/Dictionaries/ExecutablePoolDictionarySource.h +++ b/src/Dictionaries/ExecutablePoolDictionarySource.h @@ -42,17 +42,17 @@ public: ExecutablePoolDictionarySource(const ExecutablePoolDictionarySource & other); ExecutablePoolDictionarySource & operator=(const ExecutablePoolDictionarySource &) = delete; - Pipe loadAll() override; + QueryPipeline loadAll() override; /** The logic of this method is flawed, absolutely incorrect and ignorant. * It may lead to skipping some values due to clock sync or timezone changes. * The intended usage of "update_field" is totally different. */ - Pipe loadUpdatedAll() override; + QueryPipeline loadUpdatedAll() override; - Pipe loadIds(const std::vector & ids) override; + QueryPipeline loadIds(const std::vector & ids) override; - Pipe loadKeys(const Columns & key_columns, const std::vector & requested_rows) override; + QueryPipeline loadKeys(const Columns & key_columns, const std::vector & requested_rows) override; bool isModified() const override; @@ -64,7 +64,7 @@ public: std::string toString() const override; - Pipe getStreamForBlock(const Block & block); + QueryPipeline getStreamForBlock(const Block & block); private: const DictionaryStructure dict_struct; diff --git a/src/Dictionaries/ExternalQueryBuilder.cpp b/src/Dictionaries/ExternalQueryBuilder.cpp index 1701f08fd67..19dabe92d64 100644 --- a/src/Dictionaries/ExternalQueryBuilder.cpp +++ b/src/Dictionaries/ExternalQueryBuilder.cpp @@ -84,6 +84,19 @@ std::string ExternalQueryBuilder::composeLoadAllQuery() const } else { + /** In case UPDATE_FIELD is specified in {condition} for dictionary that must load all data. + * Replace {condition} with true_condition for initial dictionary load. + * For next dictionary loads {condition} will be updated with UPDATE_FIELD. + */ + static constexpr auto true_condition = "(1 = 1)"; + auto condition_position = query.find(CONDITION_PLACEHOLDER_TO_REPLACE_VALUE); + if (condition_position != std::string::npos) + { + auto query_copy = query; + query_copy.replace(condition_position, CONDITION_PLACEHOLDER_TO_REPLACE_VALUE.size(), true_condition); + return query_copy; + } + return query; } } diff --git a/src/Dictionaries/FileDictionarySource.cpp b/src/Dictionaries/FileDictionarySource.cpp index a6b423cfe74..86287971428 100644 --- a/src/Dictionaries/FileDictionarySource.cpp +++ b/src/Dictionaries/FileDictionarySource.cpp @@ -46,7 +46,7 @@ FileDictionarySource::FileDictionarySource(const FileDictionarySource & other) } -Pipe FileDictionarySource::loadAll() +QueryPipeline FileDictionarySource::loadAll() { LOG_TRACE(&Poco::Logger::get("FileDictionary"), "loadAll {}", toString()); auto in_ptr = std::make_unique(filepath); @@ -54,7 +54,7 @@ Pipe FileDictionarySource::loadAll() source->addBuffer(std::move(in_ptr)); last_modification = getLastModification(); - return Pipe(std::move(source)); + return QueryPipeline(std::move(source)); } diff --git a/src/Dictionaries/FileDictionarySource.h b/src/Dictionaries/FileDictionarySource.h index 8fe2d87d8b9..86ce1baa02a 100644 --- a/src/Dictionaries/FileDictionarySource.h +++ b/src/Dictionaries/FileDictionarySource.h @@ -21,19 +21,19 @@ public: FileDictionarySource(const FileDictionarySource & other); - Pipe loadAll() override; + QueryPipeline loadAll() override; - Pipe loadUpdatedAll() override + QueryPipeline loadUpdatedAll() override { throw Exception(ErrorCodes::NOT_IMPLEMENTED, "Method loadUpdatedAll is unsupported for FileDictionarySource"); } - Pipe loadIds(const std::vector & /*ids*/) override + QueryPipeline loadIds(const std::vector & /*ids*/) override { throw Exception(ErrorCodes::NOT_IMPLEMENTED, "Method loadIds is unsupported for FileDictionarySource"); } - Pipe loadKeys(const Columns & /*key_columns*/, const std::vector & /*requested_rows*/) override + QueryPipeline loadKeys(const Columns & /*key_columns*/, const std::vector & /*requested_rows*/) override { throw Exception(ErrorCodes::NOT_IMPLEMENTED, "Method loadKeys is unsupported for FileDictionarySource"); } diff --git a/src/Dictionaries/FlatDictionary.cpp b/src/Dictionaries/FlatDictionary.cpp index d0d9fba763c..d77f0bf825c 100644 --- a/src/Dictionaries/FlatDictionary.cpp +++ b/src/Dictionaries/FlatDictionary.cpp @@ -184,7 +184,11 @@ ColumnPtr FlatDictionary::getHierarchy(ColumnPtr key_column, const DataTypePtr & const auto & dictionary_attribute = dict_struct.attributes[hierarchical_attribute_index]; const auto & hierarchical_attribute = attributes[hierarchical_attribute_index]; - const UInt64 null_value = dictionary_attribute.null_value.get(); + std::optional null_value; + + if (!dictionary_attribute.null_value.isNull()) + null_value = dictionary_attribute.null_value.get(); + const ContainerType & parent_keys = std::get>(hierarchical_attribute.container); auto is_key_valid_func = [&, this](auto & key) { return key < loaded_keys.size() && loaded_keys[key]; }; @@ -193,13 +197,26 @@ ColumnPtr FlatDictionary::getHierarchy(ColumnPtr key_column, const DataTypePtr & auto get_parent_key_func = [&, this](auto & hierarchy_key) { + std::optional result; + bool is_key_valid = hierarchy_key < loaded_keys.size() && loaded_keys[hierarchy_key]; - std::optional result = is_key_valid ? std::make_optional(parent_keys[hierarchy_key]) : std::nullopt; - keys_found += result.has_value(); + + if (!is_key_valid) + return result; + + if (unlikely(hierarchical_attribute.is_nullable_set) && hierarchical_attribute.is_nullable_set->find(hierarchy_key)) + return result; + + UInt64 parent_key = parent_keys[hierarchy_key]; + if (null_value && *null_value == parent_key) + return result; + + result = parent_key; + keys_found += 1; return result; }; - auto dictionary_hierarchy_array = getKeysHierarchyArray(keys, null_value, is_key_valid_func, get_parent_key_func); + auto dictionary_hierarchy_array = getKeysHierarchyArray(keys, is_key_valid_func, get_parent_key_func); query_count.fetch_add(keys.size(), std::memory_order_relaxed); found_count.fetch_add(keys_found, std::memory_order_relaxed); @@ -222,7 +239,11 @@ ColumnUInt8::Ptr FlatDictionary::isInHierarchy( const auto & dictionary_attribute = dict_struct.attributes[hierarchical_attribute_index]; const auto & hierarchical_attribute = attributes[hierarchical_attribute_index]; - const UInt64 null_value = dictionary_attribute.null_value.get(); + std::optional null_value; + + if (!dictionary_attribute.null_value.isNull()) + null_value = dictionary_attribute.null_value.get(); + const ContainerType & parent_keys = std::get>(hierarchical_attribute.container); auto is_key_valid_func = [&, this](auto & key) { return key < loaded_keys.size() && loaded_keys[key]; }; @@ -231,13 +252,26 @@ ColumnUInt8::Ptr FlatDictionary::isInHierarchy( auto get_parent_key_func = [&, this](auto & hierarchy_key) { + std::optional result; + bool is_key_valid = hierarchy_key < loaded_keys.size() && loaded_keys[hierarchy_key]; - std::optional result = is_key_valid ? std::make_optional(parent_keys[hierarchy_key]) : std::nullopt; - keys_found += result.has_value(); + + if (!is_key_valid) + return result; + + if (unlikely(hierarchical_attribute.is_nullable_set) && hierarchical_attribute.is_nullable_set->find(hierarchy_key)) + return result; + + UInt64 parent_key = parent_keys[hierarchy_key]; + if (null_value && *null_value == parent_key) + return result; + + result = parent_keys[hierarchy_key]; + keys_found += 1; return result; }; - auto result = getKeysIsInHierarchyColumn(keys, keys_in, null_value, is_key_valid_func, get_parent_key_func); + auto result = getKeysIsInHierarchyColumn(keys, keys_in, is_key_valid_func, get_parent_key_func); query_count.fetch_add(keys.size(), std::memory_order_relaxed); found_count.fetch_add(keys_found, std::memory_order_relaxed); @@ -264,6 +298,9 @@ DictionaryHierarchyParentToChildIndexPtr FlatDictionary::getHierarchicalIndex() if (!loaded_keys[child_key]) continue; + if (unlikely(hierarchical_attribute.is_nullable_set) && hierarchical_attribute.is_nullable_set->find(child_key)) + continue; + auto parent_key = parent_keys[child_key]; parent_to_child[parent_key].emplace_back(child_key); } @@ -379,11 +416,11 @@ void FlatDictionary::updateData() } else { - Pipe pipe(source_ptr->loadUpdatedAll()); + auto pipeline(source_ptr->loadUpdatedAll()); mergeBlockWithPipe( dict_struct.getKeysSize(), *update_field_loaded_block, - std::move(pipe)); + std::move(pipeline)); } if (update_field_loaded_block) @@ -643,7 +680,7 @@ void registerDictionaryFlat(DictionaryFactory & factory) const auto dict_id = StorageID::fromDictionaryConfig(config, config_prefix); - return std::make_unique(dict_id, dict_struct, std::move(source_ptr), std::move(configuration)); + return std::make_unique(dict_id, dict_struct, std::move(source_ptr), configuration); }; factory.registerLayout("flat", create_layout, false); diff --git a/src/Dictionaries/HTTPDictionarySource.cpp b/src/Dictionaries/HTTPDictionarySource.cpp index cf8b60f3681..d45213fa7f8 100644 --- a/src/Dictionaries/HTTPDictionarySource.cpp +++ b/src/Dictionaries/HTTPDictionarySource.cpp @@ -8,6 +8,7 @@ #include #include #include +#include #include #include #include "DictionarySourceFactory.h" @@ -61,7 +62,7 @@ HTTPDictionarySource::HTTPDictionarySource(const HTTPDictionarySource & other) credentials.setPassword(other.credentials.getPassword()); } -Pipe HTTPDictionarySource::createWrappedBuffer(std::unique_ptr http_buffer_ptr) +QueryPipeline HTTPDictionarySource::createWrappedBuffer(std::unique_ptr http_buffer_ptr) { Poco::URI uri(configuration.url); String http_request_compression_method_str = http_buffer_ptr->getCompressionMethod(); @@ -69,7 +70,7 @@ Pipe HTTPDictionarySource::createWrappedBuffer(std::unique_ptrgetInputFormat(configuration.format, *in_ptr_wrapped, sample_block, max_block_size); source->addBuffer(std::move(in_ptr_wrapped)); - return Pipe(std::move(source)); + return QueryPipeline(std::move(source)); } void HTTPDictionarySource::getUpdateFieldAndDate(Poco::URI & uri) @@ -89,7 +90,7 @@ void HTTPDictionarySource::getUpdateFieldAndDate(Poco::URI & uri) } } -Pipe HTTPDictionarySource::loadAll() +QueryPipeline HTTPDictionarySource::loadAll() { LOG_TRACE(log, "loadAll {}", toString()); Poco::URI uri(configuration.url); @@ -109,7 +110,7 @@ Pipe HTTPDictionarySource::loadAll() return createWrappedBuffer(std::move(in_ptr)); } -Pipe HTTPDictionarySource::loadUpdatedAll() +QueryPipeline HTTPDictionarySource::loadUpdatedAll() { Poco::URI uri(configuration.url); getUpdateFieldAndDate(uri); @@ -130,7 +131,7 @@ Pipe HTTPDictionarySource::loadUpdatedAll() return createWrappedBuffer(std::move(in_ptr)); } -Pipe HTTPDictionarySource::loadIds(const std::vector & ids) +QueryPipeline HTTPDictionarySource::loadIds(const std::vector & ids) { LOG_TRACE(log, "loadIds {} size = {}", toString(), ids.size()); @@ -160,7 +161,7 @@ Pipe HTTPDictionarySource::loadIds(const std::vector & ids) return createWrappedBuffer(std::move(in_ptr)); } -Pipe HTTPDictionarySource::loadKeys(const Columns & key_columns, const std::vector & requested_rows) +QueryPipeline HTTPDictionarySource::loadKeys(const Columns & key_columns, const std::vector & requested_rows) { LOG_TRACE(log, "loadKeys {} size = {}", toString(), requested_rows.size()); @@ -228,45 +229,80 @@ void registerDictionarySourceHTTP(DictionarySourceFactory & factory) if (dict_struct.has_expressions) throw Exception(ErrorCodes::LOGICAL_ERROR, "Dictionary source of type `http` does not support attribute expressions"); - auto context = copyContextAndApplySettingsFromDictionaryConfig(global_context, config, config_prefix); - - const auto & settings_config_prefix = config_prefix + ".http"; - const auto & credentials_prefix = settings_config_prefix + ".credentials"; - + auto settings_config_prefix = config_prefix + ".http"; Poco::Net::HTTPBasicCredentials credentials; - - if (config.has(credentials_prefix)) - { - credentials.setUsername(config.getString(credentials_prefix + ".user", "")); - credentials.setPassword(config.getString(credentials_prefix + ".password", "")); - } - - const auto & headers_prefix = settings_config_prefix + ".headers"; ReadWriteBufferFromHTTP::HTTPHeaderEntries header_entries; + String url; + String endpoint; + String format; - if (config.has(headers_prefix)) + auto named_collection = created_from_ddl + ? getURLBasedDataSourceConfiguration(config, settings_config_prefix, global_context) + : std::nullopt; + if (named_collection) { - Poco::Util::AbstractConfiguration::Keys config_keys; - config.keys(headers_prefix, config_keys); + url = named_collection->configuration.url; + endpoint = named_collection->configuration.endpoint; + format = named_collection->configuration.format; - header_entries.reserve(config_keys.size()); - for (const auto & key : config_keys) - { - const auto header_key = config.getString(headers_prefix + "." + key + ".name", ""); - const auto header_value = config.getString(headers_prefix + "." + key + ".value", ""); - header_entries.emplace_back(std::make_tuple(header_key, header_value)); - } + credentials.setUsername(named_collection->configuration.user); + credentials.setPassword(named_collection->configuration.password); + + header_entries.reserve(named_collection->configuration.headers.size()); + for (const auto & header : named_collection->configuration.headers) + header_entries.emplace_back(std::make_tuple(header.first, header.second.get())); } + else + { + const auto & credentials_prefix = settings_config_prefix + ".credentials"; + + if (config.has(credentials_prefix)) + { + credentials.setUsername(config.getString(credentials_prefix + ".user", "")); + credentials.setPassword(config.getString(credentials_prefix + ".password", "")); + } + + const auto & headers_prefix = settings_config_prefix + ".headers"; + + + if (config.has(headers_prefix)) + { + Poco::Util::AbstractConfiguration::Keys config_keys; + config.keys(headers_prefix, config_keys); + + header_entries.reserve(config_keys.size()); + for (const auto & key : config_keys) + { + const auto header_key = config.getString(headers_prefix + "." + key + ".name", ""); + const auto header_value = config.getString(headers_prefix + "." + key + ".value", ""); + header_entries.emplace_back(std::make_tuple(header_key, header_value)); + } + } + + url = config.getString(settings_config_prefix + ".url", ""); + endpoint = config.getString(settings_config_prefix + ".endpoint", ""); + format =config.getString(settings_config_prefix + ".format", ""); + } + + if (url.ends_with('/')) + { + if (endpoint.starts_with('/')) + url.pop_back(); + } + else if (!endpoint.empty() && !endpoint.starts_with('/')) + url.push_back('/'); auto configuration = HTTPDictionarySource::Configuration { - .url = config.getString(settings_config_prefix + ".url", ""), - .format =config.getString(settings_config_prefix + ".format", ""), + .url = url + endpoint, + .format = format, .update_field = config.getString(settings_config_prefix + ".update_field", ""), .update_lag = config.getUInt64(settings_config_prefix + ".update_lag", 1), .header_entries = std::move(header_entries) //-V1030 }; + auto context = copyContextAndApplySettingsFromDictionaryConfig(global_context, config, config_prefix); + return std::make_unique(dict_struct, configuration, credentials, sample_block, context, created_from_ddl); }; factory.registerSource("http", create_table_source); diff --git a/src/Dictionaries/HTTPDictionarySource.h b/src/Dictionaries/HTTPDictionarySource.h index ce357814982..71351cd9987 100644 --- a/src/Dictionaries/HTTPDictionarySource.h +++ b/src/Dictionaries/HTTPDictionarySource.h @@ -43,13 +43,13 @@ public: HTTPDictionarySource(const HTTPDictionarySource & other); HTTPDictionarySource & operator=(const HTTPDictionarySource &) = delete; - Pipe loadAll() override; + QueryPipeline loadAll() override; - Pipe loadUpdatedAll() override; + QueryPipeline loadUpdatedAll() override; - Pipe loadIds(const std::vector & ids) override; + QueryPipeline loadIds(const std::vector & ids) override; - Pipe loadKeys(const Columns & key_columns, const std::vector & requested_rows) override; + QueryPipeline loadKeys(const Columns & key_columns, const std::vector & requested_rows) override; bool isModified() const override; @@ -65,7 +65,7 @@ private: void getUpdateFieldAndDate(Poco::URI & uri); // wrap buffer using encoding from made request - Pipe createWrappedBuffer(std::unique_ptr http_buffer); + QueryPipeline createWrappedBuffer(std::unique_ptr http_buffer); Poco::Logger * log; diff --git a/src/Dictionaries/HashedArrayDictionary.cpp b/src/Dictionaries/HashedArrayDictionary.cpp index 66c63b7330d..d702a02bc2e 100644 --- a/src/Dictionaries/HashedArrayDictionary.cpp +++ b/src/Dictionaries/HashedArrayDictionary.cpp @@ -191,9 +191,12 @@ ColumnPtr HashedArrayDictionary::getHierarchy(ColumnPtr key const auto & dictionary_attribute = dict_struct.attributes[hierarchical_attribute_index]; const auto & hierarchical_attribute = attributes[hierarchical_attribute_index]; - const auto & key_attribute_container = key_attribute.container; + std::optional null_value; - const UInt64 null_value = dictionary_attribute.null_value.template get(); + if (!dictionary_attribute.null_value.isNull()) + null_value = dictionary_attribute.null_value.get(); + + const auto & key_attribute_container = key_attribute.container; const AttributeContainerType & parent_keys_container = std::get>(hierarchical_attribute.container); auto is_key_valid_func = [&](auto & key) { return key_attribute_container.find(key) != key_attribute_container.end(); }; @@ -206,15 +209,25 @@ ColumnPtr HashedArrayDictionary::getHierarchy(ColumnPtr key auto it = key_attribute_container.find(hierarchy_key); - if (it != key_attribute_container.end()) - result = parent_keys_container[it->getMapped()]; + if (it == key_attribute_container.end()) + return result; - keys_found += result.has_value(); + size_t key_index = it->getMapped(); + + if (unlikely(hierarchical_attribute.is_index_null) && (*hierarchical_attribute.is_index_null)[key_index]) + return result; + + UInt64 parent_key = parent_keys_container[key_index]; + if (null_value && *null_value == parent_key) + return result; + + result = parent_key; + keys_found += 1; return result; }; - auto dictionary_hierarchy_array = getKeysHierarchyArray(keys, null_value, is_key_valid_func, get_parent_func); + auto dictionary_hierarchy_array = getKeysHierarchyArray(keys, is_key_valid_func, get_parent_func); query_count.fetch_add(keys.size(), std::memory_order_relaxed); found_count.fetch_add(keys_found, std::memory_order_relaxed); @@ -246,9 +259,12 @@ ColumnUInt8::Ptr HashedArrayDictionary::isInHierarchy( const auto & dictionary_attribute = dict_struct.attributes[hierarchical_attribute_index]; auto & hierarchical_attribute = attributes[hierarchical_attribute_index]; - const auto & key_attribute_container = key_attribute.container; + std::optional null_value; - const UInt64 null_value = dictionary_attribute.null_value.template get(); + if (!dictionary_attribute.null_value.isNull()) + null_value = dictionary_attribute.null_value.get(); + + const auto & key_attribute_container = key_attribute.container; const AttributeContainerType & parent_keys_container = std::get>(hierarchical_attribute.container); auto is_key_valid_func = [&](auto & key) { return key_attribute_container.find(key) != key_attribute_container.end(); }; @@ -261,15 +277,25 @@ ColumnUInt8::Ptr HashedArrayDictionary::isInHierarchy( auto it = key_attribute_container.find(hierarchy_key); - if (it != key_attribute_container.end()) - result = parent_keys_container[it->getMapped()]; + if (it == key_attribute_container.end()) + return result; - keys_found += result.has_value(); + size_t key_index = it->getMapped(); + + if (unlikely(hierarchical_attribute.is_index_null) && (*hierarchical_attribute.is_index_null)[key_index]) + return result; + + UInt64 parent_key = parent_keys_container[key_index]; + if (null_value && *null_value == parent_key) + return result; + + result = parent_key; + keys_found += 1; return result; }; - auto result = getKeysIsInHierarchyColumn(keys, keys_in, null_value, is_key_valid_func, get_parent_func); + auto result = getKeysIsInHierarchyColumn(keys, keys_in, is_key_valid_func, get_parent_func); query_count.fetch_add(keys.size(), std::memory_order_relaxed); found_count.fetch_add(keys_found, std::memory_order_relaxed); @@ -305,8 +331,12 @@ DictionaryHierarchicalParentToChildIndexPtr HashedArrayDictionary> parent_to_child; parent_to_child.reserve(index_to_key.size()); - for (size_t i = 0; i < parent_keys_container.size(); ++i) + size_t parent_keys_container_size = parent_keys_container.size(); + for (size_t i = 0; i < parent_keys_container_size; ++i) { + if (unlikely(hierarchical_attribute.is_index_null) && (*hierarchical_attribute.is_index_null)[i]) + continue; + const auto * it = index_to_key.find(i); if (it == index_to_key.end()) continue; diff --git a/src/Dictionaries/HashedDictionary.cpp b/src/Dictionaries/HashedDictionary.cpp index 81d3d42617b..c5160c0dfa8 100644 --- a/src/Dictionaries/HashedDictionary.cpp +++ b/src/Dictionaries/HashedDictionary.cpp @@ -7,8 +7,6 @@ #include #include -#include - #include #include #include @@ -235,10 +233,20 @@ ColumnPtr HashedDictionary::getHierarchy(ColumnPtr const auto & dictionary_attribute = dict_struct.attributes[hierarchical_attribute_index]; const auto & hierarchical_attribute = attributes[hierarchical_attribute_index]; - const UInt64 null_value = dictionary_attribute.null_value.template get(); - const CollectionType & parent_keys_map = std::get>(hierarchical_attribute.container); + std::optional null_value; - auto is_key_valid_func = [&](auto & key) { return parent_keys_map.find(key) != parent_keys_map.end(); }; + if (!dictionary_attribute.null_value.isNull()) + null_value = dictionary_attribute.null_value.get(); + + const CollectionType & child_key_to_parent_key_map = std::get>(hierarchical_attribute.container); + + auto is_key_valid_func = [&](auto & hierarchy_key) + { + if (unlikely(hierarchical_attribute.is_nullable_set) && hierarchical_attribute.is_nullable_set->find(hierarchy_key)) + return true; + + return child_key_to_parent_key_map.find(hierarchy_key) != child_key_to_parent_key_map.end(); + }; size_t keys_found = 0; @@ -246,17 +254,22 @@ ColumnPtr HashedDictionary::getHierarchy(ColumnPtr { std::optional result; - auto it = parent_keys_map.find(hierarchy_key); + auto it = child_key_to_parent_key_map.find(hierarchy_key); - if (it != parent_keys_map.end()) - result = getValueFromCell(it); + if (it == child_key_to_parent_key_map.end()) + return result; - keys_found += result.has_value(); + UInt64 parent_key = getValueFromCell(it); + if (null_value && *null_value == parent_key) + return result; + + result = parent_key; + keys_found += 1; return result; }; - auto dictionary_hierarchy_array = getKeysHierarchyArray(keys, null_value, is_key_valid_func, get_parent_func); + auto dictionary_hierarchy_array = getKeysHierarchyArray(keys, is_key_valid_func, get_parent_func); query_count.fetch_add(keys.size(), std::memory_order_relaxed); found_count.fetch_add(keys_found, std::memory_order_relaxed); @@ -264,7 +277,9 @@ ColumnPtr HashedDictionary::getHierarchy(ColumnPtr return dictionary_hierarchy_array; } else + { return nullptr; + } } template @@ -275,6 +290,9 @@ ColumnUInt8::Ptr HashedDictionary::isInHierarchy( { if constexpr (dictionary_key_type == DictionaryKeyType::Simple) { + if (key_column->isNullable()) + key_column = assert_cast(key_column.get())->getNestedColumnPtr(); + PaddedPODArray keys_backup_storage; const auto & keys = getColumnVectorData(this, key_column, keys_backup_storage); @@ -286,28 +304,43 @@ ColumnUInt8::Ptr HashedDictionary::isInHierarchy( const auto & dictionary_attribute = dict_struct.attributes[hierarchical_attribute_index]; auto & hierarchical_attribute = attributes[hierarchical_attribute_index]; - const UInt64 null_value = dictionary_attribute.null_value.template get(); - const CollectionType & parent_keys_map = std::get>(hierarchical_attribute.container); + std::optional null_value; - auto is_key_valid_func = [&](auto & key) { return parent_keys_map.find(key) != parent_keys_map.end(); }; + if (!dictionary_attribute.null_value.isNull()) + null_value = dictionary_attribute.null_value.get(); + + const CollectionType & child_key_to_parent_key_map = std::get>(hierarchical_attribute.container); + + auto is_key_valid_func = [&](auto & hierarchy_key) + { + if (unlikely(hierarchical_attribute.is_nullable_set) && hierarchical_attribute.is_nullable_set->find(hierarchy_key)) + return true; + + return child_key_to_parent_key_map.find(hierarchy_key) != child_key_to_parent_key_map.end(); + }; size_t keys_found = 0; - auto get_parent_func = [&](auto & hierarchy_key) + auto get_parent_key_func = [&](auto & hierarchy_key) { std::optional result; - auto it = parent_keys_map.find(hierarchy_key); + auto it = child_key_to_parent_key_map.find(hierarchy_key); - if (it != parent_keys_map.end()) - result = getValueFromCell(it); + if (it == child_key_to_parent_key_map.end()) + return result; - keys_found += result.has_value(); + UInt64 parent_key = getValueFromCell(it); + if (null_value && *null_value == parent_key) + return result; + + result = parent_key; + keys_found += 1; return result; }; - auto result = getKeysIsInHierarchyColumn(keys, keys_in, null_value, is_key_valid_func, get_parent_func); + auto result = getKeysIsInHierarchyColumn(keys, keys_in, is_key_valid_func, get_parent_key_func); query_count.fetch_add(keys.size(), std::memory_order_relaxed); found_count.fetch_add(keys_found, std::memory_order_relaxed); @@ -328,13 +361,13 @@ DictionaryHierarchyParentToChildIndexPtr HashedDictionary & parent_keys = std::get>(hierarchical_attribute.container); + const CollectionType & child_key_to_parent_key_map = std::get>(hierarchical_attribute.container); HashMap> parent_to_child; - parent_to_child.reserve(parent_keys.size()); + parent_to_child.reserve(child_key_to_parent_key_map.size()); - for (const auto & [key, value] : parent_keys) - parent_to_child[value].emplace_back(key); + for (const auto & [child_key, parent_key] : child_key_to_parent_key_map) + parent_to_child[parent_key].emplace_back(child_key); return std::make_shared(parent_to_child); } diff --git a/src/Dictionaries/HierarchyDictionariesUtils.cpp b/src/Dictionaries/HierarchyDictionariesUtils.cpp index 0b5f8478f7a..fd59a0c37db 100644 --- a/src/Dictionaries/HierarchyDictionariesUtils.cpp +++ b/src/Dictionaries/HierarchyDictionariesUtils.cpp @@ -1,5 +1,8 @@ #include "HierarchyDictionariesUtils.h" +#include + + namespace DB { @@ -26,25 +29,36 @@ namespace detail namespace { + struct ChildToParentHierarchicalContext + { + HashMap child_key_to_parent_key; + std::optional> child_key_parent_key_is_null; + }; + /** In case of cache or direct dictionary we does not have structure with child to parent representation. * This function build such structure calling getColumn for initial keys to request and for next keys in hierarchy, * until all keys are requested or result key is null value. * To distinguish null value key and key that is not present in dictionary, we use special default value column * with max UInt64 value, if result column key has such value we assume that current key is not presented in dictionary storage. */ - HashMap getChildToParentHierarchyMapImpl( + ChildToParentHierarchicalContext getChildToParentHierarchicalContext( const IDictionary * dictionary, const DictionaryAttribute & hierarchical_attribute, const PaddedPODArray & initial_keys_to_request, const DataTypePtr & key_type) { - UInt64 null_value = hierarchical_attribute.null_value.get(); + std::optional null_value; + + if (!hierarchical_attribute.null_value.isNull()) + null_value = hierarchical_attribute.null_value.get(); ColumnPtr key_to_request_column = ColumnVector::create(); auto * key_to_request_column_typed = static_cast *>(key_to_request_column->assumeMutable().get()); UInt64 key_not_in_storage_value = std::numeric_limits::max(); ColumnPtr key_not_in_storage_default_value_column = ColumnVector::create(initial_keys_to_request.size(), key_not_in_storage_value); + if (hierarchical_attribute.is_nullable) + key_not_in_storage_default_value_column = makeNullable(key_not_in_storage_default_value_column); PaddedPODArray & keys_to_request = key_to_request_column_typed->getData(); keys_to_request.assign(initial_keys_to_request); @@ -52,20 +66,36 @@ namespace PaddedPODArray next_keys_to_request; HashSet already_requested_keys; - HashMap child_to_parent_key; + ChildToParentHierarchicalContext context; + + if (hierarchical_attribute.is_nullable) + context.child_key_parent_key_is_null = HashSet(); + + HashMap & child_key_to_parent_key = context.child_key_to_parent_key; + std::optional> & child_key_parent_key_is_null = context.child_key_parent_key_is_null; while (!keys_to_request.empty()) { - child_to_parent_key.reserve(child_to_parent_key.size() + keys_to_request.size()); + child_key_to_parent_key.reserve(keys_to_request.size()); - auto parent_key_column = dictionary->getColumn( + auto hierarchical_attribute_parent_key_column = dictionary->getColumn( hierarchical_attribute.name, hierarchical_attribute.type, {key_to_request_column}, {key_type}, key_not_in_storage_default_value_column); - const auto * parent_key_column_typed = checkAndGetColumn>(*parent_key_column); + const PaddedPODArray * in_key_column_nullable_mask = nullptr; + + ColumnPtr parent_key_column_non_null = hierarchical_attribute_parent_key_column; + if (hierarchical_attribute_parent_key_column->isNullable()) + { + const auto * parent_key_column_typed = assert_cast(hierarchical_attribute_parent_key_column.get()); + in_key_column_nullable_mask = &parent_key_column_typed->getNullMapData(); + parent_key_column_non_null = parent_key_column_typed->getNestedColumnPtr(); + } + + const auto * parent_key_column_typed = checkAndGetColumn>(*parent_key_column_non_null); if (!parent_key_column_typed) throw Exception(ErrorCodes::UNSUPPORTED_METHOD, "Parent key column should be UInt64. Actual {}", @@ -74,17 +104,24 @@ namespace const auto & parent_keys = parent_key_column_typed->getData(); next_keys_to_request.clear(); - for (size_t i = 0; i < keys_to_request.size(); ++i) + size_t keys_to_request_size = keys_to_request.size(); + for (size_t i = 0; i < keys_to_request_size; ++i) { - auto key = keys_to_request[i]; + auto child_key = keys_to_request[i]; auto parent_key = parent_keys[i]; + if (unlikely(in_key_column_nullable_mask) && (*in_key_column_nullable_mask)[i]) + { + child_key_parent_key_is_null->insert(child_key); + continue; + } + if (parent_key == key_not_in_storage_value) continue; - child_to_parent_key[key] = parent_key; + child_key_to_parent_key[child_key] = parent_key; - if (parent_key == null_value || + if ((null_value && parent_key == *null_value) || already_requested_keys.find(parent_key) != nullptr) continue; @@ -96,7 +133,7 @@ namespace keys_to_request.assign(next_keys_to_request); } - return child_to_parent_key; + return context; } } @@ -138,22 +175,41 @@ ColumnPtr getKeysHierarchyDefaultImplementation( const auto & hierarchical_attribute = dictionary_structure.attributes[hierarchical_attribute_index]; const PaddedPODArray & requested_keys = key_column_typed->getData(); - HashMap key_to_parent_key = getChildToParentHierarchyMapImpl(dictionary, hierarchical_attribute, requested_keys, key_type); + ChildToParentHierarchicalContext child_to_parent_hierarchical_context + = getChildToParentHierarchicalContext(dictionary, hierarchical_attribute, requested_keys, key_type); - auto is_key_valid_func = [&](auto & key) { return key_to_parent_key.find(key) != nullptr; }; + auto is_key_valid_func = [&](auto & key) + { + if (unlikely(child_to_parent_hierarchical_context.child_key_parent_key_is_null) + && child_to_parent_hierarchical_context.child_key_parent_key_is_null->find(key)) + return true; + + return child_to_parent_hierarchical_context.child_key_to_parent_key.find(key) != nullptr; + }; + + std::optional null_value; + + if (!hierarchical_attribute.null_value.isNull()) + null_value = hierarchical_attribute.null_value.get(); auto get_parent_key_func = [&](auto & key) { - auto it = key_to_parent_key.find(key); - std::optional result = (it != nullptr ? std::make_optional(it->getMapped()) : std::nullopt); - valid_keys += result.has_value(); + std::optional result; + + auto it = child_to_parent_hierarchical_context.child_key_to_parent_key.find(key); + if (it == nullptr) + return result; + + UInt64 parent_key = it->getMapped(); + if (null_value && parent_key == *null_value) + return result; + + result = parent_key; + valid_keys += 1; return result; }; - UInt64 null_value = hierarchical_attribute.null_value.get(); - - auto dictionary_hierarchy_array = getKeysHierarchyArray(requested_keys, null_value, is_key_valid_func, get_parent_key_func); - return dictionary_hierarchy_array; + return getKeysHierarchyArray(requested_keys, is_key_valid_func, get_parent_key_func); } ColumnUInt8::Ptr getKeysIsInHierarchyDefaultImplementation( @@ -181,23 +237,42 @@ ColumnUInt8::Ptr getKeysIsInHierarchyDefaultImplementation( const auto & hierarchical_attribute = dictionary_structure.attributes[hierarchical_attribute_index]; const PaddedPODArray & requested_keys = key_column_typed->getData(); - HashMap key_to_parent_key = getChildToParentHierarchyMapImpl(dictionary, hierarchical_attribute, requested_keys, key_type); + ChildToParentHierarchicalContext child_to_parent_hierarchical_context + = getChildToParentHierarchicalContext(dictionary, hierarchical_attribute, requested_keys, key_type); - auto is_key_valid_func = [&](auto & key) { return key_to_parent_key.find(key) != nullptr; }; + auto is_key_valid_func = [&](auto & key) + { + if (unlikely(child_to_parent_hierarchical_context.child_key_parent_key_is_null) + && child_to_parent_hierarchical_context.child_key_parent_key_is_null->find(key)) + return true; + + return child_to_parent_hierarchical_context.child_key_to_parent_key.find(key) != nullptr; + }; + + std::optional null_value; + + if (!hierarchical_attribute.null_value.isNull()) + null_value = hierarchical_attribute.null_value.get(); auto get_parent_key_func = [&](auto & key) { - auto it = key_to_parent_key.find(key); - std::optional result = (it != nullptr ? std::make_optional(it->getMapped()) : std::nullopt); - valid_keys += result.has_value(); + std::optional result; + + auto it = child_to_parent_hierarchical_context.child_key_to_parent_key.find(key); + if (it == nullptr) + return result; + + UInt64 parent_key = it->getMapped(); + if (null_value && parent_key == *null_value) + return result; + + result = parent_key; + valid_keys += 1; return result; }; - UInt64 null_value = hierarchical_attribute.null_value.get(); const auto & in_keys = in_key_column_typed->getData(); - - auto result = getKeysIsInHierarchyColumn(requested_keys, in_keys, null_value, is_key_valid_func, get_parent_key_func); - return result; + return getKeysIsInHierarchyColumn(requested_keys, in_keys, is_key_valid_func, get_parent_key_func); } } diff --git a/src/Dictionaries/HierarchyDictionariesUtils.h b/src/Dictionaries/HierarchyDictionariesUtils.h index 6a59a37b5e7..621290f40f9 100644 --- a/src/Dictionaries/HierarchyDictionariesUtils.h +++ b/src/Dictionaries/HierarchyDictionariesUtils.h @@ -33,7 +33,7 @@ public: keys.reserve(parent_to_children_map_size); parent_to_children_keys_range.reserve(parent_to_children_map_size); - for (auto & [parent, children] : parent_to_children_map_) + for (const auto & [parent, children] : parent_to_children_map_) { size_t keys_size = keys.size(); UInt32 start_index = static_cast(keys_size); @@ -97,7 +97,6 @@ namespace detail template ElementsAndOffsets getHierarchy( const PaddedPODArray & keys, - const UInt64 & hierarchy_null_value, IsKeyValidFunc && is_key_valid_func, GetParentKeyFunc && get_parent_key_func) { @@ -156,7 +155,7 @@ namespace detail break; } - if (hierarchy_key == hierarchy_null_value || current_hierarchy_depth >= DBMS_HIERARCHICAL_DICTIONARY_MAX_DEPTH) + if (current_hierarchy_depth >= DBMS_HIERARCHICAL_DICTIONARY_MAX_DEPTH) break; already_processes_keys_to_offset[hierarchy_key] = {offsets.size(), current_hierarchy_depth}; @@ -190,7 +189,6 @@ namespace detail PaddedPODArray getIsInHierarchy( const PaddedPODArray & keys, const PaddedPODArray & in_keys, - const UInt64 & hierarchy_null_value, IsKeyValidFunc && is_key_valid_func, GetParentKeyFunc && get_parent_func) { @@ -201,7 +199,6 @@ namespace detail detail::ElementsAndOffsets hierarchy = detail::getHierarchy( keys, - hierarchy_null_value, std::forward(is_key_valid_func), std::forward(get_parent_func)); @@ -213,7 +210,7 @@ namespace detail size_t i_elements_start = i > 0 ? offsets[i - 1] : 0; size_t i_elements_end = offsets[i]; - auto & key_to_find = in_keys[i]; + const auto & key_to_find = in_keys[i]; const auto * begin = elements.begin() + i_elements_start; const auto * end = elements.begin() + i_elements_end; @@ -263,8 +260,8 @@ namespace detail Strategy strategy, size_t & valid_keys) { - auto & parent_to_children_keys_range = parent_to_child_index.parent_to_children_keys_range; - auto & children_keys = parent_to_child_index.keys; + const auto & parent_to_children_keys_range = parent_to_child_index.parent_to_children_keys_range; + const auto & children_keys = parent_to_child_index.keys; /// If strategy is GetAllDescendantsStrategy we try to cache and later reuse previously calculated descendants. /// If strategy is GetDescendantsAtSpecificLevelStrategy we does not use cache strategy. @@ -436,13 +433,11 @@ namespace detail template ColumnPtr getKeysHierarchyArray( const PaddedPODArray & keys, - const KeyType & hierarchy_null_value, IsKeyValidFunc && is_key_valid_func, GetParentKeyFunc && get_parent_func) { auto elements_and_offsets = detail::getHierarchy( keys, - hierarchy_null_value, std::forward(is_key_valid_func), std::forward(get_parent_func)); @@ -454,14 +449,12 @@ template ColumnUInt8::Ptr getKeysIsInHierarchyColumn( const PaddedPODArray & hierarchy_keys, const PaddedPODArray & hierarchy_in_keys, - const KeyType & hierarchy_null_value, IsKeyValidFunc && is_key_valid_func, GetParentKeyFunc && get_parent_func) { auto is_in_hierarchy_data = detail::getIsInHierarchy( hierarchy_keys, hierarchy_in_keys, - hierarchy_null_value, std::forward(is_key_valid_func), std::forward(get_parent_func)); diff --git a/src/Dictionaries/IDictionary.h b/src/Dictionaries/IDictionary.h index 32c81beee6f..3f3c60206d6 100644 --- a/src/Dictionaries/IDictionary.h +++ b/src/Dictionaries/IDictionary.h @@ -62,26 +62,26 @@ public: std::string getFullName() const { - std::lock_guard lock{name_mutex}; - return dictionary_id.getInternalDictionaryName(); + std::lock_guard lock{mutex}; + return dictionary_id.getNameForLogs(); } StorageID getDictionaryID() const { - std::lock_guard lock{name_mutex}; + std::lock_guard lock{mutex}; return dictionary_id; } void updateDictionaryName(const StorageID & new_name) const { - std::lock_guard lock{name_mutex}; + std::lock_guard lock{mutex}; assert(new_name.uuid == dictionary_id.uuid && dictionary_id.uuid != UUIDHelpers::Nil); dictionary_id = new_name; } - std::string getLoadableName() const override final + std::string getLoadableName() const final { - std::lock_guard lock{name_mutex}; + std::lock_guard lock{mutex}; return dictionary_id.getInternalDictionaryName(); } @@ -92,6 +92,8 @@ public: std::string getDatabaseOrNoDatabaseTag() const { + std::lock_guard lock{mutex}; + if (!dictionary_id.database_name.empty()) return dictionary_id.database_name; @@ -278,22 +280,20 @@ public: void setDictionaryComment(String new_comment) { - std::lock_guard lock{name_mutex}; + std::lock_guard lock{mutex}; dictionary_comment = std::move(new_comment); } String getDictionaryComment() const { - std::lock_guard lock{name_mutex}; + std::lock_guard lock{mutex}; return dictionary_comment; } private: - mutable std::mutex name_mutex; - mutable StorageID dictionary_id; - -protected: - String dictionary_comment; + mutable std::mutex mutex; + mutable StorageID dictionary_id TSA_GUARDED_BY(mutex); + String dictionary_comment TSA_GUARDED_BY(mutex); }; } diff --git a/src/Dictionaries/IDictionarySource.h b/src/Dictionaries/IDictionarySource.h index 128595b815f..0fd528aafd4 100644 --- a/src/Dictionaries/IDictionarySource.h +++ b/src/Dictionaries/IDictionarySource.h @@ -1,7 +1,7 @@ #pragma once #include -#include +#include #include #include @@ -21,10 +21,10 @@ class IDictionarySource public: /// Returns a pipe with all the data available from this source. - virtual Pipe loadAll() = 0; + virtual QueryPipeline loadAll() = 0; /// Returns a pipe with updated data available from this source. - virtual Pipe loadUpdatedAll() = 0; + virtual QueryPipeline loadUpdatedAll() = 0; /** * result_size_hint - approx number of rows in the stream. @@ -59,7 +59,7 @@ public: * * ... */ - virtual Pipe loadAllWithSizeHint(std::atomic * /* result_size_hint */) + virtual QueryPipeline loadAllWithSizeHint(std::atomic * /* result_size_hint */) { return loadAll(); } @@ -72,13 +72,13 @@ public: /** Returns an input stream with the data for a collection of identifiers. * It must be guaranteed, that 'ids' array will live at least until all data will be read from returned stream. */ - virtual Pipe loadIds(const std::vector & ids) = 0; + virtual QueryPipeline loadIds(const std::vector & ids) = 0; /** Returns an input stream with the data for a collection of composite keys. * `requested_rows` contains indices of all rows containing unique keys. * It must be guaranteed, that 'requested_rows' array will live at least until all data will be read from returned stream. */ - virtual Pipe loadKeys(const Columns & key_columns, const std::vector & requested_rows) = 0; + virtual QueryPipeline loadKeys(const Columns & key_columns, const std::vector & requested_rows) = 0; /// indicates whether the source has been modified since last load* operation virtual bool isModified() const = 0; diff --git a/src/Dictionaries/LibraryDictionarySource.cpp b/src/Dictionaries/LibraryDictionarySource.cpp index 20f4c4b0a01..936bbd72299 100644 --- a/src/Dictionaries/LibraryDictionarySource.cpp +++ b/src/Dictionaries/LibraryDictionarySource.cpp @@ -105,21 +105,21 @@ bool LibraryDictionarySource::supportsSelectiveLoad() const } -Pipe LibraryDictionarySource::loadAll() +QueryPipeline LibraryDictionarySource::loadAll() { LOG_TRACE(log, "loadAll {}", toString()); return bridge_helper->loadAll(); } -Pipe LibraryDictionarySource::loadIds(const std::vector & ids) +QueryPipeline LibraryDictionarySource::loadIds(const std::vector & ids) { LOG_TRACE(log, "loadIds {} size = {}", toString(), ids.size()); return bridge_helper->loadIds(ids); } -Pipe LibraryDictionarySource::loadKeys(const Columns & key_columns, const std::vector & requested_rows) +QueryPipeline LibraryDictionarySource::loadKeys(const Columns & key_columns, const std::vector & requested_rows) { LOG_TRACE(log, "loadKeys {} size = {}", toString(), requested_rows.size()); auto block = blockForKeys(dict_struct, key_columns, requested_rows); diff --git a/src/Dictionaries/LibraryDictionarySource.h b/src/Dictionaries/LibraryDictionarySource.h index 32a4c942959..09f95b17dab 100644 --- a/src/Dictionaries/LibraryDictionarySource.h +++ b/src/Dictionaries/LibraryDictionarySource.h @@ -46,16 +46,16 @@ public: ~LibraryDictionarySource() override; - Pipe loadAll() override; + QueryPipeline loadAll() override; - Pipe loadUpdatedAll() override + QueryPipeline loadUpdatedAll() override { throw Exception(ErrorCodes::NOT_IMPLEMENTED, "Method loadUpdatedAll is unsupported for LibraryDictionarySource"); } - Pipe loadIds(const std::vector & ids) override; + QueryPipeline loadIds(const std::vector & ids) override; - Pipe loadKeys(const Columns & key_columns, const std::vector & requested_rows) override; + QueryPipeline loadKeys(const Columns & key_columns, const std::vector & requested_rows) override; bool isModified() const override; diff --git a/src/Dictionaries/MongoDBDictionarySource.cpp b/src/Dictionaries/MongoDBDictionarySource.cpp index 57f2c8f60c3..6a1bfceaec7 100644 --- a/src/Dictionaries/MongoDBDictionarySource.cpp +++ b/src/Dictionaries/MongoDBDictionarySource.cpp @@ -163,12 +163,12 @@ MongoDBDictionarySource::MongoDBDictionarySource(const MongoDBDictionarySource & MongoDBDictionarySource::~MongoDBDictionarySource() = default; -Pipe MongoDBDictionarySource::loadAll() +QueryPipeline MongoDBDictionarySource::loadAll() { - return Pipe(std::make_shared(connection, createCursor(db, collection, sample_block), sample_block, max_block_size)); + return QueryPipeline(std::make_shared(connection, createCursor(db, collection, sample_block), sample_block, max_block_size)); } -Pipe MongoDBDictionarySource::loadIds(const std::vector & ids) +QueryPipeline MongoDBDictionarySource::loadIds(const std::vector & ids) { if (!dict_struct.id) throw Exception(ErrorCodes::UNSUPPORTED_METHOD, "'id' is required for selective loading"); @@ -185,11 +185,11 @@ Pipe MongoDBDictionarySource::loadIds(const std::vector & ids) cursor->query().selector().addNewDocument(dict_struct.id->name).add("$in", ids_array); - return Pipe(std::make_shared(connection, std::move(cursor), sample_block, max_block_size)); + return QueryPipeline(std::make_shared(connection, std::move(cursor), sample_block, max_block_size)); } -Pipe MongoDBDictionarySource::loadKeys(const Columns & key_columns, const std::vector & requested_rows) +QueryPipeline MongoDBDictionarySource::loadKeys(const Columns & key_columns, const std::vector & requested_rows) { if (!dict_struct.key) throw Exception(ErrorCodes::UNSUPPORTED_METHOD, "'key' is required for selective loading"); @@ -251,7 +251,7 @@ Pipe MongoDBDictionarySource::loadKeys(const Columns & key_columns, const std::v /// If more than one key we should use $or cursor->query().selector().add("$or", keys_array); - return Pipe(std::make_shared(connection, std::move(cursor), sample_block, max_block_size)); + return QueryPipeline(std::make_shared(connection, std::move(cursor), sample_block, max_block_size)); } std::string MongoDBDictionarySource::toString() const diff --git a/src/Dictionaries/MongoDBDictionarySource.h b/src/Dictionaries/MongoDBDictionarySource.h index 85531f89902..0d4c5f6aa0b 100644 --- a/src/Dictionaries/MongoDBDictionarySource.h +++ b/src/Dictionaries/MongoDBDictionarySource.h @@ -46,18 +46,18 @@ public: ~MongoDBDictionarySource() override; - Pipe loadAll() override; + QueryPipeline loadAll() override; - Pipe loadUpdatedAll() override + QueryPipeline loadUpdatedAll() override { throw Exception(ErrorCodes::NOT_IMPLEMENTED, "Method loadUpdatedAll is unsupported for MongoDBDictionarySource"); } bool supportsSelectiveLoad() const override { return true; } - Pipe loadIds(const std::vector & ids) override; + QueryPipeline loadIds(const std::vector & ids) override; - Pipe loadKeys(const Columns & key_columns, const std::vector & requested_rows) override; + QueryPipeline loadKeys(const Columns & key_columns, const std::vector & requested_rows) override; /// @todo: for MongoDB, modification date can somehow be determined from the `_id` object field bool isModified() const override { return true; } diff --git a/src/Dictionaries/MySQLDictionarySource.cpp b/src/Dictionaries/MySQLDictionarySource.cpp index 57d61ce5724..a5807f58f8a 100644 --- a/src/Dictionaries/MySQLDictionarySource.cpp +++ b/src/Dictionaries/MySQLDictionarySource.cpp @@ -16,6 +16,13 @@ #include #include #include +#include +#include +#include +#include +#include +#include +#include "readInvalidateQuery.h" namespace DB @@ -118,15 +125,6 @@ void registerDictionarySourceMysql(DictionarySourceFactory & factory) #if USE_MYSQL -# include -# include -# include -# include -# include -# include -# include "readInvalidateQuery.h" -# include -# include namespace DB { @@ -182,13 +180,13 @@ std::string MySQLDictionarySource::getUpdateFieldAndDate() } } -Pipe MySQLDictionarySource::loadFromQuery(const String & query) +QueryPipeline MySQLDictionarySource::loadFromQuery(const String & query) { - return Pipe(std::make_shared( + return QueryPipeline(std::make_shared( pool, query, sample_block, settings)); } -Pipe MySQLDictionarySource::loadAll() +QueryPipeline MySQLDictionarySource::loadAll() { auto connection = pool->get(); last_modification = getLastModification(connection, false); @@ -197,7 +195,7 @@ Pipe MySQLDictionarySource::loadAll() return loadFromQuery(load_all_query); } -Pipe MySQLDictionarySource::loadUpdatedAll() +QueryPipeline MySQLDictionarySource::loadUpdatedAll() { auto connection = pool->get(); last_modification = getLastModification(connection, false); @@ -207,14 +205,14 @@ Pipe MySQLDictionarySource::loadUpdatedAll() return loadFromQuery(load_update_query); } -Pipe MySQLDictionarySource::loadIds(const std::vector & ids) +QueryPipeline MySQLDictionarySource::loadIds(const std::vector & ids) { /// We do not log in here and do not update the modification time, as the request can be large, and often called. const auto query = query_builder.composeLoadIdsQuery(ids); return loadFromQuery(query); } -Pipe MySQLDictionarySource::loadKeys(const Columns & key_columns, const std::vector & requested_rows) +QueryPipeline MySQLDictionarySource::loadKeys(const Columns & key_columns, const std::vector & requested_rows) { /// We do not log in here and do not update the modification time, as the request can be large, and often called. const auto query = query_builder.composeLoadKeysQuery(key_columns, requested_rows, ExternalQueryBuilder::AND_OR_CHAIN); diff --git a/src/Dictionaries/MySQLDictionarySource.h b/src/Dictionaries/MySQLDictionarySource.h index 90506ad1726..840345e3dc2 100644 --- a/src/Dictionaries/MySQLDictionarySource.h +++ b/src/Dictionaries/MySQLDictionarySource.h @@ -52,13 +52,13 @@ public: MySQLDictionarySource(const MySQLDictionarySource & other); MySQLDictionarySource & operator=(const MySQLDictionarySource &) = delete; - Pipe loadAll() override; + QueryPipeline loadAll() override; - Pipe loadUpdatedAll() override; + QueryPipeline loadUpdatedAll() override; - Pipe loadIds(const std::vector & ids) override; + QueryPipeline loadIds(const std::vector & ids) override; - Pipe loadKeys(const Columns & key_columns, const std::vector & requested_rows) override; + QueryPipeline loadKeys(const Columns & key_columns, const std::vector & requested_rows) override; bool isModified() const override; @@ -71,7 +71,7 @@ public: std::string toString() const override; private: - Pipe loadFromQuery(const String & query); + QueryPipeline loadFromQuery(const String & query); std::string getUpdateFieldAndDate(); diff --git a/src/Dictionaries/PostgreSQLDictionarySource.cpp b/src/Dictionaries/PostgreSQLDictionarySource.cpp index 511d6a7288e..eb1a4caf2fc 100644 --- a/src/Dictionaries/PostgreSQLDictionarySource.cpp +++ b/src/Dictionaries/PostgreSQLDictionarySource.cpp @@ -78,37 +78,37 @@ PostgreSQLDictionarySource::PostgreSQLDictionarySource(const PostgreSQLDictionar } -Pipe PostgreSQLDictionarySource::loadAll() +QueryPipeline PostgreSQLDictionarySource::loadAll() { LOG_TRACE(log, fmt::runtime(load_all_query)); return loadBase(load_all_query); } -Pipe PostgreSQLDictionarySource::loadUpdatedAll() +QueryPipeline PostgreSQLDictionarySource::loadUpdatedAll() { auto load_update_query = getUpdateFieldAndDate(); LOG_TRACE(log, fmt::runtime(load_update_query)); return loadBase(load_update_query); } -Pipe PostgreSQLDictionarySource::loadIds(const std::vector & ids) +QueryPipeline PostgreSQLDictionarySource::loadIds(const std::vector & ids) { const auto query = query_builder.composeLoadIdsQuery(ids); return loadBase(query); } -Pipe PostgreSQLDictionarySource::loadKeys(const Columns & key_columns, const std::vector & requested_rows) +QueryPipeline PostgreSQLDictionarySource::loadKeys(const Columns & key_columns, const std::vector & requested_rows) { const auto query = query_builder.composeLoadKeysQuery(key_columns, requested_rows, ExternalQueryBuilder::AND_OR_CHAIN); return loadBase(query); } -Pipe PostgreSQLDictionarySource::loadBase(const String & query) +QueryPipeline PostgreSQLDictionarySource::loadBase(const String & query) { - return Pipe(std::make_shared>(pool->get(), query, sample_block, max_block_size)); + return QueryPipeline(std::make_shared>(pool->get(), query, sample_block, max_block_size)); } diff --git a/src/Dictionaries/PostgreSQLDictionarySource.h b/src/Dictionaries/PostgreSQLDictionarySource.h index 7345366f3ac..b6a604bc7d3 100644 --- a/src/Dictionaries/PostgreSQLDictionarySource.h +++ b/src/Dictionaries/PostgreSQLDictionarySource.h @@ -41,10 +41,10 @@ public: PostgreSQLDictionarySource(const PostgreSQLDictionarySource & other); PostgreSQLDictionarySource & operator=(const PostgreSQLDictionarySource &) = delete; - Pipe loadAll() override; - Pipe loadUpdatedAll() override; - Pipe loadIds(const std::vector & ids) override; - Pipe loadKeys(const Columns & key_columns, const std::vector & requested_rows) override; + QueryPipeline loadAll() override; + QueryPipeline loadUpdatedAll() override; + QueryPipeline loadIds(const std::vector & ids) override; + QueryPipeline loadKeys(const Columns & key_columns, const std::vector & requested_rows) override; bool isModified() const override; bool supportsSelectiveLoad() const override; @@ -56,7 +56,7 @@ public: private: String getUpdateFieldAndDate(); String doInvalidateQuery(const std::string & request) const; - Pipe loadBase(const String & query); + QueryPipeline loadBase(const String & query); const DictionaryStructure dict_struct; const Configuration configuration; diff --git a/src/Dictionaries/RangeHashedDictionary.cpp b/src/Dictionaries/RangeHashedDictionary.cpp index 20230b1bd32..261e9166ec8 100644 --- a/src/Dictionaries/RangeHashedDictionary.cpp +++ b/src/Dictionaries/RangeHashedDictionary.cpp @@ -104,7 +104,7 @@ ColumnPtr RangeHashedDictionary::getColumn( /// Cast range column to storage type Columns modified_key_columns = key_columns; - auto range_storage_column = key_columns.back(); + const ColumnPtr & range_storage_column = key_columns.back(); ColumnWithTypeAndName column_to_cast = {range_storage_column->convertToFullColumnIfConst(), key_types.back(), ""}; modified_key_columns.back() = castColumnAccurate(column_to_cast, dict_struct.range_min->type); @@ -314,7 +314,7 @@ ColumnUInt8::Ptr RangeHashedDictionary::hasKeys(const Colum } /// Cast range column to storage type - auto range_storage_column = key_columns.back(); + const ColumnPtr & range_storage_column = key_columns.back(); ColumnWithTypeAndName column_to_cast = {range_storage_column->convertToFullColumnIfConst(), key_types.back(), ""}; auto range_column_updated = castColumnAccurate(column_to_cast, dict_struct.range_min->type); auto key_columns_copy = key_columns; @@ -513,7 +513,7 @@ void RangeHashedDictionary::getItemsImpl( size_t keys_found = 0; - auto range_column = key_columns.back(); + const ColumnPtr & range_column = key_columns.back(); auto key_columns_copy = key_columns; key_columns_copy.pop_back(); @@ -984,7 +984,7 @@ Pipe RangeHashedDictionary::read(const Names & column_names Columns result; result.reserve(attribute_names_size); - auto key_column = key_columns.back(); + const ColumnPtr & key_column = key_columns.back(); const auto * key_to_index_column = typeid_cast(key_column.get()); if (!key_to_index_column) diff --git a/src/Dictionaries/RedisDictionarySource.cpp b/src/Dictionaries/RedisDictionarySource.cpp index 85a11e9a33d..ab5c758848a 100644 --- a/src/Dictionaries/RedisDictionarySource.cpp +++ b/src/Dictionaries/RedisDictionarySource.cpp @@ -9,6 +9,7 @@ #include #include #include +#include #include @@ -126,7 +127,7 @@ namespace DB __builtin_unreachable(); } - Pipe RedisDictionarySource::loadAll() + QueryPipeline RedisDictionarySource::loadAll() { auto connection = getConnection(); @@ -136,7 +137,7 @@ namespace DB /// Get only keys for specified storage type. auto all_keys = connection->client->execute(command_for_keys); if (all_keys.isNull()) - return Pipe(std::make_shared( + return QueryPipeline(std::make_shared( std::move(connection), RedisArray{}, configuration.storage_type, sample_block, REDIS_MAX_BLOCK_SIZE)); @@ -177,12 +178,12 @@ namespace DB keys = hkeys; } - return Pipe(std::make_shared( + return QueryPipeline(std::make_shared( std::move(connection), std::move(keys), configuration.storage_type, sample_block, REDIS_MAX_BLOCK_SIZE)); } - Pipe RedisDictionarySource::loadIds(const std::vector & ids) + QueryPipeline RedisDictionarySource::loadIds(const std::vector & ids) { auto connection = getConnection(); @@ -197,12 +198,12 @@ namespace DB for (UInt64 id : ids) keys << DB::toString(id); - return Pipe(std::make_shared( + return QueryPipeline(std::make_shared( std::move(connection), std::move(keys), configuration.storage_type, sample_block, REDIS_MAX_BLOCK_SIZE)); } - Pipe RedisDictionarySource::loadKeys(const Columns & key_columns, const std::vector & requested_rows) + QueryPipeline RedisDictionarySource::loadKeys(const Columns & key_columns, const std::vector & requested_rows) { auto connection = getConnection(); @@ -227,7 +228,7 @@ namespace DB keys.add(key); } - return Pipe(std::make_shared( + return QueryPipeline(std::make_shared( std::move(connection), std::move(keys), configuration.storage_type, sample_block, REDIS_MAX_BLOCK_SIZE)); } diff --git a/src/Dictionaries/RedisDictionarySource.h b/src/Dictionaries/RedisDictionarySource.h index af12981f348..26f5ab2a613 100644 --- a/src/Dictionaries/RedisDictionarySource.h +++ b/src/Dictionaries/RedisDictionarySource.h @@ -8,11 +8,6 @@ namespace Poco { - namespace Util - { - class AbstractConfiguration; - } - namespace Redis { class Client; @@ -82,18 +77,18 @@ namespace DB ~RedisDictionarySource() override; - Pipe loadAll() override; + QueryPipeline loadAll() override; - Pipe loadUpdatedAll() override + QueryPipeline loadUpdatedAll() override { throw Exception(ErrorCodes::NOT_IMPLEMENTED, "Method loadUpdatedAll is unsupported for RedisDictionarySource"); } bool supportsSelectiveLoad() const override { return true; } - Pipe loadIds(const std::vector & ids) override; + QueryPipeline loadIds(const std::vector & ids) override; - Pipe loadKeys(const Columns & key_columns, const std::vector & requested_rows) override; + QueryPipeline loadKeys(const Columns & key_columns, const std::vector & requested_rows) override; bool isModified() const override { return true; } diff --git a/src/Dictionaries/RedisSource.cpp b/src/Dictionaries/RedisSource.cpp index 6089b836d98..4208d5fa63b 100644 --- a/src/Dictionaries/RedisSource.cpp +++ b/src/Dictionaries/RedisSource.cpp @@ -35,7 +35,7 @@ namespace DB const RedisStorageType & storage_type_, const DB::Block & sample_block, size_t max_block_size_) - : SourceWithProgress(sample_block) + : ISource(sample_block) , connection(std::move(connection_)) , keys(keys_) , storage_type(storage_type_) diff --git a/src/Dictionaries/RedisSource.h b/src/Dictionaries/RedisSource.h index 24507998f58..0f8cc317003 100644 --- a/src/Dictionaries/RedisSource.h +++ b/src/Dictionaries/RedisSource.h @@ -3,7 +3,7 @@ #include #include -#include +#include #include #include #include "RedisDictionarySource.h" @@ -19,7 +19,7 @@ namespace Poco namespace DB { - class RedisSource final : public SourceWithProgress + class RedisSource final : public ISource { public: using RedisArray = Poco::Redis::Array; diff --git a/src/Dictionaries/SSDCacheDictionaryStorage.h b/src/Dictionaries/SSDCacheDictionaryStorage.h index 9b1a4ed1e6d..d813cf1bcc8 100644 --- a/src/Dictionaries/SSDCacheDictionaryStorage.h +++ b/src/Dictionaries/SSDCacheDictionaryStorage.h @@ -1,6 +1,6 @@ #pragma once -#if defined(__linux__) || defined(__FreeBSD__) +#if defined(OS_LINUX) || defined(OS_FREEBSD) #include @@ -507,7 +507,7 @@ public: iocb write_request{}; iocb * write_request_ptr{&write_request}; - #if defined(__FreeBSD__) + #if defined(OS_FREEBSD) write_request.aio.aio_lio_opcode = LIO_WRITE; write_request.aio.aio_fildes = file.fd; write_request.aio.aio_buf = reinterpret_cast(const_cast(buffer)); @@ -576,7 +576,7 @@ public: iocb request{}; iocb * request_ptr = &request; - #if defined(__FreeBSD__) + #if defined(OS_FREEBSD) request.aio.aio_lio_opcode = LIO_READ; request.aio.aio_fildes = file.fd; request.aio.aio_buf = reinterpret_cast(reinterpret_cast(read_buffer_memory.data())); @@ -656,7 +656,7 @@ public: char * buffer_place = read_buffer.data() + block_size * (block_to_fetch_index % read_from_file_buffer_blocks_size); - #if defined(__FreeBSD__) + #if defined(OS_FREEBSD) request.aio.aio_lio_opcode = LIO_READ; request.aio.aio_fildes = file.fd; request.aio.aio_buf = reinterpret_cast(reinterpret_cast(buffer_place)); @@ -785,7 +785,7 @@ private: inline static int preallocateDiskSpace(int fd, size_t offset, size_t len) { - #if defined(__FreeBSD__) + #if defined(OS_FREEBSD) return posix_fallocate(fd, offset, len); #else return fallocate(fd, 0, offset, len); @@ -796,7 +796,7 @@ private: { char * result = nullptr; - #if defined(__FreeBSD__) + #if defined(OS_FREEBSD) result = reinterpret_cast(reinterpret_cast(request.aio.aio_buf)); #else result = reinterpret_cast(request.aio_buf); @@ -809,7 +809,7 @@ private: { ssize_t bytes_written; - #if defined(__FreeBSD__) + #if defined(OS_FREEBSD) bytes_written = aio_return(reinterpret_cast(event.udata)); #else bytes_written = event.res; diff --git a/src/Dictionaries/XDBCDictionarySource.cpp b/src/Dictionaries/XDBCDictionarySource.cpp index df005349ce1..5e9c2f7ac7a 100644 --- a/src/Dictionaries/XDBCDictionarySource.cpp +++ b/src/Dictionaries/XDBCDictionarySource.cpp @@ -1,7 +1,6 @@ #include "XDBCDictionarySource.h" #include -#include #include #include #include @@ -119,14 +118,14 @@ std::string XDBCDictionarySource::getUpdateFieldAndDate() } -Pipe XDBCDictionarySource::loadAll() +QueryPipeline XDBCDictionarySource::loadAll() { LOG_TRACE(log, fmt::runtime(load_all_query)); return loadFromQuery(bridge_url, sample_block, load_all_query); } -Pipe XDBCDictionarySource::loadUpdatedAll() +QueryPipeline XDBCDictionarySource::loadUpdatedAll() { std::string load_query_update = getUpdateFieldAndDate(); @@ -135,14 +134,14 @@ Pipe XDBCDictionarySource::loadUpdatedAll() } -Pipe XDBCDictionarySource::loadIds(const std::vector & ids) +QueryPipeline XDBCDictionarySource::loadIds(const std::vector & ids) { const auto query = query_builder.composeLoadIdsQuery(ids); return loadFromQuery(bridge_url, sample_block, query); } -Pipe XDBCDictionarySource::loadKeys(const Columns & key_columns, const std::vector & requested_rows) +QueryPipeline XDBCDictionarySource::loadKeys(const Columns & key_columns, const std::vector & requested_rows) { const auto query = query_builder.composeLoadKeysQuery(key_columns, requested_rows, ExternalQueryBuilder::AND_OR_CHAIN); return loadFromQuery(bridge_url, sample_block, query); @@ -204,7 +203,7 @@ std::string XDBCDictionarySource::doInvalidateQuery(const std::string & request) } -Pipe XDBCDictionarySource::loadFromQuery(const Poco::URI & url, const Block & required_sample_block, const std::string & query) const +QueryPipeline XDBCDictionarySource::loadFromQuery(const Poco::URI & url, const Block & required_sample_block, const std::string & query) const { bridge_helper->startBridgeSync(); @@ -220,7 +219,7 @@ Pipe XDBCDictionarySource::loadFromQuery(const Poco::URI & url, const Block & re auto format = getContext()->getInputFormat(IXDBCBridgeHelper::DEFAULT_FORMAT, *read_buf, required_sample_block, max_block_size); format->addBuffer(std::move(read_buf)); - return Pipe(std::move(format)); + return QueryPipeline(std::move(format)); } void registerDictionarySourceXDBC(DictionarySourceFactory & factory) diff --git a/src/Dictionaries/XDBCDictionarySource.h b/src/Dictionaries/XDBCDictionarySource.h index 1892d5aa079..8ca2e172aa6 100644 --- a/src/Dictionaries/XDBCDictionarySource.h +++ b/src/Dictionaries/XDBCDictionarySource.h @@ -50,13 +50,13 @@ public: XDBCDictionarySource(const XDBCDictionarySource & other); XDBCDictionarySource & operator=(const XDBCDictionarySource &) = delete; - Pipe loadAll() override; + QueryPipeline loadAll() override; - Pipe loadUpdatedAll() override; + QueryPipeline loadUpdatedAll() override; - Pipe loadIds(const std::vector & ids) override; + QueryPipeline loadIds(const std::vector & ids) override; - Pipe loadKeys(const Columns & key_columns, const std::vector & requested_rows) override; + QueryPipeline loadKeys(const Columns & key_columns, const std::vector & requested_rows) override; bool isModified() const override; @@ -74,7 +74,7 @@ private: // execute invalidate_query. expects single cell in result std::string doInvalidateQuery(const std::string & request) const; - Pipe loadFromQuery(const Poco::URI & url, const Block & required_sample_block, const std::string & query) const; + QueryPipeline loadFromQuery(const Poco::URI & url, const Block & required_sample_block, const std::string & query) const; Poco::Logger * log; diff --git a/src/Dictionaries/registerCacheDictionaries.cpp b/src/Dictionaries/registerCacheDictionaries.cpp index 88e01a31402..5233bd6b715 100644 --- a/src/Dictionaries/registerCacheDictionaries.cpp +++ b/src/Dictionaries/registerCacheDictionaries.cpp @@ -41,7 +41,7 @@ CacheDictionaryStorageConfiguration parseCacheStorageConfiguration( return storage_configuration; } -#if defined(OS_LINUX) || defined(__FreeBSD__) +#if defined(OS_LINUX) || defined(OS_FREEBSD) SSDCacheDictionaryStorageConfiguration parseSSDCacheStorageConfiguration( const Poco::Util::AbstractConfiguration & config, @@ -209,7 +209,7 @@ DictionaryPtr createCacheDictionaryLayout( auto storage_configuration = parseCacheStorageConfiguration(config, full_name, layout_type, dictionary_layout_prefix, dict_lifetime); storage = std::make_shared>(dict_struct, storage_configuration); } -#if defined(OS_LINUX) || defined(__FreeBSD__) +#if defined(OS_LINUX) || defined(OS_FREEBSD) else { auto storage_configuration = parseSSDCacheStorageConfiguration(config, full_name, layout_type, dictionary_layout_prefix, dict_lifetime); @@ -261,7 +261,7 @@ void registerDictionaryCache(DictionaryFactory & factory) factory.registerLayout("complex_key_cache", create_complex_key_cache_layout, true); -#if defined(OS_LINUX) || defined(__FreeBSD__) +#if defined(OS_LINUX) || defined(OS_FREEBSD) auto create_simple_ssd_cache_layout = [=](const std::string & full_name, const DictionaryStructure & dict_struct, diff --git a/src/Dictionaries/tests/gtest_dictionary_ssd_cache_dictionary_storage.cpp b/src/Dictionaries/tests/gtest_dictionary_ssd_cache_dictionary_storage.cpp index 9fd9dc9b78c..af21eaeac9d 100644 --- a/src/Dictionaries/tests/gtest_dictionary_ssd_cache_dictionary_storage.cpp +++ b/src/Dictionaries/tests/gtest_dictionary_ssd_cache_dictionary_storage.cpp @@ -1,4 +1,4 @@ -#if defined(__linux__) || defined(__FreeBSD__) +#if defined(OS_LINUX) || defined(OS_FREEBSD) #include diff --git a/src/Dictionaries/tests/gtest_hierarchy_dictionaries_utils.cpp b/src/Dictionaries/tests/gtest_hierarchy_dictionaries_utils.cpp index a68f23a978f..10d335ebbbc 100644 --- a/src/Dictionaries/tests/gtest_hierarchy_dictionaries_utils.cpp +++ b/src/Dictionaries/tests/gtest_hierarchy_dictionaries_utils.cpp @@ -17,19 +17,26 @@ TEST(HierarchyDictionariesUtils, getHierarchy) auto is_key_valid_func = [&](auto key) { return child_to_parent.find(key) != nullptr; }; + UInt64 hierarchy_null_value_key = 0; auto get_parent_key_func = [&](auto key) { + std::optional result; auto it = child_to_parent.find(key); - std::optional value = (it != nullptr ? std::make_optional(it->getMapped()) : std::nullopt); - return value; + if (it == nullptr) + return result; + + UInt64 parent_key = it->getMapped(); + if (parent_key == hierarchy_null_value_key) + return result; + + result = parent_key; + return result; }; - UInt64 hierarchy_null_value_key = 0; PaddedPODArray keys = {1, 2, 3, 4, 5}; auto result = DB::detail::getHierarchy( keys, - hierarchy_null_value_key, is_key_valid_func, get_parent_key_func); @@ -49,19 +56,26 @@ TEST(HierarchyDictionariesUtils, getHierarchy) auto is_key_valid_func = [&](auto key) { return child_to_parent.find(key) != nullptr; }; + UInt64 hierarchy_null_value_key = 0; auto get_parent_key_func = [&](auto key) { + std::optional result; auto it = child_to_parent.find(key); - std::optional value = (it != nullptr ? std::make_optional(it->getMapped()) : std::nullopt); - return value; + if (it == nullptr) + return result; + + UInt64 parent_key = it->getMapped(); + if (parent_key == hierarchy_null_value_key) + return result; + + result = parent_key; + return result; }; - UInt64 hierarchy_null_value_key = 0; PaddedPODArray keys = {1, 2, 3}; auto result = DB::detail::getHierarchy( keys, - hierarchy_null_value_key, is_key_valid_func, get_parent_key_func); @@ -87,21 +101,28 @@ TEST(HierarchyDictionariesUtils, getIsInHierarchy) auto is_key_valid_func = [&](auto key) { return child_to_parent.find(key) != nullptr; }; + UInt64 hierarchy_null_value_key = 0; auto get_parent_key_func = [&](auto key) { + std::optional result; auto it = child_to_parent.find(key); - std::optional value = (it != nullptr ? std::make_optional(it->getMapped()) : std::nullopt); - return value; + if (it == nullptr) + return result; + + UInt64 parent_key = it->getMapped(); + if (parent_key == hierarchy_null_value_key) + return result; + + result = parent_key; + return result; }; - UInt64 hierarchy_null_value_key = 0; PaddedPODArray keys = {1, 2, 3, 4, 5}; PaddedPODArray keys_in = {1, 1, 1, 2, 5}; PaddedPODArray actual = DB::detail::getIsInHierarchy( keys, keys_in, - hierarchy_null_value_key, is_key_valid_func, get_parent_key_func); @@ -119,21 +140,28 @@ TEST(HierarchyDictionariesUtils, getIsInHierarchy) return child_to_parent.find(key) != nullptr; }; + UInt64 hierarchy_null_value_key = 0; auto get_parent_key_func = [&](auto key) { + std::optional result; auto it = child_to_parent.find(key); - std::optional value = (it != nullptr ? std::make_optional(it->getMapped()) : std::nullopt); - return value; + if (it == nullptr) + return result; + + UInt64 parent_key = it->getMapped(); + if (parent_key == hierarchy_null_value_key) + return result; + + result = parent_key; + return result; }; - UInt64 hierarchy_null_value_key = 0; PaddedPODArray keys = {1, 2, 3}; PaddedPODArray keys_in = {1, 2, 3}; PaddedPODArray actual = DB::detail::getIsInHierarchy( keys, keys_in, - hierarchy_null_value_key, is_key_valid_func, get_parent_key_func); diff --git a/src/Disks/DirectoryIterator.h b/src/Disks/DirectoryIterator.h new file mode 100644 index 00000000000..6021effa77a --- /dev/null +++ b/src/Disks/DirectoryIterator.h @@ -0,0 +1,31 @@ +#pragma once + +#include +#include + +namespace DB +{ +/** + * Iterator of directory contents + */ +class IDirectoryIterator +{ +public: + /// Iterate to the next file. + virtual void next() = 0; + + /// Return `true` if the iterator points to a valid element. + virtual bool isValid() const = 0; + + /// Path to the file that the iterator currently points to. + virtual std::string path() const = 0; + + /// Name of the file that the iterator currently points to. + virtual std::string name() const = 0; + + virtual ~IDirectoryIterator() = default; +}; + +using DirectoryIteratorPtr = std::unique_ptr; + +} diff --git a/src/Disks/DiskCacheWrapper.cpp b/src/Disks/DiskCacheWrapper.cpp index 8e355f70432..45c98224966 100644 --- a/src/Disks/DiskCacheWrapper.cpp +++ b/src/Disks/DiskCacheWrapper.cpp @@ -90,7 +90,7 @@ DiskCacheWrapper::DiskCacheWrapper( std::shared_ptr DiskCacheWrapper::acquireDownloadMetadata(const String & path) const { - std::unique_lock lock{mutex}; + std::lock_guard lock{mutex}; auto it = file_downloads.find(path); if (it != file_downloads.end()) @@ -101,7 +101,7 @@ std::shared_ptr DiskCacheWrapper::acquireDownloadMetadata( new FileDownloadMetadata, [this, path] (FileDownloadMetadata * p) { - std::unique_lock erase_lock{mutex}; + std::lock_guard erase_lock{mutex}; file_downloads.erase(path); delete p; }); diff --git a/src/Disks/DiskDecorator.cpp b/src/Disks/DiskDecorator.cpp index 02babfbb59f..44248cae841 100644 --- a/src/Disks/DiskDecorator.cpp +++ b/src/Disks/DiskDecorator.cpp @@ -8,6 +8,11 @@ DiskDecorator::DiskDecorator(const DiskPtr & delegate_) : delegate(delegate_) { } +DiskTransactionPtr DiskDecorator::createTransaction() +{ + return delegate->createTransaction(); +} + const String & DiskDecorator::getName() const { return delegate->getName(); @@ -83,7 +88,7 @@ void DiskDecorator::moveDirectory(const String & from_path, const String & to_pa delegate->moveDirectory(from_path, to_path); } -DiskDirectoryIteratorPtr DiskDecorator::iterateDirectory(const String & path) +DirectoryIteratorPtr DiskDecorator::iterateDirectory(const String & path) const { return delegate->iterateDirectory(path); } @@ -113,7 +118,7 @@ void DiskDecorator::copyDirectoryContent(const String & from_dir, const std::sha delegate->copyDirectoryContent(from_dir, to_disk, to_dir); } -void DiskDecorator::listFiles(const String & path, std::vector & file_names) +void DiskDecorator::listFiles(const String & path, std::vector & file_names) const { delegate->listFiles(path, file_names); } @@ -171,11 +176,16 @@ void DiskDecorator::setLastModified(const String & path, const Poco::Timestamp & delegate->setLastModified(path, timestamp); } -Poco::Timestamp DiskDecorator::getLastModified(const String & path) +Poco::Timestamp DiskDecorator::getLastModified(const String & path) const { return delegate->getLastModified(path); } +time_t DiskDecorator::getLastChanged(const String & path) const +{ + return delegate->getLastChanged(path); +} + void DiskDecorator::setReadOnly(const String & path) { delegate->setReadOnly(path); diff --git a/src/Disks/DiskDecorator.h b/src/Disks/DiskDecorator.h index 883e58f9c8c..dfb1f654dfd 100644 --- a/src/Disks/DiskDecorator.h +++ b/src/Disks/DiskDecorator.h @@ -12,6 +12,8 @@ class DiskDecorator : public IDisk { public: explicit DiskDecorator(const DiskPtr & delegate_); + + DiskTransactionPtr createTransaction() override; const String & getName() const override; ReservationPtr reserve(UInt64 bytes) override; ~DiskDecorator() override = default; @@ -28,13 +30,13 @@ public: void createDirectories(const String & path) override; void clearDirectory(const String & path) override; void moveDirectory(const String & from_path, const String & to_path) override; - DiskDirectoryIteratorPtr iterateDirectory(const String & path) override; + DirectoryIteratorPtr iterateDirectory(const String & path) const override; void createFile(const String & path) override; void moveFile(const String & from_path, const String & to_path) override; void replaceFile(const String & from_path, const String & to_path) override; void copy(const String & from_path, const std::shared_ptr & to_disk, const String & to_path) override; void copyDirectoryContent(const String & from_dir, const std::shared_ptr & to_disk, const String & to_dir) override; - void listFiles(const String & path, std::vector & file_names) override; + void listFiles(const String & path, std::vector & file_names) const override; std::unique_ptr readFile( const String & path, @@ -56,7 +58,8 @@ public: void removeSharedRecursive(const String & path, bool keep_all_batch_data, const NameSet & file_names_remove_metadata_only) override; void removeSharedFiles(const RemoveBatchRequest & files, bool keep_all_batch_data, const NameSet & file_names_remove_metadata_only) override; void setLastModified(const String & path, const Poco::Timestamp & timestamp) override; - Poco::Timestamp getLastModified(const String & path) override; + time_t getLastChanged(const String & path) const override; + Poco::Timestamp getLastModified(const String & path) const override; void setReadOnly(const String & path) override; void createHardLink(const String & src_path, const String & dst_path) override; void truncateFile(const String & path, size_t size) override; @@ -74,10 +77,10 @@ public: void startup(ContextPtr context) override; void applyNewSettings(const Poco::Util::AbstractConfiguration & config, ContextPtr context, const String & config_prefix, const DisksMap & map) override; String getCacheBasePath() const override { return delegate->getCacheBasePath(); } - std::vector getRemotePaths(const String & path) const override { return delegate->getRemotePaths(path); } + PathsWithSize getObjectStoragePaths(const String & path) const override { return delegate->getObjectStoragePaths(path); } void getRemotePathsRecursive(const String & path, std::vector & paths_map) override { return delegate->getRemotePathsRecursive(path, paths_map); } - DiskPtr getMetadataDiskIfExistsOrSelf() override { return delegate->getMetadataDiskIfExistsOrSelf(); } + MetadataStoragePtr getMetadataStorage() override { return delegate->getMetadataStorage(); } std::unordered_map getSerializedMetadata(const std::vector & file_paths) const override { return delegate->getSerializedMetadata(file_paths); } diff --git a/src/Disks/DiskEncrypted.h b/src/Disks/DiskEncrypted.h index 14793818f07..1a714395f82 100644 --- a/src/Disks/DiskEncrypted.h +++ b/src/Disks/DiskEncrypted.h @@ -6,6 +6,7 @@ #include #include #include +#include namespace DB @@ -83,7 +84,7 @@ public: delegate->moveDirectory(wrapped_from_path, wrapped_to_path); } - DiskDirectoryIteratorPtr iterateDirectory(const String & path) override + DirectoryIteratorPtr iterateDirectory(const String & path) const override { auto wrapped_path = wrappedPath(path); return delegate->iterateDirectory(wrapped_path); @@ -109,7 +110,7 @@ public: delegate->replaceFile(wrapped_from_path, wrapped_to_path); } - void listFiles(const String & path, std::vector & file_names) override + void listFiles(const String & path, std::vector & file_names) const override { auto wrapped_path = wrappedPath(path); delegate->listFiles(wrapped_path, file_names); @@ -192,12 +193,18 @@ public: delegate->setLastModified(wrapped_path, timestamp); } - Poco::Timestamp getLastModified(const String & path) override + Poco::Timestamp getLastModified(const String & path) const override { auto wrapped_path = wrappedPath(path); return delegate->getLastModified(wrapped_path); } + time_t getLastChanged(const String & path) const override + { + auto wrapped_path = wrappedPath(path); + return delegate->getLastChanged(wrapped_path); + } + void setReadOnly(const String & path) override { auto wrapped_path = wrappedPath(path); @@ -232,6 +239,13 @@ public: SyncGuardPtr getDirectorySyncGuard(const String & path) const override; + DiskTransactionPtr createTransaction() override + { + /// Need to overwrite explicetly because this disk change + /// a lot of "delegate" methods. + return std::make_shared(*this); + } + private: String wrappedPath(const String & path) const { diff --git a/src/Disks/DiskLocal.cpp b/src/Disks/DiskLocal.cpp index 85de683b431..31deac88a19 100644 --- a/src/Disks/DiskLocal.cpp +++ b/src/Disks/DiskLocal.cpp @@ -173,7 +173,7 @@ private: }; -class DiskLocalDirectoryIterator final : public IDiskDirectoryIterator +class DiskLocalDirectoryIterator final : public IDirectoryIterator { public: DiskLocalDirectoryIterator() = default; @@ -325,7 +325,7 @@ void DiskLocal::moveDirectory(const String & from_path, const String & to_path) fs::rename(fs::path(disk_path) / from_path, fs::path(disk_path) / to_path); } -DiskDirectoryIteratorPtr DiskLocal::iterateDirectory(const String & path) +DirectoryIteratorPtr DiskLocal::iterateDirectory(const String & path) const { fs::path meta_path = fs::path(disk_path) / path; if (!broken && fs::exists(meta_path) && fs::is_directory(meta_path)) @@ -387,7 +387,7 @@ void DiskLocal::removeRecursive(const String & path) fs::remove_all(fs::path(disk_path) / path); } -void DiskLocal::listFiles(const String & path, std::vector & file_names) +void DiskLocal::listFiles(const String & path, std::vector & file_names) const { file_names.clear(); for (const auto & entry : fs::directory_iterator(fs::path(disk_path) / path)) @@ -399,11 +399,16 @@ void DiskLocal::setLastModified(const String & path, const Poco::Timestamp & tim FS::setModificationTime(fs::path(disk_path) / path, timestamp.epochTime()); } -Poco::Timestamp DiskLocal::getLastModified(const String & path) +Poco::Timestamp DiskLocal::getLastModified(const String & path) const { return FS::getModificationTimestamp(fs::path(disk_path) / path); } +time_t DiskLocal::getLastChanged(const String & path) const +{ + return FS::getChangeTime(fs::path(disk_path) / path); +} + void DiskLocal::createHardLink(const String & src_path, const String & dst_path) { DB::createHardLink(fs::path(disk_path) / src_path, fs::path(disk_path) / dst_path); diff --git a/src/Disks/DiskLocal.h b/src/Disks/DiskLocal.h index cb3356ab7f2..0db9d8d467c 100644 --- a/src/Disks/DiskLocal.h +++ b/src/Disks/DiskLocal.h @@ -58,7 +58,7 @@ public: void moveDirectory(const String & from_path, const String & to_path) override; - DiskDirectoryIteratorPtr iterateDirectory(const String & path) override; + DirectoryIteratorPtr iterateDirectory(const String & path) const override; void createFile(const String & path) override; @@ -70,7 +70,7 @@ public: void copyDirectoryContent(const String & from_dir, const std::shared_ptr & to_disk, const String & to_dir) override; - void listFiles(const String & path, std::vector & file_names) override; + void listFiles(const String & path, std::vector & file_names) const override; std::unique_ptr readFile( const String & path, @@ -91,7 +91,9 @@ public: void setLastModified(const String & path, const Poco::Timestamp & timestamp) override; - Poco::Timestamp getLastModified(const String & path) override; + Poco::Timestamp getLastModified(const String & path) const override; + + time_t getLastChanged(const String & path) const override; void setReadOnly(const String & path) override; diff --git a/src/Disks/DiskMemory.cpp b/src/Disks/DiskMemory.cpp index 4f0e881e079..9b857d617c9 100644 --- a/src/Disks/DiskMemory.cpp +++ b/src/Disks/DiskMemory.cpp @@ -20,7 +20,7 @@ namespace ErrorCodes } -class DiskMemoryDirectoryIterator final : public IDiskDirectoryIterator +class DiskMemoryDirectoryIterator final : public IDirectoryIterator { public: explicit DiskMemoryDirectoryIterator(std::vector && dir_file_paths_) @@ -262,7 +262,7 @@ void DiskMemory::moveDirectory(const String & /*from_path*/, const String & /*to throw Exception("Method moveDirectory is not implemented for memory disks", ErrorCodes::NOT_IMPLEMENTED); } -DiskDirectoryIteratorPtr DiskMemory::iterateDirectory(const String & path) +DirectoryIteratorPtr DiskMemory::iterateDirectory(const String & path) const { std::lock_guard lock(mutex); @@ -409,7 +409,7 @@ void DiskMemory::removeRecursive(const String & path) } } -void DiskMemory::listFiles(const String & path, std::vector & file_names) +void DiskMemory::listFiles(const String & path, std::vector & file_names) const { std::lock_guard lock(mutex); diff --git a/src/Disks/DiskMemory.h b/src/Disks/DiskMemory.h index 726be8bc3b5..0a1b16a4fea 100644 --- a/src/Disks/DiskMemory.h +++ b/src/Disks/DiskMemory.h @@ -52,7 +52,7 @@ public: void moveDirectory(const String & from_path, const String & to_path) override; - DiskDirectoryIteratorPtr iterateDirectory(const String & path) override; + DirectoryIteratorPtr iterateDirectory(const String & path) const override; void createFile(const String & path) override; @@ -60,7 +60,7 @@ public: void replaceFile(const String & from_path, const String & to_path) override; - void listFiles(const String & path, std::vector & file_names) override; + void listFiles(const String & path, std::vector & file_names) const override; std::unique_ptr readFile( const String & path, @@ -81,7 +81,9 @@ public: void setLastModified(const String &, const Poco::Timestamp &) override {} - Poco::Timestamp getLastModified(const String &) override { return Poco::Timestamp(); } + Poco::Timestamp getLastModified(const String &) const override { return Poco::Timestamp(); } + + time_t getLastChanged(const String &) const override { return {}; } void setReadOnly(const String & path) override; diff --git a/src/Disks/DiskRestartProxy.cpp b/src/Disks/DiskRestartProxy.cpp index bf97c2cfe49..99dfc8e96a0 100644 --- a/src/Disks/DiskRestartProxy.cpp +++ b/src/Disks/DiskRestartProxy.cpp @@ -171,7 +171,7 @@ void DiskRestartProxy::moveDirectory(const String & from_path, const String & to DiskDecorator::moveDirectory(from_path, to_path); } -DiskDirectoryIteratorPtr DiskRestartProxy::iterateDirectory(const String & path) +DirectoryIteratorPtr DiskRestartProxy::iterateDirectory(const String & path) const { ReadLock lock (mutex); return DiskDecorator::iterateDirectory(path); @@ -207,7 +207,7 @@ void DiskRestartProxy::copyDirectoryContent(const String & from_dir, const std:: DiskDecorator::copyDirectoryContent(from_dir, to_disk, to_dir); } -void DiskRestartProxy::listFiles(const String & path, std::vector & file_names) +void DiskRestartProxy::listFiles(const String & path, std::vector & file_names) const { ReadLock lock (mutex); DiskDecorator::listFiles(path, file_names); @@ -276,7 +276,7 @@ void DiskRestartProxy::setLastModified(const String & path, const Poco::Timestam DiskDecorator::setLastModified(path, timestamp); } -Poco::Timestamp DiskRestartProxy::getLastModified(const String & path) +Poco::Timestamp DiskRestartProxy::getLastModified(const String & path) const { ReadLock lock (mutex); return DiskDecorator::getLastModified(path); @@ -318,10 +318,10 @@ String DiskRestartProxy::getCacheBasePath() const return DiskDecorator::getCacheBasePath(); } -std::vector DiskRestartProxy::getRemotePaths(const String & path) const +PathsWithSize DiskRestartProxy::getObjectStoragePaths(const String & path) const { ReadLock lock (mutex); - return DiskDecorator::getRemotePaths(path); + return DiskDecorator::getObjectStoragePaths(path); } void DiskRestartProxy::getRemotePathsRecursive(const String & path, std::vector & paths_map) diff --git a/src/Disks/DiskRestartProxy.h b/src/Disks/DiskRestartProxy.h index 084e06e3f18..e483936c817 100644 --- a/src/Disks/DiskRestartProxy.h +++ b/src/Disks/DiskRestartProxy.h @@ -37,13 +37,13 @@ public: void createDirectories(const String & path) override; void clearDirectory(const String & path) override; void moveDirectory(const String & from_path, const String & to_path) override; - DiskDirectoryIteratorPtr iterateDirectory(const String & path) override; + DirectoryIteratorPtr iterateDirectory(const String & path) const override; void createFile(const String & path) override; void moveFile(const String & from_path, const String & to_path) override; void replaceFile(const String & from_path, const String & to_path) override; void copy(const String & from_path, const DiskPtr & to_disk, const String & to_path) override; void copyDirectoryContent(const String & from_dir, const std::shared_ptr & to_disk, const String & to_dir) override; - void listFiles(const String & path, std::vector & file_names) override; + void listFiles(const String & path, std::vector & file_names) const override; std::unique_ptr readFile( const String & path, const ReadSettings & settings, @@ -58,14 +58,14 @@ public: void removeSharedFiles(const RemoveBatchRequest & files, bool keep_all_batch_data, const NameSet & file_names_remove_metadata_only) override; void removeSharedRecursive(const String & path, bool keep_all_batch_data, const NameSet & file_names_remove_metadata_only) override; void setLastModified(const String & path, const Poco::Timestamp & timestamp) override; - Poco::Timestamp getLastModified(const String & path) override; + Poco::Timestamp getLastModified(const String & path) const override; void setReadOnly(const String & path) override; void createHardLink(const String & src_path, const String & dst_path) override; void truncateFile(const String & path, size_t size) override; String getUniqueId(const String & path) const override; bool checkUniqueId(const String & id) const override; String getCacheBasePath() const override; - std::vector getRemotePaths(const String & path) const override; + PathsWithSize getObjectStoragePaths(const String & path) const override; void getRemotePathsRecursive(const String & path, std::vector & paths_map) override; void restart(ContextPtr context); diff --git a/src/Disks/DiskWebServer.cpp b/src/Disks/DiskWebServer.cpp index b8a0d12d6c1..83cfbbb0150 100644 --- a/src/Disks/DiskWebServer.cpp +++ b/src/Disks/DiskWebServer.cpp @@ -95,7 +95,7 @@ void DiskWebServer::initialize(const String & uri_path) const } -class DiskWebServerDirectoryIterator final : public IDiskDirectoryIterator +class DiskWebServerDirectoryIterator final : public IDirectoryIterator { public: explicit DiskWebServerDirectoryIterator(std::vector && dir_file_paths_) @@ -170,10 +170,10 @@ std::unique_ptr DiskWebServer::readFile(const String & p auto remote_path = fs_path.parent_path() / (escapeForFileName(fs_path.stem()) + fs_path.extension().string()); remote_path = remote_path.string().substr(url.size()); - std::vector blobs_to_read; + PathsWithSize blobs_to_read; blobs_to_read.emplace_back(remote_path, iter->second.size); - auto web_impl = std::make_unique(url, path, blobs_to_read, getContext(), read_settings); + auto web_impl = std::make_unique(url, blobs_to_read, getContext(), read_settings); if (read_settings.remote_fs_method == RemoteFSReadMethod::threadpool) { @@ -188,7 +188,7 @@ std::unique_ptr DiskWebServer::readFile(const String & p } -DiskDirectoryIteratorPtr DiskWebServer::iterateDirectory(const String & path) +DirectoryIteratorPtr DiskWebServer::iterateDirectory(const String & path) const { std::vector dir_file_paths; if (files.find(path) == files.end()) diff --git a/src/Disks/DiskWebServer.h b/src/Disks/DiskWebServer.h index 47042fabc3d..40754e71fa0 100644 --- a/src/Disks/DiskWebServer.h +++ b/src/Disks/DiskWebServer.h @@ -90,15 +90,17 @@ public: size_t getFileSize(const String & path) const override; - void listFiles(const String & /* path */, std::vector & /* file_names */) override { } + void listFiles(const String & /* path */, std::vector & /* file_names */) const override { } void setReadOnly(const String & /* path */) override {} bool isDirectory(const String & path) const override; - DiskDirectoryIteratorPtr iterateDirectory(const String & /* path */) override; + DirectoryIteratorPtr iterateDirectory(const String & /* path */) const override; - Poco::Timestamp getLastModified(const String &) override { return Poco::Timestamp{}; } + Poco::Timestamp getLastModified(const String &) const override { return Poco::Timestamp{}; } + + time_t getLastChanged(const String &) const override { return {}; } /// Write and modification part @@ -167,7 +169,7 @@ public: throw Exception(ErrorCodes::NOT_IMPLEMENTED, "Disk {} is read-only", getName()); } - std::vector getRemotePaths(const String &) const override { return {}; } + PathsWithSize getObjectStoragePaths(const String &) const override { return {}; } void getRemotePathsRecursive(const String &, std::vector &) override {} diff --git a/src/Disks/FakeDiskTransaction.h b/src/Disks/FakeDiskTransaction.h new file mode 100644 index 00000000000..6d61ac752f2 --- /dev/null +++ b/src/Disks/FakeDiskTransaction.h @@ -0,0 +1,129 @@ +#pragma once + +#include + +namespace DB +{ + +/// Fake disk transaction implementation. +/// Just execute all operations immediately, commit is noop operation. +/// No support for atomicity and rollback. +struct FakeDiskTransaction final : public IDiskTransaction +{ +public: + explicit FakeDiskTransaction(IDisk & disk_) + : disk(disk_) + {} + + void commit() override {} + + void createDirectory(const std::string & path) override + { + disk.createDirectory(path); + } + + void createDirectories(const std::string & path) override + { + disk.createDirectories(path); + } + + void createFile(const std::string & path) override + { + disk.createFile(path); + } + + void clearDirectory(const std::string & path) override + { + disk.createDirectory(path); + } + + void moveDirectory(const std::string & from_path, const std::string & to_path) override + { + disk.moveDirectory(from_path, to_path); + } + + void moveFile(const String & from_path, const String & to_path) override + { + disk.moveFile(from_path, to_path); + } + + void replaceFile(const std::string & from_path, const std::string & to_path) override + { + disk.replaceFile(from_path, to_path); + } + + void copyFile(const std::string & from_file_path, const std::string & to_file_path) override + { + disk.copyFile(from_file_path, disk, to_file_path); + } + + std::unique_ptr writeFile( /// NOLINT + const std::string & path, + size_t buf_size = DBMS_DEFAULT_BUFFER_SIZE, + WriteMode mode = WriteMode::Rewrite, + const WriteSettings & settings = {}, + bool /*autocommit */ = true) override + { + return disk.writeFile(path, buf_size, mode, settings); + } + + void removeFile(const std::string & path) override + { + disk.removeFile(path); + } + + void removeFileIfExists(const std::string & path) override + { + disk.removeFileIfExists(path); + } + + void removeDirectory(const std::string & path) override + { + disk.removeDirectory(path); + } + + void removeRecursive(const std::string & path) override + { + disk.removeRecursive(path); + } + + void removeSharedFile(const std::string & path, bool keep_shared_data) override + { + disk.removeSharedFile(path, keep_shared_data); + } + + void removeSharedRecursive(const std::string & path, bool keep_all_shared_data, const NameSet & file_names_remove_metadata_only) override + { + disk.removeSharedRecursive(path, keep_all_shared_data, file_names_remove_metadata_only); + } + + void removeSharedFileIfExists(const std::string & path, bool keep_shared_data) override + { + disk.removeSharedFileIfExists(path, keep_shared_data); + } + + void removeSharedFiles(const RemoveBatchRequest & files, bool keep_all_batch_data, const NameSet & file_names_remove_metadata_only) override + { + disk.removeSharedFiles(files, keep_all_batch_data, file_names_remove_metadata_only); + } + + void setLastModified(const std::string & path, const Poco::Timestamp & timestamp) override + { + disk.setLastModified(path, timestamp); + } + + void setReadOnly(const std::string & path) override + { + disk.setReadOnly(path); + } + + void createHardLink(const std::string & src_path, const std::string & dst_path) override + { + disk.createHardLink(src_path, dst_path); + } + +private: + IDisk & disk; +}; + +} diff --git a/src/Disks/IDisk.cpp b/src/Disks/IDisk.cpp index 363cab3c539..503e926743a 100644 --- a/src/Disks/IDisk.cpp +++ b/src/Disks/IDisk.cpp @@ -6,6 +6,8 @@ #include #include #include +#include +#include namespace DB { @@ -15,7 +17,7 @@ namespace ErrorCodes extern const int NOT_IMPLEMENTED; } -bool IDisk::isDirectoryEmpty(const String & path) +bool IDisk::isDirectoryEmpty(const String & path) const { return !iterateDirectory(path)->isValid(); } @@ -32,6 +34,24 @@ void IDisk::copyFile(const String & from_file_path, IDisk & to_disk, const Strin } +DiskTransactionPtr IDisk::createTransaction() +{ + return std::make_shared(*this); +} + +void IDisk::removeSharedFiles(const RemoveBatchRequest & files, bool keep_all_batch_data, const NameSet & file_names_remove_metadata_only) +{ + for (const auto & file : files) + { + bool keep_file = keep_all_batch_data || file_names_remove_metadata_only.contains(fs::path(file.path).filename()); + if (file.if_exists) + removeSharedFileIfExists(file.path, keep_file); + else + removeSharedFile(file.path, keep_file); + } +} + + using ResultsCollector = std::vector>; void asyncCopy(IDisk & from_disk, String from_path, IDisk & to_disk, String to_path, Executor & exec, ResultsCollector & results, bool copy_root_dir) @@ -99,4 +119,6 @@ SyncGuardPtr IDisk::getDirectorySyncGuard(const String & /* path */) const return nullptr; } +MetadataStoragePtr IDisk::getMetadataStorage() { return std::make_shared(std::static_pointer_cast(shared_from_this()), ""); } + } diff --git a/src/Disks/IDisk.h b/src/Disks/IDisk.h index f243f477f2c..27cac7a5456 100644 --- a/src/Disks/IDisk.h +++ b/src/Disks/IDisk.h @@ -12,6 +12,8 @@ #include #include #include +#include +#include #include #include @@ -39,9 +41,6 @@ namespace ErrorCodes extern const int NOT_IMPLEMENTED; } -class IDiskDirectoryIterator; -using DiskDirectoryIteratorPtr = std::unique_ptr; - class IReservation; using ReservationPtr = std::unique_ptr; using Reservations = std::vector; @@ -49,6 +48,12 @@ using Reservations = std::vector; class ReadBufferFromFileBase; class WriteBufferFromFileBase; class MMappedFileCache; +class IMetadataStorage; +using MetadataStoragePtr = std::shared_ptr; +struct IDiskTransaction; +using DiskTransactionPtr = std::shared_ptr; +struct RemoveRequest; +using RemoveBatchRequest = std::vector; /** @@ -92,7 +97,12 @@ class IDisk : public Space { public: /// Default constructor. - explicit IDisk(std::unique_ptr executor_ = std::make_unique()) : executor(std::move(executor_)) { } + explicit IDisk(std::unique_ptr executor_ = std::make_unique()) + : executor(std::move(executor_)) + { + } + + virtual DiskTransactionPtr createTransaction(); /// Root path for all files stored on the disk. /// It's not required to be a local filesystem path. @@ -135,10 +145,10 @@ public: virtual void moveDirectory(const String & from_path, const String & to_path) = 0; /// Return iterator to the contents of the specified directory. - virtual DiskDirectoryIteratorPtr iterateDirectory(const String & path) = 0; + virtual DirectoryIteratorPtr iterateDirectory(const String & path) const = 0; /// Return `true` if the specified directory is empty. - bool isDirectoryEmpty(const String & path); + bool isDirectoryEmpty(const String & path) const; /// Create empty file at `path`. virtual void createFile(const String & path) = 0; @@ -161,7 +171,7 @@ public: virtual void copyFile(const String & from_file_path, IDisk & to_disk, const String & to_file_path); /// List files at `path` and add their names to `file_names` - virtual void listFiles(const String & path, std::vector & file_names) = 0; + virtual void listFiles(const String & path, std::vector & file_names) const = 0; /// Open the file for read and return ReadBufferFromFileBase object. virtual std::unique_ptr readFile( /// NOLINT @@ -205,58 +215,38 @@ public: /// Second bool param is a flag to remove (true) or keep (false) shared data on S3 virtual void removeSharedFileIfExists(const String & path, bool /* keep_shared_data */) { removeFileIfExists(path); } - virtual String getCacheBasePath() const { return ""; } /// Returns a list of paths because for Log family engines there might be /// multiple files in remote fs for single clickhouse file. - virtual std::vector getRemotePaths(const String &) const + virtual PathsWithSize getObjectStoragePaths(const String &) const { - throw Exception(ErrorCodes::NOT_IMPLEMENTED, "Method `getRemotePaths() not implemented for disk: {}`", getType()); + throw Exception(ErrorCodes::NOT_IMPLEMENTED, "Method `getObjectStoragePaths() not implemented for disk: {}`", getType()); } /// For one local path there might be multiple remote paths in case of Log family engines. - using LocalPathWithRemotePaths = std::pair>; + using LocalPathWithRemotePaths = std::pair; virtual void getRemotePathsRecursive(const String &, std::vector &) { throw Exception(ErrorCodes::NOT_IMPLEMENTED, "Method `getRemotePathsRecursive() not implemented for disk: {}`", getType()); } - struct RemoveRequest - { - String path; - bool if_exists = false; - - explicit RemoveRequest(String path_, bool if_exists_ = false) - : path(std::move(path_)), if_exists(std::move(if_exists_)) - { - } - }; - - using RemoveBatchRequest = std::vector; - /// Batch request to remove multiple files. /// May be much faster for blob storage. /// Second bool param is a flag to remove (true) or keep (false) shared data on S3. /// Third param determines which files cannot be removed even if second is true. - virtual void removeSharedFiles(const RemoveBatchRequest & files, bool keep_all_batch_data, const NameSet & file_names_remove_metadata_only) - { - for (const auto & file : files) - { - bool keep_file = keep_all_batch_data || file_names_remove_metadata_only.contains(fs::path(file.path).filename()); - if (file.if_exists) - removeSharedFileIfExists(file.path, keep_file); - else - removeSharedFile(file.path, keep_file); - } - } + virtual void removeSharedFiles(const RemoveBatchRequest & files, bool keep_all_batch_data, const NameSet & file_names_remove_metadata_only); /// Set last modified time to file or directory at `path`. virtual void setLastModified(const String & path, const Poco::Timestamp & timestamp) = 0; /// Get last modified time of file or directory at `path`. - virtual Poco::Timestamp getLastModified(const String & path) = 0; + virtual Poco::Timestamp getLastModified(const String & path) const = 0; + + /// Get last changed time of file or directory at `path`. + /// Meaning is the same as stat.mt_ctime (e.g. different from getLastModified()). + virtual time_t getLastChanged(const String & path) const = 0; /// Set file at `path` as read-only. virtual void setReadOnly(const String & path) = 0; @@ -317,7 +307,7 @@ public: /// Actually it's a part of IDiskRemote implementation but we have so /// complex hierarchy of disks (with decorators), so we cannot even /// dynamic_cast some pointer to IDisk to pointer to IDiskRemote. - virtual std::shared_ptr getMetadataDiskIfExistsOrSelf() { return std::static_pointer_cast(shared_from_this()); } + virtual MetadataStoragePtr getMetadataStorage(); /// Very similar case as for getMetadataDiskIfExistsOrSelf(). If disk has "metadata" /// it will return mapping for each required path: path -> metadata as string. @@ -364,27 +354,6 @@ private: using DiskPtr = std::shared_ptr; using Disks = std::vector; -/** - * Iterator of directory contents on particular disk. - */ -class IDiskDirectoryIterator -{ -public: - /// Iterate to the next file. - virtual void next() = 0; - - /// Return `true` if the iterator points to a valid element. - virtual bool isValid() const = 0; - - /// Path to the file that the iterator currently points to. - virtual String path() const = 0; - - /// Name of the file that the iterator currently points to. - virtual String name() const = 0; - - virtual ~IDiskDirectoryIterator() = default; -}; - /** * Information about reserved size on particular disk. */ diff --git a/src/Disks/IDiskTransaction.h b/src/Disks/IDiskTransaction.h new file mode 100644 index 00000000000..4b00a9bcefc --- /dev/null +++ b/src/Disks/IDiskTransaction.h @@ -0,0 +1,115 @@ +#pragma once + +#include +#include +#include +#include + +namespace DB +{ + +struct RemoveRequest +{ + std::string path; + bool if_exists = false; + + explicit RemoveRequest(std::string path_, bool if_exists_ = false) + : path(std::move(path_)), if_exists(std::move(if_exists_)) + { + } +}; + +using RemoveBatchRequest = std::vector; + +/// Simple interface batch execution of write disk operations. +/// Method are almost equal to disk methods. +struct IDiskTransaction : private boost::noncopyable +{ +public: + /// Tries to commit all accumulated operations simultaneously. + /// If something fails rollback and throw exception. + virtual void commit() = 0; + + virtual ~IDiskTransaction() = default; + + /// Create directory. + virtual void createDirectory(const std::string & path) = 0; + + /// Create directory and all parent directories if necessary. + virtual void createDirectories(const std::string & path) = 0; + + /// Remove all files from the directory. Directories are not removed. + virtual void clearDirectory(const std::string & path) = 0; + + /// Move directory from `from_path` to `to_path`. + virtual void moveDirectory(const std::string & from_path, const std::string & to_path) = 0; + + virtual void moveFile(const String & from_path, const String & to_path) = 0; + + virtual void createFile(const String & path) = 0; + + /// Move the file from `from_path` to `to_path`. + /// If a file with `to_path` path already exists, it will be replaced. + virtual void replaceFile(const std::string & from_path, const std::string & to_path) = 0; + + /// Only copy of several files supported now. Disk interface support copy to another disk + /// but it's impossible to implement correctly in transactions because other disk can + /// use different metadata storage. + /// TODO: maybe remove it at all, we don't want copies + virtual void copyFile(const std::string & from_file_path, const std::string & to_file_path) = 0; + + /// Open the file for write and return WriteBufferFromFileBase object. + virtual std::unique_ptr writeFile( /// NOLINT + const std::string & path, + size_t buf_size = DBMS_DEFAULT_BUFFER_SIZE, + WriteMode mode = WriteMode::Rewrite, + const WriteSettings & settings = {}, + bool autocommit = true) = 0; + + /// Remove file. Throws exception if file doesn't exists or it's a directory. + virtual void removeFile(const std::string & path) = 0; + + /// Remove file if it exists. + virtual void removeFileIfExists(const std::string & path) = 0; + + /// Remove directory. Throws exception if it's not a directory or if directory is not empty. + virtual void removeDirectory(const std::string & path) = 0; + + /// Remove file or directory with all children. Use with extra caution. Throws exception if file doesn't exists. + virtual void removeRecursive(const std::string & path) = 0; + + /// Remove file. Throws exception if file doesn't exists or if directory is not empty. + /// Differs from removeFile for S3/HDFS disks + /// Second bool param is a flag to remove (true) or keep (false) shared data on S3 + virtual void removeSharedFile(const std::string & path, bool /* keep_shared_data */) = 0; + + /// Remove file or directory with all children. Use with extra caution. Throws exception if file doesn't exists. + /// Differs from removeRecursive for S3/HDFS disks + /// Second bool param is a flag to remove (false) or keep (true) shared data on S3. + /// Third param determines which files cannot be removed even if second is true. + virtual void removeSharedRecursive(const std::string & path, bool /* keep_all_shared_data */, const NameSet & /* file_names_remove_metadata_only */) = 0; + + /// Remove file or directory if it exists. + /// Differs from removeFileIfExists for S3/HDFS disks + /// Second bool param is a flag to remove (true) or keep (false) shared data on S3 + virtual void removeSharedFileIfExists(const std::string & path, bool /* keep_shared_data */) = 0; + + /// Batch request to remove multiple files. + /// May be much faster for blob storage. + /// Second bool param is a flag to remove (true) or keep (false) shared data on S3. + /// Third param determines which files cannot be removed even if second is true. + virtual void removeSharedFiles(const RemoveBatchRequest & files, bool keep_all_batch_data, const NameSet & file_names_remove_metadata_only) = 0; + + /// Set last modified time to file or directory at `path`. + virtual void setLastModified(const std::string & path, const Poco::Timestamp & timestamp) = 0; + + /// Set file at `path` as read-only. + virtual void setReadOnly(const std::string & path) = 0; + + /// Create hardlink from `src_path` to `dst_path`. + virtual void createHardLink(const std::string & src_path, const std::string & dst_path) = 0; +}; + +using DiskTransactionPtr = std::shared_ptr; + +} diff --git a/src/Disks/IO/AsynchronousReadIndirectBufferFromRemoteFS.cpp b/src/Disks/IO/AsynchronousReadIndirectBufferFromRemoteFS.cpp index 5f2e19162f4..774a7ecaaaa 100644 --- a/src/Disks/IO/AsynchronousReadIndirectBufferFromRemoteFS.cpp +++ b/src/Disks/IO/AsynchronousReadIndirectBufferFromRemoteFS.cpp @@ -67,7 +67,7 @@ String AsynchronousReadIndirectBufferFromRemoteFS::getInfoForLog() return impl->getInfoForLog(); } -std::optional AsynchronousReadIndirectBufferFromRemoteFS::getFileSize() +size_t AsynchronousReadIndirectBufferFromRemoteFS::getFileSize() { return impl->getFileSize(); } @@ -97,10 +97,10 @@ bool AsynchronousReadIndirectBufferFromRemoteFS::hasPendingDataToRead() } -std::future AsynchronousReadIndirectBufferFromRemoteFS::readInto(char * data, size_t size) +std::future AsynchronousReadIndirectBufferFromRemoteFS::asyncReadInto(char * data, size_t size) { IAsynchronousReader::Request request; - request.descriptor = std::make_shared(impl); + request.descriptor = std::make_shared(impl); request.buf = data; request.size = size; request.offset = file_offset_of_buffer_end; @@ -125,7 +125,7 @@ void AsynchronousReadIndirectBufferFromRemoteFS::prefetch() return; /// Prefetch even in case hasPendingData() == true. - prefetch_future = readInto(prefetch_buffer.data(), prefetch_buffer.size()); + prefetch_future = asyncReadInto(prefetch_buffer.data(), prefetch_buffer.size()); ProfileEvents::increment(ProfileEvents::RemoteFSPrefetches); } @@ -185,14 +185,17 @@ bool AsynchronousReadIndirectBufferFromRemoteFS::nextImpl() } prefetch_buffer.swap(memory); + /// Adjust the working buffer so that it ignores `offset` bytes. - setWithBytesToIgnore(memory.data(), size, offset); + internal_buffer = Buffer(memory.data(), memory.data() + memory.size()); + working_buffer = Buffer(memory.data() + offset, memory.data() + size); + pos = working_buffer.begin(); } else { ProfileEvents::increment(ProfileEvents::RemoteFSUnprefetchedReads); - auto result = readInto(memory.data(), memory.size()).get(); + auto result = asyncReadInto(memory.data(), memory.size()).get(); size = result.size; auto offset = result.offset; @@ -202,7 +205,9 @@ bool AsynchronousReadIndirectBufferFromRemoteFS::nextImpl() if (size) { /// Adjust the working buffer so that it ignores `offset` bytes. - setWithBytesToIgnore(memory.data(), size, offset); + internal_buffer = Buffer(memory.data(), memory.data() + memory.size()); + working_buffer = Buffer(memory.data() + offset, memory.data() + size); + pos = working_buffer.begin(); } } @@ -210,7 +215,11 @@ bool AsynchronousReadIndirectBufferFromRemoteFS::nextImpl() ProfileEvents::increment(ProfileEvents::AsynchronousReadWaitMicroseconds, watch.elapsedMicroseconds()); file_offset_of_buffer_end = impl->getFileOffsetOfBufferEnd(); - assert(file_offset_of_buffer_end == impl->getImplementationBufferOffset()); + /// In case of multiple files for the same file in clickhouse (i.e. log family) + /// file_offset_of_buffer_end will not match getImplementationBufferOffset() + /// so we use [impl->getImplementationBufferOffset(), impl->getFileSize()] + assert(file_offset_of_buffer_end >= impl->getImplementationBufferOffset()); + assert(file_offset_of_buffer_end <= impl->getFileSize()); prefetch_future = {}; return size; diff --git a/src/Disks/IO/AsynchronousReadIndirectBufferFromRemoteFS.h b/src/Disks/IO/AsynchronousReadIndirectBufferFromRemoteFS.h index ef1b0fe6c4b..3734509a605 100644 --- a/src/Disks/IO/AsynchronousReadIndirectBufferFromRemoteFS.h +++ b/src/Disks/IO/AsynchronousReadIndirectBufferFromRemoteFS.h @@ -27,7 +27,7 @@ struct ReadSettings; * * We pass either `memory` or `prefetch_buffer` through all this chain and return it back. */ -class AsynchronousReadIndirectBufferFromRemoteFS : public ReadBufferFromFileBase, public WithFileSize +class AsynchronousReadIndirectBufferFromRemoteFS : public ReadBufferFromFileBase { public: explicit AsynchronousReadIndirectBufferFromRemoteFS( @@ -51,7 +51,7 @@ public: String getInfoForLog() override; - std::optional getFileSize() override; + size_t getFileSize() override; private: bool nextImpl() override; @@ -60,7 +60,7 @@ private: bool hasPendingDataToRead(); - std::future readInto(char * data, size_t size); + std::future asyncReadInto(char * data, size_t size); AsynchronousReaderPtr reader; diff --git a/src/Disks/IO/CachedReadBufferFromRemoteFS.cpp b/src/Disks/IO/CachedReadBufferFromRemoteFS.cpp index 2e85c4eb34a..da6718ddeb2 100644 --- a/src/Disks/IO/CachedReadBufferFromRemoteFS.cpp +++ b/src/Disks/IO/CachedReadBufferFromRemoteFS.cpp @@ -55,6 +55,8 @@ CachedReadBufferFromRemoteFS::CachedReadBufferFromRemoteFS( , query_id(query_id_) , enable_logging(!query_id.empty() && settings_.enable_filesystem_cache_log) , current_buffer_id(getRandomASCIIString(8)) + , query_context_holder(cache_->getQueryContextHolder(query_id, settings_)) + , is_persistent(false) /// Unused for now, see PR 36171 { } @@ -101,7 +103,7 @@ void CachedReadBufferFromRemoteFS::initialize(size_t offset, size_t size) } else { - file_segments_holder.emplace(cache->getOrSet(cache_key, offset, size)); + file_segments_holder.emplace(cache->getOrSet(cache_key, offset, size, is_persistent)); } /** @@ -119,7 +121,7 @@ void CachedReadBufferFromRemoteFS::initialize(size_t offset, size_t size) SeekableReadBufferPtr CachedReadBufferFromRemoteFS::getCacheReadBuffer(size_t offset) const { - auto path = cache->getPathInLocalCache(cache_key, offset); + auto path = cache->getPathInLocalCache(cache_key, offset, is_persistent); ReadSettings local_read_settings{settings}; /// Do not allow to use asynchronous version of LocalFSReadMethod. @@ -127,7 +129,7 @@ SeekableReadBufferPtr CachedReadBufferFromRemoteFS::getCacheReadBuffer(size_t of auto buf = createReadBufferFromFileBase(path, local_read_settings); auto * from_fd = dynamic_cast(buf.get()); - if (from_fd && from_fd->size() == 0) + if (from_fd && from_fd->getFileSize() == 0) throw Exception(ErrorCodes::LOGICAL_ERROR, "Attempt to read from an empty cache file: {}", path); return buf; @@ -369,7 +371,7 @@ SeekableReadBufferPtr CachedReadBufferFromRemoteFS::getImplementationBuffer(File { #ifndef NDEBUG auto * file_reader = dynamic_cast(read_buffer_for_file_segment.get()); - size_t file_size = file_reader->size(); + size_t file_size = file_reader->getFileSize(); if (file_size == 0 || range.left + file_size <= file_offset_of_buffer_end) throw Exception( @@ -801,7 +803,7 @@ bool CachedReadBufferFromRemoteFS::nextImplStep() #ifndef NDEBUG if (auto * cache_file_reader = dynamic_cast(implementation_buffer.get())) { - auto cache_file_size = cache_file_reader->size(); + auto cache_file_size = cache_file_reader->getFileSize(); if (cache_file_size == 0) throw Exception( ErrorCodes::LOGICAL_ERROR, "Attempt to read from an empty cache file: {} (just before actual read)", cache_file_size); @@ -915,7 +917,7 @@ bool CachedReadBufferFromRemoteFS::nextImplStep() { std::optional cache_file_size; if (auto * cache_file_reader = dynamic_cast(implementation_buffer.get())) - cache_file_size = cache_file_reader->size(); + cache_file_size = cache_file_reader->getFileSize(); throw Exception( ErrorCodes::LOGICAL_ERROR, diff --git a/src/Disks/IO/CachedReadBufferFromRemoteFS.h b/src/Disks/IO/CachedReadBufferFromRemoteFS.h index c73114f50a5..867b8538260 100644 --- a/src/Disks/IO/CachedReadBufferFromRemoteFS.h +++ b/src/Disks/IO/CachedReadBufferFromRemoteFS.h @@ -1,11 +1,12 @@ #pragma once -#include +#include #include #include #include #include #include +#include namespace CurrentMetrics @@ -123,6 +124,10 @@ private: CurrentMetrics::Increment metric_increment{CurrentMetrics::FilesystemCacheReadBuffers}; ProfileEvents::Counters current_file_segment_counters; + + IFileCache::QueryContextHolder query_context_holder; + + bool is_persistent; }; } diff --git a/src/Disks/IO/ReadBufferFromRemoteFSGather.cpp b/src/Disks/IO/ReadBufferFromRemoteFSGather.cpp index c2a317b43b0..1a4ae3f963f 100644 --- a/src/Disks/IO/ReadBufferFromRemoteFSGather.cpp +++ b/src/Disks/IO/ReadBufferFromRemoteFSGather.cpp @@ -40,7 +40,7 @@ SeekableReadBufferPtr ReadBufferFromRemoteFSGather::createImplementationBuffer(c appendFilesystemCacheLog(); } - current_file_path = fs::path(common_path_prefix) / path; + current_file_path = path; current_file_size = file_size; total_bytes_read_from_current_file = 0; @@ -50,18 +50,30 @@ SeekableReadBufferPtr ReadBufferFromRemoteFSGather::createImplementationBuffer(c #if USE_AWS_S3 SeekableReadBufferPtr ReadBufferFromS3Gather::createImplementationBufferImpl(const String & path, size_t file_size) { - auto remote_path = fs::path(common_path_prefix) / path; auto remote_file_reader_creator = [=, this]() { return std::make_unique( - client_ptr, bucket, remote_path, version_id, max_single_read_retries, - settings, /* use_external_buffer */true, /* offset */ 0, read_until_position, /* restricted_seek */true); + client_ptr, + bucket, + path, + version_id, + max_single_read_retries, + settings, + /* use_external_buffer */true, + /* offset */0, + read_until_position, + /* restricted_seek */true); }; if (with_cache) { return std::make_shared( - remote_path, settings.remote_fs_cache, remote_file_reader_creator, settings, query_id, read_until_position ? read_until_position : file_size); + path, + settings.remote_fs_cache, + remote_file_reader_creator, + settings, + query_id, + read_until_position ? read_until_position : file_size); } return remote_file_reader_creator(); @@ -72,34 +84,46 @@ SeekableReadBufferPtr ReadBufferFromS3Gather::createImplementationBufferImpl(con #if USE_AZURE_BLOB_STORAGE SeekableReadBufferPtr ReadBufferFromAzureBlobStorageGather::createImplementationBufferImpl(const String & path, size_t /* file_size */) { - current_file_path = path; - return std::make_unique(blob_container_client, path, max_single_read_retries, - max_single_download_retries, settings.remote_fs_buffer_size, /* use_external_buffer */true, read_until_position); + return std::make_unique( + blob_container_client, + path, + max_single_read_retries, + max_single_download_retries, + settings.remote_fs_buffer_size, + /* use_external_buffer */true, + read_until_position); } #endif SeekableReadBufferPtr ReadBufferFromWebServerGather::createImplementationBufferImpl(const String & path, size_t /* file_size */) { - current_file_path = path; - return std::make_unique(fs::path(uri) / path, context, settings, /* use_external_buffer */true, read_until_position); + return std::make_unique( + fs::path(uri) / path, + context, + settings, + /* use_external_buffer */true, + read_until_position); } #if USE_HDFS SeekableReadBufferPtr ReadBufferFromHDFSGather::createImplementationBufferImpl(const String & path, size_t /* file_size */) { - return std::make_unique(hdfs_uri, fs::path(hdfs_directory) / path, config, settings.remote_fs_buffer_size); + size_t begin_of_path = path.find('/', path.find("//") + 2); + auto hdfs_path = path.substr(begin_of_path); + auto hdfs_uri = path.substr(0, begin_of_path); + LOG_TEST(log, "HDFS uri: {}, path: {}", hdfs_path, hdfs_uri); + + return std::make_unique(hdfs_uri, hdfs_path, config); } #endif ReadBufferFromRemoteFSGather::ReadBufferFromRemoteFSGather( - const std::string & common_path_prefix_, - const BlobsPathToSize & blobs_to_read_, + const PathsWithSize & blobs_to_read_, const ReadSettings & settings_) : ReadBuffer(nullptr, 0) - , common_path_prefix(common_path_prefix_) , blobs_to_read(blobs_to_read_) , settings(settings_) , query_id(CurrentThread::isInitialized() && CurrentThread::get().getQueryContext() != nullptr ? CurrentThread::getQueryId() : "") @@ -130,7 +154,7 @@ void ReadBufferFromRemoteFSGather::appendFilesystemCacheLog() } -ReadBufferFromRemoteFSGather::ReadResult ReadBufferFromRemoteFSGather::readInto(char * data, size_t size, size_t offset, size_t ignore) +IAsynchronousReader::Result ReadBufferFromRemoteFSGather::readInto(char * data, size_t size, size_t offset, size_t ignore) { /** * Set `data` to current working and internal buffers. diff --git a/src/Disks/IO/ReadBufferFromRemoteFSGather.h b/src/Disks/IO/ReadBufferFromRemoteFSGather.h index eb6d26a4c15..6a39f4add46 100644 --- a/src/Disks/IO/ReadBufferFromRemoteFSGather.h +++ b/src/Disks/IO/ReadBufferFromRemoteFSGather.h @@ -3,6 +3,7 @@ #include #include #include +#include #include #if USE_AZURE_BLOB_STORAGE @@ -26,8 +27,7 @@ friend class ReadIndirectBufferFromRemoteFS; public: ReadBufferFromRemoteFSGather( - const std::string & common_path_prefix_, - const BlobsPathToSize & blobs_to_read_, + const PathsWithSize & blobs_to_read_, const ReadSettings & settings_); ~ReadBufferFromRemoteFSGather() override; @@ -38,13 +38,7 @@ public: void setReadUntilPosition(size_t position) override; - struct ReadResult - { - size_t size = 0; - size_t offset = 0; - }; - - ReadResult readInto(char * data, size_t size, size_t offset, size_t ignore = 0); + IAsynchronousReader::Result readInto(char * data, size_t size, size_t offset, size_t ignore) override; size_t getFileSize() const; @@ -59,9 +53,7 @@ public: protected: virtual SeekableReadBufferPtr createImplementationBufferImpl(const String & path, size_t file_size) = 0; - std::string common_path_prefix; - - BlobsPathToSize blobs_to_read; + PathsWithSize blobs_to_read; ReadSettings settings; @@ -74,6 +66,8 @@ protected: String query_id; + Poco::Logger * log; + private: SeekableReadBufferPtr createImplementationBuffer(const String & path, size_t file_size); @@ -100,8 +94,6 @@ private: */ size_t bytes_to_ignore = 0; - Poco::Logger * log; - size_t total_bytes_read_from_current_file = 0; bool enable_cache_log = false; @@ -117,11 +109,10 @@ public: std::shared_ptr client_ptr_, const String & bucket_, const String & version_id_, - const std::string & common_path_prefix_, - const BlobsPathToSize & blobs_to_read_, + const PathsWithSize & blobs_to_read_, size_t max_single_read_retries_, const ReadSettings & settings_) - : ReadBufferFromRemoteFSGather(common_path_prefix_, blobs_to_read_, settings_) + : ReadBufferFromRemoteFSGather(blobs_to_read_, settings_) , client_ptr(std::move(client_ptr_)) , bucket(bucket_) , version_id(version_id_) @@ -147,12 +138,11 @@ class ReadBufferFromAzureBlobStorageGather final : public ReadBufferFromRemoteFS public: ReadBufferFromAzureBlobStorageGather( std::shared_ptr blob_container_client_, - const std::string & common_path_prefix_, - const BlobsPathToSize & blobs_to_read_, + const PathsWithSize & blobs_to_read_, size_t max_single_read_retries_, size_t max_single_download_retries_, const ReadSettings & settings_) - : ReadBufferFromRemoteFSGather(common_path_prefix_, blobs_to_read_, settings_) + : ReadBufferFromRemoteFSGather(blobs_to_read_, settings_) , blob_container_client(blob_container_client_) , max_single_read_retries(max_single_read_retries_) , max_single_download_retries(max_single_download_retries_) @@ -174,11 +164,10 @@ class ReadBufferFromWebServerGather final : public ReadBufferFromRemoteFSGather public: ReadBufferFromWebServerGather( const String & uri_, - const std::string & common_path_prefix_, - const BlobsPathToSize & blobs_to_read_, + const PathsWithSize & blobs_to_read_, ContextPtr context_, const ReadSettings & settings_) - : ReadBufferFromRemoteFSGather(common_path_prefix_, blobs_to_read_, settings_) + : ReadBufferFromRemoteFSGather(blobs_to_read_, settings_) , uri(uri_) , context(context_) { @@ -199,25 +188,19 @@ class ReadBufferFromHDFSGather final : public ReadBufferFromRemoteFSGather public: ReadBufferFromHDFSGather( const Poco::Util::AbstractConfiguration & config_, - const String & hdfs_uri_, - const std::string & common_path_prefix_, - const BlobsPathToSize & blobs_to_read_, + const PathsWithSize & blobs_to_read_, const ReadSettings & settings_) - : ReadBufferFromRemoteFSGather(common_path_prefix_, blobs_to_read_, settings_) + : ReadBufferFromRemoteFSGather(blobs_to_read_, settings_) , config(config_) { - const size_t begin_of_path = hdfs_uri_.find('/', hdfs_uri_.find("//") + 2); - hdfs_directory = hdfs_uri_.substr(begin_of_path); - hdfs_uri = hdfs_uri_.substr(0, begin_of_path); } SeekableReadBufferPtr createImplementationBufferImpl(const String & path, size_t file_size) override; private: const Poco::Util::AbstractConfiguration & config; - String hdfs_uri; - String hdfs_directory; }; + #endif } diff --git a/src/Disks/IO/ReadBufferFromWebServer.h b/src/Disks/IO/ReadBufferFromWebServer.h index ea746fb75a1..1e4219d53ee 100644 --- a/src/Disks/IO/ReadBufferFromWebServer.h +++ b/src/Disks/IO/ReadBufferFromWebServer.h @@ -19,7 +19,8 @@ class ReadBufferFromWebServer : public SeekableReadBuffer { public: explicit ReadBufferFromWebServer( - const String & url_, ContextPtr context_, + const String & url_, + ContextPtr context_, const ReadSettings & settings_ = {}, bool use_external_buffer_ = false, size_t read_until_position = 0); diff --git a/src/Disks/IO/ReadIndirectBufferFromRemoteFS.cpp b/src/Disks/IO/ReadIndirectBufferFromRemoteFS.cpp index 699f8380cb8..3f7b378dee4 100644 --- a/src/Disks/IO/ReadIndirectBufferFromRemoteFS.cpp +++ b/src/Disks/IO/ReadIndirectBufferFromRemoteFS.cpp @@ -19,6 +19,10 @@ ReadIndirectBufferFromRemoteFS::ReadIndirectBufferFromRemoteFS( { } +size_t ReadIndirectBufferFromRemoteFS::getFileSize() +{ + return impl->getFileSize(); +} off_t ReadIndirectBufferFromRemoteFS::getPosition() { diff --git a/src/Disks/IO/ReadIndirectBufferFromRemoteFS.h b/src/Disks/IO/ReadIndirectBufferFromRemoteFS.h index 64495a538e4..f27d67fc5fb 100644 --- a/src/Disks/IO/ReadIndirectBufferFromRemoteFS.h +++ b/src/Disks/IO/ReadIndirectBufferFromRemoteFS.h @@ -30,6 +30,8 @@ public: void setReadUntilEnd() override; + size_t getFileSize() override; + private: bool nextImpl() override; diff --git a/src/Disks/IO/ThreadPoolReader.cpp b/src/Disks/IO/ThreadPoolReader.cpp index e39f6057445..2004ffbea83 100644 --- a/src/Disks/IO/ThreadPoolReader.cpp +++ b/src/Disks/IO/ThreadPoolReader.cpp @@ -13,7 +13,7 @@ #include #include -#if defined(__linux__) +#if defined(OS_LINUX) #include #include @@ -84,7 +84,7 @@ std::future ThreadPoolReader::submit(Request reques int fd = assert_cast(*request.descriptor).fd; -#if defined(__linux__) +#if defined(OS_LINUX) /// Check if data is already in page cache with preadv2 syscall. /// We don't want to depend on new Linux kernel. diff --git a/src/Disks/IO/ThreadPoolRemoteFSReader.cpp b/src/Disks/IO/ThreadPoolRemoteFSReader.cpp index f8050b8a8b0..32cb7b022bd 100644 --- a/src/Disks/IO/ThreadPoolRemoteFSReader.cpp +++ b/src/Disks/IO/ThreadPoolRemoteFSReader.cpp @@ -7,11 +7,10 @@ #include #include #include - +#include #include #include -#include namespace ProfileEvents @@ -27,8 +26,7 @@ namespace CurrentMetrics namespace DB { - -ReadBufferFromRemoteFSGather::ReadResult ThreadPoolRemoteFSReader::RemoteFSFileDescriptor::readInto(char * data, size_t size, size_t offset, size_t ignore) +IAsynchronousReader::Result RemoteFSFileDescriptor::readInto(char * data, size_t size, size_t offset, size_t ignore) { return reader->readInto(data, size, offset, ignore); } @@ -69,7 +67,7 @@ std::future ThreadPoolRemoteFSReader::submit(Reques Stopwatch watch(CLOCK_MONOTONIC); - ReadBufferFromRemoteFSGather::ReadResult result; + Result result; try { result = remote_fs_fd->readInto(request.buf, request.size, request.offset, request.ignore); @@ -98,4 +96,5 @@ std::future ThreadPoolRemoteFSReader::submit(Reques return future; } + } diff --git a/src/Disks/IO/ThreadPoolRemoteFSReader.h b/src/Disks/IO/ThreadPoolRemoteFSReader.h index 0d5513e4c01..66e300697b8 100644 --- a/src/Disks/IO/ThreadPoolRemoteFSReader.h +++ b/src/Disks/IO/ThreadPoolRemoteFSReader.h @@ -1,38 +1,32 @@ #pragma once #include -#include +#include #include -#include - namespace DB { class ThreadPoolRemoteFSReader : public IAsynchronousReader { - -private: - ThreadPool pool; - public: ThreadPoolRemoteFSReader(size_t pool_size, size_t queue_size_); - std::future submit(Request request) override; - - struct RemoteFSFileDescriptor; -}; - - -struct ThreadPoolRemoteFSReader::RemoteFSFileDescriptor : public IFileDescriptor -{ -public: - explicit RemoteFSFileDescriptor(std::shared_ptr reader_) : reader(reader_) {} - - ReadBufferFromRemoteFSGather::ReadResult readInto(char * data, size_t size, size_t offset, size_t ignore = 0); + std::future submit(Request request) override; private: - std::shared_ptr reader; + ThreadPool pool; +}; + +class RemoteFSFileDescriptor : public IAsynchronousReader::IFileDescriptor +{ +public: + explicit RemoteFSFileDescriptor(ReadBufferPtr reader_) : reader(std::move(reader_)) { } + + IAsynchronousReader::Result readInto(char * data, size_t size, size_t offset, size_t ignore = 0); + +private: + ReadBufferPtr reader; }; } diff --git a/src/Disks/IO/WriteIndirectBufferFromRemoteFS.cpp b/src/Disks/IO/WriteIndirectBufferFromRemoteFS.cpp index 77da60ca07d..bf99934dd73 100644 --- a/src/Disks/IO/WriteIndirectBufferFromRemoteFS.cpp +++ b/src/Disks/IO/WriteIndirectBufferFromRemoteFS.cpp @@ -32,7 +32,6 @@ WriteIndirectBufferFromRemoteFS::~WriteIndirectBufferFromRemoteFS() } } - void WriteIndirectBufferFromRemoteFS::finalizeImpl() { WriteBufferFromFileDecorator::finalizeImpl(); diff --git a/src/Disks/IO/createReadBufferFromFileBase.cpp b/src/Disks/IO/createReadBufferFromFileBase.cpp index 4ff492e4013..345d0019aa7 100644 --- a/src/Disks/IO/createReadBufferFromFileBase.cpp +++ b/src/Disks/IO/createReadBufferFromFileBase.cpp @@ -96,7 +96,7 @@ std::unique_ptr createReadBufferFromFileBase( if (flags == -1) flags = O_RDONLY | O_CLOEXEC; -#if defined(OS_LINUX) || defined(__FreeBSD__) +#if defined(OS_LINUX) || defined(OS_FREEBSD) if (settings.direct_io_threshold && estimated_size >= settings.direct_io_threshold) { /** O_DIRECT diff --git a/src/Disks/ObjectStorages/AzureBlobStorage/AzureObjectStorage.cpp b/src/Disks/ObjectStorages/AzureBlobStorage/AzureObjectStorage.cpp index 4ea7c609a51..c25d1d7470c 100644 --- a/src/Disks/ObjectStorages/AzureBlobStorage/AzureObjectStorage.cpp +++ b/src/Disks/ObjectStorages/AzureBlobStorage/AzureObjectStorage.cpp @@ -67,16 +67,18 @@ std::unique_ptr AzureObjectStorage::readObject( /// NOLINT } std::unique_ptr AzureObjectStorage::readObjects( /// NOLINT - const std::string & common_path_prefix, - const BlobsPathToSize & blobs_to_read, + const PathsWithSize & paths_to_read, const ReadSettings & read_settings, std::optional, std::optional) const { auto settings_ptr = settings.get(); auto reader_impl = std::make_unique( - client.get(), common_path_prefix, blobs_to_read, - settings_ptr->max_single_read_retries, settings_ptr->max_single_download_retries, read_settings); + client.get(), + paths_to_read, + settings_ptr->max_single_read_retries, + settings_ptr->max_single_download_retries, + read_settings); if (read_settings.remote_fs_method == RemoteFSReadMethod::threadpool) { @@ -111,7 +113,7 @@ std::unique_ptr AzureObjectStorage::writeObject( /// NO return std::make_unique(std::move(buffer), std::move(finalize_callback), path); } -void AzureObjectStorage::listPrefix(const std::string & path, BlobsPathToSize & children) const +void AzureObjectStorage::listPrefix(const std::string & path, RelativePathsWithSize & children) const { auto client_ptr = client.get(); @@ -134,10 +136,10 @@ void AzureObjectStorage::removeObject(const std::string & path) throw Exception(ErrorCodes::AZURE_BLOB_STORAGE_ERROR, "Failed to delete file in AzureBlob Storage: {}", path); } -void AzureObjectStorage::removeObjects(const std::vector & paths) +void AzureObjectStorage::removeObjects(const PathsWithSize & paths) { auto client_ptr = client.get(); - for (const auto & path : paths) + for (const auto & [path, _] : paths) { auto delete_info = client_ptr->DeleteBlob(path); if (!delete_info.Value.Deleted) @@ -151,10 +153,10 @@ void AzureObjectStorage::removeObjectIfExists(const std::string & path) auto delete_info = client_ptr->DeleteBlob(path); } -void AzureObjectStorage::removeObjectsIfExist(const std::vector & paths) +void AzureObjectStorage::removeObjectsIfExist(const PathsWithSize & paths) { auto client_ptr = client.get(); - for (const auto & path : paths) + for (const auto & [path, _] : paths) auto delete_info = client_ptr->DeleteBlob(path); } diff --git a/src/Disks/ObjectStorages/AzureBlobStorage/AzureObjectStorage.h b/src/Disks/ObjectStorages/AzureBlobStorage/AzureObjectStorage.h index 37c3ba72ed9..ab7d2b28508 100644 --- a/src/Disks/ObjectStorages/AzureBlobStorage/AzureObjectStorage.h +++ b/src/Disks/ObjectStorages/AzureBlobStorage/AzureObjectStorage.h @@ -59,8 +59,7 @@ public: std::optional file_size = {}) const override; std::unique_ptr readObjects( /// NOLINT - const std::string & common_path_prefix, - const BlobsPathToSize & blobs_to_read, + const PathsWithSize & blobs_to_read, const ReadSettings & read_settings = ReadSettings{}, std::optional read_hint = {}, std::optional file_size = {}) const override; @@ -74,15 +73,16 @@ public: size_t buf_size = DBMS_DEFAULT_BUFFER_SIZE, const WriteSettings & write_settings = {}) override; - void listPrefix(const std::string & path, BlobsPathToSize & children) const override; + void listPrefix(const std::string & path, RelativePathsWithSize & children) const override; + /// Remove file. Throws exception if file doesn't exists or it's a directory. void removeObject(const std::string & path) override; - void removeObjects(const std::vector & paths) override; + void removeObjects(const PathsWithSize & paths) override; void removeObjectIfExists(const std::string & path) override; - void removeObjectsIfExist(const std::vector & paths) override; + void removeObjectsIfExist(const PathsWithSize & paths) override; ObjectMetadata getObjectMetadata(const std::string & path) const override; @@ -95,11 +95,19 @@ public: void startup() override {} - void applyNewSettings(const Poco::Util::AbstractConfiguration & config, const std::string & config_prefix, ContextPtr context) override; + void applyNewSettings( + const Poco::Util::AbstractConfiguration & config, + const std::string & config_prefix, + ContextPtr context) override; String getObjectsNamespace() const override { return ""; } - std::unique_ptr cloneObjectStorage(const std::string & new_namespace, const Poco::Util::AbstractConfiguration & config, const std::string & config_prefix, ContextPtr context) override; + std::unique_ptr cloneObjectStorage( + const std::string & new_namespace, + const Poco::Util::AbstractConfiguration & config, + const std::string & config_prefix, + ContextPtr context) override; + private: const String name; diff --git a/src/Disks/ObjectStorages/AzureBlobStorage/registerDiskAzureBlobStorage.cpp b/src/Disks/ObjectStorages/AzureBlobStorage/registerDiskAzureBlobStorage.cpp index 92ba6e426b3..53b484ae674 100644 --- a/src/Disks/ObjectStorages/AzureBlobStorage/registerDiskAzureBlobStorage.cpp +++ b/src/Disks/ObjectStorages/AzureBlobStorage/registerDiskAzureBlobStorage.cpp @@ -11,6 +11,7 @@ #include #include +#include namespace DB { @@ -82,11 +83,13 @@ void registerDiskAzureBlobStorage(DiskFactory & factory) uint64_t copy_thread_pool_size = config.getUInt(config_prefix + ".thread_pool_size", 16); bool send_metadata = config.getBool(config_prefix + ".send_metadata", false); + auto metadata_storage = std::make_shared(metadata_disk, ""); + std::shared_ptr azure_blob_storage_disk = std::make_shared( name, /* no namespaces */"", "DiskAzureBlobStorage", - metadata_disk, + std::move(metadata_storage), std::move(azure_object_storage), DiskType::AzureBlobStorage, send_metadata, diff --git a/src/Disks/ObjectStorages/DiskObjectStorage.cpp b/src/Disks/ObjectStorages/DiskObjectStorage.cpp index 65b1d5a5bdf..a354ad27049 100644 --- a/src/Disks/ObjectStorages/DiskObjectStorage.cpp +++ b/src/Disks/ObjectStorages/DiskObjectStorage.cpp @@ -13,8 +13,10 @@ #include #include #include -#include -#include +#include +#include +#include +#include #include namespace DB @@ -23,15 +25,9 @@ namespace DB namespace ErrorCodes { extern const int INCORRECT_DISK_INDEX; - extern const int UNKNOWN_FORMAT; - extern const int FILE_ALREADY_EXISTS; extern const int FILE_DOESNT_EXIST; - extern const int BAD_FILE_TYPE; -} - -static String revisionToString(UInt64 revision) -{ - return std::bitset<64>(revision).to_string(); + extern const int ATTEMPT_TO_READ_AFTER_EOF; + extern const int CANNOT_READ_ALL_DATA; } namespace @@ -83,11 +79,25 @@ private: } +DiskTransactionPtr DiskObjectStorage::createTransaction() +{ + return std::make_shared(*this); +} + +DiskTransactionPtr DiskObjectStorage::createObjectStorageTransaction() +{ + return std::make_shared( + *object_storage, + *metadata_storage, + remote_fs_root_path, + send_metadata ? metadata_helper.get() : nullptr); +} + DiskObjectStorage::DiskObjectStorage( const String & name_, const String & remote_fs_root_path_, const String & log_name, - DiskPtr metadata_disk_, + MetadataStoragePtr && metadata_storage_, ObjectStoragePtr && object_storage_, DiskType disk_type_, bool send_metadata_, @@ -96,96 +106,55 @@ DiskObjectStorage::DiskObjectStorage( , name(name_) , remote_fs_root_path(remote_fs_root_path_) , log (&Poco::Logger::get(log_name)) - , metadata_disk(metadata_disk_) , disk_type(disk_type_) + , metadata_storage(std::move(metadata_storage_)) , object_storage(std::move(object_storage_)) , send_metadata(send_metadata_) - , metadata_helper(std::make_unique(this, ReadSettings{})) + , metadata_helper(std::make_unique(this, ReadSettings{})) {} -DiskObjectStorage::Metadata DiskObjectStorage::readMetadataUnlocked(const String & path, std::shared_lock &) const +PathsWithSize DiskObjectStorage::getObjectStoragePaths(const String & local_path) const { - return Metadata::readMetadata(remote_fs_root_path, metadata_disk, path); -} - - -DiskObjectStorage::Metadata DiskObjectStorage::readMetadata(const String & path) const -{ - std::shared_lock lock(metadata_mutex); - return readMetadataUnlocked(path, lock); -} - -DiskObjectStorage::Metadata DiskObjectStorage::readUpdateAndStoreMetadata(const String & path, bool sync, DiskObjectStorage::MetadataUpdater updater) -{ - std::unique_lock lock(metadata_mutex); - return Metadata::readUpdateAndStoreMetadata(remote_fs_root_path, metadata_disk, path, sync, updater); -} - - -DiskObjectStorage::Metadata DiskObjectStorage::readUpdateStoreMetadataAndRemove(const String & path, bool sync, DiskObjectStorage::MetadataUpdater updater) -{ - std::unique_lock lock(metadata_mutex); - return Metadata::readUpdateStoreMetadataAndRemove(remote_fs_root_path, metadata_disk, path, sync, updater); -} - -DiskObjectStorage::Metadata DiskObjectStorage::readOrCreateUpdateAndStoreMetadata(const String & path, WriteMode mode, bool sync, DiskObjectStorage::MetadataUpdater updater) -{ - if (mode == WriteMode::Rewrite || !metadata_disk->exists(path)) - { - std::unique_lock lock(metadata_mutex); - return Metadata::createUpdateAndStoreMetadata(remote_fs_root_path, metadata_disk, path, sync, updater); - } - else - { - return Metadata::readUpdateAndStoreMetadata(remote_fs_root_path, metadata_disk, path, sync, updater); - } -} - -DiskObjectStorage::Metadata DiskObjectStorage::createAndStoreMetadata(const String & path, bool sync) -{ - return Metadata::createAndStoreMetadata(remote_fs_root_path, metadata_disk, path, sync); -} - -DiskObjectStorage::Metadata DiskObjectStorage::createUpdateAndStoreMetadata(const String & path, bool sync, DiskObjectStorage::MetadataUpdater updater) -{ - return Metadata::createUpdateAndStoreMetadata(remote_fs_root_path, metadata_disk, path, sync, updater); -} - -std::vector DiskObjectStorage::getRemotePaths(const String & local_path) const -{ - auto metadata = readMetadata(local_path); - - std::vector remote_paths; - for (const auto & [remote_path, _] : metadata.remote_fs_objects) - remote_paths.push_back(fs::path(metadata.remote_fs_root_path) / remote_path); - - return remote_paths; - + return metadata_storage->getObjectStoragePaths(local_path); } void DiskObjectStorage::getRemotePathsRecursive(const String & local_path, std::vector & paths_map) { /// Protect against concurrent delition of files (for example because of a merge). - if (metadata_disk->isFile(local_path)) + if (metadata_storage->isFile(local_path)) { try { - paths_map.emplace_back(local_path, getRemotePaths(local_path)); + paths_map.emplace_back(local_path, getObjectStoragePaths(local_path)); } catch (const Exception & e) { - if (e.code() == ErrorCodes::FILE_DOESNT_EXIST) + /// Unfortunately in rare cases it can happen when files disappear + /// or can be empty in case of operation interruption (like cancelled metadata fetch) + if (e.code() == ErrorCodes::FILE_DOESNT_EXIST || + e.code() == ErrorCodes::ATTEMPT_TO_READ_AFTER_EOF || + e.code() == ErrorCodes::CANNOT_READ_ALL_DATA) return; + throw; } } else { - DiskDirectoryIteratorPtr it; + DirectoryIteratorPtr it; try { it = iterateDirectory(local_path); } + catch (const Exception & e) + { + /// Unfortunately in rare cases it can happen when files disappear + /// or can be empty in case of operation interruption (like cancelled metadata fetch) + if (e.code() == ErrorCodes::FILE_DOESNT_EXIST || + e.code() == ErrorCodes::ATTEMPT_TO_READ_AFTER_EOF || + e.code() == ErrorCodes::CANNOT_READ_ALL_DATA) + return; + } catch (const fs::filesystem_error & e) { if (e.code() == std::errc::no_such_file_or_directory) @@ -200,30 +169,30 @@ void DiskObjectStorage::getRemotePathsRecursive(const String & local_path, std:: bool DiskObjectStorage::exists(const String & path) const { - return metadata_disk->exists(path); + return metadata_storage->exists(path); } bool DiskObjectStorage::isFile(const String & path) const { - return metadata_disk->isFile(path); + return metadata_storage->isFile(path); } void DiskObjectStorage::createFile(const String & path) { - createAndStoreMetadata(path, false); + auto transaction = createObjectStorageTransaction(); + transaction->createFile(path); + transaction->commit(); } size_t DiskObjectStorage::getFileSize(const String & path) const { - return readMetadata(path).total_size; + return metadata_storage->getFileSize(path); } void DiskObjectStorage::moveFile(const String & from_path, const String & to_path, bool should_send_metadata) { - if (exists(to_path)) - throw Exception("File already exists: " + to_path, ErrorCodes::FILE_ALREADY_EXISTS); if (should_send_metadata) { @@ -237,7 +206,9 @@ void DiskObjectStorage::moveFile(const String & from_path, const String & to_pat metadata_helper->createFileOperationObject("rename", revision, object_metadata); } - metadata_disk->moveFile(from_path, to_path); + auto transaction = createObjectStorageTransaction(); + transaction->moveFile(from_path, to_path); + transaction->commit(); } void DiskObjectStorage::moveFile(const String & from_path, const String & to_path) @@ -249,10 +220,9 @@ void DiskObjectStorage::replaceFile(const String & from_path, const String & to_ { if (exists(to_path)) { - const String tmp_path = to_path + ".old"; - moveFile(to_path, tmp_path); - moveFile(from_path, to_path); - removeFile(tmp_path); + auto transaction = createObjectStorageTransaction(); + transaction->replaceFile(from_path, to_path); + transaction->commit(); } else moveFile(from_path, to_path); @@ -260,46 +230,28 @@ void DiskObjectStorage::replaceFile(const String & from_path, const String & to_ void DiskObjectStorage::removeSharedFile(const String & path, bool delete_metadata_only) { - std::vector paths_to_remove; - removeMetadata(path, paths_to_remove); - - if (!delete_metadata_only) - removeFromRemoteFS(paths_to_remove); -} - -void DiskObjectStorage::removeFromRemoteFS(const std::vector & paths) -{ - object_storage->removeObjects(paths); + auto transaction = createObjectStorageTransaction(); + transaction->removeSharedFile(path, delete_metadata_only); + transaction->commit(); } UInt32 DiskObjectStorage::getRefCount(const String & path) const { - return readMetadata(path).ref_count; + return metadata_storage->getHardlinkCount(path); } std::unordered_map DiskObjectStorage::getSerializedMetadata(const std::vector & file_paths) const { - std::unordered_map metadatas; - - std::shared_lock lock(metadata_mutex); - - for (const auto & path : file_paths) - { - DiskObjectStorage::Metadata metadata = readMetadataUnlocked(path, lock); - metadata.ref_count = 0; - metadatas[path] = metadata.serializeToString(); - } - - return metadatas; + return metadata_storage->getSerializedMetadata(file_paths); } String DiskObjectStorage::getUniqueId(const String & path) const { LOG_TRACE(log, "Remote path: {}, Path: {}", remote_fs_root_path, path); - auto metadata = readMetadata(path); String id; - if (!metadata.remote_fs_objects.empty()) - id = metadata.remote_fs_root_path + metadata.remote_fs_objects[0].relative_path; + auto blobs_paths = metadata_storage->getObjectStoragePaths(path); + if (!blobs_paths.empty()) + id = blobs_paths[0].path; return id; } @@ -318,8 +270,6 @@ bool DiskObjectStorage::checkUniqueId(const String & id) const void DiskObjectStorage::createHardLink(const String & src_path, const String & dst_path, bool should_send_metadata) { - readUpdateAndStoreMetadata(src_path, false, [](Metadata & metadata) { metadata.ref_count++; return true; }); - if (should_send_metadata && !dst_path.starts_with("shadow/")) { auto revision = metadata_helper->revision_counter + 1; @@ -331,8 +281,9 @@ void DiskObjectStorage::createHardLink(const String & src_path, const String & d metadata_helper->createFileOperationObject("hardlink", revision, object_metadata); } - /// Create FS hardlink to metadata file. - metadata_disk->createHardLink(src_path, dst_path); + auto transaction = createObjectStorageTransaction(); + transaction->createHardLink(src_path, dst_path); + transaction->commit(); } void DiskObjectStorage::createHardLink(const String & src_path, const String & dst_path) @@ -345,49 +296,57 @@ void DiskObjectStorage::setReadOnly(const String & path) { /// We should store read only flag inside metadata file (instead of using FS flag), /// because we modify metadata file when create hard-links from it. - readUpdateAndStoreMetadata(path, false, [](Metadata & metadata) { metadata.read_only = true; return true; }); + auto transaction = createObjectStorageTransaction(); + transaction->setReadOnly(path); + transaction->commit(); } bool DiskObjectStorage::isDirectory(const String & path) const { - return metadata_disk->isDirectory(path); + return metadata_storage->isDirectory(path); } void DiskObjectStorage::createDirectory(const String & path) { - metadata_disk->createDirectory(path); + auto transaction = createObjectStorageTransaction(); + transaction->createDirectory(path); + transaction->commit(); } void DiskObjectStorage::createDirectories(const String & path) { - metadata_disk->createDirectories(path); + auto transaction = createObjectStorageTransaction(); + transaction->createDirectories(path); + transaction->commit(); } void DiskObjectStorage::clearDirectory(const String & path) { - for (auto it = iterateDirectory(path); it->isValid(); it->next()) - if (isFile(it->path())) - removeFile(it->path()); + auto transaction = createObjectStorageTransaction(); + transaction->clearDirectory(path); + transaction->commit(); } void DiskObjectStorage::removeDirectory(const String & path) { - metadata_disk->removeDirectory(path); + auto transaction = createObjectStorageTransaction(); + transaction->removeDirectory(path); + transaction->commit(); } -DiskDirectoryIteratorPtr DiskObjectStorage::iterateDirectory(const String & path) +DirectoryIteratorPtr DiskObjectStorage::iterateDirectory(const String & path) const { - return metadata_disk->iterateDirectory(path); + return metadata_storage->iterateDirectory(path); } -void DiskObjectStorage::listFiles(const String & path, std::vector & file_names) +void DiskObjectStorage::listFiles(const String & path, std::vector & file_names) const { for (auto it = iterateDirectory(path); it->isValid(); it->next()) file_names.push_back(it->name()); @@ -396,85 +355,22 @@ void DiskObjectStorage::listFiles(const String & path, std::vector & fil void DiskObjectStorage::setLastModified(const String & path, const Poco::Timestamp & timestamp) { - metadata_disk->setLastModified(path, timestamp); + auto transaction = createObjectStorageTransaction(); + transaction->setLastModified(path, timestamp); + transaction->commit(); } -Poco::Timestamp DiskObjectStorage::getLastModified(const String & path) +Poco::Timestamp DiskObjectStorage::getLastModified(const String & path) const { - return metadata_disk->getLastModified(path); + return metadata_storage->getLastModified(path); } -void DiskObjectStorage::removeMetadata(const String & path, std::vector & paths_to_remove) +time_t DiskObjectStorage::getLastChanged(const String & path) const { - LOG_TRACE(log, "Remove file by path: {}", backQuote(metadata_disk->getPath() + path)); - - if (!metadata_disk->exists(path)) - throw Exception(ErrorCodes::FILE_DOESNT_EXIST, "Metadata path '{}' doesn't exist", path); - - if (!metadata_disk->isFile(path)) - throw Exception(ErrorCodes::BAD_FILE_TYPE, "Path '{}' is not a regular file", path); - - try - { - auto metadata_updater = [&paths_to_remove, this] (Metadata & metadata) - { - if (metadata.ref_count == 0) - { - for (const auto & [remote_fs_object_path, _] : metadata.remote_fs_objects) - { - String object_path = fs::path(remote_fs_root_path) / remote_fs_object_path; - paths_to_remove.push_back(object_path); - object_storage->removeFromCache(object_path); - } - - return false; - } - else /// In other case decrement number of references, save metadata and delete hardlink. - { - --metadata.ref_count; - } - - return true; - }; - - readUpdateStoreMetadataAndRemove(path, false, metadata_updater); - /// If there is no references - delete content from remote FS. - } - catch (const Exception & e) - { - /// If it's impossible to read meta - just remove it from FS. - if (e.code() == ErrorCodes::UNKNOWN_FORMAT) - { - LOG_WARNING(log, - "Metadata file {} can't be read by reason: {}. Removing it forcibly.", - backQuote(path), e.nested() ? e.nested()->message() : e.message()); - metadata_disk->removeFile(path); - } - else - throw; - } + return metadata_storage->getLastChanged(path); } - -void DiskObjectStorage::removeMetadataRecursive(const String & path, std::unordered_map> & paths_to_remove) -{ - checkStackSize(); /// This is needed to prevent stack overflow in case of cyclic symlinks. - - if (metadata_disk->isFile(path)) - { - removeMetadata(path, paths_to_remove[path]); - } - else - { - for (auto it = iterateDirectory(path); it->isValid(); it->next()) - removeMetadataRecursive(it->path(), paths_to_remove); - - metadata_disk->removeDirectory(path); - } -} - - void DiskObjectStorage::shutdown() { LOG_INFO(log, "Shutting down disk {}", name); @@ -503,35 +399,19 @@ ReservationPtr DiskObjectStorage::reserve(UInt64 bytes) void DiskObjectStorage::removeSharedFileIfExists(const String & path, bool delete_metadata_only) { - std::vector paths_to_remove; - if (metadata_disk->exists(path)) - { - removeMetadata(path, paths_to_remove); - if (!delete_metadata_only) - removeFromRemoteFS(paths_to_remove); - } + auto transaction = createObjectStorageTransaction(); + transaction->removeSharedFileIfExists(path, delete_metadata_only); + transaction->commit(); } void DiskObjectStorage::removeSharedRecursive(const String & path, bool keep_all_batch_data, const NameSet & file_names_remove_metadata_only) { - std::unordered_map> paths_to_remove; - removeMetadataRecursive(path, paths_to_remove); - - if (!keep_all_batch_data) - { - std::vector remove_from_remote; - for (auto && [local_path, remote_paths] : paths_to_remove) - { - if (!file_names_remove_metadata_only.contains(fs::path(local_path).filename())) - { - remove_from_remote.insert(remove_from_remote.end(), remote_paths.begin(), remote_paths.end()); - } - } - removeFromRemoteFS(remove_from_remote); - } + auto transaction = createObjectStorageTransaction(); + transaction->removeSharedRecursive(path, keep_all_batch_data, file_names_remove_metadata_only); + transaction->commit(); } -std::optional DiskObjectStorage::tryReserve(UInt64 bytes) +std::optional DiskObjectStorage::tryReserve(UInt64 bytes) { std::lock_guard lock(reservation_mutex); @@ -563,8 +443,11 @@ std::unique_ptr DiskObjectStorage::readFile( std::optional read_hint, std::optional file_size) const { - auto metadata = readMetadata(path); - return object_storage->readObjects(remote_fs_root_path, metadata.remote_fs_objects, settings, read_hint, file_size); + return object_storage->readObjects( + metadata_storage->getObjectStoragePaths(path), + settings, + read_hint, + file_size); } std::unique_ptr DiskObjectStorage::writeFile( @@ -573,33 +456,12 @@ std::unique_ptr DiskObjectStorage::writeFile( WriteMode mode, const WriteSettings & settings) { - auto blob_name = getRandomASCIIString(); + auto transaction = createObjectStorageTransaction(); + auto result = transaction->writeFile(path, buf_size, mode, settings); - std::optional object_attributes; - if (send_metadata) - { - auto revision = metadata_helper->revision_counter + 1; - metadata_helper->revision_counter++; - object_attributes = { - {"path", path} - }; - blob_name = "r" + revisionToString(revision) + "-file-" + blob_name; - } - - auto create_metadata_callback = [this, path, blob_name, mode] (size_t count) - { - readOrCreateUpdateAndStoreMetadata(path, mode, false, - [blob_name, count] (DiskObjectStorage::Metadata & metadata) { metadata.addObject(blob_name, count); return true; }); - }; - - /// We always use mode Rewrite because we simulate append using metadata and different files - return object_storage->writeObject( - fs::path(remote_fs_root_path) / blob_name, WriteMode::Rewrite, object_attributes, - std::move(create_metadata_callback), - buf_size, settings); + return result; } - void DiskObjectStorage::applyNewSettings(const Poco::Util::AbstractConfiguration & config, ContextPtr context_, const String &, const DisksMap &) { const auto config_prefix = "storage_configuration.disks." + name; @@ -615,7 +477,7 @@ void DiskObjectStorage::restoreMetadataIfNeeded(const Poco::Util::AbstractConfig { metadata_helper->restore(config, config_prefix, context); - if (metadata_helper->readSchemaVersion(object_storage.get(), remote_fs_root_path) < DiskObjectStorageMetadataHelper::RESTORABLE_SCHEMA_VERSION) + if (metadata_helper->readSchemaVersion(object_storage.get(), remote_fs_root_path) < DiskObjectStorageRemoteMetadataRestoreHelper::RESTORABLE_SCHEMA_VERSION) metadata_helper->migrateToRestorableSchema(); metadata_helper->findLastRevision(); diff --git a/src/Disks/ObjectStorages/DiskObjectStorage.h b/src/Disks/ObjectStorages/DiskObjectStorage.h index d89c00a5567..56a1f7b7a3f 100644 --- a/src/Disks/ObjectStorages/DiskObjectStorage.h +++ b/src/Disks/ObjectStorages/DiskObjectStorage.h @@ -2,8 +2,9 @@ #include #include -#include -#include +#include +#include +#include #include namespace CurrentMetrics @@ -23,33 +24,33 @@ class DiskObjectStorage : public IDisk { friend class DiskObjectStorageReservation; -friend class DiskObjectStorageMetadataHelper; +friend class DiskObjectStorageRemoteMetadataRestoreHelper; public: DiskObjectStorage( const String & name_, const String & remote_fs_root_path_, const String & log_name, - DiskPtr metadata_disk_, + MetadataStoragePtr && metadata_storage_, ObjectStoragePtr && object_storage_, DiskType disk_type_, bool send_metadata_, uint64_t thread_pool_size); + /// Create fake transaction + DiskTransactionPtr createTransaction() override; + DiskType getType() const override { return disk_type; } bool supportZeroCopyReplication() const override { return true; } bool supportParallelWrite() const override { return true; } - using Metadata = DiskObjectStorageMetadata; - using MetadataUpdater = std::function; - const String & getName() const override { return name; } - const String & getPath() const override { return metadata_disk->getPath(); } + const String & getPath() const override { return metadata_storage->getPath(); } - std::vector getRemotePaths(const String & local_path) const override; + PathsWithSize getObjectStoragePaths(const String & local_path) const override; void getRemotePathsRecursive(const String & local_path, std::vector & paths_map) override; @@ -58,20 +59,6 @@ public: return object_storage->getCacheBasePath(); } - /// Methods for working with metadata. For some operations (like hardlink - /// creation) metadata can be updated concurrently from multiple threads - /// (file actually rewritten on disk). So additional RW lock is required for - /// metadata read and write, but not for create new metadata. - Metadata readMetadata(const String & path) const; - Metadata readMetadataUnlocked(const String & path, std::shared_lock &) const; - Metadata readUpdateAndStoreMetadata(const String & path, bool sync, MetadataUpdater updater); - Metadata readUpdateStoreMetadataAndRemove(const String & path, bool sync, MetadataUpdater updater); - - Metadata readOrCreateUpdateAndStoreMetadata(const String & path, WriteMode mode, bool sync, MetadataUpdater updater); - - Metadata createAndStoreMetadata(const String & path, bool sync); - Metadata createUpdateAndStoreMetadata(const String & path, bool sync, MetadataUpdater updater); - UInt64 getTotalSpace() const override { return std::numeric_limits::max(); } UInt64 getAvailableSpace() const override { return std::numeric_limits::max(); } @@ -106,9 +93,7 @@ public: void removeSharedRecursive(const String & path, bool keep_all_batch_data, const NameSet & file_names_remove_metadata_only) override; - void removeFromRemoteFS(const std::vector & paths); - - DiskPtr getMetadataDiskIfExistsOrSelf() override { return metadata_disk; } + MetadataStoragePtr getMetadataStorage() override { return metadata_storage; } UInt32 getRefCount(const String & path) const override; @@ -125,7 +110,7 @@ public: void createHardLink(const String & src_path, const String & dst_path) override; void createHardLink(const String & src_path, const String & dst_path, bool should_send_metadata); - void listFiles(const String & path, std::vector & file_names) override; + void listFiles(const String & path, std::vector & file_names) const override; void setReadOnly(const String & path) override; @@ -141,11 +126,13 @@ public: void removeDirectory(const String & path) override; - DiskDirectoryIteratorPtr iterateDirectory(const String & path) override; + DirectoryIteratorPtr iterateDirectory(const String & path) const override; void setLastModified(const String & path, const Poco::Timestamp & timestamp) override; - Poco::Timestamp getLastModified(const String & path) override; + Poco::Timestamp getLastModified(const String & path) const override; + + time_t getLastChanged(const String & path) const override; bool isRemote() const override { return true; } @@ -177,28 +164,28 @@ public: UInt64 getRevision() const override; private: + + /// Create actual disk object storage transaction for operations + /// execution. + DiskTransactionPtr createObjectStorageTransaction(); + const String name; const String remote_fs_root_path; Poco::Logger * log; - DiskPtr metadata_disk; const DiskType disk_type; + MetadataStoragePtr metadata_storage; ObjectStoragePtr object_storage; UInt64 reserved_bytes = 0; UInt64 reservation_count = 0; std::mutex reservation_mutex; - mutable std::shared_mutex metadata_mutex; - void removeMetadata(const String & path, std::vector & paths_to_remove); - - void removeMetadataRecursive(const String & path, std::unordered_map> & paths_to_remove); - std::optional tryReserve(UInt64 bytes); - bool send_metadata; + const bool send_metadata; - std::unique_ptr metadata_helper; + std::unique_ptr metadata_helper; }; class DiskObjectStorageReservation final : public IReservation diff --git a/src/Disks/ObjectStorages/DiskObjectStorageCommon.cpp b/src/Disks/ObjectStorages/DiskObjectStorageCommon.cpp index eb9d7107d39..99606a18517 100644 --- a/src/Disks/ObjectStorages/DiskObjectStorageCommon.cpp +++ b/src/Disks/ObjectStorages/DiskObjectStorageCommon.cpp @@ -1,7 +1,7 @@ #include #include #include -#include +#include #include namespace DB @@ -73,7 +73,7 @@ FileCachePtr getCachePtrForDisk( FileCacheSettings file_cache_settings; file_cache_settings.loadFromConfig(config, config_prefix); - auto cache = FileCacheFactory::instance().getOrCreate(cache_base_path, file_cache_settings); + auto cache = FileCacheFactory::instance().getOrCreate(cache_base_path, file_cache_settings, name); cache->initialize(); auto * log = &Poco::Logger::get("Disk(" + name + ")"); diff --git a/src/Disks/ObjectStorages/DiskObjectStorageMetadata.cpp b/src/Disks/ObjectStorages/DiskObjectStorageMetadata.cpp index 2e1ef31f8f0..a2c0c8abd36 100644 --- a/src/Disks/ObjectStorages/DiskObjectStorageMetadata.cpp +++ b/src/Disks/ObjectStorages/DiskObjectStorageMetadata.cpp @@ -1,5 +1,7 @@ #include +#include +#include #include #include @@ -9,168 +11,77 @@ namespace DB namespace ErrorCodes { extern const int UNKNOWN_FORMAT; - extern const int PATH_ACCESS_DENIED; - extern const int MEMORY_LIMIT_EXCEEDED; + extern const int LOGICAL_ERROR; } -DiskObjectStorageMetadata DiskObjectStorageMetadata::readMetadata(const String & remote_fs_root_path_, DiskPtr metadata_disk_, const String & metadata_file_path_) +void DiskObjectStorageMetadata::deserialize(ReadBuffer & buf) { - DiskObjectStorageMetadata result(remote_fs_root_path_, metadata_disk_, metadata_file_path_); - result.load(); - return result; -} + UInt32 version; + readIntText(version, buf); + if (version < VERSION_ABSOLUTE_PATHS || version > VERSION_READ_ONLY_FLAG) + throw Exception( + ErrorCodes::UNKNOWN_FORMAT, + "Unknown metadata file version. Path: {}. Version: {}. Maximum expected version: {}", + common_metadata_path + metadata_file_path, toString(version), toString(VERSION_READ_ONLY_FLAG)); -DiskObjectStorageMetadata DiskObjectStorageMetadata::createAndStoreMetadata(const String & remote_fs_root_path_, DiskPtr metadata_disk_, const String & metadata_file_path_, bool sync) -{ - DiskObjectStorageMetadata result(remote_fs_root_path_, metadata_disk_, metadata_file_path_); - result.save(sync); - return result; -} + assertChar('\n', buf); -DiskObjectStorageMetadata DiskObjectStorageMetadata::readUpdateAndStoreMetadata(const String & remote_fs_root_path_, DiskPtr metadata_disk_, const String & metadata_file_path_, bool sync, DiskObjectStorageMetadataUpdater updater) -{ - DiskObjectStorageMetadata result(remote_fs_root_path_, metadata_disk_, metadata_file_path_); - result.load(); - if (updater(result)) - result.save(sync); - return result; -} + UInt32 storage_objects_count; + readIntText(storage_objects_count, buf); + assertChar('\t', buf); + readIntText(total_size, buf); + assertChar('\n', buf); + storage_objects.resize(storage_objects_count); -DiskObjectStorageMetadata DiskObjectStorageMetadata::createUpdateAndStoreMetadata(const String & remote_fs_root_path_, DiskPtr metadata_disk_, const String & metadata_file_path_, bool sync, DiskObjectStorageMetadataUpdater updater) -{ - DiskObjectStorageMetadata result(remote_fs_root_path_, metadata_disk_, metadata_file_path_); - updater(result); - result.save(sync); - return result; -} - -DiskObjectStorageMetadata DiskObjectStorageMetadata::readUpdateStoreMetadataAndRemove(const String & remote_fs_root_path_, DiskPtr metadata_disk_, const String & metadata_file_path_, bool sync, DiskObjectStorageMetadataUpdater updater) -{ - DiskObjectStorageMetadata result(remote_fs_root_path_, metadata_disk_, metadata_file_path_); - result.load(); - if (updater(result)) - result.save(sync); - metadata_disk_->removeFile(metadata_file_path_); - - return result; - -} - -DiskObjectStorageMetadata DiskObjectStorageMetadata::createAndStoreMetadataIfNotExists(const String & remote_fs_root_path_, DiskPtr metadata_disk_, const String & metadata_file_path_, bool sync, bool overwrite) -{ - if (overwrite || !metadata_disk_->exists(metadata_file_path_)) + for (size_t i = 0; i < storage_objects_count; ++i) { - return createAndStoreMetadata(remote_fs_root_path_, metadata_disk_, metadata_file_path_, sync); - } - else - { - auto result = readMetadata(remote_fs_root_path_, metadata_disk_, metadata_file_path_); - if (result.read_only) - throw Exception("File is read-only: " + metadata_file_path_, ErrorCodes::PATH_ACCESS_DENIED); - return result; - } -} - -void DiskObjectStorageMetadata::load() -{ - try - { - const ReadSettings read_settings; - auto buf = metadata_disk->readFile(metadata_file_path, read_settings, 1024); /* reasonable buffer size for small file */ - - UInt32 version; - readIntText(version, *buf); - - if (version < VERSION_ABSOLUTE_PATHS || version > VERSION_READ_ONLY_FLAG) - throw Exception( - ErrorCodes::UNKNOWN_FORMAT, - "Unknown metadata file version. Path: {}. Version: {}. Maximum expected version: {}", - metadata_disk->getPath() + metadata_file_path, toString(version), toString(VERSION_READ_ONLY_FLAG)); - - assertChar('\n', *buf); - - UInt32 remote_fs_objects_count; - readIntText(remote_fs_objects_count, *buf); - assertChar('\t', *buf); - readIntText(total_size, *buf); - assertChar('\n', *buf); - remote_fs_objects.resize(remote_fs_objects_count); - - for (size_t i = 0; i < remote_fs_objects_count; ++i) + String remote_fs_object_path; + size_t remote_fs_object_size; + readIntText(remote_fs_object_size, buf); + assertChar('\t', buf); + readEscapedString(remote_fs_object_path, buf); + if (version == VERSION_ABSOLUTE_PATHS) { - String remote_fs_object_path; - size_t remote_fs_object_size; - readIntText(remote_fs_object_size, *buf); - assertChar('\t', *buf); - readEscapedString(remote_fs_object_path, *buf); - if (version == VERSION_ABSOLUTE_PATHS) - { - if (!remote_fs_object_path.starts_with(remote_fs_root_path)) - throw Exception(ErrorCodes::UNKNOWN_FORMAT, - "Path in metadata does not correspond to root path. Path: {}, root path: {}, disk path: {}", - remote_fs_object_path, remote_fs_root_path, metadata_disk->getPath()); + if (!remote_fs_object_path.starts_with(remote_fs_root_path)) + throw Exception(ErrorCodes::UNKNOWN_FORMAT, + "Path in metadata does not correspond to root path. Path: {}, root path: {}, disk path: {}", + remote_fs_object_path, remote_fs_root_path, common_metadata_path); - remote_fs_object_path = remote_fs_object_path.substr(remote_fs_root_path.size()); - } - assertChar('\n', *buf); - remote_fs_objects[i].relative_path = remote_fs_object_path; - remote_fs_objects[i].bytes_size = remote_fs_object_size; - } - - readIntText(ref_count, *buf); - assertChar('\n', *buf); - - if (version >= VERSION_READ_ONLY_FLAG) - { - readBoolText(read_only, *buf); - assertChar('\n', *buf); + remote_fs_object_path = remote_fs_object_path.substr(remote_fs_root_path.size()); } + assertChar('\n', buf); + storage_objects[i].path = remote_fs_object_path; + storage_objects[i].bytes_size = remote_fs_object_size; } - catch (Exception & e) + + readIntText(ref_count, buf); + assertChar('\n', buf); + + if (version >= VERSION_READ_ONLY_FLAG) { - tryLogCurrentException(__PRETTY_FUNCTION__); - - if (e.code() == ErrorCodes::UNKNOWN_FORMAT) - throw; - - if (e.code() == ErrorCodes::MEMORY_LIMIT_EXCEEDED) - throw; - - throw Exception("Failed to read metadata file: " + metadata_file_path, ErrorCodes::UNKNOWN_FORMAT); + readBoolText(read_only, buf); + assertChar('\n', buf); } } -/// Load metadata by path or create empty if `create` flag is set. -DiskObjectStorageMetadata::DiskObjectStorageMetadata( - const String & remote_fs_root_path_, - DiskPtr metadata_disk_, - const String & metadata_file_path_) - : remote_fs_root_path(remote_fs_root_path_) - , metadata_file_path(metadata_file_path_) - , metadata_disk(metadata_disk_) - , total_size(0), ref_count(0) +void DiskObjectStorageMetadata::deserializeFromString(const std::string & data) { + ReadBufferFromString buf(data); + deserialize(buf); } -void DiskObjectStorageMetadata::addObject(const String & path, size_t size) +void DiskObjectStorageMetadata::serialize(WriteBuffer & buf, bool sync) const { - total_size += size; - remote_fs_objects.emplace_back(path, size); -} - - -void DiskObjectStorageMetadata::saveToBuffer(WriteBuffer & buf, bool sync) -{ - writeIntText(VERSION_RELATIVE_PATHS, buf); + writeIntText(VERSION_READ_ONLY_FLAG, buf); writeChar('\n', buf); - writeIntText(remote_fs_objects.size(), buf); + writeIntText(storage_objects.size(), buf); writeChar('\t', buf); writeIntText(total_size, buf); writeChar('\n', buf); - for (const auto & [remote_fs_object_path, remote_fs_object_size] : remote_fs_objects) + for (const auto & [remote_fs_object_path, remote_fs_object_size] : storage_objects) { writeIntText(remote_fs_object_size, buf); writeChar('\t', buf); @@ -187,21 +98,33 @@ void DiskObjectStorageMetadata::saveToBuffer(WriteBuffer & buf, bool sync) buf.finalize(); if (sync) buf.sync(); - } -/// Fsync metadata file if 'sync' flag is set. -void DiskObjectStorageMetadata::save(bool sync) +std::string DiskObjectStorageMetadata::serializeToString() const { - auto buf = metadata_disk->writeFile(metadata_file_path, 1024); - saveToBuffer(*buf, sync); + WriteBufferFromOwnString result; + serialize(result, false); + return result.str(); } -std::string DiskObjectStorageMetadata::serializeToString() +/// Load metadata by path or create empty if `create` flag is set. +DiskObjectStorageMetadata::DiskObjectStorageMetadata( + const std::string & common_metadata_path_, + const String & remote_fs_root_path_, + const String & metadata_file_path_) + : common_metadata_path(common_metadata_path_) + , remote_fs_root_path(remote_fs_root_path_) + , metadata_file_path(metadata_file_path_) { - WriteBufferFromOwnString write_buf; - saveToBuffer(write_buf, false); - return write_buf.str(); +} + +void DiskObjectStorageMetadata::addObject(const String & path, size_t size) +{ + if (!remote_fs_root_path.empty() && path.starts_with(remote_fs_root_path)) + throw Exception(ErrorCodes::LOGICAL_ERROR, "Expected relative path"); + + total_size += size; + storage_objects.emplace_back(path, size); } diff --git a/src/Disks/ObjectStorages/DiskObjectStorageMetadata.h b/src/Disks/ObjectStorages/DiskObjectStorageMetadata.h index ba6b7f952fc..0f2a2a5507d 100644 --- a/src/Disks/ObjectStorages/DiskObjectStorageMetadata.h +++ b/src/Disks/ObjectStorages/DiskObjectStorageMetadata.h @@ -1,30 +1,32 @@ #pragma once #include +#include #include namespace DB { + /// Metadata for DiskObjectStorage, stored on local disk struct DiskObjectStorageMetadata { - using Updater = std::function; +private: /// Metadata file version. - static constexpr UInt32 VERSION_ABSOLUTE_PATHS = 1; - static constexpr UInt32 VERSION_RELATIVE_PATHS = 2; - static constexpr UInt32 VERSION_READ_ONLY_FLAG = 3; + static constexpr uint32_t VERSION_ABSOLUTE_PATHS = 1; + static constexpr uint32_t VERSION_RELATIVE_PATHS = 2; + static constexpr uint32_t VERSION_READ_ONLY_FLAG = 3; - /// Remote FS objects paths and their sizes. - std::vector remote_fs_objects; + const std::string & common_metadata_path; + + /// Relative paths of blobs. + RelativePathsWithSize storage_objects; /// URI - const String & remote_fs_root_path; + const std::string & remote_fs_root_path; /// Relative path to metadata file on local FS. - const String metadata_file_path; - - DiskPtr metadata_disk; + const std::string metadata_file_path; /// Total size of all remote FS (S3, HDFS) objects. size_t total_size = 0; @@ -33,36 +35,73 @@ struct DiskObjectStorageMetadata /// /// FIXME: Why we are tracking it explicetly, without /// info from filesystem???? - UInt32 ref_count = 0; + uint32_t ref_count = 0; /// Flag indicates that file is read only. bool read_only = false; +public: + DiskObjectStorageMetadata( - const String & remote_fs_root_path_, - DiskPtr metadata_disk_, - const String & metadata_file_path_); + const std::string & common_metadata_path_, + const std::string & remote_fs_root_path_, + const std::string & metadata_file_path_); - void addObject(const String & path, size_t size); + void addObject(const std::string & path, size_t size); - static DiskObjectStorageMetadata readMetadata(const String & remote_fs_root_path_, DiskPtr metadata_disk_, const String & metadata_file_path_); - static DiskObjectStorageMetadata readUpdateAndStoreMetadata(const String & remote_fs_root_path_, DiskPtr metadata_disk_, const String & metadata_file_path_, bool sync, Updater updater); - static DiskObjectStorageMetadata readUpdateStoreMetadataAndRemove(const String & remote_fs_root_path_, DiskPtr metadata_disk_, const String & metadata_file_path_, bool sync, Updater updater); + void deserialize(ReadBuffer & buf); + void deserializeFromString(const std::string & data); - static DiskObjectStorageMetadata createAndStoreMetadata(const String & remote_fs_root_path_, DiskPtr metadata_disk_, const String & metadata_file_path_, bool sync); - static DiskObjectStorageMetadata createUpdateAndStoreMetadata(const String & remote_fs_root_path_, DiskPtr metadata_disk_, const String & metadata_file_path_, bool sync, Updater updater); - static DiskObjectStorageMetadata createAndStoreMetadataIfNotExists(const String & remote_fs_root_path_, DiskPtr metadata_disk_, const String & metadata_file_path_, bool sync, bool overwrite); + void serialize(WriteBuffer & buf, bool sync) const; + std::string serializeToString() const; - /// Serialize metadata to string (very same with saveToBuffer) - std::string serializeToString(); + std::string getBlobsCommonPrefix() const + { + return remote_fs_root_path; + } + + RelativePathsWithSize getBlobsRelativePaths() const + { + return storage_objects; + } + + bool isReadOnly() const + { + return read_only; + } + + uint32_t getRefCount() const + { + return ref_count; + } + + uint64_t getTotalSizeBytes() const + { + return total_size; + } + + void incrementRefCount() + { + ++ref_count; + } + + void decrementRefCount() + { + --ref_count; + } + + void resetRefCount() + { + ref_count = 0; + } + + void setReadOnly() + { + read_only = true; + } -private: - /// Fsync metadata file if 'sync' flag is set. - void save(bool sync = false); - void saveToBuffer(WriteBuffer & buffer, bool sync); - void load(); }; -using DiskObjectStorageMetadataUpdater = std::function; +using DiskObjectStorageMetadataPtr = std::unique_ptr; } diff --git a/src/Disks/ObjectStorages/DiskObjectStorageMetadataHelper.cpp b/src/Disks/ObjectStorages/DiskObjectStorageRemoteMetadataRestoreHelper.cpp similarity index 83% rename from src/Disks/ObjectStorages/DiskObjectStorageMetadataHelper.cpp rename to src/Disks/ObjectStorages/DiskObjectStorageRemoteMetadataRestoreHelper.cpp index a36c987db7d..c9dbb5de078 100644 --- a/src/Disks/ObjectStorages/DiskObjectStorageMetadataHelper.cpp +++ b/src/Disks/ObjectStorages/DiskObjectStorageRemoteMetadataRestoreHelper.cpp @@ -1,10 +1,12 @@ -#include +#include #include +#include #include #include #include #include #include +#include namespace DB { @@ -21,7 +23,7 @@ static String revisionToString(UInt64 revision) return std::bitset<64>(revision).to_string(); } -void DiskObjectStorageMetadataHelper::createFileOperationObject(const String & operation_name, UInt64 revision, const ObjectAttributes & metadata) const +void DiskObjectStorageRemoteMetadataRestoreHelper::createFileOperationObject(const String & operation_name, UInt64 revision, const ObjectAttributes & metadata) const { const String path = disk->remote_fs_root_path + "operations/r" + revisionToString(revision) + operation_log_suffix + "-" + operation_name; auto buf = disk->object_storage->writeObject(path, WriteMode::Rewrite, metadata); @@ -29,7 +31,7 @@ void DiskObjectStorageMetadataHelper::createFileOperationObject(const String & o buf->finalize(); } -void DiskObjectStorageMetadataHelper::findLastRevision() +void DiskObjectStorageRemoteMetadataRestoreHelper::findLastRevision() { /// Construct revision number from high to low bits. String revision; @@ -51,7 +53,7 @@ void DiskObjectStorageMetadataHelper::findLastRevision() LOG_INFO(disk->log, "Found last revision number {} for disk {}", revision_counter, disk->name); } -int DiskObjectStorageMetadataHelper::readSchemaVersion(IObjectStorage * object_storage, const String & source_path) +int DiskObjectStorageRemoteMetadataRestoreHelper::readSchemaVersion(IObjectStorage * object_storage, const String & source_path) { const std::string path = source_path + SCHEMA_VERSION_OBJECT; int version = 0; @@ -64,7 +66,7 @@ int DiskObjectStorageMetadataHelper::readSchemaVersion(IObjectStorage * object_s return version; } -void DiskObjectStorageMetadataHelper::saveSchemaVersion(const int & version) const +void DiskObjectStorageRemoteMetadataRestoreHelper::saveSchemaVersion(const int & version) const { auto path = disk->remote_fs_root_path + SCHEMA_VERSION_OBJECT; @@ -74,30 +76,29 @@ void DiskObjectStorageMetadataHelper::saveSchemaVersion(const int & version) con } -void DiskObjectStorageMetadataHelper::updateObjectMetadata(const String & key, const ObjectAttributes & metadata) const +void DiskObjectStorageRemoteMetadataRestoreHelper::updateObjectMetadata(const String & key, const ObjectAttributes & metadata) const { disk->object_storage->copyObject(key, key, metadata); } -void DiskObjectStorageMetadataHelper::migrateFileToRestorableSchema(const String & path) const +void DiskObjectStorageRemoteMetadataRestoreHelper::migrateFileToRestorableSchema(const String & path) const { - LOG_TRACE(disk->log, "Migrate file {} to restorable schema", disk->metadata_disk->getPath() + path); + LOG_TRACE(disk->log, "Migrate file {} to restorable schema", disk->metadata_storage->getPath() + path); - auto meta = disk->readMetadata(path); - - for (const auto & [key, _] : meta.remote_fs_objects) + auto objects = disk->metadata_storage->getObjectStoragePaths(path); + for (const auto & [object_path, _] : objects) { ObjectAttributes metadata { {"path", path} }; - updateObjectMetadata(disk->remote_fs_root_path + key, metadata); + updateObjectMetadata(object_path, metadata); } } -void DiskObjectStorageMetadataHelper::migrateToRestorableSchemaRecursive(const String & path, Futures & results) +void DiskObjectStorageRemoteMetadataRestoreHelper::migrateToRestorableSchemaRecursive(const String & path, Futures & results) { checkStackSize(); /// This is needed to prevent stack overflow in case of cyclic symlinks. - LOG_TRACE(disk->log, "Migrate directory {} to restorable schema", disk->metadata_disk->getPath() + path); + LOG_TRACE(disk->log, "Migrate directory {} to restorable schema", disk->metadata_storage->getPath() + path); bool dir_contains_only_files = true; for (auto it = disk->iterateDirectory(path); it->isValid(); it->next()) @@ -139,7 +140,7 @@ void DiskObjectStorageMetadataHelper::migrateToRestorableSchemaRecursive(const S } -void DiskObjectStorageMetadataHelper::migrateToRestorableSchema() +void DiskObjectStorageRemoteMetadataRestoreHelper::migrateToRestorableSchema() { try { @@ -166,7 +167,7 @@ void DiskObjectStorageMetadataHelper::migrateToRestorableSchema() } } -void DiskObjectStorageMetadataHelper::restore(const Poco::Util::AbstractConfiguration & config, const std::string & config_prefix, ContextPtr context) +void DiskObjectStorageRemoteMetadataRestoreHelper::restore(const Poco::Util::AbstractConfiguration & config, const std::string & config_prefix, ContextPtr context) { LOG_INFO(disk->log, "Restore operation for disk {} called", disk->name); @@ -223,7 +224,9 @@ void DiskObjectStorageMetadataHelper::restore(const Poco::Util::AbstractConfigur restoreFiles(source_object_storage, information); restoreFileOperations(source_object_storage, information); - disk->metadata_disk->removeFile(RESTORE_FILE_NAME); + auto tx = disk->metadata_storage->createTransaction(); + tx->unlinkFile(RESTORE_FILE_NAME); + tx->commit(); saveSchemaVersion(RESTORABLE_SCHEMA_VERSION); @@ -237,20 +240,20 @@ void DiskObjectStorageMetadataHelper::restore(const Poco::Util::AbstractConfigur } } -void DiskObjectStorageMetadataHelper::readRestoreInformation(RestoreInformation & restore_information) /// NOLINT +void DiskObjectStorageRemoteMetadataRestoreHelper::readRestoreInformation(RestoreInformation & restore_information) /// NOLINT { - auto buffer = disk->metadata_disk->readFile(RESTORE_FILE_NAME, ReadSettings{}, 512); - buffer->next(); + auto metadata_str = disk->metadata_storage->readFileToString(RESTORE_FILE_NAME); + ReadBufferFromString buffer(metadata_str); try { std::map properties; - while (buffer->hasPendingData()) + while (buffer.hasPendingData()) { String property; - readText(property, *buffer); - assertChar('\n', *buffer); + readText(property, buffer); + assertChar('\n', buffer); auto pos = property.find('='); if (pos == std::string::npos || pos == 0 || pos == property.length()) @@ -310,7 +313,7 @@ static std::tuple extractRevisionAndOperationFromKey(const Strin return {(revision_str.empty() ? 0 : static_cast(std::bitset<64>(revision_str).to_ullong())), operation}; } -void DiskObjectStorageMetadataHelper::moveRecursiveOrRemove(const String & from_path, const String & to_path, bool send_metadata) +void DiskObjectStorageRemoteMetadataRestoreHelper::moveRecursiveOrRemove(const String & from_path, const String & to_path, bool send_metadata) { if (disk->exists(to_path)) { @@ -339,12 +342,12 @@ void DiskObjectStorageMetadataHelper::moveRecursiveOrRemove(const String & from_ } } -void DiskObjectStorageMetadataHelper::restoreFiles(IObjectStorage * source_object_storage, const RestoreInformation & restore_information) +void DiskObjectStorageRemoteMetadataRestoreHelper::restoreFiles(IObjectStorage * source_object_storage, const RestoreInformation & restore_information) { LOG_INFO(disk->log, "Starting restore files for disk {}", disk->name); std::vector> results; - auto restore_files = [this, &source_object_storage, &restore_information, &results](const BlobsPathToSize & keys) + auto restore_files = [this, &source_object_storage, &restore_information, &results](const PathsWithSize & keys) { std::vector keys_names; for (const auto & [key, size] : keys) @@ -377,7 +380,7 @@ void DiskObjectStorageMetadataHelper::restoreFiles(IObjectStorage * source_objec return true; }; - BlobsPathToSize children; + RelativePathsWithSize children; source_object_storage->listPrefix(restore_information.source_path, children); restore_files(children); @@ -391,7 +394,7 @@ void DiskObjectStorageMetadataHelper::restoreFiles(IObjectStorage * source_objec } -void DiskObjectStorageMetadataHelper::processRestoreFiles(IObjectStorage * source_object_storage, const String & source_path, const std::vector & keys) const +void DiskObjectStorageRemoteMetadataRestoreHelper::processRestoreFiles(IObjectStorage * source_object_storage, const String & source_path, const std::vector & keys) const { for (const auto & key : keys) { @@ -422,13 +425,9 @@ void DiskObjectStorageMetadataHelper::processRestoreFiles(IObjectStorage * sourc if (source_object_storage->getObjectsNamespace() != disk->object_storage->getObjectsNamespace() || disk->remote_fs_root_path != source_path) source_object_storage->copyObjectToAnotherObjectStorage(key, disk->remote_fs_root_path + relative_key, *disk->object_storage); - auto updater = [relative_key, meta] (DiskObjectStorage::Metadata & metadata) - { - metadata.addObject(relative_key, meta.size_bytes); - return true; - }; - - disk->createUpdateAndStoreMetadata(path, false, updater); + auto tx = disk->metadata_storage->createTransaction(); + tx->addBlobToMetadata(path, relative_key, meta.size_bytes); + tx->commit(); LOG_TRACE(disk->log, "Restored file {}", path); } @@ -438,9 +437,11 @@ void DiskObjectStorageMetadataHelper::processRestoreFiles(IObjectStorage * sourc void DiskObjectStorage::onFreeze(const String & path) { createDirectories(path); - auto revision_file_buf = metadata_disk->writeFile(path + "revision.txt", 32); - writeIntText(metadata_helper->revision_counter.load(), *revision_file_buf); - revision_file_buf->finalize(); + auto tx = metadata_storage->createTransaction(); + WriteBufferFromOwnString revision_file_buf ; + writeIntText(metadata_helper->revision_counter.load(), revision_file_buf); + tx->writeStringToFile(path + "revision.txt", revision_file_buf.str()); + tx->commit(); } static String pathToDetached(const String & source_path) @@ -450,13 +451,13 @@ static String pathToDetached(const String & source_path) return fs::path(source_path).parent_path() / "detached/"; } -void DiskObjectStorageMetadataHelper::restoreFileOperations(IObjectStorage * source_object_storage, const RestoreInformation & restore_information) +void DiskObjectStorageRemoteMetadataRestoreHelper::restoreFileOperations(IObjectStorage * source_object_storage, const RestoreInformation & restore_information) { /// Enable recording file operations if we restore to different bucket / path. bool send_metadata = source_object_storage->getObjectsNamespace() != disk->object_storage->getObjectsNamespace() || disk->remote_fs_root_path != restore_information.source_path; std::set renames; - auto restore_file_operations = [this, &source_object_storage, &restore_information, &renames, &send_metadata](const BlobsPathToSize & keys) + auto restore_file_operations = [this, &source_object_storage, &restore_information, &renames, &send_metadata](const PathsWithSize & keys) { const String rename = "rename"; const String hardlink = "hardlink"; @@ -523,7 +524,7 @@ void DiskObjectStorageMetadataHelper::restoreFileOperations(IObjectStorage * sou return true; }; - BlobsPathToSize children; + RelativePathsWithSize children; source_object_storage->listPrefix(restore_information.source_path + "operations/", children); restore_file_operations(children); @@ -531,6 +532,7 @@ void DiskObjectStorageMetadataHelper::restoreFileOperations(IObjectStorage * sou { Strings not_finished_prefixes{"tmp_", "delete_tmp_", "attaching_", "deleting_"}; + auto tx = disk->metadata_storage->createTransaction(); for (const auto & path : renames) { /// Skip already detached parts. @@ -557,12 +559,13 @@ void DiskObjectStorageMetadataHelper::restoreFileOperations(IObjectStorage * sou to_path /= from_path.filename(); /// to_path may exist and non-empty in case for example abrupt restart, so remove it before rename - if (disk->metadata_disk->exists(to_path)) - disk->metadata_disk->removeRecursive(to_path); + if (disk->metadata_storage->exists(to_path)) + tx->removeRecursive(to_path); disk->createDirectories(directoryPath(to_path)); - disk->metadata_disk->moveDirectory(from_path, to_path); + tx->moveDirectory(from_path, to_path); } + tx->commit(); } LOG_INFO(disk->log, "File operations restored for disk {}", disk->name); diff --git a/src/Disks/ObjectStorages/DiskObjectStorageMetadataHelper.h b/src/Disks/ObjectStorages/DiskObjectStorageRemoteMetadataRestoreHelper.h similarity index 95% rename from src/Disks/ObjectStorages/DiskObjectStorageMetadataHelper.h rename to src/Disks/ObjectStorages/DiskObjectStorageRemoteMetadataRestoreHelper.h index 58ef8405a13..19011a04722 100644 --- a/src/Disks/ObjectStorages/DiskObjectStorageMetadataHelper.h +++ b/src/Disks/ObjectStorages/DiskObjectStorageRemoteMetadataRestoreHelper.h @@ -17,13 +17,13 @@ class DiskObjectStorage; /// /// FIXME: this class is very intrusive and use a lot of DiskObjectStorage internals. /// FIXME: it's very complex and unreliable, need to implement something better. -class DiskObjectStorageMetadataHelper +class DiskObjectStorageRemoteMetadataRestoreHelper { public: static constexpr UInt64 LATEST_REVISION = std::numeric_limits::max(); static constexpr UInt64 UNKNOWN_REVISION = 0; - DiskObjectStorageMetadataHelper(DiskObjectStorage * disk_, ReadSettings read_settings_) + DiskObjectStorageRemoteMetadataRestoreHelper(DiskObjectStorage * disk_, ReadSettings read_settings_) : disk(disk_) , read_settings(std::move(read_settings_)) , operation_log_suffix("-" + getFQDNOrHostName()) diff --git a/src/Disks/ObjectStorages/DiskObjectStorageTransaction.cpp b/src/Disks/ObjectStorages/DiskObjectStorageTransaction.cpp new file mode 100644 index 00000000000..224174ee5a9 --- /dev/null +++ b/src/Disks/ObjectStorages/DiskObjectStorageTransaction.cpp @@ -0,0 +1,647 @@ +#include +#include +#include +#include +#include +#include + +namespace DB +{ + +namespace ErrorCodes +{ + extern const int UNKNOWN_FORMAT; + extern const int ATTEMPT_TO_READ_AFTER_EOF; + extern const int CANNOT_READ_ALL_DATA; + extern const int CANNOT_OPEN_FILE; + extern const int FILE_DOESNT_EXIST; + extern const int BAD_FILE_TYPE; + extern const int FILE_ALREADY_EXISTS; +} + +DiskObjectStorageTransaction::DiskObjectStorageTransaction( + IObjectStorage & object_storage_, + IMetadataStorage & metadata_storage_, + const std::string & remote_fs_root_path_, + DiskObjectStorageRemoteMetadataRestoreHelper * metadata_helper_) + : object_storage(object_storage_) + , metadata_storage(metadata_storage_) + , metadata_transaction(metadata_storage.createTransaction()) + , remote_fs_root_path(remote_fs_root_path_) + , metadata_helper(metadata_helper_) +{} + +namespace +{ +/// Operation which affects only metadata. Simplest way to +/// implement via callback. +struct PureMetadataObjectStorageOperation final : public IDiskObjectStorageOperation +{ + std::function on_execute; + + PureMetadataObjectStorageOperation( + IObjectStorage & object_storage_, + IMetadataStorage & metadata_storage_, + std::function && on_execute_) + : IDiskObjectStorageOperation(object_storage_, metadata_storage_) + , on_execute(std::move(on_execute_)) + {} + + void execute(MetadataTransactionPtr transaction) override + { + on_execute(transaction); + } + + void undo() override + { + } + + void finalize() override + { + } +}; + +struct RemoveObjectStorageOperation final : public IDiskObjectStorageOperation +{ + std::string path; + bool delete_metadata_only; + bool remove_from_cache{false}; + PathsWithSize paths_to_remove; + bool if_exists; + + RemoveObjectStorageOperation( + IObjectStorage & object_storage_, + IMetadataStorage & metadata_storage_, + const std::string & path_, + bool delete_metadata_only_, + bool if_exists_) + : IDiskObjectStorageOperation(object_storage_, metadata_storage_) + , path(path_) + , delete_metadata_only(delete_metadata_only_) + , if_exists(if_exists_) + {} + + void execute(MetadataTransactionPtr tx) override + { + if (!metadata_storage.exists(path)) + { + if (if_exists) + return; + + throw Exception(ErrorCodes::FILE_DOESNT_EXIST, "Metadata path '{}' doesn't exist", path); + } + + if (!metadata_storage.isFile(path)) + throw Exception(ErrorCodes::BAD_FILE_TYPE, "Path '{}' is not a regular file", path); + + try + { + uint32_t hardlink_count = metadata_storage.getHardlinkCount(path); + auto objects = metadata_storage.getObjectStoragePaths(path); + + tx->unlinkMetadata(path); + + if (hardlink_count == 0) + { + paths_to_remove = objects; + remove_from_cache = true; + } + } + catch (const Exception & e) + { + /// If it's impossible to read meta - just remove it from FS. + if (e.code() == ErrorCodes::UNKNOWN_FORMAT + || e.code() == ErrorCodes::ATTEMPT_TO_READ_AFTER_EOF + || e.code() == ErrorCodes::CANNOT_READ_ALL_DATA + || e.code() == ErrorCodes::CANNOT_OPEN_FILE) + { + tx->unlinkFile(path); + } + else + throw; + } + } + + void undo() override + { + + } + + void finalize() override + { + if (!delete_metadata_only && !paths_to_remove.empty()) + object_storage.removeObjects(paths_to_remove); + + if (remove_from_cache) + { + for (const auto & path_to_remove : paths_to_remove) + object_storage.removeFromCache(path_to_remove.path); + } + + } +}; + +struct RemoveRecursiveObjectStorageOperation final : public IDiskObjectStorageOperation +{ + std::string path; + std::unordered_map paths_to_remove; + bool keep_all_batch_data; + NameSet file_names_remove_metadata_only; + PathsWithSize path_to_remove_from_cache; + + RemoveRecursiveObjectStorageOperation( + IObjectStorage & object_storage_, + IMetadataStorage & metadata_storage_, + const std::string & path_, + bool keep_all_batch_data_, + const NameSet & file_names_remove_metadata_only_) + : IDiskObjectStorageOperation(object_storage_, metadata_storage_) + , path(path_) + , keep_all_batch_data(keep_all_batch_data_) + , file_names_remove_metadata_only(file_names_remove_metadata_only_) + {} + + void removeMetadataRecursive(MetadataTransactionPtr tx, const std::string & path_to_remove) + { + checkStackSize(); /// This is needed to prevent stack overflow in case of cyclic symlinks. + + if (metadata_storage.isFile(path_to_remove)) + { + try + { + uint32_t hardlink_count = metadata_storage.getHardlinkCount(path_to_remove); + auto objects_paths = metadata_storage.getObjectStoragePaths(path_to_remove); + + tx->unlinkMetadata(path_to_remove); + + if (hardlink_count == 0) + { + paths_to_remove[path_to_remove] = objects_paths; + path_to_remove_from_cache.insert(path_to_remove_from_cache.end(), objects_paths.begin(), objects_paths.end()); + } + + } + catch (const Exception & e) + { + /// If it's impossible to read meta - just remove it from FS. + if (e.code() == ErrorCodes::UNKNOWN_FORMAT + || e.code() == ErrorCodes::ATTEMPT_TO_READ_AFTER_EOF + || e.code() == ErrorCodes::CANNOT_READ_ALL_DATA + || e.code() == ErrorCodes::CANNOT_OPEN_FILE) + { + tx->unlinkFile(path_to_remove); + } + else + throw; + } + } + else + { + for (auto it = metadata_storage.iterateDirectory(path_to_remove); it->isValid(); it->next()) + removeMetadataRecursive(tx, it->path()); + + tx->removeDirectory(path_to_remove); + } + } + + void execute(MetadataTransactionPtr tx) override + { + removeMetadataRecursive(tx, path); + } + + void undo() override + { + + } + + void finalize() override + { + if (!keep_all_batch_data) + { + PathsWithSize remove_from_remote; + for (auto && [local_path, remote_paths] : paths_to_remove) + { + if (!file_names_remove_metadata_only.contains(fs::path(local_path).filename())) + { + remove_from_remote.insert(remove_from_remote.end(), remote_paths.begin(), remote_paths.end()); + } + } + object_storage.removeObjects(remove_from_remote); + } + + for (const auto & [path_to_remove, _] : path_to_remove_from_cache) + object_storage.removeFromCache(path_to_remove); + } +}; + + +struct ReplaceFileObjectStorageOperation final : public IDiskObjectStorageOperation +{ + std::string path_from; + std::string path_to; + PathsWithSize blobs_to_remove; + + ReplaceFileObjectStorageOperation( + IObjectStorage & object_storage_, + IMetadataStorage & metadata_storage_, + const std::string & path_from_, + const std::string & path_to_) + : IDiskObjectStorageOperation(object_storage_, metadata_storage_) + , path_from(path_from_) + , path_to(path_to_) + {} + + void execute(MetadataTransactionPtr tx) override + { + if (metadata_storage.exists(path_to)) + { + blobs_to_remove = metadata_storage.getObjectStoragePaths(path_to); + tx->replaceFile(path_from, path_to); + } + else + tx->moveFile(path_from, path_to); + } + + void undo() override + { + + } + + void finalize() override + { + if (!blobs_to_remove.empty()) + object_storage.removeObjects(blobs_to_remove); + } +}; + +struct WriteFileObjectStorageOperation final : public IDiskObjectStorageOperation +{ + std::string path; + std::string blob_path; + size_t size; + std::function on_execute; + + WriteFileObjectStorageOperation( + IObjectStorage & object_storage_, + IMetadataStorage & metadata_storage_, + const std::string & path_, + const std::string & blob_path_) + : IDiskObjectStorageOperation(object_storage_, metadata_storage_) + , path(path_) + , blob_path(blob_path_) + {} + + void setOnExecute(std::function && on_execute_) + { + on_execute = on_execute_; + } + + void execute(MetadataTransactionPtr tx) override + { + if (on_execute) + on_execute(tx); + } + + void undo() override + { + if (object_storage.exists(blob_path)) + object_storage.removeObject(blob_path); + } + + void finalize() override + { + } +}; + + +struct CopyFileObjectStorageOperation final : public IDiskObjectStorageOperation +{ + std::string from_path; + std::string to_path; + std::string remote_fs_root_path; + + std::vector created_blobs; + + CopyFileObjectStorageOperation( + IObjectStorage & object_storage_, + IMetadataStorage & metadata_storage_, + const std::string & from_path_, + const std::string & to_path_, + const std::string & remote_fs_root_path_) + : IDiskObjectStorageOperation(object_storage_, metadata_storage_) + , from_path(from_path_) + , to_path(to_path_) + , remote_fs_root_path(remote_fs_root_path_) + {} + + void execute(MetadataTransactionPtr tx) override + { + tx->createEmptyMetadataFile(to_path); + auto source_blobs = metadata_storage.getObjectStoragePaths(from_path); /// Full paths + + for (const auto & [blob_from, size] : source_blobs) + { + auto blob_name = getRandomASCIIString(); + + auto blob_to = fs::path(remote_fs_root_path) / blob_name; + + object_storage.copyObject(blob_from, blob_to); + + tx->addBlobToMetadata(to_path, blob_name, size); + + created_blobs.push_back(blob_to); + } + } + + void undo() override + { + for (const auto & blob_path : created_blobs) + object_storage.removeObject(blob_path); + } + + void finalize() override + { + } +}; + +} + +void DiskObjectStorageTransaction::createDirectory(const std::string & path) +{ + operations_to_execute.emplace_back( + std::make_unique(object_storage, metadata_storage, [path](MetadataTransactionPtr tx) + { + tx->createDirectory(path); + })); +} + +void DiskObjectStorageTransaction::createDirectories(const std::string & path) +{ + LOG_DEBUG(&Poco::Logger::get("DEBUG"), "CREATE DIRECTORIES TRANSACTION FOR PATH {}", path); + operations_to_execute.emplace_back( + std::make_unique(object_storage, metadata_storage, [path](MetadataTransactionPtr tx) + { + tx->createDicrectoryRecursive(path); + })); +} + + +void DiskObjectStorageTransaction::moveDirectory(const std::string & from_path, const std::string & to_path) +{ + operations_to_execute.emplace_back( + std::make_unique(object_storage, metadata_storage, [from_path, to_path](MetadataTransactionPtr tx) + { + tx->moveDirectory(from_path, to_path); + })); +} + +void DiskObjectStorageTransaction::moveFile(const String & from_path, const String & to_path) +{ + operations_to_execute.emplace_back( + std::make_unique(object_storage, metadata_storage, [from_path, to_path, this](MetadataTransactionPtr tx) + { + if (metadata_storage.exists(to_path)) + throw Exception("File already exists: " + to_path, ErrorCodes::FILE_ALREADY_EXISTS); + + if (!metadata_storage.exists(from_path)) + throw Exception(ErrorCodes::FILE_DOESNT_EXIST, "File {} doesn't exist, cannot move", to_path); + + tx->moveFile(from_path, to_path); + })); +} + +void DiskObjectStorageTransaction::replaceFile(const std::string & from_path, const std::string & to_path) +{ + operations_to_execute.emplace_back(std::make_unique(object_storage, metadata_storage, from_path, to_path)); +} + +void DiskObjectStorageTransaction::clearDirectory(const std::string & path) +{ + for (auto it = metadata_storage.iterateDirectory(path); it->isValid(); it->next()) + { + if (metadata_storage.isFile(it->path())) + removeFile(it->path()); + } +} + +void DiskObjectStorageTransaction::removeFile(const std::string & path) +{ + removeSharedFile(path, false); +} + +void DiskObjectStorageTransaction::removeSharedFile(const std::string & path, bool keep_shared_data) +{ + operations_to_execute.emplace_back(std::make_unique(object_storage, metadata_storage, path, keep_shared_data, false)); +} + +void DiskObjectStorageTransaction::removeSharedRecursive(const std::string & path, bool keep_all_shared_data, const NameSet & file_names_remove_metadata_only) +{ + operations_to_execute.emplace_back(std::make_unique(object_storage, metadata_storage, path, keep_all_shared_data, file_names_remove_metadata_only)); +} + +void DiskObjectStorageTransaction::removeSharedFileIfExists(const std::string & path, bool keep_shared_data) +{ + operations_to_execute.emplace_back(std::make_unique(object_storage, metadata_storage, path, keep_shared_data, true)); +} + +void DiskObjectStorageTransaction::removeDirectory(const std::string & path) +{ + operations_to_execute.emplace_back( + std::make_unique(object_storage, metadata_storage, [path](MetadataTransactionPtr tx) + { + tx->removeDirectory(path); + })); +} + + +void DiskObjectStorageTransaction::removeRecursive(const std::string & path) +{ + removeSharedRecursive(path, false, {}); +} + +void DiskObjectStorageTransaction::removeFileIfExists(const std::string & path) +{ + removeSharedFileIfExists(path, false); +} + + +void DiskObjectStorageTransaction::removeSharedFiles(const RemoveBatchRequest & files, bool keep_all_batch_data, const NameSet & file_names_remove_metadata_only) +{ + for (const auto & file : files) + { + bool keep_file = keep_all_batch_data || file_names_remove_metadata_only.contains(fs::path(file.path).filename()); + if (file.if_exists) + removeSharedFileIfExists(file.path, keep_file); + else + removeSharedFile(file.path, keep_file); + } +} + +namespace +{ + +String revisionToString(UInt64 revision) +{ + return std::bitset<64>(revision).to_string(); +} + +} + +std::unique_ptr DiskObjectStorageTransaction::writeFile( /// NOLINT + const std::string & path, + size_t buf_size, + WriteMode mode, + const WriteSettings & settings, + bool autocommit) +{ + auto blob_name = getRandomASCIIString(); + + std::optional object_attributes; + if (metadata_helper) + { + auto revision = metadata_helper->revision_counter + 1; + metadata_helper->revision_counter++; + object_attributes = { + {"path", path} + }; + blob_name = "r" + revisionToString(revision) + "-file-" + blob_name; + } + + auto blob_path = fs::path(remote_fs_root_path) / blob_name; + + auto write_operation = std::make_unique(object_storage, metadata_storage, path, blob_path); + std::function create_metadata_callback; + + if (autocommit) + { + create_metadata_callback = [tx = shared_from_this(), mode, path, blob_name] (size_t count) + { + if (mode == WriteMode::Rewrite) + tx->metadata_transaction->createMetadataFile(path, blob_name, count); + else + tx->metadata_transaction->addBlobToMetadata(path, blob_name, count); + + tx->metadata_transaction->commit(); + }; + } + else + { + create_metadata_callback = [write_op = write_operation.get(), mode, path, blob_name] (size_t count) + { + /// This callback called in WriteBuffer finalize method -- only there we actually know + /// how many bytes were written. We don't control when this finalize method will be called + /// so here we just modify operation itself, but don't execute anything (and don't modify metadata transaction). + /// Otherwise it's possible to get reorder of operations, like: + /// tx->createDirectory(xxx) -- will add metadata operation in execute + /// buf1 = tx->writeFile(xxx/yyy.bin) + /// buf2 = tx->writeFile(xxx/zzz.bin) + /// ... + /// buf1->finalize() // shouldn't do anything with metadata operations, just memoize what to do + /// tx->commit() + write_op->setOnExecute([mode, path, blob_name, count](MetadataTransactionPtr tx) + { + if (mode == WriteMode::Rewrite) + tx->createMetadataFile(path, blob_name, count); + else + tx->addBlobToMetadata(path, blob_name, count); + }); + }; + + } + + operations_to_execute.emplace_back(std::move(write_operation)); + + /// We always use mode Rewrite because we simulate append using metadata and different files + return object_storage.writeObject( + blob_path, WriteMode::Rewrite, object_attributes, + std::move(create_metadata_callback), + buf_size, settings); +} + + +void DiskObjectStorageTransaction::createHardLink(const std::string & src_path, const std::string & dst_path) +{ + operations_to_execute.emplace_back( + std::make_unique(object_storage, metadata_storage, [src_path, dst_path](MetadataTransactionPtr tx) + { + tx->createHardLink(src_path, dst_path); + })); +} + +void DiskObjectStorageTransaction::setReadOnly(const std::string & path) +{ + operations_to_execute.emplace_back( + std::make_unique(object_storage, metadata_storage, [path](MetadataTransactionPtr tx) + { + tx->setReadOnly(path); + })); +} + +void DiskObjectStorageTransaction::setLastModified(const std::string & path, const Poco::Timestamp & timestamp) +{ + operations_to_execute.emplace_back( + std::make_unique(object_storage, metadata_storage, [path, timestamp](MetadataTransactionPtr tx) + { + tx->setLastModified(path, timestamp); + })); +} + +void DiskObjectStorageTransaction::createFile(const std::string & path) +{ + operations_to_execute.emplace_back( + std::make_unique(object_storage, metadata_storage, [path](MetadataTransactionPtr tx) + { + tx->createEmptyMetadataFile(path); + })); +} + +void DiskObjectStorageTransaction::copyFile(const std::string & from_file_path, const std::string & to_file_path) +{ + operations_to_execute.emplace_back(std::make_unique(object_storage, metadata_storage, from_file_path, to_file_path, remote_fs_root_path)); +} + +void DiskObjectStorageTransaction::commit() +{ + for (size_t i = 0; i < operations_to_execute.size(); ++i) + { + try + { + operations_to_execute[i]->execute(metadata_transaction); + } + catch (Exception & ex) + { + ex.addMessage(fmt::format("While executing operation #{}", i)); + + for (int64_t j = i; j >= 0; --j) + { + try + { + operations_to_execute[j]->undo(); + } + catch (Exception & rollback_ex) + { + rollback_ex.addMessage(fmt::format("While undoing operation #{}", i)); + throw; + } + } + throw; + } + } + + try + { + metadata_transaction->commit(); + } + catch (...) + { + for (const auto & operation : operations_to_execute | std::views::reverse) + operation->undo(); + + throw; + } + + for (const auto & operation : operations_to_execute) + operation->finalize(); +} + +} diff --git a/src/Disks/ObjectStorages/DiskObjectStorageTransaction.h b/src/Disks/ObjectStorages/DiskObjectStorageTransaction.h new file mode 100644 index 00000000000..362b5404707 --- /dev/null +++ b/src/Disks/ObjectStorages/DiskObjectStorageTransaction.h @@ -0,0 +1,114 @@ +#pragma once + +#include +#include +#include + +namespace DB +{ + + +/// Basic operation inside disk object storage transaction. +struct IDiskObjectStorageOperation +{ + /// useful for operations with blobs in object storage + IObjectStorage & object_storage; + /// useful for some read operations + IMetadataStorage & metadata_storage; +public: + IDiskObjectStorageOperation(IObjectStorage & object_storage_, IMetadataStorage & metadata_storage_) + : object_storage(object_storage_) + , metadata_storage(metadata_storage_) + {} + + /// Execute operation and something to metadata transaction + virtual void execute(MetadataTransactionPtr transaction) = 0; + /// Revert operation if possible + virtual void undo() = 0; + /// Action to execute after metadata transaction successfully committed. + /// Useful when it's impossible to revert operation + /// like removal of blobs. Such implementation can lead to garbage. + virtual void finalize() = 0; + virtual ~IDiskObjectStorageOperation() = default; +}; + +using DiskObjectStorageOperation = std::unique_ptr; + +using DiskObjectStorageOperations = std::vector; + +/// Disk object storage transaction, actually implement some part of disk object storage +/// logic. Works on top of non atomic operations with blobs and possibly atomic implementation +/// of metadata storage. +/// +/// Commit works like: +/// 1. Execute all accumulated operations in loop. +/// 2. Commit metadata transaction. +/// 3. Finalize all accumulated operations in loop. +/// +/// If something wrong happen on step 1 or 2 reverts all applied operations. +/// If finalize failed -- nothing is reverted, garbage is left in blob storage. +struct DiskObjectStorageTransaction final : public IDiskTransaction, std::enable_shared_from_this +{ +private: + IObjectStorage & object_storage; + IMetadataStorage & metadata_storage; + MetadataTransactionPtr metadata_transaction; + /// TODO we can get rid of this params + const std::string & remote_fs_root_path; + DiskObjectStorageRemoteMetadataRestoreHelper * metadata_helper; + + DiskObjectStorageOperations operations_to_execute; +public: + DiskObjectStorageTransaction( + IObjectStorage & object_storage_, + IMetadataStorage & metadata_storage_, + const std::string & remote_fs_root_path_, + DiskObjectStorageRemoteMetadataRestoreHelper * metadata_helper_); + + void commit() override; + + void createDirectory(const std::string & path) override; + + void createDirectories(const std::string & path) override; + + void clearDirectory(const std::string & path) override; + + void moveDirectory(const std::string & from_path, const std::string & to_path) override; + + void moveFile(const String & from_path, const String & to_path) override; + + void replaceFile(const std::string & from_path, const std::string & to_path) override; + + void createFile(const String & path) override; + + void copyFile(const std::string & from_file_path, const std::string & to_file_path) override; + + /// writeFile is a difficult function for transactions. + /// Now it's almost noop because metadata added to transaction in finalize method + /// of write buffer. Autocommit means that transaction will be immediately committed + /// after returned buffer will be finalized. + std::unique_ptr writeFile( /// NOLINT + const std::string & path, + size_t buf_size = DBMS_DEFAULT_BUFFER_SIZE, + WriteMode mode = WriteMode::Rewrite, + const WriteSettings & settings = {}, + bool autocommit = true) override; + + void removeFile(const std::string & path) override; + void removeFileIfExists(const std::string & path) override; + void removeDirectory(const std::string & path) override; + void removeRecursive(const std::string & path) override; + + void removeSharedFile(const std::string & path, bool keep_shared_data) override; + void removeSharedRecursive(const std::string & path, bool keep_all_shared_data, const NameSet & file_names_remove_metadata_only) override; + void removeSharedFileIfExists(const std::string & path, bool keep_shared_data) override; + void removeSharedFiles(const RemoveBatchRequest & files, bool keep_all_batch_data, const NameSet & file_names_remove_metadata_only) override; + + void setLastModified(const std::string & path, const Poco::Timestamp & timestamp) override; + void setReadOnly(const std::string & path) override; + void createHardLink(const std::string & src_path, const std::string & dst_path) override; +}; + +using DiskObjectStorageTransactionPtr = std::shared_ptr; + +} diff --git a/src/Disks/ObjectStorages/HDFS/HDFSObjectStorage.cpp b/src/Disks/ObjectStorages/HDFS/HDFSObjectStorage.cpp index 4574b8cb52c..bedd1a83df1 100644 --- a/src/Disks/ObjectStorages/HDFS/HDFSObjectStorage.cpp +++ b/src/Disks/ObjectStorages/HDFS/HDFSObjectStorage.cpp @@ -49,13 +49,12 @@ std::unique_ptr HDFSObjectStorage::readObject( /// NOLINT } std::unique_ptr HDFSObjectStorage::readObjects( /// NOLINT - const std::string & common_path_prefix, - const BlobsPathToSize & blobs_to_read, + const PathsWithSize & paths_to_read, const ReadSettings & read_settings, std::optional, std::optional) const { - auto hdfs_impl = std::make_unique(config, common_path_prefix, common_path_prefix, blobs_to_read, read_settings); + auto hdfs_impl = std::make_unique(config, paths_to_read, read_settings); auto buf = std::make_unique(std::move(hdfs_impl)); return std::make_unique(std::move(buf), settings->min_bytes_for_seek); } @@ -69,7 +68,9 @@ std::unique_ptr HDFSObjectStorage::writeObject( /// NOL const WriteSettings &) { if (attributes.has_value()) - throw Exception(ErrorCodes::UNSUPPORTED_METHOD, "HDFS API doesn't support custom attributes/metadata for stored objects"); + throw Exception( + ErrorCodes::UNSUPPORTED_METHOD, + "HDFS API doesn't support custom attributes/metadata for stored objects"); /// Single O_WRONLY in libhdfs adds O_TRUNC auto hdfs_buffer = std::make_unique( @@ -80,7 +81,7 @@ std::unique_ptr HDFSObjectStorage::writeObject( /// NOL } -void HDFSObjectStorage::listPrefix(const std::string & path, BlobsPathToSize & children) const +void HDFSObjectStorage::listPrefix(const std::string & path, RelativePathsWithSize & children) const { const size_t begin_of_path = path.find('/', path.find("//") + 2); int32_t num_entries; @@ -104,10 +105,10 @@ void HDFSObjectStorage::removeObject(const std::string & path) } -void HDFSObjectStorage::removeObjects(const std::vector & paths) +void HDFSObjectStorage::removeObjects(const PathsWithSize & paths) { - for (const auto & hdfs_path : paths) - removeObject(hdfs_path); + for (const auto & [path, _] : paths) + removeObject(path); } void HDFSObjectStorage::removeObjectIfExists(const std::string & path) @@ -116,15 +117,17 @@ void HDFSObjectStorage::removeObjectIfExists(const std::string & path) removeObject(path); } -void HDFSObjectStorage::removeObjectsIfExist(const std::vector & paths) +void HDFSObjectStorage::removeObjectsIfExist(const PathsWithSize & paths) { - for (const auto & hdfs_path : paths) - removeObjectIfExists(hdfs_path); + for (const auto & [path, _] : paths) + removeObjectIfExists(path); } ObjectMetadata HDFSObjectStorage::getObjectMetadata(const std::string &) const { - throw Exception(ErrorCodes::UNSUPPORTED_METHOD, "HDFS API doesn't support custom attributes/metadata for stored objects"); + throw Exception( + ErrorCodes::UNSUPPORTED_METHOD, + "HDFS API doesn't support custom attributes/metadata for stored objects"); } void HDFSObjectStorage::copyObject( /// NOLINT @@ -133,7 +136,9 @@ void HDFSObjectStorage::copyObject( /// NOLINT std::optional object_to_attributes) { if (object_to_attributes.has_value()) - throw Exception(ErrorCodes::UNSUPPORTED_METHOD, "HDFS API doesn't support custom attributes/metadata for stored objects"); + throw Exception( + ErrorCodes::UNSUPPORTED_METHOD, + "HDFS API doesn't support custom attributes/metadata for stored objects"); auto in = readObject(object_from); auto out = writeObject(object_to, WriteMode::Rewrite); diff --git a/src/Disks/ObjectStorages/HDFS/HDFSObjectStorage.h b/src/Disks/ObjectStorages/HDFS/HDFSObjectStorage.h index a9a223a3d7e..69878568548 100644 --- a/src/Disks/ObjectStorages/HDFS/HDFSObjectStorage.h +++ b/src/Disks/ObjectStorages/HDFS/HDFSObjectStorage.h @@ -61,8 +61,7 @@ public: std::optional file_size = {}) const override; std::unique_ptr readObjects( /// NOLINT - const std::string & common_path_prefix, - const BlobsPathToSize & blobs_to_read, + const PathsWithSize & paths_to_read, const ReadSettings & read_settings = ReadSettings{}, std::optional read_hint = {}, std::optional file_size = {}) const override; @@ -76,15 +75,16 @@ public: size_t buf_size = DBMS_DEFAULT_BUFFER_SIZE, const WriteSettings & write_settings = {}) override; - void listPrefix(const std::string & path, BlobsPathToSize & children) const override; + void listPrefix(const std::string & path, RelativePathsWithSize & children) const override; + /// Remove file. Throws exception if file doesn't exists or it's a directory. void removeObject(const std::string & path) override; - void removeObjects(const std::vector & paths) override; + void removeObjects(const PathsWithSize & paths) override; void removeObjectIfExists(const std::string & path) override; - void removeObjectsIfExist(const std::vector & paths) override; + void removeObjectsIfExist(const PathsWithSize & paths) override; ObjectMetadata getObjectMetadata(const std::string & path) const override; @@ -97,11 +97,18 @@ public: void startup() override; - void applyNewSettings(const Poco::Util::AbstractConfiguration & config, const std::string & config_prefix, ContextPtr context) override; + void applyNewSettings( + const Poco::Util::AbstractConfiguration & config, + const std::string & config_prefix, + ContextPtr context) override; String getObjectsNamespace() const override { return ""; } - std::unique_ptr cloneObjectStorage(const std::string & new_namespace, const Poco::Util::AbstractConfiguration & config, const std::string & config_prefix, ContextPtr context) override; + std::unique_ptr cloneObjectStorage( + const std::string & new_namespace, + const Poco::Util::AbstractConfiguration & config, + const std::string & config_prefix, + ContextPtr context) override; private: const Poco::Util::AbstractConfiguration & config; @@ -110,8 +117,6 @@ private: HDFSFSPtr hdfs_fs; SettingsPtr settings; - - }; } diff --git a/src/Disks/ObjectStorages/HDFS/registerDiskHDFS.cpp b/src/Disks/ObjectStorages/HDFS/registerDiskHDFS.cpp index 04862e43c65..21641aca392 100644 --- a/src/Disks/ObjectStorages/HDFS/registerDiskHDFS.cpp +++ b/src/Disks/ObjectStorages/HDFS/registerDiskHDFS.cpp @@ -1,7 +1,9 @@ #include #include #include +#include #include +#include #include namespace DB @@ -31,21 +33,41 @@ void registerDiskHDFS(DiskFactory & factory) config.getInt(config_prefix + ".objects_chunk_size_to_delete", 1000), context_->getSettingsRef().hdfs_replication ); + + /// FIXME Cache currently unsupported :( ObjectStoragePtr hdfs_storage = std::make_unique(nullptr, uri, std::move(settings), config); - auto metadata_disk = prepareForLocalMetadata(name, config, config_prefix, context_).second; + auto [metadata_path, metadata_disk] = prepareForLocalMetadata(name, config, config_prefix, context_); + + auto metadata_storage = std::make_shared(metadata_disk, uri); uint64_t copy_thread_pool_size = config.getUInt(config_prefix + ".thread_pool_size", 16); - return std::make_shared( + DiskPtr disk_result = std::make_shared( name, uri, "DiskHDFS", - metadata_disk, + std::move(metadata_storage), std::move(hdfs_storage), DiskType::HDFS, /* send_metadata = */ false, copy_thread_pool_size); + +#ifdef NDEBUG + bool use_cache = true; +#else + /// Current S3 cache implementation lead to allocations in destructor of + /// read buffer. + bool use_cache = false; +#endif + + if (config.getBool(config_prefix + ".cache_enabled", use_cache)) + { + String cache_path = config.getString(config_prefix + ".cache_path", context_->getPath() + "disks/" + name + "/cache/"); + disk_result = wrapWithCache(disk_result, "hdfs-cache", cache_path, metadata_path); + } + + return std::make_shared(disk_result); }; factory.registerDiskType("hdfs", creator); diff --git a/src/Disks/ObjectStorages/IMetadataStorage.h b/src/Disks/ObjectStorages/IMetadataStorage.h new file mode 100644 index 00000000000..49f4d4bcc51 --- /dev/null +++ b/src/Disks/ObjectStorages/IMetadataStorage.h @@ -0,0 +1,129 @@ +#pragma once + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace DB +{ + +class IMetadataStorage; + +/// Tries to provide some "transactions" interface, which allow +/// to execute (commit) operations simultaneously. We don't provide +/// any snapshot isolation here, so no read operations in transactions +/// interface. This transaction is more like "batch operation" than real "transaction". +/// +/// But for better usability we can get MetadataStorage interface and use some read methods. +struct IMetadataTransaction : private boost::noncopyable +{ +public: + virtual void commit() = 0; + + virtual const IMetadataStorage & getStorageForNonTransactionalReads() const = 0; + + /// General purpose methods + + /// Write metadata string to file + virtual void writeStringToFile(const std::string & path, const std::string & data) = 0; + + virtual void setLastModified(const std::string & path, const Poco::Timestamp & timestamp) = 0; + + virtual void setReadOnly(const std::string & path) = 0; + + virtual void unlinkFile(const std::string & path) = 0; + + virtual void createDirectory(const std::string & path) = 0; + + virtual void createDicrectoryRecursive(const std::string & path) = 0; + + virtual void removeDirectory(const std::string & path) = 0; + + virtual void removeRecursive(const std::string & path) = 0; + + virtual void createHardLink(const std::string & path_from, const std::string & path_to) = 0; + + virtual void moveFile(const std::string & path_from, const std::string & path_to) = 0; + + virtual void moveDirectory(const std::string & path_from, const std::string & path_to) = 0; + + virtual void replaceFile(const std::string & path_from, const std::string & path_to) = 0; + + /// Metadata related methods + + /// Create empty file in metadata storage + virtual void createEmptyMetadataFile(const std::string & path) = 0; + + /// Create metadata file on paths with content (blob_name, size_in_bytes) + virtual void createMetadataFile(const std::string & path, const std::string & blob_name, uint64_t size_in_bytes) = 0; + + /// Add to new blob to metadata file (way to implement appends) + virtual void addBlobToMetadata(const std::string & path, const std::string & blob_name, uint64_t size_in_bytes) = 0; + + /// Unlink metadata file and do something special if required + /// By default just remove file (unlink file). + virtual void unlinkMetadata(const std::string & path) + { + unlinkFile(path); + } + + virtual ~IMetadataTransaction() = default; +}; + +using MetadataTransactionPtr = std::shared_ptr; + +/// Metadata storage for remote disks like DiskObjectStorage. +/// Support some subset of Disk operations, allow to read/write only +/// small amounts of data (strings). +class IMetadataStorage : private boost::noncopyable +{ +public: + virtual MetadataTransactionPtr createTransaction() const = 0; + + /// General purpose functions (similar to Disk) + virtual const std::string & getPath() const = 0; + + virtual bool exists(const std::string & path) const = 0; + + virtual bool isFile(const std::string & path) const = 0; + + virtual bool isDirectory(const std::string & path) const = 0; + + virtual uint64_t getFileSize(const std::string & path) const = 0; + + virtual Poco::Timestamp getLastModified(const std::string & path) const = 0; + + virtual time_t getLastChanged(const std::string & path) const = 0; + + virtual std::vector listDirectory(const std::string & path) const = 0; + + virtual DirectoryIteratorPtr iterateDirectory(const std::string & path) const = 0; + + virtual uint32_t getHardlinkCount(const std::string & path) const = 0; + + /// Read metadata file to string from path + virtual std::string readFileToString(const std::string & path) const = 0; + + virtual ~IMetadataStorage() = default; + + /// ==== More specefic methods. Previous were almost general purpose. ==== + + /// Read multiple metadata files into strings and return mapping from file_path -> metadata + virtual std::unordered_map getSerializedMetadata(const std::vector & file_paths) const = 0; + + /// Return [(object_storage_path, size_in_bytes), ...] for metadata path + /// object_storage_path is a full path to the blob. + virtual PathsWithSize getObjectStoragePaths(const std::string & path) const = 0; +}; + +using MetadataStoragePtr = std::shared_ptr; + +} diff --git a/src/Disks/ObjectStorages/IObjectStorage.cpp b/src/Disks/ObjectStorages/IObjectStorage.cpp index 3941ad8b6f6..d29ecc24aeb 100644 --- a/src/Disks/ObjectStorages/IObjectStorage.cpp +++ b/src/Disks/ObjectStorages/IObjectStorage.cpp @@ -1,9 +1,11 @@ #include #include +#include #include namespace DB { + AsynchronousReaderPtr IObjectStorage::getThreadPoolReader() { constexpr size_t pool_size = 50; @@ -30,7 +32,7 @@ void IObjectStorage::removeFromCache(const std::string & path) if (cache) { auto key = cache->hash(path); - cache->remove(key); + cache->removeIfExists(key); } } diff --git a/src/Disks/ObjectStorages/IObjectStorage.h b/src/Disks/ObjectStorages/IObjectStorage.h index b9ac497f54f..7532f2a3267 100644 --- a/src/Disks/ObjectStorages/IObjectStorage.h +++ b/src/Disks/ObjectStorages/IObjectStorage.h @@ -13,7 +13,7 @@ #include #include -#include +#include #include @@ -25,23 +25,23 @@ class WriteBufferFromFileBase; using ObjectAttributes = std::map; -/// Path to blob with it's size -struct BlobPathWithSize +/// Path to a file (always absolute) and its size. +struct PathWithSize { - std::string relative_path; + std::string path; uint64_t bytes_size; - BlobPathWithSize() = default; - BlobPathWithSize(const BlobPathWithSize & other) = default; + PathWithSize() = default; - BlobPathWithSize(const std::string & relative_path_, uint64_t bytes_size_) - : relative_path(relative_path_) + PathWithSize(const std::string & path_, uint64_t bytes_size_) + : path(path_) , bytes_size(bytes_size_) {} }; -/// List of blobs with their sizes -using BlobsPathToSize = std::vector; +/// List of paths with their sizes +using PathsWithSize = std::vector; +using RelativePathsWithSize = PathsWithSize; struct ObjectMetadata { @@ -65,8 +65,8 @@ public: /// Path exists or not virtual bool exists(const std::string & path) const = 0; - /// List on prefix, return children with their sizes. - virtual void listPrefix(const std::string & path, BlobsPathToSize & children) const = 0; + /// List on prefix, return children (relative paths) with their sizes. + virtual void listPrefix(const std::string & path, RelativePathsWithSize & children) const = 0; /// Get object metadata if supported. It should be possible to receive /// at least size of object @@ -81,8 +81,7 @@ public: /// Read multiple objects with common prefix virtual std::unique_ptr readObjects( /// NOLINT - const std::string & common_path_prefix, - const BlobsPathToSize & blobs_to_read, + const PathsWithSize & paths_to_read, const ReadSettings & read_settings = ReadSettings{}, std::optional read_hint = {}, std::optional file_size = {}) const = 0; @@ -101,13 +100,13 @@ public: /// Remove multiple objects. Some object storages can do batch remove in a more /// optimal way. - virtual void removeObjects(const std::vector & paths) = 0; + virtual void removeObjects(const PathsWithSize & paths) = 0; /// Remove object on path if exists virtual void removeObjectIfExists(const std::string & path) = 0; /// Remove objects on path if exists - virtual void removeObjectsIfExist(const std::vector & paths) = 0; + virtual void removeObjectsIfExist(const PathsWithSize & paths) = 0; /// Copy object with different attributes if required virtual void copyObject( /// NOLINT @@ -140,7 +139,10 @@ public: void removeFromCache(const std::string & path); /// Apply new settings, in most cases reiniatilize client and some other staff - virtual void applyNewSettings(const Poco::Util::AbstractConfiguration & config, const std::string & config_prefix, ContextPtr context) = 0; + virtual void applyNewSettings( + const Poco::Util::AbstractConfiguration & config, + const std::string & config_prefix, + ContextPtr context) = 0; /// Sometimes object storages have something similar to chroot or namespace, for example /// buckets in S3. If object storage doesn't have any namepaces return empty string. @@ -148,7 +150,10 @@ public: /// FIXME: confusing function required for a very specific case. Create new instance of object storage /// in different namespace. - virtual std::unique_ptr cloneObjectStorage(const std::string & new_namespace, const Poco::Util::AbstractConfiguration & config, const std::string & config_prefix, ContextPtr context) = 0; + virtual std::unique_ptr cloneObjectStorage( + const std::string & new_namespace, + const Poco::Util::AbstractConfiguration & config, + const std::string & config_prefix, ContextPtr context) = 0; protected: FileCachePtr cache; diff --git a/src/Disks/ObjectStorages/MetadataStorageFromDisk.cpp b/src/Disks/ObjectStorages/MetadataStorageFromDisk.cpp new file mode 100644 index 00000000000..22502a6e2d1 --- /dev/null +++ b/src/Disks/ObjectStorages/MetadataStorageFromDisk.cpp @@ -0,0 +1,338 @@ +#include +#include +#include +#include +#include +#include +#include +#include + +namespace DB +{ + +namespace ErrorCodes +{ + extern const int FS_METADATA_ERROR; +} + + +std::string toString(MetadataFromDiskTransactionState state) +{ + switch (state) + { + case MetadataFromDiskTransactionState::PREPARING: + return "PREPARING"; + case MetadataFromDiskTransactionState::FAILED: + return "FAILED"; + case MetadataFromDiskTransactionState::COMMITTED: + return "COMMITTED"; + case MetadataFromDiskTransactionState::PARTIALLY_ROLLED_BACK: + return "PARTIALLY_ROLLED_BACK"; + } + __builtin_unreachable(); +} + +void MetadataStorageFromDiskTransaction::writeStringToFile( /// NOLINT + const std::string & path, + const std::string & data) +{ + addOperation(std::make_unique(path, *metadata_storage.disk, data)); +} + + +void MetadataStorageFromDiskTransaction::addOperation(MetadataOperationPtr && operation) +{ + if (state != MetadataFromDiskTransactionState::PREPARING) + throw Exception(ErrorCodes::FS_METADATA_ERROR, "Cannot add operations to transaction in {} state, it should be in {} state", + toString(state), toString(MetadataFromDiskTransactionState::PREPARING)); + + operations.emplace_back(std::move(operation)); +} + +void MetadataStorageFromDiskTransaction::commit() +{ + if (state != MetadataFromDiskTransactionState::PREPARING) + throw Exception(ErrorCodes::FS_METADATA_ERROR, "Cannot commit transaction in {} state, it should be in {} state", + toString(state), toString(MetadataFromDiskTransactionState::PREPARING)); + + { + std::lock_guard lock(metadata_storage.metadata_mutex); + for (size_t i = 0; i < operations.size(); ++i) + { + try + { + operations[i]->execute(); + } + catch (Exception & ex) + { + ex.addMessage(fmt::format("While committing metadata operation #{}", i)); + state = MetadataFromDiskTransactionState::FAILED; + rollback(i); + throw; + } + } + } + + /// Do it in "best effort" mode + for (size_t i = 0; i < operations.size(); ++i) + { + try + { + operations[i]->finalize(); + } + catch (...) + { + tryLogCurrentException(__PRETTY_FUNCTION__, fmt::format("Failed to finalize operation #{}", i)); + } + } + + state = MetadataFromDiskTransactionState::COMMITTED; +} + +void MetadataStorageFromDiskTransaction::rollback(size_t until_pos) +{ + /// Otherwise everything is alright + if (state == MetadataFromDiskTransactionState::FAILED) + { + for (int64_t i = until_pos; i >= 0; --i) + { + try + { + operations[i]->undo(); + } + catch (Exception & ex) + { + state = MetadataFromDiskTransactionState::PARTIALLY_ROLLED_BACK; + ex.addMessage(fmt::format("While rolling back operation #{}", i)); + throw; + } + } + } + else + { + /// Nothing to do, transaction committed or not even started to commit + } +} + +const std::string & MetadataStorageFromDisk::getPath() const +{ + return disk->getPath(); +} + +bool MetadataStorageFromDisk::exists(const std::string & path) const +{ + return disk->exists(path); +} + +bool MetadataStorageFromDisk::isFile(const std::string & path) const +{ + return disk->isFile(path); +} + + +bool MetadataStorageFromDisk::isDirectory(const std::string & path) const +{ + return disk->isDirectory(path); +} + +Poco::Timestamp MetadataStorageFromDisk::getLastModified(const std::string & path) const +{ + return disk->getLastModified(path); +} + +time_t MetadataStorageFromDisk::getLastChanged(const std::string & path) const +{ + return disk->getLastChanged(path); +} + +uint64_t MetadataStorageFromDisk::getFileSize(const String & path) const +{ + auto metadata = readMetadata(path); + return metadata->getTotalSizeBytes(); +} + +std::vector MetadataStorageFromDisk::listDirectory(const std::string & path) const +{ + std::vector result_files; + disk->listFiles(path, result_files); + return result_files; +} + +DirectoryIteratorPtr MetadataStorageFromDisk::iterateDirectory(const std::string & path) const +{ + return disk->iterateDirectory(path); +} + + +std::string MetadataStorageFromDisk::readFileToString(const std::string & path) const +{ + auto buf = disk->readFile(path); + std::string result; + readStringUntilEOF(result, *buf); + return result; +} + +void MetadataStorageFromDiskTransaction::createEmptyMetadataFile(const std::string & path) +{ + auto metadata = std::make_unique(metadata_storage.disk->getPath(), metadata_storage.root_path_for_remote_metadata, path); + writeStringToFile(path, metadata->serializeToString()); +} + +void MetadataStorageFromDiskTransaction::setLastModified(const std::string & path, const Poco::Timestamp & timestamp) +{ + addOperation(std::make_unique(path, timestamp, *metadata_storage.disk)); +} + +void MetadataStorageFromDiskTransaction::unlinkFile(const std::string & path) +{ + addOperation(std::make_unique(path, *metadata_storage.disk)); +} + +void MetadataStorageFromDiskTransaction::removeRecursive(const std::string & path) +{ + addOperation(std::make_unique(path, *metadata_storage.disk)); +} + +void MetadataStorageFromDiskTransaction::createDirectory(const std::string & path) +{ + addOperation(std::make_unique(path, *metadata_storage.disk)); +} + +void MetadataStorageFromDiskTransaction::createDicrectoryRecursive(const std::string & path) +{ + addOperation(std::make_unique(path, *metadata_storage.disk)); +} + +void MetadataStorageFromDiskTransaction::removeDirectory(const std::string & path) +{ + addOperation(std::make_unique(path, *metadata_storage.disk)); +} + +void MetadataStorageFromDiskTransaction::createHardLink(const std::string & path_from, const std::string & path_to) +{ + auto metadata = metadata_storage.readMetadata(path_from); + + metadata->incrementRefCount(); + + writeStringToFile(path_from, metadata->serializeToString()); + + addOperation(std::make_unique(path_from, path_to, *metadata_storage.disk)); +} + +void MetadataStorageFromDiskTransaction::moveFile(const std::string & path_from, const std::string & path_to) +{ + addOperation(std::make_unique(path_from, path_to, *metadata_storage.disk)); +} + +void MetadataStorageFromDiskTransaction::moveDirectory(const std::string & path_from, const std::string & path_to) +{ + addOperation(std::make_unique(path_from, path_to, *metadata_storage.disk)); +} + +void MetadataStorageFromDiskTransaction::replaceFile(const std::string & path_from, const std::string & path_to) +{ + addOperation(std::make_unique(path_from, path_to, *metadata_storage.disk)); +} + +void MetadataStorageFromDiskTransaction::setReadOnly(const std::string & path) +{ + auto metadata = metadata_storage.readMetadata(path); + metadata->setReadOnly(); + writeStringToFile(path, metadata->serializeToString()); +} + +void MetadataStorageFromDiskTransaction::createMetadataFile(const std::string & path, const std::string & blob_name, uint64_t size_in_bytes) +{ + DiskObjectStorageMetadataPtr metadata = std::make_unique(metadata_storage.disk->getPath(), metadata_storage.root_path_for_remote_metadata, path); + metadata->addObject(blob_name, size_in_bytes); + writeStringToFile(path, metadata->serializeToString()); +} + +void MetadataStorageFromDiskTransaction::addBlobToMetadata(const std::string & path, const std::string & blob_name, uint64_t size_in_bytes) +{ + DiskObjectStorageMetadataPtr metadata; + if (metadata_storage.exists(path)) + { + metadata = metadata_storage.readMetadata(path); + } + else + { + metadata = std::make_unique(metadata_storage.disk->getPath(), metadata_storage.root_path_for_remote_metadata, path); + } + + metadata->addObject(blob_name, size_in_bytes); + writeStringToFile(path, metadata->serializeToString()); +} + +DiskObjectStorageMetadataPtr MetadataStorageFromDisk::readMetadataUnlocked(const std::string & path, std::shared_lock &) const +{ + auto metadata = std::make_unique(disk->getPath(), root_path_for_remote_metadata, path); + auto str = readFileToString(path); + metadata->deserializeFromString(str); + return metadata; +} + +DiskObjectStorageMetadataPtr MetadataStorageFromDisk::readMetadata(const std::string & path) const +{ + std::shared_lock lock(metadata_mutex); + return readMetadataUnlocked(path, lock); +} + +std::unordered_map MetadataStorageFromDisk::getSerializedMetadata(const std::vector & file_paths) const +{ + std::shared_lock lock(metadata_mutex); + std::unordered_map metadatas; + + for (const auto & path : file_paths) + { + auto metadata = readMetadataUnlocked(path, lock); + metadata->resetRefCount(); + WriteBufferFromOwnString buf; + metadata->serialize(buf, false); + metadatas[path] = buf.str(); + } + + return metadatas; +} + +MetadataTransactionPtr MetadataStorageFromDisk::createTransaction() const +{ + return std::make_shared(*this); +} + +PathsWithSize MetadataStorageFromDisk::getObjectStoragePaths(const std::string & path) const +{ + auto metadata = readMetadata(path); + + auto object_storage_relative_paths = metadata->getBlobsRelativePaths(); /// Relative paths. + fs::path root_path = metadata->getBlobsCommonPrefix(); + + PathsWithSize object_storage_paths; + object_storage_paths.reserve(object_storage_relative_paths.size()); + + /// Relative paths -> absolute. + for (auto & [object_relative_path, size] : object_storage_relative_paths) + object_storage_paths.emplace_back(root_path / object_relative_path, size); + + return object_storage_paths; +} + +uint32_t MetadataStorageFromDisk::getHardlinkCount(const std::string & path) const +{ + auto metadata = readMetadata(path); + return metadata->getRefCount(); +} + +void MetadataStorageFromDiskTransaction::unlinkMetadata(const std::string & path) +{ + auto metadata = metadata_storage.readMetadata(path); + uint32_t ref_count = metadata->getRefCount(); + if (ref_count != 0) + { + metadata->decrementRefCount(); + writeStringToFile(path, metadata->serializeToString()); + } + unlinkFile(path); +} + +} diff --git a/src/Disks/ObjectStorages/MetadataStorageFromDisk.h b/src/Disks/ObjectStorages/MetadataStorageFromDisk.h new file mode 100644 index 00000000000..8dd47d18fdb --- /dev/null +++ b/src/Disks/ObjectStorages/MetadataStorageFromDisk.h @@ -0,0 +1,131 @@ +#pragma once + +#include + +#include +#include +#include "MetadataStorageFromDiskTransactionOperations.h" + +namespace DB +{ + +enum class MetadataFromDiskTransactionState +{ + PREPARING, + FAILED, + COMMITTED, + PARTIALLY_ROLLED_BACK, +}; + +std::string toString(MetadataFromDiskTransactionState state); + +class MetadataStorageFromDisk final : public IMetadataStorage +{ +private: + friend struct MetadataStorageFromDiskTransaction; + + DiskPtr disk; + std::string root_path_for_remote_metadata; + mutable std::shared_mutex metadata_mutex; + +public: + MetadataStorageFromDisk(DiskPtr disk_, const std::string & root_path_from_remote_metadata_) + : disk(disk_) + , root_path_for_remote_metadata(root_path_from_remote_metadata_) + { + } + + MetadataTransactionPtr createTransaction() const override; + + const std::string & getPath() const override; + + bool exists(const std::string & path) const override; + + bool isFile(const std::string & path) const override; + + bool isDirectory(const std::string & path) const override; + + uint64_t getFileSize(const String & path) const override; + + Poco::Timestamp getLastModified(const std::string & path) const override; + + time_t getLastChanged(const std::string & path) const override; + + std::vector listDirectory(const std::string & path) const override; + + DirectoryIteratorPtr iterateDirectory(const std::string & path) const override; + + std::string readFileToString(const std::string & path) const override; + + std::unordered_map getSerializedMetadata(const std::vector & file_paths) const override; + + PathsWithSize getObjectStoragePaths(const std::string & path) const override; + + uint32_t getHardlinkCount(const std::string & path) const override; + + +private: + DiskObjectStorageMetadataPtr readMetadata(const std::string & path) const; + DiskObjectStorageMetadataPtr readMetadataUnlocked(const std::string & path, std::shared_lock & lock) const; +}; + +struct MetadataStorageFromDiskTransaction final : public IMetadataTransaction +{ +private: + const MetadataStorageFromDisk & metadata_storage; + + std::vector operations; + MetadataFromDiskTransactionState state{MetadataFromDiskTransactionState::PREPARING}; + + void addOperation(MetadataOperationPtr && operation); + void rollback(size_t until_pos); + +public: + explicit MetadataStorageFromDiskTransaction(const MetadataStorageFromDisk & metadata_storage_) + : metadata_storage(metadata_storage_) + {} + + const IMetadataStorage & getStorageForNonTransactionalReads() const override + { + return metadata_storage; + } + + void commit() override; + + void writeStringToFile(const std::string & path, const std::string & data) override; + + void createEmptyMetadataFile(const std::string & path) override; + + void createMetadataFile(const std::string & path, const std::string & blob_name, uint64_t size_in_bytes) override; + + void addBlobToMetadata(const std::string & path, const std::string & blob_name, uint64_t size_in_bytes) override; + + void setLastModified(const std::string & path, const Poco::Timestamp & timestamp) override; + + void setReadOnly(const std::string & path) override; + + void unlinkFile(const std::string & path) override; + + void createDirectory(const std::string & path) override; + + void createDicrectoryRecursive(const std::string & path) override; + + void removeDirectory(const std::string & path) override; + + void removeRecursive(const std::string & path) override; + + void createHardLink(const std::string & path_from, const std::string & path_to) override; + + void moveFile(const std::string & path_from, const std::string & path_to) override; + + void moveDirectory(const std::string & path_from, const std::string & path_to) override; + + void replaceFile(const std::string & path_from, const std::string & path_to) override; + + void unlinkMetadata(const std::string & path) override; + + ~MetadataStorageFromDiskTransaction() override = default; +}; + + +} diff --git a/src/Disks/ObjectStorages/MetadataStorageFromDiskTransactionOperations.cpp b/src/Disks/ObjectStorages/MetadataStorageFromDiskTransactionOperations.cpp new file mode 100644 index 00000000000..dce4ae2f1f7 --- /dev/null +++ b/src/Disks/ObjectStorages/MetadataStorageFromDiskTransactionOperations.cpp @@ -0,0 +1,261 @@ +#include +#include +#include +#include +#include +#include +#include + +namespace fs = std::filesystem; + + +namespace DB +{ + +static std::string getTempFileName(const std::string & dir) +{ + return fs::path(dir) / getRandomASCIIString(); +} + +SetLastModifiedOperation::SetLastModifiedOperation(const std::string & path_, Poco::Timestamp new_timestamp_, IDisk & disk_) + : path(path_) + , new_timestamp(new_timestamp_) + , disk(disk_) +{ +} + +void SetLastModifiedOperation::execute() +{ + old_timestamp = disk.getLastModified(path); + disk.setLastModified(path, new_timestamp); +} + +void SetLastModifiedOperation::undo() +{ + disk.setLastModified(path, old_timestamp); +} + +UnlinkFileOperation::UnlinkFileOperation(const std::string & path_, IDisk & disk_) + : path(path_) + , disk(disk_) +{ +} + +void UnlinkFileOperation::execute() +{ + auto buf = disk.readFile(path); + readStringUntilEOF(prev_data, *buf); + disk.removeFile(path); +} + +void UnlinkFileOperation::undo() +{ + auto buf = disk.writeFile(path); + writeString(prev_data, *buf); + buf->finalize(); +} + +CreateDirectoryOperation::CreateDirectoryOperation(const std::string & path_, IDisk & disk_) + : path(path_) + , disk(disk_) +{ +} + +void CreateDirectoryOperation::execute() +{ + disk.createDirectory(path); +} + +void CreateDirectoryOperation::undo() +{ + disk.removeDirectory(path); +} + +CreateDirectoryRecursiveOperation::CreateDirectoryRecursiveOperation(const std::string & path_, IDisk & disk_) + : path(path_) + , disk(disk_) +{ +} + +void CreateDirectoryRecursiveOperation::execute() +{ + namespace fs = std::filesystem; + fs::path p(path); + while (!disk.exists(p)) + { + paths_created.push_back(p); + if (!p.has_parent_path()) + break; + p = p.parent_path(); + } + for (const auto & path_to_create : paths_created | std::views::reverse) + disk.createDirectory(path_to_create); +} + +void CreateDirectoryRecursiveOperation::undo() +{ + for (const auto & path_created : paths_created) + disk.removeDirectory(path_created); +} + +RemoveDirectoryOperation::RemoveDirectoryOperation(const std::string & path_, IDisk & disk_) + : path(path_) + , disk(disk_) +{ +} + +void RemoveDirectoryOperation::execute() +{ + disk.removeDirectory(path); +} + +void RemoveDirectoryOperation::undo() +{ + disk.createDirectory(path); +} + +RemoveRecursiveOperation::RemoveRecursiveOperation(const std::string & path_, IDisk & disk_) + : path(path_) + , disk(disk_) + , temp_path(getTempFileName(fs::path(path).parent_path())) +{ +} + +void RemoveRecursiveOperation:: execute() +{ + if (disk.isFile(path)) + disk.moveFile(path, temp_path); + else if (disk.isDirectory(path)) + disk.moveDirectory(path, temp_path); +} + +void RemoveRecursiveOperation::undo() +{ + if (disk.isFile(temp_path)) + disk.moveFile(temp_path, path); + else if (disk.isDirectory(temp_path)) + disk.moveDirectory(temp_path, path); +} + +void RemoveRecursiveOperation::finalize() +{ + if (disk.exists(temp_path)) + disk.removeRecursive(temp_path); + + if (disk.exists(path)) + disk.removeRecursive(path); +} + +CreateHardlinkOperation::CreateHardlinkOperation(const std::string & path_from_, const std::string & path_to_, IDisk & disk_) + : path_from(path_from_) + , path_to(path_to_) + , disk(disk_) +{ +} + +void CreateHardlinkOperation::execute() +{ + disk.createHardLink(path_from, path_to); +} + +void CreateHardlinkOperation::undo() +{ + disk.removeFile(path_to); +} + +MoveFileOperation::MoveFileOperation(const std::string & path_from_, const std::string & path_to_, IDisk & disk_) + : path_from(path_from_) + , path_to(path_to_) + , disk(disk_) +{ +} + +void MoveFileOperation::execute() +{ + disk.moveFile(path_from, path_to); +} + +void MoveFileOperation::undo() +{ + disk.moveFile(path_to, path_from); +} + +MoveDirectoryOperation::MoveDirectoryOperation(const std::string & path_from_, const std::string & path_to_, IDisk & disk_) + : path_from(path_from_) + , path_to(path_to_) + , disk(disk_) +{ +} + +void MoveDirectoryOperation::execute() +{ + disk.moveDirectory(path_from, path_to); +} + +void MoveDirectoryOperation::undo() +{ + disk.moveDirectory(path_to, path_from); +} + + +ReplaceFileOperation::ReplaceFileOperation(const std::string & path_from_, const std::string & path_to_, IDisk & disk_) + : path_from(path_from_) + , path_to(path_to_) + , disk(disk_) + , temp_path_to(getTempFileName(fs::path(path_to).parent_path())) +{ +} + +void ReplaceFileOperation::execute() +{ + if (disk.exists(path_to)) + disk.moveFile(path_to, temp_path_to); + + disk.replaceFile(path_from, path_to); +} + +void ReplaceFileOperation::undo() +{ + disk.moveFile(path_to, path_from); + disk.moveFile(temp_path_to, path_to); +} + +void ReplaceFileOperation::finalize() +{ + disk.removeFileIfExists(temp_path_to); +} + +WriteFileOperation::WriteFileOperation(const std::string & path_, IDisk & disk_, const std::string & data_) + : path(path_) + , disk(disk_) + , data(data_) +{ +} + +void WriteFileOperation::execute() +{ + if (disk.exists(path)) + { + existed = true; + auto buf = disk.readFile(path); + readStringUntilEOF(prev_data, *buf); + } + auto buf = disk.writeFile(path); + writeString(data, *buf); + buf->finalize(); +} + +void WriteFileOperation::undo() +{ + if (!existed) + { + disk.removeFileIfExists(path); + } + else + { + auto buf = disk.writeFile(path); + writeString(prev_data, *buf); + } +} + +} diff --git a/src/Disks/ObjectStorages/MetadataStorageFromDiskTransactionOperations.h b/src/Disks/ObjectStorages/MetadataStorageFromDiskTransactionOperations.h new file mode 100644 index 00000000000..f998771a68f --- /dev/null +++ b/src/Disks/ObjectStorages/MetadataStorageFromDiskTransactionOperations.h @@ -0,0 +1,192 @@ +#pragma once + +#include + +namespace DB +{ +class IDisk; + +/** + * Implementations for transactional operations with metadata used by MetadataStorageFromDisk. + */ + +struct IMetadataOperation +{ + virtual void execute() = 0; + virtual void undo() = 0; + virtual void finalize() {} + virtual ~IMetadataOperation() = default; +}; + +using MetadataOperationPtr = std::unique_ptr; + + +struct SetLastModifiedOperation final : public IMetadataOperation +{ + SetLastModifiedOperation(const std::string & path_, Poco::Timestamp new_timestamp_, IDisk & disk_); + + void execute() override; + + void undo() override; + +private: + std::string path; + Poco::Timestamp new_timestamp; + Poco::Timestamp old_timestamp; + IDisk & disk; +}; + + +struct UnlinkFileOperation final : public IMetadataOperation +{ + UnlinkFileOperation(const std::string & path_, IDisk & disk_); + + void execute() override; + + void undo() override; + +private: + std::string path; + IDisk & disk; + std::string prev_data; +}; + + +struct CreateDirectoryOperation final : public IMetadataOperation +{ + CreateDirectoryOperation(const std::string & path_, IDisk & disk_); + + void execute() override; + + void undo() override; + +private: + std::string path; + IDisk & disk; +}; + + +struct CreateDirectoryRecursiveOperation final : public IMetadataOperation +{ + CreateDirectoryRecursiveOperation(const std::string & path_, IDisk & disk_); + + void execute() override; + + void undo() override; + +private: + std::string path; + std::vector paths_created; + IDisk & disk; +}; + + +struct RemoveDirectoryOperation final : public IMetadataOperation +{ + RemoveDirectoryOperation(const std::string & path_, IDisk & disk_); + + void execute() override; + + void undo() override; + +private: + std::string path; + IDisk & disk; +}; + +struct RemoveRecursiveOperation final : public IMetadataOperation +{ + RemoveRecursiveOperation(const std::string & path_, IDisk & disk_); + + void execute() override; + + void undo() override; + + void finalize() override; + +private: + std::string path; + IDisk & disk; + std::string temp_path; +}; + + +struct CreateHardlinkOperation final : public IMetadataOperation +{ + CreateHardlinkOperation(const std::string & path_from_, const std::string & path_to_, IDisk & disk_); + + void execute() override; + + void undo() override; + +private: + std::string path_from; + std::string path_to; + IDisk & disk; +}; + + +struct MoveFileOperation final : public IMetadataOperation +{ + MoveFileOperation(const std::string & path_from_, const std::string & path_to_, IDisk & disk_); + + void execute() override; + + void undo() override; + +private: + std::string path_from; + std::string path_to; + IDisk & disk; +}; + + +struct MoveDirectoryOperation final : public IMetadataOperation +{ + MoveDirectoryOperation(const std::string & path_from_, const std::string & path_to_, IDisk & disk_); + + void execute() override; + + void undo() override; + +private: + std::string path_from; + std::string path_to; + IDisk & disk; +}; + + +struct ReplaceFileOperation final : public IMetadataOperation +{ + ReplaceFileOperation(const std::string & path_from_, const std::string & path_to_, IDisk & disk_); + + void execute() override; + + void undo() override; + + void finalize() override; + +private: + std::string path_from; + std::string path_to; + IDisk & disk; + std::string temp_path_to; +}; + + +struct WriteFileOperation final : public IMetadataOperation +{ + WriteFileOperation(const std::string & path_, IDisk & disk_, const std::string & data_); + + void execute() override; + + void undo() override; +private: + std::string path; + IDisk & disk; + std::string data; + bool existed = false; + std::string prev_data; +}; + +} diff --git a/src/Disks/ObjectStorages/S3/ProxyConfiguration.h b/src/Disks/ObjectStorages/S3/ProxyConfiguration.h index a567c2abb5a..97535ad7729 100644 --- a/src/Disks/ObjectStorages/S3/ProxyConfiguration.h +++ b/src/Disks/ObjectStorages/S3/ProxyConfiguration.h @@ -6,7 +6,7 @@ #include #include -#include +#include #include namespace DB::S3 @@ -16,8 +16,8 @@ class ProxyConfiguration public: virtual ~ProxyConfiguration() = default; /// Returns proxy configuration on each HTTP request. - virtual Aws::Client::ClientConfigurationPerRequest getConfiguration(const Aws::Http::HttpRequest & request) = 0; - virtual void errorReport(const Aws::Client::ClientConfigurationPerRequest & config) = 0; + virtual ClientConfigurationPerRequest getConfiguration(const Aws::Http::HttpRequest & request) = 0; + virtual void errorReport(const ClientConfigurationPerRequest & config) = 0; }; } diff --git a/src/Disks/ObjectStorages/S3/ProxyListConfiguration.cpp b/src/Disks/ObjectStorages/S3/ProxyListConfiguration.cpp index e8be30ee3e5..7c7bc7966ea 100644 --- a/src/Disks/ObjectStorages/S3/ProxyListConfiguration.cpp +++ b/src/Disks/ObjectStorages/S3/ProxyListConfiguration.cpp @@ -12,15 +12,15 @@ ProxyListConfiguration::ProxyListConfiguration(std::vector proxies_) } -Aws::Client::ClientConfigurationPerRequest ProxyListConfiguration::getConfiguration(const Aws::Http::HttpRequest &) +ClientConfigurationPerRequest ProxyListConfiguration::getConfiguration(const Aws::Http::HttpRequest &) { /// Avoid atomic increment if number of proxies is 1. size_t index = proxies.size() > 1 ? (access_counter++) % proxies.size() : 0; - Aws::Client::ClientConfigurationPerRequest cfg; - cfg.proxyScheme = Aws::Http::SchemeMapper::FromString(proxies[index].getScheme().c_str()); - cfg.proxyHost = proxies[index].getHost(); - cfg.proxyPort = proxies[index].getPort(); + ClientConfigurationPerRequest cfg; + cfg.proxy_scheme = Aws::Http::SchemeMapper::FromString(proxies[index].getScheme().c_str()); + cfg.proxy_host = proxies[index].getHost(); + cfg.proxy_port = proxies[index].getPort(); LOG_DEBUG(&Poco::Logger::get("AWSClient"), "Use proxy: {}", proxies[index].toString()); diff --git a/src/Disks/ObjectStorages/S3/ProxyListConfiguration.h b/src/Disks/ObjectStorages/S3/ProxyListConfiguration.h index c7a4ee9ec58..2ef1b5bbb16 100644 --- a/src/Disks/ObjectStorages/S3/ProxyListConfiguration.h +++ b/src/Disks/ObjectStorages/S3/ProxyListConfiguration.h @@ -17,8 +17,8 @@ class ProxyListConfiguration : public ProxyConfiguration { public: explicit ProxyListConfiguration(std::vector proxies_); - Aws::Client::ClientConfigurationPerRequest getConfiguration(const Aws::Http::HttpRequest & request) override; - void errorReport(const Aws::Client::ClientConfigurationPerRequest &) override {} + ClientConfigurationPerRequest getConfiguration(const Aws::Http::HttpRequest & request) override; + void errorReport(const ClientConfigurationPerRequest &) override {} private: /// List of configured proxies. diff --git a/src/Disks/ObjectStorages/S3/ProxyResolverConfiguration.cpp b/src/Disks/ObjectStorages/S3/ProxyResolverConfiguration.cpp index 7449c5200de..109ccf0eba7 100644 --- a/src/Disks/ObjectStorages/S3/ProxyResolverConfiguration.cpp +++ b/src/Disks/ObjectStorages/S3/ProxyResolverConfiguration.cpp @@ -24,17 +24,17 @@ ProxyResolverConfiguration::ProxyResolverConfiguration(const Poco::URI & endpoin { } -Aws::Client::ClientConfigurationPerRequest ProxyResolverConfiguration::getConfiguration(const Aws::Http::HttpRequest &) +ClientConfigurationPerRequest ProxyResolverConfiguration::getConfiguration(const Aws::Http::HttpRequest &) { LOG_DEBUG(&Poco::Logger::get("AWSClient"), "Obtain proxy using resolver: {}", endpoint.toString()); - std::unique_lock lock(cache_mutex); + std::lock_guard lock(cache_mutex); std::chrono::time_point now = std::chrono::system_clock::now(); if (cache_ttl.count() && cache_valid && now <= cache_timestamp + cache_ttl && now >= cache_timestamp) { - LOG_DEBUG(&Poco::Logger::get("AWSClient"), "Use cached proxy: {}://{}:{}", Aws::Http::SchemeMapper::ToString(cached_config.proxyScheme), cached_config.proxyHost, cached_config.proxyPort); + LOG_DEBUG(&Poco::Logger::get("AWSClient"), "Use cached proxy: {}://{}:{}", Aws::Http::SchemeMapper::ToString(cached_config.proxy_scheme), cached_config.proxy_host, cached_config.proxy_port); return cached_config; } @@ -88,9 +88,9 @@ Aws::Client::ClientConfigurationPerRequest ProxyResolverConfiguration::getConfig LOG_DEBUG(&Poco::Logger::get("AWSClient"), "Use proxy: {}://{}:{}", proxy_scheme, proxy_host, proxy_port); - cached_config.proxyScheme = Aws::Http::SchemeMapper::FromString(proxy_scheme.c_str()); - cached_config.proxyHost = proxy_host; - cached_config.proxyPort = proxy_port; + cached_config.proxy_scheme = Aws::Http::SchemeMapper::FromString(proxy_scheme.c_str()); + cached_config.proxy_host = proxy_host; + cached_config.proxy_port = proxy_port; cache_timestamp = std::chrono::system_clock::now(); cache_valid = true; @@ -100,23 +100,23 @@ Aws::Client::ClientConfigurationPerRequest ProxyResolverConfiguration::getConfig { tryLogCurrentException("AWSClient", "Failed to obtain proxy"); /// Don't use proxy if it can't be obtained. - Aws::Client::ClientConfigurationPerRequest cfg; + ClientConfigurationPerRequest cfg; return cfg; } } -void ProxyResolverConfiguration::errorReport(const Aws::Client::ClientConfigurationPerRequest & config) +void ProxyResolverConfiguration::errorReport(const ClientConfigurationPerRequest & config) { - if (config.proxyHost.empty()) + if (config.proxy_host.empty()) return; - std::unique_lock lock(cache_mutex); + std::lock_guard lock(cache_mutex); if (!cache_ttl.count() || !cache_valid) return; - if (cached_config.proxyScheme != config.proxyScheme || cached_config.proxyHost != config.proxyHost - || cached_config.proxyPort != config.proxyPort) + if (std::tie(cached_config.proxy_scheme, cached_config.proxy_host, cached_config.proxy_port) + != std::tie(config.proxy_scheme, config.proxy_host, config.proxy_port)) return; /// Invalidate cached proxy when got error with this proxy diff --git a/src/Disks/ObjectStorages/S3/ProxyResolverConfiguration.h b/src/Disks/ObjectStorages/S3/ProxyResolverConfiguration.h index f5baac54fba..58eda8a9a06 100644 --- a/src/Disks/ObjectStorages/S3/ProxyResolverConfiguration.h +++ b/src/Disks/ObjectStorages/S3/ProxyResolverConfiguration.h @@ -19,8 +19,8 @@ class ProxyResolverConfiguration : public ProxyConfiguration { public: ProxyResolverConfiguration(const Poco::URI & endpoint_, String proxy_scheme_, unsigned proxy_port_, unsigned cache_ttl_); - Aws::Client::ClientConfigurationPerRequest getConfiguration(const Aws::Http::HttpRequest & request) override; - void errorReport(const Aws::Client::ClientConfigurationPerRequest & config) override; + ClientConfigurationPerRequest getConfiguration(const Aws::Http::HttpRequest & request) override; + void errorReport(const ClientConfigurationPerRequest & config) override; private: /// Endpoint to obtain a proxy host. @@ -34,7 +34,7 @@ private: bool cache_valid = false; std::chrono::time_point cache_timestamp; const std::chrono::seconds cache_ttl{0}; - Aws::Client::ClientConfigurationPerRequest cached_config; + ClientConfigurationPerRequest cached_config; }; } diff --git a/src/Disks/ObjectStorages/S3/S3Capabilities.cpp b/src/Disks/ObjectStorages/S3/S3Capabilities.cpp new file mode 100644 index 00000000000..3e9a7d729b3 --- /dev/null +++ b/src/Disks/ObjectStorages/S3/S3Capabilities.cpp @@ -0,0 +1,15 @@ +#include + +namespace DB +{ + +S3Capabilities getCapabilitiesFromConfig(const Poco::Util::AbstractConfiguration & config, const std::string & config_prefix) +{ + return S3Capabilities + { + .support_batch_delete = config.getBool(config_prefix + ".support_batch_delete", true), + .support_proxy = config.getBool(config_prefix + ".support_proxy", config.has(config_prefix + ".proxy")), + }; +} + +} diff --git a/src/Disks/ObjectStorages/S3/S3Capabilities.h b/src/Disks/ObjectStorages/S3/S3Capabilities.h new file mode 100644 index 00000000000..622558f5d23 --- /dev/null +++ b/src/Disks/ObjectStorages/S3/S3Capabilities.h @@ -0,0 +1,26 @@ +#pragma once + +#include +#include + +namespace DB +{ + +/// Supported/unsupported features by different S3 implementations +/// Can be useful only for almost compatible with AWS S3 versions. +struct S3Capabilities +{ + /// Google S3 implementation doesn't support batch delete + /// TODO: possibly we have to use Google SDK https://github.com/googleapis/google-cloud-cpp/tree/main/google/cloud/storage + /// because looks like it misses some features: + /// 1) batch delete (DeleteObjects) + /// 2) upload part copy (UploadPartCopy) + bool support_batch_delete{true}; + + /// Y.Cloud S3 implementation support proxy for connection + bool support_proxy{false}; +}; + +S3Capabilities getCapabilitiesFromConfig(const Poco::Util::AbstractConfiguration & config, const std::string & config_prefix); + +} diff --git a/src/Disks/ObjectStorages/S3/S3ObjectStorage.cpp b/src/Disks/ObjectStorages/S3/S3ObjectStorage.cpp index 78c0fa0ae3c..9236cde6e93 100644 --- a/src/Disks/ObjectStorages/S3/S3ObjectStorage.cpp +++ b/src/Disks/ObjectStorages/S3/S3ObjectStorage.cpp @@ -17,13 +17,14 @@ #include #include #include +#include #include #include #include #include #include -#include +#include #include namespace DB @@ -38,14 +39,10 @@ namespace ErrorCodes namespace { -template -void throwIfError(Aws::Utils::Outcome & response) +bool isNotFoundError(Aws::S3::S3Errors error) { - if (!response.IsSuccess()) - { - const auto & err = response.GetError(); - throw Exception(std::to_string(static_cast(err.GetErrorType())) + ": " + err.GetMessage(), ErrorCodes::S3_ERROR); - } + return error == Aws::S3::S3Errors::RESOURCE_NOT_FOUND + || error == Aws::S3::S3Errors::NO_SUCH_KEY; } template @@ -54,7 +51,21 @@ void throwIfError(const Aws::Utils::Outcome & response) if (!response.IsSuccess()) { const auto & err = response.GetError(); - throw Exception(err.GetMessage(), static_cast(err.GetErrorType())); + throw Exception(ErrorCodes::S3_ERROR, "{} (Code: {})", err.GetMessage(), static_cast(err.GetErrorType())); + } +} + +template +void throwIfUnexpectedError(const Aws::Utils::Outcome & response, bool if_exists) +{ + /// In this case even if absence of key may be ok for us, + /// the log will be polluted with error messages from aws sdk. + /// Looks like there is no way to suppress them. + + if (!response.IsSuccess() && (!if_exists || !isNotFoundError(response.GetError().GetErrorType()))) + { + const auto & err = response.GetError(); + throw Exception(ErrorCodes::S3_ERROR, "{} (Code: {})", err.GetMessage(), static_cast(err.GetErrorType())); } } @@ -98,8 +109,7 @@ bool S3ObjectStorage::exists(const std::string & path) const std::unique_ptr S3ObjectStorage::readObjects( /// NOLINT - const std::string & common_path_prefix, - const BlobsPathToSize & blobs_to_read, + const PathsWithSize & paths_to_read, const ReadSettings & read_settings, std::optional, std::optional) const @@ -117,8 +127,12 @@ std::unique_ptr S3ObjectStorage::readObjects( /// NOLINT auto settings_ptr = s3_settings.get(); auto s3_impl = std::make_unique( - client.get(), bucket, version_id, common_path_prefix, blobs_to_read, - settings_ptr->s3_settings.max_single_read_retries, disk_read_settings); + client.get(), + bucket, + version_id, + paths_to_read, + settings_ptr->s3_settings.max_single_read_retries, + disk_read_settings); if (read_settings.remote_fs_method == RemoteFSReadMethod::threadpool) { @@ -181,7 +195,7 @@ std::unique_ptr S3ObjectStorage::writeObject( /// NOLIN return std::make_unique(std::move(s3_buffer), std::move(finalize_callback), path); } -void S3ObjectStorage::listPrefix(const std::string & path, BlobsPathToSize & children) const +void S3ObjectStorage::listPrefix(const std::string & path, RelativePathsWithSize & children) const { auto settings_ptr = s3_settings.get(); auto client_ptr = client.get(); @@ -210,112 +224,101 @@ void S3ObjectStorage::listPrefix(const std::string & path, BlobsPathToSize & chi } while (outcome.GetResult().GetIsTruncated()); } -void S3ObjectStorage::removeObject(const std::string & path) +void S3ObjectStorage::removeObjectImpl(const std::string & path, bool if_exists) { auto client_ptr = client.get(); - Aws::S3::Model::ObjectIdentifier obj; - obj.SetKey(path); - Aws::S3::Model::Delete delkeys; - delkeys.SetObjects({obj}); - - Aws::S3::Model::DeleteObjectsRequest request; - request.SetBucket(bucket); - request.SetDelete(delkeys); - auto outcome = client_ptr->DeleteObjects(request); - - throwIfError(outcome); -} - -void S3ObjectStorage::removeObjects(const std::vector & paths) -{ - if (paths.empty()) - return; - - auto client_ptr = client.get(); - auto settings_ptr = s3_settings.get(); - - size_t chunk_size_limit = settings_ptr->objects_chunk_size_to_delete; - size_t current_position = 0; - - while (current_position < paths.size()) + // If chunk size is 0, only use single delete request + // This allows us to work with GCS, which doesn't support DeleteObjects + if (!s3_capabilities.support_batch_delete) { - std::vector current_chunk; - String keys; - for (; current_position < paths.size() && current_chunk.size() < chunk_size_limit; ++current_position) - { - Aws::S3::Model::ObjectIdentifier obj; - obj.SetKey(paths[current_position]); - current_chunk.push_back(obj); - - if (!keys.empty()) - keys += ", "; - keys += paths[current_position]; - } + Aws::S3::Model::DeleteObjectRequest request; + request.SetBucket(bucket); + request.SetKey(path); + auto outcome = client_ptr->DeleteObject(request); + throwIfUnexpectedError(outcome, if_exists); + } + else + { + /// TODO: For AWS we prefer to use multiobject operation even for single object + /// maybe we shouldn't? + Aws::S3::Model::ObjectIdentifier obj; + obj.SetKey(path); Aws::S3::Model::Delete delkeys; - delkeys.SetObjects(current_chunk); + delkeys.SetObjects({obj}); Aws::S3::Model::DeleteObjectsRequest request; request.SetBucket(bucket); request.SetDelete(delkeys); auto outcome = client_ptr->DeleteObjects(request); - throwIfError(outcome); + + throwIfUnexpectedError(outcome, if_exists); } } +void S3ObjectStorage::removeObjectsImpl(const PathsWithSize & paths, bool if_exists) +{ + if (paths.empty()) + return; + + if (!s3_capabilities.support_batch_delete) + { + for (const auto & [path, _] : paths) + removeObjectImpl(path, if_exists); + } + else + { + auto client_ptr = client.get(); + auto settings_ptr = s3_settings.get(); + + size_t chunk_size_limit = settings_ptr->objects_chunk_size_to_delete; + size_t current_position = 0; + + while (current_position < paths.size()) + { + std::vector current_chunk; + String keys; + for (; current_position < paths.size() && current_chunk.size() < chunk_size_limit; ++current_position) + { + Aws::S3::Model::ObjectIdentifier obj; + obj.SetKey(paths[current_position].path); + current_chunk.push_back(obj); + + if (!keys.empty()) + keys += ", "; + keys += paths[current_position].path; + } + + Aws::S3::Model::Delete delkeys; + delkeys.SetObjects(current_chunk); + Aws::S3::Model::DeleteObjectsRequest request; + request.SetBucket(bucket); + request.SetDelete(delkeys); + auto outcome = client_ptr->DeleteObjects(request); + + throwIfUnexpectedError(outcome, if_exists); + } + } +} + +void S3ObjectStorage::removeObject(const std::string & path) +{ + removeObjectImpl(path, false); +} + void S3ObjectStorage::removeObjectIfExists(const std::string & path) { - auto client_ptr = client.get(); - Aws::S3::Model::ObjectIdentifier obj; - obj.SetKey(path); - - Aws::S3::Model::Delete delkeys; - delkeys.SetObjects({obj}); - - Aws::S3::Model::DeleteObjectsRequest request; - request.SetBucket(bucket); - request.SetDelete(delkeys); - auto outcome = client_ptr->DeleteObjects(request); - if (!outcome.IsSuccess() && outcome.GetError().GetErrorType() != Aws::S3::S3Errors::RESOURCE_NOT_FOUND) - throwIfError(outcome); + removeObjectImpl(path, true); } -void S3ObjectStorage::removeObjectsIfExist(const std::vector & paths) +void S3ObjectStorage::removeObjects(const PathsWithSize & paths) { - if (paths.empty()) - return; + removeObjectsImpl(paths, false); +} - auto client_ptr = client.get(); - auto settings_ptr = s3_settings.get(); - - - size_t chunk_size_limit = settings_ptr->objects_chunk_size_to_delete; - size_t current_position = 0; - - while (current_position < paths.size()) - { - std::vector current_chunk; - String keys; - for (; current_position < paths.size() && current_chunk.size() < chunk_size_limit; ++current_position) - { - Aws::S3::Model::ObjectIdentifier obj; - obj.SetKey(paths[current_position]); - current_chunk.push_back(obj); - - if (!keys.empty()) - keys += ", "; - keys += paths[current_position]; - } - - Aws::S3::Model::Delete delkeys; - delkeys.SetObjects(current_chunk); - Aws::S3::Model::DeleteObjectsRequest request; - request.SetBucket(bucket); - request.SetDelete(delkeys); - auto outcome = client_ptr->DeleteObjects(request); - if (!outcome.IsSuccess() && outcome.GetError().GetErrorType() != Aws::S3::S3Errors::RESOURCE_NOT_FOUND) - throwIfError(outcome); - } +void S3ObjectStorage::removeObjectsIfExist(const PathsWithSize & paths) +{ + removeObjectsImpl(paths, true); } ObjectMetadata S3ObjectStorage::getObjectMetadata(const std::string & path) const @@ -493,7 +496,7 @@ std::unique_ptr S3ObjectStorage::cloneObjectStorage(const std::s return std::make_unique( nullptr, getClient(config, config_prefix, context), getSettings(config, config_prefix, context), - version_id, new_namespace); + version_id, s3_capabilities, new_namespace); } } diff --git a/src/Disks/ObjectStorages/S3/S3ObjectStorage.h b/src/Disks/ObjectStorages/S3/S3ObjectStorage.h index 9c6c7664ffb..5d4300bffd3 100644 --- a/src/Disks/ObjectStorages/S3/S3ObjectStorage.h +++ b/src/Disks/ObjectStorages/S3/S3ObjectStorage.h @@ -5,6 +5,7 @@ #if USE_AWS_S3 #include +#include #include #include #include @@ -46,11 +47,13 @@ public: std::unique_ptr && client_, std::unique_ptr && s3_settings_, String version_id_, + const S3Capabilities & s3_capabilities_, String bucket_) : IObjectStorage(std::move(cache_)) , bucket(bucket_) , client(std::move(client_)) , s3_settings(std::move(s3_settings_)) + , s3_capabilities(s3_capabilities_) , version_id(std::move(version_id_)) {} @@ -63,8 +66,7 @@ public: std::optional file_size = {}) const override; std::unique_ptr readObjects( /// NOLINT - const std::string & common_path_prefix, - const BlobsPathToSize & blobs_to_read, + const PathsWithSize & paths_to_read, const ReadSettings & read_settings = ReadSettings{}, std::optional read_hint = {}, std::optional file_size = {}) const override; @@ -78,15 +80,16 @@ public: size_t buf_size = DBMS_DEFAULT_BUFFER_SIZE, const WriteSettings & write_settings = {}) override; - void listPrefix(const std::string & path, BlobsPathToSize & children) const override; + void listPrefix(const std::string & path, RelativePathsWithSize & children) const override; + /// Remove file. Throws exception if file doesn't exist or it's a directory. void removeObject(const std::string & path) override; - void removeObjects(const std::vector & paths) override; + void removeObjects(const PathsWithSize & paths) override; void removeObjectIfExists(const std::string & path) override; - void removeObjectsIfExist(const std::vector & paths) override; + void removeObjectsIfExist(const PathsWithSize & paths) override; ObjectMetadata getObjectMetadata(const std::string & path) const override; @@ -105,30 +108,50 @@ public: void startup() override; - void applyNewSettings(const Poco::Util::AbstractConfiguration & config, const std::string & config_prefix, ContextPtr context) override; + void applyNewSettings( + const Poco::Util::AbstractConfiguration & config, + const std::string & config_prefix, + ContextPtr context) override; String getObjectsNamespace() const override { return bucket; } - std::unique_ptr cloneObjectStorage(const std::string & new_namespace, const Poco::Util::AbstractConfiguration & config, const std::string & config_prefix, ContextPtr context) override; + std::unique_ptr cloneObjectStorage( + const std::string & new_namespace, + const Poco::Util::AbstractConfiguration & config, + const std::string & config_prefix, + ContextPtr context) override; + private: void setNewSettings(std::unique_ptr && s3_settings_); void setNewClient(std::unique_ptr && client_); - void copyObjectImpl(const String & src_bucket, const String & src_key, const String & dst_bucket, const String & dst_key, + void copyObjectImpl( + const String & src_bucket, + const String & src_key, + const String & dst_bucket, + const String & dst_key, std::optional head = std::nullopt, std::optional metadata = std::nullopt) const; - void copyObjectMultipartImpl(const String & src_bucket, const String & src_key, const String & dst_bucket, const String & dst_key, + void copyObjectMultipartImpl( + const String & src_bucket, + const String & src_key, + const String & dst_bucket, + const String & dst_key, std::optional head = std::nullopt, std::optional metadata = std::nullopt) const; + void removeObjectImpl(const std::string & path, bool if_exists); + void removeObjectsImpl(const PathsWithSize & paths, bool if_exists); + Aws::S3::Model::HeadObjectOutcome requestObjectHeadData(const std::string & bucket_from, const std::string & key) const; std::string bucket; MultiVersion client; MultiVersion s3_settings; + const S3Capabilities s3_capabilities; const String version_id; }; diff --git a/src/Disks/ObjectStorages/S3/diskSettings.cpp b/src/Disks/ObjectStorages/S3/diskSettings.cpp index 79a7978c53e..17e401a7428 100644 --- a/src/Disks/ObjectStorages/S3/diskSettings.cpp +++ b/src/Disks/ObjectStorages/S3/diskSettings.cpp @@ -128,7 +128,7 @@ std::unique_ptr getClient(const Poco::Util::AbstractConfigura auto proxy_config = getProxyConfiguration(config_prefix, config); if (proxy_config) { - client_configuration.perRequestConfiguration + client_configuration.per_request_configuration = [proxy_config](const auto & request) { return proxy_config->getConfiguration(request); }; client_configuration.error_report = [proxy_config](const auto & request_config) { proxy_config->errorReport(request_config); }; diff --git a/src/Disks/ObjectStorages/S3/registerDiskS3.cpp b/src/Disks/ObjectStorages/S3/registerDiskS3.cpp index d7e82ef3392..b078ec98551 100644 --- a/src/Disks/ObjectStorages/S3/registerDiskS3.cpp +++ b/src/Disks/ObjectStorages/S3/registerDiskS3.cpp @@ -24,6 +24,7 @@ #include #include #include +#include #include @@ -85,12 +86,15 @@ void registerDiskS3(DiskFactory & factory) auto [metadata_path, metadata_disk] = prepareForLocalMetadata(name, config, config_prefix, context); + auto metadata_storage = std::make_shared(metadata_disk, uri.key); + FileCachePtr cache = getCachePtrForDisk(name, config, config_prefix, context); + S3Capabilities s3_capabilities = getCapabilitiesFromConfig(config, config_prefix); ObjectStoragePtr s3_storage = std::make_unique( std::move(cache), getClient(config, config_prefix, context), getSettings(config, config_prefix, context), - uri.version_id, uri.bucket); + uri.version_id, s3_capabilities, uri.bucket); bool send_metadata = config.getBool(config_prefix + ".send_metadata", false); uint64_t copy_thread_pool_size = config.getUInt(config_prefix + ".thread_pool_size", 16); @@ -99,7 +103,7 @@ void registerDiskS3(DiskFactory & factory) name, uri.key, "DiskS3", - metadata_disk, + std::move(metadata_storage), std::move(s3_storage), DiskType::S3, send_metadata, diff --git a/src/Formats/FormatFactory.cpp b/src/Formats/FormatFactory.cpp index 644e4d3ecfd..756b33d3eb2 100644 --- a/src/Formats/FormatFactory.cpp +++ b/src/Formats/FormatFactory.cpp @@ -56,6 +56,7 @@ FormatSettings getFormatSettings(ContextPtr context, const Settings & settings) format_settings.avro.schema_registry_url = settings.format_avro_schema_registry_url.toString(); format_settings.avro.string_column_pattern = settings.output_format_avro_string_column_pattern.toString(); format_settings.avro.output_rows_in_file = settings.output_format_avro_rows_in_file; + format_settings.avro.null_as_default = settings.input_format_avro_null_as_default; format_settings.csv.allow_double_quotes = settings.format_csv_allow_double_quotes; format_settings.csv.allow_single_quotes = settings.format_csv_allow_single_quotes; format_settings.csv.crlf_end_of_line = settings.output_format_csv_crlf_end_of_line; @@ -66,6 +67,7 @@ FormatSettings getFormatSettings(ContextPtr context, const Settings & settings) format_settings.csv.null_representation = settings.format_csv_null_representation; format_settings.csv.input_format_arrays_as_nested_csv = settings.input_format_csv_arrays_as_nested_csv; format_settings.csv.input_format_use_best_effort_in_schema_inference = settings.input_format_csv_use_best_effort_in_schema_inference; + format_settings.csv.skip_first_lines = settings.input_format_csv_skip_first_lines; format_settings.hive_text.fields_delimiter = settings.input_format_hive_text_fields_delimiter; format_settings.hive_text.collection_items_delimiter = settings.input_format_hive_text_collection_items_delimiter; format_settings.hive_text.map_keys_delimiter = settings.input_format_hive_text_map_keys_delimiter; @@ -123,6 +125,7 @@ FormatSettings getFormatSettings(ContextPtr context, const Settings & settings) format_settings.tsv.input_format_enum_as_number = settings.input_format_tsv_enum_as_number; format_settings.tsv.null_representation = settings.format_tsv_null_representation; format_settings.tsv.input_format_use_best_effort_in_schema_inference = settings.input_format_tsv_use_best_effort_in_schema_inference; + format_settings.tsv.skip_first_lines = settings.input_format_tsv_skip_first_lines; format_settings.values.accurate_types_of_literals = settings.input_format_values_accurate_types_of_literals; format_settings.values.deduce_templates_of_expressions = settings.input_format_values_deduce_templates_of_expressions; format_settings.values.interpret_expressions = settings.input_format_values_interpret_expressions; @@ -155,6 +158,11 @@ FormatSettings getFormatSettings(ContextPtr context, const Settings & settings) format_settings.column_names_for_schema_inference = settings.column_names_for_schema_inference; format_settings.mysql_dump.table_name = settings.input_format_mysql_dump_table_name; format_settings.mysql_dump.map_column_names = settings.input_format_mysql_dump_map_column_names; + format_settings.sql_insert.max_batch_size = settings.output_format_sql_insert_max_batch_size; + format_settings.sql_insert.include_column_names = settings.output_format_sql_insert_include_column_names; + format_settings.sql_insert.table_name = settings.output_format_sql_insert_table_name; + format_settings.sql_insert.use_replace = settings.output_format_sql_insert_use_replace; + format_settings.sql_insert.quote_names = settings.output_format_sql_insert_quote_names; /// Validate avro_schema_registry_url with RemoteHostFilter when non-empty and in Server context if (format_settings.schema.is_server) @@ -492,13 +500,12 @@ String FormatFactory::getFormatFromFileName(String file_name, bool throw_if_not_ String FormatFactory::getFormatFromFileDescriptor(int fd) { #ifdef OS_LINUX - char buf[32] = {'\0'}; - snprintf(buf, sizeof(buf), "/proc/self/fd/%d", fd); + std::string proc_path = fmt::format("/proc/self/fd/{}", fd); char file_path[PATH_MAX] = {'\0'}; - if (readlink(buf, file_path, sizeof(file_path) - 1) != -1) + if (readlink(proc_path.c_str(), file_path, sizeof(file_path) - 1) != -1) return getFormatFromFileName(file_path, false); return ""; -#elif defined(__APPLE__) +#elif defined(OS_DARWIN) char file_path[PATH_MAX] = {'\0'}; if (fcntl(fd, F_GETPATH, file_path) != -1) return getFormatFromFileName(file_path, false); @@ -585,6 +592,13 @@ bool FormatFactory::checkIfFormatHasAnySchemaReader(const String & name) const return checkIfFormatHasSchemaReader(name) || checkIfFormatHasExternalSchemaReader(name); } +void FormatFactory::checkFormatName(const String & name) const +{ + auto it = dict.find(name); + if (it == dict.end()) + throw Exception("Unknown format " + name, ErrorCodes::UNKNOWN_FORMAT); +} + FormatFactory & FormatFactory::instance() { static FormatFactory ret; diff --git a/src/Formats/FormatFactory.h b/src/Formats/FormatFactory.h index 8e949a3e367..260f8197d5e 100644 --- a/src/Formats/FormatFactory.h +++ b/src/Formats/FormatFactory.h @@ -210,6 +210,9 @@ public: bool isInputFormat(const String & name) const; bool isOutputFormat(const String & name) const; + /// Check that format with specified name exists and throw an exception otherwise. + void checkFormatName(const String & name) const; + private: FormatsDictionary dict; FileExtensionFormats file_extension_formats; diff --git a/src/Formats/FormatSettings.h b/src/Formats/FormatSettings.h index e6f0a7d229e..70bf8979383 100644 --- a/src/Formats/FormatSettings.h +++ b/src/Formats/FormatSettings.h @@ -1,6 +1,7 @@ #pragma once #include +#include #include @@ -36,7 +37,7 @@ struct FormatSettings bool seekable_read = true; UInt64 max_rows_to_read_for_schema_inference = 100; - String column_names_for_schema_inference = ""; + String column_names_for_schema_inference; enum class DateTimeInputFormat { @@ -92,6 +93,7 @@ struct FormatSettings bool allow_missing_fields = false; String string_column_pattern; UInt64 output_rows_in_file = 1; + bool null_as_default = false; } avro; String bool_true_representation = "true"; @@ -109,6 +111,7 @@ struct FormatSettings String null_representation = "\\N"; char tuple_delimiter = ','; bool input_format_use_best_effort_in_schema_inference = true; + UInt64 skip_first_lines = 0; } csv; struct HiveText @@ -219,6 +222,7 @@ struct FormatSettings String null_representation = "\\N"; bool input_format_enum_as_number = false; bool input_format_use_best_effort_in_schema_inference = true; + UInt64 skip_first_lines = 0; } tsv; struct @@ -271,6 +275,15 @@ struct FormatSettings String table_name; bool map_column_names = true; } mysql_dump; + + struct + { + UInt64 max_batch_size = DEFAULT_BLOCK_SIZE; + String table_name = "table"; + bool include_column_names = true; + bool use_replace = false; + bool quote_names = true; + } sql_insert; }; } diff --git a/src/Formats/ReadSchemaUtils.cpp b/src/Formats/ReadSchemaUtils.cpp index 035546031d8..11a91bd50dc 100644 --- a/src/Formats/ReadSchemaUtils.cpp +++ b/src/Formats/ReadSchemaUtils.cpp @@ -100,18 +100,21 @@ ColumnsDescription readSchemaFromFormat( catch (...) { auto exception_message = getCurrentExceptionMessage(false); - size_t rows_read = schema_reader->getNumRowsRead(); - assert(rows_read <= max_rows_to_read); - max_rows_to_read -= schema_reader->getNumRowsRead(); - if (rows_read != 0 && max_rows_to_read == 0) + if (schema_reader) { - exception_message += "\nTo increase the maximum number of rows to read for structure determination, use setting input_format_max_rows_to_read_for_schema_inference"; - if (iterations > 1) + size_t rows_read = schema_reader->getNumRowsRead(); + assert(rows_read <= max_rows_to_read); + max_rows_to_read -= schema_reader->getNumRowsRead(); + if (rows_read != 0 && max_rows_to_read == 0) { - exception_messages += "\n" + exception_message; - break; + exception_message += "\nTo increase the maximum number of rows to read for structure determination, use setting input_format_max_rows_to_read_for_schema_inference"; + if (iterations > 1) + { + exception_messages += "\n" + exception_message; + break; + } + retry = false; } - retry = false; } if (!retry || !isRetryableSchemaInferenceError(getCurrentExceptionCode())) diff --git a/src/Formats/registerFormats.cpp b/src/Formats/registerFormats.cpp index 8493c84173d..0953572fab9 100644 --- a/src/Formats/registerFormats.cpp +++ b/src/Formats/registerFormats.cpp @@ -82,6 +82,7 @@ void registerOutputFormatMySQLWire(FormatFactory & factory); void registerOutputFormatMarkdown(FormatFactory & factory); void registerOutputFormatPostgreSQLWire(FormatFactory & factory); void registerOutputFormatPrometheus(FormatFactory & factory); +void registerOutputFormatSQLInsert(FormatFactory & factory); /// Input only formats. @@ -205,6 +206,7 @@ void registerFormats() registerOutputFormatPostgreSQLWire(factory); registerOutputFormatCapnProto(factory); registerOutputFormatPrometheus(factory); + registerOutputFormatSQLInsert(factory); registerInputFormatRegexp(factory); registerInputFormatJSONAsString(factory); diff --git a/src/Functions/CMakeLists.txt b/src/Functions/CMakeLists.txt index 60386908f01..1f728489b73 100644 --- a/src/Functions/CMakeLists.txt +++ b/src/Functions/CMakeLists.txt @@ -72,6 +72,10 @@ if (TARGET ch_contrib::llvm) target_link_libraries(clickhouse_functions PRIVATE ch_contrib::llvm) endif () +if (TARGET ch_contrib::base-x) + target_link_libraries(clickhouse_functions PRIVATE ch_contrib::base-x) +endif() + if (TARGET ch_contrib::base64) target_link_libraries(clickhouse_functions PRIVATE ch_contrib::base64) endif() @@ -86,8 +90,8 @@ if (TARGET ch_contrib::h3) target_link_libraries (clickhouse_functions PRIVATE ch_contrib::h3) endif() -if (TARGET ch_contrib::hyperscan) - target_link_libraries(clickhouse_functions PRIVATE ch_contrib::hyperscan) +if (TARGET ch_contrib::vectorscan) + target_link_libraries(clickhouse_functions PRIVATE ch_contrib::vectorscan) endif() if (TARGET ch_contrib::simdjson) diff --git a/src/Functions/CRC.cpp b/src/Functions/CRC.cpp index abcf137f2e7..b7c6c1195ea 100644 --- a/src/Functions/CRC.cpp +++ b/src/Functions/CRC.cpp @@ -118,7 +118,7 @@ struct CRCFunctionWrapper private: static ReturnType doCRC(const ColumnString::Chars & buf, size_t offset, size_t size) { - const unsigned char * p = reinterpret_cast(&buf[0]) + offset; + const unsigned char * p = reinterpret_cast(buf.data()) + offset; return Impl::makeCRC(p, size); } }; diff --git a/src/Functions/CastOverloadResolver.h b/src/Functions/CastOverloadResolver.h index 9b579c34923..e62020e10fe 100644 --- a/src/Functions/CastOverloadResolver.h +++ b/src/Functions/CastOverloadResolver.h @@ -45,7 +45,7 @@ public: const auto & settings_ref = context->getSettingsRef(); if constexpr (internal) - return createImpl({}, false /*keep_nullable*/, false /*cast_ipv4_ipv6_default_on_conversion_error*/); + return createImpl({}, false /*keep_nullable*/, settings_ref.cast_ipv4_ipv6_default_on_conversion_error); return createImpl({}, settings_ref.cast_keep_nullable, settings_ref.cast_ipv4_ipv6_default_on_conversion_error); } diff --git a/src/Functions/FunctionBase58Conversion.h b/src/Functions/FunctionBase58Conversion.h new file mode 100644 index 00000000000..6979ce849f4 --- /dev/null +++ b/src/Functions/FunctionBase58Conversion.h @@ -0,0 +1,256 @@ +#pragma once +#include "config_functions.h" + +#if USE_BASEX +# include +# include +# include +# include +# include +# include +# include +# include + + +namespace DB +{ + +namespace ErrorCodes +{ + extern const int ILLEGAL_COLUMN; + extern const int ILLEGAL_TYPE_OF_ARGUMENT; + extern const int BAD_ARGUMENTS; +} + +struct Base58Encode +{ + static constexpr auto name = "base58Encode"; + + static void process(const ColumnString & input, ColumnString::MutablePtr & dst_column, const std::string & alphabet, size_t input_rows_count) + { + auto & dst_data = dst_column->getChars(); + auto & dst_offsets = dst_column->getOffsets(); + + /// Wikipedia states Base58 has efficiency of 73%, and we take 1.5 scale to avoid reallocation in most cases + size_t current_allocated_size = ceil(1.5 * input.getChars().size()); + + dst_data.resize(current_allocated_size); + dst_offsets.resize(input_rows_count); + + const ColumnString::Offsets & src_offsets = input.getOffsets(); + + const auto * source = input.getChars().raw_data(); + auto * dst = dst_data.data(); + auto * dst_pos = dst; + + size_t src_offset_prev = 0; + size_t processed_size = 0; + + const auto& encoder = (alphabet == "bitcoin") ? Base58::bitcoin() : + ((alphabet == "flickr") ? Base58::flickr() : + ((alphabet == "ripple") ? Base58::ripple() : + Base58::base58())); //GMP + + std::string encoded; + for (size_t row = 0; row < input_rows_count; ++row) + { + size_t srclen = src_offsets[row] - src_offset_prev - 1; + /// Why we didn't use char* here? + /// We don't know the size of the result string beforehand (it's not byte-to-byte encoding), + /// so we may need to do many resizes (the worst case -- we'll do it for each row) + /// This way we do exponential resizes and one final resize after whole operation is complete + encoded.clear(); + if (srclen) + try + { + encoder.encode(encoded, source, srclen); + } + catch (const std::invalid_argument& e) + { + throw Exception(e.what(), ErrorCodes::BAD_ARGUMENTS); + } + catch (const std::domain_error& e) + { + throw Exception(e.what(), ErrorCodes::BAD_ARGUMENTS); + } + size_t outlen = encoded.size(); + + if (processed_size + outlen >= current_allocated_size) + { + current_allocated_size += current_allocated_size; + dst_data.resize(current_allocated_size); + auto processed_offset = dst_pos - dst; + dst = dst_data.data(); + dst_pos = dst; + dst_pos += processed_offset; + } + std::memcpy(dst_pos, encoded.c_str(), ++outlen); + + source += srclen + 1; + dst_pos += outlen; + + dst_offsets[row] = dst_pos - dst; + src_offset_prev = src_offsets[row]; + processed_size += outlen; + } + + dst_data.resize(dst_pos - dst); + } +}; + +struct Base58Decode +{ + static constexpr auto name = "base58Decode"; + + static void process(const ColumnString & input, ColumnString::MutablePtr & dst_column, const std::string & alphabet, size_t input_rows_count) + { + auto & dst_data = dst_column->getChars(); + auto & dst_offsets = dst_column->getOffsets(); + + /// We allocate probably even more then needed to avoid many resizes + size_t current_allocated_size = input.getChars().size(); + + dst_data.resize(current_allocated_size); + dst_offsets.resize(input_rows_count); + + const ColumnString::Offsets & src_offsets = input.getOffsets(); + + const auto * source = input.getChars().raw_data(); + auto * dst = dst_data.data(); + auto * dst_pos = dst; + + size_t src_offset_prev = 0; + size_t processed_size = 0; + + const auto& decoder = (alphabet == "bitcoin") ? Base58::bitcoin() : + ((alphabet == "flickr") ? Base58::flickr() : + ((alphabet == "ripple") ? Base58::ripple() : + Base58::base58())); + + std::string decoded; + for (size_t row = 0; row < input_rows_count; ++row) + { + size_t srclen = src_offsets[row] - src_offset_prev - 1; + /// Why we didn't use char* here? + /// We don't know the size of the result string beforehand (it's not byte-to-byte encoding), + /// so we may need to do many resizes (the worst case -- we'll do it for each row) + /// This way we do exponential resizes and one final resize after whole operation is complete + decoded.clear(); + if (srclen) + try + { + decoder.decode(decoded, source, srclen); + } + catch (const std::invalid_argument& e) + { + throw Exception(e.what(), ErrorCodes::BAD_ARGUMENTS); + } + catch (const std::domain_error& e) + { + throw Exception(e.what(), ErrorCodes::BAD_ARGUMENTS); + } + size_t outlen = decoded.size(); + + if (processed_size + outlen >= current_allocated_size) + { + current_allocated_size += current_allocated_size; + dst_data.resize(current_allocated_size); + auto processed_offset = dst_pos - dst; + dst = dst_data.data(); + dst_pos = dst; + dst_pos += processed_offset; + } + std::memcpy(dst_pos, decoded.c_str(), ++outlen); + + source += srclen + 1; + dst_pos += outlen; + + dst_offsets[row] = dst_pos - dst; + src_offset_prev = src_offsets[row]; + processed_size += outlen; + } + + dst_data.resize(dst_pos - dst); + } +}; + +template +class FunctionBase58Conversion : public IFunction +{ +public: + static constexpr auto name = Func::name; + + static FunctionPtr create(ContextPtr) + { + return std::make_shared(); + } + + String getName() const override + { + return Func::name; + } + + bool isVariadic() const override { return true; } + + size_t getNumberOfArguments() const override { return 0; } + + bool isSuitableForShortCircuitArgumentsExecution(const DataTypesWithConstInfo & /*arguments*/) const override { return true; } + + bool useDefaultImplementationForConstants() const override { return true; } + + ColumnNumbers getArgumentsThatAreAlwaysConstant() const override { return {1}; } + + DataTypePtr getReturnTypeImpl(const ColumnsWithTypeAndName & arguments) const override + { + if (arguments.size() != 1 && arguments.size() != 2) + throw Exception( + "Wrong number of arguments for function " + getName() + ": 1 or 2 expected.", + ErrorCodes::BAD_ARGUMENTS); + + if (!isString(arguments[0].type)) + throw Exception( + "Illegal type " + arguments[0].type->getName() + " of 1st argument of function " + getName() + ". Must be String.", + ErrorCodes::ILLEGAL_TYPE_OF_ARGUMENT); + + if (arguments.size() == 2 && !isString(arguments[1].type)) + throw Exception( + "Illegal type " + arguments[1].type->getName() + " of 2nd argument of function " + getName() + ". Must be String.", + ErrorCodes::ILLEGAL_TYPE_OF_ARGUMENT); + + return std::make_shared(); + } + + ColumnPtr executeImpl(const ColumnsWithTypeAndName & arguments, const DataTypePtr &, size_t input_rows_count) const override + { + const ColumnPtr column_string = arguments[0].column; + const ColumnString * input = checkAndGetColumn(column_string.get()); + if (!input) + throw Exception( + "Illegal column " + arguments[0].column->getName() + " of first argument of function " + getName() + ", must be String", + ErrorCodes::ILLEGAL_COLUMN); + + std::string alphabet = "bitcoin"; + + if (arguments.size() == 2) + { + const auto * alphabet_column = checkAndGetColumn(arguments[1].column.get()); + + if (!alphabet_column) + throw Exception("Second argument for function " + getName() + " must be constant String", ErrorCodes::ILLEGAL_TYPE_OF_ARGUMENT); + + alphabet = alphabet_column->getValue(); + if (alphabet != "bitcoin" && alphabet != "ripple" && alphabet != "flickr" && alphabet != "gmp") + throw Exception("Second argument for function " + getName() + " must be 'bitcoin', 'ripple', 'gmp' or 'flickr'", ErrorCodes::ILLEGAL_COLUMN); + + } + + auto dst_column = ColumnString::create(); + + Func::process(*input, dst_column, alphabet, input_rows_count); + + return dst_column; + } +}; +} + +#endif diff --git a/src/Functions/FunctionBase64Conversion.h b/src/Functions/FunctionBase64Conversion.h index a1d6b966660..87a3309f7ef 100644 --- a/src/Functions/FunctionBase64Conversion.h +++ b/src/Functions/FunctionBase64Conversion.h @@ -85,7 +85,7 @@ public: { if (!WhichDataType(arguments[0].type).isString()) throw Exception( - "Illegal type " + arguments[0].type->getName() + " of 1 argument of function " + getName() + ". Must be String.", + "Illegal type " + arguments[0].type->getName() + " of 1st argument of function " + getName() + ". Must be String.", ErrorCodes::ILLEGAL_TYPE_OF_ARGUMENT); return std::make_shared(); @@ -98,7 +98,7 @@ public: if (!input) throw Exception( - "Illegal column " + arguments[0].column->getName() + " of first argument of function " + getName(), + "Illegal column " + arguments[0].column->getName() + " of first argument of function " + getName() + ", must be of type String", ErrorCodes::ILLEGAL_COLUMN); auto dst_column = ColumnString::create(); diff --git a/src/Functions/FunctionHashID.h b/src/Functions/FunctionHashID.h index fbfb368bec7..30f08c96eca 100644 --- a/src/Functions/FunctionHashID.h +++ b/src/Functions/FunctionHashID.h @@ -51,9 +51,11 @@ public: bool isSuitableForShortCircuitArgumentsExecution(const DataTypesWithConstInfo & /*arguments*/) const override { return false; } + bool useDefaultImplementationForConstants() const override { return true; } + DataTypePtr getReturnTypeImpl(const ColumnsWithTypeAndName & arguments) const override { - if (arguments.size() < 1) + if (arguments.empty()) throw Exception(ErrorCodes::TOO_FEW_ARGUMENTS_FOR_FUNCTION, "Function {} expects at least one argument", getName()); const auto & id_col = arguments[0]; @@ -114,18 +116,16 @@ public: const auto & numcolumn = arguments[0].column; if (checkAndGetColumn(numcolumn.get()) || checkAndGetColumn(numcolumn.get()) - || checkAndGetColumn(numcolumn.get()) || checkAndGetColumn(numcolumn.get()) - || checkAndGetColumnConst(numcolumn.get()) || checkAndGetColumnConst(numcolumn.get()) - || checkAndGetColumnConst(numcolumn.get()) || checkAndGetColumnConst(numcolumn.get())) + || checkAndGetColumn(numcolumn.get()) || checkAndGetColumn(numcolumn.get())) { std::string salt; - UInt8 minLength = 0; + UInt8 min_length = 0; std::string alphabet; if (arguments.size() >= 4) { const auto & alphabetcolumn = arguments[3].column; - if (auto alpha_col = checkAndGetColumnConst(alphabetcolumn.get())) + if (const auto * alpha_col = checkAndGetColumnConst(alphabetcolumn.get())) { alphabet = alpha_col->getValue(); if (alphabet.find('\0') != std::string::npos) @@ -138,18 +138,18 @@ public: if (arguments.size() >= 3) { const auto & minlengthcolumn = arguments[2].column; - if (auto min_length_col = checkAndGetColumnConst(minlengthcolumn.get())) - minLength = min_length_col->getValue(); + if (const auto * min_length_col = checkAndGetColumnConst(minlengthcolumn.get())) + min_length = min_length_col->getValue(); } if (arguments.size() >= 2) { const auto & saltcolumn = arguments[1].column; - if (auto salt_col = checkAndGetColumnConst(saltcolumn.get())) + if (const auto * salt_col = checkAndGetColumnConst(saltcolumn.get())) salt = salt_col->getValue(); } - hashidsxx::Hashids hash(salt, minLength, alphabet); + hashidsxx::Hashids hash(salt, min_length, alphabet); auto col_res = ColumnString::create(); diff --git a/src/Functions/FunctionShowCertificate.cpp b/src/Functions/FunctionShowCertificate.cpp new file mode 100644 index 00000000000..e978f77244c --- /dev/null +++ b/src/Functions/FunctionShowCertificate.cpp @@ -0,0 +1,12 @@ +#include "FunctionShowCertificate.h" +#include + +namespace DB +{ + +void registerFunctionShowCertificate(FunctionFactory & factory) +{ + factory.registerFunction(); +} + +} diff --git a/src/Functions/FunctionShowCertificate.h b/src/Functions/FunctionShowCertificate.h new file mode 100644 index 00000000000..0724158f66b --- /dev/null +++ b/src/Functions/FunctionShowCertificate.h @@ -0,0 +1,189 @@ +#pragma once + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#if USE_SSL + #include + #include "Poco/Net/SSLManager.h" + #include "Poco/Crypto/X509Certificate.h" +#endif + +namespace DB +{ + +namespace ErrorCodes +{ + extern const int SUPPORT_IS_DISABLED; +} + +// showCertificate() +class FunctionShowCertificate : public IFunction +{ +public: + static constexpr auto name = "showCertificate"; + + static FunctionPtr create(ContextPtr) + { +#if !defined(USE_SSL) || USE_SSL == 0 + throw Exception(ErrorCodes::SUPPORT_IS_DISABLED, "SSL support is disabled"); +#endif + return std::make_shared(); + } + + String getName() const override { return name; } + + size_t getNumberOfArguments() const override { return 0; } + + bool isSuitableForShortCircuitArgumentsExecution(const DataTypesWithConstInfo &) const override { return true; } + + DataTypePtr getReturnTypeImpl(const ColumnsWithTypeAndName &) const override + { + return std::make_shared(std::make_shared(), std::make_shared()); + } + + ColumnPtr executeImpl(const ColumnsWithTypeAndName &, const DataTypePtr &, size_t input_rows_count) const override + { + MutableColumnPtr keys = DataTypeString().createColumn(); + MutableColumnPtr values = DataTypeString().createColumn(); + MutableColumnPtr offsets = DataTypeNumber().createColumn(); + + if (input_rows_count) + { +#if USE_SSL + if (const X509 * cert = SSL_CTX_get0_certificate(Poco::Net::SSLManager::instance().defaultServerContext()->sslContext())) + { + BIO * b = BIO_new(BIO_s_mem()); + SCOPE_EXIT( + { + BIO_free(b); + }); + + keys->insert("version"); + values->insert(std::to_string(X509_get_version(cert) + 1)); + + { + char buf[1024] = {0}; + const ASN1_INTEGER * sn = X509_get0_serialNumber(cert); + BIGNUM * bnsn = ASN1_INTEGER_to_BN(sn, nullptr); + SCOPE_EXIT( + { + BN_free(bnsn); + }); + if (BN_print(b, bnsn) > 0 && BIO_read(b, buf, sizeof(buf)) > 0) + { + keys->insert("serial_number"); + values->insert(buf); + } + + } + + { + const ASN1_BIT_STRING *sig = nullptr; + const X509_ALGOR *al = nullptr; + char buf[1024] = {0}; + X509_get0_signature(&sig, &al, cert); + if (al) + { + OBJ_obj2txt(buf, sizeof(buf), al->algorithm, 0); + keys->insert("signature_algo"); + values->insert(buf); + } + } + + char * issuer = X509_NAME_oneline(X509_get_issuer_name(cert), nullptr, 0); + if (issuer) + { + SCOPE_EXIT( + { + OPENSSL_free(issuer); + }); + keys->insert("issuer"); + values->insert(issuer); + } + + { + char buf[1024] = {0}; + if (ASN1_TIME_print(b, X509_get_notBefore(cert)) && BIO_read(b, buf, sizeof(buf)) > 0) + { + keys->insert("not_before"); + values->insert(buf); + } + } + + { + char buf[1024] = {0}; + if (ASN1_TIME_print(b, X509_get_notAfter(cert)) && BIO_read(b, buf, sizeof(buf)) > 0) + { + keys->insert("not_after"); + values->insert(buf); + } + } + + char * subject = X509_NAME_oneline(X509_get_subject_name(cert), nullptr, 0); + if (subject) + { + SCOPE_EXIT( + { + OPENSSL_free(subject); + }); + keys->insert("subject"); + values->insert(subject); + } + + if (X509_PUBKEY * pkey = X509_get_X509_PUBKEY(cert)) + { + char buf[1024] = {0}; + ASN1_OBJECT *ppkalg = nullptr; + const unsigned char *pk = nullptr; + int ppklen = 0; + X509_ALGOR *pa = nullptr; + if (X509_PUBKEY_get0_param(&ppkalg, &pk, &ppklen, &pa, pkey) && + i2a_ASN1_OBJECT(b, ppkalg) > 0 && BIO_read(b, buf, sizeof(buf)) > 0) + { + keys->insert("pkey_algo"); + values->insert(buf); + } + } + } + offsets->insert(keys->size()); +#endif + } + + size_t sz = keys->size(); + + if (sz && input_rows_count > 1) + { + keys->reserve(sz * input_rows_count); + values->reserve(sz * input_rows_count); + offsets->reserve(input_rows_count); + } + + for (size_t i = 1; i < input_rows_count; ++i) + { + for (size_t j = 0; j < sz; ++j) + { + keys->insertFrom(*keys, j); + values->insertFrom(*values, j); + } + offsets->insert(keys->size()); + } + + auto nested_column = ColumnArray::create( + ColumnTuple::create(Columns{std::move(keys), std::move(values)}), std::move(offsets)); + + return ColumnMap::create(nested_column); + } +}; + +} diff --git a/src/Functions/FunctionsAES.cpp b/src/Functions/FunctionsAES.cpp index 6a4777c4dd4..a2dc7e40489 100644 --- a/src/Functions/FunctionsAES.cpp +++ b/src/Functions/FunctionsAES.cpp @@ -40,18 +40,10 @@ StringRef foldEncryptionKeyInMySQLCompatitableMode(size_t cipher_key_size, const const EVP_CIPHER * getCipherByName(const StringRef & cipher_name) { - const auto * evp_cipher = EVP_get_cipherbyname(cipher_name.data); - if (evp_cipher == nullptr) - { - // For some reasons following ciphers can't be found by name. - if (cipher_name == "aes-128-cfb128") - evp_cipher = EVP_aes_128_cfb128(); - } - // NOTE: cipher obtained not via EVP_CIPHER_fetch() would cause extra work on each context reset // with EVP_CIPHER_CTX_reset() or EVP_EncryptInit_ex(), but using EVP_CIPHER_fetch() // causes data race, so we stick to the slower but safer alternative here. - return evp_cipher; + return EVP_get_cipherbyname(cipher_name.data); } } diff --git a/src/Functions/FunctionsBase58.cpp b/src/Functions/FunctionsBase58.cpp new file mode 100644 index 00000000000..dc325ff8cfc --- /dev/null +++ b/src/Functions/FunctionsBase58.cpp @@ -0,0 +1,17 @@ +#include +#if USE_BASEX +#include + +namespace DB +{ +void registerFunctionBase58Encode(FunctionFactory & factory) +{ + factory.registerFunction>(); +} + +void registerFunctionBase58Decode(FunctionFactory & factory) +{ + factory.registerFunction>(); +} +} +#endif diff --git a/src/Functions/FunctionsBinaryRepresentation.cpp b/src/Functions/FunctionsBinaryRepresentation.cpp index 582dd1f1049..a13558133d3 100644 --- a/src/Functions/FunctionsBinaryRepresentation.cpp +++ b/src/Functions/FunctionsBinaryRepresentation.cpp @@ -91,7 +91,7 @@ struct HexImpl out_vec.resize(size * hex_length); size_t pos = 0; - char * out = reinterpret_cast(&out_vec[0]); + char * out = reinterpret_cast(out_vec.data()); for (size_t i = 0; i < size; ++i) { const UInt8 * in_pos = reinterpret_cast(&in_vec[i]); diff --git a/src/Functions/FunctionsConversion.h b/src/Functions/FunctionsConversion.h index bffc15cdc57..e0c42401207 100644 --- a/src/Functions/FunctionsConversion.h +++ b/src/Functions/FunctionsConversion.h @@ -1,5 +1,6 @@ #pragma once +#include "Common/Exception.h" #include #include @@ -204,7 +205,7 @@ struct ConvertImpl if constexpr (std::is_same_v != std::is_same_v) { - throw Exception("Conversion between numeric types and UUID is not supported", ErrorCodes::NOT_IMPLEMENTED); + throw Exception("Conversion between numeric types and UUID is not supported. Probably the passed UUID is unquoted", ErrorCodes::NOT_IMPLEMENTED); } else { @@ -705,7 +706,7 @@ template <> struct FormatImpl { template - static ReturnType execute(const DataTypeDate::FieldType x, WriteBuffer & wb, const DataTypeDate32 *, const DateLUTImpl *) + static ReturnType execute(const DataTypeDate32::FieldType x, WriteBuffer & wb, const DataTypeDate32 *, const DateLUTImpl *) { writeDateText(ExtendedDayNum(x), wb); return ReturnType(true); @@ -1046,13 +1047,11 @@ inline bool tryParseImpl(DataTypeUUID::FieldType & x, ReadBuffer & /** Throw exception with verbose message when string value is not parsed completely. */ -[[noreturn]] inline void throwExceptionForIncompletelyParsedValue(ReadBuffer & read_buffer, const DataTypePtr result_type) +[[noreturn]] inline void throwExceptionForIncompletelyParsedValue(ReadBuffer & read_buffer, const IDataType & result_type) { - const IDataType & to_type = *result_type; - WriteBufferFromOwnString message_buf; message_buf << "Cannot parse string " << quote << String(read_buffer.buffer().begin(), read_buffer.buffer().size()) - << " as " << to_type.getName() + << " as " << result_type.getName() << ": syntax error"; if (read_buffer.offset()) @@ -1062,8 +1061,8 @@ inline bool tryParseImpl(DataTypeUUID::FieldType & x, ReadBuffer & message_buf << " at begin of string"; // Currently there are no functions toIPv{4,6}Or{Null,Zero} - if (isNativeNumber(to_type) && !(to_type.getName() == "IPv4" || to_type.getName() == "IPv6")) - message_buf << ". Note: there are to" << to_type.getName() << "OrZero and to" << to_type.getName() << "OrNull functions, which returns zero/NULL instead of throwing exception."; + if (isNativeNumber(result_type) && !(result_type.getName() == "IPv4" || result_type.getName() == "IPv6")) + message_buf << ". Note: there are to" << result_type.getName() << "OrZero and to" << result_type.getName() << "OrNull functions, which returns zero/NULL instead of throwing exception."; throw Exception(message_buf.str(), ErrorCodes::CANNOT_PARSE_TEXT); } @@ -1253,7 +1252,7 @@ struct ConvertThroughParsing } if (!isAllRead(read_buffer)) - throwExceptionForIncompletelyParsedValue(read_buffer, res_type); + throwExceptionForIncompletelyParsedValue(read_buffer, *res_type); } else { @@ -1354,18 +1353,32 @@ struct ConvertImplGenericFromString static_assert(std::is_same_v || std::is_same_v, "Can be used only to parse from ColumnString or ColumnFixedString"); - const IColumn & col_from = *arguments[0].column; + const IColumn & column_from = *arguments[0].column; const IDataType & data_type_to = *result_type; - if (const StringColumnType * col_from_string = checkAndGetColumn(&col_from)) - { - auto res = data_type_to.createColumn(); + auto res = data_type_to.createColumn(); + auto serialization = data_type_to.getDefaultSerialization(); + const auto * null_map = column_nullable ? &column_nullable->getNullMapData() : nullptr; - IColumn & column_to = *res; + executeImpl(column_from, *res, *serialization, input_rows_count, null_map, result_type.get()); + return res; + } + + static void executeImpl( + const IColumn & column_from, + IColumn & column_to, + const ISerialization & serialization_from, + size_t input_rows_count, + const PaddedPODArray * null_map = nullptr, + const IDataType * result_type = nullptr) + { + static_assert(std::is_same_v || std::is_same_v, + "Can be used only to parse from ColumnString or ColumnFixedString"); + + if (const StringColumnType * col_from_string = checkAndGetColumn(&column_from)) + { column_to.reserve(input_rows_count); FormatSettings format_settings; - auto serialization = data_type_to.getDefaultSerialization(); - const auto * null_map = column_nullable ? &column_nullable->getNullMapData() : nullptr; for (size_t i = 0; i < input_rows_count; ++i) { if (null_map && (*null_map)[i]) @@ -1376,20 +1389,24 @@ struct ConvertImplGenericFromString const auto & val = col_from_string->getDataAt(i); ReadBufferFromMemory read_buffer(val.data, val.size); - - serialization->deserializeWholeText(column_to, read_buffer, format_settings); + serialization_from.deserializeWholeText(column_to, read_buffer, format_settings); if (!read_buffer.eof()) - throwExceptionForIncompletelyParsedValue(read_buffer, result_type); + { + if (result_type) + throwExceptionForIncompletelyParsedValue(read_buffer, *result_type); + else + throw Exception(ErrorCodes::CANNOT_PARSE_TEXT, + "Cannot parse string to column {}. Expected eof", column_to.getName()); + } } - - return res; } else - throw Exception("Illegal column " + arguments[0].column->getName() - + " of first argument of conversion function from string", - ErrorCodes::ILLEGAL_COLUMN); + throw Exception(ErrorCodes::ILLEGAL_COLUMN, + "Illegal column {} of first argument of conversion function from string", + column_from.getName()); } + }; diff --git a/src/Functions/FunctionsExternalDictionaries.h b/src/Functions/FunctionsExternalDictionaries.h index 03833f9a2b2..4bc7a17cf4c 100644 --- a/src/Functions/FunctionsExternalDictionaries.h +++ b/src/Functions/FunctionsExternalDictionaries.h @@ -458,6 +458,8 @@ public: { default_cols.emplace_back(result); } + + ++current_arguments_index; } else { @@ -465,6 +467,13 @@ public: default_cols.emplace_back(nullptr); } + if (current_arguments_index < arguments.size()) + throw Exception(ErrorCodes::NUMBER_OF_ARGUMENTS_DOESNT_MATCH, + "Number of arguments for function {} doesn't match: passed {} should be {}", + getName(), + arguments.size(), + current_arguments_index); + auto key_col_with_type = arguments[2]; bool key_is_only_null = key_col_with_type.type->onlyNull(); @@ -973,7 +982,7 @@ private: auto dictionary = helper.getDictionary(arguments[0].column); const auto & hierarchical_attribute = helper.getDictionaryHierarchicalAttribute(dictionary); - return std::make_shared(hierarchical_attribute.type); + return std::make_shared(removeNullable(hierarchical_attribute.type)); } ColumnPtr executeImpl(const ColumnsWithTypeAndName & arguments, const DataTypePtr & result_type, size_t input_rows_count) const override @@ -985,7 +994,7 @@ private: const auto & hierarchical_attribute = helper.getDictionaryHierarchicalAttribute(dictionary); auto key_column = ColumnWithTypeAndName{arguments[1].column, arguments[1].type, arguments[1].name}; - auto key_column_casted = castColumnAccurate(key_column, hierarchical_attribute.type); + auto key_column_casted = castColumnAccurate(key_column, removeNullable(hierarchical_attribute.type)); ColumnPtr result = dictionary->getHierarchy(key_column_casted, hierarchical_attribute.type); @@ -1042,8 +1051,9 @@ private: auto key_column = ColumnWithTypeAndName{arguments[1].column->convertToFullColumnIfConst(), arguments[1].type, arguments[2].name}; auto in_key_column = ColumnWithTypeAndName{arguments[2].column->convertToFullColumnIfConst(), arguments[2].type, arguments[2].name}; - auto key_column_casted = castColumnAccurate(key_column, hierarchical_attribute.type); - auto in_key_column_casted = castColumnAccurate(in_key_column, hierarchical_attribute.type); + auto hierarchical_attribute_non_nullable = removeNullable(hierarchical_attribute.type); + auto key_column_casted = castColumnAccurate(key_column, hierarchical_attribute_non_nullable); + auto in_key_column_casted = castColumnAccurate(in_key_column, hierarchical_attribute_non_nullable); ColumnPtr result = dictionary->isInHierarchy(key_column_casted, in_key_column_casted, hierarchical_attribute.type); @@ -1082,10 +1092,9 @@ public: const auto & hierarchical_attribute = dictionary_helper->getDictionaryHierarchicalAttribute(dictionary); auto key_column = ColumnWithTypeAndName{arguments[1].column->convertToFullColumnIfConst(), arguments[1].type, arguments[1].name}; - auto key_column_casted = castColumnAccurate(key_column, hierarchical_attribute.type); + auto key_column_casted = castColumnAccurate(key_column, removeNullable(hierarchical_attribute.type)); - ColumnPtr result = dictionary->getDescendants(key_column_casted, hierarchical_attribute.type, level, hierarchical_parent_to_child_index); - return result; + return dictionary->getDescendants(key_column_casted, removeNullable(hierarchical_attribute.type), level, hierarchical_parent_to_child_index); } String name; @@ -1234,7 +1243,7 @@ public: auto dictionary = dictionary_helper->getDictionary(arguments[0].column); const auto & hierarchical_attribute = dictionary_helper->getDictionaryHierarchicalAttribute(dictionary); - return std::make_shared(hierarchical_attribute.type); + return std::make_shared(removeNullable(hierarchical_attribute.type)); } std::shared_ptr dictionary_helper; diff --git a/src/Functions/FunctionsJSON.cpp b/src/Functions/FunctionsJSON.cpp index d2bcb646ecf..fa573ac829a 100644 --- a/src/Functions/FunctionsJSON.cpp +++ b/src/Functions/FunctionsJSON.cpp @@ -123,7 +123,7 @@ public: bool document_ok = false; if (col_json_const) { - std::string_view json{reinterpret_cast(&chars[0]), offsets[0] - 1}; + std::string_view json{reinterpret_cast(chars.data()), offsets[0] - 1}; document_ok = parser.parse(json, document); } @@ -447,10 +447,16 @@ public: FunctionBasePtr build(const ColumnsWithTypeAndName & arguments) const override { + bool has_nothing_argument = false; + for (const auto & arg : arguments) + has_nothing_argument |= isNothing(arg.type); + DataTypePtr json_return_type = Impl::getReturnType(Name::name, createBlockWithNestedColumns(arguments)); NullPresence null_presence = getNullPresense(arguments); DataTypePtr return_type; - if (null_presence.has_null_constant) + if (has_nothing_argument) + return_type = std::make_shared(); + else if (null_presence.has_null_constant) return_type = makeNullable(std::make_shared()); else if (null_presence.has_nullable) return_type = makeNullable(json_return_type); diff --git a/src/Functions/FunctionsLogical.cpp b/src/Functions/FunctionsLogical.cpp index b615f52652c..392cbac8a1b 100644 --- a/src/Functions/FunctionsLogical.cpp +++ b/src/Functions/FunctionsLogical.cpp @@ -13,6 +13,7 @@ #include #include #include +#include #include #include @@ -50,17 +51,15 @@ MutableColumnPtr buildColumnFromTernaryData(const UInt8Container & ternary_data, const size_t rows_count = ternary_data.size(); auto new_column = ColumnUInt8::create(rows_count); - std::transform( - ternary_data.cbegin(), ternary_data.cend(), new_column->getData().begin(), - [](const auto x) { return x == Ternary::True; }); + for (size_t i = 0; i < rows_count; ++i) + new_column->getData()[i] = (ternary_data[i] == Ternary::True); if (!make_nullable) return new_column; auto null_column = ColumnUInt8::create(rows_count); - std::transform( - ternary_data.cbegin(), ternary_data.cend(), null_column->getData().begin(), - [](const auto x) { return x == Ternary::Null; }); + for (size_t i = 0; i < rows_count; ++i) + null_column->getData()[i] = (ternary_data[i] == Ternary::Null); return ColumnNullable::create(std::move(new_column), std::move(null_column)); } @@ -68,13 +67,14 @@ MutableColumnPtr buildColumnFromTernaryData(const UInt8Container & ternary_data, template bool tryConvertColumnToBool(const IColumn * column, UInt8Container & res) { - const auto col = checkAndGetColumn>(column); - if (!col) + const auto column_typed = checkAndGetColumn>(column); + if (!column_typed) return false; - std::transform( - col->getData().cbegin(), col->getData().cend(), res.begin(), - [](const auto x) { return !!x; }); + auto & data = column_typed->getData(); + size_t data_size = data.size(); + for (size_t i = 0; i < data_size; ++i) + res[i] = static_cast(data[i]); return true; } @@ -99,7 +99,7 @@ bool extractConstColumns(ColumnRawPtrs & in, UInt8 & res, Func && func) { bool has_res = false; - for (int i = static_cast(in.size()) - 1; i >= 0; --i) + for (Int64 i = static_cast(in.size()) - 1; i >= 0; --i) { UInt8 x; @@ -458,7 +458,9 @@ ColumnPtr basicExecuteImpl(ColumnRawPtrs arguments, size_t input_rows_count) for (const IColumn * column : arguments) { if (const auto * uint8_column = checkAndGetColumn(column)) + { uint8_args.push_back(uint8_column); + } else { auto converted_column = ColumnUInt8::create(input_rows_count); @@ -543,6 +545,8 @@ ColumnPtr FunctionAnyArityLogical::executeShortCircuit(ColumnsWithTy if (Name::name != NameAnd::name && Name::name != NameOr::name) throw Exception("Function " + getName() + " doesn't support short circuit execution", ErrorCodes::ILLEGAL_TYPE_OF_ARGUMENT); + executeColumnIfNeeded(arguments[0]); + /// Let's denote x_i' = maskedExecute(x_i, mask). /// 1) AND(x_0, x_1, x_2, ..., x_n) /// We will support mask_i = x_0 & x_1 & ... & x_i. @@ -596,14 +600,14 @@ ColumnPtr FunctionAnyArityLogical::executeShortCircuit(ColumnsWithTy if (nulls) applyTernaryLogic(mask, *nulls); - MutableColumnPtr res = ColumnUInt8::create(); - typeid_cast(res.get())->getData() = std::move(mask); + auto res = ColumnUInt8::create(); + res->getData() = std::move(mask); if (!nulls) return res; - MutableColumnPtr bytemap = ColumnUInt8::create(); - typeid_cast(bytemap.get())->getData() = std::move(*nulls); + auto bytemap = ColumnUInt8::create(); + bytemap->getData() = std::move(*nulls); return ColumnNullable::create(std::move(res), std::move(bytemap)); } @@ -692,29 +696,14 @@ ColumnPtr FunctionAnyArityLogical::getConstantResultForNonConstArgum return result_column; } -template -struct UnaryOperationImpl -{ - using ResultType = typename Op::ResultType; - using ArrayA = typename ColumnVector::Container; - using ArrayC = typename ColumnVector::Container; - - static void NO_INLINE vector(const ArrayA & a, ArrayC & c) - { - std::transform( - a.cbegin(), a.cend(), c.begin(), - [](const auto x) { return Op::apply(x); }); - } -}; - template